ZGlmZiAtLWdpdCBhLy5naXRpZ25vcmUgYi8uZ2l0aWdub3JlCmluZGV4IGJhOWVlODUuLmZiM2RkNWIgMTAwNjQ0Ci0tLSBhLy5naXRpZ25vcmUKKysrIGIvLmdpdGlnbm9yZQpAQCAtOSwxMSArOSw4IEBACiAqfgogLmdkYl9oaXN0b3J5CiBEb2MvYnVpbGQvCi1Eb2MvdG9vbHMvZG9jdXRpbHMvCi1Eb2MvdG9vbHMvamluamEvCi1Eb2MvdG9vbHMvamluamEyLwotRG9jL3Rvb2xzL3B5Z21lbnRzLwotRG9jL3Rvb2xzL3NwaGlueC8KK0RvYy92ZW52LworTGliL2Rpc3R1dGlscy9jb21tYW5kLyoucGRiCiBMaWIvbGliMnRvMy8qLnBpY2tsZQogTGliL3Rlc3QvZGF0YS8qCiBMaWIvX3N5c2NvbmZpZ2RhdGEucHkKQEAgLTI3LDE4ICsyNCwzMCBAQAogTW9kdWxlcy9TZXR1cC5sb2NhbAogTW9kdWxlcy9jb25maWcuYwogTW9kdWxlcy9sZF9zb19haXgKLU1vZHVsZXMvX2ZyZWV6ZV9pbXBvcnRsaWIKLU1vZHVsZXMvX3Rlc3RlbWJlZAotUENidWlsZC8qLmJzYwotUENidWlsZC8qLmRsbAotUENidWlsZC8qLmV4ZQotUENidWlsZC8qLmV4cAotUENidWlsZC8qLmxpYgotUENidWlsZC8qLm5jYgotUENidWlsZC8qLm8KLVBDYnVpbGQvKi5wZGIKLVBDYnVpbGQvV2luMzItdGVtcC0qCitQcm9ncmFtcy9fZnJlZXplX2ltcG9ydGxpYgorUHJvZ3JhbXMvX3Rlc3RlbWJlZAorUEMvcHl0aG9uX250Ki5oCitQQy9weXRob25udF9yYyouaAorUEMvKi8qLmV4ZQorUEMvKi8qLmV4cAorUEMvKi8qLmxpYgorUEMvKi8qLmJzYworUEMvKi8qLmRsbAorUEMvKi8qLnBkYgorUEMvKi8qLnVzZXIKK1BDLyovKi5uY2IKK1BDLyovKi5zdW8KK1BDLyovV2luMzItdGVtcC0qCitQQy8qL3g2NC10ZW1wLSoKK1BDLyovYW1kNjQKK1BDYnVpbGQvKi51c2VyCitQQ2J1aWxkLyouc3VvCitQQ2J1aWxkLyouKnNkZgorUENidWlsZC8qLXBnaQorUENidWlsZC8qLXBnbwogUENidWlsZC9hbWQ2NC8KK1BDYnVpbGQvb2JqCitQQ0J1aWxkL3dpbjMyCiAucHVyaWZ5CiBQYXJzZXIvcGdlbgogX19weWNhY2hlX18KQEAgLTYxLDYgKzcwLDcgQEAKIHB5dGhvbgogcHl0aG9uLWNvbmZpZwogcHl0aG9uLWNvbmZpZy5weQorcHl0aG9uLmJhdAogcHl0aG9uLmV4ZQogcHl0aG9uLWdkYi5weQogcHl0aG9uLmV4ZS1nZGIucHkKQEAgLTcyLDMgKzgyLDYgQEAKIGNvdmVyYWdlLwogZXh0ZXJuYWxzLwogaHRtbGNvdi8KK1Rvb2xzL21zaS9vYmoKK1Rvb2xzL3NzbC9hbWQ2NAorVG9vbHMvc3NsL3dpbjMyCmRpZmYgLS1naXQgYS8uaGdpZ25vcmUgYi8uaGdpZ25vcmUKaW5kZXggOWU1YTU4My4uN2E1MjYwNiAxMDA2NDQKLS0tIGEvLmhnaWdub3JlCisrKyBiLy5oZ2lnbm9yZQpAQCAtOSw2ICs5LDcgQEAKIGF1dG9tNHRlLmNhY2hlJAogXmJ1aWxkLwogXkRvYy9idWlsZC8KK15Eb2MvdmVudi8KIGJ1aWxkbm8kCiBjb25maWcuY2FjaGUKIGNvbmZpZy5sb2cKQEAgLTE4LDYgKzE5LDcgQEAKIHBsYXRmb3JtJAogcHljb25maWcuaCQKIHB5dGhvbiQKK3B5dGhvbi5iYXQkCiBweXRob24uZXhlJAogcHl0aG9uLWNvbmZpZyQKIHB5dGhvbi1jb25maWcucHkkCkBAIC00OCwxMyArNTAsMTIgQEAKICoucHlkCiAqLmNvdmVyCiAqfgorTGliL2Rpc3R1dGlscy9jb21tYW5kLyoucGRiCiBMaWIvbGliMnRvMy8qLnBpY2tsZQogTGliL3Rlc3QvZGF0YS8qCiBNaXNjLyoud3B1CiBQQy9weXRob25fbnQqLmgKIFBDL3B5dGhvbm50X3JjKi5oCi1QQy8qLm9iagotUEMvKi5leGUKIFBDLyovKi5leGUKIFBDLyovKi5leHAKIFBDLyovKi5saWIKQEAgLTY3LDI5ICs2OCwyMCBAQAogUEMvKi9XaW4zMi10ZW1wLSoKIFBDLyoveDY0LXRlbXAtKgogUEMvKi9hbWQ2NAotUENidWlsZC8qLmV4ZQotUENidWlsZC8qLmRsbAotUENidWlsZC8qLnBkYgotUENidWlsZC8qLmxpYgotUENidWlsZC8qLmV4cAotUENidWlsZC8qLm8KLVBDYnVpbGQvKi5uY2IKLVBDYnVpbGQvKi5ic2MKIFBDYnVpbGQvKi51c2VyCiBQQ2J1aWxkLyouc3VvCiBQQ2J1aWxkLyouKnNkZgotUENidWlsZC9XaW4zMi10ZW1wLSoKLVBDYnVpbGQveDY0LXRlbXAtKgogUENidWlsZC8qLXBnaQogUENidWlsZC8qLXBnbwogUENidWlsZC9hbWQ2NAotUENidWlsZC9pcGNoCitQQ2J1aWxkL29iagorUENidWlsZC93aW4zMgogVG9vbHMvdW5pY29kZS9idWlsZC8KIFRvb2xzL3VuaWNvZGUvTUFQUElOR1MvCiBCdWlsZExvZy5odG0KIF9fcHljYWNoZV9fCi1Nb2R1bGVzL19mcmVlemVfaW1wb3J0bGliCi1Nb2R1bGVzL190ZXN0ZW1iZWQKK1Byb2dyYW1zL19mcmVlemVfaW1wb3J0bGliCitQcm9ncmFtcy9fdGVzdGVtYmVkCiAuY292ZXJhZ2UKIGNvdmVyYWdlLwogZXh0ZXJuYWxzLwpAQCAtOTgsMyArOTAsNiBAQAogKi5nY25vCiAqLmdjb3YKIGNvdmVyYWdlLmluZm8KK1Rvb2xzL21zaS9vYmoKK1Rvb2xzL3NzbC9hbWQ2NAorVG9vbHMvc3NsL3dpbjMyCmRpZmYgLS1naXQgYS8uaGd0YWdzIGIvLmhndGFncwppbmRleCBkNWVlYTI0Li5iOTE4YTkwIDEwMDY0NAotLS0gYS8uaGd0YWdzCisrKyBiLy5oZ3RhZ3MKQEAgLTE0NCwzICsxNDQsNCBAQAogYWIyYzAyM2E5NDMyZjE2NjUyZTg5YzQwNGJiYzg0YWE5MWJmNTVhZiB2My40LjIKIDY5ZGQ1MjhjYTYyNTVhNjZjMzdjYzVjZjY4MGU4MzU3ZDEwOGIwMzYgdjMuNC4zcmMxCiBiNGNiZWNiYzA3ODFlODlhMzA5ZDAzYjYwYTFmNzVmODQ5OTI1MGU2IHYzLjQuMworNWQ0YjZhNTdkNWZkNzU2NGJmNzNmM2RiMGU0NmZlNWVlYjAwYmNkOCB2My41LjBhMQpkaWZmIC0tZ2l0IGEvLmhndG91Y2ggYi8uaGd0b3VjaAppbmRleCA3ZTNhNWU3Li5iOWJlMGYxIDEwMDY0NAotLS0gYS8uaGd0b3VjaAorKysgYi8uaGd0b3VjaApAQCAtMiw3ICsyLDkgQEAKICMgRGVmaW5lIGRlcGVuZGVuY2llcyBvZiBnZW5lcmF0ZWQgZmlsZXMgdGhhdCBhcmUgY2hlY2tlZCBpbnRvIGhnLgogIyBUaGUgc3ludGF4IG9mIHRoaXMgZmlsZSB1c2VzIG1ha2UgcnVsZSBkZXBlbmRlbmNpZXMsIHdpdGhvdXQgYWN0aW9ucwogCi1QeXRob24vaW1wb3J0bGliLmg6IExpYi9pbXBvcnRsaWIvX2Jvb3RzdHJhcC5weSBNb2R1bGVzL19mcmVlemVfaW1wb3J0bGliLmMKK1B5dGhvbi9pbXBvcnRsaWIuaDogTGliL2ltcG9ydGxpYi9fYm9vdHN0cmFwLnB5IFByb2dyYW1zL19mcmVlemVfaW1wb3J0bGliLmMKKworSW5jbHVkZS9vcGNvZGUuaDogIExpYi9vcGNvZGUucHkgVG9vbHMvc2NyaXB0cy9nZW5lcmF0ZV9vcGNvZGVfaC5weQogCiBJbmNsdWRlL1B5dGhvbi1hc3QuaDogUGFyc2VyL1B5dGhvbi5hc2RsIFBhcnNlci9hc2RsLnB5IFBhcnNlci9hc2RsX2MucHkKIFB5dGhvbi9QeXRob24tYXN0LmM6IEluY2x1ZGUvUHl0aG9uLWFzdC5oCmRpZmYgLS1naXQgYS9Eb2MvTWFrZWZpbGUgYi9Eb2MvTWFrZWZpbGUKaW5kZXggZWEzMDIzMS4uMjAwYTlmNyAxMDA2NDQKLS0tIGEvRG9jL01ha2VmaWxlCisrKyBiL0RvYy9NYWtlZmlsZQpAQCAtMTUsMTEgKzE1LDEyIEBACiAKIC5QSE9OWTogaGVscCBidWlsZCBodG1sIGh0bWxoZWxwIGxhdGV4IHRleHQgY2hhbmdlcyBsaW5rY2hlY2sgXAogCXN1c3BpY2lvdXMgY292ZXJhZ2UgZG9jdGVzdCBweWRvYy10b3BpY3MgaHRtbHZpZXcgY2xlYW4gZGlzdCBjaGVjayBzZXJ2ZSBcCi0JYXV0b2J1aWxkLWRldiBhdXRvYnVpbGQtc3RhYmxlCisJYXV0b2J1aWxkLWRldiBhdXRvYnVpbGQtc3RhYmxlIHZlbnYKIAogaGVscDoKIAlAZWNobyAiUGxlYXNlIHVzZSBcYG1ha2UgPHRhcmdldD4nIHdoZXJlIDx0YXJnZXQ+IGlzIG9uZSBvZiIKIAlAZWNobyAiICBjbGVhbiAgICAgIHRvIHJlbW92ZSBidWlsZCBmaWxlcyIKKwlAZWNobyAiICB2ZW52ICAgICAgIHRvIGNyZWF0ZSBhIHZlbnYgd2l0aCBuZWNlc3NhcnkgdG9vbHMiCiAJQGVjaG8gIiAgaHRtbCAgICAgICB0byBtYWtlIHN0YW5kYWxvbmUgSFRNTCBmaWxlcyIKIAlAZWNobyAiICBodG1sdmlldyAgIHRvIG9wZW4gdGhlIGluZGV4IHBhZ2UgYnVpbHQgYnkgdGhlIGh0bWwgdGFyZ2V0IGluIHlvdXIgYnJvd3NlciIKIAlAZWNobyAiICBodG1saGVscCAgIHRvIG1ha2UgSFRNTCBmaWxlcyBhbmQgYSBIVE1MIGhlbHAgcHJvamVjdCIKQEAgLTEwMiw3ICsxMDMsMTEgQEAKIAkgJChQWVRIT04pIC1jICJpbXBvcnQgd2ViYnJvd3Nlcjsgd2ViYnJvd3Nlci5vcGVuKCdidWlsZC9odG1sL2luZGV4Lmh0bWwnKSIKIAogY2xlYW46Ci0JLXJtIC1yZiBidWlsZC8qCisJLXJtIC1yZiBidWlsZC8qIHZlbnYvKgorCit2ZW52OgorCSQoUFlUSE9OKSAtbSB2ZW52IHZlbnYKKwkuL3ZlbnYvYmluL3B5dGhvbjMgLW0gcGlwIGluc3RhbGwgLVUgU3BoaW54CiAKIGRpc3Q6CiAJcm0gLXJmIGRpc3QKQEAgLTE3Miw0ICsxNzcsMyBAQAogCQlleGl0IDE7OyBcCiAJZXNhYwogCUBtYWtlIGF1dG9idWlsZC1kZXYKLQpkaWZmIC0tZ2l0IGEvRG9jL1JFQURNRS50eHQgYi9Eb2MvUkVBRE1FLnR4dAppbmRleCA1OGJkYTYyLi41ODBkMTAyIDEwMDY0NAotLS0gYS9Eb2MvUkVBRE1FLnR4dAorKysgYi9Eb2MvUkVBRE1FLnR4dApAQCAtMyw3ICszLDcgQEAKIAogVGhpcyBkaXJlY3RvcnkgY29udGFpbnMgdGhlIHJlU3RydWN0dXJlZFRleHQgKHJlU1QpIHNvdXJjZXMgdG8gdGhlIFB5dGhvbgogZG9jdW1lbnRhdGlvbi4gIFlvdSBkb24ndCBuZWVkIHRvIGJ1aWxkIHRoZW0geW91cnNlbGYsIHByZWJ1aWx0IHZlcnNpb25zIGFyZQotYXZhaWxhYmxlIGF0IDxodHRwczovL2RvY3MucHl0aG9uLm9yZy8zLjQvZG93bmxvYWQuaHRtbD4uCithdmFpbGFibGUgYXQgPGh0dHBzOi8vZG9jcy5weXRob24ub3JnL2Rldi9kb3dubG9hZC5odG1sPi4KIAogRG9jdW1lbnRhdGlvbiBvbiBhdXRob3JpbmcgUHl0aG9uIGRvY3VtZW50YXRpb24sIGluY2x1ZGluZyBpbmZvcm1hdGlvbiBhYm91dAogYm90aCBzdHlsZSBhbmQgbWFya3VwLCBpcyBhdmFpbGFibGUgaW4gdGhlICJEb2N1bWVudGluZyBQeXRob24iIGNoYXB0ZXIgb2YgdGhlCmRpZmYgLS1naXQgYS9Eb2MvYy1hcGkvY29kZWMucnN0IGIvRG9jL2MtYXBpL2NvZGVjLnJzdAppbmRleCA4MzI1MmFmLi5kZmUzZDQzIDEwMDY0NAotLS0gYS9Eb2MvYy1hcGkvY29kZWMucnN0CisrKyBiL0RvYy9jLWFwaS9jb2RlYy5yc3QKQEAgLTExNiwzICsxMTYsOCBAQAogICAgUmVwbGFjZSB0aGUgdW5pY29kZSBlbmNvZGUgZXJyb3Igd2l0aCBiYWNrc2xhc2ggZXNjYXBlcyAoYGBceGBgLCBgYFx1YGAgYW5kCiAgICBgYFxVYGApLgogCisuLiBjOmZ1bmN0aW9uOjogUHlPYmplY3QqIFB5Q29kZWNfTmFtZVJlcGxhY2VFcnJvcnMoUHlPYmplY3QgKmV4YykKKworICAgUmVwbGFjZSB0aGUgdW5pY29kZSBlbmNvZGUgZXJyb3Igd2l0aCBgYFxOey4uLn1gYCBlc2NhcGVzLgorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjUKZGlmZiAtLWdpdCBhL0RvYy9jLWFwaS9leGNlcHRpb25zLnJzdCBiL0RvYy9jLWFwaS9leGNlcHRpb25zLnJzdAppbmRleCA2NmI3NzUyLi44MTQzMTdiIDEwMDY0NAotLS0gYS9Eb2MvYy1hcGkvZXhjZXB0aW9ucy5yc3QKKysrIGIvRG9jL2MtYXBpL2V4Y2VwdGlvbnMucnN0CkBAIC05LDEzICs5LDE5IEBACiAKIFRoZSBmdW5jdGlvbnMgZGVzY3JpYmVkIGluIHRoaXMgY2hhcHRlciB3aWxsIGxldCB5b3UgaGFuZGxlIGFuZCByYWlzZSBQeXRob24KIGV4Y2VwdGlvbnMuICBJdCBpcyBpbXBvcnRhbnQgdG8gdW5kZXJzdGFuZCBzb21lIG9mIHRoZSBiYXNpY3Mgb2YgUHl0aG9uCi1leGNlcHRpb24gaGFuZGxpbmcuICBJdCB3b3JrcyBzb21ld2hhdCBsaWtlIHRoZSBVbml4IDpjOmRhdGE6YGVycm5vYCB2YXJpYWJsZToKK2V4Y2VwdGlvbiBoYW5kbGluZy4gIEl0IHdvcmtzIHNvbWV3aGF0IGxpa2UgdGhlIFBPU0lYIDpjOmRhdGE6YGVycm5vYCB2YXJpYWJsZToKIHRoZXJlIGlzIGEgZ2xvYmFsIGluZGljYXRvciAocGVyIHRocmVhZCkgb2YgdGhlIGxhc3QgZXJyb3IgdGhhdCBvY2N1cnJlZC4gIE1vc3QKLWZ1bmN0aW9ucyBkb24ndCBjbGVhciB0aGlzIG9uIHN1Y2Nlc3MsIGJ1dCB3aWxsIHNldCBpdCB0byBpbmRpY2F0ZSB0aGUgY2F1c2Ugb2YKLXRoZSBlcnJvciBvbiBmYWlsdXJlLiAgTW9zdCBmdW5jdGlvbnMgYWxzbyByZXR1cm4gYW4gZXJyb3IgaW5kaWNhdG9yLCB1c3VhbGx5Ci0qTlVMTCogaWYgdGhleSBhcmUgc3VwcG9zZWQgdG8gcmV0dXJuIGEgcG9pbnRlciwgb3IgYGAtMWBgIGlmIHRoZXkgcmV0dXJuIGFuCi1pbnRlZ2VyIChleGNlcHRpb246IHRoZSA6YzpmdW5jOmBQeUFyZ19cKmAgZnVuY3Rpb25zIHJldHVybiBgYDFgYCBmb3Igc3VjY2VzcyBhbmQKLWBgMGBgIGZvciBmYWlsdXJlKS4KK0MgQVBJIGZ1bmN0aW9ucyBkb24ndCBjbGVhciB0aGlzIG9uIHN1Y2Nlc3MsIGJ1dCB3aWxsIHNldCBpdCB0byBpbmRpY2F0ZSB0aGUKK2NhdXNlIG9mIHRoZSBlcnJvciBvbiBmYWlsdXJlLiAgTW9zdCBDIEFQSSBmdW5jdGlvbnMgYWxzbyByZXR1cm4gYW4gZXJyb3IKK2luZGljYXRvciwgdXN1YWxseSAqTlVMTCogaWYgdGhleSBhcmUgc3VwcG9zZWQgdG8gcmV0dXJuIGEgcG9pbnRlciwgb3IgYGAtMWBgCitpZiB0aGV5IHJldHVybiBhbiBpbnRlZ2VyIChleGNlcHRpb246IHRoZSA6YzpmdW5jOmBQeUFyZ19cKmAgZnVuY3Rpb25zCityZXR1cm4gYGAxYGAgZm9yIHN1Y2Nlc3MgYW5kIGBgMGBgIGZvciBmYWlsdXJlKS4KKworQ29uY3JldGVseSwgdGhlIGVycm9yIGluZGljYXRvciBjb25zaXN0cyBvZiB0aHJlZSBvYmplY3QgcG9pbnRlcnM6IHRoZQorZXhjZXB0aW9uJ3MgdHlwZSwgdGhlIGV4Y2VwdGlvbidzIHZhbHVlLCBhbmQgdGhlIHRyYWNlYmFjayBvYmplY3QuICBBbnkKK29mIHRob3NlIHBvaW50ZXJzIGNhbiBiZSBOVUxMIGlmIG5vbi1zZXQgKGFsdGhvdWdoIHNvbWUgY29tYmluYXRpb25zIGFyZQorZm9yYmlkZGVuLCBmb3IgZXhhbXBsZSB5b3UgY2FuJ3QgaGF2ZSBhIG5vbi1OVUxMIHRyYWNlYmFjayBpZiB0aGUgZXhjZXB0aW9uCit0eXBlIGlzIE5VTEwpLgogCiBXaGVuIGEgZnVuY3Rpb24gbXVzdCBmYWlsIGJlY2F1c2Ugc29tZSBmdW5jdGlvbiBpdCBjYWxsZWQgZmFpbGVkLCBpdCBnZW5lcmFsbHkKIGRvZXNuJ3Qgc2V0IHRoZSBlcnJvciBpbmRpY2F0b3I7IHRoZSBmdW5jdGlvbiBpdCBjYWxsZWQgYWxyZWFkeSBzZXQgaXQuICBJdCBpcwpAQCAtMjcsMTIgKzMzLDIxIEBACiBwcm9wYWdhdGVkLCBhZGRpdGlvbmFsIGNhbGxzIGludG8gdGhlIFB5dGhvbi9DIEFQSSBtYXkgbm90IGJlaGF2ZSBhcyBpbnRlbmRlZAogYW5kIG1heSBmYWlsIGluIG15c3RlcmlvdXMgd2F5cy4KIAotVGhlIGVycm9yIGluZGljYXRvciBjb25zaXN0cyBvZiB0aHJlZSBQeXRob24gb2JqZWN0cyBjb3JyZXNwb25kaW5nIHRvIHRoZSByZXN1bHQKLW9mIGBgc3lzLmV4Y19pbmZvKClgYC4gIEFQSSBmdW5jdGlvbnMgZXhpc3QgdG8gaW50ZXJhY3Qgd2l0aCB0aGUgZXJyb3IgaW5kaWNhdG9yCi1pbiB2YXJpb3VzIHdheXMuICBUaGVyZSBpcyBhIHNlcGFyYXRlIGVycm9yIGluZGljYXRvciBmb3IgZWFjaCB0aHJlYWQuCisuLiBub3RlOjoKKyAgIFRoZSBlcnJvciBpbmRpY2F0b3IgaXMgKipub3QqKiB0aGUgcmVzdWx0IG9mIDpmdW5jOmBzeXMuZXhjX2luZm8oKWAuCisgICBUaGUgZm9ybWVyIGNvcnJlc3BvbmRzIHRvIGFuIGV4Y2VwdGlvbiB0aGF0IGlzIG5vdCB5ZXQgY2F1Z2h0IChhbmQgaXMKKyAgIHRoZXJlZm9yZSBzdGlsbCBwcm9wYWdhdGluZyksIHdoaWxlIHRoZSBsYXR0ZXIgcmV0dXJucyBhbiBleGNlcHRpb24gYWZ0ZXIKKyAgIGl0IGlzIGNhdWdodCAoYW5kIGhhcyB0aGVyZWZvcmUgc3RvcHBlZCBwcm9wYWdhdGluZykuCiAKLS4uIFhYWCBPcmRlciBvZiB0aGVzZSBzaG91bGQgYmUgbW9yZSB0aG91Z2h0ZnVsLgotICAgRWl0aGVyIGFscGhhYmV0aWNhbCBvciBzb21lIGtpbmQgb2Ygc3RydWN0dXJlLgorCitQcmludGluZyBhbmQgY2xlYXJpbmcKKz09PT09PT09PT09PT09PT09PT09PQorCisKKy4uIGM6ZnVuY3Rpb246OiB2b2lkIFB5RXJyX0NsZWFyKCkKKworICAgQ2xlYXIgdGhlIGVycm9yIGluZGljYXRvci4gIElmIHRoZSBlcnJvciBpbmRpY2F0b3IgaXMgbm90IHNldCwgdGhlcmUgaXMgbm8KKyAgIGVmZmVjdC4KIAogCiAuLiBjOmZ1bmN0aW9uOjogdm9pZCBQeUVycl9QcmludEV4KGludCBzZXRfc3lzX2xhc3RfdmFycykKQEAgLTUxLDEyNyArNjYsMjQgQEAKICAgIEFsaWFzIGZvciBgYFB5RXJyX1ByaW50RXgoMSlgYC4KIAogCi0uLiBjOmZ1bmN0aW9uOjogUHlPYmplY3QqIFB5RXJyX09jY3VycmVkKCkKKy4uIGM6ZnVuY3Rpb246OiB2b2lkIFB5RXJyX1dyaXRlVW5yYWlzYWJsZShQeU9iamVjdCAqb2JqKQogCi0gICBUZXN0IHdoZXRoZXIgdGhlIGVycm9yIGluZGljYXRvciBpcyBzZXQuICBJZiBzZXQsIHJldHVybiB0aGUgZXhjZXB0aW9uICp0eXBlKgotICAgKHRoZSBmaXJzdCBhcmd1bWVudCB0byB0aGUgbGFzdCBjYWxsIHRvIG9uZSBvZiB0aGUgOmM6ZnVuYzpgUHlFcnJfU2V0XCpgCi0gICBmdW5jdGlvbnMgb3IgdG8gOmM6ZnVuYzpgUHlFcnJfUmVzdG9yZWApLiAgSWYgbm90IHNldCwgcmV0dXJuICpOVUxMKi4gIFlvdSBkbyBub3QKLSAgIG93biBhIHJlZmVyZW5jZSB0byB0aGUgcmV0dXJuIHZhbHVlLCBzbyB5b3UgZG8gbm90IG5lZWQgdG8gOmM6ZnVuYzpgUHlfREVDUkVGYAotICAgaXQuCisgICBUaGlzIHV0aWxpdHkgZnVuY3Rpb24gcHJpbnRzIGEgd2FybmluZyBtZXNzYWdlIHRvIGBgc3lzLnN0ZGVycmBgIHdoZW4gYW4KKyAgIGV4Y2VwdGlvbiBoYXMgYmVlbiBzZXQgYnV0IGl0IGlzIGltcG9zc2libGUgZm9yIHRoZSBpbnRlcnByZXRlciB0byBhY3R1YWxseQorICAgcmFpc2UgdGhlIGV4Y2VwdGlvbi4gIEl0IGlzIHVzZWQsIGZvciBleGFtcGxlLCB3aGVuIGFuIGV4Y2VwdGlvbiBvY2N1cnMgaW4gYW4KKyAgIDptZXRoOmBfX2RlbF9fYCBtZXRob2QuCiAKLSAgIC4uIG5vdGU6OgotCi0gICAgICBEbyBub3QgY29tcGFyZSB0aGUgcmV0dXJuIHZhbHVlIHRvIGEgc3BlY2lmaWMgZXhjZXB0aW9uOyB1c2UKLSAgICAgIDpjOmZ1bmM6YFB5RXJyX0V4Y2VwdGlvbk1hdGNoZXNgIGluc3RlYWQsIHNob3duIGJlbG93LiAgKFRoZSBjb21wYXJpc29uIGNvdWxkCi0gICAgICBlYXNpbHkgZmFpbCBzaW5jZSB0aGUgZXhjZXB0aW9uIG1heSBiZSBhbiBpbnN0YW5jZSBpbnN0ZWFkIG9mIGEgY2xhc3MsIGluIHRoZQotICAgICAgY2FzZSBvZiBhIGNsYXNzIGV4Y2VwdGlvbiwgb3IgaXQgbWF5IGJlIGEgc3ViY2xhc3Mgb2YgdGhlIGV4cGVjdGVkIGV4Y2VwdGlvbi4pCisgICBUaGUgZnVuY3Rpb24gaXMgY2FsbGVkIHdpdGggYSBzaW5nbGUgYXJndW1lbnQgKm9iaiogdGhhdCBpZGVudGlmaWVzIHRoZSBjb250ZXh0CisgICBpbiB3aGljaCB0aGUgdW5yYWlzYWJsZSBleGNlcHRpb24gb2NjdXJyZWQuIFRoZSByZXByIG9mICpvYmoqIHdpbGwgYmUgcHJpbnRlZCBpbgorICAgdGhlIHdhcm5pbmcgbWVzc2FnZS4KIAogCi0uLiBjOmZ1bmN0aW9uOjogaW50IFB5RXJyX0V4Y2VwdGlvbk1hdGNoZXMoUHlPYmplY3QgKmV4YykKK1JhaXNpbmcgZXhjZXB0aW9ucworPT09PT09PT09PT09PT09PT09CiAKLSAgIEVxdWl2YWxlbnQgdG8gYGBQeUVycl9HaXZlbkV4Y2VwdGlvbk1hdGNoZXMoUHlFcnJfT2NjdXJyZWQoKSwgZXhjKWBgLiAgVGhpcwotICAgc2hvdWxkIG9ubHkgYmUgY2FsbGVkIHdoZW4gYW4gZXhjZXB0aW9uIGlzIGFjdHVhbGx5IHNldDsgYSBtZW1vcnkgYWNjZXNzCi0gICB2aW9sYXRpb24gd2lsbCBvY2N1ciBpZiBubyBleGNlcHRpb24gaGFzIGJlZW4gcmFpc2VkLgotCi0KLS4uIGM6ZnVuY3Rpb246OiBpbnQgUHlFcnJfR2l2ZW5FeGNlcHRpb25NYXRjaGVzKFB5T2JqZWN0ICpnaXZlbiwgUHlPYmplY3QgKmV4YykKLQotICAgUmV0dXJuIHRydWUgaWYgdGhlICpnaXZlbiogZXhjZXB0aW9uIG1hdGNoZXMgdGhlIGV4Y2VwdGlvbiBpbiAqZXhjKi4gIElmCi0gICAqZXhjKiBpcyBhIGNsYXNzIG9iamVjdCwgdGhpcyBhbHNvIHJldHVybnMgdHJ1ZSB3aGVuICpnaXZlbiogaXMgYW4gaW5zdGFuY2UKLSAgIG9mIGEgc3ViY2xhc3MuICBJZiAqZXhjKiBpcyBhIHR1cGxlLCBhbGwgZXhjZXB0aW9ucyBpbiB0aGUgdHVwbGUgKGFuZAotICAgcmVjdXJzaXZlbHkgaW4gc3VidHVwbGVzKSBhcmUgc2VhcmNoZWQgZm9yIGEgbWF0Y2guCi0KLQotLi4gYzpmdW5jdGlvbjo6IHZvaWQgUHlFcnJfTm9ybWFsaXplRXhjZXB0aW9uKFB5T2JqZWN0KipleGMsIFB5T2JqZWN0Kip2YWwsIFB5T2JqZWN0Kip0YikKLQotICAgVW5kZXIgY2VydGFpbiBjaXJjdW1zdGFuY2VzLCB0aGUgdmFsdWVzIHJldHVybmVkIGJ5IDpjOmZ1bmM6YFB5RXJyX0ZldGNoYCBiZWxvdwotICAgY2FuIGJlICJ1bm5vcm1hbGl6ZWQiLCBtZWFuaW5nIHRoYXQgYGAqZXhjYGAgaXMgYSBjbGFzcyBvYmplY3QgYnV0IGBgKnZhbGBgIGlzCi0gICBub3QgYW4gaW5zdGFuY2Ugb2YgdGhlICBzYW1lIGNsYXNzLiAgVGhpcyBmdW5jdGlvbiBjYW4gYmUgdXNlZCB0byBpbnN0YW50aWF0ZQotICAgdGhlIGNsYXNzIGluIHRoYXQgY2FzZS4gIElmIHRoZSB2YWx1ZXMgYXJlIGFscmVhZHkgbm9ybWFsaXplZCwgbm90aGluZyBoYXBwZW5zLgotICAgVGhlIGRlbGF5ZWQgbm9ybWFsaXphdGlvbiBpcyBpbXBsZW1lbnRlZCB0byBpbXByb3ZlIHBlcmZvcm1hbmNlLgotCi0gICAuLiBub3RlOjoKLQotICAgICAgVGhpcyBmdW5jdGlvbiAqZG9lcyBub3QqIGltcGxpY2l0bHkgc2V0IHRoZSBgYF9fdHJhY2ViYWNrX19gYAotICAgICAgYXR0cmlidXRlIG9uIHRoZSBleGNlcHRpb24gdmFsdWUuIElmIHNldHRpbmcgdGhlIHRyYWNlYmFjawotICAgICAgYXBwcm9wcmlhdGVseSBpcyBkZXNpcmVkLCB0aGUgZm9sbG93aW5nIGFkZGl0aW9uYWwgc25pcHBldCBpcyBuZWVkZWQ6OgotCi0gICAgICAgICBpZiAodGIgIT0gTlVMTCkgewotICAgICAgICAgICBQeUV4Y2VwdGlvbl9TZXRUcmFjZWJhY2sodmFsLCB0Yik7Ci0gICAgICAgICB9Ci0KLQotLi4gYzpmdW5jdGlvbjo6IHZvaWQgUHlFcnJfQ2xlYXIoKQotCi0gICBDbGVhciB0aGUgZXJyb3IgaW5kaWNhdG9yLiAgSWYgdGhlIGVycm9yIGluZGljYXRvciBpcyBub3Qgc2V0LCB0aGVyZSBpcyBubwotICAgZWZmZWN0LgotCi0KLS4uIGM6ZnVuY3Rpb246OiB2b2lkIFB5RXJyX0ZldGNoKFB5T2JqZWN0ICoqcHR5cGUsIFB5T2JqZWN0ICoqcHZhbHVlLCBQeU9iamVjdCAqKnB0cmFjZWJhY2spCi0KLSAgIFJldHJpZXZlIHRoZSBlcnJvciBpbmRpY2F0b3IgaW50byB0aHJlZSB2YXJpYWJsZXMgd2hvc2UgYWRkcmVzc2VzIGFyZSBwYXNzZWQuCi0gICBJZiB0aGUgZXJyb3IgaW5kaWNhdG9yIGlzIG5vdCBzZXQsIHNldCBhbGwgdGhyZWUgdmFyaWFibGVzIHRvICpOVUxMKi4gIElmIGl0IGlzCi0gICBzZXQsIGl0IHdpbGwgYmUgY2xlYXJlZCBhbmQgeW91IG93biBhIHJlZmVyZW5jZSB0byBlYWNoIG9iamVjdCByZXRyaWV2ZWQuICBUaGUKLSAgIHZhbHVlIGFuZCB0cmFjZWJhY2sgb2JqZWN0IG1heSBiZSAqTlVMTCogZXZlbiB3aGVuIHRoZSB0eXBlIG9iamVjdCBpcyBub3QuCi0KLSAgIC4uIG5vdGU6OgotCi0gICAgICBUaGlzIGZ1bmN0aW9uIGlzIG5vcm1hbGx5IG9ubHkgdXNlZCBieSBjb2RlIHRoYXQgbmVlZHMgdG8gaGFuZGxlIGV4Y2VwdGlvbnMgb3IKLSAgICAgIGJ5IGNvZGUgdGhhdCBuZWVkcyB0byBzYXZlIGFuZCByZXN0b3JlIHRoZSBlcnJvciBpbmRpY2F0b3IgdGVtcG9yYXJpbHkuCi0KLQotLi4gYzpmdW5jdGlvbjo6IHZvaWQgUHlFcnJfUmVzdG9yZShQeU9iamVjdCAqdHlwZSwgUHlPYmplY3QgKnZhbHVlLCBQeU9iamVjdCAqdHJhY2ViYWNrKQotCi0gICBTZXQgIHRoZSBlcnJvciBpbmRpY2F0b3IgZnJvbSB0aGUgdGhyZWUgb2JqZWN0cy4gIElmIHRoZSBlcnJvciBpbmRpY2F0b3IgaXMKLSAgIGFscmVhZHkgc2V0LCBpdCBpcyBjbGVhcmVkIGZpcnN0LiAgSWYgdGhlIG9iamVjdHMgYXJlICpOVUxMKiwgdGhlIGVycm9yCi0gICBpbmRpY2F0b3IgaXMgY2xlYXJlZC4gIERvIG5vdCBwYXNzIGEgKk5VTEwqIHR5cGUgYW5kIG5vbi0qTlVMTCogdmFsdWUgb3IKLSAgIHRyYWNlYmFjay4gIFRoZSBleGNlcHRpb24gdHlwZSBzaG91bGQgYmUgYSBjbGFzcy4gIERvIG5vdCBwYXNzIGFuIGludmFsaWQKLSAgIGV4Y2VwdGlvbiB0eXBlIG9yIHZhbHVlLiAoVmlvbGF0aW5nIHRoZXNlIHJ1bGVzIHdpbGwgY2F1c2Ugc3VidGxlIHByb2JsZW1zCi0gICBsYXRlci4pICBUaGlzIGNhbGwgdGFrZXMgYXdheSBhIHJlZmVyZW5jZSB0byBlYWNoIG9iamVjdDogeW91IG11c3Qgb3duIGEKLSAgIHJlZmVyZW5jZSB0byBlYWNoIG9iamVjdCBiZWZvcmUgdGhlIGNhbGwgYW5kIGFmdGVyIHRoZSBjYWxsIHlvdSBubyBsb25nZXIgb3duCi0gICB0aGVzZSByZWZlcmVuY2VzLiAgKElmIHlvdSBkb24ndCB1bmRlcnN0YW5kIHRoaXMsIGRvbid0IHVzZSB0aGlzIGZ1bmN0aW9uLiAgSQotICAgd2FybmVkIHlvdS4pCi0KLSAgIC4uIG5vdGU6OgotCi0gICAgICBUaGlzIGZ1bmN0aW9uIGlzIG5vcm1hbGx5IG9ubHkgdXNlZCBieSBjb2RlIHRoYXQgbmVlZHMgdG8gc2F2ZSBhbmQgcmVzdG9yZSB0aGUKLSAgICAgIGVycm9yIGluZGljYXRvciB0ZW1wb3JhcmlseTsgdXNlIDpjOmZ1bmM6YFB5RXJyX0ZldGNoYCB0byBzYXZlIHRoZSBjdXJyZW50Ci0gICAgICBleGNlcHRpb24gc3RhdGUuCi0KLQotLi4gYzpmdW5jdGlvbjo6IHZvaWQgUHlFcnJfR2V0RXhjSW5mbyhQeU9iamVjdCAqKnB0eXBlLCBQeU9iamVjdCAqKnB2YWx1ZSwgUHlPYmplY3QgKipwdHJhY2ViYWNrKQotCi0gICBSZXRyaWV2ZSB0aGUgZXhjZXB0aW9uIGluZm8sIGFzIGtub3duIGZyb20gYGBzeXMuZXhjX2luZm8oKWBgLiAgVGhpcyByZWZlcnMKLSAgIHRvIGFuIGV4Y2VwdGlvbiB0aGF0IHdhcyBhbHJlYWR5IGNhdWdodCwgbm90IHRvIGFuIGV4Y2VwdGlvbiB0aGF0IHdhcwotICAgZnJlc2hseSByYWlzZWQuICBSZXR1cm5zIG5ldyByZWZlcmVuY2VzIGZvciB0aGUgdGhyZWUgb2JqZWN0cywgYW55IG9mIHdoaWNoCi0gICBtYXkgYmUgKk5VTEwqLiAgRG9lcyBub3QgbW9kaWZ5IHRoZSBleGNlcHRpb24gaW5mbyBzdGF0ZS4KLQotICAgLi4gbm90ZTo6Ci0KLSAgICAgIFRoaXMgZnVuY3Rpb24gaXMgbm90IG5vcm1hbGx5IHVzZWQgYnkgY29kZSB0aGF0IHdhbnRzIHRvIGhhbmRsZSBleGNlcHRpb25zLgotICAgICAgUmF0aGVyLCBpdCBjYW4gYmUgdXNlZCB3aGVuIGNvZGUgbmVlZHMgdG8gc2F2ZSBhbmQgcmVzdG9yZSB0aGUgZXhjZXB0aW9uCi0gICAgICBzdGF0ZSB0ZW1wb3JhcmlseS4gIFVzZSA6YzpmdW5jOmBQeUVycl9TZXRFeGNJbmZvYCB0byByZXN0b3JlIG9yIGNsZWFyIHRoZQotICAgICAgZXhjZXB0aW9uIHN0YXRlLgotCi0gICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjMKLQotCi0uLiBjOmZ1bmN0aW9uOjogdm9pZCBQeUVycl9TZXRFeGNJbmZvKFB5T2JqZWN0ICp0eXBlLCBQeU9iamVjdCAqdmFsdWUsIFB5T2JqZWN0ICp0cmFjZWJhY2spCi0KLSAgIFNldCB0aGUgZXhjZXB0aW9uIGluZm8sIGFzIGtub3duIGZyb20gYGBzeXMuZXhjX2luZm8oKWBgLiAgVGhpcyByZWZlcnMKLSAgIHRvIGFuIGV4Y2VwdGlvbiB0aGF0IHdhcyBhbHJlYWR5IGNhdWdodCwgbm90IHRvIGFuIGV4Y2VwdGlvbiB0aGF0IHdhcwotICAgZnJlc2hseSByYWlzZWQuICBUaGlzIGZ1bmN0aW9uIHN0ZWFscyB0aGUgcmVmZXJlbmNlcyBvZiB0aGUgYXJndW1lbnRzLgotICAgVG8gY2xlYXIgdGhlIGV4Y2VwdGlvbiBzdGF0ZSwgcGFzcyAqTlVMTCogZm9yIGFsbCB0aHJlZSBhcmd1bWVudHMuCi0gICBGb3IgZ2VuZXJhbCBydWxlcyBhYm91dCB0aGUgdGhyZWUgYXJndW1lbnRzLCBzZWUgOmM6ZnVuYzpgUHlFcnJfUmVzdG9yZWAuCi0KLSAgIC4uIG5vdGU6OgotCi0gICAgICBUaGlzIGZ1bmN0aW9uIGlzIG5vdCBub3JtYWxseSB1c2VkIGJ5IGNvZGUgdGhhdCB3YW50cyB0byBoYW5kbGUgZXhjZXB0aW9ucy4KLSAgICAgIFJhdGhlciwgaXQgY2FuIGJlIHVzZWQgd2hlbiBjb2RlIG5lZWRzIHRvIHNhdmUgYW5kIHJlc3RvcmUgdGhlIGV4Y2VwdGlvbgotICAgICAgc3RhdGUgdGVtcG9yYXJpbHkuICBVc2UgOmM6ZnVuYzpgUHlFcnJfR2V0RXhjSW5mb2AgdG8gcmVhZCB0aGUgZXhjZXB0aW9uCi0gICAgICBzdGF0ZS4KLQotICAgLi4gdmVyc2lvbmFkZGVkOjogMy4zCitUaGVzZSBmdW5jdGlvbnMgaGVscCB5b3Ugc2V0IHRoZSBjdXJyZW50IHRocmVhZCdzIGVycm9yIGluZGljYXRvci4KK0ZvciBjb252ZW5pZW5jZSwgc29tZSBvZiB0aGVzZSBmdW5jdGlvbnMgd2lsbCBhbHdheXMgcmV0dXJuIGEKK05VTEwgcG9pbnRlciBmb3IgdXNlIGluIGEgYGByZXR1cm5gYCBzdGF0ZW1lbnQuCiAKIAogLi4gYzpmdW5jdGlvbjo6IHZvaWQgUHlFcnJfU2V0U3RyaW5nKFB5T2JqZWN0ICp0eXBlLCBjb25zdCBjaGFyICptZXNzYWdlKQpAQCAtMTk3LDYgKzEwOSwxNCBAQAogICAgc3RyaW5nLgogCiAKKy4uIGM6ZnVuY3Rpb246OiBQeU9iamVjdCogUHlFcnJfRm9ybWF0VihQeU9iamVjdCAqZXhjZXB0aW9uLCBjb25zdCBjaGFyICpmb3JtYXQsIHZhX2xpc3QgdmFyZ3MpCisKKyAgIFNhbWUgYXMgOmM6ZnVuYzpgUHlFcnJfRm9ybWF0YCwgYnV0IHRha2luZyBhIDpjOnR5cGU6YHZhX2xpc3RgIGFyZ3VtZW50IHJhdGhlcgorICAgdGhhbiBhIHZhcmlhYmxlIG51bWJlciBvZiBhcmd1bWVudHMuCisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuNQorCisKIC4uIGM6ZnVuY3Rpb246OiB2b2lkIFB5RXJyX1NldE5vbmUoUHlPYmplY3QgKnR5cGUpCiAKICAgIFRoaXMgaXMgYSBzaG9ydGhhbmQgZm9yIGBgUHlFcnJfU2V0T2JqZWN0KHR5cGUsIFB5X05vbmUpYGAuCkBAIC0zNDYsNiArMjY2LDIyIEBACiAgICB1c2UuCiAKIAorSXNzdWluZyB3YXJuaW5ncworPT09PT09PT09PT09PT09PQorCitVc2UgdGhlc2UgZnVuY3Rpb25zIHRvIGlzc3VlIHdhcm5pbmdzIGZyb20gQyBjb2RlLiAgVGhleSBtaXJyb3Igc2ltaWxhcgorZnVuY3Rpb25zIGV4cG9ydGVkIGJ5IHRoZSBQeXRob24gOm1vZDpgd2FybmluZ3NgIG1vZHVsZS4gIFRoZXkgbm9ybWFsbHkKK3ByaW50IGEgd2FybmluZyBtZXNzYWdlIHRvICpzeXMuc3RkZXJyKjsgaG93ZXZlciwgaXQgaXMKK2Fsc28gcG9zc2libGUgdGhhdCB0aGUgdXNlciBoYXMgc3BlY2lmaWVkIHRoYXQgd2FybmluZ3MgYXJlIHRvIGJlIHR1cm5lZCBpbnRvCitlcnJvcnMsIGFuZCBpbiB0aGF0IGNhc2UgdGhleSB3aWxsIHJhaXNlIGFuIGV4Y2VwdGlvbi4gIEl0IGlzIGFsc28gcG9zc2libGUgdGhhdAordGhlIGZ1bmN0aW9ucyByYWlzZSBhbiBleGNlcHRpb24gYmVjYXVzZSBvZiBhIHByb2JsZW0gd2l0aCB0aGUgd2FybmluZyBtYWNoaW5lcnkuCitUaGUgcmV0dXJuIHZhbHVlIGlzIGBgMGBgIGlmIG5vIGV4Y2VwdGlvbiBpcyByYWlzZWQsIG9yIGBgLTFgYCBpZiBhbiBleGNlcHRpb24KK2lzIHJhaXNlZC4gIChJdCBpcyBub3QgcG9zc2libGUgdG8gZGV0ZXJtaW5lIHdoZXRoZXIgYSB3YXJuaW5nIG1lc3NhZ2UgaXMKK2FjdHVhbGx5IHByaW50ZWQsIG5vciB3aGF0IHRoZSByZWFzb24gaXMgZm9yIHRoZSBleGNlcHRpb247IHRoaXMgaXMKK2ludGVudGlvbmFsLikgIElmIGFuIGV4Y2VwdGlvbiBpcyByYWlzZWQsIHRoZSBjYWxsZXIgc2hvdWxkIGRvIGl0cyBub3JtYWwKK2V4Y2VwdGlvbiBoYW5kbGluZyAoZm9yIGV4YW1wbGUsIDpjOmZ1bmM6YFB5X0RFQ1JFRmAgb3duZWQgcmVmZXJlbmNlcyBhbmQgcmV0dXJuCithbiBlcnJvciB2YWx1ZSkuCisKIC4uIGM6ZnVuY3Rpb246OiBpbnQgUHlFcnJfV2FybkV4KFB5T2JqZWN0ICpjYXRlZ29yeSwgY29uc3QgY2hhciAqbWVzc2FnZSwgUHlfc3NpemVfdCBzdGFja19sZXZlbCkKIAogICAgSXNzdWUgYSB3YXJuaW5nIG1lc3NhZ2UuICBUaGUgKmNhdGVnb3J5KiBhcmd1bWVudCBpcyBhIHdhcm5pbmcgY2F0ZWdvcnkgKHNlZQpAQCAtMzU1LDE4ICsyOTEsNiBAQAogICAgaXMgdGhlIGZ1bmN0aW9uIGNhbGxpbmcgOmM6ZnVuYzpgUHlFcnJfV2FybkV4YCwgMiBpcyAgdGhlIGZ1bmN0aW9uIGFib3ZlIHRoYXQsCiAgICBhbmQgc28gZm9ydGguCiAKLSAgIFRoaXMgZnVuY3Rpb24gbm9ybWFsbHkgcHJpbnRzIGEgd2FybmluZyBtZXNzYWdlIHRvICpzeXMuc3RkZXJyKjsgaG93ZXZlciwgaXQgaXMKLSAgIGFsc28gcG9zc2libGUgdGhhdCB0aGUgdXNlciBoYXMgc3BlY2lmaWVkIHRoYXQgd2FybmluZ3MgYXJlIHRvIGJlIHR1cm5lZCBpbnRvCi0gICBlcnJvcnMsIGFuZCBpbiB0aGF0IGNhc2UgdGhpcyB3aWxsIHJhaXNlIGFuIGV4Y2VwdGlvbi4gIEl0IGlzIGFsc28gcG9zc2libGUgdGhhdAotICAgdGhlIGZ1bmN0aW9uIHJhaXNlcyBhbiBleGNlcHRpb24gYmVjYXVzZSBvZiBhIHByb2JsZW0gd2l0aCB0aGUgd2FybmluZyBtYWNoaW5lcnkKLSAgICh0aGUgaW1wbGVtZW50YXRpb24gaW1wb3J0cyB0aGUgOm1vZDpgd2FybmluZ3NgIG1vZHVsZSB0byBkbyB0aGUgaGVhdnkgbGlmdGluZykuCi0gICBUaGUgcmV0dXJuIHZhbHVlIGlzIGBgMGBgIGlmIG5vIGV4Y2VwdGlvbiBpcyByYWlzZWQsIG9yIGBgLTFgYCBpZiBhbiBleGNlcHRpb24KLSAgIGlzIHJhaXNlZC4gIChJdCBpcyBub3QgcG9zc2libGUgdG8gZGV0ZXJtaW5lIHdoZXRoZXIgYSB3YXJuaW5nIG1lc3NhZ2UgaXMKLSAgIGFjdHVhbGx5IHByaW50ZWQsIG5vciB3aGF0IHRoZSByZWFzb24gaXMgZm9yIHRoZSBleGNlcHRpb247IHRoaXMgaXMKLSAgIGludGVudGlvbmFsLikgIElmIGFuIGV4Y2VwdGlvbiBpcyByYWlzZWQsIHRoZSBjYWxsZXIgc2hvdWxkIGRvIGl0cyBub3JtYWwKLSAgIGV4Y2VwdGlvbiBoYW5kbGluZyAoZm9yIGV4YW1wbGUsIDpjOmZ1bmM6YFB5X0RFQ1JFRmAgb3duZWQgcmVmZXJlbmNlcyBhbmQgcmV0dXJuCi0gICBhbiBlcnJvciB2YWx1ZSkuCi0KICAgIFdhcm5pbmcgY2F0ZWdvcmllcyBtdXN0IGJlIHN1YmNsYXNzZXMgb2YgOmM6ZGF0YTpgV2FybmluZ2A7IHRoZSBkZWZhdWx0IHdhcm5pbmcKICAgIGNhdGVnb3J5IGlzIDpjOmRhdGE6YFJ1bnRpbWVXYXJuaW5nYC4gIFRoZSBzdGFuZGFyZCBQeXRob24gd2FybmluZyBjYXRlZ29yaWVzIGFyZQogICAgYXZhaWxhYmxlIGFzIGdsb2JhbCB2YXJpYWJsZXMgd2hvc2UgbmFtZXMgYXJlIGBgUHlFeGNfYGAgZm9sbG93ZWQgYnkgdGhlIFB5dGhvbgpAQCAtNDEwLDYgKzMzNCwxMzkgQEAKICAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMgogCiAKK1F1ZXJ5aW5nIHRoZSBlcnJvciBpbmRpY2F0b3IKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKworLi4gYzpmdW5jdGlvbjo6IFB5T2JqZWN0KiBQeUVycl9PY2N1cnJlZCgpCisKKyAgIFRlc3Qgd2hldGhlciB0aGUgZXJyb3IgaW5kaWNhdG9yIGlzIHNldC4gIElmIHNldCwgcmV0dXJuIHRoZSBleGNlcHRpb24gKnR5cGUqCisgICAodGhlIGZpcnN0IGFyZ3VtZW50IHRvIHRoZSBsYXN0IGNhbGwgdG8gb25lIG9mIHRoZSA6YzpmdW5jOmBQeUVycl9TZXRcKmAKKyAgIGZ1bmN0aW9ucyBvciB0byA6YzpmdW5jOmBQeUVycl9SZXN0b3JlYCkuICBJZiBub3Qgc2V0LCByZXR1cm4gKk5VTEwqLiAgWW91IGRvIG5vdAorICAgb3duIGEgcmVmZXJlbmNlIHRvIHRoZSByZXR1cm4gdmFsdWUsIHNvIHlvdSBkbyBub3QgbmVlZCB0byA6YzpmdW5jOmBQeV9ERUNSRUZgCisgICBpdC4KKworICAgLi4gbm90ZTo6CisKKyAgICAgIERvIG5vdCBjb21wYXJlIHRoZSByZXR1cm4gdmFsdWUgdG8gYSBzcGVjaWZpYyBleGNlcHRpb247IHVzZQorICAgICAgOmM6ZnVuYzpgUHlFcnJfRXhjZXB0aW9uTWF0Y2hlc2AgaW5zdGVhZCwgc2hvd24gYmVsb3cuICAoVGhlIGNvbXBhcmlzb24gY291bGQKKyAgICAgIGVhc2lseSBmYWlsIHNpbmNlIHRoZSBleGNlcHRpb24gbWF5IGJlIGFuIGluc3RhbmNlIGluc3RlYWQgb2YgYSBjbGFzcywgaW4gdGhlCisgICAgICBjYXNlIG9mIGEgY2xhc3MgZXhjZXB0aW9uLCBvciBpdCBtYXkgYmUgYSBzdWJjbGFzcyBvZiB0aGUgZXhwZWN0ZWQgZXhjZXB0aW9uLikKKworCisuLiBjOmZ1bmN0aW9uOjogaW50IFB5RXJyX0V4Y2VwdGlvbk1hdGNoZXMoUHlPYmplY3QgKmV4YykKKworICAgRXF1aXZhbGVudCB0byBgYFB5RXJyX0dpdmVuRXhjZXB0aW9uTWF0Y2hlcyhQeUVycl9PY2N1cnJlZCgpLCBleGMpYGAuICBUaGlzCisgICBzaG91bGQgb25seSBiZSBjYWxsZWQgd2hlbiBhbiBleGNlcHRpb24gaXMgYWN0dWFsbHkgc2V0OyBhIG1lbW9yeSBhY2Nlc3MKKyAgIHZpb2xhdGlvbiB3aWxsIG9jY3VyIGlmIG5vIGV4Y2VwdGlvbiBoYXMgYmVlbiByYWlzZWQuCisKKworLi4gYzpmdW5jdGlvbjo6IGludCBQeUVycl9HaXZlbkV4Y2VwdGlvbk1hdGNoZXMoUHlPYmplY3QgKmdpdmVuLCBQeU9iamVjdCAqZXhjKQorCisgICBSZXR1cm4gdHJ1ZSBpZiB0aGUgKmdpdmVuKiBleGNlcHRpb24gbWF0Y2hlcyB0aGUgZXhjZXB0aW9uIHR5cGUgaW4gKmV4YyouICBJZgorICAgKmV4YyogaXMgYSBjbGFzcyBvYmplY3QsIHRoaXMgYWxzbyByZXR1cm5zIHRydWUgd2hlbiAqZ2l2ZW4qIGlzIGFuIGluc3RhbmNlCisgICBvZiBhIHN1YmNsYXNzLiAgSWYgKmV4YyogaXMgYSB0dXBsZSwgYWxsIGV4Y2VwdGlvbiB0eXBlcyBpbiB0aGUgdHVwbGUgKGFuZAorICAgcmVjdXJzaXZlbHkgaW4gc3VidHVwbGVzKSBhcmUgc2VhcmNoZWQgZm9yIGEgbWF0Y2guCisKKworLi4gYzpmdW5jdGlvbjo6IHZvaWQgUHlFcnJfRmV0Y2goUHlPYmplY3QgKipwdHlwZSwgUHlPYmplY3QgKipwdmFsdWUsIFB5T2JqZWN0ICoqcHRyYWNlYmFjaykKKworICAgUmV0cmlldmUgdGhlIGVycm9yIGluZGljYXRvciBpbnRvIHRocmVlIHZhcmlhYmxlcyB3aG9zZSBhZGRyZXNzZXMgYXJlIHBhc3NlZC4KKyAgIElmIHRoZSBlcnJvciBpbmRpY2F0b3IgaXMgbm90IHNldCwgc2V0IGFsbCB0aHJlZSB2YXJpYWJsZXMgdG8gKk5VTEwqLiAgSWYgaXQgaXMKKyAgIHNldCwgaXQgd2lsbCBiZSBjbGVhcmVkIGFuZCB5b3Ugb3duIGEgcmVmZXJlbmNlIHRvIGVhY2ggb2JqZWN0IHJldHJpZXZlZC4gIFRoZQorICAgdmFsdWUgYW5kIHRyYWNlYmFjayBvYmplY3QgbWF5IGJlICpOVUxMKiBldmVuIHdoZW4gdGhlIHR5cGUgb2JqZWN0IGlzIG5vdC4KKworICAgLi4gbm90ZTo6CisKKyAgICAgIFRoaXMgZnVuY3Rpb24gaXMgbm9ybWFsbHkgb25seSB1c2VkIGJ5IGNvZGUgdGhhdCBuZWVkcyB0byBjYXRjaCBleGNlcHRpb25zIG9yCisgICAgICBieSBjb2RlIHRoYXQgbmVlZHMgdG8gc2F2ZSBhbmQgcmVzdG9yZSB0aGUgZXJyb3IgaW5kaWNhdG9yIHRlbXBvcmFyaWx5LCBlLmcuOjoKKworICAgICAgICAgeworICAgICAgICAgICAgUHlPYmplY3QgKip0eXBlLCAqKnZhbHVlLCAqKnRyYWNlYmFjazsKKyAgICAgICAgICAgIFB5RXJyX0ZldGNoKCZ0eXBlLCAmdmFsdWUsICZ0cmFjZWJhY2spOworCisgICAgICAgICAgICAvKiAuLi4gY29kZSB0aGF0IG1pZ2h0IHByb2R1Y2Ugb3RoZXIgZXJyb3JzIC4uLiAqLworCisgICAgICAgICAgICBQeUVycl9SZXN0b3JlKHR5cGUsIHZhbHVlLCB0cmFjZWJhY2spOworICAgICAgICAgfQorCisKKy4uIGM6ZnVuY3Rpb246OiB2b2lkIFB5RXJyX1Jlc3RvcmUoUHlPYmplY3QgKnR5cGUsIFB5T2JqZWN0ICp2YWx1ZSwgUHlPYmplY3QgKnRyYWNlYmFjaykKKworICAgU2V0ICB0aGUgZXJyb3IgaW5kaWNhdG9yIGZyb20gdGhlIHRocmVlIG9iamVjdHMuICBJZiB0aGUgZXJyb3IgaW5kaWNhdG9yIGlzCisgICBhbHJlYWR5IHNldCwgaXQgaXMgY2xlYXJlZCBmaXJzdC4gIElmIHRoZSBvYmplY3RzIGFyZSAqTlVMTCosIHRoZSBlcnJvcgorICAgaW5kaWNhdG9yIGlzIGNsZWFyZWQuICBEbyBub3QgcGFzcyBhICpOVUxMKiB0eXBlIGFuZCBub24tKk5VTEwqIHZhbHVlIG9yCisgICB0cmFjZWJhY2suICBUaGUgZXhjZXB0aW9uIHR5cGUgc2hvdWxkIGJlIGEgY2xhc3MuICBEbyBub3QgcGFzcyBhbiBpbnZhbGlkCisgICBleGNlcHRpb24gdHlwZSBvciB2YWx1ZS4gKFZpb2xhdGluZyB0aGVzZSBydWxlcyB3aWxsIGNhdXNlIHN1YnRsZSBwcm9ibGVtcworICAgbGF0ZXIuKSAgVGhpcyBjYWxsIHRha2VzIGF3YXkgYSByZWZlcmVuY2UgdG8gZWFjaCBvYmplY3Q6IHlvdSBtdXN0IG93biBhCisgICByZWZlcmVuY2UgdG8gZWFjaCBvYmplY3QgYmVmb3JlIHRoZSBjYWxsIGFuZCBhZnRlciB0aGUgY2FsbCB5b3Ugbm8gbG9uZ2VyIG93bgorICAgdGhlc2UgcmVmZXJlbmNlcy4gIChJZiB5b3UgZG9uJ3QgdW5kZXJzdGFuZCB0aGlzLCBkb24ndCB1c2UgdGhpcyBmdW5jdGlvbi4gIEkKKyAgIHdhcm5lZCB5b3UuKQorCisgICAuLiBub3RlOjoKKworICAgICAgVGhpcyBmdW5jdGlvbiBpcyBub3JtYWxseSBvbmx5IHVzZWQgYnkgY29kZSB0aGF0IG5lZWRzIHRvIHNhdmUgYW5kIHJlc3RvcmUgdGhlCisgICAgICBlcnJvciBpbmRpY2F0b3IgdGVtcG9yYXJpbHkuICBVc2UgOmM6ZnVuYzpgUHlFcnJfRmV0Y2hgIHRvIHNhdmUgdGhlIGN1cnJlbnQKKyAgICAgIGVycm9yIGluZGljYXRvci4KKworCisuLiBjOmZ1bmN0aW9uOjogdm9pZCBQeUVycl9Ob3JtYWxpemVFeGNlcHRpb24oUHlPYmplY3QqKmV4YywgUHlPYmplY3QqKnZhbCwgUHlPYmplY3QqKnRiKQorCisgICBVbmRlciBjZXJ0YWluIGNpcmN1bXN0YW5jZXMsIHRoZSB2YWx1ZXMgcmV0dXJuZWQgYnkgOmM6ZnVuYzpgUHlFcnJfRmV0Y2hgIGJlbG93CisgICBjYW4gYmUgInVubm9ybWFsaXplZCIsIG1lYW5pbmcgdGhhdCBgYCpleGNgYCBpcyBhIGNsYXNzIG9iamVjdCBidXQgYGAqdmFsYGAgaXMKKyAgIG5vdCBhbiBpbnN0YW5jZSBvZiB0aGUgIHNhbWUgY2xhc3MuICBUaGlzIGZ1bmN0aW9uIGNhbiBiZSB1c2VkIHRvIGluc3RhbnRpYXRlCisgICB0aGUgY2xhc3MgaW4gdGhhdCBjYXNlLiAgSWYgdGhlIHZhbHVlcyBhcmUgYWxyZWFkeSBub3JtYWxpemVkLCBub3RoaW5nIGhhcHBlbnMuCisgICBUaGUgZGVsYXllZCBub3JtYWxpemF0aW9uIGlzIGltcGxlbWVudGVkIHRvIGltcHJvdmUgcGVyZm9ybWFuY2UuCisKKyAgIC4uIG5vdGU6OgorCisgICAgICBUaGlzIGZ1bmN0aW9uICpkb2VzIG5vdCogaW1wbGljaXRseSBzZXQgdGhlIGBgX190cmFjZWJhY2tfX2BgCisgICAgICBhdHRyaWJ1dGUgb24gdGhlIGV4Y2VwdGlvbiB2YWx1ZS4gSWYgc2V0dGluZyB0aGUgdHJhY2ViYWNrCisgICAgICBhcHByb3ByaWF0ZWx5IGlzIGRlc2lyZWQsIHRoZSBmb2xsb3dpbmcgYWRkaXRpb25hbCBzbmlwcGV0IGlzIG5lZWRlZDo6CisKKyAgICAgICAgIGlmICh0YiAhPSBOVUxMKSB7CisgICAgICAgICAgIFB5RXhjZXB0aW9uX1NldFRyYWNlYmFjayh2YWwsIHRiKTsKKyAgICAgICAgIH0KKworCisuLiBjOmZ1bmN0aW9uOjogdm9pZCBQeUVycl9HZXRFeGNJbmZvKFB5T2JqZWN0ICoqcHR5cGUsIFB5T2JqZWN0ICoqcHZhbHVlLCBQeU9iamVjdCAqKnB0cmFjZWJhY2spCisKKyAgIFJldHJpZXZlIHRoZSBleGNlcHRpb24gaW5mbywgYXMga25vd24gZnJvbSBgYHN5cy5leGNfaW5mbygpYGAuICBUaGlzIHJlZmVycworICAgdG8gYW4gZXhjZXB0aW9uIHRoYXQgd2FzICphbHJlYWR5IGNhdWdodCosIG5vdCB0byBhbiBleGNlcHRpb24gdGhhdCB3YXMKKyAgIGZyZXNobHkgcmFpc2VkLiAgUmV0dXJucyBuZXcgcmVmZXJlbmNlcyBmb3IgdGhlIHRocmVlIG9iamVjdHMsIGFueSBvZiB3aGljaAorICAgbWF5IGJlICpOVUxMKi4gIERvZXMgbm90IG1vZGlmeSB0aGUgZXhjZXB0aW9uIGluZm8gc3RhdGUuCisKKyAgIC4uIG5vdGU6OgorCisgICAgICBUaGlzIGZ1bmN0aW9uIGlzIG5vdCBub3JtYWxseSB1c2VkIGJ5IGNvZGUgdGhhdCB3YW50cyB0byBoYW5kbGUgZXhjZXB0aW9ucy4KKyAgICAgIFJhdGhlciwgaXQgY2FuIGJlIHVzZWQgd2hlbiBjb2RlIG5lZWRzIHRvIHNhdmUgYW5kIHJlc3RvcmUgdGhlIGV4Y2VwdGlvbgorICAgICAgc3RhdGUgdGVtcG9yYXJpbHkuICBVc2UgOmM6ZnVuYzpgUHlFcnJfU2V0RXhjSW5mb2AgdG8gcmVzdG9yZSBvciBjbGVhciB0aGUKKyAgICAgIGV4Y2VwdGlvbiBzdGF0ZS4KKworICAgLi4gdmVyc2lvbmFkZGVkOjogMy4zCisKKworLi4gYzpmdW5jdGlvbjo6IHZvaWQgUHlFcnJfU2V0RXhjSW5mbyhQeU9iamVjdCAqdHlwZSwgUHlPYmplY3QgKnZhbHVlLCBQeU9iamVjdCAqdHJhY2ViYWNrKQorCisgICBTZXQgdGhlIGV4Y2VwdGlvbiBpbmZvLCBhcyBrbm93biBmcm9tIGBgc3lzLmV4Y19pbmZvKClgYC4gIFRoaXMgcmVmZXJzCisgICB0byBhbiBleGNlcHRpb24gdGhhdCB3YXMgKmFscmVhZHkgY2F1Z2h0Kiwgbm90IHRvIGFuIGV4Y2VwdGlvbiB0aGF0IHdhcworICAgZnJlc2hseSByYWlzZWQuICBUaGlzIGZ1bmN0aW9uIHN0ZWFscyB0aGUgcmVmZXJlbmNlcyBvZiB0aGUgYXJndW1lbnRzLgorICAgVG8gY2xlYXIgdGhlIGV4Y2VwdGlvbiBzdGF0ZSwgcGFzcyAqTlVMTCogZm9yIGFsbCB0aHJlZSBhcmd1bWVudHMuCisgICBGb3IgZ2VuZXJhbCBydWxlcyBhYm91dCB0aGUgdGhyZWUgYXJndW1lbnRzLCBzZWUgOmM6ZnVuYzpgUHlFcnJfUmVzdG9yZWAuCisKKyAgIC4uIG5vdGU6OgorCisgICAgICBUaGlzIGZ1bmN0aW9uIGlzIG5vdCBub3JtYWxseSB1c2VkIGJ5IGNvZGUgdGhhdCB3YW50cyB0byBoYW5kbGUgZXhjZXB0aW9ucy4KKyAgICAgIFJhdGhlciwgaXQgY2FuIGJlIHVzZWQgd2hlbiBjb2RlIG5lZWRzIHRvIHNhdmUgYW5kIHJlc3RvcmUgdGhlIGV4Y2VwdGlvbgorICAgICAgc3RhdGUgdGVtcG9yYXJpbHkuICBVc2UgOmM6ZnVuYzpgUHlFcnJfR2V0RXhjSW5mb2AgdG8gcmVhZCB0aGUgZXhjZXB0aW9uCisgICAgICBzdGF0ZS4KKworICAgLi4gdmVyc2lvbmFkZGVkOjogMy4zCisKKworU2lnbmFsIEhhbmRsaW5nCis9PT09PT09PT09PT09PT0KKworCiAuLiBjOmZ1bmN0aW9uOjogaW50IFB5RXJyX0NoZWNrU2lnbmFscygpCiAKICAgIC4uIGluZGV4OjoKQEAgLTQ0MywxMyArNTAwLDIxIEBACiAKIC4uIGM6ZnVuY3Rpb246OiBpbnQgUHlTaWduYWxfU2V0V2FrZXVwRmQoaW50IGZkKQogCi0gICBUaGlzIHV0aWxpdHkgZnVuY3Rpb24gc3BlY2lmaWVzIGEgZmlsZSBkZXNjcmlwdG9yIHRvIHdoaWNoIGEgYGAnXDAnYGAgYnl0ZSB3aWxsCi0gICBiZSB3cml0dGVuIHdoZW5ldmVyIGEgc2lnbmFsIGlzIHJlY2VpdmVkLiAgSXQgcmV0dXJucyB0aGUgcHJldmlvdXMgc3VjaCBmaWxlCi0gICBkZXNjcmlwdG9yLiAgVGhlIHZhbHVlIGBgLTFgYCBkaXNhYmxlcyB0aGUgZmVhdHVyZTsgdGhpcyBpcyB0aGUgaW5pdGlhbCBzdGF0ZS4KKyAgIFRoaXMgdXRpbGl0eSBmdW5jdGlvbiBzcGVjaWZpZXMgYSBmaWxlIGRlc2NyaXB0b3IgdG8gd2hpY2ggdGhlIHNpZ25hbCBudW1iZXIKKyAgIGlzIHdyaXR0ZW4gYXMgYSBzaW5nbGUgYnl0ZSB3aGVuZXZlciBhIHNpZ25hbCBpcyByZWNlaXZlZC4gKmZkKiBtdXN0IGJlCisgICBub24tYmxvY2tpbmcuIEl0IHJldHVybnMgdGhlIHByZXZpb3VzIHN1Y2ggZmlsZSBkZXNjcmlwdG9yLgorCisgICBUaGUgdmFsdWUgYGAtMWBgIGRpc2FibGVzIHRoZSBmZWF0dXJlOyB0aGlzIGlzIHRoZSBpbml0aWFsIHN0YXRlLgogICAgVGhpcyBpcyBlcXVpdmFsZW50IHRvIDpmdW5jOmBzaWduYWwuc2V0X3dha2V1cF9mZGAgaW4gUHl0aG9uLCBidXQgd2l0aG91dCBhbnkKICAgIGVycm9yIGNoZWNraW5nLiAgKmZkKiBzaG91bGQgYmUgYSB2YWxpZCBmaWxlIGRlc2NyaXB0b3IuICBUaGUgZnVuY3Rpb24gc2hvdWxkCiAgICBvbmx5IGJlIGNhbGxlZCBmcm9tIHRoZSBtYWluIHRocmVhZC4KIAorICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjUKKyAgICAgIE9uIFdpbmRvd3MsIHRoZSBmdW5jdGlvbiBub3cgYWxzbyBzdXBwb3J0cyBzb2NrZXQgaGFuZGxlcy4KKworCitFeGNlcHRpb24gQ2xhc3NlcworPT09PT09PT09PT09PT09PT0KIAogLi4gYzpmdW5jdGlvbjo6IFB5T2JqZWN0KiBQeUVycl9OZXdFeGNlcHRpb24oY2hhciAqbmFtZSwgUHlPYmplY3QgKmJhc2UsIFB5T2JqZWN0ICpkaWN0KQogCkBAIC00NzUsMTggKzU0MCw2IEBACiAgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjIKIAogCi0uLiBjOmZ1bmN0aW9uOjogdm9pZCBQeUVycl9Xcml0ZVVucmFpc2FibGUoUHlPYmplY3QgKm9iaikKLQotICAgVGhpcyB1dGlsaXR5IGZ1bmN0aW9uIHByaW50cyBhIHdhcm5pbmcgbWVzc2FnZSB0byBgYHN5cy5zdGRlcnJgYCB3aGVuIGFuCi0gICBleGNlcHRpb24gaGFzIGJlZW4gc2V0IGJ1dCBpdCBpcyBpbXBvc3NpYmxlIGZvciB0aGUgaW50ZXJwcmV0ZXIgdG8gYWN0dWFsbHkKLSAgIHJhaXNlIHRoZSBleGNlcHRpb24uICBJdCBpcyB1c2VkLCBmb3IgZXhhbXBsZSwgd2hlbiBhbiBleGNlcHRpb24gb2NjdXJzIGluIGFuCi0gICA6bWV0aDpgX19kZWxfX2AgbWV0aG9kLgotCi0gICBUaGUgZnVuY3Rpb24gaXMgY2FsbGVkIHdpdGggYSBzaW5nbGUgYXJndW1lbnQgKm9iaiogdGhhdCBpZGVudGlmaWVzIHRoZSBjb250ZXh0Ci0gICBpbiB3aGljaCB0aGUgdW5yYWlzYWJsZSBleGNlcHRpb24gb2NjdXJyZWQuIFRoZSByZXByIG9mICpvYmoqIHdpbGwgYmUgcHJpbnRlZCBpbgotICAgdGhlIHdhcm5pbmcgbWVzc2FnZS4KLQotCiBFeGNlcHRpb24gT2JqZWN0cwogPT09PT09PT09PT09PT09PT0KIApkaWZmIC0tZ2l0IGEvRG9jL2MtYXBpL2luaXQucnN0IGIvRG9jL2MtYXBpL2luaXQucnN0CmluZGV4IDRkMzU4Y2EuLmZhYzliNDcgMTAwNjQ0Ci0tLSBhL0RvYy9jLWFwaS9pbml0LnJzdAorKysgYi9Eb2MvYy1hcGkvaW5pdC5yc3QKQEAgLTEzNCw2ICsxMzQsOSBAQAogICAgY2hhbmdlIGZvciB0aGUgZHVyYXRpb24gb2YgdGhlIHByb2dyYW0ncyBleGVjdXRpb24uICBObyBjb2RlIGluIHRoZSBQeXRob24KICAgIGludGVycHJldGVyIHdpbGwgY2hhbmdlIHRoZSBjb250ZW50cyBvZiB0aGlzIHN0b3JhZ2UuCiAKKyAgIFVzZSA6YzpmdW5jOmBQeV9EZWNvZGVMb2NhbGVgIHRvIGRlY29kZSBhIGJ5dGVzIHN0cmluZyB0byBnZXQgYQorICAgOmM6dHlwZTpgd2NoYXJfKmAgc3RyaW5nLgorCiAKIC4uIGM6ZnVuY3Rpb246OiB3Y2hhciogUHlfR2V0UHJvZ3JhbU5hbWUoKQogCkBAIC0yNDUsNiArMjQ4LDkgQEAKICAgIDpkYXRhOmBzeXMuZXhlY19wcmVmaXhgIHRvIGJlIGVtcHR5LiAgSXQgaXMgdXAgdG8gdGhlIGNhbGxlciB0byBtb2RpZnkgdGhlc2UKICAgIGlmIHJlcXVpcmVkIGFmdGVyIGNhbGxpbmcgOmM6ZnVuYzpgUHlfSW5pdGlhbGl6ZWAuCiAKKyAgIFVzZSA6YzpmdW5jOmBQeV9EZWNvZGVMb2NhbGVgIHRvIGRlY29kZSBhIGJ5dGVzIHN0cmluZyB0byBnZXQgYQorICAgOmM6dHlwZTpgd2NoYXJfKmAgc3RyaW5nLgorCiAgICBUaGUgcGF0aCBhcmd1bWVudCBpcyBjb3BpZWQgaW50ZXJuYWxseSwgc28gdGhlIGNhbGxlciBtYXkgZnJlZSBpdCBhZnRlciB0aGUKICAgIGNhbGwgY29tcGxldGVzLgogCkBAIC0zNDQsNiArMzUwLDkgQEAKICAgICAgOmRhdGE6YHN5cy5wYXRoYCwgd2hpY2ggaXMgdGhlIHNhbWUgYXMgcHJlcGVuZGluZyB0aGUgY3VycmVudCB3b3JraW5nCiAgICAgIGRpcmVjdG9yeSAoYGAiLiJgYCkuCiAKKyAgIFVzZSA6YzpmdW5jOmBQeV9EZWNvZGVMb2NhbGVgIHRvIGRlY29kZSBhIGJ5dGVzIHN0cmluZyB0byBnZXQgYQorICAgOmM6dHlwZTpgd2NoYXJfKmAgc3RyaW5nLgorCiAgICAuLiBub3RlOjoKICAgICAgIEl0IGlzIHJlY29tbWVuZGVkIHRoYXQgYXBwbGljYXRpb25zIGVtYmVkZGluZyB0aGUgUHl0aG9uIGludGVycHJldGVyCiAgICAgICBmb3IgcHVycG9zZXMgb3RoZXIgdGhhbiBleGVjdXRpbmcgYSBzaW5nbGUgc2NyaXB0IHBhc3MgMCBhcyAqdXBkYXRlcGF0aCosCkBAIC0zNjgsNiArMzc3LDkgQEAKICAgIHRvIDEgdW5sZXNzIHRoZSA6cHJvZ3JhbTpgcHl0aG9uYCBpbnRlcnByZXRlciB3YXMgc3RhcnRlZCB3aXRoIHRoZQogICAgOm9wdGlvbjpgLUlgLgogCisgICBVc2UgOmM6ZnVuYzpgUHlfRGVjb2RlTG9jYWxlYCB0byBkZWNvZGUgYSBieXRlcyBzdHJpbmcgdG8gZ2V0IGEKKyAgIDpjOnR5cGU6YHdjaGFyXypgIHN0cmluZy4KKwogICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjQgVGhlICp1cGRhdGVwYXRoKiB2YWx1ZSBkZXBlbmRzIG9uIDpvcHRpb246YC1JYC4KIAogCkBAIC0zODIsNiArMzk0LDkgQEAKICAgIGV4ZWN1dGlvbi4gIE5vIGNvZGUgaW4gdGhlIFB5dGhvbiBpbnRlcnByZXRlciB3aWxsIGNoYW5nZSB0aGUgY29udGVudHMgb2YKICAgIHRoaXMgc3RvcmFnZS4KIAorICAgVXNlIDpjOmZ1bmM6YFB5X0RlY29kZUxvY2FsZWAgdG8gZGVjb2RlIGEgYnl0ZXMgc3RyaW5nIHRvIGdldCBhCisgICA6Yzp0eXBlOmB3Y2hhcl8qYCBzdHJpbmcuCisKIAogLi4gYzpmdW5jdGlvbjo6IHdfY2hhciogUHlfR2V0UHl0aG9uSG9tZSgpCiAKZGlmZiAtLWdpdCBhL0RvYy9jLWFwaS9tZW1vcnkucnN0IGIvRG9jL2MtYXBpL21lbW9yeS5yc3QKaW5kZXggYTgyZTFjMi4uNWQ3OGYzOCAxMDA2NDQKLS0tIGEvRG9jL2MtYXBpL21lbW9yeS5yc3QKKysrIGIvRG9jL2MtYXBpL21lbW9yeS5yc3QKQEAgLTkyLDggKzkyLDggQEAKIG5lZWQgdG8gYmUgaGVsZC4KIAogVGhlIGRlZmF1bHQgcmF3IG1lbW9yeSBibG9jayBhbGxvY2F0b3IgdXNlcyB0aGUgZm9sbG93aW5nIGZ1bmN0aW9uczoKLTpjOmZ1bmM6YG1hbGxvY2AsIDpjOmZ1bmM6YHJlYWxsb2NgIGFuZCA6YzpmdW5jOmBmcmVlYDsgY2FsbCBgYG1hbGxvYygxKWBgIHdoZW4KLXJlcXVlc3RpbmcgemVybyBieXRlcy4KKzpjOmZ1bmM6YG1hbGxvY2AsIDpjOmZ1bmM6YGNhbGxvY2AsIDpjOmZ1bmM6YHJlYWxsb2NgIGFuZCA6YzpmdW5jOmBmcmVlYDsgY2FsbAorYGBtYWxsb2MoMSlgYCAob3IgYGBjYWxsb2MoMSwgMSlgYCkgd2hlbiByZXF1ZXN0aW5nIHplcm8gYnl0ZXMuCiAKIC4uIHZlcnNpb25hZGRlZDo6IDMuNAogCkBAIC0xMDYsNiArMTA2LDE3IEBACiAgICBiZWVuIGluaXRpYWxpemVkIGluIGFueSB3YXkuCiAKIAorLi4gYzpmdW5jdGlvbjo6IHZvaWQqIFB5TWVtX1Jhd0NhbGxvYyhzaXplX3QgbmVsZW0sIHNpemVfdCBlbHNpemUpCisKKyAgIEFsbG9jYXRlcyAqbmVsZW0qIGVsZW1lbnRzIGVhY2ggd2hvc2Ugc2l6ZSBpbiBieXRlcyBpcyAqZWxzaXplKiBhbmQgcmV0dXJucworICAgYSBwb2ludGVyIG9mIHR5cGUgOmM6dHlwZTpgdm9pZFwqYCB0byB0aGUgYWxsb2NhdGVkIG1lbW9yeSwgb3IgKk5VTEwqIGlmIHRoZQorICAgcmVxdWVzdCBmYWlscy4gVGhlIG1lbW9yeSBpcyBpbml0aWFsaXplZCB0byB6ZXJvcy4gUmVxdWVzdGluZyB6ZXJvIGVsZW1lbnRzCisgICBvciBlbGVtZW50cyBvZiBzaXplIHplcm8gYnl0ZXMgcmV0dXJucyBhIGRpc3RpbmN0IG5vbi0qTlVMTCogcG9pbnRlciBpZgorICAgcG9zc2libGUsIGFzIGlmIGBgUHlNZW1fUmF3Q2FsbG9jKDEsIDEpYGAgaGFkIGJlZW4gY2FsbGVkIGluc3RlYWQuCisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuNQorCisKIC4uIGM6ZnVuY3Rpb246OiB2b2lkKiBQeU1lbV9SYXdSZWFsbG9jKHZvaWQgKnAsIHNpemVfdCBuKQogCiAgICBSZXNpemVzIHRoZSBtZW1vcnkgYmxvY2sgcG9pbnRlZCB0byBieSAqcCogdG8gKm4qIGJ5dGVzLiBUaGUgY29udGVudHMgd2lsbApAQCAtMTM2LDggKzE0Nyw4IEBACiBtZW1vcnkgZnJvbSB0aGUgUHl0aG9uIGhlYXAuCiAKIFRoZSBkZWZhdWx0IG1lbW9yeSBibG9jayBhbGxvY2F0b3IgdXNlcyB0aGUgZm9sbG93aW5nIGZ1bmN0aW9uczoKLTpjOmZ1bmM6YG1hbGxvY2AsIDpjOmZ1bmM6YHJlYWxsb2NgIGFuZCA6YzpmdW5jOmBmcmVlYDsgY2FsbCBgYG1hbGxvYygxKWBgIHdoZW4KLXJlcXVlc3RpbmcgemVybyBieXRlcy4KKzpjOmZ1bmM6YG1hbGxvY2AsIDpjOmZ1bmM6YGNhbGxvY2AsIDpjOmZ1bmM6YHJlYWxsb2NgIGFuZCA6YzpmdW5jOmBmcmVlYDsgY2FsbAorYGBtYWxsb2MoMSlgYCAob3IgYGBjYWxsb2MoMSwgMSlgYCkgd2hlbiByZXF1ZXN0aW5nIHplcm8gYnl0ZXMuCiAKIC4uIHdhcm5pbmc6OgogCkBAIC0xNTIsNiArMTYzLDE3IEBACiAgICBiZWVuIGNhbGxlZCBpbnN0ZWFkLiBUaGUgbWVtb3J5IHdpbGwgbm90IGhhdmUgYmVlbiBpbml0aWFsaXplZCBpbiBhbnkgd2F5LgogCiAKKy4uIGM6ZnVuY3Rpb246OiB2b2lkKiBQeU1lbV9DYWxsb2Moc2l6ZV90IG5lbGVtLCBzaXplX3QgZWxzaXplKQorCisgICBBbGxvY2F0ZXMgKm5lbGVtKiBlbGVtZW50cyBlYWNoIHdob3NlIHNpemUgaW4gYnl0ZXMgaXMgKmVsc2l6ZSogYW5kIHJldHVybnMKKyAgIGEgcG9pbnRlciBvZiB0eXBlIDpjOnR5cGU6YHZvaWRcKmAgdG8gdGhlIGFsbG9jYXRlZCBtZW1vcnksIG9yICpOVUxMKiBpZiB0aGUKKyAgIHJlcXVlc3QgZmFpbHMuIFRoZSBtZW1vcnkgaXMgaW5pdGlhbGl6ZWQgdG8gemVyb3MuIFJlcXVlc3RpbmcgemVybyBlbGVtZW50cworICAgb3IgZWxlbWVudHMgb2Ygc2l6ZSB6ZXJvIGJ5dGVzIHJldHVybnMgYSBkaXN0aW5jdCBub24tKk5VTEwqIHBvaW50ZXIgaWYKKyAgIHBvc3NpYmxlLCBhcyBpZiBgYFB5TWVtX0NhbGxvYygxLCAxKWBgIGhhZCBiZWVuIGNhbGxlZCBpbnN0ZWFkLgorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjUKKworCiAuLiBjOmZ1bmN0aW9uOjogdm9pZCogUHlNZW1fUmVhbGxvYyh2b2lkICpwLCBzaXplX3QgbikKIAogICAgUmVzaXplcyB0aGUgbWVtb3J5IGJsb2NrIHBvaW50ZWQgdG8gYnkgKnAqIHRvICpuKiBieXRlcy4gVGhlIGNvbnRlbnRzIHdpbGwgYmUKQEAgLTIxMCw3ICsyMzIsNyBAQAogCiAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjQKIAotLi4gYzp0eXBlOjogUHlNZW1BbGxvY2F0b3IKKy4uIGM6dHlwZTo6IFB5TWVtQWxsb2NhdG9yRXgKIAogICAgU3RydWN0dXJlIHVzZWQgdG8gZGVzY3JpYmUgYSBtZW1vcnkgYmxvY2sgYWxsb2NhdG9yLiBUaGUgc3RydWN0dXJlIGhhcwogICAgZm91ciBmaWVsZHM6CkBAIC0yMjIsMTEgKzI0NCwxOSBAQAogICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwogICAgfCBgYHZvaWQqIG1hbGxvYyh2b2lkICpjdHgsIHNpemVfdCBzaXplKWBgICAgICAgICAgICAgICAgICB8IGFsbG9jYXRlIGEgbWVtb3J5IGJsb2NrICAgICAgICAgICAgICAgfAogICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworICAgfCBgYHZvaWQqIGNhbGxvYyh2b2lkICpjdHgsIHNpemVfdCBuZWxlbSwgc2l6ZV90IGVsc2l6ZSlgYCB8IGFsbG9jYXRlIGEgbWVtb3J5IGJsb2NrIGluaXRpYWxpemVkICAgfAorICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IHdpdGggemVyb3MgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwogICAgfCBgYHZvaWQqIHJlYWxsb2Modm9pZCAqY3R4LCB2b2lkICpwdHIsIHNpemVfdCBuZXdfc2l6ZSlgYCB8IGFsbG9jYXRlIG9yIHJlc2l6ZSBhIG1lbW9yeSBibG9jayAgICAgfAogICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwogICAgfCBgYHZvaWQgZnJlZSh2b2lkICpjdHgsIHZvaWQgKnB0cilgYCAgICAgICAgICAgICAgICAgICAgICB8IGZyZWUgYSBtZW1vcnkgYmxvY2sgICAgICAgICAgICAgICAgICAgfAogICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwogCisgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuNQorICAgICAgVGhlIDpjOnR5cGU6YFB5TWVtQWxsb2NhdG9yYCBzdHJ1Y3R1cmUgd2FzIHJlbmFtZWQgdG8KKyAgICAgIDpjOnR5cGU6YFB5TWVtQWxsb2NhdG9yRXhgIGFuZCBhIG5ldyBgYGNhbGxvY2BgIGZpZWxkIHdhcyBhZGRlZC4KKworCiAuLiBjOnR5cGU6OiBQeU1lbUFsbG9jYXRvckRvbWFpbgogCiAgICBFbnVtIHVzZWQgdG8gaWRlbnRpZnkgYW4gYWxsb2NhdG9yIGRvbWFpbi4gRG9tYWluczoKQEAgLTIzOSwxMiArMjY5LDEyIEBACiAgICAgIDpjOmZ1bmM6YFB5T2JqZWN0X1JlYWxsb2NgIGFuZCA6YzpmdW5jOmBQeU9iamVjdF9GcmVlYAogCiAKLS4uIGM6ZnVuY3Rpb246OiB2b2lkIFB5TWVtX0dldEFsbG9jYXRvcihQeU1lbUFsbG9jYXRvckRvbWFpbiBkb21haW4sIFB5TWVtQWxsb2NhdG9yICphbGxvY2F0b3IpCisuLiBjOmZ1bmN0aW9uOjogdm9pZCBQeU1lbV9HZXRBbGxvY2F0b3IoUHlNZW1BbGxvY2F0b3JEb21haW4gZG9tYWluLCBQeU1lbUFsbG9jYXRvckV4ICphbGxvY2F0b3IpCiAKICAgIEdldCB0aGUgbWVtb3J5IGJsb2NrIGFsbG9jYXRvciBvZiB0aGUgc3BlY2lmaWVkIGRvbWFpbi4KIAogCi0uLiBjOmZ1bmN0aW9uOjogdm9pZCBQeU1lbV9TZXRBbGxvY2F0b3IoUHlNZW1BbGxvY2F0b3JEb21haW4gZG9tYWluLCBQeU1lbUFsbG9jYXRvciAqYWxsb2NhdG9yKQorLi4gYzpmdW5jdGlvbjo6IHZvaWQgUHlNZW1fU2V0QWxsb2NhdG9yKFB5TWVtQWxsb2NhdG9yRG9tYWluIGRvbWFpbiwgUHlNZW1BbGxvY2F0b3JFeCAqYWxsb2NhdG9yKQogCiAgICBTZXQgdGhlIG1lbW9yeSBibG9jayBhbGxvY2F0b3Igb2YgdGhlIHNwZWNpZmllZCBkb21haW4uCiAKZGlmZiAtLWdpdCBhL0RvYy9jLWFwaS9udW1iZXIucnN0IGIvRG9jL2MtYXBpL251bWJlci5yc3QKaW5kZXggMjE5NTFjMy4uOWJjYjY0OSAxMDA2NDQKLS0tIGEvRG9jL2MtYXBpL251bWJlci5yc3QKKysrIGIvRG9jL2MtYXBpL251bWJlci5yc3QKQEAgLTMwLDYgKzMwLDE0IEBACiAgICB0aGUgZXF1aXZhbGVudCBvZiB0aGUgUHl0aG9uIGV4cHJlc3Npb24gYGBvMSAqIG8yYGAuCiAKIAorLi4gYzpmdW5jdGlvbjo6IFB5T2JqZWN0KiBQeU51bWJlcl9NYXRyaXhNdWx0aXBseShQeU9iamVjdCAqbzEsIFB5T2JqZWN0ICpvMikKKworICAgUmV0dXJucyB0aGUgcmVzdWx0IG9mIG1hdHJpeCBtdWx0aXBsaWNhdGlvbiBvbiAqbzEqIGFuZCAqbzIqLCBvciAqTlVMTCogb24KKyAgIGZhaWx1cmUuICBUaGlzIGlzIHRoZSBlcXVpdmFsZW50IG9mIHRoZSBQeXRob24gZXhwcmVzc2lvbiBgYG8xIEAgbzJgYC4KKworICAgLi4gdmVyc2lvbmFkZGVkOjogMy41CisKKwogLi4gYzpmdW5jdGlvbjo6IFB5T2JqZWN0KiBQeU51bWJlcl9GbG9vckRpdmlkZShQeU9iamVjdCAqbzEsIFB5T2JqZWN0ICpvMikKIAogICAgUmV0dXJuIHRoZSBmbG9vciBvZiAqbzEqIGRpdmlkZWQgYnkgKm8yKiwgb3IgKk5VTEwqIG9uIGZhaWx1cmUuICBUaGlzIGlzCkBAIC0xNDYsNiArMTU0LDE1IEBACiAgICB0aGUgUHl0aG9uIHN0YXRlbWVudCBgYG8xICo9IG8yYGAuCiAKIAorLi4gYzpmdW5jdGlvbjo6IFB5T2JqZWN0KiBQeU51bWJlcl9JblBsYWNlTWF0cml4TXVsdGlwbHkoUHlPYmplY3QgKm8xLCBQeU9iamVjdCAqbzIpCisKKyAgIFJldHVybnMgdGhlIHJlc3VsdCBvZiBtYXRyaXggbXVsdGlwbGljYXRpb24gb24gKm8xKiBhbmQgKm8yKiwgb3IgKk5VTEwqIG9uCisgICBmYWlsdXJlLiAgVGhlIG9wZXJhdGlvbiBpcyBkb25lICppbi1wbGFjZSogd2hlbiAqbzEqIHN1cHBvcnRzIGl0LiAgVGhpcyBpcworICAgdGhlIGVxdWl2YWxlbnQgb2YgdGhlIFB5dGhvbiBzdGF0ZW1lbnQgYGBvMSBAPSBvMmBgLgorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjUKKworCiAuLiBjOmZ1bmN0aW9uOjogUHlPYmplY3QqIFB5TnVtYmVyX0luUGxhY2VGbG9vckRpdmlkZShQeU9iamVjdCAqbzEsIFB5T2JqZWN0ICpvMikKIAogICAgUmV0dXJucyB0aGUgbWF0aGVtYXRpY2FsIGZsb29yIG9mIGRpdmlkaW5nICpvMSogYnkgKm8yKiwgb3IgKk5VTEwqIG9uIGZhaWx1cmUuCmRpZmYgLS1naXQgYS9Eb2MvYy1hcGkvc3lzLnJzdCBiL0RvYy9jLWFwaS9zeXMucnN0CmluZGV4IDk3NjBkY2EuLmE2YTkzOWMgMTAwNjQ0Ci0tLSBhL0RvYy9jLWFwaS9zeXMucnN0CisrKyBiL0RvYy9jLWFwaS9zeXMucnN0CkBAIC00Nyw2ICs0Nyw2MCBAQAogICAgbm90IGNhbGwgdGhvc2UgZnVuY3Rpb25zIGRpcmVjdGx5ISAgOmM6dHlwZTpgUHlPU19zaWdoYW5kbGVyX3RgIGlzIGEgdHlwZWRlZgogICAgYWxpYXMgZm9yIDpjOnR5cGU6YHZvaWQgKFwqKShpbnQpYC4KIAorLi4gYzpmdW5jdGlvbjo6IHdjaGFyX3QqIFB5X0RlY29kZUxvY2FsZShjb25zdCBjaGFyKiBhcmcsIHNpemVfdCAqc2l6ZSkKKworICAgRGVjb2RlIGEgYnl0ZSBzdHJpbmcgZnJvbSB0aGUgbG9jYWxlIGVuY29kaW5nIHdpdGggdGhlIDpyZWY6YHN1cnJvZ2F0ZWVzY2FwZQorICAgZXJyb3IgaGFuZGxlciA8c3Vycm9nYXRlZXNjYXBlPmA6IHVuZGVjb2RhYmxlIGJ5dGVzIGFyZSBkZWNvZGVkIGFzCisgICBjaGFyYWN0ZXJzIGluIHJhbmdlIFUrREM4MC4uVStEQ0ZGLiBJZiBhIGJ5dGUgc2VxdWVuY2UgY2FuIGJlIGRlY29kZWQgYXMgYQorICAgc3Vycm9nYXRlIGNoYXJhY3RlciwgZXNjYXBlIHRoZSBieXRlcyB1c2luZyB0aGUgc3Vycm9nYXRlZXNjYXBlIGVycm9yCisgICBoYW5kbGVyIGluc3RlYWQgb2YgZGVjb2RpbmcgdGhlbS4KKworICAgUmV0dXJuIGEgcG9pbnRlciB0byBhIG5ld2x5IGFsbG9jYXRlZCB3aWRlIGNoYXJhY3RlciBzdHJpbmcsIHVzZQorICAgOmM6ZnVuYzpgUHlNZW1fUmF3RnJlZWAgdG8gZnJlZSB0aGUgbWVtb3J5LiBJZiBzaXplIGlzIG5vdCBgYE5VTExgYCwgd3JpdGUKKyAgIHRoZSBudW1iZXIgb2Ygd2lkZSBjaGFyYWN0ZXJzIGV4Y2x1ZGluZyB0aGUgbnVsbCBjaGFyYWN0ZXIgaW50byBgYCpzaXplYGAKKworICAgUmV0dXJuIGBgTlVMTGBgIG9uIGRlY29kaW5nIGVycm9yIG9yIG1lbW9yeSBhbGxvY2F0aW9uIGVycm9yLiBJZiAqc2l6ZSogaXMKKyAgIG5vdCBgYE5VTExgYCwgYGAqc2l6ZWBgIGlzIHNldCB0byBgYChzaXplX3QpLTFgYCBvbiBtZW1vcnkgZXJyb3Igb3Igc2V0IHRvCisgICBgYChzaXplX3QpLTJgYCBvbiBkZWNvZGluZyBlcnJvci4KKworICAgRGVjb2RpbmcgZXJyb3JzIHNob3VsZCBuZXZlciBoYXBwZW4sIHVubGVzcyB0aGVyZSBpcyBhIGJ1ZyBpbiB0aGUgQworICAgbGlicmFyeS4KKworICAgVXNlIHRoZSA6YzpmdW5jOmBQeV9FbmNvZGVMb2NhbGVgIGZ1bmN0aW9uIHRvIGVuY29kZSB0aGUgY2hhcmFjdGVyIHN0cmluZworICAgYmFjayB0byBhIGJ5dGUgc3RyaW5nLgorCisgICAuLiBzZWVhbHNvOjoKKworICAgICAgVGhlIDpjOmZ1bmM6YFB5VW5pY29kZV9EZWNvZGVGU0RlZmF1bHRBbmRTaXplYCBhbmQKKyAgICAgIDpjOmZ1bmM6YFB5VW5pY29kZV9EZWNvZGVMb2NhbGVBbmRTaXplYCBmdW5jdGlvbnMuCisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuNQorCisKKy4uIGM6ZnVuY3Rpb246OiBjaGFyKiBQeV9FbmNvZGVMb2NhbGUoY29uc3Qgd2NoYXJfdCAqdGV4dCwgc2l6ZV90ICplcnJvcl9wb3MpCisKKyAgIEVuY29kZSBhIHdpZGUgY2hhcmFjdGVyIHN0cmluZyB0byB0aGUgbG9jYWxlIGVuY29kaW5nIHdpdGggdGhlCisgICA6cmVmOmBzdXJyb2dhdGVlc2NhcGUgZXJyb3IgaGFuZGxlciA8c3Vycm9nYXRlZXNjYXBlPmA6IHN1cnJvZ2F0ZSBjaGFyYWN0ZXJzCisgICBpbiB0aGUgcmFuZ2UgVStEQzgwLi5VK0RDRkYgYXJlIGNvbnZlcnRlZCB0byBieXRlcyAweDgwLi4weEZGLgorCisgICBSZXR1cm4gYSBwb2ludGVyIHRvIGEgbmV3bHkgYWxsb2NhdGVkIGJ5dGUgc3RyaW5nLCB1c2UgOmM6ZnVuYzpgUHlNZW1fRnJlZWAKKyAgIHRvIGZyZWUgdGhlIG1lbW9yeS4gUmV0dXJuIGBgTlVMTGBgIG9uIGVuY29kaW5nIGVycm9yIG9yIG1lbW9yeSBhbGxvY2F0aW9uCisgICBlcnJvcgorCisgICBJZiBlcnJvcl9wb3MgaXMgbm90IGBgTlVMTGBgLCBgYCplcnJvcl9wb3NgYCBpcyBzZXQgdG8gdGhlIGluZGV4IG9mIHRoZQorICAgaW52YWxpZCBjaGFyYWN0ZXIgb24gZW5jb2RpbmcgZXJyb3IsIG9yIHNldCB0byBgYChzaXplX3QpLTFgYCBvdGhlcndpc2UuCisKKyAgIFVzZSB0aGUgOmM6ZnVuYzpgUHlfRGVjb2RlTG9jYWxlYCBmdW5jdGlvbiB0byBkZWNvZGUgdGhlIGJ5dGVzIHN0cmluZyBiYWNrCisgICB0byBhIHdpZGUgY2hhcmFjdGVyIHN0cmluZy4KKworICAgLi4gc2VlYWxzbzo6CisKKyAgICAgIFRoZSA6YzpmdW5jOmBQeVVuaWNvZGVfRW5jb2RlRlNEZWZhdWx0YCBhbmQKKyAgICAgIDpjOmZ1bmM6YFB5VW5pY29kZV9FbmNvZGVMb2NhbGVgIGZ1bmN0aW9ucy4KKworICAgLi4gdmVyc2lvbmFkZGVkOjogMy41CisKKwogLi4gX3N5c3RlbWZ1bmN0aW9uczoKIAogU3lzdGVtIEZ1bmN0aW9ucwpkaWZmIC0tZ2l0IGEvRG9jL2MtYXBpL3R5cGVvYmoucnN0IGIvRG9jL2MtYXBpL3R5cGVvYmoucnN0CmluZGV4IGI0MzYyMmEuLmViNjM3MDUgMTAwNjQ0Ci0tLSBhL0RvYy9jLWFwaS90eXBlb2JqLnJzdAorKysgYi9Eb2MvYy1hcGkvdHlwZW9iai5yc3QKQEAgLTExMTgsNiArMTExOCw5IEBACiAgICAgICAgICAgICBiaW5hcnlmdW5jIG5iX2lucGxhY2VfdHJ1ZV9kaXZpZGU7CiAKICAgICAgICAgICAgIHVuYXJ5ZnVuYyBuYl9pbmRleDsKKworICAgICAgICAgICAgYmluYXJ5ZnVuYyBuYl9tYXRyaXhfbXVsdGlwbHk7CisgICAgICAgICAgICBiaW5hcnlmdW5jIG5iX2lucGxhY2VfbWF0cml4X211bHRpcGx5OwogICAgICAgIH0gUHlOdW1iZXJNZXRob2RzOwogCiAgICAuLiBub3RlOjoKZGlmZiAtLWdpdCBhL0RvYy9jLWFwaS91bmljb2RlLnJzdCBiL0RvYy9jLWFwaS91bmljb2RlLnJzdAppbmRleCAwM2MyODRhLi4wMDA2M2QwIDEwMDY0NAotLS0gYS9Eb2MvYy1hcGkvdW5pY29kZS5yc3QKKysrIGIvRG9jL2MtYXBpL3VuaWNvZGUucnN0CkBAIC03NTksMTEgKzc1OSwxMyBAQAogICAgKmVycm9ycyogaXMgYGBOVUxMYGAuICAqc3RyKiBtdXN0IGVuZCB3aXRoIGEgbnVsbCBjaGFyYWN0ZXIgYnV0CiAgICBjYW5ub3QgY29udGFpbiBlbWJlZGRlZCBudWxsIGNoYXJhY3RlcnMuCiAKKyAgIFVzZSA6YzpmdW5jOmBQeVVuaWNvZGVfRGVjb2RlRlNEZWZhdWx0QW5kU2l6ZWAgdG8gZGVjb2RlIGEgc3RyaW5nIGZyb20KKyAgIDpjOmRhdGE6YFB5X0ZpbGVTeXN0ZW1EZWZhdWx0RW5jb2RpbmdgICh0aGUgbG9jYWxlIGVuY29kaW5nIHJlYWQgYXQKKyAgIFB5dGhvbiBzdGFydHVwKS4KKwogICAgLi4gc2VlYWxzbzo6CiAKLSAgICAgIFVzZSA6YzpmdW5jOmBQeVVuaWNvZGVfRGVjb2RlRlNEZWZhdWx0QW5kU2l6ZWAgdG8gZGVjb2RlIGEgc3RyaW5nIGZyb20KLSAgICAgIDpjOmRhdGE6YFB5X0ZpbGVTeXN0ZW1EZWZhdWx0RW5jb2RpbmdgICh0aGUgbG9jYWxlIGVuY29kaW5nIHJlYWQgYXQKLSAgICAgIFB5dGhvbiBzdGFydHVwKS4KKyAgICAgIFRoZSA6YzpmdW5jOmBQeV9EZWNvZGVMb2NhbGVgIGZ1bmN0aW9uLgogCiAgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjMKIApAQCAtNzg0LDExICs3ODYsMTMgQEAKICAgICplcnJvcnMqIGlzIGBgTlVMTGBgLiBSZXR1cm4gYSA6Y2xhc3M6YGJ5dGVzYCBvYmplY3QuICpzdHIqIGNhbm5vdAogICAgY29udGFpbiBlbWJlZGRlZCBudWxsIGNoYXJhY3RlcnMuCiAKKyAgIFVzZSA6YzpmdW5jOmBQeVVuaWNvZGVfRW5jb2RlRlNEZWZhdWx0YCB0byBlbmNvZGUgYSBzdHJpbmcgdG8KKyAgIDpjOmRhdGE6YFB5X0ZpbGVTeXN0ZW1EZWZhdWx0RW5jb2RpbmdgICh0aGUgbG9jYWxlIGVuY29kaW5nIHJlYWQgYXQKKyAgIFB5dGhvbiBzdGFydHVwKS4KKwogICAgLi4gc2VlYWxzbzo6CiAKLSAgICAgIFVzZSA6YzpmdW5jOmBQeVVuaWNvZGVfRW5jb2RlRlNEZWZhdWx0YCB0byBlbmNvZGUgYSBzdHJpbmcgdG8KLSAgICAgIDpjOmRhdGE6YFB5X0ZpbGVTeXN0ZW1EZWZhdWx0RW5jb2RpbmdgICh0aGUgbG9jYWxlIGVuY29kaW5nIHJlYWQgYXQKLSAgICAgIFB5dGhvbiBzdGFydHVwKS4KKyAgICAgIFRoZSA6YzpmdW5jOmBQeV9FbmNvZGVMb2NhbGVgIGZ1bmN0aW9uLgogCiAgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjMKIApAQCAtODMzLDEyICs4MzcsMTQgQEAKICAgIElmIDpjOmRhdGE6YFB5X0ZpbGVTeXN0ZW1EZWZhdWx0RW5jb2RpbmdgIGlzIG5vdCBzZXQsIGZhbGwgYmFjayB0byB0aGUKICAgIGxvY2FsZSBlbmNvZGluZy4KIAorICAgOmM6ZGF0YTpgUHlfRmlsZVN5c3RlbURlZmF1bHRFbmNvZGluZ2AgaXMgaW5pdGlhbGl6ZWQgYXQgc3RhcnR1cCBmcm9tIHRoZQorICAgbG9jYWxlIGVuY29kaW5nIGFuZCBjYW5ub3QgYmUgbW9kaWZpZWQgbGF0ZXIuIElmIHlvdSBuZWVkIHRvIGRlY29kZSBhIHN0cmluZworICAgZnJvbSB0aGUgY3VycmVudCBsb2NhbGUgZW5jb2RpbmcsIHVzZQorICAgOmM6ZnVuYzpgUHlVbmljb2RlX0RlY29kZUxvY2FsZUFuZFNpemVgLgorCiAgICAuLiBzZWVhbHNvOjoKIAotICAgICAgOmM6ZGF0YTpgUHlfRmlsZVN5c3RlbURlZmF1bHRFbmNvZGluZ2AgaXMgaW5pdGlhbGl6ZWQgYXQgc3RhcnR1cCBmcm9tIHRoZQotICAgICAgbG9jYWxlIGVuY29kaW5nIGFuZCBjYW5ub3QgYmUgbW9kaWZpZWQgbGF0ZXIuIElmIHlvdSBuZWVkIHRvIGRlY29kZSBhCi0gICAgICBzdHJpbmcgZnJvbSB0aGUgY3VycmVudCBsb2NhbGUgZW5jb2RpbmcsIHVzZQotICAgICAgOmM6ZnVuYzpgUHlVbmljb2RlX0RlY29kZUxvY2FsZUFuZFNpemVgLgorICAgICAgVGhlIDpjOmZ1bmM6YFB5X0RlY29kZUxvY2FsZWAgZnVuY3Rpb24uCiAKICAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy4yCiAgICAgICBVc2UgYGAic3RyaWN0ImBgIGVycm9yIGhhbmRsZXIgb24gV2luZG93cy4KQEAgLTg2OCwxMiArODc0LDEzIEBACiAgICBJZiA6YzpkYXRhOmBQeV9GaWxlU3lzdGVtRGVmYXVsdEVuY29kaW5nYCBpcyBub3Qgc2V0LCBmYWxsIGJhY2sgdG8gdGhlCiAgICBsb2NhbGUgZW5jb2RpbmcuCiAKKyAgIDpjOmRhdGE6YFB5X0ZpbGVTeXN0ZW1EZWZhdWx0RW5jb2RpbmdgIGlzIGluaXRpYWxpemVkIGF0IHN0YXJ0dXAgZnJvbSB0aGUKKyAgIGxvY2FsZSBlbmNvZGluZyBhbmQgY2Fubm90IGJlIG1vZGlmaWVkIGxhdGVyLiBJZiB5b3UgbmVlZCB0byBlbmNvZGUgYSBzdHJpbmcKKyAgIHRvIHRoZSBjdXJyZW50IGxvY2FsZSBlbmNvZGluZywgdXNlIDpjOmZ1bmM6YFB5VW5pY29kZV9FbmNvZGVMb2NhbGVgLgorCiAgICAuLiBzZWVhbHNvOjoKIAotICAgICAgOmM6ZGF0YTpgUHlfRmlsZVN5c3RlbURlZmF1bHRFbmNvZGluZ2AgaXMgaW5pdGlhbGl6ZWQgYXQgc3RhcnR1cCBmcm9tIHRoZQotICAgICAgbG9jYWxlIGVuY29kaW5nIGFuZCBjYW5ub3QgYmUgbW9kaWZpZWQgbGF0ZXIuIElmIHlvdSBuZWVkIHRvIGVuY29kZSBhCi0gICAgICBzdHJpbmcgdG8gdGhlIGN1cnJlbnQgbG9jYWxlIGVuY29kaW5nLCB1c2UKLSAgICAgIDpjOmZ1bmM6YFB5VW5pY29kZV9FbmNvZGVMb2NhbGVgLgorICAgICAgVGhlIDpjOmZ1bmM6YFB5X0VuY29kZUxvY2FsZWAgZnVuY3Rpb24uCiAKICAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMgogCmRpZmYgLS1naXQgYS9Eb2MvZGF0YS9yZWZjb3VudHMuZGF0IGIvRG9jL2RhdGEvcmVmY291bnRzLmRhdAppbmRleCA2MDI1NjE3Li5kMWMyNGU1IDEwMDY0NAotLS0gYS9Eb2MvZGF0YS9yZWZjb3VudHMuZGF0CisrKyBiL0RvYy9kYXRhL3JlZmNvdW50cy5kYXQKQEAgLTM0OSw2ICszNDksMTEgQEAKIFB5RXJyX0Zvcm1hdDpjb25zdCBjaGFyKjpmb3JtYXQ6OgogUHlFcnJfRm9ybWF0OjouLi46OgogCitQeUVycl9Gb3JtYXRWOlB5T2JqZWN0Kjo6bnVsbDoKK1B5RXJyX0Zvcm1hdFY6UHlPYmplY3QqOmV4Y2VwdGlvbjorMToKK1B5RXJyX0Zvcm1hdFY6Y29uc3QgY2hhcio6Zm9ybWF0OjoKK1B5RXJyX0Zvcm1hdFY6dmFfbGlzdDp2YXJnczo6CisKIFB5RXJyX1dhcm5FeDppbnQ6OjoKIFB5RXJyX1dhcm5FeDpQeU9iamVjdCo6Y2F0ZWdvcnk6MDoKIFB5RXJyX1dhcm5FeDpjb25zdCBjaGFyKjptZXNzYWdlOjoKZGlmZiAtLWdpdCBhL0RvYy9kaXN0dXRpbHMvYXBpcmVmLnJzdCBiL0RvYy9kaXN0dXRpbHMvYXBpcmVmLnJzdAppbmRleCA4MmJlZDI0Li41M2Q3NTI3IDEwMDY0NAotLS0gYS9Eb2MvZGlzdHV0aWxzL2FwaXJlZi5yc3QKKysrIGIvRG9jL2Rpc3R1dGlscy9hcGlyZWYucnN0CkBAIC0xMDk5LDEzICsxMDk5LDEzIEBACiAgICBkdXJpbmcgdGhlIGJ1aWxkIG9mIFB5dGhvbiksIG5vdCB0aGUgT1MgdmVyc2lvbiBvZiB0aGUgY3VycmVudCBzeXN0ZW0uCiAKICAgIEZvciB1bml2ZXJzYWwgYmluYXJ5IGJ1aWxkcyBvbiBNYWMgT1MgWCB0aGUgYXJjaGl0ZWN0dXJlIHZhbHVlIHJlZmxlY3RzCi0gICB0aGUgdW5pdmVyYWwgYmluYXJ5IHN0YXR1cyBpbnN0ZWFkIG9mIHRoZSBhcmNoaXRlY3R1cmUgb2YgdGhlIGN1cnJlbnQKKyAgIHRoZSB1bml2ZXJzYWwgYmluYXJ5IHN0YXR1cyBpbnN0ZWFkIG9mIHRoZSBhcmNoaXRlY3R1cmUgb2YgdGhlIGN1cnJlbnQKICAgIHByb2Nlc3Nvci4gRm9yIDMyLWJpdCB1bml2ZXJzYWwgYmluYXJpZXMgdGhlIGFyY2hpdGVjdHVyZSBpcyBgYGZhdGBgLAogICAgZm9yIDY0LWJpdCB1bml2ZXJzYWwgYmluYXJpZXMgdGhlIGFyY2hpdGVjdHVyZSBpcyBgYGZhdDY0YGAsIGFuZAogICAgZm9yIDQtd2F5IHVuaXZlcnNhbCBiaW5hcmllcyB0aGUgYXJjaGl0ZWN0dXJlIGlzIGBgdW5pdmVyc2FsYGAuIFN0YXJ0aW5nCiAgICBmcm9tIFB5dGhvbiAyLjcgYW5kIFB5dGhvbiAzLjIgdGhlIGFyY2hpdGVjdHVyZSBgYGZhdDNgYCBpcyB1c2VkIGZvcgogICAgYSAzLXdheSB1bml2ZXJzYWwgYnVpbGQgKHBwYywgaTM4NiwgeDg2XzY0KSBhbmQgYGBpbnRlbGBgIGlzIHVzZWQgZm9yCi0gICBhIHVuaXZlcmFsIGJ1aWxkIHdpdGggdGhlIGkzODYgYW5kIHg4Nl82NCBhcmNoaXRlY3R1cmVzCisgICBhIHVuaXZlcnNhbCBidWlsZCB3aXRoIHRoZSBpMzg2IGFuZCB4ODZfNjQgYXJjaGl0ZWN0dXJlcwogCiAgICBFeGFtcGxlcyBvZiByZXR1cm5lZCB2YWx1ZXMgb24gTWFjIE9TIFg6CiAKZGlmZiAtLWdpdCBhL0RvYy9kaXN0dXRpbHMvYnVpbHRkaXN0LnJzdCBiL0RvYy9kaXN0dXRpbHMvYnVpbHRkaXN0LnJzdAppbmRleCBhYzk2YzQwLi5jNTgyN2I2IDEwMDY0NAotLS0gYS9Eb2MvZGlzdHV0aWxzL2J1aWx0ZGlzdC5yc3QKKysrIGIvRG9jL2Rpc3R1dGlscy9idWlsdGRpc3QucnN0CkBAIC0zNTUsNyArMzU1LDcgQEAKIHdvdWxkIGNyZWF0ZSBhIDY0Yml0IGluc3RhbGxhdGlvbiBleGVjdXRhYmxlIG9uIHlvdXIgMzJiaXQgdmVyc2lvbiBvZiBXaW5kb3dzLgogCiBUbyBjcm9zcy1jb21waWxlLCB5b3UgbXVzdCBkb3dubG9hZCB0aGUgUHl0aG9uIHNvdXJjZSBjb2RlIGFuZCBjcm9zcy1jb21waWxlCi1QeXRob24gaXRzZWxmIGZvciB0aGUgcGxhdGZvcm0geW91IGFyZSB0YXJnZXR0aW5nIC0gaXQgaXMgbm90IHBvc3NpYmxlIGZyb20gYQorUHl0aG9uIGl0c2VsZiBmb3IgdGhlIHBsYXRmb3JtIHlvdSBhcmUgdGFyZ2V0aW5nIC0gaXQgaXMgbm90IHBvc3NpYmxlIGZyb20gYQogYmluYXJ5IGluc3RhbGxhdGlvbiBvZiBQeXRob24gKGFzIHRoZSAubGliIGV0YyBmaWxlIGZvciBvdGhlciBwbGF0Zm9ybXMgYXJlCiBub3QgaW5jbHVkZWQuKSAgSW4gcHJhY3RpY2UsIHRoaXMgbWVhbnMgdGhlIHVzZXIgb2YgYSAzMiBiaXQgb3BlcmF0aW5nCiBzeXN0ZW0gd2lsbCBuZWVkIHRvIHVzZSBWaXN1YWwgU3R1ZGlvIDIwMDggdG8gb3BlbiB0aGUKZGlmZiAtLWdpdCBhL0RvYy9leHRlbmRpbmcvZW1iZWRkaW5nLnJzdCBiL0RvYy9leHRlbmRpbmcvZW1iZWRkaW5nLnJzdAppbmRleCA2Y2I2ODZhLi5hY2Q2MGFlIDEwMDY0NAotLS0gYS9Eb2MvZXh0ZW5kaW5nL2VtYmVkZGluZy5yc3QKKysrIGIvRG9jL2V4dGVuZGluZy9lbWJlZGRpbmcucnN0CkBAIC01OCwxMiArNTgsMTggQEAKICAgIGludAogICAgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQogICAgewotICAgICBQeV9TZXRQcm9ncmFtTmFtZShhcmd2WzBdKTsgIC8qIG9wdGlvbmFsIGJ1dCByZWNvbW1lbmRlZCAqLwotICAgICBQeV9Jbml0aWFsaXplKCk7Ci0gICAgIFB5UnVuX1NpbXBsZVN0cmluZygiZnJvbSB0aW1lIGltcG9ydCB0aW1lLGN0aW1lXG4iCi0gICAgICAgICAgICAgICAgICAgICAgICAicHJpbnQoJ1RvZGF5IGlzJywgY3RpbWUodGltZSgpKSlcbiIpOwotICAgICBQeV9GaW5hbGl6ZSgpOwotICAgICByZXR1cm4gMDsKKyAgICAgICB3Y2hhcl90ICpwcm9ncmFtID0gUHlfRGVjb2RlTG9jYWxlKGFyZ3ZbMF0sIE5VTEwpOworICAgICAgIGlmIChwcm9ncmFtID09IE5VTEwpIHsKKyAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICJGYXRhbCBlcnJvcjogY2Fubm90IGRlY29kZSBhcmd2WzBdXG4iKTsKKyAgICAgICAgICAgZXhpdCgxKTsKKyAgICAgICB9CisgICAgICAgUHlfU2V0UHJvZ3JhbU5hbWUocHJvZ3JhbSk7ICAvKiBvcHRpb25hbCBidXQgcmVjb21tZW5kZWQgKi8KKyAgICAgICBQeV9Jbml0aWFsaXplKCk7CisgICAgICAgUHlSdW5fU2ltcGxlU3RyaW5nKCJmcm9tIHRpbWUgaW1wb3J0IHRpbWUsY3RpbWVcbiIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgInByaW50KCdUb2RheSBpcycsIGN0aW1lKHRpbWUoKSkpXG4iKTsKKyAgICAgICBQeV9GaW5hbGl6ZSgpOworICAgICAgIFB5TWVtX1Jhd0ZyZWUocHJvZ3JhbSk7CisgICAgICAgcmV0dXJuIDA7CiAgICB9CiAKIFRoZSA6YzpmdW5jOmBQeV9TZXRQcm9ncmFtTmFtZWAgZnVuY3Rpb24gc2hvdWxkIGJlIGNhbGxlZCBiZWZvcmUKQEAgLTE2MCw3ICsxNjYsNyBAQAogaW50ZXJlc3RpbmcgcGFydCB3aXRoIHJlc3BlY3QgdG8gZW1iZWRkaW5nIFB5dGhvbiBzdGFydHMgd2l0aCA6OgogCiAgICBQeV9Jbml0aWFsaXplKCk7Ci0gICBwTmFtZSA9IFB5VW5pY29kZV9Gcm9tU3RyaW5nKGFyZ3ZbMV0pOworICAgcE5hbWUgPSBQeVVuaWNvZGVfRGVjb2RlRlNEZWZhdWx0KGFyZ3ZbMV0pOwogICAgLyogRXJyb3IgY2hlY2tpbmcgb2YgcE5hbWUgbGVmdCBvdXQgKi8KICAgIHBNb2R1bGUgPSBQeUltcG9ydF9JbXBvcnQocE5hbWUpOwogCmRpZmYgLS1naXQgYS9Eb2MvZXh0ZW5kaW5nL2V4dGVuZGluZy5yc3QgYi9Eb2MvZXh0ZW5kaW5nL2V4dGVuZGluZy5yc3QKaW5kZXggYzEwZWZhOS4uMTdjZmRlYiAxMDA2NDQKLS0tIGEvRG9jL2V4dGVuZGluZy9leHRlbmRpbmcucnN0CisrKyBiL0RvYy9leHRlbmRpbmcvZXh0ZW5kaW5nLnJzdApAQCAtMzc1LDExICszNzUsMTcgQEAKICAgIGludAogICAgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQogICAgeworICAgICAgIHdjaGFyX3QgKnByb2dyYW0gPSBQeV9EZWNvZGVMb2NhbGUoYXJndlswXSwgTlVMTCk7CisgICAgICAgaWYgKHByb2dyYW0gPT0gTlVMTCkgeworICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIkZhdGFsIGVycm9yOiBjYW5ub3QgZGVjb2RlIGFyZ3ZbMF1cbiIpOworICAgICAgICAgICBleGl0KDEpOworICAgICAgIH0KKwogICAgICAgIC8qIEFkZCBhIGJ1aWx0LWluIG1vZHVsZSwgYmVmb3JlIFB5X0luaXRpYWxpemUgKi8KICAgICAgICBQeUltcG9ydF9BcHBlbmRJbml0dGFiKCJzcGFtIiwgUHlJbml0X3NwYW0pOwogCiAgICAgICAgLyogUGFzcyBhcmd2WzBdIHRvIHRoZSBQeXRob24gaW50ZXJwcmV0ZXIgKi8KLSAgICAgICBQeV9TZXRQcm9ncmFtTmFtZShhcmd2WzBdKTsKKyAgICAgICBQeV9TZXRQcm9ncmFtTmFtZShwcm9ncmFtKTsKIAogICAgICAgIC8qIEluaXRpYWxpemUgdGhlIFB5dGhvbiBpbnRlcnByZXRlci4gIFJlcXVpcmVkLiAqLwogICAgICAgIFB5X0luaXRpYWxpemUoKTsKQEAgLTM5MSw2ICszOTcsMTAgQEAKIAogICAgICAgIC4uLgogCisgICAgICAgUHlNZW1fUmF3RnJlZShwcm9ncmFtKTsKKyAgICAgICByZXR1cm4gMDsKKyAgIH0KKwogLi4gbm90ZTo6CiAKICAgIFJlbW92aW5nIGVudHJpZXMgZnJvbSBgYHN5cy5tb2R1bGVzYGAgb3IgaW1wb3J0aW5nIGNvbXBpbGVkIG1vZHVsZXMgaW50bwpkaWZmIC0tZ2l0IGEvRG9jL2dsb3NzYXJ5LnJzdCBiL0RvYy9nbG9zc2FyeS5yc3QKaW5kZXggMWRlODZlZi4uNTc4ZmQxMSAxMDA2NDQKLS0tIGEvRG9jL2dsb3NzYXJ5LnJzdAorKysgYi9Eb2MvZ2xvc3NhcnkucnN0CkBAIC00MDIsNiArNDAyLDE5IEBACiAgICAgICB0aGFuIGNvbXBpbGVkIG9uZXMsIHRob3VnaCB0aGVpciBwcm9ncmFtcyBnZW5lcmFsbHkgYWxzbyBydW4gbW9yZQogICAgICAgc2xvd2x5LiAgU2VlIGFsc28gOnRlcm06YGludGVyYWN0aXZlYC4KIAorICAgaW50ZXJwcmV0ZXIgc2h1dGRvd24KKyAgICAgIFdoZW4gYXNrZWQgdG8gc2h1dCBkb3duLCB0aGUgUHl0aG9uIGludGVycHJldGVyIGVudGVycyBhIHNwZWNpYWwgcGhhc2UKKyAgICAgIHdoZXJlIGl0IGdyYWR1YWxseSByZWxlYXNlcyBhbGwgYWxsb2NhdGVkIHJlc291cmNlcywgc3VjaCBhcyBtb2R1bGVzCisgICAgICBhbmQgdmFyaW91cyBjcml0aWNhbCBpbnRlcm5hbCBzdHJ1Y3R1cmVzLiAgSXQgYWxzbyBtYWtlcyBzZXZlcmFsIGNhbGxzCisgICAgICB0byB0aGUgOnRlcm06YGdhcmJhZ2UgY29sbGVjdG9yIDxnYXJiYWdlIGNvbGxlY3Rpb24+YC4gVGhpcyBjYW4gdHJpZ2dlcgorICAgICAgdGhlIGV4ZWN1dGlvbiBvZiBjb2RlIGluIHVzZXItZGVmaW5lZCBkZXN0cnVjdG9ycyBvciB3ZWFrcmVmIGNhbGxiYWNrcy4KKyAgICAgIENvZGUgZXhlY3V0ZWQgZHVyaW5nIHRoZSBzaHV0ZG93biBwaGFzZSBjYW4gZW5jb3VudGVyIHZhcmlvdXMKKyAgICAgIGV4Y2VwdGlvbnMgYXMgdGhlIHJlc291cmNlcyBpdCByZWxpZXMgb24gbWF5IG5vdCBmdW5jdGlvbiBhbnltb3JlCisgICAgICAoY29tbW9uIGV4YW1wbGVzIGFyZSBsaWJyYXJ5IG1vZHVsZXMgb3IgdGhlIHdhcm5pbmdzIG1hY2hpbmVyeSkuCisKKyAgICAgIFRoZSBtYWluIHJlYXNvbiBmb3IgaW50ZXJwcmV0ZXIgc2h1dGRvd24gaXMgdGhhdCB0aGUgYGBfX21haW5fX2BgIG1vZHVsZQorICAgICAgb3IgdGhlIHNjcmlwdCBiZWluZyBydW4gaGFzIGZpbmlzaGVkIGV4ZWN1dGluZy4KKwogICAgaXRlcmFibGUKICAgICAgIEFuIG9iamVjdCBjYXBhYmxlIG9mIHJldHVybmluZyBpdHMgbWVtYmVycyBvbmUgYXQgYSB0aW1lLiBFeGFtcGxlcyBvZgogICAgICAgaXRlcmFibGVzIGluY2x1ZGUgYWxsIHNlcXVlbmNlIHR5cGVzIChzdWNoIGFzIDpjbGFzczpgbGlzdGAsIDpjbGFzczpgc3RyYCwKQEAgLTQ0NCwxMiArNDU3LDEzIEBACiAKICAgICAgIEEgbnVtYmVyIG9mIHRvb2xzIGluIFB5dGhvbiBhY2NlcHQga2V5IGZ1bmN0aW9ucyB0byBjb250cm9sIGhvdyBlbGVtZW50cwogICAgICAgYXJlIG9yZGVyZWQgb3IgZ3JvdXBlZC4gIFRoZXkgaW5jbHVkZSA6ZnVuYzpgbWluYCwgOmZ1bmM6YG1heGAsCi0gICAgICA6ZnVuYzpgc29ydGVkYCwgOm1ldGg6YGxpc3Quc29ydGAsIDpmdW5jOmBoZWFwcS5uc21hbGxlc3RgLAotICAgICAgOmZ1bmM6YGhlYXBxLm5sYXJnZXN0YCwgYW5kIDpmdW5jOmBpdGVydG9vbHMuZ3JvdXBieWAuCisgICAgICA6ZnVuYzpgc29ydGVkYCwgOm1ldGg6YGxpc3Quc29ydGAsIDpmdW5jOmBoZWFwcS5tZXJnZWAsCisgICAgICA6ZnVuYzpgaGVhcHEubnNtYWxsZXN0YCwgOmZ1bmM6YGhlYXBxLm5sYXJnZXN0YCwgYW5kCisgICAgICA6ZnVuYzpgaXRlcnRvb2xzLmdyb3VwYnlgLgogCiAgICAgICBUaGVyZSBhcmUgc2V2ZXJhbCB3YXlzIHRvIGNyZWF0ZSBhIGtleSBmdW5jdGlvbi4gIEZvciBleGFtcGxlLiB0aGUKICAgICAgIDptZXRoOmBzdHIubG93ZXJgIG1ldGhvZCBjYW4gc2VydmUgYXMgYSBrZXkgZnVuY3Rpb24gZm9yIGNhc2UgaW5zZW5zaXRpdmUKLSAgICAgIHNvcnRzLiAgQWx0ZXJuYXRpdmVseSwgYW4gYWQtaG9jIGtleSBmdW5jdGlvbiBjYW4gYmUgYnVpbHQgZnJvbSBhCisgICAgICBzb3J0cy4gIEFsdGVybmF0aXZlbHksIGEga2V5IGZ1bmN0aW9uIGNhbiBiZSBidWlsdCBmcm9tIGEKICAgICAgIDprZXl3b3JkOmBsYW1iZGFgIGV4cHJlc3Npb24gc3VjaCBhcyBgYGxhbWJkYSByOiAoclswXSwgclsyXSlgYC4gIEFsc28sCiAgICAgICB0aGUgOm1vZDpgb3BlcmF0b3JgIG1vZHVsZSBwcm92aWRlcyB0aHJlZSBrZXkgZnVuY3Rpb24gY29uc3RydWN0b3JzOgogICAgICAgOmZ1bmM6YH5vcGVyYXRvci5hdHRyZ2V0dGVyYCwgOmZ1bmM6YH5vcGVyYXRvci5pdGVtZ2V0dGVyYCwgYW5kCmRpZmYgLS1naXQgYS9Eb2MvaG93dG8vY2xpbmljLnJzdCBiL0RvYy9ob3d0by9jbGluaWMucnN0CmluZGV4IDc1MGRkYmUuLmNhOGUxY2IgMTAwNjQ0Ci0tLSBhL0RvYy9ob3d0by9jbGluaWMucnN0CisrKyBiL0RvYy9ob3d0by9jbGluaWMucnN0CkBAIC04ODYsNyArODg2LDcgQEAKIEFkdmFuY2VkIGNvbnZlcnRlcnMKIC0tLS0tLS0tLS0tLS0tLS0tLS0KIAotUmVtZWJlciB0aG9zZSBmb3JtYXQgdW5pdHMgeW91IHNraXBwZWQgZm9yIHlvdXIgZmlyc3QKK1JlbWVtYmVyIHRob3NlIGZvcm1hdCB1bml0cyB5b3Ugc2tpcHBlZCBmb3IgeW91ciBmaXJzdAogdGltZSBiZWNhdXNlIHRoZXkgd2VyZSBhZHZhbmNlZD8gIEhlcmUncyBob3cgdG8gaGFuZGxlIHRob3NlIHRvby4KIAogVGhlIHRyaWNrIGlzLCBhbGwgdGhvc2UgZm9ybWF0IHVuaXRzIHRha2UgYXJndW1lbnRzLS1laXRoZXIKQEAgLTEwMjAsMTIgKzEwMjAsMTIgQEAKIHRoZSBgYCJhcyJgYCBzaG91bGQgY29tZSBiZWZvcmUgdGhlIHJldHVybiBjb252ZXJ0ZXIuKQogCiBUaGVyZSdzIG9uZSBhZGRpdGlvbmFsIGNvbXBsaWNhdGlvbiB3aGVuIHVzaW5nIHJldHVybiBjb252ZXJ0ZXJzOiBob3cgZG8geW91Ci1pbmRpY2F0ZSBhbiBlcnJvciBoYXMgb2NjdXJlZD8gIE5vcm1hbGx5LCBhIGZ1bmN0aW9uIHJldHVybnMgYSB2YWxpZCAobm9uLWBgTlVMTGBgKQoraW5kaWNhdGUgYW4gZXJyb3IgaGFzIG9jY3VycmVkPyAgTm9ybWFsbHksIGEgZnVuY3Rpb24gcmV0dXJucyBhIHZhbGlkIChub24tYGBOVUxMYGApCiBwb2ludGVyIGZvciBzdWNjZXNzLCBhbmQgYGBOVUxMYGAgZm9yIGZhaWx1cmUuICBCdXQgaWYgeW91IHVzZSBhbiBpbnRlZ2VyIHJldHVybiBjb252ZXJ0ZXIsCiBhbGwgaW50ZWdlcnMgYXJlIHZhbGlkLiAgSG93IGNhbiBBcmd1bWVudCBDbGluaWMgZGV0ZWN0IGFuIGVycm9yPyAgSXRzIHNvbHV0aW9uOiBlYWNoIHJldHVybgogY29udmVydGVyIGltcGxpY2l0bHkgbG9va3MgZm9yIGEgc3BlY2lhbCB2YWx1ZSB0aGF0IGluZGljYXRlcyBhbiBlcnJvci4gIElmIHlvdSByZXR1cm4KIHRoYXQgdmFsdWUsIGFuZCBhbiBlcnJvciBoYXMgYmVlbiBzZXQgKGBgUHlFcnJfT2NjdXJyZWQoKWBgIHJldHVybnMgYSB0cnVlCi12YWx1ZSksIHRoZW4gdGhlIGdlbmVyYXRlZCBjb2RlIHdpbGwgcHJvcG9nYXRlIHRoZSBlcnJvci4gIE90aGVyd2lzZSBpdCB3aWxsCit2YWx1ZSksIHRoZW4gdGhlIGdlbmVyYXRlZCBjb2RlIHdpbGwgcHJvcGFnYXRlIHRoZSBlcnJvci4gIE90aGVyd2lzZSBpdCB3aWxsCiBlbmNvZGUgdGhlIHZhbHVlIHlvdSByZXR1cm4gbGlrZSBub3JtYWwuCiAKIEN1cnJlbnRseSBBcmd1bWVudCBDbGluaWMgc3VwcG9ydHMgb25seSBhIGZldyByZXR1cm4gY29udmVydGVyczo6CkBAIC0xNTczLDcgKzE1NzMsNyBAQAogYGBsaW5lX3ByZWZpeGBgIGlzIGEgc3RyaW5nIHRoYXQgd2lsbCBiZSBwcmVwZW5kZWQgdG8gZXZlcnkgbGluZSBvZiBDbGluaWMncyBvdXRwdXQ7CiBgYGxpbmVfc3VmZml4YGAgaXMgYSBzdHJpbmcgdGhhdCB3aWxsIGJlIGFwcGVuZGVkIHRvIGV2ZXJ5IGxpbmUgb2YgQ2xpbmljJ3Mgb3V0cHV0LgogCi1Cb3RoIG9mIHRoZXNlIHN1cG9ydCB0d28gZm9ybWF0IHN0cmluZ3M6CitCb3RoIG9mIHRoZXNlIHN1cHBvcnQgdHdvIGZvcm1hdCBzdHJpbmdzOgogCiAgIGBge2Jsb2NrIGNvbW1lbnQgc3RhcnR9YGAKICAgICBUdXJucyBpbnRvIHRoZSBzdHJpbmcgYGAvKmBgLCB0aGUgc3RhcnQtY29tbWVudCB0ZXh0IHNlcXVlbmNlIGZvciBDIGZpbGVzLgpkaWZmIC0tZ2l0IGEvRG9jL2hvd3RvL2xvZ2dpbmctY29va2Jvb2sucnN0IGIvRG9jL2hvd3RvL2xvZ2dpbmctY29va2Jvb2sucnN0CmluZGV4IDExNGVjMDkuLmUzMWI2YzIgMTAwNjQ0Ci0tLSBhL0RvYy9ob3d0by9sb2dnaW5nLWNvb2tib29rLnJzdAorKysgYi9Eb2MvaG93dG8vbG9nZ2luZy1jb29rYm9vay5yc3QKQEAgLTMyNSw2ICszMjUsMTUgQEAKIAogICAgIE1haW5UaHJlYWQ6IExvb2sgb3V0IQogCisuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuNQorICAgUHJpb3IgdG8gUHl0aG9uIDMuNSwgdGhlIDpjbGFzczpgUXVldWVMaXN0ZW5lcmAgYWx3YXlzIHBhc3NlZCBldmVyeSBtZXNzYWdlCisgICByZWNlaXZlZCBmcm9tIHRoZSBxdWV1ZSB0byBldmVyeSBoYW5kbGVyIGl0IHdhcyBpbml0aWFsaXplZCB3aXRoLiAoVGhpcyB3YXMKKyAgIGJlY2F1c2UgaXQgd2FzIGFzc3VtZWQgdGhhdCBsZXZlbCBmaWx0ZXJpbmcgd2FzIGFsbCBkb25lIG9uIHRoZSBvdGhlciBzaWRlLAorICAgd2hlcmUgdGhlIHF1ZXVlIGlzIGZpbGxlZC4pIEZyb20gMy41IG9ud2FyZHMsIHRoaXMgYmVoYXZpb3VyIGNhbiBiZSBjaGFuZ2VkCisgICBieSBwYXNzaW5nIGEga2V5d29yZCBhcmd1bWVudCBgYHJlc3BlY3RfaGFuZGxlcl9sZXZlbD1UcnVlYGAgdG8gdGhlCisgICBsaXN0ZW5lcidzIGNvbnN0cnVjdG9yLiBXaGVuIHRoaXMgaXMgZG9uZSwgdGhlIGxpc3RlbmVyIGNvbXBhcmVzIHRoZSBsZXZlbAorICAgb2YgZWFjaCBtZXNzYWdlIHdpdGggdGhlIGhhbmRsZXIncyBsZXZlbCwgYW5kIG9ubHkgcGFzc2VzIGEgbWVzc2FnZSB0byBhCisgICBoYW5kbGVyIGlmIGl0J3MgYXBwcm9wcmlhdGUgdG8gZG8gc28uCiAKIC4uIF9uZXR3b3JrLWxvZ2dpbmc6CiAKQEAgLTE2ODAsNyArMTY4OSw3IEBACiAKICAgICBkZWYgbWFpbigpOgogICAgICAgICBsb2dnaW5nLmJhc2ljQ29uZmlnKGxldmVsPWxvZ2dpbmcuSU5GTywgZm9ybWF0PSclKG1lc3NhZ2UpcycpCi0gICAgICAgIGxvZ2dpbmcuaW5mbyhfKCdtZXNzYWdlIDEnLCBzZXRfdmFsdWU9c2V0KFsxLCAyLCAzXSksIHNub3dtYW49J1x1MjYwMycpKQorICAgICAgICBsb2dnaW5nLmluZm8oXygnbWVzc2FnZSAxJywgc2V0X3ZhbHVlPXsxLCAyLCAzfSwgc25vd21hbj0nXHUyNjAzJykpCiAKICAgICBpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgogICAgICAgICBtYWluKCkKZGlmZiAtLWdpdCBhL0RvYy9ob3d0by9yZWdleC5yc3QgYi9Eb2MvaG93dG8vcmVnZXgucnN0CmluZGV4IGZiZTc2M2IuLjlhZTA0ZDcgMTAwNjQ0Ci0tLSBhL0RvYy9ob3d0by9yZWdleC5yc3QKKysrIGIvRG9jL2hvd3RvL3JlZ2V4LnJzdApAQCAtODUyLDcgKzg1Miw3IEBACiBwcm9ibGVtLiAgQm90aCBvZiB0aGVtIHVzZSBhIGNvbW1vbiBzeW50YXggZm9yIHJlZ3VsYXIgZXhwcmVzc2lvbiBleHRlbnNpb25zLCBzbwogd2UnbGwgbG9vayBhdCB0aGF0IGZpcnN0LgogCi1QZXJsIDUgaXMgd2VsbC1rbm93biBmb3IgaXRzIHBvd2VyZnVsIGFkZGl0aW9ucyB0byBzdGFuZGFyZCByZWd1bGFyIGV4cHJlc3Npb25zLgorUGVybCA1IGlzIHdlbGwga25vd24gZm9yIGl0cyBwb3dlcmZ1bCBhZGRpdGlvbnMgdG8gc3RhbmRhcmQgcmVndWxhciBleHByZXNzaW9ucy4KIEZvciB0aGVzZSBuZXcgZmVhdHVyZXMgdGhlIFBlcmwgZGV2ZWxvcGVycyBjb3VsZG4ndCBjaG9vc2UgbmV3IHNpbmdsZS1rZXlzdHJva2UgbWV0YWNoYXJhY3RlcnMKIG9yIG5ldyBzcGVjaWFsIHNlcXVlbmNlcyBiZWdpbm5pbmcgd2l0aCBgYFxgYCB3aXRob3V0IG1ha2luZyBQZXJsJ3MgcmVndWxhcgogZXhwcmVzc2lvbnMgY29uZnVzaW5nbHkgZGlmZmVyZW50IGZyb20gc3RhbmRhcmQgUkVzLiAgSWYgdGhleSBjaG9zZSBgYCZgYCBhcyBhCmRpZmYgLS1naXQgYS9Eb2MvaG93dG8vc29ja2V0cy5yc3QgYi9Eb2MvaG93dG8vc29ja2V0cy5yc3QKaW5kZXggZDVhZmY5MC4uMDQzOTRkNCAxMDA2NDQKLS0tIGEvRG9jL2hvd3RvL3NvY2tldHMucnN0CisrKyBiL0RvYy9ob3d0by9zb2NrZXRzLnJzdApAQCAtMjM0LDcgKzIzNCw3IEBACiBmb2xsb3dpbmcgbWVzc2FnZS4gWW91J2xsIG5lZWQgdG8gcHV0IHRoYXQgYXNpZGUgYW5kIGhvbGQgb250byBpdCwgdW50aWwgaXQncwogbmVlZGVkLgogCi1QcmVmaXhpbmcgdGhlIG1lc3NhZ2Ugd2l0aCBpdCdzIGxlbmd0aCAoc2F5LCBhcyA1IG51bWVyaWMgY2hhcmFjdGVycykgZ2V0cyBtb3JlCitQcmVmaXhpbmcgdGhlIG1lc3NhZ2Ugd2l0aCBpdHMgbGVuZ3RoIChzYXksIGFzIDUgbnVtZXJpYyBjaGFyYWN0ZXJzKSBnZXRzIG1vcmUKIGNvbXBsZXgsIGJlY2F1c2UgKGJlbGlldmUgaXQgb3Igbm90KSwgeW91IG1heSBub3QgZ2V0IGFsbCA1IGNoYXJhY3RlcnMgaW4gb25lCiBgYHJlY3ZgYC4gSW4gcGxheWluZyBhcm91bmQsIHlvdSdsbCBnZXQgYXdheSB3aXRoIGl0OyBidXQgaW4gaGlnaCBuZXR3b3JrIGxvYWRzLAogeW91ciBjb2RlIHdpbGwgdmVyeSBxdWlja2x5IGJyZWFrIHVubGVzcyB5b3UgdXNlIHR3byBgYHJlY3ZgYCBsb29wcyAtIHRoZSBmaXJzdApkaWZmIC0tZ2l0IGEvRG9jL2hvd3RvL3VuaWNvZGUucnN0IGIvRG9jL2hvd3RvL3VuaWNvZGUucnN0CmluZGV4IGI0OWFjMzkuLmVlMzFhOWMgMTAwNjQ0Ci0tLSBhL0RvYy9ob3d0by91bmljb2RlLnJzdAorKysgYi9Eb2MvaG93dG8vdW5pY29kZS5yc3QKQEAgLTI4MCw4ICsyODAsOSBAQAogVGhlICplcnJvcnMqIGFyZ3VtZW50IHNwZWNpZmllcyB0aGUgcmVzcG9uc2Ugd2hlbiB0aGUgaW5wdXQgc3RyaW5nIGNhbid0IGJlCiBjb252ZXJ0ZWQgYWNjb3JkaW5nIHRvIHRoZSBlbmNvZGluZydzIHJ1bGVzLiAgTGVnYWwgdmFsdWVzIGZvciB0aGlzIGFyZ3VtZW50IGFyZQogYGAnc3RyaWN0J2BgIChyYWlzZSBhIDpleGM6YFVuaWNvZGVEZWNvZGVFcnJvcmAgZXhjZXB0aW9uKSwgYGAncmVwbGFjZSdgYCAodXNlCi1gYFUrRkZGRGBgLCBgYFJFUExBQ0VNRU5UIENIQVJBQ1RFUmBgKSwgb3IgYGAnaWdub3JlJ2BgIChqdXN0IGxlYXZlIHRoZQotY2hhcmFjdGVyIG91dCBvZiB0aGUgVW5pY29kZSByZXN1bHQpLgorYGBVK0ZGRkRgYCwgYGBSRVBMQUNFTUVOVCBDSEFSQUNURVJgYCksIGBgJ2lnbm9yZSdgYCAoanVzdCBsZWF2ZSB0aGUKK2NoYXJhY3RlciBvdXQgb2YgdGhlIFVuaWNvZGUgcmVzdWx0KSwgb3IgYGAnYmFja3NsYXNocmVwbGFjZSdgYCAoaW5zZXJ0cyBhCitgYFx4Tk5gYCBlc2NhcGUgc2VxdWVuY2UpLgogVGhlIGZvbGxvd2luZyBleGFtcGxlcyBzaG93IHRoZSBkaWZmZXJlbmNlczo6CiAKICAgICA+Pj4gYidceDgwYWJjJy5kZWNvZGUoInV0Zi04IiwgInN0cmljdCIpICAjZG9jdGVzdDogK05PUk1BTElaRV9XSElURVNQQUNFCkBAIC0yOTEsNiArMjkyLDggQEAKICAgICAgIGludmFsaWQgc3RhcnQgYnl0ZQogICAgID4+PiBiJ1x4ODBhYmMnLmRlY29kZSgidXRmLTgiLCAicmVwbGFjZSIpCiAgICAgJ1x1ZmZmZGFiYycKKyAgICA+Pj4gYidceDgwYWJjJy5kZWNvZGUoInV0Zi04IiwgImJhY2tzbGFzaHJlcGxhY2UiKQorICAgICdcXHg4MGFiYycKICAgICA+Pj4gYidceDgwYWJjJy5kZWNvZGUoInV0Zi04IiwgImlnbm9yZSIpCiAgICAgJ2FiYycKIApAQCAtMzI1LDggKzMyOCw5IEBACiA6bWV0aDpgfmJ5dGVzLmRlY29kZWAgbWV0aG9kIGJ1dCBzdXBwb3J0cyBhIGZldyBtb3JlIHBvc3NpYmxlIGhhbmRsZXJzLiBBcyB3ZWxsIGFzCiBgYCdzdHJpY3QnYGAsIGBgJ2lnbm9yZSdgYCwgYW5kIGBgJ3JlcGxhY2UnYGAgKHdoaWNoIGluIHRoaXMgY2FzZQogaW5zZXJ0cyBhIHF1ZXN0aW9uIG1hcmsgaW5zdGVhZCBvZiB0aGUgdW5lbmNvZGFibGUgY2hhcmFjdGVyKSwgdGhlcmUgaXMKLWFsc28gYGAneG1sY2hhcnJlZnJlcGxhY2UnYGAgKGluc2VydHMgYW4gWE1MIGNoYXJhY3RlciByZWZlcmVuY2UpIGFuZAotYGBiYWNrc2xhc2hyZXBsYWNlYGAgKGluc2VydHMgYSBgYFx1Tk5OTmBgIGVzY2FwZSBzZXF1ZW5jZSkuCithbHNvIGBgJ3htbGNoYXJyZWZyZXBsYWNlJ2BgIChpbnNlcnRzIGFuIFhNTCBjaGFyYWN0ZXIgcmVmZXJlbmNlKSwKK2BgYmFja3NsYXNocmVwbGFjZWBgIChpbnNlcnRzIGEgYGBcdU5OTk5gYCBlc2NhcGUgc2VxdWVuY2UpIGFuZAorYGBuYW1lcmVwbGFjZWBgIChpbnNlcnRzIGEgYGBcTnsuLi59YGAgZXNjYXBlIHNlcXVlbmNlKS4KIAogVGhlIGZvbGxvd2luZyBleGFtcGxlIHNob3dzIHRoZSBkaWZmZXJlbnQgcmVzdWx0czo6CiAKQEAgLTM0Niw2ICszNTAsOCBAQAogICAgIGInJiM0MDk2MDthYmNkJiMxOTcyOycKICAgICA+Pj4gdS5lbmNvZGUoJ2FzY2lpJywgJ2JhY2tzbGFzaHJlcGxhY2UnKQogICAgIGInXFx1YTAwMGFiY2RcXHUwN2I0JworICAgID4+PiB1LmVuY29kZSgnYXNjaWknLCAnbmFtZXJlcGxhY2UnKQorICAgIGInXFxOe1lJIFNZTExBQkxFIElUfWFiY2RcXHUwN2I0JwogCiBUaGUgbG93LWxldmVsIHJvdXRpbmVzIGZvciByZWdpc3RlcmluZyBhbmQgYWNjZXNzaW5nIHRoZSBhdmFpbGFibGUKIGVuY29kaW5ncyBhcmUgZm91bmQgaW4gdGhlIDptb2Q6YGNvZGVjc2AgbW9kdWxlLiAgSW1wbGVtZW50aW5nIG5ldwpkaWZmIC0tZ2l0IGEvRG9jL2luY2x1ZGVzL3J1bi1mdW5jLmMgYi9Eb2MvaW5jbHVkZXMvcnVuLWZ1bmMuYwppbmRleCAxYzk4NjBkLi45ODZkNjcwIDEwMDY0NAotLS0gYS9Eb2MvaW5jbHVkZXMvcnVuLWZ1bmMuYworKysgYi9Eb2MvaW5jbHVkZXMvcnVuLWZ1bmMuYwpAQCAtMTMsNyArMTMsNyBAQAogICAgIH0KIAogICAgIFB5X0luaXRpYWxpemUoKTsKLSAgICBwTmFtZSA9IFB5VW5pY29kZV9Gcm9tU3RyaW5nKGFyZ3ZbMV0pOworICAgIHBOYW1lID0gUHlVbmljb2RlX0RlY29kZUZTRGVmYXVsdChhcmd2WzFdKTsKICAgICAvKiBFcnJvciBjaGVja2luZyBvZiBwTmFtZSBsZWZ0IG91dCAqLwogCiAgICAgcE1vZHVsZSA9IFB5SW1wb3J0X0ltcG9ydChwTmFtZSk7CmRpZmYgLS1naXQgYS9Eb2MvaW5zdGFsbC9pbmRleC5yc3QgYi9Eb2MvaW5zdGFsbC9pbmRleC5yc3QKaW5kZXggOGYzYWQ3Mi4uODc2ZjM1MCAxMDA2NDQKLS0tIGEvRG9jL2luc3RhbGwvaW5kZXgucnN0CisrKyBiL0RvYy9pbnN0YWxsL2luZGV4LnJzdApAQCAtMzYxLDcgKzM2MSw3IEBACiBUeXBlIG9mIGZpbGUgICAgSW5zdGFsbGF0aW9uIGRpcmVjdG9yeQogPT09PT09PT09PT09PT09ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiBtb2R1bGVzICAgICAgICAgOmZpbGU6YHt1c2VyYmFzZX1cXFB5dGhvbntYWX1cXHNpdGUtcGFja2FnZXNgCi1zY3JpcHRzICAgICAgICAgOmZpbGU6YHt1c2VyYmFzZX1cXFNjcmlwdHNgCitzY3JpcHRzICAgICAgICAgOmZpbGU6YHt1c2VyYmFzZX1cXFB5dGhvbntYWX1cXFNjcmlwdHNgCiBkYXRhICAgICAgICAgICAgOmZpbGU6YHt1c2VyYmFzZX1gCiBDIGhlYWRlcnMgICAgICAgOmZpbGU6YHt1c2VyYmFzZX1cXFB5dGhvbntYWX1cXEluY2x1ZGVcXHtkaXN0bmFtZX1gCiA9PT09PT09PT09PT09PT0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L2FyZ3BhcnNlLnJzdCBiL0RvYy9saWJyYXJ5L2FyZ3BhcnNlLnJzdAppbmRleCA3M2Y5NDgwLi4xZjc1Y2Q5IDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS9hcmdwYXJzZS5yc3QKKysrIGIvRG9jL2xpYnJhcnkvYXJncGFyc2UucnN0CkBAIC0xMzUsNyArMTM1LDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybWF0dGVyX2NsYXNzPWFyZ3BhcnNlLkhlbHBGb3JtYXR0ZXIsIFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJlZml4X2NoYXJzPSctJywgZnJvbWZpbGVfcHJlZml4X2NoYXJzPU5vbmUsIFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJndW1lbnRfZGVmYXVsdD1Ob25lLCBjb25mbGljdF9oYW5kbGVyPSdlcnJvcicsIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgYWRkX2hlbHA9VHJ1ZSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgYWRkX2hlbHA9VHJ1ZSwgYWxsb3dfYWJicmV2PVRydWUpCiAKICAgIENyZWF0ZSBhIG5ldyA6Y2xhc3M6YEFyZ3VtZW50UGFyc2VyYCBvYmplY3QuIEFsbCBwYXJhbWV0ZXJzIHNob3VsZCBiZSBwYXNzZWQKICAgIGFzIGtleXdvcmQgYXJndW1lbnRzLiBFYWNoIHBhcmFtZXRlciBoYXMgaXRzIG93biBtb3JlIGRldGFpbGVkIGRlc2NyaXB0aW9uCkBAIC0xNjksNiArMTY5LDEyIEBACiAKICAgICogYWRkX2hlbHBfIC0gQWRkIGEgLWgvLS1oZWxwIG9wdGlvbiB0byB0aGUgcGFyc2VyIChkZWZhdWx0OiBgYFRydWVgYCkKIAorICAgKiBhbGxvd19hYmJyZXZfIC0gQWxsb3dzIGxvbmcgb3B0aW9ucyB0byBiZSBhYmJyZXZpYXRlZCBpZiB0aGUKKyAgICAgYWJicmV2aWF0aW9uIGlzIHVuYW1iaWd1b3VzLiAoZGVmYXVsdDogYGBUcnVlYGApCisKKyAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy41CisgICAgICAqYWxsb3dfYWJicmV2KiBwYXJhbWV0ZXIgd2FzIGFkZGVkLgorCiBUaGUgZm9sbG93aW5nIHNlY3Rpb25zIGRlc2NyaWJlIGhvdyBlYWNoIG9mIHRoZXNlIGFyZSB1c2VkLgogCiAKQEAgLTUxOCw2ICs1MjQsMjYgQEAKICAgID4+PiBwYXJzZXIucGFyc2VfYXJncyhbXSkKICAgIE5hbWVzcGFjZSgpCiAKKy4uIF9hbGxvd19hYmJyZXY6CisKK2FsbG93X2FiYnJldgorXl5eXl5eXl5eXl5eCisKK05vcm1hbGx5LCB3aGVuIHlvdSBwYXNzIGFuIGFyZ3VtZW50IGxpc3QgdG8gdGhlCis6bWV0aDpgfkFyZ3VtZW50UGFyc2VyLnBhcnNlX2FyZ3NgIG1ldGhvZCBvZiBhIDpjbGFzczpgQXJndW1lbnRQYXJzZXJgLAoraXQgOnJlZjpgcmVjb2duaXplcyBhYmJyZXZpYXRpb25zIDxwcmVmaXgtbWF0Y2hpbmc+YCBvZiBsb25nIG9wdGlvbnMuCisKK1RoaXMgZmVhdHVyZSBjYW4gYmUgZGlzYWJsZWQgYnkgc2V0dGluZyBgYGFsbG93X2FiYnJldmBgIHRvIGBgRmFsc2VgYDo6CisKKyAgID4+PiBwYXJzZXIgPSBhcmdwYXJzZS5Bcmd1bWVudFBhcnNlcihwcm9nPSdQUk9HJywgYWxsb3dfYWJicmV2PUZhbHNlKQorICAgPj4+IHBhcnNlci5hZGRfYXJndW1lbnQoJy0tZm9vYmFyJywgYWN0aW9uPSdzdG9yZV90cnVlJykKKyAgID4+PiBwYXJzZXIuYWRkX2FyZ3VtZW50KCctLWZvb25sZXknLCBhY3Rpb249J3N0b3JlX2ZhbHNlJykKKyAgID4+PiBwYXJzZXIucGFyc2VfYXJncyhbLS1mb29uXSkKKyAgIHVzYWdlOiBQUk9HIFstaF0gWy0tZm9vYmFyXSBbLS1mb29ubGV5XQorICAgUFJPRzogZXJyb3I6IHVucmVjb2duaXplZCBhcmd1bWVudHM6IC0tZm9vbgorCisuLiB2ZXJzaW9uYWRkZWQ6OiAzLjUKKwogCiBjb25mbGljdF9oYW5kbGVyCiBeXl5eXl5eXl5eXl5eXl5eCkBAIC0xNDEwLDkgKzE0MzYsOSBAQAogQXJndW1lbnQgYWJicmV2aWF0aW9ucyAocHJlZml4IG1hdGNoaW5nKQogXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXgogCi1UaGUgOm1ldGg6YH5Bcmd1bWVudFBhcnNlci5wYXJzZV9hcmdzYCBtZXRob2QgYWxsb3dzIGxvbmcgb3B0aW9ucyB0byBiZQotYWJicmV2aWF0ZWQgdG8gYSBwcmVmaXgsIGlmIHRoZSBhYmJyZXZpYXRpb24gaXMgdW5hbWJpZ3VvdXMgKHRoZSBwcmVmaXggbWF0Y2hlcwotYSB1bmlxdWUgb3B0aW9uKTo6CitUaGUgOm1ldGg6YH5Bcmd1bWVudFBhcnNlci5wYXJzZV9hcmdzYCBtZXRob2QgOnJlZjpgYnkgZGVmYXVsdCA8YWxsb3dfYWJicmV2PmAKK2FsbG93cyBsb25nIG9wdGlvbnMgdG8gYmUgYWJicmV2aWF0ZWQgdG8gYSBwcmVmaXgsIGlmIHRoZSBhYmJyZXZpYXRpb24gaXMKK3VuYW1iaWd1b3VzICh0aGUgcHJlZml4IG1hdGNoZXMgYSB1bmlxdWUgb3B0aW9uKTo6CiAKICAgID4+PiBwYXJzZXIgPSBhcmdwYXJzZS5Bcmd1bWVudFBhcnNlcihwcm9nPSdQUk9HJykKICAgID4+PiBwYXJzZXIuYWRkX2FyZ3VtZW50KCctYmFjb24nKQpAQCAtMTQyNiw2ICsxNDUyLDcgQEAKICAgIFBST0c6IGVycm9yOiBhbWJpZ3VvdXMgb3B0aW9uOiAtYmEgY291bGQgbWF0Y2ggLWJhZGdlciwgLWJhY29uCiAKIEFuIGVycm9yIGlzIHByb2R1Y2VkIGZvciBhcmd1bWVudHMgdGhhdCBjb3VsZCBwcm9kdWNlIG1vcmUgdGhhbiBvbmUgb3B0aW9ucy4KK1RoaXMgZmVhdHVyZSBjYW4gYmUgZGlzYWJsZWQgYnkgc2V0dGluZyA6cmVmOmBhbGxvd19hYmJyZXZgIHRvIGBgRmFsc2VgYC4KIAogCiBCZXlvbmQgYGBzeXMuYXJndmBgCkBAIC0xOTEwLDcgKzE5MzcsNyBAQAogCiAgICBBcmd1bWVudHMgdGhhdCBhcmUgcmVhZCBmcm9tIGEgZmlsZSAoc2VlIHRoZSAqZnJvbWZpbGVfcHJlZml4X2NoYXJzKgogICAga2V5d29yZCBhcmd1bWVudCB0byB0aGUgOmNsYXNzOmBBcmd1bWVudFBhcnNlcmAgY29uc3RydWN0b3IpIGFyZSByZWFkIG9uZQotICAgYXJndW1lbnQgcGVyIGxpbmUuIDptZXRoOmBjb252ZXJ0X2FyZ19saW5lX3RvX2FyZ3NgIGNhbiBiZSBvdmVycmlkZW4gZm9yCisgICBhcmd1bWVudCBwZXIgbGluZS4gOm1ldGg6YGNvbnZlcnRfYXJnX2xpbmVfdG9fYXJnc2AgY2FuIGJlIG92ZXJyaWRkZW4gZm9yCiAgICBmYW5jaWVyIHJlYWRpbmcuCiAKICAgIFRoaXMgbWV0aG9kIHRha2VzIGEgc2luZ2xlIGFyZ3VtZW50ICphcmdfbGluZSogd2hpY2ggaXMgYSBzdHJpbmcgcmVhZCBmcm9tCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9hc3luY2hhdC5yc3QgYi9Eb2MvbGlicmFyeS9hc3luY2hhdC5yc3QKaW5kZXggYzZmYTA2MS4uNzk0ZGE4YyAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvYXN5bmNoYXQucnN0CisrKyBiL0RvYy9saWJyYXJ5L2FzeW5jaGF0LnJzdApAQCAtMTQ3LDQwICsxNDcsNiBAQAogICAgYnkgdGhlIGNoYW5uZWwgYWZ0ZXIgOm1ldGg6YGZvdW5kX3Rlcm1pbmF0b3JgIGlzIGNhbGxlZC4KIAogCi1hc3luY2hhdCAtIEF1eGlsaWFyeSBDbGFzc2VzCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLQotLi4gY2xhc3M6OiBmaWZvKGxpc3Q9Tm9uZSkKLQotICAgQSA6Y2xhc3M6YGZpZm9gIGhvbGRpbmcgZGF0YSB3aGljaCBoYXMgYmVlbiBwdXNoZWQgYnkgdGhlIGFwcGxpY2F0aW9uIGJ1dAotICAgbm90IHlldCBwb3BwZWQgZm9yIHdyaXRpbmcgdG8gdGhlIGNoYW5uZWwuICBBIDpjbGFzczpgZmlmb2AgaXMgYSBsaXN0IHVzZWQKLSAgIHRvIGhvbGQgZGF0YSBhbmQvb3IgcHJvZHVjZXJzIHVudGlsIHRoZXkgYXJlIHJlcXVpcmVkLiAgSWYgdGhlICpsaXN0KgotICAgYXJndW1lbnQgaXMgcHJvdmlkZWQgdGhlbiBpdCBzaG91bGQgY29udGFpbiBwcm9kdWNlcnMgb3IgZGF0YSBpdGVtcyB0byBiZQotICAgd3JpdHRlbiB0byB0aGUgY2hhbm5lbC4KLQotCi0gICAuLiBtZXRob2Q6OiBpc19lbXB0eSgpCi0KLSAgICAgIFJldHVybnMgYGBUcnVlYGAgaWYgYW5kIG9ubHkgaWYgdGhlIGZpZm8gaXMgZW1wdHkuCi0KLQotICAgLi4gbWV0aG9kOjogZmlyc3QoKQotCi0gICAgICBSZXR1cm5zIHRoZSBsZWFzdC1yZWNlbnRseSA6bWV0aDpgcHVzaGBcIGVkIGl0ZW0gZnJvbSB0aGUgZmlmby4KLQotCi0gICAuLiBtZXRob2Q6OiBwdXNoKGRhdGEpCi0KLSAgICAgIEFkZHMgdGhlIGdpdmVuIGRhdGEgKHdoaWNoIG1heSBiZSBhIHN0cmluZyBvciBhIHByb2R1Y2VyIG9iamVjdCkgdG8gdGhlCi0gICAgICBwcm9kdWNlciBmaWZvLgotCi0KLSAgIC4uIG1ldGhvZDo6IHBvcCgpCi0KLSAgICAgIElmIHRoZSBmaWZvIGlzIG5vdCBlbXB0eSwgcmV0dXJucyBgYFRydWUsIGZpcnN0KClgYCwgZGVsZXRpbmcgdGhlIHBvcHBlZAotICAgICAgaXRlbS4gIFJldHVybnMgYGBGYWxzZSwgTm9uZWBgIGZvciBhbiBlbXB0eSBmaWZvLgotCi0KIC4uIF9hc3luY2hhdC1leGFtcGxlOgogCiBhc3luY2hhdCBFeGFtcGxlCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9hc3luY2lvLWV2ZW50bG9vcHMucnN0IGIvRG9jL2xpYnJhcnkvYXN5bmNpby1ldmVudGxvb3BzLnJzdAppbmRleCBhZmI4YjlmLi5hZTNiZjkwIDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS9hc3luY2lvLWV2ZW50bG9vcHMucnN0CisrKyBiL0RvYy9saWJyYXJ5L2FzeW5jaW8tZXZlbnRsb29wcy5yc3QKQEAgLTEwMCw4ICsxMDAsNiBAQAogCiA6Y2xhc3M6YFByb2FjdG9yRXZlbnRMb29wYCBzcGVjaWZpYyBsaW1pdHM6CiAKLS0gU1NMIGlzIG5vdCBzdXBwb3J0ZWQ6IDptZXRoOmB+QmFzZUV2ZW50TG9vcC5jcmVhdGVfY29ubmVjdGlvbmAgYW5kCi0gIDptZXRoOmB+QmFzZUV2ZW50TG9vcC5jcmVhdGVfc2VydmVyYCBjYW5ub3QgYmUgdXNlZCB3aXRoIFNTTCBmb3IgZXhhbXBsZQogLSA6bWV0aDpgfkJhc2VFdmVudExvb3AuY3JlYXRlX2RhdGFncmFtX2VuZHBvaW50YCAoVURQKSBpcyBub3Qgc3VwcG9ydGVkCiAtIDptZXRoOmB+QmFzZUV2ZW50TG9vcC5hZGRfcmVhZGVyYCBhbmQgOm1ldGg6YH5CYXNlRXZlbnRMb29wLmFkZF93cml0ZXJgIGFyZQogICBub3Qgc3VwcG9ydGVkCkBAIC0xMTIsNiArMTEwLDEwIEBACiA8aHR0cDovL2ZyLndpa2lwZWRpYS5vcmcvd2lraS9IaWdoX1ByZWNpc2lvbl9FdmVudF9UaW1lcj5gXykgYW5kIG9uIHRoZSBXaW5kb3dzCiBjb25maWd1cmF0aW9uLiBTZWUgOnJlZjpgYXN5bmNpbyBkZWxheWVkIGNhbGxzIDxhc3luY2lvLWRlbGF5ZWQtY2FsbHM+YC4KIAorLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjUKKworICAgOmNsYXNzOmBQcm9hY3RvckV2ZW50TG9vcGAgbm93IHN1cHBvcnRzIFNTTC4KKwogCiBNYWMgT1MgWAogXl5eXl5eXl4KZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L2J6Mi5yc3QgYi9Eb2MvbGlicmFyeS9iejIucnN0CmluZGV4IDQ4OGNkYTUuLmVkMjg2OTkgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L2J6Mi5yc3QKKysrIGIvRG9jL2xpYnJhcnkvYnoyLnJzdApAQCAtMTYyLDE1ICsxNjIsMzIgQEAKICAgICAgIHlvdSBuZWVkIHRvIGRlY29tcHJlc3MgYSBtdWx0aS1zdHJlYW0gaW5wdXQgd2l0aCA6Y2xhc3M6YEJaMkRlY29tcHJlc3NvcmAsCiAgICAgICB5b3UgbXVzdCB1c2UgYSBuZXcgZGVjb21wcmVzc29yIGZvciBlYWNoIHN0cmVhbS4KIAotICAgLi4gbWV0aG9kOjogZGVjb21wcmVzcyhkYXRhKQorICAgLi4gbWV0aG9kOjogZGVjb21wcmVzcyhkYXRhLCBtYXhfbGVuZ3RoPS0xKQogCi0gICAgICBQcm92aWRlIGRhdGEgdG8gdGhlIGRlY29tcHJlc3NvciBvYmplY3QuIFJldHVybnMgYSBjaHVuayBvZiBkZWNvbXByZXNzZWQKLSAgICAgIGRhdGEgaWYgcG9zc2libGUsIG9yIGFuIGVtcHR5IGJ5dGUgc3RyaW5nIG90aGVyd2lzZS4KKyAgICAgIERlY29tcHJlc3MgKmRhdGEqIChhIDp0ZXJtOmBieXRlcy1saWtlIG9iamVjdGApLCByZXR1cm5pbmcKKyAgICAgIHVuY29tcHJlc3NlZCBkYXRhIGFzIGJ5dGVzLiBTb21lIG9mICpkYXRhKiBtYXkgYmUgYnVmZmVyZWQKKyAgICAgIGludGVybmFsbHksIGZvciB1c2UgaW4gbGF0ZXIgY2FsbHMgdG8gOm1ldGg6YGRlY29tcHJlc3NgLiBUaGUKKyAgICAgIHJldHVybmVkIGRhdGEgc2hvdWxkIGJlIGNvbmNhdGVuYXRlZCB3aXRoIHRoZSBvdXRwdXQgb2YgYW55CisgICAgICBwcmV2aW91cyBjYWxscyB0byA6bWV0aDpgZGVjb21wcmVzc2AuCiAKLSAgICAgIEF0dGVtcHRpbmcgdG8gZGVjb21wcmVzcyBkYXRhIGFmdGVyIHRoZSBlbmQgb2YgdGhlIGN1cnJlbnQgc3RyZWFtIGlzCi0gICAgICByZWFjaGVkIHJhaXNlcyBhbiA6ZXhjOmBFT0ZFcnJvcmAuIElmIGFueSBkYXRhIGlzIGZvdW5kIGFmdGVyIHRoZSBlbmQgb2YKLSAgICAgIHRoZSBzdHJlYW0sIGl0IGlzIGlnbm9yZWQgYW5kIHNhdmVkIGluIHRoZSA6YXR0cjpgdW51c2VkX2RhdGFgIGF0dHJpYnV0ZS4KKyAgICAgIElmICptYXhfbGVuZ3RoKiBpcyBub25uZWdhdGl2ZSwgcmV0dXJucyBhdCBtb3N0ICptYXhfbGVuZ3RoKgorICAgICAgYnl0ZXMgb2YgZGVjb21wcmVzc2VkIGRhdGEuIElmIHRoaXMgbGltaXQgaXMgcmVhY2hlZCBhbmQgZnVydGhlcgorICAgICAgb3V0cHV0IGNhbiBiZSBwcm9kdWNlZCwgdGhlIDphdHRyOmB+Lm5lZWRzX2lucHV0YCBhdHRyaWJ1dGUgd2lsbAorICAgICAgYmUgc2V0IHRvIGBgRmFsc2VgYC4gSW4gdGhpcyBjYXNlLCB0aGUgbmV4dCBjYWxsIHRvCisgICAgICA6bWV0aDpgfi5kZWNvbXByZXNzYCBtYXkgcHJvdmlkZSAqZGF0YSogYXMgYGBiJydgYCB0byBvYnRhaW4KKyAgICAgIG1vcmUgb2YgdGhlIG91dHB1dC4KIAorICAgICAgSWYgYWxsIG9mIHRoZSBpbnB1dCBkYXRhIHdhcyBkZWNvbXByZXNzZWQgYW5kIHJldHVybmVkIChlaXRoZXIKKyAgICAgIGJlY2F1c2UgdGhpcyB3YXMgbGVzcyB0aGFuICptYXhfbGVuZ3RoKiBieXRlcywgb3IgYmVjYXVzZQorICAgICAgKm1heF9sZW5ndGgqIHdhcyBuZWdhdGl2ZSksIHRoZSA6YXR0cjpgfi5uZWVkc19pbnB1dGAgYXR0cmlidXRlCisgICAgICB3aWxsIGJlIHNldCB0byBgYFRydWVgYC4KKworICAgICAgQXR0ZW1wdGluZyB0byBkZWNvbXByZXNzIGRhdGEgYWZ0ZXIgdGhlIGVuZCBvZiBzdHJlYW0gaXMgcmVhY2hlZAorICAgICAgcmFpc2VzIGFuIGBFT0ZFcnJvcmAuICBBbnkgZGF0YSBmb3VuZCBhZnRlciB0aGUgZW5kIG9mIHRoZQorICAgICAgc3RyZWFtIGlzIGlnbm9yZWQgYW5kIHNhdmVkIGluIHRoZSA6YXR0cjpgfi51bnVzZWRfZGF0YWAgYXR0cmlidXRlLgorCisgICAgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuNQorICAgICAgICAgQWRkZWQgdGhlICptYXhfbGVuZ3RoKiBwYXJhbWV0ZXIuCiAKICAgIC4uIGF0dHJpYnV0ZTo6IGVvZgogCkBAIC0xODYsNiArMjAzLDEzIEBACiAgICAgICBJZiB0aGlzIGF0dHJpYnV0ZSBpcyBhY2Nlc3NlZCBiZWZvcmUgdGhlIGVuZCBvZiB0aGUgc3RyZWFtIGhhcyBiZWVuCiAgICAgICByZWFjaGVkLCBpdHMgdmFsdWUgd2lsbCBiZSBgYGInJ2BgLgogCisgICAuLiBhdHRyaWJ1dGU6OiBuZWVkc19pbnB1dAorCisgICAgICBgYEZhbHNlYGAgaWYgdGhlIDptZXRoOmAuZGVjb21wcmVzc2AgbWV0aG9kIGNhbiBwcm92aWRlIG1vcmUKKyAgICAgIGRlY29tcHJlc3NlZCBkYXRhIGJlZm9yZSByZXF1aXJpbmcgbmV3IHVuY29tcHJlc3NlZCBpbnB1dC4KKworICAgICAgLi4gdmVyc2lvbmFkZGVkOjogMy41CisKIAogT25lLXNob3QgKGRlKWNvbXByZXNzaW9uCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L2NnaS5yc3QgYi9Eb2MvbGlicmFyeS9jZ2kucnN0CmluZGV4IGZhMTMxNDUuLjBhOWU4ODQgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L2NnaS5yc3QKKysrIGIvRG9jL2xpYnJhcnkvY2dpLnJzdApAQCAtMTU3LDYgKzE1Nyw5IEBACiAgICAgICAgICAgIGlmIG5vdCBsaW5lOiBicmVhawogICAgICAgICAgICBsaW5lY291bnQgPSBsaW5lY291bnQgKyAxCiAKKzpjbGFzczpgRmllbGRTdG9yYWdlYCBvYmplY3RzIGFsc28gc3VwcG9ydCBiZWluZyB1c2VkIGluIGEgOmtleXdvcmQ6YHdpdGhgCitzdGF0ZW1lbnQsIHdoaWNoIHdpbGwgYXV0b21hdGljYWxseSBjbG9zZSB0aGVtIHdoZW4gZG9uZS4KKwogSWYgYW4gZXJyb3IgaXMgZW5jb3VudGVyZWQgd2hlbiBvYnRhaW5pbmcgdGhlIGNvbnRlbnRzIG9mIGFuIHVwbG9hZGVkIGZpbGUKIChmb3IgZXhhbXBsZSwgd2hlbiB0aGUgdXNlciBpbnRlcnJ1cHRzIHRoZSBmb3JtIHN1Ym1pc3Npb24gYnkgY2xpY2tpbmcgb24KIGEgQmFjayBvciBDYW5jZWwgYnV0dG9uKSB0aGUgOmF0dHI6YH5GaWVsZFN0b3JhZ2UuZG9uZWAgYXR0cmlidXRlIG9mIHRoZQpAQCAtMTgyLDYgKzE4NSwxMCBAQAogICAgVGhlIDphdHRyOmB+RmllbGRTdG9yYWdlLmZpbGVgIGF0dHJpYnV0ZSBpcyBhdXRvbWF0aWNhbGx5IGNsb3NlZCB1cG9uIHRoZQogICAgZ2FyYmFnZSBjb2xsZWN0aW9uIG9mIHRoZSBjcmVhdGluZyA6Y2xhc3M6YEZpZWxkU3RvcmFnZWAgaW5zdGFuY2UuCiAKKy4uIHZlcnNpb25jaGFuZ2VkOjogMy41CisgICBBZGRlZCBzdXBwb3J0IGZvciB0aGUgY29udGV4dCBtYW5hZ2VtZW50IHByb3RvY29sIHRvIHRoZQorICAgOmNsYXNzOmBGaWVsZFN0b3JhZ2VgIGNsYXNzLgorCiAKIEhpZ2hlciBMZXZlbCBJbnRlcmZhY2UKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L2NtZC5yc3QgYi9Eb2MvbGlicmFyeS9jbWQucnN0CmluZGV4IDgwZDJhNWQuLjFhYjJkNzQgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L2NtZC5yc3QKKysrIGIvRG9jL2xpYnJhcnkvY21kLnJzdApAQCAtMjU5LDcgKzI1OSw3IEBACiAgICAgICAgICAgICAnTW92ZSB0dXJ0bGUgdG8gYW4gYWJzb2x1dGUgcG9zaXRpb24gd2l0aCBjaGFuZ2luZyBvcmllbnRhdGlvbi4gIEdPVE8gMTAwIDIwMCcKICAgICAgICAgICAgIGdvdG8oKnBhcnNlKGFyZykpCiAgICAgICAgIGRlZiBkb19ob21lKHNlbGYsIGFyZyk6Ci0gICAgICAgICAgICAnUmV0dXJuIHR1cnRsZSB0byB0aGUgaG9tZSBwb3N0aW9uOiAgSE9NRScKKyAgICAgICAgICAgICdSZXR1cm4gdHVydGxlIHRvIHRoZSBob21lIHBvc2l0aW9uOiAgSE9NRScKICAgICAgICAgICAgIGhvbWUoKQogICAgICAgICBkZWYgZG9fY2lyY2xlKHNlbGYsIGFyZyk6CiAgICAgICAgICAgICAnRHJhdyBjaXJjbGUgd2l0aCBnaXZlbiByYWRpdXMgYW4gb3B0aW9ucyBleHRlbnQgYW5kIHN0ZXBzOiAgQ0lSQ0xFIDUwJwpkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvY29kZS5yc3QgYi9Eb2MvbGlicmFyeS9jb2RlLnJzdAppbmRleCA1YjVkN2NjLi4yNzUyMDFjIDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS9jb2RlLnJzdAorKysgYi9Eb2MvbGlicmFyeS9jb2RlLnJzdApAQCAtNCw2ICs0LDcgQEAKIC4uIG1vZHVsZTo6IGNvZGUKICAgIDpzeW5vcHNpczogRmFjaWxpdGllcyB0byBpbXBsZW1lbnQgcmVhZC1ldmFsLXByaW50IGxvb3BzLgogCisqKlNvdXJjZSBjb2RlOioqIDpzb3VyY2U6YExpYi9jb2RlLnB5YAogCiBUaGUgYGBjb2RlYGAgbW9kdWxlIHByb3ZpZGVzIGZhY2lsaXRpZXMgdG8gaW1wbGVtZW50IHJlYWQtZXZhbC1wcmludCBsb29wcyBpbgogUHl0aG9uLiAgVHdvIGNsYXNzZXMgYW5kIGNvbnZlbmllbmNlIGZ1bmN0aW9ucyBhcmUgaW5jbHVkZWQgd2hpY2ggY2FuIGJlIHVzZWQgdG8KQEAgLTExMyw2ICsxMTQsOSBAQAogICAgYmVjYXVzZSBpdCBpcyB3aXRoaW4gdGhlIGludGVycHJldGVyIG9iamVjdCBpbXBsZW1lbnRhdGlvbi4gVGhlIG91dHB1dCBpcwogICAgd3JpdHRlbiBieSB0aGUgOm1ldGg6YHdyaXRlYCBtZXRob2QuCiAKKyAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy41IFRoZSBmdWxsIGNoYWluZWQgdHJhY2ViYWNrIGlzIGRpc3BsYXllZCBpbnN0ZWFkCisgICAgICBvZiBqdXN0IHRoZSBwcmltYXJ5IHRyYWNlYmFjay4KKwogCiAuLiBtZXRob2Q6OiBJbnRlcmFjdGl2ZUludGVycHJldGVyLndyaXRlKGRhdGEpCiAKQEAgLTE2NSw0ICsxNjksMyBAQAogICAgbmV3bGluZS4gIFdoZW4gdGhlIHVzZXIgZW50ZXJzIHRoZSBFT0Yga2V5IHNlcXVlbmNlLCA6ZXhjOmBFT0ZFcnJvcmAgaXMgcmFpc2VkLgogICAgVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gcmVhZHMgZnJvbSBgYHN5cy5zdGRpbmBgOyBhIHN1YmNsYXNzIG1heSByZXBsYWNlIHRoaXMKICAgIHdpdGggYSBkaWZmZXJlbnQgaW1wbGVtZW50YXRpb24uCi0KZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L2NvZGVjcy5yc3QgYi9Eb2MvbGlicmFyeS9jb2RlY3MucnN0CmluZGV4IDE5ZDcxOTIuLjA0MzBjYjkgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L2NvZGVjcy5yc3QKKysrIGIvRG9jL2xpYnJhcnkvY29kZWNzLnJzdApAQCAtNyw2ICs3LDcgQEAKIC4uIHNlY3Rpb25hdXRob3I6OiBNYXJjLUFuZHLDqSBMZW1idXJnIDxtYWxAbGVtYnVyZy5jb20+CiAuLiBzZWN0aW9uYXV0aG9yOjogTWFydGluIHYuIEzDtndpcyA8bWFydGluQHYubG9ld2lzLmRlPgogCisqKlNvdXJjZSBjb2RlOioqIDpzb3VyY2U6YExpYi9jb2RlY3MucHlgCiAKIC4uIGluZGV4OjoKICAgIHNpbmdsZTogVW5pY29kZQpAQCAtMjksMTAgKzMwLDkgQEAKIFRoZSBtb2R1bGUgZGVmaW5lcyB0aGUgZm9sbG93aW5nIGZ1bmN0aW9ucyBmb3IgZW5jb2RpbmcgYW5kIGRlY29kaW5nIHdpdGgKIGFueSBjb2RlYzoKIAotLi4gZnVuY3Rpb246OiBlbmNvZGUob2JqLCBbZW5jb2RpbmdbLCBlcnJvcnNdXSkKKy4uIGZ1bmN0aW9uOjogZW5jb2RlKG9iaiwgZW5jb2Rpbmc9J3V0Zi04JywgZXJyb3JzPSdzdHJpY3QnKQogCi0gICBFbmNvZGVzICpvYmoqIHVzaW5nIHRoZSBjb2RlYyByZWdpc3RlcmVkIGZvciAqZW5jb2RpbmcqLiBUaGUgZGVmYXVsdAotICAgZW5jb2RpbmcgaXMgYGB1dGYtOGBgLgorICAgRW5jb2RlcyAqb2JqKiB1c2luZyB0aGUgY29kZWMgcmVnaXN0ZXJlZCBmb3IgKmVuY29kaW5nKi4KIAogICAgKkVycm9ycyogbWF5IGJlIGdpdmVuIHRvIHNldCB0aGUgZGVzaXJlZCBlcnJvciBoYW5kbGluZyBzY2hlbWUuIFRoZQogICAgZGVmYXVsdCBlcnJvciBoYW5kbGVyIGlzIGBgJ3N0cmljdCdgYCBtZWFuaW5nIHRoYXQgZW5jb2RpbmcgZXJyb3JzIHJhaXNlCkBAIC00MCwxMCArNDAsOSBAQAogICAgOmV4YzpgVW5pY29kZUVuY29kZUVycm9yYCkuIFJlZmVyIHRvIDpyZWY6YGNvZGVjLWJhc2UtY2xhc3Nlc2AgZm9yIG1vcmUKICAgIGluZm9ybWF0aW9uIG9uIGNvZGVjIGVycm9yIGhhbmRsaW5nLgogCi0uLiBmdW5jdGlvbjo6IGRlY29kZShvYmosIFtlbmNvZGluZ1ssIGVycm9yc11dKQorLi4gZnVuY3Rpb246OiBkZWNvZGUob2JqLCBlbmNvZGluZz0ndXRmLTgnLCBlcnJvcnM9J3N0cmljdCcpCiAKLSAgIERlY29kZXMgKm9iaiogdXNpbmcgdGhlIGNvZGVjIHJlZ2lzdGVyZWQgZm9yICplbmNvZGluZyouIFRoZSBkZWZhdWx0Ci0gICBlbmNvZGluZyBpcyBgYHV0Zi04YGAuCisgICBEZWNvZGVzICpvYmoqIHVzaW5nIHRoZSBjb2RlYyByZWdpc3RlcmVkIGZvciAqZW5jb2RpbmcqLgogCiAgICAqRXJyb3JzKiBtYXkgYmUgZ2l2ZW4gdG8gc2V0IHRoZSBkZXNpcmVkIGVycm9yIGhhbmRsaW5nIHNjaGVtZS4gVGhlCiAgICBkZWZhdWx0IGVycm9yIGhhbmRsZXIgaXMgYGAnc3RyaWN0J2BgIG1lYW5pbmcgdGhhdCBkZWNvZGluZyBlcnJvcnMgcmFpc2UKQEAgLTEwNCw3ICsxMDMsNiBAQAogVG8gc2ltcGxpZnkgYWNjZXNzIHRvIHRoZSB2YXJpb3VzIGNvZGVjIGNvbXBvbmVudHMsIHRoZSBtb2R1bGUgcHJvdmlkZXMKIHRoZXNlIGFkZGl0aW9uYWwgZnVuY3Rpb25zIHdoaWNoIHVzZSA6ZnVuYzpgbG9va3VwYCBmb3IgdGhlIGNvZGVjIGxvb2t1cDoKIAotCiAuLiBmdW5jdGlvbjo6IGdldGVuY29kZXIoZW5jb2RpbmcpCiAKICAgIExvb2sgdXAgdGhlIGNvZGVjIGZvciB0aGUgZ2l2ZW4gZW5jb2RpbmcgYW5kIHJldHVybiBpdHMgZW5jb2RlciBmdW5jdGlvbi4KQEAgLTI3NCw2ICsyNzIsNyBAQAogY29kZWMgd2lsbCBoYW5kbGUgZW5jb2RpbmcgYW5kIGRlY29kaW5nIGVycm9ycy4KIAogCisuLiBfc3Vycm9nYXRlZXNjYXBlOgogLi4gX2Vycm9yLWhhbmRsZXJzOgogCiBFcnJvciBIYW5kbGVycwpAQCAtMzE1LDEwICszMTQsMTQgQEAKIHwgICAgICAgICAgICAgICAgICAgICAgICAgfCByZWZlcmVuY2UgKG9ubHkgZm9yIGVuY29kaW5nKS4gIEltcGxlbWVudGVkICAgfAogfCAgICAgICAgICAgICAgICAgICAgICAgICB8IGluIDpmdW5jOmB4bWxjaGFycmVmcmVwbGFjZV9lcnJvcnNgLiAgICAgICAgICB8CiArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKLXwgYGAnYmFja3NsYXNocmVwbGFjZSdgYCAgfCBSZXBsYWNlIHdpdGggYmFja3NsYXNoZWQgZXNjYXBlIHNlcXVlbmNlcyAgICAgfAotfCAgICAgICAgICAgICAgICAgICAgICAgICB8IChvbmx5IGZvciBlbmNvZGluZykuICBJbXBsZW1lbnRlZCBpbiAgICAgICAgICB8Cit8IGBgJ2JhY2tzbGFzaHJlcGxhY2UnYGAgIHwgUmVwbGFjZSB3aXRoIGJhY2tzbGFzaGVkIGVzY2FwZSBzZXF1ZW5jZXMuICAgIHwKK3wgICAgICAgICAgICAgICAgICAgICAgICAgfCBJbXBsZW1lbnRlZCBpbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAogfCAgICAgICAgICAgICAgICAgICAgICAgICB8IDpmdW5jOmBiYWNrc2xhc2hyZXBsYWNlX2Vycm9yc2AuICAgICAgICAgICAgICB8CiArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKK3wgYGAnbmFtZXJlcGxhY2UnYGAgICAgICAgfCBSZXBsYWNlIHdpdGggYGBcTnsuLi59YGAgZXNjYXBlIHNlcXVlbmNlcyAgICAgfAorfCAgICAgICAgICAgICAgICAgICAgICAgICB8IChvbmx5IGZvciBlbmNvZGluZykuICBJbXBsZW1lbnRlZCBpbiAgICAgICAgICB8Cit8ICAgICAgICAgICAgICAgICAgICAgICAgIHwgOmZ1bmM6YG5hbWVyZXBsYWNlX2Vycm9yc2AuICAgICAgICAgICAgICAgICAgIHwKKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwogfCBgYCdzdXJyb2dhdGVlc2NhcGUnYGAgICB8IE9uIGRlY29kaW5nLCByZXBsYWNlIGJ5dGUgd2l0aCBpbmRpdmlkdWFsICAgICB8CiB8ICAgICAgICAgICAgICAgICAgICAgICAgIHwgc3Vycm9nYXRlIGNvZGUgcmFuZ2luZyBmcm9tIGBgVStEQzgwYGAgdG8gICAgIHwKIHwgICAgICAgICAgICAgICAgICAgICAgICAgfCBgYFUrRENGRmBgLiAgVGhpcyBjb2RlIHdpbGwgdGhlbiBiZSB0dXJuZWQgICAgfApAQCAtMzQ0LDYgKzM0NywxMyBAQAogLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjQKICAgIFRoZSBgYCdzdXJyb2dhdGVwYXNzJ2BgIGVycm9yIGhhbmRsZXJzIG5vdyB3b3JrcyB3aXRoIHV0Zi0xNlwqIGFuZCB1dGYtMzJcKiBjb2RlY3MuCiAKKy4uIHZlcnNpb25hZGRlZDo6IDMuNQorICAgVGhlIGBgJ25hbWVyZXBsYWNlJ2BgIGVycm9yIGhhbmRsZXIuCisKKy4uIHZlcnNpb25jaGFuZ2VkOjogMy41CisgICBUaGUgYGAnYmFja3NsYXNocmVwbGFjZSdgYCBlcnJvciBoYW5kbGVycyBub3cgd29ya3Mgd2l0aCBkZWNvZGluZyBhbmQKKyAgIHRyYW5zbGF0aW5nLgorCiBUaGUgc2V0IG9mIGFsbG93ZWQgdmFsdWVzIGNhbiBiZSBleHRlbmRlZCBieSByZWdpc3RlcmluZyBhIG5ldyBuYW1lZCBlcnJvcgogaGFuZGxlcjoKIApAQCAtNDExLDkgKzQyMSwxNyBAQAogCiAuLiBmdW5jdGlvbjo6IGJhY2tzbGFzaHJlcGxhY2VfZXJyb3JzKGV4Y2VwdGlvbikKIAotICAgSW1wbGVtZW50cyB0aGUgYGAnYmFja3NsYXNocmVwbGFjZSdgYCBlcnJvciBoYW5kbGluZyAoZm9yIGVuY29kaW5nIHdpdGgKKyAgIEltcGxlbWVudHMgdGhlIGBgJ2JhY2tzbGFzaHJlcGxhY2UnYGAgZXJyb3IgaGFuZGxpbmcgKGZvcgorICAgOnRlcm06YHRleHQgZW5jb2RpbmdzIDx0ZXh0IGVuY29kaW5nPmAgb25seSk6IG1hbGZvcm1lZCBkYXRhIGlzCisgICByZXBsYWNlZCBieSBhIGJhY2tzbGFzaGVkIGVzY2FwZSBzZXF1ZW5jZS4KKworLi4gZnVuY3Rpb246OiBuYW1lcmVwbGFjZV9lcnJvcnMoZXhjZXB0aW9uKQorCisgICBJbXBsZW1lbnRzIHRoZSBgYCduYW1lcmVwbGFjZSdgYCBlcnJvciBoYW5kbGluZyAoZm9yIGVuY29kaW5nIHdpdGgKICAgIDp0ZXJtOmB0ZXh0IGVuY29kaW5ncyA8dGV4dCBlbmNvZGluZz5gIG9ubHkpOiB0aGUKLSAgIHVuZW5jb2RhYmxlIGNoYXJhY3RlciBpcyByZXBsYWNlZCBieSBhIGJhY2tzbGFzaGVkIGVzY2FwZSBzZXF1ZW5jZS4KKyAgIHVuZW5jb2RhYmxlIGNoYXJhY3RlciBpcyByZXBsYWNlZCBieSBhIGBgXE57Li4ufWBgIGVzY2FwZSBzZXF1ZW5jZS4KKworICAgLi4gdmVyc2lvbmFkZGVkOjogMy41CiAKIAogLi4gX2NvZGVjLW9iamVjdHM6CkBAIC0xNDQ0LDQgKzE0NjIsMyBAQAogQk9NIHdpbGwgYmUgcHJlcGVuZGVkIHRvIHRoZSBVVEYtOCBlbmNvZGVkIGJ5dGVzLiBGb3IgdGhlIHN0YXRlZnVsIGVuY29kZXIgdGhpcwogaXMgb25seSBkb25lIG9uY2UgKG9uIHRoZSBmaXJzdCB3cml0ZSB0byB0aGUgYnl0ZSBzdHJlYW0pLiAgRm9yIGRlY29kaW5nIGFuCiBvcHRpb25hbCBVVEYtOCBlbmNvZGVkIEJPTSBhdCB0aGUgc3RhcnQgb2YgdGhlIGRhdGEgd2lsbCBiZSBza2lwcGVkLgotCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9jb2xsZWN0aW9ucy5hYmMucnN0IGIvRG9jL2xpYnJhcnkvY29sbGVjdGlvbnMuYWJjLnJzdAppbmRleCA1OTllOWZhLi45OWM0MzExIDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS9jb2xsZWN0aW9ucy5hYmMucnN0CisrKyBiL0RvYy9saWJyYXJ5L2NvbGxlY3Rpb25zLmFiYy5yc3QKQEAgLTE3OSw3ICsxNzksNyBAQAogKDMpCiAgICBUaGUgOmNsYXNzOmBTZXRgIG1peGluIHByb3ZpZGVzIGEgOm1ldGg6YF9oYXNoYCBtZXRob2QgdG8gY29tcHV0ZSBhIGhhc2ggdmFsdWUKICAgIGZvciB0aGUgc2V0OyBob3dldmVyLCA6bWV0aDpgX19oYXNoX19gIGlzIG5vdCBkZWZpbmVkIGJlY2F1c2Ugbm90IGFsbCBzZXRzCi0gICBhcmUgaGFzaGFibGUgb3IgaW1tdXRhYmxlLiAgVG8gYWRkIHNldCBoYXNoYWJpbHR5IHVzaW5nIG1peGlucywKKyAgIGFyZSBoYXNoYWJsZSBvciBpbW11dGFibGUuICBUbyBhZGQgc2V0IGhhc2hhYmlsaXR5IHVzaW5nIG1peGlucywKICAgIGluaGVyaXQgZnJvbSBib3RoIDptZXRoOmBTZXRgIGFuZCA6bWV0aDpgSGFzaGFibGVgLCB0aGVuIGRlZmluZQogICAgYGBfX2hhc2hfXyA9IFNldC5faGFzaGBgLgogCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9jb2xsZWN0aW9ucy5yc3QgYi9Eb2MvbGlicmFyeS9jb2xsZWN0aW9ucy5yc3QKaW5kZXggMGFjZGUxMi4uYzIxZjQ1NiAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvY29sbGVjdGlvbnMucnN0CisrKyBiL0RvYy9saWJyYXJ5L2NvbGxlY3Rpb25zLnJzdApAQCAtOTgyLDEyICs5ODIsMTUgQEAKIGtleXdvcmQgYXJndW1lbnRzLCBidXQgdGhlaXIgb3JkZXIgaXMgbG9zdCBiZWNhdXNlIFB5dGhvbidzIGZ1bmN0aW9uIGNhbGwKIHNlbWFudGljcyBwYXNzLWluIGtleXdvcmQgYXJndW1lbnRzIHVzaW5nIGEgcmVndWxhciB1bm9yZGVyZWQgZGljdGlvbmFyeS4KIAorLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjUKKyAgIFRoZSBpdGVtcywga2V5cywgYW5kIHZhbHVlcyA6dGVybTpgdmlld3MgPHZpZXc+YCBvZiA6Y2xhc3M6YE9yZGVyZWREaWN0YCBub3cKKyAgIHN1cHBvcnQgcmV2ZXJzZSBpdGVyYXRpb24gdXNpbmcgOmZ1bmM6YHJldmVyc2VkYC4KIAogOmNsYXNzOmBPcmRlcmVkRGljdGAgRXhhbXBsZXMgYW5kIFJlY2lwZXMKIF5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eCiAKIFNpbmNlIGFuIG9yZGVyZWQgZGljdGlvbmFyeSByZW1lbWJlcnMgaXRzIGluc2VydGlvbiBvcmRlciwgaXQgY2FuIGJlIHVzZWQKLWluIGNvbmp1Y3Rpb24gd2l0aCBzb3J0aW5nIHRvIG1ha2UgYSBzb3J0ZWQgZGljdGlvbmFyeTo6CitpbiBjb25qdW5jdGlvbiB3aXRoIHNvcnRpbmcgdG8gbWFrZSBhIHNvcnRlZCBkaWN0aW9uYXJ5OjoKIAogICAgID4+PiAjIHJlZ3VsYXIgdW5zb3J0ZWQgZGljdGlvbmFyeQogICAgID4+PiBkID0geydiYW5hbmEnOiAzLCAnYXBwbGUnOjQsICdwZWFyJzogMSwgJ29yYW5nZSc6IDJ9CmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9jb21waWxlYWxsLnJzdCBiL0RvYy9saWJyYXJ5L2NvbXBpbGVhbGwucnN0CmluZGV4IDk3MTJkZTIuLjQzMDM2MmUgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L2NvbXBpbGVhbGwucnN0CisrKyBiL0RvYy9saWJyYXJ5L2NvbXBpbGVhbGwucnN0CkBAIC00Miw3ICs0Miw4IEBACiAKIC4uIGNtZG9wdGlvbjo6IC1xCiAKLSAgIERvIG5vdCBwcmludCB0aGUgbGlzdCBvZiBmaWxlcyBjb21waWxlZCwgcHJpbnQgb25seSBlcnJvciBtZXNzYWdlcy4KKyAgIERvIG5vdCBwcmludCB0aGUgbGlzdCBvZiBmaWxlcyBjb21waWxlZC4gSWYgcGFzc2VkIG9uY2UsIGVycm9yIG1lc3NhZ2VzIHdpbGwKKyAgIHN0aWxsIGJlIHByaW50ZWQuIElmIHBhc3NlZCB0d2ljZSAoYGAtcXFgYCksIGFsbCBvdXRwdXQgaXMgc3VwcHJlc3NlZC4KIAogLi4gY21kb3B0aW9uOjogLWQgZGVzdGRpcgogCkBAIC03MCw5ICs3MSwyOSBAQAogICAgaXMgdG8gd3JpdGUgZmlsZXMgdG8gdGhlaXIgOnBlcDpgMzE0N2AgbG9jYXRpb25zIGFuZCBuYW1lcywgd2hpY2ggYWxsb3dzCiAgICBieXRlLWNvZGUgZmlsZXMgZnJvbSBtdWx0aXBsZSB2ZXJzaW9ucyBvZiBQeXRob24gdG8gY29leGlzdC4KIAorLi4gY21kb3B0aW9uOjogLXIKKworICAgQ29udHJvbCB0aGUgbWF4aW11bSByZWN1cnNpb24gbGV2ZWwgZm9yIHN1YmRpcmVjdG9yaWVzLgorICAgSWYgdGhpcyBpcyBnaXZlbiwgdGhlbiBgYC1sYGAgb3B0aW9uIHdpbGwgbm90IGJlIHRha2VuIGludG8gYWNjb3VudC4KKyAgIDpwcm9ncmFtOmBweXRob24gLW0gY29tcGlsZWFsbCA8ZGlyZWN0b3J5PiAtciAwYCBpcyBlcXVpdmFsZW50IHRvCisgICA6cHJvZ3JhbTpgcHl0aG9uIC1tIGNvbXBpbGVhbGwgPGRpcmVjdG9yeT4gLWxgLgorCisuLiBjbWRvcHRpb246OiAtaiBOCisKKyAgIFVzZSAqTiogd29ya2VycyB0byBjb21waWxlIHRoZSBmaWxlcyB3aXRoaW4gdGhlIGdpdmVuIGRpcmVjdG9yeS4KKyAgIElmIGBgMGBgIGlzIHVzZWQsIHRoZW4gdGhlIHJlc3VsdCBvZiA6ZnVuYzpgb3MuY3B1X2NvdW50KClgCisgICB3aWxsIGJlIHVzZWQuCisKIC4uIHZlcnNpb25jaGFuZ2VkOjogMy4yCiAgICBBZGRlZCB0aGUgYGAtaWBgLCBgYC1iYGAgYW5kIGBgLWhgYCBvcHRpb25zLgogCisuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuNQorICAgQWRkZWQgdGhlICBgYC1qYGAgYW5kIGBgLXJgYCBvcHRpb25zLgorCisuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuNQorICAgYGAtcWBgIG9wdGlvbiB3YXMgY2hhbmdlZCB0byBhIG11bHRpbGV2ZWwgdmFsdWUuCisKKwogVGhlcmUgaXMgbm8gY29tbWFuZC1saW5lIG9wdGlvbiB0byBjb250cm9sIHRoZSBvcHRpbWl6YXRpb24gbGV2ZWwgdXNlZCBieSB0aGUKIDpmdW5jOmBjb21waWxlYCBmdW5jdGlvbiwgYmVjYXVzZSB0aGUgUHl0aG9uIGludGVycHJldGVyIGl0c2VsZiBhbHJlYWR5CiBwcm92aWRlcyB0aGUgb3B0aW9uOiA6cHJvZ3JhbTpgcHl0aG9uIC1PIC1tIGNvbXBpbGVhbGxgLgpAQCAtODAsNyArMTAxLDcgQEAKIFB1YmxpYyBmdW5jdGlvbnMKIC0tLS0tLS0tLS0tLS0tLS0KIAotLi4gZnVuY3Rpb246OiBjb21waWxlX2RpcihkaXIsIG1heGxldmVscz0xMCwgZGRpcj1Ob25lLCBmb3JjZT1GYWxzZSwgcng9Tm9uZSwgcXVpZXQ9RmFsc2UsIGxlZ2FjeT1GYWxzZSwgb3B0aW1pemU9LTEpCisuLiBmdW5jdGlvbjo6IGNvbXBpbGVfZGlyKGRpciwgbWF4bGV2ZWxzPTEwLCBkZGlyPU5vbmUsIGZvcmNlPUZhbHNlLCByeD1Ob25lLCBxdWlldD0wLCBsZWdhY3k9RmFsc2UsIG9wdGltaXplPS0xLCB3b3JrZXJzPTEpCiAKICAgIFJlY3Vyc2l2ZWx5IGRlc2NlbmQgdGhlIGRpcmVjdG9yeSB0cmVlIG5hbWVkIGJ5ICpkaXIqLCBjb21waWxpbmcgYWxsIDpmaWxlOmAucHlgCiAgICBmaWxlcyBhbG9uZyB0aGUgd2F5LgpAQCAtMTAxLDggKzEyMiw5IEBACiAgICBmaWxlIGNvbnNpZGVyZWQgZm9yIGNvbXBpbGF0aW9uLCBhbmQgaWYgaXQgcmV0dXJucyBhIHRydWUgdmFsdWUsIHRoZSBmaWxlCiAgICBpcyBza2lwcGVkLgogCi0gICBJZiAqcXVpZXQqIGlzIHRydWUsIG5vdGhpbmcgaXMgcHJpbnRlZCB0byB0aGUgc3RhbmRhcmQgb3V0cHV0IHVubGVzcyBlcnJvcnMKLSAgIG9jY3VyLgorICAgSWYgKnF1aWV0KiBpcyBgYEZhbHNlYGAgb3IgYGAwYGAgKHRoZSBkZWZhdWx0KSwgdGhlIGZpbGVuYW1lcyBhbmQgb3RoZXIKKyAgIGluZm9ybWF0aW9uIGFyZSBwcmludGVkIHRvIHN0YW5kYXJkIG91dC4gU2V0IHRvIGBgMWBgLCBvbmx5IGVycm9ycyBhcmUKKyAgIHByaW50ZWQuIFNldCB0byBgYDJgYCwgYWxsIG91dHB1dCBpcyBzdXBwcmVzc2VkLgogCiAgICBJZiAqbGVnYWN5KiBpcyB0cnVlLCBieXRlLWNvZGUgZmlsZXMgYXJlIHdyaXR0ZW4gdG8gdGhlaXIgbGVnYWN5IGxvY2F0aW9ucwogICAgYW5kIG5hbWVzLCB3aGljaCBtYXkgb3ZlcndyaXRlIGJ5dGUtY29kZSBmaWxlcyBjcmVhdGVkIGJ5IGFub3RoZXIgdmVyc2lvbiBvZgpAQCAtMTEzLDExICsxMzUsMjIgQEAKICAgICpvcHRpbWl6ZSogc3BlY2lmaWVzIHRoZSBvcHRpbWl6YXRpb24gbGV2ZWwgZm9yIHRoZSBjb21waWxlci4gIEl0IGlzIHBhc3NlZCB0bwogICAgdGhlIGJ1aWx0LWluIDpmdW5jOmBjb21waWxlYCBmdW5jdGlvbi4KIAorICAgVGhlIGFyZ3VtZW50ICp3b3JrZXJzKiBzcGVjaWZpZXMgaG93IG1hbnkgd29ya2VycyBhcmUgdXNlZCB0bworICAgY29tcGlsZSBmaWxlcyBpbiBwYXJhbGxlbC4gVGhlIGRlZmF1bHQgaXMgdG8gbm90IHVzZSBtdWx0aXBsZSB3b3JrZXJzLgorICAgSWYgdGhlIHBsYXRmb3JtIGNhbid0IHVzZSBtdWx0aXBsZSB3b3JrZXJzIGFuZCAqd29ya2VycyogYXJndW1lbnQgaXMgZ2l2ZW4sCisgICB0aGVuIGEgOmV4YzpgTm90SW1wbGVtZW50ZWRFcnJvcmAgd2lsbCBiZSByYWlzZWQuCisgICBJZiAqd29ya2VycyogaXMgbG93ZXIgdGhhbiBgYDBgYCwgYSA6ZXhjOmBWYWx1ZUVycm9yYCB3aWxsIGJlIHJhaXNlZC4KKwogICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjIKICAgICAgIEFkZGVkIHRoZSAqbGVnYWN5KiBhbmQgKm9wdGltaXplKiBwYXJhbWV0ZXIuCiAKKyAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy41CisgICAgICBBZGRlZCB0aGUgKndvcmtlcnMqIHBhcmFtZXRlci4KIAotLi4gZnVuY3Rpb246OiBjb21waWxlX2ZpbGUoZnVsbG5hbWUsIGRkaXI9Tm9uZSwgZm9yY2U9RmFsc2UsIHJ4PU5vbmUsIHF1aWV0PUZhbHNlLCBsZWdhY3k9RmFsc2UsIG9wdGltaXplPS0xKQorICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjUKKyAgICAgICpxdWlldCogcGFyYW1ldGVyIHdhcyBjaGFuZ2VkIHRvIGEgbXVsdGlsZXZlbCB2YWx1ZS4KKworLi4gZnVuY3Rpb246OiBjb21waWxlX2ZpbGUoZnVsbG5hbWUsIGRkaXI9Tm9uZSwgZm9yY2U9RmFsc2UsIHJ4PU5vbmUsIHF1aWV0PTAsIGxlZ2FjeT1GYWxzZSwgb3B0aW1pemU9LTEpCiAKICAgIENvbXBpbGUgdGhlIGZpbGUgd2l0aCBwYXRoICpmdWxsbmFtZSouCiAKQEAgLTEzMSw4ICsxNjQsOSBAQAogICAgZmlsZSBiZWluZyBjb21waWxlZCwgYW5kIGlmIGl0IHJldHVybnMgYSB0cnVlIHZhbHVlLCB0aGUgZmlsZSBpcyBub3QKICAgIGNvbXBpbGVkIGFuZCBgYFRydWVgYCBpcyByZXR1cm5lZC4KIAotICAgSWYgKnF1aWV0KiBpcyB0cnVlLCBub3RoaW5nIGlzIHByaW50ZWQgdG8gdGhlIHN0YW5kYXJkIG91dHB1dCB1bmxlc3MgZXJyb3JzCi0gICBvY2N1ci4KKyAgIElmICpxdWlldCogaXMgYGBGYWxzZWBgIG9yIGBgMGBgICh0aGUgZGVmYXVsdCksIHRoZSBmaWxlbmFtZXMgYW5kIG90aGVyCisgICBpbmZvcm1hdGlvbiBhcmUgcHJpbnRlZCB0byBzdGFuZGFyZCBvdXQuIFNldCB0byBgYDFgYCwgb25seSBlcnJvcnMgYXJlCisgICBwcmludGVkLiBTZXQgdG8gYGAyYGAsIGFsbCBvdXRwdXQgaXMgc3VwcHJlc3NlZC4KIAogICAgSWYgKmxlZ2FjeSogaXMgdHJ1ZSwgYnl0ZS1jb2RlIGZpbGVzIGFyZSB3cml0dGVuIHRvIHRoZWlyIGxlZ2FjeSBsb2NhdGlvbnMKICAgIGFuZCBuYW1lcywgd2hpY2ggbWF5IG92ZXJ3cml0ZSBieXRlLWNvZGUgZmlsZXMgY3JlYXRlZCBieSBhbm90aGVyIHZlcnNpb24gb2YKQEAgLTE0NSw4ICsxNzksMTAgQEAKIAogICAgLi4gdmVyc2lvbmFkZGVkOjogMy4yCiAKKyAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy41CisgICAgICAqcXVpZXQqIHBhcmFtZXRlciB3YXMgY2hhbmdlZCB0byBhIG11bHRpbGV2ZWwgdmFsdWUuCiAKLS4uIGZ1bmN0aW9uOjogY29tcGlsZV9wYXRoKHNraXBfY3VyZGlyPVRydWUsIG1heGxldmVscz0wLCBmb3JjZT1GYWxzZSwgbGVnYWN5PUZhbHNlLCBvcHRpbWl6ZT0tMSkKKy4uIGZ1bmN0aW9uOjogY29tcGlsZV9wYXRoKHNraXBfY3VyZGlyPVRydWUsIG1heGxldmVscz0wLCBmb3JjZT1GYWxzZSwgcXVpZXQ9MCwgbGVnYWN5PUZhbHNlLCBvcHRpbWl6ZT0tMSkKIAogICAgQnl0ZS1jb21waWxlIGFsbCB0aGUgOmZpbGU6YC5weWAgZmlsZXMgZm91bmQgYWxvbmcgYGBzeXMucGF0aGBgLiBJZgogICAgKnNraXBfY3VyZGlyKiBpcyB0cnVlICh0aGUgZGVmYXVsdCksIHRoZSBjdXJyZW50IGRpcmVjdG9yeSBpcyBub3QgaW5jbHVkZWQKQEAgLTE1Nyw2ICsxOTMsOCBAQAogICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjIKICAgICAgIEFkZGVkIHRoZSAqbGVnYWN5KiBhbmQgKm9wdGltaXplKiBwYXJhbWV0ZXIuCiAKKyAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy41CisgICAgICAqcXVpZXQqIHBhcmFtZXRlciB3YXMgY2hhbmdlZCB0byBhIG11bHRpbGV2ZWwgdmFsdWUuCiAKIFRvIGZvcmNlIGEgcmVjb21waWxlIG9mIGFsbCB0aGUgOmZpbGU6YC5weWAgZmlsZXMgaW4gdGhlIDpmaWxlOmBMaWIvYAogc3ViZGlyZWN0b3J5IGFuZCBhbGwgaXRzIHN1YmRpcmVjdG9yaWVzOjoKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L2NvbmN1cnJlbnQuZnV0dXJlcy5yc3QgYi9Eb2MvbGlicmFyeS9jb25jdXJyZW50LmZ1dHVyZXMucnN0CmluZGV4IGJkNTY2OTYuLmMxNzczNDAgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L2NvbmN1cnJlbnQuZnV0dXJlcy5yc3QKKysrIGIvRG9jL2xpYnJhcnkvY29uY3VycmVudC5mdXR1cmVzLnJzdApAQCAtMzgsNyArMzgsNyBAQAogICAgICAgICAgICAgICBmdXR1cmUgPSBleGVjdXRvci5zdWJtaXQocG93LCAzMjMsIDEyMzUpCiAgICAgICAgICAgICAgIHByaW50KGZ1dHVyZS5yZXN1bHQoKSkKIAotICAgIC4uIG1ldGhvZDo6IG1hcChmdW5jLCAqaXRlcmFibGVzLCB0aW1lb3V0PU5vbmUpCisgICAgLi4gbWV0aG9kOjogbWFwKGZ1bmMsICppdGVyYWJsZXMsIHRpbWVvdXQ9Tm9uZSwgY2h1bmtzaXplPTEpCiAKICAgICAgICBFcXVpdmFsZW50IHRvIDpmdW5jOmBtYXAoZnVuYywgKml0ZXJhYmxlcykgPG1hcD5gIGV4Y2VwdCAqZnVuYyogaXMgZXhlY3V0ZWQKICAgICAgICBhc3luY2hyb25vdXNseSBhbmQgc2V2ZXJhbCBjYWxscyB0byAqZnVuYyogbWF5IGJlIG1hZGUgY29uY3VycmVudGx5LiAgVGhlCkBAIC00OCw3ICs0OCwxNiBAQAogICAgICAgICp0aW1lb3V0KiBjYW4gYmUgYW4gaW50IG9yIGEgZmxvYXQuICBJZiAqdGltZW91dCogaXMgbm90IHNwZWNpZmllZCBvcgogICAgICAgIGBgTm9uZWBgLCB0aGVyZSBpcyBubyBsaW1pdCB0byB0aGUgd2FpdCB0aW1lLiAgSWYgYSBjYWxsIHJhaXNlcyBhbgogICAgICAgIGV4Y2VwdGlvbiwgdGhlbiB0aGF0IGV4Y2VwdGlvbiB3aWxsIGJlIHJhaXNlZCB3aGVuIGl0cyB2YWx1ZSBpcwotICAgICAgIHJldHJpZXZlZCBmcm9tIHRoZSBpdGVyYXRvci4KKyAgICAgICByZXRyaWV2ZWQgZnJvbSB0aGUgaXRlcmF0b3IuIFdoZW4gdXNpbmcgOmNsYXNzOmBQcm9jZXNzUG9vbEV4ZWN1dG9yYCwgdGhpcworICAgICAgIG1ldGhvZCBjaG9wcyAqaXRlcmFibGVzKiBpbnRvIGEgbnVtYmVyIG9mIGNodW5rcyB3aGljaCBpdCBzdWJtaXRzIHRvIHRoZQorICAgICAgIHBvb2wgYXMgc2VwYXJhdGUgdGFza3MuIFRoZSAoYXBwcm94aW1hdGUpIHNpemUgb2YgdGhlc2UgY2h1bmtzIGNhbiBiZQorICAgICAgIHNwZWNpZmllZCBieSBzZXR0aW5nICpjaHVua3NpemUqIHRvIGEgcG9zaXRpdmUgaW50ZWdlci4gRm9yIHZlcnkgbG9uZworICAgICAgIGl0ZXJhYmxlcywgdXNpbmcgYSBsYXJnZSB2YWx1ZSBmb3IgKmNodW5rc2l6ZSogY2FuIHNpZ25pZmljYW50bHkgaW1wcm92ZQorICAgICAgIHBlcmZvcm1hbmNlIGNvbXBhcmVkIHRvIHRoZSBkZWZhdWx0IHNpemUgb2YgMS4gV2l0aCA6Y2xhc3M6YFRocmVhZFBvb2xFeGVjdXRvcmAsCisgICAgICAgKmNodW5rc2l6ZSogaGFzIG5vIGVmZmVjdC4KKworICAgICAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy41CisgICAgICAgICAgQWRkZWQgdGhlICpjaHVua3NpemUqIGFyZ3VtZW50LgogCiAgICAgLi4gbWV0aG9kOjogc2h1dGRvd24od2FpdD1UcnVlKQogCkBAIC0xMTUsMTEgKzEyNCwxOSBAQAogICAgZXhlY3V0b3Iuc3VibWl0KHdhaXRfb25fZnV0dXJlKQogCiAKLS4uIGNsYXNzOjogVGhyZWFkUG9vbEV4ZWN1dG9yKG1heF93b3JrZXJzKQorLi4gY2xhc3M6OiBUaHJlYWRQb29sRXhlY3V0b3IobWF4X3dvcmtlcnM9Tm9uZSkKIAogICAgQW4gOmNsYXNzOmBFeGVjdXRvcmAgc3ViY2xhc3MgdGhhdCB1c2VzIGEgcG9vbCBvZiBhdCBtb3N0ICptYXhfd29ya2VycyoKICAgIHRocmVhZHMgdG8gZXhlY3V0ZSBjYWxscyBhc3luY2hyb25vdXNseS4KIAorICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjUKKyAgICAgIElmICptYXhfd29ya2VycyogaXMgYGBOb25lYGAgb3IKKyAgICAgIG5vdCBnaXZlbiwgaXQgd2lsbCBkZWZhdWx0IHRvIHRoZSBudW1iZXIgb2YgcHJvY2Vzc29ycyBvbiB0aGUgbWFjaGluZSwKKyAgICAgIG11bHRpcGxpZWQgYnkgYGA1YGAsIGFzc3VtaW5nIHRoYXQgOmNsYXNzOmBUaHJlYWRQb29sRXhlY3V0b3JgIGlzIG9mdGVuCisgICAgICB1c2VkIHRvIG92ZXJsYXAgSS9PIGluc3RlYWQgb2YgQ1BVIHdvcmsgYW5kIHRoZSBudW1iZXIgb2Ygd29ya2VycworICAgICAgc2hvdWxkIGJlIGhpZ2hlciB0aGFuIHRoZSBudW1iZXIgb2Ygd29ya2VycworICAgICAgZm9yIDpjbGFzczpgUHJvY2Vzc1Bvb2xFeGVjdXRvcmAuCisKIAogLi4gX3RocmVhZHBvb2xleGVjdXRvci1leGFtcGxlOgogCkBAIC0xNzUsNiArMTkyLDggQEAKICAgIEFuIDpjbGFzczpgRXhlY3V0b3JgIHN1YmNsYXNzIHRoYXQgZXhlY3V0ZXMgY2FsbHMgYXN5bmNocm9ub3VzbHkgdXNpbmcgYSBwb29sCiAgICBvZiBhdCBtb3N0ICptYXhfd29ya2VycyogcHJvY2Vzc2VzLiAgSWYgKm1heF93b3JrZXJzKiBpcyBgYE5vbmVgYCBvciBub3QKICAgIGdpdmVuLCBpdCB3aWxsIGRlZmF1bHQgdG8gdGhlIG51bWJlciBvZiBwcm9jZXNzb3JzIG9uIHRoZSBtYWNoaW5lLgorICAgSWYgKm1heF93b3JrZXJzKiBpcyBsb3dlciBvciBlcXVhbCB0byBgYDBgYCwgdGhlbiBhIDpleGM6YFZhbHVlRXJyb3JgCisgICB3aWxsIGJlIHJhaXNlZC4KIAogICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjMKICAgICAgIFdoZW4gb25lIG9mIHRoZSB3b3JrZXIgcHJvY2Vzc2VzIHRlcm1pbmF0ZXMgYWJydXB0bHksIGEKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L2NvbmZpZ3BhcnNlci5yc3QgYi9Eb2MvbGlicmFyeS9jb25maWdwYXJzZXIucnN0CmluZGV4IDAyNGQyN2MuLmM5MTg3YTMgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L2NvbmZpZ3BhcnNlci5yc3QKKysrIGIvRG9jL2xpYnJhcnkvY29uZmlncGFyc2VyLnJzdApAQCAtMTEsNiArMTEsOCBAQAogLi4gc2VjdGlvbmF1dGhvcjo6IENocmlzdG9waGVyIEcuIFBldHJpbGxpIDxwZXRyaWxsaUBhbWJlci5vcmc+CiAuLiBzZWN0aW9uYXV0aG9yOjogxYF1a2FzeiBMYW5nYSA8bHVrYXN6QGxhbmdhLnBsPgogCisqKlNvdXJjZSBjb2RlOioqIDpzb3VyY2U6YExpYi9jb25maWdwYXJzZXIucHlgCisKIC4uIGluZGV4OjoKICAgIHBhaXI6IC5pbmk7IGZpbGUKICAgIHBhaXI6IGNvbmZpZ3VyYXRpb247IGZpbGUKQEAgLTE0MiwxMiArMTQ0LDEzIEBACiAgICA+Pj4gZmxvYXQodG9wc2VjcmV0WydDb21wcmVzc2lvbkxldmVsJ10pCiAgICA5LjAKIAotRXh0cmFjdGluZyBCb29sZWFuIHZhbHVlcyBpcyBub3QgdGhhdCBzaW1wbGUsIHRob3VnaC4gIFBhc3NpbmcgdGhlIHZhbHVlCi10byBgYGJvb2woKWBgIHdvdWxkIGRvIG5vIGdvb2Qgc2luY2UgYGBib29sKCdGYWxzZScpYGAgaXMgc3RpbGwKLWBgVHJ1ZWBgLiAgVGhpcyBpcyB3aHkgY29uZmlnIHBhcnNlcnMgYWxzbyBwcm92aWRlIDptZXRoOmBnZXRib29sZWFuYC4KLVRoaXMgbWV0aG9kIGlzIGNhc2UtaW5zZW5zaXRpdmUgYW5kIHJlY29nbml6ZXMgQm9vbGVhbiB2YWx1ZXMgZnJvbQotYGAneWVzJ2BgL2BgJ25vJ2BgLCBgYCdvbidgYC9gYCdvZmYnYGAgYW5kIGBgJzEnYGAvYGAnMCdgYCBbMV1fLgotRm9yIGV4YW1wbGU6CitTaW5jZSB0aGlzIHRhc2sgaXMgc28gY29tbW9uLCBjb25maWcgcGFyc2VycyBwcm92aWRlIGEgcmFuZ2Ugb2YgaGFuZHkgZ2V0dGVyCittZXRob2RzIHRvIGhhbmRsZSBpbnRlZ2VycywgZmxvYXRzIGFuZCBib29sZWFucy4gIFRoZSBsYXN0IG9uZSBpcyB0aGUgbW9zdAoraW50ZXJlc3RpbmcgYmVjYXVzZSBzaW1wbHkgcGFzc2luZyB0aGUgdmFsdWUgdG8gYGBib29sKClgYCB3b3VsZCBkbyBubyBnb29kCitzaW5jZSBgYGJvb2woJ0ZhbHNlJylgYCBpcyBzdGlsbCBgYFRydWVgYC4gIFRoaXMgaXMgd2h5IGNvbmZpZyBwYXJzZXJzIGFsc28KK3Byb3ZpZGUgOm1ldGg6YGdldGJvb2xlYW5gLiAgVGhpcyBtZXRob2QgaXMgY2FzZS1pbnNlbnNpdGl2ZSBhbmQgcmVjb2duaXplcworQm9vbGVhbiB2YWx1ZXMgZnJvbSBgYCd5ZXMnYGAvYGAnbm8nYGAsIGBgJ29uJ2BgL2BgJ29mZidgYCwKK2BgJ3RydWUnYGAvYGAnZmFsc2UnYGAgYW5kIGBgJzEnYGAvYGAnMCdgYCBbMV1fLiAgRm9yIGV4YW1wbGU6CiAKIC4uIGRvY3Rlc3Q6OgogCkBAIC0xNTksMTAgKzE2Miw4IEBACiAgICBUcnVlCiAKIEFwYXJ0IGZyb20gOm1ldGg6YGdldGJvb2xlYW5gLCBjb25maWcgcGFyc2VycyBhbHNvIHByb3ZpZGUgZXF1aXZhbGVudAotOm1ldGg6YGdldGludGAgYW5kIDptZXRoOmBnZXRmbG9hdGAgbWV0aG9kcywgYnV0IHRoZXNlIGFyZSBmYXIgbGVzcwotdXNlZnVsIHNpbmNlIGNvbnZlcnNpb24gdXNpbmcgOmZ1bmM6YGludGAgYW5kIDpmdW5jOmBmbG9hdGAgaXMKLXN1ZmZpY2llbnQgZm9yIHRoZXNlIHR5cGVzLgotCis6bWV0aDpgZ2V0aW50YCBhbmQgOm1ldGg6YGdldGZsb2F0YCBtZXRob2RzLiAgWW91IGNhbiByZWdpc3RlciB5b3VyIG93bgorY29udmVydGVycyBhbmQgY3VzdG9taXplIHRoZSBwcm92aWRlZCBvbmVzLiBbMV1fCiAKIEZhbGxiYWNrIFZhbHVlcwogLS0tLS0tLS0tLS0tLS0tCkBAIC0zMTcsMTEgKzMxOCwxMSBAQAogLi4gY2xhc3M6OiBFeHRlbmRlZEludGVycG9sYXRpb24oKQogCiAgICBBbiBhbHRlcm5hdGl2ZSBoYW5kbGVyIGZvciBpbnRlcnBvbGF0aW9uIHdoaWNoIGltcGxlbWVudHMgYSBtb3JlIGFkdmFuY2VkCi0gICBzeW50YXgsIHVzZWQgZm9yIGluc3RhbmNlIGluIGBgemMuYnVpbGRvdXRgYC4gRXh0ZW5kZWQgaW50ZXJwb2xhdGlvbiBpcworICAgc3ludGF4LCB1c2VkIGZvciBpbnN0YW5jZSBpbiBgYHpjLmJ1aWxkb3V0YGAuICBFeHRlbmRlZCBpbnRlcnBvbGF0aW9uIGlzCiAgICB1c2luZyBgYCR7c2VjdGlvbjpvcHRpb259YGAgdG8gZGVub3RlIGEgdmFsdWUgZnJvbSBhIGZvcmVpZ24gc2VjdGlvbi4KLSAgIEludGVycG9sYXRpb24gY2FuIHNwYW4gbXVsdGlwbGUgbGV2ZWxzLiBGb3IgY29udmVuaWVuY2UsIGlmIHRoZSBgYHNlY3Rpb246YGAKLSAgIHBhcnQgaXMgb21pdHRlZCwgaW50ZXJwb2xhdGlvbiBkZWZhdWx0cyB0byB0aGUgY3VycmVudCBzZWN0aW9uIChhbmQgcG9zc2libHkKLSAgIHRoZSBkZWZhdWx0IHZhbHVlcyBmcm9tIHRoZSBzcGVjaWFsIHNlY3Rpb24pLgorICAgSW50ZXJwb2xhdGlvbiBjYW4gc3BhbiBtdWx0aXBsZSBsZXZlbHMuICBGb3IgY29udmVuaWVuY2UsIGlmIHRoZQorICAgYGBzZWN0aW9uOmBgIHBhcnQgaXMgb21pdHRlZCwgaW50ZXJwb2xhdGlvbiBkZWZhdWx0cyB0byB0aGUgY3VycmVudCBzZWN0aW9uCisgICAoYW5kIHBvc3NpYmx5IHRoZSBkZWZhdWx0IHZhbHVlcyBmcm9tIHRoZSBzcGVjaWFsIHNlY3Rpb24pLgogCiAgICBGb3IgZXhhbXBsZSwgdGhlIGNvbmZpZ3VyYXRpb24gc3BlY2lmaWVkIGFib3ZlIHdpdGggYmFzaWMgaW50ZXJwb2xhdGlvbiwKICAgIHdvdWxkIGxvb2sgbGlrZSB0aGlzIHdpdGggZXh0ZW5kZWQgaW50ZXJwb2xhdGlvbjoKQEAgLTM4Niw3ICszODcsNyBAQAogKiBBbGwgc2VjdGlvbnMgaW5jbHVkZSBgYERFRkFVTFRTRUNUYGAgdmFsdWVzIGFzIHdlbGwgd2hpY2ggbWVhbnMgdGhhdAogICBgYC5jbGVhcigpYGAgb24gYSBzZWN0aW9uIG1heSBub3QgbGVhdmUgdGhlIHNlY3Rpb24gdmlzaWJseSBlbXB0eS4gIFRoaXMgaXMKICAgYmVjYXVzZSBkZWZhdWx0IHZhbHVlcyBjYW5ub3QgYmUgZGVsZXRlZCBmcm9tIHRoZSBzZWN0aW9uIChiZWNhdXNlIHRlY2huaWNhbGx5Ci0gIHRoZXkgYXJlIG5vdCB0aGVyZSkuICBJZiB0aGV5IGFyZSBvdmVycmlkZW4gaW4gdGhlIHNlY3Rpb24sIGRlbGV0aW5nIGNhdXNlcworICB0aGV5IGFyZSBub3QgdGhlcmUpLiAgSWYgdGhleSBhcmUgb3ZlcnJpZGRlbiBpbiB0aGUgc2VjdGlvbiwgZGVsZXRpbmcgY2F1c2VzCiAgIHRoZSBkZWZhdWx0IHZhbHVlIHRvIGJlIHZpc2libGUgYWdhaW4uICBUcnlpbmcgdG8gZGVsZXRlIGEgZGVmYXVsdCB2YWx1ZQogICBjYXVzZXMgYSBgYEtleUVycm9yYGAuCiAKQEAgLTM5OSwxMyArNDAwLDEzIEBACiAgICogYGBwYXJzZXIucG9waXRlbSgpYGAgbmV2ZXIgcmV0dXJucyBpdC4KIAogKiBgYHBhcnNlci5nZXQoc2VjdGlvbiwgb3B0aW9uLCAqKmt3YXJncylgYCAtIHRoZSBzZWNvbmQgYXJndW1lbnQgaXMgKipub3QqKgotICBhIGZhbGxiYWNrIHZhbHVlLiBOb3RlIGhvd2V2ZXIgdGhhdCB0aGUgc2VjdGlvbi1sZXZlbCBgYGdldCgpYGAgbWV0aG9kcyBhcmUKKyAgYSBmYWxsYmFjayB2YWx1ZS4gIE5vdGUgaG93ZXZlciB0aGF0IHRoZSBzZWN0aW9uLWxldmVsIGBgZ2V0KClgYCBtZXRob2RzIGFyZQogICBjb21wYXRpYmxlIGJvdGggd2l0aCB0aGUgbWFwcGluZyBwcm90b2NvbCBhbmQgdGhlIGNsYXNzaWMgY29uZmlncGFyc2VyIEFQSS4KIAogKiBgYHBhcnNlci5pdGVtcygpYGAgaXMgY29tcGF0aWJsZSB3aXRoIHRoZSBtYXBwaW5nIHByb3RvY29sIChyZXR1cm5zIGEgbGlzdCBvZgogICAqc2VjdGlvbl9uYW1lKiwgKnNlY3Rpb25fcHJveHkqIHBhaXJzIGluY2x1ZGluZyB0aGUgREVGQVVMVFNFQ1QpLiAgSG93ZXZlciwKICAgdGhpcyBtZXRob2QgY2FuIGFsc28gYmUgaW52b2tlZCB3aXRoIGFyZ3VtZW50czogYGBwYXJzZXIuaXRlbXMoc2VjdGlvbiwgcmF3LAotICB2YXJzKWBgLiBUaGUgbGF0dGVyIGNhbGwgcmV0dXJucyBhIGxpc3Qgb2YgKm9wdGlvbiosICp2YWx1ZSogcGFpcnMgZm9yCisgIHZhcnMpYGAuICBUaGUgbGF0dGVyIGNhbGwgcmV0dXJucyBhIGxpc3Qgb2YgKm9wdGlvbiosICp2YWx1ZSogcGFpcnMgZm9yCiAgIGEgc3BlY2lmaWVkIGBgc2VjdGlvbmBgLCB3aXRoIGFsbCBpbnRlcnBvbGF0aW9ucyBleHBhbmRlZCAodW5sZXNzCiAgIGBgcmF3PVRydWVgYCBpcyBwcm92aWRlZCkuCiAKQEAgLTUzOSw5ICs1NDAsOSBAQAogCiAqICpkZWxpbWl0ZXJzKiwgZGVmYXVsdCB2YWx1ZTogYGAoJz0nLCAnOicpYGAKIAotICBEZWxpbWl0ZXJzIGFyZSBzdWJzdHJpbmdzIHRoYXQgZGVsaW1pdCBrZXlzIGZyb20gdmFsdWVzIHdpdGhpbiBhIHNlY3Rpb24uIFRoZQotICBmaXJzdCBvY2N1cnJlbmNlIG9mIGEgZGVsaW1pdGluZyBzdWJzdHJpbmcgb24gYSBsaW5lIGlzIGNvbnNpZGVyZWQgYSBkZWxpbWl0ZXIuCi0gIFRoaXMgbWVhbnMgdmFsdWVzIChidXQgbm90IGtleXMpIGNhbiBjb250YWluIHRoZSBkZWxpbWl0ZXJzLgorICBEZWxpbWl0ZXJzIGFyZSBzdWJzdHJpbmdzIHRoYXQgZGVsaW1pdCBrZXlzIGZyb20gdmFsdWVzIHdpdGhpbiBhIHNlY3Rpb24uCisgIFRoZSBmaXJzdCBvY2N1cnJlbmNlIG9mIGEgZGVsaW1pdGluZyBzdWJzdHJpbmcgb24gYSBsaW5lIGlzIGNvbnNpZGVyZWQKKyAgYSBkZWxpbWl0ZXIuICBUaGlzIG1lYW5zIHZhbHVlcyAoYnV0IG5vdCBrZXlzKSBjYW4gY29udGFpbiB0aGUgZGVsaW1pdGVycy4KIAogICBTZWUgYWxzbyB0aGUgKnNwYWNlX2Fyb3VuZF9kZWxpbWl0ZXJzKiBhcmd1bWVudCB0bwogICA6bWV0aDpgQ29uZmlnUGFyc2VyLndyaXRlYC4KQEAgLTU1Myw3ICs1NTQsNyBAQAogICBDb21tZW50IHByZWZpeGVzIGFyZSBzdHJpbmdzIHRoYXQgaW5kaWNhdGUgdGhlIHN0YXJ0IG9mIGEgdmFsaWQgY29tbWVudCB3aXRoaW4KICAgYSBjb25maWcgZmlsZS4gKmNvbW1lbnRfcHJlZml4ZXMqIGFyZSB1c2VkIG9ubHkgb24gb3RoZXJ3aXNlIGVtcHR5IGxpbmVzCiAgIChvcHRpb25hbGx5IGluZGVudGVkKSB3aGVyZWFzICppbmxpbmVfY29tbWVudF9wcmVmaXhlcyogY2FuIGJlIHVzZWQgYWZ0ZXIKLSAgZXZlcnkgdmFsaWQgdmFsdWUgKGUuZy4gIHNlY3Rpb24gbmFtZXMsIG9wdGlvbnMgYW5kIGVtcHR5IGxpbmVzIGFzIHdlbGwpLiBCeQorICBldmVyeSB2YWxpZCB2YWx1ZSAoZS5nLiBzZWN0aW9uIG5hbWVzLCBvcHRpb25zIGFuZCBlbXB0eSBsaW5lcyBhcyB3ZWxsKS4gIEJ5CiAgIGRlZmF1bHQgaW5saW5lIGNvbW1lbnRzIGFyZSBkaXNhYmxlZCBhbmQgYGAnIydgYCBhbmQgYGAnOydgYCBhcmUgdXNlZCBhcwogICBwcmVmaXhlcyBmb3Igd2hvbGUgbGluZSBjb21tZW50cy4KIApAQCAtNTYzLDEwICs1NjQsMTAgQEAKIAogICBQbGVhc2Ugbm90ZSB0aGF0IGNvbmZpZyBwYXJzZXJzIGRvbid0IHN1cHBvcnQgZXNjYXBpbmcgb2YgY29tbWVudCBwcmVmaXhlcyBzbwogICB1c2luZyAqaW5saW5lX2NvbW1lbnRfcHJlZml4ZXMqIG1heSBwcmV2ZW50IHVzZXJzIGZyb20gc3BlY2lmeWluZyBvcHRpb24KLSAgdmFsdWVzIHdpdGggY2hhcmFjdGVycyB1c2VkIGFzIGNvbW1lbnQgcHJlZml4ZXMuIFdoZW4gaW4gZG91YnQsIGF2b2lkIHNldHRpbmcKLSAgKmlubGluZV9jb21tZW50X3ByZWZpeGVzKi4gSW4gYW55IGNpcmN1bXN0YW5jZXMsIHRoZSBvbmx5IHdheSBvZiBzdG9yaW5nCi0gIGNvbW1lbnQgcHJlZml4IGNoYXJhY3RlcnMgYXQgdGhlIGJlZ2lubmluZyBvZiBhIGxpbmUgaW4gbXVsdGlsaW5lIHZhbHVlcyBpcyB0bwotICBpbnRlcnBvbGF0ZSB0aGUgcHJlZml4LCBmb3IgZXhhbXBsZTo6CisgIHZhbHVlcyB3aXRoIGNoYXJhY3RlcnMgdXNlZCBhcyBjb21tZW50IHByZWZpeGVzLiAgV2hlbiBpbiBkb3VidCwgYXZvaWQKKyAgc2V0dGluZyAqaW5saW5lX2NvbW1lbnRfcHJlZml4ZXMqLiAgSW4gYW55IGNpcmN1bXN0YW5jZXMsIHRoZSBvbmx5IHdheSBvZgorICBzdG9yaW5nIGNvbW1lbnQgcHJlZml4IGNoYXJhY3RlcnMgYXQgdGhlIGJlZ2lubmluZyBvZiBhIGxpbmUgaW4gbXVsdGlsaW5lCisgIHZhbHVlcyBpcyB0byBpbnRlcnBvbGF0ZSB0aGUgcHJlZml4LCBmb3IgZXhhbXBsZTo6CiAKICAgICA+Pj4gZnJvbSBjb25maWdwYXJzZXIgaW1wb3J0IENvbmZpZ1BhcnNlciwgRXh0ZW5kZWRJbnRlcnBvbGF0aW9uCiAgICAgPj4+IHBhcnNlciA9IENvbmZpZ1BhcnNlcihpbnRlcnBvbGF0aW9uPUV4dGVuZGVkSW50ZXJwb2xhdGlvbigpKQpAQCAtNjExLDcgKzYxMiw3IEBACiAKICAgV2hlbiBzZXQgdG8gYGBUcnVlYGAsIHRoZSBwYXJzZXIgd2lsbCBub3QgYWxsb3cgZm9yIGFueSBzZWN0aW9uIG9yIG9wdGlvbgogICBkdXBsaWNhdGVzIHdoaWxlIHJlYWRpbmcgZnJvbSBhIHNpbmdsZSBzb3VyY2UgKHVzaW5nIDptZXRoOmByZWFkX2ZpbGVgLAotICA6bWV0aDpgcmVhZF9zdHJpbmdgIG9yIDptZXRoOmByZWFkX2RpY3RgKS4gSXQgaXMgcmVjb21tZW5kZWQgdG8gdXNlIHN0cmljdAorICA6bWV0aDpgcmVhZF9zdHJpbmdgIG9yIDptZXRoOmByZWFkX2RpY3RgKS4gIEl0IGlzIHJlY29tbWVuZGVkIHRvIHVzZSBzdHJpY3QKICAgcGFyc2VycyBpbiBuZXcgYXBwbGljYXRpb25zLgogCiAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy4yCkBAIC02NDYsMTIgKzY0NywxMiBAQAogCiAgIFRoZSBjb252ZW50aW9uIG9mIGFsbG93aW5nIGEgc3BlY2lhbCBzZWN0aW9uIG9mIGRlZmF1bHQgdmFsdWVzIGZvciBvdGhlcgogICBzZWN0aW9ucyBvciBpbnRlcnBvbGF0aW9uIHB1cnBvc2VzIGlzIGEgcG93ZXJmdWwgY29uY2VwdCBvZiB0aGlzIGxpYnJhcnksCi0gIGxldHRpbmcgdXNlcnMgY3JlYXRlIGNvbXBsZXggZGVjbGFyYXRpdmUgY29uZmlndXJhdGlvbnMuIFRoaXMgc2VjdGlvbiBpcworICBsZXR0aW5nIHVzZXJzIGNyZWF0ZSBjb21wbGV4IGRlY2xhcmF0aXZlIGNvbmZpZ3VyYXRpb25zLiAgVGhpcyBzZWN0aW9uIGlzCiAgIG5vcm1hbGx5IGNhbGxlZCBgYCJERUZBVUxUImBgIGJ1dCB0aGlzIGNhbiBiZSBjdXN0b21pemVkIHRvIHBvaW50IHRvIGFueQotICBvdGhlciB2YWxpZCBzZWN0aW9uIG5hbWUuIFNvbWUgdHlwaWNhbCB2YWx1ZXMgaW5jbHVkZTogYGAiZ2VuZXJhbCJgYCBvcgotICBgYCJjb21tb24iYGAuIFRoZSBuYW1lIHByb3ZpZGVkIGlzIHVzZWQgZm9yIHJlY29nbml6aW5nIGRlZmF1bHQgc2VjdGlvbnMgd2hlbgotICByZWFkaW5nIGZyb20gYW55IHNvdXJjZSBhbmQgaXMgdXNlZCB3aGVuIHdyaXRpbmcgY29uZmlndXJhdGlvbiBiYWNrIHRvCi0gIGEgZmlsZS4gSXRzIGN1cnJlbnQgdmFsdWUgY2FuIGJlIHJldHJpZXZlZCB1c2luZyB0aGUKKyAgb3RoZXIgdmFsaWQgc2VjdGlvbiBuYW1lLiAgU29tZSB0eXBpY2FsIHZhbHVlcyBpbmNsdWRlOiBgYCJnZW5lcmFsImBgIG9yCisgIGBgImNvbW1vbiJgYC4gIFRoZSBuYW1lIHByb3ZpZGVkIGlzIHVzZWQgZm9yIHJlY29nbml6aW5nIGRlZmF1bHQgc2VjdGlvbnMKKyAgd2hlbiByZWFkaW5nIGZyb20gYW55IHNvdXJjZSBhbmQgaXMgdXNlZCB3aGVuIHdyaXRpbmcgY29uZmlndXJhdGlvbiBiYWNrIHRvCisgIGEgZmlsZS4gIEl0cyBjdXJyZW50IHZhbHVlIGNhbiBiZSByZXRyaWV2ZWQgdXNpbmcgdGhlCiAgIGBgcGFyc2VyX2luc3RhbmNlLmRlZmF1bHRfc2VjdGlvbmBgIGF0dHJpYnV0ZSBhbmQgbWF5IGJlIG1vZGlmaWVkIGF0IHJ1bnRpbWUKICAgKGkuZS4gdG8gY29udmVydCBmaWxlcyBmcm9tIG9uZSBmb3JtYXQgdG8gYW5vdGhlcikuCiAKQEAgLTY2MCwxNCArNjYxLDMwIEBACiAgIEludGVycG9sYXRpb24gYmVoYXZpb3VyIG1heSBiZSBjdXN0b21pemVkIGJ5IHByb3ZpZGluZyBhIGN1c3RvbSBoYW5kbGVyCiAgIHRocm91Z2ggdGhlICppbnRlcnBvbGF0aW9uKiBhcmd1bWVudC4gYGBOb25lYGAgY2FuIGJlIHVzZWQgdG8gdHVybiBvZmYKICAgaW50ZXJwb2xhdGlvbiBjb21wbGV0ZWx5LCBgYEV4dGVuZGVkSW50ZXJwb2xhdGlvbigpYGAgcHJvdmlkZXMgYSBtb3JlCi0gIGFkdmFuY2VkIHZhcmlhbnQgaW5zcGlyZWQgYnkgYGB6Yy5idWlsZG91dGBgLiBNb3JlIG9uIHRoZSBzdWJqZWN0IGluIHRoZQorICBhZHZhbmNlZCB2YXJpYW50IGluc3BpcmVkIGJ5IGBgemMuYnVpbGRvdXRgYC4gIE1vcmUgb24gdGhlIHN1YmplY3QgaW4gdGhlCiAgIGBkZWRpY2F0ZWQgZG9jdW1lbnRhdGlvbiBzZWN0aW9uIDwjaW50ZXJwb2xhdGlvbi1vZi12YWx1ZXM+YF8uCiAgIDpjbGFzczpgUmF3Q29uZmlnUGFyc2VyYCBoYXMgYSBkZWZhdWx0IHZhbHVlIG9mIGBgTm9uZWBgLgogCisqICpjb252ZXJ0ZXJzKiwgZGVmYXVsdCB2YWx1ZTogbm90IHNldAorCisgIENvbmZpZyBwYXJzZXJzIHByb3ZpZGUgb3B0aW9uIHZhbHVlIGdldHRlcnMgdGhhdCBwZXJmb3JtIHR5cGUgY29udmVyc2lvbi4gIEJ5CisgIGRlZmF1bHQgOm1ldGg6YGdldGludGAsIDptZXRoOmBnZXRmbG9hdGAsIGFuZCA6bWV0aDpgZ2V0Ym9vbGVhbmAgYXJlCisgIGltcGxlbWVudGVkLiAgU2hvdWxkIG90aGVyIGdldHRlcnMgYmUgZGVzaXJhYmxlLCB1c2VycyBtYXkgZGVmaW5lIHRoZW0gaW4KKyAgYSBzdWJjbGFzcyBvciBwYXNzIGEgZGljdGlvbmFyeSB3aGVyZSBlYWNoIGtleSBpcyBhIG5hbWUgb2YgdGhlIGNvbnZlcnRlciBhbmQKKyAgZWFjaCB2YWx1ZSBpcyBhIGNhbGxhYmxlIGltcGxlbWVudGluZyBzYWlkIGNvbnZlcnNpb24uICBGb3IgaW5zdGFuY2UsIHBhc3NpbmcKKyAgYGB7J2RlY2ltYWwnOiBkZWNpbWFsLkRlY2ltYWx9YGAgd291bGQgYWRkIDptZXRoOmBnZXRkZWNpbWFsYCBvbiBib3RoIHRoZQorICBwYXJzZXIgb2JqZWN0IGFuZCBhbGwgc2VjdGlvbiBwcm94aWVzLiAgSW4gb3RoZXIgd29yZHMsIGl0IHdpbGwgYmUgcG9zc2libGUKKyAgdG8gd3JpdGUgYm90aCBgYHBhcnNlcl9pbnN0YW5jZS5nZXRkZWNpbWFsKCdzZWN0aW9uJywgJ2tleScsIGZhbGxiYWNrPTApYGAKKyAgYW5kIGBgcGFyc2VyX2luc3RhbmNlWydzZWN0aW9uJ10uZ2V0ZGVjaW1hbCgna2V5JywgMClgYC4KKworICBJZiB0aGUgY29udmVydGVyIG5lZWRzIHRvIGFjY2VzcyB0aGUgc3RhdGUgb2YgdGhlIHBhcnNlciwgaXQgY2FuIGJlCisgIGltcGxlbWVudGVkIGFzIGEgbWV0aG9kIG9uIGEgY29uZmlnIHBhcnNlciBzdWJjbGFzcy4gIElmIHRoZSBuYW1lIG9mIHRoaXMKKyAgbWV0aG9kIHN0YXJ0cyB3aXRoIGBgZ2V0YGAsIGl0IHdpbGwgYmUgYXZhaWxhYmxlIG9uIGFsbCBzZWN0aW9uIHByb3hpZXMsIGluCisgIHRoZSBkaWN0LWNvbXBhdGlibGUgZm9ybSAoc2VlIHRoZSBgYGdldGRlY2ltYWwoKWBgIGV4YW1wbGUgYWJvdmUpLgogCiBNb3JlIGFkdmFuY2VkIGN1c3RvbWl6YXRpb24gbWF5IGJlIGFjaGlldmVkIGJ5IG92ZXJyaWRpbmcgZGVmYXVsdCB2YWx1ZXMgb2YKLXRoZXNlIHBhcnNlciBhdHRyaWJ1dGVzLiAgVGhlIGRlZmF1bHRzIGFyZSBkZWZpbmVkIG9uIHRoZSBjbGFzc2VzLCBzbyB0aGV5Ci1tYXkgYmUgb3ZlcnJpZGVuIGJ5IHN1YmNsYXNzZXMgb3IgYnkgYXR0cmlidXRlIGFzc2lnbm1lbnQuCit0aGVzZSBwYXJzZXIgYXR0cmlidXRlcy4gIFRoZSBkZWZhdWx0cyBhcmUgZGVmaW5lZCBvbiB0aGUgY2xhc3Nlcywgc28gdGhleSBtYXkKK2JlIG92ZXJyaWRkZW4gYnkgc3ViY2xhc3NlcyBvciBieSBhdHRyaWJ1dGUgYXNzaWdubWVudC4KIAogLi4gYXR0cmlidXRlOjogQk9PTEVBTl9TVEFURVMKIApAQCAtNzI1LDEwICs3NDIsMTEgQEAKIAogLi4gYXR0cmlidXRlOjogU0VDVENSRQogCi0gIEEgY29tcGlsZWQgcmVndWxhciBleHByZXNzaW9uIHVzZWQgdG8gcGFyc2Ugc2VjdGlvbiBoZWFkZXJzLiBUaGUgZGVmYXVsdAotICBtYXRjaGVzIGBgW3NlY3Rpb25dYGAgdG8gdGhlIG5hbWUgYGAic2VjdGlvbiJgYC4gV2hpdGVzcGFjZSBpcyBjb25zaWRlcmVkIHBhcnQKLSAgb2YgdGhlIHNlY3Rpb24gbmFtZSwgdGh1cyBgYFsgIGxhcmNoICBdYGAgd2lsbCBiZSByZWFkIGFzIGEgc2VjdGlvbiBvZiBuYW1lCi0gIGBgIiAgbGFyY2ggICJgYC4gT3ZlcnJpZGUgdGhpcyBhdHRyaWJ1dGUgaWYgdGhhdCdzIHVuc3VpdGFibGUuICBGb3IgZXhhbXBsZToKKyAgQSBjb21waWxlZCByZWd1bGFyIGV4cHJlc3Npb24gdXNlZCB0byBwYXJzZSBzZWN0aW9uIGhlYWRlcnMuICBUaGUgZGVmYXVsdAorICBtYXRjaGVzIGBgW3NlY3Rpb25dYGAgdG8gdGhlIG5hbWUgYGAic2VjdGlvbiJgYC4gIFdoaXRlc3BhY2UgaXMgY29uc2lkZXJlZAorICBwYXJ0IG9mIHRoZSBzZWN0aW9uIG5hbWUsIHRodXMgYGBbICBsYXJjaCAgXWBgIHdpbGwgYmUgcmVhZCBhcyBhIHNlY3Rpb24gb2YKKyAgbmFtZSBgYCIgIGxhcmNoICAiYGAuICBPdmVycmlkZSB0aGlzIGF0dHJpYnV0ZSBpZiB0aGF0J3MgdW5zdWl0YWJsZS4gIEZvcgorICBleGFtcGxlOgogCiAgIC4uIGRvY3Rlc3Q6OgogCkBAIC04NTksNyArODc3LDcgQEAKIENvbmZpZ1BhcnNlciBPYmplY3RzCiAtLS0tLS0tLS0tLS0tLS0tLS0tLQogCi0uLiBjbGFzczo6IENvbmZpZ1BhcnNlcihkZWZhdWx0cz1Ob25lLCBkaWN0X3R5cGU9Y29sbGVjdGlvbnMuT3JkZXJlZERpY3QsIGFsbG93X25vX3ZhbHVlPUZhbHNlLCBkZWxpbWl0ZXJzPSgnPScsICc6JyksIGNvbW1lbnRfcHJlZml4ZXM9KCcjJywgJzsnKSwgaW5saW5lX2NvbW1lbnRfcHJlZml4ZXM9Tm9uZSwgc3RyaWN0PVRydWUsIGVtcHR5X2xpbmVzX2luX3ZhbHVlcz1UcnVlLCBkZWZhdWx0X3NlY3Rpb249Y29uZmlncGFyc2VyLkRFRkFVTFRTRUNULCBpbnRlcnBvbGF0aW9uPUJhc2ljSW50ZXJwb2xhdGlvbigpKQorLi4gY2xhc3M6OiBDb25maWdQYXJzZXIoZGVmYXVsdHM9Tm9uZSwgZGljdF90eXBlPWNvbGxlY3Rpb25zLk9yZGVyZWREaWN0LCBhbGxvd19ub192YWx1ZT1GYWxzZSwgZGVsaW1pdGVycz0oJz0nLCAnOicpLCBjb21tZW50X3ByZWZpeGVzPSgnIycsICc7JyksIGlubGluZV9jb21tZW50X3ByZWZpeGVzPU5vbmUsIHN0cmljdD1UcnVlLCBlbXB0eV9saW5lc19pbl92YWx1ZXM9VHJ1ZSwgZGVmYXVsdF9zZWN0aW9uPWNvbmZpZ3BhcnNlci5ERUZBVUxUU0VDVCwgaW50ZXJwb2xhdGlvbj1CYXNpY0ludGVycG9sYXRpb24oKSwgY29udmVydGVycz17fSkKIAogICAgVGhlIG1haW4gY29uZmlndXJhdGlvbiBwYXJzZXIuICBXaGVuICpkZWZhdWx0cyogaXMgZ2l2ZW4sIGl0IGlzIGluaXRpYWxpemVkCiAgICBpbnRvIHRoZSBkaWN0aW9uYXJ5IG9mIGludHJpbnNpYyBkZWZhdWx0cy4gIFdoZW4gKmRpY3RfdHlwZSogaXMgZ2l2ZW4sIGl0CkBAIC04NjksOCArODg3LDggQEAKICAgIFdoZW4gKmRlbGltaXRlcnMqIGlzIGdpdmVuLCBpdCBpcyB1c2VkIGFzIHRoZSBzZXQgb2Ygc3Vic3RyaW5ncyB0aGF0CiAgICBkaXZpZGUga2V5cyBmcm9tIHZhbHVlcy4gIFdoZW4gKmNvbW1lbnRfcHJlZml4ZXMqIGlzIGdpdmVuLCBpdCB3aWxsIGJlIHVzZWQKICAgIGFzIHRoZSBzZXQgb2Ygc3Vic3RyaW5ncyB0aGF0IHByZWZpeCBjb21tZW50cyBpbiBvdGhlcndpc2UgZW1wdHkgbGluZXMuCi0gICBDb21tZW50cyBjYW4gYmUgaW5kZW50ZWQuIFdoZW4gKmlubGluZV9jb21tZW50X3ByZWZpeGVzKiBpcyBnaXZlbiwgaXQgd2lsbCBiZQotICAgdXNlZCBhcyB0aGUgc2V0IG9mIHN1YnN0cmluZ3MgdGhhdCBwcmVmaXggY29tbWVudHMgaW4gbm9uLWVtcHR5IGxpbmVzLgorICAgQ29tbWVudHMgY2FuIGJlIGluZGVudGVkLiAgV2hlbiAqaW5saW5lX2NvbW1lbnRfcHJlZml4ZXMqIGlzIGdpdmVuLCBpdCB3aWxsCisgICBiZSB1c2VkIGFzIHRoZSBzZXQgb2Ygc3Vic3RyaW5ncyB0aGF0IHByZWZpeCBjb21tZW50cyBpbiBub24tZW1wdHkgbGluZXMuCiAKICAgIFdoZW4gKnN0cmljdCogaXMgYGBUcnVlYGAgKHRoZSBkZWZhdWx0KSwgdGhlIHBhcnNlciB3b24ndCBhbGxvdyBmb3IKICAgIGFueSBzZWN0aW9uIG9yIG9wdGlvbiBkdXBsaWNhdGVzIHdoaWxlIHJlYWRpbmcgZnJvbSBhIHNpbmdsZSBzb3VyY2UgKGZpbGUsCkBAIC04ODQsMTMgKzkwMiwxMyBAQAogCiAgICBXaGVuICpkZWZhdWx0X3NlY3Rpb24qIGlzIGdpdmVuLCBpdCBzcGVjaWZpZXMgdGhlIG5hbWUgZm9yIHRoZSBzcGVjaWFsCiAgICBzZWN0aW9uIGhvbGRpbmcgZGVmYXVsdCB2YWx1ZXMgZm9yIG90aGVyIHNlY3Rpb25zIGFuZCBpbnRlcnBvbGF0aW9uIHB1cnBvc2VzCi0gICAobm9ybWFsbHkgbmFtZWQgYGAiREVGQVVMVCJgYCkuIFRoaXMgdmFsdWUgY2FuIGJlIHJldHJpZXZlZCBhbmQgY2hhbmdlZCBvbgorICAgKG5vcm1hbGx5IG5hbWVkIGBgIkRFRkFVTFQiYGApLiAgVGhpcyB2YWx1ZSBjYW4gYmUgcmV0cmlldmVkIGFuZCBjaGFuZ2VkIG9uCiAgICBydW50aW1lIHVzaW5nIHRoZSBgYGRlZmF1bHRfc2VjdGlvbmBgIGluc3RhbmNlIGF0dHJpYnV0ZS4KIAogICAgSW50ZXJwb2xhdGlvbiBiZWhhdmlvdXIgbWF5IGJlIGN1c3RvbWl6ZWQgYnkgcHJvdmlkaW5nIGEgY3VzdG9tIGhhbmRsZXIKICAgIHRocm91Z2ggdGhlICppbnRlcnBvbGF0aW9uKiBhcmd1bWVudC4gYGBOb25lYGAgY2FuIGJlIHVzZWQgdG8gdHVybiBvZmYKICAgIGludGVycG9sYXRpb24gY29tcGxldGVseSwgYGBFeHRlbmRlZEludGVycG9sYXRpb24oKWBgIHByb3ZpZGVzIGEgbW9yZQotICAgYWR2YW5jZWQgdmFyaWFudCBpbnNwaXJlZCBieSBgYHpjLmJ1aWxkb3V0YGAuIE1vcmUgb24gdGhlIHN1YmplY3QgaW4gdGhlCisgICBhZHZhbmNlZCB2YXJpYW50IGluc3BpcmVkIGJ5IGBgemMuYnVpbGRvdXRgYC4gIE1vcmUgb24gdGhlIHN1YmplY3QgaW4gdGhlCiAgICBgZGVkaWNhdGVkIGRvY3VtZW50YXRpb24gc2VjdGlvbiA8I2ludGVycG9sYXRpb24tb2YtdmFsdWVzPmBfLgogCiAgICBBbGwgb3B0aW9uIG5hbWVzIHVzZWQgaW4gaW50ZXJwb2xhdGlvbiB3aWxsIGJlIHBhc3NlZCB0aHJvdWdoIHRoZQpAQCAtODk5LDYgKzkxNywxMiBAQAogICAgY29udmVydHMgb3B0aW9uIG5hbWVzIHRvIGxvd2VyIGNhc2UpLCB0aGUgdmFsdWVzIGBgZm9vICUoYmFyKXNgYCBhbmQgYGBmb28KICAgICUoQkFSKXNgYCBhcmUgZXF1aXZhbGVudC4KIAorICAgV2hlbiAqY29udmVydGVycyogaXMgZ2l2ZW4sIGl0IHNob3VsZCBiZSBhIGRpY3Rpb25hcnkgd2hlcmUgZWFjaCBrZXkKKyAgIHJlcHJlc2VudHMgdGhlIG5hbWUgb2YgYSB0eXBlIGNvbnZlcnRlciBhbmQgZWFjaCB2YWx1ZSBpcyBhIGNhbGxhYmxlCisgICBpbXBsZW1lbnRpbmcgdGhlIGNvbnZlcnNpb24gZnJvbSBzdHJpbmcgdG8gdGhlIGRlc2lyZWQgZGF0YXR5cGUuICBFdmVyeQorICAgY29udmVydGVyIGdldHMgaXRzIG93biBjb3JyZXNwb25kaW5nIDptZXRoOmBnZXQqKClgIG1ldGhvZCBvbiB0aGUgcGFyc2VyCisgICBvYmplY3QgYW5kIHNlY3Rpb24gcHJveGllcy4KKwogICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjEKICAgICAgIFRoZSBkZWZhdWx0ICpkaWN0X3R5cGUqIGlzIDpjbGFzczpgY29sbGVjdGlvbnMuT3JkZXJlZERpY3RgLgogCkBAIC05MDcsNiArOTMxLDkgQEAKICAgICAgICplbXB0eV9saW5lc19pbl92YWx1ZXMqLCAqZGVmYXVsdF9zZWN0aW9uKiBhbmQgKmludGVycG9sYXRpb24qIHdlcmUKICAgICAgIGFkZGVkLgogCisgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuNQorICAgICAgVGhlICpjb252ZXJ0ZXJzKiBhcmd1bWVudCB3YXMgYWRkZWQuCisKIAogICAgLi4gbWV0aG9kOjogZGVmYXVsdHMoKQogCkBAIC05NDQsNyArOTcxLDcgQEAKICAgIC4uIG1ldGhvZDo6IGhhc19vcHRpb24oc2VjdGlvbiwgb3B0aW9uKQogCiAgICAgICBJZiB0aGUgZ2l2ZW4gKnNlY3Rpb24qIGV4aXN0cywgYW5kIGNvbnRhaW5zIHRoZSBnaXZlbiAqb3B0aW9uKiwgcmV0dXJuCi0gICAgICA6Y29uc3Q6YFRydWVgOyBvdGhlcndpc2UgcmV0dXJuIDpjb25zdDpgRmFsc2VgLiBJZiB0aGUgc3BlY2lmaWVkCisgICAgICA6Y29uc3Q6YFRydWVgOyBvdGhlcndpc2UgcmV0dXJuIDpjb25zdDpgRmFsc2VgLiAgSWYgdGhlIHNwZWNpZmllZAogICAgICAgKnNlY3Rpb24qIGlzIDpjb25zdDpgTm9uZWAgb3IgYW4gZW1wdHkgc3RyaW5nLCBERUZBVUxUIGlzIGFzc3VtZWQuCiAKIApAQCAtMTA2OSw3ICsxMDk2LDcgQEAKICAgICAgIDptZXRoOmBnZXRgIG1ldGhvZC4KIAogICAgICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjIKLSAgICAgICAgIEl0ZW1zIHByZXNlbnQgaW4gKnZhcnMqIG5vIGxvbmdlciBhcHBlYXIgaW4gdGhlIHJlc3VsdC4gVGhlIHByZXZpb3VzCisgICAgICAgICBJdGVtcyBwcmVzZW50IGluICp2YXJzKiBubyBsb25nZXIgYXBwZWFyIGluIHRoZSByZXN1bHQuICBUaGUgcHJldmlvdXMKICAgICAgICAgIGJlaGF2aW91ciBtaXhlZCBhY3R1YWwgcGFyc2VyIG9wdGlvbnMgd2l0aCB2YXJpYWJsZXMgcHJvdmlkZWQgZm9yCiAgICAgICAgICBpbnRlcnBvbGF0aW9uLgogCkBAIC0xMTcwLDcgKzExOTcsNyBAQAogCiAgICAuLiBub3RlOjoKICAgICAgIENvbnNpZGVyIHVzaW5nIDpjbGFzczpgQ29uZmlnUGFyc2VyYCBpbnN0ZWFkIHdoaWNoIGNoZWNrcyB0eXBlcyBvZgotICAgICAgdGhlIHZhbHVlcyB0byBiZSBzdG9yZWQgaW50ZXJuYWxseS4gSWYgeW91IGRvbid0IHdhbnQgaW50ZXJwb2xhdGlvbiwgeW91CisgICAgICB0aGUgdmFsdWVzIHRvIGJlIHN0b3JlZCBpbnRlcm5hbGx5LiAgSWYgeW91IGRvbid0IHdhbnQgaW50ZXJwb2xhdGlvbiwgeW91CiAgICAgICBjYW4gdXNlIGBgQ29uZmlnUGFyc2VyKGludGVycG9sYXRpb249Tm9uZSlgYC4KIAogCkBAIC0xMTgxLDcgKzEyMDgsNyBAQAogICAgICAgKmRlZmF1bHQgc2VjdGlvbiogbmFtZSBpcyBwYXNzZWQsIDpleGM6YFZhbHVlRXJyb3JgIGlzIHJhaXNlZC4KIAogICAgICAgVHlwZSBvZiAqc2VjdGlvbiogaXMgbm90IGNoZWNrZWQgd2hpY2ggbGV0cyB1c2VycyBjcmVhdGUgbm9uLXN0cmluZyBuYW1lZAotICAgICAgc2VjdGlvbnMuIFRoaXMgYmVoYXZpb3VyIGlzIHVuc3VwcG9ydGVkIGFuZCBtYXkgY2F1c2UgaW50ZXJuYWwgZXJyb3JzLgorICAgICAgc2VjdGlvbnMuICBUaGlzIGJlaGF2aW91ciBpcyB1bnN1cHBvcnRlZCBhbmQgbWF5IGNhdXNlIGludGVybmFsIGVycm9ycy4KIAogCiAgICAuLiBtZXRob2Q6OiBzZXQoc2VjdGlvbiwgb3B0aW9uLCB2YWx1ZSkKQEAgLTEyODIsMyArMTMwOSw0IEBACiAuLiBbMV0gQ29uZmlnIHBhcnNlcnMgYWxsb3cgZm9yIGhlYXZ5IGN1c3RvbWl6YXRpb24uICBJZiB5b3UgYXJlIGludGVyZXN0ZWQgaW4KICAgICAgICBjaGFuZ2luZyB0aGUgYmVoYXZpb3VyIG91dGxpbmVkIGJ5IHRoZSBmb290bm90ZSByZWZlcmVuY2UsIGNvbnN1bHQgdGhlCiAgICAgICAgYEN1c3RvbWl6aW5nIFBhcnNlciBCZWhhdmlvdXJgXyBzZWN0aW9uLgorCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9jb25zdGFudHMucnN0IGIvRG9jL2xpYnJhcnkvY29uc3RhbnRzLnJzdAppbmRleCA0MmI1YWYyLi5kNWEwZjA5IDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS9jb25zdGFudHMucnN0CisrKyBiL0RvYy9saWJyYXJ5L2NvbnN0YW50cy5yc3QKQEAgLTQ1LDcgKzQ1LDYgQEAKICAgIGZvciBtb3JlIGRldGFpbHMuCiAKIAotCiAuLiBkYXRhOjogRWxsaXBzaXMKIAogICAgVGhlIHNhbWUgYXMgYGAuLi5gYC4gIFNwZWNpYWwgdmFsdWUgdXNlZCBtb3N0bHkgaW4gY29uanVuY3Rpb24gd2l0aCBleHRlbmRlZApkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvY29udGV4dGxpYi5yc3QgYi9Eb2MvbGlicmFyeS9jb250ZXh0bGliLnJzdAppbmRleCA2ZjM2ODY0Li41NTBiMzQ3IDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS9jb250ZXh0bGliLnJzdAorKysgYi9Eb2MvbGlicmFyeS9jb250ZXh0bGliLnJzdApAQCAtMTcyLDYgKzE3MiwxNiBAQAogICAgLi4gdmVyc2lvbmFkZGVkOjogMy40CiAKIAorLi4gZnVuY3Rpb246OiByZWRpcmVjdF9zdGRlcnIobmV3X3RhcmdldCkKKworICAgU2ltaWxhciB0byA6ZnVuYzpgfmNvbnRleHRsaWIucmVkaXJlY3Rfc3Rkb3V0YCBidXQgcmVkaXJlY3RpbmcKKyAgIDpkYXRhOmBzeXMuc3RkZXJyYCB0byBhbm90aGVyIGZpbGUgb3IgZmlsZS1saWtlIG9iamVjdC4KKworICAgVGhpcyBjb250ZXh0IG1hbmFnZXIgaXMgOnJlZjpgcmVlbnRyYW50IDxyZWVudHJhbnQtY21zPmAuCisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuNQorCisKIC4uIGNsYXNzOjogQ29udGV4dERlY29yYXRvcigpCiAKICAgIEEgYmFzZSBjbGFzcyB0aGF0IGVuYWJsZXMgYSBjb250ZXh0IG1hbmFnZXIgdG8gYWxzbyBiZSB1c2VkIGFzIGEgZGVjb3JhdG9yLgpkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvY3N2LnJzdCBiL0RvYy9saWJyYXJ5L2Nzdi5yc3QKaW5kZXggOWY3YjU4YS4uZTc1MTZiNiAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvY3N2LnJzdAorKysgYi9Eb2MvbGlicmFyeS9jc3YucnN0CkBAIC01LDYgKzUsNyBAQAogICAgOnN5bm9wc2lzOiBXcml0ZSBhbmQgcmVhZCB0YWJ1bGFyIGRhdGEgdG8gYW5kIGZyb20gZGVsaW1pdGVkIGZpbGVzLgogLi4gc2VjdGlvbmF1dGhvcjo6IFNraXAgTW9udGFuYXJvIDxza2lwQHBvYm94LmNvbT4KIAorKipTb3VyY2UgY29kZToqKiA6c291cmNlOmBMaWIvY3N2LnB5YAogCiAuLiBpbmRleDo6CiAgICBzaW5nbGU6IGNzdgpkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvZGF0ZXRpbWUucnN0IGIvRG9jL2xpYnJhcnkvZGF0ZXRpbWUucnN0CmluZGV4IDdkZDg2MTMuLmY4MmY0MjUgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L2RhdGV0aW1lLnJzdAorKysgYi9Eb2MvbGlicmFyeS9kYXRldGltZS5yc3QKQEAgLTcsNiArNyw4IEBACiAuLiBzZWN0aW9uYXV0aG9yOjogVGltIFBldGVycyA8dGltQHpvcGUuY29tPgogLi4gc2VjdGlvbmF1dGhvcjo6IEEuTS4gS3VjaGxpbmcgPGFta0BhbWsuY2E+CiAKKyoqU291cmNlIGNvZGU6KiogOnNvdXJjZTpgTGliL2RhdGV0aW1lLnB5YAorCiAuLiBYWFggd2hhdCBvcmRlciBzaG91bGQgdGhlIHR5cGVzIGJlIGRpc2N1c3NlZCBpbj8KIAogVGhlIDptb2Q6YGRhdGV0aW1lYCBtb2R1bGUgc3VwcGxpZXMgY2xhc3NlcyBmb3IgbWFuaXB1bGF0aW5nIGRhdGVzIGFuZCB0aW1lcyBpbgpAQCAtNzU3LDEzICs3NTksMTkgQEAKICAgIDphdHRyOmB0emluZm9gIGBgTm9uZWBgLiBUaGlzIG1heSByYWlzZSA6ZXhjOmBPdmVyZmxvd0Vycm9yYCwgaWYgdGhlIHRpbWVzdGFtcCBpcwogICAgb3V0IG9mIHRoZSByYW5nZSBvZiB2YWx1ZXMgc3VwcG9ydGVkIGJ5IHRoZSBwbGF0Zm9ybSBDIDpjOmZ1bmM6YGdtdGltZWAgZnVuY3Rpb24sCiAgICBhbmQgOmV4YzpgT1NFcnJvcmAgb24gOmM6ZnVuYzpgZ210aW1lYCBmYWlsdXJlLgotICAgSXQncyBjb21tb24gZm9yIHRoaXMgdG8gYmUgcmVzdHJpY3RlZCB0byB5ZWFycyBpbiAxOTcwIHRocm91Z2ggMjAzOC4gU2VlIGFsc28KLSAgIDptZXRoOmBmcm9tdGltZXN0YW1wYC4KKyAgIEl0J3MgY29tbW9uIGZvciB0aGlzIHRvIGJlIHJlc3RyaWN0ZWQgdG8geWVhcnMgaW4gMTk3MCB0aHJvdWdoIDIwMzguCiAKLSAgIE9uIHRoZSBQT1NJWCBjb21wbGlhbnQgcGxhdGZvcm1zLCBgYHV0Y2Zyb210aW1lc3RhbXAodGltZXN0YW1wKWBgCi0gICBpcyBlcXVpdmFsZW50IHRvIHRoZSBmb2xsb3dpbmcgZXhwcmVzc2lvbjo6CisgICBUbyBnZXQgYW4gYXdhcmUgOmNsYXNzOmAuZGF0ZXRpbWVgIG9iamVjdCwgY2FsbCA6bWV0aDpgZnJvbXRpbWVzdGFtcGA6OgogCi0gICAgIGRhdGV0aW1lKDE5NzAsIDEsIDEpICsgdGltZWRlbHRhKHNlY29uZHM9dGltZXN0YW1wKQorICAgICBkYXRldGltZS5mcm9tdGltZXN0YW1wKHRpbWVzdGFtcCwgdGltZXpvbmUudXRjKQorCisgICBPbiB0aGUgUE9TSVggY29tcGxpYW50IHBsYXRmb3JtcywgaXQgaXMgZXF1aXZhbGVudCB0byB0aGUgZm9sbG93aW5nCisgICBleHByZXNzaW9uOjoKKworICAgICBkYXRldGltZSgxOTcwLCAxLCAxLCB0emluZm89dGltZXpvbmUudXRjKSArIHRpbWVkZWx0YShzZWNvbmRzPXRpbWVzdGFtcCkKKworICAgZXhjZXB0IHRoZSBsYXR0ZXIgZm9ybXVsYSBhbHdheXMgc3VwcG9ydHMgdGhlIGZ1bGwgeWVhcnMgcmFuZ2U6IGJldHdlZW4KKyAgIDpjb25zdDpgTUlOWUVBUmAgYW5kIDpjb25zdDpgTUFYWUVBUmAgaW5jbHVzaXZlLgogCiAgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuMwogICAgICAgUmFpc2UgOmV4YzpgT3ZlcmZsb3dFcnJvcmAgaW5zdGVhZCBvZiA6ZXhjOmBWYWx1ZUVycm9yYCBpZiB0aGUgdGltZXN0YW1wCkBAIC0xMzc2LDEwICsxMzg0LDEzIEBACiAKICogZWZmaWNpZW50IHBpY2tsaW5nCiAKLSogaW4gQm9vbGVhbiBjb250ZXh0cywgYSA6Y2xhc3M6YC50aW1lYCBvYmplY3QgaXMgY29uc2lkZXJlZCB0byBiZSB0cnVlIGlmIGFuZAotICBvbmx5IGlmLCBhZnRlciBjb252ZXJ0aW5nIGl0IHRvIG1pbnV0ZXMgYW5kIHN1YnRyYWN0aW5nIDptZXRoOmB1dGNvZmZzZXRgIChvcgotICBgYDBgYCBpZiB0aGF0J3MgYGBOb25lYGApLCB0aGUgcmVzdWx0IGlzIG5vbi16ZXJvLgorSW4gYm9vbGVhbiBjb250ZXh0cywgYSA6Y2xhc3M6YC50aW1lYCBvYmplY3QgaXMgYWx3YXlzIGNvbnNpZGVyZWQgdG8gYmUgdHJ1ZS4KIAorLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjUKKyAgIEJlZm9yZSBQeXRob24gMy41LCBhIDpjbGFzczpgLnRpbWVgIG9iamVjdCB3YXMgY29uc2lkZXJlZCB0byBiZSBmYWxzZSBpZiBpdAorICAgcmVwcmVzZW50ZWQgbWlkbmlnaHQgaW4gVVRDLiAgVGhpcyBiZWhhdmlvciB3YXMgY29uc2lkZXJlZCBvYnNjdXJlIGFuZAorICAgZXJyb3ItcHJvbmUgYW5kIGhhcyBiZWVuIHJlbW92ZWQgaW4gUHl0aG9uIDMuNS4gIFNlZSA6aXNzdWU6YDEzOTM2YCBmb3IgZnVsbAorICAgZGV0YWlscy4KIAogSW5zdGFuY2UgbWV0aG9kczoKIApkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvZGJtLnJzdCBiL0RvYy9saWJyYXJ5L2RibS5yc3QKaW5kZXggZTZhODJkNi4uM2YzYzQzZCAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvZGJtLnJzdAorKysgYi9Eb2MvbGlicmFyeS9kYm0ucnN0CkBAIC0zMjUsMTMgKzMyNSwxOCBAQAogICAgZHVtYmRibSBkYXRhYmFzZSBpcyBjcmVhdGVkLCBmaWxlcyB3aXRoIDpmaWxlOmAuZGF0YCBhbmQgOmZpbGU6YC5kaXJgIGV4dGVuc2lvbnMKICAgIGFyZSBjcmVhdGVkLgogCi0gICBUaGUgb3B0aW9uYWwgKmZsYWcqIGFyZ3VtZW50IGlzIGN1cnJlbnRseSBpZ25vcmVkOyB0aGUgZGF0YWJhc2UgaXMgYWx3YXlzIG9wZW5lZAotICAgZm9yIHVwZGF0ZSwgYW5kIHdpbGwgYmUgY3JlYXRlZCBpZiBpdCBkb2VzIG5vdCBleGlzdC4KKyAgIFRoZSBvcHRpb25hbCAqZmxhZyogYXJndW1lbnQgc3VwcG9ydHMgb25seSB0aGUgc2VtYW50aWNzIG9mIGBgJ2MnYGAKKyAgIGFuZCBgYCduJ2BgIHZhbHVlcy4gIE90aGVyIHZhbHVlcyB3aWxsIGRlZmF1bHQgdG8gZGF0YWJhc2UgYmVpbmcgYWx3YXlzCisgICBvcGVuZWQgZm9yIHVwZGF0ZSwgYW5kIHdpbGwgYmUgY3JlYXRlZCBpZiBpdCBkb2VzIG5vdCBleGlzdC4KIAogICAgVGhlIG9wdGlvbmFsICptb2RlKiBhcmd1bWVudCBpcyB0aGUgVW5peCBtb2RlIG9mIHRoZSBmaWxlLCB1c2VkIG9ubHkgd2hlbiB0aGUKICAgIGRhdGFiYXNlIGhhcyB0byBiZSBjcmVhdGVkLiAgSXQgZGVmYXVsdHMgdG8gb2N0YWwgYGAwbzY2NmBgIChhbmQgd2lsbCBiZSBtb2RpZmllZAogICAgYnkgdGhlIHByZXZhaWxpbmcgdW1hc2spLgogCisgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuNQorICAgICAgOmZ1bmM6YC5vcGVuYCBhbHdheXMgY3JlYXRlcyBhIG5ldyBkYXRhYmFzZSB3aGVuIHRoZSBmbGFnIGhhcyB0aGUgdmFsdWUKKyAgICAgIGBgJ24nYGAuCisKICAgIEluIGFkZGl0aW9uIHRvIHRoZSBtZXRob2RzIHByb3ZpZGVkIGJ5IHRoZQogICAgOmNsYXNzOmBjb2xsZWN0aW9ucy5hYmMuTXV0YWJsZU1hcHBpbmdgIGNsYXNzLCA6Y2xhc3M6YGR1bWJkYm1gIG9iamVjdHMKICAgIHByb3ZpZGUgdGhlIGZvbGxvd2luZyBtZXRob2RzOgpkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvZGVjaW1hbC5yc3QgYi9Eb2MvbGlicmFyeS9kZWNpbWFsLnJzdAppbmRleCAwNTlhZTdjLi43MDUyOTg1IDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS9kZWNpbWFsLnJzdAorKysgYi9Eb2MvbGlicmFyeS9kZWNpbWFsLnJzdApAQCAtMTIsNiArMTIsOCBAQAogLi4gbW9kdWxlYXV0aG9yOjogU3RlZmFuIEtyYWggPHNrcmFoIGF0IGJ5dGVyZWVmLm9yZz4KIC4uIHNlY3Rpb25hdXRob3I6OiBSYXltb25kIEQuIEhldHRpbmdlciA8cHl0aG9uIGF0IHJjbi5jb20+CiAKKyoqU291cmNlIGNvZGU6KiogOnNvdXJjZTpgTGliL2RlY2ltYWwucHlgCisKIC4uIGltcG9ydCBtb2R1bGVzIGZvciB0ZXN0aW5nIGlubGluZSBkb2N0ZXN0cyB3aXRoIHRoZSBTcGhpbnggZG9jdGVzdCBidWlsZGVyCiAuLiB0ZXN0c2V0dXA6OiAqCiAKQEAgLTc0Miw3ICs3NDQsNyBAQAogICAgICAgKiBgYCJOYU4iYGAsIGluZGljYXRpbmcgdGhhdCB0aGUgb3BlcmFuZCBpcyBhIHF1aWV0IE5hTiAoTm90IGEgTnVtYmVyKS4KICAgICAgICogYGAic05hTiJgYCwgaW5kaWNhdGluZyB0aGF0IHRoZSBvcGVyYW5kIGlzIGEgc2lnbmFsaW5nIE5hTi4KIAotICAgLi4gbWV0aG9kOjogcXVhbnRpemUoZXhwLCByb3VuZGluZz1Ob25lLCBjb250ZXh0PU5vbmUsIHdhdGNoZXhwPVRydWUpCisgICAuLiBtZXRob2Q6OiBxdWFudGl6ZShleHAsIHJvdW5kaW5nPU5vbmUsIGNvbnRleHQ9Tm9uZSkKIAogICAgICAgUmV0dXJuIGEgdmFsdWUgZXF1YWwgdG8gdGhlIGZpcnN0IG9wZXJhbmQgYWZ0ZXIgcm91bmRpbmcgYW5kIGhhdmluZyB0aGUKICAgICAgIGV4cG9uZW50IG9mIHRoZSBzZWNvbmQgb3BlcmFuZC4KQEAgLTc2NSwxNCArNzY3LDggQEAKICAgICAgIGBgY29udGV4dGBgIGFyZ3VtZW50OyBpZiBuZWl0aGVyIGFyZ3VtZW50IGlzIGdpdmVuIHRoZSByb3VuZGluZyBtb2RlIG9mCiAgICAgICB0aGUgY3VycmVudCB0aHJlYWQncyBjb250ZXh0IGlzIHVzZWQuCiAKLSAgICAgIElmICp3YXRjaGV4cCogaXMgc2V0IChkZWZhdWx0KSwgdGhlbiBhbiBlcnJvciBpcyByZXR1cm5lZCB3aGVuZXZlciB0aGUKLSAgICAgIHJlc3VsdGluZyBleHBvbmVudCBpcyBncmVhdGVyIHRoYW4gOmF0dHI6YEVtYXhgIG9yIGxlc3MgdGhhbgotICAgICAgOmF0dHI6YEV0aW55YC4KLQotICAgICAgLi4gZGVwcmVjYXRlZDo6IDMuMwotICAgICAgICAgKndhdGNoZXhwKiBpcyBhbiBpbXBsZW1lbnRhdGlvbiBkZXRhaWwgZnJvbSB0aGUgcHVyZSBQeXRob24gdmVyc2lvbgotICAgICAgICAgYW5kIGlzIG5vdCBwcmVzZW50IGluIHRoZSBDIHZlcnNpb24uIEl0IHdpbGwgYmUgcmVtb3ZlZCBpbiB2ZXJzaW9uCi0gICAgICAgICAzLjQsIHdoZXJlIGl0IGRlZmF1bHRzIHRvIGBgVHJ1ZWBgLgorICAgICAgQW4gZXJyb3IgaXMgcmV0dXJuZWQgd2hlbmV2ZXIgdGhlIHJlc3VsdGluZyBleHBvbmVudCBpcyBncmVhdGVyIHRoYW4KKyAgICAgIDphdHRyOmBFbWF4YCBvciBsZXNzIHRoYW4gOmF0dHI6YEV0aW55YC4KIAogICAgLi4gbWV0aG9kOjogcmFkaXgoKQogCkBAIC0yMDkyLDQgKzIwODgsMyBAQAogCiAgICA+Pj4gQ29udGV4dChwcmVjPTUsIHJvdW5kaW5nPVJPVU5EX0RPV04pLmNyZWF0ZV9kZWNpbWFsKCcxLjIzNDU2NzgnKQogICAgRGVjaW1hbCgnMS4yMzQ1JykKLQpkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvZGlmZmxpYi5yc3QgYi9Eb2MvbGlicmFyeS9kaWZmbGliLnJzdAppbmRleCA1ZjcyZWE2Li4zMjliZGUwIDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS9kaWZmbGliLnJzdAorKysgYi9Eb2MvbGlicmFyeS9kaWZmbGliLnJzdApAQCAtNyw2ICs3LDggQEAKIC4uIHNlY3Rpb25hdXRob3I6OiBUaW0gUGV0ZXJzIDx0aW1fb25lQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KIC4uIE1hcmt1cCBieSBGcmVkIEwuIERyYWtlLCBKci4gPGZkcmFrZUBhY20ub3JnPgogCisqKlNvdXJjZSBjb2RlOioqIDpzb3VyY2U6YExpYi9kaWZmbGliLnB5YAorCiAuLiB0ZXN0c2V0dXA6OgogCiAgICBpbXBvcnQgc3lzCkBAIC0yNSw3ICsyNyw5IEBACiAgICBsaXR0bGUgZmFuY2llciB0aGFuLCBhbiBhbGdvcml0aG0gcHVibGlzaGVkIGluIHRoZSBsYXRlIDE5ODAncyBieSBSYXRjbGlmZiBhbmQKICAgIE9iZXJzaGVscCB1bmRlciB0aGUgaHlwZXJib2xpYyBuYW1lICJnZXN0YWx0IHBhdHRlcm4gbWF0Y2hpbmcuIiAgVGhlIGlkZWEgaXMgdG8KICAgIGZpbmQgdGhlIGxvbmdlc3QgY29udGlndW91cyBtYXRjaGluZyBzdWJzZXF1ZW5jZSB0aGF0IGNvbnRhaW5zIG5vICJqdW5rIgotICAgZWxlbWVudHMgKHRoZSBSYXRjbGlmZiBhbmQgT2JlcnNoZWxwIGFsZ29yaXRobSBkb2Vzbid0IGFkZHJlc3MganVuaykuICBUaGUgc2FtZQorICAgZWxlbWVudHM7IHRoZXNlICJqdW5rIiBlbGVtZW50cyBhcmUgb25lcyB0aGF0IGFyZSB1bmludGVyZXN0aW5nIGluIHNvbWUKKyAgIHNlbnNlLCBzdWNoIGFzIGJsYW5rIGxpbmVzIG9yIHdoaXRlc3BhY2UuICAoSGFuZGxpbmcganVuayBpcyBhbgorICAgZXh0ZW5zaW9uIHRvIHRoZSBSYXRjbGlmZiBhbmQgT2JlcnNoZWxwIGFsZ29yaXRobS4pIFRoZSBzYW1lCiAgICBpZGVhIGlzIHRoZW4gYXBwbGllZCByZWN1cnNpdmVseSB0byB0aGUgcGllY2VzIG9mIHRoZSBzZXF1ZW5jZXMgdG8gdGhlIGxlZnQgYW5kCiAgICB0byB0aGUgcmlnaHQgb2YgdGhlIG1hdGNoaW5nIHN1YnNlcXVlbmNlLiAgVGhpcyBkb2VzIG5vdCB5aWVsZCBtaW5pbWFsIGVkaXQKICAgIHNlcXVlbmNlcywgYnV0IGRvZXMgdGVuZCB0byB5aWVsZCBtYXRjaGVzIHRoYXQgImxvb2sgcmlnaHQiIHRvIHBlb3BsZS4KQEAgLTIwOCw3ICsyMTIsNyBAQAogICAgQ29tcGFyZSAqYSogYW5kICpiKiAobGlzdHMgb2Ygc3RyaW5ncyk7IHJldHVybiBhIDpjbGFzczpgRGlmZmVyYFwgLXN0eWxlCiAgICBkZWx0YSAoYSA6dGVybTpgZ2VuZXJhdG9yYCBnZW5lcmF0aW5nIHRoZSBkZWx0YSBsaW5lcykuCiAKLSAgIE9wdGlvbmFsIGtleXdvcmQgcGFyYW1ldGVycyAqbGluZWp1bmsqIGFuZCAqY2hhcmp1bmsqIGFyZSBmb3IgZmlsdGVyIGZ1bmN0aW9ucworICAgT3B0aW9uYWwga2V5d29yZCBwYXJhbWV0ZXJzICpsaW5lanVuayogYW5kICpjaGFyanVuayogYXJlIGZpbHRlcmluZyBmdW5jdGlvbnMKICAgIChvciBgYE5vbmVgYCk6CiAKICAgICpsaW5lanVuayo6IEEgZnVuY3Rpb24gdGhhdCBhY2NlcHRzIGEgc2luZ2xlIHN0cmluZyBhcmd1bWVudCwgYW5kIHJldHVybnMKQEAgLTIyMiw3ICsyMjYsNyBAQAogICAgKmNoYXJqdW5rKjogQSBmdW5jdGlvbiB0aGF0IGFjY2VwdHMgYSBjaGFyYWN0ZXIgKGEgc3RyaW5nIG9mIGxlbmd0aCAxKSwgYW5kCiAgICByZXR1cm5zIGlmIHRoZSBjaGFyYWN0ZXIgaXMganVuaywgb3IgZmFsc2UgaWYgbm90LiBUaGUgZGVmYXVsdCBpcyBtb2R1bGUtbGV2ZWwKICAgIGZ1bmN0aW9uIDpmdW5jOmBJU19DSEFSQUNURVJfSlVOS2AsIHdoaWNoIGZpbHRlcnMgb3V0IHdoaXRlc3BhY2UgY2hhcmFjdGVycyAoYQotICAgYmxhbmsgb3IgdGFiOyBub3RlOiBiYWQgaWRlYSB0byBpbmNsdWRlIG5ld2xpbmUgaW4gdGhpcyEpLgorICAgYmxhbmsgb3IgdGFiOyBpdCdzIGEgYmFkIGlkZWEgdG8gaW5jbHVkZSBuZXdsaW5lIGluIHRoaXMhKS4KIAogICAgOmZpbGU6YFRvb2xzL3NjcmlwdHMvbmRpZmYucHlgIGlzIGEgY29tbWFuZC1saW5lIGZyb250LWVuZCB0byB0aGlzIGZ1bmN0aW9uLgogCkBAIC02MjIsNiArNjI2LDEyIEBACiAgICBsZW5ndGggMSksIGFuZCByZXR1cm5zIHRydWUgaWYgdGhlIGNoYXJhY3RlciBpcyBqdW5rLiBUaGUgZGVmYXVsdCBpcyBgYE5vbmVgYCwKICAgIG1lYW5pbmcgdGhhdCBubyBjaGFyYWN0ZXIgaXMgY29uc2lkZXJlZCBqdW5rLgogCisgICBUaGVzZSBqdW5rLWZpbHRlcmluZyBmdW5jdGlvbnMgc3BlZWQgdXAgbWF0Y2hpbmcgdG8gZmluZAorICAgZGlmZmVyZW5jZXMgYW5kIGRvIG5vdCBjYXVzZSBhbnkgZGlmZmVyaW5nIGxpbmVzIG9yIGNoYXJhY3RlcnMgdG8KKyAgIGJlIGlnbm9yZWQuICBSZWFkIHRoZSBkZXNjcmlwdGlvbiBvZiB0aGUKKyAgIDptZXRoOmB+U2VxdWVuY2VNYXRjaGVyLmZpbmRfbG9uZ2VzdF9tYXRjaGAgbWV0aG9kJ3MgKmlzanVuayoKKyAgIHBhcmFtZXRlciBmb3IgYW4gZXhwbGFuYXRpb24uCisKICAgIDpjbGFzczpgRGlmZmVyYCBvYmplY3RzIGFyZSB1c2VkIChkZWx0YXMgZ2VuZXJhdGVkKSB2aWEgYSBzaW5nbGUgbWV0aG9kOgogCiAKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L2Rpcy5yc3QgYi9Eb2MvbGlicmFyeS9kaXMucnN0CmluZGV4IGI4MTZkY2MuLjJiMTA3OTUgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L2Rpcy5yc3QKKysrIGIvRG9jL2xpYnJhcnkvZGlzLnJzdApAQCAtNDgsOCArNDgsOSBAQAogCiAuLiBjbGFzczo6IEJ5dGVjb2RlKHgsICosIGZpcnN0X2xpbmU9Tm9uZSwgY3VycmVudF9vZmZzZXQ9Tm9uZSkKIAotICAgQW5hbHlzZSB0aGUgYnl0ZWNvZGUgY29ycmVzcG9uZGluZyB0byBhIGZ1bmN0aW9uLCBtZXRob2QsIHN0cmluZyBvZiBzb3VyY2UKLSAgIGNvZGUsIG9yIGEgY29kZSBvYmplY3QgKGFzIHJldHVybmVkIGJ5IDpmdW5jOmBjb21waWxlYCkuCisKKyAgIEFuYWx5c2UgdGhlIGJ5dGVjb2RlIGNvcnJlc3BvbmRpbmcgdG8gYSBmdW5jdGlvbiwgZ2VuZXJhdG9yLCBtZXRob2QsIHN0cmluZworICAgb2Ygc291cmNlIGNvZGUsIG9yIGEgY29kZSBvYmplY3QgKGFzIHJldHVybmVkIGJ5IDpmdW5jOmBjb21waWxlYCkuCiAKICAgIFRoaXMgaXMgYSBjb252ZW5pZW5jZSB3cmFwcGVyIGFyb3VuZCBtYW55IG9mIHRoZSBmdW5jdGlvbnMgbGlzdGVkIGJlbG93LCBtb3N0CiAgICBub3RhYmx5IDpmdW5jOmBnZXRfaW5zdHJ1Y3Rpb25zYCwgYXMgaXRlcmF0aW5nIG92ZXIgYSA6Y2xhc3M6YEJ5dGVjb2RlYApAQCAtMTA5LDcgKzExMCw3IEBACiAuLiBmdW5jdGlvbjo6IGNvZGVfaW5mbyh4KQogCiAgICBSZXR1cm4gYSBmb3JtYXR0ZWQgbXVsdGktbGluZSBzdHJpbmcgd2l0aCBkZXRhaWxlZCBjb2RlIG9iamVjdCBpbmZvcm1hdGlvbgotICAgZm9yIHRoZSBzdXBwbGllZCBmdW5jdGlvbiwgbWV0aG9kLCBzb3VyY2UgY29kZSBzdHJpbmcgb3IgY29kZSBvYmplY3QuCisgICBmb3IgdGhlIHN1cHBsaWVkIGZ1bmN0aW9uLCBnZW5lcmF0b3IsIG1ldGhvZCwgc291cmNlIGNvZGUgc3RyaW5nIG9yIGNvZGUgb2JqZWN0LgogCiAgICBOb3RlIHRoYXQgdGhlIGV4YWN0IGNvbnRlbnRzIG9mIGNvZGUgaW5mbyBzdHJpbmdzIGFyZSBoaWdobHkgaW1wbGVtZW50YXRpb24KICAgIGRlcGVuZGVudCBhbmQgdGhleSBtYXkgY2hhbmdlIGFyYml0cmFyaWx5IGFjcm9zcyBQeXRob24gVk1zIG9yIFB5dGhvbgpAQCAtMTM2LDExICsxMzcsMTEgQEAKIC4uIGZ1bmN0aW9uOjogZGlzKHg9Tm9uZSwgKiwgZmlsZT1Ob25lKQogCiAgICBEaXNhc3NlbWJsZSB0aGUgKngqIG9iamVjdC4gICp4KiBjYW4gZGVub3RlIGVpdGhlciBhIG1vZHVsZSwgYSBjbGFzcywgYQotICAgbWV0aG9kLCBhIGZ1bmN0aW9uLCBhIGNvZGUgb2JqZWN0LCBhIHN0cmluZyBvZiBzb3VyY2UgY29kZSBvciBhIGJ5dGUgc2VxdWVuY2UKLSAgIG9mIHJhdyBieXRlY29kZS4gIEZvciBhIG1vZHVsZSwgaXQgZGlzYXNzZW1ibGVzIGFsbCBmdW5jdGlvbnMuICBGb3IgYSBjbGFzcywKLSAgIGl0IGRpc2Fzc2VtYmxlcyBhbGwgbWV0aG9kcy4gIEZvciBhIGNvZGUgb2JqZWN0IG9yIHNlcXVlbmNlIG9mIHJhdyBieXRlY29kZSwKLSAgIGl0IHByaW50cyBvbmUgbGluZSBwZXIgYnl0ZWNvZGUgaW5zdHJ1Y3Rpb24uICBTdHJpbmdzIGFyZSBmaXJzdCBjb21waWxlZCB0bwotICAgY29kZSBvYmplY3RzIHdpdGggdGhlIDpmdW5jOmBjb21waWxlYCBidWlsdC1pbiBmdW5jdGlvbiBiZWZvcmUgYmVpbmcKKyAgIG1ldGhvZCwgYSBmdW5jdGlvbiwgYSBnZW5lcmF0b3IsIGEgY29kZSBvYmplY3QsIGEgc3RyaW5nIG9mIHNvdXJjZSBjb2RlIG9yCisgICBhIGJ5dGUgc2VxdWVuY2Ugb2YgcmF3IGJ5dGVjb2RlLiAgRm9yIGEgbW9kdWxlLCBpdCBkaXNhc3NlbWJsZXMgYWxsIGZ1bmN0aW9ucy4KKyAgIEZvciBhIGNsYXNzLCBpdCBkaXNhc3NlbWJsZXMgYWxsIG1ldGhvZHMuICBGb3IgYSBjb2RlIG9iamVjdCBvciBzZXF1ZW5jZSBvZgorICAgcmF3IGJ5dGVjb2RlLCBpdCBwcmludHMgb25lIGxpbmUgcGVyIGJ5dGVjb2RlIGluc3RydWN0aW9uLiAgU3RyaW5ncyBhcmUgZmlyc3QKKyAgIGNvbXBpbGVkIHRvIGNvZGUgb2JqZWN0cyB3aXRoIHRoZSA6ZnVuYzpgY29tcGlsZWAgYnVpbHQtaW4gZnVuY3Rpb24gYmVmb3JlIGJlaW5nCiAgICBkaXNhc3NlbWJsZWQuICBJZiBubyBvYmplY3QgaXMgcHJvdmlkZWQsIHRoaXMgZnVuY3Rpb24gZGlzYXNzZW1ibGVzIHRoZSBsYXN0CiAgICB0cmFjZWJhY2suCiAKQEAgLTM2MSw2ICszNjIsMTEgQEAKICAgIEltcGxlbWVudHMgYGBUT1MgPSBUT1MxICogVE9TYGAuCiAKIAorLi4gb3Bjb2RlOjogQklOQVJZX01BVFJJWF9NVUxUSVBMWQorCisgICBJbXBsZW1lbnRzIGBgVE9TID0gVE9TMSBAIFRPU2BgLgorCisKIC4uIG9wY29kZTo6IEJJTkFSWV9GTE9PUl9ESVZJREUKIAogICAgSW1wbGVtZW50cyBgYFRPUyA9IFRPUzEgLy8gVE9TYGAuCkBAIC00MzMsNiArNDM5LDExIEBACiAgICBJbXBsZW1lbnRzIGluLXBsYWNlIGBgVE9TID0gVE9TMSAqIFRPU2BgLgogCiAKKy4uIG9wY29kZTo6IElOUExBQ0VfTUFUUklYX01VTFRJUExZCisKKyAgIEltcGxlbWVudHMgaW4tcGxhY2UgYGBUT1MgPSBUT1MxIEAgVE9TYGAuCisKKwogLi4gb3Bjb2RlOjogSU5QTEFDRV9GTE9PUl9ESVZJREUKIAogICAgSW1wbGVtZW50cyBpbi1wbGFjZSBgYFRPUyA9IFRPUzEgLy8gVE9TYGAuCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9kb2N0ZXN0LnJzdCBiL0RvYy9saWJyYXJ5L2RvY3Rlc3QucnN0CmluZGV4IDJlMzcyZGUuLjlhYTllYTYgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L2RvY3Rlc3QucnN0CisrKyBiL0RvYy9saWJyYXJ5L2RvY3Rlc3QucnN0CkBAIC0xMDU4LDE1ICsxMDU4LDkgQEAKIAogICAgVGhpcyBmdW5jdGlvbiB1c2VzIHRoZSBzYW1lIHNlYXJjaCB0ZWNobmlxdWUgYXMgOmZ1bmM6YHRlc3Rtb2RgLgogCi0gICAuLiBub3RlOjoKLSAgICAgIFVubGlrZSA6ZnVuYzpgdGVzdG1vZGAgYW5kIDpjbGFzczpgRG9jVGVzdEZpbmRlcmAsIHRoaXMgZnVuY3Rpb24gcmFpc2VzCi0gICAgICBhIDpleGM6YFZhbHVlRXJyb3JgIGlmICptb2R1bGUqIGNvbnRhaW5zIG5vIGRvY3N0cmluZ3MuICBZb3UgY2FuIHByZXZlbnQKLSAgICAgIHRoaXMgZXJyb3IgYnkgcGFzc2luZyBhIDpjbGFzczpgRG9jVGVzdEZpbmRlcmAgaW5zdGFuY2UgYXMgdGhlCi0gICAgICAqdGVzdF9maW5kZXIqIGFyZ3VtZW50IHdpdGggaXRzICpleGNsdWRlX2VtcHR5KiBrZXl3b3JkIGFyZ3VtZW50IHNldAotICAgICAgdG8gYGBGYWxzZWBgOjoKLQotICAgICAgICAgPj4+IGZpbmRlciA9IGRvY3Rlc3QuRG9jVGVzdEZpbmRlcihleGNsdWRlX2VtcHR5PUZhbHNlKQotICAgICAgICAgPj4+IHN1aXRlID0gZG9jdGVzdC5Eb2NUZXN0U3VpdGUodGVzdF9maW5kZXI9ZmluZGVyKQorICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjUKKyAgICAgIDpmdW5jOmBEb2NUZXN0U3VpdGVgIHJldHVybnMgYW4gZW1wdHkgOmNsYXNzOmB1bml0dGVzdC5UZXN0U3VpdGVgIGlmICptb2R1bGUqCisgICAgICBjb250YWlucyBubyBkb2NzdHJpbmdzIGluc3RlYWQgb2YgcmFpc2luZyA6ZXhjOmBWYWx1ZUVycm9yYC4KIAogCiBVbmRlciB0aGUgY292ZXJzLCA6ZnVuYzpgRG9jVGVzdFN1aXRlYCBjcmVhdGVzIGEgOmNsYXNzOmB1bml0dGVzdC5UZXN0U3VpdGVgIG91dApkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvZW1haWwubWltZS5yc3QgYi9Eb2MvbGlicmFyeS9lbWFpbC5taW1lLnJzdAppbmRleCAxZDcwMjI1Li42N2QwYTY3IDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS9lbWFpbC5taW1lLnJzdAorKysgYi9Eb2MvbGlicmFyeS9lbWFpbC5taW1lLnJzdApAQCAtMTk1LDcgKzE5NSw4IEBACiAgICBzZXQgb2YgdGhlIHRleHQgYW5kIGlzIHBhc3NlZCBhcyBhbiBhcmd1bWVudCB0byB0aGUKICAgIDpjbGFzczpgfmVtYWlsLm1pbWUubm9ubXVsdGlwYXJ0Lk1JTUVOb25NdWx0aXBhcnRgIGNvbnN0cnVjdG9yOyBpdCBkZWZhdWx0cwogICAgdG8gYGB1cy1hc2NpaWBgIGlmIHRoZSBzdHJpbmcgY29udGFpbnMgb25seSBgYGFzY2lpYGAgY29kZSBwb2ludHMsIGFuZAotICAgYGB1dGYtOGBgIG90aGVyd2lzZS4KKyAgIGBgdXRmLThgYCBvdGhlcndpc2UuICBUaGUgKl9jaGFyc2V0KiBwYXJhbWV0ZXIgYWNjZXB0cyBlaXRoZXIgYSBzdHJpbmcgb3IgYQorICAgOmNsYXNzOmB+ZW1haWwuY2hhcnNldC5DaGFyc2V0YCBpbnN0YW5jZS4KIAogICAgVW5sZXNzIHRoZSAqX2NoYXJzZXQqIGFyZ3VtZW50IGlzIGV4cGxpY2l0bHkgc2V0IHRvIGBgTm9uZWBgLCB0aGUKICAgIE1JTUVUZXh0IG9iamVjdCBjcmVhdGVkIHdpbGwgaGF2ZSBib3RoIGEgOm1haWxoZWFkZXI6YENvbnRlbnQtVHlwZWAgaGVhZGVyCkBAIC0yMDYsMyArMjA3LDYgQEAKICAgIGBgQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZ2BgIGhlYWRlciwgYWZ0ZXIgd2hpY2ggYSBgYHNldF9wYXlsb2FkYGAgY2FsbAogICAgd2lsbCBhdXRvbWF0aWNhbGx5IGVuY29kZSB0aGUgbmV3IHBheWxvYWQgKGFuZCBhZGQgYSBuZXcKICAgIDptYWlsaGVhZGVyOmBDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nYCBoZWFkZXIpLgorCisgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuNQorICAgICAgKl9jaGFyc2V0KiBhbHNvIGFjY2VwdHMgOmNsYXNzOmB+ZW1haWwuY2hhcnNldC5DaGFyc2V0YCBpbnN0YW5jZXMuCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9lbnVtLnJzdCBiL0RvYy9saWJyYXJ5L2VudW0ucnN0CmluZGV4IGNmMDk1NTkuLmQzYjgzOGMgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L2VudW0ucnN0CisrKyBiL0RvYy9saWJyYXJ5L2VudW0ucnN0CkBAIC0zMTQsMTEgKzMxNCwxMSBAQAogICAgID4+PiBzdHIoTW9vZC5mdW5reSkKICAgICAnbXkgY3VzdG9tIHN0ciEgMScKIAotVGhlIHJ1bGVzIGZvciB3aGF0IGlzIGFsbG93ZWQgYXJlIGFzIGZvbGxvd3M6IF9zdW5kZXJfIG5hbWVzIChzdGFydGluZyBhbmQKLWVuZGluZyB3aXRoIGEgc2luZ2xlIHVuZGVyc2NvcmUpIGFyZSByZXNlcnZlZCBieSBlbnVtIGFuZCBjYW5ub3QgYmUgdXNlZDsKLWFsbCBvdGhlciBhdHRyaWJ1dGVzIGRlZmluZWQgd2l0aGluIGFuIGVudW1lcmF0aW9uIHdpbGwgYmVjb21lIG1lbWJlcnMgb2YgdGhpcwotZW51bWVyYXRpb24sIHdpdGggdGhlIGV4Y2VwdGlvbiBvZiAqX19kdW5kZXJfXyogbmFtZXMgYW5kIGRlc2NyaXB0b3JzIChtZXRob2RzCi1hcmUgYWxzbyBkZXNjcmlwdG9ycykuCitUaGUgcnVsZXMgZm9yIHdoYXQgaXMgYWxsb3dlZCBhcmUgYXMgZm9sbG93czogbmFtZXMgdGhhdCBzdGFydCBhbmQgZW5kIHdpdGggYQord2l0aCBhIHNpbmdsZSB1bmRlcnNjb3JlIGFyZSByZXNlcnZlZCBieSBlbnVtIGFuZCBjYW5ub3QgYmUgdXNlZDsgYWxsIG90aGVyCithdHRyaWJ1dGVzIGRlZmluZWQgd2l0aGluIGFuIGVudW1lcmF0aW9uIHdpbGwgYmVjb21lIG1lbWJlcnMgb2YgdGhpcworZW51bWVyYXRpb24sIHdpdGggdGhlIGV4Y2VwdGlvbiBvZiBzcGVjaWFsIG1ldGhvZHMgKDptZXRoOmBfX3N0cl9fYCwKKzptZXRoOmBfX2FkZF9fYCwgZXRjLikgYW5kIGRlc2NyaXB0b3JzIChtZXRob2RzIGFyZSBhbHNvIGRlc2NyaXB0b3JzKS4KIAogTm90ZTogIGlmIHlvdXIgZW51bWVyYXRpb24gZGVmaW5lcyA6bWV0aDpgX19uZXdfX2AgYW5kL29yIDptZXRoOmBfX2luaXRfX2AgdGhlbgogd2hhdGV2ZXIgdmFsdWUocykgd2VyZSBnaXZlbiB0byB0aGUgZW51bSBtZW1iZXIgd2lsbCBiZSBwYXNzZWQgaW50byB0aG9zZQpAQCAtNDAwLDcgKzQwMCw4IEBACiB3aGl0ZXNwYWNlLXNlcGFyYXRlZCBzdHJpbmcgb2YgbmFtZXMsIGEgc2VxdWVuY2Ugb2YgbmFtZXMsIGEgc2VxdWVuY2Ugb2YKIDItdHVwbGVzIHdpdGgga2V5L3ZhbHVlIHBhaXJzLCBvciBhIG1hcHBpbmcgKGUuZy4gZGljdGlvbmFyeSkgb2YgbmFtZXMgdG8KIHZhbHVlcy4gIFRoZSBsYXN0IHR3byBvcHRpb25zIGVuYWJsZSBhc3NpZ25pbmcgYXJiaXRyYXJ5IHZhbHVlcyB0bwotZW51bWVyYXRpb25zOyB0aGUgb3RoZXJzIGF1dG8tYXNzaWduIGluY3JlYXNpbmcgaW50ZWdlcnMgc3RhcnRpbmcgd2l0aCAxLiAgQQorZW51bWVyYXRpb25zOyB0aGUgb3RoZXJzIGF1dG8tYXNzaWduIGluY3JlYXNpbmcgaW50ZWdlcnMgc3RhcnRpbmcgd2l0aCAxICh1c2UKK3RoZSBgYHN0YXJ0YGAgcGFyYW1ldGVyIHRvIHNwZWNpZnkgYSBkaWZmZXJlbnQgc3RhcnRpbmcgdmFsdWUpLiAgQQogbmV3IGNsYXNzIGRlcml2ZWQgZnJvbSA6Y2xhc3M6YEVudW1gIGlzIHJldHVybmVkLiAgSW4gb3RoZXIgd29yZHMsIHRoZSBhYm92ZQogYXNzaWdubWVudCB0byA6Y2xhc3M6YEFuaW1hbGAgaXMgZXF1aXZhbGVudCB0bzo6CiAKQEAgLTQzOCwxMiArNDM5LDEyIEBACiAKIFRoZSBjb21wbGV0ZSBzaWduYXR1cmUgaXM6OgogCi0gICAgRW51bSh2YWx1ZT0nTmV3RW51bU5hbWUnLCBuYW1lcz08Li4uPiwgKiwgbW9kdWxlPScuLi4nLCBxdWFsbmFtZT0nLi4uJywgdHlwZT08bWl4ZWQtaW4gY2xhc3M+KQorICAgIEVudW0odmFsdWU9J05ld0VudW1OYW1lJywgbmFtZXM9PC4uLj4sICosIG1vZHVsZT0nLi4uJywgcXVhbG5hbWU9Jy4uLicsIHR5cGU9PG1peGVkLWluIGNsYXNzPiwgc3RhcnQ9MSkKIAogOnZhbHVlOiBXaGF0IHRoZSBuZXcgRW51bSBjbGFzcyB3aWxsIHJlY29yZCBhcyBpdHMgbmFtZS4KIAogOm5hbWVzOiBUaGUgRW51bSBtZW1iZXJzLiAgVGhpcyBjYW4gYmUgYSB3aGl0ZXNwYWNlIG9yIGNvbW1hIHNlcGFyYXRlZCBzdHJpbmcKLSAgKHZhbHVlcyB3aWxsIHN0YXJ0IGF0IDEpOjoKKyAgKHZhbHVlcyB3aWxsIHN0YXJ0IGF0IDEgdW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQpOjoKIAogICAgICdyZWQgZ3JlZW4gYmx1ZScgfCAncmVkLGdyZWVuLGJsdWUnIHwgJ3JlZCwgZ3JlZW4sIGJsdWUnCiAKQEAgLTQ2NSw2ICs0NjYsMTEgQEAKIAogOnR5cGU6IHR5cGUgdG8gbWl4IGluIHRvIG5ldyBFbnVtIGNsYXNzLgogCis6c3RhcnQ6IG51bWJlciB0byBzdGFydCBjb3VudGluZyBhdCBpZiBvbmx5IG5hbWVzIGFyZSBwYXNzZWQgaW4KKworLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjUKKyAgIFRoZSAqc3RhcnQqIHBhcmFtZXRlciB3YXMgYWRkZWQuCisKIAogRGVyaXZlZCBFbnVtZXJhdGlvbnMKIC0tLS0tLS0tLS0tLS0tLS0tLS0tCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9mb3JtYXR0ZXIucnN0IGIvRG9jL2xpYnJhcnkvZm9ybWF0dGVyLnJzdAppbmRleCAxODQ3YTgwLi5hNTE1Zjc0IDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS9mb3JtYXR0ZXIucnN0CisrKyBiL0RvYy9saWJyYXJ5L2Zvcm1hdHRlci5yc3QKQEAgLTUsNyArNSw3IEBACiAgICA6c3lub3BzaXM6IEdlbmVyaWMgb3V0cHV0IGZvcm1hdHRlciBhbmQgZGV2aWNlIGludGVyZmFjZS4KICAgIDpkZXByZWNhdGVkOgogCi0uLiBkZXByZWNhdGVkOjogMy40CisuLiBkZXByZWNhdGVkLXJlbW92ZWQ6OiAzLjQgMy42CiAgICBEdWUgdG8gbGFjayBvZiB1c2FnZSwgdGhlIGZvcm1hdHRlciBtb2R1bGUgaGFzIGJlZW4gZGVwcmVjYXRlZCBhbmQgaXMgc2xhdGVkCiAgICBmb3IgcmVtb3ZhbCBpbiBQeXRob24gMy42LgogCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9mdW5jdGlvbnMucnN0IGIvRG9jL2xpYnJhcnkvZnVuY3Rpb25zLnJzdAppbmRleCBkOWU1Y2ZiLi5lYjI4NTEzIDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS9mdW5jdGlvbnMucnN0CisrKyBiL0RvYy9saWJyYXJ5L2Z1bmN0aW9ucy5yc3QKQEAgLTE1NiwxMSArMTU2LDEyIEBACiAKIC4uIGZ1bmN0aW9uOjogY2hyKGkpCiAKLSAgIFJldHVybiB0aGUgc3RyaW5nIHJlcHJlc2VudGluZyBhIGNoYXJhY3RlciB3aG9zZSBVbmljb2RlIGNvZGUgcG9pbnQgaXMgdGhlIGludGVnZXIKLSAgICppKi4gIEZvciBleGFtcGxlLCBgYGNocig5NylgYCByZXR1cm5zIHRoZSBzdHJpbmcgYGAnYSdgYC4gVGhpcyBpcyB0aGUKLSAgIGludmVyc2Ugb2YgOmZ1bmM6YG9yZGAuICBUaGUgdmFsaWQgcmFuZ2UgZm9yIHRoZSBhcmd1bWVudCBpcyBmcm9tIDAgdGhyb3VnaAotICAgMSwxMTQsMTExICgweDEwRkZGRiBpbiBiYXNlIDE2KS4gIDpleGM6YFZhbHVlRXJyb3JgIHdpbGwgYmUgcmFpc2VkIGlmICppKiBpcwotICAgb3V0c2lkZSB0aGF0IHJhbmdlLgorICAgUmV0dXJuIHRoZSBzdHJpbmcgcmVwcmVzZW50aW5nIGEgY2hhcmFjdGVyIHdob3NlIFVuaWNvZGUgY29kZSBwb2ludCBpcyB0aGUKKyAgIGludGVnZXIgKmkqLiAgRm9yIGV4YW1wbGUsIGBgY2hyKDk3KWBgIHJldHVybnMgdGhlIHN0cmluZyBgYCdhJ2BgLCB3aGlsZQorICAgYGBjaHIoOTMxKWBgIHJldHVybnMgdGhlIHN0cmluZyBgYCfOoydgYC4gVGhpcyBpcyB0aGUgaW52ZXJzZSBvZiA6ZnVuYzpgb3JkYC4KKworICAgVGhlIHZhbGlkIHJhbmdlIGZvciB0aGUgYXJndW1lbnQgaXMgZnJvbSAwIHRocm91Z2ggMSwxMTQsMTExICgweDEwRkZGRiBpbgorICAgYmFzZSAxNikuICA6ZXhjOmBWYWx1ZUVycm9yYCB3aWxsIGJlIHJhaXNlZCBpZiAqaSogaXMgb3V0c2lkZSB0aGF0IHJhbmdlLgogCiAKIC4uIGZ1bmN0aW9uOjogY2xhc3NtZXRob2QoZnVuY3Rpb24pCkBAIC05NzIsOSArOTczLDExIEBACiAgICAgIENoYXJhY3RlcnMgbm90IHN1cHBvcnRlZCBieSB0aGUgZW5jb2RpbmcgYXJlIHJlcGxhY2VkIHdpdGggdGhlCiAgICAgIGFwcHJvcHJpYXRlIFhNTCBjaGFyYWN0ZXIgcmVmZXJlbmNlIGBgJiNubm47YGAuCiAKLSAgICogYGAnYmFja3NsYXNocmVwbGFjZSdgYCAoYWxzbyBvbmx5IHN1cHBvcnRlZCB3aGVuIHdyaXRpbmcpCi0gICAgIHJlcGxhY2VzIHVuc3VwcG9ydGVkIGNoYXJhY3RlcnMgd2l0aCBQeXRob24ncyBiYWNrc2xhc2hlZCBlc2NhcGUKLSAgICAgc2VxdWVuY2VzLgorICAgKiBgYCdiYWNrc2xhc2hyZXBsYWNlJ2BgIHJlcGxhY2VzIG1hbGZvcm1lZCBkYXRhIGJ5IFB5dGhvbidzIGJhY2tzbGFzaGVkCisgICAgIGVzY2FwZSBzZXF1ZW5jZXMuCisKKyAgICogYGAnbmFtZXJlcGxhY2UnYGAgKGFsc28gb25seSBzdXBwb3J0ZWQgd2hlbiB3cml0aW5nKQorICAgICByZXBsYWNlcyB1bnN1cHBvcnRlZCBjaGFyYWN0ZXJzIHdpdGggYGBcTnsuLi59YGAgZXNjYXBlIHNlcXVlbmNlcy4KIAogICAgLi4gaW5kZXg6OgogICAgICAgc2luZ2xlOiB1bml2ZXJzYWwgbmV3bGluZXM7IG9wZW4oKSBidWlsdC1pbiBmdW5jdGlvbgpAQCAtOTk5LDggKzEwMDIsOCBAQAogCiAgICBJZiAqY2xvc2VmZCogaXMgYGBGYWxzZWBgIGFuZCBhIGZpbGUgZGVzY3JpcHRvciByYXRoZXIgdGhhbiBhIGZpbGVuYW1lIHdhcwogICAgZ2l2ZW4sIHRoZSB1bmRlcmx5aW5nIGZpbGUgZGVzY3JpcHRvciB3aWxsIGJlIGtlcHQgb3BlbiB3aGVuIHRoZSBmaWxlIGlzCi0gICBjbG9zZWQuICBJZiBhIGZpbGVuYW1lIGlzIGdpdmVuICpjbG9zZWZkKiBoYXMgbm8gZWZmZWN0IGFuZCBtdXN0IGJlIGBgVHJ1ZWBgCi0gICAodGhlIGRlZmF1bHQpLgorICAgY2xvc2VkLiAgSWYgYSBmaWxlbmFtZSBpcyBnaXZlbiAqY2xvc2VmZCogbXVzdCBiZSBgYFRydWVgYCAodGhlIGRlZmF1bHQpCisgICBvdGhlcndpc2UgYW4gZXJyb3Igd2lsbCBiZSByYWlzZWQuCiAKICAgIEEgY3VzdG9tIG9wZW5lciBjYW4gYmUgdXNlZCBieSBwYXNzaW5nIGEgY2FsbGFibGUgYXMgKm9wZW5lciouIFRoZSB1bmRlcmx5aW5nCiAgICBmaWxlIGRlc2NyaXB0b3IgZm9yIHRoZSBmaWxlIG9iamVjdCBpcyB0aGVuIG9idGFpbmVkIGJ5IGNhbGxpbmcgKm9wZW5lciogd2l0aApAQCAtMTA2MywxMyArMTA2NiwxMiBAQAogICAgICAgVGhlIGBgJ1UnYGAgbW9kZS4KIAogCi0uLiBYWFggd29ya3MgZm9yIGJ5dGVzIHRvbywgYnV0IHNob3VsZCBpdD8KIC4uIGZ1bmN0aW9uOjogb3JkKGMpCiAKICAgIEdpdmVuIGEgc3RyaW5nIHJlcHJlc2VudGluZyBvbmUgVW5pY29kZSBjaGFyYWN0ZXIsIHJldHVybiBhbiBpbnRlZ2VyCi0gICByZXByZXNlbnRpbmcgdGhlIFVuaWNvZGUgY29kZQotICAgcG9pbnQgb2YgdGhhdCBjaGFyYWN0ZXIuICBGb3IgZXhhbXBsZSwgYGBvcmQoJ2EnKWBgIHJldHVybnMgdGhlIGludGVnZXIgYGA5N2BgCi0gICBhbmQgYGBvcmQoJ1x1MjAyMCcpYGAgcmV0dXJucyBgYDgyMjRgYC4gIFRoaXMgaXMgdGhlIGludmVyc2Ugb2YgOmZ1bmM6YGNocmAuCisgICByZXByZXNlbnRpbmcgdGhlIFVuaWNvZGUgY29kZSBwb2ludCBvZiB0aGF0IGNoYXJhY3Rlci4gIEZvciBleGFtcGxlLAorICAgYGBvcmQoJ2EnKWBgIHJldHVybnMgdGhlIGludGVnZXIgYGA5N2BgIGFuZCBgYG9yZCgnzqMnKWBgIHJldHVybnMgYGA5MzFgYC4KKyAgIFRoaXMgaXMgdGhlIGludmVyc2Ugb2YgOmZ1bmM6YGNocmAuCiAKIAogLi4gZnVuY3Rpb246OiBwb3coeCwgeVssIHpdKQpkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvZ2MucnN0IGIvRG9jL2xpYnJhcnkvZ2MucnN0CmluZGV4IDgxMzU1NDIuLmQxMWMyZTEgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L2djLnJzdAorKysgYi9Eb2MvbGlicmFyeS9nYy5yc3QKQEAgLTE4Niw3ICsxODYsNyBAQAogICAgYWRkZWQgdG8gdGhpcyBsaXN0IHJhdGhlciB0aGFuIGZyZWVkLgogCiAgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuMgotICAgICAgSWYgdGhpcyBsaXN0IGlzIG5vbi1lbXB0eSBhdCBpbnRlcnByZXRlciBzaHV0ZG93biwgYQorICAgICAgSWYgdGhpcyBsaXN0IGlzIG5vbi1lbXB0eSBhdCA6dGVybTpgaW50ZXJwcmV0ZXIgc2h1dGRvd25gLCBhCiAgICAgICA6ZXhjOmBSZXNvdXJjZVdhcm5pbmdgIGlzIGVtaXR0ZWQsIHdoaWNoIGlzIHNpbGVudCBieSBkZWZhdWx0LiAgSWYKICAgICAgIDpjb25zdDpgREVCVUdfVU5DT0xMRUNUQUJMRWAgaXMgc2V0LCBpbiBhZGRpdGlvbiBhbGwgdW5jb2xsZWN0YWJsZSBvYmplY3RzCiAgICAgICBhcmUgcHJpbnRlZC4KQEAgLTI1Miw4ICsyNTIsOCBAQAogICAgdG8gdGhlIGBgZ2FyYmFnZWBgIGxpc3QuCiAKICAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy4yCi0gICAgICBBbHNvIHByaW50IHRoZSBjb250ZW50cyBvZiB0aGUgOmRhdGE6YGdhcmJhZ2VgIGxpc3QgYXQgaW50ZXJwcmV0ZXIKLSAgICAgIHNodXRkb3duLCBpZiBpdCBpc24ndCBlbXB0eS4KKyAgICAgIEFsc28gcHJpbnQgdGhlIGNvbnRlbnRzIG9mIHRoZSA6ZGF0YTpgZ2FyYmFnZWAgbGlzdCBhdAorICAgICAgOnRlcm06YGludGVycHJldGVyIHNodXRkb3duYCwgaWYgaXQgaXNuJ3QgZW1wdHkuCiAKIC4uIGRhdGE6OiBERUJVR19TQVZFQUxMCiAKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L2dldHRleHQucnN0IGIvRG9jL2xpYnJhcnkvZ2V0dGV4dC5yc3QKaW5kZXggZmYyM2I1OS4uNTE0Y2M1YSAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvZ2V0dGV4dC5yc3QKKysrIGIvRG9jL2xpYnJhcnkvZ2V0dGV4dC5yc3QKQEAgLTM0NCw5ICszNDQsOSBAQAogVGhlIGVudGlyZSBzZXQgb2Yga2V5L3ZhbHVlIHBhaXJzIGFyZSBwbGFjZWQgaW50byBhIGRpY3Rpb25hcnkgYW5kIHNldCBhcyB0aGUKICJwcm90ZWN0ZWQiIDphdHRyOmBfaW5mb2AgaW5zdGFuY2UgdmFyaWFibGUuCiAKLUlmIHRoZSA6ZmlsZTpgLm1vYCBmaWxlJ3MgbWFnaWMgbnVtYmVyIGlzIGludmFsaWQsIG9yIGlmIG90aGVyIHByb2JsZW1zIG9jY3VyCi13aGlsZSByZWFkaW5nIHRoZSBmaWxlLCBpbnN0YW50aWF0aW5nIGEgOmNsYXNzOmBHTlVUcmFuc2xhdGlvbnNgIGNsYXNzIGNhbiByYWlzZQotOmV4YzpgT1NFcnJvcmAuCitJZiB0aGUgOmZpbGU6YC5tb2AgZmlsZSdzIG1hZ2ljIG51bWJlciBpcyBpbnZhbGlkLCB0aGUgbWFqb3IgdmVyc2lvbiBudW1iZXIgaXMKK3VuZXhwZWN0ZWQsIG9yIGlmIG90aGVyIHByb2JsZW1zIG9jY3VyIHdoaWxlIHJlYWRpbmcgdGhlIGZpbGUsIGluc3RhbnRpYXRpbmcgYQorOmNsYXNzOmBHTlVUcmFuc2xhdGlvbnNgIGNsYXNzIGNhbiByYWlzZSA6ZXhjOmBPU0Vycm9yYC4KIAogVGhlIGZvbGxvd2luZyBtZXRob2RzIGFyZSBvdmVycmlkZGVuIGZyb20gdGhlIGJhc2UgY2xhc3MgaW1wbGVtZW50YXRpb246CiAKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L2dsb2IucnN0IGIvRG9jL2xpYnJhcnkvZ2xvYi5yc3QKaW5kZXggYWJjYmYzOC4uNTBmMzhhNCAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvZ2xvYi5yc3QKKysrIGIvRG9jL2xpYnJhcnkvZ2xvYi5yc3QKQEAgLTI5LDcgKzI5LDcgQEAKICAgIFRoZSA6bW9kOmBwYXRobGliYCBtb2R1bGUgb2ZmZXJzIGhpZ2gtbGV2ZWwgcGF0aCBvYmplY3RzLgogCiAKLS4uIGZ1bmN0aW9uOjogZ2xvYihwYXRobmFtZSkKKy4uIGZ1bmN0aW9uOjogZ2xvYihwYXRobmFtZSwgKiwgcmVjdXJzaXZlPUZhbHNlKQogCiAgICBSZXR1cm4gYSBwb3NzaWJseS1lbXB0eSBsaXN0IG9mIHBhdGggbmFtZXMgdGhhdCBtYXRjaCAqcGF0aG5hbWUqLCB3aGljaCBtdXN0IGJlCiAgICBhIHN0cmluZyBjb250YWluaW5nIGEgcGF0aCBzcGVjaWZpY2F0aW9uLiAqcGF0aG5hbWUqIGNhbiBiZSBlaXRoZXIgYWJzb2x1dGUKQEAgLTM3LDggKzM3LDE5IEBACiAgICA6ZmlsZTpgLi4vLi4vVG9vbHMvXCovXCouZ2lmYCksIGFuZCBjYW4gY29udGFpbiBzaGVsbC1zdHlsZSB3aWxkY2FyZHMuIEJyb2tlbgogICAgc3ltbGlua3MgYXJlIGluY2x1ZGVkIGluIHRoZSByZXN1bHRzIChhcyBpbiB0aGUgc2hlbGwpLgogCisgICBJZiAqcmVjdXJzaXZlKiBpcyB0cnVlLCB0aGUgcGF0dGVybiAiYGAqKmBgIiB3aWxsIG1hdGNoIGFueSBmaWxlcyBhbmQgemVybyBvcgorICAgbW9yZSBkaXJlY3RvcmllcyBhbmQgc3ViZGlyZWN0b3JpZXMuICBJZiB0aGUgcGF0dGVybiBpcyBmb2xsb3dlZCBieSBhCisgICBgYG9zLnNlcGBgLCBvbmx5IGRpcmVjdG9yaWVzIGFuZCBzdWJkaXJlY3RvcmllcyBtYXRjaC4KIAotLi4gZnVuY3Rpb246OiBpZ2xvYihwYXRobmFtZSkKKyAgIC4uIG5vdGU6OgorICAgICAgVXNpbmcgdGhlICJgYCoqYGAiIHBhdHRlcm4gaW4gbGFyZ2UgZGlyZWN0b3J5IHRyZWVzIG1heSBjb25zdW1lCisgICAgICBhbiBpbm9yZGluYXRlIGFtb3VudCBvZiB0aW1lLgorCisgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuNQorICAgICAgU3VwcG9ydCBmb3IgcmVjdXJzaXZlIGdsb2JzIHVzaW5nICJgYCoqYGAiLgorCisKKy4uIGZ1bmN0aW9uOjogaWdsb2IocGF0aG5hbWUsIHJlY3Vyc2l2ZT1GYWxzZSkKIAogICAgUmV0dXJuIGFuIDp0ZXJtOmBpdGVyYXRvcmAgd2hpY2ggeWllbGRzIHRoZSBzYW1lIHZhbHVlcyBhcyA6ZnVuYzpgZ2xvYmAKICAgIHdpdGhvdXQgYWN0dWFsbHkgc3RvcmluZyB0aGVtIGFsbCBzaW11bHRhbmVvdXNseS4KQEAgLTU1LDggKzY2LDkgQEAKICAgIC4uIHZlcnNpb25hZGRlZDo6IDMuNAogCiAKLUZvciBleGFtcGxlLCBjb25zaWRlciBhIGRpcmVjdG9yeSBjb250YWluaW5nIG9ubHkgdGhlIGZvbGxvd2luZyBmaWxlczoKLTpmaWxlOmAxLmdpZmAsIDpmaWxlOmAyLnR4dGAsIGFuZCA6ZmlsZTpgY2FyZC5naWZgLiAgOmZ1bmM6YGdsb2JgIHdpbGwgcHJvZHVjZQorRm9yIGV4YW1wbGUsIGNvbnNpZGVyIGEgZGlyZWN0b3J5IGNvbnRhaW5pbmcgdGhlIGZvbGxvd2luZyBmaWxlczoKKzpmaWxlOmAxLmdpZmAsIDpmaWxlOmAyLnR4dGAsIDpmaWxlOmBjYXJkLmdpZmAgYW5kIGEgc3ViZGlyZWN0b3J5IDpmaWxlOmBzdWJgCit3aGljaCBjb250YWlucyBvbmx5IHRoZSBmaWxlIDpmaWxlOmAzLnR4dGAuICA6ZnVuYzpgZ2xvYmAgd2lsbCBwcm9kdWNlCiB0aGUgZm9sbG93aW5nIHJlc3VsdHMuICBOb3RpY2UgaG93IGFueSBsZWFkaW5nIGNvbXBvbmVudHMgb2YgdGhlIHBhdGggYXJlCiBwcmVzZXJ2ZWQuIDo6CiAKQEAgLTY3LDYgKzc5LDEwIEBACiAgICBbJzEuZ2lmJywgJ2NhcmQuZ2lmJ10KICAgID4+PiBnbG9iLmdsb2IoJz8uZ2lmJykKICAgIFsnMS5naWYnXQorICAgPj4+IGdsb2IuZ2xvYignKiovKi50eHQnLCByZWN1cnNpdmU9VHJ1ZSkKKyAgIFsnMi50eHQnLCAnc3ViLzMudHh0J10KKyAgID4+PiBnbG9iLmdsb2IoJy4vKiovJywgcmVjdXJzaXZlPVRydWUpCisgICBbJy4vJywgJy4vc3ViLyddCiAKIElmIHRoZSBkaXJlY3RvcnkgY29udGFpbnMgZmlsZXMgc3RhcnRpbmcgd2l0aCBgYC5gYCB0aGV5IHdvbid0IGJlIG1hdGNoZWQgYnkKIGRlZmF1bHQuIEZvciBleGFtcGxlLCBjb25zaWRlciBhIGRpcmVjdG9yeSBjb250YWluaW5nIDpmaWxlOmBjYXJkLmdpZmAgYW5kCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9oZWFwcS5yc3QgYi9Eb2MvbGlicmFyeS9oZWFwcS5yc3QKaW5kZXggNDMwODhhZC4uOTY4MmI1OSAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvaGVhcHEucnN0CisrKyBiL0RvYy9saWJyYXJ5L2hlYXBxLnJzdApAQCAtODEsNyArODEsNyBAQAogVGhlIG1vZHVsZSBhbHNvIG9mZmVycyB0aHJlZSBnZW5lcmFsIHB1cnBvc2UgZnVuY3Rpb25zIGJhc2VkIG9uIGhlYXBzLgogCiAKLS4uIGZ1bmN0aW9uOjogbWVyZ2UoKml0ZXJhYmxlcykKKy4uIGZ1bmN0aW9uOjogbWVyZ2UoKml0ZXJhYmxlcywga2V5PU5vbmUsIHJldmVyc2U9RmFsc2UpCiAKICAgIE1lcmdlIG11bHRpcGxlIHNvcnRlZCBpbnB1dHMgaW50byBhIHNpbmdsZSBzb3J0ZWQgb3V0cHV0IChmb3IgZXhhbXBsZSwgbWVyZ2UKICAgIHRpbWVzdGFtcGVkIGVudHJpZXMgZnJvbSBtdWx0aXBsZSBsb2cgZmlsZXMpLiAgUmV0dXJucyBhbiA6dGVybTpgaXRlcmF0b3JgCkBAIC05MSw2ICs5MSwxOCBAQAogICAgbm90IHB1bGwgdGhlIGRhdGEgaW50byBtZW1vcnkgYWxsIGF0IG9uY2UsIGFuZCBhc3N1bWVzIHRoYXQgZWFjaCBvZiB0aGUgaW5wdXQKICAgIHN0cmVhbXMgaXMgYWxyZWFkeSBzb3J0ZWQgKHNtYWxsZXN0IHRvIGxhcmdlc3QpLgogCisgICBIYXMgdHdvIG9wdGlvbmFsIGFyZ3VtZW50cyB3aGljaCBtdXN0IGJlIHNwZWNpZmllZCBhcyBrZXl3b3JkIGFyZ3VtZW50cy4KKworICAgKmtleSogc3BlY2lmaWVzIGEgOnRlcm06YGtleSBmdW5jdGlvbmAgb2Ygb25lIGFyZ3VtZW50IHRoYXQgaXMgdXNlZCB0bworICAgZXh0cmFjdCBhIGNvbXBhcmlzb24ga2V5IGZyb20gZWFjaCBpbnB1dCBlbGVtZW50LiAgVGhlIGRlZmF1bHQgdmFsdWUgaXMKKyAgIGBgTm9uZWBgIChjb21wYXJlIHRoZSBlbGVtZW50cyBkaXJlY3RseSkuCisKKyAgICpyZXZlcnNlKiBpcyBhIGJvb2xlYW4gdmFsdWUuICBJZiBzZXQgdG8gYGBUcnVlYGAsIHRoZW4gdGhlIGlucHV0IGVsZW1lbnRzCisgICBhcmUgbWVyZ2VkIGFzIGlmIGVhY2ggY29tcGFyaXNvbiB3ZXJlIHJldmVyc2VkLgorCisgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuNQorICAgICAgQWRkZWQgdGhlIG9wdGlvbmFsICprZXkqIGFuZCAqcmV2ZXJzZSogcGFyYW1ldGVycy4KKwogCiAuLiBmdW5jdGlvbjo6IG5sYXJnZXN0KG4sIGl0ZXJhYmxlLCBrZXk9Tm9uZSkKIApkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvaHRtbC5wYXJzZXIucnN0IGIvRG9jL2xpYnJhcnkvaHRtbC5wYXJzZXIucnN0CmluZGV4IDQ0YjdkNmUuLmI4NGM2MGIgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L2h0bWwucGFyc2VyLnJzdAorKysgYi9Eb2MvbGlicmFyeS9odG1sLnBhcnNlci5yc3QKQEAgLTE2LDIxICsxNiwxMyBAQAogVGhpcyBtb2R1bGUgZGVmaW5lcyBhIGNsYXNzIDpjbGFzczpgSFRNTFBhcnNlcmAgd2hpY2ggc2VydmVzIGFzIHRoZSBiYXNpcyBmb3IKIHBhcnNpbmcgdGV4dCBmaWxlcyBmb3JtYXR0ZWQgaW4gSFRNTCAoSHlwZXJUZXh0IE1hcmstdXAgTGFuZ3VhZ2UpIGFuZCBYSFRNTC4KIAotLi4gY2xhc3M6OiBIVE1MUGFyc2VyKHN0cmljdD1GYWxzZSwgKiwgY29udmVydF9jaGFycmVmcz1GYWxzZSkKKy4uIGNsYXNzOjogSFRNTFBhcnNlcigqLCBjb252ZXJ0X2NoYXJyZWZzPVRydWUpCiAKLSAgIENyZWF0ZSBhIHBhcnNlciBpbnN0YW5jZS4KKyAgIENyZWF0ZSBhIHBhcnNlciBpbnN0YW5jZSBhYmxlIHRvIHBhcnNlIGludmFsaWQgbWFya3VwLgogCi0gICBJZiAqY29udmVydF9jaGFycmVmcyogaXMgYGBUcnVlYGAgKGRlZmF1bHQ6IGBgRmFsc2VgYCksIGFsbCBjaGFyYWN0ZXIKKyAgIElmICpjb252ZXJ0X2NoYXJyZWZzKiBpcyBgYFRydWVgYCAodGhlIGRlZmF1bHQpLCBhbGwgY2hhcmFjdGVyCiAgICByZWZlcmVuY2VzIChleGNlcHQgdGhlIG9uZXMgaW4gYGBzY3JpcHRgYC9gYHN0eWxlYGAgZWxlbWVudHMpIGFyZQogICAgYXV0b21hdGljYWxseSBjb252ZXJ0ZWQgdG8gdGhlIGNvcnJlc3BvbmRpbmcgVW5pY29kZSBjaGFyYWN0ZXJzLgotICAgVGhlIHVzZSBvZiBgYGNvbnZlcnRfY2hhcnJlZnM9VHJ1ZWBgIGlzIGVuY291cmFnZWQgYW5kIHdpbGwgYmVjb21lCi0gICB0aGUgZGVmYXVsdCBpbiBQeXRob24gMy41LgotCi0gICBJZiAqc3RyaWN0KiBpcyBgYEZhbHNlYGAgKHRoZSBkZWZhdWx0KSwgdGhlIHBhcnNlciB3aWxsIGFjY2VwdCBhbmQgcGFyc2UKLSAgIGludmFsaWQgbWFya3VwLiAgSWYgKnN0cmljdCogaXMgYGBUcnVlYGAgdGhlIHBhcnNlciB3aWxsIHJhaXNlIGFuCi0gICA6ZXhjOmB+aHRtbC5wYXJzZXIuSFRNTFBhcnNlRXJyb3JgIGV4Y2VwdGlvbiBpbnN0ZWFkIFsjXV8gd2hlbiBpdCdzIG5vdAotICAgYWJsZSB0byBwYXJzZSB0aGUgbWFya3VwLiAgVGhlIHVzZSBvZiBgYHN0cmljdD1UcnVlYGAgaXMgZGlzY291cmFnZWQgYW5kCi0gICB0aGUgKnN0cmljdCogYXJndW1lbnQgaXMgZGVwcmVjYXRlZC4KIAogICAgQW4gOmNsYXNzOmAuSFRNTFBhcnNlcmAgaW5zdGFuY2UgaXMgZmVkIEhUTUwgZGF0YSBhbmQgY2FsbHMgaGFuZGxlciBtZXRob2RzCiAgICB3aGVuIHN0YXJ0IHRhZ3MsIGVuZCB0YWdzLCB0ZXh0LCBjb21tZW50cywgYW5kIG90aGVyIG1hcmt1cCBlbGVtZW50cyBhcmUKQEAgLTQwLDMxICszMiwxMSBAQAogICAgVGhpcyBwYXJzZXIgZG9lcyBub3QgY2hlY2sgdGhhdCBlbmQgdGFncyBtYXRjaCBzdGFydCB0YWdzIG9yIGNhbGwgdGhlIGVuZC10YWcKICAgIGhhbmRsZXIgZm9yIGVsZW1lbnRzIHdoaWNoIGFyZSBjbG9zZWQgaW1wbGljaXRseSBieSBjbG9zaW5nIGFuIG91dGVyIGVsZW1lbnQuCiAKLSAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy4yCi0gICAgICAqc3RyaWN0KiBhcmd1bWVudCBhZGRlZC4KLQotICAgLi4gZGVwcmVjYXRlZC1yZW1vdmVkOjogMy4zIDMuNQotICAgICAgVGhlICpzdHJpY3QqIGFyZ3VtZW50IGFuZCB0aGUgc3RyaWN0IG1vZGUgaGF2ZSBiZWVuIGRlcHJlY2F0ZWQuCi0gICAgICBUaGUgcGFyc2VyIGlzIG5vdyBhYmxlIHRvIGFjY2VwdCBhbmQgcGFyc2UgaW52YWxpZCBtYXJrdXAgdG9vLgotCiAgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuNAogICAgICAgKmNvbnZlcnRfY2hhcnJlZnMqIGtleXdvcmQgYXJndW1lbnQgYWRkZWQuCiAKLUFuIGV4Y2VwdGlvbiBpcyBkZWZpbmVkIGFzIHdlbGw6Ci0KLQotLi4gZXhjZXB0aW9uOjogSFRNTFBhcnNlRXJyb3IKLQotICAgRXhjZXB0aW9uIHJhaXNlZCBieSB0aGUgOmNsYXNzOmBIVE1MUGFyc2VyYCBjbGFzcyB3aGVuIGl0IGVuY291bnRlcnMgYW4gZXJyb3IKLSAgIHdoaWxlIHBhcnNpbmcgYW5kICpzdHJpY3QqIGlzIGBgVHJ1ZWBgLiAgVGhpcyBleGNlcHRpb24gcHJvdmlkZXMgdGhyZWUKLSAgIGF0dHJpYnV0ZXM6IDphdHRyOmBtc2dgIGlzIGEgYnJpZWYgbWVzc2FnZSBleHBsYWluaW5nIHRoZSBlcnJvciwKLSAgIDphdHRyOmBsaW5lbm9gIGlzIHRoZSBudW1iZXIgb2YgdGhlIGxpbmUgb24gd2hpY2ggdGhlIGJyb2tlbiBjb25zdHJ1Y3Qgd2FzCi0gICBkZXRlY3RlZCwgYW5kIDphdHRyOmBvZmZzZXRgIGlzIHRoZSBudW1iZXIgb2YgY2hhcmFjdGVycyBpbnRvIHRoZSBsaW5lIGF0Ci0gICB3aGljaCB0aGUgY29uc3RydWN0IHN0YXJ0cy4KLQotICAgLi4gZGVwcmVjYXRlZC1yZW1vdmVkOjogMy4zIDMuNQotICAgICAgVGhpcyBleGNlcHRpb24gaGFzIGJlZW4gZGVwcmVjYXRlZCBiZWNhdXNlIGl0J3MgbmV2ZXIgcmFpc2VkIGJ5IHRoZSBwYXJzZXIKLSAgICAgICh3aGVuIHRoZSBkZWZhdWx0IG5vbi1zdHJpY3QgbW9kZSBpcyB1c2VkKS4KKyAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy41CisgICAgICBUaGUgZGVmYXVsdCB2YWx1ZSBmb3IgYXJndW1lbnQgKmNvbnZlcnRfY2hhcnJlZnMqIGlzIG5vdyBgYFRydWVgYC4KIAogCiBFeGFtcGxlIEhUTUwgUGFyc2VyIEFwcGxpY2F0aW9uCkBAIC0yNDYsOCArMjE4LDcgQEAKIAogICAgVGhlICpkYXRhKiBwYXJhbWV0ZXIgd2lsbCBiZSB0aGUgZW50aXJlIGNvbnRlbnRzIG9mIHRoZSBkZWNsYXJhdGlvbiBpbnNpZGUKICAgIHRoZSBgYDwhWy4uLl0+YGAgbWFya3VwLiAgSXQgaXMgc29tZXRpbWVzIHVzZWZ1bCB0byBiZSBvdmVycmlkZGVuIGJ5IGEKLSAgIGRlcml2ZWQgY2xhc3MuICBUaGUgYmFzZSBjbGFzcyBpbXBsZW1lbnRhdGlvbiByYWlzZXMgYW4gOmV4YzpgSFRNTFBhcnNlRXJyb3JgCi0gICB3aGVuICpzdHJpY3QqIGlzIGBgVHJ1ZWBgLgorICAgZGVyaXZlZCBjbGFzcy4gIFRoZSBiYXNlIGNsYXNzIGltcGxlbWVudGF0aW9uIGRvZXMgbm90aGluZy4KIAogCiAuLiBfaHRtbHBhcnNlci1leGFtcGxlczoKQEAgLTM1OCw5ICszMjksMyBAQAogICAgRGF0YSAgICAgOiB0YWcgc291cAogICAgRW5kIHRhZyAgOiBwCiAgICBFbmQgdGFnICA6IGEKLQotLi4gcnVicmljOjogRm9vdG5vdGVzCi0KLS4uIFsjXSBGb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSByZWFzb25zICpzdHJpY3QqIG1vZGUgZG9lcyBub3QgcmFpc2UKLSAgICAgICBleGNlcHRpb25zIGZvciBhbGwgbm9uLWNvbXBsaWFudCBIVE1MLiAgVGhhdCBpcywgc29tZSBpbnZhbGlkIEhUTUwKLSAgICAgICBpcyB0b2xlcmF0ZWQgZXZlbiBpbiAqc3RyaWN0KiBtb2RlLgpkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvaHR0cC5jbGllbnQucnN0IGIvRG9jL2xpYnJhcnkvaHR0cC5jbGllbnQucnN0CmluZGV4IGI2ZTc4YjUuLjVlMjdhMzYgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L2h0dHAuY2xpZW50LnJzdAorKysgYi9Eb2MvbGlicmFyeS9odHRwLmNsaWVudC5yc3QKQEAgLTE4NiwyMjEgKzE4NiwxNSBAQAogCiAgICBUaGUgZGVmYXVsdCBwb3J0IGZvciB0aGUgSFRUUFMgcHJvdG9jb2wgKGFsd2F5cyBgYDQ0M2BgKS4KIAotYW5kIGFsc28gdGhlIGZvbGxvd2luZyBjb25zdGFudHMgZm9yIGludGVnZXIgc3RhdHVzIGNvZGVzOgotCi0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKLXwgQ29uc3RhbnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFZhbHVlICAgfCBEZWZpbml0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSs9PT09PT09PT0rPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0rCi18IDpjb25zdDpgQ09OVElOVUVgICAgICAgICAgICAgICAgICAgICAgICAgfCBgYDEwMGBgIHwgSFRUUC8xLjEsIGBSRkMgMjYxNiwgU2VjdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfCAxMC4xLjEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8IDxodHRwOi8vd3d3LnczLm9yZy9Qcm90b2NvbHMvcmZjMjYxNi9yZmMyNjE2LXNlYzEwLmh0bWwjc2VjMTAuMS4xPmBfICB8Ci0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKLXwgOmNvbnN0OmBTV0lUQ0hJTkdfUFJPVE9DT0xTYCAgICAgICAgICAgICB8IGBgMTAxYGAgfCBIVFRQLzEuMSwgYFJGQyAyNjE2LCBTZWN0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8IDEwLjEuMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgIHwgPGh0dHA6Ly93d3cudzMub3JnL1Byb3RvY29scy9yZmMyNjE2L3JmYzI2MTYtc2VjMTAuaHRtbCNzZWMxMC4xLjI+YF8gIHwKLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwotfCA6Y29uc3Q6YFBST0NFU1NJTkdgICAgICAgICAgICAgICAgICAgICAgIHwgYGAxMDJgYCB8IFdFQkRBViwgYFJGQyAyNTE4LCBTZWN0aW9uIDEwLjEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgIHwgPGh0dHA6Ly93d3cud2ViZGF2Lm9yZy9zcGVjcy9yZmMyNTE4Lmh0bWwjU1RBVFVTXzEwMj5gXyAgICAgICAgICAgICAgIHwKLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwotfCA6Y29uc3Q6YE9LYCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYGAyMDBgYCB8IEhUVFAvMS4xLCBgUkZDIDI2MTYsIFNlY3Rpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgIHwgMTAuMi4xICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfCA8aHR0cDovL3d3dy53My5vcmcvUHJvdG9jb2xzL3JmYzI2MTYvcmZjMjYxNi1zZWMxMC5odG1sI3NlYzEwLjIuMT5gXyAgfAotKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCi18IDpjb25zdDpgQ1JFQVRFRGAgICAgICAgICAgICAgICAgICAgICAgICAgfCBgYDIwMWBgIHwgSFRUUC8xLjEsIGBSRkMgMjYxNiwgU2VjdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfCAxMC4yLjIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8IDxodHRwOi8vd3d3LnczLm9yZy9Qcm90b2NvbHMvcmZjMjYxNi9yZmMyNjE2LXNlYzEwLmh0bWwjc2VjMTAuMi4yPmBfICB8Ci0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKLXwgOmNvbnN0OmBBQ0NFUFRFRGAgICAgICAgICAgICAgICAgICAgICAgICB8IGBgMjAyYGAgfCBIVFRQLzEuMSwgYFJGQyAyNjE2LCBTZWN0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8IDEwLjIuMyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgIHwgPGh0dHA6Ly93d3cudzMub3JnL1Byb3RvY29scy9yZmMyNjE2L3JmYzI2MTYtc2VjMTAuaHRtbCNzZWMxMC4yLjM+YF8gIHwKLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwotfCA6Y29uc3Q6YE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OYCAgIHwgYGAyMDNgYCB8IEhUVFAvMS4xLCBgUkZDIDI2MTYsIFNlY3Rpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgIHwgMTAuMi40ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfCA8aHR0cDovL3d3dy53My5vcmcvUHJvdG9jb2xzL3JmYzI2MTYvcmZjMjYxNi1zZWMxMC5odG1sI3NlYzEwLjIuND5gXyAgfAotKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCi18IDpjb25zdDpgTk9fQ09OVEVOVGAgICAgICAgICAgICAgICAgICAgICAgfCBgYDIwNGBgIHwgSFRUUC8xLjEsIGBSRkMgMjYxNiwgU2VjdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfCAxMC4yLjUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8IDxodHRwOi8vd3d3LnczLm9yZy9Qcm90b2NvbHMvcmZjMjYxNi9yZmMyNjE2LXNlYzEwLmh0bWwjc2VjMTAuMi41PmBfICB8Ci0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKLXwgOmNvbnN0OmBSRVNFVF9DT05URU5UYCAgICAgICAgICAgICAgICAgICB8IGBgMjA1YGAgfCBIVFRQLzEuMSwgYFJGQyAyNjE2LCBTZWN0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8IDEwLjIuNiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgIHwgPGh0dHA6Ly93d3cudzMub3JnL1Byb3RvY29scy9yZmMyNjE2L3JmYzI2MTYtc2VjMTAuaHRtbCNzZWMxMC4yLjY+YF8gIHwKLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwotfCA6Y29uc3Q6YFBBUlRJQUxfQ09OVEVOVGAgICAgICAgICAgICAgICAgIHwgYGAyMDZgYCB8IEhUVFAvMS4xLCBgUkZDIDI2MTYsIFNlY3Rpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgIHwgMTAuMi43ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfCA8aHR0cDovL3d3dy53My5vcmcvUHJvdG9jb2xzL3JmYzI2MTYvcmZjMjYxNi1zZWMxMC5odG1sI3NlYzEwLjIuNz5gXyAgfAotKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCi18IDpjb25zdDpgTVVMVElfU1RBVFVTYCAgICAgICAgICAgICAgICAgICAgfCBgYDIwN2BgIHwgV0VCREFWIGBSRkMgMjUxOCwgU2VjdGlvbiAxMC4yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfCA8aHR0cDovL3d3dy53ZWJkYXYub3JnL3NwZWNzL3JmYzI1MTguaHRtbCNTVEFUVVNfMjA3PmBfICAgICAgICAgICAgICAgfAotKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCi18IDpjb25zdDpgSU1fVVNFRGAgICAgICAgICAgICAgICAgICAgICAgICAgfCBgYDIyNmBgIHwgRGVsdGEgZW5jb2RpbmcgaW4gSFRUUCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfCA6cmZjOmAzMjI5YCwgU2VjdGlvbiAxMC40LjEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCi18IDpjb25zdDpgTVVMVElQTEVfQ0hPSUNFU2AgICAgICAgICAgICAgICAgfCBgYDMwMGBgIHwgSFRUUC8xLjEsIGBSRkMgMjYxNiwgU2VjdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfCAxMC4zLjEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8IDxodHRwOi8vd3d3LnczLm9yZy9Qcm90b2NvbHMvcmZjMjYxNi9yZmMyNjE2LXNlYzEwLmh0bWwjc2VjMTAuMy4xPmBfICB8Ci0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKLXwgOmNvbnN0OmBNT1ZFRF9QRVJNQU5FTlRMWWAgICAgICAgICAgICAgICB8IGBgMzAxYGAgfCBIVFRQLzEuMSwgYFJGQyAyNjE2LCBTZWN0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8IDEwLjMuMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgIHwgPGh0dHA6Ly93d3cudzMub3JnL1Byb3RvY29scy9yZmMyNjE2L3JmYzI2MTYtc2VjMTAuaHRtbCNzZWMxMC4zLjI+YF8gIHwKLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwotfCA6Y29uc3Q6YEZPVU5EYCAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYGAzMDJgYCB8IEhUVFAvMS4xLCBgUkZDIDI2MTYsIFNlY3Rpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgIHwgMTAuMy4zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfCA8aHR0cDovL3d3dy53My5vcmcvUHJvdG9jb2xzL3JmYzI2MTYvcmZjMjYxNi1zZWMxMC5odG1sI3NlYzEwLjMuMz5gXyAgfAotKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCi18IDpjb25zdDpgU0VFX09USEVSYCAgICAgICAgICAgICAgICAgICAgICAgfCBgYDMwM2BgIHwgSFRUUC8xLjEsIGBSRkMgMjYxNiwgU2VjdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfCAxMC4zLjQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8IDxodHRwOi8vd3d3LnczLm9yZy9Qcm90b2NvbHMvcmZjMjYxNi9yZmMyNjE2LXNlYzEwLmh0bWwjc2VjMTAuMy40PmBfICB8Ci0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKLXwgOmNvbnN0OmBOT1RfTU9ESUZJRURgICAgICAgICAgICAgICAgICAgICB8IGBgMzA0YGAgfCBIVFRQLzEuMSwgYFJGQyAyNjE2LCBTZWN0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8IDEwLjMuNSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgIHwgPGh0dHA6Ly93d3cudzMub3JnL1Byb3RvY29scy9yZmMyNjE2L3JmYzI2MTYtc2VjMTAuaHRtbCNzZWMxMC4zLjU+YF8gIHwKLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwotfCA6Y29uc3Q6YFVTRV9QUk9YWWAgICAgICAgICAgICAgICAgICAgICAgIHwgYGAzMDVgYCB8IEhUVFAvMS4xLCBgUkZDIDI2MTYsIFNlY3Rpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgIHwgMTAuMy42ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfCA8aHR0cDovL3d3dy53My5vcmcvUHJvdG9jb2xzL3JmYzI2MTYvcmZjMjYxNi1zZWMxMC5odG1sI3NlYzEwLjMuNj5gXyAgfAotKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCi18IDpjb25zdDpgVEVNUE9SQVJZX1JFRElSRUNUYCAgICAgICAgICAgICAgfCBgYDMwN2BgIHwgSFRUUC8xLjEsIGBSRkMgMjYxNiwgU2VjdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfCAxMC4zLjggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8IDxodHRwOi8vd3d3LnczLm9yZy9Qcm90b2NvbHMvcmZjMjYxNi9yZmMyNjE2LXNlYzEwLmh0bWwjc2VjMTAuMy44PmBfICB8Ci0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKLXwgOmNvbnN0OmBCQURfUkVRVUVTVGAgICAgICAgICAgICAgICAgICAgICB8IGBgNDAwYGAgfCBIVFRQLzEuMSwgYFJGQyAyNjE2LCBTZWN0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8IDEwLjQuMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgIHwgPGh0dHA6Ly93d3cudzMub3JnL1Byb3RvY29scy9yZmMyNjE2L3JmYzI2MTYtc2VjMTAuaHRtbCNzZWMxMC40LjE+YF8gIHwKLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwotfCA6Y29uc3Q6YFVOQVVUSE9SSVpFRGAgICAgICAgICAgICAgICAgICAgIHwgYGA0MDFgYCB8IEhUVFAvMS4xLCBgUkZDIDI2MTYsIFNlY3Rpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgIHwgMTAuNC4yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfCA8aHR0cDovL3d3dy53My5vcmcvUHJvdG9jb2xzL3JmYzI2MTYvcmZjMjYxNi1zZWMxMC5odG1sI3NlYzEwLjQuMj5gXyAgfAotKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCi18IDpjb25zdDpgUEFZTUVOVF9SRVFVSVJFRGAgICAgICAgICAgICAgICAgfCBgYDQwMmBgIHwgSFRUUC8xLjEsIGBSRkMgMjYxNiwgU2VjdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfCAxMC40LjMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8IDxodHRwOi8vd3d3LnczLm9yZy9Qcm90b2NvbHMvcmZjMjYxNi9yZmMyNjE2LXNlYzEwLmh0bWwjc2VjMTAuNC4zPmBfICB8Ci0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKLXwgOmNvbnN0OmBGT1JCSURERU5gICAgICAgICAgICAgICAgICAgICAgICB8IGBgNDAzYGAgfCBIVFRQLzEuMSwgYFJGQyAyNjE2LCBTZWN0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8IDEwLjQuNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgIHwgPGh0dHA6Ly93d3cudzMub3JnL1Byb3RvY29scy9yZmMyNjE2L3JmYzI2MTYtc2VjMTAuaHRtbCNzZWMxMC40LjQ+YF8gIHwKLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwotfCA6Y29uc3Q6YE5PVF9GT1VORGAgICAgICAgICAgICAgICAgICAgICAgIHwgYGA0MDRgYCB8IEhUVFAvMS4xLCBgUkZDIDI2MTYsIFNlY3Rpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgIHwgMTAuNC41ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfCA8aHR0cDovL3d3dy53My5vcmcvUHJvdG9jb2xzL3JmYzI2MTYvcmZjMjYxNi1zZWMxMC5odG1sI3NlYzEwLjQuNT5gXyAgfAotKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCi18IDpjb25zdDpgTUVUSE9EX05PVF9BTExPV0VEYCAgICAgICAgICAgICAgfCBgYDQwNWBgIHwgSFRUUC8xLjEsIGBSRkMgMjYxNiwgU2VjdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfCAxMC40LjYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8IDxodHRwOi8vd3d3LnczLm9yZy9Qcm90b2NvbHMvcmZjMjYxNi9yZmMyNjE2LXNlYzEwLmh0bWwjc2VjMTAuNC42PmBfICB8Ci0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKLXwgOmNvbnN0OmBOT1RfQUNDRVBUQUJMRWAgICAgICAgICAgICAgICAgICB8IGBgNDA2YGAgfCBIVFRQLzEuMSwgYFJGQyAyNjE2LCBTZWN0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8IDEwLjQuNyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgIHwgPGh0dHA6Ly93d3cudzMub3JnL1Byb3RvY29scy9yZmMyNjE2L3JmYzI2MTYtc2VjMTAuaHRtbCNzZWMxMC40Ljc+YF8gIHwKLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwotfCA6Y29uc3Q6YFBST1hZX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEYCAgIHwgYGA0MDdgYCB8IEhUVFAvMS4xLCBgUkZDIDI2MTYsIFNlY3Rpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgIHwgMTAuNC44ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfCA8aHR0cDovL3d3dy53My5vcmcvUHJvdG9jb2xzL3JmYzI2MTYvcmZjMjYxNi1zZWMxMC5odG1sI3NlYzEwLjQuOD5gXyAgfAotKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCi18IDpjb25zdDpgUkVRVUVTVF9USU1FT1VUYCAgICAgICAgICAgICAgICAgfCBgYDQwOGBgIHwgSFRUUC8xLjEsIGBSRkMgMjYxNiwgU2VjdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfCAxMC40LjkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8IDxodHRwOi8vd3d3LnczLm9yZy9Qcm90b2NvbHMvcmZjMjYxNi9yZmMyNjE2LXNlYzEwLmh0bWwjc2VjMTAuNC45PmBfICB8Ci0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKLXwgOmNvbnN0OmBDT05GTElDVGAgICAgICAgICAgICAgICAgICAgICAgICB8IGBgNDA5YGAgfCBIVFRQLzEuMSwgYFJGQyAyNjE2LCBTZWN0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8IDEwLjQuMTAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgIHwgPGh0dHA6Ly93d3cudzMub3JnL1Byb3RvY29scy9yZmMyNjE2L3JmYzI2MTYtc2VjMTAuaHRtbCNzZWMxMC40LjEwPmBfIHwKLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwotfCA6Y29uc3Q6YEdPTkVgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYGA0MTBgYCB8IEhUVFAvMS4xLCBgUkZDIDI2MTYsIFNlY3Rpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgIHwgMTAuNC4xMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfCA8aHR0cDovL3d3dy53My5vcmcvUHJvdG9jb2xzL3JmYzI2MTYvcmZjMjYxNi1zZWMxMC5odG1sI3NlYzEwLjQuMTE+YF8gfAotKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCi18IDpjb25zdDpgTEVOR1RIX1JFUVVJUkVEYCAgICAgICAgICAgICAgICAgfCBgYDQxMWBgIHwgSFRUUC8xLjEsIGBSRkMgMjYxNiwgU2VjdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfCAxMC40LjEyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8IDxodHRwOi8vd3d3LnczLm9yZy9Qcm90b2NvbHMvcmZjMjYxNi9yZmMyNjE2LXNlYzEwLmh0bWwjc2VjMTAuNC4xMj5gXyB8Ci0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKLXwgOmNvbnN0OmBQUkVDT05ESVRJT05fRkFJTEVEYCAgICAgICAgICAgICB8IGBgNDEyYGAgfCBIVFRQLzEuMSwgYFJGQyAyNjE2LCBTZWN0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8IDEwLjQuMTMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgIHwgPGh0dHA6Ly93d3cudzMub3JnL1Byb3RvY29scy9yZmMyNjE2L3JmYzI2MTYtc2VjMTAuaHRtbCNzZWMxMC40LjEzPmBfIHwKLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwotfCA6Y29uc3Q6YFJFUVVFU1RfRU5USVRZX1RPT19MQVJHRWAgICAgICAgIHwgYGA0MTNgYCB8IEhUVFAvMS4xLCBgUkZDIDI2MTYsIFNlY3Rpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgIHwgMTAuNC4xNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfCA8aHR0cDovL3d3dy53My5vcmcvUHJvdG9jb2xzL3JmYzI2MTYvcmZjMjYxNi1zZWMxMC5odG1sI3NlYzEwLjQuMTQ+YF8gfAotKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCi18IDpjb25zdDpgUkVRVUVTVF9VUklfVE9PX0xPTkdgICAgICAgICAgICAgfCBgYDQxNGBgIHwgSFRUUC8xLjEsIGBSRkMgMjYxNiwgU2VjdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfCAxMC40LjE1ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8IDxodHRwOi8vd3d3LnczLm9yZy9Qcm90b2NvbHMvcmZjMjYxNi9yZmMyNjE2LXNlYzEwLmh0bWwjc2VjMTAuNC4xNT5gXyB8Ci0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKLXwgOmNvbnN0OmBVTlNVUFBPUlRFRF9NRURJQV9UWVBFYCAgICAgICAgICB8IGBgNDE1YGAgfCBIVFRQLzEuMSwgYFJGQyAyNjE2LCBTZWN0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8IDEwLjQuMTYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgIHwgPGh0dHA6Ly93d3cudzMub3JnL1Byb3RvY29scy9yZmMyNjE2L3JmYzI2MTYtc2VjMTAuaHRtbCNzZWMxMC40LjE2PmBfIHwKLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwotfCA6Y29uc3Q6YFJFUVVFU1RFRF9SQU5HRV9OT1RfU0FUSVNGSUFCTEVgIHwgYGA0MTZgYCB8IEhUVFAvMS4xLCBgUkZDIDI2MTYsIFNlY3Rpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgIHwgMTAuNC4xNyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfCA8aHR0cDovL3d3dy53My5vcmcvUHJvdG9jb2xzL3JmYzI2MTYvcmZjMjYxNi1zZWMxMC5odG1sI3NlYzEwLjQuMTc+YF8gfAotKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCi18IDpjb25zdDpgRVhQRUNUQVRJT05fRkFJTEVEYCAgICAgICAgICAgICAgfCBgYDQxN2BgIHwgSFRUUC8xLjEsIGBSRkMgMjYxNiwgU2VjdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfCAxMC40LjE4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8IDxodHRwOi8vd3d3LnczLm9yZy9Qcm90b2NvbHMvcmZjMjYxNi9yZmMyNjE2LXNlYzEwLmh0bWwjc2VjMTAuNC4xOD5gXyB8Ci0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKLXwgOmNvbnN0OmBVTlBST0NFU1NBQkxFX0VOVElUWWAgICAgICAgICAgICB8IGBgNDIyYGAgfCBXRUJEQVYsIGBSRkMgMjUxOCwgU2VjdGlvbiAxMC4zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8IDxodHRwOi8vd3d3LndlYmRhdi5vcmcvc3BlY3MvcmZjMjUxOC5odG1sI1NUQVRVU180MjI+YF8gICAgICAgICAgICAgICB8Ci0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKLXwgOmNvbnN0OmBMT0NLRURgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGBgNDIzYGAgfCBXRUJEQVYgYFJGQyAyNTE4LCBTZWN0aW9uIDEwLjQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8IDxodHRwOi8vd3d3LndlYmRhdi5vcmcvc3BlY3MvcmZjMjUxOC5odG1sI1NUQVRVU180MjM+YF8gICAgICAgICAgICAgICB8Ci0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKLXwgOmNvbnN0OmBGQUlMRURfREVQRU5ERU5DWWAgICAgICAgICAgICAgICB8IGBgNDI0YGAgfCBXRUJEQVYsIGBSRkMgMjUxOCwgU2VjdGlvbiAxMC41ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8IDxodHRwOi8vd3d3LndlYmRhdi5vcmcvc3BlY3MvcmZjMjUxOC5odG1sI1NUQVRVU180MjQ+YF8gICAgICAgICAgICAgICB8Ci0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKLXwgOmNvbnN0OmBVUEdSQURFX1JFUVVJUkVEYCAgICAgICAgICAgICAgICB8IGBgNDI2YGAgfCBIVFRQIFVwZ3JhZGUgdG8gVExTLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8IDpyZmM6YDI4MTdgLCBTZWN0aW9uIDYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKLXwgOmNvbnN0OmBQUkVDT05ESVRJT05fUkVRVUlSRURgICAgICAgICAgICB8IGBgNDI4YGAgfCBBZGRpdGlvbmFsIEhUVFAgU3RhdHVzIENvZGVzLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8IDpyZmM6YDY1ODVgLCBTZWN0aW9uIDMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKLXwgOmNvbnN0OmBUT09fTUFOWV9SRVFVRVNUU2AgICAgICAgICAgICAgICB8IGBgNDI5YGAgfCBBZGRpdGlvbmFsIEhUVFAgU3RhdHVzIENvZGVzLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8IDpyZmM6YDY1ODVgLCBTZWN0aW9uIDQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKLXwgOmNvbnN0OmBSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFYCB8IGBgNDMxYGAgfCBBZGRpdGlvbmFsIEhUVFAgU3RhdHVzIENvZGVzLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8IDpyZmM6YDY1ODVgLCBTZWN0aW9uIDUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKLXwgOmNvbnN0OmBJTlRFUk5BTF9TRVJWRVJfRVJST1JgICAgICAgICAgICB8IGBgNTAwYGAgfCBIVFRQLzEuMSwgYFJGQyAyNjE2LCBTZWN0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8IDEwLjUuMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgIHwgPGh0dHA6Ly93d3cudzMub3JnL1Byb3RvY29scy9yZmMyNjE2L3JmYzI2MTYtc2VjMTAuaHRtbCNzZWMxMC41LjE+YF8gIHwKLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwotfCA6Y29uc3Q6YE5PVF9JTVBMRU1FTlRFRGAgICAgICAgICAgICAgICAgIHwgYGA1MDFgYCB8IEhUVFAvMS4xLCBgUkZDIDI2MTYsIFNlY3Rpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgIHwgMTAuNS4yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfCA8aHR0cDovL3d3dy53My5vcmcvUHJvdG9jb2xzL3JmYzI2MTYvcmZjMjYxNi1zZWMxMC5odG1sI3NlYzEwLjUuMj5gXyAgfAotKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCi18IDpjb25zdDpgQkFEX0dBVEVXQVlgICAgICAgICAgICAgICAgICAgICAgfCBgYDUwMmBgIHwgSFRUUC8xLjEgYFJGQyAyNjE2LCBTZWN0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfCAxMC41LjMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8IDxodHRwOi8vd3d3LnczLm9yZy9Qcm90b2NvbHMvcmZjMjYxNi9yZmMyNjE2LXNlYzEwLmh0bWwjc2VjMTAuNS4zPmBfICB8Ci0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKLXwgOmNvbnN0OmBTRVJWSUNFX1VOQVZBSUxBQkxFYCAgICAgICAgICAgICB8IGBgNTAzYGAgfCBIVFRQLzEuMSwgYFJGQyAyNjE2LCBTZWN0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8IDEwLjUuNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgIHwgPGh0dHA6Ly93d3cudzMub3JnL1Byb3RvY29scy9yZmMyNjE2L3JmYzI2MTYtc2VjMTAuaHRtbCNzZWMxMC41LjQ+YF8gIHwKLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwotfCA6Y29uc3Q6YEdBVEVXQVlfVElNRU9VVGAgICAgICAgICAgICAgICAgIHwgYGA1MDRgYCB8IEhUVFAvMS4xIGBSRkMgMjYxNiwgU2VjdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgIHwgMTAuNS41ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfCA8aHR0cDovL3d3dy53My5vcmcvUHJvdG9jb2xzL3JmYzI2MTYvcmZjMjYxNi1zZWMxMC5odG1sI3NlYzEwLjUuNT5gXyAgfAotKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCi18IDpjb25zdDpgSFRUUF9WRVJTSU9OX05PVF9TVVBQT1JURURgICAgICAgfCBgYDUwNWBgIHwgSFRUUC8xLjEsIGBSRkMgMjYxNiwgU2VjdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfCAxMC41LjYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8IDxodHRwOi8vd3d3LnczLm9yZy9Qcm90b2NvbHMvcmZjMjYxNi9yZmMyNjE2LXNlYzEwLmh0bWwjc2VjMTAuNS42PmBfICB8Ci0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKLXwgOmNvbnN0OmBJTlNVRkZJQ0lFTlRfU1RPUkFHRWAgICAgICAgICAgICB8IGBgNTA3YGAgfCBXRUJEQVYsIGBSRkMgMjUxOCwgU2VjdGlvbiAxMC42ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8IDxodHRwOi8vd3d3LndlYmRhdi5vcmcvc3BlY3MvcmZjMjUxOC5odG1sI1NUQVRVU181MDc+YF8gICAgICAgICAgICAgICB8Ci0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKLXwgOmNvbnN0OmBOT1RfRVhURU5ERURgICAgICAgICAgICAgICAgICAgICB8IGBgNTEwYGAgfCBBbiBIVFRQIEV4dGVuc2lvbiBGcmFtZXdvcmssICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8IDpyZmM6YDI3NzRgLCBTZWN0aW9uIDcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKLXwgOmNvbnN0OmBORVRXT1JLX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEYCB8IGBgNTExYGAgfCBBZGRpdGlvbmFsIEhUVFAgU3RhdHVzIENvZGVzLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8IDpyZmM6YDY1ODVgLCBTZWN0aW9uIDYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKLQotLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjMKLSAgIEFkZGVkIGNvZGVzIGBgNDI4YGAsIGBgNDI5YGAsIGBgNDMxYGAgYW5kIGBgNTExYGAgZnJvbSA6cmZjOmA2NTg1YC4KLQotCiAuLiBkYXRhOjogcmVzcG9uc2VzCiAKICAgIFRoaXMgZGljdGlvbmFyeSBtYXBzIHRoZSBIVFRQIDEuMSBzdGF0dXMgY29kZXMgdG8gdGhlIFczQyBuYW1lcy4KIAogICAgRXhhbXBsZTogYGBodHRwLmNsaWVudC5yZXNwb25zZXNbaHR0cC5jbGllbnQuTk9UX0ZPVU5EXWBgIGlzIGBgJ05vdCBGb3VuZCdgYC4KIAorU2VlIDpyZWY6YGh0dHAtc3RhdHVzLWNvZGVzYCBmb3IgYSBsaXN0IG9mIEhUVFAgc3RhdHVzIGNvZGVzIHRoYXQgYXJlCithdmFpbGFibGUgaW4gdGhpcyBtb2R1bGUgYXMgY29uc3RhbnRzLgorCiAKIC4uIF9odHRwY29ubmVjdGlvbi1vYmplY3RzOgogCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9odHRwLnJzdCBiL0RvYy9saWJyYXJ5L2h0dHAucnN0CmluZGV4IGEzODdhMzcuLmI2ZjJjNTggMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L2h0dHAucnN0CisrKyBiL0RvYy9saWJyYXJ5L2h0dHAucnN0CkBAIC0xLDcgKzEsMTYgQEAKIDptb2Q6YGh0dHBgIC0tLSBIVFRQIG1vZHVsZXMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIAotYGBodHRwYGAgaXMgYSBwYWNrYWdlIHRoYXQgY29sbGVjdHMgc2V2ZXJhbCBtb2R1bGVzIGZvciB3b3JraW5nIHdpdGggdGhlCisuLiBtb2R1bGU6OiBodHRwCisgICA6c3lub3BzaXM6IEhUVFAgc3RhdHVzIGNvZGVzIGFuZCBtZXNzYWdlcworCisuLiBpbmRleDo6CisgICBwYWlyOiBIVFRQOyBwcm90b2NvbAorICAgc2luZ2xlOiBIVFRQOyBodHRwIChzdGFuZGFyZCBtb2R1bGUpCisKKyoqU291cmNlIGNvZGU6KiogOnNvdXJjZTpgTGliL2h0dHAvX19pbml0X18ucHlgCisKKzptb2Q6YGh0dHBgIGlzIGEgcGFja2FnZSB0aGF0IGNvbGxlY3RzIHNldmVyYWwgbW9kdWxlcyBmb3Igd29ya2luZyB3aXRoIHRoZQogSHlwZXJUZXh0IFRyYW5zZmVyIFByb3RvY29sOgogCiAqIDptb2Q6YGh0dHAuY2xpZW50YCBpcyBhIGxvdy1sZXZlbCBIVFRQIHByb3RvY29sIGNsaWVudDsgZm9yIGhpZ2gtbGV2ZWwgVVJMCkBAIC05LDMgKzE4LDEwNSBAQAogKiA6bW9kOmBodHRwLnNlcnZlcmAgY29udGFpbnMgYmFzaWMgSFRUUCBzZXJ2ZXIgY2xhc3NlcyBiYXNlZCBvbiA6bW9kOmBzb2NrZXRzZXJ2ZXJgCiAqIDptb2Q6YGh0dHAuY29va2llc2AgaGFzIHV0aWxpdGllcyBmb3IgaW1wbGVtZW50aW5nIHN0YXRlIG1hbmFnZW1lbnQgd2l0aCBjb29raWVzCiAqIDptb2Q6YGh0dHAuY29va2llamFyYCBwcm92aWRlcyBwZXJzaXN0ZW5jZSBvZiBjb29raWVzCisKKzptb2Q6YGh0dHBgIGlzIGFsc28gYSBtb2R1bGUgdGhhdCBkZWZpbmVzIGEgbnVtYmVyIG9mIEhUVFAgc3RhdHVzIGNvZGVzIGFuZAorYXNzb2NpYXRlZCBtZXNzYWdlcyB0aHJvdWdoIHRoZSA6Y2xhc3M6YGh0dHAuSFRUUFN0YXR1c2AgZW51bToKKworLi4gY2xhc3M6OiBIVFRQU3RhdHVzCisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuNQorCisgICBBIHN1YmNsYXNzIG9mIDpjbGFzczpgZW51bS5JbnRFbnVtYCB0aGF0IGRlZmluZXMgYSBzZXQgb2YgSFRUUCBzdGF0dXMgY29kZXMsCisgICByZWFzb24gcGhyYXNlcyBhbmQgbG9uZyBkZXNjcmlwdGlvbnMgd3JpdHRlbiBpbiBFbmdsaXNoLgorCisgICBVc2FnZTo6CisKKyAgICAgID4+PiBmcm9tIGh0dHAgaW1wb3J0IEhUVFBTdGF0dXMKKyAgICAgID4+PiBIVFRQU3RhdHVzLk9LCisgICAgICA8SFRUUFN0YXR1cy5PSzogMjAwPgorICAgICAgPj4+IEhUVFBTdGF0dXMuT0sgPT0gMjAwCisgICAgICBUcnVlCisgICAgICA+Pj4gaHR0cC5IVFRQU3RhdHVzLk9LLnZhbHVlCisgICAgICAyMDAKKyAgICAgID4+PiBIVFRQU3RhdHVzLk9LLnBocmFzZQorICAgICAgJ09LJworICAgICAgPj4+IEhUVFBTdGF0dXMuT0suZGVzY3JpcHRpb24KKyAgICAgICdSZXF1ZXN0IGZ1bGZpbGxlZCwgZG9jdW1lbnQgZm9sbG93cycKKyAgICAgID4+PiBsaXN0KEhUVFBTdGF0dXMpCisgICAgICBbPEhUVFBTdGF0dXMuQ09OVElOVUU6IDEwMD4sIDxIVFRQU3RhdHVzLlNXSVRDSElOR19QUk9UT0NPTFM6IDEwMT4sIC4uLl0KKworLi4gX2h0dHAtc3RhdHVzLWNvZGVzOgorCitIVFRQIHN0YXR1cyBjb2RlcworLS0tLS0tLS0tLS0tLS0tLS0KKworU3VwcG9ydGVkLAorYElBTkEtcmVnaXN0ZXJlZCA8aHR0cDovL3d3dy5pYW5hLm9yZy9hc3NpZ25tZW50cy9odHRwLXN0YXR1cy1jb2Rlcy9odHRwLXN0YXR1cy1jb2Rlcy54aHRtbD5gXworc3RhdHVzIGNvZGVzIGF2YWlsYWJsZSBpbiA6Y2xhc3M6YGh0dHAuSFRUUFN0YXR1c2AgYXJlOgorCis9PT09PT09ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorQ29kZSAgICBFbnVtIE5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXRhaWxzCis9PT09PT09ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorYGAxMDBgYCBgYENPTlRJTlVFYGAgICAgICAgICAgICAgICAgICAgICAgICBIVFRQLzEuMSA6cmZjOmA3MjMxYCwgU2VjdGlvbiA2LjIuMQorYGAxMDFgYCBgYFNXSVRDSElOR19QUk9UT0NPTFNgYCAgICAgICAgICAgICBIVFRQLzEuMSA6cmZjOmA3MjMxYCwgU2VjdGlvbiA2LjIuMgorYGAxMDJgYCBgYFBST0NFU1NJTkdgYCAgICAgICAgICAgICAgICAgICAgICBXZWJEQVYgOnJmYzpgMjUxOGAsIFNlY3Rpb24gMTAuMQorYGAyMDBgYCBgYE9LYGAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIVFRQLzEuMSA6cmZjOmA3MjMxYCwgU2VjdGlvbiA2LjMuMQorYGAyMDFgYCBgYENSRUFURURgYCAgICAgICAgICAgICAgICAgICAgICAgICBIVFRQLzEuMSA6cmZjOmA3MjMxYCwgU2VjdGlvbiA2LjMuMgorYGAyMDJgYCBgYEFDQ0VQVEVEYGAgICAgICAgICAgICAgICAgICAgICAgICBIVFRQLzEuMSA6cmZjOmA3MjMxYCwgU2VjdGlvbiA2LjMuMworYGAyMDNgYCBgYE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OYGAgICBIVFRQLzEuMSA6cmZjOmA3MjMxYCwgU2VjdGlvbiA2LjMuNAorYGAyMDRgYCBgYE5PX0NPTlRFTlRgYCAgICAgICAgICAgICAgICAgICAgICBIVFRQLzEuMSA6cmZjOmA3MjMxYCwgU2VjdGlvbiA2LjMuNQorYGAyMDVgYCBgYFJFU0VUX0NPTlRFTlRgYCAgICAgICAgICAgICAgICAgICBIVFRQLzEuMSA6cmZjOmA3MjMxYCwgU2VjdGlvbiA2LjMuNgorYGAyMDZgYCBgYFBBUlRJQUxfQ09OVEVOVGBgICAgICAgICAgICAgICAgICBIVFRQLzEuMSA6cmZjOmA3MjMzYCwgU2VjdGlvbiA0LjEKK2BgMjA3YGAgYGBNVUxUSV9TVEFUVVNgYCAgICAgICAgICAgICAgICAgICAgV2ViREFWIDpyZmM6YDQ5MThgLCBTZWN0aW9uIDExLjEKK2BgMjA4YGAgYGBBTFJFQURZX1JFUE9SVEVEYGAgICAgICAgICAgICAgICAgV2ViREFWIEJpbmRpbmcgRXh0ZW5zaW9ucyA6cmZjOmA1ODQyYCwgU2VjdGlvbiA3LjEgKEV4cGVyaW1lbnRhbCkKK2BgMjI2YGAgYGBJTV9VU0VEYGAgICAgICAgICAgICAgICAgICAgICAgICAgRGVsdGEgRW5jb2RpbmcgaW4gSFRUUCA6cmZjOmAzMjI5YCwgU2VjdGlvbiAxMC40LjEKK2BgMzAwYGAgYGBNVUxUSVBMRV9DSE9JQ0VTYGAgICAgICAgICAgICAgICAgSFRUUC8xLjEgOnJmYzpgNzIzMWAsIFNlY3Rpb24gNi40LjEKK2BgMzAxYGAgYGBNT1ZFRF9QRVJNQU5FTlRMWWBgICAgICAgICAgICAgICAgSFRUUC8xLjEgOnJmYzpgNzIzMWAsIFNlY3Rpb24gNi40LjIKK2BgMzAyYGAgYGBGT1VORGBgICAgICAgICAgICAgICAgICAgICAgICAgICAgSFRUUC8xLjEgOnJmYzpgNzIzMWAsIFNlY3Rpb24gNi40LjMKK2BgMzAzYGAgYGBTRUVfT1RIRVJgYCAgICAgICAgICAgICAgICAgICAgICAgSFRUUC8xLjEgOnJmYzpgNzIzMWAsIFNlY3Rpb24gNi40LjQKK2BgMzA0YGAgYGBOT1RfTU9ESUZJRURgYCAgICAgICAgICAgICAgICAgICAgSFRUUC8xLjEgOnJmYzpgNzIzMmAsIFNlY3Rpb24gNC4xCitgYDMwNWBgIGBgVVNFX1BST1hZYGAgICAgICAgICAgICAgICAgICAgICAgIEhUVFAvMS4xIDpyZmM6YDcyMzFgLCBTZWN0aW9uIDYuNC41CitgYDMwN2BgIGBgVEVNUE9SQVJZX1JFRElSRUNUYGAgICAgICAgICAgICAgIEhUVFAvMS4xIDpyZmM6YDcyMzFgLCBTZWN0aW9uIDYuNC43CitgYDMwOGBgIGBgUEVSTUFORU5UX1JFRElSRUNUYGAgICAgICAgICAgICAgIFBlcm1hbmVudCBSZWRpcmVjdCA6cmZjOmA3MjM4YCwgU2VjdGlvbiAzIChFeHBlcmltZW50YWwpCitgYDQwMGBgIGBgQkFEX1JFUVVFU1RgYCAgICAgICAgICAgICAgICAgICAgIEhUVFAvMS4xIDpyZmM6YDcyMzFgLCBTZWN0aW9uIDYuNS4xCitgYDQwMWBgIGBgVU5BVVRIT1JJWkVEYGAgICAgICAgICAgICAgICAgICAgIEhUVFAvMS4xIEF1dGhlbnRpY2F0aW9uIDpyZmM6YDcyMzVgLCBTZWN0aW9uIDMuMQorYGA0MDJgYCBgYFBBWU1FTlRfUkVRVUlSRURgYCAgICAgICAgICAgICAgICBIVFRQLzEuMSA6cmZjOmA3MjMxYCwgU2VjdGlvbiA2LjUuMgorYGA0MDNgYCBgYEZPUkJJRERFTmBgICAgICAgICAgICAgICAgICAgICAgICBIVFRQLzEuMSA6cmZjOmA3MjMxYCwgU2VjdGlvbiA2LjUuMworYGA0MDRgYCBgYE5PVF9GT1VORGBgICAgICAgICAgICAgICAgICAgICAgICBIVFRQLzEuMSA6cmZjOmA3MjMxYCwgU2VjdGlvbiA2LjUuNAorYGA0MDVgYCBgYE1FVEhPRF9OT1RfQUxMT1dFRGBgICAgICAgICAgICAgICBIVFRQLzEuMSA6cmZjOmA3MjMxYCwgU2VjdGlvbiA2LjUuNQorYGA0MDZgYCBgYE5PVF9BQ0NFUFRBQkxFYGAgICAgICAgICAgICAgICAgICBIVFRQLzEuMSA6cmZjOmA3MjMxYCwgU2VjdGlvbiA2LjUuNgorYGA0MDdgYCBgYFBST1hZX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEYGAgICBIVFRQLzEuMSBBdXRoZW50aWNhdGlvbiA6cmZjOmA3MjM1YCwgU2VjdGlvbiAzLjIKK2BgNDA4YGAgYGBSRVFVRVNUX1RJTUVPVVRgYCAgICAgICAgICAgICAgICAgSFRUUC8xLjEgOnJmYzpgNzIzMWAsIFNlY3Rpb24gNi41LjcKK2BgNDA5YGAgYGBDT05GTElDVGBgICAgICAgICAgICAgICAgICAgICAgICAgSFRUUC8xLjEgOnJmYzpgNzIzMWAsIFNlY3Rpb24gNi41LjgKK2BgNDEwYGAgYGBHT05FYGAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSFRUUC8xLjEgOnJmYzpgNzIzMWAsIFNlY3Rpb24gNi41LjkKK2BgNDExYGAgYGBMRU5HVEhfUkVRVUlSRURgYCAgICAgICAgICAgICAgICAgSFRUUC8xLjEgOnJmYzpgNzIzMWAsIFNlY3Rpb24gNi41LjEwCitgYDQxMmBgIGBgUFJFQ09ORElUSU9OX0ZBSUxFRGBgICAgICAgICAgICAgIEhUVFAvMS4xIDpyZmM6YDcyMzJgLCBTZWN0aW9uIDQuMgorYGA0MTNgYCBgYFJFUVVFU1RfRU5USVRZX1RPT19MQVJHRWBgICAgICAgICBIVFRQLzEuMSA6cmZjOmA3MjMxYCwgU2VjdGlvbiA2LjUuMTEKK2BgNDE0YGAgYGBSRVFVRVNUX1VSSV9UT09fTE9OR2BgICAgICAgICAgICAgSFRUUC8xLjEgOnJmYzpgNzIzMWAsIFNlY3Rpb24gNi41LjEyCitgYDQxNWBgIGBgVU5TVVBQT1JURURfTUVESUFfVFlQRWBgICAgICAgICAgIEhUVFAvMS4xIDpyZmM6YDcyMzFgLCBTZWN0aW9uIDYuNS4xMworYGA0MTZgYCBgYFJFUVVFU1RfUkFOR0VfTk9UX1NBVElTRklBQkxFYGAgICBIVFRQLzEuMSBSYW5nZSBSZXF1ZXN0cyA6cmZjOmA3MjMzYCwgU2VjdGlvbiA0LjQKK2BgNDE3YGAgYGBFWFBFQ1RBVElPTl9GQUlMRURgYCAgICAgICAgICAgICAgSFRUUC8xLjEgOnJmYzpgNzIzMWAsIFNlY3Rpb24gNi41LjE0CitgYDQyMmBgIGBgVU5QUk9DRVNTQUJMRV9FTlRJVFlgYCAgICAgICAgICAgIFdlYkRBViA6cmZjOmA0OTE4YCwgU2VjdGlvbiAxMS4yCitgYDQyM2BgIGBgTE9DS0VEYGAgICAgICAgICAgICAgICAgICAgICAgICAgIFdlYkRBViA6cmZjOmA0OTE4YCwgU2VjdGlvbiAxMS4zCitgYDQyNGBgIGBgRkFJTEVEX0RFUEVOREVOQ1lgYCAgICAgICAgICAgICAgIFdlYkRBViA6cmZjOmA0OTE4YCwgU2VjdGlvbiAxMS40CitgYDQyNmBgIGBgVVBHUkFERV9SRVFVSVJFRGBgICAgICAgICAgICAgICAgIEhUVFAvMS4xIDpyZmM6YDcyMzFgLCBTZWN0aW9uIDYuNS4xNQorYGA0MjhgYCBgYFBSRUNPTkRJVElPTl9SRVFVSVJFRGBgICAgICAgICAgICBBZGRpdGlvbmFsIEhUVFAgU3RhdHVzIENvZGVzIDpyZmM6YDY1ODVgCitgYDQyOWBgIGBgVE9PX01BTllfUkVRVUVTVFNgYCAgICAgICAgICAgICAgIEFkZGl0aW9uYWwgSFRUUCBTdGF0dXMgQ29kZXMgOnJmYzpgNjU4NWAKK2BgNDMxYGAgYGBSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFYGAgQWRkaXRpb25hbCBIVFRQIFN0YXR1cyBDb2RlcyA6cmZjOmA2NTg1YAorYGA1MDBgYCBgYElOVEVSTkFMX1NFUlZFUl9FUlJPUmBgICAgICAgICAgICBIVFRQLzEuMSA6cmZjOmA3MjMxYCwgU2VjdGlvbiA2LjYuMQorYGA1MDFgYCBgYE5PVF9JTVBMRU1FTlRFRGBgICAgICAgICAgICAgICAgICBIVFRQLzEuMSA6cmZjOmA3MjMxYCwgU2VjdGlvbiA2LjYuMgorYGA1MDJgYCBgYEJBRF9HQVRFV0FZYGAgICAgICAgICAgICAgICAgICAgICBIVFRQLzEuMSA6cmZjOmA3MjMxYCwgU2VjdGlvbiA2LjYuMworYGA1MDNgYCBgYFNFUlZJQ0VfVU5BVkFJTEFCTEVgYCAgICAgICAgICAgICBIVFRQLzEuMSA6cmZjOmA3MjMxYCwgU2VjdGlvbiA2LjYuNAorYGA1MDRgYCBgYEdBVEVXQVlfVElNRU9VVGBgICAgICAgICAgICAgICAgICBIVFRQLzEuMSA6cmZjOmA3MjMxYCwgU2VjdGlvbiA2LjYuNQorYGA1MDVgYCBgYEhUVFBfVkVSU0lPTl9OT1RfU1VQUE9SVEVEYGAgICAgICBIVFRQLzEuMSA6cmZjOmA3MjMxYCwgU2VjdGlvbiA2LjYuNgorYGA1MDZgYCBgYFZBUklBTlRfQUxTT19ORUdPVElBVEVTYGAgICAgICAgICBUcmFuc3BhcmVudCBDb250ZW50IE5lZ290aWF0aW9uIGluIEhUVFAgOnJmYzpgMjI5NWAsIFNlY3Rpb24gOC4xIChFeHBlcmltZW50YWwpCitgYDUwN2BgIGBgSU5TVUZGSUNJRU5UX1NUT1JBR0VgYCAgICAgICAgICAgIFdlYkRBViA6cmZjOmA0OTE4YCwgU2VjdGlvbiAxMS41CitgYDUwOGBgIGBgTE9PUF9ERVRFQ1RFRGBgICAgICAgICAgICAgICAgICAgIFdlYkRBViBCaW5kaW5nIEV4dGVuc2lvbnMgOnJmYzpgNTg0MmAsIFNlY3Rpb24gNy4yIChFeHBlcmltZW50YWwpCitgYDUxMGBgIGBgTk9UX0VYVEVOREVEYGAgICAgICAgICAgICAgICAgICAgIEFuIEhUVFAgRXh0ZW5zaW9uIEZyYW1ld29yayA6cmZjOmAyNzc0YCwgU2VjdGlvbiA3IChFeHBlcmltZW50YWwpCitgYDUxMWBgIGBgTkVUV09SS19BVVRIRU5USUNBVElPTl9SRVFVSVJFRGBgIEFkZGl0aW9uYWwgSFRUUCBTdGF0dXMgQ29kZXMgOnJmYzpgNjU4NWAsIFNlY3Rpb24gNgorPT09PT09PSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKworSW4gb3JkZXIgdG8gcHJlc2VydmUgYmFja3dhcmRzIGNvbXBhdGliaWxpdHksIGVudW0gdmFsdWVzIGFyZSBhbHNvIHByZXNlbnQKK2luIHRoZSA6bW9kOmBodHRwLmNsaWVudGAgbW9kdWxlIGluIHRoZSBmb3JtIG9mIGNvbnN0YW50cy4gVGhlIGVudW0gbmFtZSBpcworZXF1YWwgdG8gdGhlIGNvbnN0YW50IG5hbWUgKGkuZS4gYGBodHRwLkhUVFBTdGF0dXMuT0tgYCBpcyBhbHNvIGF2YWlsYWJsZSBhcworYGBodHRwLmNsaWVudC5PS2BgKS4KZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L2h0dHAuc2VydmVyLnJzdCBiL0RvYy9saWJyYXJ5L2h0dHAuc2VydmVyLnJzdAppbmRleCBhNzUwMTU1Li4xYzNlMjAyIDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS9odHRwLnNlcnZlci5yc3QKKysrIGIvRG9jL2xpYnJhcnkvaHR0cC5zZXJ2ZXIucnN0CkBAIC0yMzIsNyArMjMyLDcgQEAKIAogICAgLi4gbWV0aG9kOjogc2VuZF9yZXNwb25zZV9vbmx5KGNvZGUsIG1lc3NhZ2U9Tm9uZSkKIAotICAgICAgU2VuZHMgdGhlIHJlcG9uc2UgaGVhZGVyIG9ubHksIHVzZWQgZm9yIHRoZSBwdXJwb3NlcyB3aGVuIGBgMTAwCisgICAgICBTZW5kcyB0aGUgcmVzcG9uc2UgaGVhZGVyIG9ubHksIHVzZWQgZm9yIHRoZSBwdXJwb3NlcyB3aGVuIGBgMTAwCiAgICAgICBDb250aW51ZWBgIHJlc3BvbnNlIGlzIHNlbnQgYnkgdGhlIHNlcnZlciB0byB0aGUgY2xpZW50LiBUaGUgaGVhZGVycyBub3QKICAgICAgIGJ1ZmZlcmVkIGFuZCBzZW50IGRpcmVjdGx5IHRoZSBvdXRwdXQgc3RyZWFtLklmIHRoZSAqbWVzc2FnZSogaXMgbm90CiAgICAgICBzcGVjaWZpZWQsIHRoZSBIVFRQIG1lc3NhZ2UgY29ycmVzcG9uZGluZyB0aGUgcmVzcG9uc2UgKmNvZGUqICBpcyBzZW50LgpkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvaW1hcGxpYi5yc3QgYi9Eb2MvbGlicmFyeS9pbWFwbGliLnJzdAppbmRleCBmYTczNmZlLi5mMjYzYmFiIDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS9pbWFwbGliLnJzdAorKysgYi9Eb2MvbGlicmFyeS9pbWFwbGliLnJzdApAQCAtMzcsNiArMzcsMTkgQEAKICAgIGluaXRpYWxpemVkLiBJZiAqaG9zdCogaXMgbm90IHNwZWNpZmllZCwgYGAnJ2BgICh0aGUgbG9jYWwgaG9zdCkgaXMgdXNlZC4gSWYKICAgICpwb3J0KiBpcyBvbWl0dGVkLCB0aGUgc3RhbmRhcmQgSU1BUDQgcG9ydCAoMTQzKSBpcyB1c2VkLgogCisgICBUaGUgOmNsYXNzOmBJTUFQNGAgY2xhc3Mgc3VwcG9ydHMgdGhlIDprZXl3b3JkOmB3aXRoYCBzdGF0ZW1lbnQuICBXaGVuIHVzZWQKKyAgIGxpa2UgdGhpcywgdGhlIElNQVA0IGBgTE9HT1VUYGAgY29tbWFuZCBpcyBpc3N1ZWQgYXV0b21hdGljYWxseSB3aGVuIHRoZQorICAgOmtleXdvcmQ6YHdpdGhgIHN0YXRlbWVudCBleGl0cy4gIEUuZy46OgorCisgICAgPj4+IGZyb20gaW1hcGxpYiBpbXBvcnQgSU1BUDQKKyAgICA+Pj4gd2l0aCBJTUFQNCgiZG9tYWluLm9yZyIpIGFzIE06CisgICAgLi4uICAgICBNLm5vb3AoKQorICAgIC4uLgorICAgICgnT0snLCBbYidOb3RoaW5nIEFjY29tcGxpc2hlZC4gZDI1aWY2NWh5OTAzd2VvLjg3J10pCisKKyAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy41CisgICAgICBTdXBwb3J0IGZvciB0aGUgOmtleXdvcmQ6YHdpdGhgIHN0YXRlbWVudCB3YXMgYWRkZWQuCisKIFRocmVlIGV4Y2VwdGlvbnMgYXJlIGRlZmluZWQgYXMgYXR0cmlidXRlcyBvZiB0aGUgOmNsYXNzOmBJTUFQNGAgY2xhc3M6CiAKIApkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvaW1naGRyLnJzdCBiL0RvYy9saWJyYXJ5L2ltZ2hkci5yc3QKaW5kZXggOWU4OTUyMy4uYzYwZGYyNCAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvaW1naGRyLnJzdAorKysgYi9Eb2MvbGlicmFyeS9pbWdoZHIucnN0CkBAIC00OCw2ICs0OCwxNiBAQAogKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKIHwgYGAncG5nJ2BgICB8IFBvcnRhYmxlIE5ldHdvcmsgR3JhcGhpY3MgICAgICAgICB8CiArLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworfCBgYCd3ZWJwJ2BgIHwgV2ViUCBmaWxlcyAgICAgICAgICAgICAgICAgICAgICAgIHwKKystLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCit8IGBgJ2V4cidgYCAgfCBPcGVuRVhSIEZpbGVzICAgICAgICAgICAgICAgICAgICAgfAorKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKKworLi4gdmVyc2lvbmFkZGVkOjogMy41CisgICBUaGUgKmV4ciogZm9ybWF0IHdhcyBhZGRlZC4KKworLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjUKKyAgIFRoZSAqd2VicCogdHlwZSB3YXMgYWRkZWQuCiAKIFlvdSBjYW4gZXh0ZW5kIHRoZSBsaXN0IG9mIGZpbGUgdHlwZXMgOm1vZDpgaW1naGRyYCBjYW4gcmVjb2duaXplIGJ5IGFwcGVuZGluZwogdG8gdGhpcyB2YXJpYWJsZToKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L2ltcG9ydGxpYi5yc3QgYi9Eb2MvbGlicmFyeS9pbXBvcnRsaWIucnN0CmluZGV4IDkxMzI4YWYuLmU2MWFjMzUgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L2ltcG9ydGxpYi5yc3QKKysrIGIvRG9jL2xpYnJhcnkvaW1wb3J0bGliLnJzdApAQCAtNjksNiArNjksMTAgQEAKIAogICAgIEFuIGltcGxlbWVudGF0aW9uIG9mIHRoZSBidWlsdC1pbiA6ZnVuYzpgX19pbXBvcnRfX2AgZnVuY3Rpb24uCiAKKyAgICAuLiBub3RlOjoKKyAgICAgICBQcm9ncmFtbWF0aWMgaW1wb3J0aW5nIG9mIG1vZHVsZXMgc2hvdWxkIHVzZSA6ZnVuYzpgaW1wb3J0X21vZHVsZWAKKyAgICAgICBpbnN0ZWFkIG9mIHRoaXMgZnVuY3Rpb24uCisKIC4uIGZ1bmN0aW9uOjogaW1wb3J0X21vZHVsZShuYW1lLCBwYWNrYWdlPU5vbmUpCiAKICAgICBJbXBvcnQgYSBtb2R1bGUuIFRoZSAqbmFtZSogYXJndW1lbnQgc3BlY2lmaWVzIHdoYXQgbW9kdWxlIHRvCkBAIC04MSwxMiArODUsMTUgQEAKIAogICAgIFRoZSA6ZnVuYzpgaW1wb3J0X21vZHVsZWAgZnVuY3Rpb24gYWN0cyBhcyBhIHNpbXBsaWZ5aW5nIHdyYXBwZXIgYXJvdW5kCiAgICAgOmZ1bmM6YGltcG9ydGxpYi5fX2ltcG9ydF9fYC4gVGhpcyBtZWFucyBhbGwgc2VtYW50aWNzIG9mIHRoZSBmdW5jdGlvbiBhcmUKLSAgICBkZXJpdmVkIGZyb20gOmZ1bmM6YGltcG9ydGxpYi5fX2ltcG9ydF9fYCwgaW5jbHVkaW5nIHJlcXVpcmluZyB0aGUgcGFja2FnZQotICAgIGZyb20gd2hpY2ggYW4gaW1wb3J0IGlzIG9jY3VycmluZyB0byBoYXZlIGJlZW4gcHJldmlvdXNseSBpbXBvcnRlZAotICAgIChpLmUuLCAqcGFja2FnZSogbXVzdCBhbHJlYWR5IGJlIGltcG9ydGVkKS4gVGhlIG1vc3QgaW1wb3J0YW50IGRpZmZlcmVuY2UKLSAgICBpcyB0aGF0IDpmdW5jOmBpbXBvcnRfbW9kdWxlYCByZXR1cm5zIHRoZSBzcGVjaWZpZWQgcGFja2FnZSBvciBtb2R1bGUKLSAgICAoZS5nLiBgYHBrZy5tb2RgYCksIHdoaWxlIDpmdW5jOmBfX2ltcG9ydF9fYCByZXR1cm5zIHRoZQotICAgIHRvcC1sZXZlbCBwYWNrYWdlIG9yIG1vZHVsZSAoZS5nLiBgYHBrZ2BgKS4KKyAgICBkZXJpdmVkIGZyb20gOmZ1bmM6YGltcG9ydGxpYi5fX2ltcG9ydF9fYC4gVGhlIG1vc3QgaW1wb3J0YW50IGRpZmZlcmVuY2UKKyAgICBiZXR3ZWVuIHRoZXNlIHR3byBmdW5jdGlvbnMgaXMgdGhhdCA6ZnVuYzpgaW1wb3J0X21vZHVsZWAgcmV0dXJucyB0aGUKKyAgICBzcGVjaWZpZWQgcGFja2FnZSBvciBtb2R1bGUgKGUuZy4gYGBwa2cubW9kYGApLCB3aGlsZSA6ZnVuYzpgX19pbXBvcnRfX2AKKyAgICByZXR1cm5zIHRoZSB0b3AtbGV2ZWwgcGFja2FnZSBvciBtb2R1bGUgKGUuZy4gYGBwa2dgYCkuCisKKyAgICBJZiB5b3UgYXJlIGR5bmFtaWNhbGx5IGltcG9ydGluZyBhIG1vZHVsZSB0aGF0IHdhcyBjcmVhdGVkIHNpbmNlIHRoZQorICAgIGludGVycHJldGVyIGJlZ2FuIGV4ZWN1dGlvbiAoZS5nLiwgY3JlYXRlZCBhIFB5dGhvbiBzb3VyY2UgZmlsZSksIHlvdSBtYXkKKyAgICBuZWVkIHRvIGNhbGwgOmZ1bmM6YGludmFsaWRhdGVfY2FjaGVzYCBpbiBvcmRlciBmb3IgdGhlIG5ldyBtb2R1bGUgdG8gYmUKKyAgICBub3RpY2VkIGJ5IHRoZSBpbXBvcnQgc3lzdGVtLgogCiAgICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjMKICAgICAgICBQYXJlbnQgcGFja2FnZXMgYXJlIGF1dG9tYXRpY2FsbHkgaW1wb3J0ZWQuCkBAIC0zNDcsMTMgKzM1NCwxNiBAQAogCiAgICAgLi4gbWV0aG9kOjogY3JlYXRlX21vZHVsZShzcGVjKQogCi0gICAgICAgQW4gb3B0aW9uYWwgbWV0aG9kIHRoYXQgcmV0dXJucyB0aGUgbW9kdWxlIG9iamVjdCB0byB1c2Ugd2hlbgotICAgICAgIGltcG9ydGluZyBhIG1vZHVsZS4gIGNyZWF0ZV9tb2R1bGUoKSBtYXkgYWxzbyByZXR1cm4gYGBOb25lYGAsCi0gICAgICAgaW5kaWNhdGluZyB0aGF0IHRoZSBkZWZhdWx0IG1vZHVsZSBjcmVhdGlvbiBzaG91bGQgdGFrZSBwbGFjZQotICAgICAgIGluc3RlYWQuCisgICAgICAgQSBtZXRob2QgdGhhdCByZXR1cm5zIHRoZSBtb2R1bGUgb2JqZWN0IHRvIHVzZSB3aGVuCisgICAgICAgaW1wb3J0aW5nIGEgbW9kdWxlLiAgVGhpcyBtZXRob2QgbWF5IHJldHVybiBgYE5vbmVgYCwKKyAgICAgICBpbmRpY2F0aW5nIHRoYXQgZGVmYXVsdCBtb2R1bGUgY3JlYXRpb24gc2VtYW50aWNzIHNob3VsZCB0YWtlIHBsYWNlLgogCiAgICAgICAgLi4gdmVyc2lvbmFkZGVkOjogMy40CiAKKyAgICAgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuNQorICAgICAgICAgIFN0YXJ0aW5nIGluIFB5dGhvbiAzLjYsIHRoaXMgbWV0aG9kIHdpbGwgbm90IGJlIG9wdGlvbmFsIHdoZW4KKyAgICAgICAgICA6bWV0aDpgZXhlY19tb2R1bGVgIGlzIGRlZmluZWQuCisKICAgICAuLiBtZXRob2Q6OiBleGVjX21vZHVsZShtb2R1bGUpCiAKICAgICAgICBBbiBhYnN0cmFjdCBtZXRob2QgdGhhdCBleGVjdXRlcyB0aGUgbW9kdWxlIGluIGl0cyBvd24gbmFtZXNwYWNlCkBAIC00MTcsNyArNDI3LDcgQEAKIAogICAgICAgICAuLiBkZXByZWNhdGVkOjogMy40CiAgICAgICAgICAgIFRoZSByZWNvbW1lbmRlZCBBUEkgZm9yIGxvYWRpbmcgYSBtb2R1bGUgaXMgOm1ldGg6YGV4ZWNfbW9kdWxlYAotICAgICAgICAgICAoYW5kIG9wdGlvbmFsbHkgOm1ldGg6YGNyZWF0ZV9tb2R1bGVgKS4gIExvYWRlcnMgc2hvdWxkIGltcGxlbWVudAorICAgICAgICAgICAoYW5kIDptZXRoOmBjcmVhdGVfbW9kdWxlYCkuICBMb2FkZXJzIHNob3VsZCBpbXBsZW1lbnQKICAgICAgICAgICAgaXQgaW5zdGVhZCBvZiBsb2FkX21vZHVsZSgpLiAgVGhlIGltcG9ydCBtYWNoaW5lcnkgdGFrZXMgY2FyZSBvZgogICAgICAgICAgICBhbGwgdGhlIG90aGVyIHJlc3BvbnNpYmlsaXRpZXMgb2YgbG9hZF9tb2R1bGUoKSB3aGVuIGV4ZWNfbW9kdWxlKCkKICAgICAgICAgICAgaXMgaW1wbGVtZW50ZWQuCkBAIC00OTksNyArNTA5LDcgQEAKICAgICAgICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjQKICAgICAgICAgICAgUmFpc2VzIDpleGM6YEltcG9ydEVycm9yYCBpbnN0ZWFkIG9mIDpleGM6YE5vdEltcGxlbWVudGVkRXJyb3JgLgogCi0gICAgLi4gbWV0aG9kOjogc291cmNlX3RvX2NvZGUoZGF0YSwgcGF0aD0nPHN0cmluZz4nKQorICAgIC4uIHN0YXRpY21ldGhvZDo6IHNvdXJjZV90b19jb2RlKGRhdGEsIHBhdGg9JzxzdHJpbmc+JykKIAogICAgICAgICBDcmVhdGUgYSBjb2RlIG9iamVjdCBmcm9tIFB5dGhvbiBzb3VyY2UuCiAKQEAgLTUwOCw4ICs1MTgsMTQgQEAKICAgICAgICAgdGhlICJwYXRoIiB0byB3aGVyZSB0aGUgc291cmNlIGNvZGUgb3JpZ2luYXRlZCBmcm9tLCB3aGljaCBjYW4gYmUgYW4KICAgICAgICAgYWJzdHJhY3QgY29uY2VwdCAoZS5nLiBsb2NhdGlvbiBpbiBhIHppcCBmaWxlKS4KIAorICAgICAgICBXaXRoIHRoZSBzdWJzZXF1ZW50IGNvZGUgb2JqZWN0IG9uZSBjYW4gZXhlY3V0ZSBpdCBpbiBhIG1vZHVsZSBieQorICAgICAgICBydW5uaW5nIGBgZXhlYyhjb2RlLCBtb2R1bGUuX19kaWN0X18pYGAuCisKICAgICAgICAgLi4gdmVyc2lvbmFkZGVkOjogMy40CiAKKyAgICAgICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjUKKyAgICAgICAgICAgTWFkZSB0aGUgbWV0aG9kIHN0YXRpYy4KKwogICAgIC4uIG1ldGhvZDo6IGV4ZWNfbW9kdWxlKG1vZHVsZSkKIAogICAgICAgIEltcGxlbWVudGF0aW9uIG9mIDptZXRoOmBMb2FkZXIuZXhlY19tb2R1bGVgLgpAQCAtNzg4LDYgKzgwNCwxMSBAQAogCiAgICAgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjQKIAorICAgICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjUKKyAgICAgICAgIElmIHRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5IC0tIHJlcHJlc2VudGVkIGJ5IGFuIGVtcHR5IHN0cmluZyAtLQorICAgICAgICAgaXMgbm8gbG9uZ2VyIHZhbGlkIHRoZW4gYGBOb25lYGAgaXMgcmV0dXJuZWQgYnV0IG5vIHZhbHVlIGlzIGNhY2hlZAorICAgICAgICAgaW4gOmRhdGE6YHN5cy5wYXRoX2ltcG9ydGVyX2NhY2hlYC4KKwogICAgLi4gY2xhc3NtZXRob2Q6OiBmaW5kX21vZHVsZShmdWxsbmFtZSwgcGF0aD1Ob25lKQogCiAgICAgICBBIGxlZ2FjeSB3cmFwcGVyIGFyb3VuZCA6bWV0aDpgZmluZF9zcGVjYC4KQEAgLTExMjMsNiArMTE0NCwyMSBAQAogCiAgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjQKIAorLi4gZnVuY3Rpb246OiBtb2R1bGVfZnJvbV9zcGVjKHNwZWMpCisKKyAgIENyZWF0ZSBhIG5ldyBtb2R1bGUgYmFzZWQgb24gKipzcGVjKiogYW5kIGBgc3BlYy5sb2FkZXIuY3JlYXRlX21vZHVsZSgpYGAuCisKKyAgIElmIGBgc3BlYy5sb2FkZXIuY3JlYXRlX21vZHVsZSgpYGAgZG9lcyBub3QgcmV0dXJuIGBgTm9uZWBgLCB0aGVuIGFueQorICAgcHJlLWV4aXN0aW5nIGF0dHJpYnV0ZXMgd2lsbCBub3QgYmUgcmVzZXQuIEFsc28sIG5vIDpleGM6YEF0dHJpYnV0ZUVycm9yYAorICAgd2lsbCBiZSByYWlzZWQgaWYgdHJpZ2dlcmVkIHdoaWxlIGFjY2Vzc2luZyAqKnNwZWMqKiBvciBzZXR0aW5nIGFuIGF0dHJpYnV0ZQorICAgb24gdGhlIG1vZHVsZS4KKworICAgVGhpcyBmdW5jdGlvbiBpcyBwcmVmZXJyZWQgb3ZlciB1c2luZyA6Y2xhc3M6YHR5cGVzLk1vZHVsZVR5cGVgIHRvIGNyZWF0ZSBhCisgICBuZXcgbW9kdWxlIGFzICoqc3BlYyoqIGlzIHVzZWQgdG8gc2V0IGFzIG1hbnkgaW1wb3J0LWNvbnRyb2xsZWQgYXR0cmlidXRlcyBvbgorICAgdGhlIG1vZHVsZSBhcyBwb3NzaWJsZS4KKworICAgLi4gdmVyc2lvbmFkZGVkOjogMy41CisKIC4uIGRlY29yYXRvcjo6IG1vZHVsZV9mb3JfbG9hZGVyCiAKICAgICBBIDp0ZXJtOmBkZWNvcmF0b3JgIGZvciA6bWV0aDpgaW1wb3J0bGliLmFiYy5Mb2FkZXIubG9hZF9tb2R1bGVgCkBAIC0xMjAxLDMgKzEyMzcsMzkgQEAKICAgIG1vZHVsZSB3aWxsIGJlIGZpbGUtYmFzZWQuCiAKICAgIC4uIHZlcnNpb25hZGRlZDo6IDMuNAorCisuLiBjbGFzczo6IExhenlMb2FkZXIobG9hZGVyKQorCisgICBBIGNsYXNzIHdoaWNoIHBvc3Rwb25lcyB0aGUgZXhlY3V0aW9uIG9mIHRoZSBsb2FkZXIgb2YgYSBtb2R1bGUgdW50aWwgdGhlCisgICBtb2R1bGUgaGFzIGFuIGF0dHJpYnV0ZSBhY2Nlc3NlZC4KKworICAgVGhpcyBjbGFzcyAqKm9ubHkqKiB3b3JrcyB3aXRoIGxvYWRlcnMgdGhhdCBkZWZpbmUKKyAgIDptZXRoOmB+aW1wb3J0bGliLmFiYy5Mb2FkZXIuZXhlY19tb2R1bGVgIGFzIGNvbnRyb2wgb3ZlciB3aGF0IG1vZHVsZSB0eXBlCisgICBpcyB1c2VkIGZvciB0aGUgbW9kdWxlIGlzIHJlcXVpcmVkLiBGb3IgdGhvc2Ugc2FtZSByZWFzb25zLCB0aGUgbG9hZGVyJ3MKKyAgIDptZXRoOmB+aW1wb3J0bGliLmFiYy5Mb2FkZXIuY3JlYXRlX21vZHVsZWAgbWV0aG9kIHdpbGwgYmUgaWdub3JlZCAoaS5lLiwgdGhlCisgICBsb2FkZXIncyBtZXRob2Qgc2hvdWxkIG9ubHkgcmV0dXJuIGBgTm9uZWBgKS4gRmluYWxseSwKKyAgIG1vZHVsZXMgd2hpY2ggc3Vic3RpdHV0ZSB0aGUgb2JqZWN0IHBsYWNlZCBpbnRvIDphdHRyOmBzeXMubW9kdWxlc2Agd2lsbAorICAgbm90IHdvcmsgYXMgdGhlcmUgaXMgbm8gd2F5IHRvIHByb3Blcmx5IHJlcGxhY2UgdGhlIG1vZHVsZSByZWZlcmVuY2VzCisgICB0aHJvdWdob3V0IHRoZSBpbnRlcnByZXRlciBzYWZlbHk7IDpleGM6YFZhbHVlRXJyb3JgIGlzIHJhaXNlZCBpZiBzdWNoIGEKKyAgIHN1YnN0aXR1dGlvbiBpcyBkZXRlY3RlZC4KKworICAgLi4gbm90ZTo6CisgICAgICBGb3IgcHJvamVjdHMgd2hlcmUgc3RhcnR1cCB0aW1lIGlzIGNyaXRpY2FsLCB0aGlzIGNsYXNzIGFsbG93cyBmb3IKKyAgICAgIHBvdGVudGlhbGx5IG1pbmltaXppbmcgdGhlIGNvc3Qgb2YgbG9hZGluZyBhIG1vZHVsZSBpZiBpdCBpcyBuZXZlciB1c2VkLgorICAgICAgRm9yIHByb2plY3RzIHdoZXJlIHN0YXJ0dXAgdGltZSBpcyBub3QgZXNzZW50aWFsIHRoZW4gdXNlIG9mIHRoaXMgY2xhc3MgaXMKKyAgICAgICoqaGVhdmlseSoqIGRpc2NvdXJhZ2VkIGR1ZSB0byBlcnJvciBtZXNzYWdlcyBjcmVhdGVkIGR1cmluZyBsb2FkaW5nIGJlaW5nCisgICAgICBwb3N0cG9uZWQgYW5kIHRodXMgb2NjdXJyaW5nIG91dCBvZiBjb250ZXh0LgorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjUKKworICAgLi4gY2xhc3NtZXRob2Q6OiBmYWN0b3J5KGxvYWRlcikKKworICAgICAgQSBzdGF0aWMgbWV0aG9kIHdoaWNoIHJldHVybnMgYSBjYWxsYWJsZSB0aGF0IGNyZWF0ZXMgYSBsYXp5IGxvYWRlci4gVGhpcworICAgICAgaXMgbWVhbnQgdG8gYmUgdXNlZCBpbiBzaXR1YXRpb25zIHdoZXJlIHRoZSBsb2FkZXIgaXMgcGFzc2VkIGJ5IGNsYXNzCisgICAgICBpbnN0ZWFkIG9mIGJ5IGluc3RhbmNlLgorICAgICAgOjoKKworICAgICAgICBzdWZmaXhlcyA9IGltcG9ydGxpYi5tYWNoaW5lcnkuU09VUkNFX1NVRkZJWEVTCisgICAgICAgIGxvYWRlciA9IGltcG9ydGxpYi5tYWNoaW5lcnkuU291cmNlRmlsZUxvYWRlcgorICAgICAgICBsYXp5X2xvYWRlciA9IGltcG9ydGxpYi51dGlsLkxhenlMb2FkZXIuZmFjdG9yeShsb2FkZXIpCisgICAgICAgIGZpbmRlciA9IGltcG9ydGxpYi5tYWNoaW5lcnkuRmlsZUZpbmRlcihwYXRoLCBbKGxhenlfbG9hZGVyLCBzdWZmaXhlcyldKQpkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvaW5zcGVjdC5yc3QgYi9Eb2MvbGlicmFyeS9pbnNwZWN0LnJzdAppbmRleCBjNTQwYjExLi4zZDIxMzJmIDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS9pbnNwZWN0LnJzdAorKysgYi9Eb2MvbGlicmFyeS9pbnNwZWN0LnJzdApAQCAtMTU5LDYgKzE1OSwxNiBAQAogfCAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgfCBhcmd1bWVudHMgYW5kIGxvY2FsICAgICAgIHwKIHwgICAgICAgICAgIHwgICAgICAgICAgICAgICAgIHwgdmFyaWFibGVzICAgICAgICAgICAgICAgICB8CiArLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworfCBnZW5lcmF0b3IgfCBfX25hbWVfXyAgICAgICAgfCBuYW1lICAgICAgICAgICAgICAgICAgICAgIHwKKystLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCit8ICAgICAgICAgICB8IF9fcXVhbG5hbWVfXyAgICB8IHF1YWxpZmllZCBuYW1lICAgICAgICAgICAgfAorKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKK3wgICAgICAgICAgIHwgZ2lfZnJhbWUgICAgICAgIHwgZnJhbWUgICAgICAgICAgICAgICAgICAgICB8CisrLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworfCAgICAgICAgICAgfCBnaV9ydW5uaW5nICAgICAgfCBpcyB0aGUgZ2VuZXJhdG9yIHJ1bm5pbmc/IHwKKystLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCit8ICAgICAgICAgICB8IGdpX2NvZGUgICAgICAgICB8IGNvZGUgICAgICAgICAgICAgICAgICAgICAgfAorKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKIHwgYnVpbHRpbiAgIHwgX19kb2NfXyAgICAgICAgIHwgZG9jdW1lbnRhdGlvbiBzdHJpbmcgICAgICB8CiArLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwogfCAgICAgICAgICAgfCBfX25hbWVfXyAgICAgICAgfCBvcmlnaW5hbCBuYW1lIG9mIHRoaXMgICAgIHwKQEAgLTE2OSw2ICsxNzksMTIgQEAKIHwgICAgICAgICAgIHwgICAgICAgICAgICAgICAgIHwgYGBOb25lYGAgICAgICAgICAgICAgICAgICB8CiArLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwogCisuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuNQorCisgICBBZGQgYGBfX3F1YWxuYW1lX19gYCBhdHRyaWJ1dGUgdG8gZ2VuZXJhdG9ycy4gVGhlIGBgX19uYW1lX19gYCBhdHRyaWJ1dGUgb2YKKyAgIGdlbmVyYXRvcnMgaXMgbm93IHNldCBmcm9tIHRoZSBmdW5jdGlvbiBuYW1lLCBpbnN0ZWFkIG9mIHRoZSBjb2RlIG5hbWUsIGFuZAorICAgaXQgY2FuIG5vdyBiZSBtb2RpZmllZC4KKwogCiAuLiBmdW5jdGlvbjo6IGdldG1lbWJlcnMob2JqZWN0WywgcHJlZGljYXRlXSkKIApAQCAtNDYyLDYgKzQ3OCw5IEBACiAgICBTaWduYXR1cmUgb2JqZWN0cyBhcmUgKmltbXV0YWJsZSouICBVc2UgOm1ldGg6YFNpZ25hdHVyZS5yZXBsYWNlYCB0byBtYWtlIGEKICAgIG1vZGlmaWVkIGNvcHkuCiAKKyAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy41CisgICAgICBTaWduYXR1cmUgb2JqZWN0cyBhcmUgcGlja2xhYmxlIGFuZCBoYXNoYWJsZS4KKwogICAgLi4gYXR0cmlidXRlOjogU2lnbmF0dXJlLmVtcHR5CiAKICAgICAgIEEgc3BlY2lhbCBjbGFzcy1sZXZlbCBtYXJrZXIgdG8gc3BlY2lmeSBhYnNlbmNlIG9mIGEgcmV0dXJuIGFubm90YXRpb24uCkBAIC01MDYsMTIgKzUyNSwyOSBAQAogICAgICAgICAgPj4+IHN0cihuZXdfc2lnKQogICAgICAgICAgIihhLCBiKSAtPiAnbmV3IHJldHVybiBhbm5vJyIKIAorICAgLi4gY2xhc3NtZXRob2Q6OiBTaWduYXR1cmUuZnJvbV9jYWxsYWJsZShvYmopCisKKyAgICAgICBSZXR1cm4gYSA6Y2xhc3M6YFNpZ25hdHVyZWAgKG9yIGl0cyBzdWJjbGFzcykgb2JqZWN0IGZvciBhIGdpdmVuIGNhbGxhYmxlCisgICAgICAgYGBvYmpgYC4gVGhpcyBtZXRob2Qgc2ltcGxpZmllcyBzdWJjbGFzc2luZyBvZiA6Y2xhc3M6YFNpZ25hdHVyZWA6CisKKyAgICAgICA6OgorCisgICAgICAgICBjbGFzcyBNeVNpZ25hdHVyZShTaWduYXR1cmUpOgorICAgICAgICAgICAgIHBhc3MKKyAgICAgICAgIHNpZyA9IE15U2lnbmF0dXJlLmZyb21fY2FsbGFibGUobWluKQorICAgICAgICAgYXNzZXJ0IGlzaW5zdGFuY2Uoc2lnLCBNeVNpZ25hdHVyZSkKKworICAgICAgIC4uIHZlcnNpb25hZGRlZDo6IDMuNQorCiAKIC4uIGNsYXNzOjogUGFyYW1ldGVyKG5hbWUsIGtpbmQsIFwqLCBkZWZhdWx0PVBhcmFtZXRlci5lbXB0eSwgYW5ub3RhdGlvbj1QYXJhbWV0ZXIuZW1wdHkpCiAKICAgIFBhcmFtZXRlciBvYmplY3RzIGFyZSAqaW1tdXRhYmxlKi4gIEluc3RlYWQgb2YgbW9kaWZ5aW5nIGEgUGFyYW1ldGVyIG9iamVjdCwKICAgIHlvdSBjYW4gdXNlIDptZXRoOmBQYXJhbWV0ZXIucmVwbGFjZWAgdG8gY3JlYXRlIGEgbW9kaWZpZWQgY29weS4KIAorICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjUKKyAgICAgIFBhcmFtZXRlciBvYmplY3RzIGFyZSBwaWNrbGFibGUgYW5kIGhhc2hhYmxlLgorCiAgICAuLiBhdHRyaWJ1dGU6OiBQYXJhbWV0ZXIuZW1wdHkKIAogICAgICAgQSBzcGVjaWFsIGNsYXNzLWxldmVsIG1hcmtlciB0byBzcGVjaWZ5IGFic2VuY2Ugb2YgZGVmYXVsdCB2YWx1ZXMgYW5kCkBAIC04NDksMTEgKzg4NSwxNyBAQAogVGhlIGludGVycHJldGVyIHN0YWNrCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAotV2hlbiB0aGUgZm9sbG93aW5nIGZ1bmN0aW9ucyByZXR1cm4gImZyYW1lIHJlY29yZHMsIiBlYWNoIHJlY29yZCBpcyBhIHR1cGxlIG9mCi1zaXggaXRlbXM6IHRoZSBmcmFtZSBvYmplY3QsIHRoZSBmaWxlbmFtZSwgdGhlIGxpbmUgbnVtYmVyIG9mIHRoZSBjdXJyZW50IGxpbmUsCitXaGVuIHRoZSBmb2xsb3dpbmcgZnVuY3Rpb25zIHJldHVybiAiZnJhbWUgcmVjb3JkcywiIGVhY2ggcmVjb3JkIGlzIGEKKzp0ZXJtOmBuYW1lZCB0dXBsZWAKK2BgRnJhbWVJbmZvKGZyYW1lLCBmaWxlbmFtZSwgbGluZW5vLCBmdW5jdGlvbiwgY29kZV9jb250ZXh0LCBpbmRleClgYC4KK1RoZSB0dXBsZSBjb250YWlucyB0aGUgZnJhbWUgb2JqZWN0LCB0aGUgZmlsZW5hbWUsIHRoZSBsaW5lIG51bWJlciBvZiB0aGUKK2N1cnJlbnQgbGluZSwKIHRoZSBmdW5jdGlvbiBuYW1lLCBhIGxpc3Qgb2YgbGluZXMgb2YgY29udGV4dCBmcm9tIHRoZSBzb3VyY2UgY29kZSwgYW5kIHRoZQogaW5kZXggb2YgdGhlIGN1cnJlbnQgbGluZSB3aXRoaW4gdGhhdCBsaXN0LgogCisuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuNQorICAgUmV0dXJuIGEgbmFtZWQgdHVwbGUgaW5zdGVhZCBvZiBhIHR1cGxlLgorCiAuLiBub3RlOjoKIAogICAgS2VlcGluZyByZWZlcmVuY2VzIHRvIGZyYW1lIG9iamVjdHMsIGFzIGZvdW5kIGluIHRoZSBmaXJzdCBlbGVtZW50IG9mIHRoZSBmcmFtZQpkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvaW8ucnN0IGIvRG9jL2xpYnJhcnkvaW8ucnN0CmluZGV4IDNhZGY2ZTkuLjYzNGJmNTggMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L2lvLnJzdAorKysgYi9Eb2MvbGlicmFyeS9pby5yc3QKQEAgLTM5MSw4ICszOTEsOCBAQAogICAgLi4gbWV0aG9kOjogcmVhZGludG8oYikKIAogICAgICAgUmVhZCB1cCB0byBgYGxlbihiKWBgIGJ5dGVzIGludG8gOmNsYXNzOmBieXRlYXJyYXlgICpiKiBhbmQgcmV0dXJuIHRoZQotICAgICAgbnVtYmVyIG9mIGJ5dGVzIHJlYWQuICBJZiB0aGUgb2JqZWN0IGlzIGluIG5vbi1ibG9ja2luZyBtb2RlIGFuZCBubwotICAgICAgYnl0ZXMgYXJlIGF2YWlsYWJsZSwgYGBOb25lYGAgaXMgcmV0dXJuZWQuCisgICAgICBudW1iZXIgb2YgYnl0ZXMgcmVhZC4gIElmIHRoZSBvYmplY3QgaXMgaW4gbm9uLWJsb2NraW5nIG1vZGUgYW5kIG5vIGJ5dGVzCisgICAgICBhcmUgYXZhaWxhYmxlLCBgYE5vbmVgYCBpcyByZXR1cm5lZC4KIAogICAgLi4gbWV0aG9kOjogd3JpdGUoYikKIApAQCAtNDY1LDkgKzQ2NSwxMCBAQAogCiAgICAuLiBtZXRob2Q6OiByZWFkMShzaXplPS0xKQogCi0gICAgICBSZWFkIGFuZCByZXR1cm4gdXAgdG8gKnNpemUqIGJ5dGVzLCB3aXRoIGF0IG1vc3Qgb25lIGNhbGwgdG8gdGhlIHVuZGVybHlpbmcKLSAgICAgIHJhdyBzdHJlYW0ncyA6bWV0aDpgflJhd0lPQmFzZS5yZWFkYCBtZXRob2QuICBUaGlzIGNhbiBiZSB1c2VmdWwgaWYgeW91Ci0gICAgICBhcmUgaW1wbGVtZW50aW5nIHlvdXIgb3duIGJ1ZmZlcmluZyBvbiB0b3Agb2YgYSA6Y2xhc3M6YEJ1ZmZlcmVkSU9CYXNlYAorICAgICAgUmVhZCBhbmQgcmV0dXJuIHVwIHRvICpzaXplKiBieXRlcywgd2l0aCBhdCBtb3N0IG9uZSBjYWxsIHRvIHRoZQorICAgICAgdW5kZXJseWluZyByYXcgc3RyZWFtJ3MgOm1ldGg6YH5SYXdJT0Jhc2UucmVhZGAgKG9yCisgICAgICA6bWV0aDpgflJhd0lPQmFzZS5yZWFkaW50b2ApIG1ldGhvZC4gIFRoaXMgY2FuIGJlIHVzZWZ1bCBpZiB5b3UgYXJlCisgICAgICBpbXBsZW1lbnRpbmcgeW91ciBvd24gYnVmZmVyaW5nIG9uIHRvcCBvZiBhIDpjbGFzczpgQnVmZmVyZWRJT0Jhc2VgCiAgICAgICBvYmplY3QuCiAKICAgIC4uIG1ldGhvZDo6IHJlYWRpbnRvKGIpCkBAIC00NzgsOCArNDc5LDE5IEBACiAgICAgICBMaWtlIDptZXRoOmByZWFkYCwgbXVsdGlwbGUgcmVhZHMgbWF5IGJlIGlzc3VlZCB0byB0aGUgdW5kZXJseWluZyByYXcKICAgICAgIHN0cmVhbSwgdW5sZXNzIHRoZSBsYXR0ZXIgaXMgaW50ZXJhY3RpdmUuCiAKLSAgICAgIEEgOmV4YzpgQmxvY2tpbmdJT0Vycm9yYCBpcyByYWlzZWQgaWYgdGhlIHVuZGVybHlpbmcgcmF3IHN0cmVhbSBpcyBpbgotICAgICAgbm9uIGJsb2NraW5nLW1vZGUsIGFuZCBoYXMgbm8gZGF0YSBhdmFpbGFibGUgYXQgdGhlIG1vbWVudC4KKyAgICAgIEEgOmV4YzpgQmxvY2tpbmdJT0Vycm9yYCBpcyByYWlzZWQgaWYgdGhlIHVuZGVybHlpbmcgcmF3IHN0cmVhbSBpcyBpbiBub24KKyAgICAgIGJsb2NraW5nLW1vZGUsIGFuZCBoYXMgbm8gZGF0YSBhdmFpbGFibGUgYXQgdGhlIG1vbWVudC4KKworICAgLi4gbWV0aG9kOjogcmVhZGludG8xKGIpCisKKyAgICAgIFJlYWQgdXAgdG8gYGBsZW4oYilgYCBieXRlcyBpbnRvIGJ5dGVhcnJheSAqYiosICx1c2luZyBhdCBtb3N0IG9uZSBjYWxsIHRvCisgICAgICB0aGUgdW5kZXJseWluZyByYXcgc3RyZWFtJ3MgOm1ldGg6YH5SYXdJT0Jhc2UucmVhZGAgKG9yCisgICAgICA6bWV0aDpgflJhd0lPQmFzZS5yZWFkaW50b2ApIG1ldGhvZC4gUmV0dXJuIHRoZSBudW1iZXIgb2YgYnl0ZXMgcmVhZC4KKworICAgICAgQSA6ZXhjOmBCbG9ja2luZ0lPRXJyb3JgIGlzIHJhaXNlZCBpZiB0aGUgdW5kZXJseWluZyByYXcgc3RyZWFtIGlzIGluIG5vbgorICAgICAgYmxvY2tpbmctbW9kZSwgYW5kIGhhcyBubyBkYXRhIGF2YWlsYWJsZSBhdCB0aGUgbW9tZW50LgorCisgICAgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjUKIAogICAgLi4gbWV0aG9kOjogd3JpdGUoYikKIApAQCAtNTA3LDkgKzUxOSwxMiBAQAogICAgVGhlICpuYW1lKiBjYW4gYmUgb25lIG9mIHR3byB0aGluZ3M6CiAKICAgICogYSBjaGFyYWN0ZXIgc3RyaW5nIG9yIDpjbGFzczpgYnl0ZXNgIG9iamVjdCByZXByZXNlbnRpbmcgdGhlIHBhdGggdG8gdGhlCi0gICAgIGZpbGUgd2hpY2ggd2lsbCBiZSBvcGVuZWQ7CisgICAgIGZpbGUgd2hpY2ggd2lsbCBiZSBvcGVuZWQuIEluIHRoaXMgY2FzZSBjbG9zZWZkIG11c3QgYmUgVHJ1ZSAodGhlIGRlZmF1bHQpCisgICAgIG90aGVyd2lzZSBhbiBlcnJvciB3aWxsIGJlIHJhaXNlZC4KICAgICogYW4gaW50ZWdlciByZXByZXNlbnRpbmcgdGhlIG51bWJlciBvZiBhbiBleGlzdGluZyBPUy1sZXZlbCBmaWxlIGRlc2NyaXB0b3IKLSAgICAgdG8gd2hpY2ggdGhlIHJlc3VsdGluZyA6Y2xhc3M6YEZpbGVJT2Agb2JqZWN0IHdpbGwgZ2l2ZSBhY2Nlc3MuCisgICAgIHRvIHdoaWNoIHRoZSByZXN1bHRpbmcgOmNsYXNzOmBGaWxlSU9gIG9iamVjdCB3aWxsIGdpdmUgYWNjZXNzLiBXaGVuIHRoZQorICAgICBGaWxlSU8gb2JqZWN0IGlzIGNsb3NlZCB0aGlzIGZkIHdpbGwgYmUgY2xvc2VkIGFzIHdlbGwsIHVubGVzcyAqY2xvc2VmZCoKKyAgICAgaXMgc2V0IHRvIGBgRmFsc2VgYC4KIAogICAgVGhlICptb2RlKiBjYW4gYmUgYGAncidgYCwgYGAndydgYCwgYGAneCdgYCBvciBgYCdhJ2BgIGZvciByZWFkaW5nCiAgICAoZGVmYXVsdCksIHdyaXRpbmcsIGV4Y2x1c2l2ZSBjcmVhdGlvbiBvciBhcHBlbmRpbmcuIFRoZSBmaWxlIHdpbGwgYmUKQEAgLTU5OCw2ICs2MTMsMTEgQEAKIAogICAgICAgSW4gOmNsYXNzOmBCeXRlc0lPYCwgdGhpcyBpcyB0aGUgc2FtZSBhcyA6bWV0aDpgcmVhZGAuCiAKKyAgIC4uIG1ldGhvZDo6IHJlYWRpbnRvMSgpCisKKyAgICAgIEluIDpjbGFzczpgQnl0ZXNJT2AsIHRoaXMgaXMgdGhlIHNhbWUgYXMgOm1ldGg6YHJlYWRpbnRvYC4KKworICAgICAgLi4gdmVyc2lvbmFkZGVkOjogMy41CiAKIC4uIGNsYXNzOjogQnVmZmVyZWRSZWFkZXIocmF3LCBidWZmZXJfc2l6ZT1ERUZBVUxUX0JVRkZFUl9TSVpFKQogCkBAIC04MDcsMTEgKzgyNywxMyBAQAogICAgZXhjZXB0aW9uIGlmIHRoZXJlIGlzIGFuIGVuY29kaW5nIGVycm9yICh0aGUgZGVmYXVsdCBvZiBgYE5vbmVgYCBoYXMgdGhlIHNhbWUKICAgIGVmZmVjdCksIG9yIHBhc3MgYGAnaWdub3JlJ2BgIHRvIGlnbm9yZSBlcnJvcnMuICAoTm90ZSB0aGF0IGlnbm9yaW5nIGVuY29kaW5nCiAgICBlcnJvcnMgY2FuIGxlYWQgdG8gZGF0YSBsb3NzLikgIGBgJ3JlcGxhY2UnYGAgY2F1c2VzIGEgcmVwbGFjZW1lbnQgbWFya2VyCi0gICAoc3VjaCBhcyBgYCc/J2BgKSB0byBiZSBpbnNlcnRlZCB3aGVyZSB0aGVyZSBpcyBtYWxmb3JtZWQgZGF0YS4gIFdoZW4KLSAgIHdyaXRpbmcsIGBgJ3htbGNoYXJyZWZyZXBsYWNlJ2BgIChyZXBsYWNlIHdpdGggdGhlIGFwcHJvcHJpYXRlIFhNTCBjaGFyYWN0ZXIKLSAgIHJlZmVyZW5jZSkgb3IgYGAnYmFja3NsYXNocmVwbGFjZSdgYCAocmVwbGFjZSB3aXRoIGJhY2tzbGFzaGVkIGVzY2FwZQotICAgc2VxdWVuY2VzKSBjYW4gYmUgdXNlZC4gIEFueSBvdGhlciBlcnJvciBoYW5kbGluZyBuYW1lIHRoYXQgaGFzIGJlZW4KLSAgIHJlZ2lzdGVyZWQgd2l0aCA6ZnVuYzpgY29kZWNzLnJlZ2lzdGVyX2Vycm9yYCBpcyBhbHNvIHZhbGlkLgorICAgKHN1Y2ggYXMgYGAnPydgYCkgdG8gYmUgaW5zZXJ0ZWQgd2hlcmUgdGhlcmUgaXMgbWFsZm9ybWVkIGRhdGEuCisgICBgYCdiYWNrc2xhc2hyZXBsYWNlJ2BgIGNhdXNlcyBtYWxmb3JtZWQgZGF0YSB0byBiZSByZXBsYWNlZCBieSBhCisgICBiYWNrc2xhc2hlZCBlc2NhcGUgc2VxdWVuY2UuICBXaGVuIHdyaXRpbmcsIGBgJ3htbGNoYXJyZWZyZXBsYWNlJ2BgCisgICAocmVwbGFjZSB3aXRoIHRoZSBhcHByb3ByaWF0ZSBYTUwgY2hhcmFjdGVyIHJlZmVyZW5jZSkgIG9yIGBgJ25hbWVyZXBsYWNlJ2BgCisgICAocmVwbGFjZSB3aXRoIGBgXE57Li4ufWBgIGVzY2FwZSBzZXF1ZW5jZXMpIGNhbiBiZSB1c2VkLiAgQW55IG90aGVyIGVycm9yCisgICBoYW5kbGluZyBuYW1lIHRoYXQgaGFzIGJlZW4gcmVnaXN0ZXJlZCB3aXRoCisgICA6ZnVuYzpgY29kZWNzLnJlZ2lzdGVyX2Vycm9yYCBpcyBhbHNvIHZhbGlkLgogCiAgICAuLiBpbmRleDo6CiAgICAgICBzaW5nbGU6IHVuaXZlcnNhbCBuZXdsaW5lczsgaW8uVGV4dElPV3JhcHBlciBjbGFzcwpkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvaXBhZGRyZXNzLnJzdCBiL0RvYy9saWJyYXJ5L2lwYWRkcmVzcy5yc3QKaW5kZXggY2E4Nzk4MC4uN2I1OTQ0MCAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvaXBhZGRyZXNzLnJzdAorKysgYi9Eb2MvbGlicmFyeS9pcGFkZHJlc3MucnN0CkBAIC0xMDMsNyArMTAzLDcgQEAKICAgIDEuIEEgc3RyaW5nIGluIGRlY2ltYWwtZG90IG5vdGF0aW9uLCBjb25zaXN0aW5nIG9mIGZvdXIgZGVjaW1hbCBpbnRlZ2VycyBpbgogICAgICAgdGhlIGluY2x1c2l2ZSByYW5nZSAwLTI1NSwgc2VwYXJhdGVkIGJ5IGRvdHMgKGUuZy4gYGAxOTIuMTY4LjAuMWBgKS4gRWFjaAogICAgICAgaW50ZWdlciByZXByZXNlbnRzIGFuIG9jdGV0IChieXRlKSBpbiB0aGUgYWRkcmVzcy4gTGVhZGluZyB6ZXJvZXMgYXJlCi0gICAgICB0b2xlcmF0ZWQgb25seSBmb3IgdmFsdWVzIGxlc3MgdGhlbiA4IChhcyB0aGVyZSBpcyBubyBhbWJpZ3VpdHkKKyAgICAgIHRvbGVyYXRlZCBvbmx5IGZvciB2YWx1ZXMgbGVzcyB0aGFuIDggKGFzIHRoZXJlIGlzIG5vIGFtYmlndWl0eQogICAgICAgYmV0d2VlbiB0aGUgZGVjaW1hbCBhbmQgb2N0YWwgaW50ZXJwcmV0YXRpb25zIG9mIHN1Y2ggc3RyaW5ncykuCiAgICAyLiBBbiBpbnRlZ2VyIHRoYXQgZml0cyBpbnRvIDMyIGJpdHMuCiAgICAzLiBBbiBpbnRlZ2VyIHBhY2tlZCBpbnRvIGEgOmNsYXNzOmBieXRlc2Agb2JqZWN0IG9mIGxlbmd0aCA0IChtb3N0CkBAIC0xNDYsNiArMTQ2LDIwIEBACiAgICAgICB0aGUgYXBwcm9wcmlhdGUgbGVuZ3RoIChtb3N0IHNpZ25pZmljYW50IG9jdGV0IGZpcnN0KS4gVGhpcyBpcyA0IGJ5dGVzCiAgICAgICBmb3IgSVB2NCBhbmQgMTYgYnl0ZXMgZm9yIElQdjYuCiAKKyAgIC4uIGF0dHJpYnV0ZTo6IHJldmVyc2VfcG9pbnRlcgorCisgICAgICBUaGUgbmFtZSBvZiB0aGUgcmV2ZXJzZSBETlMgUFRSIHJlY29yZCBmb3IgdGhlIElQIGFkZHJlc3MsIGUuZy46OgorCisgICAgICAgICAgPj4+IGlwYWRkcmVzcy5pcF9hZGRyZXNzKCIxMjcuMC4wLjEiKS5yZXZlcnNlX3BvaW50ZXIKKyAgICAgICAgICAnMS4wLjAuMTI3LmluLWFkZHIuYXJwYScKKyAgICAgICAgICA+Pj4gaXBhZGRyZXNzLmlwX2FkZHJlc3MoIjIwMDE6ZGI4OjoxIikucmV2ZXJzZV9wb2ludGVyCisgICAgICAgICAgJzEuMC4wLjAuMC4wLjAuMC4wLjAuMC4wLjAuMC4wLjAuMC4wLjAuMC4wLjAuMC4wLjguYi5kLjAuMS4wLjAuMi5pcDYuYXJwYScKKworICAgICAgVGhpcyBpcyB0aGUgbmFtZSB0aGF0IGNvdWxkIGJlIHVzZWQgZm9yIHBlcmZvcm1pbmcgYSBQVFIgbG9va3VwLCBub3QgdGhlCisgICAgICByZXNvbHZlZCBob3N0bmFtZSBpdHNlbGYuCisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuNQorCiAgICAuLiBhdHRyaWJ1dGU6OiBpc19tdWx0aWNhc3QKIAogICAgICAgYGBUcnVlYGAgaWYgdGhlIGFkZHJlc3MgaXMgcmVzZXJ2ZWQgZm9yIG11bHRpY2FzdCB1c2UuICBTZWUKQEAgLTIyNiw2ICsyNDAsNyBAQAogICAgOmNsYXNzOmBJUHY0QWRkcmVzc2AgY2xhc3M6CiAKICAgIC4uIGF0dHJpYnV0ZTo6IHBhY2tlZAorICAgLi4gYXR0cmlidXRlOjogcmV2ZXJzZV9wb2ludGVyCiAgICAuLiBhdHRyaWJ1dGU6OiB2ZXJzaW9uCiAgICAuLiBhdHRyaWJ1dGU6OiBtYXhfcHJlZml4bGVuCiAgICAuLiBhdHRyaWJ1dGU6OiBpc19tdWx0aWNhc3QKQEAgLTM3Nyw2ICszOTIsMTIgQEAKICAgIDMuIEFuIGludGVnZXIgcGFja2VkIGludG8gYSA6Y2xhc3M6YGJ5dGVzYCBvYmplY3Qgb2YgbGVuZ3RoIDQsIGJpZy1lbmRpYW4uCiAgICAgICBUaGUgaW50ZXJwcmV0YXRpb24gaXMgc2ltaWxhciB0byBhbiBpbnRlZ2VyICphZGRyZXNzKi4KIAorICAgNC4gQSB0d28tdHVwbGUgb2YgYW4gYWRkcmVzcyBkZXNjcmlwdGlvbiBhbmQgYSBuZXRtYXNrLCB3aGVyZSB0aGUgYWRkcmVzcworICAgICAgZGVzY3JpcHRpb24gaXMgZWl0aGVyIGEgc3RyaW5nLCBhIDMyLWJpdHMgaW50ZWdlciwgYSA0LWJ5dGVzIHBhY2tlZAorICAgICAgaW50ZWdlciwgb3IgYW4gZXhpc3RpbmcgSVB2NEFkZHJlc3Mgb2JqZWN0OyBhbmQgdGhlIG5ldG1hc2sgaXMgZWl0aGVyCisgICAgICBhbiBpbnRlZ2VyIHJlcHJlc2VudGluZyB0aGUgcHJlZml4IGxlbmd0aCAoZS5nLiBgYDI0YGApIG9yIGEgc3RyaW5nCisgICAgICByZXByZXNlbnRpbmcgdGhlIHByZWZpeCBtYXNrIChlLmcuIGBgMjU1LjI1NS4yNTUuMGBgKS4KKwogICAgQW4gOmV4YzpgQWRkcmVzc1ZhbHVlRXJyb3JgIGlzIHJhaXNlZCBpZiAqYWRkcmVzcyogaXMgbm90IGEgdmFsaWQgSVB2NAogICAgYWRkcmVzcy4gIEEgOmV4YzpgTmV0bWFza1ZhbHVlRXJyb3JgIGlzIHJhaXNlZCBpZiB0aGUgbWFzayBpcyBub3QgdmFsaWQgZm9yCiAgICBhbiBJUHY0IGFkZHJlc3MuCkBAIC0zODksNiArNDEwLDEwIEBACiAgICBvYmplY3RzIHdpbGwgcmFpc2UgOmV4YzpgVHlwZUVycm9yYCBpZiB0aGUgYXJndW1lbnQncyBJUCB2ZXJzaW9uIGlzCiAgICBpbmNvbXBhdGlibGUgdG8gYGBzZWxmYGAKIAorICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjUKKworICAgICAgQWRkZWQgdGhlIHR3by10dXBsZSBmb3JtIGZvciB0aGUgKmFkZHJlc3MqIGNvbnN0cnVjdG9yIHBhcmFtZXRlci4KKwogICAgLi4gYXR0cmlidXRlOjogdmVyc2lvbgogICAgLi4gYXR0cmlidXRlOjogbWF4X3ByZWZpeGxlbgogCkBAIC01NTMsNiArNTc4LDExIEBACiAgICAzLiBBbiBpbnRlZ2VyIHBhY2tlZCBpbnRvIGEgOmNsYXNzOmBieXRlc2Agb2JqZWN0IG9mIGxlbmd0aCAxNiwgYml0LWVuZGlhbi4KICAgICAgIFRoZSBpbnRlcnByZXRhdGlvbiBpcyBzaW1pbGFyIHRvIGFuIGludGVnZXIgKmFkZHJlc3MqLgogCisgICA0LiBBIHR3by10dXBsZSBvZiBhbiBhZGRyZXNzIGRlc2NyaXB0aW9uIGFuZCBhIG5ldG1hc2ssIHdoZXJlIHRoZSBhZGRyZXNzCisgICAgICBkZXNjcmlwdGlvbiBpcyBlaXRoZXIgYSBzdHJpbmcsIGEgMTI4LWJpdHMgaW50ZWdlciwgYSAxNi1ieXRlcyBwYWNrZWQKKyAgICAgIGludGVnZXIsIG9yIGFuIGV4aXN0aW5nIElQdjRBZGRyZXNzIG9iamVjdDsgYW5kIHRoZSBuZXRtYXNrIGlzIGFuCisgICAgICBpbnRlZ2VyIHJlcHJlc2VudGluZyB0aGUgcHJlZml4IGxlbmd0aC4KKwogICAgQW4gOmV4YzpgQWRkcmVzc1ZhbHVlRXJyb3JgIGlzIHJhaXNlZCBpZiAqYWRkcmVzcyogaXMgbm90IGEgdmFsaWQgSVB2NgogICAgYWRkcmVzcy4gIEEgOmV4YzpgTmV0bWFza1ZhbHVlRXJyb3JgIGlzIHJhaXNlZCBpZiB0aGUgbWFzayBpcyBub3QgdmFsaWQgZm9yCiAgICBhbiBJUHY2IGFkZHJlc3MuCkBAIC01NjEsNiArNTkxLDEwIEBACiAgICB0aGVuIDpleGM6YFZhbHVlRXJyb3JgIGlzIHJhaXNlZC4gIE90aGVyd2lzZSwgdGhlIGhvc3QgYml0cyBhcmUgbWFza2VkIG91dAogICAgdG8gZGV0ZXJtaW5lIHRoZSBhcHByb3ByaWF0ZSBuZXR3b3JrIGFkZHJlc3MuCiAKKyAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy41CisKKyAgICAgIEFkZGVkIHRoZSB0d28tdHVwbGUgZm9ybSBmb3IgdGhlICphZGRyZXNzKiBjb25zdHJ1Y3RvciBwYXJhbWV0ZXIuCisKICAgIC4uIGF0dHJpYnV0ZTo6IHZlcnNpb24KICAgIC4uIGF0dHJpYnV0ZTo6IG1heF9wcmVmaXhsZW4KICAgIC4uIGF0dHJpYnV0ZTo6IGlzX211bHRpY2FzdApkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvaXRlcnRvb2xzLnJzdCBiL0RvYy9saWJyYXJ5L2l0ZXJ0b29scy5yc3QKaW5kZXggZjQ4OTUzNS4uOGM3NTkyZCAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvaXRlcnRvb2xzLnJzdAorKysgYi9Eb2MvbGlicmFyeS9pdGVydG9vbHMucnN0CkBAIC04NywxMCArODcsMTUgQEAKIAogLi4gZnVuY3Rpb246OiBhY2N1bXVsYXRlKGl0ZXJhYmxlWywgZnVuY10pCiAKLSAgICBNYWtlIGFuIGl0ZXJhdG9yIHRoYXQgcmV0dXJucyBhY2N1bXVsYXRlZCBzdW1zLiBFbGVtZW50cyBtYXkgYmUgYW55IGFkZGFibGUKLSAgICB0eXBlIGluY2x1ZGluZyA6Y2xhc3M6YH5kZWNpbWFsLkRlY2ltYWxgIG9yIDpjbGFzczpgfmZyYWN0aW9ucy5GcmFjdGlvbmAuCi0gICAgSWYgdGhlIG9wdGlvbmFsICpmdW5jKiBhcmd1bWVudCBpcyBzdXBwbGllZCwgaXQgc2hvdWxkIGJlIGEgZnVuY3Rpb24gb2YgdHdvCi0gICAgYXJndW1lbnRzIGFuZCBpdCB3aWxsIGJlIHVzZWQgaW5zdGVhZCBvZiBhZGRpdGlvbi4KKyAgICBNYWtlIGFuIGl0ZXJhdG9yIHRoYXQgcmV0dXJucyBhY2N1bXVsYXRlZCBzdW1zLCBvciBhY2N1bXVsYXRlZAorICAgIHJlc3VsdHMgb2Ygb3RoZXIgYmluYXJ5IGZ1bmN0aW9ucyAoc3BlY2lmaWVkIHZpYSB0aGUgb3B0aW9uYWwKKyAgICAqZnVuYyogYXJndW1lbnQpLiAgSWYgKmZ1bmMqIGlzIHN1cHBsaWVkLCBpdCBzaG91bGQgYmUgYSBmdW5jdGlvbgorICAgIG9mIHR3byBhcmd1bWVudHMuIEVsZW1lbnRzIG9mIHRoZSBpbnB1dCAqaXRlcmFibGUqIG1heSBiZSBhbnkgdHlwZQorICAgIHRoYXQgY2FuIGJlIGFjY2VwdGVkIGFzIGFyZ3VtZW50cyB0byAqZnVuYyouIChGb3IgZXhhbXBsZSwgd2l0aAorICAgIHRoZSBkZWZhdWx0IG9wZXJhdGlvbiBvZiBhZGRpdGlvbiwgZWxlbWVudHMgbWF5IGJlIGFueSBhZGRhYmxlCisgICAgdHlwZSBpbmNsdWRpbmcgOmNsYXNzOmB+ZGVjaW1hbC5EZWNpbWFsYCBvcgorICAgIDpjbGFzczpgfmZyYWN0aW9ucy5GcmFjdGlvbmAuKSBJZiB0aGUgaW5wdXQgaXRlcmFibGUgaXMgZW1wdHksIHRoZQorICAgIG91dHB1dCBpdGVyYWJsZSB3aWxsIGFsc28gYmUgZW1wdHkuCiAKICAgICBFcXVpdmFsZW50IHRvOjoKIApAQCAtOTksNyArMTA0LDEwIEBACiAgICAgICAgICAgICAjIGFjY3VtdWxhdGUoWzEsMiwzLDQsNV0pIC0tPiAxIDMgNiAxMCAxNQogICAgICAgICAgICAgIyBhY2N1bXVsYXRlKFsxLDIsMyw0LDVdLCBvcGVyYXRvci5tdWwpIC0tPiAxIDIgNiAyNCAxMjAKICAgICAgICAgICAgIGl0ID0gaXRlcihpdGVyYWJsZSkKLSAgICAgICAgICAgIHRvdGFsID0gbmV4dChpdCkKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICB0b3RhbCA9IG5leHQoaXQpCisgICAgICAgICAgICBleGNlcHQgU3RvcEl0ZXJhdGlvbjoKKyAgICAgICAgICAgICAgICByZXR1cm4KICAgICAgICAgICAgIHlpZWxkIHRvdGFsCiAgICAgICAgICAgICBmb3IgZWxlbWVudCBpbiBpdDoKICAgICAgICAgICAgICAgICB0b3RhbCA9IGZ1bmModG90YWwsIGVsZW1lbnQpCkBAIC00MDAsNyArNDA4LDEwIEBACiAgICAgICAgICAgZGVmIF9ncm91cGVyKHNlbGYsIHRndGtleSk6CiAgICAgICAgICAgICAgIHdoaWxlIHNlbGYuY3VycmtleSA9PSB0Z3RrZXk6CiAgICAgICAgICAgICAgICAgICB5aWVsZCBzZWxmLmN1cnJ2YWx1ZQotICAgICAgICAgICAgICAgICAgc2VsZi5jdXJydmFsdWUgPSBuZXh0KHNlbGYuaXQpICAgICMgRXhpdCBvbiBTdG9wSXRlcmF0aW9uCisgICAgICAgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgICAgICAgc2VsZi5jdXJydmFsdWUgPSBuZXh0KHNlbGYuaXQpCisgICAgICAgICAgICAgICAgICBleGNlcHQgU3RvcEl0ZXJhdGlvbjoKKyAgICAgICAgICAgICAgICAgICAgICByZXR1cm4KICAgICAgICAgICAgICAgICAgIHNlbGYuY3VycmtleSA9IHNlbGYua2V5ZnVuYyhzZWxmLmN1cnJ2YWx1ZSkKIAogCkBAIC00MjQsNyArNDM1LDEwIEBACiAgICAgICAgICAgIyBpc2xpY2UoJ0FCQ0RFRkcnLCAwLCBOb25lLCAyKSAtLT4gQSBDIEUgRwogICAgICAgICAgIHMgPSBzbGljZSgqYXJncykKICAgICAgICAgICBpdCA9IGl0ZXIocmFuZ2Uocy5zdGFydCBvciAwLCBzLnN0b3Agb3Igc3lzLm1heHNpemUsIHMuc3RlcCBvciAxKSkKLSAgICAgICAgICBuZXh0aSA9IG5leHQoaXQpCisgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICBuZXh0aSA9IG5leHQoaXQpCisgICAgICAgICAgZXhjZXB0IFN0b3BJdGVyYXRpb246CisgICAgICAgICAgICAgIHJldHVybgogICAgICAgICAgIGZvciBpLCBlbGVtZW50IGluIGVudW1lcmF0ZShpdGVyYWJsZSk6CiAgICAgICAgICAgICAgIGlmIGkgPT0gbmV4dGk6CiAgICAgICAgICAgICAgICAgICB5aWVsZCBlbGVtZW50CkBAIC01ODIsNyArNTk2LDEwIEBACiAgICAgICAgICAgICBkZWYgZ2VuKG15ZGVxdWUpOgogICAgICAgICAgICAgICAgIHdoaWxlIFRydWU6CiAgICAgICAgICAgICAgICAgICAgIGlmIG5vdCBteWRlcXVlOiAgICAgICAgICAgICAjIHdoZW4gdGhlIGxvY2FsIGRlcXVlIGlzIGVtcHR5Ci0gICAgICAgICAgICAgICAgICAgICAgICBuZXd2YWwgPSBuZXh0KGl0KSAgICAgICAjIGZldGNoIGEgbmV3IHZhbHVlIGFuZAorICAgICAgICAgICAgICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld3ZhbCA9IG5leHQoaXQpICAgIyBmZXRjaCBhIG5ldyB2YWx1ZSBhbmQKKyAgICAgICAgICAgICAgICAgICAgICAgIGV4Y2VwdCBTdG9wSXRlcmF0aW9uOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybgogICAgICAgICAgICAgICAgICAgICAgICAgZm9yIGQgaW4gZGVxdWVzOiAgICAgICAgIyBsb2FkIGl0IHRvIGFsbCB0aGUgZGVxdWVzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZC5hcHBlbmQobmV3dmFsKQogICAgICAgICAgICAgICAgICAgICB5aWVsZCBteWRlcXVlLnBvcGxlZnQoKQpAQCAtNjU3LDYgKzY3NCwxMSBAQAogICAgICAgICJSZXR1cm4gZnVuY3Rpb24oMCksIGZ1bmN0aW9uKDEpLCAuLi4iCiAgICAgICAgcmV0dXJuIG1hcChmdW5jdGlvbiwgY291bnQoc3RhcnQpKQogCisgICBkZWYgdGFpbChuLCBpdGVyYWJsZSk6CisgICAgICAgIlJldHVybiBhbiBpdGVyYXRvciBvdmVyIHRoZSBsYXN0IG4gaXRlbXMiCisgICAgICAgIyB0YWlsKDMsICdBQkNERUZHJykgLS0+IEUgRiBHCisgICAgICAgcmV0dXJuIGl0ZXIoY29sbGVjdGlvbnMuZGVxdWUoaXRlcmFibGUsIG1heGxlbj1uKSkKKwogICAgZGVmIGNvbnN1bWUoaXRlcmF0b3IsIG4pOgogICAgICAgICJBZHZhbmNlIHRoZSBpdGVyYXRvciBuLXN0ZXBzIGFoZWFkLiBJZiBuIGlzIG5vbmUsIGNvbnN1bWUgZW50aXJlbHkuIgogICAgICAgICMgVXNlIGZ1bmN0aW9ucyB0aGF0IGNvbnN1bWUgaXRlcmF0b3JzIGF0IEMgc3BlZWQuCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9qc29uLnJzdCBiL0RvYy9saWJyYXJ5L2pzb24ucnN0CmluZGV4IDZmNWY4YjEuLjQ5YmIwOTAgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L2pzb24ucnN0CisrKyBiL0RvYy9saWJyYXJ5L2pzb24ucnN0CkBAIC0xMDYsNiArMTA2LDggQEAKICAgICAkIGVjaG8gJ3sxLjI6My40fScgfCBweXRob24gLW0ganNvbi50b29sCiAgICAgRXhwZWN0aW5nIHByb3BlcnR5IG5hbWUgZW5jbG9zZWQgaW4gZG91YmxlIHF1b3RlczogbGluZSAxIGNvbHVtbiAyIChjaGFyIDEpCiAKK1NlZSA6cmVmOmBqc29uLWNvbW1hbmRsaW5lYCBmb3IgZGV0YWlsZWQgZG9jdW1lbnRhdGlvbi4KKwogLi4gaGlnaGxpZ2h0OjogcHl0aG9uMwogCiAuLiBub3RlOjoKQEAgLTI0OCw3ICsyNTAsNyBAQAogICAgd2lsbCBiZSBwYXNzZWQgdG8gdGhlIGNvbnN0cnVjdG9yIG9mIHRoZSBjbGFzcy4KIAogICAgSWYgdGhlIGRhdGEgYmVpbmcgZGVzZXJpYWxpemVkIGlzIG5vdCBhIHZhbGlkIEpTT04gZG9jdW1lbnQsIGEKLSAgIDpleGM6YFZhbHVlRXJyb3JgIHdpbGwgYmUgcmFpc2VkLgorICAgOmV4YzpgSlNPTkRlY29kZUVycm9yYCB3aWxsIGJlIHJhaXNlZC4KIAogLi4gZnVuY3Rpb246OiBsb2FkcyhzLCBlbmNvZGluZz1Ob25lLCBjbHM9Tm9uZSwgb2JqZWN0X2hvb2s9Tm9uZSwgcGFyc2VfZmxvYXQ9Tm9uZSwgcGFyc2VfaW50PU5vbmUsIHBhcnNlX2NvbnN0YW50PU5vbmUsIG9iamVjdF9wYWlyc19ob29rPU5vbmUsICoqa3cpCiAKQEAgLTI1OSw3ICsyNjEsNyBAQAogICAgKmVuY29kaW5nKiB3aGljaCBpcyBpZ25vcmVkIGFuZCBkZXByZWNhdGVkLgogCiAgICBJZiB0aGUgZGF0YSBiZWluZyBkZXNlcmlhbGl6ZWQgaXMgbm90IGEgdmFsaWQgSlNPTiBkb2N1bWVudCwgYQotICAgOmV4YzpgVmFsdWVFcnJvcmAgd2lsbCBiZSByYWlzZWQuCisgICA6ZXhjOmBKU09ORGVjb2RlRXJyb3JgIHdpbGwgYmUgcmFpc2VkLgogCiBFbmNvZGVycyBhbmQgRGVjb2RlcnMKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLQpAQCAtMzMyLDEzICszMzQsMTYgQEAKICAgIGBgJ1xuJ2BgLCBgYCdccidgYCBhbmQgYGAnXDAnYGAuCiAKICAgIElmIHRoZSBkYXRhIGJlaW5nIGRlc2VyaWFsaXplZCBpcyBub3QgYSB2YWxpZCBKU09OIGRvY3VtZW50LCBhCi0gICA6ZXhjOmBWYWx1ZUVycm9yYCB3aWxsIGJlIHJhaXNlZC4KKyAgIDpleGM6YEpTT05EZWNvZGVFcnJvcmAgd2lsbCBiZSByYWlzZWQuCiAKICAgIC4uIG1ldGhvZDo6IGRlY29kZShzKQogCiAgICAgICBSZXR1cm4gdGhlIFB5dGhvbiByZXByZXNlbnRhdGlvbiBvZiAqcyogKGEgOmNsYXNzOmBzdHJgIGluc3RhbmNlCiAgICAgICBjb250YWluaW5nIGEgSlNPTiBkb2N1bWVudCkKIAorICAgICAgOmV4YzpgSlNPTkRlY29kZUVycm9yYCB3aWxsIGJlIHJhaXNlZCBpZiB0aGUgZ2l2ZW4gSlNPTiBkb2N1bWVudCBpcyBub3QKKyAgICAgIHZhbGlkLgorCiAgICAuLiBtZXRob2Q6OiByYXdfZGVjb2RlKHMpCiAKICAgICAgIERlY29kZSBhIEpTT04gZG9jdW1lbnQgZnJvbSAqcyogKGEgOmNsYXNzOmBzdHJgIGJlZ2lubmluZyB3aXRoIGEKQEAgLTQ2Nyw2ICs0NzIsMzYgQEAKICAgICAgICAgICAgICAgICBteXNvY2tldC53cml0ZShjaHVuaykKIAogCitFeGNlcHRpb25zCistLS0tLS0tLS0tCisKKy4uIGV4Y2VwdGlvbjo6IEpTT05EZWNvZGVFcnJvcihtc2csIGRvYywgcG9zLCBlbmQ9Tm9uZSkKKworICAgIFN1YmNsYXNzIG9mIDpleGM6YFZhbHVlRXJyb3JgIHdpdGggdGhlIGZvbGxvd2luZyBhZGRpdGlvbmFsIGF0dHJpYnV0ZXM6CisKKyAgICAuLiBhdHRyaWJ1dGU6OiBtc2cKKworICAgICAgICBUaGUgdW5mb3JtYXR0ZWQgZXJyb3IgbWVzc2FnZS4KKworICAgIC4uIGF0dHJpYnV0ZTo6IGRvYworCisgICAgICAgIFRoZSBKU09OIGRvY3VtZW50IGJlaW5nIHBhcnNlZC4KKworICAgIC4uIGF0dHJpYnV0ZTo6IHBvcworCisgICAgICAgIFRoZSBzdGFydCBpbmRleCBvZiAqZG9jKiB3aGVyZSBwYXJzaW5nIGZhaWxlZC4KKworICAgIC4uIGF0dHJpYnV0ZTo6IGxpbmVubworCisgICAgICAgIFRoZSBsaW5lIGNvcnJlc3BvbmRpbmcgdG8gKnBvcyouCisKKyAgICAuLiBhdHRyaWJ1dGU6OiBjb2xubworCisgICAgICAgIFRoZSBjb2x1bW4gY29ycmVzcG9uZGluZyB0byAqcG9zKi4KKworICAgLi4gdmVyc2lvbmFkZGVkOjogMy41CisKKwogU3RhbmRhcmQgQ29tcGxpYW5jZSBhbmQgSW50ZXJvcGVyYWJpbGl0eQogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCkBAIC01ODgsNiArNjIzLDY4IEBACiB3aGVuIHNlcmlhbGl6aW5nIGluc3RhbmNlcyBvZiAiZXhvdGljIiBudW1lcmljYWwgdHlwZXMgc3VjaCBhcwogOmNsYXNzOmBkZWNpbWFsLkRlY2ltYWxgLgogCisuLiBoaWdobGlnaHQ6OiBiYXNoCisuLiBtb2R1bGU6OiBqc29uLnRvb2wKKworLi4gX2pzb24tY29tbWFuZGxpbmU6CisKK0NvbW1hbmQgTGluZSBJbnRlcmZhY2UKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworVGhlIDptb2Q6YGpzb24udG9vbGAgbW9kdWxlIHByb3ZpZGVzIGEgc2ltcGxlIGNvbW1hbmQgbGluZSBpbnRlcmZhY2UgdG8gdmFsaWRhdGUKK2FuZCBwcmV0dHktcHJpbnQgSlNPTiBvYmplY3RzLgorCitJZiB0aGUgb3B0aW9uYWwgYGBpbmZpbGVgYCBhbmQgYGBvdXRmaWxlYGAgYXJndW1lbnRzIGFyZSBub3QKK3NwZWNpZmllZCwgOmF0dHI6YHN5cy5zdGRpbmAgYW5kIDphdHRyOmBzeXMuc3Rkb3V0YCB3aWxsIGJlIHVzZWQgcmVzcGVjdGl2ZWx5OjoKKworICAgICQgZWNobyAneyJqc29uIjogIm9iaiJ9JyB8IHB5dGhvbiAtbSBqc29uLnRvb2wKKyAgICB7CisgICAgICAgICJqc29uIjogIm9iaiIKKyAgICB9CisgICAgJCBlY2hvICd7MS4yOjMuNH0nIHwgcHl0aG9uIC1tIGpzb24udG9vbAorICAgIEV4cGVjdGluZyBwcm9wZXJ0eSBuYW1lIGVuY2xvc2VkIGluIGRvdWJsZSBxdW90ZXM6IGxpbmUgMSBjb2x1bW4gMiAoY2hhciAxKQorCisuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuNQorICAgVGhlIG91dHB1dCBpcyBub3cgaW4gdGhlIHNhbWUgb3JkZXIgYXMgdGhlIGlucHV0LiBVc2UgdGhlCisgICA6b3B0aW9uOmAtLXNvcnQta2V5c2Agb3B0aW9uIHRvIHNvcnQgdGhlIG91dHB1dCBvZiBkaWN0aW9uYXJpZXMKKyAgIGFscGhhYmV0aWNhbGx5IGJ5IGtleS4KKworQ29tbWFuZCBsaW5lIG9wdGlvbnMKK15eXl5eXl5eXl5eXl5eXl5eXl5eCisKKy4uIGNtZG9wdGlvbjo6IGluZmlsZQorCisgICBUaGUgSlNPTiBmaWxlIHRvIGJlIHZhbGlkYXRlZCBvciBwcmV0dHktcHJpbnRlZDo6CisKKyAgICAgICQgcHl0aG9uIC1tIGpzb24udG9vbCBtcF9maWxtcy5qc29uCisgICAgICBbCisgICAgICAgICAgeworICAgICAgICAgICAgICAidGl0bGUiOiAiQW5kIE5vdyBmb3IgU29tZXRoaW5nIENvbXBsZXRlbHkgRGlmZmVyZW50IiwKKyAgICAgICAgICAgICAgInllYXIiOiAxOTcxCisgICAgICAgICAgfSwKKyAgICAgICAgICB7CisgICAgICAgICAgICAgICJ0aXRsZSI6ICJNb250eSBQeXRob24gYW5kIHRoZSBIb2x5IEdyYWlsIiwKKyAgICAgICAgICAgICAgInllYXIiOiAxOTc1CisgICAgICAgICAgfQorICAgICAgXQorCisgICBJZiAqaW5maWxlKiBpcyBub3Qgc3BlY2lmaWVkLCByZWFkIGZyb20gOmF0dHI6YHN5cy5zdGRpbmAuCisKKy4uIGNtZG9wdGlvbjo6IG91dGZpbGUKKworICAgV3JpdGUgdGhlIG91dHB1dCBvZiB0aGUgKmluZmlsZSogdG8gdGhlIGdpdmVuICpvdXRmaWxlKi4gT3RoZXJ3aXNlLCB3cml0ZSBpdAorICAgdG8gOmF0dHI6YHN5cy5zdGRvdXRgLgorCisuLiBjbWRvcHRpb246OiAtLXNvcnQta2V5cworCisgICBTb3J0IHRoZSBvdXRwdXQgb2YgZGljdGlvbmFyaWVzIGFscGhhYmV0aWNhbGx5IGJ5IGtleS4KKworICAgLi4gdmVyc2lvbmFkZGVkOjogMy41CisKKy4uIGNtZG9wdGlvbjo6IC1oLCAtLWhlbHAKKworICAgU2hvdyB0aGUgaGVscCBtZXNzYWdlLgorCiAKIC4uIHJ1YnJpYzo6IEZvb3Rub3RlcwogCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9saW5lY2FjaGUucnN0IGIvRG9jL2xpYnJhcnkvbGluZWNhY2hlLnJzdAppbmRleCBkYWNmOGFhLi4xMmQwMTEzIDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS9saW5lY2FjaGUucnN0CisrKyBiL0RvYy9saWJyYXJ5L2xpbmVjYWNoZS5yc3QKQEAgLTQzLDYgKzQzLDE0IEBACiAgICBjaGFuZ2VkIG9uIGRpc2ssIGFuZCB5b3UgcmVxdWlyZSB0aGUgdXBkYXRlZCB2ZXJzaW9uLiAgSWYgKmZpbGVuYW1lKiBpcyBvbWl0dGVkLAogICAgaXQgd2lsbCBjaGVjayBhbGwgdGhlIGVudHJpZXMgaW4gdGhlIGNhY2hlLgogCisuLiBmdW5jdGlvbjo6IGxhenljYWNoZShmaWxlbmFtZSwgbW9kdWxlX2dsb2JhbHMpCisKKyAgIENhcHR1cmUgZW5vdWdoIGRldGFpbCBhYm91dCBhIG5vbi1maWxlIGJhc2VkIG1vZHVsZSB0byBwZXJtaXQgZ2V0dGluZyBpdHMKKyAgIGxpbmVzIGxhdGVyIHZpYSA6ZnVuYzpgZ2V0bGluZWAgZXZlbiBpZiAqbW9kdWxlX2dsb2JhbHMqIGlzIE5vbmUgaW4gdGhlIGxhdGVyCisgICBjYWxsLiBUaGlzIGF2b2lkcyBkb2luZyBJL08gdW50aWwgYSBsaW5lIGlzIGFjdHVhbGx5IG5lZWRlZCwgd2l0aG91dCBoYXZpbmcKKyAgIHRvIGNhcnJ5IHRoZSBtb2R1bGUgZ2xvYmFscyBhcm91bmQgaW5kZWZpbml0ZWx5LgorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjUKIAogRXhhbXBsZTo6CiAKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L2xvY2FsZS5yc3QgYi9Eb2MvbGlicmFyeS9sb2NhbGUucnN0CmluZGV4IDk2MDAxOTMuLmJjN2Y1ZjkgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L2xvY2FsZS5yc3QKKysrIGIvRG9jL2xpYnJhcnkvbG9jYWxlLnJzdApAQCAtMzg3LDYgKzM4NywxNCBAQAogICAgYGBzdHIoZmxvYXQpYGAsIGJ1dCB0YWtlcyB0aGUgZGVjaW1hbCBwb2ludCBpbnRvIGFjY291bnQuCiAKIAorLi4gZnVuY3Rpb246OiBkZWxvY2FsaXplKHN0cmluZykKKworICAgIENvbnZlcnRzIGEgc3RyaW5nIGludG8gYSBub3JtYWxpemVkIG51bWJlciBzdHJpbmcsIGZvbGxvd2luZyB0aGUKKyAgICA6Y29uc3Q6YExDX05VTUVSSUNgIHNldHRpbmdzLgorCisgICAgLi4gdmVyc2lvbmFkZGVkOjogMy41CisKKwogLi4gZnVuY3Rpb246OiBhdG9mKHN0cmluZykKIAogICAgQ29udmVydHMgYSBzdHJpbmcgdG8gYSBmbG9hdGluZyBwb2ludCBudW1iZXIsIGZvbGxvd2luZyB0aGUgOmNvbnN0OmBMQ19OVU1FUklDYApkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvbG9nZ2luZy5oYW5kbGVycy5yc3QgYi9Eb2MvbGlicmFyeS9sb2dnaW5nLmhhbmRsZXJzLnJzdAppbmRleCA2M2FiYTFlLi42NzQwM2E5IDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS9sb2dnaW5nLmhhbmRsZXJzLnJzdAorKysgYi9Eb2MvbGlicmFyeS9sb2dnaW5nLmhhbmRsZXJzLnJzdApAQCAtNDM2LDcgKzQzNiw3IEBACiAgICAuLiBtZXRob2Q6OiBjcmVhdGVTb2NrZXQoKQogCiAgICAgICBUcmllcyB0byBjcmVhdGUgYSBzb2NrZXQ7IG9uIGZhaWx1cmUsIHVzZXMgYW4gZXhwb25lbnRpYWwgYmFjay1vZmYKLSAgICAgIGFsZ29yaXRobS4gIE9uIGludGlhbCBmYWlsdXJlLCB0aGUgaGFuZGxlciB3aWxsIGRyb3AgdGhlIG1lc3NhZ2UgaXQgd2FzCisgICAgICBhbGdvcml0aG0uICBPbiBpbml0aWFsIGZhaWx1cmUsIHRoZSBoYW5kbGVyIHdpbGwgZHJvcCB0aGUgbWVzc2FnZSBpdCB3YXMKICAgICAgIHRyeWluZyB0byBzZW5kLiAgV2hlbiBzdWJzZXF1ZW50IG1lc3NhZ2VzIGFyZSBoYW5kbGVkIGJ5IHRoZSBzYW1lCiAgICAgICBpbnN0YW5jZSwgaXQgd2lsbCBub3QgdHJ5IGNvbm5lY3RpbmcgdW50aWwgc29tZSB0aW1lIGhhcyBwYXNzZWQuICBUaGUKICAgICAgIGRlZmF1bHQgcGFyYW1ldGVycyBhcmUgc3VjaCB0aGF0IHRoZSBpbml0aWFsIGRlbGF5IGlzIG9uZSBzZWNvbmQsIGFuZCBpZgpAQCAtODUzLDcgKzg1Myw3IEBACiAgICBjcmVkZW50aWFscywgeW91IHNob3VsZCBhbHNvIHNwZWNpZnkgc2VjdXJlPVRydWUgc28gdGhhdCB5b3VyIHVzZXJpZCBhbmQKICAgIHBhc3N3b3JkIGFyZSBub3QgcGFzc2VkIGluIGNsZWFydGV4dCBhY3Jvc3MgdGhlIHdpcmUuCiAKLSAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy40LjMKKyAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy41CiAgICAgICBUaGUgKmNvbnRleHQqIHBhcmFtZXRlciB3YXMgYWRkZWQuCiAKICAgIC4uIG1ldGhvZDo6IG1hcExvZ1JlY29yZChyZWNvcmQpCkBAIC05NTMsMTMgKzk1MywyMCBAQAogcG9zc2libGUsIHdoaWxlIGFueSBwb3RlbnRpYWxseSBzbG93IG9wZXJhdGlvbnMgKHN1Y2ggYXMgc2VuZGluZyBhbiBlbWFpbCB2aWEKIDpjbGFzczpgU01UUEhhbmRsZXJgKSBhcmUgZG9uZSBvbiBhIHNlcGFyYXRlIHRocmVhZC4KIAotLi4gY2xhc3M6OiBRdWV1ZUxpc3RlbmVyKHF1ZXVlLCAqaGFuZGxlcnMpCisuLiBjbGFzczo6IFF1ZXVlTGlzdGVuZXIocXVldWUsICpoYW5kbGVycywgcmVzcGVjdF9oYW5kbGVyX2xldmVsPUZhbHNlKQogCiAgICBSZXR1cm5zIGEgbmV3IGluc3RhbmNlIG9mIHRoZSA6Y2xhc3M6YFF1ZXVlTGlzdGVuZXJgIGNsYXNzLiBUaGUgaW5zdGFuY2UgaXMKICAgIGluaXRpYWxpemVkIHdpdGggdGhlIHF1ZXVlIHRvIHNlbmQgbWVzc2FnZXMgdG8gYW5kIGEgbGlzdCBvZiBoYW5kbGVycyB3aGljaAogICAgd2lsbCBoYW5kbGUgZW50cmllcyBwbGFjZWQgb24gdGhlIHF1ZXVlLiBUaGUgcXVldWUgY2FuIGJlIGFueSBxdWV1ZS0KICAgIGxpa2Ugb2JqZWN0OyBpdCdzIHBhc3NlZCBhcy1pcyB0byB0aGUgOm1ldGg6YGRlcXVldWVgIG1ldGhvZCwgd2hpY2ggbmVlZHMKLSAgIHRvIGtub3cgaG93IHRvIGdldCBtZXNzYWdlcyBmcm9tIGl0LgorICAgdG8ga25vdyBob3cgdG8gZ2V0IG1lc3NhZ2VzIGZyb20gaXQuIElmIGBgcmVzcGVjdF9oYW5kbGVyX2xldmVsYGAgaXMgYGBUcnVlYGAsCisgICBhIGhhbmRsZXIncyBsZXZlbCBpcyByZXNwZWN0ZWQgKGNvbXBhcmVkIHdpdGggdGhlIGxldmVsIGZvciB0aGUgbWVzc2FnZSkgd2hlbgorICAgZGVjaWRpbmcgd2hldGhlciB0byBwYXNzIG1lc3NhZ2VzIHRvIHRoYXQgaGFuZGxlcjsgb3RoZXJ3aXNlLCB0aGUgYmVoYXZpb3VyCisgICBpcyBhcyBpbiBwcmV2aW91cyBQeXRob24gdmVyc2lvbnMgLSB0byBhbHdheXMgcGFzcyBlYWNoIG1lc3NhZ2UgdG8gZWFjaAorICAgaGFuZGxlci4KKworICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjUKKyAgICAgIFRoZSBgYHJlc3BlY3RfaGFuZGxlcl9sZXZlbHNgYCBhcmd1bWVudCB3YXMgYWRkZWQuCiAKICAgIC4uIG1ldGhvZDo6IGRlcXVldWUoYmxvY2spCiAKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L2xvZ2dpbmcucnN0IGIvRG9jL2xpYnJhcnkvbG9nZ2luZy5yc3QKaW5kZXggOTY4NjFhNy4uNzkxNWMyNyAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvbG9nZ2luZy5yc3QKKysrIGIvRG9jL2xpYnJhcnkvbG9nZ2luZy5yc3QKQEAgLTE1OSwxMSArMTU5LDEzIEBACiAgICAqbXNnKiB1c2luZyB0aGUgc3RyaW5nIGZvcm1hdHRpbmcgb3BlcmF0b3IuIChOb3RlIHRoYXQgdGhpcyBtZWFucyB0aGF0IHlvdSBjYW4KICAgIHVzZSBrZXl3b3JkcyBpbiB0aGUgZm9ybWF0IHN0cmluZywgdG9nZXRoZXIgd2l0aCBhIHNpbmdsZSBkaWN0aW9uYXJ5IGFyZ3VtZW50LikKIAotICAgVGhlcmUgYXJlIHRocmVlIGtleXdvcmQgYXJndW1lbnRzIGluICprd2FyZ3MqIHdoaWNoIGFyZSBpbnNwZWN0ZWQ6ICpleGNfaW5mbyoKLSAgIHdoaWNoLCBpZiBpdCBkb2VzIG5vdCBldmFsdWF0ZSBhcyBmYWxzZSwgY2F1c2VzIGV4Y2VwdGlvbiBpbmZvcm1hdGlvbiB0byBiZQorICAgVGhlcmUgYXJlIHRocmVlIGtleXdvcmQgYXJndW1lbnRzIGluICprd2FyZ3MqIHdoaWNoIGFyZSBpbnNwZWN0ZWQ6CisgICAqZXhjX2luZm8qLCAqc3RhY2tfaW5mbyosIGFuZCAqZXh0cmEqLgorCisgICBJZiAqZXhjX2luZm8qIGRvZXMgbm90IGV2YWx1YXRlIGFzIGZhbHNlLCBpdCBjYXVzZXMgZXhjZXB0aW9uIGluZm9ybWF0aW9uIHRvIGJlCiAgICBhZGRlZCB0byB0aGUgbG9nZ2luZyBtZXNzYWdlLiBJZiBhbiBleGNlcHRpb24gdHVwbGUgKGluIHRoZSBmb3JtYXQgcmV0dXJuZWQgYnkKLSAgIDpmdW5jOmBzeXMuZXhjX2luZm9gKSBpcyBwcm92aWRlZCwgaXQgaXMgdXNlZDsgb3RoZXJ3aXNlLCA6ZnVuYzpgc3lzLmV4Y19pbmZvYAotICAgaXMgY2FsbGVkIHRvIGdldCB0aGUgZXhjZXB0aW9uIGluZm9ybWF0aW9uLgorICAgOmZ1bmM6YHN5cy5leGNfaW5mb2ApIG9yIGFuIGV4Y2VwdGlvbiBpbnN0YW5jZSBpcyBwcm92aWRlZCwgaXQgaXMgdXNlZDsKKyAgIG90aGVyd2lzZSwgOmZ1bmM6YHN5cy5leGNfaW5mb2AgaXMgY2FsbGVkIHRvIGdldCB0aGUgZXhjZXB0aW9uIGluZm9ybWF0aW9uLgogCiAgICBUaGUgc2Vjb25kIG9wdGlvbmFsIGtleXdvcmQgYXJndW1lbnQgaXMgKnN0YWNrX2luZm8qLCB3aGljaCBkZWZhdWx0cyB0bwogICAgYGBGYWxzZWBgLiBJZiB0cnVlLCBzdGFjayBpbmZvcm1hdGlvbiBpcyBhZGRlZCB0byB0aGUgbG9nZ2luZwpAQCAtMjIwLDYgKzIyMiw5IEBACiAgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjIKICAgICAgIFRoZSAqc3RhY2tfaW5mbyogcGFyYW1ldGVyIHdhcyBhZGRlZC4KIAorICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjUKKyAgICAgIFRoZSAqZXhjX2luZm8qIHBhcmFtZXRlciBjYW4gbm93IGFjY2VwdCBleGNlcHRpb24gaW5zdGFuY2VzLgorCiAKIC4uIG1ldGhvZDo6IExvZ2dlci5pbmZvKG1zZywgKmFyZ3MsICoqa3dhcmdzKQogCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9sem1hLnJzdCBiL0RvYy9saWJyYXJ5L2x6bWEucnN0CmluZGV4IGI3MTA1MWQuLjk5ZjA3ZGMgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L2x6bWEucnN0CisrKyBiL0RvYy9saWJyYXJ5L2x6bWEucnN0CkBAIC0yMjEsMTMgKzIyMSwzMiBAQAogICAgICAgZGVjb21wcmVzcyBhIG11bHRpLXN0cmVhbSBpbnB1dCB3aXRoIDpjbGFzczpgTFpNQURlY29tcHJlc3NvcmAsIHlvdSBtdXN0CiAgICAgICBjcmVhdGUgYSBuZXcgZGVjb21wcmVzc29yIGZvciBlYWNoIHN0cmVhbS4KIAotICAgLi4gbWV0aG9kOjogZGVjb21wcmVzcyhkYXRhKQorICAgLi4gbWV0aG9kOjogZGVjb21wcmVzcyhkYXRhLCBtYXhfbGVuZ3RoPS0xKQogCi0gICAgICBEZWNvbXByZXNzICpkYXRhKiAoYSA6Y2xhc3M6YGJ5dGVzYCBvYmplY3QpLCByZXR1cm5pbmcgYSA6Y2xhc3M6YGJ5dGVzYAotICAgICAgb2JqZWN0IGNvbnRhaW5pbmcgdGhlIGRlY29tcHJlc3NlZCBkYXRhIGZvciBhdCBsZWFzdCBwYXJ0IG9mIHRoZSBpbnB1dC4KLSAgICAgIFNvbWUgb2YgKmRhdGEqIG1heSBiZSBidWZmZXJlZCBpbnRlcm5hbGx5LCBmb3IgdXNlIGluIGxhdGVyIGNhbGxzIHRvCi0gICAgICA6bWV0aDpgZGVjb21wcmVzc2AuIFRoZSByZXR1cm5lZCBkYXRhIHNob3VsZCBiZSBjb25jYXRlbmF0ZWQgd2l0aCB0aGUKLSAgICAgIG91dHB1dCBvZiBhbnkgcHJldmlvdXMgY2FsbHMgdG8gOm1ldGg6YGRlY29tcHJlc3NgLgorICAgICAgRGVjb21wcmVzcyAqZGF0YSogKGEgOnRlcm06YGJ5dGVzLWxpa2Ugb2JqZWN0YCksIHJldHVybmluZworICAgICAgdW5jb21wcmVzc2VkIGRhdGEgYXMgYnl0ZXMuIFNvbWUgb2YgKmRhdGEqIG1heSBiZSBidWZmZXJlZAorICAgICAgaW50ZXJuYWxseSwgZm9yIHVzZSBpbiBsYXRlciBjYWxscyB0byA6bWV0aDpgZGVjb21wcmVzc2AuIFRoZQorICAgICAgcmV0dXJuZWQgZGF0YSBzaG91bGQgYmUgY29uY2F0ZW5hdGVkIHdpdGggdGhlIG91dHB1dCBvZiBhbnkKKyAgICAgIHByZXZpb3VzIGNhbGxzIHRvIDptZXRoOmBkZWNvbXByZXNzYC4KKworICAgICAgSWYgKm1heF9sZW5ndGgqIGlzIG5vbm5lZ2F0aXZlLCByZXR1cm5zIGF0IG1vc3QgKm1heF9sZW5ndGgqCisgICAgICBieXRlcyBvZiBkZWNvbXByZXNzZWQgZGF0YS4gSWYgdGhpcyBsaW1pdCBpcyByZWFjaGVkIGFuZCBmdXJ0aGVyCisgICAgICBvdXRwdXQgY2FuIGJlIHByb2R1Y2VkLCB0aGUgOmF0dHI6YH4ubmVlZHNfaW5wdXRgIGF0dHJpYnV0ZSB3aWxsCisgICAgICBiZSBzZXQgdG8gYGBGYWxzZWBgLiBJbiB0aGlzIGNhc2UsIHRoZSBuZXh0IGNhbGwgdG8KKyAgICAgIDptZXRoOmB+LmRlY29tcHJlc3NgIG1heSBwcm92aWRlICpkYXRhKiBhcyBgYGInJ2BgIHRvIG9idGFpbgorICAgICAgbW9yZSBvZiB0aGUgb3V0cHV0LgorCisgICAgICBJZiBhbGwgb2YgdGhlIGlucHV0IGRhdGEgd2FzIGRlY29tcHJlc3NlZCBhbmQgcmV0dXJuZWQgKGVpdGhlcgorICAgICAgYmVjYXVzZSB0aGlzIHdhcyBsZXNzIHRoYW4gKm1heF9sZW5ndGgqIGJ5dGVzLCBvciBiZWNhdXNlCisgICAgICAqbWF4X2xlbmd0aCogd2FzIG5lZ2F0aXZlKSwgdGhlIDphdHRyOmB+Lm5lZWRzX2lucHV0YCBhdHRyaWJ1dGUKKyAgICAgIHdpbGwgYmUgc2V0IHRvIGBgVHJ1ZWBgLgorCisgICAgICBBdHRlbXB0aW5nIHRvIGRlY29tcHJlc3MgZGF0YSBhZnRlciB0aGUgZW5kIG9mIHN0cmVhbSBpcyByZWFjaGVkCisgICAgICByYWlzZXMgYW4gYEVPRkVycm9yYC4gIEFueSBkYXRhIGZvdW5kIGFmdGVyIHRoZSBlbmQgb2YgdGhlCisgICAgICBzdHJlYW0gaXMgaWdub3JlZCBhbmQgc2F2ZWQgaW4gdGhlIDphdHRyOmB+LnVudXNlZF9kYXRhYCBhdHRyaWJ1dGUuCisKKyAgICAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy41CisgICAgICAgICBBZGRlZCB0aGUgKm1heF9sZW5ndGgqIHBhcmFtZXRlci4KIAogICAgLi4gYXR0cmlidXRlOjogY2hlY2sKIApAQCAtMjQ1LDYgKzI2NCwxMiBAQAogCiAgICAgICBCZWZvcmUgdGhlIGVuZCBvZiB0aGUgc3RyZWFtIGlzIHJlYWNoZWQsIHRoaXMgd2lsbCBiZSBgYGIiImBgLgogCisgICAuLiBhdHRyaWJ1dGU6OiBuZWVkc19pbnB1dAorCisgICAgICBgYEZhbHNlYGAgaWYgdGhlIDptZXRoOmAuZGVjb21wcmVzc2AgbWV0aG9kIGNhbiBwcm92aWRlIG1vcmUKKyAgICAgIGRlY29tcHJlc3NlZCBkYXRhIGJlZm9yZSByZXF1aXJpbmcgbmV3IHVuY29tcHJlc3NlZCBpbnB1dC4KKworICAgICAgLi4gdmVyc2lvbmFkZGVkOjogMy41CiAKIC4uIGZ1bmN0aW9uOjogY29tcHJlc3MoZGF0YSwgZm9ybWF0PUZPUk1BVF9YWiwgY2hlY2s9LTEsIHByZXNldD1Ob25lLCBmaWx0ZXJzPU5vbmUpCiAKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L21hdGgucnN0IGIvRG9jL2xpYnJhcnkvbWF0aC5yc3QKaW5kZXggM2M0MTY3Mi4uZWRhMDA1NiAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvbWF0aC5yc3QKKysrIGIvRG9jL2xpYnJhcnkvbWF0aC5yc3QKQEAgLTM4Myw2ICszODMsMjIgQEAKICAgIFRoZSBtYXRoZW1hdGljYWwgY29uc3RhbnQgZSA9IDIuNzE4MjgxLi4uLCB0byBhdmFpbGFibGUgcHJlY2lzaW9uLgogCiAKKy4uIGRhdGE6OiBpbmYKKworICAgQSBmbG9hdGluZy1wb2ludCBwb3NpdGl2ZSBpbmZpbml0eS4gIChGb3IgbmVnYXRpdmUgaW5maW5pdHksIHVzZQorICAgYGAtbWF0aC5pbmZgYC4pICBFcXVpdmFsZW50IHRvIHRoZSBvdXRwdXQgb2YgYGBmbG9hdCgnaW5mJylgYC4KKworICAgLi4gdmVyc2lvbmFkZGVkOjogMy41CisKKworLi4gZGF0YTo6IG5hbgorCisgICBBIGZsb2F0aW5nLXBvaW50ICJub3QgYSBudW1iZXIiIChOYU4pIHZhbHVlLiAgRXF1aXZhbGVudCB0byB0aGUgb3V0cHV0IG9mCisgICBgYGZsb2F0KCduYW4nKWBgLgorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjUKKworCiAuLiBpbXBsLWRldGFpbDo6CiAKICAgIFRoZSA6bW9kOmBtYXRoYCBtb2R1bGUgY29uc2lzdHMgbW9zdGx5IG9mIHRoaW4gd3JhcHBlcnMgYXJvdW5kIHRoZSBwbGF0Zm9ybSBDCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9tdWx0aXByb2Nlc3NpbmcucnN0IGIvRG9jL2xpYnJhcnkvbXVsdGlwcm9jZXNzaW5nLnJzdAppbmRleCBlY2FjNWIwLi40YjgyOWFmIDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS9tdWx0aXByb2Nlc3NpbmcucnN0CisrKyBiL0RvYy9saWJyYXJ5L211bHRpcHJvY2Vzc2luZy5yc3QKQEAgLTEzNDQsNiArMTM0NCw5IEBACiAgICBOb3RlIHRoYXQgYWNjZXNzaW5nIHRoZSBjdHlwZXMgb2JqZWN0IHRocm91Z2ggdGhlIHdyYXBwZXIgY2FuIGJlIGEgbG90IHNsb3dlcgogICAgdGhhbiBhY2Nlc3NpbmcgdGhlIHJhdyBjdHlwZXMgb2JqZWN0LgogCisgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuNQorICAgICAgU3luY2hyb25pemVkIG9iamVjdHMgc3VwcG9ydCB0aGUgOnRlcm06YGNvbnRleHQgbWFuYWdlcmAgcHJvdG9jb2wuCisKIAogVGhlIHRhYmxlIGJlbG93IGNvbXBhcmVzIHRoZSBzeW50YXggZm9yIGNyZWF0aW5nIHNoYXJlZCBjdHlwZXMgb2JqZWN0cyBmcm9tCiBzaGFyZWQgbWVtb3J5IHdpdGggdGhlIG5vcm1hbCBjdHlwZXMgc3ludGF4LiAgKEluIHRoZSB0YWJsZSBgYE15U3RydWN0YGAgaXMgc29tZQpkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvb3BlcmF0b3IucnN0IGIvRG9jL2xpYnJhcnkvb3BlcmF0b3IucnN0CmluZGV4IGY5ZTJhM2QuLmMwMWU2M2IgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L29wZXJhdG9yLnJzdAorKysgYi9Eb2MvbGlicmFyeS9vcGVyYXRvci5yc3QKQEAgLTEzOCw2ICsxMzgsMTQgQEAKICAgIFJldHVybiBgYGEgKiBiYGAsIGZvciAqYSogYW5kICpiKiBudW1iZXJzLgogCiAKKy4uIGZ1bmN0aW9uOjogbWF0bXVsKGEsIGIpCisgICAgICAgICAgICAgIF9fbWF0bXVsX18oYSwgYikKKworICAgUmV0dXJuIGBgYSBAIGJgYC4KKworICAgLi4gdmVyc2lvbmFkZGVkOjogMy41CisKKwogLi4gZnVuY3Rpb246OiBuZWcob2JqKQogICAgICAgICAgICAgICBfX25lZ19fKG9iaikKIApAQCAtMzkxLDYgKzM5OSw4IEBACiArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCiB8IE11bHRpcGxpY2F0aW9uICAgICAgICB8IGBgYSAqIGJgYCAgICAgICAgICAgICAgIHwgYGBtdWwoYSwgYilgYCAgICAgICAgICAgICAgICAgICAgICAgICB8CiArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCit8IE1hdHJpeCBNdWx0aXBsaWNhdGlvbiB8IGBgYSBAIGJgYCAgICAgICAgICAgICAgIHwgYGBtYXRtdWwoYSwgYilgYCAgICAgICAgICAgICAgICAgICAgICB8CisrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCiB8IE5lZ2F0aW9uIChBcml0aG1ldGljKSB8IGBgLSBhYGAgICAgICAgICAgICAgICAgIHwgYGBuZWcoYSlgYCAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CiArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCiB8IE5lZ2F0aW9uIChMb2dpY2FsKSAgICB8IGBgbm90IGFgYCAgICAgICAgICAgICAgIHwgYGBub3RfKGEpYGAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CkBAIC00OTksNiArNTA5LDE0IEBACiAgICBgYGEgPSBpbXVsKGEsIGIpYGAgaXMgZXF1aXZhbGVudCB0byBgYGEgKj0gYmBgLgogCiAKKy4uIGZ1bmN0aW9uOjogaW1hdG11bChhLCBiKQorICAgICAgICAgICAgICBfX2ltYXRtdWxfXyhhLCBiKQorCisgICBgYGEgPSBpbWF0bXVsKGEsIGIpYGAgaXMgZXF1aXZhbGVudCB0byBgYGEgQD0gYmBgLgorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjUKKworCiAuLiBmdW5jdGlvbjo6IGlvcihhLCBiKQogICAgICAgICAgICAgICBfX2lvcl9fKGEsIGIpCiAKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L29zLnJzdCBiL0RvYy9saWJyYXJ5L29zLnJzdAppbmRleCA5OGVlODQyLi4yNDY3YzYwIDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS9vcy5yc3QKKysrIGIvRG9jL2xpYnJhcnkvb3MucnN0CkBAIC03OCw5ICs3OCwxMCBAQAogCiAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuMQogICAgT24gc29tZSBzeXN0ZW1zLCBjb252ZXJzaW9uIHVzaW5nIHRoZSBmaWxlIHN5c3RlbSBlbmNvZGluZyBtYXkgZmFpbC4gSW4gdGhpcwotICAgY2FzZSwgUHl0aG9uIHVzZXMgdGhlIGBgc3Vycm9nYXRlZXNjYXBlYGAgZW5jb2RpbmcgZXJyb3IgaGFuZGxlciwgd2hpY2ggbWVhbnMKLSAgIHRoYXQgdW5kZWNvZGFibGUgYnl0ZXMgYXJlIHJlcGxhY2VkIGJ5IGEgVW5pY29kZSBjaGFyYWN0ZXIgVStEQ3h4IG9uCi0gICBkZWNvZGluZywgYW5kIHRoZXNlIGFyZSBhZ2FpbiB0cmFuc2xhdGVkIHRvIHRoZSBvcmlnaW5hbCBieXRlIG9uIGVuY29kaW5nLgorICAgY2FzZSwgUHl0aG9uIHVzZXMgdGhlIDpyZWY6YHN1cnJvZ2F0ZWVzY2FwZSBlbmNvZGluZyBlcnJvciBoYW5kbGVyCisgICA8c3Vycm9nYXRlZXNjYXBlPmAsIHdoaWNoIG1lYW5zIHRoYXQgdW5kZWNvZGFibGUgYnl0ZXMgYXJlIHJlcGxhY2VkIGJ5IGEKKyAgIFVuaWNvZGUgY2hhcmFjdGVyIFUrREN4eCBvbiBkZWNvZGluZywgYW5kIHRoZXNlIGFyZSBhZ2FpbiB0cmFuc2xhdGVkIHRvIHRoZQorICAgb3JpZ2luYWwgYnl0ZSBvbiBlbmNvZGluZy4KIAogCiBUaGUgZmlsZSBzeXN0ZW0gZW5jb2RpbmcgbXVzdCBndWFyYW50ZWUgdG8gc3VjY2Vzc2Z1bGx5IGRlY29kZSBhbGwgYnl0ZXMKQEAgLTgwNyw2ICs4MDgsMTcgQEAKICAgIEF2YWlsYWJpbGl0eTogVW5peC4KIAogCisuLiBmdW5jdGlvbjo6IGdldF9ibG9ja2luZyhmZCkKKworICAgR2V0IHRoZSBibG9ja2luZyBtb2RlIG9mIHRoZSBmaWxlIGRlc2NyaXB0b3I6IGBgRmFsc2VgYCBpZiB0aGUKKyAgIDpkYXRhOmBPX05PTkJMT0NLYCBmbGFnIGlzIHNldCwgYGBUcnVlYGAgaWYgdGhlIGZsYWcgaXMgY2xlYXJlZC4KKworICAgU2VlIGFsc28gOmZ1bmM6YHNldF9ibG9ja2luZ2AgYW5kIDptZXRoOmBzb2NrZXQuc29ja2V0LnNldGJsb2NraW5nYC4KKworICAgQXZhaWxhYmlsaXR5OiBVbml4LgorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjUKKwogLi4gZnVuY3Rpb246OiBpc2F0dHkoZmQpCiAKICAgIFJldHVybiBgYFRydWVgYCBpZiB0aGUgZmlsZSBkZXNjcmlwdG9yICpmZCogaXMgb3BlbiBhbmQgY29ubmVjdGVkIHRvIGEKQEAgLTExMDcsNiArMTExOSwxOCBAQAogICAgLi4gdmVyc2lvbmFkZGVkOjogMy4zCiAKIAorLi4gZnVuY3Rpb246OiBzZXRfYmxvY2tpbmcoZmQsIGJsb2NraW5nKQorCisgICBTZXQgdGhlIGJsb2NraW5nIG1vZGUgb2YgdGhlIHNwZWNpZmllZCBmaWxlIGRlc2NyaXB0b3IuIFNldCB0aGUKKyAgIDpkYXRhOmBPX05PTkJMT0NLYCBmbGFnIGlmIGJsb2NraW5nIGlzIGBgRmFsc2VgYCwgY2xlYXIgdGhlIGZsYWcgb3RoZXJ3aXNlLgorCisgICBTZWUgYWxzbyA6ZnVuYzpgZ2V0X2Jsb2NraW5nYCBhbmQgOm1ldGg6YHNvY2tldC5zb2NrZXQuc2V0YmxvY2tpbmdgLgorCisgICBBdmFpbGFiaWxpdHk6IFVuaXguCisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuNQorCisKIC4uIGRhdGE6OiBTRl9OT0RJU0tJTwogICAgICAgICAgIFNGX01OT1dBSVQKICAgICAgICAgICBTRl9TWU5DCkBAIC0yMDQ0LDYgKzIwNjgsMTUgQEAKIAogICAgICAgRmlsZSB0eXBlLgogCisgICBPbiBXaW5kb3dzIHN5c3RlbXMsIHRoZSBmb2xsb3dpbmcgYXR0cmlidXRlIGlzIGFsc28gYXZhaWxhYmxlOgorCisgICAuLiBhdHRyaWJ1dGU6OiBzdF9maWxlX2F0dHJpYnV0ZXMKKworICAgICAgV2luZG93cyBmaWxlIGF0dHJpYnV0ZXM6IGBgZHdGaWxlQXR0cmlidXRlc2BgIG1lbWJlciBvZiB0aGUKKyAgICAgIGBgQllfSEFORExFX0ZJTEVfSU5GT1JNQVRJT05gYCBzdHJ1Y3R1cmUgcmV0dXJuZWQgYnkKKyAgICAgIDpjOmZ1bmM6YEdldEZpbGVJbmZvcm1hdGlvbkJ5SGFuZGxlYC4gU2VlIHRoZSBgYEZJTEVfQVRUUklCVVRFXypgYAorICAgICAgY29uc3RhbnRzIGluIHRoZSA6bW9kOmBzdGF0YCBtb2R1bGUuCisKICAgIFRoZSBzdGFuZGFyZCBtb2R1bGUgOm1vZDpgc3RhdGAgZGVmaW5lcyBmdW5jdGlvbnMgYW5kIGNvbnN0YW50cyB0aGF0IGFyZQogICAgdXNlZnVsIGZvciBleHRyYWN0aW5nIGluZm9ybWF0aW9uIGZyb20gYSA6Yzp0eXBlOmBzdGF0YCBzdHJ1Y3R1cmUuIChPbgogICAgV2luZG93cywgc29tZSBpdGVtcyBhcmUgZmlsbGVkIHdpdGggZHVtbXkgdmFsdWVzLikKQEAgLTIwNjEsNiArMjA5NCw5IEBACiAgICAgICBBZGRlZCB0aGUgOmF0dHI6YHN0X2F0aW1lX25zYCwgOmF0dHI6YHN0X210aW1lX25zYCwgYW5kCiAgICAgICA6YXR0cjpgc3RfY3RpbWVfbnNgIG1lbWJlcnMuCiAKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuNQorICAgICAgQWRkZWQgdGhlIDphdHRyOmBzdF9maWxlX2F0dHJpYnV0ZXNgIG1lbWJlciBvbiBXaW5kb3dzLgorCiAKIC4uIGZ1bmN0aW9uOjogc3RhdF9mbG9hdF90aW1lcyhbbmV3dmFsdWVdKQogCkBAIC0yOTg5LDYgKzMwMjUsMTAgQEAKICAgIGRvZXNuJ3Qgd29yayBpZiBpdCBpcy4gIFVzZSB0aGUgOmZ1bmM6YG9zLnBhdGgubm9ybXBhdGhgIGZ1bmN0aW9uIHRvIGVuc3VyZSB0aGF0CiAgICB0aGUgcGF0aCBpcyBwcm9wZXJseSBlbmNvZGVkIGZvciBXaW4zMi4KIAorICAgVG8gcmVkdWNlIGludGVycHJldGVyIHN0YXJ0dXAgb3ZlcmhlYWQsIHRoZSBXaW4zMiA6YzpmdW5jOmBTaGVsbEV4ZWN1dGVgCisgICBmdW5jdGlvbiBpcyBub3QgcmVzb2x2ZWQgdW50aWwgdGhpcyBmdW5jdGlvbiBpcyBmaXJzdCBjYWxsZWQuICBJZiB0aGUgZnVuY3Rpb24KKyAgIGNhbm5vdCBiZSByZXNvbHZlZCwgOmV4YzpgTm90SW1wbGVtZW50ZWRFcnJvcmAgd2lsbCBiZSByYWlzZWQuCisKICAgIEF2YWlsYWJpbGl0eTogV2luZG93cy4KIAogCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9wYXRobGliLnJzdCBiL0RvYy9saWJyYXJ5L3BhdGhsaWIucnN0CmluZGV4IGVjMWRjNGYuLjAyMjZjZTQgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L3BhdGhsaWIucnN0CisrKyBiL0RvYy9saWJyYXJ5L3BhdGhsaWIucnN0CkBAIC02MjgsNiArNjI4LDE3IEBACiAgICAgICBQb3NpeFBhdGgoJy9ob21lL2FudG9pbmUvcGF0aGxpYicpCiAKIAorLi4gY2xhc3NtZXRob2Q6OiBQYXRoLmhvbWUoKQorCisgICBSZXR1cm4gYSBuZXcgcGF0aCBvYmplY3QgcmVwcmVzZW50aW5nIHRoZSB1c2VyJ3MgaG9tZSBkaXJlY3RvcnkgKGFzCisgICByZXR1cm5lZCBieSA6ZnVuYzpgb3MucGF0aC5leHBhbmR1c2VyYCB3aXRoIGBgfmBgIGNvbnN0cnVjdCk6OgorCisgICAgICA+Pj4gUGF0aC5ob21lKCkKKyAgICAgIFBvc2l4UGF0aCgnL2hvbWUvYW50b2luZScpCisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuNQorCisKIC4uIG1ldGhvZDo6IFBhdGguc3RhdCgpCiAKICAgIFJldHVybiBpbmZvcm1hdGlvbiBhYm91dCB0aGlzIHBhdGggKHNpbWlsYXJseSB0byA6ZnVuYzpgb3Muc3RhdGApLgpAQCAtNjcwLDYgKzY4MSwxOCBAQAogICAgICAgc3ltbGluayAqcG9pbnRzIHRvKiBhbiBleGlzdGluZyBmaWxlIG9yIGRpcmVjdG9yeS4KIAogCisuLiBtZXRob2Q6OiBQYXRoLmV4cGFuZHVzZXIoKQorCisgICBSZXR1cm4gYSBuZXcgcGF0aCB3aXRoIGV4cGFuZGVkIGBgfmBgIGFuZCBgYH51c2VyYGAgY29uc3RydWN0cywKKyAgIGFzIHJldHVybmVkIGJ5IDptZXRoOmBvcy5wYXRoLmV4cGFuZHVzZXJgOjoKKworICAgICAgPj4+IHAgPSBQb3NpeFBhdGgoJ34vZmlsbXMvTW9udHkgUHl0aG9uJykKKyAgICAgID4+PiBwLmV4cGFuZHVzZXIoKQorICAgICAgUG9zaXhQYXRoKCcvaG9tZS9lcmljL2ZpbG1zL01vbnR5IFB5dGhvbicpCisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuNQorCisKIC4uIG1ldGhvZDo6IFBhdGguZ2xvYihwYXR0ZXJuKQogCiAgICBHbG9iIHRoZSBnaXZlbiAqcGF0dGVybiogaW4gdGhlIGRpcmVjdG9yeSByZXByZXNlbnRlZCBieSB0aGlzIHBhdGgsCkBAIC03OTEsNyArODE0LDcgQEAKICAgIHRoZSBzeW1ib2xpYyBsaW5rJ3MgaW5mb3JtYXRpb24gcmF0aGVyIHRoYW4gaXRzIHRhcmdldCdzLgogCiAKLS4uIG1ldGhvZDo6IFBhdGgubWtkaXIobW9kZT0wbzc3NywgcGFyZW50cz1GYWxzZSkKKy4uIG1ldGhvZDo6IFBhdGgubWtkaXIobW9kZT0wbzc3NywgcGFyZW50cz1GYWxzZSwgZXhpc3Rfb2s9RmFsc2UpCiAKICAgIENyZWF0ZSBhIG5ldyBkaXJlY3RvcnkgYXQgdGhpcyBnaXZlbiBwYXRoLiAgSWYgKm1vZGUqIGlzIGdpdmVuLCBpdCBpcwogICAgY29tYmluZWQgd2l0aCB0aGUgcHJvY2VzcycgYGB1bWFza2BgIHZhbHVlIHRvIGRldGVybWluZSB0aGUgZmlsZSBtb2RlCkBAIC04MDUsNiArODI4LDE2IEBACiAgICBJZiAqcGFyZW50cyogaXMgZmFsc2UgKHRoZSBkZWZhdWx0KSwgYSBtaXNzaW5nIHBhcmVudCByYWlzZXMKICAgIDpleGM6YEZpbGVOb3RGb3VuZEVycm9yYC4KIAorICAgSWYgKmV4aXN0X29rKiBpcyBmYWxzZSAodGhlIGRlZmF1bHQpLCBhbiA6ZXhjOmBGaWxlRXhpc3RzRXJyb3JgIGlzCisgICByYWlzZWQgaWYgdGhlIHRhcmdldCBkaXJlY3RvcnkgYWxyZWFkeSBleGlzdHMuCisKKyAgIElmICpleGlzdF9vayogaXMgdHJ1ZSwgOmV4YzpgRmlsZUV4aXN0c0Vycm9yYCBleGNlcHRpb25zIHdpbGwgYmUKKyAgIGlnbm9yZWQgKHNhbWUgYmVoYXZpb3IgYXMgdGhlIFBPU0lYIGBgbWtkaXIgLXBgYCBjb21tYW5kKSwgYnV0IG9ubHkgaWYgdGhlCisgICBsYXN0IHBhdGggY29tcG9uZW50IGlzIG5vdCBhbiBleGlzdGluZyBub24tZGlyZWN0b3J5IGZpbGUuCisKKyAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy41CisgICAgICBUaGUgKmV4aXN0X29rKiBwYXJhbWV0ZXIgd2FzIGFkZGVkLgorCiAKIC4uIG1ldGhvZDo6IFBhdGgub3Blbihtb2RlPSdyJywgYnVmZmVyaW5nPS0xLCBlbmNvZGluZz1Ob25lLCBlcnJvcnM9Tm9uZSwgbmV3bGluZT1Ob25lKQogCkBAIC04MjQsNiArODU3LDM0IEBACiAgICBpZiB0aGUgZmlsZSdzIHVpZCBpc24ndCBmb3VuZCBpbiB0aGUgc3lzdGVtIGRhdGFiYXNlLgogCiAKKy4uIG1ldGhvZDo6IFBhdGgucmVhZF9ieXRlcygpCisKKyAgIFJldHVybiB0aGUgYmluYXJ5IGNvbnRlbnRzIG9mIHRoZSBwb2ludGVkLXRvIGZpbGUgYXMgYSBieXRlcyBvYmplY3Q6OgorCisgICAgICA+Pj4gcCA9IFBhdGgoJ215X2JpbmFyeV9maWxlJykKKyAgICAgID4+PiBwLndyaXRlX2J5dGVzKGInQmluYXJ5IGZpbGUgY29udGVudHMnKQorICAgICAgMjAKKyAgICAgID4+PiBwLnJlYWRfYnl0ZXMoKQorICAgICAgYidCaW5hcnkgZmlsZSBjb250ZW50cycKKworICAgLi4gdmVyc2lvbmFkZGVkOjogMy41CisKKworLi4gbWV0aG9kOjogUGF0aC5yZWFkX3RleHQoZW5jb2Rpbmc9Tm9uZSwgZXJyb3JzPU5vbmUpCisKKyAgIFJldHVybiB0aGUgZGVjb2RlZCBjb250ZW50cyBvZiB0aGUgcG9pbnRlZC10byBmaWxlIGFzIGEgc3RyaW5nOjoKKworICAgICAgPj4+IHAgPSBQYXRoKCdteV90ZXh0X2ZpbGUnKQorICAgICAgPj4+IHAud3JpdGVfdGV4dCgnVGV4dCBmaWxlIGNvbnRlbnRzJykKKyAgICAgIDE4CisgICAgICA+Pj4gcC5yZWFkX3RleHQoKQorICAgICAgJ1RleHQgZmlsZSBjb250ZW50cycKKworICAgVGhlIG9wdGlvbmFsIHBhcmFtZXRlcnMgaGF2ZSB0aGUgc2FtZSBtZWFuaW5nIGFzIGluIDpmdW5jOmBvcGVuYC4KKworICAgLi4gdmVyc2lvbmFkZGVkOjogMy41CisKKwogLi4gbWV0aG9kOjogUGF0aC5yZW5hbWUodGFyZ2V0KQogCiAgICBSZW5hbWUgdGhpcyBmaWxlIG9yIGRpcmVjdG9yeSB0byB0aGUgZ2l2ZW4gKnRhcmdldCouICAqdGFyZ2V0KiBjYW4gYmUKQEAgLTg4NCw2ICs5NDUsMjUgQEAKICAgIFJlbW92ZSB0aGlzIGRpcmVjdG9yeS4gIFRoZSBkaXJlY3RvcnkgbXVzdCBiZSBlbXB0eS4KIAogCisuLiBtZXRob2Q6OiBQYXRoLnNhbWVmaWxlKG90aGVyX3BhdGgpCisKKyAgIFJldHVybiB3aGV0aGVyIHRoaXMgcGF0aCBwb2ludHMgdG8gdGhlIHNhbWUgZmlsZSBhcyAqb3RoZXJfcGF0aCosIHdoaWNoCisgICBjYW4gYmUgZWl0aGVyIGEgUGF0aCBvYmplY3QsIG9yIGEgc3RyaW5nLiAgVGhlIHNlbWFudGljcyBhcmUgc2ltaWxhcgorICAgdG8gOmZ1bmM6YG9zLnBhdGguc2FtZWZpbGVgIGFuZCA6ZnVuYzpgb3MucGF0aC5zYW1lc3RhdGAuCisKKyAgIEFuIDpleGM6YE9TRXJyb3JgIGNhbiBiZSByYWlzZWQgaWYgZWl0aGVyIGZpbGUgY2Fubm90IGJlIGFjY2Vzc2VkIGZvciBzb21lCisgICByZWFzb24uCisKKyAgICAgID4+PiBwID0gUGF0aCgnc3BhbScpCisgICAgICA+Pj4gcSA9IFBhdGgoJ2VnZ3MnKQorICAgICAgPj4+IHAuc2FtZWZpbGUocSkKKyAgICAgIEZhbHNlCisgICAgICA+Pj4gcC5zYW1lZmlsZSgnc3BhbScpCisgICAgICBUcnVlCisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuNQorCisKIC4uIG1ldGhvZDo6IFBhdGguc3ltbGlua190byh0YXJnZXQsIHRhcmdldF9pc19kaXJlY3Rvcnk9RmFsc2UpCiAKICAgIE1ha2UgdGhpcyBwYXRoIGEgc3ltYm9saWMgbGluayB0byAqdGFyZ2V0Ki4gIFVuZGVyIFdpbmRvd3MsCkBAIC05MTcsMyArOTk3LDMzIEBACiAKICAgIFJlbW92ZSB0aGlzIGZpbGUgb3Igc3ltYm9saWMgbGluay4gIElmIHRoZSBwYXRoIHBvaW50cyB0byBhIGRpcmVjdG9yeSwKICAgIHVzZSA6ZnVuYzpgUGF0aC5ybWRpcmAgaW5zdGVhZC4KKworCisuLiBtZXRob2Q6OiBQYXRoLndyaXRlX2J5dGVzKGRhdGEpCisKKyAgIE9wZW4gdGhlIGZpbGUgcG9pbnRlZCB0byBpbiBieXRlcyBtb2RlLCB3cml0ZSAqZGF0YSogdG8gaXQsIGFuZCBjbG9zZSB0aGUKKyAgIGZpbGU6OgorCisgICAgICA+Pj4gcCA9IFBhdGgoJ215X2JpbmFyeV9maWxlJykKKyAgICAgID4+PiBwLndyaXRlX2J5dGVzKGInQmluYXJ5IGZpbGUgY29udGVudHMnKQorICAgICAgMjAKKyAgICAgID4+PiBwLnJlYWRfYnl0ZXMoKQorICAgICAgYidCaW5hcnkgZmlsZSBjb250ZW50cycKKworICAgQW4gZXhpc3RpbmcgZmlsZSBvZiB0aGUgc2FtZSBuYW1lIGlzIG92ZXJ3cml0dGVuLgorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjUKKworCisuLiBtZXRob2Q6OiBQYXRoLndyaXRlX3RleHQoZGF0YSwgZW5jb2Rpbmc9Tm9uZSwgZXJyb3JzPU5vbmUpCisKKyAgIE9wZW4gdGhlIGZpbGUgcG9pbnRlZCB0byBpbiB0ZXh0IG1vZGUsIHdyaXRlICpkYXRhKiB0byBpdCwgYW5kIGNsb3NlIHRoZQorICAgZmlsZTo6CisKKyAgICAgID4+PiBwID0gUGF0aCgnbXlfdGV4dF9maWxlJykKKyAgICAgID4+PiBwLndyaXRlX3RleHQoJ1RleHQgZmlsZSBjb250ZW50cycpCisgICAgICAxOAorICAgICAgPj4+IHAucmVhZF90ZXh0KCkKKyAgICAgICdUZXh0IGZpbGUgY29udGVudHMnCisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuNQpkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvcGlja2xlLnJzdCBiL0RvYy9saWJyYXJ5L3BpY2tsZS5yc3QKaW5kZXggNDczNTZmOS4uNGNlNGQzNCAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvcGlja2xlLnJzdAorKysgYi9Eb2MvbGlicmFyeS9waWNrbGUucnN0CkBAIC04NTksNyArODU5LDcgQEAKICAgIGRhdGEgPSB7CiAgICAgICAgJ2EnOiBbMSwgMi4wLCAzLCA0KzZqXSwKICAgICAgICAnYic6ICgiY2hhcmFjdGVyIHN0cmluZyIsIGIiYnl0ZSBzdHJpbmciKSwKLSAgICAgICAnYyc6IHNldChbTm9uZSwgVHJ1ZSwgRmFsc2VdKQorICAgICAgICdjJzoge05vbmUsIFRydWUsIEZhbHNlfQogICAgfQogCiAgICB3aXRoIG9wZW4oJ2RhdGEucGlja2xlJywgJ3diJykgYXMgZjoKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L3BrZ3V0aWwucnN0IGIvRG9jL2xpYnJhcnkvcGtndXRpbC5yc3QKaW5kZXggMTNlYTdiOS4uNWQzMjk1ZCAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvcGtndXRpbC5yc3QKKysrIGIvRG9jL2xpYnJhcnkvcGtndXRpbC5yc3QKQEAgLTU4LDcgKzU4LDcgQEAKIAogICAgLi4gZGVwcmVjYXRlZDo6IDMuMwogICAgICAgVGhpcyBlbXVsYXRpb24gaXMgbm8gbG9uZ2VyIG5lZWRlZCwgYXMgdGhlIHN0YW5kYXJkIGltcG9ydCBtZWNoYW5pc20KLSAgICAgIGlzIG5vdyBmdWxseSBQRVAgMzAyIGNvbXBsaWFudCBhbmQgYXZhaWxhYmxlIGluIDptb2Q6YGltcG9ydGxpYmAKKyAgICAgIGlzIG5vdyBmdWxseSBQRVAgMzAyIGNvbXBsaWFudCBhbmQgYXZhaWxhYmxlIGluIDptb2Q6YGltcG9ydGxpYmAuCiAKIAogLi4gY2xhc3M6OiBJbXBMb2FkZXIoZnVsbG5hbWUsIGZpbGUsIGZpbGVuYW1lLCBldGMpCkBAIC02Nyw3ICs2Nyw3IEBACiAKICAgIC4uIGRlcHJlY2F0ZWQ6OiAzLjMKICAgICAgIFRoaXMgZW11bGF0aW9uIGlzIG5vIGxvbmdlciBuZWVkZWQsIGFzIHRoZSBzdGFuZGFyZCBpbXBvcnQgbWVjaGFuaXNtCi0gICAgICBpcyBub3cgZnVsbHkgUEVQIDMwMiBjb21wbGlhbnQgYW5kIGF2YWlsYWJsZSBpbiA6bW9kOmBpbXBvcnRsaWJgCisgICAgICBpcyBub3cgZnVsbHkgUEVQIDMwMiBjb21wbGlhbnQgYW5kIGF2YWlsYWJsZSBpbiA6bW9kOmBpbXBvcnRsaWJgLgogCiAKIC4uIGZ1bmN0aW9uOjogZmluZF9sb2FkZXIoZnVsbG5hbWUpCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9wbGlzdGxpYi5yc3QgYi9Eb2MvbGlicmFyeS9wbGlzdGxpYi5yc3QKaW5kZXggMmJlZjEyMC4uNDE2NTU5MSAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvcGxpc3RsaWIucnN0CisrKyBiL0RvYy9saWJyYXJ5L3BsaXN0bGliLnJzdApAQCAtMTI5LDcgKzEyOSw3IEBACiAgICBhbmQgYmluYXJ5KSBmaWxlIG9iamVjdC4gUmV0dXJucyB0aGUgdW5wYWNrZWQgcm9vdCBvYmplY3QgKHdoaWNoIHVzdWFsbHkKICAgIGlzIGEgZGljdGlvbmFyeSkuCiAKLSAgIFRoaXMgZnVuY3Rpb24gY2FsbHMgOmZ1bmM6YGxvYWRgIHRvIGRvIHRoZSBhY3R1YWwgd29yaywgdGhlIHRoZSBkb2N1bWVudGF0aW9uCisgICBUaGlzIGZ1bmN0aW9uIGNhbGxzIDpmdW5jOmBsb2FkYCB0byBkbyB0aGUgYWN0dWFsIHdvcmssIHNlZSB0aGUgZG9jdW1lbnRhdGlvbgogICAgb2YgOmZ1bmM6YHRoYXQgZnVuY3Rpb24gPGxvYWQ+YCBmb3IgYW4gZXhwbGFuYXRpb24gb2YgdGhlIGtleXdvcmQgYXJndW1lbnRzLgogCiAgICAuLiBub3RlOjoKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L3JhbmRvbS5yc3QgYi9Eb2MvbGlicmFyeS9yYW5kb20ucnN0CmluZGV4IDExZGQzNjcuLmY4Yjc3MjcgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L3JhbmRvbS5yc3QKKysrIGIvRG9jL2xpYnJhcnkvcmFuZG9tLnJzdApAQCAtNDYsOCArNDYsNyBAQAogLi4gd2FybmluZzo6CiAKICAgIFRoZSBwc2V1ZG8tcmFuZG9tIGdlbmVyYXRvcnMgb2YgdGhpcyBtb2R1bGUgc2hvdWxkIG5vdCBiZSB1c2VkIGZvcgotICAgc2VjdXJpdHkgcHVycG9zZXMuICBVc2UgOmZ1bmM6YG9zLnVyYW5kb21gIG9yIDpjbGFzczpgU3lzdGVtUmFuZG9tYCBpZgotICAgeW91IHJlcXVpcmUgYSBjcnlwdG9ncmFwaGljYWxseSBzZWN1cmUgcHNldWRvLXJhbmRvbSBudW1iZXIgZ2VuZXJhdG9yLgorICAgc2VjdXJpdHkgcHVycG9zZXMuCiAKIAogQm9va2tlZXBpbmcgZnVuY3Rpb25zOgpkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvcmUucnN0IGIvRG9jL2xpYnJhcnkvcmUucnN0CmluZGV4IGMzYzhiNjUuLjBkMzA1ZDUgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L3JlLnJzdAorKysgYi9Eb2MvbGlicmFyeS9yZS5yc3QKQEAgLTI4MSw5ICsyODEsNyBAQAogICAgYXNzZXJ0aW9uYC4gYGAoPzw9YWJjKWRlZmBgIHdpbGwgZmluZCBhIG1hdGNoIGluIGBgYWJjZGVmYGAsIHNpbmNlIHRoZQogICAgbG9va2JlaGluZCB3aWxsIGJhY2sgdXAgMyBjaGFyYWN0ZXJzIGFuZCBjaGVjayBpZiB0aGUgY29udGFpbmVkIHBhdHRlcm4gbWF0Y2hlcy4KICAgIFRoZSBjb250YWluZWQgcGF0dGVybiBtdXN0IG9ubHkgbWF0Y2ggc3RyaW5ncyBvZiBzb21lIGZpeGVkIGxlbmd0aCwgbWVhbmluZyB0aGF0Ci0gICBgYGFiY2BgIG9yIGBgYXxiYGAgYXJlIGFsbG93ZWQsIGJ1dCBgYGEqYGAgYW5kIGBgYXszLDR9YGAgYXJlIG5vdC4gIEdyb3VwCi0gICByZWZlcmVuY2VzIGFyZSBub3Qgc3VwcG9ydGVkIGV2ZW4gaWYgdGhleSBtYXRjaCBzdHJpbmdzIG9mIHNvbWUgZml4ZWQgbGVuZ3RoLgotICAgTm90ZSB0aGF0CisgICBgYGFiY2BgIG9yIGBgYXxiYGAgYXJlIGFsbG93ZWQsIGJ1dCBgYGEqYGAgYW5kIGBgYXszLDR9YGAgYXJlIG5vdC4gIE5vdGUgdGhhdAogICAgcGF0dGVybnMgd2hpY2ggc3RhcnQgd2l0aCBwb3NpdGl2ZSBsb29rYmVoaW5kIGFzc2VydGlvbnMgd2lsbCBub3QgbWF0Y2ggYXQgdGhlCiAgICBiZWdpbm5pbmcgb2YgdGhlIHN0cmluZyBiZWluZyBzZWFyY2hlZDsgeW91IHdpbGwgbW9zdCBsaWtlbHkgd2FudCB0byB1c2UgdGhlCiAgICA6ZnVuYzpgc2VhcmNoYCBmdW5jdGlvbiByYXRoZXIgdGhhbiB0aGUgOmZ1bmM6YG1hdGNoYCBmdW5jdGlvbjoKQEAgLTI5OSwxMiArMjk3LDE0IEBACiAgICAgICA+Pj4gbS5ncm91cCgwKQogICAgICAgJ2VnZycKIAorICAgLi4gdmVyc2lvbmNoYW5nZWQ6IDMuNQorICAgICAgQWRkZWQgc3VwcG9ydCBmb3IgZ3JvdXAgcmVmZXJlbmNlcyBvZiBmaXhlZCBsZW5ndGguCisKIGBgKD88IS4uLilgYAogICAgTWF0Y2hlcyBpZiB0aGUgY3VycmVudCBwb3NpdGlvbiBpbiB0aGUgc3RyaW5nIGlzIG5vdCBwcmVjZWRlZCBieSBhIG1hdGNoIGZvcgogICAgYGAuLi5gYC4gIFRoaXMgaXMgY2FsbGVkIGEgOmRmbjpgbmVnYXRpdmUgbG9va2JlaGluZCBhc3NlcnRpb25gLiAgU2ltaWxhciB0bwogICAgcG9zaXRpdmUgbG9va2JlaGluZCBhc3NlcnRpb25zLCB0aGUgY29udGFpbmVkIHBhdHRlcm4gbXVzdCBvbmx5IG1hdGNoIHN0cmluZ3Mgb2YKLSAgIHNvbWUgZml4ZWQgbGVuZ3RoIGFuZCBzaG91bGRuJ3QgY29udGFpbiBncm91cCByZWZlcmVuY2VzLgotICAgUGF0dGVybnMgd2hpY2ggc3RhcnQgd2l0aCBuZWdhdGl2ZSBsb29rYmVoaW5kIGFzc2VydGlvbnMgbWF5CisgICBzb21lIGZpeGVkIGxlbmd0aC4gIFBhdHRlcm5zIHdoaWNoIHN0YXJ0IHdpdGggbmVnYXRpdmUgbG9va2JlaGluZCBhc3NlcnRpb25zIG1heQogICAgbWF0Y2ggYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgc3RyaW5nIGJlaW5nIHNlYXJjaGVkLgogCiBgYCg/KGlkL25hbWUpeWVzLXBhdHRlcm58bm8tcGF0dGVybilgYApAQCAtNTI0LDcgKzUyNCwxMSBAQAogICAgY3VycmVudCBsb2NhbGUuIFRoZSB1c2Ugb2YgdGhpcyBmbGFnIGlzIGRpc2NvdXJhZ2VkIGFzIHRoZSBsb2NhbGUgbWVjaGFuaXNtCiAgICBpcyB2ZXJ5IHVucmVsaWFibGUsIGFuZCBpdCBvbmx5IGhhbmRsZXMgb25lICJjdWx0dXJlIiBhdCBhIHRpbWUgYW55d2F5OwogICAgeW91IHNob3VsZCB1c2UgVW5pY29kZSBtYXRjaGluZyBpbnN0ZWFkLCB3aGljaCBpcyB0aGUgZGVmYXVsdCBpbiBQeXRob24gMwotICAgZm9yIFVuaWNvZGUgKHN0cikgcGF0dGVybnMuCisgICBmb3IgVW5pY29kZSAoc3RyKSBwYXR0ZXJucy4gVGhpcyBmbGFnIG1ha2VzIHNlbnNlIG9ubHkgd2l0aCBieXRlcyBwYXR0ZXJucy4KKworICAgLi4gZGVwcmVjYXRlZC1yZW1vdmVkOjogMy41IDMuNgorICAgICAgRGVwcmVjYXRlZCB0aGUgdXNlIG9mICA6Y29uc3Q6YHJlLkxPQ0FMRWAgd2l0aCBzdHJpbmcgcGF0dGVybnMgb3IKKyAgICAgIDpjb25zdDpgcmUuQVNDSUlgLgogCiAKIC4uIGRhdGE6OiBNCkBAIC02MjUsMTcgKzYyOSwzNyBAQAogICAgVGhhdCB3YXksIHNlcGFyYXRvciBjb21wb25lbnRzIGFyZSBhbHdheXMgZm91bmQgYXQgdGhlIHNhbWUgcmVsYXRpdmUKICAgIGluZGljZXMgd2l0aGluIHRoZSByZXN1bHQgbGlzdC4KIAotICAgTm90ZSB0aGF0ICpzcGxpdCogd2lsbCBuZXZlciBzcGxpdCBhIHN0cmluZyBvbiBhbiBlbXB0eSBwYXR0ZXJuIG1hdGNoLgotICAgRm9yIGV4YW1wbGU6CisgICAuLiBub3RlOjoKIAotICAgICAgPj4+IHJlLnNwbGl0KCd4KicsICdmb28nKQotICAgICAgWydmb28nXQotICAgICAgPj4+IHJlLnNwbGl0KCIoP20pXiQiLCAiZm9vXG5cbmJhclxuIikKLSAgICAgIFsnZm9vXG5cbmJhclxuJ10KKyAgICAgIDpmdW5jOmBzcGxpdGAgZG9lc24ndCBjdXJyZW50bHkgc3BsaXQgYSBzdHJpbmcgb24gYW4gZW1wdHkgcGF0dGVybiBtYXRjaC4KKyAgICAgIEZvciBleGFtcGxlOgorCisgICAgICAgICA+Pj4gcmUuc3BsaXQoJ3gqJywgJ2F4YmMnKQorICAgICAgICAgWydhJywgJ2JjJ10KKworICAgICAgRXZlbiB0aG91Z2ggYGAneConYGAgYWxzbyBtYXRjaGVzIDAgJ3gnIGJlZm9yZSAnYScsIGJldHdlZW4gJ2InIGFuZCAnYycsCisgICAgICBhbmQgYWZ0ZXIgJ2MnLCBjdXJyZW50bHkgdGhlc2UgbWF0Y2hlcyBhcmUgaWdub3JlZC4gIFRoZSBjb3JyZWN0IGJlaGF2aW9yCisgICAgICAoaS5lLiBzcGxpdHRpbmcgb24gZW1wdHkgbWF0Y2hlcyB0b28gYW5kIHJldHVybmluZyBgYFsnJywgJ2EnLCAnYicsICdjJywKKyAgICAgICcnXWBgKSB3aWxsIGJlIGltcGxlbWVudGVkIGluIGZ1dHVyZSB2ZXJzaW9ucyBvZiBQeXRob24sIGJ1dCBzaW5jZSB0aGlzCisgICAgICBpcyBhIGJhY2t3YXJkIGluY29tcGF0aWJsZSBjaGFuZ2UsIGEgOmV4YzpgRnV0dXJlV2FybmluZ2Agd2lsbCBiZSByYWlzZWQKKyAgICAgIGluIHRoZSBtZWFud2hpbGUuCisKKyAgICAgIFBhdHRlcm5zIHRoYXQgY2FuIG9ubHkgbWF0Y2ggZW1wdHkgc3RyaW5ncyBjdXJyZW50bHkgbmV2ZXIgc3BsaXQgdGhlCisgICAgICBzdHJpbmcuICBTaW5jZSB0aGlzIGRvZXNuJ3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGJlaGF2aW9yLCBhCisgICAgICA6ZXhjOmBWYWx1ZUVycm9yYCB3aWxsIGJlIHJhaXNlZCBzdGFydGluZyBmcm9tIFB5dGhvbiAzLjU6OgorCisgICAgICAgICA+Pj4gcmUuc3BsaXQoIl4kIiwgImZvb1xuXG5iYXJcbiIsIGZsYWdzPXJlLk0pCisgICAgICAgICBUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CisgICAgICAgICAgIEZpbGUgIjxzdGRpbj4iLCBsaW5lIDEsIGluIDxtb2R1bGU+CisgICAgICAgICAgIC4uLgorICAgICAgICAgVmFsdWVFcnJvcjogc3BsaXQoKSByZXF1aXJlcyBhIG5vbi1lbXB0eSBwYXR0ZXJuIG1hdGNoLgogCiAgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuMQogICAgICAgQWRkZWQgdGhlIG9wdGlvbmFsIGZsYWdzIGFyZ3VtZW50LgogCisgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuNQorICAgICAgU3BsaXR0aW5nIG9uIGEgcGF0dGVybiB0aGF0IGNvdWxkIG1hdGNoIGFuIGVtcHR5IHN0cmluZyBub3cgcmFpc2VzCisgICAgICBhIHdhcm5pbmcuICBQYXR0ZXJucyB0aGF0IGNhbiBvbmx5IG1hdGNoIGVtcHR5IHN0cmluZ3MgYXJlIG5vdyByZWplY3RlZC4KIAogLi4gZnVuY3Rpb246OiBmaW5kYWxsKHBhdHRlcm4sIHN0cmluZywgZmxhZ3M9MCkKIApAQCAtNzA1LDYgKzcyOSw5IEBACiAgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuMQogICAgICAgQWRkZWQgdGhlIG9wdGlvbmFsIGZsYWdzIGFyZ3VtZW50LgogCisgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuNQorICAgICAgVW5tYXRjaGVkIGdyb3VwcyBhcmUgcmVwbGFjZWQgd2l0aCBhbiBlbXB0eSBzdHJpbmcuCisKIAogLi4gZnVuY3Rpb246OiBzdWJuKHBhdHRlcm4sIHJlcGwsIHN0cmluZywgY291bnQ9MCwgZmxhZ3M9MCkKIApAQCAtNzE0LDYgKzc0MSw5IEBACiAgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuMQogICAgICAgQWRkZWQgdGhlIG9wdGlvbmFsIGZsYWdzIGFyZ3VtZW50LgogCisgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuNQorICAgICAgVW5tYXRjaGVkIGdyb3VwcyBhcmUgcmVwbGFjZWQgd2l0aCBhbiBlbXB0eSBzdHJpbmcuCisKIAogLi4gZnVuY3Rpb246OiBlc2NhcGUoc3RyaW5nKQogCkBAIC03MzAsMTMgKzc2MCwzNiBAQAogICAgQ2xlYXIgdGhlIHJlZ3VsYXIgZXhwcmVzc2lvbiBjYWNoZS4KIAogCi0uLiBleGNlcHRpb246OiBlcnJvcgorLi4gZXhjZXB0aW9uOjogZXJyb3IobXNnLCBwYXR0ZXJuPU5vbmUsIHBvcz1Ob25lKQogCiAgICBFeGNlcHRpb24gcmFpc2VkIHdoZW4gYSBzdHJpbmcgcGFzc2VkIHRvIG9uZSBvZiB0aGUgZnVuY3Rpb25zIGhlcmUgaXMgbm90IGEKICAgIHZhbGlkIHJlZ3VsYXIgZXhwcmVzc2lvbiAoZm9yIGV4YW1wbGUsIGl0IG1pZ2h0IGNvbnRhaW4gdW5tYXRjaGVkIHBhcmVudGhlc2VzKQogICAgb3Igd2hlbiBzb21lIG90aGVyIGVycm9yIG9jY3VycyBkdXJpbmcgY29tcGlsYXRpb24gb3IgbWF0Y2hpbmcuICBJdCBpcyBuZXZlciBhbgotICAgZXJyb3IgaWYgYSBzdHJpbmcgY29udGFpbnMgbm8gbWF0Y2ggZm9yIGEgcGF0dGVybi4KKyAgIGVycm9yIGlmIGEgc3RyaW5nIGNvbnRhaW5zIG5vIG1hdGNoIGZvciBhIHBhdHRlcm4uICBUaGUgZXJyb3IgaW5zdGFuY2UgaGFzCisgICB0aGUgZm9sbG93aW5nIGFkZGl0aW9uYWwgYXR0cmlidXRlczoKIAorICAgLi4gYXR0cmlidXRlOjogbXNnCisKKyAgICAgIFRoZSB1bmZvcm1hdHRlZCBlcnJvciBtZXNzYWdlLgorCisgICAuLiBhdHRyaWJ1dGU6OiBwYXR0ZXJuCisKKyAgICAgIFRoZSByZWd1bGFyIGV4cHJlc3Npb24gcGF0dGVybi4KKworICAgLi4gYXR0cmlidXRlOjogcG9zCisKKyAgICAgIFRoZSBpbmRleCBvZiAqcGF0dGVybiogd2hlcmUgY29tcGlsYXRpb24gZmFpbGVkLgorCisgICAuLiBhdHRyaWJ1dGU6OiBsaW5lbm8KKworICAgICAgVGhlIGxpbmUgY29ycmVzcG9uZGluZyB0byAqcG9zKi4KKworICAgLi4gYXR0cmlidXRlOjogY29sbm8KKworICAgICAgVGhlIGNvbHVtbiBjb3JyZXNwb25kaW5nIHRvICpwb3MqLgorCisgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuNQorICAgICAgQWRkZWQgYWRkaXRpb25hbCBhdHRyaWJ1dGVzLgogCiAuLiBfcmUtb2JqZWN0czoKIApAQCAtODg5LDYgKzk0Miw4IEBACiAgICAoYGBcZzwxPmBgLCBgYFxnPG5hbWU+YGApIGFyZSByZXBsYWNlZCBieSB0aGUgY29udGVudHMgb2YgdGhlCiAgICBjb3JyZXNwb25kaW5nIGdyb3VwLgogCisgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuNQorICAgICAgVW5tYXRjaGVkIGdyb3VwcyBhcmUgcmVwbGFjZWQgd2l0aCBhbiBlbXB0eSBzdHJpbmcuCiAKIC4uIG1ldGhvZDo6IG1hdGNoLmdyb3VwKFtncm91cDEsIC4uLl0pCiAKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L3JlYWRsaW5lLnJzdCBiL0RvYy9saWJyYXJ5L3JlYWRsaW5lLnJzdAppbmRleCA2OTIzMTBiLi4zODY0ZjBkIDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS9yZWFkbGluZS5yc3QKKysrIGIvRG9jL2xpYnJhcnkvcmVhZGxpbmUucnN0CkBAIC01OSw2ICs1OSwxNCBAQAogICAgU2F2ZSBhIHJlYWRsaW5lIGhpc3RvcnkgZmlsZS4gVGhlIGRlZmF1bHQgZmlsZW5hbWUgaXMgOmZpbGU6YH4vLmhpc3RvcnlgLgogCiAKKy4uIGZ1bmN0aW9uOjogYXBwZW5kX2hpc3RvcnlfZmlsZShuZWxlbWVudHNbLCBmaWxlbmFtZV0pCisKKyAgIEFwcGVuZCB0aGUgbGFzdCAqbmVsZW1lbnRzKiBvZiBoaXN0b3J5IHRvIGEgZmlsZS4gIFRoZSBkZWZhdWx0IGZpbGVuYW1lIGlzCisgICA6ZmlsZTpgfi8uaGlzdG9yeWAuICBUaGUgZmlsZSBtdXN0IGFscmVhZHkgZXhpc3QuCisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuNQorCisKIC4uIGZ1bmN0aW9uOjogY2xlYXJfaGlzdG9yeSgpCiAKICAgIENsZWFyIHRoZSBjdXJyZW50IGhpc3RvcnkuICAoTm90ZTogdGhpcyBmdW5jdGlvbiBpcyBub3QgYXZhaWxhYmxlIGlmIHRoZQpAQCAtMjA5LDYgKzIxNywyNiBAQAogVGhpcyBjb2RlIGlzIGFjdHVhbGx5IGF1dG9tYXRpY2FsbHkgcnVuIHdoZW4gUHl0aG9uIGlzIHJ1biBpbgogOnJlZjpgaW50ZXJhY3RpdmUgbW9kZSA8dHV0LWludGVyYWN0aXZlPmAgKHNlZSA6cmVmOmBybGNvbXBsZXRlci1jb25maWdgKS4KIAorVGhlIGZvbGxvd2luZyBleGFtcGxlIGFjaGlldmVzIHRoZSBzYW1lIGdvYWwgYnV0IHN1cHBvcnRzIGNvbmN1cnJlbnQgaW50ZXJhY3RpdmUKK3Nlc3Npb25zLCBieSBvbmx5IGFwcGVuZGluZyB0aGUgbmV3IGhpc3RvcnkuIDo6CisKKyAgIGltcG9ydCBhdGV4aXQKKyAgIGltcG9ydCBvcworICAgaW1wb3J0IHJlYWxpbmUKKyAgIGhpc3RmaWxlID0gb3MucGF0aC5qb2luKG9zLnBhdGguZXhwYW5kdXNlcigifiIpLCAiLnB5dGhvbl9oaXN0b3J5IikKKworICAgdHJ5OgorICAgICAgIHJlYWRsaW5lLnJlYWRfaGlzdG9yeV9maWxlKGhpc3RmaWxlKQorICAgICAgIGhfbGVuID0gcmVhZGxpbmUuZ2V0X2hpc3RvcnlfbGVuZ3RoKCkKKyAgIGV4Y2VwdCBGaWxlTm90Rm91bmRFcnJvcjoKKyAgICAgICBvcGVuKGhpc3RmaWxlLCAnd2InKS5jbG9zZSgpCisgICAgICAgaF9sZW4gPSAwCisKKyAgIGRlZiBzYXZlKHByZXZfaF9sZW4sIGhpc3RmaWxlKToKKyAgICAgICBuZXdfaF9sZW4gPSByZWFkbGluZS5nZXRfaGlzdG9yeV9sZW5ndGgoKQorICAgICAgIHJlYWRsaW5lLmFwcGVuZF9oaXN0b3J5X2ZpbGUobmV3X2hfbGVuIC0gcHJldl9oX2xlbiwgaGlzdGZpbGUpCisgICBhdGV4aXQucmVnaXN0ZXIoc2F2ZSwgaF9sZW4sIGhpc3RmaWxlKQorCiBUaGUgZm9sbG93aW5nIGV4YW1wbGUgZXh0ZW5kcyB0aGUgOmNsYXNzOmBjb2RlLkludGVyYWN0aXZlQ29uc29sZWAgY2xhc3MgdG8KIHN1cHBvcnQgaGlzdG9yeSBzYXZlL3Jlc3RvcmUuIDo6CiAKQEAgLTIzNCw0ICsyNjIsMyBAQAogCiAgICAgICAgZGVmIHNhdmVfaGlzdG9yeShzZWxmLCBoaXN0ZmlsZSk6CiAgICAgICAgICAgIHJlYWRsaW5lLndyaXRlX2hpc3RvcnlfZmlsZShoaXN0ZmlsZSkKLQpkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvcmVzb3VyY2UucnN0IGIvRG9jL2xpYnJhcnkvcmVzb3VyY2UucnN0CmluZGV4IGY4MTEyY2MuLjdjMGU0Y2EgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L3Jlc291cmNlLnJzdAorKysgYi9Eb2MvbGlicmFyeS9yZXNvdXJjZS5yc3QKQEAgLTQ1LDcgKzQ1LDcgQEAKIAogLi4gZGF0YTo6IFJMSU1fSU5GSU5JVFkKIAotICAgQ29uc3RhbnQgdXNlZCB0byByZXByZXNlbnQgdGhlIHRoZSBsaW1pdCBmb3IgYW4gdW5saW1pdGVkIHJlc291cmNlLgorICAgQ29uc3RhbnQgdXNlZCB0byByZXByZXNlbnQgdGhlIGxpbWl0IGZvciBhbiB1bmxpbWl0ZWQgcmVzb3VyY2UuCiAKIAogLi4gZnVuY3Rpb246OiBnZXRybGltaXQocmVzb3VyY2UpCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9zZWxlY3QucnN0IGIvRG9jL2xpYnJhcnkvc2VsZWN0LnJzdAppbmRleCA3MzRlNDI2Li41MzM0YWY4IDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS9zZWxlY3QucnN0CisrKyBiL0RvYy9saWJyYXJ5L3NlbGVjdC5yc3QKQEAgLTIwNyw3ICsyMDcsNyBAQAogICAgLi4gd2FybmluZzo6CiAKICAgICAgIFJlZ2lzdGVyaW5nIGEgZmlsZSBkZXNjcmlwdG9yIHRoYXQncyBhbHJlYWR5IHJlZ2lzdGVyZWQgaXMgbm90IGFuCi0gICAgICBlcnJvciwgYnV0IHRoZSByZXN1bHQgaXMgdW5kZWZpbmVkLiBUaGUgYXBwcm9waWF0ZSBhY3Rpb24gaXMgdG8KKyAgICAgIGVycm9yLCBidXQgdGhlIHJlc3VsdCBpcyB1bmRlZmluZWQuIFRoZSBhcHByb3ByaWF0ZSBhY3Rpb24gaXMgdG8KICAgICAgIHVucmVnaXN0ZXIgb3IgbW9kaWZ5IGl0IGZpcnN0LiBUaGlzIGlzIGFuIGltcG9ydGFudCBkaWZmZXJlbmNlCiAgICAgICBjb21wYXJlZCB3aXRoIDpjOmZ1bmM6YHBvbGxgLgogCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9zZWxlY3RvcnMucnN0IGIvRG9jL2xpYnJhcnkvc2VsZWN0b3JzLnJzdAppbmRleCA5ODM3N2M4Li44YmQ5ZTFjIDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS9zZWxlY3RvcnMucnN0CisrKyBiL0RvYy9saWJyYXJ5L3NlbGVjdG9ycy5yc3QKQEAgLTQ1LDYgKzQ1LDcgQEAKICAgICstLSBTZWxlY3RTZWxlY3RvcgogICAgKy0tIFBvbGxTZWxlY3RvcgogICAgKy0tIEVwb2xsU2VsZWN0b3IKKyAgICstLSBEZXZwb2xsU2VsZWN0b3IKICAgICstLSBLcXVldWVTZWxlY3RvcgogCiAKQEAgLTIwNyw2ICsyMDgsMTYgQEAKICAgICAgIFRoaXMgcmV0dXJucyB0aGUgZmlsZSBkZXNjcmlwdG9yIHVzZWQgYnkgdGhlIHVuZGVybHlpbmcKICAgICAgIDpmdW5jOmBzZWxlY3QuZXBvbGxgIG9iamVjdC4KIAorLi4gY2xhc3M6OiBEZXZwb2xsU2VsZWN0b3IoKQorCisgICA6ZnVuYzpgc2VsZWN0LmRldnBvbGxgLWJhc2VkIHNlbGVjdG9yLgorCisgICAuLiBtZXRob2Q6OiBmaWxlbm8oKQorCisgICAgICBUaGlzIHJldHVybnMgdGhlIGZpbGUgZGVzY3JpcHRvciB1c2VkIGJ5IHRoZSB1bmRlcmx5aW5nCisgICAgICA6ZnVuYzpgc2VsZWN0LmRldnBvbGxgIG9iamVjdC4KKworICAgLi4gdmVyc2lvbmFkZGVkOjogMy41CiAKIC4uIGNsYXNzOjogS3F1ZXVlU2VsZWN0b3IoKQogCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9zaHV0aWwucnN0IGIvRG9jL2xpYnJhcnkvc2h1dGlsLnJzdAppbmRleCBkOTZmZDcxLi44Mjk3NGFkIDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS9zaHV0aWwucnN0CisrKyBiL0RvYy9saWJyYXJ5L3NodXRpbC5yc3QKQEAgLTE5MSw3ICsxOTEsOCBAQAogICAgbWF0Y2ggb25lIG9mIHRoZSBnbG9iLXN0eWxlICpwYXR0ZXJucyogcHJvdmlkZWQuICBTZWUgdGhlIGV4YW1wbGUgYmVsb3cuCiAKIAotLi4gZnVuY3Rpb246OiBjb3B5dHJlZShzcmMsIGRzdCwgc3ltbGlua3M9RmFsc2UsIGlnbm9yZT1Ob25lLCBjb3B5X2Z1bmN0aW9uPWNvcHkyLCBpZ25vcmVfZGFuZ2xpbmdfc3ltbGlua3M9RmFsc2UpCisuLiBmdW5jdGlvbjo6IGNvcHl0cmVlKHNyYywgZHN0LCBzeW1saW5rcz1GYWxzZSwgaWdub3JlPU5vbmUsIFwKKyAgICAgICAgICAgICAgY29weV9mdW5jdGlvbj1jb3B5MiwgaWdub3JlX2RhbmdsaW5nX3N5bWxpbmtzPUZhbHNlKQogCiAgICBSZWN1cnNpdmVseSBjb3B5IGFuIGVudGlyZSBkaXJlY3RvcnkgdHJlZSByb290ZWQgYXQgKnNyYyosIHJldHVybmluZyB0aGUKICAgIGRlc3RpbmF0aW9uIGRpcmVjdG9yeS4gIFRoZSBkZXN0aW5hdGlvbgpAQCAtMjgyLDcgKzI4Myw3IEBACiAgICAgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjMKIAogCi0uLiBmdW5jdGlvbjo6IG1vdmUoc3JjLCBkc3QpCisuLiBmdW5jdGlvbjo6IG1vdmUoc3JjLCBkc3QsIGNvcHlfZnVuY3Rpb249Y29weTIpCiAKICAgIFJlY3Vyc2l2ZWx5IG1vdmUgYSBmaWxlIG9yIGRpcmVjdG9yeSAoKnNyYyopIHRvIGFub3RoZXIgbG9jYXRpb24gKCpkc3QqKQogICAgYW5kIHJldHVybiB0aGUgZGVzdGluYXRpb24uCkBAIC0yOTUsMTUgKzI5NiwyNiBAQAogICAgOmZ1bmM6YG9zLnJlbmFtZWAgc2VtYW50aWNzLgogCiAgICBJZiB0aGUgZGVzdGluYXRpb24gaXMgb24gdGhlIGN1cnJlbnQgZmlsZXN5c3RlbSwgdGhlbiA6ZnVuYzpgb3MucmVuYW1lYCBpcwotICAgdXNlZC4gIE90aGVyd2lzZSwgKnNyYyogaXMgY29waWVkICh1c2luZyA6ZnVuYzpgc2h1dGlsLmNvcHkyYCkgdG8gKmRzdCogYW5kCi0gICB0aGVuIHJlbW92ZWQuIEluIGNhc2Ugb2Ygc3ltbGlua3MsIGEgbmV3IHN5bWxpbmsgcG9pbnRpbmcgdG8gdGhlIHRhcmdldCBvZgotICAgKnNyYyogd2lsbCBiZSBjcmVhdGVkIGluIG9yIGFzICpkc3QqIGFuZCAqc3JjKiB3aWxsIGJlIHJlbW92ZWQuCisgICB1c2VkLiBPdGhlcndpc2UsICpzcmMqIGlzIGNvcGllZCB0byAqZHN0KiB1c2luZyAqY29weV9mdW5jdGlvbiogYW5kIHRoZW4KKyAgIHJlbW92ZWQuICBJbiBjYXNlIG9mIHN5bWxpbmtzLCBhIG5ldyBzeW1saW5rIHBvaW50aW5nIHRvIHRoZSB0YXJnZXQgb2YgKnNyYyoKKyAgIHdpbGwgYmUgY3JlYXRlZCBpbiBvciBhcyAqZHN0KiBhbmQgKnNyYyogd2lsbCBiZSByZW1vdmVkLgorCisgICBJZiAqY29weV9mdW5jdGlvbiogaXMgZ2l2ZW4sIGl0IG11c3QgYmUgYSBjYWxsYWJsZSB0aGF0IHRha2VzIHR3byBhcmd1bWVudHMKKyAgICpzcmMqIGFuZCAqZHN0KiwgYW5kIHdpbGwgYmUgdXNlZCB0byBjb3B5ICpzcmMqIHRvICpkZXN0KiBpZgorICAgOmZ1bmM6YG9zLnJlbmFtZWAgY2Fubm90IGJlIHVzZWQuICBJZiB0aGUgc291cmNlIGlzIGEgZGlyZWN0b3J5LAorICAgOmZ1bmM6YGNvcHl0cmVlYCBpcyBjYWxsZWQsIHBhc3NpbmcgaXQgdGhlIDpmdW5jOmBjb3B5X2Z1bmN0aW9uYC4gVGhlCisgICBkZWZhdWx0ICpjb3B5X2Z1bmN0aW9uKiBpcyA6ZnVuYzpgY29weTJgLiAgVXNpbmcgOmZ1bmM6YGNvcHlgIGFzIHRoZQorICAgKmNvcHlfZnVuY3Rpb24qIGFsbG93cyB0aGUgbW92ZSB0byBzdWNjZWVkIHdoZW4gaXQgaXMgbm90IHBvc3NpYmxlIHRvIGFsc28KKyAgIGNvcHkgdGhlIG1ldGFkYXRhLCBhdCB0aGUgZXhwZW5zZSBvZiBub3QgY29weWluZyBhbnkgb2YgdGhlIG1ldGFkYXRhLgogCiAgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuMwogICAgICAgQWRkZWQgZXhwbGljaXQgc3ltbGluayBoYW5kbGluZyBmb3IgZm9yZWlnbiBmaWxlc3lzdGVtcywgdGh1cyBhZGFwdGluZwogICAgICAgaXQgdG8gdGhlIGJlaGF2aW9yIG9mIEdOVSdzIDpwcm9ncmFtOmBtdmAuCiAgICAgICBOb3cgcmV0dXJucyAqZHN0Ki4KIAorICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjUKKyAgICAgIEFkZGVkIHRoZSAqY29weV9mdW5jdGlvbioga2V5d29yZCBhcmd1bWVudC4KKwogLi4gZnVuY3Rpb246OiBkaXNrX3VzYWdlKHBhdGgpCiAKICAgIFJldHVybiBkaXNrIHVzYWdlIHN0YXRpc3RpY3MgYWJvdXQgdGhlIGdpdmVuIHBhdGggYXMgYSA6dGVybTpgbmFtZWQgdHVwbGVgCkBAIC0zNDEsNyArMzUzLDcgQEAKIAogICAgT24gV2luZG93cywgdGhlIGN1cnJlbnQgZGlyZWN0b3J5IGlzIGFsd2F5cyBwcmVwZW5kZWQgdG8gdGhlICpwYXRoKiB3aGV0aGVyCiAgICBvciBub3QgeW91IHVzZSB0aGUgZGVmYXVsdCBvciBwcm92aWRlIHlvdXIgb3duLCB3aGljaCBpcyB0aGUgYmVoYXZpb3IgdGhlCi0gICBjb21tYW5kIHNoZWxsIHVzZXMgd2hlbiBmaW5kaW5nIGV4ZWN1dGFibGVzLiAgQWRkaXRpb25hbHksIHdoZW4gZmluZGluZyB0aGUKKyAgIGNvbW1hbmQgc2hlbGwgdXNlcyB3aGVuIGZpbmRpbmcgZXhlY3V0YWJsZXMuICBBZGRpdGlvbmFsbHksIHdoZW4gZmluZGluZyB0aGUKICAgICpjbWQqIGluIHRoZSAqcGF0aCosIHRoZSBgYFBBVEhFWFRgYCBlbnZpcm9ubWVudCB2YXJpYWJsZSBpcyBjaGVja2VkLiAgRm9yCiAgICBleGFtcGxlLCBpZiB5b3UgY2FsbCBgYHNodXRpbC53aGljaCgicHl0aG9uIilgYCwgOmZ1bmM6YHdoaWNoYCB3aWxsIHNlYXJjaAogICAgYGBQQVRIRVhUYGAgdG8ga25vdyB0aGF0IGl0IHNob3VsZCBsb29rIGZvciBgYHB5dGhvbi5leGVgYCB3aXRoaW4gdGhlICpwYXRoKgpAQCAtNDIxLDYgKzQzMywyNiBAQAogICAgY29weXRyZWUoc291cmNlLCBkZXN0aW5hdGlvbiwgaWdub3JlPV9sb2dwYXRoKQogCiAKKy4uIF9zaHV0aWwtcm10cmVlLWV4YW1wbGU6CisKK3JtdHJlZSBleGFtcGxlCit+fn5+fn5+fn5+fn5+fgorCitUaGlzIGV4YW1wbGUgc2hvd3MgaG93IHRvIHJlbW92ZSBhIGRpcmVjdG9yeSB0cmVlIG9uIFdpbmRvd3Mgd2hlcmUgc29tZQorb2YgdGhlIGZpbGVzIGhhdmUgdGhlaXIgcmVhZC1vbmx5IGJpdCBzZXQuIEl0IHVzZXMgdGhlIG9uZXJyb3IgY2FsbGJhY2sKK3RvIGNsZWFyIHRoZSByZWFkb25seSBiaXQgYW5kIHJlYXR0ZW1wdCB0aGUgcmVtb3ZlLiBBbnkgc3Vic2VxdWVudCBmYWlsdXJlCit3aWxsIHByb3BhZ2F0ZS4gOjoKKworICAgIGltcG9ydCBvcywgc3RhdAorICAgIGltcG9ydCBzaHV0aWwKKworICAgIGRlZiByZW1vdmVfcmVhZG9ubHkoZnVuYywgcGF0aCwgXyk6CisgICAgICAgICJDbGVhciB0aGUgcmVhZG9ubHkgYml0IGFuZCByZWF0dGVtcHQgdGhlIHJlbW92YWwiCisgICAgICAgIG9zLmNobW9kKHBhdGgsIHN0YXQuU19JV1JJVEUpCisgICAgICAgIGZ1bmMocGF0aCkKKworICAgIHNodXRpbC5ybXRyZWUoZGlyZWN0b3J5LCBvbmVycm9yPXJlbW92ZV9yZWFkb25seSkKKwogLi4gX2FyY2hpdmluZy1vcGVyYXRpb25zOgogCiBBcmNoaXZpbmcgb3BlcmF0aW9ucwpAQCAtNDM3LDcgKzQ2OSw4IEBACiAKICAgICpiYXNlX25hbWUqIGlzIHRoZSBuYW1lIG9mIHRoZSBmaWxlIHRvIGNyZWF0ZSwgaW5jbHVkaW5nIHRoZSBwYXRoLCBtaW51cwogICAgYW55IGZvcm1hdC1zcGVjaWZpYyBleHRlbnNpb24uICpmb3JtYXQqIGlzIHRoZSBhcmNoaXZlIGZvcm1hdDogb25lIG9mCi0gICAiemlwIiwgInRhciIsICJienRhciIgKGlmIHRoZSA6bW9kOmBiejJgIG1vZHVsZSBpcyBhdmFpbGFibGUpIG9yICJnenRhciIuCisgICAiemlwIiwgInRhciIsICJienRhciIgKGlmIHRoZSA6bW9kOmBiejJgIG1vZHVsZSBpcyBhdmFpbGFibGUpLCAieHp0YXIiCisgICAoaWYgdGhlIDptb2Q6YGx6bWFgIG1vZHVsZSBpcyBhdmFpbGFibGUpIG9yICJnenRhciIuCiAKICAgICpyb290X2RpciogaXMgYSBkaXJlY3RvcnkgdGhhdCB3aWxsIGJlIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGUKICAgIGFyY2hpdmU7IGZvciBleGFtcGxlLCB3ZSB0eXBpY2FsbHkgY2hkaXIgaW50byAqcm9vdF9kaXIqIGJlZm9yZSBjcmVhdGluZyB0aGUKQEAgLTQ2MCw2ICs0OTMsOSBAQAogCiAgICBUaGUgKnZlcmJvc2UqIGFyZ3VtZW50IGlzIHVudXNlZCBhbmQgZGVwcmVjYXRlZC4KIAorICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjUKKyAgICAgIEFkZGVkIHN1cHBvcnQgZm9yIHRoZSAqeHp0YXIqIGZvcm1hdC4KKwogCiAuLiBmdW5jdGlvbjo6IGdldF9hcmNoaXZlX2Zvcm1hdHMoKQogCkBAIC00NzAsNiArNTA2LDcgQEAKIAogICAgLSAqZ3p0YXIqOiBnemlwJ2VkIHRhci1maWxlCiAgICAtICpienRhcio6IGJ6aXAyJ2VkIHRhci1maWxlIChpZiB0aGUgOm1vZDpgYnoyYCBtb2R1bGUgaXMgYXZhaWxhYmxlLikKKyAgIC0gKnh6dGFyKjogeHonZWQgdGFyLWZpbGUgKGlmIHRoZSA6bW9kOmBsem1hYCBtb2R1bGUgaXMgYXZhaWxhYmxlLikKICAgIC0gKnRhcio6IHVuY29tcHJlc3NlZCB0YXIgZmlsZQogICAgLSAqemlwKjogWklQIGZpbGUKIApAQCAtNTQ1LDYgKzU4Miw3IEBACiAKICAgIC0gKmd6dGFyKjogZ3ppcCdlZCB0YXItZmlsZQogICAgLSAqYnp0YXIqOiBiemlwMidlZCB0YXItZmlsZSAoaWYgdGhlIDptb2Q6YGJ6MmAgbW9kdWxlIGlzIGF2YWlsYWJsZS4pCisgICAtICp4enRhcio6IHh6J2VkIHRhci1maWxlIChpZiB0aGUgOm1vZDpgbHptYWAgbW9kdWxlIGlzIGF2YWlsYWJsZS4pCiAgICAtICp0YXIqOiB1bmNvbXByZXNzZWQgdGFyIGZpbGUKICAgIC0gKnppcCo6IFpJUCBmaWxlCiAKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L3NpZ25hbC5yc3QgYi9Eb2MvbGlicmFyeS9zaWduYWwucnN0CmluZGV4IDg0ZTI4MzYuLmVkNjE2YjIgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L3NpZ25hbC5yc3QKKysrIGIvRG9jL2xpYnJhcnkvc2lnbmFsLnJzdApAQCAtNjUsNiArNjUsMTYgQEAKIE1vZHVsZSBjb250ZW50cwogLS0tLS0tLS0tLS0tLS0tCiAKKy4uIHZlcnNpb25jaGFuZ2VkOjogMy41CisgICBzaWduYWwgKFNJRyopLCBoYW5kbGVyICg6Y29uc3Q6YFNJR19ERkxgLCA6Y29uc3Q6YFNJR19JR05gKSBhbmQgc2lnbWFzaworICAgKDpjb25zdDpgU0lHX0JMT0NLYCwgOmNvbnN0OmBTSUdfVU5CTE9DS2AsIDpjb25zdDpgU0lHX1NFVE1BU0tgKQorICAgcmVsYXRlZCBjb25zdGFudHMgbGlzdGVkIGJlbG93IHdlcmUgdHVybmVkIGludG8KKyAgIDpjbGFzczpgZW51bXMgPGVudW0uSW50RW51bT5gLgorICAgOmZ1bmM6YGdldHNpZ25hbGAsIDpmdW5jOmBwdGhyZWFkX3NpZ21hc2tgLCA6ZnVuYzpgc2lncGVuZGluZ2AgYW5kCisgICA6ZnVuYzpgc2lnd2FpdGAgZnVuY3Rpb25zIHJldHVybiBodW1hbi1yZWFkYWJsZQorICAgOmNsYXNzOmBlbnVtcyA8ZW51bS5JbnRFbnVtPmAuCisKKwogVGhlIHZhcmlhYmxlcyBkZWZpbmVkIGluIHRoZSA6bW9kOmBzaWduYWxgIG1vZHVsZSBhcmU6CiAKIApAQCAtMzA4LDYgKzMxOCw5IEBACiAgICBhdHRlbXB0aW5nIHRvIGNhbGwgaXQgZnJvbSBvdGhlciB0aHJlYWRzIHdpbGwgY2F1c2UgYSA6ZXhjOmBWYWx1ZUVycm9yYAogICAgZXhjZXB0aW9uIHRvIGJlIHJhaXNlZC4KIAorICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjUKKyAgICAgIE9uIFdpbmRvd3MsIHRoZSBmdW5jdGlvbiBub3cgYWxzbyBzdXBwb3J0cyBzb2NrZXQgaGFuZGxlcy4KKwogCiAuLiBmdW5jdGlvbjo6IHNpZ2ludGVycnVwdChzaWduYWxudW0sIGZsYWcpCiAKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L3NpdGUucnN0IGIvRG9jL2xpYnJhcnkvc2l0ZS5yc3QKaW5kZXggZTU3YjhjYy4uNDNkYWY3OSAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvc2l0ZS5yc3QKKysrIGIvRG9jL2xpYnJhcnkvc2l0ZS5yc3QKQEAgLTI2LDI0ICsyNiwyMyBAQAogICAgOm9wdGlvbjpgLVNgLgogCiAuLiBpbmRleDo6Ci0gICBwYWlyOiBzaXRlLXB5dGhvbjsgZGlyZWN0b3J5CiAgICBwYWlyOiBzaXRlLXBhY2thZ2VzOyBkaXJlY3RvcnkKIAogSXQgc3RhcnRzIGJ5IGNvbnN0cnVjdGluZyB1cCB0byBmb3VyIGRpcmVjdG9yaWVzIGZyb20gYSBoZWFkIGFuZCBhIHRhaWwgcGFydC4KIEZvciB0aGUgaGVhZCBwYXJ0LCBpdCB1c2VzIGBgc3lzLnByZWZpeGBgIGFuZCBgYHN5cy5leGVjX3ByZWZpeGBgOyBlbXB0eSBoZWFkcwogYXJlIHNraXBwZWQuICBGb3IgdGhlIHRhaWwgcGFydCwgaXQgdXNlcyB0aGUgZW1wdHkgc3RyaW5nIGFuZCB0aGVuCiA6ZmlsZTpgbGliL3NpdGUtcGFja2FnZXNgIChvbiBXaW5kb3dzKSBvcgotOmZpbGU6YGxpYi9weXRob257WC5ZfS9zaXRlLXBhY2thZ2VzYCBhbmQgdGhlbiA6ZmlsZTpgbGliL3NpdGUtcHl0aG9uYCAob24KLVVuaXggYW5kIE1hY2ludG9zaCkuICBGb3IgZWFjaCBvZiB0aGUgZGlzdGluY3QgaGVhZC10YWlsIGNvbWJpbmF0aW9ucywgaXQgc2VlcwotaWYgaXQgcmVmZXJzIHRvIGFuIGV4aXN0aW5nIGRpcmVjdG9yeSwgYW5kIGlmIHNvLCBhZGRzIGl0IHRvIGBgc3lzLnBhdGhgYCBhbmQKLWFsc28gaW5zcGVjdHMgdGhlIG5ld2x5IGFkZGVkIHBhdGggZm9yIGNvbmZpZ3VyYXRpb24gZmlsZXMuCis6ZmlsZTpgbGliL3B5dGhvbntYLll9L3NpdGUtcGFja2FnZXNgIChvbiBVbml4IGFuZCBNYWNpbnRvc2gpLiAgRm9yIGVhY2gKK29mIHRoZSBkaXN0aW5jdCBoZWFkLXRhaWwgY29tYmluYXRpb25zLCBpdCBzZWVzIGlmIGl0IHJlZmVycyB0byBhbiBleGlzdGluZworZGlyZWN0b3J5LCBhbmQgaWYgc28sIGFkZHMgaXQgdG8gYGBzeXMucGF0aGBgIGFuZCBhbHNvIGluc3BlY3RzIHRoZSBuZXdseQorYWRkZWQgcGF0aCBmb3IgY29uZmlndXJhdGlvbiBmaWxlcy4KIAotLi4gZGVwcmVjYXRlZDo6IDMuNAotICAgU3VwcG9ydCBmb3IgdGhlICJzaXRlLXB5dGhvbiIgZGlyZWN0b3J5IHdpbGwgYmUgcmVtb3ZlZCBpbiAzLjUuCisuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuNQorICAgU3VwcG9ydCBmb3IgdGhlICJzaXRlLXB5dGhvbiIgZGlyZWN0b3J5IGhhcyBiZWVuIHJlbW92ZWQuCiAKIElmIGEgZmlsZSBuYW1lZCAicHl2ZW52LmNmZyIgZXhpc3RzIG9uZSBkaXJlY3RvcnkgYWJvdmUgc3lzLmV4ZWN1dGFibGUsCiBzeXMucHJlZml4IGFuZCBzeXMuZXhlY19wcmVmaXggYXJlIHNldCB0byB0aGF0IGRpcmVjdG9yeSBhbmQKLWl0IGlzIGFsc28gY2hlY2tlZCBmb3Igc2l0ZS1wYWNrYWdlcyBhbmQgc2l0ZS1weXRob24gKHN5cy5iYXNlX3ByZWZpeCBhbmQKK2l0IGlzIGFsc28gY2hlY2tlZCBmb3Igc2l0ZS1wYWNrYWdlcyAoc3lzLmJhc2VfcHJlZml4IGFuZAogc3lzLmJhc2VfZXhlY19wcmVmaXggd2lsbCBhbHdheXMgYmUgdGhlICJyZWFsIiBwcmVmaXhlcyBvZiB0aGUgUHl0aG9uCiBpbnN0YWxsYXRpb24pLiBJZiAicHl2ZW52LmNmZyIgKGEgYm9vdHN0cmFwIGNvbmZpZ3VyYXRpb24gZmlsZSkgY29udGFpbnMKIHRoZSBrZXkgImluY2x1ZGUtc3lzdGVtLXNpdGUtcGFja2FnZXMiIHNldCB0byBhbnl0aGluZyBvdGhlciB0aGFuICJmYWxzZSIKQEAgLTE4NCw3ICsxODMsNyBAQAogICAgdW5sZXNzIHRoZSBQeXRob24gaW50ZXJwcmV0ZXIgd2FzIHN0YXJ0ZWQgd2l0aCB0aGUgOm9wdGlvbjpgLVNgIGZsYWcuCiAKICAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy4zCi0gICAgICBUaGlzIGZ1bmN0aW9uIHVzZWQgdG8gYmUgY2FsbGVkIHVuY29uZGl0aW9ubmFsbHkuCisgICAgICBUaGlzIGZ1bmN0aW9uIHVzZWQgdG8gYmUgY2FsbGVkIHVuY29uZGl0aW9uYWxseS4KIAogCiAuLiBmdW5jdGlvbjo6IGFkZHNpdGVkaXIoc2l0ZWRpciwga25vd25fcGF0aHM9Tm9uZSkKQEAgLTE5NSw4ICsxOTQsNyBAQAogCiAuLiBmdW5jdGlvbjo6IGdldHNpdGVwYWNrYWdlcygpCiAKLSAgIFJldHVybiBhIGxpc3QgY29udGFpbmluZyBhbGwgZ2xvYmFsIHNpdGUtcGFja2FnZXMgZGlyZWN0b3JpZXMgKGFuZCBwb3NzaWJseQotICAgc2l0ZS1weXRob24pLgorICAgUmV0dXJuIGEgbGlzdCBjb250YWluaW5nIGFsbCBnbG9iYWwgc2l0ZS1wYWNrYWdlcyBkaXJlY3Rvcmllcy4KIAogICAgLi4gdmVyc2lvbmFkZGVkOjogMy4yCiAKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L3NtdHBkLnJzdCBiL0RvYy9saWJyYXJ5L3NtdHBkLnJzdAppbmRleCAzZWJlZDA2Li4zZTBjNmZiIDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS9zbXRwZC5yc3QKKysrIGIvRG9jL2xpYnJhcnkvc210cGQucnN0CkBAIC0yMCw3ICsyMCw4IEBACiBBZGRpdGlvbmFsbHkgdGhlIFNNVFBDaGFubmVsIG1heSBiZSBleHRlbmRlZCB0byBpbXBsZW1lbnQgdmVyeSBzcGVjaWZpYwogaW50ZXJhY3Rpb24gYmVoYXZpb3VyIHdpdGggU01UUCBjbGllbnRzLgogCi1UaGUgY29kZSBzdXBwb3J0cyA6UkZDOmA1MzIxYCwgcGx1cyB0aGUgOnJmYzpgMTg3MGAgU0laRSBleHRlbnNpb24uCitUaGUgY29kZSBzdXBwb3J0cyA6UkZDOmA1MzIxYCwgcGx1cyB0aGUgOnJmYzpgMTg3MGAgU0laRSBhbmQgOnJmYzpgNjUzMWAKK1NNVFBVVEY4IGV4dGVuc2lvbnMuCiAKIAogU01UUFNlcnZlciBPYmplY3RzCkBAIC0yOCw3ICsyOSw3IEBACiAKIAogLi4gY2xhc3M6OiBTTVRQU2VydmVyKGxvY2FsYWRkciwgcmVtb3RlYWRkciwgZGF0YV9zaXplX2xpbWl0PTMzNTU0NDMyLFwKLSAgICAgICAgICAgICAgICAgICAgICBtYXA9Tm9uZSkKKyAgICAgICAgICAgICAgICAgICAgICBtYXA9Tm9uZSwgZW5hYmxlX1NNVFBVVEY4PUZhbHNlLCBkZWNvZGVfZGF0YT1UcnVlKQogCiAgICBDcmVhdGUgYSBuZXcgOmNsYXNzOmBTTVRQU2VydmVyYCBvYmplY3QsIHdoaWNoIGJpbmRzIHRvIGxvY2FsIGFkZHJlc3MKICAgICpsb2NhbGFkZHIqLiAgSXQgd2lsbCB0cmVhdCAqcmVtb3RlYWRkciogYXMgYW4gdXBzdHJlYW0gU01UUCByZWxheWVyLiAgSXQKQEAgLTM5LDE4ICs0MCw0NyBAQAogICAgYWNjZXB0ZWQgaW4gYSBgYERBVEFgYCBjb21tYW5kLiAgQSB2YWx1ZSBvZiBgYE5vbmVgYCBvciBgYDBgYCBtZWFucyBubwogICAgbGltaXQuCiAKKyAgICplbmFibGVfU01UUFVURjgqIGRldGVybWlucyB3aGV0aGVyIHRoZSBgYFNNVFBVVEY4YGAgZXh0ZW5zaW9uIChhcyBkZWZpbmVkCisgICBpbiA6UkZDOmA2NTMxYCkgc2hvdWxkIGJlIGVuYWJsZWQuICBUaGUgZGVmYXVsdCBpcyBgYEZhbHNlYGAuICBJZgorICAgKmVuYWJsZV9TTVRQVVRGKiBpcyBzZXQgdG8gYGBUcnVlYGAsIHRoZSA6bWV0aDpgcHJvY2Vzc19zbXRwdXRmOF9tZXNzYWdlYAorICAgbWV0aG9kIG11c3QgYmUgZGVmaW5lZC4gIEEgOmV4YzpgVmFsdWVFcnJvcmAgaXMgcmFpc2VkIGlmIGJvdGgKKyAgICplbmFibGVfU01UUFVURjgqIGFuZCAqZGVjb2RlX2RhdGEqIGFyZSBzZXQgdG8gYGBUcnVlYGAgYXQgdGhlIHNhbWUgdGltZS4KKwogICAgQSBkaWN0aW9uYXJ5IGNhbiBiZSBzcGVjaWZpZWQgaW4gKm1hcCogdG8gYXZvaWQgdXNpbmcgYSBnbG9iYWwgc29ja2V0IG1hcC4KIAorICAgKmRlY29kZV9kYXRhKiBzcGVjaWZpZXMgd2hldGhlciB0aGUgZGF0YSBwb3J0aW9uIG9mIHRoZSBTTVRQIHRyYW5zYWN0aW9uCisgICBzaG91bGQgYmUgZGVjb2RlZCB1c2luZyBVVEYtOC4gIFRoZSBkZWZhdWx0IGlzIGBgVHJ1ZWBgIGZvciBiYWNrd2FyZAorICAgY29tcGF0aWJpbGl0eSByZWFzb25zLCBidXQgd2lsbCBjaGFuZ2UgdG8gYGBGYWxzZWBgIGluIFB5dGhvbiAzLjYuICBTcGVjaWZ5CisgICB0aGUga2V5d29yZCB2YWx1ZSBleHBsaWNpdGx5IHRvIGF2b2lkIHRoZSA6ZXhjOmBEZXByZWNhdGlvbldhcm5pbmdgLgorCiAgICAuLiBtZXRob2Q6OiBwcm9jZXNzX21lc3NhZ2UocGVlciwgbWFpbGZyb20sIHJjcHR0b3MsIGRhdGEpCiAKLSAgICAgIFJhaXNlIDpleGM6YE5vdEltcGxlbWVudGVkRXJyb3JgIGV4Y2VwdGlvbi4gT3ZlcnJpZGUgdGhpcyBpbiBzdWJjbGFzc2VzIHRvCisgICAgICBSYWlzZSBhIDpleGM6YE5vdEltcGxlbWVudGVkRXJyb3JgIGV4Y2VwdGlvbi4gT3ZlcnJpZGUgdGhpcyBpbiBzdWJjbGFzc2VzIHRvCiAgICAgICBkbyBzb21ldGhpbmcgdXNlZnVsIHdpdGggdGhpcyBtZXNzYWdlLiBXaGF0ZXZlciB3YXMgcGFzc2VkIGluIHRoZQogICAgICAgY29uc3RydWN0b3IgYXMgKnJlbW90ZWFkZHIqIHdpbGwgYmUgYXZhaWxhYmxlIGFzIHRoZSA6YXR0cjpgX3JlbW90ZWFkZHJgCiAgICAgICBhdHRyaWJ1dGUuICpwZWVyKiBpcyB0aGUgcmVtb3RlIGhvc3QncyBhZGRyZXNzLCAqbWFpbGZyb20qIGlzIHRoZSBlbnZlbG9wZQogICAgICAgb3JpZ2luYXRvciwgKnJjcHR0b3MqIGFyZSB0aGUgZW52ZWxvcGUgcmVjaXBpZW50cyBhbmQgKmRhdGEqIGlzIGEgc3RyaW5nCi0gICAgICBjb250YWluaW5nIHRoZSBjb250ZW50cyBvZiB0aGUgZS1tYWlsICh3aGljaCBzaG91bGQgYmUgaW4gOnJmYzpgMjgyMmAKKyAgICAgIGNvbnRhaW5pbmcgdGhlIGNvbnRlbnRzIG9mIHRoZSBlLW1haWwgKHdoaWNoIHNob3VsZCBiZSBpbiA6cmZjOmA1MzIxYAogICAgICAgZm9ybWF0KS4KIAorICAgICAgSWYgdGhlICpkZWNvZGVfZGF0YSogY29uc3RydWN0b3Iga2V5d29yZCBpcyBzZXQgdG8gYGBUcnVlYGAsIHRoZSAqZGF0YSoKKyAgICAgIGFyZ3VtZW50IHdpbGwgYmUgYSB1bmljb2RlIHN0cmluZy4gIElmIGl0IGlzIHNldCB0byBgYEZhbHNlYGAsIGl0CisgICAgICB3aWxsIGJlIGEgYnl0ZXMgb2JqZWN0LgorCisgICAgICBSZXR1cm4gYGBOb25lYGAgdG8gcmVxdWVzdCBhIG5vcm1hbCBgYDI1MCBPa2BgIHJlc3BvbnNlOyBvdGhlcndpc2UKKyAgICAgIHJldHVybiB0aGUgZGVzaXJlZCByZXNwb25zZSBzdHJpbmcgaW4gOlJGQzpgNTMyMWAgZm9ybWF0LgorCisgICAuLiBtZXRob2Q6OiBwcm9jZXNzX3NtdHB1dGY4X21lc3NhZ2UocGVlciwgbWFpbGZyb20sIHJjcHR0b3MsIGRhdGEpCisKKyAgICAgIFJhaXNlIGEgOmV4YzpgTm90SW1wbGVtZW50ZWRFcnJvcmAgZXhjZXB0aW9uLiAgT3ZlcnJpZGUgdGhpcyBpbgorICAgICAgc3ViY2xhc3NlcyB0byBkbyBzb21ldGhpbmcgdXNlZnVsIHdpdGggbWVzc2FnZXMgd2hlbiAqZW5hYmxlX1NNVFBVVEY4KgorICAgICAgaGFzIGJlZW4gc2V0IHRvIGBgVHJ1ZWBgIGFuZCB0aGUgU01UUCBjbGllbnQgcmVxdWVzdGVkIGBgU01UUFVURjhgYCwKKyAgICAgIHNpbmNlIHRoaXMgbWV0aG9kIGlzIGNhbGxlZCByYXRoZXIgdGhhbiA6bWV0aDpgcHJvY2Vzc19tZXNzYWdlYCB3aGVuIHRoZQorICAgICAgY2xpZW50IGFjdGl2ZWx5IHJlcXVlc3RzIGBgU01UUFVURjhgYC4gIFRoZSAqZGF0YSogYXJndW1lbnQgd2lsbCBhbHdheXMKKyAgICAgIGJlIGEgYnl0ZXMgb2JqZWN0LCBhbmQgYW55IG5vbi1gYE5vbmVgYCByZXR1cm4gdmFsdWUgc2hvdWxkIGNvbmZvcm0gdG8KKyAgICAgIDpyZmM6YDY1MzFgOyBvdGhlcndpc2UsIHRoZSBBUEkgaXMgdGhlIHNhbWUgYXMgZm9yCisgICAgICA6bWV0aDpgcHJvY2Vzc19tZXNzYWdlYC4KKwogICAgLi4gYXR0cmlidXRlOjogY2hhbm5lbF9jbGFzcwogCiAgICAgICBPdmVycmlkZSB0aGlzIGluIHN1YmNsYXNzZXMgdG8gdXNlIGEgY3VzdG9tIDpjbGFzczpgU01UUENoYW5uZWxgIGZvcgpAQCAtNTksNiArODksMTMgQEAKICAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy40CiAgICAgICBUaGUgKm1hcCogYXJndW1lbnQgd2FzIGFkZGVkLgogCisgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuNQorICAgICAgKmxvY2FsYWRkciogYW5kICpyZW1vdGVhZGRyKiBtYXkgbm93IGNvbnRhaW4gSVB2NiBhZGRyZXNzZXMuCisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuNQorICAgICAgdGhlICpkZWNvZGVfZGF0YSogYW5kICplbmFibGVfU01UUFVURjgqIGNvbnN0cnVjdG9yIGFyZ3VtZW50cywgYW5kIHRoZQorICAgICAgOm1ldGg6YHByb2Nlc3Nfc210cHV0ZjhfbWVzc2FnZWAgbWV0aG9kLgorCiAKIERlYnVnZ2luZ1NlcnZlciBPYmplY3RzCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpAQCAtOTcsNyArMTM0LDcgQEAKIC0tLS0tLS0tLS0tLS0tLS0tLS0KIAogLi4gY2xhc3M6OiBTTVRQQ2hhbm5lbChzZXJ2ZXIsIGNvbm4sIGFkZHIsIGRhdGFfc2l6ZV9saW1pdD0zMzU1NDQzMixcCi0gICAgICAgICAgICAgICAgICAgICAgIG1hcD1Ob25lKSkKKyAgICAgICAgICAgICAgICAgICAgICAgbWFwPU5vbmUsIGVuYWJsZV9TTVRQVVRGOD1GYWxzZSwgZGVjb2RlX2RhdGE9VHJ1ZSkKIAogICAgQ3JlYXRlIGEgbmV3IDpjbGFzczpgU01UUENoYW5uZWxgIG9iamVjdCB3aGljaCBtYW5hZ2VzIHRoZSBjb21tdW5pY2F0aW9uCiAgICBiZXR3ZWVuIHRoZSBzZXJ2ZXIgYW5kIGEgc2luZ2xlIFNNVFAgY2xpZW50LgpAQCAtMTA4LDExICsxNDUsMjQgQEAKICAgIGFjY2VwdGVkIGluIGEgYGBEQVRBYGAgY29tbWFuZC4gIEEgdmFsdWUgb2YgYGBOb25lYGAgb3IgYGAwYGAgbWVhbnMgbm8KICAgIGxpbWl0LgogCisgICAqZW5hYmxlX1NNVFBVVEY4KiBkZXRlcm1pbnMgd2hldGhlciB0aGUgYGBTTVRQVVRGOGBgIGV4dGVuc2lvbiAoYXMgZGVmaW5lZAorICAgaW4gOlJGQzpgNjUzMWApIHNob3VsZCBiZSBlbmFibGVkLiAgVGhlIGRlZmF1bHQgaXMgYGBGYWxzZWBgLiAgQQorICAgOmV4YzpgVmFsdWVFcnJvcmAgaXMgcmFpc2VkIGlmIGJvdGggKmVuYWJsZV9TTVRQVVRGOCogYW5kICpkZWNvZGVfZGF0YSogYXJlCisgICBzZXQgdG8gYGBUcnVlYGAgYXQgdGhlIHNhbWUgdGltZS4KKwogICAgQSBkaWN0aW9uYXJ5IGNhbiBiZSBzcGVjaWZpZWQgaW4gKm1hcCogdG8gYXZvaWQgdXNpbmcgYSBnbG9iYWwgc29ja2V0IG1hcC4KIAorICAgKmRlY29kZV9kYXRhKiBzcGVjaWZpZXMgd2hldGhlciB0aGUgZGF0YSBwb3J0aW9uIG9mIHRoZSBTTVRQIHRyYW5zYWN0aW9uCisgICBzaG91bGQgYmUgZGVjb2RlZCB1c2luZyBVVEYtOC4gIFRoZSBkZWZhdWx0IGlzIGBgVHJ1ZWBgIGZvciBiYWNrd2FyZAorICAgY29tcGF0aWJpbGl0eSByZWFzb25zLCBidXQgd2lsbCBjaGFuZ2UgdG8gYGBGYWxzZWBgIGluIFB5dGhvbiAzLjYuICBTcGVjaWZ5CisgICB0aGUga2V5d29yZCB2YWx1ZSBleHBsaWNpdGx5IHRvIGF2b2lkIHRoZSA6ZXhjOmBEZXByZWNhdGlvbldhcm5pbmdgLgorCiAgICBUbyB1c2UgYSBjdXN0b20gU01UUENoYW5uZWwgaW1wbGVtZW50YXRpb24geW91IG5lZWQgdG8gb3ZlcnJpZGUgdGhlCiAgICA6YXR0cjpgU01UUFNlcnZlci5jaGFubmVsX2NsYXNzYCBvZiB5b3VyIDpjbGFzczpgU01UUFNlcnZlcmAuCiAKKyAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy41CisgICAgICB0aGUgKmRlY29kZV9kYXRhKiBhbmQgKmVuYWJsZV9TTVRQVVRGOCogYXJndW1lbnRzIHdlcmUgYWRkZWQuCisKICAgIFRoZSA6Y2xhc3M6YFNNVFBDaGFubmVsYCBoYXMgdGhlIGZvbGxvd2luZyBpbnN0YW5jZSB2YXJpYWJsZXM6CiAKICAgIC4uIGF0dHJpYnV0ZTo6IHNtdHBfc2VydmVyCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9zbXRwbGliLnJzdCBiL0RvYy9saWJyYXJ5L3NtdHBsaWIucnN0CmluZGV4IDhlMWJmYjUuLjc0ZGU3N2IgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L3NtdHBsaWIucnN0CisrKyBiL0RvYy9saWJyYXJ5L3NtdHBsaWIucnN0CkBAIC0yNDAsOCArMjQwLDcgQEAKICAgIHRoZSBzZXJ2ZXIgaXMgc3RvcmVkIGFzIHRoZSA6YXR0cjpgZWhsb19yZXNwYCBhdHRyaWJ1dGUsIDphdHRyOmBkb2VzX2VzbXRwYAogICAgaXMgc2V0IHRvIHRydWUgb3IgZmFsc2UgZGVwZW5kaW5nIG9uIHdoZXRoZXIgdGhlIHNlcnZlciBzdXBwb3J0cyBFU01UUCwgYW5kCiAgICA6YXR0cjpgZXNtdHBfZmVhdHVyZXNgIHdpbGwgYmUgYSBkaWN0aW9uYXJ5IGNvbnRhaW5pbmcgdGhlIG5hbWVzIG9mIHRoZQotICAgU01UUCBzZXJ2aWNlIGV4dGVuc2lvbnMgdGhpcyBzZXJ2ZXIgc3VwcG9ydHMsIGFuZCB0aGVpcgotICAgcGFyYW1ldGVycyAoaWYgYW55KS4KKyAgIFNNVFAgc2VydmljZSBleHRlbnNpb25zIHRoaXMgc2VydmVyIHN1cHBvcnRzLCBhbmQgdGhlaXIgcGFyYW1ldGVycyAoaWYgYW55KS4KIAogICAgVW5sZXNzIHlvdSB3aXNoIHRvIHVzZSA6bWV0aDpgaGFzX2V4dG5gIGJlZm9yZSBzZW5kaW5nIG1haWwsIGl0IHNob3VsZCBub3QgYmUKICAgIG5lY2Vzc2FyeSB0byBjYWxsIHRoaXMgbWV0aG9kIGV4cGxpY2l0bHkuICBJdCB3aWxsIGJlIGltcGxpY2l0bHkgY2FsbGVkIGJ5CkBAIC0yOTEsNiArMjkwLDQyIEBACiAgICA6ZXhjOmBTTVRQRXhjZXB0aW9uYAogICAgICAgTm8gc3VpdGFibGUgYXV0aGVudGljYXRpb24gbWV0aG9kIHdhcyBmb3VuZC4KIAorICAgRWFjaCBvZiB0aGUgYXV0aGVudGljYXRpb24gbWV0aG9kcyBzdXBwb3J0ZWQgYnkgOm1vZDpgc210cGxpYmAgYXJlIHRyaWVkIGluCisgICB0dXJuIGlmIHRoZXkgYXJlIGFkdmVydGlzZWQgYXMgc3VwcG9ydGVkIGJ5IHRoZSBzZXJ2ZXIgKHNlZSA6bWV0aDpgYXV0aGAKKyAgIGZvciBhIGxpc3Qgb2Ygc3VwcG9ydGVkIGF1dGhlbnRpY2F0aW9uIG1ldGhvZHMpLgorCisKKy4uIG1ldGhvZDo6IFNNVFAuYXV0aChtZWNoYW5pc20sIGF1dGhvYmplY3QpCisKKyAgIElzc3VlIGFuIGBgU01UUGBgIGBgQVVUSGBgIGNvbW1hbmQgZm9yIHRoZSBzcGVjaWZpZWQgYXV0aGVudGljYXRpb24KKyAgICptZWNoYW5pc20qLCBhbmQgaGFuZGxlIHRoZSBjaGFsbGVuZ2UgcmVzcG9uc2UgdmlhICphdXRob2JqZWN0Ki4KKworICAgKm1lY2hhbmlzbSogc3BlY2lmaWVzIHdoaWNoIGF1dGhlbnRpY2F0aW9uIG1lY2hhbmlzbSBpcyB0bworICAgYmUgdXNlZCBhcyBhcmd1bWVudCB0byB0aGUgYGBBVVRIYGAgY29tbWFuZDsgdGhlIHZhbGlkIHZhbHVlcyBhcmUKKyAgIHRob3NlIGxpc3RlZCBpbiB0aGUgYGBhdXRoYGAgZWxlbWVudCBvZiA6YXR0cjpgZXNtdHBfZmVhdHVyZXNgLgorCisgICAqYXV0aG9iamVjdCogbXVzdCBiZSBhIGNhbGxhYmxlIG9iamVjdCB0YWtpbmcgYSBzaW5nbGUgYXJndW1lbnQ6CisKKyAgICAgZGF0YSA9IGF1dGhvYmplY3QoY2hhbGxlbmdlKQorCisgICBJdCB3aWxsIGJlIGNhbGxlZCB0byBwcm9jZXNzIHRoZSBzZXJ2ZXIncyBjaGFsbGVuZ2UgcmVzcG9uc2U7IHRoZQorICAgKmNoYWxsZW5nZSogYXJndW1lbnQgaXQgaXMgcGFzc2VkIHdpbGwgYmUgYSBgYGJ5dGVzYGAuICBJdCBzaG91bGQgcmV0dXJuCisgICBgYGJ5dGVzYGAgKmRhdGEqIHRoYXQgd2lsbCBiZSBiYXNlNjQgZW5jb2RlZCBhbmQgc2VudCB0byB0aGUgc2VydmVyLgorCisgICBUaGUgYGBTTVRQYGAgY2xhc3MgcHJvdmlkZXMgYGBhdXRob2JqZWN0c2BgIGZvciB0aGUgYGBDUkFNLU1ENWBgLCBgYFBMQUlOYGAsCisgICBhbmQgYGBMT0dJTmBgIG1lY2hhbmlzbXM7IHRoZXkgYXJlIG5hbWVkIGBgU01UUC5hdXRoX2NyYW1fbWQ1YGAsCisgICBgYFNNVFAuYXV0aF9wbGFpbmBgLCBhbmQgYGBTTVRQLmF1dGhfbG9naW5gYCByZXNwZWN0aXZlbHkuICBUaGV5IGFsbCByZXF1aXJlCisgICB0aGF0IHRoZSBgYHVzZXJgYCBhbmQgYGBwYXNzd29yZGBgIHByb3BlcnRpZXMgb2YgdGhlIGBgU01UUGBgIGluc3RhbmNlIGFyZQorICAgc2V0IHRvIGFwcHJvcHJpYXRlIHZhbHVlcy4KKworICAgVXNlciBjb2RlIGRvZXMgbm90IG5vcm1hbGx5IG5lZWQgdG8gY2FsbCBgYGF1dGhgYCBkaXJlY3RseSwgYnV0IGNhbiBpbnN0ZWFkCisgICBjYWxsIHRoZSA6bWV0aDpgbG9naW5gIG1ldGhvZCwgd2hpY2ggd2lsbCB0cnkgZWFjaCBvZiB0aGUgYWJvdmUgbWVjaGFuaXNtcyBpbgorICAgdHVybiwgaW4gdGhlIG9yZGVyIGxpc3RlZC4gIGBgYXV0aGBgIGlzIGV4cG9zZWQgdG8gZmFjaWxpdGF0ZSB0aGUKKyAgIGltcGxlbWVudGF0aW9uIG9mIGF1dGhlbnRpY2F0aW9uIG1ldGhvZHMgbm90IChvciBub3QgeWV0KSBzdXBwb3J0ZWQgZGlyZWN0bHkKKyAgIGJ5IDptb2Q6YHNtdHBsaWJgLgorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjUKKwogCiAuLiBtZXRob2Q6OiBTTVRQLnN0YXJ0dGxzKGtleWZpbGU9Tm9uZSwgY2VydGZpbGU9Tm9uZSwgY29udGV4dD1Ob25lKQogCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9zbmRoZHIucnN0IGIvRG9jL2xpYnJhcnkvc25kaGRyLnJzdAppbmRleCBmMzZkZjY4Li5mOGI1ZDhiIDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS9zbmRoZHIucnN0CisrKyBiL0RvYy9saWJyYXJ5L3NuZGhkci5yc3QKQEAgLTE2LDggKzE2LDkgQEAKIAogVGhlIDptb2Q6YHNuZGhkcmAgcHJvdmlkZXMgdXRpbGl0eSBmdW5jdGlvbnMgd2hpY2ggYXR0ZW1wdCB0byBkZXRlcm1pbmUgdGhlIHR5cGUKIG9mIHNvdW5kIGRhdGEgd2hpY2ggaXMgaW4gYSBmaWxlLiAgV2hlbiB0aGVzZSBmdW5jdGlvbnMgYXJlIGFibGUgdG8gZGV0ZXJtaW5lCi13aGF0IHR5cGUgb2Ygc291bmQgZGF0YSBpcyBzdG9yZWQgaW4gYSBmaWxlLCB0aGV5IHJldHVybiBhIHR1cGxlIGBgKHR5cGUsCi1zYW1wbGluZ19yYXRlLCBjaGFubmVscywgZnJhbWVzLCBiaXRzX3Blcl9zYW1wbGUpYGAuICBUaGUgdmFsdWUgZm9yICp0eXBlKgord2hhdCB0eXBlIG9mIHNvdW5kIGRhdGEgaXMgc3RvcmVkIGluIGEgZmlsZSwgdGhleSByZXR1cm4gYQorOmZ1bmM6YH5jb2xsZWN0aW9ucy5uYW1lZHR1cGxlYCwgY29udGFpbmluZyBmaXZlIGF0dHJpYnV0ZXM6IChgYGZpbGV0eXBlYGAsCitgYGZyYW1lcmF0ZWBgLCBgYG5jaGFubmVsc2BgLCBgYG5mcmFtZXNgYCwgYGBzYW1wd2lkdGhgYCkuIFRoZSB2YWx1ZSBmb3IgKnR5cGUqCiBpbmRpY2F0ZXMgdGhlIGRhdGEgdHlwZSBhbmQgd2lsbCBiZSBvbmUgb2YgdGhlIHN0cmluZ3MgYGAnYWlmYydgYCwgYGAnYWlmZidgYCwKIGBgJ2F1J2BgLCBgYCdoY29tJ2BgLCBgYCdzbmRyJ2BgLCBgYCdzbmR0J2BgLCBgYCd2b2MnYGAsIGBgJ3dhdidgYCwgYGAnOHN2eCdgYCwKIGBgJ3NiJ2BgLCBgYCd1YidgYCwgb3IgYGAndWwnYGAuICBUaGUgKnNhbXBsaW5nX3JhdGUqIHdpbGwgYmUgZWl0aGVyIHRoZSBhY3R1YWwKQEAgLTMxLDEzICszMiwxOSBAQAogLi4gZnVuY3Rpb246OiB3aGF0KGZpbGVuYW1lKQogCiAgICBEZXRlcm1pbmVzIHRoZSB0eXBlIG9mIHNvdW5kIGRhdGEgc3RvcmVkIGluIHRoZSBmaWxlICpmaWxlbmFtZSogdXNpbmcKLSAgIDpmdW5jOmB3aGF0aGRyYC4gIElmIGl0IHN1Y2NlZWRzLCByZXR1cm5zIGEgdHVwbGUgYXMgZGVzY3JpYmVkIGFib3ZlLCBvdGhlcndpc2UKKyAgIDpmdW5jOmB3aGF0aGRyYC4gIElmIGl0IHN1Y2NlZWRzLCByZXR1cm5zIGEgbmFtZWR0dXBsZSBhcyBkZXNjcmliZWQgYWJvdmUsIG90aGVyd2lzZQogICAgYGBOb25lYGAgaXMgcmV0dXJuZWQuCiAKKyAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy41CisgICAgICBSZXN1bHQgY2hhbmdlZCBmcm9tIGEgdHVwbGUgdG8gYSBuYW1lZHR1cGxlLgorCiAKIC4uIGZ1bmN0aW9uOjogd2hhdGhkcihmaWxlbmFtZSkKIAogICAgRGV0ZXJtaW5lcyB0aGUgdHlwZSBvZiBzb3VuZCBkYXRhIHN0b3JlZCBpbiBhIGZpbGUgYmFzZWQgb24gdGhlIGZpbGUgIGhlYWRlci4KLSAgIFRoZSBuYW1lIG9mIHRoZSBmaWxlIGlzIGdpdmVuIGJ5ICpmaWxlbmFtZSouICBUaGlzIGZ1bmN0aW9uIHJldHVybnMgYSB0dXBsZSBhcworICAgVGhlIG5hbWUgb2YgdGhlIGZpbGUgaXMgZ2l2ZW4gYnkgKmZpbGVuYW1lKi4gIFRoaXMgZnVuY3Rpb24gcmV0dXJucyBhIG5hbWVkdHVwbGUgYXMKICAgIGRlc2NyaWJlZCBhYm92ZSBvbiBzdWNjZXNzLCBvciBgYE5vbmVgYC4KIAorICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjUKKyAgICAgIFJlc3VsdCBjaGFuZ2VkIGZyb20gYSB0dXBsZSB0byBhIG5hbWVkdHVwbGUuCisKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L3NvY2tldC5yc3QgYi9Eb2MvbGlicmFyeS9zb2NrZXQucnN0CmluZGV4IGI3MDNlOWUuLmUzMzBmMGEgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L3NvY2tldC5yc3QKKysrIGIvRG9jL2xpYnJhcnkvc29ja2V0LnJzdApAQCAtMzUyLDcgKzM1Miw2IEBACiAgICB0eXBlLCBhbmQgcHJvdG9jb2wgbnVtYmVyLiAgQWRkcmVzcyBmYW1pbHksIHNvY2tldCB0eXBlLCBhbmQgcHJvdG9jb2wgbnVtYmVyIGFyZQogICAgYXMgZm9yIHRoZSA6ZnVuYzpgLnNvY2tldGAgZnVuY3Rpb24gYWJvdmUuIFRoZSBkZWZhdWx0IGZhbWlseSBpcyA6Y29uc3Q6YEFGX1VOSVhgCiAgICBpZiBkZWZpbmVkIG9uIHRoZSBwbGF0Zm9ybTsgb3RoZXJ3aXNlLCB0aGUgZGVmYXVsdCBpcyA6Y29uc3Q6YEFGX0lORVRgLgotICAgQXZhaWxhYmlsaXR5OiBVbml4LgogCiAgICBUaGUgbmV3bHkgY3JlYXRlZCBzb2NrZXRzIGFyZSA6cmVmOmBub24taW5oZXJpdGFibGUgPGZkX2luaGVyaXRhbmNlPmAuCiAKQEAgLTM2Myw2ICszNjIsOSBAQAogICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjQKICAgICAgIFRoZSByZXR1cm5lZCBzb2NrZXRzIGFyZSBub3cgbm9uLWluaGVyaXRhYmxlLgogCisgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuNQorICAgICAgV2luZG93cyBzdXBwb3J0IGFkZGVkLgorCiAKIC4uIGZ1bmN0aW9uOjogY3JlYXRlX2Nvbm5lY3Rpb24oYWRkcmVzc1ssIHRpbWVvdXRbLCBzb3VyY2VfYWRkcmVzc11dKQogCkBAIC05MDgsMTIgKzkxMCwxNSBAQAogICAgT24gb3RoZXIgcGxhdGZvcm1zLCB0aGUgZ2VuZXJpYyA6ZnVuYzpgZmNudGwuZmNudGxgIGFuZCA6ZnVuYzpgZmNudGwuaW9jdGxgCiAgICBmdW5jdGlvbnMgbWF5IGJlIHVzZWQ7IHRoZXkgYWNjZXB0IGEgc29ja2V0IG9iamVjdCBhcyB0aGVpciBmaXJzdCBhcmd1bWVudC4KIAotLi4gbWV0aG9kOjogc29ja2V0Lmxpc3RlbihiYWNrbG9nKQorLi4gbWV0aG9kOjogc29ja2V0Lmxpc3RlbihbYmFja2xvZ10pCiAKLSAgIExpc3RlbiBmb3IgY29ubmVjdGlvbnMgbWFkZSB0byB0aGUgc29ja2V0LiAgVGhlICpiYWNrbG9nKiBhcmd1bWVudCBzcGVjaWZpZXMgdGhlCi0gICBtYXhpbXVtIG51bWJlciBvZiBxdWV1ZWQgY29ubmVjdGlvbnMgYW5kIHNob3VsZCBiZSBhdCBsZWFzdCAwOyB0aGUgbWF4aW11bSB2YWx1ZQotICAgaXMgc3lzdGVtLWRlcGVuZGVudCAodXN1YWxseSA1KSwgdGhlIG1pbmltdW0gdmFsdWUgaXMgZm9yY2VkIHRvIDAuCisgICBFbmFibGUgYSBzZXJ2ZXIgdG8gYWNjZXB0IGNvbm5lY3Rpb25zLiAgSWYgKmJhY2tsb2cqIGlzIHNwZWNpZmllZCwgaXQgbXVzdAorICAgYmUgYXQgbGVhc3QgMCAoaWYgaXQgaXMgbG93ZXIsIGl0IGlzIHNldCB0byAwKTsgaXQgc3BlY2lmaWVzIHRoZSBudW1iZXIgb2YKKyAgIHVuYWNjZXB0ZWQgY29ubmVjdGlvbnMgdGhhdCB0aGUgc3lzdGVtIHdpbGwgYWxsb3cgYmVmb3JlIHJlZnVzaW5nIG5ldworICAgY29ubmVjdGlvbnMuIElmIG5vdCBzcGVjaWZpZWQsIGEgZGVmYXVsdCByZWFzb25hYmxlIHZhbHVlIGlzIGNob3Nlbi4KIAorICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjUKKyAgICAgIFRoZSAqYmFja2xvZyogcGFyYW1ldGVyIGlzIG5vdyBvcHRpb25hbC4KIAogLi4gbWV0aG9kOjogc29ja2V0Lm1ha2VmaWxlKG1vZGU9J3InLCBidWZmZXJpbmc9Tm9uZSwgKiwgZW5jb2Rpbmc9Tm9uZSwgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9ycz1Ob25lLCBuZXdsaW5lPU5vbmUpCkBAIC0xMTQ4LDYgKzExNTMsMjEgQEAKIAogICAgLi4gdmVyc2lvbmFkZGVkOjogMy4zCiAKKy4uIG1ldGhvZDo6IHNvY2tldC5zZW5kZmlsZShmaWxlLCBvZmZzZXQ9MCwgY291bnQ9Tm9uZSkKKworICAgU2VuZCBhIGZpbGUgdW50aWwgRU9GIGlzIHJlYWNoZWQgYnkgdXNpbmcgaGlnaC1wZXJmb3JtYW5jZQorICAgOm1vZDpgb3Muc2VuZGZpbGVgIGFuZCByZXR1cm4gdGhlIHRvdGFsIG51bWJlciBvZiBieXRlcyB3aGljaCB3ZXJlIHNlbnQuCisgICAqZmlsZSogbXVzdCBiZSBhIHJlZ3VsYXIgZmlsZSBvYmplY3Qgb3BlbmVkIGluIGJpbmFyeSBtb2RlLiBJZgorICAgOm1vZDpgb3Muc2VuZGZpbGVgIGlzIG5vdCBhdmFpbGFibGUgKGUuZy4gV2luZG93cykgb3IgKmZpbGUqIGlzIG5vdCBhCisgICByZWd1bGFyIGZpbGUgOm1ldGg6YHNlbmRgIHdpbGwgYmUgdXNlZCBpbnN0ZWFkLiAqb2Zmc2V0KiB0ZWxscyBmcm9tIHdoZXJlIHRvCisgICBzdGFydCByZWFkaW5nIHRoZSBmaWxlLiBJZiBzcGVjaWZpZWQsICpjb3VudCogaXMgdGhlIHRvdGFsIG51bWJlciBvZiBieXRlcworICAgdG8gdHJhbnNtaXQgYXMgb3Bwb3NlZCB0byBzZW5kaW5nIHRoZSBmaWxlIHVudGlsIEVPRiBpcyByZWFjaGVkLiBGaWxlCisgICBwb3NpdGlvbiBpcyB1cGRhdGVkIG9uIHJldHVybiBvciBhbHNvIGluIGNhc2Ugb2YgZXJyb3IgaW4gd2hpY2ggY2FzZQorICAgOm1ldGg6YGZpbGUudGVsbCgpIDxpby5JT0Jhc2UudGVsbD5gIGNhbiBiZSB1c2VkIHRvIGZpZ3VyZSBvdXQgdGhlIG51bWJlciBvZgorICAgYnl0ZXMgd2hpY2ggd2VyZSBzZW50LiBUaGUgc29ja2V0IG11c3QgYmUgb2YgOmNvbnN0OmBTT0NLX1NUUkVBTWAgdHlwZS4gTm9uLQorICAgYmxvY2tpbmcgc29ja2V0cyBhcmUgbm90IHN1cHBvcnRlZC4KKworICAgLi4gdmVyc2lvbmFkZGVkOjogMy41CiAKIC4uIG1ldGhvZDo6IHNvY2tldC5zZXRfaW5oZXJpdGFibGUoaW5oZXJpdGFibGUpCiAKQEAgLTE0NDcsNyArMTQ2Nyw3IEBACiBjYW4gdXNlIHRoZSA6bWV0aDpgc29ja2V0LnNlbmRgLCBhbmQgdGhlIDptZXRoOmBzb2NrZXQucmVjdmAgb3BlcmF0aW9ucyAoYW5kCiB0aGVpciBjb3VudGVycGFydHMpIG9uIHRoZSBzb2NrZXQgb2JqZWN0IGFzIHVzdWFsLgogCi1UaGlzIGV4YW1wbGUgbWlnaHQgcmVxdWlyZSBzcGVjaWFsIHByaXZpbGVkZ2U6OgorVGhpcyBleGFtcGxlIG1pZ2h0IHJlcXVpcmUgc3BlY2lhbCBwcml2aWxlZ2VzOjoKIAogICAgaW1wb3J0IHNvY2tldAogICAgaW1wb3J0IHN0cnVjdApkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvc29ja2V0c2VydmVyLnJzdCBiL0RvYy9saWJyYXJ5L3NvY2tldHNlcnZlci5yc3QKaW5kZXggMWVjNDQzOC4uOWRiMzZkNSAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvc29ja2V0c2VydmVyLnJzdAorKysgYi9Eb2MvbGlicmFyeS9zb2NrZXRzZXJ2ZXIucnN0CkBAIC0xMTMsNyArMTEzLDcgQEAKIEFub3RoZXIgYXBwcm9hY2ggdG8gaGFuZGxpbmcgbXVsdGlwbGUgc2ltdWx0YW5lb3VzIHJlcXVlc3RzIGluIGFuIGVudmlyb25tZW50CiB0aGF0IHN1cHBvcnRzIG5laXRoZXIgdGhyZWFkcyBub3IgOmZ1bmM6YH5vcy5mb3JrYCAob3Igd2hlcmUgdGhlc2UgYXJlIHRvbwogZXhwZW5zaXZlIG9yIGluYXBwcm9wcmlhdGUgZm9yIHRoZSBzZXJ2aWNlKSBpcyB0byBtYWludGFpbiBhbiBleHBsaWNpdCB0YWJsZSBvZgotcGFydGlhbGx5IGZpbmlzaGVkIHJlcXVlc3RzIGFuZCB0byB1c2UgOmZ1bmM6YH5zZWxlY3Quc2VsZWN0YCB0byBkZWNpZGUgd2hpY2gKK3BhcnRpYWxseSBmaW5pc2hlZCByZXF1ZXN0cyBhbmQgdG8gdXNlIDptb2Q6YHNlbGVjdG9yc2AgdG8gZGVjaWRlIHdoaWNoCiByZXF1ZXN0IHRvIHdvcmsgb24gbmV4dCAob3Igd2hldGhlciB0byBoYW5kbGUgYSBuZXcgaW5jb21pbmcgcmVxdWVzdCkuICBUaGlzIGlzCiBwYXJ0aWN1bGFybHkgaW1wb3J0YW50IGZvciBzdHJlYW0gc2VydmljZXMgd2hlcmUgZWFjaCBjbGllbnQgY2FuIHBvdGVudGlhbGx5IGJlCiBjb25uZWN0ZWQgZm9yIGEgbG9uZyB0aW1lIChpZiB0aHJlYWRzIG9yIHN1YnByb2Nlc3NlcyBjYW5ub3QgYmUgdXNlZCkuICBTZWUKQEAgLTEzNiw3ICsxMzYsNyBAQAogLi4gbWV0aG9kOjogQmFzZVNlcnZlci5maWxlbm8oKQogCiAgICBSZXR1cm4gYW4gaW50ZWdlciBmaWxlIGRlc2NyaXB0b3IgZm9yIHRoZSBzb2NrZXQgb24gd2hpY2ggdGhlIHNlcnZlciBpcwotICAgbGlzdGVuaW5nLiAgVGhpcyBmdW5jdGlvbiBpcyBtb3N0IGNvbW1vbmx5IHBhc3NlZCB0byA6ZnVuYzpgc2VsZWN0LnNlbGVjdGAsIHRvCisgICBsaXN0ZW5pbmcuICBUaGlzIGZ1bmN0aW9uIGlzIG1vc3QgY29tbW9ubHkgcGFzc2VkIHRvIDptb2Q6YHNlbGVjdG9yc2AsIHRvCiAgICBhbGxvdyBtb25pdG9yaW5nIG11bHRpcGxlIHNlcnZlcnMgaW4gdGhlIHNhbWUgcHJvY2Vzcy4KIAogCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9zc2wucnN0IGIvRG9jL2xpYnJhcnkvc3NsLnJzdAppbmRleCBiYjMwZDBmLi43ODQ2Y2FkIDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS9zc2wucnN0CisrKyBiL0RvYy9saWJyYXJ5L3NzbC5yc3QKQEAgLTMyNyw2ICszMjcsOCBAQAogICAgU2VlIGh0dHA6Ly9lZ2Quc291cmNlZm9yZ2UubmV0LyBvciBodHRwOi8vcHJuZ2Quc291cmNlZm9yZ2UubmV0LyBmb3Igc291cmNlcwogICAgb2YgZW50cm9weS1nYXRoZXJpbmcgZGFlbW9ucy4KIAorICAgQXZhaWxhYmlsaXR5OiBub3QgYXZhaWxhYmxlIHdpdGggTGlicmVTU0wuCisKIC4uIGZ1bmN0aW9uOjogUkFORF9hZGQoYnl0ZXMsIGVudHJvcHkpCiAKICAgIE1peGVzIHRoZSBnaXZlbiAqYnl0ZXMqIGludG8gdGhlIFNTTCBwc2V1ZG8tcmFuZG9tIG51bWJlciBnZW5lcmF0b3IuICBUaGUKQEAgLTM0MiwxMCArMzQ0LDkgQEAKICAgIFZlcmlmeSB0aGF0ICpjZXJ0KiAoaW4gZGVjb2RlZCBmb3JtYXQgYXMgcmV0dXJuZWQgYnkKICAgIDptZXRoOmBTU0xTb2NrZXQuZ2V0cGVlcmNlcnRgKSBtYXRjaGVzIHRoZSBnaXZlbiAqaG9zdG5hbWUqLiAgVGhlIHJ1bGVzCiAgICBhcHBsaWVkIGFyZSB0aG9zZSBmb3IgY2hlY2tpbmcgdGhlIGlkZW50aXR5IG9mIEhUVFBTIHNlcnZlcnMgYXMgb3V0bGluZWQKLSAgIGluIDpyZmM6YDI4MThgIGFuZCA6cmZjOmA2MTI1YCwgZXhjZXB0IHRoYXQgSVAgYWRkcmVzc2VzIGFyZSBub3QgY3VycmVudGx5Ci0gICBzdXBwb3J0ZWQuIEluIGFkZGl0aW9uIHRvIEhUVFBTLCB0aGlzIGZ1bmN0aW9uIHNob3VsZCBiZSBzdWl0YWJsZSBmb3IKLSAgIGNoZWNraW5nIHRoZSBpZGVudGl0eSBvZiBzZXJ2ZXJzIGluIHZhcmlvdXMgU1NMLWJhc2VkIHByb3RvY29scyBzdWNoIGFzCi0gICBGVFBTLCBJTUFQUywgUE9QUyBhbmQgb3RoZXJzLgorICAgaW4gOnJmYzpgMjgxOGAgYW5kIDpyZmM6YDYxMjVgLiAgSW4gYWRkaXRpb24gdG8gSFRUUFMsIHRoaXMgZnVuY3Rpb24KKyAgIHNob3VsZCBiZSBzdWl0YWJsZSBmb3IgY2hlY2tpbmcgdGhlIGlkZW50aXR5IG9mIHNlcnZlcnMgaW4gdmFyaW91cworICAgU1NMLWJhc2VkIHByb3RvY29scyBzdWNoIGFzIEZUUFMsIElNQVBTLCBQT1BTIGFuZCBvdGhlcnMuCiAKICAgIDpleGM6YENlcnRpZmljYXRlRXJyb3JgIGlzIHJhaXNlZCBvbiBmYWlsdXJlLiBPbiBzdWNjZXNzLCB0aGUgZnVuY3Rpb24KICAgIHJldHVybnMgbm90aGluZzo6CkBAIC0zNjcsMjIgKzM2OCwzOCBAQAogICAgICAgSUROIEEtbGFiZWxzIHN1Y2ggYXMgYGB3d3cqLnhuLS1wdGhvbi1rdmEub3JnYGAgYXJlIHN0aWxsIHN1cHBvcnRlZCwKICAgICAgIGJ1dCBgYHgqLnB5dGhvbi5vcmdgYCBubyBsb25nZXIgbWF0Y2hlcyBgYHhuLS10ZGEucHl0aG9uLm9yZ2BgLgogCi0uLiBmdW5jdGlvbjo6IGNlcnRfdGltZV90b19zZWNvbmRzKHRpbWVzdHJpbmcpCisgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuNQorICAgICAgTWF0Y2hpbmcgb2YgSVAgYWRkcmVzc2VzLCB3aGVuIHByZXNlbnQgaW4gdGhlIHN1YmplY3RBbHROYW1lIGZpZWxkCisgICAgICBvZiB0aGUgY2VydGlmaWNhdGUsIGlzIG5vdyBzdXBwb3J0ZWQuCiAKLSAgIFJldHVybnMgYSBmbG9hdGluZy1wb2ludCB2YWx1ZSBjb250YWluaW5nIGEgbm9ybWFsIHNlY29uZHMtYWZ0ZXItdGhlLWVwb2NoCi0gICB0aW1lIHZhbHVlLCBnaXZlbiB0aGUgdGltZS1zdHJpbmcgcmVwcmVzZW50aW5nIHRoZSAibm90QmVmb3JlIiBvciAibm90QWZ0ZXIiCi0gICBkYXRlIGZyb20gYSBjZXJ0aWZpY2F0ZS4KKy4uIGZ1bmN0aW9uOjogY2VydF90aW1lX3RvX3NlY29uZHMoY2VydF90aW1lKQogCi0gICBIZXJlJ3MgYW4gZXhhbXBsZTo6CisgICBSZXR1cm4gdGhlIHRpbWUgaW4gc2Vjb25kcyBzaW5jZSB0aGUgRXBvY2gsIGdpdmVuIHRoZSBgYGNlcnRfdGltZWBgCisgICBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSAibm90QmVmb3JlIiBvciAibm90QWZ0ZXIiIGRhdGUgZnJvbSBhCisgICBjZXJ0aWZpY2F0ZSBpbiBgYCIlYiAlZCAlSDolTTolUyAlWSAlWiJgYCBzdHJwdGltZSBmb3JtYXQgKEMKKyAgIGxvY2FsZSkuCiAKLSAgICAgPj4+IGltcG9ydCBzc2wKLSAgICAgPj4+IHNzbC5jZXJ0X3RpbWVfdG9fc2Vjb25kcygiTWF5ICA5IDAwOjAwOjAwIDIwMDcgR01UIikKLSAgICAgMTE3ODY5NDAwMC4wCi0gICAgID4+PiBpbXBvcnQgdGltZQotICAgICA+Pj4gdGltZS5jdGltZShzc2wuY2VydF90aW1lX3RvX3NlY29uZHMoIk1heSAgOSAwMDowMDowMCAyMDA3IEdNVCIpKQotICAgICAnV2VkIE1heSAgOSAwMDowMDowMCAyMDA3JworICAgSGVyZSdzIGFuIGV4YW1wbGU6CiAKLS4uIGZ1bmN0aW9uOjogZ2V0X3NlcnZlcl9jZXJ0aWZpY2F0ZShhZGRyLCBzc2xfdmVyc2lvbj1QUk9UT0NPTF9TU0x2MywgY2FfY2VydHM9Tm9uZSkKKyAgIC4uIGRvY3Rlc3Q6OiBuZXdjb250ZXh0CisKKyAgICAgID4+PiBpbXBvcnQgc3NsCisgICAgICA+Pj4gdGltZXN0YW1wID0gc3NsLmNlcnRfdGltZV90b19zZWNvbmRzKCJKYW4gIDUgMDk6MzQ6NDMgMjAxOCBHTVQiKQorICAgICAgPj4+IHRpbWVzdGFtcAorICAgICAgMTUxNTE0NDg4MworICAgICAgPj4+IGZyb20gZGF0ZXRpbWUgaW1wb3J0IGRhdGV0aW1lCisgICAgICA+Pj4gcHJpbnQoZGF0ZXRpbWUudXRjZnJvbXRpbWVzdGFtcCh0aW1lc3RhbXApKQorICAgICAgMjAxOC0wMS0wNSAwOTozNDo0MworCisgICAibm90QmVmb3JlIiBvciAibm90QWZ0ZXIiIGRhdGVzIG11c3QgdXNlIEdNVCAoOnJmYzpgNTI4MGApLgorCisgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuNQorICAgICAgSW50ZXJwcmV0IHRoZSBpbnB1dCB0aW1lIGFzIGEgdGltZSBpbiBVVEMgYXMgc3BlY2lmaWVkIGJ5ICdHTVQnCisgICAgICB0aW1lem9uZSBpbiB0aGUgaW5wdXQgc3RyaW5nLiBMb2NhbCB0aW1lem9uZSB3YXMgdXNlZAorICAgICAgcHJldmlvdXNseS4gUmV0dXJuIGFuIGludGVnZXIgKG5vIGZyYWN0aW9ucyBvZiBhIHNlY29uZCBpbiB0aGUKKyAgICAgIGlucHV0IGZvcm1hdCkKKworLi4gZnVuY3Rpb246OiBnZXRfc2VydmVyX2NlcnRpZmljYXRlKGFkZHIsIHNzbF92ZXJzaW9uPVBST1RPQ09MX1NTTHYyMywgY2FfY2VydHM9Tm9uZSkKIAogICAgR2l2ZW4gdGhlIGFkZHJlc3MgYGBhZGRyYGAgb2YgYW4gU1NMLXByb3RlY3RlZCBzZXJ2ZXIsIGFzIGEgKCpob3N0bmFtZSosCiAgICAqcG9ydC1udW1iZXIqKSBwYWlyLCBmZXRjaGVzIHRoZSBzZXJ2ZXIncyBjZXJ0aWZpY2F0ZSwgYW5kIHJldHVybnMgaXQgYXMgYQpAQCAtMzk2LDYgKzQxMywxMCBAQAogICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjMKICAgICAgIFRoaXMgZnVuY3Rpb24gaXMgbm93IElQdjYtY29tcGF0aWJsZS4KIAorICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjUKKyAgICAgIFRoZSBkZWZhdWx0ICpzc2xfdmVyc2lvbiogaXMgY2hhbmdlZCBmcm9tIDpkYXRhOmBQUk9UT0NPTF9TU0x2M2AgdG8KKyAgICAgIDpkYXRhOmBQUk9UT0NPTF9TU0x2MjNgIGZvciBtYXhpbXVtIGNvbXBhdGliaWxpdHkgd2l0aCBtb2Rlcm4gc2VydmVycy4KKwogLi4gZnVuY3Rpb246OiBERVJfY2VydF90b19QRU1fY2VydChERVJfY2VydF9ieXRlcykKIAogICAgR2l2ZW4gYSBjZXJ0aWZpY2F0ZSBhcyBhIERFUi1lbmNvZGVkIGJsb2Igb2YgYnl0ZXMsIHJldHVybnMgYSBQRU0tZW5jb2RlZApAQCAtNjYzLDYgKzY4NCwxMyBAQAogCiAgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjMKIAorLi4gZGF0YTo6IEhBU19BTFBOCisKKyAgIFdoZXRoZXIgdGhlIE9wZW5TU0wgbGlicmFyeSBoYXMgYnVpbHQtaW4gc3VwcG9ydCBmb3IgdGhlICpBcHBsaWNhdGlvbi1MYXllcgorICAgUHJvdG9jb2wgTmVnb3RpYXRpb24qIFRMUyBleHRlbnNpb24gYXMgZGVzY3JpYmVkIGluIDpyZmM6YDczMDFgLgorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjUKKwogLi4gZGF0YTo6IEhBU19FQ0RICiAKICAgIFdoZXRoZXIgdGhlIE9wZW5TU0wgbGlicmFyeSBoYXMgYnVpbHQtaW4gc3VwcG9ydCBmb3IgRWxsaXB0aWMgQ3VydmUtYmFzZWQKQEAgLTc4MCw2ICs4MDgsOCBAQAogICAgICAoYnV0IHBhc3NpbmcgYSBub24temVybyBgYGZsYWdzYGAgYXJndW1lbnQgaXMgbm90IGFsbG93ZWQpCiAgICAtIDptZXRoOmB+c29ja2V0LnNvY2tldC5zZW5kKClgLCA6bWV0aDpgfnNvY2tldC5zb2NrZXQuc2VuZGFsbCgpYCAod2l0aAogICAgICB0aGUgc2FtZSBsaW1pdGF0aW9uKQorICAgLSA6bWV0aDpgfnNvY2tldC5zb2NrZXQuc2VuZGZpbGUoKWAgKGJ1dCA6bW9kOmBvcy5zZW5kZmlsZWAgd2lsbCBiZSB1c2VkCisgICAgIGZvciBwbGFpbi10ZXh0IHNvY2tldHMgb25seSwgZWxzZSA6bWV0aDpgfnNvY2tldC5zb2NrZXQuc2VuZCgpYCB3aWxsIGJlIHVzZWQpCiAgICAtIDptZXRoOmB+c29ja2V0LnNvY2tldC5zaHV0ZG93bigpYAogCiAgICBIb3dldmVyLCBzaW5jZSB0aGUgU1NMIChhbmQgVExTKSBwcm90b2NvbCBoYXMgaXRzIG93biBmcmFtaW5nIGF0b3AKQEAgLTc5MCw2ICs4MjAsMTAgQEAKICAgIFVzdWFsbHksIDpjbGFzczpgU1NMU29ja2V0YCBhcmUgbm90IGNyZWF0ZWQgZGlyZWN0bHksIGJ1dCB1c2luZyB0aGUKICAgIDpmdW5jOmB3cmFwX3NvY2tldGAgZnVuY3Rpb24gb3IgdGhlIDptZXRoOmBTU0xDb250ZXh0LndyYXBfc29ja2V0YCBtZXRob2QuCiAKKyAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy41CisgICAgICBUaGUgOm1ldGg6YHNlbmRmaWxlYCBtZXRob2Qgd2FzIGFkZGVkLgorCisKIFNTTCBzb2NrZXRzIGFsc28gaGF2ZSB0aGUgZm9sbG93aW5nIGFkZGl0aW9uYWwgbWV0aG9kcyBhbmQgYXR0cmlidXRlczoKIAogLi4gbWV0aG9kOjogU1NMU29ja2V0LnJlYWQobGVuPTAsIGJ1ZmZlcj1Ob25lKQpAQCAtOTA5LDYgKzk0MywxNyBAQAogICAgdmVyc2lvbiBvZiB0aGUgU1NMIHByb3RvY29sIHRoYXQgZGVmaW5lcyBpdHMgdXNlLCBhbmQgdGhlIG51bWJlciBvZiBzZWNyZXQKICAgIGJpdHMgYmVpbmcgdXNlZC4gIElmIG5vIGNvbm5lY3Rpb24gaGFzIGJlZW4gZXN0YWJsaXNoZWQsIHJldHVybnMgYGBOb25lYGAuCiAKKy4uIG1ldGhvZDo6IFNTTFNvY2tldC5zaGFyZWRfY2lwaGVycygpCisKKyAgIFJldHVybiB0aGUgbGlzdCBvZiBjaXBoZXJzIHNoYXJlZCBieSB0aGUgY2xpZW50IGR1cmluZyB0aGUgaGFuZHNoYWtlLiAgRWFjaAorICAgZW50cnkgb2YgdGhlIHJldHVybmVkIGxpc3QgaXMgYSB0aHJlZS12YWx1ZSB0dXBsZSBjb250YWluaW5nIHRoZSBuYW1lIG9mIHRoZQorICAgY2lwaGVyLCB0aGUgdmVyc2lvbiBvZiB0aGUgU1NMIHByb3RvY29sIHRoYXQgZGVmaW5lcyBpdHMgdXNlLCBhbmQgdGhlIG51bWJlcgorICAgb2Ygc2VjcmV0IGJpdHMgdGhlIGNpcGhlciB1c2VzLiAgOm1ldGg6YH5TU0xTb2NrZXQuc2hhcmVkX2NpcGhlcnNgIHJldHVybnMKKyAgIGBgTm9uZWBgIGlmIG5vIGNvbm5lY3Rpb24gaGFzIGJlZW4gZXN0YWJsaXNoZWQgb3IgdGhlIHNvY2tldCBpcyBhIGNsaWVudAorICAgc29ja2V0LgorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjUKKwogLi4gbWV0aG9kOjogU1NMU29ja2V0LmNvbXByZXNzaW9uKCkKIAogICAgUmV0dXJuIHRoZSBjb21wcmVzc2lvbiBhbGdvcml0aG0gYmVpbmcgdXNlZCBhcyBhIHN0cmluZywgb3IgYGBOb25lYGAKQEAgLTkzMiwxMiArOTc3LDIyIEBACiAKICAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMwogCisuLiBtZXRob2Q6OiBTU0xTb2NrZXQuc2VsZWN0ZWRfYWxwbl9wcm90b2NvbCgpCisKKyAgIFJldHVybiB0aGUgcHJvdG9jb2wgdGhhdCB3YXMgc2VsZWN0ZWQgZHVyaW5nIHRoZSBUTFMgaGFuZHNoYWtlLiAgSWYKKyAgIDptZXRoOmBTU0xDb250ZXh0LnNldF9hbHBuX3Byb3RvY29sc2Agd2FzIG5vdCBjYWxsZWQsIGlmIHRoZSBvdGhlciBwYXJ0eSBkb2VzCisgICBub3Qgc3VwcG9ydCBBTFBOLCBpZiB0aGlzIHNvY2tldCBkb2VzIG5vdCBzdXBwb3J0IGFueSBvZiB0aGUgY2xpZW50J3MKKyAgIHByb3Bvc2VkIHByb3RvY29scywgb3IgaWYgdGhlIGhhbmRzaGFrZSBoYXMgbm90IGhhcHBlbmVkIHlldCwgYGBOb25lYGAgaXMKKyAgIHJldHVybmVkLgorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjUKKwogLi4gbWV0aG9kOjogU1NMU29ja2V0LnNlbGVjdGVkX25wbl9wcm90b2NvbCgpCiAKLSAgIFJldHVybnMgdGhlIHByb3RvY29sIHRoYXQgd2FzIHNlbGVjdGVkIGR1cmluZyB0aGUgVExTL1NTTCBoYW5kc2hha2UuIElmCi0gICA6bWV0aDpgU1NMQ29udGV4dC5zZXRfbnBuX3Byb3RvY29sc2Agd2FzIG5vdCBjYWxsZWQsIG9yIGlmIHRoZSBvdGhlciBwYXJ0eQotICAgZG9lcyBub3Qgc3VwcG9ydCBOUE4sIG9yIGlmIHRoZSBoYW5kc2hha2UgaGFzIG5vdCB5ZXQgaGFwcGVuZWQsIHRoaXMgd2lsbAotICAgcmV0dXJuIGBgTm9uZWBgLgorICAgUmV0dXJuIHRoZSBoaWdoZXItbGV2ZWwgcHJvdG9jb2wgdGhhdCB3YXMgc2VsZWN0ZWQgZHVyaW5nIHRoZSBUTFMvU1NMCisgICBoYW5kc2hha2UuIElmIDptZXRoOmBTU0xDb250ZXh0LnNldF9ucG5fcHJvdG9jb2xzYCB3YXMgbm90IGNhbGxlZCwgb3IKKyAgIGlmIHRoZSBvdGhlciBwYXJ0eSBkb2VzIG5vdCBzdXBwb3J0IE5QTiwgb3IgaWYgdGhlIGhhbmRzaGFrZSBoYXMgbm90IHlldAorICAgaGFwcGVuZWQsIHRoaXMgd2lsbCByZXR1cm4gYGBOb25lYGAuCiAKICAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMwogCkBAIC05NDksNiArMTAwNCwxNiBAQAogICAgcmV0dXJuZWQgc29ja2V0IHNob3VsZCBhbHdheXMgYmUgdXNlZCBmb3IgZnVydGhlciBjb21tdW5pY2F0aW9uIHdpdGggdGhlCiAgICBvdGhlciBzaWRlIG9mIHRoZSBjb25uZWN0aW9uLCByYXRoZXIgdGhhbiB0aGUgb3JpZ2luYWwgc29ja2V0LgogCisuLiBtZXRob2Q6OiBTU0xTb2NrZXQudmVyc2lvbigpCisKKyAgIFJldHVybiB0aGUgYWN0dWFsIFNTTCBwcm90b2NvbCB2ZXJzaW9uIG5lZ290aWF0ZWQgYnkgdGhlIGNvbm5lY3Rpb24KKyAgIGFzIGEgc3RyaW5nLCBvciBgYE5vbmVgYCBpcyBubyBzZWN1cmUgY29ubmVjdGlvbiBpcyBlc3RhYmxpc2hlZC4KKyAgIEFzIG9mIHRoaXMgd3JpdGluZywgcG9zc2libGUgcmV0dXJuIHZhbHVlcyBpbmNsdWRlIGBgIlNTTHYyImBgLAorICAgYGAiU1NMdjMiYGAsIGBgIlRMU3YxImBgLCBgYCJUTFN2MS4xImBgIGFuZCBgYCJUTFN2MS4yImBgLgorICAgUmVjZW50IE9wZW5TU0wgdmVyc2lvbnMgbWF5IGRlZmluZSBtb3JlIHJldHVybiB2YWx1ZXMuCisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuNQorCiAuLiBtZXRob2Q6OiBTU0xTb2NrZXQucGVuZGluZygpCiAKICAgIFJldHVybnMgdGhlIG51bWJlciBvZiBhbHJlYWR5IGRlY3J5cHRlZCBieXRlcyBhdmFpbGFibGUgZm9yIHJlYWQsIHBlbmRpbmcgb24KQEAgLTExMjMsNiArMTE4OCwyMCBAQAogICAgICAgd2hlbiBjb25uZWN0ZWQsIHRoZSA6bWV0aDpgU1NMU29ja2V0LmNpcGhlcmAgbWV0aG9kIG9mIFNTTCBzb2NrZXRzIHdpbGwKICAgICAgIGdpdmUgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCBjaXBoZXIuCiAKKy4uIG1ldGhvZDo6IFNTTENvbnRleHQuc2V0X2FscG5fcHJvdG9jb2xzKHByb3RvY29scykKKworICAgU3BlY2lmeSB3aGljaCBwcm90b2NvbHMgdGhlIHNvY2tldCBzaG91bGQgYWR2ZXJ0aXNlIGR1cmluZyB0aGUgU1NML1RMUworICAgaGFuZHNoYWtlLiBJdCBzaG91bGQgYmUgYSBsaXN0IG9mIEFTQ0lJIHN0cmluZ3MsIGxpa2UgYGBbJ2h0dHAvMS4xJywKKyAgICdzcGR5LzInXWBgLCBvcmRlcmVkIGJ5IHByZWZlcmVuY2UuIFRoZSBzZWxlY3Rpb24gb2YgYSBwcm90b2NvbCB3aWxsIGhhcHBlbgorICAgZHVyaW5nIHRoZSBoYW5kc2hha2UsIGFuZCB3aWxsIHBsYXkgb3V0IGFjY29yZGluZyB0byA6cmZjOmA3MzAxYC4gQWZ0ZXIgYQorICAgc3VjY2Vzc2Z1bCBoYW5kc2hha2UsIHRoZSA6bWV0aDpgU1NMU29ja2V0LnNlbGVjdGVkX2FscG5fcHJvdG9jb2xgIG1ldGhvZCB3aWxsCisgICByZXR1cm4gdGhlIGFncmVlZC11cG9uIHByb3RvY29sLgorCisgICBUaGlzIG1ldGhvZCB3aWxsIHJhaXNlIDpleGM6YE5vdEltcGxlbWVudGVkRXJyb3JgIGlmIDpkYXRhOmBIQVNfQUxQTmAgaXMKKyAgIEZhbHNlLgorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjUKKwogLi4gbWV0aG9kOjogU1NMQ29udGV4dC5zZXRfbnBuX3Byb3RvY29scyhwcm90b2NvbHMpCiAKICAgIFNwZWNpZnkgd2hpY2ggcHJvdG9jb2xzIHRoZSBzb2NrZXQgc2hvdWxkIGFkdmVydGlzZSBkdXJpbmcgdGhlIFNTTC9UTFMKQEAgLTExNjMsNyArMTI0Miw3IEBACiAKICAgIER1ZSB0byB0aGUgZWFybHkgbmVnb3RpYXRpb24gcGhhc2Ugb2YgdGhlIFRMUyBjb25uZWN0aW9uLCBvbmx5IGxpbWl0ZWQKICAgIG1ldGhvZHMgYW5kIGF0dHJpYnV0ZXMgYXJlIHVzYWJsZSBsaWtlCi0gICA6bWV0aDpgU1NMU29ja2V0LnNlbGVjdGVkX25wbl9wcm90b2NvbGAgYW5kIDphdHRyOmBTU0xTb2NrZXQuY29udGV4dGAuCisgICA6bWV0aDpgU1NMU29ja2V0LnNlbGVjdGVkX2FscG5fcHJvdG9jb2xgIGFuZCA6YXR0cjpgU1NMU29ja2V0LmNvbnRleHRgLgogICAgOm1ldGg6YFNTTFNvY2tldC5nZXRwZWVyY2VydGAsIDptZXRoOmBTU0xTb2NrZXQuZ2V0cGVlcmNlcnRgLAogICAgOm1ldGg6YFNTTFNvY2tldC5jaXBoZXJgIGFuZCA6bWV0aDpgU1NMU29ja2V0LmNvbXByZXNzYCBtZXRob2RzIHJlcXVpcmUgdGhhdAogICAgdGhlIFRMUyBjb25uZWN0aW9uIGhhcyBwcm9ncmVzc2VkIGJleW9uZCB0aGUgVExTIENsaWVudCBIZWxsbyBhbmQgdGhlcmVmb3JlCkBAIC0xMjM5LDEwICsxMzE4LDIwIEBACiAgICBxdWl0ZSBzaW1pbGFybHkgdG8gSFRUUCB2aXJ0dWFsIGhvc3RzLiBTcGVjaWZ5aW5nICpzZXJ2ZXJfaG9zdG5hbWUqIHdpbGwKICAgIHJhaXNlIGEgOmV4YzpgVmFsdWVFcnJvcmAgaWYgKnNlcnZlcl9zaWRlKiBpcyB0cnVlLgogCi0gICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuNC4zCisgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuNQogICAgICAgQWx3YXlzIGFsbG93IGEgc2VydmVyX2hvc3RuYW1lIHRvIGJlIHBhc3NlZCwgZXZlbiBpZiBPcGVuU1NMIGRvZXMgbm90CiAgICAgICBoYXZlIFNOSS4KIAorLi4gbWV0aG9kOjogU1NMQ29udGV4dC53cmFwX2JpbyhpbmNvbWluZywgb3V0Z29pbmcsIHNlcnZlcl9zaWRlPUZhbHNlLCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlcnZlcl9ob3N0bmFtZT1Ob25lKQorCisgICBDcmVhdGUgYSBuZXcgOmNsYXNzOmBTU0xPYmplY3RgIGluc3RhbmNlIGJ5IHdyYXBwaW5nIHRoZSBCSU8gb2JqZWN0cworICAgKmluY29taW5nKiBhbmQgKm91dGdvaW5nKi4gVGhlIFNTTCByb3V0aW5lcyB3aWxsIHJlYWQgaW5wdXQgZGF0YSBmcm9tIHRoZQorICAgaW5jb21pbmcgQklPIGFuZCB3cml0ZSBkYXRhIHRvIHRoZSBvdXRnb2luZyBCSU8uCisKKyAgIFRoZSAqc2VydmVyX3NpZGUqIGFuZCAqc2VydmVyX2hvc3RuYW1lKiBwYXJhbWV0ZXJzIGhhdmUgdGhlIHNhbWUgbWVhbmluZyBhcworICAgaW4gOm1ldGg6YFNTTENvbnRleHQud3JhcF9zb2NrZXRgLgorCiAuLiBtZXRob2Q6OiBTU0xDb250ZXh0LnNlc3Npb25fc3RhdHMoKQogCiAgICBHZXQgc3RhdGlzdGljcyBhYm91dCB0aGUgU1NMIHNlc3Npb25zIGNyZWF0ZWQgb3IgbWFuYWdlZCBieSB0aGlzIGNvbnRleHQuCkBAIC0xNjI3LDcgKzE3MTYsNyBAQAogCiBBbmQgZ28gYmFjayB0byBsaXN0ZW5pbmcgZm9yIG5ldyBjbGllbnQgY29ubmVjdGlvbnMgKG9mIGNvdXJzZSwgYSByZWFsIHNlcnZlcgogd291bGQgcHJvYmFibHkgaGFuZGxlIGVhY2ggY2xpZW50IGNvbm5lY3Rpb24gaW4gYSBzZXBhcmF0ZSB0aHJlYWQsIG9yIHB1dAotdGhlIHNvY2tldHMgaW4gbm9uLWJsb2NraW5nIG1vZGUgYW5kIHVzZSBhbiBldmVudCBsb29wKS4KK3RoZSBzb2NrZXRzIGluIDpyZWY6YG5vbi1ibG9ja2luZyBtb2RlIDxzc2wtbm9uYmxvY2tpbmc+YCBhbmQgdXNlIGFuIGV2ZW50IGxvb3ApLgogCiAKIC4uIF9zc2wtbm9uYmxvY2tpbmc6CkBAIC0xNjQ5LDYgKzE3MzgsMTIgQEAKICAgc29ja2V0IGZpcnN0LCBhbmQgYXR0ZW1wdHMgdG8gKnJlYWQqIGZyb20gdGhlIFNTTCBzb2NrZXQgbWF5IHJlcXVpcmUKICAgYSBwcmlvciAqd3JpdGUqIHRvIHRoZSB1bmRlcmx5aW5nIHNvY2tldC4KIAorICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuNQorCisgICAgIEluIGVhcmxpZXIgUHl0aG9uIHZlcnNpb25zLCB0aGUgOm1ldGg6YCFTU0xTb2NrZXQuc2VuZGAgbWV0aG9kCisgICAgIHJldHVybmVkIHplcm8gaW5zdGVhZCBvZiByYWlzaW5nIDpleGM6YFNTTFdhbnRXcml0ZUVycm9yYCBvcgorICAgICA6ZXhjOmBTU0xXYW50UmVhZEVycm9yYC4KKwogLSBDYWxsaW5nIDpmdW5jOmB+c2VsZWN0LnNlbGVjdGAgdGVsbHMgeW91IHRoYXQgdGhlIE9TLWxldmVsIHNvY2tldCBjYW4gYmUKICAgcmVhZCBmcm9tIChvciB3cml0dGVuIHRvKSwgYnV0IGl0IGRvZXMgbm90IGltcGx5IHRoYXQgdGhlcmUgaXMgc3VmZmljaWVudAogICBkYXRhIGF0IHRoZSB1cHBlciBTU0wgbGF5ZXIuICBGb3IgZXhhbXBsZSwgb25seSBwYXJ0IG9mIGFuIFNTTCBmcmFtZSBtaWdodApAQCAtMTY4MSwxMyArMTc3NiwxNDMgQEAKIAogLi4gc2VlYWxzbzo6CiAKLSAgIFRoZSA6bW9kOmBhc3luY2lvYCBtb2R1bGUgc3VwcG9ydHMgbm9uLWJsb2NraW5nIFNTTCBzb2NrZXRzIGFuZCBwcm92aWRlcyBhCisgICBUaGUgOm1vZDpgYXN5bmNpb2AgbW9kdWxlIHN1cHBvcnRzIDpyZWY6YG5vbi1ibG9ja2luZyBTU0wgc29ja2V0cworICAgPHNzbC1ub25ibG9ja2luZz5gIGFuZCBwcm92aWRlcyBhCiAgICBoaWdoZXIgbGV2ZWwgQVBJLiBJdCBwb2xscyBmb3IgZXZlbnRzIHVzaW5nIHRoZSA6bW9kOmBzZWxlY3RvcnNgIG1vZHVsZSBhbmQKICAgIGhhbmRsZXMgOmV4YzpgU1NMV2FudFdyaXRlRXJyb3JgLCA6ZXhjOmBTU0xXYW50UmVhZEVycm9yYCBhbmQKICAgIDpleGM6YEJsb2NraW5nSU9FcnJvcmAgZXhjZXB0aW9ucy4gSXQgcnVucyB0aGUgU1NMIGhhbmRzaGFrZSBhc3luY2hyb25vdXNseQogICAgYXMgd2VsbC4KIAogCitNZW1vcnkgQklPIFN1cHBvcnQKKy0tLS0tLS0tLS0tLS0tLS0tLQorCisuLiB2ZXJzaW9uYWRkZWQ6OiAzLjUKKworRXZlciBzaW5jZSB0aGUgU1NMIG1vZHVsZSB3YXMgaW50cm9kdWNlZCBpbiBQeXRob24gMi42LCB0aGUgOmNsYXNzOmBTU0xTb2NrZXRgCitjbGFzcyBoYXMgcHJvdmlkZWQgdHdvIHJlbGF0ZWQgYnV0IGRpc3RpbmN0IGFyZWFzIG9mIGZ1bmN0aW9uYWxpdHk6CisKKy0gU1NMIHByb3RvY29sIGhhbmRsaW5nCistIE5ldHdvcmsgSU8KKworVGhlIG5ldHdvcmsgSU8gQVBJIGlzIGlkZW50aWNhbCB0byB0aGF0IHByb3ZpZGVkIGJ5IDpjbGFzczpgc29ja2V0LnNvY2tldGAsCitmcm9tIHdoaWNoIDpjbGFzczpgU1NMU29ja2V0YCBhbHNvIGluaGVyaXRzLiBUaGlzIGFsbG93cyBhbiBTU0wgc29ja2V0IHRvIGJlCit1c2VkIGFzIGEgZHJvcC1pbiByZXBsYWNlbWVudCBmb3IgYSByZWd1bGFyIHNvY2tldCwgbWFraW5nIGl0IHZlcnkgZWFzeSB0byBhZGQKK1NTTCBzdXBwb3J0IHRvIGFuIGV4aXN0aW5nIGFwcGxpY2F0aW9uLgorCitDb21iaW5pbmcgU1NMIHByb3RvY29sIGhhbmRsaW5nIGFuZCBuZXR3b3JrIElPIHVzdWFsbHkgd29ya3Mgd2VsbCwgYnV0IHRoZXJlCithcmUgc29tZSBjYXNlcyB3aGVyZSBpdCBkb2Vzbid0LiBBbiBleGFtcGxlIGlzIGFzeW5jIElPIGZyYW1ld29ya3MgdGhhdCB3YW50IHRvCit1c2UgYSBkaWZmZXJlbnQgSU8gbXVsdGlwbGV4aW5nIG1vZGVsIHRoYW4gdGhlICJzZWxlY3QvcG9sbCBvbiBhIGZpbGUKK2Rlc2NyaXB0b3IiIChyZWFkaW5lc3MgYmFzZWQpIG1vZGVsIHRoYXQgaXMgYXNzdW1lZCBieSA6Y2xhc3M6YHNvY2tldC5zb2NrZXRgCithbmQgYnkgdGhlIGludGVybmFsIE9wZW5TU0wgc29ja2V0IElPIHJvdXRpbmVzLiBUaGlzIGlzIG1vc3RseSByZWxldmFudCBmb3IKK3BsYXRmb3JtcyBsaWtlIFdpbmRvd3Mgd2hlcmUgdGhpcyBtb2RlbCBpcyBub3QgZWZmaWNpZW50LiBGb3IgdGhpcyBwdXJwb3NlLCBhCityZWR1Y2VkIHNjb3BlIHZhcmlhbnQgb2YgOmNsYXNzOmBTU0xTb2NrZXRgIGNhbGxlZCA6Y2xhc3M6YFNTTE9iamVjdGAgaXMKK3Byb3ZpZGVkLgorCisuLiBjbGFzczo6IFNTTE9iamVjdAorCisgICBBIHJlZHVjZWQtc2NvcGUgdmFyaWFudCBvZiA6Y2xhc3M6YFNTTFNvY2tldGAgcmVwcmVzZW50aW5nIGFuIFNTTCBwcm90b2NvbAorICAgaW5zdGFuY2UgdGhhdCBkb2VzIG5vdCBjb250YWluIGFueSBuZXR3b3JrIElPIG1ldGhvZHMuIFRoaXMgY2xhc3MgaXMKKyAgIHR5cGljYWxseSB1c2VkIGJ5IGZyYW1ld29yayBhdXRob3JzIHRoYXQgd2FudCB0byBpbXBsZW1lbnQgYXN5bmNocm9ub3VzIElPCisgICBmb3IgU1NMIHRocm91Z2ggbWVtb3J5IGJ1ZmZlcnMuCisKKyAgIFRoaXMgY2xhc3MgaW1wbGVtZW50cyBhbiBpbnRlcmZhY2Ugb24gdG9wIG9mIGEgbG93LWxldmVsIFNTTCBvYmplY3QgYXMKKyAgIGltcGxlbWVudGVkIGJ5IE9wZW5TU0wuIFRoaXMgb2JqZWN0IGNhcHR1cmVzIHRoZSBzdGF0ZSBvZiBhbiBTU0wgY29ubmVjdGlvbgorICAgYnV0IGRvZXMgbm90IHByb3ZpZGUgYW55IG5ldHdvcmsgSU8gaXRzZWxmLiBJTyBuZWVkcyB0byBiZSBwZXJmb3JtZWQgdGhyb3VnaAorICAgc2VwYXJhdGUgIkJJTyIgb2JqZWN0cyB3aGljaCBhcmUgT3BlblNTTCdzIElPIGFic3RyYWN0aW9uIGxheWVyLgorCisgICBBbiA6Y2xhc3M6YFNTTE9iamVjdGAgaW5zdGFuY2UgY2FuIGJlIGNyZWF0ZWQgdXNpbmcgdGhlCisgICA6bWV0aDpgflNTTENvbnRleHQud3JhcF9iaW9gIG1ldGhvZC4gVGhpcyBtZXRob2Qgd2lsbCBjcmVhdGUgdGhlCisgICA6Y2xhc3M6YFNTTE9iamVjdGAgaW5zdGFuY2UgYW5kIGJpbmQgaXQgdG8gYSBwYWlyIG9mIEJJT3MuIFRoZSAqaW5jb21pbmcqCisgICBCSU8gaXMgdXNlZCB0byBwYXNzIGRhdGEgZnJvbSBQeXRob24gdG8gdGhlIFNTTCBwcm90b2NvbCBpbnN0YW5jZSwgd2hpbGUgdGhlCisgICAqb3V0Z29pbmcqIEJJTyBpcyB1c2VkIHRvIHBhc3MgZGF0YSB0aGUgb3RoZXIgd2F5IGFyb3VuZC4KKworICAgVGhlIGZvbGxvd2luZyBtZXRob2RzIGFyZSBhdmFpbGFibGU6CisKKyAgIC0gOmF0dHI6YH5TU0xTb2NrZXQuY29udGV4dGAKKyAgIC0gOmF0dHI6YH5TU0xTb2NrZXQuc2VydmVyX3NpZGVgCisgICAtIDphdHRyOmB+U1NMU29ja2V0LnNlcnZlcl9ob3N0bmFtZWAKKyAgIC0gOm1ldGg6YH5TU0xTb2NrZXQucmVhZGAKKyAgIC0gOm1ldGg6YH5TU0xTb2NrZXQud3JpdGVgCisgICAtIDptZXRoOmB+U1NMU29ja2V0LmdldHBlZXJjZXJ0YAorICAgLSA6bWV0aDpgflNTTFNvY2tldC5zZWxlY3RlZF9ucG5fcHJvdG9jb2xgCisgICAtIDptZXRoOmB+U1NMU29ja2V0LmNpcGhlcmAKKyAgIC0gOm1ldGg6YH5TU0xTb2NrZXQuc2hhcmVkX2NpcGhlcnNgCisgICAtIDptZXRoOmB+U1NMU29ja2V0LmNvbXByZXNzaW9uYAorICAgLSA6bWV0aDpgflNTTFNvY2tldC5wZW5kaW5nYAorICAgLSA6bWV0aDpgflNTTFNvY2tldC5kb19oYW5kc2hha2VgCisgICAtIDptZXRoOmB+U1NMU29ja2V0LnVud3JhcGAKKyAgIC0gOm1ldGg6YH5TU0xTb2NrZXQuZ2V0X2NoYW5uZWxfYmluZGluZ2AKKworICAgV2hlbiBjb21wYXJlZCB0byA6Y2xhc3M6YFNTTFNvY2tldGAsIHRoaXMgb2JqZWN0IGxhY2tzIHRoZSBmb2xsb3dpbmcKKyAgIGZlYXR1cmVzOgorCisgICAtIEFueSBmb3JtIG9mIG5ldHdvcmsgSU8gaW5jbHVnaW5nIG1ldGhvZHMgc3VjaCBhcyBgYHJlY3YoKWBgIGFuZAorICAgICBgYHNlbmQoKWBgLgorCisgICAtIFRoZXJlIGlzIG5vICpkb19oYW5kc2hha2Vfb25fY29ubmVjdCogbWFjaGluZXJ5LiBZb3UgbXVzdCBhbHdheXMgbWFudWFsbHkKKyAgICAgY2FsbCA6bWV0aDpgflNTTFNvY2tldC5kb19oYW5kc2hha2VgIHRvIHN0YXJ0IHRoZSBoYW5kc2hha2UuCisKKyAgIC0gVGhlcmUgaXMgbm8gaGFuZGxpbmcgb2YgKnN1cHByZXNzX3JhZ2dlZF9lb2ZzKi4gQWxsIGVuZC1vZi1maWxlIGNvbmRpdGlvbnMKKyAgICAgdGhhdCBhcmUgaW4gdmlvbGF0aW9uIG9mIHRoZSBwcm90b2NvbCBhcmUgcmVwb3J0ZWQgdmlhIHRoZQorICAgICA6ZXhjOmBTU0xFT0ZFcnJvcmAgZXhjZXB0aW9uLgorCisgICAtIFRoZSBtZXRob2QgOm1ldGg6YH5TU0xTb2NrZXQudW53cmFwYCBjYWxsIGRvZXMgbm90IHJldHVybiBhbnl0aGluZywKKyAgICAgdW5saWtlIGZvciBhbiBTU0wgc29ja2V0IHdoZXJlIGl0IHJldHVybnMgdGhlIHVuZGVybHlpbmcgc29ja2V0LgorCisgICAtIFRoZSAqc2VydmVyX25hbWVfY2FsbGJhY2sqIGNhbGxiYWNrIHBhc3NlZCB0bworICAgICA6bWV0aDpgU1NMQ29udGV4dC5zZXRfc2VydmVybmFtZV9jYWxsYmFja2Agd2lsbCBnZXQgYW4gOmNsYXNzOmBTU0xPYmplY3RgCisgICAgIGluc3RhbmNlIGluc3RlYWQgb2YgYSA6Y2xhc3M6YFNTTFNvY2tldGAgaW5zdGFuY2UgYXMgaXRzIGZpcnN0IHBhcmFtZXRlci4KKworICAgU29tZSBub3RlcyByZWxhdGVkIHRvIHRoZSB1c2Ugb2YgOmNsYXNzOmBTU0xPYmplY3RgOgorCisgICAtIEFsbCBJTyBvbiBhbiA6Y2xhc3M6YFNTTE9iamVjdGAgaXMgOnJlZjpgbm9uLWJsb2NraW5nIDxzc2wtbm9uYmxvY2tpbmc+YC4KKyAgICAgVGhpcyBtZWFucyB0aGF0IGZvciBleGFtcGxlIDptZXRoOmB+U1NMU29ja2V0LnJlYWRgIHdpbGwgcmFpc2UgYW4KKyAgICAgOmV4YzpgU1NMV2FudFJlYWRFcnJvcmAgaWYgaXQgbmVlZHMgbW9yZSBkYXRhIHRoYW4gdGhlIGluY29taW5nIEJJTyBoYXMKKyAgICAgYXZhaWxhYmxlLgorCisgICAtIFRoZXJlIGlzIG5vIG1vZHVsZS1sZXZlbCBgYHdyYXBfYmlvKClgYCBjYWxsIGxpa2UgdGhlcmUgaXMgZm9yCisgICAgIDptZXRoOmB+U1NMQ29udGV4dC53cmFwX3NvY2tldGAuIEFuIDpjbGFzczpgU1NMT2JqZWN0YCBpcyBhbHdheXMgY3JlYXRlZAorICAgICB2aWEgYW4gOmNsYXNzOmBTU0xDb250ZXh0YC4KKworQW4gU1NMT2JqZWN0IGNvbW11bmljYXRlcyB3aXRoIHRoZSBvdXRzaWRlIHdvcmxkIHVzaW5nIG1lbW9yeSBidWZmZXJzLiBUaGUKK2NsYXNzIDpjbGFzczpgTWVtb3J5QklPYCBwcm92aWRlcyBhIG1lbW9yeSBidWZmZXIgdGhhdCBjYW4gYmUgdXNlZCBmb3IgdGhpcworcHVycG9zZS4gIEl0IHdyYXBzIGFuIE9wZW5TU0wgbWVtb3J5IEJJTyAoQmFzaWMgSU8pIG9iamVjdDoKKworLi4gY2xhc3M6OiBNZW1vcnlCSU8KKworICAgQSBtZW1vcnkgYnVmZmVyIHRoYXQgY2FuIGJlIHVzZWQgdG8gcGFzcyBkYXRhIGJldHdlZW4gUHl0aG9uIGFuZCBhbiBTU0wKKyAgIHByb3RvY29sIGluc3RhbmNlLgorCisgICAuLiBhdHRyaWJ1dGU6OiBNZW1vcnlCSU8ucGVuZGluZworCisgICAgICBSZXR1cm4gdGhlIG51bWJlciBvZiBieXRlcyBjdXJyZW50bHkgaW4gdGhlIG1lbW9yeSBidWZmZXIuCisKKyAgIC4uIGF0dHJpYnV0ZTo6IE1lbW9yeUJJTy5lb2YKKworICAgICAgQSBib29sZWFuIGluZGljYXRpbmcgd2hldGhlciB0aGUgbWVtb3J5IEJJTyBpcyBjdXJyZW50IGF0IHRoZSBlbmQtb2YtZmlsZQorICAgICAgcG9zaXRpb24uCisKKyAgIC4uIG1ldGhvZDo6IE1lbW9yeUJJTy5yZWFkKG49LTEpCisKKyAgICAgIFJlYWQgdXAgdG8gKm4qIGJ5dGVzIGZyb20gdGhlIG1lbW9yeSBidWZmZXIuIElmICpuKiBpcyBub3Qgc3BlY2lmaWVkIG9yCisgICAgICBuZWdhdGl2ZSwgYWxsIGJ5dGVzIGFyZSByZXR1cm5lZC4KKworICAgLi4gbWV0aG9kOjogTWVtb3J5QklPLndyaXRlKGJ1ZikKKworICAgICAgV3JpdGUgdGhlIGJ5dGVzIGZyb20gKmJ1ZiogdG8gdGhlIG1lbW9yeSBCSU8uIFRoZSAqYnVmKiBhcmd1bWVudCBtdXN0IGJlIGFuCisgICAgICBvYmplY3Qgc3VwcG9ydGluZyB0aGUgYnVmZmVyIHByb3RvY29sLgorCisgICAgICBUaGUgcmV0dXJuIHZhbHVlIGlzIHRoZSBudW1iZXIgb2YgYnl0ZXMgd3JpdHRlbiwgd2hpY2ggaXMgYWx3YXlzIGVxdWFsIHRvCisgICAgICB0aGUgbGVuZ3RoIG9mICpidWYqLgorCisgICAuLiBtZXRob2Q6OiBNZW1vcnlCSU8ud3JpdGVfZW9mKCkKKworICAgICAgV3JpdGUgYW4gRU9GIG1hcmtlciB0byB0aGUgbWVtb3J5IEJJTy4gQWZ0ZXIgdGhpcyBtZXRob2QgaGFzIGJlZW4gY2FsbGVkLCBpdAorICAgICAgaXMgaWxsZWdhbCB0byBjYWxsIDptZXRoOmB+TWVtb3J5QklPLndyaXRlYC4gVGhlIGF0dHJpYnV0ZSA6YXR0cjpgZW9mYCB3aWxsCisgICAgICBiZWNvbWUgdHJ1ZSBhZnRlciBhbGwgZGF0YSBjdXJyZW50bHkgaW4gdGhlIGJ1ZmZlciBoYXMgYmVlbiByZWFkLgorCisKIC4uIF9zc2wtc2VjdXJpdHk6CiAKIFNlY3VyaXR5IGNvbnNpZGVyYXRpb25zCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9zdGF0LnJzdCBiL0RvYy9saWJyYXJ5L3N0YXQucnN0CmluZGV4IDI0NzY5ZjYuLjg0NWIyZWYgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L3N0YXQucnN0CisrKyBiL0RvYy9saWJyYXJ5L3N0YXQucnN0CkBAIC0xMjYsNyArMTI2LDcgQEAKICAgIGlmIF9fbmFtZV9fID09ICdfX21haW5fXyc6CiAgICAgICAgd2Fsa3RyZWUoc3lzLmFyZ3ZbMV0sIHZpc2l0ZmlsZSkKIAotQW4gYWRkaXRpb25hbCB1dGlsaXR5IGZ1bmN0aW9uIGlzIHByb3ZpZGVkIHRvIGNvdmVydCBhIGZpbGUncyBtb2RlIGluIGEgaHVtYW4KK0FuIGFkZGl0aW9uYWwgdXRpbGl0eSBmdW5jdGlvbiBpcyBwcm92aWRlZCB0byBjb252ZXJ0IGEgZmlsZSdzIG1vZGUgaW4gYSBodW1hbgogcmVhZGFibGUgc3RyaW5nOgogCiAuLiBmdW5jdGlvbjo6IGZpbGVtb2RlKG1vZGUpCkBAIC0zOTksMyArMzk5LDI5IEBACiAgICBUaGUgZmlsZSBpcyBhIHNuYXBzaG90IGZpbGUuCiAKIFNlZSB0aGUgXCpCU0Qgb3IgTWFjIE9TIHN5c3RlbXMgbWFuIHBhZ2UgOm1hbnBhZ2U6YGNoZmxhZ3MoMilgIGZvciBtb3JlIGluZm9ybWF0aW9uLgorCitPbiBXaW5kb3dzLCB0aGUgZm9sbG93aW5nIGZpbGUgYXR0cmlidXRlIGNvbnN0YW50cyBhcmUgYXZhaWxhYmxlIGZvciB1c2Ugd2hlbgordGVzdGluZyBiaXRzIGluIHRoZSBgYHN0X2ZpbGVfYXR0cmlidXRlc2BgIG1lbWJlciByZXR1cm5lZCBieSA6ZnVuYzpgb3Muc3RhdGAuCitTZWUgdGhlIGBXaW5kb3dzIEFQSSBkb2N1bWVudGF0aW9uCis8aHR0cDovL21zZG4ubWljcm9zb2Z0LmNvbS9lbi11cy9saWJyYXJ5L3dpbmRvd3MvZGVza3RvcC9nZzI1ODExNy5hc3B4PmBfCitmb3IgbW9yZSBkZXRhaWwgb24gdGhlIG1lYW5pbmcgb2YgdGhlc2UgY29uc3RhbnRzLgorCisuLiBkYXRhOjogRklMRV9BVFRSSUJVVEVfQVJDSElWRQorICAgICAgICAgIEZJTEVfQVRUUklCVVRFX0NPTVBSRVNTRUQKKyAgICAgICAgICBGSUxFX0FUVFJJQlVURV9ERVZJQ0UKKyAgICAgICAgICBGSUxFX0FUVFJJQlVURV9ESVJFQ1RPUlkKKyAgICAgICAgICBGSUxFX0FUVFJJQlVURV9FTkNSWVBURUQKKyAgICAgICAgICBGSUxFX0FUVFJJQlVURV9ISURERU4KKyAgICAgICAgICBGSUxFX0FUVFJJQlVURV9JTlRFR1JJVFlfU1RSRUFNCisgICAgICAgICAgRklMRV9BVFRSSUJVVEVfTk9STUFMCisgICAgICAgICAgRklMRV9BVFRSSUJVVEVfTk9UX0NPTlRFTlRfSU5ERVhFRAorICAgICAgICAgIEZJTEVfQVRUUklCVVRFX05PX1NDUlVCX0RBVEEKKyAgICAgICAgICBGSUxFX0FUVFJJQlVURV9PRkZMSU5FCisgICAgICAgICAgRklMRV9BVFRSSUJVVEVfUkVBRE9OTFkKKyAgICAgICAgICBGSUxFX0FUVFJJQlVURV9SRVBBUlNFX1BPSU5UCisgICAgICAgICAgRklMRV9BVFRSSUJVVEVfU1BBUlNFX0ZJTEUKKyAgICAgICAgICBGSUxFX0FUVFJJQlVURV9TWVNURU0KKyAgICAgICAgICBGSUxFX0FUVFJJQlVURV9URU1QT1JBUlkKKyAgICAgICAgICBGSUxFX0FUVFJJQlVURV9WSVJUVUFMCisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuNQpkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvc3RkdHlwZXMucnN0IGIvRG9jL2xpYnJhcnkvc3RkdHlwZXMucnN0CmluZGV4IGQzZmMwOTMuLmY3OWM0MTYgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L3N0ZHR5cGVzLnJzdAorKysgYi9Eb2MvbGlicmFyeS9zdGR0eXBlcy5yc3QKQEAgLTM1NCw3ICszNTQsNyBAQAogICAgVGhlIG51bWVyaWMgbGl0ZXJhbHMgYWNjZXB0ZWQgaW5jbHVkZSB0aGUgZGlnaXRzIGBgMGBgIHRvIGBgOWBgIG9yIGFueQogICAgVW5pY29kZSBlcXVpdmFsZW50IChjb2RlIHBvaW50cyB3aXRoIHRoZSBgYE5kYGAgcHJvcGVydHkpLgogCi0gICBTZWUgaHR0cDovL3d3dy51bmljb2RlLm9yZy9QdWJsaWMvNi4zLjAvdWNkL2V4dHJhY3RlZC9EZXJpdmVkTnVtZXJpY1R5cGUudHh0CisgICBTZWUgaHR0cDovL3d3dy51bmljb2RlLm9yZy9QdWJsaWMvNy4wLjAvdWNkL2V4dHJhY3RlZC9EZXJpdmVkTnVtZXJpY1R5cGUudHh0CiAgICBmb3IgYSBjb21wbGV0ZSBsaXN0IG9mIGNvZGUgcG9pbnRzIHdpdGggdGhlIGBgTmRgYCBwcm9wZXJ0eS4KIAogCkBAIC0zMDU3LDYgKzMwNTcsMTk3IEBACiAgICAgICBhbHdheXMgcHJvZHVjZXMgYSBuZXcgb2JqZWN0LCBldmVuIGlmIG5vIGNoYW5nZXMgd2VyZSBtYWRlLgogCiAKKy4uIF9ieXRlcy1mb3JtYXR0aW5nOgorCitgYHByaW50ZmBgLXN0eWxlIEJ5dGVzIEZvcm1hdHRpbmcKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworLi4gaW5kZXg6OgorICAgc2luZ2xlOiBmb3JtYXR0aW5nLCBieXRlcyAoJSkKKyAgIHNpbmdsZTogZm9ybWF0dGluZywgYnl0ZWFycmF5ICglKQorICAgc2luZ2xlOiBpbnRlcnBvbGF0aW9uLCBieXRlcyAoJSkKKyAgIHNpbmdsZTogaW50ZXJwb2xhdGlvbiwgYnl0ZWFycmF5ICglKQorICAgc2luZ2xlOiBieXRlczsgZm9ybWF0dGluZworICAgc2luZ2xlOiBieXRlYXJyYXk7IGZvcm1hdHRpbmcKKyAgIHNpbmdsZTogYnl0ZXM7IGludGVycG9sYXRpb24KKyAgIHNpbmdsZTogYnl0ZWFycmF5OyBpbnRlcnBvbGF0aW9uCisgICBzaW5nbGU6IHByaW50Zi1zdHlsZSBmb3JtYXR0aW5nCisgICBzaW5nbGU6IHNwcmludGYtc3R5bGUgZm9ybWF0dGluZworICAgc2luZ2xlOiAlIGZvcm1hdHRpbmcKKyAgIHNpbmdsZTogJSBpbnRlcnBvbGF0aW9uCisKKy4uIG5vdGU6OgorCisgICBUaGUgZm9ybWF0dGluZyBvcGVyYXRpb25zIGRlc2NyaWJlZCBoZXJlIGV4aGliaXQgYSB2YXJpZXR5IG9mIHF1aXJrcyB0aGF0CisgICBsZWFkIHRvIGEgbnVtYmVyIG9mIGNvbW1vbiBlcnJvcnMgKHN1Y2ggYXMgZmFpbGluZyB0byBkaXNwbGF5IHR1cGxlcyBhbmQKKyAgIGRpY3Rpb25hcmllcyBjb3JyZWN0bHkpLiAgSWYgdGhlIHZhbHVlIGJlaW5nIHByaW50ZWQgbWF5IGJlIGEgdHVwbGUgb3IKKyAgIGRpY3Rpb25hcnksIHdyYXAgaXQgaW4gYSB0dXBsZS4KKworQnl0ZXMgb2JqZWN0cyAoYGBieXRlc2BgL2BgYnl0ZWFycmF5YGApIGhhdmUgb25lIHVuaXF1ZSBidWlsdC1pbiBvcGVyYXRpb246Cit0aGUgYGAlYGAgb3BlcmF0b3IgKG1vZHVsbykuCitUaGlzIGlzIGFsc28ga25vd24gYXMgdGhlIGJ5dGVzICpmb3JtYXR0aW5nKiBvciAqaW50ZXJwb2xhdGlvbiogb3BlcmF0b3IuCitHaXZlbiBgYGZvcm1hdCAlIHZhbHVlc2BgICh3aGVyZSAqZm9ybWF0KiBpcyBhIGJ5dGVzIG9iamVjdCksIGBgJWBgIGNvbnZlcnNpb24KK3NwZWNpZmljYXRpb25zIGluICpmb3JtYXQqIGFyZSByZXBsYWNlZCB3aXRoIHplcm8gb3IgbW9yZSBlbGVtZW50cyBvZiAqdmFsdWVzKi4KK1RoZSBlZmZlY3QgaXMgc2ltaWxhciB0byB1c2luZyB0aGUgOmM6ZnVuYzpgc3ByaW50ZmAgaW4gdGhlIEMgbGFuZ3VhZ2UuCisKK0lmICpmb3JtYXQqIHJlcXVpcmVzIGEgc2luZ2xlIGFyZ3VtZW50LCAqdmFsdWVzKiBtYXkgYmUgYSBzaW5nbGUgbm9uLXR1cGxlCitvYmplY3QuIFs1XV8gIE90aGVyd2lzZSwgKnZhbHVlcyogbXVzdCBiZSBhIHR1cGxlIHdpdGggZXhhY3RseSB0aGUgbnVtYmVyIG9mCitpdGVtcyBzcGVjaWZpZWQgYnkgdGhlIGZvcm1hdCBieXRlcyBvYmplY3QsIG9yIGEgc2luZ2xlIG1hcHBpbmcgb2JqZWN0IChmb3IKK2V4YW1wbGUsIGEgZGljdGlvbmFyeSkuCisKK0EgY29udmVyc2lvbiBzcGVjaWZpZXIgY29udGFpbnMgdHdvIG9yIG1vcmUgY2hhcmFjdGVycyBhbmQgaGFzIHRoZSBmb2xsb3dpbmcKK2NvbXBvbmVudHMsIHdoaWNoIG11c3Qgb2NjdXIgaW4gdGhpcyBvcmRlcjoKKworIy4gVGhlIGBgJyUnYGAgY2hhcmFjdGVyLCB3aGljaCBtYXJrcyB0aGUgc3RhcnQgb2YgdGhlIHNwZWNpZmllci4KKworIy4gTWFwcGluZyBrZXkgKG9wdGlvbmFsKSwgY29uc2lzdGluZyBvZiBhIHBhcmVudGhlc2lzZWQgc2VxdWVuY2Ugb2YgY2hhcmFjdGVycworICAgKGZvciBleGFtcGxlLCBgYChzb21lbmFtZSlgYCkuCisKKyMuIENvbnZlcnNpb24gZmxhZ3MgKG9wdGlvbmFsKSwgd2hpY2ggYWZmZWN0IHRoZSByZXN1bHQgb2Ygc29tZSBjb252ZXJzaW9uCisgICB0eXBlcy4KKworIy4gTWluaW11bSBmaWVsZCB3aWR0aCAob3B0aW9uYWwpLiAgSWYgc3BlY2lmaWVkIGFzIGFuIGBgJyonYGAgKGFzdGVyaXNrKSwgdGhlCisgICBhY3R1YWwgd2lkdGggaXMgcmVhZCBmcm9tIHRoZSBuZXh0IGVsZW1lbnQgb2YgdGhlIHR1cGxlIGluICp2YWx1ZXMqLCBhbmQgdGhlCisgICBvYmplY3QgdG8gY29udmVydCBjb21lcyBhZnRlciB0aGUgbWluaW11bSBmaWVsZCB3aWR0aCBhbmQgb3B0aW9uYWwgcHJlY2lzaW9uLgorCisjLiBQcmVjaXNpb24gKG9wdGlvbmFsKSwgZ2l2ZW4gYXMgYSBgYCcuJ2BgIChkb3QpIGZvbGxvd2VkIGJ5IHRoZSBwcmVjaXNpb24uICBJZgorICAgc3BlY2lmaWVkIGFzIGBgJyonYGAgKGFuIGFzdGVyaXNrKSwgdGhlIGFjdHVhbCBwcmVjaXNpb24gaXMgcmVhZCBmcm9tIHRoZSBuZXh0CisgICBlbGVtZW50IG9mIHRoZSB0dXBsZSBpbiAqdmFsdWVzKiwgYW5kIHRoZSB2YWx1ZSB0byBjb252ZXJ0IGNvbWVzIGFmdGVyIHRoZQorICAgcHJlY2lzaW9uLgorCisjLiBMZW5ndGggbW9kaWZpZXIgKG9wdGlvbmFsKS4KKworIy4gQ29udmVyc2lvbiB0eXBlLgorCitXaGVuIHRoZSByaWdodCBhcmd1bWVudCBpcyBhIGRpY3Rpb25hcnkgKG9yIG90aGVyIG1hcHBpbmcgdHlwZSksIHRoZW4gdGhlCitmb3JtYXRzIGluIHRoZSBieXRlcyBvYmplY3QgKm11c3QqIGluY2x1ZGUgYSBwYXJlbnRoZXNpc2VkIG1hcHBpbmcga2V5IGludG8gdGhhdAorZGljdGlvbmFyeSBpbnNlcnRlZCBpbW1lZGlhdGVseSBhZnRlciB0aGUgYGAnJSdgYCBjaGFyYWN0ZXIuIFRoZSBtYXBwaW5nIGtleQorc2VsZWN0cyB0aGUgdmFsdWUgdG8gYmUgZm9ybWF0dGVkIGZyb20gdGhlIG1hcHBpbmcuICBGb3IgZXhhbXBsZToKKworICAgPj4+IHByaW50KGInJShsYW5ndWFnZSlzIGhhcyAlKG51bWJlcikwM2QgcXVvdGUgdHlwZXMuJyAlCisgICAuLi4gICAgICAge2InbGFuZ3VhZ2UnOiBiIlB5dGhvbiIsIGIibnVtYmVyIjogMn0pCisgICBiJ1B5dGhvbiBoYXMgMDAyIHF1b3RlIHR5cGVzLicKKworSW4gdGhpcyBjYXNlIG5vIGBgKmBgIHNwZWNpZmllcnMgbWF5IG9jY3VyIGluIGEgZm9ybWF0IChzaW5jZSB0aGV5IHJlcXVpcmUgYQorc2VxdWVudGlhbCBwYXJhbWV0ZXIgbGlzdCkuCisKK1RoZSBjb252ZXJzaW9uIGZsYWcgY2hhcmFjdGVycyBhcmU6CisKKystLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworfCBGbGFnICAgIHwgTWVhbmluZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisrPT09PT09PT09Kz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSsKK3wgYGAnIydgYCB8IFRoZSB2YWx1ZSBjb252ZXJzaW9uIHdpbGwgdXNlIHRoZSAiYWx0ZXJuYXRlIGZvcm0iICh3aGVyZSBkZWZpbmVkICAgfAorfCAgICAgICAgIHwgYmVsb3cpLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisrLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKK3wgYGAnMCdgYCB8IFRoZSBjb252ZXJzaW9uIHdpbGwgYmUgemVybyBwYWRkZWQgZm9yIG51bWVyaWMgdmFsdWVzLiAgICAgICAgICAgICAgfAorKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCit8IGBgJy0nYGAgfCBUaGUgY29udmVydGVkIHZhbHVlIGlzIGxlZnQgYWRqdXN0ZWQgKG92ZXJyaWRlcyB0aGUgYGAnMCdgYCAgICAgICAgIHwKK3wgICAgICAgICB8IGNvbnZlcnNpb24gaWYgYm90aCBhcmUgZ2l2ZW4pLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCit8IGBgJyAnYGAgfCAoYSBzcGFjZSkgQSBibGFuayBzaG91bGQgYmUgbGVmdCBiZWZvcmUgYSBwb3NpdGl2ZSBudW1iZXIgKG9yIGVtcHR5IHwKK3wgICAgICAgICB8IHN0cmluZykgcHJvZHVjZWQgYnkgYSBzaWduZWQgY29udmVyc2lvbi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCit8IGBgJysnYGAgfCBBIHNpZ24gY2hhcmFjdGVyIChgYCcrJ2BgIG9yIGBgJy0nYGApIHdpbGwgcHJlY2VkZSB0aGUgY29udmVyc2lvbiAgIHwKK3wgICAgICAgICB8IChvdmVycmlkZXMgYSAic3BhY2UiIGZsYWcpLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCisKK0EgbGVuZ3RoIG1vZGlmaWVyIChgYGhgYCwgYGBsYGAsIG9yIGBgTGBgKSBtYXkgYmUgcHJlc2VudCwgYnV0IGlzIGlnbm9yZWQgYXMgaXQKK2lzIG5vdCBuZWNlc3NhcnkgZm9yIFB5dGhvbiAtLSBzbyBlLmcuIGBgJWxkYGAgaXMgaWRlbnRpY2FsIHRvIGBgJWRgYC4KKworVGhlIGNvbnZlcnNpb24gdHlwZXMgYXJlOgorCisrLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0rCit8IENvbnZlcnNpb24gfCBNZWFuaW5nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBOb3RlcyB8CisrPT09PT09PT09PT09Kz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Kz09PT09PT0rCit8IGBgJ2QnYGAgICAgfCBTaWduZWQgaW50ZWdlciBkZWNpbWFsLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICB8CisrLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0rCit8IGBgJ2knYGAgICAgfCBTaWduZWQgaW50ZWdlciBkZWNpbWFsLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICB8CisrLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0rCit8IGBgJ28nYGAgICAgfCBTaWduZWQgb2N0YWwgdmFsdWUuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBcKDEpICB8CisrLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0rCit8IGBgJ3UnYGAgICAgfCBPYnNvbGV0ZSB0eXBlIC0tIGl0IGlzIGlkZW50aWNhbCB0byBgYCdkJ2BgLiAgICAgICAgfCBcKDcpICB8CisrLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0rCit8IGBgJ3gnYGAgICAgfCBTaWduZWQgaGV4YWRlY2ltYWwgKGxvd2VyY2FzZSkuICAgICAgICAgICAgICAgICAgICAgfCBcKDIpICB8CisrLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0rCit8IGBgJ1gnYGAgICAgfCBTaWduZWQgaGV4YWRlY2ltYWwgKHVwcGVyY2FzZSkuICAgICAgICAgICAgICAgICAgICAgfCBcKDIpICB8CisrLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0rCit8IGBgJ2UnYGAgICAgfCBGbG9hdGluZyBwb2ludCBleHBvbmVudGlhbCBmb3JtYXQgKGxvd2VyY2FzZSkuICAgICAgfCBcKDMpICB8CisrLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0rCit8IGBgJ0UnYGAgICAgfCBGbG9hdGluZyBwb2ludCBleHBvbmVudGlhbCBmb3JtYXQgKHVwcGVyY2FzZSkuICAgICAgfCBcKDMpICB8CisrLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0rCit8IGBgJ2YnYGAgICAgfCBGbG9hdGluZyBwb2ludCBkZWNpbWFsIGZvcm1hdC4gICAgICAgICAgICAgICAgICAgICAgfCBcKDMpICB8CisrLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0rCit8IGBgJ0YnYGAgICAgfCBGbG9hdGluZyBwb2ludCBkZWNpbWFsIGZvcm1hdC4gICAgICAgICAgICAgICAgICAgICAgfCBcKDMpICB8CisrLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0rCit8IGBgJ2cnYGAgICAgfCBGbG9hdGluZyBwb2ludCBmb3JtYXQuIFVzZXMgbG93ZXJjYXNlIGV4cG9uZW50aWFsICAgfCBcKDQpICB8Cit8ICAgICAgICAgICAgfCBmb3JtYXQgaWYgZXhwb25lbnQgaXMgbGVzcyB0aGFuIC00IG9yIG5vdCBsZXNzIHRoYW4gfCAgICAgICB8Cit8ICAgICAgICAgICAgfCBwcmVjaXNpb24sIGRlY2ltYWwgZm9ybWF0IG90aGVyd2lzZS4gICAgICAgICAgICAgICAgfCAgICAgICB8CisrLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0rCit8IGBgJ0cnYGAgICAgfCBGbG9hdGluZyBwb2ludCBmb3JtYXQuIFVzZXMgdXBwZXJjYXNlIGV4cG9uZW50aWFsICAgfCBcKDQpICB8Cit8ICAgICAgICAgICAgfCBmb3JtYXQgaWYgZXhwb25lbnQgaXMgbGVzcyB0aGFuIC00IG9yIG5vdCBsZXNzIHRoYW4gfCAgICAgICB8Cit8ICAgICAgICAgICAgfCBwcmVjaXNpb24sIGRlY2ltYWwgZm9ybWF0IG90aGVyd2lzZS4gICAgICAgICAgICAgICAgfCAgICAgICB8CisrLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0rCit8IGBgJ2MnYGAgICAgfCBTaW5nbGUgYnl0ZSAoYWNjZXB0cyBpbnRlZ2VyIG9yIHNpbmdsZSAgICAgICAgICAgICAgfCAgICAgICB8Cit8ICAgICAgICAgICAgfCBieXRlIG9iamVjdHMpLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICB8CisrLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0rCit8IGBgJ2InYGAgICAgfCBCeXRlcyAoYW55IG9iamVjdCB0aGF0IGZvbGxvd3MgdGhlICAgICAgICAgICAgICAgICAgfCBcKDUpICB8Cit8ICAgICAgICAgICAgfCA6cmVmOmBidWZmZXIgcHJvdG9jb2wgPGJ1ZmZlcm9iamVjdHM+YCBvciBoYXMgICAgICAgfCAgICAgICB8Cit8ICAgICAgICAgICAgfCA6bWV0aDpgX19ieXRlc19fYCkuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICB8CisrLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0rCit8IGBgJ3MnYGAgICAgfCBgYCdzJ2BgIGlzIGFuIGFsaWFzIGZvciBgYCdiJ2BgIGFuZCBzaG91bGQgb25seSAgICAgfCBcKDYpICB8Cit8ICAgICAgICAgICAgfCBiZSB1c2VkIGZvciBQeXRob24yLzMgY29kZSBiYXNlcy4gICAgICAgICAgICAgICAgICAgfCAgICAgICB8CisrLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0rCit8IGBgJ2EnYGAgICAgfCBCeXRlcyAoY29udmVydHMgYW55IFB5dGhvbiBvYmplY3QgdXNpbmcgICAgICAgICAgICAgfCBcKDUpICB8Cit8ICAgICAgICAgICAgfCBgYHJlcHIob2JqKS5lbmNvZGUoJ2FzY2lpJywnYmFja3NsYXNocmVwbGFjZSlgYCkuICAgfCAgICAgICB8CisrLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0rCit8IGBgJyUnYGAgICAgfCBObyBhcmd1bWVudCBpcyBjb252ZXJ0ZWQsIHJlc3VsdHMgaW4gYSBgYCclJ2BgICAgICAgfCAgICAgICB8Cit8ICAgICAgICAgICAgfCBjaGFyYWN0ZXIgaW4gdGhlIHJlc3VsdC4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICB8CisrLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0rCisKK05vdGVzOgorCisoMSkKKyAgIFRoZSBhbHRlcm5hdGUgZm9ybSBjYXVzZXMgYSBsZWFkaW5nIHplcm8gKGBgJzAnYGApIHRvIGJlIGluc2VydGVkIGJldHdlZW4KKyAgIGxlZnQtaGFuZCBwYWRkaW5nIGFuZCB0aGUgZm9ybWF0dGluZyBvZiB0aGUgbnVtYmVyIGlmIHRoZSBsZWFkaW5nIGNoYXJhY3RlcgorICAgb2YgdGhlIHJlc3VsdCBpcyBub3QgYWxyZWFkeSBhIHplcm8uCisKKygyKQorICAgVGhlIGFsdGVybmF0ZSBmb3JtIGNhdXNlcyBhIGxlYWRpbmcgYGAnMHgnYGAgb3IgYGAnMFgnYGAgKGRlcGVuZGluZyBvbiB3aGV0aGVyCisgICB0aGUgYGAneCdgYCBvciBgYCdYJ2BgIGZvcm1hdCB3YXMgdXNlZCkgdG8gYmUgaW5zZXJ0ZWQgYmV0d2VlbiBsZWZ0LWhhbmQgcGFkZGluZworICAgYW5kIHRoZSBmb3JtYXR0aW5nIG9mIHRoZSBudW1iZXIgaWYgdGhlIGxlYWRpbmcgY2hhcmFjdGVyIG9mIHRoZSByZXN1bHQgaXMgbm90CisgICBhbHJlYWR5IGEgemVyby4KKworKDMpCisgICBUaGUgYWx0ZXJuYXRlIGZvcm0gY2F1c2VzIHRoZSByZXN1bHQgdG8gYWx3YXlzIGNvbnRhaW4gYSBkZWNpbWFsIHBvaW50LCBldmVuIGlmCisgICBubyBkaWdpdHMgZm9sbG93IGl0LgorCisgICBUaGUgcHJlY2lzaW9uIGRldGVybWluZXMgdGhlIG51bWJlciBvZiBkaWdpdHMgYWZ0ZXIgdGhlIGRlY2ltYWwgcG9pbnQgYW5kCisgICBkZWZhdWx0cyB0byA2LgorCisoNCkKKyAgIFRoZSBhbHRlcm5hdGUgZm9ybSBjYXVzZXMgdGhlIHJlc3VsdCB0byBhbHdheXMgY29udGFpbiBhIGRlY2ltYWwgcG9pbnQsIGFuZAorICAgdHJhaWxpbmcgemVyb2VzIGFyZSBub3QgcmVtb3ZlZCBhcyB0aGV5IHdvdWxkIG90aGVyd2lzZSBiZS4KKworICAgVGhlIHByZWNpc2lvbiBkZXRlcm1pbmVzIHRoZSBudW1iZXIgb2Ygc2lnbmlmaWNhbnQgZGlnaXRzIGJlZm9yZSBhbmQgYWZ0ZXIgdGhlCisgICBkZWNpbWFsIHBvaW50IGFuZCBkZWZhdWx0cyB0byA2LgorCisoNSkKKyAgIElmIHByZWNpc2lvbiBpcyBgYE5gYCwgdGhlIG91dHB1dCBpcyB0cnVuY2F0ZWQgdG8gYGBOYGAgY2hhcmFjdGVycy4KKworKDYpCisgICBgYGInJXMnYGAgaXMgZGVwcmVjYXRlZCwgYnV0IHdpbGwgbm90IGJlIHJlbW92ZWQgZHVyaW5nIHRoZSAzLnggc2VyaWVzLgorCisoNykKKyAgIFNlZSA6cGVwOmAyMzdgLgorCisuLiBub3RlOjoKKworICAgVGhlIGJ5dGVhcnJheSB2ZXJzaW9uIG9mIHRoaXMgbWV0aG9kIGRvZXMgKm5vdCogb3BlcmF0ZSBpbiBwbGFjZSAtIGl0CisgICBhbHdheXMgcHJvZHVjZXMgYSBuZXcgb2JqZWN0LCBldmVuIGlmIG5vIGNoYW5nZXMgd2VyZSBtYWRlLgorCisuLiBzZWVhbHNvOjogOnBlcDpgNDYxYC4KKy4uIHZlcnNpb25hZGRlZDo6IDMuNQorCiAuLiBfdHlwZW1lbW9yeXZpZXc6CiAKIE1lbW9yeSBWaWV3cwpkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvc3VicHJvY2Vzcy5yc3QgYi9Eb2MvbGlicmFyeS9zdWJwcm9jZXNzLnJzdAppbmRleCAzNmNiZjNjLi40OWE4MmJkIDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS9zdWJwcm9jZXNzLnJzdAorKysgYi9Eb2MvbGlicmFyeS9zdWJwcm9jZXNzLnJzdApAQCAtNjM1LDYgKzYzNSw3IEBACiAgICBtdXN0IGJlIGJ5dGVzIG9yLCBpZiAqdW5pdmVyc2FsX25ld2xpbmVzKiB3YXMgYGBUcnVlYGAsIGEgc3RyaW5nLgogCiAgICA6bWV0aDpgY29tbXVuaWNhdGVgIHJldHVybnMgYSB0dXBsZSBgYChzdGRvdXRfZGF0YSwgc3RkZXJyX2RhdGEpYGAuCisgICBUaGUgZGF0YSB3aWxsIGJlIGJ5dGVzIG9yLCBpZiAqdW5pdmVyc2FsX25ld2xpbmVzKiB3YXMgYGBUcnVlYGAsIHN0cmluZ3MuCiAKICAgIE5vdGUgdGhhdCBpZiB5b3Ugd2FudCB0byBzZW5kIGRhdGEgdG8gdGhlIHByb2Nlc3MncyBzdGRpbiwgeW91IG5lZWQgdG8gY3JlYXRlCiAgICB0aGUgUG9wZW4gb2JqZWN0IHdpdGggYGBzdGRpbj1QSVBFYGAuICBTaW1pbGFybHksIHRvIGdldCBhbnl0aGluZyBvdGhlciB0aGFuCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9zeXMucnN0IGIvRG9jL2xpYnJhcnkvc3lzLnJzdAppbmRleCAzMDI0MDg2Li5mYTEyNWEwIDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS9zeXMucnN0CisrKyBiL0RvYy9saWJyYXJ5L3N5cy5yc3QKQEAgLTcxOCw2ICs3MTgsMTQgQEAKICAgIHZhbHVlIG9mIDpmdW5jOmBpbnRlcm5gIGFyb3VuZCB0byBiZW5lZml0IGZyb20gaXQuCiAKIAorLi4gZnVuY3Rpb246OiBpc19maW5hbGl6aW5nKCkKKworICAgUmV0dXJuIDpjb25zdDpgVHJ1ZWAgaWYgdGhlIFB5dGhvbiBpbnRlcnByZXRlciBpcworICAgOnRlcm06YHNodXR0aW5nIGRvd24gPGludGVycHJldGVyIHNodXRkb3duPmAsIDpjb25zdDpgRmFsc2VgIG90aGVyd2lzZS4KKworICAgLi4gdmVyc2lvbmFkZGVkOjogMy41CisKKwogLi4gZGF0YTo6IGxhc3RfdHlwZQogICAgICAgICAgIGxhc3RfdmFsdWUKICAgICAgICAgICBsYXN0X3RyYWNlYmFjawpkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvdGFyZmlsZS5yc3QgYi9Eb2MvbGlicmFyeS90YXJmaWxlLnJzdAppbmRleCA0NTM2ZWNhLi40ZmQ5NGZkIDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS90YXJmaWxlLnJzdAorKysgYi9Eb2MvbGlicmFyeS90YXJmaWxlLnJzdApAQCAtNjIsNiArNjIsMjMgQEAKICAgICstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwogICAgfCBgYCdyOnh6J2BgICAgICAgIHwgT3BlbiBmb3IgcmVhZGluZyB3aXRoIGx6bWEgY29tcHJlc3Npb24uICAgICB8CiAgICArLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKKyAgIHwgYGAneCdgYCBvciAgICAgICB8IENyZWF0ZSBhIHRhcmZpbGUgZXhjbHVzaXZlbHkgd2l0aG91dCAgICAgICAgfAorICAgfCBgYCd4OidgYCAgICAgICAgIHwgY29tcHJlc3Npb24uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgICB8ICAgICAgICAgICAgICAgICAgfCBSYWlzZSBhbiA6ZXhjOmBGaWxlRXhpc3RzRXJyb3JgIGV4Y2VwdGlvbiAgIHwKKyAgIHwgICAgICAgICAgICAgICAgICB8IGlmIGl0IGlzIGFscmVhZHkgZXhpc3RzLiAgICAgICAgICAgICAgICAgICAgfAorICAgKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCisgICB8IGBgJ3g6Z3onYGAgICAgICAgfCBDcmVhdGUgYSB0YXJmaWxlIHdpdGggZ3ppcCBjb21wcmVzc2lvbi4gICAgIHwKKyAgIHwgICAgICAgICAgICAgICAgICB8IFJhaXNlIGFuIDpleGM6YEZpbGVFeGlzdHNFcnJvcmAgZXhjZXB0aW9uICAgfAorICAgfCAgICAgICAgICAgICAgICAgIHwgaWYgaXQgaXMgYWxyZWFkeSBleGlzdHMuICAgICAgICAgICAgICAgICAgICB8CisgICArLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKKyAgIHwgYGAneDpiejInYGAgICAgICB8IENyZWF0ZSBhIHRhcmZpbGUgd2l0aCBiemlwMiBjb21wcmVzc2lvbi4gICAgfAorICAgfCAgICAgICAgICAgICAgICAgIHwgUmFpc2UgYW4gOmV4YzpgRmlsZUV4aXN0c0Vycm9yYCBleGNlcHRpb24gICB8CisgICB8ICAgICAgICAgICAgICAgICAgfCBpZiBpdCBpcyBhbHJlYWR5IGV4aXN0cy4gICAgICAgICAgICAgICAgICAgIHwKKyAgICstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworICAgfCBgYCd4Onh6J2BgICAgICAgIHwgQ3JlYXRlIGEgdGFyZmlsZSB3aXRoIGx6bWEgY29tcHJlc3Npb24uICAgICB8CisgICB8ICAgICAgICAgICAgICAgICAgfCBSYWlzZSBhbiA6ZXhjOmBGaWxlRXhpc3RzRXJyb3JgIGV4Y2VwdGlvbiAgIHwKKyAgIHwgICAgICAgICAgICAgICAgICB8IGlmIGl0IGlzIGFscmVhZHkgZXhpc3RzLiAgICAgICAgICAgICAgICAgICAgfAorICAgKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCiAgICB8IGBgJ2EnIG9yICdhOidgYCAgfCBPcGVuIGZvciBhcHBlbmRpbmcgd2l0aCBubyBjb21wcmVzc2lvbi4gVGhlIHwKICAgIHwgICAgICAgICAgICAgICAgICB8IGZpbGUgaXMgY3JlYXRlZCBpZiBpdCBkb2VzIG5vdCBleGlzdC4gICAgICAgfAogICAgKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCkBAIC04Miw5ICs5OSw5IEBACiAgICBJZiAqZmlsZW9iaiogaXMgc3BlY2lmaWVkLCBpdCBpcyB1c2VkIGFzIGFuIGFsdGVybmF0aXZlIHRvIGEgOnRlcm06YGZpbGUgb2JqZWN0YAogICAgb3BlbmVkIGluIGJpbmFyeSBtb2RlIGZvciAqbmFtZSouIEl0IGlzIHN1cHBvc2VkIHRvIGJlIGF0IHBvc2l0aW9uIDAuCiAKLSAgIEZvciBtb2RlcyBgYCd3Omd6J2BgLCBgYCdyOmd6J2BgLCBgYCd3OmJ6MidgYCwgYGAncjpiejInYGAsIDpmdW5jOmB0YXJmaWxlLm9wZW5gCi0gICBhY2NlcHRzIHRoZSBrZXl3b3JkIGFyZ3VtZW50ICpjb21wcmVzc2xldmVsKiB0byBzcGVjaWZ5IHRoZSBjb21wcmVzc2lvbiBsZXZlbCBvZgotICAgdGhlIGZpbGUuCisgICBGb3IgbW9kZXMgYGAndzpneidgYCwgYGAncjpneidgYCwgYGAndzpiejInYGAsIGBgJ3I6YnoyJ2BgLCBgYCd4Omd6J2BgLAorICAgYGAneDpiejInYGAsIDpmdW5jOmB0YXJmaWxlLm9wZW5gIGFjY2VwdHMgdGhlIGtleXdvcmQgYXJndW1lbnQKKyAgICpjb21wcmVzc2xldmVsKiB0byBzcGVjaWZ5IHRoZSBjb21wcmVzc2lvbiBsZXZlbCBvZiB0aGUgZmlsZS4KIAogICAgRm9yIHNwZWNpYWwgcHVycG9zZXMsIHRoZXJlIGlzIGEgc2Vjb25kIGZvcm1hdCBmb3IgKm1vZGUqOgogICAgYGAnZmlsZW1vZGV8W2NvbXByZXNzaW9uXSdgYC4gIDpmdW5jOmB0YXJmaWxlLm9wZW5gIHdpbGwgcmV0dXJuIGEgOmNsYXNzOmBUYXJGaWxlYApAQCAtMTI3LDYgKzE0NCw4IEBACiAgICB8ICAgICAgICAgICAgIHwgd3JpdGluZy4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKICAgICstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwogCisgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuNQorICAgICAgVGhlIGBgJ3gnYGAgKGV4Y2x1c2l2ZSBjcmVhdGlvbikgbW9kZSB3YXMgYWRkZWQuCiAKIC4uIGNsYXNzOjogVGFyRmlsZQogCkBAIC0yNTIsOCArMjcxLDggQEAKICAgIEluIHRoaXMgY2FzZSwgdGhlIGZpbGUgb2JqZWN0J3MgOmF0dHI6YG5hbWVgIGF0dHJpYnV0ZSBpcyB1c2VkIGlmIGl0IGV4aXN0cy4KIAogICAgKm1vZGUqIGlzIGVpdGhlciBgYCdyJ2BgIHRvIHJlYWQgZnJvbSBhbiBleGlzdGluZyBhcmNoaXZlLCBgYCdhJ2BgIHRvIGFwcGVuZAotICAgZGF0YSB0byBhbiBleGlzdGluZyBmaWxlIG9yIGBgJ3cnYGAgdG8gY3JlYXRlIGEgbmV3IGZpbGUgb3ZlcndyaXRpbmcgYW4gZXhpc3RpbmcKLSAgIG9uZS4KKyAgIGRhdGEgdG8gYW4gZXhpc3RpbmcgZmlsZSwgYGAndydgYCB0byBjcmVhdGUgYSBuZXcgZmlsZSBvdmVyd3JpdGluZyBhbiBleGlzdGluZworICAgb25lIG9yIGBgJ3gnYGAgdG8gY3JlYXRlIGEgbmV3IGZpbGUgb25seSBpZiBpdCdzIG5vdCBleGlzdHMuCiAKICAgIElmICpmaWxlb2JqKiBpcyBnaXZlbiwgaXQgaXMgdXNlZCBmb3IgcmVhZGluZyBvciB3cml0aW5nIGRhdGEuIElmIGl0IGNhbiBiZQogICAgZGV0ZXJtaW5lZCwgKm1vZGUqIGlzIG92ZXJyaWRkZW4gYnkgKmZpbGVvYmoqJ3MgbW9kZS4gKmZpbGVvYmoqIHdpbGwgYmUgdXNlZApAQCAtMjkyLDEyICszMTEsMTQgQEAKICAgIHRvIGJlIGhhbmRsZWQuIFRoZSBkZWZhdWx0IHNldHRpbmdzIHdpbGwgd29yayBmb3IgbW9zdCB1c2Vycy4KICAgIFNlZSBzZWN0aW9uIDpyZWY6YHRhci11bmljb2RlYCBmb3IgaW4tZGVwdGggaW5mb3JtYXRpb24uCiAKLSAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy4yCi0gICAgICBVc2UgYGAnc3Vycm9nYXRlZXNjYXBlJ2BgIGFzIHRoZSBkZWZhdWx0IGZvciB0aGUgKmVycm9ycyogYXJndW1lbnQuCi0KICAgIFRoZSAqcGF4X2hlYWRlcnMqIGFyZ3VtZW50IGlzIGFuIG9wdGlvbmFsIGRpY3Rpb25hcnkgb2Ygc3RyaW5ncyB3aGljaAogICAgd2lsbCBiZSBhZGRlZCBhcyBhIHBheCBnbG9iYWwgaGVhZGVyIGlmICpmb3JtYXQqIGlzIDpjb25zdDpgUEFYX0ZPUk1BVGAuCiAKKyAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy4yCisgICAgICBVc2UgYGAnc3Vycm9nYXRlZXNjYXBlJ2BgIGFzIHRoZSBkZWZhdWx0IGZvciB0aGUgKmVycm9ycyogYXJndW1lbnQuCisKKyAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy41CisgICAgICBUaGUgYGAneCdgYCAoZXhjbHVzaXZlIGNyZWF0aW9uKSBtb2RlIHdhcyBhZGRlZC4KIAogLi4gY2xhc3NtZXRob2Q6OiBUYXJGaWxlLm9wZW4oLi4uKQogCkBAIC0zMjgsMTEgKzM0OSwxNSBAQAogICAgcmV0dXJuZWQgYnkgOm1ldGg6YGdldG1lbWJlcnNgLgogCiAKLS4uIG1ldGhvZDo6IFRhckZpbGUubGlzdCh2ZXJib3NlPVRydWUpCisuLiBtZXRob2Q6OiBUYXJGaWxlLmxpc3QodmVyYm9zZT1UcnVlLCAqLCBtZW1iZXJzPU5vbmUpCiAKICAgIFByaW50IGEgdGFibGUgb2YgY29udGVudHMgdG8gYGBzeXMuc3Rkb3V0YGAuIElmICp2ZXJib3NlKiBpcyA6Y29uc3Q6YEZhbHNlYCwKICAgIG9ubHkgdGhlIG5hbWVzIG9mIHRoZSBtZW1iZXJzIGFyZSBwcmludGVkLiBJZiBpdCBpcyA6Y29uc3Q6YFRydWVgLCBvdXRwdXQKLSAgIHNpbWlsYXIgdG8gdGhhdCBvZiA6cHJvZ3JhbTpgbHMgLWxgIGlzIHByb2R1Y2VkLgorICAgc2ltaWxhciB0byB0aGF0IG9mIDpwcm9ncmFtOmBscyAtbGAgaXMgcHJvZHVjZWQuIElmIG9wdGlvbmFsICptZW1iZXJzKiBpcworICAgZ2l2ZW4sIGl0IG11c3QgYmUgYSBzdWJzZXQgb2YgdGhlIGxpc3QgcmV0dXJuZWQgYnkgOm1ldGg6YGdldG1lbWJlcnNgLgorCisgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuNQorICAgICAgQWRkZWQgdGhlICptZW1iZXJzKiBwYXJhbWV0ZXIuCiAKIAogLi4gbWV0aG9kOjogVGFyRmlsZS5uZXh0KCkKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L3RlbXBmaWxlLnJzdCBiL0RvYy9saWJyYXJ5L3RlbXBmaWxlLnJzdAppbmRleCA0NGQwMjVkLi4yYzY4Mzc3IDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS90ZW1wZmlsZS5yc3QKKysrIGIvRG9jL2xpYnJhcnkvdGVtcGZpbGUucnN0CkBAIC01NCw2ICs1NCwxMyBAQAogICAgdW5kZXJseWluZyB0cnVlIGZpbGUgb2JqZWN0LiBUaGlzIGZpbGUtbGlrZSBvYmplY3QgY2FuIGJlIHVzZWQgaW4gYQogICAgOmtleXdvcmQ6YHdpdGhgIHN0YXRlbWVudCwganVzdCBsaWtlIGEgbm9ybWFsIGZpbGUuCiAKKyAgIFRoZSA6cHk6ZGF0YTpgb3MuT19UTVBGSUxFYCBmbGFnIGlzIHVzZWQgaWYgaXQgaXMgYXZhaWxhYmxlIGFuZCB3b3JrcworICAgKExpbnV4LXNwZWNpZmljLCByZXF1aXJlIExpbnV4IGtlcm5lbCAzLjExIG9yIGxhdGVyKS4KKworICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjUKKworICAgICAgVGhlIDpweTpkYXRhOmBvcy5PX1RNUEZJTEVgIGZsYWcgaXMgbm93IHVzZWQgaWYgYXZhaWxhYmxlLgorCiAKIC4uIGZ1bmN0aW9uOjogTmFtZWRUZW1wb3JhcnlGaWxlKG1vZGU9J3crYicsIGJ1ZmZlcmluZz1Ob25lLCBlbmNvZGluZz1Ob25lLCBuZXdsaW5lPU5vbmUsIHN1ZmZpeD0nJywgcHJlZml4PSd0bXAnLCBkaXI9Tm9uZSwgZGVsZXRlPVRydWUpCiAKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L3RocmVhZGluZy5yc3QgYi9Eb2MvbGlicmFyeS90aHJlYWRpbmcucnN0CmluZGV4IGY1OWZmZTUuLmU3YTM1NDQgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L3RocmVhZGluZy5yc3QKKysrIGIvRG9jL2xpYnJhcnkvdGhyZWFkaW5nLnJzdApAQCAtNjMwLDcgKzYzMCw3IEBACiAgICAgICAgICAgICBjdi53YWl0KCkKIAogICAgICAgVGhlcmVmb3JlLCB0aGUgc2FtZSBydWxlcyBhcHBseSBhcyB3aXRoIDptZXRoOmB3YWl0YDogVGhlIGxvY2sgbXVzdCBiZQotICAgICAgaGVsZCB3aGVuIGNhbGxlZCBhbmQgaXMgcmUtYXF1aXJlZCBvbiByZXR1cm4uICBUaGUgcHJlZGljYXRlIGlzIGV2YWx1YXRlZAorICAgICAgaGVsZCB3aGVuIGNhbGxlZCBhbmQgaXMgcmUtYWNxdWlyZWQgb24gcmV0dXJuLiAgVGhlIHByZWRpY2F0ZSBpcyBldmFsdWF0ZWQKICAgICAgIHdpdGggdGhlIGxvY2sgaGVsZC4KIAogICAgICAgLi4gdmVyc2lvbmFkZGVkOjogMy4yCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS90aW1lLnJzdCBiL0RvYy9saWJyYXJ5L3RpbWUucnN0CmluZGV4IDhkOGI3ZDQuLjZiZmQ1MjEgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L3RpbWUucnN0CisrKyBiL0RvYy9saWJyYXJ5L3RpbWUucnN0CkBAIC0zMTQsOSArMzE0LDkgQEAKICAgIHByb2Nlc3NlcyBydW5uaW5nIGZvciBtb3JlIHRoYW4gNDkgZGF5cy4gT24gbW9yZSByZWNlbnQgdmVyc2lvbnMgb2YgV2luZG93cwogICAgYW5kIG9uIG90aGVyIG9wZXJhdGluZyBzeXN0ZW1zLCA6ZnVuYzpgbW9ub3RvbmljYCBpcyBzeXN0ZW0td2lkZS4KIAotICAgQXZhaWxhYmlsaXR5OiBXaW5kb3dzLCBNYWMgT1MgWCwgTGludXgsIEZyZWVCU0QsIE9wZW5CU0QsIFNvbGFyaXMuCi0KICAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMworICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjUKKyAgICAgIFRoZSBmdW5jdGlvbiBpcyBub3cgYWx3YXlzIGF2YWlsYWJsZS4KIAogCiAuLiBmdW5jdGlvbjo6IHBlcmZfY291bnRlcigpCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS90aW1laXQucnN0IGIvRG9jL2xpYnJhcnkvdGltZWl0LnJzdAppbmRleCA1MDNhNzA1Li4xNzU4OGJkIDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS90aW1laXQucnN0CisrKyBiL0RvYy9saWJyYXJ5L3RpbWVpdC5yc3QKQEAgLTU5LDE4ICs1OSwyNiBAQAogVGhlIG1vZHVsZSBkZWZpbmVzIHRocmVlIGNvbnZlbmllbmNlIGZ1bmN0aW9ucyBhbmQgYSBwdWJsaWMgY2xhc3M6CiAKIAotLi4gZnVuY3Rpb246OiB0aW1laXQoc3RtdD0ncGFzcycsIHNldHVwPSdwYXNzJywgdGltZXI9PGRlZmF1bHQgdGltZXI+LCBudW1iZXI9MTAwMDAwMCkKKy4uIGZ1bmN0aW9uOjogdGltZWl0KHN0bXQ9J3Bhc3MnLCBzZXR1cD0ncGFzcycsIHRpbWVyPTxkZWZhdWx0IHRpbWVyPiwgbnVtYmVyPTEwMDAwMDAsIGdsb2JhbHM9Tm9uZSkKIAogICAgQ3JlYXRlIGEgOmNsYXNzOmBUaW1lcmAgaW5zdGFuY2Ugd2l0aCB0aGUgZ2l2ZW4gc3RhdGVtZW50LCAqc2V0dXAqIGNvZGUgYW5kCiAgICAqdGltZXIqIGZ1bmN0aW9uIGFuZCBydW4gaXRzIDptZXRoOmAudGltZWl0YCBtZXRob2Qgd2l0aCAqbnVtYmVyKiBleGVjdXRpb25zLgorICAgVGhlIG9wdGlvbmFsICpnbG9iYWxzKiBhcmd1bWVudCBzcGVjaWZpZXMgYSBuYW1lc3BhY2UgaW4gd2hpY2ggdG8gZXhlY3V0ZSB0aGUKKyAgIGNvZGUuCisKKyAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy41CisgICAgICBUaGUgb3B0aW9uYWwgKmdsb2JhbHMqIHBhcmFtZXRlciB3YXMgYWRkZWQuCiAKIAotLi4gZnVuY3Rpb246OiByZXBlYXQoc3RtdD0ncGFzcycsIHNldHVwPSdwYXNzJywgdGltZXI9PGRlZmF1bHQgdGltZXI+LCByZXBlYXQ9MywgbnVtYmVyPTEwMDAwMDApCisuLiBmdW5jdGlvbjo6IHJlcGVhdChzdG10PSdwYXNzJywgc2V0dXA9J3Bhc3MnLCB0aW1lcj08ZGVmYXVsdCB0aW1lcj4sIHJlcGVhdD0zLCBudW1iZXI9MTAwMDAwMCwgZ2xvYmFscz1Ob25lKQogCiAgICBDcmVhdGUgYSA6Y2xhc3M6YFRpbWVyYCBpbnN0YW5jZSB3aXRoIHRoZSBnaXZlbiBzdGF0ZW1lbnQsICpzZXR1cCogY29kZSBhbmQKICAgICp0aW1lciogZnVuY3Rpb24gYW5kIHJ1biBpdHMgOm1ldGg6YC5yZXBlYXRgIG1ldGhvZCB3aXRoIHRoZSBnaXZlbiAqcmVwZWF0KgotICAgY291bnQgYW5kICpudW1iZXIqIGV4ZWN1dGlvbnMuCisgICBjb3VudCBhbmQgKm51bWJlciogZXhlY3V0aW9ucy4gIFRoZSBvcHRpb25hbCAqZ2xvYmFscyogYXJndW1lbnQgc3BlY2lmaWVzIGEKKyAgIG5hbWVzcGFjZSBpbiB3aGljaCB0byBleGVjdXRlIHRoZSBjb2RlLgogCisgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuNQorICAgICAgVGhlIG9wdGlvbmFsICpnbG9iYWxzKiBwYXJhbWV0ZXIgd2FzIGFkZGVkLgogCiAuLiBmdW5jdGlvbjo6IGRlZmF1bHRfdGltZXIoKQogCkBAIC04MCw3ICs4OCw3IEBACiAgICAgICA6ZnVuYzpgdGltZS5wZXJmX2NvdW50ZXJgIGlzIG5vdyB0aGUgZGVmYXVsdCB0aW1lci4KIAogCi0uLiBjbGFzczo6IFRpbWVyKHN0bXQ9J3Bhc3MnLCBzZXR1cD0ncGFzcycsIHRpbWVyPTx0aW1lciBmdW5jdGlvbj4pCisuLiBjbGFzczo6IFRpbWVyKHN0bXQ9J3Bhc3MnLCBzZXR1cD0ncGFzcycsIHRpbWVyPTx0aW1lciBmdW5jdGlvbj4sIGdsb2JhbHM9Tm9uZSkKIAogICAgQ2xhc3MgZm9yIHRpbWluZyBleGVjdXRpb24gc3BlZWQgb2Ygc21hbGwgY29kZSBzbmlwcGV0cy4KIApAQCAtODgsNyArOTYsOSBAQAogICAgZm9yIHNldHVwLCBhbmQgYSB0aW1lciBmdW5jdGlvbi4gIEJvdGggc3RhdGVtZW50cyBkZWZhdWx0IHRvIGBgJ3Bhc3MnYGA7CiAgICB0aGUgdGltZXIgZnVuY3Rpb24gaXMgcGxhdGZvcm0tZGVwZW5kZW50IChzZWUgdGhlIG1vZHVsZSBkb2Mgc3RyaW5nKS4KICAgICpzdG10KiBhbmQgKnNldHVwKiBtYXkgYWxzbyBjb250YWluIG11bHRpcGxlIHN0YXRlbWVudHMgc2VwYXJhdGVkIGJ5IGBgO2BgCi0gICBvciBuZXdsaW5lcywgYXMgbG9uZyBhcyB0aGV5IGRvbid0IGNvbnRhaW4gbXVsdGktbGluZSBzdHJpbmcgbGl0ZXJhbHMuCisgICBvciBuZXdsaW5lcywgYXMgbG9uZyBhcyB0aGV5IGRvbid0IGNvbnRhaW4gbXVsdGktbGluZSBzdHJpbmcgbGl0ZXJhbHMuICBUaGUKKyAgIHN0YXRlbWVudCB3aWxsIGJ5IGRlZmF1bHQgYmUgZXhlY3V0ZWQgd2l0aGluIHRpbWVpdCdzIG5hbWVzcGFjZTsgdGhpcyBiZWhhdmlvcgorICAgY2FuIGJlIGNvbnRyb2xsZWQgYnkgcGFzc2luZyBhIG5hbWVzcGFjZSB0byAqZ2xvYmFscyouCiAKICAgIFRvIG1lYXN1cmUgdGhlIGV4ZWN1dGlvbiB0aW1lIG9mIHRoZSBmaXJzdCBzdGF0ZW1lbnQsIHVzZSB0aGUgOm1ldGg6YC50aW1laXRgCiAgICBtZXRob2QuICBUaGUgOm1ldGg6YC5yZXBlYXRgIG1ldGhvZCBpcyBhIGNvbnZlbmllbmNlIHRvIGNhbGwgOm1ldGg6YC50aW1laXRgCkBAIC05OSw2ICsxMDksOCBAQAogICAgd2lsbCB0aGVuIGJlIGV4ZWN1dGVkIGJ5IDptZXRoOmAudGltZWl0YC4gIE5vdGUgdGhhdCB0aGUgdGltaW5nIG92ZXJoZWFkIGlzIGEKICAgIGxpdHRsZSBsYXJnZXIgaW4gdGhpcyBjYXNlIGJlY2F1c2Ugb2YgdGhlIGV4dHJhIGZ1bmN0aW9uIGNhbGxzLgogCisgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuNQorICAgICAgVGhlIG9wdGlvbmFsICpnbG9iYWxzKiBwYXJhbWV0ZXIgd2FzIGFkZGVkLgogCiAgICAuLiBtZXRob2Q6OiBUaW1lci50aW1laXQobnVtYmVyPTEwMDAwMDApCiAKQEAgLTMxOCwzICszMzAsMTcgQEAKICAgIGlmIF9fbmFtZV9fID09ICdfX21haW5fXyc6CiAgICAgICAgaW1wb3J0IHRpbWVpdAogICAgICAgIHByaW50KHRpbWVpdC50aW1laXQoInRlc3QoKSIsIHNldHVwPSJmcm9tIF9fbWFpbl9fIGltcG9ydCB0ZXN0IikpCisKK0Fub3RoZXIgb3B0aW9uIGlzIHRvIHBhc3MgOmZ1bmM6YGdsb2JhbHNgIHRvIHRoZSAgKmdsb2JhbHMqIHBhcmFtZXRlciwgd2hpY2ggd2lsbCBjYXVzZSB0aGUgY29kZQordG8gYmUgZXhlY3V0ZWQgd2l0aGluIHlvdXIgY3VycmVudCBnbG9iYWwgbmFtZXNwYWNlLiAgVGhpcyBjYW4gYmUgbW9yZSBjb252ZW5pZW50Cit0aGFuIGluZGl2aWR1YWxseSBzcGVjaWZ5aW5nIGltcG9ydHM6OgorCisgICBkZWYgZih4KToKKyAgICAgICByZXR1cm4geCoqMgorICAgZGVmIGcoeCk6CisgICAgICAgcmV0dXJuIHgqKjQKKyAgIGRlZiBoKHgpOgorICAgICAgIHJldHVybiB4Kio4CisKKyAgIGltcG9ydCB0aW1laXQKKyAgIHByaW50KHRpbWVpdC50aW1laXQoJ1tmdW5jKDQyKSBmb3IgZnVuYyBpbiAoZixnLGgpXScsIGdsb2JhbHM9Z2xvYmFscygpKSkKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L3RraW50ZXIudHRrLnJzdCBiL0RvYy9saWJyYXJ5L3RraW50ZXIudHRrLnJzdAppbmRleCA2ZjhiZjFjLi5iMGVlZmNiIDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS90a2ludGVyLnR0ay5yc3QKKysrIGIvRG9jL2xpYnJhcnkvdGtpbnRlci50dGsucnN0CkBAIC0xMTY3LDcgKzExNjcsNyBAQAogRWFjaCB3aWRnZXQgaW4gOm1vZDpgdHRrYCBpcyBhc3NpZ25lZCBhIHN0eWxlLCB3aGljaCBzcGVjaWZpZXMgdGhlIHNldCBvZgogZWxlbWVudHMgbWFraW5nIHVwIHRoZSB3aWRnZXQgYW5kIGhvdyB0aGV5IGFyZSBhcnJhbmdlZCwgYWxvbmcgd2l0aCBkeW5hbWljCiBhbmQgZGVmYXVsdCBzZXR0aW5ncyBmb3IgZWxlbWVudCBvcHRpb25zLiBCeSBkZWZhdWx0IHRoZSBzdHlsZSBuYW1lIGlzIHRoZQotc2FtZSBhcyB0aGUgd2lkZ2V0J3MgY2xhc3MgbmFtZSwgYnV0IGl0IG1heSBiZSBvdmVycmlkZW4gYnkgdGhlIHdpZGdldCdzIHN0eWxlCitzYW1lIGFzIHRoZSB3aWRnZXQncyBjbGFzcyBuYW1lLCBidXQgaXQgbWF5IGJlIG92ZXJyaWRkZW4gYnkgdGhlIHdpZGdldCdzIHN0eWxlCiBvcHRpb24uIElmIHlvdSBkb24ndCBrbm93IHRoZSBjbGFzcyBuYW1lIG9mIGEgd2lkZ2V0LCB1c2UgdGhlIG1ldGhvZAogOm1ldGg6YE1pc2Mud2luZm9fY2xhc3NgIChzb21ld2lkZ2V0LndpbmZvX2NsYXNzKCkpLgogCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS90b2tlbi5yc3QgYi9Eb2MvbGlicmFyeS90b2tlbi5yc3QKaW5kZXggNGNkNzA5OC4uODhmYjM4YiAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvdG9rZW4ucnN0CisrKyBiL0RvYy9saWJyYXJ5L3Rva2VuLnJzdApAQCAtOTMsNiArOTMsNyBAQAogICAgICAgICAgIERPVUJMRVNMQVNICiAgICAgICAgICAgRE9VQkxFU0xBU0hFUVVBTAogICAgICAgICAgIEFUCisgICAgICAgICAgQVRFUVVBTAogICAgICAgICAgIFJBUlJPVwogICAgICAgICAgIEVMTElQU0lTCiAgICAgICAgICAgT1AKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L3RyYWNlYmFjay5yc3QgYi9Eb2MvbGlicmFyeS90cmFjZWJhY2sucnN0CmluZGV4IDE1ZmJlZGMuLmM2YjVkMGMgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L3RyYWNlYmFjay5yc3QKKysrIGIvRG9jL2xpYnJhcnkvdHJhY2ViYWNrLnJzdApAQCAtMTM2LDYgKzEzNiwxNjIgQEAKIAogICAgLi4gdmVyc2lvbmFkZGVkOjogMy40CiAKKy4uIGZ1bmN0aW9uOjogd2Fsa19zdGFjayhmKQorCisgICBXYWxrIGEgc3RhY2sgZm9sbG93aW5nIGBgZi5mX2JhY2tgYCBmcm9tIHRoZSBnaXZlbiBmcmFtZSwgeWllbGRpbmcgdGhlIGZyYW1lCisgICBhbmQgbGluZSBudW1iZXIgZm9yIGVhY2ggZnJhbWUuIElmICpmKiBpcyBgYE5vbmVgYCwgdGhlIGN1cnJlbnQgc3RhY2sgaXMKKyAgIHVzZWQuIFRoaXMgaGVscGVyIGlzIHVzZWQgd2l0aCA6bWV0aDpgU3RhY2tTdW1tYXJ5LmV4dHJhY3RgLgorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjUKKworLi4gZnVuY3Rpb246OiB3YWxrX3RiKHRiKQorCisgICBXYWxrIGEgdHJhY2ViYWNrIGZvbGxvd2luZyBgYHRiX25leHRgYCB5aWVsZGluZyB0aGUgZnJhbWUgYW5kIGxpbmUgbnVtYmVyCisgICBmb3IgZWFjaCBmcmFtZS4gVGhpcyBoZWxwZXIgaXMgdXNlZCB3aXRoIDptZXRoOmBTdGFja1N1bW1hcnkuZXh0cmFjdGAuCisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuNQorCitUaGUgbW9kdWxlIGFsc28gZGVmaW5lcyB0aGUgZm9sbG93aW5nIGNsYXNzZXM6CisKKzpjbGFzczpgVHJhY2ViYWNrRXhjZXB0aW9uYCBPYmplY3RzCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisuLiB2ZXJzaW9uYWRkZWQ6OiAzLjUKKworOmNsYXNzOmBUcmFjZWJhY2tFeGNlcHRpb25gIG9iamVjdHMgYXJlIGNyZWF0ZWQgZnJvbSBhY3R1YWwgZXhjZXB0aW9ucyB0bworY2FwdHVyZSBkYXRhIGZvciBsYXRlciBwcmludGluZyBpbiBhIGxpZ2h0d2VpZ2h0IGZhc2hpb24uCisKKy4uIGNsYXNzOjogVHJhY2ViYWNrRXhjZXB0aW9uKGV4Y190eXBlLCBleGNfdmFsdWUsIGV4Y190cmFjZWJhY2ssICosIGxpbWl0PU5vbmUsIGxvb2t1cF9saW5lcz1UcnVlLCBjYXB0dXJlX2xvY2Fscz1GYWxzZSkKKworICAgQ2FwdHVyZSBhbiBleGNlcHRpb24gZm9yIGxhdGVyIHJlbmRlcmluZy4gKmxpbWl0KiwgKmxvb2t1cF9saW5lcyogYW5kCisgICAqY2FwdHVyZV9sb2NhbHMqIGFyZSBhcyBmb3IgdGhlIDpjbGFzczpgU3RhY2tTdW1tYXJ5YCBjbGFzcy4KKworICAgTm90ZSB0aGF0IHdoZW4gbG9jYWxzIGFyZSBjYXB0dXJlZCwgdGhleSBhcmUgYWxzbyBzaG93biBpbiB0aGUgdHJhY2ViYWNrLgorCisgICAuLiBhdHRyaWJ1dGU6OiBfX2NhdXNlX18KKworICAgICAgQSA6Y2xhc3M6YFRyYWNlYmFja0V4Y2VwdGlvbmAgb2YgdGhlIG9yaWdpbmFsIGBgX19jYXVzZV9fYGAuCisKKyAgIC4uIGF0dHJpYnV0ZTo6IF9fY29udGV4dF9fCisKKyAgICAgIEEgOmNsYXNzOmBUcmFjZWJhY2tFeGNlcHRpb25gIG9mIHRoZSBvcmlnaW5hbCBgYF9fY29udGV4dF9fYGAuCisKKyAgIC4uIGF0dHJpYnV0ZTo6IF9fc3VwcHJlc3NfY29udGV4dF9fCisKKyAgICAgIFRoZSBgYF9fc3VwcHJlc3NfY29udGV4dF9fYGAgdmFsdWUgZnJvbSB0aGUgb3JpZ2luYWwgZXhjZXB0aW9uLgorCisgICAuLiBhdHRyaWJ1dGU6OiBzdGFjaworCisgICAgICBBIDpjbGFzczpgU3RhY2tTdW1tYXJ5YCByZXByZXNlbnRpbmcgdGhlIHRyYWNlYmFjay4KKworICAgLi4gYXR0cmlidXRlOjogZXhjX3R5cGUKKworICAgICAgVGhlIGNsYXNzIG9mIHRoZSBvcmlnaW5hbCB0cmFjZWJhY2suCisKKyAgIC4uIGF0dHJpYnV0ZTo6IGZpbGVuYW1lCisKKyAgICAgIEZvciBzeW50YXggZXJyb3JzIC0gdGhlIGZpbGUgbmFtZSB3aGVyZSB0aGUgZXJyb3Igb2NjdXJyZWQuCisKKyAgIC4uIGF0dHJpYnV0ZTo6IGxpbmVubworCisgICAgICBGb3Igc3ludGF4IGVycm9ycyAtIHRoZSBsaW5lIG51bWJlciB3aGVyZSB0aGUgZXJyb3Igb2NjdXJyZWQuCisKKyAgIC4uIGF0dHJpYnV0ZTo6IHRleHQKKworICAgICAgRm9yIHN5bnRheCBlcnJvcnMgLSB0aGUgdGV4dCB3aGVyZSB0aGUgZXJyb3Igb2NjdXJyZWQuCisKKyAgIC4uIGF0dHJpYnV0ZTo6IG9mZnNldAorCisgICAgICBGb3Igc3ludGF4IGVycm9ycyAtIHRoZSBvZmZzZXQgaW50byB0aGUgdGV4dCB3aGVyZSB0aGUgZXJyb3Igb2NjdXJyZWQuCisKKyAgIC4uIGF0dHJpYnV0ZTo6IG1zZworCisgICAgICBGb3Igc3ludGF4IGVycm9ycyAtIHRoZSBjb21waWxlciBlcnJvciBtZXNzYWdlLgorCisgICAuLiBjbGFzc21ldGhvZDo6IGZyb21fZXhjZXB0aW9uKGV4YywgKiwgbGltaXQ9Tm9uZSwgbG9va3VwX2xpbmVzPVRydWUsIGNhcHR1cmVfbG9jYWxzPUZhbHNlKQorCisgICAgICBDYXB0dXJlIGFuIGV4Y2VwdGlvbiBmb3IgbGF0ZXIgcmVuZGVyaW5nLiAqbGltaXQqLCAqbG9va3VwX2xpbmVzKiBhbmQKKyAgICAgICpjYXB0dXJlX2xvY2FscyogYXJlIGFzIGZvciB0aGUgOmNsYXNzOmBTdGFja1N1bW1hcnlgIGNsYXNzLgorCisgICAgICBOb3RlIHRoYXQgd2hlbiBsb2NhbHMgYXJlIGNhcHR1cmVkLCB0aGV5IGFyZSBhbHNvIHNob3duIGluIHRoZSB0cmFjZWJhY2suCisKKyAgIC4uIG1ldGhvZDo6IGZvcm1hdCgqLCBjaGFpbj1UcnVlKQorCisgICAgICBGb3JtYXQgdGhlIGV4Y2VwdGlvbi4KKworICAgICAgSWYgKmNoYWluKiBpcyBub3QgYGBUcnVlYGAsIGBgX19jYXVzZV9fYGAgYW5kIGBgX19jb250ZXh0X19gYCB3aWxsIG5vdAorICAgICAgYmUgZm9ybWF0dGVkLgorCisgICAgICBUaGUgcmV0dXJuIHZhbHVlIGlzIGEgZ2VuZXJhdG9yIG9mIHN0cmluZ3MsIGVhY2ggZW5kaW5nIGluIGEgbmV3bGluZSBhbmQKKyAgICAgIHNvbWUgY29udGFpbmluZyBpbnRlcm5hbCBuZXdsaW5lcy4gOmZ1bmM6YH50cmFjZWJhY2sucHJpbnRfZXhjZXB0aW9uYAorICAgICAgaXMgYSB3cmFwcGVyIGFyb3VuZCB0aGlzIG1ldGhvZCB3aGljaCBqdXN0IHByaW50cyB0aGUgbGluZXMgdG8gYSBmaWxlLgorCisgICAgICBUaGUgbWVzc2FnZSBpbmRpY2F0aW5nIHdoaWNoIGV4Y2VwdGlvbiBvY2N1cnJlZCBpcyBhbHdheXMgdGhlIGxhc3QKKyAgICAgIHN0cmluZyBpbiB0aGUgb3V0cHV0LgorCisgICAuLiBtZXRob2Q6OiAgZm9ybWF0X2V4Y2VwdGlvbl9vbmx5KCkKKworICAgICAgRm9ybWF0IHRoZSBleGNlcHRpb24gcGFydCBvZiB0aGUgdHJhY2ViYWNrLgorCisgICAgICBUaGUgcmV0dXJuIHZhbHVlIGlzIGEgZ2VuZXJhdG9yIG9mIHN0cmluZ3MsIGVhY2ggZW5kaW5nIGluIGEgbmV3bGluZS4KKworICAgICAgTm9ybWFsbHksIHRoZSBnZW5lcmF0b3IgZW1pdHMgYSBzaW5nbGUgc3RyaW5nOyBob3dldmVyLCBmb3IKKyAgICAgIDpleGM6YFN5bnRheEVycm9yYCBleGNlcHRpb25zLCBpdCBlbWl0cyBzZXZlcmFsIGxpbmVzIHRoYXQgKHdoZW4KKyAgICAgIHByaW50ZWQpIGRpc3BsYXkgZGV0YWlsZWQgaW5mb3JtYXRpb24gYWJvdXQgd2hlcmUgdGhlIHN5bnRheAorICAgICAgZXJyb3Igb2NjdXJyZWQuCisKKyAgICAgIFRoZSBtZXNzYWdlIGluZGljYXRpbmcgd2hpY2ggZXhjZXB0aW9uIG9jY3VycmVkIGlzIGFsd2F5cyB0aGUgbGFzdAorICAgICAgc3RyaW5nIGluIHRoZSBvdXRwdXQuCisKKworOmNsYXNzOmBTdGFja1N1bW1hcnlgIE9iamVjdHMKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKy4uIHZlcnNpb25hZGRlZDo6IDMuNQorCis6Y2xhc3M6YFN0YWNrU3VtbWFyeWAgb2JqZWN0cyByZXByZXNlbnQgYSBjYWxsIHN0YWNrIHJlYWR5IGZvciBmb3JtYXR0aW5nLgorCisuLiBjbGFzczo6IFN0YWNrU3VtbWFyeQorCisgICAuLiBjbGFzc21ldGhvZDo6IGV4dHJhY3QoZnJhbWVfZ2VuLCAqLCBsaW1pdD1Ob25lLCBsb29rdXBfbGluZXM9VHJ1ZSwgY2FwdHVyZV9sb2NhbHM9RmFsc2UpCisKKyAgICAgIENvbnN0cnVjdCBhIDpjbGFzczpgU3RhY2tTdW1tYXJ5YCBvYmplY3QgZnJvbSBhIGZyYW1lIGdlbmVyYXRvciAoc3VjaCBhcworICAgICAgaXMgcmV0dXJuZWQgYnkgOmZ1bmM6YH50cmFjZWJhY2sud2Fsa19zdGFja2Agb3IKKyAgICAgIDpmdW5jOmB+dHJhY2ViYWNrLndhbGtfdGJgKS4KKworICAgICAgSWYgKmxpbWl0KiBpcyBzdXBwbGllZCwgb25seSB0aGlzIG1hbnkgZnJhbWVzIGFyZSB0YWtlbiBmcm9tICpmcmFtZV9nZW4qLgorICAgICAgSWYgKmxvb2t1cF9saW5lcyogaXMgYGBGYWxzZWBgLCB0aGUgcmV0dXJuZWQgOmNsYXNzOmBGcmFtZVN1bW1hcnlgCisgICAgICBvYmplY3RzIHdpbGwgbm90IGhhdmUgcmVhZCB0aGVpciBsaW5lcyBpbiB5ZXQsIG1ha2luZyB0aGUgY29zdCBvZgorICAgICAgY3JlYXRpbmcgdGhlIDpjbGFzczpgU3RhY2tTdW1tYXJ5YCBjaGVhcGVyICh3aGljaCBtYXkgYmUgdmFsdWFibGUgaWYgaXQKKyAgICAgIG1heSBub3QgYWN0dWFsbHkgZ2V0IGZvcm1hdHRlZCkuIElmICpjYXB0dXJlX2xvY2FscyogaXMgYGBUcnVlYGAgdGhlCisgICAgICBsb2NhbCB2YXJpYWJsZXMgaW4gZWFjaCA6Y2xhc3M6YEZyYW1lU3VtbWFyeWAgYXJlIGNhcHR1cmVkIGFzIG9iamVjdAorICAgICAgcmVwcmVzZW50YXRpb25zLgorCisgICAuLiBjbGFzc21ldGhvZDo6IGZyb21fbGlzdChhX2xpc3QpCisKKyAgICAgIENvbnN0cnVjdCBhIDpjbGFzczpgU3RhY2tTdW1tYXJ5YCBvYmplY3QgZnJvbSBhIHN1cHBsaWVkIG9sZC1zdHlsZSBsaXN0CisgICAgICBvZiB0dXBsZXMuIEVhY2ggdHVwbGUgc2hvdWxkIGJlIGEgNC10dXBsZSB3aXRoIGZpbGVuYW1lLCBsaW5lbm8sIG5hbWUsCisgICAgICBsaW5lIGFzIHRoZSBlbGVtZW50cy4KKworCis6Y2xhc3M6YEZyYW1lU3VtbWFyeWAgT2JqZWN0cworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworLi4gdmVyc2lvbmFkZGVkOjogMy41CisKKzpjbGFzczpgRnJhbWVTdW1tYXJ5YCBvYmplY3RzIHJlcHJlc2VudCBhIHNpbmdsZSBmcmFtZSBpbiBhIHRyYWNlYmFjay4KKworLi4gY2xhc3M6OiBGcmFtZVN1bW1hcnkoZmlsZW5hbWUsIGxpbmVubywgbmFtZSwgbG9va3VwX2xpbmU9VHJ1ZSwgbG9jYWxzPU5vbmUsIGxpbmU9Tm9uZSkKKworICAgUmVwcmVzZW50IGEgc2luZ2xlIGZyYW1lIGluIHRoZSB0cmFjZWJhY2sgb3Igc3RhY2sgdGhhdCBpcyBiZWluZyBmb3JtYXR0ZWQKKyAgIG9yIHByaW50ZWQuIEl0IG1heSBvcHRpb25hbGx5IGhhdmUgYSBzdHJpbmdpZmllZCB2ZXJzaW9uIG9mIHRoZSBmcmFtZXMKKyAgIGxvY2FscyBpbmNsdWRlZCBpbiBpdC4gSWYgKmxvb2t1cF9saW5lKiBpcyBgYEZhbHNlYGAsIHRoZSBzb3VyY2UgY29kZSBpcyBub3QKKyAgIGxvb2tlZCB1cCB1bnRpbCB0aGUgOmNsYXNzOmBGcmFtZVN1bW1hcnlgIGhhcyB0aGUgOmF0dHI6YH5GcmFtZVN1bW1hcnkubGluZWAKKyAgIGF0dHJpYnV0ZSBhY2Nlc3NlZCAod2hpY2ggYWxzbyBoYXBwZW5zIHdoZW4gY2FzdGluZyBpdCB0byBhIHR1cGxlKS4KKyAgIDphdHRyOmB+RnJhbWVTdW1tYXJ5LmxpbmVgIG1heSBiZSBkaXJlY3RseSBwcm92aWRlZCwgYW5kIHdpbGwgcHJldmVudCBsaW5lCisgICBsb29rdXBzIGhhcHBlbmluZyBhdCBhbGwuICpsb2NhbHMqIGlzIGFuIG9wdGlvbmFsIGxvY2FsIHZhcmlhYmxlCisgICBkaWN0aW9uYXJ5LCBhbmQgaWYgc3VwcGxpZWQgdGhlIHZhcmlhYmxlIHJlcHJlc2VudGF0aW9ucyBhcmUgc3RvcmVkIGluIHRoZQorICAgc3VtbWFyeSBmb3IgbGF0ZXIgZGlzcGxheS4KIAogLi4gX3RyYWNlYmFjay1leGFtcGxlOgogCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS90cmFjZW1hbGxvYy5yc3QgYi9Eb2MvbGlicmFyeS90cmFjZW1hbGxvYy5yc3QKaW5kZXggNTUyZTg0Yi4uYTA0YTQzMiAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvdHJhY2VtYWxsb2MucnN0CisrKyBiL0RvYy9saWJyYXJ5L3RyYWNlbWFsbG9jLnJzdApAQCAtMzUwLDcgKzM1MCw3IEBACiAgICB0aGUgKm5mcmFtZSogcGFyYW1ldGVyIG9mIHRoZSA6ZnVuYzpgc3RhcnRgIGZ1bmN0aW9uIHRvIHN0b3JlIG1vcmUgZnJhbWVzLgogCiAgICBUaGUgOm1vZDpgdHJhY2VtYWxsb2NgIG1vZHVsZSBtdXN0IGJlIHRyYWNpbmcgbWVtb3J5IGFsbG9jYXRpb25zIHRvIHRha2UgYQotICAgc25hcHNob3QsIHNlZSB0aGUgdGhlIDpmdW5jOmBzdGFydGAgZnVuY3Rpb24uCisgICBzbmFwc2hvdCwgc2VlIHRoZSA6ZnVuYzpgc3RhcnRgIGZ1bmN0aW9uLgogCiAgICBTZWUgYWxzbyB0aGUgOmZ1bmM6YGdldF9vYmplY3RfdHJhY2ViYWNrYCBmdW5jdGlvbi4KIApkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvdHVydGxlLnJzdCBiL0RvYy9saWJyYXJ5L3R1cnRsZS5yc3QKaW5kZXggNTg5OWYzZC4uMzBkZDZlZiAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvdHVydGxlLnJzdAorKysgYi9Eb2MvbGlicmFyeS90dXJ0bGUucnN0CkBAIC0xODA5LDcgKzE4MDksNyBAQAogCiAgICBQb3AgdXAgYSBkaWFsb2cgd2luZG93IGZvciBpbnB1dCBvZiBhIG51bWJlci4gdGl0bGUgaXMgdGhlIHRpdGxlIG9mIHRoZQogICAgZGlhbG9nIHdpbmRvdywgcHJvbXB0IGlzIGEgdGV4dCBtb3N0bHkgZGVzY3JpYmluZyB3aGF0IG51bWVyaWNhbCBpbmZvcm1hdGlvbgotICAgdG8gaW5wdXQuIGRlZmF1bHQ6IGRlZmF1bHQgdmFsdWUsIG1pbnZhbDogbWluaW11bSB2YWx1ZSBmb3IgaW1wdXQsCisgICB0byBpbnB1dC4gZGVmYXVsdDogZGVmYXVsdCB2YWx1ZSwgbWludmFsOiBtaW5pbXVtIHZhbHVlIGZvciBpbnB1dCwKICAgIG1heHZhbDogbWF4aW11bSB2YWx1ZSBmb3IgaW5wdXQKICAgIFRoZSBudW1iZXIgaW5wdXQgbXVzdCBiZSBpbiB0aGUgcmFuZ2UgbWludmFsIC4uIG1heHZhbCBpZiB0aGVzZSBhcmUKICAgIGdpdmVuLiBJZiBub3QsIGEgaGludCBpcyBpc3N1ZWQgYW5kIHRoZSBkaWFsb2cgcmVtYWlucyBvcGVuIGZvcgpAQCAtMTg3OSw3ICsxODc5LDcgQEAKIAogICAgICAgPj4+IGN2ID0gc2NyZWVuLmdldGNhbnZhcygpCiAgICAgICA+Pj4gY3YKLSAgICAgIDx0dXJ0bGUuU2Nyb2xsZWRDYW52YXMgb2JqZWN0IGF0IC4uLj4KKyAgICAgIDx0dXJ0bGUuU2Nyb2xsZWRDYW52YXMgb2JqZWN0IC4uLj4KIAogCiAuLiBmdW5jdGlvbjo6IGdldHNoYXBlcygpCkBAIC0yMzUxLDYgKzIzNTEsOSBAQAogfCAgICAgICAgICAgICAgICB8IHBhaXJ3aXNlIGluIG9wcG9zaXRlICAgICAgICAgfCBzaGFwZXNpemUsIHRpbHQsICAgICAgfAogfCAgICAgICAgICAgICAgICB8IGRpcmVjdGlvbiAgICAgICAgICAgICAgICAgICAgfCBnZXRfc2hhcGVwb2x5LCB1cGRhdGUgfAogKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworfCBzb3J0aW5nX2FuaW1hdGV8IHZpc3VhbCBkZW1vbnN0cmF0aW9uIG9mICAgICAgfCBzaW1wbGUgYWxpZ25tZW50LCAgICAgfAorfCAgICAgICAgICAgICAgICB8IGRpZmZlcmVudCBzb3J0aW5nIG1ldGhvZHMgICAgfCByYW5kb21pemF0aW9uICAgICAgICAgfAorKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwogfCB0cmVlICAgICAgICAgICB8IGEgKGdyYXBoaWNhbCkgYnJlYWR0aCAgICAgICAgfCA6ZnVuYzpgY2xvbmVgICAgICAgICAgfAogfCAgICAgICAgICAgICAgICB8IGZpcnN0IHRyZWUgKHVzaW5nIGdlbmVyYXRvcnMpfCAgICAgICAgICAgICAgICAgICAgICAgfAogKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwpAQCAtMjQwMiw3ICsyNDA1LDcgQEAKICAgQWNjb3JkaW5nbHkgdGhlIGxhdHRlciBoYXMgZ290IGFuIGFsaWFzOiA6bWV0aDpgU2NyZWVuLm9ua2V5cmVsZWFzZWAuCiAKIC0gVGhlIG1ldGhvZCAgOm1ldGg6YFNjcmVlbi5tYWlubG9vcGAgaGFzIGJlZW4gYWRkZWQuIFNvIHdoZW4gd29ya2luZyBvbmx5Ci0gIHdpdGggU2NyZWVuIGFuZCBUdXJ0bGUgb2JqZWN0cyBvbmUgbXVzdCBub3QgYWRkaXRvbmFsbHkgaW1wb3J0CisgIHdpdGggU2NyZWVuIGFuZCBUdXJ0bGUgb2JqZWN0cyBvbmUgbXVzdCBub3QgYWRkaXRpb25hbGx5IGltcG9ydAogICA6ZnVuYzpgbWFpbmxvb3BgIGFueW1vcmUuCiAKIC0gVHdvIGlucHV0IG1ldGhvZHMgaGFzIGJlZW4gYWRkZWQgOm1ldGg6YFNjcmVlbi50ZXh0aW5wdXRgIGFuZApkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvdHlwZXMucnN0IGIvRG9jL2xpYnJhcnkvdHlwZXMucnN0CmluZGV4IGFiZGI5MzkuLjM0ZmZmZTYgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L3R5cGVzLnJzdAorKysgYi9Eb2MvbGlicmFyeS90eXBlcy5yc3QKQEAgLTExNSw2ICsxMTUsMTAgQEAKICAgIFRoZSB0eXBlIG9mIDp0ZXJtOmBtb2R1bGVzIDxtb2R1bGU+YC4gQ29uc3RydWN0b3IgdGFrZXMgdGhlIG5hbWUgb2YgdGhlCiAgICBtb2R1bGUgdG8gYmUgY3JlYXRlZCBhbmQgb3B0aW9uYWxseSBpdHMgOnRlcm06YGRvY3N0cmluZ2AuCiAKKyAgIC4uIG5vdGU6OgorICAgICAgVXNlIDpmdW5jOmBpbXBvcnRsaWIudXRpbC5tb2R1bGVfZnJvbV9zcGVjYCB0byBjcmVhdGUgYSBuZXcgbW9kdWxlIGlmIHlvdQorICAgICAgd2lzaCB0byBzZXQgdGhlIHZhcmlvdXMgaW1wb3J0LWNvbnRyb2xsZWQgYXR0cmlidXRlcy4KKwogICAgLi4gYXR0cmlidXRlOjogX19kb2NfXwogCiAgICAgICBUaGUgOnRlcm06YGRvY3N0cmluZ2Agb2YgdGhlIG1vZHVsZS4gRGVmYXVsdHMgdG8gYGBOb25lYGAuCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS91bmljb2RlZGF0YS5yc3QgYi9Eb2MvbGlicmFyeS91bmljb2RlZGF0YS5yc3QKaW5kZXggM2IzZDNhMC4uMjRkZGVmOCAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvdW5pY29kZWRhdGEucnN0CisrKyBiL0RvYy9saWJyYXJ5L3VuaWNvZGVkYXRhLnJzdApAQCAtMTUsOCArMTUsOCBAQAogCiBUaGlzIG1vZHVsZSBwcm92aWRlcyBhY2Nlc3MgdG8gdGhlIFVuaWNvZGUgQ2hhcmFjdGVyIERhdGFiYXNlIChVQ0QpIHdoaWNoCiBkZWZpbmVzIGNoYXJhY3RlciBwcm9wZXJ0aWVzIGZvciBhbGwgVW5pY29kZSBjaGFyYWN0ZXJzLiBUaGUgZGF0YSBjb250YWluZWQgaW4KLXRoaXMgZGF0YWJhc2UgaXMgY29tcGlsZWQgZnJvbSB0aGUgYFVDRCB2ZXJzaW9uIDYuMy4wCi08aHR0cDovL3d3dy51bmljb2RlLm9yZy9QdWJsaWMvNi4zLjAvdWNkPmBfLgordGhpcyBkYXRhYmFzZSBpcyBjb21waWxlZCBmcm9tIHRoZSBgVUNEIHZlcnNpb24gNy4wLjAKKzxodHRwOi8vd3d3LnVuaWNvZGUub3JnL1B1YmxpYy83LjAuMC91Y2Q+YF8uCiAKIFRoZSBtb2R1bGUgdXNlcyB0aGUgc2FtZSBuYW1lcyBhbmQgc3ltYm9scyBhcyBkZWZpbmVkIGJ5IFVuaWNvZGUKIFN0YW5kYXJkIEFubmV4ICM0NCwgYCJVbmljb2RlIENoYXJhY3RlciBEYXRhYmFzZSIKQEAgLTE2Niw2ICsxNjYsNiBAQAogCiAuLiBydWJyaWM6OiBGb290bm90ZXMKIAotLi4gWyNdIGh0dHA6Ly93d3cudW5pY29kZS5vcmcvUHVibGljLzYuMy4wL3VjZC9OYW1lQWxpYXNlcy50eHQKKy4uIFsjXSBodHRwOi8vd3d3LnVuaWNvZGUub3JnL1B1YmxpYy83LjAuMC91Y2QvTmFtZUFsaWFzZXMudHh0CiAKLS4uIFsjXSBodHRwOi8vd3d3LnVuaWNvZGUub3JnL1B1YmxpYy82LjMuMC91Y2QvTmFtZWRTZXF1ZW5jZXMudHh0CisuLiBbI10gaHR0cDovL3d3dy51bmljb2RlLm9yZy9QdWJsaWMvNy4wLjAvdWNkL05hbWVkU2VxdWVuY2VzLnR4dApkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvdW5pdHRlc3QubW9jay5yc3QgYi9Eb2MvbGlicmFyeS91bml0dGVzdC5tb2NrLnJzdAppbmRleCA4NDVlMGM0Li5jMTlhZGY4IDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS91bml0dGVzdC5tb2NrLnJzdAorKysgYi9Eb2MvbGlicmFyeS91bml0dGVzdC5tb2NrLnJzdApAQCAtMTgxLDcxICsxODEsNzcgQEAKIC0tLS0tLS0tLS0tLS0tCiAKIAotYE1vY2tgIGlzIGEgZmxleGlibGUgbW9jayBvYmplY3QgaW50ZW5kZWQgdG8gcmVwbGFjZSB0aGUgdXNlIG9mIHN0dWJzIGFuZAorOmNsYXNzOmBNb2NrYCBpcyBhIGZsZXhpYmxlIG1vY2sgb2JqZWN0IGludGVuZGVkIHRvIHJlcGxhY2UgdGhlIHVzZSBvZiBzdHVicyBhbmQKIHRlc3QgZG91YmxlcyB0aHJvdWdob3V0IHlvdXIgY29kZS4gTW9ja3MgYXJlIGNhbGxhYmxlIGFuZCBjcmVhdGUgYXR0cmlidXRlcyBhcwogbmV3IG1vY2tzIHdoZW4geW91IGFjY2VzcyB0aGVtIFsjXV8uIEFjY2Vzc2luZyB0aGUgc2FtZSBhdHRyaWJ1dGUgd2lsbCBhbHdheXMKIHJldHVybiB0aGUgc2FtZSBtb2NrLiBNb2NrcyByZWNvcmQgaG93IHlvdSB1c2UgdGhlbSwgYWxsb3dpbmcgeW91IHRvIG1ha2UKIGFzc2VydGlvbnMgYWJvdXQgd2hhdCB5b3VyIGNvZGUgaGFzIGRvbmUgdG8gdGhlbS4KIAotOmNsYXNzOmBNYWdpY01vY2tgIGlzIGEgc3ViY2xhc3Mgb2YgYE1vY2tgIHdpdGggYWxsIHRoZSBtYWdpYyBtZXRob2RzCis6Y2xhc3M6YE1hZ2ljTW9ja2AgaXMgYSBzdWJjbGFzcyBvZiA6Y2xhc3M6YE1vY2tgIHdpdGggYWxsIHRoZSBtYWdpYyBtZXRob2RzCiBwcmUtY3JlYXRlZCBhbmQgcmVhZHkgdG8gdXNlLiBUaGVyZSBhcmUgYWxzbyBub24tY2FsbGFibGUgdmFyaWFudHMsIHVzZWZ1bAogd2hlbiB5b3UgYXJlIG1vY2tpbmcgb3V0IG9iamVjdHMgdGhhdCBhcmVuJ3QgY2FsbGFibGU6CiA6Y2xhc3M6YE5vbkNhbGxhYmxlTW9ja2AgYW5kIDpjbGFzczpgTm9uQ2FsbGFibGVNYWdpY01vY2tgCiAKIFRoZSA6ZnVuYzpgcGF0Y2hgIGRlY29yYXRvcnMgbWFrZXMgaXQgZWFzeSB0byB0ZW1wb3JhcmlseSByZXBsYWNlIGNsYXNzZXMKLWluIGEgcGFydGljdWxhciBtb2R1bGUgd2l0aCBhIGBNb2NrYCBvYmplY3QuIEJ5IGRlZmF1bHQgYHBhdGNoYCB3aWxsIGNyZWF0ZQotYSBgTWFnaWNNb2NrYCBmb3IgeW91LiBZb3UgY2FuIHNwZWNpZnkgYW4gYWx0ZXJuYXRpdmUgY2xhc3Mgb2YgYE1vY2tgIHVzaW5nCi10aGUgYG5ld19jYWxsYWJsZWAgYXJndW1lbnQgdG8gYHBhdGNoYC4KK2luIGEgcGFydGljdWxhciBtb2R1bGUgd2l0aCBhIDpjbGFzczpgTW9ja2Agb2JqZWN0LiBCeSBkZWZhdWx0IDpmdW5jOmBwYXRjaGAgd2lsbCBjcmVhdGUKK2EgOmNsYXNzOmBNYWdpY01vY2tgIGZvciB5b3UuIFlvdSBjYW4gc3BlY2lmeSBhbiBhbHRlcm5hdGl2ZSBjbGFzcyBvZiA6Y2xhc3M6YE1vY2tgIHVzaW5nCit0aGUgKm5ld19jYWxsYWJsZSogYXJndW1lbnQgdG8gOmZ1bmM6YHBhdGNoYC4KIAogCi0uLiBjbGFzczo6IE1vY2soc3BlYz1Ob25lLCBzaWRlX2VmZmVjdD1Ob25lLCByZXR1cm5fdmFsdWU9REVGQVVMVCwgd3JhcHM9Tm9uZSwgbmFtZT1Ob25lLCBzcGVjX3NldD1Ob25lLCAqKmt3YXJncykKKy4uIGNsYXNzOjogTW9jayhzcGVjPU5vbmUsIHNpZGVfZWZmZWN0PU5vbmUsIHJldHVybl92YWx1ZT1ERUZBVUxULCB3cmFwcz1Ob25lLCBuYW1lPU5vbmUsIHNwZWNfc2V0PU5vbmUsIHVuc2FmZT1GYWxzZSwgKiprd2FyZ3MpCiAKLSAgICBDcmVhdGUgYSBuZXcgYE1vY2tgIG9iamVjdC4gYE1vY2tgIHRha2VzIHNldmVyYWwgb3B0aW9uYWwgYXJndW1lbnRzCisgICAgQ3JlYXRlIGEgbmV3IDpjbGFzczpgTW9ja2Agb2JqZWN0LiA6Y2xhc3M6YE1vY2tgIHRha2VzIHNldmVyYWwgb3B0aW9uYWwgYXJndW1lbnRzCiAgICAgdGhhdCBzcGVjaWZ5IHRoZSBiZWhhdmlvdXIgb2YgdGhlIE1vY2sgb2JqZWN0OgogCi0gICAgKiBgc3BlY2A6IFRoaXMgY2FuIGJlIGVpdGhlciBhIGxpc3Qgb2Ygc3RyaW5ncyBvciBhbiBleGlzdGluZyBvYmplY3QgKGEKKyAgICAqICpzcGVjKjogVGhpcyBjYW4gYmUgZWl0aGVyIGEgbGlzdCBvZiBzdHJpbmdzIG9yIGFuIGV4aXN0aW5nIG9iamVjdCAoYQogICAgICAgY2xhc3Mgb3IgaW5zdGFuY2UpIHRoYXQgYWN0cyBhcyB0aGUgc3BlY2lmaWNhdGlvbiBmb3IgdGhlIG1vY2sgb2JqZWN0LiBJZgogICAgICAgeW91IHBhc3MgaW4gYW4gb2JqZWN0IHRoZW4gYSBsaXN0IG9mIHN0cmluZ3MgaXMgZm9ybWVkIGJ5IGNhbGxpbmcgZGlyIG9uCiAgICAgICB0aGUgb2JqZWN0IChleGNsdWRpbmcgdW5zdXBwb3J0ZWQgbWFnaWMgYXR0cmlidXRlcyBhbmQgbWV0aG9kcykuCi0gICAgICBBY2Nlc3NpbmcgYW55IGF0dHJpYnV0ZSBub3QgaW4gdGhpcyBsaXN0IHdpbGwgcmFpc2UgYW4gYEF0dHJpYnV0ZUVycm9yYC4KKyAgICAgIEFjY2Vzc2luZyBhbnkgYXR0cmlidXRlIG5vdCBpbiB0aGlzIGxpc3Qgd2lsbCByYWlzZSBhbiA6ZXhjOmBBdHRyaWJ1dGVFcnJvcmAuCiAKLSAgICAgIElmIGBzcGVjYCBpcyBhbiBvYmplY3QgKHJhdGhlciB0aGFuIGEgbGlzdCBvZiBzdHJpbmdzKSB0aGVuCisgICAgICBJZiAqc3BlYyogaXMgYW4gb2JqZWN0IChyYXRoZXIgdGhhbiBhIGxpc3Qgb2Ygc3RyaW5ncykgdGhlbgogICAgICAgOmF0dHI6YH5pbnN0YW5jZS5fX2NsYXNzX19gIHJldHVybnMgdGhlIGNsYXNzIG9mIHRoZSBzcGVjIG9iamVjdC4gVGhpcwotICAgICAgYWxsb3dzIG1vY2tzIHRvIHBhc3MgYGlzaW5zdGFuY2VgIHRlc3RzLgorICAgICAgYWxsb3dzIG1vY2tzIHRvIHBhc3MgOmZ1bmM6YGlzaW5zdGFuY2VgIHRlc3RzLgogCi0gICAgKiBgc3BlY19zZXRgOiBBIHN0cmljdGVyIHZhcmlhbnQgb2YgYHNwZWNgLiBJZiB1c2VkLCBhdHRlbXB0aW5nIHRvICpzZXQqCisgICAgKiAqc3BlY19zZXQqOiBBIHN0cmljdGVyIHZhcmlhbnQgb2YgKnNwZWMqLiBJZiB1c2VkLCBhdHRlbXB0aW5nIHRvICpzZXQqCiAgICAgICBvciBnZXQgYW4gYXR0cmlidXRlIG9uIHRoZSBtb2NrIHRoYXQgaXNuJ3Qgb24gdGhlIG9iamVjdCBwYXNzZWQgYXMKLSAgICAgIGBzcGVjX3NldGAgd2lsbCByYWlzZSBhbiBgQXR0cmlidXRlRXJyb3JgLgorICAgICAgKnNwZWNfc2V0KiB3aWxsIHJhaXNlIGFuIDpleGM6YEF0dHJpYnV0ZUVycm9yYC4KIAotICAgICogYHNpZGVfZWZmZWN0YDogQSBmdW5jdGlvbiB0byBiZSBjYWxsZWQgd2hlbmV2ZXIgdGhlIE1vY2sgaXMgY2FsbGVkLiBTZWUKKyAgICAqICpzaWRlX2VmZmVjdCo6IEEgZnVuY3Rpb24gdG8gYmUgY2FsbGVkIHdoZW5ldmVyIHRoZSBNb2NrIGlzIGNhbGxlZC4gU2VlCiAgICAgICB0aGUgOmF0dHI6YH5Nb2NrLnNpZGVfZWZmZWN0YCBhdHRyaWJ1dGUuIFVzZWZ1bCBmb3IgcmFpc2luZyBleGNlcHRpb25zIG9yCiAgICAgICBkeW5hbWljYWxseSBjaGFuZ2luZyByZXR1cm4gdmFsdWVzLiBUaGUgZnVuY3Rpb24gaXMgY2FsbGVkIHdpdGggdGhlIHNhbWUKICAgICAgIGFyZ3VtZW50cyBhcyB0aGUgbW9jaywgYW5kIHVubGVzcyBpdCByZXR1cm5zIDpkYXRhOmBERUZBVUxUYCwgdGhlIHJldHVybgogICAgICAgdmFsdWUgb2YgdGhpcyBmdW5jdGlvbiBpcyB1c2VkIGFzIHRoZSByZXR1cm4gdmFsdWUuCiAKLSAgICAgIEFsdGVybmF0aXZlbHkgYHNpZGVfZWZmZWN0YCBjYW4gYmUgYW4gZXhjZXB0aW9uIGNsYXNzIG9yIGluc3RhbmNlLiBJbgorICAgICAgQWx0ZXJuYXRpdmVseSAqc2lkZV9lZmZlY3QqIGNhbiBiZSBhbiBleGNlcHRpb24gY2xhc3Mgb3IgaW5zdGFuY2UuIEluCiAgICAgICB0aGlzIGNhc2UgdGhlIGV4Y2VwdGlvbiB3aWxsIGJlIHJhaXNlZCB3aGVuIHRoZSBtb2NrIGlzIGNhbGxlZC4KIAotICAgICAgSWYgYHNpZGVfZWZmZWN0YCBpcyBhbiBpdGVyYWJsZSB0aGVuIGVhY2ggY2FsbCB0byB0aGUgbW9jayB3aWxsIHJldHVybgorICAgICAgSWYgKnNpZGVfZWZmZWN0KiBpcyBhbiBpdGVyYWJsZSB0aGVuIGVhY2ggY2FsbCB0byB0aGUgbW9jayB3aWxsIHJldHVybgogICAgICAgdGhlIG5leHQgdmFsdWUgZnJvbSB0aGUgaXRlcmFibGUuCiAKLSAgICAgIEEgYHNpZGVfZWZmZWN0YCBjYW4gYmUgY2xlYXJlZCBieSBzZXR0aW5nIGl0IHRvIGBOb25lYC4KKyAgICAgIEEgKnNpZGVfZWZmZWN0KiBjYW4gYmUgY2xlYXJlZCBieSBzZXR0aW5nIGl0IHRvIGBgTm9uZWBgLgogCi0gICAgKiBgcmV0dXJuX3ZhbHVlYDogVGhlIHZhbHVlIHJldHVybmVkIHdoZW4gdGhlIG1vY2sgaXMgY2FsbGVkLiBCeSBkZWZhdWx0CisgICAgKiAqcmV0dXJuX3ZhbHVlKjogVGhlIHZhbHVlIHJldHVybmVkIHdoZW4gdGhlIG1vY2sgaXMgY2FsbGVkLiBCeSBkZWZhdWx0CiAgICAgICB0aGlzIGlzIGEgbmV3IE1vY2sgKGNyZWF0ZWQgb24gZmlyc3QgYWNjZXNzKS4gU2VlIHRoZQogICAgICAgOmF0dHI6YHJldHVybl92YWx1ZWAgYXR0cmlidXRlLgogCi0gICAgKiBgd3JhcHNgOiBJdGVtIGZvciB0aGUgbW9jayBvYmplY3QgdG8gd3JhcC4gSWYgYHdyYXBzYCBpcyBub3QgTm9uZSB0aGVuCisgICAgKiAqdW5zYWZlKjogQnkgZGVmYXVsdCBpZiBhbnkgYXR0cmlidXRlIHN0YXJ0cyB3aXRoICphc3NlcnQqIG9yCisgICAgICAqYXNzcmV0KiB3aWxsIHJhaXNlIGFuIDpleGM6YEF0dHJpYnV0ZUVycm9yYC4gUGFzc2luZyBgYHVuc2FmZT1UcnVlYGAKKyAgICAgIHdpbGwgYWxsb3cgYWNjZXNzIHRvIHRoZXNlIGF0dHJpYnV0ZXMuCisKKyAgICAgIC4uIHZlcnNpb25hZGRlZDo6IDMuNQorCisgICAgKiAqd3JhcHMqOiBJdGVtIGZvciB0aGUgbW9jayBvYmplY3QgdG8gd3JhcC4gSWYgKndyYXBzKiBpcyBub3QgTm9uZSB0aGVuCiAgICAgICBjYWxsaW5nIHRoZSBNb2NrIHdpbGwgcGFzcyB0aGUgY2FsbCB0aHJvdWdoIHRvIHRoZSB3cmFwcGVkIG9iamVjdAogICAgICAgKHJldHVybmluZyB0aGUgcmVhbCByZXN1bHQpLiBBdHRyaWJ1dGUgYWNjZXNzIG9uIHRoZSBtb2NrIHdpbGwgcmV0dXJuIGEKICAgICAgIE1vY2sgb2JqZWN0IHRoYXQgd3JhcHMgdGhlIGNvcnJlc3BvbmRpbmcgYXR0cmlidXRlIG9mIHRoZSB3cmFwcGVkCiAgICAgICBvYmplY3QgKHNvIGF0dGVtcHRpbmcgdG8gYWNjZXNzIGFuIGF0dHJpYnV0ZSB0aGF0IGRvZXNuJ3QgZXhpc3Qgd2lsbAotICAgICAgcmFpc2UgYW4gYEF0dHJpYnV0ZUVycm9yYCkuCisgICAgICByYWlzZSBhbiA6ZXhjOmBBdHRyaWJ1dGVFcnJvcmApLgogCi0gICAgICBJZiB0aGUgbW9jayBoYXMgYW4gZXhwbGljaXQgYHJldHVybl92YWx1ZWAgc2V0IHRoZW4gY2FsbHMgYXJlIG5vdCBwYXNzZWQKLSAgICAgIHRvIHRoZSB3cmFwcGVkIG9iamVjdCBhbmQgdGhlIGByZXR1cm5fdmFsdWVgIGlzIHJldHVybmVkIGluc3RlYWQuCisgICAgICBJZiB0aGUgbW9jayBoYXMgYW4gZXhwbGljaXQgKnJldHVybl92YWx1ZSogc2V0IHRoZW4gY2FsbHMgYXJlIG5vdCBwYXNzZWQKKyAgICAgIHRvIHRoZSB3cmFwcGVkIG9iamVjdCBhbmQgdGhlICpyZXR1cm5fdmFsdWUqIGlzIHJldHVybmVkIGluc3RlYWQuCiAKLSAgICAqIGBuYW1lYDogSWYgdGhlIG1vY2sgaGFzIGEgbmFtZSB0aGVuIGl0IHdpbGwgYmUgdXNlZCBpbiB0aGUgcmVwciBvZiB0aGUKKyAgICAqICpuYW1lKjogSWYgdGhlIG1vY2sgaGFzIGEgbmFtZSB0aGVuIGl0IHdpbGwgYmUgdXNlZCBpbiB0aGUgcmVwciBvZiB0aGUKICAgICAgIG1vY2suIFRoaXMgY2FuIGJlIHVzZWZ1bCBmb3IgZGVidWdnaW5nLiBUaGUgbmFtZSBpcyBwcm9wYWdhdGVkIHRvIGNoaWxkCiAgICAgICBtb2Nrcy4KIApAQCAtMzE1LDYgKzMyMSwyMCBAQAogICAgICAgICAgICAgPj4+IGNhbGxzID0gW2NhbGwoNCksIGNhbGwoMiksIGNhbGwoMyldCiAgICAgICAgICAgICA+Pj4gbW9jay5hc3NlcnRfaGFzX2NhbGxzKGNhbGxzLCBhbnlfb3JkZXI9VHJ1ZSkKIAorICAgIC4uIG1ldGhvZDo6IGFzc2VydF9ub3RfY2FsbGVkKCphcmdzLCAqKmt3YXJncykKKworICAgICAgICBBc3NlcnQgdGhlIG1vY2sgd2FzIG5ldmVyIGNhbGxlZC4KKworICAgICAgICAgICAgPj4+IG0gPSBNb2NrKCkKKyAgICAgICAgICAgID4+PiBtLmhlbGxvLmFzc2VydF9ub3RfY2FsbGVkKCkKKyAgICAgICAgICAgID4+PiBvYmogPSBtLmhlbGxvKCkKKyAgICAgICAgICAgID4+PiBtLmhlbGxvLmFzc2VydF9ub3RfY2FsbGVkKCkKKyAgICAgICAgICAgIFRyYWNlYmFjayAobW9zdCByZWNlbnQgY2FsbCBsYXN0KToKKyAgICAgICAgICAgICAgLi4uCisgICAgICAgICAgICBBc3NlcnRpb25FcnJvcjogRXhwZWN0ZWQgJ2hlbGxvJyB0byBub3QgaGF2ZSBiZWVuIGNhbGxlZC4gQ2FsbGVkIDEgdGltZXMuCisKKyAgICAgICAgLi4gdmVyc2lvbmFkZGVkOjogMy41CisKIAogICAgIC4uIG1ldGhvZDo6IHJlc2V0X21vY2soKQogCkBAIC0xMDMyLDI1ICsxMDUyLDMxIEBACiAgICAgZGVmYXVsdCBiZWNhdXNlIGl0IGNhbiBiZSBkYW5nZXJvdXMuIFdpdGggaXQgc3dpdGNoZWQgb24geW91IGNhbiB3cml0ZQogICAgIHBhc3NpbmcgdGVzdHMgYWdhaW5zdCBBUElzIHRoYXQgZG9uJ3QgYWN0dWFsbHkgZXhpc3QhCiAKLSAgICBQYXRjaCBjYW4gYmUgdXNlZCBhcyBhIGBUZXN0Q2FzZWAgY2xhc3MgZGVjb3JhdG9yLiBJdCB3b3JrcyBieQorICAgIC4uIG5vdGU6OgorCisgICAgICAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy41CisgICAgICAgICAgIElmIHlvdSBhcmUgcGF0Y2hpbmcgYnVpbHRpbnMgaW4gYSBtb2R1bGUgdGhlbiB5b3UgZG9uJ3QKKyAgICAgICAgICAgbmVlZCB0byBwYXNzIGBgY3JlYXRlPVRydWVgYCwgaXQgd2lsbCBiZSBhZGRlZCBieSBkZWZhdWx0LgorCisgICAgUGF0Y2ggY2FuIGJlIHVzZWQgYXMgYSA6Y2xhc3M6YFRlc3RDYXNlYCBjbGFzcyBkZWNvcmF0b3IuIEl0IHdvcmtzIGJ5CiAgICAgZGVjb3JhdGluZyBlYWNoIHRlc3QgbWV0aG9kIGluIHRoZSBjbGFzcy4gVGhpcyByZWR1Y2VzIHRoZSBib2lsZXJwbGF0ZQotICAgIGNvZGUgd2hlbiB5b3VyIHRlc3QgbWV0aG9kcyBzaGFyZSBhIGNvbW1vbiBwYXRjaGluZ3Mgc2V0LiBgcGF0Y2hgIGZpbmRzCi0gICAgdGVzdHMgYnkgbG9va2luZyBmb3IgbWV0aG9kIG5hbWVzIHRoYXQgc3RhcnQgd2l0aCBgcGF0Y2guVEVTVF9QUkVGSVhgLgotICAgIEJ5IGRlZmF1bHQgdGhpcyBpcyBgdGVzdGAsIHdoaWNoIG1hdGNoZXMgdGhlIHdheSBgdW5pdHRlc3RgIGZpbmRzIHRlc3RzLgotICAgIFlvdSBjYW4gc3BlY2lmeSBhbiBhbHRlcm5hdGl2ZSBwcmVmaXggYnkgc2V0dGluZyBgcGF0Y2guVEVTVF9QUkVGSVhgLgorICAgIGNvZGUgd2hlbiB5b3VyIHRlc3QgbWV0aG9kcyBzaGFyZSBhIGNvbW1vbiBwYXRjaGluZ3Mgc2V0LiA6ZnVuYzpgcGF0Y2hgIGZpbmRzCisgICAgdGVzdHMgYnkgbG9va2luZyBmb3IgbWV0aG9kIG5hbWVzIHRoYXQgc3RhcnQgd2l0aCBgYHBhdGNoLlRFU1RfUFJFRklYYGAuCisgICAgQnkgZGVmYXVsdCB0aGlzIGlzIGBgJ3Rlc3QnYGAsIHdoaWNoIG1hdGNoZXMgdGhlIHdheSA6bW9kOmB1bml0dGVzdGAgZmluZHMgdGVzdHMuCisgICAgWW91IGNhbiBzcGVjaWZ5IGFuIGFsdGVybmF0aXZlIHByZWZpeCBieSBzZXR0aW5nIGBgcGF0Y2guVEVTVF9QUkVGSVhgYC4KIAogICAgIFBhdGNoIGNhbiBiZSB1c2VkIGFzIGEgY29udGV4dCBtYW5hZ2VyLCB3aXRoIHRoZSB3aXRoIHN0YXRlbWVudC4gSGVyZSB0aGUKICAgICBwYXRjaGluZyBhcHBsaWVzIHRvIHRoZSBpbmRlbnRlZCBibG9jayBhZnRlciB0aGUgd2l0aCBzdGF0ZW1lbnQuIElmIHlvdQogICAgIHVzZSAiYXMiIHRoZW4gdGhlIHBhdGNoZWQgb2JqZWN0IHdpbGwgYmUgYm91bmQgdG8gdGhlIG5hbWUgYWZ0ZXIgdGhlCi0gICAgImFzIjsgdmVyeSB1c2VmdWwgaWYgYHBhdGNoYCBpcyBjcmVhdGluZyBhIG1vY2sgb2JqZWN0IGZvciB5b3UuCisgICAgImFzIjsgdmVyeSB1c2VmdWwgaWYgOmZ1bmM6YHBhdGNoYCBpcyBjcmVhdGluZyBhIG1vY2sgb2JqZWN0IGZvciB5b3UuCiAKLSAgICBgcGF0Y2hgIHRha2VzIGFyYml0cmFyeSBrZXl3b3JkIGFyZ3VtZW50cy4gVGhlc2Ugd2lsbCBiZSBwYXNzZWQgdG8KLSAgICB0aGUgYE1vY2tgIChvciBgbmV3X2NhbGxhYmxlYCkgb24gY29uc3RydWN0aW9uLgorICAgIDpmdW5jOmBwYXRjaGAgdGFrZXMgYXJiaXRyYXJ5IGtleXdvcmQgYXJndW1lbnRzLiBUaGVzZSB3aWxsIGJlIHBhc3NlZCB0bworICAgIHRoZSA6Y2xhc3M6YE1vY2tgIChvciAqbmV3X2NhbGxhYmxlKikgb24gY29uc3RydWN0aW9uLgogCi0gICAgYHBhdGNoLmRpY3QoLi4uKWAsIGBwYXRjaC5tdWx0aXBsZSguLi4pYCBhbmQgYHBhdGNoLm9iamVjdCguLi4pYCBhcmUKKyAgICBgYHBhdGNoLmRpY3QoLi4uKWBgLCBgYHBhdGNoLm11bHRpcGxlKC4uLilgYCBhbmQgYGBwYXRjaC5vYmplY3QoLi4uKWBgIGFyZQogICAgIGF2YWlsYWJsZSBmb3IgYWx0ZXJuYXRlIHVzZS1jYXNlcy4KIAotYHBhdGNoYCBhcyBmdW5jdGlvbiBkZWNvcmF0b3IsIGNyZWF0aW5nIHRoZSBtb2NrIGZvciB5b3UgYW5kIHBhc3NpbmcgaXQgaW50bworOmZ1bmM6YHBhdGNoYCBhcyBmdW5jdGlvbiBkZWNvcmF0b3IsIGNyZWF0aW5nIHRoZSBtb2NrIGZvciB5b3UgYW5kIHBhc3NpbmcgaXQgaW50bwogdGhlIGRlY29yYXRlZCBmdW5jdGlvbjoKIAogICAgID4+PiBAcGF0Y2goJ19fbWFpbl9fLlNvbWVDbGFzcycpCkBAIC0xMzkyLDE1ICsxNDE4LDMxIEBACiAgICAgICAgIC4uLiAgICAgICAgIGFzc2VydCBwYWNrYWdlLm1vZHVsZS5DbGFzcyBpcyBzZWxmLk1vY2tDbGFzcwogICAgICAgICAuLi4KIAotICAgIEFzIGFuIGFkZGVkIGJvbnVzIHlvdSBubyBsb25nZXIgbmVlZCB0byBrZWVwIGEgcmVmZXJlbmNlIHRvIHRoZSBgcGF0Y2hlcmAKKyAgICBBcyBhbiBhZGRlZCBib251cyB5b3Ugbm8gbG9uZ2VyIG5lZWQgdG8ga2VlcCBhIHJlZmVyZW5jZSB0byB0aGUgYGBwYXRjaGVyYGAKICAgICBvYmplY3QuCiAKIEl0IGlzIGFsc28gcG9zc2libGUgdG8gc3RvcCBhbGwgcGF0Y2hlcyB3aGljaCBoYXZlIGJlZW4gc3RhcnRlZCBieSB1c2luZwotYHBhdGNoLnN0b3BhbGxgLgorOmZ1bmM6YHBhdGNoLnN0b3BhbGxgLgogCiAuLiBmdW5jdGlvbjo6IHBhdGNoLnN0b3BhbGwKIAotICAgIFN0b3AgYWxsIGFjdGl2ZSBwYXRjaGVzLiBPbmx5IHN0b3BzIHBhdGNoZXMgc3RhcnRlZCB3aXRoIGBzdGFydGAuCisgICAgU3RvcCBhbGwgYWN0aXZlIHBhdGNoZXMuIE9ubHkgc3RvcHMgcGF0Y2hlcyBzdGFydGVkIHdpdGggYGBzdGFydGBgLgorCisKKy4uIF9wYXRjaC1idWlsdGluczoKKworcGF0Y2ggYnVpbHRpbnMKK35+fn5+fn5+fn5+fn5+CitZb3UgY2FuIHBhdGNoIGFueSBidWlsdGlucyB3aXRoaW4gYSBtb2R1bGUuIFRoZSBmb2xsb3dpbmcgZXhhbXBsZSBwYXRjaGVzCitidWlsdGluIDpmdW5jOmBvcmRgOgorCisgICAgPj4+IEBwYXRjaCgnX19tYWluX18ub3JkJykKKyAgICAuLi4gZGVmIHRlc3QobW9ja19vcmQpOgorICAgIC4uLiAgICAgbW9ja19vcmQucmV0dXJuX3ZhbHVlID0gMTAxCisgICAgLi4uICAgICBwcmludChvcmQoJ2MnKSkKKyAgICAuLi4KKyAgICA+Pj4gdGVzdCgpCisgICAgMTAxCiAKIAogVEVTVF9QUkVGSVgKQEAgLTIwMTMsNyArMjA1NSw3IEBACiBlbm91Z2ggdGhhdCBhIGhlbHBlciBmdW5jdGlvbiBpcyB1c2VmdWwuCiAKICAgICA+Pj4gbSA9IG1vY2tfb3BlbigpCi0gICAgPj4+IHdpdGggcGF0Y2goJ19fbWFpbl9fLm9wZW4nLCBtLCBjcmVhdGU9VHJ1ZSk6CisgICAgPj4+IHdpdGggcGF0Y2goJ19fbWFpbl9fLm9wZW4nLCBtKToKICAgICAuLi4gICAgIHdpdGggb3BlbignZm9vJywgJ3cnKSBhcyBoOgogICAgIC4uLiAgICAgICAgIGgud3JpdGUoJ3NvbWUgc3R1ZmYnKQogICAgIC4uLgpAQCAtMjAyOCw3ICsyMDcwLDcgQEAKIAogQW5kIGZvciByZWFkaW5nIGZpbGVzOgogCi0gICAgPj4+IHdpdGggcGF0Y2goJ19fbWFpbl9fLm9wZW4nLCBtb2NrX29wZW4ocmVhZF9kYXRhPSdiaWJibGUnKSwgY3JlYXRlPVRydWUpIGFzIG06CisgICAgPj4+IHdpdGggcGF0Y2goJ19fbWFpbl9fLm9wZW4nLCBtb2NrX29wZW4ocmVhZF9kYXRhPSdiaWJibGUnKSkgYXMgbToKICAgICAuLi4gICAgIHdpdGggb3BlbignZm9vJykgYXMgaDoKICAgICAuLi4gICAgICAgICByZXN1bHQgPSBoLnJlYWQoKQogICAgIC4uLgpkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvdW5pdHRlc3QucnN0IGIvRG9jL2xpYnJhcnkvdW5pdHRlc3QucnN0CmluZGV4IGM2NWE5OWQuLjdkZGY3MDMgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L3VuaXR0ZXN0LnJzdAorKysgYi9Eb2MvbGlicmFyeS91bml0dGVzdC5yc3QKQEAgLTIyMyw5ICsyMjMsMTYgQEAKIAogICAgU3RvcCB0aGUgdGVzdCBydW4gb24gdGhlIGZpcnN0IGVycm9yIG9yIGZhaWx1cmUuCiAKKy4uIGNtZG9wdGlvbjo6IC0tbG9jYWxzCisKKyAgIFNob3cgbG9jYWwgdmFyaWFibGVzIGluIHRyYWNlYmFja3MuCisKIC4uIHZlcnNpb25hZGRlZDo6IDMuMgogICAgVGhlIGNvbW1hbmQtbGluZSBvcHRpb25zIGBgLWJgYCwgYGAtY2BgIGFuZCBgYC1mYGAgd2VyZSBhZGRlZC4KIAorLi4gdmVyc2lvbmFkZGVkOjogMy41CisgICBUaGUgY29tbWFuZC1saW5lIG9wdGlvbiBgYC0tbG9jYWxzYGAuCisKIFRoZSBjb21tYW5kIGxpbmUgY2FuIGFsc28gYmUgdXNlZCBmb3IgdGVzdCBkaXNjb3ZlcnksIGZvciBydW5uaW5nIGFsbCBvZiB0aGUKIHRlc3RzIGluIGEgcHJvamVjdCBvciBqdXN0IGEgc3Vic2V0LgogCkBAIC0xNTUyLDYgKzE1NTksMjAgQEAKICAgIDpkYXRhOmB1bml0dGVzdC5kZWZhdWx0VGVzdExvYWRlcmAuICBVc2luZyBhIHN1YmNsYXNzIG9yIGluc3RhbmNlLCBob3dldmVyLAogICAgYWxsb3dzIGN1c3RvbWl6YXRpb24gb2Ygc29tZSBjb25maWd1cmFibGUgcHJvcGVydGllcy4KIAorICAgOmNsYXNzOmBUZXN0TG9hZGVyYCBvYmplY3RzIGhhdmUgdGhlIGZvbGxvd2luZyBhdHRyaWJ1dGVzOgorCisKKyAgIC4uIGF0dHJpYnV0ZTo6IGVycm9ycworCisgICAgICBBIGxpc3Qgb2YgdGhlIG5vbi1mYXRhbCBlcnJvcnMgZW5jb3VudGVyZWQgd2hpbGUgbG9hZGluZyB0ZXN0cy4gTm90IHJlc2V0CisgICAgICBieSB0aGUgbG9hZGVyIGF0IGFueSBwb2ludC4gRmF0YWwgZXJyb3JzIGFyZSBzaWduYWxsZWQgYnkgdGhlIHJlbGV2YW50CisgICAgICBhIG1ldGhvZCByYWlzaW5nIGFuIGV4Y2VwdGlvbiB0byB0aGUgY2FsbGVyLiBOb24tZmF0YWwgZXJyb3JzIGFyZSBhbHNvCisgICAgICBpbmRpY2F0ZWQgYnkgYSBzeW50aGV0aWMgdGVzdCB0aGF0IHdpbGwgcmFpc2UgdGhlIG9yaWdpbmFsIGVycm9yIHdoZW4KKyAgICAgIHJ1bi4KKworICAgICAgLi4gdmVyc2lvbmFkZGVkOjogMy41CisKKwogICAgOmNsYXNzOmBUZXN0TG9hZGVyYCBvYmplY3RzIGhhdmUgdGhlIGZvbGxvd2luZyBtZXRob2RzOgogCiAKQEAgLTE1NjEsNyArMTU4Miw3IEBACiAgICAgICA6Y2xhc3M6YHRlc3RDYXNlQ2xhc3NgLgogCiAKLSAgIC4uIG1ldGhvZDo6IGxvYWRUZXN0c0Zyb21Nb2R1bGUobW9kdWxlKQorICAgLi4gbWV0aG9kOjogbG9hZFRlc3RzRnJvbU1vZHVsZShtb2R1bGUsIHBhdHRlcm49Tm9uZSkKIAogICAgICAgUmV0dXJuIGEgc3VpdGUgb2YgYWxsIHRlc3RzIGNhc2VzIGNvbnRhaW5lZCBpbiB0aGUgZ2l2ZW4gbW9kdWxlLiBUaGlzCiAgICAgICBtZXRob2Qgc2VhcmNoZXMgKm1vZHVsZSogZm9yIGNsYXNzZXMgZGVyaXZlZCBmcm9tIDpjbGFzczpgVGVzdENhc2VgIGFuZApAQCAtMTU3OCwxMSArMTU5OSwxOCBAQAogCiAgICAgICBJZiBhIG1vZHVsZSBwcm92aWRlcyBhIGBgbG9hZF90ZXN0c2BgIGZ1bmN0aW9uIGl0IHdpbGwgYmUgY2FsbGVkIHRvCiAgICAgICBsb2FkIHRoZSB0ZXN0cy4gVGhpcyBhbGxvd3MgbW9kdWxlcyB0byBjdXN0b21pemUgdGVzdCBsb2FkaW5nLgotICAgICAgVGhpcyBpcyB0aGUgYGxvYWRfdGVzdHMgcHJvdG9jb2xgXy4KKyAgICAgIFRoaXMgaXMgdGhlIGBsb2FkX3Rlc3RzIHByb3RvY29sYF8uICBUaGUgKnBhdHRlcm4qIGFyZ3VtZW50IGlzIHBhc3NlZCBhcworICAgICAgdGhlIHRoaXJkIGFyZ3VtZW50IHRvIGBgbG9hZF90ZXN0c2BgLgogCiAgICAgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuMgogICAgICAgICAgU3VwcG9ydCBmb3IgYGBsb2FkX3Rlc3RzYGAgYWRkZWQuCiAKKyAgICAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy41CisgICAgICAgICBUaGUgdW5kb2N1bWVudGVkIGFuZCB1bm9mZmljaWFsICp1c2VfbG9hZF90ZXN0cyogZGVmYXVsdCBhcmd1bWVudCBpcworICAgICAgICAgZGVwcmVjYXRlZCBhbmQgaWdub3JlZCwgYWx0aG91Z2ggaXQgaXMgc3RpbGwgYWNjZXB0ZWQgZm9yIGJhY2t3YXJkCisgICAgICAgICBjb21wYXRpYmlsaXR5LiAgVGhlIG1ldGhvZCBhbHNvIG5vdyBhY2NlcHRzIGEga2V5d29yZC1vbmx5IGFyZ3VtZW50CisgICAgICAgICAqcGF0dGVybiogd2hpY2ggaXMgcGFzc2VkIHRvIGBgbG9hZF90ZXN0c2BgIGFzIHRoZSB0aGlyZCBhcmd1bWVudC4KKwogCiAgICAuLiBtZXRob2Q6OiBsb2FkVGVzdHNGcm9tTmFtZShuYW1lLCBtb2R1bGU9Tm9uZSkKIApAQCAtMTYwOCw2ICsxNjM2LDEyIEBACiAKICAgICAgIFRoZSBtZXRob2Qgb3B0aW9uYWxseSByZXNvbHZlcyAqbmFtZSogcmVsYXRpdmUgdG8gdGhlIGdpdmVuICptb2R1bGUqLgogCisgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuNQorICAgICAgSWYgYW4gOmV4YzpgSW1wb3J0RXJyb3JgIG9yIDpleGM6YEF0dHJpYnV0ZUVycm9yYCBvY2N1cnMgd2hpbGUgdHJhdmVyc2luZworICAgICAgKm5hbWUqIHRoZW4gYSBzeW50aGV0aWMgdGVzdCB0aGF0IHJhaXNlcyB0aGF0IGVycm9yIHdoZW4gcnVuIHdpbGwgYmUKKyAgICAgIHJldHVybmVkLiBUaGVzZSBlcnJvcnMgYXJlIGluY2x1ZGVkIGluIHRoZSBlcnJvcnMgYWNjdW11bGF0ZWQgYnkKKyAgICAgIHNlbGYuZXJyb3JzLgorCiAKICAgIC4uIG1ldGhvZDo6IGxvYWRUZXN0c0Zyb21OYW1lcyhuYW1lcywgbW9kdWxlPU5vbmUpCiAKQEAgLTE2MzQsMTggKzE2NjgsMjIgQEAKICAgICAgIHRoZSBzdGFydCBkaXJlY3RvcnkgaXMgbm90IHRoZSB0b3AgbGV2ZWwgZGlyZWN0b3J5IHRoZW4gdGhlIHRvcCBsZXZlbAogICAgICAgZGlyZWN0b3J5IG11c3QgYmUgc3BlY2lmaWVkIHNlcGFyYXRlbHkuCiAKLSAgICAgIElmIGltcG9ydGluZyBhIG1vZHVsZSBmYWlscywgZm9yIGV4YW1wbGUgZHVlIHRvIGEgc3ludGF4IGVycm9yLCB0aGVuIHRoaXMKLSAgICAgIHdpbGwgYmUgcmVjb3JkZWQgYXMgYSBzaW5nbGUgZXJyb3IgYW5kIGRpc2NvdmVyeSB3aWxsIGNvbnRpbnVlLiAgSWYgdGhlCi0gICAgICBpbXBvcnQgZmFpbHVyZSBpcyBkdWUgdG8gOmV4YzpgU2tpcFRlc3RgIGJlaW5nIHJhaXNlZCwgaXQgd2lsbCBiZSByZWNvcmRlZAotICAgICAgYXMgYSBza2lwIGluc3RlYWQgb2YgYW4gZXJyb3IuCisgICAgICBJZiBpbXBvcnRpbmcgYSBtb2R1bGUgZmFpbHMsIGZvciBleGFtcGxlIGR1ZSB0byBhIHN5bnRheCBlcnJvciwgdGhlbgorICAgICAgdGhpcyB3aWxsIGJlIHJlY29yZGVkIGFzIGEgc2luZ2xlIGVycm9yIGFuZCBkaXNjb3Zlcnkgd2lsbCBjb250aW51ZS4gIElmCisgICAgICB0aGUgaW1wb3J0IGZhaWx1cmUgaXMgZHVlIHRvIDpleGM6YFNraXBUZXN0YCBiZWluZyByYWlzZWQsIGl0IHdpbGwgYmUKKyAgICAgIHJlY29yZGVkIGFzIGEgc2tpcCBpbnN0ZWFkIG9mIGFuIGVycm9yLgogCi0gICAgICBJZiBhIHRlc3QgcGFja2FnZSBuYW1lIChkaXJlY3Rvcnkgd2l0aCA6ZmlsZTpgX19pbml0X18ucHlgKSBtYXRjaGVzIHRoZQotICAgICAgcGF0dGVybiB0aGVuIHRoZSBwYWNrYWdlIHdpbGwgYmUgY2hlY2tlZCBmb3IgYSBgYGxvYWRfdGVzdHNgYAotICAgICAgZnVuY3Rpb24uIElmIHRoaXMgZXhpc3RzIHRoZW4gaXQgd2lsbCBiZSBjYWxsZWQgd2l0aCAqbG9hZGVyKiwgKnRlc3RzKiwKLSAgICAgICpwYXR0ZXJuKi4KKyAgICAgIElmIGEgcGFja2FnZSAoYSBkaXJlY3RvcnkgY29udGFpbmluZyBhIGZpbGUgbmFtZWQgOmZpbGU6YF9faW5pdF9fLnB5YCkgaXMKKyAgICAgIGZvdW5kLCB0aGUgcGFja2FnZSB3aWxsIGJlIGNoZWNrZWQgZm9yIGEgYGBsb2FkX3Rlc3RzYGAgZnVuY3Rpb24uIElmIHRoaXMKKyAgICAgIGV4aXN0cyB0aGVuIGl0IHdpbGwgYmUgY2FsbGVkCisgICAgICBgYHBhY2thZ2UubG9hZF90ZXN0cyhsb2FkZXIsIHRlc3RzLCBwYXR0ZXJuKWBgLiBUZXN0IGRpc2NvdmVyeSB0YWtlcyBjYXJlCisgICAgICB0byBlbnN1cmUgdGhhdCBhIHBhY2thZ2UgaXMgb25seSBjaGVja2VkIGZvciB0ZXN0cyBvbmNlIGR1cmluZyBhbgorICAgICAgaW52b2NhdGlvbiwgZXZlbiBpZiB0aGUgbG9hZF90ZXN0cyBmdW5jdGlvbiBpdHNlbGYgY2FsbHMKKyAgICAgIGBgbG9hZGVyLmRpc2NvdmVyYGAuCiAKLSAgICAgIElmIGBgbG9hZF90ZXN0c2BgIGV4aXN0cyB0aGVuIGRpc2NvdmVyeSBkb2VzICpub3QqIHJlY3Vyc2UgaW50byB0aGUgcGFja2FnZSwKLSAgICAgIGBgbG9hZF90ZXN0c2BgIGlzIHJlc3BvbnNpYmxlIGZvciBsb2FkaW5nIGFsbCB0ZXN0cyBpbiB0aGUgcGFja2FnZS4KKyAgICAgIElmIGBgbG9hZF90ZXN0c2BgIGV4aXN0cyB0aGVuIGRpc2NvdmVyeSBkb2VzICpub3QqIHJlY3Vyc2UgaW50byB0aGUKKyAgICAgIHBhY2thZ2UsIGBgbG9hZF90ZXN0c2BgIGlzIHJlc3BvbnNpYmxlIGZvciBsb2FkaW5nIGFsbCB0ZXN0cyBpbiB0aGUKKyAgICAgIHBhY2thZ2UuCiAKICAgICAgIFRoZSBwYXR0ZXJuIGlzIGRlbGliZXJhdGVseSBub3Qgc3RvcmVkIGFzIGEgbG9hZGVyIGF0dHJpYnV0ZSBzbyB0aGF0CiAgICAgICBwYWNrYWdlcyBjYW4gY29udGludWUgZGlzY292ZXJ5IHRoZW1zZWx2ZXMuICp0b3BfbGV2ZWxfZGlyKiBpcyBzdG9yZWQgc28KQEAgLTE2NjQsNiArMTcwMiwxMSBAQAogICAgICAgICAgICB0aGUgc2FtZSBldmVuIGlmIHRoZSB1bmRlcmx5aW5nIGZpbGUgc3lzdGVtJ3Mgb3JkZXJpbmcgaXMgbm90CiAgICAgICAgICAgIGRlcGVuZGVudCBvbiBmaWxlIG5hbWUuCiAKKyAgICAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy41CisgICAgICAgICBGb3VuZCBwYWNrYWdlcyBhcmUgbm93IGNoZWNrZWQgZm9yIGBgbG9hZF90ZXN0c2BgIHJlZ2FyZGxlc3Mgb2YKKyAgICAgICAgIHdoZXRoZXIgdGhlaXIgcGF0aCBtYXRjaGVzICpwYXR0ZXJuKiwgYmVjYXVzZSBpdCBpcyBpbXBvc3NpYmxlIGZvcgorICAgICAgICAgYSBwYWNrYWdlIG5hbWUgdG8gbWF0Y2ggdGhlIGRlZmF1bHQgcGF0dGVybi4KKwogCiAgICBUaGUgZm9sbG93aW5nIGF0dHJpYnV0ZXMgb2YgYSA6Y2xhc3M6YFRlc3RMb2FkZXJgIGNhbiBiZSBjb25maWd1cmVkIGVpdGhlciBieQogICAgc3ViY2xhc3Npbmcgb3IgYXNzaWdubWVudCBvbiBhbiBpbnN0YW5jZToKQEAgLTE3NDYsMTIgKzE3ODksMTAgQEAKIAogICAgICAgU2V0IHRvIGBgVHJ1ZWBgIHdoZW4gdGhlIGV4ZWN1dGlvbiBvZiB0ZXN0cyBzaG91bGQgc3RvcCBieSA6bWV0aDpgc3RvcGAuCiAKLQogICAgLi4gYXR0cmlidXRlOjogdGVzdHNSdW4KIAogICAgICAgVGhlIHRvdGFsIG51bWJlciBvZiB0ZXN0cyBydW4gc28gZmFyLgogCi0KICAgIC4uIGF0dHJpYnV0ZTo6IGJ1ZmZlcgogCiAgICAgICBJZiBzZXQgdG8gdHJ1ZSwgYGBzeXMuc3Rkb3V0YGAgYW5kIGBgc3lzLnN0ZGVycmBgIHdpbGwgYmUgYnVmZmVyZWQgaW4gYmV0d2VlbgpAQCAtMTc2MSw3ICsxODAyLDYgQEAKIAogICAgICAgLi4gdmVyc2lvbmFkZGVkOjogMy4yCiAKLQogICAgLi4gYXR0cmlidXRlOjogZmFpbGZhc3QKIAogICAgICAgSWYgc2V0IHRvIHRydWUgOm1ldGg6YHN0b3BgIHdpbGwgYmUgY2FsbGVkIG9uIHRoZSBmaXJzdCBmYWlsdXJlIG9yIGVycm9yLApAQCAtMTc2OSw2ICsxODA5LDExIEBACiAKICAgICAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMgogCisgICAuLiBhdHRyaWJ1dGU6OiB0Yl9sb2NhbHMKKworICAgICAgSWYgc2V0IHRvIHRydWUgdGhlbiBsb2NhbCB2YXJpYWJsZXMgd2lsbCBiZSBzaG93biBpbiB0cmFjZWJhY2tzLgorCisgICAgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjUKIAogICAgLi4gbWV0aG9kOjogd2FzU3VjY2Vzc2Z1bCgpCiAKQEAgLTE3NzksNyArMTgyNCw2IEBACiAgICAgICAgICBSZXR1cm5zIGBgRmFsc2VgYCBpZiB0aGVyZSB3ZXJlIGFueSA6YXR0cjpgdW5leHBlY3RlZFN1Y2Nlc3Nlc2AKICAgICAgICAgIGZyb20gdGVzdHMgbWFya2VkIHdpdGggdGhlIDpmdW5jOmBleHBlY3RlZEZhaWx1cmVgIGRlY29yYXRvci4KIAotCiAgICAuLiBtZXRob2Q6OiBzdG9wKCkKIAogICAgICAgVGhpcyBtZXRob2QgY2FuIGJlIGNhbGxlZCB0byBzaWduYWwgdGhhdCB0aGUgc2V0IG9mIHRlc3RzIGJlaW5nIHJ1biBzaG91bGQKQEAgLTE5MTEsMTIgKzE5NTUsMTQgQEAKIAogCiAuLiBjbGFzczo6IFRleHRUZXN0UnVubmVyKHN0cmVhbT1Ob25lLCBkZXNjcmlwdGlvbnM9VHJ1ZSwgdmVyYm9zaXR5PTEsIGZhaWxmYXN0PUZhbHNlLCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGJ1ZmZlcj1GYWxzZSwgcmVzdWx0Y2xhc3M9Tm9uZSwgd2FybmluZ3M9Tm9uZSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgYnVmZmVyPUZhbHNlLCByZXN1bHRjbGFzcz1Ob25lLCB3YXJuaW5ncz1Ob25lLCAqLCB0Yl9sb2NhbHM9RmFsc2UpCiAKICAgIEEgYmFzaWMgdGVzdCBydW5uZXIgaW1wbGVtZW50YXRpb24gdGhhdCBvdXRwdXRzIHJlc3VsdHMgdG8gYSBzdHJlYW0uIElmICpzdHJlYW0qCiAgICBpcyBgYE5vbmVgYCwgdGhlIGRlZmF1bHQsIDpkYXRhOmBzeXMuc3RkZXJyYCBpcyB1c2VkIGFzIHRoZSBvdXRwdXQgc3RyZWFtLiBUaGlzIGNsYXNzCiAgICBoYXMgYSBmZXcgY29uZmlndXJhYmxlIHBhcmFtZXRlcnMsIGJ1dCBpcyBlc3NlbnRpYWxseSB2ZXJ5IHNpbXBsZS4gIEdyYXBoaWNhbAotICAgYXBwbGljYXRpb25zIHdoaWNoIHJ1biB0ZXN0IHN1aXRlcyBzaG91bGQgcHJvdmlkZSBhbHRlcm5hdGUgaW1wbGVtZW50YXRpb25zLgorICAgYXBwbGljYXRpb25zIHdoaWNoIHJ1biB0ZXN0IHN1aXRlcyBzaG91bGQgcHJvdmlkZSBhbHRlcm5hdGUgaW1wbGVtZW50YXRpb25zLiBTdWNoCisgICBpbXBsZW1lbnRhdGlvbnMgc2hvdWxkIGFjY2VwdCBgYCoqa3dhcmdzYGAgYXMgdGhlIGludGVyZmFjZSB0byBjb25zdHJ1Y3QgcnVubmVycworICAgY2hhbmdlcyB3aGVuIGZlYXR1cmVzIGFyZSBhZGRlZCB0byB1bml0dGVzdC4KIAogICAgQnkgZGVmYXVsdCB0aGlzIHJ1bm5lciBzaG93cyA6ZXhjOmBEZXByZWNhdGlvbldhcm5pbmdgLAogICAgOmV4YzpgUGVuZGluZ0RlcHJlY2F0aW9uV2FybmluZ2AsIDpleGM6YFJlc291cmNlV2FybmluZ2AgYW5kCkBAIC0xOTM1LDYgKzE5ODEsOSBAQAogICAgICAgVGhlIGRlZmF1bHQgc3RyZWFtIGlzIHNldCB0byA6ZGF0YTpgc3lzLnN0ZGVycmAgYXQgaW5zdGFudGlhdGlvbiB0aW1lIHJhdGhlcgogICAgICAgdGhhbiBpbXBvcnQgdGltZS4KIAorICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjUKKyAgICAgIEFkZGVkIHRoZSB0Yl9sb2NhbHMgcGFyYW1ldGVyLgorCiAgICAuLiBtZXRob2Q6OiBfbWFrZVJlc3VsdCgpCiAKICAgICAgIFRoaXMgbWV0aG9kIHJldHVybnMgdGhlIGluc3RhbmNlIG9mIGBgVGVzdFJlc3VsdGBgIHVzZWQgYnkgOm1ldGg6YHJ1bmAuCkBAIC0yMDMyLDcgKzIwODEsMTAgQEAKIElmIGEgdGVzdCBtb2R1bGUgZGVmaW5lcyBgYGxvYWRfdGVzdHNgYCBpdCB3aWxsIGJlIGNhbGxlZCBieQogOm1ldGg6YFRlc3RMb2FkZXIubG9hZFRlc3RzRnJvbU1vZHVsZWAgd2l0aCB0aGUgZm9sbG93aW5nIGFyZ3VtZW50czo6CiAKLSAgICBsb2FkX3Rlc3RzKGxvYWRlciwgc3RhbmRhcmRfdGVzdHMsIE5vbmUpCisgICAgbG9hZF90ZXN0cyhsb2FkZXIsIHN0YW5kYXJkX3Rlc3RzLCBwYXR0ZXJuKQorCit3aGVyZSAqcGF0dGVybiogaXMgcGFzc2VkIHN0cmFpZ2h0IHRocm91Z2ggZnJvbSBgYGxvYWRUZXN0c0Zyb21Nb2R1bGVgYC4gIEl0CitkZWZhdWx0cyB0byBgYE5vbmVgYC4KIAogSXQgc2hvdWxkIHJldHVybiBhIDpjbGFzczpgVGVzdFN1aXRlYC4KIApAQCAtMjA1NCwyMSArMjEwNiwxMiBAQAogICAgICAgICAgICAgc3VpdGUuYWRkVGVzdHModGVzdHMpCiAgICAgICAgIHJldHVybiBzdWl0ZQogCi1JZiBkaXNjb3ZlcnkgaXMgc3RhcnRlZCwgZWl0aGVyIGZyb20gdGhlIGNvbW1hbmQgbGluZSBvciBieSBjYWxsaW5nCi06bWV0aDpgVGVzdExvYWRlci5kaXNjb3ZlcmAsIHdpdGggYSBwYXR0ZXJuIHRoYXQgbWF0Y2hlcyBhIHBhY2thZ2UKLW5hbWUgdGhlbiB0aGUgcGFja2FnZSA6ZmlsZTpgX19pbml0X18ucHlgIHdpbGwgYmUgY2hlY2tlZCBmb3IgYGBsb2FkX3Rlc3RzYGAuCi0KLS4uIG5vdGU6OgotCi0gICBUaGUgZGVmYXVsdCBwYXR0ZXJuIGlzIGBgJ3Rlc3QqLnB5J2BgLiBUaGlzIG1hdGNoZXMgYWxsIFB5dGhvbiBmaWxlcwotICAgdGhhdCBzdGFydCB3aXRoIGBgJ3Rlc3QnYGAgYnV0ICp3b24ndCogbWF0Y2ggYW55IHRlc3QgZGlyZWN0b3JpZXMuCi0KLSAgIEEgcGF0dGVybiBsaWtlIGBgJ3Rlc3QqJ2BgIHdpbGwgbWF0Y2ggdGVzdCBwYWNrYWdlcyBhcyB3ZWxsIGFzCi0gICBtb2R1bGVzLgotCi1JZiB0aGUgcGFja2FnZSA6ZmlsZTpgX19pbml0X18ucHlgIGRlZmluZXMgYGBsb2FkX3Rlc3RzYGAgdGhlbiBpdCB3aWxsIGJlCi1jYWxsZWQgYW5kIGRpc2NvdmVyeSBub3QgY29udGludWVkIGludG8gdGhlIHBhY2thZ2UuIGBgbG9hZF90ZXN0c2BgCi1pcyBjYWxsZWQgd2l0aCB0aGUgZm9sbG93aW5nIGFyZ3VtZW50czo6CitJZiBkaXNjb3ZlcnkgaXMgc3RhcnRlZCBpbiBhIGRpcmVjdG9yeSBjb250YWluaW5nIGEgcGFja2FnZSwgZWl0aGVyIGZyb20gdGhlCitjb21tYW5kIGxpbmUgb3IgYnkgY2FsbGluZyA6bWV0aDpgVGVzdExvYWRlci5kaXNjb3ZlcmAsIHRoZW4gdGhlIHBhY2thZ2UKKzpmaWxlOmBfX2luaXRfXy5weWAgd2lsbCBiZSBjaGVja2VkIGZvciBgYGxvYWRfdGVzdHNgYC4gIElmIHRoYXQgZnVuY3Rpb24gZG9lcworbm90IGV4aXN0LCBkaXNjb3Zlcnkgd2lsbCByZWN1cnNlIGludG8gdGhlIHBhY2thZ2UgYXMgdGhvdWdoIGl0IHdlcmUganVzdAorYW5vdGhlciBkaXJlY3RvcnkuICBPdGhlcndpc2UsIGRpc2NvdmVyeSBvZiB0aGUgcGFja2FnZSdzIHRlc3RzIHdpbGwgYmUgbGVmdCB1cAordG8gYGBsb2FkX3Rlc3RzYGAgd2hpY2ggaXMgY2FsbGVkIHdpdGggdGhlIGZvbGxvd2luZyBhcmd1bWVudHM6OgogCiAgICAgbG9hZF90ZXN0cyhsb2FkZXIsIHN0YW5kYXJkX3Rlc3RzLCBwYXR0ZXJuKQogCkBAIC0yMDg3LDYgKzIxMzAsMTEgQEAKICAgICAgICAgc3RhbmRhcmRfdGVzdHMuYWRkVGVzdHMocGFja2FnZV90ZXN0cykKICAgICAgICAgcmV0dXJuIHN0YW5kYXJkX3Rlc3RzCiAKKy4uIHZlcnNpb25jaGFuZ2VkOjogMy41CisgICBEaXNjb3Zlcnkgbm8gbG9uZ2VyIGNoZWNrcyBwYWNrYWdlIG5hbWVzIGZvciBtYXRjaGluZyAqcGF0dGVybiogZHVlIHRvIHRoZQorICAgaW1wb3NzaWJpbGl0eSBvZiBwYWNrYWdlIG5hbWVzIG1hdGNoaW5nIHRoZSBkZWZhdWx0IHBhdHRlcm4uCisKKwogCiBDbGFzcyBhbmQgTW9kdWxlIEZpeHR1cmVzCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS91cmxsaWIucGFyc2UucnN0IGIvRG9jL2xpYnJhcnkvdXJsbGliLnBhcnNlLnJzdAppbmRleCAxNTRhNTIxLi4zZWNkZGExIDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS91cmxsaWIucGFyc2UucnN0CisrKyBiL0RvYy9saWJyYXJ5L3VybGxpYi5wYXJzZS5yc3QKQEAgLTI2OCw2ICsyNjgsMTEgQEAKICAgIDpmdW5jOmB1cmx1bnNwbGl0YCwgcmVtb3ZpbmcgcG9zc2libGUgKnNjaGVtZSogYW5kICpuZXRsb2MqIHBhcnRzLgogCiAKKyAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy41CisKKyAgICAgIEJlaGF2aW91ciB1cGRhdGVkIHRvIG1hdGNoIHRoZSBzZW1hbnRpY3MgZGVmaW5lZCBpbiA6cmZjOmAzOTg2YC4KKworCiAuLiBmdW5jdGlvbjo6IHVybGRlZnJhZyh1cmwpCiAKICAgIElmICp1cmwqIGNvbnRhaW5zIGEgZnJhZ21lbnQgaWRlbnRpZmllciwgcmV0dXJuIGEgbW9kaWZpZWQgdmVyc2lvbiBvZiAqdXJsKgpkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvdXJsbGliLnJlcXVlc3QucnN0IGIvRG9jL2xpYnJhcnkvdXJsbGliLnJlcXVlc3QucnN0CmluZGV4IDI0OTM5NmUuLjI0MDA1MjYgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L3VybGxpYi5yZXF1ZXN0LnJzdAorKysgYi9Eb2MvbGlicmFyeS91cmxsaWIucmVxdWVzdC5yc3QKQEAgLTYzLDcgKzYzLDcgQEAKICAgIDpjbGFzczpgaHR0cC5jbGllbnQuSFRUUFJlc3BvbnNlYCBvYmplY3Qgd2hpY2ggaGFzIHRoZSBmb2xsb3dpbmcKICAgIDpyZWY6YGh0dHByZXNwb25zZS1vYmplY3RzYCBtZXRob2RzLgogCi0gICBGb3IgZnRwLCBmaWxlLCBhbmQgZGF0YSB1cmxzIGFuZCByZXF1ZXN0cyBleHBsaWNpdHkgaGFuZGxlZCBieSBsZWdhY3kKKyAgIEZvciBmdHAsIGZpbGUsIGFuZCBkYXRhIHVybHMgYW5kIHJlcXVlc3RzIGV4cGxpY2l0bHkgaGFuZGxlZCBieSBsZWdhY3kKICAgIDpjbGFzczpgVVJMb3BlbmVyYCBhbmQgOmNsYXNzOmBGYW5jeVVSTG9wZW5lcmAgY2xhc3NlcywgdGhpcyBmdW5jdGlvbgogICAgcmV0dXJucyBhIDpjbGFzczpgdXJsbGliLnJlc3BvbnNlLmFkZGluZm91cmxgIG9iamVjdCB3aGljaCBjYW4gd29yayBhcwogICAgOnRlcm06YGNvbnRleHQgbWFuYWdlcmAgYW5kIGhhcyBtZXRob2RzIHN1Y2ggYXMKQEAgLTExMCw2ICsxMTAsNyBAQAogICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjQuMwogICAgICAgKmNvbnRleHQqIHdhcyBhZGRlZC4KIAorCiAuLiBmdW5jdGlvbjo6IGluc3RhbGxfb3BlbmVyKG9wZW5lcikKIAogICAgSW5zdGFsbCBhbiA6Y2xhc3M6YE9wZW5lckRpcmVjdG9yYCBpbnN0YW5jZSBhcyB0aGUgZGVmYXVsdCBnbG9iYWwgb3BlbmVyLgpAQCAtMzAwLDYgKzMwMSwxNyBAQAogICAgcHJlc2VudGVkIHdpdGggYSB3cm9uZyBBdXRoZW50aWNhdGlvbiBzY2hlbWUuCiAKIAorLi4gY2xhc3M6OiBIVFRQQmFzaWNQcmlvckF1dGhIYW5kbGVyKHBhc3N3b3JkX21ncj1Ob25lKQorCisgICBBIHZhcmlhbnQgb2YgOmNsYXNzOmBIVFRQQmFzaWNBdXRoSGFuZGxlcmAgd2hpY2ggYXV0b21hdGljYWxseSBzZW5kcworICAgYXV0aG9yaXphdGlvbiBjcmVkZW50aWFscyB3aXRoIHRoZSBmaXJzdCByZXF1ZXN0LCByYXRoZXIgdGhhbiB3YWl0aW5nIHRvCisgICBmaXJzdCByZWNlaXZlIGEgSFRUUCA0MDEgIlVuYXV0aG9yaXNlZCIgZXJyb3IgcmVzcG9uc2UuIFRoaXMgYWxsb3dzCisgICBhdXRoZW50aWNhdGlvbiB0byBzaXRlcyB0aGF0IGRvbid0IHByb3ZpZGUgYSA0MDEgcmVzcG9uc2Ugd2hlbiByZWNlaXZpbmcKKyAgIGEgcmVxdWVzdCB3aXRob3V0IGFuIEF1dGhvcml6YXRpb24gaGVhZGVyLiBBc2lkZSBmcm9tIHRoaXMgZGlmZmVyZW5jZSwKKyAgIHRoaXMgYmVoYXZlcyBleGFjdGx5IGFzIDpjbGFzczpgSFRUUEJhc2ljQXV0aEhhbmRsZXJgLgorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjUKKwogLi4gY2xhc3M6OiBQcm94eUJhc2ljQXV0aEhhbmRsZXIocGFzc3dvcmRfbWdyPU5vbmUpCiAKICAgIEhhbmRsZSBhdXRoZW50aWNhdGlvbiB3aXRoIHRoZSBwcm94eS4gKnBhc3N3b3JkX21nciosIGlmIGdpdmVuLCBzaG91bGQgYmUKQEAgLTEwNjYsNyArMTA3OCw3IEBACiB0aGUgdmFyaW91cyB3YXlzIGluIHdoaWNoIGEgKFgpSFRNTCBvciBhIFhNTCBkb2N1bWVudCBjb3VsZCBoYXZlIHNwZWNpZmllZCBpdHMKIGVuY29kaW5nIGluZm9ybWF0aW9uLgogCi1BcyB0aGUgcHl0aG9uLm9yZyB3ZWJzaXRlIHVzZXMgKnV0Zi04KiBlbmNvZGluZyBhcyBzcGVjaWZpZWQgaW4gaXQncyBtZXRhIHRhZywgd2UKK0FzIHRoZSBweXRob24ub3JnIHdlYnNpdGUgdXNlcyAqdXRmLTgqIGVuY29kaW5nIGFzIHNwZWNpZmllZCBpbiBpdHMgbWV0YSB0YWcsIHdlCiB3aWxsIHVzZSB0aGUgc2FtZSBmb3IgZGVjb2RpbmcgdGhlIGJ5dGVzIG9iamVjdC4gOjoKIAogICAgPj4+IHdpdGggdXJsbGliLnJlcXVlc3QudXJsb3BlbignaHR0cDovL3d3dy5weXRob24ub3JnLycpIGFzIGY6CmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS93ZWFrcmVmLnJzdCBiL0RvYy9saWJyYXJ5L3dlYWtyZWYucnN0CmluZGV4IDljYTYwYTkuLjJlMTYwNzcgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L3dlYWtyZWYucnN0CisrKyBiL0RvYy9saWJyYXJ5L3dlYWtyZWYucnN0CkBAIC0yNTgsNyArMjU4LDcgQEAKICAgIGFyZSBjYWxsZWQgaW4gcmV2ZXJzZSBvcmRlciBvZiBjcmVhdGlvbi4KIAogICAgQSBmaW5hbGl6ZXIgd2lsbCBuZXZlciBpbnZva2UgaXRzIGNhbGxiYWNrIGR1cmluZyB0aGUgbGF0ZXIgcGFydCBvZgotICAgdGhlIGludGVycHJldGVyIHNodXRkb3duIHdoZW4gbW9kdWxlIGdsb2JhbHMgYXJlIGxpYWJsZSB0byBoYXZlCisgICB0aGUgOnRlcm06YGludGVycHJldGVyIHNodXRkb3duYCB3aGVuIG1vZHVsZSBnbG9iYWxzIGFyZSBsaWFibGUgdG8gaGF2ZQogICAgYmVlbiByZXBsYWNlZCBieSA6Y29uc3Q6YE5vbmVgLgogCiAgICAuLiBtZXRob2Q6OiBfX2NhbGxfXygpCkBAIC01MjcsOCArNTI3LDggQEAKIAogU3RhcnRpbmcgd2l0aCBQeXRob24gMy40LCA6bWV0aDpgX19kZWxfX2AgbWV0aG9kcyBubyBsb25nZXIgcHJldmVudAogcmVmZXJlbmNlIGN5Y2xlcyBmcm9tIGJlaW5nIGdhcmJhZ2UgY29sbGVjdGVkLCBhbmQgbW9kdWxlIGdsb2JhbHMgYXJlCi1ubyBsb25nZXIgZm9yY2VkIHRvIDpjb25zdDpgTm9uZWAgZHVyaW5nIGludGVycHJldGVyIHNodXRkb3duLiBTbyB0aGlzCi1jb2RlIHNob3VsZCB3b3JrIHdpdGhvdXQgYW55IGlzc3VlcyBvbiBDUHl0aG9uLgorbm8gbG9uZ2VyIGZvcmNlZCB0byA6Y29uc3Q6YE5vbmVgIGR1cmluZyA6dGVybTpgaW50ZXJwcmV0ZXIgc2h1dGRvd25gLgorU28gdGhpcyBjb2RlIHNob3VsZCB3b3JrIHdpdGhvdXQgYW55IGlzc3VlcyBvbiBDUHl0aG9uLgogCiBIb3dldmVyLCBoYW5kbGluZyBvZiA6bWV0aDpgX19kZWxfX2AgbWV0aG9kcyBpcyBub3RvcmlvdXNseSBpbXBsZW1lbnRhdGlvbgogc3BlY2lmaWMsIHNpbmNlIGl0IGRlcGVuZHMgb24gaW50ZXJuYWwgZGV0YWlscyBvZiB0aGUgaW50ZXJwcmV0ZXIncyBnYXJiYWdlCkBAIC01NjYsOCArNTY2LDggQEAKIAogLi4gbm90ZTo6CiAKLSAgIElmIHlvdSBjcmVhdGUgYSBmaW5hbGl6ZXIgb2JqZWN0IGluIGEgZGFlbW9uaWMgdGhyZWFkIGp1c3QgYXMgdGhlCi0gICB0aGUgcHJvZ3JhbSBleGl0cyB0aGVuIHRoZXJlIGlzIHRoZSBwb3NzaWJpbGl0eSB0aGF0IHRoZSBmaW5hbGl6ZXIKKyAgIElmIHlvdSBjcmVhdGUgYSBmaW5hbGl6ZXIgb2JqZWN0IGluIGEgZGFlbW9uaWMgdGhyZWFkIGp1c3QgYXMgdGhlIHByb2dyYW0KKyAgIGV4aXRzIHRoZW4gdGhlcmUgaXMgdGhlIHBvc3NpYmlsaXR5IHRoYXQgdGhlIGZpbmFsaXplcgogICAgZG9lcyBub3QgZ2V0IGNhbGxlZCBhdCBleGl0LiAgSG93ZXZlciwgaW4gYSBkYWVtb25pYyB0aHJlYWQKICAgIDpmdW5jOmBhdGV4aXQucmVnaXN0ZXJgLCBgYHRyeTogLi4uIGZpbmFsbHk6IC4uLmBgIGFuZCBgYHdpdGg6IC4uLmBgCiAgICBkbyBub3QgZ3VhcmFudGVlIHRoYXQgY2xlYW51cCBvY2N1cnMgZWl0aGVyLgpkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvd2ViYnJvd3Nlci5yc3QgYi9Eb2MvbGlicmFyeS93ZWJicm93c2VyLnJzdAppbmRleCBlZjYzNzY5Li5hYTVlNGFkIDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS93ZWJicm93c2VyLnJzdAorKysgYi9Eb2MvbGlicmFyeS93ZWJicm93c2VyLnJzdApAQCAtMjAsNyArMjAsNyBAQAogdGhlIHVzZXIgZXhpdHMgdGhlIGJyb3dzZXIuCiAKIElmIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZSA6ZW52dmFyOmBCUk9XU0VSYCBleGlzdHMsIGl0IGlzIGludGVycHJldGVkIGFzIHRoZQotOmRhdGE6YG9zLnBhdGhzZXBgLXNlcGFyYXRlZCBsaXN0IG9mIGJyb3dzZXJzIHRvIHRyeSBhaGVhZCBvZiB0aGUgdGhlIHBsYXRmb3JtCis6ZGF0YTpgb3MucGF0aHNlcGAtc2VwYXJhdGVkIGxpc3Qgb2YgYnJvd3NlcnMgdG8gdHJ5IGFoZWFkIG9mIHRoZSBwbGF0Zm9ybQogZGVmYXVsdHMuICBXaGVuIHRoZSB2YWx1ZSBvZiBhIGxpc3QgcGFydCBjb250YWlucyB0aGUgc3RyaW5nIGBgJXNgYCwgdGhlbiBpdCBpcwogaW50ZXJwcmV0ZWQgYXMgYSBsaXRlcmFsIGJyb3dzZXIgY29tbWFuZCBsaW5lIHRvIGJlIHVzZWQgd2l0aCB0aGUgYXJndW1lbnQgVVJMCiBzdWJzdGl0dXRlZCBmb3IgYGAlc2BgOyBpZiB0aGUgcGFydCBkb2VzIG5vdCBjb250YWluIGBgJXNgYCwgaXQgaXMgc2ltcGx5CmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS93c2dpcmVmLnJzdCBiL0RvYy9saWJyYXJ5L3dzZ2lyZWYucnN0CmluZGV4IDFjZWYyZTkuLjIyMzgxNDAgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L3dzZ2lyZWYucnN0CisrKyBiL0RvYy9saWJyYXJ5L3dzZ2lyZWYucnN0CkBAIC0xODQsMTAgKzE4NCwxMSBAQAogbWFuaXB1bGF0aW9uIG9mIFdTR0kgcmVzcG9uc2UgaGVhZGVycyB1c2luZyBhIG1hcHBpbmctbGlrZSBpbnRlcmZhY2UuCiAKIAotLi4gY2xhc3M6OiBIZWFkZXJzKGhlYWRlcnMpCisuLiBjbGFzczo6IEhlYWRlcnMoW2hlYWRlcnNdKQogCiAgICBDcmVhdGUgYSBtYXBwaW5nLWxpa2Ugb2JqZWN0IHdyYXBwaW5nICpoZWFkZXJzKiwgd2hpY2ggbXVzdCBiZSBhIGxpc3Qgb2YgaGVhZGVyCi0gICBuYW1lL3ZhbHVlIHR1cGxlcyBhcyBkZXNjcmliZWQgaW4gOnBlcDpgMzMzM2AuCisgICBuYW1lL3ZhbHVlIHR1cGxlcyBhcyBkZXNjcmliZWQgaW4gOnBlcDpgMzMzM2AuIFRoZSBkZWZhdWx0IHZhbHVlIG9mICpoZWFkZXJzKiBpcworICAgYW4gZW1wdHkgbGlzdC4KIAogICAgOmNsYXNzOmBIZWFkZXJzYCBvYmplY3RzIHN1cHBvcnQgdHlwaWNhbCBtYXBwaW5nIG9wZXJhdGlvbnMgaW5jbHVkaW5nCiAgICA6bWV0aDpgX19nZXRpdGVtX19gLCA6bWV0aDpgZ2V0YCwgOm1ldGg6YF9fc2V0aXRlbV9fYCwgOm1ldGg6YHNldGRlZmF1bHRgLApAQCAtMjUxLDYgKzI1MiwxMCBAQAogICAgICAgICAgQ29udGVudC1EaXNwb3NpdGlvbjogYXR0YWNobWVudDsgZmlsZW5hbWU9ImJ1ZC5naWYiCiAKIAorICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjUKKyAgICAgICpoZWFkZXJzKiBwYXJhbWV0ZXIgaXMgb3B0aW9uYWwuCisKKwogOm1vZDpgd3NnaXJlZi5zaW1wbGVfc2VydmVyYCAtLSBhIHNpbXBsZSBXU0dJIEhUVFAgc2VydmVyCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIApkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkveG1sLmRvbS5yc3QgYi9Eb2MvbGlicmFyeS94bWwuZG9tLnJzdAppbmRleCAxOTUxMmVkLi40OTE0NzM4IDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS94bWwuZG9tLnJzdAorKysgYi9Eb2MvbGlicmFyeS94bWwuZG9tLnJzdApAQCAtNDEyLDcgKzQxMiw3IEBACiAuLiBtZXRob2Q6OiBOb2RlTGlzdC5pdGVtKGkpCiAKICAgIFJldHVybiB0aGUgKmkqJ3RoIGl0ZW0gZnJvbSB0aGUgc2VxdWVuY2UsIGlmIHRoZXJlIGlzIG9uZSwgb3IgYGBOb25lYGAuICBUaGUKLSAgIGluZGV4ICppKiBpcyBub3QgYWxsb3dlZCB0byBiZSBsZXNzIHRoZW4gemVybyBvciBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gdGhlCisgICBpbmRleCAqaSogaXMgbm90IGFsbG93ZWQgdG8gYmUgbGVzcyB0aGFuIHplcm8gb3IgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIHRoZQogICAgbGVuZ3RoIG9mIHRoZSBzZXF1ZW5jZS4KIAogCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS94bWxycGMuY2xpZW50LnJzdCBiL0RvYy9saWJyYXJ5L3htbHJwYy5jbGllbnQucnN0CmluZGV4IGNjNWU4M2EuLmUxOTk5MzEgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L3htbHJwYy5jbGllbnQucnN0CisrKyBiL0RvYy9saWJyYXJ5L3htbHJwYy5jbGllbnQucnN0CkBAIC0yNyw3ICsyNyw3IEBACiAgICBjb25zdHJ1Y3RlZCBkYXRhLiAgSWYgeW91IG5lZWQgdG8gcGFyc2UgdW50cnVzdGVkIG9yIHVuYXV0aGVudGljYXRlZCBkYXRhIHNlZQogICAgOnJlZjpgeG1sLXZ1bG5lcmFiaWxpdGllc2AuCiAKLS4uIHZlcnNpb25jaGFuZ2VkOjogMy40LjMKKy4uIHZlcnNpb25jaGFuZ2VkOjogMy41CiAKICAgIEZvciBodHRwcyBVUklzLCA6bW9kOmB4bWxycGMuY2xpZW50YCBub3cgcGVyZm9ybXMgYWxsIHRoZSBuZWNlc3NhcnkKICAgIGNlcnRpZmljYXRlIGFuZCBob3N0bmFtZSBjaGVja3MgYnkgZGVmYXVsdApAQCAtMTI5LDcgKzEyOSw3IEBACiAgICA6Y2xhc3M6YFNlcnZlcmAgaXMgcmV0YWluZWQgYXMgYW4gYWxpYXMgZm9yIDpjbGFzczpgU2VydmVyUHJveHlgIGZvciBiYWNrd2FyZHMKICAgIGNvbXBhdGliaWxpdHkuICBOZXcgY29kZSBzaG91bGQgdXNlIDpjbGFzczpgU2VydmVyUHJveHlgLgogCi0gICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuNC4zCisgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuNQogICAgICAgQWRkZWQgdGhlICpjb250ZXh0KiBhcmd1bWVudC4KIAogCkBAIC0yMDAsNiArMjAwLDExIEBACiAgICBubyBzdWNoIHN0cmluZyBpcyBhdmFpbGFibGUsIGFuIGVtcHR5IHN0cmluZyBpcyByZXR1cm5lZC4gVGhlIGRvY3VtZW50YXRpb24KICAgIHN0cmluZyBtYXkgY29udGFpbiBIVE1MIG1hcmt1cC4KIAorLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjUKKworICAgSW5zdGFuY2VzIG9mIDpjbGFzczpgU2VydmVyUHJveHlgIHN1cHBvcnQgdGhlIDp0ZXJtOmBjb250ZXh0IG1hbmFnZXJgIHByb3RvY29sCisgICBmb3IgY2xvc2luZyB0aGUgdW5kZXJseWluZyB0cmFuc3BvcnQuCisKIAogQSB3b3JraW5nIGV4YW1wbGUgZm9sbG93cy4gVGhlIHNlcnZlciBjb2RlOjoKIApAQCAtMjE3LDkgKzIyMiw5IEBACiAKICAgIGltcG9ydCB4bWxycGMuY2xpZW50CiAKLSAgIHByb3h5ID0geG1scnBjLmNsaWVudC5TZXJ2ZXJQcm94eSgiaHR0cDovL2xvY2FsaG9zdDo4MDAwLyIpCi0gICBwcmludCgiMyBpcyBldmVuOiAlcyIgJSBzdHIocHJveHkuaXNfZXZlbigzKSkpCi0gICBwcmludCgiMTAwIGlzIGV2ZW46ICVzIiAlIHN0cihwcm94eS5pc19ldmVuKDEwMCkpKQorICAgd2l0aCB4bWxycGMuY2xpZW50LlNlcnZlclByb3h5KCJodHRwOi8vbG9jYWxob3N0OjgwMDAvIikgYXMgcHJveHk6CisgICAgICAgcHJpbnQoIjMgaXMgZXZlbjogJXMiICUgc3RyKHByb3h5LmlzX2V2ZW4oMykpKQorICAgICAgIHByaW50KCIxMDAgaXMgZXZlbjogJXMiICUgc3RyKHByb3h5LmlzX2V2ZW4oMTAwKSkpCiAKIC4uIF9kYXRldGltZS1vYmplY3RzOgogCkBAIC01MjcsMTQgKzUzMiwxNCBAQAogICAgZnJvbSB4bWxycGMuY2xpZW50IGltcG9ydCBTZXJ2ZXJQcm94eSwgRXJyb3IKIAogICAgIyBzZXJ2ZXIgPSBTZXJ2ZXJQcm94eSgiaHR0cDovL2xvY2FsaG9zdDo4MDAwIikgIyBsb2NhbCBzZXJ2ZXIKLSAgIHNlcnZlciA9IFNlcnZlclByb3h5KCJodHRwOi8vYmV0dHkudXNlcmxhbmQuY29tIikKKyAgIHdpdGggU2VydmVyUHJveHkoImh0dHA6Ly9iZXR0eS51c2VybGFuZC5jb20iKSBhcyBwcm94eToKIAotICAgcHJpbnQoc2VydmVyKQorICAgICAgIHByaW50KHByb3h5KQogCi0gICB0cnk6Ci0gICAgICAgcHJpbnQoc2VydmVyLmV4YW1wbGVzLmdldFN0YXRlTmFtZSg0MSkpCi0gICBleGNlcHQgRXJyb3IgYXMgdjoKLSAgICAgICBwcmludCgiRVJST1IiLCB2KQorICAgICAgIHRyeToKKyAgICAgICAgICAgcHJpbnQocHJveHkuZXhhbXBsZXMuZ2V0U3RhdGVOYW1lKDQxKSkKKyAgICAgICBleGNlcHQgRXJyb3IgYXMgdjoKKyAgICAgICAgICAgcHJpbnQoIkVSUk9SIiwgdikKIAogVG8gYWNjZXNzIGFuIFhNTC1SUEMgc2VydmVyIHRocm91Z2ggYSBwcm94eSwgeW91IG5lZWQgdG8gZGVmaW5lICBhIGN1c3RvbQogdHJhbnNwb3J0LiAgVGhlIGZvbGxvd2luZyBleGFtcGxlIHNob3dzIGhvdzoKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L3ppcGZpbGUucnN0IGIvRG9jL2xpYnJhcnkvemlwZmlsZS5yc3QKaW5kZXggMWQyM2E3Yy4uNDY1ZDc4NiAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvemlwZmlsZS5yc3QKKysrIGIvRG9jL2xpYnJhcnkvemlwZmlsZS5yc3QKQEAgLTIxOSwxNCArMjE5LDggQEAKIAogICAgLi4gbm90ZTo6CiAKLSAgICAgIElmIHRoZSBaaXBGaWxlIHdhcyBjcmVhdGVkIGJ5IHBhc3NpbmcgaW4gYSBmaWxlLWxpa2Ugb2JqZWN0IGFzIHRoZSAgZmlyc3QKLSAgICAgIGFyZ3VtZW50IHRvIHRoZSBjb25zdHJ1Y3RvciwgdGhlbiB0aGUgb2JqZWN0IHJldHVybmVkIGJ5IDptZXRoOmAub3BlbmAgc2hhcmVzIHRoZQotICAgICAgWmlwRmlsZSdzIGZpbGUgcG9pbnRlci4gIFVuZGVyIHRoZXNlICBjaXJjdW1zdGFuY2VzLCB0aGUgb2JqZWN0IHJldHVybmVkIGJ5Ci0gICAgICA6bWV0aDpgLm9wZW5gIHNob3VsZCBub3QgIGJlIHVzZWQgYWZ0ZXIgYW55IGFkZGl0aW9uYWwgb3BlcmF0aW9ucyBhcmUgcGVyZm9ybWVkCi0gICAgICBvbiB0aGUgIFppcEZpbGUgb2JqZWN0LiAgSWYgdGhlIFppcEZpbGUgd2FzIGNyZWF0ZWQgYnkgcGFzc2luZyBpbiBhIHN0cmluZyAodGhlCi0gICAgICBmaWxlbmFtZSkgYXMgdGhlIGZpcnN0IGFyZ3VtZW50IHRvIHRoZSBjb25zdHJ1Y3RvciwgdGhlbiAgOm1ldGg6YC5vcGVuYCB3aWxsCi0gICAgICBjcmVhdGUgYSBuZXcgZmlsZSBvYmplY3QgdGhhdCB3aWxsIGJlIGhlbGQgYnkgdGhlIFppcEV4dEZpbGUsIGFsbG93aW5nIGl0IHRvCi0gICAgICBvcGVyYXRlIGluZGVwZW5kZW50bHkgb2YgdGhlICBaaXBGaWxlLgorICAgICAgT2JqZWN0cyByZXR1cm5lZCBieSA6bWV0aDpgLm9wZW5gIGNhbiBvcGVyYXRlIGluZGVwZW5kZW50bHkgb2YgdGhlCisgICAgICBaaXBGaWxlLgogCiAgICAuLiBub3RlOjoKIApkaWZmIC0tZ2l0IGEvRG9jL21ha2UuYmF0IGIvRG9jL21ha2UuYmF0CmluZGV4IDEwNzAxNjYuLjZhYWUzNGEgMTAwNjQ0Ci0tLSBhL0RvYy9tYWtlLmJhdAorKysgYi9Eb2MvbWFrZS5iYXQKQEAgLTgsOSArOCwxNyBAQAogaWYgIiVTUEhJTlhCVUlMRCUiIEVRVSAiIiBzZXQgU1BISU5YQlVJTEQ9c3BoaW54LWJ1aWxkCiBpZiAiJVBZVEhPTiUiIEVRVSAiIiBzZXQgUFlUSE9OPXB5CiAKLWlmIERFRklORUQgUHJvZ3JhbUZpbGVzKHg4Nikgc2V0IF9QUkdNRkxTPSVQcm9ncmFtRmlsZXMoeDg2KSUKLWlmIE5PVCBERUZJTkVEIFByb2dyYW1GaWxlcyh4ODYpIHNldCBfUFJHTUZMUz0lUHJvZ3JhbUZpbGVzJQotaWYgIiVIVE1MSEVMUCUiIEVRVSAiIiBzZXQgSFRNTEhFTFA9JV9QUkdNRkxTJVxIVE1MIEhlbHAgV29ya3Nob3BcaGhjLmV4ZQoraWYgIiUxIiBORVEgImh0bWxoZWxwIiBnb3RvIDpza2lwaGhjc2VhcmNoCitpZiBleGlzdCAiJUhUTUxIRUxQJSIgZ290byA6c2tpcGhoY3NlYXJjaAorCityZW0gU2VhcmNoIGZvciBISEMgaW4gbGlrZWx5IHBsYWNlcworc2V0IEhUTUxIRUxQPQord2hlcmUgaGhjIC9xICYmIHNldCBIVE1MSEVMUD1oaGMgJiYgZ290byA6c2tpcGhoY3NlYXJjaAord2hlcmUgL1IgLi5cZXh0ZXJuYWxzIGhoYyA+ICIlVEVNUCVcaGhjLmxvYyIgMj4gbnVsICYmIHNldCAvUCBIVE1MSEVMUD0gPCAiJVRFTVAlXGhoYy5sb2MiICYgZGVsICIlVEVNUCVcaGhjLmxvYyIKK2lmIG5vdCBleGlzdCAiJUhUTUxIRUxQJSIgd2hlcmUgL1IgIiVQcm9ncmFtRmlsZXMoeDg2KSUiIGhoYyA+ICIlVEVNUCVcaGhjLmxvYyIgMj4gbnVsICYmIHNldCAvUCBIVE1MSEVMUD0gPCAiJVRFTVAlXGhoYy5sb2MiICYgZGVsICIlVEVNUCVcaGhjLmxvYyIKK2lmIG5vdCBleGlzdCAiJUhUTUxIRUxQJSIgd2hlcmUgL1IgIiVQcm9ncmFtRmlsZXMlIiBoaGMgPiAiJVRFTVAlXGhoYy5sb2MiIDI+IG51bCAmJiBzZXQgL1AgSFRNTEhFTFA9IDwgIiVURU1QJVxoaGMubG9jIiAmIGRlbCAiJVRFTVAlXGhoYy5sb2MiCitpZiBub3QgZXhpc3QgIiVIVE1MSEVMUCUiIGVjaG8gQ2Fubm90IGZpbmQgSEhDIG9uIFBBVEggb3IgaW4gZXh0ZXJuYWxzICYgZXhpdCAvQiAxCis6c2tpcGhoY3NlYXJjaAogCiBpZiAiJURJU1RWRVJTSU9OJSIgRVFVICIiIGZvciAvZiAidXNlYmFja3EiICUldiBpbiAoYCVQWVRIT04lIHRvb2xzL2V4dGVuc2lvbnMvcGF0Y2hsZXZlbC5weWApIGRvIHNldCBESVNUVkVSU0lPTj0lJXYKIApAQCAtMzYsNyArNDQsOCBAQAogICAgIGVjaG8uCiAgICAgZWNoby5JZiB5b3UgZG9uJ3QgaGF2ZSBTcGhpbnggaW5zdGFsbGVkLCBncmFiIGl0IGZyb20KICAgICBlY2hvLmh0dHA6Ly9zcGhpbngtZG9jLm9yZy8KLSAgICBnb3RvIGVuZAorICAgIHBvcGQKKyAgICBleGl0IC9CIDEKICkKIAogcmVtIFRhcmdldHMgdGhhdCBkbyByZXF1aXJlIHNwaGlueC1idWlsZCBhbmQgaGF2ZSB0aGVpciBvd24gbGFiZWwKZGlmZiAtLWdpdCBhL0RvYy9yZWZlcmVuY2UvZGF0YW1vZGVsLnJzdCBiL0RvYy9yZWZlcmVuY2UvZGF0YW1vZGVsLnJzdAppbmRleCBlMzY0NmY4Li41ZTkwOWE5IDEwMDY0NAotLS0gYS9Eb2MvcmVmZXJlbmNlL2RhdGFtb2RlbC5yc3QKKysrIGIvRG9jL3JlZmVyZW5jZS9kYXRhbW9kZWwucnN0CkBAIC0xOTg2LDYgKzE5ODYsNyBAQAogLi4gbWV0aG9kOjogb2JqZWN0Ll9fYWRkX18oc2VsZiwgb3RoZXIpCiAgICAgICAgICAgICBvYmplY3QuX19zdWJfXyhzZWxmLCBvdGhlcikKICAgICAgICAgICAgIG9iamVjdC5fX211bF9fKHNlbGYsIG90aGVyKQorICAgICAgICAgICAgb2JqZWN0Ll9fbWF0bXVsX18oc2VsZiwgb3RoZXIpCiAgICAgICAgICAgICBvYmplY3QuX190cnVlZGl2X18oc2VsZiwgb3RoZXIpCiAgICAgICAgICAgICBvYmplY3QuX19mbG9vcmRpdl9fKHNlbGYsIG90aGVyKQogICAgICAgICAgICAgb2JqZWN0Ll9fbW9kX18oc2VsZiwgb3RoZXIpCkBAIC0yMDAyLDE1ICsyMDAzLDE2IEBACiAgICAgICBidWlsdGluOiBwb3cKICAgICAgIGJ1aWx0aW46IHBvdwogCi0gICBUaGVzZSBtZXRob2RzIGFyZSBjYWxsZWQgdG8gaW1wbGVtZW50IHRoZSBiaW5hcnkgYXJpdGhtZXRpYyBvcGVyYXRpb25zIChgYCtgYCwKLSAgIGBgLWBgLCBgYCpgYCwgYGAvYGAsIGBgLy9gYCwgYGAlYGAsIDpmdW5jOmBkaXZtb2RgLCA6ZnVuYzpgcG93YCwgYGAqKmBgLCBgYDw8YGAsCi0gICBgYD4+YGAsIGBgJmBgLCBgYF5gYCwgYGB8YGApLiAgRm9yIGluc3RhbmNlLCB0byBldmFsdWF0ZSB0aGUgZXhwcmVzc2lvbgotICAgYGB4ICsgeWBgLCB3aGVyZSAqeCogaXMgYW4gaW5zdGFuY2Ugb2YgYSBjbGFzcyB0aGF0IGhhcyBhbiA6bWV0aDpgX19hZGRfX2AKLSAgIG1ldGhvZCwgYGB4Ll9fYWRkX18oeSlgYCBpcyBjYWxsZWQuICBUaGUgOm1ldGg6YF9fZGl2bW9kX19gIG1ldGhvZCBzaG91bGQgYmUgdGhlCi0gICBlcXVpdmFsZW50IHRvIHVzaW5nIDptZXRoOmBfX2Zsb29yZGl2X19gIGFuZCA6bWV0aDpgX19tb2RfX2A7IGl0IHNob3VsZCBub3QgYmUKLSAgIHJlbGF0ZWQgdG8gOm1ldGg6YF9fdHJ1ZWRpdl9fYC4gIE5vdGUgdGhhdCA6bWV0aDpgX19wb3dfX2Agc2hvdWxkIGJlIGRlZmluZWQKLSAgIHRvIGFjY2VwdCBhbiBvcHRpb25hbCB0aGlyZCBhcmd1bWVudCBpZiB0aGUgdGVybmFyeSB2ZXJzaW9uIG9mIHRoZSBidWlsdC1pbgotICAgOmZ1bmM6YHBvd2AgZnVuY3Rpb24gaXMgdG8gYmUgc3VwcG9ydGVkLgorICAgVGhlc2UgbWV0aG9kcyBhcmUgY2FsbGVkIHRvIGltcGxlbWVudCB0aGUgYmluYXJ5IGFyaXRobWV0aWMgb3BlcmF0aW9ucworICAgKGBgK2BgLCBgYC1gYCwgYGAqYGAsIGBgQGBgLCBgYC9gYCwgYGAvL2BgLCBgYCVgYCwgOmZ1bmM6YGRpdm1vZGAsCisgICA6ZnVuYzpgcG93YCwgYGAqKmBgLCBgYDw8YGAsIGBgPj5gYCwgYGAmYGAsIGBgXmBgLCBgYHxgYCkuICBGb3IgaW5zdGFuY2UsIHRvCisgICBldmFsdWF0ZSB0aGUgZXhwcmVzc2lvbiBgYHggKyB5YGAsIHdoZXJlICp4KiBpcyBhbiBpbnN0YW5jZSBvZiBhIGNsYXNzIHRoYXQKKyAgIGhhcyBhbiA6bWV0aDpgX19hZGRfX2AgbWV0aG9kLCBgYHguX19hZGRfXyh5KWBgIGlzIGNhbGxlZC4gIFRoZQorICAgOm1ldGg6YF9fZGl2bW9kX19gIG1ldGhvZCBzaG91bGQgYmUgdGhlIGVxdWl2YWxlbnQgdG8gdXNpbmcKKyAgIDptZXRoOmBfX2Zsb29yZGl2X19gIGFuZCA6bWV0aDpgX19tb2RfX2A7IGl0IHNob3VsZCBub3QgYmUgcmVsYXRlZCB0bworICAgOm1ldGg6YF9fdHJ1ZWRpdl9fYC4gIE5vdGUgdGhhdCA6bWV0aDpgX19wb3dfX2Agc2hvdWxkIGJlIGRlZmluZWQgdG8gYWNjZXB0CisgICBhbiBvcHRpb25hbCB0aGlyZCBhcmd1bWVudCBpZiB0aGUgdGVybmFyeSB2ZXJzaW9uIG9mIHRoZSBidWlsdC1pbiA6ZnVuYzpgcG93YAorICAgZnVuY3Rpb24gaXMgdG8gYmUgc3VwcG9ydGVkLgogCiAgICBJZiBvbmUgb2YgdGhvc2UgbWV0aG9kcyBkb2VzIG5vdCBzdXBwb3J0IHRoZSBvcGVyYXRpb24gd2l0aCB0aGUgc3VwcGxpZWQKICAgIGFyZ3VtZW50cywgaXQgc2hvdWxkIHJldHVybiBgYE5vdEltcGxlbWVudGVkYGAuCkBAIC0yMDE5LDYgKzIwMjEsNyBAQAogLi4gbWV0aG9kOjogb2JqZWN0Ll9fcmFkZF9fKHNlbGYsIG90aGVyKQogICAgICAgICAgICAgb2JqZWN0Ll9fcnN1Yl9fKHNlbGYsIG90aGVyKQogICAgICAgICAgICAgb2JqZWN0Ll9fcm11bF9fKHNlbGYsIG90aGVyKQorICAgICAgICAgICAgb2JqZWN0Ll9fcm1hdG11bF9fKHNlbGYsIG90aGVyKQogICAgICAgICAgICAgb2JqZWN0Ll9fcnRydWVkaXZfXyhzZWxmLCBvdGhlcikKICAgICAgICAgICAgIG9iamVjdC5fX3JmbG9vcmRpdl9fKHNlbGYsIG90aGVyKQogICAgICAgICAgICAgb2JqZWN0Ll9fcm1vZF9fKHNlbGYsIG90aGVyKQpAQCAtMjAzNCwxNCArMjAzNywxNCBAQAogICAgICAgYnVpbHRpbjogZGl2bW9kCiAgICAgICBidWlsdGluOiBwb3cKIAotICAgVGhlc2UgbWV0aG9kcyBhcmUgY2FsbGVkIHRvIGltcGxlbWVudCB0aGUgYmluYXJ5IGFyaXRobWV0aWMgb3BlcmF0aW9ucyAoYGArYGAsCi0gICBgYC1gYCwgYGAqYGAsIGBgL2BgLCBgYC8vYGAsIGBgJWBgLCA6ZnVuYzpgZGl2bW9kYCwgOmZ1bmM6YHBvd2AsIGBgKipgYCwKLSAgIGBgPDxgYCwgYGA+PmBgLCBgYCZgYCwgYGBeYGAsIGBgfGBgKSB3aXRoIHJlZmxlY3RlZCAoc3dhcHBlZCkgb3BlcmFuZHMuCi0gICBUaGVzZSBmdW5jdGlvbnMgYXJlIG9ubHkgY2FsbGVkIGlmIHRoZSBsZWZ0IG9wZXJhbmQgZG9lcyBub3Qgc3VwcG9ydCB0aGUKLSAgIGNvcnJlc3BvbmRpbmcgb3BlcmF0aW9uIGFuZCB0aGUgb3BlcmFuZHMgYXJlIG9mIGRpZmZlcmVudCB0eXBlcy4gWyNdXyAgRm9yCi0gICBpbnN0YW5jZSwgdG8gZXZhbHVhdGUgdGhlIGV4cHJlc3Npb24gYGB4IC0geWBgLCB3aGVyZSAqeSogaXMgYW4gaW5zdGFuY2Ugb2YKLSAgIGEgY2xhc3MgdGhhdCBoYXMgYW4gOm1ldGg6YF9fcnN1Yl9fYCBtZXRob2QsIGBgeS5fX3JzdWJfXyh4KWBgIGlzIGNhbGxlZCBpZgotICAgYGB4Ll9fc3ViX18oeSlgYCByZXR1cm5zICpOb3RJbXBsZW1lbnRlZCouCisgICBUaGVzZSBtZXRob2RzIGFyZSBjYWxsZWQgdG8gaW1wbGVtZW50IHRoZSBiaW5hcnkgYXJpdGhtZXRpYyBvcGVyYXRpb25zCisgICAoYGArYGAsIGBgLWBgLCBgYCpgYCwgYGBAYGAsIGBgL2BgLCBgYC8vYGAsIGBgJWBgLCA6ZnVuYzpgZGl2bW9kYCwKKyAgIDpmdW5jOmBwb3dgLCBgYCoqYGAsIGBgPDxgYCwgYGA+PmBgLCBgYCZgYCwgYGBeYGAsIGBgfGBgKSB3aXRoIHJlZmxlY3RlZAorICAgKHN3YXBwZWQpIG9wZXJhbmRzLiAgVGhlc2UgZnVuY3Rpb25zIGFyZSBvbmx5IGNhbGxlZCBpZiB0aGUgbGVmdCBvcGVyYW5kIGRvZXMKKyAgIG5vdCBzdXBwb3J0IHRoZSBjb3JyZXNwb25kaW5nIG9wZXJhdGlvbiBhbmQgdGhlIG9wZXJhbmRzIGFyZSBvZiBkaWZmZXJlbnQKKyAgIHR5cGVzLiBbI11fIEZvciBpbnN0YW5jZSwgdG8gZXZhbHVhdGUgdGhlIGV4cHJlc3Npb24gYGB4IC0geWBgLCB3aGVyZSAqeSogaXMKKyAgIGFuIGluc3RhbmNlIG9mIGEgY2xhc3MgdGhhdCBoYXMgYW4gOm1ldGg6YF9fcnN1Yl9fYCBtZXRob2QsIGBgeS5fX3JzdWJfXyh4KWBgCisgICBpcyBjYWxsZWQgaWYgYGB4Ll9fc3ViX18oeSlgYCByZXR1cm5zICpOb3RJbXBsZW1lbnRlZCouCiAKICAgIC4uIGluZGV4OjogYnVpbHRpbjogcG93CiAKQEAgLTIwNTksNiArMjA2Miw3IEBACiAuLiBtZXRob2Q6OiBvYmplY3QuX19pYWRkX18oc2VsZiwgb3RoZXIpCiAgICAgICAgICAgICBvYmplY3QuX19pc3ViX18oc2VsZiwgb3RoZXIpCiAgICAgICAgICAgICBvYmplY3QuX19pbXVsX18oc2VsZiwgb3RoZXIpCisgICAgICAgICAgICBvYmplY3QuX19pbWF0bXVsX18oc2VsZiwgb3RoZXIpCiAgICAgICAgICAgICBvYmplY3QuX19pdHJ1ZWRpdl9fKHNlbGYsIG90aGVyKQogICAgICAgICAgICAgb2JqZWN0Ll9faWZsb29yZGl2X18oc2VsZiwgb3RoZXIpCiAgICAgICAgICAgICBvYmplY3QuX19pbW9kX18oc2VsZiwgb3RoZXIpCkBAIC0yMDcwLDE3ICsyMDc0LDE3IEBACiAgICAgICAgICAgICBvYmplY3QuX19pb3JfXyhzZWxmLCBvdGhlcikKIAogICAgVGhlc2UgbWV0aG9kcyBhcmUgY2FsbGVkIHRvIGltcGxlbWVudCB0aGUgYXVnbWVudGVkIGFyaXRobWV0aWMgYXNzaWdubWVudHMKLSAgIChgYCs9YGAsIGBgLT1gYCwgYGAqPWBgLCBgYC89YGAsIGBgLy89YGAsIGBgJT1gYCwgYGAqKj1gYCwgYGA8PD1gYCwgYGA+Pj1gYCwKLSAgIGBgJj1gYCwgYGBePWBgLCBgYHw9YGApLiAgVGhlc2UgbWV0aG9kcyBzaG91bGQgYXR0ZW1wdCB0byBkbyB0aGUgb3BlcmF0aW9uCi0gICBpbi1wbGFjZSAobW9kaWZ5aW5nICpzZWxmKikgYW5kIHJldHVybiB0aGUgcmVzdWx0ICh3aGljaCBjb3VsZCBiZSwgYnV0IGRvZXMKLSAgIG5vdCBoYXZlIHRvIGJlLCAqc2VsZiopLiAgSWYgYSBzcGVjaWZpYyBtZXRob2QgaXMgbm90IGRlZmluZWQsIHRoZSBhdWdtZW50ZWQKLSAgIGFzc2lnbm1lbnQgZmFsbHMgYmFjayB0byB0aGUgbm9ybWFsIG1ldGhvZHMuICBGb3IgaW5zdGFuY2UsIGlmICp4KiBpcyBhbgotICAgaW5zdGFuY2Ugb2YgYSBjbGFzcyB3aXRoIGFuIDptZXRoOmBfX2lhZGRfX2AgbWV0aG9kLCBgYHggKz0geWBgIGlzIGVxdWl2YWxlbnQKLSAgIHRvIGBgeCA9IHguX19pYWRkX18oeSlgYCAuIE90aGVyd2lzZSwgYGB4Ll9fYWRkX18oeSlgYCBhbmQgYGB5Ll9fcmFkZF9fKHgpYGAKLSAgIGFyZSBjb25zaWRlcmVkLCBhcyB3aXRoIHRoZSBldmFsdWF0aW9uIG9mIGBgeCArIHlgYC4gSW4gY2VydGFpbiBzaXR1YXRpb25zLAotICAgYXVnbWVudGVkIGFzc2lnbm1lbnQgY2FuIHJlc3VsdCBpbiB1bmV4cGVjdGVkIGVycm9ycyAoc2VlCi0gICA6cmVmOmBmYXEtYXVnbWVudGVkLWFzc2lnbm1lbnQtdHVwbGUtZXJyb3JgKSwgYnV0IHRoaXMgYmVoYXZpb3IgaXMgaW4KLSAgIGZhY3QgcGFydCBvZiB0aGUgZGF0YSBtb2RlbC4KKyAgIChgYCs9YGAsIGBgLT1gYCwgYGAqPWBgLCBgYEA9YGAsIGBgLz1gYCwgYGAvLz1gYCwgYGAlPWBgLCBgYCoqPWBgLCBgYDw8PWBgLAorICAgYGA+Pj1gYCwgYGAmPWBgLCBgYF49YGAsIGBgfD1gYCkuICBUaGVzZSBtZXRob2RzIHNob3VsZCBhdHRlbXB0IHRvIGRvIHRoZQorICAgb3BlcmF0aW9uIGluLXBsYWNlIChtb2RpZnlpbmcgKnNlbGYqKSBhbmQgcmV0dXJuIHRoZSByZXN1bHQgKHdoaWNoIGNvdWxkIGJlLAorICAgYnV0IGRvZXMgbm90IGhhdmUgdG8gYmUsICpzZWxmKikuICBJZiBhIHNwZWNpZmljIG1ldGhvZCBpcyBub3QgZGVmaW5lZCwgdGhlCisgICBhdWdtZW50ZWQgYXNzaWdubWVudCBmYWxscyBiYWNrIHRvIHRoZSBub3JtYWwgbWV0aG9kcy4gIEZvciBpbnN0YW5jZSwgaWYgKngqCisgICBpcyBhbiBpbnN0YW5jZSBvZiBhIGNsYXNzIHdpdGggYW4gOm1ldGg6YF9faWFkZF9fYCBtZXRob2QsIGBgeCArPSB5YGAgaXMKKyAgIGVxdWl2YWxlbnQgdG8gYGB4ID0geC5fX2lhZGRfXyh5KWBgIC4gT3RoZXJ3aXNlLCBgYHguX19hZGRfXyh5KWBgIGFuZAorICAgYGB5Ll9fcmFkZF9fKHgpYGAgYXJlIGNvbnNpZGVyZWQsIGFzIHdpdGggdGhlIGV2YWx1YXRpb24gb2YgYGB4ICsgeWBgLiBJbgorICAgY2VydGFpbiBzaXR1YXRpb25zLCBhdWdtZW50ZWQgYXNzaWdubWVudCBjYW4gcmVzdWx0IGluIHVuZXhwZWN0ZWQgZXJyb3JzIChzZWUKKyAgIDpyZWY6YGZhcS1hdWdtZW50ZWQtYXNzaWdubWVudC10dXBsZS1lcnJvcmApLCBidXQgdGhpcyBiZWhhdmlvciBpcyBpbiBmYWN0CisgICBwYXJ0IG9mIHRoZSBkYXRhIG1vZGVsLgogCiAKIC4uIG1ldGhvZDo6IG9iamVjdC5fX25lZ19fKHNlbGYpCmRpZmYgLS1naXQgYS9Eb2MvcmVmZXJlbmNlL2V4cHJlc3Npb25zLnJzdCBiL0RvYy9yZWZlcmVuY2UvZXhwcmVzc2lvbnMucnN0CmluZGV4IDFhNTA4OGEuLjEyZjlmMmYgMTAwNjQ0Ci0tLSBhL0RvYy9yZWZlcmVuY2UvZXhwcmVzc2lvbnMucnN0CisrKyBiL0RvYy9yZWZlcmVuY2UvZXhwcmVzc2lvbnMucnN0CkBAIC04OTEsOCArODkxLDkgQEAKIG9wZXJhdG9ycyBhbmQgb25lIGZvciBhZGRpdGl2ZSBvcGVyYXRvcnM6CiAKIC4uIHByb2R1Y3Rpb25saXN0OjoKLSAgIG1fZXhwcjogYHVfZXhwcmAgfCBgbV9leHByYCAiKiIgYHVfZXhwcmAgfCBgbV9leHByYCAiLy8iIGB1X2V4cHJgIHwgYG1fZXhwcmAgIi8iIGB1X2V4cHJgCi0gICAgICAgICA6IHwgYG1fZXhwcmAgIiUiIGB1X2V4cHJgCisgICBtX2V4cHI6IGB1X2V4cHJgIHwgYG1fZXhwcmAgIioiIGB1X2V4cHJgIHwgYG1fZXhwcmAgIkAiIGBtX2V4cHJgIHwKKyAgICAgICAgIDogYG1fZXhwcmAgIi8vIiBgdV9leHByYHwgYG1fZXhwcmAgIi8iIGB1X2V4cHJgIHwKKyAgICAgICAgIDogYG1fZXhwcmAgIiUiIGB1X2V4cHJgCiAgICBhX2V4cHI6IGBtX2V4cHJgIHwgYGFfZXhwcmAgIisiIGBtX2V4cHJgIHwgYGFfZXhwcmAgIi0iIGBtX2V4cHJgCiAKIC4uIGluZGV4Ojogc2luZ2xlOiBtdWx0aXBsaWNhdGlvbgpAQCAtOTAzLDYgKzkwNCwxMyBAQAogY29tbW9uIHR5cGUgYW5kIHRoZW4gbXVsdGlwbGllZCB0b2dldGhlci4gIEluIHRoZSBsYXR0ZXIgY2FzZSwgc2VxdWVuY2UKIHJlcGV0aXRpb24gaXMgcGVyZm9ybWVkOyBhIG5lZ2F0aXZlIHJlcGV0aXRpb24gZmFjdG9yIHlpZWxkcyBhbiBlbXB0eSBzZXF1ZW5jZS4KIAorLi4gaW5kZXg6OiBzaW5nbGU6IG1hdHJpeCBtdWx0aXBsaWNhdGlvbgorCitUaGUgYGBAYGAgKGF0KSBvcGVyYXRvciBpcyBpbnRlbmRlZCB0byBiZSB1c2VkIGZvciBtYXRyaXggbXVsdGlwbGljYXRpb24uICBObworYnVpbHRpbiBQeXRob24gdHlwZXMgaW1wbGVtZW50IHRoaXMgb3BlcmF0b3IuCisKKy4uIHZlcnNpb25hZGRlZDo6IDMuNQorCiAuLiBpbmRleDo6CiAgICBleGNlcHRpb246IFplcm9EaXZpc2lvbkVycm9yCiAgICBzaW5nbGU6IGRpdmlzaW9uCkBAIC0xMzQ2LDggKzEzNTQsOSBAQAogKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCiB8IGBgK2BgLCBgYC1gYCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IEFkZGl0aW9uIGFuZCBzdWJ0cmFjdGlvbiAgICAgICAgICAgIHwKICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwotfCBgYCpgYCwgYGAvYGAsIGBgLy9gYCwgYGAlYGAgICAgICAgICAgICAgICAgICAgfCBNdWx0aXBsaWNhdGlvbiwgZGl2aXNpb24sIHJlbWFpbmRlciB8Ci18ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFsjXV8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKK3wgYGAqYGAsIGBgQGBgLCBgYC9gYCwgYGAvL2BgLCBgYCVgYCAgICAgICAgICAgIHwgTXVsdGlwbGljYXRpb24sIG1hdHJpeCAgICAgICAgICAgICAgfAorfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBtdWx0aXBsaWNhdGlvbiBkaXZpc2lvbiwgICAgICAgICAgICB8Cit8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IHJlbWFpbmRlciBbI11fICAgICAgICAgICAgICAgICAgICAgIHwKICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwogfCBgYCt4YGAsIGBgLXhgYCwgYGB+eGBgICAgICAgICAgICAgICAgICAgICAgICAgfCBQb3NpdGl2ZSwgbmVnYXRpdmUsIGJpdHdpc2UgTk9UICAgICB8CiArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKZGlmZiAtLWdpdCBhL0RvYy9yZWZlcmVuY2UvaW1wb3J0LnJzdCBiL0RvYy9yZWZlcmVuY2UvaW1wb3J0LnJzdAppbmRleCBlOWI3ZTUzLi4yZDYwZTYyIDEwMDY0NAotLS0gYS9Eb2MvcmVmZXJlbmNlL2ltcG9ydC5yc3QKKysrIGIvRG9jL3JlZmVyZW5jZS9pbXBvcnQucnN0CkBAIC0zMzksNiArMzM5LDcgQEAKIAogICAgIG1vZHVsZSA9IE5vbmUKICAgICBpZiBzcGVjLmxvYWRlciBpcyBub3QgTm9uZSBhbmQgaGFzYXR0cihzcGVjLmxvYWRlciwgJ2NyZWF0ZV9tb2R1bGUnKToKKyAgICAgICAgIyBJdCBpcyBhc3N1bWVkICdleGVjX21vZHVsZScgd2lsbCBhbHNvIGJlIGRlZmluZWQgb24gdGhlIGxvYWRlci4KICAgICAgICAgbW9kdWxlID0gc3BlYy5sb2FkZXIuY3JlYXRlX21vZHVsZShzcGVjKQogICAgIGlmIG1vZHVsZSBpcyBOb25lOgogICAgICAgICBtb2R1bGUgPSBNb2R1bGVUeXBlKHNwZWMubmFtZSkKQEAgLTQyNyw3ICs0MjgsNyBAQAogYnkgaW1wbGVtZW50aW5nIGEgOm1ldGg6YH5pbXBvcnRsaWIuYWJjLkxvYWRlci5jcmVhdGVfbW9kdWxlYCBtZXRob2QuCiBJdCB0YWtlcyBvbmUgYXJndW1lbnQsIHRoZSBtb2R1bGUgc3BlYywgYW5kIHJldHVybnMgdGhlIG5ldyBtb2R1bGUgb2JqZWN0CiB0byB1c2UgZHVyaW5nIGxvYWRpbmcuICBgYGNyZWF0ZV9tb2R1bGUoKWBgIGRvZXMgbm90IG5lZWQgdG8gc2V0IGFueSBhdHRyaWJ1dGVzCi1vbiB0aGUgbW9kdWxlIG9iamVjdC4gIElmIHRoZSBsb2FkZXIgZG9lcyBub3QgZGVmaW5lIGBgY3JlYXRlX21vZHVsZSgpYGAsIHRoZQorb24gdGhlIG1vZHVsZSBvYmplY3QuICBJZiB0aGUgbWV0aG9kIHJldHVybnMgYGBOb25lYGAsIHRoZQogaW1wb3J0IG1hY2hpbmVyeSB3aWxsIGNyZWF0ZSB0aGUgbmV3IG1vZHVsZSBpdHNlbGYuCiAKIC4uIHZlcnNpb25hZGRlZDo6IDMuNApAQCAtNDU5LDcgKzQ2MCwxMyBAQAogCiAgICAgKiBJZiBsb2FkaW5nIGZhaWxzLCB0aGUgbG9hZGVyIG11c3QgcmVtb3ZlIGFueSBtb2R1bGVzIGl0IGhhcyBpbnNlcnRlZAogICAgICAgaW50byA6ZGF0YTpgc3lzLm1vZHVsZXNgLCBidXQgaXQgbXVzdCByZW1vdmUgKipvbmx5KiogdGhlIGZhaWxpbmcKLSAgICAgIG1vZHVsZSwgYW5kIG9ubHkgaWYgdGhlIGxvYWRlciBpdHNlbGYgaGFzIGxvYWRlZCBpdCBleHBsaWNpdGx5LgorICAgICAgbW9kdWxlKHMpLCBhbmQgb25seSBpZiB0aGUgbG9hZGVyIGl0c2VsZiBoYXMgbG9hZGVkIHRoZSBtb2R1bGUocykKKyAgICAgIGV4cGxpY2l0bHkuCisKKy4uIHZlcnNpb25jaGFuZ2VkOjogMy41CisgICBBIDpleGM6YERlcHJlY2F0aW9uV2FybmluZ2AgaXMgcmFpc2VkIHdoZW4gYGBleGVjX21vZHVsZSgpYGAgaXMgZGVmaW5lZCBidXQKKyAgIGBgY3JlYXRlX21vZHVsZSgpYGAgaXMgbm90LiBTdGFydGluZyBpbiBQeXRob24gMy42IGl0IHdpbGwgYmUgYW4gZXJyb3IgdG8gbm90CisgICBkZWZpbmUgYGBjcmVhdGVfbW9kdWxlKClgYCBvbiBhIGxvYWRlciBhdHRhY2hlZCB0byBhIE1vZHVsZVNwZWMuCiAKIE1vZHVsZSBzcGVjCiAtLS0tLS0tLS0tLQpAQCAtNzUzLDYgKzc2MCwxNSBAQAogdG8gYXNrIHRoZSBmaW5kZXIgZm9yIGEgbW9kdWxlIHNwZWMsIHdoaWNoIGlzIHRoZW4gdXNlZCB3aGVuIGxvYWRpbmcgdGhlCiBtb2R1bGUuCiAKK1RoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5IC0tIGRlbm90ZWQgYnkgYW4gZW1wdHkgc3RyaW5nIC0tIGlzIGhhbmRsZWQKK3NsaWdodGx5IGRpZmZlcmVudGx5IGZyb20gb3RoZXIgZW50cmllcyBvbiA6ZGF0YTpgc3lzLnBhdGhgLiBGaXJzdCwgaWYgdGhlCitjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5IGlzIGZvdW5kIHRvIG5vdCBleGlzdCwgbm8gdmFsdWUgaXMgc3RvcmVkIGluCis6ZGF0YTpgc3lzLnBhdGhfaW1wb3J0ZXJfY2FjaGVgLiBTZWNvbmQsIHRoZSB2YWx1ZSBmb3IgdGhlIGN1cnJlbnQgd29ya2luZworZGlyZWN0b3J5IGlzIGxvb2tlZCB1cCBmcmVzaCBmb3IgZWFjaCBtb2R1bGUgbG9va3VwLiBUaGlyZCwgdGhlIHBhdGggdXNlZCBmb3IKKzpkYXRhOmBzeXMucGF0aF9pbXBvcnRlcl9jYWNoZWAgYW5kIHJldHVybmVkIGJ5Cis6bWV0aDpgaW1wb3J0bGliLm1hY2hpbmVyeS5QYXRoRmluZGVyLmZpbmRfc3BlY2Agd2lsbCBiZSB0aGUgYWN0dWFsIGN1cnJlbnQKK3dvcmtpbmcgZGlyZWN0b3J5IGFuZCBub3QgdGhlIGVtcHR5IHN0cmluZy4KKwogUGF0aCBlbnRyeSBmaW5kZXIgcHJvdG9jb2wKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKZGlmZiAtLWdpdCBhL0RvYy9yZWZlcmVuY2UvbGV4aWNhbF9hbmFseXNpcy5yc3QgYi9Eb2MvcmVmZXJlbmNlL2xleGljYWxfYW5hbHlzaXMucnN0CmluZGV4IDJiZjY2YjEuLmM2NzM3OTEgMTAwNjQ0Ci0tLSBhL0RvYy9yZWZlcmVuY2UvbGV4aWNhbF9hbmFseXNpcy5yc3QKKysrIGIvRG9jL3JlZmVyZW5jZS9sZXhpY2FsX2FuYWx5c2lzLnJzdApAQCAtMzExLDcgKzMxMSw3IEBACiAqICpOZCogLSBkZWNpbWFsIG51bWJlcnMKICogKlBjKiAtIGNvbm5lY3RvciBwdW5jdHVhdGlvbnMKICogKk90aGVyX0lEX1N0YXJ0KiAtIGV4cGxpY2l0IGxpc3Qgb2YgY2hhcmFjdGVycyBpbiBgUHJvcExpc3QudHh0Ci0gIDxodHRwOi8vd3d3LnVuaWNvZGUub3JnL1B1YmxpYy82LjMuMC91Y2QvUHJvcExpc3QudHh0PmBfIHRvIHN1cHBvcnQgYmFja3dhcmRzCisgIDxodHRwOi8vd3d3LnVuaWNvZGUub3JnL1B1YmxpYy83LjAuMC91Y2QvUHJvcExpc3QudHh0PmBfIHRvIHN1cHBvcnQgYmFja3dhcmRzCiAgIGNvbXBhdGliaWxpdHkKICogKk90aGVyX0lEX0NvbnRpbnVlKiAtIGxpa2V3aXNlCiAKQEAgLTY5MSw3ICs2OTEsNyBAQAogCiBUaGUgZm9sbG93aW5nIHRva2VucyBhcmUgb3BlcmF0b3JzOjoKIAotICAgKyAgICAgICAtICAgICAgICogICAgICAgKiogICAgICAvICAgICAgIC8vICAgICAgJQorICAgKyAgICAgICAtICAgICAgICogICAgICAgKiogICAgICAvICAgICAgIC8vICAgICAgJSAgICAgIEAKICAgIDw8ICAgICAgPj4gICAgICAmICAgICAgIHwgICAgICAgXiAgICAgICB+CiAgICA8ICAgICAgID4gICAgICAgPD0gICAgICA+PSAgICAgID09ICAgICAgIT0KIApAQCAtNzA3LDcgKzcwNyw3IEBACiAKICAgICggICAgICAgKSAgICAgICBbICAgICAgIF0gICAgICAgeyAgICAgICB9CiAgICAsICAgICAgIDogICAgICAgLiAgICAgICA7ICAgICAgIEAgICAgICAgPSAgICAgICAtPgotICAgKz0gICAgICAtPSAgICAgICo9ICAgICAgLz0gICAgICAvLz0gICAgICU9CisgICArPSAgICAgIC09ICAgICAgKj0gICAgICAvPSAgICAgIC8vPSAgICAgJT0gICAgICBAPQogICAgJj0gICAgICB8PSAgICAgIF49ICAgICAgPj49ICAgICA8PD0gICAgICoqPQogCiBUaGUgcGVyaW9kIGNhbiBhbHNvIG9jY3VyIGluIGZsb2F0aW5nLXBvaW50IGFuZCBpbWFnaW5hcnkgbGl0ZXJhbHMuICBBIHNlcXVlbmNlCkBAIC03MjgsNCArNzI4LDQgQEAKIAogLi4gcnVicmljOjogRm9vdG5vdGVzCiAKLS4uIFsjXSBodHRwOi8vd3d3LnVuaWNvZGUub3JnL1B1YmxpYy82LjMuMC91Y2QvTmFtZUFsaWFzZXMudHh0CisuLiBbI10gaHR0cDovL3d3dy51bmljb2RlLm9yZy9QdWJsaWMvNy4wLjAvdWNkL05hbWVBbGlhc2VzLnR4dApkaWZmIC0tZ2l0IGEvRG9jL3JlZmVyZW5jZS9zaW1wbGVfc3RtdHMucnN0IGIvRG9jL3JlZmVyZW5jZS9zaW1wbGVfc3RtdHMucnN0CmluZGV4IDg5NDZiNGYuLjVmNjA1NDAgMTAwNjQ0Ci0tLSBhL0RvYy9yZWZlcmVuY2Uvc2ltcGxlX3N0bXRzLnJzdAorKysgYi9Eb2MvcmVmZXJlbmNlL3NpbXBsZV9zdG10cy5yc3QKQEAgLTI4MSw3ICsyODEsNyBAQAogLi4gcHJvZHVjdGlvbmxpc3Q6OgogICAgYXVnbWVudGVkX2Fzc2lnbm1lbnRfc3RtdDogYGF1Z3RhcmdldGAgYGF1Z29wYCAoYGV4cHJlc3Npb25fbGlzdGAgfCBgeWllbGRfZXhwcmVzc2lvbmApCiAgICBhdWd0YXJnZXQ6IGBpZGVudGlmaWVyYCB8IGBhdHRyaWJ1dGVyZWZgIHwgYHN1YnNjcmlwdGlvbmAgfCBgc2xpY2luZ2AKLSAgIGF1Z29wOiAiKz0iIHwgIi09IiB8ICIqPSIgfCAiLz0iIHwgIi8vPSIgfCAiJT0iIHwgIioqPSIKKyAgIGF1Z29wOiAiKz0iIHwgIi09IiB8ICIqPSIgfCAiQD0iIHwgIi89IiB8ICIvLz0iIHwgIiU9IiB8ICIqKj0iCiAgICAgICAgIDogfCAiPj49IiB8ICI8PD0iIHwgIiY9IiB8ICJePSIgfCAifD0iCiAKIChTZWUgc2VjdGlvbiA6cmVmOmBwcmltYXJpZXNgIGZvciB0aGUgc3ludGF4IGRlZmluaXRpb25zIG9mIHRoZSBsYXN0IHRocmVlCmRpZmYgLS1naXQgYS9Eb2MvdG9vbHMvZXh0ZW5zaW9ucy9weXNwZWNpZmljLnB5IGIvRG9jL3Rvb2xzL2V4dGVuc2lvbnMvcHlzcGVjaWZpYy5weQppbmRleCA2NGE1NjY1Li45Yjc4MTg0IDEwMDY0NAotLS0gYS9Eb2MvdG9vbHMvZXh0ZW5zaW9ucy9weXNwZWNpZmljLnB5CisrKyBiL0RvYy90b29scy9leHRlbnNpb25zL3B5c3BlY2lmaWMucHkKQEAgLTM0LDcgKzM0LDcgQEAKIAogCiBJU1NVRV9VUkkgPSAnaHR0cHM6Ly9idWdzLnB5dGhvbi5vcmcvaXNzdWUlcycKLVNPVVJDRV9VUkkgPSAnaHR0cHM6Ly9oZy5weXRob24ub3JnL2NweXRob24vZmlsZS8zLjQvJXMnCitTT1VSQ0VfVVJJID0gJ2h0dHBzOi8vaGcucHl0aG9uLm9yZy9jcHl0aG9uL2ZpbGUvZGVmYXVsdC8lcycKIAogIyBtb25rZXktcGF0Y2ggcmVTVCBwYXJzZXIgdG8gZGlzYWJsZSBhbHBoYWJldGljIGFuZCByb21hbiBlbnVtZXJhdGVkIGxpc3RzCiBmcm9tIGRvY3V0aWxzLnBhcnNlcnMucnN0LnN0YXRlcyBpbXBvcnQgQm9keQpkaWZmIC0tZ2l0IGEvRG9jL3Rvb2xzL3N1c3AtaWdub3JlZC5jc3YgYi9Eb2MvdG9vbHMvc3VzcC1pZ25vcmVkLmNzdgppbmRleCA0ODY1M2FmOC4uOTg1NmFmZCAxMDA2NDQKLS0tIGEvRG9jL3Rvb2xzL3N1c3AtaWdub3JlZC5jc3YKKysrIGIvRG9jL3Rvb2xzL3N1c3AtaWdub3JlZC5jc3YKQEAgLTEyMiw2ICsxMjIsOCBAQAogbGlicmFyeS9pcGFkZHJlc3MsLDo6LD4+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+YzpcUHl0aG9uMzVccHl0aG9uIC1tIHZlbnYgbXllbnYKIAogVGhlIGNvbW1hbmQsIGlmIHJ1biB3aXRoIGBgLWhgYCwgd2lsbCBzaG93IHRoZSBhdmFpbGFibGUgb3B0aW9uczo6CiAKZGlmZiAtLWdpdCBhL0RvYy91c2luZy93aW5faW5zdGFsbGVyLnBuZyBiL0RvYy91c2luZy93aW5faW5zdGFsbGVyLnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40Njk2YmIyCi0tLSAvZGV2L251bGwKKysrIGIvRG9jL3VzaW5nL3dpbl9pbnN0YWxsZXIucG5nCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL0RvYy91c2luZy93aW5kb3dzLnJzdCBiL0RvYy91c2luZy93aW5kb3dzLnJzdAppbmRleCBjMDVmNzJhLi5mMTk0ODAyIDEwMDY0NAotLS0gYS9Eb2MvdXNpbmcvd2luZG93cy5yc3QKKysrIGIvRG9jL3VzaW5nL3dpbmRvd3MucnN0CkBAIC03LDYgKzcsNyBAQAogKioqKioqKioqKioqKioqKioqKioqKioqKgogCiAuLiBzZWN0aW9uYXV0aG9yOjogUm9iZXJ0IExlaG1hbm4gPGxlaG1hbm5yb0BnbWFpbC5jb20+CisuLiBzZWN0aW9uYXV0aG9yOjogU3RldmUgRG93ZXIgPHN0ZXZlLmRvd2VyQG1pY3Jvc29mdC5jb20+CiAKIFRoaXMgZG9jdW1lbnQgYWltcyB0byBnaXZlIGFuIG92ZXJ2aWV3IG9mIFdpbmRvd3Mtc3BlY2lmaWMgYmVoYXZpb3VyIHlvdSBzaG91bGQKIGtub3cgYWJvdXQgd2hlbiB1c2luZyBQeXRob24gb24gTWljcm9zb2Z0IFdpbmRvd3MuCkBAIC0xOSwxMCArMjAsMTcyIEBACiBJbnN0YWxsaW5nIFB5dGhvbgogPT09PT09PT09PT09PT09PT0KIAotVW5saWtlIG1vc3QgVW5peCBzeXN0ZW1zIGFuZCBzZXJ2aWNlcywgV2luZG93cyBkb2VzIG5vdCByZXF1aXJlIFB5dGhvbiBuYXRpdmVseQotYW5kIHRodXMgZG9lcyBub3QgcHJlLWluc3RhbGwgYSB2ZXJzaW9uIG9mIFB5dGhvbi4gIEhvd2V2ZXIsIHRoZSBDUHl0aG9uIHRlYW0KK1VubGlrZSBtb3N0IFVuaXggc3lzdGVtcyBhbmQgc2VydmljZXMsIFdpbmRvd3MgZG9lcyBub3QgaW5jbHVkZSBhIHN5c3RlbQorc3VwcG9ydGVkIGluc3RhbGxhdGlvbiBvZiBQeXRob24uIFRvIG1ha2UgUHl0aG9uIGF2YWlsYWJsZSwgdGhlIENQeXRob24gdGVhbQogaGFzIGNvbXBpbGVkIFdpbmRvd3MgaW5zdGFsbGVycyAoTVNJIHBhY2thZ2VzKSB3aXRoIGV2ZXJ5IGByZWxlYXNlCi08aHR0cHM6Ly93d3cucHl0aG9uLm9yZy9kb3dubG9hZC9yZWxlYXNlcy8+YF8gZm9yIG1hbnkgeWVhcnMuCis8aHR0cHM6Ly93d3cucHl0aG9uLm9yZy9kb3dubG9hZC9yZWxlYXNlcy8+YF8gZm9yIG1hbnkgeWVhcnMuIFRoZXNlIGluc3RhbGxlcnMKK2FyZSBwcmltYXJpbHkgaW50ZW5kZWQgdG8gYWRkIGEgc3lzdGVtLXdpZGUgaW5zdGFsbGF0aW9uIG9mIFB5dGhvbiwgd2l0aCB0aGUKK2NvcmUgaW50ZXJwcmV0ZXIgYW5kIGxpYnJhcnkgYmVpbmcgc2hhcmVkIGJ5IGFsbCBhcHBsaWNhdGlvbi4gTm9uLXNoYXJlZAorbGF5b3V0cyBvZiB0aGUgUHl0aG9uIGludGVycHJldGVyIG1heSBhbHNvIGJlIGNyZWF0ZWQgd2l0aCB0aGUgc2FtZSBpbnN0YWxsZXIsCitob3dldmVyLCB0aGUgcmVsZWFzZWQgaW5zdGFsbGVyIGlzIG5vdCBpbnRlbmRlZCBmb3IgZW1iZWRkaW5nIGluIG90aGVyCitpbnN0YWxsZXJzLgorCitJbnN0YWxsYXRpb24gU3RlcHMKKy0tLS0tLS0tLS0tLS0tLS0tLQorCitGb3VyIFB5dGhvbiAzLjUgaW5zdGFsbGVycyBhcmUgYXZhaWxhYmxlIGZvciBkb3dubG9hZCAtIHR3byBlYWNoIGZvciB0aGUgMzItYml0CithbmQgNjQtYml0IHZlcnNpb25zIG9mIHRoZSBpbnRlcnByZXRlci4gVGhlICp3ZWIgaW5zdGFsbGVyKiBpcyBhIHNtYWxsIGluaXRpYWwKK2Rvd25sb2FkLCBhbmQgaXQgd2lsbCBhdXRvbWF0aWNhbGx5IGRvd25sb2FkIHRoZSByZXF1aXJlZCBjb21wb25lbnRzIGFzCituZWNlc3NhcnkuIFRoZSAqb2ZmbGluZSBpbnN0YWxsZXIqIGluY2x1ZGVzIHRoZSBjb21wb25lbnRzIG5lY2Vzc2FyeSBmb3IgYQorZGVmYXVsdCBpbnN0YWxsYXRpb24gYW5kIG9ubHkgcmVxdWlyZXMgYW4gaW50ZXJuZXQgY29ubmVjdGlvbiBmb3Igb3B0aW9uYWwKK2ZlYXR1cmVzLiBTZWUgOnJlZjpgaW5zdGFsbC1sYXlvdXQtb3B0aW9uYCBmb3Igb3RoZXIgd2F5cyB0byBhdm9pZCBkb3dubG9hZGluZworZHVyaW5nIGluc3RhbGxhdGlvbi4KKworQWZ0ZXIgc3RhcnRpbmcgdGhlIGluc3RhbGxlciwgb25lIG9mIHRocmVlIG9wdGlvbnMgbWF5IGJlIHNlbGVjdGVkOgorCisuLiBpbWFnZTo6IHdpbl9pbnN0YWxsZXIucG5nCisKK0lmIHlvdSBzZWxlY3QgIkluc3RhbGwgZm9yIEFsbCBVc2VycyI6CisKKyogWW91IG1heSBiZSByZXF1aXJlZCB0byBwcm92aWRlIGFkbWluaXN0cmF0aXZlIGNyZWRlbnRpYWxzIG9yIGFwcHJvdmFsCisqIFB5dGhvbiB3aWxsIGJlIGluc3RhbGxlZCBpbnRvIHlvdXIgUHJvZ3JhbSBGaWxlcyBkaXJlY3RvcnkKKyogVGhlIDpyZWY6YGxhdW5jaGVyYCB3aWxsIGJlIGluc3RhbGxlZCBpbnRvIHlvdXIgV2luZG93cyBkaXJlY3RvcnkKKyogVGhlIHN0YW5kYXJkIGxpYnJhcnksIHRlc3Qgc3VpdGUsIGxhdW5jaGVyIGFuZCBwaXAgd2lsbCBiZSBpbnN0YWxsZWQKKyogQWZ0ZXIgaW5zdGFsbGF0aW9uLCB0aGUgc3RhbmRhcmQgbGlicmFyeSB3aWxsIGJlIHByZS1jb21waWxlZCB0byBieXRlY29kZQorKiBJZiBzZWxlY3RlZCwgdGhlIGluc3RhbGwgZGlyZWN0b3J5IHdpbGwgYmUgYWRkZWQgdG8gOmVudnZhcjpgUEFUSGAKKworSWYgeW91IHNlbGVjdCAiSW5zdGFsbCBKdXN0IGZvciBNZSI6CisKKyogWW91IHdpbGwgKm5vdCogbmVlZCB0byBiZSBhbiBhZG1pbmlzdHJhdG9yCisqIFB5dGhvbiB3aWxsIGJlIGluc3RhbGxlZCBpbnRvIHlvdXIgdXNlciBkaXJlY3RvcnkKKyogVGhlIDpyZWY6YGxhdW5jaGVyYCB3aWxsICphbHNvKiBiZSBpbnN0YWxsZWQgaW50byB5b3VyIHVzZXIgZGlyZWN0b3J5CisqIFRoZSBzdGFuZGFyZCBsaWJyYXJ5LCB0ZXN0IHN1aXRlLCBsYXVuY2hlciBhbmQgcGlwIHdpbGwgYmUgaW5zdGFsbGVkCisqIElmIHNlbGVjdGVkLCB0aGUgaW5zdGFsbCBkaXJlY3Rvcnkgd2lsbCBiZSBhZGRlZCB0byA6ZW52dmFyOmBQQVRIYAorCitTZWxlY3RpbmcgIkN1c3RvbWl6ZSBpbnN0YWxsYXRpb24iIHdpbGwgYWxsb3cgeW91IHRvIHNlbGVjdCB0aGUgZmVhdHVyZXMgdG8KK2luc3RhbGwsIHRoZSBpbnN0YWxsYXRpb24gbG9jYXRpb24gYW5kIG90aGVyIG9wdGlvbnMgb3IgcG9zdC1pbnN0YWxsIGFjdGlvbnMuCitUbyBpbnN0YWxsIGRlYnVnZ2luZyBzeW1ib2xzIG9yIGJpbmFyaWVzLCB5b3Ugd2lsbCBuZWVkIHRvIHVzZSB0aGlzIG9wdGlvbi4KKworLi4gX2luc3RhbGwtcXVpZXQtb3B0aW9uOgorCitJbnN0YWxsaW5nIFdpdGhvdXQgVUkKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitBbGwgb2YgdGhlIG9wdGlvbnMgYXZhaWxhYmxlIGluIHRoZSBpbnN0YWxsZXIgVUkgY2FuIGFsc28gYmUgc3BlY2lmaWVkIGZyb20gdGhlCitjb21tYW5kIGxpbmUsIGFsbG93aW5nIHNjcmlwdGVkIGluc3RhbGxlcnMgdG8gcmVwbGljYXRlIGFuIGluc3RhbGxhdGlvbiBvbiBtYW55CittYWNoaW5lcyB3aXRob3V0IHVzZXIgaW50ZXJhY3Rpb24uICBUaGVzZSBvcHRpb25zIG1heSBhbHNvIGJlIHNldCB3aXRob3V0CitzdXBwcmVzc2luZyB0aGUgVUkgaW4gb3JkZXIgdG8gY2hhbmdlIHNvbWUgb2YgdGhlIGRlZmF1bHRzLgorCitUbyBjb21wbGV0ZWx5IGhpZGUgdGhlIGluc3RhbGxlciBVSSBhbmQgaW5zdGFsbCBQeXRob24gc2lsZW50bHksIHBhc3MgdGhlCitgYC9xdWlldGBgIChgYC9xYGApIG9wdGlvbi4gVG8gc2tpcCBwYXN0IHRoZSB1c2VyIGludGVyYWN0aW9uIGJ1dCBzdGlsbCBkaXNwbGF5Citwcm9ncmVzcyBhbmQgZXJyb3JzLCBwYXNzIHRoZSBgYC9wYXNzaXZlYGAgKGBgL3BgYCkgb3B0aW9uLiBUaGUgYGAvdW5pbnN0YWxsYGAKK29wdGlvbiBtYXkgYmUgcGFzc2VkIHRvIGltbWVkaWF0ZWx5IGJlZ2luIHJlbW92aW5nIFB5dGhvbiAtIG5vIHByb21wdCB3aWxsIGJlCitkaXNwbGF5ZWQuCisKK0FsbCBvdGhlciBvcHRpb25zIGFyZSBwYXNzZWQgYXMgYGBuYW1lPXZhbHVlYGAsIHdoZXJlIHRoZSB2YWx1ZSBpcyB1c3VhbGx5CitgYDBgYCB0byBkaXNhYmxlIGEgZmVhdHVyZSwgYGAxYGAgdG8gZW5hYmxlIGEgZmVhdHVyZSwgb3IgYSBwYXRoLiBUaGUgZnVsbCBsaXN0CitvZiBhdmFpbGFibGUgb3B0aW9ucyBpcyBzaG93biBiZWxvdy4KKworKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKK3wgTmFtZSAgICAgICAgICAgICAgICAgICAgICB8IERlc2NyaXB0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICB8IERlZmF1bHQgICAgICAgICAgICAgICAgICB8CisrPT09PT09PT09PT09PT09PT09PT09PT09PT09Kz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Kz09PT09PT09PT09PT09PT09PT09PT09PT09KworfCBJbnN0YWxsQWxsVXNlcnMgICAgICAgICAgIHwgUGVyZm9ybSBhIHN5c3RlbS13aWRlIGluc3RhbGxhdGlvbi4gIHwgMSAgICAgICAgICAgICAgICAgICAgICAgIHwKKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCit8IFRhcmdldERpciAgICAgICAgICAgICAgICAgfCBUaGUgaW5zdGFsbGF0aW9uIGRpcmVjdG9yeSAgICAgICAgICAgfCBTZWxlY3RlZCBiYXNlZCBvbiAgICAgICAgfAorfCAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgSW5zdGFsbEFsbFVzZXJzICAgICAgICAgIHwKKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCit8IERlZmF1bHRBbGxVc2Vyc1RhcmdldERpciAgfCBUaGUgZGVmYXVsdCBpbnN0YWxsYXRpb24gZGlyZWN0b3J5ICAgfCA6ZmlsZTpgJVByb2dyYW1GaWxlcyVcXFwgfAorfCAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgZm9yIGFsbC11c2VyIGluc3RhbGxzICAgICAgICAgICAgICAgIHwgUHl0aG9uIFguWWAgb3IgOmZpbGU6YFwgIHwKK3wgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICVQcm9ncmFtRmlsZXMoeDg2KSVcXFwgICB8Cit8ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBQeXRob24gWC5ZYCAgICAgICAgICAgICAgfAorKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKK3wgRGVmYXVsdEp1c3RGb3JNZVRhcmdldERpciB8IFRoZSBkZWZhdWx0IGluc3RhbGwgZGlyZWN0b3J5IGZvciAgICB8IDpmaWxlOmAlTG9jYWxBcHBEYXRhJVxcXCB8Cit8ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBqdXN0LWZvci1tZSBpbnN0YWxscyAgICAgICAgICAgICAgICAgfCBQcm9ncmFtc1xcUHl0aG9uWFlgIG9yICAgfAorfCAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgOmZpbGU6YCVMb2NhbEFwcERhdGElXFxcIHwKK3wgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFByb2dyYW1zXFxQeXRob25YWS0zMmAgICB8CisrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworfCBEZWZhdWx0Q3VzdG9tVGFyZ2V0RGlyICAgIHwgVGhlIGRlZmF1bHQgY3VzdG9tIGluc3RhbGwgZGlyZWN0b3J5IHwgKGVtcHR5KSAgICAgICAgICAgICAgICAgIHwKK3wgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGRpc3BsYXllZCBpbiB0aGUgVUkgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICB8CisrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworfCBBc3NvY2lhdGVGaWxlcyAgICAgICAgICAgIHwgQ3JlYXRlIGZpbGUgYXNzb2NpYXRpb25zIGlmIHRoZSAgICAgIHwgMSAgICAgICAgICAgICAgICAgICAgICAgIHwKK3wgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGxhdW5jaGVyIGlzIGFsc28gaW5zdGFsbGVkLiAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICB8CisrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworfCBDb21waWxlQWxsICAgICAgICAgICAgICAgIHwgQ29tcGlsZSBhbGwgYGAucHlgYCBmaWxlcyB0byAgICAgICAgIHwgMCAgICAgICAgICAgICAgICAgICAgICAgIHwKK3wgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGBgLnB5Y2BgIGFuZCBgYC5weW9gYC4gICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICB8CisrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworfCBQcmVwZW5kUGF0aCAgICAgICAgICAgICAgIHwgQWRkIGluc3RhbGwgYW5kIFNjcmlwdHMgZGlyZWN0b3JpZXMgIHwgMCAgICAgICAgICAgICAgICAgICAgICAgIHwKK3wgICAgICAgICAgICAgICAgICAgICAgICAgICB8IHRobyA6ZW52dmFyOmBQQVRIYCBhbmQgYGAuUFlgYCB0byAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICB8Cit8ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCA6ZW52dmFyOmBQQVRIRVhUYCAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgfAorKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKK3wgSW5jbHVkZV9kb2MgICAgICAgICAgICAgICB8IEluc3RhbGwgUHl0aG9uIG1hbnVhbCAgICAgICAgICAgICAgICB8IDEgICAgICAgICAgICAgICAgICAgICAgICB8CisrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworfCBJbmNsdWRlX2RlYnVnICAgICAgICAgICAgIHwgSW5zdGFsbCBkZWJ1ZyBiaW5hcmllcyAgICAgICAgICAgICAgIHwgMCAgICAgICAgICAgICAgICAgICAgICAgIHwKKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCit8IEluY2x1ZGVfZGV2ICAgICAgICAgICAgICAgfCBJbnN0YWxsIGRldmVsb3BlciBoZWFkZXJzIGFuZCAgICAgICAgfCAxICAgICAgICAgICAgICAgICAgICAgICAgfAorfCAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgbGlicmFyaWVzICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCit8IEluY2x1ZGVfZXhlICAgICAgICAgICAgICAgfCBJbnN0YWxsIDpmaWxlOmBweXRob24uZXhlYCBhbmQgICAgICAgfCAxICAgICAgICAgICAgICAgICAgICAgICAgfAorfCAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgcmVsYXRlZCBmaWxlcyAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCit8IEluY2x1ZGVfbGF1bmNoZXIgICAgICAgICAgfCBJbnN0YWxsIDpyZWY6YGxhdW5jaGVyYC4gICAgICAgICAgICAgfCAxICAgICAgICAgICAgICAgICAgICAgICAgfAorKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKK3wgSW5jbHVkZV9saWIgICAgICAgICAgICAgICB8IEluc3RhbGwgc3RhbmRhcmQgbGlicmFyeSBhbmQgICAgICAgICB8IDEgICAgICAgICAgICAgICAgICAgICAgICB8Cit8ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBleHRlbnNpb24gbW9kdWxlcyAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgfAorKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKK3wgSW5jbHVkZV9waXAgICAgICAgICAgICAgICB8IEluc3RhbGwgYnVuZGxlZCBwaXAgYW5kIHNldHVwdG9vbHMgICB8IDEgICAgICAgICAgICAgICAgICAgICAgICB8CisrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworfCBJbmNsdWRlX3N5bWJvbHMgICAgICAgICAgIHwgSW5zdGFsbCBkZWJ1Z2dpbmcgc3ltYm9scyAoYCpgLnBkYikgIHwgMCAgICAgICAgICAgICAgICAgICAgICAgIHwKKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCit8IEluY2x1ZGVfdGNsdGsgICAgICAgICAgICAgfCBJbnN0YWxsIFRjbC9UayBzdXBwb3J0IGFuZCBJRExFICAgICAgfCAxICAgICAgICAgICAgICAgICAgICAgICAgfAorKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKK3wgSW5jbHVkZV90ZXN0ICAgICAgICAgICAgICB8IEluc3RhbGwgc3RhbmRhcmQgbGlicmFyeSB0ZXN0IHN1aXRlICB8IDEgICAgICAgICAgICAgICAgICAgICAgICB8CisrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworfCBJbmNsdWRlX3Rvb2xzICAgICAgICAgICAgIHwgSW5zdGFsbCB1dGlsaXR5IHNjcmlwdHMgICAgICAgICAgICAgIHwgMSAgICAgICAgICAgICAgICAgICAgICAgIHwKKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCit8IFNpbXBsZUluc3RhbGwgICAgICAgICAgICAgfCBEaXNhYmxlIG1vc3QgaW5zdGFsbCBVSSAgICAgICAgICAgICAgfCAwICAgICAgICAgICAgICAgICAgICAgICAgfAorKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKKworRm9yIGV4YW1wbGUsIHRvIHNpbGVudGx5IGluc3RhbGwgYSBkZWZhdWx0LCBzeXN0ZW0td2lkZSBQeXRob24gaW5zdGFsbGF0aW9uLAoreW91IGNvdWxkIHVzZSB0aGUgZm9sbG93aW5nIGNvbW1hbmQgKGZyb20gYW4gZWxldmF0ZWQgY29tbWFuZCBwcm9tcHQpOjoKKworICAgIHB5dGhvbi0zLjUuMC5leGUgL3F1aWV0IEluc3RhbGxBbGxVc2Vycz0xIFByZXBlbmRQYXRoPTEgSW5jbHVkZV90ZXN0PTAKKworVG8gYWxsb3cgdXNlcnMgdG8gZWFzaWx5IGluc3RhbGwgYSBwZXJzb25hbCBjb3B5IG9mIFB5dGhvbiB3aXRob3V0IHRoZSB0ZXN0CitzdWl0ZSwgeW91IGNvdWxkIHByb3ZpZGUgYSBzaG9ydGN1dCB3aXRoIHRoZSBmb2xsb3dpbmcgY29tbWFuZDo6CisKKyAgICBweXRob24tMy41LjAuZXhlIC9wYXNzaXZlIEluc3RhbGxBbGxVc2Vycz0wIEluY2x1ZGVfbGF1bmNoZXI9MCBJbmNsdWRlX3Rlc3Q9MCBTaW1wbGVJbnN0YWxsPTEKKworKE5vdGUgdGhhdCBvbWl0dGluZyB0aGUgbGF1bmNoZXIgYWxzbyBvbWl0cyBmaWxlIGFzc29jaWF0aW9ucywgYW5kIGlzIG9ubHkKK3JlY29tbWVuZGVkIGZvciBwZXItdXNlciBpbnN0YWxscyB3aGVuIHRoZXJlIGlzIGFsc28gYSBzeXN0ZW0td2lkZSBpbnN0YWxsYXRpb24KK3RoYXQgaW5jbHVkZWQgdGhlIGxhdW5jaGVyLikKKworLi4gX2luc3RhbGwtbGF5b3V0LW9wdGlvbjoKKworSW5zdGFsbGluZyBXaXRob3V0IERvd25sb2FkaW5nCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworQXMgc29tZSBmZWF0dXJlcyBvZiBQeXRob24gYXJlIG5vdCBpbmNsdWRlZCBpbiB0aGUgaW5pdGlhbCBpbnN0YWxsZXIgZG93bmxvYWQsCitzZWxlY3RpbmcgdGhvc2UgZmVhdHVyZXMgbWF5IHJlcXVpcmUgYW4gaW50ZXJuZXQgY29ubmVjdGlvbi4gIFRvIGF2b2lkIHRoaXMKK25lZWQsIGFsbCBwb3NzaWJsZSBjb21wb25lbnRzIG1heSBiZSBkb3dubG9hZGVkIG9uLWRlbWFuZCB0byBjcmVhdGUgYSBjb21wbGV0ZQorKmxheW91dCogdGhhdCB3aWxsIG5vIGxvbmdlciByZXF1aXJlIGFuIGludGVybmV0IGNvbm5lY3Rpb24gcmVnYXJkbGVzcyBvZiB0aGUKK3NlbGVjdGVkIGZlYXR1cmVzLiBOb3RlIHRoYXQgdGhpcyBkb3dubG9hZCBtYXkgYmUgYmlnZ2VyIHRoYW4gcmVxdWlyZWQsIGJ1dAord2hlcmUgYSBsYXJnZSBudW1iZXIgb2YgaW5zdGFsbGF0aW9ucyBhcmUgZ29pbmcgdG8gYmUgcGVyZm9ybWVkIGl0IGlzIHZlcnkKK3VzZWZ1bCB0byBoYXZlIGEgbG9jYWxseSBjYWNoZWQgY29weS4KKworRXhlY3V0ZSB0aGUgZm9sbG93aW5nIGNvbW1hbmQgZnJvbSBDb21tYW5kIFByb21wdCB0byBkb3dubG9hZCBhbGwgcG9zc2libGUKK3JlcXVpcmVkIGZpbGVzLiAgUmVtZW1iZXIgdG8gc3Vic3RpdHV0ZSBgYHB5dGhvbi0zLjUuMC5leGVgYCBmb3IgdGhlIGFjdHVhbAorbmFtZSBvZiB5b3VyIGluc3RhbGxlciwgYW5kIHRvIGNyZWF0ZSBsYXlvdXRzIGluIHRoZWlyIG93biBkaXJlY3RvcmllcyB0bworYXZvaWQgY29sbGlzaW9ucyBiZXR3ZWVuIGZpbGVzIHdpdGggdGhlIHNhbWUgbmFtZS4KKworOjoKKworICAgIHB5dGhvbi0zLjUuMC5leGUgL2xheW91dCBbb3B0aW9uYWwgdGFyZ2V0IGRpcmVjdG9yeV0KKworWW91IG1heSBhbHNvIHNwZWNpZnkgdGhlIGBgL3F1aWV0YGAgb3B0aW9uIHRvIGhpZGUgdGhlIHByb2dyZXNzIGRpc3BsYXkuCisKKworT3RoZXIgUGxhdGZvcm1zCistLS0tLS0tLS0tLS0tLS0KIAogV2l0aCBvbmdvaW5nIGRldmVsb3BtZW50IG9mIFB5dGhvbiwgc29tZSBwbGF0Zm9ybXMgdGhhdCB1c2VkIHRvIGJlIHN1cHBvcnRlZAogZWFybGllciBhcmUgbm8gbG9uZ2VyIHN1cHBvcnRlZCAoZHVlIHRvIHRoZSBsYWNrIG9mIHVzZXJzIG9yIGRldmVsb3BlcnMpLgpAQCAtNjYsMTkgKzIyOSwzMSBAQAogYEFjdGl2ZVB5dGhvbiA8aHR0cDovL3d3dy5hY3RpdmVzdGF0ZS5jb20vYWN0aXZlcHl0aG9uLz5gXwogICAgIEluc3RhbGxlciB3aXRoIG11bHRpLXBsYXRmb3JtIGNvbXBhdGliaWxpdHksIGRvY3VtZW50YXRpb24sIFB5V2luMzIKIAotYEVudGhvdWdodCBQeXRob24gRGlzdHJpYnV0aW9uIDxodHRwczovL3d3dy5lbnRob3VnaHQuY29tL3Byb2R1Y3RzL2VwZC8+YF8KLSAgICBQb3B1bGFyIG1vZHVsZXMgKHN1Y2ggYXMgUHlXaW4zMikgd2l0aCB0aGVpciByZXNwZWN0aXZlIGRvY3VtZW50YXRpb24sIHRvb2wKLSAgICBzdWl0ZSBmb3IgYnVpbGRpbmcgZXh0ZW5zaWJsZSBQeXRob24gYXBwbGljYXRpb25zCitgQW5hY29uZGEgPGh0dHA6Ly93d3cuY29udGludXVtLmlvL2Rvd25sb2Fkcy8+YF8KKyAgICBQb3B1bGFyIHNjaWVudGlmaWMgbW9kdWxlcyAoc3VjaCBhcyBudW1weSwgc2NpcHkgYW5kIHBhbmRhcykgYW5kIHRoZQorICAgIGBgY29uZGFgYCBwYWNrYWdlIG1hbmFnZXIuCiAKLU5vdGljZSB0aGF0IHRoZXNlIHBhY2thZ2VzIGFyZSBsaWtlbHkgdG8gaW5zdGFsbCAqb2xkZXIqIHZlcnNpb25zIG9mIFB5dGhvbi4KK2BDYW5vcHkgPGh0dHBzOi8vd3d3LmVudGhvdWdodC5jb20vcHJvZHVjdHMvY2Fub3B5Lz5gXworICAgIEEgImNvbXByZWhlbnNpdmUgUHl0aG9uIGFuYWx5c2lzIGVudmlyb25tZW50IiB3aXRoIGVkaXRvcnMgYW5kIG90aGVyCisgICAgZGV2ZWxvcG1lbnQgdG9vbHMuCisKK2BXaW5QeXRob24gPGh0dHBzOi8vd2lucHl0aG9uLmdpdGh1Yi5pby8+YF8KKyAgICBXaW5kb3dzLXNwZWNpZmljIGRpc3RyaWJ1dGlvbiB3aXRoIHByZWJ1aWx0IHNjaWVudGlmaWMgcGFja2FnZXMgYW5kCisgICAgdG9vbHMgZm9yIGJ1aWxkaW5nIHBhY2thZ2VzLgorCitOb3RlIHRoYXQgdGhlc2UgcGFja2FnZXMgbWF5IG5vdCBpbmNsdWRlIHRoZSBsYXRlc3QgdmVyc2lvbnMgb2YgUHl0aG9uIG9yCitvdGhlciBsaWJyYXJpZXMsIGFuZCBhcmUgbm90IG1haW50YWluZWQgb3Igc3VwcG9ydGVkIGJ5IHRoZSBjb3JlIFB5dGhvbiB0ZWFtLgogCiAKIAogQ29uZmlndXJpbmcgUHl0aG9uCiA9PT09PT09PT09PT09PT09PT0KIAotSW4gb3JkZXIgdG8gcnVuIFB5dGhvbiBmbGF3bGVzc2x5LCB5b3UgbWlnaHQgaGF2ZSB0byBjaGFuZ2UgY2VydGFpbiBlbnZpcm9ubWVudAotc2V0dGluZ3MgaW4gV2luZG93cy4KK1RvIHJ1biBQeXRob24gY29udmVuaWVudGx5IGZyb20gYSBjb21tYW5kIHByb21wdCwgeW91IG1pZ2h0IGNvbnNpZGVyIGNoYW5naW5nCitzb21lIGRlZmF1bHQgZW52aXJvbm1lbnQgdmFyaWFibGVzIGluIFdpbmRvd3MuICBXaGlsZSB0aGUgaW5zdGFsbGVyIHByb3ZpZGVzIGFuCitvcHRpb24gdG8gY29uZmlndXJlIHRoZSBQQVRIIGFuZCBQQVRIRVhUIHZhcmlhYmxlcyBmb3IgeW91LCB0aGlzIGlzIG9ubHkKK3JlbGlhYmxlIGZvciBhIHNpbmdsZSwgc3lzdGVtLXdpZGUgaW5zdGFsbGF0aW9uLiAgSWYgeW91IHJlZ3VsYXJseSB1c2UgbXVsdGlwbGUKK3ZlcnNpb25zIG9mIFB5dGhvbiwgY29uc2lkZXIgdXNpbmcgdGhlIDpyZWY6YGxhdW5jaGVyYC4KIAogCiAuLiBfc2V0dGluZy1lbnZ2YXJzOgpAQCAtODYsMTYzICsyNjEsODYgQEAKIEV4Y3Vyc3VzOiBTZXR0aW5nIGVudmlyb25tZW50IHZhcmlhYmxlcwogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKLVdpbmRvd3MgaGFzIGEgYnVpbHQtaW4gZGlhbG9nIGZvciBjaGFuZ2luZyBlbnZpcm9ubWVudCB2YXJpYWJsZXMgKGZvbGxvd2luZwotZ3VpZGUgYXBwbGllcyB0byBYUCBjbGFzc2ljYWwgdmlldyk6IFJpZ2h0LWNsaWNrIHRoZSBpY29uIGZvciB5b3VyIG1hY2hpbmUKLSh1c3VhbGx5IGxvY2F0ZWQgb24geW91ciBEZXNrdG9wIGFuZCBjYWxsZWQgIk15IENvbXB1dGVyIikgYW5kIGNob29zZQotOm1lbnVzZWxlY3Rpb246YFByb3BlcnRpZXNgIHRoZXJlLiAgVGhlbiwgb3BlbiB0aGUgOmd1aWxhYmVsOmBBZHZhbmNlZGAgdGFiCi1hbmQgY2xpY2sgdGhlIDpndWlsYWJlbDpgRW52aXJvbm1lbnQgVmFyaWFibGVzYCBidXR0b24uCitXaW5kb3dzIGFsbG93cyBlbnZpcm9ubWVudCB2YXJpYWJsZXMgdG8gYmUgY29uZmlndXJlZCBwZXJtYW5lbnRseSBhdCBib3RoIHRoZQorVXNlciBsZXZlbCBhbmQgdGhlIFN5c3RlbSBsZXZlbCwgb3IgdGVtcG9yYXJpbHkgaW4gYSBjb21tYW5kIHByb21wdC4KIAotSW4gc2hvcnQsIHlvdXIgcGF0aCBpczoKK1RvIHRlbXBvcmFyaWx5IHNldCBlbnZpcm9ubWVudCB2YXJpYWJsZXMsIG9wZW4gQ29tbWFuZCBQcm9tcHQgYW5kIHVzZSB0aGUKKzpjb21tYW5kOmBzZXRgIGNvbW1hbmQ6OgogCi0gICAgOm1lbnVzZWxlY3Rpb246YE15IENvbXB1dGVyCi0gICAgLS0+IFByb3BlcnRpZXMKLSAgICAtLT4gQWR2YW5jZWQKLSAgICAtLT4gRW52aXJvbm1lbnQgVmFyaWFibGVzYAorICAgIEM6XD5zZXQgUEFUSD1DOlxQcm9ncmFtIEZpbGVzXFB5dGhvbiAzLjU7JVBBVEglCisgICAgQzpcPnNldCBQWVRIT05QQVRIPSVQWVRIT05QQVRIJTtDOlxNeV9weXRob25fbGliCisgICAgQzpcPnB5dGhvbgogCitUaGVzZSBjaGFuZ2VzIHdpbGwgYXBwbHkgdG8gYW55IGZ1cnRoZXIgY29tbWFuZHMgZXhlY3V0ZWQgaW4gdGhhdCBjb25zb2xlLCBhbmQKK3dpbGwgYmUgaW5oZXJpdGVkIGJ5IGFueSBhcHBsaWNhdGlvbnMgc3RhcnRlZCBmcm9tIHRoZSBjb25zb2xlLgorCitJbmNsdWRpbmcgdGhlIHZhcmlhYmxlIG5hbWUgd2l0aGluIHBlcmNlbnQgc2lnbnMgd2lsbCBleHBhbmQgdG8gdGhlIGV4aXN0aW5nCit2YWx1ZSwgYWxsb3dpbmcgeW91IHRvIGFkZCB5b3VyIG5ldyB2YWx1ZSBhdCBlaXRoZXIgdGhlIHN0YXJ0IG9yIHRoZSBlbmQuCitNb2RpZnlpbmcgOmVudnZhcjpgUEFUSGAgYnkgYWRkaW5nIHRoZSBkaXJlY3RvcnkgY29udGFpbmluZworOnByb2dyYW06YHB5dGhvbi5leGVgIHRvIHRoZSBzdGFydCBpcyBhIGNvbW1vbiB3YXkgdG8gZW5zdXJlIHRoZSBjb3JyZWN0IHZlcnNpb24KK29mIFB5dGhvbiBpcyBsYXVuY2hlZC4KKworVG8gcGVybWFuZW50bHkgbW9kaWZ5IHRoZSBkZWZhdWx0IGVudmlyb25tZW50IHZhcmlhYmxlcywgY2xpY2sgU3RhcnQgYW5kIHNlYXJjaAorZm9yICdlZGl0IGVudmlyb25tZW50IHZhcmlhYmxlcycsIG9yIG9wZW4gU3lzdGVtIHByb3BlcnRpZXMsIDpndWlsYWJlbDpgQWR2YW5jZWQKK3N5c3RlbSBzZXR0aW5nc2AgYW5kIGNsaWNrIHRoZSA6Z3VpbGFiZWw6YEVudmlyb25tZW50IFZhcmlhYmxlc2AgYnV0dG9uLgogSW4gdGhpcyBkaWFsb2csIHlvdSBjYW4gYWRkIG9yIG1vZGlmeSBVc2VyIGFuZCBTeXN0ZW0gdmFyaWFibGVzLiBUbyBjaGFuZ2UKIFN5c3RlbSB2YXJpYWJsZXMsIHlvdSBuZWVkIG5vbi1yZXN0cmljdGVkIGFjY2VzcyB0byB5b3VyIG1hY2hpbmUKIChpLmUuIEFkbWluaXN0cmF0b3IgcmlnaHRzKS4KIAotQW5vdGhlciB3YXkgb2YgYWRkaW5nIHZhcmlhYmxlcyB0byB5b3VyIGVudmlyb25tZW50IGlzIHVzaW5nIHRoZSA6Y29tbWFuZDpgc2V0YAotY29tbWFuZDo6CisuLiBub3RlOjoKIAotICAgIHNldCBQWVRIT05QQVRIPSVQWVRIT05QQVRIJTtDOlxNeV9weXRob25fbGliCisgICAgV2luZG93cyB3aWxsIGNvbmNhdGVuYXRlIFVzZXIgdmFyaWFibGVzICphZnRlciogU3lzdGVtIHZhcmlhYmxlcywgd2hpY2ggbWF5CisgICAgY2F1c2UgdW5leHBlY3RlZCByZXN1bHRzIHdoZW4gbW9kaWZ5aW5nIDplbnZ2YXI6YFBBVEhgLgogCi1UbyBtYWtlIHRoaXMgc2V0dGluZyBwZXJtYW5lbnQsIHlvdSBjb3VsZCBhZGQgdGhlIGNvcnJlc3BvbmRpbmcgY29tbWFuZCBsaW5lIHRvCi15b3VyIDpmaWxlOmBhdXRvZXhlYy5iYXRgLiA6cHJvZ3JhbTpgbXNjb25maWdgIGlzIGEgZ3JhcGhpY2FsIGludGVyZmFjZSB0byB0aGlzCi1maWxlLgotCi1WaWV3aW5nIGVudmlyb25tZW50IHZhcmlhYmxlcyBjYW4gYWxzbyBiZSBkb25lIG1vcmUgc3RyYWlnaHQtZm9yd2FyZDogVGhlCi1jb21tYW5kIHByb21wdCB3aWxsIGV4cGFuZCBzdHJpbmdzIHdyYXBwZWQgaW50byBwZXJjZW50IHNpZ25zIGF1dG9tYXRpY2FsbHk6OgotCi0gICAgZWNobyAlUEFUSCUKLQotQ29uc3VsdCA6Y29tbWFuZDpgc2V0IC8/YCBmb3IgZGV0YWlscyBvbiB0aGlzIGJlaGF2aW91ci4KKyAgICBUaGUgOmVudnZhcjpgUFlUSE9OUEFUSGAgdmFyaWFibGUgaXMgdXNlZCBieSBhbGwgdmVyc2lvbnMgb2YgUHl0aG9uIDIgYW5kCisgICAgUHl0aG9uIDMsIHNvIHlvdSBzaG91bGQgbm90IHBlcm1hbmVudGx5IGNvbmZpZ3VyZSB0aGlzIHZhcmlhYmxlIHVubGVzcyBpdAorICAgIG9ubHkgaW5jbHVkZXMgY29kZSB0aGF0IGlzIGNvbXBhdGlibGUgYWxsIG9mIHlvdXIgaW5zdGFsbGVkIFB5dGhvbgorICAgIHZlcnNpb25zLgogCiAuLiBzZWVhbHNvOjoKIAotICAgaHR0cDovL3N1cHBvcnQubWljcm9zb2Z0LmNvbS9rYi8xMDA4NDMKKyAgICBodHRwOi8vc3VwcG9ydC5taWNyb3NvZnQuY29tL2tiLzEwMDg0MwogICAgICAgRW52aXJvbm1lbnQgdmFyaWFibGVzIGluIFdpbmRvd3MgTlQKIAotICAgaHR0cDovL3N1cHBvcnQubWljcm9zb2Z0LmNvbS9rYi8zMTA1MTkKKyAgICBodHRwOi8vdGVjaG5ldC5taWNyb3NvZnQuY29tL2VuLXVzL2xpYnJhcnkvY2M3NTQyNTAuYXNweAorICAgICAgVGhlIFNFVCBjb21tYW5kLCBmb3IgdGVtcG9yYXJpbHkgbW9kaWZ5aW5nIGVudmlyb25tZW50IHZhcmlhYmxlcworCisgICAgaHR0cDovL3RlY2huZXQubWljcm9zb2Z0LmNvbS9lbi11cy9saWJyYXJ5L2NjNzU1MTA0LmFzcHgKKyAgICAgIFRoZSBTRVRYIGNvbW1hbmQsIGZvciBwZXJtYW5lbnRseSBtb2RpZnlpbmcgZW52aXJvbm1lbnQgdmFyaWFibGVzCisKKyAgICBodHRwOi8vc3VwcG9ydC5taWNyb3NvZnQuY29tL2tiLzMxMDUxOQogICAgICAgSG93IFRvIE1hbmFnZSBFbnZpcm9ubWVudCBWYXJpYWJsZXMgaW4gV2luZG93cyBYUAogCi0gICBodHRwOi8vd3d3LmNoZW0uZ2xhLmFjLnVrL35sb3Vpcy9zb2Z0d2FyZS9mYXEvcTEuaHRtbAorICAgIGh0dHA6Ly93d3cuY2hlbS5nbGEuYWMudWsvfmxvdWlzL3NvZnR3YXJlL2ZhcS9xMS5odG1sCiAgICAgICBTZXR0aW5nIEVudmlyb25tZW50IHZhcmlhYmxlcywgTG91aXMgSi4gRmFycnVnaWEKIAotCiAuLiBfd2luZG93cy1wYXRoLW1vZDoKIAogRmluZGluZyB0aGUgUHl0aG9uIGV4ZWN1dGFibGUKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKLS4uIHZlcnNpb25jaGFuZ2VkOjogMy4zCisuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuNQogCiBCZXNpZGVzIHVzaW5nIHRoZSBhdXRvbWF0aWNhbGx5IGNyZWF0ZWQgc3RhcnQgbWVudSBlbnRyeSBmb3IgdGhlIFB5dGhvbgotaW50ZXJwcmV0ZXIsIHlvdSBtaWdodCB3YW50IHRvIHN0YXJ0IFB5dGhvbiBpbiB0aGUgY29tbWFuZCBwcm9tcHQuIEFzIG9mCi1QeXRob24gMy4zLCB0aGUgaW5zdGFsbGVyIGhhcyBhbiBvcHRpb24gdG8gc2V0IHRoYXQgdXAgZm9yIHlvdS4KK2ludGVycHJldGVyLCB5b3UgbWlnaHQgd2FudCB0byBzdGFydCBQeXRob24gaW4gdGhlIGNvbW1hbmQgcHJvbXB0LiBUaGUKK2luc3RhbGxlciBmb3IgUHl0aG9uIDMuNSBhbmQgbGF0ZXIgaGFzIGFuIG9wdGlvbiB0byBzZXQgdGhhdCB1cCBmb3IgeW91LgogCi1BdCB0aGUgIkN1c3RvbWl6ZSBQeXRob24gMy4zIiBzY3JlZW4sIGFuIG9wdGlvbiBjYWxsZWQKLSJBZGQgcHl0aG9uLmV4ZSB0byBzZWFyY2ggcGF0aCIgY2FuIGJlIGVuYWJsZWQgdG8gaGF2ZSB0aGUgaW5zdGFsbGVyIHBsYWNlCi15b3VyIGluc3RhbGxhdGlvbiBpbnRvIHRoZSA6ZW52dmFyOmAlUEFUSCVgLiBUaGlzIGFsbG93cyB5b3UgdG8gdHlwZQotOmNvbW1hbmQ6YHB5dGhvbmAgdG8gcnVuIHRoZSBpbnRlcnByZXRlci4gVGh1cywgeW91IGNhbiBhbHNvIGV4ZWN1dGUgeW91cgorT24gdGhlIGZpcnN0IHBhZ2Ugb2YgdGhlIGluc3RhbGxlciwgYW4gb3B0aW9uIGxhYmVsbGVkICJBZGQgUHl0aG9uIDMuNSB0bworUEFUSCIgY2FuIGJlIHNlbGVjdGVkIHRvIGhhdmUgdGhlIGluc3RhbGxlciBhZGQgdGhlIGluc3RhbGwgbG9jYXRpb24gaW50byB0aGUKKzplbnZ2YXI6YFBBVEhgLiAgVGhlIGxvY2F0aW9uIG9mIHRoZSA6ZmlsZTpgU2NyaXB0c1xcYCBmb2xkZXIgaXMgYWxzbyBhZGRlZC4KK1RoaXMgYWxsb3dzIHlvdSB0byB0eXBlIDpjb21tYW5kOmBweXRob25gIHRvIHJ1biB0aGUgaW50ZXJwcmV0ZXIsIGFuZAorOmNvbW1hbmQ6YHBpcGAgb3IgLiBUaHVzLCB5b3UgY2FuIGFsc28gZXhlY3V0ZSB5b3VyCiBzY3JpcHRzIHdpdGggY29tbWFuZCBsaW5lIG9wdGlvbnMsIHNlZSA6cmVmOmB1c2luZy1vbi1jbWRsaW5lYCBkb2N1bWVudGF0aW9uLgogCiBJZiB5b3UgZG9uJ3QgZW5hYmxlIHRoaXMgb3B0aW9uIGF0IGluc3RhbGwgdGltZSwgeW91IGNhbiBhbHdheXMgcmUtcnVuIHRoZQotaW5zdGFsbGVyIHRvIGNob29zZSBpdC4KK2luc3RhbGxlciwgc2VsZWN0IE1vZGlmeSwgYW5kIGVuYWJsZSBpdC4gIEFsdGVybmF0aXZlbHksIHlvdSBjYW4gbWFudWFsbHkKK21vZGlmeSB0aGUgOmVudnZhcjpgUEFUSGAgdXNpbmcgdGhlIGRpcmVjdGlvbnMgaW4gOnJlZjpgc2V0dGluZy1lbnZ2YXJzYC4gIFlvdQorbmVlZCB0byBzZXQgeW91ciA6ZW52dmFyOmBQQVRIYCBlbnZpcm9ubWVudCB2YXJpYWJsZSB0byBpbmNsdWRlIHRoZSBkaXJlY3RvcnkKK29mIHlvdXIgUHl0aG9uIGluc3RhbGxhdGlvbiwgZGVsaW1pdGVkIGJ5IGEgc2VtaWNvbG9uIGZyb20gb3RoZXIgZW50cmllcy4gIEFuCitleGFtcGxlIHZhcmlhYmxlIGNvdWxkIGxvb2sgbGlrZSB0aGlzIChhc3N1bWluZyB0aGUgZmlyc3QgdHdvIGVudHJpZXMgYWxyZWFkeQorZXhpc3RlZCk6OgogCi1UaGUgYWx0ZXJuYXRpdmUgaXMgbWFudWFsbHkgbW9kaWZ5aW5nIHRoZSA6ZW52dmFyOmAlUEFUSCVgIHVzaW5nIHRoZQotZGlyZWN0aW9ucyBpbiA6cmVmOmBzZXR0aW5nLWVudnZhcnNgLiBZb3UgbmVlZCB0byBzZXQgeW91ciA6ZW52dmFyOmAlUEFUSCVgCi1lbnZpcm9ubWVudCB2YXJpYWJsZSB0byBpbmNsdWRlIHRoZSBkaXJlY3Rvcnkgb2YgeW91ciBQeXRob24gZGlzdHJpYnV0aW9uLAotZGVsaW1pdGVkIGJ5IGEgc2VtaWNvbG9uIGZyb20gb3RoZXIgZW50cmllcy4gQW4gZXhhbXBsZSB2YXJpYWJsZSBjb3VsZCBsb29rCi1saWtlIHRoaXMgKGFzc3VtaW5nIHRoZSBmaXJzdCB0d28gZW50cmllcyBhcmUgV2luZG93cycgZGVmYXVsdCk6OgotCi0gICAgQzpcV0lORE9XU1xzeXN0ZW0zMjtDOlxXSU5ET1dTO0M6XFB5dGhvbjMzCi0KLQotRmluZGluZyBtb2R1bGVzCi0tLS0tLS0tLS0tLS0tLS0KLQotUHl0aG9uIHVzdWFsbHkgc3RvcmVzIGl0cyBsaWJyYXJ5IChhbmQgdGhlcmVieSB5b3VyIHNpdGUtcGFja2FnZXMgZm9sZGVyKSBpbiB0aGUKLWluc3RhbGxhdGlvbiBkaXJlY3RvcnkuICBTbywgaWYgeW91IGhhZCBpbnN0YWxsZWQgUHl0aG9uIHRvCi06ZmlsZTpgQzpcXFB5dGhvblxcYCwgdGhlIGRlZmF1bHQgbGlicmFyeSB3b3VsZCByZXNpZGUgaW4KLTpmaWxlOmBDOlxcUHl0aG9uXFxMaWJcXGAgYW5kIHRoaXJkLXBhcnR5IG1vZHVsZXMgc2hvdWxkIGJlIHN0b3JlZCBpbgotOmZpbGU6YEM6XFxQeXRob25cXExpYlxcc2l0ZS1wYWNrYWdlc1xcYC4KLQotVGhpcyBpcyBob3cgOmRhdGE6YHN5cy5wYXRoYCBpcyBwb3B1bGF0ZWQgb24gV2luZG93czoKLQotKiBBbiBlbXB0eSBlbnRyeSBpcyBhZGRlZCBhdCB0aGUgc3RhcnQsIHdoaWNoIGNvcnJlc3BvbmRzIHRvIHRoZSBjdXJyZW50Ci0gIGRpcmVjdG9yeS4KLQotKiBJZiB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGUgOmVudnZhcjpgUFlUSE9OUEFUSGAgZXhpc3RzLCBhcyBkZXNjcmliZWQgaW4KLSAgOnJlZjpgdXNpbmctb24tZW52dmFyc2AsIGl0cyBlbnRyaWVzIGFyZSBhZGRlZCBuZXh0LiAgTm90ZSB0aGF0IG9uIFdpbmRvd3MsCi0gIHBhdGhzIGluIHRoaXMgdmFyaWFibGUgbXVzdCBiZSBzZXBhcmF0ZWQgYnkgc2VtaWNvbG9ucywgdG8gZGlzdGluZ3Vpc2ggdGhlbQotICBmcm9tIHRoZSBjb2xvbiB1c2VkIGluIGRyaXZlIGlkZW50aWZpZXJzIChgYEM6XGBgIGV0Yy4pLgotCi0qIEFkZGl0aW9uYWwgImFwcGxpY2F0aW9uIHBhdGhzIiBjYW4gYmUgYWRkZWQgaW4gdGhlIHJlZ2lzdHJ5IGFzIHN1YmtleXMgb2YKLSAgOnNhbXA6YFxcU09GVFdBUkVcXFB5dGhvblxcUHl0aG9uQ29yZVxce3ZlcnNpb259XFxQeXRob25QYXRoYCB1bmRlciBib3RoIHRoZQotICBgYEhLRVlfQ1VSUkVOVF9VU0VSYGAgYW5kIGBgSEtFWV9MT0NBTF9NQUNISU5FYGAgaGl2ZXMuICBTdWJrZXlzIHdoaWNoIGhhdmUKLSAgc2VtaWNvbG9uLWRlbGltaXRlZCBwYXRoIHN0cmluZ3MgYXMgdGhlaXIgZGVmYXVsdCB2YWx1ZSB3aWxsIGNhdXNlIGVhY2ggcGF0aAotICB0byBiZSBhZGRlZCB0byA6ZGF0YTpgc3lzLnBhdGhgLiAgKE5vdGUgdGhhdCBhbGwga25vd24gaW5zdGFsbGVycyBvbmx5IHVzZQotICBIS0xNLCBzbyBIS0NVIGlzIHR5cGljYWxseSBlbXB0eS4pCi0KLSogSWYgdGhlIGVudmlyb25tZW50IHZhcmlhYmxlIDplbnZ2YXI6YFBZVEhPTkhPTUVgIGlzIHNldCwgaXQgaXMgYXNzdW1lZCBhcwotICAiUHl0aG9uIEhvbWUiLiAgT3RoZXJ3aXNlLCB0aGUgcGF0aCBvZiB0aGUgbWFpbiBQeXRob24gZXhlY3V0YWJsZSBpcyB1c2VkIHRvCi0gIGxvY2F0ZSBhICJsYW5kbWFyayBmaWxlIiAoYGBMaWJcb3MucHlgYCkgdG8gZGVkdWNlIHRoZSAiUHl0aG9uIEhvbWUiLiAgSWYgYQotICBQeXRob24gaG9tZSBpcyBmb3VuZCwgdGhlIHJlbGV2YW50IHN1Yi1kaXJlY3RvcmllcyBhZGRlZCB0byA6ZGF0YTpgc3lzLnBhdGhgCi0gIChgYExpYmBgLCBgYHBsYXQtd2luYGAsIGV0YykgYXJlIGJhc2VkIG9uIHRoYXQgZm9sZGVyLiAgT3RoZXJ3aXNlLCB0aGUgY29yZQotICBQeXRob24gcGF0aCBpcyBjb25zdHJ1Y3RlZCBmcm9tIHRoZSBQeXRob25QYXRoIHN0b3JlZCBpbiB0aGUgcmVnaXN0cnkuCi0KLSogSWYgdGhlIFB5dGhvbiBIb21lIGNhbm5vdCBiZSBsb2NhdGVkLCBubyA6ZW52dmFyOmBQWVRIT05QQVRIYCBpcyBzcGVjaWZpZWQgaW4KLSAgdGhlIGVudmlyb25tZW50LCBhbmQgbm8gcmVnaXN0cnkgZW50cmllcyBjYW4gYmUgZm91bmQsIGEgZGVmYXVsdCBwYXRoIHdpdGgKLSAgcmVsYXRpdmUgZW50cmllcyBpcyB1c2VkIChlLmcuIGBgLlxMaWI7LlxwbGF0LXdpbmBgLCBldGMpLgotCi1UaGUgZW5kIHJlc3VsdCBvZiBhbGwgdGhpcyBpczoKLQotKiBXaGVuIHJ1bm5pbmcgOmZpbGU6YHB5dGhvbi5leGVgLCBvciBhbnkgb3RoZXIgLmV4ZSBpbiB0aGUgbWFpbiBQeXRob24KLSAgZGlyZWN0b3J5IChlaXRoZXIgYW4gaW5zdGFsbGVkIHZlcnNpb24sIG9yIGRpcmVjdGx5IGZyb20gdGhlIFBDYnVpbGQKLSAgZGlyZWN0b3J5KSwgdGhlIGNvcmUgcGF0aCBpcyBkZWR1Y2VkLCBhbmQgdGhlIGNvcmUgcGF0aHMgaW4gdGhlIHJlZ2lzdHJ5IGFyZQotICBpZ25vcmVkLiAgT3RoZXIgImFwcGxpY2F0aW9uIHBhdGhzIiBpbiB0aGUgcmVnaXN0cnkgYXJlIGFsd2F5cyByZWFkLgotCi0qIFdoZW4gUHl0aG9uIGlzIGhvc3RlZCBpbiBhbm90aGVyIC5leGUgKGRpZmZlcmVudCBkaXJlY3RvcnksIGVtYmVkZGVkIHZpYSBDT00sCi0gIGV0YyksIHRoZSAiUHl0aG9uIEhvbWUiIHdpbGwgbm90IGJlIGRlZHVjZWQsIHNvIHRoZSBjb3JlIHBhdGggZnJvbSB0aGUKLSAgcmVnaXN0cnkgaXMgdXNlZC4gIE90aGVyICJhcHBsaWNhdGlvbiBwYXRocyIgaW4gdGhlIHJlZ2lzdHJ5IGFyZSBhbHdheXMgcmVhZC4KLQotKiBJZiBQeXRob24gY2FuJ3QgZmluZCBpdHMgaG9tZSBhbmQgdGhlcmUgaXMgbm8gcmVnaXN0cnkgKGVnLCBmcm96ZW4gLmV4ZSwgc29tZQotICB2ZXJ5IHN0cmFuZ2UgaW5zdGFsbGF0aW9uIHNldHVwKSB5b3UgZ2V0IGEgcGF0aCB3aXRoIHNvbWUgZGVmYXVsdCwgYnV0Ci0gIHJlbGF0aXZlLCBwYXRocy4KLQotCi1FeGVjdXRpbmcgc2NyaXB0cwotLS0tLS0tLS0tLS0tLS0tLS0KLQotQXMgb2YgUHl0aG9uIDMuMywgUHl0aG9uIGluY2x1ZGVzIGEgbGF1bmNoZXIgd2hpY2ggZmFjaWxpdGF0ZXMgcnVubmluZyBQeXRob24KLXNjcmlwdHMuIFNlZSA6cmVmOmBsYXVuY2hlcmAgZm9yIG1vcmUgaW5mb3JtYXRpb24uCi0KLUV4ZWN1dGluZyBzY3JpcHRzIHdpdGhvdXQgdGhlIFB5dGhvbiBsYXVuY2hlcgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0KLVdpdGhvdXQgdGhlIFB5dGhvbiBsYXVuY2hlciBpbnN0YWxsZWQsIFB5dGhvbiBzY3JpcHRzIChmaWxlcyB3aXRoIHRoZSBleHRlbnNpb24KLWBgLnB5YGApIHdpbGwgYmUgZXhlY3V0ZWQgYnkgOnByb2dyYW06YHB5dGhvbi5leGVgIGJ5IGRlZmF1bHQuICBUaGlzIGV4ZWN1dGFibGUKLW9wZW5zIGEgdGVybWluYWwsIHdoaWNoIHN0YXlzIG9wZW4gZXZlbiBpZiB0aGUgcHJvZ3JhbSB1c2VzIGEgR1VJLiAgSWYgeW91IGRvCi1ub3Qgd2FudCB0aGlzIHRvIGhhcHBlbiwgdXNlIHRoZSBleHRlbnNpb24gYGAucHl3YGAgd2hpY2ggd2lsbCBjYXVzZSB0aGUgc2NyaXB0Ci10byBiZSBleGVjdXRlZCBieSA6cHJvZ3JhbTpgcHl0aG9udy5leGVgIGJ5IGRlZmF1bHQgKGJvdGggZXhlY3V0YWJsZXMgYXJlCi1sb2NhdGVkIGluIHRoZSB0b3AtbGV2ZWwgb2YgeW91ciBQeXRob24gaW5zdGFsbGF0aW9uIGRpcmVjdG9yeSkuICBUaGlzCi1zdXBwcmVzc2VzIHRoZSB0ZXJtaW5hbCB3aW5kb3cgb24gc3RhcnR1cC4KLQotWW91IGNhbiBhbHNvIG1ha2UgYWxsIGBgLnB5YGAgc2NyaXB0cyBleGVjdXRlIHdpdGggOnByb2dyYW06YHB5dGhvbncuZXhlYCwKLXNldHRpbmcgdGhpcyB0aHJvdWdoIHRoZSB1c3VhbCBmYWNpbGl0aWVzLCBmb3IgZXhhbXBsZSAobWlnaHQgcmVxdWlyZQotYWRtaW5pc3RyYXRpdmUgcmlnaHRzKToKLQotIy4gTGF1bmNoIGEgY29tbWFuZCBwcm9tcHQuCi0jLiBBc3NvY2lhdGUgdGhlIGNvcnJlY3QgZmlsZSBncm91cCB3aXRoIGBgLnB5YGAgc2NyaXB0czo6Ci0KLSAgICAgIGFzc29jIC5weT1QeXRob24uRmlsZQotCi0jLiBSZWRpcmVjdCBhbGwgUHl0aG9uIGZpbGVzIHRvIHRoZSBuZXcgZXhlY3V0YWJsZTo6Ci0KLSAgICAgIGZ0eXBlIFB5dGhvbi5GaWxlPUM6XFBhdGhcdG9ccHl0aG9udy5leGUgIiUxIiAlKgotCisgICAgQzpcV0lORE9XU1xzeXN0ZW0zMjtDOlxXSU5ET1dTO0M6XFByb2dyYW0gRmlsZXNcUHl0aG9uIDMuNQogCiAuLiBfbGF1bmNoZXI6CiAKQEAgLTI1MSwyMSArMzQ5LDI2IEBACiAKIC4uIHZlcnNpb25hZGRlZDo6IDMuMwogCi1UaGUgUHl0aG9uIGxhdW5jaGVyIGZvciBXaW5kb3dzIGlzIGEgdXRpbGl0eSB3aGljaCBhaWRzIGluIHRoZSBsb2NhdGlvbiBhbmQKLWV4ZWN1dGlvbiBvZiBkaWZmZXJlbnQgUHl0aG9uIHZlcnNpb25zLiAgSXQgYWxsb3dzIHNjcmlwdHMgKG9yIHRoZQorVGhlIFB5dGhvbiBsYXVuY2hlciBmb3IgV2luZG93cyBpcyBhIHV0aWxpdHkgd2hpY2ggYWlkcyBpbiBsb2NhdGluZyBhbmQKK2V4ZWN1dGluZyBvZiBkaWZmZXJlbnQgUHl0aG9uIHZlcnNpb25zLiAgSXQgYWxsb3dzIHNjcmlwdHMgKG9yIHRoZQogY29tbWFuZC1saW5lKSB0byBpbmRpY2F0ZSBhIHByZWZlcmVuY2UgZm9yIGEgc3BlY2lmaWMgUHl0aG9uIHZlcnNpb24sIGFuZAogd2lsbCBsb2NhdGUgYW5kIGV4ZWN1dGUgdGhhdCB2ZXJzaW9uLgogCitVbmxpa2UgdGhlIDplbnZ2YXI6YFBBVEhgIHZhcmlhYmxlLCB0aGUgbGF1bmNoZXIgd2lsbCBjb3JyZWN0bHkgc2VsZWN0IHRoZSBtb3N0CithcHByb3ByaWF0ZSB2ZXJzaW9uIG9mIFB5dGhvbi4gSXQgd2lsbCBwcmVmZXIgcGVyLXVzZXIgaW5zdGFsbGF0aW9ucyBvdmVyCitzeXN0ZW0td2lkZSBvbmVzLCBhbmQgb3JkZXJzIGJ5IGxhbmd1YWdlIHZlcnNpb24gcmF0aGVyIHRoYW4gdXNpbmcgdGhlIG1vc3QKK3JlY2VudGx5IGluc3RhbGxlZCB2ZXJzaW9uLgorCiBHZXR0aW5nIHN0YXJ0ZWQKIC0tLS0tLS0tLS0tLS0tLQogCiBGcm9tIHRoZSBjb21tYW5kLWxpbmUKIF5eXl5eXl5eXl5eXl5eXl5eXl5eXgogCi1Zb3Ugc2hvdWxkIGVuc3VyZSB0aGUgbGF1bmNoZXIgaXMgb24geW91ciBQQVRIIC0gZGVwZW5kaW5nIG9uIGhvdyBpdCB3YXMKLWluc3RhbGxlZCBpdCBtYXkgYWxyZWFkeSBiZSB0aGVyZSwgYnV0IGNoZWNrIGp1c3QgaW4gY2FzZSBpdCBpcyBub3QuCi0KLUZyb20gYSBjb21tYW5kLXByb21wdCwgZXhlY3V0ZSB0aGUgZm9sbG93aW5nIGNvbW1hbmQ6CitTeXN0ZW0td2lkZSBpbnN0YWxsYXRpb25zIG9mIFB5dGhvbiAzLjMgYW5kIGxhdGVyIHdpbGwgcHV0IHRoZSBsYXVuY2hlciBvbiB5b3VyCis6ZW52dmFyOmBQQVRIYC4gVGhlIGxhdW5jaGVyIGlzIGNvbXBhdGlibGUgd2l0aCBhbGwgYXZhaWxhYmxlIHZlcnNpb25zIG9mCitQeXRob24sIHNvIGl0IGRvZXMgbm90IG1hdHRlciB3aGljaCB2ZXJzaW9uIGlzIGluc3RhbGxlZC4gVG8gY2hlY2sgdGhhdCB0aGUKK2xhdW5jaGVyIGlzIGF2YWlsYWJsZSwgZXhlY3V0ZSB0aGUgZm9sbG93aW5nIGNvbW1hbmQgaW4gQ29tbWFuZCBQcm9tcHQ6CiAKIDo6CiAKQEAgLTI5MSw2ICszOTQsMjggQEAKIAogWW91IHNob3VsZCBmaW5kIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiBQeXRob24gMy54IHN0YXJ0cy4KIAorSWYgeW91IHNlZSB0aGUgZm9sbG93aW5nIGVycm9yLCB5b3UgZG8gbm90IGhhdmUgdGhlIGxhdW5jaGVyIGluc3RhbGxlZDoKKworOjoKKworICAncHknIGlzIG5vdCByZWNvZ25pemVkIGFzIGFuIGludGVybmFsIG9yIGV4dGVybmFsIGNvbW1hbmQsCisgIG9wZXJhYmxlIHByb2dyYW0gb3IgYmF0Y2ggZmlsZS4KKworUGVyLXVzZXIgaW5zdGFsbGF0aW9ucyBvZiBQeXRob24gZG8gbm90IGFkZCB0aGUgbGF1bmNoZXIgdG8gOmVudnZhcjpgUEFUSGAKK3VubGVzcyB0aGUgb3B0aW9uIHdhcyBzZWxlY3RlZCBvbiBpbnN0YWxsYXRpb24uCisKK1ZpcnR1YWwgZW52aXJvbm1lbnRzCiteXl5eXl5eXl5eXl5eXl5eXl5eXgorCisuLiB2ZXJzaW9uYWRkZWQ6OiAzLjUKKworSWYgdGhlIGxhdW5jaGVyIGlzIHJ1biB3aXRoIG5vIGV4cGxpY2l0IFB5dGhvbiB2ZXJzaW9uIHNwZWNpZmljYXRpb24sIGFuZCBhCit2aXJ0dWFsIGVudmlyb25tZW50IChjcmVhdGVkIHdpdGggdGhlIHN0YW5kYXJkIGxpYnJhcnkgOm1vZDpgdmVudmAgbW9kdWxlIG9yCit0aGUgZXh0ZXJuYWwgYGB2aXJ0dWFsZW52YGAgdG9vbCkgYWN0aXZlLCB0aGUgbGF1bmNoZXIgd2lsbCBydW4gdGhlIHZpcnR1YWwKK2Vudmlyb25tZW50J3MgaW50ZXJwcmV0ZXIgcmF0aGVyIHRoYW4gdGhlIGdsb2JhbCBvbmUuICBUbyBydW4gdGhlIGdsb2JhbAoraW50ZXJwcmV0ZXIsIGVpdGhlciBkZWFjdGl2YXRlIHRoZSB2aXJ0dWFsIGVudmlyb25tZW50LCBvciBleHBsaWNpdGx5IHNwZWNpZnkKK3RoZSBnbG9iYWwgUHl0aG9uIHZlcnNpb24uCisKIEZyb20gYSBzY3JpcHQKIF5eXl5eXl5eXl5eXl4KIApAQCAtMzY1LDYgKzQ5MCwxNiBAQAogb24gV2luZG93cyB3aGljaCB5b3UgaG9wZSB3aWxsIGJlIHVzZWZ1bCBvbiBVbml4LCB5b3Ugc2hvdWxkIHVzZSBvbmUgb2YgdGhlCiBzaGViYW5nIGxpbmVzIHN0YXJ0aW5nIHdpdGggYGAvdXNyYGAuCiAKK0FueSBvZiB0aGUgYWJvdmUgdmlydHVhbCBjb21tYW5kcyBjYW4gYmUgc3VmZml4ZWQgd2l0aCBhbiBleHBsaWNpdCB2ZXJzaW9uCisoZWl0aGVyIGp1c3QgdGhlIG1ham9yIHZlcnNpb24sIG9yIHRoZSBtYWpvciBhbmQgbWlub3IgdmVyc2lvbikgLSBmb3IgZXhhbXBsZQorYGAvdXNyL2Jpbi9weXRob24yLjdgYCAtIHdoaWNoIHdpbGwgY2F1c2UgdGhhdCBzcGVjaWZpYyB2ZXJzaW9uIHRvIGJlIGxvY2F0ZWQKK2FuZCB1c2VkLgorCitUaGUgYGAvdXNyL2Jpbi9lbnZgYCBmb3JtIG9mIHNoZWJhbmcgbGluZSBoYXMgb25lIGZ1cnRoZXIgc3BlY2lhbCBwcm9wZXJ0eS4KK0JlZm9yZSBsb29raW5nIGZvciBpbnN0YWxsZWQgUHl0aG9uIGludGVycHJldGVycywgdGhpcyBmb3JtIHdpbGwgc2VhcmNoIHRoZQorZXhlY3V0YWJsZSA6ZW52dmFyOmBQQVRIYCBmb3IgYSBQeXRob24gZXhlY3V0YWJsZS4gVGhpcyBjb3JyZXNwb25kcyB0byB0aGUKK2JlaGF2aW91ciBvZiB0aGUgVW5peCBgYGVudmBgIHByb2dyYW0sIHdoaWNoIHBlcmZvcm1zIGEgOmVudnZhcjpgUEFUSGAgc2VhcmNoLgorCiBBcmd1bWVudHMgaW4gc2hlYmFuZyBsaW5lcwogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIApAQCAtMzgzLDE3ICs1MTgsMTYgQEAKIEN1c3RvbWl6YXRpb24gdmlhIElOSSBmaWxlcwogXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eCiAKLSAgICBUd28gLmluaSBmaWxlcyB3aWxsIGJlIHNlYXJjaGVkIGJ5IHRoZSBsYXVuY2hlciAtIGBgcHkuaW5pYGAgaW4gdGhlCi0gICAgY3VycmVudCB1c2VyJ3MgImFwcGxpY2F0aW9uIGRhdGEiIGRpcmVjdG9yeSAoaS5lLiB0aGUgZGlyZWN0b3J5IHJldHVybmVkCi0gICAgYnkgY2FsbGluZyB0aGUgV2luZG93cyBmdW5jdGlvbiBTSEdldEZvbGRlclBhdGggd2l0aCBDU0lETF9MT0NBTF9BUFBEQVRBKQotICAgIGFuZCBgYHB5LmluaWBgIGluIHRoZSBzYW1lIGRpcmVjdG9yeSBhcyB0aGUgbGF1bmNoZXIuICBUaGUgc2FtZSAuaW5pCi0gICAgZmlsZXMgYXJlIHVzZWQgZm9yIGJvdGggdGhlICdjb25zb2xlJyB2ZXJzaW9uIG9mIHRoZSBsYXVuY2hlciAoaS5lLgotICAgIHB5LmV4ZSkgYW5kIGZvciB0aGUgJ3dpbmRvd3MnIHZlcnNpb24gKGkuZS4gcHl3LmV4ZSkKK1R3byAuaW5pIGZpbGVzIHdpbGwgYmUgc2VhcmNoZWQgYnkgdGhlIGxhdW5jaGVyIC0gYGBweS5pbmlgYCBpbiB0aGUgY3VycmVudAordXNlcidzICJhcHBsaWNhdGlvbiBkYXRhIiBkaXJlY3RvcnkgKGkuZS4gdGhlIGRpcmVjdG9yeSByZXR1cm5lZCBieSBjYWxsaW5nIHRoZQorV2luZG93cyBmdW5jdGlvbiBTSEdldEZvbGRlclBhdGggd2l0aCBDU0lETF9MT0NBTF9BUFBEQVRBKSBhbmQgYGBweS5pbmlgYCBpbiB0aGUKK3NhbWUgZGlyZWN0b3J5IGFzIHRoZSBsYXVuY2hlci4gVGhlIHNhbWUgLmluaSBmaWxlcyBhcmUgdXNlZCBmb3IgYm90aCB0aGUKKydjb25zb2xlJyB2ZXJzaW9uIG9mIHRoZSBsYXVuY2hlciAoaS5lLiBweS5leGUpIGFuZCBmb3IgdGhlICd3aW5kb3dzJyB2ZXJzaW9uCisoaS5lLiBweXcuZXhlKQogCi0gICAgQ3VzdG9taXphdGlvbiBzcGVjaWZpZWQgaW4gdGhlICJhcHBsaWNhdGlvbiBkaXJlY3RvcnkiIHdpbGwgaGF2ZQotICAgIHByZWNlZGVuY2Ugb3ZlciB0aGUgb25lIG5leHQgdG8gdGhlIGV4ZWN1dGFibGUsIHNvIGEgdXNlciwgd2hvIG1heSBub3QKLSAgICBoYXZlIHdyaXRlIGFjY2VzcyB0byB0aGUgLmluaSBmaWxlIG5leHQgdG8gdGhlIGxhdW5jaGVyLCBjYW4gb3ZlcnJpZGUKLSAgICBjb21tYW5kcyBpbiB0aGF0IGdsb2JhbCAuaW5pIGZpbGUpCitDdXN0b21pemF0aW9uIHNwZWNpZmllZCBpbiB0aGUgImFwcGxpY2F0aW9uIGRpcmVjdG9yeSIgd2lsbCBoYXZlIHByZWNlZGVuY2Ugb3ZlcgordGhlIG9uZSBuZXh0IHRvIHRoZSBleGVjdXRhYmxlLCBzbyBhIHVzZXIsIHdobyBtYXkgbm90IGhhdmUgd3JpdGUgYWNjZXNzIHRvIHRoZQorLmluaSBmaWxlIG5leHQgdG8gdGhlIGxhdW5jaGVyLCBjYW4gb3ZlcnJpZGUgY29tbWFuZHMgaW4gdGhhdCBnbG9iYWwgLmluaSBmaWxlKQogCiBDdXN0b21pemluZyBkZWZhdWx0IFB5dGhvbiB2ZXJzaW9ucwogXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl4KQEAgLTQ4OCw2ICs2MjIsNzggQEAKIHRhcmdldCBQeXRob24uCiAKIAorCitGaW5kaW5nIG1vZHVsZXMKKz09PT09PT09PT09PT09PQorCitQeXRob24gdXN1YWxseSBzdG9yZXMgaXRzIGxpYnJhcnkgKGFuZCB0aGVyZWJ5IHlvdXIgc2l0ZS1wYWNrYWdlcyBmb2xkZXIpIGluIHRoZQoraW5zdGFsbGF0aW9uIGRpcmVjdG9yeS4gIFNvLCBpZiB5b3UgaGFkIGluc3RhbGxlZCBQeXRob24gdG8KKzpmaWxlOmBDOlxcUHl0aG9uXFxgLCB0aGUgZGVmYXVsdCBsaWJyYXJ5IHdvdWxkIHJlc2lkZSBpbgorOmZpbGU6YEM6XFxQeXRob25cXExpYlxcYCBhbmQgdGhpcmQtcGFydHkgbW9kdWxlcyBzaG91bGQgYmUgc3RvcmVkIGluCis6ZmlsZTpgQzpcXFB5dGhvblxcTGliXFxzaXRlLXBhY2thZ2VzXFxgLgorCitUaGlzIGlzIGhvdyA6ZGF0YTpgc3lzLnBhdGhgIGlzIHBvcHVsYXRlZCBvbiBXaW5kb3dzOgorCisqIEFuIGVtcHR5IGVudHJ5IGlzIGFkZGVkIGF0IHRoZSBzdGFydCwgd2hpY2ggY29ycmVzcG9uZHMgdG8gdGhlIGN1cnJlbnQKKyAgZGlyZWN0b3J5LgorCisqIElmIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZSA6ZW52dmFyOmBQWVRIT05QQVRIYCBleGlzdHMsIGFzIGRlc2NyaWJlZCBpbgorICA6cmVmOmB1c2luZy1vbi1lbnZ2YXJzYCwgaXRzIGVudHJpZXMgYXJlIGFkZGVkIG5leHQuICBOb3RlIHRoYXQgb24gV2luZG93cywKKyAgcGF0aHMgaW4gdGhpcyB2YXJpYWJsZSBtdXN0IGJlIHNlcGFyYXRlZCBieSBzZW1pY29sb25zLCB0byBkaXN0aW5ndWlzaCB0aGVtCisgIGZyb20gdGhlIGNvbG9uIHVzZWQgaW4gZHJpdmUgaWRlbnRpZmllcnMgKGBgQzpcYGAgZXRjLikuCisKKyogQWRkaXRpb25hbCAiYXBwbGljYXRpb24gcGF0aHMiIGNhbiBiZSBhZGRlZCBpbiB0aGUgcmVnaXN0cnkgYXMgc3Via2V5cyBvZgorICA6c2FtcDpgXFxTT0ZUV0FSRVxcUHl0aG9uXFxQeXRob25Db3JlXFx7dmVyc2lvbn1cXFB5dGhvblBhdGhgIHVuZGVyIGJvdGggdGhlCisgIGBgSEtFWV9DVVJSRU5UX1VTRVJgYCBhbmQgYGBIS0VZX0xPQ0FMX01BQ0hJTkVgYCBoaXZlcy4gIFN1YmtleXMgd2hpY2ggaGF2ZQorICBzZW1pY29sb24tZGVsaW1pdGVkIHBhdGggc3RyaW5ncyBhcyB0aGVpciBkZWZhdWx0IHZhbHVlIHdpbGwgY2F1c2UgZWFjaCBwYXRoCisgIHRvIGJlIGFkZGVkIHRvIDpkYXRhOmBzeXMucGF0aGAuICAoTm90ZSB0aGF0IGFsbCBrbm93biBpbnN0YWxsZXJzIG9ubHkgdXNlCisgIEhLTE0sIHNvIEhLQ1UgaXMgdHlwaWNhbGx5IGVtcHR5LikKKworKiBJZiB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGUgOmVudnZhcjpgUFlUSE9OSE9NRWAgaXMgc2V0LCBpdCBpcyBhc3N1bWVkIGFzCisgICJQeXRob24gSG9tZSIuICBPdGhlcndpc2UsIHRoZSBwYXRoIG9mIHRoZSBtYWluIFB5dGhvbiBleGVjdXRhYmxlIGlzIHVzZWQgdG8KKyAgbG9jYXRlIGEgImxhbmRtYXJrIGZpbGUiIChgYExpYlxvcy5weWBgKSB0byBkZWR1Y2UgdGhlICJQeXRob24gSG9tZSIuICBJZiBhCisgIFB5dGhvbiBob21lIGlzIGZvdW5kLCB0aGUgcmVsZXZhbnQgc3ViLWRpcmVjdG9yaWVzIGFkZGVkIHRvIDpkYXRhOmBzeXMucGF0aGAKKyAgKGBgTGliYGAsIGBgcGxhdC13aW5gYCwgZXRjKSBhcmUgYmFzZWQgb24gdGhhdCBmb2xkZXIuICBPdGhlcndpc2UsIHRoZSBjb3JlCisgIFB5dGhvbiBwYXRoIGlzIGNvbnN0cnVjdGVkIGZyb20gdGhlIFB5dGhvblBhdGggc3RvcmVkIGluIHRoZSByZWdpc3RyeS4KKworKiBJZiB0aGUgUHl0aG9uIEhvbWUgY2Fubm90IGJlIGxvY2F0ZWQsIG5vIDplbnZ2YXI6YFBZVEhPTlBBVEhgIGlzIHNwZWNpZmllZCBpbgorICB0aGUgZW52aXJvbm1lbnQsIGFuZCBubyByZWdpc3RyeSBlbnRyaWVzIGNhbiBiZSBmb3VuZCwgYSBkZWZhdWx0IHBhdGggd2l0aAorICByZWxhdGl2ZSBlbnRyaWVzIGlzIHVzZWQgKGUuZy4gYGAuXExpYjsuXHBsYXQtd2luYGAsIGV0YykuCisKK1RoZSBlbmQgcmVzdWx0IG9mIGFsbCB0aGlzIGlzOgorCisqIFdoZW4gcnVubmluZyA6ZmlsZTpgcHl0aG9uLmV4ZWAsIG9yIGFueSBvdGhlciAuZXhlIGluIHRoZSBtYWluIFB5dGhvbgorICBkaXJlY3RvcnkgKGVpdGhlciBhbiBpbnN0YWxsZWQgdmVyc2lvbiwgb3IgZGlyZWN0bHkgZnJvbSB0aGUgUENidWlsZAorICBkaXJlY3RvcnkpLCB0aGUgY29yZSBwYXRoIGlzIGRlZHVjZWQsIGFuZCB0aGUgY29yZSBwYXRocyBpbiB0aGUgcmVnaXN0cnkgYXJlCisgIGlnbm9yZWQuICBPdGhlciAiYXBwbGljYXRpb24gcGF0aHMiIGluIHRoZSByZWdpc3RyeSBhcmUgYWx3YXlzIHJlYWQuCisKKyogV2hlbiBQeXRob24gaXMgaG9zdGVkIGluIGFub3RoZXIgLmV4ZSAoZGlmZmVyZW50IGRpcmVjdG9yeSwgZW1iZWRkZWQgdmlhIENPTSwKKyAgZXRjKSwgdGhlICJQeXRob24gSG9tZSIgd2lsbCBub3QgYmUgZGVkdWNlZCwgc28gdGhlIGNvcmUgcGF0aCBmcm9tIHRoZQorICByZWdpc3RyeSBpcyB1c2VkLiAgT3RoZXIgImFwcGxpY2F0aW9uIHBhdGhzIiBpbiB0aGUgcmVnaXN0cnkgYXJlIGFsd2F5cyByZWFkLgorCisqIElmIFB5dGhvbiBjYW4ndCBmaW5kIGl0cyBob21lIGFuZCB0aGVyZSBpcyBubyByZWdpc3RyeSAoZWcsIGZyb3plbiAuZXhlLCBzb21lCisgIHZlcnkgc3RyYW5nZSBpbnN0YWxsYXRpb24gc2V0dXApIHlvdSBnZXQgYSBwYXRoIHdpdGggc29tZSBkZWZhdWx0LCBidXQKKyAgcmVsYXRpdmUsIHBhdGhzLgorCitGb3IgdGhvc2Ugd2hvIHdhbnQgdG8gYnVuZGxlIFB5dGhvbiBpbnRvIHRoZWlyIGFwcGxpY2F0aW9uIG9yIGRpc3RyaWJ1dGlvbiwgdGhlCitmb2xsb3dpbmcgYWR2aWNlIHdpbGwgcHJldmVudCBjb25mbGljdHMgd2l0aCBvdGhlciBpbnN0YWxsYXRpb25zOgorCisqIElmIHlvdSBhcmUgbG9hZGluZyA6ZmlsZTpgcHl0aG9uMy5kbGxgIG9yIDpmaWxlOmBweXRob24zNS5kbGxgIGluIHlvdXIgb3duCisgIGV4ZWN1dGFibGUsIGV4cGxpY2l0bHkgY2FsbCA6YzpmdW5jOmBQeV9TZXRQYXRoYCBvciAoYXQgbGVhc3QpCisgIDpjOmZ1bmM6YFB5X1NldFByb2dyYW1OYW1lYCBiZWZvcmUgOmM6ZnVuYzpgUHlfSW5pdGlhbGl6ZWAuCisKKyogQ2xlYXIgYW5kL29yIG92ZXJ3cml0ZSA6ZW52dmFyOmBQWVRIT05QQVRIYCBhbmQgc2V0IDplbnZ2YXI6YFBZVEhPTkhPTUVgCisgIGJlZm9yZSBsYXVuY2hpbmcgOmZpbGU6YHB5dGhvbi5leGVgIGZyb20geW91ciBhcHBsaWNhdGlvbi4KKworKiBJZiB5b3UgY2Fubm90IHVzZSB0aGUgcHJldmlvdXMgc3VnZ2VzdGlvbnMgKGZvciBleGFtcGxlLCB5b3UgYXJlIGEKKyAgZGlzdHJpYnV0aW9uIHRoYXQgYWxsb3dzIHBlb3BsZSB0byBydW4gOmZpbGU6YHB5dGhvbi5leGVgIGRpcmVjdGx5KSwgZW5zdXJlCisgIHRoYXQgdGhlIGxhbmRtYXJrIGZpbGUgKDpmaWxlOmBMaWJcXG9zLnB5YCkgZXhpc3RzIGluIHlvdXIgYnVuZGxlZCBsaWJyYXJ5LgorICAoTm90ZSB0aGF0IGl0IHdpbGwgbm90IGJlIGRldGVjdGVkIGluc2lkZSBhIFpJUCBmaWxlLikKKworVGhlc2Ugd2lsbCBlbnN1cmUgdGhhdCB0aGUgZmlsZXMgaW4gYSBzeXN0ZW0td2lkZSBpbnN0YWxsYXRpb24gd2lsbCBub3QgdGFrZQorcHJlY2VkZW5jZSBvdmVyIHRoZSBjb3B5IG9mIHRoZSBzdGFuZGFyZCBsaWJyYXJ5IGJ1bmRsZWQgd2l0aCB5b3VyIGFwcGxpY2F0aW9uLgorT3RoZXJ3aXNlLCB5b3VyIHVzZXJzIG1heSBleHBlcmllbmNlIHByb2JsZW1zIHVzaW5nIHlvdXIgYXBwbGljYXRpb24uCisKIEFkZGl0aW9uYWwgbW9kdWxlcwogPT09PT09PT09PT09PT09PT09CiAKQEAgLTQ5OCw3ICs3MDQsNiBAQAogVGhlIFdpbmRvd3Mtc3BlY2lmaWMgc3RhbmRhcmQgbW9kdWxlcyBhcmUgZG9jdW1lbnRlZCBpbgogOnJlZjpgbXN3aW4tc3BlY2lmaWMtc2VydmljZXNgLgogCi0KIFB5V2luMzIKIC0tLS0tLS0KIApAQCAtNTU3LDIwICs3NjIsOCBAQAogPGh0dHBzOi8vZG9jcy5weXRob24ub3JnL2Rldmd1aWRlL3NldHVwLmh0bWwjZ2V0dGluZy10aGUtc291cmNlLWNvZGU+YF8uCiAKIFRoZSBzb3VyY2UgdHJlZSBjb250YWlucyBhIGJ1aWxkIHNvbHV0aW9uIGFuZCBwcm9qZWN0IGZpbGVzIGZvciBNaWNyb3NvZnQKLVZpc3VhbCBDKyssIHdoaWNoIGlzIHRoZSBjb21waWxlciB1c2VkIHRvIGJ1aWxkIHRoZSBvZmZpY2lhbCBQeXRob24gcmVsZWFzZXMuCi1WaWV3IHRoZSA6ZmlsZTpgcmVhZG1lLnR4dGAgaW4gdGhlaXIgcmVzcGVjdGl2ZSBkaXJlY3RvcmllczoKLQotKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwotfCBEaXJlY3RvcnkgICAgICAgICAgfCBNU1ZDIHZlcnNpb24gfCBWaXN1YWwgU3R1ZGlvIHZlcnNpb24gfAotKz09PT09PT09PT09PT09PT09PT09Kz09PT09PT09PT09PT09Kz09PT09PT09PT09PT09PT09PT09PT09KwotfCA6ZmlsZTpgUEMvVlM5LjAvYCAgfCA5LjAgICAgICAgICAgfCAyMDA4ICAgICAgICAgICAgICAgICAgfAotKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwotfCA6ZmlsZTpgUENidWlsZC9gICAgfCAxMC4wICAgICAgICAgfCAyMDEwICAgICAgICAgICAgICAgICAgfAotKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwotCi1Ob3RlIHRoYXQgYW55IGJ1aWxkIGRpcmVjdG9yaWVzIHdpdGhpbiB0aGUgOmZpbGU6YFBDYCBkaXJlY3RvcnkgYXJlIG5vdAotbmVjZXNzYXJpbHkgZnVsbHkgc3VwcG9ydGVkLiAgVGhlIDpmaWxlOmBQQ2J1aWxkYCBkaXJlY3RvcnkgY29udGFpbnMgdGhlIGZpbGVzCi1mb3IgdGhlIGNvbXBpbGVyIHVzZWQgdG8gYnVpbGQgdGhlIG9mZmljaWFsIHJlbGVhc2UuCitWaXN1YWwgU3R1ZGlvIDIwMTUsIHdoaWNoIGlzIHRoZSBjb21waWxlciB1c2VkIHRvIGJ1aWxkIHRoZSBvZmZpY2lhbCBQeXRob24KK3JlbGVhc2VzLiBUaGVzZSBmaWxlcyBhcmUgaW4gdGhlIDpmaWxlOmBQQ2J1aWxkYCBkaXJlY3RvcnkuCiAKIENoZWNrIDpmaWxlOmBQQ2J1aWxkL3JlYWRtZS50eHRgIGZvciBnZW5lcmFsIGluZm9ybWF0aW9uIG9uIHRoZSBidWlsZCBwcm9jZXNzLgogCmRpZmYgLS1naXQgYS9Eb2Mvd2hhdHNuZXcvMi4xLnJzdCBiL0RvYy93aGF0c25ldy8yLjEucnN0CmluZGV4IDUwNThiZjEuLmZmMTU2NjIgMTAwNjQ0Ci0tLSBhL0RvYy93aGF0c25ldy8yLjEucnN0CisrKyBiL0RvYy93aGF0c25ldy8yLjEucnN0CkBAIC0yMTksNyArMjE5LDcgQEAKIAogLi4gc2VlYWxzbzo6CiAKLSAgIDpwZXA6YDIwN2AgLSBSaWNoIENvbXBhcmlzaW9ucworICAgOnBlcDpgMjA3YCAtIFJpY2ggQ29tcGFyaXNvbnMKICAgICAgIFdyaXR0ZW4gYnkgR3VpZG8gdmFuIFJvc3N1bSwgaGVhdmlseSBiYXNlZCBvbiBlYXJsaWVyIHdvcmsgYnkgRGF2aWQgQXNjaGVyLCBhbmQKICAgICAgIGltcGxlbWVudGVkIGJ5IEd1aWRvIHZhbiBSb3NzdW0uCiAKZGlmZiAtLWdpdCBhL0RvYy93aGF0c25ldy8zLjMucnN0IGIvRG9jL3doYXRzbmV3LzMuMy5yc3QKaW5kZXggMWZkYjM2NS4uMWQ0Y2U3MiAxMDA2NDQKLS0tIGEvRG9jL3doYXRzbmV3LzMuMy5yc3QKKysrIGIvRG9jL3doYXRzbmV3LzMuMy5yc3QKQEAgLTE1NzksNyArMTU3OSw3IEBACiAgIGF2b2lkIHJhY2UgY29uZGl0aW9ucyBpbiBtdWx0aS10aHJlYWRlZCBwcm9ncmFtcy4KIAogKiBUaGUgOm1vZDpgb3NgIG1vZHVsZSBoYXMgYSBuZXcgOmZ1bmM6YH5vcy5zZW5kZmlsZWAgZnVuY3Rpb24gd2hpY2ggcHJvdmlkZXMKLSAgYW4gZWZmaWNlbnQgInplcm8tY29weSIgd2F5IGZvciBjb3B5aW5nIGRhdGEgZnJvbSBvbmUgZmlsZSAob3Igc29ja2V0KQorICBhbiBlZmZpY2llbnQgInplcm8tY29weSIgd2F5IGZvciBjb3B5aW5nIGRhdGEgZnJvbSBvbmUgZmlsZSAob3Igc29ja2V0KQogICBkZXNjcmlwdG9yIHRvIGFub3RoZXIuIFRoZSBwaHJhc2UgInplcm8tY29weSIgcmVmZXJzIHRvIHRoZSBmYWN0IHRoYXQgYWxsIG9mCiAgIHRoZSBjb3B5aW5nIG9mIGRhdGEgYmV0d2VlbiB0aGUgdHdvIGRlc2NyaXB0b3JzIGlzIGRvbmUgZW50aXJlbHkgYnkgdGhlCiAgIGtlcm5lbCwgd2l0aCBubyBjb3B5aW5nIG9mIGRhdGEgaW50byB1c2Vyc3BhY2UgYnVmZmVycy4gOmZ1bmM6YH5vcy5zZW5kZmlsZWAKQEAgLTE5MDgsNyArMTkwOCw3IEBACiA6bWV0aDpgfnNvY2tldHNlcnZlci5CYXNlU2VydmVyLnNlcnZpY2VfYWN0aW9uc2AgdGhhdCBpcyBjYWxsZWQgYnkgdGhlCiA6bWV0aDpgfnNvY2tldHNlcnZlci5CYXNlU2VydmVyLnNlcnZlX2ZvcmV2ZXJgIG1ldGhvZCBpbiB0aGUgc2VydmljZSBsb29wLgogOmNsYXNzOmB+c29ja2V0c2VydmVyLkZvcmtpbmdNaXhJbmAgbm93IHVzZXMgdGhpcyB0byBjbGVhbiB1cCB6b21iaWUKLWNoaWxkIHByb2Nlc2VzLiAgKENvbnRyaWJ1dGVkIGJ5IEp1c3RpbiBXYXJrZW50aW4gaW4gOmlzc3VlOmAxMTEwOWAuKQorY2hpbGQgcHJvY2Vzc2VzLiAgKENvbnRyaWJ1dGVkIGJ5IEp1c3RpbiBXYXJrZW50aW4gaW4gOmlzc3VlOmAxMTEwOWAuKQogCiAKIHNxbGl0ZTMKQEAgLTIzNjAsNyArMjM2MCw3IEBACiAgIGJ5dGVjb2RlIGZpbGUsIG1ha2Ugc3VyZSB0byBjYWxsIDpmdW5jOmBpbXBvcnRsaWIuaW52YWxpZGF0ZV9jYWNoZXNgIHRvIGNsZWFyCiAgIG91dCB0aGUgY2FjaGUgZm9yIHRoZSBmaW5kZXJzIHRvIG5vdGljZSB0aGUgbmV3IGZpbGUuCiAKLSogOmV4YzpgSW1wb3J0RXJyb3JgIG5vdyB1c2VzIHRoZSBmdWxsIG5hbWUgb2YgdGhlIG1vZHVsZSB0aGF0IHdhcyBhdHRlbXBlZCB0bworKiA6ZXhjOmBJbXBvcnRFcnJvcmAgbm93IHVzZXMgdGhlIGZ1bGwgbmFtZSBvZiB0aGUgbW9kdWxlIHRoYXQgd2FzIGF0dGVtcHRlZCB0bwogICBiZSBpbXBvcnRlZC4gRG9jdGVzdHMgdGhhdCBjaGVjayBJbXBvcnRFcnJvcnMnIG1lc3NhZ2Ugd2lsbCBuZWVkIHRvIGJlCiAgIHVwZGF0ZWQgdG8gdXNlIHRoZSBmdWxsIG5hbWUgb2YgdGhlIG1vZHVsZSBpbnN0ZWFkIG9mIGp1c3QgdGhlIHRhaWwgb2YgdGhlCiAgIG5hbWUuCmRpZmYgLS1naXQgYS9Eb2Mvd2hhdHNuZXcvMy41LnJzdCBiL0RvYy93aGF0c25ldy8zLjUucnN0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgwMjdmYTMKLS0tIC9kZXYvbnVsbAorKysgYi9Eb2Mvd2hhdHNuZXcvMy41LnJzdApAQCAtMCwwICsxLDU2OCBAQAorKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICBXaGF0J3MgTmV3IEluIFB5dGhvbiAzLjUKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioKKworOlJlbGVhc2U6IHxyZWxlYXNlfAorOkRhdGU6IHx0b2RheXwKKworLi4gUnVsZXMgZm9yIG1haW50ZW5hbmNlOgorCisgICAqIEFueW9uZSBjYW4gYWRkIHRleHQgdG8gdGhpcyBkb2N1bWVudC4gIERvIG5vdCBzcGVuZCB2ZXJ5IG11Y2ggdGltZQorICAgb24gdGhlIHdvcmRpbmcgb2YgeW91ciBjaGFuZ2VzLCBiZWNhdXNlIHlvdXIgdGV4dCB3aWxsIHByb2JhYmx5CisgICBnZXQgcmV3cml0dGVuIHRvIHNvbWUgZGVncmVlLgorCisgICAqIFRoZSBtYWludGFpbmVyIHdpbGwgZ28gdGhyb3VnaCBNaXNjL05FV1MgcGVyaW9kaWNhbGx5IGFuZCBhZGQKKyAgIGNoYW5nZXM7IGl0J3MgdGhlcmVmb3JlIG1vcmUgaW1wb3J0YW50IHRvIGFkZCB5b3VyIGNoYW5nZXMgdG8KKyAgIE1pc2MvTkVXUyB0aGFuIHRvIHRoaXMgZmlsZS4KKworICAgKiBUaGlzIGlzIG5vdCBhIGNvbXBsZXRlIGxpc3Qgb2YgZXZlcnkgc2luZ2xlIGNoYW5nZTsgY29tcGxldGVuZXNzCisgICBpcyB0aGUgcHVycG9zZSBvZiBNaXNjL05FV1MuICBTb21lIGNoYW5nZXMgSSBjb25zaWRlciB0b28gc21hbGwKKyAgIG9yIGVzb3RlcmljIHRvIGluY2x1ZGUuICBJZiBzdWNoIGEgY2hhbmdlIGlzIGFkZGVkIHRvIHRoZSB0ZXh0LAorICAgSSdsbCBqdXN0IHJlbW92ZSBpdC4gIChUaGlzIGlzIGFub3RoZXIgcmVhc29uIHlvdSBzaG91bGRuJ3Qgc3BlbmQKKyAgIHRvbyBtdWNoIHRpbWUgb24gd3JpdGluZyB5b3VyIGFkZGl0aW9uLikKKworICAgKiBJZiB5b3Ugd2FudCB0byBkcmF3IHlvdXIgbmV3IHRleHQgdG8gdGhlIGF0dGVudGlvbiBvZiB0aGUKKyAgIG1haW50YWluZXIsIGFkZCAnWFhYJyB0byB0aGUgYmVnaW5uaW5nIG9mIHRoZSBwYXJhZ3JhcGggb3IKKyAgIHNlY3Rpb24uCisKKyAgICogSXQncyBPSyB0byBqdXN0IGFkZCBhIGZyYWdtZW50YXJ5IG5vdGUgYWJvdXQgYSBjaGFuZ2UuICBGb3IKKyAgIGV4YW1wbGU6ICJYWFggRGVzY3JpYmUgdGhlIHRyYW5zbW9ncmlmeSgpIGZ1bmN0aW9uIGFkZGVkIHRvIHRoZQorICAgc29ja2V0IG1vZHVsZS4iICBUaGUgbWFpbnRhaW5lciB3aWxsIHJlc2VhcmNoIHRoZSBjaGFuZ2UgYW5kCisgICB3cml0ZSB0aGUgbmVjZXNzYXJ5IHRleHQuCisKKyAgICogWW91IGNhbiBjb21tZW50IG91dCB5b3VyIGFkZGl0aW9ucyBpZiB5b3UgbGlrZSwgYnV0IGl0J3Mgbm90CisgICBuZWNlc3NhcnkgKGVzcGVjaWFsbHkgd2hlbiBhIGZpbmFsIHJlbGVhc2UgaXMgc29tZSBtb250aHMgYXdheSkuCisKKyAgICogQ3JlZGl0IHRoZSBhdXRob3Igb2YgYSBwYXRjaCBvciBidWdmaXguICAgSnVzdCB0aGUgbmFtZSBpcworICAgc3VmZmljaWVudDsgdGhlIGUtbWFpbCBhZGRyZXNzIGlzbid0IG5lY2Vzc2FyeS4KKworICAgKiBJdCdzIGhlbHBmdWwgdG8gYWRkIHRoZSBidWcvcGF0Y2ggbnVtYmVyIGFzIGEgY29tbWVudDoKKworICAgWFhYIERlc2NyaWJlIHRoZSB0cmFuc21vZ3JpZnkoKSBmdW5jdGlvbiBhZGRlZCB0byB0aGUgc29ja2V0CisgICBtb2R1bGUuCisgICAoQ29udHJpYnV0ZWQgYnkgUC5ZLiBEZXZlbG9wZXIgaW4gOmlzc3VlOmAxMjM0NWAuKQorCisgICBUaGlzIHNhdmVzIHRoZSBtYWludGFpbmVyIHRoZSBlZmZvcnQgb2YgZ29pbmcgdGhyb3VnaCB0aGUgTWVyY3VyaWFsIGxvZworICAgd2hlbiByZXNlYXJjaGluZyBhIGNoYW5nZS4KKworVGhpcyBhcnRpY2xlIGV4cGxhaW5zIHRoZSBuZXcgZmVhdHVyZXMgaW4gUHl0aG9uIDMuNSwgY29tcGFyZWQgdG8gMy40LgorCitGb3IgZnVsbCBkZXRhaWxzLCBzZWUgdGhlIDpzb3VyY2U6YE1pc2MvTkVXU2AgZmlsZS4KKworLi4gbm90ZTo6IFByZXJlbGVhc2UgdXNlcnMgc2hvdWxkIGJlIGF3YXJlIHRoYXQgdGhpcyBkb2N1bWVudCBpcyBjdXJyZW50bHkgaW4KKyAgIGRyYWZ0IGZvcm0uIEl0IHdpbGwgYmUgdXBkYXRlZCBzdWJzdGFudGlhbGx5IGFzIFB5dGhvbiAzLjUgbW92ZXMgdG93YXJkcworICAgcmVsZWFzZSwgc28gaXQncyB3b3J0aCBjaGVja2luZyBiYWNrIGV2ZW4gYWZ0ZXIgcmVhZGluZyBlYXJsaWVyIHZlcnNpb25zLgorCisKKy4uIHNlZWFsc286OgorCisgICAgOnBlcDpgNDc4YCAtIFB5dGhvbiAzLjUgUmVsZWFzZSBTY2hlZHVsZQorCisKK1N1bW1hcnkgLS0gUmVsZWFzZSBoaWdobGlnaHRzCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorCisuLiBUaGlzIHNlY3Rpb24gc2luZ2xlcyBvdXQgdGhlIG1vc3QgaW1wb3J0YW50IGNoYW5nZXMgaW4gUHl0aG9uIDMuMy4KKyAgIEJyZXZpdHkgaXMga2V5LgorCitOZXcgc3ludGF4IGZlYXR1cmVzOgorCisqIE5vbmUgeWV0LgorCitOZXcgbGlicmFyeSBtb2R1bGVzOgorCisqIE5vbmUgeWV0LgorCitOZXcgYnVpbHQtaW4gZmVhdHVyZXM6CisKKyogTm9uZSB5ZXQuCisKK0ltcGxlbWVudGF0aW9uIGltcHJvdmVtZW50czoKKworKiBXaGVuIHRoZSBgYExDX1RZUEVgYCBsb2NhbGUgaXMgdGhlIFBPU0lYIGxvY2FsZSAoYGBDYGAgbG9jYWxlKSwKKyAgOnB5OmRhdGE6YHN5cy5zdGRpbmAgYW5kIDpweTpkYXRhOmBzeXMuc3Rkb3V0YCBhcmUgbm93IHVzaW5nIHRoZQorICBgYHN1cnJvZ2F0ZWVzY2FwZWBgIGVycm9yIGhhbmRsZXIsIGluc3RlYWQgb2YgdGhlIGBgc3RyaWN0YGAgZXJyb3IgaGFuZGxlcgorICAoOmlzc3VlOmAxOTk3N2ApLgorCitTaWduaWZpY2FudGx5IEltcHJvdmVkIExpYnJhcnkgTW9kdWxlczoKKworKiBOb25lIHlldC4KKworU2VjdXJpdHkgaW1wcm92ZW1lbnRzOgorCisqIE5vbmUgeWV0LgorCitQbGVhc2UgcmVhZCBvbiBmb3IgYSBjb21wcmVoZW5zaXZlIGxpc3Qgb2YgdXNlci1mYWNpbmcgY2hhbmdlcy4KKworCisuLiBQRVAtc2l6ZWQgaXRlbXMgbmV4dC4KKworLi4gX3BlcC00WFg6CisKKy4uIFBFUCA0WFg6IFZpcnR1YWwgRW52aXJvbm1lbnRzCisuLiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorCisKKy4uIChJbXBsZW1lbnRlZCBieSBGb28gQmFyLikKKworLi4gLi4gc2VlYWxzbzo6CisKKyAgICA6cGVwOmA0WFhgIC0gUHl0aG9uIFZpcnR1YWwgRW52aXJvbm1lbnRzCisgICAgICAgUEVQIHdyaXR0ZW4gYnkgQ2FybCBNZXllcgorCisKK1BFUCA0NzU6IFJldHJ5IHN5c3RlbSBjYWxscyBmYWlsaW5nIHdpdGggRUlOVFIKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworOnBlcDpgNDc1YCBhZGRzIHN1cHBvcnQgZm9yIGF1dG9tYXRpYyByZXRyeSBvZiBzeXN0ZW0gY2FsbHMgZmFpbGluZyB3aXRoIEVJTlRSOgordGhpcyBtZWFucyB0aGF0IHVzZXIgY29kZSBkb2Vzbid0IGhhdmUgdG8gZGVhbCB3aXRoIEVJTlRSIG9yIEludGVycnVwdGVkRXJyb3IKK21hbnVhbGx5LCBhbmQgc2hvdWxkIG1ha2UgaXQgbW9yZSByb2J1c3QgYWdhaW5zdCBhc3luY2hyb25vdXMgc2lnbmFsIHJlY2VwdGlvbi4KKworLi4gc2VlYWxzbzo6CisKKyAgIDpwZXA6YDQ3NWAgLS0gUmV0cnkgc3lzdGVtIGNhbGxzIGZhaWxpbmcgd2l0aCBFSU5UUgorCisKK1BFUCA0ODY6IE1ha2UgdGhlIFB5dGhvbiBMYXVuY2hlciBhd2FyZSBvZiB2aXJ0dWFsIGVudmlyb25tZW50cworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKzpwZXA6YDQ4NmAgbWFrZXMgdGhlIFdpbmRvd3MgbGF1bmNoZXIgKHNlZSA6cGVwOmAzOTdgKSBhd2FyZSBvZiBhbiBhY3RpdmUKK3ZpcnR1YWwgZW52aXJvbm1lbnQuIFdoZW4gdGhlIGRlZmF1bHQgaW50ZXJwcmV0ZXIgd291bGQgYmUgdXNlZCBhbmQgdGhlCitgYFZJUlRVQUxfRU5WYGAgZW52aXJvbm1lbnQgdmFyaWFibGUgaXMgc2V0LCB0aGUgaW50ZXJwcmV0ZXIgaW4gdGhlIHZpcnR1YWwKK2Vudmlyb25tZW50IHdpbGwgYmUgdXNlZC4KKworLi4gc2VlYWxzbzo6CisKKyAgICA6cGVwOmA0ODZgIC0tIE1ha2UgdGhlIFB5dGhvbiBMYXVuY2hlciBhd2FyZSBvZiB2aXJ0dWFsIGVudmlyb25tZW50cworCitPdGhlciBMYW5ndWFnZSBDaGFuZ2VzCis9PT09PT09PT09PT09PT09PT09PT09CisKK1NvbWUgc21hbGxlciBjaGFuZ2VzIG1hZGUgdG8gdGhlIGNvcmUgUHl0aG9uIGxhbmd1YWdlIGFyZToKKworKiBBZGRlZCB0aGUgYGAnbmFtZXJlcGxhY2UnYGAgZXJyb3IgaGFuZGxlcnMuICBUaGUgYGAnYmFja3NsYXNocmVwbGFjZSdgYAorICBlcnJvciBoYW5kbGVycyBub3cgd29ya3Mgd2l0aCBkZWNvZGluZyBhbmQgdHJhbnNsYXRpbmcuCisgIChDb250cmlidXRlZCBieSBTZXJoaXkgU3RvcmNoYWthIGluIDppc3N1ZTpgMTk2NzZgIGFuZCA6aXNzdWU6YDIyMjg2YC4pCisKKworCitOZXcgTW9kdWxlcworPT09PT09PT09PT0KKworLi4gbW9kdWxlIG5hbWUKKy4uIC0tLS0tLS0tLS0tCisKKyogTm9uZSB5ZXQuCisKKworSW1wcm92ZWQgTW9kdWxlcworPT09PT09PT09PT09PT09PQorCithcmdwYXJzZQorLS0tLS0tLS0KKworKiA6Y2xhc3M6YH5hcmdwYXJzZS5Bcmd1bWVudFBhcnNlcmAgbm93IGFsbG93cyB0byBkaXNhYmxlCisgIDpyZWY6YGFiYnJldmlhdGVkIHVzYWdlIDxwcmVmaXgtbWF0Y2hpbmc+YCBvZiBsb25nIG9wdGlvbnMgYnkgc2V0dGluZworICA6cmVmOmBhbGxvd19hYmJyZXZgIHRvIGBgRmFsc2VgYC4KKyAgKENvbnRyaWJ1dGVkIGJ5IEpvbmF0aGFuIFBhdWdoLCBTdGV2ZW4gQmV0aGFyZCwgcGF1bCBqMyBhbmQgRGFuaWVsIEVyaWtzc29uLikKKworY2dpCistLS0KKworKiA6Y2xhc3M6YH5jZ2kuRmllbGRTdG9yYWdlYCBub3cgc3VwcG9ydHMgdGhlIGNvbnRleHQgbWFuYWdlbWVudCBwcm90b2NvbC4KKyAgKENvbnRyaWJ1dGVkIGJ5IEJlcmtlciBQZWtzYWcgaW4gOmlzc3VlOmAyMDI4OWAuKQorCitjb2RlCistLS0tCisKKyogVGhlIDpmdW5jOmBjb2RlLkludGVyYWN0aXZlSW50ZXJwcmV0ZXIuc2hvd3RyYWNlYmFja2AgbWV0aG9kIG5vdyBwcmludHMKKyAgdGhlIGZ1bGwgY2hhaW5lZCB0cmFjZWJhY2ssIGp1c3QgbGlrZSB0aGUgaW50ZXJhY3RpdmUgaW50ZXJwcmV0ZXIuCisgIChDb250cmlidXRlZCBieSBDbGF1ZGl1IFBvcGEgaW4gOmlzc3VlOmAxNzQ0MmAuKQorCitjb21waWxlYWxsCistLS0tLS0tLS0tCisKKyogOmZ1bmM6YGNvbXBpbGVhbGwuY29tcGlsZV9kaXJgIGFuZCA6bW9kOmBjb21waWxlYWxsYCdzIGNvbW1hbmQtbGluZSBpbnRlcmZhY2UKKyAgY2FuIG5vdyBkbyBwYXJhbGxlbCBieXRlY29kZSBjb21waWxhdGlvbi4KKyAgKENvbnRyaWJ1dGVkIGJ5IENsYXVkaXUgUG9wYSBpbiA6aXNzdWU6YDE2MTA0YC4pCisKK2NvbnRleHRsaWIKKy0tLS0tLS0tLS0KKworKiBUaGUgbmV3IDpmdW5jOmBjb250ZXh0bGliLnJlZGlyZWN0X3N0ZGVycmAgY29udGV4dCBtYW5hZ2VyKHNpbWlsYXIgdG8KKyAgOmZ1bmM6YGNvbnRleHRsaWIucmVkaXJlY3Rfc3Rkb3V0YCkgbWFrZXMgaXQgZWFzaWVyIGZvciB1dGlsaXR5IHNjcmlwdHMgdG8KKyAgaGFuZGxlIGluZmxleGlibGUgQVBJcyB0aGF0IHdyaXRlIHRoZWlyIG91dHB1dCB0byA6ZGF0YTpgc3lzLnN0ZGVycmAgYW5kCisgIGRvbid0IHByb3ZpZGUgYW55IG9wdGlvbnMgdG8gcmVkaXJlY3QgaXQuCisgIChDb250cmlidXRlZCBieSBCZXJrZXIgUGVrc2FnIGluIDppc3N1ZTpgMjIzODlgLikKKworZGlzdHV0aWxzCistLS0tLS0tLS0KKworKiBUaGUgYGBidWlsZGBgIGFuZCBgYGJ1aWxkX2V4dGBgIGNvbW1hbmRzIG5vdyBhY2NlcHQgYSBgYC1qYGAKKyAgb3B0aW9uIHRvIGVuYWJsZSBwYXJhbGxlbCBidWlsZGluZyBvZiBleHRlbnNpb24gbW9kdWxlcy4KKyAgKENvbnRyaWJ1dGVkIGJ5IEFudG9pbmUgUGl0cm91IGluIDppc3N1ZTpgNTMwOWAuKQorCitkb2N0ZXN0CistLS0tLS0tCisKKyogOmZ1bmM6YGRvY3Rlc3QuRG9jVGVzdFN1aXRlYCByZXR1cm5zIGFuIGVtcHR5IDpjbGFzczpgdW5pdHRlc3QuVGVzdFN1aXRlYCBpZgorICAqbW9kdWxlKiBjb250YWlucyBubyBkb2NzdHJpbmdzIGluc3RlYWQgb2YgcmFpc2luZyA6ZXhjOmBWYWx1ZUVycm9yYC4KKyAgKENvbnRyaWJ1dGVkIGJ5IEdsZW5uIEpvbmVzIGluIDppc3N1ZTpgMTU5MTZgLikKKworZ2xvYgorLS0tLQorCisqIDpmdW5jOmB+Z2xvYi5pZ2xvYmAgYW5kIDpmdW5jOmB+Z2xvYi5nbG9iYCBub3cgc3VwcG9ydCByZWN1cnNpdmUgc2VhcmNoIGluCisgIHN1YmRpcmVjdG9yaWVzIHVzaW5nIHRoZSAiYGAqKmBgIiBwYXR0ZXJuLgorICAoQ29udHJpYnV0ZWQgYnkgU2VyaGl5IFN0b3JjaGFrYSBpbiA6aXNzdWU6YDEzOTY4YC4pCisKK2ltYXBsaWIKKy0tLS0tLS0KKworKiA6Y2xhc3M6YElNQVA0YCBub3cgc3VwcG9ydHMgdGhlIGNvbnRleHQgbWFuYWdlbWVudCBwcm90b2NvbC4gIFdoZW4gdXNlZCBpbiBhCisgIDprZXl3b3JkOmB3aXRoYCBzdGF0ZW1lbnQsIHRoZSBJTUFQNCBgYExPR09VVGBgIGNvbW1hbmQgd2lsbCBiZSBjYWxsZWQKKyAgYXV0b21hdGljYWxseSBhdCB0aGUgZW5kIG9mIHRoZSBibG9jay4gIChDb250cmlidXRlZCBieSBUYXJlayBaaWFkw6kgYW5kCisgIFNlcmhpeSBTdG9yY2hha2EgaW4gOmlzc3VlOmA0OTcyYC4pCisKK2ltZ2hkcgorLS0tLS0tCisKKyogOmZ1bmM6YH5pbWdoZHIud2hhdGAgbm93IHJlY29nbml6ZXMgdGhlIGBPcGVuRVhSIDxodHRwOi8vd3d3Lm9wZW5leHIuY29tPmBfCisgIGZvcm1hdC4gIChDb250cmlidXRlZCBieSBNYXJ0aW4gVmlnbmFsaSBhbmQgQ2xhdWRpdSBQb3BhIGluIDppc3N1ZTpgMjAyOTVgLikKKworaW1wb3J0bGliCistLS0tLS0tLS0KKworKiA6Y2xhc3M6YGltcG9ydGxpYi51dGlsLkxhenlMb2FkZXJgIGFsbG93cyBmb3IgdGhlIGxhenkgbG9hZGluZyBvZiBtb2R1bGVzIGluCisgIGFwcGxpY2F0aW9ucyB3aGVyZSBzdGFydHVwIHRpbWUgaXMgcGFyYW1vdW50LgorICAoQ29udHJpYnV0ZWQgYnkgQnJldHQgQ2Fubm9uIGluIDppc3N1ZTpgMTc2MjFgLikKKworKiA6ZnVuYzpgaW1wb3J0bGliLmFiYy5JbnNwZWN0TG9hZGVyLnNvdXJjZV90b19jb2RlYCBpcyBub3cgYQorICBzdGF0aWMgbWV0aG9kIHRvIG1ha2UgaXQgZWFzaWVyIHRvIHdvcmsgd2l0aCBzb3VyY2UgY29kZSBpbiBhIHN0cmluZy4KKyAgV2l0aCBhIG1vZHVsZSBvYmplY3QgdGhhdCB5b3Ugd2FudCB0byBpbml0aWFsaXplIHlvdSBjYW4gdGhlbiB1c2UKKyAgYGBleGVjKGNvZGUsIG1vZHVsZS5fX2RpY3RfXylgYCB0byBleGVjdXRlIHRoZSBjb2RlIGluIHRoZSBtb2R1bGUuCisKKyogOmZ1bmM6YGltcG9ydGxpYi51dGlsLm1vZHVsZV9mcm9tX3NwZWNgIGlzIG5vdyB0aGUgcHJlZmVycmVkIHdheSB0byBjcmVhdGUgYQorICBuZXcgbW9kdWxlLiBDb21wYXJlZCB0byA6Y2xhc3M6YHR5cGVzLk1vZHVsZVR5cGVgLCB0aGlzIG5ldyBmdW5jdGlvbiB3aWxsIHNldAorICB0aGUgdmFyaW91cyBpbXBvcnQtY29udHJvbGxlZCBhdHRyaWJ1dGVzIGJhc2VkIG9uIHRoZSBwYXNzZWQtaW4gc3BlYyBvYmplY3QuCisKK2luc3BlY3QKKy0tLS0tLS0KKworKiA6Y2xhc3M6YGluc3BlY3QuU2lnbmF0dXJlYCBhbmQgOmNsYXNzOmBpbnNwZWN0LlBhcmFtZXRlcmAgYXJlIG5vdworICBwaWNrbGFibGUgYW5kIGhhc2hhYmxlLiAgKENvbnRyaWJ1dGVkIGJ5IFl1cnkgU2VsaXZhbm92IGluIDppc3N1ZTpgMjA3MjZgCisgIGFuZCA6aXNzdWU6YDIwMzM0YC4pCisKKyogTmV3IGNsYXNzIG1ldGhvZCA6bWV0aDpgaW5zcGVjdC5TaWduYXR1cmUuZnJvbV9jYWxsYWJsZWAsIHdoaWNoIG1ha2VzCisgIHN1YmNsYXNzaW5nIG9mIDpjbGFzczpgfmluc3BlY3QuU2lnbmF0dXJlYCBlYXNpZXIuICAoQ29udHJpYnV0ZWQKKyAgYnkgWXVyeSBTZWxpdmFub3YgYW5kIEVyaWMgU25vdyBpbiA6aXNzdWU6YDE3MzczYC4pCisKK2lwYWRkcmVzcworLS0tLS0tLS0tCisKKyogOmNsYXNzOmBpcGFkZHJlc3MuSVB2NE5ldHdvcmtgIGFuZCA6Y2xhc3M6YGlwYWRkcmVzcy5JUHY2TmV0d29ya2Agbm93CisgIGFjY2VwdCBhbiBgYChhZGRyZXNzLCBuZXRtYXNrKWBgIHR1cGxlIGFyZ3VtZW50LCBzbyBhcyB0byBlYXNpbHkgY29uc3RydWN0CisgIG5ldHdvcmsgb2JqZWN0cyBmcm9tIGV4aXN0aW5nIGFkZHJlc3Nlcy4gIChDb250cmlidXRlZCBieSBQZXRlciBNb29keQorICBhbmQgQW50b2luZSBQaXRyb3UgaW4gOmlzc3VlOmAxNjUzMWAuKQorCitqc29uCistLS0tCisKKyogVGhlIG91dHB1dCBvZiA6bW9kOmBqc29uLnRvb2xgIGNvbW1hbmQgbGluZSBpbnRlcmZhY2UgaXMgbm93IGluIHRoZSBzYW1lCisgIG9yZGVyIGFzIHRoZSBpbnB1dC4gVXNlIHRoZSA6b3B0aW9uOmAtLXNvcnQta2V5c2Agb3B0aW9uIHRvIHNvcnQgdGhlIG91dHB1dAorICBvZiBkaWN0aW9uYXJpZXMgYWxwaGFiZXRpY2FsbHkgYnkga2V5LiAgKENvbnRyaWJ1dGVkIGJ5IEJlcmtlciBQZWtzYWcgaW4KKyAgOmlzc3VlOmAyMTY1MGAuKQorCisqIEpTT04gZGVjb2RlciBub3cgcmFpc2VzIDpleGM6YGpzb24uSlNPTkRlY29kZUVycm9yYCBpbnN0ZWFkIG9mCisgIDpleGM6YFZhbHVlRXJyb3JgLiAgIChDb250cmlidXRlZCBieSBTZXJoaXkgU3RvcmNoYWthIGluIDppc3N1ZTpgMTkzNjFgLikKKworb3MKKy0tCisKKyogOmNsYXNzOmBvcy5zdGF0X3Jlc3VsdGAgbm93IGhhcyBhIDphdHRyOmB+b3Muc3RhdF9yZXN1bHQuc3RfZmlsZV9hdHRyaWJ1dGVzYAorICBhdHRyaWJ1dGUgb24gV2luZG93cy4gIChDb250cmlidXRlZCBieSBCZW4gSG95dCBpbiA6aXNzdWU6YDIxNzE5YC4pCisKK3JlCistLQorCisqIE51bWJlciBvZiBjYXB0dXJpbmcgZ3JvdXBzIGluIHJlZ3VsYXIgZXhwcmVzc2lvbiBpcyBubyBsb25nZXIgbGltaXRlZCBieSAxMDAuCisgIChDb250cmlidXRlZCBieSBTZXJoaXkgU3RvcmNoYWthIGluIDppc3N1ZTpgMjI0MzdgLikKKworKiBOb3cgdW5tYXRjaGVkIGdyb3VwcyBhcmUgcmVwbGFjZWQgd2l0aCBlbXB0eSBzdHJpbmdzIGluIDpmdW5jOmByZS5zdWJgCisgIGFuZCA6ZnVuYzpgcmUuc3VibmAuICAoQ29udHJpYnV0ZWQgYnkgU2VyaGl5IFN0b3JjaGFrYSBpbiA6aXNzdWU6YDE1MTk2MzhgLikKKworbWF0aAorLS0tLQorCisqIDpkYXRhOmBtYXRoLmluZmAgYW5kIDpkYXRhOmBtYXRoLm5hbmAgY29uc3RhbnRzIGFkZGVkLiAgKENvbnRyaWJ1dGVkIGJ5IE1hcmsKKyAgRGlja2luc29uIGluIDppc3N1ZTpgMjMxODVgLikKKworc2h1dGlsCistLS0tLS0KKworKiA6ZnVuYzpgfnNodXRpbC5tb3ZlYCBub3cgYWNjZXB0cyBhICpjb3B5X2Z1bmN0aW9uKiBhcmd1bWVudCwgYWxsb3dpbmcsCisgIGZvciBleGFtcGxlLCA6ZnVuYzpgfnNodXRpbC5jb3B5YCB0byBiZSB1c2VkIGluc3RlYWQgb2YgdGhlIGRlZmF1bHQKKyAgOmZ1bmM6YH5zaHV0aWwuY29weTJgIGlmIHRoZXJlIGlzIGEgbmVlZCB0byBpZ25vcmUgbWV0YWRhdGEuICAoQ29udHJpYnV0ZWQgYnkKKyAgQ2xhdWRpdSBQb3BhIGluIDppc3N1ZTpgMTk4NDBgLikKKworc2lnbmFsCistLS0tLS0KKworKiBEaWZmZXJlbnQgY29uc3RhbnRzIG9mIDptb2Q6YHNpZ25hbGAgbW9kdWxlIGFyZSBub3cgZW51bWVyYXRpb24gdmFsdWVzIHVzaW5nCisgIHRoZSA6bW9kOmBlbnVtYCBtb2R1bGUuIFRoaXMgYWxsb3dzIG1lYW5pbmdmdWwgbmFtZXMgdG8gYmUgcHJpbnRlZCBkdXJpbmcKKyAgZGVidWdnaW5nLCBpbnN0ZWFkIG9mIGludGVnZXIg4oCcbWFnaWMgbnVtYmVyc+KAnS4gIChDb250cmlidXRlZCBieSBHaWFtcGFvbG8KKyAgUm9kb2xhJyBpbiA6aXNzdWU6YDIxMDc2YC4pCisKK3NtdHBkCistLS0tLQorCisqIEJvdGggOmNsYXNzOmB+c210cGQuU01UUFNlcnZlcmAgYW5kIDpjbGFzczpgc210cGQuU01UUENoYW5uZWxgIG5vdyBhY2NlcHQgYQorICAqZGVjb2RlX2RhdGEqIGtleXdvcmQgdG8gZGV0ZXJtaW5lIGlmIHRoZSBEQVRBIHBvcnRpb24gb2YgdGhlIFNNVFAKKyAgdHJhbnNhY3Rpb24gaXMgZGVjb2RlZCB1c2luZyB0aGUgYGB1dGYtOGBgIGNvZGVjIG9yIGlzIGluc3RlYWQgcHJvdmlkZWQgdG8KKyAgOm1ldGg6YH5zbXRwZC5TTVRQU2VydmVyLnByb2Nlc3NfbWVzc2FnZWAgYXMgYSBieXRlIHN0cmluZy4gIFRoZSBkZWZhdWx0CisgIGlzIGBgVHJ1ZWBgIGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IHJlYXNvbnMsIGJ1dCB3aWxsIGNoYW5nZSB0byBgYEZhbHNlYGAKKyAgaW4gUHl0aG9uIDMuNi4gIChDb250cmlidXRlZCBieSBNYWNpZWogU3p1bGlrIGluIDppc3N1ZTpgMTk2NjJgLikKKworKiBJdCBpcyBub3cgcG9zc2libGUgdG8gcHJvdmlkZSwgZGlyZWN0bHkgb3IgdmlhIG5hbWUgcmVzb2x1dGlvbiwgSVB2NgorICBhZGRyZXNzZXMgaW4gdGhlIDpjbGFzczpgfnNtdHBkLlNNVFBTZXJ2ZXJgIGNvbnN0cnVjdG9yLCBhbmQgaGF2ZSBpdAorICBzdWNjZXNzZnVsbHkgY29ubmVjdC4gIChDb250cmlidXRlZCBieSBNaWxhbiBPYmVya2lyY2ggaW4gOmlzc3VlOmAxNDc1OGAuKQorCisqIDptb2Q6YH5zbXRwZC5TTVRQU2VydmVyYCBub3cgc3VwcG9ydHMgOnJmYzpgNjUzMWAgdmlhIHRoZSAqZW5hYmxlX1NNVFBVVEY4KgorICBjb25zdHJ1Y3RvciBhcmd1bWVudCBhbmQgYSB1c2VyLXByb3ZpZGVkCisgIDptZXRoOmB+c210cGQuU01UUFNlcnZlci5wcm9jZXNzX3NtdHB1dGY4X21lc3NhZ2VgIG1ldGhvZC4KKworc210cGxpYgorLS0tLS0tLQorCisqIEEgbmV3IDptZXRoOmB+c210cGxpYi5TTVRQLmF1dGhgIG1ldGhvZCBwcm92aWRlcyBhIGNvbnZlbmllbnQgd2F5IHRvCisgIGltcGxlbWVudCBjdXN0b20gYXV0aGVudGljYXRpb24gbWVjaGFuaXNtcy4KKyAgKENvbnRyaWJ1dGVkIGJ5IE1pbGFuIE9iZXJraXJjaCBpbiA6aXNzdWU6YDE1MDE0YC4pCisKK3NuZGhkcgorLS0tLS0tCisKKyogOmZ1bmM6YH5zbmRoZHIud2hhdGAgYW5kIDpmdW5jOmB+c25kaGRyLndoYXRoZHJgIG5vdyByZXR1cm4KKyAgOmZ1bmM6YH5jb2xsZWN0aW9ucy5uYW1lZHR1cGxlYC4KKyAgKENvbnRyaWJ1dGVkIGJ5IENsYXVkaXUgUG9wYSBpbiA6aXNzdWU6YDE4NjE1YC4pCisKK3NvY2tldAorLS0tLS0tCisKKyogTmV3IDptZXRoOmBzb2NrZXQuc29ja2V0LnNlbmRmaWxlYCBtZXRob2QgYWxsb3dzIHRvIHNlbmQgYSBmaWxlIG92ZXIgYSBzb2NrZXQKKyAgYnkgdXNpbmcgaGlnaC1wZXJmb3JtYW5jZSA6ZnVuYzpgb3Muc2VuZGZpbGVgIGZ1bmN0aW9uIG9uIFVOSVggcmVzdWx0aW5nIGluCisgIHVwbG9hZHMgYmVpbmcgZnJvbSAyeCB0byAzeCBmYXN0ZXIgdGhhbiB3aGVuIHVzaW5nIHBsYWluCisgIDptZXRoOmBzb2NrZXQuc29ja2V0LnNlbmRgLgorICAoQ29udHJpYnV0ZWQgYnkgR2lhbXBhb2xvIFJvZG9sYScgaW4gOmlzc3VlOmAxNzU1MmAuKQorCitzeXNjb25maWcKKy0tLS0tLS0tLQorCisqIFRoZSB1c2VyIHNjcmlwdHMgZGlyZWN0b3J5IG9uIFdpbmRvd3MgaXMgbm93IHZlcnNpb25lZC4KKyAgKENvbnRyaWJ1dGVkIGJ5IFBhdWwgTW9vcmUgaW4gOmlzc3VlOmAyMzQzN2AuKQorCisKK3RhcmZpbGUKKy0tLS0tLS0KKworKiBUaGUgOmZ1bmM6YHRhcmZpbGUub3BlbmAgZnVuY3Rpb24gbm93IHN1cHBvcnRzIGBgJ3gnYGAgKGV4Y2x1c2l2ZSBjcmVhdGlvbikKKyAgbW9kZS4gIChDb250cmlidXRlZCBieSBCZXJrZXIgUGVrc2FnIGluIDppc3N1ZTpgMjE3MTdgLikKKwordGltZQorLS0tLQorCisqIFRoZSA6ZnVuYzpgdGltZS5tb25vdG9uaWNgIGZ1bmN0aW9uIGlzIG5vdyBhbHdheXMgYXZhaWxhYmxlLiAgKENvbnRyaWJ1dGVkIGJ5CisgIFZpY3RvciBTdGlubmVyIGluIDppc3N1ZTpgMjIwNDNgLikKKwordXJsbGliCistLS0tLS0KKworKiBBIG5ldyA6Y2xhc3M6YHVybGxpYi5yZXF1ZXN0LkhUVFBCYXNpY1ByaW9yQXV0aEhhbmRsZXJgIGFsbG93cyBIVFRQIEJhc2ljCisgIEF1dGhlbnRpY2F0aW9uIGNyZWRlbnRpYWxzIHRvIGJlIHNlbnQgdW5jb25kaXRpb25hbGx5IHdpdGggdGhlIGZpcnN0IEhUVFAKKyAgcmVxdWVzdCwgcmF0aGVyIHRoYW4gd2FpdGluZyBmb3IgYSBIVFRQIDQwMSBVbmF1dGhvcml6ZWQgcmVzcG9uc2UgZnJvbSB0aGUKKyAgc2VydmVyLgorICAoQ29udHJpYnV0ZWQgYnkgTWF0ZWogQ2VwbCBpbiA6aXNzdWU6YDE5NDk0YC4pCisKK3dzZ2lyZWYKKy0tLS0tLS0KKworKiAqaGVhZGVycyogcGFyYW1ldGVyIG9mIDpjbGFzczpgd3NnaXJlZi5oZWFkZXJzLkhlYWRlcnNgIGlzIG5vdyBvcHRpb25hbC4KKyAgKENvbnRyaWJ1dGVkIGJ5IFBhYmxvIFRvcnJlcyBOYXZhcnJldGUgYW5kIFNpbGVudEdob3N0IGluIDppc3N1ZTpgNTgwMGAuKQorCit4bWxycGMKKy0tLS0tLQorCisqIDpjbGFzczpgeG1scnBjLmNsaWVudC5TZXJ2ZXJQcm94eWAgaXMgbm93IGEgOnRlcm06YGNvbnRleHQgbWFuYWdlcmAuCisgIChDb250cmlidXRlZCBieSBDbGF1ZGl1IFBvcGEgaW4gOmlzc3VlOmAyMDYyN2AuKQorCisKK09wdGltaXphdGlvbnMKKz09PT09PT09PT09PT0KKworVGhlIGZvbGxvd2luZyBwZXJmb3JtYW5jZSBlbmhhbmNlbWVudHMgaGF2ZSBiZWVuIGFkZGVkOgorCisqIENvbnN0cnVjdGlvbiBvZiBgYGJ5dGVzKGludClgYCAoZmlsbGVkIGJ5IHplcm8gYnl0ZXMpIGlzIGZhc3RlciBhbmQgdXNlIGxlc3MKKyAgbWVtb3J5IGZvciBsYXJnZSBvYmplY3RzLiBgYGNhbGxvYygpYGAgaXMgdXNlZCBpbnN0ZWFkIG9mIGBgbWFsbG9jKClgYCB0bworICBhbGxvY2F0ZSBtZW1vcnkgZm9yIHRoZXNlIG9iamVjdHMuCisKKyogU29tZSBvcGVyYXRpb25zIG9uIDpjbGFzczpgfmlwYWRkcmVzcy5JUHY0TmV0d29ya2AgYW5kCisgIDpjbGFzczpgfmlwYWRkcmVzcy5JUHY2TmV0d29ya2AgaGF2ZSBiZWVuIG1hc3NpdmVseSBzcGVkIHVwLCBzdWNoIGFzCisgIDptZXRoOmB+aXBhZGRyZXNzLklQdjROZXR3b3JrLnN1Ym5ldHNgLCA6bWV0aDpgfmlwYWRkcmVzcy5JUHY0TmV0d29yay5zdXBlcm5ldGAsCisgIDpmdW5jOmB+aXBhZGRyZXNzLnN1bW1hcml6ZV9hZGRyZXNzX3JhbmdlYCwgOmZ1bmM6YH5pcGFkZHJlc3MuY29sbGFwc2VfYWRkcmVzc2VzYC4KKyAgVGhlIHNwZWVkIHVwIGNhbiByYW5nZSBmcm9tIDN4IHRvIDE1eC4KKyAgKDppc3N1ZTpgMjE0ODZgLCA6aXNzdWU6YDIxNDg3YCwgOmlzc3VlOmAyMDgyNmApCisKKyogTWFueSBvcGVyYXRpb25zIG9uIDpjbGFzczpgaW8uQnl0ZXNJT2AgYXJlIG5vdyA1MCUgdG8gMTAwJSBmYXN0ZXIuCisgIChDb250cmlidXRlZCBieSBTZXJoaXkgU3RvcmNoYWthIGluIDppc3N1ZTpgMTUzODFgIGFuZCBEYXZpZCBXaWxzb24gaW4KKyAgOmlzc3VlOmAyMjAwM2AuKQorCisqIDpmdW5jOmBtYXJzaGFsLmR1bXBzYCBpcyBub3cgZmFzdGVyICg2NSUtODUlIHdpdGggdmVyc2lvbnMgMy0tNCwgMjAtMjUlIHdpdGgKKyAgdmVyc2lvbnMgMC0tMiBvbiB0eXBpY2FsIGRhdGEsIGFuZCB1cCB0byA1eCBpbiBiZXN0IGNhc2VzKS4KKyAgKENvbnRyaWJ1dGVkIGJ5IFNlcmhpeSBTdG9yY2hha2EgaW4gOmlzc3VlOmAyMDQxNmAgYW5kIDppc3N1ZTpgMjMzNDRgLikKKworCitCdWlsZCBhbmQgQyBBUEkgQ2hhbmdlcworPT09PT09PT09PT09PT09PT09PT09PT0KKworQ2hhbmdlcyB0byBQeXRob24ncyBidWlsZCBwcm9jZXNzIGFuZCB0byB0aGUgQyBBUEkgaW5jbHVkZToKKworKiBOZXcgYGBjYWxsb2NgYCBmdW5jdGlvbnM6CisKKyAgKiA6YzpmdW5jOmBQeU1lbV9SYXdDYWxsb2NgCisgICogOmM6ZnVuYzpgUHlNZW1fQ2FsbG9jYAorICAqIDpjOmZ1bmM6YFB5T2JqZWN0X0NhbGxvY2AKKyAgKiA6YzpmdW5jOmBfUHlPYmplY3RfR0NfQ2FsbG9jYAorCisKK0RlcHJlY2F0ZWQKKz09PT09PT09PT0KKworVW5zdXBwb3J0ZWQgT3BlcmF0aW5nIFN5c3RlbXMKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKyogTm9uZSB5ZXQuCisKKworRGVwcmVjYXRlZCBQeXRob24gbW9kdWxlcywgZnVuY3Rpb25zIGFuZCBtZXRob2RzCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworKiBUaGUgOm1vZDpgZm9ybWF0dGVyYCBtb2R1bGUgaGFzIG5vdyBncmFkdWF0ZWQgdG8gZnVsbCBkZXByZWNhdGlvbiBhbmQgaXMgc3RpbGwKKyAgc2xhdGVkIGZvciByZW1vdmFsIGluIFB5dGhvbiAzLjYuCisKKyogOm1vZDpgc210cGRgIGhhcyBpbiB0aGUgcGFzdCBhbHdheXMgZGVjb2RlZCB0aGUgREFUQSBwb3J0aW9uIG9mIGVtYWlsCisgIG1lc3NhZ2VzIHVzaW5nIHRoZSBgYHV0Zi04YGAgY29kZWMuICBUaGlzIGNhbiBub3cgYmUgY29udHJvbGxlZCBieSB0aGUgbmV3CisgICpkZWNvZGVfZGF0YSoga2V5d29yZCB0byA6Y2xhc3M6YH5zbXRwZC5TTVRQU2VydmVyYC4gIFRoZSBkZWZhdWx0IHZhbHVlIGlzCisgIGBgVHJ1ZWBgLCBidXQgdGhpcyBkZWZhdWx0IGlzIGRlcHJlY2F0ZWQuICBTcGVjaWZ5IHRoZSAqZGVjb2RlX2RhdGEqIGtleXdvcmQKKyAgd2l0aCBhbiBhcHByb3ByaWF0ZSB2YWx1ZSB0byBhdm9pZCB0aGUgZGVwcmVjYXRpb24gd2FybmluZy4KKworCitEZXByZWNhdGVkIGZ1bmN0aW9ucyBhbmQgdHlwZXMgb2YgdGhlIEMgQVBJCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKyogTm9uZSB5ZXQuCisKKworRGVwcmVjYXRlZCBmZWF0dXJlcworLS0tLS0tLS0tLS0tLS0tLS0tLQorCisqIE5vbmUgeWV0LgorCisKK1JlbW92ZWQKKz09PT09PT0KKworQVBJIGFuZCBGZWF0dXJlIFJlbW92YWxzCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworVGhlIGZvbGxvd2luZyBvYnNvbGV0ZSBhbmQgcHJldmlvdXNseSBkZXByZWNhdGVkIEFQSXMgYW5kIGZlYXR1cmVzIGhhdmUgYmVlbgorcmVtb3ZlZDoKKworKiBUaGUgYGBfX3ZlcnNpb25fX2BgIGF0dHJpYnV0ZSBoYXMgYmVlbiBkcm9wcGVkIGZyb20gdGhlIGVtYWlsIHBhY2thZ2UuICBUaGUKKyAgZW1haWwgY29kZSBoYXNuJ3QgYmVlbiBzaGlwcGVkIHNlcGFyYXRlbHkgZnJvbSB0aGUgc3RkbGliIGZvciBhIGxvbmcgdGltZSwKKyAgYW5kIHRoZSBgYF9fdmVyc2lvbl9fYGAgc3RyaW5nIHdhcyBub3QgdXBkYXRlZCBpbiB0aGUgbGFzdCBmZXcgcmVsZWFzZXMuCisKKyogVGhlIGludGVybmFsIGBgTmV0cmNgYCBjbGFzcyBpbiB0aGUgOm1vZDpgZnRwbGliYCBtb2R1bGUgd2FzIGRlcHJlY2F0ZWQgaW4KKyAgMy40LCBhbmQgaGFzIG5vdyBiZWVuIHJlbW92ZWQuCisgIChDb250cmlidXRlZCBieSBNYXR0IENoYXB1dCBpbiA6aXNzdWU6YDY2MjNgLikKKworUG9ydGluZyB0byBQeXRob24gMy41Cis9PT09PT09PT09PT09PT09PT09PT0KKworVGhpcyBzZWN0aW9uIGxpc3RzIHByZXZpb3VzbHkgZGVzY3JpYmVkIGNoYW5nZXMgYW5kIG90aGVyIGJ1Z2ZpeGVzCit0aGF0IG1heSByZXF1aXJlIGNoYW5nZXMgdG8geW91ciBjb2RlLgorCitDaGFuZ2VzIGluIHRoZSBQeXRob24gQVBJCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKyogQmVmb3JlIFB5dGhvbiAzLjUsIGEgOmNsYXNzOmBkYXRldGltZS50aW1lYCBvYmplY3Qgd2FzIGNvbnNpZGVyZWQgdG8gYmUgZmFsc2UKKyAgaWYgaXQgcmVwcmVzZW50ZWQgbWlkbmlnaHQgaW4gVVRDLiAgVGhpcyBiZWhhdmlvciB3YXMgY29uc2lkZXJlZCBvYnNjdXJlIGFuZAorICBlcnJvci1wcm9uZSBhbmQgaGFzIGJlZW4gcmVtb3ZlZCBpbiBQeXRob24gMy41LiAgU2VlIDppc3N1ZTpgMTM5MzZgIGZvciBmdWxsCisgIGRldGFpbHMuCisKKyogOm1ldGg6YHNzbC5TU0xTb2NrZXQuc2VuZCgpYCBub3cgcmFpc2VzIGVpdGhlciA6ZXhjOmBzc2wuU1NMV2FudFJlYWRFcnJvcmAKKyAgb3IgOmV4Yzpgc3NsLlNTTFdhbnRXcml0ZUVycm9yYCBvbiBhIG5vbi1ibG9ja2luZyBzb2NrZXQgaWYgdGhlIG9wZXJhdGlvbgorICB3b3VsZCBibG9jay4gUHJldmlvdXNseSwgaXQgd291bGQgcmV0dXJuIDAuICBTZWUgOmlzc3VlOmAyMDk1MWAuCisKKyogVGhlIGBgX19uYW1lX19gYCBhdHRyaWJ1dGUgb2YgZ2VuZXJhdG9yIGlzIG5vdyBzZXQgZnJvbSB0aGUgZnVuY3Rpb24gbmFtZSwKKyAgaW5zdGVhZCBvZiBiZWluZyBzZXQgZnJvbSB0aGUgY29kZSBuYW1lLiBVc2UgYGBnZW4uZ2lfY29kZS5jb19uYW1lYGAgdG8KKyAgcmV0cmlldmUgdGhlIGNvZGUgbmFtZS4gR2VuZXJhdG9ycyBhbHNvIGhhdmUgYSBuZXcgYGBfX3F1YWxuYW1lX19gYAorICBhdHRyaWJ1dGUsIHRoZSBxdWFsaWZpZWQgbmFtZSwgd2hpY2ggaXMgbm93IHVzZWQgZm9yIHRoZSByZXByZXNlbnRhdGlvbgorICBvZiBhIGdlbmVyYXRvciAoYGByZXByKGdlbilgYCkuIFNlZSA6aXNzdWU6YDIxMjA1YC4KKworKiBUaGUgZGVwcmVjYXRlZCAic3RyaWN0IiBtb2RlIGFuZCBhcmd1bWVudCBvZiA6Y2xhc3M6YH5odG1sLnBhcnNlci5IVE1MUGFyc2VyYCwKKyAgOm1ldGg6YEhUTUxQYXJzZXIuZXJyb3JgLCBhbmQgdGhlIDpleGM6YEhUTUxQYXJzZXJFcnJvcmAgZXhjZXB0aW9uIGhhdmUgYmVlbgorICByZW1vdmVkLiAgKENvbnRyaWJ1dGVkIGJ5IEV6aW8gTWVsb3R0aSBpbiA6aXNzdWU6YDE1MTE0YC4pCisgIFRoZSAqY29udmVydF9jaGFycmVmcyogYXJndW1lbnQgb2YgOmNsYXNzOmB+aHRtbC5wYXJzZXIuSFRNTFBhcnNlcmAgaXMKKyAgbm93IGBgVHJ1ZWBgIGJ5IGRlZmF1bHQuICAoQ29udHJpYnV0ZWQgYnkgQmVya2VyIFBla3NhZyBpbiA6aXNzdWU6YDIxMDQ3YC4pCisKKyogQWx0aG91Z2ggaXQgaXMgbm90IGZvcm1hbGx5IHBhcnQgb2YgdGhlIEFQSSwgaXQgaXMgd29ydGggbm90aW5nIGZvciBwb3J0aW5nCisgIHB1cnBvc2VzIChpZTogZml4aW5nIHRlc3RzKSB0aGF0IGVycm9yIG1lc3NhZ2VzIHRoYXQgd2VyZSBwcmV2aW91c2x5IG9mIHRoZQorICBmb3JtICInc29tZXR5cGUnIGRvZXMgbm90IHN1cHBvcnQgdGhlIGJ1ZmZlciBwcm90b2NvbCIgYXJlIG5vdyBvZiB0aGUgZm9ybSAiYQorICBieXRlcy1saWtlIG9iamVjdCBpcyByZXF1aXJlZCwgbm90ICdzb21ldHlwZSciLiAgKENvbnRyaWJ1dGVkIGJ5IEV6aW8gTWVsb3R0aQorICBpbiA6aXNzdWU6YDE2NTE4YC4pCisKKyogSWYgdGhlIGN1cnJlbnQgZGlyZWN0b3J5IGlzIHNldCB0byBhIGRpcmVjdG9yeSB0aGF0IG5vIGxvbmdlciBleGlzdHMgdGhlbgorICA6ZXhjOmBGaWxlTm90Rm91bmRFcnJvcmAgd2lsbCBubyBsb25nZXIgYmUgcmFpc2VkIGFuZCBpbnN0ZWFkCisgIDptZXRoOmB+aW1wb3J0bGliLm1hY2hpbmVyeS5GaWxlRmluZGVyLmZpbmRfc3BlY2Agd2lsbCByZXR1cm4gYGBOb25lYGAKKyAgKip3aXRob3V0KiogY2FjaGluZyBgYE5vbmVgYCBpbiA6ZGF0YTpgc3lzLnBhdGhfaW1wb3J0ZXJfY2FjaGVgIHdoaWNoIGlzCisgIGRpZmZlcmVudCB0aGFuIHRoZSB0eXBpY2FsIGNhc2UgKDppc3N1ZTpgMjI4MzRgKS4KKworKiBIVFRQIHN0YXR1cyBjb2RlIGFuZCBtZXNzYWdlcyBmcm9tIDptb2Q6YGh0dHAuY2xpZW50YCBhbmQgOm1vZDpgaHR0cC5zZXJ2ZXJgCisgIHdlcmUgcmVmYWN0b3JlZCBpbnRvIGEgY29tbW9uIDpjbGFzczpgfmh0dHAuSFRUUFN0YXR1c2AgZW51bS4gIFRoZSB2YWx1ZXMgaW4KKyAgOm1vZDpgaHR0cC5jbGllbnRgIGFuZCA6bW9kOmBodHRwLnNlcnZlcmAgcmVtYWluIGF2YWlsYWJsZSBmb3IgYmFja3dhcmRzCisgIGNvbXBhdGliaWxpdHkuICAoQ29udHJpYnV0ZWQgYnkgRGVtaWFuIEJyZWNodCBpbiA6aXNzdWU6YDIxNzkzYC4pCisKKyogV2hlbiBhbiBpbXBvcnQgbG9hZGVyIGRlZmluZXMgOm1ldGg6YH5pbXBvcnRsaWIubWFjaGluZXJ5LkxvYWRlci5leGVjX21vZHVsZWAKKyAgaXQgaXMgbm93IGV4cGVjdGVkIHRvIGFsc28gZGVmaW5lCisgIDptZXRoOmB+aW1wb3J0bGliLm1hY2hpbmVyeS5Mb2FkZXIuY3JlYXRlX21vZHVsZWAgKHJhaXNlcyBhCisgIDpleGM6YERlcHJlY2F0aW9uV2FybmluZ2Agbm93LCB3aWxsIGJlIGFuIGVycm9yIGluIFB5dGhvbiAzLjYpLiBJZiB0aGUgbG9hZGVyCisgIGluaGVyaXRzIGZyb20gOmNsYXNzOmBpbXBvcnRsaWIuYWJjLkxvYWRlcmAgdGhlbiB0aGVyZSBpcyBub3RoaW5nIHRvIGRvLCBlbHNlCisgIHNpbXBseSBkZWZpbmUgOm1ldGg6YH5pbXBvcnRsaWIubWFjaGluZXJ5LkxvYWRlci5jcmVhdGVfbW9kdWxlYCB0byByZXR1cm4KKyAgYGBOb25lYGAgKDppc3N1ZTpgMjMwMTRgKS4KKworKiA6ZnVuYzpgcmUuc3BsaXRgIGFsd2F5cyBpZ25vcmVkIGVtcHR5IHBhdHRlcm4gbWF0Y2hlcywgc28gdGhlIGBgJ3gqJ2BgCisgIHBhdHRlcm4gd29ya2VkIHRoZSBzYW1lIGFzIGBgJ3grJ2BgLCBhbmQgdGhlIGBgJ1xiJ2BgIHBhdHRlcm4gbmV2ZXIgd29ya2VkLgorICBOb3cgOmZ1bmM6YHJlLnNwbGl0YCByYWlzZXMgYSB3YXJuaW5nIGlmIHRoZSBwYXR0ZXJuIGNvdWxkIG1hdGNoCisgIGFuIGVtcHR5IHN0cmluZy4gIEZvciBjb21wYXRpYmlsaXR5IHVzZSBwYXR0ZXJucyB0aGF0IG5ldmVyIG1hdGNoIGFuIGVtcHR5CisgIHN0cmluZyAoZS5nLiBgYCd4KydgYCBpbnN0ZWFkIG9mIGBgJ3gqJ2BgKS4gIFBhdHRlcm5zIHRoYXQgY291bGQgb25seSBtYXRjaAorICBhbiBlbXB0eSBzdHJpbmcgKHN1Y2ggYXMgYGAnXGInYGApIG5vdyByYWlzZSBhbiBlcnJvci4KKworQ2hhbmdlcyBpbiB0aGUgQyBBUEkKKy0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKyogVGhlIHVuZG9jdW1lbnRlZCA6YzptZW1iZXI6YH5QeU1lbW9yeVZpZXdPYmplY3QuZm9ybWF0YCBtZW1iZXIgb2YgdGhlCisgIChub24tcHVibGljKSA6Yzp0eXBlOmBQeU1lbW9yeVZpZXdPYmplY3RgIHN0cnVjdHVyZSBoYXMgYmVlbiByZW1vdmVkLgorCisgIEFsbCBleHRlbnNpb25zIHJlbHlpbmcgb24gdGhlIHJlbGV2YW50IHBhcnRzIGluIGBgbWVtb3J5b2JqZWN0LmhgYAorICBtdXN0IGJlIHJlYnVpbHQuCisKKyogVGhlIDpjOnR5cGU6YFB5TWVtQWxsb2NhdG9yYCBzdHJ1Y3R1cmUgd2FzIHJlbmFtZWQgdG8KKyAgOmM6dHlwZTpgUHlNZW1BbGxvY2F0b3JFeGAgYW5kIGEgbmV3IGBgY2FsbG9jYGAgZmllbGQgd2FzIGFkZGVkLgorCisqIFJlbW92ZWQgbm9uLWRvY3VtZW50ZWQgbWFjcm8gOmM6bWFjcm86YFB5T2JqZWN0X1JFUFJgIHdoaWNoIGxlYWtlZCByZWZlcmVuY2VzLgorICBVc2UgZm9ybWF0IGNoYXJhY3RlciBgYCVSYGAgaW4gOmM6ZnVuYzpgUHlVbmljb2RlX0Zyb21Gb3JtYXRgLWxpa2UgZnVuY3Rpb25zCisgIHRvIGZvcm1hdCB0aGUgOmZ1bmM6YHJlcHJgIG9mIHRoZSBvYmplY3QuCisKKyogQmVjYXVzZSB0aGUgbGFjayBvZiB0aGUgOmF0dHI6YF9fbW9kdWxlX19gIGF0dHJpYnV0ZSBicmVha3MgcGlja2xpbmcgYW5kCisgIGludHJvc3BlY3Rpb24sIGEgZGVwcmVjYXRpb24gd2FybmluZyBub3cgaXMgcmFpc2VkIGZvciBidWlsdGluIHR5cGUgd2l0aG91dAorICB0aGUgOmF0dHI6YF9fbW9kdWxlX19gIGF0dHJpYnV0ZS4gIFdvdWxkIGJlIGFuIEF0dHJpYnV0ZUVycm9yIGluIGZ1dHVyZS4KKyAgKDppc3N1ZTpgMjAyMDRgKQpkaWZmIC0tZ2l0IGEvRG9jL3doYXRzbmV3L2luZGV4LnJzdCBiL0RvYy93aGF0c25ldy9pbmRleC5yc3QKaW5kZXggMjk5MDJlNC4uZWRiNTUwMiAxMDA2NDQKLS0tIGEvRG9jL3doYXRzbmV3L2luZGV4LnJzdAorKysgYi9Eb2Mvd2hhdHNuZXcvaW5kZXgucnN0CkBAIC0xMSw2ICsxMSw3IEBACiAuLiB0b2N0cmVlOjoKICAgIDptYXhkZXB0aDogMgogCisgICAzLjUucnN0CiAgICAzLjQucnN0CiAgICAzLjMucnN0CiAgICAzLjIucnN0CmRpZmYgLS1naXQgYS9HcmFtbWFyL0dyYW1tYXIgYi9HcmFtbWFyL0dyYW1tYXIKaW5kZXggZDdhYWZmZC4uNmMwMTJjMCAxMDA2NDQKLS0tIGEvR3JhbW1hci9HcmFtbWFyCisrKyBiL0dyYW1tYXIvR3JhbW1hcgpAQCAtNDAsNyArNDAsNyBAQAogZXhwcl9zdG10OiB0ZXN0bGlzdF9zdGFyX2V4cHIgKGF1Z2Fzc2lnbiAoeWllbGRfZXhwcnx0ZXN0bGlzdCkgfAogICAgICAgICAgICAgICAgICAgICAgKCc9JyAoeWllbGRfZXhwcnx0ZXN0bGlzdF9zdGFyX2V4cHIpKSopCiB0ZXN0bGlzdF9zdGFyX2V4cHI6ICh0ZXN0fHN0YXJfZXhwcikgKCcsJyAodGVzdHxzdGFyX2V4cHIpKSogWycsJ10KLWF1Z2Fzc2lnbjogKCcrPScgfCAnLT0nIHwgJyo9JyB8ICcvPScgfCAnJT0nIHwgJyY9JyB8ICd8PScgfCAnXj0nIHwKK2F1Z2Fzc2lnbjogKCcrPScgfCAnLT0nIHwgJyo9JyB8ICdAPScgfCAnLz0nIHwgJyU9JyB8ICcmPScgfCAnfD0nIHwgJ149JyB8CiAgICAgICAgICAgICAnPDw9JyB8ICc+Pj0nIHwgJyoqPScgfCAnLy89JykKICMgRm9yIG5vcm1hbCBhc3NpZ25tZW50cywgYWRkaXRpb25hbCByZXN0cmljdGlvbnMgZW5mb3JjZWQgYnkgdGhlIGludGVycHJldGVyCiBkZWxfc3RtdDogJ2RlbCcgZXhwcmxpc3QKQEAgLTg5LDcgKzg5LDcgQEAKIG5vdF90ZXN0OiAnbm90JyBub3RfdGVzdCB8IGNvbXBhcmlzb24KIGNvbXBhcmlzb246IGV4cHIgKGNvbXBfb3AgZXhwcikqCiAjIDw+IGlzbid0IGFjdHVhbGx5IGEgdmFsaWQgY29tcGFyaXNvbiBvcGVyYXRvciBpbiBQeXRob24uIEl0J3MgaGVyZSBmb3IgdGhlCi0jIHNha2Ugb2YgYSBfX2Z1dHVyZV9fIGltcG9ydCBkZXNjcmliZWQgaW4gUEVQIDQwMQorIyBzYWtlIG9mIGEgX19mdXR1cmVfXyBpbXBvcnQgZGVzY3JpYmVkIGluIFBFUCA0MDEgKHdoaWNoIHJlYWxseSB3b3JrcyA6LSkKIGNvbXBfb3A6ICc8J3wnPid8Jz09J3wnPj0nfCc8PSd8Jzw+J3wnIT0nfCdpbid8J25vdCcgJ2luJ3wnaXMnfCdpcycgJ25vdCcKIHN0YXJfZXhwcjogJyonIGV4cHIKIGV4cHI6IHhvcl9leHByICgnfCcgeG9yX2V4cHIpKgpAQCAtOTcsNyArOTcsNyBAQAogYW5kX2V4cHI6IHNoaWZ0X2V4cHIgKCcmJyBzaGlmdF9leHByKSoKIHNoaWZ0X2V4cHI6IGFyaXRoX2V4cHIgKCgnPDwnfCc+PicpIGFyaXRoX2V4cHIpKgogYXJpdGhfZXhwcjogdGVybSAoKCcrJ3wnLScpIHRlcm0pKgotdGVybTogZmFjdG9yICgoJyonfCcvJ3wnJSd8Jy8vJykgZmFjdG9yKSoKK3Rlcm06IGZhY3RvciAoKCcqJ3wnQCd8Jy8nfCclJ3wnLy8nKSBmYWN0b3IpKgogZmFjdG9yOiAoJysnfCctJ3wnficpIGZhY3RvciB8IHBvd2VyCiBwb3dlcjogYXRvbSB0cmFpbGVyKiBbJyoqJyBmYWN0b3JdCiBhdG9tOiAoJygnIFt5aWVsZF9leHByfHRlc3RsaXN0X2NvbXBdICcpJyB8CmRpZmYgLS1naXQgYS9JbmNsdWRlL1B5dGhvbi1hc3QuaCBiL0luY2x1ZGUvUHl0aG9uLWFzdC5oCmluZGV4IDY3ZDY3N2IuLjM3ZTlhNjAgMTAwNjQ0Ci0tLSBhL0luY2x1ZGUvUHl0aG9uLWFzdC5oCisrKyBiL0luY2x1ZGUvUHl0aG9uLWFzdC5oCkBAIC0xNSw5ICsxNSw5IEBACiAKIHR5cGVkZWYgZW51bSBfYm9vbG9wIHsgQW5kPTEsIE9yPTIgfSBib29sb3BfdHk7CiAKLXR5cGVkZWYgZW51bSBfb3BlcmF0b3IgeyBBZGQ9MSwgU3ViPTIsIE11bHQ9MywgRGl2PTQsIE1vZD01LCBQb3c9NiwgTFNoaWZ0PTcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgUlNoaWZ0PTgsIEJpdE9yPTksIEJpdFhvcj0xMCwgQml0QW5kPTExLCBGbG9vckRpdj0xMiB9Ci0gICAgICAgICAgICAgICAgICAgICAgICAgb3BlcmF0b3JfdHk7Cit0eXBlZGVmIGVudW0gX29wZXJhdG9yIHsgQWRkPTEsIFN1Yj0yLCBNdWx0PTMsIE1hdE11bHQ9NCwgRGl2PTUsIE1vZD02LCBQb3c9NywKKyAgICAgICAgICAgICAgICAgICAgICAgICBMU2hpZnQ9OCwgUlNoaWZ0PTksIEJpdE9yPTEwLCBCaXRYb3I9MTEsIEJpdEFuZD0xMiwKKyAgICAgICAgICAgICAgICAgICAgICAgICBGbG9vckRpdj0xMyB9IG9wZXJhdG9yX3R5OwogCiB0eXBlZGVmIGVudW0gX3VuYXJ5b3AgeyBJbnZlcnQ9MSwgTm90PTIsIFVBZGQ9MywgVVN1Yj00IH0gdW5hcnlvcF90eTsKIApkaWZmIC0tZ2l0IGEvSW5jbHVkZS9QeXRob24uaCBiL0luY2x1ZGUvUHl0aG9uLmgKaW5kZXggMmRkODI5MC4uNDZkMmVjZSAxMDA2NDQKLS0tIGEvSW5jbHVkZS9QeXRob24uaAorKysgYi9JbmNsdWRlL1B5dGhvbi5oCkBAIC0xMTIsNiArMTEyLDcgQEAKICNpbmNsdWRlICJweWFyZW5hLmgiCiAjaW5jbHVkZSAibW9kc3VwcG9ydC5oIgogI2luY2x1ZGUgInB5dGhvbnJ1bi5oIgorI2luY2x1ZGUgInB5bGlmZWN5Y2xlLmgiCiAjaW5jbHVkZSAiY2V2YWwuaCIKICNpbmNsdWRlICJzeXNtb2R1bGUuaCIKICNpbmNsdWRlICJpbnRyY2hlY2suaCIKZGlmZiAtLWdpdCBhL0luY2x1ZGUvYWJzdHJhY3QuaCBiL0luY2x1ZGUvYWJzdHJhY3QuaAppbmRleCA2ZTg1MGI4Li41NmZiZjg2IDEwMDY0NAotLS0gYS9JbmNsdWRlL2Fic3RyYWN0LmgKKysrIGIvSW5jbHVkZS9hYnN0cmFjdC5oCkBAIC0yNjYsNiArMjY2LDExIEBACiAgICAgIFB5QVBJX0ZVTkMoUHlPYmplY3QgKikgUHlPYmplY3RfQ2FsbChQeU9iamVjdCAqY2FsbGFibGVfb2JqZWN0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprdyk7CiAKKyNpZm5kZWYgUHlfTElNSVRFRF9BUEkKKyAgICAgUHlBUElfRlVOQyhQeU9iamVjdCAqKSBfUHlfQ2hlY2tGdW5jdGlvblJlc3VsdChQeU9iamVjdCAqb2JqLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmZ1bmNfbmFtZSk7CisjZW5kaWYKKwogICAgICAgIC8qCiAgICAgIENhbGwgYSBjYWxsYWJsZSBQeXRob24gb2JqZWN0LCBjYWxsYWJsZV9vYmplY3QsIHdpdGgKICAgICAgYXJndW1lbnRzIGFuZCBrZXl3b3JkcyBhcmd1bWVudHMuICBUaGUgJ2FyZ3MnIGFyZ3VtZW50IGNhbiBub3QgYmUKQEAgLTY1OCw2ICs2NjMsMTIgQEAKICAgICAgbzEqbzIuCiAgICAgICAgKi8KIAorICAgICBQeUFQSV9GVU5DKFB5T2JqZWN0ICopIFB5TnVtYmVyX01hdHJpeE11bHRpcGx5KFB5T2JqZWN0ICpvMSwgUHlPYmplY3QgKm8yKTsKKworICAgICAgIC8qCisgICAgIFRoaXMgaXMgdGhlIGVxdWl2YWxlbnQgb2YgdGhlIFB5dGhvbiBleHByZXNzaW9uOiBvMSBAIG8yLgorICAgICAgICovCisKICAgICAgUHlBUElfRlVOQyhQeU9iamVjdCAqKSBQeU51bWJlcl9GbG9vckRpdmlkZShQeU9iamVjdCAqbzEsIFB5T2JqZWN0ICpvMik7CiAKICAgICAgICAvKgpAQCAtODMyLDYgKzg0MywxMiBAQAogICAgICBvMSAqPSBvMi4KICAgICAgICAqLwogCisgICAgIFB5QVBJX0ZVTkMoUHlPYmplY3QgKikgUHlOdW1iZXJfSW5QbGFjZU1hdHJpeE11bHRpcGx5KFB5T2JqZWN0ICpvMSwgUHlPYmplY3QgKm8yKTsKKworICAgICAgIC8qCisgICAgIFRoaXMgaXMgdGhlIGVxdWl2YWxlbnQgb2YgdGhlIFB5dGhvbiBleHByZXNzaW9uOiBvMSBAPSBvMi4KKyAgICAgICAqLworCiAgICAgIFB5QVBJX0ZVTkMoUHlPYmplY3QgKikgUHlOdW1iZXJfSW5QbGFjZUZsb29yRGl2aWRlKFB5T2JqZWN0ICpvMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlPYmplY3QgKm8yKTsKIApkaWZmIC0tZ2l0IGEvSW5jbHVkZS9ieXRlc19tZXRob2RzLmggYi9JbmNsdWRlL2J5dGVzX21ldGhvZHMuaAppbmRleCAxNDk4YjhmLi4xMWQ1ZjQyIDEwMDY0NAotLS0gYS9JbmNsdWRlL2J5dGVzX21ldGhvZHMuaAorKysgYi9JbmNsdWRlL2J5dGVzX21ldGhvZHMuaApAQCAtMjEsOCArMjEsOCBAQAogZXh0ZXJuIHZvaWQgX1B5X2J5dGVzX2NhcGl0YWxpemUoY2hhciAqcmVzdWx0LCBjaGFyICpzLCBQeV9zc2l6ZV90IGxlbik7CiBleHRlcm4gdm9pZCBfUHlfYnl0ZXNfc3dhcGNhc2UoY2hhciAqcmVzdWx0LCBjaGFyICpzLCBQeV9zc2l6ZV90IGxlbik7CiAKLS8qIFRoaXMgb25lIGdldHMgdGhlIHJhdyBhcmd1bWVudCBsaXN0LiAqLwotZXh0ZXJuIFB5T2JqZWN0KiBfUHlfYnl0ZXNfbWFrZXRyYW5zKFB5T2JqZWN0ICphcmdzKTsKKy8qIFRoZSBtYWtldHJhbnMoKSBzdGF0aWMgbWV0aG9kLiAqLworZXh0ZXJuIFB5T2JqZWN0KiBfUHlfYnl0ZXNfbWFrZXRyYW5zKFB5X2J1ZmZlciAqZnJtLCBQeV9idWZmZXIgKnRvKTsKIAogLyogU2hhcmVkIF9fZG9jX18gc3RyaW5ncy4gKi8KIGV4dGVybiBjb25zdCBjaGFyIF9QeV9pc3NwYWNlX19kb2NfX1tdOwpkaWZmIC0tZ2l0IGEvSW5jbHVkZS9ieXRlc29iamVjdC5oIGIvSW5jbHVkZS9ieXRlc29iamVjdC5oCmluZGV4IDBlZThkMzYuLmUzNzliYWMgMTAwNjQ0Ci0tLSBhL0luY2x1ZGUvYnl0ZXNvYmplY3QuaAorKysgYi9JbmNsdWRlL2J5dGVzb2JqZWN0LmgKQEAgLTYyLDYgKzYyLDcgQEAKIFB5QVBJX0ZVTkModm9pZCkgUHlCeXRlc19Db25jYXRBbmREZWwoUHlPYmplY3QgKiosIFB5T2JqZWN0ICopOwogI2lmbmRlZiBQeV9MSU1JVEVEX0FQSQogUHlBUElfRlVOQyhpbnQpIF9QeUJ5dGVzX1Jlc2l6ZShQeU9iamVjdCAqKiwgUHlfc3NpemVfdCk7CitQeUFQSV9GVU5DKFB5T2JqZWN0ICopIF9QeUJ5dGVzX0Zvcm1hdChQeU9iamVjdCAqLCBQeU9iamVjdCAqKTsKICNlbmRpZgogUHlBUElfRlVOQyhQeU9iamVjdCAqKSBQeUJ5dGVzX0RlY29kZUVzY2FwZShjb25zdCBjaGFyICosIFB5X3NzaXplX3QsCiAJCQkJCQkgICBjb25zdCBjaGFyICosIFB5X3NzaXplX3QsCmRpZmYgLS1naXQgYS9JbmNsdWRlL2NvZGUuaCBiL0luY2x1ZGUvY29kZS5oCmluZGV4IDdjN2U1YmYuLmZmMmI5N2UgMTAwNjQ0Ci0tLSBhL0luY2x1ZGUvY29kZS5oCisrKyBiL0luY2x1ZGUvY29kZS5oCkBAIC0yMSw3ICsyMSwxMiBAQAogICAgIFB5T2JqZWN0ICpjb192YXJuYW1lczsJLyogdHVwbGUgb2Ygc3RyaW5ncyAobG9jYWwgdmFyaWFibGUgbmFtZXMpICovCiAgICAgUHlPYmplY3QgKmNvX2ZyZWV2YXJzOwkvKiB0dXBsZSBvZiBzdHJpbmdzIChmcmVlIHZhcmlhYmxlIG5hbWVzKSAqLwogICAgIFB5T2JqZWN0ICpjb19jZWxsdmFyczsgICAgICAvKiB0dXBsZSBvZiBzdHJpbmdzIChjZWxsIHZhcmlhYmxlIG5hbWVzKSAqLwotICAgIC8qIFRoZSByZXN0IGRvZXNuJ3QgY291bnQgZm9yIGhhc2ggb3IgY29tcGFyaXNvbnMgKi8KKyAgICAvKiBUaGUgcmVzdCBhcmVuJ3QgdXNlZCBpbiBlaXRoZXIgaGFzaCBvciBjb21wYXJpc29ucywgZXhjZXB0IGZvcgorICAgICAgIGNvX25hbWUgKHVzZWQgaW4gYm90aCkgYW5kIGNvX2ZpcnN0bGluZW5vICh1c2VkIG9ubHkgaW4KKyAgICAgICBjb21wYXJpc29ucykuICBUaGlzIGlzIGRvbmUgdG8gcHJlc2VydmUgdGhlIG5hbWUgYW5kIGxpbmUgbnVtYmVyCisgICAgICAgZm9yIHRyYWNlYmFja3MgYW5kIGRlYnVnZ2Vyczsgb3RoZXJ3aXNlLCBjb25zdGFudCBkZS1kdXBsaWNhdGlvbgorICAgICAgIHdvdWxkIGNvbGxhcHNlIGlkZW50aWNhbCBmdW5jdGlvbnMvbGFtYmRhcyBkZWZpbmVkIG9uIGRpZmZlcmVudCBsaW5lcy4KKyAgICAqLwogICAgIHVuc2lnbmVkIGNoYXIgKmNvX2NlbGwyYXJnOyAvKiBNYXBzIGNlbGwgdmFycyB3aGljaCBhcmUgYXJndW1lbnRzLiAqLwogICAgIFB5T2JqZWN0ICpjb19maWxlbmFtZTsJLyogdW5pY29kZSAod2hlcmUgaXQgd2FzIGxvYWRlZCBmcm9tKSAqLwogICAgIFB5T2JqZWN0ICpjb19uYW1lOwkJLyogdW5pY29kZSAobmFtZSwgZm9yIHJlZmVyZW5jZSkgKi8KZGlmZiAtLWdpdCBhL0luY2x1ZGUvY29kZWNzLmggYi9JbmNsdWRlL2NvZGVjcy5oCmluZGV4IGIzMDg4ZTQuLjQ2NjkxMzUgMTAwNjQ0Ci0tLSBhL0luY2x1ZGUvY29kZWNzLmgKKysrIGIvSW5jbHVkZS9jb2RlY3MuaApAQCAtMjI1LDYgKzIyNSw5IEBACiAvKiByZXBsYWNlIHRoZSB1bmljb2RlIGVuY29kZSBlcnJvciB3aXRoIGJhY2tzbGFzaCBlc2NhcGVzIChceCwgXHUgYW5kIFxVKSAqLwogUHlBUElfRlVOQyhQeU9iamVjdCAqKSBQeUNvZGVjX0JhY2tzbGFzaFJlcGxhY2VFcnJvcnMoUHlPYmplY3QgKmV4Yyk7CiAKKy8qIHJlcGxhY2UgdGhlIHVuaWNvZGUgZW5jb2RlIGVycm9yIHdpdGggYmFja3NsYXNoIGVzY2FwZXMgKFxOLCBceCwgXHUgYW5kIFxVKSAqLworUHlBUElfRlVOQyhQeU9iamVjdCAqKSBQeUNvZGVjX05hbWVSZXBsYWNlRXJyb3JzKFB5T2JqZWN0ICpleGMpOworCiBQeUFQSV9EQVRBKGNvbnN0IGNoYXIgKikgUHlfaGV4ZGlnaXRzOwogCiAjaWZkZWYgX19jcGx1c3BsdXMKZGlmZiAtLWdpdCBhL0luY2x1ZGUvY29tcGxleG9iamVjdC5oIGIvSW5jbHVkZS9jb21wbGV4b2JqZWN0LmgKaW5kZXggMTkzNGYzYi4uY2I4YzUyYyAxMDA2NDQKLS0tIGEvSW5jbHVkZS9jb21wbGV4b2JqZWN0LmgKKysrIGIvSW5jbHVkZS9jb21wbGV4b2JqZWN0LmgKQEAgLTE0LDIxICsxNCwxMyBAQAogCiAvKiBPcGVyYXRpb25zIG9uIGNvbXBsZXggbnVtYmVycyBmcm9tIGNvbXBsZXhtb2R1bGUuYyAqLwogCi0jZGVmaW5lIGNfc3VtIF9QeV9jX3N1bQotI2RlZmluZSBjX2RpZmYgX1B5X2NfZGlmZgotI2RlZmluZSBjX25lZyBfUHlfY19uZWcKLSNkZWZpbmUgY19wcm9kIF9QeV9jX3Byb2QKLSNkZWZpbmUgY19xdW90IF9QeV9jX3F1b3QKLSNkZWZpbmUgY19wb3cgX1B5X2NfcG93Ci0jZGVmaW5lIGNfYWJzIF9QeV9jX2FicwotCi1QeUFQSV9GVU5DKFB5X2NvbXBsZXgpIGNfc3VtKFB5X2NvbXBsZXgsIFB5X2NvbXBsZXgpOwotUHlBUElfRlVOQyhQeV9jb21wbGV4KSBjX2RpZmYoUHlfY29tcGxleCwgUHlfY29tcGxleCk7Ci1QeUFQSV9GVU5DKFB5X2NvbXBsZXgpIGNfbmVnKFB5X2NvbXBsZXgpOwotUHlBUElfRlVOQyhQeV9jb21wbGV4KSBjX3Byb2QoUHlfY29tcGxleCwgUHlfY29tcGxleCk7Ci1QeUFQSV9GVU5DKFB5X2NvbXBsZXgpIGNfcXVvdChQeV9jb21wbGV4LCBQeV9jb21wbGV4KTsKLVB5QVBJX0ZVTkMoUHlfY29tcGxleCkgY19wb3coUHlfY29tcGxleCwgUHlfY29tcGxleCk7Ci1QeUFQSV9GVU5DKGRvdWJsZSkgY19hYnMoUHlfY29tcGxleCk7CitQeUFQSV9GVU5DKFB5X2NvbXBsZXgpIF9QeV9jX3N1bShQeV9jb21wbGV4LCBQeV9jb21wbGV4KTsKK1B5QVBJX0ZVTkMoUHlfY29tcGxleCkgX1B5X2NfZGlmZihQeV9jb21wbGV4LCBQeV9jb21wbGV4KTsKK1B5QVBJX0ZVTkMoUHlfY29tcGxleCkgX1B5X2NfbmVnKFB5X2NvbXBsZXgpOworUHlBUElfRlVOQyhQeV9jb21wbGV4KSBfUHlfY19wcm9kKFB5X2NvbXBsZXgsIFB5X2NvbXBsZXgpOworUHlBUElfRlVOQyhQeV9jb21wbGV4KSBfUHlfY19xdW90KFB5X2NvbXBsZXgsIFB5X2NvbXBsZXgpOworUHlBUElfRlVOQyhQeV9jb21wbGV4KSBfUHlfY19wb3coUHlfY29tcGxleCwgUHlfY29tcGxleCk7CitQeUFQSV9GVU5DKGRvdWJsZSkgX1B5X2NfYWJzKFB5X2NvbXBsZXgpOwogI2VuZGlmCiAKIC8qIENvbXBsZXggb2JqZWN0IGludGVyZmFjZSAqLwpkaWZmIC0tZ2l0IGEvSW5jbHVkZS9kaWN0b2JqZWN0LmggYi9JbmNsdWRlL2RpY3RvYmplY3QuaAppbmRleCBlZjEyMmJkLi4wOWRmZjU5IDEwMDY0NAotLS0gYS9JbmNsdWRlL2RpY3RvYmplY3QuaAorKysgYi9JbmNsdWRlL2RpY3RvYmplY3QuaApAQCAtNTAsNiArNTAsMTAgQEAKIAogUHlBUElfRlVOQyhQeU9iamVjdCAqKSBQeURpY3RfTmV3KHZvaWQpOwogUHlBUElfRlVOQyhQeU9iamVjdCAqKSBQeURpY3RfR2V0SXRlbShQeU9iamVjdCAqbXAsIFB5T2JqZWN0ICprZXkpOworI2lmbmRlZiBQeV9MSU1JVEVEX0FQSQorUHlBUElfRlVOQyhQeU9iamVjdCAqKSBfUHlEaWN0X0dldEl0ZW1fS25vd25IYXNoKFB5T2JqZWN0ICptcCwgUHlPYmplY3QgKmtleSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5X2hhc2hfdCBoYXNoKTsKKyNlbmRpZgogUHlBUElfRlVOQyhQeU9iamVjdCAqKSBQeURpY3RfR2V0SXRlbVdpdGhFcnJvcihQeU9iamVjdCAqbXAsIFB5T2JqZWN0ICprZXkpOwogUHlBUElfRlVOQyhQeU9iamVjdCAqKSBfUHlEaWN0X0dldEl0ZW1JZFdpdGhFcnJvcihQeU9iamVjdCAqZHAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBfUHlfSWRlbnRpZmllciAqa2V5KTsKQEAgLTU4LDYgKzYyLDEwIEBACiAgICAgUHlPYmplY3QgKm1wLCBQeU9iamVjdCAqa2V5LCBQeU9iamVjdCAqZGVmYXVsdG9iaik7CiAjZW5kaWYKIFB5QVBJX0ZVTkMoaW50KSBQeURpY3RfU2V0SXRlbShQeU9iamVjdCAqbXAsIFB5T2JqZWN0ICprZXksIFB5T2JqZWN0ICppdGVtKTsKKyNpZm5kZWYgUHlfTElNSVRFRF9BUEkKK1B5QVBJX0ZVTkMoaW50KSBfUHlEaWN0X1NldEl0ZW1fS25vd25IYXNoKFB5T2JqZWN0ICptcCwgUHlPYmplY3QgKmtleSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5T2JqZWN0ICppdGVtLCBQeV9oYXNoX3QgaGFzaCk7CisjZW5kaWYKIFB5QVBJX0ZVTkMoaW50KSBQeURpY3RfRGVsSXRlbShQeU9iamVjdCAqbXAsIFB5T2JqZWN0ICprZXkpOwogUHlBUElfRlVOQyh2b2lkKSBQeURpY3RfQ2xlYXIoUHlPYmplY3QgKm1wKTsKIFB5QVBJX0ZVTkMoaW50KSBQeURpY3RfTmV4dCgKZGlmZiAtLWdpdCBhL0luY2x1ZGUvZmlsZW9iamVjdC5oIGIvSW5jbHVkZS9maWxlb2JqZWN0LmgKaW5kZXggMDkzOTc0NC4uMDMxNTVkMyAxMDA2NDQKLS0tIGEvSW5jbHVkZS9maWxlb2JqZWN0LmgKKysrIGIvSW5jbHVkZS9maWxlb2JqZWN0LmgKQEAgLTMyLDE3ICszMiw2IEBACiAjaWZuZGVmIFB5X0xJTUlURURfQVBJCiBQeUFQSV9GVU5DKFB5T2JqZWN0ICopIFB5RmlsZV9OZXdTdGRQcmludGVyKGludCk7CiBQeUFQSV9EQVRBKFB5VHlwZU9iamVjdCkgUHlTdGRQcmludGVyX1R5cGU7Ci0KLSNpZiBkZWZpbmVkIF9NU0NfVkVSICYmIF9NU0NfVkVSID49IDE0MDAKLS8qIEEgcm91dGluZSB0byBjaGVjayBpZiBhIGZpbGUgZGVzY3JpcHRvciBpcyB2YWxpZCBvbiBXaW5kb3dzLiAgUmV0dXJucyAwCi0gKiBhbmQgc2V0cyBlcnJubyB0byBFQkFERiBpZiBpdCBpc24ndC4gIFRoaXMgaXMgdG8gYXZvaWQgQXNzZXJ0aW9ucwotICogZnJvbSB2YXJpb3VzIGZ1bmN0aW9ucyBpbiB0aGUgV2luZG93cyBDUlQgYmVnaW5uaW5nIHdpdGgKLSAqIFZpc3VhbCBTdHVkaW8gMjAwNQotICovCi1pbnQgX1B5VmVyaWZ5X2ZkKGludCBmZCk7Ci0jZWxzZQotI2RlZmluZSBfUHlWZXJpZnlfZmQoQSkgKDEpIC8qIGR1bW15ICovCi0jZW5kaWYKICNlbmRpZiAvKiBQeV9MSU1JVEVEX0FQSSAqLwogCiAvKiBBIHJvdXRpbmUgdG8gY2hlY2sgaWYgYSBmaWxlIGRlc2NyaXB0b3IgY2FuIGJlIHNlbGVjdCgpLWVkLiAqLwpkaWZmIC0tZ2l0IGEvSW5jbHVkZS9maWxldXRpbHMuaCBiL0luY2x1ZGUvZmlsZXV0aWxzLmgKaW5kZXggZTliYWQ4MC4uOTU2MzJlZCAxMDA2NDQKLS0tIGEvSW5jbHVkZS9maWxldXRpbHMuaAorKysgYi9JbmNsdWRlL2ZpbGV1dGlscy5oCkBAIC03LDExICs3LDExIEBACiAKIFB5QVBJX0ZVTkMoUHlPYmplY3QgKikgX1B5X2RldmljZV9lbmNvZGluZyhpbnQpOwogCi1QeUFQSV9GVU5DKHdjaGFyX3QgKikgX1B5X2NoYXIyd2NoYXIoCitQeUFQSV9GVU5DKHdjaGFyX3QgKikgUHlfRGVjb2RlTG9jYWxlKAogICAgIGNvbnN0IGNoYXIgKmFyZywKICAgICBzaXplX3QgKnNpemUpOwogCi1QeUFQSV9GVU5DKGNoYXIqKSBfUHlfd2NoYXIyY2hhcigKK1B5QVBJX0ZVTkMoY2hhciopIFB5X0VuY29kZUxvY2FsZSgKICAgICBjb25zdCB3Y2hhcl90ICp0ZXh0LAogICAgIHNpemVfdCAqZXJyb3JfcG9zKTsKIApAQCAtMjEsMTEgKzIxLDQyIEBACiAgICAgc3RydWN0IHN0YXQgKmJ1Zik7CiAjZW5kaWYKIAorI2lmbmRlZiBQeV9MSU1JVEVEX0FQSQorI2lmIGRlZmluZWQoSEFWRV9GU1RBVCkgfHwgZGVmaW5lZChNU19XSU5ET1dTKQorCisjaWZkZWYgTVNfV0lORE9XUworc3RydWN0IF9QeV9zdGF0X3N0cnVjdCB7CisgICAgdW5zaWduZWQgbG9uZyBzdF9kZXY7CisgICAgX19pbnQ2NCBzdF9pbm87CisgICAgdW5zaWduZWQgc2hvcnQgc3RfbW9kZTsKKyAgICBpbnQgc3Rfbmxpbms7CisgICAgaW50IHN0X3VpZDsKKyAgICBpbnQgc3RfZ2lkOworICAgIHVuc2lnbmVkIGxvbmcgc3RfcmRldjsKKyAgICBfX2ludDY0IHN0X3NpemU7CisgICAgdGltZV90IHN0X2F0aW1lOworICAgIGludCBzdF9hdGltZV9uc2VjOworICAgIHRpbWVfdCBzdF9tdGltZTsKKyAgICBpbnQgc3RfbXRpbWVfbnNlYzsKKyAgICB0aW1lX3Qgc3RfY3RpbWU7CisgICAgaW50IHN0X2N0aW1lX25zZWM7CisgICAgdW5zaWduZWQgbG9uZyBzdF9maWxlX2F0dHJpYnV0ZXM7Cit9OworI2Vsc2UKKyMgIGRlZmluZSBfUHlfc3RhdF9zdHJ1Y3Qgc3RhdAorI2VuZGlmCisKK1B5QVBJX0ZVTkMoaW50KSBfUHlfZnN0YXQoCisgICAgaW50IGZkLAorICAgIHN0cnVjdCBfUHlfc3RhdF9zdHJ1Y3QgKnN0YXQpOworI2VuZGlmICAgLyogSEFWRV9GU1RBVCB8fCBNU19XSU5ET1dTICovCisjZW5kaWYgICAvKiBQeV9MSU1JVEVEX0FQSSAqLworCiAjaWZkZWYgSEFWRV9TVEFUCiBQeUFQSV9GVU5DKGludCkgX1B5X3N0YXQoCiAgICAgUHlPYmplY3QgKnBhdGgsCiAgICAgc3RydWN0IHN0YXQgKnN0YXRidWYpOwotI2VuZGlmCisjZW5kaWYgICAvKiBIQVZFX1NUQVQgKi8KIAogI2lmbmRlZiBQeV9MSU1JVEVEX0FQSQogUHlBUElfRlVOQyhpbnQpIF9QeV9vcGVuKApAQCAtNzAsOCArMTAxLDI3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgKmF0b21pY19mbGFnX3dvcmtzKTsKIAogUHlBUElfRlVOQyhpbnQpIF9QeV9kdXAoaW50IGZkKTsKKworI2lmbmRlZiBNU19XSU5ET1dTCitQeUFQSV9GVU5DKGludCkgX1B5X2dldF9ibG9ja2luZyhpbnQgZmQpOworCitQeUFQSV9GVU5DKGludCkgX1B5X3NldF9ibG9ja2luZyhpbnQgZmQsIGludCBibG9ja2luZyk7CisjZW5kaWYgICAvKiAhTVNfV0lORE9XUyAqLworCisjaWYgZGVmaW5lZCBfTVNDX1ZFUiAmJiBfTVNDX1ZFUiA+PSAxNDAwCisvKiBBIHJvdXRpbmUgdG8gY2hlY2sgaWYgYSBmaWxlIGRlc2NyaXB0b3IgaXMgdmFsaWQgb24gV2luZG93cy4gIFJldHVybnMgMAorICogYW5kIHNldHMgZXJybm8gdG8gRUJBREYgaWYgaXQgaXNuJ3QuICBUaGlzIGlzIHRvIGF2b2lkIEFzc2VydGlvbnMKKyAqIGZyb20gdmFyaW91cyBmdW5jdGlvbnMgaW4gdGhlIFdpbmRvd3MgQ1JUIGJlZ2lubmluZyB3aXRoCisgKiBWaXN1YWwgU3R1ZGlvIDIwMDUKKyAqLworaW50IF9QeVZlcmlmeV9mZChpbnQgZmQpOworCisjZWxzZQorI2RlZmluZSBfUHlWZXJpZnlfZmQoQSkgKDEpIC8qIGR1bW15ICovCiAjZW5kaWYKIAorI2VuZGlmICAgLyogUHlfTElNSVRFRF9BUEkgKi8KKwogI2lmZGVmIF9fY3BsdXNwbHVzCiB9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL0luY2x1ZGUvZ2Vub2JqZWN0LmggYi9JbmNsdWRlL2dlbm9iamVjdC5oCmluZGV4IDY1ZjFlY2YuLjIzNTcxZTYgMTAwNjQ0Ci0tLSBhL0luY2x1ZGUvZ2Vub2JqZWN0LmgKKysrIGIvSW5jbHVkZS9nZW5vYmplY3QuaApAQCAtMjUsNiArMjUsMTIgQEAKIAogICAgIC8qIExpc3Qgb2Ygd2VhayByZWZlcmVuY2UuICovCiAgICAgUHlPYmplY3QgKmdpX3dlYWtyZWZsaXN0OworCisgICAgLyogTmFtZSBvZiB0aGUgZ2VuZXJhdG9yLiAqLworICAgIFB5T2JqZWN0ICpnaV9uYW1lOworCisgICAgLyogUXVhbGlmaWVkIG5hbWUgb2YgdGhlIGdlbmVyYXRvci4gKi8KKyAgICBQeU9iamVjdCAqZ2lfcXVhbG5hbWU7CiB9IFB5R2VuT2JqZWN0OwogCiBQeUFQSV9EQVRBKFB5VHlwZU9iamVjdCkgUHlHZW5fVHlwZTsKQEAgLTMzLDYgKzM5LDggQEAKICNkZWZpbmUgUHlHZW5fQ2hlY2tFeGFjdChvcCkgKFB5X1RZUEUob3ApID09ICZQeUdlbl9UeXBlKQogCiBQeUFQSV9GVU5DKFB5T2JqZWN0ICopIFB5R2VuX05ldyhzdHJ1Y3QgX2ZyYW1lICopOworUHlBUElfRlVOQyhQeU9iamVjdCAqKSBQeUdlbl9OZXdXaXRoUXVhbE5hbWUoc3RydWN0IF9mcmFtZSAqLAorICAgIFB5T2JqZWN0ICpuYW1lLCBQeU9iamVjdCAqcXVhbG5hbWUpOwogUHlBUElfRlVOQyhpbnQpIFB5R2VuX05lZWRzRmluYWxpemluZyhQeUdlbk9iamVjdCAqKTsKIFB5QVBJX0ZVTkMoaW50KSBfUHlHZW5fRmV0Y2hTdG9wSXRlcmF0aW9uVmFsdWUoUHlPYmplY3QgKiopOwogUHlPYmplY3QgKl9QeUdlbl9TZW5kKFB5R2VuT2JqZWN0ICosIFB5T2JqZWN0ICopOwpkaWZmIC0tZ2l0IGEvSW5jbHVkZS9tZW1vcnlvYmplY3QuaCBiL0luY2x1ZGUvbWVtb3J5b2JqZWN0LmgKaW5kZXggMzgyY2E5Mi4uYWI1ZWUwOSAxMDA2NDQKLS0tIGEvSW5jbHVkZS9tZW1vcnlvYmplY3QuaAorKysgYi9JbmNsdWRlL21lbW9yeW9iamVjdC5oCkBAIC00NSw5ICs0NSw2IEBACiB9IF9QeU1hbmFnZWRCdWZmZXJPYmplY3Q7CiAKIAotLyogZGVwcmVjYXRlZCwgcmVtb3ZlZCBpbiAzLjUgKi8KLSNkZWZpbmUgX1B5X01FTU9SWVZJRVdfTUFYX0ZPUk1BVCAzIC8qIG11c3QgYmUgPj0gMyAqLwotCiAvKiBtZW1vcnl2aWV3IHN0YXRlIGZsYWdzICovCiAjZGVmaW5lIF9QeV9NRU1PUllWSUVXX1JFTEVBU0VEICAgIDB4MDAxICAvKiBhY2Nlc3MgdG8gbWFzdGVyIGJ1ZmZlciBibG9ja2VkICovCiAjZGVmaW5lIF9QeV9NRU1PUllWSUVXX0MgICAgICAgICAgIDB4MDAyICAvKiBDLWNvbnRpZ3VvdXMgbGF5b3V0ICovCkBAIC02Miw3ICs1OSw2IEBACiAgICAgaW50IGZsYWdzOyAgICAgICAgICAgICAgICAgICAgLyogc3RhdGUgZmxhZ3MgKi8KICAgICBQeV9zc2l6ZV90IGV4cG9ydHM7ICAgICAgICAgICAvKiBudW1iZXIgb2YgYnVmZmVyIHJlLWV4cG9ydHMgKi8KICAgICBQeV9idWZmZXIgdmlldzsgICAgICAgICAgICAgICAvKiBwcml2YXRlIGNvcHkgb2YgdGhlIGV4cG9ydGVyJ3MgdmlldyAqLwotICAgIGNoYXIgZm9ybWF0W19QeV9NRU1PUllWSUVXX01BWF9GT1JNQVRdOyAvKiBkZXByZWNhdGVkLCByZW1vdmVkIGluIDMuNSAqLwogICAgIFB5T2JqZWN0ICp3ZWFrcmVmbGlzdDsKICAgICBQeV9zc2l6ZV90IG9iX2FycmF5WzFdOyAgICAgICAvKiBzaGFwZSwgc3RyaWRlcywgc3Vib2Zmc2V0cyAqLwogfSBQeU1lbW9yeVZpZXdPYmplY3Q7CmRpZmYgLS1naXQgYS9JbmNsdWRlL21ldGhvZG9iamVjdC5oIGIvSW5jbHVkZS9tZXRob2RvYmplY3QuaAppbmRleCAzY2MyZWE5Li4wMjM2MjI4IDEwMDY0NAotLS0gYS9JbmNsdWRlL21ldGhvZG9iamVjdC5oCisrKyBiL0luY2x1ZGUvbWV0aG9kb2JqZWN0LmgKQEAgLTc3LDYgKzc3LDcgQEAKICAgICBQeU1ldGhvZERlZiAqbV9tbDsgLyogRGVzY3JpcHRpb24gb2YgdGhlIEMgZnVuY3Rpb24gdG8gY2FsbCAqLwogICAgIFB5T2JqZWN0ICAgICptX3NlbGY7IC8qIFBhc3NlZCBhcyAnc2VsZicgYXJnIHRvIHRoZSBDIGZ1bmMsIGNhbiBiZSBOVUxMICovCiAgICAgUHlPYmplY3QgICAgKm1fbW9kdWxlOyAvKiBUaGUgX19tb2R1bGVfXyBhdHRyaWJ1dGUsIGNhbiBiZSBhbnl0aGluZyAqLworICAgIFB5T2JqZWN0ICAgICptX3dlYWtyZWZsaXN0OyAvKiBMaXN0IG9mIHdlYWsgcmVmZXJlbmNlcyAqLwogfSBQeUNGdW5jdGlvbk9iamVjdDsKICNlbmRpZgogCmRpZmYgLS1naXQgYS9JbmNsdWRlL29iamVjdC5oIGIvSW5jbHVkZS9vYmplY3QuaAppbmRleCA5MzA2Mjg4Li5lMjk2MDhhIDEwMDY0NAotLS0gYS9JbmNsdWRlL29iamVjdC5oCisrKyBiL0luY2x1ZGUvb2JqZWN0LmgKQEAgLTY1LDYgKzY1LDcgQEAKICNlcnJvciBQeV9MSU1JVEVEX0FQSSBpcyBpbmNvbXBhdGlibGUgd2l0aCBQeV9ERUJVRywgUHlfVFJBQ0VfUkVGUywgYW5kIFB5X1JFRl9ERUJVRwogI2VuZGlmCiAKKwogI2lmZGVmIFB5X1RSQUNFX1JFRlMKIC8qIERlZmluZSBwb2ludGVycyB0byBzdXBwb3J0IGEgZG91Ymx5LWxpbmtlZCBsaXN0IG9mIGFsbCBsaXZlIGhlYXAgb2JqZWN0cy4gKi8KICNkZWZpbmUgX1B5T2JqZWN0X0hFQURfRVhUUkEgICAgICAgICAgICBcCkBAIC0yNzUsNiArMjc2LDkgQEAKICAgICBiaW5hcnlmdW5jIG5iX2lucGxhY2VfdHJ1ZV9kaXZpZGU7CiAKICAgICB1bmFyeWZ1bmMgbmJfaW5kZXg7CisKKyAgICBiaW5hcnlmdW5jIG5iX21hdHJpeF9tdWx0aXBseTsKKyAgICBiaW5hcnlmdW5jIG5iX2lucGxhY2VfbWF0cml4X211bHRpcGx5OwogfSBQeU51bWJlck1ldGhvZHM7CiAKIHR5cGVkZWYgc3RydWN0IHsKQEAgLTU3MiwxMyArNTc2LDYgQEAKIFB5QVBJX0ZVTkMoaW50KSBQeV9SZXByRW50ZXIoUHlPYmplY3QgKik7CiBQeUFQSV9GVU5DKHZvaWQpIFB5X1JlcHJMZWF2ZShQeU9iamVjdCAqKTsKIAotI2lmbmRlZiBQeV9MSU1JVEVEX0FQSQotLyogSGVscGVyIGZvciBwYXNzaW5nIG9iamVjdHMgdG8gcHJpbnRmIGFuZCB0aGUgbGlrZS4KLSAgIExlYWtzIHJlZmNvdW50cy4gIERvbid0IHVzZSBpdCEKLSovCi0jZGVmaW5lIFB5T2JqZWN0X1JFUFIob2JqKSBQeVVuaWNvZGVfQXNVVEY4KFB5T2JqZWN0X1JlcHIob2JqKSkKLSNlbmRpZgotCiAvKiBGbGFnIGJpdHMgZm9yIHByaW50aW5nOiAqLwogI2RlZmluZSBQeV9QUklOVF9SQVcgICAgMSAgICAgICAvKiBObyBzdHJpbmcgcXVvdGVzIGV0Yy4gKi8KIApAQCAtNzE0LDExICs3MTEsMTcgQEAKICAgICAgICAgICAgICAgICBfUHlfTmVnYXRpdmVSZWZjb3VudChfX0ZJTEVfXywgX19MSU5FX18sICAgICAgICBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKFB5T2JqZWN0ICopKE9QKSk7ICAgICAgICAgXAogfQorLyogUHlfUkVGX0RFQlVHIGFsc28gY29udHJvbHMgdGhlIGRpc3BsYXkgb2YgcmVmY291bnRzIGFuZCBtZW1vcnkgYmxvY2sKKyAqIGFsbG9jYXRpb25zIGF0IHRoZSBpbnRlcmFjdGl2ZSBwcm9tcHQgYW5kIGF0IGludGVycHJldGVyIHNodXRkb3duCisgKi8KK1B5QVBJX0ZVTkModm9pZCkgX1B5RGVidWdfUHJpbnRUb3RhbFJlZnModm9pZCk7CisjZGVmaW5lIF9QWV9ERUJVR19QUklOVF9UT1RBTF9SRUZTKCkgX1B5RGVidWdfUHJpbnRUb3RhbFJlZnMoKQogI2Vsc2UKICNkZWZpbmUgX1B5X0lOQ19SRUZUT1RBTAogI2RlZmluZSBfUHlfREVDX1JFRlRPVEFMCiAjZGVmaW5lIF9QeV9SRUZfREVCVUdfQ09NTUEKICNkZWZpbmUgX1B5X0NIRUNLX1JFRkNOVChPUCkgICAgLyogYSBzZW1pY29sb24gKi87CisjZGVmaW5lIF9QWV9ERUJVR19QUklOVF9UT1RBTF9SRUZTKCkKICNlbmRpZiAvKiBQeV9SRUZfREVCVUcgKi8KIAogI2lmZGVmIENPVU5UX0FMTE9DUwpkaWZmIC0tZ2l0IGEvSW5jbHVkZS9vYmppbXBsLmggYi9JbmNsdWRlL29iamltcGwuaAppbmRleCAzZjIxYjcwLi42NWI2ZDkxIDEwMDY0NAotLS0gYS9JbmNsdWRlL29iamltcGwuaAorKysgYi9JbmNsdWRlL29iamltcGwuaApAQCAtOTUsNiArOTUsNyBAQAogICAgdGhlIHJhdyBtZW1vcnkuCiAqLwogUHlBUElfRlVOQyh2b2lkICopIFB5T2JqZWN0X01hbGxvYyhzaXplX3Qgc2l6ZSk7CitQeUFQSV9GVU5DKHZvaWQgKikgUHlPYmplY3RfQ2FsbG9jKHNpemVfdCBuZWxlbSwgc2l6ZV90IGVsc2l6ZSk7CiBQeUFQSV9GVU5DKHZvaWQgKikgUHlPYmplY3RfUmVhbGxvYyh2b2lkICpwdHIsIHNpemVfdCBuZXdfc2l6ZSk7CiBQeUFQSV9GVU5DKHZvaWQpIFB5T2JqZWN0X0ZyZWUodm9pZCAqcHRyKTsKIApAQCAtMzIxLDcgKzMyMiw4IEBACiAgICAgICAgICghUHlUdXBsZV9DaGVja0V4YWN0KG9iaikgfHwgX1B5T2JqZWN0X0dDX0lTX1RSQUNLRUQob2JqKSkpCiAjZW5kaWYgLyogUHlfTElNSVRFRF9BUEkgKi8KIAotUHlBUElfRlVOQyhQeU9iamVjdCAqKSBfUHlPYmplY3RfR0NfTWFsbG9jKHNpemVfdCk7CitQeUFQSV9GVU5DKFB5T2JqZWN0ICopIF9QeU9iamVjdF9HQ19NYWxsb2Moc2l6ZV90IHNpemUpOworUHlBUElfRlVOQyhQeU9iamVjdCAqKSBfUHlPYmplY3RfR0NfQ2FsbG9jKHNpemVfdCBzaXplKTsKIFB5QVBJX0ZVTkMoUHlPYmplY3QgKikgX1B5T2JqZWN0X0dDX05ldyhQeVR5cGVPYmplY3QgKik7CiBQeUFQSV9GVU5DKFB5VmFyT2JqZWN0ICopIF9QeU9iamVjdF9HQ19OZXdWYXIoUHlUeXBlT2JqZWN0ICosIFB5X3NzaXplX3QpOwogUHlBUElfRlVOQyh2b2lkKSBQeU9iamVjdF9HQ19UcmFjayh2b2lkICopOwpkaWZmIC0tZ2l0IGEvSW5jbHVkZS9vcGNvZGUuaCBiL0luY2x1ZGUvb3Bjb2RlLmgKaW5kZXggMDkzNmYyZC4uMDYzOGI1NCAxMDA2NDQKLS0tIGEvSW5jbHVkZS9vcGNvZGUuaAorKysgYi9JbmNsdWRlL29wY29kZS5oCkBAIC0xLDMgKzEsNCBAQAorLyogQXV0by1nZW5lcmF0ZWQgYnkgVG9vbHMvc2NyaXB0cy9nZW5lcmF0ZV9vcGNvZGVfaC5weSAqLwogI2lmbmRlZiBQeV9PUENPREVfSAogI2RlZmluZSBQeV9PUENPREVfSAogI2lmZGVmIF9fY3BsdXNwbHVzCkBAIC01LDE0MSArNiwxMTEgQEAKICNlbmRpZgogCiAKLS8qIEluc3RydWN0aW9uIG9wY29kZXMgZm9yIGNvbXBpbGVkIGNvZGUgKi8KLQotI2RlZmluZSBQT1BfVE9QICAgICAgICAgMQotI2RlZmluZSBST1RfVFdPICAgICAgICAgMgotI2RlZmluZSBST1RfVEhSRUUgICAgICAgMwotI2RlZmluZSBEVVBfVE9QICAgICAgICAgNAotI2RlZmluZSBEVVBfVE9QX1RXTyAgICAgNQotI2RlZmluZSBOT1AgICAgICAgICAgICAgOQotCi0jZGVmaW5lIFVOQVJZX1BPU0lUSVZFICAxMAotI2RlZmluZSBVTkFSWV9ORUdBVElWRSAgMTEKLSNkZWZpbmUgVU5BUllfTk9UICAgICAgIDEyCi0KLSNkZWZpbmUgVU5BUllfSU5WRVJUICAgIDE1Ci0KLSNkZWZpbmUgQklOQVJZX1BPV0VSICAgIDE5Ci0KLSNkZWZpbmUgQklOQVJZX01VTFRJUExZIDIwCi0KLSNkZWZpbmUgQklOQVJZX01PRFVMTyAgIDIyCi0jZGVmaW5lIEJJTkFSWV9BREQgICAgICAyMwotI2RlZmluZSBCSU5BUllfU1VCVFJBQ1QgMjQKLSNkZWZpbmUgQklOQVJZX1NVQlNDUiAgIDI1Ci0jZGVmaW5lIEJJTkFSWV9GTE9PUl9ESVZJREUgMjYKLSNkZWZpbmUgQklOQVJZX1RSVUVfRElWSURFIDI3Ci0jZGVmaW5lIElOUExBQ0VfRkxPT1JfRElWSURFIDI4Ci0jZGVmaW5lIElOUExBQ0VfVFJVRV9ESVZJREUgMjkKLQotI2RlZmluZSBTVE9SRV9NQVAgICAgICAgNTQKLSNkZWZpbmUgSU5QTEFDRV9BREQgICAgIDU1Ci0jZGVmaW5lIElOUExBQ0VfU1VCVFJBQ1QgICAgICAgIDU2Ci0jZGVmaW5lIElOUExBQ0VfTVVMVElQTFkgICAgICAgIDU3Ci0KLSNkZWZpbmUgSU5QTEFDRV9NT0RVTE8gIDU5Ci0jZGVmaW5lIFNUT1JFX1NVQlNDUiAgICA2MAotI2RlZmluZSBERUxFVEVfU1VCU0NSICAgNjEKLQotI2RlZmluZSBCSU5BUllfTFNISUZUICAgNjIKLSNkZWZpbmUgQklOQVJZX1JTSElGVCAgIDYzCi0jZGVmaW5lIEJJTkFSWV9BTkQgICAgICA2NAotI2RlZmluZSBCSU5BUllfWE9SICAgICAgNjUKLSNkZWZpbmUgQklOQVJZX09SICAgICAgIDY2Ci0jZGVmaW5lIElOUExBQ0VfUE9XRVIgICA2NwotI2RlZmluZSBHRVRfSVRFUiAgICAgICAgNjgKLSNkZWZpbmUgUFJJTlRfRVhQUiAgICAgIDcwCi0jZGVmaW5lIExPQURfQlVJTERfQ0xBU1MgNzEKLSNkZWZpbmUgWUlFTERfRlJPTSAgICAgIDcyCi0KLSNkZWZpbmUgSU5QTEFDRV9MU0hJRlQgIDc1Ci0jZGVmaW5lIElOUExBQ0VfUlNISUZUICA3NgotI2RlZmluZSBJTlBMQUNFX0FORCAgICAgNzcKLSNkZWZpbmUgSU5QTEFDRV9YT1IgICAgIDc4Ci0jZGVmaW5lIElOUExBQ0VfT1IgICAgICA3OQotI2RlZmluZSBCUkVBS19MT09QICAgICAgODAKLSNkZWZpbmUgV0lUSF9DTEVBTlVQICAgIDgxCi0KLSNkZWZpbmUgUkVUVVJOX1ZBTFVFICAgIDgzCi0jZGVmaW5lIElNUE9SVF9TVEFSICAgICA4NAotCi0jZGVmaW5lIFlJRUxEX1ZBTFVFICAgICA4NgotI2RlZmluZSBQT1BfQkxPQ0sgICAgICAgODcKLSNkZWZpbmUgRU5EX0ZJTkFMTFkgICAgIDg4Ci0jZGVmaW5lIFBPUF9FWENFUFQgICAgICA4OQotCi0jZGVmaW5lIEhBVkVfQVJHVU1FTlQgICA5MCAgICAgIC8qIE9wY29kZXMgZnJvbSBoZXJlIGhhdmUgYW4gYXJndW1lbnQ6ICovCi0KLSNkZWZpbmUgU1RPUkVfTkFNRSAgICAgIDkwICAgICAgLyogSW5kZXggaW4gbmFtZSBsaXN0ICovCi0jZGVmaW5lIERFTEVURV9OQU1FICAgICA5MSAgICAgIC8qICIiICovCi0jZGVmaW5lIFVOUEFDS19TRVFVRU5DRSA5MiAgICAgIC8qIE51bWJlciBvZiBzZXF1ZW5jZSBpdGVtcyAqLwotI2RlZmluZSBGT1JfSVRFUiAgICAgICAgOTMKLSNkZWZpbmUgVU5QQUNLX0VYICAgICAgIDk0ICAgICAgLyogTnVtIGl0ZW1zIGJlZm9yZSB2YXJpYWJsZSBwYXJ0ICsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKE51bSBpdGVtcyBhZnRlciB2YXJpYWJsZSBwYXJ0IDw8IDgpICovCi0KLSNkZWZpbmUgU1RPUkVfQVRUUiAgICAgIDk1ICAgICAgLyogSW5kZXggaW4gbmFtZSBsaXN0ICovCi0jZGVmaW5lIERFTEVURV9BVFRSICAgICA5NiAgICAgIC8qICIiICovCi0jZGVmaW5lIFNUT1JFX0dMT0JBTCAgICA5NyAgICAgIC8qICIiICovCi0jZGVmaW5lIERFTEVURV9HTE9CQUwgICA5OCAgICAgIC8qICIiICovCi0KLSNkZWZpbmUgTE9BRF9DT05TVCAgICAgIDEwMCAgICAgLyogSW5kZXggaW4gY29uc3QgbGlzdCAqLwotI2RlZmluZSBMT0FEX05BTUUgICAgICAgMTAxICAgICAvKiBJbmRleCBpbiBuYW1lIGxpc3QgKi8KLSNkZWZpbmUgQlVJTERfVFVQTEUgICAgIDEwMiAgICAgLyogTnVtYmVyIG9mIHR1cGxlIGl0ZW1zICovCi0jZGVmaW5lIEJVSUxEX0xJU1QgICAgICAxMDMgICAgIC8qIE51bWJlciBvZiBsaXN0IGl0ZW1zICovCi0jZGVmaW5lIEJVSUxEX1NFVCAgICAgICAxMDQgICAgIC8qIE51bWJlciBvZiBzZXQgaXRlbXMgKi8KLSNkZWZpbmUgQlVJTERfTUFQICAgICAgIDEwNSAgICAgLyogQWx3YXlzIHplcm8gZm9yIG5vdyAqLwotI2RlZmluZSBMT0FEX0FUVFIgICAgICAgMTA2ICAgICAvKiBJbmRleCBpbiBuYW1lIGxpc3QgKi8KLSNkZWZpbmUgQ09NUEFSRV9PUCAgICAgIDEwNyAgICAgLyogQ29tcGFyaXNvbiBvcGVyYXRvciAqLwotI2RlZmluZSBJTVBPUlRfTkFNRSAgICAgMTA4ICAgICAvKiBJbmRleCBpbiBuYW1lIGxpc3QgKi8KLSNkZWZpbmUgSU1QT1JUX0ZST00gICAgIDEwOSAgICAgLyogSW5kZXggaW4gbmFtZSBsaXN0ICovCi0KLSNkZWZpbmUgSlVNUF9GT1JXQVJEICAgIDExMCAgICAgLyogTnVtYmVyIG9mIGJ5dGVzIHRvIHNraXAgKi8KLSNkZWZpbmUgSlVNUF9JRl9GQUxTRV9PUl9QT1AgMTExICAgICAgICAvKiBUYXJnZXQgYnl0ZSBvZmZzZXQgZnJvbSBiZWdpbm5pbmcgb2YgY29kZSAqLwotI2RlZmluZSBKVU1QX0lGX1RSVUVfT1JfUE9QIDExMiAvKiAiIiAqLwotI2RlZmluZSBKVU1QX0FCU09MVVRFICAgMTEzICAgICAvKiAiIiAqLwotI2RlZmluZSBQT1BfSlVNUF9JRl9GQUxTRSAxMTQgICAvKiAiIiAqLwotI2RlZmluZSBQT1BfSlVNUF9JRl9UUlVFIDExNSAgICAvKiAiIiAqLwotCi0jZGVmaW5lIExPQURfR0xPQkFMICAgICAxMTYgICAgIC8qIEluZGV4IGluIG5hbWUgbGlzdCAqLwotCi0jZGVmaW5lIENPTlRJTlVFX0xPT1AgICAxMTkgICAgIC8qIFN0YXJ0IG9mIGxvb3AgKGFic29sdXRlKSAqLwotI2RlZmluZSBTRVRVUF9MT09QICAgICAgMTIwICAgICAvKiBUYXJnZXQgYWRkcmVzcyAocmVsYXRpdmUpICovCi0jZGVmaW5lIFNFVFVQX0VYQ0VQVCAgICAxMjEgICAgIC8qICIiICovCi0jZGVmaW5lIFNFVFVQX0ZJTkFMTFkgICAxMjIgICAgIC8qICIiICovCi0KLSNkZWZpbmUgTE9BRF9GQVNUICAgICAgIDEyNCAgICAgLyogTG9jYWwgdmFyaWFibGUgbnVtYmVyICovCi0jZGVmaW5lIFNUT1JFX0ZBU1QgICAgICAxMjUgICAgIC8qIExvY2FsIHZhcmlhYmxlIG51bWJlciAqLwotI2RlZmluZSBERUxFVEVfRkFTVCAgICAgMTI2ICAgICAvKiBMb2NhbCB2YXJpYWJsZSBudW1iZXIgKi8KLQotI2RlZmluZSBSQUlTRV9WQVJBUkdTICAgMTMwICAgICAvKiBOdW1iZXIgb2YgcmFpc2UgYXJndW1lbnRzICgxLCAyIG9yIDMpICovCi0vKiBDQUxMX0ZVTkNUSU9OX1hYWCBvcGNvZGVzIGRlZmluZWQgYmVsb3cgZGVwZW5kIG9uIHRoaXMgZGVmaW5pdGlvbiAqLwotI2RlZmluZSBDQUxMX0ZVTkNUSU9OICAgMTMxICAgICAvKiAjYXJncyArICgja3dhcmdzPDw4KSAqLwotI2RlZmluZSBNQUtFX0ZVTkNUSU9OICAgMTMyICAgICAvKiAjZGVmYXVsdHMgKyAja3dkZWZhdWx0czw8OCArICNhbm5vdGF0aW9uczw8MTYgKi8KLSNkZWZpbmUgQlVJTERfU0xJQ0UgICAgIDEzMyAgICAgLyogTnVtYmVyIG9mIGl0ZW1zICovCi0KLSNkZWZpbmUgTUFLRV9DTE9TVVJFICAgIDEzNCAgICAgLyogc2FtZSBhcyBNQUtFX0ZVTkNUSU9OICovCi0jZGVmaW5lIExPQURfQ0xPU1VSRSAgICAxMzUgICAgIC8qIExvYWQgZnJlZSB2YXJpYWJsZSBmcm9tIGNsb3N1cmUgKi8KLSNkZWZpbmUgTE9BRF9ERVJFRiAgICAgIDEzNiAgICAgLyogTG9hZCBhbmQgZGVyZWZlcmVuY2UgZnJvbSBjbG9zdXJlIGNlbGwgKi8gCi0jZGVmaW5lIFNUT1JFX0RFUkVGICAgICAxMzcgICAgIC8qIFN0b3JlIGludG8gY2VsbCAqLyAKLSNkZWZpbmUgREVMRVRFX0RFUkVGICAgIDEzOCAgICAgLyogRGVsZXRlIGNsb3N1cmUgY2VsbCAqLyAKLQotLyogVGhlIG5leHQgMyBvcGNvZGVzIG11c3QgYmUgY29udGlndW91cyBhbmQgc2F0aXNmeQotICAgKENBTExfRlVOQ1RJT05fVkFSIC0gQ0FMTF9GVU5DVElPTikgJiAzID09IDEgICovCi0jZGVmaW5lIENBTExfRlVOQ1RJT05fVkFSICAgICAgICAgIDE0MCAgLyogI2FyZ3MgKyAoI2t3YXJnczw8OCkgKi8KLSNkZWZpbmUgQ0FMTF9GVU5DVElPTl9LVyAgICAgICAgICAgMTQxICAvKiAjYXJncyArICgja3dhcmdzPDw4KSAqLwotI2RlZmluZSBDQUxMX0ZVTkNUSU9OX1ZBUl9LVyAgICAgICAxNDIgIC8qICNhcmdzICsgKCNrd2FyZ3M8PDgpICovCi0KLSNkZWZpbmUgU0VUVVBfV0lUSCAxNDMKLQotLyogU3VwcG9ydCBmb3Igb3BhcmdzIG1vcmUgdGhhbiAxNiBiaXRzIGxvbmcgKi8KLSNkZWZpbmUgRVhURU5ERURfQVJHICAxNDQKLQotI2RlZmluZSBMSVNUX0FQUEVORCAgICAgMTQ1Ci0jZGVmaW5lIFNFVF9BREQgICAgICAgICAxNDYKLSNkZWZpbmUgTUFQX0FERCAgICAgICAgIDE0NwotCi0jZGVmaW5lIExPQURfQ0xBU1NERVJFRiAgIDE0OAorICAgIC8qIEluc3RydWN0aW9uIG9wY29kZXMgZm9yIGNvbXBpbGVkIGNvZGUgKi8KKyNkZWZpbmUgUE9QX1RPUCAgICAgICAgICAgICAJMSAgCisjZGVmaW5lIFJPVF9UV08gICAgICAgICAgICAgCTIgIAorI2RlZmluZSBST1RfVEhSRUUgICAgICAgICAgIAkzICAKKyNkZWZpbmUgRFVQX1RPUCAgICAgICAgICAgICAJNCAgCisjZGVmaW5lIERVUF9UT1BfVFdPICAgICAgICAgCTUgIAorI2RlZmluZSBOT1AgICAgICAgICAgICAgICAgIAk5ICAKKyNkZWZpbmUgVU5BUllfUE9TSVRJVkUgICAgICAJMTAgCisjZGVmaW5lIFVOQVJZX05FR0FUSVZFICAgICAgCTExIAorI2RlZmluZSBVTkFSWV9OT1QgICAgICAgICAgIAkxMiAKKyNkZWZpbmUgVU5BUllfSU5WRVJUICAgICAgICAJMTUgCisjZGVmaW5lIEJJTkFSWV9NQVRSSVhfTVVMVElQTFkJMTYgCisjZGVmaW5lIElOUExBQ0VfTUFUUklYX01VTFRJUExZCTE3IAorI2RlZmluZSBCSU5BUllfUE9XRVIgICAgICAgIAkxOSAKKyNkZWZpbmUgQklOQVJZX01VTFRJUExZICAgICAJMjAgCisjZGVmaW5lIEJJTkFSWV9NT0RVTE8gICAgICAgCTIyIAorI2RlZmluZSBCSU5BUllfQUREICAgICAgICAgIAkyMyAKKyNkZWZpbmUgQklOQVJZX1NVQlRSQUNUICAgICAJMjQgCisjZGVmaW5lIEJJTkFSWV9TVUJTQ1IgICAgICAgCTI1IAorI2RlZmluZSBCSU5BUllfRkxPT1JfRElWSURFIAkyNiAKKyNkZWZpbmUgQklOQVJZX1RSVUVfRElWSURFICAJMjcgCisjZGVmaW5lIElOUExBQ0VfRkxPT1JfRElWSURFCTI4IAorI2RlZmluZSBJTlBMQUNFX1RSVUVfRElWSURFIAkyOSAKKyNkZWZpbmUgU1RPUkVfTUFQICAgICAgICAgICAJNTQgCisjZGVmaW5lIElOUExBQ0VfQUREICAgICAgICAgCTU1IAorI2RlZmluZSBJTlBMQUNFX1NVQlRSQUNUICAgIAk1NiAKKyNkZWZpbmUgSU5QTEFDRV9NVUxUSVBMWSAgICAJNTcgCisjZGVmaW5lIElOUExBQ0VfTU9EVUxPICAgICAgCTU5IAorI2RlZmluZSBTVE9SRV9TVUJTQ1IgICAgICAgIAk2MCAKKyNkZWZpbmUgREVMRVRFX1NVQlNDUiAgICAgICAJNjEgCisjZGVmaW5lIEJJTkFSWV9MU0hJRlQgICAgICAgCTYyIAorI2RlZmluZSBCSU5BUllfUlNISUZUICAgICAgIAk2MyAKKyNkZWZpbmUgQklOQVJZX0FORCAgICAgICAgICAJNjQgCisjZGVmaW5lIEJJTkFSWV9YT1IgICAgICAgICAgCTY1IAorI2RlZmluZSBCSU5BUllfT1IgICAgICAgICAgIAk2NiAKKyNkZWZpbmUgSU5QTEFDRV9QT1dFUiAgICAgICAJNjcgCisjZGVmaW5lIEdFVF9JVEVSICAgICAgICAgICAgCTY4IAorI2RlZmluZSBQUklOVF9FWFBSICAgICAgICAgIAk3MCAKKyNkZWZpbmUgTE9BRF9CVUlMRF9DTEFTUyAgICAJNzEgCisjZGVmaW5lIFlJRUxEX0ZST00gICAgICAgICAgCTcyIAorI2RlZmluZSBJTlBMQUNFX0xTSElGVCAgICAgIAk3NSAKKyNkZWZpbmUgSU5QTEFDRV9SU0hJRlQgICAgICAJNzYgCisjZGVmaW5lIElOUExBQ0VfQU5EICAgICAgICAgCTc3IAorI2RlZmluZSBJTlBMQUNFX1hPUiAgICAgICAgIAk3OCAKKyNkZWZpbmUgSU5QTEFDRV9PUiAgICAgICAgICAJNzkgCisjZGVmaW5lIEJSRUFLX0xPT1AgICAgICAgICAgCTgwIAorI2RlZmluZSBXSVRIX0NMRUFOVVAgICAgICAgIAk4MSAKKyNkZWZpbmUgUkVUVVJOX1ZBTFVFICAgICAgICAJODMgCisjZGVmaW5lIElNUE9SVF9TVEFSICAgICAgICAgCTg0IAorI2RlZmluZSBZSUVMRF9WQUxVRSAgICAgICAgIAk4NiAKKyNkZWZpbmUgUE9QX0JMT0NLICAgICAgICAgICAJODcgCisjZGVmaW5lIEVORF9GSU5BTExZICAgICAgICAgCTg4IAorI2RlZmluZSBQT1BfRVhDRVBUICAgICAgICAgIAk4OSAKKyNkZWZpbmUgSEFWRV9BUkdVTUVOVCAgICAgICAJOTAgCisjZGVmaW5lIFNUT1JFX05BTUUgICAgICAgICAgCTkwIAorI2RlZmluZSBERUxFVEVfTkFNRSAgICAgICAgIAk5MSAKKyNkZWZpbmUgVU5QQUNLX1NFUVVFTkNFICAgICAJOTIgCisjZGVmaW5lIEZPUl9JVEVSICAgICAgICAgICAgCTkzIAorI2RlZmluZSBVTlBBQ0tfRVggICAgICAgICAgIAk5NCAKKyNkZWZpbmUgU1RPUkVfQVRUUiAgICAgICAgICAJOTUgCisjZGVmaW5lIERFTEVURV9BVFRSICAgICAgICAgCTk2IAorI2RlZmluZSBTVE9SRV9HTE9CQUwgICAgICAgIAk5NyAKKyNkZWZpbmUgREVMRVRFX0dMT0JBTCAgICAgICAJOTggCisjZGVmaW5lIExPQURfQ09OU1QgICAgICAgICAgCTEwMAorI2RlZmluZSBMT0FEX05BTUUgICAgICAgICAgIAkxMDEKKyNkZWZpbmUgQlVJTERfVFVQTEUgICAgICAgICAJMTAyCisjZGVmaW5lIEJVSUxEX0xJU1QgICAgICAgICAgCTEwMworI2RlZmluZSBCVUlMRF9TRVQgICAgICAgICAgIAkxMDQKKyNkZWZpbmUgQlVJTERfTUFQICAgICAgICAgICAJMTA1CisjZGVmaW5lIExPQURfQVRUUiAgICAgICAgICAgCTEwNgorI2RlZmluZSBDT01QQVJFX09QICAgICAgICAgIAkxMDcKKyNkZWZpbmUgSU1QT1JUX05BTUUgICAgICAgICAJMTA4CisjZGVmaW5lIElNUE9SVF9GUk9NICAgICAgICAgCTEwOQorI2RlZmluZSBKVU1QX0ZPUldBUkQgICAgICAgIAkxMTAKKyNkZWZpbmUgSlVNUF9JRl9GQUxTRV9PUl9QT1AJMTExCisjZGVmaW5lIEpVTVBfSUZfVFJVRV9PUl9QT1AgCTExMgorI2RlZmluZSBKVU1QX0FCU09MVVRFICAgICAgIAkxMTMKKyNkZWZpbmUgUE9QX0pVTVBfSUZfRkFMU0UgICAJMTE0CisjZGVmaW5lIFBPUF9KVU1QX0lGX1RSVUUgICAgCTExNQorI2RlZmluZSBMT0FEX0dMT0JBTCAgICAgICAgIAkxMTYKKyNkZWZpbmUgQ09OVElOVUVfTE9PUCAgICAgICAJMTE5CisjZGVmaW5lIFNFVFVQX0xPT1AgICAgICAgICAgCTEyMAorI2RlZmluZSBTRVRVUF9FWENFUFQgICAgICAgIAkxMjEKKyNkZWZpbmUgU0VUVVBfRklOQUxMWSAgICAgICAJMTIyCisjZGVmaW5lIExPQURfRkFTVCAgICAgICAgICAgCTEyNAorI2RlZmluZSBTVE9SRV9GQVNUICAgICAgICAgIAkxMjUKKyNkZWZpbmUgREVMRVRFX0ZBU1QgICAgICAgICAJMTI2CisjZGVmaW5lIFJBSVNFX1ZBUkFSR1MgICAgICAgCTEzMAorI2RlZmluZSBDQUxMX0ZVTkNUSU9OICAgICAgIAkxMzEKKyNkZWZpbmUgTUFLRV9GVU5DVElPTiAgICAgICAJMTMyCisjZGVmaW5lIEJVSUxEX1NMSUNFICAgICAgICAgCTEzMworI2RlZmluZSBNQUtFX0NMT1NVUkUgICAgICAgIAkxMzQKKyNkZWZpbmUgTE9BRF9DTE9TVVJFICAgICAgICAJMTM1CisjZGVmaW5lIExPQURfREVSRUYgICAgICAgICAgCTEzNgorI2RlZmluZSBTVE9SRV9ERVJFRiAgICAgICAgIAkxMzcKKyNkZWZpbmUgREVMRVRFX0RFUkVGICAgICAgICAJMTM4CisjZGVmaW5lIENBTExfRlVOQ1RJT05fVkFSICAgCTE0MAorI2RlZmluZSBDQUxMX0ZVTkNUSU9OX0tXICAgIAkxNDEKKyNkZWZpbmUgQ0FMTF9GVU5DVElPTl9WQVJfS1cJMTQyCisjZGVmaW5lIFNFVFVQX1dJVEggICAgICAgICAgCTE0MworI2RlZmluZSBFWFRFTkRFRF9BUkcgICAgICAgIAkxNDQKKyNkZWZpbmUgTElTVF9BUFBFTkQgICAgICAgICAJMTQ1CisjZGVmaW5lIFNFVF9BREQgICAgICAgICAgICAgCTE0NgorI2RlZmluZSBNQVBfQUREICAgICAgICAgICAgIAkxNDcKKyNkZWZpbmUgTE9BRF9DTEFTU0RFUkVGICAgICAJMTQ4CiAKIC8qIEVYQ0VQVF9IQU5ETEVSIGlzIGEgc3BlY2lhbCwgaW1wbGljaXQgYmxvY2sgdHlwZSB3aGljaCBpcyBjcmVhdGVkIHdoZW4KICAgIGVudGVyaW5nIGFuIGV4Y2VwdCBoYW5kbGVyLiBJdCBpcyBub3QgYW4gb3Bjb2RlIGJ1dCB3ZSBkZWZpbmUgaXQgaGVyZQpAQCAtMTQ4LDggKzExOSw5IEBACiAjZGVmaW5lIEVYQ0VQVF9IQU5ETEVSIDI1NwogCiAKLWVudW0gY21wX29wIHtQeUNtcF9MVD1QeV9MVCwgUHlDbXBfTEU9UHlfTEUsIFB5Q21wX0VRPVB5X0VRLCBQeUNtcF9ORT1QeV9ORSwgUHlDbXBfR1Q9UHlfR1QsIFB5Q21wX0dFPVB5X0dFLAotICAgICAgICAgICAgIFB5Q21wX0lOLCBQeUNtcF9OT1RfSU4sIFB5Q21wX0lTLCBQeUNtcF9JU19OT1QsIFB5Q21wX0VYQ19NQVRDSCwgUHlDbXBfQkFEfTsKK2VudW0gY21wX29wIHtQeUNtcF9MVD1QeV9MVCwgUHlDbXBfTEU9UHlfTEUsIFB5Q21wX0VRPVB5X0VRLCBQeUNtcF9ORT1QeV9ORSwKKyAgICAgICAgICAgICAgICBQeUNtcF9HVD1QeV9HVCwgUHlDbXBfR0U9UHlfR0UsIFB5Q21wX0lOLCBQeUNtcF9OT1RfSU4sCisgICAgICAgICAgICAgICAgUHlDbXBfSVMsIFB5Q21wX0lTX05PVCwgUHlDbXBfRVhDX01BVENILCBQeUNtcF9CQUR9OwogCiAjZGVmaW5lIEhBU19BUkcob3ApICgob3ApID49IEhBVkVfQVJHVU1FTlQpCiAKZGlmZiAtLWdpdCBhL0luY2x1ZGUvb3NkZWZzLmggYi9JbmNsdWRlL29zZGVmcy5oCmluZGV4IDBjMmUzNGIuLmJkODRjMWMgMTAwNjQ0Ci0tLSBhL0luY2x1ZGUvb3NkZWZzLmgKKysrIGIvSW5jbHVkZS9vc2RlZnMuaApAQCAtNywxNSArNywxMiBAQAogCiAvKiBPcGVyYXRpbmcgc3lzdGVtIGRlcGVuZGVuY2llcyAqLwogCi0vKiBNb2QgYnkgY2hyaXNoOiBRTlggaGFzIFdBVENPTSwgYnV0IGlzbid0IERPUyAqLwotI2lmICFkZWZpbmVkKF9fUU5YX18pCi0jaWYgZGVmaW5lZChNU19XSU5ET1dTKSB8fCBkZWZpbmVkKF9fQk9STEFORENfXykgfHwgZGVmaW5lZChfX1dBVENPTUNfXykgfHwgZGVmaW5lZChfX0RKR1BQX18pCisjaWZkZWYgTVNfV0lORE9XUwogI2RlZmluZSBTRVAgTCdcXCcKICNkZWZpbmUgQUxUU0VQIEwnLycKICNkZWZpbmUgTUFYUEFUSExFTiAyNTYKICNkZWZpbmUgREVMSU0gTCc7JwogI2VuZGlmCi0jZW5kaWYKIAogLyogRmlsZW5hbWUgc2VwYXJhdG9yICovCiAjaWZuZGVmIFNFUApkaWZmIC0tZ2l0IGEvSW5jbHVkZS9wYXRjaGxldmVsLmggYi9JbmNsdWRlL3BhdGNobGV2ZWwuaAppbmRleCBmODg0Y2QxLi5lYTBjMDQyIDEwMDY0NAotLS0gYS9JbmNsdWRlL3BhdGNobGV2ZWwuaAorKysgYi9JbmNsdWRlL3BhdGNobGV2ZWwuaApAQCAtMTcsMTMgKzE3LDEzIEBACiAvKiBWZXJzaW9uIHBhcnNlZCBvdXQgaW50byBudW1lcmljIHZhbHVlcyAqLwogLyotLXN0YXJ0IGNvbnN0YW50cy0tKi8KICNkZWZpbmUgUFlfTUFKT1JfVkVSU0lPTgkzCi0jZGVmaW5lIFBZX01JTk9SX1ZFUlNJT04JNAotI2RlZmluZSBQWV9NSUNST19WRVJTSU9OCTMKLSNkZWZpbmUgUFlfUkVMRUFTRV9MRVZFTAlQWV9SRUxFQVNFX0xFVkVMX0ZJTkFMCi0jZGVmaW5lIFBZX1JFTEVBU0VfU0VSSUFMCTAKKyNkZWZpbmUgUFlfTUlOT1JfVkVSU0lPTgk1CisjZGVmaW5lIFBZX01JQ1JPX1ZFUlNJT04JMAorI2RlZmluZSBQWV9SRUxFQVNFX0xFVkVMCVBZX1JFTEVBU0VfTEVWRUxfQUxQSEEKKyNkZWZpbmUgUFlfUkVMRUFTRV9TRVJJQUwJMQogCiAvKiBWZXJzaW9uIGFzIGEgc3RyaW5nICovCi0jZGVmaW5lIFBZX1ZFUlNJT04gICAgICAJIjMuNC4zKyIKKyNkZWZpbmUgUFlfVkVSU0lPTiAgICAgIAkiMy41LjBhMSsiCiAvKi0tZW5kIGNvbnN0YW50cy0tKi8KIAogLyogVmVyc2lvbiBhcyBhIHNpbmdsZSA0LWJ5dGUgaGV4IG51bWJlciwgZS5nLiAweDAxMDUwMkIyID09IDEuNS4yYjIuCmRpZmYgLS1naXQgYS9JbmNsdWRlL3B5YXRvbWljLmggYi9JbmNsdWRlL3B5YXRvbWljLmgKaW5kZXggZDRlMTllMC4uODBiZDgyNSAxMDA2NDQKLS0tIGEvSW5jbHVkZS9weWF0b21pYy5oCisrKyBiL0luY2x1ZGUvcHlhdG9taWMuaApAQCAtMSwxMiArMSwxNSBAQAogI2lmbmRlZiBQeV9MSU1JVEVEX0FQSQogI2lmbmRlZiBQeV9BVE9NSUNfSAogI2RlZmluZSBQeV9BVE9NSUNfSAotLyogWFhYOiBXaGVuIGNvbXBpbGVycyBzdGFydCBvZmZlcmluZyBhIHN0ZGF0b21pYy5oIHdpdGggbG9jay1mcmVlCi0gICBhdG9taWNfaW50IGFuZCBhdG9taWNfYWRkcmVzcyB0eXBlcywgaW5jbHVkZSB0aGF0IGhlcmUgYW5kIHJld3JpdGUKLSAgIHRoZSBhdG9taWMgb3BlcmF0aW9ucyBpbiB0ZXJtcyBvZiBpdC4gKi8KIAogI2luY2x1ZGUgImR5bmFtaWNfYW5ub3RhdGlvbnMuaCIKIAorI2luY2x1ZGUgInB5Y29uZmlnLmgiCisKKyNpZiBkZWZpbmVkKEhBVkVfU1REX0FUT01JQykKKyNpbmNsdWRlIDxzdGRhdG9taWMuaD4KKyNlbmRpZgorCiAjaWZkZWYgX19jcGx1c3BsdXMKIGV4dGVybiAiQyIgewogI2VuZGlmCkBAIC0yMCw2ICsyMyw3NiBAQAogICogQmV3YXJlLCB0aGUgaW1wbGVtZW50YXRpb25zIGhlcmUgYXJlIGRlZXAgbWFnaWMuCiAgKi8KIAorI2lmIGRlZmluZWQoSEFWRV9TVERfQVRPTUlDKQorCit0eXBlZGVmIGVudW0gX1B5X21lbW9yeV9vcmRlciB7CisgICAgX1B5X21lbW9yeV9vcmRlcl9yZWxheGVkID0gbWVtb3J5X29yZGVyX3JlbGF4ZWQsCisgICAgX1B5X21lbW9yeV9vcmRlcl9hY3F1aXJlID0gbWVtb3J5X29yZGVyX2FjcXVpcmUsCisgICAgX1B5X21lbW9yeV9vcmRlcl9yZWxlYXNlID0gbWVtb3J5X29yZGVyX3JlbGVhc2UsCisgICAgX1B5X21lbW9yeV9vcmRlcl9hY3FfcmVsID0gbWVtb3J5X29yZGVyX2FjcV9yZWwsCisgICAgX1B5X21lbW9yeV9vcmRlcl9zZXFfY3N0ID0gbWVtb3J5X29yZGVyX3NlcV9jc3QKK30gX1B5X21lbW9yeV9vcmRlcjsKKwordHlwZWRlZiBzdHJ1Y3QgX1B5X2F0b21pY19hZGRyZXNzIHsKKyAgICBfQXRvbWljIHZvaWQgKl92YWx1ZTsKK30gX1B5X2F0b21pY19hZGRyZXNzOworCit0eXBlZGVmIHN0cnVjdCBfUHlfYXRvbWljX2ludCB7CisgICAgYXRvbWljX2ludCBfdmFsdWU7Cit9IF9QeV9hdG9taWNfaW50OworCisjZGVmaW5lIF9QeV9hdG9taWNfc2lnbmFsX2ZlbmNlKC8qbWVtb3J5X29yZGVyKi8gT1JERVIpIFwKKyAgICBhdG9taWNfc2lnbmFsX2ZlbmNlKE9SREVSKQorCisjZGVmaW5lIF9QeV9hdG9taWNfdGhyZWFkX2ZlbmNlKC8qbWVtb3J5X29yZGVyKi8gT1JERVIpIFwKKyAgICBhdG9taWNfdGhyZWFkX2ZlbmNlKE9SREVSKQorCisjZGVmaW5lIF9QeV9hdG9taWNfc3RvcmVfZXhwbGljaXQoQVRPTUlDX1ZBTCwgTkVXX1ZBTCwgT1JERVIpIFwKKyAgICBhdG9taWNfc3RvcmVfZXhwbGljaXQoJihBVE9NSUNfVkFMKS0+X3ZhbHVlLCBORVdfVkFMLCBPUkRFUikKKworI2RlZmluZSBfUHlfYXRvbWljX2xvYWRfZXhwbGljaXQoQVRPTUlDX1ZBTCwgT1JERVIpIFwKKyAgICBhdG9taWNfbG9hZF9leHBsaWNpdCgmKEFUT01JQ19WQUwpLT5fdmFsdWUsIE9SREVSKQorCisvKiBVc2UgYnVpbHRpbiBhdG9taWMgb3BlcmF0aW9ucyBpbiBHQ0MgPj0gNC43ICovCisjZWxpZiBkZWZpbmVkKEhBVkVfQlVJTFRJTl9BVE9NSUMpCisKK3R5cGVkZWYgZW51bSBfUHlfbWVtb3J5X29yZGVyIHsKKyAgICBfUHlfbWVtb3J5X29yZGVyX3JlbGF4ZWQgPSBfX0FUT01JQ19SRUxBWEVELAorICAgIF9QeV9tZW1vcnlfb3JkZXJfYWNxdWlyZSA9IF9fQVRPTUlDX0FDUVVJUkUsCisgICAgX1B5X21lbW9yeV9vcmRlcl9yZWxlYXNlID0gX19BVE9NSUNfUkVMRUFTRSwKKyAgICBfUHlfbWVtb3J5X29yZGVyX2FjcV9yZWwgPSBfX0FUT01JQ19BQ1FfUkVMLAorICAgIF9QeV9tZW1vcnlfb3JkZXJfc2VxX2NzdCA9IF9fQVRPTUlDX1NFUV9DU1QKK30gX1B5X21lbW9yeV9vcmRlcjsKKwordHlwZWRlZiBzdHJ1Y3QgX1B5X2F0b21pY19hZGRyZXNzIHsKKyAgICB2b2lkICpfdmFsdWU7Cit9IF9QeV9hdG9taWNfYWRkcmVzczsKKwordHlwZWRlZiBzdHJ1Y3QgX1B5X2F0b21pY19pbnQgeworICAgIGludCBfdmFsdWU7Cit9IF9QeV9hdG9taWNfaW50OworCisjZGVmaW5lIF9QeV9hdG9taWNfc2lnbmFsX2ZlbmNlKC8qbWVtb3J5X29yZGVyKi8gT1JERVIpIFwKKyAgICBfX2F0b21pY19zaWduYWxfZmVuY2UoT1JERVIpCisKKyNkZWZpbmUgX1B5X2F0b21pY190aHJlYWRfZmVuY2UoLyptZW1vcnlfb3JkZXIqLyBPUkRFUikgXAorICAgIF9fYXRvbWljX3RocmVhZF9mZW5jZShPUkRFUikKKworI2RlZmluZSBfUHlfYXRvbWljX3N0b3JlX2V4cGxpY2l0KEFUT01JQ19WQUwsIE5FV19WQUwsIE9SREVSKSBcCisgICAgKGFzc2VydCgoT1JERVIpID09IF9fQVRPTUlDX1JFTEFYRUQgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgIHx8IChPUkRFUikgPT0gX19BVE9NSUNfU0VRX0NTVCAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgfHwgKE9SREVSKSA9PSBfX0FUT01JQ19SRUxFQVNFKSwgICAgICAgICAgICAgICAgICBcCisgICAgIF9fYXRvbWljX3N0b3JlX24oJihBVE9NSUNfVkFMKS0+X3ZhbHVlLCBORVdfVkFMLCBPUkRFUikpCisKKyNkZWZpbmUgX1B5X2F0b21pY19sb2FkX2V4cGxpY2l0KEFUT01JQ19WQUwsIE9SREVSKSAgICAgICAgICAgXAorICAgIChhc3NlcnQoKE9SREVSKSA9PSBfX0FUT01JQ19SRUxBWEVEICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICB8fCAoT1JERVIpID09IF9fQVRPTUlDX1NFUV9DU1QgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgIHx8IChPUkRFUikgPT0gX19BVE9NSUNfQUNRVUlSRSAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgfHwgKE9SREVSKSA9PSBfX0FUT01JQ19DT05TVU1FKSwgICAgICAgICAgICAgICAgICBcCisgICAgIF9fYXRvbWljX2xvYWRfbigmKEFUT01JQ19WQUwpLT5fdmFsdWUsIE9SREVSKSkKKworI2Vsc2UKKwogdHlwZWRlZiBlbnVtIF9QeV9tZW1vcnlfb3JkZXIgewogICAgIF9QeV9tZW1vcnlfb3JkZXJfcmVsYXhlZCwKICAgICBfUHlfbWVtb3J5X29yZGVyX2FjcXVpcmUsCkBAIC0xNjIsNiArMjM1LDcgQEAKICAgICAoKEFUT01JQ19WQUwpLT5fdmFsdWUpCiAKICNlbmRpZiAgLyogIWdjYyB4ODYgKi8KKyNlbmRpZgogCiAvKiBTdGFuZGFyZGl6ZWQgc2hvcnRjdXRzLiAqLwogI2RlZmluZSBfUHlfYXRvbWljX3N0b3JlKEFUT01JQ19WQUwsIE5FV19WQUwpIFwKZGlmZiAtLWdpdCBhL0luY2x1ZGUvcHlkZWJ1Zy5oIGIvSW5jbHVkZS9weWRlYnVnLmgKaW5kZXggOGZlOTgxOC4uMTliZWMyYiAxMDA2NDQKLS0tIGEvSW5jbHVkZS9weWRlYnVnLmgKKysrIGIvSW5jbHVkZS9weWRlYnVnLmgKQEAgLTUsNiArNSw4IEBACiBleHRlcm4gIkMiIHsKICNlbmRpZgogCisvKiBUaGVzZSBnbG9iYWwgdmFyaWFibGUgYXJlIGRlZmluZWQgaW4gcHlsaWZlY3ljbGUuYyAqLworLyogWFhYIChuY29naGxhbik6IG1vdmUgdGhlc2UgZGVjbGFyYXRpb25zIHRvIHB5bGlmZWN5Y2xlLmg/ICovCiBQeUFQSV9EQVRBKGludCkgUHlfRGVidWdGbGFnOwogUHlBUElfREFUQShpbnQpIFB5X1ZlcmJvc2VGbGFnOwogUHlBUElfREFUQShpbnQpIFB5X1F1aWV0RmxhZzsKZGlmZiAtLWdpdCBhL0luY2x1ZGUvcHllcnJvcnMuaCBiL0luY2x1ZGUvcHllcnJvcnMuaAppbmRleCAwMmY2NWQ2Li44YTdlNGY0IDEwMDY0NAotLS0gYS9JbmNsdWRlL3B5ZXJyb3JzLmgKKysrIGIvSW5jbHVkZS9weWVycm9ycy5oCkBAIC05OSw2ICs5OSw3IEBACiAjZGVmaW5lIF9QeV9OT19SRVRVUk4KICNlbmRpZgogCisvKiBEZWZpbmVkIGluIFB5dGhvbi9weWxpZmVjeWNsZS5jICovCiBQeUFQSV9GVU5DKHZvaWQpIFB5X0ZhdGFsRXJyb3IoY29uc3QgY2hhciAqbWVzc2FnZSkgX1B5X05PX1JFVFVSTjsKIAogI2lmIGRlZmluZWQoUHlfREVCVUcpIHx8IGRlZmluZWQoUHlfTElNSVRFRF9BUEkpCkBAIC0yNDQsNiArMjQ1LDEyIEBACiAgICAgY29uc3QgY2hhciAqZm9ybWF0LCAgIC8qIEFTQ0lJLWVuY29kZWQgc3RyaW5nICAqLwogICAgIC4uLgogICAgICk7CisjaWYgIWRlZmluZWQoUHlfTElNSVRFRF9BUEkpIHx8IFB5X0xJTUlURURfQVBJKzAgPj0gMHgwMzA1MDAwMAorUHlBUElfRlVOQyhQeU9iamVjdCAqKSBQeUVycl9Gb3JtYXRWKAorICAgIFB5T2JqZWN0ICpleGNlcHRpb24sCisgICAgY29uc3QgY2hhciAqZm9ybWF0LAorICAgIHZhX2xpc3QgdmFyZ3MpOworI2VuZGlmCiAKICNpZmRlZiBNU19XSU5ET1dTCiBQeUFQSV9GVU5DKFB5T2JqZWN0ICopIFB5RXJyX1NldEZyb21XaW5kb3dzRXJyV2l0aEZpbGVuYW1lKApkaWZmIC0tZ2l0IGEvSW5jbHVkZS9weWxpZmVjeWNsZS5oIGIvSW5jbHVkZS9weWxpZmVjeWNsZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNjZGViZTIKLS0tIC9kZXYvbnVsbAorKysgYi9JbmNsdWRlL3B5bGlmZWN5Y2xlLmgKQEAgLTAsMCArMSwxMjQgQEAKKworLyogSW50ZXJmYWNlcyB0byBjb25maWd1cmUsIHF1ZXJ5LCBjcmVhdGUgJiBkZXN0cm95IHRoZSBQeXRob24gcnVudGltZSAqLworCisjaWZuZGVmIFB5X1BZTElGRUNZQ0xFX0gKKyNkZWZpbmUgUHlfUFlMSUZFQ1lDTEVfSAorI2lmZGVmIF9fY3BsdXNwbHVzCitleHRlcm4gIkMiIHsKKyNlbmRpZgorCitQeUFQSV9GVU5DKHZvaWQpIFB5X1NldFByb2dyYW1OYW1lKHdjaGFyX3QgKik7CitQeUFQSV9GVU5DKHdjaGFyX3QgKikgUHlfR2V0UHJvZ3JhbU5hbWUodm9pZCk7CisKK1B5QVBJX0ZVTkModm9pZCkgUHlfU2V0UHl0aG9uSG9tZSh3Y2hhcl90ICopOworUHlBUElfRlVOQyh3Y2hhcl90ICopIFB5X0dldFB5dGhvbkhvbWUodm9pZCk7CisKKyNpZm5kZWYgUHlfTElNSVRFRF9BUEkKKy8qIE9ubHkgdXNlZCBieSBhcHBsaWNhdGlvbnMgdGhhdCBlbWJlZCB0aGUgaW50ZXJwcmV0ZXIgYW5kIG5lZWQgdG8KKyAqIG92ZXJyaWRlIHRoZSBzdGFuZGFyZCBlbmNvZGluZyBkZXRlcm1pbmF0aW9uIG1lY2hhbmlzbQorICovCitQeUFQSV9GVU5DKGludCkgUHlfU2V0U3RhbmRhcmRTdHJlYW1FbmNvZGluZyhjb25zdCBjaGFyICplbmNvZGluZywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmVycm9ycyk7CisjZW5kaWYKKworUHlBUElfRlVOQyh2b2lkKSBQeV9Jbml0aWFsaXplKHZvaWQpOworUHlBUElfRlVOQyh2b2lkKSBQeV9Jbml0aWFsaXplRXgoaW50KTsKKyNpZm5kZWYgUHlfTElNSVRFRF9BUEkKK1B5QVBJX0ZVTkModm9pZCkgX1B5X0luaXRpYWxpemVFeF9Qcml2YXRlKGludCwgaW50KTsKKyNlbmRpZgorUHlBUElfRlVOQyh2b2lkKSBQeV9GaW5hbGl6ZSh2b2lkKTsKK1B5QVBJX0ZVTkMoaW50KSBQeV9Jc0luaXRpYWxpemVkKHZvaWQpOworUHlBUElfRlVOQyhQeVRocmVhZFN0YXRlICopIFB5X05ld0ludGVycHJldGVyKHZvaWQpOworUHlBUElfRlVOQyh2b2lkKSBQeV9FbmRJbnRlcnByZXRlcihQeVRocmVhZFN0YXRlICopOworCisKKy8qIFB5X1B5QXRFeGl0IGlzIGZvciB0aGUgYXRleGl0IG1vZHVsZSwgUHlfQXRFeGl0IGlzIGZvciBsb3ctbGV2ZWwKKyAqIGV4aXQgZnVuY3Rpb25zLgorICovCisjaWZuZGVmIFB5X0xJTUlURURfQVBJCitQeUFQSV9GVU5DKHZvaWQpIF9QeV9QeUF0RXhpdCh2b2lkICgqZnVuYykodm9pZCkpOworI2VuZGlmCitQeUFQSV9GVU5DKGludCkgUHlfQXRFeGl0KHZvaWQgKCpmdW5jKSh2b2lkKSk7CisKK1B5QVBJX0ZVTkModm9pZCkgUHlfRXhpdChpbnQpOworCisvKiBSZXN0b3JlIHNpZ25hbHMgdGhhdCB0aGUgaW50ZXJwcmV0ZXIgaGFzIGNhbGxlZCBTSUdfSUdOIG9uIHRvIFNJR19ERkwuICovCisjaWZuZGVmIFB5X0xJTUlURURfQVBJCitQeUFQSV9GVU5DKHZvaWQpIF9QeV9SZXN0b3JlU2lnbmFscyh2b2lkKTsKKworUHlBUElfRlVOQyhpbnQpIFB5X0ZkSXNJbnRlcmFjdGl2ZShGSUxFICosIGNvbnN0IGNoYXIgKik7CisjZW5kaWYKKworLyogQm9vdHN0cmFwIF9fbWFpbl9fIChkZWZpbmVkIGluIE1vZHVsZXMvbWFpbi5jKSAqLworUHlBUElfRlVOQyhpbnQpIFB5X01haW4oaW50IGFyZ2MsIHdjaGFyX3QgKiphcmd2KTsKKworLyogSW4gZ2V0cGF0aC5jICovCitQeUFQSV9GVU5DKHdjaGFyX3QgKikgUHlfR2V0UHJvZ3JhbUZ1bGxQYXRoKHZvaWQpOworUHlBUElfRlVOQyh3Y2hhcl90ICopIFB5X0dldFByZWZpeCh2b2lkKTsKK1B5QVBJX0ZVTkMod2NoYXJfdCAqKSBQeV9HZXRFeGVjUHJlZml4KHZvaWQpOworUHlBUElfRlVOQyh3Y2hhcl90ICopIFB5X0dldFBhdGgodm9pZCk7CitQeUFQSV9GVU5DKHZvaWQpICAgICAgUHlfU2V0UGF0aChjb25zdCB3Y2hhcl90ICopOworI2lmZGVmIE1TX1dJTkRPV1MKK2ludCBfUHlfQ2hlY2tQeXRob24zKCk7CisjZW5kaWYKKworLyogSW4gdGhlaXIgb3duIGZpbGVzICovCitQeUFQSV9GVU5DKGNvbnN0IGNoYXIgKikgUHlfR2V0VmVyc2lvbih2b2lkKTsKK1B5QVBJX0ZVTkMoY29uc3QgY2hhciAqKSBQeV9HZXRQbGF0Zm9ybSh2b2lkKTsKK1B5QVBJX0ZVTkMoY29uc3QgY2hhciAqKSBQeV9HZXRDb3B5cmlnaHQodm9pZCk7CitQeUFQSV9GVU5DKGNvbnN0IGNoYXIgKikgUHlfR2V0Q29tcGlsZXIodm9pZCk7CitQeUFQSV9GVU5DKGNvbnN0IGNoYXIgKikgUHlfR2V0QnVpbGRJbmZvKHZvaWQpOworI2lmbmRlZiBQeV9MSU1JVEVEX0FQSQorUHlBUElfRlVOQyhjb25zdCBjaGFyICopIF9QeV9oZ2lkZW50aWZpZXIodm9pZCk7CitQeUFQSV9GVU5DKGNvbnN0IGNoYXIgKikgX1B5X2hndmVyc2lvbih2b2lkKTsKKyNlbmRpZgorCisvKiBJbnRlcm5hbCAtLSB2YXJpb3VzIG9uZS10aW1lIGluaXRpYWxpemF0aW9ucyAqLworI2lmbmRlZiBQeV9MSU1JVEVEX0FQSQorUHlBUElfRlVOQyhQeU9iamVjdCAqKSBfUHlCdWlsdGluX0luaXQodm9pZCk7CitQeUFQSV9GVU5DKFB5T2JqZWN0ICopIF9QeVN5c19Jbml0KHZvaWQpOworUHlBUElfRlVOQyh2b2lkKSBfUHlJbXBvcnRfSW5pdCh2b2lkKTsKK1B5QVBJX0ZVTkModm9pZCkgX1B5RXhjX0luaXQoUHlPYmplY3QgKiBibHRpbm1vZCk7CitQeUFQSV9GVU5DKHZvaWQpIF9QeUltcG9ydEhvb2tzX0luaXQodm9pZCk7CitQeUFQSV9GVU5DKGludCkgX1B5RnJhbWVfSW5pdCh2b2lkKTsKK1B5QVBJX0ZVTkMoaW50KSBfUHlGbG9hdF9Jbml0KHZvaWQpOworUHlBUElfRlVOQyhpbnQpIFB5Qnl0ZUFycmF5X0luaXQodm9pZCk7CitQeUFQSV9GVU5DKHZvaWQpIF9QeVJhbmRvbV9Jbml0KHZvaWQpOworI2VuZGlmCisKKy8qIFZhcmlvdXMgaW50ZXJuYWwgZmluYWxpemVycyAqLworI2lmbmRlZiBQeV9MSU1JVEVEX0FQSQorUHlBUElfRlVOQyh2b2lkKSBfUHlFeGNfRmluaSh2b2lkKTsKK1B5QVBJX0ZVTkModm9pZCkgX1B5SW1wb3J0X0Zpbmkodm9pZCk7CitQeUFQSV9GVU5DKHZvaWQpIFB5TWV0aG9kX0Zpbmkodm9pZCk7CitQeUFQSV9GVU5DKHZvaWQpIFB5RnJhbWVfRmluaSh2b2lkKTsKK1B5QVBJX0ZVTkModm9pZCkgUHlDRnVuY3Rpb25fRmluaSh2b2lkKTsKK1B5QVBJX0ZVTkModm9pZCkgUHlEaWN0X0Zpbmkodm9pZCk7CitQeUFQSV9GVU5DKHZvaWQpIFB5VHVwbGVfRmluaSh2b2lkKTsKK1B5QVBJX0ZVTkModm9pZCkgUHlMaXN0X0Zpbmkodm9pZCk7CitQeUFQSV9GVU5DKHZvaWQpIFB5U2V0X0Zpbmkodm9pZCk7CitQeUFQSV9GVU5DKHZvaWQpIFB5Qnl0ZXNfRmluaSh2b2lkKTsKK1B5QVBJX0ZVTkModm9pZCkgUHlCeXRlQXJyYXlfRmluaSh2b2lkKTsKK1B5QVBJX0ZVTkModm9pZCkgUHlGbG9hdF9GaW5pKHZvaWQpOworUHlBUElfRlVOQyh2b2lkKSBQeU9TX0ZpbmlJbnRlcnJ1cHRzKHZvaWQpOworUHlBUElfRlVOQyh2b2lkKSBfUHlHQ19EdW1wU2h1dGRvd25TdGF0cyh2b2lkKTsKK1B5QVBJX0ZVTkModm9pZCkgX1B5R0NfRmluaSh2b2lkKTsKK1B5QVBJX0ZVTkModm9pZCkgUHlTbGljZV9GaW5pKHZvaWQpOworUHlBUElfRlVOQyh2b2lkKSBfUHlUeXBlX0Zpbmkodm9pZCk7CitQeUFQSV9GVU5DKHZvaWQpIF9QeVJhbmRvbV9GaW5pKHZvaWQpOworCitQeUFQSV9EQVRBKFB5VGhyZWFkU3RhdGUgKikgX1B5X0ZpbmFsaXppbmc7CisjZW5kaWYKKworLyogU2lnbmFscyAqLwordHlwZWRlZiB2b2lkICgqUHlPU19zaWdoYW5kbGVyX3QpKGludCk7CitQeUFQSV9GVU5DKFB5T1Nfc2lnaGFuZGxlcl90KSBQeU9TX2dldHNpZyhpbnQpOworUHlBUElfRlVOQyhQeU9TX3NpZ2hhbmRsZXJfdCkgUHlPU19zZXRzaWcoaW50LCBQeU9TX3NpZ2hhbmRsZXJfdCk7CisKKy8qIFJhbmRvbSAqLworUHlBUElfRlVOQyhpbnQpIF9QeU9TX1VSYW5kb20gKHZvaWQgKmJ1ZmZlciwgUHlfc3NpemVfdCBzaXplKTsKKworI2lmZGVmIF9fY3BsdXNwbHVzCit9CisjZW5kaWYKKyNlbmRpZiAvKiAhUHlfUFlMSUZFQ1lDTEVfSCAqLwpkaWZmIC0tZ2l0IGEvSW5jbHVkZS9weW1hY3JvLmggYi9JbmNsdWRlL3B5bWFjcm8uaAppbmRleCA3OTk3YzU1Li4zZjZmNWRjIDEwMDY0NAotLS0gYS9JbmNsdWRlL3B5bWFjcm8uaAorKysgYi9JbmNsdWRlL3B5bWFjcm8uaApAQCAtMSwxMyArMSwyNiBAQAogI2lmbmRlZiBQeV9QWU1BQ1JPX0gKICNkZWZpbmUgUHlfUFlNQUNST19ICiAKKy8qIE1pbmltdW0gdmFsdWUgYmV0d2VlbiB4IGFuZCB5ICovCiAjZGVmaW5lIFB5X01JTih4LCB5KSAoKCh4KSA+ICh5KSkgPyAoeSkgOiAoeCkpCisKKy8qIE1heGltdW0gdmFsdWUgYmV0d2VlbiB4IGFuZCB5ICovCiAjZGVmaW5lIFB5X01BWCh4LCB5KSAoKCh4KSA+ICh5KSkgPyAoeCkgOiAoeSkpCiAKKy8qIEFic29sdXRlIHZhbHVlIG9mIHRoZSBudW1iZXIgeCAqLworI2RlZmluZSBQeV9BQlMoeCkgKCh4KSA8IDAgPyAtKHgpIDogKHgpKQorCisjZGVmaW5lIF9QeV9YU1RSSU5HSUZZKHgpICN4CisKKy8qIENvbnZlcnQgdGhlIGFyZ3VtZW50IHRvIGEgc3RyaW5nLiBGb3IgZXhhbXBsZSwgUHlfU1RSSU5HSUZZKDEyMykgaXMgcmVwbGFjZWQKKyAgIHdpdGggIjEyMyIgYnkgdGhlIHByZXByb2Nlc3Nvci4gRGVmaW5lcyBhcmUgYWxzbyByZXBsYWNlZCBieSB0aGVpciB2YWx1ZS4KKyAgIEZvciBleGFtcGxlIFB5X1NUUklOR0lGWShfX0xJTkVfXykgaXMgcmVwbGFjZWQgYnkgdGhlIGxpbmUgbnVtYmVyLCBub3QKKyAgIGJ5ICJfX0xJTkVfXyIuICovCisjZGVmaW5lIFB5X1NUUklOR0lGWSh4KSBfUHlfWFNUUklOR0lGWSh4KQorCiAvKiBBcmd1bWVudCBtdXN0IGJlIGEgY2hhciBvciBhbiBpbnQgaW4gWy0xMjgsIDEyN10gb3IgWzAsIDI1NV0uICovCiAjZGVmaW5lIFB5X0NIQVJNQVNLKGMpICgodW5zaWduZWQgY2hhcikoKGMpICYgMHhmZikpCiAKLQogLyogQXNzZXJ0IGEgYnVpbGQtdGltZSBkZXBlbmRlbmN5LCBhcyBhbiBleHByZXNzaW9uLgogCiAgICBZb3VyIGNvbXBpbGUgd2lsbCBmYWlsIGlmIHRoZSBjb25kaXRpb24gaXNuJ3QgdHJ1ZSwgb3IgY2FuJ3QgYmUgZXZhbHVhdGVkCmRpZmYgLS1naXQgYS9JbmNsdWRlL3B5bWVtLmggYi9JbmNsdWRlL3B5bWVtLmgKaW5kZXggMjM3MmI4Ni4uMDQzZGI2NCAxMDA2NDQKLS0tIGEvSW5jbHVkZS9weW1lbS5oCisrKyBiL0luY2x1ZGUvcHltZW0uaApAQCAtMTMsNiArMTMsNyBAQAogCiAjaWZuZGVmIFB5X0xJTUlURURfQVBJCiBQeUFQSV9GVU5DKHZvaWQgKikgUHlNZW1fUmF3TWFsbG9jKHNpemVfdCBzaXplKTsKK1B5QVBJX0ZVTkModm9pZCAqKSBQeU1lbV9SYXdDYWxsb2Moc2l6ZV90IG5lbGVtLCBzaXplX3QgZWxzaXplKTsKIFB5QVBJX0ZVTkModm9pZCAqKSBQeU1lbV9SYXdSZWFsbG9jKHZvaWQgKnB0ciwgc2l6ZV90IG5ld19zaXplKTsKIFB5QVBJX0ZVTkModm9pZCkgUHlNZW1fUmF3RnJlZSh2b2lkICpwdHIpOwogI2VuZGlmCkBAIC01Nyw2ICs1OCw3IEBACiAqLwogCiBQeUFQSV9GVU5DKHZvaWQgKikgUHlNZW1fTWFsbG9jKHNpemVfdCBzaXplKTsKK1B5QVBJX0ZVTkModm9pZCAqKSBQeU1lbV9DYWxsb2Moc2l6ZV90IG5lbGVtLCBzaXplX3QgZWxzaXplKTsKIFB5QVBJX0ZVTkModm9pZCAqKSBQeU1lbV9SZWFsbG9jKHZvaWQgKnB0ciwgc2l6ZV90IG5ld19zaXplKTsKIFB5QVBJX0ZVTkModm9pZCkgUHlNZW1fRnJlZSh2b2lkICpwdHIpOwogCkBAIC0xMjYsMjIgKzEyOCwyNSBAQAogfSBQeU1lbUFsbG9jYXRvckRvbWFpbjsKIAogdHlwZWRlZiBzdHJ1Y3QgewotICAgIC8qIHVzZXIgY29udGV4dCBwYXNzZWQgYXMgdGhlIGZpcnN0IGFyZ3VtZW50IHRvIHRoZSAzIGZ1bmN0aW9ucyAqLworICAgIC8qIHVzZXIgY29udGV4dCBwYXNzZWQgYXMgdGhlIGZpcnN0IGFyZ3VtZW50IHRvIHRoZSA0IGZ1bmN0aW9ucyAqLwogICAgIHZvaWQgKmN0eDsKIAogICAgIC8qIGFsbG9jYXRlIGEgbWVtb3J5IGJsb2NrICovCiAgICAgdm9pZCogKCptYWxsb2MpICh2b2lkICpjdHgsIHNpemVfdCBzaXplKTsKIAorICAgIC8qIGFsbG9jYXRlIGEgbWVtb3J5IGJsb2NrIGluaXRpYWxpemVkIGJ5IHplcm9zICovCisgICAgdm9pZCogKCpjYWxsb2MpICh2b2lkICpjdHgsIHNpemVfdCBuZWxlbSwgc2l6ZV90IGVsc2l6ZSk7CisKICAgICAvKiBhbGxvY2F0ZSBvciByZXNpemUgYSBtZW1vcnkgYmxvY2sgKi8KICAgICB2b2lkKiAoKnJlYWxsb2MpICh2b2lkICpjdHgsIHZvaWQgKnB0ciwgc2l6ZV90IG5ld19zaXplKTsKIAogICAgIC8qIHJlbGVhc2UgYSBtZW1vcnkgYmxvY2sgKi8KICAgICB2b2lkICgqZnJlZSkgKHZvaWQgKmN0eCwgdm9pZCAqcHRyKTsKLX0gUHlNZW1BbGxvY2F0b3I7Cit9IFB5TWVtQWxsb2NhdG9yRXg7CiAKIC8qIEdldCB0aGUgbWVtb3J5IGJsb2NrIGFsbG9jYXRvciBvZiB0aGUgc3BlY2lmaWVkIGRvbWFpbi4gKi8KIFB5QVBJX0ZVTkModm9pZCkgUHlNZW1fR2V0QWxsb2NhdG9yKFB5TWVtQWxsb2NhdG9yRG9tYWluIGRvbWFpbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5TWVtQWxsb2NhdG9yICphbGxvY2F0b3IpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlNZW1BbGxvY2F0b3JFeCAqYWxsb2NhdG9yKTsKIAogLyogU2V0IHRoZSBtZW1vcnkgYmxvY2sgYWxsb2NhdG9yIG9mIHRoZSBzcGVjaWZpZWQgZG9tYWluLgogCkBAIC0xNTUsNyArMTYwLDcgQEAKICAgIFB5TWVtX1NldHVwRGVidWdIb29rcygpIGZ1bmN0aW9uIG11c3QgYmUgY2FsbGVkIHRvIHJlaW5zdGFsbCB0aGUgZGVidWcgaG9va3MKICAgIG9uIHRvcCBvbiB0aGUgbmV3IGFsbG9jYXRvci4gKi8KIFB5QVBJX0ZVTkModm9pZCkgUHlNZW1fU2V0QWxsb2NhdG9yKFB5TWVtQWxsb2NhdG9yRG9tYWluIGRvbWFpbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5TWVtQWxsb2NhdG9yICphbGxvY2F0b3IpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlNZW1BbGxvY2F0b3JFeCAqYWxsb2NhdG9yKTsKIAogLyogU2V0dXAgaG9va3MgdG8gZGV0ZWN0IGJ1Z3MgaW4gdGhlIGZvbGxvd2luZyBQeXRob24gbWVtb3J5IGFsbG9jYXRvcgogICAgZnVuY3Rpb25zOgpkaWZmIC0tZ2l0IGEvSW5jbHVkZS9weXBvcnQuaCBiL0luY2x1ZGUvcHlwb3J0LmgKaW5kZXggYzcwNjIxMy4uNjlkZWI5ZiAxMDA2NDQKLS0tIGEvSW5jbHVkZS9weXBvcnQuaAorKysgYi9JbmNsdWRlL3B5cG9ydC5oCkBAIC01ODgsNiArNTg4LDI1IEBACiAgICAgfSB3aGlsZSAoMCkKICNlbmRpZgogCisjaWZkZWYgSEFWRV9HQ0NfQVNNX0ZPUl9NQzY4ODgxCisjZGVmaW5lIEhBVkVfUFlfU0VUXzUzQklUX1BSRUNJU0lPTiAxCisjZGVmaW5lIF9QeV9TRVRfNTNCSVRfUFJFQ0lTSU9OX0hFQURFUiBcCisgIHVuc2lnbmVkIGludCBvbGRfZnBjciwgbmV3X2ZwY3IKKyNkZWZpbmUgX1B5X1NFVF81M0JJVF9QUkVDSVNJT05fU1RBUlQJCQkJCVwKKyAgZG8gewkJCQkJCQkJCVwKKyAgICBfX2FzbV9fICgiZm1vdmUubCAlJWZwY3IsJTAiIDogIj1nIiAob2xkX2ZwY3IpKTsJCQlcCisgICAgLyogU2V0IGRvdWJsZSBwcmVjaXNpb24gLyByb3VuZCB0byBuZWFyZXN0LiAgKi8JCQlcCisgICAgbmV3X2ZwY3IgPSAob2xkX2ZwY3IgJiB+MHhmMCkgfCAweDgwOwkJCQlcCisgICAgaWYgKG5ld19mcGNyICE9IG9sZF9mcGNyKQkJCQkJCVwKKyAgICAgIF9fYXNtX18gdm9sYXRpbGUgKCJmbW92ZS5sICUwLCUlZnBjciIgOiA6ICJnIiAobmV3X2ZwY3IpKTsJXAorICB9IHdoaWxlICgwKQorI2RlZmluZSBfUHlfU0VUXzUzQklUX1BSRUNJU0lPTl9FTkQJCQkJCVwKKyAgZG8gewkJCQkJCQkJCVwKKyAgICBpZiAobmV3X2ZwY3IgIT0gb2xkX2ZwY3IpCQkJCQkJXAorICAgICAgX19hc21fXyB2b2xhdGlsZSAoImZtb3ZlLmwgJTAsJSVmcGNyIiA6IDogImciIChvbGRfZnBjcikpOwlcCisgIH0gd2hpbGUgKDApCisjZW5kaWYKKwogLyogZGVmYXVsdCBkZWZpbml0aW9ucyBhcmUgZW1wdHkgKi8KICNpZm5kZWYgSEFWRV9QWV9TRVRfNTNCSVRfUFJFQ0lTSU9OCiAjZGVmaW5lIF9QeV9TRVRfNTNCSVRfUFJFQ0lTSU9OX0hFQURFUgpkaWZmIC0tZ2l0IGEvSW5jbHVkZS9weXRob25ydW4uaCBiL0luY2x1ZGUvcHl0aG9ucnVuLmgKaW5kZXggMmZjNTU3OC4uMWQ5YjcxYiAxMDA2NDQKLS0tIGEvSW5jbHVkZS9weXRob25ydW4uaAorKysgYi9JbmNsdWRlL3B5dGhvbnJ1bi5oCkBAIC0yMiwzMCArMjIsNiBAQAogfSBQeUNvbXBpbGVyRmxhZ3M7CiAjZW5kaWYKIAotUHlBUElfRlVOQyh2b2lkKSBQeV9TZXRQcm9ncmFtTmFtZSh3Y2hhcl90ICopOwotUHlBUElfRlVOQyh3Y2hhcl90ICopIFB5X0dldFByb2dyYW1OYW1lKHZvaWQpOwotCi1QeUFQSV9GVU5DKHZvaWQpIFB5X1NldFB5dGhvbkhvbWUod2NoYXJfdCAqKTsKLVB5QVBJX0ZVTkMod2NoYXJfdCAqKSBQeV9HZXRQeXRob25Ib21lKHZvaWQpOwotCi0jaWZuZGVmIFB5X0xJTUlURURfQVBJCi0vKiBPbmx5IHVzZWQgYnkgYXBwbGljYXRpb25zIHRoYXQgZW1iZWQgdGhlIGludGVycHJldGVyIGFuZCBuZWVkIHRvCi0gKiBvdmVycmlkZSB0aGUgc3RhbmRhcmQgZW5jb2RpbmcgZGV0ZXJtaW5hdGlvbiBtZWNoYW5pc20KLSAqLwotUHlBUElfRlVOQyhpbnQpIFB5X1NldFN0YW5kYXJkU3RyZWFtRW5jb2RpbmcoY29uc3QgY2hhciAqZW5jb2RpbmcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICplcnJvcnMpOwotI2VuZGlmCi0KLVB5QVBJX0ZVTkModm9pZCkgUHlfSW5pdGlhbGl6ZSh2b2lkKTsKLVB5QVBJX0ZVTkModm9pZCkgUHlfSW5pdGlhbGl6ZUV4KGludCk7Ci0jaWZuZGVmIFB5X0xJTUlURURfQVBJCi1QeUFQSV9GVU5DKHZvaWQpIF9QeV9Jbml0aWFsaXplRXhfUHJpdmF0ZShpbnQsIGludCk7Ci0jZW5kaWYKLVB5QVBJX0ZVTkModm9pZCkgUHlfRmluYWxpemUodm9pZCk7Ci1QeUFQSV9GVU5DKGludCkgUHlfSXNJbml0aWFsaXplZCh2b2lkKTsKLVB5QVBJX0ZVTkMoUHlUaHJlYWRTdGF0ZSAqKSBQeV9OZXdJbnRlcnByZXRlcih2b2lkKTsKLVB5QVBJX0ZVTkModm9pZCkgUHlfRW5kSW50ZXJwcmV0ZXIoUHlUaHJlYWRTdGF0ZSAqKTsKLQogI2lmbmRlZiBQeV9MSU1JVEVEX0FQSQogUHlBUElfRlVOQyhpbnQpIFB5UnVuX1NpbXBsZVN0cmluZ0ZsYWdzKGNvbnN0IGNoYXIgKiwgUHlDb21waWxlckZsYWdzICopOwogUHlBUElfRlVOQyhpbnQpIFB5UnVuX0FueUZpbGVGbGFncyhGSUxFICosIGNvbnN0IGNoYXIgKiwgUHlDb21waWxlckZsYWdzICopOwpAQCAtMTY2LDI2ICsxNDIsNiBAQAogUHlBUElfRlVOQyh2b2lkKSBQeUVycl9QcmludEV4KGludCk7CiBQeUFQSV9GVU5DKHZvaWQpIFB5RXJyX0Rpc3BsYXkoUHlPYmplY3QgKiwgUHlPYmplY3QgKiwgUHlPYmplY3QgKik7CiAKLS8qIFB5X1B5QXRFeGl0IGlzIGZvciB0aGUgYXRleGl0IG1vZHVsZSwgUHlfQXRFeGl0IGlzIGZvciBsb3ctbGV2ZWwKLSAqIGV4aXQgZnVuY3Rpb25zLgotICovCi0jaWZuZGVmIFB5X0xJTUlURURfQVBJCi1QeUFQSV9GVU5DKHZvaWQpIF9QeV9QeUF0RXhpdCh2b2lkICgqZnVuYykodm9pZCkpOwotI2VuZGlmCi1QeUFQSV9GVU5DKGludCkgUHlfQXRFeGl0KHZvaWQgKCpmdW5jKSh2b2lkKSk7Ci0KLVB5QVBJX0ZVTkModm9pZCkgUHlfRXhpdChpbnQpOwotCi0vKiBSZXN0b3JlIHNpZ25hbHMgdGhhdCB0aGUgaW50ZXJwcmV0ZXIgaGFzIGNhbGxlZCBTSUdfSUdOIG9uIHRvIFNJR19ERkwuICovCi0jaWZuZGVmIFB5X0xJTUlURURfQVBJCi1QeUFQSV9GVU5DKHZvaWQpIF9QeV9SZXN0b3JlU2lnbmFscyh2b2lkKTsKLQotUHlBUElfRlVOQyhpbnQpIFB5X0ZkSXNJbnRlcmFjdGl2ZShGSUxFICosIGNvbnN0IGNoYXIgKik7Ci0jZW5kaWYKLQotLyogQm9vdHN0cmFwICovCi1QeUFQSV9GVU5DKGludCkgUHlfTWFpbihpbnQgYXJnYywgd2NoYXJfdCAqKmFyZ3YpOwotCiAjaWZuZGVmIFB5X0xJTUlURURfQVBJCiAvKiBVc2UgbWFjcm9zIGZvciBhIGJ1bmNoIG9mIG9sZCB2YXJpYW50cyAqLwogI2RlZmluZSBQeVJ1bl9TdHJpbmcoc3RyLCBzLCBnLCBsKSBQeVJ1bl9TdHJpbmdGbGFncyhzdHIsIHMsIGcsIGwsIE5VTEwpCkBAIC0yMDcsNjQgKzE2Myw2IEBACiAgICAgUHlSdW5fRmlsZUV4RmxhZ3MoZnAsIHAsIHMsIGcsIGwsIDAsIGZsYWdzKQogI2VuZGlmCiAKLS8qIEluIGdldHBhdGguYyAqLwotUHlBUElfRlVOQyh3Y2hhcl90ICopIFB5X0dldFByb2dyYW1GdWxsUGF0aCh2b2lkKTsKLVB5QVBJX0ZVTkMod2NoYXJfdCAqKSBQeV9HZXRQcmVmaXgodm9pZCk7Ci1QeUFQSV9GVU5DKHdjaGFyX3QgKikgUHlfR2V0RXhlY1ByZWZpeCh2b2lkKTsKLVB5QVBJX0ZVTkMod2NoYXJfdCAqKSBQeV9HZXRQYXRoKHZvaWQpOwotUHlBUElfRlVOQyh2b2lkKSAgICAgIFB5X1NldFBhdGgoY29uc3Qgd2NoYXJfdCAqKTsKLSNpZmRlZiBNU19XSU5ET1dTCi1pbnQgX1B5X0NoZWNrUHl0aG9uMygpOwotI2VuZGlmCi0KLS8qIEluIHRoZWlyIG93biBmaWxlcyAqLwotUHlBUElfRlVOQyhjb25zdCBjaGFyICopIFB5X0dldFZlcnNpb24odm9pZCk7Ci1QeUFQSV9GVU5DKGNvbnN0IGNoYXIgKikgUHlfR2V0UGxhdGZvcm0odm9pZCk7Ci1QeUFQSV9GVU5DKGNvbnN0IGNoYXIgKikgUHlfR2V0Q29weXJpZ2h0KHZvaWQpOwotUHlBUElfRlVOQyhjb25zdCBjaGFyICopIFB5X0dldENvbXBpbGVyKHZvaWQpOwotUHlBUElfRlVOQyhjb25zdCBjaGFyICopIFB5X0dldEJ1aWxkSW5mbyh2b2lkKTsKLSNpZm5kZWYgUHlfTElNSVRFRF9BUEkKLVB5QVBJX0ZVTkMoY29uc3QgY2hhciAqKSBfUHlfaGdpZGVudGlmaWVyKHZvaWQpOwotUHlBUElfRlVOQyhjb25zdCBjaGFyICopIF9QeV9oZ3ZlcnNpb24odm9pZCk7Ci0jZW5kaWYKLQotLyogSW50ZXJuYWwgLS0gdmFyaW91cyBvbmUtdGltZSBpbml0aWFsaXphdGlvbnMgKi8KLSNpZm5kZWYgUHlfTElNSVRFRF9BUEkKLVB5QVBJX0ZVTkMoUHlPYmplY3QgKikgX1B5QnVpbHRpbl9Jbml0KHZvaWQpOwotUHlBUElfRlVOQyhQeU9iamVjdCAqKSBfUHlTeXNfSW5pdCh2b2lkKTsKLVB5QVBJX0ZVTkModm9pZCkgX1B5SW1wb3J0X0luaXQodm9pZCk7Ci1QeUFQSV9GVU5DKHZvaWQpIF9QeUV4Y19Jbml0KFB5T2JqZWN0ICogYmx0aW5tb2QpOwotUHlBUElfRlVOQyh2b2lkKSBfUHlJbXBvcnRIb29rc19Jbml0KHZvaWQpOwotUHlBUElfRlVOQyhpbnQpIF9QeUZyYW1lX0luaXQodm9pZCk7Ci1QeUFQSV9GVU5DKGludCkgX1B5RmxvYXRfSW5pdCh2b2lkKTsKLVB5QVBJX0ZVTkMoaW50KSBQeUJ5dGVBcnJheV9Jbml0KHZvaWQpOwotUHlBUElfRlVOQyh2b2lkKSBfUHlSYW5kb21fSW5pdCh2b2lkKTsKLSNlbmRpZgotCi0vKiBWYXJpb3VzIGludGVybmFsIGZpbmFsaXplcnMgKi8KLSNpZm5kZWYgUHlfTElNSVRFRF9BUEkKLVB5QVBJX0ZVTkModm9pZCkgX1B5RXhjX0Zpbmkodm9pZCk7Ci1QeUFQSV9GVU5DKHZvaWQpIF9QeUltcG9ydF9GaW5pKHZvaWQpOwotUHlBUElfRlVOQyh2b2lkKSBQeU1ldGhvZF9GaW5pKHZvaWQpOwotUHlBUElfRlVOQyh2b2lkKSBQeUZyYW1lX0Zpbmkodm9pZCk7Ci1QeUFQSV9GVU5DKHZvaWQpIFB5Q0Z1bmN0aW9uX0Zpbmkodm9pZCk7Ci1QeUFQSV9GVU5DKHZvaWQpIFB5RGljdF9GaW5pKHZvaWQpOwotUHlBUElfRlVOQyh2b2lkKSBQeVR1cGxlX0Zpbmkodm9pZCk7Ci1QeUFQSV9GVU5DKHZvaWQpIFB5TGlzdF9GaW5pKHZvaWQpOwotUHlBUElfRlVOQyh2b2lkKSBQeVNldF9GaW5pKHZvaWQpOwotUHlBUElfRlVOQyh2b2lkKSBQeUJ5dGVzX0Zpbmkodm9pZCk7Ci1QeUFQSV9GVU5DKHZvaWQpIFB5Qnl0ZUFycmF5X0Zpbmkodm9pZCk7Ci1QeUFQSV9GVU5DKHZvaWQpIFB5RmxvYXRfRmluaSh2b2lkKTsKLVB5QVBJX0ZVTkModm9pZCkgUHlPU19GaW5pSW50ZXJydXB0cyh2b2lkKTsKLVB5QVBJX0ZVTkModm9pZCkgX1B5R0NfRHVtcFNodXRkb3duU3RhdHModm9pZCk7Ci1QeUFQSV9GVU5DKHZvaWQpIF9QeUdDX0Zpbmkodm9pZCk7Ci1QeUFQSV9GVU5DKHZvaWQpIFB5U2xpY2VfRmluaSh2b2lkKTsKLVB5QVBJX0ZVTkModm9pZCkgX1B5VHlwZV9GaW5pKHZvaWQpOwotUHlBUElfRlVOQyh2b2lkKSBfUHlSYW5kb21fRmluaSh2b2lkKTsKLQotUHlBUElfREFUQShQeVRocmVhZFN0YXRlICopIF9QeV9GaW5hbGl6aW5nOwotI2VuZGlmCi0KIC8qIFN0dWZmIHdpdGggbm8gcHJvcGVyIGhvbWUgKHlldCkgKi8KICNpZm5kZWYgUHlfTElNSVRFRF9BUEkKIFB5QVBJX0ZVTkMoY2hhciAqKSBQeU9TX1JlYWRsaW5lKEZJTEUgKiwgRklMRSAqLCBjb25zdCBjaGFyICopOwpAQCAtMjkwLDE0ICsxODgsNiBAQAogUHlBUElfRlVOQyhpbnQpIFB5T1NfQ2hlY2tTdGFjayh2b2lkKTsKICNlbmRpZgogCi0vKiBTaWduYWxzICovCi10eXBlZGVmIHZvaWQgKCpQeU9TX3NpZ2hhbmRsZXJfdCkoaW50KTsKLVB5QVBJX0ZVTkMoUHlPU19zaWdoYW5kbGVyX3QpIFB5T1NfZ2V0c2lnKGludCk7Ci1QeUFQSV9GVU5DKFB5T1Nfc2lnaGFuZGxlcl90KSBQeU9TX3NldHNpZyhpbnQsIFB5T1Nfc2lnaGFuZGxlcl90KTsKLQotLyogUmFuZG9tICovCi1QeUFQSV9GVU5DKGludCkgX1B5T1NfVVJhbmRvbSAodm9pZCAqYnVmZmVyLCBQeV9zc2l6ZV90IHNpemUpOwotCiAjaWZkZWYgX19jcGx1c3BsdXMKIH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvSW5jbHVkZS9weXRpbWUuaCBiL0luY2x1ZGUvcHl0aW1lLmgKaW5kZXggYjBmYzZkMC4uN2ExNDQ1NiAxMDA2NDQKLS0tIGEvSW5jbHVkZS9weXRpbWUuaAorKysgYi9JbmNsdWRlL3B5dGltZS5oCkBAIC0zNyw3ICszNyw3IEBACiAKIC8qIFNpbWlsYXIgdG8gX1B5VGltZV9nZXR0aW1lb2ZkYXkoKSBidXQgcmV0cmlldmUgYWxzbyBpbmZvcm1hdGlvbiBvbiB0aGUKICAqIGNsb2NrIHVzZWQgdG8gZ2V0IHRoZSBjdXJyZW50IHRpbWUuICovCi1QeUFQSV9GVU5DKHZvaWQpIF9QeVRpbWVfZ2V0dGltZW9mZGF5X2luZm8oCitQeUFQSV9GVU5DKGludCkgX1B5VGltZV9nZXR0aW1lb2ZkYXlfaW5mbygKICAgICBfUHlUaW1lX3RpbWV2YWwgKnRwLAogICAgIF9QeV9jbG9ja19pbmZvX3QgKmluZm8pOwogCkBAIC01Miw4ICs1Miw2IEBACiAgICAgKCh0dl9lbmQudHZfc2VjIC0gdHZfc3RhcnQudHZfc2VjKSArIFwKICAgICAgKHR2X2VuZC50dl91c2VjIC0gdHZfc3RhcnQudHZfdXNlYykgKiAwLjAwMDAwMSkKIAotI2lmbmRlZiBQeV9MSU1JVEVEX0FQSQotCiB0eXBlZGVmIGVudW0gewogICAgIC8qIFJvdW5kIHRvd2FyZHMgemVyby4gKi8KICAgICBfUHlUaW1lX1JPVU5EX0RPV049MCwKQEAgLTkyLDEwICs5MCwyOCBAQAogICAgIHRpbWVfdCAqc2VjLAogICAgIGxvbmcgKm5zZWMsCiAgICAgX1B5VGltZV9yb3VuZF90KTsKLSNlbmRpZgogCi0vKiBEdW1teSB0byBmb3JjZSBsaW5raW5nLiAqLwotUHlBUElfRlVOQyh2b2lkKSBfUHlUaW1lX0luaXQodm9pZCk7CisvKiBHZXQgdGhlIHRpbWUgb2YgYSBtb25vdG9uaWMgY2xvY2ssIGkuZS4gYSBjbG9jayB0aGF0IGNhbm5vdCBnbyBiYWNrd2FyZHMuCisgICBUaGUgY2xvY2sgaXMgbm90IGFmZmVjdGVkIGJ5IHN5c3RlbSBjbG9jayB1cGRhdGVzLiBUaGUgcmVmZXJlbmNlIHBvaW50IG9mCisgICB0aGUgcmV0dXJuZWQgdmFsdWUgaXMgdW5kZWZpbmVkLCBzbyB0aGF0IG9ubHkgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiB0aGUKKyAgIHJlc3VsdHMgb2YgY29uc2VjdXRpdmUgY2FsbHMgaXMgdmFsaWQuCisKKyAgIFRoZSBmdW5jdGlvbiBuZXZlciBmYWlscy4gX1B5VGltZV9Jbml0KCkgZW5zdXJlcyB0aGF0IGEgbW9ub3RvbmljIGNsb2NrCisgICBpcyBhdmFpbGFibGUgYW5kIHdvcmtzLiAqLworUHlBUElfRlVOQyh2b2lkKSBfUHlUaW1lX21vbm90b25pYygKKyAgICBfUHlUaW1lX3RpbWV2YWwgKnRwKTsKKworLyogU2ltaWxhciB0byBfUHlUaW1lX21vbm90b25pYygpLCBmaWxsIGFsc28gaW5mbyAoaWYgc2V0KSB3aXRoIGluZm9ybWF0aW9uIG9mCisgICB0aGUgZnVuY3Rpb24gdXNlZCB0byBnZXQgdGhlIHRpbWUuCisKKyAgIFJldHVybiAwIG9uIHN1Y2Nlc3MsIHJhaXNlIGFuIGV4Y2VwdGlvbiBhbmQgcmV0dXJuIC0xIG9uIGVycm9yLiAqLworUHlBUElfRlVOQyhpbnQpIF9QeVRpbWVfbW9ub3RvbmljX2luZm8oCisgICAgX1B5VGltZV90aW1ldmFsICp0cCwKKyAgICBfUHlfY2xvY2tfaW5mb190ICppbmZvKTsKKworLyogSW5pdGlhbGl6ZSB0aW1lLgorICAgUmV0dXJuIDAgb24gc3VjY2VzcywgcmFpc2UgYW4gZXhjZXB0aW9uIGFuZCByZXR1cm4gLTEgb24gZXJyb3IuICovCitQeUFQSV9GVU5DKGludCkgX1B5VGltZV9Jbml0KHZvaWQpOwogCiAjaWZkZWYgX19jcGx1c3BsdXMKIH0KZGlmZiAtLWdpdCBhL0luY2x1ZGUvc2V0b2JqZWN0LmggYi9JbmNsdWRlL3NldG9iamVjdC5oCmluZGV4IGFlM2Y1NTYuLmYxN2JjMWIgMTAwNjQ0Ci0tLSBhL0luY2x1ZGUvc2V0b2JqZWN0LmgKKysrIGIvSW5jbHVkZS9zZXRvYmplY3QuaApAQCAtNiwzOCArNiw0MyBAQAogZXh0ZXJuICJDIiB7CiAjZW5kaWYKIAorI2lmbmRlZiBQeV9MSU1JVEVEX0FQSQogCi0vKgotVGhlcmUgYXJlIHRocmVlIGtpbmRzIG9mIHNsb3RzIGluIHRoZSB0YWJsZToKKy8qIFRoZXJlIGFyZSB0aHJlZSBraW5kcyBvZiBlbnRyaWVzIGluIHRoZSB0YWJsZToKIAogMS4gVW51c2VkOiAga2V5ID09IE5VTEwKIDIuIEFjdGl2ZTogIGtleSAhPSBOVUxMIGFuZCBrZXkgIT0gZHVtbXkKIDMuIER1bW15OiAgIGtleSA9PSBkdW1teQogCi1Ob3RlOiAucG9wKCkgYWJ1c2VzIHRoZSBoYXNoIGZpZWxkIG9mIGFuIFVudXNlZCBvciBEdW1teSBzbG90IHRvCi1ob2xkIGEgc2VhcmNoIGZpbmdlci4gIFRoZSBoYXNoIGZpZWxkIG9mIFVudXNlZCBvciBEdW1teSBzbG90cyBoYXMKLW5vIG1lYW5pbmcgb3RoZXJ3aXNlLgorVGhlIGhhc2ggZmllbGQgb2YgVW51c2VkIHNsb3RzIGhhdmUgbm8gbWVhbmluZy4KK1RoZSBoYXNoIGZpZWxkIG9mIER1bW1ueSBzbG90cyBhcmUgc2V0IHRvIC0xCittZWFuaW5nIHRoYXQgZHVtbXkgZW50cmllcyBjYW4gYmUgZGV0ZWN0ZWQgYnkKK2VpdGhlciBlbnRyeS0+a2V5PT1kdW1teSBvciBieSBlbnRyeS0+aGFzaD09LTEuCiAqLwotI2lmbmRlZiBQeV9MSU1JVEVEX0FQSQorCiAjZGVmaW5lIFB5U2V0X01JTlNJWkUgOAogCiB0eXBlZGVmIHN0cnVjdCB7Ci0gICAgLyogQ2FjaGVkIGhhc2ggY29kZSBvZiB0aGUga2V5LiAqLwogICAgIFB5T2JqZWN0ICprZXk7Ci0gICAgUHlfaGFzaF90IGhhc2g7CisgICAgUHlfaGFzaF90IGhhc2g7ICAgICAgICAgICAgIC8qIENhY2hlZCBoYXNoIGNvZGUgb2YgdGhlIGtleSAqLwogfSBzZXRlbnRyeTsKIAorLyogVGhlIFNldE9iamVjdCBkYXRhIHN0cnVjdHVyZSBpcyBzaGFyZWQgYnkgc2V0IGFuZCBmcm96ZW5zZXQgb2JqZWN0cy4KIAotLyoKLVRoaXMgZGF0YSBzdHJ1Y3R1cmUgaXMgc2hhcmVkIGJ5IHNldCBhbmQgZnJvemVuc2V0IG9iamVjdHMuCitJbnZhcmlhbnQgZm9yIHNldHM6CisgLSBoYXNoIGlzIC0xCisKK0ludmFyaWFudHMgZm9yIGZyb3plbnNldHM6CisgLSBkYXRhIGlzIGltbXV0YWJsZS4KKyAtIGhhc2ggaXMgdGhlIGhhc2ggb2YgdGhlIGZyb3plbnNldCBvciAtMSBpZiBub3QgY29tcHV0ZWQgeWV0LgorCiAqLwogCi10eXBlZGVmIHN0cnVjdCBfc2V0b2JqZWN0IFB5U2V0T2JqZWN0Owotc3RydWN0IF9zZXRvYmplY3QgewordHlwZWRlZiBzdHJ1Y3QgewogICAgIFB5T2JqZWN0X0hFQUQKIAotICAgIFB5X3NzaXplX3QgZmlsbDsgIC8qICMgQWN0aXZlICsgIyBEdW1teSAqLwotICAgIFB5X3NzaXplX3QgdXNlZDsgIC8qICMgQWN0aXZlICovCisgICAgUHlfc3NpemVfdCBmaWxsOyAgICAgICAgICAgIC8qIE51bWJlciBhY3RpdmUgYW5kIGR1bW15IGVudHJpZXMqLworICAgIFB5X3NzaXplX3QgdXNlZDsgICAgICAgICAgICAvKiBOdW1iZXIgYWN0aXZlIGVudHJpZXMgKi8KIAogICAgIC8qIFRoZSB0YWJsZSBjb250YWlucyBtYXNrICsgMSBzbG90cywgYW5kIHRoYXQncyBhIHBvd2VyIG9mIDIuCiAgICAgICogV2Ugc3RvcmUgdGhlIG1hc2sgaW5zdGVhZCBvZiB0aGUgc2l6ZSBiZWNhdXNlIHRoZSBtYXNrIGlzIG1vcmUKQEAgLTQ1LDMzICs1MCw0MiBAQAogICAgICAqLwogICAgIFB5X3NzaXplX3QgbWFzazsKIAotICAgIC8qIHRhYmxlIHBvaW50cyB0byBzbWFsbHRhYmxlIGZvciBzbWFsbCB0YWJsZXMsIGVsc2UgdG8KLSAgICAgKiBhZGRpdGlvbmFsIG1hbGxvYydlZCBtZW1vcnkuICB0YWJsZSBpcyBuZXZlciBOVUxMISAgVGhpcyBydWxlCi0gICAgICogc2F2ZXMgcmVwZWF0ZWQgcnVudGltZSBudWxsLXRlc3RzLgorICAgIC8qIFRoZSB0YWJsZSBwb2ludHMgdG8gYSBmaXhlZC1zaXplIHNtYWxsdGFibGUgZm9yIHNtYWxsIHRhYmxlcworICAgICAqIG9yIHRvIGFkZGl0aW9uYWwgbWFsbG9jJ2VkIG1lbW9yeSBmb3IgYmlnZ2VyIHRhYmxlcy4KKyAgICAgKiBUaGUgdGFibGUgcG9pbnRlciBpcyBuZXZlciBOVUxMIHdoaWNoIHNhdmVzIHVzIGZyb20gcmVwZWF0ZWQKKyAgICAgKiBydW50aW1lIG51bGwtdGVzdHMuCiAgICAgICovCiAgICAgc2V0ZW50cnkgKnRhYmxlOwotICAgIHNldGVudHJ5ICooKmxvb2t1cCkoUHlTZXRPYmplY3QgKnNvLCBQeU9iamVjdCAqa2V5LCBQeV9oYXNoX3QgaGFzaCk7Ci0gICAgUHlfaGFzaF90IGhhc2g7ICAgICAgICAgICAgIC8qIG9ubHkgdXNlZCBieSBmcm96ZW5zZXQgb2JqZWN0cyAqLwotICAgIHNldGVudHJ5IHNtYWxsdGFibGVbUHlTZXRfTUlOU0laRV07CisgICAgUHlfaGFzaF90IGhhc2g7ICAgICAgICAgICAgIC8qIE9ubHkgdXNlZCBieSBmcm96ZW5zZXQgb2JqZWN0cyAqLworICAgIFB5X3NzaXplX3QgZmluZ2VyOyAgICAgICAgICAvKiBTZWFyY2ggZmluZ2VyIGZvciBwb3AoKSAqLwogCisgICAgc2V0ZW50cnkgc21hbGx0YWJsZVtQeVNldF9NSU5TSVpFXTsKICAgICBQeU9iamVjdCAqd2Vha3JlZmxpc3Q7ICAgICAgLyogTGlzdCBvZiB3ZWFrIHJlZmVyZW5jZXMgKi8KLX07Ci0jZW5kaWYgLyogUHlfTElNSVRFRF9BUEkgKi8KK30gUHlTZXRPYmplY3Q7CisKKyNkZWZpbmUgUHlTZXRfR0VUX1NJWkUoc28pICgoKFB5U2V0T2JqZWN0ICopKHNvKSktPnVzZWQpCisKK1B5QVBJX0RBVEEoUHlPYmplY3QgKikgX1B5U2V0X0R1bW15OworCitQeUFQSV9GVU5DKGludCkgX1B5U2V0X05leHRFbnRyeShQeU9iamVjdCAqc2V0LCBQeV9zc2l6ZV90ICpwb3MsIFB5T2JqZWN0ICoqa2V5LCBQeV9oYXNoX3QgKmhhc2gpOworUHlBUElfRlVOQyhpbnQpIF9QeVNldF9VcGRhdGUoUHlPYmplY3QgKnNldCwgUHlPYmplY3QgKml0ZXJhYmxlKTsKK1B5QVBJX0ZVTkMoaW50KSBQeVNldF9DbGVhckZyZWVMaXN0KHZvaWQpOworCisjZW5kaWYgLyogU2VjdGlvbiBleGNsdWRlZCBieSBQeV9MSU1JVEVEX0FQSSAqLwogCiBQeUFQSV9EQVRBKFB5VHlwZU9iamVjdCkgUHlTZXRfVHlwZTsKIFB5QVBJX0RBVEEoUHlUeXBlT2JqZWN0KSBQeUZyb3plblNldF9UeXBlOwogUHlBUElfREFUQShQeVR5cGVPYmplY3QpIFB5U2V0SXRlcl9UeXBlOwotI2lmbmRlZiBQeV9MSU1JVEVEX0FQSQotUHlBUElfREFUQShQeU9iamVjdCAqKSBfUHlTZXRfRHVtbXk7Ci0jZW5kaWYKIAorUHlBUElfRlVOQyhQeU9iamVjdCAqKSBQeVNldF9OZXcoUHlPYmplY3QgKik7CitQeUFQSV9GVU5DKFB5T2JqZWN0ICopIFB5RnJvemVuU2V0X05ldyhQeU9iamVjdCAqKTsKIAotLyogSW52YXJpYW50cyBmb3IgZnJvemVuc2V0czoKLSAqICAgICBkYXRhIGlzIGltbXV0YWJsZS4KLSAqICAgICBoYXNoIGlzIHRoZSBoYXNoIG9mIHRoZSBmcm96ZW5zZXQgb3IgLTEgaWYgbm90IGNvbXB1dGVkIHlldC4KLSAqIEludmFyaWFudHMgZm9yIHNldHM6Ci0gKiAgICAgaGFzaCBpcyAtMQotICovCitQeUFQSV9GVU5DKGludCkgUHlTZXRfQWRkKFB5T2JqZWN0ICpzZXQsIFB5T2JqZWN0ICprZXkpOworUHlBUElfRlVOQyhpbnQpIFB5U2V0X0NsZWFyKFB5T2JqZWN0ICpzZXQpOworUHlBUElfRlVOQyhpbnQpIFB5U2V0X0NvbnRhaW5zKFB5T2JqZWN0ICphbnlzZXQsIFB5T2JqZWN0ICprZXkpOworUHlBUElfRlVOQyhpbnQpIFB5U2V0X0Rpc2NhcmQoUHlPYmplY3QgKnNldCwgUHlPYmplY3QgKmtleSk7CitQeUFQSV9GVU5DKFB5T2JqZWN0ICopIFB5U2V0X1BvcChQeU9iamVjdCAqc2V0KTsKK1B5QVBJX0ZVTkMoUHlfc3NpemVfdCkgUHlTZXRfU2l6ZShQeU9iamVjdCAqYW55c2V0KTsKIAogI2RlZmluZSBQeUZyb3plblNldF9DaGVja0V4YWN0KG9iKSAoUHlfVFlQRShvYikgPT0gJlB5RnJvemVuU2V0X1R5cGUpCiAjZGVmaW5lIFB5QW55U2V0X0NoZWNrRXhhY3Qob2IpIFwKQEAgLTg3LDI2ICsxMDEsNiBAQAogICAgIChQeV9UWVBFKG9iKSA9PSAmUHlGcm96ZW5TZXRfVHlwZSB8fCBcCiAgICAgICBQeVR5cGVfSXNTdWJ0eXBlKFB5X1RZUEUob2IpLCAmUHlGcm96ZW5TZXRfVHlwZSkpCiAKLVB5QVBJX0ZVTkMoUHlPYmplY3QgKikgUHlTZXRfTmV3KFB5T2JqZWN0ICopOwotUHlBUElfRlVOQyhQeU9iamVjdCAqKSBQeUZyb3plblNldF9OZXcoUHlPYmplY3QgKik7Ci1QeUFQSV9GVU5DKFB5X3NzaXplX3QpIFB5U2V0X1NpemUoUHlPYmplY3QgKmFueXNldCk7Ci0jaWZuZGVmIFB5X0xJTUlURURfQVBJCi0jZGVmaW5lIFB5U2V0X0dFVF9TSVpFKHNvKSAoKChQeVNldE9iamVjdCAqKShzbykpLT51c2VkKQotI2VuZGlmCi1QeUFQSV9GVU5DKGludCkgUHlTZXRfQ2xlYXIoUHlPYmplY3QgKnNldCk7Ci1QeUFQSV9GVU5DKGludCkgUHlTZXRfQ29udGFpbnMoUHlPYmplY3QgKmFueXNldCwgUHlPYmplY3QgKmtleSk7Ci1QeUFQSV9GVU5DKGludCkgUHlTZXRfRGlzY2FyZChQeU9iamVjdCAqc2V0LCBQeU9iamVjdCAqa2V5KTsKLVB5QVBJX0ZVTkMoaW50KSBQeVNldF9BZGQoUHlPYmplY3QgKnNldCwgUHlPYmplY3QgKmtleSk7Ci0jaWZuZGVmIFB5X0xJTUlURURfQVBJCi1QeUFQSV9GVU5DKGludCkgX1B5U2V0X05leHRFbnRyeShQeU9iamVjdCAqc2V0LCBQeV9zc2l6ZV90ICpwb3MsIFB5T2JqZWN0ICoqa2V5LCBQeV9oYXNoX3QgKmhhc2gpOwotI2VuZGlmCi1QeUFQSV9GVU5DKFB5T2JqZWN0ICopIFB5U2V0X1BvcChQeU9iamVjdCAqc2V0KTsKLSNpZm5kZWYgUHlfTElNSVRFRF9BUEkKLVB5QVBJX0ZVTkMoaW50KSBfUHlTZXRfVXBkYXRlKFB5T2JqZWN0ICpzZXQsIFB5T2JqZWN0ICppdGVyYWJsZSk7Ci0KLVB5QVBJX0ZVTkMoaW50KSBQeVNldF9DbGVhckZyZWVMaXN0KHZvaWQpOwotI2VuZGlmCi0KICNpZmRlZiBfX2NwbHVzcGx1cwogfQogI2VuZGlmCmRpZmYgLS1naXQgYS9JbmNsdWRlL3Rva2VuLmggYi9JbmNsdWRlL3Rva2VuLmgKaW5kZXggOTA1MDIyYi4uMmIyMTNlZSAxMDA2NDQKLS0tIGEvSW5jbHVkZS90b2tlbi5oCisrKyBiL0luY2x1ZGUvdG9rZW4uaApAQCAtNTgsMTMgKzU4LDE0IEBACiAjZGVmaW5lIERPVUJMRVNUQVJFUVVBTAk0NgogI2RlZmluZSBET1VCTEVTTEFTSAk0NwogI2RlZmluZSBET1VCTEVTTEFTSEVRVUFMIDQ4Ci0jZGVmaW5lIEFUICAgICAgICAgICAgICA0OQkKLSNkZWZpbmUgUkFSUk9XICAgICAgICAgIDUwCi0jZGVmaW5lIEVMTElQU0lTICAgICAgICA1MQorI2RlZmluZSBBVCAgICAgICAgICAgICAgNDkKKyNkZWZpbmUgQVRFUVVBTAkJNTAKKyNkZWZpbmUgUkFSUk9XICAgICAgICAgIDUxCisjZGVmaW5lIEVMTElQU0lTICAgICAgICA1MgogLyogRG9uJ3QgZm9yZ2V0IHRvIHVwZGF0ZSB0aGUgdGFibGUgX1B5UGFyc2VyX1Rva2VuTmFtZXMgaW4gdG9rZW5pemVyLmMhICovCi0jZGVmaW5lIE9QCQk1MgotI2RlZmluZSBFUlJPUlRPS0VOCTUzCi0jZGVmaW5lIE5fVE9LRU5TCTU0CisjZGVmaW5lIE9QCQk1MworI2RlZmluZSBFUlJPUlRPS0VOCTU0CisjZGVmaW5lIE5fVE9LRU5TCTU1CiAKIC8qIFNwZWNpYWwgZGVmaW5pdGlvbnMgZm9yIGNvb3BlcmF0aW9uIHdpdGggcGFyc2VyICovCiAKZGlmZiAtLWdpdCBhL0luY2x1ZGUvdHlwZXNsb3RzLmggYi9JbmNsdWRlL3R5cGVzbG90cy5oCmluZGV4IGFkM2NkZmIuLmRhMmU4N2MgMTAwNjQ0Ci0tLSBhL0luY2x1ZGUvdHlwZXNsb3RzLmgKKysrIGIvSW5jbHVkZS90eXBlc2xvdHMuaApAQCAtNzQsMyArNzQsNSBAQAogI2RlZmluZSBQeV90cF9tZW1iZXJzIDcyCiAjZGVmaW5lIFB5X3RwX2dldHNldCA3MwogI2RlZmluZSBQeV90cF9mcmVlIDc0CisjZGVmaW5lIFB5X25iX21hdHJpeF9tdWx0aXBseSA3NQorI2RlZmluZSBQeV9uYl9pbnBsYWNlX21hdHJpeF9tdWx0aXBseSA3NgpkaWZmIC0tZ2l0IGEvSW5jbHVkZS91bmljb2Rlb2JqZWN0LmggYi9JbmNsdWRlL3VuaWNvZGVvYmplY3QuaAppbmRleCBkN2IyYWNlLi44MTRkN2MwIDEwMDY0NAotLS0gYS9JbmNsdWRlL3VuaWNvZGVvYmplY3QuaAorKysgYi9JbmNsdWRlL3VuaWNvZGVvYmplY3QuaApAQCAtMjI0NSw2ICsyMjQ1LDggQEAKICAgICBQeV9VTklDT0RFIGMKICAgICApOwogCitQeUFQSV9GVU5DKFB5T2JqZWN0KikgX1B5VW5pY29kZV9Gb3JtYXRMb25nKFB5T2JqZWN0ICosIGludCwgaW50LCBpbnQpOworCiAvKiBDcmVhdGUgYSBjb3B5IG9mIGEgdW5pY29kZSBzdHJpbmcgZW5kaW5nIHdpdGggYSBudWwgY2hhcmFjdGVyLiBSZXR1cm4gTlVMTAogICAgYW5kIHJhaXNlIGEgTWVtb3J5RXJyb3IgZXhjZXB0aW9uIG9uIG1lbW9yeSBhbGxvY2F0aW9uIGZhaWx1cmUsIG90aGVyd2lzZQogICAgcmV0dXJuIGEgbmV3IGFsbG9jYXRlZCBidWZmZXIgKHVzZSBQeU1lbV9GcmVlKCkgdG8gZnJlZSB0aGUgYnVmZmVyKS4gKi8KZGlmZiAtLWdpdCBhL0xpYi9fY29sbGVjdGlvbnNfYWJjLnB5IGIvTGliL19jb2xsZWN0aW9uc19hYmMucHkKaW5kZXggMzNiNTlhYi4uM2QzZjA3YiAxMDA2NDQKLS0tIGEvTGliL19jb2xsZWN0aW9uc19hYmMucHkKKysrIGIvTGliL19jb2xsZWN0aW9uc19hYmMucHkKQEAgLTQ1Myw2ICs0NTMsOCBAQAogCiBjbGFzcyBNYXBwaW5nVmlldyhTaXplZCk6CiAKKyAgICBfX3Nsb3RzX18gPSAnX21hcHBpbmcnLAorCiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIG1hcHBpbmcpOgogICAgICAgICBzZWxmLl9tYXBwaW5nID0gbWFwcGluZwogCkBAIC00NjUsNiArNDY3LDggQEAKIAogY2xhc3MgS2V5c1ZpZXcoTWFwcGluZ1ZpZXcsIFNldCk6CiAKKyAgICBfX3Nsb3RzX18gPSAoKQorCiAgICAgQGNsYXNzbWV0aG9kCiAgICAgZGVmIF9mcm9tX2l0ZXJhYmxlKHNlbGYsIGl0KToKICAgICAgICAgcmV0dXJuIHNldChpdCkKQEAgLTQ4MCw2ICs0ODQsOCBAQAogCiBjbGFzcyBJdGVtc1ZpZXcoTWFwcGluZ1ZpZXcsIFNldCk6CiAKKyAgICBfX3Nsb3RzX18gPSAoKQorCiAgICAgQGNsYXNzbWV0aG9kCiAgICAgZGVmIF9mcm9tX2l0ZXJhYmxlKHNlbGYsIGl0KToKICAgICAgICAgcmV0dXJuIHNldChpdCkKQEAgLTUwMiw2ICs1MDgsOCBAQAogCiBjbGFzcyBWYWx1ZXNWaWV3KE1hcHBpbmdWaWV3KToKIAorICAgIF9fc2xvdHNfXyA9ICgpCisKICAgICBkZWYgX19jb250YWluc19fKHNlbGYsIHZhbHVlKToKICAgICAgICAgZm9yIGtleSBpbiBzZWxmLl9tYXBwaW5nOgogICAgICAgICAgICAgaWYgdmFsdWUgPT0gc2VsZi5fbWFwcGluZ1trZXldOgpkaWZmIC0tZ2l0IGEvTGliL19kdW1teV90aHJlYWQucHkgYi9MaWIvX2R1bW15X3RocmVhZC5weQppbmRleCBiNjdjZmI5Li4zNmU1ZjM4IDEwMDY0NAotLS0gYS9MaWIvX2R1bW15X3RocmVhZC5weQorKysgYi9MaWIvX2R1bW15X3RocmVhZC5weQpAQCAtMTQwLDYgKzE0MCwxNCBAQAogICAgIGRlZiBsb2NrZWQoc2VsZik6CiAgICAgICAgIHJldHVybiBzZWxmLmxvY2tlZF9zdGF0dXMKIAorICAgIGRlZiBfX3JlcHJfXyhzZWxmKToKKyAgICAgICAgcmV0dXJuICI8JXMgJXMuJXMgb2JqZWN0IGF0ICVzPiIgJSAoCisgICAgICAgICAgICAibG9ja2VkIiBpZiBzZWxmLmxvY2tlZF9zdGF0dXMgZWxzZSAidW5sb2NrZWQiLAorICAgICAgICAgICAgc2VsZi5fX2NsYXNzX18uX19tb2R1bGVfXywKKyAgICAgICAgICAgIHNlbGYuX19jbGFzc19fLl9fcXVhbG5hbWVfXywKKyAgICAgICAgICAgIGhleChpZChzZWxmKSkKKyAgICAgICAgKQorCiAjIFVzZWQgdG8gc2lnbmFsIHRoYXQgaW50ZXJydXB0X21haW4gd2FzIGNhbGxlZCBpbiBhICJ0aHJlYWQiCiBfaW50ZXJydXB0ID0gRmFsc2UKICMgVHJ1ZSB3aGVuIG5vdCBleGVjdXRpbmcgaW4gYSAidGhyZWFkIgpkaWZmIC0tZ2l0IGEvTGliL19weWRlY2ltYWwucHkgYi9MaWIvX3B5ZGVjaW1hbC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ODIyMmJlCi0tLSAvZGV2L251bGwKKysrIGIvTGliL19weWRlY2ltYWwucHkKQEAgLTAsMCArMSw2MzgxIEBACisjIENvcHlyaWdodCAoYykgMjAwNCBQeXRob24gU29mdHdhcmUgRm91bmRhdGlvbi4KKyMgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKworIyBXcml0dGVuIGJ5IEVyaWMgUHJpY2UgPGVwcmljZSBhdCB0amhzc3QuZWR1PgorIyAgICBhbmQgRmFjdW5kbyBCYXRpc3RhIDxmYWN1bmRvIGF0IHRhbmlxdWV0aWwuY29tLmFyPgorIyAgICBhbmQgUmF5bW9uZCBIZXR0aW5nZXIgPHB5dGhvbiBhdCByY24uY29tPgorIyAgICBhbmQgQWFoeiA8YWFoeiBhdCBwb2JveC5jb20+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+PiBjb250ZXh0LmNyZWF0ZV9kZWNpbWFsX2Zyb21fZmxvYXQoMy4xNDE1OTI2NTM1ODk3OTMyKQorICAgICAgICBUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CisgICAgICAgICAgICAuLi4KKyAgICAgICAgZGVjaW1hbC5JbmV4YWN0CisKKyAgICAgICAgIiIiCisgICAgICAgIGQgPSBEZWNpbWFsLmZyb21fZmxvYXQoZikgICAgICAgIyBBbiBleGFjdCBjb252ZXJzaW9uCisgICAgICAgIHJldHVybiBkLl9maXgoc2VsZikgICAgICAgICAgICAgIyBBcHBseSB0aGUgY29udGV4dCByb3VuZGluZworCisgICAgIyBNZXRob2RzCisgICAgZGVmIGFicyhzZWxmLCBhKToKKyAgICAgICAgIiIiUmV0dXJucyB0aGUgYWJzb2x1dGUgdmFsdWUgb2YgdGhlIG9wZXJhbmQuCisKKyAgICAgICAgSWYgdGhlIG9wZXJhbmQgaXMgbmVnYXRpdmUsIHRoZSByZXN1bHQgaXMgdGhlIHNhbWUgYXMgdXNpbmcgdGhlIG1pbnVzCisgICAgICAgIG9wZXJhdGlvbiBvbiB0aGUgb3BlcmFuZC4gIE90aGVyd2lzZSwgdGhlIHJlc3VsdCBpcyB0aGUgc2FtZSBhcyB1c2luZworICAgICAgICB0aGUgcGx1cyBvcGVyYXRpb24gb24gdGhlIG9wZXJhbmQuCisKKyAgICAgICAgPj4+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+Ii5mb3JtYXQoY2xzbmFtZSkKKyAgICAgICAgICAgIHJldHVybiAiPHt9Lnt9PiIuZm9ybWF0KG1vZG5hbWUsIGNsc25hbWUpCiAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICByZXR1cm4gIjxfcHlpby57MH0gbmFtZT17MSFyfT4iLmZvcm1hdChjbHNuYW1lLCBuYW1lKQorICAgICAgICAgICAgcmV0dXJuICI8e30ue30gbmFtZT17IXJ9PiIuZm9ybWF0KG1vZG5hbWUsIGNsc25hbWUsIG5hbWUpCiAKICAgICAjIyMgTG93ZXItbGV2ZWwgQVBJcyAjIyMKIApAQCAtOTkzLDEwICsxMDEyLDcgQEAKICAgICAgICAgICAgIGN1cnJlbnRfc2l6ZSA9IDAKICAgICAgICAgICAgIHdoaWxlIFRydWU6CiAgICAgICAgICAgICAgICAgIyBSZWFkIHVudGlsIEVPRiBvciB1bnRpbCByZWFkKCkgd291bGQgYmxvY2suCi0gICAgICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgICAgICBjaHVuayA9IHNlbGYucmF3LnJlYWQoKQotICAgICAgICAgICAgICAgIGV4Y2VwdCBJbnRlcnJ1cHRlZEVycm9yOgotICAgICAgICAgICAgICAgICAgICBjb250aW51ZQorICAgICAgICAgICAgICAgIGNodW5rID0gc2VsZi5yYXcucmVhZCgpCiAgICAgICAgICAgICAgICAgaWYgY2h1bmsgaW4gZW1wdHlfdmFsdWVzOgogICAgICAgICAgICAgICAgICAgICBub2RhdGFfdmFsID0gY2h1bmsKICAgICAgICAgICAgICAgICAgICAgYnJlYWsKQEAgLTEwMTUsMTAgKzEwMzEsNyBAQAogICAgICAgICBjaHVua3MgPSBbYnVmW3BvczpdXQogICAgICAgICB3YW50ZWQgPSBtYXgoc2VsZi5idWZmZXJfc2l6ZSwgbikKICAgICAgICAgd2hpbGUgYXZhaWwgPCBuOgotICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgIGNodW5rID0gc2VsZi5yYXcucmVhZCh3YW50ZWQpCi0gICAgICAgICAgICBleGNlcHQgSW50ZXJydXB0ZWRFcnJvcjoKLSAgICAgICAgICAgICAgICBjb250aW51ZQorICAgICAgICAgICAgY2h1bmsgPSBzZWxmLnJhdy5yZWFkKHdhbnRlZCkKICAgICAgICAgICAgIGlmIGNodW5rIGluIGVtcHR5X3ZhbHVlczoKICAgICAgICAgICAgICAgICBub2RhdGFfdmFsID0gY2h1bmsKICAgICAgICAgICAgICAgICBicmVhawpAQCAtMTA0NywxMiArMTA2MCw3IEBACiAgICAgICAgIGhhdmUgPSBsZW4oc2VsZi5fcmVhZF9idWYpIC0gc2VsZi5fcmVhZF9wb3MKICAgICAgICAgaWYgaGF2ZSA8IHdhbnQgb3IgaGF2ZSA8PSAwOgogICAgICAgICAgICAgdG9fcmVhZCA9IHNlbGYuYnVmZmVyX3NpemUgLSBoYXZlCi0gICAgICAgICAgICB3aGlsZSBUcnVlOgotICAgICAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICAgICAgY3VycmVudCA9IHNlbGYucmF3LnJlYWQodG9fcmVhZCkKLSAgICAgICAgICAgICAgICBleGNlcHQgSW50ZXJydXB0ZWRFcnJvcjoKLSAgICAgICAgICAgICAgICAgICAgY29udGludWUKLSAgICAgICAgICAgICAgICBicmVhaworICAgICAgICAgICAgY3VycmVudCA9IHNlbGYucmF3LnJlYWQodG9fcmVhZCkKICAgICAgICAgICAgIGlmIGN1cnJlbnQ6CiAgICAgICAgICAgICAgICAgc2VsZi5fcmVhZF9idWYgPSBzZWxmLl9yZWFkX2J1ZltzZWxmLl9yZWFkX3BvczpdICsgY3VycmVudAogICAgICAgICAgICAgICAgIHNlbGYuX3JlYWRfcG9zID0gMApAQCAtMTA3MSw2ICsxMDc5LDU4IEBACiAgICAgICAgICAgICByZXR1cm4gc2VsZi5fcmVhZF91bmxvY2tlZCgKICAgICAgICAgICAgICAgICBtaW4oc2l6ZSwgbGVuKHNlbGYuX3JlYWRfYnVmKSAtIHNlbGYuX3JlYWRfcG9zKSkKIAorICAgICMgSW1wbGVtZW50aW5nIHJlYWRpbnRvKCkgYW5kIHJlYWRpbnRvMSgpIGlzIG5vdCBzdHJpY3RseSBuZWNlc3NhcnkgKHdlCisgICAgIyBjb3VsZCByZWx5IG9uIHRoZSBiYXNlIGNsYXNzIHRoYXQgcHJvdmlkZXMgYW4gaW1wbGVtZW50YXRpb24gaW4gdGVybXMgb2YKKyAgICAjIHJlYWQoKSBhbmQgcmVhZDEoKSkuIFdlIGRvIGl0IGFueXdheSB0byBrZWVwIHRoZSBfcHlpbyBpbXBsZW1lbnRhdGlvbgorICAgICMgc2ltaWxhciB0byB0aGUgaW8gaW1wbGVtZW50YXRpb24gKHdoaWNoIGltcGxlbWVudHMgdGhlIG1ldGhvZHMgZm9yCisgICAgIyBwZXJmb3JtYW5jZSByZWFzb25zKS4KKyAgICBkZWYgX3JlYWRpbnRvKHNlbGYsIGJ1ZiwgcmVhZDEpOgorICAgICAgICAiIiJSZWFkIGRhdGEgaW50byAqYnVmKiB3aXRoIGF0IG1vc3Qgb25lIHN5c3RlbSBjYWxsLiIiIgorCisgICAgICAgIGlmIGxlbihidWYpID09IDA6CisgICAgICAgICAgICByZXR1cm4gMAorCisgICAgICAgICMgTmVlZCB0byBjcmVhdGUgYSBtZW1vcnl2aWV3IG9iamVjdCBvZiB0eXBlICdiJywgb3RoZXJ3aXNlCisgICAgICAgICMgd2UgbWF5IG5vdCBiZSBhYmxlIHRvIGFzc2lnbiBieXRlcyB0byBpdCwgYW5kIHNsaWNpbmcgaXQKKyAgICAgICAgIyB3b3VsZCBjcmVhdGUgYSBuZXcgb2JqZWN0LgorICAgICAgICBpZiBub3QgaXNpbnN0YW5jZShidWYsIG1lbW9yeXZpZXcpOgorICAgICAgICAgICAgYnVmID0gbWVtb3J5dmlldyhidWYpCisgICAgICAgIGJ1ZiA9IGJ1Zi5jYXN0KCdCJykKKworICAgICAgICB3cml0dGVuID0gMAorICAgICAgICB3aXRoIHNlbGYuX3JlYWRfbG9jazoKKyAgICAgICAgICAgIHdoaWxlIHdyaXR0ZW4gPCBsZW4oYnVmKToKKworICAgICAgICAgICAgICAgICMgRmlyc3QgdHJ5IHRvIHJlYWQgZnJvbSBpbnRlcm5hbCBidWZmZXIKKyAgICAgICAgICAgICAgICBhdmFpbCA9IG1pbihsZW4oc2VsZi5fcmVhZF9idWYpIC0gc2VsZi5fcmVhZF9wb3MsIGxlbihidWYpKQorICAgICAgICAgICAgICAgIGlmIGF2YWlsOgorICAgICAgICAgICAgICAgICAgICBidWZbd3JpdHRlbjp3cml0dGVuK2F2YWlsXSA9IFwKKyAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX3JlYWRfYnVmW3NlbGYuX3JlYWRfcG9zOnNlbGYuX3JlYWRfcG9zK2F2YWlsXQorICAgICAgICAgICAgICAgICAgICBzZWxmLl9yZWFkX3BvcyArPSBhdmFpbAorICAgICAgICAgICAgICAgICAgICB3cml0dGVuICs9IGF2YWlsCisgICAgICAgICAgICAgICAgICAgIGlmIHdyaXR0ZW4gPT0gbGVuKGJ1Zik6CisgICAgICAgICAgICAgICAgICAgICAgICBicmVhaworCisgICAgICAgICAgICAgICAgIyBJZiByZW1haW5pbmcgc3BhY2UgaW4gY2FsbGVycyBidWZmZXIgaXMgbGFyZ2VyIHRoYW4KKyAgICAgICAgICAgICAgICAjIGludGVybmFsIGJ1ZmZlciwgcmVhZCBkaXJlY3RseSBpbnRvIGNhbGxlcnMgYnVmZmVyCisgICAgICAgICAgICAgICAgaWYgbGVuKGJ1ZikgLSB3cml0dGVuID4gc2VsZi5idWZmZXJfc2l6ZToKKyAgICAgICAgICAgICAgICAgICAgbiA9IHNlbGYucmF3LnJlYWRpbnRvKGJ1Zlt3cml0dGVuOl0pCisgICAgICAgICAgICAgICAgICAgIGlmIG5vdCBuOgorICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWsgIyBlb2YKKyAgICAgICAgICAgICAgICAgICAgd3JpdHRlbiArPSBuCisKKyAgICAgICAgICAgICAgICAjIE90aGVyd2lzZSByZWZpbGwgaW50ZXJuYWwgYnVmZmVyIC0gdW5sZXNzIHdlJ3JlCisgICAgICAgICAgICAgICAgIyBpbiByZWFkMSBtb2RlIGFuZCBhbHJlYWR5IGdvdCBzb21lIGRhdGEKKyAgICAgICAgICAgICAgICBlbGlmIG5vdCAocmVhZDEgYW5kIHdyaXR0ZW4pOgorICAgICAgICAgICAgICAgICAgICBpZiBub3Qgc2VsZi5fcGVla191bmxvY2tlZCgxKToKKyAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrICMgZW9mCisKKyAgICAgICAgICAgICAgICAjIEluIHJlYWRpbnRvMSBtb2RlLCByZXR1cm4gYXMgc29vbiBhcyB3ZSBoYXZlIHNvbWUgZGF0YQorICAgICAgICAgICAgICAgIGlmIHJlYWQxIGFuZCB3cml0dGVuOgorICAgICAgICAgICAgICAgICAgICBicmVhaworCisgICAgICAgIHJldHVybiB3cml0dGVuCisKICAgICBkZWYgdGVsbChzZWxmKToKICAgICAgICAgcmV0dXJuIF9CdWZmZXJlZElPTWl4aW4udGVsbChzZWxmKSAtIGxlbihzZWxmLl9yZWFkX2J1ZikgKyBzZWxmLl9yZWFkX3BvcwogCkBAIC0xMTQ5LDggKzEyMDksNiBAQAogICAgICAgICB3aGlsZSBzZWxmLl93cml0ZV9idWY6CiAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgbiA9IHNlbGYucmF3LndyaXRlKHNlbGYuX3dyaXRlX2J1ZikKLSAgICAgICAgICAgIGV4Y2VwdCBJbnRlcnJ1cHRlZEVycm9yOgotICAgICAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgICAgICBleGNlcHQgQmxvY2tpbmdJT0Vycm9yOgogICAgICAgICAgICAgICAgIHJhaXNlIFJ1bnRpbWVFcnJvcigic2VsZi5yYXcgc2hvdWxkIGltcGxlbWVudCBSYXdJT0Jhc2U6IGl0ICIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNob3VsZCBub3QgcmFpc2UgQmxvY2tpbmdJT0Vycm9yIikKQEAgLTEyMjAsNiArMTI3OCw5IEBACiAgICAgZGVmIHJlYWQxKHNlbGYsIHNpemUpOgogICAgICAgICByZXR1cm4gc2VsZi5yZWFkZXIucmVhZDEoc2l6ZSkKIAorICAgIGRlZiByZWFkaW50bzEoc2VsZiwgYik6CisgICAgICAgIHJldHVybiBzZWxmLnJlYWRlci5yZWFkaW50bzEoYikKKwogICAgIGRlZiByZWFkYWJsZShzZWxmKToKICAgICAgICAgcmV0dXJuIHNlbGYucmVhZGVyLnJlYWRhYmxlKCkKIApAQCAtMTMwMiw2ICsxMzYzLDEwIEBACiAgICAgICAgIHNlbGYuZmx1c2goKQogICAgICAgICByZXR1cm4gQnVmZmVyZWRSZWFkZXIucmVhZDEoc2VsZiwgc2l6ZSkKIAorICAgIGRlZiByZWFkaW50bzEoc2VsZiwgYik6CisgICAgICAgIHNlbGYuZmx1c2goKQorICAgICAgICByZXR1cm4gQnVmZmVyZWRSZWFkZXIucmVhZGludG8xKHNlbGYsIGIpCisKICAgICBkZWYgd3JpdGUoc2VsZiwgYik6CiAgICAgICAgIGlmIHNlbGYuX3JlYWRfYnVmOgogICAgICAgICAgICAgIyBVbmRvIHJlYWRhaGVhZApAQCAtMTU2NCw3ICsxNjI5LDggQEAKICAgICAjICAgLSAiY2hhcnNfLi4uIiBmb3IgaW50ZWdlciB2YXJpYWJsZXMgdGhhdCBjb3VudCBkZWNvZGVkIGNoYXJhY3RlcnMKIAogICAgIGRlZiBfX3JlcHJfXyhzZWxmKToKLSAgICAgICAgcmVzdWx0ID0gIjxfcHlpby5UZXh0SU9XcmFwcGVyIgorICAgICAgICByZXN1bHQgPSAiPHt9Lnt9Ii5mb3JtYXQoc2VsZi5fX2NsYXNzX18uX19tb2R1bGVfXywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX19jbGFzc19fLl9fcXVhbG5hbWVfXykKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgbmFtZSA9IHNlbGYubmFtZQogICAgICAgICBleGNlcHQgRXhjZXB0aW9uOgpkaWZmIC0tZ2l0IGEvTGliL19zdHJwdGltZS5weSBiL0xpYi9fc3RycHRpbWUucHkKaW5kZXggNTNiZDM0Yi4uNDJmMjNkMyAxMDA2NDQKLS0tIGEvTGliL19zdHJwdGltZS5weQorKysgYi9MaWIvX3N0cnB0aW1lLnB5CkBAIC0xNjcsOSArMTY3LDkgQEAKICAgICAgICAgICAgIHRpbWUudHpzZXQoKQogICAgICAgICBleGNlcHQgQXR0cmlidXRlRXJyb3I6CiAgICAgICAgICAgICBwYXNzCi0gICAgICAgIG5vX3NhdmluZyA9IGZyb3plbnNldChbInV0YyIsICJnbXQiLCB0aW1lLnR6bmFtZVswXS5sb3dlcigpXSkKKyAgICAgICAgbm9fc2F2aW5nID0gZnJvemVuc2V0KHsidXRjIiwgImdtdCIsIHRpbWUudHpuYW1lWzBdLmxvd2VyKCl9KQogICAgICAgICBpZiB0aW1lLmRheWxpZ2h0OgotICAgICAgICAgICAgaGFzX3NhdmluZyA9IGZyb3plbnNldChbdGltZS50em5hbWVbMV0ubG93ZXIoKV0pCisgICAgICAgICAgICBoYXNfc2F2aW5nID0gZnJvemVuc2V0KHt0aW1lLnR6bmFtZVsxXS5sb3dlcigpfSkKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIGhhc19zYXZpbmcgPSBmcm96ZW5zZXQoKQogICAgICAgICBzZWxmLnRpbWV6b25lID0gKG5vX3NhdmluZywgaGFzX3NhdmluZykKZGlmZiAtLWdpdCBhL0xpYi9hYmMucHkgYi9MaWIvYWJjLnB5CmluZGV4IDAzNThhNDYuLjFjYmY5NmEgMTAwNjQ0Ci0tLSBhL0xpYi9hYmMucHkKKysrIGIvTGliL2FiYy5weQpAQCAtMTY4LDcgKzE2OCw3IEBACiAKICAgICBkZWYgX2R1bXBfcmVnaXN0cnkoY2xzLCBmaWxlPU5vbmUpOgogICAgICAgICAiIiJEZWJ1ZyBoZWxwZXIgdG8gcHJpbnQgdGhlIEFCQyByZWdpc3RyeS4iIiIKLSAgICAgICAgcHJpbnQoIkNsYXNzOiAlcy4lcyIgJSAoY2xzLl9fbW9kdWxlX18sIGNscy5fX25hbWVfXyksIGZpbGU9ZmlsZSkKKyAgICAgICAgcHJpbnQoIkNsYXNzOiAlcy4lcyIgJSAoY2xzLl9fbW9kdWxlX18sIGNscy5fX3F1YWxuYW1lX18pLCBmaWxlPWZpbGUpCiAgICAgICAgIHByaW50KCJJbnYuY291bnRlcjogJXMiICUgQUJDTWV0YS5fYWJjX2ludmFsaWRhdGlvbl9jb3VudGVyLCBmaWxlPWZpbGUpCiAgICAgICAgIGZvciBuYW1lIGluIHNvcnRlZChjbHMuX19kaWN0X18ua2V5cygpKToKICAgICAgICAgICAgIGlmIG5hbWUuc3RhcnRzd2l0aCgiX2FiY18iKToKZGlmZiAtLWdpdCBhL0xpYi9hcmdwYXJzZS5weSBiL0xpYi9hcmdwYXJzZS5weQppbmRleCBiZTI3NmJiLi45YTA2NzE5IDEwMDY0NAotLS0gYS9MaWIvYXJncGFyc2UucHkKKysrIGIvTGliL2FyZ3BhcnNlLnB5CkBAIC0xMjA5LDExICsxMjA5LDYgQEAKICAgICAgICAgICAgIHJldHVybiBOb3RJbXBsZW1lbnRlZAogICAgICAgICByZXR1cm4gdmFycyhzZWxmKSA9PSB2YXJzKG90aGVyKQogCi0gICAgZGVmIF9fbmVfXyhzZWxmLCBvdGhlcik6Ci0gICAgICAgIGlmIG5vdCBpc2luc3RhbmNlKG90aGVyLCBOYW1lc3BhY2UpOgotICAgICAgICAgICAgcmV0dXJuIE5vdEltcGxlbWVudGVkCi0gICAgICAgIHJldHVybiBub3QgKHNlbGYgPT0gb3RoZXIpCi0KICAgICBkZWYgX19jb250YWluc19fKHNlbGYsIGtleSk6CiAgICAgICAgIHJldHVybiBrZXkgaW4gc2VsZi5fX2RpY3RfXwogCkBAIC0xNTk1LDYgKzE1OTAsNyBAQAogICAgICAgICAtIGFyZ3VtZW50X2RlZmF1bHQgLS0gVGhlIGRlZmF1bHQgdmFsdWUgZm9yIGFsbCBhcmd1bWVudHMKICAgICAgICAgLSBjb25mbGljdF9oYW5kbGVyIC0tIFN0cmluZyBpbmRpY2F0aW5nIGhvdyB0byBoYW5kbGUgY29uZmxpY3RzCiAgICAgICAgIC0gYWRkX2hlbHAgLS0gQWRkIGEgLWgvLWhlbHAgb3B0aW9uCisgICAgICAgIC0gYWxsb3dfYWJicmV2IC0tIEFsbG93IGxvbmcgb3B0aW9ucyB0byBiZSBhYmJyZXZpYXRlZCB1bmFtYmlndW91c2x5CiAgICAgIiIiCiAKICAgICBkZWYgX19pbml0X18oc2VsZiwKQEAgLTE2MDgsNyArMTYwNCw4IEBACiAgICAgICAgICAgICAgICAgIGZyb21maWxlX3ByZWZpeF9jaGFycz1Ob25lLAogICAgICAgICAgICAgICAgICBhcmd1bWVudF9kZWZhdWx0PU5vbmUsCiAgICAgICAgICAgICAgICAgIGNvbmZsaWN0X2hhbmRsZXI9J2Vycm9yJywKLSAgICAgICAgICAgICAgICAgYWRkX2hlbHA9VHJ1ZSk6CisgICAgICAgICAgICAgICAgIGFkZF9oZWxwPVRydWUsCisgICAgICAgICAgICAgICAgIGFsbG93X2FiYnJldj1UcnVlKToKIAogICAgICAgICBzdXBlcmluaXQgPSBzdXBlcihBcmd1bWVudFBhcnNlciwgc2VsZikuX19pbml0X18KICAgICAgICAgc3VwZXJpbml0KGRlc2NyaXB0aW9uPWRlc2NyaXB0aW9uLApAQCAtMTYyNiw2ICsxNjIzLDcgQEAKICAgICAgICAgc2VsZi5mb3JtYXR0ZXJfY2xhc3MgPSBmb3JtYXR0ZXJfY2xhc3MKICAgICAgICAgc2VsZi5mcm9tZmlsZV9wcmVmaXhfY2hhcnMgPSBmcm9tZmlsZV9wcmVmaXhfY2hhcnMKICAgICAgICAgc2VsZi5hZGRfaGVscCA9IGFkZF9oZWxwCisgICAgICAgIHNlbGYuYWxsb3dfYWJicmV2ID0gYWxsb3dfYWJicmV2CiAKICAgICAgICAgYWRkX2dyb3VwID0gc2VsZi5hZGRfYXJndW1lbnRfZ3JvdXAKICAgICAgICAgc2VsZi5fcG9zaXRpb25hbHMgPSBhZGRfZ3JvdXAoXygncG9zaXRpb25hbCBhcmd1bWVudHMnKSkKQEAgLTIxMDMsMjMgKzIxMDEsMjQgQEAKICAgICAgICAgICAgICAgICBhY3Rpb24gPSBzZWxmLl9vcHRpb25fc3RyaW5nX2FjdGlvbnNbb3B0aW9uX3N0cmluZ10KICAgICAgICAgICAgICAgICByZXR1cm4gYWN0aW9uLCBvcHRpb25fc3RyaW5nLCBleHBsaWNpdF9hcmcKIAotICAgICAgICAjIHNlYXJjaCB0aHJvdWdoIGFsbCBwb3NzaWJsZSBwcmVmaXhlcyBvZiB0aGUgb3B0aW9uIHN0cmluZwotICAgICAgICAjIGFuZCBhbGwgYWN0aW9ucyBpbiB0aGUgcGFyc2VyIGZvciBwb3NzaWJsZSBpbnRlcnByZXRhdGlvbnMKLSAgICAgICAgb3B0aW9uX3R1cGxlcyA9IHNlbGYuX2dldF9vcHRpb25fdHVwbGVzKGFyZ19zdHJpbmcpCisgICAgICAgIGlmIHNlbGYuYWxsb3dfYWJicmV2OgorICAgICAgICAgICAgIyBzZWFyY2ggdGhyb3VnaCBhbGwgcG9zc2libGUgcHJlZml4ZXMgb2YgdGhlIG9wdGlvbiBzdHJpbmcKKyAgICAgICAgICAgICMgYW5kIGFsbCBhY3Rpb25zIGluIHRoZSBwYXJzZXIgZm9yIHBvc3NpYmxlIGludGVycHJldGF0aW9ucworICAgICAgICAgICAgb3B0aW9uX3R1cGxlcyA9IHNlbGYuX2dldF9vcHRpb25fdHVwbGVzKGFyZ19zdHJpbmcpCiAKLSAgICAgICAgIyBpZiBtdWx0aXBsZSBhY3Rpb25zIG1hdGNoLCB0aGUgb3B0aW9uIHN0cmluZyB3YXMgYW1iaWd1b3VzCi0gICAgICAgIGlmIGxlbihvcHRpb25fdHVwbGVzKSA+IDE6Ci0gICAgICAgICAgICBvcHRpb25zID0gJywgJy5qb2luKFtvcHRpb25fc3RyaW5nCi0gICAgICAgICAgICAgICAgZm9yIGFjdGlvbiwgb3B0aW9uX3N0cmluZywgZXhwbGljaXRfYXJnIGluIG9wdGlvbl90dXBsZXNdKQotICAgICAgICAgICAgYXJncyA9IHsnb3B0aW9uJzogYXJnX3N0cmluZywgJ21hdGNoZXMnOiBvcHRpb25zfQotICAgICAgICAgICAgbXNnID0gXygnYW1iaWd1b3VzIG9wdGlvbjogJShvcHRpb24pcyBjb3VsZCBtYXRjaCAlKG1hdGNoZXMpcycpCi0gICAgICAgICAgICBzZWxmLmVycm9yKG1zZyAlIGFyZ3MpCisgICAgICAgICAgICAjIGlmIG11bHRpcGxlIGFjdGlvbnMgbWF0Y2gsIHRoZSBvcHRpb24gc3RyaW5nIHdhcyBhbWJpZ3VvdXMKKyAgICAgICAgICAgIGlmIGxlbihvcHRpb25fdHVwbGVzKSA+IDE6CisgICAgICAgICAgICAgICAgb3B0aW9ucyA9ICcsICcuam9pbihbb3B0aW9uX3N0cmluZworICAgICAgICAgICAgICAgICAgICBmb3IgYWN0aW9uLCBvcHRpb25fc3RyaW5nLCBleHBsaWNpdF9hcmcgaW4gb3B0aW9uX3R1cGxlc10pCisgICAgICAgICAgICAgICAgYXJncyA9IHsnb3B0aW9uJzogYXJnX3N0cmluZywgJ21hdGNoZXMnOiBvcHRpb25zfQorICAgICAgICAgICAgICAgIG1zZyA9IF8oJ2FtYmlndW91cyBvcHRpb246ICUob3B0aW9uKXMgY291bGQgbWF0Y2ggJShtYXRjaGVzKXMnKQorICAgICAgICAgICAgICAgIHNlbGYuZXJyb3IobXNnICUgYXJncykKIAotICAgICAgICAjIGlmIGV4YWN0bHkgb25lIGFjdGlvbiBtYXRjaGVkLCB0aGlzIHNlZ21lbnRhdGlvbiBpcyBnb29kLAotICAgICAgICAjIHNvIHJldHVybiB0aGUgcGFyc2VkIGFjdGlvbgotICAgICAgICBlbGlmIGxlbihvcHRpb25fdHVwbGVzKSA9PSAxOgotICAgICAgICAgICAgb3B0aW9uX3R1cGxlLCA9IG9wdGlvbl90dXBsZXMKLSAgICAgICAgICAgIHJldHVybiBvcHRpb25fdHVwbGUKKyAgICAgICAgICAgICMgaWYgZXhhY3RseSBvbmUgYWN0aW9uIG1hdGNoZWQsIHRoaXMgc2VnbWVudGF0aW9uIGlzIGdvb2QsCisgICAgICAgICAgICAjIHNvIHJldHVybiB0aGUgcGFyc2VkIGFjdGlvbgorICAgICAgICAgICAgZWxpZiBsZW4ob3B0aW9uX3R1cGxlcykgPT0gMToKKyAgICAgICAgICAgICAgICBvcHRpb25fdHVwbGUsID0gb3B0aW9uX3R1cGxlcworICAgICAgICAgICAgICAgIHJldHVybiBvcHRpb25fdHVwbGUKIAogICAgICAgICAjIGlmIGl0IHdhcyBub3QgZm91bmQgYXMgYW4gb3B0aW9uLCBidXQgaXQgbG9va3MgbGlrZSBhIG5lZ2F0aXZlCiAgICAgICAgICMgbnVtYmVyLCBpdCB3YXMgbWVhbnQgdG8gYmUgcG9zaXRpb25hbApkaWZmIC0tZ2l0IGEvTGliL2FzeW5jaGF0LnB5IGIvTGliL2FzeW5jaGF0LnB5CmluZGV4IDE0YzE1MmYuLmY3MjhkMWIgMTAwNjQ0Ci0tLSBhL0xpYi9hc3luY2hhdC5weQorKysgYi9MaWIvYXN5bmNoYXQucHkKQEAgLTI4Nyw2ICsyODcsOSBAQAogCiBjbGFzcyBmaWZvOgogICAgIGRlZiBfX2luaXRfXyhzZWxmLCBsaXN0PU5vbmUpOgorICAgICAgICBpbXBvcnQgd2FybmluZ3MKKyAgICAgICAgd2FybmluZ3Mud2FybignZmlmbyBjbGFzcyB3aWxsIGJlIHJlbW92ZWQgaW4gUHl0aG9uIDMuNicsCisgICAgICAgICAgICAgICAgICAgICAgRGVwcmVjYXRpb25XYXJuaW5nLCBzdGFja2xldmVsPTIpCiAgICAgICAgIGlmIG5vdCBsaXN0OgogICAgICAgICAgICAgc2VsZi5saXN0ID0gZGVxdWUoKQogICAgICAgICBlbHNlOgpkaWZmIC0tZ2l0IGEvTGliL2FzeW5jaW8vZXZlbnRzLnB5IGIvTGliL2FzeW5jaW8vZXZlbnRzLnB5CmluZGV4IDhhN2JiODEuLjAxMzIwY2QgMTAwNjQ0Ci0tLSBhL0xpYi9hc3luY2lvL2V2ZW50cy5weQorKysgYi9MaWIvYXN5bmNpby9ldmVudHMucHkKQEAgLTE3OCwxMCArMTc4LDYgQEAKICAgICAgICAgICAgICAgICAgICAgc2VsZi5fY2FuY2VsbGVkID09IG90aGVyLl9jYW5jZWxsZWQpCiAgICAgICAgIHJldHVybiBOb3RJbXBsZW1lbnRlZAogCi0gICAgZGVmIF9fbmVfXyhzZWxmLCBvdGhlcik6Ci0gICAgICAgIGVxdWFsID0gc2VsZi5fX2VxX18ob3RoZXIpCi0gICAgICAgIHJldHVybiBOb3RJbXBsZW1lbnRlZCBpZiBlcXVhbCBpcyBOb3RJbXBsZW1lbnRlZCBlbHNlIG5vdCBlcXVhbAotCiAgICAgZGVmIGNhbmNlbChzZWxmKToKICAgICAgICAgaWYgbm90IHNlbGYuX2NhbmNlbGxlZDoKICAgICAgICAgICAgIHNlbGYuX2xvb3AuX3RpbWVyX2hhbmRsZV9jYW5jZWxsZWQoc2VsZikKZGlmZiAtLWdpdCBhL0xpYi9hc3luY29yZS5weSBiL0xpYi9hc3luY29yZS5weQppbmRleCAwMGE2Mzk2Li42OGVmZDQ1IDEwMDY0NAotLS0gYS9MaWIvYXN5bmNvcmUucHkKKysrIGIvTGliL2FzeW5jb3JlLnB5CkBAIC01Nyw4ICs1Nyw4IEBACiAgICAgIEVOT1RDT05OLCBFU0hVVERPV04sIEVJU0NPTk4sIEVCQURGLCBFQ09OTkFCT1JURUQsIEVQSVBFLCBFQUdBSU4sIFwKICAgICAgZXJyb3Jjb2RlCiAKLV9ESVNDT05ORUNURUQgPSBmcm96ZW5zZXQoKEVDT05OUkVTRVQsIEVOT1RDT05OLCBFU0hVVERPV04sIEVDT05OQUJPUlRFRCwgRVBJUEUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBFQkFERikpCitfRElTQ09OTkVDVEVEID0gZnJvemVuc2V0KHtFQ09OTlJFU0VULCBFTk9UQ09OTiwgRVNIVVRET1dOLCBFQ09OTkFCT1JURUQsIEVQSVBFLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgRUJBREZ9KQogCiB0cnk6CiAgICAgc29ja2V0X21hcApAQCAtMjIwLDcgKzIyMCw3IEBACiAgICAgY29ubmVjdGluZyA9IEZhbHNlCiAgICAgY2xvc2luZyA9IEZhbHNlCiAgICAgYWRkciA9IE5vbmUKLSAgICBpZ25vcmVfbG9nX3R5cGVzID0gZnJvemVuc2V0KFsnd2FybmluZyddKQorICAgIGlnbm9yZV9sb2dfdHlwZXMgPSBmcm96ZW5zZXQoeyd3YXJuaW5nJ30pCiAKICAgICBkZWYgX19pbml0X18oc2VsZiwgc29jaz1Ob25lLCBtYXA9Tm9uZSk6CiAgICAgICAgIGlmIG1hcCBpcyBOb25lOgpAQCAtMjU1LDcgKzI1NSw3IEBACiAgICAgICAgICAgICBzZWxmLnNvY2tldCA9IE5vbmUKIAogICAgIGRlZiBfX3JlcHJfXyhzZWxmKToKLSAgICAgICAgc3RhdHVzID0gW3NlbGYuX19jbGFzc19fLl9fbW9kdWxlX18rIi4iK3NlbGYuX19jbGFzc19fLl9fbmFtZV9fXQorICAgICAgICBzdGF0dXMgPSBbc2VsZi5fX2NsYXNzX18uX19tb2R1bGVfXysiLiIrc2VsZi5fX2NsYXNzX18uX19xdWFsbmFtZV9fXQogICAgICAgICBpZiBzZWxmLmFjY2VwdGluZyBhbmQgc2VsZi5hZGRyOgogICAgICAgICAgICAgc3RhdHVzLmFwcGVuZCgnbGlzdGVuaW5nJykKICAgICAgICAgZWxpZiBzZWxmLmNvbm5lY3RlZDoKQEAgLTQwNCwyMCArNDA0LDYgQEAKICAgICAgICAgICAgICAgICBpZiB3aHkuYXJnc1swXSBub3QgaW4gKEVOT1RDT05OLCBFQkFERik6CiAgICAgICAgICAgICAgICAgICAgIHJhaXNlCiAKLSAgICAjIGNoZWFwIGluaGVyaXRhbmNlLCB1c2VkIHRvIHBhc3MgYWxsIG90aGVyIGF0dHJpYnV0ZQotICAgICMgcmVmZXJlbmNlcyB0byB0aGUgdW5kZXJseWluZyBzb2NrZXQgb2JqZWN0LgotICAgIGRlZiBfX2dldGF0dHJfXyhzZWxmLCBhdHRyKToKLSAgICAgICAgdHJ5OgotICAgICAgICAgICAgcmV0YXR0ciA9IGdldGF0dHIoc2VsZi5zb2NrZXQsIGF0dHIpCi0gICAgICAgIGV4Y2VwdCBBdHRyaWJ1dGVFcnJvcjoKLSAgICAgICAgICAgIHJhaXNlIEF0dHJpYnV0ZUVycm9yKCIlcyBpbnN0YW5jZSBoYXMgbm8gYXR0cmlidXRlICclcyciCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAlKHNlbGYuX19jbGFzc19fLl9fbmFtZV9fLCBhdHRyKSkKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIG1zZyA9ICIlKG1lKXMuJShhdHRyKXMgaXMgZGVwcmVjYXRlZDsgdXNlICUobWUpcy5zb2NrZXQuJShhdHRyKXMgIiBcCi0gICAgICAgICAgICAgICAgICAiaW5zdGVhZCIgJSB7J21lJyA6IHNlbGYuX19jbGFzc19fLl9fbmFtZV9fLCAnYXR0cicgOiBhdHRyfQotICAgICAgICAgICAgd2FybmluZ3Mud2Fybihtc2csIERlcHJlY2F0aW9uV2FybmluZywgc3RhY2tsZXZlbD0yKQotICAgICAgICAgICAgcmV0dXJuIHJldGF0dHIKLQogICAgICMgbG9nIGFuZCBsb2dfaW5mbyBtYXkgYmUgb3ZlcnJpZGRlbiB0byBwcm92aWRlIG1vcmUgc29waGlzdGljYXRlZAogICAgICMgbG9nZ2luZyBhbmQgd2FybmluZyBtZXRob2RzLiBJbiBnZW5lcmFsLCBsb2cgaXMgZm9yICdoaXQnIGxvZ2dpbmcKICAgICAjIGFuZCAnbG9nX2luZm8nIGlzIGZvciBpbmZvcm1hdGlvbmFsLCB3YXJuaW5nIGFuZCBlcnJvciBsb2dnaW5nLgpAQCAtNjA0LDggKzU5MCw2IEBACiAjIFJlZ2FyZGxlc3MsIHRoaXMgaXMgdXNlZnVsIGZvciBwaXBlcywgYW5kIHN0ZGluL3N0ZG91dC4uLgogCiBpZiBvcy5uYW1lID09ICdwb3NpeCc6Ci0gICAgaW1wb3J0IGZjbnRsCi0KICAgICBjbGFzcyBmaWxlX3dyYXBwZXI6CiAgICAgICAgICMgSGVyZSB3ZSBvdmVycmlkZSBqdXN0IGVub3VnaCB0byBtYWtlIGEgZmlsZQogICAgICAgICAjIGxvb2sgbGlrZSBhIHNvY2tldCBmb3IgdGhlIHB1cnBvc2VzIG9mIGFzeW5jb3JlLgpAQCAtNjU2LDkgKzY0MCw3IEBACiAgICAgICAgICAgICAgICAgcGFzcwogICAgICAgICAgICAgc2VsZi5zZXRfZmlsZShmZCkKICAgICAgICAgICAgICMgc2V0IGl0IHRvIG5vbi1ibG9ja2luZyBtb2RlCi0gICAgICAgICAgICBmbGFncyA9IGZjbnRsLmZjbnRsKGZkLCBmY250bC5GX0dFVEZMLCAwKQotICAgICAgICAgICAgZmxhZ3MgPSBmbGFncyB8IG9zLk9fTk9OQkxPQ0sKLSAgICAgICAgICAgIGZjbnRsLmZjbnRsKGZkLCBmY250bC5GX1NFVEZMLCBmbGFncykKKyAgICAgICAgICAgIG9zLnNldF9ibG9ja2luZyhmZCwgRmFsc2UpCiAKICAgICAgICAgZGVmIHNldF9maWxlKHNlbGYsIGZkKToKICAgICAgICAgICAgIHNlbGYuc29ja2V0ID0gZmlsZV93cmFwcGVyKGZkKQpkaWZmIC0tZ2l0IGEvTGliL2NnaS5weSBiL0xpYi9jZ2kucHkKaW5kZXggMWVmNzgwYy4uYTU1MjMyZSAxMDA3NTUKLS0tIGEvTGliL2NnaS5weQorKysgYi9MaWIvY2dpLnB5CkBAIC01NjYsNiArNTY2LDEyIEBACiAgICAgICAgIGV4Y2VwdCBBdHRyaWJ1dGVFcnJvcjoKICAgICAgICAgICAgIHBhc3MKIAorICAgIGRlZiBfX2VudGVyX18oc2VsZik6CisgICAgICAgIHJldHVybiBzZWxmCisKKyAgICBkZWYgX19leGl0X18oc2VsZiwgKmFyZ3MpOgorICAgICAgICBzZWxmLmZpbGUuY2xvc2UoKQorCiAgICAgZGVmIF9fcmVwcl9fKHNlbGYpOgogICAgICAgICAiIiJSZXR1cm4gYSBwcmludGFibGUgcmVwcmVzZW50YXRpb24uIiIiCiAgICAgICAgIHJldHVybiAiRmllbGRTdG9yYWdlKCVyLCAlciwgJXIpIiAlICgKZGlmZiAtLWdpdCBhL0xpYi9jb2RlLnB5IGIvTGliL2NvZGUucHkKaW5kZXggZjgxODRiNi4uNTMyNDRlMyAxMDA2NDQKLS0tIGEvTGliL2NvZGUucHkKKysrIGIvTGliL2NvZGUucHkKQEAgLTcsNiArNyw3IEBACiAKIGltcG9ydCBzeXMKIGltcG9ydCB0cmFjZWJhY2sKK2ltcG9ydCBhcmdwYXJzZQogZnJvbSBjb2Rlb3AgaW1wb3J0IENvbW1hbmRDb21waWxlciwgY29tcGlsZV9jb21tYW5kCiAKIF9fYWxsX18gPSBbIkludGVyYWN0aXZlSW50ZXJwcmV0ZXIiLCAiSW50ZXJhY3RpdmVDb25zb2xlIiwgImludGVyYWN0IiwKQEAgLTEzNiwyNSArMTM3LDE4IEBACiAgICAgICAgIFRoZSBvdXRwdXQgaXMgd3JpdHRlbiBieSBzZWxmLndyaXRlKCksIGJlbG93LgogCiAgICAgICAgICIiIgorICAgICAgICBzeXMubGFzdF90eXBlLCBzeXMubGFzdF92YWx1ZSwgbGFzdF90YiA9IGVpID0gc3lzLmV4Y19pbmZvKCkKKyAgICAgICAgc3lzLmxhc3RfdHJhY2ViYWNrID0gbGFzdF90YgogICAgICAgICB0cnk6Ci0gICAgICAgICAgICB0eXBlLCB2YWx1ZSwgdGIgPSBzeXMuZXhjX2luZm8oKQotICAgICAgICAgICAgc3lzLmxhc3RfdHlwZSA9IHR5cGUKLSAgICAgICAgICAgIHN5cy5sYXN0X3ZhbHVlID0gdmFsdWUKLSAgICAgICAgICAgIHN5cy5sYXN0X3RyYWNlYmFjayA9IHRiCi0gICAgICAgICAgICB0Ymxpc3QgPSB0cmFjZWJhY2suZXh0cmFjdF90Yih0YikKLSAgICAgICAgICAgIGRlbCB0Ymxpc3RbOjFdCi0gICAgICAgICAgICBsaW5lcyA9IHRyYWNlYmFjay5mb3JtYXRfbGlzdCh0Ymxpc3QpCi0gICAgICAgICAgICBpZiBsaW5lczoKLSAgICAgICAgICAgICAgICBsaW5lcy5pbnNlcnQoMCwgIlRyYWNlYmFjayAobW9zdCByZWNlbnQgY2FsbCBsYXN0KTpcbiIpCi0gICAgICAgICAgICBsaW5lcy5leHRlbmQodHJhY2ViYWNrLmZvcm1hdF9leGNlcHRpb25fb25seSh0eXBlLCB2YWx1ZSkpCisgICAgICAgICAgICBsaW5lcyA9IHRyYWNlYmFjay5mb3JtYXRfZXhjZXB0aW9uKGVpWzBdLCBlaVsxXSwgbGFzdF90Yi50Yl9uZXh0KQorICAgICAgICAgICAgaWYgc3lzLmV4Y2VwdGhvb2sgaXMgc3lzLl9fZXhjZXB0aG9va19fOgorICAgICAgICAgICAgICAgIHNlbGYud3JpdGUoJycuam9pbihsaW5lcykpCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICMgSWYgc29tZW9uZSBoYXMgc2V0IHN5cy5leGNlcHRob29rLCB3ZSBsZXQgdGhhdCB0YWtlIHByZWNlZGVuY2UKKyAgICAgICAgICAgICAgICAjIG92ZXIgc2VsZi53cml0ZQorICAgICAgICAgICAgICAgIHN5cy5leGNlcHRob29rKGVpWzBdLCBlaVsxXSwgbGFzdF90YikKICAgICAgICAgZmluYWxseToKLSAgICAgICAgICAgIHRibGlzdCA9IHRiID0gTm9uZQotICAgICAgICBpZiBzeXMuZXhjZXB0aG9vayBpcyBzeXMuX19leGNlcHRob29rX186Ci0gICAgICAgICAgICBzZWxmLndyaXRlKCcnLmpvaW4obGluZXMpKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgIyBJZiBzb21lb25lIGhhcyBzZXQgc3lzLmV4Y2VwdGhvb2ssIHdlIGxldCB0aGF0IHRha2UgcHJlY2VkZW5jZQotICAgICAgICAgICAgIyBvdmVyIHNlbGYud3JpdGUKLSAgICAgICAgICAgIHN5cy5leGNlcHRob29rKHR5cGUsIHZhbHVlLCB0YikKKyAgICAgICAgICAgIGxhc3RfdGIgPSBlaSA9IE5vbmUKIAogICAgIGRlZiB3cml0ZShzZWxmLCBkYXRhKToKICAgICAgICAgIiIiV3JpdGUgYSBzdHJpbmcuCkBAIC0yOTksNCArMjkzLDEyIEBACiAKIAogaWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoKLSAgICBpbnRlcmFjdCgpCisgICAgcGFyc2VyID0gYXJncGFyc2UuQXJndW1lbnRQYXJzZXIoKQorICAgIHBhcnNlci5hZGRfYXJndW1lbnQoJy1xJywgYWN0aW9uPSdzdG9yZV90cnVlJywKKyAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iZG9uJ3QgcHJpbnQgdmVyc2lvbiBhbmQgY29weXJpZ2h0IG1lc3NhZ2VzIikKKyAgICBhcmdzID0gcGFyc2VyLnBhcnNlX2FyZ3MoKQorICAgIGlmIGFyZ3MucSBvciBzeXMuZmxhZ3MucXVpZXQ6CisgICAgICAgIGJhbm5lciA9ICcnCisgICAgZWxzZToKKyAgICAgICAgYmFubmVyID0gTm9uZQorICAgIGludGVyYWN0KGJhbm5lcikKZGlmZiAtLWdpdCBhL0xpYi9jb2RlY3MucHkgYi9MaWIvY29kZWNzLnB5CmluZGV4IDE0NWJmMTIuLmMyYjVkNmMgMTAwNjQ0Ci0tLSBhL0xpYi9jb2RlY3MucHkKKysrIGIvTGliL2NvZGVjcy5weQpAQCAtMjcsNyArMjcsOCBAQAogICAgICAgICAgICAiZ2V0aW5jcmVtZW50YWxkZWNvZGVyIiwgImdldHJlYWRlciIsICJnZXR3cml0ZXIiLAogICAgICAgICAgICAiZW5jb2RlIiwgImRlY29kZSIsICJpdGVyZW5jb2RlIiwgIml0ZXJkZWNvZGUiLAogICAgICAgICAgICAic3RyaWN0X2Vycm9ycyIsICJpZ25vcmVfZXJyb3JzIiwgInJlcGxhY2VfZXJyb3JzIiwKLSAgICAgICAgICAgInhtbGNoYXJyZWZyZXBsYWNlX2Vycm9ycyIsICJiYWNrc2xhc2hyZXBsYWNlX2Vycm9ycyIsCisgICAgICAgICAgICJ4bWxjaGFycmVmcmVwbGFjZV9lcnJvcnMiLAorICAgICAgICAgICAiYmFja3NsYXNocmVwbGFjZV9lcnJvcnMiLCAibmFtZXJlcGxhY2VfZXJyb3JzIiwKICAgICAgICAgICAgInJlZ2lzdGVyX2Vycm9yIiwgImxvb2t1cF9lcnJvciJdCiAKICMjIyBDb25zdGFudHMKQEAgLTEwNSw4ICsxMDYsOCBAQAogICAgICAgICByZXR1cm4gc2VsZgogCiAgICAgZGVmIF9fcmVwcl9fKHNlbGYpOgotICAgICAgICByZXR1cm4gIjwlcy4lcyBvYmplY3QgZm9yIGVuY29kaW5nICVzIGF0IDB4JXg+IiAlIFwKLSAgICAgICAgICAgICAgICAoc2VsZi5fX2NsYXNzX18uX19tb2R1bGVfXywgc2VsZi5fX2NsYXNzX18uX19uYW1lX18sCisgICAgICAgIHJldHVybiAiPCVzLiVzIG9iamVjdCBmb3IgZW5jb2RpbmcgJXMgYXQgJSN4PiIgJSBcCisgICAgICAgICAgICAgICAgKHNlbGYuX19jbGFzc19fLl9fbW9kdWxlX18sIHNlbGYuX19jbGFzc19fLl9fcXVhbG5hbWVfXywKICAgICAgICAgICAgICAgICAgc2VsZi5uYW1lLCBpZChzZWxmKSkKIAogY2xhc3MgQ29kZWM6CkBAIC0xMjYsNyArMTI3LDggQEAKICAgICAgICAgICdzdXJyb2dhdGVlc2NhcGUnIC0gcmVwbGFjZSB3aXRoIHByaXZhdGUgY29kZSBwb2ludHMgVStEQ25uLgogICAgICAgICAgJ3htbGNoYXJyZWZyZXBsYWNlJyAtIFJlcGxhY2Ugd2l0aCB0aGUgYXBwcm9wcmlhdGUgWE1MCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhcmFjdGVyIHJlZmVyZW5jZSAob25seSBmb3IgZW5jb2RpbmcpLgotICAgICAgICAgJ2JhY2tzbGFzaHJlcGxhY2UnICAtIFJlcGxhY2Ugd2l0aCBiYWNrc2xhc2hlZCBlc2NhcGUgc2VxdWVuY2VzCisgICAgICAgICAnYmFja3NsYXNocmVwbGFjZScgIC0gUmVwbGFjZSB3aXRoIGJhY2tzbGFzaGVkIGVzY2FwZSBzZXF1ZW5jZXMuCisgICAgICAgICAnbmFtZXJlcGxhY2UnICAgICAgIC0gUmVwbGFjZSB3aXRoIFxcTnsuLi59IGVzY2FwZSBzZXF1ZW5jZXMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAob25seSBmb3IgZW5jb2RpbmcpLgogCiAgICAgICAgIFRoZSBzZXQgb2YgYWxsb3dlZCB2YWx1ZXMgY2FuIGJlIGV4dGVuZGVkIHZpYSByZWdpc3Rlcl9lcnJvci4KQEAgLTM1OCw3ICszNjAsOCBAQAogICAgICAgICAgICAgICd4bWxjaGFycmVmcmVwbGFjZScgLSBSZXBsYWNlIHdpdGggdGhlIGFwcHJvcHJpYXRlIFhNTAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFyYWN0ZXIgcmVmZXJlbmNlLgogICAgICAgICAgICAgICdiYWNrc2xhc2hyZXBsYWNlJyAgLSBSZXBsYWNlIHdpdGggYmFja3NsYXNoZWQgZXNjYXBlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlcXVlbmNlcyAob25seSBmb3IgZW5jb2RpbmcpLgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXF1ZW5jZXMuCisgICAgICAgICAgICAgJ25hbWVyZXBsYWNlJyAgICAgICAtIFJlcGxhY2Ugd2l0aCBcXE57Li4ufSBlc2NhcGUgc2VxdWVuY2VzLgogCiAgICAgICAgICAgICBUaGUgc2V0IG9mIGFsbG93ZWQgcGFyYW1ldGVyIHZhbHVlcyBjYW4gYmUgZXh0ZW5kZWQgdmlhCiAgICAgICAgICAgICByZWdpc3Rlcl9lcnJvci4KQEAgLTQyOCw3ICs0MzEsOCBAQAogCiAgICAgICAgICAgICAgJ3N0cmljdCcgLSByYWlzZSBhIFZhbHVlRXJyb3IgKG9yIGEgc3ViY2xhc3MpCiAgICAgICAgICAgICAgJ2lnbm9yZScgLSBpZ25vcmUgdGhlIGNoYXJhY3RlciBhbmQgY29udGludWUgd2l0aCB0aGUgbmV4dAotICAgICAgICAgICAgICdyZXBsYWNlJy0gcmVwbGFjZSB3aXRoIGEgc3VpdGFibGUgcmVwbGFjZW1lbnQgY2hhcmFjdGVyOworICAgICAgICAgICAgICdyZXBsYWNlJy0gcmVwbGFjZSB3aXRoIGEgc3VpdGFibGUgcmVwbGFjZW1lbnQgY2hhcmFjdGVyCisgICAgICAgICAgICAgJ2JhY2tzbGFzaHJlcGxhY2UnIC0gUmVwbGFjZSB3aXRoIGJhY2tzbGFzaGVkIGVzY2FwZSBzZXF1ZW5jZXM7CiAKICAgICAgICAgICAgIFRoZSBzZXQgb2YgYWxsb3dlZCBwYXJhbWV0ZXIgdmFsdWVzIGNhbiBiZSBleHRlbmRlZCB2aWEKICAgICAgICAgICAgIHJlZ2lzdGVyX2Vycm9yLgpAQCAtMTA4MCw2ICsxMDg0LDcgQEAKICAgICByZXBsYWNlX2Vycm9ycyA9IGxvb2t1cF9lcnJvcigicmVwbGFjZSIpCiAgICAgeG1sY2hhcnJlZnJlcGxhY2VfZXJyb3JzID0gbG9va3VwX2Vycm9yKCJ4bWxjaGFycmVmcmVwbGFjZSIpCiAgICAgYmFja3NsYXNocmVwbGFjZV9lcnJvcnMgPSBsb29rdXBfZXJyb3IoImJhY2tzbGFzaHJlcGxhY2UiKQorICAgIG5hbWVyZXBsYWNlX2Vycm9ycyA9IGxvb2t1cF9lcnJvcigibmFtZXJlcGxhY2UiKQogZXhjZXB0IExvb2t1cEVycm9yOgogICAgICMgSW4gLS1kaXNhYmxlLXVuaWNvZGUgYnVpbGRzLCB0aGVzZSBlcnJvciBoYW5kbGVyIGFyZSBtaXNzaW5nCiAgICAgc3RyaWN0X2Vycm9ycyA9IE5vbmUKQEAgLTEwODcsNiArMTA5Miw3IEBACiAgICAgcmVwbGFjZV9lcnJvcnMgPSBOb25lCiAgICAgeG1sY2hhcnJlZnJlcGxhY2VfZXJyb3JzID0gTm9uZQogICAgIGJhY2tzbGFzaHJlcGxhY2VfZXJyb3JzID0gTm9uZQorICAgIG5hbWVyZXBsYWNlX2Vycm9ycyA9IE5vbmUKIAogIyBUZWxsIG1vZHVsZWZpbmRlciB0aGF0IHVzaW5nIGNvZGVjcyBwcm9iYWJseSBuZWVkcyB0aGUgZW5jb2RpbmdzCiAjIHBhY2thZ2UKZGlmZiAtLWdpdCBhL0xpYi9jb2xsZWN0aW9ucy9fX2luaXRfXy5weSBiL0xpYi9jb2xsZWN0aW9ucy9fX2luaXRfXy5weQppbmRleCA1NjVhZTg2Li5jZTY3ZjBiIDEwMDY0NAotLS0gYS9MaWIvY29sbGVjdGlvbnMvX19pbml0X18ucHkKKysrIGIvTGliL2NvbGxlY3Rpb25zL19faW5pdF9fLnB5CkBAIC0yMCw2ICsyMCwyMyBAQAogIyMjIE9yZGVyZWREaWN0CiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogCitjbGFzcyBfT3JkZXJlZERpY3RLZXlzVmlldyhLZXlzVmlldyk6CisKKyAgICBkZWYgX19yZXZlcnNlZF9fKHNlbGYpOgorICAgICAgICB5aWVsZCBmcm9tIHJldmVyc2VkKHNlbGYuX21hcHBpbmcpCisKK2NsYXNzIF9PcmRlcmVkRGljdEl0ZW1zVmlldyhJdGVtc1ZpZXcpOgorCisgICAgZGVmIF9fcmV2ZXJzZWRfXyhzZWxmKToKKyAgICAgICAgZm9yIGtleSBpbiByZXZlcnNlZChzZWxmLl9tYXBwaW5nKToKKyAgICAgICAgICAgIHlpZWxkIChrZXksIHNlbGYuX21hcHBpbmdba2V5XSkKKworY2xhc3MgX09yZGVyZWREaWN0VmFsdWVzVmlldyhWYWx1ZXNWaWV3KToKKworICAgIGRlZiBfX3JldmVyc2VkX18oc2VsZik6CisgICAgICAgIGZvciBrZXkgaW4gcmV2ZXJzZWQoc2VsZi5fbWFwcGluZyk6CisgICAgICAgICAgICB5aWVsZCBzZWxmLl9tYXBwaW5nW2tleV0KKwogY2xhc3MgX0xpbmsob2JqZWN0KToKICAgICBfX3Nsb3RzX18gPSAncHJldicsICduZXh0JywgJ2tleScsICdfX3dlYWtyZWZfXycKIApAQCAtODMsNiArMTAwLDggQEAKICAgICAgICAgbGlua19uZXh0ID0gbGluay5uZXh0CiAgICAgICAgIGxpbmtfcHJldi5uZXh0ID0gbGlua19uZXh0CiAgICAgICAgIGxpbmtfbmV4dC5wcmV2ID0gbGlua19wcmV2CisgICAgICAgIGxpbmsucHJldiA9IE5vbmUKKyAgICAgICAgbGluay5uZXh0ID0gTm9uZQogCiAgICAgZGVmIF9faXRlcl9fKHNlbGYpOgogICAgICAgICAnb2QuX19pdGVyX18oKSA8PT0+IGl0ZXIob2QpJwpAQCAtMTY2LDkgKzE4NSwxOSBAQAogICAgICAgICByZXR1cm4gc2l6ZQogCiAgICAgdXBkYXRlID0gX191cGRhdGUgPSBNdXRhYmxlTWFwcGluZy51cGRhdGUKLSAgICBrZXlzID0gTXV0YWJsZU1hcHBpbmcua2V5cwotICAgIHZhbHVlcyA9IE11dGFibGVNYXBwaW5nLnZhbHVlcwotICAgIGl0ZW1zID0gTXV0YWJsZU1hcHBpbmcuaXRlbXMKKworICAgIGRlZiBrZXlzKHNlbGYpOgorICAgICAgICAiRC5rZXlzKCkgLT4gYSBzZXQtbGlrZSBvYmplY3QgcHJvdmlkaW5nIGEgdmlldyBvbiBEJ3Mga2V5cyIKKyAgICAgICAgcmV0dXJuIF9PcmRlcmVkRGljdEtleXNWaWV3KHNlbGYpCisKKyAgICBkZWYgaXRlbXMoc2VsZik6CisgICAgICAgICJELml0ZW1zKCkgLT4gYSBzZXQtbGlrZSBvYmplY3QgcHJvdmlkaW5nIGEgdmlldyBvbiBEJ3MgaXRlbXMiCisgICAgICAgIHJldHVybiBfT3JkZXJlZERpY3RJdGVtc1ZpZXcoc2VsZikKKworICAgIGRlZiB2YWx1ZXMoc2VsZik6CisgICAgICAgICJELnZhbHVlcygpIC0+IGFuIG9iamVjdCBwcm92aWRpbmcgYSB2aWV3IG9uIEQncyB2YWx1ZXMiCisgICAgICAgIHJldHVybiBfT3JkZXJlZERpY3RWYWx1ZXNWaWV3KHNlbGYpCisKICAgICBfX25lX18gPSBNdXRhYmxlTWFwcGluZy5fX25lX18KIAogICAgIF9fbWFya2VyID0gb2JqZWN0KCkKQEAgLTk1OCw3ICs5ODcsNiBAQAogICAgIGRlZiBfX2x0X18oc2VsZiwgb3RoZXIpOiByZXR1cm4gc2VsZi5kYXRhIDwgIHNlbGYuX19jYXN0KG90aGVyKQogICAgIGRlZiBfX2xlX18oc2VsZiwgb3RoZXIpOiByZXR1cm4gc2VsZi5kYXRhIDw9IHNlbGYuX19jYXN0KG90aGVyKQogICAgIGRlZiBfX2VxX18oc2VsZiwgb3RoZXIpOiByZXR1cm4gc2VsZi5kYXRhID09IHNlbGYuX19jYXN0KG90aGVyKQotICAgIGRlZiBfX25lX18oc2VsZiwgb3RoZXIpOiByZXR1cm4gc2VsZi5kYXRhICE9IHNlbGYuX19jYXN0KG90aGVyKQogICAgIGRlZiBfX2d0X18oc2VsZiwgb3RoZXIpOiByZXR1cm4gc2VsZi5kYXRhID4gIHNlbGYuX19jYXN0KG90aGVyKQogICAgIGRlZiBfX2dlX18oc2VsZiwgb3RoZXIpOiByZXR1cm4gc2VsZi5kYXRhID49IHNlbGYuX19jYXN0KG90aGVyKQogICAgIGRlZiBfX2Nhc3Qoc2VsZiwgb3RoZXIpOgpAQCAtMTAzNSwxMCArMTA2Myw2IEBACiAgICAgICAgIGlmIGlzaW5zdGFuY2Uoc3RyaW5nLCBVc2VyU3RyaW5nKToKICAgICAgICAgICAgIHJldHVybiBzZWxmLmRhdGEgPT0gc3RyaW5nLmRhdGEKICAgICAgICAgcmV0dXJuIHNlbGYuZGF0YSA9PSBzdHJpbmcKLSAgICBkZWYgX19uZV9fKHNlbGYsIHN0cmluZyk6Ci0gICAgICAgIGlmIGlzaW5zdGFuY2Uoc3RyaW5nLCBVc2VyU3RyaW5nKToKLSAgICAgICAgICAgIHJldHVybiBzZWxmLmRhdGEgIT0gc3RyaW5nLmRhdGEKLSAgICAgICAgcmV0dXJuIHNlbGYuZGF0YSAhPSBzdHJpbmcKICAgICBkZWYgX19sdF9fKHNlbGYsIHN0cmluZyk6CiAgICAgICAgIGlmIGlzaW5zdGFuY2Uoc3RyaW5nLCBVc2VyU3RyaW5nKToKICAgICAgICAgICAgIHJldHVybiBzZWxmLmRhdGEgPCBzdHJpbmcuZGF0YQpkaWZmIC0tZ2l0IGEvTGliL2NvbXBpbGVhbGwucHkgYi9MaWIvY29tcGlsZWFsbC5weQppbmRleCBkOTU3ZWU1Li40ZjQ2OTIwIDEwMDY0NAotLS0gYS9MaWIvY29tcGlsZWFsbC5weQorKysgYi9MaWIvY29tcGlsZWFsbC5weQpAQCAtMTYsMzIgKzE2LDI0IEBACiBpbXBvcnQgcHlfY29tcGlsZQogaW1wb3J0IHN0cnVjdAogCit0cnk6CisgICAgZnJvbSBjb25jdXJyZW50LmZ1dHVyZXMgaW1wb3J0IFByb2Nlc3NQb29sRXhlY3V0b3IKK2V4Y2VwdCBJbXBvcnRFcnJvcjoKKyAgICBQcm9jZXNzUG9vbEV4ZWN1dG9yID0gTm9uZQorZnJvbSBmdW5jdG9vbHMgaW1wb3J0IHBhcnRpYWwKKwogX19hbGxfXyA9IFsiY29tcGlsZV9kaXIiLCJjb21waWxlX2ZpbGUiLCJjb21waWxlX3BhdGgiXQogCi1kZWYgY29tcGlsZV9kaXIoZGlyLCBtYXhsZXZlbHM9MTAsIGRkaXI9Tm9uZSwgZm9yY2U9RmFsc2UsIHJ4PU5vbmUsCi0gICAgICAgICAgICAgICAgcXVpZXQ9RmFsc2UsIGxlZ2FjeT1GYWxzZSwgb3B0aW1pemU9LTEpOgotICAgICIiIkJ5dGUtY29tcGlsZSBhbGwgbW9kdWxlcyBpbiB0aGUgZ2l2ZW4gZGlyZWN0b3J5IHRyZWUuCi0KLSAgICBBcmd1bWVudHMgKG9ubHkgZGlyIGlzIHJlcXVpcmVkKToKLQotICAgIGRpcjogICAgICAgdGhlIGRpcmVjdG9yeSB0byBieXRlLWNvbXBpbGUKLSAgICBtYXhsZXZlbHM6IG1heGltdW0gcmVjdXJzaW9uIGxldmVsIChkZWZhdWx0IDEwKQotICAgIGRkaXI6ICAgICAgdGhlIGRpcmVjdG9yeSB0aGF0IHdpbGwgYmUgcHJlcGVuZGVkIHRvIHRoZSBwYXRoIHRvIHRoZQotICAgICAgICAgICAgICAgZmlsZSBhcyBpdCBpcyBjb21waWxlZCBpbnRvIGVhY2ggYnl0ZS1jb2RlIGZpbGUuCi0gICAgZm9yY2U6ICAgICBpZiBUcnVlLCBmb3JjZSBjb21waWxhdGlvbiwgZXZlbiBpZiB0aW1lc3RhbXBzIGFyZSB1cC10by1kYXRlCi0gICAgcXVpZXQ6ICAgICBpZiBUcnVlLCBiZSBxdWlldCBkdXJpbmcgY29tcGlsYXRpb24KLSAgICBsZWdhY3k6ICAgIGlmIFRydWUsIHByb2R1Y2UgbGVnYWN5IHB5YyBwYXRocyBpbnN0ZWFkIG9mIFBFUCAzMTQ3IHBhdGhzCi0gICAgb3B0aW1pemU6ICBvcHRpbWl6YXRpb24gbGV2ZWwgb3IgLTEgZm9yIGxldmVsIG9mIHRoZSBpbnRlcnByZXRlcgotICAgICIiIgorZGVmIF93YWxrX2RpcihkaXIsIGRkaXI9Tm9uZSwgbWF4bGV2ZWxzPTEwLCBxdWlldD0wKToKICAgICBpZiBub3QgcXVpZXQ6CiAgICAgICAgIHByaW50KCdMaXN0aW5nIHshcn0uLi4nLmZvcm1hdChkaXIpKQogICAgIHRyeToKICAgICAgICAgbmFtZXMgPSBvcy5saXN0ZGlyKGRpcikKICAgICBleGNlcHQgT1NFcnJvcjoKLSAgICAgICAgcHJpbnQoIkNhbid0IGxpc3QgeyFyfSIuZm9ybWF0KGRpcikpCisgICAgICAgIGlmIHF1aWV0IDwgMjoKKyAgICAgICAgICAgIHByaW50KCJDYW4ndCBsaXN0IHshcn0iLmZvcm1hdChkaXIpKQogICAgICAgICBuYW1lcyA9IFtdCiAgICAgbmFtZXMuc29ydCgpCi0gICAgc3VjY2VzcyA9IDEKICAgICBmb3IgbmFtZSBpbiBuYW1lczoKICAgICAgICAgaWYgbmFtZSA9PSAnX19weWNhY2hlX18nOgogICAgICAgICAgICAgY29udGludWUKQEAgLTUxLDE3ICs0Myw1NSBAQAogICAgICAgICBlbHNlOgogICAgICAgICAgICAgZGZpbGUgPSBOb25lCiAgICAgICAgIGlmIG5vdCBvcy5wYXRoLmlzZGlyKGZ1bGxuYW1lKToKLSAgICAgICAgICAgIGlmIG5vdCBjb21waWxlX2ZpbGUoZnVsbG5hbWUsIGRkaXIsIGZvcmNlLCByeCwgcXVpZXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZ2FjeSwgb3B0aW1pemUpOgotICAgICAgICAgICAgICAgIHN1Y2Nlc3MgPSAwCisgICAgICAgICAgICB5aWVsZCBmdWxsbmFtZQogICAgICAgICBlbGlmIChtYXhsZXZlbHMgPiAwIGFuZCBuYW1lICE9IG9zLmN1cmRpciBhbmQgbmFtZSAhPSBvcy5wYXJkaXIgYW5kCiAgICAgICAgICAgICAgIG9zLnBhdGguaXNkaXIoZnVsbG5hbWUpIGFuZCBub3Qgb3MucGF0aC5pc2xpbmsoZnVsbG5hbWUpKToKLSAgICAgICAgICAgIGlmIG5vdCBjb21waWxlX2RpcihmdWxsbmFtZSwgbWF4bGV2ZWxzIC0gMSwgZGZpbGUsIGZvcmNlLCByeCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBxdWlldCwgbGVnYWN5LCBvcHRpbWl6ZSk6CisgICAgICAgICAgICB5aWVsZCBmcm9tIF93YWxrX2RpcihmdWxsbmFtZSwgZGRpcj1kZmlsZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heGxldmVscz1tYXhsZXZlbHMgLSAxLCBxdWlldD1xdWlldCkKKworZGVmIGNvbXBpbGVfZGlyKGRpciwgbWF4bGV2ZWxzPTEwLCBkZGlyPU5vbmUsIGZvcmNlPUZhbHNlLCByeD1Ob25lLAorICAgICAgICAgICAgICAgIHF1aWV0PTAsIGxlZ2FjeT1GYWxzZSwgb3B0aW1pemU9LTEsIHdvcmtlcnM9MSk6CisgICAgIiIiQnl0ZS1jb21waWxlIGFsbCBtb2R1bGVzIGluIHRoZSBnaXZlbiBkaXJlY3RvcnkgdHJlZS4KKworICAgIEFyZ3VtZW50cyAob25seSBkaXIgaXMgcmVxdWlyZWQpOgorCisgICAgZGlyOiAgICAgICB0aGUgZGlyZWN0b3J5IHRvIGJ5dGUtY29tcGlsZQorICAgIG1heGxldmVsczogbWF4aW11bSByZWN1cnNpb24gbGV2ZWwgKGRlZmF1bHQgMTApCisgICAgZGRpcjogICAgICB0aGUgZGlyZWN0b3J5IHRoYXQgd2lsbCBiZSBwcmVwZW5kZWQgdG8gdGhlIHBhdGggdG8gdGhlCisgICAgICAgICAgICAgICBmaWxlIGFzIGl0IGlzIGNvbXBpbGVkIGludG8gZWFjaCBieXRlLWNvZGUgZmlsZS4KKyAgICBmb3JjZTogICAgIGlmIFRydWUsIGZvcmNlIGNvbXBpbGF0aW9uLCBldmVuIGlmIHRpbWVzdGFtcHMgYXJlIHVwLXRvLWRhdGUKKyAgICBxdWlldDogICAgIGZ1bGwgb3V0cHV0IHdpdGggRmFsc2Ugb3IgMCwgZXJyb3JzIG9ubHkgd2l0aCAxLAorICAgICAgICAgICAgICAgbm8gb3V0cHV0IHdpdGggMgorICAgIGxlZ2FjeTogICAgaWYgVHJ1ZSwgcHJvZHVjZSBsZWdhY3kgcHljIHBhdGhzIGluc3RlYWQgb2YgUEVQIDMxNDcgcGF0aHMKKyAgICBvcHRpbWl6ZTogIG9wdGltaXphdGlvbiBsZXZlbCBvciAtMSBmb3IgbGV2ZWwgb2YgdGhlIGludGVycHJldGVyCisgICAgd29ya2VyczogICBtYXhpbXVtIG51bWJlciBvZiBwYXJhbGxlbCB3b3JrZXJzCisgICAgIiIiCisgICAgZmlsZXMgPSBfd2Fsa19kaXIoZGlyLCBxdWlldD1xdWlldCwgbWF4bGV2ZWxzPW1heGxldmVscywKKyAgICAgICAgICAgICAgICAgICAgICBkZGlyPWRkaXIpCisgICAgc3VjY2VzcyA9IDEKKyAgICBpZiB3b3JrZXJzIGlzIG5vdCBOb25lIGFuZCB3b3JrZXJzICE9IDE6CisgICAgICAgIGlmIHdvcmtlcnMgPCAwOgorICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcignd29ya2VycyBtdXN0IGJlIGdyZWF0ZXIgb3IgZXF1YWwgdG8gMCcpCisgICAgICAgIGlmIFByb2Nlc3NQb29sRXhlY3V0b3IgaXMgTm9uZToKKyAgICAgICAgICAgIHJhaXNlIE5vdEltcGxlbWVudGVkRXJyb3IoJ211bHRpcHJvY2Vzc2luZyBzdXBwb3J0IG5vdCBhdmFpbGFibGUnKQorCisgICAgICAgIHdvcmtlcnMgPSB3b3JrZXJzIG9yIE5vbmUKKyAgICAgICAgd2l0aCBQcm9jZXNzUG9vbEV4ZWN1dG9yKG1heF93b3JrZXJzPXdvcmtlcnMpIGFzIGV4ZWN1dG9yOgorICAgICAgICAgICAgcmVzdWx0cyA9IGV4ZWN1dG9yLm1hcChwYXJ0aWFsKGNvbXBpbGVfZmlsZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZGlyPWRkaXIsIGZvcmNlPWZvcmNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJ4PXJ4LCBxdWlldD1xdWlldCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWdhY3k9bGVnYWN5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGltaXplPW9wdGltaXplKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZXMpCisgICAgICAgICAgICBzdWNjZXNzID0gbWluKHJlc3VsdHMsIGRlZmF1bHQ9MSkKKyAgICBlbHNlOgorICAgICAgICBmb3IgZmlsZSBpbiBmaWxlczoKKyAgICAgICAgICAgIGlmIG5vdCBjb21waWxlX2ZpbGUoZmlsZSwgZGRpciwgZm9yY2UsIHJ4LCBxdWlldCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVnYWN5LCBvcHRpbWl6ZSk6CiAgICAgICAgICAgICAgICAgc3VjY2VzcyA9IDAKICAgICByZXR1cm4gc3VjY2VzcwogCi1kZWYgY29tcGlsZV9maWxlKGZ1bGxuYW1lLCBkZGlyPU5vbmUsIGZvcmNlPUZhbHNlLCByeD1Ob25lLCBxdWlldD1GYWxzZSwKK2RlZiBjb21waWxlX2ZpbGUoZnVsbG5hbWUsIGRkaXI9Tm9uZSwgZm9yY2U9RmFsc2UsIHJ4PU5vbmUsIHF1aWV0PTAsCiAgICAgICAgICAgICAgICAgIGxlZ2FjeT1GYWxzZSwgb3B0aW1pemU9LTEpOgogICAgICIiIkJ5dGUtY29tcGlsZSBvbmUgZmlsZS4KIApAQCAtNzEsNyArMTAxLDggQEAKICAgICBkZGlyOiAgICAgIGlmIGdpdmVuLCB0aGUgZGlyZWN0b3J5IG5hbWUgY29tcGlsZWQgaW4gdG8gdGhlCiAgICAgICAgICAgICAgICBieXRlLWNvZGUgZmlsZS4KICAgICBmb3JjZTogICAgIGlmIFRydWUsIGZvcmNlIGNvbXBpbGF0aW9uLCBldmVuIGlmIHRpbWVzdGFtcHMgYXJlIHVwLXRvLWRhdGUKLSAgICBxdWlldDogICAgIGlmIFRydWUsIGJlIHF1aWV0IGR1cmluZyBjb21waWxhdGlvbgorICAgIHF1aWV0OiAgICAgZnVsbCBvdXRwdXQgd2l0aCBGYWxzZSBvciAwLCBlcnJvcnMgb25seSB3aXRoIDEsCisgICAgICAgICAgICAgICBubyBvdXRwdXQgd2l0aCAyCiAgICAgbGVnYWN5OiAgICBpZiBUcnVlLCBwcm9kdWNlIGxlZ2FjeSBweWMgcGF0aHMgaW5zdGVhZCBvZiBQRVAgMzE0NyBwYXRocwogICAgIG9wdGltaXplOiAgb3B0aW1pemF0aW9uIGxldmVsIG9yIC0xIGZvciBsZXZlbCBvZiB0aGUgaW50ZXJwcmV0ZXIKICAgICAiIiIKQEAgLTExNCw3ICsxNDUsMTAgQEAKICAgICAgICAgICAgICAgICBvayA9IHB5X2NvbXBpbGUuY29tcGlsZShmdWxsbmFtZSwgY2ZpbGUsIGRmaWxlLCBUcnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGltaXplPW9wdGltaXplKQogICAgICAgICAgICAgZXhjZXB0IHB5X2NvbXBpbGUuUHlDb21waWxlRXJyb3IgYXMgZXJyOgotICAgICAgICAgICAgICAgIGlmIHF1aWV0OgorICAgICAgICAgICAgICAgIHN1Y2Nlc3MgPSAwCisgICAgICAgICAgICAgICAgaWYgcXVpZXQgPj0gMjoKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHN1Y2Nlc3MKKyAgICAgICAgICAgICAgICBlbGlmIHF1aWV0OgogICAgICAgICAgICAgICAgICAgICBwcmludCgnKioqIEVycm9yIGNvbXBpbGluZyB7IXJ9Li4uJy5mb3JtYXQoZnVsbG5hbWUpKQogICAgICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgICAgIHByaW50KCcqKiogJywgZW5kPScnKQpAQCAtMTIzLDIwICsxNTcsMjEgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvcnM9J2JhY2tzbGFzaHJlcGxhY2UnKQogICAgICAgICAgICAgICAgIG1zZyA9IG1zZy5kZWNvZGUoc3lzLnN0ZG91dC5lbmNvZGluZykKICAgICAgICAgICAgICAgICBwcmludChtc2cpCi0gICAgICAgICAgICAgICAgc3VjY2VzcyA9IDAKICAgICAgICAgICAgIGV4Y2VwdCAoU3ludGF4RXJyb3IsIFVuaWNvZGVFcnJvciwgT1NFcnJvcikgYXMgZToKLSAgICAgICAgICAgICAgICBpZiBxdWlldDoKKyAgICAgICAgICAgICAgICBzdWNjZXNzID0gMAorICAgICAgICAgICAgICAgIGlmIHF1aWV0ID49IDI6CisgICAgICAgICAgICAgICAgICAgIHJldHVybiBzdWNjZXNzCisgICAgICAgICAgICAgICAgZWxpZiBxdWlldDoKICAgICAgICAgICAgICAgICAgICAgcHJpbnQoJyoqKiBFcnJvciBjb21waWxpbmcgeyFyfS4uLicuZm9ybWF0KGZ1bGxuYW1lKSkKICAgICAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgICAgICBwcmludCgnKioqICcsIGVuZD0nJykKICAgICAgICAgICAgICAgICBwcmludChlLl9fY2xhc3NfXy5fX25hbWVfXyArICc6JywgZSkKLSAgICAgICAgICAgICAgICBzdWNjZXNzID0gMAogICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICBpZiBvayA9PSAwOgogICAgICAgICAgICAgICAgICAgICBzdWNjZXNzID0gMAogICAgIHJldHVybiBzdWNjZXNzCiAKLWRlZiBjb21waWxlX3BhdGgoc2tpcF9jdXJkaXI9MSwgbWF4bGV2ZWxzPTAsIGZvcmNlPUZhbHNlLCBxdWlldD1GYWxzZSwKK2RlZiBjb21waWxlX3BhdGgoc2tpcF9jdXJkaXI9MSwgbWF4bGV2ZWxzPTAsIGZvcmNlPUZhbHNlLCBxdWlldD0wLAogICAgICAgICAgICAgICAgICBsZWdhY3k9RmFsc2UsIG9wdGltaXplPS0xKToKICAgICAiIiJCeXRlLWNvbXBpbGUgYWxsIG1vZHVsZSBvbiBzeXMucGF0aC4KIApAQCAtMTQ1LDE0ICsxODAsMTUgQEAKICAgICBza2lwX2N1cmRpcjogaWYgdHJ1ZSwgc2tpcCBjdXJyZW50IGRpcmVjdG9yeSAoZGVmYXVsdCBUcnVlKQogICAgIG1heGxldmVsczogICBtYXggcmVjdXJzaW9uIGxldmVsIChkZWZhdWx0IDApCiAgICAgZm9yY2U6IGFzIGZvciBjb21waWxlX2RpcigpIChkZWZhdWx0IEZhbHNlKQotICAgIHF1aWV0OiBhcyBmb3IgY29tcGlsZV9kaXIoKSAoZGVmYXVsdCBGYWxzZSkKKyAgICBxdWlldDogYXMgZm9yIGNvbXBpbGVfZGlyKCkgKGRlZmF1bHQgMCkKICAgICBsZWdhY3k6IGFzIGZvciBjb21waWxlX2RpcigpIChkZWZhdWx0IEZhbHNlKQogICAgIG9wdGltaXplOiBhcyBmb3IgY29tcGlsZV9kaXIoKSAoZGVmYXVsdCAtMSkKICAgICAiIiIKICAgICBzdWNjZXNzID0gMQogICAgIGZvciBkaXIgaW4gc3lzLnBhdGg6CiAgICAgICAgIGlmIChub3QgZGlyIG9yIGRpciA9PSBvcy5jdXJkaXIpIGFuZCBza2lwX2N1cmRpcjoKLSAgICAgICAgICAgIHByaW50KCdTa2lwcGluZyBjdXJyZW50IGRpcmVjdG9yeScpCisgICAgICAgICAgICBpZiBxdWlldCA8IDI6CisgICAgICAgICAgICAgICAgcHJpbnQoJ1NraXBwaW5nIGN1cnJlbnQgZGlyZWN0b3J5JykKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIHN1Y2Nlc3MgPSBzdWNjZXNzIGFuZCBjb21waWxlX2RpcihkaXIsIG1heGxldmVscywgTm9uZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JjZSwgcXVpZXQ9cXVpZXQsCkBAIC0xNjksMTAgKzIwNSwxNSBAQAogICAgIHBhcnNlci5hZGRfYXJndW1lbnQoJy1sJywgYWN0aW9uPSdzdG9yZV9jb25zdCcsIGNvbnN0PTAsCiAgICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0PTEwLCBkZXN0PSdtYXhsZXZlbHMnLAogICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iZG9uJ3QgcmVjdXJzZSBpbnRvIHN1YmRpcmVjdG9yaWVzIikKKyAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCctcicsIHR5cGU9aW50LCBkZXN0PSdyZWN1cnNpb24nLAorICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0oJ2NvbnRyb2wgdGhlIG1heGltdW0gcmVjdXJzaW9uIGxldmVsLiAnCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaWYgYC1sYCBhbmQgYC1yYCBvcHRpb25zIGFyZSBzcGVjaWZpZWQsICcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0aGVuIGAtcmAgdGFrZXMgcHJlY2VkZW5jZS4nKSkKICAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCctZicsIGFjdGlvbj0nc3RvcmVfdHJ1ZScsIGRlc3Q9J2ZvcmNlJywKICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9J2ZvcmNlIHJlYnVpbGQgZXZlbiBpZiB0aW1lc3RhbXBzIGFyZSB1cCB0byBkYXRlJykKLSAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCctcScsIGFjdGlvbj0nc3RvcmVfdHJ1ZScsIGRlc3Q9J3F1aWV0JywKLSAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9J291dHB1dCBvbmx5IGVycm9yIG1lc3NhZ2VzJykKKyAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCctcScsIGFjdGlvbj0nY291bnQnLCBkZXN0PSdxdWlldCcsIGRlZmF1bHQ9MCwKKyAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9J291dHB1dCBvbmx5IGVycm9yIG1lc3NhZ2VzOyAtcXEgd2lsbCBzdXBwcmVzcyAnCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0aGUgZXJyb3IgbWVzc2FnZXMgYXMgd2VsbC4nKQogICAgIHBhcnNlci5hZGRfYXJndW1lbnQoJy1iJywgYWN0aW9uPSdzdG9yZV90cnVlJywgZGVzdD0nbGVnYWN5JywKICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9J3VzZSBsZWdhY3kgKHByZS1QRVAzMTQ3KSBjb21waWxlZCBmaWxlIGxvY2F0aW9ucycpCiAgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgnLWQnLCBtZXRhdmFyPSdERVNURElSJywgIGRlc3Q9J2RkaXInLCBkZWZhdWx0PU5vbmUsCkBAIC0xOTIsOCArMjMzLDEwIEBACiAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSgnemVybyBvciBtb3JlIGZpbGUgYW5kIGRpcmVjdG9yeSBuYW1lcyAnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndG8gY29tcGlsZTsgaWYgbm8gYXJndW1lbnRzIGdpdmVuLCBkZWZhdWx0cyAnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndG8gdGhlIGVxdWl2YWxlbnQgb2YgLWwgc3lzLnBhdGgnKSkKLSAgICBhcmdzID0gcGFyc2VyLnBhcnNlX2FyZ3MoKQorICAgIHBhcnNlci5hZGRfYXJndW1lbnQoJy1qJywgJy0td29ya2VycycsIGRlZmF1bHQ9MSwKKyAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9aW50LCBoZWxwPSdSdW4gY29tcGlsZWFsbCBjb25jdXJyZW50bHknKQogCisgICAgYXJncyA9IHBhcnNlci5wYXJzZV9hcmdzKCkKICAgICBjb21waWxlX2Rlc3RzID0gYXJncy5jb21waWxlX2Rlc3QKIAogICAgIGlmIChhcmdzLmRkaXIgYW5kIChsZW4oY29tcGlsZV9kZXN0cykgIT0gMQpAQCAtMjAzLDYgKzI0NiwxMiBAQAogICAgICAgICBpbXBvcnQgcmUKICAgICAgICAgYXJncy5yeCA9IHJlLmNvbXBpbGUoYXJncy5yeCkKIAorCisgICAgaWYgYXJncy5yZWN1cnNpb24gaXMgbm90IE5vbmU6CisgICAgICAgIG1heGxldmVscyA9IGFyZ3MucmVjdXJzaW9uCisgICAgZWxzZToKKyAgICAgICAgbWF4bGV2ZWxzID0gYXJncy5tYXhsZXZlbHMKKwogICAgICMgaWYgZmxpc3QgaXMgcHJvdmlkZWQgdGhlbiBsb2FkIGl0CiAgICAgaWYgYXJncy5mbGlzdDoKICAgICAgICAgdHJ5OgpAQCAtMjEwLDkgKzI1OSwxMyBAQAogICAgICAgICAgICAgICAgIGZvciBsaW5lIGluIGY6CiAgICAgICAgICAgICAgICAgICAgIGNvbXBpbGVfZGVzdHMuYXBwZW5kKGxpbmUuc3RyaXAoKSkKICAgICAgICAgZXhjZXB0IE9TRXJyb3I6Ci0gICAgICAgICAgICBwcmludCgiRXJyb3IgcmVhZGluZyBmaWxlIGxpc3Qge30iLmZvcm1hdChhcmdzLmZsaXN0KSkKKyAgICAgICAgICAgIGlmIGFyZ3MucXVpZXQgPCAyOgorICAgICAgICAgICAgICAgIHByaW50KCJFcnJvciByZWFkaW5nIGZpbGUgbGlzdCB7fSIuZm9ybWF0KGFyZ3MuZmxpc3QpKQogICAgICAgICAgICAgcmV0dXJuIEZhbHNlCiAKKyAgICBpZiBhcmdzLndvcmtlcnMgaXMgbm90IE5vbmU6CisgICAgICAgIGFyZ3Mud29ya2VycyA9IGFyZ3Mud29ya2VycyBvciBOb25lCisKICAgICBzdWNjZXNzID0gVHJ1ZQogICAgIHRyeToKICAgICAgICAgaWYgY29tcGlsZV9kZXN0czoKQEAgLTIyMiwxNiArMjc1LDE3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJncy5xdWlldCwgYXJncy5sZWdhY3kpOgogICAgICAgICAgICAgICAgICAgICAgICAgc3VjY2VzcyA9IEZhbHNlCiAgICAgICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgaWYgbm90IGNvbXBpbGVfZGlyKGRlc3QsIGFyZ3MubWF4bGV2ZWxzLCBhcmdzLmRkaXIsCisgICAgICAgICAgICAgICAgICAgIGlmIG5vdCBjb21waWxlX2RpcihkZXN0LCBtYXhsZXZlbHMsIGFyZ3MuZGRpciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyZ3MuZm9yY2UsIGFyZ3MucngsIGFyZ3MucXVpZXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmdzLmxlZ2FjeSk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmdzLmxlZ2FjeSwgd29ya2Vycz1hcmdzLndvcmtlcnMpOgogICAgICAgICAgICAgICAgICAgICAgICAgc3VjY2VzcyA9IEZhbHNlCiAgICAgICAgICAgICByZXR1cm4gc3VjY2VzcwogICAgICAgICBlbHNlOgogICAgICAgICAgICAgcmV0dXJuIGNvbXBpbGVfcGF0aChsZWdhY3k9YXJncy5sZWdhY3ksIGZvcmNlPWFyZ3MuZm9yY2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHF1aWV0PWFyZ3MucXVpZXQpCiAgICAgZXhjZXB0IEtleWJvYXJkSW50ZXJydXB0OgotICAgICAgICBwcmludCgiXG5baW50ZXJydXB0ZWRdIikKKyAgICAgICAgaWYgYXJncy5xdWlldCA8IDI6CisgICAgICAgICAgICBwcmludCgiXG5baW50ZXJydXB0ZWRdIikKICAgICAgICAgcmV0dXJuIEZhbHNlCiAgICAgcmV0dXJuIFRydWUKIApkaWZmIC0tZ2l0IGEvTGliL2NvbmN1cnJlbnQvZnV0dXJlcy9fYmFzZS5weSBiL0xpYi9jb25jdXJyZW50L2Z1dHVyZXMvX2Jhc2UucHkKaW5kZXggYWNkMDVkMC4uOWU0NDcxMyAxMDA2NDQKLS0tIGEvTGliL2NvbmN1cnJlbnQvZnV0dXJlcy9fYmFzZS5weQorKysgYi9MaWIvY29uY3VycmVudC9mdXR1cmVzL19iYXNlLnB5CkBAIC0zMDIsMTcgKzMwMiwyMCBAQAogICAgICAgICB3aXRoIHNlbGYuX2NvbmRpdGlvbjoKICAgICAgICAgICAgIGlmIHNlbGYuX3N0YXRlID09IEZJTklTSEVEOgogICAgICAgICAgICAgICAgIGlmIHNlbGYuX2V4Y2VwdGlvbjoKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuICc8RnV0dXJlIGF0ICVzIHN0YXRlPSVzIHJhaXNlZCAlcz4nICUgKAotICAgICAgICAgICAgICAgICAgICAgICAgaGV4KGlkKHNlbGYpKSwKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuICc8JXMgYXQgJSN4IHN0YXRlPSVzIHJhaXNlZCAlcz4nICUgKAorICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fX2NsYXNzX18uX19uYW1lX18sCisgICAgICAgICAgICAgICAgICAgICAgICBpZChzZWxmKSwKICAgICAgICAgICAgICAgICAgICAgICAgIF9TVEFURV9UT19ERVNDUklQVElPTl9NQVBbc2VsZi5fc3RhdGVdLAogICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fZXhjZXB0aW9uLl9fY2xhc3NfXy5fX25hbWVfXykKICAgICAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgICAgICByZXR1cm4gJzxGdXR1cmUgYXQgJXMgc3RhdGU9JXMgcmV0dXJuZWQgJXM+JyAlICgKLSAgICAgICAgICAgICAgICAgICAgICAgIGhleChpZChzZWxmKSksCisgICAgICAgICAgICAgICAgICAgIHJldHVybiAnPCVzIGF0ICUjeCBzdGF0ZT0lcyByZXR1cm5lZCAlcz4nICUgKAorICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fX2NsYXNzX18uX19uYW1lX18sCisgICAgICAgICAgICAgICAgICAgICAgICBpZChzZWxmKSwKICAgICAgICAgICAgICAgICAgICAgICAgIF9TVEFURV9UT19ERVNDUklQVElPTl9NQVBbc2VsZi5fc3RhdGVdLAogICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fcmVzdWx0Ll9fY2xhc3NfXy5fX25hbWVfXykKLSAgICAgICAgICAgIHJldHVybiAnPEZ1dHVyZSBhdCAlcyBzdGF0ZT0lcz4nICUgKAotICAgICAgICAgICAgICAgICAgICBoZXgoaWQoc2VsZikpLAorICAgICAgICAgICAgcmV0dXJuICc8JXMgYXQgJSN4IHN0YXRlPSVzPicgJSAoCisgICAgICAgICAgICAgICAgICAgIHNlbGYuX19jbGFzc19fLl9fbmFtZV9fLAorICAgICAgICAgICAgICAgICAgICBpZChzZWxmKSwKICAgICAgICAgICAgICAgICAgICBfU1RBVEVfVE9fREVTQ1JJUFRJT05fTUFQW3NlbGYuX3N0YXRlXSkKIAogICAgIGRlZiBjYW5jZWwoc2VsZik6CkBAIC01MTcsNyArNTIwLDcgQEAKICAgICAgICAgIiIiCiAgICAgICAgIHJhaXNlIE5vdEltcGxlbWVudGVkRXJyb3IoKQogCi0gICAgZGVmIG1hcChzZWxmLCBmbiwgKml0ZXJhYmxlcywgdGltZW91dD1Ob25lKToKKyAgICBkZWYgbWFwKHNlbGYsIGZuLCAqaXRlcmFibGVzLCB0aW1lb3V0PU5vbmUsIGNodW5rc2l6ZT0xKToKICAgICAgICAgIiIiUmV0dXJucyBhIGl0ZXJhdG9yIGVxdWl2YWxlbnQgdG8gbWFwKGZuLCBpdGVyKS4KIAogICAgICAgICBBcmdzOgpAQCAtNTI1LDYgKzUyOCwxMCBAQAogICAgICAgICAgICAgICAgIHBhc3NlZCBpdGVyYWJsZXMuCiAgICAgICAgICAgICB0aW1lb3V0OiBUaGUgbWF4aW11bSBudW1iZXIgb2Ygc2Vjb25kcyB0byB3YWl0LiBJZiBOb25lLCB0aGVuIHRoZXJlCiAgICAgICAgICAgICAgICAgaXMgbm8gbGltaXQgb24gdGhlIHdhaXQgdGltZS4KKyAgICAgICAgICAgIGNodW5rc2l6ZTogVGhlIHNpemUgb2YgdGhlIGNodW5rcyB0aGUgaXRlcmFibGUgd2lsbCBiZSBicm9rZW4gaW50bworICAgICAgICAgICAgICAgIGJlZm9yZSBiZWluZyBwYXNzZWQgdG8gYSBjaGlsZCBwcm9jZXNzLiBUaGlzIGFyZ3VtZW50IGlzIG9ubHkKKyAgICAgICAgICAgICAgICB1c2VkIGJ5IFByb2Nlc3NQb29sRXhlY3V0b3I7IGl0IGlzIGlnbm9yZWQgYnkKKyAgICAgICAgICAgICAgICBUaHJlYWRQb29sRXhlY3V0b3IuCiAKICAgICAgICAgUmV0dXJuczoKICAgICAgICAgICAgIEFuIGl0ZXJhdG9yIGVxdWl2YWxlbnQgdG86IG1hcChmdW5jLCAqaXRlcmFibGVzKSBidXQgdGhlIGNhbGxzIG1heQpkaWZmIC0tZ2l0IGEvTGliL2NvbmN1cnJlbnQvZnV0dXJlcy9wcm9jZXNzLnB5IGIvTGliL2NvbmN1cnJlbnQvZnV0dXJlcy9wcm9jZXNzLnB5CmluZGV4IDA3YjUyMjUuLjNkZDZkYTEgMTAwNjQ0Ci0tLSBhL0xpYi9jb25jdXJyZW50L2Z1dHVyZXMvcHJvY2Vzcy5weQorKysgYi9MaWIvY29uY3VycmVudC9mdXR1cmVzL3Byb2Nlc3MucHkKQEAgLTU1LDYgKzU1LDkgQEAKIGZyb20gbXVsdGlwcm9jZXNzaW5nLmNvbm5lY3Rpb24gaW1wb3J0IHdhaXQKIGltcG9ydCB0aHJlYWRpbmcKIGltcG9ydCB3ZWFrcmVmCitmcm9tIGZ1bmN0b29scyBpbXBvcnQgcGFydGlhbAoraW1wb3J0IGl0ZXJ0b29scworaW1wb3J0IHRyYWNlYmFjawogCiAjIFdvcmtlcnMgYXJlIGNyZWF0ZWQgYXMgZGFlbW9uIHRocmVhZHMgYW5kIHByb2Nlc3Nlcy4gVGhpcyBpcyBkb25lIHRvIGFsbG93IHRoZQogIyBpbnRlcnByZXRlciB0byBleGl0IHdoZW4gdGhlcmUgYXJlIHN0aWxsIGlkbGUgcHJvY2Vzc2VzIGluIGEKQEAgLTg4LDYgKzkxLDI3IEBACiAjIChGdXR1cmVzIGluIHRoZSBjYWxsIHF1ZXVlIGNhbm5vdCBiZSBjYW5jZWxsZWQpLgogRVhUUkFfUVVFVUVEX0NBTExTID0gMQogCisjIEhhY2sgdG8gZW1iZWQgc3RyaW5naWZpY2F0aW9uIG9mIHJlbW90ZSB0cmFjZWJhY2sgaW4gbG9jYWwgdHJhY2ViYWNrCisKK2NsYXNzIF9SZW1vdGVUcmFjZWJhY2soRXhjZXB0aW9uKToKKyAgICBkZWYgX19pbml0X18oc2VsZiwgdGIpOgorICAgICAgICBzZWxmLnRiID0gdGIKKyAgICBkZWYgX19zdHJfXyhzZWxmKToKKyAgICAgICAgcmV0dXJuIHNlbGYudGIKKworY2xhc3MgX0V4Y2VwdGlvbldpdGhUcmFjZWJhY2s6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIGV4YywgdGIpOgorICAgICAgICB0YiA9IHRyYWNlYmFjay5mb3JtYXRfZXhjZXB0aW9uKHR5cGUoZXhjKSwgZXhjLCB0YikKKyAgICAgICAgdGIgPSAnJy5qb2luKHRiKQorICAgICAgICBzZWxmLmV4YyA9IGV4YworICAgICAgICBzZWxmLnRiID0gJ1xuIiIiXG4lcyIiIicgJSB0YgorICAgIGRlZiBfX3JlZHVjZV9fKHNlbGYpOgorICAgICAgICByZXR1cm4gX3JlYnVpbGRfZXhjLCAoc2VsZi5leGMsIHNlbGYudGIpCisKK2RlZiBfcmVidWlsZF9leGMoZXhjLCB0Yik6CisgICAgZXhjLl9fY2F1c2VfXyA9IF9SZW1vdGVUcmFjZWJhY2sodGIpCisgICAgcmV0dXJuIGV4YworCiBjbGFzcyBfV29ya0l0ZW0ob2JqZWN0KToKICAgICBkZWYgX19pbml0X18oc2VsZiwgZnV0dXJlLCBmbiwgYXJncywga3dhcmdzKToKICAgICAgICAgc2VsZi5mdXR1cmUgPSBmdXR1cmUKQEAgLTEwOCw2ICsxMzIsMjYgQEAKICAgICAgICAgc2VsZi5hcmdzID0gYXJncwogICAgICAgICBzZWxmLmt3YXJncyA9IGt3YXJncwogCitkZWYgX2dldF9jaHVua3MoKml0ZXJhYmxlcywgY2h1bmtzaXplKToKKyAgICAiIiIgSXRlcmF0ZXMgb3ZlciB6aXAoKWVkIGl0ZXJhYmxlcyBpbiBjaHVua3MuICIiIgorICAgIGl0ID0gemlwKCppdGVyYWJsZXMpCisgICAgd2hpbGUgVHJ1ZToKKyAgICAgICAgY2h1bmsgPSB0dXBsZShpdGVydG9vbHMuaXNsaWNlKGl0LCBjaHVua3NpemUpKQorICAgICAgICBpZiBub3QgY2h1bms6CisgICAgICAgICAgICByZXR1cm4KKyAgICAgICAgeWllbGQgY2h1bmsKKworZGVmIF9wcm9jZXNzX2NodW5rKGZuLCBjaHVuayk6CisgICAgIiIiIFByb2Nlc3NlcyBhIGNodW5rIG9mIGFuIGl0ZXJhYmxlIHBhc3NlZCB0byBtYXAuCisKKyAgICBSdW5zIHRoZSBmdW5jdGlvbiBwYXNzZWQgdG8gbWFwKCkgb24gYSBjaHVuayBvZiB0aGUKKyAgICBpdGVyYWJsZSBwYXNzZWQgdG8gbWFwLgorCisgICAgVGhpcyBmdW5jdGlvbiBpcyBydW4gaW4gYSBzZXBhcmF0ZSBwcm9jZXNzLgorCisgICAgIiIiCisgICAgcmV0dXJuIFtmbigqYXJncykgZm9yIGFyZ3MgaW4gY2h1bmtdCisKIGRlZiBfcHJvY2Vzc193b3JrZXIoY2FsbF9xdWV1ZSwgcmVzdWx0X3F1ZXVlKToKICAgICAiIiJFdmFsdWF0ZXMgY2FsbHMgZnJvbSBjYWxsX3F1ZXVlIGFuZCBwbGFjZXMgdGhlIHJlc3VsdHMgaW4gcmVzdWx0X3F1ZXVlLgogCkBAIC0xMzAsOCArMTc0LDggQEAKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgciA9IGNhbGxfaXRlbS5mbigqY2FsbF9pdGVtLmFyZ3MsICoqY2FsbF9pdGVtLmt3YXJncykKICAgICAgICAgZXhjZXB0IEJhc2VFeGNlcHRpb24gYXMgZToKLSAgICAgICAgICAgIHJlc3VsdF9xdWV1ZS5wdXQoX1Jlc3VsdEl0ZW0oY2FsbF9pdGVtLndvcmtfaWQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4Y2VwdGlvbj1lKSkKKyAgICAgICAgICAgIGV4YyA9IF9FeGNlcHRpb25XaXRoVHJhY2ViYWNrKGUsIGUuX190cmFjZWJhY2tfXykKKyAgICAgICAgICAgIHJlc3VsdF9xdWV1ZS5wdXQoX1Jlc3VsdEl0ZW0oY2FsbF9pdGVtLndvcmtfaWQsIGV4Y2VwdGlvbj1leGMpKQogICAgICAgICBlbHNlOgogICAgICAgICAgICAgcmVzdWx0X3F1ZXVlLnB1dChfUmVzdWx0SXRlbShjYWxsX2l0ZW0ud29ya19pZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0PXIpKQpAQCAtMzM0LDYgKzM3OCw5IEBACiAgICAgICAgIGlmIG1heF93b3JrZXJzIGlzIE5vbmU6CiAgICAgICAgICAgICBzZWxmLl9tYXhfd29ya2VycyA9IG9zLmNwdV9jb3VudCgpIG9yIDEKICAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGlmIG1heF93b3JrZXJzIDw9IDA6CisgICAgICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigibWF4X3dvcmtlcnMgbXVzdCBiZSBncmVhdGVyIHRoYW4gMCIpCisKICAgICAgICAgICAgIHNlbGYuX21heF93b3JrZXJzID0gbWF4X3dvcmtlcnMKIAogICAgICAgICAjIE1ha2UgdGhlIGNhbGwgcXVldWUgc2xpZ2h0bHkgbGFyZ2VyIHRoYW4gdGhlIG51bWJlciBvZiBwcm9jZXNzZXMgdG8KQEAgLTQwOCw2ICs0NTUsMzUgQEAKICAgICAgICAgICAgIHJldHVybiBmCiAgICAgc3VibWl0Ll9fZG9jX18gPSBfYmFzZS5FeGVjdXRvci5zdWJtaXQuX19kb2NfXwogCisgICAgZGVmIG1hcChzZWxmLCBmbiwgKml0ZXJhYmxlcywgdGltZW91dD1Ob25lLCBjaHVua3NpemU9MSk6CisgICAgICAgICIiIlJldHVybnMgYSBpdGVyYXRvciBlcXVpdmFsZW50IHRvIG1hcChmbiwgaXRlcikuCisKKyAgICAgICAgQXJnczoKKyAgICAgICAgICAgIGZuOiBBIGNhbGxhYmxlIHRoYXQgd2lsbCB0YWtlIGFzIG1hbnkgYXJndW1lbnRzIGFzIHRoZXJlIGFyZQorICAgICAgICAgICAgICAgIHBhc3NlZCBpdGVyYWJsZXMuCisgICAgICAgICAgICB0aW1lb3V0OiBUaGUgbWF4aW11bSBudW1iZXIgb2Ygc2Vjb25kcyB0byB3YWl0LiBJZiBOb25lLCB0aGVuIHRoZXJlCisgICAgICAgICAgICAgICAgaXMgbm8gbGltaXQgb24gdGhlIHdhaXQgdGltZS4KKyAgICAgICAgICAgIGNodW5rc2l6ZTogSWYgZ3JlYXRlciB0aGFuIG9uZSwgdGhlIGl0ZXJhYmxlcyB3aWxsIGJlIGNob3BwZWQgaW50bworICAgICAgICAgICAgICAgIGNodW5rcyBvZiBzaXplIGNodW5rc2l6ZSBhbmQgc3VibWl0dGVkIHRvIHRoZSBwcm9jZXNzIHBvb2wuCisgICAgICAgICAgICAgICAgSWYgc2V0IHRvIG9uZSwgdGhlIGl0ZW1zIGluIHRoZSBsaXN0IHdpbGwgYmUgc2VudCBvbmUgYXQgYSB0aW1lLgorCisgICAgICAgIFJldHVybnM6CisgICAgICAgICAgICBBbiBpdGVyYXRvciBlcXVpdmFsZW50IHRvOiBtYXAoZnVuYywgKml0ZXJhYmxlcykgYnV0IHRoZSBjYWxscyBtYXkKKyAgICAgICAgICAgIGJlIGV2YWx1YXRlZCBvdXQtb2Ytb3JkZXIuCisKKyAgICAgICAgUmFpc2VzOgorICAgICAgICAgICAgVGltZW91dEVycm9yOiBJZiB0aGUgZW50aXJlIHJlc3VsdCBpdGVyYXRvciBjb3VsZCBub3QgYmUgZ2VuZXJhdGVkCisgICAgICAgICAgICAgICAgYmVmb3JlIHRoZSBnaXZlbiB0aW1lb3V0LgorICAgICAgICAgICAgRXhjZXB0aW9uOiBJZiBmbigqYXJncykgcmFpc2VzIGZvciBhbnkgdmFsdWVzLgorICAgICAgICAiIiIKKyAgICAgICAgaWYgY2h1bmtzaXplIDwgMToKKyAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoImNodW5rc2l6ZSBtdXN0IGJlID49IDEuIikKKworICAgICAgICByZXN1bHRzID0gc3VwZXIoKS5tYXAocGFydGlhbChfcHJvY2Vzc19jaHVuaywgZm4pLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX2dldF9jaHVua3MoKml0ZXJhYmxlcywgY2h1bmtzaXplPWNodW5rc2l6ZSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aW1lb3V0PXRpbWVvdXQpCisgICAgICAgIHJldHVybiBpdGVydG9vbHMuY2hhaW4uZnJvbV9pdGVyYWJsZShyZXN1bHRzKQorCiAgICAgZGVmIHNodXRkb3duKHNlbGYsIHdhaXQ9VHJ1ZSk6CiAgICAgICAgIHdpdGggc2VsZi5fc2h1dGRvd25fbG9jazoKICAgICAgICAgICAgIHNlbGYuX3NodXRkb3duX3RocmVhZCA9IFRydWUKZGlmZiAtLWdpdCBhL0xpYi9jb25jdXJyZW50L2Z1dHVyZXMvdGhyZWFkLnB5IGIvTGliL2NvbmN1cnJlbnQvZnV0dXJlcy90aHJlYWQucHkKaW5kZXggZjliZWIwZi4uM2FlNDQyZCAxMDA2NDQKLS0tIGEvTGliL2NvbmN1cnJlbnQvZnV0dXJlcy90aHJlYWQucHkKKysrIGIvTGliL2NvbmN1cnJlbnQvZnV0dXJlcy90aHJlYWQucHkKQEAgLTEwLDYgKzEwLDcgQEAKIGltcG9ydCBxdWV1ZQogaW1wb3J0IHRocmVhZGluZwogaW1wb3J0IHdlYWtyZWYKK2ltcG9ydCBvcwogCiAjIFdvcmtlcnMgYXJlIGNyZWF0ZWQgYXMgZGFlbW9uIHRocmVhZHMuIFRoaXMgaXMgZG9uZSB0byBhbGxvdyB0aGUgaW50ZXJwcmV0ZXIKICMgdG8gZXhpdCB3aGVuIHRoZXJlIGFyZSBzdGlsbCBpZGxlIHRocmVhZHMgaW4gYSBUaHJlYWRQb29sRXhlY3V0b3IncyB0aHJlYWQKQEAgLTgwLDEzICs4MSwyMCBAQAogICAgICAgICBfYmFzZS5MT0dHRVIuY3JpdGljYWwoJ0V4Y2VwdGlvbiBpbiB3b3JrZXInLCBleGNfaW5mbz1UcnVlKQogCiBjbGFzcyBUaHJlYWRQb29sRXhlY3V0b3IoX2Jhc2UuRXhlY3V0b3IpOgotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBtYXhfd29ya2Vycyk6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIG1heF93b3JrZXJzPU5vbmUpOgogICAgICAgICAiIiJJbml0aWFsaXplcyBhIG5ldyBUaHJlYWRQb29sRXhlY3V0b3IgaW5zdGFuY2UuCiAKICAgICAgICAgQXJnczoKICAgICAgICAgICAgIG1heF93b3JrZXJzOiBUaGUgbWF4aW11bSBudW1iZXIgb2YgdGhyZWFkcyB0aGF0IGNhbiBiZSB1c2VkIHRvCiAgICAgICAgICAgICAgICAgZXhlY3V0ZSB0aGUgZ2l2ZW4gY2FsbHMuCiAgICAgICAgICIiIgorICAgICAgICBpZiBtYXhfd29ya2VycyBpcyBOb25lOgorICAgICAgICAgICAgIyBVc2UgdGhpcyBudW1iZXIgYmVjYXVzZSBUaHJlYWRQb29sRXhlY3V0b3IgaXMgb2Z0ZW4KKyAgICAgICAgICAgICMgdXNlZCB0byBvdmVybGFwIEkvTyBpbnN0ZWFkIG9mIENQVSB3b3JrLgorICAgICAgICAgICAgbWF4X3dvcmtlcnMgPSAob3MuY3B1X2NvdW50KCkgb3IgMSkgKiA1CisgICAgICAgIGlmIG1heF93b3JrZXJzIDw9IDA6CisgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJtYXhfd29ya2VycyBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAwIikKKwogICAgICAgICBzZWxmLl9tYXhfd29ya2VycyA9IG1heF93b3JrZXJzCiAgICAgICAgIHNlbGYuX3dvcmtfcXVldWUgPSBxdWV1ZS5RdWV1ZSgpCiAgICAgICAgIHNlbGYuX3RocmVhZHMgPSBzZXQoKQpkaWZmIC0tZ2l0IGEvTGliL2NvbmZpZ3BhcnNlci5weSBiL0xpYi9jb25maWdwYXJzZXIucHkKaW5kZXggNGVlODMwNy4uZWNkMDY2MCAxMDA2NDQKLS0tIGEvTGliL2NvbmZpZ3BhcnNlci5weQorKysgYi9MaWIvY29uZmlncGFyc2VyLnB5CkBAIC0xNyw3ICsxNyw4IEBACiAgICAgX19pbml0X18oZGVmYXVsdHM9Tm9uZSwgZGljdF90eXBlPV9kZWZhdWx0X2RpY3QsIGFsbG93X25vX3ZhbHVlPUZhbHNlLAogICAgICAgICAgICAgIGRlbGltaXRlcnM9KCc9JywgJzonKSwgY29tbWVudF9wcmVmaXhlcz0oJyMnLCAnOycpLAogICAgICAgICAgICAgIGlubGluZV9jb21tZW50X3ByZWZpeGVzPU5vbmUsIHN0cmljdD1UcnVlLAotICAgICAgICAgICAgIGVtcHR5X2xpbmVzX2luX3ZhbHVlcz1UcnVlKToKKyAgICAgICAgICAgICBlbXB0eV9saW5lc19pbl92YWx1ZXM9VHJ1ZSwgZGVmYXVsdF9zZWN0aW9uPSdERUZBVUxUJywKKyAgICAgICAgICAgICBpbnRlcnBvbGF0aW9uPTx1bnNldD4sIGNvbnZlcnRlcnM9PHVuc2V0Pik6CiAgICAgICAgIENyZWF0ZSB0aGUgcGFyc2VyLiBXaGVuIGBkZWZhdWx0cycgaXMgZ2l2ZW4sIGl0IGlzIGluaXRpYWxpemVkIGludG8gdGhlCiAgICAgICAgIGRpY3Rpb25hcnkgb3IgaW50cmluc2ljIGRlZmF1bHRzLiBUaGUga2V5cyBtdXN0IGJlIHN0cmluZ3MsIHRoZSB2YWx1ZXMKICAgICAgICAgbXVzdCBiZSBhcHByb3ByaWF0ZSBmb3IgJSgpcyBzdHJpbmcgaW50ZXJwb2xhdGlvbi4KQEAgLTQ3LDYgKzQ4LDI1IEBACiAgICAgICAgIFdoZW4gYGFsbG93X25vX3ZhbHVlJyBpcyBUcnVlIChkZWZhdWx0OiBGYWxzZSksIG9wdGlvbnMgd2l0aG91dAogICAgICAgICB2YWx1ZXMgYXJlIGFjY2VwdGVkOyB0aGUgdmFsdWUgcHJlc2VudGVkIGZvciB0aGVzZSBpcyBOb25lLgogCisgICAgICAgIFdoZW4gYGRlZmF1bHRfc2VjdGlvbicgaXMgZ2l2ZW4sIHRoZSBuYW1lIG9mIHRoZSBzcGVjaWFsIHNlY3Rpb24gaXMKKyAgICAgICAgbmFtZWQgYWNjb3JkaW5nbHkuIEJ5IGRlZmF1bHQgaXQgaXMgY2FsbGVkIGBgIkRFRkFVTFQiYGAgYnV0IHRoaXMgY2FuCisgICAgICAgIGJlIGN1c3RvbWl6ZWQgdG8gcG9pbnQgdG8gYW55IG90aGVyIHZhbGlkIHNlY3Rpb24gbmFtZS4gSXRzIGN1cnJlbnQKKyAgICAgICAgdmFsdWUgY2FuIGJlIHJldHJpZXZlZCB1c2luZyB0aGUgYGBwYXJzZXJfaW5zdGFuY2UuZGVmYXVsdF9zZWN0aW9uYGAKKyAgICAgICAgYXR0cmlidXRlIGFuZCBtYXkgYmUgbW9kaWZpZWQgYXQgcnVudGltZS4KKworICAgICAgICBXaGVuIGBpbnRlcnBvbGF0aW9uYCBpcyBnaXZlbiwgaXQgc2hvdWxkIGJlIGFuIEludGVycG9sYXRpb24gc3ViY2xhc3MKKyAgICAgICAgaW5zdGFuY2UuIEl0IHdpbGwgYmUgdXNlZCBhcyB0aGUgaGFuZGxlciBmb3Igb3B0aW9uIHZhbHVlCisgICAgICAgIHByZS1wcm9jZXNzaW5nIHdoZW4gdXNpbmcgZ2V0dGVycy4gUmF3Q29uZmlnUGFyc2VyIG9iamVjdCBzIGRvbid0IGRvCisgICAgICAgIGFueSBzb3J0IG9mIGludGVycG9sYXRpb24sIHdoZXJlYXMgQ29uZmlnUGFyc2VyIHVzZXMgYW4gaW5zdGFuY2Ugb2YKKyAgICAgICAgQmFzaWNJbnRlcnBvbGF0aW9uLiBUaGUgbGlicmFyeSBhbHNvIHByb3ZpZGVzIGEgYGB6Yy5idWlsZGJvdGBgCisgICAgICAgIGluc3BpcmVkIEV4dGVuZGVkSW50ZXJwb2xhdGlvbiBpbXBsZW1lbnRhdGlvbi4KKworICAgICAgICBXaGVuIGBjb252ZXJ0ZXJzYCBpcyBnaXZlbiwgaXQgc2hvdWxkIGJlIGEgZGljdGlvbmFyeSB3aGVyZSBlYWNoIGtleQorICAgICAgICByZXByZXNlbnRzIHRoZSBuYW1lIG9mIGEgdHlwZSBjb252ZXJ0ZXIgYW5kIGVhY2ggdmFsdWUgaXMgYSBjYWxsYWJsZQorICAgICAgICBpbXBsZW1lbnRpbmcgdGhlIGNvbnZlcnNpb24gZnJvbSBzdHJpbmcgdG8gdGhlIGRlc2lyZWQgZGF0YXR5cGUuIEV2ZXJ5CisgICAgICAgIGNvbnZlcnRlciBnZXRzIGl0cyBjb3JyZXNwb25kaW5nIGdldCooKSBtZXRob2Qgb24gdGhlIHBhcnNlciBvYmplY3QgYW5kCisgICAgICAgIHNlY3Rpb24gcHJveGllcy4KKwogICAgIHNlY3Rpb25zKCkKICAgICAgICAgUmV0dXJuIGFsbCB0aGUgY29uZmlndXJhdGlvbiBzZWN0aW9uIG5hbWVzLCBzYW5zIERFRkFVTFQuCiAKQEAgLTEyOSw5ICsxNDksMTEgQEAKIAogX19hbGxfXyA9IFsiTm9TZWN0aW9uRXJyb3IiLCAiRHVwbGljYXRlT3B0aW9uRXJyb3IiLCAiRHVwbGljYXRlU2VjdGlvbkVycm9yIiwKICAgICAgICAgICAgIk5vT3B0aW9uRXJyb3IiLCAiSW50ZXJwb2xhdGlvbkVycm9yIiwgIkludGVycG9sYXRpb25EZXB0aEVycm9yIiwKLSAgICAgICAgICAgIkludGVycG9sYXRpb25TeW50YXhFcnJvciIsICJQYXJzaW5nRXJyb3IiLAotICAgICAgICAgICAiTWlzc2luZ1NlY3Rpb25IZWFkZXJFcnJvciIsCisgICAgICAgICAgICJJbnRlcnBvbGF0aW9uTWlzc2luZ09wdGlvbkVycm9yIiwgIkludGVycG9sYXRpb25TeW50YXhFcnJvciIsCisgICAgICAgICAgICJQYXJzaW5nRXJyb3IiLCAiTWlzc2luZ1NlY3Rpb25IZWFkZXJFcnJvciIsCiAgICAgICAgICAgICJDb25maWdQYXJzZXIiLCAiU2FmZUNvbmZpZ1BhcnNlciIsICJSYXdDb25maWdQYXJzZXIiLAorICAgICAgICAgICAiSW50ZXJwb2xhdGlvbiIsICJCYXNpY0ludGVycG9sYXRpb24iLCAgIkV4dGVuZGVkSW50ZXJwb2xhdGlvbiIsCisgICAgICAgICAgICJMZWdhY3lJbnRlcnBvbGF0aW9uIiwgIlNlY3Rpb25Qcm94eSIsICJDb252ZXJ0ZXJNYXBwaW5nIiwKICAgICAgICAgICAgIkRFRkFVTFRTRUNUIiwgIk1BWF9JTlRFUlBPTEFUSU9OX0RFUFRIIl0KIAogREVGQVVMVFNFQ1QgPSAiREVGQVVMVCIKQEAgLTQxMCw3ICs0MzIsNyBAQAogICAgICAgICAgICAgICAgICAgICB2ID0gbWFwW3Zhcl0KICAgICAgICAgICAgICAgICBleGNlcHQgS2V5RXJyb3I6CiAgICAgICAgICAgICAgICAgICAgIHJhaXNlIEludGVycG9sYXRpb25NaXNzaW5nT3B0aW9uRXJyb3IoCi0gICAgICAgICAgICAgICAgICAgICAgICBvcHRpb24sIHNlY3Rpb24sIHJlc3QsIHZhcikKKyAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbiwgc2VjdGlvbiwgcmVzdCwgdmFyKSBmcm9tIE5vbmUKICAgICAgICAgICAgICAgICBpZiAiJSIgaW4gdjoKICAgICAgICAgICAgICAgICAgICAgc2VsZi5faW50ZXJwb2xhdGVfc29tZShwYXJzZXIsIG9wdGlvbiwgYWNjdW0sIHYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VjdGlvbiwgbWFwLCBkZXB0aCArIDEpCkBAIC00ODIsNyArNTA0LDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTW9yZSB0aGFuIG9uZSAnOicgZm91bmQ6ICVyIiAlIChyZXN0LCkpCiAgICAgICAgICAgICAgICAgZXhjZXB0IChLZXlFcnJvciwgTm9TZWN0aW9uRXJyb3IsIE5vT3B0aW9uRXJyb3IpOgogICAgICAgICAgICAgICAgICAgICByYWlzZSBJbnRlcnBvbGF0aW9uTWlzc2luZ09wdGlvbkVycm9yKAotICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uLCBzZWN0aW9uLCByZXN0LCAiOiIuam9pbihwYXRoKSkKKyAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbiwgc2VjdGlvbiwgcmVzdCwgIjoiLmpvaW4ocGF0aCkpIGZyb20gTm9uZQogICAgICAgICAgICAgICAgIGlmICIkIiBpbiB2OgogICAgICAgICAgICAgICAgICAgICBzZWxmLl9pbnRlcnBvbGF0ZV9zb21lKHBhcnNlciwgb3B0LCBhY2N1bSwgdiwgc2VjdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaWN0KHBhcnNlci5pdGVtcyhzZWN0LCByYXc9VHJ1ZSkpLApAQCAtNTE1LDcgKzUzNyw3IEBACiAgICAgICAgICAgICAgICAgICAgIHZhbHVlID0gdmFsdWUgJSB2YXJzCiAgICAgICAgICAgICAgICAgZXhjZXB0IEtleUVycm9yIGFzIGU6CiAgICAgICAgICAgICAgICAgICAgIHJhaXNlIEludGVycG9sYXRpb25NaXNzaW5nT3B0aW9uRXJyb3IoCi0gICAgICAgICAgICAgICAgICAgICAgICBvcHRpb24sIHNlY3Rpb24sIHJhd3ZhbCwgZS5hcmdzWzBdKQorICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uLCBzZWN0aW9uLCByYXd2YWwsIGUuYXJnc1swXSkgZnJvbSBOb25lCiAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgIGJyZWFrCiAgICAgICAgIGlmIHZhbHVlIGFuZCAiJSgiIGluIHZhbHVlOgpAQCAtNTgwLDExICs2MDIsMTIgQEAKICAgICAgICAgICAgICAgICAgY29tbWVudF9wcmVmaXhlcz0oJyMnLCAnOycpLCBpbmxpbmVfY29tbWVudF9wcmVmaXhlcz1Ob25lLAogICAgICAgICAgICAgICAgICBzdHJpY3Q9VHJ1ZSwgZW1wdHlfbGluZXNfaW5fdmFsdWVzPVRydWUsCiAgICAgICAgICAgICAgICAgIGRlZmF1bHRfc2VjdGlvbj1ERUZBVUxUU0VDVCwKLSAgICAgICAgICAgICAgICAgaW50ZXJwb2xhdGlvbj1fVU5TRVQpOgorICAgICAgICAgICAgICAgICBpbnRlcnBvbGF0aW9uPV9VTlNFVCwgY29udmVydGVycz1fVU5TRVQpOgogCiAgICAgICAgIHNlbGYuX2RpY3QgPSBkaWN0X3R5cGUKICAgICAgICAgc2VsZi5fc2VjdGlvbnMgPSBzZWxmLl9kaWN0KCkKICAgICAgICAgc2VsZi5fZGVmYXVsdHMgPSBzZWxmLl9kaWN0KCkKKyAgICAgICAgc2VsZi5fY29udmVydGVycyA9IENvbnZlcnRlck1hcHBpbmcoc2VsZikKICAgICAgICAgc2VsZi5fcHJveGllcyA9IHNlbGYuX2RpY3QoKQogICAgICAgICBzZWxmLl9wcm94aWVzW2RlZmF1bHRfc2VjdGlvbl0gPSBTZWN0aW9uUHJveHkoc2VsZiwgZGVmYXVsdF9zZWN0aW9uKQogICAgICAgICBpZiBkZWZhdWx0czoKQEAgLTYxMiw2ICs2MzUsOCBAQAogICAgICAgICAgICAgc2VsZi5faW50ZXJwb2xhdGlvbiA9IHNlbGYuX0RFRkFVTFRfSU5URVJQT0xBVElPTgogICAgICAgICBpZiBzZWxmLl9pbnRlcnBvbGF0aW9uIGlzIE5vbmU6CiAgICAgICAgICAgICBzZWxmLl9pbnRlcnBvbGF0aW9uID0gSW50ZXJwb2xhdGlvbigpCisgICAgICAgIGlmIGNvbnZlcnRlcnMgaXMgbm90IF9VTlNFVDoKKyAgICAgICAgICAgIHNlbGYuX2NvbnZlcnRlcnMudXBkYXRlKGNvbnZlcnRlcnMpCiAKICAgICBkZWYgZGVmYXVsdHMoc2VsZik6CiAgICAgICAgIHJldHVybiBzZWxmLl9kZWZhdWx0cwpAQCAtNjQ3LDcgKzY3Miw3IEBACiAgICAgICAgIHRyeToKICAgICAgICAgICAgIG9wdHMgPSBzZWxmLl9zZWN0aW9uc1tzZWN0aW9uXS5jb3B5KCkKICAgICAgICAgZXhjZXB0IEtleUVycm9yOgotICAgICAgICAgICAgcmFpc2UgTm9TZWN0aW9uRXJyb3Ioc2VjdGlvbikKKyAgICAgICAgICAgIHJhaXNlIE5vU2VjdGlvbkVycm9yKHNlY3Rpb24pIGZyb20gTm9uZQogICAgICAgICBvcHRzLnVwZGF0ZShzZWxmLl9kZWZhdWx0cykKICAgICAgICAgcmV0dXJuIGxpc3Qob3B0cy5rZXlzKCkpCiAKQEAgLTc3NSwzNiArODAwLDMxIEBACiAgICAgZGVmIF9nZXQoc2VsZiwgc2VjdGlvbiwgY29udiwgb3B0aW9uLCAqKmt3YXJncyk6CiAgICAgICAgIHJldHVybiBjb252KHNlbGYuZ2V0KHNlY3Rpb24sIG9wdGlvbiwgKiprd2FyZ3MpKQogCi0gICAgZGVmIGdldGludChzZWxmLCBzZWN0aW9uLCBvcHRpb24sICosIHJhdz1GYWxzZSwgdmFycz1Ob25lLAotICAgICAgICAgICAgICAgZmFsbGJhY2s9X1VOU0VUKToKKyAgICBkZWYgX2dldF9jb252KHNlbGYsIHNlY3Rpb24sIG9wdGlvbiwgY29udiwgKiwgcmF3PUZhbHNlLCB2YXJzPU5vbmUsCisgICAgICAgICAgICAgICAgICBmYWxsYmFjaz1fVU5TRVQsICoqa3dhcmdzKToKICAgICAgICAgdHJ5OgotICAgICAgICAgICAgcmV0dXJuIHNlbGYuX2dldChzZWN0aW9uLCBpbnQsIG9wdGlvbiwgcmF3PXJhdywgdmFycz12YXJzKQorICAgICAgICAgICAgcmV0dXJuIHNlbGYuX2dldChzZWN0aW9uLCBjb252LCBvcHRpb24sIHJhdz1yYXcsIHZhcnM9dmFycywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiprd2FyZ3MpCiAgICAgICAgIGV4Y2VwdCAoTm9TZWN0aW9uRXJyb3IsIE5vT3B0aW9uRXJyb3IpOgogICAgICAgICAgICAgaWYgZmFsbGJhY2sgaXMgX1VOU0VUOgogICAgICAgICAgICAgICAgIHJhaXNlCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIHJldHVybiBmYWxsYmFjaworICAgICAgICAgICAgcmV0dXJuIGZhbGxiYWNrCisKKyAgICAjIGdldGludCwgZ2V0ZmxvYXQgYW5kIGdldGJvb2xlYW4gcHJvdmlkZWQgZGlyZWN0bHkgZm9yIGJhY2t3YXJkcyBjb21wYXQKKyAgICBkZWYgZ2V0aW50KHNlbGYsIHNlY3Rpb24sIG9wdGlvbiwgKiwgcmF3PUZhbHNlLCB2YXJzPU5vbmUsCisgICAgICAgICAgICAgICBmYWxsYmFjaz1fVU5TRVQsICoqa3dhcmdzKToKKyAgICAgICAgcmV0dXJuIHNlbGYuX2dldF9jb252KHNlY3Rpb24sIG9wdGlvbiwgaW50LCByYXc9cmF3LCB2YXJzPXZhcnMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWxsYmFjaz1mYWxsYmFjaywgKiprd2FyZ3MpCiAKICAgICBkZWYgZ2V0ZmxvYXQoc2VsZiwgc2VjdGlvbiwgb3B0aW9uLCAqLCByYXc9RmFsc2UsIHZhcnM9Tm9uZSwKLSAgICAgICAgICAgICAgICAgZmFsbGJhY2s9X1VOU0VUKToKLSAgICAgICAgdHJ5OgotICAgICAgICAgICAgcmV0dXJuIHNlbGYuX2dldChzZWN0aW9uLCBmbG9hdCwgb3B0aW9uLCByYXc9cmF3LCB2YXJzPXZhcnMpCi0gICAgICAgIGV4Y2VwdCAoTm9TZWN0aW9uRXJyb3IsIE5vT3B0aW9uRXJyb3IpOgotICAgICAgICAgICAgaWYgZmFsbGJhY2sgaXMgX1VOU0VUOgotICAgICAgICAgICAgICAgIHJhaXNlCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIHJldHVybiBmYWxsYmFjaworICAgICAgICAgICAgICAgICBmYWxsYmFjaz1fVU5TRVQsICoqa3dhcmdzKToKKyAgICAgICAgcmV0dXJuIHNlbGYuX2dldF9jb252KHNlY3Rpb24sIG9wdGlvbiwgZmxvYXQsIHJhdz1yYXcsIHZhcnM9dmFycywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhbGxiYWNrPWZhbGxiYWNrLCAqKmt3YXJncykKIAogICAgIGRlZiBnZXRib29sZWFuKHNlbGYsIHNlY3Rpb24sIG9wdGlvbiwgKiwgcmF3PUZhbHNlLCB2YXJzPU5vbmUsCi0gICAgICAgICAgICAgICAgICAgZmFsbGJhY2s9X1VOU0VUKToKLSAgICAgICAgdHJ5OgotICAgICAgICAgICAgcmV0dXJuIHNlbGYuX2dldChzZWN0aW9uLCBzZWxmLl9jb252ZXJ0X3RvX2Jvb2xlYW4sIG9wdGlvbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmF3PXJhdywgdmFycz12YXJzKQotICAgICAgICBleGNlcHQgKE5vU2VjdGlvbkVycm9yLCBOb09wdGlvbkVycm9yKToKLSAgICAgICAgICAgIGlmIGZhbGxiYWNrIGlzIF9VTlNFVDoKLSAgICAgICAgICAgICAgICByYWlzZQotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICByZXR1cm4gZmFsbGJhY2sKKyAgICAgICAgICAgICAgICAgICBmYWxsYmFjaz1fVU5TRVQsICoqa3dhcmdzKToKKyAgICAgICAgcmV0dXJuIHNlbGYuX2dldF9jb252KHNlY3Rpb24sIG9wdGlvbiwgc2VsZi5fY29udmVydF90b19ib29sZWFuLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmF3PXJhdywgdmFycz12YXJzLCBmYWxsYmFjaz1mYWxsYmFjaywgKiprd2FyZ3MpCiAKICAgICBkZWYgaXRlbXMoc2VsZiwgc2VjdGlvbj1fVU5TRVQsIHJhdz1GYWxzZSwgdmFycz1Ob25lKToKICAgICAgICAgIiIiUmV0dXJuIGEgbGlzdCBvZiAobmFtZSwgdmFsdWUpIHR1cGxlcyBmb3IgZWFjaCBvcHRpb24gaW4gYSBzZWN0aW9uLgpAQCAtODc2LDcgKzg5Niw3IEBACiAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgc2VjdGRpY3QgPSBzZWxmLl9zZWN0aW9uc1tzZWN0aW9uXQogICAgICAgICAgICAgZXhjZXB0IEtleUVycm9yOgotICAgICAgICAgICAgICAgIHJhaXNlIE5vU2VjdGlvbkVycm9yKHNlY3Rpb24pCisgICAgICAgICAgICAgICAgcmFpc2UgTm9TZWN0aW9uRXJyb3Ioc2VjdGlvbikgZnJvbSBOb25lCiAgICAgICAgIHNlY3RkaWN0W3NlbGYub3B0aW9ueGZvcm0ob3B0aW9uKV0gPSB2YWx1ZQogCiAgICAgZGVmIHdyaXRlKHNlbGYsIGZwLCBzcGFjZV9hcm91bmRfZGVsaW1pdGVycz1UcnVlKToKQEAgLTkxNyw3ICs5MzcsNyBAQAogICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgIHNlY3RkaWN0ID0gc2VsZi5fc2VjdGlvbnNbc2VjdGlvbl0KICAgICAgICAgICAgIGV4Y2VwdCBLZXlFcnJvcjoKLSAgICAgICAgICAgICAgICByYWlzZSBOb1NlY3Rpb25FcnJvcihzZWN0aW9uKQorICAgICAgICAgICAgICAgIHJhaXNlIE5vU2VjdGlvbkVycm9yKHNlY3Rpb24pIGZyb20gTm9uZQogICAgICAgICBvcHRpb24gPSBzZWxmLm9wdGlvbnhmb3JtKG9wdGlvbikKICAgICAgICAgZXhpc3RlZCA9IG9wdGlvbiBpbiBzZWN0ZGljdAogICAgICAgICBpZiBleGlzdGVkOgpAQCAtMTE1NCw2ICsxMTc0LDEwIEBACiAgICAgICAgICAgICBpZiBub3QgaXNpbnN0YW5jZSh2YWx1ZSwgc3RyKToKICAgICAgICAgICAgICAgICByYWlzZSBUeXBlRXJyb3IoIm9wdGlvbiB2YWx1ZXMgbXVzdCBiZSBzdHJpbmdzIikKIAorICAgIEBwcm9wZXJ0eQorICAgIGRlZiBjb252ZXJ0ZXJzKHNlbGYpOgorICAgICAgICByZXR1cm4gc2VsZi5fY29udmVydGVycworCiAKIGNsYXNzIENvbmZpZ1BhcnNlcihSYXdDb25maWdQYXJzZXIpOgogICAgICIiIkNvbmZpZ1BhcnNlciBpbXBsZW1lbnRpbmcgaW50ZXJwb2xhdGlvbi4iIiIKQEAgLTExOTQsNiArMTIxOCwxMCBAQAogICAgICAgICAiIiJDcmVhdGVzIGEgdmlldyBvbiBhIHNlY3Rpb24gb2YgdGhlIHNwZWNpZmllZCBgbmFtZWAgaW4gYHBhcnNlcmAuIiIiCiAgICAgICAgIHNlbGYuX3BhcnNlciA9IHBhcnNlcgogICAgICAgICBzZWxmLl9uYW1lID0gbmFtZQorICAgICAgICBmb3IgY29udiBpbiBwYXJzZXIuY29udmVydGVyczoKKyAgICAgICAgICAgIGtleSA9ICdnZXQnICsgY29udgorICAgICAgICAgICAgZ2V0dGVyID0gZnVuY3Rvb2xzLnBhcnRpYWwoc2VsZi5nZXQsIF9pbXBsPWdldGF0dHIocGFyc2VyLCBrZXkpKQorICAgICAgICAgICAgc2V0YXR0cihzZWxmLCBrZXksIGdldHRlcikKIAogICAgIGRlZiBfX3JlcHJfXyhzZWxmKToKICAgICAgICAgcmV0dXJuICc8U2VjdGlvbjoge30+Jy5mb3JtYXQoc2VsZi5fbmFtZSkKQEAgLTEyMjcsMjIgKzEyNTUsNiBAQAogICAgICAgICBlbHNlOgogICAgICAgICAgICAgcmV0dXJuIHNlbGYuX3BhcnNlci5kZWZhdWx0cygpCiAKLSAgICBkZWYgZ2V0KHNlbGYsIG9wdGlvbiwgZmFsbGJhY2s9Tm9uZSwgKiwgcmF3PUZhbHNlLCB2YXJzPU5vbmUpOgotICAgICAgICByZXR1cm4gc2VsZi5fcGFyc2VyLmdldChzZWxmLl9uYW1lLCBvcHRpb24sIHJhdz1yYXcsIHZhcnM9dmFycywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFsbGJhY2s9ZmFsbGJhY2spCi0KLSAgICBkZWYgZ2V0aW50KHNlbGYsIG9wdGlvbiwgZmFsbGJhY2s9Tm9uZSwgKiwgcmF3PUZhbHNlLCB2YXJzPU5vbmUpOgotICAgICAgICByZXR1cm4gc2VsZi5fcGFyc2VyLmdldGludChzZWxmLl9uYW1lLCBvcHRpb24sIHJhdz1yYXcsIHZhcnM9dmFycywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFsbGJhY2s9ZmFsbGJhY2spCi0KLSAgICBkZWYgZ2V0ZmxvYXQoc2VsZiwgb3B0aW9uLCBmYWxsYmFjaz1Ob25lLCAqLCByYXc9RmFsc2UsIHZhcnM9Tm9uZSk6Ci0gICAgICAgIHJldHVybiBzZWxmLl9wYXJzZXIuZ2V0ZmxvYXQoc2VsZi5fbmFtZSwgb3B0aW9uLCByYXc9cmF3LCB2YXJzPXZhcnMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFsbGJhY2s9ZmFsbGJhY2spCi0KLSAgICBkZWYgZ2V0Ym9vbGVhbihzZWxmLCBvcHRpb24sIGZhbGxiYWNrPU5vbmUsICosIHJhdz1GYWxzZSwgdmFycz1Ob25lKToKLSAgICAgICAgcmV0dXJuIHNlbGYuX3BhcnNlci5nZXRib29sZWFuKHNlbGYuX25hbWUsIG9wdGlvbiwgcmF3PXJhdywgdmFycz12YXJzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFsbGJhY2s9ZmFsbGJhY2spCi0KICAgICBAcHJvcGVydHkKICAgICBkZWYgcGFyc2VyKHNlbGYpOgogICAgICAgICAjIFRoZSBwYXJzZXIgb2JqZWN0IG9mIHRoZSBwcm94eSBpcyByZWFkLW9ubHkuCkBAIC0xMjUyLDMgKzEyNjQsNzcgQEAKICAgICBkZWYgbmFtZShzZWxmKToKICAgICAgICAgIyBUaGUgbmFtZSBvZiB0aGUgc2VjdGlvbiBvbiBhIHByb3h5IGlzIHJlYWQtb25seS4KICAgICAgICAgcmV0dXJuIHNlbGYuX25hbWUKKworICAgIGRlZiBnZXQoc2VsZiwgb3B0aW9uLCBmYWxsYmFjaz1Ob25lLCAqLCByYXc9RmFsc2UsIHZhcnM9Tm9uZSwKKyAgICAgICAgICAgIF9pbXBsPU5vbmUsICoqa3dhcmdzKToKKyAgICAgICAgIiIiR2V0IGFuIG9wdGlvbiB2YWx1ZS4KKworICAgICAgICBVbmxlc3MgYGZhbGxiYWNrYCBpcyBwcm92aWRlZCwgYE5vbmVgIHdpbGwgYmUgcmV0dXJuZWQgaWYgdGhlIG9wdGlvbgorICAgICAgICBpcyBub3QgZm91bmQuCisKKyAgICAgICAgIiIiCisgICAgICAgICMgSWYgYF9pbXBsYCBpcyBwcm92aWRlZCwgaXQgc2hvdWxkIGJlIGEgZ2V0dGVyIG1ldGhvZCBvbiB0aGUgcGFyc2VyCisgICAgICAgICMgb2JqZWN0IHRoYXQgcHJvdmlkZXMgdGhlIGRlc2lyZWQgdHlwZSBjb252ZXJzaW9uLgorICAgICAgICBpZiBub3QgX2ltcGw6CisgICAgICAgICAgICBfaW1wbCA9IHNlbGYuX3BhcnNlci5nZXQKKyAgICAgICAgcmV0dXJuIF9pbXBsKHNlbGYuX25hbWUsIG9wdGlvbiwgcmF3PXJhdywgdmFycz12YXJzLAorICAgICAgICAgICAgICAgICAgICAgZmFsbGJhY2s9ZmFsbGJhY2ssICoqa3dhcmdzKQorCisKK2NsYXNzIENvbnZlcnRlck1hcHBpbmcoTXV0YWJsZU1hcHBpbmcpOgorICAgICIiIkVuYWJsZXMgcmV1c2Ugb2YgZ2V0KigpIG1ldGhvZHMgYmV0d2VlbiB0aGUgcGFyc2VyIGFuZCBzZWN0aW9uIHByb3hpZXMuCisKKyAgICBJZiBhIHBhcnNlciBjbGFzcyBpbXBsZW1lbnRzIGEgZ2V0dGVyIGRpcmVjdGx5LCB0aGUgdmFsdWUgZm9yIHRoZSBnaXZlbgorICAgIGtleSB3aWxsIGJlIGBgTm9uZWBgLiBUaGUgcHJlc2VuY2Ugb2YgdGhlIGNvbnZlcnRlciBuYW1lIGhlcmUgZW5hYmxlcworICAgIHNlY3Rpb24gcHJveGllcyB0byBmaW5kIGFuZCB1c2UgdGhlIGltcGxlbWVudGF0aW9uIG9uIHRoZSBwYXJzZXIgY2xhc3MuCisgICAgIiIiCisKKyAgICBHRVRURVJDUkUgPSByZS5jb21waWxlKHIiXmdldCg/UDxuYW1lPi4rKSQiKQorCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIHBhcnNlcik6CisgICAgICAgIHNlbGYuX3BhcnNlciA9IHBhcnNlcgorICAgICAgICBzZWxmLl9kYXRhID0ge30KKyAgICAgICAgZm9yIGdldHRlciBpbiBkaXIoc2VsZi5fcGFyc2VyKToKKyAgICAgICAgICAgIG0gPSBzZWxmLkdFVFRFUkNSRS5tYXRjaChnZXR0ZXIpCisgICAgICAgICAgICBpZiBub3QgbSBvciBub3QgY2FsbGFibGUoZ2V0YXR0cihzZWxmLl9wYXJzZXIsIGdldHRlcikpOgorICAgICAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgICAgICBzZWxmLl9kYXRhW20uZ3JvdXAoJ25hbWUnKV0gPSBOb25lICAgIyBTZWUgY2xhc3MgZG9jc3RyaW5nLgorCisgICAgZGVmIF9fZ2V0aXRlbV9fKHNlbGYsIGtleSk6CisgICAgICAgIHJldHVybiBzZWxmLl9kYXRhW2tleV0KKworICAgIGRlZiBfX3NldGl0ZW1fXyhzZWxmLCBrZXksIHZhbHVlKToKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgayA9ICdnZXQnICsga2V5CisgICAgICAgIGV4Y2VwdCBUeXBlRXJyb3I6CisgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCdJbmNvbXBhdGlibGUga2V5OiB7fSAodHlwZToge30pJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnJy5mb3JtYXQoa2V5LCB0eXBlKGtleSkpKQorICAgICAgICBpZiBrID09ICdnZXQnOgorICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcignSW5jb21wYXRpYmxlIGtleTogY2Fubm90IHVzZSAiIiBhcyBhIG5hbWUnKQorICAgICAgICBzZWxmLl9kYXRhW2tleV0gPSB2YWx1ZQorICAgICAgICBmdW5jID0gZnVuY3Rvb2xzLnBhcnRpYWwoc2VsZi5fcGFyc2VyLl9nZXRfY29udiwgY29udj12YWx1ZSkKKyAgICAgICAgZnVuYy5jb252ZXJ0ZXIgPSB2YWx1ZQorICAgICAgICBzZXRhdHRyKHNlbGYuX3BhcnNlciwgaywgZnVuYykKKyAgICAgICAgZm9yIHByb3h5IGluIHNlbGYuX3BhcnNlci52YWx1ZXMoKToKKyAgICAgICAgICAgIGdldHRlciA9IGZ1bmN0b29scy5wYXJ0aWFsKHByb3h5LmdldCwgX2ltcGw9ZnVuYykKKyAgICAgICAgICAgIHNldGF0dHIocHJveHksIGssIGdldHRlcikKKworICAgIGRlZiBfX2RlbGl0ZW1fXyhzZWxmLCBrZXkpOgorICAgICAgICB0cnk6CisgICAgICAgICAgICBrID0gJ2dldCcgKyAoa2V5IG9yIE5vbmUpCisgICAgICAgIGV4Y2VwdCBUeXBlRXJyb3I6CisgICAgICAgICAgICByYWlzZSBLZXlFcnJvcihrZXkpCisgICAgICAgIGRlbCBzZWxmLl9kYXRhW2tleV0KKyAgICAgICAgZm9yIGluc3QgaW4gaXRlcnRvb2xzLmNoYWluKChzZWxmLl9wYXJzZXIsKSwgc2VsZi5fcGFyc2VyLnZhbHVlcygpKToKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICBkZWxhdHRyKGluc3QsIGspCisgICAgICAgICAgICBleGNlcHQgQXR0cmlidXRlRXJyb3I6CisgICAgICAgICAgICAgICAgIyBkb24ndCByYWlzZSBzaW5jZSB0aGUgZW50cnkgd2FzIHByZXNlbnQgaW4gX2RhdGEsIHNpbGVudGx5CisgICAgICAgICAgICAgICAgIyBjbGVhbiB1cAorICAgICAgICAgICAgICAgIGNvbnRpbnVlCisKKyAgICBkZWYgX19pdGVyX18oc2VsZik6CisgICAgICAgIHJldHVybiBpdGVyKHNlbGYuX2RhdGEpCisKKyAgICBkZWYgX19sZW5fXyhzZWxmKToKKyAgICAgICAgcmV0dXJuIGxlbihzZWxmLl9kYXRhKQpkaWZmIC0tZ2l0IGEvTGliL2NvbnRleHRsaWIucHkgYi9MaWIvY29udGV4dGxpYi5weQppbmRleCA4MmVlOTU1Li4yZmJjOTBjIDEwMDY0NAotLS0gYS9MaWIvY29udGV4dGxpYi5weQorKysgYi9MaWIvY29udGV4dGxpYi5weQpAQCAtNSw3ICs1LDcgQEAKIGZyb20gZnVuY3Rvb2xzIGltcG9ydCB3cmFwcwogCiBfX2FsbF9fID0gWyJjb250ZXh0bWFuYWdlciIsICJjbG9zaW5nIiwgIkNvbnRleHREZWNvcmF0b3IiLCAiRXhpdFN0YWNrIiwKLSAgICAgICAgICAgInJlZGlyZWN0X3N0ZG91dCIsICJzdXBwcmVzcyJdCisgICAgICAgICAgICJyZWRpcmVjdF9zdGRvdXQiLCAicmVkaXJlY3Rfc3RkZXJyIiwgInN1cHByZXNzIl0KIAogCiBjbGFzcyBDb250ZXh0RGVjb3JhdG9yKG9iamVjdCk6CkBAIC0xNTEsOCArMTUxLDI3IEBACiAgICAgZGVmIF9fZXhpdF9fKHNlbGYsICpleGNfaW5mbyk6CiAgICAgICAgIHNlbGYudGhpbmcuY2xvc2UoKQogCi1jbGFzcyByZWRpcmVjdF9zdGRvdXQ6Ci0gICAgIiIiQ29udGV4dCBtYW5hZ2VyIGZvciB0ZW1wb3JhcmlseSByZWRpcmVjdGluZyBzdGRvdXQgdG8gYW5vdGhlciBmaWxlCisKK2NsYXNzIF9SZWRpcmVjdFN0cmVhbToKKworICAgIF9zdHJlYW0gPSBOb25lCisKKyAgICBkZWYgX19pbml0X18oc2VsZiwgbmV3X3RhcmdldCk6CisgICAgICAgIHNlbGYuX25ld190YXJnZXQgPSBuZXdfdGFyZ2V0CisgICAgICAgICMgV2UgdXNlIGEgbGlzdCBvZiBvbGQgdGFyZ2V0cyB0byBtYWtlIHRoaXMgQ00gcmUtZW50cmFudAorICAgICAgICBzZWxmLl9vbGRfdGFyZ2V0cyA9IFtdCisKKyAgICBkZWYgX19lbnRlcl9fKHNlbGYpOgorICAgICAgICBzZWxmLl9vbGRfdGFyZ2V0cy5hcHBlbmQoZ2V0YXR0cihzeXMsIHNlbGYuX3N0cmVhbSkpCisgICAgICAgIHNldGF0dHIoc3lzLCBzZWxmLl9zdHJlYW0sIHNlbGYuX25ld190YXJnZXQpCisgICAgICAgIHJldHVybiBzZWxmLl9uZXdfdGFyZ2V0CisKKyAgICBkZWYgX19leGl0X18oc2VsZiwgZXhjdHlwZSwgZXhjaW5zdCwgZXhjdGIpOgorICAgICAgICBzZXRhdHRyKHN5cywgc2VsZi5fc3RyZWFtLCBzZWxmLl9vbGRfdGFyZ2V0cy5wb3AoKSkKKworCitjbGFzcyByZWRpcmVjdF9zdGRvdXQoX1JlZGlyZWN0U3RyZWFtKToKKyAgICAiIiJDb250ZXh0IG1hbmFnZXIgZm9yIHRlbXBvcmFyaWx5IHJlZGlyZWN0aW5nIHN0ZG91dCB0byBhbm90aGVyIGZpbGUuCiAKICAgICAgICAgIyBIb3cgdG8gc2VuZCBoZWxwKCkgdG8gc3RkZXJyCiAgICAgICAgIHdpdGggcmVkaXJlY3Rfc3Rkb3V0KHN5cy5zdGRlcnIpOgpAQCAtMTY0LDE4ICsxODMsMTMgQEAKICAgICAgICAgICAgICAgICBoZWxwKHBvdykKICAgICAiIiIKIAotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBuZXdfdGFyZ2V0KToKLSAgICAgICAgc2VsZi5fbmV3X3RhcmdldCA9IG5ld190YXJnZXQKLSAgICAgICAgIyBXZSB1c2UgYSBsaXN0IG9mIG9sZCB0YXJnZXRzIHRvIG1ha2UgdGhpcyBDTSByZS1lbnRyYW50Ci0gICAgICAgIHNlbGYuX29sZF90YXJnZXRzID0gW10KKyAgICBfc3RyZWFtID0gInN0ZG91dCIKIAotICAgIGRlZiBfX2VudGVyX18oc2VsZik6Ci0gICAgICAgIHNlbGYuX29sZF90YXJnZXRzLmFwcGVuZChzeXMuc3Rkb3V0KQotICAgICAgICBzeXMuc3Rkb3V0ID0gc2VsZi5fbmV3X3RhcmdldAotICAgICAgICByZXR1cm4gc2VsZi5fbmV3X3RhcmdldAogCi0gICAgZGVmIF9fZXhpdF9fKHNlbGYsIGV4Y3R5cGUsIGV4Y2luc3QsIGV4Y3RiKToKLSAgICAgICAgc3lzLnN0ZG91dCA9IHNlbGYuX29sZF90YXJnZXRzLnBvcCgpCitjbGFzcyByZWRpcmVjdF9zdGRlcnIoX1JlZGlyZWN0U3RyZWFtKToKKyAgICAiIiJDb250ZXh0IG1hbmFnZXIgZm9yIHRlbXBvcmFyaWx5IHJlZGlyZWN0aW5nIHN0ZGVyciB0byBhbm90aGVyIGZpbGUuIiIiCisKKyAgICBfc3RyZWFtID0gInN0ZGVyciIKIAogCiBjbGFzcyBzdXBwcmVzczoKZGlmZiAtLWdpdCBhL0xpYi9jb3B5LnB5IGIvTGliL2NvcHkucHkKaW5kZXggYmI4ODQwZS4uMzgzNjA5YiAxMDA2NDQKLS0tIGEvTGliL2NvcHkucHkKKysrIGIvTGliL2NvcHkucHkKQEAgLTIyMSwxNyArMjIxLDE1IEBACiBkW2xpc3RdID0gX2RlZXBjb3B5X2xpc3QKIAogZGVmIF9kZWVwY29weV90dXBsZSh4LCBtZW1vKToKLSAgICB5ID0gW10KLSAgICBmb3IgYSBpbiB4OgotICAgICAgICB5LmFwcGVuZChkZWVwY29weShhLCBtZW1vKSkKKyAgICB5ID0gW2RlZXBjb3B5KGEsIG1lbW8pIGZvciBhIGluIHhdCiAgICAgIyBXZSdyZSBub3QgZ29pbmcgdG8gcHV0IHRoZSB0dXBsZSBpbiB0aGUgbWVtbywgYnV0IGl0J3Mgc3RpbGwgaW1wb3J0YW50IHdlCiAgICAgIyBjaGVjayBmb3IgaXQsIGluIGNhc2UgdGhlIHR1cGxlIGNvbnRhaW5zIHJlY3Vyc2l2ZSBtdXRhYmxlIHN0cnVjdHVyZXMuCiAgICAgdHJ5OgogICAgICAgICByZXR1cm4gbWVtb1tpZCh4KV0KICAgICBleGNlcHQgS2V5RXJyb3I6CiAgICAgICAgIHBhc3MKLSAgICBmb3IgaSBpbiByYW5nZShsZW4oeCkpOgotICAgICAgICBpZiB4W2ldIGlzIG5vdCB5W2ldOgorICAgIGZvciBrLCBqIGluIHppcCh4LCB5KToKKyAgICAgICAgaWYgayBpcyBub3QgajoKICAgICAgICAgICAgIHkgPSB0dXBsZSh5KQogICAgICAgICAgICAgYnJlYWsKICAgICBlbHNlOgpkaWZmIC0tZ2l0IGEvTGliL2N0eXBlcy9fX2luaXRfXy5weSBiL0xpYi9jdHlwZXMvX19pbml0X18ucHkKaW5kZXggNWM4MDNmZi4uMDU1Mjk0YyAxMDA2NDQKLS0tIGEvTGliL2N0eXBlcy9fX2luaXRfXy5weQorKysgYi9MaWIvY3R5cGVzL19faW5pdF9fLnB5CkBAIC0zNTMsNyArMzUzLDcgQEAKICAgICAgICAgICAgIHNlbGYuX2hhbmRsZSA9IGhhbmRsZQogCiAgICAgZGVmIF9fcmVwcl9fKHNlbGYpOgotICAgICAgICByZXR1cm4gIjwlcyAnJXMnLCBoYW5kbGUgJXggYXQgJXg+IiAlIFwKKyAgICAgICAgcmV0dXJuICI8JXMgJyVzJywgaGFuZGxlICV4IGF0ICUjeD4iICUgXAogICAgICAgICAgICAgICAgKHNlbGYuX19jbGFzc19fLl9fbmFtZV9fLCBzZWxmLl9uYW1lLAogICAgICAgICAgICAgICAgIChzZWxmLl9oYW5kbGUgJiAoX3N5cy5tYXhzaXplKjIgKyAxKSksCiAgICAgICAgICAgICAgICAgaWQoc2VsZikgJiAoX3N5cy5tYXhzaXplKjIgKyAxKSkKZGlmZiAtLWdpdCBhL0xpYi9jdHlwZXMvX2VuZGlhbi5weSBiL0xpYi9jdHlwZXMvX2VuZGlhbi5weQppbmRleCBkYWU2NWZjLi4zNzQ0NGJkIDEwMDY0NAotLS0gYS9MaWIvY3R5cGVzL19lbmRpYW4ucHkKKysrIGIvTGliL2N0eXBlcy9fZW5kaWFuLnB5CkBAIC00NSw2ICs0NSw3IEBACiAKICAgICBjbGFzcyBCaWdFbmRpYW5TdHJ1Y3R1cmUoU3RydWN0dXJlLCBtZXRhY2xhc3M9X3N3YXBwZWRfbWV0YSk6CiAgICAgICAgICIiIlN0cnVjdHVyZSB3aXRoIGJpZyBlbmRpYW4gYnl0ZSBvcmRlciIiIgorICAgICAgICBfX3Nsb3RzX18gPSAoKQogICAgICAgICBfc3dhcHBlZGJ5dGVzXyA9IE5vbmUKIAogZWxpZiBzeXMuYnl0ZW9yZGVyID09ICJiaWciOgpAQCAtNTMsNiArNTQsNyBAQAogICAgIEJpZ0VuZGlhblN0cnVjdHVyZSA9IFN0cnVjdHVyZQogICAgIGNsYXNzIExpdHRsZUVuZGlhblN0cnVjdHVyZShTdHJ1Y3R1cmUsIG1ldGFjbGFzcz1fc3dhcHBlZF9tZXRhKToKICAgICAgICAgIiIiU3RydWN0dXJlIHdpdGggbGl0dGxlIGVuZGlhbiBieXRlIG9yZGVyIiIiCisgICAgICAgIF9fc2xvdHNfXyA9ICgpCiAgICAgICAgIF9zd2FwcGVkYnl0ZXNfID0gTm9uZQogCiBlbHNlOgpkaWZmIC0tZ2l0IGEvTGliL2N0eXBlcy90ZXN0L3Rlc3RfYnl0ZXN3YXAucHkgYi9MaWIvY3R5cGVzL3Rlc3QvdGVzdF9ieXRlc3dhcC5weQppbmRleCA0MjdiYjhiLi4wMWM5N2U4IDEwMDY0NAotLS0gYS9MaWIvY3R5cGVzL3Rlc3QvdGVzdF9ieXRlc3dhcC5weQorKysgYi9MaWIvY3R5cGVzL3Rlc3QvdGVzdF9ieXRlc3dhcC5weQpAQCAtMjIsNiArMjIsMjYgQEAKICAgICAgICAgICAgIHNldGF0dHIoYml0cywgImklcyIgJSBpLCAxKQogICAgICAgICAgICAgZHVtcChiaXRzKQogCisgICAgZGVmIHRlc3Rfc2xvdHMoc2VsZik6CisgICAgICAgIGNsYXNzIEJpZ1BvaW50KEJpZ0VuZGlhblN0cnVjdHVyZSk6CisgICAgICAgICAgICBfX3Nsb3RzX18gPSAoKQorICAgICAgICAgICAgX2ZpZWxkc18gPSBbKCJ4IiwgY19pbnQpLCAoInkiLCBjX2ludCldCisKKyAgICAgICAgY2xhc3MgTG93UG9pbnQoTGl0dGxlRW5kaWFuU3RydWN0dXJlKToKKyAgICAgICAgICAgIF9fc2xvdHNfXyA9ICgpCisgICAgICAgICAgICBfZmllbGRzXyA9IFsoIngiLCBjX2ludCksICgieSIsIGNfaW50KV0KKworICAgICAgICBiaWcgPSBCaWdQb2ludCgpCisgICAgICAgIGxpdHRsZSA9IExvd1BvaW50KCkKKyAgICAgICAgYmlnLnggPSA0CisgICAgICAgIGJpZy55ID0gMgorICAgICAgICBsaXR0bGUueCA9IDIKKyAgICAgICAgbGl0dGxlLnkgPSA0CisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoQXR0cmlidXRlRXJyb3IpOgorICAgICAgICAgICAgYmlnLnogPSA0MgorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKEF0dHJpYnV0ZUVycm9yKToKKyAgICAgICAgICAgIGxpdHRsZS56ID0gMjQKKwogICAgIGRlZiB0ZXN0X2VuZGlhbl9zaG9ydChzZWxmKToKICAgICAgICAgaWYgc3lzLmJ5dGVvcmRlciA9PSAibGl0dGxlIjoKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXMoY19zaG9ydC5fX2N0eXBlX2xlX18sIGNfc2hvcnQpCmRpZmYgLS1naXQgYS9MaWIvY3R5cGVzL3Rlc3QvdGVzdF9wb2ludGVycy5weSBiL0xpYi9jdHlwZXMvdGVzdC90ZXN0X3BvaW50ZXJzLnB5CmluZGV4IDRjZDNhN2EuLjc4ZTMzNTcgMTAwNjQ0Ci0tLSBhL0xpYi9jdHlwZXMvdGVzdC90ZXN0X3BvaW50ZXJzLnB5CisrKyBiL0xpYi9jdHlwZXMvdGVzdC90ZXN0X3BvaW50ZXJzLnB5CkBAIC0yNCw3ICsyNCwxMCBAQAogICAgIGRlZiB0ZXN0X3Bhc3NfcG9pbnRlcnMoc2VsZik6CiAgICAgICAgIGRsbCA9IENETEwoX2N0eXBlc190ZXN0Ll9fZmlsZV9fKQogICAgICAgICBmdW5jID0gZGxsLl90ZXN0ZnVuY19wX3AKLSAgICAgICAgZnVuYy5yZXN0eXBlID0gY19sb25nCisgICAgICAgIGlmIHNpemVvZihjX2xvbmdsb25nKSA9PSBzaXplb2YoY192b2lkX3ApOgorICAgICAgICAgICAgZnVuYy5yZXN0eXBlID0gY19sb25nbG9uZworICAgICAgICBlbHNlOgorICAgICAgICAgICAgZnVuYy5yZXN0eXBlID0gY19sb25nCiAKICAgICAgICAgaSA9IGNfaW50KDEyMzQ1Njc4KQogIyMgICAgICAgIGZ1bmMuYXJndHlwZXMgPSAoUE9JTlRFUihjX2ludCksKQpkaWZmIC0tZ2l0IGEvTGliL2N0eXBlcy90ZXN0L3Rlc3RfcHJvdG90eXBlcy5weSBiL0xpYi9jdHlwZXMvdGVzdC90ZXN0X3Byb3RvdHlwZXMucHkKaW5kZXggODE4YzExMS4uY2QwYzY0OSAxMDA2NDQKLS0tIGEvTGliL2N0eXBlcy90ZXN0L3Rlc3RfcHJvdG90eXBlcy5weQorKysgYi9MaWIvY3R5cGVzL3Rlc3QvdGVzdF9wcm90b3R5cGVzLnB5CkBAIC02OSw3ICs2OSwxMCBAQAogCiAgICAgZGVmIHRlc3RfaW50X3BvaW50ZXJfYXJnKHNlbGYpOgogICAgICAgICBmdW5jID0gdGVzdGRsbC5fdGVzdGZ1bmNfcF9wCi0gICAgICAgIGZ1bmMucmVzdHlwZSA9IGNfbG9uZworICAgICAgICBpZiBzaXplb2YoY19sb25nbG9uZykgPT0gc2l6ZW9mKGNfdm9pZF9wKToKKyAgICAgICAgICAgIGZ1bmMucmVzdHlwZSA9IGNfbG9uZ2xvbmcKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGZ1bmMucmVzdHlwZSA9IGNfbG9uZwogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKDAsIGZ1bmMoMCkpCiAKICAgICAgICAgY2kgPSBjX2ludCgwKQpkaWZmIC0tZ2l0IGEvTGliL2N0eXBlcy91dGlsLnB5IGIvTGliL2N0eXBlcy91dGlsLnB5CmluZGV4IDU5NTExM2IuLjljMTk4OTkgMTAwNjQ0Ci0tLSBhL0xpYi9jdHlwZXMvdXRpbC5weQorKysgYi9MaWIvY3R5cGVzL3V0aWwucHkKQEAgLTE5LDYgKzE5LDggQEAKICAgICAgICAgaSA9IGkgKyBsZW4ocHJlZml4KQogICAgICAgICBzLCByZXN0ID0gc3lzLnZlcnNpb25baTpdLnNwbGl0KCIgIiwgMSkKICAgICAgICAgbWFqb3JWZXJzaW9uID0gaW50KHNbOi0yXSkgLSA2CisgICAgICAgIGlmIG1ham9yVmVyc2lvbiA+PSAxMzoKKyAgICAgICAgICAgIG1ham9yVmVyc2lvbiArPSAxCiAgICAgICAgIG1pbm9yVmVyc2lvbiA9IGludChzWzI6M10pIC8gMTAuMAogICAgICAgICAjIEkgZG9uJ3QgdGhpbmsgcGF0aHMgYXJlIGFmZmVjdGVkIGJ5IG1pbm9yIHZlcnNpb24gaW4gdmVyc2lvbiA2CiAgICAgICAgIGlmIG1ham9yVmVyc2lvbiA9PSA2OgpAQCAtMzYsOCArMzgsMTAgQEAKICAgICAgICAgICAgIHJldHVybiBOb25lCiAgICAgICAgIGlmIHZlcnNpb24gPD0gNjoKICAgICAgICAgICAgIGNsaWJuYW1lID0gJ21zdmNydCcKLSAgICAgICAgZWxzZToKKyAgICAgICAgZWxpZiB2ZXJzaW9uIDw9IDEzOgogICAgICAgICAgICAgY2xpYm5hbWUgPSAnbXN2Y3IlZCcgJSAodmVyc2lvbiAqIDEwKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgY2xpYm5hbWUgPSAnYXBwY3J0JWQnICUgKHZlcnNpb24gKiAxMCkKIAogICAgICAgICAjIElmIHB5dGhvbiB3YXMgYnVpbHQgd2l0aCBpbiBkZWJ1ZyBtb2RlCiAgICAgICAgIGltcG9ydCBpbXBvcnRsaWIubWFjaGluZXJ5CmRpZmYgLS1naXQgYS9MaWIvZGF0ZXRpbWUucHkgYi9MaWIvZGF0ZXRpbWUucHkKaW5kZXggNGM0NDJmMi4uZGU1NzQ3MiAxMDA2NDQKLS0tIGEvTGliL2RhdGV0aW1lLnB5CisrKyBiL0xpYi9kYXRldGltZS5weQpAQCAtMTIsNyArMTIsNyBAQAogCiBNSU5ZRUFSID0gMQogTUFYWUVBUiA9IDk5OTkKLV9NQVhPUkRJTkFMID0gMzY1MjA1OSAjIGRhdGUubWF4LnRvb3JkaW5hbCgpCitfTUFYT1JESU5BTCA9IDM2NTIwNTkgICMgZGF0ZS5tYXgudG9vcmRpbmFsKCkKIAogIyBVdGlsaXR5IGZ1bmN0aW9ucywgYWRhcHRlZCBmcm9tIFB5dGhvbidzIERlbW8vY2xhc3Nlcy9EYXRlcy5weSwgd2hpY2gKICMgYWxzbyBhc3N1bWVzIHRoZSBjdXJyZW50IEdyZWdvcmlhbiBjYWxlbmRhciBpbmRlZmluaXRlbHkgZXh0ZW5kZWQgaW4KQEAgLTI2LDcgKzI2LDcgQEAKICMgLTEgaXMgYSBwbGFjZWhvbGRlciBmb3IgaW5kZXhpbmcgcHVycG9zZXMuCiBfREFZU19JTl9NT05USCA9IFstMSwgMzEsIDI4LCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMxLCAzMCwgMzEsIDMwLCAzMV0KIAotX0RBWVNfQkVGT1JFX01PTlRIID0gWy0xXSAjIC0xIGlzIGEgcGxhY2Vob2xkZXIgZm9yIGluZGV4aW5nIHB1cnBvc2VzLgorX0RBWVNfQkVGT1JFX01PTlRIID0gWy0xXSAgIyAtMSBpcyBhIHBsYWNlaG9sZGVyIGZvciBpbmRleGluZyBwdXJwb3Nlcy4KIGRibSA9IDAKIGZvciBkaW0gaW4gX0RBWVNfSU5fTU9OVEhbMTpdOgogICAgIF9EQVlTX0JFRk9SRV9NT05USC5hcHBlbmQoZGJtKQpAQCAtMTYyLDkgKzE2Miw5IEBACiAjIENvcnJlY3RseSBzdWJzdGl0dXRlIGZvciAleiBhbmQgJVogZXNjYXBlcyBpbiBzdHJmdGltZSBmb3JtYXRzLgogZGVmIF93cmFwX3N0cmZ0aW1lKG9iamVjdCwgZm9ybWF0LCB0aW1ldHVwbGUpOgogICAgICMgRG9uJ3QgY2FsbCB1dGNvZmZzZXQoKSBvciB0em5hbWUoKSB1bmxlc3MgYWN0dWFsbHkgbmVlZGVkLgotICAgIGZyZXBsYWNlID0gTm9uZSAjIHRoZSBzdHJpbmcgdG8gdXNlIGZvciAlZgotICAgIHpyZXBsYWNlID0gTm9uZSAjIHRoZSBzdHJpbmcgdG8gdXNlIGZvciAlegotICAgIFpyZXBsYWNlID0gTm9uZSAjIHRoZSBzdHJpbmcgdG8gdXNlIGZvciAlWgorICAgIGZyZXBsYWNlID0gTm9uZSAgIyB0aGUgc3RyaW5nIHRvIHVzZSBmb3IgJWYKKyAgICB6cmVwbGFjZSA9IE5vbmUgICMgdGhlIHN0cmluZyB0byB1c2UgZm9yICV6CisgICAgWnJlcGxhY2UgPSBOb25lICAjIHRoZSBzdHJpbmcgdG8gdXNlIGZvciAlWgogCiAgICAgIyBTY2FuIGZvcm1hdCBmb3IgJXogYW5kICVaIGVzY2FwZXMsIHJlcGxhY2luZyBhcyBuZWVkZWQuCiAgICAgbmV3Zm9ybWF0ID0gW10KQEAgLTIxNywxMSArMjE3LDYgQEAKICAgICBuZXdmb3JtYXQgPSAiIi5qb2luKG5ld2Zvcm1hdCkKICAgICByZXR1cm4gX3RpbWUuc3RyZnRpbWUobmV3Zm9ybWF0LCB0aW1ldHVwbGUpCiAKLWRlZiBfY2FsbF90emluZm9fbWV0aG9kKHR6aW5mbywgbWV0aG5hbWUsIHR6aW5mb2FyZyk6Ci0gICAgaWYgdHppbmZvIGlzIE5vbmU6Ci0gICAgICAgIHJldHVybiBOb25lCi0gICAgcmV0dXJuIGdldGF0dHIodHppbmZvLCBtZXRobmFtZSkodHppbmZvYXJnKQotCiAjIEp1c3QgcmFpc2UgVHlwZUVycm9yIGlmIHRoZSBhcmcgaXNuJ3QgTm9uZSBvciBhIHN0cmluZy4KIGRlZiBfY2hlY2tfdHpuYW1lKG5hbWUpOgogICAgIGlmIG5hbWUgaXMgbm90IE5vbmUgYW5kIG5vdCBpc2luc3RhbmNlKG5hbWUsIHN0cik6CkBAIC0yNDUsMTMgKzI0MCwzMSBAQAogICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJ0emluZm8uJXMoKSBtdXN0IHJldHVybiBhIHdob2xlIG51bWJlciAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIm9mIG1pbnV0ZXMsIGdvdCAlcyIgJSAobmFtZSwgb2Zmc2V0KSkKICAgICBpZiBub3QgLXRpbWVkZWx0YSgxKSA8IG9mZnNldCA8IHRpbWVkZWx0YSgxKToKLSAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiJXMoKT0lcywgbXVzdCBiZSBtdXN0IGJlIHN0cmljdGx5IGJldHdlZW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgIiAtdGltZWRlbHRhKGhvdXJzPTI0KSBhbmQgdGltZWRlbHRhKGhvdXJzPTI0KSIKLSAgICAgICAgICAgICAgICAgICAgICAgICAlIChuYW1lLCBvZmZzZXQpKQorICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCIlcygpPSVzLCBtdXN0IGJlIG11c3QgYmUgc3RyaWN0bHkgYmV0d2VlbiAiCisgICAgICAgICAgICAgICAgICAgICAgICAgIi10aW1lZGVsdGEoaG91cnM9MjQpIGFuZCB0aW1lZGVsdGEoaG91cnM9MjQpIiAlCisgICAgICAgICAgICAgICAgICAgICAgICAgKG5hbWUsIG9mZnNldCkpCisKK2RlZiBfY2hlY2tfaW50X2ZpZWxkKHZhbHVlKToKKyAgICBpZiBpc2luc3RhbmNlKHZhbHVlLCBpbnQpOgorICAgICAgICByZXR1cm4gdmFsdWUKKyAgICBpZiBub3QgaXNpbnN0YW5jZSh2YWx1ZSwgZmxvYXQpOgorICAgICAgICB0cnk6CisgICAgICAgICAgICB2YWx1ZSA9IHZhbHVlLl9faW50X18oKQorICAgICAgICBleGNlcHQgQXR0cmlidXRlRXJyb3I6CisgICAgICAgICAgICBwYXNzCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBpZiBpc2luc3RhbmNlKHZhbHVlLCBpbnQpOgorICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZQorICAgICAgICAgICAgcmFpc2UgVHlwZUVycm9yKCdfX2ludF9fIHJldHVybmVkIG5vbi1pbnQgKHR5cGUgJXMpJyAlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZSh2YWx1ZSkuX19uYW1lX18pCisgICAgICAgIHJhaXNlIFR5cGVFcnJvcignYW4gaW50ZWdlciBpcyByZXF1aXJlZCAoZ290IHR5cGUgJXMpJyAlCisgICAgICAgICAgICAgICAgICAgICAgICB0eXBlKHZhbHVlKS5fX25hbWVfXykKKyAgICByYWlzZSBUeXBlRXJyb3IoJ2ludGVnZXIgYXJndW1lbnQgZXhwZWN0ZWQsIGdvdCBmbG9hdCcpCiAKIGRlZiBfY2hlY2tfZGF0ZV9maWVsZHMoeWVhciwgbW9udGgsIGRheSk6Ci0gICAgaWYgbm90IGlzaW5zdGFuY2UoeWVhciwgaW50KToKLSAgICAgICAgcmFpc2UgVHlwZUVycm9yKCdpbnQgZXhwZWN0ZWQnKQorICAgIHllYXIgPSBfY2hlY2tfaW50X2ZpZWxkKHllYXIpCisgICAgbW9udGggPSBfY2hlY2tfaW50X2ZpZWxkKG1vbnRoKQorICAgIGRheSA9IF9jaGVja19pbnRfZmllbGQoZGF5KQogICAgIGlmIG5vdCBNSU5ZRUFSIDw9IHllYXIgPD0gTUFYWUVBUjoKICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigneWVhciBtdXN0IGJlIGluICVkLi4lZCcgJSAoTUlOWUVBUiwgTUFYWUVBUiksIHllYXIpCiAgICAgaWYgbm90IDEgPD0gbW9udGggPD0gMTI6CkBAIC0yNTksMTAgKzI3MiwxMyBAQAogICAgIGRpbSA9IF9kYXlzX2luX21vbnRoKHllYXIsIG1vbnRoKQogICAgIGlmIG5vdCAxIDw9IGRheSA8PSBkaW06CiAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoJ2RheSBtdXN0IGJlIGluIDEuLiVkJyAlIGRpbSwgZGF5KQorICAgIHJldHVybiB5ZWFyLCBtb250aCwgZGF5CiAKIGRlZiBfY2hlY2tfdGltZV9maWVsZHMoaG91ciwgbWludXRlLCBzZWNvbmQsIG1pY3Jvc2Vjb25kKToKLSAgICBpZiBub3QgaXNpbnN0YW5jZShob3VyLCBpbnQpOgotICAgICAgICByYWlzZSBUeXBlRXJyb3IoJ2ludCBleHBlY3RlZCcpCisgICAgaG91ciA9IF9jaGVja19pbnRfZmllbGQoaG91cikKKyAgICBtaW51dGUgPSBfY2hlY2tfaW50X2ZpZWxkKG1pbnV0ZSkKKyAgICBzZWNvbmQgPSBfY2hlY2tfaW50X2ZpZWxkKHNlY29uZCkKKyAgICBtaWNyb3NlY29uZCA9IF9jaGVja19pbnRfZmllbGQobWljcm9zZWNvbmQpCiAgICAgaWYgbm90IDAgPD0gaG91ciA8PSAyMzoKICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcignaG91ciBtdXN0IGJlIGluIDAuLjIzJywgaG91cikKICAgICBpZiBub3QgMCA8PSBtaW51dGUgPD0gNTk6CkBAIC0yNzEsNiArMjg3LDcgQEAKICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcignc2Vjb25kIG11c3QgYmUgaW4gMC4uNTknLCBzZWNvbmQpCiAgICAgaWYgbm90IDAgPD0gbWljcm9zZWNvbmQgPD0gOTk5OTk5OgogICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCdtaWNyb3NlY29uZCBtdXN0IGJlIGluIDAuLjk5OTk5OScsIG1pY3Jvc2Vjb25kKQorICAgIHJldHVybiBob3VyLCBtaW51dGUsIHNlY29uZCwgbWljcm9zZWNvbmQKIAogZGVmIF9jaGVja190emluZm9fYXJnKHR6KToKICAgICBpZiB0eiBpcyBub3QgTm9uZSBhbmQgbm90IGlzaW5zdGFuY2UodHosIHR6aW5mbyk6CkBAIC0zMTYsNyArMzMzLDcgQEAKICAgICBSZXByZXNlbnRhdGlvbjogKGRheXMsIHNlY29uZHMsIG1pY3Jvc2Vjb25kcykuICBXaHk/ICBCZWNhdXNlIEkKICAgICBmZWx0IGxpa2UgaXQuCiAgICAgIiIiCi0gICAgX19zbG90c19fID0gJ19kYXlzJywgJ19zZWNvbmRzJywgJ19taWNyb3NlY29uZHMnCisgICAgX19zbG90c19fID0gJ19kYXlzJywgJ19zZWNvbmRzJywgJ19taWNyb3NlY29uZHMnLCAnX2hhc2hjb2RlJwogCiAgICAgZGVmIF9fbmV3X18oY2xzLCBkYXlzPTAsIHNlY29uZHM9MCwgbWljcm9zZWNvbmRzPTAsCiAgICAgICAgICAgICAgICAgbWlsbGlzZWNvbmRzPTAsIG1pbnV0ZXM9MCwgaG91cnM9MCwgd2Vla3M9MCk6CkBAIC0zODIsMzggKzM5OSwyNiBAQAogICAgICAgICAjIHNlY29uZHNmcmFjIGlzbid0IHJlZmVyZW5jZWQgYWdhaW4KIAogICAgICAgICBpZiBpc2luc3RhbmNlKG1pY3Jvc2Vjb25kcywgZmxvYXQpOgotICAgICAgICAgICAgbWljcm9zZWNvbmRzICs9IHVzZG91YmxlCi0gICAgICAgICAgICBtaWNyb3NlY29uZHMgPSByb3VuZChtaWNyb3NlY29uZHMsIDApCi0gICAgICAgICAgICBzZWNvbmRzLCBtaWNyb3NlY29uZHMgPSBkaXZtb2QobWljcm9zZWNvbmRzLCAxZTYpCi0gICAgICAgICAgICBhc3NlcnQgbWljcm9zZWNvbmRzID09IGludChtaWNyb3NlY29uZHMpCi0gICAgICAgICAgICBhc3NlcnQgc2Vjb25kcyA9PSBpbnQoc2Vjb25kcykKLSAgICAgICAgICAgIGRheXMsIHNlY29uZHMgPSBkaXZtb2Qoc2Vjb25kcywgMjQuKjM2MDAuKQotICAgICAgICAgICAgYXNzZXJ0IGRheXMgPT0gaW50KGRheXMpCi0gICAgICAgICAgICBhc3NlcnQgc2Vjb25kcyA9PSBpbnQoc2Vjb25kcykKLSAgICAgICAgICAgIGQgKz0gaW50KGRheXMpCi0gICAgICAgICAgICBzICs9IGludChzZWNvbmRzKSAgICMgY2FuJ3Qgb3ZlcmZsb3cKLSAgICAgICAgICAgIGFzc2VydCBpc2luc3RhbmNlKHMsIGludCkKLSAgICAgICAgICAgIGFzc2VydCBhYnMocykgPD0gMyAqIDI0ICogMzYwMAotICAgICAgICBlbHNlOgorICAgICAgICAgICAgbWljcm9zZWNvbmRzID0gcm91bmQobWljcm9zZWNvbmRzICsgdXNkb3VibGUpCiAgICAgICAgICAgICBzZWNvbmRzLCBtaWNyb3NlY29uZHMgPSBkaXZtb2QobWljcm9zZWNvbmRzLCAxMDAwMDAwKQogICAgICAgICAgICAgZGF5cywgc2Vjb25kcyA9IGRpdm1vZChzZWNvbmRzLCAyNCozNjAwKQogICAgICAgICAgICAgZCArPSBkYXlzCi0gICAgICAgICAgICBzICs9IGludChzZWNvbmRzKSAgICAjIGNhbid0IG92ZXJmbG93Ci0gICAgICAgICAgICBhc3NlcnQgaXNpbnN0YW5jZShzLCBpbnQpCi0gICAgICAgICAgICBhc3NlcnQgYWJzKHMpIDw9IDMgKiAyNCAqIDM2MDAKLSAgICAgICAgICAgIG1pY3Jvc2Vjb25kcyA9IGZsb2F0KG1pY3Jvc2Vjb25kcykKLSAgICAgICAgICAgIG1pY3Jvc2Vjb25kcyArPSB1c2RvdWJsZQotICAgICAgICAgICAgbWljcm9zZWNvbmRzID0gcm91bmQobWljcm9zZWNvbmRzLCAwKQorICAgICAgICAgICAgcyArPSBzZWNvbmRzCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBtaWNyb3NlY29uZHMgPSBpbnQobWljcm9zZWNvbmRzKQorICAgICAgICAgICAgc2Vjb25kcywgbWljcm9zZWNvbmRzID0gZGl2bW9kKG1pY3Jvc2Vjb25kcywgMTAwMDAwMCkKKyAgICAgICAgICAgIGRheXMsIHNlY29uZHMgPSBkaXZtb2Qoc2Vjb25kcywgMjQqMzYwMCkKKyAgICAgICAgICAgIGQgKz0gZGF5cworICAgICAgICAgICAgcyArPSBzZWNvbmRzCisgICAgICAgICAgICBtaWNyb3NlY29uZHMgPSByb3VuZChtaWNyb3NlY29uZHMgKyB1c2RvdWJsZSkKKyAgICAgICAgYXNzZXJ0IGlzaW5zdGFuY2UocywgaW50KQorICAgICAgICBhc3NlcnQgaXNpbnN0YW5jZShtaWNyb3NlY29uZHMsIGludCkKICAgICAgICAgYXNzZXJ0IGFicyhzKSA8PSAzICogMjQgKiAzNjAwCiAgICAgICAgIGFzc2VydCBhYnMobWljcm9zZWNvbmRzKSA8IDMuMWU2CiAKICAgICAgICAgIyBKdXN0IGEgbGl0dGxlIGJpdCBvZiBjYXJyeWluZyBwb3NzaWJsZSBmb3IgbWljcm9zZWNvbmRzIGFuZCBzZWNvbmRzLgotICAgICAgICBhc3NlcnQgaXNpbnN0YW5jZShtaWNyb3NlY29uZHMsIGZsb2F0KQotICAgICAgICBhc3NlcnQgaW50KG1pY3Jvc2Vjb25kcykgPT0gbWljcm9zZWNvbmRzCi0gICAgICAgIHVzID0gaW50KG1pY3Jvc2Vjb25kcykKLSAgICAgICAgc2Vjb25kcywgdXMgPSBkaXZtb2QodXMsIDEwMDAwMDApCi0gICAgICAgIHMgKz0gc2Vjb25kcyAgICAjIGNhbnQndCBvdmVyZmxvdwotICAgICAgICBhc3NlcnQgaXNpbnN0YW5jZShzLCBpbnQpCisgICAgICAgIHNlY29uZHMsIHVzID0gZGl2bW9kKG1pY3Jvc2Vjb25kcywgMTAwMDAwMCkKKyAgICAgICAgcyArPSBzZWNvbmRzCiAgICAgICAgIGRheXMsIHMgPSBkaXZtb2QocywgMjQqMzYwMCkKICAgICAgICAgZCArPSBkYXlzCiAKQEAgLTQyMSwyNyArNDI2LDMxIEBACiAgICAgICAgIGFzc2VydCBpc2luc3RhbmNlKHMsIGludCkgYW5kIDAgPD0gcyA8IDI0KjM2MDAKICAgICAgICAgYXNzZXJ0IGlzaW5zdGFuY2UodXMsIGludCkgYW5kIDAgPD0gdXMgPCAxMDAwMDAwCiAKLSAgICAgICAgc2VsZiA9IG9iamVjdC5fX25ld19fKGNscykKLQotICAgICAgICBzZWxmLl9kYXlzID0gZAotICAgICAgICBzZWxmLl9zZWNvbmRzID0gcwotICAgICAgICBzZWxmLl9taWNyb3NlY29uZHMgPSB1cwogICAgICAgICBpZiBhYnMoZCkgPiA5OTk5OTk5OTk6CiAgICAgICAgICAgICByYWlzZSBPdmVyZmxvd0Vycm9yKCJ0aW1lZGVsdGEgIyBvZiBkYXlzIGlzIHRvbyBsYXJnZTogJWQiICUgZCkKIAorICAgICAgICBzZWxmID0gb2JqZWN0Ll9fbmV3X18oY2xzKQorICAgICAgICBzZWxmLl9kYXlzID0gZAorICAgICAgICBzZWxmLl9zZWNvbmRzID0gcworICAgICAgICBzZWxmLl9taWNyb3NlY29uZHMgPSB1cworICAgICAgICBzZWxmLl9oYXNoY29kZSA9IC0xCiAgICAgICAgIHJldHVybiBzZWxmCiAKICAgICBkZWYgX19yZXByX18oc2VsZik6CiAgICAgICAgIGlmIHNlbGYuX21pY3Jvc2Vjb25kczoKLSAgICAgICAgICAgIHJldHVybiAiJXMoJWQsICVkLCAlZCkiICUgKCdkYXRldGltZS4nICsgc2VsZi5fX2NsYXNzX18uX19uYW1lX18sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9kYXlzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fc2Vjb25kcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX21pY3Jvc2Vjb25kcykKKyAgICAgICAgICAgIHJldHVybiAiJXMuJXMoJWQsICVkLCAlZCkiICUgKHNlbGYuX19jbGFzc19fLl9fbW9kdWxlX18sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9fY2xhc3NfXy5fX3F1YWxuYW1lX18sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9kYXlzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fc2Vjb25kcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX21pY3Jvc2Vjb25kcykKICAgICAgICAgaWYgc2VsZi5fc2Vjb25kczoKLSAgICAgICAgICAgIHJldHVybiAiJXMoJWQsICVkKSIgJSAoJ2RhdGV0aW1lLicgKyBzZWxmLl9fY2xhc3NfXy5fX25hbWVfXywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fZGF5cywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fc2Vjb25kcykKLSAgICAgICAgcmV0dXJuICIlcyglZCkiICUgKCdkYXRldGltZS4nICsgc2VsZi5fX2NsYXNzX18uX19uYW1lX18sIHNlbGYuX2RheXMpCisgICAgICAgICAgICByZXR1cm4gIiVzLiVzKCVkLCAlZCkiICUgKHNlbGYuX19jbGFzc19fLl9fbW9kdWxlX18sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX19jbGFzc19fLl9fcXVhbG5hbWVfXywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fZGF5cywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fc2Vjb25kcykKKyAgICAgICAgcmV0dXJuICIlcy4lcyglZCkiICUgKHNlbGYuX19jbGFzc19fLl9fbW9kdWxlX18sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9fY2xhc3NfXy5fX3F1YWxuYW1lX18sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9kYXlzKQogCiAgICAgZGVmIF9fc3RyX18oc2VsZik6CiAgICAgICAgIG1tLCBzcyA9IGRpdm1vZChzZWxmLl9zZWNvbmRzLCA2MCkKQEAgLTQ1Nyw3ICs0NjYsNyBAQAogCiAgICAgZGVmIHRvdGFsX3NlY29uZHMoc2VsZik6CiAgICAgICAgICIiIlRvdGFsIHNlY29uZHMgaW4gdGhlIGR1cmF0aW9uLiIiIgotICAgICAgICByZXR1cm4gKChzZWxmLmRheXMgKiA4NjQwMCArIHNlbGYuc2Vjb25kcykqMTAqKjYgKworICAgICAgICByZXR1cm4gKChzZWxmLmRheXMgKiA4NjQwMCArIHNlbGYuc2Vjb25kcykgKiAxMCoqNiArCiAgICAgICAgICAgICAgICAgc2VsZi5taWNyb3NlY29uZHMpIC8gMTAqKjYKIAogICAgICMgUmVhZC1vbmx5IGZpZWxkIGFjY2Vzc29ycwpAQCAtNTc4LDEyICs1ODcsNiBAQAogICAgICAgICBlbHNlOgogICAgICAgICAgICAgcmV0dXJuIEZhbHNlCiAKLSAgICBkZWYgX19uZV9fKHNlbGYsIG90aGVyKToKLSAgICAgICAgaWYgaXNpbnN0YW5jZShvdGhlciwgdGltZWRlbHRhKToKLSAgICAgICAgICAgIHJldHVybiBzZWxmLl9jbXAob3RoZXIpICE9IDAKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHJldHVybiBUcnVlCi0KICAgICBkZWYgX19sZV9fKHNlbGYsIG90aGVyKToKICAgICAgICAgaWYgaXNpbnN0YW5jZShvdGhlciwgdGltZWRlbHRhKToKICAgICAgICAgICAgIHJldHVybiBzZWxmLl9jbXAob3RoZXIpIDw9IDAKQEAgLTYxMyw3ICs2MTYsOSBAQAogICAgICAgICByZXR1cm4gX2NtcChzZWxmLl9nZXRzdGF0ZSgpLCBvdGhlci5fZ2V0c3RhdGUoKSkKIAogICAgIGRlZiBfX2hhc2hfXyhzZWxmKToKLSAgICAgICAgcmV0dXJuIGhhc2goc2VsZi5fZ2V0c3RhdGUoKSkKKyAgICAgICAgaWYgc2VsZi5faGFzaGNvZGUgPT0gLTE6CisgICAgICAgICAgICBzZWxmLl9oYXNoY29kZSA9IGhhc2goc2VsZi5fZ2V0c3RhdGUoKSkKKyAgICAgICAgcmV0dXJuIHNlbGYuX2hhc2hjb2RlCiAKICAgICBkZWYgX19ib29sX18oc2VsZik6CiAgICAgICAgIHJldHVybiAoc2VsZi5fZGF5cyAhPSAwIG9yCkBAIC02NjEsNyArNjY2LDcgQEAKICAgICBQcm9wZXJ0aWVzIChyZWFkb25seSk6CiAgICAgeWVhciwgbW9udGgsIGRheQogICAgICIiIgotICAgIF9fc2xvdHNfXyA9ICdfeWVhcicsICdfbW9udGgnLCAnX2RheScKKyAgICBfX3Nsb3RzX18gPSAnX3llYXInLCAnX21vbnRoJywgJ19kYXknLCAnX2hhc2hjb2RlJwogCiAgICAgZGVmIF9fbmV3X18oY2xzLCB5ZWFyLCBtb250aD1Ob25lLCBkYXk9Tm9uZSk6CiAgICAgICAgICIiIkNvbnN0cnVjdG9yLgpAQCAtNjcwLDE3ICs2NzUsMTkgQEAKIAogICAgICAgICB5ZWFyLCBtb250aCwgZGF5IChyZXF1aXJlZCwgYmFzZSAxKQogICAgICAgICAiIiIKLSAgICAgICAgaWYgKGlzaW5zdGFuY2UoeWVhciwgYnl0ZXMpIGFuZCBsZW4oeWVhcikgPT0gNCBhbmQKLSAgICAgICAgICAgIDEgPD0geWVhclsyXSA8PSAxMiBhbmQgbW9udGggaXMgTm9uZSk6ICAjIE1vbnRoIGlzIHNhbmUKKyAgICAgICAgaWYgbW9udGggaXMgTm9uZSBhbmQgaXNpbnN0YW5jZSh5ZWFyLCBieXRlcykgYW5kIGxlbih5ZWFyKSA9PSA0IGFuZCBcCisgICAgICAgICAgICAgICAgMSA8PSB5ZWFyWzJdIDw9IDEyOgogICAgICAgICAgICAgIyBQaWNrbGUgc3VwcG9ydAogICAgICAgICAgICAgc2VsZiA9IG9iamVjdC5fX25ld19fKGNscykKICAgICAgICAgICAgIHNlbGYuX19zZXRzdGF0ZSh5ZWFyKQorICAgICAgICAgICAgc2VsZi5faGFzaGNvZGUgPSAtMQogICAgICAgICAgICAgcmV0dXJuIHNlbGYKLSAgICAgICAgX2NoZWNrX2RhdGVfZmllbGRzKHllYXIsIG1vbnRoLCBkYXkpCisgICAgICAgIHllYXIsIG1vbnRoLCBkYXkgPSBfY2hlY2tfZGF0ZV9maWVsZHMoeWVhciwgbW9udGgsIGRheSkKICAgICAgICAgc2VsZiA9IG9iamVjdC5fX25ld19fKGNscykKICAgICAgICAgc2VsZi5feWVhciA9IHllYXIKICAgICAgICAgc2VsZi5fbW9udGggPSBtb250aAogICAgICAgICBzZWxmLl9kYXkgPSBkYXkKKyAgICAgICAgc2VsZi5faGFzaGNvZGUgPSAtMQogICAgICAgICByZXR1cm4gc2VsZgogCiAgICAgIyBBZGRpdGlvbmFsIGNvbnN0cnVjdG9ycwpAQCAtNzIwLDEwICs3MjcsMTEgQEAKICAgICAgICAgPj4+IHJlcHIoZHQpCiAgICAgICAgICdkYXRldGltZS5kYXRldGltZSgyMDEwLCAxLCAxLCAwLCAwLCB0emluZm89ZGF0ZXRpbWUudGltZXpvbmUudXRjKScKICAgICAgICAgIiIiCi0gICAgICAgIHJldHVybiAiJXMoJWQsICVkLCAlZCkiICUgKCdkYXRldGltZS4nICsgc2VsZi5fX2NsYXNzX18uX19uYW1lX18sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX3llYXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX21vbnRoLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9kYXkpCisgICAgICAgIHJldHVybiAiJXMuJXMoJWQsICVkLCAlZCkiICUgKHNlbGYuX19jbGFzc19fLl9fbW9kdWxlX18sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX19jbGFzc19fLl9fcXVhbG5hbWVfXywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5feWVhciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fbW9udGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX2RheSkKICAgICAjIFhYWCBUaGVzZSBzaG91bGRuJ3QgZGVwZW5kIG9uIHRpbWUubG9jYWx0aW1lKCksIGJlY2F1c2UgdGhhdAogICAgICMgY2xpcHMgdGhlIHVzYWJsZSBkYXRlcyB0byBbMTk3MCAuLiAyMDM4KS4gIEF0IGxlYXN0IGN0aW1lKCkgaXMKICAgICAjIGVhc2lseSBkb25lIHdpdGhvdXQgdXNpbmcgc3RyZnRpbWUoKSAtLSB0aGF0J3MgYmV0dGVyIHRvbyBiZWNhdXNlCkBAIC03NDMsNiArNzUxLDggQEAKICAgICAgICAgcmV0dXJuIF93cmFwX3N0cmZ0aW1lKHNlbGYsIGZtdCwgc2VsZi50aW1ldHVwbGUoKSkKIAogICAgIGRlZiBfX2Zvcm1hdF9fKHNlbGYsIGZtdCk6CisgICAgICAgIGlmIG5vdCBpc2luc3RhbmNlKGZtdCwgc3RyKToKKyAgICAgICAgICAgIHJhaXNlIFR5cGVFcnJvcigibXVzdCBiZSBzdHIsIG5vdCAlcyIgJSB0eXBlKGZtdCkuX19uYW1lX18pCiAgICAgICAgIGlmIGxlbihmbXQpICE9IDA6CiAgICAgICAgICAgICByZXR1cm4gc2VsZi5zdHJmdGltZShmbXQpCiAgICAgICAgIHJldHVybiBzdHIoc2VsZikKQEAgLTc5OSw3ICs4MDksNiBAQAogICAgICAgICAgICAgbW9udGggPSBzZWxmLl9tb250aAogICAgICAgICBpZiBkYXkgaXMgTm9uZToKICAgICAgICAgICAgIGRheSA9IHNlbGYuX2RheQotICAgICAgICBfY2hlY2tfZGF0ZV9maWVsZHMoeWVhciwgbW9udGgsIGRheSkKICAgICAgICAgcmV0dXJuIGRhdGUoeWVhciwgbW9udGgsIGRheSkKIAogICAgICMgQ29tcGFyaXNvbnMgb2YgZGF0ZSBvYmplY3RzIHdpdGggb3RoZXIuCkBAIC04MDksMTEgKzgxOCw2IEBACiAgICAgICAgICAgICByZXR1cm4gc2VsZi5fY21wKG90aGVyKSA9PSAwCiAgICAgICAgIHJldHVybiBOb3RJbXBsZW1lbnRlZAogCi0gICAgZGVmIF9fbmVfXyhzZWxmLCBvdGhlcik6Ci0gICAgICAgIGlmIGlzaW5zdGFuY2Uob3RoZXIsIGRhdGUpOgotICAgICAgICAgICAgcmV0dXJuIHNlbGYuX2NtcChvdGhlcikgIT0gMAotICAgICAgICByZXR1cm4gTm90SW1wbGVtZW50ZWQKLQogICAgIGRlZiBfX2xlX18oc2VsZiwgb3RoZXIpOgogICAgICAgICBpZiBpc2luc3RhbmNlKG90aGVyLCBkYXRlKToKICAgICAgICAgICAgIHJldHVybiBzZWxmLl9jbXAob3RoZXIpIDw9IDAKQEAgLTg0Miw3ICs4NDYsOSBAQAogCiAgICAgZGVmIF9faGFzaF9fKHNlbGYpOgogICAgICAgICAiSGFzaC4iCi0gICAgICAgIHJldHVybiBoYXNoKHNlbGYuX2dldHN0YXRlKCkpCisgICAgICAgIGlmIHNlbGYuX2hhc2hjb2RlID09IC0xOgorICAgICAgICAgICAgc2VsZi5faGFzaGNvZGUgPSBoYXNoKHNlbGYuX2dldHN0YXRlKCkpCisgICAgICAgIHJldHVybiBzZWxmLl9oYXNoY29kZQogCiAgICAgIyBDb21wdXRhdGlvbnMKIApAQCAtOTEyLDggKzkxOCw2IEBACiAgICAgICAgIHJldHVybiBieXRlcyhbeWhpLCB5bG8sIHNlbGYuX21vbnRoLCBzZWxmLl9kYXldKSwKIAogICAgIGRlZiBfX3NldHN0YXRlKHNlbGYsIHN0cmluZyk6Ci0gICAgICAgIGlmIGxlbihzdHJpbmcpICE9IDQgb3Igbm90ICgxIDw9IHN0cmluZ1syXSA8PSAxMik6Ci0gICAgICAgICAgICByYWlzZSBUeXBlRXJyb3IoIm5vdCBlbm91Z2ggYXJndW1lbnRzIikKICAgICAgICAgeWhpLCB5bG8sIHNlbGYuX21vbnRoLCBzZWxmLl9kYXkgPSBzdHJpbmcKICAgICAgICAgc2VsZi5feWVhciA9IHloaSAqIDI1NiArIHlsbwogCkBAIC05MzIsNiArOTM2LDcgQEAKICAgICBTdWJjbGFzc2VzIG11c3Qgb3ZlcnJpZGUgdGhlIG5hbWUoKSwgdXRjb2Zmc2V0KCkgYW5kIGRzdCgpIG1ldGhvZHMuCiAgICAgIiIiCiAgICAgX19zbG90c19fID0gKCkKKwogICAgIGRlZiB0em5hbWUoc2VsZiwgZHQpOgogICAgICAgICAiZGF0ZXRpbWUgLT4gc3RyaW5nIG5hbWUgb2YgdGltZSB6b25lLiIKICAgICAgICAgcmFpc2UgTm90SW1wbGVtZW50ZWRFcnJvcigidHppbmZvIHN1YmNsYXNzIG11c3Qgb3ZlcnJpZGUgdHpuYW1lKCkiKQpAQCAtMTAxOCw2ICsxMDIzLDcgQEAKICAgICBQcm9wZXJ0aWVzIChyZWFkb25seSk6CiAgICAgaG91ciwgbWludXRlLCBzZWNvbmQsIG1pY3Jvc2Vjb25kLCB0emluZm8KICAgICAiIiIKKyAgICBfX3Nsb3RzX18gPSAnX2hvdXInLCAnX21pbnV0ZScsICdfc2Vjb25kJywgJ19taWNyb3NlY29uZCcsICdfdHppbmZvJywgJ19oYXNoY29kZScKIAogICAgIGRlZiBfX25ld19fKGNscywgaG91cj0wLCBtaW51dGU9MCwgc2Vjb25kPTAsIG1pY3Jvc2Vjb25kPTAsIHR6aW5mbz1Ob25lKToKICAgICAgICAgIiIiQ29uc3RydWN0b3IuCkBAIC0xMDI4LDE4ICsxMDM0LDIyIEBACiAgICAgICAgIHNlY29uZCwgbWljcm9zZWNvbmQgKGRlZmF1bHQgdG8gemVybykKICAgICAgICAgdHppbmZvIChkZWZhdWx0IHRvIE5vbmUpCiAgICAgICAgICIiIgotICAgICAgICBzZWxmID0gb2JqZWN0Ll9fbmV3X18oY2xzKQotICAgICAgICBpZiBpc2luc3RhbmNlKGhvdXIsIGJ5dGVzKSBhbmQgbGVuKGhvdXIpID09IDY6CisgICAgICAgIGlmIGlzaW5zdGFuY2UoaG91ciwgYnl0ZXMpIGFuZCBsZW4oaG91cikgPT0gNiBhbmQgaG91clswXSA8IDI0OgogICAgICAgICAgICAgIyBQaWNrbGUgc3VwcG9ydAorICAgICAgICAgICAgc2VsZiA9IG9iamVjdC5fX25ld19fKGNscykKICAgICAgICAgICAgIHNlbGYuX19zZXRzdGF0ZShob3VyLCBtaW51dGUgb3IgTm9uZSkKKyAgICAgICAgICAgIHNlbGYuX2hhc2hjb2RlID0gLTEKICAgICAgICAgICAgIHJldHVybiBzZWxmCisgICAgICAgIGhvdXIsIG1pbnV0ZSwgc2Vjb25kLCBtaWNyb3NlY29uZCA9IF9jaGVja190aW1lX2ZpZWxkcygKKyAgICAgICAgICAgIGhvdXIsIG1pbnV0ZSwgc2Vjb25kLCBtaWNyb3NlY29uZCkKICAgICAgICAgX2NoZWNrX3R6aW5mb19hcmcodHppbmZvKQotICAgICAgICBfY2hlY2tfdGltZV9maWVsZHMoaG91ciwgbWludXRlLCBzZWNvbmQsIG1pY3Jvc2Vjb25kKQorICAgICAgICBzZWxmID0gb2JqZWN0Ll9fbmV3X18oY2xzKQogICAgICAgICBzZWxmLl9ob3VyID0gaG91cgogICAgICAgICBzZWxmLl9taW51dGUgPSBtaW51dGUKICAgICAgICAgc2VsZi5fc2Vjb25kID0gc2Vjb25kCiAgICAgICAgIHNlbGYuX21pY3Jvc2Vjb25kID0gbWljcm9zZWNvbmQKICAgICAgICAgc2VsZi5fdHppbmZvID0gdHppbmZvCisgICAgICAgIHNlbGYuX2hhc2hjb2RlID0gLTEKICAgICAgICAgcmV0dXJuIHNlbGYKIAogICAgICMgUmVhZC1vbmx5IGZpZWxkIGFjY2Vzc29ycwpAQCAtMTA3OCwxMiArMTA4OCw2IEBACiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICByZXR1cm4gRmFsc2UKIAotICAgIGRlZiBfX25lX18oc2VsZiwgb3RoZXIpOgotICAgICAgICBpZiBpc2luc3RhbmNlKG90aGVyLCB0aW1lKToKLSAgICAgICAgICAgIHJldHVybiBzZWxmLl9jbXAob3RoZXIsIGFsbG93X21peGVkPVRydWUpICE9IDAKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHJldHVybiBUcnVlCi0KICAgICBkZWYgX19sZV9fKHNlbGYsIG90aGVyKToKICAgICAgICAgaWYgaXNpbnN0YW5jZShvdGhlciwgdGltZSk6CiAgICAgICAgICAgICByZXR1cm4gc2VsZi5fY21wKG90aGVyKSA8PSAwCkBAIC0xMTI0LDggKzExMjgsOCBAQAogICAgICAgICBpZiBiYXNlX2NvbXBhcmU6CiAgICAgICAgICAgICByZXR1cm4gX2NtcCgoc2VsZi5faG91ciwgc2VsZi5fbWludXRlLCBzZWxmLl9zZWNvbmQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fbWljcm9zZWNvbmQpLAotICAgICAgICAgICAgICAgICAgICAgICAob3RoZXIuX2hvdXIsIG90aGVyLl9taW51dGUsIG90aGVyLl9zZWNvbmQsCi0gICAgICAgICAgICAgICAgICAgICAgICBvdGhlci5fbWljcm9zZWNvbmQpKQorICAgICAgICAgICAgICAgICAgICAgICAgKG90aGVyLl9ob3VyLCBvdGhlci5fbWludXRlLCBvdGhlci5fc2Vjb25kLAorICAgICAgICAgICAgICAgICAgICAgICAgIG90aGVyLl9taWNyb3NlY29uZCkpCiAgICAgICAgIGlmIG15b2ZmIGlzIE5vbmUgb3Igb3RvZmYgaXMgTm9uZToKICAgICAgICAgICAgIGlmIGFsbG93X21peGVkOgogICAgICAgICAgICAgICAgIHJldHVybiAyICMgYXJiaXRyYXJ5IG5vbi16ZXJvIHZhbHVlCkBAIC0xMTM4LDE2ICsxMTQyLDIwIEBACiAKICAgICBkZWYgX19oYXNoX18oc2VsZik6CiAgICAgICAgICIiIkhhc2guIiIiCi0gICAgICAgIHR6b2ZmID0gc2VsZi51dGNvZmZzZXQoKQotICAgICAgICBpZiBub3QgdHpvZmY6ICMgemVybyBvciBOb25lCi0gICAgICAgICAgICByZXR1cm4gaGFzaChzZWxmLl9nZXRzdGF0ZSgpWzBdKQotICAgICAgICBoLCBtID0gZGl2bW9kKHRpbWVkZWx0YShob3Vycz1zZWxmLmhvdXIsIG1pbnV0ZXM9c2VsZi5taW51dGUpIC0gdHpvZmYsCi0gICAgICAgICAgICAgICAgICAgICAgdGltZWRlbHRhKGhvdXJzPTEpKQotICAgICAgICBhc3NlcnQgbm90IG0gJSB0aW1lZGVsdGEobWludXRlcz0xKSwgIndob2xlIG1pbnV0ZSIKLSAgICAgICAgbSAvLz0gdGltZWRlbHRhKG1pbnV0ZXM9MSkKLSAgICAgICAgaWYgMCA8PSBoIDwgMjQ6Ci0gICAgICAgICAgICByZXR1cm4gaGFzaCh0aW1lKGgsIG0sIHNlbGYuc2Vjb25kLCBzZWxmLm1pY3Jvc2Vjb25kKSkKLSAgICAgICAgcmV0dXJuIGhhc2goKGgsIG0sIHNlbGYuc2Vjb25kLCBzZWxmLm1pY3Jvc2Vjb25kKSkKKyAgICAgICAgaWYgc2VsZi5faGFzaGNvZGUgPT0gLTE6CisgICAgICAgICAgICB0em9mZiA9IHNlbGYudXRjb2Zmc2V0KCkKKyAgICAgICAgICAgIGlmIG5vdCB0em9mZjogICMgemVybyBvciBOb25lCisgICAgICAgICAgICAgICAgc2VsZi5faGFzaGNvZGUgPSBoYXNoKHNlbGYuX2dldHN0YXRlKClbMF0pCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIGgsIG0gPSBkaXZtb2QodGltZWRlbHRhKGhvdXJzPXNlbGYuaG91ciwgbWludXRlcz1zZWxmLm1pbnV0ZSkgLSB0em9mZiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpbWVkZWx0YShob3Vycz0xKSkKKyAgICAgICAgICAgICAgICBhc3NlcnQgbm90IG0gJSB0aW1lZGVsdGEobWludXRlcz0xKSwgIndob2xlIG1pbnV0ZSIKKyAgICAgICAgICAgICAgICBtIC8vPSB0aW1lZGVsdGEobWludXRlcz0xKQorICAgICAgICAgICAgICAgIGlmIDAgPD0gaCA8IDI0OgorICAgICAgICAgICAgICAgICAgICBzZWxmLl9oYXNoY29kZSA9IGhhc2godGltZShoLCBtLCBzZWxmLnNlY29uZCwgc2VsZi5taWNyb3NlY29uZCkpCisgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5faGFzaGNvZGUgPSBoYXNoKChoLCBtLCBzZWxmLnNlY29uZCwgc2VsZi5taWNyb3NlY29uZCkpCisgICAgICAgIHJldHVybiBzZWxmLl9oYXNoY29kZQogCiAgICAgIyBDb252ZXJzaW9uIHRvIHN0cmluZwogCkBAIC0xMTc1LDggKzExODMsOSBAQAogICAgICAgICAgICAgcyA9ICIsICVkIiAlIHNlbGYuX3NlY29uZAogICAgICAgICBlbHNlOgogICAgICAgICAgICAgcyA9ICIiCi0gICAgICAgIHM9ICIlcyglZCwgJWQlcykiICUgKCdkYXRldGltZS4nICsgc2VsZi5fX2NsYXNzX18uX19uYW1lX18sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX2hvdXIsIHNlbGYuX21pbnV0ZSwgcykKKyAgICAgICAgcz0gIiVzLiVzKCVkLCAlZCVzKSIgJSAoc2VsZi5fX2NsYXNzX18uX19tb2R1bGVfXywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fX2NsYXNzX18uX19xdWFsbmFtZV9fLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9ob3VyLCBzZWxmLl9taW51dGUsIHMpCiAgICAgICAgIGlmIHNlbGYuX3R6aW5mbyBpcyBub3QgTm9uZToKICAgICAgICAgICAgIGFzc2VydCBzWy0xOl0gPT0gIikiCiAgICAgICAgICAgICBzID0gc1s6LTFdICsgIiwgdHppbmZvPSVyIiAlIHNlbGYuX3R6aW5mbyArICIpIgpAQCAtMTIwOSw2ICsxMjE4LDggQEAKICAgICAgICAgcmV0dXJuIF93cmFwX3N0cmZ0aW1lKHNlbGYsIGZtdCwgdGltZXR1cGxlKQogCiAgICAgZGVmIF9fZm9ybWF0X18oc2VsZiwgZm10KToKKyAgICAgICAgaWYgbm90IGlzaW5zdGFuY2UoZm10LCBzdHIpOgorICAgICAgICAgICAgcmFpc2UgVHlwZUVycm9yKCJtdXN0IGJlIHN0ciwgbm90ICVzIiAlIHR5cGUoZm10KS5fX25hbWVfXykKICAgICAgICAgaWYgbGVuKGZtdCkgIT0gMDoKICAgICAgICAgICAgIHJldHVybiBzZWxmLnN0cmZ0aW1lKGZtdCkKICAgICAgICAgcmV0dXJuIHN0cihzZWxmKQpAQCAtMTI2NSwxNiArMTI3Niw4IEBACiAgICAgICAgICAgICBtaWNyb3NlY29uZCA9IHNlbGYubWljcm9zZWNvbmQKICAgICAgICAgaWYgdHppbmZvIGlzIFRydWU6CiAgICAgICAgICAgICB0emluZm8gPSBzZWxmLnR6aW5mbwotICAgICAgICBfY2hlY2tfdGltZV9maWVsZHMoaG91ciwgbWludXRlLCBzZWNvbmQsIG1pY3Jvc2Vjb25kKQotICAgICAgICBfY2hlY2tfdHppbmZvX2FyZyh0emluZm8pCiAgICAgICAgIHJldHVybiB0aW1lKGhvdXIsIG1pbnV0ZSwgc2Vjb25kLCBtaWNyb3NlY29uZCwgdHppbmZvKQogCi0gICAgZGVmIF9fYm9vbF9fKHNlbGYpOgotICAgICAgICBpZiBzZWxmLnNlY29uZCBvciBzZWxmLm1pY3Jvc2Vjb25kOgotICAgICAgICAgICAgcmV0dXJuIFRydWUKLSAgICAgICAgb2Zmc2V0ID0gc2VsZi51dGNvZmZzZXQoKSBvciB0aW1lZGVsdGEoMCkKLSAgICAgICAgcmV0dXJuIHRpbWVkZWx0YShob3Vycz1zZWxmLmhvdXIsIG1pbnV0ZXM9c2VsZi5taW51dGUpICE9IG9mZnNldAotCiAgICAgIyBQaWNrbGUgc3VwcG9ydC4KIAogICAgIGRlZiBfZ2V0c3RhdGUoc2VsZik6CkBAIC0xMjg4LDE1ICsxMjkxLDExIEBACiAgICAgICAgICAgICByZXR1cm4gKGJhc2VzdGF0ZSwgc2VsZi5fdHppbmZvKQogCiAgICAgZGVmIF9fc2V0c3RhdGUoc2VsZiwgc3RyaW5nLCB0emluZm8pOgotICAgICAgICBpZiBsZW4oc3RyaW5nKSAhPSA2IG9yIHN0cmluZ1swXSA+PSAyNDoKLSAgICAgICAgICAgIHJhaXNlIFR5cGVFcnJvcigiYW4gaW50ZWdlciBpcyByZXF1aXJlZCIpCi0gICAgICAgIChzZWxmLl9ob3VyLCBzZWxmLl9taW51dGUsIHNlbGYuX3NlY29uZCwKLSAgICAgICAgIHVzMSwgdXMyLCB1czMpID0gc3RyaW5nCisgICAgICAgIGlmIHR6aW5mbyBpcyBub3QgTm9uZSBhbmQgbm90IGlzaW5zdGFuY2UodHppbmZvLCBfdHppbmZvX2NsYXNzKToKKyAgICAgICAgICAgIHJhaXNlIFR5cGVFcnJvcigiYmFkIHR6aW5mbyBzdGF0ZSBhcmciKQorICAgICAgICBzZWxmLl9ob3VyLCBzZWxmLl9taW51dGUsIHNlbGYuX3NlY29uZCwgdXMxLCB1czIsIHVzMyA9IHN0cmluZwogICAgICAgICBzZWxmLl9taWNyb3NlY29uZCA9ICgoKHVzMSA8PCA4KSB8IHVzMikgPDwgOCkgfCB1czMKLSAgICAgICAgaWYgdHppbmZvIGlzIE5vbmUgb3IgaXNpbnN0YW5jZSh0emluZm8sIF90emluZm9fY2xhc3MpOgotICAgICAgICAgICAgc2VsZi5fdHppbmZvID0gdHppbmZvCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICByYWlzZSBUeXBlRXJyb3IoImJhZCB0emluZm8gc3RhdGUgYXJnICVyIiAlIHR6aW5mbykKKyAgICAgICAgc2VsZi5fdHppbmZvID0gdHppbmZvCiAKICAgICBkZWYgX19yZWR1Y2VfXyhzZWxmKToKICAgICAgICAgcmV0dXJuICh0aW1lLCBzZWxmLl9nZXRzdGF0ZSgpKQpAQCAtMTMxMywyNSArMTMxMiwzMCBAQAogICAgIFRoZSB5ZWFyLCBtb250aCBhbmQgZGF5IGFyZ3VtZW50cyBhcmUgcmVxdWlyZWQuIHR6aW5mbyBtYXkgYmUgTm9uZSwgb3IgYW4KICAgICBpbnN0YW5jZSBvZiBhIHR6aW5mbyBzdWJjbGFzcy4gVGhlIHJlbWFpbmluZyBhcmd1bWVudHMgbWF5IGJlIGludHMuCiAgICAgIiIiCisgICAgX19zbG90c19fID0gZGF0ZS5fX3Nsb3RzX18gKyB0aW1lLl9fc2xvdHNfXwogCi0gICAgX19zbG90c19fID0gZGF0ZS5fX3Nsb3RzX18gKyAoCi0gICAgICAgICdfaG91cicsICdfbWludXRlJywgJ19zZWNvbmQnLAotICAgICAgICAnX21pY3Jvc2Vjb25kJywgJ190emluZm8nKQogICAgIGRlZiBfX25ld19fKGNscywgeWVhciwgbW9udGg9Tm9uZSwgZGF5PU5vbmUsIGhvdXI9MCwgbWludXRlPTAsIHNlY29uZD0wLAogICAgICAgICAgICAgICAgIG1pY3Jvc2Vjb25kPTAsIHR6aW5mbz1Ob25lKToKLSAgICAgICAgaWYgaXNpbnN0YW5jZSh5ZWFyLCBieXRlcykgYW5kIGxlbih5ZWFyKSA9PSAxMDoKKyAgICAgICAgaWYgaXNpbnN0YW5jZSh5ZWFyLCBieXRlcykgYW5kIGxlbih5ZWFyKSA9PSAxMCBhbmQgMSA8PSB5ZWFyWzJdIDw9IDEyOgogICAgICAgICAgICAgIyBQaWNrbGUgc3VwcG9ydAotICAgICAgICAgICAgc2VsZiA9IGRhdGUuX19uZXdfXyhjbHMsIHllYXJbOjRdKQorICAgICAgICAgICAgc2VsZiA9IG9iamVjdC5fX25ld19fKGNscykKICAgICAgICAgICAgIHNlbGYuX19zZXRzdGF0ZSh5ZWFyLCBtb250aCkKKyAgICAgICAgICAgIHNlbGYuX2hhc2hjb2RlID0gLTEKICAgICAgICAgICAgIHJldHVybiBzZWxmCisgICAgICAgIHllYXIsIG1vbnRoLCBkYXkgPSBfY2hlY2tfZGF0ZV9maWVsZHMoeWVhciwgbW9udGgsIGRheSkKKyAgICAgICAgaG91ciwgbWludXRlLCBzZWNvbmQsIG1pY3Jvc2Vjb25kID0gX2NoZWNrX3RpbWVfZmllbGRzKAorICAgICAgICAgICAgaG91ciwgbWludXRlLCBzZWNvbmQsIG1pY3Jvc2Vjb25kKQogICAgICAgICBfY2hlY2tfdHppbmZvX2FyZyh0emluZm8pCi0gICAgICAgIF9jaGVja190aW1lX2ZpZWxkcyhob3VyLCBtaW51dGUsIHNlY29uZCwgbWljcm9zZWNvbmQpCi0gICAgICAgIHNlbGYgPSBkYXRlLl9fbmV3X18oY2xzLCB5ZWFyLCBtb250aCwgZGF5KQorICAgICAgICBzZWxmID0gb2JqZWN0Ll9fbmV3X18oY2xzKQorICAgICAgICBzZWxmLl95ZWFyID0geWVhcgorICAgICAgICBzZWxmLl9tb250aCA9IG1vbnRoCisgICAgICAgIHNlbGYuX2RheSA9IGRheQogICAgICAgICBzZWxmLl9ob3VyID0gaG91cgogICAgICAgICBzZWxmLl9taW51dGUgPSBtaW51dGUKICAgICAgICAgc2VsZi5fc2Vjb25kID0gc2Vjb25kCiAgICAgICAgIHNlbGYuX21pY3Jvc2Vjb25kID0gbWljcm9zZWNvbmQKICAgICAgICAgc2VsZi5fdHppbmZvID0gdHppbmZvCisgICAgICAgIHNlbGYuX2hhc2hjb2RlID0gLTEKICAgICAgICAgcmV0dXJuIHNlbGYKIAogICAgICMgUmVhZC1vbmx5IGZpZWxkIGFjY2Vzc29ycwpAQCAtMTM2Niw3ICsxMzcwLDYgQEAKIAogICAgICAgICBBIHRpbWV6b25lIGluZm8gb2JqZWN0IG1heSBiZSBwYXNzZWQgaW4gYXMgd2VsbC4KICAgICAgICAgIiIiCi0KICAgICAgICAgX2NoZWNrX3R6aW5mb19hcmcodHopCiAKICAgICAgICAgY29udmVydGVyID0gX3RpbWUubG9jYWx0aW1lIGlmIHR6IGlzIE5vbmUgZWxzZSBfdGltZS5nbXRpbWUKQEAgLTEzOTAsNyArMTM5Myw3IEBACiAKICAgICBAY2xhc3NtZXRob2QKICAgICBkZWYgdXRjZnJvbXRpbWVzdGFtcChjbHMsIHQpOgotICAgICAgICAiQ29uc3RydWN0IGEgVVRDIGRhdGV0aW1lIGZyb20gYSBQT1NJWCB0aW1lc3RhbXAgKGxpa2UgdGltZS50aW1lKCkpLiIKKyAgICAgICAgIiIiQ29uc3RydWN0IGEgbmFpdmUgVVRDIGRhdGV0aW1lIGZyb20gYSBQT1NJWCB0aW1lc3RhbXAuIiIiCiAgICAgICAgIHQsIGZyYWMgPSBkaXZtb2QodCwgMS4wKQogICAgICAgICB1cyA9IGludChmcmFjICogMWU2KQogCkBAIC0xNDA1LDExICsxNDA4LDYgQEAKICAgICAgICAgc3MgPSBtaW4oc3MsIDU5KSAgICAjIGNsYW1wIG91dCBsZWFwIHNlY29uZHMgaWYgdGhlIHBsYXRmb3JtIGhhcyB0aGVtCiAgICAgICAgIHJldHVybiBjbHMoeSwgbSwgZCwgaGgsIG1tLCBzcywgdXMpCiAKLSAgICAjIFhYWCBUaGlzIGlzIHN1cHBvc2VkIHRvIGRvIGJldHRlciB0aGFuIHdlICpjYW4qIGRvIGJ5IHVzaW5nIHRpbWUudGltZSgpLAotICAgICMgWFhYIGlmIHRoZSBwbGF0Zm9ybSBzdXBwb3J0cyBhIG1vcmUgYWNjdXJhdGUgd2F5LiAgVGhlIEMgaW1wbGVtZW50YXRpb24KLSAgICAjIFhYWCB1c2VzIGdldHRpbWVvZmRheSBvbiBwbGF0Zm9ybXMgdGhhdCBoYXZlIGl0LCBidXQgdGhhdCBpc24ndAotICAgICMgWFhYIGF2YWlsYWJsZSBmcm9tIFB5dGhvbi4gIFNvIG5vdygpIG1heSByZXR1cm4gZGlmZmVyZW50IHJlc3VsdHMKLSAgICAjIFhYWCBhY3Jvc3MgdGhlIGltcGxlbWVudGF0aW9ucy4KICAgICBAY2xhc3NtZXRob2QKICAgICBkZWYgbm93KGNscywgdHo9Tm9uZSk6CiAgICAgICAgICJDb25zdHJ1Y3QgYSBkYXRldGltZSBmcm9tIHRpbWUudGltZSgpIGFuZCBvcHRpb25hbCB0aW1lIHpvbmUgaW5mby4iCkBAIC0xNDk2LDExICsxNDk0LDggQEAKICAgICAgICAgICAgIG1pY3Jvc2Vjb25kID0gc2VsZi5taWNyb3NlY29uZAogICAgICAgICBpZiB0emluZm8gaXMgVHJ1ZToKICAgICAgICAgICAgIHR6aW5mbyA9IHNlbGYudHppbmZvCi0gICAgICAgIF9jaGVja19kYXRlX2ZpZWxkcyh5ZWFyLCBtb250aCwgZGF5KQotICAgICAgICBfY2hlY2tfdGltZV9maWVsZHMoaG91ciwgbWludXRlLCBzZWNvbmQsIG1pY3Jvc2Vjb25kKQotICAgICAgICBfY2hlY2tfdHppbmZvX2FyZyh0emluZm8pCi0gICAgICAgIHJldHVybiBkYXRldGltZSh5ZWFyLCBtb250aCwgZGF5LCBob3VyLCBtaW51dGUsIHNlY29uZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgbWljcm9zZWNvbmQsIHR6aW5mbykKKyAgICAgICAgcmV0dXJuIGRhdGV0aW1lKHllYXIsIG1vbnRoLCBkYXksIGhvdXIsIG1pbnV0ZSwgc2Vjb25kLCBtaWNyb3NlY29uZCwKKyAgICAgICAgICAgICAgICAgICAgICAgIHR6aW5mbykKIAogICAgIGRlZiBhc3RpbWV6b25lKHNlbGYsIHR6PU5vbmUpOgogICAgICAgICBpZiB0eiBpcyBOb25lOgpAQCAtMTU3MCwxMCArMTU2NSw5IEBACiAgICAgICAgIE9wdGlvbmFsIGFyZ3VtZW50IHNlcCBzcGVjaWZpZXMgdGhlIHNlcGFyYXRvciBiZXR3ZWVuIGRhdGUgYW5kCiAgICAgICAgIHRpbWUsIGRlZmF1bHQgJ1QnLgogICAgICAgICAiIiIKLSAgICAgICAgcyA9ICgiJTA0ZC0lMDJkLSUwMmQlYyIgJSAoc2VsZi5feWVhciwgc2VsZi5fbW9udGgsIHNlbGYuX2RheSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXApICsKLSAgICAgICAgICAgICAgICBfZm9ybWF0X3RpbWUoc2VsZi5faG91ciwgc2VsZi5fbWludXRlLCBzZWxmLl9zZWNvbmQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX21pY3Jvc2Vjb25kKSkKKyAgICAgICAgcyA9ICgiJTA0ZC0lMDJkLSUwMmQlYyIgJSAoc2VsZi5feWVhciwgc2VsZi5fbW9udGgsIHNlbGYuX2RheSwgc2VwKSArCisgICAgICAgICAgICAgX2Zvcm1hdF90aW1lKHNlbGYuX2hvdXIsIHNlbGYuX21pbnV0ZSwgc2VsZi5fc2Vjb25kLAorICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9taWNyb3NlY29uZCkpCiAgICAgICAgIG9mZiA9IHNlbGYudXRjb2Zmc2V0KCkKICAgICAgICAgaWYgb2ZmIGlzIG5vdCBOb25lOgogICAgICAgICAgICAgaWYgb2ZmLmRheXMgPCAwOgpAQCAtMTU4OSwxNCArMTU4MywxNSBAQAogCiAgICAgZGVmIF9fcmVwcl9fKHNlbGYpOgogICAgICAgICAiIiJDb252ZXJ0IHRvIGZvcm1hbCBzdHJpbmcsIGZvciByZXByKCkuIiIiCi0gICAgICAgIEwgPSBbc2VsZi5feWVhciwgc2VsZi5fbW9udGgsIHNlbGYuX2RheSwgIyBUaGVzZSBhcmUgbmV2ZXIgemVybworICAgICAgICBMID0gW3NlbGYuX3llYXIsIHNlbGYuX21vbnRoLCBzZWxmLl9kYXksICAjIFRoZXNlIGFyZSBuZXZlciB6ZXJvCiAgICAgICAgICAgICAgc2VsZi5faG91ciwgc2VsZi5fbWludXRlLCBzZWxmLl9zZWNvbmQsIHNlbGYuX21pY3Jvc2Vjb25kXQogICAgICAgICBpZiBMWy0xXSA9PSAwOgogICAgICAgICAgICAgZGVsIExbLTFdCiAgICAgICAgIGlmIExbLTFdID09IDA6CiAgICAgICAgICAgICBkZWwgTFstMV0KLSAgICAgICAgcyA9ICIsICIuam9pbihtYXAoc3RyLCBMKSkKLSAgICAgICAgcyA9ICIlcyglcykiICUgKCdkYXRldGltZS4nICsgc2VsZi5fX2NsYXNzX18uX19uYW1lX18sIHMpCisgICAgICAgIHMgPSAiJXMuJXMoJXMpIiAlIChzZWxmLl9fY2xhc3NfXy5fX21vZHVsZV9fLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fX2NsYXNzX18uX19xdWFsbmFtZV9fLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIiwgIi5qb2luKG1hcChzdHIsIEwpKSkKICAgICAgICAgaWYgc2VsZi5fdHppbmZvIGlzIG5vdCBOb25lOgogICAgICAgICAgICAgYXNzZXJ0IHNbLTE6XSA9PSAiKSIKICAgICAgICAgICAgIHMgPSBzWzotMV0gKyAiLCB0emluZm89JXIiICUgc2VsZi5fdHppbmZvICsgIikiCkBAIC0xNjI4LDcgKzE2MjMsOSBAQAogICAgICAgICBpdCBtZWFuIGFueXRoaW5nIGluIHBhcnRpY3VsYXIuIEZvciBleGFtcGxlLCAiR01UIiwgIlVUQyIsICItNTAwIiwKICAgICAgICAgIi01OjAwIiwgIkVEVCIsICJVUy9FYXN0ZXJuIiwgIkFtZXJpY2EvTmV3IFlvcmsiIGFyZSBhbGwgdmFsaWQgcmVwbGllcy4KICAgICAgICAgIiIiCi0gICAgICAgIG5hbWUgPSBfY2FsbF90emluZm9fbWV0aG9kKHNlbGYuX3R6aW5mbywgInR6bmFtZSIsIHNlbGYpCisgICAgICAgIGlmIHNlbGYuX3R6aW5mbyBpcyBOb25lOgorICAgICAgICAgICAgcmV0dXJuIE5vbmUKKyAgICAgICAgbmFtZSA9IHNlbGYuX3R6aW5mby50em5hbWUoc2VsZikKICAgICAgICAgX2NoZWNrX3R6bmFtZShuYW1lKQogICAgICAgICByZXR1cm4gbmFtZQogCkBAIC0xNjU3LDE0ICsxNjU0LDYgQEAKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIHJldHVybiBGYWxzZQogCi0gICAgZGVmIF9fbmVfXyhzZWxmLCBvdGhlcik6Ci0gICAgICAgIGlmIGlzaW5zdGFuY2Uob3RoZXIsIGRhdGV0aW1lKToKLSAgICAgICAgICAgIHJldHVybiBzZWxmLl9jbXAob3RoZXIsIGFsbG93X21peGVkPVRydWUpICE9IDAKLSAgICAgICAgZWxpZiBub3QgaXNpbnN0YW5jZShvdGhlciwgZGF0ZSk6Ci0gICAgICAgICAgICByZXR1cm4gTm90SW1wbGVtZW50ZWQKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHJldHVybiBUcnVlCi0KICAgICBkZWYgX19sZV9fKHNlbGYsIG90aGVyKToKICAgICAgICAgaWYgaXNpbnN0YW5jZShvdGhlciwgZGF0ZXRpbWUpOgogICAgICAgICAgICAgcmV0dXJuIHNlbGYuX2NtcChvdGhlcikgPD0gMApAQCAtMTcxNCw5ICsxNzAzLDkgQEAKICAgICAgICAgICAgIHJldHVybiBfY21wKChzZWxmLl95ZWFyLCBzZWxmLl9tb250aCwgc2VsZi5fZGF5LAogICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX2hvdXIsIHNlbGYuX21pbnV0ZSwgc2VsZi5fc2Vjb25kLAogICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX21pY3Jvc2Vjb25kKSwKLSAgICAgICAgICAgICAgICAgICAgICAgKG90aGVyLl95ZWFyLCBvdGhlci5fbW9udGgsIG90aGVyLl9kYXksCi0gICAgICAgICAgICAgICAgICAgICAgICBvdGhlci5faG91ciwgb3RoZXIuX21pbnV0ZSwgb3RoZXIuX3NlY29uZCwKLSAgICAgICAgICAgICAgICAgICAgICAgIG90aGVyLl9taWNyb3NlY29uZCkpCisgICAgICAgICAgICAgICAgICAgICAgICAob3RoZXIuX3llYXIsIG90aGVyLl9tb250aCwgb3RoZXIuX2RheSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBvdGhlci5faG91ciwgb3RoZXIuX21pbnV0ZSwgb3RoZXIuX3NlY29uZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICBvdGhlci5fbWljcm9zZWNvbmQpKQogICAgICAgICBpZiBteW9mZiBpcyBOb25lIG9yIG90b2ZmIGlzIE5vbmU6CiAgICAgICAgICAgICBpZiBhbGxvd19taXhlZDoKICAgICAgICAgICAgICAgICByZXR1cm4gMiAjIGFyYml0cmFyeSBub24temVybyB2YWx1ZQpAQCAtMTc3NCwxMiArMTc2MywxNSBAQAogICAgICAgICByZXR1cm4gYmFzZSArIG90b2ZmIC0gbXlvZmYKIAogICAgIGRlZiBfX2hhc2hfXyhzZWxmKToKLSAgICAgICAgdHpvZmYgPSBzZWxmLnV0Y29mZnNldCgpCi0gICAgICAgIGlmIHR6b2ZmIGlzIE5vbmU6Ci0gICAgICAgICAgICByZXR1cm4gaGFzaChzZWxmLl9nZXRzdGF0ZSgpWzBdKQotICAgICAgICBkYXlzID0gX3ltZDJvcmQoc2VsZi55ZWFyLCBzZWxmLm1vbnRoLCBzZWxmLmRheSkKLSAgICAgICAgc2Vjb25kcyA9IHNlbGYuaG91ciAqIDM2MDAgKyBzZWxmLm1pbnV0ZSAqIDYwICsgc2VsZi5zZWNvbmQKLSAgICAgICAgcmV0dXJuIGhhc2godGltZWRlbHRhKGRheXMsIHNlY29uZHMsIHNlbGYubWljcm9zZWNvbmQpIC0gdHpvZmYpCisgICAgICAgIGlmIHNlbGYuX2hhc2hjb2RlID09IC0xOgorICAgICAgICAgICAgdHpvZmYgPSBzZWxmLnV0Y29mZnNldCgpCisgICAgICAgICAgICBpZiB0em9mZiBpcyBOb25lOgorICAgICAgICAgICAgICAgIHNlbGYuX2hhc2hjb2RlID0gaGFzaChzZWxmLl9nZXRzdGF0ZSgpWzBdKQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBkYXlzID0gX3ltZDJvcmQoc2VsZi55ZWFyLCBzZWxmLm1vbnRoLCBzZWxmLmRheSkKKyAgICAgICAgICAgICAgICBzZWNvbmRzID0gc2VsZi5ob3VyICogMzYwMCArIHNlbGYubWludXRlICogNjAgKyBzZWxmLnNlY29uZAorICAgICAgICAgICAgICAgIHNlbGYuX2hhc2hjb2RlID0gaGFzaCh0aW1lZGVsdGEoZGF5cywgc2Vjb25kcywgc2VsZi5taWNyb3NlY29uZCkgLSB0em9mZikKKyAgICAgICAgcmV0dXJuIHNlbGYuX2hhc2hjb2RlCiAKICAgICAjIFBpY2tsZSBzdXBwb3J0LgogCkBAIC0xNzk2LDE0ICsxNzg4LDEzIEBACiAgICAgICAgICAgICByZXR1cm4gKGJhc2VzdGF0ZSwgc2VsZi5fdHppbmZvKQogCiAgICAgZGVmIF9fc2V0c3RhdGUoc2VsZiwgc3RyaW5nLCB0emluZm8pOgorICAgICAgICBpZiB0emluZm8gaXMgbm90IE5vbmUgYW5kIG5vdCBpc2luc3RhbmNlKHR6aW5mbywgX3R6aW5mb19jbGFzcyk6CisgICAgICAgICAgICByYWlzZSBUeXBlRXJyb3IoImJhZCB0emluZm8gc3RhdGUgYXJnIikKICAgICAgICAgKHloaSwgeWxvLCBzZWxmLl9tb250aCwgc2VsZi5fZGF5LCBzZWxmLl9ob3VyLAogICAgICAgICAgc2VsZi5fbWludXRlLCBzZWxmLl9zZWNvbmQsIHVzMSwgdXMyLCB1czMpID0gc3RyaW5nCiAgICAgICAgIHNlbGYuX3llYXIgPSB5aGkgKiAyNTYgKyB5bG8KICAgICAgICAgc2VsZi5fbWljcm9zZWNvbmQgPSAoKCh1czEgPDwgOCkgfCB1czIpIDw8IDgpIHwgdXMzCi0gICAgICAgIGlmIHR6aW5mbyBpcyBOb25lIG9yIGlzaW5zdGFuY2UodHppbmZvLCBfdHppbmZvX2NsYXNzKToKLSAgICAgICAgICAgIHNlbGYuX3R6aW5mbyA9IHR6aW5mbwotICAgICAgICBlbHNlOgotICAgICAgICAgICAgcmFpc2UgVHlwZUVycm9yKCJiYWQgdHppbmZvIHN0YXRlIGFyZyAlciIgJSB0emluZm8pCisgICAgICAgIHNlbGYuX3R6aW5mbyA9IHR6aW5mbwogCiAgICAgZGVmIF9fcmVkdWNlX18oc2VsZik6CiAgICAgICAgIHJldHVybiAoc2VsZi5fX2NsYXNzX18sIHNlbGYuX2dldHN0YXRlKCkpCkBAIC0xODE5LDcgKzE4MTAsNyBAQAogICAgICMgWFhYIFRoaXMgY291bGQgYmUgZG9uZSBtb3JlIGVmZmljaWVudGx5CiAgICAgVEhVUlNEQVkgPSAzCiAgICAgZmlyc3RkYXkgPSBfeW1kMm9yZCh5ZWFyLCAxLCAxKQotICAgIGZpcnN0d2Vla2RheSA9IChmaXJzdGRheSArIDYpICUgNyAjIFNlZSB3ZWVrZGF5KCkgYWJvdmUKKyAgICBmaXJzdHdlZWtkYXkgPSAoZmlyc3RkYXkgKyA2KSAlIDcgICMgU2VlIHdlZWtkYXkoKSBhYm92ZQogICAgIHdlZWsxbW9uZGF5ID0gZmlyc3RkYXkgLSBmaXJzdHdlZWtkYXkKICAgICBpZiBmaXJzdHdlZWtkYXkgPiBUSFVSU0RBWToKICAgICAgICAgd2VlazFtb25kYXkgKz0gNwpAQCAtMTg0MCwxMyArMTgzMSwxMiBAQAogICAgICAgICBlbGlmIG5vdCBpc2luc3RhbmNlKG5hbWUsIHN0cik6CiAgICAgICAgICAgICByYWlzZSBUeXBlRXJyb3IoIm5hbWUgbXVzdCBiZSBhIHN0cmluZyIpCiAgICAgICAgIGlmIG5vdCBjbHMuX21pbm9mZnNldCA8PSBvZmZzZXQgPD0gY2xzLl9tYXhvZmZzZXQ6Ci0gICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJvZmZzZXQgbXVzdCBiZSBhIHRpbWVkZWx0YSIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiBzdHJpY3RseSBiZXR3ZWVuIC10aW1lZGVsdGEoaG91cnM9MjQpIGFuZCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiB0aW1lZGVsdGEoaG91cnM9MjQpLiIpCi0gICAgICAgIGlmIChvZmZzZXQubWljcm9zZWNvbmRzICE9IDAgb3IKLSAgICAgICAgICAgIG9mZnNldC5zZWNvbmRzICUgNjAgIT0gMCk6Ci0gICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJvZmZzZXQgbXVzdCBiZSBhIHRpbWVkZWx0YSIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiByZXByZXNlbnRpbmcgYSB3aG9sZSBudW1iZXIgb2YgbWludXRlcyIpCisgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJvZmZzZXQgbXVzdCBiZSBhIHRpbWVkZWx0YSAiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzdHJpY3RseSBiZXR3ZWVuIC10aW1lZGVsdGEoaG91cnM9MjQpIGFuZCAiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0aW1lZGVsdGEoaG91cnM9MjQpLiIpCisgICAgICAgIGlmIChvZmZzZXQubWljcm9zZWNvbmRzICE9IDAgb3Igb2Zmc2V0LnNlY29uZHMgJSA2MCAhPSAwKToKKyAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIm9mZnNldCBtdXN0IGJlIGEgdGltZWRlbHRhICIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInJlcHJlc2VudGluZyBhIHdob2xlIG51bWJlciBvZiBtaW51dGVzIikKICAgICAgICAgcmV0dXJuIGNscy5fY3JlYXRlKG9mZnNldCwgbmFtZSkKIAogICAgIEBjbGFzc21ldGhvZApAQCAtMTg4MywxMCArMTg3MywxMiBAQAogICAgICAgICBpZiBzZWxmIGlzIHNlbGYudXRjOgogICAgICAgICAgICAgcmV0dXJuICdkYXRldGltZS50aW1lem9uZS51dGMnCiAgICAgICAgIGlmIHNlbGYuX25hbWUgaXMgTm9uZToKLSAgICAgICAgICAgIHJldHVybiAiJXMoJXIpIiAlICgnZGF0ZXRpbWUuJyArIHNlbGYuX19jbGFzc19fLl9fbmFtZV9fLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX29mZnNldCkKLSAgICAgICAgcmV0dXJuICIlcyglciwgJXIpIiAlICgnZGF0ZXRpbWUuJyArIHNlbGYuX19jbGFzc19fLl9fbmFtZV9fLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX29mZnNldCwgc2VsZi5fbmFtZSkKKyAgICAgICAgICAgIHJldHVybiAiJXMuJXMoJXIpIiAlIChzZWxmLl9fY2xhc3NfXy5fX21vZHVsZV9fLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX19jbGFzc19fLl9fcXVhbG5hbWVfXywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9vZmZzZXQpCisgICAgICAgIHJldHVybiAiJXMuJXMoJXIsICVyKSIgJSAoc2VsZi5fX2NsYXNzX18uX19tb2R1bGVfXywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9fY2xhc3NfXy5fX3F1YWxuYW1lX18sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fb2Zmc2V0LCBzZWxmLl9uYW1lKQogCiAgICAgZGVmIF9fc3RyX18oc2VsZik6CiAgICAgICAgIHJldHVybiBzZWxmLnR6bmFtZShOb25lKQpAQCAtMjE0MSwxNCArMjEzMywxMyBAQAogICAgIHBhc3MKIGVsc2U6CiAgICAgIyBDbGVhbiB1cCB1bnVzZWQgbmFtZXMKLSAgICBkZWwgKF9EQVlOQU1FUywgX0RBWVNfQkVGT1JFX01PTlRILCBfREFZU19JTl9NT05USCwKLSAgICAgICAgIF9ESTEwMFksIF9ESTQwMFksIF9ESTRZLCBfTUFYT1JESU5BTCwgX01PTlRITkFNRVMsCi0gICAgICAgICBfYnVpbGRfc3RydWN0X3RpbWUsIF9jYWxsX3R6aW5mb19tZXRob2QsIF9jaGVja19kYXRlX2ZpZWxkcywKLSAgICAgICAgIF9jaGVja190aW1lX2ZpZWxkcywgX2NoZWNrX3R6aW5mb19hcmcsIF9jaGVja190em5hbWUsCi0gICAgICAgICBfY2hlY2tfdXRjX29mZnNldCwgX2NtcCwgX2NtcGVycm9yLCBfZGF0ZV9jbGFzcywgX2RheXNfYmVmb3JlX21vbnRoLAotICAgICAgICAgX2RheXNfYmVmb3JlX3llYXIsIF9kYXlzX2luX21vbnRoLCBfZm9ybWF0X3RpbWUsIF9pc19sZWFwLAotICAgICAgICAgX2lzb3dlZWsxbW9uZGF5LCBfbWF0aCwgX29yZDJ5bWQsIF90aW1lLCBfdGltZV9jbGFzcywgX3R6aW5mb19jbGFzcywKLSAgICAgICAgIF93cmFwX3N0cmZ0aW1lLCBfeW1kMm9yZCkKKyAgICBkZWwgKF9EQVlOQU1FUywgX0RBWVNfQkVGT1JFX01PTlRILCBfREFZU19JTl9NT05USCwgX0RJMTAwWSwgX0RJNDAwWSwKKyAgICAgICAgIF9ESTRZLCBfRVBPQ0gsIF9NQVhPUkRJTkFMLCBfTU9OVEhOQU1FUywgX2J1aWxkX3N0cnVjdF90aW1lLAorICAgICAgICAgX2NoZWNrX2RhdGVfZmllbGRzLCBfY2hlY2tfaW50X2ZpZWxkLCBfY2hlY2tfdGltZV9maWVsZHMsCisgICAgICAgICBfY2hlY2tfdHppbmZvX2FyZywgX2NoZWNrX3R6bmFtZSwgX2NoZWNrX3V0Y19vZmZzZXQsIF9jbXAsIF9jbXBlcnJvciwKKyAgICAgICAgIF9kYXRlX2NsYXNzLCBfZGF5c19iZWZvcmVfbW9udGgsIF9kYXlzX2JlZm9yZV95ZWFyLCBfZGF5c19pbl9tb250aCwKKyAgICAgICAgIF9mb3JtYXRfdGltZSwgX2lzX2xlYXAsIF9pc293ZWVrMW1vbmRheSwgX21hdGgsIF9vcmQyeW1kLAorICAgICAgICAgX3RpbWUsIF90aW1lX2NsYXNzLCBfdHppbmZvX2NsYXNzLCBfd3JhcF9zdHJmdGltZSwgX3ltZDJvcmQpCiAgICAgIyBYWFggU2luY2UgaW1wb3J0ICogYWJvdmUgZXhjbHVkZXMgbmFtZXMgdGhhdCBzdGFydCB3aXRoIF8sCiAgICAgIyBkb2NzdHJpbmcgZG9lcyBub3QgZ2V0IG92ZXJ3cml0dGVuLiBJbiB0aGUgZnV0dXJlLCBpdCBtYXkgYmUKICAgICAjIGFwcHJvcHJpYXRlIHRvIG1haW50YWluIGEgc2luZ2xlIG1vZHVsZSBsZXZlbCBkb2NzdHJpbmcgYW5kCmRpZmYgLS1naXQgYS9MaWIvZGJtL2R1bWIucHkgYi9MaWIvZGJtL2R1bWIucHkKaW5kZXggYTllYWQ2OC4uMzQyNDA5NiAxMDA2NDQKLS0tIGEvTGliL2RibS9kdW1iLnB5CisrKyBiL0xpYi9kYm0vZHVtYi5weQpAQCAtNDUsNyArNDUsNyBAQAogICAgIF9vcyA9IF9vcyAgICAgICAjIGZvciBfY29tbWl0KCkKICAgICBfaW8gPSBfaW8gICAgICAgIyBmb3IgX2NvbW1pdCgpCiAKLSAgICBkZWYgX19pbml0X18oc2VsZiwgZmlsZWJhc2VuYW1lLCBtb2RlKToKKyAgICBkZWYgX19pbml0X18oc2VsZiwgZmlsZWJhc2VuYW1lLCBtb2RlLCBmbGFnPSdjJyk6CiAgICAgICAgIHNlbGYuX21vZGUgPSBtb2RlCiAKICAgICAgICAgIyBUaGUgZGlyZWN0b3J5IGZpbGUgaXMgYSB0ZXh0IGZpbGUuICBFYWNoIGxpbmUgbG9va3MgbGlrZQpAQCAtNjUsNiArNjUsMTcgQEAKICAgICAgICAgIyBUaGUgaW5kZXggaXMgYW4gaW4tbWVtb3J5IGRpY3QsIG1pcnJvcmluZyB0aGUgZGlyZWN0b3J5IGZpbGUuCiAgICAgICAgIHNlbGYuX2luZGV4ID0gTm9uZSAgIyBtYXBzIGtleXMgdG8gKHBvcywgc2l6KSBwYWlycwogCisgICAgICAgICMgSGFuZGxlIHRoZSBjcmVhdGlvbgorICAgICAgICBzZWxmLl9jcmVhdGUoZmxhZykKKyAgICAgICAgc2VsZi5fdXBkYXRlKCkKKworICAgIGRlZiBfY3JlYXRlKHNlbGYsIGZsYWcpOgorICAgICAgICBpZiBmbGFnID09ICduJzoKKyAgICAgICAgICAgIGZvciBmaWxlbmFtZSBpbiAoc2VsZi5fZGF0ZmlsZSwgc2VsZi5fYmFrZmlsZSwgc2VsZi5fZGlyZmlsZSk6CisgICAgICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgICAgICBfb3MucmVtb3ZlKGZpbGVuYW1lKQorICAgICAgICAgICAgICAgIGV4Y2VwdCBPU0Vycm9yOgorICAgICAgICAgICAgICAgICAgICBwYXNzCiAgICAgICAgICMgTW9kIGJ5IEphY2s6IGNyZWF0ZSBkYXRhIGZpbGUgaWYgbmVlZGVkCiAgICAgICAgIHRyeToKICAgICAgICAgICAgIGYgPSBfaW8ub3BlbihzZWxmLl9kYXRmaWxlLCAncicsIGVuY29kaW5nPSJMYXRpbi0xIikKQEAgLTczLDcgKzg0LDYgQEAKICAgICAgICAgICAgICAgICBzZWxmLl9jaG1vZChzZWxmLl9kYXRmaWxlKQogICAgICAgICBlbHNlOgogICAgICAgICAgICAgZi5jbG9zZSgpCi0gICAgICAgIHNlbGYuX3VwZGF0ZSgpCiAKICAgICAjIFJlYWQgZGlyZWN0b3J5IGZpbGUgaW50byB0aGUgaW4tbWVtb3J5IGluZGV4IGRpY3QuCiAgICAgZGVmIF91cGRhdGUoc2VsZik6CkBAIC0yNjQsMjAgKzI3NCwyMCBAQAogICAgICAgICBzZWxmLmNsb3NlKCkKIAogCi1kZWYgb3BlbihmaWxlLCBmbGFnPU5vbmUsIG1vZGU9MG82NjYpOgorZGVmIG9wZW4oZmlsZSwgZmxhZz0nYycsIG1vZGU9MG82NjYpOgogICAgICIiIk9wZW4gdGhlIGRhdGFiYXNlIGZpbGUsIGZpbGVuYW1lLCBhbmQgcmV0dXJuIGNvcnJlc3BvbmRpbmcgb2JqZWN0LgogCiAgICAgVGhlIGZsYWcgYXJndW1lbnQsIHVzZWQgdG8gY29udHJvbCBob3cgdGhlIGRhdGFiYXNlIGlzIG9wZW5lZCBpbiB0aGUKLSAgICBvdGhlciBEQk0gaW1wbGVtZW50YXRpb25zLCBpcyBpZ25vcmVkIGluIHRoZSBkYm0uZHVtYiBtb2R1bGU7IHRoZQotICAgIGRhdGFiYXNlIGlzIGFsd2F5cyBvcGVuZWQgZm9yIHVwZGF0ZSwgYW5kIHdpbGwgYmUgY3JlYXRlZCBpZiBpdCBkb2VzCi0gICAgbm90IGV4aXN0LgorICAgIG90aGVyIERCTSBpbXBsZW1lbnRhdGlvbnMsIHN1cHBvcnRzIG9ubHkgdGhlIHNlbWFudGljcyBvZiAnYycgYW5kICduJworICAgIHZhbHVlcy4gIE90aGVyIHZhbHVlcyB3aWxsIGRlZmF1bHQgdG8gdGhlIHNlbWFudGljcyBvZiAnYycgdmFsdWU6CisgICAgdGhlIGRhdGFiYXNlIHdpbGwgYWx3YXlzIG9wZW5lZCBmb3IgdXBkYXRlIGFuZCB3aWxsIGJlIGNyZWF0ZWQgaWYgaXQKKyAgICBkb2VzIG5vdCBleGlzdC4KIAogICAgIFRoZSBvcHRpb25hbCBtb2RlIGFyZ3VtZW50IGlzIHRoZSBVTklYIG1vZGUgb2YgdGhlIGZpbGUsIHVzZWQgb25seSB3aGVuCiAgICAgdGhlIGRhdGFiYXNlIGhhcyB0byBiZSBjcmVhdGVkLiAgSXQgZGVmYXVsdHMgdG8gb2N0YWwgY29kZSAwbzY2NiAoYW5kCiAgICAgd2lsbCBiZSBtb2RpZmllZCBieSB0aGUgcHJldmFpbGluZyB1bWFzaykuCiAKICAgICAiIiIKLSAgICAjIGZsYWcgYXJndW1lbnQgaXMgY3VycmVudGx5IGlnbm9yZWQKIAogICAgICMgTW9kaWZ5IG1vZGUgZGVwZW5kaW5nIG9uIHRoZSB1bWFzawogICAgIHRyeToKQEAgLTI4OCw1ICsyOTgsNCBAQAogICAgIGVsc2U6CiAgICAgICAgICMgVHVybiBvZmYgYW55IGJpdHMgdGhhdCBhcmUgc2V0IGluIHRoZSB1bWFzawogICAgICAgICBtb2RlID0gbW9kZSAmICh+dW0pCi0KLSAgICByZXR1cm4gX0RhdGFiYXNlKGZpbGUsIG1vZGUpCisgICAgcmV0dXJuIF9EYXRhYmFzZShmaWxlLCBtb2RlLCBmbGFnPWZsYWcpCmRpZmYgLS1naXQgYS9MaWIvZGVjaW1hbC5weSBiL0xpYi9kZWNpbWFsLnB5CmluZGV4IGIyNTRmOWMuLjc3NDZlYTIgMTAwNjQ0Ci0tLSBhL0xpYi9kZWNpbWFsLnB5CisrKyBiL0xpYi9kZWNpbWFsLnB5CkBAIC0xLDY0MTQgKzEsMTEgQEAKLSMgQ29weXJpZ2h0IChjKSAyMDA0IFB5dGhvbiBTb2Z0d2FyZSBGb3VuZGF0aW9uLgotIyBBbGwgcmlnaHRzIHJlc2VydmVkLgotCi0jIFdyaXR0ZW4gYnkgRXJpYyBQcmljZSA8ZXByaWNlIGF0IHRqaHNzdC5lZHU+Ci0jICAgIGFuZCBGYWN1bmRvIEJhdGlzdGEgPGZhY3VuZG8gYXQgdGFuaXF1ZXRpbC5jb20uYXI+Ci0jICAgIGFuZCBSYXltb25kIEhldHRpbmdlciA8cHl0aG9uIGF0IHJjbi5jb20+Ci0jICAgIGFuZCBBYWh6IDxhYWh6IGF0IHBvYm94LmNvbT4KLSMgICAgYW5kIFRpbSBQZXRlcnMKLQotIyBUaGlzIG1vZHVsZSBzaG91bGQgYmUga2VwdCBpbiBzeW5jIHdpdGggdGhlIGxhdGVzdCB1cGRhdGVzIG9mIHRoZQotIyBJQk0gc3BlY2lmaWNhdGlvbiBhcyBpdCBldm9sdmVzLiAgVGhvc2UgdXBkYXRlcyB3aWxsIGJlIHRyZWF0ZWQKLSMgYXMgYnVnIGZpeGVzIChkZXZpYXRpb24gZnJvbSB0aGUgc3BlYyBpcyBhIGNvbXBhdGliaWxpdHksIHVzYWJpbGl0eQotIyBidWcpIGFuZCB3aWxsIGJlIGJhY2twb3J0ZWQuICBBdCB0aGlzIHBvaW50IHRoZSBzcGVjIGlzIHN0YWJpbGl6aW5nCi0jIGFuZCB0aGUgdXBkYXRlcyBhcmUgYmVjb21pbmcgZmV3ZXIsIHNtYWxsZXIsIGFuZCBsZXNzIHNpZ25pZmljYW50LgotCi0iIiIKLVRoaXMgaXMgYW4gaW1wbGVtZW50YXRpb24gb2YgZGVjaW1hbCBmbG9hdGluZyBwb2ludCBhcml0aG1ldGljIGJhc2VkIG9uCi10aGUgR2VuZXJhbCBEZWNpbWFsIEFyaXRobWV0aWMgU3BlY2lmaWNhdGlvbjoKLQotICAgIGh0dHA6Ly9zcGVsZW90cm92ZS5jb20vZGVjaW1hbC9kZWNhcml0aC5odG1sCi0KLWFuZCBJRUVFIHN0YW5kYXJkIDg1NC0xOTg3OgotCi0gICAgaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9JRUVFXzg1NC0xOTg3Ci0KLURlY2ltYWwgZmxvYXRpbmcgcG9pbnQgaGFzIGZpbml0ZSBwcmVjaXNpb24gd2l0aCBhcmJpdHJhcmlseSBsYXJnZSBib3VuZHMuCi0KLVRoZSBwdXJwb3NlIG9mIHRoaXMgbW9kdWxlIGlzIHRvIHN1cHBvcnQgYXJpdGhtZXRpYyB1c2luZyBmYW1pbGlhcgotInNjaG9vbGhvdXNlIiBydWxlcyBhbmQgdG8gYXZvaWQgc29tZSBvZiB0aGUgdHJpY2t5IHJlcHJlc2VudGF0aW9uCi1pc3N1ZXMgYXNzb2NpYXRlZCB3aXRoIGJpbmFyeSBmbG9hdGluZyBwb2ludC4gIFRoZSBwYWNrYWdlIGlzIGVzcGVjaWFsbHkKLXVzZWZ1bCBmb3IgZmluYW5jaWFsIGFwcGxpY2F0aW9ucyBvciBmb3IgY29udGV4dHMgd2hlcmUgdXNlcnMgaGF2ZQotZXhwZWN0YXRpb25zIHRoYXQgYXJlIGF0IG9kZHMgd2l0aCBiaW5hcnkgZmxvYXRpbmcgcG9pbnQgKGZvciBpbnN0YW5jZSwKLWluIGJpbmFyeSBmbG9hdGluZyBwb2ludCwgMS4wMCAlIDAuMSBnaXZlcyAwLjA5OTk5OTk5OTk5OTk5OTk1IGluc3RlYWQKLW9mIDAuMDsgRGVjaW1hbCgnMS4wMCcpICUgRGVjaW1hbCgnMC4xJykgcmV0dXJucyB0aGUgZXhwZWN0ZWQKLURlY2ltYWwoJzAuMDAnKSkuCi0KLUhlcmUgYXJlIHNvbWUgZXhhbXBsZXMgb2YgdXNpbmcgdGhlIGRlY2ltYWwgbW9kdWxlOgotCi0+Pj4gZnJvbSBkZWNpbWFsIGltcG9ydCAqCi0+Pj4gc2V0Y29udGV4dChFeHRlbmRlZENvbnRleHQpCi0+Pj4gRGVjaW1hbCgwKQotRGVjaW1hbCgnMCcpCi0+Pj4gRGVjaW1hbCgnMScpCi1EZWNpbWFsKCcxJykKLT4+PiBEZWNpbWFsKCctLjAxMjMnKQotRGVjaW1hbCgnLTAuMDEyMycpCi0+Pj4gRGVjaW1hbCgxMjM0NTYpCi1EZWNpbWFsKCcxMjM0NTYnKQotPj4+IERlY2ltYWwoJzEyMy40NWUxMjM0NTY3OCcpCi1EZWNpbWFsKCcxLjIzNDVFKzEyMzQ1NjgwJykKLT4+PiBEZWNpbWFsKCcxLjMzJykgKyBEZWNpbWFsKCcxLjI3JykKLURlY2ltYWwoJzIuNjAnKQotPj4+IERlY2ltYWwoJzEyLjM0JykgKyBEZWNpbWFsKCczLjg3JykgLSBEZWNpbWFsKCcxOC40MScpCi1EZWNpbWFsKCctMi4yMCcpCi0+Pj4gZGlnID0gRGVjaW1hbCgxKQotPj4+IHByaW50KGRpZyAvIERlY2ltYWwoMykpCi0wLjMzMzMzMzMzMwotPj4+IGdldGNvbnRleHQoKS5wcmVjID0gMTgKLT4+PiBwcmludChkaWcgLyBEZWNpbWFsKDMpKQotMC4zMzMzMzMzMzMzMzMzMzMzMzMKLT4+PiBwcmludChkaWcuc3FydCgpKQotMQotPj4+IHByaW50KERlY2ltYWwoMykuc3FydCgpKQotMS43MzIwNTA4MDc1Njg4NzcyOQotPj4+IHByaW50KERlY2ltYWwoMykgKiogMTIzKQotNC44NTE5Mjc4MDk3Njg5NjQyN0UrNTgKLT4+PiBpbmYgPSBEZWNpbWFsKDEpIC8gRGVjaW1hbCgwKQotPj4+IHByaW50KGluZikKLUluZmluaXR5Ci0+Pj4gbmVnaW5mID0gRGVjaW1hbCgtMSkgLyBEZWNpbWFsKDApCi0+Pj4gcHJpbnQobmVnaW5mKQotLUluZmluaXR5Ci0+Pj4gcHJpbnQobmVnaW5mICsgaW5mKQotTmFOCi0+Pj4gcHJpbnQobmVnaW5mICogaW5mKQotLUluZmluaXR5Ci0+Pj4gcHJpbnQoZGlnIC8gMCkKLUluZmluaXR5Ci0+Pj4gZ2V0Y29udGV4dCgpLnRyYXBzW0RpdmlzaW9uQnlaZXJvXSA9IDEKLT4+PiBwcmludChkaWcgLyAwKQotVHJhY2ViYWNrIChtb3N0IHJlY2VudCBjYWxsIGxhc3QpOgotICAuLi4KLSAgLi4uCi0gIC4uLgotZGVjaW1hbC5EaXZpc2lvbkJ5WmVybzogeCAvIDAKLT4+PiBjID0gQ29udGV4dCgpCi0+Pj4gYy50cmFwc1tJbnZhbGlkT3BlcmF0aW9uXSA9IDAKLT4+PiBwcmludChjLmZsYWdzW0ludmFsaWRPcGVyYXRpb25dKQotMAotPj4+IGMuZGl2aWRlKERlY2ltYWwoMCksIERlY2ltYWwoMCkpCi1EZWNpbWFsKCdOYU4nKQotPj4+IGMudHJhcHNbSW52YWxpZE9wZXJhdGlvbl0gPSAxCi0+Pj4gcHJpbnQoYy5mbGFnc1tJbnZhbGlkT3BlcmF0aW9uXSkKLTEKLT4+PiBjLmZsYWdzW0ludmFsaWRPcGVyYXRpb25dID0gMAotPj4+IHByaW50KGMuZmxhZ3NbSW52YWxpZE9wZXJhdGlvbl0pCi0wCi0+Pj4gcHJpbnQoYy5kaXZpZGUoRGVjaW1hbCgwKSwgRGVjaW1hbCgwKSkpCi1UcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6Ci0gIC4uLgotICAuLi4KLSAgLi4uCi1kZWNpbWFsLkludmFsaWRPcGVyYXRpb246IDAgLyAwCi0+Pj4gcHJpbnQoYy5mbGFnc1tJbnZhbGlkT3BlcmF0aW9uXSkKLTEKLT4+PiBjLmZsYWdzW0ludmFsaWRPcGVyYXRpb25dID0gMAotPj4+IGMudHJhcHNbSW52YWxpZE9wZXJhdGlvbl0gPSAwCi0+Pj4gcHJpbnQoYy5kaXZpZGUoRGVjaW1hbCgwKSwgRGVjaW1hbCgwKSkpCi1OYU4KLT4+PiBwcmludChjLmZsYWdzW0ludmFsaWRPcGVyYXRpb25dKQotMQotPj4+Ci0iIiIKLQotX19hbGxfXyA9IFsKLSAgICAjIFR3byBtYWpvciBjbGFzc2VzCi0gICAgJ0RlY2ltYWwnLCAnQ29udGV4dCcsCi0KLSAgICAjIE5hbWVkIHR1cGxlIHJlcHJlc2VudGF0aW9uCi0gICAgJ0RlY2ltYWxUdXBsZScsCi0KLSAgICAjIENvbnRleHRzCi0gICAgJ0RlZmF1bHRDb250ZXh0JywgJ0Jhc2ljQ29udGV4dCcsICdFeHRlbmRlZENvbnRleHQnLAotCi0gICAgIyBFeGNlcHRpb25zCi0gICAgJ0RlY2ltYWxFeGNlcHRpb24nLCAnQ2xhbXBlZCcsICdJbnZhbGlkT3BlcmF0aW9uJywgJ0RpdmlzaW9uQnlaZXJvJywKLSAgICAnSW5leGFjdCcsICdSb3VuZGVkJywgJ1N1Ym5vcm1hbCcsICdPdmVyZmxvdycsICdVbmRlcmZsb3cnLAotICAgICdGbG9hdE9wZXJhdGlvbicsCi0KLSAgICAjIEV4Y2VwdGlvbmFsIGNvbmRpdGlvbnMgdGhhdCB0cmlnZ2VyIEludmFsaWRPcGVyYXRpb24KLSAgICAnRGl2aXNpb25JbXBvc3NpYmxlJywgJ0ludmFsaWRDb250ZXh0JywgJ0NvbnZlcnNpb25TeW50YXgnLCAnRGl2aXNpb25VbmRlZmluZWQnLAotCi0gICAgIyBDb25zdGFudHMgZm9yIHVzZSBpbiBzZXR0aW5nIHVwIGNvbnRleHRzCi0gICAgJ1JPVU5EX0RPV04nLCAnUk9VTkRfSEFMRl9VUCcsICdST1VORF9IQUxGX0VWRU4nLCAnUk9VTkRfQ0VJTElORycsCi0gICAgJ1JPVU5EX0ZMT09SJywgJ1JPVU5EX1VQJywgJ1JPVU5EX0hBTEZfRE9XTicsICdST1VORF8wNVVQJywKLQotICAgICMgRnVuY3Rpb25zIGZvciBtYW5pcHVsYXRpbmcgY29udGV4dHMKLSAgICAnc2V0Y29udGV4dCcsICdnZXRjb250ZXh0JywgJ2xvY2FsY29udGV4dCcsCi0KLSAgICAjIExpbWl0cyBmb3IgdGhlIEMgdmVyc2lvbiBmb3IgY29tcGF0aWJpbGl0eQotICAgICdNQVhfUFJFQycsICAnTUFYX0VNQVgnLCAnTUlOX0VNSU4nLCAnTUlOX0VUSU5ZJywKLQotICAgICMgQyB2ZXJzaW9uOiBjb21waWxlIHRpbWUgY2hvaWNlIHRoYXQgZW5hYmxlcyB0aGUgdGhyZWFkIGxvY2FsIGNvbnRleHQKLSAgICAnSEFWRV9USFJFQURTJwotXQotCi1fX3ZlcnNpb25fXyA9ICcxLjcwJyAgICAjIEhpZ2hlc3QgdmVyc2lvbiBvZiB0aGUgc3BlYyB0aGlzIGNvbXBsaWVzIHdpdGgKLSAgICAgICAgICAgICAgICAgICAgICAgICMgU2VlIGh0dHA6Ly9zcGVsZW90cm92ZS5jb20vZGVjaW1hbC8KLV9fbGlibXBkZWNfdmVyc2lvbl9fID0gIjIuNC4xIiAjIGNvbXBhdGlibGUgbGlibXBkZWMgdmVyc2lvbgotCi1pbXBvcnQgbWF0aCBhcyBfbWF0aAotaW1wb3J0IG51bWJlcnMgYXMgX251bWJlcnMKLWltcG9ydCBzeXMKIAogdHJ5OgotICAgIGZyb20gY29sbGVjdGlvbnMgaW1wb3J0IG5hbWVkdHVwbGUgYXMgX25hbWVkdHVwbGUKLSAgICBEZWNpbWFsVHVwbGUgPSBfbmFtZWR0dXBsZSgnRGVjaW1hbFR1cGxlJywgJ3NpZ24gZGlnaXRzIGV4cG9uZW50JykKLWV4Y2VwdCBJbXBvcnRFcnJvcjoKLSAgICBEZWNpbWFsVHVwbGUgPSBsYW1iZGEgKmFyZ3M6IGFyZ3MKLQotIyBSb3VuZGluZwotUk9VTkRfRE9XTiA9ICdST1VORF9ET1dOJwotUk9VTkRfSEFMRl9VUCA9ICdST1VORF9IQUxGX1VQJwotUk9VTkRfSEFMRl9FVkVOID0gJ1JPVU5EX0hBTEZfRVZFTicKLVJPVU5EX0NFSUxJTkcgPSAnUk9VTkRfQ0VJTElORycKLVJPVU5EX0ZMT09SID0gJ1JPVU5EX0ZMT09SJwotUk9VTkRfVVAgPSAnUk9VTkRfVVAnCi1ST1VORF9IQUxGX0RPV04gPSAnUk9VTkRfSEFMRl9ET1dOJwotUk9VTkRfMDVVUCA9ICdST1VORF8wNVVQJwotCi0jIENvbXBhdGliaWxpdHkgd2l0aCB0aGUgQyB2ZXJzaW9uCi1IQVZFX1RIUkVBRFMgPSBUcnVlCi1pZiBzeXMubWF4c2l6ZSA9PSAyKio2My0xOgotICAgIE1BWF9QUkVDID0gOTk5OTk5OTk5OTk5OTk5OTk5Ci0gICAgTUFYX0VNQVggPSA5OTk5OTk5OTk5OTk5OTk5OTkKLSAgICBNSU5fRU1JTiA9IC05OTk5OTk5OTk5OTk5OTk5OTkKLWVsc2U6Ci0gICAgTUFYX1BSRUMgPSA0MjUwMDAwMDAKLSAgICBNQVhfRU1BWCA9IDQyNTAwMDAwMAotICAgIE1JTl9FTUlOID0gLTQyNTAwMDAwMAotCi1NSU5fRVRJTlkgPSBNSU5fRU1JTiAtIChNQVhfUFJFQy0xKQotCi0jIEVycm9ycwotCi1jbGFzcyBEZWNpbWFsRXhjZXB0aW9uKEFyaXRobWV0aWNFcnJvcik6Ci0gICAgIiIiQmFzZSBleGNlcHRpb24gY2xhc3MuCi0KLSAgICBVc2VkIGV4Y2VwdGlvbnMgZGVyaXZlIGZyb20gdGhpcy4KLSAgICBJZiBhbiBleGNlcHRpb24gZGVyaXZlcyBmcm9tIGFub3RoZXIgZXhjZXB0aW9uIGJlc2lkZXMgdGhpcyAoc3VjaCBhcwotICAgIFVuZGVyZmxvdyAoSW5leGFjdCwgUm91bmRlZCwgU3Vibm9ybWFsKSB0aGF0IGluZGljYXRlcyB0aGF0IGl0IGlzIG9ubHkKLSAgICBjYWxsZWQgaWYgdGhlIG90aGVycyBhcmUgcHJlc2VudC4gIFRoaXMgaXNuJ3QgYWN0dWFsbHkgdXNlZCBmb3IKLSAgICBhbnl0aGluZywgdGhvdWdoLgotCi0gICAgaGFuZGxlICAtLSBDYWxsZWQgd2hlbiBjb250ZXh0Ll9yYWlzZV9lcnJvciBpcyBjYWxsZWQgYW5kIHRoZQotICAgICAgICAgICAgICAgdHJhcF9lbmFibGVyIGlzIG5vdCBzZXQuICBGaXJzdCBhcmd1bWVudCBpcyBzZWxmLCBzZWNvbmQgaXMgdGhlCi0gICAgICAgICAgICAgICBjb250ZXh0LiAgTW9yZSBhcmd1bWVudHMgY2FuIGJlIGdpdmVuLCB0aG9zZSBiZWluZyBhZnRlcgotICAgICAgICAgICAgICAgdGhlIGV4cGxhbmF0aW9uIGluIF9yYWlzZV9lcnJvciAoRm9yIGV4YW1wbGUsCi0gICAgICAgICAgICAgICBjb250ZXh0Ll9yYWlzZV9lcnJvcihOZXdFcnJvciwgJygteCkhJywgc2VsZi5fc2lnbikgd291bGQKLSAgICAgICAgICAgICAgIGNhbGwgTmV3RXJyb3IoKS5oYW5kbGUoY29udGV4dCwgc2VsZi5fc2lnbikuKQotCi0gICAgVG8gZGVmaW5lIGEgbmV3IGV4Y2VwdGlvbiwgaXQgc2hvdWxkIGJlIHN1ZmZpY2llbnQgdG8gaGF2ZSBpdCBkZXJpdmUKLSAgICBmcm9tIERlY2ltYWxFeGNlcHRpb24uCi0gICAgIiIiCi0gICAgZGVmIGhhbmRsZShzZWxmLCBjb250ZXh0LCAqYXJncyk6Ci0gICAgICAgIHBhc3MKLQotCi1jbGFzcyBDbGFtcGVkKERlY2ltYWxFeGNlcHRpb24pOgotICAgICIiIkV4cG9uZW50IG9mIGEgMCBjaGFuZ2VkIHRvIGZpdCBib3VuZHMuCi0KLSAgICBUaGlzIG9jY3VycyBhbmQgc2lnbmFscyBjbGFtcGVkIGlmIHRoZSBleHBvbmVudCBvZiBhIHJlc3VsdCBoYXMgYmVlbgotICAgIGFsdGVyZWQgaW4gb3JkZXIgdG8gZml0IHRoZSBjb25zdHJhaW50cyBvZiBhIHNwZWNpZmljIGNvbmNyZXRlCi0gICAgcmVwcmVzZW50YXRpb24uICBUaGlzIG1heSBvY2N1ciB3aGVuIHRoZSBleHBvbmVudCBvZiBhIHplcm8gcmVzdWx0IHdvdWxkCi0gICAgYmUgb3V0c2lkZSB0aGUgYm91bmRzIG9mIGEgcmVwcmVzZW50YXRpb24sIG9yIHdoZW4gYSBsYXJnZSBub3JtYWwKLSAgICBudW1iZXIgd291bGQgaGF2ZSBhbiBlbmNvZGVkIGV4cG9uZW50IHRoYXQgY2Fubm90IGJlIHJlcHJlc2VudGVkLiAgSW4KLSAgICB0aGlzIGxhdHRlciBjYXNlLCB0aGUgZXhwb25lbnQgaXMgcmVkdWNlZCB0byBmaXQgYW5kIHRoZSBjb3JyZXNwb25kaW5nCi0gICAgbnVtYmVyIG9mIHplcm8gZGlnaXRzIGFyZSBhcHBlbmRlZCB0byB0aGUgY29lZmZpY2llbnQgKCJmb2xkLWRvd24iKS4KLSAgICAiIiIKLQotY2xhc3MgSW52YWxpZE9wZXJhdGlvbihEZWNpbWFsRXhjZXB0aW9uKToKLSAgICAiIiJBbiBpbnZhbGlkIG9wZXJhdGlvbiB3YXMgcGVyZm9ybWVkLgotCi0gICAgVmFyaW91cyBiYWQgdGhpbmdzIGNhdXNlIHRoaXM6Ci0KLSAgICBTb21ldGhpbmcgY3JlYXRlcyBhIHNpZ25hbGluZyBOYU4KLSAgICAtSU5GICsgSU5GCi0gICAgMCAqICgrLSlJTkYKLSAgICAoKy0pSU5GIC8gKCstKUlORgotICAgIHggJSAwCi0gICAgKCstKUlORiAlIHgKLSAgICB4Ll9yZXNjYWxlKCBub24taW50ZWdlciApCi0gICAgc3FydCgteCkgLCB4ID4gMAotICAgIDAgKiogMAotICAgIHggKiogKG5vbi1pbnRlZ2VyKQotICAgIHggKiogKCstKUlORgotICAgIEFuIG9wZXJhbmQgaXMgaW52YWxpZAotCi0gICAgVGhlIHJlc3VsdCBvZiB0aGUgb3BlcmF0aW9uIGFmdGVyIHRoZXNlIGlzIGEgcXVpZXQgcG9zaXRpdmUgTmFOLAotICAgIGV4Y2VwdCB3aGVuIHRoZSBjYXVzZSBpcyBhIHNpZ25hbGluZyBOYU4sIGluIHdoaWNoIGNhc2UgdGhlIHJlc3VsdCBpcwotICAgIGFsc28gYSBxdWlldCBOYU4sIGJ1dCB3aXRoIHRoZSBvcmlnaW5hbCBzaWduLCBhbmQgYW4gb3B0aW9uYWwKLSAgICBkaWFnbm9zdGljIGluZm9ybWF0aW9uLgotICAgICIiIgotICAgIGRlZiBoYW5kbGUoc2VsZiwgY29udGV4dCwgKmFyZ3MpOgotICAgICAgICBpZiBhcmdzOgotICAgICAgICAgICAgYW5zID0gX2RlY19mcm9tX3RyaXBsZShhcmdzWzBdLl9zaWduLCBhcmdzWzBdLl9pbnQsICduJywgVHJ1ZSkKLSAgICAgICAgICAgIHJldHVybiBhbnMuX2ZpeF9uYW4oY29udGV4dCkKLSAgICAgICAgcmV0dXJuIF9OYU4KLQotY2xhc3MgQ29udmVyc2lvblN5bnRheChJbnZhbGlkT3BlcmF0aW9uKToKLSAgICAiIiJUcnlpbmcgdG8gY29udmVydCBiYWRseSBmb3JtZWQgc3RyaW5nLgotCi0gICAgVGhpcyBvY2N1cnMgYW5kIHNpZ25hbHMgaW52YWxpZC1vcGVyYXRpb24gaWYgYW4gc3RyaW5nIGlzIGJlaW5nCi0gICAgY29udmVydGVkIHRvIGEgbnVtYmVyIGFuZCBpdCBkb2VzIG5vdCBjb25mb3JtIHRvIHRoZSBudW1lcmljIHN0cmluZwotICAgIHN5bnRheC4gIFRoZSByZXN1bHQgaXMgWzAscU5hTl0uCi0gICAgIiIiCi0gICAgZGVmIGhhbmRsZShzZWxmLCBjb250ZXh0LCAqYXJncyk6Ci0gICAgICAgIHJldHVybiBfTmFOCi0KLWNsYXNzIERpdmlzaW9uQnlaZXJvKERlY2ltYWxFeGNlcHRpb24sIFplcm9EaXZpc2lvbkVycm9yKToKLSAgICAiIiJEaXZpc2lvbiBieSAwLgotCi0gICAgVGhpcyBvY2N1cnMgYW5kIHNpZ25hbHMgZGl2aXNpb24tYnktemVybyBpZiBkaXZpc2lvbiBvZiBhIGZpbml0ZSBudW1iZXIKLSAgICBieSB6ZXJvIHdhcyBhdHRlbXB0ZWQgKGR1cmluZyBhIGRpdmlkZS1pbnRlZ2VyIG9yIGRpdmlkZSBvcGVyYXRpb24sIG9yIGEKLSAgICBwb3dlciBvcGVyYXRpb24gd2l0aCBuZWdhdGl2ZSByaWdodC1oYW5kIG9wZXJhbmQpLCBhbmQgdGhlIGRpdmlkZW5kIHdhcwotICAgIG5vdCB6ZXJvLgotCi0gICAgVGhlIHJlc3VsdCBvZiB0aGUgb3BlcmF0aW9uIGlzIFtzaWduLGluZl0sIHdoZXJlIHNpZ24gaXMgdGhlIGV4Y2x1c2l2ZQotICAgIG9yIG9mIHRoZSBzaWducyBvZiB0aGUgb3BlcmFuZHMgZm9yIGRpdmlkZSwgb3IgaXMgMSBmb3IgYW4gb2RkIHBvd2VyIG9mCi0gICAgLTAsIGZvciBwb3dlci4KLSAgICAiIiIKLQotICAgIGRlZiBoYW5kbGUoc2VsZiwgY29udGV4dCwgc2lnbiwgKmFyZ3MpOgotICAgICAgICByZXR1cm4gX1NpZ25lZEluZmluaXR5W3NpZ25dCi0KLWNsYXNzIERpdmlzaW9uSW1wb3NzaWJsZShJbnZhbGlkT3BlcmF0aW9uKToKLSAgICAiIiJDYW5ub3QgcGVyZm9ybSB0aGUgZGl2aXNpb24gYWRlcXVhdGVseS4KLQotICAgIFRoaXMgb2NjdXJzIGFuZCBzaWduYWxzIGludmFsaWQtb3BlcmF0aW9uIGlmIHRoZSBpbnRlZ2VyIHJlc3VsdCBvZiBhCi0gICAgZGl2aWRlLWludGVnZXIgb3IgcmVtYWluZGVyIG9wZXJhdGlvbiBoYWQgdG9vIG1hbnkgZGlnaXRzICh3b3VsZCBiZQotICAgIGxvbmdlciB0aGFuIHByZWNpc2lvbikuICBUaGUgcmVzdWx0IGlzIFswLHFOYU5dLgotICAgICIiIgotCi0gICAgZGVmIGhhbmRsZShzZWxmLCBjb250ZXh0LCAqYXJncyk6Ci0gICAgICAgIHJldHVybiBfTmFOCi0KLWNsYXNzIERpdmlzaW9uVW5kZWZpbmVkKEludmFsaWRPcGVyYXRpb24sIFplcm9EaXZpc2lvbkVycm9yKToKLSAgICAiIiJVbmRlZmluZWQgcmVzdWx0IG9mIGRpdmlzaW9uLgotCi0gICAgVGhpcyBvY2N1cnMgYW5kIHNpZ25hbHMgaW52YWxpZC1vcGVyYXRpb24gaWYgZGl2aXNpb24gYnkgemVybyB3YXMKLSAgICBhdHRlbXB0ZWQgKGR1cmluZyBhIGRpdmlkZS1pbnRlZ2VyLCBkaXZpZGUsIG9yIHJlbWFpbmRlciBvcGVyYXRpb24pLCBhbmQKLSAgICB0aGUgZGl2aWRlbmQgaXMgYWxzbyB6ZXJvLiAgVGhlIHJlc3VsdCBpcyBbMCxxTmFOXS4KLSAgICAiIiIKLQotICAgIGRlZiBoYW5kbGUoc2VsZiwgY29udGV4dCwgKmFyZ3MpOgotICAgICAgICByZXR1cm4gX05hTgotCi1jbGFzcyBJbmV4YWN0KERlY2ltYWxFeGNlcHRpb24pOgotICAgICIiIkhhZCB0byByb3VuZCwgbG9zaW5nIGluZm9ybWF0aW9uLgotCi0gICAgVGhpcyBvY2N1cnMgYW5kIHNpZ25hbHMgaW5leGFjdCB3aGVuZXZlciB0aGUgcmVzdWx0IG9mIGFuIG9wZXJhdGlvbiBpcwotICAgIG5vdCBleGFjdCAodGhhdCBpcywgaXQgbmVlZGVkIHRvIGJlIHJvdW5kZWQgYW5kIGFueSBkaXNjYXJkZWQgZGlnaXRzCi0gICAgd2VyZSBub24temVybyksIG9yIGlmIGFuIG92ZXJmbG93IG9yIHVuZGVyZmxvdyBjb25kaXRpb24gb2NjdXJzLiAgVGhlCi0gICAgcmVzdWx0IGluIGFsbCBjYXNlcyBpcyB1bmNoYW5nZWQuCi0KLSAgICBUaGUgaW5leGFjdCBzaWduYWwgbWF5IGJlIHRlc3RlZCAob3IgdHJhcHBlZCkgdG8gZGV0ZXJtaW5lIGlmIGEgZ2l2ZW4KLSAgICBvcGVyYXRpb24gKG9yIHNlcXVlbmNlIG9mIG9wZXJhdGlvbnMpIHdhcyBpbmV4YWN0LgotICAgICIiIgotCi1jbGFzcyBJbnZhbGlkQ29udGV4dChJbnZhbGlkT3BlcmF0aW9uKToKLSAgICAiIiJJbnZhbGlkIGNvbnRleHQuICBVbmtub3duIHJvdW5kaW5nLCBmb3IgZXhhbXBsZS4KLQotICAgIFRoaXMgb2NjdXJzIGFuZCBzaWduYWxzIGludmFsaWQtb3BlcmF0aW9uIGlmIGFuIGludmFsaWQgY29udGV4dCB3YXMKLSAgICBkZXRlY3RlZCBkdXJpbmcgYW4gb3BlcmF0aW9uLiAgVGhpcyBjYW4gb2NjdXIgaWYgY29udGV4dHMgYXJlIG5vdCBjaGVja2VkCi0gICAgb24gY3JlYXRpb24gYW5kIGVpdGhlciB0aGUgcHJlY2lzaW9uIGV4Y2VlZHMgdGhlIGNhcGFiaWxpdHkgb2YgdGhlCi0gICAgdW5kZXJseWluZyBjb25jcmV0ZSByZXByZXNlbnRhdGlvbiBvciBhbiB1bmtub3duIG9yIHVuc3VwcG9ydGVkIHJvdW5kaW5nCi0gICAgd2FzIHNwZWNpZmllZC4gIFRoZXNlIGFzcGVjdHMgb2YgdGhlIGNvbnRleHQgbmVlZCBvbmx5IGJlIGNoZWNrZWQgd2hlbgotICAgIHRoZSB2YWx1ZXMgYXJlIHJlcXVpcmVkIHRvIGJlIHVzZWQuICBUaGUgcmVzdWx0IGlzIFswLHFOYU5dLgotICAgICIiIgotCi0gICAgZGVmIGhhbmRsZShzZWxmLCBjb250ZXh0LCAqYXJncyk6Ci0gICAgICAgIHJldHVybiBfTmFOCi0KLWNsYXNzIFJvdW5kZWQoRGVjaW1hbEV4Y2VwdGlvbik6Ci0gICAgIiIiTnVtYmVyIGdvdCByb3VuZGVkIChub3QgIG5lY2Vzc2FyaWx5IGNoYW5nZWQgZHVyaW5nIHJvdW5kaW5nKS4KLQotICAgIFRoaXMgb2NjdXJzIGFuZCBzaWduYWxzIHJvdW5kZWQgd2hlbmV2ZXIgdGhlIHJlc3VsdCBvZiBhbiBvcGVyYXRpb24gaXMKLSAgICByb3VuZGVkICh0aGF0IGlzLCBzb21lIHplcm8gb3Igbm9uLXplcm8gZGlnaXRzIHdlcmUgZGlzY2FyZGVkIGZyb20gdGhlCi0gICAgY29lZmZpY2llbnQpLCBvciBpZiBhbiBvdmVyZmxvdyBvciB1bmRlcmZsb3cgY29uZGl0aW9uIG9jY3Vycy4gIFRoZQotICAgIHJlc3VsdCBpbiBhbGwgY2FzZXMgaXMgdW5jaGFuZ2VkLgotCi0gICAgVGhlIHJvdW5kZWQgc2lnbmFsIG1heSBiZSB0ZXN0ZWQgKG9yIHRyYXBwZWQpIHRvIGRldGVybWluZSBpZiBhIGdpdmVuCi0gICAgb3BlcmF0aW9uIChvciBzZXF1ZW5jZSBvZiBvcGVyYXRpb25zKSBjYXVzZWQgYSBsb3NzIG9mIHByZWNpc2lvbi4KLSAgICAiIiIKLQotY2xhc3MgU3Vibm9ybWFsKERlY2ltYWxFeGNlcHRpb24pOgotICAgICIiIkV4cG9uZW50IDwgRW1pbiBiZWZvcmUgcm91bmRpbmcuCi0KLSAgICBUaGlzIG9jY3VycyBhbmQgc2lnbmFscyBzdWJub3JtYWwgd2hlbmV2ZXIgdGhlIHJlc3VsdCBvZiBhIGNvbnZlcnNpb24gb3IKLSAgICBvcGVyYXRpb24gaXMgc3Vibm9ybWFsICh0aGF0IGlzLCBpdHMgYWRqdXN0ZWQgZXhwb25lbnQgaXMgbGVzcyB0aGFuCi0gICAgRW1pbiwgYmVmb3JlIGFueSByb3VuZGluZykuICBUaGUgcmVzdWx0IGluIGFsbCBjYXNlcyBpcyB1bmNoYW5nZWQuCi0KLSAgICBUaGUgc3Vibm9ybWFsIHNpZ25hbCBtYXkgYmUgdGVzdGVkIChvciB0cmFwcGVkKSB0byBkZXRlcm1pbmUgaWYgYSBnaXZlbgotICAgIG9yIG9wZXJhdGlvbiAob3Igc2VxdWVuY2Ugb2Ygb3BlcmF0aW9ucykgeWllbGRlZCBhIHN1Ym5vcm1hbCByZXN1bHQuCi0gICAgIiIiCi0KLWNsYXNzIE92ZXJmbG93KEluZXhhY3QsIFJvdW5kZWQpOgotICAgICIiIk51bWVyaWNhbCBvdmVyZmxvdy4KLQotICAgIFRoaXMgb2NjdXJzIGFuZCBzaWduYWxzIG92ZXJmbG93IGlmIHRoZSBhZGp1c3RlZCBleHBvbmVudCBvZiBhIHJlc3VsdAotICAgIChmcm9tIGEgY29udmVyc2lvbiBvciBmcm9tIGFuIG9wZXJhdGlvbiB0aGF0IGlzIG5vdCBhbiBhdHRlbXB0IHRvIGRpdmlkZQotICAgIGJ5IHplcm8pLCBhZnRlciByb3VuZGluZywgd291bGQgYmUgZ3JlYXRlciB0aGFuIHRoZSBsYXJnZXN0IHZhbHVlIHRoYXQKLSAgICBjYW4gYmUgaGFuZGxlZCBieSB0aGUgaW1wbGVtZW50YXRpb24gKHRoZSB2YWx1ZSBFbWF4KS4KLQotICAgIFRoZSByZXN1bHQgZGVwZW5kcyBvbiB0aGUgcm91bmRpbmcgbW9kZToKLQotICAgIEZvciByb3VuZC1oYWxmLXVwIGFuZCByb3VuZC1oYWxmLWV2ZW4gKGFuZCBmb3Igcm91bmQtaGFsZi1kb3duIGFuZAotICAgIHJvdW5kLXVwLCBpZiBpbXBsZW1lbnRlZCksIHRoZSByZXN1bHQgb2YgdGhlIG9wZXJhdGlvbiBpcyBbc2lnbixpbmZdLAotICAgIHdoZXJlIHNpZ24gaXMgdGhlIHNpZ24gb2YgdGhlIGludGVybWVkaWF0ZSByZXN1bHQuICBGb3Igcm91bmQtZG93biwgdGhlCi0gICAgcmVzdWx0IGlzIHRoZSBsYXJnZXN0IGZpbml0ZSBudW1iZXIgdGhhdCBjYW4gYmUgcmVwcmVzZW50ZWQgaW4gdGhlCi0gICAgY3VycmVudCBwcmVjaXNpb24sIHdpdGggdGhlIHNpZ24gb2YgdGhlIGludGVybWVkaWF0ZSByZXN1bHQuICBGb3IKLSAgICByb3VuZC1jZWlsaW5nLCB0aGUgcmVzdWx0IGlzIHRoZSBzYW1lIGFzIGZvciByb3VuZC1kb3duIGlmIHRoZSBzaWduIG9mCi0gICAgdGhlIGludGVybWVkaWF0ZSByZXN1bHQgaXMgMSwgb3IgaXMgWzAsaW5mXSBvdGhlcndpc2UuICBGb3Igcm91bmQtZmxvb3IsCi0gICAgdGhlIHJlc3VsdCBpcyB0aGUgc2FtZSBhcyBmb3Igcm91bmQtZG93biBpZiB0aGUgc2lnbiBvZiB0aGUgaW50ZXJtZWRpYXRlCi0gICAgcmVzdWx0IGlzIDAsIG9yIGlzIFsxLGluZl0gb3RoZXJ3aXNlLiAgSW4gYWxsIGNhc2VzLCBJbmV4YWN0IGFuZCBSb3VuZGVkCi0gICAgd2lsbCBhbHNvIGJlIHJhaXNlZC4KLSAgICAiIiIKLQotICAgIGRlZiBoYW5kbGUoc2VsZiwgY29udGV4dCwgc2lnbiwgKmFyZ3MpOgotICAgICAgICBpZiBjb250ZXh0LnJvdW5kaW5nIGluIChST1VORF9IQUxGX1VQLCBST1VORF9IQUxGX0VWRU4sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJPVU5EX0hBTEZfRE9XTiwgUk9VTkRfVVApOgotICAgICAgICAgICAgcmV0dXJuIF9TaWduZWRJbmZpbml0eVtzaWduXQotICAgICAgICBpZiBzaWduID09IDA6Ci0gICAgICAgICAgICBpZiBjb250ZXh0LnJvdW5kaW5nID09IFJPVU5EX0NFSUxJTkc6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIF9TaWduZWRJbmZpbml0eVtzaWduXQotICAgICAgICAgICAgcmV0dXJuIF9kZWNfZnJvbV90cmlwbGUoc2lnbiwgJzknKmNvbnRleHQucHJlYywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0LkVtYXgtY29udGV4dC5wcmVjKzEpCi0gICAgICAgIGlmIHNpZ24gPT0gMToKLSAgICAgICAgICAgIGlmIGNvbnRleHQucm91bmRpbmcgPT0gUk9VTkRfRkxPT1I6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIF9TaWduZWRJbmZpbml0eVtzaWduXQotICAgICAgICAgICAgcmV0dXJuIF9kZWNfZnJvbV90cmlwbGUoc2lnbiwgJzknKmNvbnRleHQucHJlYywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGV4dC5FbWF4LWNvbnRleHQucHJlYysxKQotCi0KLWNsYXNzIFVuZGVyZmxvdyhJbmV4YWN0LCBSb3VuZGVkLCBTdWJub3JtYWwpOgotICAgICIiIk51bWVyaWNhbCB1bmRlcmZsb3cgd2l0aCByZXN1bHQgcm91bmRlZCB0byAwLgotCi0gICAgVGhpcyBvY2N1cnMgYW5kIHNpZ25hbHMgdW5kZXJmbG93IGlmIGEgcmVzdWx0IGlzIGluZXhhY3QgYW5kIHRoZQotICAgIGFkanVzdGVkIGV4cG9uZW50IG9mIHRoZSByZXN1bHQgd291bGQgYmUgc21hbGxlciAobW9yZSBuZWdhdGl2ZSkgdGhhbgotICAgIHRoZSBzbWFsbGVzdCB2YWx1ZSB0aGF0IGNhbiBiZSBoYW5kbGVkIGJ5IHRoZSBpbXBsZW1lbnRhdGlvbiAodGhlIHZhbHVlCi0gICAgRW1pbikuICBUaGF0IGlzLCB0aGUgcmVzdWx0IGlzIGJvdGggaW5leGFjdCBhbmQgc3Vibm9ybWFsLgotCi0gICAgVGhlIHJlc3VsdCBhZnRlciBhbiB1bmRlcmZsb3cgd2lsbCBiZSBhIHN1Ym5vcm1hbCBudW1iZXIgcm91bmRlZCwgaWYKLSAgICBuZWNlc3NhcnksIHNvIHRoYXQgaXRzIGV4cG9uZW50IGlzIG5vdCBsZXNzIHRoYW4gRXRpbnkuICBUaGlzIG1heSByZXN1bHQKLSAgICBpbiAwIHdpdGggdGhlIHNpZ24gb2YgdGhlIGludGVybWVkaWF0ZSByZXN1bHQgYW5kIGFuIGV4cG9uZW50IG9mIEV0aW55LgotCi0gICAgSW4gYWxsIGNhc2VzLCBJbmV4YWN0LCBSb3VuZGVkLCBhbmQgU3Vibm9ybWFsIHdpbGwgYWxzbyBiZSByYWlzZWQuCi0gICAgIiIiCi0KLWNsYXNzIEZsb2F0T3BlcmF0aW9uKERlY2ltYWxFeGNlcHRpb24sIFR5cGVFcnJvcik6Ci0gICAgIiIiRW5hYmxlIHN0cmljdGVyIHNlbWFudGljcyBmb3IgbWl4aW5nIGZsb2F0cyBhbmQgRGVjaW1hbHMuCi0KLSAgICBJZiB0aGUgc2lnbmFsIGlzIG5vdCB0cmFwcGVkIChkZWZhdWx0KSwgbWl4aW5nIGZsb2F0cyBhbmQgRGVjaW1hbHMgaXMKLSAgICBwZXJtaXR0ZWQgaW4gdGhlIERlY2ltYWwoKSBjb25zdHJ1Y3RvciwgY29udGV4dC5jcmVhdGVfZGVjaW1hbCgpIGFuZAotICAgIGFsbCBjb21wYXJpc29uIG9wZXJhdG9ycy4gQm90aCBjb252ZXJzaW9uIGFuZCBjb21wYXJpc29ucyBhcmUgZXhhY3QuCi0gICAgQW55IG9jY3VycmVuY2Ugb2YgYSBtaXhlZCBvcGVyYXRpb24gaXMgc2lsZW50bHkgcmVjb3JkZWQgYnkgc2V0dGluZwotICAgIEZsb2F0T3BlcmF0aW9uIGluIHRoZSBjb250ZXh0IGZsYWdzLiAgRXhwbGljaXQgY29udmVyc2lvbnMgd2l0aAotICAgIERlY2ltYWwuZnJvbV9mbG9hdCgpIG9yIGNvbnRleHQuY3JlYXRlX2RlY2ltYWxfZnJvbV9mbG9hdCgpIGRvIG5vdAotICAgIHNldCB0aGUgZmxhZy4KLQotICAgIE90aGVyd2lzZSAodGhlIHNpZ25hbCBpcyB0cmFwcGVkKSwgb25seSBlcXVhbGl0eSBjb21wYXJpc29ucyBhbmQgZXhwbGljaXQKLSAgICBjb252ZXJzaW9ucyBhcmUgc2lsZW50LiBBbGwgb3RoZXIgbWl4ZWQgb3BlcmF0aW9ucyByYWlzZSBGbG9hdE9wZXJhdGlvbi4KLSAgICAiIiIKLQotIyBMaXN0IG9mIHB1YmxpYyB0cmFwcyBhbmQgZmxhZ3MKLV9zaWduYWxzID0gW0NsYW1wZWQsIERpdmlzaW9uQnlaZXJvLCBJbmV4YWN0LCBPdmVyZmxvdywgUm91bmRlZCwKLSAgICAgICAgICAgIFVuZGVyZmxvdywgSW52YWxpZE9wZXJhdGlvbiwgU3Vibm9ybWFsLCBGbG9hdE9wZXJhdGlvbl0KLQotIyBNYXAgY29uZGl0aW9ucyAocGVyIHRoZSBzcGVjKSB0byBzaWduYWxzCi1fY29uZGl0aW9uX21hcCA9IHtDb252ZXJzaW9uU3ludGF4OkludmFsaWRPcGVyYXRpb24sCi0gICAgICAgICAgICAgICAgICBEaXZpc2lvbkltcG9zc2libGU6SW52YWxpZE9wZXJhdGlvbiwKLSAgICAgICAgICAgICAgICAgIERpdmlzaW9uVW5kZWZpbmVkOkludmFsaWRPcGVyYXRpb24sCi0gICAgICAgICAgICAgICAgICBJbnZhbGlkQ29udGV4dDpJbnZhbGlkT3BlcmF0aW9ufQotCi0jIFZhbGlkIHJvdW5kaW5nIG1vZGVzCi1fcm91bmRpbmdfbW9kZXMgPSAoUk9VTkRfRE9XTiwgUk9VTkRfSEFMRl9VUCwgUk9VTkRfSEFMRl9FVkVOLCBST1VORF9DRUlMSU5HLAotICAgICAgICAgICAgICAgICAgIFJPVU5EX0ZMT09SLCBST1VORF9VUCwgUk9VTkRfSEFMRl9ET1dOLCBST1VORF8wNVVQKQotCi0jIyMjIyBDb250ZXh0IEZ1bmN0aW9ucyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotCi0jIFRoZSBnZXRjb250ZXh0KCkgYW5kIHNldGNvbnRleHQoKSBmdW5jdGlvbiBtYW5hZ2UgYWNjZXNzIHRvIGEgdGhyZWFkLWxvY2FsCi0jIGN1cnJlbnQgY29udGV4dC4gIFB5Mi40IG9mZmVycyBkaXJlY3Qgc3VwcG9ydCBmb3IgdGhyZWFkIGxvY2Fscy4gIElmIHRoYXQKLSMgaXMgbm90IGF2YWlsYWJsZSwgdXNlIHRocmVhZGluZy5jdXJyZW50X3RocmVhZCgpIHdoaWNoIGlzIHNsb3dlciBidXQgd2lsbAotIyB3b3JrIGZvciBvbGRlciBQeXRob25zLiAgSWYgdGhyZWFkcyBhcmUgbm90IHBhcnQgb2YgdGhlIGJ1aWxkLCBjcmVhdGUgYQotIyBtb2NrIHRocmVhZGluZyBvYmplY3Qgd2l0aCB0aHJlYWRpbmcubG9jYWwoKSByZXR1cm5pbmcgdGhlIG1vZHVsZSBuYW1lc3BhY2UuCi0KLXRyeToKLSAgICBpbXBvcnQgdGhyZWFkaW5nCi1leGNlcHQgSW1wb3J0RXJyb3I6Ci0gICAgIyBQeXRob24gd2FzIGNvbXBpbGVkIHdpdGhvdXQgdGhyZWFkczsgY3JlYXRlIGEgbW9jayBvYmplY3QgaW5zdGVhZAotICAgIGNsYXNzIE1vY2tUaHJlYWRpbmcob2JqZWN0KToKLSAgICAgICAgZGVmIGxvY2FsKHNlbGYsIHN5cz1zeXMpOgotICAgICAgICAgICAgcmV0dXJuIHN5cy5tb2R1bGVzW19fbmFtZV9fXQotICAgIHRocmVhZGluZyA9IE1vY2tUaHJlYWRpbmcoKQotICAgIGRlbCBNb2NrVGhyZWFkaW5nCi0KLXRyeToKLSAgICB0aHJlYWRpbmcubG9jYWwKLQotZXhjZXB0IEF0dHJpYnV0ZUVycm9yOgotCi0gICAgIyBUbyBmaXggcmVsb2FkaW5nLCBmb3JjZSBpdCB0byBjcmVhdGUgYSBuZXcgY29udGV4dAotICAgICMgT2xkIGNvbnRleHRzIGhhdmUgZGlmZmVyZW50IGV4Y2VwdGlvbnMgaW4gdGhlaXIgZGljdHMsIG1ha2luZyBwcm9ibGVtcy4KLSAgICBpZiBoYXNhdHRyKHRocmVhZGluZy5jdXJyZW50X3RocmVhZCgpLCAnX19kZWNpbWFsX2NvbnRleHRfXycpOgotICAgICAgICBkZWwgdGhyZWFkaW5nLmN1cnJlbnRfdGhyZWFkKCkuX19kZWNpbWFsX2NvbnRleHRfXwotCi0gICAgZGVmIHNldGNvbnRleHQoY29udGV4dCk6Ci0gICAgICAgICIiIlNldCB0aGlzIHRocmVhZCdzIGNvbnRleHQgdG8gY29udGV4dC4iIiIKLSAgICAgICAgaWYgY29udGV4dCBpbiAoRGVmYXVsdENvbnRleHQsIEJhc2ljQ29udGV4dCwgRXh0ZW5kZWRDb250ZXh0KToKLSAgICAgICAgICAgIGNvbnRleHQgPSBjb250ZXh0LmNvcHkoKQotICAgICAgICAgICAgY29udGV4dC5jbGVhcl9mbGFncygpCi0gICAgICAgIHRocmVhZGluZy5jdXJyZW50X3RocmVhZCgpLl9fZGVjaW1hbF9jb250ZXh0X18gPSBjb250ZXh0Ci0KLSAgICBkZWYgZ2V0Y29udGV4dCgpOgotICAgICAgICAiIiJSZXR1cm5zIHRoaXMgdGhyZWFkJ3MgY29udGV4dC4KLQotICAgICAgICBJZiB0aGlzIHRocmVhZCBkb2VzIG5vdCB5ZXQgaGF2ZSBhIGNvbnRleHQsIHJldHVybnMKLSAgICAgICAgYSBuZXcgY29udGV4dCBhbmQgc2V0cyB0aGlzIHRocmVhZCdzIGNvbnRleHQuCi0gICAgICAgIE5ldyBjb250ZXh0cyBhcmUgY29waWVzIG9mIERlZmF1bHRDb250ZXh0LgotICAgICAgICAiIiIKLSAgICAgICAgdHJ5OgotICAgICAgICAgICAgcmV0dXJuIHRocmVhZGluZy5jdXJyZW50X3RocmVhZCgpLl9fZGVjaW1hbF9jb250ZXh0X18KLSAgICAgICAgZXhjZXB0IEF0dHJpYnV0ZUVycm9yOgotICAgICAgICAgICAgY29udGV4dCA9IENvbnRleHQoKQotICAgICAgICAgICAgdGhyZWFkaW5nLmN1cnJlbnRfdGhyZWFkKCkuX19kZWNpbWFsX2NvbnRleHRfXyA9IGNvbnRleHQKLSAgICAgICAgICAgIHJldHVybiBjb250ZXh0Ci0KLWVsc2U6Ci0KLSAgICBsb2NhbCA9IHRocmVhZGluZy5sb2NhbCgpCi0gICAgaWYgaGFzYXR0cihsb2NhbCwgJ19fZGVjaW1hbF9jb250ZXh0X18nKToKLSAgICAgICAgZGVsIGxvY2FsLl9fZGVjaW1hbF9jb250ZXh0X18KLQotICAgIGRlZiBnZXRjb250ZXh0KF9sb2NhbD1sb2NhbCk6Ci0gICAgICAgICIiIlJldHVybnMgdGhpcyB0aHJlYWQncyBjb250ZXh0LgotCi0gICAgICAgIElmIHRoaXMgdGhyZWFkIGRvZXMgbm90IHlldCBoYXZlIGEgY29udGV4dCwgcmV0dXJucwotICAgICAgICBhIG5ldyBjb250ZXh0IGFuZCBzZXRzIHRoaXMgdGhyZWFkJ3MgY29udGV4dC4KLSAgICAgICAgTmV3IGNvbnRleHRzIGFyZSBjb3BpZXMgb2YgRGVmYXVsdENvbnRleHQuCi0gICAgICAgICIiIgotICAgICAgICB0cnk6Ci0gICAgICAgICAgICByZXR1cm4gX2xvY2FsLl9fZGVjaW1hbF9jb250ZXh0X18KLSAgICAgICAgZXhjZXB0IEF0dHJpYnV0ZUVycm9yOgotICAgICAgICAgICAgY29udGV4dCA9IENvbnRleHQoKQotICAgICAgICAgICAgX2xvY2FsLl9fZGVjaW1hbF9jb250ZXh0X18gPSBjb250ZXh0Ci0gICAgICAgICAgICByZXR1cm4gY29udGV4dAotCi0gICAgZGVmIHNldGNvbnRleHQoY29udGV4dCwgX2xvY2FsPWxvY2FsKToKLSAgICAgICAgIiIiU2V0IHRoaXMgdGhyZWFkJ3MgY29udGV4dCB0byBjb250ZXh0LiIiIgotICAgICAgICBpZiBjb250ZXh0IGluIChEZWZhdWx0Q29udGV4dCwgQmFzaWNDb250ZXh0LCBFeHRlbmRlZENvbnRleHQpOgotICAgICAgICAgICAgY29udGV4dCA9IGNvbnRleHQuY29weSgpCi0gICAgICAgICAgICBjb250ZXh0LmNsZWFyX2ZsYWdzKCkKLSAgICAgICAgX2xvY2FsLl9fZGVjaW1hbF9jb250ZXh0X18gPSBjb250ZXh0Ci0KLSAgICBkZWwgdGhyZWFkaW5nLCBsb2NhbCAgICAgICAgIyBEb24ndCBjb250YW1pbmF0ZSB0aGUgbmFtZXNwYWNlCi0KLWRlZiBsb2NhbGNvbnRleHQoY3R4PU5vbmUpOgotICAgICIiIlJldHVybiBhIGNvbnRleHQgbWFuYWdlciBmb3IgYSBjb3B5IG9mIHRoZSBzdXBwbGllZCBjb250ZXh0Ci0KLSAgICBVc2VzIGEgY29weSBvZiB0aGUgY3VycmVudCBjb250ZXh0IGlmIG5vIGNvbnRleHQgaXMgc3BlY2lmaWVkCi0gICAgVGhlIHJldHVybmVkIGNvbnRleHQgbWFuYWdlciBjcmVhdGVzIGEgbG9jYWwgZGVjaW1hbCBjb250ZXh0Ci0gICAgaW4gYSB3aXRoIHN0YXRlbWVudDoKLSAgICAgICAgZGVmIHNpbih4KToKLSAgICAgICAgICAgICB3aXRoIGxvY2FsY29udGV4dCgpIGFzIGN0eDoKLSAgICAgICAgICAgICAgICAgY3R4LnByZWMgKz0gMgotICAgICAgICAgICAgICAgICAjIFJlc3Qgb2Ygc2luIGNhbGN1bGF0aW9uIGFsZ29yaXRobQotICAgICAgICAgICAgICAgICAjIHVzZXMgYSBwcmVjaXNpb24gMiBncmVhdGVyIHRoYW4gbm9ybWFsCi0gICAgICAgICAgICAgcmV0dXJuICtzICAjIENvbnZlcnQgcmVzdWx0IHRvIG5vcm1hbCBwcmVjaXNpb24KLQotICAgICAgICAgZGVmIHNpbih4KToKLSAgICAgICAgICAgICB3aXRoIGxvY2FsY29udGV4dChFeHRlbmRlZENvbnRleHQpOgotICAgICAgICAgICAgICAgICAjIFJlc3Qgb2Ygc2luIGNhbGN1bGF0aW9uIGFsZ29yaXRobQotICAgICAgICAgICAgICAgICAjIHVzZXMgdGhlIEV4dGVuZGVkIENvbnRleHQgZnJvbSB0aGUKLSAgICAgICAgICAgICAgICAgIyBHZW5lcmFsIERlY2ltYWwgQXJpdGhtZXRpYyBTcGVjaWZpY2F0aW9uCi0gICAgICAgICAgICAgcmV0dXJuICtzICAjIENvbnZlcnQgcmVzdWx0IHRvIG5vcm1hbCBjb250ZXh0Ci0KLSAgICA+Pj4gc2V0Y29udGV4dChEZWZhdWx0Q29udGV4dCkKLSAgICA+Pj4gcHJpbnQoZ2V0Y29udGV4dCgpLnByZWMpCi0gICAgMjgKLSAgICA+Pj4gd2l0aCBsb2NhbGNvbnRleHQoKToKLSAgICAuLi4gICAgIGN0eCA9IGdldGNvbnRleHQoKQotICAgIC4uLiAgICAgY3R4LnByZWMgKz0gMgotICAgIC4uLiAgICAgcHJpbnQoY3R4LnByZWMpCi0gICAgLi4uCi0gICAgMzAKLSAgICA+Pj4gd2l0aCBsb2NhbGNvbnRleHQoRXh0ZW5kZWRDb250ZXh0KToKLSAgICAuLi4gICAgIHByaW50KGdldGNvbnRleHQoKS5wcmVjKQotICAgIC4uLgotICAgIDkKLSAgICA+Pj4gcHJpbnQoZ2V0Y29udGV4dCgpLnByZWMpCi0gICAgMjgKLSAgICAiIiIKLSAgICBpZiBjdHggaXMgTm9uZTogY3R4ID0gZ2V0Y29udGV4dCgpCi0gICAgcmV0dXJuIF9Db250ZXh0TWFuYWdlcihjdHgpCi0KLQotIyMjIyMgRGVjaW1hbCBjbGFzcyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCi0KLSMgRG8gbm90IHN1YmNsYXNzIERlY2ltYWwgZnJvbSBudW1iZXJzLlJlYWwgYW5kIGRvIG5vdCByZWdpc3RlciBpdCBhcyBzdWNoCi0jIChiZWNhdXNlIERlY2ltYWxzIGFyZSBub3QgaW50ZXJvcGVyYWJsZSB3aXRoIGZsb2F0cykuICBTZWUgdGhlIG5vdGVzIGluCi0jIG51bWJlcnMucHkgZm9yIG1vcmUgZGV0YWlsLgotCi1jbGFzcyBEZWNpbWFsKG9iamVjdCk6Ci0gICAgIiIiRmxvYXRpbmcgcG9pbnQgY2xhc3MgZm9yIGRlY2ltYWwgYXJpdGhtZXRpYy4iIiIKLQotICAgIF9fc2xvdHNfXyA9ICgnX2V4cCcsJ19pbnQnLCdfc2lnbicsICdfaXNfc3BlY2lhbCcpCi0gICAgIyBHZW5lcmFsbHksIHRoZSB2YWx1ZSBvZiB0aGUgRGVjaW1hbCBpbnN0YW5jZSBpcyBnaXZlbiBieQotICAgICMgICgtMSkqKl9zaWduICogX2ludCAqIDEwKipfZXhwCi0gICAgIyBTcGVjaWFsIHZhbHVlcyBhcmUgc2lnbmlmaWVkIGJ5IF9pc19zcGVjaWFsID09IFRydWUKLQotICAgICMgV2UncmUgaW1tdXRhYmxlLCBzbyB1c2UgX19uZXdfXyBub3QgX19pbml0X18KLSAgICBkZWYgX19uZXdfXyhjbHMsIHZhbHVlPSIwIiwgY29udGV4dD1Ob25lKToKLSAgICAgICAgIiIiQ3JlYXRlIGEgZGVjaW1hbCBwb2ludCBpbnN0YW5jZS4KLQotICAgICAgICA+Pj4gRGVjaW1hbCgnMy4xNCcpICAgICAgICAgICAgICAjIHN0cmluZyBpbnB1dAotICAgICAgICBEZWNpbWFsKCczLjE0JykKLSAgICAgICAgPj4+IERlY2ltYWwoKDAsICgzLCAxLCA0KSwgLTIpKSAgIyB0dXBsZSAoc2lnbiwgZGlnaXRfdHVwbGUsIGV4cG9uZW50KQotICAgICAgICBEZWNpbWFsKCczLjE0JykKLSAgICAgICAgPj4+IERlY2ltYWwoMzE0KSAgICAgICAgICAgICAgICAgIyBpbnQKLSAgICAgICAgRGVjaW1hbCgnMzE0JykKLSAgICAgICAgPj4+IERlY2ltYWwoRGVjaW1hbCgzMTQpKSAgICAgICAgIyBhbm90aGVyIGRlY2ltYWwgaW5zdGFuY2UKLSAgICAgICAgRGVjaW1hbCgnMzE0JykKLSAgICAgICAgPj4+IERlY2ltYWwoJyAgMy4xNCAgXFxuJykgICAgICAgICMgbGVhZGluZyBhbmQgdHJhaWxpbmcgd2hpdGVzcGFjZSBva2F5Ci0gICAgICAgIERlY2ltYWwoJzMuMTQnKQotICAgICAgICAiIiIKLQotICAgICAgICAjIE5vdGUgdGhhdCB0aGUgY29lZmZpY2llbnQsIHNlbGYuX2ludCwgaXMgYWN0dWFsbHkgc3RvcmVkIGFzCi0gICAgICAgICMgYSBzdHJpbmcgcmF0aGVyIHRoYW4gYXMgYSB0dXBsZSBvZiBkaWdpdHMuICBUaGlzIHNwZWVkcyB1cAotICAgICAgICAjIHRoZSAiZGlnaXRzIHRvIGludGVnZXIiIGFuZCAiaW50ZWdlciB0byBkaWdpdHMiIGNvbnZlcnNpb25zCi0gICAgICAgICMgdGhhdCBhcmUgdXNlZCBpbiBhbG1vc3QgZXZlcnkgYXJpdGhtZXRpYyBvcGVyYXRpb24gb24KLSAgICAgICAgIyBEZWNpbWFscy4gIFRoaXMgaXMgYW4gaW50ZXJuYWwgZGV0YWlsOiB0aGUgYXNfdHVwbGUgZnVuY3Rpb24KLSAgICAgICAgIyBhbmQgdGhlIERlY2ltYWwgY29uc3RydWN0b3Igc3RpbGwgZGVhbCB3aXRoIHR1cGxlcyBvZgotICAgICAgICAjIGRpZ2l0cy4KLQotICAgICAgICBzZWxmID0gb2JqZWN0Ll9fbmV3X18oY2xzKQotCi0gICAgICAgICMgRnJvbSBhIHN0cmluZwotICAgICAgICAjIFJFcyBpbnNpc3Qgb24gcmVhbCBzdHJpbmdzLCBzbyB3ZSBjYW4gdG9vLgotICAgICAgICBpZiBpc2luc3RhbmNlKHZhbHVlLCBzdHIpOgotICAgICAgICAgICAgbSA9IF9wYXJzZXIodmFsdWUuc3RyaXAoKSkKLSAgICAgICAgICAgIGlmIG0gaXMgTm9uZToKLSAgICAgICAgICAgICAgICBpZiBjb250ZXh0IGlzIE5vbmU6Ci0gICAgICAgICAgICAgICAgICAgIGNvbnRleHQgPSBnZXRjb250ZXh0KCkKLSAgICAgICAgICAgICAgICByZXR1cm4gY29udGV4dC5fcmFpc2VfZXJyb3IoQ29udmVyc2lvblN5bnRheCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkludmFsaWQgbGl0ZXJhbCBmb3IgRGVjaW1hbDogJXIiICUgdmFsdWUpCi0KLSAgICAgICAgICAgIGlmIG0uZ3JvdXAoJ3NpZ24nKSA9PSAiLSI6Ci0gICAgICAgICAgICAgICAgc2VsZi5fc2lnbiA9IDEKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgc2VsZi5fc2lnbiA9IDAKLSAgICAgICAgICAgIGludHBhcnQgPSBtLmdyb3VwKCdpbnQnKQotICAgICAgICAgICAgaWYgaW50cGFydCBpcyBub3QgTm9uZToKLSAgICAgICAgICAgICAgICAjIGZpbml0ZSBudW1iZXIKLSAgICAgICAgICAgICAgICBmcmFjcGFydCA9IG0uZ3JvdXAoJ2ZyYWMnKSBvciAnJwotICAgICAgICAgICAgICAgIGV4cCA9IGludChtLmdyb3VwKCdleHAnKSBvciAnMCcpCi0gICAgICAgICAgICAgICAgc2VsZi5faW50ID0gc3RyKGludChpbnRwYXJ0K2ZyYWNwYXJ0KSkKLSAgICAgICAgICAgICAgICBzZWxmLl9leHAgPSBleHAgLSBsZW4oZnJhY3BhcnQpCi0gICAgICAgICAgICAgICAgc2VsZi5faXNfc3BlY2lhbCA9IEZhbHNlCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIGRpYWcgPSBtLmdyb3VwKCdkaWFnJykKLSAgICAgICAgICAgICAgICBpZiBkaWFnIGlzIG5vdCBOb25lOgotICAgICAgICAgICAgICAgICAgICAjIE5hTgotICAgICAgICAgICAgICAgICAgICBzZWxmLl9pbnQgPSBzdHIoaW50KGRpYWcgb3IgJzAnKSkubHN0cmlwKCcwJykKLSAgICAgICAgICAgICAgICAgICAgaWYgbS5ncm91cCgnc2lnbmFsJyk6Ci0gICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9leHAgPSAnTicKLSAgICAgICAgICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX2V4cCA9ICduJwotICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgICMgaW5maW5pdHkKLSAgICAgICAgICAgICAgICAgICAgc2VsZi5faW50ID0gJzAnCi0gICAgICAgICAgICAgICAgICAgIHNlbGYuX2V4cCA9ICdGJwotICAgICAgICAgICAgICAgIHNlbGYuX2lzX3NwZWNpYWwgPSBUcnVlCi0gICAgICAgICAgICByZXR1cm4gc2VsZgotCi0gICAgICAgICMgRnJvbSBhbiBpbnRlZ2VyCi0gICAgICAgIGlmIGlzaW5zdGFuY2UodmFsdWUsIGludCk6Ci0gICAgICAgICAgICBpZiB2YWx1ZSA+PSAwOgotICAgICAgICAgICAgICAgIHNlbGYuX3NpZ24gPSAwCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIHNlbGYuX3NpZ24gPSAxCi0gICAgICAgICAgICBzZWxmLl9leHAgPSAwCi0gICAgICAgICAgICBzZWxmLl9pbnQgPSBzdHIoYWJzKHZhbHVlKSkKLSAgICAgICAgICAgIHNlbGYuX2lzX3NwZWNpYWwgPSBGYWxzZQotICAgICAgICAgICAgcmV0dXJuIHNlbGYKLQotICAgICAgICAjIEZyb20gYW5vdGhlciBkZWNpbWFsCi0gICAgICAgIGlmIGlzaW5zdGFuY2UodmFsdWUsIERlY2ltYWwpOgotICAgICAgICAgICAgc2VsZi5fZXhwICA9IHZhbHVlLl9leHAKLSAgICAgICAgICAgIHNlbGYuX3NpZ24gPSB2YWx1ZS5fc2lnbgotICAgICAgICAgICAgc2VsZi5faW50ICA9IHZhbHVlLl9pbnQKLSAgICAgICAgICAgIHNlbGYuX2lzX3NwZWNpYWwgID0gdmFsdWUuX2lzX3NwZWNpYWwKLSAgICAgICAgICAgIHJldHVybiBzZWxmCi0KLSAgICAgICAgIyBGcm9tIGFuIGludGVybmFsIHdvcmtpbmcgdmFsdWUKLSAgICAgICAgaWYgaXNpbnN0YW5jZSh2YWx1ZSwgX1dvcmtSZXApOgotICAgICAgICAgICAgc2VsZi5fc2lnbiA9IHZhbHVlLnNpZ24KLSAgICAgICAgICAgIHNlbGYuX2ludCA9IHN0cih2YWx1ZS5pbnQpCi0gICAgICAgICAgICBzZWxmLl9leHAgPSBpbnQodmFsdWUuZXhwKQotICAgICAgICAgICAgc2VsZi5faXNfc3BlY2lhbCA9IEZhbHNlCi0gICAgICAgICAgICByZXR1cm4gc2VsZgotCi0gICAgICAgICMgdHVwbGUvbGlzdCBjb252ZXJzaW9uIChwb3NzaWJseSBmcm9tIGFzX3R1cGxlKCkpCi0gICAgICAgIGlmIGlzaW5zdGFuY2UodmFsdWUsIChsaXN0LHR1cGxlKSk6Ci0gICAgICAgICAgICBpZiBsZW4odmFsdWUpICE9IDM6Ci0gICAgICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcignSW52YWxpZCB0dXBsZSBzaXplIGluIGNyZWF0aW9uIG9mIERlY2ltYWwgJwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Zyb20gbGlzdCBvciB0dXBsZS4gIFRoZSBsaXN0IG9yIHR1cGxlICcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzaG91bGQgaGF2ZSBleGFjdGx5IHRocmVlIGVsZW1lbnRzLicpCi0gICAgICAgICAgICAjIHByb2Nlc3Mgc2lnbi4gIFRoZSBpc2luc3RhbmNlIHRlc3QgcmVqZWN0cyBmbG9hdHMKLSAgICAgICAgICAgIGlmIG5vdCAoaXNpbnN0YW5jZSh2YWx1ZVswXSwgaW50KSBhbmQgdmFsdWVbMF0gaW4gKDAsMSkpOgotICAgICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIkludmFsaWQgc2lnbi4gIFRoZSBmaXJzdCB2YWx1ZSBpbiB0aGUgdHVwbGUgIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNob3VsZCBiZSBhbiBpbnRlZ2VyOyBlaXRoZXIgMCBmb3IgYSAiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicG9zaXRpdmUgbnVtYmVyIG9yIDEgZm9yIGEgbmVnYXRpdmUgbnVtYmVyLiIpCi0gICAgICAgICAgICBzZWxmLl9zaWduID0gdmFsdWVbMF0KLSAgICAgICAgICAgIGlmIHZhbHVlWzJdID09ICdGJzoKLSAgICAgICAgICAgICAgICAjIGluZmluaXR5OiB2YWx1ZVsxXSBpcyBpZ25vcmVkCi0gICAgICAgICAgICAgICAgc2VsZi5faW50ID0gJzAnCi0gICAgICAgICAgICAgICAgc2VsZi5fZXhwID0gdmFsdWVbMl0KLSAgICAgICAgICAgICAgICBzZWxmLl9pc19zcGVjaWFsID0gVHJ1ZQotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAjIHByb2Nlc3MgYW5kIHZhbGlkYXRlIHRoZSBkaWdpdHMgaW4gdmFsdWVbMV0KLSAgICAgICAgICAgICAgICBkaWdpdHMgPSBbXQotICAgICAgICAgICAgICAgIGZvciBkaWdpdCBpbiB2YWx1ZVsxXToKLSAgICAgICAgICAgICAgICAgICAgaWYgaXNpbnN0YW5jZShkaWdpdCwgaW50KSBhbmQgMCA8PSBkaWdpdCA8PSA5OgotICAgICAgICAgICAgICAgICAgICAgICAgIyBza2lwIGxlYWRpbmcgemVyb3MKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIGRpZ2l0cyBvciBkaWdpdCAhPSAwOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpZ2l0cy5hcHBlbmQoZGlnaXQpCi0gICAgICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJUaGUgc2Vjb25kIHZhbHVlIGluIHRoZSB0dXBsZSBtdXN0ICIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImJlIGNvbXBvc2VkIG9mIGludGVnZXJzIGluIHRoZSByYW5nZSAiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIwIHRocm91Z2ggOS4iKQotICAgICAgICAgICAgICAgIGlmIHZhbHVlWzJdIGluICgnbicsICdOJyk6Ci0gICAgICAgICAgICAgICAgICAgICMgTmFOOiBkaWdpdHMgZm9ybSB0aGUgZGlhZ25vc3RpYwotICAgICAgICAgICAgICAgICAgICBzZWxmLl9pbnQgPSAnJy5qb2luKG1hcChzdHIsIGRpZ2l0cykpCi0gICAgICAgICAgICAgICAgICAgIHNlbGYuX2V4cCA9IHZhbHVlWzJdCi0gICAgICAgICAgICAgICAgICAgIHNlbGYuX2lzX3NwZWNpYWwgPSBUcnVlCi0gICAgICAgICAgICAgICAgZWxpZiBpc2luc3RhbmNlKHZhbHVlWzJdLCBpbnQpOgotICAgICAgICAgICAgICAgICAgICAjIGZpbml0ZSBudW1iZXI6IGRpZ2l0cyBnaXZlIHRoZSBjb2VmZmljaWVudAotICAgICAgICAgICAgICAgICAgICBzZWxmLl9pbnQgPSAnJy5qb2luKG1hcChzdHIsIGRpZ2l0cyBvciBbMF0pKQotICAgICAgICAgICAgICAgICAgICBzZWxmLl9leHAgPSB2YWx1ZVsyXQotICAgICAgICAgICAgICAgICAgICBzZWxmLl9pc19zcGVjaWFsID0gRmFsc2UKLSAgICAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJUaGUgdGhpcmQgdmFsdWUgaW4gdGhlIHR1cGxlIG11c3QgIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJiZSBhbiBpbnRlZ2VyLCBvciBvbmUgb2YgdGhlICIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3RyaW5ncyAnRicsICduJywgJ04nLiIpCi0gICAgICAgICAgICByZXR1cm4gc2VsZgotCi0gICAgICAgIGlmIGlzaW5zdGFuY2UodmFsdWUsIGZsb2F0KToKLSAgICAgICAgICAgIGlmIGNvbnRleHQgaXMgTm9uZToKLSAgICAgICAgICAgICAgICBjb250ZXh0ID0gZ2V0Y29udGV4dCgpCi0gICAgICAgICAgICBjb250ZXh0Ll9yYWlzZV9lcnJvcihGbG9hdE9wZXJhdGlvbiwKLSAgICAgICAgICAgICAgICAic3RyaWN0IHNlbWFudGljcyBmb3IgbWl4aW5nIGZsb2F0cyBhbmQgRGVjaW1hbHMgYXJlICIKLSAgICAgICAgICAgICAgICAiZW5hYmxlZCIpCi0gICAgICAgICAgICB2YWx1ZSA9IERlY2ltYWwuZnJvbV9mbG9hdCh2YWx1ZSkKLSAgICAgICAgICAgIHNlbGYuX2V4cCAgPSB2YWx1ZS5fZXhwCi0gICAgICAgICAgICBzZWxmLl9zaWduID0gdmFsdWUuX3NpZ24KLSAgICAgICAgICAgIHNlbGYuX2ludCAgPSB2YWx1ZS5faW50Ci0gICAgICAgICAgICBzZWxmLl9pc19zcGVjaWFsICA9IHZhbHVlLl9pc19zcGVjaWFsCi0gICAgICAgICAgICByZXR1cm4gc2VsZgotCi0gICAgICAgIHJhaXNlIFR5cGVFcnJvcigiQ2Fubm90IGNvbnZlcnQgJXIgdG8gRGVjaW1hbCIgJSB2YWx1ZSkKLQotICAgIEBjbGFzc21ldGhvZAotICAgIGRlZiBmcm9tX2Zsb2F0KGNscywgZik6Ci0gICAgICAgICIiIkNvbnZlcnRzIGEgZmxvYXQgdG8gYSBkZWNpbWFsIG51bWJlciwgZXhhY3RseS4KLQotICAgICAgICBOb3RlIHRoYXQgRGVjaW1hbC5mcm9tX2Zsb2F0KDAuMSkgaXMgbm90IHRoZSBzYW1lIGFzIERlY2ltYWwoJzAuMScpLgotICAgICAgICBTaW5jZSAwLjEgaXMgbm90IGV4YWN0bHkgcmVwcmVzZW50YWJsZSBpbiBiaW5hcnkgZmxvYXRpbmcgcG9pbnQsIHRoZQotICAgICAgICB2YWx1ZSBpcyBzdG9yZWQgYXMgdGhlIG5lYXJlc3QgcmVwcmVzZW50YWJsZSB2YWx1ZSB3aGljaCBpcwotICAgICAgICAweDEuOTk5OTk5OTk5OTk5YXAtNC4gIFRoZSBleGFjdCBlcXVpdmFsZW50IG9mIHRoZSB2YWx1ZSBpbiBkZWNpbWFsCi0gICAgICAgIGlzIDAuMTAwMDAwMDAwMDAwMDAwMDA1NTUxMTE1MTIzMTI1NzgyNzAyMTE4MTU4MzQwNDU0MTAxNTYyNS4KLQotICAgICAgICA+Pj4gRGVjaW1hbC5mcm9tX2Zsb2F0KDAuMSkKLSAgICAgICAgRGVjaW1hbCgnMC4xMDAwMDAwMDAwMDAwMDAwMDU1NTExMTUxMjMxMjU3ODI3MDIxMTgxNTgzNDA0NTQxMDE1NjI1JykKLSAgICAgICAgPj4+IERlY2ltYWwuZnJvbV9mbG9hdChmbG9hdCgnbmFuJykpCi0gICAgICAgIERlY2ltYWwoJ05hTicpCi0gICAgICAgID4+PiBEZWNpbWFsLmZyb21fZmxvYXQoZmxvYXQoJ2luZicpKQotICAgICAgICBEZWNpbWFsKCdJbmZpbml0eScpCi0gICAgICAgID4+PiBEZWNpbWFsLmZyb21fZmxvYXQoLWZsb2F0KCdpbmYnKSkKLSAgICAgICAgRGVjaW1hbCgnLUluZmluaXR5JykKLSAgICAgICAgPj4+IERlY2ltYWwuZnJvbV9mbG9hdCgtMC4wKQotICAgICAgICBEZWNpbWFsKCctMCcpCi0KLSAgICAgICAgIiIiCi0gICAgICAgIGlmIGlzaW5zdGFuY2UoZiwgaW50KTogICAgICAgICAgICAgICAgIyBoYW5kbGUgaW50ZWdlciBpbnB1dHMKLSAgICAgICAgICAgIHJldHVybiBjbHMoZikKLSAgICAgICAgaWYgbm90IGlzaW5zdGFuY2UoZiwgZmxvYXQpOgotICAgICAgICAgICAgcmFpc2UgVHlwZUVycm9yKCJhcmd1bWVudCBtdXN0IGJlIGludCBvciBmbG9hdC4iKQotICAgICAgICBpZiBfbWF0aC5pc2luZihmKSBvciBfbWF0aC5pc25hbihmKToKLSAgICAgICAgICAgIHJldHVybiBjbHMocmVwcihmKSkKLSAgICAgICAgaWYgX21hdGguY29weXNpZ24oMS4wLCBmKSA9PSAxLjA6Ci0gICAgICAgICAgICBzaWduID0gMAotICAgICAgICBlbHNlOgotICAgICAgICAgICAgc2lnbiA9IDEKLSAgICAgICAgbiwgZCA9IGFicyhmKS5hc19pbnRlZ2VyX3JhdGlvKCkKLSAgICAgICAgayA9IGQuYml0X2xlbmd0aCgpIC0gMQotICAgICAgICByZXN1bHQgPSBfZGVjX2Zyb21fdHJpcGxlKHNpZ24sIHN0cihuKjUqKmspLCAtaykKLSAgICAgICAgaWYgY2xzIGlzIERlY2ltYWw6Ci0gICAgICAgICAgICByZXR1cm4gcmVzdWx0Ci0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICByZXR1cm4gY2xzKHJlc3VsdCkKLQotICAgIGRlZiBfaXNuYW4oc2VsZik6Ci0gICAgICAgICIiIlJldHVybnMgd2hldGhlciB0aGUgbnVtYmVyIGlzIG5vdCBhY3R1YWxseSBvbmUuCi0KLSAgICAgICAgMCBpZiBhIG51bWJlcgotICAgICAgICAxIGlmIE5hTgotICAgICAgICAyIGlmIHNOYU4KLSAgICAgICAgIiIiCi0gICAgICAgIGlmIHNlbGYuX2lzX3NwZWNpYWw6Ci0gICAgICAgICAgICBleHAgPSBzZWxmLl9leHAKLSAgICAgICAgICAgIGlmIGV4cCA9PSAnbic6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIDEKLSAgICAgICAgICAgIGVsaWYgZXhwID09ICdOJzoKLSAgICAgICAgICAgICAgICByZXR1cm4gMgotICAgICAgICByZXR1cm4gMAotCi0gICAgZGVmIF9pc2luZmluaXR5KHNlbGYpOgotICAgICAgICAiIiJSZXR1cm5zIHdoZXRoZXIgdGhlIG51bWJlciBpcyBpbmZpbml0ZQotCi0gICAgICAgIDAgaWYgZmluaXRlIG9yIG5vdCBhIG51bWJlcgotICAgICAgICAxIGlmICtJTkYKLSAgICAgICAgLTEgaWYgLUlORgotICAgICAgICAiIiIKLSAgICAgICAgaWYgc2VsZi5fZXhwID09ICdGJzoKLSAgICAgICAgICAgIGlmIHNlbGYuX3NpZ246Ci0gICAgICAgICAgICAgICAgcmV0dXJuIC0xCi0gICAgICAgICAgICByZXR1cm4gMQotICAgICAgICByZXR1cm4gMAotCi0gICAgZGVmIF9jaGVja19uYW5zKHNlbGYsIG90aGVyPU5vbmUsIGNvbnRleHQ9Tm9uZSk6Ci0gICAgICAgICIiIlJldHVybnMgd2hldGhlciB0aGUgbnVtYmVyIGlzIG5vdCBhY3R1YWxseSBvbmUuCi0KLSAgICAgICAgaWYgc2VsZiwgb3RoZXIgYXJlIHNOYU4sIHNpZ25hbAotICAgICAgICBpZiBzZWxmLCBvdGhlciBhcmUgTmFOIHJldHVybiBuYW4KLSAgICAgICAgcmV0dXJuIDAKLQotICAgICAgICBEb25lIGJlZm9yZSBvcGVyYXRpb25zLgotICAgICAgICAiIiIKLQotICAgICAgICBzZWxmX2lzX25hbiA9IHNlbGYuX2lzbmFuKCkKLSAgICAgICAgaWYgb3RoZXIgaXMgTm9uZToKLSAgICAgICAgICAgIG90aGVyX2lzX25hbiA9IEZhbHNlCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBvdGhlcl9pc19uYW4gPSBvdGhlci5faXNuYW4oKQotCi0gICAgICAgIGlmIHNlbGZfaXNfbmFuIG9yIG90aGVyX2lzX25hbjoKLSAgICAgICAgICAgIGlmIGNvbnRleHQgaXMgTm9uZToKLSAgICAgICAgICAgICAgICBjb250ZXh0ID0gZ2V0Y29udGV4dCgpCi0KLSAgICAgICAgICAgIGlmIHNlbGZfaXNfbmFuID09IDI6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuX3JhaXNlX2Vycm9yKEludmFsaWRPcGVyYXRpb24sICdzTmFOJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmKQotICAgICAgICAgICAgaWYgb3RoZXJfaXNfbmFuID09IDI6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuX3JhaXNlX2Vycm9yKEludmFsaWRPcGVyYXRpb24sICdzTmFOJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdGhlcikKLSAgICAgICAgICAgIGlmIHNlbGZfaXNfbmFuOgotICAgICAgICAgICAgICAgIHJldHVybiBzZWxmLl9maXhfbmFuKGNvbnRleHQpCi0KLSAgICAgICAgICAgIHJldHVybiBvdGhlci5fZml4X25hbihjb250ZXh0KQotICAgICAgICByZXR1cm4gMAotCi0gICAgZGVmIF9jb21wYXJlX2NoZWNrX25hbnMoc2VsZiwgb3RoZXIsIGNvbnRleHQpOgotICAgICAgICAiIiJWZXJzaW9uIG9mIF9jaGVja19uYW5zIHVzZWQgZm9yIHRoZSBzaWduYWxpbmcgY29tcGFyaXNvbnMKLSAgICAgICAgY29tcGFyZV9zaWduYWwsIF9fbGVfXywgX19sdF9fLCBfX2dlX18sIF9fZ3RfXy4KLQotICAgICAgICBTaWduYWwgSW52YWxpZE9wZXJhdGlvbiBpZiBlaXRoZXIgc2VsZiBvciBvdGhlciBpcyBhIChxdWlldAotICAgICAgICBvciBzaWduYWxpbmcpIE5hTi4gIFNpZ25hbGluZyBOYU5zIHRha2UgcHJlY2VkZW5jZSBvdmVyIHF1aWV0Ci0gICAgICAgIE5hTnMuCi0KLSAgICAgICAgUmV0dXJuIDAgaWYgbmVpdGhlciBvcGVyYW5kIGlzIGEgTmFOLgotCi0gICAgICAgICIiIgotICAgICAgICBpZiBjb250ZXh0IGlzIE5vbmU6Ci0gICAgICAgICAgICBjb250ZXh0ID0gZ2V0Y29udGV4dCgpCi0KLSAgICAgICAgaWYgc2VsZi5faXNfc3BlY2lhbCBvciBvdGhlci5faXNfc3BlY2lhbDoKLSAgICAgICAgICAgIGlmIHNlbGYuaXNfc25hbigpOgotICAgICAgICAgICAgICAgIHJldHVybiBjb250ZXh0Ll9yYWlzZV9lcnJvcihJbnZhbGlkT3BlcmF0aW9uLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnY29tcGFyaXNvbiBpbnZvbHZpbmcgc05hTicsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYpCi0gICAgICAgICAgICBlbGlmIG90aGVyLmlzX3NuYW4oKToKLSAgICAgICAgICAgICAgICByZXR1cm4gY29udGV4dC5fcmFpc2VfZXJyb3IoSW52YWxpZE9wZXJhdGlvbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2NvbXBhcmlzb24gaW52b2x2aW5nIHNOYU4nLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdGhlcikKLSAgICAgICAgICAgIGVsaWYgc2VsZi5pc19xbmFuKCk6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuX3JhaXNlX2Vycm9yKEludmFsaWRPcGVyYXRpb24sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdjb21wYXJpc29uIGludm9sdmluZyBOYU4nLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmKQotICAgICAgICAgICAgZWxpZiBvdGhlci5pc19xbmFuKCk6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuX3JhaXNlX2Vycm9yKEludmFsaWRPcGVyYXRpb24sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdjb21wYXJpc29uIGludm9sdmluZyBOYU4nLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdGhlcikKLSAgICAgICAgcmV0dXJuIDAKLQotICAgIGRlZiBfX2Jvb2xfXyhzZWxmKToKLSAgICAgICAgIiIiUmV0dXJuIFRydWUgaWYgc2VsZiBpcyBub256ZXJvOyBvdGhlcndpc2UgcmV0dXJuIEZhbHNlLgotCi0gICAgICAgIE5hTnMgYW5kIGluZmluaXRpZXMgYXJlIGNvbnNpZGVyZWQgbm9uemVyby4KLSAgICAgICAgIiIiCi0gICAgICAgIHJldHVybiBzZWxmLl9pc19zcGVjaWFsIG9yIHNlbGYuX2ludCAhPSAnMCcKLQotICAgIGRlZiBfY21wKHNlbGYsIG90aGVyKToKLSAgICAgICAgIiIiQ29tcGFyZSB0aGUgdHdvIG5vbi1OYU4gZGVjaW1hbCBpbnN0YW5jZXMgc2VsZiBhbmQgb3RoZXIuCi0KLSAgICAgICAgUmV0dXJucyAtMSBpZiBzZWxmIDwgb3RoZXIsIDAgaWYgc2VsZiA9PSBvdGhlciBhbmQgMQotICAgICAgICBpZiBzZWxmID4gb3RoZXIuICBUaGlzIHJvdXRpbmUgaXMgZm9yIGludGVybmFsIHVzZSBvbmx5LiIiIgotCi0gICAgICAgIGlmIHNlbGYuX2lzX3NwZWNpYWwgb3Igb3RoZXIuX2lzX3NwZWNpYWw6Ci0gICAgICAgICAgICBzZWxmX2luZiA9IHNlbGYuX2lzaW5maW5pdHkoKQotICAgICAgICAgICAgb3RoZXJfaW5mID0gb3RoZXIuX2lzaW5maW5pdHkoKQotICAgICAgICAgICAgaWYgc2VsZl9pbmYgPT0gb3RoZXJfaW5mOgotICAgICAgICAgICAgICAgIHJldHVybiAwCi0gICAgICAgICAgICBlbGlmIHNlbGZfaW5mIDwgb3RoZXJfaW5mOgotICAgICAgICAgICAgICAgIHJldHVybiAtMQotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICByZXR1cm4gMQotCi0gICAgICAgICMgY2hlY2sgZm9yIHplcm9zOyAgRGVjaW1hbCgnMCcpID09IERlY2ltYWwoJy0wJykKLSAgICAgICAgaWYgbm90IHNlbGY6Ci0gICAgICAgICAgICBpZiBub3Qgb3RoZXI6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIDAKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIC0oKC0xKSoqb3RoZXIuX3NpZ24pCi0gICAgICAgIGlmIG5vdCBvdGhlcjoKLSAgICAgICAgICAgIHJldHVybiAoLTEpKipzZWxmLl9zaWduCi0KLSAgICAgICAgIyBJZiBkaWZmZXJlbnQgc2lnbnMsIG5lZyBvbmUgaXMgbGVzcwotICAgICAgICBpZiBvdGhlci5fc2lnbiA8IHNlbGYuX3NpZ246Ci0gICAgICAgICAgICByZXR1cm4gLTEKLSAgICAgICAgaWYgc2VsZi5fc2lnbiA8IG90aGVyLl9zaWduOgotICAgICAgICAgICAgcmV0dXJuIDEKLQotICAgICAgICBzZWxmX2FkanVzdGVkID0gc2VsZi5hZGp1c3RlZCgpCi0gICAgICAgIG90aGVyX2FkanVzdGVkID0gb3RoZXIuYWRqdXN0ZWQoKQotICAgICAgICBpZiBzZWxmX2FkanVzdGVkID09IG90aGVyX2FkanVzdGVkOgotICAgICAgICAgICAgc2VsZl9wYWRkZWQgPSBzZWxmLl9pbnQgKyAnMCcqKHNlbGYuX2V4cCAtIG90aGVyLl9leHApCi0gICAgICAgICAgICBvdGhlcl9wYWRkZWQgPSBvdGhlci5faW50ICsgJzAnKihvdGhlci5fZXhwIC0gc2VsZi5fZXhwKQotICAgICAgICAgICAgaWYgc2VsZl9wYWRkZWQgPT0gb3RoZXJfcGFkZGVkOgotICAgICAgICAgICAgICAgIHJldHVybiAwCi0gICAgICAgICAgICBlbGlmIHNlbGZfcGFkZGVkIDwgb3RoZXJfcGFkZGVkOgotICAgICAgICAgICAgICAgIHJldHVybiAtKC0xKSoqc2VsZi5fc2lnbgotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICByZXR1cm4gKC0xKSoqc2VsZi5fc2lnbgotICAgICAgICBlbGlmIHNlbGZfYWRqdXN0ZWQgPiBvdGhlcl9hZGp1c3RlZDoKLSAgICAgICAgICAgIHJldHVybiAoLTEpKipzZWxmLl9zaWduCi0gICAgICAgIGVsc2U6ICMgc2VsZl9hZGp1c3RlZCA8IG90aGVyX2FkanVzdGVkCi0gICAgICAgICAgICByZXR1cm4gLSgoLTEpKipzZWxmLl9zaWduKQotCi0gICAgIyBOb3RlOiBUaGUgRGVjaW1hbCBzdGFuZGFyZCBkb2Vzbid0IGNvdmVyIHJpY2ggY29tcGFyaXNvbnMgZm9yCi0gICAgIyBEZWNpbWFscy4gIEluIHBhcnRpY3VsYXIsIHRoZSBzcGVjaWZpY2F0aW9uIGlzIHNpbGVudCBvbiB0aGUKLSAgICAjIHN1YmplY3Qgb2Ygd2hhdCBzaG91bGQgaGFwcGVuIGZvciBhIGNvbXBhcmlzb24gaW52b2x2aW5nIGEgTmFOLgotICAgICMgV2UgdGFrZSB0aGUgZm9sbG93aW5nIGFwcHJvYWNoOgotICAgICMKLSAgICAjICAgPT0gY29tcGFyaXNvbnMgaW52b2x2aW5nIGEgcXVpZXQgTmFOIGFsd2F5cyByZXR1cm4gRmFsc2UKLSAgICAjICAgIT0gY29tcGFyaXNvbnMgaW52b2x2aW5nIGEgcXVpZXQgTmFOIGFsd2F5cyByZXR1cm4gVHJ1ZQotICAgICMgICA9PSBvciAhPSBjb21wYXJpc29ucyBpbnZvbHZpbmcgYSBzaWduYWxpbmcgTmFOIHNpZ25hbAotICAgICMgICAgICBJbnZhbGlkT3BlcmF0aW9uLCBhbmQgcmV0dXJuIEZhbHNlIG9yIFRydWUgYXMgYWJvdmUgaWYgdGhlCi0gICAgIyAgICAgIEludmFsaWRPcGVyYXRpb24gaXMgbm90IHRyYXBwZWQuCi0gICAgIyAgIDwsID4sIDw9IGFuZCA+PSBjb21wYXJpc29ucyBpbnZvbHZpbmcgYSAocXVpZXQgb3Igc2lnbmFsaW5nKQotICAgICMgICAgICBOYU4gc2lnbmFsIEludmFsaWRPcGVyYXRpb24sIGFuZCByZXR1cm4gRmFsc2UgaWYgdGhlCi0gICAgIyAgICAgIEludmFsaWRPcGVyYXRpb24gaXMgbm90IHRyYXBwZWQuCi0gICAgIwotICAgICMgVGhpcyBiZWhhdmlvciBpcyBkZXNpZ25lZCB0byBjb25mb3JtIGFzIGNsb3NlbHkgYXMgcG9zc2libGUgdG8KLSAgICAjIHRoYXQgc3BlY2lmaWVkIGJ5IElFRUUgNzU0LgotCi0gICAgZGVmIF9fZXFfXyhzZWxmLCBvdGhlciwgY29udGV4dD1Ob25lKToKLSAgICAgICAgc2VsZiwgb3RoZXIgPSBfY29udmVydF9mb3JfY29tcGFyaXNvbihzZWxmLCBvdGhlciwgZXF1YWxpdHlfb3A9VHJ1ZSkKLSAgICAgICAgaWYgb3RoZXIgaXMgTm90SW1wbGVtZW50ZWQ6Ci0gICAgICAgICAgICByZXR1cm4gb3RoZXIKLSAgICAgICAgaWYgc2VsZi5fY2hlY2tfbmFucyhvdGhlciwgY29udGV4dCk6Ci0gICAgICAgICAgICByZXR1cm4gRmFsc2UKLSAgICAgICAgcmV0dXJuIHNlbGYuX2NtcChvdGhlcikgPT0gMAotCi0gICAgZGVmIF9fbmVfXyhzZWxmLCBvdGhlciwgY29udGV4dD1Ob25lKToKLSAgICAgICAgc2VsZiwgb3RoZXIgPSBfY29udmVydF9mb3JfY29tcGFyaXNvbihzZWxmLCBvdGhlciwgZXF1YWxpdHlfb3A9VHJ1ZSkKLSAgICAgICAgaWYgb3RoZXIgaXMgTm90SW1wbGVtZW50ZWQ6Ci0gICAgICAgICAgICByZXR1cm4gb3RoZXIKLSAgICAgICAgaWYgc2VsZi5fY2hlY2tfbmFucyhvdGhlciwgY29udGV4dCk6Ci0gICAgICAgICAgICByZXR1cm4gVHJ1ZQotICAgICAgICByZXR1cm4gc2VsZi5fY21wKG90aGVyKSAhPSAwCi0KLQotICAgIGRlZiBfX2x0X18oc2VsZiwgb3RoZXIsIGNvbnRleHQ9Tm9uZSk6Ci0gICAgICAgIHNlbGYsIG90aGVyID0gX2NvbnZlcnRfZm9yX2NvbXBhcmlzb24oc2VsZiwgb3RoZXIpCi0gICAgICAgIGlmIG90aGVyIGlzIE5vdEltcGxlbWVudGVkOgotICAgICAgICAgICAgcmV0dXJuIG90aGVyCi0gICAgICAgIGFucyA9IHNlbGYuX2NvbXBhcmVfY2hlY2tfbmFucyhvdGhlciwgY29udGV4dCkKLSAgICAgICAgaWYgYW5zOgotICAgICAgICAgICAgcmV0dXJuIEZhbHNlCi0gICAgICAgIHJldHVybiBzZWxmLl9jbXAob3RoZXIpIDwgMAotCi0gICAgZGVmIF9fbGVfXyhzZWxmLCBvdGhlciwgY29udGV4dD1Ob25lKToKLSAgICAgICAgc2VsZiwgb3RoZXIgPSBfY29udmVydF9mb3JfY29tcGFyaXNvbihzZWxmLCBvdGhlcikKLSAgICAgICAgaWYgb3RoZXIgaXMgTm90SW1wbGVtZW50ZWQ6Ci0gICAgICAgICAgICByZXR1cm4gb3RoZXIKLSAgICAgICAgYW5zID0gc2VsZi5fY29tcGFyZV9jaGVja19uYW5zKG90aGVyLCBjb250ZXh0KQotICAgICAgICBpZiBhbnM6Ci0gICAgICAgICAgICByZXR1cm4gRmFsc2UKLSAgICAgICAgcmV0dXJuIHNlbGYuX2NtcChvdGhlcikgPD0gMAotCi0gICAgZGVmIF9fZ3RfXyhzZWxmLCBvdGhlciwgY29udGV4dD1Ob25lKToKLSAgICAgICAgc2VsZiwgb3RoZXIgPSBfY29udmVydF9mb3JfY29tcGFyaXNvbihzZWxmLCBvdGhlcikKLSAgICAgICAgaWYgb3RoZXIgaXMgTm90SW1wbGVtZW50ZWQ6Ci0gICAgICAgICAgICByZXR1cm4gb3RoZXIKLSAgICAgICAgYW5zID0gc2VsZi5fY29tcGFyZV9jaGVja19uYW5zKG90aGVyLCBjb250ZXh0KQotICAgICAgICBpZiBhbnM6Ci0gICAgICAgICAgICByZXR1cm4gRmFsc2UKLSAgICAgICAgcmV0dXJuIHNlbGYuX2NtcChvdGhlcikgPiAwCi0KLSAgICBkZWYgX19nZV9fKHNlbGYsIG90aGVyLCBjb250ZXh0PU5vbmUpOgotICAgICAgICBzZWxmLCBvdGhlciA9IF9jb252ZXJ0X2Zvcl9jb21wYXJpc29uKHNlbGYsIG90aGVyKQotICAgICAgICBpZiBvdGhlciBpcyBOb3RJbXBsZW1lbnRlZDoKLSAgICAgICAgICAgIHJldHVybiBvdGhlcgotICAgICAgICBhbnMgPSBzZWxmLl9jb21wYXJlX2NoZWNrX25hbnMob3RoZXIsIGNvbnRleHQpCi0gICAgICAgIGlmIGFuczoKLSAgICAgICAgICAgIHJldHVybiBGYWxzZQotICAgICAgICByZXR1cm4gc2VsZi5fY21wKG90aGVyKSA+PSAwCi0KLSAgICBkZWYgY29tcGFyZShzZWxmLCBvdGhlciwgY29udGV4dD1Ob25lKToKLSAgICAgICAgIiIiQ29tcGFyZXMgb25lIHRvIGFub3RoZXIuCi0KLSAgICAgICAgLTEgPT4gYSA8IGIKLSAgICAgICAgMCAgPT4gYSA9IGIKLSAgICAgICAgMSAgPT4gYSA+IGIKLSAgICAgICAgTmFOID0+IG9uZSBpcyBOYU4KLSAgICAgICAgTGlrZSBfX2NtcF9fLCBidXQgcmV0dXJucyBEZWNpbWFsIGluc3RhbmNlcy4KLSAgICAgICAgIiIiCi0gICAgICAgIG90aGVyID0gX2NvbnZlcnRfb3RoZXIob3RoZXIsIHJhaXNlaXQ9VHJ1ZSkKLQotICAgICAgICAjIENvbXBhcmUoTmFOLCBOYU4pID0gTmFOCi0gICAgICAgIGlmIChzZWxmLl9pc19zcGVjaWFsIG9yIG90aGVyIGFuZCBvdGhlci5faXNfc3BlY2lhbCk6Ci0gICAgICAgICAgICBhbnMgPSBzZWxmLl9jaGVja19uYW5zKG90aGVyLCBjb250ZXh0KQotICAgICAgICAgICAgaWYgYW5zOgotICAgICAgICAgICAgICAgIHJldHVybiBhbnMKLQotICAgICAgICByZXR1cm4gRGVjaW1hbChzZWxmLl9jbXAob3RoZXIpKQotCi0gICAgZGVmIF9faGFzaF9fKHNlbGYpOgotICAgICAgICAiIiJ4Ll9faGFzaF9fKCkgPD09PiBoYXNoKHgpIiIiCi0KLSAgICAgICAgIyBJbiBvcmRlciB0byBtYWtlIHN1cmUgdGhhdCB0aGUgaGFzaCBvZiBhIERlY2ltYWwgaW5zdGFuY2UKLSAgICAgICAgIyBhZ3JlZXMgd2l0aCB0aGUgaGFzaCBvZiBhIG51bWVyaWNhbGx5IGVxdWFsIGludGVnZXIsIGZsb2F0Ci0gICAgICAgICMgb3IgRnJhY3Rpb24sIHdlIGZvbGxvdyB0aGUgcnVsZXMgZm9yIG51bWVyaWMgaGFzaGVzIG91dGxpbmVkCi0gICAgICAgICMgaW4gdGhlIGRvY3VtZW50YXRpb24uICAoU2VlIGxpYnJhcnkgZG9jcywgJ0J1aWx0LWluIFR5cGVzJykuCi0gICAgICAgIGlmIHNlbGYuX2lzX3NwZWNpYWw6Ci0gICAgICAgICAgICBpZiBzZWxmLmlzX3NuYW4oKToKLSAgICAgICAgICAgICAgICByYWlzZSBUeXBlRXJyb3IoJ0Nhbm5vdCBoYXNoIGEgc2lnbmFsaW5nIE5hTiB2YWx1ZS4nKQotICAgICAgICAgICAgZWxpZiBzZWxmLmlzX25hbigpOgotICAgICAgICAgICAgICAgIHJldHVybiBfUHlIQVNIX05BTgotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBpZiBzZWxmLl9zaWduOgotICAgICAgICAgICAgICAgICAgICByZXR1cm4gLV9QeUhBU0hfSU5GCi0gICAgICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIF9QeUhBU0hfSU5GCi0KLSAgICAgICAgaWYgc2VsZi5fZXhwID49IDA6Ci0gICAgICAgICAgICBleHBfaGFzaCA9IHBvdygxMCwgc2VsZi5fZXhwLCBfUHlIQVNIX01PRFVMVVMpCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBleHBfaGFzaCA9IHBvdyhfUHlIQVNIXzEwSU5WLCAtc2VsZi5fZXhwLCBfUHlIQVNIX01PRFVMVVMpCi0gICAgICAgIGhhc2hfID0gaW50KHNlbGYuX2ludCkgKiBleHBfaGFzaCAlIF9QeUhBU0hfTU9EVUxVUwotICAgICAgICBhbnMgPSBoYXNoXyBpZiBzZWxmID49IDAgZWxzZSAtaGFzaF8KLSAgICAgICAgcmV0dXJuIC0yIGlmIGFucyA9PSAtMSBlbHNlIGFucwotCi0gICAgZGVmIGFzX3R1cGxlKHNlbGYpOgotICAgICAgICAiIiJSZXByZXNlbnRzIHRoZSBudW1iZXIgYXMgYSB0cmlwbGUgdHVwbGUuCi0KLSAgICAgICAgVG8gc2hvdyB0aGUgaW50ZXJuYWxzIGV4YWN0bHkgYXMgdGhleSBhcmUuCi0gICAgICAgICIiIgotICAgICAgICByZXR1cm4gRGVjaW1hbFR1cGxlKHNlbGYuX3NpZ24sIHR1cGxlKG1hcChpbnQsIHNlbGYuX2ludCkpLCBzZWxmLl9leHApCi0KLSAgICBkZWYgX19yZXByX18oc2VsZik6Ci0gICAgICAgICIiIlJlcHJlc2VudHMgdGhlIG51bWJlciBhcyBhbiBpbnN0YW5jZSBvZiBEZWNpbWFsLiIiIgotICAgICAgICAjIEludmFyaWFudDogIGV2YWwocmVwcihkKSkgPT0gZAotICAgICAgICByZXR1cm4gIkRlY2ltYWwoJyVzJykiICUgc3RyKHNlbGYpCi0KLSAgICBkZWYgX19zdHJfXyhzZWxmLCBlbmc9RmFsc2UsIGNvbnRleHQ9Tm9uZSk6Ci0gICAgICAgICIiIlJldHVybiBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhlIG51bWJlciBpbiBzY2llbnRpZmljIG5vdGF0aW9uLgotCi0gICAgICAgIENhcHR1cmVzIGFsbCBvZiB0aGUgaW5mb3JtYXRpb24gaW4gdGhlIHVuZGVybHlpbmcgcmVwcmVzZW50YXRpb24uCi0gICAgICAgICIiIgotCi0gICAgICAgIHNpZ24gPSBbJycsICctJ11bc2VsZi5fc2lnbl0KLSAgICAgICAgaWYgc2VsZi5faXNfc3BlY2lhbDoKLSAgICAgICAgICAgIGlmIHNlbGYuX2V4cCA9PSAnRic6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIHNpZ24gKyAnSW5maW5pdHknCi0gICAgICAgICAgICBlbGlmIHNlbGYuX2V4cCA9PSAnbic6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIHNpZ24gKyAnTmFOJyArIHNlbGYuX2ludAotICAgICAgICAgICAgZWxzZTogIyBzZWxmLl9leHAgPT0gJ04nCi0gICAgICAgICAgICAgICAgcmV0dXJuIHNpZ24gKyAnc05hTicgKyBzZWxmLl9pbnQKLQotICAgICAgICAjIG51bWJlciBvZiBkaWdpdHMgb2Ygc2VsZi5faW50IHRvIGxlZnQgb2YgZGVjaW1hbCBwb2ludAotICAgICAgICBsZWZ0ZGlnaXRzID0gc2VsZi5fZXhwICsgbGVuKHNlbGYuX2ludCkKLQotICAgICAgICAjIGRvdHBsYWNlIGlzIG51bWJlciBvZiBkaWdpdHMgb2Ygc2VsZi5faW50IHRvIHRoZSBsZWZ0IG9mIHRoZQotICAgICAgICAjIGRlY2ltYWwgcG9pbnQgaW4gdGhlIG1hbnRpc3NhIG9mIHRoZSBvdXRwdXQgc3RyaW5nICh0aGF0IGlzLAotICAgICAgICAjIGFmdGVyIGFkanVzdGluZyB0aGUgZXhwb25lbnQpCi0gICAgICAgIGlmIHNlbGYuX2V4cCA8PSAwIGFuZCBsZWZ0ZGlnaXRzID4gLTY6Ci0gICAgICAgICAgICAjIG5vIGV4cG9uZW50IHJlcXVpcmVkCi0gICAgICAgICAgICBkb3RwbGFjZSA9IGxlZnRkaWdpdHMKLSAgICAgICAgZWxpZiBub3QgZW5nOgotICAgICAgICAgICAgIyB1c3VhbCBzY2llbnRpZmljIG5vdGF0aW9uOiAxIGRpZ2l0IG9uIGxlZnQgb2YgdGhlIHBvaW50Ci0gICAgICAgICAgICBkb3RwbGFjZSA9IDEKLSAgICAgICAgZWxpZiBzZWxmLl9pbnQgPT0gJzAnOgotICAgICAgICAgICAgIyBlbmdpbmVlcmluZyBub3RhdGlvbiwgemVybwotICAgICAgICAgICAgZG90cGxhY2UgPSAobGVmdGRpZ2l0cyArIDEpICUgMyAtIDEKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgICMgZW5naW5lZXJpbmcgbm90YXRpb24sIG5vbnplcm8KLSAgICAgICAgICAgIGRvdHBsYWNlID0gKGxlZnRkaWdpdHMgLSAxKSAlIDMgKyAxCi0KLSAgICAgICAgaWYgZG90cGxhY2UgPD0gMDoKLSAgICAgICAgICAgIGludHBhcnQgPSAnMCcKLSAgICAgICAgICAgIGZyYWNwYXJ0ID0gJy4nICsgJzAnKigtZG90cGxhY2UpICsgc2VsZi5faW50Ci0gICAgICAgIGVsaWYgZG90cGxhY2UgPj0gbGVuKHNlbGYuX2ludCk6Ci0gICAgICAgICAgICBpbnRwYXJ0ID0gc2VsZi5faW50KycwJyooZG90cGxhY2UtbGVuKHNlbGYuX2ludCkpCi0gICAgICAgICAgICBmcmFjcGFydCA9ICcnCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBpbnRwYXJ0ID0gc2VsZi5faW50Wzpkb3RwbGFjZV0KLSAgICAgICAgICAgIGZyYWNwYXJ0ID0gJy4nICsgc2VsZi5faW50W2RvdHBsYWNlOl0KLSAgICAgICAgaWYgbGVmdGRpZ2l0cyA9PSBkb3RwbGFjZToKLSAgICAgICAgICAgIGV4cCA9ICcnCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBpZiBjb250ZXh0IGlzIE5vbmU6Ci0gICAgICAgICAgICAgICAgY29udGV4dCA9IGdldGNvbnRleHQoKQotICAgICAgICAgICAgZXhwID0gWydlJywgJ0UnXVtjb250ZXh0LmNhcGl0YWxzXSArICIlK2QiICUgKGxlZnRkaWdpdHMtZG90cGxhY2UpCi0KLSAgICAgICAgcmV0dXJuIHNpZ24gKyBpbnRwYXJ0ICsgZnJhY3BhcnQgKyBleHAKLQotICAgIGRlZiB0b19lbmdfc3RyaW5nKHNlbGYsIGNvbnRleHQ9Tm9uZSk6Ci0gICAgICAgICIiIkNvbnZlcnQgdG8gZW5naW5lZXJpbmctdHlwZSBzdHJpbmcuCi0KLSAgICAgICAgRW5naW5lZXJpbmcgbm90YXRpb24gaGFzIGFuIGV4cG9uZW50IHdoaWNoIGlzIGEgbXVsdGlwbGUgb2YgMywgc28gdGhlcmUKLSAgICAgICAgYXJlIHVwIHRvIDMgZGlnaXRzIGxlZnQgb2YgdGhlIGRlY2ltYWwgcGxhY2UuCi0KLSAgICAgICAgU2FtZSBydWxlcyBmb3Igd2hlbiBpbiBleHBvbmVudGlhbCBhbmQgd2hlbiBhcyBhIHZhbHVlIGFzIGluIF9fc3RyX18uCi0gICAgICAgICIiIgotICAgICAgICByZXR1cm4gc2VsZi5fX3N0cl9fKGVuZz1UcnVlLCBjb250ZXh0PWNvbnRleHQpCi0KLSAgICBkZWYgX19uZWdfXyhzZWxmLCBjb250ZXh0PU5vbmUpOgotICAgICAgICAiIiJSZXR1cm5zIGEgY29weSB3aXRoIHRoZSBzaWduIHN3aXRjaGVkLgotCi0gICAgICAgIFJvdW5kcywgaWYgaXQgaGFzIHJlYXNvbi4KLSAgICAgICAgIiIiCi0gICAgICAgIGlmIHNlbGYuX2lzX3NwZWNpYWw6Ci0gICAgICAgICAgICBhbnMgPSBzZWxmLl9jaGVja19uYW5zKGNvbnRleHQ9Y29udGV4dCkKLSAgICAgICAgICAgIGlmIGFuczoKLSAgICAgICAgICAgICAgICByZXR1cm4gYW5zCi0KLSAgICAgICAgaWYgY29udGV4dCBpcyBOb25lOgotICAgICAgICAgICAgY29udGV4dCA9IGdldGNvbnRleHQoKQotCi0gICAgICAgIGlmIG5vdCBzZWxmIGFuZCBjb250ZXh0LnJvdW5kaW5nICE9IFJPVU5EX0ZMT09SOgotICAgICAgICAgICAgIyAtRGVjaW1hbCgnMCcpIGlzIERlY2ltYWwoJzAnKSwgbm90IERlY2ltYWwoJy0wJyksIGV4Y2VwdAotICAgICAgICAgICAgIyBpbiBST1VORF9GTE9PUiByb3VuZGluZyBtb2RlLgotICAgICAgICAgICAgYW5zID0gc2VsZi5jb3B5X2FicygpCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBhbnMgPSBzZWxmLmNvcHlfbmVnYXRlKCkKLQotICAgICAgICByZXR1cm4gYW5zLl9maXgoY29udGV4dCkKLQotICAgIGRlZiBfX3Bvc19fKHNlbGYsIGNvbnRleHQ9Tm9uZSk6Ci0gICAgICAgICIiIlJldHVybnMgYSBjb3B5LCB1bmxlc3MgaXQgaXMgYSBzTmFOLgotCi0gICAgICAgIFJvdW5kcyB0aGUgbnVtYmVyIChpZiBtb3JlIHRoZW4gcHJlY2lzaW9uIGRpZ2l0cykKLSAgICAgICAgIiIiCi0gICAgICAgIGlmIHNlbGYuX2lzX3NwZWNpYWw6Ci0gICAgICAgICAgICBhbnMgPSBzZWxmLl9jaGVja19uYW5zKGNvbnRleHQ9Y29udGV4dCkKLSAgICAgICAgICAgIGlmIGFuczoKLSAgICAgICAgICAgICAgICByZXR1cm4gYW5zCi0KLSAgICAgICAgaWYgY29udGV4dCBpcyBOb25lOgotICAgICAgICAgICAgY29udGV4dCA9IGdldGNvbnRleHQoKQotCi0gICAgICAgIGlmIG5vdCBzZWxmIGFuZCBjb250ZXh0LnJvdW5kaW5nICE9IFJPVU5EX0ZMT09SOgotICAgICAgICAgICAgIyArICgtMCkgPSAwLCBleGNlcHQgaW4gUk9VTkRfRkxPT1Igcm91bmRpbmcgbW9kZS4KLSAgICAgICAgICAgIGFucyA9IHNlbGYuY29weV9hYnMoKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgYW5zID0gRGVjaW1hbChzZWxmKQotCi0gICAgICAgIHJldHVybiBhbnMuX2ZpeChjb250ZXh0KQotCi0gICAgZGVmIF9fYWJzX18oc2VsZiwgcm91bmQ9VHJ1ZSwgY29udGV4dD1Ob25lKToKLSAgICAgICAgIiIiUmV0dXJucyB0aGUgYWJzb2x1dGUgdmFsdWUgb2Ygc2VsZi4KLQotICAgICAgICBJZiB0aGUga2V5d29yZCBhcmd1bWVudCAncm91bmQnIGlzIGZhbHNlLCBkbyBub3Qgcm91bmQuICBUaGUKLSAgICAgICAgZXhwcmVzc2lvbiBzZWxmLl9fYWJzX18ocm91bmQ9RmFsc2UpIGlzIGVxdWl2YWxlbnQgdG8KLSAgICAgICAgc2VsZi5jb3B5X2FicygpLgotICAgICAgICAiIiIKLSAgICAgICAgaWYgbm90IHJvdW5kOgotICAgICAgICAgICAgcmV0dXJuIHNlbGYuY29weV9hYnMoKQotCi0gICAgICAgIGlmIHNlbGYuX2lzX3NwZWNpYWw6Ci0gICAgICAgICAgICBhbnMgPSBzZWxmLl9jaGVja19uYW5zKGNvbnRleHQ9Y29udGV4dCkKLSAgICAgICAgICAgIGlmIGFuczoKLSAgICAgICAgICAgICAgICByZXR1cm4gYW5zCi0KLSAgICAgICAgaWYgc2VsZi5fc2lnbjoKLSAgICAgICAgICAgIGFucyA9IHNlbGYuX19uZWdfXyhjb250ZXh0PWNvbnRleHQpCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBhbnMgPSBzZWxmLl9fcG9zX18oY29udGV4dD1jb250ZXh0KQotCi0gICAgICAgIHJldHVybiBhbnMKLQotICAgIGRlZiBfX2FkZF9fKHNlbGYsIG90aGVyLCBjb250ZXh0PU5vbmUpOgotICAgICAgICAiIiJSZXR1cm5zIHNlbGYgKyBvdGhlci4KLQotICAgICAgICAtSU5GICsgSU5GIChvciB0aGUgcmV2ZXJzZSkgY2F1c2UgSW52YWxpZE9wZXJhdGlvbiBlcnJvcnMuCi0gICAgICAgICIiIgotICAgICAgICBvdGhlciA9IF9jb252ZXJ0X290aGVyKG90aGVyKQotICAgICAgICBpZiBvdGhlciBpcyBOb3RJbXBsZW1lbnRlZDoKLSAgICAgICAgICAgIHJldHVybiBvdGhlcgotCi0gICAgICAgIGlmIGNvbnRleHQgaXMgTm9uZToKLSAgICAgICAgICAgIGNvbnRleHQgPSBnZXRjb250ZXh0KCkKLQotICAgICAgICBpZiBzZWxmLl9pc19zcGVjaWFsIG9yIG90aGVyLl9pc19zcGVjaWFsOgotICAgICAgICAgICAgYW5zID0gc2VsZi5fY2hlY2tfbmFucyhvdGhlciwgY29udGV4dCkKLSAgICAgICAgICAgIGlmIGFuczoKLSAgICAgICAgICAgICAgICByZXR1cm4gYW5zCi0KLSAgICAgICAgICAgIGlmIHNlbGYuX2lzaW5maW5pdHkoKToKLSAgICAgICAgICAgICAgICAjIElmIGJvdGggSU5GLCBzYW1lIHNpZ24gPT4gc2FtZSBhcyBib3RoLCBvcHBvc2l0ZSA9PiBlcnJvci4KLSAgICAgICAgICAgICAgICBpZiBzZWxmLl9zaWduICE9IG90aGVyLl9zaWduIGFuZCBvdGhlci5faXNpbmZpbml0eSgpOgotICAgICAgICAgICAgICAgICAgICByZXR1cm4gY29udGV4dC5fcmFpc2VfZXJyb3IoSW52YWxpZE9wZXJhdGlvbiwgJy1JTkYgKyBJTkYnKQotICAgICAgICAgICAgICAgIHJldHVybiBEZWNpbWFsKHNlbGYpCi0gICAgICAgICAgICBpZiBvdGhlci5faXNpbmZpbml0eSgpOgotICAgICAgICAgICAgICAgIHJldHVybiBEZWNpbWFsKG90aGVyKSAgIyBDYW4ndCBib3RoIGJlIGluZmluaXR5IGhlcmUKLQotICAgICAgICBleHAgPSBtaW4oc2VsZi5fZXhwLCBvdGhlci5fZXhwKQotICAgICAgICBuZWdhdGl2ZXplcm8gPSAwCi0gICAgICAgIGlmIGNvbnRleHQucm91bmRpbmcgPT0gUk9VTkRfRkxPT1IgYW5kIHNlbGYuX3NpZ24gIT0gb3RoZXIuX3NpZ246Ci0gICAgICAgICAgICAjIElmIHRoZSBhbnN3ZXIgaXMgMCwgdGhlIHNpZ24gc2hvdWxkIGJlIG5lZ2F0aXZlLCBpbiB0aGlzIGNhc2UuCi0gICAgICAgICAgICBuZWdhdGl2ZXplcm8gPSAxCi0KLSAgICAgICAgaWYgbm90IHNlbGYgYW5kIG5vdCBvdGhlcjoKLSAgICAgICAgICAgIHNpZ24gPSBtaW4oc2VsZi5fc2lnbiwgb3RoZXIuX3NpZ24pCi0gICAgICAgICAgICBpZiBuZWdhdGl2ZXplcm86Ci0gICAgICAgICAgICAgICAgc2lnbiA9IDEKLSAgICAgICAgICAgIGFucyA9IF9kZWNfZnJvbV90cmlwbGUoc2lnbiwgJzAnLCBleHApCi0gICAgICAgICAgICBhbnMgPSBhbnMuX2ZpeChjb250ZXh0KQotICAgICAgICAgICAgcmV0dXJuIGFucwotICAgICAgICBpZiBub3Qgc2VsZjoKLSAgICAgICAgICAgIGV4cCA9IG1heChleHAsIG90aGVyLl9leHAgLSBjb250ZXh0LnByZWMtMSkKLSAgICAgICAgICAgIGFucyA9IG90aGVyLl9yZXNjYWxlKGV4cCwgY29udGV4dC5yb3VuZGluZykKLSAgICAgICAgICAgIGFucyA9IGFucy5fZml4KGNvbnRleHQpCi0gICAgICAgICAgICByZXR1cm4gYW5zCi0gICAgICAgIGlmIG5vdCBvdGhlcjoKLSAgICAgICAgICAgIGV4cCA9IG1heChleHAsIHNlbGYuX2V4cCAtIGNvbnRleHQucHJlYy0xKQotICAgICAgICAgICAgYW5zID0gc2VsZi5fcmVzY2FsZShleHAsIGNvbnRleHQucm91bmRpbmcpCi0gICAgICAgICAgICBhbnMgPSBhbnMuX2ZpeChjb250ZXh0KQotICAgICAgICAgICAgcmV0dXJuIGFucwotCi0gICAgICAgIG9wMSA9IF9Xb3JrUmVwKHNlbGYpCi0gICAgICAgIG9wMiA9IF9Xb3JrUmVwKG90aGVyKQotICAgICAgICBvcDEsIG9wMiA9IF9ub3JtYWxpemUob3AxLCBvcDIsIGNvbnRleHQucHJlYykKLQotICAgICAgICByZXN1bHQgPSBfV29ya1JlcCgpCi0gICAgICAgIGlmIG9wMS5zaWduICE9IG9wMi5zaWduOgotICAgICAgICAgICAgIyBFcXVhbCBhbmQgb3Bwb3NpdGUKLSAgICAgICAgICAgIGlmIG9wMS5pbnQgPT0gb3AyLmludDoKLSAgICAgICAgICAgICAgICBhbnMgPSBfZGVjX2Zyb21fdHJpcGxlKG5lZ2F0aXZlemVybywgJzAnLCBleHApCi0gICAgICAgICAgICAgICAgYW5zID0gYW5zLl9maXgoY29udGV4dCkKLSAgICAgICAgICAgICAgICByZXR1cm4gYW5zCi0gICAgICAgICAgICBpZiBvcDEuaW50IDwgb3AyLmludDoKLSAgICAgICAgICAgICAgICBvcDEsIG9wMiA9IG9wMiwgb3AxCi0gICAgICAgICAgICAgICAgIyBPSywgbm93IGFicyhvcDEpID4gYWJzKG9wMikKLSAgICAgICAgICAgIGlmIG9wMS5zaWduID09IDE6Ci0gICAgICAgICAgICAgICAgcmVzdWx0LnNpZ24gPSAxCi0gICAgICAgICAgICAgICAgb3AxLnNpZ24sIG9wMi5zaWduID0gb3AyLnNpZ24sIG9wMS5zaWduCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIHJlc3VsdC5zaWduID0gMAotICAgICAgICAgICAgICAgICMgU28gd2Uga25vdyB0aGUgc2lnbiwgYW5kIG9wMSA+IDAuCi0gICAgICAgIGVsaWYgb3AxLnNpZ24gPT0gMToKLSAgICAgICAgICAgIHJlc3VsdC5zaWduID0gMQotICAgICAgICAgICAgb3AxLnNpZ24sIG9wMi5zaWduID0gKDAsIDApCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICByZXN1bHQuc2lnbiA9IDAKLSAgICAgICAgIyBOb3csIG9wMSA+IGFicyhvcDIpID4gMAotCi0gICAgICAgIGlmIG9wMi5zaWduID09IDA6Ci0gICAgICAgICAgICByZXN1bHQuaW50ID0gb3AxLmludCArIG9wMi5pbnQKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHJlc3VsdC5pbnQgPSBvcDEuaW50IC0gb3AyLmludAotCi0gICAgICAgIHJlc3VsdC5leHAgPSBvcDEuZXhwCi0gICAgICAgIGFucyA9IERlY2ltYWwocmVzdWx0KQotICAgICAgICBhbnMgPSBhbnMuX2ZpeChjb250ZXh0KQotICAgICAgICByZXR1cm4gYW5zCi0KLSAgICBfX3JhZGRfXyA9IF9fYWRkX18KLQotICAgIGRlZiBfX3N1Yl9fKHNlbGYsIG90aGVyLCBjb250ZXh0PU5vbmUpOgotICAgICAgICAiIiJSZXR1cm4gc2VsZiAtIG90aGVyIiIiCi0gICAgICAgIG90aGVyID0gX2NvbnZlcnRfb3RoZXIob3RoZXIpCi0gICAgICAgIGlmIG90aGVyIGlzIE5vdEltcGxlbWVudGVkOgotICAgICAgICAgICAgcmV0dXJuIG90aGVyCi0KLSAgICAgICAgaWYgc2VsZi5faXNfc3BlY2lhbCBvciBvdGhlci5faXNfc3BlY2lhbDoKLSAgICAgICAgICAgIGFucyA9IHNlbGYuX2NoZWNrX25hbnMob3RoZXIsIGNvbnRleHQ9Y29udGV4dCkKLSAgICAgICAgICAgIGlmIGFuczoKLSAgICAgICAgICAgICAgICByZXR1cm4gYW5zCi0KLSAgICAgICAgIyBzZWxmIC0gb3RoZXIgaXMgY29tcHV0ZWQgYXMgc2VsZiArIG90aGVyLmNvcHlfbmVnYXRlKCkKLSAgICAgICAgcmV0dXJuIHNlbGYuX19hZGRfXyhvdGhlci5jb3B5X25lZ2F0ZSgpLCBjb250ZXh0PWNvbnRleHQpCi0KLSAgICBkZWYgX19yc3ViX18oc2VsZiwgb3RoZXIsIGNvbnRleHQ9Tm9uZSk6Ci0gICAgICAgICIiIlJldHVybiBvdGhlciAtIHNlbGYiIiIKLSAgICAgICAgb3RoZXIgPSBfY29udmVydF9vdGhlcihvdGhlcikKLSAgICAgICAgaWYgb3RoZXIgaXMgTm90SW1wbGVtZW50ZWQ6Ci0gICAgICAgICAgICByZXR1cm4gb3RoZXIKLQotICAgICAgICByZXR1cm4gb3RoZXIuX19zdWJfXyhzZWxmLCBjb250ZXh0PWNvbnRleHQpCi0KLSAgICBkZWYgX19tdWxfXyhzZWxmLCBvdGhlciwgY29udGV4dD1Ob25lKToKLSAgICAgICAgIiIiUmV0dXJuIHNlbGYgKiBvdGhlci4KLQotICAgICAgICAoKy0pIElORiAqIDAgKG9yIGl0cyByZXZlcnNlKSByYWlzZSBJbnZhbGlkT3BlcmF0aW9uLgotICAgICAgICAiIiIKLSAgICAgICAgb3RoZXIgPSBfY29udmVydF9vdGhlcihvdGhlcikKLSAgICAgICAgaWYgb3RoZXIgaXMgTm90SW1wbGVtZW50ZWQ6Ci0gICAgICAgICAgICByZXR1cm4gb3RoZXIKLQotICAgICAgICBpZiBjb250ZXh0IGlzIE5vbmU6Ci0gICAgICAgICAgICBjb250ZXh0ID0gZ2V0Y29udGV4dCgpCi0KLSAgICAgICAgcmVzdWx0c2lnbiA9IHNlbGYuX3NpZ24gXiBvdGhlci5fc2lnbgotCi0gICAgICAgIGlmIHNlbGYuX2lzX3NwZWNpYWwgb3Igb3RoZXIuX2lzX3NwZWNpYWw6Ci0gICAgICAgICAgICBhbnMgPSBzZWxmLl9jaGVja19uYW5zKG90aGVyLCBjb250ZXh0KQotICAgICAgICAgICAgaWYgYW5zOgotICAgICAgICAgICAgICAgIHJldHVybiBhbnMKLQotICAgICAgICAgICAgaWYgc2VsZi5faXNpbmZpbml0eSgpOgotICAgICAgICAgICAgICAgIGlmIG5vdCBvdGhlcjoKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuX3JhaXNlX2Vycm9yKEludmFsaWRPcGVyYXRpb24sICcoKy0pSU5GICogMCcpCi0gICAgICAgICAgICAgICAgcmV0dXJuIF9TaWduZWRJbmZpbml0eVtyZXN1bHRzaWduXQotCi0gICAgICAgICAgICBpZiBvdGhlci5faXNpbmZpbml0eSgpOgotICAgICAgICAgICAgICAgIGlmIG5vdCBzZWxmOgotICAgICAgICAgICAgICAgICAgICByZXR1cm4gY29udGV4dC5fcmFpc2VfZXJyb3IoSW52YWxpZE9wZXJhdGlvbiwgJzAgKiAoKy0pSU5GJykKLSAgICAgICAgICAgICAgICByZXR1cm4gX1NpZ25lZEluZmluaXR5W3Jlc3VsdHNpZ25dCi0KLSAgICAgICAgcmVzdWx0ZXhwID0gc2VsZi5fZXhwICsgb3RoZXIuX2V4cAotCi0gICAgICAgICMgU3BlY2lhbCBjYXNlIGZvciBtdWx0aXBseWluZyBieSB6ZXJvCi0gICAgICAgIGlmIG5vdCBzZWxmIG9yIG5vdCBvdGhlcjoKLSAgICAgICAgICAgIGFucyA9IF9kZWNfZnJvbV90cmlwbGUocmVzdWx0c2lnbiwgJzAnLCByZXN1bHRleHApCi0gICAgICAgICAgICAjIEZpeGluZyBpbiBjYXNlIHRoZSBleHBvbmVudCBpcyBvdXQgb2YgYm91bmRzCi0gICAgICAgICAgICBhbnMgPSBhbnMuX2ZpeChjb250ZXh0KQotICAgICAgICAgICAgcmV0dXJuIGFucwotCi0gICAgICAgICMgU3BlY2lhbCBjYXNlIGZvciBtdWx0aXBseWluZyBieSBwb3dlciBvZiAxMAotICAgICAgICBpZiBzZWxmLl9pbnQgPT0gJzEnOgotICAgICAgICAgICAgYW5zID0gX2RlY19mcm9tX3RyaXBsZShyZXN1bHRzaWduLCBvdGhlci5faW50LCByZXN1bHRleHApCi0gICAgICAgICAgICBhbnMgPSBhbnMuX2ZpeChjb250ZXh0KQotICAgICAgICAgICAgcmV0dXJuIGFucwotICAgICAgICBpZiBvdGhlci5faW50ID09ICcxJzoKLSAgICAgICAgICAgIGFucyA9IF9kZWNfZnJvbV90cmlwbGUocmVzdWx0c2lnbiwgc2VsZi5faW50LCByZXN1bHRleHApCi0gICAgICAgICAgICBhbnMgPSBhbnMuX2ZpeChjb250ZXh0KQotICAgICAgICAgICAgcmV0dXJuIGFucwotCi0gICAgICAgIG9wMSA9IF9Xb3JrUmVwKHNlbGYpCi0gICAgICAgIG9wMiA9IF9Xb3JrUmVwKG90aGVyKQotCi0gICAgICAgIGFucyA9IF9kZWNfZnJvbV90cmlwbGUocmVzdWx0c2lnbiwgc3RyKG9wMS5pbnQgKiBvcDIuaW50KSwgcmVzdWx0ZXhwKQotICAgICAgICBhbnMgPSBhbnMuX2ZpeChjb250ZXh0KQotCi0gICAgICAgIHJldHVybiBhbnMKLSAgICBfX3JtdWxfXyA9IF9fbXVsX18KLQotICAgIGRlZiBfX3RydWVkaXZfXyhzZWxmLCBvdGhlciwgY29udGV4dD1Ob25lKToKLSAgICAgICAgIiIiUmV0dXJuIHNlbGYgLyBvdGhlci4iIiIKLSAgICAgICAgb3RoZXIgPSBfY29udmVydF9vdGhlcihvdGhlcikKLSAgICAgICAgaWYgb3RoZXIgaXMgTm90SW1wbGVtZW50ZWQ6Ci0gICAgICAgICAgICByZXR1cm4gTm90SW1wbGVtZW50ZWQKLQotICAgICAgICBpZiBjb250ZXh0IGlzIE5vbmU6Ci0gICAgICAgICAgICBjb250ZXh0ID0gZ2V0Y29udGV4dCgpCi0KLSAgICAgICAgc2lnbiA9IHNlbGYuX3NpZ24gXiBvdGhlci5fc2lnbgotCi0gICAgICAgIGlmIHNlbGYuX2lzX3NwZWNpYWwgb3Igb3RoZXIuX2lzX3NwZWNpYWw6Ci0gICAgICAgICAgICBhbnMgPSBzZWxmLl9jaGVja19uYW5zKG90aGVyLCBjb250ZXh0KQotICAgICAgICAgICAgaWYgYW5zOgotICAgICAgICAgICAgICAgIHJldHVybiBhbnMKLQotICAgICAgICAgICAgaWYgc2VsZi5faXNpbmZpbml0eSgpIGFuZCBvdGhlci5faXNpbmZpbml0eSgpOgotICAgICAgICAgICAgICAgIHJldHVybiBjb250ZXh0Ll9yYWlzZV9lcnJvcihJbnZhbGlkT3BlcmF0aW9uLCAnKCstKUlORi8oKy0pSU5GJykKLQotICAgICAgICAgICAgaWYgc2VsZi5faXNpbmZpbml0eSgpOgotICAgICAgICAgICAgICAgIHJldHVybiBfU2lnbmVkSW5maW5pdHlbc2lnbl0KLQotICAgICAgICAgICAgaWYgb3RoZXIuX2lzaW5maW5pdHkoKToKLSAgICAgICAgICAgICAgICBjb250ZXh0Ll9yYWlzZV9lcnJvcihDbGFtcGVkLCAnRGl2aXNpb24gYnkgaW5maW5pdHknKQotICAgICAgICAgICAgICAgIHJldHVybiBfZGVjX2Zyb21fdHJpcGxlKHNpZ24sICcwJywgY29udGV4dC5FdGlueSgpKQotCi0gICAgICAgICMgU3BlY2lhbCBjYXNlcyBmb3IgemVyb2VzCi0gICAgICAgIGlmIG5vdCBvdGhlcjoKLSAgICAgICAgICAgIGlmIG5vdCBzZWxmOgotICAgICAgICAgICAgICAgIHJldHVybiBjb250ZXh0Ll9yYWlzZV9lcnJvcihEaXZpc2lvblVuZGVmaW5lZCwgJzAgLyAwJykKLSAgICAgICAgICAgIHJldHVybiBjb250ZXh0Ll9yYWlzZV9lcnJvcihEaXZpc2lvbkJ5WmVybywgJ3ggLyAwJywgc2lnbikKLQotICAgICAgICBpZiBub3Qgc2VsZjoKLSAgICAgICAgICAgIGV4cCA9IHNlbGYuX2V4cCAtIG90aGVyLl9leHAKLSAgICAgICAgICAgIGNvZWZmID0gMAotICAgICAgICBlbHNlOgotICAgICAgICAgICAgIyBPSywgc28gbmVpdGhlciA9IDAsIElORiBvciBOYU4KLSAgICAgICAgICAgIHNoaWZ0ID0gbGVuKG90aGVyLl9pbnQpIC0gbGVuKHNlbGYuX2ludCkgKyBjb250ZXh0LnByZWMgKyAxCi0gICAgICAgICAgICBleHAgPSBzZWxmLl9leHAgLSBvdGhlci5fZXhwIC0gc2hpZnQKLSAgICAgICAgICAgIG9wMSA9IF9Xb3JrUmVwKHNlbGYpCi0gICAgICAgICAgICBvcDIgPSBfV29ya1JlcChvdGhlcikKLSAgICAgICAgICAgIGlmIHNoaWZ0ID49IDA6Ci0gICAgICAgICAgICAgICAgY29lZmYsIHJlbWFpbmRlciA9IGRpdm1vZChvcDEuaW50ICogMTAqKnNoaWZ0LCBvcDIuaW50KQotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBjb2VmZiwgcmVtYWluZGVyID0gZGl2bW9kKG9wMS5pbnQsIG9wMi5pbnQgKiAxMCoqLXNoaWZ0KQotICAgICAgICAgICAgaWYgcmVtYWluZGVyOgotICAgICAgICAgICAgICAgICMgcmVzdWx0IGlzIG5vdCBleGFjdDsgYWRqdXN0IHRvIGVuc3VyZSBjb3JyZWN0IHJvdW5kaW5nCi0gICAgICAgICAgICAgICAgaWYgY29lZmYgJSA1ID09IDA6Ci0gICAgICAgICAgICAgICAgICAgIGNvZWZmICs9IDEKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgIyByZXN1bHQgaXMgZXhhY3Q7IGdldCBhcyBjbG9zZSB0byBpZGVhbCBleHBvbmVudCBhcyBwb3NzaWJsZQotICAgICAgICAgICAgICAgIGlkZWFsX2V4cCA9IHNlbGYuX2V4cCAtIG90aGVyLl9leHAKLSAgICAgICAgICAgICAgICB3aGlsZSBleHAgPCBpZGVhbF9leHAgYW5kIGNvZWZmICUgMTAgPT0gMDoKLSAgICAgICAgICAgICAgICAgICAgY29lZmYgLy89IDEwCi0gICAgICAgICAgICAgICAgICAgIGV4cCArPSAxCi0KLSAgICAgICAgYW5zID0gX2RlY19mcm9tX3RyaXBsZShzaWduLCBzdHIoY29lZmYpLCBleHApCi0gICAgICAgIHJldHVybiBhbnMuX2ZpeChjb250ZXh0KQotCi0gICAgZGVmIF9kaXZpZGUoc2VsZiwgb3RoZXIsIGNvbnRleHQpOgotICAgICAgICAiIiJSZXR1cm4gKHNlbGYgLy8gb3RoZXIsIHNlbGYgJSBvdGhlciksIHRvIGNvbnRleHQucHJlYyBwcmVjaXNpb24uCi0KLSAgICAgICAgQXNzdW1lcyB0aGF0IG5laXRoZXIgc2VsZiBub3Igb3RoZXIgaXMgYSBOYU4sIHRoYXQgc2VsZiBpcyBub3QKLSAgICAgICAgaW5maW5pdGUgYW5kIHRoYXQgb3RoZXIgaXMgbm9uemVyby4KLSAgICAgICAgIiIiCi0gICAgICAgIHNpZ24gPSBzZWxmLl9zaWduIF4gb3RoZXIuX3NpZ24KLSAgICAgICAgaWYgb3RoZXIuX2lzaW5maW5pdHkoKToKLSAgICAgICAgICAgIGlkZWFsX2V4cCA9IHNlbGYuX2V4cAotICAgICAgICBlbHNlOgotICAgICAgICAgICAgaWRlYWxfZXhwID0gbWluKHNlbGYuX2V4cCwgb3RoZXIuX2V4cCkKLQotICAgICAgICBleHBkaWZmID0gc2VsZi5hZGp1c3RlZCgpIC0gb3RoZXIuYWRqdXN0ZWQoKQotICAgICAgICBpZiBub3Qgc2VsZiBvciBvdGhlci5faXNpbmZpbml0eSgpIG9yIGV4cGRpZmYgPD0gLTI6Ci0gICAgICAgICAgICByZXR1cm4gKF9kZWNfZnJvbV90cmlwbGUoc2lnbiwgJzAnLCAwKSwKLSAgICAgICAgICAgICAgICAgICAgc2VsZi5fcmVzY2FsZShpZGVhbF9leHAsIGNvbnRleHQucm91bmRpbmcpKQotICAgICAgICBpZiBleHBkaWZmIDw9IGNvbnRleHQucHJlYzoKLSAgICAgICAgICAgIG9wMSA9IF9Xb3JrUmVwKHNlbGYpCi0gICAgICAgICAgICBvcDIgPSBfV29ya1JlcChvdGhlcikKLSAgICAgICAgICAgIGlmIG9wMS5leHAgPj0gb3AyLmV4cDoKLSAgICAgICAgICAgICAgICBvcDEuaW50ICo9IDEwKioob3AxLmV4cCAtIG9wMi5leHApCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIG9wMi5pbnQgKj0gMTAqKihvcDIuZXhwIC0gb3AxLmV4cCkKLSAgICAgICAgICAgIHEsIHIgPSBkaXZtb2Qob3AxLmludCwgb3AyLmludCkKLSAgICAgICAgICAgIGlmIHEgPCAxMCoqY29udGV4dC5wcmVjOgotICAgICAgICAgICAgICAgIHJldHVybiAoX2RlY19mcm9tX3RyaXBsZShzaWduLCBzdHIocSksIDApLAotICAgICAgICAgICAgICAgICAgICAgICAgX2RlY19mcm9tX3RyaXBsZShzZWxmLl9zaWduLCBzdHIociksIGlkZWFsX2V4cCkpCi0KLSAgICAgICAgIyBIZXJlIHRoZSBxdW90aWVudCBpcyB0b28gbGFyZ2UgdG8gYmUgcmVwcmVzZW50YWJsZQotICAgICAgICBhbnMgPSBjb250ZXh0Ll9yYWlzZV9lcnJvcihEaXZpc2lvbkltcG9zc2libGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdxdW90aWVudCB0b28gbGFyZ2UgaW4gLy8sICUgb3IgZGl2bW9kJykKLSAgICAgICAgcmV0dXJuIGFucywgYW5zCi0KLSAgICBkZWYgX19ydHJ1ZWRpdl9fKHNlbGYsIG90aGVyLCBjb250ZXh0PU5vbmUpOgotICAgICAgICAiIiJTd2FwcyBzZWxmL290aGVyIGFuZCByZXR1cm5zIF9fdHJ1ZWRpdl9fLiIiIgotICAgICAgICBvdGhlciA9IF9jb252ZXJ0X290aGVyKG90aGVyKQotICAgICAgICBpZiBvdGhlciBpcyBOb3RJbXBsZW1lbnRlZDoKLSAgICAgICAgICAgIHJldHVybiBvdGhlcgotICAgICAgICByZXR1cm4gb3RoZXIuX190cnVlZGl2X18oc2VsZiwgY29udGV4dD1jb250ZXh0KQotCi0gICAgZGVmIF9fZGl2bW9kX18oc2VsZiwgb3RoZXIsIGNvbnRleHQ9Tm9uZSk6Ci0gICAgICAgICIiIgotICAgICAgICBSZXR1cm4gKHNlbGYgLy8gb3RoZXIsIHNlbGYgJSBvdGhlcikKLSAgICAgICAgIiIiCi0gICAgICAgIG90aGVyID0gX2NvbnZlcnRfb3RoZXIob3RoZXIpCi0gICAgICAgIGlmIG90aGVyIGlzIE5vdEltcGxlbWVudGVkOgotICAgICAgICAgICAgcmV0dXJuIG90aGVyCi0KLSAgICAgICAgaWYgY29udGV4dCBpcyBOb25lOgotICAgICAgICAgICAgY29udGV4dCA9IGdldGNvbnRleHQoKQotCi0gICAgICAgIGFucyA9IHNlbGYuX2NoZWNrX25hbnMob3RoZXIsIGNvbnRleHQpCi0gICAgICAgIGlmIGFuczoKLSAgICAgICAgICAgIHJldHVybiAoYW5zLCBhbnMpCi0KLSAgICAgICAgc2lnbiA9IHNlbGYuX3NpZ24gXiBvdGhlci5fc2lnbgotICAgICAgICBpZiBzZWxmLl9pc2luZmluaXR5KCk6Ci0gICAgICAgICAgICBpZiBvdGhlci5faXNpbmZpbml0eSgpOgotICAgICAgICAgICAgICAgIGFucyA9IGNvbnRleHQuX3JhaXNlX2Vycm9yKEludmFsaWRPcGVyYXRpb24sICdkaXZtb2QoSU5GLCBJTkYpJykKLSAgICAgICAgICAgICAgICByZXR1cm4gYW5zLCBhbnMKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIChfU2lnbmVkSW5maW5pdHlbc2lnbl0sCi0gICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0Ll9yYWlzZV9lcnJvcihJbnZhbGlkT3BlcmF0aW9uLCAnSU5GICUgeCcpKQotCi0gICAgICAgIGlmIG5vdCBvdGhlcjoKLSAgICAgICAgICAgIGlmIG5vdCBzZWxmOgotICAgICAgICAgICAgICAgIGFucyA9IGNvbnRleHQuX3JhaXNlX2Vycm9yKERpdmlzaW9uVW5kZWZpbmVkLCAnZGl2bW9kKDAsIDApJykKLSAgICAgICAgICAgICAgICByZXR1cm4gYW5zLCBhbnMKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIChjb250ZXh0Ll9yYWlzZV9lcnJvcihEaXZpc2lvbkJ5WmVybywgJ3ggLy8gMCcsIHNpZ24pLAotICAgICAgICAgICAgICAgICAgICAgICAgY29udGV4dC5fcmFpc2VfZXJyb3IoSW52YWxpZE9wZXJhdGlvbiwgJ3ggJSAwJykpCi0KLSAgICAgICAgcXVvdGllbnQsIHJlbWFpbmRlciA9IHNlbGYuX2RpdmlkZShvdGhlciwgY29udGV4dCkKLSAgICAgICAgcmVtYWluZGVyID0gcmVtYWluZGVyLl9maXgoY29udGV4dCkKLSAgICAgICAgcmV0dXJuIHF1b3RpZW50LCByZW1haW5kZXIKLQotICAgIGRlZiBfX3JkaXZtb2RfXyhzZWxmLCBvdGhlciwgY29udGV4dD1Ob25lKToKLSAgICAgICAgIiIiU3dhcHMgc2VsZi9vdGhlciBhbmQgcmV0dXJucyBfX2Rpdm1vZF9fLiIiIgotICAgICAgICBvdGhlciA9IF9jb252ZXJ0X290aGVyKG90aGVyKQotICAgICAgICBpZiBvdGhlciBpcyBOb3RJbXBsZW1lbnRlZDoKLSAgICAgICAgICAgIHJldHVybiBvdGhlcgotICAgICAgICByZXR1cm4gb3RoZXIuX19kaXZtb2RfXyhzZWxmLCBjb250ZXh0PWNvbnRleHQpCi0KLSAgICBkZWYgX19tb2RfXyhzZWxmLCBvdGhlciwgY29udGV4dD1Ob25lKToKLSAgICAgICAgIiIiCi0gICAgICAgIHNlbGYgJSBvdGhlcgotICAgICAgICAiIiIKLSAgICAgICAgb3RoZXIgPSBfY29udmVydF9vdGhlcihvdGhlcikKLSAgICAgICAgaWYgb3RoZXIgaXMgTm90SW1wbGVtZW50ZWQ6Ci0gICAgICAgICAgICByZXR1cm4gb3RoZXIKLQotICAgICAgICBpZiBjb250ZXh0IGlzIE5vbmU6Ci0gICAgICAgICAgICBjb250ZXh0ID0gZ2V0Y29udGV4dCgpCi0KLSAgICAgICAgYW5zID0gc2VsZi5fY2hlY2tfbmFucyhvdGhlciwgY29udGV4dCkKLSAgICAgICAgaWYgYW5zOgotICAgICAgICAgICAgcmV0dXJuIGFucwotCi0gICAgICAgIGlmIHNlbGYuX2lzaW5maW5pdHkoKToKLSAgICAgICAgICAgIHJldHVybiBjb250ZXh0Ll9yYWlzZV9lcnJvcihJbnZhbGlkT3BlcmF0aW9uLCAnSU5GICUgeCcpCi0gICAgICAgIGVsaWYgbm90IG90aGVyOgotICAgICAgICAgICAgaWYgc2VsZjoKLSAgICAgICAgICAgICAgICByZXR1cm4gY29udGV4dC5fcmFpc2VfZXJyb3IoSW52YWxpZE9wZXJhdGlvbiwgJ3ggJSAwJykKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuX3JhaXNlX2Vycm9yKERpdmlzaW9uVW5kZWZpbmVkLCAnMCAlIDAnKQotCi0gICAgICAgIHJlbWFpbmRlciA9IHNlbGYuX2RpdmlkZShvdGhlciwgY29udGV4dClbMV0KLSAgICAgICAgcmVtYWluZGVyID0gcmVtYWluZGVyLl9maXgoY29udGV4dCkKLSAgICAgICAgcmV0dXJuIHJlbWFpbmRlcgotCi0gICAgZGVmIF9fcm1vZF9fKHNlbGYsIG90aGVyLCBjb250ZXh0PU5vbmUpOgotICAgICAgICAiIiJTd2FwcyBzZWxmL290aGVyIGFuZCByZXR1cm5zIF9fbW9kX18uIiIiCi0gICAgICAgIG90aGVyID0gX2NvbnZlcnRfb3RoZXIob3RoZXIpCi0gICAgICAgIGlmIG90aGVyIGlzIE5vdEltcGxlbWVudGVkOgotICAgICAgICAgICAgcmV0dXJuIG90aGVyCi0gICAgICAgIHJldHVybiBvdGhlci5fX21vZF9fKHNlbGYsIGNvbnRleHQ9Y29udGV4dCkKLQotICAgIGRlZiByZW1haW5kZXJfbmVhcihzZWxmLCBvdGhlciwgY29udGV4dD1Ob25lKToKLSAgICAgICAgIiIiCi0gICAgICAgIFJlbWFpbmRlciBuZWFyZXN0IHRvIDAtICBhYnMocmVtYWluZGVyLW5lYXIpIDw9IG90aGVyLzIKLSAgICAgICAgIiIiCi0gICAgICAgIGlmIGNvbnRleHQgaXMgTm9uZToKLSAgICAgICAgICAgIGNvbnRleHQgPSBnZXRjb250ZXh0KCkKLQotICAgICAgICBvdGhlciA9IF9jb252ZXJ0X290aGVyKG90aGVyLCByYWlzZWl0PVRydWUpCi0KLSAgICAgICAgYW5zID0gc2VsZi5fY2hlY2tfbmFucyhvdGhlciwgY29udGV4dCkKLSAgICAgICAgaWYgYW5zOgotICAgICAgICAgICAgcmV0dXJuIGFucwotCi0gICAgICAgICMgc2VsZiA9PSArLy1pbmZpbml0eSAtPiBJbnZhbGlkT3BlcmF0aW9uCi0gICAgICAgIGlmIHNlbGYuX2lzaW5maW5pdHkoKToKLSAgICAgICAgICAgIHJldHVybiBjb250ZXh0Ll9yYWlzZV9lcnJvcihJbnZhbGlkT3BlcmF0aW9uLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZW1haW5kZXJfbmVhcihpbmZpbml0eSwgeCknKQotCi0gICAgICAgICMgb3RoZXIgPT0gMCAtPiBlaXRoZXIgSW52YWxpZE9wZXJhdGlvbiBvciBEaXZpc2lvblVuZGVmaW5lZAotICAgICAgICBpZiBub3Qgb3RoZXI6Ci0gICAgICAgICAgICBpZiBzZWxmOgotICAgICAgICAgICAgICAgIHJldHVybiBjb250ZXh0Ll9yYWlzZV9lcnJvcihJbnZhbGlkT3BlcmF0aW9uLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVtYWluZGVyX25lYXIoeCwgMCknKQotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICByZXR1cm4gY29udGV4dC5fcmFpc2VfZXJyb3IoRGl2aXNpb25VbmRlZmluZWQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZW1haW5kZXJfbmVhcigwLCAwKScpCi0KLSAgICAgICAgIyBvdGhlciA9ICsvLWluZmluaXR5IC0+IHJlbWFpbmRlciA9IHNlbGYKLSAgICAgICAgaWYgb3RoZXIuX2lzaW5maW5pdHkoKToKLSAgICAgICAgICAgIGFucyA9IERlY2ltYWwoc2VsZikKLSAgICAgICAgICAgIHJldHVybiBhbnMuX2ZpeChjb250ZXh0KQotCi0gICAgICAgICMgc2VsZiA9IDAgLT4gcmVtYWluZGVyID0gc2VsZiwgd2l0aCBpZGVhbCBleHBvbmVudAotICAgICAgICBpZGVhbF9leHBvbmVudCA9IG1pbihzZWxmLl9leHAsIG90aGVyLl9leHApCi0gICAgICAgIGlmIG5vdCBzZWxmOgotICAgICAgICAgICAgYW5zID0gX2RlY19mcm9tX3RyaXBsZShzZWxmLl9zaWduLCAnMCcsIGlkZWFsX2V4cG9uZW50KQotICAgICAgICAgICAgcmV0dXJuIGFucy5fZml4KGNvbnRleHQpCi0KLSAgICAgICAgIyBjYXRjaCBtb3N0IGNhc2VzIG9mIGxhcmdlIG9yIHNtYWxsIHF1b3RpZW50Ci0gICAgICAgIGV4cGRpZmYgPSBzZWxmLmFkanVzdGVkKCkgLSBvdGhlci5hZGp1c3RlZCgpCi0gICAgICAgIGlmIGV4cGRpZmYgPj0gY29udGV4dC5wcmVjICsgMToKLSAgICAgICAgICAgICMgZXhwZGlmZiA+PSBwcmVjKzEgPT4gYWJzKHNlbGYvb3RoZXIpID4gMTAqKnByZWMKLSAgICAgICAgICAgIHJldHVybiBjb250ZXh0Ll9yYWlzZV9lcnJvcihEaXZpc2lvbkltcG9zc2libGUpCi0gICAgICAgIGlmIGV4cGRpZmYgPD0gLTI6Ci0gICAgICAgICAgICAjIGV4cGRpZmYgPD0gLTIgPT4gYWJzKHNlbGYvb3RoZXIpIDwgMC4xCi0gICAgICAgICAgICBhbnMgPSBzZWxmLl9yZXNjYWxlKGlkZWFsX2V4cG9uZW50LCBjb250ZXh0LnJvdW5kaW5nKQotICAgICAgICAgICAgcmV0dXJuIGFucy5fZml4KGNvbnRleHQpCi0KLSAgICAgICAgIyBhZGp1c3QgYm90aCBhcmd1bWVudHMgdG8gaGF2ZSB0aGUgc2FtZSBleHBvbmVudCwgdGhlbiBkaXZpZGUKLSAgICAgICAgb3AxID0gX1dvcmtSZXAoc2VsZikKLSAgICAgICAgb3AyID0gX1dvcmtSZXAob3RoZXIpCi0gICAgICAgIGlmIG9wMS5leHAgPj0gb3AyLmV4cDoKLSAgICAgICAgICAgIG9wMS5pbnQgKj0gMTAqKihvcDEuZXhwIC0gb3AyLmV4cCkKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIG9wMi5pbnQgKj0gMTAqKihvcDIuZXhwIC0gb3AxLmV4cCkKLSAgICAgICAgcSwgciA9IGRpdm1vZChvcDEuaW50LCBvcDIuaW50KQotICAgICAgICAjIHJlbWFpbmRlciBpcyByKjEwKippZGVhbF9leHBvbmVudDsgb3RoZXIgaXMgKy8tb3AyLmludCAqCi0gICAgICAgICMgMTAqKmlkZWFsX2V4cG9uZW50LiAgIEFwcGx5IGNvcnJlY3Rpb24gdG8gZW5zdXJlIHRoYXQKLSAgICAgICAgIyBhYnMocmVtYWluZGVyKSA8PSBhYnMob3RoZXIpLzIKLSAgICAgICAgaWYgMipyICsgKHEmMSkgPiBvcDIuaW50OgotICAgICAgICAgICAgciAtPSBvcDIuaW50Ci0gICAgICAgICAgICBxICs9IDEKLQotICAgICAgICBpZiBxID49IDEwKipjb250ZXh0LnByZWM6Ci0gICAgICAgICAgICByZXR1cm4gY29udGV4dC5fcmFpc2VfZXJyb3IoRGl2aXNpb25JbXBvc3NpYmxlKQotCi0gICAgICAgICMgcmVzdWx0IGhhcyBzYW1lIHNpZ24gYXMgc2VsZiB1bmxlc3MgciBpcyBuZWdhdGl2ZQotICAgICAgICBzaWduID0gc2VsZi5fc2lnbgotICAgICAgICBpZiByIDwgMDoKLSAgICAgICAgICAgIHNpZ24gPSAxLXNpZ24KLSAgICAgICAgICAgIHIgPSAtcgotCi0gICAgICAgIGFucyA9IF9kZWNfZnJvbV90cmlwbGUoc2lnbiwgc3RyKHIpLCBpZGVhbF9leHBvbmVudCkKLSAgICAgICAgcmV0dXJuIGFucy5fZml4KGNvbnRleHQpCi0KLSAgICBkZWYgX19mbG9vcmRpdl9fKHNlbGYsIG90aGVyLCBjb250ZXh0PU5vbmUpOgotICAgICAgICAiIiJzZWxmIC8vIG90aGVyIiIiCi0gICAgICAgIG90aGVyID0gX2NvbnZlcnRfb3RoZXIob3RoZXIpCi0gICAgICAgIGlmIG90aGVyIGlzIE5vdEltcGxlbWVudGVkOgotICAgICAgICAgICAgcmV0dXJuIG90aGVyCi0KLSAgICAgICAgaWYgY29udGV4dCBpcyBOb25lOgotICAgICAgICAgICAgY29udGV4dCA9IGdldGNvbnRleHQoKQotCi0gICAgICAgIGFucyA9IHNlbGYuX2NoZWNrX25hbnMob3RoZXIsIGNvbnRleHQpCi0gICAgICAgIGlmIGFuczoKLSAgICAgICAgICAgIHJldHVybiBhbnMKLQotICAgICAgICBpZiBzZWxmLl9pc2luZmluaXR5KCk6Ci0gICAgICAgICAgICBpZiBvdGhlci5faXNpbmZpbml0eSgpOgotICAgICAgICAgICAgICAgIHJldHVybiBjb250ZXh0Ll9yYWlzZV9lcnJvcihJbnZhbGlkT3BlcmF0aW9uLCAnSU5GIC8vIElORicpCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIHJldHVybiBfU2lnbmVkSW5maW5pdHlbc2VsZi5fc2lnbiBeIG90aGVyLl9zaWduXQotCi0gICAgICAgIGlmIG5vdCBvdGhlcjoKLSAgICAgICAgICAgIGlmIHNlbGY6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuX3JhaXNlX2Vycm9yKERpdmlzaW9uQnlaZXJvLCAneCAvLyAwJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fc2lnbiBeIG90aGVyLl9zaWduKQotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICByZXR1cm4gY29udGV4dC5fcmFpc2VfZXJyb3IoRGl2aXNpb25VbmRlZmluZWQsICcwIC8vIDAnKQotCi0gICAgICAgIHJldHVybiBzZWxmLl9kaXZpZGUob3RoZXIsIGNvbnRleHQpWzBdCi0KLSAgICBkZWYgX19yZmxvb3JkaXZfXyhzZWxmLCBvdGhlciwgY29udGV4dD1Ob25lKToKLSAgICAgICAgIiIiU3dhcHMgc2VsZi9vdGhlciBhbmQgcmV0dXJucyBfX2Zsb29yZGl2X18uIiIiCi0gICAgICAgIG90aGVyID0gX2NvbnZlcnRfb3RoZXIob3RoZXIpCi0gICAgICAgIGlmIG90aGVyIGlzIE5vdEltcGxlbWVudGVkOgotICAgICAgICAgICAgcmV0dXJuIG90aGVyCi0gICAgICAgIHJldHVybiBvdGhlci5fX2Zsb29yZGl2X18oc2VsZiwgY29udGV4dD1jb250ZXh0KQotCi0gICAgZGVmIF9fZmxvYXRfXyhzZWxmKToKLSAgICAgICAgIiIiRmxvYXQgcmVwcmVzZW50YXRpb24uIiIiCi0gICAgICAgIGlmIHNlbGYuX2lzbmFuKCk6Ci0gICAgICAgICAgICBpZiBzZWxmLmlzX3NuYW4oKToKLSAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJDYW5ub3QgY29udmVydCBzaWduYWxpbmcgTmFOIHRvIGZsb2F0IikKLSAgICAgICAgICAgIHMgPSAiLW5hbiIgaWYgc2VsZi5fc2lnbiBlbHNlICJuYW4iCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBzID0gc3RyKHNlbGYpCi0gICAgICAgIHJldHVybiBmbG9hdChzKQotCi0gICAgZGVmIF9faW50X18oc2VsZik6Ci0gICAgICAgICIiIkNvbnZlcnRzIHNlbGYgdG8gYW4gaW50LCB0cnVuY2F0aW5nIGlmIG5lY2Vzc2FyeS4iIiIKLSAgICAgICAgaWYgc2VsZi5faXNfc3BlY2lhbDoKLSAgICAgICAgICAgIGlmIHNlbGYuX2lzbmFuKCk6Ci0gICAgICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiQ2Fubm90IGNvbnZlcnQgTmFOIHRvIGludGVnZXIiKQotICAgICAgICAgICAgZWxpZiBzZWxmLl9pc2luZmluaXR5KCk6Ci0gICAgICAgICAgICAgICAgcmFpc2UgT3ZlcmZsb3dFcnJvcigiQ2Fubm90IGNvbnZlcnQgaW5maW5pdHkgdG8gaW50ZWdlciIpCi0gICAgICAgIHMgPSAoLTEpKipzZWxmLl9zaWduCi0gICAgICAgIGlmIHNlbGYuX2V4cCA+PSAwOgotICAgICAgICAgICAgcmV0dXJuIHMqaW50KHNlbGYuX2ludCkqMTAqKnNlbGYuX2V4cAotICAgICAgICBlbHNlOgotICAgICAgICAgICAgcmV0dXJuIHMqaW50KHNlbGYuX2ludFs6c2VsZi5fZXhwXSBvciAnMCcpCi0KLSAgICBfX3RydW5jX18gPSBfX2ludF9fCi0KLSAgICBkZWYgcmVhbChzZWxmKToKLSAgICAgICAgcmV0dXJuIHNlbGYKLSAgICByZWFsID0gcHJvcGVydHkocmVhbCkKLQotICAgIGRlZiBpbWFnKHNlbGYpOgotICAgICAgICByZXR1cm4gRGVjaW1hbCgwKQotICAgIGltYWcgPSBwcm9wZXJ0eShpbWFnKQotCi0gICAgZGVmIGNvbmp1Z2F0ZShzZWxmKToKLSAgICAgICAgcmV0dXJuIHNlbGYKLQotICAgIGRlZiBfX2NvbXBsZXhfXyhzZWxmKToKLSAgICAgICAgcmV0dXJuIGNvbXBsZXgoZmxvYXQoc2VsZikpCi0KLSAgICBkZWYgX2ZpeF9uYW4oc2VsZiwgY29udGV4dCk6Ci0gICAgICAgICIiIkRlY2FwaXRhdGUgdGhlIHBheWxvYWQgb2YgYSBOYU4gdG8gZml0IHRoZSBjb250ZXh0IiIiCi0gICAgICAgIHBheWxvYWQgPSBzZWxmLl9pbnQKLQotICAgICAgICAjIG1heGltdW0gbGVuZ3RoIG9mIHBheWxvYWQgaXMgcHJlY2lzaW9uIGlmIGNsYW1wPTAsCi0gICAgICAgICMgcHJlY2lzaW9uLTEgaWYgY2xhbXA9MS4KLSAgICAgICAgbWF4X3BheWxvYWRfbGVuID0gY29udGV4dC5wcmVjIC0gY29udGV4dC5jbGFtcAotICAgICAgICBpZiBsZW4ocGF5bG9hZCkgPiBtYXhfcGF5bG9hZF9sZW46Ci0gICAgICAgICAgICBwYXlsb2FkID0gcGF5bG9hZFtsZW4ocGF5bG9hZCktbWF4X3BheWxvYWRfbGVuOl0ubHN0cmlwKCcwJykKLSAgICAgICAgICAgIHJldHVybiBfZGVjX2Zyb21fdHJpcGxlKHNlbGYuX3NpZ24sIHBheWxvYWQsIHNlbGYuX2V4cCwgVHJ1ZSkKLSAgICAgICAgcmV0dXJuIERlY2ltYWwoc2VsZikKLQotICAgIGRlZiBfZml4KHNlbGYsIGNvbnRleHQpOgotICAgICAgICAiIiJSb3VuZCBpZiBpdCBpcyBuZWNlc3NhcnkgdG8ga2VlcCBzZWxmIHdpdGhpbiBwcmVjIHByZWNpc2lvbi4KLQotICAgICAgICBSb3VuZHMgYW5kIGZpeGVzIHRoZSBleHBvbmVudC4gIERvZXMgbm90IHJhaXNlIG9uIGEgc05hTi4KLQotICAgICAgICBBcmd1bWVudHM6Ci0gICAgICAgIHNlbGYgLSBEZWNpbWFsIGluc3RhbmNlCi0gICAgICAgIGNvbnRleHQgLSBjb250ZXh0IHVzZWQuCi0gICAgICAgICIiIgotCi0gICAgICAgIGlmIHNlbGYuX2lzX3NwZWNpYWw6Ci0gICAgICAgICAgICBpZiBzZWxmLl9pc25hbigpOgotICAgICAgICAgICAgICAgICMgZGVjYXBpdGF0ZSBwYXlsb2FkIGlmIG5lY2Vzc2FyeQotICAgICAgICAgICAgICAgIHJldHVybiBzZWxmLl9maXhfbmFuKGNvbnRleHQpCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgICMgc2VsZiBpcyArLy1JbmZpbml0eTsgcmV0dXJuIHVuYWx0ZXJlZAotICAgICAgICAgICAgICAgIHJldHVybiBEZWNpbWFsKHNlbGYpCi0KLSAgICAgICAgIyBpZiBzZWxmIGlzIHplcm8gdGhlbiBleHBvbmVudCBzaG91bGQgYmUgYmV0d2VlbiBFdGlueSBhbmQKLSAgICAgICAgIyBFbWF4IGlmIGNsYW1wPT0wLCBhbmQgYmV0d2VlbiBFdGlueSBhbmQgRXRvcCBpZiBjbGFtcD09MS4KLSAgICAgICAgRXRpbnkgPSBjb250ZXh0LkV0aW55KCkKLSAgICAgICAgRXRvcCA9IGNvbnRleHQuRXRvcCgpCi0gICAgICAgIGlmIG5vdCBzZWxmOgotICAgICAgICAgICAgZXhwX21heCA9IFtjb250ZXh0LkVtYXgsIEV0b3BdW2NvbnRleHQuY2xhbXBdCi0gICAgICAgICAgICBuZXdfZXhwID0gbWluKG1heChzZWxmLl9leHAsIEV0aW55KSwgZXhwX21heCkKLSAgICAgICAgICAgIGlmIG5ld19leHAgIT0gc2VsZi5fZXhwOgotICAgICAgICAgICAgICAgIGNvbnRleHQuX3JhaXNlX2Vycm9yKENsYW1wZWQpCi0gICAgICAgICAgICAgICAgcmV0dXJuIF9kZWNfZnJvbV90cmlwbGUoc2VsZi5fc2lnbiwgJzAnLCBuZXdfZXhwKQotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICByZXR1cm4gRGVjaW1hbChzZWxmKQotCi0gICAgICAgICMgZXhwX21pbiBpcyB0aGUgc21hbGxlc3QgYWxsb3dhYmxlIGV4cG9uZW50IG9mIHRoZSByZXN1bHQsCi0gICAgICAgICMgZXF1YWwgdG8gbWF4KHNlbGYuYWRqdXN0ZWQoKS1jb250ZXh0LnByZWMrMSwgRXRpbnkpCi0gICAgICAgIGV4cF9taW4gPSBsZW4oc2VsZi5faW50KSArIHNlbGYuX2V4cCAtIGNvbnRleHQucHJlYwotICAgICAgICBpZiBleHBfbWluID4gRXRvcDoKLSAgICAgICAgICAgICMgb3ZlcmZsb3c6IGV4cF9taW4gPiBFdG9wIGlmZiBzZWxmLmFkanVzdGVkKCkgPiBFbWF4Ci0gICAgICAgICAgICBhbnMgPSBjb250ZXh0Ll9yYWlzZV9lcnJvcihPdmVyZmxvdywgJ2Fib3ZlIEVtYXgnLCBzZWxmLl9zaWduKQotICAgICAgICAgICAgY29udGV4dC5fcmFpc2VfZXJyb3IoSW5leGFjdCkKLSAgICAgICAgICAgIGNvbnRleHQuX3JhaXNlX2Vycm9yKFJvdW5kZWQpCi0gICAgICAgICAgICByZXR1cm4gYW5zCi0KLSAgICAgICAgc2VsZl9pc19zdWJub3JtYWwgPSBleHBfbWluIDwgRXRpbnkKLSAgICAgICAgaWYgc2VsZl9pc19zdWJub3JtYWw6Ci0gICAgICAgICAgICBleHBfbWluID0gRXRpbnkKLQotICAgICAgICAjIHJvdW5kIGlmIHNlbGYgaGFzIHRvbyBtYW55IGRpZ2l0cwotICAgICAgICBpZiBzZWxmLl9leHAgPCBleHBfbWluOgotICAgICAgICAgICAgZGlnaXRzID0gbGVuKHNlbGYuX2ludCkgKyBzZWxmLl9leHAgLSBleHBfbWluCi0gICAgICAgICAgICBpZiBkaWdpdHMgPCAwOgotICAgICAgICAgICAgICAgIHNlbGYgPSBfZGVjX2Zyb21fdHJpcGxlKHNlbGYuX3NpZ24sICcxJywgZXhwX21pbi0xKQotICAgICAgICAgICAgICAgIGRpZ2l0cyA9IDAKLSAgICAgICAgICAgIHJvdW5kaW5nX21ldGhvZCA9IHNlbGYuX3BpY2tfcm91bmRpbmdfZnVuY3Rpb25bY29udGV4dC5yb3VuZGluZ10KLSAgICAgICAgICAgIGNoYW5nZWQgPSByb3VuZGluZ19tZXRob2Qoc2VsZiwgZGlnaXRzKQotICAgICAgICAgICAgY29lZmYgPSBzZWxmLl9pbnRbOmRpZ2l0c10gb3IgJzAnCi0gICAgICAgICAgICBpZiBjaGFuZ2VkID4gMDoKLSAgICAgICAgICAgICAgICBjb2VmZiA9IHN0cihpbnQoY29lZmYpKzEpCi0gICAgICAgICAgICAgICAgaWYgbGVuKGNvZWZmKSA+IGNvbnRleHQucHJlYzoKLSAgICAgICAgICAgICAgICAgICAgY29lZmYgPSBjb2VmZls6LTFdCi0gICAgICAgICAgICAgICAgICAgIGV4cF9taW4gKz0gMQotCi0gICAgICAgICAgICAjIGNoZWNrIHdoZXRoZXIgdGhlIHJvdW5kaW5nIHB1c2hlZCB0aGUgZXhwb25lbnQgb3V0IG9mIHJhbmdlCi0gICAgICAgICAgICBpZiBleHBfbWluID4gRXRvcDoKLSAgICAgICAgICAgICAgICBhbnMgPSBjb250ZXh0Ll9yYWlzZV9lcnJvcihPdmVyZmxvdywgJ2Fib3ZlIEVtYXgnLCBzZWxmLl9zaWduKQotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBhbnMgPSBfZGVjX2Zyb21fdHJpcGxlKHNlbGYuX3NpZ24sIGNvZWZmLCBleHBfbWluKQotCi0gICAgICAgICAgICAjIHJhaXNlIHRoZSBhcHByb3ByaWF0ZSBzaWduYWxzLCB0YWtpbmcgY2FyZSB0byByZXNwZWN0Ci0gICAgICAgICAgICAjIHRoZSBwcmVjZWRlbmNlIGRlc2NyaWJlZCBpbiB0aGUgc3BlY2lmaWNhdGlvbgotICAgICAgICAgICAgaWYgY2hhbmdlZCBhbmQgc2VsZl9pc19zdWJub3JtYWw6Ci0gICAgICAgICAgICAgICAgY29udGV4dC5fcmFpc2VfZXJyb3IoVW5kZXJmbG93KQotICAgICAgICAgICAgaWYgc2VsZl9pc19zdWJub3JtYWw6Ci0gICAgICAgICAgICAgICAgY29udGV4dC5fcmFpc2VfZXJyb3IoU3Vibm9ybWFsKQotICAgICAgICAgICAgaWYgY2hhbmdlZDoKLSAgICAgICAgICAgICAgICBjb250ZXh0Ll9yYWlzZV9lcnJvcihJbmV4YWN0KQotICAgICAgICAgICAgY29udGV4dC5fcmFpc2VfZXJyb3IoUm91bmRlZCkKLSAgICAgICAgICAgIGlmIG5vdCBhbnM6Ci0gICAgICAgICAgICAgICAgIyByYWlzZSBDbGFtcGVkIG9uIHVuZGVyZmxvdyB0byAwCi0gICAgICAgICAgICAgICAgY29udGV4dC5fcmFpc2VfZXJyb3IoQ2xhbXBlZCkKLSAgICAgICAgICAgIHJldHVybiBhbnMKLQotICAgICAgICBpZiBzZWxmX2lzX3N1Ym5vcm1hbDoKLSAgICAgICAgICAgIGNvbnRleHQuX3JhaXNlX2Vycm9yKFN1Ym5vcm1hbCkKLQotICAgICAgICAjIGZvbGQgZG93biBpZiBjbGFtcCA9PSAxIGFuZCBzZWxmIGhhcyB0b28gZmV3IGRpZ2l0cwotICAgICAgICBpZiBjb250ZXh0LmNsYW1wID09IDEgYW5kIHNlbGYuX2V4cCA+IEV0b3A6Ci0gICAgICAgICAgICBjb250ZXh0Ll9yYWlzZV9lcnJvcihDbGFtcGVkKQotICAgICAgICAgICAgc2VsZl9wYWRkZWQgPSBzZWxmLl9pbnQgKyAnMCcqKHNlbGYuX2V4cCAtIEV0b3ApCi0gICAgICAgICAgICByZXR1cm4gX2RlY19mcm9tX3RyaXBsZShzZWxmLl9zaWduLCBzZWxmX3BhZGRlZCwgRXRvcCkKLQotICAgICAgICAjIGhlcmUgc2VsZiB3YXMgcmVwcmVzZW50YWJsZSB0byBiZWdpbiB3aXRoOyByZXR1cm4gdW5jaGFuZ2VkCi0gICAgICAgIHJldHVybiBEZWNpbWFsKHNlbGYpCi0KLSAgICAjIGZvciBlYWNoIG9mIHRoZSByb3VuZGluZyBmdW5jdGlvbnMgYmVsb3c6Ci0gICAgIyAgIHNlbGYgaXMgYSBmaW5pdGUsIG5vbnplcm8gRGVjaW1hbAotICAgICMgICBwcmVjIGlzIGFuIGludGVnZXIgc2F0aXNmeWluZyAwIDw9IHByZWMgPCBsZW4oc2VsZi5faW50KQotICAgICMKLSAgICAjIGVhY2ggZnVuY3Rpb24gcmV0dXJucyBlaXRoZXIgLTEsIDAsIG9yIDEsIGFzIGZvbGxvd3M6Ci0gICAgIyAgIDEgaW5kaWNhdGVzIHRoYXQgc2VsZiBzaG91bGQgYmUgcm91bmRlZCB1cCAoYXdheSBmcm9tIHplcm8pCi0gICAgIyAgIDAgaW5kaWNhdGVzIHRoYXQgc2VsZiBzaG91bGQgYmUgdHJ1bmNhdGVkLCBhbmQgdGhhdCBhbGwgdGhlCi0gICAgIyAgICAgZGlnaXRzIHRvIGJlIHRydW5jYXRlZCBhcmUgemVyb3MgKHNvIHRoZSB2YWx1ZSBpcyB1bmNoYW5nZWQpCi0gICAgIyAgLTEgaW5kaWNhdGVzIHRoYXQgdGhlcmUgYXJlIG5vbnplcm8gZGlnaXRzIHRvIGJlIHRydW5jYXRlZAotCi0gICAgZGVmIF9yb3VuZF9kb3duKHNlbGYsIHByZWMpOgotICAgICAgICAiIiJBbHNvIGtub3duIGFzIHJvdW5kLXRvd2FyZHMtMCwgdHJ1bmNhdGUuIiIiCi0gICAgICAgIGlmIF9hbGxfemVyb3Moc2VsZi5faW50LCBwcmVjKToKLSAgICAgICAgICAgIHJldHVybiAwCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICByZXR1cm4gLTEKLQotICAgIGRlZiBfcm91bmRfdXAoc2VsZiwgcHJlYyk6Ci0gICAgICAgICIiIlJvdW5kcyBhd2F5IGZyb20gMC4iIiIKLSAgICAgICAgcmV0dXJuIC1zZWxmLl9yb3VuZF9kb3duKHByZWMpCi0KLSAgICBkZWYgX3JvdW5kX2hhbGZfdXAoc2VsZiwgcHJlYyk6Ci0gICAgICAgICIiIlJvdW5kcyA1IHVwIChhd2F5IGZyb20gMCkiIiIKLSAgICAgICAgaWYgc2VsZi5faW50W3ByZWNdIGluICc1Njc4OSc6Ci0gICAgICAgICAgICByZXR1cm4gMQotICAgICAgICBlbGlmIF9hbGxfemVyb3Moc2VsZi5faW50LCBwcmVjKToKLSAgICAgICAgICAgIHJldHVybiAwCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICByZXR1cm4gLTEKLQotICAgIGRlZiBfcm91bmRfaGFsZl9kb3duKHNlbGYsIHByZWMpOgotICAgICAgICAiIiJSb3VuZCA1IGRvd24iIiIKLSAgICAgICAgaWYgX2V4YWN0X2hhbGYoc2VsZi5faW50LCBwcmVjKToKLSAgICAgICAgICAgIHJldHVybiAtMQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgcmV0dXJuIHNlbGYuX3JvdW5kX2hhbGZfdXAocHJlYykKLQotICAgIGRlZiBfcm91bmRfaGFsZl9ldmVuKHNlbGYsIHByZWMpOgotICAgICAgICAiIiJSb3VuZCA1IHRvIGV2ZW4sIHJlc3QgdG8gbmVhcmVzdC4iIiIKLSAgICAgICAgaWYgX2V4YWN0X2hhbGYoc2VsZi5faW50LCBwcmVjKSBhbmQgXAotICAgICAgICAgICAgICAgIChwcmVjID09IDAgb3Igc2VsZi5faW50W3ByZWMtMV0gaW4gJzAyNDY4Jyk6Ci0gICAgICAgICAgICByZXR1cm4gLTEKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHJldHVybiBzZWxmLl9yb3VuZF9oYWxmX3VwKHByZWMpCi0KLSAgICBkZWYgX3JvdW5kX2NlaWxpbmcoc2VsZiwgcHJlYyk6Ci0gICAgICAgICIiIlJvdW5kcyB1cCAobm90IGF3YXkgZnJvbSAwIGlmIG5lZ2F0aXZlLikiIiIKLSAgICAgICAgaWYgc2VsZi5fc2lnbjoKLSAgICAgICAgICAgIHJldHVybiBzZWxmLl9yb3VuZF9kb3duKHByZWMpCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICByZXR1cm4gLXNlbGYuX3JvdW5kX2Rvd24ocHJlYykKLQotICAgIGRlZiBfcm91bmRfZmxvb3Ioc2VsZiwgcHJlYyk6Ci0gICAgICAgICIiIlJvdW5kcyBkb3duIChub3QgdG93YXJkcyAwIGlmIG5lZ2F0aXZlKSIiIgotICAgICAgICBpZiBub3Qgc2VsZi5fc2lnbjoKLSAgICAgICAgICAgIHJldHVybiBzZWxmLl9yb3VuZF9kb3duKHByZWMpCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICByZXR1cm4gLXNlbGYuX3JvdW5kX2Rvd24ocHJlYykKLQotICAgIGRlZiBfcm91bmRfMDV1cChzZWxmLCBwcmVjKToKLSAgICAgICAgIiIiUm91bmQgZG93biB1bmxlc3MgZGlnaXQgcHJlYy0xIGlzIDAgb3IgNS4iIiIKLSAgICAgICAgaWYgcHJlYyBhbmQgc2VsZi5faW50W3ByZWMtMV0gbm90IGluICcwNSc6Ci0gICAgICAgICAgICByZXR1cm4gc2VsZi5fcm91bmRfZG93bihwcmVjKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgcmV0dXJuIC1zZWxmLl9yb3VuZF9kb3duKHByZWMpCi0KLSAgICBfcGlja19yb3VuZGluZ19mdW5jdGlvbiA9IGRpY3QoCi0gICAgICAgIFJPVU5EX0RPV04gPSBfcm91bmRfZG93biwKLSAgICAgICAgUk9VTkRfVVAgPSBfcm91bmRfdXAsCi0gICAgICAgIFJPVU5EX0hBTEZfVVAgPSBfcm91bmRfaGFsZl91cCwKLSAgICAgICAgUk9VTkRfSEFMRl9ET1dOID0gX3JvdW5kX2hhbGZfZG93biwKLSAgICAgICAgUk9VTkRfSEFMRl9FVkVOID0gX3JvdW5kX2hhbGZfZXZlbiwKLSAgICAgICAgUk9VTkRfQ0VJTElORyA9IF9yb3VuZF9jZWlsaW5nLAotICAgICAgICBST1VORF9GTE9PUiA9IF9yb3VuZF9mbG9vciwKLSAgICAgICAgUk9VTkRfMDVVUCA9IF9yb3VuZF8wNXVwLAotICAgICkKLQotICAgIGRlZiBfX3JvdW5kX18oc2VsZiwgbj1Ob25lKToKLSAgICAgICAgIiIiUm91bmQgc2VsZiB0byB0aGUgbmVhcmVzdCBpbnRlZ2VyLCBvciB0byBhIGdpdmVuIHByZWNpc2lvbi4KLQotICAgICAgICBJZiBvbmx5IG9uZSBhcmd1bWVudCBpcyBzdXBwbGllZCwgcm91bmQgYSBmaW5pdGUgRGVjaW1hbAotICAgICAgICBpbnN0YW5jZSBzZWxmIHRvIHRoZSBuZWFyZXN0IGludGVnZXIuICBJZiBzZWxmIGlzIGluZmluaXRlIG9yCi0gICAgICAgIGEgTmFOIHRoZW4gYSBQeXRob24gZXhjZXB0aW9uIGlzIHJhaXNlZC4gIElmIHNlbGYgaXMgZmluaXRlCi0gICAgICAgIGFuZCBsaWVzIGV4YWN0bHkgaGFsZndheSBiZXR3ZWVuIHR3byBpbnRlZ2VycyB0aGVuIGl0IGlzCi0gICAgICAgIHJvdW5kZWQgdG8gdGhlIGludGVnZXIgd2l0aCBldmVuIGxhc3QgZGlnaXQuCi0KLSAgICAgICAgPj4+IHJvdW5kKERlY2ltYWwoJzEyMy40NTYnKSkKLSAgICAgICAgMTIzCi0gICAgICAgID4+PiByb3VuZChEZWNpbWFsKCctNDU2Ljc4OScpKQotICAgICAgICAtNDU3Ci0gICAgICAgID4+PiByb3VuZChEZWNpbWFsKCctMy4wJykpCi0gICAgICAgIC0zCi0gICAgICAgID4+PiByb3VuZChEZWNpbWFsKCcyLjUnKSkKLSAgICAgICAgMgotICAgICAgICA+Pj4gcm91bmQoRGVjaW1hbCgnMy41JykpCi0gICAgICAgIDQKLSAgICAgICAgPj4+IHJvdW5kKERlY2ltYWwoJ0luZicpKQotICAgICAgICBUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6Ci0gICAgICAgICAgLi4uCi0gICAgICAgIE92ZXJmbG93RXJyb3I6IGNhbm5vdCByb3VuZCBhbiBpbmZpbml0eQotICAgICAgICA+Pj4gcm91bmQoRGVjaW1hbCgnTmFOJykpCi0gICAgICAgIFRyYWNlYmFjayAobW9zdCByZWNlbnQgY2FsbCBsYXN0KToKLSAgICAgICAgICAuLi4KLSAgICAgICAgVmFsdWVFcnJvcjogY2Fubm90IHJvdW5kIGEgTmFOCi0KLSAgICAgICAgSWYgYSBzZWNvbmQgYXJndW1lbnQgbiBpcyBzdXBwbGllZCwgc2VsZiBpcyByb3VuZGVkIHRvIG4KLSAgICAgICAgZGVjaW1hbCBwbGFjZXMgdXNpbmcgdGhlIHJvdW5kaW5nIG1vZGUgZm9yIHRoZSBjdXJyZW50Ci0gICAgICAgIGNvbnRleHQuCi0KLSAgICAgICAgRm9yIGFuIGludGVnZXIgbiwgcm91bmQoc2VsZiwgLW4pIGlzIGV4YWN0bHkgZXF1aXZhbGVudCB0bwotICAgICAgICBzZWxmLnF1YW50aXplKERlY2ltYWwoJzFFbicpKS4KLQotICAgICAgICA+Pj4gcm91bmQoRGVjaW1hbCgnMTIzLjQ1NicpLCAwKQotICAgICAgICBEZWNpbWFsKCcxMjMnKQotICAgICAgICA+Pj4gcm91bmQoRGVjaW1hbCgnMTIzLjQ1NicpLCAyKQotICAgICAgICBEZWNpbWFsKCcxMjMuNDYnKQotICAgICAgICA+Pj4gcm91bmQoRGVjaW1hbCgnMTIzLjQ1NicpLCAtMikKLSAgICAgICAgRGVjaW1hbCgnMUUrMicpCi0gICAgICAgID4+PiByb3VuZChEZWNpbWFsKCctSW5maW5pdHknKSwgMzcpCi0gICAgICAgIERlY2ltYWwoJ05hTicpCi0gICAgICAgID4+PiByb3VuZChEZWNpbWFsKCdzTmFOMTIzJyksIDApCi0gICAgICAgIERlY2ltYWwoJ05hTjEyMycpCi0KLSAgICAgICAgIiIiCi0gICAgICAgIGlmIG4gaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICAjIHR3by1hcmd1bWVudCBmb3JtOiB1c2UgdGhlIGVxdWl2YWxlbnQgcXVhbnRpemUgY2FsbAotICAgICAgICAgICAgaWYgbm90IGlzaW5zdGFuY2UobiwgaW50KToKLSAgICAgICAgICAgICAgICByYWlzZSBUeXBlRXJyb3IoJ1NlY29uZCBhcmd1bWVudCB0byByb3VuZCBzaG91bGQgYmUgaW50ZWdyYWwnKQotICAgICAgICAgICAgZXhwID0gX2RlY19mcm9tX3RyaXBsZSgwLCAnMScsIC1uKQotICAgICAgICAgICAgcmV0dXJuIHNlbGYucXVhbnRpemUoZXhwKQotCi0gICAgICAgICMgb25lLWFyZ3VtZW50IGZvcm0KLSAgICAgICAgaWYgc2VsZi5faXNfc3BlY2lhbDoKLSAgICAgICAgICAgIGlmIHNlbGYuaXNfbmFuKCk6Ci0gICAgICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiY2Fubm90IHJvdW5kIGEgTmFOIikKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgcmFpc2UgT3ZlcmZsb3dFcnJvcigiY2Fubm90IHJvdW5kIGFuIGluZmluaXR5IikKLSAgICAgICAgcmV0dXJuIGludChzZWxmLl9yZXNjYWxlKDAsIFJPVU5EX0hBTEZfRVZFTikpCi0KLSAgICBkZWYgX19mbG9vcl9fKHNlbGYpOgotICAgICAgICAiIiJSZXR1cm4gdGhlIGZsb29yIG9mIHNlbGYsIGFzIGFuIGludGVnZXIuCi0KLSAgICAgICAgRm9yIGEgZmluaXRlIERlY2ltYWwgaW5zdGFuY2Ugc2VsZiwgcmV0dXJuIHRoZSBncmVhdGVzdAotICAgICAgICBpbnRlZ2VyIG4gc3VjaCB0aGF0IG4gPD0gc2VsZi4gIElmIHNlbGYgaXMgaW5maW5pdGUgb3IgYSBOYU4KLSAgICAgICAgdGhlbiBhIFB5dGhvbiBleGNlcHRpb24gaXMgcmFpc2VkLgotCi0gICAgICAgICIiIgotICAgICAgICBpZiBzZWxmLl9pc19zcGVjaWFsOgotICAgICAgICAgICAgaWYgc2VsZi5pc19uYW4oKToKLSAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJjYW5ub3Qgcm91bmQgYSBOYU4iKQotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICByYWlzZSBPdmVyZmxvd0Vycm9yKCJjYW5ub3Qgcm91bmQgYW4gaW5maW5pdHkiKQotICAgICAgICByZXR1cm4gaW50KHNlbGYuX3Jlc2NhbGUoMCwgUk9VTkRfRkxPT1IpKQotCi0gICAgZGVmIF9fY2VpbF9fKHNlbGYpOgotICAgICAgICAiIiJSZXR1cm4gdGhlIGNlaWxpbmcgb2Ygc2VsZiwgYXMgYW4gaW50ZWdlci4KLQotICAgICAgICBGb3IgYSBmaW5pdGUgRGVjaW1hbCBpbnN0YW5jZSBzZWxmLCByZXR1cm4gdGhlIGxlYXN0IGludGVnZXIgbgotICAgICAgICBzdWNoIHRoYXQgbiA+PSBzZWxmLiAgSWYgc2VsZiBpcyBpbmZpbml0ZSBvciBhIE5hTiB0aGVuIGEKLSAgICAgICAgUHl0aG9uIGV4Y2VwdGlvbiBpcyByYWlzZWQuCi0KLSAgICAgICAgIiIiCi0gICAgICAgIGlmIHNlbGYuX2lzX3NwZWNpYWw6Ci0gICAgICAgICAgICBpZiBzZWxmLmlzX25hbigpOgotICAgICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoImNhbm5vdCByb3VuZCBhIE5hTiIpCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIHJhaXNlIE92ZXJmbG93RXJyb3IoImNhbm5vdCByb3VuZCBhbiBpbmZpbml0eSIpCi0gICAgICAgIHJldHVybiBpbnQoc2VsZi5fcmVzY2FsZSgwLCBST1VORF9DRUlMSU5HKSkKLQotICAgIGRlZiBmbWEoc2VsZiwgb3RoZXIsIHRoaXJkLCBjb250ZXh0PU5vbmUpOgotICAgICAgICAiIiJGdXNlZCBtdWx0aXBseS1hZGQuCi0KLSAgICAgICAgUmV0dXJucyBzZWxmKm90aGVyK3RoaXJkIHdpdGggbm8gcm91bmRpbmcgb2YgdGhlIGludGVybWVkaWF0ZQotICAgICAgICBwcm9kdWN0IHNlbGYqb3RoZXIuCi0KLSAgICAgICAgc2VsZiBhbmQgb3RoZXIgYXJlIG11bHRpcGxpZWQgdG9nZXRoZXIsIHdpdGggbm8gcm91bmRpbmcgb2YKLSAgICAgICAgdGhlIHJlc3VsdC4gIFRoZSB0aGlyZCBvcGVyYW5kIGlzIHRoZW4gYWRkZWQgdG8gdGhlIHJlc3VsdCwKLSAgICAgICAgYW5kIGEgc2luZ2xlIGZpbmFsIHJvdW5kaW5nIGlzIHBlcmZvcm1lZC4KLSAgICAgICAgIiIiCi0KLSAgICAgICAgb3RoZXIgPSBfY29udmVydF9vdGhlcihvdGhlciwgcmFpc2VpdD1UcnVlKQotICAgICAgICB0aGlyZCA9IF9jb252ZXJ0X290aGVyKHRoaXJkLCByYWlzZWl0PVRydWUpCi0KLSAgICAgICAgIyBjb21wdXRlIHByb2R1Y3Q7IHJhaXNlIEludmFsaWRPcGVyYXRpb24gaWYgZWl0aGVyIG9wZXJhbmQgaXMKLSAgICAgICAgIyBhIHNpZ25hbGluZyBOYU4gb3IgaWYgdGhlIHByb2R1Y3QgaXMgemVybyB0aW1lcyBpbmZpbml0eS4KLSAgICAgICAgaWYgc2VsZi5faXNfc3BlY2lhbCBvciBvdGhlci5faXNfc3BlY2lhbDoKLSAgICAgICAgICAgIGlmIGNvbnRleHQgaXMgTm9uZToKLSAgICAgICAgICAgICAgICBjb250ZXh0ID0gZ2V0Y29udGV4dCgpCi0gICAgICAgICAgICBpZiBzZWxmLl9leHAgPT0gJ04nOgotICAgICAgICAgICAgICAgIHJldHVybiBjb250ZXh0Ll9yYWlzZV9lcnJvcihJbnZhbGlkT3BlcmF0aW9uLCAnc05hTicsIHNlbGYpCi0gICAgICAgICAgICBpZiBvdGhlci5fZXhwID09ICdOJzoKLSAgICAgICAgICAgICAgICByZXR1cm4gY29udGV4dC5fcmFpc2VfZXJyb3IoSW52YWxpZE9wZXJhdGlvbiwgJ3NOYU4nLCBvdGhlcikKLSAgICAgICAgICAgIGlmIHNlbGYuX2V4cCA9PSAnbic6Ci0gICAgICAgICAgICAgICAgcHJvZHVjdCA9IHNlbGYKLSAgICAgICAgICAgIGVsaWYgb3RoZXIuX2V4cCA9PSAnbic6Ci0gICAgICAgICAgICAgICAgcHJvZHVjdCA9IG90aGVyCi0gICAgICAgICAgICBlbGlmIHNlbGYuX2V4cCA9PSAnRic6Ci0gICAgICAgICAgICAgICAgaWYgbm90IG90aGVyOgotICAgICAgICAgICAgICAgICAgICByZXR1cm4gY29udGV4dC5fcmFpc2VfZXJyb3IoSW52YWxpZE9wZXJhdGlvbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJTkYgKiAwIGluIGZtYScpCi0gICAgICAgICAgICAgICAgcHJvZHVjdCA9IF9TaWduZWRJbmZpbml0eVtzZWxmLl9zaWduIF4gb3RoZXIuX3NpZ25dCi0gICAgICAgICAgICBlbGlmIG90aGVyLl9leHAgPT0gJ0YnOgotICAgICAgICAgICAgICAgIGlmIG5vdCBzZWxmOgotICAgICAgICAgICAgICAgICAgICByZXR1cm4gY29udGV4dC5fcmFpc2VfZXJyb3IoSW52YWxpZE9wZXJhdGlvbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcwICogSU5GIGluIGZtYScpCi0gICAgICAgICAgICAgICAgcHJvZHVjdCA9IF9TaWduZWRJbmZpbml0eVtzZWxmLl9zaWduIF4gb3RoZXIuX3NpZ25dCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBwcm9kdWN0ID0gX2RlY19mcm9tX3RyaXBsZShzZWxmLl9zaWduIF4gb3RoZXIuX3NpZ24sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHIoaW50KHNlbGYuX2ludCkgKiBpbnQob3RoZXIuX2ludCkpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fZXhwICsgb3RoZXIuX2V4cCkKLQotICAgICAgICByZXR1cm4gcHJvZHVjdC5fX2FkZF9fKHRoaXJkLCBjb250ZXh0KQotCi0gICAgZGVmIF9wb3dlcl9tb2R1bG8oc2VsZiwgb3RoZXIsIG1vZHVsbywgY29udGV4dD1Ob25lKToKLSAgICAgICAgIiIiVGhyZWUgYXJndW1lbnQgdmVyc2lvbiBvZiBfX3Bvd19fIiIiCi0KLSAgICAgICAgb3RoZXIgPSBfY29udmVydF9vdGhlcihvdGhlcikKLSAgICAgICAgaWYgb3RoZXIgaXMgTm90SW1wbGVtZW50ZWQ6Ci0gICAgICAgICAgICByZXR1cm4gb3RoZXIKLSAgICAgICAgbW9kdWxvID0gX2NvbnZlcnRfb3RoZXIobW9kdWxvKQotICAgICAgICBpZiBtb2R1bG8gaXMgTm90SW1wbGVtZW50ZWQ6Ci0gICAgICAgICAgICByZXR1cm4gbW9kdWxvCi0KLSAgICAgICAgaWYgY29udGV4dCBpcyBOb25lOgotICAgICAgICAgICAgY29udGV4dCA9IGdldGNvbnRleHQoKQotCi0gICAgICAgICMgZGVhbCB3aXRoIE5hTnM6IGlmIHRoZXJlIGFyZSBhbnkgc05hTnMgdGhlbiBmaXJzdCBvbmUgd2lucywKLSAgICAgICAgIyAoaS5lLiBiZWhhdmlvdXIgZm9yIE5hTnMgaXMgaWRlbnRpY2FsIHRvIHRoYXQgb2YgZm1hKQotICAgICAgICBzZWxmX2lzX25hbiA9IHNlbGYuX2lzbmFuKCkKLSAgICAgICAgb3RoZXJfaXNfbmFuID0gb3RoZXIuX2lzbmFuKCkKLSAgICAgICAgbW9kdWxvX2lzX25hbiA9IG1vZHVsby5faXNuYW4oKQotICAgICAgICBpZiBzZWxmX2lzX25hbiBvciBvdGhlcl9pc19uYW4gb3IgbW9kdWxvX2lzX25hbjoKLSAgICAgICAgICAgIGlmIHNlbGZfaXNfbmFuID09IDI6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuX3JhaXNlX2Vycm9yKEludmFsaWRPcGVyYXRpb24sICdzTmFOJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmKQotICAgICAgICAgICAgaWYgb3RoZXJfaXNfbmFuID09IDI6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuX3JhaXNlX2Vycm9yKEludmFsaWRPcGVyYXRpb24sICdzTmFOJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdGhlcikKLSAgICAgICAgICAgIGlmIG1vZHVsb19pc19uYW4gPT0gMjoKLSAgICAgICAgICAgICAgICByZXR1cm4gY29udGV4dC5fcmFpc2VfZXJyb3IoSW52YWxpZE9wZXJhdGlvbiwgJ3NOYU4nLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vZHVsbykKLSAgICAgICAgICAgIGlmIHNlbGZfaXNfbmFuOgotICAgICAgICAgICAgICAgIHJldHVybiBzZWxmLl9maXhfbmFuKGNvbnRleHQpCi0gICAgICAgICAgICBpZiBvdGhlcl9pc19uYW46Ci0gICAgICAgICAgICAgICAgcmV0dXJuIG90aGVyLl9maXhfbmFuKGNvbnRleHQpCi0gICAgICAgICAgICByZXR1cm4gbW9kdWxvLl9maXhfbmFuKGNvbnRleHQpCi0KLSAgICAgICAgIyBjaGVjayBpbnB1dHM6IHdlIGFwcGx5IHNhbWUgcmVzdHJpY3Rpb25zIGFzIFB5dGhvbidzIHBvdygpCi0gICAgICAgIGlmIG5vdCAoc2VsZi5faXNpbnRlZ2VyKCkgYW5kCi0gICAgICAgICAgICAgICAgb3RoZXIuX2lzaW50ZWdlcigpIGFuZAotICAgICAgICAgICAgICAgIG1vZHVsby5faXNpbnRlZ2VyKCkpOgotICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuX3JhaXNlX2Vycm9yKEludmFsaWRPcGVyYXRpb24sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3BvdygpIDNyZCBhcmd1bWVudCBub3QgYWxsb3dlZCAnCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3VubGVzcyBhbGwgYXJndW1lbnRzIGFyZSBpbnRlZ2VycycpCi0gICAgICAgIGlmIG90aGVyIDwgMDoKLSAgICAgICAgICAgIHJldHVybiBjb250ZXh0Ll9yYWlzZV9lcnJvcihJbnZhbGlkT3BlcmF0aW9uLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwb3coKSAybmQgYXJndW1lbnQgY2Fubm90IGJlICcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmVnYXRpdmUgd2hlbiAzcmQgYXJndW1lbnQgc3BlY2lmaWVkJykKLSAgICAgICAgaWYgbm90IG1vZHVsbzoKLSAgICAgICAgICAgIHJldHVybiBjb250ZXh0Ll9yYWlzZV9lcnJvcihJbnZhbGlkT3BlcmF0aW9uLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwb3coKSAzcmQgYXJndW1lbnQgY2Fubm90IGJlIDAnKQotCi0gICAgICAgICMgYWRkaXRpb25hbCByZXN0cmljdGlvbiBmb3IgZGVjaW1hbDogdGhlIG1vZHVsdXMgbXVzdCBiZSBsZXNzCi0gICAgICAgICMgdGhhbiAxMCoqcHJlYyBpbiBhYnNvbHV0ZSB2YWx1ZQotICAgICAgICBpZiBtb2R1bG8uYWRqdXN0ZWQoKSA+PSBjb250ZXh0LnByZWM6Ci0gICAgICAgICAgICByZXR1cm4gY29udGV4dC5fcmFpc2VfZXJyb3IoSW52YWxpZE9wZXJhdGlvbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaW5zdWZmaWNpZW50IHByZWNpc2lvbjogcG93KCkgM3JkICcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYXJndW1lbnQgbXVzdCBub3QgaGF2ZSBtb3JlIHRoYW4gJwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcmVjaXNpb24gZGlnaXRzJykKLQotICAgICAgICAjIGRlZmluZSAwKiowID09IE5hTiwgZm9yIGNvbnNpc3RlbmN5IHdpdGggdHdvLWFyZ3VtZW50IHBvdwotICAgICAgICAjIChldmVuIHRob3VnaCBpdCBodXJ0cyEpCi0gICAgICAgIGlmIG5vdCBvdGhlciBhbmQgbm90IHNlbGY6Ci0gICAgICAgICAgICByZXR1cm4gY29udGV4dC5fcmFpc2VfZXJyb3IoSW52YWxpZE9wZXJhdGlvbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYXQgbGVhc3Qgb25lIG9mIHBvdygpIDFzdCBhcmd1bWVudCAnCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FuZCAybmQgYXJndW1lbnQgbXVzdCBiZSBub256ZXJvIDsnCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJzAqKjAgaXMgbm90IGRlZmluZWQnKQotCi0gICAgICAgICMgY29tcHV0ZSBzaWduIG9mIHJlc3VsdAotICAgICAgICBpZiBvdGhlci5faXNldmVuKCk6Ci0gICAgICAgICAgICBzaWduID0gMAotICAgICAgICBlbHNlOgotICAgICAgICAgICAgc2lnbiA9IHNlbGYuX3NpZ24KLQotICAgICAgICAjIGNvbnZlcnQgbW9kdWxvIHRvIGEgUHl0aG9uIGludGVnZXIsIGFuZCBzZWxmIGFuZCBvdGhlciB0bwotICAgICAgICAjIERlY2ltYWwgaW50ZWdlcnMgKGkuZS4gZm9yY2UgdGhlaXIgZXhwb25lbnRzIHRvIGJlID49IDApCi0gICAgICAgIG1vZHVsbyA9IGFicyhpbnQobW9kdWxvKSkKLSAgICAgICAgYmFzZSA9IF9Xb3JrUmVwKHNlbGYudG9faW50ZWdyYWxfdmFsdWUoKSkKLSAgICAgICAgZXhwb25lbnQgPSBfV29ya1JlcChvdGhlci50b19pbnRlZ3JhbF92YWx1ZSgpKQotCi0gICAgICAgICMgY29tcHV0ZSByZXN1bHQgdXNpbmcgaW50ZWdlciBwb3coKQotICAgICAgICBiYXNlID0gKGJhc2UuaW50ICUgbW9kdWxvICogcG93KDEwLCBiYXNlLmV4cCwgbW9kdWxvKSkgJSBtb2R1bG8KLSAgICAgICAgZm9yIGkgaW4gcmFuZ2UoZXhwb25lbnQuZXhwKToKLSAgICAgICAgICAgIGJhc2UgPSBwb3coYmFzZSwgMTAsIG1vZHVsbykKLSAgICAgICAgYmFzZSA9IHBvdyhiYXNlLCBleHBvbmVudC5pbnQsIG1vZHVsbykKLQotICAgICAgICByZXR1cm4gX2RlY19mcm9tX3RyaXBsZShzaWduLCBzdHIoYmFzZSksIDApCi0KLSAgICBkZWYgX3Bvd2VyX2V4YWN0KHNlbGYsIG90aGVyLCBwKToKLSAgICAgICAgIiIiQXR0ZW1wdCB0byBjb21wdXRlIHNlbGYqKm90aGVyIGV4YWN0bHkuCi0KLSAgICAgICAgR2l2ZW4gRGVjaW1hbHMgc2VsZiBhbmQgb3RoZXIgYW5kIGFuIGludGVnZXIgcCwgYXR0ZW1wdCB0bwotICAgICAgICBjb21wdXRlIGFuIGV4YWN0IHJlc3VsdCBmb3IgdGhlIHBvd2VyIHNlbGYqKm90aGVyLCB3aXRoIHAKLSAgICAgICAgZGlnaXRzIG9mIHByZWNpc2lvbi4gIFJldHVybiBOb25lIGlmIHNlbGYqKm90aGVyIGlzIG5vdAotICAgICAgICBleGFjdGx5IHJlcHJlc2VudGFibGUgaW4gcCBkaWdpdHMuCi0KLSAgICAgICAgQXNzdW1lcyB0aGF0IGVsaW1pbmF0aW9uIG9mIHNwZWNpYWwgY2FzZXMgaGFzIGFscmVhZHkgYmVlbgotICAgICAgICBwZXJmb3JtZWQ6IHNlbGYgYW5kIG90aGVyIG11c3QgYm90aCBiZSBub25zcGVjaWFsOyBzZWxmIG11c3QKLSAgICAgICAgYmUgcG9zaXRpdmUgYW5kIG5vdCBudW1lcmljYWxseSBlcXVhbCB0byAxOyBvdGhlciBtdXN0IGJlCi0gICAgICAgIG5vbnplcm8uICBGb3IgZWZmaWNpZW5jeSwgb3RoZXIuX2V4cCBzaG91bGQgbm90IGJlIHRvbyBsYXJnZSwKLSAgICAgICAgc28gdGhhdCAxMCoqYWJzKG90aGVyLl9leHApIGlzIGEgZmVhc2libGUgY2FsY3VsYXRpb24uIiIiCi0KLSAgICAgICAgIyBJbiB0aGUgY29tbWVudHMgYmVsb3csIHdlIHdyaXRlIHggZm9yIHRoZSB2YWx1ZSBvZiBzZWxmIGFuZCB5IGZvciB0aGUKLSAgICAgICAgIyB2YWx1ZSBvZiBvdGhlci4gIFdyaXRlIHggPSB4YyoxMCoqeGUgYW5kIGFicyh5KSA9IHljKjEwKip5ZSwgd2l0aCB4YwotICAgICAgICAjIGFuZCB5YyBwb3NpdGl2ZSBpbnRlZ2VycyBub3QgZGl2aXNpYmxlIGJ5IDEwLgotCi0gICAgICAgICMgVGhlIG1haW4gcHVycG9zZSBvZiB0aGlzIG1ldGhvZCBpcyB0byBpZGVudGlmeSB0aGUgKmZhaWx1cmUqCi0gICAgICAgICMgb2YgeCoqeSB0byBiZSBleGFjdGx5IHJlcHJlc2VudGFibGUgd2l0aCBhcyBsaXR0bGUgZWZmb3J0IGFzCi0gICAgICAgICMgcG9zc2libGUuICBTbyB3ZSBsb29rIGZvciBjaGVhcCBhbmQgZWFzeSB0ZXN0cyB0aGF0Ci0gICAgICAgICMgZWxpbWluYXRlIHRoZSBwb3NzaWJpbGl0eSBvZiB4Kip5IGJlaW5nIGV4YWN0LiAgT25seSBpZiBhbGwKLSAgICAgICAgIyB0aGVzZSB0ZXN0cyBhcmUgcGFzc2VkIGRvIHdlIGdvIG9uIHRvIGFjdHVhbGx5IGNvbXB1dGUgeCoqeS4KLQotICAgICAgICAjIEhlcmUncyB0aGUgbWFpbiBpZGVhLiAgRXhwcmVzcyB5IGFzIGEgcmF0aW9uYWwgbnVtYmVyIG0vbiwgd2l0aCBtIGFuZAotICAgICAgICAjIG4gcmVsYXRpdmVseSBwcmltZSBhbmQgbj4wLiAgVGhlbiBmb3IgeCoqeSB0byBiZSBleGFjdGx5Ci0gICAgICAgICMgcmVwcmVzZW50YWJsZSAoYXQgKmFueSogcHJlY2lzaW9uKSwgeGMgbXVzdCBiZSB0aGUgbnRoIHBvd2VyIG9mIGEKLSAgICAgICAgIyBwb3NpdGl2ZSBpbnRlZ2VyIGFuZCB4ZSBtdXN0IGJlIGRpdmlzaWJsZSBieSBuLiAgSWYgeSBpcyBuZWdhdGl2ZQotICAgICAgICAjIHRoZW4gYWRkaXRpb25hbGx5IHhjIG11c3QgYmUgYSBwb3dlciBvZiBlaXRoZXIgMiBvciA1LCBoZW5jZSBhIHBvd2VyCi0gICAgICAgICMgb2YgMioqbiBvciA1KipuLgotICAgICAgICAjCi0gICAgICAgICMgVGhlcmUncyBhIGxpbWl0IHRvIGhvdyBzbWFsbCB8eXwgY2FuIGJlOiBpZiB5PW0vbiBhcyBhYm92ZQotICAgICAgICAjIHRoZW46Ci0gICAgICAgICMKLSAgICAgICAgIyAgKDEpIGlmIHhjICE9IDEgdGhlbiBmb3IgdGhlIHJlc3VsdCB0byBiZSByZXByZXNlbnRhYmxlIHdlCi0gICAgICAgICMgICAgICBuZWVkIHhjKiooMS9uKSA+PSAyLCBhbmQgaGVuY2UgYWxzbyB4YyoqfHl8ID49IDIuICBTbwotICAgICAgICAjICAgICAgaWYgfHl8IDw9IDEvbmJpdHMoeGMpIHRoZW4geGMgPCAyKipuYml0cyh4YykgPD0KLSAgICAgICAgIyAgICAgIDIqKigxL3x5fCksIGhlbmNlIHhjKip8eXwgPCAyIGFuZCB0aGUgcmVzdWx0IGlzIG5vdAotICAgICAgICAjICAgICAgcmVwcmVzZW50YWJsZS4KLSAgICAgICAgIwotICAgICAgICAjICAoMikgaWYgeGUgIT0gMCwgfHhlfCooMS9uKSA+PSAxLCBzbyB8eGV8Knx5fCA+PSAxLiAgSGVuY2UgaWYKLSAgICAgICAgIyAgICAgIHx5fCA8IDEvfHhlfCB0aGVuIHRoZSByZXN1bHQgaXMgbm90IHJlcHJlc2VudGFibGUuCi0gICAgICAgICMKLSAgICAgICAgIyBOb3RlIHRoYXQgc2luY2UgeCBpcyBub3QgZXF1YWwgdG8gMSwgYXQgbGVhc3Qgb25lIG9mICgxKSBhbmQKLSAgICAgICAgIyAoMikgbXVzdCBhcHBseS4gIE5vdyB8eXwgPCAxL25iaXRzKHhjKSBpZmYgfHljfCpuYml0cyh4YykgPAotICAgICAgICAjIDEwKioteWUgaWZmIGxlbihzdHIofHljfCpuYml0cyh4YykpIDw9IC15ZS4KLSAgICAgICAgIwotICAgICAgICAjIFRoZXJlJ3MgYWxzbyBhIGxpbWl0IHRvIGhvdyBsYXJnZSB5IGNhbiBiZSwgYXQgbGVhc3QgaWYgaXQncwotICAgICAgICAjIHBvc2l0aXZlOiB0aGUgbm9ybWFsaXplZCByZXN1bHQgd2lsbCBoYXZlIGNvZWZmaWNpZW50IHhjKip5LAotICAgICAgICAjIHNvIGlmIGl0J3MgcmVwcmVzZW50YWJsZSB0aGVuIHhjKip5IDwgMTAqKnAsIGFuZCB5IDwKLSAgICAgICAgIyBwL2xvZzEwKHhjKS4gIEhlbmNlIGlmIHkqbG9nMTAoeGMpID49IHAgdGhlbiB0aGUgcmVzdWx0IGlzCi0gICAgICAgICMgbm90IGV4YWN0bHkgcmVwcmVzZW50YWJsZS4KLQotICAgICAgICAjIGlmIGxlbihzdHIoYWJzKHljKnhlKSkgPD0gLXllIHRoZW4gYWJzKHljKnhlKSA8IDEwKioteWUsCi0gICAgICAgICMgc28gfHl8IDwgMS94ZSBhbmQgdGhlIHJlc3VsdCBpcyBub3QgcmVwcmVzZW50YWJsZS4KLSAgICAgICAgIyBTaW1pbGFybHksIGxlbihzdHIoYWJzKHljKSp4Y19iaXRzKSkgPD0gLXllIGltcGxpZXMgfHl8Ci0gICAgICAgICMgPCAxL25iaXRzKHhjKS4KLQotICAgICAgICB4ID0gX1dvcmtSZXAoc2VsZikKLSAgICAgICAgeGMsIHhlID0geC5pbnQsIHguZXhwCi0gICAgICAgIHdoaWxlIHhjICUgMTAgPT0gMDoKLSAgICAgICAgICAgIHhjIC8vPSAxMAotICAgICAgICAgICAgeGUgKz0gMQotCi0gICAgICAgIHkgPSBfV29ya1JlcChvdGhlcikKLSAgICAgICAgeWMsIHllID0geS5pbnQsIHkuZXhwCi0gICAgICAgIHdoaWxlIHljICUgMTAgPT0gMDoKLSAgICAgICAgICAgIHljIC8vPSAxMAotICAgICAgICAgICAgeWUgKz0gMQotCi0gICAgICAgICMgY2FzZSB3aGVyZSB4YyA9PSAxOiByZXN1bHQgaXMgMTAqKih4ZSp5KSwgd2l0aCB4ZSp5Ci0gICAgICAgICMgcmVxdWlyZWQgdG8gYmUgYW4gaW50ZWdlcgotICAgICAgICBpZiB4YyA9PSAxOgotICAgICAgICAgICAgeGUgKj0geWMKLSAgICAgICAgICAgICMgcmVzdWx0IGlzIG5vdyAxMCoqKHhlICogMTAqKnllKTsgIHhlICogMTAqKnllIG11c3QgYmUgaW50ZWdyYWwKLSAgICAgICAgICAgIHdoaWxlIHhlICUgMTAgPT0gMDoKLSAgICAgICAgICAgICAgICB4ZSAvLz0gMTAKLSAgICAgICAgICAgICAgICB5ZSArPSAxCi0gICAgICAgICAgICBpZiB5ZSA8IDA6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIE5vbmUKLSAgICAgICAgICAgIGV4cG9uZW50ID0geGUgKiAxMCoqeWUKLSAgICAgICAgICAgIGlmIHkuc2lnbiA9PSAxOgotICAgICAgICAgICAgICAgIGV4cG9uZW50ID0gLWV4cG9uZW50Ci0gICAgICAgICAgICAjIGlmIG90aGVyIGlzIGEgbm9ubmVnYXRpdmUgaW50ZWdlciwgdXNlIGlkZWFsIGV4cG9uZW50Ci0gICAgICAgICAgICBpZiBvdGhlci5faXNpbnRlZ2VyKCkgYW5kIG90aGVyLl9zaWduID09IDA6Ci0gICAgICAgICAgICAgICAgaWRlYWxfZXhwb25lbnQgPSBzZWxmLl9leHAqaW50KG90aGVyKQotICAgICAgICAgICAgICAgIHplcm9zID0gbWluKGV4cG9uZW50LWlkZWFsX2V4cG9uZW50LCBwLTEpCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIHplcm9zID0gMAotICAgICAgICAgICAgcmV0dXJuIF9kZWNfZnJvbV90cmlwbGUoMCwgJzEnICsgJzAnKnplcm9zLCBleHBvbmVudC16ZXJvcykKLQotICAgICAgICAjIGNhc2Ugd2hlcmUgeSBpcyBuZWdhdGl2ZTogeGMgbXVzdCBiZSBlaXRoZXIgYSBwb3dlcgotICAgICAgICAjIG9mIDIgb3IgYSBwb3dlciBvZiA1LgotICAgICAgICBpZiB5LnNpZ24gPT0gMToKLSAgICAgICAgICAgIGxhc3RfZGlnaXQgPSB4YyAlIDEwCi0gICAgICAgICAgICBpZiBsYXN0X2RpZ2l0IGluICgyLDQsNiw4KToKLSAgICAgICAgICAgICAgICAjIHF1aWNrIHRlc3QgZm9yIHBvd2VyIG9mIDIKLSAgICAgICAgICAgICAgICBpZiB4YyAmIC14YyAhPSB4YzoKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIE5vbmUKLSAgICAgICAgICAgICAgICAjIG5vdyB4YyBpcyBhIHBvd2VyIG9mIDI7IGUgaXMgaXRzIGV4cG9uZW50Ci0gICAgICAgICAgICAgICAgZSA9IF9uYml0cyh4YyktMQotCi0gICAgICAgICAgICAgICAgIyBXZSBub3cgaGF2ZToKLSAgICAgICAgICAgICAgICAjCi0gICAgICAgICAgICAgICAgIyAgIHggPSAyKiplICogMTAqKnhlLCBlID4gMCwgYW5kIHkgPCAwLgotICAgICAgICAgICAgICAgICMKLSAgICAgICAgICAgICAgICAjIFRoZSBleGFjdCByZXN1bHQgaXM6Ci0gICAgICAgICAgICAgICAgIwotICAgICAgICAgICAgICAgICMgICB4Kip5ID0gNSoqKC1lKnkpICogMTAqKihlKnkgKyB4ZSp5KQotICAgICAgICAgICAgICAgICMKLSAgICAgICAgICAgICAgICAjIHByb3ZpZGVkIHRoYXQgYm90aCBlKnkgYW5kIHhlKnkgYXJlIGludGVnZXJzLiAgTm90ZSB0aGF0IGlmCi0gICAgICAgICAgICAgICAgIyA1KiooLWUqeSkgPj0gMTAqKnAsIHRoZW4gdGhlIHJlc3VsdCBjYW4ndCBiZSBleHByZXNzZWQKLSAgICAgICAgICAgICAgICAjIGV4YWN0bHkgd2l0aCBwIGRpZ2l0cyBvZiBwcmVjaXNpb24uCi0gICAgICAgICAgICAgICAgIwotICAgICAgICAgICAgICAgICMgVXNpbmcgdGhlIGFib3ZlLCB3ZSBjYW4gZ3VhcmQgYWdhaW5zdCBsYXJnZSB2YWx1ZXMgb2YgeWUuCi0gICAgICAgICAgICAgICAgIyA5My82NSBpcyBhbiB1cHBlciBib3VuZCBmb3IgbG9nKDEwKS9sb2coNSksIHNvIGlmCi0gICAgICAgICAgICAgICAgIwotICAgICAgICAgICAgICAgICMgICB5ZSA+PSBsZW4oc3RyKDkzKnAvLzY1KSkKLSAgICAgICAgICAgICAgICAjCi0gICAgICAgICAgICAgICAgIyB0aGVuCi0gICAgICAgICAgICAgICAgIwotICAgICAgICAgICAgICAgICMgICAtZSp5ID49IC15ID49IDEwKip5ZSA+IDkzKnAvNjUgPiBwKmxvZygxMCkvbG9nKDUpLAotICAgICAgICAgICAgICAgICMKLSAgICAgICAgICAgICAgICAjIHNvIDUqKigtZSp5KSA+PSAxMCoqcCwgYW5kIHRoZSBjb2VmZmljaWVudCBvZiB0aGUgcmVzdWx0Ci0gICAgICAgICAgICAgICAgIyBjYW4ndCBiZSBleHByZXNzZWQgaW4gcCBkaWdpdHMuCi0KLSAgICAgICAgICAgICAgICAjIGVtYXggPj0gbGFyZ2VzdCBlIHN1Y2ggdGhhdCA1KiplIDwgMTAqKnAuCi0gICAgICAgICAgICAgICAgZW1heCA9IHAqOTMvLzY1Ci0gICAgICAgICAgICAgICAgaWYgeWUgPj0gbGVuKHN0cihlbWF4KSk6Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybiBOb25lCi0KLSAgICAgICAgICAgICAgICAjIEZpbmQgLWUqeSBhbmQgLXhlKnk7IGJvdGggbXVzdCBiZSBpbnRlZ2VycwotICAgICAgICAgICAgICAgIGUgPSBfZGVjaW1hbF9sc2hpZnRfZXhhY3QoZSAqIHljLCB5ZSkKLSAgICAgICAgICAgICAgICB4ZSA9IF9kZWNpbWFsX2xzaGlmdF9leGFjdCh4ZSAqIHljLCB5ZSkKLSAgICAgICAgICAgICAgICBpZiBlIGlzIE5vbmUgb3IgeGUgaXMgTm9uZToKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIE5vbmUKLQotICAgICAgICAgICAgICAgIGlmIGUgPiBlbWF4OgotICAgICAgICAgICAgICAgICAgICByZXR1cm4gTm9uZQotICAgICAgICAgICAgICAgIHhjID0gNSoqZQotCi0gICAgICAgICAgICBlbGlmIGxhc3RfZGlnaXQgPT0gNToKLSAgICAgICAgICAgICAgICAjIGUgPj0gbG9nXzUoeGMpIGlmIHhjIGlzIGEgcG93ZXIgb2YgNTsgd2UgaGF2ZQotICAgICAgICAgICAgICAgICMgZXF1YWxpdHkgYWxsIHRoZSB3YXkgdXAgdG8geGM9NSoqMjY1OAotICAgICAgICAgICAgICAgIGUgPSBfbmJpdHMoeGMpKjI4Ly82NQotICAgICAgICAgICAgICAgIHhjLCByZW1haW5kZXIgPSBkaXZtb2QoNSoqZSwgeGMpCi0gICAgICAgICAgICAgICAgaWYgcmVtYWluZGVyOgotICAgICAgICAgICAgICAgICAgICByZXR1cm4gTm9uZQotICAgICAgICAgICAgICAgIHdoaWxlIHhjICUgNSA9PSAwOgotICAgICAgICAgICAgICAgICAgICB4YyAvLz0gNQotICAgICAgICAgICAgICAgICAgICBlIC09IDEKLQotICAgICAgICAgICAgICAgICMgR3VhcmQgYWdhaW5zdCBsYXJnZSB2YWx1ZXMgb2YgeWUsIHVzaW5nIHRoZSBzYW1lIGxvZ2ljIGFzIGluCi0gICAgICAgICAgICAgICAgIyB0aGUgJ3hjIGlzIGEgcG93ZXIgb2YgMicgYnJhbmNoLiAgMTAvMyBpcyBhbiB1cHBlciBib3VuZCBmb3IKLSAgICAgICAgICAgICAgICAjIGxvZygxMCkvbG9nKDIpLgotICAgICAgICAgICAgICAgIGVtYXggPSBwKjEwLy8zCi0gICAgICAgICAgICAgICAgaWYgeWUgPj0gbGVuKHN0cihlbWF4KSk6Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybiBOb25lCi0KLSAgICAgICAgICAgICAgICBlID0gX2RlY2ltYWxfbHNoaWZ0X2V4YWN0KGUgKiB5YywgeWUpCi0gICAgICAgICAgICAgICAgeGUgPSBfZGVjaW1hbF9sc2hpZnRfZXhhY3QoeGUgKiB5YywgeWUpCi0gICAgICAgICAgICAgICAgaWYgZSBpcyBOb25lIG9yIHhlIGlzIE5vbmU6Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybiBOb25lCi0KLSAgICAgICAgICAgICAgICBpZiBlID4gZW1heDoKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIE5vbmUKLSAgICAgICAgICAgICAgICB4YyA9IDIqKmUKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIE5vbmUKLQotICAgICAgICAgICAgaWYgeGMgPj0gMTAqKnA6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIE5vbmUKLSAgICAgICAgICAgIHhlID0gLWUteGUKLSAgICAgICAgICAgIHJldHVybiBfZGVjX2Zyb21fdHJpcGxlKDAsIHN0cih4YyksIHhlKQotCi0gICAgICAgICMgbm93IHkgaXMgcG9zaXRpdmU7IGZpbmQgbSBhbmQgbiBzdWNoIHRoYXQgeSA9IG0vbgotICAgICAgICBpZiB5ZSA+PSAwOgotICAgICAgICAgICAgbSwgbiA9IHljKjEwKip5ZSwgMQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgaWYgeGUgIT0gMCBhbmQgbGVuKHN0cihhYnMoeWMqeGUpKSkgPD0gLXllOgotICAgICAgICAgICAgICAgIHJldHVybiBOb25lCi0gICAgICAgICAgICB4Y19iaXRzID0gX25iaXRzKHhjKQotICAgICAgICAgICAgaWYgeGMgIT0gMSBhbmQgbGVuKHN0cihhYnMoeWMpKnhjX2JpdHMpKSA8PSAteWU6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIE5vbmUKLSAgICAgICAgICAgIG0sIG4gPSB5YywgMTAqKigteWUpCi0gICAgICAgICAgICB3aGlsZSBtICUgMiA9PSBuICUgMiA9PSAwOgotICAgICAgICAgICAgICAgIG0gLy89IDIKLSAgICAgICAgICAgICAgICBuIC8vPSAyCi0gICAgICAgICAgICB3aGlsZSBtICUgNSA9PSBuICUgNSA9PSAwOgotICAgICAgICAgICAgICAgIG0gLy89IDUKLSAgICAgICAgICAgICAgICBuIC8vPSA1Ci0KLSAgICAgICAgIyBjb21wdXRlIG50aCByb290IG9mIHhjKjEwKip4ZQotICAgICAgICBpZiBuID4gMToKLSAgICAgICAgICAgICMgaWYgMSA8IHhjIDwgMioqbiB0aGVuIHhjIGlzbid0IGFuIG50aCBwb3dlcgotICAgICAgICAgICAgaWYgeGMgIT0gMSBhbmQgeGNfYml0cyA8PSBuOgotICAgICAgICAgICAgICAgIHJldHVybiBOb25lCi0KLSAgICAgICAgICAgIHhlLCByZW0gPSBkaXZtb2QoeGUsIG4pCi0gICAgICAgICAgICBpZiByZW0gIT0gMDoKLSAgICAgICAgICAgICAgICByZXR1cm4gTm9uZQotCi0gICAgICAgICAgICAjIGNvbXB1dGUgbnRoIHJvb3Qgb2YgeGMgdXNpbmcgTmV3dG9uJ3MgbWV0aG9kCi0gICAgICAgICAgICBhID0gMSA8PCAtKC1fbmJpdHMoeGMpLy9uKSAjIGluaXRpYWwgZXN0aW1hdGUKLSAgICAgICAgICAgIHdoaWxlIFRydWU6Ci0gICAgICAgICAgICAgICAgcSwgciA9IGRpdm1vZCh4YywgYSoqKG4tMSkpCi0gICAgICAgICAgICAgICAgaWYgYSA8PSBxOgotICAgICAgICAgICAgICAgICAgICBicmVhawotICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgIGEgPSAoYSoobi0xKSArIHEpLy9uCi0gICAgICAgICAgICBpZiBub3QgKGEgPT0gcSBhbmQgciA9PSAwKToKLSAgICAgICAgICAgICAgICByZXR1cm4gTm9uZQotICAgICAgICAgICAgeGMgPSBhCi0KLSAgICAgICAgIyBub3cgeGMqMTAqKnhlIGlzIHRoZSBudGggcm9vdCBvZiB0aGUgb3JpZ2luYWwgeGMqMTAqKnhlCi0gICAgICAgICMgY29tcHV0ZSBtdGggcG93ZXIgb2YgeGMqMTAqKnhlCi0KLSAgICAgICAgIyBpZiBtID4gcCoxMDAvL19sb2cxMF9sYih4YykgdGhlbiBtID4gcC9sb2cxMCh4YyksIGhlbmNlIHhjKiptID4KLSAgICAgICAgIyAxMCoqcCBhbmQgdGhlIHJlc3VsdCBpcyBub3QgcmVwcmVzZW50YWJsZS4KLSAgICAgICAgaWYgeGMgPiAxIGFuZCBtID4gcCoxMDAvL19sb2cxMF9sYih4Yyk6Ci0gICAgICAgICAgICByZXR1cm4gTm9uZQotICAgICAgICB4YyA9IHhjKiptCi0gICAgICAgIHhlICo9IG0KLSAgICAgICAgaWYgeGMgPiAxMCoqcDoKLSAgICAgICAgICAgIHJldHVybiBOb25lCi0KLSAgICAgICAgIyBieSB0aGlzIHBvaW50IHRoZSByZXN1bHQgKmlzKiBleGFjdGx5IHJlcHJlc2VudGFibGUKLSAgICAgICAgIyBhZGp1c3QgdGhlIGV4cG9uZW50IHRvIGdldCBhcyBjbG9zZSBhcyBwb3NzaWJsZSB0byB0aGUgaWRlYWwKLSAgICAgICAgIyBleHBvbmVudCwgaWYgbmVjZXNzYXJ5Ci0gICAgICAgIHN0cl94YyA9IHN0cih4YykKLSAgICAgICAgaWYgb3RoZXIuX2lzaW50ZWdlcigpIGFuZCBvdGhlci5fc2lnbiA9PSAwOgotICAgICAgICAgICAgaWRlYWxfZXhwb25lbnQgPSBzZWxmLl9leHAqaW50KG90aGVyKQotICAgICAgICAgICAgemVyb3MgPSBtaW4oeGUtaWRlYWxfZXhwb25lbnQsIHAtbGVuKHN0cl94YykpCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICB6ZXJvcyA9IDAKLSAgICAgICAgcmV0dXJuIF9kZWNfZnJvbV90cmlwbGUoMCwgc3RyX3hjKycwJyp6ZXJvcywgeGUtemVyb3MpCi0KLSAgICBkZWYgX19wb3dfXyhzZWxmLCBvdGhlciwgbW9kdWxvPU5vbmUsIGNvbnRleHQ9Tm9uZSk6Ci0gICAgICAgICIiIlJldHVybiBzZWxmICoqIG90aGVyIFsgJSBtb2R1bG9dLgotCi0gICAgICAgIFdpdGggdHdvIGFyZ3VtZW50cywgY29tcHV0ZSBzZWxmKipvdGhlci4KLQotICAgICAgICBXaXRoIHRocmVlIGFyZ3VtZW50cywgY29tcHV0ZSAoc2VsZioqb3RoZXIpICUgbW9kdWxvLiAgRm9yIHRoZQotICAgICAgICB0aHJlZSBhcmd1bWVudCBmb3JtLCB0aGUgZm9sbG93aW5nIHJlc3RyaWN0aW9ucyBvbiB0aGUKLSAgICAgICAgYXJndW1lbnRzIGhvbGQ6Ci0KLSAgICAgICAgIC0gYWxsIHRocmVlIGFyZ3VtZW50cyBtdXN0IGJlIGludGVncmFsCi0gICAgICAgICAtIG90aGVyIG11c3QgYmUgbm9ubmVnYXRpdmUKLSAgICAgICAgIC0gZWl0aGVyIHNlbGYgb3Igb3RoZXIgKG9yIGJvdGgpIG11c3QgYmUgbm9uemVybwotICAgICAgICAgLSBtb2R1bG8gbXVzdCBiZSBub256ZXJvIGFuZCBtdXN0IGhhdmUgYXQgbW9zdCBwIGRpZ2l0cywKLSAgICAgICAgICAgd2hlcmUgcCBpcyB0aGUgY29udGV4dCBwcmVjaXNpb24uCi0KLSAgICAgICAgSWYgYW55IG9mIHRoZXNlIHJlc3RyaWN0aW9ucyBpcyB2aW9sYXRlZCB0aGUgSW52YWxpZE9wZXJhdGlvbgotICAgICAgICBmbGFnIGlzIHJhaXNlZC4KLQotICAgICAgICBUaGUgcmVzdWx0IG9mIHBvdyhzZWxmLCBvdGhlciwgbW9kdWxvKSBpcyBpZGVudGljYWwgdG8gdGhlCi0gICAgICAgIHJlc3VsdCB0aGF0IHdvdWxkIGJlIG9idGFpbmVkIGJ5IGNvbXB1dGluZyAoc2VsZioqb3RoZXIpICUKLSAgICAgICAgbW9kdWxvIHdpdGggdW5ib3VuZGVkIHByZWNpc2lvbiwgYnV0IGlzIGNvbXB1dGVkIG1vcmUKLSAgICAgICAgZWZmaWNpZW50bHkuICBJdCBpcyBhbHdheXMgZXhhY3QuCi0gICAgICAgICIiIgotCi0gICAgICAgIGlmIG1vZHVsbyBpcyBub3QgTm9uZToKLSAgICAgICAgICAgIHJldHVybiBzZWxmLl9wb3dlcl9tb2R1bG8ob3RoZXIsIG1vZHVsbywgY29udGV4dCkKLQotICAgICAgICBvdGhlciA9IF9jb252ZXJ0X290aGVyKG90aGVyKQotICAgICAgICBpZiBvdGhlciBpcyBOb3RJbXBsZW1lbnRlZDoKLSAgICAgICAgICAgIHJldHVybiBvdGhlcgotCi0gICAgICAgIGlmIGNvbnRleHQgaXMgTm9uZToKLSAgICAgICAgICAgIGNvbnRleHQgPSBnZXRjb250ZXh0KCkKLQotICAgICAgICAjIGVpdGhlciBhcmd1bWVudCBpcyBhIE5hTiA9PiByZXN1bHQgaXMgTmFOCi0gICAgICAgIGFucyA9IHNlbGYuX2NoZWNrX25hbnMob3RoZXIsIGNvbnRleHQpCi0gICAgICAgIGlmIGFuczoKLSAgICAgICAgICAgIHJldHVybiBhbnMKLQotICAgICAgICAjIDAqKjAgPSBOYU4gKCEpLCB4KiowID0gMSBmb3Igbm9uemVybyB4IChpbmNsdWRpbmcgKy8tSW5maW5pdHkpCi0gICAgICAgIGlmIG5vdCBvdGhlcjoKLSAgICAgICAgICAgIGlmIG5vdCBzZWxmOgotICAgICAgICAgICAgICAgIHJldHVybiBjb250ZXh0Ll9yYWlzZV9lcnJvcihJbnZhbGlkT3BlcmF0aW9uLCAnMCAqKiAwJykKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIF9PbmUKLQotICAgICAgICAjIHJlc3VsdCBoYXMgc2lnbiAxIGlmZiBzZWxmLl9zaWduIGlzIDEgYW5kIG90aGVyIGlzIGFuIG9kZCBpbnRlZ2VyCi0gICAgICAgIHJlc3VsdF9zaWduID0gMAotICAgICAgICBpZiBzZWxmLl9zaWduID09IDE6Ci0gICAgICAgICAgICBpZiBvdGhlci5faXNpbnRlZ2VyKCk6Ci0gICAgICAgICAgICAgICAgaWYgbm90IG90aGVyLl9pc2V2ZW4oKToKLSAgICAgICAgICAgICAgICAgICAgcmVzdWx0X3NpZ24gPSAxCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgICMgLXZlKipub25pbnRlZ2VyID0gTmFOCi0gICAgICAgICAgICAgICAgIyAoLTApKipub25pbnRlZ2VyID0gMCoqbm9uaW50ZWdlcgotICAgICAgICAgICAgICAgIGlmIHNlbGY6Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybiBjb250ZXh0Ll9yYWlzZV9lcnJvcihJbnZhbGlkT3BlcmF0aW9uLAotICAgICAgICAgICAgICAgICAgICAgICAgJ3ggKiogeSB3aXRoIHggbmVnYXRpdmUgYW5kIHkgbm90IGFuIGludGVnZXInKQotICAgICAgICAgICAgIyBuZWdhdGUgc2VsZiwgd2l0aG91dCBkb2luZyBhbnkgdW53YW50ZWQgcm91bmRpbmcKLSAgICAgICAgICAgIHNlbGYgPSBzZWxmLmNvcHlfbmVnYXRlKCkKLQotICAgICAgICAjIDAqKigrdmUgb3IgSW5mKT0gMDsgMCoqKC12ZSBvciAtSW5mKSA9IEluZmluaXR5Ci0gICAgICAgIGlmIG5vdCBzZWxmOgotICAgICAgICAgICAgaWYgb3RoZXIuX3NpZ24gPT0gMDoKLSAgICAgICAgICAgICAgICByZXR1cm4gX2RlY19mcm9tX3RyaXBsZShyZXN1bHRfc2lnbiwgJzAnLCAwKQotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICByZXR1cm4gX1NpZ25lZEluZmluaXR5W3Jlc3VsdF9zaWduXQotCi0gICAgICAgICMgSW5mKiooK3ZlIG9yIEluZikgPSBJbmY7IEluZioqKC12ZSBvciAtSW5mKSA9IDAKLSAgICAgICAgaWYgc2VsZi5faXNpbmZpbml0eSgpOgotICAgICAgICAgICAgaWYgb3RoZXIuX3NpZ24gPT0gMDoKLSAgICAgICAgICAgICAgICByZXR1cm4gX1NpZ25lZEluZmluaXR5W3Jlc3VsdF9zaWduXQotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICByZXR1cm4gX2RlY19mcm9tX3RyaXBsZShyZXN1bHRfc2lnbiwgJzAnLCAwKQotCi0gICAgICAgICMgMSoqb3RoZXIgPSAxLCBidXQgdGhlIGNob2ljZSBvZiBleHBvbmVudCBhbmQgdGhlIGZsYWdzCi0gICAgICAgICMgZGVwZW5kIG9uIHRoZSBleHBvbmVudCBvZiBzZWxmLCBhbmQgb24gd2hldGhlciBvdGhlciBpcyBhCi0gICAgICAgICMgcG9zaXRpdmUgaW50ZWdlciwgYSBuZWdhdGl2ZSBpbnRlZ2VyLCBvciBuZWl0aGVyCi0gICAgICAgIGlmIHNlbGYgPT0gX09uZToKLSAgICAgICAgICAgIGlmIG90aGVyLl9pc2ludGVnZXIoKToKLSAgICAgICAgICAgICAgICAjIGV4cCA9IG1heChzZWxmLl9leHAqbWF4KGludChvdGhlciksIDApLAotICAgICAgICAgICAgICAgICMgMS1jb250ZXh0LnByZWMpIGJ1dCBldmFsdWF0aW5nIGludChvdGhlcikgZGlyZWN0bHkKLSAgICAgICAgICAgICAgICAjIGlzIGRhbmdlcm91cyB1bnRpbCB3ZSBrbm93IG90aGVyIGlzIHNtYWxsIChvdGhlcgotICAgICAgICAgICAgICAgICMgY291bGQgYmUgMWU5OTk5OTk5OTkpCi0gICAgICAgICAgICAgICAgaWYgb3RoZXIuX3NpZ24gPT0gMToKLSAgICAgICAgICAgICAgICAgICAgbXVsdGlwbGllciA9IDAKLSAgICAgICAgICAgICAgICBlbGlmIG90aGVyID4gY29udGV4dC5wcmVjOgotICAgICAgICAgICAgICAgICAgICBtdWx0aXBsaWVyID0gY29udGV4dC5wcmVjCi0gICAgICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgbXVsdGlwbGllciA9IGludChvdGhlcikKLQotICAgICAgICAgICAgICAgIGV4cCA9IHNlbGYuX2V4cCAqIG11bHRpcGxpZXIKLSAgICAgICAgICAgICAgICBpZiBleHAgPCAxLWNvbnRleHQucHJlYzoKLSAgICAgICAgICAgICAgICAgICAgZXhwID0gMS1jb250ZXh0LnByZWMKLSAgICAgICAgICAgICAgICAgICAgY29udGV4dC5fcmFpc2VfZXJyb3IoUm91bmRlZCkKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgY29udGV4dC5fcmFpc2VfZXJyb3IoSW5leGFjdCkKLSAgICAgICAgICAgICAgICBjb250ZXh0Ll9yYWlzZV9lcnJvcihSb3VuZGVkKQotICAgICAgICAgICAgICAgIGV4cCA9IDEtY29udGV4dC5wcmVjCi0KLSAgICAgICAgICAgIHJldHVybiBfZGVjX2Zyb21fdHJpcGxlKHJlc3VsdF9zaWduLCAnMScrJzAnKi1leHAsIGV4cCkKLQotICAgICAgICAjIGNvbXB1dGUgYWRqdXN0ZWQgZXhwb25lbnQgb2Ygc2VsZgotICAgICAgICBzZWxmX2FkaiA9IHNlbGYuYWRqdXN0ZWQoKQotCi0gICAgICAgICMgc2VsZiAqKiBpbmZpbml0eSBpcyBpbmZpbml0eSBpZiBzZWxmID4gMSwgMCBpZiBzZWxmIDwgMQotICAgICAgICAjIHNlbGYgKiogLWluZmluaXR5IGlzIGluZmluaXR5IGlmIHNlbGYgPCAxLCAwIGlmIHNlbGYgPiAxCi0gICAgICAgIGlmIG90aGVyLl9pc2luZmluaXR5KCk6Ci0gICAgICAgICAgICBpZiAob3RoZXIuX3NpZ24gPT0gMCkgPT0gKHNlbGZfYWRqIDwgMCk6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIF9kZWNfZnJvbV90cmlwbGUocmVzdWx0X3NpZ24sICcwJywgMCkKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIF9TaWduZWRJbmZpbml0eVtyZXN1bHRfc2lnbl0KLQotICAgICAgICAjIGZyb20gaGVyZSBvbiwgdGhlIHJlc3VsdCBhbHdheXMgZ29lcyB0aHJvdWdoIHRoZSBjYWxsCi0gICAgICAgICMgdG8gX2ZpeCBhdCB0aGUgZW5kIG9mIHRoaXMgZnVuY3Rpb24uCi0gICAgICAgIGFucyA9IE5vbmUKLSAgICAgICAgZXhhY3QgPSBGYWxzZQotCi0gICAgICAgICMgY3J1ZGUgdGVzdCB0byBjYXRjaCBjYXNlcyBvZiBleHRyZW1lIG92ZXJmbG93L3VuZGVyZmxvdy4gIElmCi0gICAgICAgICMgbG9nMTAoc2VsZikqb3RoZXIgPj0gMTAqKmJvdW5kIGFuZCBib3VuZCA+PSBsZW4oc3RyKEVtYXgpKQotICAgICAgICAjIHRoZW4gMTAqKmJvdW5kID49IDEwKipsZW4oc3RyKEVtYXgpKSA+PSBFbWF4KzEgYW5kIGhlbmNlCi0gICAgICAgICMgc2VsZioqb3RoZXIgPj0gMTAqKihFbWF4KzEpLCBzbyBvdmVyZmxvdyBvY2N1cnMuICBUaGUgdGVzdAotICAgICAgICAjIGZvciB1bmRlcmZsb3cgaXMgc2ltaWxhci4KLSAgICAgICAgYm91bmQgPSBzZWxmLl9sb2cxMF9leHBfYm91bmQoKSArIG90aGVyLmFkanVzdGVkKCkKLSAgICAgICAgaWYgKHNlbGZfYWRqID49IDApID09IChvdGhlci5fc2lnbiA9PSAwKToKLSAgICAgICAgICAgICMgc2VsZiA+IDEgYW5kIG90aGVyICt2ZSwgb3Igc2VsZiA8IDEgYW5kIG90aGVyIC12ZQotICAgICAgICAgICAgIyBwb3NzaWJpbGl0eSBvZiBvdmVyZmxvdwotICAgICAgICAgICAgaWYgYm91bmQgPj0gbGVuKHN0cihjb250ZXh0LkVtYXgpKToKLSAgICAgICAgICAgICAgICBhbnMgPSBfZGVjX2Zyb21fdHJpcGxlKHJlc3VsdF9zaWduLCAnMScsIGNvbnRleHQuRW1heCsxKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgIyBzZWxmID4gMSBhbmQgb3RoZXIgLXZlLCBvciBzZWxmIDwgMSBhbmQgb3RoZXIgK3ZlCi0gICAgICAgICAgICAjIHBvc3NpYmlsaXR5IG9mIHVuZGVyZmxvdyB0byAwCi0gICAgICAgICAgICBFdGlueSA9IGNvbnRleHQuRXRpbnkoKQotICAgICAgICAgICAgaWYgYm91bmQgPj0gbGVuKHN0cigtRXRpbnkpKToKLSAgICAgICAgICAgICAgICBhbnMgPSBfZGVjX2Zyb21fdHJpcGxlKHJlc3VsdF9zaWduLCAnMScsIEV0aW55LTEpCi0KLSAgICAgICAgIyB0cnkgZm9yIGFuIGV4YWN0IHJlc3VsdCB3aXRoIHByZWNpc2lvbiArMQotICAgICAgICBpZiBhbnMgaXMgTm9uZToKLSAgICAgICAgICAgIGFucyA9IHNlbGYuX3Bvd2VyX2V4YWN0KG90aGVyLCBjb250ZXh0LnByZWMgKyAxKQotICAgICAgICAgICAgaWYgYW5zIGlzIG5vdCBOb25lOgotICAgICAgICAgICAgICAgIGlmIHJlc3VsdF9zaWduID09IDE6Ci0gICAgICAgICAgICAgICAgICAgIGFucyA9IF9kZWNfZnJvbV90cmlwbGUoMSwgYW5zLl9pbnQsIGFucy5fZXhwKQotICAgICAgICAgICAgICAgIGV4YWN0ID0gVHJ1ZQotCi0gICAgICAgICMgdXN1YWwgY2FzZTogaW5leGFjdCByZXN1bHQsIHgqKnkgY29tcHV0ZWQgZGlyZWN0bHkgYXMgZXhwKHkqbG9nKHgpKQotICAgICAgICBpZiBhbnMgaXMgTm9uZToKLSAgICAgICAgICAgIHAgPSBjb250ZXh0LnByZWMKLSAgICAgICAgICAgIHggPSBfV29ya1JlcChzZWxmKQotICAgICAgICAgICAgeGMsIHhlID0geC5pbnQsIHguZXhwCi0gICAgICAgICAgICB5ID0gX1dvcmtSZXAob3RoZXIpCi0gICAgICAgICAgICB5YywgeWUgPSB5LmludCwgeS5leHAKLSAgICAgICAgICAgIGlmIHkuc2lnbiA9PSAxOgotICAgICAgICAgICAgICAgIHljID0gLXljCi0KLSAgICAgICAgICAgICMgY29tcHV0ZSBjb3JyZWN0bHkgcm91bmRlZCByZXN1bHQ6ICBzdGFydCB3aXRoIHByZWNpc2lvbiArMywKLSAgICAgICAgICAgICMgdGhlbiBpbmNyZWFzZSBwcmVjaXNpb24gdW50aWwgcmVzdWx0IGlzIHVuYW1iaWd1b3VzbHkgcm91bmRhYmxlCi0gICAgICAgICAgICBleHRyYSA9IDMKLSAgICAgICAgICAgIHdoaWxlIFRydWU6Ci0gICAgICAgICAgICAgICAgY29lZmYsIGV4cCA9IF9kcG93ZXIoeGMsIHhlLCB5YywgeWUsIHArZXh0cmEpCi0gICAgICAgICAgICAgICAgaWYgY29lZmYgJSAoNSoxMCoqKGxlbihzdHIoY29lZmYpKS1wLTEpKToKLSAgICAgICAgICAgICAgICAgICAgYnJlYWsKLSAgICAgICAgICAgICAgICBleHRyYSArPSAzCi0KLSAgICAgICAgICAgIGFucyA9IF9kZWNfZnJvbV90cmlwbGUocmVzdWx0X3NpZ24sIHN0cihjb2VmZiksIGV4cCkKLQotICAgICAgICAjIHVubGlrZSBleHAsIGxuIGFuZCBsb2cxMCwgdGhlIHBvd2VyIGZ1bmN0aW9uIHJlc3BlY3RzIHRoZQotICAgICAgICAjIHJvdW5kaW5nIG1vZGU7IG5vIG5lZWQgdG8gc3dpdGNoIHRvIFJPVU5EX0hBTEZfRVZFTiBoZXJlCi0KLSAgICAgICAgIyBUaGVyZSdzIGEgZGlmZmljdWx0eSBoZXJlIHdoZW4gJ290aGVyJyBpcyBub3QgYW4gaW50ZWdlciBhbmQKLSAgICAgICAgIyB0aGUgcmVzdWx0IGlzIGV4YWN0LiAgSW4gdGhpcyBjYXNlLCB0aGUgc3BlY2lmaWNhdGlvbgotICAgICAgICAjIHJlcXVpcmVzIHRoYXQgdGhlIEluZXhhY3QgZmxhZyBiZSByYWlzZWQgKGluIHNwaXRlIG9mCi0gICAgICAgICMgZXhhY3RuZXNzKSwgYnV0IHNpbmNlIHRoZSByZXN1bHQgaXMgZXhhY3QgX2ZpeCB3b24ndCBkbyB0aGlzCi0gICAgICAgICMgZm9yIHVzLiAgKENvcnJlc3BvbmRpbmdseSwgdGhlIFVuZGVyZmxvdyBzaWduYWwgc2hvdWxkIGFsc28KLSAgICAgICAgIyBiZSByYWlzZWQgZm9yIHN1Ym5vcm1hbCByZXN1bHRzLikgIFdlIGNhbid0IGRpcmVjdGx5IHJhaXNlCi0gICAgICAgICMgdGhlc2Ugc2lnbmFscyBlaXRoZXIgYmVmb3JlIG9yIGFmdGVyIGNhbGxpbmcgX2ZpeCwgc2luY2UKLSAgICAgICAgIyB0aGF0IHdvdWxkIHZpb2xhdGUgdGhlIHByZWNlZGVuY2UgZm9yIHNpZ25hbHMuICBTbyB3ZSB3cmFwCi0gICAgICAgICMgdGhlIC5fZml4IGNhbGwgaW4gYSB0ZW1wb3JhcnkgY29udGV4dCwgYW5kIHJlcmFpc2UKLSAgICAgICAgIyBhZnRlcndhcmRzLgotICAgICAgICBpZiBleGFjdCBhbmQgbm90IG90aGVyLl9pc2ludGVnZXIoKToKLSAgICAgICAgICAgICMgcGFkIHdpdGggemVyb3MgdXAgdG8gbGVuZ3RoIGNvbnRleHQucHJlYysxIGlmIG5lY2Vzc2FyeTsgdGhpcwotICAgICAgICAgICAgIyBlbnN1cmVzIHRoYXQgdGhlIFJvdW5kZWQgc2lnbmFsIHdpbGwgYmUgcmFpc2VkLgotICAgICAgICAgICAgaWYgbGVuKGFucy5faW50KSA8PSBjb250ZXh0LnByZWM6Ci0gICAgICAgICAgICAgICAgZXhwZGlmZiA9IGNvbnRleHQucHJlYyArIDEgLSBsZW4oYW5zLl9pbnQpCi0gICAgICAgICAgICAgICAgYW5zID0gX2RlY19mcm9tX3RyaXBsZShhbnMuX3NpZ24sIGFucy5faW50KycwJypleHBkaWZmLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5zLl9leHAtZXhwZGlmZikKLQotICAgICAgICAgICAgIyBjcmVhdGUgYSBjb3B5IG9mIHRoZSBjdXJyZW50IGNvbnRleHQsIHdpdGggY2xlYXJlZCBmbGFncy90cmFwcwotICAgICAgICAgICAgbmV3Y29udGV4dCA9IGNvbnRleHQuY29weSgpCi0gICAgICAgICAgICBuZXdjb250ZXh0LmNsZWFyX2ZsYWdzKCkKLSAgICAgICAgICAgIGZvciBleGNlcHRpb24gaW4gX3NpZ25hbHM6Ci0gICAgICAgICAgICAgICAgbmV3Y29udGV4dC50cmFwc1tleGNlcHRpb25dID0gMAotCi0gICAgICAgICAgICAjIHJvdW5kIGluIHRoZSBuZXcgY29udGV4dAotICAgICAgICAgICAgYW5zID0gYW5zLl9maXgobmV3Y29udGV4dCkKLQotICAgICAgICAgICAgIyByYWlzZSBJbmV4YWN0LCBhbmQgaWYgbmVjZXNzYXJ5LCBVbmRlcmZsb3cKLSAgICAgICAgICAgIG5ld2NvbnRleHQuX3JhaXNlX2Vycm9yKEluZXhhY3QpCi0gICAgICAgICAgICBpZiBuZXdjb250ZXh0LmZsYWdzW1N1Ym5vcm1hbF06Ci0gICAgICAgICAgICAgICAgbmV3Y29udGV4dC5fcmFpc2VfZXJyb3IoVW5kZXJmbG93KQotCi0gICAgICAgICAgICAjIHByb3BhZ2F0ZSBzaWduYWxzIHRvIHRoZSBvcmlnaW5hbCBjb250ZXh0OyBfZml4IGNvdWxkCi0gICAgICAgICAgICAjIGhhdmUgcmFpc2VkIGFueSBvZiBPdmVyZmxvdywgVW5kZXJmbG93LCBTdWJub3JtYWwsCi0gICAgICAgICAgICAjIEluZXhhY3QsIFJvdW5kZWQsIENsYW1wZWQuICBPdmVyZmxvdyBuZWVkcyB0aGUgY29ycmVjdAotICAgICAgICAgICAgIyBhcmd1bWVudHMuICBOb3RlIHRoYXQgdGhlIG9yZGVyIG9mIHRoZSBleGNlcHRpb25zIGlzCi0gICAgICAgICAgICAjIGltcG9ydGFudCBoZXJlLgotICAgICAgICAgICAgaWYgbmV3Y29udGV4dC5mbGFnc1tPdmVyZmxvd106Ci0gICAgICAgICAgICAgICAgY29udGV4dC5fcmFpc2VfZXJyb3IoT3ZlcmZsb3csICdhYm92ZSBFbWF4JywgYW5zLl9zaWduKQotICAgICAgICAgICAgZm9yIGV4Y2VwdGlvbiBpbiBVbmRlcmZsb3csIFN1Ym5vcm1hbCwgSW5leGFjdCwgUm91bmRlZCwgQ2xhbXBlZDoKLSAgICAgICAgICAgICAgICBpZiBuZXdjb250ZXh0LmZsYWdzW2V4Y2VwdGlvbl06Ci0gICAgICAgICAgICAgICAgICAgIGNvbnRleHQuX3JhaXNlX2Vycm9yKGV4Y2VwdGlvbikKLQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgYW5zID0gYW5zLl9maXgoY29udGV4dCkKLQotICAgICAgICByZXR1cm4gYW5zCi0KLSAgICBkZWYgX19ycG93X18oc2VsZiwgb3RoZXIsIGNvbnRleHQ9Tm9uZSk6Ci0gICAgICAgICIiIlN3YXBzIHNlbGYvb3RoZXIgYW5kIHJldHVybnMgX19wb3dfXy4iIiIKLSAgICAgICAgb3RoZXIgPSBfY29udmVydF9vdGhlcihvdGhlcikKLSAgICAgICAgaWYgb3RoZXIgaXMgTm90SW1wbGVtZW50ZWQ6Ci0gICAgICAgICAgICByZXR1cm4gb3RoZXIKLSAgICAgICAgcmV0dXJuIG90aGVyLl9fcG93X18oc2VsZiwgY29udGV4dD1jb250ZXh0KQotCi0gICAgZGVmIG5vcm1hbGl6ZShzZWxmLCBjb250ZXh0PU5vbmUpOgotICAgICAgICAiIiJOb3JtYWxpemUtIHN0cmlwIHRyYWlsaW5nIDBzLCBjaGFuZ2UgYW55dGhpbmcgZXF1YWwgdG8gMCB0byAwZTAiIiIKLQotICAgICAgICBpZiBjb250ZXh0IGlzIE5vbmU6Ci0gICAgICAgICAgICBjb250ZXh0ID0gZ2V0Y29udGV4dCgpCi0KLSAgICAgICAgaWYgc2VsZi5faXNfc3BlY2lhbDoKLSAgICAgICAgICAgIGFucyA9IHNlbGYuX2NoZWNrX25hbnMoY29udGV4dD1jb250ZXh0KQotICAgICAgICAgICAgaWYgYW5zOgotICAgICAgICAgICAgICAgIHJldHVybiBhbnMKLQotICAgICAgICBkdXAgPSBzZWxmLl9maXgoY29udGV4dCkKLSAgICAgICAgaWYgZHVwLl9pc2luZmluaXR5KCk6Ci0gICAgICAgICAgICByZXR1cm4gZHVwCi0KLSAgICAgICAgaWYgbm90IGR1cDoKLSAgICAgICAgICAgIHJldHVybiBfZGVjX2Zyb21fdHJpcGxlKGR1cC5fc2lnbiwgJzAnLCAwKQotICAgICAgICBleHBfbWF4ID0gW2NvbnRleHQuRW1heCwgY29udGV4dC5FdG9wKCldW2NvbnRleHQuY2xhbXBdCi0gICAgICAgIGVuZCA9IGxlbihkdXAuX2ludCkKLSAgICAgICAgZXhwID0gZHVwLl9leHAKLSAgICAgICAgd2hpbGUgZHVwLl9pbnRbZW5kLTFdID09ICcwJyBhbmQgZXhwIDwgZXhwX21heDoKLSAgICAgICAgICAgIGV4cCArPSAxCi0gICAgICAgICAgICBlbmQgLT0gMQotICAgICAgICByZXR1cm4gX2RlY19mcm9tX3RyaXBsZShkdXAuX3NpZ24sIGR1cC5faW50WzplbmRdLCBleHApCi0KLSAgICBkZWYgcXVhbnRpemUoc2VsZiwgZXhwLCByb3VuZGluZz1Ob25lLCBjb250ZXh0PU5vbmUsIHdhdGNoZXhwPVRydWUpOgotICAgICAgICAiIiJRdWFudGl6ZSBzZWxmIHNvIGl0cyBleHBvbmVudCBpcyB0aGUgc2FtZSBhcyB0aGF0IG9mIGV4cC4KLQotICAgICAgICBTaW1pbGFyIHRvIHNlbGYuX3Jlc2NhbGUoZXhwLl9leHApIGJ1dCB3aXRoIGVycm9yIGNoZWNraW5nLgotICAgICAgICAiIiIKLSAgICAgICAgZXhwID0gX2NvbnZlcnRfb3RoZXIoZXhwLCByYWlzZWl0PVRydWUpCi0KLSAgICAgICAgaWYgY29udGV4dCBpcyBOb25lOgotICAgICAgICAgICAgY29udGV4dCA9IGdldGNvbnRleHQoKQotICAgICAgICBpZiByb3VuZGluZyBpcyBOb25lOgotICAgICAgICAgICAgcm91bmRpbmcgPSBjb250ZXh0LnJvdW5kaW5nCi0KLSAgICAgICAgaWYgc2VsZi5faXNfc3BlY2lhbCBvciBleHAuX2lzX3NwZWNpYWw6Ci0gICAgICAgICAgICBhbnMgPSBzZWxmLl9jaGVja19uYW5zKGV4cCwgY29udGV4dCkKLSAgICAgICAgICAgIGlmIGFuczoKLSAgICAgICAgICAgICAgICByZXR1cm4gYW5zCi0KLSAgICAgICAgICAgIGlmIGV4cC5faXNpbmZpbml0eSgpIG9yIHNlbGYuX2lzaW5maW5pdHkoKToKLSAgICAgICAgICAgICAgICBpZiBleHAuX2lzaW5maW5pdHkoKSBhbmQgc2VsZi5faXNpbmZpbml0eSgpOgotICAgICAgICAgICAgICAgICAgICByZXR1cm4gRGVjaW1hbChzZWxmKSAgIyBpZiBib3RoIGFyZSBpbmYsIGl0IGlzIE9LCi0gICAgICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuX3JhaXNlX2Vycm9yKEludmFsaWRPcGVyYXRpb24sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3F1YW50aXplIHdpdGggb25lIElORicpCi0KLSAgICAgICAgIyBpZiB3ZSdyZSBub3Qgd2F0Y2hpbmcgZXhwb25lbnRzLCBkbyBhIHNpbXBsZSByZXNjYWxlCi0gICAgICAgIGlmIG5vdCB3YXRjaGV4cDoKLSAgICAgICAgICAgIGFucyA9IHNlbGYuX3Jlc2NhbGUoZXhwLl9leHAsIHJvdW5kaW5nKQotICAgICAgICAgICAgIyByYWlzZSBJbmV4YWN0IGFuZCBSb3VuZGVkIHdoZXJlIGFwcHJvcHJpYXRlCi0gICAgICAgICAgICBpZiBhbnMuX2V4cCA+IHNlbGYuX2V4cDoKLSAgICAgICAgICAgICAgICBjb250ZXh0Ll9yYWlzZV9lcnJvcihSb3VuZGVkKQotICAgICAgICAgICAgICAgIGlmIGFucyAhPSBzZWxmOgotICAgICAgICAgICAgICAgICAgICBjb250ZXh0Ll9yYWlzZV9lcnJvcihJbmV4YWN0KQotICAgICAgICAgICAgcmV0dXJuIGFucwotCi0gICAgICAgICMgZXhwLl9leHAgc2hvdWxkIGJlIGJldHdlZW4gRXRpbnkgYW5kIEVtYXgKLSAgICAgICAgaWYgbm90IChjb250ZXh0LkV0aW55KCkgPD0gZXhwLl9leHAgPD0gY29udGV4dC5FbWF4KToKLSAgICAgICAgICAgIHJldHVybiBjb250ZXh0Ll9yYWlzZV9lcnJvcihJbnZhbGlkT3BlcmF0aW9uLAotICAgICAgICAgICAgICAgICAgICd0YXJnZXQgZXhwb25lbnQgb3V0IG9mIGJvdW5kcyBpbiBxdWFudGl6ZScpCi0KLSAgICAgICAgaWYgbm90IHNlbGY6Ci0gICAgICAgICAgICBhbnMgPSBfZGVjX2Zyb21fdHJpcGxlKHNlbGYuX3NpZ24sICcwJywgZXhwLl9leHApCi0gICAgICAgICAgICByZXR1cm4gYW5zLl9maXgoY29udGV4dCkKLQotICAgICAgICBzZWxmX2FkanVzdGVkID0gc2VsZi5hZGp1c3RlZCgpCi0gICAgICAgIGlmIHNlbGZfYWRqdXN0ZWQgPiBjb250ZXh0LkVtYXg6Ci0gICAgICAgICAgICByZXR1cm4gY29udGV4dC5fcmFpc2VfZXJyb3IoSW52YWxpZE9wZXJhdGlvbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZXhwb25lbnQgb2YgcXVhbnRpemUgcmVzdWx0IHRvbyBsYXJnZSBmb3IgY3VycmVudCBjb250ZXh0JykKLSAgICAgICAgaWYgc2VsZl9hZGp1c3RlZCAtIGV4cC5fZXhwICsgMSA+IGNvbnRleHQucHJlYzoKLSAgICAgICAgICAgIHJldHVybiBjb250ZXh0Ll9yYWlzZV9lcnJvcihJbnZhbGlkT3BlcmF0aW9uLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdxdWFudGl6ZSByZXN1bHQgaGFzIHRvbyBtYW55IGRpZ2l0cyBmb3IgY3VycmVudCBjb250ZXh0JykKLQotICAgICAgICBhbnMgPSBzZWxmLl9yZXNjYWxlKGV4cC5fZXhwLCByb3VuZGluZykKLSAgICAgICAgaWYgYW5zLmFkanVzdGVkKCkgPiBjb250ZXh0LkVtYXg6Ci0gICAgICAgICAgICByZXR1cm4gY29udGV4dC5fcmFpc2VfZXJyb3IoSW52YWxpZE9wZXJhdGlvbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZXhwb25lbnQgb2YgcXVhbnRpemUgcmVzdWx0IHRvbyBsYXJnZSBmb3IgY3VycmVudCBjb250ZXh0JykKLSAgICAgICAgaWYgbGVuKGFucy5faW50KSA+IGNvbnRleHQucHJlYzoKLSAgICAgICAgICAgIHJldHVybiBjb250ZXh0Ll9yYWlzZV9lcnJvcihJbnZhbGlkT3BlcmF0aW9uLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdxdWFudGl6ZSByZXN1bHQgaGFzIHRvbyBtYW55IGRpZ2l0cyBmb3IgY3VycmVudCBjb250ZXh0JykKLQotICAgICAgICAjIHJhaXNlIGFwcHJvcHJpYXRlIGZsYWdzCi0gICAgICAgIGlmIGFucyBhbmQgYW5zLmFkanVzdGVkKCkgPCBjb250ZXh0LkVtaW46Ci0gICAgICAgICAgICBjb250ZXh0Ll9yYWlzZV9lcnJvcihTdWJub3JtYWwpCi0gICAgICAgIGlmIGFucy5fZXhwID4gc2VsZi5fZXhwOgotICAgICAgICAgICAgaWYgYW5zICE9IHNlbGY6Ci0gICAgICAgICAgICAgICAgY29udGV4dC5fcmFpc2VfZXJyb3IoSW5leGFjdCkKLSAgICAgICAgICAgIGNvbnRleHQuX3JhaXNlX2Vycm9yKFJvdW5kZWQpCi0KLSAgICAgICAgIyBjYWxsIHRvIGZpeCB0YWtlcyBjYXJlIG9mIGFueSBuZWNlc3NhcnkgZm9sZGRvd24sIGFuZAotICAgICAgICAjIHNpZ25hbHMgQ2xhbXBlZCBpZiBuZWNlc3NhcnkKLSAgICAgICAgYW5zID0gYW5zLl9maXgoY29udGV4dCkKLSAgICAgICAgcmV0dXJuIGFucwotCi0gICAgZGVmIHNhbWVfcXVhbnR1bShzZWxmLCBvdGhlciwgY29udGV4dD1Ob25lKToKLSAgICAgICAgIiIiUmV0dXJuIFRydWUgaWYgc2VsZiBhbmQgb3RoZXIgaGF2ZSB0aGUgc2FtZSBleHBvbmVudDsgb3RoZXJ3aXNlCi0gICAgICAgIHJldHVybiBGYWxzZS4KLQotICAgICAgICBJZiBlaXRoZXIgb3BlcmFuZCBpcyBhIHNwZWNpYWwgdmFsdWUsIHRoZSBmb2xsb3dpbmcgcnVsZXMgYXJlIHVzZWQ6Ci0gICAgICAgICAgICogcmV0dXJuIFRydWUgaWYgYm90aCBvcGVyYW5kcyBhcmUgaW5maW5pdGllcwotICAgICAgICAgICAqIHJldHVybiBUcnVlIGlmIGJvdGggb3BlcmFuZHMgYXJlIE5hTnMKLSAgICAgICAgICAgKiBvdGhlcndpc2UsIHJldHVybiBGYWxzZS4KLSAgICAgICAgIiIiCi0gICAgICAgIG90aGVyID0gX2NvbnZlcnRfb3RoZXIob3RoZXIsIHJhaXNlaXQ9VHJ1ZSkKLSAgICAgICAgaWYgc2VsZi5faXNfc3BlY2lhbCBvciBvdGhlci5faXNfc3BlY2lhbDoKLSAgICAgICAgICAgIHJldHVybiAoc2VsZi5pc19uYW4oKSBhbmQgb3RoZXIuaXNfbmFuKCkgb3IKLSAgICAgICAgICAgICAgICAgICAgc2VsZi5pc19pbmZpbml0ZSgpIGFuZCBvdGhlci5pc19pbmZpbml0ZSgpKQotICAgICAgICByZXR1cm4gc2VsZi5fZXhwID09IG90aGVyLl9leHAKLQotICAgIGRlZiBfcmVzY2FsZShzZWxmLCBleHAsIHJvdW5kaW5nKToKLSAgICAgICAgIiIiUmVzY2FsZSBzZWxmIHNvIHRoYXQgdGhlIGV4cG9uZW50IGlzIGV4cCwgZWl0aGVyIGJ5IHBhZGRpbmcgd2l0aCB6ZXJvcwotICAgICAgICBvciBieSB0cnVuY2F0aW5nIGRpZ2l0cywgdXNpbmcgdGhlIGdpdmVuIHJvdW5kaW5nIG1vZGUuCi0KLSAgICAgICAgU3BlY2lhbHMgYXJlIHJldHVybmVkIHdpdGhvdXQgY2hhbmdlLiAgVGhpcyBvcGVyYXRpb24gaXMKLSAgICAgICAgcXVpZXQ6IGl0IHJhaXNlcyBubyBmbGFncywgYW5kIHVzZXMgbm8gaW5mb3JtYXRpb24gZnJvbSB0aGUKLSAgICAgICAgY29udGV4dC4KLQotICAgICAgICBleHAgPSBleHAgdG8gc2NhbGUgdG8gKGFuIGludGVnZXIpCi0gICAgICAgIHJvdW5kaW5nID0gcm91bmRpbmcgbW9kZQotICAgICAgICAiIiIKLSAgICAgICAgaWYgc2VsZi5faXNfc3BlY2lhbDoKLSAgICAgICAgICAgIHJldHVybiBEZWNpbWFsKHNlbGYpCi0gICAgICAgIGlmIG5vdCBzZWxmOgotICAgICAgICAgICAgcmV0dXJuIF9kZWNfZnJvbV90cmlwbGUoc2VsZi5fc2lnbiwgJzAnLCBleHApCi0KLSAgICAgICAgaWYgc2VsZi5fZXhwID49IGV4cDoKLSAgICAgICAgICAgICMgcGFkIGFuc3dlciB3aXRoIHplcm9zIGlmIG5lY2Vzc2FyeQotICAgICAgICAgICAgcmV0dXJuIF9kZWNfZnJvbV90cmlwbGUoc2VsZi5fc2lnbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9pbnQgKyAnMCcqKHNlbGYuX2V4cCAtIGV4cCksIGV4cCkKLQotICAgICAgICAjIHRvbyBtYW55IGRpZ2l0czsgcm91bmQgYW5kIGxvc2UgZGF0YS4gIElmIHNlbGYuYWRqdXN0ZWQoKSA8Ci0gICAgICAgICMgZXhwLTEsIHJlcGxhY2Ugc2VsZiBieSAxMCoqKGV4cC0xKSBiZWZvcmUgcm91bmRpbmcKLSAgICAgICAgZGlnaXRzID0gbGVuKHNlbGYuX2ludCkgKyBzZWxmLl9leHAgLSBleHAKLSAgICAgICAgaWYgZGlnaXRzIDwgMDoKLSAgICAgICAgICAgIHNlbGYgPSBfZGVjX2Zyb21fdHJpcGxlKHNlbGYuX3NpZ24sICcxJywgZXhwLTEpCi0gICAgICAgICAgICBkaWdpdHMgPSAwCi0gICAgICAgIHRoaXNfZnVuY3Rpb24gPSBzZWxmLl9waWNrX3JvdW5kaW5nX2Z1bmN0aW9uW3JvdW5kaW5nXQotICAgICAgICBjaGFuZ2VkID0gdGhpc19mdW5jdGlvbihzZWxmLCBkaWdpdHMpCi0gICAgICAgIGNvZWZmID0gc2VsZi5faW50WzpkaWdpdHNdIG9yICcwJwotICAgICAgICBpZiBjaGFuZ2VkID09IDE6Ci0gICAgICAgICAgICBjb2VmZiA9IHN0cihpbnQoY29lZmYpKzEpCi0gICAgICAgIHJldHVybiBfZGVjX2Zyb21fdHJpcGxlKHNlbGYuX3NpZ24sIGNvZWZmLCBleHApCi0KLSAgICBkZWYgX3JvdW5kKHNlbGYsIHBsYWNlcywgcm91bmRpbmcpOgotICAgICAgICAiIiJSb3VuZCBhIG5vbnplcm8sIG5vbnNwZWNpYWwgRGVjaW1hbCB0byBhIGZpeGVkIG51bWJlciBvZgotICAgICAgICBzaWduaWZpY2FudCBmaWd1cmVzLCB1c2luZyB0aGUgZ2l2ZW4gcm91bmRpbmcgbW9kZS4KLQotICAgICAgICBJbmZpbml0aWVzLCBOYU5zIGFuZCB6ZXJvcyBhcmUgcmV0dXJuZWQgdW5hbHRlcmVkLgotCi0gICAgICAgIFRoaXMgb3BlcmF0aW9uIGlzIHF1aWV0OiBpdCByYWlzZXMgbm8gZmxhZ3MsIGFuZCB1c2VzIG5vCi0gICAgICAgIGluZm9ybWF0aW9uIGZyb20gdGhlIGNvbnRleHQuCi0KLSAgICAgICAgIiIiCi0gICAgICAgIGlmIHBsYWNlcyA8PSAwOgotICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiYXJndW1lbnQgc2hvdWxkIGJlIGF0IGxlYXN0IDEgaW4gX3JvdW5kIikKLSAgICAgICAgaWYgc2VsZi5faXNfc3BlY2lhbCBvciBub3Qgc2VsZjoKLSAgICAgICAgICAgIHJldHVybiBEZWNpbWFsKHNlbGYpCi0gICAgICAgIGFucyA9IHNlbGYuX3Jlc2NhbGUoc2VsZi5hZGp1c3RlZCgpKzEtcGxhY2VzLCByb3VuZGluZykKLSAgICAgICAgIyBpdCBjYW4gaGFwcGVuIHRoYXQgdGhlIHJlc2NhbGUgYWx0ZXJzIHRoZSBhZGp1c3RlZCBleHBvbmVudDsKLSAgICAgICAgIyBmb3IgZXhhbXBsZSB3aGVuIHJvdW5kaW5nIDk5Ljk3IHRvIDMgc2lnbmlmaWNhbnQgZmlndXJlcy4KLSAgICAgICAgIyBXaGVuIHRoaXMgaGFwcGVucyB3ZSBlbmQgdXAgd2l0aCBhbiBleHRyYSAwIGF0IHRoZSBlbmQgb2YKLSAgICAgICAgIyB0aGUgbnVtYmVyOyBhIHNlY29uZCByZXNjYWxlIGZpeGVzIHRoaXMuCi0gICAgICAgIGlmIGFucy5hZGp1c3RlZCgpICE9IHNlbGYuYWRqdXN0ZWQoKToKLSAgICAgICAgICAgIGFucyA9IGFucy5fcmVzY2FsZShhbnMuYWRqdXN0ZWQoKSsxLXBsYWNlcywgcm91bmRpbmcpCi0gICAgICAgIHJldHVybiBhbnMKLQotICAgIGRlZiB0b19pbnRlZ3JhbF9leGFjdChzZWxmLCByb3VuZGluZz1Ob25lLCBjb250ZXh0PU5vbmUpOgotICAgICAgICAiIiJSb3VuZHMgdG8gYSBuZWFyYnkgaW50ZWdlci4KLQotICAgICAgICBJZiBubyByb3VuZGluZyBtb2RlIGlzIHNwZWNpZmllZCwgdGFrZSB0aGUgcm91bmRpbmcgbW9kZSBmcm9tCi0gICAgICAgIHRoZSBjb250ZXh0LiAgVGhpcyBtZXRob2QgcmFpc2VzIHRoZSBSb3VuZGVkIGFuZCBJbmV4YWN0IGZsYWdzCi0gICAgICAgIHdoZW4gYXBwcm9wcmlhdGUuCi0KLSAgICAgICAgU2VlIGFsc286IHRvX2ludGVncmFsX3ZhbHVlLCB3aGljaCBkb2VzIGV4YWN0bHkgdGhlIHNhbWUgYXMKLSAgICAgICAgdGhpcyBtZXRob2QgZXhjZXB0IHRoYXQgaXQgZG9lc24ndCByYWlzZSBJbmV4YWN0IG9yIFJvdW5kZWQuCi0gICAgICAgICIiIgotICAgICAgICBpZiBzZWxmLl9pc19zcGVjaWFsOgotICAgICAgICAgICAgYW5zID0gc2VsZi5fY2hlY2tfbmFucyhjb250ZXh0PWNvbnRleHQpCi0gICAgICAgICAgICBpZiBhbnM6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIGFucwotICAgICAgICAgICAgcmV0dXJuIERlY2ltYWwoc2VsZikKLSAgICAgICAgaWYgc2VsZi5fZXhwID49IDA6Ci0gICAgICAgICAgICByZXR1cm4gRGVjaW1hbChzZWxmKQotICAgICAgICBpZiBub3Qgc2VsZjoKLSAgICAgICAgICAgIHJldHVybiBfZGVjX2Zyb21fdHJpcGxlKHNlbGYuX3NpZ24sICcwJywgMCkKLSAgICAgICAgaWYgY29udGV4dCBpcyBOb25lOgotICAgICAgICAgICAgY29udGV4dCA9IGdldGNvbnRleHQoKQotICAgICAgICBpZiByb3VuZGluZyBpcyBOb25lOgotICAgICAgICAgICAgcm91bmRpbmcgPSBjb250ZXh0LnJvdW5kaW5nCi0gICAgICAgIGFucyA9IHNlbGYuX3Jlc2NhbGUoMCwgcm91bmRpbmcpCi0gICAgICAgIGlmIGFucyAhPSBzZWxmOgotICAgICAgICAgICAgY29udGV4dC5fcmFpc2VfZXJyb3IoSW5leGFjdCkKLSAgICAgICAgY29udGV4dC5fcmFpc2VfZXJyb3IoUm91bmRlZCkKLSAgICAgICAgcmV0dXJuIGFucwotCi0gICAgZGVmIHRvX2ludGVncmFsX3ZhbHVlKHNlbGYsIHJvdW5kaW5nPU5vbmUsIGNvbnRleHQ9Tm9uZSk6Ci0gICAgICAgICIiIlJvdW5kcyB0byB0aGUgbmVhcmVzdCBpbnRlZ2VyLCB3aXRob3V0IHJhaXNpbmcgaW5leGFjdCwgcm91bmRlZC4iIiIKLSAgICAgICAgaWYgY29udGV4dCBpcyBOb25lOgotICAgICAgICAgICAgY29udGV4dCA9IGdldGNvbnRleHQoKQotICAgICAgICBpZiByb3VuZGluZyBpcyBOb25lOgotICAgICAgICAgICAgcm91bmRpbmcgPSBjb250ZXh0LnJvdW5kaW5nCi0gICAgICAgIGlmIHNlbGYuX2lzX3NwZWNpYWw6Ci0gICAgICAgICAgICBhbnMgPSBzZWxmLl9jaGVja19uYW5zKGNvbnRleHQ9Y29udGV4dCkKLSAgICAgICAgICAgIGlmIGFuczoKLSAgICAgICAgICAgICAgICByZXR1cm4gYW5zCi0gICAgICAgICAgICByZXR1cm4gRGVjaW1hbChzZWxmKQotICAgICAgICBpZiBzZWxmLl9leHAgPj0gMDoKLSAgICAgICAgICAgIHJldHVybiBEZWNpbWFsKHNlbGYpCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICByZXR1cm4gc2VsZi5fcmVzY2FsZSgwLCByb3VuZGluZykKLQotICAgICMgdGhlIG1ldGhvZCBuYW1lIGNoYW5nZWQsIGJ1dCB3ZSBwcm92aWRlIGFsc28gdGhlIG9sZCBvbmUsIGZvciBjb21wYXRpYmlsaXR5Ci0gICAgdG9faW50ZWdyYWwgPSB0b19pbnRlZ3JhbF92YWx1ZQotCi0gICAgZGVmIHNxcnQoc2VsZiwgY29udGV4dD1Ob25lKToKLSAgICAgICAgIiIiUmV0dXJuIHRoZSBzcXVhcmUgcm9vdCBvZiBzZWxmLiIiIgotICAgICAgICBpZiBjb250ZXh0IGlzIE5vbmU6Ci0gICAgICAgICAgICBjb250ZXh0ID0gZ2V0Y29udGV4dCgpCi0KLSAgICAgICAgaWYgc2VsZi5faXNfc3BlY2lhbDoKLSAgICAgICAgICAgIGFucyA9IHNlbGYuX2NoZWNrX25hbnMoY29udGV4dD1jb250ZXh0KQotICAgICAgICAgICAgaWYgYW5zOgotICAgICAgICAgICAgICAgIHJldHVybiBhbnMKLQotICAgICAgICAgICAgaWYgc2VsZi5faXNpbmZpbml0eSgpIGFuZCBzZWxmLl9zaWduID09IDA6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIERlY2ltYWwoc2VsZikKLQotICAgICAgICBpZiBub3Qgc2VsZjoKLSAgICAgICAgICAgICMgZXhwb25lbnQgPSBzZWxmLl9leHAgLy8gMi4gIHNxcnQoLTApID0gLTAKLSAgICAgICAgICAgIGFucyA9IF9kZWNfZnJvbV90cmlwbGUoc2VsZi5fc2lnbiwgJzAnLCBzZWxmLl9leHAgLy8gMikKLSAgICAgICAgICAgIHJldHVybiBhbnMuX2ZpeChjb250ZXh0KQotCi0gICAgICAgIGlmIHNlbGYuX3NpZ24gPT0gMToKLSAgICAgICAgICAgIHJldHVybiBjb250ZXh0Ll9yYWlzZV9lcnJvcihJbnZhbGlkT3BlcmF0aW9uLCAnc3FydCgteCksIHggPiAwJykKLQotICAgICAgICAjIEF0IHRoaXMgcG9pbnQgc2VsZiByZXByZXNlbnRzIGEgcG9zaXRpdmUgbnVtYmVyLiAgTGV0IHAgYmUKLSAgICAgICAgIyB0aGUgZGVzaXJlZCBwcmVjaXNpb24gYW5kIGV4cHJlc3Mgc2VsZiBpbiB0aGUgZm9ybSBjKjEwMCoqZQotICAgICAgICAjIHdpdGggYyBhIHBvc2l0aXZlIHJlYWwgbnVtYmVyIGFuZCBlIGFuIGludGVnZXIsIGMgYW5kIGUKLSAgICAgICAgIyBiZWluZyBjaG9zZW4gc28gdGhhdCAxMDAqKihwLTEpIDw9IGMgPCAxMDAqKnAuICBUaGVuIHRoZQotICAgICAgICAjIChleGFjdCkgc3F1YXJlIHJvb3Qgb2Ygc2VsZiBpcyBzcXJ0KGMpKjEwKiplLCBhbmQgMTAqKihwLTEpCi0gICAgICAgICMgPD0gc3FydChjKSA8IDEwKipwLCBzbyB0aGUgY2xvc2VzdCByZXByZXNlbnRhYmxlIERlY2ltYWwgYXQKLSAgICAgICAgIyBwcmVjaXNpb24gcCBpcyBuKjEwKiplIHdoZXJlIG4gPSByb3VuZF9oYWxmX2V2ZW4oc3FydChjKSksCi0gICAgICAgICMgdGhlIGNsb3Nlc3QgaW50ZWdlciB0byBzcXJ0KGMpIHdpdGggdGhlIGV2ZW4gaW50ZWdlciBjaG9zZW4KLSAgICAgICAgIyBpbiB0aGUgY2FzZSBvZiBhIHRpZS4KLSAgICAgICAgIwotICAgICAgICAjIFRvIGVuc3VyZSBjb3JyZWN0IHJvdW5kaW5nIGluIGFsbCBjYXNlcywgd2UgdXNlIHRoZQotICAgICAgICAjIGZvbGxvd2luZyB0cmljazogd2UgY29tcHV0ZSB0aGUgc3F1YXJlIHJvb3QgdG8gYW4gZXh0cmEKLSAgICAgICAgIyBwbGFjZSAocHJlY2lzaW9uIHArMSBpbnN0ZWFkIG9mIHByZWNpc2lvbiBwKSwgcm91bmRpbmcgZG93bi4KLSAgICAgICAgIyBUaGVuLCBpZiB0aGUgcmVzdWx0IGlzIGluZXhhY3QgYW5kIGl0cyBsYXN0IGRpZ2l0IGlzIDAgb3IgNSwKLSAgICAgICAgIyB3ZSBpbmNyZWFzZSB0aGUgbGFzdCBkaWdpdCB0byAxIG9yIDYgcmVzcGVjdGl2ZWx5OyBpZiBpdCdzCi0gICAgICAgICMgZXhhY3Qgd2UgbGVhdmUgdGhlIGxhc3QgZGlnaXQgYWxvbmUuICBOb3cgdGhlIGZpbmFsIHJvdW5kIHRvCi0gICAgICAgICMgcCBwbGFjZXMgKG9yIGZld2VyIGluIHRoZSBjYXNlIG9mIHVuZGVyZmxvdykgd2lsbCByb3VuZAotICAgICAgICAjIGNvcnJlY3RseSBhbmQgcmFpc2UgdGhlIGFwcHJvcHJpYXRlIGZsYWdzLgotCi0gICAgICAgICMgdXNlIGFuIGV4dHJhIGRpZ2l0IG9mIHByZWNpc2lvbgotICAgICAgICBwcmVjID0gY29udGV4dC5wcmVjKzEKLQotICAgICAgICAjIHdyaXRlIGFyZ3VtZW50IGluIHRoZSBmb3JtIGMqMTAwKiplIHdoZXJlIGUgPSBzZWxmLl9leHAvLzIKLSAgICAgICAgIyBpcyB0aGUgJ2lkZWFsJyBleHBvbmVudCwgdG8gYmUgdXNlZCBpZiB0aGUgc3F1YXJlIHJvb3QgaXMKLSAgICAgICAgIyBleGFjdGx5IHJlcHJlc2VudGFibGUuICBsIGlzIHRoZSBudW1iZXIgb2YgJ2RpZ2l0cycgb2YgYyBpbgotICAgICAgICAjIGJhc2UgMTAwLCBzbyB0aGF0IDEwMCoqKGwtMSkgPD0gYyA8IDEwMCoqbC4KLSAgICAgICAgb3AgPSBfV29ya1JlcChzZWxmKQotICAgICAgICBlID0gb3AuZXhwID4+IDEKLSAgICAgICAgaWYgb3AuZXhwICYgMToKLSAgICAgICAgICAgIGMgPSBvcC5pbnQgKiAxMAotICAgICAgICAgICAgbCA9IChsZW4oc2VsZi5faW50KSA+PiAxKSArIDEKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIGMgPSBvcC5pbnQKLSAgICAgICAgICAgIGwgPSBsZW4oc2VsZi5faW50KSsxID4+IDEKLQotICAgICAgICAjIHJlc2NhbGUgc28gdGhhdCBjIGhhcyBleGFjdGx5IHByZWMgYmFzZSAxMDAgJ2RpZ2l0cycKLSAgICAgICAgc2hpZnQgPSBwcmVjLWwKLSAgICAgICAgaWYgc2hpZnQgPj0gMDoKLSAgICAgICAgICAgIGMgKj0gMTAwKipzaGlmdAotICAgICAgICAgICAgZXhhY3QgPSBUcnVlCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBjLCByZW1haW5kZXIgPSBkaXZtb2QoYywgMTAwKiotc2hpZnQpCi0gICAgICAgICAgICBleGFjdCA9IG5vdCByZW1haW5kZXIKLSAgICAgICAgZSAtPSBzaGlmdAotCi0gICAgICAgICMgZmluZCBuID0gZmxvb3Ioc3FydChjKSkgdXNpbmcgTmV3dG9uJ3MgbWV0aG9kCi0gICAgICAgIG4gPSAxMCoqcHJlYwotICAgICAgICB3aGlsZSBUcnVlOgotICAgICAgICAgICAgcSA9IGMvL24KLSAgICAgICAgICAgIGlmIG4gPD0gcToKLSAgICAgICAgICAgICAgICBicmVhawotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBuID0gbiArIHEgPj4gMQotICAgICAgICBleGFjdCA9IGV4YWN0IGFuZCBuKm4gPT0gYwotCi0gICAgICAgIGlmIGV4YWN0OgotICAgICAgICAgICAgIyByZXN1bHQgaXMgZXhhY3Q7IHJlc2NhbGUgdG8gdXNlIGlkZWFsIGV4cG9uZW50IGUKLSAgICAgICAgICAgIGlmIHNoaWZ0ID49IDA6Ci0gICAgICAgICAgICAgICAgIyBhc3NlcnQgbiAlIDEwKipzaGlmdCA9PSAwCi0gICAgICAgICAgICAgICAgbiAvLz0gMTAqKnNoaWZ0Ci0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIG4gKj0gMTAqKi1zaGlmdAotICAgICAgICAgICAgZSArPSBzaGlmdAotICAgICAgICBlbHNlOgotICAgICAgICAgICAgIyByZXN1bHQgaXMgbm90IGV4YWN0OyBmaXggbGFzdCBkaWdpdCBhcyBkZXNjcmliZWQgYWJvdmUKLSAgICAgICAgICAgIGlmIG4gJSA1ID09IDA6Ci0gICAgICAgICAgICAgICAgbiArPSAxCi0KLSAgICAgICAgYW5zID0gX2RlY19mcm9tX3RyaXBsZSgwLCBzdHIobiksIGUpCi0KLSAgICAgICAgIyByb3VuZCwgYW5kIGZpdCB0byBjdXJyZW50IGNvbnRleHQKLSAgICAgICAgY29udGV4dCA9IGNvbnRleHQuX3NoYWxsb3dfY29weSgpCi0gICAgICAgIHJvdW5kaW5nID0gY29udGV4dC5fc2V0X3JvdW5kaW5nKFJPVU5EX0hBTEZfRVZFTikKLSAgICAgICAgYW5zID0gYW5zLl9maXgoY29udGV4dCkKLSAgICAgICAgY29udGV4dC5yb3VuZGluZyA9IHJvdW5kaW5nCi0KLSAgICAgICAgcmV0dXJuIGFucwotCi0gICAgZGVmIG1heChzZWxmLCBvdGhlciwgY29udGV4dD1Ob25lKToKLSAgICAgICAgIiIiUmV0dXJucyB0aGUgbGFyZ2VyIHZhbHVlLgotCi0gICAgICAgIExpa2UgbWF4KHNlbGYsIG90aGVyKSBleGNlcHQgaWYgb25lIGlzIG5vdCBhIG51bWJlciwgcmV0dXJucwotICAgICAgICBOYU4gKGFuZCBzaWduYWxzIGlmIG9uZSBpcyBzTmFOKS4gIEFsc28gcm91bmRzLgotICAgICAgICAiIiIKLSAgICAgICAgb3RoZXIgPSBfY29udmVydF9vdGhlcihvdGhlciwgcmFpc2VpdD1UcnVlKQotCi0gICAgICAgIGlmIGNvbnRleHQgaXMgTm9uZToKLSAgICAgICAgICAgIGNvbnRleHQgPSBnZXRjb250ZXh0KCkKLQotICAgICAgICBpZiBzZWxmLl9pc19zcGVjaWFsIG9yIG90aGVyLl9pc19zcGVjaWFsOgotICAgICAgICAgICAgIyBJZiBvbmUgb3BlcmFuZCBpcyBhIHF1aWV0IE5hTiBhbmQgdGhlIG90aGVyIGlzIG51bWJlciwgdGhlbiB0aGUKLSAgICAgICAgICAgICMgbnVtYmVyIGlzIGFsd2F5cyByZXR1cm5lZAotICAgICAgICAgICAgc24gPSBzZWxmLl9pc25hbigpCi0gICAgICAgICAgICBvbiA9IG90aGVyLl9pc25hbigpCi0gICAgICAgICAgICBpZiBzbiBvciBvbjoKLSAgICAgICAgICAgICAgICBpZiBvbiA9PSAxIGFuZCBzbiA9PSAwOgotICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2VsZi5fZml4KGNvbnRleHQpCi0gICAgICAgICAgICAgICAgaWYgc24gPT0gMSBhbmQgb24gPT0gMDoKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG90aGVyLl9maXgoY29udGV4dCkKLSAgICAgICAgICAgICAgICByZXR1cm4gc2VsZi5fY2hlY2tfbmFucyhvdGhlciwgY29udGV4dCkKLQotICAgICAgICBjID0gc2VsZi5fY21wKG90aGVyKQotICAgICAgICBpZiBjID09IDA6Ci0gICAgICAgICAgICAjIElmIGJvdGggb3BlcmFuZHMgYXJlIGZpbml0ZSBhbmQgZXF1YWwgaW4gbnVtZXJpY2FsIHZhbHVlCi0gICAgICAgICAgICAjIHRoZW4gYW4gb3JkZXJpbmcgaXMgYXBwbGllZDoKLSAgICAgICAgICAgICMKLSAgICAgICAgICAgICMgSWYgdGhlIHNpZ25zIGRpZmZlciB0aGVuIG1heCByZXR1cm5zIHRoZSBvcGVyYW5kIHdpdGggdGhlCi0gICAgICAgICAgICAjIHBvc2l0aXZlIHNpZ24gYW5kIG1pbiByZXR1cm5zIHRoZSBvcGVyYW5kIHdpdGggdGhlIG5lZ2F0aXZlIHNpZ24KLSAgICAgICAgICAgICMKLSAgICAgICAgICAgICMgSWYgdGhlIHNpZ25zIGFyZSB0aGUgc2FtZSB0aGVuIHRoZSBleHBvbmVudCBpcyB1c2VkIHRvIHNlbGVjdAotICAgICAgICAgICAgIyB0aGUgcmVzdWx0LiAgVGhpcyBpcyBleGFjdGx5IHRoZSBvcmRlcmluZyB1c2VkIGluIGNvbXBhcmVfdG90YWwuCi0gICAgICAgICAgICBjID0gc2VsZi5jb21wYXJlX3RvdGFsKG90aGVyKQotCi0gICAgICAgIGlmIGMgPT0gLTE6Ci0gICAgICAgICAgICBhbnMgPSBvdGhlcgotICAgICAgICBlbHNlOgotICAgICAgICAgICAgYW5zID0gc2VsZgotCi0gICAgICAgIHJldHVybiBhbnMuX2ZpeChjb250ZXh0KQotCi0gICAgZGVmIG1pbihzZWxmLCBvdGhlciwgY29udGV4dD1Ob25lKToKLSAgICAgICAgIiIiUmV0dXJucyB0aGUgc21hbGxlciB2YWx1ZS4KLQotICAgICAgICBMaWtlIG1pbihzZWxmLCBvdGhlcikgZXhjZXB0IGlmIG9uZSBpcyBub3QgYSBudW1iZXIsIHJldHVybnMKLSAgICAgICAgTmFOIChhbmQgc2lnbmFscyBpZiBvbmUgaXMgc05hTikuICBBbHNvIHJvdW5kcy4KLSAgICAgICAgIiIiCi0gICAgICAgIG90aGVyID0gX2NvbnZlcnRfb3RoZXIob3RoZXIsIHJhaXNlaXQ9VHJ1ZSkKLQotICAgICAgICBpZiBjb250ZXh0IGlzIE5vbmU6Ci0gICAgICAgICAgICBjb250ZXh0ID0gZ2V0Y29udGV4dCgpCi0KLSAgICAgICAgaWYgc2VsZi5faXNfc3BlY2lhbCBvciBvdGhlci5faXNfc3BlY2lhbDoKLSAgICAgICAgICAgICMgSWYgb25lIG9wZXJhbmQgaXMgYSBxdWlldCBOYU4gYW5kIHRoZSBvdGhlciBpcyBudW1iZXIsIHRoZW4gdGhlCi0gICAgICAgICAgICAjIG51bWJlciBpcyBhbHdheXMgcmV0dXJuZWQKLSAgICAgICAgICAgIHNuID0gc2VsZi5faXNuYW4oKQotICAgICAgICAgICAgb24gPSBvdGhlci5faXNuYW4oKQotICAgICAgICAgICAgaWYgc24gb3Igb246Ci0gICAgICAgICAgICAgICAgaWYgb24gPT0gMSBhbmQgc24gPT0gMDoKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYuX2ZpeChjb250ZXh0KQotICAgICAgICAgICAgICAgIGlmIHNuID09IDEgYW5kIG9uID09IDA6Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybiBvdGhlci5fZml4KGNvbnRleHQpCi0gICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYuX2NoZWNrX25hbnMob3RoZXIsIGNvbnRleHQpCi0KLSAgICAgICAgYyA9IHNlbGYuX2NtcChvdGhlcikKLSAgICAgICAgaWYgYyA9PSAwOgotICAgICAgICAgICAgYyA9IHNlbGYuY29tcGFyZV90b3RhbChvdGhlcikKLQotICAgICAgICBpZiBjID09IC0xOgotICAgICAgICAgICAgYW5zID0gc2VsZgotICAgICAgICBlbHNlOgotICAgICAgICAgICAgYW5zID0gb3RoZXIKLQotICAgICAgICByZXR1cm4gYW5zLl9maXgoY29udGV4dCkKLQotICAgIGRlZiBfaXNpbnRlZ2VyKHNlbGYpOgotICAgICAgICAiIiJSZXR1cm5zIHdoZXRoZXIgc2VsZiBpcyBhbiBpbnRlZ2VyIiIiCi0gICAgICAgIGlmIHNlbGYuX2lzX3NwZWNpYWw6Ci0gICAgICAgICAgICByZXR1cm4gRmFsc2UKLSAgICAgICAgaWYgc2VsZi5fZXhwID49IDA6Ci0gICAgICAgICAgICByZXR1cm4gVHJ1ZQotICAgICAgICByZXN0ID0gc2VsZi5faW50W3NlbGYuX2V4cDpdCi0gICAgICAgIHJldHVybiByZXN0ID09ICcwJypsZW4ocmVzdCkKLQotICAgIGRlZiBfaXNldmVuKHNlbGYpOgotICAgICAgICAiIiJSZXR1cm5zIFRydWUgaWYgc2VsZiBpcyBldmVuLiAgQXNzdW1lcyBzZWxmIGlzIGFuIGludGVnZXIuIiIiCi0gICAgICAgIGlmIG5vdCBzZWxmIG9yIHNlbGYuX2V4cCA+IDA6Ci0gICAgICAgICAgICByZXR1cm4gVHJ1ZQotICAgICAgICByZXR1cm4gc2VsZi5faW50Wy0xK3NlbGYuX2V4cF0gaW4gJzAyNDY4JwotCi0gICAgZGVmIGFkanVzdGVkKHNlbGYpOgotICAgICAgICAiIiJSZXR1cm4gdGhlIGFkanVzdGVkIGV4cG9uZW50IG9mIHNlbGYiIiIKLSAgICAgICAgdHJ5OgotICAgICAgICAgICAgcmV0dXJuIHNlbGYuX2V4cCArIGxlbihzZWxmLl9pbnQpIC0gMQotICAgICAgICAjIElmIE5hTiBvciBJbmZpbml0eSwgc2VsZi5fZXhwIGlzIHN0cmluZwotICAgICAgICBleGNlcHQgVHlwZUVycm9yOgotICAgICAgICAgICAgcmV0dXJuIDAKLQotICAgIGRlZiBjYW5vbmljYWwoc2VsZik6Ci0gICAgICAgICIiIlJldHVybnMgdGhlIHNhbWUgRGVjaW1hbCBvYmplY3QuCi0KLSAgICAgICAgQXMgd2UgZG8gbm90IGhhdmUgZGlmZmVyZW50IGVuY29kaW5ncyBmb3IgdGhlIHNhbWUgbnVtYmVyLCB0aGUKLSAgICAgICAgcmVjZWl2ZWQgb2JqZWN0IGFscmVhZHkgaXMgaW4gaXRzIGNhbm9uaWNhbCBmb3JtLgotICAgICAgICAiIiIKLSAgICAgICAgcmV0dXJuIHNlbGYKLQotICAgIGRlZiBjb21wYXJlX3NpZ25hbChzZWxmLCBvdGhlciwgY29udGV4dD1Ob25lKToKLSAgICAgICAgIiIiQ29tcGFyZXMgc2VsZiB0byB0aGUgb3RoZXIgb3BlcmFuZCBudW1lcmljYWxseS4KLQotICAgICAgICBJdCdzIHByZXR0eSBtdWNoIGxpa2UgY29tcGFyZSgpLCBidXQgYWxsIE5hTnMgc2lnbmFsLCB3aXRoIHNpZ25hbGluZwotICAgICAgICBOYU5zIHRha2luZyBwcmVjZWRlbmNlIG92ZXIgcXVpZXQgTmFOcy4KLSAgICAgICAgIiIiCi0gICAgICAgIG90aGVyID0gX2NvbnZlcnRfb3RoZXIob3RoZXIsIHJhaXNlaXQgPSBUcnVlKQotICAgICAgICBhbnMgPSBzZWxmLl9jb21wYXJlX2NoZWNrX25hbnMob3RoZXIsIGNvbnRleHQpCi0gICAgICAgIGlmIGFuczoKLSAgICAgICAgICAgIHJldHVybiBhbnMKLSAgICAgICAgcmV0dXJuIHNlbGYuY29tcGFyZShvdGhlciwgY29udGV4dD1jb250ZXh0KQotCi0gICAgZGVmIGNvbXBhcmVfdG90YWwoc2VsZiwgb3RoZXIsIGNvbnRleHQ9Tm9uZSk6Ci0gICAgICAgICIiIkNvbXBhcmVzIHNlbGYgdG8gb3RoZXIgdXNpbmcgdGhlIGFic3RyYWN0IHJlcHJlc2VudGF0aW9ucy4KLQotICAgICAgICBUaGlzIGlzIG5vdCBsaWtlIHRoZSBzdGFuZGFyZCBjb21wYXJlLCB3aGljaCB1c2UgdGhlaXIgbnVtZXJpY2FsCi0gICAgICAgIHZhbHVlLiBOb3RlIHRoYXQgYSB0b3RhbCBvcmRlcmluZyBpcyBkZWZpbmVkIGZvciBhbGwgcG9zc2libGUgYWJzdHJhY3QKLSAgICAgICAgcmVwcmVzZW50YXRpb25zLgotICAgICAgICAiIiIKLSAgICAgICAgb3RoZXIgPSBfY29udmVydF9vdGhlcihvdGhlciwgcmFpc2VpdD1UcnVlKQotCi0gICAgICAgICMgaWYgb25lIGlzIG5lZ2F0aXZlIGFuZCB0aGUgb3RoZXIgaXMgcG9zaXRpdmUsIGl0J3MgZWFzeQotICAgICAgICBpZiBzZWxmLl9zaWduIGFuZCBub3Qgb3RoZXIuX3NpZ246Ci0gICAgICAgICAgICByZXR1cm4gX05lZ2F0aXZlT25lCi0gICAgICAgIGlmIG5vdCBzZWxmLl9zaWduIGFuZCBvdGhlci5fc2lnbjoKLSAgICAgICAgICAgIHJldHVybiBfT25lCi0gICAgICAgIHNpZ24gPSBzZWxmLl9zaWduCi0KLSAgICAgICAgIyBsZXQncyBoYW5kbGUgYm90aCBOYU4gdHlwZXMKLSAgICAgICAgc2VsZl9uYW4gPSBzZWxmLl9pc25hbigpCi0gICAgICAgIG90aGVyX25hbiA9IG90aGVyLl9pc25hbigpCi0gICAgICAgIGlmIHNlbGZfbmFuIG9yIG90aGVyX25hbjoKLSAgICAgICAgICAgIGlmIHNlbGZfbmFuID09IG90aGVyX25hbjoKLSAgICAgICAgICAgICAgICAjIGNvbXBhcmUgcGF5bG9hZHMgYXMgdGhvdWdoIHRoZXkncmUgaW50ZWdlcnMKLSAgICAgICAgICAgICAgICBzZWxmX2tleSA9IGxlbihzZWxmLl9pbnQpLCBzZWxmLl9pbnQKLSAgICAgICAgICAgICAgICBvdGhlcl9rZXkgPSBsZW4ob3RoZXIuX2ludCksIG90aGVyLl9pbnQKLSAgICAgICAgICAgICAgICBpZiBzZWxmX2tleSA8IG90aGVyX2tleToKLSAgICAgICAgICAgICAgICAgICAgaWYgc2lnbjoKLSAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBfT25lCi0gICAgICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gX05lZ2F0aXZlT25lCi0gICAgICAgICAgICAgICAgaWYgc2VsZl9rZXkgPiBvdGhlcl9rZXk6Ci0gICAgICAgICAgICAgICAgICAgIGlmIHNpZ246Ci0gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gX05lZ2F0aXZlT25lCi0gICAgICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gX09uZQotICAgICAgICAgICAgICAgIHJldHVybiBfWmVybwotCi0gICAgICAgICAgICBpZiBzaWduOgotICAgICAgICAgICAgICAgIGlmIHNlbGZfbmFuID09IDE6Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybiBfTmVnYXRpdmVPbmUKLSAgICAgICAgICAgICAgICBpZiBvdGhlcl9uYW4gPT0gMToKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIF9PbmUKLSAgICAgICAgICAgICAgICBpZiBzZWxmX25hbiA9PSAyOgotICAgICAgICAgICAgICAgICAgICByZXR1cm4gX05lZ2F0aXZlT25lCi0gICAgICAgICAgICAgICAgaWYgb3RoZXJfbmFuID09IDI6Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybiBfT25lCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIGlmIHNlbGZfbmFuID09IDE6Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybiBfT25lCi0gICAgICAgICAgICAgICAgaWYgb3RoZXJfbmFuID09IDE6Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybiBfTmVnYXRpdmVPbmUKLSAgICAgICAgICAgICAgICBpZiBzZWxmX25hbiA9PSAyOgotICAgICAgICAgICAgICAgICAgICByZXR1cm4gX09uZQotICAgICAgICAgICAgICAgIGlmIG90aGVyX25hbiA9PSAyOgotICAgICAgICAgICAgICAgICAgICByZXR1cm4gX05lZ2F0aXZlT25lCi0KLSAgICAgICAgaWYgc2VsZiA8IG90aGVyOgotICAgICAgICAgICAgcmV0dXJuIF9OZWdhdGl2ZU9uZQotICAgICAgICBpZiBzZWxmID4gb3RoZXI6Ci0gICAgICAgICAgICByZXR1cm4gX09uZQotCi0gICAgICAgIGlmIHNlbGYuX2V4cCA8IG90aGVyLl9leHA6Ci0gICAgICAgICAgICBpZiBzaWduOgotICAgICAgICAgICAgICAgIHJldHVybiBfT25lCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIHJldHVybiBfTmVnYXRpdmVPbmUKLSAgICAgICAgaWYgc2VsZi5fZXhwID4gb3RoZXIuX2V4cDoKLSAgICAgICAgICAgIGlmIHNpZ246Ci0gICAgICAgICAgICAgICAgcmV0dXJuIF9OZWdhdGl2ZU9uZQotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICByZXR1cm4gX09uZQotICAgICAgICByZXR1cm4gX1plcm8KLQotCi0gICAgZGVmIGNvbXBhcmVfdG90YWxfbWFnKHNlbGYsIG90aGVyLCBjb250ZXh0PU5vbmUpOgotICAgICAgICAiIiJDb21wYXJlcyBzZWxmIHRvIG90aGVyIHVzaW5nIGFic3RyYWN0IHJlcHIuLCBpZ25vcmluZyBzaWduLgotCi0gICAgICAgIExpa2UgY29tcGFyZV90b3RhbCwgYnV0IHdpdGggb3BlcmFuZCdzIHNpZ24gaWdub3JlZCBhbmQgYXNzdW1lZCB0byBiZSAwLgotICAgICAgICAiIiIKLSAgICAgICAgb3RoZXIgPSBfY29udmVydF9vdGhlcihvdGhlciwgcmFpc2VpdD1UcnVlKQotCi0gICAgICAgIHMgPSBzZWxmLmNvcHlfYWJzKCkKLSAgICAgICAgbyA9IG90aGVyLmNvcHlfYWJzKCkKLSAgICAgICAgcmV0dXJuIHMuY29tcGFyZV90b3RhbChvKQotCi0gICAgZGVmIGNvcHlfYWJzKHNlbGYpOgotICAgICAgICAiIiJSZXR1cm5zIGEgY29weSB3aXRoIHRoZSBzaWduIHNldCB0byAwLiAiIiIKLSAgICAgICAgcmV0dXJuIF9kZWNfZnJvbV90cmlwbGUoMCwgc2VsZi5faW50LCBzZWxmLl9leHAsIHNlbGYuX2lzX3NwZWNpYWwpCi0KLSAgICBkZWYgY29weV9uZWdhdGUoc2VsZik6Ci0gICAgICAgICIiIlJldHVybnMgYSBjb3B5IHdpdGggdGhlIHNpZ24gaW52ZXJ0ZWQuIiIiCi0gICAgICAgIGlmIHNlbGYuX3NpZ246Ci0gICAgICAgICAgICByZXR1cm4gX2RlY19mcm9tX3RyaXBsZSgwLCBzZWxmLl9pbnQsIHNlbGYuX2V4cCwgc2VsZi5faXNfc3BlY2lhbCkKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHJldHVybiBfZGVjX2Zyb21fdHJpcGxlKDEsIHNlbGYuX2ludCwgc2VsZi5fZXhwLCBzZWxmLl9pc19zcGVjaWFsKQotCi0gICAgZGVmIGNvcHlfc2lnbihzZWxmLCBvdGhlciwgY29udGV4dD1Ob25lKToKLSAgICAgICAgIiIiUmV0dXJucyBzZWxmIHdpdGggdGhlIHNpZ24gb2Ygb3RoZXIuIiIiCi0gICAgICAgIG90aGVyID0gX2NvbnZlcnRfb3RoZXIob3RoZXIsIHJhaXNlaXQ9VHJ1ZSkKLSAgICAgICAgcmV0dXJuIF9kZWNfZnJvbV90cmlwbGUob3RoZXIuX3NpZ24sIHNlbGYuX2ludCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fZXhwLCBzZWxmLl9pc19zcGVjaWFsKQotCi0gICAgZGVmIGV4cChzZWxmLCBjb250ZXh0PU5vbmUpOgotICAgICAgICAiIiJSZXR1cm5zIGUgKiogc2VsZi4iIiIKLQotICAgICAgICBpZiBjb250ZXh0IGlzIE5vbmU6Ci0gICAgICAgICAgICBjb250ZXh0ID0gZ2V0Y29udGV4dCgpCi0KLSAgICAgICAgIyBleHAoTmFOKSA9IE5hTgotICAgICAgICBhbnMgPSBzZWxmLl9jaGVja19uYW5zKGNvbnRleHQ9Y29udGV4dCkKLSAgICAgICAgaWYgYW5zOgotICAgICAgICAgICAgcmV0dXJuIGFucwotCi0gICAgICAgICMgZXhwKC1JbmZpbml0eSkgPSAwCi0gICAgICAgIGlmIHNlbGYuX2lzaW5maW5pdHkoKSA9PSAtMToKLSAgICAgICAgICAgIHJldHVybiBfWmVybwotCi0gICAgICAgICMgZXhwKDApID0gMQotICAgICAgICBpZiBub3Qgc2VsZjoKLSAgICAgICAgICAgIHJldHVybiBfT25lCi0KLSAgICAgICAgIyBleHAoSW5maW5pdHkpID0gSW5maW5pdHkKLSAgICAgICAgaWYgc2VsZi5faXNpbmZpbml0eSgpID09IDE6Ci0gICAgICAgICAgICByZXR1cm4gRGVjaW1hbChzZWxmKQotCi0gICAgICAgICMgdGhlIHJlc3VsdCBpcyBub3cgZ3VhcmFudGVlZCB0byBiZSBpbmV4YWN0ICh0aGUgdHJ1ZQotICAgICAgICAjIG1hdGhlbWF0aWNhbCByZXN1bHQgaXMgdHJhbnNjZW5kZW50YWwpLiBUaGVyZSdzIG5vIG5lZWQgdG8KLSAgICAgICAgIyByYWlzZSBSb3VuZGVkIGFuZCBJbmV4YWN0IGhlcmUtLS10aGV5J2xsIGFsd2F5cyBiZSByYWlzZWQgYXMKLSAgICAgICAgIyBhIHJlc3VsdCBvZiB0aGUgY2FsbCB0byBfZml4LgotICAgICAgICBwID0gY29udGV4dC5wcmVjCi0gICAgICAgIGFkaiA9IHNlbGYuYWRqdXN0ZWQoKQotCi0gICAgICAgICMgd2Ugb25seSBuZWVkIHRvIGRvIGFueSBjb21wdXRhdGlvbiBmb3IgcXVpdGUgYSBzbWFsbCByYW5nZQotICAgICAgICAjIG9mIGFkanVzdGVkIGV4cG9uZW50cy0tLWZvciBleGFtcGxlLCAtMjkgPD0gYWRqIDw9IDEwIGZvcgotICAgICAgICAjIHRoZSBkZWZhdWx0IGNvbnRleHQuICBGb3Igc21hbGxlciBleHBvbmVudCB0aGUgcmVzdWx0IGlzCi0gICAgICAgICMgaW5kaXN0aW5ndWlzaGFibGUgZnJvbSAxIGF0IHRoZSBnaXZlbiBwcmVjaXNpb24sIHdoaWxlIGZvcgotICAgICAgICAjIGxhcmdlciBleHBvbmVudCB0aGUgcmVzdWx0IGVpdGhlciBvdmVyZmxvd3Mgb3IgdW5kZXJmbG93cy4KLSAgICAgICAgaWYgc2VsZi5fc2lnbiA9PSAwIGFuZCBhZGogPiBsZW4oc3RyKChjb250ZXh0LkVtYXgrMSkqMykpOgotICAgICAgICAgICAgIyBvdmVyZmxvdwotICAgICAgICAgICAgYW5zID0gX2RlY19mcm9tX3RyaXBsZSgwLCAnMScsIGNvbnRleHQuRW1heCsxKQotICAgICAgICBlbGlmIHNlbGYuX3NpZ24gPT0gMSBhbmQgYWRqID4gbGVuKHN0cigoLWNvbnRleHQuRXRpbnkoKSsxKSozKSk6Ci0gICAgICAgICAgICAjIHVuZGVyZmxvdyB0byAwCi0gICAgICAgICAgICBhbnMgPSBfZGVjX2Zyb21fdHJpcGxlKDAsICcxJywgY29udGV4dC5FdGlueSgpLTEpCi0gICAgICAgIGVsaWYgc2VsZi5fc2lnbiA9PSAwIGFuZCBhZGogPCAtcDoKLSAgICAgICAgICAgICMgcCsxIGRpZ2l0czsgZmluYWwgcm91bmQgd2lsbCByYWlzZSBjb3JyZWN0IGZsYWdzCi0gICAgICAgICAgICBhbnMgPSBfZGVjX2Zyb21fdHJpcGxlKDAsICcxJyArICcwJyoocC0xKSArICcxJywgLXApCi0gICAgICAgIGVsaWYgc2VsZi5fc2lnbiA9PSAxIGFuZCBhZGogPCAtcC0xOgotICAgICAgICAgICAgIyBwKzEgZGlnaXRzOyBmaW5hbCByb3VuZCB3aWxsIHJhaXNlIGNvcnJlY3QgZmxhZ3MKLSAgICAgICAgICAgIGFucyA9IF9kZWNfZnJvbV90cmlwbGUoMCwgJzknKihwKzEpLCAtcC0xKQotICAgICAgICAjIGdlbmVyYWwgY2FzZQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgb3AgPSBfV29ya1JlcChzZWxmKQotICAgICAgICAgICAgYywgZSA9IG9wLmludCwgb3AuZXhwCi0gICAgICAgICAgICBpZiBvcC5zaWduID09IDE6Ci0gICAgICAgICAgICAgICAgYyA9IC1jCi0KLSAgICAgICAgICAgICMgY29tcHV0ZSBjb3JyZWN0bHkgcm91bmRlZCByZXN1bHQ6IGluY3JlYXNlIHByZWNpc2lvbiBieQotICAgICAgICAgICAgIyAzIGRpZ2l0cyBhdCBhIHRpbWUgdW50aWwgd2UgZ2V0IGFuIHVuYW1iaWd1b3VzbHkKLSAgICAgICAgICAgICMgcm91bmRhYmxlIHJlc3VsdAotICAgICAgICAgICAgZXh0cmEgPSAzCi0gICAgICAgICAgICB3aGlsZSBUcnVlOgotICAgICAgICAgICAgICAgIGNvZWZmLCBleHAgPSBfZGV4cChjLCBlLCBwK2V4dHJhKQotICAgICAgICAgICAgICAgIGlmIGNvZWZmICUgKDUqMTAqKihsZW4oc3RyKGNvZWZmKSktcC0xKSk6Ci0gICAgICAgICAgICAgICAgICAgIGJyZWFrCi0gICAgICAgICAgICAgICAgZXh0cmEgKz0gMwotCi0gICAgICAgICAgICBhbnMgPSBfZGVjX2Zyb21fdHJpcGxlKDAsIHN0cihjb2VmZiksIGV4cCkKLQotICAgICAgICAjIGF0IHRoaXMgc3RhZ2UsIGFucyBzaG91bGQgcm91bmQgY29ycmVjdGx5IHdpdGggKmFueSoKLSAgICAgICAgIyByb3VuZGluZyBtb2RlLCBub3QganVzdCB3aXRoIFJPVU5EX0hBTEZfRVZFTgotICAgICAgICBjb250ZXh0ID0gY29udGV4dC5fc2hhbGxvd19jb3B5KCkKLSAgICAgICAgcm91bmRpbmcgPSBjb250ZXh0Ll9zZXRfcm91bmRpbmcoUk9VTkRfSEFMRl9FVkVOKQotICAgICAgICBhbnMgPSBhbnMuX2ZpeChjb250ZXh0KQotICAgICAgICBjb250ZXh0LnJvdW5kaW5nID0gcm91bmRpbmcKLQotICAgICAgICByZXR1cm4gYW5zCi0KLSAgICBkZWYgaXNfY2Fub25pY2FsKHNlbGYpOgotICAgICAgICAiIiJSZXR1cm4gVHJ1ZSBpZiBzZWxmIGlzIGNhbm9uaWNhbDsgb3RoZXJ3aXNlIHJldHVybiBGYWxzZS4KLQotICAgICAgICBDdXJyZW50bHksIHRoZSBlbmNvZGluZyBvZiBhIERlY2ltYWwgaW5zdGFuY2UgaXMgYWx3YXlzCi0gICAgICAgIGNhbm9uaWNhbCwgc28gdGhpcyBtZXRob2QgcmV0dXJucyBUcnVlIGZvciBhbnkgRGVjaW1hbC4KLSAgICAgICAgIiIiCi0gICAgICAgIHJldHVybiBUcnVlCi0KLSAgICBkZWYgaXNfZmluaXRlKHNlbGYpOgotICAgICAgICAiIiJSZXR1cm4gVHJ1ZSBpZiBzZWxmIGlzIGZpbml0ZTsgb3RoZXJ3aXNlIHJldHVybiBGYWxzZS4KLQotICAgICAgICBBIERlY2ltYWwgaW5zdGFuY2UgaXMgY29uc2lkZXJlZCBmaW5pdGUgaWYgaXQgaXMgbmVpdGhlcgotICAgICAgICBpbmZpbml0ZSBub3IgYSBOYU4uCi0gICAgICAgICIiIgotICAgICAgICByZXR1cm4gbm90IHNlbGYuX2lzX3NwZWNpYWwKLQotICAgIGRlZiBpc19pbmZpbml0ZShzZWxmKToKLSAgICAgICAgIiIiUmV0dXJuIFRydWUgaWYgc2VsZiBpcyBpbmZpbml0ZTsgb3RoZXJ3aXNlIHJldHVybiBGYWxzZS4iIiIKLSAgICAgICAgcmV0dXJuIHNlbGYuX2V4cCA9PSAnRicKLQotICAgIGRlZiBpc19uYW4oc2VsZik6Ci0gICAgICAgICIiIlJldHVybiBUcnVlIGlmIHNlbGYgaXMgYSBxTmFOIG9yIHNOYU47IG90aGVyd2lzZSByZXR1cm4gRmFsc2UuIiIiCi0gICAgICAgIHJldHVybiBzZWxmLl9leHAgaW4gKCduJywgJ04nKQotCi0gICAgZGVmIGlzX25vcm1hbChzZWxmLCBjb250ZXh0PU5vbmUpOgotICAgICAgICAiIiJSZXR1cm4gVHJ1ZSBpZiBzZWxmIGlzIGEgbm9ybWFsIG51bWJlcjsgb3RoZXJ3aXNlIHJldHVybiBGYWxzZS4iIiIKLSAgICAgICAgaWYgc2VsZi5faXNfc3BlY2lhbCBvciBub3Qgc2VsZjoKLSAgICAgICAgICAgIHJldHVybiBGYWxzZQotICAgICAgICBpZiBjb250ZXh0IGlzIE5vbmU6Ci0gICAgICAgICAgICBjb250ZXh0ID0gZ2V0Y29udGV4dCgpCi0gICAgICAgIHJldHVybiBjb250ZXh0LkVtaW4gPD0gc2VsZi5hZGp1c3RlZCgpCi0KLSAgICBkZWYgaXNfcW5hbihzZWxmKToKLSAgICAgICAgIiIiUmV0dXJuIFRydWUgaWYgc2VsZiBpcyBhIHF1aWV0IE5hTjsgb3RoZXJ3aXNlIHJldHVybiBGYWxzZS4iIiIKLSAgICAgICAgcmV0dXJuIHNlbGYuX2V4cCA9PSAnbicKLQotICAgIGRlZiBpc19zaWduZWQoc2VsZik6Ci0gICAgICAgICIiIlJldHVybiBUcnVlIGlmIHNlbGYgaXMgbmVnYXRpdmU7IG90aGVyd2lzZSByZXR1cm4gRmFsc2UuIiIiCi0gICAgICAgIHJldHVybiBzZWxmLl9zaWduID09IDEKLQotICAgIGRlZiBpc19zbmFuKHNlbGYpOgotICAgICAgICAiIiJSZXR1cm4gVHJ1ZSBpZiBzZWxmIGlzIGEgc2lnbmFsaW5nIE5hTjsgb3RoZXJ3aXNlIHJldHVybiBGYWxzZS4iIiIKLSAgICAgICAgcmV0dXJuIHNlbGYuX2V4cCA9PSAnTicKLQotICAgIGRlZiBpc19zdWJub3JtYWwoc2VsZiwgY29udGV4dD1Ob25lKToKLSAgICAgICAgIiIiUmV0dXJuIFRydWUgaWYgc2VsZiBpcyBzdWJub3JtYWw7IG90aGVyd2lzZSByZXR1cm4gRmFsc2UuIiIiCi0gICAgICAgIGlmIHNlbGYuX2lzX3NwZWNpYWwgb3Igbm90IHNlbGY6Ci0gICAgICAgICAgICByZXR1cm4gRmFsc2UKLSAgICAgICAgaWYgY29udGV4dCBpcyBOb25lOgotICAgICAgICAgICAgY29udGV4dCA9IGdldGNvbnRleHQoKQotICAgICAgICByZXR1cm4gc2VsZi5hZGp1c3RlZCgpIDwgY29udGV4dC5FbWluCi0KLSAgICBkZWYgaXNfemVybyhzZWxmKToKLSAgICAgICAgIiIiUmV0dXJuIFRydWUgaWYgc2VsZiBpcyBhIHplcm87IG90aGVyd2lzZSByZXR1cm4gRmFsc2UuIiIiCi0gICAgICAgIHJldHVybiBub3Qgc2VsZi5faXNfc3BlY2lhbCBhbmQgc2VsZi5faW50ID09ICcwJwotCi0gICAgZGVmIF9sbl9leHBfYm91bmQoc2VsZik6Ci0gICAgICAgICIiIkNvbXB1dGUgYSBsb3dlciBib3VuZCBmb3IgdGhlIGFkanVzdGVkIGV4cG9uZW50IG9mIHNlbGYubG4oKS4KLSAgICAgICAgSW4gb3RoZXIgd29yZHMsIGNvbXB1dGUgciBzdWNoIHRoYXQgc2VsZi5sbigpID49IDEwKipyLiAgQXNzdW1lcwotICAgICAgICB0aGF0IHNlbGYgaXMgZmluaXRlIGFuZCBwb3NpdGl2ZSBhbmQgdGhhdCBzZWxmICE9IDEuCi0gICAgICAgICIiIgotCi0gICAgICAgICMgZm9yIDAuMSA8PSB4IDw9IDEwIHdlIHVzZSB0aGUgaW5lcXVhbGl0aWVzIDEtMS94IDw9IGxuKHgpIDw9IHgtMQotICAgICAgICBhZGogPSBzZWxmLl9leHAgKyBsZW4oc2VsZi5faW50KSAtIDEKLSAgICAgICAgaWYgYWRqID49IDE6Ci0gICAgICAgICAgICAjIGFyZ3VtZW50ID49IDEwOyB3ZSB1c2UgMjMvMTAgPSAyLjMgYXMgYSBsb3dlciBib3VuZCBmb3IgbG4oMTApCi0gICAgICAgICAgICByZXR1cm4gbGVuKHN0cihhZGoqMjMvLzEwKSkgLSAxCi0gICAgICAgIGlmIGFkaiA8PSAtMjoKLSAgICAgICAgICAgICMgYXJndW1lbnQgPD0gMC4xCi0gICAgICAgICAgICByZXR1cm4gbGVuKHN0cigoLTEtYWRqKSoyMy8vMTApKSAtIDEKLSAgICAgICAgb3AgPSBfV29ya1JlcChzZWxmKQotICAgICAgICBjLCBlID0gb3AuaW50LCBvcC5leHAKLSAgICAgICAgaWYgYWRqID09IDA6Ci0gICAgICAgICAgICAjIDEgPCBzZWxmIDwgMTAKLSAgICAgICAgICAgIG51bSA9IHN0cihjLTEwKiotZSkKLSAgICAgICAgICAgIGRlbiA9IHN0cihjKQotICAgICAgICAgICAgcmV0dXJuIGxlbihudW0pIC0gbGVuKGRlbikgLSAobnVtIDwgZGVuKQotICAgICAgICAjIGFkaiA9PSAtMSwgMC4xIDw9IHNlbGYgPCAxCi0gICAgICAgIHJldHVybiBlICsgbGVuKHN0cigxMCoqLWUgLSBjKSkgLSAxCi0KLQotICAgIGRlZiBsbihzZWxmLCBjb250ZXh0PU5vbmUpOgotICAgICAgICAiIiJSZXR1cm5zIHRoZSBuYXR1cmFsIChiYXNlIGUpIGxvZ2FyaXRobSBvZiBzZWxmLiIiIgotCi0gICAgICAgIGlmIGNvbnRleHQgaXMgTm9uZToKLSAgICAgICAgICAgIGNvbnRleHQgPSBnZXRjb250ZXh0KCkKLQotICAgICAgICAjIGxuKE5hTikgPSBOYU4KLSAgICAgICAgYW5zID0gc2VsZi5fY2hlY2tfbmFucyhjb250ZXh0PWNvbnRleHQpCi0gICAgICAgIGlmIGFuczoKLSAgICAgICAgICAgIHJldHVybiBhbnMKLQotICAgICAgICAjIGxuKDAuMCkgPT0gLUluZmluaXR5Ci0gICAgICAgIGlmIG5vdCBzZWxmOgotICAgICAgICAgICAgcmV0dXJuIF9OZWdhdGl2ZUluZmluaXR5Ci0KLSAgICAgICAgIyBsbihJbmZpbml0eSkgPSBJbmZpbml0eQotICAgICAgICBpZiBzZWxmLl9pc2luZmluaXR5KCkgPT0gMToKLSAgICAgICAgICAgIHJldHVybiBfSW5maW5pdHkKLQotICAgICAgICAjIGxuKDEuMCkgPT0gMC4wCi0gICAgICAgIGlmIHNlbGYgPT0gX09uZToKLSAgICAgICAgICAgIHJldHVybiBfWmVybwotCi0gICAgICAgICMgbG4obmVnYXRpdmUpIHJhaXNlcyBJbnZhbGlkT3BlcmF0aW9uCi0gICAgICAgIGlmIHNlbGYuX3NpZ24gPT0gMToKLSAgICAgICAgICAgIHJldHVybiBjb250ZXh0Ll9yYWlzZV9lcnJvcihJbnZhbGlkT3BlcmF0aW9uLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdsbiBvZiBhIG5lZ2F0aXZlIHZhbHVlJykKLQotICAgICAgICAjIHJlc3VsdCBpcyBpcnJhdGlvbmFsLCBzbyBuZWNlc3NhcmlseSBpbmV4YWN0Ci0gICAgICAgIG9wID0gX1dvcmtSZXAoc2VsZikKLSAgICAgICAgYywgZSA9IG9wLmludCwgb3AuZXhwCi0gICAgICAgIHAgPSBjb250ZXh0LnByZWMKLQotICAgICAgICAjIGNvcnJlY3RseSByb3VuZGVkIHJlc3VsdDogcmVwZWF0ZWRseSBpbmNyZWFzZSBwcmVjaXNpb24gYnkgMwotICAgICAgICAjIHVudGlsIHdlIGdldCBhbiB1bmFtYmlndW91c2x5IHJvdW5kYWJsZSByZXN1bHQKLSAgICAgICAgcGxhY2VzID0gcCAtIHNlbGYuX2xuX2V4cF9ib3VuZCgpICsgMiAjIGF0IGxlYXN0IHArMyBwbGFjZXMKLSAgICAgICAgd2hpbGUgVHJ1ZToKLSAgICAgICAgICAgIGNvZWZmID0gX2Rsb2coYywgZSwgcGxhY2VzKQotICAgICAgICAgICAgIyBhc3NlcnQgbGVuKHN0cihhYnMoY29lZmYpKSktcCA+PSAxCi0gICAgICAgICAgICBpZiBjb2VmZiAlICg1KjEwKioobGVuKHN0cihhYnMoY29lZmYpKSktcC0xKSk6Ci0gICAgICAgICAgICAgICAgYnJlYWsKLSAgICAgICAgICAgIHBsYWNlcyArPSAzCi0gICAgICAgIGFucyA9IF9kZWNfZnJvbV90cmlwbGUoaW50KGNvZWZmPDApLCBzdHIoYWJzKGNvZWZmKSksIC1wbGFjZXMpCi0KLSAgICAgICAgY29udGV4dCA9IGNvbnRleHQuX3NoYWxsb3dfY29weSgpCi0gICAgICAgIHJvdW5kaW5nID0gY29udGV4dC5fc2V0X3JvdW5kaW5nKFJPVU5EX0hBTEZfRVZFTikKLSAgICAgICAgYW5zID0gYW5zLl9maXgoY29udGV4dCkKLSAgICAgICAgY29udGV4dC5yb3VuZGluZyA9IHJvdW5kaW5nCi0gICAgICAgIHJldHVybiBhbnMKLQotICAgIGRlZiBfbG9nMTBfZXhwX2JvdW5kKHNlbGYpOgotICAgICAgICAiIiJDb21wdXRlIGEgbG93ZXIgYm91bmQgZm9yIHRoZSBhZGp1c3RlZCBleHBvbmVudCBvZiBzZWxmLmxvZzEwKCkuCi0gICAgICAgIEluIG90aGVyIHdvcmRzLCBmaW5kIHIgc3VjaCB0aGF0IHNlbGYubG9nMTAoKSA+PSAxMCoqci4KLSAgICAgICAgQXNzdW1lcyB0aGF0IHNlbGYgaXMgZmluaXRlIGFuZCBwb3NpdGl2ZSBhbmQgdGhhdCBzZWxmICE9IDEuCi0gICAgICAgICIiIgotCi0gICAgICAgICMgRm9yIHggPj0gMTAgb3IgeCA8IDAuMSB3ZSBvbmx5IG5lZWQgYSBib3VuZCBvbiB0aGUgaW50ZWdlcgotICAgICAgICAjIHBhcnQgb2YgbG9nMTAoc2VsZiksIGFuZCB0aGlzIGNvbWVzIGRpcmVjdGx5IGZyb20gdGhlCi0gICAgICAgICMgZXhwb25lbnQgb2YgeC4gIEZvciAwLjEgPD0geCA8PSAxMCB3ZSB1c2UgdGhlIGluZXF1YWxpdGllcwotICAgICAgICAjIDEtMS94IDw9IGxvZyh4KSA8PSB4LTEuIElmIHggPiAxIHdlIGhhdmUgfGxvZzEwKHgpfCA+Ci0gICAgICAgICMgKDEtMS94KS8yLjMxID4gMC4gIElmIHggPCAxIHRoZW4gfGxvZzEwKHgpfCA+ICgxLXgpLzIuMzEgPiAwCi0KLSAgICAgICAgYWRqID0gc2VsZi5fZXhwICsgbGVuKHNlbGYuX2ludCkgLSAxCi0gICAgICAgIGlmIGFkaiA+PSAxOgotICAgICAgICAgICAgIyBzZWxmID49IDEwCi0gICAgICAgICAgICByZXR1cm4gbGVuKHN0cihhZGopKS0xCi0gICAgICAgIGlmIGFkaiA8PSAtMjoKLSAgICAgICAgICAgICMgc2VsZiA8IDAuMQotICAgICAgICAgICAgcmV0dXJuIGxlbihzdHIoLTEtYWRqKSktMQotICAgICAgICBvcCA9IF9Xb3JrUmVwKHNlbGYpCi0gICAgICAgIGMsIGUgPSBvcC5pbnQsIG9wLmV4cAotICAgICAgICBpZiBhZGogPT0gMDoKLSAgICAgICAgICAgICMgMSA8IHNlbGYgPCAxMAotICAgICAgICAgICAgbnVtID0gc3RyKGMtMTAqKi1lKQotICAgICAgICAgICAgZGVuID0gc3RyKDIzMSpjKQotICAgICAgICAgICAgcmV0dXJuIGxlbihudW0pIC0gbGVuKGRlbikgLSAobnVtIDwgZGVuKSArIDIKLSAgICAgICAgIyBhZGogPT0gLTEsIDAuMSA8PSBzZWxmIDwgMQotICAgICAgICBudW0gPSBzdHIoMTAqKi1lLWMpCi0gICAgICAgIHJldHVybiBsZW4obnVtKSArIGUgLSAobnVtIDwgIjIzMSIpIC0gMQotCi0gICAgZGVmIGxvZzEwKHNlbGYsIGNvbnRleHQ9Tm9uZSk6Ci0gICAgICAgICIiIlJldHVybnMgdGhlIGJhc2UgMTAgbG9nYXJpdGhtIG9mIHNlbGYuIiIiCi0KLSAgICAgICAgaWYgY29udGV4dCBpcyBOb25lOgotICAgICAgICAgICAgY29udGV4dCA9IGdldGNvbnRleHQoKQotCi0gICAgICAgICMgbG9nMTAoTmFOKSA9IE5hTgotICAgICAgICBhbnMgPSBzZWxmLl9jaGVja19uYW5zKGNvbnRleHQ9Y29udGV4dCkKLSAgICAgICAgaWYgYW5zOgotICAgICAgICAgICAgcmV0dXJuIGFucwotCi0gICAgICAgICMgbG9nMTAoMC4wKSA9PSAtSW5maW5pdHkKLSAgICAgICAgaWYgbm90IHNlbGY6Ci0gICAgICAgICAgICByZXR1cm4gX05lZ2F0aXZlSW5maW5pdHkKLQotICAgICAgICAjIGxvZzEwKEluZmluaXR5KSA9IEluZmluaXR5Ci0gICAgICAgIGlmIHNlbGYuX2lzaW5maW5pdHkoKSA9PSAxOgotICAgICAgICAgICAgcmV0dXJuIF9JbmZpbml0eQotCi0gICAgICAgICMgbG9nMTAobmVnYXRpdmUgb3IgLUluZmluaXR5KSByYWlzZXMgSW52YWxpZE9wZXJhdGlvbgotICAgICAgICBpZiBzZWxmLl9zaWduID09IDE6Ci0gICAgICAgICAgICByZXR1cm4gY29udGV4dC5fcmFpc2VfZXJyb3IoSW52YWxpZE9wZXJhdGlvbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbG9nMTAgb2YgYSBuZWdhdGl2ZSB2YWx1ZScpCi0KLSAgICAgICAgIyBsb2cxMCgxMCoqbikgPSBuCi0gICAgICAgIGlmIHNlbGYuX2ludFswXSA9PSAnMScgYW5kIHNlbGYuX2ludFsxOl0gPT0gJzAnKihsZW4oc2VsZi5faW50KSAtIDEpOgotICAgICAgICAgICAgIyBhbnN3ZXIgbWF5IG5lZWQgcm91bmRpbmcKLSAgICAgICAgICAgIGFucyA9IERlY2ltYWwoc2VsZi5fZXhwICsgbGVuKHNlbGYuX2ludCkgLSAxKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgIyByZXN1bHQgaXMgaXJyYXRpb25hbCwgc28gbmVjZXNzYXJpbHkgaW5leGFjdAotICAgICAgICAgICAgb3AgPSBfV29ya1JlcChzZWxmKQotICAgICAgICAgICAgYywgZSA9IG9wLmludCwgb3AuZXhwCi0gICAgICAgICAgICBwID0gY29udGV4dC5wcmVjCi0KLSAgICAgICAgICAgICMgY29ycmVjdGx5IHJvdW5kZWQgcmVzdWx0OiByZXBlYXRlZGx5IGluY3JlYXNlIHByZWNpc2lvbgotICAgICAgICAgICAgIyB1bnRpbCByZXN1bHQgaXMgdW5hbWJpZ3VvdXNseSByb3VuZGFibGUKLSAgICAgICAgICAgIHBsYWNlcyA9IHAtc2VsZi5fbG9nMTBfZXhwX2JvdW5kKCkrMgotICAgICAgICAgICAgd2hpbGUgVHJ1ZToKLSAgICAgICAgICAgICAgICBjb2VmZiA9IF9kbG9nMTAoYywgZSwgcGxhY2VzKQotICAgICAgICAgICAgICAgICMgYXNzZXJ0IGxlbihzdHIoYWJzKGNvZWZmKSkpLXAgPj0gMQotICAgICAgICAgICAgICAgIGlmIGNvZWZmICUgKDUqMTAqKihsZW4oc3RyKGFicyhjb2VmZikpKS1wLTEpKToKLSAgICAgICAgICAgICAgICAgICAgYnJlYWsKLSAgICAgICAgICAgICAgICBwbGFjZXMgKz0gMwotICAgICAgICAgICAgYW5zID0gX2RlY19mcm9tX3RyaXBsZShpbnQoY29lZmY8MCksIHN0cihhYnMoY29lZmYpKSwgLXBsYWNlcykKLQotICAgICAgICBjb250ZXh0ID0gY29udGV4dC5fc2hhbGxvd19jb3B5KCkKLSAgICAgICAgcm91bmRpbmcgPSBjb250ZXh0Ll9zZXRfcm91bmRpbmcoUk9VTkRfSEFMRl9FVkVOKQotICAgICAgICBhbnMgPSBhbnMuX2ZpeChjb250ZXh0KQotICAgICAgICBjb250ZXh0LnJvdW5kaW5nID0gcm91bmRpbmcKLSAgICAgICAgcmV0dXJuIGFucwotCi0gICAgZGVmIGxvZ2Ioc2VsZiwgY29udGV4dD1Ob25lKToKLSAgICAgICAgIiIiIFJldHVybnMgdGhlIGV4cG9uZW50IG9mIHRoZSBtYWduaXR1ZGUgb2Ygc2VsZidzIE1TRC4KLQotICAgICAgICBUaGUgcmVzdWx0IGlzIHRoZSBpbnRlZ2VyIHdoaWNoIGlzIHRoZSBleHBvbmVudCBvZiB0aGUgbWFnbml0dWRlCi0gICAgICAgIG9mIHRoZSBtb3N0IHNpZ25pZmljYW50IGRpZ2l0IG9mIHNlbGYgKGFzIHRob3VnaCBpdCB3ZXJlIHRydW5jYXRlZAotICAgICAgICB0byBhIHNpbmdsZSBkaWdpdCB3aGlsZSBtYWludGFpbmluZyB0aGUgdmFsdWUgb2YgdGhhdCBkaWdpdCBhbmQKLSAgICAgICAgd2l0aG91dCBsaW1pdGluZyB0aGUgcmVzdWx0aW5nIGV4cG9uZW50KS4KLSAgICAgICAgIiIiCi0gICAgICAgICMgbG9nYihOYU4pID0gTmFOCi0gICAgICAgIGFucyA9IHNlbGYuX2NoZWNrX25hbnMoY29udGV4dD1jb250ZXh0KQotICAgICAgICBpZiBhbnM6Ci0gICAgICAgICAgICByZXR1cm4gYW5zCi0KLSAgICAgICAgaWYgY29udGV4dCBpcyBOb25lOgotICAgICAgICAgICAgY29udGV4dCA9IGdldGNvbnRleHQoKQotCi0gICAgICAgICMgbG9nYigrLy1JbmYpID0gK0luZgotICAgICAgICBpZiBzZWxmLl9pc2luZmluaXR5KCk6Ci0gICAgICAgICAgICByZXR1cm4gX0luZmluaXR5Ci0KLSAgICAgICAgIyBsb2diKDApID0gLUluZiwgRGl2aXNpb25CeVplcm8KLSAgICAgICAgaWYgbm90IHNlbGY6Ci0gICAgICAgICAgICByZXR1cm4gY29udGV4dC5fcmFpc2VfZXJyb3IoRGl2aXNpb25CeVplcm8sICdsb2diKDApJywgMSkKLQotICAgICAgICAjIG90aGVyd2lzZSwgc2ltcGx5IHJldHVybiB0aGUgYWRqdXN0ZWQgZXhwb25lbnQgb2Ygc2VsZiwgYXMgYQotICAgICAgICAjIERlY2ltYWwuICBOb3RlIHRoYXQgbm8gYXR0ZW1wdCBpcyBtYWRlIHRvIGZpdCB0aGUgcmVzdWx0Ci0gICAgICAgICMgaW50byB0aGUgY3VycmVudCBjb250ZXh0LgotICAgICAgICBhbnMgPSBEZWNpbWFsKHNlbGYuYWRqdXN0ZWQoKSkKLSAgICAgICAgcmV0dXJuIGFucy5fZml4KGNvbnRleHQpCi0KLSAgICBkZWYgX2lzbG9naWNhbChzZWxmKToKLSAgICAgICAgIiIiUmV0dXJuIFRydWUgaWYgc2VsZiBpcyBhIGxvZ2ljYWwgb3BlcmFuZC4KLQotICAgICAgICBGb3IgYmVpbmcgbG9naWNhbCwgaXQgbXVzdCBiZSBhIGZpbml0ZSBudW1iZXIgd2l0aCBhIHNpZ24gb2YgMCwKLSAgICAgICAgYW4gZXhwb25lbnQgb2YgMCwgYW5kIGEgY29lZmZpY2llbnQgd2hvc2UgZGlnaXRzIG11c3QgYWxsIGJlCi0gICAgICAgIGVpdGhlciAwIG9yIDEuCi0gICAgICAgICIiIgotICAgICAgICBpZiBzZWxmLl9zaWduICE9IDAgb3Igc2VsZi5fZXhwICE9IDA6Ci0gICAgICAgICAgICByZXR1cm4gRmFsc2UKLSAgICAgICAgZm9yIGRpZyBpbiBzZWxmLl9pbnQ6Ci0gICAgICAgICAgICBpZiBkaWcgbm90IGluICcwMSc6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIEZhbHNlCi0gICAgICAgIHJldHVybiBUcnVlCi0KLSAgICBkZWYgX2ZpbGxfbG9naWNhbChzZWxmLCBjb250ZXh0LCBvcGEsIG9wYik6Ci0gICAgICAgIGRpZiA9IGNvbnRleHQucHJlYyAtIGxlbihvcGEpCi0gICAgICAgIGlmIGRpZiA+IDA6Ci0gICAgICAgICAgICBvcGEgPSAnMCcqZGlmICsgb3BhCi0gICAgICAgIGVsaWYgZGlmIDwgMDoKLSAgICAgICAgICAgIG9wYSA9IG9wYVstY29udGV4dC5wcmVjOl0KLSAgICAgICAgZGlmID0gY29udGV4dC5wcmVjIC0gbGVuKG9wYikKLSAgICAgICAgaWYgZGlmID4gMDoKLSAgICAgICAgICAgIG9wYiA9ICcwJypkaWYgKyBvcGIKLSAgICAgICAgZWxpZiBkaWYgPCAwOgotICAgICAgICAgICAgb3BiID0gb3BiWy1jb250ZXh0LnByZWM6XQotICAgICAgICByZXR1cm4gb3BhLCBvcGIKLQotICAgIGRlZiBsb2dpY2FsX2FuZChzZWxmLCBvdGhlciwgY29udGV4dD1Ob25lKToKLSAgICAgICAgIiIiQXBwbGllcyBhbiAnYW5kJyBvcGVyYXRpb24gYmV0d2VlbiBzZWxmIGFuZCBvdGhlcidzIGRpZ2l0cy4iIiIKLSAgICAgICAgaWYgY29udGV4dCBpcyBOb25lOgotICAgICAgICAgICAgY29udGV4dCA9IGdldGNvbnRleHQoKQotCi0gICAgICAgIG90aGVyID0gX2NvbnZlcnRfb3RoZXIob3RoZXIsIHJhaXNlaXQ9VHJ1ZSkKLQotICAgICAgICBpZiBub3Qgc2VsZi5faXNsb2dpY2FsKCkgb3Igbm90IG90aGVyLl9pc2xvZ2ljYWwoKToKLSAgICAgICAgICAgIHJldHVybiBjb250ZXh0Ll9yYWlzZV9lcnJvcihJbnZhbGlkT3BlcmF0aW9uKQotCi0gICAgICAgICMgZmlsbCB0byBjb250ZXh0LnByZWMKLSAgICAgICAgKG9wYSwgb3BiKSA9IHNlbGYuX2ZpbGxfbG9naWNhbChjb250ZXh0LCBzZWxmLl9pbnQsIG90aGVyLl9pbnQpCi0KLSAgICAgICAgIyBtYWtlIHRoZSBvcGVyYXRpb24sIGFuZCBjbGVhbiBzdGFydGluZyB6ZXJvZXMKLSAgICAgICAgcmVzdWx0ID0gIiIuam9pbihbc3RyKGludChhKSZpbnQoYikpIGZvciBhLGIgaW4gemlwKG9wYSxvcGIpXSkKLSAgICAgICAgcmV0dXJuIF9kZWNfZnJvbV90cmlwbGUoMCwgcmVzdWx0LmxzdHJpcCgnMCcpIG9yICcwJywgMCkKLQotICAgIGRlZiBsb2dpY2FsX2ludmVydChzZWxmLCBjb250ZXh0PU5vbmUpOgotICAgICAgICAiIiJJbnZlcnQgYWxsIGl0cyBkaWdpdHMuIiIiCi0gICAgICAgIGlmIGNvbnRleHQgaXMgTm9uZToKLSAgICAgICAgICAgIGNvbnRleHQgPSBnZXRjb250ZXh0KCkKLSAgICAgICAgcmV0dXJuIHNlbGYubG9naWNhbF94b3IoX2RlY19mcm9tX3RyaXBsZSgwLCcxJypjb250ZXh0LnByZWMsMCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQpCi0KLSAgICBkZWYgbG9naWNhbF9vcihzZWxmLCBvdGhlciwgY29udGV4dD1Ob25lKToKLSAgICAgICAgIiIiQXBwbGllcyBhbiAnb3InIG9wZXJhdGlvbiBiZXR3ZWVuIHNlbGYgYW5kIG90aGVyJ3MgZGlnaXRzLiIiIgotICAgICAgICBpZiBjb250ZXh0IGlzIE5vbmU6Ci0gICAgICAgICAgICBjb250ZXh0ID0gZ2V0Y29udGV4dCgpCi0KLSAgICAgICAgb3RoZXIgPSBfY29udmVydF9vdGhlcihvdGhlciwgcmFpc2VpdD1UcnVlKQotCi0gICAgICAgIGlmIG5vdCBzZWxmLl9pc2xvZ2ljYWwoKSBvciBub3Qgb3RoZXIuX2lzbG9naWNhbCgpOgotICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuX3JhaXNlX2Vycm9yKEludmFsaWRPcGVyYXRpb24pCi0KLSAgICAgICAgIyBmaWxsIHRvIGNvbnRleHQucHJlYwotICAgICAgICAob3BhLCBvcGIpID0gc2VsZi5fZmlsbF9sb2dpY2FsKGNvbnRleHQsIHNlbGYuX2ludCwgb3RoZXIuX2ludCkKLQotICAgICAgICAjIG1ha2UgdGhlIG9wZXJhdGlvbiwgYW5kIGNsZWFuIHN0YXJ0aW5nIHplcm9lcwotICAgICAgICByZXN1bHQgPSAiIi5qb2luKFtzdHIoaW50KGEpfGludChiKSkgZm9yIGEsYiBpbiB6aXAob3BhLG9wYildKQotICAgICAgICByZXR1cm4gX2RlY19mcm9tX3RyaXBsZSgwLCByZXN1bHQubHN0cmlwKCcwJykgb3IgJzAnLCAwKQotCi0gICAgZGVmIGxvZ2ljYWxfeG9yKHNlbGYsIG90aGVyLCBjb250ZXh0PU5vbmUpOgotICAgICAgICAiIiJBcHBsaWVzIGFuICd4b3InIG9wZXJhdGlvbiBiZXR3ZWVuIHNlbGYgYW5kIG90aGVyJ3MgZGlnaXRzLiIiIgotICAgICAgICBpZiBjb250ZXh0IGlzIE5vbmU6Ci0gICAgICAgICAgICBjb250ZXh0ID0gZ2V0Y29udGV4dCgpCi0KLSAgICAgICAgb3RoZXIgPSBfY29udmVydF9vdGhlcihvdGhlciwgcmFpc2VpdD1UcnVlKQotCi0gICAgICAgIGlmIG5vdCBzZWxmLl9pc2xvZ2ljYWwoKSBvciBub3Qgb3RoZXIuX2lzbG9naWNhbCgpOgotICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuX3JhaXNlX2Vycm9yKEludmFsaWRPcGVyYXRpb24pCi0KLSAgICAgICAgIyBmaWxsIHRvIGNvbnRleHQucHJlYwotICAgICAgICAob3BhLCBvcGIpID0gc2VsZi5fZmlsbF9sb2dpY2FsKGNvbnRleHQsIHNlbGYuX2ludCwgb3RoZXIuX2ludCkKLQotICAgICAgICAjIG1ha2UgdGhlIG9wZXJhdGlvbiwgYW5kIGNsZWFuIHN0YXJ0aW5nIHplcm9lcwotICAgICAgICByZXN1bHQgPSAiIi5qb2luKFtzdHIoaW50KGEpXmludChiKSkgZm9yIGEsYiBpbiB6aXAob3BhLG9wYildKQotICAgICAgICByZXR1cm4gX2RlY19mcm9tX3RyaXBsZSgwLCByZXN1bHQubHN0cmlwKCcwJykgb3IgJzAnLCAwKQotCi0gICAgZGVmIG1heF9tYWcoc2VsZiwgb3RoZXIsIGNvbnRleHQ9Tm9uZSk6Ci0gICAgICAgICIiIkNvbXBhcmVzIHRoZSB2YWx1ZXMgbnVtZXJpY2FsbHkgd2l0aCB0aGVpciBzaWduIGlnbm9yZWQuIiIiCi0gICAgICAgIG90aGVyID0gX2NvbnZlcnRfb3RoZXIob3RoZXIsIHJhaXNlaXQ9VHJ1ZSkKLQotICAgICAgICBpZiBjb250ZXh0IGlzIE5vbmU6Ci0gICAgICAgICAgICBjb250ZXh0ID0gZ2V0Y29udGV4dCgpCi0KLSAgICAgICAgaWYgc2VsZi5faXNfc3BlY2lhbCBvciBvdGhlci5faXNfc3BlY2lhbDoKLSAgICAgICAgICAgICMgSWYgb25lIG9wZXJhbmQgaXMgYSBxdWlldCBOYU4gYW5kIHRoZSBvdGhlciBpcyBudW1iZXIsIHRoZW4gdGhlCi0gICAgICAgICAgICAjIG51bWJlciBpcyBhbHdheXMgcmV0dXJuZWQKLSAgICAgICAgICAgIHNuID0gc2VsZi5faXNuYW4oKQotICAgICAgICAgICAgb24gPSBvdGhlci5faXNuYW4oKQotICAgICAgICAgICAgaWYgc24gb3Igb246Ci0gICAgICAgICAgICAgICAgaWYgb24gPT0gMSBhbmQgc24gPT0gMDoKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYuX2ZpeChjb250ZXh0KQotICAgICAgICAgICAgICAgIGlmIHNuID09IDEgYW5kIG9uID09IDA6Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybiBvdGhlci5fZml4KGNvbnRleHQpCi0gICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYuX2NoZWNrX25hbnMob3RoZXIsIGNvbnRleHQpCi0KLSAgICAgICAgYyA9IHNlbGYuY29weV9hYnMoKS5fY21wKG90aGVyLmNvcHlfYWJzKCkpCi0gICAgICAgIGlmIGMgPT0gMDoKLSAgICAgICAgICAgIGMgPSBzZWxmLmNvbXBhcmVfdG90YWwob3RoZXIpCi0KLSAgICAgICAgaWYgYyA9PSAtMToKLSAgICAgICAgICAgIGFucyA9IG90aGVyCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBhbnMgPSBzZWxmCi0KLSAgICAgICAgcmV0dXJuIGFucy5fZml4KGNvbnRleHQpCi0KLSAgICBkZWYgbWluX21hZyhzZWxmLCBvdGhlciwgY29udGV4dD1Ob25lKToKLSAgICAgICAgIiIiQ29tcGFyZXMgdGhlIHZhbHVlcyBudW1lcmljYWxseSB3aXRoIHRoZWlyIHNpZ24gaWdub3JlZC4iIiIKLSAgICAgICAgb3RoZXIgPSBfY29udmVydF9vdGhlcihvdGhlciwgcmFpc2VpdD1UcnVlKQotCi0gICAgICAgIGlmIGNvbnRleHQgaXMgTm9uZToKLSAgICAgICAgICAgIGNvbnRleHQgPSBnZXRjb250ZXh0KCkKLQotICAgICAgICBpZiBzZWxmLl9pc19zcGVjaWFsIG9yIG90aGVyLl9pc19zcGVjaWFsOgotICAgICAgICAgICAgIyBJZiBvbmUgb3BlcmFuZCBpcyBhIHF1aWV0IE5hTiBhbmQgdGhlIG90aGVyIGlzIG51bWJlciwgdGhlbiB0aGUKLSAgICAgICAgICAgICMgbnVtYmVyIGlzIGFsd2F5cyByZXR1cm5lZAotICAgICAgICAgICAgc24gPSBzZWxmLl9pc25hbigpCi0gICAgICAgICAgICBvbiA9IG90aGVyLl9pc25hbigpCi0gICAgICAgICAgICBpZiBzbiBvciBvbjoKLSAgICAgICAgICAgICAgICBpZiBvbiA9PSAxIGFuZCBzbiA9PSAwOgotICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2VsZi5fZml4KGNvbnRleHQpCi0gICAgICAgICAgICAgICAgaWYgc24gPT0gMSBhbmQgb24gPT0gMDoKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG90aGVyLl9maXgoY29udGV4dCkKLSAgICAgICAgICAgICAgICByZXR1cm4gc2VsZi5fY2hlY2tfbmFucyhvdGhlciwgY29udGV4dCkKLQotICAgICAgICBjID0gc2VsZi5jb3B5X2FicygpLl9jbXAob3RoZXIuY29weV9hYnMoKSkKLSAgICAgICAgaWYgYyA9PSAwOgotICAgICAgICAgICAgYyA9IHNlbGYuY29tcGFyZV90b3RhbChvdGhlcikKLQotICAgICAgICBpZiBjID09IC0xOgotICAgICAgICAgICAgYW5zID0gc2VsZgotICAgICAgICBlbHNlOgotICAgICAgICAgICAgYW5zID0gb3RoZXIKLQotICAgICAgICByZXR1cm4gYW5zLl9maXgoY29udGV4dCkKLQotICAgIGRlZiBuZXh0X21pbnVzKHNlbGYsIGNvbnRleHQ9Tm9uZSk6Ci0gICAgICAgICIiIlJldHVybnMgdGhlIGxhcmdlc3QgcmVwcmVzZW50YWJsZSBudW1iZXIgc21hbGxlciB0aGFuIGl0c2VsZi4iIiIKLSAgICAgICAgaWYgY29udGV4dCBpcyBOb25lOgotICAgICAgICAgICAgY29udGV4dCA9IGdldGNvbnRleHQoKQotCi0gICAgICAgIGFucyA9IHNlbGYuX2NoZWNrX25hbnMoY29udGV4dD1jb250ZXh0KQotICAgICAgICBpZiBhbnM6Ci0gICAgICAgICAgICByZXR1cm4gYW5zCi0KLSAgICAgICAgaWYgc2VsZi5faXNpbmZpbml0eSgpID09IC0xOgotICAgICAgICAgICAgcmV0dXJuIF9OZWdhdGl2ZUluZmluaXR5Ci0gICAgICAgIGlmIHNlbGYuX2lzaW5maW5pdHkoKSA9PSAxOgotICAgICAgICAgICAgcmV0dXJuIF9kZWNfZnJvbV90cmlwbGUoMCwgJzknKmNvbnRleHQucHJlYywgY29udGV4dC5FdG9wKCkpCi0KLSAgICAgICAgY29udGV4dCA9IGNvbnRleHQuY29weSgpCi0gICAgICAgIGNvbnRleHQuX3NldF9yb3VuZGluZyhST1VORF9GTE9PUikKLSAgICAgICAgY29udGV4dC5faWdub3JlX2FsbF9mbGFncygpCi0gICAgICAgIG5ld19zZWxmID0gc2VsZi5fZml4KGNvbnRleHQpCi0gICAgICAgIGlmIG5ld19zZWxmICE9IHNlbGY6Ci0gICAgICAgICAgICByZXR1cm4gbmV3X3NlbGYKLSAgICAgICAgcmV0dXJuIHNlbGYuX19zdWJfXyhfZGVjX2Zyb21fdHJpcGxlKDAsICcxJywgY29udGV4dC5FdGlueSgpLTEpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQpCi0KLSAgICBkZWYgbmV4dF9wbHVzKHNlbGYsIGNvbnRleHQ9Tm9uZSk6Ci0gICAgICAgICIiIlJldHVybnMgdGhlIHNtYWxsZXN0IHJlcHJlc2VudGFibGUgbnVtYmVyIGxhcmdlciB0aGFuIGl0c2VsZi4iIiIKLSAgICAgICAgaWYgY29udGV4dCBpcyBOb25lOgotICAgICAgICAgICAgY29udGV4dCA9IGdldGNvbnRleHQoKQotCi0gICAgICAgIGFucyA9IHNlbGYuX2NoZWNrX25hbnMoY29udGV4dD1jb250ZXh0KQotICAgICAgICBpZiBhbnM6Ci0gICAgICAgICAgICByZXR1cm4gYW5zCi0KLSAgICAgICAgaWYgc2VsZi5faXNpbmZpbml0eSgpID09IDE6Ci0gICAgICAgICAgICByZXR1cm4gX0luZmluaXR5Ci0gICAgICAgIGlmIHNlbGYuX2lzaW5maW5pdHkoKSA9PSAtMToKLSAgICAgICAgICAgIHJldHVybiBfZGVjX2Zyb21fdHJpcGxlKDEsICc5Jypjb250ZXh0LnByZWMsIGNvbnRleHQuRXRvcCgpKQotCi0gICAgICAgIGNvbnRleHQgPSBjb250ZXh0LmNvcHkoKQotICAgICAgICBjb250ZXh0Ll9zZXRfcm91bmRpbmcoUk9VTkRfQ0VJTElORykKLSAgICAgICAgY29udGV4dC5faWdub3JlX2FsbF9mbGFncygpCi0gICAgICAgIG5ld19zZWxmID0gc2VsZi5fZml4KGNvbnRleHQpCi0gICAgICAgIGlmIG5ld19zZWxmICE9IHNlbGY6Ci0gICAgICAgICAgICByZXR1cm4gbmV3X3NlbGYKLSAgICAgICAgcmV0dXJuIHNlbGYuX19hZGRfXyhfZGVjX2Zyb21fdHJpcGxlKDAsICcxJywgY29udGV4dC5FdGlueSgpLTEpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQpCi0KLSAgICBkZWYgbmV4dF90b3dhcmQoc2VsZiwgb3RoZXIsIGNvbnRleHQ9Tm9uZSk6Ci0gICAgICAgICIiIlJldHVybnMgdGhlIG51bWJlciBjbG9zZXN0IHRvIHNlbGYsIGluIHRoZSBkaXJlY3Rpb24gdG93YXJkcyBvdGhlci4KLQotICAgICAgICBUaGUgcmVzdWx0IGlzIHRoZSBjbG9zZXN0IHJlcHJlc2VudGFibGUgbnVtYmVyIHRvIHNlbGYKLSAgICAgICAgKGV4Y2x1ZGluZyBzZWxmKSB0aGF0IGlzIGluIHRoZSBkaXJlY3Rpb24gdG93YXJkcyBvdGhlciwKLSAgICAgICAgdW5sZXNzIGJvdGggaGF2ZSB0aGUgc2FtZSB2YWx1ZS4gIElmIHRoZSB0d28gb3BlcmFuZHMgYXJlCi0gICAgICAgIG51bWVyaWNhbGx5IGVxdWFsLCB0aGVuIHRoZSByZXN1bHQgaXMgYSBjb3B5IG9mIHNlbGYgd2l0aCB0aGUKLSAgICAgICAgc2lnbiBzZXQgdG8gYmUgdGhlIHNhbWUgYXMgdGhlIHNpZ24gb2Ygb3RoZXIuCi0gICAgICAgICIiIgotICAgICAgICBvdGhlciA9IF9jb252ZXJ0X290aGVyKG90aGVyLCByYWlzZWl0PVRydWUpCi0KLSAgICAgICAgaWYgY29udGV4dCBpcyBOb25lOgotICAgICAgICAgICAgY29udGV4dCA9IGdldGNvbnRleHQoKQotCi0gICAgICAgIGFucyA9IHNlbGYuX2NoZWNrX25hbnMob3RoZXIsIGNvbnRleHQpCi0gICAgICAgIGlmIGFuczoKLSAgICAgICAgICAgIHJldHVybiBhbnMKLQotICAgICAgICBjb21wYXJpc29uID0gc2VsZi5fY21wKG90aGVyKQotICAgICAgICBpZiBjb21wYXJpc29uID09IDA6Ci0gICAgICAgICAgICByZXR1cm4gc2VsZi5jb3B5X3NpZ24ob3RoZXIpCi0KLSAgICAgICAgaWYgY29tcGFyaXNvbiA9PSAtMToKLSAgICAgICAgICAgIGFucyA9IHNlbGYubmV4dF9wbHVzKGNvbnRleHQpCi0gICAgICAgIGVsc2U6ICMgY29tcGFyaXNvbiA9PSAxCi0gICAgICAgICAgICBhbnMgPSBzZWxmLm5leHRfbWludXMoY29udGV4dCkKLQotICAgICAgICAjIGRlY2lkZSB3aGljaCBmbGFncyB0byByYWlzZSB1c2luZyB2YWx1ZSBvZiBhbnMKLSAgICAgICAgaWYgYW5zLl9pc2luZmluaXR5KCk6Ci0gICAgICAgICAgICBjb250ZXh0Ll9yYWlzZV9lcnJvcihPdmVyZmxvdywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJbmZpbml0ZSByZXN1bHQgZnJvbSBuZXh0X3Rvd2FyZCcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbnMuX3NpZ24pCi0gICAgICAgICAgICBjb250ZXh0Ll9yYWlzZV9lcnJvcihJbmV4YWN0KQotICAgICAgICAgICAgY29udGV4dC5fcmFpc2VfZXJyb3IoUm91bmRlZCkKLSAgICAgICAgZWxpZiBhbnMuYWRqdXN0ZWQoKSA8IGNvbnRleHQuRW1pbjoKLSAgICAgICAgICAgIGNvbnRleHQuX3JhaXNlX2Vycm9yKFVuZGVyZmxvdykKLSAgICAgICAgICAgIGNvbnRleHQuX3JhaXNlX2Vycm9yKFN1Ym5vcm1hbCkKLSAgICAgICAgICAgIGNvbnRleHQuX3JhaXNlX2Vycm9yKEluZXhhY3QpCi0gICAgICAgICAgICBjb250ZXh0Ll9yYWlzZV9lcnJvcihSb3VuZGVkKQotICAgICAgICAgICAgIyBpZiBwcmVjaXNpb24gPT0gMSB0aGVuIHdlIGRvbid0IHJhaXNlIENsYW1wZWQgZm9yIGEKLSAgICAgICAgICAgICMgcmVzdWx0IDBFLUV0aW55LgotICAgICAgICAgICAgaWYgbm90IGFuczoKLSAgICAgICAgICAgICAgICBjb250ZXh0Ll9yYWlzZV9lcnJvcihDbGFtcGVkKQotCi0gICAgICAgIHJldHVybiBhbnMKLQotICAgIGRlZiBudW1iZXJfY2xhc3Moc2VsZiwgY29udGV4dD1Ob25lKToKLSAgICAgICAgIiIiUmV0dXJucyBhbiBpbmRpY2F0aW9uIG9mIHRoZSBjbGFzcyBvZiBzZWxmLgotCi0gICAgICAgIFRoZSBjbGFzcyBpcyBvbmUgb2YgdGhlIGZvbGxvd2luZyBzdHJpbmdzOgotICAgICAgICAgIHNOYU4KLSAgICAgICAgICBOYU4KLSAgICAgICAgICAtSW5maW5pdHkKLSAgICAgICAgICAtTm9ybWFsCi0gICAgICAgICAgLVN1Ym5vcm1hbAotICAgICAgICAgIC1aZXJvCi0gICAgICAgICAgK1plcm8KLSAgICAgICAgICArU3Vibm9ybWFsCi0gICAgICAgICAgK05vcm1hbAotICAgICAgICAgICtJbmZpbml0eQotICAgICAgICAiIiIKLSAgICAgICAgaWYgc2VsZi5pc19zbmFuKCk6Ci0gICAgICAgICAgICByZXR1cm4gInNOYU4iCi0gICAgICAgIGlmIHNlbGYuaXNfcW5hbigpOgotICAgICAgICAgICAgcmV0dXJuICJOYU4iCi0gICAgICAgIGluZiA9IHNlbGYuX2lzaW5maW5pdHkoKQotICAgICAgICBpZiBpbmYgPT0gMToKLSAgICAgICAgICAgIHJldHVybiAiK0luZmluaXR5IgotICAgICAgICBpZiBpbmYgPT0gLTE6Ci0gICAgICAgICAgICByZXR1cm4gIi1JbmZpbml0eSIKLSAgICAgICAgaWYgc2VsZi5pc196ZXJvKCk6Ci0gICAgICAgICAgICBpZiBzZWxmLl9zaWduOgotICAgICAgICAgICAgICAgIHJldHVybiAiLVplcm8iCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIHJldHVybiAiK1plcm8iCi0gICAgICAgIGlmIGNvbnRleHQgaXMgTm9uZToKLSAgICAgICAgICAgIGNvbnRleHQgPSBnZXRjb250ZXh0KCkKLSAgICAgICAgaWYgc2VsZi5pc19zdWJub3JtYWwoY29udGV4dD1jb250ZXh0KToKLSAgICAgICAgICAgIGlmIHNlbGYuX3NpZ246Ci0gICAgICAgICAgICAgICAgcmV0dXJuICItU3Vibm9ybWFsIgotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICByZXR1cm4gIitTdWJub3JtYWwiCi0gICAgICAgICMganVzdCBhIG5vcm1hbCwgcmVndWxhciwgYm9yaW5nIG51bWJlciwgOikKLSAgICAgICAgaWYgc2VsZi5fc2lnbjoKLSAgICAgICAgICAgIHJldHVybiAiLU5vcm1hbCIKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHJldHVybiAiK05vcm1hbCIKLQotICAgIGRlZiByYWRpeChzZWxmKToKLSAgICAgICAgIiIiSnVzdCByZXR1cm5zIDEwLCBhcyB0aGlzIGlzIERlY2ltYWwsIDopIiIiCi0gICAgICAgIHJldHVybiBEZWNpbWFsKDEwKQotCi0gICAgZGVmIHJvdGF0ZShzZWxmLCBvdGhlciwgY29udGV4dD1Ob25lKToKLSAgICAgICAgIiIiUmV0dXJucyBhIHJvdGF0ZWQgY29weSBvZiBzZWxmLCB2YWx1ZS1vZi1vdGhlciB0aW1lcy4iIiIKLSAgICAgICAgaWYgY29udGV4dCBpcyBOb25lOgotICAgICAgICAgICAgY29udGV4dCA9IGdldGNvbnRleHQoKQotCi0gICAgICAgIG90aGVyID0gX2NvbnZlcnRfb3RoZXIob3RoZXIsIHJhaXNlaXQ9VHJ1ZSkKLQotICAgICAgICBhbnMgPSBzZWxmLl9jaGVja19uYW5zKG90aGVyLCBjb250ZXh0KQotICAgICAgICBpZiBhbnM6Ci0gICAgICAgICAgICByZXR1cm4gYW5zCi0KLSAgICAgICAgaWYgb3RoZXIuX2V4cCAhPSAwOgotICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuX3JhaXNlX2Vycm9yKEludmFsaWRPcGVyYXRpb24pCi0gICAgICAgIGlmIG5vdCAoLWNvbnRleHQucHJlYyA8PSBpbnQob3RoZXIpIDw9IGNvbnRleHQucHJlYyk6Ci0gICAgICAgICAgICByZXR1cm4gY29udGV4dC5fcmFpc2VfZXJyb3IoSW52YWxpZE9wZXJhdGlvbikKLQotICAgICAgICBpZiBzZWxmLl9pc2luZmluaXR5KCk6Ci0gICAgICAgICAgICByZXR1cm4gRGVjaW1hbChzZWxmKQotCi0gICAgICAgICMgZ2V0IHZhbHVlcywgcGFkIGlmIG5lY2Vzc2FyeQotICAgICAgICB0b3JvdCA9IGludChvdGhlcikKLSAgICAgICAgcm90ZGlnID0gc2VsZi5faW50Ci0gICAgICAgIHRvcGFkID0gY29udGV4dC5wcmVjIC0gbGVuKHJvdGRpZykKLSAgICAgICAgaWYgdG9wYWQgPiAwOgotICAgICAgICAgICAgcm90ZGlnID0gJzAnKnRvcGFkICsgcm90ZGlnCi0gICAgICAgIGVsaWYgdG9wYWQgPCAwOgotICAgICAgICAgICAgcm90ZGlnID0gcm90ZGlnWy10b3BhZDpdCi0KLSAgICAgICAgIyBsZXQncyByb3RhdGUhCi0gICAgICAgIHJvdGF0ZWQgPSByb3RkaWdbdG9yb3Q6XSArIHJvdGRpZ1s6dG9yb3RdCi0gICAgICAgIHJldHVybiBfZGVjX2Zyb21fdHJpcGxlKHNlbGYuX3NpZ24sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvdGF0ZWQubHN0cmlwKCcwJykgb3IgJzAnLCBzZWxmLl9leHApCi0KLSAgICBkZWYgc2NhbGViKHNlbGYsIG90aGVyLCBjb250ZXh0PU5vbmUpOgotICAgICAgICAiIiJSZXR1cm5zIHNlbGYgb3BlcmFuZCBhZnRlciBhZGRpbmcgdGhlIHNlY29uZCB2YWx1ZSB0byBpdHMgZXhwLiIiIgotICAgICAgICBpZiBjb250ZXh0IGlzIE5vbmU6Ci0gICAgICAgICAgICBjb250ZXh0ID0gZ2V0Y29udGV4dCgpCi0KLSAgICAgICAgb3RoZXIgPSBfY29udmVydF9vdGhlcihvdGhlciwgcmFpc2VpdD1UcnVlKQotCi0gICAgICAgIGFucyA9IHNlbGYuX2NoZWNrX25hbnMob3RoZXIsIGNvbnRleHQpCi0gICAgICAgIGlmIGFuczoKLSAgICAgICAgICAgIHJldHVybiBhbnMKLQotICAgICAgICBpZiBvdGhlci5fZXhwICE9IDA6Ci0gICAgICAgICAgICByZXR1cm4gY29udGV4dC5fcmFpc2VfZXJyb3IoSW52YWxpZE9wZXJhdGlvbikKLSAgICAgICAgbGltaW5mID0gLTIgKiAoY29udGV4dC5FbWF4ICsgY29udGV4dC5wcmVjKQotICAgICAgICBsaW1zdXAgPSAgMiAqIChjb250ZXh0LkVtYXggKyBjb250ZXh0LnByZWMpCi0gICAgICAgIGlmIG5vdCAobGltaW5mIDw9IGludChvdGhlcikgPD0gbGltc3VwKToKLSAgICAgICAgICAgIHJldHVybiBjb250ZXh0Ll9yYWlzZV9lcnJvcihJbnZhbGlkT3BlcmF0aW9uKQotCi0gICAgICAgIGlmIHNlbGYuX2lzaW5maW5pdHkoKToKLSAgICAgICAgICAgIHJldHVybiBEZWNpbWFsKHNlbGYpCi0KLSAgICAgICAgZCA9IF9kZWNfZnJvbV90cmlwbGUoc2VsZi5fc2lnbiwgc2VsZi5faW50LCBzZWxmLl9leHAgKyBpbnQob3RoZXIpKQotICAgICAgICBkID0gZC5fZml4KGNvbnRleHQpCi0gICAgICAgIHJldHVybiBkCi0KLSAgICBkZWYgc2hpZnQoc2VsZiwgb3RoZXIsIGNvbnRleHQ9Tm9uZSk6Ci0gICAgICAgICIiIlJldHVybnMgYSBzaGlmdGVkIGNvcHkgb2Ygc2VsZiwgdmFsdWUtb2Ytb3RoZXIgdGltZXMuIiIiCi0gICAgICAgIGlmIGNvbnRleHQgaXMgTm9uZToKLSAgICAgICAgICAgIGNvbnRleHQgPSBnZXRjb250ZXh0KCkKLQotICAgICAgICBvdGhlciA9IF9jb252ZXJ0X290aGVyKG90aGVyLCByYWlzZWl0PVRydWUpCi0KLSAgICAgICAgYW5zID0gc2VsZi5fY2hlY2tfbmFucyhvdGhlciwgY29udGV4dCkKLSAgICAgICAgaWYgYW5zOgotICAgICAgICAgICAgcmV0dXJuIGFucwotCi0gICAgICAgIGlmIG90aGVyLl9leHAgIT0gMDoKLSAgICAgICAgICAgIHJldHVybiBjb250ZXh0Ll9yYWlzZV9lcnJvcihJbnZhbGlkT3BlcmF0aW9uKQotICAgICAgICBpZiBub3QgKC1jb250ZXh0LnByZWMgPD0gaW50KG90aGVyKSA8PSBjb250ZXh0LnByZWMpOgotICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuX3JhaXNlX2Vycm9yKEludmFsaWRPcGVyYXRpb24pCi0KLSAgICAgICAgaWYgc2VsZi5faXNpbmZpbml0eSgpOgotICAgICAgICAgICAgcmV0dXJuIERlY2ltYWwoc2VsZikKLQotICAgICAgICAjIGdldCB2YWx1ZXMsIHBhZCBpZiBuZWNlc3NhcnkKLSAgICAgICAgdG9yb3QgPSBpbnQob3RoZXIpCi0gICAgICAgIHJvdGRpZyA9IHNlbGYuX2ludAotICAgICAgICB0b3BhZCA9IGNvbnRleHQucHJlYyAtIGxlbihyb3RkaWcpCi0gICAgICAgIGlmIHRvcGFkID4gMDoKLSAgICAgICAgICAgIHJvdGRpZyA9ICcwJyp0b3BhZCArIHJvdGRpZwotICAgICAgICBlbGlmIHRvcGFkIDwgMDoKLSAgICAgICAgICAgIHJvdGRpZyA9IHJvdGRpZ1stdG9wYWQ6XQotCi0gICAgICAgICMgbGV0J3Mgc2hpZnQhCi0gICAgICAgIGlmIHRvcm90IDwgMDoKLSAgICAgICAgICAgIHNoaWZ0ZWQgPSByb3RkaWdbOnRvcm90XQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgc2hpZnRlZCA9IHJvdGRpZyArICcwJyp0b3JvdAotICAgICAgICAgICAgc2hpZnRlZCA9IHNoaWZ0ZWRbLWNvbnRleHQucHJlYzpdCi0KLSAgICAgICAgcmV0dXJuIF9kZWNfZnJvbV90cmlwbGUoc2VsZi5fc2lnbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNoaWZ0ZWQubHN0cmlwKCcwJykgb3IgJzAnLCBzZWxmLl9leHApCi0KLSAgICAjIFN1cHBvcnQgZm9yIHBpY2tsaW5nLCBjb3B5LCBhbmQgZGVlcGNvcHkKLSAgICBkZWYgX19yZWR1Y2VfXyhzZWxmKToKLSAgICAgICAgcmV0dXJuIChzZWxmLl9fY2xhc3NfXywgKHN0cihzZWxmKSwpKQotCi0gICAgZGVmIF9fY29weV9fKHNlbGYpOgotICAgICAgICBpZiB0eXBlKHNlbGYpIGlzIERlY2ltYWw6Ci0gICAgICAgICAgICByZXR1cm4gc2VsZiAgICAgIyBJJ20gaW1tdXRhYmxlOyB0aGVyZWZvcmUgSSBhbSBteSBvd24gY2xvbmUKLSAgICAgICAgcmV0dXJuIHNlbGYuX19jbGFzc19fKHN0cihzZWxmKSkKLQotICAgIGRlZiBfX2RlZXBjb3B5X18oc2VsZiwgbWVtbyk6Ci0gICAgICAgIGlmIHR5cGUoc2VsZikgaXMgRGVjaW1hbDoKLSAgICAgICAgICAgIHJldHVybiBzZWxmICAgICAjIE15IGNvbXBvbmVudHMgYXJlIGFsc28gaW1tdXRhYmxlCi0gICAgICAgIHJldHVybiBzZWxmLl9fY2xhc3NfXyhzdHIoc2VsZikpCi0KLSAgICAjIFBFUCAzMTAxIHN1cHBvcnQuICB0aGUgX2xvY2FsZWNvbnYga2V5d29yZCBhcmd1bWVudCBzaG91bGQgYmUKLSAgICAjIGNvbnNpZGVyZWQgcHJpdmF0ZTogaXQncyBwcm92aWRlZCBmb3IgZWFzZSBvZiB0ZXN0aW5nIG9ubHkuCi0gICAgZGVmIF9fZm9ybWF0X18oc2VsZiwgc3BlY2lmaWVyLCBjb250ZXh0PU5vbmUsIF9sb2NhbGVjb252PU5vbmUpOgotICAgICAgICAiIiJGb3JtYXQgYSBEZWNpbWFsIGluc3RhbmNlIGFjY29yZGluZyB0byB0aGUgZ2l2ZW4gc3BlY2lmaWVyLgotCi0gICAgICAgIFRoZSBzcGVjaWZpZXIgc2hvdWxkIGJlIGEgc3RhbmRhcmQgZm9ybWF0IHNwZWNpZmllciwgd2l0aCB0aGUKLSAgICAgICAgZm9ybSBkZXNjcmliZWQgaW4gUEVQIDMxMDEuICBGb3JtYXR0aW5nIHR5cGVzICdlJywgJ0UnLCAnZicsCi0gICAgICAgICdGJywgJ2cnLCAnRycsICduJyBhbmQgJyUnIGFyZSBzdXBwb3J0ZWQuICBJZiB0aGUgZm9ybWF0dGluZwotICAgICAgICB0eXBlIGlzIG9taXR0ZWQgaXQgZGVmYXVsdHMgdG8gJ2cnIG9yICdHJywgZGVwZW5kaW5nIG9uIHRoZQotICAgICAgICB2YWx1ZSBvZiBjb250ZXh0LmNhcGl0YWxzLgotICAgICAgICAiIiIKLQotICAgICAgICAjIE5vdGU6IFBFUCAzMTAxIHNheXMgdGhhdCBpZiB0aGUgdHlwZSBpcyBub3QgcHJlc2VudCB0aGVuCi0gICAgICAgICMgdGhlcmUgc2hvdWxkIGJlIGF0IGxlYXN0IG9uZSBkaWdpdCBhZnRlciB0aGUgZGVjaW1hbCBwb2ludC4KLSAgICAgICAgIyBXZSB0YWtlIHRoZSBsaWJlcnR5IG9mIGlnbm9yaW5nIHRoaXMgcmVxdWlyZW1lbnQgZm9yCi0gICAgICAgICMgRGVjaW1hbC0tLWl0J3MgcHJlc3VtYWJseSB0aGVyZSB0byBtYWtlIHN1cmUgdGhhdAotICAgICAgICAjIGZvcm1hdChmbG9hdCwgJycpIGJlaGF2ZXMgc2ltaWxhcmx5IHRvIHN0cihmbG9hdCkuCi0gICAgICAgIGlmIGNvbnRleHQgaXMgTm9uZToKLSAgICAgICAgICAgIGNvbnRleHQgPSBnZXRjb250ZXh0KCkKLQotICAgICAgICBzcGVjID0gX3BhcnNlX2Zvcm1hdF9zcGVjaWZpZXIoc3BlY2lmaWVyLCBfbG9jYWxlY29udj1fbG9jYWxlY29udikKLQotICAgICAgICAjIHNwZWNpYWwgdmFsdWVzIGRvbid0IGNhcmUgYWJvdXQgdGhlIHR5cGUgb3IgcHJlY2lzaW9uCi0gICAgICAgIGlmIHNlbGYuX2lzX3NwZWNpYWw6Ci0gICAgICAgICAgICBzaWduID0gX2Zvcm1hdF9zaWduKHNlbGYuX3NpZ24sIHNwZWMpCi0gICAgICAgICAgICBib2R5ID0gc3RyKHNlbGYuY29weV9hYnMoKSkKLSAgICAgICAgICAgIGlmIHNwZWNbJ3R5cGUnXSA9PSAnJSc6Ci0gICAgICAgICAgICAgICAgYm9keSArPSAnJScKLSAgICAgICAgICAgIHJldHVybiBfZm9ybWF0X2FsaWduKHNpZ24sIGJvZHksIHNwZWMpCi0KLSAgICAgICAgIyBhIHR5cGUgb2YgTm9uZSBkZWZhdWx0cyB0byAnZycgb3IgJ0cnLCBkZXBlbmRpbmcgb24gY29udGV4dAotICAgICAgICBpZiBzcGVjWyd0eXBlJ10gaXMgTm9uZToKLSAgICAgICAgICAgIHNwZWNbJ3R5cGUnXSA9IFsnZycsICdHJ11bY29udGV4dC5jYXBpdGFsc10KLQotICAgICAgICAjIGlmIHR5cGUgaXMgJyUnLCBhZGp1c3QgZXhwb25lbnQgb2Ygc2VsZiBhY2NvcmRpbmdseQotICAgICAgICBpZiBzcGVjWyd0eXBlJ10gPT0gJyUnOgotICAgICAgICAgICAgc2VsZiA9IF9kZWNfZnJvbV90cmlwbGUoc2VsZi5fc2lnbiwgc2VsZi5faW50LCBzZWxmLl9leHArMikKLQotICAgICAgICAjIHJvdW5kIGlmIG5lY2Vzc2FyeSwgdGFraW5nIHJvdW5kaW5nIG1vZGUgZnJvbSB0aGUgY29udGV4dAotICAgICAgICByb3VuZGluZyA9IGNvbnRleHQucm91bmRpbmcKLSAgICAgICAgcHJlY2lzaW9uID0gc3BlY1sncHJlY2lzaW9uJ10KLSAgICAgICAgaWYgcHJlY2lzaW9uIGlzIG5vdCBOb25lOgotICAgICAgICAgICAgaWYgc3BlY1sndHlwZSddIGluICdlRSc6Ci0gICAgICAgICAgICAgICAgc2VsZiA9IHNlbGYuX3JvdW5kKHByZWNpc2lvbisxLCByb3VuZGluZykKLSAgICAgICAgICAgIGVsaWYgc3BlY1sndHlwZSddIGluICdmRiUnOgotICAgICAgICAgICAgICAgIHNlbGYgPSBzZWxmLl9yZXNjYWxlKC1wcmVjaXNpb24sIHJvdW5kaW5nKQotICAgICAgICAgICAgZWxpZiBzcGVjWyd0eXBlJ10gaW4gJ2dHJyBhbmQgbGVuKHNlbGYuX2ludCkgPiBwcmVjaXNpb246Ci0gICAgICAgICAgICAgICAgc2VsZiA9IHNlbGYuX3JvdW5kKHByZWNpc2lvbiwgcm91bmRpbmcpCi0gICAgICAgICMgc3BlY2lhbCBjYXNlOiB6ZXJvcyB3aXRoIGEgcG9zaXRpdmUgZXhwb25lbnQgY2FuJ3QgYmUKLSAgICAgICAgIyByZXByZXNlbnRlZCBpbiBmaXhlZCBwb2ludDsgcmVzY2FsZSB0aGVtIHRvIDBlMC4KLSAgICAgICAgaWYgbm90IHNlbGYgYW5kIHNlbGYuX2V4cCA+IDAgYW5kIHNwZWNbJ3R5cGUnXSBpbiAnZkYlJzoKLSAgICAgICAgICAgIHNlbGYgPSBzZWxmLl9yZXNjYWxlKDAsIHJvdW5kaW5nKQotCi0gICAgICAgICMgZmlndXJlIG91dCBwbGFjZW1lbnQgb2YgdGhlIGRlY2ltYWwgcG9pbnQKLSAgICAgICAgbGVmdGRpZ2l0cyA9IHNlbGYuX2V4cCArIGxlbihzZWxmLl9pbnQpCi0gICAgICAgIGlmIHNwZWNbJ3R5cGUnXSBpbiAnZUUnOgotICAgICAgICAgICAgaWYgbm90IHNlbGYgYW5kIHByZWNpc2lvbiBpcyBub3QgTm9uZToKLSAgICAgICAgICAgICAgICBkb3RwbGFjZSA9IDEgLSBwcmVjaXNpb24KLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgZG90cGxhY2UgPSAxCi0gICAgICAgIGVsaWYgc3BlY1sndHlwZSddIGluICdmRiUnOgotICAgICAgICAgICAgZG90cGxhY2UgPSBsZWZ0ZGlnaXRzCi0gICAgICAgIGVsaWYgc3BlY1sndHlwZSddIGluICdnRyc6Ci0gICAgICAgICAgICBpZiBzZWxmLl9leHAgPD0gMCBhbmQgbGVmdGRpZ2l0cyA+IC02OgotICAgICAgICAgICAgICAgIGRvdHBsYWNlID0gbGVmdGRpZ2l0cwotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBkb3RwbGFjZSA9IDEKLQotICAgICAgICAjIGZpbmQgZGlnaXRzIGJlZm9yZSBhbmQgYWZ0ZXIgZGVjaW1hbCBwb2ludCwgYW5kIGdldCBleHBvbmVudAotICAgICAgICBpZiBkb3RwbGFjZSA8IDA6Ci0gICAgICAgICAgICBpbnRwYXJ0ID0gJzAnCi0gICAgICAgICAgICBmcmFjcGFydCA9ICcwJyooLWRvdHBsYWNlKSArIHNlbGYuX2ludAotICAgICAgICBlbGlmIGRvdHBsYWNlID4gbGVuKHNlbGYuX2ludCk6Ci0gICAgICAgICAgICBpbnRwYXJ0ID0gc2VsZi5faW50ICsgJzAnKihkb3RwbGFjZS1sZW4oc2VsZi5faW50KSkKLSAgICAgICAgICAgIGZyYWNwYXJ0ID0gJycKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIGludHBhcnQgPSBzZWxmLl9pbnRbOmRvdHBsYWNlXSBvciAnMCcKLSAgICAgICAgICAgIGZyYWNwYXJ0ID0gc2VsZi5faW50W2RvdHBsYWNlOl0KLSAgICAgICAgZXhwID0gbGVmdGRpZ2l0cy1kb3RwbGFjZQotCi0gICAgICAgICMgZG9uZSB3aXRoIHRoZSBkZWNpbWFsLXNwZWNpZmljIHN0dWZmOyAgaGFuZCBvdmVyIHRoZSByZXN0Ci0gICAgICAgICMgb2YgdGhlIGZvcm1hdHRpbmcgdG8gdGhlIF9mb3JtYXRfbnVtYmVyIGZ1bmN0aW9uCi0gICAgICAgIHJldHVybiBfZm9ybWF0X251bWJlcihzZWxmLl9zaWduLCBpbnRwYXJ0LCBmcmFjcGFydCwgZXhwLCBzcGVjKQotCi1kZWYgX2RlY19mcm9tX3RyaXBsZShzaWduLCBjb2VmZmljaWVudCwgZXhwb25lbnQsIHNwZWNpYWw9RmFsc2UpOgotICAgICIiIkNyZWF0ZSBhIGRlY2ltYWwgaW5zdGFuY2UgZGlyZWN0bHksIHdpdGhvdXQgYW55IHZhbGlkYXRpb24sCi0gICAgbm9ybWFsaXphdGlvbiAoZS5nLiByZW1vdmFsIG9mIGxlYWRpbmcgemVyb3MpIG9yIGFyZ3VtZW50Ci0gICAgY29udmVyc2lvbi4KLQotICAgIFRoaXMgZnVuY3Rpb24gaXMgZm9yICppbnRlcm5hbCB1c2Ugb25seSouCi0gICAgIiIiCi0KLSAgICBzZWxmID0gb2JqZWN0Ll9fbmV3X18oRGVjaW1hbCkKLSAgICBzZWxmLl9zaWduID0gc2lnbgotICAgIHNlbGYuX2ludCA9IGNvZWZmaWNpZW50Ci0gICAgc2VsZi5fZXhwID0gZXhwb25lbnQKLSAgICBzZWxmLl9pc19zcGVjaWFsID0gc3BlY2lhbAotCi0gICAgcmV0dXJuIHNlbGYKLQotIyBSZWdpc3RlciBEZWNpbWFsIGFzIGEga2luZCBvZiBOdW1iZXIgKGFuIGFic3RyYWN0IGJhc2UgY2xhc3MpLgotIyBIb3dldmVyLCBkbyBub3QgcmVnaXN0ZXIgaXQgYXMgUmVhbCAoYmVjYXVzZSBEZWNpbWFscyBhcmUgbm90Ci0jIGludGVyb3BlcmFibGUgd2l0aCBmbG9hdHMpLgotX251bWJlcnMuTnVtYmVyLnJlZ2lzdGVyKERlY2ltYWwpCi0KLQotIyMjIyMgQ29udGV4dCBjbGFzcyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCi0KLWNsYXNzIF9Db250ZXh0TWFuYWdlcihvYmplY3QpOgotICAgICIiIkNvbnRleHQgbWFuYWdlciBjbGFzcyB0byBzdXBwb3J0IGxvY2FsY29udGV4dCgpLgotCi0gICAgICBTZXRzIGEgY29weSBvZiB0aGUgc3VwcGxpZWQgY29udGV4dCBpbiBfX2VudGVyX18oKSBhbmQgcmVzdG9yZXMKLSAgICAgIHRoZSBwcmV2aW91cyBkZWNpbWFsIGNvbnRleHQgaW4gX19leGl0X18oKQotICAgICIiIgotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBuZXdfY29udGV4dCk6Ci0gICAgICAgIHNlbGYubmV3X2NvbnRleHQgPSBuZXdfY29udGV4dC5jb3B5KCkKLSAgICBkZWYgX19lbnRlcl9fKHNlbGYpOgotICAgICAgICBzZWxmLnNhdmVkX2NvbnRleHQgPSBnZXRjb250ZXh0KCkKLSAgICAgICAgc2V0Y29udGV4dChzZWxmLm5ld19jb250ZXh0KQotICAgICAgICByZXR1cm4gc2VsZi5uZXdfY29udGV4dAotICAgIGRlZiBfX2V4aXRfXyhzZWxmLCB0LCB2LCB0Yik6Ci0gICAgICAgIHNldGNvbnRleHQoc2VsZi5zYXZlZF9jb250ZXh0KQotCi1jbGFzcyBDb250ZXh0KG9iamVjdCk6Ci0gICAgIiIiQ29udGFpbnMgdGhlIGNvbnRleHQgZm9yIGEgRGVjaW1hbCBpbnN0YW5jZS4KLQotICAgIENvbnRhaW5zOgotICAgIHByZWMgLSBwcmVjaXNpb24gKGZvciB1c2UgaW4gcm91bmRpbmcsIGRpdmlzaW9uLCBzcXVhcmUgcm9vdHMuLikKLSAgICByb3VuZGluZyAtIHJvdW5kaW5nIHR5cGUgKGhvdyB5b3Ugcm91bmQpCi0gICAgdHJhcHMgLSBJZiB0cmFwc1tleGNlcHRpb25dID0gMSwgdGhlbiB0aGUgZXhjZXB0aW9uIGlzCi0gICAgICAgICAgICAgICAgICAgIHJhaXNlZCB3aGVuIGl0IGlzIGNhdXNlZC4gIE90aGVyd2lzZSwgYSB2YWx1ZSBpcwotICAgICAgICAgICAgICAgICAgICBzdWJzdGl0dXRlZCBpbi4KLSAgICBmbGFncyAgLSBXaGVuIGFuIGV4Y2VwdGlvbiBpcyBjYXVzZWQsIGZsYWdzW2V4Y2VwdGlvbl0gaXMgc2V0LgotICAgICAgICAgICAgIChXaGV0aGVyIG9yIG5vdCB0aGUgdHJhcF9lbmFibGVyIGlzIHNldCkKLSAgICAgICAgICAgICBTaG91bGQgYmUgcmVzZXQgYnkgdXNlciBvZiBEZWNpbWFsIGluc3RhbmNlLgotICAgIEVtaW4gLSAgIE1pbmltdW0gZXhwb25lbnQKLSAgICBFbWF4IC0gICBNYXhpbXVtIGV4cG9uZW50Ci0gICAgY2FwaXRhbHMgLSAgICAgIElmIDEsIDEqMTBeMSBpcyBwcmludGVkIGFzIDFFKzEuCi0gICAgICAgICAgICAgICAgICAgIElmIDAsIHByaW50ZWQgYXMgMWUxCi0gICAgY2xhbXAgLSAgSWYgMSwgY2hhbmdlIGV4cG9uZW50cyBpZiB0b28gaGlnaCAoRGVmYXVsdCAwKQotICAgICIiIgotCi0gICAgZGVmIF9faW5pdF9fKHNlbGYsIHByZWM9Tm9uZSwgcm91bmRpbmc9Tm9uZSwgRW1pbj1Ob25lLCBFbWF4PU5vbmUsCi0gICAgICAgICAgICAgICAgICAgICAgIGNhcGl0YWxzPU5vbmUsIGNsYW1wPU5vbmUsIGZsYWdzPU5vbmUsIHRyYXBzPU5vbmUsCi0gICAgICAgICAgICAgICAgICAgICAgIF9pZ25vcmVkX2ZsYWdzPU5vbmUpOgotICAgICAgICAjIFNldCBkZWZhdWx0czsgZm9yIGV2ZXJ5dGhpbmcgZXhjZXB0IGZsYWdzIGFuZCBfaWdub3JlZF9mbGFncywKLSAgICAgICAgIyBpbmhlcml0IGZyb20gRGVmYXVsdENvbnRleHQuCi0gICAgICAgIHRyeToKLSAgICAgICAgICAgIGRjID0gRGVmYXVsdENvbnRleHQKLSAgICAgICAgZXhjZXB0IE5hbWVFcnJvcjoKLSAgICAgICAgICAgIHBhc3MKLQotICAgICAgICBzZWxmLnByZWMgPSBwcmVjIGlmIHByZWMgaXMgbm90IE5vbmUgZWxzZSBkYy5wcmVjCi0gICAgICAgIHNlbGYucm91bmRpbmcgPSByb3VuZGluZyBpZiByb3VuZGluZyBpcyBub3QgTm9uZSBlbHNlIGRjLnJvdW5kaW5nCi0gICAgICAgIHNlbGYuRW1pbiA9IEVtaW4gaWYgRW1pbiBpcyBub3QgTm9uZSBlbHNlIGRjLkVtaW4KLSAgICAgICAgc2VsZi5FbWF4ID0gRW1heCBpZiBFbWF4IGlzIG5vdCBOb25lIGVsc2UgZGMuRW1heAotICAgICAgICBzZWxmLmNhcGl0YWxzID0gY2FwaXRhbHMgaWYgY2FwaXRhbHMgaXMgbm90IE5vbmUgZWxzZSBkYy5jYXBpdGFscwotICAgICAgICBzZWxmLmNsYW1wID0gY2xhbXAgaWYgY2xhbXAgaXMgbm90IE5vbmUgZWxzZSBkYy5jbGFtcAotCi0gICAgICAgIGlmIF9pZ25vcmVkX2ZsYWdzIGlzIE5vbmU6Ci0gICAgICAgICAgICBzZWxmLl9pZ25vcmVkX2ZsYWdzID0gW10KLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHNlbGYuX2lnbm9yZWRfZmxhZ3MgPSBfaWdub3JlZF9mbGFncwotCi0gICAgICAgIGlmIHRyYXBzIGlzIE5vbmU6Ci0gICAgICAgICAgICBzZWxmLnRyYXBzID0gZGMudHJhcHMuY29weSgpCi0gICAgICAgIGVsaWYgbm90IGlzaW5zdGFuY2UodHJhcHMsIGRpY3QpOgotICAgICAgICAgICAgc2VsZi50cmFwcyA9IGRpY3QoKHMsIGludChzIGluIHRyYXBzKSkgZm9yIHMgaW4gX3NpZ25hbHMgKyB0cmFwcykKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHNlbGYudHJhcHMgPSB0cmFwcwotCi0gICAgICAgIGlmIGZsYWdzIGlzIE5vbmU6Ci0gICAgICAgICAgICBzZWxmLmZsYWdzID0gZGljdC5mcm9ta2V5cyhfc2lnbmFscywgMCkKLSAgICAgICAgZWxpZiBub3QgaXNpbnN0YW5jZShmbGFncywgZGljdCk6Ci0gICAgICAgICAgICBzZWxmLmZsYWdzID0gZGljdCgocywgaW50KHMgaW4gZmxhZ3MpKSBmb3IgcyBpbiBfc2lnbmFscyArIGZsYWdzKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgc2VsZi5mbGFncyA9IGZsYWdzCi0KLSAgICBkZWYgX3NldF9pbnRlZ2VyX2NoZWNrKHNlbGYsIG5hbWUsIHZhbHVlLCB2bWluLCB2bWF4KToKLSAgICAgICAgaWYgbm90IGlzaW5zdGFuY2UodmFsdWUsIGludCk6Ci0gICAgICAgICAgICByYWlzZSBUeXBlRXJyb3IoIiVzIG11c3QgYmUgYW4gaW50ZWdlciIgJSBuYW1lKQotICAgICAgICBpZiB2bWluID09ICctaW5mJzoKLSAgICAgICAgICAgIGlmIHZhbHVlID4gdm1heDoKLSAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCIlcyBtdXN0IGJlIGluIFslcywgJWRdLiBnb3Q6ICVzIiAlIChuYW1lLCB2bWluLCB2bWF4LCB2YWx1ZSkpCi0gICAgICAgIGVsaWYgdm1heCA9PSAnaW5mJzoKLSAgICAgICAgICAgIGlmIHZhbHVlIDwgdm1pbjoKLSAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCIlcyBtdXN0IGJlIGluIFslZCwgJXNdLiBnb3Q6ICVzIiAlIChuYW1lLCB2bWluLCB2bWF4LCB2YWx1ZSkpCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBpZiB2YWx1ZSA8IHZtaW4gb3IgdmFsdWUgPiB2bWF4OgotICAgICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIiVzIG11c3QgYmUgaW4gWyVkLCAlZF0uIGdvdCAlcyIgJSAobmFtZSwgdm1pbiwgdm1heCwgdmFsdWUpKQotICAgICAgICByZXR1cm4gb2JqZWN0Ll9fc2V0YXR0cl9fKHNlbGYsIG5hbWUsIHZhbHVlKQotCi0gICAgZGVmIF9zZXRfc2lnbmFsX2RpY3Qoc2VsZiwgbmFtZSwgZCk6Ci0gICAgICAgIGlmIG5vdCBpc2luc3RhbmNlKGQsIGRpY3QpOgotICAgICAgICAgICAgcmFpc2UgVHlwZUVycm9yKCIlcyBtdXN0IGJlIGEgc2lnbmFsIGRpY3QiICUgZCkKLSAgICAgICAgZm9yIGtleSBpbiBkOgotICAgICAgICAgICAgaWYgbm90IGtleSBpbiBfc2lnbmFsczoKLSAgICAgICAgICAgICAgICByYWlzZSBLZXlFcnJvcigiJXMgaXMgbm90IGEgdmFsaWQgc2lnbmFsIGRpY3QiICUgZCkKLSAgICAgICAgZm9yIGtleSBpbiBfc2lnbmFsczoKLSAgICAgICAgICAgIGlmIG5vdCBrZXkgaW4gZDoKLSAgICAgICAgICAgICAgICByYWlzZSBLZXlFcnJvcigiJXMgaXMgbm90IGEgdmFsaWQgc2lnbmFsIGRpY3QiICUgZCkKLSAgICAgICAgcmV0dXJuIG9iamVjdC5fX3NldGF0dHJfXyhzZWxmLCBuYW1lLCBkKQotCi0gICAgZGVmIF9fc2V0YXR0cl9fKHNlbGYsIG5hbWUsIHZhbHVlKToKLSAgICAgICAgaWYgbmFtZSA9PSAncHJlYyc6Ci0gICAgICAgICAgICByZXR1cm4gc2VsZi5fc2V0X2ludGVnZXJfY2hlY2sobmFtZSwgdmFsdWUsIDEsICdpbmYnKQotICAgICAgICBlbGlmIG5hbWUgPT0gJ0VtaW4nOgotICAgICAgICAgICAgcmV0dXJuIHNlbGYuX3NldF9pbnRlZ2VyX2NoZWNrKG5hbWUsIHZhbHVlLCAnLWluZicsIDApCi0gICAgICAgIGVsaWYgbmFtZSA9PSAnRW1heCc6Ci0gICAgICAgICAgICByZXR1cm4gc2VsZi5fc2V0X2ludGVnZXJfY2hlY2sobmFtZSwgdmFsdWUsIDAsICdpbmYnKQotICAgICAgICBlbGlmIG5hbWUgPT0gJ2NhcGl0YWxzJzoKLSAgICAgICAgICAgIHJldHVybiBzZWxmLl9zZXRfaW50ZWdlcl9jaGVjayhuYW1lLCB2YWx1ZSwgMCwgMSkKLSAgICAgICAgZWxpZiBuYW1lID09ICdjbGFtcCc6Ci0gICAgICAgICAgICByZXR1cm4gc2VsZi5fc2V0X2ludGVnZXJfY2hlY2sobmFtZSwgdmFsdWUsIDAsIDEpCi0gICAgICAgIGVsaWYgbmFtZSA9PSAncm91bmRpbmcnOgotICAgICAgICAgICAgaWYgbm90IHZhbHVlIGluIF9yb3VuZGluZ19tb2RlczoKLSAgICAgICAgICAgICAgICAjIHJhaXNlIFR5cGVFcnJvciBldmVuIGZvciBzdHJpbmdzIHRvIGhhdmUgY29uc2lzdGVuY3kKLSAgICAgICAgICAgICAgICAjIGFtb25nIHZhcmlvdXMgaW1wbGVtZW50YXRpb25zLgotICAgICAgICAgICAgICAgIHJhaXNlIFR5cGVFcnJvcigiJXM6IGludmFsaWQgcm91bmRpbmcgbW9kZSIgJSB2YWx1ZSkKLSAgICAgICAgICAgIHJldHVybiBvYmplY3QuX19zZXRhdHRyX18oc2VsZiwgbmFtZSwgdmFsdWUpCi0gICAgICAgIGVsaWYgbmFtZSA9PSAnZmxhZ3MnIG9yIG5hbWUgPT0gJ3RyYXBzJzoKLSAgICAgICAgICAgIHJldHVybiBzZWxmLl9zZXRfc2lnbmFsX2RpY3QobmFtZSwgdmFsdWUpCi0gICAgICAgIGVsaWYgbmFtZSA9PSAnX2lnbm9yZWRfZmxhZ3MnOgotICAgICAgICAgICAgcmV0dXJuIG9iamVjdC5fX3NldGF0dHJfXyhzZWxmLCBuYW1lLCB2YWx1ZSkKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHJhaXNlIEF0dHJpYnV0ZUVycm9yKAotICAgICAgICAgICAgICAgICInZGVjaW1hbC5Db250ZXh0JyBvYmplY3QgaGFzIG5vIGF0dHJpYnV0ZSAnJXMnIiAlIG5hbWUpCi0KLSAgICBkZWYgX19kZWxhdHRyX18oc2VsZiwgbmFtZSk6Ci0gICAgICAgIHJhaXNlIEF0dHJpYnV0ZUVycm9yKCIlcyBjYW5ub3QgYmUgZGVsZXRlZCIgJSBuYW1lKQotCi0gICAgIyBTdXBwb3J0IGZvciBwaWNrbGluZywgY29weSwgYW5kIGRlZXBjb3B5Ci0gICAgZGVmIF9fcmVkdWNlX18oc2VsZik6Ci0gICAgICAgIGZsYWdzID0gW3NpZyBmb3Igc2lnLCB2IGluIHNlbGYuZmxhZ3MuaXRlbXMoKSBpZiB2XQotICAgICAgICB0cmFwcyA9IFtzaWcgZm9yIHNpZywgdiBpbiBzZWxmLnRyYXBzLml0ZW1zKCkgaWYgdl0KLSAgICAgICAgcmV0dXJuIChzZWxmLl9fY2xhc3NfXywKLSAgICAgICAgICAgICAgICAoc2VsZi5wcmVjLCBzZWxmLnJvdW5kaW5nLCBzZWxmLkVtaW4sIHNlbGYuRW1heCwKLSAgICAgICAgICAgICAgICAgc2VsZi5jYXBpdGFscywgc2VsZi5jbGFtcCwgZmxhZ3MsIHRyYXBzKSkKLQotICAgIGRlZiBfX3JlcHJfXyhzZWxmKToKLSAgICAgICAgIiIiU2hvdyB0aGUgY3VycmVudCBjb250ZXh0LiIiIgotICAgICAgICBzID0gW10KLSAgICAgICAgcy5hcHBlbmQoJ0NvbnRleHQocHJlYz0lKHByZWMpZCwgcm91bmRpbmc9JShyb3VuZGluZylzLCAnCi0gICAgICAgICAgICAgICAgICdFbWluPSUoRW1pbilkLCBFbWF4PSUoRW1heClkLCBjYXBpdGFscz0lKGNhcGl0YWxzKWQsICcKLSAgICAgICAgICAgICAgICAgJ2NsYW1wPSUoY2xhbXApZCcKLSAgICAgICAgICAgICAgICAgJSB2YXJzKHNlbGYpKQotICAgICAgICBuYW1lcyA9IFtmLl9fbmFtZV9fIGZvciBmLCB2IGluIHNlbGYuZmxhZ3MuaXRlbXMoKSBpZiB2XQotICAgICAgICBzLmFwcGVuZCgnZmxhZ3M9WycgKyAnLCAnLmpvaW4obmFtZXMpICsgJ10nKQotICAgICAgICBuYW1lcyA9IFt0Ll9fbmFtZV9fIGZvciB0LCB2IGluIHNlbGYudHJhcHMuaXRlbXMoKSBpZiB2XQotICAgICAgICBzLmFwcGVuZCgndHJhcHM9WycgKyAnLCAnLmpvaW4obmFtZXMpICsgJ10nKQotICAgICAgICByZXR1cm4gJywgJy5qb2luKHMpICsgJyknCi0KLSAgICBkZWYgY2xlYXJfZmxhZ3Moc2VsZik6Ci0gICAgICAgICIiIlJlc2V0IGFsbCBmbGFncyB0byB6ZXJvIiIiCi0gICAgICAgIGZvciBmbGFnIGluIHNlbGYuZmxhZ3M6Ci0gICAgICAgICAgICBzZWxmLmZsYWdzW2ZsYWddID0gMAotCi0gICAgZGVmIGNsZWFyX3RyYXBzKHNlbGYpOgotICAgICAgICAiIiJSZXNldCBhbGwgdHJhcHMgdG8gemVybyIiIgotICAgICAgICBmb3IgZmxhZyBpbiBzZWxmLnRyYXBzOgotICAgICAgICAgICAgc2VsZi50cmFwc1tmbGFnXSA9IDAKLQotICAgIGRlZiBfc2hhbGxvd19jb3B5KHNlbGYpOgotICAgICAgICAiIiJSZXR1cm5zIGEgc2hhbGxvdyBjb3B5IGZyb20gc2VsZi4iIiIKLSAgICAgICAgbmMgPSBDb250ZXh0KHNlbGYucHJlYywgc2VsZi5yb3VuZGluZywgc2VsZi5FbWluLCBzZWxmLkVtYXgsCi0gICAgICAgICAgICAgICAgICAgICBzZWxmLmNhcGl0YWxzLCBzZWxmLmNsYW1wLCBzZWxmLmZsYWdzLCBzZWxmLnRyYXBzLAotICAgICAgICAgICAgICAgICAgICAgc2VsZi5faWdub3JlZF9mbGFncykKLSAgICAgICAgcmV0dXJuIG5jCi0KLSAgICBkZWYgY29weShzZWxmKToKLSAgICAgICAgIiIiUmV0dXJucyBhIGRlZXAgY29weSBmcm9tIHNlbGYuIiIiCi0gICAgICAgIG5jID0gQ29udGV4dChzZWxmLnByZWMsIHNlbGYucm91bmRpbmcsIHNlbGYuRW1pbiwgc2VsZi5FbWF4LAotICAgICAgICAgICAgICAgICAgICAgc2VsZi5jYXBpdGFscywgc2VsZi5jbGFtcCwKLSAgICAgICAgICAgICAgICAgICAgIHNlbGYuZmxhZ3MuY29weSgpLCBzZWxmLnRyYXBzLmNvcHkoKSwKLSAgICAgICAgICAgICAgICAgICAgIHNlbGYuX2lnbm9yZWRfZmxhZ3MpCi0gICAgICAgIHJldHVybiBuYwotICAgIF9fY29weV9fID0gY29weQotCi0gICAgZGVmIF9yYWlzZV9lcnJvcihzZWxmLCBjb25kaXRpb24sIGV4cGxhbmF0aW9uID0gTm9uZSwgKmFyZ3MpOgotICAgICAgICAiIiJIYW5kbGVzIGFuIGVycm9yCi0KLSAgICAgICAgSWYgdGhlIGZsYWcgaXMgaW4gX2lnbm9yZWRfZmxhZ3MsIHJldHVybnMgdGhlIGRlZmF1bHQgcmVzcG9uc2UuCi0gICAgICAgIE90aGVyd2lzZSwgaXQgc2V0cyB0aGUgZmxhZywgdGhlbiwgaWYgdGhlIGNvcnJlc3BvbmRpbmcKLSAgICAgICAgdHJhcF9lbmFibGVyIGlzIHNldCwgaXQgcmVyYWlzZXMgdGhlIGV4Y2VwdGlvbi4gIE90aGVyd2lzZSwgaXQgcmV0dXJucwotICAgICAgICB0aGUgZGVmYXVsdCB2YWx1ZSBhZnRlciBzZXR0aW5nIHRoZSBmbGFnLgotICAgICAgICAiIiIKLSAgICAgICAgZXJyb3IgPSBfY29uZGl0aW9uX21hcC5nZXQoY29uZGl0aW9uLCBjb25kaXRpb24pCi0gICAgICAgIGlmIGVycm9yIGluIHNlbGYuX2lnbm9yZWRfZmxhZ3M6Ci0gICAgICAgICAgICAjIERvbid0IHRvdWNoIHRoZSBmbGFnCi0gICAgICAgICAgICByZXR1cm4gZXJyb3IoKS5oYW5kbGUoc2VsZiwgKmFyZ3MpCi0KLSAgICAgICAgc2VsZi5mbGFnc1tlcnJvcl0gPSAxCi0gICAgICAgIGlmIG5vdCBzZWxmLnRyYXBzW2Vycm9yXToKLSAgICAgICAgICAgICMgVGhlIGVycm9ycyBkZWZpbmUgaG93IHRvIGhhbmRsZSB0aGVtc2VsdmVzLgotICAgICAgICAgICAgcmV0dXJuIGNvbmRpdGlvbigpLmhhbmRsZShzZWxmLCAqYXJncykKLQotICAgICAgICAjIEVycm9ycyBzaG91bGQgb25seSBiZSByaXNrZWQgb24gY29waWVzIG9mIHRoZSBjb250ZXh0Ci0gICAgICAgICMgc2VsZi5faWdub3JlZF9mbGFncyA9IFtdCi0gICAgICAgIHJhaXNlIGVycm9yKGV4cGxhbmF0aW9uKQotCi0gICAgZGVmIF9pZ25vcmVfYWxsX2ZsYWdzKHNlbGYpOgotICAgICAgICAiIiJJZ25vcmUgYWxsIGZsYWdzLCBpZiB0aGV5IGFyZSByYWlzZWQiIiIKLSAgICAgICAgcmV0dXJuIHNlbGYuX2lnbm9yZV9mbGFncygqX3NpZ25hbHMpCi0KLSAgICBkZWYgX2lnbm9yZV9mbGFncyhzZWxmLCAqZmxhZ3MpOgotICAgICAgICAiIiJJZ25vcmUgdGhlIGZsYWdzLCBpZiB0aGV5IGFyZSByYWlzZWQiIiIKLSAgICAgICAgIyBEbyBub3QgbXV0YXRlLS0gVGhpcyB3YXksIGNvcGllcyBvZiBhIGNvbnRleHQgbGVhdmUgdGhlIG9yaWdpbmFsCi0gICAgICAgICMgYWxvbmUuCi0gICAgICAgIHNlbGYuX2lnbm9yZWRfZmxhZ3MgPSAoc2VsZi5faWdub3JlZF9mbGFncyArIGxpc3QoZmxhZ3MpKQotICAgICAgICByZXR1cm4gbGlzdChmbGFncykKLQotICAgIGRlZiBfcmVnYXJkX2ZsYWdzKHNlbGYsICpmbGFncyk6Ci0gICAgICAgICIiIlN0b3AgaWdub3JpbmcgdGhlIGZsYWdzLCBpZiB0aGV5IGFyZSByYWlzZWQiIiIKLSAgICAgICAgaWYgZmxhZ3MgYW5kIGlzaW5zdGFuY2UoZmxhZ3NbMF0sICh0dXBsZSxsaXN0KSk6Ci0gICAgICAgICAgICBmbGFncyA9IGZsYWdzWzBdCi0gICAgICAgIGZvciBmbGFnIGluIGZsYWdzOgotICAgICAgICAgICAgc2VsZi5faWdub3JlZF9mbGFncy5yZW1vdmUoZmxhZykKLQotICAgICMgV2UgaW5oZXJpdCBvYmplY3QuX19oYXNoX18sIHNvIHdlIG11c3QgZGVueSB0aGlzIGV4cGxpY2l0bHkKLSAgICBfX2hhc2hfXyA9IE5vbmUKLQotICAgIGRlZiBFdGlueShzZWxmKToKLSAgICAgICAgIiIiUmV0dXJucyBFdGlueSAoPSBFbWluIC0gcHJlYyArIDEpIiIiCi0gICAgICAgIHJldHVybiBpbnQoc2VsZi5FbWluIC0gc2VsZi5wcmVjICsgMSkKLQotICAgIGRlZiBFdG9wKHNlbGYpOgotICAgICAgICAiIiJSZXR1cm5zIG1heGltdW0gZXhwb25lbnQgKD0gRW1heCAtIHByZWMgKyAxKSIiIgotICAgICAgICByZXR1cm4gaW50KHNlbGYuRW1heCAtIHNlbGYucHJlYyArIDEpCi0KLSAgICBkZWYgX3NldF9yb3VuZGluZyhzZWxmLCB0eXBlKToKLSAgICAgICAgIiIiU2V0cyB0aGUgcm91bmRpbmcgdHlwZS4KLQotICAgICAgICBTZXRzIHRoZSByb3VuZGluZyB0eXBlLCBhbmQgcmV0dXJucyB0aGUgY3VycmVudCAocHJldmlvdXMpCi0gICAgICAgIHJvdW5kaW5nIHR5cGUuICBPZnRlbiB1c2VkIGxpa2U6Ci0KLSAgICAgICAgY29udGV4dCA9IGNvbnRleHQuY29weSgpCi0gICAgICAgICMgc28geW91IGRvbid0IGNoYW5nZSB0aGUgY2FsbGluZyBjb250ZXh0Ci0gICAgICAgICMgaWYgYW4gZXJyb3Igb2NjdXJzIGluIHRoZSBtaWRkbGUuCi0gICAgICAgIHJvdW5kaW5nID0gY29udGV4dC5fc2V0X3JvdW5kaW5nKFJPVU5EX1VQKQotICAgICAgICB2YWwgPSBzZWxmLl9fc3ViX18ob3RoZXIsIGNvbnRleHQ9Y29udGV4dCkKLSAgICAgICAgY29udGV4dC5fc2V0X3JvdW5kaW5nKHJvdW5kaW5nKQotCi0gICAgICAgIFRoaXMgd2lsbCBtYWtlIGl0IHJvdW5kIHVwIGZvciB0aGF0IG9wZXJhdGlvbi4KLSAgICAgICAgIiIiCi0gICAgICAgIHJvdW5kaW5nID0gc2VsZi5yb3VuZGluZwotICAgICAgICBzZWxmLnJvdW5kaW5nPSB0eXBlCi0gICAgICAgIHJldHVybiByb3VuZGluZwotCi0gICAgZGVmIGNyZWF0ZV9kZWNpbWFsKHNlbGYsIG51bT0nMCcpOgotICAgICAgICAiIiJDcmVhdGVzIGEgbmV3IERlY2ltYWwgaW5zdGFuY2UgYnV0IHVzaW5nIHNlbGYgYXMgY29udGV4dC4KLQotICAgICAgICBUaGlzIG1ldGhvZCBpbXBsZW1lbnRzIHRoZSB0by1udW1iZXIgb3BlcmF0aW9uIG9mIHRoZQotICAgICAgICBJQk0gRGVjaW1hbCBzcGVjaWZpY2F0aW9uLiIiIgotCi0gICAgICAgIGlmIGlzaW5zdGFuY2UobnVtLCBzdHIpIGFuZCBudW0gIT0gbnVtLnN0cmlwKCk6Ci0gICAgICAgICAgICByZXR1cm4gc2VsZi5fcmFpc2VfZXJyb3IoQ29udmVyc2lvblN5bnRheCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibm8gdHJhaWxpbmcgb3IgbGVhZGluZyB3aGl0ZXNwYWNlIGlzICIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGVybWl0dGVkLiIpCi0KLSAgICAgICAgZCA9IERlY2ltYWwobnVtLCBjb250ZXh0PXNlbGYpCi0gICAgICAgIGlmIGQuX2lzbmFuKCkgYW5kIGxlbihkLl9pbnQpID4gc2VsZi5wcmVjIC0gc2VsZi5jbGFtcDoKLSAgICAgICAgICAgIHJldHVybiBzZWxmLl9yYWlzZV9lcnJvcihDb252ZXJzaW9uU3ludGF4LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkaWFnbm9zdGljIGluZm8gdG9vIGxvbmcgaW4gTmFOIikKLSAgICAgICAgcmV0dXJuIGQuX2ZpeChzZWxmKQotCi0gICAgZGVmIGNyZWF0ZV9kZWNpbWFsX2Zyb21fZmxvYXQoc2VsZiwgZik6Ci0gICAgICAgICIiIkNyZWF0ZXMgYSBuZXcgRGVjaW1hbCBpbnN0YW5jZSBmcm9tIGEgZmxvYXQgYnV0IHJvdW5kaW5nIHVzaW5nIHNlbGYKLSAgICAgICAgYXMgdGhlIGNvbnRleHQuCi0KLSAgICAgICAgPj4+IGNvbnRleHQgPSBDb250ZXh0KHByZWM9NSwgcm91bmRpbmc9Uk9VTkRfRE9XTikKLSAgICAgICAgPj4+IGNvbnRleHQuY3JlYXRlX2RlY2ltYWxfZnJvbV9mbG9hdCgzLjE0MTU5MjY1MzU4OTc5MzIpCi0gICAgICAgIERlY2ltYWwoJzMuMTQxNScpCi0gICAgICAgID4+PiBjb250ZXh0ID0gQ29udGV4dChwcmVjPTUsIHRyYXBzPVtJbmV4YWN0XSkKLSAgICAgICAgPj4+IGNvbnRleHQuY3JlYXRlX2RlY2ltYWxfZnJvbV9mbG9hdCgzLjE0MTU5MjY1MzU4OTc5MzIpCi0gICAgICAgIFRyYWNlYmFjayAobW9zdCByZWNlbnQgY2FsbCBsYXN0KToKLSAgICAgICAgICAgIC4uLgotICAgICAgICBkZWNpbWFsLkluZXhhY3Q6IE5vbmUKLQotICAgICAgICAiIiIKLSAgICAgICAgZCA9IERlY2ltYWwuZnJvbV9mbG9hdChmKSAgICAgICAjIEFuIGV4YWN0IGNvbnZlcnNpb24KLSAgICAgICAgcmV0dXJuIGQuX2ZpeChzZWxmKSAgICAgICAgICAgICAjIEFwcGx5IHRoZSBjb250ZXh0IHJvdW5kaW5nCi0KLSAgICAjIE1ldGhvZHMKLSAgICBkZWYgYWJzKHNlbGYsIGEpOgotICAgICAgICAiIiJSZXR1cm5zIHRoZSBhYnNvbHV0ZSB2YWx1ZSBvZiB0aGUgb3BlcmFuZC4KLQotICAgICAgICBJZiB0aGUgb3BlcmFuZCBpcyBuZWdhdGl2ZSwgdGhlIHJlc3VsdCBpcyB0aGUgc2FtZSBhcyB1c2luZyB0aGUgbWludXMKLSAgICAgICAgb3BlcmF0aW9uIG9uIHRoZSBvcGVyYW5kLiAgT3RoZXJ3aXNlLCB0aGUgcmVzdWx0IGlzIHRoZSBzYW1lIGFzIHVzaW5nCi0gICAgICAgIHRoZSBwbHVzIG9wZXJhdGlvbiBvbiB0aGUgb3BlcmFuZC4KLQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmFicyhEZWNpbWFsKCcyLjEnKSkKLSAgICAgICAgRGVjaW1hbCgnMi4xJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5hYnMoRGVjaW1hbCgnLTEwMCcpKQotICAgICAgICBEZWNpbWFsKCcxMDAnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmFicyhEZWNpbWFsKCcxMDEuNScpKQotICAgICAgICBEZWNpbWFsKCcxMDEuNScpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuYWJzKERlY2ltYWwoJy0xMDEuNScpKQotICAgICAgICBEZWNpbWFsKCcxMDEuNScpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuYWJzKC0xKQotICAgICAgICBEZWNpbWFsKCcxJykKLSAgICAgICAgIiIiCi0gICAgICAgIGEgPSBfY29udmVydF9vdGhlcihhLCByYWlzZWl0PVRydWUpCi0gICAgICAgIHJldHVybiBhLl9fYWJzX18oY29udGV4dD1zZWxmKQotCi0gICAgZGVmIGFkZChzZWxmLCBhLCBiKToKLSAgICAgICAgIiIiUmV0dXJuIHRoZSBzdW0gb2YgdGhlIHR3byBvcGVyYW5kcy4KLQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmFkZChEZWNpbWFsKCcxMicpLCBEZWNpbWFsKCc3LjAwJykpCi0gICAgICAgIERlY2ltYWwoJzE5LjAwJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5hZGQoRGVjaW1hbCgnMUUrMicpLCBEZWNpbWFsKCcxLjAxRSs0JykpCi0gICAgICAgIERlY2ltYWwoJzEuMDJFKzQnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmFkZCgxLCBEZWNpbWFsKDIpKQotICAgICAgICBEZWNpbWFsKCczJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5hZGQoRGVjaW1hbCg4KSwgNSkKLSAgICAgICAgRGVjaW1hbCgnMTMnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmFkZCg1LCA1KQotICAgICAgICBEZWNpbWFsKCcxMCcpCi0gICAgICAgICIiIgotICAgICAgICBhID0gX2NvbnZlcnRfb3RoZXIoYSwgcmFpc2VpdD1UcnVlKQotICAgICAgICByID0gYS5fX2FkZF9fKGIsIGNvbnRleHQ9c2VsZikKLSAgICAgICAgaWYgciBpcyBOb3RJbXBsZW1lbnRlZDoKLSAgICAgICAgICAgIHJhaXNlIFR5cGVFcnJvcigiVW5hYmxlIHRvIGNvbnZlcnQgJXMgdG8gRGVjaW1hbCIgJSBiKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgcmV0dXJuIHIKLQotICAgIGRlZiBfYXBwbHkoc2VsZiwgYSk6Ci0gICAgICAgIHJldHVybiBzdHIoYS5fZml4KHNlbGYpKQotCi0gICAgZGVmIGNhbm9uaWNhbChzZWxmLCBhKToKLSAgICAgICAgIiIiUmV0dXJucyB0aGUgc2FtZSBEZWNpbWFsIG9iamVjdC4KLQotICAgICAgICBBcyB3ZSBkbyBub3QgaGF2ZSBkaWZmZXJlbnQgZW5jb2RpbmdzIGZvciB0aGUgc2FtZSBudW1iZXIsIHRoZQotICAgICAgICByZWNlaXZlZCBvYmplY3QgYWxyZWFkeSBpcyBpbiBpdHMgY2Fub25pY2FsIGZvcm0uCi0KLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5jYW5vbmljYWwoRGVjaW1hbCgnMi41MCcpKQotICAgICAgICBEZWNpbWFsKCcyLjUwJykKLSAgICAgICAgIiIiCi0gICAgICAgIGlmIG5vdCBpc2luc3RhbmNlKGEsIERlY2ltYWwpOgotICAgICAgICAgICAgcmFpc2UgVHlwZUVycm9yKCJjYW5vbmljYWwgcmVxdWlyZXMgYSBEZWNpbWFsIGFzIGFuIGFyZ3VtZW50LiIpCi0gICAgICAgIHJldHVybiBhLmNhbm9uaWNhbCgpCi0KLSAgICBkZWYgY29tcGFyZShzZWxmLCBhLCBiKToKLSAgICAgICAgIiIiQ29tcGFyZXMgdmFsdWVzIG51bWVyaWNhbGx5LgotCi0gICAgICAgIElmIHRoZSBzaWducyBvZiB0aGUgb3BlcmFuZHMgZGlmZmVyLCBhIHZhbHVlIHJlcHJlc2VudGluZyBlYWNoIG9wZXJhbmQKLSAgICAgICAgKCctMScgaWYgdGhlIG9wZXJhbmQgaXMgbGVzcyB0aGFuIHplcm8sICcwJyBpZiB0aGUgb3BlcmFuZCBpcyB6ZXJvIG9yCi0gICAgICAgIG5lZ2F0aXZlIHplcm8sIG9yICcxJyBpZiB0aGUgb3BlcmFuZCBpcyBncmVhdGVyIHRoYW4gemVybykgaXMgdXNlZCBpbgotICAgICAgICBwbGFjZSBvZiB0aGF0IG9wZXJhbmQgZm9yIHRoZSBjb21wYXJpc29uIGluc3RlYWQgb2YgdGhlIGFjdHVhbAotICAgICAgICBvcGVyYW5kLgotCi0gICAgICAgIFRoZSBjb21wYXJpc29uIGlzIHRoZW4gZWZmZWN0ZWQgYnkgc3VidHJhY3RpbmcgdGhlIHNlY29uZCBvcGVyYW5kIGZyb20KLSAgICAgICAgdGhlIGZpcnN0IGFuZCB0aGVuIHJldHVybmluZyBhIHZhbHVlIGFjY29yZGluZyB0byB0aGUgcmVzdWx0IG9mIHRoZQotICAgICAgICBzdWJ0cmFjdGlvbjogJy0xJyBpZiB0aGUgcmVzdWx0IGlzIGxlc3MgdGhhbiB6ZXJvLCAnMCcgaWYgdGhlIHJlc3VsdCBpcwotICAgICAgICB6ZXJvIG9yIG5lZ2F0aXZlIHplcm8sIG9yICcxJyBpZiB0aGUgcmVzdWx0IGlzIGdyZWF0ZXIgdGhhbiB6ZXJvLgotCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuY29tcGFyZShEZWNpbWFsKCcyLjEnKSwgRGVjaW1hbCgnMycpKQotICAgICAgICBEZWNpbWFsKCctMScpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuY29tcGFyZShEZWNpbWFsKCcyLjEnKSwgRGVjaW1hbCgnMi4xJykpCi0gICAgICAgIERlY2ltYWwoJzAnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmNvbXBhcmUoRGVjaW1hbCgnMi4xJyksIERlY2ltYWwoJzIuMTAnKSkKLSAgICAgICAgRGVjaW1hbCgnMCcpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuY29tcGFyZShEZWNpbWFsKCczJyksIERlY2ltYWwoJzIuMScpKQotICAgICAgICBEZWNpbWFsKCcxJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5jb21wYXJlKERlY2ltYWwoJzIuMScpLCBEZWNpbWFsKCctMycpKQotICAgICAgICBEZWNpbWFsKCcxJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5jb21wYXJlKERlY2ltYWwoJy0zJyksIERlY2ltYWwoJzIuMScpKQotICAgICAgICBEZWNpbWFsKCctMScpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuY29tcGFyZSgxLCAyKQotICAgICAgICBEZWNpbWFsKCctMScpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuY29tcGFyZShEZWNpbWFsKDEpLCAyKQotICAgICAgICBEZWNpbWFsKCctMScpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuY29tcGFyZSgxLCBEZWNpbWFsKDIpKQotICAgICAgICBEZWNpbWFsKCctMScpCi0gICAgICAgICIiIgotICAgICAgICBhID0gX2NvbnZlcnRfb3RoZXIoYSwgcmFpc2VpdD1UcnVlKQotICAgICAgICByZXR1cm4gYS5jb21wYXJlKGIsIGNvbnRleHQ9c2VsZikKLQotICAgIGRlZiBjb21wYXJlX3NpZ25hbChzZWxmLCBhLCBiKToKLSAgICAgICAgIiIiQ29tcGFyZXMgdGhlIHZhbHVlcyBvZiB0aGUgdHdvIG9wZXJhbmRzIG51bWVyaWNhbGx5LgotCi0gICAgICAgIEl0J3MgcHJldHR5IG11Y2ggbGlrZSBjb21wYXJlKCksIGJ1dCBhbGwgTmFOcyBzaWduYWwsIHdpdGggc2lnbmFsaW5nCi0gICAgICAgIE5hTnMgdGFraW5nIHByZWNlZGVuY2Ugb3ZlciBxdWlldCBOYU5zLgotCi0gICAgICAgID4+PiBjID0gRXh0ZW5kZWRDb250ZXh0Ci0gICAgICAgID4+PiBjLmNvbXBhcmVfc2lnbmFsKERlY2ltYWwoJzIuMScpLCBEZWNpbWFsKCczJykpCi0gICAgICAgIERlY2ltYWwoJy0xJykKLSAgICAgICAgPj4+IGMuY29tcGFyZV9zaWduYWwoRGVjaW1hbCgnMi4xJyksIERlY2ltYWwoJzIuMScpKQotICAgICAgICBEZWNpbWFsKCcwJykKLSAgICAgICAgPj4+IGMuZmxhZ3NbSW52YWxpZE9wZXJhdGlvbl0gPSAwCi0gICAgICAgID4+PiBwcmludChjLmZsYWdzW0ludmFsaWRPcGVyYXRpb25dKQotICAgICAgICAwCi0gICAgICAgID4+PiBjLmNvbXBhcmVfc2lnbmFsKERlY2ltYWwoJ05hTicpLCBEZWNpbWFsKCcyLjEnKSkKLSAgICAgICAgRGVjaW1hbCgnTmFOJykKLSAgICAgICAgPj4+IHByaW50KGMuZmxhZ3NbSW52YWxpZE9wZXJhdGlvbl0pCi0gICAgICAgIDEKLSAgICAgICAgPj4+IGMuZmxhZ3NbSW52YWxpZE9wZXJhdGlvbl0gPSAwCi0gICAgICAgID4+PiBwcmludChjLmZsYWdzW0ludmFsaWRPcGVyYXRpb25dKQotICAgICAgICAwCi0gICAgICAgID4+PiBjLmNvbXBhcmVfc2lnbmFsKERlY2ltYWwoJ3NOYU4nKSwgRGVjaW1hbCgnMi4xJykpCi0gICAgICAgIERlY2ltYWwoJ05hTicpCi0gICAgICAgID4+PiBwcmludChjLmZsYWdzW0ludmFsaWRPcGVyYXRpb25dKQotICAgICAgICAxCi0gICAgICAgID4+PiBjLmNvbXBhcmVfc2lnbmFsKC0xLCAyKQotICAgICAgICBEZWNpbWFsKCctMScpCi0gICAgICAgID4+PiBjLmNvbXBhcmVfc2lnbmFsKERlY2ltYWwoLTEpLCAyKQotICAgICAgICBEZWNpbWFsKCctMScpCi0gICAgICAgID4+PiBjLmNvbXBhcmVfc2lnbmFsKC0xLCBEZWNpbWFsKDIpKQotICAgICAgICBEZWNpbWFsKCctMScpCi0gICAgICAgICIiIgotICAgICAgICBhID0gX2NvbnZlcnRfb3RoZXIoYSwgcmFpc2VpdD1UcnVlKQotICAgICAgICByZXR1cm4gYS5jb21wYXJlX3NpZ25hbChiLCBjb250ZXh0PXNlbGYpCi0KLSAgICBkZWYgY29tcGFyZV90b3RhbChzZWxmLCBhLCBiKToKLSAgICAgICAgIiIiQ29tcGFyZXMgdHdvIG9wZXJhbmRzIHVzaW5nIHRoZWlyIGFic3RyYWN0IHJlcHJlc2VudGF0aW9uLgotCi0gICAgICAgIFRoaXMgaXMgbm90IGxpa2UgdGhlIHN0YW5kYXJkIGNvbXBhcmUsIHdoaWNoIHVzZSB0aGVpciBudW1lcmljYWwKLSAgICAgICAgdmFsdWUuIE5vdGUgdGhhdCBhIHRvdGFsIG9yZGVyaW5nIGlzIGRlZmluZWQgZm9yIGFsbCBwb3NzaWJsZSBhYnN0cmFjdAotICAgICAgICByZXByZXNlbnRhdGlvbnMuCi0KLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5jb21wYXJlX3RvdGFsKERlY2ltYWwoJzEyLjczJyksIERlY2ltYWwoJzEyNy45JykpCi0gICAgICAgIERlY2ltYWwoJy0xJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5jb21wYXJlX3RvdGFsKERlY2ltYWwoJy0xMjcnKSwgIERlY2ltYWwoJzEyJykpCi0gICAgICAgIERlY2ltYWwoJy0xJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5jb21wYXJlX3RvdGFsKERlY2ltYWwoJzEyLjMwJyksIERlY2ltYWwoJzEyLjMnKSkKLSAgICAgICAgRGVjaW1hbCgnLTEnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmNvbXBhcmVfdG90YWwoRGVjaW1hbCgnMTIuMzAnKSwgRGVjaW1hbCgnMTIuMzAnKSkKLSAgICAgICAgRGVjaW1hbCgnMCcpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuY29tcGFyZV90b3RhbChEZWNpbWFsKCcxMi4zJyksICBEZWNpbWFsKCcxMi4zMDAnKSkKLSAgICAgICAgRGVjaW1hbCgnMScpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuY29tcGFyZV90b3RhbChEZWNpbWFsKCcxMi4zJyksICBEZWNpbWFsKCdOYU4nKSkKLSAgICAgICAgRGVjaW1hbCgnLTEnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmNvbXBhcmVfdG90YWwoMSwgMikKLSAgICAgICAgRGVjaW1hbCgnLTEnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmNvbXBhcmVfdG90YWwoRGVjaW1hbCgxKSwgMikKLSAgICAgICAgRGVjaW1hbCgnLTEnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmNvbXBhcmVfdG90YWwoMSwgRGVjaW1hbCgyKSkKLSAgICAgICAgRGVjaW1hbCgnLTEnKQotICAgICAgICAiIiIKLSAgICAgICAgYSA9IF9jb252ZXJ0X290aGVyKGEsIHJhaXNlaXQ9VHJ1ZSkKLSAgICAgICAgcmV0dXJuIGEuY29tcGFyZV90b3RhbChiKQotCi0gICAgZGVmIGNvbXBhcmVfdG90YWxfbWFnKHNlbGYsIGEsIGIpOgotICAgICAgICAiIiJDb21wYXJlcyB0d28gb3BlcmFuZHMgdXNpbmcgdGhlaXIgYWJzdHJhY3QgcmVwcmVzZW50YXRpb24gaWdub3Jpbmcgc2lnbi4KLQotICAgICAgICBMaWtlIGNvbXBhcmVfdG90YWwsIGJ1dCB3aXRoIG9wZXJhbmQncyBzaWduIGlnbm9yZWQgYW5kIGFzc3VtZWQgdG8gYmUgMC4KLSAgICAgICAgIiIiCi0gICAgICAgIGEgPSBfY29udmVydF9vdGhlcihhLCByYWlzZWl0PVRydWUpCi0gICAgICAgIHJldHVybiBhLmNvbXBhcmVfdG90YWxfbWFnKGIpCi0KLSAgICBkZWYgY29weV9hYnMoc2VsZiwgYSk6Ci0gICAgICAgICIiIlJldHVybnMgYSBjb3B5IG9mIHRoZSBvcGVyYW5kIHdpdGggdGhlIHNpZ24gc2V0IHRvIDAuCi0KLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5jb3B5X2FicyhEZWNpbWFsKCcyLjEnKSkKLSAgICAgICAgRGVjaW1hbCgnMi4xJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5jb3B5X2FicyhEZWNpbWFsKCctMTAwJykpCi0gICAgICAgIERlY2ltYWwoJzEwMCcpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuY29weV9hYnMoLTEpCi0gICAgICAgIERlY2ltYWwoJzEnKQotICAgICAgICAiIiIKLSAgICAgICAgYSA9IF9jb252ZXJ0X290aGVyKGEsIHJhaXNlaXQ9VHJ1ZSkKLSAgICAgICAgcmV0dXJuIGEuY29weV9hYnMoKQotCi0gICAgZGVmIGNvcHlfZGVjaW1hbChzZWxmLCBhKToKLSAgICAgICAgIiIiUmV0dXJucyBhIGNvcHkgb2YgdGhlIGRlY2ltYWwgb2JqZWN0LgotCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuY29weV9kZWNpbWFsKERlY2ltYWwoJzIuMScpKQotICAgICAgICBEZWNpbWFsKCcyLjEnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmNvcHlfZGVjaW1hbChEZWNpbWFsKCctMS4wMCcpKQotICAgICAgICBEZWNpbWFsKCctMS4wMCcpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuY29weV9kZWNpbWFsKDEpCi0gICAgICAgIERlY2ltYWwoJzEnKQotICAgICAgICAiIiIKLSAgICAgICAgYSA9IF9jb252ZXJ0X290aGVyKGEsIHJhaXNlaXQ9VHJ1ZSkKLSAgICAgICAgcmV0dXJuIERlY2ltYWwoYSkKLQotICAgIGRlZiBjb3B5X25lZ2F0ZShzZWxmLCBhKToKLSAgICAgICAgIiIiUmV0dXJucyBhIGNvcHkgb2YgdGhlIG9wZXJhbmQgd2l0aCB0aGUgc2lnbiBpbnZlcnRlZC4KLQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmNvcHlfbmVnYXRlKERlY2ltYWwoJzEwMS41JykpCi0gICAgICAgIERlY2ltYWwoJy0xMDEuNScpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuY29weV9uZWdhdGUoRGVjaW1hbCgnLTEwMS41JykpCi0gICAgICAgIERlY2ltYWwoJzEwMS41JykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5jb3B5X25lZ2F0ZSgxKQotICAgICAgICBEZWNpbWFsKCctMScpCi0gICAgICAgICIiIgotICAgICAgICBhID0gX2NvbnZlcnRfb3RoZXIoYSwgcmFpc2VpdD1UcnVlKQotICAgICAgICByZXR1cm4gYS5jb3B5X25lZ2F0ZSgpCi0KLSAgICBkZWYgY29weV9zaWduKHNlbGYsIGEsIGIpOgotICAgICAgICAiIiJDb3BpZXMgdGhlIHNlY29uZCBvcGVyYW5kJ3Mgc2lnbiB0byB0aGUgZmlyc3Qgb25lLgotCi0gICAgICAgIEluIGRldGFpbCwgaXQgcmV0dXJucyBhIGNvcHkgb2YgdGhlIGZpcnN0IG9wZXJhbmQgd2l0aCB0aGUgc2lnbgotICAgICAgICBlcXVhbCB0byB0aGUgc2lnbiBvZiB0aGUgc2Vjb25kIG9wZXJhbmQuCi0KLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5jb3B5X3NpZ24oRGVjaW1hbCggJzEuNTAnKSwgRGVjaW1hbCgnNy4zMycpKQotICAgICAgICBEZWNpbWFsKCcxLjUwJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5jb3B5X3NpZ24oRGVjaW1hbCgnLTEuNTAnKSwgRGVjaW1hbCgnNy4zMycpKQotICAgICAgICBEZWNpbWFsKCcxLjUwJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5jb3B5X3NpZ24oRGVjaW1hbCggJzEuNTAnKSwgRGVjaW1hbCgnLTcuMzMnKSkKLSAgICAgICAgRGVjaW1hbCgnLTEuNTAnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmNvcHlfc2lnbihEZWNpbWFsKCctMS41MCcpLCBEZWNpbWFsKCctNy4zMycpKQotICAgICAgICBEZWNpbWFsKCctMS41MCcpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuY29weV9zaWduKDEsIC0yKQotICAgICAgICBEZWNpbWFsKCctMScpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuY29weV9zaWduKERlY2ltYWwoMSksIC0yKQotICAgICAgICBEZWNpbWFsKCctMScpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuY29weV9zaWduKDEsIERlY2ltYWwoLTIpKQotICAgICAgICBEZWNpbWFsKCctMScpCi0gICAgICAgICIiIgotICAgICAgICBhID0gX2NvbnZlcnRfb3RoZXIoYSwgcmFpc2VpdD1UcnVlKQotICAgICAgICByZXR1cm4gYS5jb3B5X3NpZ24oYikKLQotICAgIGRlZiBkaXZpZGUoc2VsZiwgYSwgYik6Ci0gICAgICAgICIiIkRlY2ltYWwgZGl2aXNpb24gaW4gYSBzcGVjaWZpZWQgY29udGV4dC4KLQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmRpdmlkZShEZWNpbWFsKCcxJyksIERlY2ltYWwoJzMnKSkKLSAgICAgICAgRGVjaW1hbCgnMC4zMzMzMzMzMzMnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmRpdmlkZShEZWNpbWFsKCcyJyksIERlY2ltYWwoJzMnKSkKLSAgICAgICAgRGVjaW1hbCgnMC42NjY2NjY2NjcnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmRpdmlkZShEZWNpbWFsKCc1JyksIERlY2ltYWwoJzInKSkKLSAgICAgICAgRGVjaW1hbCgnMi41JykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5kaXZpZGUoRGVjaW1hbCgnMScpLCBEZWNpbWFsKCcxMCcpKQotICAgICAgICBEZWNpbWFsKCcwLjEnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmRpdmlkZShEZWNpbWFsKCcxMicpLCBEZWNpbWFsKCcxMicpKQotICAgICAgICBEZWNpbWFsKCcxJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5kaXZpZGUoRGVjaW1hbCgnOC4wMCcpLCBEZWNpbWFsKCcyJykpCi0gICAgICAgIERlY2ltYWwoJzQuMDAnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmRpdmlkZShEZWNpbWFsKCcyLjQwMCcpLCBEZWNpbWFsKCcyLjAnKSkKLSAgICAgICAgRGVjaW1hbCgnMS4yMCcpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuZGl2aWRlKERlY2ltYWwoJzEwMDAnKSwgRGVjaW1hbCgnMTAwJykpCi0gICAgICAgIERlY2ltYWwoJzEwJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5kaXZpZGUoRGVjaW1hbCgnMTAwMCcpLCBEZWNpbWFsKCcxJykpCi0gICAgICAgIERlY2ltYWwoJzEwMDAnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmRpdmlkZShEZWNpbWFsKCcyLjQwRSs2JyksIERlY2ltYWwoJzInKSkKLSAgICAgICAgRGVjaW1hbCgnMS4yMEUrNicpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuZGl2aWRlKDUsIDUpCi0gICAgICAgIERlY2ltYWwoJzEnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmRpdmlkZShEZWNpbWFsKDUpLCA1KQotICAgICAgICBEZWNpbWFsKCcxJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5kaXZpZGUoNSwgRGVjaW1hbCg1KSkKLSAgICAgICAgRGVjaW1hbCgnMScpCi0gICAgICAgICIiIgotICAgICAgICBhID0gX2NvbnZlcnRfb3RoZXIoYSwgcmFpc2VpdD1UcnVlKQotICAgICAgICByID0gYS5fX3RydWVkaXZfXyhiLCBjb250ZXh0PXNlbGYpCi0gICAgICAgIGlmIHIgaXMgTm90SW1wbGVtZW50ZWQ6Ci0gICAgICAgICAgICByYWlzZSBUeXBlRXJyb3IoIlVuYWJsZSB0byBjb252ZXJ0ICVzIHRvIERlY2ltYWwiICUgYikKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHJldHVybiByCi0KLSAgICBkZWYgZGl2aWRlX2ludChzZWxmLCBhLCBiKToKLSAgICAgICAgIiIiRGl2aWRlcyB0d28gbnVtYmVycyBhbmQgcmV0dXJucyB0aGUgaW50ZWdlciBwYXJ0IG9mIHRoZSByZXN1bHQuCi0KLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5kaXZpZGVfaW50KERlY2ltYWwoJzInKSwgRGVjaW1hbCgnMycpKQotICAgICAgICBEZWNpbWFsKCcwJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5kaXZpZGVfaW50KERlY2ltYWwoJzEwJyksIERlY2ltYWwoJzMnKSkKLSAgICAgICAgRGVjaW1hbCgnMycpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuZGl2aWRlX2ludChEZWNpbWFsKCcxJyksIERlY2ltYWwoJzAuMycpKQotICAgICAgICBEZWNpbWFsKCczJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5kaXZpZGVfaW50KDEwLCAzKQotICAgICAgICBEZWNpbWFsKCczJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5kaXZpZGVfaW50KERlY2ltYWwoMTApLCAzKQotICAgICAgICBEZWNpbWFsKCczJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5kaXZpZGVfaW50KDEwLCBEZWNpbWFsKDMpKQotICAgICAgICBEZWNpbWFsKCczJykKLSAgICAgICAgIiIiCi0gICAgICAgIGEgPSBfY29udmVydF9vdGhlcihhLCByYWlzZWl0PVRydWUpCi0gICAgICAgIHIgPSBhLl9fZmxvb3JkaXZfXyhiLCBjb250ZXh0PXNlbGYpCi0gICAgICAgIGlmIHIgaXMgTm90SW1wbGVtZW50ZWQ6Ci0gICAgICAgICAgICByYWlzZSBUeXBlRXJyb3IoIlVuYWJsZSB0byBjb252ZXJ0ICVzIHRvIERlY2ltYWwiICUgYikKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHJldHVybiByCi0KLSAgICBkZWYgZGl2bW9kKHNlbGYsIGEsIGIpOgotICAgICAgICAiIiJSZXR1cm4gKGEgLy8gYiwgYSAlIGIpLgotCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuZGl2bW9kKERlY2ltYWwoOCksIERlY2ltYWwoMykpCi0gICAgICAgIChEZWNpbWFsKCcyJyksIERlY2ltYWwoJzInKSkKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5kaXZtb2QoRGVjaW1hbCg4KSwgRGVjaW1hbCg0KSkKLSAgICAgICAgKERlY2ltYWwoJzInKSwgRGVjaW1hbCgnMCcpKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmRpdm1vZCg4LCA0KQotICAgICAgICAoRGVjaW1hbCgnMicpLCBEZWNpbWFsKCcwJykpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuZGl2bW9kKERlY2ltYWwoOCksIDQpCi0gICAgICAgIChEZWNpbWFsKCcyJyksIERlY2ltYWwoJzAnKSkKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5kaXZtb2QoOCwgRGVjaW1hbCg0KSkKLSAgICAgICAgKERlY2ltYWwoJzInKSwgRGVjaW1hbCgnMCcpKQotICAgICAgICAiIiIKLSAgICAgICAgYSA9IF9jb252ZXJ0X290aGVyKGEsIHJhaXNlaXQ9VHJ1ZSkKLSAgICAgICAgciA9IGEuX19kaXZtb2RfXyhiLCBjb250ZXh0PXNlbGYpCi0gICAgICAgIGlmIHIgaXMgTm90SW1wbGVtZW50ZWQ6Ci0gICAgICAgICAgICByYWlzZSBUeXBlRXJyb3IoIlVuYWJsZSB0byBjb252ZXJ0ICVzIHRvIERlY2ltYWwiICUgYikKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHJldHVybiByCi0KLSAgICBkZWYgZXhwKHNlbGYsIGEpOgotICAgICAgICAiIiJSZXR1cm5zIGUgKiogYS4KLQotICAgICAgICA+Pj4gYyA9IEV4dGVuZGVkQ29udGV4dC5jb3B5KCkKLSAgICAgICAgPj4+IGMuRW1pbiA9IC05OTkKLSAgICAgICAgPj4+IGMuRW1heCA9IDk5OQotICAgICAgICA+Pj4gYy5leHAoRGVjaW1hbCgnLUluZmluaXR5JykpCi0gICAgICAgIERlY2ltYWwoJzAnKQotICAgICAgICA+Pj4gYy5leHAoRGVjaW1hbCgnLTEnKSkKLSAgICAgICAgRGVjaW1hbCgnMC4zNjc4Nzk0NDEnKQotICAgICAgICA+Pj4gYy5leHAoRGVjaW1hbCgnMCcpKQotICAgICAgICBEZWNpbWFsKCcxJykKLSAgICAgICAgPj4+IGMuZXhwKERlY2ltYWwoJzEnKSkKLSAgICAgICAgRGVjaW1hbCgnMi43MTgyODE4MycpCi0gICAgICAgID4+PiBjLmV4cChEZWNpbWFsKCcwLjY5MzE0NzE4MScpKQotICAgICAgICBEZWNpbWFsKCcyLjAwMDAwMDAwJykKLSAgICAgICAgPj4+IGMuZXhwKERlY2ltYWwoJytJbmZpbml0eScpKQotICAgICAgICBEZWNpbWFsKCdJbmZpbml0eScpCi0gICAgICAgID4+PiBjLmV4cCgxMCkKLSAgICAgICAgRGVjaW1hbCgnMjIwMjYuNDY1OCcpCi0gICAgICAgICIiIgotICAgICAgICBhID1fY29udmVydF9vdGhlcihhLCByYWlzZWl0PVRydWUpCi0gICAgICAgIHJldHVybiBhLmV4cChjb250ZXh0PXNlbGYpCi0KLSAgICBkZWYgZm1hKHNlbGYsIGEsIGIsIGMpOgotICAgICAgICAiIiJSZXR1cm5zIGEgbXVsdGlwbGllZCBieSBiLCBwbHVzIGMuCi0KLSAgICAgICAgVGhlIGZpcnN0IHR3byBvcGVyYW5kcyBhcmUgbXVsdGlwbGllZCB0b2dldGhlciwgdXNpbmcgbXVsdGlwbHksCi0gICAgICAgIHRoZSB0aGlyZCBvcGVyYW5kIGlzIHRoZW4gYWRkZWQgdG8gdGhlIHJlc3VsdCBvZiB0aGF0Ci0gICAgICAgIG11bHRpcGxpY2F0aW9uLCB1c2luZyBhZGQsIGFsbCB3aXRoIG9ubHkgb25lIGZpbmFsIHJvdW5kaW5nLgotCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuZm1hKERlY2ltYWwoJzMnKSwgRGVjaW1hbCgnNScpLCBEZWNpbWFsKCc3JykpCi0gICAgICAgIERlY2ltYWwoJzIyJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5mbWEoRGVjaW1hbCgnMycpLCBEZWNpbWFsKCctNScpLCBEZWNpbWFsKCc3JykpCi0gICAgICAgIERlY2ltYWwoJy04JykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5mbWEoRGVjaW1hbCgnODg4NTY1MjkwJyksIERlY2ltYWwoJzE1NTcuOTY5MzAnKSwgRGVjaW1hbCgnLTg2MDg3Ljc1NzgnKSkKLSAgICAgICAgRGVjaW1hbCgnMS4zODQzNTczNkUrMTInKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmZtYSgxLCAzLCA0KQotICAgICAgICBEZWNpbWFsKCc3JykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5mbWEoMSwgRGVjaW1hbCgzKSwgNCkKLSAgICAgICAgRGVjaW1hbCgnNycpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuZm1hKDEsIDMsIERlY2ltYWwoNCkpCi0gICAgICAgIERlY2ltYWwoJzcnKQotICAgICAgICAiIiIKLSAgICAgICAgYSA9IF9jb252ZXJ0X290aGVyKGEsIHJhaXNlaXQ9VHJ1ZSkKLSAgICAgICAgcmV0dXJuIGEuZm1hKGIsIGMsIGNvbnRleHQ9c2VsZikKLQotICAgIGRlZiBpc19jYW5vbmljYWwoc2VsZiwgYSk6Ci0gICAgICAgICIiIlJldHVybiBUcnVlIGlmIHRoZSBvcGVyYW5kIGlzIGNhbm9uaWNhbDsgb3RoZXJ3aXNlIHJldHVybiBGYWxzZS4KLQotICAgICAgICBDdXJyZW50bHksIHRoZSBlbmNvZGluZyBvZiBhIERlY2ltYWwgaW5zdGFuY2UgaXMgYWx3YXlzCi0gICAgICAgIGNhbm9uaWNhbCwgc28gdGhpcyBtZXRob2QgcmV0dXJucyBUcnVlIGZvciBhbnkgRGVjaW1hbC4KLQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmlzX2Nhbm9uaWNhbChEZWNpbWFsKCcyLjUwJykpCi0gICAgICAgIFRydWUKLSAgICAgICAgIiIiCi0gICAgICAgIGlmIG5vdCBpc2luc3RhbmNlKGEsIERlY2ltYWwpOgotICAgICAgICAgICAgcmFpc2UgVHlwZUVycm9yKCJpc19jYW5vbmljYWwgcmVxdWlyZXMgYSBEZWNpbWFsIGFzIGFuIGFyZ3VtZW50LiIpCi0gICAgICAgIHJldHVybiBhLmlzX2Nhbm9uaWNhbCgpCi0KLSAgICBkZWYgaXNfZmluaXRlKHNlbGYsIGEpOgotICAgICAgICAiIiJSZXR1cm4gVHJ1ZSBpZiB0aGUgb3BlcmFuZCBpcyBmaW5pdGU7IG90aGVyd2lzZSByZXR1cm4gRmFsc2UuCi0KLSAgICAgICAgQSBEZWNpbWFsIGluc3RhbmNlIGlzIGNvbnNpZGVyZWQgZmluaXRlIGlmIGl0IGlzIG5laXRoZXIKLSAgICAgICAgaW5maW5pdGUgbm9yIGEgTmFOLgotCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuaXNfZmluaXRlKERlY2ltYWwoJzIuNTAnKSkKLSAgICAgICAgVHJ1ZQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmlzX2Zpbml0ZShEZWNpbWFsKCctMC4zJykpCi0gICAgICAgIFRydWUKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5pc19maW5pdGUoRGVjaW1hbCgnMCcpKQotICAgICAgICBUcnVlCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuaXNfZmluaXRlKERlY2ltYWwoJ0luZicpKQotICAgICAgICBGYWxzZQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmlzX2Zpbml0ZShEZWNpbWFsKCdOYU4nKSkKLSAgICAgICAgRmFsc2UKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5pc19maW5pdGUoMSkKLSAgICAgICAgVHJ1ZQotICAgICAgICAiIiIKLSAgICAgICAgYSA9IF9jb252ZXJ0X290aGVyKGEsIHJhaXNlaXQ9VHJ1ZSkKLSAgICAgICAgcmV0dXJuIGEuaXNfZmluaXRlKCkKLQotICAgIGRlZiBpc19pbmZpbml0ZShzZWxmLCBhKToKLSAgICAgICAgIiIiUmV0dXJuIFRydWUgaWYgdGhlIG9wZXJhbmQgaXMgaW5maW5pdGU7IG90aGVyd2lzZSByZXR1cm4gRmFsc2UuCi0KLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5pc19pbmZpbml0ZShEZWNpbWFsKCcyLjUwJykpCi0gICAgICAgIEZhbHNlCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuaXNfaW5maW5pdGUoRGVjaW1hbCgnLUluZicpKQotICAgICAgICBUcnVlCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuaXNfaW5maW5pdGUoRGVjaW1hbCgnTmFOJykpCi0gICAgICAgIEZhbHNlCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuaXNfaW5maW5pdGUoMSkKLSAgICAgICAgRmFsc2UKLSAgICAgICAgIiIiCi0gICAgICAgIGEgPSBfY29udmVydF9vdGhlcihhLCByYWlzZWl0PVRydWUpCi0gICAgICAgIHJldHVybiBhLmlzX2luZmluaXRlKCkKLQotICAgIGRlZiBpc19uYW4oc2VsZiwgYSk6Ci0gICAgICAgICIiIlJldHVybiBUcnVlIGlmIHRoZSBvcGVyYW5kIGlzIGEgcU5hTiBvciBzTmFOOwotICAgICAgICBvdGhlcndpc2UgcmV0dXJuIEZhbHNlLgotCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuaXNfbmFuKERlY2ltYWwoJzIuNTAnKSkKLSAgICAgICAgRmFsc2UKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5pc19uYW4oRGVjaW1hbCgnTmFOJykpCi0gICAgICAgIFRydWUKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5pc19uYW4oRGVjaW1hbCgnLXNOYU4nKSkKLSAgICAgICAgVHJ1ZQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmlzX25hbigxKQotICAgICAgICBGYWxzZQotICAgICAgICAiIiIKLSAgICAgICAgYSA9IF9jb252ZXJ0X290aGVyKGEsIHJhaXNlaXQ9VHJ1ZSkKLSAgICAgICAgcmV0dXJuIGEuaXNfbmFuKCkKLQotICAgIGRlZiBpc19ub3JtYWwoc2VsZiwgYSk6Ci0gICAgICAgICIiIlJldHVybiBUcnVlIGlmIHRoZSBvcGVyYW5kIGlzIGEgbm9ybWFsIG51bWJlcjsKLSAgICAgICAgb3RoZXJ3aXNlIHJldHVybiBGYWxzZS4KLQotICAgICAgICA+Pj4gYyA9IEV4dGVuZGVkQ29udGV4dC5jb3B5KCkKLSAgICAgICAgPj4+IGMuRW1pbiA9IC05OTkKLSAgICAgICAgPj4+IGMuRW1heCA9IDk5OQotICAgICAgICA+Pj4gYy5pc19ub3JtYWwoRGVjaW1hbCgnMi41MCcpKQotICAgICAgICBUcnVlCi0gICAgICAgID4+PiBjLmlzX25vcm1hbChEZWNpbWFsKCcwLjFFLTk5OScpKQotICAgICAgICBGYWxzZQotICAgICAgICA+Pj4gYy5pc19ub3JtYWwoRGVjaW1hbCgnMC4wMCcpKQotICAgICAgICBGYWxzZQotICAgICAgICA+Pj4gYy5pc19ub3JtYWwoRGVjaW1hbCgnLUluZicpKQotICAgICAgICBGYWxzZQotICAgICAgICA+Pj4gYy5pc19ub3JtYWwoRGVjaW1hbCgnTmFOJykpCi0gICAgICAgIEZhbHNlCi0gICAgICAgID4+PiBjLmlzX25vcm1hbCgxKQotICAgICAgICBUcnVlCi0gICAgICAgICIiIgotICAgICAgICBhID0gX2NvbnZlcnRfb3RoZXIoYSwgcmFpc2VpdD1UcnVlKQotICAgICAgICByZXR1cm4gYS5pc19ub3JtYWwoY29udGV4dD1zZWxmKQotCi0gICAgZGVmIGlzX3FuYW4oc2VsZiwgYSk6Ci0gICAgICAgICIiIlJldHVybiBUcnVlIGlmIHRoZSBvcGVyYW5kIGlzIGEgcXVpZXQgTmFOOyBvdGhlcndpc2UgcmV0dXJuIEZhbHNlLgotCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuaXNfcW5hbihEZWNpbWFsKCcyLjUwJykpCi0gICAgICAgIEZhbHNlCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuaXNfcW5hbihEZWNpbWFsKCdOYU4nKSkKLSAgICAgICAgVHJ1ZQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmlzX3FuYW4oRGVjaW1hbCgnc05hTicpKQotICAgICAgICBGYWxzZQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmlzX3FuYW4oMSkKLSAgICAgICAgRmFsc2UKLSAgICAgICAgIiIiCi0gICAgICAgIGEgPSBfY29udmVydF9vdGhlcihhLCByYWlzZWl0PVRydWUpCi0gICAgICAgIHJldHVybiBhLmlzX3FuYW4oKQotCi0gICAgZGVmIGlzX3NpZ25lZChzZWxmLCBhKToKLSAgICAgICAgIiIiUmV0dXJuIFRydWUgaWYgdGhlIG9wZXJhbmQgaXMgbmVnYXRpdmU7IG90aGVyd2lzZSByZXR1cm4gRmFsc2UuCi0KLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5pc19zaWduZWQoRGVjaW1hbCgnMi41MCcpKQotICAgICAgICBGYWxzZQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmlzX3NpZ25lZChEZWNpbWFsKCctMTInKSkKLSAgICAgICAgVHJ1ZQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmlzX3NpZ25lZChEZWNpbWFsKCctMCcpKQotICAgICAgICBUcnVlCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuaXNfc2lnbmVkKDgpCi0gICAgICAgIEZhbHNlCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuaXNfc2lnbmVkKC04KQotICAgICAgICBUcnVlCi0gICAgICAgICIiIgotICAgICAgICBhID0gX2NvbnZlcnRfb3RoZXIoYSwgcmFpc2VpdD1UcnVlKQotICAgICAgICByZXR1cm4gYS5pc19zaWduZWQoKQotCi0gICAgZGVmIGlzX3NuYW4oc2VsZiwgYSk6Ci0gICAgICAgICIiIlJldHVybiBUcnVlIGlmIHRoZSBvcGVyYW5kIGlzIGEgc2lnbmFsaW5nIE5hTjsKLSAgICAgICAgb3RoZXJ3aXNlIHJldHVybiBGYWxzZS4KLQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmlzX3NuYW4oRGVjaW1hbCgnMi41MCcpKQotICAgICAgICBGYWxzZQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmlzX3NuYW4oRGVjaW1hbCgnTmFOJykpCi0gICAgICAgIEZhbHNlCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuaXNfc25hbihEZWNpbWFsKCdzTmFOJykpCi0gICAgICAgIFRydWUKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5pc19zbmFuKDEpCi0gICAgICAgIEZhbHNlCi0gICAgICAgICIiIgotICAgICAgICBhID0gX2NvbnZlcnRfb3RoZXIoYSwgcmFpc2VpdD1UcnVlKQotICAgICAgICByZXR1cm4gYS5pc19zbmFuKCkKLQotICAgIGRlZiBpc19zdWJub3JtYWwoc2VsZiwgYSk6Ci0gICAgICAgICIiIlJldHVybiBUcnVlIGlmIHRoZSBvcGVyYW5kIGlzIHN1Ym5vcm1hbDsgb3RoZXJ3aXNlIHJldHVybiBGYWxzZS4KLQotICAgICAgICA+Pj4gYyA9IEV4dGVuZGVkQ29udGV4dC5jb3B5KCkKLSAgICAgICAgPj4+IGMuRW1pbiA9IC05OTkKLSAgICAgICAgPj4+IGMuRW1heCA9IDk5OQotICAgICAgICA+Pj4gYy5pc19zdWJub3JtYWwoRGVjaW1hbCgnMi41MCcpKQotICAgICAgICBGYWxzZQotICAgICAgICA+Pj4gYy5pc19zdWJub3JtYWwoRGVjaW1hbCgnMC4xRS05OTknKSkKLSAgICAgICAgVHJ1ZQotICAgICAgICA+Pj4gYy5pc19zdWJub3JtYWwoRGVjaW1hbCgnMC4wMCcpKQotICAgICAgICBGYWxzZQotICAgICAgICA+Pj4gYy5pc19zdWJub3JtYWwoRGVjaW1hbCgnLUluZicpKQotICAgICAgICBGYWxzZQotICAgICAgICA+Pj4gYy5pc19zdWJub3JtYWwoRGVjaW1hbCgnTmFOJykpCi0gICAgICAgIEZhbHNlCi0gICAgICAgID4+PiBjLmlzX3N1Ym5vcm1hbCgxKQotICAgICAgICBGYWxzZQotICAgICAgICAiIiIKLSAgICAgICAgYSA9IF9jb252ZXJ0X290aGVyKGEsIHJhaXNlaXQ9VHJ1ZSkKLSAgICAgICAgcmV0dXJuIGEuaXNfc3Vibm9ybWFsKGNvbnRleHQ9c2VsZikKLQotICAgIGRlZiBpc196ZXJvKHNlbGYsIGEpOgotICAgICAgICAiIiJSZXR1cm4gVHJ1ZSBpZiB0aGUgb3BlcmFuZCBpcyBhIHplcm87IG90aGVyd2lzZSByZXR1cm4gRmFsc2UuCi0KLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5pc196ZXJvKERlY2ltYWwoJzAnKSkKLSAgICAgICAgVHJ1ZQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmlzX3plcm8oRGVjaW1hbCgnMi41MCcpKQotICAgICAgICBGYWxzZQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmlzX3plcm8oRGVjaW1hbCgnLTBFKzInKSkKLSAgICAgICAgVHJ1ZQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmlzX3plcm8oMSkKLSAgICAgICAgRmFsc2UKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5pc196ZXJvKDApCi0gICAgICAgIFRydWUKLSAgICAgICAgIiIiCi0gICAgICAgIGEgPSBfY29udmVydF9vdGhlcihhLCByYWlzZWl0PVRydWUpCi0gICAgICAgIHJldHVybiBhLmlzX3plcm8oKQotCi0gICAgZGVmIGxuKHNlbGYsIGEpOgotICAgICAgICAiIiJSZXR1cm5zIHRoZSBuYXR1cmFsIChiYXNlIGUpIGxvZ2FyaXRobSBvZiB0aGUgb3BlcmFuZC4KLQotICAgICAgICA+Pj4gYyA9IEV4dGVuZGVkQ29udGV4dC5jb3B5KCkKLSAgICAgICAgPj4+IGMuRW1pbiA9IC05OTkKLSAgICAgICAgPj4+IGMuRW1heCA9IDk5OQotICAgICAgICA+Pj4gYy5sbihEZWNpbWFsKCcwJykpCi0gICAgICAgIERlY2ltYWwoJy1JbmZpbml0eScpCi0gICAgICAgID4+PiBjLmxuKERlY2ltYWwoJzEuMDAwJykpCi0gICAgICAgIERlY2ltYWwoJzAnKQotICAgICAgICA+Pj4gYy5sbihEZWNpbWFsKCcyLjcxODI4MTgzJykpCi0gICAgICAgIERlY2ltYWwoJzEuMDAwMDAwMDAnKQotICAgICAgICA+Pj4gYy5sbihEZWNpbWFsKCcxMCcpKQotICAgICAgICBEZWNpbWFsKCcyLjMwMjU4NTA5JykKLSAgICAgICAgPj4+IGMubG4oRGVjaW1hbCgnK0luZmluaXR5JykpCi0gICAgICAgIERlY2ltYWwoJ0luZmluaXR5JykKLSAgICAgICAgPj4+IGMubG4oMSkKLSAgICAgICAgRGVjaW1hbCgnMCcpCi0gICAgICAgICIiIgotICAgICAgICBhID0gX2NvbnZlcnRfb3RoZXIoYSwgcmFpc2VpdD1UcnVlKQotICAgICAgICByZXR1cm4gYS5sbihjb250ZXh0PXNlbGYpCi0KLSAgICBkZWYgbG9nMTAoc2VsZiwgYSk6Ci0gICAgICAgICIiIlJldHVybnMgdGhlIGJhc2UgMTAgbG9nYXJpdGhtIG9mIHRoZSBvcGVyYW5kLgotCi0gICAgICAgID4+PiBjID0gRXh0ZW5kZWRDb250ZXh0LmNvcHkoKQotICAgICAgICA+Pj4gYy5FbWluID0gLTk5OQotICAgICAgICA+Pj4gYy5FbWF4ID0gOTk5Ci0gICAgICAgID4+PiBjLmxvZzEwKERlY2ltYWwoJzAnKSkKLSAgICAgICAgRGVjaW1hbCgnLUluZmluaXR5JykKLSAgICAgICAgPj4+IGMubG9nMTAoRGVjaW1hbCgnMC4wMDEnKSkKLSAgICAgICAgRGVjaW1hbCgnLTMnKQotICAgICAgICA+Pj4gYy5sb2cxMChEZWNpbWFsKCcxLjAwMCcpKQotICAgICAgICBEZWNpbWFsKCcwJykKLSAgICAgICAgPj4+IGMubG9nMTAoRGVjaW1hbCgnMicpKQotICAgICAgICBEZWNpbWFsKCcwLjMwMTAyOTk5NicpCi0gICAgICAgID4+PiBjLmxvZzEwKERlY2ltYWwoJzEwJykpCi0gICAgICAgIERlY2ltYWwoJzEnKQotICAgICAgICA+Pj4gYy5sb2cxMChEZWNpbWFsKCc3MCcpKQotICAgICAgICBEZWNpbWFsKCcxLjg0NTA5ODA0JykKLSAgICAgICAgPj4+IGMubG9nMTAoRGVjaW1hbCgnK0luZmluaXR5JykpCi0gICAgICAgIERlY2ltYWwoJ0luZmluaXR5JykKLSAgICAgICAgPj4+IGMubG9nMTAoMCkKLSAgICAgICAgRGVjaW1hbCgnLUluZmluaXR5JykKLSAgICAgICAgPj4+IGMubG9nMTAoMSkKLSAgICAgICAgRGVjaW1hbCgnMCcpCi0gICAgICAgICIiIgotICAgICAgICBhID0gX2NvbnZlcnRfb3RoZXIoYSwgcmFpc2VpdD1UcnVlKQotICAgICAgICByZXR1cm4gYS5sb2cxMChjb250ZXh0PXNlbGYpCi0KLSAgICBkZWYgbG9nYihzZWxmLCBhKToKLSAgICAgICAgIiIiIFJldHVybnMgdGhlIGV4cG9uZW50IG9mIHRoZSBtYWduaXR1ZGUgb2YgdGhlIG9wZXJhbmQncyBNU0QuCi0KLSAgICAgICAgVGhlIHJlc3VsdCBpcyB0aGUgaW50ZWdlciB3aGljaCBpcyB0aGUgZXhwb25lbnQgb2YgdGhlIG1hZ25pdHVkZQotICAgICAgICBvZiB0aGUgbW9zdCBzaWduaWZpY2FudCBkaWdpdCBvZiB0aGUgb3BlcmFuZCAoYXMgdGhvdWdoIHRoZQotICAgICAgICBvcGVyYW5kIHdlcmUgdHJ1bmNhdGVkIHRvIGEgc2luZ2xlIGRpZ2l0IHdoaWxlIG1haW50YWluaW5nIHRoZQotICAgICAgICB2YWx1ZSBvZiB0aGF0IGRpZ2l0IGFuZCB3aXRob3V0IGxpbWl0aW5nIHRoZSByZXN1bHRpbmcgZXhwb25lbnQpLgotCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubG9nYihEZWNpbWFsKCcyNTAnKSkKLSAgICAgICAgRGVjaW1hbCgnMicpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubG9nYihEZWNpbWFsKCcyLjUwJykpCi0gICAgICAgIERlY2ltYWwoJzAnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmxvZ2IoRGVjaW1hbCgnMC4wMycpKQotICAgICAgICBEZWNpbWFsKCctMicpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubG9nYihEZWNpbWFsKCcwJykpCi0gICAgICAgIERlY2ltYWwoJy1JbmZpbml0eScpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubG9nYigxKQotICAgICAgICBEZWNpbWFsKCcwJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5sb2diKDEwKQotICAgICAgICBEZWNpbWFsKCcxJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5sb2diKDEwMCkKLSAgICAgICAgRGVjaW1hbCgnMicpCi0gICAgICAgICIiIgotICAgICAgICBhID0gX2NvbnZlcnRfb3RoZXIoYSwgcmFpc2VpdD1UcnVlKQotICAgICAgICByZXR1cm4gYS5sb2diKGNvbnRleHQ9c2VsZikKLQotICAgIGRlZiBsb2dpY2FsX2FuZChzZWxmLCBhLCBiKToKLSAgICAgICAgIiIiQXBwbGllcyB0aGUgbG9naWNhbCBvcGVyYXRpb24gJ2FuZCcgYmV0d2VlbiBlYWNoIG9wZXJhbmQncyBkaWdpdHMuCi0KLSAgICAgICAgVGhlIG9wZXJhbmRzIG11c3QgYmUgYm90aCBsb2dpY2FsIG51bWJlcnMuCi0KLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5sb2dpY2FsX2FuZChEZWNpbWFsKCcwJyksIERlY2ltYWwoJzAnKSkKLSAgICAgICAgRGVjaW1hbCgnMCcpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubG9naWNhbF9hbmQoRGVjaW1hbCgnMCcpLCBEZWNpbWFsKCcxJykpCi0gICAgICAgIERlY2ltYWwoJzAnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmxvZ2ljYWxfYW5kKERlY2ltYWwoJzEnKSwgRGVjaW1hbCgnMCcpKQotICAgICAgICBEZWNpbWFsKCcwJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5sb2dpY2FsX2FuZChEZWNpbWFsKCcxJyksIERlY2ltYWwoJzEnKSkKLSAgICAgICAgRGVjaW1hbCgnMScpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubG9naWNhbF9hbmQoRGVjaW1hbCgnMTEwMCcpLCBEZWNpbWFsKCcxMDEwJykpCi0gICAgICAgIERlY2ltYWwoJzEwMDAnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmxvZ2ljYWxfYW5kKERlY2ltYWwoJzExMTEnKSwgRGVjaW1hbCgnMTAnKSkKLSAgICAgICAgRGVjaW1hbCgnMTAnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmxvZ2ljYWxfYW5kKDExMCwgMTEwMSkKLSAgICAgICAgRGVjaW1hbCgnMTAwJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5sb2dpY2FsX2FuZChEZWNpbWFsKDExMCksIDExMDEpCi0gICAgICAgIERlY2ltYWwoJzEwMCcpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubG9naWNhbF9hbmQoMTEwLCBEZWNpbWFsKDExMDEpKQotICAgICAgICBEZWNpbWFsKCcxMDAnKQotICAgICAgICAiIiIKLSAgICAgICAgYSA9IF9jb252ZXJ0X290aGVyKGEsIHJhaXNlaXQ9VHJ1ZSkKLSAgICAgICAgcmV0dXJuIGEubG9naWNhbF9hbmQoYiwgY29udGV4dD1zZWxmKQotCi0gICAgZGVmIGxvZ2ljYWxfaW52ZXJ0KHNlbGYsIGEpOgotICAgICAgICAiIiJJbnZlcnQgYWxsIHRoZSBkaWdpdHMgaW4gdGhlIG9wZXJhbmQuCi0KLSAgICAgICAgVGhlIG9wZXJhbmQgbXVzdCBiZSBhIGxvZ2ljYWwgbnVtYmVyLgotCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubG9naWNhbF9pbnZlcnQoRGVjaW1hbCgnMCcpKQotICAgICAgICBEZWNpbWFsKCcxMTExMTExMTEnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmxvZ2ljYWxfaW52ZXJ0KERlY2ltYWwoJzEnKSkKLSAgICAgICAgRGVjaW1hbCgnMTExMTExMTEwJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5sb2dpY2FsX2ludmVydChEZWNpbWFsKCcxMTExMTExMTEnKSkKLSAgICAgICAgRGVjaW1hbCgnMCcpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubG9naWNhbF9pbnZlcnQoRGVjaW1hbCgnMTAxMDEwMTAxJykpCi0gICAgICAgIERlY2ltYWwoJzEwMTAxMDEwJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5sb2dpY2FsX2ludmVydCgxMTAxKQotICAgICAgICBEZWNpbWFsKCcxMTExMTAwMTAnKQotICAgICAgICAiIiIKLSAgICAgICAgYSA9IF9jb252ZXJ0X290aGVyKGEsIHJhaXNlaXQ9VHJ1ZSkKLSAgICAgICAgcmV0dXJuIGEubG9naWNhbF9pbnZlcnQoY29udGV4dD1zZWxmKQotCi0gICAgZGVmIGxvZ2ljYWxfb3Ioc2VsZiwgYSwgYik6Ci0gICAgICAgICIiIkFwcGxpZXMgdGhlIGxvZ2ljYWwgb3BlcmF0aW9uICdvcicgYmV0d2VlbiBlYWNoIG9wZXJhbmQncyBkaWdpdHMuCi0KLSAgICAgICAgVGhlIG9wZXJhbmRzIG11c3QgYmUgYm90aCBsb2dpY2FsIG51bWJlcnMuCi0KLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5sb2dpY2FsX29yKERlY2ltYWwoJzAnKSwgRGVjaW1hbCgnMCcpKQotICAgICAgICBEZWNpbWFsKCcwJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5sb2dpY2FsX29yKERlY2ltYWwoJzAnKSwgRGVjaW1hbCgnMScpKQotICAgICAgICBEZWNpbWFsKCcxJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5sb2dpY2FsX29yKERlY2ltYWwoJzEnKSwgRGVjaW1hbCgnMCcpKQotICAgICAgICBEZWNpbWFsKCcxJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5sb2dpY2FsX29yKERlY2ltYWwoJzEnKSwgRGVjaW1hbCgnMScpKQotICAgICAgICBEZWNpbWFsKCcxJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5sb2dpY2FsX29yKERlY2ltYWwoJzExMDAnKSwgRGVjaW1hbCgnMTAxMCcpKQotICAgICAgICBEZWNpbWFsKCcxMTEwJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5sb2dpY2FsX29yKERlY2ltYWwoJzExMTAnKSwgRGVjaW1hbCgnMTAnKSkKLSAgICAgICAgRGVjaW1hbCgnMTExMCcpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubG9naWNhbF9vcigxMTAsIDExMDEpCi0gICAgICAgIERlY2ltYWwoJzExMTEnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmxvZ2ljYWxfb3IoRGVjaW1hbCgxMTApLCAxMTAxKQotICAgICAgICBEZWNpbWFsKCcxMTExJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5sb2dpY2FsX29yKDExMCwgRGVjaW1hbCgxMTAxKSkKLSAgICAgICAgRGVjaW1hbCgnMTExMScpCi0gICAgICAgICIiIgotICAgICAgICBhID0gX2NvbnZlcnRfb3RoZXIoYSwgcmFpc2VpdD1UcnVlKQotICAgICAgICByZXR1cm4gYS5sb2dpY2FsX29yKGIsIGNvbnRleHQ9c2VsZikKLQotICAgIGRlZiBsb2dpY2FsX3hvcihzZWxmLCBhLCBiKToKLSAgICAgICAgIiIiQXBwbGllcyB0aGUgbG9naWNhbCBvcGVyYXRpb24gJ3hvcicgYmV0d2VlbiBlYWNoIG9wZXJhbmQncyBkaWdpdHMuCi0KLSAgICAgICAgVGhlIG9wZXJhbmRzIG11c3QgYmUgYm90aCBsb2dpY2FsIG51bWJlcnMuCi0KLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5sb2dpY2FsX3hvcihEZWNpbWFsKCcwJyksIERlY2ltYWwoJzAnKSkKLSAgICAgICAgRGVjaW1hbCgnMCcpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubG9naWNhbF94b3IoRGVjaW1hbCgnMCcpLCBEZWNpbWFsKCcxJykpCi0gICAgICAgIERlY2ltYWwoJzEnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmxvZ2ljYWxfeG9yKERlY2ltYWwoJzEnKSwgRGVjaW1hbCgnMCcpKQotICAgICAgICBEZWNpbWFsKCcxJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5sb2dpY2FsX3hvcihEZWNpbWFsKCcxJyksIERlY2ltYWwoJzEnKSkKLSAgICAgICAgRGVjaW1hbCgnMCcpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubG9naWNhbF94b3IoRGVjaW1hbCgnMTEwMCcpLCBEZWNpbWFsKCcxMDEwJykpCi0gICAgICAgIERlY2ltYWwoJzExMCcpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubG9naWNhbF94b3IoRGVjaW1hbCgnMTExMScpLCBEZWNpbWFsKCcxMCcpKQotICAgICAgICBEZWNpbWFsKCcxMTAxJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5sb2dpY2FsX3hvcigxMTAsIDExMDEpCi0gICAgICAgIERlY2ltYWwoJzEwMTEnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmxvZ2ljYWxfeG9yKERlY2ltYWwoMTEwKSwgMTEwMSkKLSAgICAgICAgRGVjaW1hbCgnMTAxMScpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubG9naWNhbF94b3IoMTEwLCBEZWNpbWFsKDExMDEpKQotICAgICAgICBEZWNpbWFsKCcxMDExJykKLSAgICAgICAgIiIiCi0gICAgICAgIGEgPSBfY29udmVydF9vdGhlcihhLCByYWlzZWl0PVRydWUpCi0gICAgICAgIHJldHVybiBhLmxvZ2ljYWxfeG9yKGIsIGNvbnRleHQ9c2VsZikKLQotICAgIGRlZiBtYXgoc2VsZiwgYSwgYik6Ci0gICAgICAgICIiIm1heCBjb21wYXJlcyB0d28gdmFsdWVzIG51bWVyaWNhbGx5IGFuZCByZXR1cm5zIHRoZSBtYXhpbXVtLgotCi0gICAgICAgIElmIGVpdGhlciBvcGVyYW5kIGlzIGEgTmFOIHRoZW4gdGhlIGdlbmVyYWwgcnVsZXMgYXBwbHkuCi0gICAgICAgIE90aGVyd2lzZSwgdGhlIG9wZXJhbmRzIGFyZSBjb21wYXJlZCBhcyB0aG91Z2ggYnkgdGhlIGNvbXBhcmUKLSAgICAgICAgb3BlcmF0aW9uLiAgSWYgdGhleSBhcmUgbnVtZXJpY2FsbHkgZXF1YWwgdGhlbiB0aGUgbGVmdC1oYW5kIG9wZXJhbmQKLSAgICAgICAgaXMgY2hvc2VuIGFzIHRoZSByZXN1bHQuICBPdGhlcndpc2UgdGhlIG1heGltdW0gKGNsb3NlciB0byBwb3NpdGl2ZQotICAgICAgICBpbmZpbml0eSkgb2YgdGhlIHR3byBvcGVyYW5kcyBpcyBjaG9zZW4gYXMgdGhlIHJlc3VsdC4KLQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0Lm1heChEZWNpbWFsKCczJyksIERlY2ltYWwoJzInKSkKLSAgICAgICAgRGVjaW1hbCgnMycpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubWF4KERlY2ltYWwoJy0xMCcpLCBEZWNpbWFsKCczJykpCi0gICAgICAgIERlY2ltYWwoJzMnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0Lm1heChEZWNpbWFsKCcxLjAnKSwgRGVjaW1hbCgnMScpKQotICAgICAgICBEZWNpbWFsKCcxJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5tYXgoRGVjaW1hbCgnNycpLCBEZWNpbWFsKCdOYU4nKSkKLSAgICAgICAgRGVjaW1hbCgnNycpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubWF4KDEsIDIpCi0gICAgICAgIERlY2ltYWwoJzInKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0Lm1heChEZWNpbWFsKDEpLCAyKQotICAgICAgICBEZWNpbWFsKCcyJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5tYXgoMSwgRGVjaW1hbCgyKSkKLSAgICAgICAgRGVjaW1hbCgnMicpCi0gICAgICAgICIiIgotICAgICAgICBhID0gX2NvbnZlcnRfb3RoZXIoYSwgcmFpc2VpdD1UcnVlKQotICAgICAgICByZXR1cm4gYS5tYXgoYiwgY29udGV4dD1zZWxmKQotCi0gICAgZGVmIG1heF9tYWcoc2VsZiwgYSwgYik6Ci0gICAgICAgICIiIkNvbXBhcmVzIHRoZSB2YWx1ZXMgbnVtZXJpY2FsbHkgd2l0aCB0aGVpciBzaWduIGlnbm9yZWQuCi0KLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5tYXhfbWFnKERlY2ltYWwoJzcnKSwgRGVjaW1hbCgnTmFOJykpCi0gICAgICAgIERlY2ltYWwoJzcnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0Lm1heF9tYWcoRGVjaW1hbCgnNycpLCBEZWNpbWFsKCctMTAnKSkKLSAgICAgICAgRGVjaW1hbCgnLTEwJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5tYXhfbWFnKDEsIC0yKQotICAgICAgICBEZWNpbWFsKCctMicpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubWF4X21hZyhEZWNpbWFsKDEpLCAtMikKLSAgICAgICAgRGVjaW1hbCgnLTInKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0Lm1heF9tYWcoMSwgRGVjaW1hbCgtMikpCi0gICAgICAgIERlY2ltYWwoJy0yJykKLSAgICAgICAgIiIiCi0gICAgICAgIGEgPSBfY29udmVydF9vdGhlcihhLCByYWlzZWl0PVRydWUpCi0gICAgICAgIHJldHVybiBhLm1heF9tYWcoYiwgY29udGV4dD1zZWxmKQotCi0gICAgZGVmIG1pbihzZWxmLCBhLCBiKToKLSAgICAgICAgIiIibWluIGNvbXBhcmVzIHR3byB2YWx1ZXMgbnVtZXJpY2FsbHkgYW5kIHJldHVybnMgdGhlIG1pbmltdW0uCi0KLSAgICAgICAgSWYgZWl0aGVyIG9wZXJhbmQgaXMgYSBOYU4gdGhlbiB0aGUgZ2VuZXJhbCBydWxlcyBhcHBseS4KLSAgICAgICAgT3RoZXJ3aXNlLCB0aGUgb3BlcmFuZHMgYXJlIGNvbXBhcmVkIGFzIHRob3VnaCBieSB0aGUgY29tcGFyZQotICAgICAgICBvcGVyYXRpb24uICBJZiB0aGV5IGFyZSBudW1lcmljYWxseSBlcXVhbCB0aGVuIHRoZSBsZWZ0LWhhbmQgb3BlcmFuZAotICAgICAgICBpcyBjaG9zZW4gYXMgdGhlIHJlc3VsdC4gIE90aGVyd2lzZSB0aGUgbWluaW11bSAoY2xvc2VyIHRvIG5lZ2F0aXZlCi0gICAgICAgIGluZmluaXR5KSBvZiB0aGUgdHdvIG9wZXJhbmRzIGlzIGNob3NlbiBhcyB0aGUgcmVzdWx0LgotCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubWluKERlY2ltYWwoJzMnKSwgRGVjaW1hbCgnMicpKQotICAgICAgICBEZWNpbWFsKCcyJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5taW4oRGVjaW1hbCgnLTEwJyksIERlY2ltYWwoJzMnKSkKLSAgICAgICAgRGVjaW1hbCgnLTEwJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5taW4oRGVjaW1hbCgnMS4wJyksIERlY2ltYWwoJzEnKSkKLSAgICAgICAgRGVjaW1hbCgnMS4wJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5taW4oRGVjaW1hbCgnNycpLCBEZWNpbWFsKCdOYU4nKSkKLSAgICAgICAgRGVjaW1hbCgnNycpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubWluKDEsIDIpCi0gICAgICAgIERlY2ltYWwoJzEnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0Lm1pbihEZWNpbWFsKDEpLCAyKQotICAgICAgICBEZWNpbWFsKCcxJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5taW4oMSwgRGVjaW1hbCgyOSkpCi0gICAgICAgIERlY2ltYWwoJzEnKQotICAgICAgICAiIiIKLSAgICAgICAgYSA9IF9jb252ZXJ0X290aGVyKGEsIHJhaXNlaXQ9VHJ1ZSkKLSAgICAgICAgcmV0dXJuIGEubWluKGIsIGNvbnRleHQ9c2VsZikKLQotICAgIGRlZiBtaW5fbWFnKHNlbGYsIGEsIGIpOgotICAgICAgICAiIiJDb21wYXJlcyB0aGUgdmFsdWVzIG51bWVyaWNhbGx5IHdpdGggdGhlaXIgc2lnbiBpZ25vcmVkLgotCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubWluX21hZyhEZWNpbWFsKCczJyksIERlY2ltYWwoJy0yJykpCi0gICAgICAgIERlY2ltYWwoJy0yJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5taW5fbWFnKERlY2ltYWwoJy0zJyksIERlY2ltYWwoJ05hTicpKQotICAgICAgICBEZWNpbWFsKCctMycpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubWluX21hZygxLCAtMikKLSAgICAgICAgRGVjaW1hbCgnMScpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubWluX21hZyhEZWNpbWFsKDEpLCAtMikKLSAgICAgICAgRGVjaW1hbCgnMScpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubWluX21hZygxLCBEZWNpbWFsKC0yKSkKLSAgICAgICAgRGVjaW1hbCgnMScpCi0gICAgICAgICIiIgotICAgICAgICBhID0gX2NvbnZlcnRfb3RoZXIoYSwgcmFpc2VpdD1UcnVlKQotICAgICAgICByZXR1cm4gYS5taW5fbWFnKGIsIGNvbnRleHQ9c2VsZikKLQotICAgIGRlZiBtaW51cyhzZWxmLCBhKToKLSAgICAgICAgIiIiTWludXMgY29ycmVzcG9uZHMgdG8gdW5hcnkgcHJlZml4IG1pbnVzIGluIFB5dGhvbi4KLQotICAgICAgICBUaGUgb3BlcmF0aW9uIGlzIGV2YWx1YXRlZCB1c2luZyB0aGUgc2FtZSBydWxlcyBhcyBzdWJ0cmFjdDsgdGhlCi0gICAgICAgIG9wZXJhdGlvbiBtaW51cyhhKSBpcyBjYWxjdWxhdGVkIGFzIHN1YnRyYWN0KCcwJywgYSkgd2hlcmUgdGhlICcwJwotICAgICAgICBoYXMgdGhlIHNhbWUgZXhwb25lbnQgYXMgdGhlIG9wZXJhbmQuCi0KLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5taW51cyhEZWNpbWFsKCcxLjMnKSkKLSAgICAgICAgRGVjaW1hbCgnLTEuMycpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubWludXMoRGVjaW1hbCgnLTEuMycpKQotICAgICAgICBEZWNpbWFsKCcxLjMnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0Lm1pbnVzKDEpCi0gICAgICAgIERlY2ltYWwoJy0xJykKLSAgICAgICAgIiIiCi0gICAgICAgIGEgPSBfY29udmVydF9vdGhlcihhLCByYWlzZWl0PVRydWUpCi0gICAgICAgIHJldHVybiBhLl9fbmVnX18oY29udGV4dD1zZWxmKQotCi0gICAgZGVmIG11bHRpcGx5KHNlbGYsIGEsIGIpOgotICAgICAgICAiIiJtdWx0aXBseSBtdWx0aXBsaWVzIHR3byBvcGVyYW5kcy4KLQotICAgICAgICBJZiBlaXRoZXIgb3BlcmFuZCBpcyBhIHNwZWNpYWwgdmFsdWUgdGhlbiB0aGUgZ2VuZXJhbCBydWxlcyBhcHBseS4KLSAgICAgICAgT3RoZXJ3aXNlLCB0aGUgb3BlcmFuZHMgYXJlIG11bHRpcGxpZWQgdG9nZXRoZXIKLSAgICAgICAgKCdsb25nIG11bHRpcGxpY2F0aW9uJyksIHJlc3VsdGluZyBpbiBhIG51bWJlciB3aGljaCBtYXkgYmUgYXMgbG9uZyBhcwotICAgICAgICB0aGUgc3VtIG9mIHRoZSBsZW5ndGhzIG9mIHRoZSB0d28gb3BlcmFuZHMuCi0KLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5tdWx0aXBseShEZWNpbWFsKCcxLjIwJyksIERlY2ltYWwoJzMnKSkKLSAgICAgICAgRGVjaW1hbCgnMy42MCcpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubXVsdGlwbHkoRGVjaW1hbCgnNycpLCBEZWNpbWFsKCczJykpCi0gICAgICAgIERlY2ltYWwoJzIxJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5tdWx0aXBseShEZWNpbWFsKCcwLjknKSwgRGVjaW1hbCgnMC44JykpCi0gICAgICAgIERlY2ltYWwoJzAuNzInKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0Lm11bHRpcGx5KERlY2ltYWwoJzAuOScpLCBEZWNpbWFsKCctMCcpKQotICAgICAgICBEZWNpbWFsKCctMC4wJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5tdWx0aXBseShEZWNpbWFsKCc2NTQzMjEnKSwgRGVjaW1hbCgnNjU0MzIxJykpCi0gICAgICAgIERlY2ltYWwoJzQuMjgxMzU5NzFFKzExJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5tdWx0aXBseSg3LCA3KQotICAgICAgICBEZWNpbWFsKCc0OScpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubXVsdGlwbHkoRGVjaW1hbCg3KSwgNykKLSAgICAgICAgRGVjaW1hbCgnNDknKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0Lm11bHRpcGx5KDcsIERlY2ltYWwoNykpCi0gICAgICAgIERlY2ltYWwoJzQ5JykKLSAgICAgICAgIiIiCi0gICAgICAgIGEgPSBfY29udmVydF9vdGhlcihhLCByYWlzZWl0PVRydWUpCi0gICAgICAgIHIgPSBhLl9fbXVsX18oYiwgY29udGV4dD1zZWxmKQotICAgICAgICBpZiByIGlzIE5vdEltcGxlbWVudGVkOgotICAgICAgICAgICAgcmFpc2UgVHlwZUVycm9yKCJVbmFibGUgdG8gY29udmVydCAlcyB0byBEZWNpbWFsIiAlIGIpCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICByZXR1cm4gcgotCi0gICAgZGVmIG5leHRfbWludXMoc2VsZiwgYSk6Ci0gICAgICAgICIiIlJldHVybnMgdGhlIGxhcmdlc3QgcmVwcmVzZW50YWJsZSBudW1iZXIgc21hbGxlciB0aGFuIGEuCi0KLSAgICAgICAgPj4+IGMgPSBFeHRlbmRlZENvbnRleHQuY29weSgpCi0gICAgICAgID4+PiBjLkVtaW4gPSAtOTk5Ci0gICAgICAgID4+PiBjLkVtYXggPSA5OTkKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5uZXh0X21pbnVzKERlY2ltYWwoJzEnKSkKLSAgICAgICAgRGVjaW1hbCgnMC45OTk5OTk5OTknKQotICAgICAgICA+Pj4gYy5uZXh0X21pbnVzKERlY2ltYWwoJzFFLTEwMDcnKSkKLSAgICAgICAgRGVjaW1hbCgnMEUtMTAwNycpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubmV4dF9taW51cyhEZWNpbWFsKCctMS4wMDAwMDAwMycpKQotICAgICAgICBEZWNpbWFsKCctMS4wMDAwMDAwNCcpCi0gICAgICAgID4+PiBjLm5leHRfbWludXMoRGVjaW1hbCgnSW5maW5pdHknKSkKLSAgICAgICAgRGVjaW1hbCgnOS45OTk5OTk5OUUrOTk5JykKLSAgICAgICAgPj4+IGMubmV4dF9taW51cygxKQotICAgICAgICBEZWNpbWFsKCcwLjk5OTk5OTk5OScpCi0gICAgICAgICIiIgotICAgICAgICBhID0gX2NvbnZlcnRfb3RoZXIoYSwgcmFpc2VpdD1UcnVlKQotICAgICAgICByZXR1cm4gYS5uZXh0X21pbnVzKGNvbnRleHQ9c2VsZikKLQotICAgIGRlZiBuZXh0X3BsdXMoc2VsZiwgYSk6Ci0gICAgICAgICIiIlJldHVybnMgdGhlIHNtYWxsZXN0IHJlcHJlc2VudGFibGUgbnVtYmVyIGxhcmdlciB0aGFuIGEuCi0KLSAgICAgICAgPj4+IGMgPSBFeHRlbmRlZENvbnRleHQuY29weSgpCi0gICAgICAgID4+PiBjLkVtaW4gPSAtOTk5Ci0gICAgICAgID4+PiBjLkVtYXggPSA5OTkKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5uZXh0X3BsdXMoRGVjaW1hbCgnMScpKQotICAgICAgICBEZWNpbWFsKCcxLjAwMDAwMDAxJykKLSAgICAgICAgPj4+IGMubmV4dF9wbHVzKERlY2ltYWwoJy0xRS0xMDA3JykpCi0gICAgICAgIERlY2ltYWwoJy0wRS0xMDA3JykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5uZXh0X3BsdXMoRGVjaW1hbCgnLTEuMDAwMDAwMDMnKSkKLSAgICAgICAgRGVjaW1hbCgnLTEuMDAwMDAwMDInKQotICAgICAgICA+Pj4gYy5uZXh0X3BsdXMoRGVjaW1hbCgnLUluZmluaXR5JykpCi0gICAgICAgIERlY2ltYWwoJy05Ljk5OTk5OTk5RSs5OTknKQotICAgICAgICA+Pj4gYy5uZXh0X3BsdXMoMSkKLSAgICAgICAgRGVjaW1hbCgnMS4wMDAwMDAwMScpCi0gICAgICAgICIiIgotICAgICAgICBhID0gX2NvbnZlcnRfb3RoZXIoYSwgcmFpc2VpdD1UcnVlKQotICAgICAgICByZXR1cm4gYS5uZXh0X3BsdXMoY29udGV4dD1zZWxmKQotCi0gICAgZGVmIG5leHRfdG93YXJkKHNlbGYsIGEsIGIpOgotICAgICAgICAiIiJSZXR1cm5zIHRoZSBudW1iZXIgY2xvc2VzdCB0byBhLCBpbiBkaXJlY3Rpb24gdG93YXJkcyBiLgotCi0gICAgICAgIFRoZSByZXN1bHQgaXMgdGhlIGNsb3Nlc3QgcmVwcmVzZW50YWJsZSBudW1iZXIgZnJvbSB0aGUgZmlyc3QKLSAgICAgICAgb3BlcmFuZCAoYnV0IG5vdCB0aGUgZmlyc3Qgb3BlcmFuZCkgdGhhdCBpcyBpbiB0aGUgZGlyZWN0aW9uCi0gICAgICAgIHRvd2FyZHMgdGhlIHNlY29uZCBvcGVyYW5kLCB1bmxlc3MgdGhlIG9wZXJhbmRzIGhhdmUgdGhlIHNhbWUKLSAgICAgICAgdmFsdWUuCi0KLSAgICAgICAgPj4+IGMgPSBFeHRlbmRlZENvbnRleHQuY29weSgpCi0gICAgICAgID4+PiBjLkVtaW4gPSAtOTk5Ci0gICAgICAgID4+PiBjLkVtYXggPSA5OTkKLSAgICAgICAgPj4+IGMubmV4dF90b3dhcmQoRGVjaW1hbCgnMScpLCBEZWNpbWFsKCcyJykpCi0gICAgICAgIERlY2ltYWwoJzEuMDAwMDAwMDEnKQotICAgICAgICA+Pj4gYy5uZXh0X3Rvd2FyZChEZWNpbWFsKCctMUUtMTAwNycpLCBEZWNpbWFsKCcxJykpCi0gICAgICAgIERlY2ltYWwoJy0wRS0xMDA3JykKLSAgICAgICAgPj4+IGMubmV4dF90b3dhcmQoRGVjaW1hbCgnLTEuMDAwMDAwMDMnKSwgRGVjaW1hbCgnMCcpKQotICAgICAgICBEZWNpbWFsKCctMS4wMDAwMDAwMicpCi0gICAgICAgID4+PiBjLm5leHRfdG93YXJkKERlY2ltYWwoJzEnKSwgRGVjaW1hbCgnMCcpKQotICAgICAgICBEZWNpbWFsKCcwLjk5OTk5OTk5OScpCi0gICAgICAgID4+PiBjLm5leHRfdG93YXJkKERlY2ltYWwoJzFFLTEwMDcnKSwgRGVjaW1hbCgnLTEwMCcpKQotICAgICAgICBEZWNpbWFsKCcwRS0xMDA3JykKLSAgICAgICAgPj4+IGMubmV4dF90b3dhcmQoRGVjaW1hbCgnLTEuMDAwMDAwMDMnKSwgRGVjaW1hbCgnLTEwJykpCi0gICAgICAgIERlY2ltYWwoJy0xLjAwMDAwMDA0JykKLSAgICAgICAgPj4+IGMubmV4dF90b3dhcmQoRGVjaW1hbCgnMC4wMCcpLCBEZWNpbWFsKCctMC4wMDAwJykpCi0gICAgICAgIERlY2ltYWwoJy0wLjAwJykKLSAgICAgICAgPj4+IGMubmV4dF90b3dhcmQoMCwgMSkKLSAgICAgICAgRGVjaW1hbCgnMUUtMTAwNycpCi0gICAgICAgID4+PiBjLm5leHRfdG93YXJkKERlY2ltYWwoMCksIDEpCi0gICAgICAgIERlY2ltYWwoJzFFLTEwMDcnKQotICAgICAgICA+Pj4gYy5uZXh0X3Rvd2FyZCgwLCBEZWNpbWFsKDEpKQotICAgICAgICBEZWNpbWFsKCcxRS0xMDA3JykKLSAgICAgICAgIiIiCi0gICAgICAgIGEgPSBfY29udmVydF9vdGhlcihhLCByYWlzZWl0PVRydWUpCi0gICAgICAgIHJldHVybiBhLm5leHRfdG93YXJkKGIsIGNvbnRleHQ9c2VsZikKLQotICAgIGRlZiBub3JtYWxpemUoc2VsZiwgYSk6Ci0gICAgICAgICIiIm5vcm1hbGl6ZSByZWR1Y2VzIGFuIG9wZXJhbmQgdG8gaXRzIHNpbXBsZXN0IGZvcm0uCi0KLSAgICAgICAgRXNzZW50aWFsbHkgYSBwbHVzIG9wZXJhdGlvbiB3aXRoIGFsbCB0cmFpbGluZyB6ZXJvcyByZW1vdmVkIGZyb20gdGhlCi0gICAgICAgIHJlc3VsdC4KLQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0Lm5vcm1hbGl6ZShEZWNpbWFsKCcyLjEnKSkKLSAgICAgICAgRGVjaW1hbCgnMi4xJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5ub3JtYWxpemUoRGVjaW1hbCgnLTIuMCcpKQotICAgICAgICBEZWNpbWFsKCctMicpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubm9ybWFsaXplKERlY2ltYWwoJzEuMjAwJykpCi0gICAgICAgIERlY2ltYWwoJzEuMicpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubm9ybWFsaXplKERlY2ltYWwoJy0xMjAnKSkKLSAgICAgICAgRGVjaW1hbCgnLTEuMkUrMicpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubm9ybWFsaXplKERlY2ltYWwoJzEyMC4wMCcpKQotICAgICAgICBEZWNpbWFsKCcxLjJFKzInKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0Lm5vcm1hbGl6ZShEZWNpbWFsKCcwLjAwJykpCi0gICAgICAgIERlY2ltYWwoJzAnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0Lm5vcm1hbGl6ZSg2KQotICAgICAgICBEZWNpbWFsKCc2JykKLSAgICAgICAgIiIiCi0gICAgICAgIGEgPSBfY29udmVydF9vdGhlcihhLCByYWlzZWl0PVRydWUpCi0gICAgICAgIHJldHVybiBhLm5vcm1hbGl6ZShjb250ZXh0PXNlbGYpCi0KLSAgICBkZWYgbnVtYmVyX2NsYXNzKHNlbGYsIGEpOgotICAgICAgICAiIiJSZXR1cm5zIGFuIGluZGljYXRpb24gb2YgdGhlIGNsYXNzIG9mIHRoZSBvcGVyYW5kLgotCi0gICAgICAgIFRoZSBjbGFzcyBpcyBvbmUgb2YgdGhlIGZvbGxvd2luZyBzdHJpbmdzOgotICAgICAgICAgIC1zTmFOCi0gICAgICAgICAgLU5hTgotICAgICAgICAgIC1JbmZpbml0eQotICAgICAgICAgIC1Ob3JtYWwKLSAgICAgICAgICAtU3Vibm9ybWFsCi0gICAgICAgICAgLVplcm8KLSAgICAgICAgICArWmVybwotICAgICAgICAgICtTdWJub3JtYWwKLSAgICAgICAgICArTm9ybWFsCi0gICAgICAgICAgK0luZmluaXR5Ci0KLSAgICAgICAgPj4+IGMgPSBFeHRlbmRlZENvbnRleHQuY29weSgpCi0gICAgICAgID4+PiBjLkVtaW4gPSAtOTk5Ci0gICAgICAgID4+PiBjLkVtYXggPSA5OTkKLSAgICAgICAgPj4+IGMubnVtYmVyX2NsYXNzKERlY2ltYWwoJ0luZmluaXR5JykpCi0gICAgICAgICcrSW5maW5pdHknCi0gICAgICAgID4+PiBjLm51bWJlcl9jbGFzcyhEZWNpbWFsKCcxRS0xMCcpKQotICAgICAgICAnK05vcm1hbCcKLSAgICAgICAgPj4+IGMubnVtYmVyX2NsYXNzKERlY2ltYWwoJzIuNTAnKSkKLSAgICAgICAgJytOb3JtYWwnCi0gICAgICAgID4+PiBjLm51bWJlcl9jbGFzcyhEZWNpbWFsKCcwLjFFLTk5OScpKQotICAgICAgICAnK1N1Ym5vcm1hbCcKLSAgICAgICAgPj4+IGMubnVtYmVyX2NsYXNzKERlY2ltYWwoJzAnKSkKLSAgICAgICAgJytaZXJvJwotICAgICAgICA+Pj4gYy5udW1iZXJfY2xhc3MoRGVjaW1hbCgnLTAnKSkKLSAgICAgICAgJy1aZXJvJwotICAgICAgICA+Pj4gYy5udW1iZXJfY2xhc3MoRGVjaW1hbCgnLTAuMUUtOTk5JykpCi0gICAgICAgICctU3Vibm9ybWFsJwotICAgICAgICA+Pj4gYy5udW1iZXJfY2xhc3MoRGVjaW1hbCgnLTFFLTEwJykpCi0gICAgICAgICctTm9ybWFsJwotICAgICAgICA+Pj4gYy5udW1iZXJfY2xhc3MoRGVjaW1hbCgnLTIuNTAnKSkKLSAgICAgICAgJy1Ob3JtYWwnCi0gICAgICAgID4+PiBjLm51bWJlcl9jbGFzcyhEZWNpbWFsKCctSW5maW5pdHknKSkKLSAgICAgICAgJy1JbmZpbml0eScKLSAgICAgICAgPj4+IGMubnVtYmVyX2NsYXNzKERlY2ltYWwoJ05hTicpKQotICAgICAgICAnTmFOJwotICAgICAgICA+Pj4gYy5udW1iZXJfY2xhc3MoRGVjaW1hbCgnLU5hTicpKQotICAgICAgICAnTmFOJwotICAgICAgICA+Pj4gYy5udW1iZXJfY2xhc3MoRGVjaW1hbCgnc05hTicpKQotICAgICAgICAnc05hTicKLSAgICAgICAgPj4+IGMubnVtYmVyX2NsYXNzKDEyMykKLSAgICAgICAgJytOb3JtYWwnCi0gICAgICAgICIiIgotICAgICAgICBhID0gX2NvbnZlcnRfb3RoZXIoYSwgcmFpc2VpdD1UcnVlKQotICAgICAgICByZXR1cm4gYS5udW1iZXJfY2xhc3MoY29udGV4dD1zZWxmKQotCi0gICAgZGVmIHBsdXMoc2VsZiwgYSk6Ci0gICAgICAgICIiIlBsdXMgY29ycmVzcG9uZHMgdG8gdW5hcnkgcHJlZml4IHBsdXMgaW4gUHl0aG9uLgotCi0gICAgICAgIFRoZSBvcGVyYXRpb24gaXMgZXZhbHVhdGVkIHVzaW5nIHRoZSBzYW1lIHJ1bGVzIGFzIGFkZDsgdGhlCi0gICAgICAgIG9wZXJhdGlvbiBwbHVzKGEpIGlzIGNhbGN1bGF0ZWQgYXMgYWRkKCcwJywgYSkgd2hlcmUgdGhlICcwJwotICAgICAgICBoYXMgdGhlIHNhbWUgZXhwb25lbnQgYXMgdGhlIG9wZXJhbmQuCi0KLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5wbHVzKERlY2ltYWwoJzEuMycpKQotICAgICAgICBEZWNpbWFsKCcxLjMnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnBsdXMoRGVjaW1hbCgnLTEuMycpKQotICAgICAgICBEZWNpbWFsKCctMS4zJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5wbHVzKC0xKQotICAgICAgICBEZWNpbWFsKCctMScpCi0gICAgICAgICIiIgotICAgICAgICBhID0gX2NvbnZlcnRfb3RoZXIoYSwgcmFpc2VpdD1UcnVlKQotICAgICAgICByZXR1cm4gYS5fX3Bvc19fKGNvbnRleHQ9c2VsZikKLQotICAgIGRlZiBwb3dlcihzZWxmLCBhLCBiLCBtb2R1bG89Tm9uZSk6Ci0gICAgICAgICIiIlJhaXNlcyBhIHRvIHRoZSBwb3dlciBvZiBiLCB0byBtb2R1bG8gaWYgZ2l2ZW4uCi0KLSAgICAgICAgV2l0aCB0d28gYXJndW1lbnRzLCBjb21wdXRlIGEqKmIuICBJZiBhIGlzIG5lZ2F0aXZlIHRoZW4gYgotICAgICAgICBtdXN0IGJlIGludGVncmFsLiAgVGhlIHJlc3VsdCB3aWxsIGJlIGluZXhhY3QgdW5sZXNzIGIgaXMKLSAgICAgICAgaW50ZWdyYWwgYW5kIHRoZSByZXN1bHQgaXMgZmluaXRlIGFuZCBjYW4gYmUgZXhwcmVzc2VkIGV4YWN0bHkKLSAgICAgICAgaW4gJ3ByZWNpc2lvbicgZGlnaXRzLgotCi0gICAgICAgIFdpdGggdGhyZWUgYXJndW1lbnRzLCBjb21wdXRlIChhKipiKSAlIG1vZHVsby4gIEZvciB0aGUKLSAgICAgICAgdGhyZWUgYXJndW1lbnQgZm9ybSwgdGhlIGZvbGxvd2luZyByZXN0cmljdGlvbnMgb24gdGhlCi0gICAgICAgIGFyZ3VtZW50cyBob2xkOgotCi0gICAgICAgICAtIGFsbCB0aHJlZSBhcmd1bWVudHMgbXVzdCBiZSBpbnRlZ3JhbAotICAgICAgICAgLSBiIG11c3QgYmUgbm9ubmVnYXRpdmUKLSAgICAgICAgIC0gYXQgbGVhc3Qgb25lIG9mIGEgb3IgYiBtdXN0IGJlIG5vbnplcm8KLSAgICAgICAgIC0gbW9kdWxvIG11c3QgYmUgbm9uemVybyBhbmQgaGF2ZSBhdCBtb3N0ICdwcmVjaXNpb24nIGRpZ2l0cwotCi0gICAgICAgIFRoZSByZXN1bHQgb2YgcG93KGEsIGIsIG1vZHVsbykgaXMgaWRlbnRpY2FsIHRvIHRoZSByZXN1bHQKLSAgICAgICAgdGhhdCB3b3VsZCBiZSBvYnRhaW5lZCBieSBjb21wdXRpbmcgKGEqKmIpICUgbW9kdWxvIHdpdGgKLSAgICAgICAgdW5ib3VuZGVkIHByZWNpc2lvbiwgYnV0IGlzIGNvbXB1dGVkIG1vcmUgZWZmaWNpZW50bHkuICBJdCBpcwotICAgICAgICBhbHdheXMgZXhhY3QuCi0KLSAgICAgICAgPj4+IGMgPSBFeHRlbmRlZENvbnRleHQuY29weSgpCi0gICAgICAgID4+PiBjLkVtaW4gPSAtOTk5Ci0gICAgICAgID4+PiBjLkVtYXggPSA5OTkKLSAgICAgICAgPj4+IGMucG93ZXIoRGVjaW1hbCgnMicpLCBEZWNpbWFsKCczJykpCi0gICAgICAgIERlY2ltYWwoJzgnKQotICAgICAgICA+Pj4gYy5wb3dlcihEZWNpbWFsKCctMicpLCBEZWNpbWFsKCczJykpCi0gICAgICAgIERlY2ltYWwoJy04JykKLSAgICAgICAgPj4+IGMucG93ZXIoRGVjaW1hbCgnMicpLCBEZWNpbWFsKCctMycpKQotICAgICAgICBEZWNpbWFsKCcwLjEyNScpCi0gICAgICAgID4+PiBjLnBvd2VyKERlY2ltYWwoJzEuNycpLCBEZWNpbWFsKCc4JykpCi0gICAgICAgIERlY2ltYWwoJzY5Ljc1NzU3NDQnKQotICAgICAgICA+Pj4gYy5wb3dlcihEZWNpbWFsKCcxMCcpLCBEZWNpbWFsKCcwLjMwMTAyOTk5NicpKQotICAgICAgICBEZWNpbWFsKCcyLjAwMDAwMDAwJykKLSAgICAgICAgPj4+IGMucG93ZXIoRGVjaW1hbCgnSW5maW5pdHknKSwgRGVjaW1hbCgnLTEnKSkKLSAgICAgICAgRGVjaW1hbCgnMCcpCi0gICAgICAgID4+PiBjLnBvd2VyKERlY2ltYWwoJ0luZmluaXR5JyksIERlY2ltYWwoJzAnKSkKLSAgICAgICAgRGVjaW1hbCgnMScpCi0gICAgICAgID4+PiBjLnBvd2VyKERlY2ltYWwoJ0luZmluaXR5JyksIERlY2ltYWwoJzEnKSkKLSAgICAgICAgRGVjaW1hbCgnSW5maW5pdHknKQotICAgICAgICA+Pj4gYy5wb3dlcihEZWNpbWFsKCctSW5maW5pdHknKSwgRGVjaW1hbCgnLTEnKSkKLSAgICAgICAgRGVjaW1hbCgnLTAnKQotICAgICAgICA+Pj4gYy5wb3dlcihEZWNpbWFsKCctSW5maW5pdHknKSwgRGVjaW1hbCgnMCcpKQotICAgICAgICBEZWNpbWFsKCcxJykKLSAgICAgICAgPj4+IGMucG93ZXIoRGVjaW1hbCgnLUluZmluaXR5JyksIERlY2ltYWwoJzEnKSkKLSAgICAgICAgRGVjaW1hbCgnLUluZmluaXR5JykKLSAgICAgICAgPj4+IGMucG93ZXIoRGVjaW1hbCgnLUluZmluaXR5JyksIERlY2ltYWwoJzInKSkKLSAgICAgICAgRGVjaW1hbCgnSW5maW5pdHknKQotICAgICAgICA+Pj4gYy5wb3dlcihEZWNpbWFsKCcwJyksIERlY2ltYWwoJzAnKSkKLSAgICAgICAgRGVjaW1hbCgnTmFOJykKLQotICAgICAgICA+Pj4gYy5wb3dlcihEZWNpbWFsKCczJyksIERlY2ltYWwoJzcnKSwgRGVjaW1hbCgnMTYnKSkKLSAgICAgICAgRGVjaW1hbCgnMTEnKQotICAgICAgICA+Pj4gYy5wb3dlcihEZWNpbWFsKCctMycpLCBEZWNpbWFsKCc3JyksIERlY2ltYWwoJzE2JykpCi0gICAgICAgIERlY2ltYWwoJy0xMScpCi0gICAgICAgID4+PiBjLnBvd2VyKERlY2ltYWwoJy0zJyksIERlY2ltYWwoJzgnKSwgRGVjaW1hbCgnMTYnKSkKLSAgICAgICAgRGVjaW1hbCgnMScpCi0gICAgICAgID4+PiBjLnBvd2VyKERlY2ltYWwoJzMnKSwgRGVjaW1hbCgnNycpLCBEZWNpbWFsKCctMTYnKSkKLSAgICAgICAgRGVjaW1hbCgnMTEnKQotICAgICAgICA+Pj4gYy5wb3dlcihEZWNpbWFsKCcyM0UxMjM0NScpLCBEZWNpbWFsKCc2N0UxODknKSwgRGVjaW1hbCgnMTIzNDU2Nzg5JykpCi0gICAgICAgIERlY2ltYWwoJzExNzI5ODMwJykKLSAgICAgICAgPj4+IGMucG93ZXIoRGVjaW1hbCgnLTAnKSwgRGVjaW1hbCgnMTcnKSwgRGVjaW1hbCgnMTcyOScpKQotICAgICAgICBEZWNpbWFsKCctMCcpCi0gICAgICAgID4+PiBjLnBvd2VyKERlY2ltYWwoJy0yMycpLCBEZWNpbWFsKCcwJyksIERlY2ltYWwoJzY1NTM3JykpCi0gICAgICAgIERlY2ltYWwoJzEnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnBvd2VyKDcsIDcpCi0gICAgICAgIERlY2ltYWwoJzgyMzU0MycpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQucG93ZXIoRGVjaW1hbCg3KSwgNykKLSAgICAgICAgRGVjaW1hbCgnODIzNTQzJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5wb3dlcig3LCBEZWNpbWFsKDcpLCAyKQotICAgICAgICBEZWNpbWFsKCcxJykKLSAgICAgICAgIiIiCi0gICAgICAgIGEgPSBfY29udmVydF9vdGhlcihhLCByYWlzZWl0PVRydWUpCi0gICAgICAgIHIgPSBhLl9fcG93X18oYiwgbW9kdWxvLCBjb250ZXh0PXNlbGYpCi0gICAgICAgIGlmIHIgaXMgTm90SW1wbGVtZW50ZWQ6Ci0gICAgICAgICAgICByYWlzZSBUeXBlRXJyb3IoIlVuYWJsZSB0byBjb252ZXJ0ICVzIHRvIERlY2ltYWwiICUgYikKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHJldHVybiByCi0KLSAgICBkZWYgcXVhbnRpemUoc2VsZiwgYSwgYik6Ci0gICAgICAgICIiIlJldHVybnMgYSB2YWx1ZSBlcXVhbCB0byAnYScgKHJvdW5kZWQpLCBoYXZpbmcgdGhlIGV4cG9uZW50IG9mICdiJy4KLQotICAgICAgICBUaGUgY29lZmZpY2llbnQgb2YgdGhlIHJlc3VsdCBpcyBkZXJpdmVkIGZyb20gdGhhdCBvZiB0aGUgbGVmdC1oYW5kCi0gICAgICAgIG9wZXJhbmQuICBJdCBtYXkgYmUgcm91bmRlZCB1c2luZyB0aGUgY3VycmVudCByb3VuZGluZyBzZXR0aW5nIChpZiB0aGUKLSAgICAgICAgZXhwb25lbnQgaXMgYmVpbmcgaW5jcmVhc2VkKSwgbXVsdGlwbGllZCBieSBhIHBvc2l0aXZlIHBvd2VyIG9mIHRlbiAoaWYKLSAgICAgICAgdGhlIGV4cG9uZW50IGlzIGJlaW5nIGRlY3JlYXNlZCksIG9yIGlzIHVuY2hhbmdlZCAoaWYgdGhlIGV4cG9uZW50IGlzCi0gICAgICAgIGFscmVhZHkgZXF1YWwgdG8gdGhhdCBvZiB0aGUgcmlnaHQtaGFuZCBvcGVyYW5kKS4KLQotICAgICAgICBVbmxpa2Ugb3RoZXIgb3BlcmF0aW9ucywgaWYgdGhlIGxlbmd0aCBvZiB0aGUgY29lZmZpY2llbnQgYWZ0ZXIgdGhlCi0gICAgICAgIHF1YW50aXplIG9wZXJhdGlvbiB3b3VsZCBiZSBncmVhdGVyIHRoYW4gcHJlY2lzaW9uIHRoZW4gYW4gSW52YWxpZAotICAgICAgICBvcGVyYXRpb24gY29uZGl0aW9uIGlzIHJhaXNlZC4gIFRoaXMgZ3VhcmFudGVlcyB0aGF0LCB1bmxlc3MgdGhlcmUgaXMKLSAgICAgICAgYW4gZXJyb3IgY29uZGl0aW9uLCB0aGUgZXhwb25lbnQgb2YgdGhlIHJlc3VsdCBvZiBhIHF1YW50aXplIGlzIGFsd2F5cwotICAgICAgICBlcXVhbCB0byB0aGF0IG9mIHRoZSByaWdodC1oYW5kIG9wZXJhbmQuCi0KLSAgICAgICAgQWxzbyB1bmxpa2Ugb3RoZXIgb3BlcmF0aW9ucywgcXVhbnRpemUgd2lsbCBuZXZlciByYWlzZSBVbmRlcmZsb3csIGV2ZW4KLSAgICAgICAgaWYgdGhlIHJlc3VsdCBpcyBzdWJub3JtYWwgYW5kIGluZXhhY3QuCi0KLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5xdWFudGl6ZShEZWNpbWFsKCcyLjE3JyksIERlY2ltYWwoJzAuMDAxJykpCi0gICAgICAgIERlY2ltYWwoJzIuMTcwJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5xdWFudGl6ZShEZWNpbWFsKCcyLjE3JyksIERlY2ltYWwoJzAuMDEnKSkKLSAgICAgICAgRGVjaW1hbCgnMi4xNycpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQucXVhbnRpemUoRGVjaW1hbCgnMi4xNycpLCBEZWNpbWFsKCcwLjEnKSkKLSAgICAgICAgRGVjaW1hbCgnMi4yJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5xdWFudGl6ZShEZWNpbWFsKCcyLjE3JyksIERlY2ltYWwoJzFlKzAnKSkKLSAgICAgICAgRGVjaW1hbCgnMicpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQucXVhbnRpemUoRGVjaW1hbCgnMi4xNycpLCBEZWNpbWFsKCcxZSsxJykpCi0gICAgICAgIERlY2ltYWwoJzBFKzEnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnF1YW50aXplKERlY2ltYWwoJy1JbmYnKSwgRGVjaW1hbCgnSW5maW5pdHknKSkKLSAgICAgICAgRGVjaW1hbCgnLUluZmluaXR5JykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5xdWFudGl6ZShEZWNpbWFsKCcyJyksIERlY2ltYWwoJ0luZmluaXR5JykpCi0gICAgICAgIERlY2ltYWwoJ05hTicpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQucXVhbnRpemUoRGVjaW1hbCgnLTAuMScpLCBEZWNpbWFsKCcxJykpCi0gICAgICAgIERlY2ltYWwoJy0wJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5xdWFudGl6ZShEZWNpbWFsKCctMCcpLCBEZWNpbWFsKCcxZSs1JykpCi0gICAgICAgIERlY2ltYWwoJy0wRSs1JykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5xdWFudGl6ZShEZWNpbWFsKCcrMzUyMzY0NTAuNicpLCBEZWNpbWFsKCcxZS0yJykpCi0gICAgICAgIERlY2ltYWwoJ05hTicpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQucXVhbnRpemUoRGVjaW1hbCgnLTM1MjM2NDUwLjYnKSwgRGVjaW1hbCgnMWUtMicpKQotICAgICAgICBEZWNpbWFsKCdOYU4nKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnF1YW50aXplKERlY2ltYWwoJzIxNycpLCBEZWNpbWFsKCcxZS0xJykpCi0gICAgICAgIERlY2ltYWwoJzIxNy4wJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5xdWFudGl6ZShEZWNpbWFsKCcyMTcnKSwgRGVjaW1hbCgnMWUtMCcpKQotICAgICAgICBEZWNpbWFsKCcyMTcnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnF1YW50aXplKERlY2ltYWwoJzIxNycpLCBEZWNpbWFsKCcxZSsxJykpCi0gICAgICAgIERlY2ltYWwoJzIuMkUrMicpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQucXVhbnRpemUoRGVjaW1hbCgnMjE3JyksIERlY2ltYWwoJzFlKzInKSkKLSAgICAgICAgRGVjaW1hbCgnMkUrMicpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQucXVhbnRpemUoMSwgMikKLSAgICAgICAgRGVjaW1hbCgnMScpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQucXVhbnRpemUoRGVjaW1hbCgxKSwgMikKLSAgICAgICAgRGVjaW1hbCgnMScpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQucXVhbnRpemUoMSwgRGVjaW1hbCgyKSkKLSAgICAgICAgRGVjaW1hbCgnMScpCi0gICAgICAgICIiIgotICAgICAgICBhID0gX2NvbnZlcnRfb3RoZXIoYSwgcmFpc2VpdD1UcnVlKQotICAgICAgICByZXR1cm4gYS5xdWFudGl6ZShiLCBjb250ZXh0PXNlbGYpCi0KLSAgICBkZWYgcmFkaXgoc2VsZik6Ci0gICAgICAgICIiIkp1c3QgcmV0dXJucyAxMCwgYXMgdGhpcyBpcyBEZWNpbWFsLCA6KQotCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQucmFkaXgoKQotICAgICAgICBEZWNpbWFsKCcxMCcpCi0gICAgICAgICIiIgotICAgICAgICByZXR1cm4gRGVjaW1hbCgxMCkKLQotICAgIGRlZiByZW1haW5kZXIoc2VsZiwgYSwgYik6Ci0gICAgICAgICIiIlJldHVybnMgdGhlIHJlbWFpbmRlciBmcm9tIGludGVnZXIgZGl2aXNpb24uCi0KLSAgICAgICAgVGhlIHJlc3VsdCBpcyB0aGUgcmVzaWR1ZSBvZiB0aGUgZGl2aWRlbmQgYWZ0ZXIgdGhlIG9wZXJhdGlvbiBvZgotICAgICAgICBjYWxjdWxhdGluZyBpbnRlZ2VyIGRpdmlzaW9uIGFzIGRlc2NyaWJlZCBmb3IgZGl2aWRlLWludGVnZXIsIHJvdW5kZWQKLSAgICAgICAgdG8gcHJlY2lzaW9uIGRpZ2l0cyBpZiBuZWNlc3NhcnkuICBUaGUgc2lnbiBvZiB0aGUgcmVzdWx0LCBpZgotICAgICAgICBub24temVybywgaXMgdGhlIHNhbWUgYXMgdGhhdCBvZiB0aGUgb3JpZ2luYWwgZGl2aWRlbmQuCi0KLSAgICAgICAgVGhpcyBvcGVyYXRpb24gd2lsbCBmYWlsIHVuZGVyIHRoZSBzYW1lIGNvbmRpdGlvbnMgYXMgaW50ZWdlciBkaXZpc2lvbgotICAgICAgICAodGhhdCBpcywgaWYgaW50ZWdlciBkaXZpc2lvbiBvbiB0aGUgc2FtZSB0d28gb3BlcmFuZHMgd291bGQgZmFpbCwgdGhlCi0gICAgICAgIHJlbWFpbmRlciBjYW5ub3QgYmUgY2FsY3VsYXRlZCkuCi0KLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5yZW1haW5kZXIoRGVjaW1hbCgnMi4xJyksIERlY2ltYWwoJzMnKSkKLSAgICAgICAgRGVjaW1hbCgnMi4xJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5yZW1haW5kZXIoRGVjaW1hbCgnMTAnKSwgRGVjaW1hbCgnMycpKQotICAgICAgICBEZWNpbWFsKCcxJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5yZW1haW5kZXIoRGVjaW1hbCgnLTEwJyksIERlY2ltYWwoJzMnKSkKLSAgICAgICAgRGVjaW1hbCgnLTEnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnJlbWFpbmRlcihEZWNpbWFsKCcxMC4yJyksIERlY2ltYWwoJzEnKSkKLSAgICAgICAgRGVjaW1hbCgnMC4yJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5yZW1haW5kZXIoRGVjaW1hbCgnMTAnKSwgRGVjaW1hbCgnMC4zJykpCi0gICAgICAgIERlY2ltYWwoJzAuMScpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQucmVtYWluZGVyKERlY2ltYWwoJzMuNicpLCBEZWNpbWFsKCcxLjMnKSkKLSAgICAgICAgRGVjaW1hbCgnMS4wJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5yZW1haW5kZXIoMjIsIDYpCi0gICAgICAgIERlY2ltYWwoJzQnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnJlbWFpbmRlcihEZWNpbWFsKDIyKSwgNikKLSAgICAgICAgRGVjaW1hbCgnNCcpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQucmVtYWluZGVyKDIyLCBEZWNpbWFsKDYpKQotICAgICAgICBEZWNpbWFsKCc0JykKLSAgICAgICAgIiIiCi0gICAgICAgIGEgPSBfY29udmVydF9vdGhlcihhLCByYWlzZWl0PVRydWUpCi0gICAgICAgIHIgPSBhLl9fbW9kX18oYiwgY29udGV4dD1zZWxmKQotICAgICAgICBpZiByIGlzIE5vdEltcGxlbWVudGVkOgotICAgICAgICAgICAgcmFpc2UgVHlwZUVycm9yKCJVbmFibGUgdG8gY29udmVydCAlcyB0byBEZWNpbWFsIiAlIGIpCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICByZXR1cm4gcgotCi0gICAgZGVmIHJlbWFpbmRlcl9uZWFyKHNlbGYsIGEsIGIpOgotICAgICAgICAiIiJSZXR1cm5zIHRvIGJlICJhIC0gYiAqIG4iLCB3aGVyZSBuIGlzIHRoZSBpbnRlZ2VyIG5lYXJlc3QgdGhlIGV4YWN0Ci0gICAgICAgIHZhbHVlIG9mICJ4IC8gYiIgKGlmIHR3byBpbnRlZ2VycyBhcmUgZXF1YWxseSBuZWFyIHRoZW4gdGhlIGV2ZW4gb25lCi0gICAgICAgIGlzIGNob3NlbikuICBJZiB0aGUgcmVzdWx0IGlzIGVxdWFsIHRvIDAgdGhlbiBpdHMgc2lnbiB3aWxsIGJlIHRoZQotICAgICAgICBzaWduIG9mIGEuCi0KLSAgICAgICAgVGhpcyBvcGVyYXRpb24gd2lsbCBmYWlsIHVuZGVyIHRoZSBzYW1lIGNvbmRpdGlvbnMgYXMgaW50ZWdlciBkaXZpc2lvbgotICAgICAgICAodGhhdCBpcywgaWYgaW50ZWdlciBkaXZpc2lvbiBvbiB0aGUgc2FtZSB0d28gb3BlcmFuZHMgd291bGQgZmFpbCwgdGhlCi0gICAgICAgIHJlbWFpbmRlciBjYW5ub3QgYmUgY2FsY3VsYXRlZCkuCi0KLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5yZW1haW5kZXJfbmVhcihEZWNpbWFsKCcyLjEnKSwgRGVjaW1hbCgnMycpKQotICAgICAgICBEZWNpbWFsKCctMC45JykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5yZW1haW5kZXJfbmVhcihEZWNpbWFsKCcxMCcpLCBEZWNpbWFsKCc2JykpCi0gICAgICAgIERlY2ltYWwoJy0yJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5yZW1haW5kZXJfbmVhcihEZWNpbWFsKCcxMCcpLCBEZWNpbWFsKCczJykpCi0gICAgICAgIERlY2ltYWwoJzEnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnJlbWFpbmRlcl9uZWFyKERlY2ltYWwoJy0xMCcpLCBEZWNpbWFsKCczJykpCi0gICAgICAgIERlY2ltYWwoJy0xJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5yZW1haW5kZXJfbmVhcihEZWNpbWFsKCcxMC4yJyksIERlY2ltYWwoJzEnKSkKLSAgICAgICAgRGVjaW1hbCgnMC4yJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5yZW1haW5kZXJfbmVhcihEZWNpbWFsKCcxMCcpLCBEZWNpbWFsKCcwLjMnKSkKLSAgICAgICAgRGVjaW1hbCgnMC4xJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5yZW1haW5kZXJfbmVhcihEZWNpbWFsKCczLjYnKSwgRGVjaW1hbCgnMS4zJykpCi0gICAgICAgIERlY2ltYWwoJy0wLjMnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnJlbWFpbmRlcl9uZWFyKDMsIDExKQotICAgICAgICBEZWNpbWFsKCczJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5yZW1haW5kZXJfbmVhcihEZWNpbWFsKDMpLCAxMSkKLSAgICAgICAgRGVjaW1hbCgnMycpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQucmVtYWluZGVyX25lYXIoMywgRGVjaW1hbCgxMSkpCi0gICAgICAgIERlY2ltYWwoJzMnKQotICAgICAgICAiIiIKLSAgICAgICAgYSA9IF9jb252ZXJ0X290aGVyKGEsIHJhaXNlaXQ9VHJ1ZSkKLSAgICAgICAgcmV0dXJuIGEucmVtYWluZGVyX25lYXIoYiwgY29udGV4dD1zZWxmKQotCi0gICAgZGVmIHJvdGF0ZShzZWxmLCBhLCBiKToKLSAgICAgICAgIiIiUmV0dXJucyBhIHJvdGF0ZWQgY29weSBvZiBhLCBiIHRpbWVzLgotCi0gICAgICAgIFRoZSBjb2VmZmljaWVudCBvZiB0aGUgcmVzdWx0IGlzIGEgcm90YXRlZCBjb3B5IG9mIHRoZSBkaWdpdHMgaW4KLSAgICAgICAgdGhlIGNvZWZmaWNpZW50IG9mIHRoZSBmaXJzdCBvcGVyYW5kLiAgVGhlIG51bWJlciBvZiBwbGFjZXMgb2YKLSAgICAgICAgcm90YXRpb24gaXMgdGFrZW4gZnJvbSB0aGUgYWJzb2x1dGUgdmFsdWUgb2YgdGhlIHNlY29uZCBvcGVyYW5kLAotICAgICAgICB3aXRoIHRoZSByb3RhdGlvbiBiZWluZyB0byB0aGUgbGVmdCBpZiB0aGUgc2Vjb25kIG9wZXJhbmQgaXMKLSAgICAgICAgcG9zaXRpdmUgb3IgdG8gdGhlIHJpZ2h0IG90aGVyd2lzZS4KLQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnJvdGF0ZShEZWNpbWFsKCczNCcpLCBEZWNpbWFsKCc4JykpCi0gICAgICAgIERlY2ltYWwoJzQwMDAwMDAwMycpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQucm90YXRlKERlY2ltYWwoJzEyJyksIERlY2ltYWwoJzknKSkKLSAgICAgICAgRGVjaW1hbCgnMTInKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnJvdGF0ZShEZWNpbWFsKCcxMjM0NTY3ODknKSwgRGVjaW1hbCgnLTInKSkKLSAgICAgICAgRGVjaW1hbCgnODkxMjM0NTY3JykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5yb3RhdGUoRGVjaW1hbCgnMTIzNDU2Nzg5JyksIERlY2ltYWwoJzAnKSkKLSAgICAgICAgRGVjaW1hbCgnMTIzNDU2Nzg5JykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5yb3RhdGUoRGVjaW1hbCgnMTIzNDU2Nzg5JyksIERlY2ltYWwoJysyJykpCi0gICAgICAgIERlY2ltYWwoJzM0NTY3ODkxMicpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQucm90YXRlKDEzMzMzMzMsIDEpCi0gICAgICAgIERlY2ltYWwoJzEzMzMzMzMwJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5yb3RhdGUoRGVjaW1hbCgxMzMzMzMzKSwgMSkKLSAgICAgICAgRGVjaW1hbCgnMTMzMzMzMzAnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnJvdGF0ZSgxMzMzMzMzLCBEZWNpbWFsKDEpKQotICAgICAgICBEZWNpbWFsKCcxMzMzMzMzMCcpCi0gICAgICAgICIiIgotICAgICAgICBhID0gX2NvbnZlcnRfb3RoZXIoYSwgcmFpc2VpdD1UcnVlKQotICAgICAgICByZXR1cm4gYS5yb3RhdGUoYiwgY29udGV4dD1zZWxmKQotCi0gICAgZGVmIHNhbWVfcXVhbnR1bShzZWxmLCBhLCBiKToKLSAgICAgICAgIiIiUmV0dXJucyBUcnVlIGlmIHRoZSB0d28gb3BlcmFuZHMgaGF2ZSB0aGUgc2FtZSBleHBvbmVudC4KLQotICAgICAgICBUaGUgcmVzdWx0IGlzIG5ldmVyIGFmZmVjdGVkIGJ5IGVpdGhlciB0aGUgc2lnbiBvciB0aGUgY29lZmZpY2llbnQgb2YKLSAgICAgICAgZWl0aGVyIG9wZXJhbmQuCi0KLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5zYW1lX3F1YW50dW0oRGVjaW1hbCgnMi4xNycpLCBEZWNpbWFsKCcwLjAwMScpKQotICAgICAgICBGYWxzZQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnNhbWVfcXVhbnR1bShEZWNpbWFsKCcyLjE3JyksIERlY2ltYWwoJzAuMDEnKSkKLSAgICAgICAgVHJ1ZQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnNhbWVfcXVhbnR1bShEZWNpbWFsKCcyLjE3JyksIERlY2ltYWwoJzEnKSkKLSAgICAgICAgRmFsc2UKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5zYW1lX3F1YW50dW0oRGVjaW1hbCgnSW5mJyksIERlY2ltYWwoJy1JbmYnKSkKLSAgICAgICAgVHJ1ZQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnNhbWVfcXVhbnR1bSgxMDAwMCwgLTEpCi0gICAgICAgIFRydWUKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5zYW1lX3F1YW50dW0oRGVjaW1hbCgxMDAwMCksIC0xKQotICAgICAgICBUcnVlCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuc2FtZV9xdWFudHVtKDEwMDAwLCBEZWNpbWFsKC0xKSkKLSAgICAgICAgVHJ1ZQotICAgICAgICAiIiIKLSAgICAgICAgYSA9IF9jb252ZXJ0X290aGVyKGEsIHJhaXNlaXQ9VHJ1ZSkKLSAgICAgICAgcmV0dXJuIGEuc2FtZV9xdWFudHVtKGIpCi0KLSAgICBkZWYgc2NhbGViIChzZWxmLCBhLCBiKToKLSAgICAgICAgIiIiUmV0dXJucyB0aGUgZmlyc3Qgb3BlcmFuZCBhZnRlciBhZGRpbmcgdGhlIHNlY29uZCB2YWx1ZSBpdHMgZXhwLgotCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuc2NhbGViKERlY2ltYWwoJzcuNTAnKSwgRGVjaW1hbCgnLTInKSkKLSAgICAgICAgRGVjaW1hbCgnMC4wNzUwJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5zY2FsZWIoRGVjaW1hbCgnNy41MCcpLCBEZWNpbWFsKCcwJykpCi0gICAgICAgIERlY2ltYWwoJzcuNTAnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnNjYWxlYihEZWNpbWFsKCc3LjUwJyksIERlY2ltYWwoJzMnKSkKLSAgICAgICAgRGVjaW1hbCgnNy41MEUrMycpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuc2NhbGViKDEsIDQpCi0gICAgICAgIERlY2ltYWwoJzFFKzQnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnNjYWxlYihEZWNpbWFsKDEpLCA0KQotICAgICAgICBEZWNpbWFsKCcxRSs0JykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5zY2FsZWIoMSwgRGVjaW1hbCg0KSkKLSAgICAgICAgRGVjaW1hbCgnMUUrNCcpCi0gICAgICAgICIiIgotICAgICAgICBhID0gX2NvbnZlcnRfb3RoZXIoYSwgcmFpc2VpdD1UcnVlKQotICAgICAgICByZXR1cm4gYS5zY2FsZWIoYiwgY29udGV4dD1zZWxmKQotCi0gICAgZGVmIHNoaWZ0KHNlbGYsIGEsIGIpOgotICAgICAgICAiIiJSZXR1cm5zIGEgc2hpZnRlZCBjb3B5IG9mIGEsIGIgdGltZXMuCi0KLSAgICAgICAgVGhlIGNvZWZmaWNpZW50IG9mIHRoZSByZXN1bHQgaXMgYSBzaGlmdGVkIGNvcHkgb2YgdGhlIGRpZ2l0cwotICAgICAgICBpbiB0aGUgY29lZmZpY2llbnQgb2YgdGhlIGZpcnN0IG9wZXJhbmQuICBUaGUgbnVtYmVyIG9mIHBsYWNlcwotICAgICAgICB0byBzaGlmdCBpcyB0YWtlbiBmcm9tIHRoZSBhYnNvbHV0ZSB2YWx1ZSBvZiB0aGUgc2Vjb25kIG9wZXJhbmQsCi0gICAgICAgIHdpdGggdGhlIHNoaWZ0IGJlaW5nIHRvIHRoZSBsZWZ0IGlmIHRoZSBzZWNvbmQgb3BlcmFuZCBpcwotICAgICAgICBwb3NpdGl2ZSBvciB0byB0aGUgcmlnaHQgb3RoZXJ3aXNlLiAgRGlnaXRzIHNoaWZ0ZWQgaW50byB0aGUKLSAgICAgICAgY29lZmZpY2llbnQgYXJlIHplcm9zLgotCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuc2hpZnQoRGVjaW1hbCgnMzQnKSwgRGVjaW1hbCgnOCcpKQotICAgICAgICBEZWNpbWFsKCc0MDAwMDAwMDAnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnNoaWZ0KERlY2ltYWwoJzEyJyksIERlY2ltYWwoJzknKSkKLSAgICAgICAgRGVjaW1hbCgnMCcpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuc2hpZnQoRGVjaW1hbCgnMTIzNDU2Nzg5JyksIERlY2ltYWwoJy0yJykpCi0gICAgICAgIERlY2ltYWwoJzEyMzQ1NjcnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnNoaWZ0KERlY2ltYWwoJzEyMzQ1Njc4OScpLCBEZWNpbWFsKCcwJykpCi0gICAgICAgIERlY2ltYWwoJzEyMzQ1Njc4OScpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuc2hpZnQoRGVjaW1hbCgnMTIzNDU2Nzg5JyksIERlY2ltYWwoJysyJykpCi0gICAgICAgIERlY2ltYWwoJzM0NTY3ODkwMCcpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuc2hpZnQoODg4ODg4ODgsIDIpCi0gICAgICAgIERlY2ltYWwoJzg4ODg4ODgwMCcpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuc2hpZnQoRGVjaW1hbCg4ODg4ODg4OCksIDIpCi0gICAgICAgIERlY2ltYWwoJzg4ODg4ODgwMCcpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuc2hpZnQoODg4ODg4ODgsIERlY2ltYWwoMikpCi0gICAgICAgIERlY2ltYWwoJzg4ODg4ODgwMCcpCi0gICAgICAgICIiIgotICAgICAgICBhID0gX2NvbnZlcnRfb3RoZXIoYSwgcmFpc2VpdD1UcnVlKQotICAgICAgICByZXR1cm4gYS5zaGlmdChiLCBjb250ZXh0PXNlbGYpCi0KLSAgICBkZWYgc3FydChzZWxmLCBhKToKLSAgICAgICAgIiIiU3F1YXJlIHJvb3Qgb2YgYSBub24tbmVnYXRpdmUgbnVtYmVyIHRvIGNvbnRleHQgcHJlY2lzaW9uLgotCi0gICAgICAgIElmIHRoZSByZXN1bHQgbXVzdCBiZSBpbmV4YWN0LCBpdCBpcyByb3VuZGVkIHVzaW5nIHRoZSByb3VuZC1oYWxmLWV2ZW4KLSAgICAgICAgYWxnb3JpdGhtLgotCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuc3FydChEZWNpbWFsKCcwJykpCi0gICAgICAgIERlY2ltYWwoJzAnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnNxcnQoRGVjaW1hbCgnLTAnKSkKLSAgICAgICAgRGVjaW1hbCgnLTAnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnNxcnQoRGVjaW1hbCgnMC4zOScpKQotICAgICAgICBEZWNpbWFsKCcwLjYyNDQ5OTgwMCcpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuc3FydChEZWNpbWFsKCcxMDAnKSkKLSAgICAgICAgRGVjaW1hbCgnMTAnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnNxcnQoRGVjaW1hbCgnMScpKQotICAgICAgICBEZWNpbWFsKCcxJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5zcXJ0KERlY2ltYWwoJzEuMCcpKQotICAgICAgICBEZWNpbWFsKCcxLjAnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnNxcnQoRGVjaW1hbCgnMS4wMCcpKQotICAgICAgICBEZWNpbWFsKCcxLjAnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnNxcnQoRGVjaW1hbCgnNycpKQotICAgICAgICBEZWNpbWFsKCcyLjY0NTc1MTMxJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5zcXJ0KERlY2ltYWwoJzEwJykpCi0gICAgICAgIERlY2ltYWwoJzMuMTYyMjc3NjYnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnNxcnQoMikKLSAgICAgICAgRGVjaW1hbCgnMS40MTQyMTM1NicpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQucHJlYwotICAgICAgICA5Ci0gICAgICAgICIiIgotICAgICAgICBhID0gX2NvbnZlcnRfb3RoZXIoYSwgcmFpc2VpdD1UcnVlKQotICAgICAgICByZXR1cm4gYS5zcXJ0KGNvbnRleHQ9c2VsZikKLQotICAgIGRlZiBzdWJ0cmFjdChzZWxmLCBhLCBiKToKLSAgICAgICAgIiIiUmV0dXJuIHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gdGhlIHR3byBvcGVyYW5kcy4KLQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnN1YnRyYWN0KERlY2ltYWwoJzEuMycpLCBEZWNpbWFsKCcxLjA3JykpCi0gICAgICAgIERlY2ltYWwoJzAuMjMnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnN1YnRyYWN0KERlY2ltYWwoJzEuMycpLCBEZWNpbWFsKCcxLjMwJykpCi0gICAgICAgIERlY2ltYWwoJzAuMDAnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnN1YnRyYWN0KERlY2ltYWwoJzEuMycpLCBEZWNpbWFsKCcyLjA3JykpCi0gICAgICAgIERlY2ltYWwoJy0wLjc3JykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5zdWJ0cmFjdCg4LCA1KQotICAgICAgICBEZWNpbWFsKCczJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5zdWJ0cmFjdChEZWNpbWFsKDgpLCA1KQotICAgICAgICBEZWNpbWFsKCczJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5zdWJ0cmFjdCg4LCBEZWNpbWFsKDUpKQotICAgICAgICBEZWNpbWFsKCczJykKLSAgICAgICAgIiIiCi0gICAgICAgIGEgPSBfY29udmVydF9vdGhlcihhLCByYWlzZWl0PVRydWUpCi0gICAgICAgIHIgPSBhLl9fc3ViX18oYiwgY29udGV4dD1zZWxmKQotICAgICAgICBpZiByIGlzIE5vdEltcGxlbWVudGVkOgotICAgICAgICAgICAgcmFpc2UgVHlwZUVycm9yKCJVbmFibGUgdG8gY29udmVydCAlcyB0byBEZWNpbWFsIiAlIGIpCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICByZXR1cm4gcgotCi0gICAgZGVmIHRvX2VuZ19zdHJpbmcoc2VsZiwgYSk6Ci0gICAgICAgICIiIkNvbnZlcnRzIGEgbnVtYmVyIHRvIGEgc3RyaW5nLCB1c2luZyBzY2llbnRpZmljIG5vdGF0aW9uLgotCi0gICAgICAgIFRoZSBvcGVyYXRpb24gaXMgbm90IGFmZmVjdGVkIGJ5IHRoZSBjb250ZXh0LgotICAgICAgICAiIiIKLSAgICAgICAgYSA9IF9jb252ZXJ0X290aGVyKGEsIHJhaXNlaXQ9VHJ1ZSkKLSAgICAgICAgcmV0dXJuIGEudG9fZW5nX3N0cmluZyhjb250ZXh0PXNlbGYpCi0KLSAgICBkZWYgdG9fc2NpX3N0cmluZyhzZWxmLCBhKToKLSAgICAgICAgIiIiQ29udmVydHMgYSBudW1iZXIgdG8gYSBzdHJpbmcsIHVzaW5nIHNjaWVudGlmaWMgbm90YXRpb24uCi0KLSAgICAgICAgVGhlIG9wZXJhdGlvbiBpcyBub3QgYWZmZWN0ZWQgYnkgdGhlIGNvbnRleHQuCi0gICAgICAgICIiIgotICAgICAgICBhID0gX2NvbnZlcnRfb3RoZXIoYSwgcmFpc2VpdD1UcnVlKQotICAgICAgICByZXR1cm4gYS5fX3N0cl9fKGNvbnRleHQ9c2VsZikKLQotICAgIGRlZiB0b19pbnRlZ3JhbF9leGFjdChzZWxmLCBhKToKLSAgICAgICAgIiIiUm91bmRzIHRvIGFuIGludGVnZXIuCi0KLSAgICAgICAgV2hlbiB0aGUgb3BlcmFuZCBoYXMgYSBuZWdhdGl2ZSBleHBvbmVudCwgdGhlIHJlc3VsdCBpcyB0aGUgc2FtZQotICAgICAgICBhcyB1c2luZyB0aGUgcXVhbnRpemUoKSBvcGVyYXRpb24gdXNpbmcgdGhlIGdpdmVuIG9wZXJhbmQgYXMgdGhlCi0gICAgICAgIGxlZnQtaGFuZC1vcGVyYW5kLCAxRSswIGFzIHRoZSByaWdodC1oYW5kLW9wZXJhbmQsIGFuZCB0aGUgcHJlY2lzaW9uCi0gICAgICAgIG9mIHRoZSBvcGVyYW5kIGFzIHRoZSBwcmVjaXNpb24gc2V0dGluZzsgSW5leGFjdCBhbmQgUm91bmRlZCBmbGFncwotICAgICAgICBhcmUgYWxsb3dlZCBpbiB0aGlzIG9wZXJhdGlvbi4gIFRoZSByb3VuZGluZyBtb2RlIGlzIHRha2VuIGZyb20gdGhlCi0gICAgICAgIGNvbnRleHQuCi0KLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC50b19pbnRlZ3JhbF9leGFjdChEZWNpbWFsKCcyLjEnKSkKLSAgICAgICAgRGVjaW1hbCgnMicpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQudG9faW50ZWdyYWxfZXhhY3QoRGVjaW1hbCgnMTAwJykpCi0gICAgICAgIERlY2ltYWwoJzEwMCcpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQudG9faW50ZWdyYWxfZXhhY3QoRGVjaW1hbCgnMTAwLjAnKSkKLSAgICAgICAgRGVjaW1hbCgnMTAwJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC50b19pbnRlZ3JhbF9leGFjdChEZWNpbWFsKCcxMDEuNScpKQotICAgICAgICBEZWNpbWFsKCcxMDInKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnRvX2ludGVncmFsX2V4YWN0KERlY2ltYWwoJy0xMDEuNScpKQotICAgICAgICBEZWNpbWFsKCctMTAyJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC50b19pbnRlZ3JhbF9leGFjdChEZWNpbWFsKCcxMEUrNScpKQotICAgICAgICBEZWNpbWFsKCcxLjBFKzYnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnRvX2ludGVncmFsX2V4YWN0KERlY2ltYWwoJzcuODlFKzc3JykpCi0gICAgICAgIERlY2ltYWwoJzcuODlFKzc3JykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC50b19pbnRlZ3JhbF9leGFjdChEZWNpbWFsKCctSW5mJykpCi0gICAgICAgIERlY2ltYWwoJy1JbmZpbml0eScpCi0gICAgICAgICIiIgotICAgICAgICBhID0gX2NvbnZlcnRfb3RoZXIoYSwgcmFpc2VpdD1UcnVlKQotICAgICAgICByZXR1cm4gYS50b19pbnRlZ3JhbF9leGFjdChjb250ZXh0PXNlbGYpCi0KLSAgICBkZWYgdG9faW50ZWdyYWxfdmFsdWUoc2VsZiwgYSk6Ci0gICAgICAgICIiIlJvdW5kcyB0byBhbiBpbnRlZ2VyLgotCi0gICAgICAgIFdoZW4gdGhlIG9wZXJhbmQgaGFzIGEgbmVnYXRpdmUgZXhwb25lbnQsIHRoZSByZXN1bHQgaXMgdGhlIHNhbWUKLSAgICAgICAgYXMgdXNpbmcgdGhlIHF1YW50aXplKCkgb3BlcmF0aW9uIHVzaW5nIHRoZSBnaXZlbiBvcGVyYW5kIGFzIHRoZQotICAgICAgICBsZWZ0LWhhbmQtb3BlcmFuZCwgMUUrMCBhcyB0aGUgcmlnaHQtaGFuZC1vcGVyYW5kLCBhbmQgdGhlIHByZWNpc2lvbgotICAgICAgICBvZiB0aGUgb3BlcmFuZCBhcyB0aGUgcHJlY2lzaW9uIHNldHRpbmcsIGV4Y2VwdCB0aGF0IG5vIGZsYWdzIHdpbGwKLSAgICAgICAgYmUgc2V0LiAgVGhlIHJvdW5kaW5nIG1vZGUgaXMgdGFrZW4gZnJvbSB0aGUgY29udGV4dC4KLQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnRvX2ludGVncmFsX3ZhbHVlKERlY2ltYWwoJzIuMScpKQotICAgICAgICBEZWNpbWFsKCcyJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC50b19pbnRlZ3JhbF92YWx1ZShEZWNpbWFsKCcxMDAnKSkKLSAgICAgICAgRGVjaW1hbCgnMTAwJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC50b19pbnRlZ3JhbF92YWx1ZShEZWNpbWFsKCcxMDAuMCcpKQotICAgICAgICBEZWNpbWFsKCcxMDAnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnRvX2ludGVncmFsX3ZhbHVlKERlY2ltYWwoJzEwMS41JykpCi0gICAgICAgIERlY2ltYWwoJzEwMicpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQudG9faW50ZWdyYWxfdmFsdWUoRGVjaW1hbCgnLTEwMS41JykpCi0gICAgICAgIERlY2ltYWwoJy0xMDInKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnRvX2ludGVncmFsX3ZhbHVlKERlY2ltYWwoJzEwRSs1JykpCi0gICAgICAgIERlY2ltYWwoJzEuMEUrNicpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQudG9faW50ZWdyYWxfdmFsdWUoRGVjaW1hbCgnNy44OUUrNzcnKSkKLSAgICAgICAgRGVjaW1hbCgnNy44OUUrNzcnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnRvX2ludGVncmFsX3ZhbHVlKERlY2ltYWwoJy1JbmYnKSkKLSAgICAgICAgRGVjaW1hbCgnLUluZmluaXR5JykKLSAgICAgICAgIiIiCi0gICAgICAgIGEgPSBfY29udmVydF9vdGhlcihhLCByYWlzZWl0PVRydWUpCi0gICAgICAgIHJldHVybiBhLnRvX2ludGVncmFsX3ZhbHVlKGNvbnRleHQ9c2VsZikKLQotICAgICMgdGhlIG1ldGhvZCBuYW1lIGNoYW5nZWQsIGJ1dCB3ZSBwcm92aWRlIGFsc28gdGhlIG9sZCBvbmUsIGZvciBjb21wYXRpYmlsaXR5Ci0gICAgdG9faW50ZWdyYWwgPSB0b19pbnRlZ3JhbF92YWx1ZQotCi1jbGFzcyBfV29ya1JlcChvYmplY3QpOgotICAgIF9fc2xvdHNfXyA9ICgnc2lnbicsJ2ludCcsJ2V4cCcpCi0gICAgIyBzaWduOiAwIG9yIDEKLSAgICAjIGludDogIGludAotICAgICMgZXhwOiAgTm9uZSwgaW50LCBvciBzdHJpbmcKLQotICAgIGRlZiBfX2luaXRfXyhzZWxmLCB2YWx1ZT1Ob25lKToKLSAgICAgICAgaWYgdmFsdWUgaXMgTm9uZToKLSAgICAgICAgICAgIHNlbGYuc2lnbiA9IE5vbmUKLSAgICAgICAgICAgIHNlbGYuaW50ID0gMAotICAgICAgICAgICAgc2VsZi5leHAgPSBOb25lCi0gICAgICAgIGVsaWYgaXNpbnN0YW5jZSh2YWx1ZSwgRGVjaW1hbCk6Ci0gICAgICAgICAgICBzZWxmLnNpZ24gPSB2YWx1ZS5fc2lnbgotICAgICAgICAgICAgc2VsZi5pbnQgPSBpbnQodmFsdWUuX2ludCkKLSAgICAgICAgICAgIHNlbGYuZXhwID0gdmFsdWUuX2V4cAotICAgICAgICBlbHNlOgotICAgICAgICAgICAgIyBhc3NlcnQgaXNpbnN0YW5jZSh2YWx1ZSwgdHVwbGUpCi0gICAgICAgICAgICBzZWxmLnNpZ24gPSB2YWx1ZVswXQotICAgICAgICAgICAgc2VsZi5pbnQgPSB2YWx1ZVsxXQotICAgICAgICAgICAgc2VsZi5leHAgPSB2YWx1ZVsyXQotCi0gICAgZGVmIF9fcmVwcl9fKHNlbGYpOgotICAgICAgICByZXR1cm4gIiglciwgJXIsICVyKSIgJSAoc2VsZi5zaWduLCBzZWxmLmludCwgc2VsZi5leHApCi0KLSAgICBfX3N0cl9fID0gX19yZXByX18KLQotCi0KLWRlZiBfbm9ybWFsaXplKG9wMSwgb3AyLCBwcmVjID0gMCk6Ci0gICAgIiIiTm9ybWFsaXplcyBvcDEsIG9wMiB0byBoYXZlIHRoZSBzYW1lIGV4cCBhbmQgbGVuZ3RoIG9mIGNvZWZmaWNpZW50LgotCi0gICAgRG9uZSBkdXJpbmcgYWRkaXRpb24uCi0gICAgIiIiCi0gICAgaWYgb3AxLmV4cCA8IG9wMi5leHA6Ci0gICAgICAgIHRtcCA9IG9wMgotICAgICAgICBvdGhlciA9IG9wMQotICAgIGVsc2U6Ci0gICAgICAgIHRtcCA9IG9wMQotICAgICAgICBvdGhlciA9IG9wMgotCi0gICAgIyBMZXQgZXhwID0gbWluKHRtcC5leHAgLSAxLCB0bXAuYWRqdXN0ZWQoKSAtIHByZWNpc2lvbiAtIDEpLgotICAgICMgVGhlbiBhZGRpbmcgMTAqKmV4cCB0byB0bXAgaGFzIHRoZSBzYW1lIGVmZmVjdCAoYWZ0ZXIgcm91bmRpbmcpCi0gICAgIyBhcyBhZGRpbmcgYW55IHBvc2l0aXZlIHF1YW50aXR5IHNtYWxsZXIgdGhhbiAxMCoqZXhwOyBzaW1pbGFybHkKLSAgICAjIGZvciBzdWJ0cmFjdGlvbi4gIFNvIGlmIG90aGVyIGlzIHNtYWxsZXIgdGhhbiAxMCoqZXhwIHdlIHJlcGxhY2UKLSAgICAjIGl0IHdpdGggMTAqKmV4cC4gIFRoaXMgYXZvaWRzIHRtcC5leHAgLSBvdGhlci5leHAgZ2V0dGluZyB0b28gbGFyZ2UuCi0gICAgdG1wX2xlbiA9IGxlbihzdHIodG1wLmludCkpCi0gICAgb3RoZXJfbGVuID0gbGVuKHN0cihvdGhlci5pbnQpKQotICAgIGV4cCA9IHRtcC5leHAgKyBtaW4oLTEsIHRtcF9sZW4gLSBwcmVjIC0gMikKLSAgICBpZiBvdGhlcl9sZW4gKyBvdGhlci5leHAgLSAxIDwgZXhwOgotICAgICAgICBvdGhlci5pbnQgPSAxCi0gICAgICAgIG90aGVyLmV4cCA9IGV4cAotCi0gICAgdG1wLmludCAqPSAxMCAqKiAodG1wLmV4cCAtIG90aGVyLmV4cCkKLSAgICB0bXAuZXhwID0gb3RoZXIuZXhwCi0gICAgcmV0dXJuIG9wMSwgb3AyCi0KLSMjIyMjIEludGVnZXIgYXJpdGhtZXRpYyBmdW5jdGlvbnMgdXNlZCBieSBsbiwgbG9nMTAsIGV4cCBhbmQgX19wb3dfXyAjIyMjIwotCi1fbmJpdHMgPSBpbnQuYml0X2xlbmd0aAotCi1kZWYgX2RlY2ltYWxfbHNoaWZ0X2V4YWN0KG4sIGUpOgotICAgICIiIiBHaXZlbiBpbnRlZ2VycyBuIGFuZCBlLCByZXR1cm4gbiAqIDEwKiplIGlmIGl0J3MgYW4gaW50ZWdlciwgZWxzZSBOb25lLgotCi0gICAgVGhlIGNvbXB1dGF0aW9uIGlzIGRlc2lnbmVkIHRvIGF2b2lkIGNvbXB1dGluZyBsYXJnZSBwb3dlcnMgb2YgMTAKLSAgICB1bm5lY2Vzc2FyaWx5LgotCi0gICAgPj4+IF9kZWNpbWFsX2xzaGlmdF9leGFjdCgzLCA0KQotICAgIDMwMDAwCi0gICAgPj4+IF9kZWNpbWFsX2xzaGlmdF9leGFjdCgzMDAsIC05OTk5OTk5OTkpICAjIHJldHVybnMgTm9uZQotCi0gICAgIiIiCi0gICAgaWYgbiA9PSAwOgotICAgICAgICByZXR1cm4gMAotICAgIGVsaWYgZSA+PSAwOgotICAgICAgICByZXR1cm4gbiAqIDEwKiplCi0gICAgZWxzZToKLSAgICAgICAgIyB2YWxfbiA9IGxhcmdlc3QgcG93ZXIgb2YgMTAgZGl2aWRpbmcgbi4KLSAgICAgICAgc3RyX24gPSBzdHIoYWJzKG4pKQotICAgICAgICB2YWxfbiA9IGxlbihzdHJfbikgLSBsZW4oc3RyX24ucnN0cmlwKCcwJykpCi0gICAgICAgIHJldHVybiBOb25lIGlmIHZhbF9uIDwgLWUgZWxzZSBuIC8vIDEwKiotZQotCi1kZWYgX3NxcnRfbmVhcmVzdChuLCBhKToKLSAgICAiIiJDbG9zZXN0IGludGVnZXIgdG8gdGhlIHNxdWFyZSByb290IG9mIHRoZSBwb3NpdGl2ZSBpbnRlZ2VyIG4uICBhIGlzCi0gICAgYW4gaW5pdGlhbCBhcHByb3hpbWF0aW9uIHRvIHRoZSBzcXVhcmUgcm9vdC4gIEFueSBwb3NpdGl2ZSBpbnRlZ2VyCi0gICAgd2lsbCBkbyBmb3IgYSwgYnV0IHRoZSBjbG9zZXIgYSBpcyB0byB0aGUgc3F1YXJlIHJvb3Qgb2YgbiB0aGUKLSAgICBmYXN0ZXIgY29udmVyZ2VuY2Ugd2lsbCBiZS4KLQotICAgICIiIgotICAgIGlmIG4gPD0gMCBvciBhIDw9IDA6Ci0gICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIkJvdGggYXJndW1lbnRzIHRvIF9zcXJ0X25lYXJlc3Qgc2hvdWxkIGJlIHBvc2l0aXZlLiIpCi0KLSAgICBiPTAKLSAgICB3aGlsZSBhICE9IGI6Ci0gICAgICAgIGIsIGEgPSBhLCBhLS1uLy9hPj4xCi0gICAgcmV0dXJuIGEKLQotZGVmIF9yc2hpZnRfbmVhcmVzdCh4LCBzaGlmdCk6Ci0gICAgIiIiR2l2ZW4gYW4gaW50ZWdlciB4IGFuZCBhIG5vbm5lZ2F0aXZlIGludGVnZXIgc2hpZnQsIHJldHVybiBjbG9zZXN0Ci0gICAgaW50ZWdlciB0byB4IC8gMioqc2hpZnQ7IHVzZSByb3VuZC10by1ldmVuIGluIGNhc2Ugb2YgYSB0aWUuCi0KLSAgICAiIiIKLSAgICBiLCBxID0gMSA8PCBzaGlmdCwgeCA+PiBzaGlmdAotICAgIHJldHVybiBxICsgKDIqKHggJiAoYi0xKSkgKyAocSYxKSA+IGIpCi0KLWRlZiBfZGl2X25lYXJlc3QoYSwgYik6Ci0gICAgIiIiQ2xvc2VzdCBpbnRlZ2VyIHRvIGEvYiwgYSBhbmQgYiBwb3NpdGl2ZSBpbnRlZ2Vyczsgcm91bmRzIHRvIGV2ZW4KLSAgICBpbiB0aGUgY2FzZSBvZiBhIHRpZS4KLQotICAgICIiIgotICAgIHEsIHIgPSBkaXZtb2QoYSwgYikKLSAgICByZXR1cm4gcSArICgyKnIgKyAocSYxKSA+IGIpCi0KLWRlZiBfaWxvZyh4LCBNLCBMID0gOCk6Ci0gICAgIiIiSW50ZWdlciBhcHByb3hpbWF0aW9uIHRvIE0qbG9nKHgvTSksIHdpdGggYWJzb2x1dGUgZXJyb3IgYm91bmRhYmxlCi0gICAgaW4gdGVybXMgb25seSBvZiB4L00uCi0KLSAgICBHaXZlbiBwb3NpdGl2ZSBpbnRlZ2VycyB4IGFuZCBNLCByZXR1cm4gYW4gaW50ZWdlciBhcHByb3hpbWF0aW9uIHRvCi0gICAgTSAqIGxvZyh4L00pLiAgRm9yIEwgPSA4IGFuZCAwLjEgPD0geC9NIDw9IDEwIHRoZSBkaWZmZXJlbmNlCi0gICAgYmV0d2VlbiB0aGUgYXBwcm94aW1hdGlvbiBhbmQgdGhlIGV4YWN0IHJlc3VsdCBpcyBhdCBtb3N0IDIyLiAgRm9yCi0gICAgTCA9IDggYW5kIDEuMCA8PSB4L00gPD0gMTAuMCB0aGUgZGlmZmVyZW5jZSBpcyBhdCBtb3N0IDE1LiAgSW4KLSAgICBib3RoIGNhc2VzIHRoZXNlIGFyZSB1cHBlciBib3VuZHMgb24gdGhlIGVycm9yOyBpdCB3aWxsIHVzdWFsbHkgYmUKLSAgICBtdWNoIHNtYWxsZXIuIiIiCi0KLSAgICAjIFRoZSBiYXNpYyBhbGdvcml0aG0gaXMgdGhlIGZvbGxvd2luZzogbGV0IGxvZzFwIGJlIHRoZSBmdW5jdGlvbgotICAgICMgbG9nMXAoeCkgPSBsb2coMSt4KS4gIFRoZW4gbG9nKHgvTSkgPSBsb2cxcCgoeC1NKS9NKS4gIFdlIHVzZQotICAgICMgdGhlIHJlZHVjdGlvbgotICAgICMKLSAgICAjICAgIGxvZzFwKHkpID0gMipsb2cxcCh5LygxK3NxcnQoMSt5KSkpCi0gICAgIwotICAgICMgcmVwZWF0ZWRseSB1bnRpbCB0aGUgYXJndW1lbnQgdG8gbG9nMXAgaXMgc21hbGwgKDwgMioqLUwgaW4KLSAgICAjIGFic29sdXRlIHZhbHVlKS4gIEZvciBzbWFsbCB5IHdlIGNhbiB1c2UgdGhlIFRheWxvciBzZXJpZXMKLSAgICAjIGV4cGFuc2lvbgotICAgICMKLSAgICAjICAgIGxvZzFwKHkpIH4geSAtIHkqKjIvMiArIHkqKjMvMyAtIC4uLiAtICgteSkqKlQvVAotICAgICMKLSAgICAjIHRydW5jYXRpbmcgYXQgVCBzdWNoIHRoYXQgeSoqVCBpcyBzbWFsbCBlbm91Z2guICBUaGUgd2hvbGUKLSAgICAjIGNvbXB1dGF0aW9uIGlzIGNhcnJpZWQgb3V0IGluIGEgZm9ybSBvZiBmaXhlZC1wb2ludCBhcml0aG1ldGljLAotICAgICMgd2l0aCBhIHJlYWwgbnVtYmVyIHogYmVpbmcgcmVwcmVzZW50ZWQgYnkgYW4gaW50ZWdlcgotICAgICMgYXBwcm94aW1hdGlvbiB0byB6Kk0uICBUbyBhdm9pZCBsb3NzIG9mIHByZWNpc2lvbiwgdGhlIHkgYmVsb3cKLSAgICAjIGlzIGFjdHVhbGx5IGFuIGludGVnZXIgYXBwcm94aW1hdGlvbiB0byAyKipSKnkqTSwgd2hlcmUgUiBpcyB0aGUKLSAgICAjIG51bWJlciBvZiByZWR1Y3Rpb25zIHBlcmZvcm1lZCBzbyBmYXIuCi0KLSAgICB5ID0geC1NCi0gICAgIyBhcmd1bWVudCByZWR1Y3Rpb247IFIgPSBudW1iZXIgb2YgcmVkdWN0aW9ucyBwZXJmb3JtZWQKLSAgICBSID0gMAotICAgIHdoaWxlIChSIDw9IEwgYW5kIGFicyh5KSA8PCBMLVIgPj0gTSBvcgotICAgICAgICAgICBSID4gTCBhbmQgYWJzKHkpID4+IFItTCA+PSBNKToKLSAgICAgICAgeSA9IF9kaXZfbmVhcmVzdCgoTSp5KSA8PCAxLAotICAgICAgICAgICAgICAgICAgICAgICAgIE0gKyBfc3FydF9uZWFyZXN0KE0qKE0rX3JzaGlmdF9uZWFyZXN0KHksIFIpKSwgTSkpCi0gICAgICAgIFIgKz0gMQotCi0gICAgIyBUYXlsb3Igc2VyaWVzIHdpdGggVCB0ZXJtcwotICAgIFQgPSAtaW50KC0xMCpsZW4oc3RyKE0pKS8vKDMqTCkpCi0gICAgeXNoaWZ0ID0gX3JzaGlmdF9uZWFyZXN0KHksIFIpCi0gICAgdyA9IF9kaXZfbmVhcmVzdChNLCBUKQotICAgIGZvciBrIGluIHJhbmdlKFQtMSwgMCwgLTEpOgotICAgICAgICB3ID0gX2Rpdl9uZWFyZXN0KE0sIGspIC0gX2Rpdl9uZWFyZXN0KHlzaGlmdCp3LCBNKQotCi0gICAgcmV0dXJuIF9kaXZfbmVhcmVzdCh3KnksIE0pCi0KLWRlZiBfZGxvZzEwKGMsIGUsIHApOgotICAgICIiIkdpdmVuIGludGVnZXJzIGMsIGUgYW5kIHAgd2l0aCBjID4gMCwgcCA+PSAwLCBjb21wdXRlIGFuIGludGVnZXIKLSAgICBhcHByb3hpbWF0aW9uIHRvIDEwKipwICogbG9nMTAoYyoxMCoqZSksIHdpdGggYW4gYWJzb2x1dGUgZXJyb3Igb2YKLSAgICBhdCBtb3N0IDEuICBBc3N1bWVzIHRoYXQgYyoxMCoqZSBpcyBub3QgZXhhY3RseSAxLiIiIgotCi0gICAgIyBpbmNyZWFzZSBwcmVjaXNpb24gYnkgMjsgY29tcGVuc2F0ZSBmb3IgdGhpcyBieSBkaXZpZGluZwotICAgICMgZmluYWwgcmVzdWx0IGJ5IDEwMAotICAgIHAgKz0gMgotCi0gICAgIyB3cml0ZSBjKjEwKiplIGFzIGQqMTAqKmYgd2l0aCBlaXRoZXI6Ci0gICAgIyAgIGYgPj0gMCBhbmQgMSA8PSBkIDw9IDEwLCBvcgotICAgICMgICBmIDw9IDAgYW5kIDAuMSA8PSBkIDw9IDEuCi0gICAgIyBUaHVzIGZvciBjKjEwKiplIGNsb3NlIHRvIDEsIGYgPSAwCi0gICAgbCA9IGxlbihzdHIoYykpCi0gICAgZiA9IGUrbCAtIChlK2wgPj0gMSkKLQotICAgIGlmIHAgPiAwOgotICAgICAgICBNID0gMTAqKnAKLSAgICAgICAgayA9IGUrcC1mCi0gICAgICAgIGlmIGsgPj0gMDoKLSAgICAgICAgICAgIGMgKj0gMTAqKmsKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIGMgPSBfZGl2X25lYXJlc3QoYywgMTAqKi1rKQotCi0gICAgICAgIGxvZ19kID0gX2lsb2coYywgTSkgIyBlcnJvciA8IDUgKyAyMiA9IDI3Ci0gICAgICAgIGxvZ18xMCA9IF9sb2cxMF9kaWdpdHMocCkgIyBlcnJvciA8IDEKLSAgICAgICAgbG9nX2QgPSBfZGl2X25lYXJlc3QobG9nX2QqTSwgbG9nXzEwKQotICAgICAgICBsb2dfdGVucG93ZXIgPSBmKk0gIyBleGFjdAotICAgIGVsc2U6Ci0gICAgICAgIGxvZ19kID0gMCAgIyBlcnJvciA8IDIuMzEKLSAgICAgICAgbG9nX3RlbnBvd2VyID0gX2Rpdl9uZWFyZXN0KGYsIDEwKiotcCkgIyBlcnJvciA8IDAuNQotCi0gICAgcmV0dXJuIF9kaXZfbmVhcmVzdChsb2dfdGVucG93ZXIrbG9nX2QsIDEwMCkKLQotZGVmIF9kbG9nKGMsIGUsIHApOgotICAgICIiIkdpdmVuIGludGVnZXJzIGMsIGUgYW5kIHAgd2l0aCBjID4gMCwgY29tcHV0ZSBhbiBpbnRlZ2VyCi0gICAgYXBwcm94aW1hdGlvbiB0byAxMCoqcCAqIGxvZyhjKjEwKiplKSwgd2l0aCBhbiBhYnNvbHV0ZSBlcnJvciBvZgotICAgIGF0IG1vc3QgMS4gIEFzc3VtZXMgdGhhdCBjKjEwKiplIGlzIG5vdCBleGFjdGx5IDEuIiIiCi0KLSAgICAjIEluY3JlYXNlIHByZWNpc2lvbiBieSAyLiBUaGUgcHJlY2lzaW9uIGluY3JlYXNlIGlzIGNvbXBlbnNhdGVkCi0gICAgIyBmb3IgYXQgdGhlIGVuZCB3aXRoIGEgZGl2aXNpb24gYnkgMTAwLgotICAgIHAgKz0gMgotCi0gICAgIyByZXdyaXRlIGMqMTAqKmUgYXMgZCoxMCoqZiB3aXRoIGVpdGhlciBmID49IDAgYW5kIDEgPD0gZCA8PSAxMCwKLSAgICAjIG9yIGYgPD0gMCBhbmQgMC4xIDw9IGQgPD0gMS4gIFRoZW4gd2UgY2FuIGNvbXB1dGUgMTAqKnAgKiBsb2coYyoxMCoqZSkKLSAgICAjIGFzIDEwKipwICogbG9nKGQpICsgMTAqKnAqZiAqIGxvZygxMCkuCi0gICAgbCA9IGxlbihzdHIoYykpCi0gICAgZiA9IGUrbCAtIChlK2wgPj0gMSkKLQotICAgICMgY29tcHV0ZSBhcHByb3hpbWF0aW9uIHRvIDEwKipwKmxvZyhkKSwgd2l0aCBlcnJvciA8IDI3Ci0gICAgaWYgcCA+IDA6Ci0gICAgICAgIGsgPSBlK3AtZgotICAgICAgICBpZiBrID49IDA6Ci0gICAgICAgICAgICBjICo9IDEwKiprCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBjID0gX2Rpdl9uZWFyZXN0KGMsIDEwKiotaykgICMgZXJyb3Igb2YgPD0gMC41IGluIGMKLQotICAgICAgICAjIF9pbG9nIG1hZ25pZmllcyBleGlzdGluZyBlcnJvciBpbiBjIGJ5IGEgZmFjdG9yIG9mIGF0IG1vc3QgMTAKLSAgICAgICAgbG9nX2QgPSBfaWxvZyhjLCAxMCoqcCkgIyBlcnJvciA8IDUgKyAyMiA9IDI3Ci0gICAgZWxzZToKLSAgICAgICAgIyBwIDw9IDA6IGp1c3QgYXBwcm94aW1hdGUgdGhlIHdob2xlIHRoaW5nIGJ5IDA7IGVycm9yIDwgMi4zMQotICAgICAgICBsb2dfZCA9IDAKLQotICAgICMgY29tcHV0ZSBhcHByb3hpbWF0aW9uIHRvIGYqMTAqKnAqbG9nKDEwKSwgd2l0aCBlcnJvciA8IDExLgotICAgIGlmIGY6Ci0gICAgICAgIGV4dHJhID0gbGVuKHN0cihhYnMoZikpKS0xCi0gICAgICAgIGlmIHAgKyBleHRyYSA+PSAwOgotICAgICAgICAgICAgIyBlcnJvciBpbiBmICogX2xvZzEwX2RpZ2l0cyhwK2V4dHJhKSA8IHxmfCAqIDEgPSB8ZnwKLSAgICAgICAgICAgICMgYWZ0ZXIgZGl2aXNpb24sIGVycm9yIDwgfGZ8LzEwKipleHRyYSArIDAuNSA8IDEwICsgMC41IDwgMTEKLSAgICAgICAgICAgIGZfbG9nX3RlbiA9IF9kaXZfbmVhcmVzdChmKl9sb2cxMF9kaWdpdHMocCtleHRyYSksIDEwKipleHRyYSkKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIGZfbG9nX3RlbiA9IDAKLSAgICBlbHNlOgotICAgICAgICBmX2xvZ190ZW4gPSAwCi0KLSAgICAjIGVycm9yIGluIHN1bSA8IDExKzI3ID0gMzg7IGVycm9yIGFmdGVyIGRpdmlzaW9uIDwgMC4zOCArIDAuNSA8IDEKLSAgICByZXR1cm4gX2Rpdl9uZWFyZXN0KGZfbG9nX3RlbiArIGxvZ19kLCAxMDApCi0KLWNsYXNzIF9Mb2cxME1lbW9pemUob2JqZWN0KToKLSAgICAiIiJDbGFzcyB0byBjb21wdXRlLCBzdG9yZSwgYW5kIGFsbG93IHJldHJpZXZhbCBvZiwgZGlnaXRzIG9mIHRoZQotICAgIGNvbnN0YW50IGxvZygxMCkgPSAyLjMwMjU4NS4uLi4gIFRoaXMgY29uc3RhbnQgaXMgbmVlZGVkIGJ5Ci0gICAgRGVjaW1hbC5sbiwgRGVjaW1hbC5sb2cxMCwgRGVjaW1hbC5leHAgYW5kIERlY2ltYWwuX19wb3dfXy4iIiIKLSAgICBkZWYgX19pbml0X18oc2VsZik6Ci0gICAgICAgIHNlbGYuZGlnaXRzID0gIjIzMDI1ODUwOTI5OTQwNDU2ODQwMTc5OTE0NTQ2ODQzNjQyMDc2MDExMDE0ODg2IgotCi0gICAgZGVmIGdldGRpZ2l0cyhzZWxmLCBwKToKLSAgICAgICAgIiIiR2l2ZW4gYW4gaW50ZWdlciBwID49IDAsIHJldHVybiBmbG9vcigxMCoqcCkqbG9nKDEwKS4KLQotICAgICAgICBGb3IgZXhhbXBsZSwgc2VsZi5nZXRkaWdpdHMoMykgcmV0dXJucyAyMzAyLgotICAgICAgICAiIiIKLSAgICAgICAgIyBkaWdpdHMgYXJlIHN0b3JlZCBhcyBhIHN0cmluZywgZm9yIHF1aWNrIGNvbnZlcnNpb24gdG8KLSAgICAgICAgIyBpbnRlZ2VyIGluIHRoZSBjYXNlIHRoYXQgd2UndmUgYWxyZWFkeSBjb21wdXRlZCBlbm91Z2gKLSAgICAgICAgIyBkaWdpdHM7IHRoZSBzdG9yZWQgZGlnaXRzIHNob3VsZCBhbHdheXMgYmUgY29ycmVjdAotICAgICAgICAjICh0cnVuY2F0ZWQsIG5vdCByb3VuZGVkIHRvIG5lYXJlc3QpLgotICAgICAgICBpZiBwIDwgMDoKLSAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoInAgc2hvdWxkIGJlIG5vbm5lZ2F0aXZlIikKLQotICAgICAgICBpZiBwID49IGxlbihzZWxmLmRpZ2l0cyk6Ci0gICAgICAgICAgICAjIGNvbXB1dGUgcCszLCBwKzYsIHArOSwgLi4uIGRpZ2l0czsgY29udGludWUgdW50aWwgYXQKLSAgICAgICAgICAgICMgbGVhc3Qgb25lIG9mIHRoZSBleHRyYSBkaWdpdHMgaXMgbm9uemVybwotICAgICAgICAgICAgZXh0cmEgPSAzCi0gICAgICAgICAgICB3aGlsZSBUcnVlOgotICAgICAgICAgICAgICAgICMgY29tcHV0ZSBwK2V4dHJhIGRpZ2l0cywgY29ycmVjdCB0byB3aXRoaW4gMXVscAotICAgICAgICAgICAgICAgIE0gPSAxMCoqKHArZXh0cmErMikKLSAgICAgICAgICAgICAgICBkaWdpdHMgPSBzdHIoX2Rpdl9uZWFyZXN0KF9pbG9nKDEwKk0sIE0pLCAxMDApKQotICAgICAgICAgICAgICAgIGlmIGRpZ2l0c1stZXh0cmE6XSAhPSAnMCcqZXh0cmE6Ci0gICAgICAgICAgICAgICAgICAgIGJyZWFrCi0gICAgICAgICAgICAgICAgZXh0cmEgKz0gMwotICAgICAgICAgICAgIyBrZWVwIGFsbCByZWxpYWJsZSBkaWdpdHMgc28gZmFyOyByZW1vdmUgdHJhaWxpbmcgemVyb3MKLSAgICAgICAgICAgICMgYW5kIG5leHQgbm9uemVybyBkaWdpdAotICAgICAgICAgICAgc2VsZi5kaWdpdHMgPSBkaWdpdHMucnN0cmlwKCcwJylbOi0xXQotICAgICAgICByZXR1cm4gaW50KHNlbGYuZGlnaXRzWzpwKzFdKQotCi1fbG9nMTBfZGlnaXRzID0gX0xvZzEwTWVtb2l6ZSgpLmdldGRpZ2l0cwotCi1kZWYgX2lleHAoeCwgTSwgTD04KToKLSAgICAiIiJHaXZlbiBpbnRlZ2VycyB4IGFuZCBNLCBNID4gMCwgc3VjaCB0aGF0IHgvTSBpcyBzbWFsbCBpbiBhYnNvbHV0ZQotICAgIHZhbHVlLCBjb21wdXRlIGFuIGludGVnZXIgYXBwcm94aW1hdGlvbiB0byBNKmV4cCh4L00pLiAgRm9yIDAgPD0KLSAgICB4L00gPD0gMi40LCB0aGUgYWJzb2x1dGUgZXJyb3IgaW4gdGhlIHJlc3VsdCBpcyBib3VuZGVkIGJ5IDYwIChhbmQKLSAgICBpcyB1c3VhbGx5IG11Y2ggc21hbGxlcikuIiIiCi0KLSAgICAjIEFsZ29yaXRobTogdG8gY29tcHV0ZSBleHAoeikgZm9yIGEgcmVhbCBudW1iZXIgeiwgZmlyc3QgZGl2aWRlIHoKLSAgICAjIGJ5IGEgc3VpdGFibGUgcG93ZXIgUiBvZiAyIHNvIHRoYXQgfHovMioqUnwgPCAyKiotTC4gIFRoZW4KLSAgICAjIGNvbXB1dGUgZXhwbTEoei8yKipSKSA9IGV4cCh6LzIqKlIpIC0gMSB1c2luZyB0aGUgdXN1YWwgVGF5bG9yCi0gICAgIyBzZXJpZXMKLSAgICAjCi0gICAgIyAgICAgZXhwbTEoeCkgPSB4ICsgeCoqMi8yISArIHgqKjMvMyEgKyAuLi4KLSAgICAjCi0gICAgIyBOb3cgdXNlIHRoZSBpZGVudGl0eQotICAgICMKLSAgICAjICAgICBleHBtMSgyeCkgPSBleHBtMSh4KSooZXhwbTEoeCkrMikKLSAgICAjCi0gICAgIyBSIHRpbWVzIHRvIGNvbXB1dGUgdGhlIHNlcXVlbmNlIGV4cG0xKHovMioqUiksCi0gICAgIyBleHBtMSh6LzIqKihSLTEpKSwgLi4uICwgZXhwKHovMiksIGV4cCh6KS4KLQotICAgICMgRmluZCBSIHN1Y2ggdGhhdCB4LzIqKlIvTSA8PSAyKiotTAotICAgIFIgPSBfbmJpdHMoKHg8PEwpLy9NKQotCi0gICAgIyBUYXlsb3Igc2VyaWVzLiAgKDIqKkwpKipUID4gTQotICAgIFQgPSAtaW50KC0xMCpsZW4oc3RyKE0pKS8vKDMqTCkpCi0gICAgeSA9IF9kaXZfbmVhcmVzdCh4LCBUKQotICAgIE1zaGlmdCA9IE08PFIKLSAgICBmb3IgaSBpbiByYW5nZShULTEsIDAsIC0xKToKLSAgICAgICAgeSA9IF9kaXZfbmVhcmVzdCh4KihNc2hpZnQgKyB5KSwgTXNoaWZ0ICogaSkKLQotICAgICMgRXhwYW5zaW9uCi0gICAgZm9yIGsgaW4gcmFuZ2UoUi0xLCAtMSwgLTEpOgotICAgICAgICBNc2hpZnQgPSBNPDwoaysyKQotICAgICAgICB5ID0gX2Rpdl9uZWFyZXN0KHkqKHkrTXNoaWZ0KSwgTXNoaWZ0KQotCi0gICAgcmV0dXJuIE0reQotCi1kZWYgX2RleHAoYywgZSwgcCk6Ci0gICAgIiIiQ29tcHV0ZSBhbiBhcHByb3hpbWF0aW9uIHRvIGV4cChjKjEwKiplKSwgd2l0aCBwIGRlY2ltYWwgcGxhY2VzIG9mCi0gICAgcHJlY2lzaW9uLgotCi0gICAgUmV0dXJucyBpbnRlZ2VycyBkLCBmIHN1Y2ggdGhhdDoKLQotICAgICAgMTAqKihwLTEpIDw9IGQgPD0gMTAqKnAsIGFuZAotICAgICAgKGQtMSkqMTAqKmYgPCBleHAoYyoxMCoqZSkgPCAoZCsxKSoxMCoqZgotCi0gICAgSW4gb3RoZXIgd29yZHMsIGQqMTAqKmYgaXMgYW4gYXBwcm94aW1hdGlvbiB0byBleHAoYyoxMCoqZSkgd2l0aCBwCi0gICAgZGlnaXRzIG9mIHByZWNpc2lvbiwgYW5kIHdpdGggYW4gZXJyb3IgaW4gZCBvZiBhdCBtb3N0IDEuICBUaGlzIGlzCi0gICAgYWxtb3N0LCBidXQgbm90IHF1aXRlLCB0aGUgc2FtZSBhcyB0aGUgZXJyb3IgYmVpbmcgPCAxdWxwOiB3aGVuIGQKLSAgICA9IDEwKioocC0xKSB0aGUgZXJyb3IgY291bGQgYmUgdXAgdG8gMTAgdWxwLiIiIgotCi0gICAgIyB3ZSdsbCBjYWxsIGlleHAgd2l0aCBNID0gMTAqKihwKzIpLCBnaXZpbmcgcCszIGRpZ2l0cyBvZiBwcmVjaXNpb24KLSAgICBwICs9IDIKLQotICAgICMgY29tcHV0ZSBsb2coMTApIHdpdGggZXh0cmEgcHJlY2lzaW9uID0gYWRqdXN0ZWQgZXhwb25lbnQgb2YgYyoxMCoqZQotICAgIGV4dHJhID0gbWF4KDAsIGUgKyBsZW4oc3RyKGMpKSAtIDEpCi0gICAgcSA9IHAgKyBleHRyYQotCi0gICAgIyBjb21wdXRlIHF1b3RpZW50IGMqMTAqKmUvKGxvZygxMCkpID0gYyoxMCoqKGUrcSkvKGxvZygxMCkqMTAqKnEpLAotICAgICMgcm91bmRpbmcgZG93bgotICAgIHNoaWZ0ID0gZStxCi0gICAgaWYgc2hpZnQgPj0gMDoKLSAgICAgICAgY3NoaWZ0ID0gYyoxMCoqc2hpZnQKLSAgICBlbHNlOgotICAgICAgICBjc2hpZnQgPSBjLy8xMCoqLXNoaWZ0Ci0gICAgcXVvdCwgcmVtID0gZGl2bW9kKGNzaGlmdCwgX2xvZzEwX2RpZ2l0cyhxKSkKLQotICAgICMgcmVkdWNlIHJlbWFpbmRlciBiYWNrIHRvIG9yaWdpbmFsIHByZWNpc2lvbgotICAgIHJlbSA9IF9kaXZfbmVhcmVzdChyZW0sIDEwKipleHRyYSkKLQotICAgICMgZXJyb3IgaW4gcmVzdWx0IG9mIF9pZXhwIDwgMTIwOyAgZXJyb3IgYWZ0ZXIgZGl2aXNpb24gPCAwLjYyCi0gICAgcmV0dXJuIF9kaXZfbmVhcmVzdChfaWV4cChyZW0sIDEwKipwKSwgMTAwMCksIHF1b3QgLSBwICsgMwotCi1kZWYgX2Rwb3dlcih4YywgeGUsIHljLCB5ZSwgcCk6Ci0gICAgIiIiR2l2ZW4gaW50ZWdlcnMgeGMsIHhlLCB5YyBhbmQgeWUgcmVwcmVzZW50aW5nIERlY2ltYWxzIHggPSB4YyoxMCoqeGUgYW5kCi0gICAgeSA9IHljKjEwKip5ZSwgY29tcHV0ZSB4Kip5LiAgUmV0dXJucyBhIHBhaXIgb2YgaW50ZWdlcnMgKGMsIGUpIHN1Y2ggdGhhdDoKLQotICAgICAgMTAqKihwLTEpIDw9IGMgPD0gMTAqKnAsIGFuZAotICAgICAgKGMtMSkqMTAqKmUgPCB4Kip5IDwgKGMrMSkqMTAqKmUKLQotICAgIGluIG90aGVyIHdvcmRzLCBjKjEwKiplIGlzIGFuIGFwcHJveGltYXRpb24gdG8geCoqeSB3aXRoIHAgZGlnaXRzCi0gICAgb2YgcHJlY2lzaW9uLCBhbmQgd2l0aCBhbiBlcnJvciBpbiBjIG9mIGF0IG1vc3QgMS4gIChUaGlzIGlzCi0gICAgYWxtb3N0LCBidXQgbm90IHF1aXRlLCB0aGUgc2FtZSBhcyB0aGUgZXJyb3IgYmVpbmcgPCAxdWxwOiB3aGVuIGMKLSAgICA9PSAxMCoqKHAtMSkgd2UgY2FuIG9ubHkgZ3VhcmFudGVlIGVycm9yIDwgMTB1bHAuKQotCi0gICAgV2UgYXNzdW1lIHRoYXQ6IHggaXMgcG9zaXRpdmUgYW5kIG5vdCBlcXVhbCB0byAxLCBhbmQgeSBpcyBub256ZXJvLgotICAgICIiIgotCi0gICAgIyBGaW5kIGIgc3VjaCB0aGF0IDEwKiooYi0xKSA8PSB8eXwgPD0gMTAqKmIKLSAgICBiID0gbGVuKHN0cihhYnMoeWMpKSkgKyB5ZQotCi0gICAgIyBsb2coeCkgPSBseGMqMTAqKigtcC1iLTEpLCB0byBwK2IrMSBwbGFjZXMgYWZ0ZXIgdGhlIGRlY2ltYWwgcG9pbnQKLSAgICBseGMgPSBfZGxvZyh4YywgeGUsIHArYisxKQotCi0gICAgIyBjb21wdXRlIHByb2R1Y3QgeSpsb2coeCkgPSB5YypseGMqMTAqKigtcC1iLTEreWUpID0gcGMqMTAqKigtcC0xKQotICAgIHNoaWZ0ID0geWUtYgotICAgIGlmIHNoaWZ0ID49IDA6Ci0gICAgICAgIHBjID0gbHhjKnljKjEwKipzaGlmdAotICAgIGVsc2U6Ci0gICAgICAgIHBjID0gX2Rpdl9uZWFyZXN0KGx4Yyp5YywgMTAqKi1zaGlmdCkKLQotICAgIGlmIHBjID09IDA6Ci0gICAgICAgICMgd2UgcHJlZmVyIGEgcmVzdWx0IHRoYXQgaXNuJ3QgZXhhY3RseSAxOyB0aGlzIG1ha2VzIGl0Ci0gICAgICAgICMgZWFzaWVyIHRvIGNvbXB1dGUgYSBjb3JyZWN0bHkgcm91bmRlZCByZXN1bHQgaW4gX19wb3dfXwotICAgICAgICBpZiAoKGxlbihzdHIoeGMpKSArIHhlID49IDEpID09ICh5YyA+IDApKTogIyBpZiB4Kip5ID4gMToKLSAgICAgICAgICAgIGNvZWZmLCBleHAgPSAxMCoqKHAtMSkrMSwgMS1wCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBjb2VmZiwgZXhwID0gMTAqKnAtMSwgLXAKLSAgICBlbHNlOgotICAgICAgICBjb2VmZiwgZXhwID0gX2RleHAocGMsIC0ocCsxKSwgcCsxKQotICAgICAgICBjb2VmZiA9IF9kaXZfbmVhcmVzdChjb2VmZiwgMTApCi0gICAgICAgIGV4cCArPSAxCi0KLSAgICByZXR1cm4gY29lZmYsIGV4cAotCi1kZWYgX2xvZzEwX2xiKGMsIGNvcnJlY3Rpb24gPSB7Ci0gICAgICAgICcxJzogMTAwLCAnMic6IDcwLCAnMyc6IDUzLCAnNCc6IDQwLCAnNSc6IDMxLAotICAgICAgICAnNic6IDIzLCAnNyc6IDE2LCAnOCc6IDEwLCAnOSc6IDV9KToKLSAgICAiIiJDb21wdXRlIGEgbG93ZXIgYm91bmQgZm9yIDEwMCpsb2cxMChjKSBmb3IgYSBwb3NpdGl2ZSBpbnRlZ2VyIGMuIiIiCi0gICAgaWYgYyA8PSAwOgotICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJUaGUgYXJndW1lbnQgdG8gX2xvZzEwX2xiIHNob3VsZCBiZSBub25uZWdhdGl2ZS4iKQotICAgIHN0cl9jID0gc3RyKGMpCi0gICAgcmV0dXJuIDEwMCpsZW4oc3RyX2MpIC0gY29ycmVjdGlvbltzdHJfY1swXV0KLQotIyMjIyMgSGVscGVyIEZ1bmN0aW9ucyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCi0KLWRlZiBfY29udmVydF9vdGhlcihvdGhlciwgcmFpc2VpdD1GYWxzZSwgYWxsb3dfZmxvYXQ9RmFsc2UpOgotICAgICIiIkNvbnZlcnQgb3RoZXIgdG8gRGVjaW1hbC4KLQotICAgIFZlcmlmaWVzIHRoYXQgaXQncyBvayB0byB1c2UgaW4gYW4gaW1wbGljaXQgY29uc3RydWN0aW9uLgotICAgIElmIGFsbG93X2Zsb2F0IGlzIHRydWUsIGFsbG93IGNvbnZlcnNpb24gZnJvbSBmbG9hdDsgIHRoaXMKLSAgICBpcyB1c2VkIGluIHRoZSBjb21wYXJpc29uIG1ldGhvZHMgKF9fZXFfXyBhbmQgZnJpZW5kcykuCi0KLSAgICAiIiIKLSAgICBpZiBpc2luc3RhbmNlKG90aGVyLCBEZWNpbWFsKToKLSAgICAgICAgcmV0dXJuIG90aGVyCi0gICAgaWYgaXNpbnN0YW5jZShvdGhlciwgaW50KToKLSAgICAgICAgcmV0dXJuIERlY2ltYWwob3RoZXIpCi0gICAgaWYgYWxsb3dfZmxvYXQgYW5kIGlzaW5zdGFuY2Uob3RoZXIsIGZsb2F0KToKLSAgICAgICAgcmV0dXJuIERlY2ltYWwuZnJvbV9mbG9hdChvdGhlcikKLQotICAgIGlmIHJhaXNlaXQ6Ci0gICAgICAgIHJhaXNlIFR5cGVFcnJvcigiVW5hYmxlIHRvIGNvbnZlcnQgJXMgdG8gRGVjaW1hbCIgJSBvdGhlcikKLSAgICByZXR1cm4gTm90SW1wbGVtZW50ZWQKLQotZGVmIF9jb252ZXJ0X2Zvcl9jb21wYXJpc29uKHNlbGYsIG90aGVyLCBlcXVhbGl0eV9vcD1GYWxzZSk6Ci0gICAgIiIiR2l2ZW4gYSBEZWNpbWFsIGluc3RhbmNlIHNlbGYgYW5kIGEgUHl0aG9uIG9iamVjdCBvdGhlciwgcmV0dXJuCi0gICAgYSBwYWlyIChzLCBvKSBvZiBEZWNpbWFsIGluc3RhbmNlcyBzdWNoIHRoYXQgInMgb3AgbyIgaXMKLSAgICBlcXVpdmFsZW50IHRvICJzZWxmIG9wIG90aGVyIiBmb3IgYW55IG9mIHRoZSA2IGNvbXBhcmlzb24KLSAgICBvcGVyYXRvcnMgIm9wIi4KLQotICAgICIiIgotICAgIGlmIGlzaW5zdGFuY2Uob3RoZXIsIERlY2ltYWwpOgotICAgICAgICByZXR1cm4gc2VsZiwgb3RoZXIKLQotICAgICMgQ29tcGFyaXNvbiB3aXRoIGEgUmF0aW9uYWwgaW5zdGFuY2UgKGFsc28gaW5jbHVkZXMgaW50ZWdlcnMpOgotICAgICMgc2VsZiBvcCBuL2QgPD0+IHNlbGYqZCBvcCBuIChmb3IgbiBhbmQgZCBpbnRlZ2VycywgZCBwb3NpdGl2ZSkuCi0gICAgIyBBIE5hTiBvciBpbmZpbml0eSBjYW4gYmUgbGVmdCB1bmNoYW5nZWQgd2l0aG91dCBhZmZlY3RpbmcgdGhlCi0gICAgIyBjb21wYXJpc29uIHJlc3VsdC4KLSAgICBpZiBpc2luc3RhbmNlKG90aGVyLCBfbnVtYmVycy5SYXRpb25hbCk6Ci0gICAgICAgIGlmIG5vdCBzZWxmLl9pc19zcGVjaWFsOgotICAgICAgICAgICAgc2VsZiA9IF9kZWNfZnJvbV90cmlwbGUoc2VsZi5fc2lnbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cihpbnQoc2VsZi5faW50KSAqIG90aGVyLmRlbm9taW5hdG9yKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX2V4cCkKLSAgICAgICAgcmV0dXJuIHNlbGYsIERlY2ltYWwob3RoZXIubnVtZXJhdG9yKQotCi0gICAgIyBDb21wYXJpc29ucyB3aXRoIGZsb2F0IGFuZCBjb21wbGV4IHR5cGVzLiAgPT0gYW5kICE9IGNvbXBhcmlzb25zCi0gICAgIyB3aXRoIGNvbXBsZXggbnVtYmVycyBzaG91bGQgc3VjY2VlZCwgcmV0dXJuaW5nIGVpdGhlciBUcnVlIG9yIEZhbHNlCi0gICAgIyBhcyBhcHByb3ByaWF0ZS4gIE90aGVyIGNvbXBhcmlzb25zIHJldHVybiBOb3RJbXBsZW1lbnRlZC4KLSAgICBpZiBlcXVhbGl0eV9vcCBhbmQgaXNpbnN0YW5jZShvdGhlciwgX251bWJlcnMuQ29tcGxleCkgYW5kIG90aGVyLmltYWcgPT0gMDoKLSAgICAgICAgb3RoZXIgPSBvdGhlci5yZWFsCi0gICAgaWYgaXNpbnN0YW5jZShvdGhlciwgZmxvYXQpOgotICAgICAgICBjb250ZXh0ID0gZ2V0Y29udGV4dCgpCi0gICAgICAgIGlmIGVxdWFsaXR5X29wOgotICAgICAgICAgICAgY29udGV4dC5mbGFnc1tGbG9hdE9wZXJhdGlvbl0gPSAxCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBjb250ZXh0Ll9yYWlzZV9lcnJvcihGbG9hdE9wZXJhdGlvbiwKLSAgICAgICAgICAgICAgICAic3RyaWN0IHNlbWFudGljcyBmb3IgbWl4aW5nIGZsb2F0cyBhbmQgRGVjaW1hbHMgYXJlIGVuYWJsZWQiKQotICAgICAgICByZXR1cm4gc2VsZiwgRGVjaW1hbC5mcm9tX2Zsb2F0KG90aGVyKQotICAgIHJldHVybiBOb3RJbXBsZW1lbnRlZCwgTm90SW1wbGVtZW50ZWQKLQotCi0jIyMjIyBTZXR1cCBTcGVjaWZpYyBDb250ZXh0cyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotCi0jIFRoZSBkZWZhdWx0IGNvbnRleHQgcHJvdG90eXBlIHVzZWQgYnkgQ29udGV4dCgpCi0jIElzIG11dGFibGUsIHNvIHRoYXQgbmV3IGNvbnRleHRzIGNhbiBoYXZlIGRpZmZlcmVudCBkZWZhdWx0IHZhbHVlcwotCi1EZWZhdWx0Q29udGV4dCA9IENvbnRleHQoCi0gICAgICAgIHByZWM9MjgsIHJvdW5kaW5nPVJPVU5EX0hBTEZfRVZFTiwKLSAgICAgICAgdHJhcHM9W0RpdmlzaW9uQnlaZXJvLCBPdmVyZmxvdywgSW52YWxpZE9wZXJhdGlvbl0sCi0gICAgICAgIGZsYWdzPVtdLAotICAgICAgICBFbWF4PTk5OTk5OSwKLSAgICAgICAgRW1pbj0tOTk5OTk5LAotICAgICAgICBjYXBpdGFscz0xLAotICAgICAgICBjbGFtcD0wCi0pCi0KLSMgUHJlLW1hZGUgYWx0ZXJuYXRlIGNvbnRleHRzIG9mZmVyZWQgYnkgdGhlIHNwZWNpZmljYXRpb24KLSMgRG9uJ3QgY2hhbmdlIHRoZXNlOyB0aGUgdXNlciBzaG91bGQgYmUgYWJsZSB0byBzZWxlY3QgdGhlc2UKLSMgY29udGV4dHMgYW5kIGJlIGFibGUgdG8gcmVwcm9kdWNlIHJlc3VsdHMgZnJvbSBvdGhlciBpbXBsZW1lbnRhdGlvbnMKLSMgb2YgdGhlIHNwZWMuCi0KLUJhc2ljQ29udGV4dCA9IENvbnRleHQoCi0gICAgICAgIHByZWM9OSwgcm91bmRpbmc9Uk9VTkRfSEFMRl9VUCwKLSAgICAgICAgdHJhcHM9W0RpdmlzaW9uQnlaZXJvLCBPdmVyZmxvdywgSW52YWxpZE9wZXJhdGlvbiwgQ2xhbXBlZCwgVW5kZXJmbG93XSwKLSAgICAgICAgZmxhZ3M9W10sCi0pCi0KLUV4dGVuZGVkQ29udGV4dCA9IENvbnRleHQoCi0gICAgICAgIHByZWM9OSwgcm91bmRpbmc9Uk9VTkRfSEFMRl9FVkVOLAotICAgICAgICB0cmFwcz1bXSwKLSAgICAgICAgZmxhZ3M9W10sCi0pCi0KLQotIyMjIyMgY3J1ZCBmb3IgcGFyc2luZyBzdHJpbmdzICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotIwotIyBSZWd1bGFyIGV4cHJlc3Npb24gdXNlZCBmb3IgcGFyc2luZyBudW1lcmljIHN0cmluZ3MuICBBZGRpdGlvbmFsCi0jIGNvbW1lbnRzOgotIwotIyAxLiBVbmNvbW1lbnQgdGhlIHR3byAnXHMqJyBsaW5lcyB0byBhbGxvdyBsZWFkaW5nIGFuZC9vciB0cmFpbGluZwotIyB3aGl0ZXNwYWNlLiAgQnV0IG5vdGUgdGhhdCB0aGUgc3BlY2lmaWNhdGlvbiBkaXNhbGxvd3Mgd2hpdGVzcGFjZSBpbgotIyBhIG51bWVyaWMgc3RyaW5nLgotIwotIyAyLiBGb3IgZmluaXRlIG51bWJlcnMgKG5vdCBpbmZpbml0aWVzIGFuZCBOYU5zKSB0aGUgYm9keSBvZiB0aGUKLSMgbnVtYmVyIGJldHdlZW4gdGhlIG9wdGlvbmFsIHNpZ24gYW5kIHRoZSBvcHRpb25hbCBleHBvbmVudCBtdXN0IGhhdmUKLSMgYXQgbGVhc3Qgb25lIGRlY2ltYWwgZGlnaXQsIHBvc3NpYmx5IGFmdGVyIHRoZSBkZWNpbWFsIHBvaW50LiAgVGhlCi0jIGxvb2thaGVhZCBleHByZXNzaW9uICcoPz1cZHxcLlxkKScgY2hlY2tzIHRoaXMuCi0KLWltcG9ydCByZQotX3BhcnNlciA9IHJlLmNvbXBpbGUociIiIiAgICAgICAgIyBBIG51bWVyaWMgc3RyaW5nIGNvbnNpc3RzIG9mOgotIyAgICBccyoKLSAgICAoP1A8c2lnbj5bLStdKT8gICAgICAgICAgICAgICMgYW4gb3B0aW9uYWwgc2lnbiwgZm9sbG93ZWQgYnkgZWl0aGVyLi4uCi0gICAgKAotICAgICAgICAoPz1cZHxcLlxkKSAgICAgICAgICAgICAgIyAuLi5hIG51bWJlciAod2l0aCBhdCBsZWFzdCBvbmUgZGlnaXQpCi0gICAgICAgICg/UDxpbnQ+XGQqKSAgICAgICAgICAgICAjIGhhdmluZyBhIChwb3NzaWJseSBlbXB0eSkgaW50ZWdlciBwYXJ0Ci0gICAgICAgIChcLig/UDxmcmFjPlxkKikpPyAgICAgICAjIGZvbGxvd2VkIGJ5IGFuIG9wdGlvbmFsIGZyYWN0aW9uYWwgcGFydAotICAgICAgICAoRSg/UDxleHA+Wy0rXT9cZCspKT8gICAgIyBmb2xsb3dlZCBieSBhbiBvcHRpb25hbCBleHBvbmVudCwgb3IuLi4KLSAgICB8Ci0gICAgICAgIEluZihpbml0eSk/ICAgICAgICAgICAgICAjIC4uLmFuIGluZmluaXR5LCBvci4uLgotICAgIHwKLSAgICAgICAgKD9QPHNpZ25hbD5zKT8gICAgICAgICAgICMgLi4uYW4gKG9wdGlvbmFsbHkgc2lnbmFsaW5nKQotICAgICAgICBOYU4gICAgICAgICAgICAgICAgICAgICAgIyBOYU4KLSAgICAgICAgKD9QPGRpYWc+XGQqKSAgICAgICAgICAgICMgd2l0aCAocG9zc2libHkgZW1wdHkpIGRpYWdub3N0aWMgaW5mby4KLSAgICApCi0jICAgIFxzKgotICAgIFxaCi0iIiIsIHJlLlZFUkJPU0UgfCByZS5JR05PUkVDQVNFKS5tYXRjaAotCi1fYWxsX3plcm9zID0gcmUuY29tcGlsZSgnMCokJykubWF0Y2gKLV9leGFjdF9oYWxmID0gcmUuY29tcGlsZSgnNTAqJCcpLm1hdGNoCi0KLSMjIyMjIFBFUDMxMDEgc3VwcG9ydCBmdW5jdGlvbnMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotIyBUaGUgZnVuY3Rpb25zIGluIHRoaXMgc2VjdGlvbiBoYXZlIGxpdHRsZSB0byBkbyB3aXRoIHRoZSBEZWNpbWFsCi0jIGNsYXNzLCBhbmQgY291bGQgcG90ZW50aWFsbHkgYmUgcmV1c2VkIG9yIGFkYXB0ZWQgZm9yIG90aGVyIHB1cmUKLSMgUHl0aG9uIG51bWVyaWMgY2xhc3NlcyB0aGF0IHdhbnQgdG8gaW1wbGVtZW50IF9fZm9ybWF0X18KLSMKLSMgQSBmb3JtYXQgc3BlY2lmaWVyIGZvciBEZWNpbWFsIGxvb2tzIGxpa2U6Ci0jCi0jICAgW1tmaWxsXWFsaWduXVtzaWduXVsjXVswXVttaW5pbXVtd2lkdGhdWyxdWy5wcmVjaXNpb25dW3R5cGVdCi0KLV9wYXJzZV9mb3JtYXRfc3BlY2lmaWVyX3JlZ2V4ID0gcmUuY29tcGlsZShyIiIiXEEKLSg/OgotICAgKD9QPGZpbGw+Lik/Ci0gICAoP1A8YWxpZ24+Wzw+PV5dKQotKT8KLSg/UDxzaWduPlstKyBdKT8KLSg/UDxhbHQ+XCMpPwotKD9QPHplcm9wYWQ+MCk/Ci0oP1A8bWluaW11bXdpZHRoPig/ITApXGQrKT8KLSg/UDx0aG91c2FuZHNfc2VwPiwpPwotKD86XC4oP1A8cHJlY2lzaW9uPjB8KD8hMClcZCspKT8KLSg/UDx0eXBlPltlRWZGZ0duJV0pPwotXFoKLSIiIiwgcmUuVkVSQk9TRXxyZS5ET1RBTEwpCi0KLWRlbCByZQotCi0jIFRoZSBsb2NhbGUgbW9kdWxlIGlzIG9ubHkgbmVlZGVkIGZvciB0aGUgJ24nIGZvcm1hdCBzcGVjaWZpZXIuICBUaGUKLSMgcmVzdCBvZiB0aGUgUEVQIDMxMDEgY29kZSBmdW5jdGlvbnMgcXVpdGUgaGFwcGlseSB3aXRob3V0IGl0LCBzbyB3ZQotIyBkb24ndCBjYXJlIHRvbyBtdWNoIGlmIGxvY2FsZSBpc24ndCBwcmVzZW50LgotdHJ5OgotICAgIGltcG9ydCBsb2NhbGUgYXMgX2xvY2FsZQotZXhjZXB0IEltcG9ydEVycm9yOgotICAgIHBhc3MKLQotZGVmIF9wYXJzZV9mb3JtYXRfc3BlY2lmaWVyKGZvcm1hdF9zcGVjLCBfbG9jYWxlY29udj1Ob25lKToKLSAgICAiIiJQYXJzZSBhbmQgdmFsaWRhdGUgYSBmb3JtYXQgc3BlY2lmaWVyLgotCi0gICAgVHVybnMgYSBzdGFuZGFyZCBudW1lcmljIGZvcm1hdCBzcGVjaWZpZXIgaW50byBhIGRpY3QsIHdpdGggdGhlCi0gICAgZm9sbG93aW5nIGVudHJpZXM6Ci0KLSAgICAgIGZpbGw6IGZpbGwgY2hhcmFjdGVyIHRvIHBhZCBmaWVsZCB0byBtaW5pbXVtIHdpZHRoCi0gICAgICBhbGlnbjogYWxpZ25tZW50IHR5cGUsIGVpdGhlciAnPCcsICc+JywgJz0nIG9yICdeJwotICAgICAgc2lnbjogZWl0aGVyICcrJywgJy0nIG9yICcgJwotICAgICAgbWluaW11bXdpZHRoOiBub25uZWdhdGl2ZSBpbnRlZ2VyIGdpdmluZyBtaW5pbXVtIHdpZHRoCi0gICAgICB6ZXJvcGFkOiBib29sZWFuLCBpbmRpY2F0aW5nIHdoZXRoZXIgdG8gcGFkIHdpdGggemVyb3MKLSAgICAgIHRob3VzYW5kc19zZXA6IHN0cmluZyB0byB1c2UgYXMgdGhvdXNhbmRzIHNlcGFyYXRvciwgb3IgJycKLSAgICAgIGdyb3VwaW5nOiBncm91cGluZyBmb3IgdGhvdXNhbmRzIHNlcGFyYXRvcnMsIGluIGZvcm1hdAotICAgICAgICB1c2VkIGJ5IGxvY2FsZWNvbnYKLSAgICAgIGRlY2ltYWxfcG9pbnQ6IHN0cmluZyB0byB1c2UgZm9yIGRlY2ltYWwgcG9pbnQKLSAgICAgIHByZWNpc2lvbjogbm9ubmVnYXRpdmUgaW50ZWdlciBnaXZpbmcgcHJlY2lzaW9uLCBvciBOb25lCi0gICAgICB0eXBlOiBvbmUgb2YgdGhlIGNoYXJhY3RlcnMgJ2VFZkZnRyUnLCBvciBOb25lCi0KLSAgICAiIiIKLSAgICBtID0gX3BhcnNlX2Zvcm1hdF9zcGVjaWZpZXJfcmVnZXgubWF0Y2goZm9ybWF0X3NwZWMpCi0gICAgaWYgbSBpcyBOb25lOgotICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJJbnZhbGlkIGZvcm1hdCBzcGVjaWZpZXI6ICIgKyBmb3JtYXRfc3BlYykKLQotICAgICMgZ2V0IHRoZSBkaWN0aW9uYXJ5Ci0gICAgZm9ybWF0X2RpY3QgPSBtLmdyb3VwZGljdCgpCi0KLSAgICAjIHplcm9wYWQ7IGRlZmF1bHRzIGZvciBmaWxsIGFuZCBhbGlnbm1lbnQuICBJZiB6ZXJvIHBhZGRpbmcKLSAgICAjIGlzIHJlcXVlc3RlZCwgdGhlIGZpbGwgYW5kIGFsaWduIGZpZWxkcyBzaG91bGQgYmUgYWJzZW50LgotICAgIGZpbGwgPSBmb3JtYXRfZGljdFsnZmlsbCddCi0gICAgYWxpZ24gPSBmb3JtYXRfZGljdFsnYWxpZ24nXQotICAgIGZvcm1hdF9kaWN0Wyd6ZXJvcGFkJ10gPSAoZm9ybWF0X2RpY3RbJ3plcm9wYWQnXSBpcyBub3QgTm9uZSkKLSAgICBpZiBmb3JtYXRfZGljdFsnemVyb3BhZCddOgotICAgICAgICBpZiBmaWxsIGlzIG5vdCBOb25lOgotICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiRmlsbCBjaGFyYWN0ZXIgY29uZmxpY3RzIHdpdGggJzAnIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiIGluIGZvcm1hdCBzcGVjaWZpZXI6ICIgKyBmb3JtYXRfc3BlYykKLSAgICAgICAgaWYgYWxpZ24gaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJBbGlnbm1lbnQgY29uZmxpY3RzIHdpdGggJzAnIGluICIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImZvcm1hdCBzcGVjaWZpZXI6ICIgKyBmb3JtYXRfc3BlYykKLSAgICBmb3JtYXRfZGljdFsnZmlsbCddID0gZmlsbCBvciAnICcKLSAgICAjIFBFUCAzMTAxIG9yaWdpbmFsbHkgc3BlY2lmaWVkIHRoYXQgdGhlIGRlZmF1bHQgYWxpZ25tZW50IHNob3VsZAotICAgICMgYmUgbGVmdDsgIGl0IHdhcyBsYXRlciBhZ3JlZWQgdGhhdCByaWdodC1hbGlnbmVkIG1ha2VzIG1vcmUgc2Vuc2UKLSAgICAjIGZvciBudW1lcmljIHR5cGVzLiAgU2VlIGh0dHA6Ly9idWdzLnB5dGhvbi5vcmcvaXNzdWU2ODU3LgotICAgIGZvcm1hdF9kaWN0WydhbGlnbiddID0gYWxpZ24gb3IgJz4nCi0KLSAgICAjIGRlZmF1bHQgc2lnbiBoYW5kbGluZzogJy0nIGZvciBuZWdhdGl2ZSwgJycgZm9yIHBvc2l0aXZlCi0gICAgaWYgZm9ybWF0X2RpY3RbJ3NpZ24nXSBpcyBOb25lOgotICAgICAgICBmb3JtYXRfZGljdFsnc2lnbiddID0gJy0nCi0KLSAgICAjIG1pbmltdW13aWR0aCBkZWZhdWx0cyB0byAwOyBwcmVjaXNpb24gcmVtYWlucyBOb25lIGlmIG5vdCBnaXZlbgotICAgIGZvcm1hdF9kaWN0WydtaW5pbXVtd2lkdGgnXSA9IGludChmb3JtYXRfZGljdFsnbWluaW11bXdpZHRoJ10gb3IgJzAnKQotICAgIGlmIGZvcm1hdF9kaWN0WydwcmVjaXNpb24nXSBpcyBub3QgTm9uZToKLSAgICAgICAgZm9ybWF0X2RpY3RbJ3ByZWNpc2lvbiddID0gaW50KGZvcm1hdF9kaWN0WydwcmVjaXNpb24nXSkKLQotICAgICMgaWYgZm9ybWF0IHR5cGUgaXMgJ2cnIG9yICdHJyB0aGVuIGEgcHJlY2lzaW9uIG9mIDAgbWFrZXMgbGl0dGxlCi0gICAgIyBzZW5zZTsgY29udmVydCBpdCB0byAxLiAgU2FtZSBpZiBmb3JtYXQgdHlwZSBpcyB1bnNwZWNpZmllZC4KLSAgICBpZiBmb3JtYXRfZGljdFsncHJlY2lzaW9uJ10gPT0gMDoKLSAgICAgICAgaWYgZm9ybWF0X2RpY3RbJ3R5cGUnXSBpcyBOb25lIG9yIGZvcm1hdF9kaWN0Wyd0eXBlJ10gaW4gJ2dHbic6Ci0gICAgICAgICAgICBmb3JtYXRfZGljdFsncHJlY2lzaW9uJ10gPSAxCi0KLSAgICAjIGRldGVybWluZSB0aG91c2FuZHMgc2VwYXJhdG9yLCBncm91cGluZywgYW5kIGRlY2ltYWwgc2VwYXJhdG9yLCBhbmQKLSAgICAjIGFkZCBhcHByb3ByaWF0ZSBlbnRyaWVzIHRvIGZvcm1hdF9kaWN0Ci0gICAgaWYgZm9ybWF0X2RpY3RbJ3R5cGUnXSA9PSAnbic6Ci0gICAgICAgICMgYXBhcnQgZnJvbSBzZXBhcmF0b3JzLCAnbicgYmVoYXZlcyBqdXN0IGxpa2UgJ2cnCi0gICAgICAgIGZvcm1hdF9kaWN0Wyd0eXBlJ10gPSAnZycKLSAgICAgICAgaWYgX2xvY2FsZWNvbnYgaXMgTm9uZToKLSAgICAgICAgICAgIF9sb2NhbGVjb252ID0gX2xvY2FsZS5sb2NhbGVjb252KCkKLSAgICAgICAgaWYgZm9ybWF0X2RpY3RbJ3Rob3VzYW5kc19zZXAnXSBpcyBub3QgTm9uZToKLSAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIkV4cGxpY2l0IHRob3VzYW5kcyBzZXBhcmF0b3IgY29uZmxpY3RzIHdpdGggIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiJ24nIHR5cGUgaW4gZm9ybWF0IHNwZWNpZmllcjogIiArIGZvcm1hdF9zcGVjKQotICAgICAgICBmb3JtYXRfZGljdFsndGhvdXNhbmRzX3NlcCddID0gX2xvY2FsZWNvbnZbJ3Rob3VzYW5kc19zZXAnXQotICAgICAgICBmb3JtYXRfZGljdFsnZ3JvdXBpbmcnXSA9IF9sb2NhbGVjb252Wydncm91cGluZyddCi0gICAgICAgIGZvcm1hdF9kaWN0WydkZWNpbWFsX3BvaW50J10gPSBfbG9jYWxlY29udlsnZGVjaW1hbF9wb2ludCddCi0gICAgZWxzZToKLSAgICAgICAgaWYgZm9ybWF0X2RpY3RbJ3Rob3VzYW5kc19zZXAnXSBpcyBOb25lOgotICAgICAgICAgICAgZm9ybWF0X2RpY3RbJ3Rob3VzYW5kc19zZXAnXSA9ICcnCi0gICAgICAgIGZvcm1hdF9kaWN0Wydncm91cGluZyddID0gWzMsIDBdCi0gICAgICAgIGZvcm1hdF9kaWN0WydkZWNpbWFsX3BvaW50J10gPSAnLicKLQotICAgIHJldHVybiBmb3JtYXRfZGljdAotCi1kZWYgX2Zvcm1hdF9hbGlnbihzaWduLCBib2R5LCBzcGVjKToKLSAgICAiIiJHaXZlbiBhbiB1bnBhZGRlZCwgbm9uLWFsaWduZWQgbnVtZXJpYyBzdHJpbmcgJ2JvZHknIGFuZCBzaWduCi0gICAgc3RyaW5nICdzaWduJywgYWRkIHBhZGRpbmcgYW5kIGFsaWdubWVudCBjb25mb3JtaW5nIHRvIHRoZSBnaXZlbgotICAgIGZvcm1hdCBzcGVjaWZpZXIgZGljdGlvbmFyeSAnc3BlYycgKGFzIHByb2R1Y2VkIGJ5Ci0gICAgcGFyc2VfZm9ybWF0X3NwZWNpZmllcikuCi0KLSAgICAiIiIKLSAgICAjIGhvdyBtdWNoIGV4dHJhIHNwYWNlIGRvIHdlIGhhdmUgdG8gcGxheSB3aXRoPwotICAgIG1pbmltdW13aWR0aCA9IHNwZWNbJ21pbmltdW13aWR0aCddCi0gICAgZmlsbCA9IHNwZWNbJ2ZpbGwnXQotICAgIHBhZGRpbmcgPSBmaWxsKihtaW5pbXVtd2lkdGggLSBsZW4oc2lnbikgLSBsZW4oYm9keSkpCi0KLSAgICBhbGlnbiA9IHNwZWNbJ2FsaWduJ10KLSAgICBpZiBhbGlnbiA9PSAnPCc6Ci0gICAgICAgIHJlc3VsdCA9IHNpZ24gKyBib2R5ICsgcGFkZGluZwotICAgIGVsaWYgYWxpZ24gPT0gJz4nOgotICAgICAgICByZXN1bHQgPSBwYWRkaW5nICsgc2lnbiArIGJvZHkKLSAgICBlbGlmIGFsaWduID09ICc9JzoKLSAgICAgICAgcmVzdWx0ID0gc2lnbiArIHBhZGRpbmcgKyBib2R5Ci0gICAgZWxpZiBhbGlnbiA9PSAnXic6Ci0gICAgICAgIGhhbGYgPSBsZW4ocGFkZGluZykvLzIKLSAgICAgICAgcmVzdWx0ID0gcGFkZGluZ1s6aGFsZl0gKyBzaWduICsgYm9keSArIHBhZGRpbmdbaGFsZjpdCi0gICAgZWxzZToKLSAgICAgICAgcmFpc2UgVmFsdWVFcnJvcignVW5yZWNvZ25pc2VkIGFsaWdubWVudCBmaWVsZCcpCi0KLSAgICByZXR1cm4gcmVzdWx0Ci0KLWRlZiBfZ3JvdXBfbGVuZ3Rocyhncm91cGluZyk6Ci0gICAgIiIiQ29udmVydCBhIGxvY2FsZWNvbnYtc3R5bGUgZ3JvdXBpbmcgaW50byBhIChwb3NzaWJseSBpbmZpbml0ZSkKLSAgICBpdGVyYWJsZSBvZiBpbnRlZ2VycyByZXByZXNlbnRpbmcgZ3JvdXAgbGVuZ3Rocy4KLQotICAgICIiIgotICAgICMgVGhlIHJlc3VsdCBmcm9tIGxvY2FsZWNvbnYoKVsnZ3JvdXBpbmcnXSwgYW5kIHRoZSBpbnB1dCB0byB0aGlzCi0gICAgIyBmdW5jdGlvbiwgc2hvdWxkIGJlIGEgbGlzdCBvZiBpbnRlZ2VycyBpbiBvbmUgb2YgdGhlCi0gICAgIyBmb2xsb3dpbmcgdGhyZWUgZm9ybXM6Ci0gICAgIwotICAgICMgICAoMSkgYW4gZW1wdHkgbGlzdCwgb3IKLSAgICAjICAgKDIpIG5vbmVtcHR5IGxpc3Qgb2YgcG9zaXRpdmUgaW50ZWdlcnMgKyBbMF0KLSAgICAjICAgKDMpIGxpc3Qgb2YgcG9zaXRpdmUgaW50ZWdlcnMgKyBbbG9jYWxlLkNIQVJfTUFYXSwgb3IKLQotICAgIGZyb20gaXRlcnRvb2xzIGltcG9ydCBjaGFpbiwgcmVwZWF0Ci0gICAgaWYgbm90IGdyb3VwaW5nOgotICAgICAgICByZXR1cm4gW10KLSAgICBlbGlmIGdyb3VwaW5nWy0xXSA9PSAwIGFuZCBsZW4oZ3JvdXBpbmcpID49IDI6Ci0gICAgICAgIHJldHVybiBjaGFpbihncm91cGluZ1s6LTFdLCByZXBlYXQoZ3JvdXBpbmdbLTJdKSkKLSAgICBlbGlmIGdyb3VwaW5nWy0xXSA9PSBfbG9jYWxlLkNIQVJfTUFYOgotICAgICAgICByZXR1cm4gZ3JvdXBpbmdbOi0xXQotICAgIGVsc2U6Ci0gICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoJ3VucmVjb2duaXNlZCBmb3JtYXQgZm9yIGdyb3VwaW5nJykKLQotZGVmIF9pbnNlcnRfdGhvdXNhbmRzX3NlcChkaWdpdHMsIHNwZWMsIG1pbl93aWR0aD0xKToKLSAgICAiIiJJbnNlcnQgdGhvdXNhbmRzIHNlcGFyYXRvcnMgaW50byBhIGRpZ2l0IHN0cmluZy4KLQotICAgIHNwZWMgaXMgYSBkaWN0aW9uYXJ5IHdob3NlIGtleXMgc2hvdWxkIGluY2x1ZGUgJ3Rob3VzYW5kc19zZXAnIGFuZAotICAgICdncm91cGluZyc7IHR5cGljYWxseSBpdCdzIHRoZSByZXN1bHQgb2YgcGFyc2luZyB0aGUgZm9ybWF0Ci0gICAgc3BlY2lmaWVyIHVzaW5nIF9wYXJzZV9mb3JtYXRfc3BlY2lmaWVyLgotCi0gICAgVGhlIG1pbl93aWR0aCBrZXl3b3JkIGFyZ3VtZW50IGdpdmVzIHRoZSBtaW5pbXVtIGxlbmd0aCBvZiB0aGUKLSAgICByZXN1bHQsIHdoaWNoIHdpbGwgYmUgcGFkZGVkIG9uIHRoZSBsZWZ0IHdpdGggemVyb3MgaWYgbmVjZXNzYXJ5LgotCi0gICAgSWYgbmVjZXNzYXJ5LCB0aGUgemVybyBwYWRkaW5nIGFkZHMgYW4gZXh0cmEgJzAnIG9uIHRoZSBsZWZ0IHRvCi0gICAgYXZvaWQgYSBsZWFkaW5nIHRob3VzYW5kcyBzZXBhcmF0b3IuICBGb3IgZXhhbXBsZSwgaW5zZXJ0aW5nCi0gICAgY29tbWFzIGV2ZXJ5IHRocmVlIGRpZ2l0cyBpbiAnMTIzNDU2Jywgd2l0aCBtaW5fd2lkdGg9OCwgZ2l2ZXMKLSAgICAnMCwxMjMsNDU2JywgZXZlbiB0aG91Z2ggdGhhdCBoYXMgbGVuZ3RoIDkuCi0KLSAgICAiIiIKLQotICAgIHNlcCA9IHNwZWNbJ3Rob3VzYW5kc19zZXAnXQotICAgIGdyb3VwaW5nID0gc3BlY1snZ3JvdXBpbmcnXQotCi0gICAgZ3JvdXBzID0gW10KLSAgICBmb3IgbCBpbiBfZ3JvdXBfbGVuZ3Rocyhncm91cGluZyk6Ci0gICAgICAgIGlmIGwgPD0gMDoKLSAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoImdyb3VwIGxlbmd0aCBzaG91bGQgYmUgcG9zaXRpdmUiKQotICAgICAgICAjIG1heCguLi4sIDEpIGZvcmNlcyBhdCBsZWFzdCAxIGRpZ2l0IHRvIHRoZSBsZWZ0IG9mIGEgc2VwYXJhdG9yCi0gICAgICAgIGwgPSBtaW4obWF4KGxlbihkaWdpdHMpLCBtaW5fd2lkdGgsIDEpLCBsKQotICAgICAgICBncm91cHMuYXBwZW5kKCcwJyoobCAtIGxlbihkaWdpdHMpKSArIGRpZ2l0c1stbDpdKQotICAgICAgICBkaWdpdHMgPSBkaWdpdHNbOi1sXQotICAgICAgICBtaW5fd2lkdGggLT0gbAotICAgICAgICBpZiBub3QgZGlnaXRzIGFuZCBtaW5fd2lkdGggPD0gMDoKLSAgICAgICAgICAgIGJyZWFrCi0gICAgICAgIG1pbl93aWR0aCAtPSBsZW4oc2VwKQotICAgIGVsc2U6Ci0gICAgICAgIGwgPSBtYXgobGVuKGRpZ2l0cyksIG1pbl93aWR0aCwgMSkKLSAgICAgICAgZ3JvdXBzLmFwcGVuZCgnMCcqKGwgLSBsZW4oZGlnaXRzKSkgKyBkaWdpdHNbLWw6XSkKLSAgICByZXR1cm4gc2VwLmpvaW4ocmV2ZXJzZWQoZ3JvdXBzKSkKLQotZGVmIF9mb3JtYXRfc2lnbihpc19uZWdhdGl2ZSwgc3BlYyk6Ci0gICAgIiIiRGV0ZXJtaW5lIHNpZ24gY2hhcmFjdGVyLiIiIgotCi0gICAgaWYgaXNfbmVnYXRpdmU6Ci0gICAgICAgIHJldHVybiAnLScKLSAgICBlbGlmIHNwZWNbJ3NpZ24nXSBpbiAnICsnOgotICAgICAgICByZXR1cm4gc3BlY1snc2lnbiddCi0gICAgZWxzZToKLSAgICAgICAgcmV0dXJuICcnCi0KLWRlZiBfZm9ybWF0X251bWJlcihpc19uZWdhdGl2ZSwgaW50cGFydCwgZnJhY3BhcnQsIGV4cCwgc3BlYyk6Ci0gICAgIiIiRm9ybWF0IGEgbnVtYmVyLCBnaXZlbiB0aGUgZm9sbG93aW5nIGRhdGE6Ci0KLSAgICBpc19uZWdhdGl2ZTogdHJ1ZSBpZiB0aGUgbnVtYmVyIGlzIG5lZ2F0aXZlLCBlbHNlIGZhbHNlCi0gICAgaW50cGFydDogc3RyaW5nIG9mIGRpZ2l0cyB0aGF0IG11c3QgYXBwZWFyIGJlZm9yZSB0aGUgZGVjaW1hbCBwb2ludAotICAgIGZyYWNwYXJ0OiBzdHJpbmcgb2YgZGlnaXRzIHRoYXQgbXVzdCBjb21lIGFmdGVyIHRoZSBwb2ludAotICAgIGV4cDogZXhwb25lbnQsIGFzIGFuIGludGVnZXIKLSAgICBzcGVjOiBkaWN0aW9uYXJ5IHJlc3VsdGluZyBmcm9tIHBhcnNpbmcgdGhlIGZvcm1hdCBzcGVjaWZpZXIKLQotICAgIFRoaXMgZnVuY3Rpb24gdXNlcyB0aGUgaW5mb3JtYXRpb24gaW4gc3BlYyB0bzoKLSAgICAgIGluc2VydCBzZXBhcmF0b3JzIChkZWNpbWFsIHNlcGFyYXRvciBhbmQgdGhvdXNhbmRzIHNlcGFyYXRvcnMpCi0gICAgICBmb3JtYXQgdGhlIHNpZ24KLSAgICAgIGZvcm1hdCB0aGUgZXhwb25lbnQKLSAgICAgIGFkZCB0cmFpbGluZyAnJScgZm9yIHRoZSAnJScgdHlwZQotICAgICAgemVyby1wYWQgaWYgbmVjZXNzYXJ5Ci0gICAgICBmaWxsIGFuZCBhbGlnbiBpZiBuZWNlc3NhcnkKLSAgICAiIiIKLQotICAgIHNpZ24gPSBfZm9ybWF0X3NpZ24oaXNfbmVnYXRpdmUsIHNwZWMpCi0KLSAgICBpZiBmcmFjcGFydCBvciBzcGVjWydhbHQnXToKLSAgICAgICAgZnJhY3BhcnQgPSBzcGVjWydkZWNpbWFsX3BvaW50J10gKyBmcmFjcGFydAotCi0gICAgaWYgZXhwICE9IDAgb3Igc3BlY1sndHlwZSddIGluICdlRSc6Ci0gICAgICAgIGVjaGFyID0geydFJzogJ0UnLCAnZSc6ICdlJywgJ0cnOiAnRScsICdnJzogJ2UnfVtzcGVjWyd0eXBlJ11dCi0gICAgICAgIGZyYWNwYXJ0ICs9ICJ7MH17MTorfSIuZm9ybWF0KGVjaGFyLCBleHApCi0gICAgaWYgc3BlY1sndHlwZSddID09ICclJzoKLSAgICAgICAgZnJhY3BhcnQgKz0gJyUnCi0KLSAgICBpZiBzcGVjWyd6ZXJvcGFkJ106Ci0gICAgICAgIG1pbl93aWR0aCA9IHNwZWNbJ21pbmltdW13aWR0aCddIC0gbGVuKGZyYWNwYXJ0KSAtIGxlbihzaWduKQotICAgIGVsc2U6Ci0gICAgICAgIG1pbl93aWR0aCA9IDAKLSAgICBpbnRwYXJ0ID0gX2luc2VydF90aG91c2FuZHNfc2VwKGludHBhcnQsIHNwZWMsIG1pbl93aWR0aCkKLQotICAgIHJldHVybiBfZm9ybWF0X2FsaWduKHNpZ24sIGludHBhcnQrZnJhY3BhcnQsIHNwZWMpCi0KLQotIyMjIyMgVXNlZnVsIENvbnN0YW50cyAoaW50ZXJuYWwgdXNlIG9ubHkpICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCi0KLSMgUmV1c2FibGUgZGVmYXVsdHMKLV9JbmZpbml0eSA9IERlY2ltYWwoJ0luZicpCi1fTmVnYXRpdmVJbmZpbml0eSA9IERlY2ltYWwoJy1JbmYnKQotX05hTiA9IERlY2ltYWwoJ05hTicpCi1fWmVybyA9IERlY2ltYWwoMCkKLV9PbmUgPSBEZWNpbWFsKDEpCi1fTmVnYXRpdmVPbmUgPSBEZWNpbWFsKC0xKQotCi0jIF9TaWduZWRJbmZpbml0eVtzaWduXSBpcyBpbmZpbml0eSB3LyB0aGF0IHNpZ24KLV9TaWduZWRJbmZpbml0eSA9IChfSW5maW5pdHksIF9OZWdhdGl2ZUluZmluaXR5KQotCi0jIENvbnN0YW50cyByZWxhdGVkIHRvIHRoZSBoYXNoIGltcGxlbWVudGF0aW9uOyAgaGFzaCh4KSBpcyBiYXNlZAotIyBvbiB0aGUgcmVkdWN0aW9uIG9mIHggbW9kdWxvIF9QeUhBU0hfTU9EVUxVUwotX1B5SEFTSF9NT0RVTFVTID0gc3lzLmhhc2hfaW5mby5tb2R1bHVzCi0jIGhhc2ggdmFsdWVzIHRvIHVzZSBmb3IgcG9zaXRpdmUgYW5kIG5lZ2F0aXZlIGluZmluaXRpZXMsIGFuZCBuYW5zCi1fUHlIQVNIX0lORiA9IHN5cy5oYXNoX2luZm8uaW5mCi1fUHlIQVNIX05BTiA9IHN5cy5oYXNoX2luZm8ubmFuCi0KLSMgX1B5SEFTSF8xMElOViBpcyB0aGUgaW52ZXJzZSBvZiAxMCBtb2R1bG8gdGhlIHByaW1lIF9QeUhBU0hfTU9EVUxVUwotX1B5SEFTSF8xMElOViA9IHBvdygxMCwgX1B5SEFTSF9NT0RVTFVTIC0gMiwgX1B5SEFTSF9NT0RVTFVTKQotZGVsIHN5cwotCi10cnk6Ci0gICAgaW1wb3J0IF9kZWNpbWFsCi1leGNlcHQgSW1wb3J0RXJyb3I6Ci0gICAgcGFzcwotZWxzZToKLSAgICBzMSA9IHNldChkaXIoKSkKLSAgICBzMiA9IHNldChkaXIoX2RlY2ltYWwpKQotICAgIGZvciBuYW1lIGluIHMxIC0gczI6Ci0gICAgICAgIGRlbCBnbG9iYWxzKClbbmFtZV0KLSAgICBkZWwgczEsIHMyLCBuYW1lCiAgICAgZnJvbSBfZGVjaW1hbCBpbXBvcnQgKgotCi1pZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgotICAgIGltcG9ydCBkb2N0ZXN0LCBkZWNpbWFsCi0gICAgZG9jdGVzdC50ZXN0bW9kKGRlY2ltYWwpCisgICAgZnJvbSBfZGVjaW1hbCBpbXBvcnQgX19kb2NfXworICAgIGZyb20gX2RlY2ltYWwgaW1wb3J0IF9fdmVyc2lvbl9fCisgICAgZnJvbSBfZGVjaW1hbCBpbXBvcnQgX19saWJtcGRlY192ZXJzaW9uX18KK2V4Y2VwdCBJbXBvcnRFcnJvcjoKKyAgICBmcm9tIF9weWRlY2ltYWwgaW1wb3J0ICoKKyAgICBmcm9tIF9weWRlY2ltYWwgaW1wb3J0IF9fZG9jX18KKyAgICBmcm9tIF9weWRlY2ltYWwgaW1wb3J0IF9fdmVyc2lvbl9fCisgICAgZnJvbSBfcHlkZWNpbWFsIGltcG9ydCBfX2xpYm1wZGVjX3ZlcnNpb25fXwpkaWZmIC0tZ2l0IGEvTGliL2RpZmZsaWIucHkgYi9MaWIvZGlmZmxpYi5weQppbmRleCA3ZWI0MmE5Li5hZTM0NzlkIDEwMDY0NAotLS0gYS9MaWIvZGlmZmxpYi5weQorKysgYi9MaWIvZGlmZmxpYi5weQpAQCAtMzAsNyArMzAsNyBAQAogICAgICAgICAgICAnRGlmZmVyJywnSVNfQ0hBUkFDVEVSX0pVTksnLCAnSVNfTElORV9KVU5LJywgJ2NvbnRleHRfZGlmZicsCiAgICAgICAgICAgICd1bmlmaWVkX2RpZmYnLCAnSHRtbERpZmYnLCAnTWF0Y2gnXQogCi1pbXBvcnQgaGVhcHEKK2Zyb20gaGVhcHEgaW1wb3J0IG5sYXJnZXN0IGFzIF9ubGFyZ2VzdAogZnJvbSBjb2xsZWN0aW9ucyBpbXBvcnQgbmFtZWR0dXBsZSBhcyBfbmFtZWR0dXBsZQogCiBNYXRjaCA9IF9uYW1lZHR1cGxlKCdNYXRjaCcsICdhIGIgc2l6ZScpCkBAIC03MjksNyArNzI5LDcgQEAKICAgICAgICAgICAgIHJlc3VsdC5hcHBlbmQoKHMucmF0aW8oKSwgeCkpCiAKICAgICAjIE1vdmUgdGhlIGJlc3Qgc2NvcmVycyB0byBoZWFkIG9mIGxpc3QKLSAgICByZXN1bHQgPSBoZWFwcS5ubGFyZ2VzdChuLCByZXN1bHQpCisgICAgcmVzdWx0ID0gX25sYXJnZXN0KG4sIHJlc3VsdCkKICAgICAjIFN0cmlwIHNjb3JlcyBmb3IgdGhlIGJlc3QgbiBtYXRjaGVzCiAgICAgcmV0dXJuIFt4IGZvciBzY29yZSwgeCBpbiByZXN1bHRdCiAKQEAgLTg1MiwxMCArODUyLDkgQEAKICAgICAgICAgICBhbmQgcmV0dXJuIHRydWUgaWZmIHRoZSBzdHJpbmcgaXMganVuay4gVGhlIG1vZHVsZS1sZXZlbCBmdW5jdGlvbgogICAgICAgICAgIGBJU19MSU5FX0pVTktgIG1heSBiZSB1c2VkIHRvIGZpbHRlciBvdXQgbGluZXMgd2l0aG91dCB2aXNpYmxlCiAgICAgICAgICAgY2hhcmFjdGVycywgZXhjZXB0IGZvciBhdCBtb3N0IG9uZSBzcGxhdCAoJyMnKS4gIEl0IGlzIHJlY29tbWVuZGVkCi0gICAgICAgICAgdG8gbGVhdmUgbGluZWp1bmsgTm9uZTsgYXMgb2YgUHl0aG9uIDIuMywgdGhlIHVuZGVybHlpbmcKLSAgICAgICAgICBTZXF1ZW5jZU1hdGNoZXIgY2xhc3MgaGFzIGdyb3duIGFuIGFkYXB0aXZlIG5vdGlvbiBvZiAibm9pc2UiIGxpbmVzCi0gICAgICAgICAgdGhhdCdzIGJldHRlciB0aGFuIGFueSBzdGF0aWMgZGVmaW5pdGlvbiB0aGUgYXV0aG9yIGhhcyBldmVyIGJlZW4KLSAgICAgICAgICBhYmxlIHRvIGNyYWZ0LgorICAgICAgICAgIHRvIGxlYXZlIGxpbmVqdW5rIE5vbmU7IHRoZSB1bmRlcmx5aW5nIFNlcXVlbmNlTWF0Y2hlciBjbGFzcyBoYXMKKyAgICAgICAgICBhbiBhZGFwdGl2ZSBub3Rpb24gb2YgIm5vaXNlIiBsaW5lcyB0aGF0J3MgYmV0dGVyIHRoYW4gYW55IHN0YXRpYworICAgICAgICAgIGRlZmluaXRpb24gdGhlIGF1dGhvciBoYXMgZXZlciBiZWVuIGFibGUgdG8gY3JhZnQuCiAKICAgICAgICAgLSBgY2hhcmp1bmtgOiBBIGZ1bmN0aW9uIHRoYXQgc2hvdWxkIGFjY2VwdCBhIHN0cmluZyBvZiBsZW5ndGggMS4gVGhlCiAgICAgICAgICAgbW9kdWxlLWxldmVsIGZ1bmN0aW9uIGBJU19DSEFSQUNURVJfSlVOS2AgbWF5IGJlIHVzZWQgdG8gZmlsdGVyIG91dApAQCAtMTI5OCwxNyArMTI5NywxOCBAQAogICAgIENvbXBhcmUgYGFgIGFuZCBgYmAgKGxpc3RzIG9mIHN0cmluZ3MpOyByZXR1cm4gYSBgRGlmZmVyYC1zdHlsZSBkZWx0YS4KIAogICAgIE9wdGlvbmFsIGtleXdvcmQgcGFyYW1ldGVycyBgbGluZWp1bmtgIGFuZCBgY2hhcmp1bmtgIGFyZSBmb3IgZmlsdGVyCi0gICAgZnVuY3Rpb25zIChvciBOb25lKToKKyAgICBmdW5jdGlvbnMsIG9yIGNhbiBiZSBOb25lOgogCi0gICAgLSBsaW5lanVuazogQSBmdW5jdGlvbiB0aGF0IHNob3VsZCBhY2NlcHQgYSBzaW5nbGUgc3RyaW5nIGFyZ3VtZW50LCBhbmQKKyAgICAtIGxpbmVqdW5rOiBBIGZ1bmN0aW9uIHRoYXQgc2hvdWxkIGFjY2VwdCBhIHNpbmdsZSBzdHJpbmcgYXJndW1lbnQgYW5kCiAgICAgICByZXR1cm4gdHJ1ZSBpZmYgdGhlIHN0cmluZyBpcyBqdW5rLiAgVGhlIGRlZmF1bHQgaXMgTm9uZSwgYW5kIGlzCi0gICAgICByZWNvbW1lbmRlZDsgYXMgb2YgUHl0aG9uIDIuMywgYW4gYWRhcHRpdmUgbm90aW9uIG9mICJub2lzZSIgbGluZXMgaXMKLSAgICAgIHVzZWQgdGhhdCBkb2VzIGEgZ29vZCBqb2Igb24gaXRzIG93bi4KKyAgICAgIHJlY29tbWVuZGVkOyB0aGUgdW5kZXJseWluZyBTZXF1ZW5jZU1hdGNoZXIgY2xhc3MgaGFzIGFuIGFkYXB0aXZlCisgICAgICBub3Rpb24gb2YgIm5vaXNlIiBsaW5lcy4KIAotICAgIC0gY2hhcmp1bms6IEEgZnVuY3Rpb24gdGhhdCBzaG91bGQgYWNjZXB0IGEgc3RyaW5nIG9mIGxlbmd0aCAxLiBUaGUKLSAgICAgIGRlZmF1bHQgaXMgbW9kdWxlLWxldmVsIGZ1bmN0aW9uIElTX0NIQVJBQ1RFUl9KVU5LLCB3aGljaCBmaWx0ZXJzIG91dAotICAgICAgd2hpdGVzcGFjZSBjaGFyYWN0ZXJzIChhIGJsYW5rIG9yIHRhYjsgbm90ZTogYmFkIGlkZWEgdG8gaW5jbHVkZSBuZXdsaW5lCi0gICAgICBpbiB0aGlzISkuCisgICAgLSBjaGFyanVuazogQSBmdW5jdGlvbiB0aGF0IGFjY2VwdHMgYSBjaGFyYWN0ZXIgKHN0cmluZyBvZiBsZW5ndGgKKyAgICAgIDEpLCBhbmQgcmV0dXJucyB0cnVlIGlmZiB0aGUgY2hhcmFjdGVyIGlzIGp1bmsuIFRoZSBkZWZhdWx0IGlzCisgICAgICB0aGUgbW9kdWxlLWxldmVsIGZ1bmN0aW9uIElTX0NIQVJBQ1RFUl9KVU5LLCB3aGljaCBmaWx0ZXJzIG91dAorICAgICAgd2hpdGVzcGFjZSBjaGFyYWN0ZXJzIChhIGJsYW5rIG9yIHRhYjsgbm90ZTogaXQncyBhIGJhZCBpZGVhIHRvCisgICAgICBpbmNsdWRlIG5ld2xpbmUgaW4gdGhpcyEpLgogCiAgICAgVG9vbHMvc2NyaXB0cy9uZGlmZi5weSBpcyBhIGNvbW1hbmQtbGluZSBmcm9udC1lbmQgdG8gdGhpcyBmdW5jdGlvbi4KIApAQCAtMTQxMCw3ICsxNDEwLDcgQEAKICAgICAgICAgICAgIGNoYW5nZV9yZS5zdWIocmVjb3JkX3N1Yl9pbmZvLG1hcmtlcnMpCiAgICAgICAgICAgICAjIHByb2Nlc3MgZWFjaCB0dXBsZSBpbnNlcnRpbmcgb3VyIHNwZWNpYWwgbWFya3MgdGhhdCB3b24ndCBiZQogICAgICAgICAgICAgIyBub3RpY2VkIGJ5IGFuIHhtbC9odG1sIGVzY2FwZXIuCi0gICAgICAgICAgICBmb3Iga2V5LChiZWdpbixlbmQpIGluIHN1Yl9pbmZvWzo6LTFdOgorICAgICAgICAgICAgZm9yIGtleSwoYmVnaW4sZW5kKSBpbiByZXZlcnNlZChzdWJfaW5mbyk6CiAgICAgICAgICAgICAgICAgdGV4dCA9IHRleHRbMDpiZWdpbl0rJ1wwJytrZXkrdGV4dFtiZWdpbjplbmRdKydcMScrdGV4dFtlbmQ6XQogICAgICAgICAgICAgdGV4dCA9IHRleHRbMjpdCiAgICAgICAgICMgSGFuZGxlIGNhc2Ugb2YgYWRkL2RlbGV0ZSBlbnRpcmUgbGluZQpAQCAtMTQ0OCwxMCArMTQ0OCw3IEBACiAgICAgICAgICAgICAjIGFyZSBhIGNvbmNhdGVuYXRpb24gb2YgdGhlIGZpcnN0IGNoYXJhY3RlciBvZiBlYWNoIG9mIHRoZSA0IGxpbmVzCiAgICAgICAgICAgICAjIHNvIHdlIGNhbiBkbyBzb21lIHZlcnkgcmVhZGFibGUgY29tcGFyaXNvbnMuCiAgICAgICAgICAgICB3aGlsZSBsZW4obGluZXMpIDwgNDoKLSAgICAgICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgICAgIGxpbmVzLmFwcGVuZChuZXh0KGRpZmZfbGluZXNfaXRlcmF0b3IpKQotICAgICAgICAgICAgICAgIGV4Y2VwdCBTdG9wSXRlcmF0aW9uOgotICAgICAgICAgICAgICAgICAgICBsaW5lcy5hcHBlbmQoJ1gnKQorICAgICAgICAgICAgICAgIGxpbmVzLmFwcGVuZChuZXh0KGRpZmZfbGluZXNfaXRlcmF0b3IsICdYJykpCiAgICAgICAgICAgICBzID0gJycuam9pbihbbGluZVswXSBmb3IgbGluZSBpbiBsaW5lc10pCiAgICAgICAgICAgICBpZiBzLnN0YXJ0c3dpdGgoJ1gnKToKICAgICAgICAgICAgICAgICAjIFdoZW4gbm8gbW9yZSBsaW5lcywgcHVtcCBvdXQgYW55IHJlbWFpbmluZyBibGFuayBsaW5lcyBzbyB0aGUKQEAgLTE1MTQsNyArMTUxMSw3IEBACiAgICAgICAgICAgICAgICAgbnVtX2JsYW5rc190b195aWVsZCAtPSAxCiAgICAgICAgICAgICAgICAgeWllbGQgKCcnLCdcbicpLE5vbmUsVHJ1ZQogICAgICAgICAgICAgaWYgcy5zdGFydHN3aXRoKCdYJyk6Ci0gICAgICAgICAgICAgICAgcmFpc2UgU3RvcEl0ZXJhdGlvbgorICAgICAgICAgICAgICAgIHJldHVybgogICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICB5aWVsZCBmcm9tX2xpbmUsdG9fbGluZSxUcnVlCiAKQEAgLTE2NzksNyArMTY3Niw3IEBACiAgICAgICAgIHRhYnNpemUgLS0gdGFiIHN0b3Agc3BhY2luZywgZGVmYXVsdHMgdG8gOC4KICAgICAgICAgd3JhcGNvbHVtbiAtLSBjb2x1bW4gbnVtYmVyIHdoZXJlIGxpbmVzIGFyZSBicm9rZW4gYW5kIHdyYXBwZWQsCiAgICAgICAgICAgICBkZWZhdWx0cyB0byBOb25lIHdoZXJlIGxpbmVzIGFyZSBub3Qgd3JhcHBlZC4KLSAgICAgICAgbGluZWp1bmssY2hhcmp1bmsgLS0ga2V5d29yZCBhcmd1bWVudHMgcGFzc2VkIGludG8gbmRpZmYoKSAodXNlZCB0byBieQorICAgICAgICBsaW5lanVuayxjaGFyanVuayAtLSBrZXl3b3JkIGFyZ3VtZW50cyBwYXNzZWQgaW50byBuZGlmZigpICh1c2VkIGJ5CiAgICAgICAgICAgICBIdG1sRGlmZigpIHRvIGdlbmVyYXRlIHRoZSBzaWRlIGJ5IHNpZGUgSFRNTCBkaWZmZXJlbmNlcykuICBTZWUKICAgICAgICAgICAgIG5kaWZmKCkgZG9jdW1lbnRhdGlvbiBmb3IgYXJndW1lbnQgZGVmYXVsdCB2YWx1ZXMgYW5kIGRlc2NyaXB0aW9ucy4KICAgICAgICAgIiIiCmRpZmYgLS1naXQgYS9MaWIvZGlzLnB5IGIvTGliL2Rpcy5weQppbmRleCA4MWNiZTdmLi5kMjE1YmM1IDEwMDY0NAotLS0gYS9MaWIvZGlzLnB5CisrKyBiL0xpYi9kaXMucHkKQEAgLTI5LDcgKzI5LDcgQEAKICAgICByZXR1cm4gYwogCiBkZWYgZGlzKHg9Tm9uZSwgKiwgZmlsZT1Ob25lKToKLSAgICAiIiJEaXNhc3NlbWJsZSBjbGFzc2VzLCBtZXRob2RzLCBmdW5jdGlvbnMsIG9yIGNvZGUuCisgICAgIiIiRGlzYXNzZW1ibGUgY2xhc3NlcywgbWV0aG9kcywgZnVuY3Rpb25zLCBnZW5lcmF0b3JzLCBvciBjb2RlLgogCiAgICAgV2l0aCBubyBhcmd1bWVudCwgZGlzYXNzZW1ibGUgdGhlIGxhc3QgdHJhY2ViYWNrLgogCkBAIC00MSw2ICs0MSw4IEBACiAgICAgICAgIHggPSB4Ll9fZnVuY19fCiAgICAgaWYgaGFzYXR0cih4LCAnX19jb2RlX18nKTogICMgRnVuY3Rpb24KICAgICAgICAgeCA9IHguX19jb2RlX18KKyAgICBpZiBoYXNhdHRyKHgsICdnaV9jb2RlJyk6ICAjIEdlbmVyYXRvcgorICAgICAgICB4ID0geC5naV9jb2RlCiAgICAgaWYgaGFzYXR0cih4LCAnX19kaWN0X18nKTogICMgQ2xhc3Mgb3IgbW9kdWxlCiAgICAgICAgIGl0ZW1zID0gc29ydGVkKHguX19kaWN0X18uaXRlbXMoKSkKICAgICAgICAgZm9yIG5hbWUsIHgxIGluIGl0ZW1zOgpAQCAtOTksMTEgKzEwMSwxMyBAQAogICAgIHJldHVybiAiLCAiLmpvaW4obmFtZXMpCiAKIGRlZiBfZ2V0X2NvZGVfb2JqZWN0KHgpOgotICAgICIiIkhlbHBlciB0byBoYW5kbGUgbWV0aG9kcywgZnVuY3Rpb25zLCBzdHJpbmdzIGFuZCByYXcgY29kZSBvYmplY3RzIiIiCisgICAgIiIiSGVscGVyIHRvIGhhbmRsZSBtZXRob2RzLCBmdW5jdGlvbnMsIGdlbmVyYXRvcnMsIHN0cmluZ3MgYW5kIHJhdyBjb2RlIG9iamVjdHMiIiIKICAgICBpZiBoYXNhdHRyKHgsICdfX2Z1bmNfXycpOiAjIE1ldGhvZAogICAgICAgICB4ID0geC5fX2Z1bmNfXwogICAgIGlmIGhhc2F0dHIoeCwgJ19fY29kZV9fJyk6ICMgRnVuY3Rpb24KICAgICAgICAgeCA9IHguX19jb2RlX18KKyAgICBpZiBoYXNhdHRyKHgsICdnaV9jb2RlJyk6ICAjIEdlbmVyYXRvcgorICAgICAgICB4ID0geC5naV9jb2RlCiAgICAgaWYgaXNpbnN0YW5jZSh4LCBzdHIpOiAgICAgIyBTb3VyY2UgY29kZQogICAgICAgICB4ID0gX3RyeV9jb21waWxlKHgsICI8ZGlzYXNzZW1ibHk+IikKICAgICBpZiBoYXNhdHRyKHgsICdjb19jb2RlJyk6ICAjIENvZGUgb2JqZWN0CmRpZmYgLS1naXQgYS9MaWIvZGlzdHV0aWxzL19faW5pdF9fLnB5IGIvTGliL2Rpc3R1dGlscy9fX2luaXRfXy5weQppbmRleCAwMGE1ODU5Li42N2VjNzhiIDEwMDY0NAotLS0gYS9MaWIvZGlzdHV0aWxzL19faW5pdF9fLnB5CisrKyBiL0xpYi9kaXN0dXRpbHMvX19pbml0X18ucHkKQEAgLTEzLDUgKzEzLDUgQEAKICMgVXBkYXRlZCBhdXRvbWF0aWNhbGx5IGJ5IHRoZSBQeXRob24gcmVsZWFzZSBwcm9jZXNzLgogIwogIy0tc3RhcnQgY29uc3RhbnRzLS0KLV9fdmVyc2lvbl9fID0gIjMuNC4zIgorX192ZXJzaW9uX18gPSAiMy41LjBhMSIKICMtLWVuZCBjb25zdGFudHMtLQpkaWZmIC0tZ2l0IGEvTGliL2Rpc3R1dGlscy9jb21tYW5kL2J1aWxkLnB5IGIvTGliL2Rpc3R1dGlscy9jb21tYW5kL2J1aWxkLnB5CmluZGV4IGNmYzE1Y2YuLjMzN2RkMGIgMTAwNjQ0Ci0tLSBhL0xpYi9kaXN0dXRpbHMvY29tbWFuZC9idWlsZC5weQorKysgYi9MaWIvZGlzdHV0aWxzL2NvbW1hbmQvYnVpbGQucHkKQEAgLTM2LDYgKzM2LDggQEAKICAgICAgICAgICIoZGVmYXVsdDogJXMpIiAlIGdldF9wbGF0Zm9ybSgpKSwKICAgICAgICAgKCdjb21waWxlcj0nLCAnYycsCiAgICAgICAgICAic3BlY2lmeSB0aGUgY29tcGlsZXIgdHlwZSIpLAorICAgICAgICAoJ3BhcmFsbGVsPScsICdqJywKKyAgICAgICAgICJudW1iZXIgb2YgcGFyYWxsZWwgYnVpbGQgam9icyIpLAogICAgICAgICAoJ2RlYnVnJywgJ2cnLAogICAgICAgICAgImNvbXBpbGUgZXh0ZW5zaW9ucyBhbmQgbGlicmFyaWVzIHdpdGggZGVidWdnaW5nIGluZm9ybWF0aW9uIiksCiAgICAgICAgICgnZm9yY2UnLCAnZicsCkBAIC02NSw2ICs2Nyw3IEBACiAgICAgICAgIHNlbGYuZGVidWcgPSBOb25lCiAgICAgICAgIHNlbGYuZm9yY2UgPSAwCiAgICAgICAgIHNlbGYuZXhlY3V0YWJsZSA9IE5vbmUKKyAgICAgICAgc2VsZi5wYXJhbGxlbCA9IE5vbmUKIAogICAgIGRlZiBmaW5hbGl6ZV9vcHRpb25zKHNlbGYpOgogICAgICAgICBpZiBzZWxmLnBsYXRfbmFtZSBpcyBOb25lOgpAQCAtMTE2LDYgKzExOSwxMiBAQAogICAgICAgICBpZiBzZWxmLmV4ZWN1dGFibGUgaXMgTm9uZToKICAgICAgICAgICAgIHNlbGYuZXhlY3V0YWJsZSA9IG9zLnBhdGgubm9ybXBhdGgoc3lzLmV4ZWN1dGFibGUpCiAKKyAgICAgICAgaWYgaXNpbnN0YW5jZShzZWxmLnBhcmFsbGVsLCBzdHIpOgorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIHNlbGYucGFyYWxsZWwgPSBpbnQoc2VsZi5wYXJhbGxlbCkKKyAgICAgICAgICAgIGV4Y2VwdCBWYWx1ZUVycm9yOgorICAgICAgICAgICAgICAgIHJhaXNlIERpc3R1dGlsc09wdGlvbkVycm9yKCJwYXJhbGxlbCBzaG91bGQgYmUgYW4gaW50ZWdlciIpCisKICAgICBkZWYgcnVuKHNlbGYpOgogICAgICAgICAjIFJ1biBhbGwgcmVsZXZhbnQgc3ViLWNvbW1hbmRzLiAgVGhpcyB3aWxsIGJlIHNvbWUgc3Vic2V0IG9mOgogICAgICAgICAjICAtIGJ1aWxkX3B5ICAgICAgLSBwdXJlIFB5dGhvbiBtb2R1bGVzCmRpZmYgLS1naXQgYS9MaWIvZGlzdHV0aWxzL2NvbW1hbmQvYnVpbGRfZXh0LnB5IGIvTGliL2Rpc3R1dGlscy9jb21tYW5kL2J1aWxkX2V4dC5weQppbmRleCBhY2JlNjQ4Li5jNWEzY2UxIDEwMDY0NAotLS0gYS9MaWIvZGlzdHV0aWxzL2NvbW1hbmQvYnVpbGRfZXh0LnB5CisrKyBiL0xpYi9kaXN0dXRpbHMvY29tbWFuZC9idWlsZF9leHQucHkKQEAgLTQsNyArNCwxMCBAQAogbW9kdWxlcyAoY3VycmVudGx5IGxpbWl0ZWQgdG8gQyBleHRlbnNpb25zLCBzaG91bGQgYWNjb21tb2RhdGUgQysrCiBleHRlbnNpb25zIEFTQVApLiIiIgogCi1pbXBvcnQgc3lzLCBvcywgcmUKK2ltcG9ydCBjb250ZXh0bGliCitpbXBvcnQgb3MKK2ltcG9ydCByZQoraW1wb3J0IHN5cwogZnJvbSBkaXN0dXRpbHMuY29yZSBpbXBvcnQgQ29tbWFuZAogZnJvbSBkaXN0dXRpbHMuZXJyb3JzIGltcG9ydCAqCiBmcm9tIGRpc3R1dGlscy5zeXNjb25maWcgaW1wb3J0IGN1c3RvbWl6ZV9jb21waWxlciwgZ2V0X3B5dGhvbl92ZXJzaW9uCkBAIC04NSw2ICs4OCw4IEBACiAgICAgICAgICAiZm9yY2libHkgYnVpbGQgZXZlcnl0aGluZyAoaWdub3JlIGZpbGUgdGltZXN0YW1wcykiKSwKICAgICAgICAgKCdjb21waWxlcj0nLCAnYycsCiAgICAgICAgICAic3BlY2lmeSB0aGUgY29tcGlsZXIgdHlwZSIpLAorICAgICAgICAoJ3BhcmFsbGVsPScsICdqJywKKyAgICAgICAgICJudW1iZXIgb2YgcGFyYWxsZWwgYnVpbGQgam9icyIpLAogICAgICAgICAoJ3N3aWctY3BwJywgTm9uZSwKICAgICAgICAgICJtYWtlIFNXSUcgY3JlYXRlIEMrKyBmaWxlcyAoZGVmYXVsdCBpcyBDKSIpLAogICAgICAgICAoJ3N3aWctb3B0cz0nLCBOb25lLApAQCAtMTI0LDYgKzEyOSw3IEBACiAgICAgICAgIHNlbGYuc3dpZ19jcHAgPSBOb25lCiAgICAgICAgIHNlbGYuc3dpZ19vcHRzID0gTm9uZQogICAgICAgICBzZWxmLnVzZXIgPSBOb25lCisgICAgICAgIHNlbGYucGFyYWxsZWwgPSBOb25lCiAKICAgICBkZWYgZmluYWxpemVfb3B0aW9ucyhzZWxmKToKICAgICAgICAgZnJvbSBkaXN0dXRpbHMgaW1wb3J0IHN5c2NvbmZpZwpAQCAtMTM0LDYgKzE0MCw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgnY29tcGlsZXInLCAnY29tcGlsZXInKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCdkZWJ1ZycsICdkZWJ1ZycpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoJ2ZvcmNlJywgJ2ZvcmNlJyksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgncGFyYWxsZWwnLCAncGFyYWxsZWwnKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCdwbGF0X25hbWUnLCAncGxhdF9uYW1lJyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKIApAQCAtMjAyLDcgKzIwOSw3IEBACiAgICAgICAgICAgICBpZiBNU1ZDX1ZFUlNJT04gPj0gOToKICAgICAgICAgICAgICAgICAjIFVzZSB0aGUgLmxpYiBmaWxlcyBmb3IgdGhlIGNvcnJlY3QgYXJjaGl0ZWN0dXJlCiAgICAgICAgICAgICAgICAgaWYgc2VsZi5wbGF0X25hbWUgPT0gJ3dpbjMyJzoKLSAgICAgICAgICAgICAgICAgICAgc3VmZml4ID0gJycKKyAgICAgICAgICAgICAgICAgICAgc3VmZml4ID0gJ3dpbjMyJwogICAgICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgICAgICMgd2luLWFtZDY0IG9yIHdpbi1pYTY0CiAgICAgICAgICAgICAgICAgICAgIHN1ZmZpeCA9IHNlbGYucGxhdF9uYW1lWzQ6XQpAQCAtMjc0LDYgKzI4MSwxMiBAQAogICAgICAgICAgICAgICAgIHNlbGYubGlicmFyeV9kaXJzLmFwcGVuZCh1c2VyX2xpYikKICAgICAgICAgICAgICAgICBzZWxmLnJwYXRoLmFwcGVuZCh1c2VyX2xpYikKIAorICAgICAgICBpZiBpc2luc3RhbmNlKHNlbGYucGFyYWxsZWwsIHN0cik6CisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgc2VsZi5wYXJhbGxlbCA9IGludChzZWxmLnBhcmFsbGVsKQorICAgICAgICAgICAgZXhjZXB0IFZhbHVlRXJyb3I6CisgICAgICAgICAgICAgICAgcmFpc2UgRGlzdHV0aWxzT3B0aW9uRXJyb3IoInBhcmFsbGVsIHNob3VsZCBiZSBhbiBpbnRlZ2VyIikKKwogICAgIGRlZiBydW4oc2VsZik6CiAgICAgICAgIGZyb20gZGlzdHV0aWxzLmNjb21waWxlciBpbXBvcnQgbmV3X2NvbXBpbGVyCiAKQEAgLTQ0MiwxNSArNDU1LDQ1IEBACiAgICAgZGVmIGJ1aWxkX2V4dGVuc2lvbnMoc2VsZik6CiAgICAgICAgICMgRmlyc3QsIHNhbml0eS1jaGVjayB0aGUgJ2V4dGVuc2lvbnMnIGxpc3QKICAgICAgICAgc2VsZi5jaGVja19leHRlbnNpb25zX2xpc3Qoc2VsZi5leHRlbnNpb25zKQorICAgICAgICBpZiBzZWxmLnBhcmFsbGVsOgorICAgICAgICAgICAgc2VsZi5fYnVpbGRfZXh0ZW5zaW9uc19wYXJhbGxlbCgpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBzZWxmLl9idWlsZF9leHRlbnNpb25zX3NlcmlhbCgpCiAKKyAgICBkZWYgX2J1aWxkX2V4dGVuc2lvbnNfcGFyYWxsZWwoc2VsZik6CisgICAgICAgIHdvcmtlcnMgPSBzZWxmLnBhcmFsbGVsCisgICAgICAgIGlmIHNlbGYucGFyYWxsZWwgaXMgVHJ1ZToKKyAgICAgICAgICAgIHdvcmtlcnMgPSBvcy5jcHVfY291bnQoKSAgIyBtYXkgcmV0dXJuIE5vbmUKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgZnJvbSBjb25jdXJyZW50LmZ1dHVyZXMgaW1wb3J0IFRocmVhZFBvb2xFeGVjdXRvcgorICAgICAgICBleGNlcHQgSW1wb3J0RXJyb3I6CisgICAgICAgICAgICB3b3JrZXJzID0gTm9uZQorCisgICAgICAgIGlmIHdvcmtlcnMgaXMgTm9uZToKKyAgICAgICAgICAgIHNlbGYuX2J1aWxkX2V4dGVuc2lvbnNfc2VyaWFsKCkKKyAgICAgICAgICAgIHJldHVybgorCisgICAgICAgIHdpdGggVGhyZWFkUG9vbEV4ZWN1dG9yKG1heF93b3JrZXJzPXdvcmtlcnMpIGFzIGV4ZWN1dG9yOgorICAgICAgICAgICAgZnV0dXJlcyA9IFtleGVjdXRvci5zdWJtaXQoc2VsZi5idWlsZF9leHRlbnNpb24sIGV4dCkKKyAgICAgICAgICAgICAgICAgICAgICAgZm9yIGV4dCBpbiBzZWxmLmV4dGVuc2lvbnNdCisgICAgICAgICAgICBmb3IgZXh0LCBmdXQgaW4gemlwKHNlbGYuZXh0ZW5zaW9ucywgZnV0dXJlcyk6CisgICAgICAgICAgICAgICAgd2l0aCBzZWxmLl9maWx0ZXJfYnVpbGRfZXJyb3JzKGV4dCk6CisgICAgICAgICAgICAgICAgICAgIGZ1dC5yZXN1bHQoKQorCisgICAgZGVmIF9idWlsZF9leHRlbnNpb25zX3NlcmlhbChzZWxmKToKICAgICAgICAgZm9yIGV4dCBpbiBzZWxmLmV4dGVuc2lvbnM6Ci0gICAgICAgICAgICB0cnk6CisgICAgICAgICAgICB3aXRoIHNlbGYuX2ZpbHRlcl9idWlsZF9lcnJvcnMoZXh0KToKICAgICAgICAgICAgICAgICBzZWxmLmJ1aWxkX2V4dGVuc2lvbihleHQpCi0gICAgICAgICAgICBleGNlcHQgKENDb21waWxlckVycm9yLCBEaXN0dXRpbHNFcnJvciwgQ29tcGlsZUVycm9yKSBhcyBlOgotICAgICAgICAgICAgICAgIGlmIG5vdCBleHQub3B0aW9uYWw6Ci0gICAgICAgICAgICAgICAgICAgIHJhaXNlCi0gICAgICAgICAgICAgICAgc2VsZi53YXJuKCdidWlsZGluZyBleHRlbnNpb24gIiVzIiBmYWlsZWQ6ICVzJyAlCi0gICAgICAgICAgICAgICAgICAgICAgICAgIChleHQubmFtZSwgZSkpCisKKyAgICBAY29udGV4dGxpYi5jb250ZXh0bWFuYWdlcgorICAgIGRlZiBfZmlsdGVyX2J1aWxkX2Vycm9ycyhzZWxmLCBleHQpOgorICAgICAgICB0cnk6CisgICAgICAgICAgICB5aWVsZAorICAgICAgICBleGNlcHQgKENDb21waWxlckVycm9yLCBEaXN0dXRpbHNFcnJvciwgQ29tcGlsZUVycm9yKSBhcyBlOgorICAgICAgICAgICAgaWYgbm90IGV4dC5vcHRpb25hbDoKKyAgICAgICAgICAgICAgICByYWlzZQorICAgICAgICAgICAgc2VsZi53YXJuKCdidWlsZGluZyBleHRlbnNpb24gIiVzIiBmYWlsZWQ6ICVzJyAlCisgICAgICAgICAgICAgICAgICAgICAgKGV4dC5uYW1lLCBlKSkKIAogICAgIGRlZiBidWlsZF9leHRlbnNpb24oc2VsZiwgZXh0KToKICAgICAgICAgc291cmNlcyA9IGV4dC5zb3VyY2VzCkBAIC01MDIsMTUgKzU0NSw4IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4dHJhX3Bvc3RhcmdzPWV4dHJhX2FyZ3MsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlcGVuZHM9ZXh0LmRlcGVuZHMpCiAKLSAgICAgICAgIyBYWFggLS0gdGhpcyBpcyBhIFZpbGUgSEFDSyEKLSAgICAgICAgIwotICAgICAgICAjIFRoZSBzZXR1cC5weSBzY3JpcHQgZm9yIFB5dGhvbiBvbiBVbml4IG5lZWRzIHRvIGJlIGFibGUgdG8KLSAgICAgICAgIyBnZXQgdGhpcyBsaXN0IHNvIGl0IGNhbiBwZXJmb3JtIGFsbCB0aGUgY2xlYW4gdXAgbmVlZGVkIHRvCi0gICAgICAgICMgYXZvaWQga2VlcGluZyBvYmplY3QgZmlsZXMgYXJvdW5kIHdoZW4gY2xlYW5pbmcgb3V0IGEgZmFpbGVkCi0gICAgICAgICMgYnVpbGQgb2YgYW4gZXh0ZW5zaW9uIG1vZHVsZS4gIFNpbmNlIERpc3R1dGlscyBkb2VzIG5vdAotICAgICAgICAjIHRyYWNrIGRlcGVuZGVuY2llcywgd2UgaGF2ZSB0byBnZXQgcmlkIG9mIGludGVybWVkaWF0ZXMgdG8KLSAgICAgICAgIyBlbnN1cmUgYWxsIHRoZSBpbnRlcm1lZGlhdGVzIHdpbGwgYmUgcHJvcGVybHkgcmUtYnVpbHQuCi0gICAgICAgICMKKyAgICAgICAgIyBYWFggb3V0ZGF0ZWQgdmFyaWFibGUsIGtlcHQgaGVyZSBpbiBjYXNlIHRoaXJkLXBhcnQgY29kZQorICAgICAgICAjIG5lZWRzIGl0LgogICAgICAgICBzZWxmLl9idWlsdF9vYmplY3RzID0gb2JqZWN0c1s6XQogCiAgICAgICAgICMgTm93IGxpbmsgdGhlIG9iamVjdCBmaWxlcyB0b2dldGhlciBpbnRvIGEgInNoYXJlZCBvYmplY3QiIC0tCkBAIC02NTUsMTAgKzY5MSw3IEBACiAgICAgICAgICIiIgogICAgICAgICBmcm9tIGRpc3R1dGlscy5zeXNjb25maWcgaW1wb3J0IGdldF9jb25maWdfdmFyCiAgICAgICAgIGV4dF9wYXRoID0gZXh0X25hbWUuc3BsaXQoJy4nKQotICAgICAgICAjIGV4dGVuc2lvbnMgaW4gZGVidWdfbW9kZSBhcmUgbmFtZWQgJ21vZHVsZV9kLnB5ZCcgdW5kZXIgd2luZG93cwogICAgICAgICBleHRfc3VmZml4ID0gZ2V0X2NvbmZpZ192YXIoJ0VYVF9TVUZGSVgnKQotICAgICAgICBpZiBvcy5uYW1lID09ICdudCcgYW5kIHNlbGYuZGVidWc6Ci0gICAgICAgICAgICByZXR1cm4gb3MucGF0aC5qb2luKCpleHRfcGF0aCkgKyAnX2QnICsgZXh0X3N1ZmZpeAogICAgICAgICByZXR1cm4gb3MucGF0aC5qb2luKCpleHRfcGF0aCkgKyBleHRfc3VmZml4CiAKICAgICBkZWYgZ2V0X2V4cG9ydF9zeW1ib2xzKHNlbGYsIGV4dCk6CmRpZmYgLS1naXQgYS9MaWIvZGlzdHV0aWxzL2NvbW1hbmQvaW5zdGFsbC5weSBiL0xpYi9kaXN0dXRpbHMvY29tbWFuZC9pbnN0YWxsLnB5CmluZGV4IGQ3NjhkYzUuLjY3ZGIwMDcgMTAwNjQ0Ci0tLSBhL0xpYi9kaXN0dXRpbHMvY29tbWFuZC9pbnN0YWxsLnB5CisrKyBiL0xpYi9kaXN0dXRpbHMvY29tbWFuZC9pbnN0YWxsLnB5CkBAIC01MSw3ICs1MSw3IEBACiAgICAgICAgICdwdXJlbGliJzogJyR1c2Vyc2l0ZScsCiAgICAgICAgICdwbGF0bGliJzogJyR1c2Vyc2l0ZScsCiAgICAgICAgICdoZWFkZXJzJzogJyR1c2VyYmFzZS9QeXRob24kcHlfdmVyc2lvbl9ub2RvdC9JbmNsdWRlLyRkaXN0X25hbWUnLAotICAgICAgICAnc2NyaXB0cyc6ICckdXNlcmJhc2UvU2NyaXB0cycsCisgICAgICAgICdzY3JpcHRzJzogJyR1c2VyYmFzZS9QeXRob24kcHlfdmVyc2lvbl9ub2RvdC9TY3JpcHRzJywKICAgICAgICAgJ2RhdGEnICAgOiAnJHVzZXJiYXNlJywKICAgICAgICAgfQogCmRpZmYgLS1naXQgYS9MaWIvZGlzdHV0aWxzL2NvbW1hbmQvdXBsb2FkLnB5IGIvTGliL2Rpc3R1dGlscy9jb21tYW5kL3VwbG9hZC5weQppbmRleCAxYTk2ZTIyLi4xYzRmYzQ4IDEwMDY0NAotLS0gYS9MaWIvZGlzdHV0aWxzL2NvbW1hbmQvdXBsb2FkLnB5CisrKyBiL0xpYi9kaXN0dXRpbHMvY29tbWFuZC91cGxvYWQucHkKQEAgLTEsMTEgKzEsMTQgQEAKLSIiImRpc3R1dGlscy5jb21tYW5kLnVwbG9hZAorIiIiCitkaXN0dXRpbHMuY29tbWFuZC51cGxvYWQKIAotSW1wbGVtZW50cyB0aGUgRGlzdHV0aWxzICd1cGxvYWQnIHN1YmNvbW1hbmQgKHVwbG9hZCBwYWNrYWdlIHRvIFB5UEkpLiIiIgorSW1wbGVtZW50cyB0aGUgRGlzdHV0aWxzICd1cGxvYWQnIHN1YmNvbW1hbmQgKHVwbG9hZCBwYWNrYWdlIHRvIGEgcGFja2FnZQoraW5kZXgpLgorIiIiCiAKLWltcG9ydCBzeXMKLWltcG9ydCBvcywgaW8KLWltcG9ydCBzb2NrZXQKK2ltcG9ydCBvcworaW1wb3J0IGlvCiBpbXBvcnQgcGxhdGZvcm0KK2ltcG9ydCBoYXNobGliCiBmcm9tIGJhc2U2NCBpbXBvcnQgc3RhbmRhcmRfYjY0ZW5jb2RlCiBmcm9tIHVybGxpYi5yZXF1ZXN0IGltcG9ydCB1cmxvcGVuLCBSZXF1ZXN0LCBIVFRQRXJyb3IKIGZyb20gdXJsbGliLnBhcnNlIGltcG9ydCB1cmxwYXJzZQpAQCAtMTQsMTIgKzE3LDYgQEAKIGZyb20gZGlzdHV0aWxzLnNwYXduIGltcG9ydCBzcGF3bgogZnJvbSBkaXN0dXRpbHMgaW1wb3J0IGxvZwogCi0jIHRoaXMga2VlcHMgY29tcGF0aWJpbGl0eSBmb3IgMi4zIGFuZCAyLjQKLWlmIHN5cy52ZXJzaW9uIDwgIjIuNSI6Ci0gICAgZnJvbSBtZDUgaW1wb3J0IG1kNQotZWxzZToKLSAgICBmcm9tIGhhc2hsaWIgaW1wb3J0IG1kNQotCiBjbGFzcyB1cGxvYWQoUHlQSVJDQ29tbWFuZCk6CiAKICAgICBkZXNjcmlwdGlvbiA9ICJ1cGxvYWQgYmluYXJ5IHBhY2thZ2UgdG8gUHlQSSIKQEAgLTYwLDcgKzU3LDggQEAKIAogICAgIGRlZiBydW4oc2VsZik6CiAgICAgICAgIGlmIG5vdCBzZWxmLmRpc3RyaWJ1dGlvbi5kaXN0X2ZpbGVzOgotICAgICAgICAgICAgcmFpc2UgRGlzdHV0aWxzT3B0aW9uRXJyb3IoIk5vIGRpc3QgZmlsZSBjcmVhdGVkIGluIGVhcmxpZXIgY29tbWFuZCIpCisgICAgICAgICAgICBtc2cgPSAiTm8gZGlzdCBmaWxlIGNyZWF0ZWQgaW4gZWFybGllciBjb21tYW5kIgorICAgICAgICAgICAgcmFpc2UgRGlzdHV0aWxzT3B0aW9uRXJyb3IobXNnKQogICAgICAgICBmb3IgY29tbWFuZCwgcHl2ZXJzaW9uLCBmaWxlbmFtZSBpbiBzZWxmLmRpc3RyaWJ1dGlvbi5kaXN0X2ZpbGVzOgogICAgICAgICAgICAgc2VsZi51cGxvYWRfZmlsZShjb21tYW5kLCBweXZlcnNpb24sIGZpbGVuYW1lKQogCkBAIC0xMDMsMTAgKzEwMSwxMCBAQAogICAgICAgICAgICAgJ2NvbnRlbnQnOiAob3MucGF0aC5iYXNlbmFtZShmaWxlbmFtZSksY29udGVudCksCiAgICAgICAgICAgICAnZmlsZXR5cGUnOiBjb21tYW5kLAogICAgICAgICAgICAgJ3B5dmVyc2lvbic6IHB5dmVyc2lvbiwKLSAgICAgICAgICAgICdtZDVfZGlnZXN0JzogbWQ1KGNvbnRlbnQpLmhleGRpZ2VzdCgpLAorICAgICAgICAgICAgJ21kNV9kaWdlc3QnOiBoYXNobGliLm1kNShjb250ZW50KS5oZXhkaWdlc3QoKSwKIAogICAgICAgICAgICAgIyBhZGRpdGlvbmFsIG1ldGEtZGF0YQotICAgICAgICAgICAgJ21ldGFkYXRhX3ZlcnNpb24nIDogJzEuMCcsCisgICAgICAgICAgICAnbWV0YWRhdGFfdmVyc2lvbic6ICcxLjAnLAogICAgICAgICAgICAgJ3N1bW1hcnknOiBtZXRhLmdldF9kZXNjcmlwdGlvbigpLAogICAgICAgICAgICAgJ2hvbWVfcGFnZSc6IG1ldGEuZ2V0X3VybCgpLAogICAgICAgICAgICAgJ2F1dGhvcic6IG1ldGEuZ2V0X2NvbnRhY3QoKSwKQEAgLTE0OSw3ICsxNDcsNyBAQAogICAgICAgICBmb3Iga2V5LCB2YWx1ZSBpbiBkYXRhLml0ZW1zKCk6CiAgICAgICAgICAgICB0aXRsZSA9ICdcclxuQ29udGVudC1EaXNwb3NpdGlvbjogZm9ybS1kYXRhOyBuYW1lPSIlcyInICUga2V5CiAgICAgICAgICAgICAjIGhhbmRsZSBtdWx0aXBsZSBlbnRyaWVzIGZvciB0aGUgc2FtZSBuYW1lCi0gICAgICAgICAgICBpZiB0eXBlKHZhbHVlKSAhPSB0eXBlKFtdKToKKyAgICAgICAgICAgIGlmIG5vdCBpc2luc3RhbmNlKHZhbHVlLCBsaXN0KToKICAgICAgICAgICAgICAgICB2YWx1ZSA9IFt2YWx1ZV0KICAgICAgICAgICAgIGZvciB2YWx1ZSBpbiB2YWx1ZToKICAgICAgICAgICAgICAgICBpZiB0eXBlKHZhbHVlKSBpcyB0dXBsZToKQEAgLTE2NiwxMyArMTY0LDE1IEBACiAgICAgICAgIGJvZHkud3JpdGUoZW5kX2JvdW5kYXJ5KQogICAgICAgICBib2R5ID0gYm9keS5nZXR2YWx1ZSgpCiAKLSAgICAgICAgc2VsZi5hbm5vdW5jZSgiU3VibWl0dGluZyAlcyB0byAlcyIgJSAoZmlsZW5hbWUsIHNlbGYucmVwb3NpdG9yeSksIGxvZy5JTkZPKQorICAgICAgICBtc2cgPSAiU3VibWl0dGluZyAlcyB0byAlcyIgJSAoZmlsZW5hbWUsIHNlbGYucmVwb3NpdG9yeSkKKyAgICAgICAgc2VsZi5hbm5vdW5jZShtc2csIGxvZy5JTkZPKQogCiAgICAgICAgICMgYnVpbGQgdGhlIFJlcXVlc3QKLSAgICAgICAgaGVhZGVycyA9IHsnQ29udGVudC10eXBlJzoKLSAgICAgICAgICAgICAgICAgICAgICAgICdtdWx0aXBhcnQvZm9ybS1kYXRhOyBib3VuZGFyeT0lcycgJSBib3VuZGFyeSwKLSAgICAgICAgICAgICAgICAgICAnQ29udGVudC1sZW5ndGgnOiBzdHIobGVuKGJvZHkpKSwKLSAgICAgICAgICAgICAgICAgICAnQXV0aG9yaXphdGlvbic6IGF1dGh9CisgICAgICAgIGhlYWRlcnMgPSB7CisgICAgICAgICAgICAnQ29udGVudC10eXBlJzogJ211bHRpcGFydC9mb3JtLWRhdGE7IGJvdW5kYXJ5PSVzJyAlIGJvdW5kYXJ5LAorICAgICAgICAgICAgJ0NvbnRlbnQtbGVuZ3RoJzogc3RyKGxlbihib2R5KSksCisgICAgICAgICAgICAnQXV0aG9yaXphdGlvbic6IGF1dGgsCisgICAgICAgIH0KIAogICAgICAgICByZXF1ZXN0ID0gUmVxdWVzdChzZWxmLnJlcG9zaXRvcnksIGRhdGE9Ym9keSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVhZGVycz1oZWFkZXJzKQpkaWZmIC0tZ2l0IGEvTGliL2Rpc3R1dGlscy9jb21tYW5kL3dpbmluc3QtMTQuMC1hbWQ2NC5leGUgYi9MaWIvZGlzdHV0aWxzL2NvbW1hbmQvd2luaW5zdC0xNC4wLWFtZDY0LmV4ZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40M2I4NWI2Ci0tLSAvZGV2L251bGwKKysrIGIvTGliL2Rpc3R1dGlscy9jb21tYW5kL3dpbmluc3QtMTQuMC1hbWQ2NC5leGUKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvTGliL2Rpc3R1dGlscy9jb21tYW5kL3dpbmluc3QtMTQuMC5leGUgYi9MaWIvZGlzdHV0aWxzL2NvbW1hbmQvd2luaW5zdC0xNC4wLmV4ZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NjQ1MjRkCi0tLSAvZGV2L251bGwKKysrIGIvTGliL2Rpc3R1dGlscy9jb21tYW5kL3dpbmluc3QtMTQuMC5leGUKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvTGliL2Rpc3R1dGlscy9kaXN0LnB5IGIvTGliL2Rpc3R1dGlscy9kaXN0LnB5CmluZGV4IDdlYjA0YmMuLmZmYjMzZmY2IDEwMDY0NAotLS0gYS9MaWIvZGlzdHV0aWxzL2Rpc3QucHkKKysrIGIvTGliL2Rpc3R1dGlscy9kaXN0LnB5CkBAIC00LDcgKzQsOSBAQAogYmVpbmcgYnVpbHQvaW5zdGFsbGVkL2Rpc3RyaWJ1dGVkLgogIiIiCiAKLWltcG9ydCBzeXMsIG9zLCByZQoraW1wb3J0IHN5cworaW1wb3J0IG9zCitpbXBvcnQgcmUKIGZyb20gZW1haWwgaW1wb3J0IG1lc3NhZ2VfZnJvbV9maWxlCiAKIHRyeToKQEAgLTIyLDcgKzI0LDcgQEAKICMgdGhlIHNhbWUgYXMgYSBQeXRob24gTkFNRSAtLSBJIGRvbid0IGFsbG93IGxlYWRpbmcgdW5kZXJzY29yZXMuICBUaGUgZmFjdAogIyB0aGF0IHRoZXkncmUgdmVyeSBzaW1pbGFyIGlzIG5vIGNvaW5jaWRlbmNlOyB0aGUgZGVmYXVsdCBuYW1pbmcgc2NoZW1lIGlzCiAjIHRvIGxvb2sgZm9yIGEgUHl0aG9uIG1vZHVsZSBuYW1lZCBhZnRlciB0aGUgY29tbWFuZC4KLWNvbW1hbmRfcmUgPSByZS5jb21waWxlIChyJ15bYS16QS1aXShbYS16QS1aMC05X10qKSQnKQorY29tbWFuZF9yZSA9IHJlLmNvbXBpbGUocideW2EtekEtWl0oW2EtekEtWjAtOV9dKikkJykKIAogCiBjbGFzcyBEaXN0cmlidXRpb246CkBAIC0zOSw3ICs0MSw2IEBACiAgICAgU2VlIHRoZSBjb2RlIGZvciAnc2V0dXAoKScsIGluIGNvcmUucHksIGZvciBkZXRhaWxzLgogICAgICIiIgogCi0KICAgICAjICdnbG9iYWxfb3B0aW9ucycgZGVzY3JpYmVzIHRoZSBjb21tYW5kLWxpbmUgb3B0aW9ucyB0aGF0IG1heSBiZQogICAgICMgc3VwcGxpZWQgdG8gdGhlIHNldHVwIHNjcmlwdCBwcmlvciB0byBhbnkgYWN0dWFsIGNvbW1hbmRzLgogICAgICMgRWcuICIuL3NldHVwLnB5IC1uIiBvciAiLi9zZXR1cC5weSAtLXF1aWV0IiBib3RoIHRha2UgYWR2YW50YWdlIG9mCkBAIC00OCwxMiArNDksMTMgQEAKICAgICAjIGRvbid0IHdhbnQgdG8gcG9sbHV0ZSB0aGUgY29tbWFuZHMgd2l0aCB0b28gbWFueSBvcHRpb25zIHRoYXQgdGhleQogICAgICMgaGF2ZSBtaW5pbWFsIGNvbnRyb2wgb3Zlci4KICAgICAjIFRoZSBmb3VydGggZW50cnkgZm9yIHZlcmJvc2UgbWVhbnMgdGhhdCBpdCBjYW4gYmUgcmVwZWF0ZWQuCi0gICAgZ2xvYmFsX29wdGlvbnMgPSBbKCd2ZXJib3NlJywgJ3YnLCAicnVuIHZlcmJvc2VseSAoZGVmYXVsdCkiLCAxKSwKLSAgICAgICAgICAgICAgICAgICAgICAoJ3F1aWV0JywgJ3EnLCAicnVuIHF1aWV0bHkgKHR1cm5zIHZlcmJvc2l0eSBvZmYpIiksCi0gICAgICAgICAgICAgICAgICAgICAgKCdkcnktcnVuJywgJ24nLCAiZG9uJ3QgYWN0dWFsbHkgZG8gYW55dGhpbmciKSwKLSAgICAgICAgICAgICAgICAgICAgICAoJ2hlbHAnLCAnaCcsICJzaG93IGRldGFpbGVkIGhlbHAgbWVzc2FnZSIpLAotICAgICAgICAgICAgICAgICAgICAgICgnbm8tdXNlci1jZmcnLCBOb25lLAotICAgICAgICAgICAgICAgICAgICAgICAnaWdub3JlIHB5ZGlzdHV0aWxzLmNmZyBpbiB5b3VyIGhvbWUgZGlyZWN0b3J5JyksCisgICAgZ2xvYmFsX29wdGlvbnMgPSBbCisgICAgICAgICgndmVyYm9zZScsICd2JywgInJ1biB2ZXJib3NlbHkgKGRlZmF1bHQpIiwgMSksCisgICAgICAgICgncXVpZXQnLCAncScsICJydW4gcXVpZXRseSAodHVybnMgdmVyYm9zaXR5IG9mZikiKSwKKyAgICAgICAgKCdkcnktcnVuJywgJ24nLCAiZG9uJ3QgYWN0dWFsbHkgZG8gYW55dGhpbmciKSwKKyAgICAgICAgKCdoZWxwJywgJ2gnLCAic2hvdyBkZXRhaWxlZCBoZWxwIG1lc3NhZ2UiKSwKKyAgICAgICAgKCduby11c2VyLWNmZycsIE5vbmUsCisgICAgICAgICAgICAnaWdub3JlIHB5ZGlzdHV0aWxzLmNmZyBpbiB5b3VyIGhvbWUgZGlyZWN0b3J5JyksCiAgICAgXQogCiAgICAgIyAnY29tbW9uX3VzYWdlJyBpcyBhIHNob3J0ICgyLTMgbGluZSkgc3RyaW5nIGRlc2NyaWJpbmcgdGhlIGNvbW1vbgpAQCAtMTE1LDEwICsxMTcsOSBAQAogICAgICMgbmVnYXRpdmUgb3B0aW9ucyBhcmUgb3B0aW9ucyB0aGF0IGV4Y2x1ZGUgb3RoZXIgb3B0aW9ucwogICAgIG5lZ2F0aXZlX29wdCA9IHsncXVpZXQnOiAndmVyYm9zZSd9CiAKLQogICAgICMgLS0gQ3JlYXRpb24vaW5pdGlhbGl6YXRpb24gbWV0aG9kcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKLSAgICBkZWYgX19pbml0X18gKHNlbGYsIGF0dHJzPU5vbmUpOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBhdHRycz1Ob25lKToKICAgICAgICAgIiIiQ29uc3RydWN0IGEgbmV3IERpc3RyaWJ1dGlvbiBpbnN0YW5jZTogaW5pdGlhbGl6ZSBhbGwgdGhlCiAgICAgICAgIGF0dHJpYnV0ZXMgb2YgYSBEaXN0cmlidXRpb24sIGFuZCB0aGVuIHVzZSAnYXR0cnMnIChhIGRpY3Rpb25hcnkKICAgICAgICAgbWFwcGluZyBhdHRyaWJ1dGUgbmFtZXMgdG8gdmFsdWVzKSB0byBhc3NpZ24gc29tZSBvZiB0aG9zZQpAQCAtNTMyLDE1ICs1MzMsMTUgQEAKICAgICAgICAgIyB0byBiZSBzdXJlIHRoYXQgdGhlIGJhc2ljICJjb21tYW5kIiBpbnRlcmZhY2UgaXMgaW1wbGVtZW50ZWQuCiAgICAgICAgIGlmIG5vdCBpc3N1YmNsYXNzKGNtZF9jbGFzcywgQ29tbWFuZCk6CiAgICAgICAgICAgICByYWlzZSBEaXN0dXRpbHNDbGFzc0Vycm9yKAotICAgICAgICAgICAgICAgICAgImNvbW1hbmQgY2xhc3MgJXMgbXVzdCBzdWJjbGFzcyBDb21tYW5kIiAlIGNtZF9jbGFzcykKKyAgICAgICAgICAgICAgICAiY29tbWFuZCBjbGFzcyAlcyBtdXN0IHN1YmNsYXNzIENvbW1hbmQiICUgY21kX2NsYXNzKQogCiAgICAgICAgICMgQWxzbyBtYWtlIHN1cmUgdGhhdCB0aGUgY29tbWFuZCBvYmplY3QgcHJvdmlkZXMgYSBsaXN0IG9mIGl0cwogICAgICAgICAjIGtub3duIG9wdGlvbnMuCiAgICAgICAgIGlmIG5vdCAoaGFzYXR0cihjbWRfY2xhc3MsICd1c2VyX29wdGlvbnMnKSBhbmQKICAgICAgICAgICAgICAgICBpc2luc3RhbmNlKGNtZF9jbGFzcy51c2VyX29wdGlvbnMsIGxpc3QpKToKLSAgICAgICAgICAgIHJhaXNlIERpc3R1dGlsc0NsYXNzRXJyb3IoKCJjb21tYW5kIGNsYXNzICVzIG11c3QgcHJvdmlkZSAiICsKLSAgICAgICAgICAgICAgICAgICAiJ3VzZXJfb3B0aW9ucycgYXR0cmlidXRlIChhIGxpc3Qgb2YgdHVwbGVzKSIpICUgXAotICAgICAgICAgICAgICAgICAgY21kX2NsYXNzKQorICAgICAgICAgICAgbXNnID0gKCJjb21tYW5kIGNsYXNzICVzIG11c3QgcHJvdmlkZSAiCisgICAgICAgICAgICAgICAgIid1c2VyX29wdGlvbnMnIGF0dHJpYnV0ZSAoYSBsaXN0IG9mIHR1cGxlcykiKQorICAgICAgICAgICAgcmFpc2UgRGlzdHV0aWxzQ2xhc3NFcnJvcihtc2cgJSBjbWRfY2xhc3MpCiAKICAgICAgICAgIyBJZiB0aGUgY29tbWFuZCBjbGFzcyBoYXMgYSBsaXN0IG9mIG5lZ2F0aXZlIGFsaWFzIG9wdGlvbnMsCiAgICAgICAgICMgbWVyZ2UgaXQgaW4gd2l0aCB0aGUgZ2xvYmFsIG5lZ2F0aXZlIGFsaWFzZXMuCkBAIC01NTIsMTIgKzU1MywxMSBAQAogICAgICAgICAjIENoZWNrIGZvciBoZWxwX29wdGlvbnMgaW4gY29tbWFuZCBjbGFzcy4gIFRoZXkgaGF2ZSBhIGRpZmZlcmVudAogICAgICAgICAjIGZvcm1hdCAodHVwbGUgb2YgZm91cikgc28gd2UgbmVlZCB0byBwcmVwcm9jZXNzIHRoZW0gaGVyZS4KICAgICAgICAgaWYgKGhhc2F0dHIoY21kX2NsYXNzLCAnaGVscF9vcHRpb25zJykgYW5kCi0gICAgICAgICAgICBpc2luc3RhbmNlKGNtZF9jbGFzcy5oZWxwX29wdGlvbnMsIGxpc3QpKToKKyAgICAgICAgICAgICAgICBpc2luc3RhbmNlKGNtZF9jbGFzcy5oZWxwX29wdGlvbnMsIGxpc3QpKToKICAgICAgICAgICAgIGhlbHBfb3B0aW9ucyA9IGZpeF9oZWxwX29wdGlvbnMoY21kX2NsYXNzLmhlbHBfb3B0aW9ucykKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIGhlbHBfb3B0aW9ucyA9IFtdCiAKLQogICAgICAgICAjIEFsbCBjb21tYW5kcyBzdXBwb3J0IHRoZSBnbG9iYWwgb3B0aW9ucyB0b28sIGp1c3QgYnkgYWRkaW5nCiAgICAgICAgICMgaW4gJ2dsb2JhbF9vcHRpb25zJy4KICAgICAgICAgcGFyc2VyLnNldF9vcHRpb25fdGFibGUoc2VsZi5nbG9iYWxfb3B0aW9ucyArCkBAIC01NzAsNyArNTcwLDcgQEAKICAgICAgICAgICAgIHJldHVybgogCiAgICAgICAgIGlmIChoYXNhdHRyKGNtZF9jbGFzcywgJ2hlbHBfb3B0aW9ucycpIGFuZAotICAgICAgICAgICAgaXNpbnN0YW5jZShjbWRfY2xhc3MuaGVscF9vcHRpb25zLCBsaXN0KSk6CisgICAgICAgICAgICAgICAgaXNpbnN0YW5jZShjbWRfY2xhc3MuaGVscF9vcHRpb25zLCBsaXN0KSk6CiAgICAgICAgICAgICBoZWxwX29wdGlvbl9mb3VuZD0wCiAgICAgICAgICAgICBmb3IgKGhlbHBfb3B0aW9uLCBzaG9ydCwgZGVzYywgZnVuYykgaW4gY21kX2NsYXNzLmhlbHBfb3B0aW9uczoKICAgICAgICAgICAgICAgICBpZiBoYXNhdHRyKG9wdHMsIHBhcnNlci5nZXRfYXR0cl9uYW1lKGhlbHBfb3B0aW9uKSk6CkBAIC02NDcsNyArNjQ3LDcgQEAKICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAga2xhc3MgPSBzZWxmLmdldF9jb21tYW5kX2NsYXNzKGNvbW1hbmQpCiAgICAgICAgICAgICBpZiAoaGFzYXR0cihrbGFzcywgJ2hlbHBfb3B0aW9ucycpIGFuZAotICAgICAgICAgICAgICAgIGlzaW5zdGFuY2Uoa2xhc3MuaGVscF9vcHRpb25zLCBsaXN0KSk6CisgICAgICAgICAgICAgICAgICAgIGlzaW5zdGFuY2Uoa2xhc3MuaGVscF9vcHRpb25zLCBsaXN0KSk6CiAgICAgICAgICAgICAgICAgcGFyc2VyLnNldF9vcHRpb25fdGFibGUoa2xhc3MudXNlcl9vcHRpb25zICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaXhfaGVscF9vcHRpb25zKGtsYXNzLmhlbHBfb3B0aW9ucykpCiAgICAgICAgICAgICBlbHNlOgpAQCAtODE0LDcgKzgxNCw3IEBACiAgICAgICAgICAgICBrbGFzc19uYW1lID0gY29tbWFuZAogCiAgICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgX19pbXBvcnRfXyAobW9kdWxlX25hbWUpCisgICAgICAgICAgICAgICAgX19pbXBvcnRfXyhtb2R1bGVfbmFtZSkKICAgICAgICAgICAgICAgICBtb2R1bGUgPSBzeXMubW9kdWxlc1ttb2R1bGVfbmFtZV0KICAgICAgICAgICAgIGV4Y2VwdCBJbXBvcnRFcnJvcjoKICAgICAgICAgICAgICAgICBjb250aW51ZQpAQCAtODIzLDggKzgyMyw4IEBACiAgICAgICAgICAgICAgICAga2xhc3MgPSBnZXRhdHRyKG1vZHVsZSwga2xhc3NfbmFtZSkKICAgICAgICAgICAgIGV4Y2VwdCBBdHRyaWJ1dGVFcnJvcjoKICAgICAgICAgICAgICAgICByYWlzZSBEaXN0dXRpbHNNb2R1bGVFcnJvcigKLSAgICAgICAgICAgICAgICAgICAgICAiaW52YWxpZCBjb21tYW5kICclcycgKG5vIGNsYXNzICclcycgaW4gbW9kdWxlICclcycpIgotICAgICAgICAgICAgICAgICAgICAgICUgKGNvbW1hbmQsIGtsYXNzX25hbWUsIG1vZHVsZV9uYW1lKSkKKyAgICAgICAgICAgICAgICAgICAgImludmFsaWQgY29tbWFuZCAnJXMnIChubyBjbGFzcyAnJXMnIGluIG1vZHVsZSAnJXMnKSIKKyAgICAgICAgICAgICAgICAgICAgJSAoY29tbWFuZCwga2xhc3NfbmFtZSwgbW9kdWxlX25hbWUpKQogCiAgICAgICAgICAgICBzZWxmLmNtZGNsYXNzW2NvbW1hbmRdID0ga2xhc3MKICAgICAgICAgICAgIHJldHVybiBrbGFzcwpAQCAtODQwLDcgKzg0MCw3IEBACiAgICAgICAgIGNtZF9vYmogPSBzZWxmLmNvbW1hbmRfb2JqLmdldChjb21tYW5kKQogICAgICAgICBpZiBub3QgY21kX29iaiBhbmQgY3JlYXRlOgogICAgICAgICAgICAgaWYgREVCVUc6Ci0gICAgICAgICAgICAgICAgc2VsZi5hbm5vdW5jZSgiRGlzdHJpYnV0aW9uLmdldF9jb21tYW5kX29iaigpOiAiIFwKKyAgICAgICAgICAgICAgICBzZWxmLmFubm91bmNlKCJEaXN0cmlidXRpb24uZ2V0X2NvbW1hbmRfb2JqKCk6ICIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjcmVhdGluZyAnJXMnIGNvbW1hbmQgb2JqZWN0IiAlIGNvbW1hbmQpCiAKICAgICAgICAgICAgIGtsYXNzID0gc2VsZi5nZXRfY29tbWFuZF9jbGFzcyhjb21tYW5kKQpAQCAtODk3LDggKzg5Nyw4IEBACiAgICAgICAgICAgICAgICAgICAgIHNldGF0dHIoY29tbWFuZF9vYmosIG9wdGlvbiwgdmFsdWUpCiAgICAgICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICAgICAgcmFpc2UgRGlzdHV0aWxzT3B0aW9uRXJyb3IoCi0gICAgICAgICAgICAgICAgICAgICAgICAgICJlcnJvciBpbiAlczogY29tbWFuZCAnJXMnIGhhcyBubyBzdWNoIG9wdGlvbiAnJXMnIgotICAgICAgICAgICAgICAgICAgICAgICAgICAlIChzb3VyY2UsIGNvbW1hbmRfbmFtZSwgb3B0aW9uKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICJlcnJvciBpbiAlczogY29tbWFuZCAnJXMnIGhhcyBubyBzdWNoIG9wdGlvbiAnJXMnIgorICAgICAgICAgICAgICAgICAgICAgICAgJSAoc291cmNlLCBjb21tYW5kX25hbWUsIG9wdGlvbikpCiAgICAgICAgICAgICBleGNlcHQgVmFsdWVFcnJvciBhcyBtc2c6CiAgICAgICAgICAgICAgICAgcmFpc2UgRGlzdHV0aWxzT3B0aW9uRXJyb3IobXNnKQogCkBAIC05NzQsNyArOTc0LDYgQEAKICAgICAgICAgY21kX29iai5ydW4oKQogICAgICAgICBzZWxmLmhhdmVfcnVuW2NvbW1hbmRdID0gMQogCi0KICAgICAjIC0tIERpc3RyaWJ1dGlvbiBxdWVyeSBtZXRob2RzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCiAgICAgZGVmIGhhc19wdXJlX21vZHVsZXMoc2VsZik6CkBAIC0xMTEyLDE3ICsxMTExLDE3IEBACiAgICAgICAgICIiIgogICAgICAgICB2ZXJzaW9uID0gJzEuMCcKICAgICAgICAgaWYgKHNlbGYucHJvdmlkZXMgb3Igc2VsZi5yZXF1aXJlcyBvciBzZWxmLm9ic29sZXRlcyBvcgotICAgICAgICAgICAgc2VsZi5jbGFzc2lmaWVycyBvciBzZWxmLmRvd25sb2FkX3VybCk6CisgICAgICAgICAgICAgICAgc2VsZi5jbGFzc2lmaWVycyBvciBzZWxmLmRvd25sb2FkX3VybCk6CiAgICAgICAgICAgICB2ZXJzaW9uID0gJzEuMScKIAogICAgICAgICBmaWxlLndyaXRlKCdNZXRhZGF0YS1WZXJzaW9uOiAlc1xuJyAlIHZlcnNpb24pCi0gICAgICAgIGZpbGUud3JpdGUoJ05hbWU6ICVzXG4nICUgc2VsZi5nZXRfbmFtZSgpICkKLSAgICAgICAgZmlsZS53cml0ZSgnVmVyc2lvbjogJXNcbicgJSBzZWxmLmdldF92ZXJzaW9uKCkgKQotICAgICAgICBmaWxlLndyaXRlKCdTdW1tYXJ5OiAlc1xuJyAlIHNlbGYuZ2V0X2Rlc2NyaXB0aW9uKCkgKQotICAgICAgICBmaWxlLndyaXRlKCdIb21lLXBhZ2U6ICVzXG4nICUgc2VsZi5nZXRfdXJsKCkgKQotICAgICAgICBmaWxlLndyaXRlKCdBdXRob3I6ICVzXG4nICUgc2VsZi5nZXRfY29udGFjdCgpICkKLSAgICAgICAgZmlsZS53cml0ZSgnQXV0aG9yLWVtYWlsOiAlc1xuJyAlIHNlbGYuZ2V0X2NvbnRhY3RfZW1haWwoKSApCi0gICAgICAgIGZpbGUud3JpdGUoJ0xpY2Vuc2U6ICVzXG4nICUgc2VsZi5nZXRfbGljZW5zZSgpICkKKyAgICAgICAgZmlsZS53cml0ZSgnTmFtZTogJXNcbicgJSBzZWxmLmdldF9uYW1lKCkpCisgICAgICAgIGZpbGUud3JpdGUoJ1ZlcnNpb246ICVzXG4nICUgc2VsZi5nZXRfdmVyc2lvbigpKQorICAgICAgICBmaWxlLndyaXRlKCdTdW1tYXJ5OiAlc1xuJyAlIHNlbGYuZ2V0X2Rlc2NyaXB0aW9uKCkpCisgICAgICAgIGZpbGUud3JpdGUoJ0hvbWUtcGFnZTogJXNcbicgJSBzZWxmLmdldF91cmwoKSkKKyAgICAgICAgZmlsZS53cml0ZSgnQXV0aG9yOiAlc1xuJyAlIHNlbGYuZ2V0X2NvbnRhY3QoKSkKKyAgICAgICAgZmlsZS53cml0ZSgnQXV0aG9yLWVtYWlsOiAlc1xuJyAlIHNlbGYuZ2V0X2NvbnRhY3RfZW1haWwoKSkKKyAgICAgICAgZmlsZS53cml0ZSgnTGljZW5zZTogJXNcbicgJSBzZWxmLmdldF9saWNlbnNlKCkpCiAgICAgICAgIGlmIHNlbGYuZG93bmxvYWRfdXJsOgogICAgICAgICAgICAgZmlsZS53cml0ZSgnRG93bmxvYWQtVVJMOiAlc1xuJyAlIHNlbGYuZG93bmxvYWRfdXJsKQogCkBAIC0xMTMxLDcgKzExMzAsNyBAQAogCiAgICAgICAgIGtleXdvcmRzID0gJywnLmpvaW4oc2VsZi5nZXRfa2V5d29yZHMoKSkKICAgICAgICAgaWYga2V5d29yZHM6Ci0gICAgICAgICAgICBmaWxlLndyaXRlKCdLZXl3b3JkczogJXNcbicgJSBrZXl3b3JkcyApCisgICAgICAgICAgICBmaWxlLndyaXRlKCdLZXl3b3JkczogJXNcbicgJSBrZXl3b3JkcykKIAogICAgICAgICBzZWxmLl93cml0ZV9saXN0KGZpbGUsICdQbGF0Zm9ybScsIHNlbGYuZ2V0X3BsYXRmb3JtcygpKQogICAgICAgICBzZWxmLl93cml0ZV9saXN0KGZpbGUsICdDbGFzc2lmaWVyJywgc2VsZi5nZXRfY2xhc3NpZmllcnMoKSkKZGlmZiAtLWdpdCBhL0xpYi9kaXN0dXRpbHMvZXh0ZW5zaW9uLnB5IGIvTGliL2Rpc3R1dGlscy9leHRlbnNpb24ucHkKaW5kZXggYTkzNjU1YS4uN2VmYmI3NCAxMDA2NDQKLS0tIGEvTGliL2Rpc3R1dGlscy9leHRlbnNpb24ucHkKKysrIGIvTGliL2Rpc3R1dGlscy9leHRlbnNpb24ucHkKQEAgLTEzMSw2ICsxMzEsMTQgQEAKICAgICAgICAgICAgIG1zZyA9ICJVbmtub3duIEV4dGVuc2lvbiBvcHRpb25zOiAlcyIgJSBvcHRpb25zCiAgICAgICAgICAgICB3YXJuaW5ncy53YXJuKG1zZykKIAorICAgIGRlZiBfX3JlcHJfXyhzZWxmKToKKyAgICAgICAgcmV0dXJuICc8JXMuJXMoJXIpIGF0ICUjeD4nICUgKAorICAgICAgICAgICAgc2VsZi5fX2NsYXNzX18uX19tb2R1bGVfXywKKyAgICAgICAgICAgIHNlbGYuX19jbGFzc19fLl9fcXVhbG5hbWVfXywKKyAgICAgICAgICAgIHNlbGYubmFtZSwKKyAgICAgICAgICAgIGlkKHNlbGYpKQorCisKIGRlZiByZWFkX3NldHVwX2ZpbGUoZmlsZW5hbWUpOgogICAgICIiIlJlYWRzIGEgU2V0dXAgZmlsZSBhbmQgcmV0dXJucyBFeHRlbnNpb24gaW5zdGFuY2VzLiIiIgogICAgIGZyb20gZGlzdHV0aWxzLnN5c2NvbmZpZyBpbXBvcnQgKHBhcnNlX21ha2VmaWxlLCBleHBhbmRfbWFrZWZpbGVfdmFycywKZGlmZiAtLWdpdCBhL0xpYi9kaXN0dXRpbHMvbXN2Yzljb21waWxlci5weSBiL0xpYi9kaXN0dXRpbHMvbXN2Yzljb21waWxlci5weQppbmRleCA5Njg4ZjIwLi5kMTM3NGVmIDEwMDY0NAotLS0gYS9MaWIvZGlzdHV0aWxzL21zdmM5Y29tcGlsZXIucHkKKysrIGIvTGliL2Rpc3R1dGlscy9tc3ZjOWNvbXBpbGVyLnB5CkBAIC0xNzksNiArMTc5LDkgQEAKICAgICBpID0gaSArIGxlbihwcmVmaXgpCiAgICAgcywgcmVzdCA9IHN5cy52ZXJzaW9uW2k6XS5zcGxpdCgiICIsIDEpCiAgICAgbWFqb3JWZXJzaW9uID0gaW50KHNbOi0yXSkgLSA2CisgICAgaWYgbWFqb3JWZXJzaW9uID49IDEzOgorICAgICAgICAjIHYxMyB3YXMgc2tpcHBlZCBhbmQgc2hvdWxkIGJlIHYxNAorICAgICAgICBtYWpvclZlcnNpb24gKz0gMQogICAgIG1pbm9yVmVyc2lvbiA9IGludChzWzI6M10pIC8gMTAuMAogICAgICMgSSBkb24ndCB0aGluayBwYXRocyBhcmUgYWZmZWN0ZWQgYnkgbWlub3IgdmVyc2lvbiBpbiB2ZXJzaW9uIDYKICAgICBpZiBtYWpvclZlcnNpb24gPT0gNjoKZGlmZiAtLWdpdCBhL0xpYi9kaXN0dXRpbHMvbXN2Y2NvbXBpbGVyLnB5IGIvTGliL2Rpc3R1dGlscy9tc3ZjY29tcGlsZXIucHkKaW5kZXggODExNjY1Ni4uMTA0OGNkNCAxMDA2NDQKLS0tIGEvTGliL2Rpc3R1dGlscy9tc3ZjY29tcGlsZXIucHkKKysrIGIvTGliL2Rpc3R1dGlscy9tc3ZjY29tcGlsZXIucHkKQEAgLTE1Nyw2ICsxNTcsOSBAQAogICAgIGkgPSBpICsgbGVuKHByZWZpeCkKICAgICBzLCByZXN0ID0gc3lzLnZlcnNpb25baTpdLnNwbGl0KCIgIiwgMSkKICAgICBtYWpvclZlcnNpb24gPSBpbnQoc1s6LTJdKSAtIDYKKyAgICBpZiBtYWpvclZlcnNpb24gPj0gMTM6CisgICAgICAgICMgdjEzIHdhcyBza2lwcGVkIGFuZCBzaG91bGQgYmUgdjE0CisgICAgICAgIG1ham9yVmVyc2lvbiArPSAxCiAgICAgbWlub3JWZXJzaW9uID0gaW50KHNbMjozXSkgLyAxMC4wCiAgICAgIyBJIGRvbid0IHRoaW5rIHBhdGhzIGFyZSBhZmZlY3RlZCBieSBtaW5vciB2ZXJzaW9uIGluIHZlcnNpb24gNgogICAgIGlmIG1ham9yVmVyc2lvbiA9PSA2OgpkaWZmIC0tZ2l0IGEvTGliL2Rpc3R1dGlscy9zcGF3bi5weSBiL0xpYi9kaXN0dXRpbHMvc3Bhd24ucHkKaW5kZXggMjJlODdlOC4uNWRkNDE1YSAxMDA2NDQKLS0tIGEvTGliL2Rpc3R1dGlscy9zcGF3bi5weQorKysgYi9MaWIvZGlzdHV0aWxzL3NwYXduLnB5CkBAIC0xMzcsOSArMTM3LDYgQEAKICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICBwaWQsIHN0YXR1cyA9IG9zLndhaXRwaWQocGlkLCAwKQogICAgICAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZXhjOgotICAgICAgICAgICAgICAgIGltcG9ydCBlcnJubwotICAgICAgICAgICAgICAgIGlmIGV4Yy5lcnJubyA9PSBlcnJuby5FSU5UUjoKLSAgICAgICAgICAgICAgICAgICAgY29udGludWUKICAgICAgICAgICAgICAgICBpZiBub3QgREVCVUc6CiAgICAgICAgICAgICAgICAgICAgIGNtZCA9IGV4ZWN1dGFibGUKICAgICAgICAgICAgICAgICByYWlzZSBEaXN0dXRpbHNFeGVjRXJyb3IoCmRpZmYgLS1naXQgYS9MaWIvZGlzdHV0aWxzL3N5c2NvbmZpZy5weSBiL0xpYi9kaXN0dXRpbHMvc3lzY29uZmlnLnB5CmluZGV4IGExNDUyZmUuLjU3MzcyNGQgMTAwNjQ0Ci0tLSBhL0xpYi9kaXN0dXRpbHMvc3lzY29uZmlnLnB5CisrKyBiL0xpYi9kaXN0dXRpbHMvc3lzY29uZmlnLnB5CkBAIC05LDYgKzksNyBAQAogRW1haWw6ICAgICAgICA8ZmRyYWtlQGFjbS5vcmc+CiAiIiIKIAoraW1wb3J0IF9pbXAKIGltcG9ydCBvcwogaW1wb3J0IHJlCiBpbXBvcnQgc3lzCkBAIC0yMiwyMyArMjMsMTUgQEAKIEJBU0VfRVhFQ19QUkVGSVggPSBvcy5wYXRoLm5vcm1wYXRoKHN5cy5iYXNlX2V4ZWNfcHJlZml4KQogCiAjIFBhdGggdG8gdGhlIGJhc2UgZGlyZWN0b3J5IG9mIHRoZSBwcm9qZWN0LiBPbiBXaW5kb3dzIHRoZSBiaW5hcnkgbWF5Ci0jIGxpdmUgaW4gcHJvamVjdC9QQ0J1aWxkOS4gIElmIHdlJ3JlIGRlYWxpbmcgd2l0aCBhbiB4NjQgV2luZG93cyBidWlsZCwKLSMgaXQnbGwgbGl2ZSBpbiBwcm9qZWN0L1BDYnVpbGQvYW1kNjQuCisjIGxpdmUgaW4gcHJvamVjdC9QQ0J1aWxkL3dpbjMyIG9yIHByb2plY3QvUENCdWlsZC9hbWQ2NC4KICMgc2V0IGZvciBjcm9zcyBidWlsZHMKIGlmICJfUFlUSE9OX1BST0pFQ1RfQkFTRSIgaW4gb3MuZW52aXJvbjoKICAgICBwcm9qZWN0X2Jhc2UgPSBvcy5wYXRoLmFic3BhdGgob3MuZW52aXJvblsiX1BZVEhPTl9QUk9KRUNUX0JBU0UiXSkKIGVsc2U6CiAgICAgcHJvamVjdF9iYXNlID0gb3MucGF0aC5kaXJuYW1lKG9zLnBhdGguYWJzcGF0aChzeXMuZXhlY3V0YWJsZSkpCi1pZiBvcy5uYW1lID09ICJudCIgYW5kICJwY2J1aWxkIiBpbiBwcm9qZWN0X2Jhc2VbLTg6XS5sb3dlcigpOgotICAgIHByb2plY3RfYmFzZSA9IG9zLnBhdGguYWJzcGF0aChvcy5wYXRoLmpvaW4ocHJvamVjdF9iYXNlLCBvcy5wYXRoLnBhcmRpcikpCi0jIFBDL1ZTNy4xCi1pZiBvcy5uYW1lID09ICJudCIgYW5kICJcXHBjXFx2IiBpbiBwcm9qZWN0X2Jhc2VbLTEwOl0ubG93ZXIoKToKLSAgICBwcm9qZWN0X2Jhc2UgPSBvcy5wYXRoLmFic3BhdGgob3MucGF0aC5qb2luKHByb2plY3RfYmFzZSwgb3MucGF0aC5wYXJkaXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcy5wYXRoLnBhcmRpcikpCi0jIFBDL0FNRDY0Ci1pZiBvcy5uYW1lID09ICJudCIgYW5kICJcXHBjYnVpbGRcXGFtZDY0IiBpbiBwcm9qZWN0X2Jhc2VbLTE0Ol0ubG93ZXIoKToKLSAgICBwcm9qZWN0X2Jhc2UgPSBvcy5wYXRoLmFic3BhdGgob3MucGF0aC5qb2luKHByb2plY3RfYmFzZSwgb3MucGF0aC5wYXJkaXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcy5wYXRoLnBhcmRpcikpCitpZiAob3MubmFtZSA9PSAnbnQnIGFuZAorICAgIHByb2plY3RfYmFzZS5sb3dlcigpLmVuZHN3aXRoKCgnXFxwY2J1aWxkXFx3aW4zMicsICdcXHBjYnVpbGRcXGFtZDY0JykpKToKKyAgICBwcm9qZWN0X2Jhc2UgPSBvcy5wYXRoLmRpcm5hbWUob3MucGF0aC5kaXJuYW1lKHByb2plY3RfYmFzZSkpCiAKICMgcHl0aG9uX2J1aWxkOiAoQm9vbGVhbikgaWYgdHJ1ZSwgd2UncmUgZWl0aGVyIGJ1aWxkaW5nIFB5dGhvbiBvcgogIyBidWlsZGluZyBhbiBleHRlbnNpb24gd2l0aCBhbiB1bi1pbnN0YWxsZWQgUHl0aG9uLCBzbyB3ZSB1c2UKQEAgLTUxLDExICs0NCw5IEBACiAgICAgICAgICAgICByZXR1cm4gVHJ1ZQogICAgIHJldHVybiBGYWxzZQogX3N5c19ob21lID0gZ2V0YXR0cihzeXMsICdfaG9tZScsIE5vbmUpCi1pZiBfc3lzX2hvbWUgYW5kIG9zLm5hbWUgPT0gJ250JyBhbmQgXAotICAgIF9zeXNfaG9tZS5sb3dlcigpLmVuZHN3aXRoKCgncGNidWlsZCcsICdwY2J1aWxkXFxhbWQ2NCcpKToKLSAgICBfc3lzX2hvbWUgPSBvcy5wYXRoLmRpcm5hbWUoX3N5c19ob21lKQotICAgIGlmIF9zeXNfaG9tZS5lbmRzd2l0aCgncGNidWlsZCcpOiAgICMgbXVzdCBiZSBhbWQ2NAotICAgICAgICBfc3lzX2hvbWUgPSBvcy5wYXRoLmRpcm5hbWUoX3N5c19ob21lKQoraWYgKF9zeXNfaG9tZSBhbmQgb3MubmFtZSA9PSAnbnQnIGFuZAorICAgIF9zeXNfaG9tZS5sb3dlcigpLmVuZHN3aXRoKCgnXFxwY2J1aWxkXFx3aW4zMicsICdcXHBjYnVpbGRcXGFtZDY0JykpKToKKyAgICBfc3lzX2hvbWUgPSBvcy5wYXRoLmRpcm5hbWUob3MucGF0aC5kaXJuYW1lKF9zeXNfaG9tZSkpCiBkZWYgX3B5dGhvbl9idWlsZCgpOgogICAgIGlmIF9zeXNfaG9tZToKICAgICAgICAgcmV0dXJuIF9pc19weXRob25fc291cmNlX2Rpcihfc3lzX2hvbWUpCkBAIC00NjgsNyArNDU5LDcgQEAKICAgICAjIFhYWCBobW1tLi4gYSBub3JtYWwgaW5zdGFsbCBwdXRzIGluY2x1ZGUgZmlsZXMgaGVyZQogICAgIGdbJ0lOQ0xVREVQWSddID0gZ2V0X3B5dGhvbl9pbmMocGxhdF9zcGVjaWZpYz0wKQogCi0gICAgZ1snRVhUX1NVRkZJWCddID0gJy5weWQnCisgICAgZ1snRVhUX1NVRkZJWCddID0gX2ltcC5leHRlbnNpb25fc3VmZml4ZXMoKVswXQogICAgIGdbJ0VYRSddID0gIi5leGUiCiAgICAgZ1snVkVSU0lPTiddID0gZ2V0X3B5dGhvbl92ZXJzaW9uKCkucmVwbGFjZSgiLiIsICIiKQogICAgIGdbJ0JJTkRJUiddID0gb3MucGF0aC5kaXJuYW1lKG9zLnBhdGguYWJzcGF0aChzeXMuZXhlY3V0YWJsZSkpCmRpZmYgLS1naXQgYS9MaWIvZGlzdHV0aWxzL3Rlc3RzL3Rlc3RfYnVpbGRfZXh0LnB5IGIvTGliL2Rpc3R1dGlscy90ZXN0cy90ZXN0X2J1aWxkX2V4dC5weQppbmRleCBiOWY0MDdmLi4zNjZmZmJlIDEwMDY0NAotLS0gYS9MaWIvZGlzdHV0aWxzL3Rlc3RzL3Rlc3RfYnVpbGRfZXh0LnB5CisrKyBiL0xpYi9kaXN0dXRpbHMvdGVzdHMvdGVzdF9idWlsZF9leHQucHkKQEAgLTM3LDYgKzM3LDkgQEAKICAgICAgICAgZnJvbSBkaXN0dXRpbHMuY29tbWFuZCBpbXBvcnQgYnVpbGRfZXh0CiAgICAgICAgIGJ1aWxkX2V4dC5VU0VSX0JBU0UgPSBzaXRlLlVTRVJfQkFTRQogCisgICAgZGVmIGJ1aWxkX2V4dChzZWxmLCAqYXJncywgKiprd2FyZ3MpOgorICAgICAgICByZXR1cm4gYnVpbGRfZXh0KCphcmdzLCAqKmt3YXJncykKKwogICAgIGRlZiB0ZXN0X2J1aWxkX2V4dChzZWxmKToKICAgICAgICAgZ2xvYmFsIEFMUkVBRFlfVEVTVEVECiAgICAgICAgIGNvcHlfeHhtb2R1bGVfYyhzZWxmLnRtcF9kaXIpCkBAIC00NCw3ICs0Nyw3IEBACiAgICAgICAgIHh4X2V4dCA9IEV4dGVuc2lvbigneHgnLCBbeHhfY10pCiAgICAgICAgIGRpc3QgPSBEaXN0cmlidXRpb24oeyduYW1lJzogJ3h4JywgJ2V4dF9tb2R1bGVzJzogW3h4X2V4dF19KQogICAgICAgICBkaXN0LnBhY2thZ2VfZGlyID0gc2VsZi50bXBfZGlyCi0gICAgICAgIGNtZCA9IGJ1aWxkX2V4dChkaXN0KQorICAgICAgICBjbWQgPSBzZWxmLmJ1aWxkX2V4dChkaXN0KQogICAgICAgICBmaXh1cF9idWlsZF9leHQoY21kKQogICAgICAgICBjbWQuYnVpbGRfbGliID0gc2VsZi50bXBfZGlyCiAgICAgICAgIGNtZC5idWlsZF90ZW1wID0gc2VsZi50bXBfZGlyCkBAIC05MSw3ICs5NCw3IEBACiAKICAgICBkZWYgdGVzdF9zb2xhcmlzX2VuYWJsZV9zaGFyZWQoc2VsZik6CiAgICAgICAgIGRpc3QgPSBEaXN0cmlidXRpb24oeyduYW1lJzogJ3h4J30pCi0gICAgICAgIGNtZCA9IGJ1aWxkX2V4dChkaXN0KQorICAgICAgICBjbWQgPSBzZWxmLmJ1aWxkX2V4dChkaXN0KQogICAgICAgICBvbGQgPSBzeXMucGxhdGZvcm0KIAogICAgICAgICBzeXMucGxhdGZvcm0gPSAnc3Vub3MnICMgZm9vbGluZyBmaW5hbGl6ZV9vcHRpb25zCkBAIC0xMTMsNyArMTE2LDcgQEAKICAgICBkZWYgdGVzdF91c2VyX3NpdGUoc2VsZik6CiAgICAgICAgIGltcG9ydCBzaXRlCiAgICAgICAgIGRpc3QgPSBEaXN0cmlidXRpb24oeyduYW1lJzogJ3h4J30pCi0gICAgICAgIGNtZCA9IGJ1aWxkX2V4dChkaXN0KQorICAgICAgICBjbWQgPSBzZWxmLmJ1aWxkX2V4dChkaXN0KQogCiAgICAgICAgICMgbWFraW5nIHN1cmUgdGhlIHVzZXIgb3B0aW9uIGlzIHRoZXJlCiAgICAgICAgIG9wdGlvbnMgPSBbbmFtZSBmb3IgbmFtZSwgc2hvcnQsIGxhYmxlIGluCkBAIC0xNDQsMTQgKzE0NywxNCBAQAogICAgICAgICAjIHdpdGggdGhlIG9wdGlvbmFsIGFyZ3VtZW50LgogICAgICAgICBtb2R1bGVzID0gW0V4dGVuc2lvbignZm9vJywgWyd4eHgnXSwgb3B0aW9uYWw9RmFsc2UpXQogICAgICAgICBkaXN0ID0gRGlzdHJpYnV0aW9uKHsnbmFtZSc6ICd4eCcsICdleHRfbW9kdWxlcyc6IG1vZHVsZXN9KQotICAgICAgICBjbWQgPSBidWlsZF9leHQoZGlzdCkKKyAgICAgICAgY21kID0gc2VsZi5idWlsZF9leHQoZGlzdCkKICAgICAgICAgY21kLmVuc3VyZV9maW5hbGl6ZWQoKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcygoVW5rbm93bkZpbGVFcnJvciwgQ29tcGlsZUVycm9yKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgY21kLnJ1bikgICMgc2hvdWxkIHJhaXNlIGFuIGVycm9yCiAKICAgICAgICAgbW9kdWxlcyA9IFtFeHRlbnNpb24oJ2ZvbycsIFsneHh4J10sIG9wdGlvbmFsPVRydWUpXQogICAgICAgICBkaXN0ID0gRGlzdHJpYnV0aW9uKHsnbmFtZSc6ICd4eCcsICdleHRfbW9kdWxlcyc6IG1vZHVsZXN9KQotICAgICAgICBjbWQgPSBidWlsZF9leHQoZGlzdCkKKyAgICAgICAgY21kID0gc2VsZi5idWlsZF9leHQoZGlzdCkKICAgICAgICAgY21kLmVuc3VyZV9maW5hbGl6ZWQoKQogICAgICAgICBjbWQucnVuKCkgICMgc2hvdWxkIHBhc3MKIApAQCAtMTYwLDcgKzE2Myw3IEBACiAgICAgICAgICMgZXRjLikgYXJlIGluIHRoZSBpbmNsdWRlIHNlYXJjaCBwYXRoLgogICAgICAgICBtb2R1bGVzID0gW0V4dGVuc2lvbignZm9vJywgWyd4eHgnXSwgb3B0aW9uYWw9RmFsc2UpXQogICAgICAgICBkaXN0ID0gRGlzdHJpYnV0aW9uKHsnbmFtZSc6ICd4eCcsICdleHRfbW9kdWxlcyc6IG1vZHVsZXN9KQotICAgICAgICBjbWQgPSBidWlsZF9leHQoZGlzdCkKKyAgICAgICAgY21kID0gc2VsZi5idWlsZF9leHQoZGlzdCkKICAgICAgICAgY21kLmZpbmFsaXplX29wdGlvbnMoKQogCiAgICAgICAgIGZyb20gZGlzdHV0aWxzIGltcG9ydCBzeXNjb25maWcKQEAgLTE3MiwxNCArMTc1LDE0IEBACiAKICAgICAgICAgIyBtYWtlIHN1cmUgY21kLmxpYnJhcmllcyBpcyB0dXJuZWQgaW50byBhIGxpc3QKICAgICAgICAgIyBpZiBpdCdzIGEgc3RyaW5nCi0gICAgICAgIGNtZCA9IGJ1aWxkX2V4dChkaXN0KQorICAgICAgICBjbWQgPSBzZWxmLmJ1aWxkX2V4dChkaXN0KQogICAgICAgICBjbWQubGlicmFyaWVzID0gJ215X2xpYiwgb3RoZXJfbGliIGxhc3RsaWInCiAgICAgICAgIGNtZC5maW5hbGl6ZV9vcHRpb25zKCkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjbWQubGlicmFyaWVzLCBbJ215X2xpYicsICdvdGhlcl9saWInLCAnbGFzdGxpYiddKQogCiAgICAgICAgICMgbWFrZSBzdXJlIGNtZC5saWJyYXJ5X2RpcnMgaXMgdHVybmVkIGludG8gYSBsaXN0CiAgICAgICAgICMgaWYgaXQncyBhIHN0cmluZwotICAgICAgICBjbWQgPSBidWlsZF9leHQoZGlzdCkKKyAgICAgICAgY21kID0gc2VsZi5idWlsZF9leHQoZGlzdCkKICAgICAgICAgY21kLmxpYnJhcnlfZGlycyA9ICdteV9saWJfZGlyJXNvdGhlcl9saWJfZGlyJyAlIG9zLnBhdGhzZXAKICAgICAgICAgY21kLmZpbmFsaXplX29wdGlvbnMoKQogICAgICAgICBzZWxmLmFzc2VydEluKCdteV9saWJfZGlyJywgY21kLmxpYnJhcnlfZGlycykKQEAgLTE4Nyw3ICsxOTAsNyBAQAogCiAgICAgICAgICMgbWFrZSBzdXJlIHJwYXRoIGlzIHR1cm5lZCBpbnRvIGEgbGlzdAogICAgICAgICAjIGlmIGl0J3MgYSBzdHJpbmcKLSAgICAgICAgY21kID0gYnVpbGRfZXh0KGRpc3QpCisgICAgICAgIGNtZCA9IHNlbGYuYnVpbGRfZXh0KGRpc3QpCiAgICAgICAgIGNtZC5ycGF0aCA9ICdvbmUlc3R3bycgJSBvcy5wYXRoc2VwCiAgICAgICAgIGNtZC5maW5hbGl6ZV9vcHRpb25zKCkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjbWQucnBhdGgsIFsnb25lJywgJ3R3byddKQpAQCAtMTk2LDMyICsxOTksMzIgQEAKIAogICAgICAgICAjIG1ha2Ugc3VyZSBkZWZpbmUgaXMgdHVybmVkIGludG8gMi10dXBsZXMKICAgICAgICAgIyBzdHJpbmdzIGlmIHRoZXkgYXJlICcsJy1zZXBhcmF0ZWQgc3RyaW5ncwotICAgICAgICBjbWQgPSBidWlsZF9leHQoZGlzdCkKKyAgICAgICAgY21kID0gc2VsZi5idWlsZF9leHQoZGlzdCkKICAgICAgICAgY21kLmRlZmluZSA9ICdvbmUsdHdvJwogICAgICAgICBjbWQuZmluYWxpemVfb3B0aW9ucygpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY21kLmRlZmluZSwgWygnb25lJywgJzEnKSwgKCd0d28nLCAnMScpXSkKIAogICAgICAgICAjIG1ha2Ugc3VyZSB1bmRlZiBpcyB0dXJuZWQgaW50byBhIGxpc3Qgb2YKICAgICAgICAgIyBzdHJpbmdzIGlmIHRoZXkgYXJlICcsJy1zZXBhcmF0ZWQgc3RyaW5ncwotICAgICAgICBjbWQgPSBidWlsZF9leHQoZGlzdCkKKyAgICAgICAgY21kID0gc2VsZi5idWlsZF9leHQoZGlzdCkKICAgICAgICAgY21kLnVuZGVmID0gJ29uZSx0d28nCiAgICAgICAgIGNtZC5maW5hbGl6ZV9vcHRpb25zKCkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjbWQudW5kZWYsIFsnb25lJywgJ3R3byddKQogCiAgICAgICAgICMgbWFrZSBzdXJlIHN3aWdfb3B0cyBpcyB0dXJuZWQgaW50byBhIGxpc3QKLSAgICAgICAgY21kID0gYnVpbGRfZXh0KGRpc3QpCisgICAgICAgIGNtZCA9IHNlbGYuYnVpbGRfZXh0KGRpc3QpCiAgICAgICAgIGNtZC5zd2lnX29wdHMgPSBOb25lCiAgICAgICAgIGNtZC5maW5hbGl6ZV9vcHRpb25zKCkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjbWQuc3dpZ19vcHRzLCBbXSkKIAotICAgICAgICBjbWQgPSBidWlsZF9leHQoZGlzdCkKKyAgICAgICAgY21kID0gc2VsZi5idWlsZF9leHQoZGlzdCkKICAgICAgICAgY21kLnN3aWdfb3B0cyA9ICcxIDInCiAgICAgICAgIGNtZC5maW5hbGl6ZV9vcHRpb25zKCkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjbWQuc3dpZ19vcHRzLCBbJzEnLCAnMiddKQogCiAgICAgZGVmIHRlc3RfY2hlY2tfZXh0ZW5zaW9uc19saXN0KHNlbGYpOgogICAgICAgICBkaXN0ID0gRGlzdHJpYnV0aW9uKCkKLSAgICAgICAgY21kID0gYnVpbGRfZXh0KGRpc3QpCisgICAgICAgIGNtZCA9IHNlbGYuYnVpbGRfZXh0KGRpc3QpCiAgICAgICAgIGNtZC5maW5hbGl6ZV9vcHRpb25zKCkKIAogICAgICAgICAjJ2V4dGVuc2lvbnMnIG9wdGlvbiBtdXN0IGJlIGEgbGlzdCBvZiBFeHRlbnNpb24gaW5zdGFuY2VzCkBAIC0yNzAsNyArMjczLDcgQEAKICAgICBkZWYgdGVzdF9nZXRfc291cmNlX2ZpbGVzKHNlbGYpOgogICAgICAgICBtb2R1bGVzID0gW0V4dGVuc2lvbignZm9vJywgWyd4eHgnXSwgb3B0aW9uYWw9RmFsc2UpXQogICAgICAgICBkaXN0ID0gRGlzdHJpYnV0aW9uKHsnbmFtZSc6ICd4eCcsICdleHRfbW9kdWxlcyc6IG1vZHVsZXN9KQotICAgICAgICBjbWQgPSBidWlsZF9leHQoZGlzdCkKKyAgICAgICAgY21kID0gc2VsZi5idWlsZF9leHQoZGlzdCkKICAgICAgICAgY21kLmVuc3VyZV9maW5hbGl6ZWQoKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNtZC5nZXRfc291cmNlX2ZpbGVzKCksIFsneHh4J10pCiAKQEAgLTI3OSw3ICsyODIsNyBAQAogICAgICAgICAjIHNob3VsZCBub3QgYmUgb3ZlcnJpZGVuIGJ5IGEgY29tcGlsZXIgaW5zdGFuY2UKICAgICAgICAgIyB3aGVuIHRoZSBjb21tYW5kIGlzIHJ1bgogICAgICAgICBkaXN0ID0gRGlzdHJpYnV0aW9uKCkKLSAgICAgICAgY21kID0gYnVpbGRfZXh0KGRpc3QpCisgICAgICAgIGNtZCA9IHNlbGYuYnVpbGRfZXh0KGRpc3QpCiAgICAgICAgIGNtZC5jb21waWxlciA9ICd1bml4JwogICAgICAgICBjbWQuZW5zdXJlX2ZpbmFsaXplZCgpCiAgICAgICAgIGNtZC5ydW4oKQpAQCAtMjkyLDcgKzI5NSw3IEBACiAgICAgICAgIGV4dCA9IEV4dGVuc2lvbignZm9vJywgW2NfZmlsZV0sIG9wdGlvbmFsPUZhbHNlKQogICAgICAgICBkaXN0ID0gRGlzdHJpYnV0aW9uKHsnbmFtZSc6ICd4eCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdleHRfbW9kdWxlcyc6IFtleHRdfSkKLSAgICAgICAgY21kID0gYnVpbGRfZXh0KGRpc3QpCisgICAgICAgIGNtZCA9IHNlbGYuYnVpbGRfZXh0KGRpc3QpCiAgICAgICAgIGZpeHVwX2J1aWxkX2V4dChjbWQpCiAgICAgICAgIGNtZC5lbnN1cmVfZmluYWxpemVkKCkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oY21kLmdldF9vdXRwdXRzKCkpLCAxKQpAQCAtMzU1LDcgKzM1OCw3IEBACiAgICAgICAgICNldHJlZV9leHQgPSBFeHRlbnNpb24oJ2x4bWwuZXRyZWUnLCBbZXRyZWVfY10pCiAgICAgICAgICNkaXN0ID0gRGlzdHJpYnV0aW9uKHsnbmFtZSc6ICdseG1sJywgJ2V4dF9tb2R1bGVzJzogW2V0cmVlX2V4dF19KQogICAgICAgICBkaXN0ID0gRGlzdHJpYnV0aW9uKCkKLSAgICAgICAgY21kID0gYnVpbGRfZXh0KGRpc3QpCisgICAgICAgIGNtZCA9IHNlbGYuYnVpbGRfZXh0KGRpc3QpCiAgICAgICAgIGNtZC5pbnBsYWNlID0gMQogICAgICAgICBjbWQuZGlzdHJpYnV0aW9uLnBhY2thZ2VfZGlyID0geycnOiAnc3JjJ30KICAgICAgICAgY21kLmRpc3RyaWJ1dGlvbi5wYWNrYWdlcyA9IFsnbHhtbCcsICdseG1sLmh0bWwnXQpAQCAtNDYyLDcgKzQ2NSw3IEBACiAgICAgICAgICAgICAnZXh0X21vZHVsZXMnOiBbZGVwdGFyZ2V0X2V4dF0KICAgICAgICAgfSkKICAgICAgICAgZGlzdC5wYWNrYWdlX2RpciA9IHNlbGYudG1wX2RpcgotICAgICAgICBjbWQgPSBidWlsZF9leHQoZGlzdCkKKyAgICAgICAgY21kID0gc2VsZi5idWlsZF9leHQoZGlzdCkKICAgICAgICAgY21kLmJ1aWxkX2xpYiA9IHNlbGYudG1wX2RpcgogICAgICAgICBjbWQuYnVpbGRfdGVtcCA9IHNlbGYudG1wX2RpcgogCkBAIC00ODEsOCArNDg0LDE5IEBACiAgICAgICAgICAgICBzZWxmLmZhaWwoIldyb25nIGRlcGxveW1lbnQgdGFyZ2V0IGR1cmluZyBjb21waWxhdGlvbiIpCiAKIAorY2xhc3MgUGFyYWxsZWxCdWlsZEV4dFRlc3RDYXNlKEJ1aWxkRXh0VGVzdENhc2UpOgorCisgICAgZGVmIGJ1aWxkX2V4dChzZWxmLCAqYXJncywgKiprd2FyZ3MpOgorICAgICAgICBidWlsZF9leHQgPSBzdXBlcigpLmJ1aWxkX2V4dCgqYXJncywgKiprd2FyZ3MpCisgICAgICAgIGJ1aWxkX2V4dC5wYXJhbGxlbCA9IFRydWUKKyAgICAgICAgcmV0dXJuIGJ1aWxkX2V4dAorCisKIGRlZiB0ZXN0X3N1aXRlKCk6Ci0gICAgcmV0dXJuIHVuaXR0ZXN0Lm1ha2VTdWl0ZShCdWlsZEV4dFRlc3RDYXNlKQorICAgIHN1aXRlID0gdW5pdHRlc3QuVGVzdFN1aXRlKCkKKyAgICBzdWl0ZS5hZGRUZXN0KHVuaXR0ZXN0Lm1ha2VTdWl0ZShCdWlsZEV4dFRlc3RDYXNlKSkKKyAgICBzdWl0ZS5hZGRUZXN0KHVuaXR0ZXN0Lm1ha2VTdWl0ZShQYXJhbGxlbEJ1aWxkRXh0VGVzdENhc2UpKQorICAgIHJldHVybiBzdWl0ZQogCiBpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgotICAgIHN1cHBvcnQucnVuX3VuaXR0ZXN0KHRlc3Rfc3VpdGUoKSkKKyAgICBzdXBwb3J0LnJ1bl91bml0dGVzdChfX25hbWVfXykKZGlmZiAtLWdpdCBhL0xpYi9kaXN0dXRpbHMvdGVzdHMvdGVzdF9pbnN0YWxsLnB5IGIvTGliL2Rpc3R1dGlscy90ZXN0cy90ZXN0X2luc3RhbGwucHkKaW5kZXggMThlMWU1Ny4uOTMxMzMzMCAxMDA2NDQKLS0tIGEvTGliL2Rpc3R1dGlscy90ZXN0cy90ZXN0X2luc3RhbGwucHkKKysrIGIvTGliL2Rpc3R1dGlscy90ZXN0cy90ZXN0X2luc3RhbGwucHkKQEAgLTIwLDggKzIwLDYgQEAKIAogCiBkZWYgX21ha2VfZXh0X25hbWUobW9kbmFtZSk6Ci0gICAgaWYgb3MubmFtZSA9PSAnbnQnIGFuZCBzeXMuZXhlY3V0YWJsZS5lbmRzd2l0aCgnX2QuZXhlJyk6Ci0gICAgICAgIG1vZG5hbWUgKz0gJ19kJwogICAgIHJldHVybiBtb2RuYW1lICsgc3lzY29uZmlnLmdldF9jb25maWdfdmFyKCdFWFRfU1VGRklYJykKIAogCmRpZmYgLS1naXQgYS9MaWIvZGlzdHV0aWxzL3ZlcnNpb24ucHkgYi9MaWIvZGlzdHV0aWxzL3ZlcnNpb24ucHkKaW5kZXggZWJjYWI4NC4uYWYxNGNjMSAxMDA2NDQKLS0tIGEvTGliL2Rpc3R1dGlscy92ZXJzaW9uLnB5CisrKyBiL0xpYi9kaXN0dXRpbHMvdmVyc2lvbi5weQpAQCAtNDgsMTIgKzQ4LDYgQEAKICAgICAgICAgICAgIHJldHVybiBjCiAgICAgICAgIHJldHVybiBjID09IDAKIAotICAgIGRlZiBfX25lX18oc2VsZiwgb3RoZXIpOgotICAgICAgICBjID0gc2VsZi5fY21wKG90aGVyKQotICAgICAgICBpZiBjIGlzIE5vdEltcGxlbWVudGVkOgotICAgICAgICAgICAgcmV0dXJuIGMKLSAgICAgICAgcmV0dXJuIGMgIT0gMAotCiAgICAgZGVmIF9fbHRfXyhzZWxmLCBvdGhlcik6CiAgICAgICAgIGMgPSBzZWxmLl9jbXAob3RoZXIpCiAgICAgICAgIGlmIGMgaXMgTm90SW1wbGVtZW50ZWQ6CmRpZmYgLS1naXQgYS9MaWIvZG9jdGVzdC5weSBiL0xpYi9kb2N0ZXN0LnB5CmluZGV4IDY0ZTZkNzEuLjdkNWJjZjQgMTAwNjQ0Ci0tLSBhL0xpYi9kb2N0ZXN0LnB5CisrKyBiL0xpYi9kb2N0ZXN0LnB5CkBAIC01MzAsOCArNTMwLDkgQEAKICAgICAgICAgICAgIGV4YW1wbGVzID0gJzEgZXhhbXBsZScKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIGV4YW1wbGVzID0gJyVkIGV4YW1wbGVzJyAlIGxlbihzZWxmLmV4YW1wbGVzKQotICAgICAgICByZXR1cm4gKCc8RG9jVGVzdCAlcyBmcm9tICVzOiVzICglcyk+JyAlCi0gICAgICAgICAgICAgICAgKHNlbGYubmFtZSwgc2VsZi5maWxlbmFtZSwgc2VsZi5saW5lbm8sIGV4YW1wbGVzKSkKKyAgICAgICAgcmV0dXJuICgnPCVzICVzIGZyb20gJXM6JXMgKCVzKT4nICUKKyAgICAgICAgICAgICAgICAoc2VsZi5fX2NsYXNzX18uX19uYW1lX18sCisgICAgICAgICAgICAgICAgIHNlbGYubmFtZSwgc2VsZi5maWxlbmFtZSwgc2VsZi5saW5lbm8sIGV4YW1wbGVzKSkKIAogICAgIGRlZiBfX2VxX18oc2VsZiwgb3RoZXIpOgogICAgICAgICBpZiB0eXBlKHNlbGYpIGlzIG5vdCB0eXBlKG90aGVyKToKQEAgLTk3OCw3ICs5NzksOCBAQAogICAgICAgICAgICAgZm9yIHZhbG5hbWUsIHZhbCBpbiBvYmouX19kaWN0X18uaXRlbXMoKToKICAgICAgICAgICAgICAgICB2YWxuYW1lID0gJyVzLiVzJyAlIChuYW1lLCB2YWxuYW1lKQogICAgICAgICAgICAgICAgICMgUmVjdXJzZSB0byBmdW5jdGlvbnMgJiBjbGFzc2VzLgotICAgICAgICAgICAgICAgIGlmICgoaW5zcGVjdC5pc3JvdXRpbmUodmFsKSBvciBpbnNwZWN0LmlzY2xhc3ModmFsKSkgYW5kCisgICAgICAgICAgICAgICAgaWYgKChpbnNwZWN0Lmlzcm91dGluZShpbnNwZWN0LnVud3JhcCh2YWwpKQorICAgICAgICAgICAgICAgICAgICAgb3IgaW5zcGVjdC5pc2NsYXNzKHZhbCkpIGFuZAogICAgICAgICAgICAgICAgICAgICBzZWxmLl9mcm9tX21vZHVsZShtb2R1bGUsIHZhbCkpOgogICAgICAgICAgICAgICAgICAgICBzZWxmLl9maW5kKHRlc3RzLCB2YWwsIHZhbG5hbWUsIG1vZHVsZSwgc291cmNlX2xpbmVzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdsb2JzLCBzZWVuKQpAQCAtMjM2NywxNSArMjM2OSw2IEBACiAgICAgICAgIHN1aXRlID0gX0RvY1Rlc3RTdWl0ZSgpCiAgICAgICAgIHN1aXRlLmFkZFRlc3QoU2tpcERvY1Rlc3RDYXNlKG1vZHVsZSkpCiAgICAgICAgIHJldHVybiBzdWl0ZQotICAgIGVsaWYgbm90IHRlc3RzOgotICAgICAgICAjIFdoeSBkbyB3ZSB3YW50IHRvIGRvIHRoaXM/IEJlY2F1c2UgaXQgcmV2ZWFscyBhIGJ1ZyB0aGF0IG1pZ2h0Ci0gICAgICAgICMgb3RoZXJ3aXNlIGJlIGhpZGRlbi4KLSAgICAgICAgIyBJdCBpcyBwcm9iYWJseSBhIGJ1ZyB0aGF0IHRoaXMgZXhjZXB0aW9uIGlzIG5vdCBhbHNvIHJhaXNlZCBpZiB0aGUKLSAgICAgICAgIyBudW1iZXIgb2YgZG9jdGVzdCBleGFtcGxlcyBpbiB0ZXN0cyBpcyB6ZXJvIChpLmUuIGlmIG5vIGRvY3Rlc3QKLSAgICAgICAgIyBleGFtcGxlcyB3ZXJlIGZvdW5kKS4gIEhvd2V2ZXIsIHdlIHNob3VsZCBwcm9iYWJseSBub3QgYmUgcmFpc2luZwotICAgICAgICAjIGFuIGV4Y2VwdGlvbiBhdCBhbGwgaGVyZSwgdGhvdWdoIGl0IGlzIHRvbyBsYXRlIHRvIG1ha2UgdGhpcyBjaGFuZ2UKLSAgICAgICAgIyBmb3IgYSBtYWludGVuYW5jZSByZWxlYXNlLiAgU2VlIGFsc28gaXNzdWUgIzE0NjQ5LgotICAgICAgICByYWlzZSBWYWx1ZUVycm9yKG1vZHVsZSwgImhhcyBubyBkb2NzdHJpbmdzIikKIAogICAgIHRlc3RzLnNvcnQoKQogICAgIHN1aXRlID0gX0RvY1Rlc3RTdWl0ZSgpCmRpZmYgLS1naXQgYS9MaWIvZW1haWwvX19pbml0X18ucHkgYi9MaWIvZW1haWwvX19pbml0X18ucHkKaW5kZXggZmYxNmY2YS4uZmFlODcyNCAxMDA2NDQKLS0tIGEvTGliL2VtYWlsL19faW5pdF9fLnB5CisrKyBiL0xpYi9lbWFpbC9fX2luaXRfXy5weQpAQCAtNCw4ICs0LDYgQEAKIAogIiIiQSBwYWNrYWdlIGZvciBwYXJzaW5nLCBoYW5kbGluZywgYW5kIGdlbmVyYXRpbmcgZW1haWwgbWVzc2FnZXMuIiIiCiAKLV9fdmVyc2lvbl9fID0gJzUuMS4wJwotCiBfX2FsbF9fID0gWwogICAgICdiYXNlNjRtaW1lJywKICAgICAnY2hhcnNldCcsCmRpZmYgLS1naXQgYS9MaWIvZW1haWwvY2hhcnNldC5weSBiL0xpYi9lbWFpbC9jaGFyc2V0LnB5CmluZGV4IGU5OTk0NzIuLmVlNTY0MDQgMTAwNjQ0Ci0tLSBhL0xpYi9lbWFpbC9jaGFyc2V0LnB5CisrKyBiL0xpYi9lbWFpbC9jaGFyc2V0LnB5CkBAIC0yNDksOSArMjQ5LDYgQEAKICAgICBkZWYgX19lcV9fKHNlbGYsIG90aGVyKToKICAgICAgICAgcmV0dXJuIHN0cihzZWxmKSA9PSBzdHIob3RoZXIpLmxvd2VyKCkKIAotICAgIGRlZiBfX25lX18oc2VsZiwgb3RoZXIpOgotICAgICAgICByZXR1cm4gbm90IHNlbGYuX19lcV9fKG90aGVyKQotCiAgICAgZGVmIGdldF9ib2R5X2VuY29kaW5nKHNlbGYpOgogICAgICAgICAiIiJSZXR1cm4gdGhlIGNvbnRlbnQtdHJhbnNmZXItZW5jb2RpbmcgdXNlZCBmb3IgYm9keSBlbmNvZGluZy4KIApkaWZmIC0tZ2l0IGEvTGliL2VtYWlsL2hlYWRlci5weSBiL0xpYi9lbWFpbC9oZWFkZXIucHkKaW5kZXggOWM4OTU4OS4uNjgyMGVhMSAxMDA2NDQKLS0tIGEvTGliL2VtYWlsL2hlYWRlci5weQorKysgYi9MaWIvZW1haWwvaGVhZGVyLnB5CkBAIC0yNjIsOSArMjYyLDYgQEAKICAgICAgICAgIyBhcmdzIGFuZCBkbyBhbm90aGVyIGNvbXBhcmlzb24uCiAgICAgICAgIHJldHVybiBvdGhlciA9PSBzdHIoc2VsZikKIAotICAgIGRlZiBfX25lX18oc2VsZiwgb3RoZXIpOgotICAgICAgICByZXR1cm4gbm90IHNlbGYgPT0gb3RoZXIKLQogICAgIGRlZiBhcHBlbmQoc2VsZiwgcywgY2hhcnNldD1Ob25lLCBlcnJvcnM9J3N0cmljdCcpOgogICAgICAgICAiIiJBcHBlbmQgYSBzdHJpbmcgdG8gdGhlIE1JTUUgaGVhZGVyLgogCmRpZmYgLS1naXQgYS9MaWIvZW1haWwvaGVhZGVycmVnaXN0cnkucHkgYi9MaWIvZW1haWwvaGVhZGVycmVnaXN0cnkucHkKaW5kZXggOTExYTJhZi4uNDY4Y2E5ZSAxMDA2NDQKLS0tIGEvTGliL2VtYWlsL2hlYWRlcnJlZ2lzdHJ5LnB5CisrKyBiL0xpYi9lbWFpbC9oZWFkZXJyZWdpc3RyeS5weQpAQCAtODEsNyArODEsOCBAQAogICAgICAgICByZXR1cm4gbHAKIAogICAgIGRlZiBfX3JlcHJfXyhzZWxmKToKLSAgICAgICAgcmV0dXJuICJBZGRyZXNzKGRpc3BsYXlfbmFtZT17IXJ9LCB1c2VybmFtZT17IXJ9LCBkb21haW49eyFyfSkiLmZvcm1hdCgKKyAgICAgICAgcmV0dXJuICJ7fShkaXNwbGF5X25hbWU9eyFyfSwgdXNlcm5hbWU9eyFyfSwgZG9tYWluPXshcn0pIi5mb3JtYXQoCisgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9fY2xhc3NfXy5fX25hbWVfXywKICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuZGlzcGxheV9uYW1lLCBzZWxmLnVzZXJuYW1lLCBzZWxmLmRvbWFpbikKIAogICAgIGRlZiBfX3N0cl9fKHNlbGYpOgpAQCAtMTMyLDcgKzEzMyw4IEBACiAgICAgICAgIHJldHVybiBzZWxmLl9hZGRyZXNzZXMKIAogICAgIGRlZiBfX3JlcHJfXyhzZWxmKToKLSAgICAgICAgcmV0dXJuICJHcm91cChkaXNwbGF5X25hbWU9eyFyfSwgYWRkcmVzc2VzPXshcn0iLmZvcm1hdCgKKyAgICAgICAgcmV0dXJuICJ7fShkaXNwbGF5X25hbWU9eyFyfSwgYWRkcmVzc2VzPXshcn0iLmZvcm1hdCgKKyAgICAgICAgICAgICAgICAgc2VsZi5fX2NsYXNzX18uX19uYW1lX18sCiAgICAgICAgICAgICAgICAgIHNlbGYuZGlzcGxheV9uYW1lLCBzZWxmLmFkZHJlc3NlcykKIAogICAgIGRlZiBfX3N0cl9fKHNlbGYpOgpkaWZmIC0tZ2l0IGEvTGliL2VtYWlsL21lc3NhZ2UucHkgYi9MaWIvZW1haWwvbWVzc2FnZS5weQppbmRleCAyZjM3ZGJiLi4zZDMxMzhmIDEwMDY0NAotLS0gYS9MaWIvZW1haWwvbWVzc2FnZS5weQorKysgYi9MaWIvZW1haWwvbWVzc2FnZS5weQpAQCAtOTMwLDE3ICs5MzAsNiBAQAogICAgICMgSS5lLiBkZWYgd2FsayhzZWxmKTogLi4uCiAgICAgZnJvbSBlbWFpbC5pdGVyYXRvcnMgaW1wb3J0IHdhbGsKIAotIyBYWFggU3VwcG9ydCBmb3IgdGVtcG9yYXJ5IGRlcHJlY2F0aW9uIGhhY2sgZm9yIGlzX2F0dGFjaG1lbnQgcHJvcGVydHkuCi1jbGFzcyBfSXNBdHRhY2htZW50OgotICAgIGRlZiBfX2luaXRfXyhzZWxmLCB2YWx1ZSk6Ci0gICAgICAgIHNlbGYudmFsdWUgPSB2YWx1ZQotICAgIGRlZiBfX2NhbGxfXyhzZWxmKToKLSAgICAgICAgcmV0dXJuIHNlbGYudmFsdWUKLSAgICBkZWYgX19ib29sX18oc2VsZik6Ci0gICAgICAgIHdhcm5pbmdzLndhcm4oImlzX2F0dGFjaG1lbnQgd2lsbCBiZSBhIG1ldGhvZCwgbm90IGEgcHJvcGVydHksIGluIDMuNSIsCi0gICAgICAgICAgICAgICAgICAgICAgRGVwcmVjYXRpb25XYXJuaW5nLAotICAgICAgICAgICAgICAgICAgICAgIHN0YWNrbGV2ZWw9MykKLSAgICAgICAgcmV0dXJuIHNlbGYudmFsdWUKIAogY2xhc3MgTUlNRVBhcnQoTWVzc2FnZSk6CiAKQEAgLTk1MCwxMiArOTM5LDkgQEAKICAgICAgICAgICAgIHBvbGljeSA9IGRlZmF1bHQKICAgICAgICAgTWVzc2FnZS5fX2luaXRfXyhzZWxmLCBwb2xpY3kpCiAKLSAgICBAcHJvcGVydHkKICAgICBkZWYgaXNfYXR0YWNobWVudChzZWxmKToKICAgICAgICAgY19kID0gc2VsZi5nZXQoJ2NvbnRlbnQtZGlzcG9zaXRpb24nKQotICAgICAgICByZXN1bHQgPSBGYWxzZSBpZiBjX2QgaXMgTm9uZSBlbHNlIGNfZC5jb250ZW50X2Rpc3Bvc2l0aW9uID09ICdhdHRhY2htZW50JwotICAgICAgICAjIFhYWCB0cmFuc2l0aW9uYWwgaGFjayB0byByYWlzZSBkZXByZWNhdGlvbiBpZiBub3QgY2FsbGVkLgotICAgICAgICByZXR1cm4gX0lzQXR0YWNobWVudChyZXN1bHQpCisgICAgICAgIHJldHVybiBGYWxzZSBpZiBjX2QgaXMgTm9uZSBlbHNlIGNfZC5jb250ZW50X2Rpc3Bvc2l0aW9uID09ICdhdHRhY2htZW50JwogCiAgICAgZGVmIF9maW5kX2JvZHkoc2VsZiwgcGFydCwgcHJlZmVyZW5jZWxpc3QpOgogICAgICAgICBpZiBwYXJ0LmlzX2F0dGFjaG1lbnQoKToKZGlmZiAtLWdpdCBhL0xpYi9lbWFpbC9taW1lL3RleHQucHkgYi9MaWIvZW1haWwvbWltZS90ZXh0LnB5CmluZGV4IGVjMThiODUuLjQ3OTkyOGUgMTAwNjQ0Ci0tLSBhL0xpYi9lbWFpbC9taW1lL3RleHQucHkKKysrIGIvTGliL2VtYWlsL21pbWUvdGV4dC5weQpAQCAtNiw2ICs2LDcgQEAKIAogX19hbGxfXyA9IFsnTUlNRVRleHQnXQogCitmcm9tIGVtYWlsLmNoYXJzZXQgaW1wb3J0IENoYXJzZXQKIGZyb20gZW1haWwubWltZS5ub25tdWx0aXBhcnQgaW1wb3J0IE1JTUVOb25NdWx0aXBhcnQKIAogCkBAIC0zNCw2ICszNSw4IEBACiAgICAgICAgICAgICAgICAgX2NoYXJzZXQgPSAndXMtYXNjaWknCiAgICAgICAgICAgICBleGNlcHQgVW5pY29kZUVuY29kZUVycm9yOgogICAgICAgICAgICAgICAgIF9jaGFyc2V0ID0gJ3V0Zi04JworICAgICAgICBpZiBpc2luc3RhbmNlKF9jaGFyc2V0LCBDaGFyc2V0KToKKyAgICAgICAgICAgIF9jaGFyc2V0ID0gc3RyKF9jaGFyc2V0KQogCiAgICAgICAgIE1JTUVOb25NdWx0aXBhcnQuX19pbml0X18oc2VsZiwgJ3RleHQnLCBfc3VidHlwZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqKnsnY2hhcnNldCc6IF9jaGFyc2V0fSkKZGlmZiAtLWdpdCBhL0xpYi9lbmNvZGluZ3MvY3A2NTAwMS5weSBiL0xpYi9lbmNvZGluZ3MvY3A2NTAwMS5weQppbmRleCAyODdlYjg3Li45NWNiMmFlIDEwMDY0NAotLS0gYS9MaWIvZW5jb2RpbmdzL2NwNjUwMDEucHkKKysrIGIvTGliL2VuY29kaW5ncy9jcDY1MDAxLnB5CkBAIC0xMSwyMCArMTEsMjMgQEAKICMjIyBDb2RlYyBBUElzCiAKIGVuY29kZSA9IGZ1bmN0b29scy5wYXJ0aWFsKGNvZGVjcy5jb2RlX3BhZ2VfZW5jb2RlLCA2NTAwMSkKLWRlY29kZSA9IGZ1bmN0b29scy5wYXJ0aWFsKGNvZGVjcy5jb2RlX3BhZ2VfZGVjb2RlLCA2NTAwMSkKK19kZWNvZGUgPSBmdW5jdG9vbHMucGFydGlhbChjb2RlY3MuY29kZV9wYWdlX2RlY29kZSwgNjUwMDEpCisKK2RlZiBkZWNvZGUoaW5wdXQsIGVycm9ycz0nc3RyaWN0Jyk6CisgICAgcmV0dXJuIGNvZGVjcy5jb2RlX3BhZ2VfZGVjb2RlKDY1MDAxLCBpbnB1dCwgZXJyb3JzLCBUcnVlKQogCiBjbGFzcyBJbmNyZW1lbnRhbEVuY29kZXIoY29kZWNzLkluY3JlbWVudGFsRW5jb2Rlcik6CiAgICAgZGVmIGVuY29kZShzZWxmLCBpbnB1dCwgZmluYWw9RmFsc2UpOgogICAgICAgICByZXR1cm4gZW5jb2RlKGlucHV0LCBzZWxmLmVycm9ycylbMF0KIAogY2xhc3MgSW5jcmVtZW50YWxEZWNvZGVyKGNvZGVjcy5CdWZmZXJlZEluY3JlbWVudGFsRGVjb2Rlcik6Ci0gICAgX2J1ZmZlcl9kZWNvZGUgPSBkZWNvZGUKKyAgICBfYnVmZmVyX2RlY29kZSA9IF9kZWNvZGUKIAogY2xhc3MgU3RyZWFtV3JpdGVyKGNvZGVjcy5TdHJlYW1Xcml0ZXIpOgogICAgIGVuY29kZSA9IGVuY29kZQogCiBjbGFzcyBTdHJlYW1SZWFkZXIoY29kZWNzLlN0cmVhbVJlYWRlcik6Ci0gICAgZGVjb2RlID0gZGVjb2RlCisgICAgZGVjb2RlID0gX2RlY29kZQogCiAjIyMgZW5jb2RpbmdzIG1vZHVsZSBBUEkKIApkaWZmIC0tZ2l0IGEvTGliL2VudW0ucHkgYi9MaWIvZW51bS5weQppbmRleCA5YjE5YzFkLi5kNzQ0ZjhmIDEwMDY0NAotLS0gYS9MaWIvZW51bS5weQorKysgYi9MaWIvZW51bS5weQpAQCAtMTkzLDcgKzE5Myw3IEBACiAgICAgICAgICAgICBlbnVtX2NsYXNzLl9fbmV3X18gPSBFbnVtLl9fbmV3X18KICAgICAgICAgcmV0dXJuIGVudW1fY2xhc3MKIAotICAgIGRlZiBfX2NhbGxfXyhjbHMsIHZhbHVlLCBuYW1lcz1Ob25lLCAqLCBtb2R1bGU9Tm9uZSwgcXVhbG5hbWU9Tm9uZSwgdHlwZT1Ob25lKToKKyAgICBkZWYgX19jYWxsX18oY2xzLCB2YWx1ZSwgbmFtZXM9Tm9uZSwgKiwgbW9kdWxlPU5vbmUsIHF1YWxuYW1lPU5vbmUsIHR5cGU9Tm9uZSwgc3RhcnQ9MSk6CiAgICAgICAgICIiIkVpdGhlciByZXR1cm5zIGFuIGV4aXN0aW5nIG1lbWJlciwgb3IgY3JlYXRlcyBhIG5ldyBlbnVtIGNsYXNzLgogCiAgICAgICAgIFRoaXMgbWV0aG9kIGlzIHVzZWQgYm90aCB3aGVuIGFuIGVudW0gY2xhc3MgaXMgZ2l2ZW4gYSB2YWx1ZSB0byBtYXRjaApAQCAtMjA1LDcgKzIwNSw3IEBACiAgICAgICAgIGB2YWx1ZWAgd2lsbCBiZSB0aGUgbmFtZSBvZiB0aGUgbmV3IGNsYXNzLgogCiAgICAgICAgIGBuYW1lc2Agc2hvdWxkIGJlIGVpdGhlciBhIHN0cmluZyBvZiB3aGl0ZS1zcGFjZS9jb21tYSBkZWxpbWl0ZWQgbmFtZXMKLSAgICAgICAgKHZhbHVlcyB3aWxsIHN0YXJ0IGF0IDEpLCBvciBhbiBpdGVyYXRvci9tYXBwaW5nIG9mIG5hbWUsIHZhbHVlIHBhaXJzLgorICAgICAgICAodmFsdWVzIHdpbGwgc3RhcnQgYXQgYHN0YXJ0YCksIG9yIGFuIGl0ZXJhdG9yL21hcHBpbmcgb2YgbmFtZSwgdmFsdWUgcGFpcnMuCiAKICAgICAgICAgYG1vZHVsZWAgc2hvdWxkIGJlIHNldCB0byB0aGUgbW9kdWxlIHRoaXMgY2xhc3MgaXMgYmVpbmcgY3JlYXRlZCBpbjsKICAgICAgICAgaWYgaXQgaXMgbm90IHNldCwgYW4gYXR0ZW1wdCB0byBmaW5kIHRoYXQgbW9kdWxlIHdpbGwgYmUgbWFkZSwgYnV0IGlmCkBAIC0yMjEsNyArMjIxLDcgQEAKICAgICAgICAgaWYgbmFtZXMgaXMgTm9uZTogICMgc2ltcGxlIHZhbHVlIGxvb2t1cAogICAgICAgICAgICAgcmV0dXJuIGNscy5fX25ld19fKGNscywgdmFsdWUpCiAgICAgICAgICMgb3RoZXJ3aXNlLCBmdW5jdGlvbmFsIEFQSTogd2UncmUgY3JlYXRpbmcgYSBuZXcgRW51bSB0eXBlCi0gICAgICAgIHJldHVybiBjbHMuX2NyZWF0ZV8odmFsdWUsIG5hbWVzLCBtb2R1bGU9bW9kdWxlLCBxdWFsbmFtZT1xdWFsbmFtZSwgdHlwZT10eXBlKQorICAgICAgICByZXR1cm4gY2xzLl9jcmVhdGVfKHZhbHVlLCBuYW1lcywgbW9kdWxlPW1vZHVsZSwgcXVhbG5hbWU9cXVhbG5hbWUsIHR5cGU9dHlwZSwgc3RhcnQ9c3RhcnQpCiAKICAgICBkZWYgX19jb250YWluc19fKGNscywgbWVtYmVyKToKICAgICAgICAgcmV0dXJuIGlzaW5zdGFuY2UobWVtYmVyLCBjbHMpIGFuZCBtZW1iZXIuX25hbWVfIGluIGNscy5fbWVtYmVyX21hcF8KQEAgLTI5MiwxNiArMjkyLDE2IEBACiAgICAgICAgICAgICByYWlzZSBBdHRyaWJ1dGVFcnJvcignQ2Fubm90IHJlYXNzaWduIG1lbWJlcnMuJykKICAgICAgICAgc3VwZXIoKS5fX3NldGF0dHJfXyhuYW1lLCB2YWx1ZSkKIAotICAgIGRlZiBfY3JlYXRlXyhjbHMsIGNsYXNzX25hbWUsIG5hbWVzPU5vbmUsICosIG1vZHVsZT1Ob25lLCBxdWFsbmFtZT1Ob25lLCB0eXBlPU5vbmUpOgorICAgIGRlZiBfY3JlYXRlXyhjbHMsIGNsYXNzX25hbWUsIG5hbWVzPU5vbmUsICosIG1vZHVsZT1Ob25lLCBxdWFsbmFtZT1Ob25lLCB0eXBlPU5vbmUsIHN0YXJ0PTEpOgogICAgICAgICAiIiJDb252ZW5pZW5jZSBtZXRob2QgdG8gY3JlYXRlIGEgbmV3IEVudW0gY2xhc3MuCiAKICAgICAgICAgYG5hbWVzYCBjYW4gYmU6CiAKICAgICAgICAgKiBBIHN0cmluZyBjb250YWluaW5nIG1lbWJlciBuYW1lcywgc2VwYXJhdGVkIGVpdGhlciB3aXRoIHNwYWNlcyBvcgotICAgICAgICAgIGNvbW1hcy4gIFZhbHVlcyBhcmUgYXV0by1udW1iZXJlZCBmcm9tIDEuCi0gICAgICAgICogQW4gaXRlcmFibGUgb2YgbWVtYmVyIG5hbWVzLiAgVmFsdWVzIGFyZSBhdXRvLW51bWJlcmVkIGZyb20gMS4KKyAgICAgICAgICBjb21tYXMuICBWYWx1ZXMgYXJlIGluY3JlbWVudGVkIGJ5IDEgZnJvbSBgc3RhcnRgLgorICAgICAgICAqIEFuIGl0ZXJhYmxlIG9mIG1lbWJlciBuYW1lcy4gIFZhbHVlcyBhcmUgaW5jcmVtZW50ZWQgYnkgMSBmcm9tIGBzdGFydGAuCiAgICAgICAgICogQW4gaXRlcmFibGUgb2YgKG1lbWJlciBuYW1lLCB2YWx1ZSkgcGFpcnMuCi0gICAgICAgICogQSBtYXBwaW5nIG9mIG1lbWJlciBuYW1lIC0+IHZhbHVlLgorICAgICAgICAqIEEgbWFwcGluZyBvZiBtZW1iZXIgbmFtZSAtPiB2YWx1ZSBwYWlycy4KIAogICAgICAgICAiIiIKICAgICAgICAgbWV0YWNscyA9IGNscy5fX2NsYXNzX18KQEAgLTMxMiw3ICszMTIsNyBAQAogICAgICAgICBpZiBpc2luc3RhbmNlKG5hbWVzLCBzdHIpOgogICAgICAgICAgICAgbmFtZXMgPSBuYW1lcy5yZXBsYWNlKCcsJywgJyAnKS5zcGxpdCgpCiAgICAgICAgIGlmIGlzaW5zdGFuY2UobmFtZXMsICh0dXBsZSwgbGlzdCkpIGFuZCBpc2luc3RhbmNlKG5hbWVzWzBdLCBzdHIpOgotICAgICAgICAgICAgbmFtZXMgPSBbKGUsIGkpIGZvciAoaSwgZSkgaW4gZW51bWVyYXRlKG5hbWVzLCAxKV0KKyAgICAgICAgICAgIG5hbWVzID0gWyhlLCBpKSBmb3IgKGksIGUpIGluIGVudW1lcmF0ZShuYW1lcywgc3RhcnQpXQogCiAgICAgICAgICMgSGVyZSwgbmFtZXMgaXMgZWl0aGVyIGFuIGl0ZXJhYmxlIG9mIChuYW1lLCB2YWx1ZSkgb3IgYSBtYXBwaW5nLgogICAgICAgICBmb3IgaXRlbSBpbiBuYW1lczoKQEAgLTQ3MCw4ICs0NzAsNyBAQAogICAgICAgICAgICAgICAgIGZvciBtIGluIGNscy5fX2RpY3RfXwogICAgICAgICAgICAgICAgIGlmIG1bMF0gIT0gJ18nCiAgICAgICAgICAgICAgICAgXQotICAgICAgICByZXR1cm4gKFsnX19jbGFzc19fJywgJ19fZG9jX18nLCAnX19tb2R1bGVfXycsICduYW1lJywgJ3ZhbHVlJ10gKwotICAgICAgICAgICAgICAgIGFkZGVkX2JlaGF2aW9yKQorICAgICAgICByZXR1cm4gKFsnX19jbGFzc19fJywgJ19fZG9jX18nLCAnX19tb2R1bGVfXyddICsgYWRkZWRfYmVoYXZpb3IpCiAKICAgICBkZWYgX19mb3JtYXRfXyhzZWxmLCBmb3JtYXRfc3BlYyk6CiAgICAgICAgICMgbWl4ZWQtaW4gRW51bXMgc2hvdWxkIHVzZSB0aGUgbWl4ZWQtaW4gdHlwZSdzIF9fZm9ybWF0X18sIG90aGVyd2lzZQpkaWZmIC0tZ2l0IGEvTGliL2Zvcm1hdHRlci5weSBiL0xpYi9mb3JtYXR0ZXIucHkKaW5kZXggOTMzODI2MS4uY2MyZjRhZCAxMDA2NDQKLS0tIGEvTGliL2Zvcm1hdHRlci5weQorKysgYi9MaWIvZm9ybWF0dGVyLnB5CkBAIC0yMSw3ICsyMSw3IEBACiBpbXBvcnQgc3lzCiBpbXBvcnQgd2FybmluZ3MKIHdhcm5pbmdzLndhcm4oJ3RoZSBmb3JtYXR0ZXIgbW9kdWxlIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiAnCi0gICAgICAgICAgICAgICdQeXRob24gMy42JywgUGVuZGluZ0RlcHJlY2F0aW9uV2FybmluZykKKyAgICAgICAgICAgICAgJ1B5dGhvbiAzLjYnLCBEZXByZWNhdGlvbldhcm5pbmcpCiAKIAogQVNfSVMgPSBOb25lCmRpZmYgLS1naXQgYS9MaWIvZnJhY3Rpb25zLnB5IGIvTGliL2ZyYWN0aW9ucy5weQppbmRleCA3OWU4M2ZmLi41ZGRjODRjIDEwMDY0NAotLS0gYS9MaWIvZnJhY3Rpb25zLnB5CisrKyBiL0xpYi9mcmFjdGlvbnMucHkKQEAgLTcwLDcgKzcwLDcgQEAKICAgICBfX3Nsb3RzX18gPSAoJ19udW1lcmF0b3InLCAnX2Rlbm9taW5hdG9yJykKIAogICAgICMgV2UncmUgaW1tdXRhYmxlLCBzbyB1c2UgX19uZXdfXyBub3QgX19pbml0X18KLSAgICBkZWYgX19uZXdfXyhjbHMsIG51bWVyYXRvcj0wLCBkZW5vbWluYXRvcj1Ob25lKToKKyAgICBkZWYgX19uZXdfXyhjbHMsIG51bWVyYXRvcj0wLCBkZW5vbWluYXRvcj1Ob25lLCBfbm9ybWFsaXplPVRydWUpOgogICAgICAgICAiIiJDb25zdHJ1Y3RzIGEgUmF0aW9uYWwuCiAKICAgICAgICAgVGFrZXMgYSBzdHJpbmcgbGlrZSAnMy8yJyBvciAnMS41JywgYW5vdGhlciBSYXRpb25hbCBpbnN0YW5jZSwgYQpAQCAtMTA0LDcgKzEwNCwxMiBAQAogICAgICAgICBzZWxmID0gc3VwZXIoRnJhY3Rpb24sIGNscykuX19uZXdfXyhjbHMpCiAKICAgICAgICAgaWYgZGVub21pbmF0b3IgaXMgTm9uZToKLSAgICAgICAgICAgIGlmIGlzaW5zdGFuY2UobnVtZXJhdG9yLCBudW1iZXJzLlJhdGlvbmFsKToKKyAgICAgICAgICAgIGlmIHR5cGUobnVtZXJhdG9yKSBpcyBpbnQ6CisgICAgICAgICAgICAgICAgc2VsZi5fbnVtZXJhdG9yID0gbnVtZXJhdG9yCisgICAgICAgICAgICAgICAgc2VsZi5fZGVub21pbmF0b3IgPSAxCisgICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYKKworICAgICAgICAgICAgZWxpZiBpc2luc3RhbmNlKG51bWVyYXRvciwgbnVtYmVycy5SYXRpb25hbCk6CiAgICAgICAgICAgICAgICAgc2VsZi5fbnVtZXJhdG9yID0gbnVtZXJhdG9yLm51bWVyYXRvcgogICAgICAgICAgICAgICAgIHNlbGYuX2Rlbm9taW5hdG9yID0gbnVtZXJhdG9yLmRlbm9taW5hdG9yCiAgICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYKQEAgLTE1Myw2ICsxNTgsOSBAQAogICAgICAgICAgICAgICAgIHJhaXNlIFR5cGVFcnJvcigiYXJndW1lbnQgc2hvdWxkIGJlIGEgc3RyaW5nICIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9yIGEgUmF0aW9uYWwgaW5zdGFuY2UiKQogCisgICAgICAgIGVsaWYgdHlwZShudW1lcmF0b3IpIGlzIGludCBpcyB0eXBlKGRlbm9taW5hdG9yKToKKyAgICAgICAgICAgIHBhc3MgICMgKnZlcnkqIG5vcm1hbCBjYXNlCisKICAgICAgICAgZWxpZiAoaXNpbnN0YW5jZShudW1lcmF0b3IsIG51bWJlcnMuUmF0aW9uYWwpIGFuZAogICAgICAgICAgICAgaXNpbnN0YW5jZShkZW5vbWluYXRvciwgbnVtYmVycy5SYXRpb25hbCkpOgogICAgICAgICAgICAgbnVtZXJhdG9yLCBkZW5vbWluYXRvciA9ICgKQEAgLTE2NSw5ICsxNzMsMTIgQEAKIAogICAgICAgICBpZiBkZW5vbWluYXRvciA9PSAwOgogICAgICAgICAgICAgcmFpc2UgWmVyb0RpdmlzaW9uRXJyb3IoJ0ZyYWN0aW9uKCVzLCAwKScgJSBudW1lcmF0b3IpCi0gICAgICAgIGcgPSBnY2QobnVtZXJhdG9yLCBkZW5vbWluYXRvcikKLSAgICAgICAgc2VsZi5fbnVtZXJhdG9yID0gbnVtZXJhdG9yIC8vIGcKLSAgICAgICAgc2VsZi5fZGVub21pbmF0b3IgPSBkZW5vbWluYXRvciAvLyBnCisgICAgICAgIGlmIF9ub3JtYWxpemU6CisgICAgICAgICAgICBnID0gZ2NkKG51bWVyYXRvciwgZGVub21pbmF0b3IpCisgICAgICAgICAgICBudW1lcmF0b3IgLy89IGcKKyAgICAgICAgICAgIGRlbm9taW5hdG9yIC8vPSBnCisgICAgICAgIHNlbGYuX251bWVyYXRvciA9IG51bWVyYXRvcgorICAgICAgICBzZWxmLl9kZW5vbWluYXRvciA9IGRlbm9taW5hdG9yCiAgICAgICAgIHJldHVybiBzZWxmCiAKICAgICBAY2xhc3NtZXRob2QKQEAgLTI3Nyw3ICsyODgsOCBAQAogCiAgICAgZGVmIF9fcmVwcl9fKHNlbGYpOgogICAgICAgICAiIiJyZXByKHNlbGYpIiIiCi0gICAgICAgIHJldHVybiAoJ0ZyYWN0aW9uKCVzLCAlcyknICUgKHNlbGYuX251bWVyYXRvciwgc2VsZi5fZGVub21pbmF0b3IpKQorICAgICAgICByZXR1cm4gJyVzKCVzLCAlcyknICUgKHNlbGYuX19jbGFzc19fLl9fbmFtZV9fLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX251bWVyYXRvciwgc2VsZi5fZGVub21pbmF0b3IpCiAKICAgICBkZWYgX19zdHJfXyhzZWxmKToKICAgICAgICAgIiIic3RyKHNlbGYpIiIiCkBAIC0zOTUsMTcgKzQwNywxNyBAQAogCiAgICAgZGVmIF9hZGQoYSwgYik6CiAgICAgICAgICIiImEgKyBiIiIiCi0gICAgICAgIHJldHVybiBGcmFjdGlvbihhLm51bWVyYXRvciAqIGIuZGVub21pbmF0b3IgKwotICAgICAgICAgICAgICAgICAgICAgICAgYi5udW1lcmF0b3IgKiBhLmRlbm9taW5hdG9yLAotICAgICAgICAgICAgICAgICAgICAgICAgYS5kZW5vbWluYXRvciAqIGIuZGVub21pbmF0b3IpCisgICAgICAgIGRhLCBkYiA9IGEuZGVub21pbmF0b3IsIGIuZGVub21pbmF0b3IKKyAgICAgICAgcmV0dXJuIEZyYWN0aW9uKGEubnVtZXJhdG9yICogZGIgKyBiLm51bWVyYXRvciAqIGRhLAorICAgICAgICAgICAgICAgICAgICAgICAgZGEgKiBkYikKIAogICAgIF9fYWRkX18sIF9fcmFkZF9fID0gX29wZXJhdG9yX2ZhbGxiYWNrcyhfYWRkLCBvcGVyYXRvci5hZGQpCiAKICAgICBkZWYgX3N1YihhLCBiKToKICAgICAgICAgIiIiYSAtIGIiIiIKLSAgICAgICAgcmV0dXJuIEZyYWN0aW9uKGEubnVtZXJhdG9yICogYi5kZW5vbWluYXRvciAtCi0gICAgICAgICAgICAgICAgICAgICAgICBiLm51bWVyYXRvciAqIGEuZGVub21pbmF0b3IsCi0gICAgICAgICAgICAgICAgICAgICAgICBhLmRlbm9taW5hdG9yICogYi5kZW5vbWluYXRvcikKKyAgICAgICAgZGEsIGRiID0gYS5kZW5vbWluYXRvciwgYi5kZW5vbWluYXRvcgorICAgICAgICByZXR1cm4gRnJhY3Rpb24oYS5udW1lcmF0b3IgKiBkYiAtIGIubnVtZXJhdG9yICogZGEsCisgICAgICAgICAgICAgICAgICAgICAgICBkYSAqIGRiKQogCiAgICAgX19zdWJfXywgX19yc3ViX18gPSBfb3BlcmF0b3JfZmFsbGJhY2tzKF9zdWIsIG9wZXJhdG9yLnN1YikKIApAQCAtNDUzLDEwICs0NjUsMTIgQEAKICAgICAgICAgICAgICAgICBwb3dlciA9IGIubnVtZXJhdG9yCiAgICAgICAgICAgICAgICAgaWYgcG93ZXIgPj0gMDoKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEZyYWN0aW9uKGEuX251bWVyYXRvciAqKiBwb3dlciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGEuX2Rlbm9taW5hdG9yICoqIHBvd2VyKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYS5fZGVub21pbmF0b3IgKiogcG93ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfbm9ybWFsaXplPUZhbHNlKQogICAgICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgICAgIHJldHVybiBGcmFjdGlvbihhLl9kZW5vbWluYXRvciAqKiAtcG93ZXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhLl9udW1lcmF0b3IgKiogLXBvd2VyKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYS5fbnVtZXJhdG9yICoqIC1wb3dlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9ub3JtYWxpemU9RmFsc2UpCiAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgICMgQSBmcmFjdGlvbmFsIHBvd2VyIHdpbGwgZ2VuZXJhbGx5IHByb2R1Y2UgYW4KICAgICAgICAgICAgICAgICAjIGlycmF0aW9uYWwgbnVtYmVyLgpAQCAtNDgwLDE1ICs0OTQsMTUgQEAKIAogICAgIGRlZiBfX3Bvc19fKGEpOgogICAgICAgICAiIiIrYTogQ29lcmNlcyBhIHN1YmNsYXNzIGluc3RhbmNlIHRvIEZyYWN0aW9uIiIiCi0gICAgICAgIHJldHVybiBGcmFjdGlvbihhLl9udW1lcmF0b3IsIGEuX2Rlbm9taW5hdG9yKQorICAgICAgICByZXR1cm4gRnJhY3Rpb24oYS5fbnVtZXJhdG9yLCBhLl9kZW5vbWluYXRvciwgX25vcm1hbGl6ZT1GYWxzZSkKIAogICAgIGRlZiBfX25lZ19fKGEpOgogICAgICAgICAiIiItYSIiIgotICAgICAgICByZXR1cm4gRnJhY3Rpb24oLWEuX251bWVyYXRvciwgYS5fZGVub21pbmF0b3IpCisgICAgICAgIHJldHVybiBGcmFjdGlvbigtYS5fbnVtZXJhdG9yLCBhLl9kZW5vbWluYXRvciwgX25vcm1hbGl6ZT1GYWxzZSkKIAogICAgIGRlZiBfX2Fic19fKGEpOgogICAgICAgICAiIiJhYnMoYSkiIiIKLSAgICAgICAgcmV0dXJuIEZyYWN0aW9uKGFicyhhLl9udW1lcmF0b3IpLCBhLl9kZW5vbWluYXRvcikKKyAgICAgICAgcmV0dXJuIEZyYWN0aW9uKGFicyhhLl9udW1lcmF0b3IpLCBhLl9kZW5vbWluYXRvciwgX25vcm1hbGl6ZT1GYWxzZSkKIAogICAgIGRlZiBfX3RydW5jX18oYSk6CiAgICAgICAgICIiInRydW5jKGEpIiIiCkBAIC01NTUsNiArNTY5LDggQEAKIAogICAgIGRlZiBfX2VxX18oYSwgYik6CiAgICAgICAgICIiImEgPT0gYiIiIgorICAgICAgICBpZiB0eXBlKGIpIGlzIGludDoKKyAgICAgICAgICAgIHJldHVybiBhLl9udW1lcmF0b3IgPT0gYiBhbmQgYS5fZGVub21pbmF0b3IgPT0gMQogICAgICAgICBpZiBpc2luc3RhbmNlKGIsIG51bWJlcnMuUmF0aW9uYWwpOgogICAgICAgICAgICAgcmV0dXJuIChhLl9udW1lcmF0b3IgPT0gYi5udW1lcmF0b3IgYW5kCiAgICAgICAgICAgICAgICAgICAgIGEuX2Rlbm9taW5hdG9yID09IGIuZGVub21pbmF0b3IpCmRpZmYgLS1naXQgYS9MaWIvZnRwbGliLnB5IGIvTGliL2Z0cGxpYi5weQppbmRleCBjZDhjMWE5Li4xMzVlYzljIDEwMDY0NAotLS0gYS9MaWIvZnRwbGliLnB5CisrKyBiL0xpYi9mdHBsaWIucHkKQEAgLTQyLDcgKzQyLDcgQEAKIGltcG9ydCB3YXJuaW5ncwogZnJvbSBzb2NrZXQgaW1wb3J0IF9HTE9CQUxfREVGQVVMVF9USU1FT1VUCiAKLV9fYWxsX18gPSBbIkZUUCIsICJOZXRyYyJdCitfX2FsbF9fID0gWyJGVFAiXQogCiAjIE1hZ2ljIG51bWJlciBmcm9tIDxzb2NrZXQuaD4KIE1TR19PT0IgPSAweDEgICAgICAgICAgICAgICAgICAgICAgICAgICAjIFByb2Nlc3MgZGF0YSBvdXQgb2YgYmFuZApAQCAtOTE4LDExNSArOTE4LDYgQEAKICAgICB0YXJnZXQudm9pZHJlc3AoKQogCiAKLWNsYXNzIE5ldHJjOgotICAgICIiIkNsYXNzIHRvIHBhcnNlICYgcHJvdmlkZSBhY2Nlc3MgdG8gJ25ldHJjJyBmb3JtYXQgZmlsZXMuCi0KLSAgICBTZWUgdGhlIG5ldHJjKDQpIG1hbiBwYWdlIGZvciBpbmZvcm1hdGlvbiBvbiB0aGUgZmlsZSBmb3JtYXQuCi0KLSAgICBXQVJOSU5HOiBUaGlzIGNsYXNzIGlzIG9ic29sZXRlIC0tIHVzZSBtb2R1bGUgbmV0cmMgaW5zdGVhZC4KLQotICAgICIiIgotICAgIF9fZGVmdXNlciA9IE5vbmUKLSAgICBfX2RlZnBhc3N3ZCA9IE5vbmUKLSAgICBfX2RlZmFjY3QgPSBOb25lCi0KLSAgICBkZWYgX19pbml0X18oc2VsZiwgZmlsZW5hbWU9Tm9uZSk6Ci0gICAgICAgIHdhcm5pbmdzLndhcm4oIlRoaXMgY2xhc3MgaXMgZGVwcmVjYXRlZCwgdXNlIHRoZSBuZXRyYyBtb2R1bGUgaW5zdGVhZCIsCi0gICAgICAgICAgICAgICAgICAgICAgRGVwcmVjYXRpb25XYXJuaW5nLCAyKQotICAgICAgICBpZiBmaWxlbmFtZSBpcyBOb25lOgotICAgICAgICAgICAgaWYgIkhPTUUiIGluIG9zLmVudmlyb246Ci0gICAgICAgICAgICAgICAgZmlsZW5hbWUgPSBvcy5wYXRoLmpvaW4ob3MuZW52aXJvblsiSE9NRSJdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIubmV0cmMiKQotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICByYWlzZSBPU0Vycm9yKCJzcGVjaWZ5IGZpbGUgdG8gbG9hZCBvciBzZXQgJEhPTUUiKQotICAgICAgICBzZWxmLl9faG9zdHMgPSB7fQotICAgICAgICBzZWxmLl9fbWFjcm9zID0ge30KLSAgICAgICAgZnAgPSBvcGVuKGZpbGVuYW1lLCAiciIpCi0gICAgICAgIGluX21hY3JvID0gMAotICAgICAgICB3aGlsZSAxOgotICAgICAgICAgICAgbGluZSA9IGZwLnJlYWRsaW5lKCkKLSAgICAgICAgICAgIGlmIG5vdCBsaW5lOgotICAgICAgICAgICAgICAgIGJyZWFrCi0gICAgICAgICAgICBpZiBpbl9tYWNybyBhbmQgbGluZS5zdHJpcCgpOgotICAgICAgICAgICAgICAgIG1hY3JvX2xpbmVzLmFwcGVuZChsaW5lKQotICAgICAgICAgICAgICAgIGNvbnRpbnVlCi0gICAgICAgICAgICBlbGlmIGluX21hY3JvOgotICAgICAgICAgICAgICAgIHNlbGYuX19tYWNyb3NbbWFjcm9fbmFtZV0gPSB0dXBsZShtYWNyb19saW5lcykKLSAgICAgICAgICAgICAgICBpbl9tYWNybyA9IDAKLSAgICAgICAgICAgIHdvcmRzID0gbGluZS5zcGxpdCgpCi0gICAgICAgICAgICBob3N0ID0gdXNlciA9IHBhc3N3ZCA9IGFjY3QgPSBOb25lCi0gICAgICAgICAgICBkZWZhdWx0ID0gMAotICAgICAgICAgICAgaSA9IDAKLSAgICAgICAgICAgIHdoaWxlIGkgPCBsZW4od29yZHMpOgotICAgICAgICAgICAgICAgIHcxID0gd29yZHNbaV0KLSAgICAgICAgICAgICAgICBpZiBpKzEgPCBsZW4od29yZHMpOgotICAgICAgICAgICAgICAgICAgICB3MiA9IHdvcmRzW2kgKyAxXQotICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgIHcyID0gTm9uZQotICAgICAgICAgICAgICAgIGlmIHcxID09ICdkZWZhdWx0JzoKLSAgICAgICAgICAgICAgICAgICAgZGVmYXVsdCA9IDEKLSAgICAgICAgICAgICAgICBlbGlmIHcxID09ICdtYWNoaW5lJyBhbmQgdzI6Ci0gICAgICAgICAgICAgICAgICAgIGhvc3QgPSB3Mi5sb3dlcigpCi0gICAgICAgICAgICAgICAgICAgIGkgPSBpICsgMQotICAgICAgICAgICAgICAgIGVsaWYgdzEgPT0gJ2xvZ2luJyBhbmQgdzI6Ci0gICAgICAgICAgICAgICAgICAgIHVzZXIgPSB3MgotICAgICAgICAgICAgICAgICAgICBpID0gaSArIDEKLSAgICAgICAgICAgICAgICBlbGlmIHcxID09ICdwYXNzd29yZCcgYW5kIHcyOgotICAgICAgICAgICAgICAgICAgICBwYXNzd2QgPSB3MgotICAgICAgICAgICAgICAgICAgICBpID0gaSArIDEKLSAgICAgICAgICAgICAgICBlbGlmIHcxID09ICdhY2NvdW50JyBhbmQgdzI6Ci0gICAgICAgICAgICAgICAgICAgIGFjY3QgPSB3MgotICAgICAgICAgICAgICAgICAgICBpID0gaSArIDEKLSAgICAgICAgICAgICAgICBlbGlmIHcxID09ICdtYWNkZWYnIGFuZCB3MjoKLSAgICAgICAgICAgICAgICAgICAgbWFjcm9fbmFtZSA9IHcyCi0gICAgICAgICAgICAgICAgICAgIG1hY3JvX2xpbmVzID0gW10KLSAgICAgICAgICAgICAgICAgICAgaW5fbWFjcm8gPSAxCi0gICAgICAgICAgICAgICAgICAgIGJyZWFrCi0gICAgICAgICAgICAgICAgaSA9IGkgKyAxCi0gICAgICAgICAgICBpZiBkZWZhdWx0OgotICAgICAgICAgICAgICAgIHNlbGYuX19kZWZ1c2VyID0gdXNlciBvciBzZWxmLl9fZGVmdXNlcgotICAgICAgICAgICAgICAgIHNlbGYuX19kZWZwYXNzd2QgPSBwYXNzd2Qgb3Igc2VsZi5fX2RlZnBhc3N3ZAotICAgICAgICAgICAgICAgIHNlbGYuX19kZWZhY2N0ID0gYWNjdCBvciBzZWxmLl9fZGVmYWNjdAotICAgICAgICAgICAgaWYgaG9zdDoKLSAgICAgICAgICAgICAgICBpZiBob3N0IGluIHNlbGYuX19ob3N0czoKLSAgICAgICAgICAgICAgICAgICAgb3VzZXIsIG9wYXNzd2QsIG9hY2N0ID0gXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fX2hvc3RzW2hvc3RdCi0gICAgICAgICAgICAgICAgICAgIHVzZXIgPSB1c2VyIG9yIG91c2VyCi0gICAgICAgICAgICAgICAgICAgIHBhc3N3ZCA9IHBhc3N3ZCBvciBvcGFzc3dkCi0gICAgICAgICAgICAgICAgICAgIGFjY3QgPSBhY2N0IG9yIG9hY2N0Ci0gICAgICAgICAgICAgICAgc2VsZi5fX2hvc3RzW2hvc3RdID0gdXNlciwgcGFzc3dkLCBhY2N0Ci0gICAgICAgIGZwLmNsb3NlKCkKLQotICAgIGRlZiBnZXRfaG9zdHMoc2VsZik6Ci0gICAgICAgICIiIlJldHVybiBhIGxpc3Qgb2YgaG9zdHMgbWVudGlvbmVkIGluIHRoZSAubmV0cmMgZmlsZS4iIiIKLSAgICAgICAgcmV0dXJuIHNlbGYuX19ob3N0cy5rZXlzKCkKLQotICAgIGRlZiBnZXRfYWNjb3VudChzZWxmLCBob3N0KToKLSAgICAgICAgIiIiUmV0dXJucyBsb2dpbiBpbmZvcm1hdGlvbiBmb3IgdGhlIG5hbWVkIGhvc3QuCi0KLSAgICAgICAgVGhlIHJldHVybiB2YWx1ZSBpcyBhIHRyaXBsZSBjb250YWluaW5nIHVzZXJpZCwKLSAgICAgICAgcGFzc3dvcmQsIGFuZCB0aGUgYWNjb3VudGluZyBmaWVsZC4KLQotICAgICAgICAiIiIKLSAgICAgICAgaG9zdCA9IGhvc3QubG93ZXIoKQotICAgICAgICB1c2VyID0gcGFzc3dkID0gYWNjdCA9IE5vbmUKLSAgICAgICAgaWYgaG9zdCBpbiBzZWxmLl9faG9zdHM6Ci0gICAgICAgICAgICB1c2VyLCBwYXNzd2QsIGFjY3QgPSBzZWxmLl9faG9zdHNbaG9zdF0KLSAgICAgICAgdXNlciA9IHVzZXIgb3Igc2VsZi5fX2RlZnVzZXIKLSAgICAgICAgcGFzc3dkID0gcGFzc3dkIG9yIHNlbGYuX19kZWZwYXNzd2QKLSAgICAgICAgYWNjdCA9IGFjY3Qgb3Igc2VsZi5fX2RlZmFjY3QKLSAgICAgICAgcmV0dXJuIHVzZXIsIHBhc3N3ZCwgYWNjdAotCi0gICAgZGVmIGdldF9tYWNyb3Moc2VsZik6Ci0gICAgICAgICIiIlJldHVybiBhIGxpc3Qgb2YgYWxsIGRlZmluZWQgbWFjcm8gbmFtZXMuIiIiCi0gICAgICAgIHJldHVybiBzZWxmLl9fbWFjcm9zLmtleXMoKQotCi0gICAgZGVmIGdldF9tYWNybyhzZWxmLCBtYWNybyk6Ci0gICAgICAgICIiIlJldHVybiBhIHNlcXVlbmNlIG9mIGxpbmVzIHdoaWNoIGRlZmluZSBhIG5hbWVkIG1hY3JvLiIiIgotICAgICAgICByZXR1cm4gc2VsZi5fX21hY3Jvc1ttYWNyb10KLQotCi0KIGRlZiB0ZXN0KCk6CiAgICAgJycnVGVzdCBwcm9ncmFtLgogICAgIFVzYWdlOiBmdHAgWy1kXSBbLXJbZmlsZV1dIGhvc3QgWy1sW2Rpcl1dIFstZFtkaXJdXSBbLXBdIFtmaWxlXSAuLi4KQEAgLTEwNDAsNiArOTMxLDggQEAKICAgICAgICAgcHJpbnQodGVzdC5fX2RvY19fKQogICAgICAgICBzeXMuZXhpdCgwKQogCisgICAgaW1wb3J0IG5ldHJjCisKICAgICBkZWJ1Z2dpbmcgPSAwCiAgICAgcmNmaWxlID0gTm9uZQogICAgIHdoaWxlIHN5cy5hcmd2WzFdID09ICctZCc6CkBAIC0xMDU0LDE0ICs5NDcsMTQgQEAKICAgICBmdHAuc2V0X2RlYnVnbGV2ZWwoZGVidWdnaW5nKQogICAgIHVzZXJpZCA9IHBhc3N3ZCA9IGFjY3QgPSAnJwogICAgIHRyeToKLSAgICAgICAgbmV0cmMgPSBOZXRyYyhyY2ZpbGUpCisgICAgICAgIG5ldHJjb2JqID0gbmV0cmMubmV0cmMocmNmaWxlKQogICAgIGV4Y2VwdCBPU0Vycm9yOgogICAgICAgICBpZiByY2ZpbGUgaXMgbm90IE5vbmU6CiAgICAgICAgICAgICBzeXMuc3RkZXJyLndyaXRlKCJDb3VsZCBub3Qgb3BlbiBhY2NvdW50IGZpbGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIgLS0gdXNpbmcgYW5vbnltb3VzIGxvZ2luLiIpCiAgICAgZWxzZToKICAgICAgICAgdHJ5OgotICAgICAgICAgICAgdXNlcmlkLCBwYXNzd2QsIGFjY3QgPSBuZXRyYy5nZXRfYWNjb3VudChob3N0KQorICAgICAgICAgICAgdXNlcmlkLCBhY2N0LCBwYXNzd2QgPSBuZXRyY29iai5hdXRoZW50aWNhdG9ycyhob3N0KQogICAgICAgICBleGNlcHQgS2V5RXJyb3I6CiAgICAgICAgICAgICAjIG5vIGFjY291bnQgZm9yIGhvc3QKICAgICAgICAgICAgIHN5cy5zdGRlcnIud3JpdGUoCmRpZmYgLS1naXQgYS9MaWIvZnVuY3Rvb2xzLnB5IGIvTGliL2Z1bmN0b29scy5weQppbmRleCAzZTkzYTNkLi45MWU5Njg1IDEwMDY0NAotLS0gYS9MaWIvZnVuY3Rvb2xzLnB5CisrKyBiL0xpYi9mdW5jdG9vbHMucHkKQEAgLTk4LDcgKzk4LDcgQEAKICAgICAnUmV0dXJuIGEgPiBiLiAgQ29tcHV0ZWQgYnkgQHRvdGFsX29yZGVyaW5nIGZyb20gKG5vdCBhIDwgYikgYW5kIChhICE9IGIpLicKICAgICBvcF9yZXN1bHQgPSBzZWxmLl9fbHRfXyhvdGhlcikKICAgICBpZiBvcF9yZXN1bHQgaXMgTm90SW1wbGVtZW50ZWQ6Ci0gICAgICAgIHJldHVybiBOb3RJbXBsZW1lbnRlZAorICAgICAgICByZXR1cm4gb3BfcmVzdWx0CiAgICAgcmV0dXJuIG5vdCBvcF9yZXN1bHQgYW5kIHNlbGYgIT0gb3RoZXIKIAogZGVmIF9sZV9mcm9tX2x0KHNlbGYsIG90aGVyKToKQEAgLTExMCwzNSArMTEwLDM1IEBACiAgICAgJ1JldHVybiBhID49IGIuICBDb21wdXRlZCBieSBAdG90YWxfb3JkZXJpbmcgZnJvbSAobm90IGEgPCBiKS4nCiAgICAgb3BfcmVzdWx0ID0gc2VsZi5fX2x0X18ob3RoZXIpCiAgICAgaWYgb3BfcmVzdWx0IGlzIE5vdEltcGxlbWVudGVkOgotICAgICAgICByZXR1cm4gTm90SW1wbGVtZW50ZWQKKyAgICAgICAgcmV0dXJuIG9wX3Jlc3VsdAogICAgIHJldHVybiBub3Qgb3BfcmVzdWx0CiAKIGRlZiBfZ2VfZnJvbV9sZShzZWxmLCBvdGhlcik6CiAgICAgJ1JldHVybiBhID49IGIuICBDb21wdXRlZCBieSBAdG90YWxfb3JkZXJpbmcgZnJvbSAobm90IGEgPD0gYikgb3IgKGEgPT0gYikuJwogICAgIG9wX3Jlc3VsdCA9IHNlbGYuX19sZV9fKG90aGVyKQogICAgIGlmIG9wX3Jlc3VsdCBpcyBOb3RJbXBsZW1lbnRlZDoKLSAgICAgICAgcmV0dXJuIE5vdEltcGxlbWVudGVkCisgICAgICAgIHJldHVybiBvcF9yZXN1bHQKICAgICByZXR1cm4gbm90IG9wX3Jlc3VsdCBvciBzZWxmID09IG90aGVyCiAKIGRlZiBfbHRfZnJvbV9sZShzZWxmLCBvdGhlcik6CiAgICAgJ1JldHVybiBhIDwgYi4gIENvbXB1dGVkIGJ5IEB0b3RhbF9vcmRlcmluZyBmcm9tIChhIDw9IGIpIGFuZCAoYSAhPSBiKS4nCiAgICAgb3BfcmVzdWx0ID0gc2VsZi5fX2xlX18ob3RoZXIpCiAgICAgaWYgb3BfcmVzdWx0IGlzIE5vdEltcGxlbWVudGVkOgotICAgICAgICByZXR1cm4gTm90SW1wbGVtZW50ZWQKKyAgICAgICAgcmV0dXJuIG9wX3Jlc3VsdAogICAgIHJldHVybiBvcF9yZXN1bHQgYW5kIHNlbGYgIT0gb3RoZXIKIAogZGVmIF9ndF9mcm9tX2xlKHNlbGYsIG90aGVyKToKICAgICAnUmV0dXJuIGEgPiBiLiAgQ29tcHV0ZWQgYnkgQHRvdGFsX29yZGVyaW5nIGZyb20gKG5vdCBhIDw9IGIpLicKICAgICBvcF9yZXN1bHQgPSBzZWxmLl9fbGVfXyhvdGhlcikKICAgICBpZiBvcF9yZXN1bHQgaXMgTm90SW1wbGVtZW50ZWQ6Ci0gICAgICAgIHJldHVybiBOb3RJbXBsZW1lbnRlZAorICAgICAgICByZXR1cm4gb3BfcmVzdWx0CiAgICAgcmV0dXJuIG5vdCBvcF9yZXN1bHQKIAogZGVmIF9sdF9mcm9tX2d0KHNlbGYsIG90aGVyKToKICAgICAnUmV0dXJuIGEgPCBiLiAgQ29tcHV0ZWQgYnkgQHRvdGFsX29yZGVyaW5nIGZyb20gKG5vdCBhID4gYikgYW5kIChhICE9IGIpLicKICAgICBvcF9yZXN1bHQgPSBzZWxmLl9fZ3RfXyhvdGhlcikKICAgICBpZiBvcF9yZXN1bHQgaXMgTm90SW1wbGVtZW50ZWQ6Ci0gICAgICAgIHJldHVybiBOb3RJbXBsZW1lbnRlZAorICAgICAgICByZXR1cm4gb3BfcmVzdWx0CiAgICAgcmV0dXJuIG5vdCBvcF9yZXN1bHQgYW5kIHNlbGYgIT0gb3RoZXIKIAogZGVmIF9nZV9mcm9tX2d0KHNlbGYsIG90aGVyKToKQEAgLTE1MCw1MiArMTUwLDUzIEBACiAgICAgJ1JldHVybiBhIDw9IGIuICBDb21wdXRlZCBieSBAdG90YWxfb3JkZXJpbmcgZnJvbSAobm90IGEgPiBiKS4nCiAgICAgb3BfcmVzdWx0ID0gc2VsZi5fX2d0X18ob3RoZXIpCiAgICAgaWYgb3BfcmVzdWx0IGlzIE5vdEltcGxlbWVudGVkOgotICAgICAgICByZXR1cm4gTm90SW1wbGVtZW50ZWQKKyAgICAgICAgcmV0dXJuIG9wX3Jlc3VsdAogICAgIHJldHVybiBub3Qgb3BfcmVzdWx0CiAKIGRlZiBfbGVfZnJvbV9nZShzZWxmLCBvdGhlcik6CiAgICAgJ1JldHVybiBhIDw9IGIuICBDb21wdXRlZCBieSBAdG90YWxfb3JkZXJpbmcgZnJvbSAobm90IGEgPj0gYikgb3IgKGEgPT0gYikuJwogICAgIG9wX3Jlc3VsdCA9IHNlbGYuX19nZV9fKG90aGVyKQogICAgIGlmIG9wX3Jlc3VsdCBpcyBOb3RJbXBsZW1lbnRlZDoKLSAgICAgICAgcmV0dXJuIE5vdEltcGxlbWVudGVkCisgICAgICAgIHJldHVybiBvcF9yZXN1bHQKICAgICByZXR1cm4gbm90IG9wX3Jlc3VsdCBvciBzZWxmID09IG90aGVyCiAKIGRlZiBfZ3RfZnJvbV9nZShzZWxmLCBvdGhlcik6CiAgICAgJ1JldHVybiBhID4gYi4gIENvbXB1dGVkIGJ5IEB0b3RhbF9vcmRlcmluZyBmcm9tIChhID49IGIpIGFuZCAoYSAhPSBiKS4nCiAgICAgb3BfcmVzdWx0ID0gc2VsZi5fX2dlX18ob3RoZXIpCiAgICAgaWYgb3BfcmVzdWx0IGlzIE5vdEltcGxlbWVudGVkOgotICAgICAgICByZXR1cm4gTm90SW1wbGVtZW50ZWQKKyAgICAgICAgcmV0dXJuIG9wX3Jlc3VsdAogICAgIHJldHVybiBvcF9yZXN1bHQgYW5kIHNlbGYgIT0gb3RoZXIKIAogZGVmIF9sdF9mcm9tX2dlKHNlbGYsIG90aGVyKToKICAgICAnUmV0dXJuIGEgPCBiLiAgQ29tcHV0ZWQgYnkgQHRvdGFsX29yZGVyaW5nIGZyb20gKG5vdCBhID49IGIpLicKICAgICBvcF9yZXN1bHQgPSBzZWxmLl9fZ2VfXyhvdGhlcikKICAgICBpZiBvcF9yZXN1bHQgaXMgTm90SW1wbGVtZW50ZWQ6Ci0gICAgICAgIHJldHVybiBOb3RJbXBsZW1lbnRlZAorICAgICAgICByZXR1cm4gb3BfcmVzdWx0CiAgICAgcmV0dXJuIG5vdCBvcF9yZXN1bHQKIAorX2NvbnZlcnQgPSB7CisgICAgJ19fbHRfXyc6IFsoJ19fZ3RfXycsIF9ndF9mcm9tX2x0KSwKKyAgICAgICAgICAgICAgICgnX19sZV9fJywgX2xlX2Zyb21fbHQpLAorICAgICAgICAgICAgICAgKCdfX2dlX18nLCBfZ2VfZnJvbV9sdCldLAorICAgICdfX2xlX18nOiBbKCdfX2dlX18nLCBfZ2VfZnJvbV9sZSksCisgICAgICAgICAgICAgICAoJ19fbHRfXycsIF9sdF9mcm9tX2xlKSwKKyAgICAgICAgICAgICAgICgnX19ndF9fJywgX2d0X2Zyb21fbGUpXSwKKyAgICAnX19ndF9fJzogWygnX19sdF9fJywgX2x0X2Zyb21fZ3QpLAorICAgICAgICAgICAgICAgKCdfX2dlX18nLCBfZ2VfZnJvbV9ndCksCisgICAgICAgICAgICAgICAoJ19fbGVfXycsIF9sZV9mcm9tX2d0KV0sCisgICAgJ19fZ2VfXyc6IFsoJ19fbGVfXycsIF9sZV9mcm9tX2dlKSwKKyAgICAgICAgICAgICAgICgnX19ndF9fJywgX2d0X2Zyb21fZ2UpLAorICAgICAgICAgICAgICAgKCdfX2x0X18nLCBfbHRfZnJvbV9nZSldCit9CisKIGRlZiB0b3RhbF9vcmRlcmluZyhjbHMpOgogICAgICIiIkNsYXNzIGRlY29yYXRvciB0aGF0IGZpbGxzIGluIG1pc3Npbmcgb3JkZXJpbmcgbWV0aG9kcyIiIgotICAgIGNvbnZlcnQgPSB7Ci0gICAgICAgICdfX2x0X18nOiBbKCdfX2d0X18nLCBfZ3RfZnJvbV9sdCksCi0gICAgICAgICAgICAgICAgICAgKCdfX2xlX18nLCBfbGVfZnJvbV9sdCksCi0gICAgICAgICAgICAgICAgICAgKCdfX2dlX18nLCBfZ2VfZnJvbV9sdCldLAotICAgICAgICAnX19sZV9fJzogWygnX19nZV9fJywgX2dlX2Zyb21fbGUpLAotICAgICAgICAgICAgICAgICAgICgnX19sdF9fJywgX2x0X2Zyb21fbGUpLAotICAgICAgICAgICAgICAgICAgICgnX19ndF9fJywgX2d0X2Zyb21fbGUpXSwKLSAgICAgICAgJ19fZ3RfXyc6IFsoJ19fbHRfXycsIF9sdF9mcm9tX2d0KSwKLSAgICAgICAgICAgICAgICAgICAoJ19fZ2VfXycsIF9nZV9mcm9tX2d0KSwKLSAgICAgICAgICAgICAgICAgICAoJ19fbGVfXycsIF9sZV9mcm9tX2d0KV0sCi0gICAgICAgICdfX2dlX18nOiBbKCdfX2xlX18nLCBfbGVfZnJvbV9nZSksCi0gICAgICAgICAgICAgICAgICAgKCdfX2d0X18nLCBfZ3RfZnJvbV9nZSksCi0gICAgICAgICAgICAgICAgICAgKCdfX2x0X18nLCBfbHRfZnJvbV9nZSldCi0gICAgfQogICAgICMgRmluZCB1c2VyLWRlZmluZWQgY29tcGFyaXNvbnMgKG5vdCB0aG9zZSBpbmhlcml0ZWQgZnJvbSBvYmplY3QpLgotICAgIHJvb3RzID0gW29wIGZvciBvcCBpbiBjb252ZXJ0IGlmIGdldGF0dHIoY2xzLCBvcCwgTm9uZSkgaXMgbm90IGdldGF0dHIob2JqZWN0LCBvcCwgTm9uZSldCisgICAgcm9vdHMgPSBbb3AgZm9yIG9wIGluIF9jb252ZXJ0IGlmIGdldGF0dHIoY2xzLCBvcCwgTm9uZSkgaXMgbm90IGdldGF0dHIob2JqZWN0LCBvcCwgTm9uZSldCiAgICAgaWYgbm90IHJvb3RzOgogICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCdtdXN0IGRlZmluZSBhdCBsZWFzdCBvbmUgb3JkZXJpbmcgb3BlcmF0aW9uOiA8ID4gPD0gPj0nKQogICAgIHJvb3QgPSBtYXgocm9vdHMpICAgICAgICMgcHJlZmVyIF9fbHRfXyB0byBfX2xlX18gdG8gX19ndF9fIHRvIF9fZ2VfXwotICAgIGZvciBvcG5hbWUsIG9wZnVuYyBpbiBjb252ZXJ0W3Jvb3RdOgorICAgIGZvciBvcG5hbWUsIG9wZnVuYyBpbiBfY29udmVydFtyb290XToKICAgICAgICAgaWYgb3BuYW1lIG5vdCBpbiByb290czoKICAgICAgICAgICAgIG9wZnVuYy5fX25hbWVfXyA9IG9wbmFtZQogICAgICAgICAgICAgc2V0YXR0cihjbHMsIG9wbmFtZSwgb3BmdW5jKQpAQCAtMjIyLDggKzIyMyw2IEBACiAgICAgICAgICAgICByZXR1cm4gbXljbXAoc2VsZi5vYmosIG90aGVyLm9iaikgPD0gMAogICAgICAgICBkZWYgX19nZV9fKHNlbGYsIG90aGVyKToKICAgICAgICAgICAgIHJldHVybiBteWNtcChzZWxmLm9iaiwgb3RoZXIub2JqKSA+PSAwCi0gICAgICAgIGRlZiBfX25lX18oc2VsZiwgb3RoZXIpOgotICAgICAgICAgICAgcmV0dXJuIG15Y21wKHNlbGYub2JqLCBvdGhlci5vYmopICE9IDAKICAgICAgICAgX19oYXNoX18gPSBOb25lCiAgICAgcmV0dXJuIEsKIApAQCAtMjQyLDYgKzI0MSwxNCBAQAogICAgICIiIk5ldyBmdW5jdGlvbiB3aXRoIHBhcnRpYWwgYXBwbGljYXRpb24gb2YgdGhlIGdpdmVuIGFyZ3VtZW50cwogICAgIGFuZCBrZXl3b3Jkcy4KICAgICAiIiIKKyAgICBpZiBoYXNhdHRyKGZ1bmMsICdmdW5jJyk6CisgICAgICAgIGFyZ3MgPSBmdW5jLmFyZ3MgKyBhcmdzCisgICAgICAgIHRtcGt3ID0gZnVuYy5rZXl3b3Jkcy5jb3B5KCkKKyAgICAgICAgdG1wa3cudXBkYXRlKGtleXdvcmRzKQorICAgICAgICBrZXl3b3JkcyA9IHRtcGt3CisgICAgICAgIGRlbCB0bXBrdworICAgICAgICBmdW5jID0gZnVuYy5mdW5jCisKICAgICBkZWYgbmV3ZnVuYygqZmFyZ3MsICoqZmtleXdvcmRzKToKICAgICAgICAgbmV3a2V5d29yZHMgPSBrZXl3b3Jkcy5jb3B5KCkKICAgICAgICAgbmV3a2V5d29yZHMudXBkYXRlKGZrZXl3b3JkcykKQEAgLTI5MSw3ICsyOTgsNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIGssIHYgaW4gc2VsZi5rZXl3b3Jkcy5pdGVtcygpKQogICAgICAgICBmb3JtYXRfc3RyaW5nID0gInttb2R1bGV9LntjbHN9KHtmdW5jfSwge2FyZ3N9LCB7a2V5d29yZHN9KSIKICAgICAgICAgcmV0dXJuIGZvcm1hdF9zdHJpbmcuZm9ybWF0KG1vZHVsZT1zZWxmLl9fY2xhc3NfXy5fX21vZHVsZV9fLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xzPXNlbGYuX19jbGFzc19fLl9fbmFtZV9fLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xzPXNlbGYuX19jbGFzc19fLl9fcXVhbG5hbWVfXywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmM9c2VsZi5mdW5jLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJncz1hcmdzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5d29yZHM9a2V5d29yZHMpCmRpZmYgLS1naXQgYS9MaWIvZ2VuZXJpY3BhdGgucHkgYi9MaWIvZ2VuZXJpY3BhdGgucHkKaW5kZXggY2E0YTUxMC4uNjcxNDA2MSAxMDA2NDQKLS0tIGEvTGliL2dlbmVyaWNwYXRoLnB5CisrKyBiL0xpYi9nZW5lcmljcGF0aC5weQpAQCAtMTMwLDMgKzEzMCwxNiBAQAogICAgICAgICAgICAgZmlsZW5hbWVJbmRleCArPSAxCiAKICAgICByZXR1cm4gcCwgcFs6MF0KKworZGVmIF9jaGVja19hcmdfdHlwZXMoZnVuY25hbWUsICphcmdzKToKKyAgICBoYXNzdHIgPSBoYXNieXRlcyA9IEZhbHNlCisgICAgZm9yIHMgaW4gYXJnczoKKyAgICAgICAgaWYgaXNpbnN0YW5jZShzLCBzdHIpOgorICAgICAgICAgICAgaGFzc3RyID0gVHJ1ZQorICAgICAgICBlbGlmIGlzaW5zdGFuY2UocywgYnl0ZXMpOgorICAgICAgICAgICAgaGFzYnl0ZXMgPSBUcnVlCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICByYWlzZSBUeXBlRXJyb3IoJyVzKCkgYXJndW1lbnQgbXVzdCBiZSBzdHIgb3IgYnl0ZXMsIG5vdCAlcicgJQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIChmdW5jbmFtZSwgcy5fX2NsYXNzX18uX19uYW1lX18pKSBmcm9tIE5vbmUKKyAgICBpZiBoYXNzdHIgYW5kIGhhc2J5dGVzOgorICAgICAgICByYWlzZSBUeXBlRXJyb3IoIkNhbid0IG1peCBzdHJpbmdzIGFuZCBieXRlcyBpbiBwYXRoIGNvbXBvbmVudHMiKSBmcm9tIE5vbmUKZGlmZiAtLWdpdCBhL0xpYi9nZXR0ZXh0LnB5IGIvTGliL2dldHRleHQucHkKaW5kZXggMDVkOWMxZS4uMTUzNzhiYyAxMDA2NDQKLS0tIGEvTGliL2dldHRleHQucHkKKysrIGIvTGliL2dldHRleHQucHkKQEAgLTIyNSw2ICsyMjUsMTMgQEAKICAgICBMRV9NQUdJQyA9IDB4OTUwNDEyZGUKICAgICBCRV9NQUdJQyA9IDB4ZGUxMjA0OTUKIAorICAgICMgQWNjZXB0YWJsZSAubW8gdmVyc2lvbnMKKyAgICBWRVJTSU9OUyA9ICgwLCAxKQorCisgICAgZGVmIF9nZXRfdmVyc2lvbnMoc2VsZiwgdmVyc2lvbik6CisgICAgICAgICIiIlJldHVybnMgYSB0dXBsZSBvZiBtYWpvciB2ZXJzaW9uLCBtaW5vciB2ZXJzaW9uIiIiCisgICAgICAgIHJldHVybiAodmVyc2lvbiA+PiAxNiwgdmVyc2lvbiAmIDB4ZmZmZikKKwogICAgIGRlZiBfcGFyc2Uoc2VsZiwgZnApOgogICAgICAgICAiIiJPdmVycmlkZSB0aGlzIG1ldGhvZCB0byBzdXBwb3J0IGFsdGVybmF0aXZlIC5tbyBmb3JtYXRzLiIiIgogICAgICAgICB1bnBhY2sgPSBzdHJ1Y3QudW5wYWNrCkBAIC0yNDUsNiArMjUyLDEyIEBACiAgICAgICAgICAgICBpaSA9ICc+SUknCiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICByYWlzZSBPU0Vycm9yKDAsICdCYWQgbWFnaWMgbnVtYmVyJywgZmlsZW5hbWUpCisKKyAgICAgICAgbWFqb3JfdmVyc2lvbiwgbWlub3JfdmVyc2lvbiA9IHNlbGYuX2dldF92ZXJzaW9ucyh2ZXJzaW9uKQorCisgICAgICAgIGlmIG1ham9yX3ZlcnNpb24gbm90IGluIHNlbGYuVkVSU0lPTlM6CisgICAgICAgICAgICByYWlzZSBPU0Vycm9yKDAsICdCYWQgdmVyc2lvbiBudW1iZXIgJyArIHN0cihtYWpvcl92ZXJzaW9uKSwgZmlsZW5hbWUpCisKICAgICAgICAgIyBOb3cgcHV0IGFsbCBtZXNzYWdlcyBmcm9tIHRoZSAubW8gZmlsZSBidWZmZXIgaW50byB0aGUgY2F0YWxvZwogICAgICAgICAjIGRpY3Rpb25hcnkuCiAgICAgICAgIGZvciBpIGluIHJhbmdlKDAsIG1zZ2NvdW50KToKZGlmZiAtLWdpdCBhL0xpYi9nbG9iLnB5IGIvTGliL2dsb2IucHkKaW5kZXggZDZlY2EyNC4uNTZkNjcwNCAxMDA2NDQKLS0tIGEvTGliL2dsb2IucHkKKysrIGIvTGliL2dsb2IucHkKQEAgLTYsNyArNiw3IEBACiAKIF9fYWxsX18gPSBbImdsb2IiLCAiaWdsb2IiXQogCi1kZWYgZ2xvYihwYXRobmFtZSk6CitkZWYgZ2xvYihwYXRobmFtZSwgKiwgcmVjdXJzaXZlPUZhbHNlKToKICAgICAiIiJSZXR1cm4gYSBsaXN0IG9mIHBhdGhzIG1hdGNoaW5nIGEgcGF0aG5hbWUgcGF0dGVybi4KIAogICAgIFRoZSBwYXR0ZXJuIG1heSBjb250YWluIHNpbXBsZSBzaGVsbC1zdHlsZSB3aWxkY2FyZHMgYSBsYQpAQCAtMTQsMTAgKzE0LDEyIEBACiAgICAgZG90IGFyZSBzcGVjaWFsIGNhc2VzIHRoYXQgYXJlIG5vdCBtYXRjaGVkIGJ5ICcqJyBhbmQgJz8nCiAgICAgcGF0dGVybnMuCiAKKyAgICBJZiByZWN1cnNpdmUgaXMgdHJ1ZSwgdGhlIHBhdHRlcm4gJyoqJyB3aWxsIG1hdGNoIGFueSBmaWxlcyBhbmQKKyAgICB6ZXJvIG9yIG1vcmUgZGlyZWN0b3JpZXMgYW5kIHN1YmRpcmVjdG9yaWVzLgogICAgICIiIgotICAgIHJldHVybiBsaXN0KGlnbG9iKHBhdGhuYW1lKSkKKyAgICByZXR1cm4gbGlzdChpZ2xvYihwYXRobmFtZSwgcmVjdXJzaXZlPXJlY3Vyc2l2ZSkpCiAKLWRlZiBpZ2xvYihwYXRobmFtZSk6CitkZWYgaWdsb2IocGF0aG5hbWUsICosIHJlY3Vyc2l2ZT1GYWxzZSk6CiAgICAgIiIiUmV0dXJuIGFuIGl0ZXJhdG9yIHdoaWNoIHlpZWxkcyB0aGUgcGF0aHMgbWF0Y2hpbmcgYSBwYXRobmFtZSBwYXR0ZXJuLgogCiAgICAgVGhlIHBhdHRlcm4gbWF5IGNvbnRhaW4gc2ltcGxlIHNoZWxsLXN0eWxlIHdpbGRjYXJkcyBhIGxhCkBAIC0yNSw2ICsyNyw4IEBACiAgICAgZG90IGFyZSBzcGVjaWFsIGNhc2VzIHRoYXQgYXJlIG5vdCBtYXRjaGVkIGJ5ICcqJyBhbmQgJz8nCiAgICAgcGF0dGVybnMuCiAKKyAgICBJZiByZWN1cnNpdmUgaXMgdHJ1ZSwgdGhlIHBhdHRlcm4gJyoqJyB3aWxsIG1hdGNoIGFueSBmaWxlcyBhbmQKKyAgICB6ZXJvIG9yIG1vcmUgZGlyZWN0b3JpZXMgYW5kIHN1YmRpcmVjdG9yaWVzLgogICAgICIiIgogICAgIGRpcm5hbWUsIGJhc2VuYW1lID0gb3MucGF0aC5zcGxpdChwYXRobmFtZSkKICAgICBpZiBub3QgaGFzX21hZ2ljKHBhdGhuYW1lKToKQEAgLTM3LDE3ICs0MSwyMyBAQAogICAgICAgICAgICAgICAgIHlpZWxkIHBhdGhuYW1lCiAgICAgICAgIHJldHVybgogICAgIGlmIG5vdCBkaXJuYW1lOgotICAgICAgICB5aWVsZCBmcm9tIGdsb2IxKE5vbmUsIGJhc2VuYW1lKQorICAgICAgICBpZiByZWN1cnNpdmUgYW5kIF9pc3JlY3Vyc2l2ZShiYXNlbmFtZSk6CisgICAgICAgICAgICB5aWVsZCBmcm9tIGdsb2IyKGRpcm5hbWUsIGJhc2VuYW1lKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgeWllbGQgZnJvbSBnbG9iMShkaXJuYW1lLCBiYXNlbmFtZSkKICAgICAgICAgcmV0dXJuCiAgICAgIyBgb3MucGF0aC5zcGxpdCgpYCByZXR1cm5zIHRoZSBhcmd1bWVudCBpdHNlbGYgYXMgYSBkaXJuYW1lIGlmIGl0IGlzIGEKICAgICAjIGRyaXZlIG9yIFVOQyBwYXRoLiAgUHJldmVudCBhbiBpbmZpbml0ZSByZWN1cnNpb24gaWYgYSBkcml2ZSBvciBVTkMgcGF0aAogICAgICMgY29udGFpbnMgbWFnaWMgY2hhcmFjdGVycyAoaS5lLiByJ1xcP1xDOicpLgogICAgIGlmIGRpcm5hbWUgIT0gcGF0aG5hbWUgYW5kIGhhc19tYWdpYyhkaXJuYW1lKToKLSAgICAgICAgZGlycyA9IGlnbG9iKGRpcm5hbWUpCisgICAgICAgIGRpcnMgPSBpZ2xvYihkaXJuYW1lLCByZWN1cnNpdmU9cmVjdXJzaXZlKQogICAgIGVsc2U6CiAgICAgICAgIGRpcnMgPSBbZGlybmFtZV0KICAgICBpZiBoYXNfbWFnaWMoYmFzZW5hbWUpOgotICAgICAgICBnbG9iX2luX2RpciA9IGdsb2IxCisgICAgICAgIGlmIHJlY3Vyc2l2ZSBhbmQgX2lzcmVjdXJzaXZlKGJhc2VuYW1lKToKKyAgICAgICAgICAgIGdsb2JfaW5fZGlyID0gZ2xvYjIKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGdsb2JfaW5fZGlyID0gZ2xvYjEKICAgICBlbHNlOgogICAgICAgICBnbG9iX2luX2RpciA9IGdsb2IwCiAgICAgZm9yIGRpcm5hbWUgaW4gZGlyczoKQEAgLTgzLDYgKzkzLDM0IEBACiAgICAgICAgICAgICByZXR1cm4gW2Jhc2VuYW1lXQogICAgIHJldHVybiBbXQogCisjIFRoaXMgaGVscGVyIGZ1bmN0aW9uIHJlY3Vyc2l2ZWx5IHlpZWxkcyByZWxhdGl2ZSBwYXRobmFtZXMgaW5zaWRlIGEgbGl0ZXJhbAorIyBkaXJlY3RvcnkuCisKK2RlZiBnbG9iMihkaXJuYW1lLCBwYXR0ZXJuKToKKyAgICBhc3NlcnQgX2lzcmVjdXJzaXZlKHBhdHRlcm4pCisgICAgaWYgZGlybmFtZToKKyAgICAgICAgeWllbGQgcGF0dGVybls6MF0KKyAgICB5aWVsZCBmcm9tIF9ybGlzdGRpcihkaXJuYW1lKQorCisjIFJlY3Vyc2l2ZWx5IHlpZWxkcyByZWxhdGl2ZSBwYXRobmFtZXMgaW5zaWRlIGEgbGl0ZXJhbCBkaXJlY3RvcnkuCisKK2RlZiBfcmxpc3RkaXIoZGlybmFtZSk6CisgICAgaWYgbm90IGRpcm5hbWU6CisgICAgICAgIGlmIGlzaW5zdGFuY2UoZGlybmFtZSwgYnl0ZXMpOgorICAgICAgICAgICAgZGlybmFtZSA9IGJ5dGVzKG9zLmN1cmRpciwgJ0FTQ0lJJykKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGRpcm5hbWUgPSBvcy5jdXJkaXIKKyAgICB0cnk6CisgICAgICAgIG5hbWVzID0gb3MubGlzdGRpcihkaXJuYW1lKQorICAgIGV4Y2VwdCBvcy5lcnJvcjoKKyAgICAgICAgcmV0dXJuCisgICAgZm9yIHggaW4gbmFtZXM6CisgICAgICAgIGlmIG5vdCBfaXNoaWRkZW4oeCk6CisgICAgICAgICAgICB5aWVsZCB4CisgICAgICAgICAgICBwYXRoID0gb3MucGF0aC5qb2luKGRpcm5hbWUsIHgpIGlmIGRpcm5hbWUgZWxzZSB4CisgICAgICAgICAgICBmb3IgeSBpbiBfcmxpc3RkaXIocGF0aCk6CisgICAgICAgICAgICAgICAgeWllbGQgb3MucGF0aC5qb2luKHgsIHkpCisKIAogbWFnaWNfY2hlY2sgPSByZS5jb21waWxlKCcoWyo/W10pJykKIG1hZ2ljX2NoZWNrX2J5dGVzID0gcmUuY29tcGlsZShiJyhbKj9bXSknKQpAQCAtOTcsNiArMTM1LDEyIEBACiBkZWYgX2lzaGlkZGVuKHBhdGgpOgogICAgIHJldHVybiBwYXRoWzBdIGluICgnLicsIGInLidbMF0pCiAKK2RlZiBfaXNyZWN1cnNpdmUocGF0dGVybik6CisgICAgaWYgaXNpbnN0YW5jZShwYXR0ZXJuLCBieXRlcyk6CisgICAgICAgIHJldHVybiBwYXR0ZXJuID09IGInKionCisgICAgZWxzZToKKyAgICAgICAgcmV0dXJuIHBhdHRlcm4gPT0gJyoqJworCiBkZWYgZXNjYXBlKHBhdGhuYW1lKToKICAgICAiIiJFc2NhcGUgYWxsIHNwZWNpYWwgY2hhcmFjdGVycy4KICAgICAiIiIKZGlmZiAtLWdpdCBhL0xpYi9oZWFwcS5weSBiL0xpYi9oZWFwcS5weQppbmRleCBkNjE1MjM5Li4wN2FmMzdlIDEwMDY0NAotLS0gYS9MaWIvaGVhcHEucHkKKysrIGIvTGliL2hlYXBxLnB5CkBAIC0xMjcsOCArMTI3LDYgQEAKIF9fYWxsX18gPSBbJ2hlYXBwdXNoJywgJ2hlYXBwb3AnLCAnaGVhcGlmeScsICdoZWFwcmVwbGFjZScsICdtZXJnZScsCiAgICAgICAgICAgICdubGFyZ2VzdCcsICduc21hbGxlc3QnLCAnaGVhcHB1c2hwb3AnXQogCi1mcm9tIGl0ZXJ0b29scyBpbXBvcnQgaXNsaWNlLCBjb3VudCwgdGVlLCBjaGFpbgotCiBkZWYgaGVhcHB1c2goaGVhcCwgaXRlbSk6CiAgICAgIiIiUHVzaCBpdGVtIG9udG8gaGVhcCwgbWFpbnRhaW5pbmcgdGhlIGhlYXAgaW52YXJpYW50LiIiIgogICAgIGhlYXAuYXBwZW5kKGl0ZW0pCkBAIC0xNDEsOSArMTM5LDggQEAKICAgICAgICAgcmV0dXJuaXRlbSA9IGhlYXBbMF0KICAgICAgICAgaGVhcFswXSA9IGxhc3RlbHQKICAgICAgICAgX3NpZnR1cChoZWFwLCAwKQotICAgIGVsc2U6Ci0gICAgICAgIHJldHVybml0ZW0gPSBsYXN0ZWx0Ci0gICAgcmV0dXJuIHJldHVybml0ZW0KKyAgICAgICAgcmV0dXJuIHJldHVybml0ZW0KKyAgICByZXR1cm4gbGFzdGVsdAogCiBkZWYgaGVhcHJlcGxhY2UoaGVhcCwgaXRlbSk6CiAgICAgIiIiUG9wIGFuZCByZXR1cm4gdGhlIGN1cnJlbnQgc21hbGxlc3QgdmFsdWUsIGFuZCBhZGQgdGhlIG5ldyBpdGVtLgpAQCAtMTc5LDEyICsxNzYsMjIgQEAKICAgICBmb3IgaSBpbiByZXZlcnNlZChyYW5nZShuLy8yKSk6CiAgICAgICAgIF9zaWZ0dXAoeCwgaSkKIAotZGVmIF9oZWFwcHVzaHBvcF9tYXgoaGVhcCwgaXRlbSk6Ci0gICAgIiIiTWF4aGVhcCB2ZXJzaW9uIG9mIGEgaGVhcHB1c2ggZm9sbG93ZWQgYnkgYSBoZWFwcG9wLiIiIgotICAgIGlmIGhlYXAgYW5kIGl0ZW0gPCBoZWFwWzBdOgotICAgICAgICBpdGVtLCBoZWFwWzBdID0gaGVhcFswXSwgaXRlbQorZGVmIF9oZWFwcG9wX21heChoZWFwKToKKyAgICAiIiJNYXhoZWFwIHZlcnNpb24gb2YgYSBoZWFwcG9wLiIiIgorICAgIGxhc3RlbHQgPSBoZWFwLnBvcCgpICAgICMgcmFpc2VzIGFwcHJvcHJpYXRlIEluZGV4RXJyb3IgaWYgaGVhcCBpcyBlbXB0eQorICAgIGlmIGhlYXA6CisgICAgICAgIHJldHVybml0ZW0gPSBoZWFwWzBdCisgICAgICAgIGhlYXBbMF0gPSBsYXN0ZWx0CiAgICAgICAgIF9zaWZ0dXBfbWF4KGhlYXAsIDApCi0gICAgcmV0dXJuIGl0ZW0KKyAgICAgICAgcmV0dXJuIHJldHVybml0ZW0KKyAgICByZXR1cm4gbGFzdGVsdAorCitkZWYgX2hlYXByZXBsYWNlX21heChoZWFwLCBpdGVtKToKKyAgICAiIiJNYXhoZWFwIHZlcnNpb24gb2YgYSBoZWFwcG9wIGZvbGxvd2VkIGJ5IGEgaGVhcHB1c2guIiIiCisgICAgcmV0dXJuaXRlbSA9IGhlYXBbMF0gICAgIyByYWlzZXMgYXBwcm9wcmlhdGUgSW5kZXhFcnJvciBpZiBoZWFwIGlzIGVtcHR5CisgICAgaGVhcFswXSA9IGl0ZW0KKyAgICBfc2lmdHVwX21heChoZWFwLCAwKQorICAgIHJldHVybiByZXR1cm5pdGVtCiAKIGRlZiBfaGVhcGlmeV9tYXgoeCk6CiAgICAgIiIiVHJhbnNmb3JtIGxpc3QgaW50byBhIG1heGhlYXAsIGluLXBsYWNlLCBpbiBPKGxlbih4KSkgdGltZS4iIiIKQEAgLTE5Miw0MiArMTk5LDYgQEAKICAgICBmb3IgaSBpbiByZXZlcnNlZChyYW5nZShuLy8yKSk6CiAgICAgICAgIF9zaWZ0dXBfbWF4KHgsIGkpCiAKLWRlZiBubGFyZ2VzdChuLCBpdGVyYWJsZSk6Ci0gICAgIiIiRmluZCB0aGUgbiBsYXJnZXN0IGVsZW1lbnRzIGluIGEgZGF0YXNldC4KLQotICAgIEVxdWl2YWxlbnQgdG86ICBzb3J0ZWQoaXRlcmFibGUsIHJldmVyc2U9VHJ1ZSlbOm5dCi0gICAgIiIiCi0gICAgaWYgbiA8IDA6Ci0gICAgICAgIHJldHVybiBbXQotICAgIGl0ID0gaXRlcihpdGVyYWJsZSkKLSAgICByZXN1bHQgPSBsaXN0KGlzbGljZShpdCwgbikpCi0gICAgaWYgbm90IHJlc3VsdDoKLSAgICAgICAgcmV0dXJuIHJlc3VsdAotICAgIGhlYXBpZnkocmVzdWx0KQotICAgIF9oZWFwcHVzaHBvcCA9IGhlYXBwdXNocG9wCi0gICAgZm9yIGVsZW0gaW4gaXQ6Ci0gICAgICAgIF9oZWFwcHVzaHBvcChyZXN1bHQsIGVsZW0pCi0gICAgcmVzdWx0LnNvcnQocmV2ZXJzZT1UcnVlKQotICAgIHJldHVybiByZXN1bHQKLQotZGVmIG5zbWFsbGVzdChuLCBpdGVyYWJsZSk6Ci0gICAgIiIiRmluZCB0aGUgbiBzbWFsbGVzdCBlbGVtZW50cyBpbiBhIGRhdGFzZXQuCi0KLSAgICBFcXVpdmFsZW50IHRvOiAgc29ydGVkKGl0ZXJhYmxlKVs6bl0KLSAgICAiIiIKLSAgICBpZiBuIDwgMDoKLSAgICAgICAgcmV0dXJuIFtdCi0gICAgaXQgPSBpdGVyKGl0ZXJhYmxlKQotICAgIHJlc3VsdCA9IGxpc3QoaXNsaWNlKGl0LCBuKSkKLSAgICBpZiBub3QgcmVzdWx0OgotICAgICAgICByZXR1cm4gcmVzdWx0Ci0gICAgX2hlYXBpZnlfbWF4KHJlc3VsdCkKLSAgICBfaGVhcHB1c2hwb3AgPSBfaGVhcHB1c2hwb3BfbWF4Ci0gICAgZm9yIGVsZW0gaW4gaXQ6Ci0gICAgICAgIF9oZWFwcHVzaHBvcChyZXN1bHQsIGVsZW0pCi0gICAgcmVzdWx0LnNvcnQoKQotICAgIHJldHVybiByZXN1bHQKLQogIyAnaGVhcCcgaXMgYSBoZWFwIGF0IGFsbCBpbmRpY2VzID49IHN0YXJ0cG9zLCBleGNlcHQgcG9zc2libHkgZm9yIHBvcy4gIHBvcwogIyBpcyB0aGUgaW5kZXggb2YgYSBsZWFmIHdpdGggYSBwb3NzaWJseSBvdXQtb2Ytb3JkZXIgdmFsdWUuICBSZXN0b3JlIHRoZQogIyBoZWFwIGludmFyaWFudC4KQEAgLTM0MCwxMyArMzExLDcgQEAKICAgICBoZWFwW3Bvc10gPSBuZXdpdGVtCiAgICAgX3NpZnRkb3duX21heChoZWFwLCBzdGFydHBvcywgcG9zKQogCi0jIElmIGF2YWlsYWJsZSwgdXNlIEMgaW1wbGVtZW50YXRpb24KLXRyeToKLSAgICBmcm9tIF9oZWFwcSBpbXBvcnQgKgotZXhjZXB0IEltcG9ydEVycm9yOgotICAgIHBhc3MKLQotZGVmIG1lcmdlKCppdGVyYWJsZXMpOgorZGVmIG1lcmdlKCppdGVyYWJsZXMsIGtleT1Ob25lLCByZXZlcnNlPUZhbHNlKToKICAgICAnJydNZXJnZSBtdWx0aXBsZSBzb3J0ZWQgaW5wdXRzIGludG8gYSBzaW5nbGUgc29ydGVkIG91dHB1dC4KIAogICAgIFNpbWlsYXIgdG8gc29ydGVkKGl0ZXJ0b29scy5jaGFpbigqaXRlcmFibGVzKSkgYnV0IHJldHVybnMgYSBnZW5lcmF0b3IsCkBAIC0zNTYsNTEgKzMyMSwxNTggQEAKICAgICA+Pj4gbGlzdChtZXJnZShbMSwzLDUsN10sIFswLDIsNCw4XSwgWzUsMTAsMTUsMjBdLCBbXSwgWzI1XSkpCiAgICAgWzAsIDEsIDIsIDMsIDQsIDUsIDUsIDcsIDgsIDEwLCAxNSwgMjAsIDI1XQogCisgICAgSWYgKmtleSogaXMgbm90IE5vbmUsIGFwcGxpZXMgYSBrZXkgZnVuY3Rpb24gdG8gZWFjaCBlbGVtZW50IHRvIGRldGVybWluZQorICAgIGl0cyBzb3J0IG9yZGVyLgorCisgICAgPj4+IGxpc3QobWVyZ2UoWydkb2cnLCAnaG9yc2UnXSwgWydjYXQnLCAnZmlzaCcsICdrYW5nYXJvbyddLCBrZXk9bGVuKSkKKyAgICBbJ2RvZycsICdjYXQnLCAnZmlzaCcsICdob3JzZScsICdrYW5nYXJvbyddCisKICAgICAnJycKLSAgICBfaGVhcHBvcCwgX2hlYXByZXBsYWNlLCBfU3RvcEl0ZXJhdGlvbiA9IGhlYXBwb3AsIGhlYXByZXBsYWNlLCBTdG9wSXRlcmF0aW9uCi0gICAgX2xlbiA9IGxlbgogCiAgICAgaCA9IFtdCiAgICAgaF9hcHBlbmQgPSBoLmFwcGVuZAotICAgIGZvciBpdG51bSwgaXQgaW4gZW51bWVyYXRlKG1hcChpdGVyLCBpdGVyYWJsZXMpKToKKworICAgIGlmIHJldmVyc2U6CisgICAgICAgIF9oZWFwaWZ5ID0gX2hlYXBpZnlfbWF4CisgICAgICAgIF9oZWFwcG9wID0gX2hlYXBwb3BfbWF4CisgICAgICAgIF9oZWFwcmVwbGFjZSA9IF9oZWFwcmVwbGFjZV9tYXgKKyAgICAgICAgZGlyZWN0aW9uID0gLTEKKyAgICBlbHNlOgorICAgICAgICBfaGVhcGlmeSA9IGhlYXBpZnkKKyAgICAgICAgX2hlYXBwb3AgPSBoZWFwcG9wCisgICAgICAgIF9oZWFwcmVwbGFjZSA9IGhlYXByZXBsYWNlCisgICAgICAgIGRpcmVjdGlvbiA9IDEKKworICAgIGlmIGtleSBpcyBOb25lOgorICAgICAgICBmb3Igb3JkZXIsIGl0IGluIGVudW1lcmF0ZShtYXAoaXRlciwgaXRlcmFibGVzKSk6CisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgbmV4dCA9IGl0Ll9fbmV4dF9fCisgICAgICAgICAgICAgICAgaF9hcHBlbmQoW25leHQoKSwgb3JkZXIgKiBkaXJlY3Rpb24sIG5leHRdKQorICAgICAgICAgICAgZXhjZXB0IFN0b3BJdGVyYXRpb246CisgICAgICAgICAgICAgICAgcGFzcworICAgICAgICBfaGVhcGlmeShoKQorICAgICAgICB3aGlsZSBsZW4oaCkgPiAxOgorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIHdoaWxlIFRydWU6CisgICAgICAgICAgICAgICAgICAgIHZhbHVlLCBvcmRlciwgbmV4dCA9IHMgPSBoWzBdCisgICAgICAgICAgICAgICAgICAgIHlpZWxkIHZhbHVlCisgICAgICAgICAgICAgICAgICAgIHNbMF0gPSBuZXh0KCkgICAgICAgICAgICMgcmFpc2VzIFN0b3BJdGVyYXRpb24gd2hlbiBleGhhdXN0ZWQKKyAgICAgICAgICAgICAgICAgICAgX2hlYXByZXBsYWNlKGgsIHMpICAgICAgIyByZXN0b3JlIGhlYXAgY29uZGl0aW9uCisgICAgICAgICAgICBleGNlcHQgU3RvcEl0ZXJhdGlvbjoKKyAgICAgICAgICAgICAgICBfaGVhcHBvcChoKSAgICAgICAgICAgICAgICAgIyByZW1vdmUgZW1wdHkgaXRlcmF0b3IKKyAgICAgICAgaWYgaDoKKyAgICAgICAgICAgICMgZmFzdCBjYXNlIHdoZW4gb25seSBhIHNpbmdsZSBpdGVyYXRvciByZW1haW5zCisgICAgICAgICAgICB2YWx1ZSwgb3JkZXIsIG5leHQgPSBoWzBdCisgICAgICAgICAgICB5aWVsZCB2YWx1ZQorICAgICAgICAgICAgeWllbGQgZnJvbSBuZXh0Ll9fc2VsZl9fCisgICAgICAgIHJldHVybgorCisgICAgZm9yIG9yZGVyLCBpdCBpbiBlbnVtZXJhdGUobWFwKGl0ZXIsIGl0ZXJhYmxlcykpOgogICAgICAgICB0cnk6CiAgICAgICAgICAgICBuZXh0ID0gaXQuX19uZXh0X18KLSAgICAgICAgICAgIGhfYXBwZW5kKFtuZXh0KCksIGl0bnVtLCBuZXh0XSkKLSAgICAgICAgZXhjZXB0IF9TdG9wSXRlcmF0aW9uOgorICAgICAgICAgICAgdmFsdWUgPSBuZXh0KCkKKyAgICAgICAgICAgIGhfYXBwZW5kKFtrZXkodmFsdWUpLCBvcmRlciAqIGRpcmVjdGlvbiwgdmFsdWUsIG5leHRdKQorICAgICAgICBleGNlcHQgU3RvcEl0ZXJhdGlvbjoKICAgICAgICAgICAgIHBhc3MKLSAgICBoZWFwaWZ5KGgpCi0KLSAgICB3aGlsZSBfbGVuKGgpID4gMToKKyAgICBfaGVhcGlmeShoKQorICAgIHdoaWxlIGxlbihoKSA+IDE6CiAgICAgICAgIHRyeToKICAgICAgICAgICAgIHdoaWxlIFRydWU6Ci0gICAgICAgICAgICAgICAgdiwgaXRudW0sIG5leHQgPSBzID0gaFswXQotICAgICAgICAgICAgICAgIHlpZWxkIHYKLSAgICAgICAgICAgICAgICBzWzBdID0gbmV4dCgpICAgICAgICAgICAgICAgIyByYWlzZXMgU3RvcEl0ZXJhdGlvbiB3aGVuIGV4aGF1c3RlZAotICAgICAgICAgICAgICAgIF9oZWFwcmVwbGFjZShoLCBzKSAgICAgICAgICAjIHJlc3RvcmUgaGVhcCBjb25kaXRpb24KLSAgICAgICAgZXhjZXB0IF9TdG9wSXRlcmF0aW9uOgotICAgICAgICAgICAgX2hlYXBwb3AoaCkgICAgICAgICAgICAgICAgICAgICAjIHJlbW92ZSBlbXB0eSBpdGVyYXRvcgorICAgICAgICAgICAgICAgIGtleV92YWx1ZSwgb3JkZXIsIHZhbHVlLCBuZXh0ID0gcyA9IGhbMF0KKyAgICAgICAgICAgICAgICB5aWVsZCB2YWx1ZQorICAgICAgICAgICAgICAgIHZhbHVlID0gbmV4dCgpCisgICAgICAgICAgICAgICAgc1swXSA9IGtleSh2YWx1ZSkKKyAgICAgICAgICAgICAgICBzWzJdID0gdmFsdWUKKyAgICAgICAgICAgICAgICBfaGVhcHJlcGxhY2UoaCwgcykKKyAgICAgICAgZXhjZXB0IFN0b3BJdGVyYXRpb246CisgICAgICAgICAgICBfaGVhcHBvcChoKQogICAgIGlmIGg6Ci0gICAgICAgICMgZmFzdCBjYXNlIHdoZW4gb25seSBhIHNpbmdsZSBpdGVyYXRvciByZW1haW5zCi0gICAgICAgIHYsIGl0bnVtLCBuZXh0ID0gaFswXQotICAgICAgICB5aWVsZCB2CisgICAgICAgIGtleV92YWx1ZSwgb3JkZXIsIHZhbHVlLCBuZXh0ID0gaFswXQorICAgICAgICB5aWVsZCB2YWx1ZQogICAgICAgICB5aWVsZCBmcm9tIG5leHQuX19zZWxmX18KIAotIyBFeHRlbmQgdGhlIGltcGxlbWVudGF0aW9ucyBvZiBuc21hbGxlc3QgYW5kIG5sYXJnZXN0IHRvIHVzZSBhIGtleT0gYXJndW1lbnQKLV9uc21hbGxlc3QgPSBuc21hbGxlc3QKKworIyBBbGdvcml0aG0gbm90ZXMgZm9yIG5sYXJnZXN0KCkgYW5kIG5zbWFsbGVzdCgpCisjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyMKKyMgTWFrZSBhIHNpbmdsZSBwYXNzIG92ZXIgdGhlIGRhdGEgd2hpbGUga2VlcGluZyB0aGUgayBtb3N0IGV4dHJlbWUgdmFsdWVzCisjIGluIGEgaGVhcC4gIE1lbW9yeSBjb25zdW1wdGlvbiBpcyBsaW1pdGVkIHRvIGtlZXBpbmcgayB2YWx1ZXMgaW4gYSBsaXN0LgorIworIyBNZWFzdXJlZCBwZXJmb3JtYW5jZSBmb3IgcmFuZG9tIGlucHV0czoKKyMKKyMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG51bWJlciBvZiBjb21wYXJpc29ucworIyAgICBuIGlucHV0cyAgICAgay1leHRyZW1lIHZhbHVlcyAgKGF2ZXJhZ2Ugb2YgNSB0cmlhbHMpICAgJSBtb3JlIHRoYW4gbWluKCkKKyMgLS0tLS0tLS0tLS0tLSAgIC0tLS0tLS0tLS0tLS0tLS0gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLSAgIC0tLS0tLS0tLS0tLS0tLS0tCisjICAgICAgMSwwMDAgICAgICAgICAgIDEwMCAgICAgICAgICAgICAgICAgIDMsMzE3ICAgICAgICAgICAgICAgMjMxLjclCisjICAgICAxMCwwMDAgICAgICAgICAgIDEwMCAgICAgICAgICAgICAgICAgMTQsMDQ2ICAgICAgICAgICAgICAgIDQwLjUlCisjICAgIDEwMCwwMDAgICAgICAgICAgIDEwMCAgICAgICAgICAgICAgICAxMDUsNzQ5ICAgICAgICAgICAgICAgICA1LjclCisjICAxLDAwMCwwMDAgICAgICAgICAgIDEwMCAgICAgICAgICAgICAgMSwwMDcsNzUxICAgICAgICAgICAgICAgICAwLjglCisjIDEwLDAwMCwwMDAgICAgICAgICAgIDEwMCAgICAgICAgICAgICAxMCwwMDksNDAxICAgICAgICAgICAgICAgICAwLjElCisjCisjIFRoZW9yZXRpY2FsIG51bWJlciBvZiBjb21wYXJpc29ucyBmb3IgayBzbWFsbGVzdCBvZiBuIHJhbmRvbSBpbnB1dHM6CisjCisjIFN0ZXAgICBDb21wYXJpc29ucyAgICAgICAgICAgICAgICAgIEFjdGlvbgorIyAtLS0tICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgIDEgICAgIDEuNjYgKiBrICAgICAgICAgICAgICAgICAgICAgaGVhcGlmeSB0aGUgZmlyc3Qgay1pbnB1dHMKKyMgIDIgICAgIG4gLSBrICAgICAgICAgICAgICAgICAgICAgICAgY29tcGFyZSByZW1haW5pbmcgZWxlbWVudHMgdG8gdG9wIG9mIGhlYXAKKyMgIDMgICAgIGsgKiAoMSArIGxnMihrKSkgKiBsbihuL2spICAgcmVwbGFjZSB0aGUgdG9wbW9zdCB2YWx1ZSBvbiB0aGUgaGVhcAorIyAgNCAgICAgayAqIGxnMihrKSAtIChrLzIpICAgICAgICAgICBmaW5hbCBzb3J0IG9mIHRoZSBrIG1vc3QgZXh0cmVtZSB2YWx1ZXMKKyMKKyMgQ29tYmluaW5nIGFuZCBzaW1wbGlmeWluZyBmb3IgYSByb3VnaCBlc3RpbWF0ZSBnaXZlczoKKyMKKyMgICAgICAgIGNvbXBhcmlzb25zID0gbiArIGsgKiAobG9nKGssIDIpICogbG9nKG4vaykgKyBsb2coaywgMikgKyBsb2cobi9rKSkKKyMKKyMgQ29tcHV0aW5nIHRoZSBudW1iZXIgb2YgY29tcGFyaXNvbnMgZm9yIHN0ZXAgMzoKKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgKiBGb3IgdGhlIGktdGggbmV3IHZhbHVlIGZyb20gdGhlIGl0ZXJhYmxlLCB0aGUgcHJvYmFiaWxpdHkgb2YgYmVpbmcgaW4gdGhlCisjICAgayBtb3N0IGV4dHJlbWUgdmFsdWVzIGlzIGsvaS4gIEZvciBleGFtcGxlLCB0aGUgcHJvYmFiaWxpdHkgb2YgdGhlIDEwMXN0CisjICAgdmFsdWUgc2VlbiBiZWluZyBpbiB0aGUgMTAwIG1vc3QgZXh0cmVtZSB2YWx1ZXMgaXMgMTAwLzEwMS4KKyMgKiBJZiB0aGUgdmFsdWUgaXMgYSBuZXcgZXh0cmVtZSB2YWx1ZSwgdGhlIGNvc3Qgb2YgaW5zZXJ0aW5nIGl0IGludG8gdGhlCisjICAgaGVhcCBpcyAxICsgbG9nKGssIDIpLgorIyAqIFRoZSBwcm9iYWJpbGl0eSB0aW1lcyB0aGUgY29zdCBnaXZlczoKKyMgICAgICAgICAgICAoay9pKSAqICgxICsgbG9nKGssIDIpKQorIyAqIFN1bW1pbmcgYWNyb3NzIHRoZSByZW1haW5pbmcgbi1rIGVsZW1lbnRzIGdpdmVzOgorIyAgICAgICAgICAgIHN1bSgoay9pKSAqICgxICsgbG9nKGssIDIpKSBmb3IgaSBpbiByYW5nZShrKzEsIG4rMSkpCisjICogVGhpcyByZWR1Y2VzIHRvOgorIyAgICAgICAgICAgIChIKG4pIC0gSChrKSkgKiBrICogKDEgKyBsb2coaywgMikpCisjICogV2hlcmUgSChuKSBpcyB0aGUgbi10aCBoYXJtb25pYyBudW1iZXIgZXN0aW1hdGVkIGJ5OgorIyAgICAgICAgICAgIGdhbW1hID0gMC41NzcyMTU2NjQ5CisjICAgICAgICAgICAgSChuKSA9IGxvZyhuLCBlKSArIGdhbW1hICsgMSAvICgyICogbikKKyMgICBodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0hhcm1vbmljX3Nlcmllc18obWF0aGVtYXRpY3MpI1JhdGVfb2ZfZGl2ZXJnZW5jZQorIyAqIFN1YnN0aXR1dGluZyB0aGUgSChuKSBmb3JtdWxhOgorIyAgICAgICAgICAgIGNvbXBhcmlzb25zID0gayAqICgxICsgbG9nKGssIDIpKSAqIChsb2cobi9rLCBlKSArICgxL24gLSAxL2spIC8gMikKKyMKKyMgV29yc3QtY2FzZSBmb3Igc3RlcCAzOgorIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIEluIHRoZSB3b3JzdCBjYXNlLCB0aGUgaW5wdXQgZGF0YSBpcyByZXZlcnNlZCBzb3J0ZWQgc28gdGhhdCBldmVyeSBuZXcgZWxlbWVudAorIyBtdXN0IGJlIGluc2VydGVkIGluIHRoZSBoZWFwOgorIworIyAgICAgICAgICAgICBjb21wYXJpc29ucyA9IDEuNjYgKiBrICsgbG9nKGssIDIpICogKG4gLSBrKQorIworIyBBbHRlcm5hdGl2ZSBBbGdvcml0aG1zCisjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgT3RoZXIgYWxnb3JpdGhtcyB3ZXJlIG5vdCB1c2VkIGJlY2F1c2UgdGhleToKKyMgMSkgVG9vayBtdWNoIG1vcmUgYXV4aWxpYXJ5IG1lbW9yeSwKKyMgMikgTWFkZSBtdWx0aXBsZSBwYXNzZXMgb3ZlciB0aGUgZGF0YS4KKyMgMykgTWFkZSBtb3JlIGNvbXBhcmlzb25zIGluIGNvbW1vbiBjYXNlcyAoc21hbGwgaywgbGFyZ2Ugbiwgc2VtaS1yYW5kb20gaW5wdXQpLgorIyBTZWUgdGhlIG1vcmUgZGV0YWlsZWQgY29tcGFyaXNvbiBvZiBhcHByb2FjaCBhdDoKKyMgaHR0cDovL2NvZGUuYWN0aXZlc3RhdGUuY29tL3JlY2lwZXMvNTc3NTczLWNvbXBhcmUtYWxnb3JpdGhtcy1mb3ItaGVhcHFzbWFsbGVzdAorCiBkZWYgbnNtYWxsZXN0KG4sIGl0ZXJhYmxlLCBrZXk9Tm9uZSk6CiAgICAgIiIiRmluZCB0aGUgbiBzbWFsbGVzdCBlbGVtZW50cyBpbiBhIGRhdGFzZXQuCiAKICAgICBFcXVpdmFsZW50IHRvOiAgc29ydGVkKGl0ZXJhYmxlLCBrZXk9a2V5KVs6bl0KICAgICAiIiIKLSAgICAjIFNob3J0LWN1dCBmb3Igbj09MSBpcyB0byB1c2UgbWluKCkgd2hlbiBsZW4oaXRlcmFibGUpPjAKKworICAgICMgU2hvcnQtY3V0IGZvciBuPT0xIGlzIHRvIHVzZSBtaW4oKQogICAgIGlmIG4gPT0gMToKICAgICAgICAgaXQgPSBpdGVyKGl0ZXJhYmxlKQotICAgICAgICBoZWFkID0gbGlzdChpc2xpY2UoaXQsIDEpKQotICAgICAgICBpZiBub3QgaGVhZDoKLSAgICAgICAgICAgIHJldHVybiBbXQorICAgICAgICBzZW50aW5lbCA9IG9iamVjdCgpCiAgICAgICAgIGlmIGtleSBpcyBOb25lOgotICAgICAgICAgICAgcmV0dXJuIFttaW4oY2hhaW4oaGVhZCwgaXQpKV0KLSAgICAgICAgcmV0dXJuIFttaW4oY2hhaW4oaGVhZCwgaXQpLCBrZXk9a2V5KV0KKyAgICAgICAgICAgIHJlc3VsdCA9IG1pbihpdCwgZGVmYXVsdD1zZW50aW5lbCkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHJlc3VsdCA9IG1pbihpdCwgZGVmYXVsdD1zZW50aW5lbCwga2V5PWtleSkKKyAgICAgICAgcmV0dXJuIFtdIGlmIHJlc3VsdCBpcyBzZW50aW5lbCBlbHNlIFtyZXN1bHRdCiAKICAgICAjIFdoZW4gbj49c2l6ZSwgaXQncyBmYXN0ZXIgdG8gdXNlIHNvcnRlZCgpCiAgICAgdHJ5OgpAQCAtNDEzLDMyICs0ODUsNTcgQEAKIAogICAgICMgV2hlbiBrZXkgaXMgbm9uZSwgdXNlIHNpbXBsZXIgZGVjb3JhdGlvbgogICAgIGlmIGtleSBpcyBOb25lOgotICAgICAgICBpdCA9IHppcChpdGVyYWJsZSwgY291bnQoKSkgICAgICAgICAgICAgICAgICAgICAgICAgIyBkZWNvcmF0ZQotICAgICAgICByZXN1bHQgPSBfbnNtYWxsZXN0KG4sIGl0KQotICAgICAgICByZXR1cm4gW3JbMF0gZm9yIHIgaW4gcmVzdWx0XSAgICAgICAgICAgICAgICAgICAgICAgIyB1bmRlY29yYXRlCisgICAgICAgIGl0ID0gaXRlcihpdGVyYWJsZSkKKyAgICAgICAgIyBwdXQgdGhlIHJhbmdlKG4pIGZpcnN0IHNvIHRoYXQgemlwKCkgZG9lc24ndAorICAgICAgICAjIGNvbnN1bWUgb25lIHRvbyBtYW55IGVsZW1lbnRzIGZyb20gdGhlIGl0ZXJhdG9yCisgICAgICAgIHJlc3VsdCA9IFsoZWxlbSwgaSkgZm9yIGksIGVsZW0gaW4gemlwKHJhbmdlKG4pLCBpdCldCisgICAgICAgIGlmIG5vdCByZXN1bHQ6CisgICAgICAgICAgICByZXR1cm4gcmVzdWx0CisgICAgICAgIF9oZWFwaWZ5X21heChyZXN1bHQpCisgICAgICAgIHRvcCA9IHJlc3VsdFswXVswXQorICAgICAgICBvcmRlciA9IG4KKyAgICAgICAgX2hlYXByZXBsYWNlID0gX2hlYXByZXBsYWNlX21heAorICAgICAgICBmb3IgZWxlbSBpbiBpdDoKKyAgICAgICAgICAgIGlmIGVsZW0gPCB0b3A6CisgICAgICAgICAgICAgICAgX2hlYXByZXBsYWNlKHJlc3VsdCwgKGVsZW0sIG9yZGVyKSkKKyAgICAgICAgICAgICAgICB0b3AgPSByZXN1bHRbMF1bMF0KKyAgICAgICAgICAgICAgICBvcmRlciArPSAxCisgICAgICAgIHJlc3VsdC5zb3J0KCkKKyAgICAgICAgcmV0dXJuIFtyWzBdIGZvciByIGluIHJlc3VsdF0KIAogICAgICMgR2VuZXJhbCBjYXNlLCBzbG93ZXN0IG1ldGhvZAotICAgIGluMSwgaW4yID0gdGVlKGl0ZXJhYmxlKQotICAgIGl0ID0gemlwKG1hcChrZXksIGluMSksIGNvdW50KCksIGluMikgICAgICAgICAgICAgICAgICAgIyBkZWNvcmF0ZQotICAgIHJlc3VsdCA9IF9uc21hbGxlc3QobiwgaXQpCi0gICAgcmV0dXJuIFtyWzJdIGZvciByIGluIHJlc3VsdF0gICAgICAgICAgICAgICAgICAgICAgICAgICAjIHVuZGVjb3JhdGUKKyAgICBpdCA9IGl0ZXIoaXRlcmFibGUpCisgICAgcmVzdWx0ID0gWyhrZXkoZWxlbSksIGksIGVsZW0pIGZvciBpLCBlbGVtIGluIHppcChyYW5nZShuKSwgaXQpXQorICAgIGlmIG5vdCByZXN1bHQ6CisgICAgICAgIHJldHVybiByZXN1bHQKKyAgICBfaGVhcGlmeV9tYXgocmVzdWx0KQorICAgIHRvcCA9IHJlc3VsdFswXVswXQorICAgIG9yZGVyID0gbgorICAgIF9oZWFwcmVwbGFjZSA9IF9oZWFwcmVwbGFjZV9tYXgKKyAgICBmb3IgZWxlbSBpbiBpdDoKKyAgICAgICAgayA9IGtleShlbGVtKQorICAgICAgICBpZiBrIDwgdG9wOgorICAgICAgICAgICAgX2hlYXByZXBsYWNlKHJlc3VsdCwgKGssIG9yZGVyLCBlbGVtKSkKKyAgICAgICAgICAgIHRvcCA9IHJlc3VsdFswXVswXQorICAgICAgICAgICAgb3JkZXIgKz0gMQorICAgIHJlc3VsdC5zb3J0KCkKKyAgICByZXR1cm4gW3JbMl0gZm9yIHIgaW4gcmVzdWx0XQogCi1fbmxhcmdlc3QgPSBubGFyZ2VzdAogZGVmIG5sYXJnZXN0KG4sIGl0ZXJhYmxlLCBrZXk9Tm9uZSk6CiAgICAgIiIiRmluZCB0aGUgbiBsYXJnZXN0IGVsZW1lbnRzIGluIGEgZGF0YXNldC4KIAogICAgIEVxdWl2YWxlbnQgdG86ICBzb3J0ZWQoaXRlcmFibGUsIGtleT1rZXksIHJldmVyc2U9VHJ1ZSlbOm5dCiAgICAgIiIiCiAKLSAgICAjIFNob3J0LWN1dCBmb3Igbj09MSBpcyB0byB1c2UgbWF4KCkgd2hlbiBsZW4oaXRlcmFibGUpPjAKKyAgICAjIFNob3J0LWN1dCBmb3Igbj09MSBpcyB0byB1c2UgbWF4KCkKICAgICBpZiBuID09IDE6CiAgICAgICAgIGl0ID0gaXRlcihpdGVyYWJsZSkKLSAgICAgICAgaGVhZCA9IGxpc3QoaXNsaWNlKGl0LCAxKSkKLSAgICAgICAgaWYgbm90IGhlYWQ6Ci0gICAgICAgICAgICByZXR1cm4gW10KKyAgICAgICAgc2VudGluZWwgPSBvYmplY3QoKQogICAgICAgICBpZiBrZXkgaXMgTm9uZToKLSAgICAgICAgICAgIHJldHVybiBbbWF4KGNoYWluKGhlYWQsIGl0KSldCi0gICAgICAgIHJldHVybiBbbWF4KGNoYWluKGhlYWQsIGl0KSwga2V5PWtleSldCisgICAgICAgICAgICByZXN1bHQgPSBtYXgoaXQsIGRlZmF1bHQ9c2VudGluZWwpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICByZXN1bHQgPSBtYXgoaXQsIGRlZmF1bHQ9c2VudGluZWwsIGtleT1rZXkpCisgICAgICAgIHJldHVybiBbXSBpZiByZXN1bHQgaXMgc2VudGluZWwgZWxzZSBbcmVzdWx0XQogCiAgICAgIyBXaGVuIG4+PXNpemUsIGl0J3MgZmFzdGVyIHRvIHVzZSBzb3J0ZWQoKQogICAgIHRyeToKQEAgLTQ1MSwyNiArNTQ4LDYwIEBACiAKICAgICAjIFdoZW4ga2V5IGlzIG5vbmUsIHVzZSBzaW1wbGVyIGRlY29yYXRpb24KICAgICBpZiBrZXkgaXMgTm9uZToKLSAgICAgICAgaXQgPSB6aXAoaXRlcmFibGUsIGNvdW50KDAsLTEpKSAgICAgICAgICAgICAgICAgICAgICMgZGVjb3JhdGUKLSAgICAgICAgcmVzdWx0ID0gX25sYXJnZXN0KG4sIGl0KQotICAgICAgICByZXR1cm4gW3JbMF0gZm9yIHIgaW4gcmVzdWx0XSAgICAgICAgICAgICAgICAgICAgICAgIyB1bmRlY29yYXRlCisgICAgICAgIGl0ID0gaXRlcihpdGVyYWJsZSkKKyAgICAgICAgcmVzdWx0ID0gWyhlbGVtLCBpKSBmb3IgaSwgZWxlbSBpbiB6aXAocmFuZ2UoMCwgLW4sIC0xKSwgaXQpXQorICAgICAgICBpZiBub3QgcmVzdWx0OgorICAgICAgICAgICAgcmV0dXJuIHJlc3VsdAorICAgICAgICBoZWFwaWZ5KHJlc3VsdCkKKyAgICAgICAgdG9wID0gcmVzdWx0WzBdWzBdCisgICAgICAgIG9yZGVyID0gLW4KKyAgICAgICAgX2hlYXByZXBsYWNlID0gaGVhcHJlcGxhY2UKKyAgICAgICAgZm9yIGVsZW0gaW4gaXQ6CisgICAgICAgICAgICBpZiB0b3AgPCBlbGVtOgorICAgICAgICAgICAgICAgIF9oZWFwcmVwbGFjZShyZXN1bHQsIChlbGVtLCBvcmRlcikpCisgICAgICAgICAgICAgICAgdG9wID0gcmVzdWx0WzBdWzBdCisgICAgICAgICAgICAgICAgb3JkZXIgLT0gMQorICAgICAgICByZXN1bHQuc29ydChyZXZlcnNlPVRydWUpCisgICAgICAgIHJldHVybiBbclswXSBmb3IgciBpbiByZXN1bHRdCiAKICAgICAjIEdlbmVyYWwgY2FzZSwgc2xvd2VzdCBtZXRob2QKLSAgICBpbjEsIGluMiA9IHRlZShpdGVyYWJsZSkKLSAgICBpdCA9IHppcChtYXAoa2V5LCBpbjEpLCBjb3VudCgwLC0xKSwgaW4yKSAgICAgICAgICAgICAgICMgZGVjb3JhdGUKLSAgICByZXN1bHQgPSBfbmxhcmdlc3QobiwgaXQpCi0gICAgcmV0dXJuIFtyWzJdIGZvciByIGluIHJlc3VsdF0gICAgICAgICAgICAgICAgICAgICAgICAgICAjIHVuZGVjb3JhdGUKKyAgICBpdCA9IGl0ZXIoaXRlcmFibGUpCisgICAgcmVzdWx0ID0gWyhrZXkoZWxlbSksIGksIGVsZW0pIGZvciBpLCBlbGVtIGluIHppcChyYW5nZSgwLCAtbiwgLTEpLCBpdCldCisgICAgaWYgbm90IHJlc3VsdDoKKyAgICAgICAgcmV0dXJuIHJlc3VsdAorICAgIGhlYXBpZnkocmVzdWx0KQorICAgIHRvcCA9IHJlc3VsdFswXVswXQorICAgIG9yZGVyID0gLW4KKyAgICBfaGVhcHJlcGxhY2UgPSBoZWFwcmVwbGFjZQorICAgIGZvciBlbGVtIGluIGl0OgorICAgICAgICBrID0ga2V5KGVsZW0pCisgICAgICAgIGlmIHRvcCA8IGs6CisgICAgICAgICAgICBfaGVhcHJlcGxhY2UocmVzdWx0LCAoaywgb3JkZXIsIGVsZW0pKQorICAgICAgICAgICAgdG9wID0gcmVzdWx0WzBdWzBdCisgICAgICAgICAgICBvcmRlciAtPSAxCisgICAgcmVzdWx0LnNvcnQocmV2ZXJzZT1UcnVlKQorICAgIHJldHVybiBbclsyXSBmb3IgciBpbiByZXN1bHRdCisKKyMgSWYgYXZhaWxhYmxlLCB1c2UgQyBpbXBsZW1lbnRhdGlvbgordHJ5OgorICAgIGZyb20gX2hlYXBxIGltcG9ydCAqCitleGNlcHQgSW1wb3J0RXJyb3I6CisgICAgcGFzcwordHJ5OgorICAgIGZyb20gX2hlYXBxIGltcG9ydCBfaGVhcHJlcGxhY2VfbWF4CitleGNlcHQgSW1wb3J0RXJyb3I6CisgICAgcGFzcwordHJ5OgorICAgIGZyb20gX2hlYXBxIGltcG9ydCBfaGVhcGlmeV9tYXgKK2V4Y2VwdCBJbXBvcnRFcnJvcjoKKyAgICBwYXNzCit0cnk6CisgICAgZnJvbSBfaGVhcHEgaW1wb3J0IF9oZWFwcG9wX21heAorZXhjZXB0IEltcG9ydEVycm9yOgorICAgIHBhc3MKKwogCiBpZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgotICAgICMgU2ltcGxlIHNhbml0eSB0ZXN0Ci0gICAgaGVhcCA9IFtdCi0gICAgZGF0YSA9IFsxLCAzLCA1LCA3LCA5LCAyLCA0LCA2LCA4LCAwXQotICAgIGZvciBpdGVtIGluIGRhdGE6Ci0gICAgICAgIGhlYXBwdXNoKGhlYXAsIGl0ZW0pCi0gICAgc29ydCA9IFtdCi0gICAgd2hpbGUgaGVhcDoKLSAgICAgICAgc29ydC5hcHBlbmQoaGVhcHBvcChoZWFwKSkKLSAgICBwcmludChzb3J0KQogCiAgICAgaW1wb3J0IGRvY3Rlc3QKLSAgICBkb2N0ZXN0LnRlc3Rtb2QoKQorICAgIHByaW50KGRvY3Rlc3QudGVzdG1vZCgpKQpkaWZmIC0tZ2l0IGEvTGliL2h0bWwvZW50aXRpZXMucHkgYi9MaWIvaHRtbC9lbnRpdGllcy5weQppbmRleCBmN2RlYWU2Li4zZTE3NzhiIDEwMDY0NAotLS0gYS9MaWIvaHRtbC9lbnRpdGllcy5weQorKysgYi9MaWIvaHRtbC9lbnRpdGllcy5weQpAQCAtMSw1ICsxLDggQEAKICIiIkhUTUwgY2hhcmFjdGVyIGVudGl0eSByZWZlcmVuY2VzLiIiIgogCitfX2FsbF9fID0gWydodG1sNScsICduYW1lMmNvZGVwb2ludCcsICdjb2RlcG9pbnQybmFtZScsICdlbnRpdHlkZWZzJ10KKworCiAjIG1hcHMgdGhlIEhUTUwgZW50aXR5IG5hbWUgdG8gdGhlIFVuaWNvZGUgY29kZSBwb2ludAogbmFtZTJjb2RlcG9pbnQgPSB7CiAgICAgJ0FFbGlnJzogICAgMHgwMGM2LCAjIGxhdGluIGNhcGl0YWwgbGV0dGVyIEFFID0gbGF0aW4gY2FwaXRhbCBsaWdhdHVyZSBBRSwgVSswMEM2IElTT2xhdDEKZGlmZiAtLWdpdCBhL0xpYi9odG1sL3BhcnNlci5weSBiL0xpYi9odG1sL3BhcnNlci5weQppbmRleCBhNjUwZDVlLi4zOTBkNGNjIDEwMDY0NAotLS0gYS9MaWIvaHRtbC9wYXJzZXIucHkKKysrIGIvTGliL2h0bWwvcGFyc2VyLnB5CkBAIC0yOSwzNSArMjksMTUgQEAKIHBpY2xvc2UgPSByZS5jb21waWxlKCc+JykKIGNvbW1lbnRjbG9zZSA9IHJlLmNvbXBpbGUocictLVxzKj4nKQogIyBOb3RlOgotIyAgMSkgdGhlIHN0cmljdCBhdHRyZmluZCBpc24ndCByZWFsbHkgc3RyaWN0LCBidXQgd2UgY2FuJ3QgbWFrZSBpdAotIyAgICAgY29ycmVjdGx5IHN0cmljdCB3aXRob3V0IGJyZWFraW5nIGJhY2t3YXJkIGNvbXBhdGliaWxpdHk7Ci0jICAyKSBpZiB5b3UgY2hhbmdlIHRhZ2ZpbmQvYXR0cmZpbmQgcmVtZW1iZXIgdG8gdXBkYXRlIGxvY2F0ZXN0YXJ0dGFnZW5kIHRvbzsKLSMgIDMpIGlmIHlvdSBjaGFuZ2UgdGFnZmluZC9hdHRyZmluZCBhbmQvb3IgbG9jYXRlc3RhcnR0YWdlbmQgdGhlIHBhcnNlciB3aWxsCisjICAxKSBpZiB5b3UgY2hhbmdlIHRhZ2ZpbmQvYXR0cmZpbmQgcmVtZW1iZXIgdG8gdXBkYXRlIGxvY2F0ZXN0YXJ0dGFnZW5kIHRvbzsKKyMgIDIpIGlmIHlvdSBjaGFuZ2UgdGFnZmluZC9hdHRyZmluZCBhbmQvb3IgbG9jYXRlc3RhcnR0YWdlbmQgdGhlIHBhcnNlciB3aWxsCiAjICAgICBleHBsb2RlLCBzbyBkb24ndCBkbyBpdC4KLXRhZ2ZpbmQgPSByZS5jb21waWxlKCcoW2EtekEtWl1bLS5hLXpBLVowLTk6X10qKSg/OlxzfC8oPyE+KSkqJykKICMgc2VlIGh0dHA6Ly93d3cudzMub3JnL1RSL2h0bWw1L3Rva2VuaXphdGlvbi5odG1sI3RhZy1vcGVuLXN0YXRlCiAjIGFuZCBodHRwOi8vd3d3LnczLm9yZy9UUi9odG1sNS90b2tlbml6YXRpb24uaHRtbCN0YWctbmFtZS1zdGF0ZQogdGFnZmluZF90b2xlcmFudCA9IHJlLmNvbXBpbGUoJyhbYS16QS1aXVteXHRcblxyXGYgLz5ceDAwXSopKD86XHN8Lyg/IT4pKSonKQotYXR0cmZpbmQgPSByZS5jb21waWxlKAotICAgIHInXHMqKFthLXpBLVpfXVstLjphLXpBLVpfMC05XSopKFxzKj1ccyonCi0gICAgcicoXCdbXlwnXSpcJ3wiW14iXSoifFteXHMiXCc9PD5gXSopKT8nKQogYXR0cmZpbmRfdG9sZXJhbnQgPSByZS5jb21waWxlKAogICAgIHInKCg/PD1bXCciXHMvXSlbXlxzLz5dW15ccy89Pl0qKShccyo9K1xzKicKICAgICByJyhcJ1teXCddKlwnfCJbXiJdKiJ8KD8hW1wnIl0pW14+XHNdKikpPyg/OlxzfC8oPyE+KSkqJykKLWxvY2F0ZXN0YXJ0dGFnZW5kID0gcmUuY29tcGlsZShyIiIiCi0gIDxbYS16QS1aXVstLmEtekEtWjAtOTpfXSogICAgICAgICAgIyB0YWcgbmFtZQotICAoPzpccysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgd2hpdGVzcGFjZSBiZWZvcmUgYXR0cmlidXRlIG5hbWUKLSAgICAoPzpbYS16QS1aX11bLS46YS16QS1aMC05X10qICAgICAjIGF0dHJpYnV0ZSBuYW1lCi0gICAgICAoPzpccyo9XHMqICAgICAgICAgICAgICAgICAgICAgIyB2YWx1ZSBpbmRpY2F0b3IKLSAgICAgICAgKD86J1teJ10qJyAgICAgICAgICAgICAgICAgICAjIExJVEEtZW5jbG9zZWQgdmFsdWUKLSAgICAgICAgICB8XCJbXlwiXSpcIiAgICAgICAgICAgICAgICAjIExJVC1lbmNsb3NlZCB2YWx1ZQotICAgICAgICAgIHxbXidcIj5cc10rICAgICAgICAgICAgICAgICMgYmFyZSB2YWx1ZQotICAgICAgICAgKQotICAgICAgICk/Ci0gICAgICkKLSAgICkqCi0gIFxzKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyB0cmFpbGluZyB3aGl0ZXNwYWNlCi0iIiIsIHJlLlZFUkJPU0UpCiBsb2NhdGVzdGFydHRhZ2VuZF90b2xlcmFudCA9IHJlLmNvbXBpbGUociIiIgogICA8W2EtekEtWl1bXlx0XG5cclxmIC8+XHgwMF0qICAgICAgICMgdGFnIG5hbWUKICAgKD86W1xzL10qICAgICAgICAgICAgICAgICAgICAgICAgICAjIG9wdGlvbmFsIHdoaXRlc3BhY2UgYmVmb3JlIGF0dHJpYnV0ZSBuYW1lCkBAIC03OSwyNSArNTksNiBAQAogZW5kdGFnZmluZCA9IHJlLmNvbXBpbGUoJzwvXHMqKFthLXpBLVpdWy0uYS16QS1aMC05Ol9dKilccyo+JykKIAogCi1jbGFzcyBIVE1MUGFyc2VFcnJvcihFeGNlcHRpb24pOgotICAgICIiIkV4Y2VwdGlvbiByYWlzZWQgZm9yIGFsbCBwYXJzZSBlcnJvcnMuIiIiCi0KLSAgICBkZWYgX19pbml0X18oc2VsZiwgbXNnLCBwb3NpdGlvbj0oTm9uZSwgTm9uZSkpOgotICAgICAgICBhc3NlcnQgbXNnCi0gICAgICAgIHNlbGYubXNnID0gbXNnCi0gICAgICAgIHNlbGYubGluZW5vID0gcG9zaXRpb25bMF0KLSAgICAgICAgc2VsZi5vZmZzZXQgPSBwb3NpdGlvblsxXQotCi0gICAgZGVmIF9fc3RyX18oc2VsZik6Ci0gICAgICAgIHJlc3VsdCA9IHNlbGYubXNnCi0gICAgICAgIGlmIHNlbGYubGluZW5vIGlzIG5vdCBOb25lOgotICAgICAgICAgICAgcmVzdWx0ID0gcmVzdWx0ICsgIiwgYXQgbGluZSAlZCIgJSBzZWxmLmxpbmVubwotICAgICAgICBpZiBzZWxmLm9mZnNldCBpcyBub3QgTm9uZToKLSAgICAgICAgICAgIHJlc3VsdCA9IHJlc3VsdCArICIsIGNvbHVtbiAlZCIgJSAoc2VsZi5vZmZzZXQgKyAxKQotICAgICAgICByZXR1cm4gcmVzdWx0Ci0KLQotX2RlZmF1bHRfc2VudGluZWwgPSBvYmplY3QoKQogCiBjbGFzcyBIVE1MUGFyc2VyKF9tYXJrdXBiYXNlLlBhcnNlckJhc2UpOgogICAgICIiIkZpbmQgdGFncyBhbmQgb3RoZXIgbWFya3VwIGFuZCBjYWxsIGhhbmRsZXIgZnVuY3Rpb25zLgpAQCAtMTIzLDI3ICs4NCwxMiBAQAogCiAgICAgQ0RBVEFfQ09OVEVOVF9FTEVNRU5UUyA9ICgic2NyaXB0IiwgInN0eWxlIikKIAotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBzdHJpY3Q9X2RlZmF1bHRfc2VudGluZWwsICosCi0gICAgICAgICAgICAgICAgIGNvbnZlcnRfY2hhcnJlZnM9X2RlZmF1bHRfc2VudGluZWwpOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCAqLCBjb252ZXJ0X2NoYXJyZWZzPVRydWUpOgogICAgICAgICAiIiJJbml0aWFsaXplIGFuZCByZXNldCB0aGlzIGluc3RhbmNlLgogCi0gICAgICAgIElmIGNvbnZlcnRfY2hhcnJlZnMgaXMgVHJ1ZSAoZGVmYXVsdDogRmFsc2UpLCBhbGwgY2hhcmFjdGVyIHJlZmVyZW5jZXMKKyAgICAgICAgSWYgY29udmVydF9jaGFycmVmcyBpcyBUcnVlICh0aGUgZGVmYXVsdCksIGFsbCBjaGFyYWN0ZXIgcmVmZXJlbmNlcwogICAgICAgICBhcmUgYXV0b21hdGljYWxseSBjb252ZXJ0ZWQgdG8gdGhlIGNvcnJlc3BvbmRpbmcgVW5pY29kZSBjaGFyYWN0ZXJzLgotICAgICAgICBJZiBzdHJpY3QgaXMgc2V0IHRvIEZhbHNlICh0aGUgZGVmYXVsdCkgdGhlIHBhcnNlciB3aWxsIHBhcnNlIGludmFsaWQKLSAgICAgICAgbWFya3VwLCBvdGhlcndpc2UgaXQgd2lsbCByYWlzZSBhbiBlcnJvci4gIE5vdGUgdGhhdCB0aGUgc3RyaWN0IG1vZGUKLSAgICAgICAgYW5kIGFyZ3VtZW50IGFyZSBkZXByZWNhdGVkLgogICAgICAgICAiIiIKLSAgICAgICAgaWYgc3RyaWN0IGlzIG5vdCBfZGVmYXVsdF9zZW50aW5lbDoKLSAgICAgICAgICAgIHdhcm5pbmdzLndhcm4oIlRoZSBzdHJpY3QgYXJndW1lbnQgYW5kIG1vZGUgYXJlIGRlcHJlY2F0ZWQuIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgRGVwcmVjYXRpb25XYXJuaW5nLCBzdGFja2xldmVsPTIpCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBzdHJpY3QgPSBGYWxzZSAgIyBkZWZhdWx0Ci0gICAgICAgIHNlbGYuc3RyaWN0ID0gc3RyaWN0Ci0gICAgICAgIGlmIGNvbnZlcnRfY2hhcnJlZnMgaXMgX2RlZmF1bHRfc2VudGluZWw6Ci0gICAgICAgICAgICBjb252ZXJ0X2NoYXJyZWZzID0gRmFsc2UgICMgZGVmYXVsdAotICAgICAgICAgICAgd2FybmluZ3Mud2FybigiVGhlIHZhbHVlIG9mIGNvbnZlcnRfY2hhcnJlZnMgd2lsbCBiZWNvbWUgVHJ1ZSBpbiAiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICIzLjUuIFlvdSBhcmUgZW5jb3VyYWdlZCB0byBzZXQgdGhlIHZhbHVlIGV4cGxpY2l0bHkuIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgRGVwcmVjYXRpb25XYXJuaW5nLCBzdGFja2xldmVsPTIpCiAgICAgICAgIHNlbGYuY29udmVydF9jaGFycmVmcyA9IGNvbnZlcnRfY2hhcnJlZnMKICAgICAgICAgc2VsZi5yZXNldCgpCiAKQEAgLTE2OCwxMSArMTE0LDYgQEAKICAgICAgICAgIiIiSGFuZGxlIGFueSBidWZmZXJlZCBkYXRhLiIiIgogICAgICAgICBzZWxmLmdvYWhlYWQoMSkKIAotICAgIGRlZiBlcnJvcihzZWxmLCBtZXNzYWdlKToKLSAgICAgICAgd2FybmluZ3Mud2FybigiVGhlICdlcnJvcicgbWV0aG9kIGlzIGRlcHJlY2F0ZWQuIiwKLSAgICAgICAgICAgICAgICAgICAgICBEZXByZWNhdGlvbldhcm5pbmcsIHN0YWNrbGV2ZWw9MikKLSAgICAgICAgcmFpc2UgSFRNTFBhcnNlRXJyb3IobWVzc2FnZSwgc2VsZi5nZXRwb3MoKSkKLQogICAgIF9fc3RhcnR0YWdfdGV4dCA9IE5vbmUKIAogICAgIGRlZiBnZXRfc3RhcnR0YWdfdGV4dChzZWxmKToKQEAgLTIyNywxMCArMTY4LDcgQEAKICAgICAgICAgICAgICAgICBlbGlmIHN0YXJ0c3dpdGgoIjw/IiwgaSk6CiAgICAgICAgICAgICAgICAgICAgIGsgPSBzZWxmLnBhcnNlX3BpKGkpCiAgICAgICAgICAgICAgICAgZWxpZiBzdGFydHN3aXRoKCI8ISIsIGkpOgotICAgICAgICAgICAgICAgICAgICBpZiBzZWxmLnN0cmljdDoKLSAgICAgICAgICAgICAgICAgICAgICAgIGsgPSBzZWxmLnBhcnNlX2RlY2xhcmF0aW9uKGkpCi0gICAgICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgICAgICBrID0gc2VsZi5wYXJzZV9odG1sX2RlY2xhcmF0aW9uKGkpCisgICAgICAgICAgICAgICAgICAgIGsgPSBzZWxmLnBhcnNlX2h0bWxfZGVjbGFyYXRpb24oaSkKICAgICAgICAgICAgICAgICBlbGlmIChpICsgMSkgPCBuOgogICAgICAgICAgICAgICAgICAgICBzZWxmLmhhbmRsZV9kYXRhKCI8IikKICAgICAgICAgICAgICAgICAgICAgayA9IGkgKyAxCkBAIC0yMzksOCArMTc3LDYgQEAKICAgICAgICAgICAgICAgICBpZiBrIDwgMDoKICAgICAgICAgICAgICAgICAgICAgaWYgbm90IGVuZDoKICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrCi0gICAgICAgICAgICAgICAgICAgIGlmIHNlbGYuc3RyaWN0OgotICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5lcnJvcigiRU9GIGluIG1pZGRsZSBvZiBjb25zdHJ1Y3QiKQogICAgICAgICAgICAgICAgICAgICBrID0gcmF3ZGF0YS5maW5kKCc+JywgaSArIDEpCiAgICAgICAgICAgICAgICAgICAgIGlmIGsgPCAwOgogICAgICAgICAgICAgICAgICAgICAgICAgayA9IHJhd2RhdGEuZmluZCgnPCcsIGkgKyAxKQpAQCAtMjgyLDEzICsyMTgsMTAgQEAKICAgICAgICAgICAgICAgICBpZiBtYXRjaDoKICAgICAgICAgICAgICAgICAgICAgIyBtYXRjaC5ncm91cCgpIHdpbGwgY29udGFpbiBhdCBsZWFzdCAyIGNoYXJzCiAgICAgICAgICAgICAgICAgICAgIGlmIGVuZCBhbmQgbWF0Y2guZ3JvdXAoKSA9PSByYXdkYXRhW2k6XToKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIHNlbGYuc3RyaWN0OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuZXJyb3IoIkVPRiBpbiBtaWRkbGUgb2YgZW50aXR5IG9yIGNoYXIgcmVmIikKLSAgICAgICAgICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgayA9IG1hdGNoLmVuZCgpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgayA8PSBpOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrID0gbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGkgPSBzZWxmLnVwZGF0ZXBvcyhpLCBpICsgMSkKKyAgICAgICAgICAgICAgICAgICAgICAgIGsgPSBtYXRjaC5lbmQoKQorICAgICAgICAgICAgICAgICAgICAgICAgaWYgayA8PSBpOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGsgPSBuCisgICAgICAgICAgICAgICAgICAgICAgICBpID0gc2VsZi51cGRhdGVwb3MoaSwgaSArIDEpCiAgICAgICAgICAgICAgICAgICAgICMgaW5jb21wbGV0ZQogICAgICAgICAgICAgICAgICAgICBicmVhawogICAgICAgICAgICAgICAgIGVsaWYgKGkgKyAxKSA8IG46CkBAIC0zNjcsMTggKzMwMCwxMiBAQAogCiAgICAgICAgICMgTm93IHBhcnNlIHRoZSBkYXRhIGJldHdlZW4gaSsxIGFuZCBqIGludG8gYSB0YWcgYW5kIGF0dHJzCiAgICAgICAgIGF0dHJzID0gW10KLSAgICAgICAgaWYgc2VsZi5zdHJpY3Q6Ci0gICAgICAgICAgICBtYXRjaCA9IHRhZ2ZpbmQubWF0Y2gocmF3ZGF0YSwgaSsxKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgbWF0Y2ggPSB0YWdmaW5kX3RvbGVyYW50Lm1hdGNoKHJhd2RhdGEsIGkrMSkKKyAgICAgICAgbWF0Y2ggPSB0YWdmaW5kX3RvbGVyYW50Lm1hdGNoKHJhd2RhdGEsIGkrMSkKICAgICAgICAgYXNzZXJ0IG1hdGNoLCAndW5leHBlY3RlZCBjYWxsIHRvIHBhcnNlX3N0YXJ0dGFnKCknCiAgICAgICAgIGsgPSBtYXRjaC5lbmQoKQogICAgICAgICBzZWxmLmxhc3R0YWcgPSB0YWcgPSBtYXRjaC5ncm91cCgxKS5sb3dlcigpCiAgICAgICAgIHdoaWxlIGsgPCBlbmRwb3M6Ci0gICAgICAgICAgICBpZiBzZWxmLnN0cmljdDoKLSAgICAgICAgICAgICAgICBtID0gYXR0cmZpbmQubWF0Y2gocmF3ZGF0YSwgaykKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgbSA9IGF0dHJmaW5kX3RvbGVyYW50Lm1hdGNoKHJhd2RhdGEsIGspCisgICAgICAgICAgICBtID0gYXR0cmZpbmRfdG9sZXJhbnQubWF0Y2gocmF3ZGF0YSwgaykKICAgICAgICAgICAgIGlmIG5vdCBtOgogICAgICAgICAgICAgICAgIGJyZWFrCiAgICAgICAgICAgICBhdHRybmFtZSwgcmVzdCwgYXR0cnZhbHVlID0gbS5ncm91cCgxLCAyLCAzKQpAQCAtNDAxLDkgKzMyOCw2IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgLSBzZWxmLl9fc3RhcnR0YWdfdGV4dC5yZmluZCgiXG4iKQogICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICBvZmZzZXQgPSBvZmZzZXQgKyBsZW4oc2VsZi5fX3N0YXJ0dGFnX3RleHQpCi0gICAgICAgICAgICBpZiBzZWxmLnN0cmljdDoKLSAgICAgICAgICAgICAgICBzZWxmLmVycm9yKCJqdW5rIGNoYXJhY3RlcnMgaW4gc3RhcnQgdGFnOiAlciIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICUgKHJhd2RhdGFbazplbmRwb3NdWzoyMF0sKSkKICAgICAgICAgICAgIHNlbGYuaGFuZGxlX2RhdGEocmF3ZGF0YVtpOmVuZHBvc10pCiAgICAgICAgICAgICByZXR1cm4gZW5kcG9zCiAgICAgICAgIGlmIGVuZC5lbmRzd2l0aCgnLz4nKToKQEAgLTQxOSwxMCArMzQzLDcgQEAKICAgICAjIG9yIC0xIGlmIGluY29tcGxldGUuCiAgICAgZGVmIGNoZWNrX2Zvcl93aG9sZV9zdGFydF90YWcoc2VsZiwgaSk6CiAgICAgICAgIHJhd2RhdGEgPSBzZWxmLnJhd2RhdGEKLSAgICAgICAgaWYgc2VsZi5zdHJpY3Q6Ci0gICAgICAgICAgICBtID0gbG9jYXRlc3RhcnR0YWdlbmQubWF0Y2gocmF3ZGF0YSwgaSkKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIG0gPSBsb2NhdGVzdGFydHRhZ2VuZF90b2xlcmFudC5tYXRjaChyYXdkYXRhLCBpKQorICAgICAgICBtID0gbG9jYXRlc3RhcnR0YWdlbmRfdG9sZXJhbnQubWF0Y2gocmF3ZGF0YSwgaSkKICAgICAgICAgaWYgbToKICAgICAgICAgICAgIGogPSBtLmVuZCgpCiAgICAgICAgICAgICBuZXh0ID0gcmF3ZGF0YVtqOmorMV0KQEAgLTQzNSw5ICszNTYsNiBAQAogICAgICAgICAgICAgICAgICAgICAjIGJ1ZmZlciBib3VuZGFyeQogICAgICAgICAgICAgICAgICAgICByZXR1cm4gLTEKICAgICAgICAgICAgICAgICAjIGVsc2UgYm9ndXMgaW5wdXQKLSAgICAgICAgICAgICAgICBpZiBzZWxmLnN0cmljdDoKLSAgICAgICAgICAgICAgICAgICAgc2VsZi51cGRhdGVwb3MoaSwgaiArIDEpCi0gICAgICAgICAgICAgICAgICAgIHNlbGYuZXJyb3IoIm1hbGZvcm1lZCBlbXB0eSBzdGFydCB0YWciKQogICAgICAgICAgICAgICAgIGlmIGogPiBpOgogICAgICAgICAgICAgICAgICAgICByZXR1cm4gagogICAgICAgICAgICAgICAgIGVsc2U6CkBAIC00NTAsOSArMzY4LDYgQEAKICAgICAgICAgICAgICAgICAjIGVuZCBvZiBpbnB1dCBpbiBvciBiZWZvcmUgYXR0cmlidXRlIHZhbHVlLCBvciB3ZSBoYXZlIHRoZQogICAgICAgICAgICAgICAgICMgJy8nIGZyb20gYSAnLz4nIGVuZGluZwogICAgICAgICAgICAgICAgIHJldHVybiAtMQotICAgICAgICAgICAgaWYgc2VsZi5zdHJpY3Q6Ci0gICAgICAgICAgICAgICAgc2VsZi51cGRhdGVwb3MoaSwgaikKLSAgICAgICAgICAgICAgICBzZWxmLmVycm9yKCJtYWxmb3JtZWQgc3RhcnQgdGFnIikKICAgICAgICAgICAgIGlmIGogPiBpOgogICAgICAgICAgICAgICAgIHJldHVybiBqCiAgICAgICAgICAgICBlbHNlOgpAQCAtNDcyLDggKzM4Nyw2IEBACiAgICAgICAgICAgICBpZiBzZWxmLmNkYXRhX2VsZW0gaXMgbm90IE5vbmU6CiAgICAgICAgICAgICAgICAgc2VsZi5oYW5kbGVfZGF0YShyYXdkYXRhW2k6Z3Rwb3NdKQogICAgICAgICAgICAgICAgIHJldHVybiBndHBvcwotICAgICAgICAgICAgaWYgc2VsZi5zdHJpY3Q6Ci0gICAgICAgICAgICAgICAgc2VsZi5lcnJvcigiYmFkIGVuZCB0YWc6ICVyIiAlIChyYXdkYXRhW2k6Z3Rwb3NdLCkpCiAgICAgICAgICAgICAjIGZpbmQgdGhlIG5hbWU6IHczLm9yZy9UUi9odG1sNS90b2tlbml6YXRpb24uaHRtbCN0YWctbmFtZS1zdGF0ZQogICAgICAgICAgICAgbmFtZW1hdGNoID0gdGFnZmluZF90b2xlcmFudC5tYXRjaChyYXdkYXRhLCBpKzIpCiAgICAgICAgICAgICBpZiBub3QgbmFtZW1hdGNoOgpAQCAtNTM5LDggKzQ1Miw3IEBACiAgICAgICAgIHBhc3MKIAogICAgIGRlZiB1bmtub3duX2RlY2woc2VsZiwgZGF0YSk6Ci0gICAgICAgIGlmIHNlbGYuc3RyaWN0OgotICAgICAgICAgICAgc2VsZi5lcnJvcigidW5rbm93biBkZWNsYXJhdGlvbjogJXIiICUgKGRhdGEsKSkKKyAgICAgICAgcGFzcwogCiAgICAgIyBJbnRlcm5hbCAtLSBoZWxwZXIgdG8gcmVtb3ZlIHNwZWNpYWwgY2hhcmFjdGVyIHF1b3RpbmcKICAgICBkZWYgdW5lc2NhcGUoc2VsZiwgcyk6CmRpZmYgLS1naXQgYS9MaWIvaHR0cC9fX2luaXRfXy5weSBiL0xpYi9odHRwL19faW5pdF9fLnB5CmluZGV4IDE5NmQzNzguLmQ0MzM0Y2MgMTAwNjQ0Ci0tLSBhL0xpYi9odHRwL19faW5pdF9fLnB5CisrKyBiL0xpYi9odHRwL19faW5pdF9fLnB5CkBAIC0xICsxLDEzNCBAQAotIyBUaGlzIGRpcmVjdG9yeSBpcyBhIFB5dGhvbiBwYWNrYWdlLgorZnJvbSBlbnVtIGltcG9ydCBJbnRFbnVtCisKK19fYWxsX18gPSBbJ0hUVFBTdGF0dXMnXQorCitjbGFzcyBIVFRQU3RhdHVzKEludEVudW0pOgorICAgICIiIkhUVFAgc3RhdHVzIGNvZGVzIGFuZCByZWFzb24gcGhyYXNlcworCisgICAgU3RhdHVzIGNvZGVzIGZyb20gdGhlIGZvbGxvd2luZyBSRkNzIGFyZSBhbGwgb2JzZXJ2ZWQ6CisKKyAgICAgICAgKiBSRkMgNzIzMTogSHlwZXJ0ZXh0IFRyYW5zZmVyIFByb3RvY29sIChIVFRQLzEuMSksIG9ic29sZXRlcyAyNjE2CisgICAgICAgICogUkZDIDY1ODU6IEFkZGl0aW9uYWwgSFRUUCBTdGF0dXMgQ29kZXMKKyAgICAgICAgKiBSRkMgMzIyOTogRGVsdGEgZW5jb2RpbmcgaW4gSFRUUAorICAgICAgICAqIFJGQyA0OTE4OiBIVFRQIEV4dGVuc2lvbnMgZm9yIFdlYkRBViwgb2Jzb2xldGVzIDI1MTgKKyAgICAgICAgKiBSRkMgNTg0MjogQmluZGluZyBFeHRlbnNpb25zIHRvIFdlYkRBVgorICAgICAgICAqIFJGQyA3MjM4OiBQZXJtYW5lbnQgUmVkaXJlY3QKKyAgICAgICAgKiBSRkMgMjI5NTogVHJhbnNwYXJlbnQgQ29udGVudCBOZWdvdGlhdGlvbiBpbiBIVFRQCisgICAgICAgICogUkZDIDI3NzQ6IEFuIEhUVFAgRXh0ZW5zaW9uIEZyYW1ld29yaworICAgICIiIgorICAgIGRlZiBfX25ld19fKGNscywgdmFsdWUsIHBocmFzZSwgZGVzY3JpcHRpb249JycpOgorICAgICAgICBvYmogPSBpbnQuX19uZXdfXyhjbHMsIHZhbHVlKQorICAgICAgICBvYmouX3ZhbHVlXyA9IHZhbHVlCisKKyAgICAgICAgb2JqLnBocmFzZSA9IHBocmFzZQorICAgICAgICBvYmouZGVzY3JpcHRpb24gPSBkZXNjcmlwdGlvbgorICAgICAgICByZXR1cm4gb2JqCisKKyAgICAjIGluZm9ybWF0aW9uYWwKKyAgICBDT05USU5VRSA9IDEwMCwgJ0NvbnRpbnVlJywgJ1JlcXVlc3QgcmVjZWl2ZWQsIHBsZWFzZSBjb250aW51ZScKKyAgICBTV0lUQ0hJTkdfUFJPVE9DT0xTID0gKDEwMSwgJ1N3aXRjaGluZyBQcm90b2NvbHMnLAorICAgICAgICAgICAgJ1N3aXRjaGluZyB0byBuZXcgcHJvdG9jb2w7IG9iZXkgVXBncmFkZSBoZWFkZXInKQorICAgIFBST0NFU1NJTkcgPSAxMDIsICdQcm9jZXNzaW5nJworCisgICAgIyBzdWNjZXNzCisgICAgT0sgPSAyMDAsICdPSycsICdSZXF1ZXN0IGZ1bGZpbGxlZCwgZG9jdW1lbnQgZm9sbG93cycKKyAgICBDUkVBVEVEID0gMjAxLCAnQ3JlYXRlZCcsICdEb2N1bWVudCBjcmVhdGVkLCBVUkwgZm9sbG93cycKKyAgICBBQ0NFUFRFRCA9ICgyMDIsICdBY2NlcHRlZCcsCisgICAgICAgICdSZXF1ZXN0IGFjY2VwdGVkLCBwcm9jZXNzaW5nIGNvbnRpbnVlcyBvZmYtbGluZScpCisgICAgTk9OX0FVVEhPUklUQVRJVkVfSU5GT1JNQVRJT04gPSAoMjAzLAorICAgICAgICAnTm9uLUF1dGhvcml0YXRpdmUgSW5mb3JtYXRpb24nLCAnUmVxdWVzdCBmdWxmaWxsZWQgZnJvbSBjYWNoZScpCisgICAgTk9fQ09OVEVOVCA9IDIwNCwgJ05vIENvbnRlbnQnLCAnUmVxdWVzdCBmdWxmaWxsZWQsIG5vdGhpbmcgZm9sbG93cycKKyAgICBSRVNFVF9DT05URU5UID0gMjA1LCAnUmVzZXQgQ29udGVudCcsICdDbGVhciBpbnB1dCBmb3JtIGZvciBmdXJ0aGVyIGlucHV0JworICAgIFBBUlRJQUxfQ09OVEVOVCA9IDIwNiwgJ1BhcnRpYWwgQ29udGVudCcsICdQYXJ0aWFsIGNvbnRlbnQgZm9sbG93cycKKyAgICBNVUxUSV9TVEFUVVMgPSAyMDcsICdNdWx0aS1TdGF0dXMnCisgICAgQUxSRUFEWV9SRVBPUlRFRCA9IDIwOCwgJ0FscmVhZHkgUmVwb3J0ZWQnCisgICAgSU1fVVNFRCA9IDIyNiwgJ0lNIFVzZWQnCisKKyAgICAjIHJlZGlyZWN0aW9uCisgICAgTVVMVElQTEVfQ0hPSUNFUyA9ICgzMDAsICdNdWx0aXBsZSBDaG9pY2VzJywKKyAgICAgICAgJ09iamVjdCBoYXMgc2V2ZXJhbCByZXNvdXJjZXMgLS0gc2VlIFVSSSBsaXN0JykKKyAgICBNT1ZFRF9QRVJNQU5FTlRMWSA9ICgzMDEsICdNb3ZlZCBQZXJtYW5lbnRseScsCisgICAgICAgICdPYmplY3QgbW92ZWQgcGVybWFuZW50bHkgLS0gc2VlIFVSSSBsaXN0JykKKyAgICBGT1VORCA9IDMwMiwgJ0ZvdW5kJywgJ09iamVjdCBtb3ZlZCB0ZW1wb3JhcmlseSAtLSBzZWUgVVJJIGxpc3QnCisgICAgU0VFX09USEVSID0gMzAzLCAnU2VlIE90aGVyJywgJ09iamVjdCBtb3ZlZCAtLSBzZWUgTWV0aG9kIGFuZCBVUkwgbGlzdCcKKyAgICBOT1RfTU9ESUZJRUQgPSAoMzA0LCAnTm90IE1vZGlmaWVkJywKKyAgICAgICAgJ0RvY3VtZW50IGhhcyBub3QgY2hhbmdlZCBzaW5jZSBnaXZlbiB0aW1lJykKKyAgICBVU0VfUFJPWFkgPSAoMzA1LCAnVXNlIFByb3h5JywKKyAgICAgICAgJ1lvdSBtdXN0IHVzZSBwcm94eSBzcGVjaWZpZWQgaW4gTG9jYXRpb24gdG8gYWNjZXNzIHRoaXMgcmVzb3VyY2UnKQorICAgIFRFTVBPUkFSWV9SRURJUkVDVCA9ICgzMDcsICdUZW1wb3JhcnkgUmVkaXJlY3QnLAorICAgICAgICAnT2JqZWN0IG1vdmVkIHRlbXBvcmFyaWx5IC0tIHNlZSBVUkkgbGlzdCcpCisgICAgUEVSTUFORU5UX1JFRElSRUNUID0gKDMwOCwgJ1Blcm1hbmVudCBSZWRpcmVjdCcsCisgICAgICAgICdPYmplY3QgbW92ZWQgdGVtcG9yYXJpbHkgLS0gc2VlIFVSSSBsaXN0JykKKworICAgICMgY2xpZW50IGVycm9yCisgICAgQkFEX1JFUVVFU1QgPSAoNDAwLCAnQmFkIFJlcXVlc3QnLAorICAgICAgICAnQmFkIHJlcXVlc3Qgc3ludGF4IG9yIHVuc3VwcG9ydGVkIG1ldGhvZCcpCisgICAgVU5BVVRIT1JJWkVEID0gKDQwMSwgJ1VuYXV0aG9yaXplZCcsCisgICAgICAgICdObyBwZXJtaXNzaW9uIC0tIHNlZSBhdXRob3JpemF0aW9uIHNjaGVtZXMnKQorICAgIFBBWU1FTlRfUkVRVUlSRUQgPSAoNDAyLCAnUGF5bWVudCBSZXF1aXJlZCcsCisgICAgICAgICdObyBwYXltZW50IC0tIHNlZSBjaGFyZ2luZyBzY2hlbWVzJykKKyAgICBGT1JCSURERU4gPSAoNDAzLCAnRm9yYmlkZGVuJywKKyAgICAgICAgJ1JlcXVlc3QgZm9yYmlkZGVuIC0tIGF1dGhvcml6YXRpb24gd2lsbCBub3QgaGVscCcpCisgICAgTk9UX0ZPVU5EID0gKDQwNCwgJ05vdCBGb3VuZCcsCisgICAgICAgICdOb3RoaW5nIG1hdGNoZXMgdGhlIGdpdmVuIFVSSScpCisgICAgTUVUSE9EX05PVF9BTExPV0VEID0gKDQwNSwgJ01ldGhvZCBOb3QgQWxsb3dlZCcsCisgICAgICAgICdTcGVjaWZpZWQgbWV0aG9kIGlzIGludmFsaWQgZm9yIHRoaXMgcmVzb3VyY2UnKQorICAgIE5PVF9BQ0NFUFRBQkxFID0gKDQwNiwgJ05vdCBBY2NlcHRhYmxlJywKKyAgICAgICAgJ1VSSSBub3QgYXZhaWxhYmxlIGluIHByZWZlcnJlZCBmb3JtYXQnKQorICAgIFBST1hZX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEID0gKDQwNywKKyAgICAgICAgJ1Byb3h5IEF1dGhlbnRpY2F0aW9uIFJlcXVpcmVkJywKKyAgICAgICAgJ1lvdSBtdXN0IGF1dGhlbnRpY2F0ZSB3aXRoIHRoaXMgcHJveHkgYmVmb3JlIHByb2NlZWRpbmcnKQorICAgIFJFUVVFU1RfVElNRU9VVCA9ICg0MDgsICdSZXF1ZXN0IFRpbWVvdXQnLAorICAgICAgICAnUmVxdWVzdCB0aW1lZCBvdXQ7IHRyeSBhZ2FpbiBsYXRlcicpCisgICAgQ09ORkxJQ1QgPSA0MDksICdDb25mbGljdCcsICdSZXF1ZXN0IGNvbmZsaWN0JworICAgIEdPTkUgPSAoNDEwLCAnR29uZScsCisgICAgICAgICdVUkkgbm8gbG9uZ2VyIGV4aXN0cyBhbmQgaGFzIGJlZW4gcGVybWFuZW50bHkgcmVtb3ZlZCcpCisgICAgTEVOR1RIX1JFUVVJUkVEID0gKDQxMSwgJ0xlbmd0aCBSZXF1aXJlZCcsCisgICAgICAgICdDbGllbnQgbXVzdCBzcGVjaWZ5IENvbnRlbnQtTGVuZ3RoJykKKyAgICBQUkVDT05ESVRJT05fRkFJTEVEID0gKDQxMiwgJ1ByZWNvbmRpdGlvbiBGYWlsZWQnLAorICAgICAgICAnUHJlY29uZGl0aW9uIGluIGhlYWRlcnMgaXMgZmFsc2UnKQorICAgIFJFUVVFU1RfRU5USVRZX1RPT19MQVJHRSA9ICg0MTMsICdSZXF1ZXN0IEVudGl0eSBUb28gTGFyZ2UnLAorICAgICAgICAnRW50aXR5IGlzIHRvbyBsYXJnZScpCisgICAgUkVRVUVTVF9VUklfVE9PX0xPTkcgPSAoNDE0LCAnUmVxdWVzdC1VUkkgVG9vIExvbmcnLAorICAgICAgICAnVVJJIGlzIHRvbyBsb25nJykKKyAgICBVTlNVUFBPUlRFRF9NRURJQV9UWVBFID0gKDQxNSwgJ1Vuc3VwcG9ydGVkIE1lZGlhIFR5cGUnLAorICAgICAgICAnRW50aXR5IGJvZHkgaW4gdW5zdXBwb3J0ZWQgZm9ybWF0JykKKyAgICBSRVFVRVNURURfUkFOR0VfTk9UX1NBVElTRklBQkxFID0gKDQxNiwKKyAgICAgICAgJ1JlcXVlc3RlZCBSYW5nZSBOb3QgU2F0aXNmaWFibGUnLAorICAgICAgICAnQ2Fubm90IHNhdGlzZnkgcmVxdWVzdCByYW5nZScpCisgICAgRVhQRUNUQVRJT05fRkFJTEVEID0gKDQxNywgJ0V4cGVjdGF0aW9uIEZhaWxlZCcsCisgICAgICAgICdFeHBlY3QgY29uZGl0aW9uIGNvdWxkIG5vdCBiZSBzYXRpc2ZpZWQnKQorICAgIFVOUFJPQ0VTU0FCTEVfRU5USVRZID0gNDIyLCAnVW5wcm9jZXNzYWJsZSBFbnRpdHknCisgICAgTE9DS0VEID0gNDIzLCAnTG9ja2VkJworICAgIEZBSUxFRF9ERVBFTkRFTkNZID0gNDI0LCAnRmFpbGVkIERlcGVuZGVuY3knCisgICAgVVBHUkFERV9SRVFVSVJFRCA9IDQyNiwgJ1VwZ3JhZGUgUmVxdWlyZWQnCisgICAgUFJFQ09ORElUSU9OX1JFUVVJUkVEID0gKDQyOCwgJ1ByZWNvbmRpdGlvbiBSZXF1aXJlZCcsCisgICAgICAgICdUaGUgb3JpZ2luIHNlcnZlciByZXF1aXJlcyB0aGUgcmVxdWVzdCB0byBiZSBjb25kaXRpb25hbCcpCisgICAgVE9PX01BTllfUkVRVUVTVFMgPSAoNDI5LCAnVG9vIE1hbnkgUmVxdWVzdHMnLAorICAgICAgICAnVGhlIHVzZXIgaGFzIHNlbnQgdG9vIG1hbnkgcmVxdWVzdHMgaW4gJworICAgICAgICAnYSBnaXZlbiBhbW91bnQgb2YgdGltZSAoInJhdGUgbGltaXRpbmciKScpCisgICAgUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRSA9ICg0MzEsCisgICAgICAgICdSZXF1ZXN0IEhlYWRlciBGaWVsZHMgVG9vIExhcmdlJywKKyAgICAgICAgJ1RoZSBzZXJ2ZXIgaXMgdW53aWxsaW5nIHRvIHByb2Nlc3MgdGhlIHJlcXVlc3QgYmVjYXVzZSBpdHMgaGVhZGVyICcKKyAgICAgICAgJ2ZpZWxkcyBhcmUgdG9vIGxhcmdlJykKKworICAgICMgc2VydmVyIGVycm9ycworICAgIElOVEVSTkFMX1NFUlZFUl9FUlJPUiA9ICg1MDAsICdJbnRlcm5hbCBTZXJ2ZXIgRXJyb3InLAorICAgICAgICAnU2VydmVyIGdvdCBpdHNlbGYgaW4gdHJvdWJsZScpCisgICAgTk9UX0lNUExFTUVOVEVEID0gKDUwMSwgJ05vdCBJbXBsZW1lbnRlZCcsCisgICAgICAgICdTZXJ2ZXIgZG9lcyBub3Qgc3VwcG9ydCB0aGlzIG9wZXJhdGlvbicpCisgICAgQkFEX0dBVEVXQVkgPSAoNTAyLCAnQmFkIEdhdGV3YXknLAorICAgICAgICAnSW52YWxpZCByZXNwb25zZXMgZnJvbSBhbm90aGVyIHNlcnZlci9wcm94eScpCisgICAgU0VSVklDRV9VTkFWQUlMQUJMRSA9ICg1MDMsICdTZXJ2aWNlIFVuYXZhaWxhYmxlJywKKyAgICAgICAgJ1RoZSBzZXJ2ZXIgY2Fubm90IHByb2Nlc3MgdGhlIHJlcXVlc3QgZHVlIHRvIGEgaGlnaCBsb2FkJykKKyAgICBHQVRFV0FZX1RJTUVPVVQgPSAoNTA0LCAnR2F0ZXdheSBUaW1lb3V0JywKKyAgICAgICAgJ1RoZSBnYXRld2F5IHNlcnZlciBkaWQgbm90IHJlY2VpdmUgYSB0aW1lbHkgcmVzcG9uc2UnKQorICAgIEhUVFBfVkVSU0lPTl9OT1RfU1VQUE9SVEVEID0gKDUwNSwgJ0hUVFAgVmVyc2lvbiBOb3QgU3VwcG9ydGVkJywKKyAgICAgICAgJ0Nhbm5vdCBmdWxmaWxsIHJlcXVlc3QnKQorICAgIFZBUklBTlRfQUxTT19ORUdPVElBVEVTID0gNTA2LCAnVmFyaWFudCBBbHNvIE5lZ290aWF0ZXMnCisgICAgSU5TVUZGSUNJRU5UX1NUT1JBR0UgPSA1MDcsICdJbnN1ZmZpY2llbnQgU3RvcmFnZScKKyAgICBMT09QX0RFVEVDVEVEID0gNTA4LCAnTG9vcCBEZXRlY3RlZCcKKyAgICBOT1RfRVhURU5ERUQgPSA1MTAsICdOb3QgRXh0ZW5kZWQnCisgICAgTkVUV09SS19BVVRIRU5USUNBVElPTl9SRVFVSVJFRCA9ICg1MTEsCisgICAgICAgICdOZXR3b3JrIEF1dGhlbnRpY2F0aW9uIFJlcXVpcmVkJywKKyAgICAgICAgJ1RoZSBjbGllbnQgbmVlZHMgdG8gYXV0aGVudGljYXRlIHRvIGdhaW4gbmV0d29yayBhY2Nlc3MnKQpkaWZmIC0tZ2l0IGEvTGliL2h0dHAvY2xpZW50LnB5IGIvTGliL2h0dHAvY2xpZW50LnB5CmluZGV4IGQzZDliMzAuLjVlMTJhODUgMTAwNjQ0Ci0tLSBhL0xpYi9odHRwL2NsaWVudC5weQorKysgYi9MaWIvaHR0cC9jbGllbnQucHkKQEAgLTY4LDYgKzY4LDcgQEAKIAogaW1wb3J0IGVtYWlsLnBhcnNlcgogaW1wb3J0IGVtYWlsLm1lc3NhZ2UKK2ltcG9ydCBodHRwCiBpbXBvcnQgaW8KIGltcG9ydCBvcwogaW1wb3J0IHNvY2tldApAQCAtOTMsMTIyICs5NCwxMyBAQAogX0NTX1JFUV9TVEFSVEVEID0gJ1JlcXVlc3Qtc3RhcnRlZCcKIF9DU19SRVFfU0VOVCA9ICdSZXF1ZXN0LXNlbnQnCiAKLSMgc3RhdHVzIGNvZGVzCi0jIGluZm9ybWF0aW9uYWwKLUNPTlRJTlVFID0gMTAwCi1TV0lUQ0hJTkdfUFJPVE9DT0xTID0gMTAxCi1QUk9DRVNTSU5HID0gMTAyCiAKLSMgc3VjY2Vzc2Z1bAotT0sgPSAyMDAKLUNSRUFURUQgPSAyMDEKLUFDQ0VQVEVEID0gMjAyCi1OT05fQVVUSE9SSVRBVElWRV9JTkZPUk1BVElPTiA9IDIwMwotTk9fQ09OVEVOVCA9IDIwNAotUkVTRVRfQ09OVEVOVCA9IDIwNQotUEFSVElBTF9DT05URU5UID0gMjA2Ci1NVUxUSV9TVEFUVVMgPSAyMDcKLUlNX1VTRUQgPSAyMjYKKyMgaGFjayB0byBtYWludGFpbiBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eQorZ2xvYmFscygpLnVwZGF0ZShodHRwLkhUVFBTdGF0dXMuX19tZW1iZXJzX18pCiAKLSMgcmVkaXJlY3Rpb24KLU1VTFRJUExFX0NIT0lDRVMgPSAzMDAKLU1PVkVEX1BFUk1BTkVOVExZID0gMzAxCi1GT1VORCA9IDMwMgotU0VFX09USEVSID0gMzAzCi1OT1RfTU9ESUZJRUQgPSAzMDQKLVVTRV9QUk9YWSA9IDMwNQotVEVNUE9SQVJZX1JFRElSRUNUID0gMzA3Ci0KLSMgY2xpZW50IGVycm9yCi1CQURfUkVRVUVTVCA9IDQwMAotVU5BVVRIT1JJWkVEID0gNDAxCi1QQVlNRU5UX1JFUVVJUkVEID0gNDAyCi1GT1JCSURERU4gPSA0MDMKLU5PVF9GT1VORCA9IDQwNAotTUVUSE9EX05PVF9BTExPV0VEID0gNDA1Ci1OT1RfQUNDRVBUQUJMRSA9IDQwNgotUFJPWFlfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQgPSA0MDcKLVJFUVVFU1RfVElNRU9VVCA9IDQwOAotQ09ORkxJQ1QgPSA0MDkKLUdPTkUgPSA0MTAKLUxFTkdUSF9SRVFVSVJFRCA9IDQxMQotUFJFQ09ORElUSU9OX0ZBSUxFRCA9IDQxMgotUkVRVUVTVF9FTlRJVFlfVE9PX0xBUkdFID0gNDEzCi1SRVFVRVNUX1VSSV9UT09fTE9ORyA9IDQxNAotVU5TVVBQT1JURURfTUVESUFfVFlQRSA9IDQxNQotUkVRVUVTVEVEX1JBTkdFX05PVF9TQVRJU0ZJQUJMRSA9IDQxNgotRVhQRUNUQVRJT05fRkFJTEVEID0gNDE3Ci1VTlBST0NFU1NBQkxFX0VOVElUWSA9IDQyMgotTE9DS0VEID0gNDIzCi1GQUlMRURfREVQRU5ERU5DWSA9IDQyNAotVVBHUkFERV9SRVFVSVJFRCA9IDQyNgotUFJFQ09ORElUSU9OX1JFUVVJUkVEID0gNDI4Ci1UT09fTUFOWV9SRVFVRVNUUyA9IDQyOQotUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRSA9IDQzMQotCi0jIHNlcnZlciBlcnJvcgotSU5URVJOQUxfU0VSVkVSX0VSUk9SID0gNTAwCi1OT1RfSU1QTEVNRU5URUQgPSA1MDEKLUJBRF9HQVRFV0FZID0gNTAyCi1TRVJWSUNFX1VOQVZBSUxBQkxFID0gNTAzCi1HQVRFV0FZX1RJTUVPVVQgPSA1MDQKLUhUVFBfVkVSU0lPTl9OT1RfU1VQUE9SVEVEID0gNTA1Ci1JTlNVRkZJQ0lFTlRfU1RPUkFHRSA9IDUwNwotTk9UX0VYVEVOREVEID0gNTEwCi1ORVRXT1JLX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEID0gNTExCi0KKyMgYW5vdGhlciBoYWNrIHRvIG1haW50YWluIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5CiAjIE1hcHBpbmcgc3RhdHVzIGNvZGVzIHRvIG9mZmljaWFsIFczQyBuYW1lcwotcmVzcG9uc2VzID0gewotICAgIDEwMDogJ0NvbnRpbnVlJywKLSAgICAxMDE6ICdTd2l0Y2hpbmcgUHJvdG9jb2xzJywKLQotICAgIDIwMDogJ09LJywKLSAgICAyMDE6ICdDcmVhdGVkJywKLSAgICAyMDI6ICdBY2NlcHRlZCcsCi0gICAgMjAzOiAnTm9uLUF1dGhvcml0YXRpdmUgSW5mb3JtYXRpb24nLAotICAgIDIwNDogJ05vIENvbnRlbnQnLAotICAgIDIwNTogJ1Jlc2V0IENvbnRlbnQnLAotICAgIDIwNjogJ1BhcnRpYWwgQ29udGVudCcsCi0KLSAgICAzMDA6ICdNdWx0aXBsZSBDaG9pY2VzJywKLSAgICAzMDE6ICdNb3ZlZCBQZXJtYW5lbnRseScsCi0gICAgMzAyOiAnRm91bmQnLAotICAgIDMwMzogJ1NlZSBPdGhlcicsCi0gICAgMzA0OiAnTm90IE1vZGlmaWVkJywKLSAgICAzMDU6ICdVc2UgUHJveHknLAotICAgIDMwNjogJyhVbnVzZWQpJywKLSAgICAzMDc6ICdUZW1wb3JhcnkgUmVkaXJlY3QnLAotCi0gICAgNDAwOiAnQmFkIFJlcXVlc3QnLAotICAgIDQwMTogJ1VuYXV0aG9yaXplZCcsCi0gICAgNDAyOiAnUGF5bWVudCBSZXF1aXJlZCcsCi0gICAgNDAzOiAnRm9yYmlkZGVuJywKLSAgICA0MDQ6ICdOb3QgRm91bmQnLAotICAgIDQwNTogJ01ldGhvZCBOb3QgQWxsb3dlZCcsCi0gICAgNDA2OiAnTm90IEFjY2VwdGFibGUnLAotICAgIDQwNzogJ1Byb3h5IEF1dGhlbnRpY2F0aW9uIFJlcXVpcmVkJywKLSAgICA0MDg6ICdSZXF1ZXN0IFRpbWVvdXQnLAotICAgIDQwOTogJ0NvbmZsaWN0JywKLSAgICA0MTA6ICdHb25lJywKLSAgICA0MTE6ICdMZW5ndGggUmVxdWlyZWQnLAotICAgIDQxMjogJ1ByZWNvbmRpdGlvbiBGYWlsZWQnLAotICAgIDQxMzogJ1JlcXVlc3QgRW50aXR5IFRvbyBMYXJnZScsCi0gICAgNDE0OiAnUmVxdWVzdC1VUkkgVG9vIExvbmcnLAotICAgIDQxNTogJ1Vuc3VwcG9ydGVkIE1lZGlhIFR5cGUnLAotICAgIDQxNjogJ1JlcXVlc3RlZCBSYW5nZSBOb3QgU2F0aXNmaWFibGUnLAotICAgIDQxNzogJ0V4cGVjdGF0aW9uIEZhaWxlZCcsCi0gICAgNDI4OiAnUHJlY29uZGl0aW9uIFJlcXVpcmVkJywKLSAgICA0Mjk6ICdUb28gTWFueSBSZXF1ZXN0cycsCi0gICAgNDMxOiAnUmVxdWVzdCBIZWFkZXIgRmllbGRzIFRvbyBMYXJnZScsCi0KLSAgICA1MDA6ICdJbnRlcm5hbCBTZXJ2ZXIgRXJyb3InLAotICAgIDUwMTogJ05vdCBJbXBsZW1lbnRlZCcsCi0gICAgNTAyOiAnQmFkIEdhdGV3YXknLAotICAgIDUwMzogJ1NlcnZpY2UgVW5hdmFpbGFibGUnLAotICAgIDUwNDogJ0dhdGV3YXkgVGltZW91dCcsCi0gICAgNTA1OiAnSFRUUCBWZXJzaW9uIE5vdCBTdXBwb3J0ZWQnLAotICAgIDUxMTogJ05ldHdvcmsgQXV0aGVudGljYXRpb24gUmVxdWlyZWQnLAotfQorcmVzcG9uc2VzID0ge3Y6IHYucGhyYXNlIGZvciB2IGluIGh0dHAuSFRUUFN0YXR1cy5fX21lbWJlcnNfXy52YWx1ZXMoKX0KIAogIyBtYXhpbWFsIGFtb3VudCBvZiBkYXRhIHRvIHJlYWQgYXQgb25lIHRpbWUgaW4gX3NhZmVfcmVhZAogTUFYQU1PVU5UID0gMTA0ODU3NgpAQCAtMjcyLDcgKzE2NCw3IEBACiAgICAgcmV0dXJuIGVtYWlsLnBhcnNlci5QYXJzZXIoX2NsYXNzPV9jbGFzcykucGFyc2VzdHIoaHN0cmluZykKIAogCi1jbGFzcyBIVFRQUmVzcG9uc2UoaW8uUmF3SU9CYXNlKToKK2NsYXNzIEhUVFBSZXNwb25zZShpby5CdWZmZXJlZElPQmFzZSk6CiAKICAgICAjIFNlZSBSRkMgMjYxNiBzZWMgMTkuNiBhbmQgUkZDIDE5NDUgc2VjIDYgZm9yIGRldGFpbHMuCiAKQEAgLTQ5Nyw5ICszODksMTAgQEAKICAgICAgICAgICAgIHJldHVybiBiIiIKIAogICAgICAgICBpZiBhbXQgaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICAjIEFtb3VudCBpcyBnaXZlbiwgc28gY2FsbCBiYXNlIGNsYXNzIHZlcnNpb24KLSAgICAgICAgICAgICMgKHdoaWNoIGlzIGltcGxlbWVudGVkIGluIHRlcm1zIG9mIHNlbGYucmVhZGludG8pCi0gICAgICAgICAgICByZXR1cm4gc3VwZXIoSFRUUFJlc3BvbnNlLCBzZWxmKS5yZWFkKGFtdCkKKyAgICAgICAgICAgICMgQW1vdW50IGlzIGdpdmVuLCBpbXBsZW1lbnQgdXNpbmcgcmVhZGludG8KKyAgICAgICAgICAgIGIgPSBieXRlYXJyYXkoYW10KQorICAgICAgICAgICAgbiA9IHNlbGYucmVhZGludG8oYikKKyAgICAgICAgICAgIHJldHVybiBtZW1vcnl2aWV3KGIpWzpuXS50b2J5dGVzKCkKICAgICAgICAgZWxzZToKICAgICAgICAgICAgICMgQW1vdW50IGlzIG5vdCBnaXZlbiAodW5ib3VuZGVkIHJlYWQpIHNvIHdlIG11c3QgY2hlY2sgc2VsZi5sZW5ndGgKICAgICAgICAgICAgICMgYW5kIHNlbGYuY2h1bmtlZApAQCAtNTc5LDcxICs0NzIsNjcgQEAKICAgICAgICAgICAgIGlmIGxpbmUgaW4gKGInXHJcbicsIGInXG4nLCBiJycpOgogICAgICAgICAgICAgICAgIGJyZWFrCiAKKyAgICBkZWYgX2dldF9jaHVua19sZWZ0KHNlbGYpOgorICAgICAgICAjIHJldHVybiBzZWxmLmNodW5rX2xlZnQsIHJlYWRpbmcgYSBuZXcgY2h1bmsgaWYgbmVjZXNzYXJ5LgorICAgICAgICAjIGNodW5rX2xlZnQgPT0gMDogYXQgdGhlIGVuZCBvZiB0aGUgY3VycmVudCBjaHVuaywgbmVlZCB0byBjbG9zZSBpdAorICAgICAgICAjIGNodW5rX2xlZnQgPT0gTm9uZTogTm8gY3VycmVudCBjaHVuaywgc2hvdWxkIHJlYWQgbmV4dC4KKyAgICAgICAgIyBUaGlzIGZ1bmN0aW9uIHJldHVybnMgbm9uLXplcm8gb3IgTm9uZSBpZiB0aGUgbGFzdCBjaHVuayBoYXMKKyAgICAgICAgIyBiZWVuIHJlYWQuCisgICAgICAgIGNodW5rX2xlZnQgPSBzZWxmLmNodW5rX2xlZnQKKyAgICAgICAgaWYgbm90IGNodW5rX2xlZnQ6ICMgQ2FuIGJlIDAgb3IgTm9uZQorICAgICAgICAgICAgaWYgY2h1bmtfbGVmdCBpcyBub3QgTm9uZToKKyAgICAgICAgICAgICAgICAjIFdlIGFyZSBhdCB0aGUgZW5kIG9mIGNodW5rLiBkaWNhcmQgY2h1bmsgZW5kCisgICAgICAgICAgICAgICAgc2VsZi5fc2FmZV9yZWFkKDIpICAjIHRvc3MgdGhlIENSTEYgYXQgdGhlIGVuZCBvZiB0aGUgY2h1bmsKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICBjaHVua19sZWZ0ID0gc2VsZi5fcmVhZF9uZXh0X2NodW5rX3NpemUoKQorICAgICAgICAgICAgZXhjZXB0IFZhbHVlRXJyb3I6CisgICAgICAgICAgICAgICAgcmFpc2UgSW5jb21wbGV0ZVJlYWQoYicnKQorICAgICAgICAgICAgaWYgY2h1bmtfbGVmdCA9PSAwOgorICAgICAgICAgICAgICAgICMgbGFzdCBjaHVuazogMSooIjAiKSBbIGNodW5rLWV4dGVuc2lvbiBdIENSTEYKKyAgICAgICAgICAgICAgICBzZWxmLl9yZWFkX2FuZF9kaXNjYXJkX3RyYWlsZXIoKQorICAgICAgICAgICAgICAgICMgd2UgcmVhZCBldmVyeXRoaW5nOyBjbG9zZSB0aGUgImZpbGUiCisgICAgICAgICAgICAgICAgc2VsZi5fY2xvc2VfY29ubigpCisgICAgICAgICAgICAgICAgY2h1bmtfbGVmdCA9IE5vbmUKKyAgICAgICAgICAgIHNlbGYuY2h1bmtfbGVmdCA9IGNodW5rX2xlZnQKKyAgICAgICAgcmV0dXJuIGNodW5rX2xlZnQKKwogICAgIGRlZiBfcmVhZGFsbF9jaHVua2VkKHNlbGYpOgogICAgICAgICBhc3NlcnQgc2VsZi5jaHVua2VkICE9IF9VTktOT1dOCi0gICAgICAgIGNodW5rX2xlZnQgPSBzZWxmLmNodW5rX2xlZnQKICAgICAgICAgdmFsdWUgPSBbXQotICAgICAgICB3aGlsZSBUcnVlOgotICAgICAgICAgICAgaWYgY2h1bmtfbGVmdCBpcyBOb25lOgotICAgICAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICAgICAgY2h1bmtfbGVmdCA9IHNlbGYuX3JlYWRfbmV4dF9jaHVua19zaXplKCkKLSAgICAgICAgICAgICAgICAgICAgaWYgY2h1bmtfbGVmdCA9PSAwOgotICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWsKLSAgICAgICAgICAgICAgICBleGNlcHQgVmFsdWVFcnJvcjoKLSAgICAgICAgICAgICAgICAgICAgcmFpc2UgSW5jb21wbGV0ZVJlYWQoYicnLmpvaW4odmFsdWUpKQotICAgICAgICAgICAgdmFsdWUuYXBwZW5kKHNlbGYuX3NhZmVfcmVhZChjaHVua19sZWZ0KSkKLQotICAgICAgICAgICAgIyB3ZSByZWFkIHRoZSB3aG9sZSBjaHVuaywgZ2V0IGFub3RoZXIKLSAgICAgICAgICAgIHNlbGYuX3NhZmVfcmVhZCgyKSAgICAgICMgdG9zcyB0aGUgQ1JMRiBhdCB0aGUgZW5kIG9mIHRoZSBjaHVuawotICAgICAgICAgICAgY2h1bmtfbGVmdCA9IE5vbmUKLQotICAgICAgICBzZWxmLl9yZWFkX2FuZF9kaXNjYXJkX3RyYWlsZXIoKQotCi0gICAgICAgICMgd2UgcmVhZCBldmVyeXRoaW5nOyBjbG9zZSB0aGUgImZpbGUiCi0gICAgICAgIHNlbGYuX2Nsb3NlX2Nvbm4oKQotCi0gICAgICAgIHJldHVybiBiJycuam9pbih2YWx1ZSkKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgd2hpbGUgVHJ1ZToKKyAgICAgICAgICAgICAgICBjaHVua19sZWZ0ID0gc2VsZi5fZ2V0X2NodW5rX2xlZnQoKQorICAgICAgICAgICAgICAgIGlmIGNodW5rX2xlZnQgaXMgTm9uZToKKyAgICAgICAgICAgICAgICAgICAgYnJlYWsKKyAgICAgICAgICAgICAgICB2YWx1ZS5hcHBlbmQoc2VsZi5fc2FmZV9yZWFkKGNodW5rX2xlZnQpKQorICAgICAgICAgICAgICAgIHNlbGYuY2h1bmtfbGVmdCA9IDAKKyAgICAgICAgICAgIHJldHVybiBiJycuam9pbih2YWx1ZSkKKyAgICAgICAgZXhjZXB0IEluY29tcGxldGVSZWFkOgorICAgICAgICAgICAgcmFpc2UgSW5jb21wbGV0ZVJlYWQoYicnLmpvaW4odmFsdWUpKQogCiAgICAgZGVmIF9yZWFkaW50b19jaHVua2VkKHNlbGYsIGIpOgogICAgICAgICBhc3NlcnQgc2VsZi5jaHVua2VkICE9IF9VTktOT1dOCi0gICAgICAgIGNodW5rX2xlZnQgPSBzZWxmLmNodW5rX2xlZnQKLQogICAgICAgICB0b3RhbF9ieXRlcyA9IDAKICAgICAgICAgbXZiID0gbWVtb3J5dmlldyhiKQotICAgICAgICB3aGlsZSBUcnVlOgotICAgICAgICAgICAgaWYgY2h1bmtfbGVmdCBpcyBOb25lOgotICAgICAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICAgICAgY2h1bmtfbGVmdCA9IHNlbGYuX3JlYWRfbmV4dF9jaHVua19zaXplKCkKLSAgICAgICAgICAgICAgICAgICAgaWYgY2h1bmtfbGVmdCA9PSAwOgotICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWsKLSAgICAgICAgICAgICAgICBleGNlcHQgVmFsdWVFcnJvcjoKLSAgICAgICAgICAgICAgICAgICAgcmFpc2UgSW5jb21wbGV0ZVJlYWQoYnl0ZXMoYlswOnRvdGFsX2J5dGVzXSkpCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHdoaWxlIFRydWU6CisgICAgICAgICAgICAgICAgY2h1bmtfbGVmdCA9IHNlbGYuX2dldF9jaHVua19sZWZ0KCkKKyAgICAgICAgICAgICAgICBpZiBjaHVua19sZWZ0IGlzIE5vbmU6CisgICAgICAgICAgICAgICAgICAgIHJldHVybiB0b3RhbF9ieXRlcwogCi0gICAgICAgICAgICBpZiBsZW4obXZiKSA8IGNodW5rX2xlZnQ6Ci0gICAgICAgICAgICAgICAgbiA9IHNlbGYuX3NhZmVfcmVhZGludG8obXZiKQotICAgICAgICAgICAgICAgIHNlbGYuY2h1bmtfbGVmdCA9IGNodW5rX2xlZnQgLSBuCi0gICAgICAgICAgICAgICAgcmV0dXJuIHRvdGFsX2J5dGVzICsgbgotICAgICAgICAgICAgZWxpZiBsZW4obXZiKSA9PSBjaHVua19sZWZ0OgotICAgICAgICAgICAgICAgIG4gPSBzZWxmLl9zYWZlX3JlYWRpbnRvKG12YikKLSAgICAgICAgICAgICAgICBzZWxmLl9zYWZlX3JlYWQoMikgICMgdG9zcyB0aGUgQ1JMRiBhdCB0aGUgZW5kIG9mIHRoZSBjaHVuawotICAgICAgICAgICAgICAgIHNlbGYuY2h1bmtfbGVmdCA9IE5vbmUKLSAgICAgICAgICAgICAgICByZXR1cm4gdG90YWxfYnl0ZXMgKyBuCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIHRlbXBfbXZiID0gbXZiWzA6Y2h1bmtfbGVmdF0KKyAgICAgICAgICAgICAgICBpZiBsZW4obXZiKSA8PSBjaHVua19sZWZ0OgorICAgICAgICAgICAgICAgICAgICBuID0gc2VsZi5fc2FmZV9yZWFkaW50byhtdmIpCisgICAgICAgICAgICAgICAgICAgIHNlbGYuY2h1bmtfbGVmdCA9IGNodW5rX2xlZnQgLSBuCisgICAgICAgICAgICAgICAgICAgIHJldHVybiB0b3RhbF9ieXRlcyArIG4KKworICAgICAgICAgICAgICAgIHRlbXBfbXZiID0gbXZiWzpjaHVua19sZWZ0XQogICAgICAgICAgICAgICAgIG4gPSBzZWxmLl9zYWZlX3JlYWRpbnRvKHRlbXBfbXZiKQogICAgICAgICAgICAgICAgIG12YiA9IG12YltuOl0KICAgICAgICAgICAgICAgICB0b3RhbF9ieXRlcyArPSBuCisgICAgICAgICAgICAgICAgc2VsZi5jaHVua19sZWZ0ID0gMAogCi0gICAgICAgICAgICAjIHdlIHJlYWQgdGhlIHdob2xlIGNodW5rLCBnZXQgYW5vdGhlcgotICAgICAgICAgICAgc2VsZi5fc2FmZV9yZWFkKDIpICAgICAgIyB0b3NzIHRoZSBDUkxGIGF0IHRoZSBlbmQgb2YgdGhlIGNodW5rCi0gICAgICAgICAgICBjaHVua19sZWZ0ID0gTm9uZQotCi0gICAgICAgIHNlbGYuX3JlYWRfYW5kX2Rpc2NhcmRfdHJhaWxlcigpCi0KLSAgICAgICAgIyB3ZSByZWFkIGV2ZXJ5dGhpbmc7IGNsb3NlIHRoZSAiZmlsZSIKLSAgICAgICAgc2VsZi5fY2xvc2VfY29ubigpCi0KLSAgICAgICAgcmV0dXJuIHRvdGFsX2J5dGVzCisgICAgICAgIGV4Y2VwdCBJbmNvbXBsZXRlUmVhZDoKKyAgICAgICAgICAgIHJhaXNlIEluY29tcGxldGVSZWFkKGJ5dGVzKGJbMDp0b3RhbF9ieXRlc10pKQogCiAgICAgZGVmIF9zYWZlX3JlYWQoc2VsZiwgYW10KToKICAgICAgICAgIiIiUmVhZCB0aGUgbnVtYmVyIG9mIGJ5dGVzIHJlcXVlc3RlZCwgY29tcGVuc2F0aW5nIGZvciBwYXJ0aWFsIHJlYWRzLgpAQCAtNjg0LDYgKzU3Myw3MyBAQAogICAgICAgICAgICAgdG90YWxfYnl0ZXMgKz0gbgogICAgICAgICByZXR1cm4gdG90YWxfYnl0ZXMKIAorICAgIGRlZiByZWFkMShzZWxmLCBuPS0xKToKKyAgICAgICAgIiIiUmVhZCB3aXRoIGF0IG1vc3Qgb25lIHVuZGVybHlpbmcgc3lzdGVtIGNhbGwuICBJZiBhdCBsZWFzdCBvbmUKKyAgICAgICAgYnl0ZSBpcyBidWZmZXJlZCwgcmV0dXJuIHRoYXQgaW5zdGVhZC4KKyAgICAgICAgIiIiCisgICAgICAgIGlmIHNlbGYuZnAgaXMgTm9uZSBvciBzZWxmLl9tZXRob2QgPT0gIkhFQUQiOgorICAgICAgICAgICAgcmV0dXJuIGIiIgorICAgICAgICBpZiBzZWxmLmNodW5rZWQ6CisgICAgICAgICAgICByZXR1cm4gc2VsZi5fcmVhZDFfY2h1bmtlZChuKQorICAgICAgICB0cnk6CisgICAgICAgICAgICByZXN1bHQgPSBzZWxmLmZwLnJlYWQxKG4pCisgICAgICAgIGV4Y2VwdCBWYWx1ZUVycm9yOgorICAgICAgICAgICAgaWYgbiA+PSAwOgorICAgICAgICAgICAgICAgIHJhaXNlCisgICAgICAgICAgICAjIHNvbWUgaW1wbGVtZW50YXRpb25zLCBsaWtlIEJ1ZmZlcmVkUmVhZGVyLCBkb24ndCBzdXBwb3J0IC0xCisgICAgICAgICAgICAjIFJlYWQgYW4gYXJiaXRyYXJpbHkgc2VsZWN0ZWQgbGFyZ2Vpc2ggY2h1bmsuCisgICAgICAgICAgICByZXN1bHQgPSBzZWxmLmZwLnJlYWQxKDE2KjEwMjQpCisgICAgICAgIGlmIG5vdCByZXN1bHQgYW5kIG46CisgICAgICAgICAgICBzZWxmLl9jbG9zZV9jb25uKCkKKyAgICAgICAgcmV0dXJuIHJlc3VsdAorCisgICAgZGVmIHBlZWsoc2VsZiwgbj0tMSk6CisgICAgICAgICMgSGF2aW5nIHRoaXMgZW5hYmxlcyBJT0Jhc2UucmVhZGxpbmUoKSB0byByZWFkIG1vcmUgdGhhbiBvbmUKKyAgICAgICAgIyBieXRlIGF0IGEgdGltZQorICAgICAgICBpZiBzZWxmLmZwIGlzIE5vbmUgb3Igc2VsZi5fbWV0aG9kID09ICJIRUFEIjoKKyAgICAgICAgICAgIHJldHVybiBiIiIKKyAgICAgICAgaWYgc2VsZi5jaHVua2VkOgorICAgICAgICAgICAgcmV0dXJuIHNlbGYuX3BlZWtfY2h1bmtlZChuKQorICAgICAgICByZXR1cm4gc2VsZi5mcC5wZWVrKG4pCisKKyAgICBkZWYgcmVhZGxpbmUoc2VsZiwgbGltaXQ9LTEpOgorICAgICAgICBpZiBzZWxmLmZwIGlzIE5vbmUgb3Igc2VsZi5fbWV0aG9kID09ICJIRUFEIjoKKyAgICAgICAgICAgIHJldHVybiBiIiIKKyAgICAgICAgaWYgc2VsZi5jaHVua2VkOgorICAgICAgICAgICAgIyBGYWxsYmFjayB0byBJT0Jhc2UgcmVhZGxpbmUgd2hpY2ggdXNlcyBwZWVrKCkgYW5kIHJlYWQoKQorICAgICAgICAgICAgcmV0dXJuIHN1cGVyKCkucmVhZGxpbmUobGltaXQpCisgICAgICAgIHJlc3VsdCA9IHNlbGYuZnAucmVhZGxpbmUobGltaXQpCisgICAgICAgIGlmIG5vdCByZXN1bHQgYW5kIGxpbWl0OgorICAgICAgICAgICAgc2VsZi5fY2xvc2VfY29ubigpCisgICAgICAgIHJldHVybiByZXN1bHQKKworICAgIGRlZiBfcmVhZDFfY2h1bmtlZChzZWxmLCBuKToKKyAgICAgICAgIyBTdHJpY3RseSBzcGVha2luZywgX2dldF9jaHVua19sZWZ0KCkgbWF5IGNhdXNlIG1vcmUgdGhhbiBvbmUgcmVhZCwKKyAgICAgICAgIyBidXQgdGhhdCBpcyBvaywgc2luY2UgdGhhdCBpcyB0byBzYXRpc2Z5IHRoZSBjaHVua2VkIHByb3RvY29sLgorICAgICAgICBjaHVua19sZWZ0ID0gc2VsZi5fZ2V0X2NodW5rX2xlZnQoKQorICAgICAgICBpZiBjaHVua19sZWZ0IGlzIE5vbmUgb3IgbiA9PSAwOgorICAgICAgICAgICAgcmV0dXJuIGInJworICAgICAgICBpZiBub3QgKDAgPD0gbiA8PSBjaHVua19sZWZ0KToKKyAgICAgICAgICAgIG4gPSBjaHVua19sZWZ0ICMgaWYgbiBpcyBuZWdhdGl2ZSBvciBsYXJnZXIgdGhhbiBjaHVua19sZWZ0CisgICAgICAgIHJlYWQgPSBzZWxmLmZwLnJlYWQxKG4pCisgICAgICAgIHNlbGYuY2h1bmtfbGVmdCAtPSBsZW4ocmVhZCkKKyAgICAgICAgaWYgbm90IHJlYWQ6CisgICAgICAgICAgICByYWlzZSBJbmNvbXBsZXRlUmVhZChiIiIpCisgICAgICAgIHJldHVybiByZWFkCisKKyAgICBkZWYgX3BlZWtfY2h1bmtlZChzZWxmLCBuKToKKyAgICAgICAgIyBTdHJpY3RseSBzcGVha2luZywgX2dldF9jaHVua19sZWZ0KCkgbWF5IGNhdXNlIG1vcmUgdGhhbiBvbmUgcmVhZCwKKyAgICAgICAgIyBidXQgdGhhdCBpcyBvaywgc2luY2UgdGhhdCBpcyB0byBzYXRpc2Z5IHRoZSBjaHVua2VkIHByb3RvY29sLgorICAgICAgICB0cnk6CisgICAgICAgICAgICBjaHVua19sZWZ0ID0gc2VsZi5fZ2V0X2NodW5rX2xlZnQoKQorICAgICAgICBleGNlcHQgSW5jb21wbGV0ZVJlYWQ6CisgICAgICAgICAgICByZXR1cm4gYicnICMgcGVlayBkb2Vzbid0IHdvcnJ5IGFib3V0IHByb3RvY29sCisgICAgICAgIGlmIGNodW5rX2xlZnQgaXMgTm9uZToKKyAgICAgICAgICAgIHJldHVybiBiJycgIyBlb2YKKyAgICAgICAgIyBwZWVrIGlzIGFsbG93ZWQgdG8gcmV0dXJuIG1vcmUgdGhhbiByZXF1ZXN0ZWQuICBKdXN0IHJlcXVlc3QgdGhlCisgICAgICAgICMgZW50aXJlIGNodW5rLCBhbmQgdHJ1bmNhdGUgd2hhdCB3ZSBnZXQuCisgICAgICAgIHJldHVybiBzZWxmLmZwLnBlZWsoY2h1bmtfbGVmdClbOmNodW5rX2xlZnRdCisKICAgICBkZWYgZmlsZW5vKHNlbGYpOgogICAgICAgICByZXR1cm4gc2VsZi5mcC5maWxlbm8oKQogCkBAIC03MjcsMTQgKzY4Myw2IEBACiAgICAgZGVmYXVsdF9wb3J0ID0gSFRUUF9QT1JUCiAgICAgYXV0b19vcGVuID0gMQogICAgIGRlYnVnbGV2ZWwgPSAwCi0gICAgIyBUQ1AgTWF4aW11bSBTZWdtZW50IFNpemUgKE1TUykgaXMgZGV0ZXJtaW5lZCBieSB0aGUgVENQIHN0YWNrIG9uCi0gICAgIyBhIHBlci1jb25uZWN0aW9uIGJhc2lzLiAgVGhlcmUgaXMgbm8gc2ltcGxlIGFuZCBlZmZpY2llbnQKLSAgICAjIHBsYXRmb3JtIGluZGVwZW5kZW50IG1lY2hhbmlzbSBmb3IgZGV0ZXJtaW5pbmcgdGhlIE1TUywgc28KLSAgICAjIGluc3RlYWQgYSByZWFzb25hYmxlIGVzdGltYXRlIGlzIGNob3Nlbi4gIFRoZSBnZXRzb2Nrb3B0KCkKLSAgICAjIGludGVyZmFjZSB1c2luZyB0aGUgVENQX01BWFNFRyBwYXJhbWV0ZXIgbWF5IGJlIGEgc3VpdGFibGUKLSAgICAjIGFwcHJvYWNoIG9uIHNvbWUgb3BlcmF0aW5nIHN5c3RlbXMuIEEgdmFsdWUgb2YgMTZLaUIgaXMgY2hvc2VuCi0gICAgIyBhcyBhIHJlYXNvbmFibGUgZXN0aW1hdGUgb2YgdGhlIG1heGltdW0gTVNTLgotICAgIG1zcyA9IDE2Mzg0CiAKICAgICBkZWYgX19pbml0X18oc2VsZiwgaG9zdCwgcG9ydD1Ob25lLCB0aW1lb3V0PXNvY2tldC5fR0xPQkFMX0RFRkFVTFRfVElNRU9VVCwKICAgICAgICAgICAgICAgICAgc291cmNlX2FkZHJlc3M9Tm9uZSk6CkBAIC04MTYsNyArNzY0LDcgQEAKICAgICAgICAgcmVzcG9uc2UgPSBzZWxmLnJlc3BvbnNlX2NsYXNzKHNlbGYuc29jaywgbWV0aG9kPXNlbGYuX21ldGhvZCkKICAgICAgICAgKHZlcnNpb24sIGNvZGUsIG1lc3NhZ2UpID0gcmVzcG9uc2UuX3JlYWRfc3RhdHVzKCkKIAotICAgICAgICBpZiBjb2RlICE9IDIwMDoKKyAgICAgICAgaWYgY29kZSAhPSBodHRwLkhUVFBTdGF0dXMuT0s6CiAgICAgICAgICAgICBzZWxmLmNsb3NlKCkKICAgICAgICAgICAgIHJhaXNlIE9TRXJyb3IoIlR1bm5lbCBjb25uZWN0aW9uIGZhaWxlZDogJWQgJXMiICUgKGNvZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlLnN0cmlwKCkpKQpAQCAtODMwLDEwICs3NzgsMTQgQEAKICAgICAgICAgICAgIGlmIGxpbmUgaW4gKGInXHJcbicsIGInXG4nLCBiJycpOgogICAgICAgICAgICAgICAgIGJyZWFrCiAKKyAgICAgICAgICAgIGlmIHNlbGYuZGVidWdsZXZlbCA+IDA6CisgICAgICAgICAgICAgICAgcHJpbnQoJ2hlYWRlcjonLCBsaW5lLmRlY29kZSgpKQorCiAgICAgZGVmIGNvbm5lY3Qoc2VsZik6CiAgICAgICAgICIiIkNvbm5lY3QgdG8gdGhlIGhvc3QgYW5kIHBvcnQgc3BlY2lmaWVkIGluIF9faW5pdF9fLiIiIgotICAgICAgICBzZWxmLnNvY2sgPSBzZWxmLl9jcmVhdGVfY29ubmVjdGlvbigoc2VsZi5ob3N0LHNlbGYucG9ydCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYudGltZW91dCwgc2VsZi5zb3VyY2VfYWRkcmVzcykKKyAgICAgICAgc2VsZi5zb2NrID0gc2VsZi5fY3JlYXRlX2Nvbm5lY3Rpb24oCisgICAgICAgICAgICAoc2VsZi5ob3N0LHNlbGYucG9ydCksIHNlbGYudGltZW91dCwgc2VsZi5zb3VyY2VfYWRkcmVzcykKKyAgICAgICAgc2VsZi5zb2NrLnNldHNvY2tvcHQoc29ja2V0LklQUFJPVE9fVENQLCBzb2NrZXQuVENQX05PREVMQVksIDEpCiAKICAgICAgICAgaWYgc2VsZi5fdHVubmVsX2hvc3Q6CiAgICAgICAgICAgICBzZWxmLl90dW5uZWwoKQpAQCAtOTEyLDE5ICs4NjQsOSBAQAogICAgICAgICBzZWxmLl9idWZmZXIuZXh0ZW5kKChiIiIsIGIiIikpCiAgICAgICAgIG1zZyA9IGIiXHJcbiIuam9pbihzZWxmLl9idWZmZXIpCiAgICAgICAgIGRlbCBzZWxmLl9idWZmZXJbOl0KLSAgICAgICAgIyBJZiBtc2cgYW5kIG1lc3NhZ2VfYm9keSBhcmUgc2VudCBpbiBhIHNpbmdsZSBzZW5kKCkgY2FsbCwKLSAgICAgICAgIyBpdCB3aWxsIGF2b2lkIHBlcmZvcm1hbmNlIHByb2JsZW1zIGNhdXNlZCBieSB0aGUgaW50ZXJhY3Rpb24KLSAgICAgICAgIyBiZXR3ZWVuIGRlbGF5ZWQgYWNrIGFuZCB0aGUgTmFnbGUgYWxnb3JpdGhtLiBIb3dldmVyLAotICAgICAgICAjIHRoZXJlIGlzIG5vIHBlcmZvcm1hbmNlIGdhaW4gaWYgdGhlIG1lc3NhZ2UgaXMgbGFyZ2VyCi0gICAgICAgICMgdGhhbiBNU1MgKGFuZCB0aGVyZSBpcyBhIG1lbW9yeSBwZW5hbHR5IGZvciB0aGUgbWVzc2FnZQotICAgICAgICAjIGNvcHkpLgotICAgICAgICBpZiBpc2luc3RhbmNlKG1lc3NhZ2VfYm9keSwgYnl0ZXMpIGFuZCBsZW4obWVzc2FnZV9ib2R5KSA8IHNlbGYubXNzOgotICAgICAgICAgICAgbXNnICs9IG1lc3NhZ2VfYm9keQotICAgICAgICAgICAgbWVzc2FnZV9ib2R5ID0gTm9uZQorCiAgICAgICAgIHNlbGYuc2VuZChtc2cpCiAgICAgICAgIGlmIG1lc3NhZ2VfYm9keSBpcyBub3QgTm9uZToKLSAgICAgICAgICAgICMgbWVzc2FnZV9ib2R5IHdhcyBub3QgYSBzdHJpbmcgKGkuZS4gaXQgaXMgYSBmaWxlKSwgYW5kCi0gICAgICAgICAgICAjIHdlIG11c3QgcnVuIHRoZSByaXNrIG9mIE5hZ2xlLgogICAgICAgICAgICAgc2VsZi5zZW5kKG1lc3NhZ2VfYm9keSkKIAogICAgIGRlZiBwdXRyZXF1ZXN0KHNlbGYsIG1ldGhvZCwgdXJsLCBza2lwX2hvc3Q9MCwgc2tpcF9hY2NlcHRfZW5jb2Rpbmc9MCk6CkBAIC0xMjczLDcgKzEyMTUsOCBAQAogICAgICAgICAgICAgZSA9ICcsICVpIG1vcmUgZXhwZWN0ZWQnICUgc2VsZi5leHBlY3RlZAogICAgICAgICBlbHNlOgogICAgICAgICAgICAgZSA9ICcnCi0gICAgICAgIHJldHVybiAnSW5jb21wbGV0ZVJlYWQoJWkgYnl0ZXMgcmVhZCVzKScgJSAobGVuKHNlbGYucGFydGlhbCksIGUpCisgICAgICAgIHJldHVybiAnJXMoJWkgYnl0ZXMgcmVhZCVzKScgJSAoc2VsZi5fX2NsYXNzX18uX19uYW1lX18sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVuKHNlbGYucGFydGlhbCksIGUpCiAgICAgZGVmIF9fc3RyX18oc2VsZik6CiAgICAgICAgIHJldHVybiByZXByKHNlbGYpCiAKZGlmZiAtLWdpdCBhL0xpYi9odHRwL2Nvb2tpZWphci5weSBiL0xpYi9odHRwL2Nvb2tpZWphci5weQppbmRleCA3ZTQ5ODJmLi4yMmYyODMzIDEwMDY0NAotLS0gYS9MaWIvaHR0cC9jb29raWVqYXIucHkKKysrIGIvTGliL2h0dHAvY29va2llamFyLnB5CkBAIC00NzgsNyArNDc4LDcgQEAKICAgICAgICAgICAgIGlmICI9IiBub3QgaW4gcGFyYW06CiAgICAgICAgICAgICAgICAgaywgdiA9IHBhcmFtLCBOb25lCiAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIGssIHYgPSByZS5zcGxpdChyIlxzKj1ccyoiLCBwYXJhbSwgMSkKKyAgICAgICAgICAgICAgICBrLCB2ID0gcmUuc3BsaXQociJccyo9XHMqIiwgcGFyYW0sIG1heHNwbGl0PTEpCiAgICAgICAgICAgICAgICAgayA9IGsubHN0cmlwKCkKICAgICAgICAgICAgIGlmIGlpICE9IDA6CiAgICAgICAgICAgICAgICAgbGMgPSBrLmxvd2VyKCkKQEAgLTgwNSw3ICs4MDUsNyBAQAogICAgICAgICAgICAgYXJncy5hcHBlbmQoIiVzPSVzIiAlIChuYW1lLCByZXByKGF0dHIpKSkKICAgICAgICAgYXJncy5hcHBlbmQoInJlc3Q9JXMiICUgcmVwcihzZWxmLl9yZXN0KSkKICAgICAgICAgYXJncy5hcHBlbmQoInJmYzIxMDk9JXMiICUgcmVwcihzZWxmLnJmYzIxMDkpKQotICAgICAgICByZXR1cm4gIkNvb2tpZSglcykiICUgIiwgIi5qb2luKGFyZ3MpCisgICAgICAgIHJldHVybiAiJXMoJXMpIiAlIChzZWxmLl9fY2xhc3NfXy5fX25hbWVfXywgIiwgIi5qb2luKGFyZ3MpKQogCiAKIGNsYXNzIENvb2tpZVBvbGljeToKZGlmZiAtLWdpdCBhL0xpYi9odHRwL2Nvb2tpZXMucHkgYi9MaWIvaHR0cC9jb29raWVzLnB5CmluZGV4IDNlMWFiZDcuLjczYWNiYzcgMTAwNjQ0Ci0tLSBhL0xpYi9odHRwL2Nvb2tpZXMucHkKKysrIGIvTGliL2h0dHAvY29va2llcy5weQpAQCAtNTMzLDEwICs1MzMsMTcgQEAKICAgICAgICAgcmV0dXJuCiAKICAgICBkZWYgX19wYXJzZV9zdHJpbmcoc2VsZiwgc3RyLCBwYXR0PV9Db29raWVQYXR0ZXJuKToKLSAgICAgICAgaSA9IDAgICAgICAgICAgICAjIE91ciBzdGFydGluZyBwb2ludAotICAgICAgICBuID0gbGVuKHN0cikgICAgICMgTGVuZ3RoIG9mIHN0cmluZwotICAgICAgICBNID0gTm9uZSAgICAgICAgICMgY3VycmVudCBtb3JzZWwKKyAgICAgICAgaSA9IDAgICAgICAgICAgICAgICAgICMgT3VyIHN0YXJ0aW5nIHBvaW50CisgICAgICAgIG4gPSBsZW4oc3RyKSAgICAgICAgICAjIExlbmd0aCBvZiBzdHJpbmcKKyAgICAgICAgcGFyc2VkX2l0ZW1zID0gW10gICAgICMgUGFyc2VkICh0eXBlLCBrZXksIHZhbHVlKSB0cmlwbGVzCisgICAgICAgIG1vcnNlbF9zZWVuID0gRmFsc2UgICAjIEEga2V5PXZhbHVlIHBhaXIgd2FzIHByZXZpb3VzbHkgZW5jb3VudGVyZWQKIAorICAgICAgICBUWVBFX0FUVFJJQlVURSA9IDEKKyAgICAgICAgVFlQRV9LRVlWQUxVRSA9IDIKKworICAgICAgICAjIFdlIGZpcnN0IHBhcnNlIHRoZSB3aG9sZSBjb29raWUgc3RyaW5nIGFuZCByZWplY3QgaXQgaWYgaXQncworICAgICAgICAjIHN5bnRhY3RpY2FsbHkgaW52YWxpZCAodGhpcyBoZWxwcyBhdm9pZCBzb21lIGNsYXNzZXMgb2YgaW5qZWN0aW9uCisgICAgICAgICMgYXR0YWNrcykuCiAgICAgICAgIHdoaWxlIDAgPD0gaSA8IG46CiAgICAgICAgICAgICAjIFN0YXJ0IGxvb2tpbmcgZm9yIGEgY29va2llCiAgICAgICAgICAgICBtYXRjaCA9IHBhdHQubWF0Y2goc3RyLCBpKQpAQCAtNTQ3LDIyICs1NTQsNDEgQEAKICAgICAgICAgICAgIGtleSwgdmFsdWUgPSBtYXRjaC5ncm91cCgia2V5IiksIG1hdGNoLmdyb3VwKCJ2YWwiKQogICAgICAgICAgICAgaSA9IG1hdGNoLmVuZCgwKQogCi0gICAgICAgICAgICAjIFBhcnNlIHRoZSBrZXksIHZhbHVlIGluIGNhc2UgaXQncyBtZXRhaW5mbwogICAgICAgICAgICAgaWYga2V5WzBdID09ICIkIjoKLSAgICAgICAgICAgICAgICAjIFdlIGlnbm9yZSBhdHRyaWJ1dGVzIHdoaWNoIHBlcnRhaW4gdG8gdGhlIGNvb2tpZQotICAgICAgICAgICAgICAgICMgbWVjaGFuaXNtIGFzIGEgd2hvbGUuICBTZWUgUkZDIDIxMDkuCi0gICAgICAgICAgICAgICAgIyAoRG9lcyBhbnlvbmUgY2FyZT8pCi0gICAgICAgICAgICAgICAgaWYgTToKLSAgICAgICAgICAgICAgICAgICAgTVtrZXlbMTpdXSA9IHZhbHVlCisgICAgICAgICAgICAgICAgaWYgbm90IG1vcnNlbF9zZWVuOgorICAgICAgICAgICAgICAgICAgICAjIFdlIGlnbm9yZSBhdHRyaWJ1dGVzIHdoaWNoIHBlcnRhaW4gdG8gdGhlIGNvb2tpZQorICAgICAgICAgICAgICAgICAgICAjIG1lY2hhbmlzbSBhcyBhIHdob2xlLCBzdWNoIGFzICIkVmVyc2lvbiIuCisgICAgICAgICAgICAgICAgICAgICMgU2VlIFJGQyAyOTY1LiAoRG9lcyBhbnlvbmUgY2FyZT8pCisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgICAgICAgICAgcGFyc2VkX2l0ZW1zLmFwcGVuZCgoVFlQRV9BVFRSSUJVVEUsIGtleVsxOl0sIHZhbHVlKSkKICAgICAgICAgICAgIGVsaWYga2V5Lmxvd2VyKCkgaW4gTW9yc2VsLl9yZXNlcnZlZDoKLSAgICAgICAgICAgICAgICBpZiBNOgotICAgICAgICAgICAgICAgICAgICBpZiB2YWx1ZSBpcyBOb25lOgotICAgICAgICAgICAgICAgICAgICAgICAgaWYga2V5Lmxvd2VyKCkgaW4gTW9yc2VsLl9mbGFnczoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBNW2tleV0gPSBUcnVlCisgICAgICAgICAgICAgICAgaWYgbm90IG1vcnNlbF9zZWVuOgorICAgICAgICAgICAgICAgICAgICAjIEludmFsaWQgY29va2llIHN0cmluZworICAgICAgICAgICAgICAgICAgICByZXR1cm4KKyAgICAgICAgICAgICAgICBpZiB2YWx1ZSBpcyBOb25lOgorICAgICAgICAgICAgICAgICAgICBpZiBrZXkubG93ZXIoKSBpbiBNb3JzZWwuX2ZsYWdzOgorICAgICAgICAgICAgICAgICAgICAgICAgcGFyc2VkX2l0ZW1zLmFwcGVuZCgoVFlQRV9BVFRSSUJVVEUsIGtleSwgVHJ1ZSkpCiAgICAgICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgICAgICBNW2tleV0gPSBfdW5xdW90ZSh2YWx1ZSkKKyAgICAgICAgICAgICAgICAgICAgICAgICMgSW52YWxpZCBjb29raWUgc3RyaW5nCisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4KKyAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICBwYXJzZWRfaXRlbXMuYXBwZW5kKChUWVBFX0FUVFJJQlVURSwga2V5LCBfdW5xdW90ZSh2YWx1ZSkpKQogICAgICAgICAgICAgZWxpZiB2YWx1ZSBpcyBub3QgTm9uZToKLSAgICAgICAgICAgICAgICBydmFsLCBjdmFsID0gc2VsZi52YWx1ZV9kZWNvZGUodmFsdWUpCisgICAgICAgICAgICAgICAgcGFyc2VkX2l0ZW1zLmFwcGVuZCgoVFlQRV9LRVlWQUxVRSwga2V5LCBzZWxmLnZhbHVlX2RlY29kZSh2YWx1ZSkpKQorICAgICAgICAgICAgICAgIG1vcnNlbF9zZWVuID0gVHJ1ZQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAjIEludmFsaWQgY29va2llIHN0cmluZworICAgICAgICAgICAgICAgIHJldHVybgorCisgICAgICAgICMgVGhlIGNvb2tpZSBzdHJpbmcgaXMgdmFsaWQsIGFwcGx5IGl0LgorICAgICAgICBNID0gTm9uZSAgICAgICAgICMgY3VycmVudCBtb3JzZWwKKyAgICAgICAgZm9yIHRwLCBrZXksIHZhbHVlIGluIHBhcnNlZF9pdGVtczoKKyAgICAgICAgICAgIGlmIHRwID09IFRZUEVfQVRUUklCVVRFOgorICAgICAgICAgICAgICAgIGFzc2VydCBNIGlzIG5vdCBOb25lCisgICAgICAgICAgICAgICAgTVtrZXldID0gdmFsdWUKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgYXNzZXJ0IHRwID09IFRZUEVfS0VZVkFMVUUKKyAgICAgICAgICAgICAgICBydmFsLCBjdmFsID0gdmFsdWUKICAgICAgICAgICAgICAgICBzZWxmLl9fc2V0KGtleSwgcnZhbCwgY3ZhbCkKICAgICAgICAgICAgICAgICBNID0gc2VsZltrZXldCiAKZGlmZiAtLWdpdCBhL0xpYi9odHRwL3NlcnZlci5weSBiL0xpYi9odHRwL3NlcnZlci5weQppbmRleCA0NzY1NWU3Li5mZDEzYmUzIDEwMDY0NAotLS0gYS9MaWIvaHR0cC9zZXJ2ZXIucHkKKysrIGIvTGliL2h0dHAvc2VydmVyLnB5CkBAIC0xMDMsNiArMTAzLDggQEAKIGltcG9ydCBjb3B5CiBpbXBvcnQgYXJncGFyc2UKIAorZnJvbSBodHRwIGltcG9ydCBIVFRQU3RhdHVzCisKIAogIyBEZWZhdWx0IGVycm9yIG1lc3NhZ2UgdGVtcGxhdGUKIERFRkFVTFRfRVJST1JfTUVTU0FHRSA9ICIiIlwKQEAgLTI4MSw3ICsyODMsOSBAQAogICAgICAgICBpZiBsZW4od29yZHMpID09IDM6CiAgICAgICAgICAgICBjb21tYW5kLCBwYXRoLCB2ZXJzaW9uID0gd29yZHMKICAgICAgICAgICAgIGlmIHZlcnNpb25bOjVdICE9ICdIVFRQLyc6Ci0gICAgICAgICAgICAgICAgc2VsZi5zZW5kX2Vycm9yKDQwMCwgIkJhZCByZXF1ZXN0IHZlcnNpb24gKCVyKSIgJSB2ZXJzaW9uKQorICAgICAgICAgICAgICAgIHNlbGYuc2VuZF9lcnJvcigKKyAgICAgICAgICAgICAgICAgICAgSFRUUFN0YXR1cy5CQURfUkVRVUVTVCwKKyAgICAgICAgICAgICAgICAgICAgIkJhZCByZXF1ZXN0IHZlcnNpb24gKCVyKSIgJSB2ZXJzaW9uKQogICAgICAgICAgICAgICAgIHJldHVybiBGYWxzZQogICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgIGJhc2VfdmVyc2lvbl9udW1iZXIgPSB2ZXJzaW9uLnNwbGl0KCcvJywgMSlbMV0KQEAgLTI5NiwyNSArMzAwLDMxIEBACiAgICAgICAgICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IKICAgICAgICAgICAgICAgICB2ZXJzaW9uX251bWJlciA9IGludCh2ZXJzaW9uX251bWJlclswXSksIGludCh2ZXJzaW9uX251bWJlclsxXSkKICAgICAgICAgICAgIGV4Y2VwdCAoVmFsdWVFcnJvciwgSW5kZXhFcnJvcik6Ci0gICAgICAgICAgICAgICAgc2VsZi5zZW5kX2Vycm9yKDQwMCwgIkJhZCByZXF1ZXN0IHZlcnNpb24gKCVyKSIgJSB2ZXJzaW9uKQorICAgICAgICAgICAgICAgIHNlbGYuc2VuZF9lcnJvcigKKyAgICAgICAgICAgICAgICAgICAgSFRUUFN0YXR1cy5CQURfUkVRVUVTVCwKKyAgICAgICAgICAgICAgICAgICAgIkJhZCByZXF1ZXN0IHZlcnNpb24gKCVyKSIgJSB2ZXJzaW9uKQogICAgICAgICAgICAgICAgIHJldHVybiBGYWxzZQogICAgICAgICAgICAgaWYgdmVyc2lvbl9udW1iZXIgPj0gKDEsIDEpIGFuZCBzZWxmLnByb3RvY29sX3ZlcnNpb24gPj0gIkhUVFAvMS4xIjoKICAgICAgICAgICAgICAgICBzZWxmLmNsb3NlX2Nvbm5lY3Rpb24gPSBGYWxzZQogICAgICAgICAgICAgaWYgdmVyc2lvbl9udW1iZXIgPj0gKDIsIDApOgotICAgICAgICAgICAgICAgIHNlbGYuc2VuZF9lcnJvcig1MDUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICJJbnZhbGlkIEhUVFAgVmVyc2lvbiAoJXMpIiAlIGJhc2VfdmVyc2lvbl9udW1iZXIpCisgICAgICAgICAgICAgICAgc2VsZi5zZW5kX2Vycm9yKAorICAgICAgICAgICAgICAgICAgICBIVFRQU3RhdHVzLkhUVFBfVkVSU0lPTl9OT1RfU1VQUE9SVEVELAorICAgICAgICAgICAgICAgICAgICAiSW52YWxpZCBIVFRQIFZlcnNpb24gKCVzKSIgJSBiYXNlX3ZlcnNpb25fbnVtYmVyKQogICAgICAgICAgICAgICAgIHJldHVybiBGYWxzZQogICAgICAgICBlbGlmIGxlbih3b3JkcykgPT0gMjoKICAgICAgICAgICAgIGNvbW1hbmQsIHBhdGggPSB3b3JkcwogICAgICAgICAgICAgc2VsZi5jbG9zZV9jb25uZWN0aW9uID0gVHJ1ZQogICAgICAgICAgICAgaWYgY29tbWFuZCAhPSAnR0VUJzoKLSAgICAgICAgICAgICAgICBzZWxmLnNlbmRfZXJyb3IoNDAwLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiQmFkIEhUVFAvMC45IHJlcXVlc3QgdHlwZSAoJXIpIiAlIGNvbW1hbmQpCisgICAgICAgICAgICAgICAgc2VsZi5zZW5kX2Vycm9yKAorICAgICAgICAgICAgICAgICAgICBIVFRQU3RhdHVzLkJBRF9SRVFVRVNULAorICAgICAgICAgICAgICAgICAgICAiQmFkIEhUVFAvMC45IHJlcXVlc3QgdHlwZSAoJXIpIiAlIGNvbW1hbmQpCiAgICAgICAgICAgICAgICAgcmV0dXJuIEZhbHNlCiAgICAgICAgIGVsaWYgbm90IHdvcmRzOgogICAgICAgICAgICAgcmV0dXJuIEZhbHNlCiAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBzZWxmLnNlbmRfZXJyb3IoNDAwLCAiQmFkIHJlcXVlc3Qgc3ludGF4ICglcikiICUgcmVxdWVzdGxpbmUpCisgICAgICAgICAgICBzZWxmLnNlbmRfZXJyb3IoCisgICAgICAgICAgICAgICAgSFRUUFN0YXR1cy5CQURfUkVRVUVTVCwKKyAgICAgICAgICAgICAgICAiQmFkIHJlcXVlc3Qgc3ludGF4ICglcikiICUgcmVxdWVzdGxpbmUpCiAgICAgICAgICAgICByZXR1cm4gRmFsc2UKICAgICAgICAgc2VsZi5jb21tYW5kLCBzZWxmLnBhdGgsIHNlbGYucmVxdWVzdF92ZXJzaW9uID0gY29tbWFuZCwgcGF0aCwgdmVyc2lvbgogCkBAIC0zMjMsNyArMzMzLDkgQEAKICAgICAgICAgICAgIHNlbGYuaGVhZGVycyA9IGh0dHAuY2xpZW50LnBhcnNlX2hlYWRlcnMoc2VsZi5yZmlsZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX2NsYXNzPXNlbGYuTWVzc2FnZUNsYXNzKQogICAgICAgICBleGNlcHQgaHR0cC5jbGllbnQuTGluZVRvb0xvbmc6Ci0gICAgICAgICAgICBzZWxmLnNlbmRfZXJyb3IoNDAwLCAiTGluZSB0b28gbG9uZyIpCisgICAgICAgICAgICBzZWxmLnNlbmRfZXJyb3IoCisgICAgICAgICAgICAgICAgSFRUUFN0YXR1cy5CQURfUkVRVUVTVCwKKyAgICAgICAgICAgICAgICAiTGluZSB0b28gbG9uZyIpCiAgICAgICAgICAgICByZXR1cm4gRmFsc2UKIAogICAgICAgICBjb25udHlwZSA9IHNlbGYuaGVhZGVycy5nZXQoJ0Nvbm5lY3Rpb24nLCAiIikKQEAgLTM1NSw3ICszNjcsNyBAQAogICAgICAgICBGYWxzZS4KIAogICAgICAgICAiIiIKLSAgICAgICAgc2VsZi5zZW5kX3Jlc3BvbnNlX29ubHkoMTAwKQorICAgICAgICBzZWxmLnNlbmRfcmVzcG9uc2Vfb25seShIVFRQU3RhdHVzLkNPTlRJTlVFKQogICAgICAgICBzZWxmLmVuZF9oZWFkZXJzKCkKICAgICAgICAgcmV0dXJuIFRydWUKIApAQCAtMzczLDcgKzM4NSw3IEBACiAgICAgICAgICAgICAgICAgc2VsZi5yZXF1ZXN0bGluZSA9ICcnCiAgICAgICAgICAgICAgICAgc2VsZi5yZXF1ZXN0X3ZlcnNpb24gPSAnJwogICAgICAgICAgICAgICAgIHNlbGYuY29tbWFuZCA9ICcnCi0gICAgICAgICAgICAgICAgc2VsZi5zZW5kX2Vycm9yKDQxNCkKKyAgICAgICAgICAgICAgICBzZWxmLnNlbmRfZXJyb3IoSFRUUFN0YXR1cy5SRVFVRVNUX1VSSV9UT09fTE9ORykKICAgICAgICAgICAgICAgICByZXR1cm4KICAgICAgICAgICAgIGlmIG5vdCBzZWxmLnJhd19yZXF1ZXN0bGluZToKICAgICAgICAgICAgICAgICBzZWxmLmNsb3NlX2Nvbm5lY3Rpb24gPSBUcnVlCkBAIC0zODMsNyArMzk1LDkgQEAKICAgICAgICAgICAgICAgICByZXR1cm4KICAgICAgICAgICAgIG1uYW1lID0gJ2RvXycgKyBzZWxmLmNvbW1hbmQKICAgICAgICAgICAgIGlmIG5vdCBoYXNhdHRyKHNlbGYsIG1uYW1lKToKLSAgICAgICAgICAgICAgICBzZWxmLnNlbmRfZXJyb3IoNTAxLCAiVW5zdXBwb3J0ZWQgbWV0aG9kICglcikiICUgc2VsZi5jb21tYW5kKQorICAgICAgICAgICAgICAgIHNlbGYuc2VuZF9lcnJvcigKKyAgICAgICAgICAgICAgICAgICAgSFRUUFN0YXR1cy5OT1RfSU1QTEVNRU5URUQsCisgICAgICAgICAgICAgICAgICAgICJVbnN1cHBvcnRlZCBtZXRob2QgKCVyKSIgJSBzZWxmLmNvbW1hbmQpCiAgICAgICAgICAgICAgICAgcmV0dXJuCiAgICAgICAgICAgICBtZXRob2QgPSBnZXRhdHRyKHNlbGYsIG1uYW1lKQogICAgICAgICAgICAgbWV0aG9kKCkKQEAgLTQzOCw3ICs0NTIsMTEgQEAKICAgICAgICAgc2VsZi5zZW5kX2hlYWRlcignQ29ubmVjdGlvbicsICdjbG9zZScpCiAgICAgICAgIHNlbGYuc2VuZF9oZWFkZXIoJ0NvbnRlbnQtTGVuZ3RoJywgaW50KGxlbihib2R5KSkpCiAgICAgICAgIHNlbGYuZW5kX2hlYWRlcnMoKQotICAgICAgICBpZiBzZWxmLmNvbW1hbmQgIT0gJ0hFQUQnIGFuZCBjb2RlID49IDIwMCBhbmQgY29kZSBub3QgaW4gKDIwNCwgMzA0KToKKworICAgICAgICBpZiAoc2VsZi5jb21tYW5kICE9ICdIRUFEJyBhbmQKKyAgICAgICAgICAgICAgICBjb2RlID49IDIwMCBhbmQKKyAgICAgICAgICAgICAgICBjb2RlIG5vdCBpbiAoCisgICAgICAgICAgICAgICAgICAgIEhUVFBTdGF0dXMuTk9fQ09OVEVOVCwgSFRUUFN0YXR1cy5OT1RfTU9ESUZJRUQpKToKICAgICAgICAgICAgIHNlbGYud2ZpbGUud3JpdGUoYm9keSkKIAogICAgIGRlZiBzZW5kX3Jlc3BvbnNlKHNlbGYsIGNvZGUsIG1lc3NhZ2U9Tm9uZSk6CkBAIC00OTksNyArNTE3LDggQEAKICAgICAgICAgVGhpcyBpcyBjYWxsZWQgYnkgc2VuZF9yZXNwb25zZSgpLgogCiAgICAgICAgICIiIgotCisgICAgICAgIGlmIGlzaW5zdGFuY2UoY29kZSwgSFRUUFN0YXR1cyk6CisgICAgICAgICAgICBjb2RlID0gY29kZS52YWx1ZQogICAgICAgICBzZWxmLmxvZ19tZXNzYWdlKCciJXMiICVzICVzJywKICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnJlcXVlc3RsaW5lLCBzdHIoY29kZSksIHN0cihzaXplKSkKIApAQCAtNTgyLDgyICs2MDEsMTEgQEAKICAgICAjIE1lc3NhZ2VDbGFzcyB1c2VkIHRvIHBhcnNlIGhlYWRlcnMKICAgICBNZXNzYWdlQ2xhc3MgPSBodHRwLmNsaWVudC5IVFRQTWVzc2FnZQogCi0gICAgIyBUYWJsZSBtYXBwaW5nIHJlc3BvbnNlIGNvZGVzIHRvIG1lc3NhZ2VzOyBlbnRyaWVzIGhhdmUgdGhlCi0gICAgIyBmb3JtIHtjb2RlOiAoc2hvcnRtZXNzYWdlLCBsb25nbWVzc2FnZSl9LgotICAgICMgU2VlIFJGQyAyNjE2IGFuZCA2NTg1LgorICAgICMgaGFjayB0byBtYWludGFpbiBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eQogICAgIHJlc3BvbnNlcyA9IHsKLSAgICAgICAgMTAwOiAoJ0NvbnRpbnVlJywgJ1JlcXVlc3QgcmVjZWl2ZWQsIHBsZWFzZSBjb250aW51ZScpLAotICAgICAgICAxMDE6ICgnU3dpdGNoaW5nIFByb3RvY29scycsCi0gICAgICAgICAgICAgICdTd2l0Y2hpbmcgdG8gbmV3IHByb3RvY29sOyBvYmV5IFVwZ3JhZGUgaGVhZGVyJyksCi0KLSAgICAgICAgMjAwOiAoJ09LJywgJ1JlcXVlc3QgZnVsZmlsbGVkLCBkb2N1bWVudCBmb2xsb3dzJyksCi0gICAgICAgIDIwMTogKCdDcmVhdGVkJywgJ0RvY3VtZW50IGNyZWF0ZWQsIFVSTCBmb2xsb3dzJyksCi0gICAgICAgIDIwMjogKCdBY2NlcHRlZCcsCi0gICAgICAgICAgICAgICdSZXF1ZXN0IGFjY2VwdGVkLCBwcm9jZXNzaW5nIGNvbnRpbnVlcyBvZmYtbGluZScpLAotICAgICAgICAyMDM6ICgnTm9uLUF1dGhvcml0YXRpdmUgSW5mb3JtYXRpb24nLCAnUmVxdWVzdCBmdWxmaWxsZWQgZnJvbSBjYWNoZScpLAotICAgICAgICAyMDQ6ICgnTm8gQ29udGVudCcsICdSZXF1ZXN0IGZ1bGZpbGxlZCwgbm90aGluZyBmb2xsb3dzJyksCi0gICAgICAgIDIwNTogKCdSZXNldCBDb250ZW50JywgJ0NsZWFyIGlucHV0IGZvcm0gZm9yIGZ1cnRoZXIgaW5wdXQuJyksCi0gICAgICAgIDIwNjogKCdQYXJ0aWFsIENvbnRlbnQnLCAnUGFydGlhbCBjb250ZW50IGZvbGxvd3MuJyksCi0KLSAgICAgICAgMzAwOiAoJ011bHRpcGxlIENob2ljZXMnLAotICAgICAgICAgICAgICAnT2JqZWN0IGhhcyBzZXZlcmFsIHJlc291cmNlcyAtLSBzZWUgVVJJIGxpc3QnKSwKLSAgICAgICAgMzAxOiAoJ01vdmVkIFBlcm1hbmVudGx5JywgJ09iamVjdCBtb3ZlZCBwZXJtYW5lbnRseSAtLSBzZWUgVVJJIGxpc3QnKSwKLSAgICAgICAgMzAyOiAoJ0ZvdW5kJywgJ09iamVjdCBtb3ZlZCB0ZW1wb3JhcmlseSAtLSBzZWUgVVJJIGxpc3QnKSwKLSAgICAgICAgMzAzOiAoJ1NlZSBPdGhlcicsICdPYmplY3QgbW92ZWQgLS0gc2VlIE1ldGhvZCBhbmQgVVJMIGxpc3QnKSwKLSAgICAgICAgMzA0OiAoJ05vdCBNb2RpZmllZCcsCi0gICAgICAgICAgICAgICdEb2N1bWVudCBoYXMgbm90IGNoYW5nZWQgc2luY2UgZ2l2ZW4gdGltZScpLAotICAgICAgICAzMDU6ICgnVXNlIFByb3h5JywKLSAgICAgICAgICAgICAgJ1lvdSBtdXN0IHVzZSBwcm94eSBzcGVjaWZpZWQgaW4gTG9jYXRpb24gdG8gYWNjZXNzIHRoaXMgJwotICAgICAgICAgICAgICAncmVzb3VyY2UuJyksCi0gICAgICAgIDMwNzogKCdUZW1wb3JhcnkgUmVkaXJlY3QnLAotICAgICAgICAgICAgICAnT2JqZWN0IG1vdmVkIHRlbXBvcmFyaWx5IC0tIHNlZSBVUkkgbGlzdCcpLAotCi0gICAgICAgIDQwMDogKCdCYWQgUmVxdWVzdCcsCi0gICAgICAgICAgICAgICdCYWQgcmVxdWVzdCBzeW50YXggb3IgdW5zdXBwb3J0ZWQgbWV0aG9kJyksCi0gICAgICAgIDQwMTogKCdVbmF1dGhvcml6ZWQnLAotICAgICAgICAgICAgICAnTm8gcGVybWlzc2lvbiAtLSBzZWUgYXV0aG9yaXphdGlvbiBzY2hlbWVzJyksCi0gICAgICAgIDQwMjogKCdQYXltZW50IFJlcXVpcmVkJywKLSAgICAgICAgICAgICAgJ05vIHBheW1lbnQgLS0gc2VlIGNoYXJnaW5nIHNjaGVtZXMnKSwKLSAgICAgICAgNDAzOiAoJ0ZvcmJpZGRlbicsCi0gICAgICAgICAgICAgICdSZXF1ZXN0IGZvcmJpZGRlbiAtLSBhdXRob3JpemF0aW9uIHdpbGwgbm90IGhlbHAnKSwKLSAgICAgICAgNDA0OiAoJ05vdCBGb3VuZCcsICdOb3RoaW5nIG1hdGNoZXMgdGhlIGdpdmVuIFVSSScpLAotICAgICAgICA0MDU6ICgnTWV0aG9kIE5vdCBBbGxvd2VkJywKLSAgICAgICAgICAgICAgJ1NwZWNpZmllZCBtZXRob2QgaXMgaW52YWxpZCBmb3IgdGhpcyByZXNvdXJjZS4nKSwKLSAgICAgICAgNDA2OiAoJ05vdCBBY2NlcHRhYmxlJywgJ1VSSSBub3QgYXZhaWxhYmxlIGluIHByZWZlcnJlZCBmb3JtYXQuJyksCi0gICAgICAgIDQwNzogKCdQcm94eSBBdXRoZW50aWNhdGlvbiBSZXF1aXJlZCcsICdZb3UgbXVzdCBhdXRoZW50aWNhdGUgd2l0aCAnCi0gICAgICAgICAgICAgICd0aGlzIHByb3h5IGJlZm9yZSBwcm9jZWVkaW5nLicpLAotICAgICAgICA0MDg6ICgnUmVxdWVzdCBUaW1lb3V0JywgJ1JlcXVlc3QgdGltZWQgb3V0OyB0cnkgYWdhaW4gbGF0ZXIuJyksCi0gICAgICAgIDQwOTogKCdDb25mbGljdCcsICdSZXF1ZXN0IGNvbmZsaWN0LicpLAotICAgICAgICA0MTA6ICgnR29uZScsCi0gICAgICAgICAgICAgICdVUkkgbm8gbG9uZ2VyIGV4aXN0cyBhbmQgaGFzIGJlZW4gcGVybWFuZW50bHkgcmVtb3ZlZC4nKSwKLSAgICAgICAgNDExOiAoJ0xlbmd0aCBSZXF1aXJlZCcsICdDbGllbnQgbXVzdCBzcGVjaWZ5IENvbnRlbnQtTGVuZ3RoLicpLAotICAgICAgICA0MTI6ICgnUHJlY29uZGl0aW9uIEZhaWxlZCcsICdQcmVjb25kaXRpb24gaW4gaGVhZGVycyBpcyBmYWxzZS4nKSwKLSAgICAgICAgNDEzOiAoJ1JlcXVlc3QgRW50aXR5IFRvbyBMYXJnZScsICdFbnRpdHkgaXMgdG9vIGxhcmdlLicpLAotICAgICAgICA0MTQ6ICgnUmVxdWVzdC1VUkkgVG9vIExvbmcnLCAnVVJJIGlzIHRvbyBsb25nLicpLAotICAgICAgICA0MTU6ICgnVW5zdXBwb3J0ZWQgTWVkaWEgVHlwZScsICdFbnRpdHkgYm9keSBpbiB1bnN1cHBvcnRlZCBmb3JtYXQuJyksCi0gICAgICAgIDQxNjogKCdSZXF1ZXN0ZWQgUmFuZ2UgTm90IFNhdGlzZmlhYmxlJywKLSAgICAgICAgICAgICAgJ0Nhbm5vdCBzYXRpc2Z5IHJlcXVlc3QgcmFuZ2UuJyksCi0gICAgICAgIDQxNzogKCdFeHBlY3RhdGlvbiBGYWlsZWQnLAotICAgICAgICAgICAgICAnRXhwZWN0IGNvbmRpdGlvbiBjb3VsZCBub3QgYmUgc2F0aXNmaWVkLicpLAotICAgICAgICA0Mjg6ICgnUHJlY29uZGl0aW9uIFJlcXVpcmVkJywKLSAgICAgICAgICAgICAgJ1RoZSBvcmlnaW4gc2VydmVyIHJlcXVpcmVzIHRoZSByZXF1ZXN0IHRvIGJlIGNvbmRpdGlvbmFsLicpLAotICAgICAgICA0Mjk6ICgnVG9vIE1hbnkgUmVxdWVzdHMnLCAnVGhlIHVzZXIgaGFzIHNlbnQgdG9vIG1hbnkgcmVxdWVzdHMgJwotICAgICAgICAgICAgICAnaW4gYSBnaXZlbiBhbW91bnQgb2YgdGltZSAoInJhdGUgbGltaXRpbmciKS4nKSwKLSAgICAgICAgNDMxOiAoJ1JlcXVlc3QgSGVhZGVyIEZpZWxkcyBUb28gTGFyZ2UnLCAnVGhlIHNlcnZlciBpcyB1bndpbGxpbmcgdG8gJwotICAgICAgICAgICAgICAncHJvY2VzcyB0aGUgcmVxdWVzdCBiZWNhdXNlIGl0cyBoZWFkZXIgZmllbGRzIGFyZSB0b28gbGFyZ2UuJyksCi0KLSAgICAgICAgNTAwOiAoJ0ludGVybmFsIFNlcnZlciBFcnJvcicsICdTZXJ2ZXIgZ290IGl0c2VsZiBpbiB0cm91YmxlJyksCi0gICAgICAgIDUwMTogKCdOb3QgSW1wbGVtZW50ZWQnLAotICAgICAgICAgICAgICAnU2VydmVyIGRvZXMgbm90IHN1cHBvcnQgdGhpcyBvcGVyYXRpb24nKSwKLSAgICAgICAgNTAyOiAoJ0JhZCBHYXRld2F5JywgJ0ludmFsaWQgcmVzcG9uc2VzIGZyb20gYW5vdGhlciBzZXJ2ZXIvcHJveHkuJyksCi0gICAgICAgIDUwMzogKCdTZXJ2aWNlIFVuYXZhaWxhYmxlJywKLSAgICAgICAgICAgICAgJ1RoZSBzZXJ2ZXIgY2Fubm90IHByb2Nlc3MgdGhlIHJlcXVlc3QgZHVlIHRvIGEgaGlnaCBsb2FkJyksCi0gICAgICAgIDUwNDogKCdHYXRld2F5IFRpbWVvdXQnLAotICAgICAgICAgICAgICAnVGhlIGdhdGV3YXkgc2VydmVyIGRpZCBub3QgcmVjZWl2ZSBhIHRpbWVseSByZXNwb25zZScpLAotICAgICAgICA1MDU6ICgnSFRUUCBWZXJzaW9uIE5vdCBTdXBwb3J0ZWQnLCAnQ2Fubm90IGZ1bGZpbGwgcmVxdWVzdC4nKSwKLSAgICAgICAgNTExOiAoJ05ldHdvcmsgQXV0aGVudGljYXRpb24gUmVxdWlyZWQnLAotICAgICAgICAgICAgICAnVGhlIGNsaWVudCBuZWVkcyB0byBhdXRoZW50aWNhdGUgdG8gZ2FpbiBuZXR3b3JrIGFjY2Vzcy4nKSwKLSAgICAgICAgfQorICAgICAgICB2OiAodi5waHJhc2UsIHYuZGVzY3JpcHRpb24pCisgICAgICAgIGZvciB2IGluIEhUVFBTdGF0dXMuX19tZW1iZXJzX18udmFsdWVzKCkKKyAgICB9CiAKIAogY2xhc3MgU2ltcGxlSFRUUFJlcXVlc3RIYW5kbGVyKEJhc2VIVFRQUmVxdWVzdEhhbmRsZXIpOgpAQCAtNzA3LDcgKzY1NSw3IEBACiAgICAgICAgICAgICBwYXJ0cyA9IHVybGxpYi5wYXJzZS51cmxzcGxpdChzZWxmLnBhdGgpCiAgICAgICAgICAgICBpZiBub3QgcGFydHMucGF0aC5lbmRzd2l0aCgnLycpOgogICAgICAgICAgICAgICAgICMgcmVkaXJlY3QgYnJvd3NlciAtIGRvaW5nIGJhc2ljYWxseSB3aGF0IGFwYWNoZSBkb2VzCi0gICAgICAgICAgICAgICAgc2VsZi5zZW5kX3Jlc3BvbnNlKDMwMSkKKyAgICAgICAgICAgICAgICBzZWxmLnNlbmRfcmVzcG9uc2UoSFRUUFN0YXR1cy5NT1ZFRF9QRVJNQU5FTlRMWSkKICAgICAgICAgICAgICAgICBuZXdfcGFydHMgPSAocGFydHNbMF0sIHBhcnRzWzFdLCBwYXJ0c1syXSArICcvJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFydHNbM10sIHBhcnRzWzRdKQogICAgICAgICAgICAgICAgIG5ld191cmwgPSB1cmxsaWIucGFyc2UudXJsdW5zcGxpdChuZXdfcGFydHMpCkBAIC03MjUsMTAgKzY3MywxMCBAQAogICAgICAgICB0cnk6CiAgICAgICAgICAgICBmID0gb3BlbihwYXRoLCAncmInKQogICAgICAgICBleGNlcHQgT1NFcnJvcjoKLSAgICAgICAgICAgIHNlbGYuc2VuZF9lcnJvcig0MDQsICJGaWxlIG5vdCBmb3VuZCIpCisgICAgICAgICAgICBzZWxmLnNlbmRfZXJyb3IoSFRUUFN0YXR1cy5OT1RfRk9VTkQsICJGaWxlIG5vdCBmb3VuZCIpCiAgICAgICAgICAgICByZXR1cm4gTm9uZQogICAgICAgICB0cnk6Ci0gICAgICAgICAgICBzZWxmLnNlbmRfcmVzcG9uc2UoMjAwKQorICAgICAgICAgICAgc2VsZi5zZW5kX3Jlc3BvbnNlKEhUVFBTdGF0dXMuT0spCiAgICAgICAgICAgICBzZWxmLnNlbmRfaGVhZGVyKCJDb250ZW50LXR5cGUiLCBjdHlwZSkKICAgICAgICAgICAgIGZzID0gb3MuZnN0YXQoZi5maWxlbm8oKSkKICAgICAgICAgICAgIHNlbGYuc2VuZF9oZWFkZXIoIkNvbnRlbnQtTGVuZ3RoIiwgc3RyKGZzWzZdKSkKQEAgLTc1MCw3ICs2OTgsOSBAQAogICAgICAgICB0cnk6CiAgICAgICAgICAgICBsaXN0ID0gb3MubGlzdGRpcihwYXRoKQogICAgICAgICBleGNlcHQgT1NFcnJvcjoKLSAgICAgICAgICAgIHNlbGYuc2VuZF9lcnJvcig0MDQsICJObyBwZXJtaXNzaW9uIHRvIGxpc3QgZGlyZWN0b3J5IikKKyAgICAgICAgICAgIHNlbGYuc2VuZF9lcnJvcigKKyAgICAgICAgICAgICAgICBIVFRQU3RhdHVzLk5PVF9GT1VORCwKKyAgICAgICAgICAgICAgICAiTm8gcGVybWlzc2lvbiB0byBsaXN0IGRpcmVjdG9yeSIpCiAgICAgICAgICAgICByZXR1cm4gTm9uZQogICAgICAgICBsaXN0LnNvcnQoa2V5PWxhbWJkYSBhOiBhLmxvd2VyKCkpCiAgICAgICAgIHIgPSBbXQpAQCAtNzg5LDcgKzczOSw3IEBACiAgICAgICAgIGYgPSBpby5CeXRlc0lPKCkKICAgICAgICAgZi53cml0ZShlbmNvZGVkKQogICAgICAgICBmLnNlZWsoMCkKLSAgICAgICAgc2VsZi5zZW5kX3Jlc3BvbnNlKDIwMCkKKyAgICAgICAgc2VsZi5zZW5kX3Jlc3BvbnNlKEhUVFBTdGF0dXMuT0spCiAgICAgICAgIHNlbGYuc2VuZF9oZWFkZXIoIkNvbnRlbnQtdHlwZSIsICJ0ZXh0L2h0bWw7IGNoYXJzZXQ9JXMiICUgZW5jKQogICAgICAgICBzZWxmLnNlbmRfaGVhZGVyKCJDb250ZW50LUxlbmd0aCIsIHN0cihsZW4oZW5jb2RlZCkpKQogICAgICAgICBzZWxmLmVuZF9oZWFkZXJzKCkKQEAgLTk3MSw3ICs5MjEsOSBAQAogICAgICAgICBpZiBzZWxmLmlzX2NnaSgpOgogICAgICAgICAgICAgc2VsZi5ydW5fY2dpKCkKICAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHNlbGYuc2VuZF9lcnJvcig1MDEsICJDYW4gb25seSBQT1NUIHRvIENHSSBzY3JpcHRzIikKKyAgICAgICAgICAgIHNlbGYuc2VuZF9lcnJvcigKKyAgICAgICAgICAgICAgICBIVFRQU3RhdHVzLk5PVF9JTVBMRU1FTlRFRCwKKyAgICAgICAgICAgICAgICAiQ2FuIG9ubHkgUE9TVCB0byBDR0kgc2NyaXB0cyIpCiAKICAgICBkZWYgc2VuZF9oZWFkKHNlbGYpOgogICAgICAgICAiIiJWZXJzaW9uIG9mIHNlbmRfaGVhZCB0aGF0IHN1cHBvcnQgQ0dJIHNjcmlwdHMiIiIKQEAgLTEwNDksMTcgKzEwMDEsMjEgQEAKICAgICAgICAgc2NyaXB0bmFtZSA9IGRpciArICcvJyArIHNjcmlwdAogICAgICAgICBzY3JpcHRmaWxlID0gc2VsZi50cmFuc2xhdGVfcGF0aChzY3JpcHRuYW1lKQogICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMoc2NyaXB0ZmlsZSk6Ci0gICAgICAgICAgICBzZWxmLnNlbmRfZXJyb3IoNDA0LCAiTm8gc3VjaCBDR0kgc2NyaXB0ICglcikiICUgc2NyaXB0bmFtZSkKKyAgICAgICAgICAgIHNlbGYuc2VuZF9lcnJvcigKKyAgICAgICAgICAgICAgICBIVFRQU3RhdHVzLk5PVF9GT1VORCwKKyAgICAgICAgICAgICAgICAiTm8gc3VjaCBDR0kgc2NyaXB0ICglcikiICUgc2NyaXB0bmFtZSkKICAgICAgICAgICAgIHJldHVybgogICAgICAgICBpZiBub3Qgb3MucGF0aC5pc2ZpbGUoc2NyaXB0ZmlsZSk6Ci0gICAgICAgICAgICBzZWxmLnNlbmRfZXJyb3IoNDAzLCAiQ0dJIHNjcmlwdCBpcyBub3QgYSBwbGFpbiBmaWxlICglcikiICUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBzY3JpcHRuYW1lKQorICAgICAgICAgICAgc2VsZi5zZW5kX2Vycm9yKAorICAgICAgICAgICAgICAgIEhUVFBTdGF0dXMuRk9SQklEREVOLAorICAgICAgICAgICAgICAgICJDR0kgc2NyaXB0IGlzIG5vdCBhIHBsYWluIGZpbGUgKCVyKSIgJSBzY3JpcHRuYW1lKQogICAgICAgICAgICAgcmV0dXJuCiAgICAgICAgIGlzcHkgPSBzZWxmLmlzX3B5dGhvbihzY3JpcHRuYW1lKQogICAgICAgICBpZiBzZWxmLmhhdmVfZm9yayBvciBub3QgaXNweToKICAgICAgICAgICAgIGlmIG5vdCBzZWxmLmlzX2V4ZWN1dGFibGUoc2NyaXB0ZmlsZSk6Ci0gICAgICAgICAgICAgICAgc2VsZi5zZW5kX2Vycm9yKDQwMywgIkNHSSBzY3JpcHQgaXMgbm90IGV4ZWN1dGFibGUgKCVyKSIgJQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzY3JpcHRuYW1lKQorICAgICAgICAgICAgICAgIHNlbGYuc2VuZF9lcnJvcigKKyAgICAgICAgICAgICAgICAgICAgSFRUUFN0YXR1cy5GT1JCSURERU4sCisgICAgICAgICAgICAgICAgICAgICJDR0kgc2NyaXB0IGlzIG5vdCBleGVjdXRhYmxlICglcikiICUgc2NyaXB0bmFtZSkKICAgICAgICAgICAgICAgICByZXR1cm4KIAogICAgICAgICAjIFJlZmVyZW5jZTogaHR0cDovL2hvb2hvby5uY3NhLnVpdWMuZWR1L2NnaS9lbnYuaHRtbApAQCAtMTEyNyw3ICsxMDgzLDcgQEAKICAgICAgICAgICAgICAgICAgICdIVFRQX1VTRVJfQUdFTlQnLCAnSFRUUF9DT09LSUUnLCAnSFRUUF9SRUZFUkVSJyk6CiAgICAgICAgICAgICBlbnYuc2V0ZGVmYXVsdChrLCAiIikKIAotICAgICAgICBzZWxmLnNlbmRfcmVzcG9uc2UoMjAwLCAiU2NyaXB0IG91dHB1dCBmb2xsb3dzIikKKyAgICAgICAgc2VsZi5zZW5kX3Jlc3BvbnNlKEhUVFBTdGF0dXMuT0ssICJTY3JpcHQgb3V0cHV0IGZvbGxvd3MiKQogICAgICAgICBzZWxmLmZsdXNoX2hlYWRlcnMoKQogCiAgICAgICAgIGRlY29kZWRfcXVlcnkgPSBxdWVyeS5yZXBsYWNlKCcrJywgJyAnKQpkaWZmIC0tZ2l0IGEvTGliL2lkbGVsaWIvTkVXUy50eHQgYi9MaWIvaWRsZWxpYi9ORVdTLnR4dAppbmRleCBhM2E4ZmJmLi44MjgxNDJjIDEwMDY0NAotLS0gYS9MaWIvaWRsZWxpYi9ORVdTLnR4dAorKysgYi9MaWIvaWRsZWxpYi9ORVdTLnR4dApAQCAtMSw0ICsxLDQgQEAKLVdoYXQncyBOZXcgaW4gSWRsZSAzLjQuMz8KK1doYXQncyBOZXcgaW4gSURMRSAzLjUuMD8KID09PT09PT09PT09PT09PT09PT09PT09PT0KIAogLSBJc3N1ZSAjMTY4OTM6IFVwZGF0ZSBJZGxlIGRvYyBjaGFwdGVyIHRvIG1hdGNoIGN1cnJlbnQgSWRsZSBhbmQgYWRkIG5ldwpAQCAtMjEsMTAgKzIxLDYgQEAKIC0gSXNzdWUgIzIxOTg2OiBDb2RlIG9iamVjdHMgYXJlIG5vdCBub3JtYWxseSBwaWNrbGVkIGJ5IHRoZSBwaWNrbGUgbW9kdWxlLgogICBUbyBtYXRjaCB0aGlzLCB0aGV5IGFyZSBubyBsb25nZXIgcGlja2xlZCB3aGVuIHJ1bm5pbmcgdW5kZXIgSWRsZS4KIAotCi1XaGF0J3MgTmV3IGluIElETEUgMy40LjI/Ci09PT09PT09PT09PT09PT09PT09PT09PT09Ci0KIC0gSXNzdWUgIzE3MzkwOiBBZGp1c3QgRWRpdG9yIHdpbmRvdyB0aXRsZTsgcmVtb3ZlICdQeXRob24nLAogICBtb3ZlIHZlcnNpb24gdG8gZW5kLgogCkBAIC01OSwxMyArNTUsOCBAQAogCiAtIElzc3VlICMxODQwOTogQWRkIHVuaXR0ZXN0IGZvciBBdXRvQ29tcGxldGUuIFBhdGNoIGJ5IFBoaWwgV2Vic3Rlci4KIAotLSBJc3N1ZSAjMTgxMDQ6IEFkZCBpZGxlbGliL2lkbGVfdGVzdC9odGVzdC5weSB3aXRoIGEgZmV3IHNhbXBsZSB0ZXN0cyB0byBiZWdpbgotICBjb25zb2xpZGF0aW5nIGFuZCBpbXByb3ZpbmcgaHVtYW4tdmFsaWRhdGVkIHRlc3RzIG9mIElkbGUuIENoYW5nZSBvdGhlciBmaWxlcwotICBhcyBuZWVkZWQgdG8gd29yayB3aXRoIGh0ZXN0LiAgUnVubmluZyB0aGUgbW9kdWxlIGFzIF9fbWFpbl9fIHJ1bnMgYWxsIHRlc3RzLgotCi0KLVdoYXQncyBOZXcgaW4gSURMRSAzLjQuMT8KLT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0gSXNzdWUgIzIxNDc3OiBodGVzdC5weSAtIEltcHJvdmUgZnJhbWV3b3JrLCBjb21wbGV0ZSBzZXQgb2YgdGVzdHMuCisgIFBhdGNoZXMgYnkgU2FpbWFkaGF2IEhlYmxpa2FyCiAKIC0gSXNzdWUgIzE4MTA0OiBBZGQgaWRsZWxpYi9pZGxlX3Rlc3QvaHRlc3QucHkgd2l0aCBhIGZldyBzYW1wbGUgdGVzdHMgdG8gYmVnaW4KICAgY29uc29saWRhdGluZyBhbmQgaW1wcm92aW5nIGh1bWFuLXZhbGlkYXRlZCB0ZXN0cyBvZiBJZGxlLiBDaGFuZ2Ugb3RoZXIgZmlsZXMKZGlmZiAtLWdpdCBhL0xpYi9pZGxlbGliL1dpZGdldFJlZGlyZWN0b3IucHkgYi9MaWIvaWRsZWxpYi9XaWRnZXRSZWRpcmVjdG9yLnB5CmluZGV4IGIzZDdiZmEuLjY3ZDdmNjEgMTAwNjQ0Ci0tLSBhL0xpYi9pZGxlbGliL1dpZGdldFJlZGlyZWN0b3IucHkKKysrIGIvTGliL2lkbGVsaWIvV2lkZ2V0UmVkaXJlY3Rvci5weQpAQCAtNDcsOCArNDcsOSBAQAogICAgICAgICB0ay5jcmVhdGVjb21tYW5kKHcsIHNlbGYuZGlzcGF0Y2gpCiAKICAgICBkZWYgX19yZXByX18oc2VsZik6Ci0gICAgICAgIHJldHVybiAiV2lkZ2V0UmVkaXJlY3Rvciglczwlcz4pIiAlIChzZWxmLndpZGdldC5fX2NsYXNzX18uX19uYW1lX18sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLndpZGdldC5fdykKKyAgICAgICAgcmV0dXJuICIlcyglczwlcz4pIiAlIChzZWxmLl9fY2xhc3NfXy5fX25hbWVfXywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLndpZGdldC5fX2NsYXNzX18uX19uYW1lX18sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi53aWRnZXQuX3cpCiAKICAgICBkZWYgY2xvc2Uoc2VsZik6CiAgICAgICAgICJVbnJlZ2lzdGVyIG9wZXJhdGlvbnMgYW5kIHJldmVydCByZWRpcmVjdGlvbiBjcmVhdGVkIGJ5IC5fX2luaXRfXy4iCkBAIC0xNDIsNyArMTQzLDggQEAKICAgICAgICAgc2VsZi5vcmlnX2FuZF9vcGVyYXRpb24gPSAocmVkaXIub3JpZywgb3BlcmF0aW9uKQogCiAgICAgZGVmIF9fcmVwcl9fKHNlbGYpOgotICAgICAgICByZXR1cm4gIk9yaWdpbmFsQ29tbWFuZCglciwgJXIpIiAlIChzZWxmLnJlZGlyLCBzZWxmLm9wZXJhdGlvbikKKyAgICAgICAgcmV0dXJuICIlcyglciwgJXIpIiAlIChzZWxmLl9fY2xhc3NfXy5fX25hbWVfXywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnJlZGlyLCBzZWxmLm9wZXJhdGlvbikKIAogICAgIGRlZiBfX2NhbGxfXyhzZWxmLCAqYXJncyk6CiAgICAgICAgIHJldHVybiBzZWxmLnRrX2NhbGwoc2VsZi5vcmlnX2FuZF9vcGVyYXRpb24gKyBhcmdzKQpkaWZmIC0tZ2l0IGEvTGliL2lkbGVsaWIvaWRsZV90ZXN0L3Rlc3Rfc2VhcmNoZW5naW5lLnB5IGIvTGliL2lkbGVsaWIvaWRsZV90ZXN0L3Rlc3Rfc2VhcmNoZW5naW5lLnB5CmluZGV4IDEyOWE1YTMuLjJjMTA0NjEgMTAwNjQ0Ci0tLSBhL0xpYi9pZGxlbGliL2lkbGVfdGVzdC90ZXN0X3NlYXJjaGVuZ2luZS5weQorKysgYi9MaWIvaWRsZWxpYi9pZGxlX3Rlc3QvdGVzdF9zZWFyY2hlbmdpbmUucHkKQEAgLTE3OCw3ICsxNzgsNyBAQAogICAgICAgICBlbmdpbmUucmV2YXIuc2V0KDEpCiAgICAgICAgIEVxdWFsKGVuZ2luZS5nZXRwcm9nKCksIE5vbmUpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoTWJveC5zaG93ZXJyb3IubWVzc2FnZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgJ0Vycm9yOiBub3RoaW5nIHRvIHJlcGVhdFxuUGF0dGVybjogKycpCisgICAgICAgICAgICAgICAgICAgICAgICAgJ0Vycm9yOiBub3RoaW5nIHRvIHJlcGVhdCBhdCBwb3NpdGlvbiAwXG5QYXR0ZXJuOiArJykKIAogICAgIGRlZiB0ZXN0X3JlcG9ydF9lcnJvcihzZWxmKToKICAgICAgICAgc2hvd2Vycm9yID0gTWJveC5zaG93ZXJyb3IKZGlmZiAtLWdpdCBhL0xpYi9pZGxlbGliL2lkbGV2ZXIucHkgYi9MaWIvaWRsZWxpYi9pZGxldmVyLnB5CmluZGV4IDY5NzVmNWUuLjFmZmJjNzYgMTAwNjQ0Ci0tLSBhL0xpYi9pZGxlbGliL2lkbGV2ZXIucHkKKysrIGIvTGliL2lkbGVsaWIvaWRsZXZlci5weQpAQCAtMSArMSBAQAotSURMRV9WRVJTSU9OID0gIjMuNC4zIgorSURMRV9WRVJTSU9OID0gIjMuNS4wYTEiCmRpZmYgLS1naXQgYS9MaWIvaW1hcGxpYi5weSBiL0xpYi9pbWFwbGliLnB5CmluZGV4IDcyYWI1ZDcuLjQ5ZWUzOWQgMTAwNjQ0Ci0tLSBhL0xpYi9pbWFwbGliLnB5CisrKyBiL0xpYi9pbWFwbGliLnB5CkBAIC0yMzgsNiArMjM4LDE0IEBACiAgICAgICAgICAgICByZXR1cm4gZ2V0YXR0cihzZWxmLCBhdHRyLmxvd2VyKCkpCiAgICAgICAgIHJhaXNlIEF0dHJpYnV0ZUVycm9yKCJVbmtub3duIElNQVA0IGNvbW1hbmQ6ICclcyciICUgYXR0cikKIAorICAgIGRlZiBfX2VudGVyX18oc2VsZik6CisgICAgICAgIHJldHVybiBzZWxmCisKKyAgICBkZWYgX19leGl0X18oc2VsZiwgKmFyZ3MpOgorICAgICAgICB0cnk6CisgICAgICAgICAgICBzZWxmLmxvZ291dCgpCisgICAgICAgIGV4Y2VwdCBPU0Vycm9yOgorICAgICAgICAgICAgcGFzcwogCiAKICAgICAjICAgICAgIE92ZXJyaWRhYmxlIG1ldGhvZHMKZGlmZiAtLWdpdCBhL0xpYi9pbWdoZHIucHkgYi9MaWIvaW1naGRyLnB5CmluZGV4IGFkZDJlYTguLmIyNjc5MjUgMTAwNjQ0Ci0tLSBhL0xpYi9pbWdoZHIucHkKKysrIGIvTGliL2ltZ2hkci5weQpAQCAtMTEwLDYgKzExMCwxOCBAQAogCiB0ZXN0cy5hcHBlbmQodGVzdF9ibXApCiAKK2RlZiB0ZXN0X3dlYnAoaCwgZik6CisgICAgaWYgaC5zdGFydHN3aXRoKGInUklGRicpIGFuZCBoWzg6MTJdID09IGInV0VCUCc6CisgICAgICAgIHJldHVybiAnd2VicCcKKwordGVzdHMuYXBwZW5kKHRlc3Rfd2VicCkKKworZGVmIHRlc3RfZXhyKGgsIGYpOgorICAgIGlmIGguc3RhcnRzd2l0aChiJ1x4NzZceDJmXHgzMVx4MDEnKToKKyAgICAgICAgcmV0dXJuICdleHInCisKK3Rlc3RzLmFwcGVuZCh0ZXN0X2V4cikKKwogIy0tLS0tLS0tLS0tLS0tLS0tLS0tIwogIyBTbWFsbCB0ZXN0IHByb2dyYW0gIwogIy0tLS0tLS0tLS0tLS0tLS0tLS0tIwpkaWZmIC0tZ2l0IGEvTGliL2ltcC5weSBiL0xpYi9pbXAucHkKaW5kZXggYzg0NDljNi4uNTljZTQxYyAxMDA2NDQKLS0tIGEvTGliL2ltcC5weQorKysgYi9MaWIvaW1wLnB5CkBAIC0xNiw3ICsxNiw3IEBACiAgICAgIyBQbGF0Zm9ybSBkb2Vzbid0IHN1cHBvcnQgZHluYW1pYyBsb2FkaW5nLgogICAgIGxvYWRfZHluYW1pYyA9IE5vbmUKIAotZnJvbSBpbXBvcnRsaWIuX2Jvb3RzdHJhcCBpbXBvcnQgU291cmNlbGVzc0ZpbGVMb2FkZXIsIF9FUlJfTVNHLCBfU3BlY01ldGhvZHMKK2Zyb20gaW1wb3J0bGliLl9ib290c3RyYXAgaW1wb3J0IFNvdXJjZWxlc3NGaWxlTG9hZGVyLCBfRVJSX01TRywgX2V4ZWMsIF9sb2FkCiAKIGZyb20gaW1wb3J0bGliIGltcG9ydCBtYWNoaW5lcnkKIGZyb20gaW1wb3J0bGliIGltcG9ydCB1dGlsCkBAIC0xNjQsMTEgKzE2NCwxMCBAQAogZGVmIGxvYWRfc291cmNlKG5hbWUsIHBhdGhuYW1lLCBmaWxlPU5vbmUpOgogICAgIGxvYWRlciA9IF9Mb2FkU291cmNlQ29tcGF0aWJpbGl0eShuYW1lLCBwYXRobmFtZSwgZmlsZSkKICAgICBzcGVjID0gdXRpbC5zcGVjX2Zyb21fZmlsZV9sb2NhdGlvbihuYW1lLCBwYXRobmFtZSwgbG9hZGVyPWxvYWRlcikKLSAgICBtZXRob2RzID0gX1NwZWNNZXRob2RzKHNwZWMpCiAgICAgaWYgbmFtZSBpbiBzeXMubW9kdWxlczoKLSAgICAgICAgbW9kdWxlID0gbWV0aG9kcy5leGVjKHN5cy5tb2R1bGVzW25hbWVdKQorICAgICAgICBtb2R1bGUgPSBfZXhlYyhzcGVjLCBzeXMubW9kdWxlc1tuYW1lXSkKICAgICBlbHNlOgotICAgICAgICBtb2R1bGUgPSBtZXRob2RzLmxvYWQoKQorICAgICAgICBtb2R1bGUgPSBfbG9hZChzcGVjKQogICAgICMgVG8gYWxsb3cgcmVsb2FkaW5nIHRvIHBvdGVudGlhbGx5IHdvcmssIHVzZSBhIG5vbi1oYWNrZWQgbG9hZGVyIHdoaWNoCiAgICAgIyB3b24ndCByZWx5IG9uIGEgbm93LWNsb3NlZCBmaWxlIG9iamVjdC4KICAgICBtb2R1bGUuX19sb2FkZXJfXyA9IG1hY2hpbmVyeS5Tb3VyY2VGaWxlTG9hZGVyKG5hbWUsIHBhdGhuYW1lKQpAQCAtMTg1LDExICsxODQsMTAgQEAKICAgICAiIiIqKkRFUFJFQ0FURUQqKiIiIgogICAgIGxvYWRlciA9IF9Mb2FkQ29tcGlsZWRDb21wYXRpYmlsaXR5KG5hbWUsIHBhdGhuYW1lLCBmaWxlKQogICAgIHNwZWMgPSB1dGlsLnNwZWNfZnJvbV9maWxlX2xvY2F0aW9uKG5hbWUsIHBhdGhuYW1lLCBsb2FkZXI9bG9hZGVyKQotICAgIG1ldGhvZHMgPSBfU3BlY01ldGhvZHMoc3BlYykKICAgICBpZiBuYW1lIGluIHN5cy5tb2R1bGVzOgotICAgICAgICBtb2R1bGUgPSBtZXRob2RzLmV4ZWMoc3lzLm1vZHVsZXNbbmFtZV0pCisgICAgICAgIG1vZHVsZSA9IF9leGVjKHNwZWMsIHN5cy5tb2R1bGVzW25hbWVdKQogICAgIGVsc2U6Ci0gICAgICAgIG1vZHVsZSA9IG1ldGhvZHMubG9hZCgpCisgICAgICAgIG1vZHVsZSA9IF9sb2FkKHNwZWMpCiAgICAgIyBUbyBhbGxvdyByZWxvYWRpbmcgdG8gcG90ZW50aWFsbHkgd29yaywgdXNlIGEgbm9uLWhhY2tlZCBsb2FkZXIgd2hpY2gKICAgICAjIHdvbid0IHJlbHkgb24gYSBub3ctY2xvc2VkIGZpbGUgb2JqZWN0LgogICAgIG1vZHVsZS5fX2xvYWRlcl9fID0gU291cmNlbGVzc0ZpbGVMb2FkZXIobmFtZSwgcGF0aG5hbWUpCkBAIC0yMTAsMTEgKzIwOCwxMCBAQAogICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigneyFyfSBpcyBub3QgYSBwYWNrYWdlJy5mb3JtYXQocGF0aCkpCiAgICAgc3BlYyA9IHV0aWwuc3BlY19mcm9tX2ZpbGVfbG9jYXRpb24obmFtZSwgcGF0aCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdWJtb2R1bGVfc2VhcmNoX2xvY2F0aW9ucz1bXSkKLSAgICBtZXRob2RzID0gX1NwZWNNZXRob2RzKHNwZWMpCiAgICAgaWYgbmFtZSBpbiBzeXMubW9kdWxlczoKLSAgICAgICAgcmV0dXJuIG1ldGhvZHMuZXhlYyhzeXMubW9kdWxlc1tuYW1lXSkKKyAgICAgICAgcmV0dXJuIF9leGVjKHNwZWMsIHN5cy5tb2R1bGVzW25hbWVdKQogICAgIGVsc2U6Ci0gICAgICAgIHJldHVybiBtZXRob2RzLmxvYWQoKQorICAgICAgICByZXR1cm4gX2xvYWQoc3BlYykKIAogCiBkZWYgbG9hZF9tb2R1bGUobmFtZSwgZmlsZSwgZmlsZW5hbWUsIGRldGFpbHMpOgpkaWZmIC0tZ2l0IGEvTGliL2ltcG9ydGxpYi9fX2luaXRfXy5weSBiL0xpYi9pbXBvcnRsaWIvX19pbml0X18ucHkKaW5kZXggMWJjOTk0Ny4uZTk5ZjUwZSAxMDA2NDQKLS0tIGEvTGliL2ltcG9ydGxpYi9fX2luaXRfXy5weQorKysgYi9MaWIvaW1wb3J0bGliL19faW5pdF9fLnB5CkBAIC03Myw3ICs3Myw3IEBACiAgICAgZXhjZXB0IEtleUVycm9yOgogICAgICAgICBwYXNzCiAgICAgZXhjZXB0IEF0dHJpYnV0ZUVycm9yOgotICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCd7fS5fX2xvYWRlcl9fIGlzIG5vdCBzZXQnLmZvcm1hdChuYW1lKSkKKyAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigne30uX19sb2FkZXJfXyBpcyBub3Qgc2V0Jy5mb3JtYXQobmFtZSkpIGZyb20gTm9uZQogCiAgICAgc3BlYyA9IF9ib290c3RyYXAuX2ZpbmRfc3BlYyhuYW1lLCBwYXRoKQogICAgICMgV2Ugd29uJ3Qgd29ycnkgYWJvdXQgbWFsZm9ybWVkIHNwZWNzIChtaXNzaW5nIGF0dHJpYnV0ZXMpLgpAQCAtMTM4LDE1ICsxMzgsMTUgQEAKICAgICAgICAgICAgICAgICBwYXJlbnQgPSBzeXMubW9kdWxlc1twYXJlbnRfbmFtZV0KICAgICAgICAgICAgIGV4Y2VwdCBLZXlFcnJvcjoKICAgICAgICAgICAgICAgICBtc2cgPSAicGFyZW50IHshcn0gbm90IGluIHN5cy5tb2R1bGVzIgotICAgICAgICAgICAgICAgIHJhaXNlIEltcG9ydEVycm9yKG1zZy5mb3JtYXQocGFyZW50X25hbWUpLCBuYW1lPXBhcmVudF9uYW1lKQorICAgICAgICAgICAgICAgIHJhaXNlIEltcG9ydEVycm9yKG1zZy5mb3JtYXQocGFyZW50X25hbWUpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9cGFyZW50X25hbWUpIGZyb20gTm9uZQogICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICBwa2dwYXRoID0gcGFyZW50Ll9fcGF0aF9fCiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICBwa2dwYXRoID0gTm9uZQogICAgICAgICB0YXJnZXQgPSBtb2R1bGUKICAgICAgICAgc3BlYyA9IG1vZHVsZS5fX3NwZWNfXyA9IF9ib290c3RyYXAuX2ZpbmRfc3BlYyhuYW1lLCBwa2dwYXRoLCB0YXJnZXQpCi0gICAgICAgIG1ldGhvZHMgPSBfYm9vdHN0cmFwLl9TcGVjTWV0aG9kcyhzcGVjKQotICAgICAgICBtZXRob2RzLmV4ZWMobW9kdWxlKQorICAgICAgICBfYm9vdHN0cmFwLl9leGVjKHNwZWMsIG1vZHVsZSkKICAgICAgICAgIyBUaGUgbW9kdWxlIG1heSBoYXZlIHJlcGxhY2VkIGl0c2VsZiBpbiBzeXMubW9kdWxlcyEKICAgICAgICAgcmV0dXJuIHN5cy5tb2R1bGVzW25hbWVdCiAgICAgZmluYWxseToKZGlmZiAtLWdpdCBhL0xpYi9pbXBvcnRsaWIvX2Jvb3RzdHJhcC5weSBiL0xpYi9pbXBvcnRsaWIvX2Jvb3RzdHJhcC5weQppbmRleCA1YjkxYzA1Li4wZWQ3Y2M2IDEwMDY0NAotLS0gYS9MaWIvaW1wb3J0bGliL19ib290c3RyYXAucHkKKysrIGIvTGliL2ltcG9ydGxpYi9fYm9vdHN0cmFwLnB5CkBAIC05LDcgKzksNyBAQAogIwogIyBJTVBPUlRBTlQ6IFdoZW5ldmVyIG1ha2luZyBjaGFuZ2VzIHRvIHRoaXMgbW9kdWxlLCBiZSBzdXJlIHRvIHJ1bgogIyBhIHRvcC1sZXZlbCBtYWtlIGluIG9yZGVyIHRvIGdldCB0aGUgZnJvemVuIHZlcnNpb24gb2YgdGhlIG1vZHVsZQotIyB1cGRhdGUuIE5vdCBkb2luZyBzbyB3aWxsIHJlc3VsdCBpbiB0aGUgTWFrZWZpbGUgdG8gZmFpbCBmb3IKKyMgdXBkYXRlZC4gTm90IGRvaW5nIHNvIHdpbGwgcmVzdWx0IGluIHRoZSBNYWtlZmlsZSB0byBmYWlsIGZvcgogIyBhbGwgb3RoZXJzIHdobyBkb24ndCBoYXZlIGEgLi9weXRob24gYXJvdW5kIHRvIGZyZWV6ZSB0aGUgbW9kdWxlCiAjIGluIHRoZSBlYXJseSBzdGFnZXMgb2YgY29tcGlsYXRpb24uCiAjCkBAIC00MTksMTIgKzQxOSwxMyBAQAogIyAgICAgUHl0aG9uIDMuNGE0ICAzMjkwIChjaGFuZ2VzIHRvIF9fcXVhbG5hbWVfXyBjb21wdXRhdGlvbikKICMgICAgIFB5dGhvbiAzLjRhNCAgMzMwMCAobW9yZSBjaGFuZ2VzIHRvIF9fcXVhbG5hbWVfXyBjb21wdXRhdGlvbikKICMgICAgIFB5dGhvbiAzLjRyYzIgMzMxMCAoYWx0ZXIgX19xdWFsbmFtZV9fIGNvbXB1dGF0aW9uKQorIyAgICAgUHl0aG9uIDMuNWEwICAzMzIwIChtYXRyaXggbXVsdGlwbGljYXRpb24gb3BlcmF0b3IpCiAjCiAjIE1BR0lDIG11c3QgY2hhbmdlIHdoZW5ldmVyIHRoZSBieXRlY29kZSBlbWl0dGVkIGJ5IHRoZSBjb21waWxlciBtYXkgbm8KICMgbG9uZ2VyIGJlIHVuZGVyc3Rvb2QgYnkgb2xkZXIgaW1wbGVtZW50YXRpb25zIG9mIHRoZSBldmFsIGxvb3AgKHVzdWFsbHkKICMgZHVlIHRvIHRoZSBhZGRpdGlvbiBvZiBuZXcgb3Bjb2RlcykuCiAKLU1BR0lDX05VTUJFUiA9ICgzMzEwKS50b19ieXRlcygyLCAnbGl0dGxlJykgKyBiJ1xyXG4nCitNQUdJQ19OVU1CRVIgPSAoMzMyMCkudG9fYnl0ZXMoMiwgJ2xpdHRsZScpICsgYidcclxuJwogX1JBV19NQUdJQ19OVU1CRVIgPSBpbnQuZnJvbV9ieXRlcyhNQUdJQ19OVU1CRVIsICdsaXR0bGUnKSAgIyBGb3IgaW1wb3J0LmMKIAogX1BZQ0FDSEUgPSAnX19weWNhY2hlX18nCkBAIC01ODAsNiArNTgxLDcgQEAKICAgICByZXR1cm4gbG9hZGVyCiAKIAorIyBUeXBpY2FsbHkgdXNlZCBieSBsb2FkZXIgY2xhc3NlcyBhcyBhIG1ldGhvZCByZXBsYWNlbWVudC4KIGRlZiBfbG9hZF9tb2R1bGVfc2hpbShzZWxmLCBmdWxsbmFtZSk6CiAgICAgIiIiTG9hZCB0aGUgc3BlY2lmaWVkIG1vZHVsZSBpbnRvIHN5cy5tb2R1bGVzIGFuZCByZXR1cm4gaXQuCiAKQEAgLTU4NywxMyArNTg5LDEyIEBACiAKICAgICAiIiIKICAgICBzcGVjID0gc3BlY19mcm9tX2xvYWRlcihmdWxsbmFtZSwgc2VsZikKLSAgICBtZXRob2RzID0gX1NwZWNNZXRob2RzKHNwZWMpCiAgICAgaWYgZnVsbG5hbWUgaW4gc3lzLm1vZHVsZXM6CiAgICAgICAgIG1vZHVsZSA9IHN5cy5tb2R1bGVzW2Z1bGxuYW1lXQotICAgICAgICBtZXRob2RzLmV4ZWMobW9kdWxlKQorICAgICAgICBfZXhlYyhzcGVjLCBtb2R1bGUpCiAgICAgICAgIHJldHVybiBzeXMubW9kdWxlc1tmdWxsbmFtZV0KICAgICBlbHNlOgotICAgICAgICByZXR1cm4gbWV0aG9kcy5sb2FkKCkKKyAgICAgICAgcmV0dXJuIF9sb2FkKHNwZWMpCiAKIAogZGVmIF92YWxpZGF0ZV9ieXRlY29kZV9oZWFkZXIoZGF0YSwgc291cmNlX3N0YXRzPU5vbmUsIG5hbWU9Tm9uZSwgcGF0aD1Ob25lKToKQEAgLTcwNCw3ICs3MDUsNyBAQAogICAgICAgICBwYXNzCiAgICAgZWxzZToKICAgICAgICAgaWYgc3BlYyBpcyBub3QgTm9uZToKLSAgICAgICAgICAgIHJldHVybiBfU3BlY01ldGhvZHMoc3BlYykubW9kdWxlX3JlcHIoKQorICAgICAgICAgICAgcmV0dXJuIF9tb2R1bGVfcmVwcl9mcm9tX3NwZWMoc3BlYykKIAogICAgICMgV2UgY291bGQgdXNlIG1vZHVsZS5fX2NsYXNzX18uX19uYW1lX18gaW5zdGVhZCBvZiAnbW9kdWxlJyBpbiB0aGUKICAgICAjIHZhcmlvdXMgcmVwciBwZXJtdXRhdGlvbnMuCkBAIC05OTAsMjM0ICs5OTEsMTg2IEBACiAgICAgcmV0dXJuIHNwZWMKIAogCi1jbGFzcyBfU3BlY01ldGhvZHM6CitkZWYgX2luaXRfbW9kdWxlX2F0dHJzKHNwZWMsIG1vZHVsZSwgKiwgb3ZlcnJpZGU9RmFsc2UpOgorICAgICMgVGhlIHBhc3NlZC1pbiBtb2R1bGUgbWF5IGJlIG5vdCBzdXBwb3J0IGF0dHJpYnV0ZSBhc3NpZ25tZW50LAorICAgICMgaW4gd2hpY2ggY2FzZSB3ZSBzaW1wbHkgZG9uJ3Qgc2V0IHRoZSBhdHRyaWJ1dGVzLgorICAgICMgX19uYW1lX18KKyAgICBpZiAob3ZlcnJpZGUgb3IgZ2V0YXR0cihtb2R1bGUsICdfX25hbWVfXycsIE5vbmUpIGlzIE5vbmUpOgorICAgICAgICB0cnk6CisgICAgICAgICAgICBtb2R1bGUuX19uYW1lX18gPSBzcGVjLm5hbWUKKyAgICAgICAgZXhjZXB0IEF0dHJpYnV0ZUVycm9yOgorICAgICAgICAgICAgcGFzcworICAgICMgX19sb2FkZXJfXworICAgIGlmIG92ZXJyaWRlIG9yIGdldGF0dHIobW9kdWxlLCAnX19sb2FkZXJfXycsIE5vbmUpIGlzIE5vbmU6CisgICAgICAgIGxvYWRlciA9IHNwZWMubG9hZGVyCisgICAgICAgIGlmIGxvYWRlciBpcyBOb25lOgorICAgICAgICAgICAgIyBBIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgaGFjay4KKyAgICAgICAgICAgIGlmIHNwZWMuc3VibW9kdWxlX3NlYXJjaF9sb2NhdGlvbnMgaXMgbm90IE5vbmU6CisgICAgICAgICAgICAgICAgbG9hZGVyID0gX05hbWVzcGFjZUxvYWRlci5fX25ld19fKF9OYW1lc3BhY2VMb2FkZXIpCisgICAgICAgICAgICAgICAgbG9hZGVyLl9wYXRoID0gc3BlYy5zdWJtb2R1bGVfc2VhcmNoX2xvY2F0aW9ucworICAgICAgICB0cnk6CisgICAgICAgICAgICBtb2R1bGUuX19sb2FkZXJfXyA9IGxvYWRlcgorICAgICAgICBleGNlcHQgQXR0cmlidXRlRXJyb3I6CisgICAgICAgICAgICBwYXNzCisgICAgIyBfX3BhY2thZ2VfXworICAgIGlmIG92ZXJyaWRlIG9yIGdldGF0dHIobW9kdWxlLCAnX19wYWNrYWdlX18nLCBOb25lKSBpcyBOb25lOgorICAgICAgICB0cnk6CisgICAgICAgICAgICBtb2R1bGUuX19wYWNrYWdlX18gPSBzcGVjLnBhcmVudAorICAgICAgICBleGNlcHQgQXR0cmlidXRlRXJyb3I6CisgICAgICAgICAgICBwYXNzCisgICAgIyBfX3NwZWNfXworICAgIHRyeToKKyAgICAgICAgbW9kdWxlLl9fc3BlY19fID0gc3BlYworICAgIGV4Y2VwdCBBdHRyaWJ1dGVFcnJvcjoKKyAgICAgICAgcGFzcworICAgICMgX19wYXRoX18KKyAgICBpZiBvdmVycmlkZSBvciBnZXRhdHRyKG1vZHVsZSwgJ19fcGF0aF9fJywgTm9uZSkgaXMgTm9uZToKKyAgICAgICAgaWYgc3BlYy5zdWJtb2R1bGVfc2VhcmNoX2xvY2F0aW9ucyBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICBtb2R1bGUuX19wYXRoX18gPSBzcGVjLnN1Ym1vZHVsZV9zZWFyY2hfbG9jYXRpb25zCisgICAgICAgICAgICBleGNlcHQgQXR0cmlidXRlRXJyb3I6CisgICAgICAgICAgICAgICAgcGFzcworICAgICMgX19maWxlX18vX19jYWNoZWRfXworICAgIGlmIHNwZWMuaGFzX2xvY2F0aW9uOgorICAgICAgICBpZiBvdmVycmlkZSBvciBnZXRhdHRyKG1vZHVsZSwgJ19fZmlsZV9fJywgTm9uZSkgaXMgTm9uZToKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICBtb2R1bGUuX19maWxlX18gPSBzcGVjLm9yaWdpbgorICAgICAgICAgICAgZXhjZXB0IEF0dHJpYnV0ZUVycm9yOgorICAgICAgICAgICAgICAgIHBhc3MKIAotICAgICIiIkNvbnZlbmllbmNlIHdyYXBwZXIgYXJvdW5kIHNwZWMgb2JqZWN0cyB0byBwcm92aWRlIHNwZWMtc3BlY2lmaWMKLSAgICBtZXRob2RzLiIiIgorICAgICAgICBpZiBvdmVycmlkZSBvciBnZXRhdHRyKG1vZHVsZSwgJ19fY2FjaGVkX18nLCBOb25lKSBpcyBOb25lOgorICAgICAgICAgICAgaWYgc3BlYy5jYWNoZWQgaXMgbm90IE5vbmU6CisgICAgICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgICAgICBtb2R1bGUuX19jYWNoZWRfXyA9IHNwZWMuY2FjaGVkCisgICAgICAgICAgICAgICAgZXhjZXB0IEF0dHJpYnV0ZUVycm9yOgorICAgICAgICAgICAgICAgICAgICBwYXNzCisgICAgcmV0dXJuIG1vZHVsZQogCi0gICAgIyBUaGUgdmFyaW91cyBzcGVjX2Zyb21fKiBmdW5jdGlvbnMgY291bGQgYmUgbWFkZSBmYWN0b3J5IG1ldGhvZHMgaGVyZS4KIAotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBzcGVjKToKLSAgICAgICAgc2VsZi5zcGVjID0gc3BlYworZGVmIG1vZHVsZV9mcm9tX3NwZWMoc3BlYyk6CisgICAgIiIiQ3JlYXRlIGEgbW9kdWxlIGJhc2VkIG9uIHRoZSBwcm92aWRlZCBzcGVjLiIiIgorICAgICMgVHlwaWNhbGx5IGxvYWRlcnMgd2lsbCBub3QgaW1wbGVtZW50IGNyZWF0ZV9tb2R1bGUoKS4KKyAgICBtb2R1bGUgPSBOb25lCisgICAgaWYgaGFzYXR0cihzcGVjLmxvYWRlciwgJ2NyZWF0ZV9tb2R1bGUnKToKKyAgICAgICAgIyBJZiBjcmVhdGVfbW9kdWxlKCkgcmV0dXJucyBgTm9uZWAgdGhlbiBpdCBtZWFucyBkZWZhdWx0CisgICAgICAgICMgbW9kdWxlIGNyZWF0aW9uIHNob3VsZCBiZSB1c2VkLgorICAgICAgICBtb2R1bGUgPSBzcGVjLmxvYWRlci5jcmVhdGVfbW9kdWxlKHNwZWMpCisgICAgZWxpZiBoYXNhdHRyKHNwZWMubG9hZGVyLCAnZXhlY19tb2R1bGUnKToKKyAgICAgICAgX3dhcm5pbmdzLndhcm4oJ3N0YXJ0aW5nIGluIFB5dGhvbiAzLjYsIGxvYWRlcnMgZGVmaW5pbmcgZXhlY19tb2R1bGUoKSAnCisgICAgICAgICAgICAgICAgICAgICAgICdtdXN0IGFsc28gZGVmaW5lIGNyZWF0ZV9tb2R1bGUoKScsCisgICAgICAgICAgICAgICAgICAgICAgIERlcHJlY2F0aW9uV2FybmluZywgc3RhY2tsZXZlbD0yKQorICAgIGlmIG1vZHVsZSBpcyBOb25lOgorICAgICAgICBtb2R1bGUgPSBfbmV3X21vZHVsZShzcGVjLm5hbWUpCisgICAgX2luaXRfbW9kdWxlX2F0dHJzKHNwZWMsIG1vZHVsZSkKKyAgICByZXR1cm4gbW9kdWxlCiAKLSAgICBkZWYgbW9kdWxlX3JlcHIoc2VsZik6Ci0gICAgICAgICIiIlJldHVybiB0aGUgcmVwciB0byB1c2UgZm9yIHRoZSBtb2R1bGUuIiIiCi0gICAgICAgICMgV2UgbW9zdGx5IHJlcGxpY2F0ZSBfbW9kdWxlX3JlcHIoKSB1c2luZyB0aGUgc3BlYyBhdHRyaWJ1dGVzLgotICAgICAgICBzcGVjID0gc2VsZi5zcGVjCi0gICAgICAgIG5hbWUgPSAnPycgaWYgc3BlYy5uYW1lIGlzIE5vbmUgZWxzZSBzcGVjLm5hbWUKLSAgICAgICAgaWYgc3BlYy5vcmlnaW4gaXMgTm9uZToKLSAgICAgICAgICAgIGlmIHNwZWMubG9hZGVyIGlzIE5vbmU6Ci0gICAgICAgICAgICAgICAgcmV0dXJuICc8bW9kdWxlIHshcn0+Jy5mb3JtYXQobmFtZSkKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgcmV0dXJuICc8bW9kdWxlIHshcn0gKHshcn0pPicuZm9ybWF0KG5hbWUsIHNwZWMubG9hZGVyKQorCitkZWYgX21vZHVsZV9yZXByX2Zyb21fc3BlYyhzcGVjKToKKyAgICAiIiJSZXR1cm4gdGhlIHJlcHIgdG8gdXNlIGZvciB0aGUgbW9kdWxlLiIiIgorICAgICMgV2UgbW9zdGx5IHJlcGxpY2F0ZSBfbW9kdWxlX3JlcHIoKSB1c2luZyB0aGUgc3BlYyBhdHRyaWJ1dGVzLgorICAgIG5hbWUgPSAnPycgaWYgc3BlYy5uYW1lIGlzIE5vbmUgZWxzZSBzcGVjLm5hbWUKKyAgICBpZiBzcGVjLm9yaWdpbiBpcyBOb25lOgorICAgICAgICBpZiBzcGVjLmxvYWRlciBpcyBOb25lOgorICAgICAgICAgICAgcmV0dXJuICc8bW9kdWxlIHshcn0+Jy5mb3JtYXQobmFtZSkKICAgICAgICAgZWxzZToKLSAgICAgICAgICAgIGlmIHNwZWMuaGFzX2xvY2F0aW9uOgotICAgICAgICAgICAgICAgIHJldHVybiAnPG1vZHVsZSB7IXJ9IGZyb20geyFyfT4nLmZvcm1hdChuYW1lLCBzcGVjLm9yaWdpbikKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgcmV0dXJuICc8bW9kdWxlIHshcn0gKHt9KT4nLmZvcm1hdChzcGVjLm5hbWUsIHNwZWMub3JpZ2luKQorICAgICAgICAgICAgcmV0dXJuICc8bW9kdWxlIHshcn0gKHshcn0pPicuZm9ybWF0KG5hbWUsIHNwZWMubG9hZGVyKQorICAgIGVsc2U6CisgICAgICAgIGlmIHNwZWMuaGFzX2xvY2F0aW9uOgorICAgICAgICAgICAgcmV0dXJuICc8bW9kdWxlIHshcn0gZnJvbSB7IXJ9PicuZm9ybWF0KG5hbWUsIHNwZWMub3JpZ2luKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgcmV0dXJuICc8bW9kdWxlIHshcn0gKHt9KT4nLmZvcm1hdChzcGVjLm5hbWUsIHNwZWMub3JpZ2luKQogCi0gICAgZGVmIGluaXRfbW9kdWxlX2F0dHJzKHNlbGYsIG1vZHVsZSwgKiwgX292ZXJyaWRlPUZhbHNlLCBfZm9yY2VfbmFtZT1UcnVlKToKLSAgICAgICAgIiIiU2V0IHRoZSBtb2R1bGUncyBhdHRyaWJ1dGVzLgogCi0gICAgICAgIEFsbCBtaXNzaW5nIGltcG9ydC1yZWxhdGVkIG1vZHVsZSBhdHRyaWJ1dGVzIHdpbGwgYmUgc2V0LiAgSGVyZQotICAgICAgICBpcyBob3cgdGhlIHNwZWMgYXR0cmlidXRlcyBtYXAgb250byB0aGUgbW9kdWxlOgorIyBVc2VkIGJ5IGltcG9ydGxpYi5yZWxvYWQoKSBhbmQgX2xvYWRfbW9kdWxlX3NoaW0oKS4KK2RlZiBfZXhlYyhzcGVjLCBtb2R1bGUpOgorICAgICIiIkV4ZWN1dGUgdGhlIHNwZWMgaW4gYW4gZXhpc3RpbmcgbW9kdWxlJ3MgbmFtZXNwYWNlLiIiIgorICAgIG5hbWUgPSBzcGVjLm5hbWUKKyAgICBfaW1wLmFjcXVpcmVfbG9jaygpCisgICAgd2l0aCBfTW9kdWxlTG9ja01hbmFnZXIobmFtZSk6CisgICAgICAgIGlmIHN5cy5tb2R1bGVzLmdldChuYW1lKSBpcyBub3QgbW9kdWxlOgorICAgICAgICAgICAgbXNnID0gJ21vZHVsZSB7IXJ9IG5vdCBpbiBzeXMubW9kdWxlcycuZm9ybWF0KG5hbWUpCisgICAgICAgICAgICByYWlzZSBJbXBvcnRFcnJvcihtc2csIG5hbWU9bmFtZSkKKyAgICAgICAgaWYgc3BlYy5sb2FkZXIgaXMgTm9uZToKKyAgICAgICAgICAgIGlmIHNwZWMuc3VibW9kdWxlX3NlYXJjaF9sb2NhdGlvbnMgaXMgTm9uZToKKyAgICAgICAgICAgICAgICByYWlzZSBJbXBvcnRFcnJvcignbWlzc2luZyBsb2FkZXInLCBuYW1lPXNwZWMubmFtZSkKKyAgICAgICAgICAgICMgbmFtZXNwYWNlIHBhY2thZ2UKKyAgICAgICAgICAgIF9pbml0X21vZHVsZV9hdHRycyhzcGVjLCBtb2R1bGUsIG92ZXJyaWRlPVRydWUpCisgICAgICAgICAgICByZXR1cm4gbW9kdWxlCisgICAgICAgIF9pbml0X21vZHVsZV9hdHRycyhzcGVjLCBtb2R1bGUsIG92ZXJyaWRlPVRydWUpCisgICAgICAgIGlmIG5vdCBoYXNhdHRyKHNwZWMubG9hZGVyLCAnZXhlY19tb2R1bGUnKToKKyAgICAgICAgICAgICMgKGlzc3VlMTk3MTMpIE9uY2UgQnVpbHRpbkltcG9ydGVyIGFuZCBFeHRlbnNpb25GaWxlTG9hZGVyCisgICAgICAgICAgICAjIGhhdmUgZXhlY19tb2R1bGUoKSBpbXBsZW1lbnRlZCwgd2UgY2FuIGFkZCBhIGRlcHJlY2F0aW9uCisgICAgICAgICAgICAjIHdhcm5pbmcgaGVyZS4KKyAgICAgICAgICAgIHNwZWMubG9hZGVyLmxvYWRfbW9kdWxlKG5hbWUpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBzcGVjLmxvYWRlci5leGVjX21vZHVsZShtb2R1bGUpCisgICAgcmV0dXJuIHN5cy5tb2R1bGVzW25hbWVdCiAKLSAgICAgICAgc3BlYy5uYW1lIC0+IG1vZHVsZS5fX25hbWVfXwotICAgICAgICBzcGVjLmxvYWRlciAtPiBtb2R1bGUuX19sb2FkZXJfXwotICAgICAgICBzcGVjLnBhcmVudCAtPiBtb2R1bGUuX19wYWNrYWdlX18KLSAgICAgICAgc3BlYyAtPiBtb2R1bGUuX19zcGVjX18KIAotICAgICAgICBPcHRpb25hbDoKLSAgICAgICAgc3BlYy5vcmlnaW4gLT4gbW9kdWxlLl9fZmlsZV9fIChpZiBzcGVjLnNldF9maWxlYXR0ciBpcyB0cnVlKQotICAgICAgICBzcGVjLmNhY2hlZCAtPiBtb2R1bGUuX19jYWNoZWRfXyAoaWYgX19maWxlX18gYWxzbyBzZXQpCi0gICAgICAgIHNwZWMuc3VibW9kdWxlX3NlYXJjaF9sb2NhdGlvbnMgLT4gbW9kdWxlLl9fcGF0aF9fIChpZiBzZXQpCi0KLSAgICAgICAgIiIiCi0gICAgICAgIHNwZWMgPSBzZWxmLnNwZWMKLQotICAgICAgICAjIFRoZSBwYXNzZWQgaW4gbW9kdWxlIG1heSBiZSBub3Qgc3VwcG9ydCBhdHRyaWJ1dGUgYXNzaWdubWVudCwKLSAgICAgICAgIyBpbiB3aGljaCBjYXNlIHdlIHNpbXBseSBkb24ndCBzZXQgdGhlIGF0dHJpYnV0ZXMuCi0KLSAgICAgICAgIyBfX25hbWVfXwotICAgICAgICBpZiAoX292ZXJyaWRlIG9yIF9mb3JjZV9uYW1lIG9yCi0gICAgICAgICAgICBnZXRhdHRyKG1vZHVsZSwgJ19fbmFtZV9fJywgTm9uZSkgaXMgTm9uZSk6Ci0gICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgbW9kdWxlLl9fbmFtZV9fID0gc3BlYy5uYW1lCi0gICAgICAgICAgICBleGNlcHQgQXR0cmlidXRlRXJyb3I6Ci0gICAgICAgICAgICAgICAgcGFzcwotCi0gICAgICAgICMgX19sb2FkZXJfXwotICAgICAgICBpZiBfb3ZlcnJpZGUgb3IgZ2V0YXR0cihtb2R1bGUsICdfX2xvYWRlcl9fJywgTm9uZSkgaXMgTm9uZToKLSAgICAgICAgICAgIGxvYWRlciA9IHNwZWMubG9hZGVyCi0gICAgICAgICAgICBpZiBsb2FkZXIgaXMgTm9uZToKLSAgICAgICAgICAgICAgICAjIEEgYmFja3dhcmQgY29tcGF0aWJpbGl0eSBoYWNrLgotICAgICAgICAgICAgICAgIGlmIHNwZWMuc3VibW9kdWxlX3NlYXJjaF9sb2NhdGlvbnMgaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICAgICAgICAgIGxvYWRlciA9IF9OYW1lc3BhY2VMb2FkZXIuX19uZXdfXyhfTmFtZXNwYWNlTG9hZGVyKQotICAgICAgICAgICAgICAgICAgICBsb2FkZXIuX3BhdGggPSBzcGVjLnN1Ym1vZHVsZV9zZWFyY2hfbG9jYXRpb25zCi0gICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgbW9kdWxlLl9fbG9hZGVyX18gPSBsb2FkZXIKLSAgICAgICAgICAgIGV4Y2VwdCBBdHRyaWJ1dGVFcnJvcjoKLSAgICAgICAgICAgICAgICBwYXNzCi0KLSAgICAgICAgIyBfX3BhY2thZ2VfXwotICAgICAgICBpZiBfb3ZlcnJpZGUgb3IgZ2V0YXR0cihtb2R1bGUsICdfX3BhY2thZ2VfXycsIE5vbmUpIGlzIE5vbmU6Ci0gICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgbW9kdWxlLl9fcGFja2FnZV9fID0gc3BlYy5wYXJlbnQKLSAgICAgICAgICAgIGV4Y2VwdCBBdHRyaWJ1dGVFcnJvcjoKLSAgICAgICAgICAgICAgICBwYXNzCi0KLSAgICAgICAgIyBfX3NwZWNfXworZGVmIF9sb2FkX2JhY2t3YXJkX2NvbXBhdGlibGUoc3BlYyk6CisgICAgIyAoaXNzdWUxOTcxMykgT25jZSBCdWlsdGluSW1wb3J0ZXIgYW5kIEV4dGVuc2lvbkZpbGVMb2FkZXIKKyAgICAjIGhhdmUgZXhlY19tb2R1bGUoKSBpbXBsZW1lbnRlZCwgd2UgY2FuIGFkZCBhIGRlcHJlY2F0aW9uCisgICAgIyB3YXJuaW5nIGhlcmUuCisgICAgc3BlYy5sb2FkZXIubG9hZF9tb2R1bGUoc3BlYy5uYW1lKQorICAgICMgVGhlIG1vZHVsZSBtdXN0IGJlIGluIHN5cy5tb2R1bGVzIGF0IHRoaXMgcG9pbnQhCisgICAgbW9kdWxlID0gc3lzLm1vZHVsZXNbc3BlYy5uYW1lXQorICAgIGlmIGdldGF0dHIobW9kdWxlLCAnX19sb2FkZXJfXycsIE5vbmUpIGlzIE5vbmU6CisgICAgICAgIHRyeToKKyAgICAgICAgICAgIG1vZHVsZS5fX2xvYWRlcl9fID0gc3BlYy5sb2FkZXIKKyAgICAgICAgZXhjZXB0IEF0dHJpYnV0ZUVycm9yOgorICAgICAgICAgICAgcGFzcworICAgIGlmIGdldGF0dHIobW9kdWxlLCAnX19wYWNrYWdlX18nLCBOb25lKSBpcyBOb25lOgorICAgICAgICB0cnk6CisgICAgICAgICAgICAjIFNpbmNlIG1vZHVsZS5fX3BhdGhfXyBtYXkgbm90IGxpbmUgdXAgd2l0aAorICAgICAgICAgICAgIyBzcGVjLnN1Ym1vZHVsZV9zZWFyY2hfcGF0aHMsIHdlIGNhbid0IG5lY2Vzc2FyaWx5IHJlbHkKKyAgICAgICAgICAgICMgb24gc3BlYy5wYXJlbnQgaGVyZS4KKyAgICAgICAgICAgIG1vZHVsZS5fX3BhY2thZ2VfXyA9IG1vZHVsZS5fX25hbWVfXworICAgICAgICAgICAgaWYgbm90IGhhc2F0dHIobW9kdWxlLCAnX19wYXRoX18nKToKKyAgICAgICAgICAgICAgICBtb2R1bGUuX19wYWNrYWdlX18gPSBzcGVjLm5hbWUucnBhcnRpdGlvbignLicpWzBdCisgICAgICAgIGV4Y2VwdCBBdHRyaWJ1dGVFcnJvcjoKKyAgICAgICAgICAgIHBhc3MKKyAgICBpZiBnZXRhdHRyKG1vZHVsZSwgJ19fc3BlY19fJywgTm9uZSkgaXMgTm9uZToKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgbW9kdWxlLl9fc3BlY19fID0gc3BlYwogICAgICAgICBleGNlcHQgQXR0cmlidXRlRXJyb3I6CiAgICAgICAgICAgICBwYXNzCisgICAgcmV0dXJuIG1vZHVsZQogCi0gICAgICAgICMgX19wYXRoX18KLSAgICAgICAgaWYgX292ZXJyaWRlIG9yIGdldGF0dHIobW9kdWxlLCAnX19wYXRoX18nLCBOb25lKSBpcyBOb25lOgotICAgICAgICAgICAgaWYgc3BlYy5zdWJtb2R1bGVfc2VhcmNoX2xvY2F0aW9ucyBpcyBub3QgTm9uZToKLSAgICAgICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgICAgIG1vZHVsZS5fX3BhdGhfXyA9IHNwZWMuc3VibW9kdWxlX3NlYXJjaF9sb2NhdGlvbnMKLSAgICAgICAgICAgICAgICBleGNlcHQgQXR0cmlidXRlRXJyb3I6Ci0gICAgICAgICAgICAgICAgICAgIHBhc3MKK2RlZiBfbG9hZF91bmxvY2tlZChzcGVjKToKKyAgICAjIEEgaGVscGVyIGZvciBkaXJlY3QgdXNlIGJ5IHRoZSBpbXBvcnQgc3lzdGVtLgorICAgIGlmIHNwZWMubG9hZGVyIGlzIG5vdCBOb25lOgorICAgICAgICAjIG5vdCBhIG5hbWVzcGFjZSBwYWNrYWdlCisgICAgICAgIGlmIG5vdCBoYXNhdHRyKHNwZWMubG9hZGVyLCAnZXhlY19tb2R1bGUnKToKKyAgICAgICAgICAgIHJldHVybiBfbG9hZF9iYWNrd2FyZF9jb21wYXRpYmxlKHNwZWMpCiAKLSAgICAgICAgaWYgc3BlYy5oYXNfbG9jYXRpb246Ci0gICAgICAgICAgICAjIF9fZmlsZV9fCi0gICAgICAgICAgICBpZiBfb3ZlcnJpZGUgb3IgZ2V0YXR0cihtb2R1bGUsICdfX2ZpbGVfXycsIE5vbmUpIGlzIE5vbmU6Ci0gICAgICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgICAgICBtb2R1bGUuX19maWxlX18gPSBzcGVjLm9yaWdpbgotICAgICAgICAgICAgICAgIGV4Y2VwdCBBdHRyaWJ1dGVFcnJvcjoKLSAgICAgICAgICAgICAgICAgICAgcGFzcwotCi0gICAgICAgICAgICAjIF9fY2FjaGVkX18KLSAgICAgICAgICAgIGlmIF9vdmVycmlkZSBvciBnZXRhdHRyKG1vZHVsZSwgJ19fY2FjaGVkX18nLCBOb25lKSBpcyBOb25lOgotICAgICAgICAgICAgICAgIGlmIHNwZWMuY2FjaGVkIGlzIG5vdCBOb25lOgotICAgICAgICAgICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgICAgICAgICBtb2R1bGUuX19jYWNoZWRfXyA9IHNwZWMuY2FjaGVkCi0gICAgICAgICAgICAgICAgICAgIGV4Y2VwdCBBdHRyaWJ1dGVFcnJvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgIHBhc3MKLQotICAgIGRlZiBjcmVhdGUoc2VsZik6Ci0gICAgICAgICIiIlJldHVybiBhIG5ldyBtb2R1bGUgdG8gYmUgbG9hZGVkLgotCi0gICAgICAgIFRoZSBpbXBvcnQtcmVsYXRlZCBtb2R1bGUgYXR0cmlidXRlcyBhcmUgYWxzbyBzZXQgd2l0aCB0aGUKLSAgICAgICAgYXBwcm9wcmlhdGUgdmFsdWVzIGZyb20gdGhlIHNwZWMuCi0KLSAgICAgICAgIiIiCi0gICAgICAgIHNwZWMgPSBzZWxmLnNwZWMKLSAgICAgICAgIyBUeXBpY2FsbHkgbG9hZGVycyB3aWxsIG5vdCBpbXBsZW1lbnQgY3JlYXRlX21vZHVsZSgpLgotICAgICAgICBpZiBoYXNhdHRyKHNwZWMubG9hZGVyLCAnY3JlYXRlX21vZHVsZScpOgotICAgICAgICAgICAgIyBJZiBjcmVhdGVfbW9kdWxlKCkgcmV0dXJucyBgTm9uZWAgaXQgbWVhbnMgdGhlIGRlZmF1bHQKLSAgICAgICAgICAgICMgbW9kdWxlIGNyZWF0aW9uIHNob3VsZCBiZSB1c2VkLgotICAgICAgICAgICAgbW9kdWxlID0gc3BlYy5sb2FkZXIuY3JlYXRlX21vZHVsZShzcGVjKQorICAgIG1vZHVsZSA9IG1vZHVsZV9mcm9tX3NwZWMoc3BlYykKKyAgICB3aXRoIF9pbnN0YWxsZWRfc2FmZWx5KG1vZHVsZSk6CisgICAgICAgIGlmIHNwZWMubG9hZGVyIGlzIE5vbmU6CisgICAgICAgICAgICBpZiBzcGVjLnN1Ym1vZHVsZV9zZWFyY2hfbG9jYXRpb25zIGlzIE5vbmU6CisgICAgICAgICAgICAgICAgcmFpc2UgSW1wb3J0RXJyb3IoJ21pc3NpbmcgbG9hZGVyJywgbmFtZT1zcGVjLm5hbWUpCisgICAgICAgICAgICAjIEEgbmFtZXNwYWNlIHBhY2thZ2Ugc28gZG8gbm90aGluZy4KICAgICAgICAgZWxzZToKLSAgICAgICAgICAgIG1vZHVsZSA9IE5vbmUKLSAgICAgICAgaWYgbW9kdWxlIGlzIE5vbmU6Ci0gICAgICAgICAgICAjIFRoaXMgbXVzdCBiZSBkb25lIGJlZm9yZSBvcGVuKCkgaXMgZXZlciBjYWxsZWQgYXMgdGhlICdpbycKLSAgICAgICAgICAgICMgbW9kdWxlIGltcGxpY2l0bHkgaW1wb3J0cyAnbG9jYWxlJyBhbmQgd291bGQgb3RoZXJ3aXNlCi0gICAgICAgICAgICAjIHRyaWdnZXIgYW4gaW5maW5pdGUgbG9vcC4KLSAgICAgICAgICAgIG1vZHVsZSA9IF9uZXdfbW9kdWxlKHNwZWMubmFtZSkKLSAgICAgICAgc2VsZi5pbml0X21vZHVsZV9hdHRycyhtb2R1bGUpCi0gICAgICAgIHJldHVybiBtb2R1bGUKKyAgICAgICAgICAgIHNwZWMubG9hZGVyLmV4ZWNfbW9kdWxlKG1vZHVsZSkKIAotICAgIGRlZiBfZXhlYyhzZWxmLCBtb2R1bGUpOgotICAgICAgICAiIiJEbyBldmVyeXRoaW5nIG5lY2Vzc2FyeSB0byBleGVjdXRlIHRoZSBtb2R1bGUuCisgICAgIyBXZSBkb24ndCBlbnN1cmUgdGhhdCB0aGUgaW1wb3J0LXJlbGF0ZWQgbW9kdWxlIGF0dHJpYnV0ZXMgZ2V0CisgICAgIyBzZXQgaW4gdGhlIHN5cy5tb2R1bGVzIHJlcGxhY2VtZW50IGNhc2UuICBTdWNoIG1vZHVsZXMgYXJlIG9uCisgICAgIyB0aGVpciBvd24uCisgICAgcmV0dXJuIHN5cy5tb2R1bGVzW3NwZWMubmFtZV0KIAotICAgICAgICBUaGUgbmFtZXNwYWNlIG9mIGBtb2R1bGVgIGlzIHVzZWQgYXMgdGhlIHRhcmdldCBvZiBleGVjdXRpb24uCi0gICAgICAgIFRoaXMgbWV0aG9kIHVzZXMgdGhlIGxvYWRlcidzIGBleGVjX21vZHVsZSgpYCBtZXRob2QuCisjIEEgbWV0aG9kIHVzZWQgZHVyaW5nIHRlc3Rpbmcgb2YgX2xvYWRfdW5sb2NrZWQoKSBhbmQgYnkKKyMgX2xvYWRfbW9kdWxlX3NoaW0oKS4KK2RlZiBfbG9hZChzcGVjKToKKyAgICAiIiJSZXR1cm4gYSBuZXcgbW9kdWxlIG9iamVjdCwgbG9hZGVkIGJ5IHRoZSBzcGVjJ3MgbG9hZGVyLgogCi0gICAgICAgICIiIgotICAgICAgICBzZWxmLnNwZWMubG9hZGVyLmV4ZWNfbW9kdWxlKG1vZHVsZSkKKyAgICBUaGUgbW9kdWxlIGlzIG5vdCBhZGRlZCB0byBpdHMgcGFyZW50LgogCi0gICAgIyBVc2VkIGJ5IGltcG9ydGxpYi5yZWxvYWQoKSBhbmQgX2xvYWRfbW9kdWxlX3NoaW0oKS4KLSAgICBkZWYgZXhlYyhzZWxmLCBtb2R1bGUpOgotICAgICAgICAiIiJFeGVjdXRlIHRoZSBzcGVjIGluIGFuIGV4aXN0aW5nIG1vZHVsZSdzIG5hbWVzcGFjZS4iIiIKLSAgICAgICAgbmFtZSA9IHNlbGYuc3BlYy5uYW1lCi0gICAgICAgIF9pbXAuYWNxdWlyZV9sb2NrKCkKLSAgICAgICAgd2l0aCBfTW9kdWxlTG9ja01hbmFnZXIobmFtZSk6Ci0gICAgICAgICAgICBpZiBzeXMubW9kdWxlcy5nZXQobmFtZSkgaXMgbm90IG1vZHVsZToKLSAgICAgICAgICAgICAgICBtc2cgPSAnbW9kdWxlIHshcn0gbm90IGluIHN5cy5tb2R1bGVzJy5mb3JtYXQobmFtZSkKLSAgICAgICAgICAgICAgICByYWlzZSBJbXBvcnRFcnJvcihtc2csIG5hbWU9bmFtZSkKLSAgICAgICAgICAgIGlmIHNlbGYuc3BlYy5sb2FkZXIgaXMgTm9uZToKLSAgICAgICAgICAgICAgICBpZiBzZWxmLnNwZWMuc3VibW9kdWxlX3NlYXJjaF9sb2NhdGlvbnMgaXMgTm9uZToKLSAgICAgICAgICAgICAgICAgICAgcmFpc2UgSW1wb3J0RXJyb3IoJ21pc3NpbmcgbG9hZGVyJywgbmFtZT1zZWxmLnNwZWMubmFtZSkKLSAgICAgICAgICAgICAgICAjIG5hbWVzcGFjZSBwYWNrYWdlCi0gICAgICAgICAgICAgICAgc2VsZi5pbml0X21vZHVsZV9hdHRycyhtb2R1bGUsIF9vdmVycmlkZT1UcnVlKQotICAgICAgICAgICAgICAgIHJldHVybiBtb2R1bGUKLSAgICAgICAgICAgIHNlbGYuaW5pdF9tb2R1bGVfYXR0cnMobW9kdWxlLCBfb3ZlcnJpZGU9VHJ1ZSkKLSAgICAgICAgICAgIGlmIG5vdCBoYXNhdHRyKHNlbGYuc3BlYy5sb2FkZXIsICdleGVjX21vZHVsZScpOgotICAgICAgICAgICAgICAgICMgKGlzc3VlMTk3MTMpIE9uY2UgQnVpbHRpbkltcG9ydGVyIGFuZCBFeHRlbnNpb25GaWxlTG9hZGVyCi0gICAgICAgICAgICAgICAgIyBoYXZlIGV4ZWNfbW9kdWxlKCkgaW1wbGVtZW50ZWQsIHdlIGNhbiBhZGQgYSBkZXByZWNhdGlvbgotICAgICAgICAgICAgICAgICMgd2FybmluZyBoZXJlLgotICAgICAgICAgICAgICAgIHNlbGYuc3BlYy5sb2FkZXIubG9hZF9tb2R1bGUobmFtZSkKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgc2VsZi5fZXhlYyhtb2R1bGUpCi0gICAgICAgIHJldHVybiBzeXMubW9kdWxlc1tuYW1lXQorICAgIElmIGEgbW9kdWxlIGlzIGFscmVhZHkgaW4gc3lzLm1vZHVsZXMsIHRoYXQgZXhpc3RpbmcgbW9kdWxlIGdldHMKKyAgICBjbG9iYmVyZWQuCiAKLSAgICBkZWYgX2xvYWRfYmFja3dhcmRfY29tcGF0aWJsZShzZWxmKToKLSAgICAgICAgIyAoaXNzdWUxOTcxMykgT25jZSBCdWlsdGluSW1wb3J0ZXIgYW5kIEV4dGVuc2lvbkZpbGVMb2FkZXIKLSAgICAgICAgIyBoYXZlIGV4ZWNfbW9kdWxlKCkgaW1wbGVtZW50ZWQsIHdlIGNhbiBhZGQgYSBkZXByZWNhdGlvbgotICAgICAgICAjIHdhcm5pbmcgaGVyZS4KLSAgICAgICAgc3BlYyA9IHNlbGYuc3BlYwotICAgICAgICBzcGVjLmxvYWRlci5sb2FkX21vZHVsZShzcGVjLm5hbWUpCi0gICAgICAgICMgVGhlIG1vZHVsZSBtdXN0IGJlIGluIHN5cy5tb2R1bGVzIGF0IHRoaXMgcG9pbnQhCi0gICAgICAgIG1vZHVsZSA9IHN5cy5tb2R1bGVzW3NwZWMubmFtZV0KLSAgICAgICAgaWYgZ2V0YXR0cihtb2R1bGUsICdfX2xvYWRlcl9fJywgTm9uZSkgaXMgTm9uZToKLSAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICBtb2R1bGUuX19sb2FkZXJfXyA9IHNwZWMubG9hZGVyCi0gICAgICAgICAgICBleGNlcHQgQXR0cmlidXRlRXJyb3I6Ci0gICAgICAgICAgICAgICAgcGFzcwotICAgICAgICBpZiBnZXRhdHRyKG1vZHVsZSwgJ19fcGFja2FnZV9fJywgTm9uZSkgaXMgTm9uZToKLSAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICAjIFNpbmNlIG1vZHVsZS5fX3BhdGhfXyBtYXkgbm90IGxpbmUgdXAgd2l0aAotICAgICAgICAgICAgICAgICMgc3BlYy5zdWJtb2R1bGVfc2VhcmNoX3BhdGhzLCB3ZSBjYW4ndCBuZWNlc3NhcmlseSByZWx5Ci0gICAgICAgICAgICAgICAgIyBvbiBzcGVjLnBhcmVudCBoZXJlLgotICAgICAgICAgICAgICAgIG1vZHVsZS5fX3BhY2thZ2VfXyA9IG1vZHVsZS5fX25hbWVfXwotICAgICAgICAgICAgICAgIGlmIG5vdCBoYXNhdHRyKG1vZHVsZSwgJ19fcGF0aF9fJyk6Ci0gICAgICAgICAgICAgICAgICAgIG1vZHVsZS5fX3BhY2thZ2VfXyA9IHNwZWMubmFtZS5ycGFydGl0aW9uKCcuJylbMF0KLSAgICAgICAgICAgIGV4Y2VwdCBBdHRyaWJ1dGVFcnJvcjoKLSAgICAgICAgICAgICAgICBwYXNzCi0gICAgICAgIGlmIGdldGF0dHIobW9kdWxlLCAnX19zcGVjX18nLCBOb25lKSBpcyBOb25lOgotICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgIG1vZHVsZS5fX3NwZWNfXyA9IHNwZWMKLSAgICAgICAgICAgIGV4Y2VwdCBBdHRyaWJ1dGVFcnJvcjoKLSAgICAgICAgICAgICAgICBwYXNzCi0gICAgICAgIHJldHVybiBtb2R1bGUKLQotICAgIGRlZiBfbG9hZF91bmxvY2tlZChzZWxmKToKLSAgICAgICAgIyBBIGhlbHBlciBmb3IgZGlyZWN0IHVzZSBieSB0aGUgaW1wb3J0IHN5c3RlbS4KLSAgICAgICAgaWYgc2VsZi5zcGVjLmxvYWRlciBpcyBub3QgTm9uZToKLSAgICAgICAgICAgICMgbm90IGEgbmFtZXNwYWNlIHBhY2thZ2UKLSAgICAgICAgICAgIGlmIG5vdCBoYXNhdHRyKHNlbGYuc3BlYy5sb2FkZXIsICdleGVjX21vZHVsZScpOgotICAgICAgICAgICAgICAgIHJldHVybiBzZWxmLl9sb2FkX2JhY2t3YXJkX2NvbXBhdGlibGUoKQotCi0gICAgICAgIG1vZHVsZSA9IHNlbGYuY3JlYXRlKCkKLSAgICAgICAgd2l0aCBfaW5zdGFsbGVkX3NhZmVseShtb2R1bGUpOgotICAgICAgICAgICAgaWYgc2VsZi5zcGVjLmxvYWRlciBpcyBOb25lOgotICAgICAgICAgICAgICAgIGlmIHNlbGYuc3BlYy5zdWJtb2R1bGVfc2VhcmNoX2xvY2F0aW9ucyBpcyBOb25lOgotICAgICAgICAgICAgICAgICAgICByYWlzZSBJbXBvcnRFcnJvcignbWlzc2luZyBsb2FkZXInLCBuYW1lPXNlbGYuc3BlYy5uYW1lKQotICAgICAgICAgICAgICAgICMgQSBuYW1lc3BhY2UgcGFja2FnZSBzbyBkbyBub3RoaW5nLgotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBzZWxmLl9leGVjKG1vZHVsZSkKLQotICAgICAgICAjIFdlIGRvbid0IGVuc3VyZSB0aGF0IHRoZSBpbXBvcnQtcmVsYXRlZCBtb2R1bGUgYXR0cmlidXRlcyBnZXQKLSAgICAgICAgIyBzZXQgaW4gdGhlIHN5cy5tb2R1bGVzIHJlcGxhY2VtZW50IGNhc2UuICBTdWNoIG1vZHVsZXMgYXJlIG9uCi0gICAgICAgICMgdGhlaXIgb3duLgotICAgICAgICByZXR1cm4gc3lzLm1vZHVsZXNbc2VsZi5zcGVjLm5hbWVdCi0KLSAgICAjIEEgbWV0aG9kIHVzZWQgZHVyaW5nIHRlc3Rpbmcgb2YgX2xvYWRfdW5sb2NrZWQoKSBhbmQgYnkKLSAgICAjIF9sb2FkX21vZHVsZV9zaGltKCkuCi0gICAgZGVmIGxvYWQoc2VsZik6Ci0gICAgICAgICIiIlJldHVybiBhIG5ldyBtb2R1bGUgb2JqZWN0LCBsb2FkZWQgYnkgdGhlIHNwZWMncyBsb2FkZXIuCi0KLSAgICAgICAgVGhlIG1vZHVsZSBpcyBub3QgYWRkZWQgdG8gaXRzIHBhcmVudC4KLQotICAgICAgICBJZiBhIG1vZHVsZSBpcyBhbHJlYWR5IGluIHN5cy5tb2R1bGVzLCB0aGF0IGV4aXN0aW5nIG1vZHVsZSBnZXRzCi0gICAgICAgIGNsb2JiZXJlZC4KLQotICAgICAgICAiIiIKLSAgICAgICAgX2ltcC5hY3F1aXJlX2xvY2soKQotICAgICAgICB3aXRoIF9Nb2R1bGVMb2NrTWFuYWdlcihzZWxmLnNwZWMubmFtZSk6Ci0gICAgICAgICAgICByZXR1cm4gc2VsZi5fbG9hZF91bmxvY2tlZCgpCisgICAgIiIiCisgICAgX2ltcC5hY3F1aXJlX2xvY2soKQorICAgIHdpdGggX01vZHVsZUxvY2tNYW5hZ2VyKHNwZWMubmFtZSk6CisgICAgICAgIHJldHVybiBfbG9hZF91bmxvY2tlZChzcGVjKQogCiAKIGRlZiBfZml4X3VwX21vZHVsZShucywgbmFtZSwgcGF0aG5hbWUsIGNwYXRobmFtZT1Ob25lKToKQEAgLTEzNDksNiArMTMwMiwxMCBAQAogICAgICAgICAiIiIKICAgICAgICAgcmV0dXJuIGNscyBpZiBfaW1wLmlzX2Zyb3plbihmdWxsbmFtZSkgZWxzZSBOb25lCiAKKyAgICBAY2xhc3NtZXRob2QKKyAgICBkZWYgY3JlYXRlX21vZHVsZShjbHMsIHNwZWMpOgorICAgICAgICAiIiJVc2UgZGVmYXVsdCBzZW1hbnRpY3MgZm9yIG1vZHVsZSBjcmVhdGlvbi4iIiIKKwogICAgIEBzdGF0aWNtZXRob2QKICAgICBkZWYgZXhlY19tb2R1bGUobW9kdWxlKToKICAgICAgICAgbmFtZSA9IG1vZHVsZS5fX3NwZWNfXy5uYW1lCkBAIC0xNDYyLDYgKzE0MTksOSBAQAogICAgICAgICB0YWlsX25hbWUgPSBmdWxsbmFtZS5ycGFydGl0aW9uKCcuJylbMl0KICAgICAgICAgcmV0dXJuIGZpbGVuYW1lX2Jhc2UgPT0gJ19faW5pdF9fJyBhbmQgdGFpbF9uYW1lICE9ICdfX2luaXRfXycKIAorICAgIGRlZiBjcmVhdGVfbW9kdWxlKHNlbGYsIHNwZWMpOgorICAgICAgICAiIiJVc2UgZGVmYXVsdCBzZW1hbnRpY3MgZm9yIG1vZHVsZSBjcmVhdGlvbi4iIiIKKwogICAgIGRlZiBleGVjX21vZHVsZShzZWxmLCBtb2R1bGUpOgogICAgICAgICAiIiJFeGVjdXRlIHRoZSBtb2R1bGUuIiIiCiAgICAgICAgIGNvZGUgPSBzZWxmLmdldF9jb2RlKG1vZHVsZS5fX25hbWVfXykKQEAgLTE3OTksNyArMTc1OSw3IEBACiAgICAgICAgIHNlbGYuX3BhdGguYXBwZW5kKGl0ZW0pCiAKIAotIyBXZSB1c2UgdGhpcyBleGNsdXNpdmVseSBpbiBpbml0X21vZHVsZV9hdHRycygpIGZvciBiYWNrd2FyZC1jb21wYXRpYmlsaXR5LgorIyBXZSB1c2UgdGhpcyBleGNsdXNpdmVseSBpbiBtb2R1bGVfZnJvbV9zcGVjKCkgZm9yIGJhY2t3YXJkLWNvbXBhdGliaWxpdHkuCiBjbGFzcyBfTmFtZXNwYWNlTG9hZGVyOgogICAgIGRlZiBfX2luaXRfXyhzZWxmLCBuYW1lLCBwYXRoLCBwYXRoX2ZpbmRlcik6CiAgICAgICAgIHNlbGYuX3BhdGggPSBfTmFtZXNwYWNlUGF0aChuYW1lLCBwYXRoLCBwYXRoX2ZpbmRlcikKQEAgLTE4MjIsNiArMTc4Miw5IEBACiAgICAgZGVmIGdldF9jb2RlKHNlbGYsIGZ1bGxuYW1lKToKICAgICAgICAgcmV0dXJuIGNvbXBpbGUoJycsICc8c3RyaW5nPicsICdleGVjJywgZG9udF9pbmhlcml0PVRydWUpCiAKKyAgICBkZWYgY3JlYXRlX21vZHVsZShzZWxmLCBzcGVjKToKKyAgICAgICAgIiIiVXNlIGRlZmF1bHQgc2VtYW50aWNzIGZvciBtb2R1bGUgY3JlYXRpb24uIiIiCisKICAgICBkZWYgZXhlY19tb2R1bGUoc2VsZiwgbW9kdWxlKToKICAgICAgICAgcGFzcwogCkBAIC0xODU3LDcgKzE4MjAsNyBAQAogICAgICAgICBJZiAnaG9va3MnIGlzIGZhbHNlIHRoZW4gdXNlIHN5cy5wYXRoX2hvb2tzLgogCiAgICAgICAgICIiIgotICAgICAgICBpZiBub3Qgc3lzLnBhdGhfaG9va3M6CisgICAgICAgIGlmIHN5cy5wYXRoX2hvb2tzIGlzIG5vdCBOb25lIGFuZCBub3Qgc3lzLnBhdGhfaG9va3M6CiAgICAgICAgICAgICBfd2FybmluZ3Mud2Fybignc3lzLnBhdGhfaG9va3MgaXMgZW1wdHknLCBJbXBvcnRXYXJuaW5nKQogICAgICAgICBmb3IgaG9vayBpbiBzeXMucGF0aF9ob29rczoKICAgICAgICAgICAgIHRyeToKQEAgLTE4NzYsNyArMTgzOSwxMiBAQAogCiAgICAgICAgICIiIgogICAgICAgICBpZiBwYXRoID09ICcnOgotICAgICAgICAgICAgcGF0aCA9IF9vcy5nZXRjd2QoKQorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIHBhdGggPSBfb3MuZ2V0Y3dkKCkKKyAgICAgICAgICAgIGV4Y2VwdCBGaWxlTm90Rm91bmRFcnJvcjoKKyAgICAgICAgICAgICAgICAjIERvbid0IGNhY2hlIHRoZSBmYWlsdXJlIGFzIHRoZSBjd2QgY2FuIGVhc2lseSBjaGFuZ2UgdG8KKyAgICAgICAgICAgICAgICAjIGEgdmFsaWQgZGlyZWN0b3J5IGxhdGVyIG9uLgorICAgICAgICAgICAgICAgIHJldHVybiBOb25lCiAgICAgICAgIHRyeToKICAgICAgICAgICAgIGZpbmRlciA9IHN5cy5wYXRoX2ltcG9ydGVyX2NhY2hlW3BhdGhdCiAgICAgICAgIGV4Y2VwdCBLZXlFcnJvcjoKQEAgLTIxNDYsNyArMjExNCw3IEBACiAKIGRlZiBfZmluZF9zcGVjKG5hbWUsIHBhdGgsIHRhcmdldD1Ob25lKToKICAgICAiIiJGaW5kIGEgbW9kdWxlJ3MgbG9hZGVyLiIiIgotICAgIGlmIG5vdCBzeXMubWV0YV9wYXRoOgorICAgIGlmIHN5cy5tZXRhX3BhdGggaXMgbm90IE5vbmUgYW5kIG5vdCBzeXMubWV0YV9wYXRoOgogICAgICAgICBfd2FybmluZ3Mud2Fybignc3lzLm1ldGFfcGF0aCBpcyBlbXB0eScsIEltcG9ydFdhcm5pbmcpCiAgICAgIyBXZSBjaGVjayBzeXMubW9kdWxlcyBoZXJlIGZvciB0aGUgcmVsb2FkIGNhc2UuICBXaGlsZSBhIHBhc3NlZC1pbgogICAgICMgdGFyZ2V0IHdpbGwgdXN1YWxseSBpbmRpY2F0ZSBhIHJlbG9hZCB0aGVyZSBpcyBubyBndWFyYW50ZWUsIHdoZXJlYXMKQEAgLTIyMTgsMTIgKzIxODYsMTIgQEAKICAgICAgICAgICAgIHBhdGggPSBwYXJlbnRfbW9kdWxlLl9fcGF0aF9fCiAgICAgICAgIGV4Y2VwdCBBdHRyaWJ1dGVFcnJvcjoKICAgICAgICAgICAgIG1zZyA9IChfRVJSX01TRyArICc7IHshcn0gaXMgbm90IGEgcGFja2FnZScpLmZvcm1hdChuYW1lLCBwYXJlbnQpCi0gICAgICAgICAgICByYWlzZSBJbXBvcnRFcnJvcihtc2csIG5hbWU9bmFtZSkKKyAgICAgICAgICAgIHJhaXNlIEltcG9ydEVycm9yKG1zZywgbmFtZT1uYW1lKSBmcm9tIE5vbmUKICAgICBzcGVjID0gX2ZpbmRfc3BlYyhuYW1lLCBwYXRoKQogICAgIGlmIHNwZWMgaXMgTm9uZToKICAgICAgICAgcmFpc2UgSW1wb3J0RXJyb3IoX0VSUl9NU0cuZm9ybWF0KG5hbWUpLCBuYW1lPW5hbWUpCiAgICAgZWxzZToKLSAgICAgICAgbW9kdWxlID0gX1NwZWNNZXRob2RzKHNwZWMpLl9sb2FkX3VubG9ja2VkKCkKKyAgICAgICAgbW9kdWxlID0gX2xvYWRfdW5sb2NrZWQoc3BlYykKICAgICBpZiBwYXJlbnQ6CiAgICAgICAgICMgU2V0IHRoZSBtb2R1bGUgYXMgYW4gYXR0cmlidXRlIG9uIGl0cyBwYXJlbnQuCiAgICAgICAgIHBhcmVudF9tb2R1bGUgPSBzeXMubW9kdWxlc1twYXJlbnRdCkBAIC0yMzU4LDggKzIzMjYsNyBAQAogICAgIHNwZWMgPSBCdWlsdGluSW1wb3J0ZXIuZmluZF9zcGVjKG5hbWUpCiAgICAgaWYgc3BlYyBpcyBOb25lOgogICAgICAgICByYWlzZSBJbXBvcnRFcnJvcignbm8gYnVpbHQtaW4gbW9kdWxlIG5hbWVkICcgKyBuYW1lKQotICAgIG1ldGhvZHMgPSBfU3BlY01ldGhvZHMoc3BlYykKLSAgICByZXR1cm4gbWV0aG9kcy5fbG9hZF91bmxvY2tlZCgpCisgICAgcmV0dXJuIF9sb2FkX3VubG9ja2VkKHNwZWMpCiAKIAogZGVmIF9zZXR1cChzeXNfbW9kdWxlLCBfaW1wX21vZHVsZSk6CkBAIC0yMzkwLDggKzIzNTcsNyBAQAogICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICBjb250aW51ZQogICAgICAgICAgICAgc3BlYyA9IF9zcGVjX2Zyb21fbW9kdWxlKG1vZHVsZSwgbG9hZGVyKQotICAgICAgICAgICAgbWV0aG9kcyA9IF9TcGVjTWV0aG9kcyhzcGVjKQotICAgICAgICAgICAgbWV0aG9kcy5pbml0X21vZHVsZV9hdHRycyhtb2R1bGUpCisgICAgICAgICAgICBfaW5pdF9tb2R1bGVfYXR0cnMoc3BlYywgbW9kdWxlKQogCiAgICAgIyBEaXJlY3RseSBsb2FkIGJ1aWx0LWluIG1vZHVsZXMgbmVlZGVkIGR1cmluZyBib290c3RyYXAuCiAgICAgc2VsZl9tb2R1bGUgPSBzeXMubW9kdWxlc1tfX25hbWVfX10KZGlmZiAtLWdpdCBhL0xpYi9pbXBvcnRsaWIvYWJjLnB5IGIvTGliL2ltcG9ydGxpYi9hYmMucHkKaW5kZXggNTU4YWJkMy4uMjg3ODQ4OCAxMDA2NDQKLS0tIGEvTGliL2ltcG9ydGxpYi9hYmMucHkKKysrIGIvTGliL2ltcG9ydGxpYi9hYmMucHkKQEAgLTEyMiwxMSArMTIyLDggQEAKICAgICAgICAgVGhpcyBtZXRob2Qgc2hvdWxkIHJhaXNlIEltcG9ydEVycm9yIGlmIGFueXRoaW5nIHByZXZlbnRzIGl0CiAgICAgICAgIGZyb20gY3JlYXRpbmcgYSBuZXcgbW9kdWxlLiAgSXQgbWF5IHJldHVybiBOb25lIHRvIGluZGljYXRlCiAgICAgICAgIHRoYXQgdGhlIHNwZWMgc2hvdWxkIGNyZWF0ZSB0aGUgbmV3IG1vZHVsZS4KLQotICAgICAgICBjcmVhdGVfbW9kdWxlKCkgaXMgb3B0aW9uYWwuCi0KICAgICAgICAgIiIiCi0gICAgICAgICMgQnkgZGVmYXVsdCwgZGVmZXIgdG8gX1NwZWNNZXRob2RzLmNyZWF0ZSgpIGZvciB0aGUgbmV3IG1vZHVsZS4KKyAgICAgICAgIyBCeSBkZWZhdWx0LCBkZWZlciB0byBkZWZhdWx0IHNlbWFudGljcyBmb3IgdGhlIG5ldyBtb2R1bGUuCiAgICAgICAgIHJldHVybiBOb25lCiAKICAgICAjIFdlIGRvbid0IGRlZmluZSBleGVjX21vZHVsZSgpIGhlcmUgc2luY2UgdGhhdCB3b3VsZCBicmVhawpAQCAtMjE3LDcgKzIxNCw4IEBACiAgICAgICAgICIiIgogICAgICAgICByYWlzZSBJbXBvcnRFcnJvcgogCi0gICAgZGVmIHNvdXJjZV90b19jb2RlKHNlbGYsIGRhdGEsIHBhdGg9JzxzdHJpbmc+Jyk6CisgICAgQHN0YXRpY21ldGhvZAorICAgIGRlZiBzb3VyY2VfdG9fY29kZShkYXRhLCBwYXRoPSc8c3RyaW5nPicpOgogICAgICAgICAiIiJDb21waWxlICdkYXRhJyBpbnRvIGEgY29kZSBvYmplY3QuCiAKICAgICAgICAgVGhlICdkYXRhJyBhcmd1bWVudCBjYW4gYmUgYW55dGhpbmcgdGhhdCBjb21waWxlKCkgY2FuIGhhbmRsZS4gVGhlJ3BhdGgnCmRpZmYgLS1naXQgYS9MaWIvaW1wb3J0bGliL3V0aWwucHkgYi9MaWIvaW1wb3J0bGliL3V0aWwucHkKaW5kZXggNmQ3M2IxZC4uYzQyZWYxNCAxMDA2NDQKLS0tIGEvTGliL2ltcG9ydGxpYi91dGlsLnB5CisrKyBiL0xpYi9pbXBvcnRsaWIvdXRpbC5weQpAQCAtMSw4ICsxLDkgQEAKICIiIlV0aWxpdHkgY29kZSBmb3IgY29uc3RydWN0aW5nIGltcG9ydGVycywgZXRjLiIiIgotCitmcm9tIC4gaW1wb3J0IGFiYwogZnJvbSAuX2Jvb3RzdHJhcCBpbXBvcnQgTUFHSUNfTlVNQkVSCiBmcm9tIC5fYm9vdHN0cmFwIGltcG9ydCBjYWNoZV9mcm9tX3NvdXJjZQogZnJvbSAuX2Jvb3RzdHJhcCBpbXBvcnQgZGVjb2RlX3NvdXJjZQorZnJvbSAuX2Jvb3RzdHJhcCBpbXBvcnQgbW9kdWxlX2Zyb21fc3BlYwogZnJvbSAuX2Jvb3RzdHJhcCBpbXBvcnQgc291cmNlX2Zyb21fY2FjaGUKIGZyb20gLl9ib290c3RyYXAgaW1wb3J0IHNwZWNfZnJvbV9sb2FkZXIKIGZyb20gLl9ib290c3RyYXAgaW1wb3J0IHNwZWNfZnJvbV9maWxlX2xvY2F0aW9uCkBAIC0xMiw2ICsxMyw3IEBACiBmcm9tIGNvbnRleHRsaWIgaW1wb3J0IGNvbnRleHRtYW5hZ2VyCiBpbXBvcnQgZnVuY3Rvb2xzCiBpbXBvcnQgc3lzCitpbXBvcnQgdHlwZXMKIGltcG9ydCB3YXJuaW5ncwogCiAKQEAgLTU0LDcgKzU2LDcgQEAKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgc3BlYyA9IG1vZHVsZS5fX3NwZWNfXwogICAgICAgICBleGNlcHQgQXR0cmlidXRlRXJyb3I6Ci0gICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCd7fS5fX3NwZWNfXyBpcyBub3Qgc2V0Jy5mb3JtYXQobmFtZSkpCisgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCd7fS5fX3NwZWNfXyBpcyBub3Qgc2V0Jy5mb3JtYXQobmFtZSkpIGZyb20gTm9uZQogICAgICAgICBlbHNlOgogICAgICAgICAgICAgaWYgc3BlYyBpcyBOb25lOgogICAgICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoJ3t9Ll9fc3BlY19fIGlzIE5vbmUnLmZvcm1hdChuYW1lKSkKQEAgLTk0LDcgKzk2LDcgQEAKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgc3BlYyA9IG1vZHVsZS5fX3NwZWNfXwogICAgICAgICBleGNlcHQgQXR0cmlidXRlRXJyb3I6Ci0gICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCd7fS5fX3NwZWNfXyBpcyBub3Qgc2V0Jy5mb3JtYXQobmFtZSkpCisgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCd7fS5fX3NwZWNfXyBpcyBub3Qgc2V0Jy5mb3JtYXQobmFtZSkpIGZyb20gTm9uZQogICAgICAgICBlbHNlOgogICAgICAgICAgICAgaWYgc3BlYyBpcyBOb25lOgogICAgICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoJ3t9Ll9fc3BlY19fIGlzIE5vbmUnLmZvcm1hdChuYW1lKSkKQEAgLTIwMCwzICsyMDIsOTQgQEAKICAgICAgICAgICAgIHJldHVybiBmeG4oc2VsZiwgbW9kdWxlLCAqYXJncywgKiprd2FyZ3MpCiAKICAgICByZXR1cm4gbW9kdWxlX2Zvcl9sb2FkZXJfd3JhcHBlcgorCisKK2NsYXNzIF9Nb2R1bGUodHlwZXMuTW9kdWxlVHlwZSk6CisKKyAgICAiIiJBIHN1YmNsYXNzIG9mIHRoZSBtb2R1bGUgdHlwZSB0byBhbGxvdyBfX2NsYXNzX18gbWFuaXB1bGF0aW9uLiIiIgorCisKK2NsYXNzIF9MYXp5TW9kdWxlKHR5cGVzLk1vZHVsZVR5cGUpOgorCisgICAgIiIiQSBzdWJjbGFzcyBvZiB0aGUgbW9kdWxlIHR5cGUgd2hpY2ggdHJpZ2dlcnMgbG9hZGluZyB1cG9uIGF0dHJpYnV0ZSBhY2Nlc3MuIiIiCisKKyAgICBkZWYgX19nZXRhdHRyaWJ1dGVfXyhzZWxmLCBhdHRyKToKKyAgICAgICAgIiIiVHJpZ2dlciB0aGUgbG9hZCBvZiB0aGUgbW9kdWxlIGFuZCByZXR1cm4gdGhlIGF0dHJpYnV0ZS4iIiIKKyAgICAgICAgIyBBbGwgbW9kdWxlIG1ldGFkYXRhIG11c3QgYmUgZ2FybmVyZWQgZnJvbSBfX3NwZWNfXyBpbiBvcmRlciB0byBhdm9pZAorICAgICAgICAjIHVzaW5nIG11dGF0ZWQgdmFsdWVzLgorICAgICAgICAjIFN0b3AgdHJpZ2dlcmluZyB0aGlzIG1ldGhvZC4KKyAgICAgICAgc2VsZi5fX2NsYXNzX18gPSBfTW9kdWxlCisgICAgICAgICMgR2V0IHRoZSBvcmlnaW5hbCBuYW1lIHRvIG1ha2Ugc3VyZSBubyBvYmplY3Qgc3Vic3RpdHV0aW9uIG9jY3VycmVkCisgICAgICAgICMgaW4gc3lzLm1vZHVsZXMuCisgICAgICAgIG9yaWdpbmFsX25hbWUgPSBzZWxmLl9fc3BlY19fLm5hbWUKKyAgICAgICAgIyBGaWd1cmUgb3V0IGV4YWN0bHkgd2hhdCBhdHRyaWJ1dGVzIHdlcmUgbXV0YXRlZCBiZXR3ZWVuIHRoZSBjcmVhdGlvbgorICAgICAgICAjIG9mIHRoZSBtb2R1bGUgYW5kIG5vdy4KKyAgICAgICAgYXR0cnNfdGhlbiA9IHNlbGYuX19zcGVjX18ubG9hZGVyX3N0YXRlCisgICAgICAgIGF0dHJzX25vdyA9IHNlbGYuX19kaWN0X18KKyAgICAgICAgYXR0cnNfdXBkYXRlZCA9IHt9CisgICAgICAgIGZvciBrZXksIHZhbHVlIGluIGF0dHJzX25vdy5pdGVtcygpOgorICAgICAgICAgICAgIyBDb2RlIHRoYXQgc2V0IHRoZSBhdHRyaWJ1dGUgbWF5IGhhdmUga2VwdCBhIHJlZmVyZW5jZSB0byB0aGUKKyAgICAgICAgICAgICMgYXNzaWduZWQgb2JqZWN0LCBtYWtpbmcgaWRlbnRpdHkgbW9yZSBpbXBvcnRhbnQgdGhhbiBlcXVhbGl0eS4KKyAgICAgICAgICAgIGlmIGtleSBub3QgaW4gYXR0cnNfdGhlbjoKKyAgICAgICAgICAgICAgICBhdHRyc191cGRhdGVkW2tleV0gPSB2YWx1ZQorICAgICAgICAgICAgZWxpZiBpZChhdHRyc19ub3dba2V5XSkgIT0gaWQoYXR0cnNfdGhlbltrZXldKToKKyAgICAgICAgICAgICAgICBhdHRyc191cGRhdGVkW2tleV0gPSB2YWx1ZQorICAgICAgICBzZWxmLl9fc3BlY19fLmxvYWRlci5leGVjX21vZHVsZShzZWxmKQorICAgICAgICAjIElmIGV4ZWNfbW9kdWxlKCkgd2FzIHVzZWQgZGlyZWN0bHkgdGhlcmUgaXMgbm8gZ3VhcmFudGVlIHRoZSBtb2R1bGUKKyAgICAgICAgIyBvYmplY3Qgd2FzIHB1dCBpbnRvIHN5cy5tb2R1bGVzLgorICAgICAgICBpZiBvcmlnaW5hbF9uYW1lIGluIHN5cy5tb2R1bGVzOgorICAgICAgICAgICAgaWYgaWQoc2VsZikgIT0gaWQoc3lzLm1vZHVsZXNbb3JpZ2luYWxfbmFtZV0pOgorICAgICAgICAgICAgICAgIG1zZyA9ICgnbW9kdWxlIG9iamVjdCBmb3IgeyFyfSBzdWJzdGl0dXRlZCBpbiBzeXMubW9kdWxlcyAnCisgICAgICAgICAgICAgICAgICAgICAgICdkdXJpbmcgYSBsYXp5IGxvYWQnKQorICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcihtc2cuZm9ybWF0KG9yaWdpbmFsX25hbWUpKQorICAgICAgICAjIFVwZGF0ZSBhZnRlciBsb2FkaW5nIHNpbmNlIHRoYXQncyB3aGF0IHdvdWxkIGhhcHBlbiBpbiBhbiBlYWdlcgorICAgICAgICAjIGxvYWRpbmcgc2l0dWF0aW9uLgorICAgICAgICBzZWxmLl9fZGljdF9fLnVwZGF0ZShhdHRyc191cGRhdGVkKQorICAgICAgICByZXR1cm4gZ2V0YXR0cihzZWxmLCBhdHRyKQorCisgICAgZGVmIF9fZGVsYXR0cl9fKHNlbGYsIGF0dHIpOgorICAgICAgICAiIiJUcmlnZ2VyIHRoZSBsb2FkIGFuZCB0aGVuIHBlcmZvcm0gdGhlIGRlbGV0aW9uLiIiIgorICAgICAgICAjIFRvIHRyaWdnZXIgdGhlIGxvYWQgYW5kIHJhaXNlIGFuIGV4Y2VwdGlvbiBpZiB0aGUgYXR0cmlidXRlCisgICAgICAgICMgZG9lc24ndCBleGlzdC4KKyAgICAgICAgc2VsZi5fX2dldGF0dHJpYnV0ZV9fKGF0dHIpCisgICAgICAgIGRlbGF0dHIoc2VsZiwgYXR0cikKKworCitjbGFzcyBMYXp5TG9hZGVyKGFiYy5Mb2FkZXIpOgorCisgICAgIiIiQSBsb2FkZXIgdGhhdCBjcmVhdGVzIGEgbW9kdWxlIHdoaWNoIGRlZmVycyBsb2FkaW5nIHVudGlsIGF0dHJpYnV0ZSBhY2Nlc3MuIiIiCisKKyAgICBAc3RhdGljbWV0aG9kCisgICAgZGVmIF9fY2hlY2tfZWFnZXJfbG9hZGVyKGxvYWRlcik6CisgICAgICAgIGlmIG5vdCBoYXNhdHRyKGxvYWRlciwgJ2V4ZWNfbW9kdWxlJyk6CisgICAgICAgICAgICByYWlzZSBUeXBlRXJyb3IoJ2xvYWRlciBtdXN0IGRlZmluZSBleGVjX21vZHVsZSgpJykKKyAgICAgICAgZWxpZiBoYXNhdHRyKGxvYWRlci5fX2NsYXNzX18sICdjcmVhdGVfbW9kdWxlJyk6CisgICAgICAgICAgICBpZiBhYmMuTG9hZGVyLmNyZWF0ZV9tb2R1bGUgIT0gbG9hZGVyLl9fY2xhc3NfXy5jcmVhdGVfbW9kdWxlOgorICAgICAgICAgICAgICAgICMgT25seSBjYXJlIGlmIGNyZWF0ZV9tb2R1bGUoKSBpcyBvdmVycmlkZGVuIGluIGEgc3ViY2xhc3Mgb2YKKyAgICAgICAgICAgICAgICAjIGltcG9ydGxpYi5hYmMuTG9hZGVyLgorICAgICAgICAgICAgICAgIHJhaXNlIFR5cGVFcnJvcignbG9hZGVyIGNhbm5vdCBkZWZpbmUgY3JlYXRlX21vZHVsZSgpJykKKworICAgIEBjbGFzc21ldGhvZAorICAgIGRlZiBmYWN0b3J5KGNscywgbG9hZGVyKToKKyAgICAgICAgIiIiQ29uc3RydWN0IGEgY2FsbGFibGUgd2hpY2ggcmV0dXJucyB0aGUgZWFnZXIgbG9hZGVyIG1hZGUgbGF6eS4iIiIKKyAgICAgICAgY2xzLl9fY2hlY2tfZWFnZXJfbG9hZGVyKGxvYWRlcikKKyAgICAgICAgcmV0dXJuIGxhbWJkYSAqYXJncywgKiprd2FyZ3M6IGNscyhsb2FkZXIoKmFyZ3MsICoqa3dhcmdzKSkKKworICAgIGRlZiBfX2luaXRfXyhzZWxmLCBsb2FkZXIpOgorICAgICAgICBzZWxmLl9fY2hlY2tfZWFnZXJfbG9hZGVyKGxvYWRlcikKKyAgICAgICAgc2VsZi5sb2FkZXIgPSBsb2FkZXIKKworICAgIGRlZiBjcmVhdGVfbW9kdWxlKHNlbGYsIHNwZWMpOgorICAgICAgICAiIiJDcmVhdGUgYSBtb2R1bGUgd2hpY2ggY2FuIGhhdmUgaXRzIF9fY2xhc3NfXyBtYW5pcHVsYXRlZC4iIiIKKyAgICAgICAgcmV0dXJuIF9Nb2R1bGUoc3BlYy5uYW1lKQorCisgICAgZGVmIGV4ZWNfbW9kdWxlKHNlbGYsIG1vZHVsZSk6CisgICAgICAgICIiIk1ha2UgdGhlIG1vZHVsZSBsb2FkIGxhemlseS4iIiIKKyAgICAgICAgbW9kdWxlLl9fc3BlY19fLmxvYWRlciA9IHNlbGYubG9hZGVyCisgICAgICAgIG1vZHVsZS5fX2xvYWRlcl9fID0gc2VsZi5sb2FkZXIKKyAgICAgICAgIyBEb24ndCBuZWVkIHRvIHdvcnJ5IGFib3V0IGRlZXAtY29weWluZyBhcyB0cnlpbmcgdG8gc2V0IGFuIGF0dHJpYnV0ZQorICAgICAgICAjIG9uIGFuIG9iamVjdCB3b3VsZCBoYXZlIHRyaWdnZXJlZCB0aGUgbG9hZCwKKyAgICAgICAgIyBlLmcuIGBgbW9kdWxlLl9fc3BlY19fLmxvYWRlciA9IE5vbmVgYCB3b3VsZCB0cmlnZ2VyIGEgbG9hZCBmcm9tCisgICAgICAgICMgdHJ5aW5nIHRvIGFjY2VzcyBtb2R1bGUuX19zcGVjX18uCisgICAgICAgIG1vZHVsZS5fX3NwZWNfXy5sb2FkZXJfc3RhdGUgPSBtb2R1bGUuX19kaWN0X18uY29weSgpCisgICAgICAgIG1vZHVsZS5fX2NsYXNzX18gPSBfTGF6eU1vZHVsZQpkaWZmIC0tZ2l0IGEvTGliL2luc3BlY3QucHkgYi9MaWIvaW5zcGVjdC5weQppbmRleCAxNjQxODI0Li45OGQ2NjVkIDEwMDY0NAotLS0gYS9MaWIvaW5zcGVjdC5weQorKysgYi9MaWIvaW5zcGVjdC5weQpAQCAtMTcsNyArMTcsNyBAQAogICAgIGdldGNsYXNzdHJlZSgpIC0gYXJyYW5nZSBjbGFzc2VzIHNvIGFzIHRvIHJlcHJlc2VudCB0aGVpciBoaWVyYXJjaHkKIAogICAgIGdldGFyZ3NwZWMoKSwgZ2V0YXJndmFsdWVzKCksIGdldGNhbGxhcmdzKCkgLSBnZXQgaW5mbyBhYm91dCBmdW5jdGlvbiBhcmd1bWVudHMKLSAgICBnZXRmdWxsYXJnc3BlYygpIC0gc2FtZSwgd2l0aCBzdXBwb3J0IGZvciBQeXRob24tMzAwMCBmZWF0dXJlcworICAgIGdldGZ1bGxhcmdzcGVjKCkgLSBzYW1lLCB3aXRoIHN1cHBvcnQgZm9yIFB5dGhvbiAzIGZlYXR1cmVzCiAgICAgZm9ybWF0YXJnc3BlYygpLCBmb3JtYXRhcmd2YWx1ZXMoKSAtIGZvcm1hdCBhbiBhcmd1bWVudCBzcGVjCiAgICAgZ2V0b3V0ZXJmcmFtZXMoKSwgZ2V0aW5uZXJmcmFtZXMoKSAtIGdldCBpbmZvIGFib3V0IGZyYW1lcwogICAgIGN1cnJlbnRmcmFtZSgpIC0gZ2V0IHRoZSBjdXJyZW50IHN0YWNrIGZyYW1lCkBAIC0zMiw2ICszMiw3IEBACiAgICAgICAgICAgICAgICdZdXJ5IFNlbGl2YW5vdiA8eXNlbGl2YW5vdkBzcHJ5bWl4LmNvbT4nKQogCiBpbXBvcnQgYXN0CitpbXBvcnQgZW51bQogaW1wb3J0IGltcG9ydGxpYi5tYWNoaW5lcnkKIGltcG9ydCBpdGVydG9vbHMKIGltcG9ydCBsaW5lY2FjaGUKQEAgLTgyMiw2ICs4MjMsNyBAQAogICAgIGNvcnJlc3BvbmRpbmcgdG8gdGhlIG9iamVjdCBhbmQgdGhlIGxpbmUgbnVtYmVyIGluZGljYXRlcyB3aGVyZSBpbiB0aGUKICAgICBvcmlnaW5hbCBzb3VyY2UgZmlsZSB0aGUgZmlyc3QgbGluZSBvZiBjb2RlIHdhcyBmb3VuZC4gIEFuIE9TRXJyb3IgaXMKICAgICByYWlzZWQgaWYgdGhlIHNvdXJjZSBjb2RlIGNhbm5vdCBiZSByZXRyaWV2ZWQuIiIiCisgICAgb2JqZWN0ID0gdW53cmFwKG9iamVjdCkKICAgICBsaW5lcywgbG51bSA9IGZpbmRzb3VyY2Uob2JqZWN0KQogCiAgICAgaWYgaXNtb2R1bGUob2JqZWN0KTogcmV0dXJuIGxpbmVzLCAwCkBAIC05MTksMTMgKzkyMSwxMiBAQAogZGVmIGdldGFyZ3NwZWMoZnVuYyk6CiAgICAgIiIiR2V0IHRoZSBuYW1lcyBhbmQgZGVmYXVsdCB2YWx1ZXMgb2YgYSBmdW5jdGlvbidzIGFyZ3VtZW50cy4KIAotICAgIEEgdHVwbGUgb2YgZm91ciB0aGluZ3MgaXMgcmV0dXJuZWQ6IChhcmdzLCB2YXJhcmdzLCB2YXJrdywgZGVmYXVsdHMpLgotICAgICdhcmdzJyBpcyBhIGxpc3Qgb2YgdGhlIGFyZ3VtZW50IG5hbWVzLgotICAgICdhcmdzJyB3aWxsIGluY2x1ZGUga2V5d29yZC1vbmx5IGFyZ3VtZW50IG5hbWVzLgotICAgICd2YXJhcmdzJyBhbmQgJ3Zhcmt3JyBhcmUgdGhlIG5hbWVzIG9mIHRoZSAqIGFuZCAqKiBhcmd1bWVudHMgb3IgTm9uZS4KKyAgICBBIHR1cGxlIG9mIGZvdXIgdGhpbmdzIGlzIHJldHVybmVkOiAoYXJncywgdmFyYXJncywga2V5d29yZHMsIGRlZmF1bHRzKS4KKyAgICAnYXJncycgaXMgYSBsaXN0IG9mIHRoZSBhcmd1bWVudCBuYW1lcywgaW5jbHVkaW5nIGtleXdvcmQtb25seSBhcmd1bWVudCBuYW1lcy4KKyAgICAndmFyYXJncycgYW5kICdrZXl3b3JkcycgYXJlIHRoZSBuYW1lcyBvZiB0aGUgKiBhbmQgKiogYXJndW1lbnRzIG9yIE5vbmUuCiAgICAgJ2RlZmF1bHRzJyBpcyBhbiBuLXR1cGxlIG9mIHRoZSBkZWZhdWx0IHZhbHVlcyBvZiB0aGUgbGFzdCBuIGFyZ3VtZW50cy4KIAotICAgIFVzZSB0aGUgZ2V0ZnVsbGFyZ3NwZWMoKSBBUEkgZm9yIFB5dGhvbi0zMDAwIGNvZGUsIGFzIGFubm90YXRpb25zCisgICAgVXNlIHRoZSBnZXRmdWxsYXJnc3BlYygpIEFQSSBmb3IgUHl0aG9uIDMgY29kZSwgYXMgYW5ub3RhdGlvbnMKICAgICBhbmQga2V5d29yZCBhcmd1bWVudHMgYXJlIHN1cHBvcnRlZC4gZ2V0YXJnc3BlYygpIHdpbGwgcmFpc2UgVmFsdWVFcnJvcgogICAgIGlmIHRoZSBmdW5jIGhhcyBlaXRoZXIgYW5ub3RhdGlvbnMgb3Iga2V5d29yZCBhcmd1bWVudHMuCiAgICAgIiIiCkBAIC05NzIsOSArOTczLDEwIEBACiAgICAgICAgICMgZ2V0ZnVsbGFyZ3NwZWMoKSBoaXN0b3JpY2FsbHkgaWdub3JlZCBfX3dyYXBwZWRfXyBhdHRyaWJ1dGVzLAogICAgICAgICAjIHNvIHdlIGVuc3VyZSB0aGF0IHJlbWFpbnMgdGhlIGNhc2UgaW4gMy4zKwogCi0gICAgICAgIHNpZyA9IF9zaWduYXR1cmVfaW50ZXJuYWwoZnVuYywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb2xsb3dfd3JhcHBlcl9jaGFpbnM9RmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2tpcF9ib3VuZF9hcmc9RmFsc2UpCisgICAgICAgIHNpZyA9IF9zaWduYXR1cmVfZnJvbV9jYWxsYWJsZShmdW5jLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9sbG93X3dyYXBwZXJfY2hhaW5zPUZhbHNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2tpcF9ib3VuZF9hcmc9RmFsc2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaWdjbHM9U2lnbmF0dXJlKQogICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZXg6CiAgICAgICAgICMgTW9zdCBvZiB0aGUgdGltZXMgJ3NpZ25hdHVyZScgd2lsbCByYWlzZSBWYWx1ZUVycm9yLgogICAgICAgICAjIEJ1dCwgaXQgY2FuIGFsc28gcmFpc2UgQXR0cmlidXRlRXJyb3IsIGFuZCwgbWF5YmUgc29tZXRoaW5nCkBAIC0xMDQzLDggKzEwNDUsOCBAQAogZGVmIGZvcm1hdGFubm90YXRpb24oYW5ub3RhdGlvbiwgYmFzZV9tb2R1bGU9Tm9uZSk6CiAgICAgaWYgaXNpbnN0YW5jZShhbm5vdGF0aW9uLCB0eXBlKToKICAgICAgICAgaWYgYW5ub3RhdGlvbi5fX21vZHVsZV9fIGluICgnYnVpbHRpbnMnLCBiYXNlX21vZHVsZSk6Ci0gICAgICAgICAgICByZXR1cm4gYW5ub3RhdGlvbi5fX25hbWVfXwotICAgICAgICByZXR1cm4gYW5ub3RhdGlvbi5fX21vZHVsZV9fKycuJythbm5vdGF0aW9uLl9fbmFtZV9fCisgICAgICAgICAgICByZXR1cm4gYW5ub3RhdGlvbi5fX3F1YWxuYW1lX18KKyAgICAgICAgcmV0dXJuIGFubm90YXRpb24uX19tb2R1bGVfXysnLicrYW5ub3RhdGlvbi5fX3F1YWxuYW1lX18KICAgICByZXR1cm4gcmVwcihhbm5vdGF0aW9uKQogCiBkZWYgZm9ybWF0YW5ub3RhdGlvbnJlbGF0aXZldG8ob2JqZWN0KToKQEAgLTEzMTcsNiArMTMxOSw4IEBACiAgICAgIyBGcmFtZVR5cGUuZl9saW5lbm8gaXMgbm93IGEgZGVzY3JpcHRvciB0aGF0IGdyb3ZlbHMgY29fbG5vdGFiCiAgICAgcmV0dXJuIGZyYW1lLmZfbGluZW5vCiAKK0ZyYW1lSW5mbyA9IG5hbWVkdHVwbGUoJ0ZyYW1lSW5mbycsICgnZnJhbWUnLCkgKyBUcmFjZWJhY2suX2ZpZWxkcykKKwogZGVmIGdldG91dGVyZnJhbWVzKGZyYW1lLCBjb250ZXh0PTEpOgogICAgICIiIkdldCBhIGxpc3Qgb2YgcmVjb3JkcyBmb3IgYSBmcmFtZSBhbmQgYWxsIGhpZ2hlciAoY2FsbGluZykgZnJhbWVzLgogCkBAIC0xMzI0LDcgKzEzMjgsOCBAQAogICAgIG5hbWUsIGEgbGlzdCBvZiBsaW5lcyBvZiBjb250ZXh0LCBhbmQgaW5kZXggd2l0aGluIHRoZSBjb250ZXh0LiIiIgogICAgIGZyYW1lbGlzdCA9IFtdCiAgICAgd2hpbGUgZnJhbWU6Ci0gICAgICAgIGZyYW1lbGlzdC5hcHBlbmQoKGZyYW1lLCkgKyBnZXRmcmFtZWluZm8oZnJhbWUsIGNvbnRleHQpKQorICAgICAgICBmcmFtZWluZm8gPSAoZnJhbWUsKSArIGdldGZyYW1laW5mbyhmcmFtZSwgY29udGV4dCkKKyAgICAgICAgZnJhbWVsaXN0LmFwcGVuZChGcmFtZUluZm8oKmZyYW1laW5mbykpCiAgICAgICAgIGZyYW1lID0gZnJhbWUuZl9iYWNrCiAgICAgcmV0dXJuIGZyYW1lbGlzdAogCkBAIC0xMzM1LDcgKzEzNDAsOCBAQAogICAgIG5hbWUsIGEgbGlzdCBvZiBsaW5lcyBvZiBjb250ZXh0LCBhbmQgaW5kZXggd2l0aGluIHRoZSBjb250ZXh0LiIiIgogICAgIGZyYW1lbGlzdCA9IFtdCiAgICAgd2hpbGUgdGI6Ci0gICAgICAgIGZyYW1lbGlzdC5hcHBlbmQoKHRiLnRiX2ZyYW1lLCkgKyBnZXRmcmFtZWluZm8odGIsIGNvbnRleHQpKQorICAgICAgICBmcmFtZWluZm8gPSAodGIudGJfZnJhbWUsKSArIGdldGZyYW1laW5mbyh0YiwgY29udGV4dCkKKyAgICAgICAgZnJhbWVsaXN0LmFwcGVuZChGcmFtZUluZm8oKmZyYW1laW5mbykpCiAgICAgICAgIHRiID0gdGIudGJfbmV4dAogICAgIHJldHVybiBmcmFtZWxpc3QKIApAQCAtMTUwMSw2ICsxNTA3LDEwIEBACiAKIAogZGVmIF9zaWduYXR1cmVfZ2V0X3VzZXJfZGVmaW5lZF9tZXRob2QoY2xzLCBtZXRob2RfbmFtZSk6CisgICAgIiIiUHJpdmF0ZSBoZWxwZXIuIENoZWNrcyBpZiBgYGNsc2BgIGhhcyBhbiBhdHRyaWJ1dGUKKyAgICBuYW1lZCBgYG1ldGhvZF9uYW1lYGAgYW5kIHJldHVybnMgaXQgb25seSBpZiBpdCBpcyBhCisgICAgcHVyZSBweXRob24gZnVuY3Rpb24uCisgICAgIiIiCiAgICAgdHJ5OgogICAgICAgICBtZXRoID0gZ2V0YXR0cihjbHMsIG1ldGhvZF9uYW1lKQogICAgIGV4Y2VwdCBBdHRyaWJ1dGVFcnJvcjoKQEAgLTE1MTMsOSArMTUyMywxMCBAQAogCiAKIGRlZiBfc2lnbmF0dXJlX2dldF9wYXJ0aWFsKHdyYXBwZWRfc2lnLCBwYXJ0aWFsLCBleHRyYV9hcmdzPSgpKToKLSAgICAjIEludGVybmFsIGhlbHBlciB0byBjYWxjdWxhdGUgaG93ICd3cmFwcGVkX3NpZycgc2lnbmF0dXJlIHdpbGwKLSAgICAjIGxvb2sgbGlrZSBhZnRlciBhcHBseWluZyBhICdmdW5jdG9vbHMucGFydGlhbCcgb2JqZWN0IChvciBhbGlrZSkKLSAgICAjIG9uIGl0LgorICAgICIiIlByaXZhdGUgaGVscGVyIHRvIGNhbGN1bGF0ZSBob3cgJ3dyYXBwZWRfc2lnJyBzaWduYXR1cmUgd2lsbAorICAgIGxvb2sgbGlrZSBhZnRlciBhcHBseWluZyBhICdmdW5jdG9vbHMucGFydGlhbCcgb2JqZWN0IChvciBhbGlrZSkKKyAgICBvbiBpdC4KKyAgICAiIiIKIAogICAgIG9sZF9wYXJhbXMgPSB3cmFwcGVkX3NpZy5wYXJhbWV0ZXJzCiAgICAgbmV3X3BhcmFtcyA9IE9yZGVyZWREaWN0KG9sZF9wYXJhbXMuaXRlbXMoKSkKQEAgLTE1ODgsOCArMTU5OSw5IEBACiAKIAogZGVmIF9zaWduYXR1cmVfYm91bmRfbWV0aG9kKHNpZyk6Ci0gICAgIyBJbnRlcm5hbCBoZWxwZXIgdG8gdHJhbnNmb3JtIHNpZ25hdHVyZXMgZm9yIHVuYm91bmQKLSAgICAjIGZ1bmN0aW9ucyB0byBib3VuZCBtZXRob2RzCisgICAgIiIiUHJpdmF0ZSBoZWxwZXIgdG8gdHJhbnNmb3JtIHNpZ25hdHVyZXMgZm9yIHVuYm91bmQKKyAgICBmdW5jdGlvbnMgdG8gYm91bmQgbWV0aG9kcy4KKyAgICAiIiIKIAogICAgIHBhcmFtcyA9IHR1cGxlKHNpZy5wYXJhbWV0ZXJzLnZhbHVlcygpKQogCkBAIC0xNjEzLDggKzE2MjUsOSBAQAogCiAKIGRlZiBfc2lnbmF0dXJlX2lzX2J1aWx0aW4ob2JqKToKLSAgICAjIEludGVybmFsIGhlbHBlciB0byB0ZXN0IGlmIGBvYmpgIGlzIGEgY2FsbGFibGUgdGhhdCBtaWdodAotICAgICMgc3VwcG9ydCBBcmd1bWVudCBDbGluaWMncyBfX3RleHRfc2lnbmF0dXJlX18gcHJvdG9jb2wuCisgICAgIiIiUHJpdmF0ZSBoZWxwZXIgdG8gdGVzdCBpZiBgb2JqYCBpcyBhIGNhbGxhYmxlIHRoYXQgbWlnaHQKKyAgICBzdXBwb3J0IEFyZ3VtZW50IENsaW5pYydzIF9fdGV4dF9zaWduYXR1cmVfXyBwcm90b2NvbC4KKyAgICAiIiIKICAgICByZXR1cm4gKGlzYnVpbHRpbihvYmopIG9yCiAgICAgICAgICAgICBpc21ldGhvZGRlc2NyaXB0b3Iob2JqKSBvcgogICAgICAgICAgICAgaXNpbnN0YW5jZShvYmosIF9Ob25Vc2VyRGVmaW5lZENhbGxhYmxlcykgb3IKQEAgLTE2MjQsMTAgKzE2MzcsMTEgQEAKIAogCiBkZWYgX3NpZ25hdHVyZV9pc19mdW5jdGlvbmxpa2Uob2JqKToKLSAgICAjIEludGVybmFsIGhlbHBlciB0byB0ZXN0IGlmIGBvYmpgIGlzIGEgZHVjayB0eXBlIG9mIEZ1bmN0aW9uVHlwZS4KLSAgICAjIEEgZ29vZCBleGFtcGxlIG9mIHN1Y2ggb2JqZWN0cyBhcmUgZnVuY3Rpb25zIGNvbXBpbGVkIHdpdGgKLSAgICAjIEN5dGhvbiwgd2hpY2ggaGF2ZSBhbGwgYXR0cmlidXRlcyB0aGF0IGEgcHVyZSBQeXRob24gZnVuY3Rpb24KLSAgICAjIHdvdWxkIGhhdmUsIGJ1dCBoYXZlIHRoZWlyIGNvZGUgc3RhdGljYWxseSBjb21waWxlZC4KKyAgICAiIiJQcml2YXRlIGhlbHBlciB0byB0ZXN0IGlmIGBvYmpgIGlzIGEgZHVjayB0eXBlIG9mIEZ1bmN0aW9uVHlwZS4KKyAgICBBIGdvb2QgZXhhbXBsZSBvZiBzdWNoIG9iamVjdHMgYXJlIGZ1bmN0aW9ucyBjb21waWxlZCB3aXRoCisgICAgQ3l0aG9uLCB3aGljaCBoYXZlIGFsbCBhdHRyaWJ1dGVzIHRoYXQgYSBwdXJlIFB5dGhvbiBmdW5jdGlvbgorICAgIHdvdWxkIGhhdmUsIGJ1dCBoYXZlIHRoZWlyIGNvZGUgc3RhdGljYWxseSBjb21waWxlZC4KKyAgICAiIiIKIAogICAgIGlmIG5vdCBjYWxsYWJsZShvYmopIG9yIGlzY2xhc3Mob2JqKToKICAgICAgICAgIyBBbGwgZnVuY3Rpb24tbGlrZSBvYmplY3RzIGFyZSBvYnZpb3VzbHkgY2FsbGFibGVzLApAQCAtMTY0OCwxMSArMTY2MiwxMiBAQAogCiAKIGRlZiBfc2lnbmF0dXJlX2dldF9ib3VuZF9wYXJhbShzcGVjKToKLSAgICAjIEludGVybmFsIGhlbHBlciB0byBnZXQgZmlyc3QgcGFyYW1ldGVyIG5hbWUgZnJvbSBhCi0gICAgIyBfX3RleHRfc2lnbmF0dXJlX18gb2YgYSBidWlsdGluIG1ldGhvZCwgd2hpY2ggc2hvdWxkCi0gICAgIyBiZSBpbiB0aGUgZm9sbG93aW5nIGZvcm1hdDogJygkcGFyYW0xLCAuLi4pJy4KLSAgICAjIEFzc3VtcHRpb25zIGFyZSB0aGF0IHRoZSBmaXJzdCBhcmd1bWVudCB3b24ndCBoYXZlCi0gICAgIyBhIGRlZmF1bHQgdmFsdWUgb3IgYW4gYW5ub3RhdGlvbi4KKyAgICAiIiIgUHJpdmF0ZSBoZWxwZXIgdG8gZ2V0IGZpcnN0IHBhcmFtZXRlciBuYW1lIGZyb20gYQorICAgIF9fdGV4dF9zaWduYXR1cmVfXyBvZiBhIGJ1aWx0aW4gbWV0aG9kLCB3aGljaCBzaG91bGQKKyAgICBiZSBpbiB0aGUgZm9sbG93aW5nIGZvcm1hdDogJygkcGFyYW0xLCAuLi4pJy4KKyAgICBBc3N1bXB0aW9ucyBhcmUgdGhhdCB0aGUgZmlyc3QgYXJndW1lbnQgd29uJ3QgaGF2ZQorICAgIGEgZGVmYXVsdCB2YWx1ZSBvciBhbiBhbm5vdGF0aW9uLgorICAgICIiIgogCiAgICAgYXNzZXJ0IHNwZWMuc3RhcnRzd2l0aCgnKCQnKQogCkBAIC0xNjcxLDcgKzE2ODYsOSBAQAogCiBkZWYgX3NpZ25hdHVyZV9zdHJpcF9ub25fcHl0aG9uX3N5bnRheChzaWduYXR1cmUpOgogICAgICIiIgotICAgIFRha2VzIGEgc2lnbmF0dXJlIGluIEFyZ3VtZW50IENsaW5pYydzIGV4dGVuZGVkIHNpZ25hdHVyZSBmb3JtYXQuCisgICAgUHJpdmF0ZSBoZWxwZXIgZnVuY3Rpb24uIFRha2VzIGEgc2lnbmF0dXJlIGluIEFyZ3VtZW50IENsaW5pYydzCisgICAgZXh0ZW5kZWQgc2lnbmF0dXJlIGZvcm1hdC4KKwogICAgIFJldHVybnMgYSB0dXBsZSBvZiB0aHJlZSB0aGluZ3M6CiAgICAgICAqIHRoYXQgc2lnbmF0dXJlIHJlLXJlbmRlcmVkIGluIHN0YW5kYXJkIFB5dGhvbiBzeW50YXgsCiAgICAgICAqIHRoZSBpbmRleCBvZiB0aGUgInNlbGYiIHBhcmFtZXRlciAoZ2VuZXJhbGx5IDApLCBvciBOb25lIGlmCkBAIC0xNzQwLDggKzE3NTcsMTAgQEAKIAogCiBkZWYgX3NpZ25hdHVyZV9mcm9tc3RyKGNscywgb2JqLCBzLCBza2lwX2JvdW5kX2FyZz1UcnVlKToKLSAgICAjIEludGVybmFsIGhlbHBlciB0byBwYXJzZSBjb250ZW50IG9mICdfX3RleHRfc2lnbmF0dXJlX18nCi0gICAgIyBhbmQgcmV0dXJuIGEgU2lnbmF0dXJlIGJhc2VkIG9uIGl0CisgICAgIiIiUHJpdmF0ZSBoZWxwZXIgdG8gcGFyc2UgY29udGVudCBvZiAnX190ZXh0X3NpZ25hdHVyZV9fJworICAgIGFuZCByZXR1cm4gYSBTaWduYXR1cmUgYmFzZWQgb24gaXQuCisgICAgIiIiCisKICAgICBQYXJhbWV0ZXIgPSBjbHMuX3BhcmFtZXRlcl9jbHMKIAogICAgIGNsZWFuX3NpZ25hdHVyZSwgc2VsZl9wYXJhbWV0ZXIsIGxhc3RfcG9zaXRpb25hbF9vbmx5ID0gXApAQCAtMTg3OSw4ICsxODk4LDEwIEBACiAKIAogZGVmIF9zaWduYXR1cmVfZnJvbV9idWlsdGluKGNscywgZnVuYywgc2tpcF9ib3VuZF9hcmc9VHJ1ZSk6Ci0gICAgIyBJbnRlcm5hbCBoZWxwZXIgZnVuY3Rpb24gdG8gZ2V0IHNpZ25hdHVyZSBmb3IKLSAgICAjIGJ1aWx0aW4gY2FsbGFibGVzCisgICAgIiIiUHJpdmF0ZSBoZWxwZXIgZnVuY3Rpb24gdG8gZ2V0IHNpZ25hdHVyZSBmb3IKKyAgICBidWlsdGluIGNhbGxhYmxlcy4KKyAgICAiIiIKKwogICAgIGlmIG5vdCBfc2lnbmF0dXJlX2lzX2J1aWx0aW4oZnVuYyk6CiAgICAgICAgIHJhaXNlIFR5cGVFcnJvcigieyFyfSBpcyBub3QgYSBQeXRob24gYnVpbHRpbiAiCiAgICAgICAgICAgICAgICAgICAgICAgICAiZnVuY3Rpb24iLmZvcm1hdChmdW5jKSkKQEAgLTE4OTIsNyArMTkxMywxNCBAQAogICAgIHJldHVybiBfc2lnbmF0dXJlX2Zyb21zdHIoY2xzLCBmdW5jLCBzLCBza2lwX2JvdW5kX2FyZykKIAogCi1kZWYgX3NpZ25hdHVyZV9pbnRlcm5hbChvYmosIGZvbGxvd193cmFwcGVyX2NoYWlucz1UcnVlLCBza2lwX2JvdW5kX2FyZz1UcnVlKToKK2RlZiBfc2lnbmF0dXJlX2Zyb21fY2FsbGFibGUob2JqLCAqLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb2xsb3dfd3JhcHBlcl9jaGFpbnM9VHJ1ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2tpcF9ib3VuZF9hcmc9VHJ1ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2lnY2xzKToKKworICAgICIiIlByaXZhdGUgaGVscGVyIGZ1bmN0aW9uIHRvIGdldCBzaWduYXR1cmUgZm9yIGFyYml0cmFyeQorICAgIGNhbGxhYmxlIG9iamVjdHMuCisgICAgIiIiCiAKICAgICBpZiBub3QgY2FsbGFibGUob2JqKToKICAgICAgICAgcmFpc2UgVHlwZUVycm9yKCd7IXJ9IGlzIG5vdCBhIGNhbGxhYmxlIG9iamVjdCcuZm9ybWF0KG9iaikpCkBAIC0xOTAwLDkgKzE5MjgsMTIgQEAKICAgICBpZiBpc2luc3RhbmNlKG9iaiwgdHlwZXMuTWV0aG9kVHlwZSk6CiAgICAgICAgICMgSW4gdGhpcyBjYXNlIHdlIHNraXAgdGhlIGZpcnN0IHBhcmFtZXRlciBvZiB0aGUgdW5kZXJseWluZwogICAgICAgICAjIGZ1bmN0aW9uICh1c3VhbGx5IGBzZWxmYCBvciBgY2xzYCkuCi0gICAgICAgIHNpZyA9IF9zaWduYXR1cmVfaW50ZXJuYWwob2JqLl9fZnVuY19fLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbGxvd193cmFwcGVyX2NoYWlucywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBza2lwX2JvdW5kX2FyZykKKyAgICAgICAgc2lnID0gX3NpZ25hdHVyZV9mcm9tX2NhbGxhYmxlKAorICAgICAgICAgICAgb2JqLl9fZnVuY19fLAorICAgICAgICAgICAgZm9sbG93X3dyYXBwZXJfY2hhaW5zPWZvbGxvd193cmFwcGVyX2NoYWlucywKKyAgICAgICAgICAgIHNraXBfYm91bmRfYXJnPXNraXBfYm91bmRfYXJnLAorICAgICAgICAgICAgc2lnY2xzPXNpZ2NscykKKwogICAgICAgICBpZiBza2lwX2JvdW5kX2FyZzoKICAgICAgICAgICAgIHJldHVybiBfc2lnbmF0dXJlX2JvdW5kX21ldGhvZChzaWcpCiAgICAgICAgIGVsc2U6CkBAIC0xOTM3LDkgKzE5NjgsMTIgQEAKICAgICAgICAgICAgICMgKHVzdWFsbHkgYHNlbGZgLCBvciBgY2xzYCkgd2lsbCBub3QgYmUgcGFzc2VkCiAgICAgICAgICAgICAjIGF1dG9tYXRpY2FsbHkgKGFzIGZvciBib3VuZG1ldGhvZHMpCiAKLSAgICAgICAgICAgIHdyYXBwZWRfc2lnID0gX3NpZ25hdHVyZV9pbnRlcm5hbChwYXJ0aWFsbWV0aG9kLmZ1bmMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9sbG93X3dyYXBwZXJfY2hhaW5zLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNraXBfYm91bmRfYXJnKQorICAgICAgICAgICAgd3JhcHBlZF9zaWcgPSBfc2lnbmF0dXJlX2Zyb21fY2FsbGFibGUoCisgICAgICAgICAgICAgICAgcGFydGlhbG1ldGhvZC5mdW5jLAorICAgICAgICAgICAgICAgIGZvbGxvd193cmFwcGVyX2NoYWlucz1mb2xsb3dfd3JhcHBlcl9jaGFpbnMsCisgICAgICAgICAgICAgICAgc2tpcF9ib3VuZF9hcmc9c2tpcF9ib3VuZF9hcmcsCisgICAgICAgICAgICAgICAgc2lnY2xzPXNpZ2NscykKKwogICAgICAgICAgICAgc2lnID0gX3NpZ25hdHVyZV9nZXRfcGFydGlhbCh3cmFwcGVkX3NpZywgcGFydGlhbG1ldGhvZCwgKE5vbmUsKSkKIAogICAgICAgICAgICAgZmlyc3Rfd3JhcHBlZF9wYXJhbSA9IHR1cGxlKHdyYXBwZWRfc2lnLnBhcmFtZXRlcnMudmFsdWVzKCkpWzBdCkBAIC0xOTUwLDE2ICsxOTg0LDE4IEBACiAgICAgaWYgaXNmdW5jdGlvbihvYmopIG9yIF9zaWduYXR1cmVfaXNfZnVuY3Rpb25saWtlKG9iaik6CiAgICAgICAgICMgSWYgaXQncyBhIHB1cmUgUHl0aG9uIGZ1bmN0aW9uLCBvciBhbiBvYmplY3QgdGhhdCBpcyBkdWNrIHR5cGUKICAgICAgICAgIyBvZiBhIFB5dGhvbiBmdW5jdGlvbiAoQ3l0aG9uIGZ1bmN0aW9ucywgZm9yIGluc3RhbmNlKSwgdGhlbjoKLSAgICAgICAgcmV0dXJuIFNpZ25hdHVyZS5mcm9tX2Z1bmN0aW9uKG9iaikKKyAgICAgICAgcmV0dXJuIHNpZ2Nscy5mcm9tX2Z1bmN0aW9uKG9iaikKIAogICAgIGlmIF9zaWduYXR1cmVfaXNfYnVpbHRpbihvYmopOgotICAgICAgICByZXR1cm4gX3NpZ25hdHVyZV9mcm9tX2J1aWx0aW4oU2lnbmF0dXJlLCBvYmosCisgICAgICAgIHJldHVybiBfc2lnbmF0dXJlX2Zyb21fYnVpbHRpbihzaWdjbHMsIG9iaiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNraXBfYm91bmRfYXJnPXNraXBfYm91bmRfYXJnKQogCiAgICAgaWYgaXNpbnN0YW5jZShvYmosIGZ1bmN0b29scy5wYXJ0aWFsKToKLSAgICAgICAgd3JhcHBlZF9zaWcgPSBfc2lnbmF0dXJlX2ludGVybmFsKG9iai5mdW5jLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9sbG93X3dyYXBwZXJfY2hhaW5zLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2tpcF9ib3VuZF9hcmcpCisgICAgICAgIHdyYXBwZWRfc2lnID0gX3NpZ25hdHVyZV9mcm9tX2NhbGxhYmxlKAorICAgICAgICAgICAgb2JqLmZ1bmMsCisgICAgICAgICAgICBmb2xsb3dfd3JhcHBlcl9jaGFpbnM9Zm9sbG93X3dyYXBwZXJfY2hhaW5zLAorICAgICAgICAgICAgc2tpcF9ib3VuZF9hcmc9c2tpcF9ib3VuZF9hcmcsCisgICAgICAgICAgICBzaWdjbHM9c2lnY2xzKQogICAgICAgICByZXR1cm4gX3NpZ25hdHVyZV9nZXRfcGFydGlhbCh3cmFwcGVkX3NpZywgb2JqKQogCiAgICAgc2lnID0gTm9uZQpAQCAtMTk3MCwyMyArMjAwNiwyOSBAQAogICAgICAgICAjIGluIGl0cyBtZXRhY2xhc3MKICAgICAgICAgY2FsbCA9IF9zaWduYXR1cmVfZ2V0X3VzZXJfZGVmaW5lZF9tZXRob2QodHlwZShvYmopLCAnX19jYWxsX18nKQogICAgICAgICBpZiBjYWxsIGlzIG5vdCBOb25lOgotICAgICAgICAgICAgc2lnID0gX3NpZ25hdHVyZV9pbnRlcm5hbChjYWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb2xsb3dfd3JhcHBlcl9jaGFpbnMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNraXBfYm91bmRfYXJnKQorICAgICAgICAgICAgc2lnID0gX3NpZ25hdHVyZV9mcm9tX2NhbGxhYmxlKAorICAgICAgICAgICAgICAgIGNhbGwsCisgICAgICAgICAgICAgICAgZm9sbG93X3dyYXBwZXJfY2hhaW5zPWZvbGxvd193cmFwcGVyX2NoYWlucywKKyAgICAgICAgICAgICAgICBza2lwX2JvdW5kX2FyZz1za2lwX2JvdW5kX2FyZywKKyAgICAgICAgICAgICAgICBzaWdjbHM9c2lnY2xzKQogICAgICAgICBlbHNlOgogICAgICAgICAgICAgIyBOb3cgd2UgY2hlY2sgaWYgdGhlICdvYmonIGNsYXNzIGhhcyBhICdfX25ld19fJyBtZXRob2QKICAgICAgICAgICAgIG5ldyA9IF9zaWduYXR1cmVfZ2V0X3VzZXJfZGVmaW5lZF9tZXRob2Qob2JqLCAnX19uZXdfXycpCiAgICAgICAgICAgICBpZiBuZXcgaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICAgICAgc2lnID0gX3NpZ25hdHVyZV9pbnRlcm5hbChuZXcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb2xsb3dfd3JhcHBlcl9jaGFpbnMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBza2lwX2JvdW5kX2FyZykKKyAgICAgICAgICAgICAgICBzaWcgPSBfc2lnbmF0dXJlX2Zyb21fY2FsbGFibGUoCisgICAgICAgICAgICAgICAgICAgIG5ldywKKyAgICAgICAgICAgICAgICAgICAgZm9sbG93X3dyYXBwZXJfY2hhaW5zPWZvbGxvd193cmFwcGVyX2NoYWlucywKKyAgICAgICAgICAgICAgICAgICAgc2tpcF9ib3VuZF9hcmc9c2tpcF9ib3VuZF9hcmcsCisgICAgICAgICAgICAgICAgICAgIHNpZ2Nscz1zaWdjbHMpCiAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgICMgRmluYWxseSwgd2Ugc2hvdWxkIGhhdmUgYXQgbGVhc3QgX19pbml0X18gaW1wbGVtZW50ZWQKICAgICAgICAgICAgICAgICBpbml0ID0gX3NpZ25hdHVyZV9nZXRfdXNlcl9kZWZpbmVkX21ldGhvZChvYmosICdfX2luaXRfXycpCiAgICAgICAgICAgICAgICAgaWYgaW5pdCBpcyBub3QgTm9uZToKLSAgICAgICAgICAgICAgICAgICAgc2lnID0gX3NpZ25hdHVyZV9pbnRlcm5hbChpbml0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbGxvd193cmFwcGVyX2NoYWlucywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBza2lwX2JvdW5kX2FyZykKKyAgICAgICAgICAgICAgICAgICAgc2lnID0gX3NpZ25hdHVyZV9mcm9tX2NhbGxhYmxlKAorICAgICAgICAgICAgICAgICAgICAgICAgaW5pdCwKKyAgICAgICAgICAgICAgICAgICAgICAgIGZvbGxvd193cmFwcGVyX2NoYWlucz1mb2xsb3dfd3JhcHBlcl9jaGFpbnMsCisgICAgICAgICAgICAgICAgICAgICAgICBza2lwX2JvdW5kX2FyZz1za2lwX2JvdW5kX2FyZywKKyAgICAgICAgICAgICAgICAgICAgICAgIHNpZ2Nscz1zaWdjbHMpCiAKICAgICAgICAgaWYgc2lnIGlzIE5vbmU6CiAgICAgICAgICAgICAjIEF0IHRoaXMgcG9pbnQgd2Uga25vdywgdGhhdCBgb2JqYCBpcyBhIGNsYXNzLCB3aXRoIG5vIHVzZXItCkBAIC0yMDA4LDcgKzIwNTAsNyBAQAogICAgICAgICAgICAgICAgICAgICBpZiB0ZXh0X3NpZzoKICAgICAgICAgICAgICAgICAgICAgICAgICMgSWYgJ29iaicgY2xhc3MgaGFzIGEgX190ZXh0X3NpZ25hdHVyZV9fIGF0dHJpYnV0ZToKICAgICAgICAgICAgICAgICAgICAgICAgICMgcmV0dXJuIGEgc2lnbmF0dXJlIGJhc2VkIG9uIGl0Ci0gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gX3NpZ25hdHVyZV9mcm9tc3RyKFNpZ25hdHVyZSwgb2JqLCB0ZXh0X3NpZykKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBfc2lnbmF0dXJlX2Zyb21zdHIoc2lnY2xzLCBvYmosIHRleHRfc2lnKQogCiAgICAgICAgICAgICAjIE5vICdfX3RleHRfc2lnbmF0dXJlX18nIHdhcyBmb3VuZCBmb3IgdGhlICdvYmonIGNsYXNzLgogICAgICAgICAgICAgIyBMYXN0IG9wdGlvbiBpcyB0byBjaGVjayBpZiBpdHMgJ19faW5pdF9fJyBpcwpAQCAtMjAyOCw5ICsyMDcwLDExIEBACiAgICAgICAgIGNhbGwgPSBfc2lnbmF0dXJlX2dldF91c2VyX2RlZmluZWRfbWV0aG9kKHR5cGUob2JqKSwgJ19fY2FsbF9fJykKICAgICAgICAgaWYgY2FsbCBpcyBub3QgTm9uZToKICAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICBzaWcgPSBfc2lnbmF0dXJlX2ludGVybmFsKGNhbGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb2xsb3dfd3JhcHBlcl9jaGFpbnMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBza2lwX2JvdW5kX2FyZykKKyAgICAgICAgICAgICAgICBzaWcgPSBfc2lnbmF0dXJlX2Zyb21fY2FsbGFibGUoCisgICAgICAgICAgICAgICAgICAgIGNhbGwsCisgICAgICAgICAgICAgICAgICAgIGZvbGxvd193cmFwcGVyX2NoYWlucz1mb2xsb3dfd3JhcHBlcl9jaGFpbnMsCisgICAgICAgICAgICAgICAgICAgIHNraXBfYm91bmRfYXJnPXNraXBfYm91bmRfYXJnLAorICAgICAgICAgICAgICAgICAgICBzaWdjbHM9c2lnY2xzKQogICAgICAgICAgICAgZXhjZXB0IFZhbHVlRXJyb3IgYXMgZXg6CiAgICAgICAgICAgICAgICAgbXNnID0gJ25vIHNpZ25hdHVyZSBmb3VuZCBmb3IgeyFyfScuZm9ybWF0KG9iaikKICAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKG1zZykgZnJvbSBleApAQCAtMjA1MCw0MSArMjA5NCwzNSBAQAogCiAgICAgcmFpc2UgVmFsdWVFcnJvcignY2FsbGFibGUgeyFyfSBpcyBub3Qgc3VwcG9ydGVkIGJ5IHNpZ25hdHVyZScuZm9ybWF0KG9iaikpCiAKLWRlZiBzaWduYXR1cmUob2JqKToKLSAgICAnJydHZXQgYSBzaWduYXR1cmUgb2JqZWN0IGZvciB0aGUgcGFzc2VkIGNhbGxhYmxlLicnJwotICAgIHJldHVybiBfc2lnbmF0dXJlX2ludGVybmFsKG9iaikKLQogCiBjbGFzcyBfdm9pZDoKLSAgICAnJydBIHByaXZhdGUgbWFya2VyIC0gdXNlZCBpbiBQYXJhbWV0ZXIgJiBTaWduYXR1cmUnJycKKyAgICAiIiJBIHByaXZhdGUgbWFya2VyIC0gdXNlZCBpbiBQYXJhbWV0ZXIgJiBTaWduYXR1cmUuIiIiCiAKIAogY2xhc3MgX2VtcHR5OgotICAgIHBhc3MKKyAgICAiIiJNYXJrZXIgb2JqZWN0IGZvciBTaWduYXR1cmUuZW1wdHkgYW5kIFBhcmFtZXRlci5lbXB0eS4iIiIKIAogCi1jbGFzcyBfUGFyYW1ldGVyS2luZChpbnQpOgotICAgIGRlZiBfX25ld19fKHNlbGYsICphcmdzLCBuYW1lKToKLSAgICAgICAgb2JqID0gaW50Ll9fbmV3X18oc2VsZiwgKmFyZ3MpCi0gICAgICAgIG9iai5fbmFtZSA9IG5hbWUKLSAgICAgICAgcmV0dXJuIG9iagorY2xhc3MgX1BhcmFtZXRlcktpbmQoZW51bS5JbnRFbnVtKToKKyAgICBQT1NJVElPTkFMX09OTFkgPSAwCisgICAgUE9TSVRJT05BTF9PUl9LRVlXT1JEID0gMQorICAgIFZBUl9QT1NJVElPTkFMID0gMgorICAgIEtFWVdPUkRfT05MWSA9IDMKKyAgICBWQVJfS0VZV09SRCA9IDQKIAogICAgIGRlZiBfX3N0cl9fKHNlbGYpOgotICAgICAgICByZXR1cm4gc2VsZi5fbmFtZQotCi0gICAgZGVmIF9fcmVwcl9fKHNlbGYpOgotICAgICAgICByZXR1cm4gJzxfUGFyYW1ldGVyS2luZDogeyFyfT4nLmZvcm1hdChzZWxmLl9uYW1lKQorICAgICAgICByZXR1cm4gc2VsZi5fbmFtZV8KIAogCi1fUE9TSVRJT05BTF9PTkxZICAgICAgICA9IF9QYXJhbWV0ZXJLaW5kKDAsIG5hbWU9J1BPU0lUSU9OQUxfT05MWScpCi1fUE9TSVRJT05BTF9PUl9LRVlXT1JEICA9IF9QYXJhbWV0ZXJLaW5kKDEsIG5hbWU9J1BPU0lUSU9OQUxfT1JfS0VZV09SRCcpCi1fVkFSX1BPU0lUSU9OQUwgICAgICAgICA9IF9QYXJhbWV0ZXJLaW5kKDIsIG5hbWU9J1ZBUl9QT1NJVElPTkFMJykKLV9LRVlXT1JEX09OTFkgICAgICAgICAgID0gX1BhcmFtZXRlcktpbmQoMywgbmFtZT0nS0VZV09SRF9PTkxZJykKLV9WQVJfS0VZV09SRCAgICAgICAgICAgID0gX1BhcmFtZXRlcktpbmQoNCwgbmFtZT0nVkFSX0tFWVdPUkQnKQorX1BPU0lUSU9OQUxfT05MWSAgICAgICAgID0gX1BhcmFtZXRlcktpbmQuUE9TSVRJT05BTF9PTkxZCitfUE9TSVRJT05BTF9PUl9LRVlXT1JEICAgPSBfUGFyYW1ldGVyS2luZC5QT1NJVElPTkFMX09SX0tFWVdPUkQKK19WQVJfUE9TSVRJT05BTCAgICAgICAgICA9IF9QYXJhbWV0ZXJLaW5kLlZBUl9QT1NJVElPTkFMCitfS0VZV09SRF9PTkxZICAgICAgICAgICAgPSBfUGFyYW1ldGVyS2luZC5LRVlXT1JEX09OTFkKK19WQVJfS0VZV09SRCAgICAgICAgICAgICA9IF9QYXJhbWV0ZXJLaW5kLlZBUl9LRVlXT1JECiAKIAogY2xhc3MgUGFyYW1ldGVyOgotICAgICcnJ1JlcHJlc2VudHMgYSBwYXJhbWV0ZXIgaW4gYSBmdW5jdGlvbiBzaWduYXR1cmUuCisgICAgIiIiUmVwcmVzZW50cyBhIHBhcmFtZXRlciBpbiBhIGZ1bmN0aW9uIHNpZ25hdHVyZS4KIAogICAgIEhhcyB0aGUgZm9sbG93aW5nIHB1YmxpYyBhdHRyaWJ1dGVzOgogCkBAIC0yMTAzLDcgKzIxNDEsNyBAQAogICAgICAgICBQb3NzaWJsZSB2YWx1ZXM6IGBQYXJhbWV0ZXIuUE9TSVRJT05BTF9PTkxZYCwKICAgICAgICAgYFBhcmFtZXRlci5QT1NJVElPTkFMX09SX0tFWVdPUkRgLCBgUGFyYW1ldGVyLlZBUl9QT1NJVElPTkFMYCwKICAgICAgICAgYFBhcmFtZXRlci5LRVlXT1JEX09OTFlgLCBgUGFyYW1ldGVyLlZBUl9LRVlXT1JEYC4KLSAgICAnJycKKyAgICAiIiIKIAogICAgIF9fc2xvdHNfXyA9ICgnX25hbWUnLCAnX2tpbmQnLCAnX2RlZmF1bHQnLCAnX2Fubm90YXRpb24nKQogCkBAIC0yMTQwLDYgKzIxNzgsMTYgQEAKIAogICAgICAgICBzZWxmLl9uYW1lID0gbmFtZQogCisgICAgZGVmIF9fcmVkdWNlX18oc2VsZik6CisgICAgICAgIHJldHVybiAodHlwZShzZWxmKSwKKyAgICAgICAgICAgICAgICAoc2VsZi5fbmFtZSwgc2VsZi5fa2luZCksCisgICAgICAgICAgICAgICAgeydfZGVmYXVsdCc6IHNlbGYuX2RlZmF1bHQsCisgICAgICAgICAgICAgICAgICdfYW5ub3RhdGlvbic6IHNlbGYuX2Fubm90YXRpb259KQorCisgICAgZGVmIF9fc2V0c3RhdGVfXyhzZWxmLCBzdGF0ZSk6CisgICAgICAgIHNlbGYuX2RlZmF1bHQgPSBzdGF0ZVsnX2RlZmF1bHQnXQorICAgICAgICBzZWxmLl9hbm5vdGF0aW9uID0gc3RhdGVbJ19hbm5vdGF0aW9uJ10KKwogICAgIEBwcm9wZXJ0eQogICAgIGRlZiBuYW1lKHNlbGYpOgogICAgICAgICByZXR1cm4gc2VsZi5fbmFtZQpAQCAtMjE1OCw3ICsyMjA2LDcgQEAKIAogICAgIGRlZiByZXBsYWNlKHNlbGYsICosIG5hbWU9X3ZvaWQsIGtpbmQ9X3ZvaWQsCiAgICAgICAgICAgICAgICAgYW5ub3RhdGlvbj1fdm9pZCwgZGVmYXVsdD1fdm9pZCk6Ci0gICAgICAgICcnJ0NyZWF0ZXMgYSBjdXN0b21pemVkIGNvcHkgb2YgdGhlIFBhcmFtZXRlci4nJycKKyAgICAgICAgIiIiQ3JlYXRlcyBhIGN1c3RvbWl6ZWQgY29weSBvZiB0aGUgUGFyYW1ldGVyLiIiIgogCiAgICAgICAgIGlmIG5hbWUgaXMgX3ZvaWQ6CiAgICAgICAgICAgICBuYW1lID0gc2VsZi5fbmFtZQpAQCAtMjE5NCw4ICsyMjQyLDExIEBACiAgICAgICAgIHJldHVybiBmb3JtYXR0ZWQKIAogICAgIGRlZiBfX3JlcHJfXyhzZWxmKToKLSAgICAgICAgcmV0dXJuICc8e30gYXQgezojeH0geyFyfT4nLmZvcm1hdChzZWxmLl9fY2xhc3NfXy5fX25hbWVfXywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZChzZWxmKSwgc2VsZi5uYW1lKQorICAgICAgICByZXR1cm4gJzx7fSBhdCB7OiN4fSAie30iPicuZm9ybWF0KHNlbGYuX19jbGFzc19fLl9fbmFtZV9fLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkKHNlbGYpLCBzZWxmKQorCisgICAgZGVmIF9faGFzaF9fKHNlbGYpOgorICAgICAgICByZXR1cm4gaGFzaCgoc2VsZi5uYW1lLCBzZWxmLmtpbmQsIHNlbGYuYW5ub3RhdGlvbiwgc2VsZi5kZWZhdWx0KSkKIAogICAgIGRlZiBfX2VxX18oc2VsZiwgb3RoZXIpOgogICAgICAgICByZXR1cm4gKGlzc3ViY2xhc3Mob3RoZXIuX19jbGFzc19fLCBQYXJhbWV0ZXIpIGFuZApAQCAtMjIwNCwxMiArMjI1NSw5IEBACiAgICAgICAgICAgICAgICAgc2VsZi5fZGVmYXVsdCA9PSBvdGhlci5fZGVmYXVsdCBhbmQKICAgICAgICAgICAgICAgICBzZWxmLl9hbm5vdGF0aW9uID09IG90aGVyLl9hbm5vdGF0aW9uKQogCi0gICAgZGVmIF9fbmVfXyhzZWxmLCBvdGhlcik6Ci0gICAgICAgIHJldHVybiBub3Qgc2VsZi5fX2VxX18ob3RoZXIpCi0KIAogY2xhc3MgQm91bmRBcmd1bWVudHM6Ci0gICAgJycnUmVzdWx0IG9mIGBTaWduYXR1cmUuYmluZGAgY2FsbC4gIEhvbGRzIHRoZSBtYXBwaW5nIG9mIGFyZ3VtZW50cworICAgICIiIlJlc3VsdCBvZiBgU2lnbmF0dXJlLmJpbmRgIGNhbGwuICBIb2xkcyB0aGUgbWFwcGluZyBvZiBhcmd1bWVudHMKICAgICB0byB0aGUgZnVuY3Rpb24ncyBwYXJhbWV0ZXJzLgogCiAgICAgSGFzIHRoZSBmb2xsb3dpbmcgcHVibGljIGF0dHJpYnV0ZXM6CkBAIC0yMjIzLDcgKzIyNzEsNyBAQAogICAgICAgICBUdXBsZSBvZiBwb3NpdGlvbmFsIGFyZ3VtZW50cyB2YWx1ZXMuCiAgICAgKiBrd2FyZ3MgOiBkaWN0CiAgICAgICAgIERpY3Qgb2Yga2V5d29yZCBhcmd1bWVudHMgdmFsdWVzLgotICAgICcnJworICAgICIiIgogCiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIHNpZ25hdHVyZSwgYXJndW1lbnRzKToKICAgICAgICAgc2VsZi5hcmd1bWVudHMgPSBhcmd1bWVudHMKQEAgLTIyOTEsMTIgKzIzMzksOSBAQAogICAgICAgICAgICAgICAgIHNlbGYuc2lnbmF0dXJlID09IG90aGVyLnNpZ25hdHVyZSBhbmQKICAgICAgICAgICAgICAgICBzZWxmLmFyZ3VtZW50cyA9PSBvdGhlci5hcmd1bWVudHMpCiAKLSAgICBkZWYgX19uZV9fKHNlbGYsIG90aGVyKToKLSAgICAgICAgcmV0dXJuIG5vdCBzZWxmLl9fZXFfXyhvdGhlcikKLQogCiBjbGFzcyBTaWduYXR1cmU6Ci0gICAgJycnQSBTaWduYXR1cmUgb2JqZWN0IHJlcHJlc2VudHMgdGhlIG92ZXJhbGwgc2lnbmF0dXJlIG9mIGEgZnVuY3Rpb24uCisgICAgIiIiQSBTaWduYXR1cmUgb2JqZWN0IHJlcHJlc2VudHMgdGhlIG92ZXJhbGwgc2lnbmF0dXJlIG9mIGEgZnVuY3Rpb24uCiAgICAgSXQgc3RvcmVzIGEgUGFyYW1ldGVyIG9iamVjdCBmb3IgZWFjaCBwYXJhbWV0ZXIgYWNjZXB0ZWQgYnkgdGhlCiAgICAgZnVuY3Rpb24sIGFzIHdlbGwgYXMgaW5mb3JtYXRpb24gc3BlY2lmaWMgdG8gdGhlIGZ1bmN0aW9uIGl0c2VsZi4KIApAQCAtMjMxNiw3ICsyMzYxLDcgQEAKICAgICAqIGJpbmRfcGFydGlhbCgqYXJncywgKiprd2FyZ3MpIC0+IEJvdW5kQXJndW1lbnRzCiAgICAgICAgIENyZWF0ZXMgYSBwYXJ0aWFsIG1hcHBpbmcgZnJvbSBwb3NpdGlvbmFsIGFuZCBrZXl3b3JkIGFyZ3VtZW50cwogICAgICAgICB0byBwYXJhbWV0ZXJzIChzaW11bGF0aW5nICdmdW5jdG9vbHMucGFydGlhbCcgYmVoYXZpb3IuKQotICAgICcnJworICAgICIiIgogCiAgICAgX19zbG90c19fID0gKCdfcmV0dXJuX2Fubm90YXRpb24nLCAnX3BhcmFtZXRlcnMnKQogCkBAIC0yMzI3LDkgKzIzNzIsOSBAQAogCiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIHBhcmFtZXRlcnM9Tm9uZSwgKiwgcmV0dXJuX2Fubm90YXRpb249X2VtcHR5LAogICAgICAgICAgICAgICAgICBfX3ZhbGlkYXRlX3BhcmFtZXRlcnNfXz1UcnVlKToKLSAgICAgICAgJycnQ29uc3RydWN0cyBTaWduYXR1cmUgZnJvbSB0aGUgZ2l2ZW4gbGlzdCBvZiBQYXJhbWV0ZXIKKyAgICAgICAgIiIiQ29uc3RydWN0cyBTaWduYXR1cmUgZnJvbSB0aGUgZ2l2ZW4gbGlzdCBvZiBQYXJhbWV0ZXIKICAgICAgICAgb2JqZWN0cyBhbmQgJ3JldHVybl9hbm5vdGF0aW9uJy4gIEFsbCBhcmd1bWVudHMgYXJlIG9wdGlvbmFsLgotICAgICAgICAnJycKKyAgICAgICAgIiIiCiAKICAgICAgICAgaWYgcGFyYW1ldGVycyBpcyBOb25lOgogICAgICAgICAgICAgcGFyYW1zID0gT3JkZXJlZERpY3QoKQpAQCAtMjM3OCw3ICsyNDIzLDcgQEAKIAogICAgIEBjbGFzc21ldGhvZAogICAgIGRlZiBmcm9tX2Z1bmN0aW9uKGNscywgZnVuYyk6Ci0gICAgICAgICcnJ0NvbnN0cnVjdHMgU2lnbmF0dXJlIGZvciB0aGUgZ2l2ZW4gcHl0aG9uIGZ1bmN0aW9uJycnCisgICAgICAgICIiIkNvbnN0cnVjdHMgU2lnbmF0dXJlIGZvciB0aGUgZ2l2ZW4gcHl0aG9uIGZ1bmN0aW9uLiIiIgogCiAgICAgICAgIGlzX2R1Y2tfZnVuY3Rpb24gPSBGYWxzZQogICAgICAgICBpZiBub3QgaXNmdW5jdGlvbihmdW5jKToKQEAgLTI0NTksOCArMjUwNCwxNCBAQAogCiAgICAgQGNsYXNzbWV0aG9kCiAgICAgZGVmIGZyb21fYnVpbHRpbihjbHMsIGZ1bmMpOgorICAgICAgICAiIiJDb25zdHJ1Y3RzIFNpZ25hdHVyZSBmb3IgdGhlIGdpdmVuIGJ1aWx0aW4gZnVuY3Rpb24uIiIiCiAgICAgICAgIHJldHVybiBfc2lnbmF0dXJlX2Zyb21fYnVpbHRpbihjbHMsIGZ1bmMpCiAKKyAgICBAY2xhc3NtZXRob2QKKyAgICBkZWYgZnJvbV9jYWxsYWJsZShjbHMsIG9iaik6CisgICAgICAgICIiIkNvbnN0cnVjdHMgU2lnbmF0dXJlIGZvciB0aGUgZ2l2ZW4gY2FsbGFibGUgb2JqZWN0LiIiIgorICAgICAgICByZXR1cm4gX3NpZ25hdHVyZV9mcm9tX2NhbGxhYmxlKG9iaiwgc2lnY2xzPWNscykKKwogICAgIEBwcm9wZXJ0eQogICAgIGRlZiBwYXJhbWV0ZXJzKHNlbGYpOgogICAgICAgICByZXR1cm4gc2VsZi5fcGFyYW1ldGVycwpAQCAtMjQ3MCwxMCArMjUyMSwxMCBAQAogICAgICAgICByZXR1cm4gc2VsZi5fcmV0dXJuX2Fubm90YXRpb24KIAogICAgIGRlZiByZXBsYWNlKHNlbGYsICosIHBhcmFtZXRlcnM9X3ZvaWQsIHJldHVybl9hbm5vdGF0aW9uPV92b2lkKToKLSAgICAgICAgJycnQ3JlYXRlcyBhIGN1c3RvbWl6ZWQgY29weSBvZiB0aGUgU2lnbmF0dXJlLgorICAgICAgICAiIiJDcmVhdGVzIGEgY3VzdG9taXplZCBjb3B5IG9mIHRoZSBTaWduYXR1cmUuCiAgICAgICAgIFBhc3MgJ3BhcmFtZXRlcnMnIGFuZC9vciAncmV0dXJuX2Fubm90YXRpb24nIGFyZ3VtZW50cwogICAgICAgICB0byBvdmVycmlkZSB0aGVtIGluIHRoZSBuZXcgY29weS4KLSAgICAgICAgJycnCisgICAgICAgICIiIgogCiAgICAgICAgIGlmIHBhcmFtZXRlcnMgaXMgX3ZvaWQ6CiAgICAgICAgICAgICBwYXJhbWV0ZXJzID0gc2VsZi5wYXJhbWV0ZXJzLnZhbHVlcygpCkBAIC0yNDg0LDQxICsyNTM1LDI2IEBACiAgICAgICAgIHJldHVybiB0eXBlKHNlbGYpKHBhcmFtZXRlcnMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybl9hbm5vdGF0aW9uPXJldHVybl9hbm5vdGF0aW9uKQogCisgICAgZGVmIF9oYXNoX2Jhc2lzKHNlbGYpOgorICAgICAgICBwYXJhbXMgPSB0dXBsZShwYXJhbSBmb3IgcGFyYW0gaW4gc2VsZi5wYXJhbWV0ZXJzLnZhbHVlcygpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIHBhcmFtLmtpbmQgIT0gX0tFWVdPUkRfT05MWSkKKworICAgICAgICBrd29fcGFyYW1zID0ge3BhcmFtLm5hbWU6IHBhcmFtIGZvciBwYXJhbSBpbiBzZWxmLnBhcmFtZXRlcnMudmFsdWVzKCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiBwYXJhbS5raW5kID09IF9LRVlXT1JEX09OTFl9CisKKyAgICAgICAgcmV0dXJuIHBhcmFtcywga3dvX3BhcmFtcywgc2VsZi5yZXR1cm5fYW5ub3RhdGlvbgorCisgICAgZGVmIF9faGFzaF9fKHNlbGYpOgorICAgICAgICBwYXJhbXMsIGt3b19wYXJhbXMsIHJldHVybl9hbm5vdGF0aW9uID0gc2VsZi5faGFzaF9iYXNpcygpCisgICAgICAgIGt3b19wYXJhbXMgPSBmcm96ZW5zZXQoa3dvX3BhcmFtcy52YWx1ZXMoKSkKKyAgICAgICAgcmV0dXJuIGhhc2goKHBhcmFtcywga3dvX3BhcmFtcywgcmV0dXJuX2Fubm90YXRpb24pKQorCiAgICAgZGVmIF9fZXFfXyhzZWxmLCBvdGhlcik6Ci0gICAgICAgIGlmIChub3QgaXNzdWJjbGFzcyh0eXBlKG90aGVyKSwgU2lnbmF0dXJlKSBvcgotICAgICAgICAgICAgICAgICAgICBzZWxmLnJldHVybl9hbm5vdGF0aW9uICE9IG90aGVyLnJldHVybl9hbm5vdGF0aW9uIG9yCi0gICAgICAgICAgICAgICAgICAgIGxlbihzZWxmLnBhcmFtZXRlcnMpICE9IGxlbihvdGhlci5wYXJhbWV0ZXJzKSk6Ci0gICAgICAgICAgICByZXR1cm4gRmFsc2UKLQotICAgICAgICBvdGhlcl9wb3NpdGlvbnMgPSB7cGFyYW06IGlkeAotICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIGlkeCwgcGFyYW0gaW4gZW51bWVyYXRlKG90aGVyLnBhcmFtZXRlcnMua2V5cygpKX0KLQotICAgICAgICBmb3IgaWR4LCAocGFyYW1fbmFtZSwgcGFyYW0pIGluIGVudW1lcmF0ZShzZWxmLnBhcmFtZXRlcnMuaXRlbXMoKSk6Ci0gICAgICAgICAgICBpZiBwYXJhbS5raW5kID09IF9LRVlXT1JEX09OTFk6Ci0gICAgICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgICAgICBvdGhlcl9wYXJhbSA9IG90aGVyLnBhcmFtZXRlcnNbcGFyYW1fbmFtZV0KLSAgICAgICAgICAgICAgICBleGNlcHQgS2V5RXJyb3I6Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybiBGYWxzZQotICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgIGlmIHBhcmFtICE9IG90aGVyX3BhcmFtOgotICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEZhbHNlCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICAgICAgb3RoZXJfaWR4ID0gb3RoZXJfcG9zaXRpb25zW3BhcmFtX25hbWVdCi0gICAgICAgICAgICAgICAgZXhjZXB0IEtleUVycm9yOgotICAgICAgICAgICAgICAgICAgICByZXR1cm4gRmFsc2UKLSAgICAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgICAgICBpZiAoaWR4ICE9IG90aGVyX2lkeCBvcgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW0gIT0gb3RoZXIucGFyYW1ldGVyc1twYXJhbV9uYW1lXSk6Ci0gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gRmFsc2UKLQotICAgICAgICByZXR1cm4gVHJ1ZQotCi0gICAgZGVmIF9fbmVfXyhzZWxmLCBvdGhlcik6Ci0gICAgICAgIHJldHVybiBub3Qgc2VsZi5fX2VxX18ob3RoZXIpCisgICAgICAgIHJldHVybiAoaXNpbnN0YW5jZShvdGhlciwgU2lnbmF0dXJlKSBhbmQKKyAgICAgICAgICAgICAgICBzZWxmLl9oYXNoX2Jhc2lzKCkgPT0gb3RoZXIuX2hhc2hfYmFzaXMoKSkKIAogICAgIGRlZiBfYmluZChzZWxmLCBhcmdzLCBrd2FyZ3MsICosIHBhcnRpYWw9RmFsc2UpOgotICAgICAgICAnJydQcml2YXRlIG1ldGhvZC4gIERvbid0IHVzZSBkaXJlY3RseS4nJycKKyAgICAgICAgIiIiUHJpdmF0ZSBtZXRob2QuIERvbid0IHVzZSBkaXJlY3RseS4iIiIKIAogICAgICAgICBhcmd1bWVudHMgPSBPcmRlcmVkRGljdCgpCiAKQEAgLTI2NDUsMTkgKzI2ODEsMzEgQEAKICAgICAgICAgcmV0dXJuIHNlbGYuX2JvdW5kX2FyZ3VtZW50c19jbHMoc2VsZiwgYXJndW1lbnRzKQogCiAgICAgZGVmIGJpbmQoKmFyZ3MsICoqa3dhcmdzKToKLSAgICAgICAgJycnR2V0IGEgQm91bmRBcmd1bWVudHMgb2JqZWN0LCB0aGF0IG1hcHMgdGhlIHBhc3NlZCBgYXJnc2AKKyAgICAgICAgIiIiR2V0IGEgQm91bmRBcmd1bWVudHMgb2JqZWN0LCB0aGF0IG1hcHMgdGhlIHBhc3NlZCBgYXJnc2AKICAgICAgICAgYW5kIGBrd2FyZ3NgIHRvIHRoZSBmdW5jdGlvbidzIHNpZ25hdHVyZS4gIFJhaXNlcyBgVHlwZUVycm9yYAogICAgICAgICBpZiB0aGUgcGFzc2VkIGFyZ3VtZW50cyBjYW4gbm90IGJlIGJvdW5kLgotICAgICAgICAnJycKKyAgICAgICAgIiIiCiAgICAgICAgIHJldHVybiBhcmdzWzBdLl9iaW5kKGFyZ3NbMTpdLCBrd2FyZ3MpCiAKICAgICBkZWYgYmluZF9wYXJ0aWFsKCphcmdzLCAqKmt3YXJncyk6Ci0gICAgICAgICcnJ0dldCBhIEJvdW5kQXJndW1lbnRzIG9iamVjdCwgdGhhdCBwYXJ0aWFsbHkgbWFwcyB0aGUKKyAgICAgICAgIiIiR2V0IGEgQm91bmRBcmd1bWVudHMgb2JqZWN0LCB0aGF0IHBhcnRpYWxseSBtYXBzIHRoZQogICAgICAgICBwYXNzZWQgYGFyZ3NgIGFuZCBga3dhcmdzYCB0byB0aGUgZnVuY3Rpb24ncyBzaWduYXR1cmUuCiAgICAgICAgIFJhaXNlcyBgVHlwZUVycm9yYCBpZiB0aGUgcGFzc2VkIGFyZ3VtZW50cyBjYW4gbm90IGJlIGJvdW5kLgotICAgICAgICAnJycKKyAgICAgICAgIiIiCiAgICAgICAgIHJldHVybiBhcmdzWzBdLl9iaW5kKGFyZ3NbMTpdLCBrd2FyZ3MsIHBhcnRpYWw9VHJ1ZSkKIAorICAgIGRlZiBfX3JlZHVjZV9fKHNlbGYpOgorICAgICAgICByZXR1cm4gKHR5cGUoc2VsZiksCisgICAgICAgICAgICAgICAgKHR1cGxlKHNlbGYuX3BhcmFtZXRlcnMudmFsdWVzKCkpLCksCisgICAgICAgICAgICAgICAgeydfcmV0dXJuX2Fubm90YXRpb24nOiBzZWxmLl9yZXR1cm5fYW5ub3RhdGlvbn0pCisKKyAgICBkZWYgX19zZXRzdGF0ZV9fKHNlbGYsIHN0YXRlKToKKyAgICAgICAgc2VsZi5fcmV0dXJuX2Fubm90YXRpb24gPSBzdGF0ZVsnX3JldHVybl9hbm5vdGF0aW9uJ10KKworICAgIGRlZiBfX3JlcHJfXyhzZWxmKToKKyAgICAgICAgcmV0dXJuICc8e30gYXQgezojeH0gInt9Ij4nLmZvcm1hdChzZWxmLl9fY2xhc3NfXy5fX25hbWVfXywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZChzZWxmKSwgc2VsZikKKwogICAgIGRlZiBfX3N0cl9fKHNlbGYpOgogICAgICAgICByZXN1bHQgPSBbXQogICAgICAgICByZW5kZXJfcG9zX29ubHlfc2VwYXJhdG9yID0gRmFsc2UKQEAgLTI3MDMsNiArMjc1MSwxMiBAQAogCiAgICAgICAgIHJldHVybiByZW5kZXJlZAogCisKK2RlZiBzaWduYXR1cmUob2JqKToKKyAgICAiIiJHZXQgYSBzaWduYXR1cmUgb2JqZWN0IGZvciB0aGUgcGFzc2VkIGNhbGxhYmxlLiIiIgorICAgIHJldHVybiBTaWduYXR1cmUuZnJvbV9jYWxsYWJsZShvYmopCisKKwogZGVmIF9tYWluKCk6CiAgICAgIiIiIExvZ2ljIGZvciBpbnNwZWN0aW5nIGFuIG9iamVjdCBnaXZlbiBhdCBjb21tYW5kIGxpbmUgIiIiCiAgICAgaW1wb3J0IGFyZ3BhcnNlCmRpZmYgLS1naXQgYS9MaWIvaXBhZGRyZXNzLnB5IGIvTGliL2lwYWRkcmVzcy5weQppbmRleCBhYzAzYzM2Li5iZTFlYzUyIDEwMDY0NAotLS0gYS9MaWIvaXBhZGRyZXNzLnB5CisrKyBiL0xpYi9pcGFkZHJlc3MucHkKQEAgLTE2NCwyMiArMTY0LDIzIEBACiAKIAogZGVmIF9maW5kX2FkZHJlc3NfcmFuZ2UoYWRkcmVzc2VzKToKLSAgICAiIiJGaW5kIGEgc2VxdWVuY2Ugb2YgSVB2I0FkZHJlc3MuCisgICAgIiIiRmluZCBhIHNlcXVlbmNlIG9mIHNvcnRlZCBkZWR1cGxpY2F0ZWQgSVB2I0FkZHJlc3MuCiAKICAgICBBcmdzOgogICAgICAgICBhZGRyZXNzZXM6IGEgbGlzdCBvZiBJUHYjQWRkcmVzcyBvYmplY3RzLgogCi0gICAgUmV0dXJuczoKKyAgICBZaWVsZHM6CiAgICAgICAgIEEgdHVwbGUgY29udGFpbmluZyB0aGUgZmlyc3QgYW5kIGxhc3QgSVAgYWRkcmVzc2VzIGluIHRoZSBzZXF1ZW5jZS4KIAogICAgICIiIgotICAgIGZpcnN0ID0gbGFzdCA9IGFkZHJlc3Nlc1swXQotICAgIGZvciBpcCBpbiBhZGRyZXNzZXNbMTpdOgotICAgICAgICBpZiBpcC5faXAgPT0gbGFzdC5faXAgKyAxOgotICAgICAgICAgICAgbGFzdCA9IGlwCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBicmVhawotICAgIHJldHVybiAoZmlyc3QsIGxhc3QpCisgICAgaXQgPSBpdGVyKGFkZHJlc3NlcykKKyAgICBmaXJzdCA9IGxhc3QgPSBuZXh0KGl0KQorICAgIGZvciBpcCBpbiBpdDoKKyAgICAgICAgaWYgaXAuX2lwICE9IGxhc3QuX2lwICsgMToKKyAgICAgICAgICAgIHlpZWxkIGZpcnN0LCBsYXN0CisgICAgICAgICAgICBmaXJzdCA9IGlwCisgICAgICAgIGxhc3QgPSBpcAorICAgIHlpZWxkIGZpcnN0LCBsYXN0CiAKIAogZGVmIF9jb3VudF9yaWdodGhhbmRfemVyb19iaXRzKG51bWJlciwgYml0cyk6CkBAIC0xOTUsMTEgKzE5Niw3IEBACiAgICAgIiIiCiAgICAgaWYgbnVtYmVyID09IDA6CiAgICAgICAgIHJldHVybiBiaXRzCi0gICAgZm9yIGkgaW4gcmFuZ2UoYml0cyk6Ci0gICAgICAgIGlmIChudW1iZXIgPj4gaSkgJiAxOgotICAgICAgICAgICAgcmV0dXJuIGkKLSAgICAjIEFsbCBiaXRzIG9mIGludGVyZXN0IHdlcmUgemVybywgZXZlbiBpZiB0aGVyZSBhcmUgbW9yZSBpbiB0aGUgbnVtYmVyCi0gICAgcmV0dXJuIGJpdHMKKyAgICByZXR1cm4gbWluKGJpdHMsICh+bnVtYmVyICYgKG51bWJlci0xKSkuYml0X2xlbmd0aCgpKQogCiAKIGRlZiBzdW1tYXJpemVfYWRkcmVzc19yYW5nZShmaXJzdCwgbGFzdCk6CkBAIC0yNTAsMTUgKzI0NywxNCBAQAogICAgIHdoaWxlIGZpcnN0X2ludCA8PSBsYXN0X2ludDoKICAgICAgICAgbmJpdHMgPSBtaW4oX2NvdW50X3JpZ2h0aGFuZF96ZXJvX2JpdHMoZmlyc3RfaW50LCBpcF9iaXRzKSwKICAgICAgICAgICAgICAgICAgICAgKGxhc3RfaW50IC0gZmlyc3RfaW50ICsgMSkuYml0X2xlbmd0aCgpIC0gMSkKLSAgICAgICAgbmV0ID0gaXAoJyVzLyVkJyAlIChmaXJzdCwgaXBfYml0cyAtIG5iaXRzKSkKKyAgICAgICAgbmV0ID0gaXAoKGZpcnN0X2ludCwgaXBfYml0cyAtIG5iaXRzKSkKICAgICAgICAgeWllbGQgbmV0CiAgICAgICAgIGZpcnN0X2ludCArPSAxIDw8IG5iaXRzCiAgICAgICAgIGlmIGZpcnN0X2ludCAtIDEgPT0gaXAuX0FMTF9PTkVTOgogICAgICAgICAgICAgYnJlYWsKLSAgICAgICAgZmlyc3QgPSBmaXJzdC5fX2NsYXNzX18oZmlyc3RfaW50KQogCiAKLWRlZiBfY29sbGFwc2VfYWRkcmVzc2VzX3JlY3Vyc2l2ZShhZGRyZXNzZXMpOgorZGVmIF9jb2xsYXBzZV9hZGRyZXNzZXNfaW50ZXJuYWwoYWRkcmVzc2VzKToKICAgICAiIiJMb29wcyB0aHJvdWdoIHRoZSBhZGRyZXNzZXMsIGNvbGxhcHNpbmcgY29uY3VycmVudCBuZXRibG9ja3MuCiAKICAgICBFeGFtcGxlOgpAQCAtMjY4LDcgKzI2NCw3IEBACiAgICAgICAgIGlwMyA9IElQdjROZXR3b3JrKCcxOTIuMC4yLjEyOC8yNicpCiAgICAgICAgIGlwNCA9IElQdjROZXR3b3JrKCcxOTIuMC4yLjE5Mi8yNicpCiAKLSAgICAgICAgX2NvbGxhcHNlX2FkZHJlc3Nlc19yZWN1cnNpdmUoW2lwMSwgaXAyLCBpcDMsIGlwNF0pIC0+CisgICAgICAgIF9jb2xsYXBzZV9hZGRyZXNzZXNfaW50ZXJuYWwoW2lwMSwgaXAyLCBpcDMsIGlwNF0pIC0+CiAgICAgICAgICAgW0lQdjROZXR3b3JrKCcxOTIuMC4yLjAvMjQnKV0KIAogICAgICAgICBUaGlzIHNob3VsZG4ndCBiZSBjYWxsZWQgZGlyZWN0bHk7IGl0IGlzIGNhbGxlZCB2aWEKQEAgLTI4MiwyOCArMjc4LDI5IEBACiAgICAgICAgIHBhc3NlZC4KIAogICAgICIiIgotICAgIHdoaWxlIFRydWU6Ci0gICAgICAgIGxhc3RfYWRkciA9IE5vbmUKLSAgICAgICAgcmV0X2FycmF5ID0gW10KLSAgICAgICAgb3B0aW1pemVkID0gRmFsc2UKLQotICAgICAgICBmb3IgY3VyX2FkZHIgaW4gYWRkcmVzc2VzOgotICAgICAgICAgICAgaWYgbm90IHJldF9hcnJheToKLSAgICAgICAgICAgICAgICBsYXN0X2FkZHIgPSBjdXJfYWRkcgotICAgICAgICAgICAgICAgIHJldF9hcnJheS5hcHBlbmQoY3VyX2FkZHIpCi0gICAgICAgICAgICBlbGlmIChjdXJfYWRkci5uZXR3b3JrX2FkZHJlc3MgPj0gbGFzdF9hZGRyLm5ldHdvcmtfYWRkcmVzcyBhbmQKLSAgICAgICAgICAgICAgICBjdXJfYWRkci5icm9hZGNhc3RfYWRkcmVzcyA8PSBsYXN0X2FkZHIuYnJvYWRjYXN0X2FkZHJlc3MpOgotICAgICAgICAgICAgICAgIG9wdGltaXplZCA9IFRydWUKLSAgICAgICAgICAgIGVsaWYgY3VyX2FkZHIgPT0gbGlzdChsYXN0X2FkZHIuc3VwZXJuZXQoKS5zdWJuZXRzKCkpWzFdOgotICAgICAgICAgICAgICAgIHJldF9hcnJheVstMV0gPSBsYXN0X2FkZHIgPSBsYXN0X2FkZHIuc3VwZXJuZXQoKQotICAgICAgICAgICAgICAgIG9wdGltaXplZCA9IFRydWUKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgbGFzdF9hZGRyID0gY3VyX2FkZHIKLSAgICAgICAgICAgICAgICByZXRfYXJyYXkuYXBwZW5kKGN1cl9hZGRyKQotCi0gICAgICAgIGFkZHJlc3NlcyA9IHJldF9hcnJheQotICAgICAgICBpZiBub3Qgb3B0aW1pemVkOgotICAgICAgICAgICAgcmV0dXJuIGFkZHJlc3NlcworICAgICMgRmlyc3QgbWVyZ2UKKyAgICB0b19tZXJnZSA9IGxpc3QoYWRkcmVzc2VzKQorICAgIHN1Ym5ldHMgPSB7fQorICAgIHdoaWxlIHRvX21lcmdlOgorICAgICAgICBuZXQgPSB0b19tZXJnZS5wb3AoKQorICAgICAgICBzdXBlcm5ldCA9IG5ldC5zdXBlcm5ldCgpCisgICAgICAgIGV4aXN0aW5nID0gc3VibmV0cy5nZXQoc3VwZXJuZXQpCisgICAgICAgIGlmIGV4aXN0aW5nIGlzIE5vbmU6CisgICAgICAgICAgICBzdWJuZXRzW3N1cGVybmV0XSA9IG5ldAorICAgICAgICBlbGlmIGV4aXN0aW5nICE9IG5ldDoKKyAgICAgICAgICAgICMgTWVyZ2UgY29uc2VjdXRpdmUgc3VibmV0cworICAgICAgICAgICAgZGVsIHN1Ym5ldHNbc3VwZXJuZXRdCisgICAgICAgICAgICB0b19tZXJnZS5hcHBlbmQoc3VwZXJuZXQpCisgICAgIyBUaGVuIGl0ZXJhdGUgb3ZlciByZXN1bHRpbmcgbmV0d29ya3MsIHNraXBwaW5nIHN1YnN1bWVkIHN1Ym5ldHMKKyAgICBsYXN0ID0gTm9uZQorICAgIGZvciBuZXQgaW4gc29ydGVkKHN1Ym5ldHMudmFsdWVzKCkpOgorICAgICAgICBpZiBsYXN0IGlzIG5vdCBOb25lOgorICAgICAgICAgICAgIyBTaW5jZSB0aGV5IGFyZSBzb3J0ZWQsIGxhc3QubmV0d29ya19hZGRyZXNzIDw9IG5ldC5uZXR3b3JrX2FkZHJlc3MKKyAgICAgICAgICAgICMgaXMgYSBnaXZlbi4KKyAgICAgICAgICAgIGlmIGxhc3QuYnJvYWRjYXN0X2FkZHJlc3MgPj0gbmV0LmJyb2FkY2FzdF9hZGRyZXNzOgorICAgICAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgIHlpZWxkIG5ldAorICAgICAgICBsYXN0ID0gbmV0CiAKIAogZGVmIGNvbGxhcHNlX2FkZHJlc3NlcyhhZGRyZXNzZXMpOgpAQCAtMzI0LDcgKzMyMSw2IEBACiAgICAgICAgIFR5cGVFcnJvcjogSWYgcGFzc2VkIGEgbGlzdCBvZiBtaXhlZCB2ZXJzaW9uIG9iamVjdHMuCiAKICAgICAiIiIKLSAgICBpID0gMAogICAgIGFkZHJzID0gW10KICAgICBpcHMgPSBbXQogICAgIG5ldHMgPSBbXQpAQCAtMzUyLDE1ICszNDgsMTMgQEAKIAogICAgICMgc29ydCBhbmQgZGVkdXAKICAgICBpcHMgPSBzb3J0ZWQoc2V0KGlwcykpCi0gICAgbmV0cyA9IHNvcnRlZChzZXQobmV0cykpCiAKLSAgICB3aGlsZSBpIDwgbGVuKGlwcyk6Ci0gICAgICAgIChmaXJzdCwgbGFzdCkgPSBfZmluZF9hZGRyZXNzX3JhbmdlKGlwc1tpOl0pCi0gICAgICAgIGkgPSBpcHMuaW5kZXgobGFzdCkgKyAxCi0gICAgICAgIGFkZHJzLmV4dGVuZChzdW1tYXJpemVfYWRkcmVzc19yYW5nZShmaXJzdCwgbGFzdCkpCisgICAgIyBmaW5kIGNvbnNlY3V0aXZlIGFkZHJlc3MgcmFuZ2VzIGluIHRoZSBzb3J0ZWQgc2VxdWVuY2UgYW5kIHN1bW1hcml6ZSB0aGVtCisgICAgaWYgaXBzOgorICAgICAgICBmb3IgZmlyc3QsIGxhc3QgaW4gX2ZpbmRfYWRkcmVzc19yYW5nZShpcHMpOgorICAgICAgICAgICAgYWRkcnMuZXh0ZW5kKHN1bW1hcml6ZV9hZGRyZXNzX3JhbmdlKGZpcnN0LCBsYXN0KSkKIAotICAgIHJldHVybiBpdGVyKF9jb2xsYXBzZV9hZGRyZXNzZXNfcmVjdXJzaXZlKHNvcnRlZCgKLSAgICAgICAgYWRkcnMgKyBuZXRzLCBrZXk9X0Jhc2VOZXR3b3JrLl9nZXRfbmV0d29ya3Nfa2V5KSkpCisgICAgcmV0dXJuIF9jb2xsYXBzZV9hZGRyZXNzZXNfaW50ZXJuYWwoYWRkcnMgKyBuZXRzKQogCiAKIGRlZiBnZXRfbWl4ZWRfdHlwZV9rZXkob2JqKToKQEAgLTM5Miw2ICszODYsOCBAQAogCiAgICAgIiIiVGhlIG1vdGhlciBjbGFzcy4iIiIKIAorICAgIF9fc2xvdHNfXyA9ICgpCisKICAgICBAcHJvcGVydHkKICAgICBkZWYgZXhwbG9kZWQoc2VsZik6CiAgICAgICAgICIiIlJldHVybiB0aGUgbG9uZ2hhbmQgdmVyc2lvbiBvZiB0aGUgSVAgYWRkcmVzcyBhcyBhIHN0cmluZy4iIiIKQEAgLTQwMyw2ICszOTksMTcgQEAKICAgICAgICAgcmV0dXJuIHN0cihzZWxmKQogCiAgICAgQHByb3BlcnR5CisgICAgZGVmIHJldmVyc2VfcG9pbnRlcihzZWxmKToKKyAgICAgICAgIiIiVGhlIG5hbWUgb2YgdGhlIHJldmVyc2UgRE5TIHBvaW50ZXIgZm9yIHRoZSBJUCBhZGRyZXNzLCBlLmcuOgorICAgICAgICAgICAgPj4+IGlwYWRkcmVzcy5pcF9hZGRyZXNzKCIxMjcuMC4wLjEiKS5yZXZlcnNlX3BvaW50ZXIKKyAgICAgICAgICAgICcxLjAuMC4xMjcuaW4tYWRkci5hcnBhJworICAgICAgICAgICAgPj4+IGlwYWRkcmVzcy5pcF9hZGRyZXNzKCIyMDAxOmRiODo6MSIpLnJldmVyc2VfcG9pbnRlcgorICAgICAgICAgICAgJzEuMC4wLjAuMC4wLjAuMC4wLjAuMC4wLjAuMC4wLjAuMC4wLjAuMC4wLjAuMC4wLjguYi5kLjAuMS4wLjAuMi5pcDYuYXJwYScKKworICAgICAgICAiIiIKKyAgICAgICAgcmV0dXJuIHNlbGYuX3JldmVyc2VfcG9pbnRlcigpCisKKyAgICBAcHJvcGVydHkKICAgICBkZWYgdmVyc2lvbihzZWxmKToKICAgICAgICAgbXNnID0gJyUyMDBzIGhhcyBubyB2ZXJzaW9uIHNwZWNpZmllZCcgJSAodHlwZShzZWxmKSwpCiAgICAgICAgIHJhaXNlIE5vdEltcGxlbWVudGVkRXJyb3IobXNnKQpAQCAtNDIzLDcgKzQzMCw4IEBACiAgICAgICAgICAgICByYWlzZSBBZGRyZXNzVmFsdWVFcnJvcihtc2cgJSAoYWRkcmVzcywgYWRkcmVzc19sZW4sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwZWN0ZWRfbGVuLCBzZWxmLl92ZXJzaW9uKSkKIAotICAgIGRlZiBfaXBfaW50X2Zyb21fcHJlZml4KHNlbGYsIHByZWZpeGxlbik6CisgICAgQGNsYXNzbWV0aG9kCisgICAgZGVmIF9pcF9pbnRfZnJvbV9wcmVmaXgoY2xzLCBwcmVmaXhsZW4pOgogICAgICAgICAiIiJUdXJuIHRoZSBwcmVmaXggbGVuZ3RoIGludG8gYSBiaXR3aXNlIG5ldG1hc2sKIAogICAgICAgICBBcmdzOgpAQCAtNDMzLDkgKzQ0MSwxMCBAQAogICAgICAgICAgICAgQW4gaW50ZWdlci4KIAogICAgICAgICAiIiIKLSAgICAgICAgcmV0dXJuIHNlbGYuX0FMTF9PTkVTIF4gKHNlbGYuX0FMTF9PTkVTID4+IHByZWZpeGxlbikKKyAgICAgICAgcmV0dXJuIGNscy5fQUxMX09ORVMgXiAoY2xzLl9BTExfT05FUyA+PiBwcmVmaXhsZW4pCiAKLSAgICBkZWYgX3ByZWZpeF9mcm9tX2lwX2ludChzZWxmLCBpcF9pbnQpOgorICAgIEBjbGFzc21ldGhvZAorICAgIGRlZiBfcHJlZml4X2Zyb21faXBfaW50KGNscywgaXBfaW50KToKICAgICAgICAgIiIiUmV0dXJuIHByZWZpeCBsZW5ndGggZnJvbSB0aGUgYml0d2lzZSBuZXRtYXNrLgogCiAgICAgICAgIEFyZ3M6CkBAIC00NDgsMjIgKzQ1NywyNCBAQAogICAgICAgICAgICAgVmFsdWVFcnJvcjogSWYgdGhlIGlucHV0IGludGVybWluZ2xlcyB6ZXJvZXMgJiBvbmVzCiAgICAgICAgICIiIgogICAgICAgICB0cmFpbGluZ196ZXJvZXMgPSBfY291bnRfcmlnaHRoYW5kX3plcm9fYml0cyhpcF9pbnQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX21heF9wcmVmaXhsZW4pCi0gICAgICAgIHByZWZpeGxlbiA9IHNlbGYuX21heF9wcmVmaXhsZW4gLSB0cmFpbGluZ196ZXJvZXMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xzLl9tYXhfcHJlZml4bGVuKQorICAgICAgICBwcmVmaXhsZW4gPSBjbHMuX21heF9wcmVmaXhsZW4gLSB0cmFpbGluZ196ZXJvZXMKICAgICAgICAgbGVhZGluZ19vbmVzID0gaXBfaW50ID4+IHRyYWlsaW5nX3plcm9lcwogICAgICAgICBhbGxfb25lcyA9ICgxIDw8IHByZWZpeGxlbikgLSAxCiAgICAgICAgIGlmIGxlYWRpbmdfb25lcyAhPSBhbGxfb25lczoKLSAgICAgICAgICAgIGJ5dGVzbGVuID0gc2VsZi5fbWF4X3ByZWZpeGxlbiAvLyA4CisgICAgICAgICAgICBieXRlc2xlbiA9IGNscy5fbWF4X3ByZWZpeGxlbiAvLyA4CiAgICAgICAgICAgICBkZXRhaWxzID0gaXBfaW50LnRvX2J5dGVzKGJ5dGVzbGVuLCAnYmlnJykKICAgICAgICAgICAgIG1zZyA9ICdOZXRtYXNrIHBhdHRlcm4gJXIgbWl4ZXMgemVyb2VzICYgb25lcycKICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IobXNnICUgZGV0YWlscykKICAgICAgICAgcmV0dXJuIHByZWZpeGxlbgogCi0gICAgZGVmIF9yZXBvcnRfaW52YWxpZF9uZXRtYXNrKHNlbGYsIG5ldG1hc2tfc3RyKToKKyAgICBAY2xhc3NtZXRob2QKKyAgICBkZWYgX3JlcG9ydF9pbnZhbGlkX25ldG1hc2soY2xzLCBuZXRtYXNrX3N0cik6CiAgICAgICAgIG1zZyA9ICclciBpcyBub3QgYSB2YWxpZCBuZXRtYXNrJyAlIG5ldG1hc2tfc3RyCiAgICAgICAgIHJhaXNlIE5ldG1hc2tWYWx1ZUVycm9yKG1zZykgZnJvbSBOb25lCiAKLSAgICBkZWYgX3ByZWZpeF9mcm9tX3ByZWZpeF9zdHJpbmcoc2VsZiwgcHJlZml4bGVuX3N0cik6CisgICAgQGNsYXNzbWV0aG9kCisgICAgZGVmIF9wcmVmaXhfZnJvbV9wcmVmaXhfc3RyaW5nKGNscywgcHJlZml4bGVuX3N0cik6CiAgICAgICAgICIiIlJldHVybiBwcmVmaXggbGVuZ3RoIGZyb20gYSBudW1lcmljIHN0cmluZwogCiAgICAgICAgIEFyZ3M6CkBAIC00NzgsMTYgKzQ4OSwxNyBAQAogICAgICAgICAjIGludCBhbGxvd3MgYSBsZWFkaW5nICsvLSBhcyB3ZWxsIGFzIHN1cnJvdW5kaW5nIHdoaXRlc3BhY2UsCiAgICAgICAgICMgc28gd2UgZW5zdXJlIHRoYXQgaXNuJ3QgdGhlIGNhc2UKICAgICAgICAgaWYgbm90IF9CYXNlVjQuX0RFQ0lNQUxfRElHSVRTLmlzc3VwZXJzZXQocHJlZml4bGVuX3N0cik6Ci0gICAgICAgICAgICBzZWxmLl9yZXBvcnRfaW52YWxpZF9uZXRtYXNrKHByZWZpeGxlbl9zdHIpCisgICAgICAgICAgICBjbHMuX3JlcG9ydF9pbnZhbGlkX25ldG1hc2socHJlZml4bGVuX3N0cikKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgcHJlZml4bGVuID0gaW50KHByZWZpeGxlbl9zdHIpCiAgICAgICAgIGV4Y2VwdCBWYWx1ZUVycm9yOgotICAgICAgICAgICAgc2VsZi5fcmVwb3J0X2ludmFsaWRfbmV0bWFzayhwcmVmaXhsZW5fc3RyKQotICAgICAgICBpZiBub3QgKDAgPD0gcHJlZml4bGVuIDw9IHNlbGYuX21heF9wcmVmaXhsZW4pOgotICAgICAgICAgICAgc2VsZi5fcmVwb3J0X2ludmFsaWRfbmV0bWFzayhwcmVmaXhsZW5fc3RyKQorICAgICAgICAgICAgY2xzLl9yZXBvcnRfaW52YWxpZF9uZXRtYXNrKHByZWZpeGxlbl9zdHIpCisgICAgICAgIGlmIG5vdCAoMCA8PSBwcmVmaXhsZW4gPD0gY2xzLl9tYXhfcHJlZml4bGVuKToKKyAgICAgICAgICAgIGNscy5fcmVwb3J0X2ludmFsaWRfbmV0bWFzayhwcmVmaXhsZW5fc3RyKQogICAgICAgICByZXR1cm4gcHJlZml4bGVuCiAKLSAgICBkZWYgX3ByZWZpeF9mcm9tX2lwX3N0cmluZyhzZWxmLCBpcF9zdHIpOgorICAgIEBjbGFzc21ldGhvZAorICAgIGRlZiBfcHJlZml4X2Zyb21faXBfc3RyaW5nKGNscywgaXBfc3RyKToKICAgICAgICAgIiIiVHVybiBhIG5ldG1hc2svaG9zdG1hc2sgc3RyaW5nIGludG8gYSBwcmVmaXggbGVuZ3RoCiAKICAgICAgICAgQXJnczoKQEAgLTUwMSwyNCArNTEzLDI3IEBACiAgICAgICAgICIiIgogICAgICAgICAjIFBhcnNlIHRoZSBuZXRtYXNrL2hvc3RtYXNrIGxpa2UgYW4gSVAgYWRkcmVzcy4KICAgICAgICAgdHJ5OgotICAgICAgICAgICAgaXBfaW50ID0gc2VsZi5faXBfaW50X2Zyb21fc3RyaW5nKGlwX3N0cikKKyAgICAgICAgICAgIGlwX2ludCA9IGNscy5faXBfaW50X2Zyb21fc3RyaW5nKGlwX3N0cikKICAgICAgICAgZXhjZXB0IEFkZHJlc3NWYWx1ZUVycm9yOgotICAgICAgICAgICAgc2VsZi5fcmVwb3J0X2ludmFsaWRfbmV0bWFzayhpcF9zdHIpCisgICAgICAgICAgICBjbHMuX3JlcG9ydF9pbnZhbGlkX25ldG1hc2soaXBfc3RyKQogCiAgICAgICAgICMgVHJ5IG1hdGNoaW5nIGEgbmV0bWFzayAodGhpcyB3b3VsZCBiZSAvMSowKi8gYXMgYSBiaXR3aXNlIHJlZ2V4cCkuCiAgICAgICAgICMgTm90ZSB0aGF0IHRoZSB0d28gYW1iaWd1b3VzIGNhc2VzIChhbGwtb25lcyBhbmQgYWxsLXplcm9lcykgYXJlCiAgICAgICAgICMgdHJlYXRlZCBhcyBuZXRtYXNrcy4KICAgICAgICAgdHJ5OgotICAgICAgICAgICAgcmV0dXJuIHNlbGYuX3ByZWZpeF9mcm9tX2lwX2ludChpcF9pbnQpCisgICAgICAgICAgICByZXR1cm4gY2xzLl9wcmVmaXhfZnJvbV9pcF9pbnQoaXBfaW50KQogICAgICAgICBleGNlcHQgVmFsdWVFcnJvcjoKICAgICAgICAgICAgIHBhc3MKIAogICAgICAgICAjIEludmVydCB0aGUgYml0cywgYW5kIHRyeSBtYXRjaGluZyBhIC8wKzErLyBob3N0bWFzayBpbnN0ZWFkLgotICAgICAgICBpcF9pbnQgXj0gc2VsZi5fQUxMX09ORVMKKyAgICAgICAgaXBfaW50IF49IGNscy5fQUxMX09ORVMKICAgICAgICAgdHJ5OgotICAgICAgICAgICAgcmV0dXJuIHNlbGYuX3ByZWZpeF9mcm9tX2lwX2ludChpcF9pbnQpCisgICAgICAgICAgICByZXR1cm4gY2xzLl9wcmVmaXhfZnJvbV9pcF9pbnQoaXBfaW50KQogICAgICAgICBleGNlcHQgVmFsdWVFcnJvcjoKLSAgICAgICAgICAgIHNlbGYuX3JlcG9ydF9pbnZhbGlkX25ldG1hc2soaXBfc3RyKQorICAgICAgICAgICAgY2xzLl9yZXBvcnRfaW52YWxpZF9uZXRtYXNrKGlwX3N0cikKKworICAgIGRlZiBfX3JlZHVjZV9fKHNlbGYpOgorICAgICAgICByZXR1cm4gc2VsZi5fX2NsYXNzX18sIChzdHIoc2VsZiksKQogCiAKIEBmdW5jdG9vbHMudG90YWxfb3JkZXJpbmcKQEAgLTUzMCwxMCArNTQ1LDcgQEAKICAgICB1c2VkIGJ5IHNpbmdsZSBJUCBhZGRyZXNzZXMuCiAgICAgIiIiCiAKLSAgICBkZWYgX19pbml0X18oc2VsZiwgYWRkcmVzcyk6Ci0gICAgICAgIGlmIChub3QgaXNpbnN0YW5jZShhZGRyZXNzLCBieXRlcykKLSAgICAgICAgICAgIGFuZCAnLycgaW4gc3RyKGFkZHJlc3MpKToKLSAgICAgICAgICAgIHJhaXNlIEFkZHJlc3NWYWx1ZUVycm9yKCJVbmV4cGVjdGVkICcvJyBpbiAlciIgJSBhZGRyZXNzKQorICAgIF9fc2xvdHNfXyA9ICgpCiAKICAgICBkZWYgX19pbnRfXyhzZWxmKToKICAgICAgICAgcmV0dXJuIHNlbGYuX2lwCkBAIC01NzksNiArNTkxLDkgQEAKICAgICBkZWYgX2dldF9hZGRyZXNzX2tleShzZWxmKToKICAgICAgICAgcmV0dXJuIChzZWxmLl92ZXJzaW9uLCBzZWxmKQogCisgICAgZGVmIF9fcmVkdWNlX18oc2VsZik6CisgICAgICAgIHJldHVybiBzZWxmLl9fY2xhc3NfXywgKHNlbGYuX2lwLCkKKwogCiBAZnVuY3Rvb2xzLnRvdGFsX29yZGVyaW5nCiBjbGFzcyBfQmFzZU5ldHdvcmsoX0lQQWRkcmVzc0Jhc2UpOgpAQCAtNzY1LDcgKzc4MCw3IEBACiAgICAgICAgICAgICAgICAgb3RoZXIuYnJvYWRjYXN0X2FkZHJlc3MgPD0gc2VsZi5icm9hZGNhc3RfYWRkcmVzcyk6CiAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCclcyBub3QgY29udGFpbmVkIGluICVzJyAlIChvdGhlciwgc2VsZikpCiAgICAgICAgIGlmIG90aGVyID09IHNlbGY6Ci0gICAgICAgICAgICByYWlzZSBTdG9wSXRlcmF0aW9uCisgICAgICAgICAgICByZXR1cm4KIAogICAgICAgICAjIE1ha2Ugc3VyZSB3ZSdyZSBjb21wYXJpbmcgdGhlIG5ldHdvcmsgb2Ygb3RoZXIuCiAgICAgICAgIG90aGVyID0gb3RoZXIuX19jbGFzc19fKCclcy8lcycgJSAob3RoZXIubmV0d29ya19hZGRyZXNzLApAQCAtOTAwLDIwICs5MTUsMTEgQEAKICAgICAgICAgICAgICAgICAncHJlZml4IGxlbmd0aCBkaWZmICVkIGlzIGludmFsaWQgZm9yIG5ldGJsb2NrICVzJyAlICgKICAgICAgICAgICAgICAgICAgICAgbmV3X3ByZWZpeGxlbiwgc2VsZikpCiAKLSAgICAgICAgZmlyc3QgPSBzZWxmLl9fY2xhc3NfXygnJXMvJXMnICUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzZWxmLm5ldHdvcmtfYWRkcmVzcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9wcmVmaXhsZW4gKyBwcmVmaXhsZW5fZGlmZikpCi0KLSAgICAgICAgeWllbGQgZmlyc3QKLSAgICAgICAgY3VycmVudCA9IGZpcnN0Ci0gICAgICAgIHdoaWxlIFRydWU6Ci0gICAgICAgICAgICBicm9hZGNhc3QgPSBjdXJyZW50LmJyb2FkY2FzdF9hZGRyZXNzCi0gICAgICAgICAgICBpZiBicm9hZGNhc3QgPT0gc2VsZi5icm9hZGNhc3RfYWRkcmVzczoKLSAgICAgICAgICAgICAgICByZXR1cm4KLSAgICAgICAgICAgIG5ld19hZGRyID0gc2VsZi5fYWRkcmVzc19jbGFzcyhpbnQoYnJvYWRjYXN0KSArIDEpCi0gICAgICAgICAgICBjdXJyZW50ID0gc2VsZi5fX2NsYXNzX18oJyVzLyVzJyAlIChuZXdfYWRkciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld19wcmVmaXhsZW4pKQotCisgICAgICAgIHN0YXJ0ID0gaW50KHNlbGYubmV0d29ya19hZGRyZXNzKQorICAgICAgICBlbmQgPSBpbnQoc2VsZi5icm9hZGNhc3RfYWRkcmVzcykKKyAgICAgICAgc3RlcCA9IChpbnQoc2VsZi5ob3N0bWFzaykgKyAxKSA+PiBwcmVmaXhsZW5fZGlmZgorICAgICAgICBmb3IgbmV3X2FkZHIgaW4gcmFuZ2Uoc3RhcnQsIGVuZCwgc3RlcCk6CisgICAgICAgICAgICBjdXJyZW50ID0gc2VsZi5fX2NsYXNzX18oKG5ld19hZGRyLCBuZXdfcHJlZml4bGVuKSkKICAgICAgICAgICAgIHlpZWxkIGN1cnJlbnQKIAogICAgIGRlZiBzdXBlcm5ldChzZWxmLCBwcmVmaXhsZW5fZGlmZj0xLCBuZXdfcHJlZml4PU5vbmUpOgpAQCAtOTQ3LDE1ICs5NTMsMTUgQEAKICAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCdjYW5ub3Qgc2V0IHByZWZpeGxlbl9kaWZmIGFuZCBuZXdfcHJlZml4JykKICAgICAgICAgICAgIHByZWZpeGxlbl9kaWZmID0gc2VsZi5fcHJlZml4bGVuIC0gbmV3X3ByZWZpeAogCi0gICAgICAgIGlmIHNlbGYucHJlZml4bGVuIC0gcHJlZml4bGVuX2RpZmYgPCAwOgorICAgICAgICBuZXdfcHJlZml4bGVuID0gc2VsZi5wcmVmaXhsZW4gLSBwcmVmaXhsZW5fZGlmZgorICAgICAgICBpZiBuZXdfcHJlZml4bGVuIDwgMDoKICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoCiAgICAgICAgICAgICAgICAgJ2N1cnJlbnQgcHJlZml4bGVuIGlzICVkLCBjYW5ub3QgaGF2ZSBhIHByZWZpeGxlbl9kaWZmIG9mICVkJyAlCiAgICAgICAgICAgICAgICAgKHNlbGYucHJlZml4bGVuLCBwcmVmaXhsZW5fZGlmZikpCi0gICAgICAgICMgVE9ETyAocG1vb2R5KTogb3B0aW1pemUgdGhpcy4KLSAgICAgICAgdCA9IHNlbGYuX19jbGFzc19fKCclcy8lZCcgJSAoc2VsZi5uZXR3b3JrX2FkZHJlc3MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYucHJlZml4bGVuIC0gcHJlZml4bGVuX2RpZmYpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmljdD1GYWxzZSkKLSAgICAgICAgcmV0dXJuIHQuX19jbGFzc19fKCclcy8lZCcgJSAodC5uZXR3b3JrX2FkZHJlc3MsIHQucHJlZml4bGVuKSkKKyAgICAgICAgcmV0dXJuIHNlbGYuX19jbGFzc19fKCgKKyAgICAgICAgICAgIGludChzZWxmLm5ldHdvcmtfYWRkcmVzcykgJiAoaW50KHNlbGYubmV0bWFzaykgPDwgcHJlZml4bGVuX2RpZmYpLAorICAgICAgICAgICAgbmV3X3ByZWZpeGxlbgorICAgICAgICAgICAgKSkKIAogICAgIEBwcm9wZXJ0eQogICAgIGRlZiBpc19tdWx0aWNhc3Qoc2VsZik6CkBAIC0xMDQ5LDIxICsxMDU1LDQ5IEBACiAKICAgICAiIiIKIAorICAgIF9fc2xvdHNfXyA9ICgpCisgICAgX3ZlcnNpb24gPSA0CiAgICAgIyBFcXVpdmFsZW50IHRvIDI1NS4yNTUuMjU1LjI1NSBvciAzMiBiaXRzIG9mIDEncy4KICAgICBfQUxMX09ORVMgPSAoMioqSVBWNExFTkdUSCkgLSAxCiAgICAgX0RFQ0lNQUxfRElHSVRTID0gZnJvemVuc2V0KCcwMTIzNDU2Nzg5JykKIAogICAgICMgdGhlIHZhbGlkIG9jdGV0cyBmb3IgaG9zdCBhbmQgbmV0bWFza3MuIG9ubHkgdXNlZnVsIGZvciBJUHY0LgotICAgIF92YWxpZF9tYXNrX29jdGV0cyA9IGZyb3plbnNldCgoMjU1LCAyNTQsIDI1MiwgMjQ4LCAyNDAsIDIyNCwgMTkyLCAxMjgsIDApKQorICAgIF92YWxpZF9tYXNrX29jdGV0cyA9IGZyb3plbnNldCh7MjU1LCAyNTQsIDI1MiwgMjQ4LCAyNDAsIDIyNCwgMTkyLCAxMjgsIDB9KQogCi0gICAgZGVmIF9faW5pdF9fKHNlbGYsIGFkZHJlc3MpOgotICAgICAgICBzZWxmLl92ZXJzaW9uID0gNAotICAgICAgICBzZWxmLl9tYXhfcHJlZml4bGVuID0gSVBWNExFTkdUSAorICAgIF9tYXhfcHJlZml4bGVuID0gSVBWNExFTkdUSAorICAgICMgVGhlcmUgYXJlIG9ubHkgYSBoYW5kZnVsIG9mIHZhbGlkIHY0IG5ldG1hc2tzLCBzbyB3ZSBjYWNoZSB0aGVtIGFsbAorICAgICMgd2hlbiBjb25zdHJ1Y3RlZCAoc2VlIF9tYWtlX25ldG1hc2soKSkuCisgICAgX25ldG1hc2tfY2FjaGUgPSB7fQogCiAgICAgZGVmIF9leHBsb2RlX3Nob3J0aGFuZF9pcF9zdHJpbmcoc2VsZik6CiAgICAgICAgIHJldHVybiBzdHIoc2VsZikKIAotICAgIGRlZiBfaXBfaW50X2Zyb21fc3RyaW5nKHNlbGYsIGlwX3N0cik6CisgICAgQGNsYXNzbWV0aG9kCisgICAgZGVmIF9tYWtlX25ldG1hc2soY2xzLCBhcmcpOgorICAgICAgICAiIiJNYWtlIGEgKG5ldG1hc2ssIHByZWZpeF9sZW4pIHR1cGxlIGZyb20gdGhlIGdpdmVuIGFyZ3VtZW50LgorCisgICAgICAgIEFyZ3VtZW50IGNhbiBiZToKKyAgICAgICAgLSBhbiBpbnRlZ2VyICh0aGUgcHJlZml4IGxlbmd0aCkKKyAgICAgICAgLSBhIHN0cmluZyByZXByZXNlbnRpbmcgdGhlIHByZWZpeCBsZW5ndGggKGUuZy4gIjI0IikKKyAgICAgICAgLSBhIHN0cmluZyByZXByZXNlbnRpbmcgdGhlIHByZWZpeCBuZXRtYXNrIChlLmcuICIyNTUuMjU1LjI1NS4wIikKKyAgICAgICAgIiIiCisgICAgICAgIGlmIGFyZyBub3QgaW4gY2xzLl9uZXRtYXNrX2NhY2hlOgorICAgICAgICAgICAgaWYgaXNpbnN0YW5jZShhcmcsIGludCk6CisgICAgICAgICAgICAgICAgcHJlZml4bGVuID0gYXJnCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICAgICAgIyBDaGVjayBmb3IgYSBuZXRtYXNrIGluIHByZWZpeCBsZW5ndGggZm9ybQorICAgICAgICAgICAgICAgICAgICBwcmVmaXhsZW4gPSBjbHMuX3ByZWZpeF9mcm9tX3ByZWZpeF9zdHJpbmcoYXJnKQorICAgICAgICAgICAgICAgIGV4Y2VwdCBOZXRtYXNrVmFsdWVFcnJvcjoKKyAgICAgICAgICAgICAgICAgICAgIyBDaGVjayBmb3IgYSBuZXRtYXNrIG9yIGhvc3RtYXNrIGluIGRvdHRlZC1xdWFkIGZvcm0uCisgICAgICAgICAgICAgICAgICAgICMgVGhpcyBtYXkgcmFpc2UgTmV0bWFza1ZhbHVlRXJyb3IuCisgICAgICAgICAgICAgICAgICAgIHByZWZpeGxlbiA9IGNscy5fcHJlZml4X2Zyb21faXBfc3RyaW5nKGFyZykKKyAgICAgICAgICAgIG5ldG1hc2sgPSBJUHY0QWRkcmVzcyhjbHMuX2lwX2ludF9mcm9tX3ByZWZpeChwcmVmaXhsZW4pKQorICAgICAgICAgICAgY2xzLl9uZXRtYXNrX2NhY2hlW2FyZ10gPSBuZXRtYXNrLCBwcmVmaXhsZW4KKyAgICAgICAgcmV0dXJuIGNscy5fbmV0bWFza19jYWNoZVthcmddCisKKyAgICBAY2xhc3NtZXRob2QKKyAgICBkZWYgX2lwX2ludF9mcm9tX3N0cmluZyhjbHMsIGlwX3N0cik6CiAgICAgICAgICIiIlR1cm4gdGhlIGdpdmVuIElQIHN0cmluZyBpbnRvIGFuIGludGVnZXIgZm9yIGNvbXBhcmlzb24uCiAKICAgICAgICAgQXJnczoKQEAgLTEwODQsMTEgKzExMTgsMTIgQEAKICAgICAgICAgICAgIHJhaXNlIEFkZHJlc3NWYWx1ZUVycm9yKCJFeHBlY3RlZCA0IG9jdGV0cyBpbiAlciIgJSBpcF9zdHIpCiAKICAgICAgICAgdHJ5OgotICAgICAgICAgICAgcmV0dXJuIGludC5mcm9tX2J5dGVzKG1hcChzZWxmLl9wYXJzZV9vY3RldCwgb2N0ZXRzKSwgJ2JpZycpCisgICAgICAgICAgICByZXR1cm4gaW50LmZyb21fYnl0ZXMobWFwKGNscy5fcGFyc2Vfb2N0ZXQsIG9jdGV0cyksICdiaWcnKQogICAgICAgICBleGNlcHQgVmFsdWVFcnJvciBhcyBleGM6CiAgICAgICAgICAgICByYWlzZSBBZGRyZXNzVmFsdWVFcnJvcigiJXMgaW4gJXIiICUgKGV4YywgaXBfc3RyKSkgZnJvbSBOb25lCiAKLSAgICBkZWYgX3BhcnNlX29jdGV0KHNlbGYsIG9jdGV0X3N0cik6CisgICAgQGNsYXNzbWV0aG9kCisgICAgZGVmIF9wYXJzZV9vY3RldChjbHMsIG9jdGV0X3N0cik6CiAgICAgICAgICIiIkNvbnZlcnQgYSBkZWNpbWFsIG9jdGV0IGludG8gYW4gaW50ZWdlci4KIAogICAgICAgICBBcmdzOgpAQCAtMTEwNCw3ICsxMTM5LDcgQEAKICAgICAgICAgaWYgbm90IG9jdGV0X3N0cjoKICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIkVtcHR5IG9jdGV0IG5vdCBwZXJtaXR0ZWQiKQogICAgICAgICAjIFdoaXRlbGlzdCB0aGUgY2hhcmFjdGVycywgc2luY2UgaW50KCkgYWxsb3dzIGEgbG90IG9mIGJpemFycmUgc3R1ZmYuCi0gICAgICAgIGlmIG5vdCBzZWxmLl9ERUNJTUFMX0RJR0lUUy5pc3N1cGVyc2V0KG9jdGV0X3N0cik6CisgICAgICAgIGlmIG5vdCBjbHMuX0RFQ0lNQUxfRElHSVRTLmlzc3VwZXJzZXQob2N0ZXRfc3RyKToKICAgICAgICAgICAgIG1zZyA9ICJPbmx5IGRlY2ltYWwgZGlnaXRzIHBlcm1pdHRlZCBpbiAlciIKICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IobXNnICUgb2N0ZXRfc3RyKQogICAgICAgICAjIFdlIGRvIHRoZSBsZW5ndGggY2hlY2sgc2Vjb25kLCBzaW5jZSB0aGUgaW52YWxpZCBjaGFyYWN0ZXIgZXJyb3IKQEAgLTExMjQsNyArMTE1OSw4IEBACiAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJPY3RldCAlZCAoPiAyNTUpIG5vdCBwZXJtaXR0ZWQiICUgb2N0ZXRfaW50KQogICAgICAgICByZXR1cm4gb2N0ZXRfaW50CiAKLSAgICBkZWYgX3N0cmluZ19mcm9tX2lwX2ludChzZWxmLCBpcF9pbnQpOgorICAgIEBjbGFzc21ldGhvZAorICAgIGRlZiBfc3RyaW5nX2Zyb21faXBfaW50KGNscywgaXBfaW50KToKICAgICAgICAgIiIiVHVybnMgYSAzMi1iaXQgaW50ZWdlciBpbnRvIGRvdHRlZCBkZWNpbWFsIG5vdGF0aW9uLgogCiAgICAgICAgIEFyZ3M6CkBAIC0xMTg4LDYgKzEyMjQsMTUgQEAKICAgICAgICAgICAgIHJldHVybiBUcnVlCiAgICAgICAgIHJldHVybiBGYWxzZQogCisgICAgZGVmIF9yZXZlcnNlX3BvaW50ZXIoc2VsZik6CisgICAgICAgICIiIlJldHVybiB0aGUgcmV2ZXJzZSBETlMgcG9pbnRlciBuYW1lIGZvciB0aGUgSVB2NCBhZGRyZXNzLgorCisgICAgICAgIFRoaXMgaW1wbGVtZW50cyB0aGUgbWV0aG9kIGRlc2NyaWJlZCBpbiBSRkMxMDM1IDMuNS4KKworICAgICAgICAiIiIKKyAgICAgICAgcmV2ZXJzZV9vY3RldHMgPSBzdHIoc2VsZikuc3BsaXQoJy4nKVs6Oi0xXQorICAgICAgICByZXR1cm4gJy4nLmpvaW4ocmV2ZXJzZV9vY3RldHMpICsgJy5pbi1hZGRyLmFycGEnCisKICAgICBAcHJvcGVydHkKICAgICBkZWYgbWF4X3ByZWZpeGxlbihzZWxmKToKICAgICAgICAgcmV0dXJuIHNlbGYuX21heF9wcmVmaXhsZW4KQEAgLTEyMDEsNiArMTI0Niw4IEBACiAKICAgICAiIiJSZXByZXNlbnQgYW5kIG1hbmlwdWxhdGUgc2luZ2xlIElQdjQgQWRkcmVzc2VzLiIiIgogCisgICAgX19zbG90c19fID0gKCdfaXAnLCAnX193ZWFrcmVmX18nKQorCiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIGFkZHJlc3MpOgogCiAgICAgICAgICIiIgpAQCAtMTIxNyw5ICsxMjY0LDYgQEAKICAgICAgICAgICAgIEFkZHJlc3NWYWx1ZUVycm9yOiBJZiBpcGFkZHJlc3MgaXNuJ3QgYSB2YWxpZCBJUHY0IGFkZHJlc3MuCiAKICAgICAgICAgIiIiCi0gICAgICAgIF9CYXNlQWRkcmVzcy5fX2luaXRfXyhzZWxmLCBhZGRyZXNzKQotICAgICAgICBfQmFzZVY0Ll9faW5pdF9fKHNlbGYsIGFkZHJlc3MpCi0KICAgICAgICAgIyBFZmZpY2llbnQgY29uc3RydWN0b3IgZnJvbSBpbnRlZ2VyLgogICAgICAgICBpZiBpc2luc3RhbmNlKGFkZHJlc3MsIGludCk6CiAgICAgICAgICAgICBzZWxmLl9jaGVja19pbnRfYWRkcmVzcyhhZGRyZXNzKQpAQCAtMTIzNSw2ICsxMjc5LDggQEAKICAgICAgICAgIyBBc3N1bWUgaW5wdXQgYXJndW1lbnQgdG8gYmUgc3RyaW5nIG9yIGFueSBvYmplY3QgcmVwcmVzZW50YXRpb24KICAgICAgICAgIyB3aGljaCBjb252ZXJ0cyBpbnRvIGEgZm9ybWF0dGVkIElQIHN0cmluZy4KICAgICAgICAgYWRkcl9zdHIgPSBzdHIoYWRkcmVzcykKKyAgICAgICAgaWYgJy8nIGluIGFkZHJfc3RyOgorICAgICAgICAgICAgcmFpc2UgQWRkcmVzc1ZhbHVlRXJyb3IoIlVuZXhwZWN0ZWQgJy8nIGluICVyIiAlIGFkZHJlc3MpCiAgICAgICAgIHNlbGYuX2lwID0gc2VsZi5faXBfaW50X2Zyb21fc3RyaW5nKGFkZHJfc3RyKQogCiAgICAgQHByb3BlcnR5CkBAIC0xMjUxLDggKzEyOTcsNyBAQAogICAgICAgICAgICAgIHJlc2VydmVkIElQdjQgTmV0d29yayByYW5nZS4KIAogICAgICAgICAiIiIKLSAgICAgICAgcmVzZXJ2ZWRfbmV0d29yayA9IElQdjROZXR3b3JrKCcyNDAuMC4wLjAvNCcpCi0gICAgICAgIHJldHVybiBzZWxmIGluIHJlc2VydmVkX25ldHdvcmsKKyAgICAgICAgcmV0dXJuIHNlbGYgaW4gc2VsZi5fY29uc3RhbnRzLl9yZXNlcnZlZF9uZXR3b3JrCiAKICAgICBAcHJvcGVydHkKICAgICBAZnVuY3Rvb2xzLmxydV9jYWNoZSgpCkBAIC0xMjY0LDIxICsxMzA5LDcgQEAKICAgICAgICAgICAgIGlhbmEtaXB2NC1zcGVjaWFsLXJlZ2lzdHJ5LgogCiAgICAgICAgICIiIgotICAgICAgICByZXR1cm4gKHNlbGYgaW4gSVB2NE5ldHdvcmsoJzAuMC4wLjAvOCcpIG9yCi0gICAgICAgICAgICAgICAgc2VsZiBpbiBJUHY0TmV0d29yaygnMTAuMC4wLjAvOCcpIG9yCi0gICAgICAgICAgICAgICAgc2VsZiBpbiBJUHY0TmV0d29yaygnMTI3LjAuMC4wLzgnKSBvcgotICAgICAgICAgICAgICAgIHNlbGYgaW4gSVB2NE5ldHdvcmsoJzE2OS4yNTQuMC4wLzE2Jykgb3IKLSAgICAgICAgICAgICAgICBzZWxmIGluIElQdjROZXR3b3JrKCcxNzIuMTYuMC4wLzEyJykgb3IKLSAgICAgICAgICAgICAgICBzZWxmIGluIElQdjROZXR3b3JrKCcxOTIuMC4wLjAvMjknKSBvcgotICAgICAgICAgICAgICAgIHNlbGYgaW4gSVB2NE5ldHdvcmsoJzE5Mi4wLjAuMTcwLzMxJykgb3IKLSAgICAgICAgICAgICAgICBzZWxmIGluIElQdjROZXR3b3JrKCcxOTIuMC4yLjAvMjQnKSBvcgotICAgICAgICAgICAgICAgIHNlbGYgaW4gSVB2NE5ldHdvcmsoJzE5Mi4xNjguMC4wLzE2Jykgb3IKLSAgICAgICAgICAgICAgICBzZWxmIGluIElQdjROZXR3b3JrKCcxOTguMTguMC4wLzE1Jykgb3IKLSAgICAgICAgICAgICAgICBzZWxmIGluIElQdjROZXR3b3JrKCcxOTguNTEuMTAwLjAvMjQnKSBvcgotICAgICAgICAgICAgICAgIHNlbGYgaW4gSVB2NE5ldHdvcmsoJzIwMy4wLjExMy4wLzI0Jykgb3IKLSAgICAgICAgICAgICAgICBzZWxmIGluIElQdjROZXR3b3JrKCcyNDAuMC4wLjAvNCcpIG9yCi0gICAgICAgICAgICAgICAgc2VsZiBpbiBJUHY0TmV0d29yaygnMjU1LjI1NS4yNTUuMjU1LzMyJykpCi0KKyAgICAgICAgcmV0dXJuIGFueShzZWxmIGluIG5ldCBmb3IgbmV0IGluIHNlbGYuX2NvbnN0YW50cy5fcHJpdmF0ZV9uZXR3b3JrcykKIAogICAgIEBwcm9wZXJ0eQogICAgIGRlZiBpc19tdWx0aWNhc3Qoc2VsZik6CkBAIC0xMjg5LDggKzEzMjAsNyBAQAogICAgICAgICAgICAgU2VlIFJGQyAzMTcxIGZvciBkZXRhaWxzLgogCiAgICAgICAgICIiIgotICAgICAgICBtdWx0aWNhc3RfbmV0d29yayA9IElQdjROZXR3b3JrKCcyMjQuMC4wLjAvNCcpCi0gICAgICAgIHJldHVybiBzZWxmIGluIG11bHRpY2FzdF9uZXR3b3JrCisgICAgICAgIHJldHVybiBzZWxmIGluIHNlbGYuX2NvbnN0YW50cy5fbXVsdGljYXN0X25ldHdvcmsKIAogICAgIEBwcm9wZXJ0eQogICAgIGRlZiBpc191bnNwZWNpZmllZChzZWxmKToKQEAgLTEzMDEsOCArMTMzMSw3IEBACiAgICAgICAgICAgICBSRkMgNTczNSAzLgogCiAgICAgICAgICIiIgotICAgICAgICB1bnNwZWNpZmllZF9hZGRyZXNzID0gSVB2NEFkZHJlc3MoJzAuMC4wLjAnKQotICAgICAgICByZXR1cm4gc2VsZiA9PSB1bnNwZWNpZmllZF9hZGRyZXNzCisgICAgICAgIHJldHVybiBzZWxmID09IHNlbGYuX2NvbnN0YW50cy5fdW5zcGVjaWZpZWRfYWRkcmVzcwogCiAgICAgQHByb3BlcnR5CiAgICAgZGVmIGlzX2xvb3BiYWNrKHNlbGYpOgpAQCAtMTMxMiw4ICsxMzQxLDcgQEAKICAgICAgICAgICAgIEEgYm9vbGVhbiwgVHJ1ZSBpZiB0aGUgYWRkcmVzcyBpcyBhIGxvb3BiYWNrIHBlciBSRkMgMzMzMC4KIAogICAgICAgICAiIiIKLSAgICAgICAgbG9vcGJhY2tfbmV0d29yayA9IElQdjROZXR3b3JrKCcxMjcuMC4wLjAvOCcpCi0gICAgICAgIHJldHVybiBzZWxmIGluIGxvb3BiYWNrX25ldHdvcmsKKyAgICAgICAgcmV0dXJuIHNlbGYgaW4gc2VsZi5fY29uc3RhbnRzLl9sb29wYmFja19uZXR3b3JrCiAKICAgICBAcHJvcGVydHkKICAgICBkZWYgaXNfbGlua19sb2NhbChzZWxmKToKQEAgLTEzMjMsOCArMTM1MSw3IEBACiAgICAgICAgICAgICBBIGJvb2xlYW4sIFRydWUgaWYgdGhlIGFkZHJlc3MgaXMgbGluay1sb2NhbCBwZXIgUkZDIDM5MjcuCiAKICAgICAgICAgIiIiCi0gICAgICAgIGxpbmtsb2NhbF9uZXR3b3JrID0gSVB2NE5ldHdvcmsoJzE2OS4yNTQuMC4wLzE2JykKLSAgICAgICAgcmV0dXJuIHNlbGYgaW4gbGlua2xvY2FsX25ldHdvcmsKKyAgICAgICAgcmV0dXJuIHNlbGYgaW4gc2VsZi5fY29uc3RhbnRzLl9saW5rbG9jYWxfbmV0d29yawogCiAKIGNsYXNzIElQdjRJbnRlcmZhY2UoSVB2NEFkZHJlc3MpOgpAQCAtMTMzNiw2ICsxMzYzLDE4IEBACiAgICAgICAgICAgICBzZWxmLl9wcmVmaXhsZW4gPSBzZWxmLl9tYXhfcHJlZml4bGVuCiAgICAgICAgICAgICByZXR1cm4KIAorICAgICAgICBpZiBpc2luc3RhbmNlKGFkZHJlc3MsIHR1cGxlKToKKyAgICAgICAgICAgIElQdjRBZGRyZXNzLl9faW5pdF9fKHNlbGYsIGFkZHJlc3NbMF0pCisgICAgICAgICAgICBpZiBsZW4oYWRkcmVzcykgPiAxOgorICAgICAgICAgICAgICAgIHNlbGYuX3ByZWZpeGxlbiA9IGludChhZGRyZXNzWzFdKQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBzZWxmLl9wcmVmaXhsZW4gPSBzZWxmLl9tYXhfcHJlZml4bGVuCisKKyAgICAgICAgICAgIHNlbGYubmV0d29yayA9IElQdjROZXR3b3JrKGFkZHJlc3MsIHN0cmljdD1GYWxzZSkKKyAgICAgICAgICAgIHNlbGYubmV0bWFzayA9IHNlbGYubmV0d29yay5uZXRtYXNrCisgICAgICAgICAgICBzZWxmLmhvc3RtYXNrID0gc2VsZi5uZXR3b3JrLmhvc3RtYXNrCisgICAgICAgICAgICByZXR1cm4KKwogICAgICAgICBhZGRyID0gX3NwbGl0X29wdGlvbmFsX25ldG1hc2soYWRkcmVzcykKICAgICAgICAgSVB2NEFkZHJlc3MuX19pbml0X18oc2VsZiwgYWRkclswXSkKIApAQCAtMTM3NSw2ICsxNDE0LDggQEAKICAgICBkZWYgX19oYXNoX18oc2VsZik6CiAgICAgICAgIHJldHVybiBzZWxmLl9pcCBeIHNlbGYuX3ByZWZpeGxlbiBeIGludChzZWxmLm5ldHdvcmsubmV0d29ya19hZGRyZXNzKQogCisgICAgX19yZWR1Y2VfXyA9IF9JUEFkZHJlc3NCYXNlLl9fcmVkdWNlX18KKwogICAgIEBwcm9wZXJ0eQogICAgIGRlZiBpcChzZWxmKToKICAgICAgICAgcmV0dXJuIElQdjRBZGRyZXNzKHNlbGYuX2lwKQpAQCAtMTQ0NywyNCArMTQ4OCwzMCBAQAogICAgICAgICAgICAgICBzdXBwbGllZC4KIAogICAgICAgICAiIiIKLQotICAgICAgICBfQmFzZVY0Ll9faW5pdF9fKHNlbGYsIGFkZHJlc3MpCiAgICAgICAgIF9CYXNlTmV0d29yay5fX2luaXRfXyhzZWxmLCBhZGRyZXNzKQogCi0gICAgICAgICMgQ29uc3RydWN0aW5nIGZyb20gYSBwYWNrZWQgYWRkcmVzcwotICAgICAgICBpZiBpc2luc3RhbmNlKGFkZHJlc3MsIGJ5dGVzKToKKyAgICAgICAgIyBDb25zdHJ1Y3RpbmcgZnJvbSBhIHBhY2tlZCBhZGRyZXNzIG9yIGludGVnZXIKKyAgICAgICAgaWYgaXNpbnN0YW5jZShhZGRyZXNzLCAoaW50LCBieXRlcykpOgogICAgICAgICAgICAgc2VsZi5uZXR3b3JrX2FkZHJlc3MgPSBJUHY0QWRkcmVzcyhhZGRyZXNzKQotICAgICAgICAgICAgc2VsZi5fcHJlZml4bGVuID0gc2VsZi5fbWF4X3ByZWZpeGxlbgotICAgICAgICAgICAgc2VsZi5uZXRtYXNrID0gSVB2NEFkZHJlc3Moc2VsZi5fQUxMX09ORVMpCi0gICAgICAgICAgICAjZml4bWU6IGFkZHJlc3MvbmV0d29yayB0ZXN0IGhlcmUKKyAgICAgICAgICAgIHNlbGYubmV0bWFzaywgc2VsZi5fcHJlZml4bGVuID0gc2VsZi5fbWFrZV9uZXRtYXNrKHNlbGYuX21heF9wcmVmaXhsZW4pCisgICAgICAgICAgICAjZml4bWU6IGFkZHJlc3MvbmV0d29yayB0ZXN0IGhlcmUuCiAgICAgICAgICAgICByZXR1cm4KIAotICAgICAgICAjIEVmZmljaWVudCBjb25zdHJ1Y3RvciBmcm9tIGludGVnZXIuCi0gICAgICAgIGlmIGlzaW5zdGFuY2UoYWRkcmVzcywgaW50KToKLSAgICAgICAgICAgIHNlbGYubmV0d29ya19hZGRyZXNzID0gSVB2NEFkZHJlc3MoYWRkcmVzcykKLSAgICAgICAgICAgIHNlbGYuX3ByZWZpeGxlbiA9IHNlbGYuX21heF9wcmVmaXhsZW4KLSAgICAgICAgICAgIHNlbGYubmV0bWFzayA9IElQdjRBZGRyZXNzKHNlbGYuX0FMTF9PTkVTKQotICAgICAgICAgICAgI2ZpeG1lOiBhZGRyZXNzL25ldHdvcmsgdGVzdCBoZXJlLgorICAgICAgICBpZiBpc2luc3RhbmNlKGFkZHJlc3MsIHR1cGxlKToKKyAgICAgICAgICAgIGlmIGxlbihhZGRyZXNzKSA+IDE6CisgICAgICAgICAgICAgICAgYXJnID0gYWRkcmVzc1sxXQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAjIFdlIHdlcmVuJ3QgZ2l2ZW4gYW4gYWRkcmVzc1sxXQorICAgICAgICAgICAgICAgIGFyZyA9IHNlbGYuX21heF9wcmVmaXhsZW4KKyAgICAgICAgICAgIHNlbGYubmV0d29ya19hZGRyZXNzID0gSVB2NEFkZHJlc3MoYWRkcmVzc1swXSkKKyAgICAgICAgICAgIHNlbGYubmV0bWFzaywgc2VsZi5fcHJlZml4bGVuID0gc2VsZi5fbWFrZV9uZXRtYXNrKGFyZykKKyAgICAgICAgICAgIHBhY2tlZCA9IGludChzZWxmLm5ldHdvcmtfYWRkcmVzcykKKyAgICAgICAgICAgIGlmIHBhY2tlZCAmIGludChzZWxmLm5ldG1hc2spICE9IHBhY2tlZDoKKyAgICAgICAgICAgICAgICBpZiBzdHJpY3Q6CisgICAgICAgICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoJyVzIGhhcyBob3N0IGJpdHMgc2V0JyAlIHNlbGYpCisgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5uZXR3b3JrX2FkZHJlc3MgPSBJUHY0QWRkcmVzcyhwYWNrZWQgJgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludChzZWxmLm5ldG1hc2spKQogICAgICAgICAgICAgcmV0dXJuCiAKICAgICAgICAgIyBBc3N1bWUgaW5wdXQgYXJndW1lbnQgdG8gYmUgc3RyaW5nIG9yIGFueSBvYmplY3QgcmVwcmVzZW50YXRpb24KQEAgLTE0NzMsMTYgKzE1MjAsMTAgQEAKICAgICAgICAgc2VsZi5uZXR3b3JrX2FkZHJlc3MgPSBJUHY0QWRkcmVzcyhzZWxmLl9pcF9pbnRfZnJvbV9zdHJpbmcoYWRkclswXSkpCiAKICAgICAgICAgaWYgbGVuKGFkZHIpID09IDI6Ci0gICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgIyBDaGVjayBmb3IgYSBuZXRtYXNrIGluIHByZWZpeCBsZW5ndGggZm9ybQotICAgICAgICAgICAgICAgIHNlbGYuX3ByZWZpeGxlbiA9IHNlbGYuX3ByZWZpeF9mcm9tX3ByZWZpeF9zdHJpbmcoYWRkclsxXSkKLSAgICAgICAgICAgIGV4Y2VwdCBOZXRtYXNrVmFsdWVFcnJvcjoKLSAgICAgICAgICAgICAgICAjIENoZWNrIGZvciBhIG5ldG1hc2sgb3IgaG9zdG1hc2sgaW4gZG90dGVkLXF1YWQgZm9ybS4KLSAgICAgICAgICAgICAgICAjIFRoaXMgbWF5IHJhaXNlIE5ldG1hc2tWYWx1ZUVycm9yLgotICAgICAgICAgICAgICAgIHNlbGYuX3ByZWZpeGxlbiA9IHNlbGYuX3ByZWZpeF9mcm9tX2lwX3N0cmluZyhhZGRyWzFdKQorICAgICAgICAgICAgYXJnID0gYWRkclsxXQogICAgICAgICBlbHNlOgotICAgICAgICAgICAgc2VsZi5fcHJlZml4bGVuID0gc2VsZi5fbWF4X3ByZWZpeGxlbgotICAgICAgICBzZWxmLm5ldG1hc2sgPSBJUHY0QWRkcmVzcyhzZWxmLl9pcF9pbnRfZnJvbV9wcmVmaXgoc2VsZi5fcHJlZml4bGVuKSkKKyAgICAgICAgICAgIGFyZyA9IHNlbGYuX21heF9wcmVmaXhsZW4KKyAgICAgICAgc2VsZi5uZXRtYXNrLCBzZWxmLl9wcmVmaXhsZW4gPSBzZWxmLl9tYWtlX25ldG1hc2soYXJnKQogCiAgICAgICAgIGlmIHN0cmljdDoKICAgICAgICAgICAgIGlmIChJUHY0QWRkcmVzcyhpbnQoc2VsZi5uZXR3b3JrX2FkZHJlc3MpICYgaW50KHNlbGYubmV0bWFzaykpICE9CkBAIC0xNTA5LDYgKzE1NTAsMzcgQEAKICAgICAgICAgICAgICAgICBub3Qgc2VsZi5pc19wcml2YXRlKQogCiAKK2NsYXNzIF9JUHY0Q29uc3RhbnRzOgorICAgIF9saW5rbG9jYWxfbmV0d29yayA9IElQdjROZXR3b3JrKCcxNjkuMjU0LjAuMC8xNicpCisKKyAgICBfbG9vcGJhY2tfbmV0d29yayA9IElQdjROZXR3b3JrKCcxMjcuMC4wLjAvOCcpCisKKyAgICBfbXVsdGljYXN0X25ldHdvcmsgPSBJUHY0TmV0d29yaygnMjI0LjAuMC4wLzQnKQorCisgICAgX3ByaXZhdGVfbmV0d29ya3MgPSBbCisgICAgICAgIElQdjROZXR3b3JrKCcwLjAuMC4wLzgnKSwKKyAgICAgICAgSVB2NE5ldHdvcmsoJzEwLjAuMC4wLzgnKSwKKyAgICAgICAgSVB2NE5ldHdvcmsoJzEyNy4wLjAuMC84JyksCisgICAgICAgIElQdjROZXR3b3JrKCcxNjkuMjU0LjAuMC8xNicpLAorICAgICAgICBJUHY0TmV0d29yaygnMTcyLjE2LjAuMC8xMicpLAorICAgICAgICBJUHY0TmV0d29yaygnMTkyLjAuMC4wLzI5JyksCisgICAgICAgIElQdjROZXR3b3JrKCcxOTIuMC4wLjE3MC8zMScpLAorICAgICAgICBJUHY0TmV0d29yaygnMTkyLjAuMi4wLzI0JyksCisgICAgICAgIElQdjROZXR3b3JrKCcxOTIuMTY4LjAuMC8xNicpLAorICAgICAgICBJUHY0TmV0d29yaygnMTk4LjE4LjAuMC8xNScpLAorICAgICAgICBJUHY0TmV0d29yaygnMTk4LjUxLjEwMC4wLzI0JyksCisgICAgICAgIElQdjROZXR3b3JrKCcyMDMuMC4xMTMuMC8yNCcpLAorICAgICAgICBJUHY0TmV0d29yaygnMjQwLjAuMC4wLzQnKSwKKyAgICAgICAgSVB2NE5ldHdvcmsoJzI1NS4yNTUuMjU1LjI1NS8zMicpLAorICAgICAgICBdCisKKyAgICBfcmVzZXJ2ZWRfbmV0d29yayA9IElQdjROZXR3b3JrKCcyNDAuMC4wLjAvNCcpCisKKyAgICBfdW5zcGVjaWZpZWRfYWRkcmVzcyA9IElQdjRBZGRyZXNzKCcwLjAuMC4wJykKKworCitJUHY0QWRkcmVzcy5fY29uc3RhbnRzID0gX0lQdjRDb25zdGFudHMKKwogCiBjbGFzcyBfQmFzZVY2OgogCkBAIC0xNTE5LDE1ICsxNTkxLDM3IEBACiAKICAgICAiIiIKIAorICAgIF9fc2xvdHNfXyA9ICgpCisgICAgX3ZlcnNpb24gPSA2CiAgICAgX0FMTF9PTkVTID0gKDIqKklQVjZMRU5HVEgpIC0gMQogICAgIF9IRVhURVRfQ09VTlQgPSA4CiAgICAgX0hFWF9ESUdJVFMgPSBmcm96ZW5zZXQoJzAxMjM0NTY3ODlBQkNERUZhYmNkZWYnKQorICAgIF9tYXhfcHJlZml4bGVuID0gSVBWNkxFTkdUSAogCi0gICAgZGVmIF9faW5pdF9fKHNlbGYsIGFkZHJlc3MpOgotICAgICAgICBzZWxmLl92ZXJzaW9uID0gNgotICAgICAgICBzZWxmLl9tYXhfcHJlZml4bGVuID0gSVBWNkxFTkdUSAorICAgICMgVGhlcmUgYXJlIG9ubHkgYSBidW5jaCBvZiB2YWxpZCB2NiBuZXRtYXNrcywgc28gd2UgY2FjaGUgdGhlbSBhbGwKKyAgICAjIHdoZW4gY29uc3RydWN0ZWQgKHNlZSBfbWFrZV9uZXRtYXNrKCkpLgorICAgIF9uZXRtYXNrX2NhY2hlID0ge30KIAotICAgIGRlZiBfaXBfaW50X2Zyb21fc3RyaW5nKHNlbGYsIGlwX3N0cik6CisgICAgQGNsYXNzbWV0aG9kCisgICAgZGVmIF9tYWtlX25ldG1hc2soY2xzLCBhcmcpOgorICAgICAgICAiIiJNYWtlIGEgKG5ldG1hc2ssIHByZWZpeF9sZW4pIHR1cGxlIGZyb20gdGhlIGdpdmVuIGFyZ3VtZW50LgorCisgICAgICAgIEFyZ3VtZW50IGNhbiBiZToKKyAgICAgICAgLSBhbiBpbnRlZ2VyICh0aGUgcHJlZml4IGxlbmd0aCkKKyAgICAgICAgLSBhIHN0cmluZyByZXByZXNlbnRpbmcgdGhlIHByZWZpeCBsZW5ndGggKGUuZy4gIjI0IikKKyAgICAgICAgLSBhIHN0cmluZyByZXByZXNlbnRpbmcgdGhlIHByZWZpeCBuZXRtYXNrIChlLmcuICIyNTUuMjU1LjI1NS4wIikKKyAgICAgICAgIiIiCisgICAgICAgIGlmIGFyZyBub3QgaW4gY2xzLl9uZXRtYXNrX2NhY2hlOgorICAgICAgICAgICAgaWYgaXNpbnN0YW5jZShhcmcsIGludCk6CisgICAgICAgICAgICAgICAgcHJlZml4bGVuID0gYXJnCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIHByZWZpeGxlbiA9IGNscy5fcHJlZml4X2Zyb21fcHJlZml4X3N0cmluZyhhcmcpCisgICAgICAgICAgICBuZXRtYXNrID0gSVB2NkFkZHJlc3MoY2xzLl9pcF9pbnRfZnJvbV9wcmVmaXgocHJlZml4bGVuKSkKKyAgICAgICAgICAgIGNscy5fbmV0bWFza19jYWNoZVthcmddID0gbmV0bWFzaywgcHJlZml4bGVuCisgICAgICAgIHJldHVybiBjbHMuX25ldG1hc2tfY2FjaGVbYXJnXQorCisgICAgQGNsYXNzbWV0aG9kCisgICAgZGVmIF9pcF9pbnRfZnJvbV9zdHJpbmcoY2xzLCBpcF9zdHIpOgogICAgICAgICAiIiJUdXJuIGFuIElQdjYgaXBfc3RyIGludG8gYW4gaW50ZWdlci4KIAogICAgICAgICBBcmdzOgpAQCAtMTU2Myw3ICsxNjU3LDcgQEAKICAgICAgICAgIyBBbiBJUHY2IGFkZHJlc3MgY2FuJ3QgaGF2ZSBtb3JlIHRoYW4gOCBjb2xvbnMgKDkgcGFydHMpLgogICAgICAgICAjIFRoZSBleHRyYSBjb2xvbiBjb21lcyBmcm9tIHVzaW5nIHRoZSAiOjoiIG5vdGF0aW9uIGZvciBhIHNpbmdsZQogICAgICAgICAjIGxlYWRpbmcgb3IgdHJhaWxpbmcgemVybyBwYXJ0LgotICAgICAgICBfbWF4X3BhcnRzID0gc2VsZi5fSEVYVEVUX0NPVU5UICsgMQorICAgICAgICBfbWF4X3BhcnRzID0gY2xzLl9IRVhURVRfQ09VTlQgKyAxCiAgICAgICAgIGlmIGxlbihwYXJ0cykgPiBfbWF4X3BhcnRzOgogICAgICAgICAgICAgbXNnID0gIkF0IG1vc3QgJWQgY29sb25zIHBlcm1pdHRlZCBpbiAlciIgJSAoX21heF9wYXJ0cy0xLCBpcF9zdHIpCiAgICAgICAgICAgICByYWlzZSBBZGRyZXNzVmFsdWVFcnJvcihtc2cpCkBAIC0xNTk1LDE3ICsxNjg5LDE3IEBACiAgICAgICAgICAgICAgICAgaWYgcGFydHNfbG86CiAgICAgICAgICAgICAgICAgICAgIG1zZyA9ICJUcmFpbGluZyAnOicgb25seSBwZXJtaXR0ZWQgYXMgcGFydCBvZiAnOjonIGluICVyIgogICAgICAgICAgICAgICAgICAgICByYWlzZSBBZGRyZXNzVmFsdWVFcnJvcihtc2cgJSBpcF9zdHIpICAjIDokIHJlcXVpcmVzIDo6JAotICAgICAgICAgICAgcGFydHNfc2tpcHBlZCA9IHNlbGYuX0hFWFRFVF9DT1VOVCAtIChwYXJ0c19oaSArIHBhcnRzX2xvKQorICAgICAgICAgICAgcGFydHNfc2tpcHBlZCA9IGNscy5fSEVYVEVUX0NPVU5UIC0gKHBhcnRzX2hpICsgcGFydHNfbG8pCiAgICAgICAgICAgICBpZiBwYXJ0c19za2lwcGVkIDwgMToKICAgICAgICAgICAgICAgICBtc2cgPSAiRXhwZWN0ZWQgYXQgbW9zdCAlZCBvdGhlciBwYXJ0cyB3aXRoICc6OicgaW4gJXIiCi0gICAgICAgICAgICAgICAgcmFpc2UgQWRkcmVzc1ZhbHVlRXJyb3IobXNnICUgKHNlbGYuX0hFWFRFVF9DT1VOVC0xLCBpcF9zdHIpKQorICAgICAgICAgICAgICAgIHJhaXNlIEFkZHJlc3NWYWx1ZUVycm9yKG1zZyAlIChjbHMuX0hFWFRFVF9DT1VOVC0xLCBpcF9zdHIpKQogICAgICAgICBlbHNlOgogICAgICAgICAgICAgIyBPdGhlcndpc2UsIGFsbG9jYXRlIHRoZSBlbnRpcmUgYWRkcmVzcyB0byBwYXJ0c19oaS4gIFRoZQogICAgICAgICAgICAgIyBlbmRwb2ludHMgY291bGQgc3RpbGwgYmUgZW1wdHksIGJ1dCBfcGFyc2VfaGV4dGV0KCkgd2lsbCBjaGVjawogICAgICAgICAgICAgIyBmb3IgdGhhdC4KLSAgICAgICAgICAgIGlmIGxlbihwYXJ0cykgIT0gc2VsZi5fSEVYVEVUX0NPVU5UOgorICAgICAgICAgICAgaWYgbGVuKHBhcnRzKSAhPSBjbHMuX0hFWFRFVF9DT1VOVDoKICAgICAgICAgICAgICAgICBtc2cgPSAiRXhhY3RseSAlZCBwYXJ0cyBleHBlY3RlZCB3aXRob3V0ICc6OicgaW4gJXIiCi0gICAgICAgICAgICAgICAgcmFpc2UgQWRkcmVzc1ZhbHVlRXJyb3IobXNnICUgKHNlbGYuX0hFWFRFVF9DT1VOVCwgaXBfc3RyKSkKKyAgICAgICAgICAgICAgICByYWlzZSBBZGRyZXNzVmFsdWVFcnJvcihtc2cgJSAoY2xzLl9IRVhURVRfQ09VTlQsIGlwX3N0cikpCiAgICAgICAgICAgICBpZiBub3QgcGFydHNbMF06CiAgICAgICAgICAgICAgICAgbXNnID0gIkxlYWRpbmcgJzonIG9ubHkgcGVybWl0dGVkIGFzIHBhcnQgb2YgJzo6JyBpbiAlciIKICAgICAgICAgICAgICAgICByYWlzZSBBZGRyZXNzVmFsdWVFcnJvcihtc2cgJSBpcF9zdHIpICAjIF46IHJlcXVpcmVzIF46OgpAQCAtMTYyMSwxNiArMTcxNSwxNyBAQAogICAgICAgICAgICAgaXBfaW50ID0gMAogICAgICAgICAgICAgZm9yIGkgaW4gcmFuZ2UocGFydHNfaGkpOgogICAgICAgICAgICAgICAgIGlwX2ludCA8PD0gMTYKLSAgICAgICAgICAgICAgICBpcF9pbnQgfD0gc2VsZi5fcGFyc2VfaGV4dGV0KHBhcnRzW2ldKQorICAgICAgICAgICAgICAgIGlwX2ludCB8PSBjbHMuX3BhcnNlX2hleHRldChwYXJ0c1tpXSkKICAgICAgICAgICAgIGlwX2ludCA8PD0gMTYgKiBwYXJ0c19za2lwcGVkCiAgICAgICAgICAgICBmb3IgaSBpbiByYW5nZSgtcGFydHNfbG8sIDApOgogICAgICAgICAgICAgICAgIGlwX2ludCA8PD0gMTYKLSAgICAgICAgICAgICAgICBpcF9pbnQgfD0gc2VsZi5fcGFyc2VfaGV4dGV0KHBhcnRzW2ldKQorICAgICAgICAgICAgICAgIGlwX2ludCB8PSBjbHMuX3BhcnNlX2hleHRldChwYXJ0c1tpXSkKICAgICAgICAgICAgIHJldHVybiBpcF9pbnQKICAgICAgICAgZXhjZXB0IFZhbHVlRXJyb3IgYXMgZXhjOgogICAgICAgICAgICAgcmFpc2UgQWRkcmVzc1ZhbHVlRXJyb3IoIiVzIGluICVyIiAlIChleGMsIGlwX3N0cikpIGZyb20gTm9uZQogCi0gICAgZGVmIF9wYXJzZV9oZXh0ZXQoc2VsZiwgaGV4dGV0X3N0cik6CisgICAgQGNsYXNzbWV0aG9kCisgICAgZGVmIF9wYXJzZV9oZXh0ZXQoY2xzLCBoZXh0ZXRfc3RyKToKICAgICAgICAgIiIiQ29udmVydCBhbiBJUHY2IGhleHRldCBzdHJpbmcgaW50byBhbiBpbnRlZ2VyLgogCiAgICAgICAgIEFyZ3M6CkBAIC0xNjQ1LDcgKzE3NDAsNyBAQAogCiAgICAgICAgICIiIgogICAgICAgICAjIFdoaXRlbGlzdCB0aGUgY2hhcmFjdGVycywgc2luY2UgaW50KCkgYWxsb3dzIGEgbG90IG9mIGJpemFycmUgc3R1ZmYuCi0gICAgICAgIGlmIG5vdCBzZWxmLl9IRVhfRElHSVRTLmlzc3VwZXJzZXQoaGV4dGV0X3N0cik6CisgICAgICAgIGlmIG5vdCBjbHMuX0hFWF9ESUdJVFMuaXNzdXBlcnNldChoZXh0ZXRfc3RyKToKICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIk9ubHkgaGV4IGRpZ2l0cyBwZXJtaXR0ZWQgaW4gJXIiICUgaGV4dGV0X3N0cikKICAgICAgICAgIyBXZSBkbyB0aGUgbGVuZ3RoIGNoZWNrIHNlY29uZCwgc2luY2UgdGhlIGludmFsaWQgY2hhcmFjdGVyIGVycm9yCiAgICAgICAgICMgaXMgbGlrZWx5IHRvIGJlIG1vcmUgaW5mb3JtYXRpdmUgZm9yIHRoZSB1c2VyCkBAIC0xNjU1LDcgKzE3NTAsOCBAQAogICAgICAgICAjIExlbmd0aCBjaGVjayBtZWFucyB3ZSBjYW4gc2tpcCBjaGVja2luZyB0aGUgaW50ZWdlciB2YWx1ZQogICAgICAgICByZXR1cm4gaW50KGhleHRldF9zdHIsIDE2KQogCi0gICAgZGVmIF9jb21wcmVzc19oZXh0ZXRzKHNlbGYsIGhleHRldHMpOgorICAgIEBjbGFzc21ldGhvZAorICAgIGRlZiBfY29tcHJlc3NfaGV4dGV0cyhjbHMsIGhleHRldHMpOgogICAgICAgICAiIiJDb21wcmVzc2VzIGEgbGlzdCBvZiBoZXh0ZXRzLgogCiAgICAgICAgIENvbXByZXNzZXMgYSBsaXN0IG9mIHN0cmluZ3MsIHJlcGxhY2luZyB0aGUgbG9uZ2VzdCBjb250aW51b3VzCkBAIC0xNzAyLDcgKzE3OTgsOCBAQAogCiAgICAgICAgIHJldHVybiBoZXh0ZXRzCiAKLSAgICBkZWYgX3N0cmluZ19mcm9tX2lwX2ludChzZWxmLCBpcF9pbnQ9Tm9uZSk6CisgICAgQGNsYXNzbWV0aG9kCisgICAgZGVmIF9zdHJpbmdfZnJvbV9pcF9pbnQoY2xzLCBpcF9pbnQ9Tm9uZSk6CiAgICAgICAgICIiIlR1cm5zIGEgMTI4LWJpdCBpbnRlZ2VyIGludG8gaGV4YWRlY2ltYWwgbm90YXRpb24uCiAKICAgICAgICAgQXJnczoKQEAgLTE3MTYsMTUgKzE4MTMsMTUgQEAKIAogICAgICAgICAiIiIKICAgICAgICAgaWYgaXBfaW50IGlzIE5vbmU6Ci0gICAgICAgICAgICBpcF9pbnQgPSBpbnQoc2VsZi5faXApCisgICAgICAgICAgICBpcF9pbnQgPSBpbnQoY2xzLl9pcCkKIAotICAgICAgICBpZiBpcF9pbnQgPiBzZWxmLl9BTExfT05FUzoKKyAgICAgICAgaWYgaXBfaW50ID4gY2xzLl9BTExfT05FUzoKICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoJ0lQdjYgYWRkcmVzcyBpcyB0b28gbGFyZ2UnKQogCiAgICAgICAgIGhleF9zdHIgPSAnJTAzMngnICUgaXBfaW50CiAgICAgICAgIGhleHRldHMgPSBbJyV4JyAlIGludChoZXhfc3RyW3g6eCs0XSwgMTYpIGZvciB4IGluIHJhbmdlKDAsIDMyLCA0KV0KIAotICAgICAgICBoZXh0ZXRzID0gc2VsZi5fY29tcHJlc3NfaGV4dGV0cyhoZXh0ZXRzKQorICAgICAgICBoZXh0ZXRzID0gY2xzLl9jb21wcmVzc19oZXh0ZXRzKGhleHRldHMpCiAgICAgICAgIHJldHVybiAnOicuam9pbihoZXh0ZXRzKQogCiAgICAgZGVmIF9leHBsb2RlX3Nob3J0aGFuZF9pcF9zdHJpbmcoc2VsZik6CkBAIC0xNzUxLDYgKzE4NDgsMTUgQEAKICAgICAgICAgICAgIHJldHVybiAnJXMvJWQnICUgKCc6Jy5qb2luKHBhcnRzKSwgc2VsZi5fcHJlZml4bGVuKQogICAgICAgICByZXR1cm4gJzonLmpvaW4ocGFydHMpCiAKKyAgICBkZWYgX3JldmVyc2VfcG9pbnRlcihzZWxmKToKKyAgICAgICAgIiIiUmV0dXJuIHRoZSByZXZlcnNlIEROUyBwb2ludGVyIG5hbWUgZm9yIHRoZSBJUHY2IGFkZHJlc3MuCisKKyAgICAgICAgVGhpcyBpbXBsZW1lbnRzIHRoZSBtZXRob2QgZGVzY3JpYmVkIGluIFJGQzM1OTYgMi41LgorCisgICAgICAgICIiIgorICAgICAgICByZXZlcnNlX2NoYXJzID0gc2VsZi5leHBsb2RlZFs6Oi0xXS5yZXBsYWNlKCc6JywgJycpCisgICAgICAgIHJldHVybiAnLicuam9pbihyZXZlcnNlX2NoYXJzKSArICcuaXA2LmFycGEnCisKICAgICBAcHJvcGVydHkKICAgICBkZWYgbWF4X3ByZWZpeGxlbihzZWxmKToKICAgICAgICAgcmV0dXJuIHNlbGYuX21heF9wcmVmaXhsZW4KQEAgLTE3NjQsNiArMTg3MCw4IEBACiAKICAgICAiIiJSZXByZXNlbnQgYW5kIG1hbmlwdWxhdGUgc2luZ2xlIElQdjYgQWRkcmVzc2VzLiIiIgogCisgICAgX19zbG90c19fID0gKCdfaXAnLCAnX193ZWFrcmVmX18nKQorCiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIGFkZHJlc3MpOgogICAgICAgICAiIiJJbnN0YW50aWF0ZSBhIG5ldyBJUHY2IGFkZHJlc3Mgb2JqZWN0LgogCkBAIC0xNzgxLDkgKzE4ODksNiBAQAogICAgICAgICAgICAgQWRkcmVzc1ZhbHVlRXJyb3I6IElmIGFkZHJlc3MgaXNuJ3QgYSB2YWxpZCBJUHY2IGFkZHJlc3MuCiAKICAgICAgICAgIiIiCi0gICAgICAgIF9CYXNlQWRkcmVzcy5fX2luaXRfXyhzZWxmLCBhZGRyZXNzKQotICAgICAgICBfQmFzZVY2Ll9faW5pdF9fKHNlbGYsIGFkZHJlc3MpCi0KICAgICAgICAgIyBFZmZpY2llbnQgY29uc3RydWN0b3IgZnJvbSBpbnRlZ2VyLgogICAgICAgICBpZiBpc2luc3RhbmNlKGFkZHJlc3MsIGludCk6CiAgICAgICAgICAgICBzZWxmLl9jaGVja19pbnRfYWRkcmVzcyhhZGRyZXNzKQpAQCAtMTc5OSw2ICsxOTA0LDggQEAKICAgICAgICAgIyBBc3N1bWUgaW5wdXQgYXJndW1lbnQgdG8gYmUgc3RyaW5nIG9yIGFueSBvYmplY3QgcmVwcmVzZW50YXRpb24KICAgICAgICAgIyB3aGljaCBjb252ZXJ0cyBpbnRvIGEgZm9ybWF0dGVkIElQIHN0cmluZy4KICAgICAgICAgYWRkcl9zdHIgPSBzdHIoYWRkcmVzcykKKyAgICAgICAgaWYgJy8nIGluIGFkZHJfc3RyOgorICAgICAgICAgICAgcmFpc2UgQWRkcmVzc1ZhbHVlRXJyb3IoIlVuZXhwZWN0ZWQgJy8nIGluICVyIiAlIGFkZHJlc3MpCiAgICAgICAgIHNlbGYuX2lwID0gc2VsZi5faXBfaW50X2Zyb21fc3RyaW5nKGFkZHJfc3RyKQogCiAgICAgQHByb3BlcnR5CkBAIC0xODE1LDggKzE5MjIsNyBAQAogICAgICAgICAgICAgU2VlIFJGQyAyMzczIDIuNyBmb3IgZGV0YWlscy4KIAogICAgICAgICAiIiIKLSAgICAgICAgbXVsdGljYXN0X25ldHdvcmsgPSBJUHY2TmV0d29yaygnZmYwMDo6LzgnKQotICAgICAgICByZXR1cm4gc2VsZiBpbiBtdWx0aWNhc3RfbmV0d29yaworICAgICAgICByZXR1cm4gc2VsZiBpbiBzZWxmLl9jb25zdGFudHMuX211bHRpY2FzdF9uZXR3b3JrCiAKICAgICBAcHJvcGVydHkKICAgICBkZWYgaXNfcmVzZXJ2ZWQoc2VsZik6CkBAIC0xODI3LDE2ICsxOTMzLDcgQEAKICAgICAgICAgICAgIHJlc2VydmVkIElQdjYgTmV0d29yayByYW5nZXMuCiAKICAgICAgICAgIiIiCi0gICAgICAgIHJlc2VydmVkX25ldHdvcmtzID0gW0lQdjZOZXR3b3JrKCc6Oi84JyksIElQdjZOZXR3b3JrKCcxMDA6Oi84JyksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIElQdjZOZXR3b3JrKCcyMDA6Oi83JyksIElQdjZOZXR3b3JrKCc0MDA6Oi82JyksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIElQdjZOZXR3b3JrKCc4MDA6Oi81JyksIElQdjZOZXR3b3JrKCcxMDAwOjovNCcpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJUHY2TmV0d29yaygnNDAwMDo6LzMnKSwgSVB2Nk5ldHdvcmsoJzYwMDA6Oi8zJyksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIElQdjZOZXR3b3JrKCc4MDAwOjovMycpLCBJUHY2TmV0d29yaygnQTAwMDo6LzMnKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSVB2Nk5ldHdvcmsoJ0MwMDA6Oi8zJyksIElQdjZOZXR3b3JrKCdFMDAwOjovNCcpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJUHY2TmV0d29yaygnRjAwMDo6LzUnKSwgSVB2Nk5ldHdvcmsoJ0Y4MDA6Oi82JyksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIElQdjZOZXR3b3JrKCdGRTAwOjovOScpXQotCi0gICAgICAgIHJldHVybiBhbnkoc2VsZiBpbiB4IGZvciB4IGluIHJlc2VydmVkX25ldHdvcmtzKQorICAgICAgICByZXR1cm4gYW55KHNlbGYgaW4geCBmb3IgeCBpbiBzZWxmLl9jb25zdGFudHMuX3Jlc2VydmVkX25ldHdvcmtzKQogCiAgICAgQHByb3BlcnR5CiAgICAgZGVmIGlzX2xpbmtfbG9jYWwoc2VsZik6CkBAIC0xODQ2LDggKzE5NDMsNyBAQAogICAgICAgICAgICAgQSBib29sZWFuLCBUcnVlIGlmIHRoZSBhZGRyZXNzIGlzIHJlc2VydmVkIHBlciBSRkMgNDI5MS4KIAogICAgICAgICAiIiIKLSAgICAgICAgbGlua2xvY2FsX25ldHdvcmsgPSBJUHY2TmV0d29yaygnZmU4MDo6LzEwJykKLSAgICAgICAgcmV0dXJuIHNlbGYgaW4gbGlua2xvY2FsX25ldHdvcmsKKyAgICAgICAgcmV0dXJuIHNlbGYgaW4gc2VsZi5fY29uc3RhbnRzLl9saW5rbG9jYWxfbmV0d29yawogCiAgICAgQHByb3BlcnR5CiAgICAgZGVmIGlzX3NpdGVfbG9jYWwoc2VsZik6CkBAIC0xODYxLDggKzE5NTcsNyBAQAogICAgICAgICAgICAgQSBib29sZWFuLCBUcnVlIGlmIHRoZSBhZGRyZXNzIGlzIHJlc2VydmVkIHBlciBSRkMgMzUxMyAyLjUuNi4KIAogICAgICAgICAiIiIKLSAgICAgICAgc2l0ZWxvY2FsX25ldHdvcmsgPSBJUHY2TmV0d29yaygnZmVjMDo6LzEwJykKLSAgICAgICAgcmV0dXJuIHNlbGYgaW4gc2l0ZWxvY2FsX25ldHdvcmsKKyAgICAgICAgcmV0dXJuIHNlbGYgaW4gc2VsZi5fY29uc3RhbnRzLl9zaXRlbG9jYWxfbmV0d29yawogCiAgICAgQHByb3BlcnR5CiAgICAgQGZ1bmN0b29scy5scnVfY2FjaGUoKQpAQCAtMTg3NCwxNiArMTk2OSw3IEBACiAgICAgICAgICAgICBpYW5hLWlwdjYtc3BlY2lhbC1yZWdpc3RyeS4KIAogICAgICAgICAiIiIKLSAgICAgICAgcmV0dXJuIChzZWxmIGluIElQdjZOZXR3b3JrKCc6OjEvMTI4Jykgb3IKLSAgICAgICAgICAgICAgICBzZWxmIGluIElQdjZOZXR3b3JrKCc6Oi8xMjgnKSBvcgotICAgICAgICAgICAgICAgIHNlbGYgaW4gSVB2Nk5ldHdvcmsoJzo6ZmZmZjowOjAvOTYnKSBvcgotICAgICAgICAgICAgICAgIHNlbGYgaW4gSVB2Nk5ldHdvcmsoJzEwMDo6LzY0Jykgb3IKLSAgICAgICAgICAgICAgICBzZWxmIGluIElQdjZOZXR3b3JrKCcyMDAxOjovMjMnKSBvcgotICAgICAgICAgICAgICAgIHNlbGYgaW4gSVB2Nk5ldHdvcmsoJzIwMDE6Mjo6LzQ4Jykgb3IKLSAgICAgICAgICAgICAgICBzZWxmIGluIElQdjZOZXR3b3JrKCcyMDAxOmRiODo6LzMyJykgb3IKLSAgICAgICAgICAgICAgICBzZWxmIGluIElQdjZOZXR3b3JrKCcyMDAxOjEwOjovMjgnKSBvcgotICAgICAgICAgICAgICAgIHNlbGYgaW4gSVB2Nk5ldHdvcmsoJ2ZjMDA6Oi83Jykgb3IKLSAgICAgICAgICAgICAgICBzZWxmIGluIElQdjZOZXR3b3JrKCdmZTgwOjovMTAnKSkKKyAgICAgICAgcmV0dXJuIGFueShzZWxmIGluIG5ldCBmb3IgbmV0IGluIHNlbGYuX2NvbnN0YW50cy5fcHJpdmF0ZV9uZXR3b3JrcykKIAogICAgIEBwcm9wZXJ0eQogICAgIGRlZiBpc19nbG9iYWwoc2VsZik6CkBAIC0xOTY4LDYgKzIwNTQsMTYgQEAKICAgICAgICAgICAgIHNlbGYubmV0d29yayA9IElQdjZOZXR3b3JrKHNlbGYuX2lwKQogICAgICAgICAgICAgc2VsZi5fcHJlZml4bGVuID0gc2VsZi5fbWF4X3ByZWZpeGxlbgogICAgICAgICAgICAgcmV0dXJuCisgICAgICAgIGlmIGlzaW5zdGFuY2UoYWRkcmVzcywgdHVwbGUpOgorICAgICAgICAgICAgSVB2NkFkZHJlc3MuX19pbml0X18oc2VsZiwgYWRkcmVzc1swXSkKKyAgICAgICAgICAgIGlmIGxlbihhZGRyZXNzKSA+IDE6CisgICAgICAgICAgICAgICAgc2VsZi5fcHJlZml4bGVuID0gaW50KGFkZHJlc3NbMV0pCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIHNlbGYuX3ByZWZpeGxlbiA9IHNlbGYuX21heF9wcmVmaXhsZW4KKyAgICAgICAgICAgIHNlbGYubmV0d29yayA9IElQdjZOZXR3b3JrKGFkZHJlc3MsIHN0cmljdD1GYWxzZSkKKyAgICAgICAgICAgIHNlbGYubmV0bWFzayA9IHNlbGYubmV0d29yay5uZXRtYXNrCisgICAgICAgICAgICBzZWxmLmhvc3RtYXNrID0gc2VsZi5uZXR3b3JrLmhvc3RtYXNrCisgICAgICAgICAgICByZXR1cm4KIAogICAgICAgICBhZGRyID0gX3NwbGl0X29wdGlvbmFsX25ldG1hc2soYWRkcmVzcykKICAgICAgICAgSVB2NkFkZHJlc3MuX19pbml0X18oc2VsZiwgYWRkclswXSkKQEAgLTIwMDYsNiArMjEwMiw4IEBACiAgICAgZGVmIF9faGFzaF9fKHNlbGYpOgogICAgICAgICByZXR1cm4gc2VsZi5faXAgXiBzZWxmLl9wcmVmaXhsZW4gXiBpbnQoc2VsZi5uZXR3b3JrLm5ldHdvcmtfYWRkcmVzcykKIAorICAgIF9fcmVkdWNlX18gPSBfSVBBZGRyZXNzQmFzZS5fX3JlZHVjZV9fCisKICAgICBAcHJvcGVydHkKICAgICBkZWYgaXAoc2VsZik6CiAgICAgICAgIHJldHVybiBJUHY2QWRkcmVzcyhzZWxmLl9pcCkKQEAgLTIwODIsMjEgKzIxODAsMjggQEAKICAgICAgICAgICAgICAgc3VwcGxpZWQuCiAKICAgICAgICAgIiIiCi0gICAgICAgIF9CYXNlVjYuX19pbml0X18oc2VsZiwgYWRkcmVzcykKICAgICAgICAgX0Jhc2VOZXR3b3JrLl9faW5pdF9fKHNlbGYsIGFkZHJlc3MpCiAKLSAgICAgICAgIyBFZmZpY2llbnQgY29uc3RydWN0b3IgZnJvbSBpbnRlZ2VyLgotICAgICAgICBpZiBpc2luc3RhbmNlKGFkZHJlc3MsIGludCk6CisgICAgICAgICMgRWZmaWNpZW50IGNvbnN0cnVjdG9yIGZyb20gaW50ZWdlciBvciBwYWNrZWQgYWRkcmVzcworICAgICAgICBpZiBpc2luc3RhbmNlKGFkZHJlc3MsIChieXRlcywgaW50KSk6CiAgICAgICAgICAgICBzZWxmLm5ldHdvcmtfYWRkcmVzcyA9IElQdjZBZGRyZXNzKGFkZHJlc3MpCi0gICAgICAgICAgICBzZWxmLl9wcmVmaXhsZW4gPSBzZWxmLl9tYXhfcHJlZml4bGVuCi0gICAgICAgICAgICBzZWxmLm5ldG1hc2sgPSBJUHY2QWRkcmVzcyhzZWxmLl9BTExfT05FUykKKyAgICAgICAgICAgIHNlbGYubmV0bWFzaywgc2VsZi5fcHJlZml4bGVuID0gc2VsZi5fbWFrZV9uZXRtYXNrKHNlbGYuX21heF9wcmVmaXhsZW4pCiAgICAgICAgICAgICByZXR1cm4KIAotICAgICAgICAjIENvbnN0cnVjdGluZyBmcm9tIGEgcGFja2VkIGFkZHJlc3MKLSAgICAgICAgaWYgaXNpbnN0YW5jZShhZGRyZXNzLCBieXRlcyk6Ci0gICAgICAgICAgICBzZWxmLm5ldHdvcmtfYWRkcmVzcyA9IElQdjZBZGRyZXNzKGFkZHJlc3MpCi0gICAgICAgICAgICBzZWxmLl9wcmVmaXhsZW4gPSBzZWxmLl9tYXhfcHJlZml4bGVuCi0gICAgICAgICAgICBzZWxmLm5ldG1hc2sgPSBJUHY2QWRkcmVzcyhzZWxmLl9BTExfT05FUykKKyAgICAgICAgaWYgaXNpbnN0YW5jZShhZGRyZXNzLCB0dXBsZSk6CisgICAgICAgICAgICBpZiBsZW4oYWRkcmVzcykgPiAxOgorICAgICAgICAgICAgICAgIGFyZyA9IGFkZHJlc3NbMV0KKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgYXJnID0gc2VsZi5fbWF4X3ByZWZpeGxlbgorICAgICAgICAgICAgc2VsZi5uZXRtYXNrLCBzZWxmLl9wcmVmaXhsZW4gPSBzZWxmLl9tYWtlX25ldG1hc2soYXJnKQorICAgICAgICAgICAgc2VsZi5uZXR3b3JrX2FkZHJlc3MgPSBJUHY2QWRkcmVzcyhhZGRyZXNzWzBdKQorICAgICAgICAgICAgcGFja2VkID0gaW50KHNlbGYubmV0d29ya19hZGRyZXNzKQorICAgICAgICAgICAgaWYgcGFja2VkICYgaW50KHNlbGYubmV0bWFzaykgIT0gcGFja2VkOgorICAgICAgICAgICAgICAgIGlmIHN0cmljdDoKKyAgICAgICAgICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcignJXMgaGFzIGhvc3QgYml0cyBzZXQnICUgc2VsZikKKyAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICBzZWxmLm5ldHdvcmtfYWRkcmVzcyA9IElQdjZBZGRyZXNzKHBhY2tlZCAmCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50KHNlbGYubmV0bWFzaykpCiAgICAgICAgICAgICByZXR1cm4KIAogICAgICAgICAjIEFzc3VtZSBpbnB1dCBhcmd1bWVudCB0byBiZSBzdHJpbmcgb3IgYW55IG9iamVjdCByZXByZXNlbnRhdGlvbgpAQCAtMjEwNiwxMiArMjIxMSwxMSBAQAogICAgICAgICBzZWxmLm5ldHdvcmtfYWRkcmVzcyA9IElQdjZBZGRyZXNzKHNlbGYuX2lwX2ludF9mcm9tX3N0cmluZyhhZGRyWzBdKSkKIAogICAgICAgICBpZiBsZW4oYWRkcikgPT0gMjoKLSAgICAgICAgICAgICMgVGhpcyBtYXkgcmFpc2UgTmV0bWFza1ZhbHVlRXJyb3IKLSAgICAgICAgICAgIHNlbGYuX3ByZWZpeGxlbiA9IHNlbGYuX3ByZWZpeF9mcm9tX3ByZWZpeF9zdHJpbmcoYWRkclsxXSkKKyAgICAgICAgICAgIGFyZyA9IGFkZHJbMV0KICAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHNlbGYuX3ByZWZpeGxlbiA9IHNlbGYuX21heF9wcmVmaXhsZW4KKyAgICAgICAgICAgIGFyZyA9IHNlbGYuX21heF9wcmVmaXhsZW4KKyAgICAgICAgc2VsZi5uZXRtYXNrLCBzZWxmLl9wcmVmaXhsZW4gPSBzZWxmLl9tYWtlX25ldG1hc2soYXJnKQogCi0gICAgICAgIHNlbGYubmV0bWFzayA9IElQdjZBZGRyZXNzKHNlbGYuX2lwX2ludF9mcm9tX3ByZWZpeChzZWxmLl9wcmVmaXhsZW4pKQogICAgICAgICBpZiBzdHJpY3Q6CiAgICAgICAgICAgICBpZiAoSVB2NkFkZHJlc3MoaW50KHNlbGYubmV0d29ya19hZGRyZXNzKSAmIGludChzZWxmLm5ldG1hc2spKSAhPQogICAgICAgICAgICAgICAgIHNlbGYubmV0d29ya19hZGRyZXNzKToKQEAgLTIxNDgsMyArMjI1MiwzOSBAQAogICAgICAgICAiIiIKICAgICAgICAgcmV0dXJuIChzZWxmLm5ldHdvcmtfYWRkcmVzcy5pc19zaXRlX2xvY2FsIGFuZAogICAgICAgICAgICAgICAgIHNlbGYuYnJvYWRjYXN0X2FkZHJlc3MuaXNfc2l0ZV9sb2NhbCkKKworCitjbGFzcyBfSVB2NkNvbnN0YW50czoKKworICAgIF9saW5rbG9jYWxfbmV0d29yayA9IElQdjZOZXR3b3JrKCdmZTgwOjovMTAnKQorCisgICAgX211bHRpY2FzdF9uZXR3b3JrID0gSVB2Nk5ldHdvcmsoJ2ZmMDA6Oi84JykKKworICAgIF9wcml2YXRlX25ldHdvcmtzID0gWworICAgICAgICBJUHY2TmV0d29yaygnOjoxLzEyOCcpLAorICAgICAgICBJUHY2TmV0d29yaygnOjovMTI4JyksCisgICAgICAgIElQdjZOZXR3b3JrKCc6OmZmZmY6MDowLzk2JyksCisgICAgICAgIElQdjZOZXR3b3JrKCcxMDA6Oi82NCcpLAorICAgICAgICBJUHY2TmV0d29yaygnMjAwMTo6LzIzJyksCisgICAgICAgIElQdjZOZXR3b3JrKCcyMDAxOjI6Oi80OCcpLAorICAgICAgICBJUHY2TmV0d29yaygnMjAwMTpkYjg6Oi8zMicpLAorICAgICAgICBJUHY2TmV0d29yaygnMjAwMToxMDo6LzI4JyksCisgICAgICAgIElQdjZOZXR3b3JrKCdmYzAwOjovNycpLAorICAgICAgICBJUHY2TmV0d29yaygnZmU4MDo6LzEwJyksCisgICAgICAgIF0KKworICAgIF9yZXNlcnZlZF9uZXR3b3JrcyA9IFsKKyAgICAgICAgSVB2Nk5ldHdvcmsoJzo6LzgnKSwgSVB2Nk5ldHdvcmsoJzEwMDo6LzgnKSwKKyAgICAgICAgSVB2Nk5ldHdvcmsoJzIwMDo6LzcnKSwgSVB2Nk5ldHdvcmsoJzQwMDo6LzYnKSwKKyAgICAgICAgSVB2Nk5ldHdvcmsoJzgwMDo6LzUnKSwgSVB2Nk5ldHdvcmsoJzEwMDA6Oi80JyksCisgICAgICAgIElQdjZOZXR3b3JrKCc0MDAwOjovMycpLCBJUHY2TmV0d29yaygnNjAwMDo6LzMnKSwKKyAgICAgICAgSVB2Nk5ldHdvcmsoJzgwMDA6Oi8zJyksIElQdjZOZXR3b3JrKCdBMDAwOjovMycpLAorICAgICAgICBJUHY2TmV0d29yaygnQzAwMDo6LzMnKSwgSVB2Nk5ldHdvcmsoJ0UwMDA6Oi80JyksCisgICAgICAgIElQdjZOZXR3b3JrKCdGMDAwOjovNScpLCBJUHY2TmV0d29yaygnRjgwMDo6LzYnKSwKKyAgICAgICAgSVB2Nk5ldHdvcmsoJ0ZFMDA6Oi85JyksCisgICAgXQorCisgICAgX3NpdGVsb2NhbF9uZXR3b3JrID0gSVB2Nk5ldHdvcmsoJ2ZlYzA6Oi8xMCcpCisKKworSVB2NkFkZHJlc3MuX2NvbnN0YW50cyA9IF9JUHY2Q29uc3RhbnRzCmRpZmYgLS1naXQgYS9MaWIvanNvbi9fX2luaXRfXy5weSBiL0xpYi9qc29uL19faW5pdF9fLnB5CmluZGV4IDk0ZjdkOGMuLjZjZTk4ODAgMTAwNjQ0Ci0tLSBhL0xpYi9qc29uL19faW5pdF9fLnB5CisrKyBiL0xpYi9qc29uL19faW5pdF9fLnB5CkBAIC05OCwxMiArOTgsMTIgQEAKIF9fdmVyc2lvbl9fID0gJzIuMC45JwogX19hbGxfXyA9IFsKICAgICAnZHVtcCcsICdkdW1wcycsICdsb2FkJywgJ2xvYWRzJywKLSAgICAnSlNPTkRlY29kZXInLCAnSlNPTkVuY29kZXInLAorICAgICdKU09ORGVjb2RlcicsICdKU09ORGVjb2RlRXJyb3InLCAnSlNPTkVuY29kZXInLAogXQogCiBfX2F1dGhvcl9fID0gJ0JvYiBJcHBvbGl0byA8Ym9iQHJlZGl2aS5jb20+JwogCi1mcm9tIC5kZWNvZGVyIGltcG9ydCBKU09ORGVjb2RlcgorZnJvbSAuZGVjb2RlciBpbXBvcnQgSlNPTkRlY29kZXIsIEpTT05EZWNvZGVFcnJvcgogZnJvbSAuZW5jb2RlciBpbXBvcnQgSlNPTkVuY29kZXIKIAogX2RlZmF1bHRfZW5jb2RlciA9IEpTT05FbmNvZGVyKApAQCAtMzExLDcgKzMxMSw4IEBACiAgICAgICAgIHJhaXNlIFR5cGVFcnJvcigndGhlIEpTT04gb2JqZWN0IG11c3QgYmUgc3RyLCBub3QgeyFyfScuZm9ybWF0KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHMuX19jbGFzc19fLl9fbmFtZV9fKSkKICAgICBpZiBzLnN0YXJ0c3dpdGgodSdcdWZlZmYnKToKLSAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiVW5leHBlY3RlZCBVVEYtOCBCT00gKGRlY29kZSB1c2luZyB1dGYtOC1zaWcpIikKKyAgICAgICAgcmFpc2UgSlNPTkRlY29kZUVycm9yKCJVbmV4cGVjdGVkIFVURi04IEJPTSAoZGVjb2RlIHVzaW5nIHV0Zi04LXNpZykiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcywgMCkKICAgICBpZiAoY2xzIGlzIE5vbmUgYW5kIG9iamVjdF9ob29rIGlzIE5vbmUgYW5kCiAgICAgICAgICAgICBwYXJzZV9pbnQgaXMgTm9uZSBhbmQgcGFyc2VfZmxvYXQgaXMgTm9uZSBhbmQKICAgICAgICAgICAgIHBhcnNlX2NvbnN0YW50IGlzIE5vbmUgYW5kIG9iamVjdF9wYWlyc19ob29rIGlzIE5vbmUgYW5kIG5vdCBrdyk6CmRpZmYgLS1naXQgYS9MaWIvanNvbi9kZWNvZGVyLnB5IGIvTGliL2pzb24vZGVjb2Rlci5weQppbmRleCA1OWU1ZjQxLi4wZjAzZjIwIDEwMDY0NAotLS0gYS9MaWIvanNvbi9kZWNvZGVyLnB5CisrKyBiL0xpYi9qc29uL2RlY29kZXIucHkKQEAgLTgsNyArOCw3IEBACiBleGNlcHQgSW1wb3J0RXJyb3I6CiAgICAgY19zY2Fuc3RyaW5nID0gTm9uZQogCi1fX2FsbF9fID0gWydKU09ORGVjb2RlciddCitfX2FsbF9fID0gWydKU09ORGVjb2RlcicsICdKU09ORGVjb2RlRXJyb3InXQogCiBGTEFHUyA9IHJlLlZFUkJPU0UgfCByZS5NVUxUSUxJTkUgfCByZS5ET1RBTEwKIApAQCAtMTcsMzIgKzE3LDMwIEBACiBOZWdJbmYgPSBmbG9hdCgnLWluZicpCiAKIAotZGVmIGxpbmVjb2woZG9jLCBwb3MpOgotICAgIGlmIGlzaW5zdGFuY2UoZG9jLCBieXRlcyk6Ci0gICAgICAgIG5ld2xpbmUgPSBiJ1xuJwotICAgIGVsc2U6Ci0gICAgICAgIG5ld2xpbmUgPSAnXG4nCi0gICAgbGluZW5vID0gZG9jLmNvdW50KG5ld2xpbmUsIDAsIHBvcykgKyAxCi0gICAgaWYgbGluZW5vID09IDE6Ci0gICAgICAgIGNvbG5vID0gcG9zICsgMQotICAgIGVsc2U6Ci0gICAgICAgIGNvbG5vID0gcG9zIC0gZG9jLnJpbmRleChuZXdsaW5lLCAwLCBwb3MpCi0gICAgcmV0dXJuIGxpbmVubywgY29sbm8KK2NsYXNzIEpTT05EZWNvZGVFcnJvcihWYWx1ZUVycm9yKToKKyAgICAiIiJTdWJjbGFzcyBvZiBWYWx1ZUVycm9yIHdpdGggdGhlIGZvbGxvd2luZyBhZGRpdGlvbmFsIHByb3BlcnRpZXM6CiAKKyAgICBtc2c6IFRoZSB1bmZvcm1hdHRlZCBlcnJvciBtZXNzYWdlCisgICAgZG9jOiBUaGUgSlNPTiBkb2N1bWVudCBiZWluZyBwYXJzZWQKKyAgICBwb3M6IFRoZSBzdGFydCBpbmRleCBvZiBkb2Mgd2hlcmUgcGFyc2luZyBmYWlsZWQKKyAgICBsaW5lbm86IFRoZSBsaW5lIGNvcnJlc3BvbmRpbmcgdG8gcG9zCisgICAgY29sbm86IFRoZSBjb2x1bW4gY29ycmVzcG9uZGluZyB0byBwb3MKIAotZGVmIGVycm1zZyhtc2csIGRvYywgcG9zLCBlbmQ9Tm9uZSk6Ci0gICAgIyBOb3RlIHRoYXQgdGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgZnJvbSBfanNvbgotICAgIGxpbmVubywgY29sbm8gPSBsaW5lY29sKGRvYywgcG9zKQotICAgIGlmIGVuZCBpcyBOb25lOgotICAgICAgICBmbXQgPSAnezB9OiBsaW5lIHsxfSBjb2x1bW4gezJ9IChjaGFyIHszfSknCi0gICAgICAgIHJldHVybiBmbXQuZm9ybWF0KG1zZywgbGluZW5vLCBjb2xubywgcG9zKQotICAgICAgICAjZm10ID0gJyVzOiBsaW5lICVkIGNvbHVtbiAlZCAoY2hhciAlZCknCi0gICAgICAgICNyZXR1cm4gZm10ICUgKG1zZywgbGluZW5vLCBjb2xubywgcG9zKQotICAgIGVuZGxpbmVubywgZW5kY29sbm8gPSBsaW5lY29sKGRvYywgZW5kKQotICAgIGZtdCA9ICd7MH06IGxpbmUgezF9IGNvbHVtbiB7Mn0gLSBsaW5lIHszfSBjb2x1bW4gezR9IChjaGFyIHs1fSAtIHs2fSknCi0gICAgcmV0dXJuIGZtdC5mb3JtYXQobXNnLCBsaW5lbm8sIGNvbG5vLCBlbmRsaW5lbm8sIGVuZGNvbG5vLCBwb3MsIGVuZCkKLSAgICAjZm10ID0gJyVzOiBsaW5lICVkIGNvbHVtbiAlZCAtIGxpbmUgJWQgY29sdW1uICVkIChjaGFyICVkIC0gJWQpJwotICAgICNyZXR1cm4gZm10ICUgKG1zZywgbGluZW5vLCBjb2xubywgZW5kbGluZW5vLCBlbmRjb2xubywgcG9zLCBlbmQpCisgICAgIiIiCisgICAgIyBOb3RlIHRoYXQgdGhpcyBleGNlcHRpb24gaXMgdXNlZCBmcm9tIF9qc29uCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIG1zZywgZG9jLCBwb3MpOgorICAgICAgICBsaW5lbm8gPSBkb2MuY291bnQoJ1xuJywgMCwgcG9zKSArIDEKKyAgICAgICAgY29sbm8gPSBwb3MgLSBkb2MucmZpbmQoJ1xuJywgMCwgcG9zKQorICAgICAgICBlcnJtc2cgPSAnJXM6IGxpbmUgJWQgY29sdW1uICVkIChjaGFyICVkKScgJSAobXNnLCBsaW5lbm8sIGNvbG5vLCBwb3MpCisgICAgICAgIFZhbHVlRXJyb3IuX19pbml0X18oc2VsZiwgZXJybXNnKQorICAgICAgICBzZWxmLm1zZyA9IG1zZworICAgICAgICBzZWxmLmRvYyA9IGRvYworICAgICAgICBzZWxmLnBvcyA9IHBvcworICAgICAgICBzZWxmLmxpbmVubyA9IGxpbmVubworICAgICAgICBzZWxmLmNvbG5vID0gY29sbm8KKworICAgIGRlZiBfX3JlZHVjZV9fKHNlbGYpOgorICAgICAgICByZXR1cm4gc2VsZi5fX2NsYXNzX18sIChzZWxmLm1zZywgc2VsZi5kb2MsIHNlbGYucG9zKQogCiAKIF9DT05TVEFOVFMgPSB7CkBAIC02Niw3ICs2NCw3IEBACiAgICAgICAgIGV4Y2VwdCBWYWx1ZUVycm9yOgogICAgICAgICAgICAgcGFzcwogICAgIG1zZyA9ICJJbnZhbGlkIFxcdVhYWFggZXNjYXBlIgotICAgIHJhaXNlIFZhbHVlRXJyb3IoZXJybXNnKG1zZywgcywgcG9zKSkKKyAgICByYWlzZSBKU09ORGVjb2RlRXJyb3IobXNnLCBzLCBwb3MpCiAKIGRlZiBweV9zY2Fuc3RyaW5nKHMsIGVuZCwgc3RyaWN0PVRydWUsCiAgICAgICAgIF9iPUJBQ0tTTEFTSCwgX209U1RSSU5HQ0hVTksubWF0Y2gpOgpAQCAtODQsOCArODIsNyBAQAogICAgIHdoaWxlIDE6CiAgICAgICAgIGNodW5rID0gX20ocywgZW5kKQogICAgICAgICBpZiBjaHVuayBpcyBOb25lOgotICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigKLSAgICAgICAgICAgICAgICBlcnJtc2coIlVudGVybWluYXRlZCBzdHJpbmcgc3RhcnRpbmcgYXQiLCBzLCBiZWdpbikpCisgICAgICAgICAgICByYWlzZSBKU09ORGVjb2RlRXJyb3IoIlVudGVybWluYXRlZCBzdHJpbmcgc3RhcnRpbmcgYXQiLCBzLCBiZWdpbikKICAgICAgICAgZW5kID0gY2h1bmsuZW5kKCkKICAgICAgICAgY29udGVudCwgdGVybWluYXRvciA9IGNodW5rLmdyb3VwcygpCiAgICAgICAgICMgQ29udGVudCBpcyBjb250YWlucyB6ZXJvIG9yIG1vcmUgdW5lc2NhcGVkIHN0cmluZyBjaGFyYWN0ZXJzCkBAIC05OSwyMiArOTYsMjEgQEAKICAgICAgICAgICAgIGlmIHN0cmljdDoKICAgICAgICAgICAgICAgICAjbXNnID0gIkludmFsaWQgY29udHJvbCBjaGFyYWN0ZXIgJXIgYXQiICUgKHRlcm1pbmF0b3IsKQogICAgICAgICAgICAgICAgIG1zZyA9ICJJbnZhbGlkIGNvbnRyb2wgY2hhcmFjdGVyIHswIXJ9IGF0Ii5mb3JtYXQodGVybWluYXRvcikKLSAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKGVycm1zZyhtc2csIHMsIGVuZCkpCisgICAgICAgICAgICAgICAgcmFpc2UgSlNPTkRlY29kZUVycm9yKG1zZywgcywgZW5kKQogICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICBfYXBwZW5kKHRlcm1pbmF0b3IpCiAgICAgICAgICAgICAgICAgY29udGludWUKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgZXNjID0gc1tlbmRdCiAgICAgICAgIGV4Y2VwdCBJbmRleEVycm9yOgotICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigKLSAgICAgICAgICAgICAgICBlcnJtc2coIlVudGVybWluYXRlZCBzdHJpbmcgc3RhcnRpbmcgYXQiLCBzLCBiZWdpbikpCisgICAgICAgICAgICByYWlzZSBKU09ORGVjb2RlRXJyb3IoIlVudGVybWluYXRlZCBzdHJpbmcgc3RhcnRpbmcgYXQiLCBzLCBiZWdpbikKICAgICAgICAgIyBJZiBub3QgYSB1bmljb2RlIGVzY2FwZSBzZXF1ZW5jZSwgbXVzdCBiZSBpbiB0aGUgbG9va3VwIHRhYmxlCiAgICAgICAgIGlmIGVzYyAhPSAndSc6CiAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgY2hhciA9IF9iW2VzY10KICAgICAgICAgICAgIGV4Y2VwdCBLZXlFcnJvcjoKICAgICAgICAgICAgICAgICBtc2cgPSAiSW52YWxpZCBcXGVzY2FwZTogezAhcn0iLmZvcm1hdChlc2MpCi0gICAgICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcihlcnJtc2cobXNnLCBzLCBlbmQpKQorICAgICAgICAgICAgICAgIHJhaXNlIEpTT05EZWNvZGVFcnJvcihtc2csIHMsIGVuZCkKICAgICAgICAgICAgIGVuZCArPSAxCiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICB1bmkgPSBfZGVjb2RlX3VYWFhYKHMsIGVuZCkKQEAgLTE2Myw4ICsxNTksOCBAQAogICAgICAgICAgICAgICAgIHBhaXJzID0gb2JqZWN0X2hvb2socGFpcnMpCiAgICAgICAgICAgICByZXR1cm4gcGFpcnMsIGVuZCArIDEKICAgICAgICAgZWxpZiBuZXh0Y2hhciAhPSAnIic6Ci0gICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKGVycm1zZygKLSAgICAgICAgICAgICAgICAiRXhwZWN0aW5nIHByb3BlcnR5IG5hbWUgZW5jbG9zZWQgaW4gZG91YmxlIHF1b3RlcyIsIHMsIGVuZCkpCisgICAgICAgICAgICByYWlzZSBKU09ORGVjb2RlRXJyb3IoCisgICAgICAgICAgICAgICAgIkV4cGVjdGluZyBwcm9wZXJ0eSBuYW1lIGVuY2xvc2VkIGluIGRvdWJsZSBxdW90ZXMiLCBzLCBlbmQpCiAgICAgZW5kICs9IDEKICAgICB3aGlsZSBUcnVlOgogICAgICAgICBrZXksIGVuZCA9IHNjYW5zdHJpbmcocywgZW5kLCBzdHJpY3QpCkBAIC0xNzQsNyArMTcwLDcgQEAKICAgICAgICAgaWYgc1tlbmQ6ZW5kICsgMV0gIT0gJzonOgogICAgICAgICAgICAgZW5kID0gX3cocywgZW5kKS5lbmQoKQogICAgICAgICAgICAgaWYgc1tlbmQ6ZW5kICsgMV0gIT0gJzonOgotICAgICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoZXJybXNnKCJFeHBlY3RpbmcgJzonIGRlbGltaXRlciIsIHMsIGVuZCkpCisgICAgICAgICAgICAgICAgcmFpc2UgSlNPTkRlY29kZUVycm9yKCJFeHBlY3RpbmcgJzonIGRlbGltaXRlciIsIHMsIGVuZCkKICAgICAgICAgZW5kICs9IDEKIAogICAgICAgICB0cnk6CkBAIC0xODgsNyArMTg0LDcgQEAKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgdmFsdWUsIGVuZCA9IHNjYW5fb25jZShzLCBlbmQpCiAgICAgICAgIGV4Y2VwdCBTdG9wSXRlcmF0aW9uIGFzIGVycjoKLSAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoZXJybXNnKCJFeHBlY3RpbmcgdmFsdWUiLCBzLCBlcnIudmFsdWUpKSBmcm9tIE5vbmUKKyAgICAgICAgICAgIHJhaXNlIEpTT05EZWNvZGVFcnJvcigiRXhwZWN0aW5nIHZhbHVlIiwgcywgZXJyLnZhbHVlKSBmcm9tIE5vbmUKICAgICAgICAgcGFpcnNfYXBwZW5kKChrZXksIHZhbHVlKSkKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgbmV4dGNoYXIgPSBzW2VuZF0KQEAgLTIwMiwxMyArMTk4LDEzIEBACiAgICAgICAgIGlmIG5leHRjaGFyID09ICd9JzoKICAgICAgICAgICAgIGJyZWFrCiAgICAgICAgIGVsaWYgbmV4dGNoYXIgIT0gJywnOgotICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcihlcnJtc2coIkV4cGVjdGluZyAnLCcgZGVsaW1pdGVyIiwgcywgZW5kIC0gMSkpCisgICAgICAgICAgICByYWlzZSBKU09ORGVjb2RlRXJyb3IoIkV4cGVjdGluZyAnLCcgZGVsaW1pdGVyIiwgcywgZW5kIC0gMSkKICAgICAgICAgZW5kID0gX3cocywgZW5kKS5lbmQoKQogICAgICAgICBuZXh0Y2hhciA9IHNbZW5kOmVuZCArIDFdCiAgICAgICAgIGVuZCArPSAxCiAgICAgICAgIGlmIG5leHRjaGFyICE9ICciJzoKLSAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoZXJybXNnKAotICAgICAgICAgICAgICAgICJFeHBlY3RpbmcgcHJvcGVydHkgbmFtZSBlbmNsb3NlZCBpbiBkb3VibGUgcXVvdGVzIiwgcywgZW5kIC0gMSkpCisgICAgICAgICAgICByYWlzZSBKU09ORGVjb2RlRXJyb3IoCisgICAgICAgICAgICAgICAgIkV4cGVjdGluZyBwcm9wZXJ0eSBuYW1lIGVuY2xvc2VkIGluIGRvdWJsZSBxdW90ZXMiLCBzLCBlbmQgLSAxKQogICAgIGlmIG9iamVjdF9wYWlyc19ob29rIGlzIG5vdCBOb25lOgogICAgICAgICByZXN1bHQgPSBvYmplY3RfcGFpcnNfaG9vayhwYWlycykKICAgICAgICAgcmV0dXJuIHJlc3VsdCwgZW5kCkBAIC0yMzIsNyArMjI4LDcgQEAKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgdmFsdWUsIGVuZCA9IHNjYW5fb25jZShzLCBlbmQpCiAgICAgICAgIGV4Y2VwdCBTdG9wSXRlcmF0aW9uIGFzIGVycjoKLSAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoZXJybXNnKCJFeHBlY3RpbmcgdmFsdWUiLCBzLCBlcnIudmFsdWUpKSBmcm9tIE5vbmUKKyAgICAgICAgICAgIHJhaXNlIEpTT05EZWNvZGVFcnJvcigiRXhwZWN0aW5nIHZhbHVlIiwgcywgZXJyLnZhbHVlKSBmcm9tIE5vbmUKICAgICAgICAgX2FwcGVuZCh2YWx1ZSkKICAgICAgICAgbmV4dGNoYXIgPSBzW2VuZDplbmQgKyAxXQogICAgICAgICBpZiBuZXh0Y2hhciBpbiBfd3M6CkBAIC0yNDIsNyArMjM4LDcgQEAKICAgICAgICAgaWYgbmV4dGNoYXIgPT0gJ10nOgogICAgICAgICAgICAgYnJlYWsKICAgICAgICAgZWxpZiBuZXh0Y2hhciAhPSAnLCc6Ci0gICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKGVycm1zZygiRXhwZWN0aW5nICcsJyBkZWxpbWl0ZXIiLCBzLCBlbmQgLSAxKSkKKyAgICAgICAgICAgIHJhaXNlIEpTT05EZWNvZGVFcnJvcigiRXhwZWN0aW5nICcsJyBkZWxpbWl0ZXIiLCBzLCBlbmQgLSAxKQogICAgICAgICB0cnk6CiAgICAgICAgICAgICBpZiBzW2VuZF0gaW4gX3dzOgogICAgICAgICAgICAgICAgIGVuZCArPSAxCkBAIC0zNDMsNyArMzM5LDcgQEAKICAgICAgICAgb2JqLCBlbmQgPSBzZWxmLnJhd19kZWNvZGUocywgaWR4PV93KHMsIDApLmVuZCgpKQogICAgICAgICBlbmQgPSBfdyhzLCBlbmQpLmVuZCgpCiAgICAgICAgIGlmIGVuZCAhPSBsZW4ocyk6Ci0gICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKGVycm1zZygiRXh0cmEgZGF0YSIsIHMsIGVuZCwgbGVuKHMpKSkKKyAgICAgICAgICAgIHJhaXNlIEpTT05EZWNvZGVFcnJvcigiRXh0cmEgZGF0YSIsIHMsIGVuZCkKICAgICAgICAgcmV0dXJuIG9iagogCiAgICAgZGVmIHJhd19kZWNvZGUoc2VsZiwgcywgaWR4PTApOgpAQCAtMzU4LDUgKzM1NCw1IEBACiAgICAgICAgIHRyeToKICAgICAgICAgICAgIG9iaiwgZW5kID0gc2VsZi5zY2FuX29uY2UocywgaWR4KQogICAgICAgICBleGNlcHQgU3RvcEl0ZXJhdGlvbiBhcyBlcnI6Ci0gICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKGVycm1zZygiRXhwZWN0aW5nIHZhbHVlIiwgcywgZXJyLnZhbHVlKSkgZnJvbSBOb25lCisgICAgICAgICAgICByYWlzZSBKU09ORGVjb2RlRXJyb3IoIkV4cGVjdGluZyB2YWx1ZSIsIHMsIGVyci52YWx1ZSkgZnJvbSBOb25lCiAgICAgICAgIHJldHVybiBvYmosIGVuZApkaWZmIC0tZ2l0IGEvTGliL2pzb24vZW5jb2Rlci5weSBiL0xpYi9qc29uL2VuY29kZXIucHkKaW5kZXggMDUxMzgzOC4uMjZlOWViMiAxMDA2NDQKLS0tIGEvTGliL2pzb24vZW5jb2Rlci5weQorKysgYi9MaWIvanNvbi9lbmNvZGVyLnB5CkBAIC03LDYgKzcsMTAgQEAKIGV4Y2VwdCBJbXBvcnRFcnJvcjoKICAgICBjX2VuY29kZV9iYXNlc3RyaW5nX2FzY2lpID0gTm9uZQogdHJ5OgorICAgIGZyb20gX2pzb24gaW1wb3J0IGVuY29kZV9iYXNlc3RyaW5nIGFzIGNfZW5jb2RlX2Jhc2VzdHJpbmcKK2V4Y2VwdCBJbXBvcnRFcnJvcjoKKyAgICBjX2VuY29kZV9iYXNlc3RyaW5nID0gTm9uZQordHJ5OgogICAgIGZyb20gX2pzb24gaW1wb3J0IG1ha2VfZW5jb2RlciBhcyBjX21ha2VfZW5jb2RlcgogZXhjZXB0IEltcG9ydEVycm9yOgogICAgIGNfbWFrZV9lbmNvZGVyID0gTm9uZQpAQCAtMzAsNyArMzQsNyBAQAogSU5GSU5JVFkgPSBmbG9hdCgnaW5mJykKIEZMT0FUX1JFUFIgPSByZXByCiAKLWRlZiBlbmNvZGVfYmFzZXN0cmluZyhzKToKK2RlZiBweV9lbmNvZGVfYmFzZXN0cmluZyhzKToKICAgICAiIiJSZXR1cm4gYSBKU09OIHJlcHJlc2VudGF0aW9uIG9mIGEgUHl0aG9uIHN0cmluZwogCiAgICAgIiIiCkBAIC0zOSw2ICs0Myw5IEBACiAgICAgcmV0dXJuICciJyArIEVTQ0FQRS5zdWIocmVwbGFjZSwgcykgKyAnIicKIAogCitlbmNvZGVfYmFzZXN0cmluZyA9IChjX2VuY29kZV9iYXNlc3RyaW5nIG9yIHB5X2VuY29kZV9iYXNlc3RyaW5nKQorCisKIGRlZiBweV9lbmNvZGVfYmFzZXN0cmluZ19hc2NpaShzKToKICAgICAiIiJSZXR1cm4gYW4gQVNDSUktb25seSBKU09OIHJlcHJlc2VudGF0aW9uIG9mIGEgUHl0aG9uIHN0cmluZwogCmRpZmYgLS1naXQgYS9MaWIvanNvbi90b29sLnB5IGIvTGliL2pzb24vdG9vbC5weQppbmRleCA3ZGI0NTI4Li40ZjMxODJjIDEwMDY0NAotLS0gYS9MaWIvanNvbi90b29sLnB5CisrKyBiL0xpYi9qc29uL3Rvb2wucHkKQEAgLTEwLDI4ICsxMCwzOSBAQAogICAgIEV4cGVjdGluZyBwcm9wZXJ0eSBuYW1lIGVuY2xvc2VkIGluIGRvdWJsZSBxdW90ZXM6IGxpbmUgMSBjb2x1bW4gMyAoY2hhciAyKQogCiAiIiIKLWltcG9ydCBzeXMKK2ltcG9ydCBhcmdwYXJzZQoraW1wb3J0IGNvbGxlY3Rpb25zCiBpbXBvcnQganNvbgoraW1wb3J0IHN5cworCiAKIGRlZiBtYWluKCk6Ci0gICAgaWYgbGVuKHN5cy5hcmd2KSA9PSAxOgotICAgICAgICBpbmZpbGUgPSBzeXMuc3RkaW4KLSAgICAgICAgb3V0ZmlsZSA9IHN5cy5zdGRvdXQKLSAgICBlbGlmIGxlbihzeXMuYXJndikgPT0gMjoKLSAgICAgICAgaW5maWxlID0gb3BlbihzeXMuYXJndlsxXSwgJ3InKQotICAgICAgICBvdXRmaWxlID0gc3lzLnN0ZG91dAotICAgIGVsaWYgbGVuKHN5cy5hcmd2KSA9PSAzOgotICAgICAgICBpbmZpbGUgPSBvcGVuKHN5cy5hcmd2WzFdLCAncicpCi0gICAgICAgIG91dGZpbGUgPSBvcGVuKHN5cy5hcmd2WzJdLCAndycpCi0gICAgZWxzZToKLSAgICAgICAgcmFpc2UgU3lzdGVtRXhpdChzeXMuYXJndlswXSArICIgW2luZmlsZSBbb3V0ZmlsZV1dIikKKyAgICBwcm9nID0gJ3B5dGhvbiAtbSBqc29uLnRvb2wnCisgICAgZGVzY3JpcHRpb24gPSAoJ0Egc2ltcGxlIGNvbW1hbmQgbGluZSBpbnRlcmZhY2UgZm9yIGpzb24gbW9kdWxlICcKKyAgICAgICAgICAgICAgICAgICAndG8gdmFsaWRhdGUgYW5kIHByZXR0eS1wcmludCBKU09OIG9iamVjdHMuJykKKyAgICBwYXJzZXIgPSBhcmdwYXJzZS5Bcmd1bWVudFBhcnNlcihwcm9nPXByb2csIGRlc2NyaXB0aW9uPWRlc2NyaXB0aW9uKQorICAgIHBhcnNlci5hZGRfYXJndW1lbnQoJ2luZmlsZScsIG5hcmdzPSc/JywgdHlwZT1hcmdwYXJzZS5GaWxlVHlwZSgpLAorICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0nYSBKU09OIGZpbGUgdG8gYmUgdmFsaWRhdGVkIG9yIHByZXR0eS1wcmludGVkJykKKyAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCdvdXRmaWxlJywgbmFyZ3M9Jz8nLCB0eXBlPWFyZ3BhcnNlLkZpbGVUeXBlKCd3JyksCisgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSd3cml0ZSB0aGUgb3V0cHV0IG9mIGluZmlsZSB0byBvdXRmaWxlJykKKyAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCctLXNvcnQta2V5cycsIGFjdGlvbj0nc3RvcmVfdHJ1ZScsIGRlZmF1bHQ9RmFsc2UsCisgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSdzb3J0IHRoZSBvdXRwdXQgb2YgZGljdGlvbmFyaWVzIGFscGhhYmV0aWNhbGx5IGJ5IGtleScpCisgICAgb3B0aW9ucyA9IHBhcnNlci5wYXJzZV9hcmdzKCkKKworICAgIGluZmlsZSA9IG9wdGlvbnMuaW5maWxlIG9yIHN5cy5zdGRpbgorICAgIG91dGZpbGUgPSBvcHRpb25zLm91dGZpbGUgb3Igc3lzLnN0ZG91dAorICAgIHNvcnRfa2V5cyA9IG9wdGlvbnMuc29ydF9rZXlzCiAgICAgd2l0aCBpbmZpbGU6CiAgICAgICAgIHRyeToKLSAgICAgICAgICAgIG9iaiA9IGpzb24ubG9hZChpbmZpbGUpCisgICAgICAgICAgICBpZiBzb3J0X2tleXM6CisgICAgICAgICAgICAgICAgb2JqID0ganNvbi5sb2FkKGluZmlsZSkKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgb2JqID0ganNvbi5sb2FkKGluZmlsZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqZWN0X3BhaXJzX2hvb2s9Y29sbGVjdGlvbnMuT3JkZXJlZERpY3QpCiAgICAgICAgIGV4Y2VwdCBWYWx1ZUVycm9yIGFzIGU6CiAgICAgICAgICAgICByYWlzZSBTeXN0ZW1FeGl0KGUpCiAgICAgd2l0aCBvdXRmaWxlOgotICAgICAgICBqc29uLmR1bXAob2JqLCBvdXRmaWxlLCBzb3J0X2tleXM9VHJ1ZSwgaW5kZW50PTQpCisgICAgICAgIGpzb24uZHVtcChvYmosIG91dGZpbGUsIHNvcnRfa2V5cz1zb3J0X2tleXMsIGluZGVudD00KQogICAgICAgICBvdXRmaWxlLndyaXRlKCdcbicpCiAKIApkaWZmIC0tZ2l0IGEvTGliL2xpbmVjYWNoZS5weSBiL0xpYi9saW5lY2FjaGUucHkKaW5kZXggMDJhOWViNS4uMzNiMGFmNyAxMDA2NDQKLS0tIGEvTGliL2xpbmVjYWNoZS5weQorKysgYi9MaWIvbGluZWNhY2hlLnB5CkBAIC01LDYgKzUsNyBAQAogdGhhdCBuYW1lLgogIiIiCiAKK2ltcG9ydCBmdW5jdG9vbHMKIGltcG9ydCBzeXMKIGltcG9ydCBvcwogaW1wb3J0IHRva2VuaXplCkBAIC0yMSw3ICsyMiw5IEBACiAKICMgVGhlIGNhY2hlCiAKLWNhY2hlID0ge30gIyBUaGUgY2FjaGUKKyMgVGhlIGNhY2hlLiBNYXBzIGZpbGVuYW1lcyB0byBlaXRoZXIgYSB0aHVuayB3aGljaCB3aWxsIHByb3ZpZGUgc291cmNlIGNvZGUsCisjIG9yIGEgdHVwbGUgKHNpemUsIG10aW1lLCBsaW5lcywgZnVsbG5hbWUpIG9uY2UgbG9hZGVkLgorY2FjaGUgPSB7fQogCiAKIGRlZiBjbGVhcmNhY2hlKCk6CkBAIC0zNiw2ICszOSw5IEBACiAgICAgVXBkYXRlIHRoZSBjYWNoZSBpZiBpdCBkb2Vzbid0IGNvbnRhaW4gYW4gZW50cnkgZm9yIHRoaXMgZmlsZSBhbHJlYWR5LiIiIgogCiAgICAgaWYgZmlsZW5hbWUgaW4gY2FjaGU6CisgICAgICAgIGVudHJ5ID0gY2FjaGVbZmlsZW5hbWVdCisgICAgICAgIGlmIGxlbihlbnRyeSkgPT0gMToKKyAgICAgICAgICAgIHJldHVybiB1cGRhdGVjYWNoZShmaWxlbmFtZSwgbW9kdWxlX2dsb2JhbHMpCiAgICAgICAgIHJldHVybiBjYWNoZVtmaWxlbmFtZV1bMl0KICAgICBlbHNlOgogICAgICAgICByZXR1cm4gdXBkYXRlY2FjaGUoZmlsZW5hbWUsIG1vZHVsZV9nbG9iYWxzKQpAQCAtNTQsNyArNjAsMTEgQEAKICAgICAgICAgICAgIHJldHVybgogCiAgICAgZm9yIGZpbGVuYW1lIGluIGZpbGVuYW1lczoKLSAgICAgICAgc2l6ZSwgbXRpbWUsIGxpbmVzLCBmdWxsbmFtZSA9IGNhY2hlW2ZpbGVuYW1lXQorICAgICAgICBlbnRyeSA9IGNhY2hlW2ZpbGVuYW1lXQorICAgICAgICBpZiBsZW4oZW50cnkpID09IDE6CisgICAgICAgICAgICAjIGxhenkgY2FjaGUgZW50cnksIGxlYXZlIGl0IGxhenkuCisgICAgICAgICAgICBjb250aW51ZQorICAgICAgICBzaXplLCBtdGltZSwgbGluZXMsIGZ1bGxuYW1lID0gZW50cnkKICAgICAgICAgaWYgbXRpbWUgaXMgTm9uZToKICAgICAgICAgICAgIGNvbnRpbnVlICAgIyBuby1vcCBmb3IgZmlsZXMgbG9hZGVkIHZpYSBhIF9fbG9hZGVyX18KICAgICAgICAgdHJ5OgpAQCAtNzIsNyArODIsOCBAQAogICAgIGFuZCByZXR1cm4gYW4gZW1wdHkgbGlzdC4iIiIKIAogICAgIGlmIGZpbGVuYW1lIGluIGNhY2hlOgotICAgICAgICBkZWwgY2FjaGVbZmlsZW5hbWVdCisgICAgICAgIGlmIGxlbihjYWNoZVtmaWxlbmFtZV0pICE9IDE6CisgICAgICAgICAgICBkZWwgY2FjaGVbZmlsZW5hbWVdCiAgICAgaWYgbm90IGZpbGVuYW1lIG9yIChmaWxlbmFtZS5zdGFydHN3aXRoKCc8JykgYW5kIGZpbGVuYW1lLmVuZHN3aXRoKCc+JykpOgogICAgICAgICByZXR1cm4gW10KIApAQCAtODIsMjcgKzkzLDIzIEBACiAgICAgZXhjZXB0IE9TRXJyb3I6CiAgICAgICAgIGJhc2VuYW1lID0gZmlsZW5hbWUKIAotICAgICAgICAjIFRyeSBmb3IgYSBfX2xvYWRlcl9fLCBpZiBhdmFpbGFibGUKLSAgICAgICAgaWYgbW9kdWxlX2dsb2JhbHMgYW5kICdfX2xvYWRlcl9fJyBpbiBtb2R1bGVfZ2xvYmFsczoKLSAgICAgICAgICAgIG5hbWUgPSBtb2R1bGVfZ2xvYmFscy5nZXQoJ19fbmFtZV9fJykKLSAgICAgICAgICAgIGxvYWRlciA9IG1vZHVsZV9nbG9iYWxzWydfX2xvYWRlcl9fJ10KLSAgICAgICAgICAgIGdldF9zb3VyY2UgPSBnZXRhdHRyKGxvYWRlciwgJ2dldF9zb3VyY2UnLCBOb25lKQotCi0gICAgICAgICAgICBpZiBuYW1lIGFuZCBnZXRfc291cmNlOgotICAgICAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICAgICAgZGF0YSA9IGdldF9zb3VyY2UobmFtZSkKLSAgICAgICAgICAgICAgICBleGNlcHQgKEltcG9ydEVycm9yLCBPU0Vycm9yKToKLSAgICAgICAgICAgICAgICAgICAgcGFzcwotICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgIGlmIGRhdGEgaXMgTm9uZToKLSAgICAgICAgICAgICAgICAgICAgICAgICMgTm8gbHVjaywgdGhlIFBFUDMwMiBsb2FkZXIgY2Fubm90IGZpbmQgdGhlIHNvdXJjZQotICAgICAgICAgICAgICAgICAgICAgICAgIyBmb3IgdGhpcyBtb2R1bGUuCi0gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gW10KLSAgICAgICAgICAgICAgICAgICAgY2FjaGVbZmlsZW5hbWVdID0gKAotICAgICAgICAgICAgICAgICAgICAgICAgbGVuKGRhdGEpLCBOb25lLAotICAgICAgICAgICAgICAgICAgICAgICAgW2xpbmUrJ1xuJyBmb3IgbGluZSBpbiBkYXRhLnNwbGl0bGluZXMoKV0sIGZ1bGxuYW1lCi0gICAgICAgICAgICAgICAgICAgICkKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNhY2hlW2ZpbGVuYW1lXVsyXQorICAgICAgICAjIFJlYWxpc2UgYSBsYXp5IGxvYWRlciBiYXNlZCBsb29rdXAgaWYgdGhlcmUgaXMgb25lCisgICAgICAgICMgb3RoZXJ3aXNlIHRyeSB0byBsb29rdXAgcmlnaHQgbm93LgorICAgICAgICBpZiBsYXp5Y2FjaGUoZmlsZW5hbWUsIG1vZHVsZV9nbG9iYWxzKToKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICBkYXRhID0gY2FjaGVbZmlsZW5hbWVdWzBdKCkKKyAgICAgICAgICAgIGV4Y2VwdCAoSW1wb3J0RXJyb3IsIE9TRXJyb3IpOgorICAgICAgICAgICAgICAgIHBhc3MKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgaWYgZGF0YSBpcyBOb25lOgorICAgICAgICAgICAgICAgICAgICAjIE5vIGx1Y2ssIHRoZSBQRVAzMDIgbG9hZGVyIGNhbm5vdCBmaW5kIHRoZSBzb3VyY2UKKyAgICAgICAgICAgICAgICAgICAgIyBmb3IgdGhpcyBtb2R1bGUuCisgICAgICAgICAgICAgICAgICAgIHJldHVybiBbXQorICAgICAgICAgICAgICAgIGNhY2hlW2ZpbGVuYW1lXSA9ICgKKyAgICAgICAgICAgICAgICAgICAgbGVuKGRhdGEpLCBOb25lLAorICAgICAgICAgICAgICAgICAgICBbbGluZSsnXG4nIGZvciBsaW5lIGluIGRhdGEuc3BsaXRsaW5lcygpXSwgZnVsbG5hbWUKKyAgICAgICAgICAgICAgICApCisgICAgICAgICAgICAgICAgcmV0dXJuIGNhY2hlW2ZpbGVuYW1lXVsyXQogCiAgICAgICAgICMgVHJ5IGxvb2tpbmcgdGhyb3VnaCB0aGUgbW9kdWxlIHNlYXJjaCBwYXRoLCB3aGljaCBpcyBvbmx5IHVzZWZ1bAogICAgICAgICAjIHdoZW4gaGFuZGxpbmcgYSByZWxhdGl2ZSBmaWxlbmFtZS4KQEAgLTEzMiwzICsxMzksMzYgQEAKICAgICBzaXplLCBtdGltZSA9IHN0YXQuc3Rfc2l6ZSwgc3RhdC5zdF9tdGltZQogICAgIGNhY2hlW2ZpbGVuYW1lXSA9IHNpemUsIG10aW1lLCBsaW5lcywgZnVsbG5hbWUKICAgICByZXR1cm4gbGluZXMKKworCitkZWYgbGF6eWNhY2hlKGZpbGVuYW1lLCBtb2R1bGVfZ2xvYmFscyk6CisgICAgIiIiU2VlZCB0aGUgY2FjaGUgZm9yIGZpbGVuYW1lIHdpdGggbW9kdWxlX2dsb2JhbHMuCisKKyAgICBUaGUgbW9kdWxlIGxvYWRlciB3aWxsIGJlIGFza2VkIGZvciB0aGUgc291cmNlIG9ubHkgd2hlbiBnZXRsaW5lcyBpcworICAgIGNhbGxlZCwgbm90IGltbWVkaWF0ZWx5LgorCisgICAgSWYgdGhlcmUgaXMgYW4gZW50cnkgaW4gdGhlIGNhY2hlIGFscmVhZHksIGl0IGlzIG5vdCBhbHRlcmVkLgorCisgICAgOnJldHVybjogVHJ1ZSBpZiBhIGxhenkgbG9hZCBpcyByZWdpc3RlcmVkIGluIHRoZSBjYWNoZSwKKyAgICAgICAgb3RoZXJ3aXNlIEZhbHNlLiBUbyByZWdpc3RlciBzdWNoIGEgbG9hZCBhIG1vZHVsZSBsb2FkZXIgd2l0aCBhCisgICAgICAgIGdldF9zb3VyY2UgbWV0aG9kIG11c3QgYmUgZm91bmQsIHRoZSBmaWxlbmFtZSBtdXN0IGJlIGEgY2FjaGFibGUKKyAgICAgICAgZmlsZW5hbWUsIGFuZCB0aGUgZmlsZW5hbWUgbXVzdCBub3QgYmUgYWxyZWFkeSBjYWNoZWQuCisgICAgIiIiCisgICAgaWYgZmlsZW5hbWUgaW4gY2FjaGU6CisgICAgICAgIGlmIGxlbihjYWNoZVtmaWxlbmFtZV0pID09IDE6CisgICAgICAgICAgICByZXR1cm4gVHJ1ZQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgcmV0dXJuIEZhbHNlCisgICAgaWYgbm90IGZpbGVuYW1lIG9yIChmaWxlbmFtZS5zdGFydHN3aXRoKCc8JykgYW5kIGZpbGVuYW1lLmVuZHN3aXRoKCc+JykpOgorICAgICAgICByZXR1cm4gRmFsc2UKKyAgICAjIFRyeSBmb3IgYSBfX2xvYWRlcl9fLCBpZiBhdmFpbGFibGUKKyAgICBpZiBtb2R1bGVfZ2xvYmFscyBhbmQgJ19fbG9hZGVyX18nIGluIG1vZHVsZV9nbG9iYWxzOgorICAgICAgICBuYW1lID0gbW9kdWxlX2dsb2JhbHMuZ2V0KCdfX25hbWVfXycpCisgICAgICAgIGxvYWRlciA9IG1vZHVsZV9nbG9iYWxzWydfX2xvYWRlcl9fJ10KKyAgICAgICAgZ2V0X3NvdXJjZSA9IGdldGF0dHIobG9hZGVyLCAnZ2V0X3NvdXJjZScsIE5vbmUpCisKKyAgICAgICAgaWYgbmFtZSBhbmQgZ2V0X3NvdXJjZToKKyAgICAgICAgICAgIGdldF9saW5lcyA9IGZ1bmN0b29scy5wYXJ0aWFsKGdldF9zb3VyY2UsIG5hbWUpCisgICAgICAgICAgICBjYWNoZVtmaWxlbmFtZV0gPSAoZ2V0X2xpbmVzLCkKKyAgICAgICAgICAgIHJldHVybiBUcnVlCisgICAgcmV0dXJuIEZhbHNlCmRpZmYgLS1naXQgYS9MaWIvbG9jYWxlLnB5IGIvTGliL2xvY2FsZS5weQppbmRleCA3ZmY0MzU2Li42YjllYjNhIDEwMDY0NAotLS0gYS9MaWIvbG9jYWxlLnB5CisrKyBiL0xpYi9sb2NhbGUucHkKQEAgLTMwMSw4ICszMDEsOCBAQAogICAgICIiIkNvbnZlcnQgZmxvYXQgdG8gaW50ZWdlciwgdGFraW5nIHRoZSBsb2NhbGUgaW50byBhY2NvdW50LiIiIgogICAgIHJldHVybiBmb3JtYXQoIiUuMTJnIiwgdmFsKQogCi1kZWYgYXRvZihzdHJpbmcsIGZ1bmM9ZmxvYXQpOgotICAgICJQYXJzZXMgYSBzdHJpbmcgYXMgYSBmbG9hdCBhY2NvcmRpbmcgdG8gdGhlIGxvY2FsZSBzZXR0aW5ncy4iCitkZWYgZGVsb2NhbGl6ZShzdHJpbmcpOgorICAgICJQYXJzZXMgYSBzdHJpbmcgYXMgYSBub3JtYWxpemVkIG51bWJlciBhY2NvcmRpbmcgdG8gdGhlIGxvY2FsZSBzZXR0aW5ncy4iCiAgICAgI0ZpcnN0LCBnZXQgcmlkIG9mIHRoZSBncm91cGluZwogICAgIHRzID0gbG9jYWxlY29udigpWyd0aG91c2FuZHNfc2VwJ10KICAgICBpZiB0czoKQEAgLTMxMSwxMiArMzExLDE1IEBACiAgICAgZGQgPSBsb2NhbGVjb252KClbJ2RlY2ltYWxfcG9pbnQnXQogICAgIGlmIGRkOgogICAgICAgICBzdHJpbmcgPSBzdHJpbmcucmVwbGFjZShkZCwgJy4nKQotICAgICNmaW5hbGx5LCBwYXJzZSB0aGUgc3RyaW5nCi0gICAgcmV0dXJuIGZ1bmMoc3RyaW5nKQorICAgIHJldHVybiBzdHJpbmcKIAotZGVmIGF0b2koc3RyKToKK2RlZiBhdG9mKHN0cmluZywgZnVuYz1mbG9hdCk6CisgICAgIlBhcnNlcyBhIHN0cmluZyBhcyBhIGZsb2F0IGFjY29yZGluZyB0byB0aGUgbG9jYWxlIHNldHRpbmdzLiIKKyAgICByZXR1cm4gZnVuYyhkZWxvY2FsaXplKHN0cmluZykpCisKK2RlZiBhdG9pKHN0cmluZyk6CiAgICAgIkNvbnZlcnRzIGEgc3RyaW5nIHRvIGFuIGludGVnZXIgYWNjb3JkaW5nIHRvIHRoZSBsb2NhbGUgc2V0dGluZ3MuIgotICAgIHJldHVybiBhdG9mKHN0ciwgaW50KQorICAgIHJldHVybiBpbnQoZGVsb2NhbGl6ZShzdHJpbmcpKQogCiBkZWYgX3Rlc3QoKToKICAgICBzZXRsb2NhbGUoTENfQUxMLCAiIikKZGlmZiAtLWdpdCBhL0xpYi9sb2dnaW5nL19faW5pdF9fLnB5IGIvTGliL2xvZ2dpbmcvX19pbml0X18ucHkKaW5kZXggOWE4Njg1Yi4uYjFkYzMxOSAxMDA2NDQKLS0tIGEvTGliL2xvZ2dpbmcvX19pbml0X18ucHkKKysrIGIvTGliL2xvZ2dpbmcvX19pbml0X18ucHkKQEAgLTEsNCArMSw0IEBACi0jIENvcHlyaWdodCAyMDAxLTIwMTQgYnkgVmluYXkgU2FqaXAuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisjIENvcHlyaWdodCAyMDAxLTIwMTUgYnkgVmluYXkgU2FqaXAuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAjCiAjIFBlcm1pc3Npb24gdG8gdXNlLCBjb3B5LCBtb2RpZnksIGFuZCBkaXN0cmlidXRlIHRoaXMgc29mdHdhcmUgYW5kIGl0cwogIyBkb2N1bWVudGF0aW9uIGZvciBhbnkgcHVycG9zZSBhbmQgd2l0aG91dCBmZWUgaXMgaGVyZWJ5IGdyYW50ZWQsCkBAIC0xOCw3ICsxOCw3IEBACiBMb2dnaW5nIHBhY2thZ2UgZm9yIFB5dGhvbi4gQmFzZWQgb24gUEVQIDI4MiBhbmQgY29tbWVudHMgdGhlcmV0byBpbgogY29tcC5sYW5nLnB5dGhvbi4KIAotQ29weXJpZ2h0IChDKSAyMDAxLTIwMTQgVmluYXkgU2FqaXAuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCitDb3B5cmlnaHQgKEMpIDIwMDEtMjAxNSBWaW5heSBTYWppcC4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KIAogVG8gdXNlLCBzaW1wbHkgJ2ltcG9ydCBsb2dnaW5nJyBhbmQgbG9nIGF3YXkhCiAiIiIKQEAgLTMxNiw2ICszMTYsOCBAQAogICAgICAgICByZXR1cm4gJzxMb2dSZWNvcmQ6ICVzLCAlcywgJXMsICVzLCAiJXMiPiclKHNlbGYubmFtZSwgc2VsZi5sZXZlbG5vLAogICAgICAgICAgICAgc2VsZi5wYXRobmFtZSwgc2VsZi5saW5lbm8sIHNlbGYubXNnKQogCisgICAgX19yZXByX18gPSBfX3N0cl9fCisKICAgICBkZWYgZ2V0TWVzc2FnZShzZWxmKToKICAgICAgICAgIiIiCiAgICAgICAgIFJldHVybiB0aGUgbWVzc2FnZSBmb3IgdGhpcyBMb2dSZWNvcmQuCkBAIC0xMDg2LDcgKzEwODgsNiBAQAogIwogIyAgIERldGVybWluZSB3aGljaCBjbGFzcyB0byB1c2Ugd2hlbiBpbnN0YW50aWF0aW5nIGxvZ2dlcnMuCiAjCi1fbG9nZ2VyQ2xhc3MgPSBOb25lCiAKIGRlZiBzZXRMb2dnZXJDbGFzcyhrbGFzcyk6CiAgICAgIiIiCkBAIC0xMTA1LDcgKzExMDYsNiBAQAogICAgICIiIgogICAgIFJldHVybiB0aGUgY2xhc3MgdG8gYmUgdXNlZCB3aGVuIGluc3RhbnRpYXRpbmcgYSBsb2dnZXIuCiAgICAgIiIiCi0KICAgICByZXR1cm4gX2xvZ2dlckNsYXNzCiAKIGNsYXNzIE1hbmFnZXIob2JqZWN0KToKQEAgLTEzMDIsMTIgKzEzMDIsMTEgQEAKICAgICAgICAgaWYgc2VsZi5pc0VuYWJsZWRGb3IoRVJST1IpOgogICAgICAgICAgICAgc2VsZi5fbG9nKEVSUk9SLCBtc2csIGFyZ3MsICoqa3dhcmdzKQogCi0gICAgZGVmIGV4Y2VwdGlvbihzZWxmLCBtc2csICphcmdzLCAqKmt3YXJncyk6CisgICAgZGVmIGV4Y2VwdGlvbihzZWxmLCBtc2csICphcmdzLCBleGNfaW5mbz1UcnVlLCAqKmt3YXJncyk6CiAgICAgICAgICIiIgogICAgICAgICBDb252ZW5pZW5jZSBtZXRob2QgZm9yIGxvZ2dpbmcgYW4gRVJST1Igd2l0aCBleGNlcHRpb24gaW5mb3JtYXRpb24uCiAgICAgICAgICIiIgotICAgICAgICBrd2FyZ3NbJ2V4Y19pbmZvJ10gPSBUcnVlCi0gICAgICAgIHNlbGYuZXJyb3IobXNnLCAqYXJncywgKiprd2FyZ3MpCisgICAgICAgIHNlbGYuZXJyb3IobXNnLCAqYXJncywgZXhjX2luZm89ZXhjX2luZm8sICoqa3dhcmdzKQogCiAgICAgZGVmIGNyaXRpY2FsKHNlbGYsIG1zZywgKmFyZ3MsICoqa3dhcmdzKToKICAgICAgICAgIiIiCkBAIC0xNDAyLDcgKzE0MDEsOSBAQAogICAgICAgICBlbHNlOiAjIHByYWdtYTogbm8gY292ZXIKICAgICAgICAgICAgIGZuLCBsbm8sIGZ1bmMgPSAiKHVua25vd24gZmlsZSkiLCAwLCAiKHVua25vd24gZnVuY3Rpb24pIgogICAgICAgICBpZiBleGNfaW5mbzoKLSAgICAgICAgICAgIGlmIG5vdCBpc2luc3RhbmNlKGV4Y19pbmZvLCB0dXBsZSk6CisgICAgICAgICAgICBpZiBpc2luc3RhbmNlKGV4Y19pbmZvLCBCYXNlRXhjZXB0aW9uKToKKyAgICAgICAgICAgICAgICBleGNfaW5mbyA9ICh0eXBlKGV4Y19pbmZvKSwgZXhjX2luZm8sIGV4Y19pbmZvLl9fdHJhY2ViYWNrX18pCisgICAgICAgICAgICBlbGlmIG5vdCBpc2luc3RhbmNlKGV4Y19pbmZvLCB0dXBsZSk6CiAgICAgICAgICAgICAgICAgZXhjX2luZm8gPSBzeXMuZXhjX2luZm8oKQogICAgICAgICByZWNvcmQgPSBzZWxmLm1ha2VSZWNvcmQoc2VsZi5uYW1lLCBsZXZlbCwgZm4sIGxubywgbXNnLCBhcmdzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhjX2luZm8sIGZ1bmMsIGV4dHJhLCBzaW5mbykKQEAgLTE2MTIsMTIgKzE2MTMsMTEgQEAKICAgICAgICAgIiIiCiAgICAgICAgIHNlbGYubG9nKEVSUk9SLCBtc2csICphcmdzLCAqKmt3YXJncykKIAotICAgIGRlZiBleGNlcHRpb24oc2VsZiwgbXNnLCAqYXJncywgKiprd2FyZ3MpOgorICAgIGRlZiBleGNlcHRpb24oc2VsZiwgbXNnLCAqYXJncywgZXhjX2luZm89VHJ1ZSwgKiprd2FyZ3MpOgogICAgICAgICAiIiIKICAgICAgICAgRGVsZWdhdGUgYW4gZXhjZXB0aW9uIGNhbGwgdG8gdGhlIHVuZGVybHlpbmcgbG9nZ2VyLgogICAgICAgICAiIiIKLSAgICAgICAga3dhcmdzWyJleGNfaW5mbyJdID0gVHJ1ZQotICAgICAgICBzZWxmLmxvZyhFUlJPUiwgbXNnLCAqYXJncywgKiprd2FyZ3MpCisgICAgICAgIHNlbGYubG9nKEVSUk9SLCBtc2csICphcmdzLCBleGNfaW5mbz1leGNfaW5mbywgKiprd2FyZ3MpCiAKICAgICBkZWYgY3JpdGljYWwoc2VsZiwgbXNnLCAqYXJncywgKiprd2FyZ3MpOgogICAgICAgICAiIiIKQEAgLTE3OTksMTQgKzE3OTksMTMgQEAKICAgICAgICAgYmFzaWNDb25maWcoKQogICAgIHJvb3QuZXJyb3IobXNnLCAqYXJncywgKiprd2FyZ3MpCiAKLWRlZiBleGNlcHRpb24obXNnLCAqYXJncywgKiprd2FyZ3MpOgorZGVmIGV4Y2VwdGlvbihtc2csICphcmdzLCBleGNfaW5mbz1UcnVlLCAqKmt3YXJncyk6CiAgICAgIiIiCiAgICAgTG9nIGEgbWVzc2FnZSB3aXRoIHNldmVyaXR5ICdFUlJPUicgb24gdGhlIHJvb3QgbG9nZ2VyLCB3aXRoIGV4Y2VwdGlvbgogICAgIGluZm9ybWF0aW9uLiBJZiB0aGUgbG9nZ2VyIGhhcyBubyBoYW5kbGVycywgYmFzaWNDb25maWcoKSBpcyBjYWxsZWQgdG8gYWRkCiAgICAgYSBjb25zb2xlIGhhbmRsZXIgd2l0aCBhIHByZS1kZWZpbmVkIGZvcm1hdC4KICAgICAiIiIKLSAgICBrd2FyZ3NbJ2V4Y19pbmZvJ10gPSBUcnVlCi0gICAgZXJyb3IobXNnLCAqYXJncywgKiprd2FyZ3MpCisgICAgZXJyb3IobXNnLCAqYXJncywgZXhjX2luZm89ZXhjX2luZm8sICoqa3dhcmdzKQogCiBkZWYgd2FybmluZyhtc2csICphcmdzLCAqKmt3YXJncyk6CiAgICAgIiIiCmRpZmYgLS1naXQgYS9MaWIvbG9nZ2luZy9jb25maWcucHkgYi9MaWIvbG9nZ2luZy9jb25maWcucHkKaW5kZXggODk1ZmIyNi4uOGE5OTkyMyAxMDA2NDQKLS0tIGEvTGliL2xvZ2dpbmcvY29uZmlnLnB5CisrKyBiL0xpYi9sb2dnaW5nL2NvbmZpZy5weQpAQCAtMTE2LDExICsxMTYsMTIgQEAKICAgICAgICAgc2VjdG5hbWUgPSAiZm9ybWF0dGVyXyVzIiAlIGZvcm0KICAgICAgICAgZnMgPSBjcC5nZXQoc2VjdG5hbWUsICJmb3JtYXQiLCByYXc9VHJ1ZSwgZmFsbGJhY2s9Tm9uZSkKICAgICAgICAgZGZzID0gY3AuZ2V0KHNlY3RuYW1lLCAiZGF0ZWZtdCIsIHJhdz1UcnVlLCBmYWxsYmFjaz1Ob25lKQorICAgICAgICBzdGwgPSBjcC5nZXQoc2VjdG5hbWUsICJzdHlsZSIsIHJhdz1UcnVlLCBmYWxsYmFjaz0nJScpCiAgICAgICAgIGMgPSBsb2dnaW5nLkZvcm1hdHRlcgogICAgICAgICBjbGFzc19uYW1lID0gY3Bbc2VjdG5hbWVdLmdldCgiY2xhc3MiKQogICAgICAgICBpZiBjbGFzc19uYW1lOgogICAgICAgICAgICAgYyA9IF9yZXNvbHZlKGNsYXNzX25hbWUpCi0gICAgICAgIGYgPSBjKGZzLCBkZnMpCisgICAgICAgIGYgPSBjKGZzLCBkZnMsIHN0bCkKICAgICAgICAgZm9ybWF0dGVyc1tmb3JtXSA9IGYKICAgICByZXR1cm4gZm9ybWF0dGVycwogCkBAIC02NjAsNyArNjYxLDEyIEBACiAgICAgICAgICAgICBmbXQgPSBjb25maWcuZ2V0KCdmb3JtYXQnLCBOb25lKQogICAgICAgICAgICAgZGZtdCA9IGNvbmZpZy5nZXQoJ2RhdGVmbXQnLCBOb25lKQogICAgICAgICAgICAgc3R5bGUgPSBjb25maWcuZ2V0KCdzdHlsZScsICclJykKLSAgICAgICAgICAgIHJlc3VsdCA9IGxvZ2dpbmcuRm9ybWF0dGVyKGZtdCwgZGZtdCwgc3R5bGUpCisgICAgICAgICAgICBjbmFtZSA9IGNvbmZpZy5nZXQoJ2NsYXNzJywgTm9uZSkKKyAgICAgICAgICAgIGlmIG5vdCBjbmFtZToKKyAgICAgICAgICAgICAgICBjID0gbG9nZ2luZy5Gb3JtYXR0ZXIKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgYyA9IF9yZXNvbHZlKGNuYW1lKQorICAgICAgICAgICAgcmVzdWx0ID0gYyhmbXQsIGRmbXQsIHN0eWxlKQogICAgICAgICByZXR1cm4gcmVzdWx0CiAKICAgICBkZWYgY29uZmlndXJlX2ZpbHRlcihzZWxmLCBjb25maWcpOgpkaWZmIC0tZ2l0IGEvTGliL2xvZ2dpbmcvaGFuZGxlcnMucHkgYi9MaWIvbG9nZ2luZy9oYW5kbGVycy5weQppbmRleCBjNjdhYzk5Li5kNGY4YWVmIDEwMDY0NAotLS0gYS9MaWIvbG9nZ2luZy9oYW5kbGVycy5weQorKysgYi9MaWIvbG9nZ2luZy9oYW5kbGVycy5weQpAQCAtMSw0ICsxLDQgQEAKLSMgQ29weXJpZ2h0IDIwMDEtMjAxMyBieSBWaW5heSBTYWppcC4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyMgQ29weXJpZ2h0IDIwMDEtMjAxNSBieSBWaW5heSBTYWppcC4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICMKICMgUGVybWlzc2lvbiB0byB1c2UsIGNvcHksIG1vZGlmeSwgYW5kIGRpc3RyaWJ1dGUgdGhpcyBzb2Z0d2FyZSBhbmQgaXRzCiAjIGRvY3VtZW50YXRpb24gZm9yIGFueSBwdXJwb3NlIGFuZCB3aXRob3V0IGZlZSBpcyBoZXJlYnkgZ3JhbnRlZCwKQEAgLTE4LDcgKzE4LDcgQEAKIEFkZGl0aW9uYWwgaGFuZGxlcnMgZm9yIHRoZSBsb2dnaW5nIHBhY2thZ2UgZm9yIFB5dGhvbi4gVGhlIGNvcmUgcGFja2FnZSBpcwogYmFzZWQgb24gUEVQIDI4MiBhbmQgY29tbWVudHMgdGhlcmV0byBpbiBjb21wLmxhbmcucHl0aG9uLgogCi1Db3B5cmlnaHQgKEMpIDIwMDEtMjAxMyBWaW5heSBTYWppcC4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KK0NvcHlyaWdodCAoQykgMjAwMS0yMDE1IFZpbmF5IFNhamlwLiBBbGwgUmlnaHRzIFJlc2VydmVkLgogCiBUbyB1c2UsIHNpbXBseSAnaW1wb3J0IGxvZ2dpbmcuaGFuZGxlcnMnIGFuZCBsb2cgYXdheSEKICIiIgpAQCAtMTM1MCw3ICsxMzUwLDcgQEAKICAgICAgICAgIiIiCiAgICAgICAgIF9zZW50aW5lbCA9IE5vbmUKIAotICAgICAgICBkZWYgX19pbml0X18oc2VsZiwgcXVldWUsICpoYW5kbGVycyk6CisgICAgICAgIGRlZiBfX2luaXRfXyhzZWxmLCBxdWV1ZSwgKmhhbmRsZXJzLCByZXNwZWN0X2hhbmRsZXJfbGV2ZWw9RmFsc2UpOgogICAgICAgICAgICAgIiIiCiAgICAgICAgICAgICBJbml0aWFsaXNlIGFuIGluc3RhbmNlIHdpdGggdGhlIHNwZWNpZmllZCBxdWV1ZSBhbmQKICAgICAgICAgICAgIGhhbmRsZXJzLgpAQCAtMTM1OSw2ICsxMzU5LDcgQEAKICAgICAgICAgICAgIHNlbGYuaGFuZGxlcnMgPSBoYW5kbGVycwogICAgICAgICAgICAgc2VsZi5fc3RvcCA9IHRocmVhZGluZy5FdmVudCgpCiAgICAgICAgICAgICBzZWxmLl90aHJlYWQgPSBOb25lCisgICAgICAgICAgICBzZWxmLnJlc3BlY3RfaGFuZGxlcl9sZXZlbCA9IHJlc3BlY3RfaGFuZGxlcl9sZXZlbAogCiAgICAgICAgIGRlZiBkZXF1ZXVlKHNlbGYsIGJsb2NrKToKICAgICAgICAgICAgICIiIgpAQCAtMTM5OSw3ICsxNDAwLDEyIEBACiAgICAgICAgICAgICAiIiIKICAgICAgICAgICAgIHJlY29yZCA9IHNlbGYucHJlcGFyZShyZWNvcmQpCiAgICAgICAgICAgICBmb3IgaGFuZGxlciBpbiBzZWxmLmhhbmRsZXJzOgotICAgICAgICAgICAgICAgIGhhbmRsZXIuaGFuZGxlKHJlY29yZCkKKyAgICAgICAgICAgICAgICBpZiBub3Qgc2VsZi5yZXNwZWN0X2hhbmRsZXJfbGV2ZWw6CisgICAgICAgICAgICAgICAgICAgIHByb2Nlc3MgPSBUcnVlCisgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgcHJvY2VzcyA9IHJlY29yZC5sZXZlbG5vID49IGhhbmRsZXIubGV2ZWwKKyAgICAgICAgICAgICAgICBpZiBwcm9jZXNzOgorICAgICAgICAgICAgICAgICAgICBoYW5kbGVyLmhhbmRsZShyZWNvcmQpCiAKICAgICAgICAgZGVmIF9tb25pdG9yKHNlbGYpOgogICAgICAgICAgICAgIiIiCmRpZmYgLS1naXQgYS9MaWIvbWFjcGF0aC5weSBiL0xpYi9tYWNwYXRoLnB5CmluZGV4IDVjYTAwOTcuLmRiY2YzNjggMTAwNjQ0Ci0tLSBhL0xpYi9tYWNwYXRoLnB5CisrKyBiL0xpYi9tYWNwYXRoLnB5CkBAIC01MCwyMCArNTAsMjQgQEAKIAogCiBkZWYgam9pbihzLCAqcCk6Ci0gICAgY29sb24gPSBfZ2V0X2NvbG9uKHMpCi0gICAgcGF0aCA9IHMKLSAgICBmb3IgdCBpbiBwOgotICAgICAgICBpZiAobm90IHBhdGgpIG9yIGlzYWJzKHQpOgotICAgICAgICAgICAgcGF0aCA9IHQKLSAgICAgICAgICAgIGNvbnRpbnVlCi0gICAgICAgIGlmIHRbOjFdID09IGNvbG9uOgotICAgICAgICAgICAgdCA9IHRbMTpdCi0gICAgICAgIGlmIGNvbG9uIG5vdCBpbiBwYXRoOgotICAgICAgICAgICAgcGF0aCA9IGNvbG9uICsgcGF0aAotICAgICAgICBpZiBwYXRoWy0xOl0gIT0gY29sb246Ci0gICAgICAgICAgICBwYXRoID0gcGF0aCArIGNvbG9uCi0gICAgICAgIHBhdGggPSBwYXRoICsgdAotICAgIHJldHVybiBwYXRoCisgICAgdHJ5OgorICAgICAgICBjb2xvbiA9IF9nZXRfY29sb24ocykKKyAgICAgICAgcGF0aCA9IHMKKyAgICAgICAgZm9yIHQgaW4gcDoKKyAgICAgICAgICAgIGlmIChub3QgcGF0aCkgb3IgaXNhYnModCk6CisgICAgICAgICAgICAgICAgcGF0aCA9IHQKKyAgICAgICAgICAgICAgICBjb250aW51ZQorICAgICAgICAgICAgaWYgdFs6MV0gPT0gY29sb246CisgICAgICAgICAgICAgICAgdCA9IHRbMTpdCisgICAgICAgICAgICBpZiBjb2xvbiBub3QgaW4gcGF0aDoKKyAgICAgICAgICAgICAgICBwYXRoID0gY29sb24gKyBwYXRoCisgICAgICAgICAgICBpZiBwYXRoWy0xOl0gIT0gY29sb246CisgICAgICAgICAgICAgICAgcGF0aCA9IHBhdGggKyBjb2xvbgorICAgICAgICAgICAgcGF0aCA9IHBhdGggKyB0CisgICAgICAgIHJldHVybiBwYXRoCisgICAgZXhjZXB0IChUeXBlRXJyb3IsIEF0dHJpYnV0ZUVycm9yLCBCeXRlc1dhcm5pbmcpOgorICAgICAgICBnZW5lcmljcGF0aC5fY2hlY2tfYXJnX3R5cGVzKCdqb2luJywgcywgKnApCisgICAgICAgIHJhaXNlCiAKIAogZGVmIHNwbGl0KHMpOgpkaWZmIC0tZ2l0IGEvTGliL21haWxib3gucHkgYi9MaWIvbWFpbGJveC5weQppbmRleCAyZWVlNzZjLi5lN2YzMWRmIDEwMDY0NAotLS0gYS9MaWIvbWFpbGJveC5weQorKysgYi9MaWIvbWFpbGJveC5weQpAQCAtMTIzMCw4ICsxMjMwLDggQEAKIGNsYXNzIEJhYnlsKF9zaW5nbGVmaWxlTWFpbGJveCk6CiAgICAgIiIiQW4gUm1haWwtc3R5bGUgQmFieWwgbWFpbGJveC4iIiIKIAotICAgIF9zcGVjaWFsX2xhYmVscyA9IGZyb3plbnNldCgoJ3Vuc2VlbicsICdkZWxldGVkJywgJ2ZpbGVkJywgJ2Fuc3dlcmVkJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmb3J3YXJkZWQnLCAnZWRpdGVkJywgJ3Jlc2VudCcpKQorICAgIF9zcGVjaWFsX2xhYmVscyA9IGZyb3plbnNldCh7J3Vuc2VlbicsICdkZWxldGVkJywgJ2ZpbGVkJywgJ2Fuc3dlcmVkJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmb3J3YXJkZWQnLCAnZWRpdGVkJywgJ3Jlc2VudCd9KQogCiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIHBhdGgsIGZhY3Rvcnk9Tm9uZSwgY3JlYXRlPVRydWUpOgogICAgICAgICAiIiJJbml0aWFsaXplIGEgQmFieWwgbWFpbGJveC4iIiIKQEAgLTE5NDksNyArMTk0OSw3IEBACiAgICAgICAgIHdoaWxlIFRydWU6CiAgICAgICAgICAgICBsaW5lID0gc2VsZi5yZWFkbGluZSgpCiAgICAgICAgICAgICBpZiBub3QgbGluZToKLSAgICAgICAgICAgICAgICByYWlzZSBTdG9wSXRlcmF0aW9uCisgICAgICAgICAgICAgICAgcmV0dXJuCiAgICAgICAgICAgICB5aWVsZCBsaW5lCiAKICAgICBkZWYgdGVsbChzZWxmKToKZGlmZiAtLWdpdCBhL0xpYi9tdWx0aXByb2Nlc3NpbmcvY29ubmVjdGlvbi5weSBiL0xpYi9tdWx0aXByb2Nlc3NpbmcvY29ubmVjdGlvbi5weQppbmRleCBkMjcxNWMyLi4wN2QxOWRlIDEwMDY0NAotLS0gYS9MaWIvbXVsdGlwcm9jZXNzaW5nL2Nvbm5lY3Rpb24ucHkKKysrIGIvTGliL211bHRpcHJvY2Vzc2luZy9jb25uZWN0aW9uLnB5CkBAIC0zNjUsMTAgKzM2NSw3IEBACiAgICAgZGVmIF9zZW5kKHNlbGYsIGJ1Ziwgd3JpdGU9X3dyaXRlKToKICAgICAgICAgcmVtYWluaW5nID0gbGVuKGJ1ZikKICAgICAgICAgd2hpbGUgVHJ1ZToKLSAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICBuID0gd3JpdGUoc2VsZi5faGFuZGxlLCBidWYpCi0gICAgICAgICAgICBleGNlcHQgSW50ZXJydXB0ZWRFcnJvcjoKLSAgICAgICAgICAgICAgICBjb250aW51ZQorICAgICAgICAgICAgbiA9IHdyaXRlKHNlbGYuX2hhbmRsZSwgYnVmKQogICAgICAgICAgICAgcmVtYWluaW5nIC09IG4KICAgICAgICAgICAgIGlmIHJlbWFpbmluZyA9PSAwOgogICAgICAgICAgICAgICAgIGJyZWFrCkBAIC0zNzksMTAgKzM3Niw3IEBACiAgICAgICAgIGhhbmRsZSA9IHNlbGYuX2hhbmRsZQogICAgICAgICByZW1haW5pbmcgPSBzaXplCiAgICAgICAgIHdoaWxlIHJlbWFpbmluZyA+IDA6Ci0gICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgY2h1bmsgPSByZWFkKGhhbmRsZSwgcmVtYWluaW5nKQotICAgICAgICAgICAgZXhjZXB0IEludGVycnVwdGVkRXJyb3I6Ci0gICAgICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgICAgIGNodW5rID0gcmVhZChoYW5kbGUsIHJlbWFpbmluZykKICAgICAgICAgICAgIG4gPSBsZW4oY2h1bmspCiAgICAgICAgICAgICBpZiBuID09IDA6CiAgICAgICAgICAgICAgICAgaWYgcmVtYWluaW5nID09IHNpemU6CkBAIC00MDAsMTcgKzM5NCwxNCBAQAogICAgICAgICBpZiBuID4gMTYzODQ6CiAgICAgICAgICAgICAjIFRoZSBwYXlsb2FkIGlzIGxhcmdlIHNvIE5hZ2xlJ3MgYWxnb3JpdGhtIHdvbid0IGJlIHRyaWdnZXJlZAogICAgICAgICAgICAgIyBhbmQgd2UnZCBiZXR0ZXIgYXZvaWQgdGhlIGNvc3Qgb2YgY29uY2F0ZW5hdGlvbi4KLSAgICAgICAgICAgIGNodW5rcyA9IFtoZWFkZXIsIGJ1Zl0KLSAgICAgICAgZWxpZiBuID4gMDoKKyAgICAgICAgICAgIHNlbGYuX3NlbmQoaGVhZGVyKQorICAgICAgICAgICAgc2VsZi5fc2VuZChidWYpCisgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAjIElzc3VlICPigK8yMDU0MDogY29uY2F0ZW5hdGUgYmVmb3JlIHNlbmRpbmcsIHRvIGF2b2lkIGRlbGF5cyBkdWUKICAgICAgICAgICAgICMgdG8gTmFnbGUncyBhbGdvcml0aG0gb24gYSBUQ1Agc29ja2V0LgotICAgICAgICAgICAgY2h1bmtzID0gW2hlYWRlciArIGJ1Zl0KLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgICMgVGhpcyBjb2RlIHBhdGggaXMgbmVjZXNzYXJ5IHRvIGF2b2lkICJicm9rZW4gcGlwZSIgZXJyb3JzCi0gICAgICAgICAgICAjIHdoZW4gc2VuZGluZyBhIDAtbGVuZ3RoIGJ1ZmZlciBpZiB0aGUgb3RoZXIgZW5kIGNsb3NlZCB0aGUgcGlwZS4KLSAgICAgICAgICAgIGNodW5rcyA9IFtoZWFkZXJdCi0gICAgICAgIGZvciBjaHVuayBpbiBjaHVua3M6Ci0gICAgICAgICAgICBzZWxmLl9zZW5kKGNodW5rKQorICAgICAgICAgICAgIyBBbHNvIG5vdGUgd2Ugd2FudCB0byBhdm9pZCBzZW5kaW5nIGEgMC1sZW5ndGggYnVmZmVyIHNlcGFyYXRlbHksCisgICAgICAgICAgICAjIHRvIGF2b2lkICJicm9rZW4gcGlwZSIgZXJyb3JzIGlmIHRoZSBvdGhlciBlbmQgY2xvc2VkIHRoZSBwaXBlLgorICAgICAgICAgICAgc2VsZi5fc2VuZChoZWFkZXIgKyBidWYpCiAKICAgICBkZWYgX3JlY3ZfYnl0ZXMoc2VsZiwgbWF4c2l6ZT1Ob25lKToKICAgICAgICAgYnVmID0gc2VsZi5fcmVjdig0KQpAQCAtNTk4LDEzICs1ODksNyBAQAogICAgICAgICAgICAgc2VsZi5fdW5saW5rID0gTm9uZQogCiAgICAgZGVmIGFjY2VwdChzZWxmKToKLSAgICAgICAgd2hpbGUgVHJ1ZToKLSAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICBzLCBzZWxmLl9sYXN0X2FjY2VwdGVkID0gc2VsZi5fc29ja2V0LmFjY2VwdCgpCi0gICAgICAgICAgICBleGNlcHQgSW50ZXJydXB0ZWRFcnJvcjoKLSAgICAgICAgICAgICAgICBwYXNzCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIGJyZWFrCisgICAgICAgIHMsIHNlbGYuX2xhc3RfYWNjZXB0ZWQgPSBzZWxmLl9zb2NrZXQuYWNjZXB0KCkKICAgICAgICAgcy5zZXRibG9ja2luZyhUcnVlKQogICAgICAgICByZXR1cm4gQ29ubmVjdGlvbihzLmRldGFjaCgpKQogCmRpZmYgLS1naXQgYS9MaWIvbXVsdGlwcm9jZXNzaW5nL2R1bW15L19faW5pdF9fLnB5IGIvTGliL211bHRpcHJvY2Vzc2luZy9kdW1teS9fX2luaXRfXy5weQppbmRleCAxMzVkYjdmLi4xYWJlYTY0IDEwMDY0NAotLS0gYS9MaWIvbXVsdGlwcm9jZXNzaW5nL2R1bW15L19faW5pdF9fLnB5CisrKyBiL0xpYi9tdWx0aXByb2Nlc3NpbmcvZHVtbXkvX19pbml0X18ucHkKQEAgLTg2LDcgKzg2LDcgQEAKICAgICAgICAgICAgIGlmIG5vdCBuYW1lLnN0YXJ0c3dpdGgoJ18nKToKICAgICAgICAgICAgICAgICB0ZW1wLmFwcGVuZCgnJXM9JXInICUgKG5hbWUsIHZhbHVlKSkKICAgICAgICAgdGVtcC5zb3J0KCkKLSAgICAgICAgcmV0dXJuICdOYW1lc3BhY2UoJXMpJyAlIHN0ci5qb2luKCcsICcsIHRlbXApCisgICAgICAgIHJldHVybiAnJXMoJXMpJyAlIChzZWxmLl9fY2xhc3NfXy5fX25hbWVfXywgJywgJy5qb2luKHRlbXApKQogCiBkaWN0ID0gZGljdAogbGlzdCA9IGxpc3QKZGlmZiAtLWdpdCBhL0xpYi9tdWx0aXByb2Nlc3NpbmcvZHVtbXkvY29ubmVjdGlvbi5weSBiL0xpYi9tdWx0aXByb2Nlc3NpbmcvZHVtbXkvY29ubmVjdGlvbi5weQppbmRleCA2OTRlZjk2Li4xOTg0Mzc1IDEwMDY0NAotLS0gYS9MaWIvbXVsdGlwcm9jZXNzaW5nL2R1bW15L2Nvbm5lY3Rpb24ucHkKKysrIGIvTGliL211bHRpcHJvY2Vzc2luZy9kdW1teS9jb25uZWN0aW9uLnB5CkBAIC01OSw5ICs1OSw4IEBACiAgICAgICAgICAgICByZXR1cm4gVHJ1ZQogICAgICAgICBpZiB0aW1lb3V0IDw9IDAuMDoKICAgICAgICAgICAgIHJldHVybiBGYWxzZQotICAgICAgICBzZWxmLl9pbi5ub3RfZW1wdHkuYWNxdWlyZSgpCi0gICAgICAgIHNlbGYuX2luLm5vdF9lbXB0eS53YWl0KHRpbWVvdXQpCi0gICAgICAgIHNlbGYuX2luLm5vdF9lbXB0eS5yZWxlYXNlKCkKKyAgICAgICAgd2l0aCBzZWxmLl9pbi5ub3RfZW1wdHk6CisgICAgICAgICAgICBzZWxmLl9pbi5ub3RfZW1wdHkud2FpdCh0aW1lb3V0KQogICAgICAgICByZXR1cm4gc2VsZi5faW4ucXNpemUoKSA+IDAKIAogICAgIGRlZiBjbG9zZShzZWxmKToKZGlmZiAtLWdpdCBhL0xpYi9tdWx0aXByb2Nlc3NpbmcvZm9ya3NlcnZlci5weSBiL0xpYi9tdWx0aXByb2Nlc3NpbmcvZm9ya3NlcnZlci5weQppbmRleCAzODc1MTdlLi5iMjdjYmE1IDEwMDY0NAotLS0gYS9MaWIvbXVsdGlwcm9jZXNzaW5nL2ZvcmtzZXJ2ZXIucHkKKysrIGIvTGliL211bHRpcHJvY2Vzc2luZy9mb3Jrc2VydmVyLnB5CkBAIC0xMDcsNyArMTA3LDcgQEAKICAgICAgICAgICAgICAgICBhZGRyZXNzID0gY29ubmVjdGlvbi5hcmJpdHJhcnlfYWRkcmVzcygnQUZfVU5JWCcpCiAgICAgICAgICAgICAgICAgbGlzdGVuZXIuYmluZChhZGRyZXNzKQogICAgICAgICAgICAgICAgIG9zLmNobW9kKGFkZHJlc3MsIDBvNjAwKQotICAgICAgICAgICAgICAgIGxpc3RlbmVyLmxpc3RlbigxMDApCisgICAgICAgICAgICAgICAgbGlzdGVuZXIubGlzdGVuKCkKIAogICAgICAgICAgICAgICAgICMgYWxsIGNsaWVudCBwcm9jZXNzZXMgb3duIHRoZSB3cml0ZSBlbmQgb2YgdGhlICJhbGl2ZSIgcGlwZTsKICAgICAgICAgICAgICAgICAjIHdoZW4gdGhleSBhbGwgdGVybWluYXRlIHRoZSByZWFkIGVuZCBiZWNvbWVzIHJlYWR5LgpAQCAtMTg4LDggKzE4OCw2IEBACiAgICAgICAgICAgICAgICAgICAgICAgICBmaW5hbGx5OgogICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9zLl9leGl0KGNvZGUpCiAKLSAgICAgICAgICAgIGV4Y2VwdCBJbnRlcnJ1cHRlZEVycm9yOgotICAgICAgICAgICAgICAgIHBhc3MKICAgICAgICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGU6CiAgICAgICAgICAgICAgICAgaWYgZS5lcnJubyAhPSBlcnJuby5FQ09OTkFCT1JURUQ6CiAgICAgICAgICAgICAgICAgICAgIHJhaXNlCkBAIC0yMzAsMTMgKzIyOCw3IEBACiAgICAgZGF0YSA9IGInJwogICAgIGxlbmd0aCA9IFVOU0lHTkVEX1NUUlVDVC5zaXplCiAgICAgd2hpbGUgbGVuKGRhdGEpIDwgbGVuZ3RoOgotICAgICAgICB3aGlsZSBUcnVlOgotICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgIHMgPSBvcy5yZWFkKGZkLCBsZW5ndGggLSBsZW4oZGF0YSkpCi0gICAgICAgICAgICBleGNlcHQgSW50ZXJydXB0ZWRFcnJvcjoKLSAgICAgICAgICAgICAgICBwYXNzCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIGJyZWFrCisgICAgICAgIHMgPSBvcy5yZWFkKGZkLCBsZW5ndGggLSBsZW4oZGF0YSkpCiAgICAgICAgIGlmIG5vdCBzOgogICAgICAgICAgICAgcmFpc2UgRU9GRXJyb3IoJ3VuZXhwZWN0ZWQgRU9GJykKICAgICAgICAgZGF0YSArPSBzCkBAIC0yNDUsMTMgKzIzNyw3IEBACiBkZWYgd3JpdGVfdW5zaWduZWQoZmQsIG4pOgogICAgIG1zZyA9IFVOU0lHTkVEX1NUUlVDVC5wYWNrKG4pCiAgICAgd2hpbGUgbXNnOgotICAgICAgICB3aGlsZSBUcnVlOgotICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgIG5ieXRlcyA9IG9zLndyaXRlKGZkLCBtc2cpCi0gICAgICAgICAgICBleGNlcHQgSW50ZXJydXB0ZWRFcnJvcjoKLSAgICAgICAgICAgICAgICBwYXNzCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIGJyZWFrCisgICAgICAgIG5ieXRlcyA9IG9zLndyaXRlKGZkLCBtc2cpCiAgICAgICAgIGlmIG5ieXRlcyA9PSAwOgogICAgICAgICAgICAgcmFpc2UgUnVudGltZUVycm9yKCdzaG91bGQgbm90IGdldCBoZXJlJykKICAgICAgICAgbXNnID0gbXNnW25ieXRlczpdCmRpZmYgLS1naXQgYS9MaWIvbXVsdGlwcm9jZXNzaW5nL2hlYXAucHkgYi9MaWIvbXVsdGlwcm9jZXNzaW5nL2hlYXAucHkKaW5kZXggMzQ0YTQ1Zi4uMzMzYjNiYSAxMDA2NDQKLS0tIGEvTGliL211bHRpcHJvY2Vzc2luZy9oZWFwLnB5CisrKyBiL0xpYi9tdWx0aXByb2Nlc3NpbmcvaGVhcC5weQpAQCAtNTQsNyArNTQsOSBAQAogICAgICAgICBkZWYgX19zZXRzdGF0ZV9fKHNlbGYsIHN0YXRlKToKICAgICAgICAgICAgIHNlbGYuc2l6ZSwgc2VsZi5uYW1lID0gc2VsZi5fc3RhdGUgPSBzdGF0ZQogICAgICAgICAgICAgc2VsZi5idWZmZXIgPSBtbWFwLm1tYXAoLTEsIHNlbGYuc2l6ZSwgdGFnbmFtZT1zZWxmLm5hbWUpCi0gICAgICAgICAgICBhc3NlcnQgX3dpbmFwaS5HZXRMYXN0RXJyb3IoKSA9PSBfd2luYXBpLkVSUk9SX0FMUkVBRFlfRVhJU1RTCisgICAgICAgICAgICAjIFhYWCBUZW1wb3JhcmlseSBwcmV2ZW50aW5nIGJ1aWxkYm90IGZhaWx1cmVzIHdoaWxlIGRldGVybWluaW5nCisgICAgICAgICAgICAjIFhYWCB0aGUgY29ycmVjdCBsb25nLXRlcm0gZml4LiBTZWUgaXNzdWUgMjMwNjAKKyAgICAgICAgICAgICNhc3NlcnQgX3dpbmFwaS5HZXRMYXN0RXJyb3IoKSA9PSBfd2luYXBpLkVSUk9SX0FMUkVBRFlfRVhJU1RTCiAKIGVsc2U6CiAKQEAgLTIxNiw5ICsyMTgsOCBAQAogICAgICAgICBhc3NlcnQgMCA8PSBzaXplIDwgc3lzLm1heHNpemUKICAgICAgICAgaWYgb3MuZ2V0cGlkKCkgIT0gc2VsZi5fbGFzdHBpZDoKICAgICAgICAgICAgIHNlbGYuX19pbml0X18oKSAgICAgICAgICAgICAgICAgICAgICMgcmVpbml0aWFsaXplIGFmdGVyIGZvcmsKLSAgICAgICAgc2VsZi5fbG9jay5hY3F1aXJlKCkKLSAgICAgICAgc2VsZi5fZnJlZV9wZW5kaW5nX2Jsb2NrcygpCi0gICAgICAgIHRyeToKKyAgICAgICAgd2l0aCBzZWxmLl9sb2NrOgorICAgICAgICAgICAgc2VsZi5fZnJlZV9wZW5kaW5nX2Jsb2NrcygpCiAgICAgICAgICAgICBzaXplID0gc2VsZi5fcm91bmR1cChtYXgoc2l6ZSwxKSwgc2VsZi5fYWxpZ25tZW50KQogICAgICAgICAgICAgKGFyZW5hLCBzdGFydCwgc3RvcCkgPSBzZWxmLl9tYWxsb2Moc2l6ZSkKICAgICAgICAgICAgIG5ld19zdG9wID0gc3RhcnQgKyBzaXplCkBAIC0yMjcsOCArMjI4LDYgQEAKICAgICAgICAgICAgIGJsb2NrID0gKGFyZW5hLCBzdGFydCwgbmV3X3N0b3ApCiAgICAgICAgICAgICBzZWxmLl9hbGxvY2F0ZWRfYmxvY2tzLmFkZChibG9jaykKICAgICAgICAgICAgIHJldHVybiBibG9jawotICAgICAgICBmaW5hbGx5OgotICAgICAgICAgICAgc2VsZi5fbG9jay5yZWxlYXNlKCkKIAogIwogIyBDbGFzcyByZXByZXNlbnRpbmcgYSBjaHVuayBvZiBhbiBtbWFwIC0tIGNhbiBiZSBpbmhlcml0ZWQgYnkgY2hpbGQgcHJvY2VzcwpkaWZmIC0tZ2l0IGEvTGliL211bHRpcHJvY2Vzc2luZy9tYW5hZ2Vycy5weSBiL0xpYi9tdWx0aXByb2Nlc3NpbmcvbWFuYWdlcnMucHkKaW5kZXggNjZkNDZmYy4uNzc2NjU2ZSAxMDA2NDQKLS0tIGEvTGliL211bHRpcHJvY2Vzc2luZy9tYW5hZ2Vycy5weQorKysgYi9MaWIvbXVsdGlwcm9jZXNzaW5nL21hbmFnZXJzLnB5CkBAIC02NSw4ICs2NSw4IEBACiAgICAgICAgIChzZWxmLnR5cGVpZCwgc2VsZi5hZGRyZXNzLCBzZWxmLmlkKSA9IHN0YXRlCiAKICAgICBkZWYgX19yZXByX18oc2VsZik6Ci0gICAgICAgIHJldHVybiAnVG9rZW4odHlwZWlkPSVyLCBhZGRyZXNzPSVyLCBpZD0lciknICUgXAotICAgICAgICAgICAgICAgKHNlbGYudHlwZWlkLCBzZWxmLmFkZHJlc3MsIHNlbGYuaWQpCisgICAgICAgIHJldHVybiAnJXModHlwZWlkPSVyLCBhZGRyZXNzPSVyLCBpZD0lciknICUgXAorICAgICAgICAgICAgICAgKHNlbGYuX19jbGFzc19fLl9fbmFtZV9fLCBzZWxmLnR5cGVpZCwgc2VsZi5hZGRyZXNzLCBzZWxmLmlkKQogCiAjCiAjIEZ1bmN0aW9uIGZvciBjb21tdW5pY2F0aW9uIHdpdGggYSBtYW5hZ2VyJ3Mgc2VydmVyIHByb2Nlc3MKQEAgLTMwNiw4ICszMDYsNyBAQAogICAgICAgICAnJycKICAgICAgICAgUmV0dXJuIHNvbWUgaW5mbyAtLS0gdXNlZnVsIHRvIHNwb3QgcHJvYmxlbXMgd2l0aCByZWZjb3VudGluZwogICAgICAgICAnJycKLSAgICAgICAgc2VsZi5tdXRleC5hY3F1aXJlKCkKLSAgICAgICAgdHJ5OgorICAgICAgICB3aXRoIHNlbGYubXV0ZXg6CiAgICAgICAgICAgICByZXN1bHQgPSBbXQogICAgICAgICAgICAga2V5cyA9IGxpc3Qoc2VsZi5pZF90b19vYmoua2V5cygpKQogICAgICAgICAgICAga2V5cy5zb3J0KCkKQEAgLTMxNyw4ICszMTYsNiBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChpZGVudCwgc2VsZi5pZF90b19yZWZjb3VudFtpZGVudF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cihzZWxmLmlkX3RvX29ialtpZGVudF1bMF0pWzo3NV0pKQogICAgICAgICAgICAgcmV0dXJuICdcbicuam9pbihyZXN1bHQpCi0gICAgICAgIGZpbmFsbHk6Ci0gICAgICAgICAgICBzZWxmLm11dGV4LnJlbGVhc2UoKQogCiAgICAgZGVmIG51bWJlcl9vZl9vYmplY3RzKHNlbGYsIGMpOgogICAgICAgICAnJycKQEAgLTM0Myw4ICszNDAsNyBAQAogICAgICAgICAnJycKICAgICAgICAgQ3JlYXRlIGEgbmV3IHNoYXJlZCBvYmplY3QgYW5kIHJldHVybiBpdHMgaWQKICAgICAgICAgJycnCi0gICAgICAgIHNlbGYubXV0ZXguYWNxdWlyZSgpCi0gICAgICAgIHRyeToKKyAgICAgICAgd2l0aCBzZWxmLm11dGV4OgogICAgICAgICAgICAgY2FsbGFibGUsIGV4cG9zZWQsIG1ldGhvZF90b190eXBlaWQsIHByb3h5dHlwZSA9IFwKICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnJlZ2lzdHJ5W3R5cGVpZF0KIApAQCAtMzc0LDggKzM3MCw2IEBACiAgICAgICAgICAgICAjIGhhcyBiZWVuIGNyZWF0ZWQuCiAgICAgICAgICAgICBzZWxmLmluY3JlZihjLCBpZGVudCkKICAgICAgICAgICAgIHJldHVybiBpZGVudCwgdHVwbGUoZXhwb3NlZCkKLSAgICAgICAgZmluYWxseToKLSAgICAgICAgICAgIHNlbGYubXV0ZXgucmVsZWFzZSgpCiAKICAgICBkZWYgZ2V0X21ldGhvZHMoc2VsZiwgYywgdG9rZW4pOgogICAgICAgICAnJycKQEAgLTM5MiwyMiArMzg2LDE2IEBACiAgICAgICAgIHNlbGYuc2VydmVfY2xpZW50KGMpCiAKICAgICBkZWYgaW5jcmVmKHNlbGYsIGMsIGlkZW50KToKLSAgICAgICAgc2VsZi5tdXRleC5hY3F1aXJlKCkKLSAgICAgICAgdHJ5OgorICAgICAgICB3aXRoIHNlbGYubXV0ZXg6CiAgICAgICAgICAgICBzZWxmLmlkX3RvX3JlZmNvdW50W2lkZW50XSArPSAxCi0gICAgICAgIGZpbmFsbHk6Ci0gICAgICAgICAgICBzZWxmLm11dGV4LnJlbGVhc2UoKQogCiAgICAgZGVmIGRlY3JlZihzZWxmLCBjLCBpZGVudCk6Ci0gICAgICAgIHNlbGYubXV0ZXguYWNxdWlyZSgpCi0gICAgICAgIHRyeToKKyAgICAgICAgd2l0aCBzZWxmLm11dGV4OgogICAgICAgICAgICAgYXNzZXJ0IHNlbGYuaWRfdG9fcmVmY291bnRbaWRlbnRdID49IDEKICAgICAgICAgICAgIHNlbGYuaWRfdG9fcmVmY291bnRbaWRlbnRdIC09IDEKICAgICAgICAgICAgIGlmIHNlbGYuaWRfdG9fcmVmY291bnRbaWRlbnRdID09IDA6CiAgICAgICAgICAgICAgICAgZGVsIHNlbGYuaWRfdG9fb2JqW2lkZW50XSwgc2VsZi5pZF90b19yZWZjb3VudFtpZGVudF0KICAgICAgICAgICAgICAgICB1dGlsLmRlYnVnKCdkaXNwb3Npbmcgb2Ygb2JqIHdpdGggaWQgJXInLCBpZGVudCkKLSAgICAgICAgZmluYWxseToKLSAgICAgICAgICAgIHNlbGYubXV0ZXgucmVsZWFzZSgpCiAKICMKICMgQ2xhc3MgdG8gcmVwcmVzZW50IHN0YXRlIG9mIGEgbWFuYWdlcgpAQCAtNjcxLDE0ICs2NTksMTEgQEAKIAogICAgIGRlZiBfX2luaXRfXyhzZWxmLCB0b2tlbiwgc2VyaWFsaXplciwgbWFuYWdlcj1Ob25lLAogICAgICAgICAgICAgICAgICBhdXRoa2V5PU5vbmUsIGV4cG9zZWQ9Tm9uZSwgaW5jcmVmPVRydWUpOgotICAgICAgICBCYXNlUHJveHkuX211dGV4LmFjcXVpcmUoKQotICAgICAgICB0cnk6CisgICAgICAgIHdpdGggQmFzZVByb3h5Ll9tdXRleDoKICAgICAgICAgICAgIHRsc19pZHNldCA9IEJhc2VQcm94eS5fYWRkcmVzc190b19sb2NhbC5nZXQodG9rZW4uYWRkcmVzcywgTm9uZSkKICAgICAgICAgICAgIGlmIHRsc19pZHNldCBpcyBOb25lOgogICAgICAgICAgICAgICAgIHRsc19pZHNldCA9IHV0aWwuRm9ya0F3YXJlTG9jYWwoKSwgUHJvY2Vzc0xvY2FsU2V0KCkKICAgICAgICAgICAgICAgICBCYXNlUHJveHkuX2FkZHJlc3NfdG9fbG9jYWxbdG9rZW4uYWRkcmVzc10gPSB0bHNfaWRzZXQKLSAgICAgICAgZmluYWxseToKLSAgICAgICAgICAgIEJhc2VQcm94eS5fbXV0ZXgucmVsZWFzZSgpCiAKICAgICAgICAgIyBzZWxmLl90bHMgaXMgdXNlZCB0byByZWNvcmQgdGhlIGNvbm5lY3Rpb24gdXNlZCBieSB0aGlzCiAgICAgICAgICMgdGhyZWFkIHRvIGNvbW11bmljYXRlIHdpdGggdGhlIG1hbmFnZXIgYXQgdG9rZW4uYWRkcmVzcwpAQCAtODE4LDggKzgwMyw4IEBACiAgICAgICAgIHJldHVybiBzZWxmLl9nZXR2YWx1ZSgpCiAKICAgICBkZWYgX19yZXByX18oc2VsZik6Ci0gICAgICAgIHJldHVybiAnPCVzIG9iamVjdCwgdHlwZWlkICVyIGF0ICVzPicgJSBcCi0gICAgICAgICAgICAgICAodHlwZShzZWxmKS5fX25hbWVfXywgc2VsZi5fdG9rZW4udHlwZWlkLCAnMHgleCcgJSBpZChzZWxmKSkKKyAgICAgICAgcmV0dXJuICc8JXMgb2JqZWN0LCB0eXBlaWQgJXIgYXQgJSN4PicgJSBcCisgICAgICAgICAgICAgICAodHlwZShzZWxmKS5fX25hbWVfXywgc2VsZi5fdG9rZW4udHlwZWlkLCBpZChzZWxmKSkKIAogICAgIGRlZiBfX3N0cl9fKHNlbGYpOgogICAgICAgICAnJycKQEAgLTkxNiw3ICs5MDEsNyBAQAogICAgICAgICAgICAgaWYgbm90IG5hbWUuc3RhcnRzd2l0aCgnXycpOgogICAgICAgICAgICAgICAgIHRlbXAuYXBwZW5kKCclcz0lcicgJSAobmFtZSwgdmFsdWUpKQogICAgICAgICB0ZW1wLnNvcnQoKQotICAgICAgICByZXR1cm4gJ05hbWVzcGFjZSglcyknICUgc3RyLmpvaW4oJywgJywgdGVtcCkKKyAgICAgICAgcmV0dXJuICclcyglcyknICUgKHNlbGYuX19jbGFzc19fLl9fbmFtZV9fLCAnLCAnLmpvaW4odGVtcCkpCiAKIGNsYXNzIFZhbHVlKG9iamVjdCk6CiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIHR5cGVjb2RlLCB2YWx1ZSwgbG9jaz1UcnVlKToKZGlmZiAtLWdpdCBhL0xpYi9tdWx0aXByb2Nlc3NpbmcvcG9vbC5weSBiL0xpYi9tdWx0aXByb2Nlc3NpbmcvcG9vbC5weQppbmRleCA4ODMyYTVjLi43NWE3NmE0IDEwMDY0NAotLS0gYS9MaWIvbXVsdGlwcm9jZXNzaW5nL3Bvb2wucHkKKysrIGIvTGliL211bHRpcHJvY2Vzc2luZy9wb29sLnB5CkBAIC04Nyw3ICs4Nyw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5leGMpCiAKICAgICBkZWYgX19yZXByX18oc2VsZik6Ci0gICAgICAgIHJldHVybiAiPE1heWJlRW5jb2RpbmdFcnJvcjogJXM+IiAlIHN0cihzZWxmKQorICAgICAgICByZXR1cm4gIjwlczogJXM+IiAlIChzZWxmLl9fY2xhc3NfXy5fX25hbWVfXywgc2VsZikKIAogCiBkZWYgd29ya2VyKGlucXVldWUsIG91dHF1ZXVlLCBpbml0aWFsaXplcj1Ob25lLCBpbml0YXJncz0oKSwgbWF4dGFza3M9Tm9uZSwKQEAgLTY2Niw4ICs2NjYsNyBAQAogICAgICAgICByZXR1cm4gc2VsZgogCiAgICAgZGVmIG5leHQoc2VsZiwgdGltZW91dD1Ob25lKToKLSAgICAgICAgc2VsZi5fY29uZC5hY3F1aXJlKCkKLSAgICAgICAgdHJ5OgorICAgICAgICB3aXRoIHNlbGYuX2NvbmQ6CiAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgaXRlbSA9IHNlbGYuX2l0ZW1zLnBvcGxlZnQoKQogICAgICAgICAgICAgZXhjZXB0IEluZGV4RXJyb3I6CkBAIC02ODAsOCArNjc5LDYgQEAKICAgICAgICAgICAgICAgICAgICAgaWYgc2VsZi5faW5kZXggPT0gc2VsZi5fbGVuZ3RoOgogICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2UgU3RvcEl0ZXJhdGlvbgogICAgICAgICAgICAgICAgICAgICByYWlzZSBUaW1lb3V0RXJyb3IKLSAgICAgICAgZmluYWxseToKLSAgICAgICAgICAgIHNlbGYuX2NvbmQucmVsZWFzZSgpCiAKICAgICAgICAgc3VjY2VzcywgdmFsdWUgPSBpdGVtCiAgICAgICAgIGlmIHN1Y2Nlc3M6CkBAIC02OTEsOCArNjg4LDcgQEAKICAgICBfX25leHRfXyA9IG5leHQgICAgICAgICAgICAgICAgICAgICMgWFhYCiAKICAgICBkZWYgX3NldChzZWxmLCBpLCBvYmopOgotICAgICAgICBzZWxmLl9jb25kLmFjcXVpcmUoKQotICAgICAgICB0cnk6CisgICAgICAgIHdpdGggc2VsZi5fY29uZDoKICAgICAgICAgICAgIGlmIHNlbGYuX2luZGV4ID09IGk6CiAgICAgICAgICAgICAgICAgc2VsZi5faXRlbXMuYXBwZW5kKG9iaikKICAgICAgICAgICAgICAgICBzZWxmLl9pbmRleCArPSAxCkBAIC03MDYsMTggKzcwMiwxMyBAQAogCiAgICAgICAgICAgICBpZiBzZWxmLl9pbmRleCA9PSBzZWxmLl9sZW5ndGg6CiAgICAgICAgICAgICAgICAgZGVsIHNlbGYuX2NhY2hlW3NlbGYuX2pvYl0KLSAgICAgICAgZmluYWxseToKLSAgICAgICAgICAgIHNlbGYuX2NvbmQucmVsZWFzZSgpCiAKICAgICBkZWYgX3NldF9sZW5ndGgoc2VsZiwgbGVuZ3RoKToKLSAgICAgICAgc2VsZi5fY29uZC5hY3F1aXJlKCkKLSAgICAgICAgdHJ5OgorICAgICAgICB3aXRoIHNlbGYuX2NvbmQ6CiAgICAgICAgICAgICBzZWxmLl9sZW5ndGggPSBsZW5ndGgKICAgICAgICAgICAgIGlmIHNlbGYuX2luZGV4ID09IHNlbGYuX2xlbmd0aDoKICAgICAgICAgICAgICAgICBzZWxmLl9jb25kLm5vdGlmeSgpCiAgICAgICAgICAgICAgICAgZGVsIHNlbGYuX2NhY2hlW3NlbGYuX2pvYl0KLSAgICAgICAgZmluYWxseToKLSAgICAgICAgICAgIHNlbGYuX2NvbmQucmVsZWFzZSgpCiAKICMKICMgQ2xhc3Mgd2hvc2UgaW5zdGFuY2VzIGFyZSByZXR1cm5lZCBieSBgUG9vbC5pbWFwX3Vub3JkZXJlZCgpYApAQCAtNzI2LDE1ICs3MTcsMTIgQEAKIGNsYXNzIElNYXBVbm9yZGVyZWRJdGVyYXRvcihJTWFwSXRlcmF0b3IpOgogCiAgICAgZGVmIF9zZXQoc2VsZiwgaSwgb2JqKToKLSAgICAgICAgc2VsZi5fY29uZC5hY3F1aXJlKCkKLSAgICAgICAgdHJ5OgorICAgICAgICB3aXRoIHNlbGYuX2NvbmQ6CiAgICAgICAgICAgICBzZWxmLl9pdGVtcy5hcHBlbmQob2JqKQogICAgICAgICAgICAgc2VsZi5faW5kZXggKz0gMQogICAgICAgICAgICAgc2VsZi5fY29uZC5ub3RpZnkoKQogICAgICAgICAgICAgaWYgc2VsZi5faW5kZXggPT0gc2VsZi5fbGVuZ3RoOgogICAgICAgICAgICAgICAgIGRlbCBzZWxmLl9jYWNoZVtzZWxmLl9qb2JdCi0gICAgICAgIGZpbmFsbHk6Ci0gICAgICAgICAgICBzZWxmLl9jb25kLnJlbGVhc2UoKQogCiAjCiAjCkBAIC03NjAsMTAgKzc0OCw3IEBACiAgICAgQHN0YXRpY21ldGhvZAogICAgIGRlZiBfaGVscF9zdHVmZl9maW5pc2goaW5xdWV1ZSwgdGFza19oYW5kbGVyLCBzaXplKToKICAgICAgICAgIyBwdXQgc2VudGluZWxzIGF0IGhlYWQgb2YgaW5xdWV1ZSB0byBtYWtlIHdvcmtlcnMgZmluaXNoCi0gICAgICAgIGlucXVldWUubm90X2VtcHR5LmFjcXVpcmUoKQotICAgICAgICB0cnk6CisgICAgICAgIHdpdGggaW5xdWV1ZS5ub3RfZW1wdHk6CiAgICAgICAgICAgICBpbnF1ZXVlLnF1ZXVlLmNsZWFyKCkKICAgICAgICAgICAgIGlucXVldWUucXVldWUuZXh0ZW5kKFtOb25lXSAqIHNpemUpCiAgICAgICAgICAgICBpbnF1ZXVlLm5vdF9lbXB0eS5ub3RpZnlfYWxsKCkKLSAgICAgICAgZmluYWxseToKLSAgICAgICAgICAgIGlucXVldWUubm90X2VtcHR5LnJlbGVhc2UoKQpkaWZmIC0tZ2l0IGEvTGliL211bHRpcHJvY2Vzc2luZy9wb3Blbl9mb3JrLnB5IGIvTGliL211bHRpcHJvY2Vzc2luZy9wb3Blbl9mb3JrLnB5CmluZGV4IDM2N2U3MmUuLmQyZWJkN2MgMTAwNjQ0Ci0tLSBhL0xpYi9tdWx0aXByb2Nlc3NpbmcvcG9wZW5fZm9yay5weQorKysgYi9MaWIvbXVsdGlwcm9jZXNzaW5nL3BvcGVuX2ZvcmsucHkKQEAgLTEsNyArMSw2IEBACiBpbXBvcnQgb3MKIGltcG9ydCBzeXMKIGltcG9ydCBzaWduYWwKLWltcG9ydCBlcnJubwogCiBmcm9tIC4gaW1wb3J0IHV0aWwKIApAQCAtMjksOCArMjgsNiBAQAogICAgICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICAgICAgcGlkLCBzdHMgPSBvcy53YWl0cGlkKHNlbGYucGlkLCBmbGFnKQogICAgICAgICAgICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGU6Ci0gICAgICAgICAgICAgICAgICAgIGlmIGUuZXJybm8gPT0gZXJybm8uRUlOVFI6Ci0gICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZQogICAgICAgICAgICAgICAgICAgICAjIENoaWxkIHByb2Nlc3Mgbm90IHlldCBjcmVhdGVkLiBTZWUgIzE3MzE3MTcKICAgICAgICAgICAgICAgICAgICAgIyBlLmVycm5vID09IGVycm5vLkVDSElMRCA9PSAxMAogICAgICAgICAgICAgICAgICAgICByZXR1cm4gTm9uZQpkaWZmIC0tZ2l0IGEvTGliL211bHRpcHJvY2Vzc2luZy9xdWV1ZXMucHkgYi9MaWIvbXVsdGlwcm9jZXNzaW5nL3F1ZXVlcy5weQppbmRleCBmNjUwNzcxLi5jMDdhZDQwIDEwMDY0NAotLS0gYS9MaWIvbXVsdGlwcm9jZXNzaW5nL3F1ZXVlcy5weQorKysgYi9MaWIvbXVsdGlwcm9jZXNzaW5nL3F1ZXVlcy5weQpAQCAtODEsMTQgKzgxLDExIEBACiAgICAgICAgIGlmIG5vdCBzZWxmLl9zZW0uYWNxdWlyZShibG9jaywgdGltZW91dCk6CiAgICAgICAgICAgICByYWlzZSBGdWxsCiAKLSAgICAgICAgc2VsZi5fbm90ZW1wdHkuYWNxdWlyZSgpCi0gICAgICAgIHRyeToKKyAgICAgICAgd2l0aCBzZWxmLl9ub3RlbXB0eToKICAgICAgICAgICAgIGlmIHNlbGYuX3RocmVhZCBpcyBOb25lOgogICAgICAgICAgICAgICAgIHNlbGYuX3N0YXJ0X3RocmVhZCgpCiAgICAgICAgICAgICBzZWxmLl9idWZmZXIuYXBwZW5kKG9iaikKICAgICAgICAgICAgIHNlbGYuX25vdGVtcHR5Lm5vdGlmeSgpCi0gICAgICAgIGZpbmFsbHk6Ci0gICAgICAgICAgICBzZWxmLl9ub3RlbXB0eS5yZWxlYXNlKCkKIAogICAgIGRlZiBnZXQoc2VsZiwgYmxvY2s9VHJ1ZSwgdGltZW91dD1Ob25lKToKICAgICAgICAgaWYgYmxvY2sgYW5kIHRpbWVvdXQgaXMgTm9uZToKQEAgLTIwMSwxMiArMTk4LDkgQEAKICAgICBAc3RhdGljbWV0aG9kCiAgICAgZGVmIF9maW5hbGl6ZV9jbG9zZShidWZmZXIsIG5vdGVtcHR5KToKICAgICAgICAgZGVidWcoJ3RlbGxpbmcgcXVldWUgdGhyZWFkIHRvIHF1aXQnKQotICAgICAgICBub3RlbXB0eS5hY3F1aXJlKCkKLSAgICAgICAgdHJ5OgorICAgICAgICB3aXRoIG5vdGVtcHR5OgogICAgICAgICAgICAgYnVmZmVyLmFwcGVuZChfc2VudGluZWwpCiAgICAgICAgICAgICBub3RlbXB0eS5ub3RpZnkoKQotICAgICAgICBmaW5hbGx5OgotICAgICAgICAgICAgbm90ZW1wdHkucmVsZWFzZSgpCiAKICAgICBAc3RhdGljbWV0aG9kCiAgICAgZGVmIF9mZWVkKGJ1ZmZlciwgbm90ZW1wdHksIHNlbmRfYnl0ZXMsIHdyaXRlbG9jaywgY2xvc2UsIGlnbm9yZV9lcGlwZSk6CkBAIC0yOTUsMzUgKzI4OSwyNCBAQAogICAgICAgICBpZiBub3Qgc2VsZi5fc2VtLmFjcXVpcmUoYmxvY2ssIHRpbWVvdXQpOgogICAgICAgICAgICAgcmFpc2UgRnVsbAogCi0gICAgICAgIHNlbGYuX25vdGVtcHR5LmFjcXVpcmUoKQotICAgICAgICBzZWxmLl9jb25kLmFjcXVpcmUoKQotICAgICAgICB0cnk6CisgICAgICAgIHdpdGggc2VsZi5fbm90ZW1wdHksIHNlbGYuX2NvbmQ6CiAgICAgICAgICAgICBpZiBzZWxmLl90aHJlYWQgaXMgTm9uZToKICAgICAgICAgICAgICAgICBzZWxmLl9zdGFydF90aHJlYWQoKQogICAgICAgICAgICAgc2VsZi5fYnVmZmVyLmFwcGVuZChvYmopCiAgICAgICAgICAgICBzZWxmLl91bmZpbmlzaGVkX3Rhc2tzLnJlbGVhc2UoKQogICAgICAgICAgICAgc2VsZi5fbm90ZW1wdHkubm90aWZ5KCkKLSAgICAgICAgZmluYWxseToKLSAgICAgICAgICAgIHNlbGYuX2NvbmQucmVsZWFzZSgpCi0gICAgICAgICAgICBzZWxmLl9ub3RlbXB0eS5yZWxlYXNlKCkKIAogICAgIGRlZiB0YXNrX2RvbmUoc2VsZik6Ci0gICAgICAgIHNlbGYuX2NvbmQuYWNxdWlyZSgpCi0gICAgICAgIHRyeToKKyAgICAgICAgd2l0aCBzZWxmLl9jb25kOgogICAgICAgICAgICAgaWYgbm90IHNlbGYuX3VuZmluaXNoZWRfdGFza3MuYWNxdWlyZShGYWxzZSk6CiAgICAgICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigndGFza19kb25lKCkgY2FsbGVkIHRvbyBtYW55IHRpbWVzJykKICAgICAgICAgICAgIGlmIHNlbGYuX3VuZmluaXNoZWRfdGFza3MuX3NlbWxvY2suX2lzX3plcm8oKToKICAgICAgICAgICAgICAgICBzZWxmLl9jb25kLm5vdGlmeV9hbGwoKQotICAgICAgICBmaW5hbGx5OgotICAgICAgICAgICAgc2VsZi5fY29uZC5yZWxlYXNlKCkKIAogICAgIGRlZiBqb2luKHNlbGYpOgotICAgICAgICBzZWxmLl9jb25kLmFjcXVpcmUoKQotICAgICAgICB0cnk6CisgICAgICAgIHdpdGggc2VsZi5fY29uZDoKICAgICAgICAgICAgIGlmIG5vdCBzZWxmLl91bmZpbmlzaGVkX3Rhc2tzLl9zZW1sb2NrLl9pc196ZXJvKCk6CiAgICAgICAgICAgICAgICAgc2VsZi5fY29uZC53YWl0KCkKLSAgICAgICAgZmluYWxseToKLSAgICAgICAgICAgIHNlbGYuX2NvbmQucmVsZWFzZSgpCiAKICMKICMgU2ltcGxpZmllZCBRdWV1ZSB0eXBlIC0tIHJlYWxseSBqdXN0IGEgbG9ja2VkIHBpcGUKZGlmZiAtLWdpdCBhL0xpYi9tdWx0aXByb2Nlc3Npbmcvc2hhcmVkY3R5cGVzLnB5IGIvTGliL211bHRpcHJvY2Vzc2luZy9zaGFyZWRjdHlwZXMucHkKaW5kZXggMGMxNzgyNS4uNDI1OGY1OSAxMDA2NDQKLS0tIGEvTGliL211bHRpcHJvY2Vzc2luZy9zaGFyZWRjdHlwZXMucHkKKysrIGIvTGliL211bHRpcHJvY2Vzc2luZy9zaGFyZWRjdHlwZXMucHkKQEAgLTE4OCw2ICsxODgsMTIgQEAKICAgICAgICAgc2VsZi5hY3F1aXJlID0gc2VsZi5fbG9jay5hY3F1aXJlCiAgICAgICAgIHNlbGYucmVsZWFzZSA9IHNlbGYuX2xvY2sucmVsZWFzZQogCisgICAgZGVmIF9fZW50ZXJfXyhzZWxmKToKKyAgICAgICAgcmV0dXJuIHNlbGYuX2xvY2suX19lbnRlcl9fKCkKKworICAgIGRlZiBfX2V4aXRfXyhzZWxmLCAqYXJncyk6CisgICAgICAgIHJldHVybiBzZWxmLl9sb2NrLl9fZXhpdF9fKCphcmdzKQorCiAgICAgZGVmIF9fcmVkdWNlX18oc2VsZik6CiAgICAgICAgIGFzc2VydF9zcGF3bmluZyhzZWxmKQogICAgICAgICByZXR1cm4gc3luY2hyb25pemVkLCAoc2VsZi5fb2JqLCBzZWxmLl9sb2NrKQpAQCAtMjEyLDMyICsyMTgsMjAgQEAKICAgICAgICAgcmV0dXJuIGxlbihzZWxmLl9vYmopCiAKICAgICBkZWYgX19nZXRpdGVtX18oc2VsZiwgaSk6Ci0gICAgICAgIHNlbGYuYWNxdWlyZSgpCi0gICAgICAgIHRyeToKKyAgICAgICAgd2l0aCBzZWxmOgogICAgICAgICAgICAgcmV0dXJuIHNlbGYuX29ialtpXQotICAgICAgICBmaW5hbGx5OgotICAgICAgICAgICAgc2VsZi5yZWxlYXNlKCkKIAogICAgIGRlZiBfX3NldGl0ZW1fXyhzZWxmLCBpLCB2YWx1ZSk6Ci0gICAgICAgIHNlbGYuYWNxdWlyZSgpCi0gICAgICAgIHRyeToKKyAgICAgICAgd2l0aCBzZWxmOgogICAgICAgICAgICAgc2VsZi5fb2JqW2ldID0gdmFsdWUKLSAgICAgICAgZmluYWxseToKLSAgICAgICAgICAgIHNlbGYucmVsZWFzZSgpCiAKICAgICBkZWYgX19nZXRzbGljZV9fKHNlbGYsIHN0YXJ0LCBzdG9wKToKLSAgICAgICAgc2VsZi5hY3F1aXJlKCkKLSAgICAgICAgdHJ5OgorICAgICAgICB3aXRoIHNlbGY6CiAgICAgICAgICAgICByZXR1cm4gc2VsZi5fb2JqW3N0YXJ0OnN0b3BdCi0gICAgICAgIGZpbmFsbHk6Ci0gICAgICAgICAgICBzZWxmLnJlbGVhc2UoKQogCiAgICAgZGVmIF9fc2V0c2xpY2VfXyhzZWxmLCBzdGFydCwgc3RvcCwgdmFsdWVzKToKLSAgICAgICAgc2VsZi5hY3F1aXJlKCkKLSAgICAgICAgdHJ5OgorICAgICAgICB3aXRoIHNlbGY6CiAgICAgICAgICAgICBzZWxmLl9vYmpbc3RhcnQ6c3RvcF0gPSB2YWx1ZXMKLSAgICAgICAgZmluYWxseToKLSAgICAgICAgICAgIHNlbGYucmVsZWFzZSgpCiAKIAogY2xhc3MgU3luY2hyb25pemVkU3RyaW5nKFN5bmNocm9uaXplZEFycmF5KToKZGlmZiAtLWdpdCBhL0xpYi9tdWx0aXByb2Nlc3Npbmcvc3luY2hyb25pemUucHkgYi9MaWIvbXVsdGlwcm9jZXNzaW5nL3N5bmNocm9uaXplLnB5CmluZGV4IGRlYTFjYmQuLmQ0YmRmMGUgMTAwNjQ0Ci0tLSBhL0xpYi9tdWx0aXByb2Nlc3Npbmcvc3luY2hyb25pemUucHkKKysrIGIvTGliL211bHRpcHJvY2Vzc2luZy9zeW5jaHJvbml6ZS5weQpAQCAtMTM0LDcgKzEzNCw3IEBACiAgICAgICAgICAgICB2YWx1ZSA9IHNlbGYuX3NlbWxvY2suX2dldF92YWx1ZSgpCiAgICAgICAgIGV4Y2VwdCBFeGNlcHRpb246CiAgICAgICAgICAgICB2YWx1ZSA9ICd1bmtub3duJwotICAgICAgICByZXR1cm4gJzxTZW1hcGhvcmUodmFsdWU9JXMpPicgJSB2YWx1ZQorICAgICAgICByZXR1cm4gJzwlcyh2YWx1ZT0lcyk+JyAlIChzZWxmLl9fY2xhc3NfXy5fX25hbWVfXywgdmFsdWUpCiAKICMKICMgQm91bmRlZCBzZW1hcGhvcmUKQEAgLTE1MCw4ICsxNTAsOCBAQAogICAgICAgICAgICAgdmFsdWUgPSBzZWxmLl9zZW1sb2NrLl9nZXRfdmFsdWUoKQogICAgICAgICBleGNlcHQgRXhjZXB0aW9uOgogICAgICAgICAgICAgdmFsdWUgPSAndW5rbm93bicKLSAgICAgICAgcmV0dXJuICc8Qm91bmRlZFNlbWFwaG9yZSh2YWx1ZT0lcywgbWF4dmFsdWU9JXMpPicgJSBcCi0gICAgICAgICAgICAgICAodmFsdWUsIHNlbGYuX3NlbWxvY2subWF4dmFsdWUpCisgICAgICAgIHJldHVybiAnPCVzKHZhbHVlPSVzLCBtYXh2YWx1ZT0lcyk+JyAlIFwKKyAgICAgICAgICAgICAgIChzZWxmLl9fY2xhc3NfXy5fX25hbWVfXywgdmFsdWUsIHNlbGYuX3NlbWxvY2subWF4dmFsdWUpCiAKICMKICMgTm9uLXJlY3Vyc2l2ZSBsb2NrCkBAIC0xNzYsNyArMTc2LDcgQEAKICAgICAgICAgICAgICAgICBuYW1lID0gJ1NvbWVPdGhlclByb2Nlc3MnCiAgICAgICAgIGV4Y2VwdCBFeGNlcHRpb246CiAgICAgICAgICAgICBuYW1lID0gJ3Vua25vd24nCi0gICAgICAgIHJldHVybiAnPExvY2sob3duZXI9JXMpPicgJSBuYW1lCisgICAgICAgIHJldHVybiAnPCVzKG93bmVyPSVzKT4nICUgKHNlbGYuX19jbGFzc19fLl9fbmFtZV9fLCBuYW1lKQogCiAjCiAjIFJlY3Vyc2l2ZSBsb2NrCkBAIC0yMDIsNyArMjAyLDcgQEAKICAgICAgICAgICAgICAgICBuYW1lLCBjb3VudCA9ICdTb21lT3RoZXJQcm9jZXNzJywgJ25vbnplcm8nCiAgICAgICAgIGV4Y2VwdCBFeGNlcHRpb246CiAgICAgICAgICAgICBuYW1lLCBjb3VudCA9ICd1bmtub3duJywgJ3Vua25vd24nCi0gICAgICAgIHJldHVybiAnPFJMb2NrKCVzLCAlcyk+JyAlIChuYW1lLCBjb3VudCkKKyAgICAgICAgcmV0dXJuICc8JXMoJXMsICVzKT4nICUgKHNlbGYuX19jbGFzc19fLl9fbmFtZV9fLCBuYW1lLCBjb3VudCkKIAogIwogIyBDb25kaXRpb24gdmFyaWFibGUKQEAgLTI0Myw3ICsyNDMsNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fd29rZW5fY291bnQuX3NlbWxvY2suX2dldF92YWx1ZSgpKQogICAgICAgICBleGNlcHQgRXhjZXB0aW9uOgogICAgICAgICAgICAgbnVtX3dhaXRlcnMgPSAndW5rbm93bicKLSAgICAgICAgcmV0dXJuICc8Q29uZGl0aW9uKCVzLCAlcyk+JyAlIChzZWxmLl9sb2NrLCBudW1fd2FpdGVycykKKyAgICAgICAgcmV0dXJuICc8JXMoJXMsICVzKT4nICUgKHNlbGYuX19jbGFzc19fLl9fbmFtZV9fLCBzZWxmLl9sb2NrLCBudW1fd2FpdGVycykKIAogICAgIGRlZiB3YWl0KHNlbGYsIHRpbWVvdXQ9Tm9uZSk6CiAgICAgICAgIGFzc2VydCBzZWxmLl9sb2NrLl9zZW1sb2NrLl9pc19taW5lKCksIFwKQEAgLTMzNywzNCArMzM3LDI0IEBACiAgICAgICAgIHNlbGYuX2ZsYWcgPSBjdHguU2VtYXBob3JlKDApCiAKICAgICBkZWYgaXNfc2V0KHNlbGYpOgotICAgICAgICBzZWxmLl9jb25kLmFjcXVpcmUoKQotICAgICAgICB0cnk6CisgICAgICAgIHdpdGggc2VsZi5fY29uZDoKICAgICAgICAgICAgIGlmIHNlbGYuX2ZsYWcuYWNxdWlyZShGYWxzZSk6CiAgICAgICAgICAgICAgICAgc2VsZi5fZmxhZy5yZWxlYXNlKCkKICAgICAgICAgICAgICAgICByZXR1cm4gVHJ1ZQogICAgICAgICAgICAgcmV0dXJuIEZhbHNlCi0gICAgICAgIGZpbmFsbHk6Ci0gICAgICAgICAgICBzZWxmLl9jb25kLnJlbGVhc2UoKQogCiAgICAgZGVmIHNldChzZWxmKToKLSAgICAgICAgc2VsZi5fY29uZC5hY3F1aXJlKCkKLSAgICAgICAgdHJ5OgorICAgICAgICB3aXRoIHNlbGYuX2NvbmQ6CiAgICAgICAgICAgICBzZWxmLl9mbGFnLmFjcXVpcmUoRmFsc2UpCiAgICAgICAgICAgICBzZWxmLl9mbGFnLnJlbGVhc2UoKQogICAgICAgICAgICAgc2VsZi5fY29uZC5ub3RpZnlfYWxsKCkKLSAgICAgICAgZmluYWxseToKLSAgICAgICAgICAgIHNlbGYuX2NvbmQucmVsZWFzZSgpCiAKICAgICBkZWYgY2xlYXIoc2VsZik6Ci0gICAgICAgIHNlbGYuX2NvbmQuYWNxdWlyZSgpCi0gICAgICAgIHRyeToKKyAgICAgICAgd2l0aCBzZWxmLl9jb25kOgogICAgICAgICAgICAgc2VsZi5fZmxhZy5hY3F1aXJlKEZhbHNlKQotICAgICAgICBmaW5hbGx5OgotICAgICAgICAgICAgc2VsZi5fY29uZC5yZWxlYXNlKCkKIAogICAgIGRlZiB3YWl0KHNlbGYsIHRpbWVvdXQ9Tm9uZSk6Ci0gICAgICAgIHNlbGYuX2NvbmQuYWNxdWlyZSgpCi0gICAgICAgIHRyeToKKyAgICAgICAgd2l0aCBzZWxmLl9jb25kOgogICAgICAgICAgICAgaWYgc2VsZi5fZmxhZy5hY3F1aXJlKEZhbHNlKToKICAgICAgICAgICAgICAgICBzZWxmLl9mbGFnLnJlbGVhc2UoKQogICAgICAgICAgICAgZWxzZToKQEAgLTM3NCw4ICszNjQsNiBAQAogICAgICAgICAgICAgICAgIHNlbGYuX2ZsYWcucmVsZWFzZSgpCiAgICAgICAgICAgICAgICAgcmV0dXJuIFRydWUKICAgICAgICAgICAgIHJldHVybiBGYWxzZQotICAgICAgICBmaW5hbGx5OgotICAgICAgICAgICAgc2VsZi5fY29uZC5yZWxlYXNlKCkKIAogIwogIyBCYXJyaWVyCmRpZmYgLS1naXQgYS9MaWIvbXVsdGlwcm9jZXNzaW5nL3V0aWwucHkgYi9MaWIvbXVsdGlwcm9jZXNzaW5nL3V0aWwucHkKaW5kZXggMGI2OTVlNC4uZWE1NDQzZCAxMDA2NDQKLS0tIGEvTGliL211bHRpcHJvY2Vzc2luZy91dGlsLnB5CisrKyBiL0xpYi9tdWx0aXByb2Nlc3NpbmcvdXRpbC5weQpAQCAtMjEyLDEwICsyMTIsMTEgQEAKICAgICAgICAgICAgIG9iaiA9IE5vbmUKIAogICAgICAgICBpZiBvYmogaXMgTm9uZToKLSAgICAgICAgICAgIHJldHVybiAnPEZpbmFsaXplIG9iamVjdCwgZGVhZD4nCisgICAgICAgICAgICByZXR1cm4gJzwlcyBvYmplY3QsIGRlYWQ+JyAlIHNlbGYuX19jbGFzc19fLl9fbmFtZV9fCiAKLSAgICAgICAgeCA9ICc8RmluYWxpemUgb2JqZWN0LCBjYWxsYmFjaz0lcycgJSBcCi0gICAgICAgICAgICBnZXRhdHRyKHNlbGYuX2NhbGxiYWNrLCAnX19uYW1lX18nLCBzZWxmLl9jYWxsYmFjaykKKyAgICAgICAgeCA9ICc8JXMgb2JqZWN0LCBjYWxsYmFjaz0lcycgJSAoCisgICAgICAgICAgICAgICAgc2VsZi5fX2NsYXNzX18uX19uYW1lX18sCisgICAgICAgICAgICAgICAgZ2V0YXR0cihzZWxmLl9jYWxsYmFjaywgJ19fbmFtZV9fJywgc2VsZi5fY2FsbGJhY2spKQogICAgICAgICBpZiBzZWxmLl9hcmdzOgogICAgICAgICAgICAgeCArPSAnLCBhcmdzPScgKyBzdHIoc2VsZi5fYXJncykKICAgICAgICAgaWYgc2VsZi5fa3dhcmdzOgpAQCAtMzI3LDYgKzMyOCwxMyBAQAogICAgICAgICBzZWxmLmFjcXVpcmUgPSBzZWxmLl9sb2NrLmFjcXVpcmUKICAgICAgICAgc2VsZi5yZWxlYXNlID0gc2VsZi5fbG9jay5yZWxlYXNlCiAKKyAgICBkZWYgX19lbnRlcl9fKHNlbGYpOgorICAgICAgICByZXR1cm4gc2VsZi5fbG9jay5fX2VudGVyX18oKQorCisgICAgZGVmIF9fZXhpdF9fKHNlbGYsICphcmdzKToKKyAgICAgICAgcmV0dXJuIHNlbGYuX2xvY2suX19leGl0X18oKmFyZ3MpCisKKwogY2xhc3MgRm9ya0F3YXJlTG9jYWwodGhyZWFkaW5nLmxvY2FsKToKICAgICBkZWYgX19pbml0X18oc2VsZik6CiAgICAgICAgIHJlZ2lzdGVyX2FmdGVyX2Zvcmsoc2VsZiwgbGFtYmRhIG9iaiA6IG9iai5fX2RpY3RfXy5jbGVhcigpKQpkaWZmIC0tZ2l0IGEvTGliL250cGF0aC5weSBiL0xpYi9udHBhdGgucHkKaW5kZXggYWYzZmI4Ny4uZWUxYTIxNSAxMDA2NDQKLS0tIGEvTGliL250cGF0aC5weQorKysgYi9MaWIvbnRwYXRoLnB5CkBAIC0zMiw0OCArMzIsMTIgQEAKICAgICBkZWZwYXRoID0gJ1xcV2luZG93cycKIGRldm51bGwgPSAnbnVsJwogCi1kZWYgX2dldF9lbXB0eShwYXRoKToKLSAgICBpZiBpc2luc3RhbmNlKHBhdGgsIGJ5dGVzKToKLSAgICAgICAgcmV0dXJuIGInJwotICAgIGVsc2U6Ci0gICAgICAgIHJldHVybiAnJwotCi1kZWYgX2dldF9zZXAocGF0aCk6Ci0gICAgaWYgaXNpbnN0YW5jZShwYXRoLCBieXRlcyk6Ci0gICAgICAgIHJldHVybiBiJ1xcJwotICAgIGVsc2U6Ci0gICAgICAgIHJldHVybiAnXFwnCi0KLWRlZiBfZ2V0X2FsdHNlcChwYXRoKToKLSAgICBpZiBpc2luc3RhbmNlKHBhdGgsIGJ5dGVzKToKLSAgICAgICAgcmV0dXJuIGInLycKLSAgICBlbHNlOgotICAgICAgICByZXR1cm4gJy8nCi0KIGRlZiBfZ2V0X2JvdGhzZXBzKHBhdGgpOgogICAgIGlmIGlzaW5zdGFuY2UocGF0aCwgYnl0ZXMpOgogICAgICAgICByZXR1cm4gYidcXC8nCiAgICAgZWxzZToKICAgICAgICAgcmV0dXJuICdcXC8nCiAKLWRlZiBfZ2V0X2RvdChwYXRoKToKLSAgICBpZiBpc2luc3RhbmNlKHBhdGgsIGJ5dGVzKToKLSAgICAgICAgcmV0dXJuIGInLicKLSAgICBlbHNlOgotICAgICAgICByZXR1cm4gJy4nCi0KLWRlZiBfZ2V0X2NvbG9uKHBhdGgpOgotICAgIGlmIGlzaW5zdGFuY2UocGF0aCwgYnl0ZXMpOgotICAgICAgICByZXR1cm4gYic6JwotICAgIGVsc2U6Ci0gICAgICAgIHJldHVybiAnOicKLQotZGVmIF9nZXRfc3BlY2lhbChwYXRoKToKLSAgICBpZiBpc2luc3RhbmNlKHBhdGgsIGJ5dGVzKToKLSAgICAgICAgcmV0dXJuIChiJ1xcXFwuXFwnLCBiJ1xcXFw/XFwnKQotICAgIGVsc2U6Ci0gICAgICAgIHJldHVybiAoJ1xcXFwuXFwnLCAnXFxcXD9cXCcpCi0KICMgTm9ybWFsaXplIHRoZSBjYXNlIG9mIGEgcGF0aG5hbWUgYW5kIG1hcCBzbGFzaGVzIHRvIGJhY2tzbGFzaGVzLgogIyBPdGhlciBub3JtYWxpemF0aW9ucyAoc3VjaCBhcyBvcHRpbWl6aW5nICcuLi8nIGF3YXkpIGFyZSBub3QgZG9uZQogIyAodGhpcyBpcyBkb25lIGJ5IG5vcm1wYXRoKS4KQEAgLTgyLDEwICs0NiwxNiBAQAogICAgICIiIk5vcm1hbGl6ZSBjYXNlIG9mIHBhdGhuYW1lLgogCiAgICAgTWFrZXMgYWxsIGNoYXJhY3RlcnMgbG93ZXJjYXNlIGFuZCBhbGwgc2xhc2hlcyBpbnRvIGJhY2tzbGFzaGVzLiIiIgotICAgIGlmIG5vdCBpc2luc3RhbmNlKHMsIChieXRlcywgc3RyKSk6Ci0gICAgICAgIHJhaXNlIFR5cGVFcnJvcigibm9ybWNhc2UoKSBhcmd1bWVudCBtdXN0IGJlIHN0ciBvciBieXRlcywgIgotICAgICAgICAgICAgICAgICAgICAgICAgIm5vdCAne30nIi5mb3JtYXQocy5fX2NsYXNzX18uX19uYW1lX18pKQotICAgIHJldHVybiBzLnJlcGxhY2UoX2dldF9hbHRzZXAocyksIF9nZXRfc2VwKHMpKS5sb3dlcigpCisgICAgdHJ5OgorICAgICAgICBpZiBpc2luc3RhbmNlKHMsIGJ5dGVzKToKKyAgICAgICAgICAgIHJldHVybiBzLnJlcGxhY2UoYicvJywgYidcXCcpLmxvd2VyKCkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHJldHVybiBzLnJlcGxhY2UoJy8nLCAnXFwnKS5sb3dlcigpCisgICAgZXhjZXB0IChUeXBlRXJyb3IsIEF0dHJpYnV0ZUVycm9yKToKKyAgICAgICAgaWYgbm90IGlzaW5zdGFuY2UocywgKGJ5dGVzLCBzdHIpKToKKyAgICAgICAgICAgIHJhaXNlIFR5cGVFcnJvcigibm9ybWNhc2UoKSBhcmd1bWVudCBtdXN0IGJlIHN0ciBvciBieXRlcywgIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICJub3QgJXIiICUgcy5fX2NsYXNzX18uX19uYW1lX18pIGZyb20gTm9uZQorICAgICAgICByYWlzZQogCiAKICMgUmV0dXJuIHdoZXRoZXIgYSBwYXRoIGlzIGFic29sdXRlLgpAQCAtOTcsNDAgKzY3LDQ5IEBACiBkZWYgaXNhYnMocyk6CiAgICAgIiIiVGVzdCB3aGV0aGVyIGEgcGF0aCBpcyBhYnNvbHV0ZSIiIgogICAgIHMgPSBzcGxpdGRyaXZlKHMpWzFdCi0gICAgcmV0dXJuIGxlbihzKSA+IDAgYW5kIHNbOjFdIGluIF9nZXRfYm90aHNlcHMocykKKyAgICByZXR1cm4gbGVuKHMpID4gMCBhbmQgc1swXSBpbiBfZ2V0X2JvdGhzZXBzKHMpCiAKIAogIyBKb2luIHR3byAob3IgbW9yZSkgcGF0aHMuCiBkZWYgam9pbihwYXRoLCAqcGF0aHMpOgotICAgIHNlcCA9IF9nZXRfc2VwKHBhdGgpCi0gICAgc2VwcyA9IF9nZXRfYm90aHNlcHMocGF0aCkKLSAgICBjb2xvbiA9IF9nZXRfY29sb24ocGF0aCkKLSAgICByZXN1bHRfZHJpdmUsIHJlc3VsdF9wYXRoID0gc3BsaXRkcml2ZShwYXRoKQotICAgIGZvciBwIGluIHBhdGhzOgotICAgICAgICBwX2RyaXZlLCBwX3BhdGggPSBzcGxpdGRyaXZlKHApCi0gICAgICAgIGlmIHBfcGF0aCBhbmQgcF9wYXRoWzBdIGluIHNlcHM6Ci0gICAgICAgICAgICAjIFNlY29uZCBwYXRoIGlzIGFic29sdXRlCi0gICAgICAgICAgICBpZiBwX2RyaXZlIG9yIG5vdCByZXN1bHRfZHJpdmU6Ci0gICAgICAgICAgICAgICAgcmVzdWx0X2RyaXZlID0gcF9kcml2ZQotICAgICAgICAgICAgcmVzdWx0X3BhdGggPSBwX3BhdGgKLSAgICAgICAgICAgIGNvbnRpbnVlCi0gICAgICAgIGVsaWYgcF9kcml2ZSBhbmQgcF9kcml2ZSAhPSByZXN1bHRfZHJpdmU6Ci0gICAgICAgICAgICBpZiBwX2RyaXZlLmxvd2VyKCkgIT0gcmVzdWx0X2RyaXZlLmxvd2VyKCk6Ci0gICAgICAgICAgICAgICAgIyBEaWZmZXJlbnQgZHJpdmVzID0+IGlnbm9yZSB0aGUgZmlyc3QgcGF0aCBlbnRpcmVseQotICAgICAgICAgICAgICAgIHJlc3VsdF9kcml2ZSA9IHBfZHJpdmUKKyAgICBpZiBpc2luc3RhbmNlKHBhdGgsIGJ5dGVzKToKKyAgICAgICAgc2VwID0gYidcXCcKKyAgICAgICAgc2VwcyA9IGInXFwvJworICAgICAgICBjb2xvbiA9IGInOicKKyAgICBlbHNlOgorICAgICAgICBzZXAgPSAnXFwnCisgICAgICAgIHNlcHMgPSAnXFwvJworICAgICAgICBjb2xvbiA9ICc6JworICAgIHRyeToKKyAgICAgICAgcmVzdWx0X2RyaXZlLCByZXN1bHRfcGF0aCA9IHNwbGl0ZHJpdmUocGF0aCkKKyAgICAgICAgZm9yIHAgaW4gcGF0aHM6CisgICAgICAgICAgICBwX2RyaXZlLCBwX3BhdGggPSBzcGxpdGRyaXZlKHApCisgICAgICAgICAgICBpZiBwX3BhdGggYW5kIHBfcGF0aFswXSBpbiBzZXBzOgorICAgICAgICAgICAgICAgICMgU2Vjb25kIHBhdGggaXMgYWJzb2x1dGUKKyAgICAgICAgICAgICAgICBpZiBwX2RyaXZlIG9yIG5vdCByZXN1bHRfZHJpdmU6CisgICAgICAgICAgICAgICAgICAgIHJlc3VsdF9kcml2ZSA9IHBfZHJpdmUKICAgICAgICAgICAgICAgICByZXN1bHRfcGF0aCA9IHBfcGF0aAogICAgICAgICAgICAgICAgIGNvbnRpbnVlCi0gICAgICAgICAgICAjIFNhbWUgZHJpdmUgaW4gZGlmZmVyZW50IGNhc2UKLSAgICAgICAgICAgIHJlc3VsdF9kcml2ZSA9IHBfZHJpdmUKLSAgICAgICAgIyBTZWNvbmQgcGF0aCBpcyByZWxhdGl2ZSB0byB0aGUgZmlyc3QKLSAgICAgICAgaWYgcmVzdWx0X3BhdGggYW5kIHJlc3VsdF9wYXRoWy0xXSBub3QgaW4gc2VwczoKLSAgICAgICAgICAgIHJlc3VsdF9wYXRoID0gcmVzdWx0X3BhdGggKyBzZXAKLSAgICAgICAgcmVzdWx0X3BhdGggPSByZXN1bHRfcGF0aCArIHBfcGF0aAotICAgICMjIGFkZCBzZXBhcmF0b3IgYmV0d2VlbiBVTkMgYW5kIG5vbi1hYnNvbHV0ZSBwYXRoCi0gICAgaWYgKHJlc3VsdF9wYXRoIGFuZCByZXN1bHRfcGF0aFswXSBub3QgaW4gc2VwcyBhbmQKLSAgICAgICAgcmVzdWx0X2RyaXZlIGFuZCByZXN1bHRfZHJpdmVbLTE6XSAhPSBjb2xvbik6Ci0gICAgICAgIHJldHVybiByZXN1bHRfZHJpdmUgKyBzZXAgKyByZXN1bHRfcGF0aAotICAgIHJldHVybiByZXN1bHRfZHJpdmUgKyByZXN1bHRfcGF0aAorICAgICAgICAgICAgZWxpZiBwX2RyaXZlIGFuZCBwX2RyaXZlICE9IHJlc3VsdF9kcml2ZToKKyAgICAgICAgICAgICAgICBpZiBwX2RyaXZlLmxvd2VyKCkgIT0gcmVzdWx0X2RyaXZlLmxvd2VyKCk6CisgICAgICAgICAgICAgICAgICAgICMgRGlmZmVyZW50IGRyaXZlcyA9PiBpZ25vcmUgdGhlIGZpcnN0IHBhdGggZW50aXJlbHkKKyAgICAgICAgICAgICAgICAgICAgcmVzdWx0X2RyaXZlID0gcF9kcml2ZQorICAgICAgICAgICAgICAgICAgICByZXN1bHRfcGF0aCA9IHBfcGF0aAorICAgICAgICAgICAgICAgICAgICBjb250aW51ZQorICAgICAgICAgICAgICAgICMgU2FtZSBkcml2ZSBpbiBkaWZmZXJlbnQgY2FzZQorICAgICAgICAgICAgICAgIHJlc3VsdF9kcml2ZSA9IHBfZHJpdmUKKyAgICAgICAgICAgICMgU2Vjb25kIHBhdGggaXMgcmVsYXRpdmUgdG8gdGhlIGZpcnN0CisgICAgICAgICAgICBpZiByZXN1bHRfcGF0aCBhbmQgcmVzdWx0X3BhdGhbLTFdIG5vdCBpbiBzZXBzOgorICAgICAgICAgICAgICAgIHJlc3VsdF9wYXRoID0gcmVzdWx0X3BhdGggKyBzZXAKKyAgICAgICAgICAgIHJlc3VsdF9wYXRoID0gcmVzdWx0X3BhdGggKyBwX3BhdGgKKyAgICAgICAgIyMgYWRkIHNlcGFyYXRvciBiZXR3ZWVuIFVOQyBhbmQgbm9uLWFic29sdXRlIHBhdGgKKyAgICAgICAgaWYgKHJlc3VsdF9wYXRoIGFuZCByZXN1bHRfcGF0aFswXSBub3QgaW4gc2VwcyBhbmQKKyAgICAgICAgICAgIHJlc3VsdF9kcml2ZSBhbmQgcmVzdWx0X2RyaXZlWy0xOl0gIT0gY29sb24pOgorICAgICAgICAgICAgcmV0dXJuIHJlc3VsdF9kcml2ZSArIHNlcCArIHJlc3VsdF9wYXRoCisgICAgICAgIHJldHVybiByZXN1bHRfZHJpdmUgKyByZXN1bHRfcGF0aAorICAgIGV4Y2VwdCAoVHlwZUVycm9yLCBBdHRyaWJ1dGVFcnJvciwgQnl0ZXNXYXJuaW5nKToKKyAgICAgICAgZ2VuZXJpY3BhdGguX2NoZWNrX2FyZ190eXBlcygnam9pbicsIHBhdGgsICpwYXRocykKKyAgICAgICAgcmFpc2UKIAogCiAjIFNwbGl0IGEgcGF0aCBpbiBhIGRyaXZlIHNwZWNpZmljYXRpb24gKGEgZHJpdmUgbGV0dGVyIGZvbGxvd2VkIGJ5IGEKQEAgLTE1NSwxMCArMTM0LDE2IEBACiAgICAgUGF0aHMgY2Fubm90IGNvbnRhaW4gYm90aCBhIGRyaXZlIGxldHRlciBhbmQgYSBVTkMgcGF0aC4KIAogICAgICIiIgotICAgIGVtcHR5ID0gX2dldF9lbXB0eShwKQotICAgIGlmIGxlbihwKSA+IDE6Ci0gICAgICAgIHNlcCA9IF9nZXRfc2VwKHApCi0gICAgICAgIG5vcm1wID0gcC5yZXBsYWNlKF9nZXRfYWx0c2VwKHApLCBzZXApCisgICAgaWYgbGVuKHApID49IDI6CisgICAgICAgIGlmIGlzaW5zdGFuY2UocCwgYnl0ZXMpOgorICAgICAgICAgICAgc2VwID0gYidcXCcKKyAgICAgICAgICAgIGFsdHNlcCA9IGInLycKKyAgICAgICAgICAgIGNvbG9uID0gYic6JworICAgICAgICBlbHNlOgorICAgICAgICAgICAgc2VwID0gJ1xcJworICAgICAgICAgICAgYWx0c2VwID0gJy8nCisgICAgICAgICAgICBjb2xvbiA9ICc6JworICAgICAgICBub3JtcCA9IHAucmVwbGFjZShhbHRzZXAsIHNlcCkKICAgICAgICAgaWYgKG5vcm1wWzA6Ml0gPT0gc2VwKjIpIGFuZCAobm9ybXBbMjozXSAhPSBzZXApOgogICAgICAgICAgICAgIyBpcyBhIFVOQyBwYXRoOgogICAgICAgICAgICAgIyB2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2diBkcml2ZSBsZXR0ZXIgb3IgVU5DIHBhdGgKQEAgLTE2NiwxOCArMTUxLDE4IEBACiAgICAgICAgICAgICAjICAgICAgICAgICBkaXJlY3RvcnkgXl5eXl5eXl5eXl5eXl5eCiAgICAgICAgICAgICBpbmRleCA9IG5vcm1wLmZpbmQoc2VwLCAyKQogICAgICAgICAgICAgaWYgaW5kZXggPT0gLTE6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIGVtcHR5LCBwCisgICAgICAgICAgICAgICAgcmV0dXJuIHBbOjBdLCBwCiAgICAgICAgICAgICBpbmRleDIgPSBub3JtcC5maW5kKHNlcCwgaW5kZXggKyAxKQogICAgICAgICAgICAgIyBhIFVOQyBwYXRoIGNhbid0IGhhdmUgdHdvIHNsYXNoZXMgaW4gYSByb3cKICAgICAgICAgICAgICMgKGFmdGVyIHRoZSBpbml0aWFsIHR3bykKICAgICAgICAgICAgIGlmIGluZGV4MiA9PSBpbmRleCArIDE6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIGVtcHR5LCBwCisgICAgICAgICAgICAgICAgcmV0dXJuIHBbOjBdLCBwCiAgICAgICAgICAgICBpZiBpbmRleDIgPT0gLTE6CiAgICAgICAgICAgICAgICAgaW5kZXgyID0gbGVuKHApCiAgICAgICAgICAgICByZXR1cm4gcFs6aW5kZXgyXSwgcFtpbmRleDI6XQotICAgICAgICBpZiBub3JtcFsxOjJdID09IF9nZXRfY29sb24ocCk6CisgICAgICAgIGlmIG5vcm1wWzE6Ml0gPT0gY29sb246CiAgICAgICAgICAgICByZXR1cm4gcFs6Ml0sIHBbMjpdCi0gICAgcmV0dXJuIGVtcHR5LCBwCisgICAgcmV0dXJuIHBbOjBdLCBwCiAKIAogIyBQYXJzZSBVTkMgcGF0aHMKQEAgLTIyMSwxMCArMjA2LDcgQEAKICAgICAgICAgaSAtPSAxCiAgICAgaGVhZCwgdGFpbCA9IHBbOmldLCBwW2k6XSAgIyBub3cgdGFpbCBoYXMgbm8gc2xhc2hlcwogICAgICMgcmVtb3ZlIHRyYWlsaW5nIHNsYXNoZXMgZnJvbSBoZWFkLCB1bmxlc3MgaXQncyBhbGwgc2xhc2hlcwotICAgIGhlYWQyID0gaGVhZAotICAgIHdoaWxlIGhlYWQyIGFuZCBoZWFkMlstMTpdIGluIHNlcHM6Ci0gICAgICAgIGhlYWQyID0gaGVhZDJbOi0xXQotICAgIGhlYWQgPSBoZWFkMiBvciBoZWFkCisgICAgaGVhZCA9IGhlYWQucnN0cmlwKHNlcHMpIG9yIGhlYWQKICAgICByZXR1cm4gZCArIGhlYWQsIHRhaWwKIAogCkBAIC0yMzQsOCArMjE2LDEwIEBACiAjIEl0IGlzIGFsd2F5cyB0cnVlIHRoYXQgcm9vdCArIGV4dCA9PSBwLgogCiBkZWYgc3BsaXRleHQocCk6Ci0gICAgcmV0dXJuIGdlbmVyaWNwYXRoLl9zcGxpdGV4dChwLCBfZ2V0X3NlcChwKSwgX2dldF9hbHRzZXAocCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfZ2V0X2RvdChwKSkKKyAgICBpZiBpc2luc3RhbmNlKHAsIGJ5dGVzKToKKyAgICAgICAgcmV0dXJuIGdlbmVyaWNwYXRoLl9zcGxpdGV4dChwLCBiJ1xcJywgYicvJywgYicuJykKKyAgICBlbHNlOgorICAgICAgICByZXR1cm4gZ2VuZXJpY3BhdGguX3NwbGl0ZXh0KHAsICdcXCcsICcvJywgJy4nKQogc3BsaXRleHQuX19kb2NfXyA9IGdlbmVyaWNwYXRoLl9zcGxpdGV4dC5fX2RvY19fCiAKIApAQCAtMzQzLDcgKzMyNyw3IEBACiAgICAgICAgIHVzZXJob21lID0gam9pbihkcml2ZSwgb3MuZW52aXJvblsnSE9NRVBBVEgnXSkKIAogICAgIGlmIGlzaW5zdGFuY2UocGF0aCwgYnl0ZXMpOgotICAgICAgICB1c2VyaG9tZSA9IHVzZXJob21lLmVuY29kZShzeXMuZ2V0ZmlsZXN5c3RlbWVuY29kaW5nKCkpCisgICAgICAgIHVzZXJob21lID0gb3MuZnNlbmNvZGUodXNlcmhvbWUpCiAKICAgICBpZiBpICE9IDE6ICN+dXNlcgogICAgICAgICB1c2VyaG9tZSA9IGpvaW4oZGlybmFtZSh1c2VyaG9tZSksIHBhdGhbMTppXSkKQEAgLTM2OSwxMyArMzUzLDE0IEBACiAKICAgICBVbmtub3duIHZhcmlhYmxlcyBhcmUgbGVmdCB1bmNoYW5nZWQuIiIiCiAgICAgaWYgaXNpbnN0YW5jZShwYXRoLCBieXRlcyk6Ci0gICAgICAgIGlmIG9yZCgnJCcpIG5vdCBpbiBwYXRoIGFuZCBvcmQoJyUnKSBub3QgaW4gcGF0aDoKKyAgICAgICAgaWYgYickJyBub3QgaW4gcGF0aCBhbmQgYiclJyBub3QgaW4gcGF0aDoKICAgICAgICAgICAgIHJldHVybiBwYXRoCiAgICAgICAgIGltcG9ydCBzdHJpbmcKICAgICAgICAgdmFyY2hhcnMgPSBieXRlcyhzdHJpbmcuYXNjaWlfbGV0dGVycyArIHN0cmluZy5kaWdpdHMgKyAnXy0nLCAnYXNjaWknKQogICAgICAgICBxdW90ZSA9IGInXCcnCiAgICAgICAgIHBlcmNlbnQgPSBiJyUnCiAgICAgICAgIGJyYWNlID0gYid7JworICAgICAgICByYnJhY2UgPSBiJ30nCiAgICAgICAgIGRvbGxhciA9IGInJCcKICAgICAgICAgZW52aXJvbiA9IGdldGF0dHIob3MsICdlbnZpcm9uYicsIE5vbmUpCiAgICAgZWxzZToKQEAgLTM4Niw2ICszNzEsNyBAQAogICAgICAgICBxdW90ZSA9ICdcJycKICAgICAgICAgcGVyY2VudCA9ICclJwogICAgICAgICBicmFjZSA9ICd7JworICAgICAgICByYnJhY2UgPSAnfScKICAgICAgICAgZG9sbGFyID0gJyQnCiAgICAgICAgIGVudmlyb24gPSBvcy5lbnZpcm9uCiAgICAgcmVzID0gcGF0aFs6MF0KQEAgLTQzMiwxNSArNDE4LDkgQEAKICAgICAgICAgICAgICAgICBwYXRoID0gcGF0aFtpbmRleCsyOl0KICAgICAgICAgICAgICAgICBwYXRobGVuID0gbGVuKHBhdGgpCiAgICAgICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgICAgICBpZiBpc2luc3RhbmNlKHBhdGgsIGJ5dGVzKToKLSAgICAgICAgICAgICAgICAgICAgICAgIGluZGV4ID0gcGF0aC5pbmRleChiJ30nKQotICAgICAgICAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgICAgICAgICAgaW5kZXggPSBwYXRoLmluZGV4KCd9JykKKyAgICAgICAgICAgICAgICAgICAgaW5kZXggPSBwYXRoLmluZGV4KHJicmFjZSkKICAgICAgICAgICAgICAgICBleGNlcHQgVmFsdWVFcnJvcjoKLSAgICAgICAgICAgICAgICAgICAgaWYgaXNpbnN0YW5jZShwYXRoLCBieXRlcyk6Ci0gICAgICAgICAgICAgICAgICAgICAgICByZXMgKz0gYickeycgKyBwYXRoCi0gICAgICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgICAgICByZXMgKz0gJyR7JyArIHBhdGgKKyAgICAgICAgICAgICAgICAgICAgcmVzICs9IGRvbGxhciArIGJyYWNlICsgcGF0aAogICAgICAgICAgICAgICAgICAgICBpbmRleCA9IHBhdGhsZW4gLSAxCiAgICAgICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICAgICAgdmFyID0gcGF0aFs6aW5kZXhdCkBAIC00NTAsMTAgKzQzMCw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlID0gZW52aXJvblt2YXJdCiAgICAgICAgICAgICAgICAgICAgIGV4Y2VwdCBLZXlFcnJvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIGlzaW5zdGFuY2UocGF0aCwgYnl0ZXMpOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlID0gYickeycgKyB2YXIgKyBiJ30nCi0gICAgICAgICAgICAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlID0gJyR7JyArIHZhciArICd9JworICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgPSBkb2xsYXIgKyBicmFjZSArIHZhciArIHJicmFjZQogICAgICAgICAgICAgICAgICAgICByZXMgKz0gdmFsdWUKICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgdmFyID0gcGF0aFs6MF0KQEAgLTQ4NSwxNiArNDYyLDI1IEBACiAKIGRlZiBub3JtcGF0aChwYXRoKToKICAgICAiIiJOb3JtYWxpemUgcGF0aCwgZWxpbWluYXRpbmcgZG91YmxlIHNsYXNoZXMsIGV0Yy4iIiIKLSAgICBzZXAgPSBfZ2V0X3NlcChwYXRoKQotICAgIGRvdGRvdCA9IF9nZXRfZG90KHBhdGgpICogMgotICAgIHNwZWNpYWxfcHJlZml4ZXMgPSBfZ2V0X3NwZWNpYWwocGF0aCkKKyAgICBpZiBpc2luc3RhbmNlKHBhdGgsIGJ5dGVzKToKKyAgICAgICAgc2VwID0gYidcXCcKKyAgICAgICAgYWx0c2VwID0gYicvJworICAgICAgICBjdXJkaXIgPSBiJy4nCisgICAgICAgIHBhcmRpciA9IGInLi4nCisgICAgICAgIHNwZWNpYWxfcHJlZml4ZXMgPSAoYidcXFxcLlxcJywgYidcXFxcP1xcJykKKyAgICBlbHNlOgorICAgICAgICBzZXAgPSAnXFwnCisgICAgICAgIGFsdHNlcCA9ICcvJworICAgICAgICBjdXJkaXIgPSAnLicKKyAgICAgICAgcGFyZGlyID0gJy4uJworICAgICAgICBzcGVjaWFsX3ByZWZpeGVzID0gKCdcXFxcLlxcJywgJ1xcXFw/XFwnKQogICAgIGlmIHBhdGguc3RhcnRzd2l0aChzcGVjaWFsX3ByZWZpeGVzKToKICAgICAgICAgIyBpbiB0aGUgY2FzZSBvZiBwYXRocyB3aXRoIHRoZXNlIHByZWZpeGVzOgogICAgICAgICAjIFxcLlwgLT4gZGV2aWNlIG5hbWVzCiAgICAgICAgICMgXFw/XCAtPiBsaXRlcmFsIHBhdGhzCiAgICAgICAgICMgZG8gbm90IGRvIGFueSBub3JtYWxpemF0aW9uLCBidXQgcmV0dXJuIHRoZSBwYXRoIHVuY2hhbmdlZAogICAgICAgICByZXR1cm4gcGF0aAotICAgIHBhdGggPSBwYXRoLnJlcGxhY2UoX2dldF9hbHRzZXAocGF0aCksIHNlcCkKKyAgICBwYXRoID0gcGF0aC5yZXBsYWNlKGFsdHNlcCwgc2VwKQogICAgIHByZWZpeCwgcGF0aCA9IHNwbGl0ZHJpdmUocGF0aCkKIAogICAgICMgY29sbGFwc2UgaW5pdGlhbCBiYWNrc2xhc2hlcwpAQCAtNTA1LDEzICs0OTEsMTMgQEAKICAgICBjb21wcyA9IHBhdGguc3BsaXQoc2VwKQogICAgIGkgPSAwCiAgICAgd2hpbGUgaSA8IGxlbihjb21wcyk6Ci0gICAgICAgIGlmIG5vdCBjb21wc1tpXSBvciBjb21wc1tpXSA9PSBfZ2V0X2RvdChwYXRoKToKKyAgICAgICAgaWYgbm90IGNvbXBzW2ldIG9yIGNvbXBzW2ldID09IGN1cmRpcjoKICAgICAgICAgICAgIGRlbCBjb21wc1tpXQotICAgICAgICBlbGlmIGNvbXBzW2ldID09IGRvdGRvdDoKLSAgICAgICAgICAgIGlmIGkgPiAwIGFuZCBjb21wc1tpLTFdICE9IGRvdGRvdDoKKyAgICAgICAgZWxpZiBjb21wc1tpXSA9PSBwYXJkaXI6CisgICAgICAgICAgICBpZiBpID4gMCBhbmQgY29tcHNbaS0xXSAhPSBwYXJkaXI6CiAgICAgICAgICAgICAgICAgZGVsIGNvbXBzW2ktMTppKzFdCiAgICAgICAgICAgICAgICAgaSAtPSAxCi0gICAgICAgICAgICBlbGlmIGkgPT0gMCBhbmQgcHJlZml4LmVuZHN3aXRoKF9nZXRfc2VwKHBhdGgpKToKKyAgICAgICAgICAgIGVsaWYgaSA9PSAwIGFuZCBwcmVmaXguZW5kc3dpdGgoc2VwKToKICAgICAgICAgICAgICAgICBkZWwgY29tcHNbaV0KICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgaSArPSAxCkBAIC01MTksNyArNTA1LDcgQEAKICAgICAgICAgICAgIGkgKz0gMQogICAgICMgSWYgdGhlIHBhdGggaXMgbm93IGVtcHR5LCBzdWJzdGl0dXRlICcuJwogICAgIGlmIG5vdCBwcmVmaXggYW5kIG5vdCBjb21wczoKLSAgICAgICAgY29tcHMuYXBwZW5kKF9nZXRfZG90KHBhdGgpKQorICAgICAgICBjb21wcy5hcHBlbmQoY3VyZGlyKQogICAgIHJldHVybiBwcmVmaXggKyBzZXAuam9pbihjb21wcykKIAogCkBAIC01NTksNDIgKzU0NSw0OCBAQAogc3VwcG9ydHNfdW5pY29kZV9maWxlbmFtZXMgPSAoaGFzYXR0cihzeXMsICJnZXR3aW5kb3dzdmVyc2lvbiIpIGFuZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3lzLmdldHdpbmRvd3N2ZXJzaW9uKClbM10gPj0gMikKIAotZGVmIHJlbHBhdGgocGF0aCwgc3RhcnQ9Y3VyZGlyKToKK2RlZiByZWxwYXRoKHBhdGgsIHN0YXJ0PU5vbmUpOgogICAgICIiIlJldHVybiBhIHJlbGF0aXZlIHZlcnNpb24gb2YgYSBwYXRoIiIiCi0gICAgc2VwID0gX2dldF9zZXAocGF0aCkKKyAgICBpZiBpc2luc3RhbmNlKHBhdGgsIGJ5dGVzKToKKyAgICAgICAgc2VwID0gYidcXCcKKyAgICAgICAgY3VyZGlyID0gYicuJworICAgICAgICBwYXJkaXIgPSBiJy4uJworICAgIGVsc2U6CisgICAgICAgIHNlcCA9ICdcXCcKKyAgICAgICAgY3VyZGlyID0gJy4nCisgICAgICAgIHBhcmRpciA9ICcuLicKIAotICAgIGlmIHN0YXJ0IGlzIGN1cmRpcjoKLSAgICAgICAgc3RhcnQgPSBfZ2V0X2RvdChwYXRoKQorICAgIGlmIHN0YXJ0IGlzIE5vbmU6CisgICAgICAgIHN0YXJ0ID0gY3VyZGlyCiAKICAgICBpZiBub3QgcGF0aDoKICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigibm8gcGF0aCBzcGVjaWZpZWQiKQogCi0gICAgc3RhcnRfYWJzID0gYWJzcGF0aChub3JtcGF0aChzdGFydCkpCi0gICAgcGF0aF9hYnMgPSBhYnNwYXRoKG5vcm1wYXRoKHBhdGgpKQotICAgIHN0YXJ0X2RyaXZlLCBzdGFydF9yZXN0ID0gc3BsaXRkcml2ZShzdGFydF9hYnMpCi0gICAgcGF0aF9kcml2ZSwgcGF0aF9yZXN0ID0gc3BsaXRkcml2ZShwYXRoX2FicykKLSAgICBpZiBub3JtY2FzZShzdGFydF9kcml2ZSkgIT0gbm9ybWNhc2UocGF0aF9kcml2ZSk6Ci0gICAgICAgIGVycm9yID0gInBhdGggaXMgb24gbW91bnQgJ3swfScsIHN0YXJ0IG9uIG1vdW50ICd7MX0nIi5mb3JtYXQoCi0gICAgICAgICAgICBwYXRoX2RyaXZlLCBzdGFydF9kcml2ZSkKLSAgICAgICAgcmFpc2UgVmFsdWVFcnJvcihlcnJvcikKKyAgICB0cnk6CisgICAgICAgIHN0YXJ0X2FicyA9IGFic3BhdGgobm9ybXBhdGgoc3RhcnQpKQorICAgICAgICBwYXRoX2FicyA9IGFic3BhdGgobm9ybXBhdGgocGF0aCkpCisgICAgICAgIHN0YXJ0X2RyaXZlLCBzdGFydF9yZXN0ID0gc3BsaXRkcml2ZShzdGFydF9hYnMpCisgICAgICAgIHBhdGhfZHJpdmUsIHBhdGhfcmVzdCA9IHNwbGl0ZHJpdmUocGF0aF9hYnMpCisgICAgICAgIGlmIG5vcm1jYXNlKHN0YXJ0X2RyaXZlKSAhPSBub3JtY2FzZShwYXRoX2RyaXZlKToKKyAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoInBhdGggaXMgb24gbW91bnQgJXIsIHN0YXJ0IG9uIG1vdW50ICVyIiAlICgKKyAgICAgICAgICAgICAgICBwYXRoX2RyaXZlLCBzdGFydF9kcml2ZSkpCiAKLSAgICBzdGFydF9saXN0ID0gW3ggZm9yIHggaW4gc3RhcnRfcmVzdC5zcGxpdChzZXApIGlmIHhdCi0gICAgcGF0aF9saXN0ID0gW3ggZm9yIHggaW4gcGF0aF9yZXN0LnNwbGl0KHNlcCkgaWYgeF0KLSAgICAjIFdvcmsgb3V0IGhvdyBtdWNoIG9mIHRoZSBmaWxlcGF0aCBpcyBzaGFyZWQgYnkgc3RhcnQgYW5kIHBhdGguCi0gICAgaSA9IDAKLSAgICBmb3IgZTEsIGUyIGluIHppcChzdGFydF9saXN0LCBwYXRoX2xpc3QpOgotICAgICAgICBpZiBub3JtY2FzZShlMSkgIT0gbm9ybWNhc2UoZTIpOgotICAgICAgICAgICAgYnJlYWsKLSAgICAgICAgaSArPSAxCisgICAgICAgIHN0YXJ0X2xpc3QgPSBbeCBmb3IgeCBpbiBzdGFydF9yZXN0LnNwbGl0KHNlcCkgaWYgeF0KKyAgICAgICAgcGF0aF9saXN0ID0gW3ggZm9yIHggaW4gcGF0aF9yZXN0LnNwbGl0KHNlcCkgaWYgeF0KKyAgICAgICAgIyBXb3JrIG91dCBob3cgbXVjaCBvZiB0aGUgZmlsZXBhdGggaXMgc2hhcmVkIGJ5IHN0YXJ0IGFuZCBwYXRoLgorICAgICAgICBpID0gMAorICAgICAgICBmb3IgZTEsIGUyIGluIHppcChzdGFydF9saXN0LCBwYXRoX2xpc3QpOgorICAgICAgICAgICAgaWYgbm9ybWNhc2UoZTEpICE9IG5vcm1jYXNlKGUyKToKKyAgICAgICAgICAgICAgICBicmVhaworICAgICAgICAgICAgaSArPSAxCiAKLSAgICBpZiBpc2luc3RhbmNlKHBhdGgsIGJ5dGVzKToKLSAgICAgICAgcGFyZGlyID0gYicuLicKLSAgICBlbHNlOgotICAgICAgICBwYXJkaXIgPSAnLi4nCi0gICAgcmVsX2xpc3QgPSBbcGFyZGlyXSAqIChsZW4oc3RhcnRfbGlzdCktaSkgKyBwYXRoX2xpc3RbaTpdCi0gICAgaWYgbm90IHJlbF9saXN0OgotICAgICAgICByZXR1cm4gX2dldF9kb3QocGF0aCkKLSAgICByZXR1cm4gam9pbigqcmVsX2xpc3QpCisgICAgICAgIHJlbF9saXN0ID0gW3BhcmRpcl0gKiAobGVuKHN0YXJ0X2xpc3QpLWkpICsgcGF0aF9saXN0W2k6XQorICAgICAgICBpZiBub3QgcmVsX2xpc3Q6CisgICAgICAgICAgICByZXR1cm4gY3VyZGlyCisgICAgICAgIHJldHVybiBqb2luKCpyZWxfbGlzdCkKKyAgICBleGNlcHQgKFR5cGVFcnJvciwgVmFsdWVFcnJvciwgQXR0cmlidXRlRXJyb3IsIEJ5dGVzV2FybmluZywgRGVwcmVjYXRpb25XYXJuaW5nKToKKyAgICAgICAgZ2VuZXJpY3BhdGguX2NoZWNrX2FyZ190eXBlcygncmVscGF0aCcsIHBhdGgsIHN0YXJ0KQorICAgICAgICByYWlzZQogCiAKICMgZGV0ZXJtaW5lIGlmIHR3byBmaWxlcyBhcmUgaW4gZmFjdCB0aGUgc2FtZSBmaWxlCmRpZmYgLS1naXQgYS9MaWIvb3Bjb2RlLnB5IGIvTGliL29wY29kZS5weQppbmRleCAwYmQxZWU2Li5iZmQzYzRkIDEwMDY0NAotLS0gYS9MaWIvb3Bjb2RlLnB5CisrKyBiL0xpYi9vcGNvZGUucHkKQEAgLTcwLDYgKzcwLDkgQEAKIAogZGVmX29wKCdVTkFSWV9JTlZFUlQnLCAxNSkKIAorZGVmX29wKCdCSU5BUllfTUFUUklYX01VTFRJUExZJywgMTYpCitkZWZfb3AoJ0lOUExBQ0VfTUFUUklYX01VTFRJUExZJywgMTcpCisKIGRlZl9vcCgnQklOQVJZX1BPV0VSJywgMTkpCiBkZWZfb3AoJ0JJTkFSWV9NVUxUSVBMWScsIDIwKQogCmRpZmYgLS1naXQgYS9MaWIvb3BlcmF0b3IucHkgYi9MaWIvb3BlcmF0b3IucHkKaW5kZXggYjYwMzQ5Zi4uODU2MDM2ZCAxMDA2NDQKLS0tIGEvTGliL29wZXJhdG9yLnB5CisrKyBiL0xpYi9vcGVyYXRvci5weQpAQCAtMTA1LDYgKzEwNSwxMCBAQAogICAgICJTYW1lIGFzIGEgKiBiLiIKICAgICByZXR1cm4gYSAqIGIKIAorZGVmIG1hdG11bChhLCBiKToKKyAgICAiU2FtZSBhcyBhIEAgYi4iCisgICAgcmV0dXJuIGEgQCBiCisKIGRlZiBuZWcoYSk6CiAgICAgIlNhbWUgYXMgLWEuIgogICAgIHJldHVybiAtYQpAQCAtMzI2LDYgKzMzMCwxMSBAQAogICAgIGEgKj0gYgogICAgIHJldHVybiBhCiAKK2RlZiBpbWF0bXVsKGEsIGIpOgorICAgICJTYW1lIGFzIGEgQD0gYi4iCisgICAgYSBAPSBiCisgICAgcmV0dXJuIGEKKwogZGVmIGlvcihhLCBiKToKICAgICAiU2FtZSBhcyBhIHw9IGIuIgogICAgIGEgfD0gYgpAQCAtMzgzLDYgKzM5Miw3IEBACiBfX2xzaGlmdF9fID0gbHNoaWZ0CiBfX21vZF9fID0gbW9kCiBfX211bF9fID0gbXVsCitfX21hdG11bF9fID0gbWF0bXVsCiBfX25lZ19fID0gbmVnCiBfX29yX18gPSBvcl8KIF9fcG9zX18gPSBwb3MKQEAgLTQwMyw2ICs0MTMsNyBAQAogX19pbHNoaWZ0X18gPSBpbHNoaWZ0CiBfX2ltb2RfXyA9IGltb2QKIF9faW11bF9fID0gaW11bAorX19pbWF0bXVsX18gPSBpbWF0bXVsCiBfX2lvcl9fID0gaW9yCiBfX2lwb3dfXyA9IGlwb3cKIF9faXJzaGlmdF9fID0gaXJzaGlmdApkaWZmIC0tZ2l0IGEvTGliL29zLnB5IGIvTGliL29zLnB5CmluZGV4IDU1NmY1OTIuLjNiYjBmNGUgMTAwNjQ0Ci0tLSBhL0xpYi9vcy5weQorKysgYi9MaWIvb3MucHkKQEAgLTYxLDYgKzYxLDEwIEBACiAgICAgZXhjZXB0IEltcG9ydEVycm9yOgogICAgICAgICBwYXNzCiAKKyAgICBpbXBvcnQgcG9zaXgKKyAgICBfX2FsbF9fLmV4dGVuZChfZ2V0X2V4cG9ydHNfbGlzdChwb3NpeCkpCisgICAgZGVsIHBvc2l4CisKIGVsaWYgJ250JyBpbiBfbmFtZXM6CiAgICAgbmFtZSA9ICdudCcKICAgICBsaW5lc2VwID0gJ1xyXG4nCmRpZmYgLS1naXQgYS9MaWIvcGF0aGxpYi5weSBiL0xpYi9wYXRobGliLnB5CmluZGV4IDkxOGFjOGQuLjAxZTY2YTAgMTAwNjQ0Ci0tLSBhL0xpYi9wYXRobGliLnB5CisrKyBiL0xpYi9wYXRobGliLnB5CkBAIC0yMjUsNiArMjI1LDM2IEBACiAgICAgICAgICAgICAjIEl0J3MgYSBwYXRoIG9uIGEgbmV0d29yayBkcml2ZSA9PiAnZmlsZTovL2hvc3Qvc2hhcmUvYS9iJwogICAgICAgICAgICAgcmV0dXJuICdmaWxlOicgKyB1cmxxdW90ZV9mcm9tX2J5dGVzKHBhdGguYXNfcG9zaXgoKS5lbmNvZGUoJ3V0Zi04JykpCiAKKyAgICBkZWYgZ2V0aG9tZWRpcihzZWxmLCB1c2VybmFtZSk6CisgICAgICAgIGlmICdIT01FJyBpbiBvcy5lbnZpcm9uOgorICAgICAgICAgICAgdXNlcmhvbWUgPSBvcy5lbnZpcm9uWydIT01FJ10KKyAgICAgICAgZWxpZiAnVVNFUlBST0ZJTEUnIGluIG9zLmVudmlyb246CisgICAgICAgICAgICB1c2VyaG9tZSA9IG9zLmVudmlyb25bJ1VTRVJQUk9GSUxFJ10KKyAgICAgICAgZWxpZiAnSE9NRVBBVEgnIGluIG9zLmVudmlyb246CisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgZHJ2ID0gb3MuZW52aXJvblsnSE9NRURSSVZFJ10KKyAgICAgICAgICAgIGV4Y2VwdCBLZXlFcnJvcjoKKyAgICAgICAgICAgICAgICBkcnYgPSAnJworICAgICAgICAgICAgdXNlcmhvbWUgPSBkcnYgKyBvcy5lbnZpcm9uWydIT01FUEFUSCddCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICByYWlzZSBSdW50aW1lRXJyb3IoIkNhbid0IGRldGVybWluZSBob21lIGRpcmVjdG9yeSIpCisKKyAgICAgICAgaWYgdXNlcm5hbWU6CisgICAgICAgICAgICAjIFRyeSB0byBndWVzcyB1c2VyIGhvbWUgZGlyZWN0b3J5LiAgQnkgZGVmYXVsdCBhbGwgdXNlcnMKKyAgICAgICAgICAgICMgZGlyZWN0b3JpZXMgYXJlIGxvY2F0ZWQgaW4gdGhlIHNhbWUgcGxhY2UgYW5kIGFyZSBuYW1lZCBieQorICAgICAgICAgICAgIyBjb3JyZXNwb25kaW5nIHVzZXJuYW1lcy4gIElmIGN1cnJlbnQgdXNlciBob21lIGRpcmVjdG9yeSBwb2ludHMKKyAgICAgICAgICAgICMgdG8gbm9uc3RhbmRhcmQgcGxhY2UsIHRoaXMgZ3Vlc3MgaXMgbGlrZWx5IHdyb25nLgorICAgICAgICAgICAgaWYgb3MuZW52aXJvblsnVVNFUk5BTUUnXSAhPSB1c2VybmFtZToKKyAgICAgICAgICAgICAgICBkcnYsIHJvb3QsIHBhcnRzID0gc2VsZi5wYXJzZV9wYXJ0cygodXNlcmhvbWUsKSkKKyAgICAgICAgICAgICAgICBpZiBwYXJ0c1stMV0gIT0gb3MuZW52aXJvblsnVVNFUk5BTUUnXToKKyAgICAgICAgICAgICAgICAgICAgcmFpc2UgUnVudGltZUVycm9yKCJDYW4ndCBkZXRlcm1pbmUgaG9tZSBkaXJlY3RvcnkgIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImZvciAlciIgJSB1c2VybmFtZSkKKyAgICAgICAgICAgICAgICBwYXJ0c1stMV0gPSB1c2VybmFtZQorICAgICAgICAgICAgICAgIGlmIGRydiBvciByb290OgorICAgICAgICAgICAgICAgICAgICB1c2VyaG9tZSA9IGRydiArIHJvb3QgKyBzZWxmLmpvaW4ocGFydHNbMTpdKQorICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgIHVzZXJob21lID0gc2VsZi5qb2luKHBhcnRzKQorICAgICAgICByZXR1cm4gdXNlcmhvbWUKIAogY2xhc3MgX1Bvc2l4Rmxhdm91cihfRmxhdm91cik6CiAgICAgc2VwID0gJy8nCkBAIC0zMDgsNiArMzM4LDIxIEBACiAgICAgICAgIGJwYXRoID0gYnl0ZXMocGF0aCkKICAgICAgICAgcmV0dXJuICdmaWxlOi8vJyArIHVybHF1b3RlX2Zyb21fYnl0ZXMoYnBhdGgpCiAKKyAgICBkZWYgZ2V0aG9tZWRpcihzZWxmLCB1c2VybmFtZSk6CisgICAgICAgIGlmIG5vdCB1c2VybmFtZToKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICByZXR1cm4gb3MuZW52aXJvblsnSE9NRSddCisgICAgICAgICAgICBleGNlcHQgS2V5RXJyb3I6CisgICAgICAgICAgICAgICAgaW1wb3J0IHB3ZAorICAgICAgICAgICAgICAgIHJldHVybiBwd2QuZ2V0cHd1aWQob3MuZ2V0dWlkKCkpLnB3X2RpcgorICAgICAgICBlbHNlOgorICAgICAgICAgICAgaW1wb3J0IHB3ZAorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIHJldHVybiBwd2QuZ2V0cHduYW0odXNlcm5hbWUpLnB3X2RpcgorICAgICAgICAgICAgZXhjZXB0IEtleUVycm9yOgorICAgICAgICAgICAgICAgIHJhaXNlIFJ1bnRpbWVFcnJvcigiQ2FuJ3QgZGV0ZXJtaW5lIGhvbWUgZGlyZWN0b3J5ICIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImZvciAlciIgJSB1c2VybmFtZSkKKwogCiBfd2luZG93c19mbGF2b3VyID0gX1dpbmRvd3NGbGF2b3VyKCkKIF9wb3NpeF9mbGF2b3VyID0gX1Bvc2l4Rmxhdm91cigpCkBAIC05NjQsNiArMTAwOSwyNCBAQAogICAgICAgICAiIiIKICAgICAgICAgcmV0dXJuIGNscyhvcy5nZXRjd2QoKSkKIAorICAgIEBjbGFzc21ldGhvZAorICAgIGRlZiBob21lKGNscyk6CisgICAgICAgICIiIlJldHVybiBhIG5ldyBwYXRoIHBvaW50aW5nIHRvIHRoZSB1c2VyJ3MgaG9tZSBkaXJlY3RvcnkgKGFzCisgICAgICAgIHJldHVybmVkIGJ5IG9zLnBhdGguZXhwYW5kdXNlcignficpKS4KKyAgICAgICAgIiIiCisgICAgICAgIHJldHVybiBjbHMoY2xzKCkuX2ZsYXZvdXIuZ2V0aG9tZWRpcihOb25lKSkKKworICAgIGRlZiBzYW1lZmlsZShzZWxmLCBvdGhlcl9wYXRoKToKKyAgICAgICAgIiIiUmV0dXJuIHdoZXRoZXIgYG90aGVyX2ZpbGVgIGlzIHRoZSBzYW1lIG9yIG5vdCBhcyB0aGlzIGZpbGUuCisgICAgICAgIChhcyByZXR1cm5lZCBieSBvcy5wYXRoLnNhbWVmaWxlKGZpbGUsIG90aGVyX2ZpbGUpKS4KKyAgICAgICAgIiIiCisgICAgICAgIHN0ID0gc2VsZi5zdGF0KCkKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgb3RoZXJfc3QgPSBvdGhlcl9wYXRoLnN0YXQoKQorICAgICAgICBleGNlcHQgQXR0cmlidXRlRXJyb3I6CisgICAgICAgICAgICBvdGhlcl9zdCA9IG9zLnN0YXQob3RoZXJfcGF0aCkKKyAgICAgICAgcmV0dXJuIG9zLnBhdGguc2FtZXN0YXQoc3QsIG90aGVyX3N0KQorCiAgICAgZGVmIGl0ZXJkaXIoc2VsZik6CiAgICAgICAgICIiIkl0ZXJhdGUgb3ZlciB0aGUgZmlsZXMgaW4gdGhpcyBkaXJlY3RvcnkuICBEb2VzIG5vdCB5aWVsZCBhbnkKICAgICAgICAgcmVzdWx0IGZvciB0aGUgc3BlY2lhbCBwYXRocyAnLicgYW5kICcuLicuCkBAIC0xMDcyLDYgKzExMzUsMzkgQEAKICAgICAgICAgcmV0dXJuIGlvLm9wZW4oc3RyKHNlbGYpLCBtb2RlLCBidWZmZXJpbmcsIGVuY29kaW5nLCBlcnJvcnMsIG5ld2xpbmUsCiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5lcj1zZWxmLl9vcGVuZXIpCiAKKyAgICBkZWYgcmVhZF9ieXRlcyhzZWxmKToKKyAgICAgICAgIiIiCisgICAgICAgIE9wZW4gdGhlIGZpbGUgaW4gYnl0ZXMgbW9kZSwgcmVhZCBpdCwgYW5kIGNsb3NlIHRoZSBmaWxlLgorICAgICAgICAiIiIKKyAgICAgICAgd2l0aCBzZWxmLm9wZW4obW9kZT0ncmInKSBhcyBmOgorICAgICAgICAgICAgcmV0dXJuIGYucmVhZCgpCisKKyAgICBkZWYgcmVhZF90ZXh0KHNlbGYsIGVuY29kaW5nPU5vbmUsIGVycm9ycz1Ob25lKToKKyAgICAgICAgIiIiCisgICAgICAgIE9wZW4gdGhlIGZpbGUgaW4gdGV4dCBtb2RlLCByZWFkIGl0LCBhbmQgY2xvc2UgdGhlIGZpbGUuCisgICAgICAgICIiIgorICAgICAgICB3aXRoIHNlbGYub3Blbihtb2RlPSdyJywgZW5jb2Rpbmc9ZW5jb2RpbmcsIGVycm9ycz1lcnJvcnMpIGFzIGY6CisgICAgICAgICAgICByZXR1cm4gZi5yZWFkKCkKKworICAgIGRlZiB3cml0ZV9ieXRlcyhzZWxmLCBkYXRhKToKKyAgICAgICAgIiIiCisgICAgICAgIE9wZW4gdGhlIGZpbGUgaW4gYnl0ZXMgbW9kZSwgd3JpdGUgdG8gaXQsIGFuZCBjbG9zZSB0aGUgZmlsZS4KKyAgICAgICAgIiIiCisgICAgICAgICMgdHlwZS1jaGVjayBmb3IgdGhlIGJ1ZmZlciBpbnRlcmZhY2UgYmVmb3JlIHRydW5jYXRpbmcgdGhlIGZpbGUKKyAgICAgICAgdmlldyA9IG1lbW9yeXZpZXcoZGF0YSkKKyAgICAgICAgd2l0aCBzZWxmLm9wZW4obW9kZT0nd2InKSBhcyBmOgorICAgICAgICAgICAgcmV0dXJuIGYud3JpdGUodmlldykKKworICAgIGRlZiB3cml0ZV90ZXh0KHNlbGYsIGRhdGEsIGVuY29kaW5nPU5vbmUsIGVycm9ycz1Ob25lKToKKyAgICAgICAgIiIiCisgICAgICAgIE9wZW4gdGhlIGZpbGUgaW4gdGV4dCBtb2RlLCB3cml0ZSB0byBpdCwgYW5kIGNsb3NlIHRoZSBmaWxlLgorICAgICAgICAiIiIKKyAgICAgICAgaWYgbm90IGlzaW5zdGFuY2UoZGF0YSwgc3RyKToKKyAgICAgICAgICAgIHJhaXNlIFR5cGVFcnJvcignZGF0YSBtdXN0IGJlIHN0ciwgbm90ICVzJyAlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS5fX2NsYXNzX18uX19uYW1lX18pCisgICAgICAgIHdpdGggc2VsZi5vcGVuKG1vZGU9J3cnLCBlbmNvZGluZz1lbmNvZGluZywgZXJyb3JzPWVycm9ycykgYXMgZjoKKyAgICAgICAgICAgIHJldHVybiBmLndyaXRlKGRhdGEpCisKICAgICBkZWYgdG91Y2goc2VsZiwgbW9kZT0wbzY2NiwgZXhpc3Rfb2s9VHJ1ZSk6CiAgICAgICAgICIiIgogICAgICAgICBDcmVhdGUgdGhpcyBmaWxlIHdpdGggdGhlIGdpdmVuIGFjY2VzcyBtb2RlLCBpZiBpdCBkb2Vzbid0IGV4aXN0LgpAQCAtMTA5NSwxNCArMTE5MSwyMSBAQAogICAgICAgICBmZCA9IHNlbGYuX3Jhd19vcGVuKGZsYWdzLCBtb2RlKQogICAgICAgICBvcy5jbG9zZShmZCkKIAotICAgIGRlZiBta2RpcihzZWxmLCBtb2RlPTBvNzc3LCBwYXJlbnRzPUZhbHNlKToKKyAgICBkZWYgbWtkaXIoc2VsZiwgbW9kZT0wbzc3NywgcGFyZW50cz1GYWxzZSwgZXhpc3Rfb2s9RmFsc2UpOgogICAgICAgICBpZiBzZWxmLl9jbG9zZWQ6CiAgICAgICAgICAgICBzZWxmLl9yYWlzZV9jbG9zZWQoKQogICAgICAgICBpZiBub3QgcGFyZW50czoKLSAgICAgICAgICAgIHNlbGYuX2FjY2Vzc29yLm1rZGlyKHNlbGYsIG1vZGUpCisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgc2VsZi5fYWNjZXNzb3IubWtkaXIoc2VsZiwgbW9kZSkKKyAgICAgICAgICAgIGV4Y2VwdCBGaWxlRXhpc3RzRXJyb3I6CisgICAgICAgICAgICAgICAgaWYgbm90IGV4aXN0X29rIG9yIG5vdCBzZWxmLmlzX2RpcigpOgorICAgICAgICAgICAgICAgICAgICByYWlzZQogICAgICAgICBlbHNlOgogICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgIHNlbGYuX2FjY2Vzc29yLm1rZGlyKHNlbGYsIG1vZGUpCisgICAgICAgICAgICBleGNlcHQgRmlsZUV4aXN0c0Vycm9yOgorICAgICAgICAgICAgICAgIGlmIG5vdCBleGlzdF9vayBvciBub3Qgc2VsZi5pc19kaXIoKToKKyAgICAgICAgICAgICAgICAgICAgcmFpc2UKICAgICAgICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGU6CiAgICAgICAgICAgICAgICAgaWYgZS5lcnJubyAhPSBFTk9FTlQ6CiAgICAgICAgICAgICAgICAgICAgIHJhaXNlCkBAIC0xMjgzLDYgKzEzODYsMTcgQEAKICAgICAgICAgICAgICMgKHNlZSBodHRwczovL2JpdGJ1Y2tldC5vcmcvcGl0cm91L3BhdGhsaWIvaXNzdWUvMTIvKQogICAgICAgICAgICAgcmV0dXJuIEZhbHNlCiAKKyAgICBkZWYgZXhwYW5kdXNlcihzZWxmKToKKyAgICAgICAgIiIiIFJldHVybiBhIG5ldyBwYXRoIHdpdGggZXhwYW5kZWQgfiBhbmQgfnVzZXIgY29uc3RydWN0cworICAgICAgICAoYXMgcmV0dXJuZWQgYnkgb3MucGF0aC5leHBhbmR1c2VyKQorICAgICAgICAiIiIKKyAgICAgICAgaWYgKG5vdCAoc2VsZi5fZHJ2IG9yIHNlbGYuX3Jvb3QpIGFuZAorICAgICAgICAgICAgc2VsZi5fcGFydHMgYW5kIHNlbGYuX3BhcnRzWzBdWzoxXSA9PSAnficpOgorICAgICAgICAgICAgaG9tZWRpciA9IHNlbGYuX2ZsYXZvdXIuZ2V0aG9tZWRpcihzZWxmLl9wYXJ0c1swXVsxOl0pCisgICAgICAgICAgICByZXR1cm4gc2VsZi5fZnJvbV9wYXJ0cyhbaG9tZWRpcl0gKyBzZWxmLl9wYXJ0c1sxOl0pCisKKyAgICAgICAgcmV0dXJuIHNlbGYKKwogCiBjbGFzcyBQb3NpeFBhdGgoUGF0aCwgUHVyZVBvc2l4UGF0aCk6CiAgICAgX19zbG90c19fID0gKCkKZGlmZiAtLWdpdCBhL0xpYi9wZGIucHkgYi9MaWIvcGRiLnB5CmluZGV4IGUyODU2NGIuLmNmMmVkYmYgMTAwNzU1Ci0tLSBhL0xpYi9wZGIucHkKKysrIGIvTGliL3BkYi5weQpAQCAtMTMxNiw3ICsxMzE2LDcgQEAKICAgICAgICAgICAgIHJldHVybgogICAgICAgICAjIElzIGl0IGEgY2xhc3M/CiAgICAgICAgIGlmIHZhbHVlLl9fY2xhc3NfXyBpcyB0eXBlOgotICAgICAgICAgICAgc2VsZi5tZXNzYWdlKCdDbGFzcyAlcy4lcycgJSAodmFsdWUuX19tb2R1bGVfXywgdmFsdWUuX19uYW1lX18pKQorICAgICAgICAgICAgc2VsZi5tZXNzYWdlKCdDbGFzcyAlcy4lcycgJSAodmFsdWUuX19tb2R1bGVfXywgdmFsdWUuX19xdWFsbmFtZV9fKSkKICAgICAgICAgICAgIHJldHVybgogICAgICAgICAjIE5vbmUgb2YgdGhlIGFib3ZlLi4uCiAgICAgICAgIHNlbGYubWVzc2FnZSh0eXBlKHZhbHVlKSkKZGlmZiAtLWdpdCBhL0xpYi9wa2d1dGlsLnB5IGIvTGliL3BrZ3V0aWwucHkKaW5kZXggYTU0ZTk0Ny4uZmM0YTA3NCAxMDA2NDQKLS0tIGEvTGliL3BrZ3V0aWwucHkKKysrIGIvTGliL3BrZ3V0aWwucHkKQEAgLTYxNiw3ICs2MTYsNyBAQAogICAgICAgICByZXR1cm4gTm9uZQogICAgICMgWFhYIG5lZWRzIHRlc3QKICAgICBtb2QgPSAoc3lzLm1vZHVsZXMuZ2V0KHBhY2thZ2UpIG9yCi0gICAgICAgICAgIGltcG9ydGxpYi5fYm9vdHN0cmFwLl9TcGVjTWV0aG9kcyhzcGVjKS5sb2FkKCkpCisgICAgICAgICAgIGltcG9ydGxpYi5fYm9vdHN0cmFwLl9sb2FkKHNwZWMpKQogICAgIGlmIG1vZCBpcyBOb25lIG9yIG5vdCBoYXNhdHRyKG1vZCwgJ19fZmlsZV9fJyk6CiAgICAgICAgIHJldHVybiBOb25lCiAKZGlmZiAtLWdpdCBhL0xpYi9wb3NpeHBhdGgucHkgYi9MaWIvcG9zaXhwYXRoLnB5CmluZGV4IDBhYTUzZmUuLjQ0ZWQ4MzggMTAwNjQ0Ci0tLSBhL0xpYi9wb3NpeHBhdGgucHkKKysrIGIvTGliL3Bvc2l4cGF0aC5weQpAQCAtODIsMTEgKzgyLDggQEAKICAgICAgICAgICAgICAgICBwYXRoICs9IGIKICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgcGF0aCArPSBzZXAgKyBiCi0gICAgZXhjZXB0IFR5cGVFcnJvcjoKLSAgICAgICAgaWYgYWxsKGlzaW5zdGFuY2UocywgKHN0ciwgYnl0ZXMpKSBmb3IgcyBpbiAoYSwpICsgcCk6Ci0gICAgICAgICAgICAjIE11c3QgaGF2ZSBhIG1peHR1cmUgb2YgdGV4dCBhbmQgYmluYXJ5IGRhdGEKLSAgICAgICAgICAgIHJhaXNlIFR5cGVFcnJvcigiQ2FuJ3QgbWl4IHN0cmluZ3MgYW5kIGJ5dGVzIGluIHBhdGggIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjb21wb25lbnRzIikgZnJvbSBOb25lCisgICAgZXhjZXB0IChUeXBlRXJyb3IsIEF0dHJpYnV0ZUVycm9yLCBCeXRlc1dhcm5pbmcpOgorICAgICAgICBnZW5lcmljcGF0aC5fY2hlY2tfYXJnX3R5cGVzKCdqb2luJywgYSwgKnApCiAgICAgICAgIHJhaXNlCiAgICAgcmV0dXJuIHBhdGgKIApAQCAtNDQ1LDEzICs0NDIsMTYgQEAKICAgICBpZiBzdGFydCBpcyBOb25lOgogICAgICAgICBzdGFydCA9IGN1cmRpcgogCi0gICAgc3RhcnRfbGlzdCA9IFt4IGZvciB4IGluIGFic3BhdGgoc3RhcnQpLnNwbGl0KHNlcCkgaWYgeF0KLSAgICBwYXRoX2xpc3QgPSBbeCBmb3IgeCBpbiBhYnNwYXRoKHBhdGgpLnNwbGl0KHNlcCkgaWYgeF0KKyAgICB0cnk6CisgICAgICAgIHN0YXJ0X2xpc3QgPSBbeCBmb3IgeCBpbiBhYnNwYXRoKHN0YXJ0KS5zcGxpdChzZXApIGlmIHhdCisgICAgICAgIHBhdGhfbGlzdCA9IFt4IGZvciB4IGluIGFic3BhdGgocGF0aCkuc3BsaXQoc2VwKSBpZiB4XQorICAgICAgICAjIFdvcmsgb3V0IGhvdyBtdWNoIG9mIHRoZSBmaWxlcGF0aCBpcyBzaGFyZWQgYnkgc3RhcnQgYW5kIHBhdGguCisgICAgICAgIGkgPSBsZW4oY29tbW9ucHJlZml4KFtzdGFydF9saXN0LCBwYXRoX2xpc3RdKSkKIAotICAgICMgV29yayBvdXQgaG93IG11Y2ggb2YgdGhlIGZpbGVwYXRoIGlzIHNoYXJlZCBieSBzdGFydCBhbmQgcGF0aC4KLSAgICBpID0gbGVuKGNvbW1vbnByZWZpeChbc3RhcnRfbGlzdCwgcGF0aF9saXN0XSkpCi0KLSAgICByZWxfbGlzdCA9IFtwYXJkaXJdICogKGxlbihzdGFydF9saXN0KS1pKSArIHBhdGhfbGlzdFtpOl0KLSAgICBpZiBub3QgcmVsX2xpc3Q6Ci0gICAgICAgIHJldHVybiBjdXJkaXIKLSAgICByZXR1cm4gam9pbigqcmVsX2xpc3QpCisgICAgICAgIHJlbF9saXN0ID0gW3BhcmRpcl0gKiAobGVuKHN0YXJ0X2xpc3QpLWkpICsgcGF0aF9saXN0W2k6XQorICAgICAgICBpZiBub3QgcmVsX2xpc3Q6CisgICAgICAgICAgICByZXR1cm4gY3VyZGlyCisgICAgICAgIHJldHVybiBqb2luKCpyZWxfbGlzdCkKKyAgICBleGNlcHQgKFR5cGVFcnJvciwgQXR0cmlidXRlRXJyb3IsIEJ5dGVzV2FybmluZywgRGVwcmVjYXRpb25XYXJuaW5nKToKKyAgICAgICAgZ2VuZXJpY3BhdGguX2NoZWNrX2FyZ190eXBlcygncmVscGF0aCcsIHBhdGgsIHN0YXJ0KQorICAgICAgICByYWlzZQpkaWZmIC0tZ2l0IGEvTGliL3BwcmludC5weSBiL0xpYi9wcHJpbnQucHkKaW5kZXggMmNiZmZlZC4uMDA5MWU2OSAxMDA2NDQKLS0tIGEvTGliL3BwcmludC5weQorKysgYi9MaWIvcHByaW50LnB5CkBAIC0xNjEsNyArMTYxLDcgQEAKICAgICAgICAgICAgIHJldHVybgogICAgICAgICByZXAgPSBzZWxmLl9yZXByKG9iamVjdCwgY29udGV4dCwgbGV2ZWwgLSAxKQogICAgICAgICB0eXAgPSB0eXBlKG9iamVjdCkKLSAgICAgICAgbWF4X3dpZHRoID0gc2VsZi5fd2lkdGggLSAxIC0gaW5kZW50IC0gYWxsb3dhbmNlCisgICAgICAgIG1heF93aWR0aCA9IHNlbGYuX3dpZHRoIC0gaW5kZW50IC0gYWxsb3dhbmNlCiAgICAgICAgIHNlcExpbmVzID0gbGVuKHJlcCkgPiBtYXhfd2lkdGgKICAgICAgICAgd3JpdGUgPSBzdHJlYW0ud3JpdGUKIApAQCAtMTc0LDI0ICsxNzQsMTQgQEAKICAgICAgICAgICAgICAgICBsZW5ndGggPSBsZW4ob2JqZWN0KQogICAgICAgICAgICAgICAgIGlmIGxlbmd0aDoKICAgICAgICAgICAgICAgICAgICAgY29udGV4dFtvYmppZF0gPSAxCi0gICAgICAgICAgICAgICAgICAgIGluZGVudCA9IGluZGVudCArIHNlbGYuX2luZGVudF9wZXJfbGV2ZWwKICAgICAgICAgICAgICAgICAgICAgaWYgaXNzdWJjbGFzcyh0eXAsIF9PcmRlcmVkRGljdCk6CiAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGxpc3Qob2JqZWN0Lml0ZW1zKCkpCiAgICAgICAgICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IHNvcnRlZChvYmplY3QuaXRlbXMoKSwga2V5PV9zYWZlX3R1cGxlKQotICAgICAgICAgICAgICAgICAgICBrZXksIGVudCA9IGl0ZW1zWzBdCi0gICAgICAgICAgICAgICAgICAgIHJlcCA9IHNlbGYuX3JlcHIoa2V5LCBjb250ZXh0LCBsZXZlbCkKLSAgICAgICAgICAgICAgICAgICAgd3JpdGUocmVwKQotICAgICAgICAgICAgICAgICAgICB3cml0ZSgnOiAnKQotICAgICAgICAgICAgICAgICAgICBzZWxmLl9mb3JtYXQoZW50LCBzdHJlYW0sIGluZGVudCArIGxlbihyZXApICsgMiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGxvd2FuY2UgKyAxLCBjb250ZXh0LCBsZXZlbCkKLSAgICAgICAgICAgICAgICAgICAgaWYgbGVuZ3RoID4gMToKLSAgICAgICAgICAgICAgICAgICAgICAgIGZvciBrZXksIGVudCBpbiBpdGVtc1sxOl06Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVwID0gc2VsZi5fcmVwcihrZXksIGNvbnRleHQsIGxldmVsKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdyaXRlKCcsXG4lcyVzOiAnICUgKCcgJyppbmRlbnQsIHJlcCkpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fZm9ybWF0KGVudCwgc3RyZWFtLCBpbmRlbnQgKyBsZW4ocmVwKSArIDIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGxvd2FuY2UgKyAxLCBjb250ZXh0LCBsZXZlbCkKLSAgICAgICAgICAgICAgICAgICAgaW5kZW50ID0gaW5kZW50IC0gc2VsZi5faW5kZW50X3Blcl9sZXZlbAorICAgICAgICAgICAgICAgICAgICBzZWxmLl9mb3JtYXRfZGljdF9pdGVtcyhpdGVtcywgc3RyZWFtLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmRlbnQgKyBzZWxmLl9pbmRlbnRfcGVyX2xldmVsLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGxvd2FuY2UgKyAxLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0LCBsZXZlbCkKICAgICAgICAgICAgICAgICAgICAgZGVsIGNvbnRleHRbb2JqaWRdCiAgICAgICAgICAgICAgICAgd3JpdGUoJ30nKQogICAgICAgICAgICAgICAgIHJldHVybgpAQCAtMjA3LDcgKzE5NywxMCBAQAogICAgICAgICAgICAgICAgICAgICBlbmRjaGFyID0gJ10nCiAgICAgICAgICAgICAgICAgZWxpZiBpc3N1YmNsYXNzKHR5cCwgdHVwbGUpOgogICAgICAgICAgICAgICAgICAgICB3cml0ZSgnKCcpCi0gICAgICAgICAgICAgICAgICAgIGVuZGNoYXIgPSAnKScKKyAgICAgICAgICAgICAgICAgICAgaWYgbGVuZ3RoID09IDE6CisgICAgICAgICAgICAgICAgICAgICAgICBlbmRjaGFyID0gJywpJworICAgICAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICAgICAgZW5kY2hhciA9ICcpJwogICAgICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgICAgIGlmIG5vdCBsZW5ndGg6CiAgICAgICAgICAgICAgICAgICAgICAgICB3cml0ZShyZXApCkBAIC0yMjcsMTAgKzIyMCw5IEBACiAgICAgICAgICAgICAgICAgICAgIGNvbnRleHRbb2JqaWRdID0gMQogICAgICAgICAgICAgICAgICAgICBzZWxmLl9mb3JtYXRfaXRlbXMob2JqZWN0LCBzdHJlYW0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmRlbnQgKyBzZWxmLl9pbmRlbnRfcGVyX2xldmVsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxsb3dhbmNlICsgMSwgY29udGV4dCwgbGV2ZWwpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGxvd2FuY2UgKyBsZW4oZW5kY2hhciksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0LCBsZXZlbCkKICAgICAgICAgICAgICAgICAgICAgZGVsIGNvbnRleHRbb2JqaWRdCi0gICAgICAgICAgICAgICAgaWYgaXNzdWJjbGFzcyh0eXAsIHR1cGxlKSBhbmQgbGVuZ3RoID09IDE6Ci0gICAgICAgICAgICAgICAgICAgIHdyaXRlKCcsJykKICAgICAgICAgICAgICAgICB3cml0ZShlbmRjaGFyKQogICAgICAgICAgICAgICAgIHJldHVybgogCkBAIC0yMzksMTkgKzIzMSwyNyBAQAogICAgICAgICAgICAgICAgIGxpbmVzID0gb2JqZWN0LnNwbGl0bGluZXMoVHJ1ZSkKICAgICAgICAgICAgICAgICBpZiBsZXZlbCA9PSAxOgogICAgICAgICAgICAgICAgICAgICBpbmRlbnQgKz0gMQotICAgICAgICAgICAgICAgICAgICBtYXhfd2lkdGggLT0gMgorICAgICAgICAgICAgICAgICAgICBhbGxvd2FuY2UgKz0gMQorICAgICAgICAgICAgICAgIG1heF93aWR0aDEgPSBtYXhfd2lkdGggPSBzZWxmLl93aWR0aCAtIGluZGVudAogICAgICAgICAgICAgICAgIGZvciBpLCBsaW5lIGluIGVudW1lcmF0ZShsaW5lcyk6CiAgICAgICAgICAgICAgICAgICAgIHJlcCA9IHJlcHIobGluZSkKLSAgICAgICAgICAgICAgICAgICAgaWYgbGVuKHJlcCkgPD0gbWF4X3dpZHRoOgorICAgICAgICAgICAgICAgICAgICBpZiBpID09IGxlbihsaW5lcykgLSAxOgorICAgICAgICAgICAgICAgICAgICAgICAgbWF4X3dpZHRoMSAtPSBhbGxvd2FuY2UKKyAgICAgICAgICAgICAgICAgICAgaWYgbGVuKHJlcCkgPD0gbWF4X3dpZHRoMToKICAgICAgICAgICAgICAgICAgICAgICAgIGNodW5rcy5hcHBlbmQocmVwKQogICAgICAgICAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgICAgICAgICAgIyBBIGxpc3Qgb2YgYWx0ZXJuYXRpbmcgKG5vbi1zcGFjZSwgc3BhY2UpIHN0cmluZ3MKLSAgICAgICAgICAgICAgICAgICAgICAgIHBhcnRzID0gcmUuc3BsaXQocicoXHMrKScsIGxpbmUpICsgWycnXQorICAgICAgICAgICAgICAgICAgICAgICAgcGFydHMgPSByZS5maW5kYWxsKHInXFMqXHMqJywgbGluZSkKKyAgICAgICAgICAgICAgICAgICAgICAgIGFzc2VydCBwYXJ0cworICAgICAgICAgICAgICAgICAgICAgICAgYXNzZXJ0IG5vdCBwYXJ0c1stMV0KKyAgICAgICAgICAgICAgICAgICAgICAgIHBhcnRzLnBvcCgpICAjIGRyb3AgZW1wdHkgbGFzdCBwYXJ0CisgICAgICAgICAgICAgICAgICAgICAgICBtYXhfd2lkdGgyID0gbWF4X3dpZHRoCiAgICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50ID0gJycKLSAgICAgICAgICAgICAgICAgICAgICAgIGZvciBpIGluIHJhbmdlKDAsIGxlbihwYXJ0cyksIDIpOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcnQgPSBwYXJ0c1tpXSArIHBhcnRzW2krMV0KKyAgICAgICAgICAgICAgICAgICAgICAgIGZvciBqLCBwYXJ0IGluIGVudW1lcmF0ZShwYXJ0cyk6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FuZGlkYXRlID0gY3VycmVudCArIHBhcnQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiBsZW4ocmVwcihjYW5kaWRhdGUpKSA+IG1heF93aWR0aDoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiBqID09IGxlbihwYXJ0cykgLSAxIGFuZCBpID09IGxlbihsaW5lcykgLSAxOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXhfd2lkdGgyIC09IGFsbG93YW5jZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIGxlbihyZXByKGNhbmRpZGF0ZSkpID4gbWF4X3dpZHRoMjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgY3VycmVudDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNodW5rcy5hcHBlbmQocmVwcihjdXJyZW50KSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudCA9IHBhcnQKQEAgLTI3MywxMiArMjczLDQxIEBACiAgICAgICAgICAgICAgICAgcmV0dXJuCiAgICAgICAgIHdyaXRlKHJlcCkKIAorICAgIGRlZiBfZm9ybWF0X2RpY3RfaXRlbXMoc2VsZiwgaXRlbXMsIHN0cmVhbSwgaW5kZW50LCBhbGxvd2FuY2UsIGNvbnRleHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXZlbCk6CisgICAgICAgIHdyaXRlID0gc3RyZWFtLndyaXRlCisgICAgICAgIGRlbGltbmwgPSAnLFxuJyArICcgJyAqIGluZGVudAorICAgICAgICBsYXN0X2luZGV4ID0gbGVuKGl0ZW1zKSAtIDEKKyAgICAgICAgZm9yIGksIChrZXksIGVudCkgaW4gZW51bWVyYXRlKGl0ZW1zKToKKyAgICAgICAgICAgIGxhc3QgPSBpID09IGxhc3RfaW5kZXgKKyAgICAgICAgICAgIHJlcCA9IHNlbGYuX3JlcHIoa2V5LCBjb250ZXh0LCBsZXZlbCkKKyAgICAgICAgICAgIHdyaXRlKHJlcCkKKyAgICAgICAgICAgIHdyaXRlKCc6ICcpCisgICAgICAgICAgICBzZWxmLl9mb3JtYXQoZW50LCBzdHJlYW0sIGluZGVudCArIGxlbihyZXApICsgMiwKKyAgICAgICAgICAgICAgICAgICAgICAgICBhbGxvd2FuY2UgaWYgbGFzdCBlbHNlIDEsCisgICAgICAgICAgICAgICAgICAgICAgICAgY29udGV4dCwgbGV2ZWwpCisgICAgICAgICAgICBpZiBub3QgbGFzdDoKKyAgICAgICAgICAgICAgICB3cml0ZShkZWxpbW5sKQorCiAgICAgZGVmIF9mb3JtYXRfaXRlbXMoc2VsZiwgaXRlbXMsIHN0cmVhbSwgaW5kZW50LCBhbGxvd2FuY2UsIGNvbnRleHQsIGxldmVsKToKICAgICAgICAgd3JpdGUgPSBzdHJlYW0ud3JpdGUKICAgICAgICAgZGVsaW1ubCA9ICcsXG4nICsgJyAnICogaW5kZW50CiAgICAgICAgIGRlbGltID0gJycKLSAgICAgICAgd2lkdGggPSBtYXhfd2lkdGggPSBzZWxmLl93aWR0aCAtIGluZGVudCAtIGFsbG93YW5jZSArIDIKLSAgICAgICAgZm9yIGVudCBpbiBpdGVtczoKKyAgICAgICAgd2lkdGggPSBtYXhfd2lkdGggPSBzZWxmLl93aWR0aCAtIGluZGVudCArIDEKKyAgICAgICAgaXQgPSBpdGVyKGl0ZW1zKQorICAgICAgICB0cnk6CisgICAgICAgICAgICBuZXh0X2VudCA9IG5leHQoaXQpCisgICAgICAgIGV4Y2VwdCBTdG9wSXRlcmF0aW9uOgorICAgICAgICAgICAgcmV0dXJuCisgICAgICAgIGxhc3QgPSBGYWxzZQorICAgICAgICB3aGlsZSBub3QgbGFzdDoKKyAgICAgICAgICAgIGVudCA9IG5leHRfZW50CisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgbmV4dF9lbnQgPSBuZXh0KGl0KQorICAgICAgICAgICAgZXhjZXB0IFN0b3BJdGVyYXRpb246CisgICAgICAgICAgICAgICAgbGFzdCA9IFRydWUKKyAgICAgICAgICAgICAgICBtYXhfd2lkdGggLT0gYWxsb3dhbmNlCisgICAgICAgICAgICAgICAgd2lkdGggLT0gYWxsb3dhbmNlCiAgICAgICAgICAgICBpZiBzZWxmLl9jb21wYWN0OgogICAgICAgICAgICAgICAgIHJlcCA9IHNlbGYuX3JlcHIoZW50LCBjb250ZXh0LCBsZXZlbCkKICAgICAgICAgICAgICAgICB3ID0gbGVuKHJlcCkgKyAyCkBAIC0yOTQsNyArMzIzLDkgQEAKICAgICAgICAgICAgICAgICAgICAgY29udGludWUKICAgICAgICAgICAgIHdyaXRlKGRlbGltKQogICAgICAgICAgICAgZGVsaW0gPSBkZWxpbW5sCi0gICAgICAgICAgICBzZWxmLl9mb3JtYXQoZW50LCBzdHJlYW0sIGluZGVudCwgYWxsb3dhbmNlLCBjb250ZXh0LCBsZXZlbCkKKyAgICAgICAgICAgIHNlbGYuX2Zvcm1hdChlbnQsIHN0cmVhbSwgaW5kZW50LAorICAgICAgICAgICAgICAgICAgICAgICAgIGFsbG93YW5jZSBpZiBsYXN0IGVsc2UgMSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0LCBsZXZlbCkKIAogICAgIGRlZiBfcmVwcihzZWxmLCBvYmplY3QsIGNvbnRleHQsIGxldmVsKToKICAgICAgICAgcmVwciwgcmVhZGFibGUsIHJlY3Vyc2l2ZSA9IHNlbGYuZm9ybWF0KG9iamVjdCwgY29udGV4dC5jb3B5KCksCmRpZmYgLS1naXQgYS9MaWIvcHlkb2MucHkgYi9MaWIvcHlkb2MucHkKaW5kZXggOGJiZWJjOS4uYzkyYjMyNCAxMDA3NTUKLS0tIGEvTGliL3B5ZG9jLnB5CisrKyBiL0xpYi9weWRvYy5weQpAQCAtMjY0LDkgKzI2NCw4IEBACiAgICAgICAgICAgICAjIFhYWCBXZSBwcm9iYWJseSBkb24ndCBuZWVkIHRvIHBhc3MgaW4gdGhlIGxvYWRlciBoZXJlLgogICAgICAgICAgICAgc3BlYyA9IGltcG9ydGxpYi51dGlsLnNwZWNfZnJvbV9maWxlX2xvY2F0aW9uKCdfX3RlbXBfXycsIGZpbGVuYW1lLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvYWRlcj1sb2FkZXIpCi0gICAgICAgICAgICBfc3BlYyA9IGltcG9ydGxpYi5fYm9vdHN0cmFwLl9TcGVjTWV0aG9kcyhzcGVjKQogICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgIG1vZHVsZSA9IF9zcGVjLmxvYWQoKQorICAgICAgICAgICAgICAgIG1vZHVsZSA9IGltcG9ydGxpYi5fYm9vdHN0cmFwLl9sb2FkKHNwZWMpCiAgICAgICAgICAgICBleGNlcHQ6CiAgICAgICAgICAgICAgICAgcmV0dXJuIE5vbmUKICAgICAgICAgICAgIGRlbCBzeXMubW9kdWxlc1snX190ZW1wX18nXQpAQCAtMjk4LDkgKzI5Nyw4IEBACiAgICAgICAgIGxvYWRlciA9IGltcG9ydGxpYi5fYm9vdHN0cmFwLlNvdXJjZUZpbGVMb2FkZXIobmFtZSwgcGF0aCkKICAgICAjIFhYWCBXZSBwcm9iYWJseSBkb24ndCBuZWVkIHRvIHBhc3MgaW4gdGhlIGxvYWRlciBoZXJlLgogICAgIHNwZWMgPSBpbXBvcnRsaWIudXRpbC5zcGVjX2Zyb21fZmlsZV9sb2NhdGlvbihuYW1lLCBwYXRoLCBsb2FkZXI9bG9hZGVyKQotICAgIF9zcGVjID0gaW1wb3J0bGliLl9ib290c3RyYXAuX1NwZWNNZXRob2RzKHNwZWMpCiAgICAgdHJ5OgotICAgICAgICByZXR1cm4gX3NwZWMubG9hZCgpCisgICAgICAgIHJldHVybiBpbXBvcnRsaWIuX2Jvb3RzdHJhcC5fbG9hZChzcGVjKQogICAgIGV4Y2VwdDoKICAgICAgICAgcmFpc2UgRXJyb3JEdXJpbmdJbXBvcnQocGF0aCwgc3lzLmV4Y19pbmZvKCkpCiAKQEAgLTE1NzksNyArMTU3NywxMCBAQAogICAgIGlmIGlzaW5zdGFuY2UodGhpbmcsIHN0cik6CiAgICAgICAgIG9iamVjdCA9IGxvY2F0ZSh0aGluZywgZm9yY2Vsb2FkKQogICAgICAgICBpZiBub3Qgb2JqZWN0OgotICAgICAgICAgICAgcmFpc2UgSW1wb3J0RXJyb3IoJ25vIFB5dGhvbiBkb2N1bWVudGF0aW9uIGZvdW5kIGZvciAlcicgJSB0aGluZykKKyAgICAgICAgICAgIHJhaXNlIEltcG9ydEVycm9yKCcnJ1wKK05vIFB5dGhvbiBkb2N1bWVudGF0aW9uIGZvdW5kIGZvciAlci4KK1VzZSBoZWxwKCkgdG8gZ2V0IHRoZSBpbnRlcmFjdGl2ZSBoZWxwIHV0aWxpdHkuCitVc2UgaGVscChzdHIpIGZvciBoZWxwIG9uIHRoZSBzdHIgY2xhc3MuJycnICUgdGhpbmcpCiAgICAgICAgIHJldHVybiBvYmplY3QsIHRoaW5nCiAgICAgZWxzZToKICAgICAgICAgbmFtZSA9IGdldGF0dHIodGhpbmcsICdfX25hbWVfXycsIE5vbmUpCkBAIC0xODIzLDcgKzE4MjQsOCBAQAogICAgICAgICBpZiBpbnNwZWN0LnN0YWNrKClbMV1bM10gPT0gJz8nOgogICAgICAgICAgICAgc2VsZigpCiAgICAgICAgICAgICByZXR1cm4gJycKLSAgICAgICAgcmV0dXJuICc8cHlkb2MuSGVscGVyIGluc3RhbmNlPicKKyAgICAgICAgcmV0dXJuICc8JXMuJXMgaW5zdGFuY2U+JyAlIChzZWxmLl9fY2xhc3NfXy5fX21vZHVsZV9fLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX19jbGFzc19fLl9fcXVhbG5hbWVfXykKIAogICAgIF9Hb0ludGVyYWN0aXZlID0gb2JqZWN0KCkKICAgICBkZWYgX19jYWxsX18oc2VsZiwgcmVxdWVzdD1fR29JbnRlcmFjdGl2ZSk6CkBAIC0xODQ5LDcgKzE4NTEsMTAgQEAKICAgICAgICAgICAgICAgICBicmVhawogICAgICAgICAgICAgcmVxdWVzdCA9IHJlcGxhY2UocmVxdWVzdCwgJyInLCAnJywgIiciLCAnJykuc3RyaXAoKQogICAgICAgICAgICAgaWYgcmVxdWVzdC5sb3dlcigpIGluICgncScsICdxdWl0Jyk6IGJyZWFrCi0gICAgICAgICAgICBzZWxmLmhlbHAocmVxdWVzdCkKKyAgICAgICAgICAgIGlmIHJlcXVlc3QgPT0gJ2hlbHAnOgorICAgICAgICAgICAgICAgIHNlbGYuaW50cm8oKQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBzZWxmLmhlbHAocmVxdWVzdCkKIAogICAgIGRlZiBnZXRsaW5lKHNlbGYsIHByb21wdCk6CiAgICAgICAgICIiIlJlYWQgb25lIGxpbmUsIHVzaW5nIGlucHV0KCkgd2hlbiBhcHByb3ByaWF0ZS4iIiIKQEAgLTE4NjMsOCArMTg2OCw3IEBACiAgICAgZGVmIGhlbHAoc2VsZiwgcmVxdWVzdCk6CiAgICAgICAgIGlmIHR5cGUocmVxdWVzdCkgaXMgdHlwZSgnJyk6CiAgICAgICAgICAgICByZXF1ZXN0ID0gcmVxdWVzdC5zdHJpcCgpCi0gICAgICAgICAgICBpZiByZXF1ZXN0ID09ICdoZWxwJzogc2VsZi5pbnRybygpCi0gICAgICAgICAgICBlbGlmIHJlcXVlc3QgPT0gJ2tleXdvcmRzJzogc2VsZi5saXN0a2V5d29yZHMoKQorICAgICAgICAgICAgaWYgcmVxdWVzdCA9PSAna2V5d29yZHMnOiBzZWxmLmxpc3RrZXl3b3JkcygpCiAgICAgICAgICAgICBlbGlmIHJlcXVlc3QgPT0gJ3N5bWJvbHMnOiBzZWxmLmxpc3RzeW1ib2xzKCkKICAgICAgICAgICAgIGVsaWYgcmVxdWVzdCA9PSAndG9waWNzJzogc2VsZi5saXN0dG9waWNzKCkKICAgICAgICAgICAgIGVsaWYgcmVxdWVzdCA9PSAnbW9kdWxlcyc6IHNlbGYubGlzdG1vZHVsZXMoKQpAQCAtMTg3Nyw2ICsxODgxLDcgQEAKICAgICAgICAgICAgIGVsaWYgcmVxdWVzdCBpbiBzZWxmLmtleXdvcmRzOiBzZWxmLnNob3d0b3BpYyhyZXF1ZXN0KQogICAgICAgICAgICAgZWxpZiByZXF1ZXN0IGluIHNlbGYudG9waWNzOiBzZWxmLnNob3d0b3BpYyhyZXF1ZXN0KQogICAgICAgICAgICAgZWxpZiByZXF1ZXN0OiBkb2MocmVxdWVzdCwgJ0hlbHAgb24gJXM6Jywgb3V0cHV0PXNlbGYuX291dHB1dCkKKyAgICAgICAgICAgIGVsc2U6IGRvYyhzdHIsICdIZWxwIG9uICVzOicsIG91dHB1dD1zZWxmLl9vdXRwdXQpCiAgICAgICAgIGVsaWYgaXNpbnN0YW5jZShyZXF1ZXN0LCBIZWxwZXIpOiBzZWxmKCkKICAgICAgICAgZWxzZTogZG9jKHJlcXVlc3QsICdIZWxwIG9uICVzOicsIG91dHB1dD1zZWxmLl9vdXRwdXQpCiAgICAgICAgIHNlbGYub3V0cHV0LndyaXRlKCdcbicpCkBAIC0yMDcyLDkgKzIwNzcsOCBAQAogICAgICAgICAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgICAgICAgICAgcGF0aCA9IE5vbmUKICAgICAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgICAgICBfc3BlYyA9IGltcG9ydGxpYi5fYm9vdHN0cmFwLl9TcGVjTWV0aG9kcyhzcGVjKQogICAgICAgICAgICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgICAgICAgICBtb2R1bGUgPSBfc3BlYy5sb2FkKCkKKyAgICAgICAgICAgICAgICAgICAgICAgIG1vZHVsZSA9IGltcG9ydGxpYi5fYm9vdHN0cmFwLl9sb2FkKHNwZWMpCiAgICAgICAgICAgICAgICAgICAgIGV4Y2VwdCBJbXBvcnRFcnJvcjoKICAgICAgICAgICAgICAgICAgICAgICAgIGlmIG9uZXJyb3I6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25lcnJvcihtb2RuYW1lKQpkaWZmIC0tZ2l0IGEvTGliL3B5ZG9jX2RhdGEvdG9waWNzLnB5IGIvTGliL3B5ZG9jX2RhdGEvdG9waWNzLnB5CmluZGV4IGU1NGI2ZGQuLjQ4OTI1OWUgMTAwNjQ0Ci0tLSBhL0xpYi9weWRvY19kYXRhL3RvcGljcy5weQorKysgYi9MaWIvcHlkb2NfZGF0YS90b3BpY3MucHkKQEAgLTEsMTMgKzEsMTMgQEAKICMgLSotIGNvZGluZzogdXRmLTggLSotCi0jIEF1dG9nZW5lcmF0ZWQgYnkgU3BoaW54IG9uIFN1biBGZWIgMjIgMjM6NTI6MDUgMjAxNQorIyBBdXRvZ2VuZXJhdGVkIGJ5IFNwaGlueCBvbiBTYXQgRmViICA3IDE1OjUzOjU2IDIwMTUKIHRvcGljcyA9IHsnYXNzZXJ0JzogdSdcblRoZSAiYXNzZXJ0IiBzdGF0ZW1lbnRcbioqKioqKioqKioqKioqKioqKioqKipcblxuQXNzZXJ0IHN0YXRlbWVudHMgYXJlIGEgY29udmVuaWVudCB3YXkgdG8gaW5zZXJ0IGRlYnVnZ2luZyBhc3NlcnRpb25zXG5pbnRvIGEgcHJvZ3JhbTpcblxuICAgYXNzZXJ0X3N0bXQgOjo9ICJhc3NlcnQiIGV4cHJlc3Npb24gWyIsIiBleHByZXNzaW9uXVxuXG5UaGUgc2ltcGxlIGZvcm0sICJhc3NlcnQgZXhwcmVzc2lvbiIsIGlzIGVxdWl2YWxlbnQgdG9cblxuICAgaWYgX19kZWJ1Z19fOlxuICAgICAgaWYgbm90IGV4cHJlc3Npb246IHJhaXNlIEFzc2VydGlvbkVycm9yXG5cblRoZSBleHRlbmRlZCBmb3JtLCAiYXNzZXJ0IGV4cHJlc3Npb24xLCBleHByZXNzaW9uMiIsIGlzIGVxdWl2YWxlbnQgdG9cblxuICAgaWYgX19kZWJ1Z19fOlxuICAgICAgaWYgbm90IGV4cHJlc3Npb24xOiByYWlzZSBBc3NlcnRpb25FcnJvcihleHByZXNzaW9uMilcblxuVGhlc2UgZXF1aXZhbGVuY2VzIGFzc3VtZSB0aGF0ICJfX2RlYnVnX18iIGFuZCAiQXNzZXJ0aW9uRXJyb3IiIHJlZmVyXG50byB0aGUgYnVpbHQtaW4gdmFyaWFibGVzIHdpdGggdGhvc2UgbmFtZXMuICBJbiB0aGUgY3VycmVudFxuaW1wbGVtZW50YXRpb24sIHRoZSBidWlsdC1pbiB2YXJpYWJsZSAiX19kZWJ1Z19fIiBpcyAiVHJ1ZSIgdW5kZXJcbm5vcm1hbCBjaXJjdW1zdGFuY2VzLCAiRmFsc2UiIHdoZW4gb3B0aW1pemF0aW9uIGlzIHJlcXVlc3RlZCAoY29tbWFuZFxubGluZSBvcHRpb24gLU8pLiAgVGhlIGN1cnJlbnQgY29kZSBnZW5lcmF0b3IgZW1pdHMgbm8gY29kZSBmb3IgYW5cbmFzc2VydCBzdGF0ZW1lbnQgd2hlbiBvcHRpbWl6YXRpb24gaXMgcmVxdWVzdGVkIGF0IGNvbXBpbGUgdGltZS4gIE5vdGVcbnRoYXQgaXQgaXMgdW5uZWNlc3NhcnkgdG8gaW5jbHVkZSB0aGUgc291cmNlIGNvZGUgZm9yIHRoZSBleHByZXNzaW9uXG50aGF0IGZhaWxlZCBpbiB0aGUgZXJyb3IgbWVzc2FnZTsgaXQgd2lsbCBiZSBkaXNwbGF5ZWQgYXMgcGFydCBvZiB0aGVcbnN0YWNrIHRyYWNlLlxuXG5Bc3NpZ25tZW50cyB0byAiX19kZWJ1Z19fIiBhcmUgaWxsZWdhbC4gIFRoZSB2YWx1ZSBmb3IgdGhlIGJ1aWx0LWluXG52YXJpYWJsZSBpcyBkZXRlcm1pbmVkIHdoZW4gdGhlIGludGVycHJldGVyIHN0YXJ0cy5cbicsCi0gJ2Fzc2lnbm1lbnQnOiB1J1xuQXNzaWdubWVudCBzdGF0ZW1lbnRzXG4qKioqKioqKioqKioqKioqKioqKipcblxuQXNzaWdubWVudCBzdGF0ZW1lbnRzIGFyZSB1c2VkIHRvIChyZSliaW5kIG5hbWVzIHRvIHZhbHVlcyBhbmQgdG9cbm1vZGlmeSBhdHRyaWJ1dGVzIG9yIGl0ZW1zIG9mIG11dGFibGUgb2JqZWN0czpcblxuICAgYXNzaWdubWVudF9zdG10IDo6PSAodGFyZ2V0X2xpc3QgIj0iKSsgKGV4cHJlc3Npb25fbGlzdCB8IHlpZWxkX2V4cHJlc3Npb24pXG4gICB0YXJnZXRfbGlzdCAgICAgOjo9IHRhcmdldCAoIiwiIHRhcmdldCkqIFsiLCJdXG4gICB0YXJnZXQgICAgICAgICAgOjo9IGlkZW50aWZpZXJcbiAgICAgICAgICAgICAgfCAiKCIgdGFyZ2V0X2xpc3QgIikiXG4gICAgICAgICAgICAgIHwgIlsiIHRhcmdldF9saXN0ICJdIlxuICAgICAgICAgICAgICB8IGF0dHJpYnV0ZXJlZlxuICAgICAgICAgICAgICB8IHN1YnNjcmlwdGlvblxuICAgICAgICAgICAgICB8IHNsaWNpbmdcbiAgICAgICAgICAgICAgfCAiKiIgdGFyZ2V0XG5cbihTZWUgc2VjdGlvbiAqUHJpbWFyaWVzKiBmb3IgdGhlIHN5bnRheCBkZWZpbml0aW9ucyBmb3JcbiphdHRyaWJ1dGVyZWYqLCAqc3Vic2NyaXB0aW9uKiwgYW5kICpzbGljaW5nKi4pXG5cbkFuIGFzc2lnbm1lbnQgc3RhdGVtZW50IGV2YWx1YXRlcyB0aGUgZXhwcmVzc2lvbiBsaXN0IChyZW1lbWJlciB0aGF0XG50aGlzIGNhbiBiZSBhIHNpbmdsZSBleHByZXNzaW9uIG9yIGEgY29tbWEtc2VwYXJhdGVkIGxpc3QsIHRoZSBsYXR0ZXJcbnlpZWxkaW5nIGEgdHVwbGUpIGFuZCBhc3NpZ25zIHRoZSBzaW5nbGUgcmVzdWx0aW5nIG9iamVjdCB0byBlYWNoIG9mXG50aGUgdGFyZ2V0IGxpc3RzLCBmcm9tIGxlZnQgdG8gcmlnaHQuXG5cbkFzc2lnbm1lbnQgaXMgZGVmaW5lZCByZWN1cnNpdmVseSBkZXBlbmRpbmcgb24gdGhlIGZvcm0gb2YgdGhlIHRhcmdldFxuKGxpc3QpLiBXaGVuIGEgdGFyZ2V0IGlzIHBhcnQgb2YgYSBtdXRhYmxlIG9iamVjdCAoYW4gYXR0cmlidXRlXG5yZWZlcmVuY2UsIHN1YnNjcmlwdGlvbiBvciBzbGljaW5nKSwgdGhlIG11dGFibGUgb2JqZWN0IG11c3RcbnVsdGltYXRlbHkgcGVyZm9ybSB0aGUgYXNzaWdubWVudCBhbmQgZGVjaWRlIGFib3V0IGl0cyB2YWxpZGl0eSwgYW5kXG5tYXkgcmFpc2UgYW4gZXhjZXB0aW9uIGlmIHRoZSBhc3NpZ25tZW50IGlzIHVuYWNjZXB0YWJsZS4gIFRoZSBydWxlc1xub2JzZXJ2ZWQgYnkgdmFyaW91cyB0eXBlcyBhbmQgdGhlIGV4Y2VwdGlvbnMgcmFpc2VkIGFyZSBnaXZlbiB3aXRoIHRoZVxuZGVmaW5pdGlvbiBvZiB0aGUgb2JqZWN0IHR5cGVzIChzZWUgc2VjdGlvbiAqVGhlIHN0YW5kYXJkIHR5cGVcbmhpZXJhcmNoeSopLlxuXG5Bc3NpZ25tZW50IG9mIGFuIG9iamVjdCB0byBhIHRhcmdldCBsaXN0LCBvcHRpb25hbGx5IGVuY2xvc2VkIGluXG5wYXJlbnRoZXNlcyBvciBzcXVhcmUgYnJhY2tldHMsIGlzIHJlY3Vyc2l2ZWx5IGRlZmluZWQgYXMgZm9sbG93cy5cblxuKiBJZiB0aGUgdGFyZ2V0IGxpc3QgaXMgYSBzaW5nbGUgdGFyZ2V0OiBUaGUgb2JqZWN0IGlzIGFzc2lnbmVkIHRvXG4gIHRoYXQgdGFyZ2V0LlxuXG4qIElmIHRoZSB0YXJnZXQgbGlzdCBpcyBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIHRhcmdldHM6IFRoZVxuICBvYmplY3QgbXVzdCBiZSBhbiBpdGVyYWJsZSB3aXRoIHRoZSBzYW1lIG51bWJlciBvZiBpdGVtcyBhcyB0aGVyZVxuICBhcmUgdGFyZ2V0cyBpbiB0aGUgdGFyZ2V0IGxpc3QsIGFuZCB0aGUgaXRlbXMgYXJlIGFzc2lnbmVkLCBmcm9tXG4gIGxlZnQgdG8gcmlnaHQsIHRvIHRoZSBjb3JyZXNwb25kaW5nIHRhcmdldHMuXG5cbiAgKiBJZiB0aGUgdGFyZ2V0IGxpc3QgY29udGFpbnMgb25lIHRhcmdldCBwcmVmaXhlZCB3aXRoIGFuXG4gICAgYXN0ZXJpc2ssIGNhbGxlZCBhICJzdGFycmVkIiB0YXJnZXQ6IFRoZSBvYmplY3QgbXVzdCBiZSBhIHNlcXVlbmNlXG4gICAgd2l0aCBhdCBsZWFzdCBhcyBtYW55IGl0ZW1zIGFzIHRoZXJlIGFyZSB0YXJnZXRzIGluIHRoZSB0YXJnZXRcbiAgICBsaXN0LCBtaW51cyBvbmUuICBUaGUgZmlyc3QgaXRlbXMgb2YgdGhlIHNlcXVlbmNlIGFyZSBhc3NpZ25lZCxcbiAgICBmcm9tIGxlZnQgdG8gcmlnaHQsIHRvIHRoZSB0YXJnZXRzIGJlZm9yZSB0aGUgc3RhcnJlZCB0YXJnZXQuICBUaGVcbiAgICBmaW5hbCBpdGVtcyBvZiB0aGUgc2VxdWVuY2UgYXJlIGFzc2lnbmVkIHRvIHRoZSB0YXJnZXRzIGFmdGVyIHRoZVxuICAgIHN0YXJyZWQgdGFyZ2V0LiAgQSBsaXN0IG9mIHRoZSByZW1haW5pbmcgaXRlbXMgaW4gdGhlIHNlcXVlbmNlIGlzXG4gICAgdGhlbiBhc3NpZ25lZCB0byB0aGUgc3RhcnJlZCB0YXJnZXQgKHRoZSBsaXN0IGNhbiBiZSBlbXB0eSkuXG5cbiAgKiBFbHNlOiBUaGUgb2JqZWN0IG11c3QgYmUgYSBzZXF1ZW5jZSB3aXRoIHRoZSBzYW1lIG51bWJlciBvZlxuICAgIGl0ZW1zIGFzIHRoZXJlIGFyZSB0YXJnZXRzIGluIHRoZSB0YXJnZXQgbGlzdCwgYW5kIHRoZSBpdGVtcyBhcmVcbiAgICBhc3NpZ25lZCwgZnJvbSBsZWZ0IHRvIHJpZ2h0LCB0byB0aGUgY29ycmVzcG9uZGluZyB0YXJnZXRzLlxuXG5Bc3NpZ25tZW50IG9mIGFuIG9iamVjdCB0byBhIHNpbmdsZSB0YXJnZXQgaXMgcmVjdXJzaXZlbHkgZGVmaW5lZCBhc1xuZm9sbG93cy5cblxuKiBJZiB0aGUgdGFyZ2V0IGlzIGFuIGlkZW50aWZpZXIgKG5hbWUpOlxuXG4gICogSWYgdGhlIG5hbWUgZG9lcyBub3Qgb2NjdXIgaW4gYSAiZ2xvYmFsIiBvciAibm9ubG9jYWwiIHN0YXRlbWVudFxuICAgIGluIHRoZSBjdXJyZW50IGNvZGUgYmxvY2s6IHRoZSBuYW1lIGlzIGJvdW5kIHRvIHRoZSBvYmplY3QgaW4gdGhlXG4gICAgY3VycmVudCBsb2NhbCBuYW1lc3BhY2UuXG5cbiAgKiBPdGhlcndpc2U6IHRoZSBuYW1lIGlzIGJvdW5kIHRvIHRoZSBvYmplY3QgaW4gdGhlIGdsb2JhbFxuICAgIG5hbWVzcGFjZSBvciB0aGUgb3V0ZXIgbmFtZXNwYWNlIGRldGVybWluZWQgYnkgIm5vbmxvY2FsIixcbiAgICByZXNwZWN0aXZlbHkuXG5cbiAgVGhlIG5hbWUgaXMgcmVib3VuZCBpZiBpdCB3YXMgYWxyZWFkeSBib3VuZC4gIFRoaXMgbWF5IGNhdXNlIHRoZVxuICByZWZlcmVuY2UgY291bnQgZm9yIHRoZSBvYmplY3QgcHJldmlvdXNseSBib3VuZCB0byB0aGUgbmFtZSB0byByZWFjaFxuICB6ZXJvLCBjYXVzaW5nIHRoZSBvYmplY3QgdG8gYmUgZGVhbGxvY2F0ZWQgYW5kIGl0cyBkZXN0cnVjdG9yIChpZiBpdFxuICBoYXMgb25lKSB0byBiZSBjYWxsZWQuXG5cbiogSWYgdGhlIHRhcmdldCBpcyBhIHRhcmdldCBsaXN0IGVuY2xvc2VkIGluIHBhcmVudGhlc2VzIG9yIGluXG4gIHNxdWFyZSBicmFja2V0czogVGhlIG9iamVjdCBtdXN0IGJlIGFuIGl0ZXJhYmxlIHdpdGggdGhlIHNhbWUgbnVtYmVyXG4gIG9mIGl0ZW1zIGFzIHRoZXJlIGFyZSB0YXJnZXRzIGluIHRoZSB0YXJnZXQgbGlzdCwgYW5kIGl0cyBpdGVtcyBhcmVcbiAgYXNzaWduZWQsIGZyb20gbGVmdCB0byByaWdodCwgdG8gdGhlIGNvcnJlc3BvbmRpbmcgdGFyZ2V0cy5cblxuKiBJZiB0aGUgdGFyZ2V0IGlzIGFuIGF0dHJpYnV0ZSByZWZlcmVuY2U6IFRoZSBwcmltYXJ5IGV4cHJlc3Npb24gaW5cbiAgdGhlIHJlZmVyZW5jZSBpcyBldmFsdWF0ZWQuICBJdCBzaG91bGQgeWllbGQgYW4gb2JqZWN0IHdpdGhcbiAgYXNzaWduYWJsZSBhdHRyaWJ1dGVzOyBpZiB0aGlzIGlzIG5vdCB0aGUgY2FzZSwgIlR5cGVFcnJvciIgaXNcbiAgcmFpc2VkLiAgVGhhdCBvYmplY3QgaXMgdGhlbiBhc2tlZCB0byBhc3NpZ24gdGhlIGFzc2lnbmVkIG9iamVjdCB0b1xuICB0aGUgZ2l2ZW4gYXR0cmlidXRlOyBpZiBpdCBjYW5ub3QgcGVyZm9ybSB0aGUgYXNzaWdubWVudCwgaXQgcmFpc2VzXG4gIGFuIGV4Y2VwdGlvbiAodXN1YWxseSBidXQgbm90IG5lY2Vzc2FyaWx5ICJBdHRyaWJ1dGVFcnJvciIpLlxuXG4gIE5vdGU6IElmIHRoZSBvYmplY3QgaXMgYSBjbGFzcyBpbnN0YW5jZSBhbmQgdGhlIGF0dHJpYnV0ZSByZWZlcmVuY2VcbiAgb2NjdXJzIG9uIGJvdGggc2lkZXMgb2YgdGhlIGFzc2lnbm1lbnQgb3BlcmF0b3IsIHRoZSBSSFMgZXhwcmVzc2lvbixcbiAgImEueCIgY2FuIGFjY2VzcyBlaXRoZXIgYW4gaW5zdGFuY2UgYXR0cmlidXRlIG9yIChpZiBubyBpbnN0YW5jZVxuICBhdHRyaWJ1dGUgZXhpc3RzKSBhIGNsYXNzIGF0dHJpYnV0ZS4gIFRoZSBMSFMgdGFyZ2V0ICJhLngiIGlzIGFsd2F5c1xuICBzZXQgYXMgYW4gaW5zdGFuY2UgYXR0cmlidXRlLCBjcmVhdGluZyBpdCBpZiBuZWNlc3NhcnkuICBUaHVzLCB0aGVcbiAgdHdvIG9jY3VycmVuY2VzIG9mICJhLngiIGRvIG5vdCBuZWNlc3NhcmlseSByZWZlciB0byB0aGUgc2FtZVxuICBhdHRyaWJ1dGU6IGlmIHRoZSBSSFMgZXhwcmVzc2lvbiByZWZlcnMgdG8gYSBjbGFzcyBhdHRyaWJ1dGUsIHRoZVxuICBMSFMgY3JlYXRlcyBhIG5ldyBpbnN0YW5jZSBhdHRyaWJ1dGUgYXMgdGhlIHRhcmdldCBvZiB0aGVcbiAgYXNzaWdubWVudDpcblxuICAgICBjbGFzcyBDbHM6XG4gICAgICAgICB4ID0gMyAgICAgICAgICAgICAjIGNsYXNzIHZhcmlhYmxlXG4gICAgIGluc3QgPSBDbHMoKVxuICAgICBpbnN0LnggPSBpbnN0LnggKyAxICAgIyB3cml0ZXMgaW5zdC54IGFzIDQgbGVhdmluZyBDbHMueCBhcyAzXG5cbiAgVGhpcyBkZXNjcmlwdGlvbiBkb2VzIG5vdCBuZWNlc3NhcmlseSBhcHBseSB0byBkZXNjcmlwdG9yXG4gIGF0dHJpYnV0ZXMsIHN1Y2ggYXMgcHJvcGVydGllcyBjcmVhdGVkIHdpdGggInByb3BlcnR5KCkiLlxuXG4qIElmIHRoZSB0YXJnZXQgaXMgYSBzdWJzY3JpcHRpb246IFRoZSBwcmltYXJ5IGV4cHJlc3Npb24gaW4gdGhlXG4gIHJlZmVyZW5jZSBpcyBldmFsdWF0ZWQuICBJdCBzaG91bGQgeWllbGQgZWl0aGVyIGEgbXV0YWJsZSBzZXF1ZW5jZVxuICBvYmplY3QgKHN1Y2ggYXMgYSBsaXN0KSBvciBhIG1hcHBpbmcgb2JqZWN0IChzdWNoIGFzIGEgZGljdGlvbmFyeSkuXG4gIE5leHQsIHRoZSBzdWJzY3JpcHQgZXhwcmVzc2lvbiBpcyBldmFsdWF0ZWQuXG5cbiAgSWYgdGhlIHByaW1hcnkgaXMgYSBtdXRhYmxlIHNlcXVlbmNlIG9iamVjdCAoc3VjaCBhcyBhIGxpc3QpLCB0aGVcbiAgc3Vic2NyaXB0IG11c3QgeWllbGQgYW4gaW50ZWdlci4gIElmIGl0IGlzIG5lZ2F0aXZlLCB0aGUgc2VxdWVuY2VcJ3NcbiAgbGVuZ3RoIGlzIGFkZGVkIHRvIGl0LiAgVGhlIHJlc3VsdGluZyB2YWx1ZSBtdXN0IGJlIGEgbm9ubmVnYXRpdmVcbiAgaW50ZWdlciBsZXNzIHRoYW4gdGhlIHNlcXVlbmNlXCdzIGxlbmd0aCwgYW5kIHRoZSBzZXF1ZW5jZSBpcyBhc2tlZFxuICB0byBhc3NpZ24gdGhlIGFzc2lnbmVkIG9iamVjdCB0byBpdHMgaXRlbSB3aXRoIHRoYXQgaW5kZXguICBJZiB0aGVcbiAgaW5kZXggaXMgb3V0IG9mIHJhbmdlLCAiSW5kZXhFcnJvciIgaXMgcmFpc2VkIChhc3NpZ25tZW50IHRvIGFcbiAgc3Vic2NyaXB0ZWQgc2VxdWVuY2UgY2Fubm90IGFkZCBuZXcgaXRlbXMgdG8gYSBsaXN0KS5cblxuICBJZiB0aGUgcHJpbWFyeSBpcyBhIG1hcHBpbmcgb2JqZWN0IChzdWNoIGFzIGEgZGljdGlvbmFyeSksIHRoZVxuICBzdWJzY3JpcHQgbXVzdCBoYXZlIGEgdHlwZSBjb21wYXRpYmxlIHdpdGggdGhlIG1hcHBpbmdcJ3Mga2V5IHR5cGUsXG4gIGFuZCB0aGUgbWFwcGluZyBpcyB0aGVuIGFza2VkIHRvIGNyZWF0ZSBhIGtleS9kYXR1bSBwYWlyIHdoaWNoIG1hcHNcbiAgdGhlIHN1YnNjcmlwdCB0byB0aGUgYXNzaWduZWQgb2JqZWN0LiAgVGhpcyBjYW4gZWl0aGVyIHJlcGxhY2UgYW5cbiAgZXhpc3Rpbmcga2V5L3ZhbHVlIHBhaXIgd2l0aCB0aGUgc2FtZSBrZXkgdmFsdWUsIG9yIGluc2VydCBhIG5ld1xuICBrZXkvdmFsdWUgcGFpciAoaWYgbm8ga2V5IHdpdGggdGhlIHNhbWUgdmFsdWUgZXhpc3RlZCkuXG5cbiAgRm9yIHVzZXItZGVmaW5lZCBvYmplY3RzLCB0aGUgIl9fc2V0aXRlbV9fKCkiIG1ldGhvZCBpcyBjYWxsZWQgd2l0aFxuICBhcHByb3ByaWF0ZSBhcmd1bWVudHMuXG5cbiogSWYgdGhlIHRhcmdldCBpcyBhIHNsaWNpbmc6IFRoZSBwcmltYXJ5IGV4cHJlc3Npb24gaW4gdGhlXG4gIHJlZmVyZW5jZSBpcyBldmFsdWF0ZWQuICBJdCBzaG91bGQgeWllbGQgYSBtdXRhYmxlIHNlcXVlbmNlIG9iamVjdFxuICAoc3VjaCBhcyBhIGxpc3QpLiAgVGhlIGFzc2lnbmVkIG9iamVjdCBzaG91bGQgYmUgYSBzZXF1ZW5jZSBvYmplY3RcbiAgb2YgdGhlIHNhbWUgdHlwZS4gIE5leHQsIHRoZSBsb3dlciBhbmQgdXBwZXIgYm91bmQgZXhwcmVzc2lvbnMgYXJlXG4gIGV2YWx1YXRlZCwgaW5zb2ZhciB0aGV5IGFyZSBwcmVzZW50OyBkZWZhdWx0cyBhcmUgemVybyBhbmQgdGhlXG4gIHNlcXVlbmNlXCdzIGxlbmd0aC4gIFRoZSBib3VuZHMgc2hvdWxkIGV2YWx1YXRlIHRvIGludGVnZXJzLiBJZlxuICBlaXRoZXIgYm91bmQgaXMgbmVnYXRpdmUsIHRoZSBzZXF1ZW5jZVwncyBsZW5ndGggaXMgYWRkZWQgdG8gaXQuICBUaGVcbiAgcmVzdWx0aW5nIGJvdW5kcyBhcmUgY2xpcHBlZCB0byBsaWUgYmV0d2VlbiB6ZXJvIGFuZCB0aGUgc2VxdWVuY2VcJ3NcbiAgbGVuZ3RoLCBpbmNsdXNpdmUuICBGaW5hbGx5LCB0aGUgc2VxdWVuY2Ugb2JqZWN0IGlzIGFza2VkIHRvIHJlcGxhY2VcbiAgdGhlIHNsaWNlIHdpdGggdGhlIGl0ZW1zIG9mIHRoZSBhc3NpZ25lZCBzZXF1ZW5jZS4gIFRoZSBsZW5ndGggb2ZcbiAgdGhlIHNsaWNlIG1heSBiZSBkaWZmZXJlbnQgZnJvbSB0aGUgbGVuZ3RoIG9mIHRoZSBhc3NpZ25lZCBzZXF1ZW5jZSxcbiAgdGh1cyBjaGFuZ2luZyB0aGUgbGVuZ3RoIG9mIHRoZSB0YXJnZXQgc2VxdWVuY2UsIGlmIHRoZSB0YXJnZXRcbiAgc2VxdWVuY2UgYWxsb3dzIGl0LlxuXG4qKkNQeXRob24gaW1wbGVtZW50YXRpb24gZGV0YWlsOioqIEluIHRoZSBjdXJyZW50IGltcGxlbWVudGF0aW9uLCB0aGVcbnN5bnRheCBmb3IgdGFyZ2V0cyBpcyB0YWtlbiB0byBiZSB0aGUgc2FtZSBhcyBmb3IgZXhwcmVzc2lvbnMsIGFuZFxuaW52YWxpZCBzeW50YXggaXMgcmVqZWN0ZWQgZHVyaW5nIHRoZSBjb2RlIGdlbmVyYXRpb24gcGhhc2UsIGNhdXNpbmdcbmxlc3MgZGV0YWlsZWQgZXJyb3IgbWVzc2FnZXMuXG5cbkFsdGhvdWdoIHRoZSBkZWZpbml0aW9uIG9mIGFzc2lnbm1lbnQgaW1wbGllcyB0aGF0IG92ZXJsYXBzIGJldHdlZW5cbnRoZSBsZWZ0LWhhbmQgc2lkZSBhbmQgdGhlIHJpZ2h0LWhhbmQgc2lkZSBhcmUgXCdzaW11bHRhbmVub3VzXCcgKGZvclxuZXhhbXBsZSAiYSwgYiA9IGIsIGEiIHN3YXBzIHR3byB2YXJpYWJsZXMpLCBvdmVybGFwcyAqd2l0aGluKiB0aGVcbmNvbGxlY3Rpb24gb2YgYXNzaWduZWQtdG8gdmFyaWFibGVzIG9jY3VyIGxlZnQtdG8tcmlnaHQsIHNvbWV0aW1lc1xucmVzdWx0aW5nIGluIGNvbmZ1c2lvbi4gIEZvciBpbnN0YW5jZSwgdGhlIGZvbGxvd2luZyBwcm9ncmFtIHByaW50c1xuIlswLCAyXSI6XG5cbiAgIHggPSBbMCwgMV1cbiAgIGkgPSAwXG4gICBpLCB4W2ldID0gMSwgMiAgICAgICAgICMgaSBpcyB1cGRhdGVkLCB0aGVuIHhbaV0gaXMgdXBkYXRlZFxuICAgcHJpbnQoeClcblxuU2VlIGFsc286ICoqUEVQIDMxMzIqKiAtIEV4dGVuZGVkIEl0ZXJhYmxlIFVucGFja2luZ1xuXG4gICAgIFRoZSBzcGVjaWZpY2F0aW9uIGZvciB0aGUgIip0YXJnZXQiIGZlYXR1cmUuXG5cblxuQXVnbWVudGVkIGFzc2lnbm1lbnQgc3RhdGVtZW50c1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5BdWdtZW50ZWQgYXNzaWdubWVudCBpcyB0aGUgY29tYmluYXRpb24sIGluIGEgc2luZ2xlIHN0YXRlbWVudCwgb2YgYVxuYmluYXJ5IG9wZXJhdGlvbiBhbmQgYW4gYXNzaWdubWVudCBzdGF0ZW1lbnQ6XG5cbiAgIGF1Z21lbnRlZF9hc3NpZ25tZW50X3N0bXQgOjo9IGF1Z3RhcmdldCBhdWdvcCAoZXhwcmVzc2lvbl9saXN0IHwgeWllbGRfZXhwcmVzc2lvbilcbiAgIGF1Z3RhcmdldCAgICAgICAgICAgICAgICAgOjo9IGlkZW50aWZpZXIgfCBhdHRyaWJ1dGVyZWYgfCBzdWJzY3JpcHRpb24gfCBzbGljaW5nXG4gICBhdWdvcCAgICAgICAgICAgICAgICAgICAgIDo6PSAiKz0iIHwgIi09IiB8ICIqPSIgfCAiLz0iIHwgIi8vPSIgfCAiJT0iIHwgIioqPSJcbiAgICAgICAgICAgICB8ICI+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+XG4gICBieXRlc2VzY2FwZXNlcSA6Oj0gIlxcIiA8YW55IEFTQ0lJIGNoYXJhY3Rlcj5cblxuT25lIHN5bnRhY3RpYyByZXN0cmljdGlvbiBub3QgaW5kaWNhdGVkIGJ5IHRoZXNlIHByb2R1Y3Rpb25zIGlzIHRoYXRcbndoaXRlc3BhY2UgaXMgbm90IGFsbG93ZWQgYmV0d2VlbiB0aGUgInN0cmluZ3ByZWZpeCIgb3IgImJ5dGVzcHJlZml4IlxuYW5kIHRoZSByZXN0IG9mIHRoZSBsaXRlcmFsLiBUaGUgc291cmNlIGNoYXJhY3RlciBzZXQgaXMgZGVmaW5lZCBieVxudGhlIGVuY29kaW5nIGRlY2xhcmF0aW9uOyBpdCBpcyBVVEYtOCBpZiBubyBlbmNvZGluZyBkZWNsYXJhdGlvbiBpc1xuZ2l2ZW4gaW4gdGhlIHNvdXJjZSBmaWxlOyBzZWUgc2VjdGlvbiAqRW5jb2RpbmcgZGVjbGFyYXRpb25zKi5cblxuSW4gcGxhaW4gRW5nbGlzaDogQm90aCB0eXBlcyBvZiBsaXRlcmFscyBjYW4gYmUgZW5jbG9zZWQgaW4gbWF0Y2hpbmdcbnNpbmdsZSBxdW90ZXMgKCJcJyIpIG9yIGRvdWJsZSBxdW90ZXMgKCIiIikuICBUaGV5IGNhbiBhbHNvIGJlIGVuY2xvc2VkXG5pbiBtYXRjaGluZyBncm91cHMgb2YgdGhyZWUgc2luZ2xlIG9yIGRvdWJsZSBxdW90ZXMgKHRoZXNlIGFyZVxuZ2VuZXJhbGx5IHJlZmVycmVkIHRvIGFzICp0cmlwbGUtcXVvdGVkIHN0cmluZ3MqKS4gIFRoZSBiYWNrc2xhc2hcbigiXFwiKSBjaGFyYWN0ZXIgaXMgdXNlZCB0byBlc2NhcGUgY2hhcmFjdGVycyB0aGF0IG90aGVyd2lzZSBoYXZlIGFcbnNwZWNpYWwgbWVhbmluZywgc3VjaCBhcyBuZXdsaW5lLCBiYWNrc2xhc2ggaXRzZWxmLCBvciB0aGUgcXVvdGVcbmNoYXJhY3Rlci5cblxuQnl0ZXMgbGl0ZXJhbHMgYXJlIGFsd2F5cyBwcmVmaXhlZCB3aXRoICJcJ2JcJyIgb3IgIlwnQlwnIjsgdGhleSBwcm9kdWNlXG5hbiBpbnN0YW5jZSBvZiB0aGUgImJ5dGVzIiB0eXBlIGluc3RlYWQgb2YgdGhlICJzdHIiIHR5cGUuICBUaGV5IG1heVxub25seSBjb250YWluIEFTQ0lJIGNoYXJhY3RlcnM7IGJ5dGVzIHdpdGggYSBudW1lcmljIHZhbHVlIG9mIDEyOCBvclxuZ3JlYXRlciBtdXN0IGJlIGV4cHJlc3NlZCB3aXRoIGVzY2FwZXMuXG5cbkFzIG9mIFB5dGhvbiAzLjMgaXQgaXMgcG9zc2libGUgYWdhaW4gdG8gcHJlZml4IHN0cmluZyBsaXRlcmFscyB3aXRoIGFcbiJ1IiBwcmVmaXggdG8gc2ltcGxpZnkgbWFpbnRlbmFuY2Ugb2YgZHVhbCAyLnggYW5kIDMueCBjb2RlYmFzZXMuXG5cbkJvdGggc3RyaW5nIGFuZCBieXRlcyBsaXRlcmFscyBtYXkgb3B0aW9uYWxseSBiZSBwcmVmaXhlZCB3aXRoIGFcbmxldHRlciAiXCdyXCciIG9yICJcJ1JcJyI7IHN1Y2ggc3RyaW5ncyBhcmUgY2FsbGVkICpyYXcgc3RyaW5ncyogYW5kIHRyZWF0XG5iYWNrc2xhc2hlcyBhcyBsaXRlcmFsIGNoYXJhY3RlcnMuICBBcyBhIHJlc3VsdCwgaW4gc3RyaW5nIGxpdGVyYWxzLFxuIlwnXFxVXCciIGFuZCAiXCdcXHVcJyIgZXNjYXBlcyBpbiByYXcgc3RyaW5ncyBhcmUgbm90IHRyZWF0ZWQgc3BlY2lhbGx5LlxuR2l2ZW4gdGhhdCBQeXRob24gMi54XCdzIHJhdyB1bmljb2RlIGxpdGVyYWxzIGJlaGF2ZSBkaWZmZXJlbnRseSB0aGFuXG5QeXRob24gMy54XCdzIHRoZSAiXCd1clwnIiBzeW50YXggaXMgbm90IHN1cHBvcnRlZC5cblxuTmV3IGluIHZlcnNpb24gMy4zOiBUaGUgIlwncmJcJyIgcHJlZml4IG9mIHJhdyBieXRlcyBsaXRlcmFscyBoYXMgYmVlblxuYWRkZWQgYXMgYSBzeW5vbnltIG9mICJcJ2JyXCciLlxuXG5OZXcgaW4gdmVyc2lvbiAzLjM6IFN1cHBvcnQgZm9yIHRoZSB1bmljb2RlIGxlZ2FjeSBsaXRlcmFsXG4oInVcJ3ZhbHVlXCciKSB3YXMgcmVpbnRyb2R1Y2VkIHRvIHNpbXBsaWZ5IHRoZSBtYWludGVuYW5jZSBvZiBkdWFsXG5QeXRob24gMi54IGFuZCAzLnggY29kZWJhc2VzLiBTZWUgKipQRVAgNDE0KiogZm9yIG1vcmUgaW5mb3JtYXRpb24uXG5cbkluIHRyaXBsZS1xdW90ZWQgbGl0ZXJhbHMsIHVuZXNjYXBlZCBuZXdsaW5lcyBhbmQgcXVvdGVzIGFyZSBhbGxvd2VkXG4oYW5kIGFyZSByZXRhaW5lZCksIGV4Y2VwdCB0aGF0IHRocmVlIHVuZXNjYXBlZCBxdW90ZXMgaW4gYSByb3dcbnRlcm1pbmF0ZSB0aGUgbGl0ZXJhbC4gIChBICJxdW90ZSIgaXMgdGhlIGNoYXJhY3RlciB1c2VkIHRvIG9wZW4gdGhlXG5saXRlcmFsLCBpLmUuIGVpdGhlciAiXCciIG9yICIiIi4pXG5cblVubGVzcyBhbiAiXCdyXCciIG9yICJcJ1JcJyIgcHJlZml4IGlzIHByZXNlbnQsIGVzY2FwZSBzZXF1ZW5jZXMgaW4gc3RyaW5nXG5hbmQgYnl0ZXMgbGl0ZXJhbHMgYXJlIGludGVycHJldGVkIGFjY29yZGluZyB0byBydWxlcyBzaW1pbGFyIHRvIHRob3NlXG51c2VkIGJ5IFN0YW5kYXJkIEMuICBUaGUgcmVjb2duaXplZCBlc2NhcGUgc2VxdWVuY2VzIGFyZTpcblxuKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tK1xufCBFc2NhcGUgU2VxdWVuY2UgICB8IE1lYW5pbmcgICAgICAgICAgICAgICAgICAgICAgICAgICB8IE5vdGVzICAgfFxuKz09PT09PT09PT09PT09PT09PT0rPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0rPT09PT09PT09K1xufCAiXFxuZXdsaW5lIiAgICAgICAgfCBCYWNrc2xhc2ggYW5kIG5ld2xpbmUgaWdub3JlZCAgICAgfCAgICAgICAgIHxcbistLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLStcbnwgIlxcXFwiICAgICAgICAgICAgICB8IEJhY2tzbGFzaCAoIlxcIikgICAgICAgICAgICAgICAgICAgfCAgICAgICAgIHxcbistLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLStcbnwgIlxcXCciICAgICAgICAgICAgICB8IFNpbmdsZSBxdW90ZSAoIlwnIikgICAgICAgICAgICAgICAgfCAgICAgICAgIHxcbistLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLStcbnwgIlxcIiIgICAgICAgICAgICAgIHwgRG91YmxlIHF1b3RlICgiIiIpICAgICAgICAgICAgICAgIHwgICAgICAgICB8XG4rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rXG58ICJcXGEiICAgICAgICAgICAgICB8IEFTQ0lJIEJlbGwgKEJFTCkgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfFxuKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tK1xufCAiXFxiIiAgICAgICAgICAgICAgfCBBU0NJSSBCYWNrc3BhY2UgKEJTKSAgICAgICAgICAgICAgfCAgICAgICAgIHxcbistLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLStcbnwgIlxcZiIgICAgICAgICAgICAgIHwgQVNDSUkgRm9ybWZlZWQgKEZGKSAgICAgICAgICAgICAgIHwgICAgICAgICB8XG4rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rXG58ICJcXG4iICAgICAgICAgICAgICB8IEFTQ0lJIExpbmVmZWVkIChMRikgICAgICAgICAgICAgICB8ICAgICAgICAgfFxuKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tK1xufCAiXFxyIiAgICAgICAgICAgICAgfCBBU0NJSSBDYXJyaWFnZSBSZXR1cm4gKENSKSAgICAgICAgfCAgICAgICAgIHxcbistLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLStcbnwgIlxcdCIgICAgICAgICAgICAgIHwgQVNDSUkgSG9yaXpvbnRhbCBUYWIgKFRBQikgICAgICAgIHwgICAgICAgICB8XG4rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rXG58ICJcXHYiICAgICAgICAgICAgICB8IEFTQ0lJIFZlcnRpY2FsIFRhYiAoVlQpICAgICAgICAgICB8ICAgICAgICAgfFxuKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tK1xufCAiXFxvb28iICAgICAgICAgICAgfCBDaGFyYWN0ZXIgd2l0aCBvY3RhbCB2YWx1ZSAqb29vKiAgfCAoMSwzKSAgIHxcbistLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLStcbnwgIlxceGhoIiAgICAgICAgICAgIHwgQ2hhcmFjdGVyIHdpdGggaGV4IHZhbHVlICpoaCogICAgIHwgKDIsMykgICB8XG4rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rXG5cbkVzY2FwZSBzZXF1ZW5jZXMgb25seSByZWNvZ25pemVkIGluIHN0cmluZyBsaXRlcmFscyBhcmU6XG5cbistLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLStcbnwgRXNjYXBlIFNlcXVlbmNlICAgfCBNZWFuaW5nICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBOb3RlcyAgIHxcbis9PT09PT09PT09PT09PT09PT09Kz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Kz09PT09PT09PStcbnwgIlxcTntuYW1lfSIgICAgICAgIHwgQ2hhcmFjdGVyIG5hbWVkICpuYW1lKiBpbiB0aGUgICAgIHwgKDQpICAgICB8XG58ICAgICAgICAgICAgICAgICAgIHwgVW5pY29kZSBkYXRhYmFzZSAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8XG4rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rXG58ICJcXHV4eHh4IiAgICAgICAgICB8IENoYXJhY3RlciB3aXRoIDE2LWJpdCBoZXggdmFsdWUgICB8ICg1KSAgICAgfFxufCAgICAgICAgICAgICAgICAgICB8ICp4eHh4KiAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfFxuKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tK1xufCAiXFxVeHh4eHh4eHgiICAgICAgfCBDaGFyYWN0ZXIgd2l0aCAzMi1iaXQgaGV4IHZhbHVlICAgfCAoNikgICAgIHxcbnwgICAgICAgICAgICAgICAgICAgfCAqeHh4eHh4eHgqICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgIHxcbistLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLStcblxuTm90ZXM6XG5cbjEuIEFzIGluIFN0YW5kYXJkIEMsIHVwIHRvIHRocmVlIG9jdGFsIGRpZ2l0cyBhcmUgYWNjZXB0ZWQuXG5cbjIuIFVubGlrZSBpbiBTdGFuZGFyZCBDLCBleGFjdGx5IHR3byBoZXggZGlnaXRzIGFyZSByZXF1aXJlZC5cblxuMy4gSW4gYSBieXRlcyBsaXRlcmFsLCBoZXhhZGVjaW1hbCBhbmQgb2N0YWwgZXNjYXBlcyBkZW5vdGUgdGhlXG4gICBieXRlIHdpdGggdGhlIGdpdmVuIHZhbHVlLiBJbiBhIHN0cmluZyBsaXRlcmFsLCB0aGVzZSBlc2NhcGVzXG4gICBkZW5vdGUgYSBVbmljb2RlIGNoYXJhY3RlciB3aXRoIHRoZSBnaXZlbiB2YWx1ZS5cblxuNC4gQ2hhbmdlZCBpbiB2ZXJzaW9uIDMuMzogU3VwcG9ydCBmb3IgbmFtZSBhbGlhc2VzIFsxXSBoYXMgYmVlblxuICAgYWRkZWQuXG5cbjUuIEluZGl2aWR1YWwgY29kZSB1bml0cyB3aGljaCBmb3JtIHBhcnRzIG9mIGEgc3Vycm9nYXRlIHBhaXIgY2FuXG4gICBiZSBlbmNvZGVkIHVzaW5nIHRoaXMgZXNjYXBlIHNlcXVlbmNlLiAgRXhhY3RseSBmb3VyIGhleCBkaWdpdHMgYXJlXG4gICByZXF1aXJlZC5cblxuNi4gQW55IFVuaWNvZGUgY2hhcmFjdGVyIGNhbiBiZSBlbmNvZGVkIHRoaXMgd2F5LiAgRXhhY3RseSBlaWdodFxuICAgaGV4IGRpZ2l0cyBhcmUgcmVxdWlyZWQuXG5cblVubGlrZSBTdGFuZGFyZCBDLCBhbGwgdW5yZWNvZ25pemVkIGVzY2FwZSBzZXF1ZW5jZXMgYXJlIGxlZnQgaW4gdGhlXG5zdHJpbmcgdW5jaGFuZ2VkLCBpLmUuLCAqdGhlIGJhY2tzbGFzaCBpcyBsZWZ0IGluIHRoZSByZXN1bHQqLiAgKFRoaXNcbmJlaGF2aW9yIGlzIHVzZWZ1bCB3aGVuIGRlYnVnZ2luZzogaWYgYW4gZXNjYXBlIHNlcXVlbmNlIGlzIG1pc3R5cGVkLFxudGhlIHJlc3VsdGluZyBvdXRwdXQgaXMgbW9yZSBlYXNpbHkgcmVjb2duaXplZCBhcyBicm9rZW4uKSAgSXQgaXMgYWxzb1xuaW1wb3J0YW50IHRvIG5vdGUgdGhhdCB0aGUgZXNjYXBlIHNlcXVlbmNlcyBvbmx5IHJlY29nbml6ZWQgaW4gc3RyaW5nXG5saXRlcmFscyBmYWxsIGludG8gdGhlIGNhdGVnb3J5IG9mIHVucmVjb2duaXplZCBlc2NhcGVzIGZvciBieXRlc1xubGl0ZXJhbHMuXG5cbkV2ZW4gaW4gYSByYXcgbGl0ZXJhbCwgcXVvdGVzIGNhbiBiZSBlc2NhcGVkIHdpdGggYSBiYWNrc2xhc2gsIGJ1dCB0aGVcbmJhY2tzbGFzaCByZW1haW5zIGluIHRoZSByZXN1bHQ7IGZvciBleGFtcGxlLCAiciJcXCIiIiBpcyBhIHZhbGlkXG5zdHJpbmcgbGl0ZXJhbCBjb25zaXN0aW5nIG9mIHR3byBjaGFyYWN0ZXJzOiBhIGJhY2tzbGFzaCBhbmQgYSBkb3VibGVcbnF1b3RlOyAiciJcXCIiIGlzIG5vdCBhIHZhbGlkIHN0cmluZyBsaXRlcmFsIChldmVuIGEgcmF3IHN0cmluZyBjYW5ub3RcbmVuZCBpbiBhbiBvZGQgbnVtYmVyIG9mIGJhY2tzbGFzaGVzKS4gIFNwZWNpZmljYWxseSwgKmEgcmF3IGxpdGVyYWxcbmNhbm5vdCBlbmQgaW4gYSBzaW5nbGUgYmFja3NsYXNoKiAoc2luY2UgdGhlIGJhY2tzbGFzaCB3b3VsZCBlc2NhcGVcbnRoZSBmb2xsb3dpbmcgcXVvdGUgY2hhcmFjdGVyKS4gIE5vdGUgYWxzbyB0aGF0IGEgc2luZ2xlIGJhY2tzbGFzaFxuZm9sbG93ZWQgYnkgYSBuZXdsaW5lIGlzIGludGVycHJldGVkIGFzIHRob3NlIHR3byBjaGFyYWN0ZXJzIGFzIHBhcnRcbm9mIHRoZSBsaXRlcmFsLCAqbm90KiBhcyBhIGxpbmUgY29udGludWF0aW9uLlxuJywKICAnc3Vic2NyaXB0aW9ucyc6IHUnXG5TdWJzY3JpcHRpb25zXG4qKioqKioqKioqKioqXG5cbkEgc3Vic2NyaXB0aW9uIHNlbGVjdHMgYW4gaXRlbSBvZiBhIHNlcXVlbmNlIChzdHJpbmcsIHR1cGxlIG9yIGxpc3QpXG5vciBtYXBwaW5nIChkaWN0aW9uYXJ5KSBvYmplY3Q6XG5cbiAgIHN1YnNjcmlwdGlvbiA6Oj0gcHJpbWFyeSAiWyIgZXhwcmVzc2lvbl9saXN0ICJdIlxuXG5UaGUgcHJpbWFyeSBtdXN0IGV2YWx1YXRlIHRvIGFuIG9iamVjdCB0aGF0IHN1cHBvcnRzIHN1YnNjcmlwdGlvblxuKGxpc3RzIG9yIGRpY3Rpb25hcmllcyBmb3IgZXhhbXBsZSkuICBVc2VyLWRlZmluZWQgb2JqZWN0cyBjYW4gc3VwcG9ydFxuc3Vic2NyaXB0aW9uIGJ5IGRlZmluaW5nIGEgIl9fZ2V0aXRlbV9fKCkiIG1ldGhvZC5cblxuRm9yIGJ1aWx0LWluIG9iamVjdHMsIHRoZXJlIGFyZSB0d28gdHlwZXMgb2Ygb2JqZWN0cyB0aGF0IHN1cHBvcnRcbnN1YnNjcmlwdGlvbjpcblxuSWYgdGhlIHByaW1hcnkgaXMgYSBtYXBwaW5nLCB0aGUgZXhwcmVzc2lvbiBsaXN0IG11c3QgZXZhbHVhdGUgdG8gYW5cbm9iamVjdCB3aG9zZSB2YWx1ZSBpcyBvbmUgb2YgdGhlIGtleXMgb2YgdGhlIG1hcHBpbmcsIGFuZCB0aGVcbnN1YnNjcmlwdGlvbiBzZWxlY3RzIHRoZSB2YWx1ZSBpbiB0aGUgbWFwcGluZyB0aGF0IGNvcnJlc3BvbmRzIHRvIHRoYXRcbmtleS4gIChUaGUgZXhwcmVzc2lvbiBsaXN0IGlzIGEgdHVwbGUgZXhjZXB0IGlmIGl0IGhhcyBleGFjdGx5IG9uZVxuaXRlbS4pXG5cbklmIHRoZSBwcmltYXJ5IGlzIGEgc2VxdWVuY2UsIHRoZSBleHByZXNzaW9uIChsaXN0KSBtdXN0IGV2YWx1YXRlIHRvXG5hbiBpbnRlZ2VyIG9yIGEgc2xpY2UgKGFzIGRpc2N1c3NlZCBpbiB0aGUgZm9sbG93aW5nIHNlY3Rpb24pLlxuXG5UaGUgZm9ybWFsIHN5bnRheCBtYWtlcyBubyBzcGVjaWFsIHByb3Zpc2lvbiBmb3IgbmVnYXRpdmUgaW5kaWNlcyBpblxuc2VxdWVuY2VzOyBob3dldmVyLCBidWlsdC1pbiBzZXF1ZW5jZXMgYWxsIHByb3ZpZGUgYSAiX19nZXRpdGVtX18oKSJcbm1ldGhvZCB0aGF0IGludGVycHJldHMgbmVnYXRpdmUgaW5kaWNlcyBieSBhZGRpbmcgdGhlIGxlbmd0aCBvZiB0aGVcbnNlcXVlbmNlIHRvIHRoZSBpbmRleCAoc28gdGhhdCAieFstMV0iIHNlbGVjdHMgdGhlIGxhc3QgaXRlbSBvZiAieCIpLlxuVGhlIHJlc3VsdGluZyB2YWx1ZSBtdXN0IGJlIGEgbm9ubmVnYXRpdmUgaW50ZWdlciBsZXNzIHRoYW4gdGhlIG51bWJlclxub2YgaXRlbXMgaW4gdGhlIHNlcXVlbmNlLCBhbmQgdGhlIHN1YnNjcmlwdGlvbiBzZWxlY3RzIHRoZSBpdGVtIHdob3NlXG5pbmRleCBpcyB0aGF0IHZhbHVlIChjb3VudGluZyBmcm9tIHplcm8pLiBTaW5jZSB0aGUgc3VwcG9ydCBmb3Jcbm5lZ2F0aXZlIGluZGljZXMgYW5kIHNsaWNpbmcgb2NjdXJzIGluIHRoZSBvYmplY3RcJ3MgIl9fZ2V0aXRlbV9fKCkiXG5tZXRob2QsIHN1YmNsYXNzZXMgb3ZlcnJpZGluZyB0aGlzIG1ldGhvZCB3aWxsIG5lZWQgdG8gZXhwbGljaXRseSBhZGRcbnRoYXQgc3VwcG9ydC5cblxuQSBzdHJpbmdcJ3MgaXRlbXMgYXJlIGNoYXJhY3RlcnMuICBBIGNoYXJhY3RlciBpcyBub3QgYSBzZXBhcmF0ZSBkYXRhXG50eXBlIGJ1dCBhIHN0cmluZyBvZiBleGFjdGx5IG9uZSBjaGFyYWN0ZXIuXG4nLApkaWZmIC0tZ2l0IGEvTGliL3F1ZXVlLnB5IGIvTGliL3F1ZXVlLnB5CmluZGV4IDNjZWUzNmIuLjU3MjQyNWUgMTAwNjQ0Ci0tLSBhL0xpYi9xdWV1ZS5weQorKysgYi9MaWIvcXVldWUucHkKQEAgLTYsMTAgKzYsNyBAQAogICAgIGltcG9ydCBkdW1teV90aHJlYWRpbmcgYXMgdGhyZWFkaW5nCiBmcm9tIGNvbGxlY3Rpb25zIGltcG9ydCBkZXF1ZQogZnJvbSBoZWFwcSBpbXBvcnQgaGVhcHB1c2gsIGhlYXBwb3AKLXRyeToKLSAgICBmcm9tIHRpbWUgaW1wb3J0IG1vbm90b25pYyBhcyB0aW1lCi1leGNlcHQgSW1wb3J0RXJyb3I6Ci0gICAgZnJvbSB0aW1lIGltcG9ydCB0aW1lCitmcm9tIHRpbWUgaW1wb3J0IG1vbm90b25pYyBhcyB0aW1lCiAKIF9fYWxsX18gPSBbJ0VtcHR5JywgJ0Z1bGwnLCAnUXVldWUnLCAnUHJpb3JpdHlRdWV1ZScsICdMaWZvUXVldWUnXQogCmRpZmYgLS1naXQgYS9MaWIvcmFuZG9tLnB5IGIvTGliL3JhbmRvbS5weQppbmRleCA0NjQyOTI4Li4xZjViZTQ1IDEwMDY0NAotLS0gYS9MaWIvcmFuZG9tLnB5CisrKyBiL0xpYi9yYW5kb20ucHkKQEAgLTY4Nyw3ICs2ODcsNyBAQAogICAgIHByaW50KHJvdW5kKHQxLXQwLCAzKSwgJ3NlYywnLCBlbmQ9JyAnKQogICAgIGF2ZyA9IHRvdGFsL24KICAgICBzdGRkZXYgPSBfc3FydChzcXN1bS9uIC0gYXZnKmF2ZykKLSAgICBwcmludCgnYXZnICVnLCBzdGRkZXYgJWcsIG1pbiAlZywgbWF4ICVnJyAlIFwKKyAgICBwcmludCgnYXZnICVnLCBzdGRkZXYgJWcsIG1pbiAlZywgbWF4ICVnXG4nICUgXAogICAgICAgICAgICAgICAoYXZnLCBzdGRkZXYsIHNtYWxsZXN0LCBsYXJnZXN0KSkKIAogCmRpZmYgLS1naXQgYS9MaWIvcmUucHkgYi9MaWIvcmUucHkKaW5kZXggMTk5YWZlZS4uNzg4ZmE2YiAxMDA2NDQKLS0tIGEvTGliL3JlLnB5CisrKyBiL0xpYi9yZS5weQpAQCAtMTI4LDEwICsxMjgsMTMgQEAKICAgICBfbG9jYWxlID0gTm9uZQogCiAjIHB1YmxpYyBzeW1ib2xzCi1fX2FsbF9fID0gWyAibWF0Y2giLCAiZnVsbG1hdGNoIiwgInNlYXJjaCIsICJzdWIiLCAic3VibiIsICJzcGxpdCIsICJmaW5kYWxsIiwKLSAgICAiY29tcGlsZSIsICJwdXJnZSIsICJ0ZW1wbGF0ZSIsICJlc2NhcGUiLCAiQSIsICJJIiwgIkwiLCAiTSIsICJTIiwgIlgiLAotICAgICJVIiwgIkFTQ0lJIiwgIklHTk9SRUNBU0UiLCAiTE9DQUxFIiwgIk1VTFRJTElORSIsICJET1RBTEwiLCAiVkVSQk9TRSIsCi0gICAgIlVOSUNPREUiLCAiZXJyb3IiIF0KK19fYWxsX18gPSBbCisgICAgIm1hdGNoIiwgImZ1bGxtYXRjaCIsICJzZWFyY2giLCAic3ViIiwgInN1Ym4iLCAic3BsaXQiLAorICAgICJmaW5kYWxsIiwgImZpbmRpdGVyIiwgImNvbXBpbGUiLCAicHVyZ2UiLCAidGVtcGxhdGUiLCAiZXNjYXBlIiwKKyAgICAiZXJyb3IiLCAiQSIsICJJIiwgIkwiLCAiTSIsICJTIiwgIlgiLCAiVSIsCisgICAgIkFTQ0lJIiwgIklHTk9SRUNBU0UiLCAiTE9DQUxFIiwgIk1VTFRJTElORSIsICJET1RBTEwiLCAiVkVSQk9TRSIsCisgICAgIlVOSUNPREUiLAorXQogCiBfX3ZlcnNpb25fXyA9ICIyLjIuMSIKIApAQCAtMjA5LDE0ICsyMTIsMTIgQEAKICAgICBFbXB0eSBtYXRjaGVzIGFyZSBpbmNsdWRlZCBpbiB0aGUgcmVzdWx0LiIiIgogICAgIHJldHVybiBfY29tcGlsZShwYXR0ZXJuLCBmbGFncykuZmluZGFsbChzdHJpbmcpCiAKLWlmIHN5cy5oZXh2ZXJzaW9uID49IDB4MDIwMjAwMDA6Ci0gICAgX19hbGxfXy5hcHBlbmQoImZpbmRpdGVyIikKLSAgICBkZWYgZmluZGl0ZXIocGF0dGVybiwgc3RyaW5nLCBmbGFncz0wKToKLSAgICAgICAgIiIiUmV0dXJuIGFuIGl0ZXJhdG9yIG92ZXIgYWxsIG5vbi1vdmVybGFwcGluZyBtYXRjaGVzIGluIHRoZQotICAgICAgICBzdHJpbmcuICBGb3IgZWFjaCBtYXRjaCwgdGhlIGl0ZXJhdG9yIHJldHVybnMgYSBtYXRjaCBvYmplY3QuCitkZWYgZmluZGl0ZXIocGF0dGVybiwgc3RyaW5nLCBmbGFncz0wKToKKyAgICAiIiJSZXR1cm4gYW4gaXRlcmF0b3Igb3ZlciBhbGwgbm9uLW92ZXJsYXBwaW5nIG1hdGNoZXMgaW4gdGhlCisgICAgc3RyaW5nLiAgRm9yIGVhY2ggbWF0Y2gsIHRoZSBpdGVyYXRvciByZXR1cm5zIGEgbWF0Y2ggb2JqZWN0LgogCi0gICAgICAgIEVtcHR5IG1hdGNoZXMgYXJlIGluY2x1ZGVkIGluIHRoZSByZXN1bHQuIiIiCi0gICAgICAgIHJldHVybiBfY29tcGlsZShwYXR0ZXJuLCBmbGFncykuZmluZGl0ZXIoc3RyaW5nKQorICAgIEVtcHR5IG1hdGNoZXMgYXJlIGluY2x1ZGVkIGluIHRoZSByZXN1bHQuIiIiCisgICAgcmV0dXJuIF9jb21waWxlKHBhdHRlcm4sIGZsYWdzKS5maW5kaXRlcihzdHJpbmcpCiAKIGRlZiBjb21waWxlKHBhdHRlcm4sIGZsYWdzPTApOgogICAgICJDb21waWxlIGEgcmVndWxhciBleHByZXNzaW9uIHBhdHRlcm4sIHJldHVybmluZyBhIHBhdHRlcm4gb2JqZWN0LiIKQEAgLTI3NiwxNCArMjc3LDEyIEBACiBfTUFYQ0FDSEUgPSA1MTIKIGRlZiBfY29tcGlsZShwYXR0ZXJuLCBmbGFncyk6CiAgICAgIyBpbnRlcm5hbDogY29tcGlsZSBwYXR0ZXJuCi0gICAgYnlwYXNzX2NhY2hlID0gZmxhZ3MgJiBERUJVRwotICAgIGlmIG5vdCBieXBhc3NfY2FjaGU6Ci0gICAgICAgIHRyeToKLSAgICAgICAgICAgIHAsIGxvYyA9IF9jYWNoZVt0eXBlKHBhdHRlcm4pLCBwYXR0ZXJuLCBmbGFnc10KLSAgICAgICAgICAgIGlmIGxvYyBpcyBOb25lIG9yIGxvYyA9PSBfbG9jYWxlLnNldGxvY2FsZShfbG9jYWxlLkxDX0NUWVBFKToKLSAgICAgICAgICAgICAgICByZXR1cm4gcAotICAgICAgICBleGNlcHQgS2V5RXJyb3I6Ci0gICAgICAgICAgICBwYXNzCisgICAgdHJ5OgorICAgICAgICBwLCBsb2MgPSBfY2FjaGVbdHlwZShwYXR0ZXJuKSwgcGF0dGVybiwgZmxhZ3NdCisgICAgICAgIGlmIGxvYyBpcyBOb25lIG9yIGxvYyA9PSBfbG9jYWxlLnNldGxvY2FsZShfbG9jYWxlLkxDX0NUWVBFKToKKyAgICAgICAgICAgIHJldHVybiBwCisgICAgZXhjZXB0IEtleUVycm9yOgorICAgICAgICBwYXNzCiAgICAgaWYgaXNpbnN0YW5jZShwYXR0ZXJuLCBfcGF0dGVybl90eXBlKToKICAgICAgICAgaWYgZmxhZ3M6CiAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKApAQCAtMjkyLDcgKzI5MSw3IEBACiAgICAgaWYgbm90IHNyZV9jb21waWxlLmlzc3RyaW5nKHBhdHRlcm4pOgogICAgICAgICByYWlzZSBUeXBlRXJyb3IoImZpcnN0IGFyZ3VtZW50IG11c3QgYmUgc3RyaW5nIG9yIGNvbXBpbGVkIHBhdHRlcm4iKQogICAgIHAgPSBzcmVfY29tcGlsZS5jb21waWxlKHBhdHRlcm4sIGZsYWdzKQotICAgIGlmIG5vdCBieXBhc3NfY2FjaGU6CisgICAgaWYgbm90IChmbGFncyAmIERFQlVHKToKICAgICAgICAgaWYgbGVuKF9jYWNoZSkgPj0gX01BWENBQ0hFOgogICAgICAgICAgICAgX2NhY2hlLmNsZWFyKCkKICAgICAgICAgaWYgcC5mbGFncyAmIExPQ0FMRToKQEAgLTM1MiwxMCArMzUxLDExIEBACiAgICAgICAgIHMgPSBzcmVfcGFyc2UuUGF0dGVybigpCiAgICAgICAgIHMuZmxhZ3MgPSBmbGFncwogICAgICAgICBmb3IgcGhyYXNlLCBhY3Rpb24gaW4gbGV4aWNvbjoKKyAgICAgICAgICAgIGdpZCA9IHMub3Blbmdyb3VwKCkKICAgICAgICAgICAgIHAuYXBwZW5kKHNyZV9wYXJzZS5TdWJQYXR0ZXJuKHMsIFsKLSAgICAgICAgICAgICAgICAoU1VCUEFUVEVSTiwgKGxlbihwKSsxLCBzcmVfcGFyc2UucGFyc2UocGhyYXNlLCBmbGFncykpKSwKKyAgICAgICAgICAgICAgICAoU1VCUEFUVEVSTiwgKGdpZCwgc3JlX3BhcnNlLnBhcnNlKHBocmFzZSwgZmxhZ3MpKSksCiAgICAgICAgICAgICAgICAgXSkpCi0gICAgICAgIHMuZ3JvdXBzID0gbGVuKHApKzEKKyAgICAgICAgICAgIHMuY2xvc2Vncm91cChnaWQsIHBbLTFdKQogICAgICAgICBwID0gc3JlX3BhcnNlLlN1YlBhdHRlcm4ocywgWyhCUkFOQ0gsIChOb25lLCBwKSldKQogICAgICAgICBzZWxmLnNjYW5uZXIgPSBzcmVfY29tcGlsZS5jb21waWxlKHApCiAgICAgZGVmIHNjYW4oc2VsZiwgc3RyaW5nKToKQEAgLTM2Myw3ICszNjMsNyBAQAogICAgICAgICBhcHBlbmQgPSByZXN1bHQuYXBwZW5kCiAgICAgICAgIG1hdGNoID0gc2VsZi5zY2FubmVyLnNjYW5uZXIoc3RyaW5nKS5tYXRjaAogICAgICAgICBpID0gMAotICAgICAgICB3aGlsZSAxOgorICAgICAgICB3aGlsZSBUcnVlOgogICAgICAgICAgICAgbSA9IG1hdGNoKCkKICAgICAgICAgICAgIGlmIG5vdCBtOgogICAgICAgICAgICAgICAgIGJyZWFrCmRpZmYgLS1naXQgYS9MaWIvcmVwcmxpYi5weSBiL0xpYi9yZXBybGliLnB5CmluZGV4IGY4MDMzNjAuLmVjYmQyY2MgMTAwNjQ0Ci0tLSBhL0xpYi9yZXBybGliLnB5CisrKyBiL0xpYi9yZXBybGliLnB5CkBAIC04MywxNiArODMsMjIgQEAKICAgICAgICAgcmV0dXJuIHNlbGYuX3JlcHJfaXRlcmFibGUoeCwgbGV2ZWwsICdbJywgJ10nLCBzZWxmLm1heGxpc3QpCiAKICAgICBkZWYgcmVwcl9hcnJheShzZWxmLCB4LCBsZXZlbCk6CisgICAgICAgIGlmIG5vdCB4OgorICAgICAgICAgICAgcmV0dXJuICJhcnJheSgnJXMnKSIgJSB4LnR5cGVjb2RlCiAgICAgICAgIGhlYWRlciA9ICJhcnJheSgnJXMnLCBbIiAlIHgudHlwZWNvZGUKICAgICAgICAgcmV0dXJuIHNlbGYuX3JlcHJfaXRlcmFibGUoeCwgbGV2ZWwsIGhlYWRlciwgJ10pJywgc2VsZi5tYXhhcnJheSkKIAogICAgIGRlZiByZXByX3NldChzZWxmLCB4LCBsZXZlbCk6CisgICAgICAgIGlmIG5vdCB4OgorICAgICAgICAgICAgcmV0dXJuICdzZXQoKScKICAgICAgICAgeCA9IF9wb3NzaWJseV9zb3J0ZWQoeCkKLSAgICAgICAgcmV0dXJuIHNlbGYuX3JlcHJfaXRlcmFibGUoeCwgbGV2ZWwsICdzZXQoWycsICddKScsIHNlbGYubWF4c2V0KQorICAgICAgICByZXR1cm4gc2VsZi5fcmVwcl9pdGVyYWJsZSh4LCBsZXZlbCwgJ3snLCAnfScsIHNlbGYubWF4c2V0KQogCiAgICAgZGVmIHJlcHJfZnJvemVuc2V0KHNlbGYsIHgsIGxldmVsKToKKyAgICAgICAgaWYgbm90IHg6CisgICAgICAgICAgICByZXR1cm4gJ2Zyb3plbnNldCgpJwogICAgICAgICB4ID0gX3Bvc3NpYmx5X3NvcnRlZCh4KQotICAgICAgICByZXR1cm4gc2VsZi5fcmVwcl9pdGVyYWJsZSh4LCBsZXZlbCwgJ2Zyb3plbnNldChbJywgJ10pJywKKyAgICAgICAgcmV0dXJuIHNlbGYuX3JlcHJfaXRlcmFibGUoeCwgbGV2ZWwsICdmcm96ZW5zZXQoeycsICd9KScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYubWF4ZnJvemVuc2V0KQogCiAgICAgZGVmIHJlcHJfZGVxdWUoc2VsZiwgeCwgbGV2ZWwpOgpAQCAtMTM2LDcgKzE0Miw3IEBACiAgICAgICAgICAgICAjIEJ1Z3MgaW4geC5fX3JlcHJfXygpIGNhbiBjYXVzZSBhcmJpdHJhcnkKICAgICAgICAgICAgICMgZXhjZXB0aW9ucyAtLSB0aGVuIG1ha2UgdXAgc29tZXRoaW5nCiAgICAgICAgIGV4Y2VwdCBFeGNlcHRpb246Ci0gICAgICAgICAgICByZXR1cm4gJzwlcyBpbnN0YW5jZSBhdCAleD4nICUgKHguX19jbGFzc19fLl9fbmFtZV9fLCBpZCh4KSkKKyAgICAgICAgICAgIHJldHVybiAnPCVzIGluc3RhbmNlIGF0ICUjeD4nICUgKHguX19jbGFzc19fLl9fbmFtZV9fLCBpZCh4KSkKICAgICAgICAgaWYgbGVuKHMpID4gc2VsZi5tYXhvdGhlcjoKICAgICAgICAgICAgIGkgPSBtYXgoMCwgKHNlbGYubWF4b3RoZXItMykvLzIpCiAgICAgICAgICAgICBqID0gbWF4KDAsIHNlbGYubWF4b3RoZXItMy1pKQpkaWZmIC0tZ2l0IGEvTGliL3J1bnB5LnB5IGIvTGliL3J1bnB5LnB5CmluZGV4IDBiYjU3ZDcuLmQ5YzY0M2QgMTAwNjQ0Ci0tLSBhL0xpYi9ydW5weS5weQorKysgYi9MaWIvcnVucHkucHkKQEAgLTU4LDcgKzU4LDcgQEAKICAgICAgICAgc2VsZi52YWx1ZSA9IHNlbGYuX3NlbnRpbmVsCiAgICAgICAgIHN5cy5hcmd2WzBdID0gc2VsZi5fc2F2ZWRfdmFsdWUKIAotIyBUT0RPOiBSZXBsYWNlIHRoZXNlIGhlbHBlcnMgd2l0aCBpbXBvcnRsaWIuX2Jvb3RzdHJhcC5fU3BlY01ldGhvZHMKKyMgVE9ETzogUmVwbGFjZSB0aGVzZSBoZWxwZXJzIHdpdGggaW1wb3J0bGliLl9ib290c3RyYXAgZnVuY3Rpb25zCiBkZWYgX3J1bl9jb2RlKGNvZGUsIHJ1bl9nbG9iYWxzLCBpbml0X2dsb2JhbHM9Tm9uZSwKICAgICAgICAgICAgICAgbW9kX25hbWU9Tm9uZSwgbW9kX3NwZWM9Tm9uZSwKICAgICAgICAgICAgICAgcGtnX25hbWU9Tm9uZSwgc2NyaXB0X25hbWU9Tm9uZSk6CmRpZmYgLS1naXQgYS9MaWIvc2NoZWQucHkgYi9MaWIvc2NoZWQucHkKaW5kZXggMmU2YjAwYS4uYjQ3NjQ4ZCAxMDA2NDQKLS0tIGEvTGliL3NjaGVkLnB5CisrKyBiL0xpYi9zY2hlZC5weQpAQCAtMzUsMTYgKzM1LDEyIEBACiAgICAgaW1wb3J0IHRocmVhZGluZwogZXhjZXB0IEltcG9ydEVycm9yOgogICAgIGltcG9ydCBkdW1teV90aHJlYWRpbmcgYXMgdGhyZWFkaW5nCi10cnk6Ci0gICAgZnJvbSB0aW1lIGltcG9ydCBtb25vdG9uaWMgYXMgX3RpbWUKLWV4Y2VwdCBJbXBvcnRFcnJvcjoKLSAgICBmcm9tIHRpbWUgaW1wb3J0IHRpbWUgYXMgX3RpbWUKK2Zyb20gdGltZSBpbXBvcnQgbW9ub3RvbmljIGFzIF90aW1lCiAKIF9fYWxsX18gPSBbInNjaGVkdWxlciJdCiAKIGNsYXNzIEV2ZW50KG5hbWVkdHVwbGUoJ0V2ZW50JywgJ3RpbWUsIHByaW9yaXR5LCBhY3Rpb24sIGFyZ3VtZW50LCBrd2FyZ3MnKSk6CiAgICAgZGVmIF9fZXFfXyhzLCBvKTogcmV0dXJuIChzLnRpbWUsIHMucHJpb3JpdHkpID09IChvLnRpbWUsIG8ucHJpb3JpdHkpCi0gICAgZGVmIF9fbmVfXyhzLCBvKTogcmV0dXJuIChzLnRpbWUsIHMucHJpb3JpdHkpICE9IChvLnRpbWUsIG8ucHJpb3JpdHkpCiAgICAgZGVmIF9fbHRfXyhzLCBvKTogcmV0dXJuIChzLnRpbWUsIHMucHJpb3JpdHkpIDwgIChvLnRpbWUsIG8ucHJpb3JpdHkpCiAgICAgZGVmIF9fbGVfXyhzLCBvKTogcmV0dXJuIChzLnRpbWUsIHMucHJpb3JpdHkpIDw9IChvLnRpbWUsIG8ucHJpb3JpdHkpCiAgICAgZGVmIF9fZ3RfXyhzLCBvKTogcmV0dXJuIChzLnRpbWUsIHMucHJpb3JpdHkpID4gIChvLnRpbWUsIG8ucHJpb3JpdHkpCmRpZmYgLS1naXQgYS9MaWIvc2VsZWN0b3JzLnB5IGIvTGliL3NlbGVjdG9ycy5weQppbmRleCBiZWI3ZWY3Li42ZDU2OWMzIDEwMDY0NAotLS0gYS9MaWIvc2VsZWN0b3JzLnB5CisrKyBiL0xpYi9zZWxlY3RvcnMucHkKQEAgLTE3NCw5ICsxNzQsOSBAQAogICAgICAgICBTZWxlY3RvcktleSBmb3IgdGhpcyBmaWxlIG9iamVjdAogICAgICAgICAiIiIKICAgICAgICAgbWFwcGluZyA9IHNlbGYuZ2V0X21hcCgpCisgICAgICAgIGlmIG1hcHBpbmcgaXMgTm9uZToKKyAgICAgICAgICAgIHJhaXNlIFJ1bnRpbWVFcnJvcignU2VsZWN0b3IgaXMgY2xvc2VkJykKICAgICAgICAgdHJ5OgotICAgICAgICAgICAgaWYgbWFwcGluZyBpcyBOb25lOgotICAgICAgICAgICAgICAgIHJhaXNlIEtleUVycm9yCiAgICAgICAgICAgICByZXR1cm4gbWFwcGluZ1tmaWxlb2JqXQogICAgICAgICBleGNlcHQgS2V5RXJyb3I6CiAgICAgICAgICAgICByYWlzZSBLZXlFcnJvcigieyFyfSBpcyBub3QgcmVnaXN0ZXJlZCIuZm9ybWF0KGZpbGVvYmopKSBmcm9tIE5vbmUKQEAgLTQ0OSw2ICs0NDksNjQgQEAKICAgICAgICAgICAgIHN1cGVyKCkuY2xvc2UoKQogCiAKK2lmIGhhc2F0dHIoc2VsZWN0LCAnZGV2cG9sbCcpOgorCisgICAgY2xhc3MgRGV2cG9sbFNlbGVjdG9yKF9CYXNlU2VsZWN0b3JJbXBsKToKKyAgICAgICAgIiIiU29sYXJpcyAvZGV2L3BvbGwgc2VsZWN0b3IuIiIiCisKKyAgICAgICAgZGVmIF9faW5pdF9fKHNlbGYpOgorICAgICAgICAgICAgc3VwZXIoKS5fX2luaXRfXygpCisgICAgICAgICAgICBzZWxmLl9kZXZwb2xsID0gc2VsZWN0LmRldnBvbGwoKQorCisgICAgICAgIGRlZiBmaWxlbm8oc2VsZik6CisgICAgICAgICAgICByZXR1cm4gc2VsZi5fZGV2cG9sbC5maWxlbm8oKQorCisgICAgICAgIGRlZiByZWdpc3RlcihzZWxmLCBmaWxlb2JqLCBldmVudHMsIGRhdGE9Tm9uZSk6CisgICAgICAgICAgICBrZXkgPSBzdXBlcigpLnJlZ2lzdGVyKGZpbGVvYmosIGV2ZW50cywgZGF0YSkKKyAgICAgICAgICAgIHBvbGxfZXZlbnRzID0gMAorICAgICAgICAgICAgaWYgZXZlbnRzICYgRVZFTlRfUkVBRDoKKyAgICAgICAgICAgICAgICBwb2xsX2V2ZW50cyB8PSBzZWxlY3QuUE9MTElOCisgICAgICAgICAgICBpZiBldmVudHMgJiBFVkVOVF9XUklURToKKyAgICAgICAgICAgICAgICBwb2xsX2V2ZW50cyB8PSBzZWxlY3QuUE9MTE9VVAorICAgICAgICAgICAgc2VsZi5fZGV2cG9sbC5yZWdpc3RlcihrZXkuZmQsIHBvbGxfZXZlbnRzKQorICAgICAgICAgICAgcmV0dXJuIGtleQorCisgICAgICAgIGRlZiB1bnJlZ2lzdGVyKHNlbGYsIGZpbGVvYmopOgorICAgICAgICAgICAga2V5ID0gc3VwZXIoKS51bnJlZ2lzdGVyKGZpbGVvYmopCisgICAgICAgICAgICBzZWxmLl9kZXZwb2xsLnVucmVnaXN0ZXIoa2V5LmZkKQorICAgICAgICAgICAgcmV0dXJuIGtleQorCisgICAgICAgIGRlZiBzZWxlY3Qoc2VsZiwgdGltZW91dD1Ob25lKToKKyAgICAgICAgICAgIGlmIHRpbWVvdXQgaXMgTm9uZToKKyAgICAgICAgICAgICAgICB0aW1lb3V0ID0gTm9uZQorICAgICAgICAgICAgZWxpZiB0aW1lb3V0IDw9IDA6CisgICAgICAgICAgICAgICAgdGltZW91dCA9IDAKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgIyBkZXZwb2xsKCkgaGFzIGEgcmVzb2x1dGlvbiBvZiAxIG1pbGxpc2Vjb25kLCByb3VuZCBhd2F5IGZyb20KKyAgICAgICAgICAgICAgICAjIHplcm8gdG8gd2FpdCAqYXQgbGVhc3QqIHRpbWVvdXQgc2Vjb25kcy4KKyAgICAgICAgICAgICAgICB0aW1lb3V0ID0gbWF0aC5jZWlsKHRpbWVvdXQgKiAxZTMpCisgICAgICAgICAgICByZWFkeSA9IFtdCisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgZmRfZXZlbnRfbGlzdCA9IHNlbGYuX2RldnBvbGwucG9sbCh0aW1lb3V0KQorICAgICAgICAgICAgZXhjZXB0IEludGVycnVwdGVkRXJyb3I6CisgICAgICAgICAgICAgICAgcmV0dXJuIHJlYWR5CisgICAgICAgICAgICBmb3IgZmQsIGV2ZW50IGluIGZkX2V2ZW50X2xpc3Q6CisgICAgICAgICAgICAgICAgZXZlbnRzID0gMAorICAgICAgICAgICAgICAgIGlmIGV2ZW50ICYgfnNlbGVjdC5QT0xMSU46CisgICAgICAgICAgICAgICAgICAgIGV2ZW50cyB8PSBFVkVOVF9XUklURQorICAgICAgICAgICAgICAgIGlmIGV2ZW50ICYgfnNlbGVjdC5QT0xMT1VUOgorICAgICAgICAgICAgICAgICAgICBldmVudHMgfD0gRVZFTlRfUkVBRAorCisgICAgICAgICAgICAgICAga2V5ID0gc2VsZi5fa2V5X2Zyb21fZmQoZmQpCisgICAgICAgICAgICAgICAgaWYga2V5OgorICAgICAgICAgICAgICAgICAgICByZWFkeS5hcHBlbmQoKGtleSwgZXZlbnRzICYga2V5LmV2ZW50cykpCisgICAgICAgICAgICByZXR1cm4gcmVhZHkKKworICAgICAgICBkZWYgY2xvc2Uoc2VsZik6CisgICAgICAgICAgICBzZWxmLl9kZXZwb2xsLmNsb3NlKCkKKyAgICAgICAgICAgIHN1cGVyKCkuY2xvc2UoKQorCisKIGlmIGhhc2F0dHIoc2VsZWN0LCAna3F1ZXVlJyk6CiAKICAgICBjbGFzcyBLcXVldWVTZWxlY3RvcihfQmFzZVNlbGVjdG9ySW1wbCk6CkBAIC01MjEsMTIgKzU3OSwxNSBAQAogICAgICAgICAgICAgc3VwZXIoKS5jbG9zZSgpCiAKIAotIyBDaG9vc2UgdGhlIGJlc3QgaW1wbGVtZW50YXRpb246IHJvdWdobHksIGVwb2xsfGtxdWV1ZSA+IHBvbGwgPiBzZWxlY3QuCisjIENob29zZSB0aGUgYmVzdCBpbXBsZW1lbnRhdGlvbiwgcm91Z2hseToKKyMgICAgZXBvbGx8a3F1ZXVlfGRldnBvbGwgPiBwb2xsID4gc2VsZWN0LgogIyBzZWxlY3QoKSBhbHNvIGNhbid0IGFjY2VwdCBhIEZEID4gRkRfU0VUU0laRSAodXN1YWxseSBhcm91bmQgMTAyNCkKIGlmICdLcXVldWVTZWxlY3RvcicgaW4gZ2xvYmFscygpOgogICAgIERlZmF1bHRTZWxlY3RvciA9IEtxdWV1ZVNlbGVjdG9yCiBlbGlmICdFcG9sbFNlbGVjdG9yJyBpbiBnbG9iYWxzKCk6CiAgICAgRGVmYXVsdFNlbGVjdG9yID0gRXBvbGxTZWxlY3RvcgorZWxpZiAnRGV2cG9sbFNlbGVjdG9yJyBpbiBnbG9iYWxzKCk6CisgICAgRGVmYXVsdFNlbGVjdG9yID0gRGV2cG9sbFNlbGVjdG9yCiBlbGlmICdQb2xsU2VsZWN0b3InIGluIGdsb2JhbHMoKToKICAgICBEZWZhdWx0U2VsZWN0b3IgPSBQb2xsU2VsZWN0b3IKIGVsc2U6CmRpZmYgLS1naXQgYS9MaWIvc2h1dGlsLnB5IGIvTGliL3NodXRpbC5weQppbmRleCBhYzA2YWU1Li42MWRjODA0IDEwMDY0NAotLS0gYS9MaWIvc2h1dGlsLnB5CisrKyBiL0xpYi9zaHV0aWwucHkKQEAgLTcsNyArNyw2IEBACiBpbXBvcnQgb3MKIGltcG9ydCBzeXMKIGltcG9ydCBzdGF0Ci1mcm9tIG9zLnBhdGggaW1wb3J0IGFic3BhdGgKIGltcG9ydCBmbm1hdGNoCiBpbXBvcnQgY29sbGVjdGlvbnMKIGltcG9ydCBlcnJubwpAQCAtMjEsNiArMjAsMTMgQEAKICAgICBfQloyX1NVUFBPUlRFRCA9IEZhbHNlCiAKIHRyeToKKyAgICBpbXBvcnQgbHptYQorICAgIGRlbCBsem1hCisgICAgX0xaTUFfU1VQUE9SVEVEID0gVHJ1ZQorZXhjZXB0IEltcG9ydEVycm9yOgorICAgIF9MWk1BX1NVUFBPUlRFRCA9IEZhbHNlCisKK3RyeToKICAgICBmcm9tIHB3ZCBpbXBvcnQgZ2V0cHduYW0KIGV4Y2VwdCBJbXBvcnRFcnJvcjoKICAgICBnZXRwd25hbSA9IE5vbmUKQEAgLTQ4Nyw3ICs0OTMsNyBAQAogICAgIHNlcCA9IG9zLnBhdGguc2VwICsgKG9zLnBhdGguYWx0c2VwIG9yICcnKQogICAgIHJldHVybiBvcy5wYXRoLmJhc2VuYW1lKHBhdGgucnN0cmlwKHNlcCkpCiAKLWRlZiBtb3ZlKHNyYywgZHN0KToKK2RlZiBtb3ZlKHNyYywgZHN0LCBjb3B5X2Z1bmN0aW9uPWNvcHkyKToKICAgICAiIiJSZWN1cnNpdmVseSBtb3ZlIGEgZmlsZSBvciBkaXJlY3RvcnkgdG8gYW5vdGhlciBsb2NhdGlvbi4gVGhpcyBpcwogICAgIHNpbWlsYXIgdG8gdGhlIFVuaXggIm12IiBjb21tYW5kLiBSZXR1cm4gdGhlIGZpbGUgb3IgZGlyZWN0b3J5J3MKICAgICBkZXN0aW5hdGlvbi4KQEAgLTUwNCw2ICs1MTAsMTEgQEAKICAgICByZWNyZWF0ZWQgdW5kZXIgdGhlIG5ldyBuYW1lIGlmIG9zLnJlbmFtZSgpIGZhaWxzIGJlY2F1c2Ugb2YgY3Jvc3MKICAgICBmaWxlc3lzdGVtIHJlbmFtZXMuCiAKKyAgICBUaGUgb3B0aW9uYWwgYGNvcHlfZnVuY3Rpb25gIGFyZ3VtZW50IGlzIGEgY2FsbGFibGUgdGhhdCB3aWxsIGJlIHVzZWQKKyAgICB0byBjb3B5IHRoZSBzb3VyY2Ugb3IgaXQgd2lsbCBiZSBkZWxlZ2F0ZWQgdG8gYGNvcHl0cmVlYC4KKyAgICBCeSBkZWZhdWx0LCBjb3B5MigpIGlzIHVzZWQsIGJ1dCBhbnkgZnVuY3Rpb24gdGhhdCBzdXBwb3J0cyB0aGUgc2FtZQorICAgIHNpZ25hdHVyZSAobGlrZSBjb3B5KCkpIGNhbiBiZSB1c2VkLgorCiAgICAgQSBsb3QgbW9yZSBjb3VsZCBiZSBkb25lIGhlcmUuLi4gIEEgbG9vayBhdCBhIG12LmMgc2hvd3MgYSBsb3Qgb2YKICAgICB0aGUgaXNzdWVzIHRoaXMgaW1wbGVtZW50YXRpb24gZ2xvc3NlcyBvdmVyLgogCkBAIC01MjgsMTcgKzUzOSwxOSBAQAogICAgICAgICAgICAgb3MudW5saW5rKHNyYykKICAgICAgICAgZWxpZiBvcy5wYXRoLmlzZGlyKHNyYyk6CiAgICAgICAgICAgICBpZiBfZGVzdGluc3JjKHNyYywgZHN0KToKLSAgICAgICAgICAgICAgICByYWlzZSBFcnJvcigiQ2Fubm90IG1vdmUgYSBkaXJlY3RvcnkgJyVzJyBpbnRvIGl0c2VsZiAnJXMnLiIgJSAoc3JjLCBkc3QpKQotICAgICAgICAgICAgY29weXRyZWUoc3JjLCByZWFsX2RzdCwgc3ltbGlua3M9VHJ1ZSkKKyAgICAgICAgICAgICAgICByYWlzZSBFcnJvcigiQ2Fubm90IG1vdmUgYSBkaXJlY3RvcnkgJyVzJyBpbnRvIGl0c2VsZiIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAiICclcycuIiAlIChzcmMsIGRzdCkpCisgICAgICAgICAgICBjb3B5dHJlZShzcmMsIHJlYWxfZHN0LCBjb3B5X2Z1bmN0aW9uPWNvcHlfZnVuY3Rpb24sCisgICAgICAgICAgICAgICAgICAgICBzeW1saW5rcz1UcnVlKQogICAgICAgICAgICAgcm10cmVlKHNyYykKICAgICAgICAgZWxzZToKLSAgICAgICAgICAgIGNvcHkyKHNyYywgcmVhbF9kc3QpCisgICAgICAgICAgICBjb3B5X2Z1bmN0aW9uKHNyYywgcmVhbF9kc3QpCiAgICAgICAgICAgICBvcy51bmxpbmsoc3JjKQogICAgIHJldHVybiByZWFsX2RzdAogCiBkZWYgX2Rlc3RpbnNyYyhzcmMsIGRzdCk6Ci0gICAgc3JjID0gYWJzcGF0aChzcmMpCi0gICAgZHN0ID0gYWJzcGF0aChkc3QpCisgICAgc3JjID0gb3MucGF0aC5hYnNwYXRoKHNyYykKKyAgICBkc3QgPSBvcy5wYXRoLmFic3BhdGgoZHN0KQogICAgIGlmIG5vdCBzcmMuZW5kc3dpdGgob3MucGF0aC5zZXApOgogICAgICAgICBzcmMgKz0gb3MucGF0aC5zZXAKICAgICBpZiBub3QgZHN0LmVuZHN3aXRoKG9zLnBhdGguc2VwKToKQEAgLTU3NCwxNCArNTg3LDE0IEBACiAgICAgIiIiQ3JlYXRlIGEgKHBvc3NpYmx5IGNvbXByZXNzZWQpIHRhciBmaWxlIGZyb20gYWxsIHRoZSBmaWxlcyB1bmRlcgogICAgICdiYXNlX2RpcicuCiAKLSAgICAnY29tcHJlc3MnIG11c3QgYmUgImd6aXAiICh0aGUgZGVmYXVsdCksICJiemlwMiIsIG9yIE5vbmUuCisgICAgJ2NvbXByZXNzJyBtdXN0IGJlICJnemlwIiAodGhlIGRlZmF1bHQpLCAiYnppcDIiLCAieHoiLCBvciBOb25lLgogCiAgICAgJ293bmVyJyBhbmQgJ2dyb3VwJyBjYW4gYmUgdXNlZCB0byBkZWZpbmUgYW4gb3duZXIgYW5kIGEgZ3JvdXAgZm9yIHRoZQogICAgIGFyY2hpdmUgdGhhdCBpcyBiZWluZyBidWlsdC4gSWYgbm90IHByb3ZpZGVkLCB0aGUgY3VycmVudCBvd25lciBhbmQgZ3JvdXAKICAgICB3aWxsIGJlIHVzZWQuCiAKICAgICBUaGUgb3V0cHV0IHRhciBmaWxlIHdpbGwgYmUgbmFtZWQgJ2Jhc2VfbmFtZScgKyAgIi50YXIiLCBwb3NzaWJseSBwbHVzCi0gICAgdGhlIGFwcHJvcHJpYXRlIGNvbXByZXNzaW9uIGV4dGVuc2lvbiAoIi5neiIsIG9yICIuYnoyIikuCisgICAgdGhlIGFwcHJvcHJpYXRlIGNvbXByZXNzaW9uIGV4dGVuc2lvbiAoIi5neiIsICIuYnoyIiwgb3IgIi54eiIpLgogCiAgICAgUmV0dXJucyB0aGUgb3V0cHV0IGZpbGVuYW1lLgogICAgICIiIgpAQCAtNTkyLDYgKzYwNSwxMCBAQAogICAgICAgICB0YXJfY29tcHJlc3Npb25bJ2J6aXAyJ10gPSAnYnoyJwogICAgICAgICBjb21wcmVzc19leHRbJ2J6aXAyJ10gPSAnLmJ6MicKIAorICAgIGlmIF9MWk1BX1NVUFBPUlRFRDoKKyAgICAgICAgdGFyX2NvbXByZXNzaW9uWyd4eiddID0gJ3h6JworICAgICAgICBjb21wcmVzc19leHRbJ3h6J10gPSAnLnh6JworCiAgICAgIyBmbGFncyBmb3IgY29tcHJlc3Npb24gcHJvZ3JhbSwgZWFjaCBlbGVtZW50IG9mIGxpc3Qgd2lsbCBiZSBhbiBhcmd1bWVudAogICAgIGlmIGNvbXByZXNzIGlzIG5vdCBOb25lIGFuZCBjb21wcmVzcyBub3QgaW4gY29tcHJlc3NfZXh0OgogICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJiYWQgdmFsdWUgZm9yICdjb21wcmVzcycsIG9yIGNvbXByZXNzaW9uIGZvcm1hdCBub3QgIgpAQCAtNjMxLDIzICs2NDgsNiBAQAogCiAgICAgcmV0dXJuIGFyY2hpdmVfbmFtZQogCi1kZWYgX2NhbGxfZXh0ZXJuYWxfemlwKGJhc2VfZGlyLCB6aXBfZmlsZW5hbWUsIHZlcmJvc2U9RmFsc2UsIGRyeV9ydW49RmFsc2UpOgotICAgICMgWFhYIHNlZSBpZiB3ZSB3YW50IHRvIGtlZXAgYW4gZXh0ZXJuYWwgY2FsbCBoZXJlCi0gICAgaWYgdmVyYm9zZToKLSAgICAgICAgemlwb3B0aW9ucyA9ICItciIKLSAgICBlbHNlOgotICAgICAgICB6aXBvcHRpb25zID0gIi1ycSIKLSAgICBmcm9tIGRpc3R1dGlscy5lcnJvcnMgaW1wb3J0IERpc3R1dGlsc0V4ZWNFcnJvcgotICAgIGZyb20gZGlzdHV0aWxzLnNwYXduIGltcG9ydCBzcGF3bgotICAgIHRyeToKLSAgICAgICAgc3Bhd24oWyJ6aXAiLCB6aXBvcHRpb25zLCB6aXBfZmlsZW5hbWUsIGJhc2VfZGlyXSwgZHJ5X3J1bj1kcnlfcnVuKQotICAgIGV4Y2VwdCBEaXN0dXRpbHNFeGVjRXJyb3I6Ci0gICAgICAgICMgWFhYIHJlYWxseSBzaG91bGQgZGlzdGluZ3Vpc2ggYmV0d2VlbiAiY291bGRuJ3QgZmluZAotICAgICAgICAjIGV4dGVybmFsICd6aXAnIGNvbW1hbmQiIGFuZCAiemlwIGZhaWxlZCIuCi0gICAgICAgIHJhaXNlIEV4ZWNFcnJvcigidW5hYmxlIHRvIGNyZWF0ZSB6aXAgZmlsZSAnJXMnOiAiCi0gICAgICAgICAgICAiY291bGQgbmVpdGhlciBpbXBvcnQgdGhlICd6aXBmaWxlJyBtb2R1bGUgbm9yICIKLSAgICAgICAgICAgICJmaW5kIGEgc3RhbmRhbG9uZSB6aXAgdXRpbGl0eSIpICUgemlwX2ZpbGVuYW1lCi0KIGRlZiBfbWFrZV96aXBmaWxlKGJhc2VfbmFtZSwgYmFzZV9kaXIsIHZlcmJvc2U9MCwgZHJ5X3J1bj0wLCBsb2dnZXI9Tm9uZSk6CiAgICAgIiIiQ3JlYXRlIGEgemlwIGZpbGUgZnJvbSBhbGwgdGhlIGZpbGVzIHVuZGVyICdiYXNlX2RpcicuCiAKQEAgLTY1Nyw2ICs2NTcsOCBAQAogICAgIGF2YWlsYWJsZSwgcmFpc2VzIEV4ZWNFcnJvci4gIFJldHVybnMgdGhlIG5hbWUgb2YgdGhlIG91dHB1dCB6aXAKICAgICBmaWxlLgogICAgICIiIgorICAgIGltcG9ydCB6aXBmaWxlCisKICAgICB6aXBfZmlsZW5hbWUgPSBiYXNlX25hbWUgKyAiLnppcCIKICAgICBhcmNoaXZlX2RpciA9IG9zLnBhdGguZGlybmFtZShiYXNlX25hbWUpCiAKQEAgLTY2NiwzMCArNjY4LDIwIEBACiAgICAgICAgIGlmIG5vdCBkcnlfcnVuOgogICAgICAgICAgICAgb3MubWFrZWRpcnMoYXJjaGl2ZV9kaXIpCiAKLSAgICAjIElmIHppcGZpbGUgbW9kdWxlIGlzIG5vdCBhdmFpbGFibGUsIHRyeSBzcGF3bmluZyBhbiBleHRlcm5hbCAnemlwJwotICAgICMgY29tbWFuZC4KLSAgICB0cnk6Ci0gICAgICAgIGltcG9ydCB6aXBmaWxlCi0gICAgZXhjZXB0IEltcG9ydEVycm9yOgotICAgICAgICB6aXBmaWxlID0gTm9uZQorICAgIGlmIGxvZ2dlciBpcyBub3QgTm9uZToKKyAgICAgICAgbG9nZ2VyLmluZm8oImNyZWF0aW5nICclcycgYW5kIGFkZGluZyAnJXMnIHRvIGl0IiwKKyAgICAgICAgICAgICAgICAgICAgemlwX2ZpbGVuYW1lLCBiYXNlX2RpcikKIAotICAgIGlmIHppcGZpbGUgaXMgTm9uZToKLSAgICAgICAgX2NhbGxfZXh0ZXJuYWxfemlwKGJhc2VfZGlyLCB6aXBfZmlsZW5hbWUsIHZlcmJvc2UsIGRyeV9ydW4pCi0gICAgZWxzZToKLSAgICAgICAgaWYgbG9nZ2VyIGlzIG5vdCBOb25lOgotICAgICAgICAgICAgbG9nZ2VyLmluZm8oImNyZWF0aW5nICclcycgYW5kIGFkZGluZyAnJXMnIHRvIGl0IiwKLSAgICAgICAgICAgICAgICAgICAgICAgIHppcF9maWxlbmFtZSwgYmFzZV9kaXIpCi0KLSAgICAgICAgaWYgbm90IGRyeV9ydW46Ci0gICAgICAgICAgICB3aXRoIHppcGZpbGUuWmlwRmlsZSh6aXBfZmlsZW5hbWUsICJ3IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXByZXNzaW9uPXppcGZpbGUuWklQX0RFRkxBVEVEKSBhcyB6ZjoKLSAgICAgICAgICAgICAgICBmb3IgZGlycGF0aCwgZGlybmFtZXMsIGZpbGVuYW1lcyBpbiBvcy53YWxrKGJhc2VfZGlyKToKLSAgICAgICAgICAgICAgICAgICAgZm9yIG5hbWUgaW4gZmlsZW5hbWVzOgotICAgICAgICAgICAgICAgICAgICAgICAgcGF0aCA9IG9zLnBhdGgubm9ybXBhdGgob3MucGF0aC5qb2luKGRpcnBhdGgsIG5hbWUpKQotICAgICAgICAgICAgICAgICAgICAgICAgaWYgb3MucGF0aC5pc2ZpbGUocGF0aCk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgemYud3JpdGUocGF0aCwgcGF0aCkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiBsb2dnZXIgaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvZ2dlci5pbmZvKCJhZGRpbmcgJyVzJyIsIHBhdGgpCisgICAgaWYgbm90IGRyeV9ydW46CisgICAgICAgIHdpdGggemlwZmlsZS5aaXBGaWxlKHppcF9maWxlbmFtZSwgInciLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21wcmVzc2lvbj16aXBmaWxlLlpJUF9ERUZMQVRFRCkgYXMgemY6CisgICAgICAgICAgICBmb3IgZGlycGF0aCwgZGlybmFtZXMsIGZpbGVuYW1lcyBpbiBvcy53YWxrKGJhc2VfZGlyKToKKyAgICAgICAgICAgICAgICBmb3IgbmFtZSBpbiBmaWxlbmFtZXM6CisgICAgICAgICAgICAgICAgICAgIHBhdGggPSBvcy5wYXRoLm5vcm1wYXRoKG9zLnBhdGguam9pbihkaXJwYXRoLCBuYW1lKSkKKyAgICAgICAgICAgICAgICAgICAgaWYgb3MucGF0aC5pc2ZpbGUocGF0aCk6CisgICAgICAgICAgICAgICAgICAgICAgICB6Zi53cml0ZShwYXRoLCBwYXRoKQorICAgICAgICAgICAgICAgICAgICAgICAgaWYgbG9nZ2VyIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvZ2dlci5pbmZvKCJhZGRpbmcgJyVzJyIsIHBhdGgpCiAKICAgICByZXR1cm4gemlwX2ZpbGVuYW1lCiAKQEAgLTcwMyw2ICs2OTUsMTAgQEAKICAgICBfQVJDSElWRV9GT1JNQVRTWydienRhciddID0gKF9tYWtlX3RhcmJhbGwsIFsoJ2NvbXByZXNzJywgJ2J6aXAyJyldLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYnppcDInZWQgdGFyLWZpbGUiKQogCitpZiBfTFpNQV9TVVBQT1JURUQ6CisgICAgX0FSQ0hJVkVfRk9STUFUU1sneHp0YXInXSA9IChfbWFrZV90YXJiYWxsLCBbKCdjb21wcmVzcycsICd4eicpXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInh6J2VkIHRhci1maWxlIikKKwogZGVmIGdldF9hcmNoaXZlX2Zvcm1hdHMoKToKICAgICAiIiJSZXR1cm5zIGEgbGlzdCBvZiBzdXBwb3J0ZWQgZm9ybWF0cyBmb3IgYXJjaGl2aW5nIGFuZCB1bmFyY2hpdmluZy4KIApAQCAtODkxLDcgKzg4Nyw3IEBACiAgICAgICAgIHppcC5jbG9zZSgpCiAKIGRlZiBfdW5wYWNrX3RhcmZpbGUoZmlsZW5hbWUsIGV4dHJhY3RfZGlyKToKLSAgICAiIiJVbnBhY2sgdGFyL3Rhci5nei90YXIuYnoyIGBmaWxlbmFtZWAgdG8gYGV4dHJhY3RfZGlyYAorICAgICIiIlVucGFjayB0YXIvdGFyLmd6L3Rhci5iejIvdGFyLnh6IGBmaWxlbmFtZWAgdG8gYGV4dHJhY3RfZGlyYAogICAgICIiIgogICAgIHRyeToKICAgICAgICAgdGFyb2JqID0gdGFyZmlsZS5vcGVuKGZpbGVuYW1lKQpAQCAtOTEwLDkgKzkwNiwxMyBAQAogICAgIH0KIAogaWYgX0JaMl9TVVBQT1JURUQ6Ci0gICAgX1VOUEFDS19GT1JNQVRTWydienRhciddID0gKFsnLmJ6MiddLCBfdW5wYWNrX3RhcmZpbGUsIFtdLAorICAgIF9VTlBBQ0tfRk9STUFUU1snYnp0YXInXSA9IChbJy50YXIuYnoyJywgJy50YnoyJ10sIF91bnBhY2tfdGFyZmlsZSwgW10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJiemlwMidlZCB0YXItZmlsZSIpCiAKK2lmIF9MWk1BX1NVUFBPUlRFRDoKKyAgICBfVU5QQUNLX0ZPUk1BVFNbJ3h6dGFyJ10gPSAoWycudGFyLnh6JywgJy50eHonXSwgX3VucGFja190YXJmaWxlLCBbXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInh6J2VkIHRhci1maWxlIikKKwogZGVmIF9maW5kX3VucGFja19mb3JtYXQoZmlsZW5hbWUpOgogICAgIGZvciBuYW1lLCBpbmZvIGluIF9VTlBBQ0tfRk9STUFUUy5pdGVtcygpOgogICAgICAgICBmb3IgZXh0ZW5zaW9uIGluIGluZm9bMF06CmRpZmYgLS1naXQgYS9MaWIvc2lnbmFsLnB5IGIvTGliL3NpZ25hbC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZGIzZGY4Ci0tLSAvZGV2L251bGwKKysrIGIvTGliL3NpZ25hbC5weQpAQCAtMCwwICsxLDg1IEBACitpbXBvcnQgX3NpZ25hbAorZnJvbSBfc2lnbmFsIGltcG9ydCAqCitmcm9tIGZ1bmN0b29scyBpbXBvcnQgd3JhcHMgYXMgX3dyYXBzCitmcm9tIGVudW0gaW1wb3J0IEludEVudW0gYXMgX0ludEVudW0KKworX2dsb2JhbHMgPSBnbG9iYWxzKCkKKworU2lnbmFscyA9IF9JbnRFbnVtKAorICAgICdTaWduYWxzJywKKyAgICB7bmFtZTogdmFsdWUgZm9yIG5hbWUsIHZhbHVlIGluIF9nbG9iYWxzLml0ZW1zKCkKKyAgICAgaWYgbmFtZS5pc3VwcGVyKCkKKyAgICAgICAgYW5kIChuYW1lLnN0YXJ0c3dpdGgoJ1NJRycpIGFuZCBub3QgbmFtZS5zdGFydHN3aXRoKCdTSUdfJykpCisgICAgICAgIG9yIG5hbWUuc3RhcnRzd2l0aCgnQ1RSTF8nKX0pCisKK2NsYXNzIEhhbmRsZXJzKF9JbnRFbnVtKToKKyAgICBTSUdfREZMID0gX3NpZ25hbC5TSUdfREZMCisgICAgU0lHX0lHTiA9IF9zaWduYWwuU0lHX0lHTgorCitfZ2xvYmFscy51cGRhdGUoU2lnbmFscy5fX21lbWJlcnNfXykKK19nbG9iYWxzLnVwZGF0ZShIYW5kbGVycy5fX21lbWJlcnNfXykKKworaWYgJ3B0aHJlYWRfc2lnbWFzaycgaW4gX2dsb2JhbHM6CisgICAgY2xhc3MgU2lnbWFza3MoX0ludEVudW0pOgorICAgICAgICBTSUdfQkxPQ0sgPSBfc2lnbmFsLlNJR19CTE9DSworICAgICAgICBTSUdfVU5CTE9DSyA9IF9zaWduYWwuU0lHX1VOQkxPQ0sKKyAgICAgICAgU0lHX1NFVE1BU0sgPSBfc2lnbmFsLlNJR19TRVRNQVNLCisKKyAgICBfZ2xvYmFscy51cGRhdGUoU2lnbWFza3MuX19tZW1iZXJzX18pCisKKworZGVmIF9pbnRfdG9fZW51bSh2YWx1ZSwgZW51bV9rbGFzcyk6CisgICAgIiIiQ29udmVydCBhIG51bWVyaWMgdmFsdWUgdG8gYW4gSW50RW51bSBtZW1iZXIuCisgICAgSWYgaXQncyBub3QgYSBrbm93biBtZW1iZXIsIHJldHVybiB0aGUgbnVtZXJpYyB2YWx1ZSBpdHNlbGYuCisgICAgIiIiCisgICAgdHJ5OgorICAgICAgICByZXR1cm4gZW51bV9rbGFzcyh2YWx1ZSkKKyAgICBleGNlcHQgVmFsdWVFcnJvcjoKKyAgICAgICAgcmV0dXJuIHZhbHVlCisKKworZGVmIF9lbnVtX3RvX2ludCh2YWx1ZSk6CisgICAgIiIiQ29udmVydCBhbiBJbnRFbnVtIG1lbWJlciB0byBhIG51bWVyaWMgdmFsdWUuCisgICAgSWYgaXQncyBub3QgYSBJbnRFbnVtIG1lbWJlciByZXR1cm4gdGhlIHZhbHVlIGl0c2VsZi4KKyAgICAiIiIKKyAgICB0cnk6CisgICAgICAgIHJldHVybiBpbnQodmFsdWUpCisgICAgZXhjZXB0IChWYWx1ZUVycm9yLCBUeXBlRXJyb3IpOgorICAgICAgICByZXR1cm4gdmFsdWUKKworCitAX3dyYXBzKF9zaWduYWwuc2lnbmFsKQorZGVmIHNpZ25hbChzaWduYWxudW0sIGhhbmRsZXIpOgorICAgIGhhbmRsZXIgPSBfc2lnbmFsLnNpZ25hbChfZW51bV90b19pbnQoc2lnbmFsbnVtKSwgX2VudW1fdG9faW50KGhhbmRsZXIpKQorICAgIHJldHVybiBfaW50X3RvX2VudW0oaGFuZGxlciwgSGFuZGxlcnMpCisKKworQF93cmFwcyhfc2lnbmFsLmdldHNpZ25hbCkKK2RlZiBnZXRzaWduYWwoc2lnbmFsbnVtKToKKyAgICBoYW5kbGVyID0gX3NpZ25hbC5nZXRzaWduYWwoc2lnbmFsbnVtKQorICAgIHJldHVybiBfaW50X3RvX2VudW0oaGFuZGxlciwgSGFuZGxlcnMpCisKKworaWYgJ3B0aHJlYWRfc2lnbWFzaycgaW4gX2dsb2JhbHM6CisgICAgQF93cmFwcyhfc2lnbmFsLnB0aHJlYWRfc2lnbWFzaykKKyAgICBkZWYgcHRocmVhZF9zaWdtYXNrKGhvdywgbWFzayk6CisgICAgICAgIHNpZ3Nfc2V0ID0gX3NpZ25hbC5wdGhyZWFkX3NpZ21hc2soaG93LCBtYXNrKQorICAgICAgICByZXR1cm4gc2V0KF9pbnRfdG9fZW51bSh4LCBTaWduYWxzKSBmb3IgeCBpbiBzaWdzX3NldCkKKyAgICBwdGhyZWFkX3NpZ21hc2suX19kb2NfXyA9IF9zaWduYWwucHRocmVhZF9zaWdtYXNrLl9fZG9jX18KKworCitpZiAnc2lncGVuZGluZycgaW4gX2dsb2JhbHM6CisgICAgQF93cmFwcyhfc2lnbmFsLnNpZ3BlbmRpbmcpCisgICAgZGVmIHNpZ3BlbmRpbmcoKToKKyAgICAgICAgc2lncyA9IF9zaWduYWwuc2lncGVuZGluZygpCisgICAgICAgIHJldHVybiBzZXQoX2ludF90b19lbnVtKHgsIFNpZ25hbHMpIGZvciB4IGluIHNpZ3MpCisKKworaWYgJ3NpZ3dhaXQnIGluIF9nbG9iYWxzOgorICAgIEBfd3JhcHMoX3NpZ25hbC5zaWd3YWl0KQorICAgIGRlZiBzaWd3YWl0KHNpZ3NldCk6CisgICAgICAgIHJldHNpZyA9IF9zaWduYWwuc2lnd2FpdChzaWdzZXQpCisgICAgICAgIHJldHVybiBfaW50X3RvX2VudW0ocmV0c2lnLCBTaWduYWxzKQorICAgIHNpZ3dhaXQuX19kb2NfXyA9IF9zaWduYWwuc2lnd2FpdAorCitkZWwgX2dsb2JhbHMsIF93cmFwcwpkaWZmIC0tZ2l0IGEvTGliL3NpdGUucHkgYi9MaWIvc2l0ZS5weQppbmRleCBhZDVkMTM2Li40OTU5Y2ZjIDEwMDY0NAotLS0gYS9MaWIvc2l0ZS5weQorKysgYi9MaWIvc2l0ZS5weQpAQCAtNyw3ICs3LDcgQEAKIFRoaXMgd2lsbCBhcHBlbmQgc2l0ZS1zcGVjaWZpYyBwYXRocyB0byB0aGUgbW9kdWxlIHNlYXJjaCBwYXRoLiAgT24KIFVuaXggKGluY2x1ZGluZyBNYWMgT1NYKSwgaXQgc3RhcnRzIHdpdGggc3lzLnByZWZpeCBhbmQKIHN5cy5leGVjX3ByZWZpeCAoaWYgZGlmZmVyZW50KSBhbmQgYXBwZW5kcwotbGliL3B5dGhvbjx2ZXJzaW9uPi9zaXRlLXBhY2thZ2VzIGFzIHdlbGwgYXMgbGliL3NpdGUtcHl0aG9uLgorbGliL3B5dGhvbjx2ZXJzaW9uPi9zaXRlLXBhY2thZ2VzLgogT24gb3RoZXIgcGxhdGZvcm1zIChzdWNoIGFzIFdpbmRvd3MpLCBpdCB0cmllcyBlYWNoIG9mIHRoZQogcHJlZml4ZXMgZGlyZWN0bHksIGFzIHdlbGwgYXMgd2l0aCBsaWIvc2l0ZS1wYWNrYWdlcyBhcHBlbmRlZC4gIFRoZQogcmVzdWx0aW5nIGRpcmVjdG9yaWVzLCBpZiB0aGV5IGV4aXN0LCBhcmUgYXBwZW5kZWQgdG8gc3lzLnBhdGgsIGFuZApAQCAtMTUsNyArMTUsNyBAQAogCiBJZiBhIGZpbGUgbmFtZWQgInB5dmVudi5jZmciIGV4aXN0cyBvbmUgZGlyZWN0b3J5IGFib3ZlIHN5cy5leGVjdXRhYmxlLAogc3lzLnByZWZpeCBhbmQgc3lzLmV4ZWNfcHJlZml4IGFyZSBzZXQgdG8gdGhhdCBkaXJlY3RvcnkgYW5kCi1pdCBpcyBhbHNvIGNoZWNrZWQgZm9yIHNpdGUtcGFja2FnZXMgYW5kIHNpdGUtcHl0aG9uIChzeXMuYmFzZV9wcmVmaXggYW5kCitpdCBpcyBhbHNvIGNoZWNrZWQgZm9yIHNpdGUtcGFja2FnZXMgKHN5cy5iYXNlX3ByZWZpeCBhbmQKIHN5cy5iYXNlX2V4ZWNfcHJlZml4IHdpbGwgYWx3YXlzIGJlIHRoZSAicmVhbCIgcHJlZml4ZXMgb2YgdGhlIFB5dGhvbgogaW5zdGFsbGF0aW9uKS4gSWYgInB5dmVudi5jZmciIChhIGJvb3RzdHJhcCBjb25maWd1cmF0aW9uIGZpbGUpIGNvbnRhaW5zCiB0aGUga2V5ICJpbmNsdWRlLXN5c3RlbS1zaXRlLXBhY2thZ2VzIiBzZXQgdG8gYW55dGhpbmcgb3RoZXIgdGhhbiAiZmFsc2UiCkBAIC0yODUsOCArMjg1LDcgQEAKICAgICByZXR1cm4ga25vd25fcGF0aHMKIAogZGVmIGdldHNpdGVwYWNrYWdlcyhwcmVmaXhlcz1Ob25lKToKLSAgICAiIiJSZXR1cm5zIGEgbGlzdCBjb250YWluaW5nIGFsbCBnbG9iYWwgc2l0ZS1wYWNrYWdlcyBkaXJlY3RvcmllcwotICAgIChhbmQgcG9zc2libHkgc2l0ZS1weXRob24pLgorICAgICIiIlJldHVybnMgYSBsaXN0IGNvbnRhaW5pbmcgYWxsIGdsb2JhbCBzaXRlLXBhY2thZ2VzIGRpcmVjdG9yaWVzLgogCiAgICAgRm9yIGVhY2ggZGlyZWN0b3J5IHByZXNlbnQgaW4gYGBwcmVmaXhlc2BgIChvciB0aGUgZ2xvYmFsIGBgUFJFRklYRVNgYCksCiAgICAgdGhpcyBmdW5jdGlvbiB3aWxsIGZpbmQgaXRzIGBzaXRlLXBhY2thZ2VzYCBzdWJkaXJlY3RvcnkgZGVwZW5kaW5nIG9uIHRoZQpAQCAtMzA3LDcgKzMwNiw2IEBACiAgICAgICAgICAgICBzaXRlcGFja2FnZXMuYXBwZW5kKG9zLnBhdGguam9pbihwcmVmaXgsICJsaWIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJweXRob24iICsgc3lzLnZlcnNpb25bOjNdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzaXRlLXBhY2thZ2VzIikpCi0gICAgICAgICAgICBzaXRlcGFja2FnZXMuYXBwZW5kKG9zLnBhdGguam9pbihwcmVmaXgsICJsaWIiLCAic2l0ZS1weXRob24iKSkKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIHNpdGVwYWNrYWdlcy5hcHBlbmQocHJlZml4KQogICAgICAgICAgICAgc2l0ZXBhY2thZ2VzLmFwcGVuZChvcy5wYXRoLmpvaW4ocHJlZml4LCAibGliIiwgInNpdGUtcGFja2FnZXMiKSkKQEAgLTMyMywxNCArMzIxLDkgQEAKICAgICByZXR1cm4gc2l0ZXBhY2thZ2VzCiAKIGRlZiBhZGRzaXRlcGFja2FnZXMoa25vd25fcGF0aHMsIHByZWZpeGVzPU5vbmUpOgotICAgICIiIkFkZCBzaXRlLXBhY2thZ2VzIChhbmQgcG9zc2libHkgc2l0ZS1weXRob24pIHRvIHN5cy5wYXRoIiIiCisgICAgIiIiQWRkIHNpdGUtcGFja2FnZXMgdG8gc3lzLnBhdGgiIiIKICAgICBmb3Igc2l0ZWRpciBpbiBnZXRzaXRlcGFja2FnZXMocHJlZml4ZXMpOgogICAgICAgICBpZiBvcy5wYXRoLmlzZGlyKHNpdGVkaXIpOgotICAgICAgICAgICAgaWYgInNpdGUtcHl0aG9uIiBpbiBzaXRlZGlyOgotICAgICAgICAgICAgICAgIGltcG9ydCB3YXJuaW5ncwotICAgICAgICAgICAgICAgIHdhcm5pbmdzLndhcm4oJyJzaXRlLXB5dGhvbiIgZGlyZWN0b3JpZXMgd2lsbCBub3QgYmUgJwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3N1cHBvcnRlZCBpbiAzLjUgYW55bW9yZScsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXByZWNhdGlvbldhcm5pbmcpCiAgICAgICAgICAgICBhZGRzaXRlZGlyKHNpdGVkaXIsIGtub3duX3BhdGhzKQogCiAgICAgcmV0dXJuIGtub3duX3BhdGhzCmRpZmYgLS1naXQgYS9MaWIvc210cGQucHkgYi9MaWIvc210cGQucHkKaW5kZXggMWZhMTU3YS4uMzM2NTNkNCAxMDA3NTUKLS0tIGEvTGliL3NtdHBkLnB5CisrKyBiL0xpYi9zbXRwZC5weQpAQCAtMSw1ICsxLDUgQEAKICMhIC91c3IvYmluL2VudiBweXRob24zCi0iIiJBbiBSRkMgNTMyMSBzbXRwIHByb3h5LgorIiIiQW4gUkZDIDUzMjEgc210cCBwcm94eSB3aXRoIG9wdGlvbmFsIFJGQyAxODcwIGFuZCBSRkMgNjUzMSBleHRlbnNpb25zLgogCiBVc2FnZTogJShwcm9ncmFtKXMgW29wdGlvbnNdIFtsb2NhbGhvc3Q6bG9jYWxwb3J0IFtyZW1vdGVob3N0OnJlbW90ZXBvcnRdXQogCkBAIC0yNSw2ICsyNSwxMCBAQAogICAgICAgICBSZXN0cmljdCB0aGUgdG90YWwgc2l6ZSBvZiB0aGUgaW5jb21pbmcgbWVzc2FnZSB0byAibGltaXQiIG51bWJlciBvZgogICAgICAgICBieXRlcyB2aWEgdGhlIFJGQyAxODcwIFNJWkUgZXh0ZW5zaW9uLiAgRGVmYXVsdHMgdG8gMzM1NTQ0MzIgYnl0ZXMuCiAKKyAgICAtLXNtdHB1dGY4CisgICAgLXUKKyAgICAgICAgRW5hYmxlIHRoZSBTTVRQVVRGOCBleHRlbnNpb24gYW5kIGJlaGF2ZSBhcyBhbiBSRkMgNjUzMSBzbXRwIHByb3h5LgorCiAgICAgLS1kZWJ1ZwogICAgIC1kCiAgICAgICAgIFR1cm4gb24gZGVidWdnaW5nIHByaW50cy4KQEAgLTk4LDcgKzEwMiw2IEBACiAKIERFQlVHU1RSRUFNID0gRGV2bnVsbCgpCiBORVdMSU5FID0gJ1xuJwotRU1QVFlTVFJJTkcgPSAnJwogQ09NTUFTUEFDRSA9ICcsICcKIERBVEFfU0laRV9ERUZBVUxUID0gMzM1NTQ0MzIKIApAQCAtMTE2LDI2ICsxMTksNDggQEAKIAogICAgIGNvbW1hbmRfc2l6ZV9saW1pdCA9IDUxMgogICAgIGNvbW1hbmRfc2l6ZV9saW1pdHMgPSBjb2xsZWN0aW9ucy5kZWZhdWx0ZGljdChsYW1iZGEgeD1jb21tYW5kX3NpemVfbGltaXQ6IHgpCi0gICAgY29tbWFuZF9zaXplX2xpbWl0cy51cGRhdGUoewotICAgICAgICAnTUFJTCc6IGNvbW1hbmRfc2l6ZV9saW1pdCArIDI2LAotICAgICAgICB9KQotICAgIG1heF9jb21tYW5kX3NpemVfbGltaXQgPSBtYXgoY29tbWFuZF9zaXplX2xpbWl0cy52YWx1ZXMoKSkKKworICAgIEBwcm9wZXJ0eQorICAgIGRlZiBtYXhfY29tbWFuZF9zaXplX2xpbWl0KHNlbGYpOgorICAgICAgICB0cnk6CisgICAgICAgICAgICByZXR1cm4gbWF4KHNlbGYuY29tbWFuZF9zaXplX2xpbWl0cy52YWx1ZXMoKSkKKyAgICAgICAgZXhjZXB0IFZhbHVlRXJyb3I6CisgICAgICAgICAgICByZXR1cm4gc2VsZi5jb21tYW5kX3NpemVfbGltaXQKIAogICAgIGRlZiBfX2luaXRfXyhzZWxmLCBzZXJ2ZXIsIGNvbm4sIGFkZHIsIGRhdGFfc2l6ZV9saW1pdD1EQVRBX1NJWkVfREVGQVVMVCwKLSAgICAgICAgICAgICAgICAgbWFwPU5vbmUpOgorICAgICAgICAgICAgICAgICBtYXA9Tm9uZSwgZW5hYmxlX1NNVFBVVEY4PUZhbHNlLCBkZWNvZGVfZGF0YT1Ob25lKToKICAgICAgICAgYXN5bmNoYXQuYXN5bmNfY2hhdC5fX2luaXRfXyhzZWxmLCBjb25uLCBtYXA9bWFwKQogICAgICAgICBzZWxmLnNtdHBfc2VydmVyID0gc2VydmVyCiAgICAgICAgIHNlbGYuY29ubiA9IGNvbm4KICAgICAgICAgc2VsZi5hZGRyID0gYWRkcgogICAgICAgICBzZWxmLmRhdGFfc2l6ZV9saW1pdCA9IGRhdGFfc2l6ZV9saW1pdAotICAgICAgICBzZWxmLnJlY2VpdmVkX2xpbmVzID0gW10KLSAgICAgICAgc2VsZi5zbXRwX3N0YXRlID0gc2VsZi5DT01NQU5ECisgICAgICAgIHNlbGYuZW5hYmxlX1NNVFBVVEY4ID0gZW5hYmxlX1NNVFBVVEY4CisgICAgICAgIGlmIGVuYWJsZV9TTVRQVVRGODoKKyAgICAgICAgICAgIGlmIGRlY29kZV9kYXRhOgorICAgICAgICAgICAgICAgIFZhbHVlRXJyb3IoImRlY29kZV9kYXRhIGFuZCBlbmFibGVfU01UUFVURjggY2Fubm90IGJlIHNldCB0byIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICIgVHJ1ZSBhdCB0aGUgc2FtZSB0aW1lIikKKyAgICAgICAgICAgIGRlY29kZV9kYXRhID0gRmFsc2UKKyAgICAgICAgaWYgZGVjb2RlX2RhdGEgaXMgTm9uZToKKyAgICAgICAgICAgIHdhcm4oIlRoZSBkZWNvZGVfZGF0YSBkZWZhdWx0IG9mIFRydWUgd2lsbCBjaGFuZ2UgdG8gRmFsc2UgaW4gMy42OyIKKyAgICAgICAgICAgICAgICAgIiBzcGVjaWZ5IGFuIGV4cGxpY2l0IHZhbHVlIGZvciB0aGlzIGtleXdvcmQiLAorICAgICAgICAgICAgICAgICBEZXByZWNhdGlvbldhcm5pbmcsIDIpCisgICAgICAgICAgICBkZWNvZGVfZGF0YSA9IFRydWUKKyAgICAgICAgc2VsZi5fZGVjb2RlX2RhdGEgPSBkZWNvZGVfZGF0YQorICAgICAgICBpZiBkZWNvZGVfZGF0YToKKyAgICAgICAgICAgIHNlbGYuX2VtcHR5c3RyaW5nID0gJycKKyAgICAgICAgICAgIHNlbGYuX2xpbmVzZXAgPSAnXHJcbicKKyAgICAgICAgICAgIHNlbGYuX2RvdHNlcCA9ICcuJworICAgICAgICAgICAgc2VsZi5fbmV3bGluZSA9IE5FV0xJTkUKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHNlbGYuX2VtcHR5c3RyaW5nID0gYicnCisgICAgICAgICAgICBzZWxmLl9saW5lc2VwID0gYidcclxuJworICAgICAgICAgICAgc2VsZi5fZG90c2VwID0gYicuJworICAgICAgICAgICAgc2VsZi5fbmV3bGluZSA9IGInXG4nCisgICAgICAgIHNlbGYuX3NldF9yc2V0X3N0YXRlKCkKICAgICAgICAgc2VsZi5zZWVuX2dyZWV0aW5nID0gJycKLSAgICAgICAgc2VsZi5tYWlsZnJvbSA9IE5vbmUKLSAgICAgICAgc2VsZi5yY3B0dG9zID0gW10KLSAgICAgICAgc2VsZi5yZWNlaXZlZF9kYXRhID0gJycKKyAgICAgICAgc2VsZi5leHRlbmRlZF9zbXRwID0gRmFsc2UKKyAgICAgICAgc2VsZi5jb21tYW5kX3NpemVfbGltaXRzLmNsZWFyKCkKICAgICAgICAgc2VsZi5mcWRuID0gc29ja2V0LmdldGZxZG4oKQotICAgICAgICBzZWxmLm51bV9ieXRlcyA9IDAKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgc2VsZi5wZWVyID0gY29ubi5nZXRwZWVybmFtZSgpCiAgICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGVycjoKQEAgLTE0Nyw4ICsxNzIsMjIgQEAKICAgICAgICAgICAgIHJldHVybgogICAgICAgICBwcmludCgnUGVlcjonLCByZXByKHNlbGYucGVlciksIGZpbGU9REVCVUdTVFJFQU0pCiAgICAgICAgIHNlbGYucHVzaCgnMjIwICVzICVzJyAlIChzZWxmLmZxZG4sIF9fdmVyc2lvbl9fKSkKKworICAgIGRlZiBfc2V0X3Bvc3RfZGF0YV9zdGF0ZShzZWxmKToKKyAgICAgICAgIiIiUmVzZXQgc3RhdGUgdmFyaWFibGVzIHRvIHRoZWlyIHBvc3QtREFUQSBzdGF0ZS4iIiIKKyAgICAgICAgc2VsZi5zbXRwX3N0YXRlID0gc2VsZi5DT01NQU5ECisgICAgICAgIHNlbGYubWFpbGZyb20gPSBOb25lCisgICAgICAgIHNlbGYucmNwdHRvcyA9IFtdCisgICAgICAgIHNlbGYucmVxdWlyZV9TTVRQVVRGOCA9IEZhbHNlCisgICAgICAgIHNlbGYubnVtX2J5dGVzID0gMAogICAgICAgICBzZWxmLnNldF90ZXJtaW5hdG9yKGInXHJcbicpCi0gICAgICAgIHNlbGYuZXh0ZW5kZWRfc210cCA9IEZhbHNlCisKKyAgICBkZWYgX3NldF9yc2V0X3N0YXRlKHNlbGYpOgorICAgICAgICAiIiJSZXNldCBhbGwgc3RhdGUgdmFyaWFibGVzIGV4Y2VwdCB0aGUgZ3JlZXRpbmcuIiIiCisgICAgICAgIHNlbGYuX3NldF9wb3N0X2RhdGFfc3RhdGUoKQorICAgICAgICBzZWxmLnJlY2VpdmVkX2RhdGEgPSAnJworICAgICAgICBzZWxmLnJlY2VpdmVkX2xpbmVzID0gW10KKwogCiAgICAgIyBwcm9wZXJ0aWVzIGZvciBiYWNrd2FyZHMtY29tcGF0aWJpbGl0eQogICAgIEBwcm9wZXJ0eQpAQCAtMjcyLDkgKzMxMSwxMCBAQAogICAgICAgICAgICAgInNldCAnYWRkcicgaW5zdGVhZCIsIERlcHJlY2F0aW9uV2FybmluZywgMikKICAgICAgICAgc2VsZi5hZGRyID0gdmFsdWUKIAotICAgICMgT3ZlcnJpZGVzIGJhc2UgY2xhc3MgZm9yIGNvbnZlbmllbmNlCisgICAgIyBPdmVycmlkZXMgYmFzZSBjbGFzcyBmb3IgY29udmVuaWVuY2UuCiAgICAgZGVmIHB1c2goc2VsZiwgbXNnKToKLSAgICAgICAgYXN5bmNoYXQuYXN5bmNfY2hhdC5wdXNoKHNlbGYsIGJ5dGVzKG1zZyArICdcclxuJywgJ2FzY2lpJykpCisgICAgICAgIGFzeW5jaGF0LmFzeW5jX2NoYXQucHVzaChzZWxmLCBieXRlcygKKyAgICAgICAgICAgIG1zZyArICdcclxuJywgJ3V0Zi04JyBpZiBzZWxmLnJlcXVpcmVfU01UUFVURjggZWxzZSAnYXNjaWknKSkKIAogICAgICMgSW1wbGVtZW50YXRpb24gb2YgYmFzZSBjbGFzcyBhYnN0cmFjdCBtZXRob2QKICAgICBkZWYgY29sbGVjdF9pbmNvbWluZ19kYXRhKHNlbGYsIGRhdGEpOgpAQCAtMjg3LDExICszMjcsMTQgQEAKICAgICAgICAgICAgIHJldHVybgogICAgICAgICBlbGlmIGxpbWl0OgogICAgICAgICAgICAgc2VsZi5udW1fYnl0ZXMgKz0gbGVuKGRhdGEpCi0gICAgICAgIHNlbGYucmVjZWl2ZWRfbGluZXMuYXBwZW5kKHN0cihkYXRhLCAidXRmLTgiKSkKKyAgICAgICAgaWYgc2VsZi5fZGVjb2RlX2RhdGE6CisgICAgICAgICAgICBzZWxmLnJlY2VpdmVkX2xpbmVzLmFwcGVuZChzdHIoZGF0YSwgJ3V0Zi04JykpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBzZWxmLnJlY2VpdmVkX2xpbmVzLmFwcGVuZChkYXRhKQogCiAgICAgIyBJbXBsZW1lbnRhdGlvbiBvZiBiYXNlIGNsYXNzIGFic3RyYWN0IG1ldGhvZAogICAgIGRlZiBmb3VuZF90ZXJtaW5hdG9yKHNlbGYpOgotICAgICAgICBsaW5lID0gRU1QVFlTVFJJTkcuam9pbihzZWxmLnJlY2VpdmVkX2xpbmVzKQorICAgICAgICBsaW5lID0gc2VsZi5fZW1wdHlzdHJpbmcuam9pbihzZWxmLnJlY2VpdmVkX2xpbmVzKQogICAgICAgICBwcmludCgnRGF0YTonLCByZXByKGxpbmUpLCBmaWxlPURFQlVHU1RSRUFNKQogICAgICAgICBzZWxmLnJlY2VpdmVkX2xpbmVzID0gW10KICAgICAgICAgaWYgc2VsZi5zbXRwX3N0YXRlID09IHNlbGYuQ09NTUFORDoKQEAgLTI5OSw3ICszNDIsOCBAQAogICAgICAgICAgICAgaWYgbm90IGxpbmU6CiAgICAgICAgICAgICAgICAgc2VsZi5wdXNoKCc1MDAgRXJyb3I6IGJhZCBzeW50YXgnKQogICAgICAgICAgICAgICAgIHJldHVybgotICAgICAgICAgICAgbWV0aG9kID0gTm9uZQorICAgICAgICAgICAgaWYgbm90IHNlbGYuX2RlY29kZV9kYXRhOgorICAgICAgICAgICAgICAgIGxpbmUgPSBzdHIobGluZSwgJ3V0Zi04JykKICAgICAgICAgICAgIGkgPSBsaW5lLmZpbmQoJyAnKQogICAgICAgICAgICAgaWYgaSA8IDA6CiAgICAgICAgICAgICAgICAgY29tbWFuZCA9IGxpbmUudXBwZXIoKQpAQCAtMzMwLDIxICszNzQsMTggQEAKICAgICAgICAgICAgICMgUmVtb3ZlIGV4dHJhbmVvdXMgY2FycmlhZ2UgcmV0dXJucyBhbmQgZGUtdHJhbnNwYXJlbmN5IGFjY29yZGluZwogICAgICAgICAgICAgIyB0byBSRkMgNTMyMSwgU2VjdGlvbiA0LjUuMi4KICAgICAgICAgICAgIGRhdGEgPSBbXQotICAgICAgICAgICAgZm9yIHRleHQgaW4gbGluZS5zcGxpdCgnXHJcbicpOgotICAgICAgICAgICAgICAgIGlmIHRleHQgYW5kIHRleHRbMF0gPT0gJy4nOgorICAgICAgICAgICAgZm9yIHRleHQgaW4gbGluZS5zcGxpdChzZWxmLl9saW5lc2VwKToKKyAgICAgICAgICAgICAgICBpZiB0ZXh0IGFuZCB0ZXh0WzBdID09IHNlbGYuX2RvdHNlcDoKICAgICAgICAgICAgICAgICAgICAgZGF0YS5hcHBlbmQodGV4dFsxOl0pCiAgICAgICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICAgICAgZGF0YS5hcHBlbmQodGV4dCkKLSAgICAgICAgICAgIHNlbGYucmVjZWl2ZWRfZGF0YSA9IE5FV0xJTkUuam9pbihkYXRhKQotICAgICAgICAgICAgc3RhdHVzID0gc2VsZi5zbXRwX3NlcnZlci5wcm9jZXNzX21lc3NhZ2Uoc2VsZi5wZWVyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5tYWlsZnJvbSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYucmNwdHRvcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYucmVjZWl2ZWRfZGF0YSkKLSAgICAgICAgICAgIHNlbGYucmNwdHRvcyA9IFtdCi0gICAgICAgICAgICBzZWxmLm1haWxmcm9tID0gTm9uZQotICAgICAgICAgICAgc2VsZi5zbXRwX3N0YXRlID0gc2VsZi5DT01NQU5ECi0gICAgICAgICAgICBzZWxmLm51bV9ieXRlcyA9IDAKLSAgICAgICAgICAgIHNlbGYuc2V0X3Rlcm1pbmF0b3IoYidcclxuJykKKyAgICAgICAgICAgIHNlbGYucmVjZWl2ZWRfZGF0YSA9IHNlbGYuX25ld2xpbmUuam9pbihkYXRhKQorICAgICAgICAgICAgYXJncyA9IChzZWxmLnBlZXIsIHNlbGYubWFpbGZyb20sIHNlbGYucmNwdHRvcywgc2VsZi5yZWNlaXZlZF9kYXRhKQorICAgICAgICAgICAgaWYgc2VsZi5yZXF1aXJlX1NNVFBVVEY4OgorICAgICAgICAgICAgICAgIHN0YXR1cyA9IHNlbGYuc210cF9zZXJ2ZXIucHJvY2Vzc19zbXRwdXRmOF9tZXNzYWdlKCphcmdzKQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBzdGF0dXMgPSBzZWxmLnNtdHBfc2VydmVyLnByb2Nlc3NfbWVzc2FnZSgqYXJncykKKyAgICAgICAgICAgIHNlbGYuX3NldF9wb3N0X2RhdGFfc3RhdGUoKQogICAgICAgICAgICAgaWYgbm90IHN0YXR1czoKICAgICAgICAgICAgICAgICBzZWxmLnB1c2goJzI1MCBPSycpCiAgICAgICAgICAgICBlbHNlOgpAQCAtMzU1LDI2ICszOTYsMzQgQEAKICAgICAgICAgaWYgbm90IGFyZzoKICAgICAgICAgICAgIHNlbGYucHVzaCgnNTAxIFN5bnRheDogSEVMTyBob3N0bmFtZScpCiAgICAgICAgICAgICByZXR1cm4KKyAgICAgICAgIyBTZWUgaXNzdWUgIzIxNzgzIGZvciBhIGRpc2N1c3Npb24gb2YgdGhpcyBiZWhhdmlvci4KICAgICAgICAgaWYgc2VsZi5zZWVuX2dyZWV0aW5nOgogICAgICAgICAgICAgc2VsZi5wdXNoKCc1MDMgRHVwbGljYXRlIEhFTE8vRUhMTycpCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBzZWxmLnNlZW5fZ3JlZXRpbmcgPSBhcmcKLSAgICAgICAgICAgIHNlbGYuZXh0ZW5kZWRfc210cCA9IEZhbHNlCi0gICAgICAgICAgICBzZWxmLnB1c2goJzI1MCAlcycgJSBzZWxmLmZxZG4pCisgICAgICAgICAgICByZXR1cm4KKyAgICAgICAgc2VsZi5fc2V0X3JzZXRfc3RhdGUoKQorICAgICAgICBzZWxmLnNlZW5fZ3JlZXRpbmcgPSBhcmcKKyAgICAgICAgc2VsZi5wdXNoKCcyNTAgJXMnICUgc2VsZi5mcWRuKQogCiAgICAgZGVmIHNtdHBfRUhMTyhzZWxmLCBhcmcpOgogICAgICAgICBpZiBub3QgYXJnOgogICAgICAgICAgICAgc2VsZi5wdXNoKCc1MDEgU3ludGF4OiBFSExPIGhvc3RuYW1lJykKICAgICAgICAgICAgIHJldHVybgorICAgICAgICAjIFNlZSBpc3N1ZSAjMjE3ODMgZm9yIGEgZGlzY3Vzc2lvbiBvZiB0aGlzIGJlaGF2aW9yLgogICAgICAgICBpZiBzZWxmLnNlZW5fZ3JlZXRpbmc6CiAgICAgICAgICAgICBzZWxmLnB1c2goJzUwMyBEdXBsaWNhdGUgSEVMTy9FSExPJykKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHNlbGYuc2Vlbl9ncmVldGluZyA9IGFyZwotICAgICAgICAgICAgc2VsZi5leHRlbmRlZF9zbXRwID0gVHJ1ZQotICAgICAgICAgICAgc2VsZi5wdXNoKCcyNTAtJXMnICUgc2VsZi5mcWRuKQotICAgICAgICAgICAgaWYgc2VsZi5kYXRhX3NpemVfbGltaXQ6Ci0gICAgICAgICAgICAgICAgc2VsZi5wdXNoKCcyNTAtU0laRSAlcycgJSBzZWxmLmRhdGFfc2l6ZV9saW1pdCkKLSAgICAgICAgICAgIHNlbGYucHVzaCgnMjUwIEhFTFAnKQorICAgICAgICAgICAgcmV0dXJuCisgICAgICAgIHNlbGYuX3NldF9yc2V0X3N0YXRlKCkKKyAgICAgICAgc2VsZi5zZWVuX2dyZWV0aW5nID0gYXJnCisgICAgICAgIHNlbGYuZXh0ZW5kZWRfc210cCA9IFRydWUKKyAgICAgICAgc2VsZi5wdXNoKCcyNTAtJXMnICUgc2VsZi5mcWRuKQorICAgICAgICBpZiBzZWxmLmRhdGFfc2l6ZV9saW1pdDoKKyAgICAgICAgICAgIHNlbGYucHVzaCgnMjUwLVNJWkUgJXMnICUgc2VsZi5kYXRhX3NpemVfbGltaXQpCisgICAgICAgICAgICBzZWxmLmNvbW1hbmRfc2l6ZV9saW1pdHNbJ01BSUwnXSArPSAyNgorICAgICAgICBpZiBzZWxmLmVuYWJsZV9TTVRQVVRGODoKKyAgICAgICAgICAgIHNlbGYucHVzaCgnMjUwLThCSVRNSU1FJykKKyAgICAgICAgICAgIHNlbGYucHVzaCgnMjUwLVNNVFBVVEY4JykKKyAgICAgICAgICAgIHNlbGYuY29tbWFuZF9zaXplX2xpbWl0c1snTUFJTCddICs9IDEwCisgICAgICAgIHNlbGYucHVzaCgnMjUwIEhFTFAnKQogCiAgICAgZGVmIHNtdHBfTk9PUChzZWxmLCBhcmcpOgogICAgICAgICBpZiBhcmc6CkBAIC00MDcsOCArNDU2LDggQEAKICAgICBkZWYgX2dldHBhcmFtcyhzZWxmLCBwYXJhbXMpOgogICAgICAgICAjIFJldHVybiBhbnkgcGFyYW1ldGVycyB0aGF0IGFwcGVhciB0byBiZSBzeW50YWN0aWNhbGx5IHZhbGlkIGFjY29yZGluZwogICAgICAgICAjIHRvIFJGQyAxODY5LCBpZ25vcmUgYWxsIG90aGVycy4gIChQb3N0ZWwgcnVsZTogYWNjZXB0IHdoYXQgd2UgY2FuLikKLSAgICAgICAgcGFyYW1zID0gW3BhcmFtLnNwbGl0KCc9JywgMSkgZm9yIHBhcmFtIGluIHBhcmFtcy5zcGxpdCgpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICc9JyBpbiBwYXJhbV0KKyAgICAgICAgcGFyYW1zID0gW3BhcmFtLnNwbGl0KCc9JywgMSkgaWYgJz0nIGluIHBhcmFtIGVsc2UgKHBhcmFtLCBUcnVlKQorICAgICAgICAgICAgICAgICAgZm9yIHBhcmFtIGluIHBhcmFtcy5zcGxpdCgpXQogICAgICAgICByZXR1cm4ge2s6IHYgZm9yIGssIHYgaW4gcGFyYW1zIGlmIGsuaXNhbG51bSgpfQogCiAgICAgZGVmIHNtdHBfSEVMUChzZWxmLCBhcmcpOgpAQCAtNDg2LDYgKzUzNSwxNCBAQAogICAgICAgICBpZiBwYXJhbXMgaXMgTm9uZToKICAgICAgICAgICAgIHNlbGYucHVzaChzeW50YXhlcnIpCiAgICAgICAgICAgICByZXR1cm4KKyAgICAgICAgYm9keSA9IHBhcmFtcy5wb3AoJ0JPRFknLCAnN0JJVCcpCisgICAgICAgIGlmIHNlbGYuZW5hYmxlX1NNVFBVVEY4IGFuZCBwYXJhbXMucG9wKCdTTVRQVVRGOCcsIEZhbHNlKToKKyAgICAgICAgICAgIGlmIGJvZHkgIT0gJzhCSVRNSU1FJzoKKyAgICAgICAgICAgICAgICBzZWxmLnB1c2goJzUwMSBTeW50YXg6IE1BSUwgRlJPTTogPGFkZHJlc3M+JworICAgICAgICAgICAgICAgICAgICAgICAgICAnIFtCT0RZPThCSVRNSU1FIFNNVFBVVEY4XScpCisgICAgICAgICAgICAgICAgcmV0dXJuCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIHNlbGYucmVxdWlyZV9TTVRQVVRGOCA9IFRydWUKICAgICAgICAgc2l6ZSA9IHBhcmFtcy5wb3AoJ1NJWkUnLCBOb25lKQogICAgICAgICBpZiBzaXplOgogICAgICAgICAgICAgaWYgbm90IHNpemUuaXNkaWdpdCgpOgpAQCAtNTQ2LDExICs2MDMsNyBAQAogICAgICAgICBpZiBhcmc6CiAgICAgICAgICAgICBzZWxmLnB1c2goJzUwMSBTeW50YXg6IFJTRVQnKQogICAgICAgICAgICAgcmV0dXJuCi0gICAgICAgICMgUmVzZXRzIHRoZSBzZW5kZXIsIHJlY2lwaWVudHMsIGFuZCBkYXRhLCBidXQgbm90IHRoZSBncmVldGluZwotICAgICAgICBzZWxmLm1haWxmcm9tID0gTm9uZQotICAgICAgICBzZWxmLnJjcHR0b3MgPSBbXQotICAgICAgICBzZWxmLnJlY2VpdmVkX2RhdGEgPSAnJwotICAgICAgICBzZWxmLnNtdHBfc3RhdGUgPSBzZWxmLkNPTU1BTkQKKyAgICAgICAgc2VsZi5fc2V0X3JzZXRfc3RhdGUoKQogICAgICAgICBzZWxmLnB1c2goJzI1MCBPSycpCiAKICAgICBkZWYgc210cF9EQVRBKHNlbGYsIGFyZyk6CkBAIC01NzcsMTMgKzYzMCwyOSBAQAogICAgIGNoYW5uZWxfY2xhc3MgPSBTTVRQQ2hhbm5lbAogCiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIGxvY2FsYWRkciwgcmVtb3RlYWRkciwKLSAgICAgICAgICAgICAgICAgZGF0YV9zaXplX2xpbWl0PURBVEFfU0laRV9ERUZBVUxULCBtYXA9Tm9uZSk6CisgICAgICAgICAgICAgICAgIGRhdGFfc2l6ZV9saW1pdD1EQVRBX1NJWkVfREVGQVVMVCwgbWFwPU5vbmUsCisgICAgICAgICAgICAgICAgIGVuYWJsZV9TTVRQVVRGOD1GYWxzZSwgZGVjb2RlX2RhdGE9Tm9uZSk6CiAgICAgICAgIHNlbGYuX2xvY2FsYWRkciA9IGxvY2FsYWRkcgogICAgICAgICBzZWxmLl9yZW1vdGVhZGRyID0gcmVtb3RlYWRkcgogICAgICAgICBzZWxmLmRhdGFfc2l6ZV9saW1pdCA9IGRhdGFfc2l6ZV9saW1pdAorICAgICAgICBzZWxmLmVuYWJsZV9TTVRQVVRGOCA9IGVuYWJsZV9TTVRQVVRGOAorICAgICAgICBpZiBlbmFibGVfU01UUFVURjg6CisgICAgICAgICAgICBpZiBkZWNvZGVfZGF0YToKKyAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJUaGUgZGVjb2RlX2RhdGEgYW5kIGVuYWJsZV9TTVRQVVRGOCIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIgcGFyYW1ldGVycyBjYW5ub3QgYmUgc2V0IHRvIFRydWUgYXQgdGhlIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiBzYW1lIHRpbWUuIikKKyAgICAgICAgICAgIGRlY29kZV9kYXRhID0gRmFsc2UKKyAgICAgICAgaWYgZGVjb2RlX2RhdGEgaXMgTm9uZToKKyAgICAgICAgICAgIHdhcm4oIlRoZSBkZWNvZGVfZGF0YSBkZWZhdWx0IG9mIFRydWUgd2lsbCBjaGFuZ2UgdG8gRmFsc2UgaW4gMy42OyIKKyAgICAgICAgICAgICAgICAgIiBzcGVjaWZ5IGFuIGV4cGxpY2l0IHZhbHVlIGZvciB0aGlzIGtleXdvcmQiLAorICAgICAgICAgICAgICAgICBEZXByZWNhdGlvbldhcm5pbmcsIDIpCisgICAgICAgICAgICBkZWNvZGVfZGF0YSA9IFRydWUKKyAgICAgICAgc2VsZi5fZGVjb2RlX2RhdGEgPSBkZWNvZGVfZGF0YQogICAgICAgICBhc3luY29yZS5kaXNwYXRjaGVyLl9faW5pdF9fKHNlbGYsIG1hcD1tYXApCiAgICAgICAgIHRyeToKLSAgICAgICAgICAgIHNlbGYuY3JlYXRlX3NvY2tldChzb2NrZXQuQUZfSU5FVCwgc29ja2V0LlNPQ0tfU1RSRUFNKQorICAgICAgICAgICAgZ2FpX3Jlc3VsdHMgPSBzb2NrZXQuZ2V0YWRkcmluZm8oKmxvY2FsYWRkciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9c29ja2V0LlNPQ0tfU1RSRUFNKQorICAgICAgICAgICAgc2VsZi5jcmVhdGVfc29ja2V0KGdhaV9yZXN1bHRzWzBdWzBdLCBnYWlfcmVzdWx0c1swXVsxXSkKICAgICAgICAgICAgICMgdHJ5IHRvIHJlLXVzZSBhIHNlcnZlciBwb3J0IGlmIHBvc3NpYmxlCiAgICAgICAgICAgICBzZWxmLnNldF9yZXVzZV9hZGRyKCkKICAgICAgICAgICAgIHNlbGYuYmluZChsb2NhbGFkZHIpCkBAIC01OTgsOCArNjY3LDEzIEBACiAKICAgICBkZWYgaGFuZGxlX2FjY2VwdGVkKHNlbGYsIGNvbm4sIGFkZHIpOgogICAgICAgICBwcmludCgnSW5jb21pbmcgY29ubmVjdGlvbiBmcm9tICVzJyAlIHJlcHIoYWRkciksIGZpbGU9REVCVUdTVFJFQU0pCi0gICAgICAgIGNoYW5uZWwgPSBzZWxmLmNoYW5uZWxfY2xhc3Moc2VsZiwgY29ubiwgYWRkciwgc2VsZi5kYXRhX3NpemVfbGltaXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fbWFwKQorICAgICAgICBjaGFubmVsID0gc2VsZi5jaGFubmVsX2NsYXNzKHNlbGYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29ubiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZGRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuZGF0YV9zaXplX2xpbWl0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX21hcCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmVuYWJsZV9TTVRQVVRGOCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9kZWNvZGVfZGF0YSkKIAogICAgICMgQVBJIGZvciAiZG9pbmcgc29tZXRoaW5nIHVzZWZ1bCB3aXRoIHRoZSBtZXNzYWdlIgogICAgIGRlZiBwcm9jZXNzX21lc3NhZ2Uoc2VsZiwgcGVlciwgbWFpbGZyb20sIHJjcHR0b3MsIGRhdGEpOgpAQCAtNjIwLDI5ICs2OTQsNjMgQEAKICAgICAgICAgY29udGFpbmluZyBhIGAuJyBmb2xsb3dlZCBieSBvdGhlciB0ZXh0IGhhcyBoYWQgdGhlIGxlYWRpbmcgZG90CiAgICAgICAgIHJlbW92ZWQuCiAKLSAgICAgICAgVGhpcyBmdW5jdGlvbiBzaG91bGQgcmV0dXJuIE5vbmUsIGZvciBhIG5vcm1hbCBgMjUwIE9rJyByZXNwb25zZTsKLSAgICAgICAgb3RoZXJ3aXNlIGl0IHJldHVybnMgdGhlIGRlc2lyZWQgcmVzcG9uc2Ugc3RyaW5nIGluIFJGQyA4MjEgZm9ybWF0LgorICAgICAgICBUaGlzIGZ1bmN0aW9uIHNob3VsZCByZXR1cm4gTm9uZSBmb3IgYSBub3JtYWwgYDI1MCBPaycgcmVzcG9uc2U7CisgICAgICAgIG90aGVyd2lzZSwgaXQgc2hvdWxkIHJldHVybiB0aGUgZGVzaXJlZCByZXNwb25zZSBzdHJpbmcgaW4gUkZDIDgyMQorICAgICAgICBmb3JtYXQuCisKKyAgICAgICAgIiIiCisgICAgICAgIHJhaXNlIE5vdEltcGxlbWVudGVkRXJyb3IKKworICAgICMgQVBJIGZvciBwcm9jZXNzaW5nIG1lc3NlZ2VzIG5lZWRpbmcgVW5pY29kZSBzdXBwb3J0IChSRkMgNjUzMSwgUkZDIDY1MzIpLgorICAgIGRlZiBwcm9jZXNzX3NtdHB1dGY4X21lc3NhZ2Uoc2VsZiwgcGVlciwgbWFpbGZyb20sIHJjcHR0b3MsIGRhdGEpOgorICAgICAgICAiIiJTYW1lIGFzIGBgcHJvY2Vzc19tZXNzYWdlYGAgYnV0IGZvciBtZXNzYWdlcyBmb3Igd2hpY2ggdGhlIGNsaWVudAorICAgICAgICBoYXMgc2VudCB0aGUgU01UUFVURjggcGFyYW1ldGVyIHdpdGggdGhlIE1BSUwgY29tbWFuZCAoc2VlIHRoZQorICAgICAgICBlbmFibGVfU01UUFVURjggcGFyYW1ldGVyIG9mIHRoZSBjb25zdHJ1Y3RvcikuCisKKyAgICAgICAgVGhpcyBmdW5jdGlvbiBzaG91bGQgcmV0dXJuIE5vbmUgZm9yIGEgbm9ybWFsIGAyNTAgT2snIHJlc3BvbnNlOworICAgICAgICBvdGhlcndpc2UsIGl0IHNob3VsZCByZXR1cm4gdGhlIGRlc2lyZWQgcmVzcG9uc2Ugc3RyaW5nIGluIFJGQyA2NTMxCisgICAgICAgIGZvcm1hdC4KIAogICAgICAgICAiIiIKICAgICAgICAgcmFpc2UgTm90SW1wbGVtZW50ZWRFcnJvcgogCiAKIGNsYXNzIERlYnVnZ2luZ1NlcnZlcihTTVRQU2VydmVyKToKLSAgICAjIERvIHNvbWV0aGluZyB3aXRoIHRoZSBnYXRoZXJlZCBtZXNzYWdlCi0gICAgZGVmIHByb2Nlc3NfbWVzc2FnZShzZWxmLCBwZWVyLCBtYWlsZnJvbSwgcmNwdHRvcywgZGF0YSk6CisKKyAgICBkZWYgX3ByaW50X21lc3NhZ2VfY29udGVudChzZWxmLCBwZWVyLCBkYXRhKToKICAgICAgICAgaW5oZWFkZXJzID0gMQotICAgICAgICBsaW5lcyA9IGRhdGEuc3BsaXQoJ1xuJykKLSAgICAgICAgcHJpbnQoJy0tLS0tLS0tLS0gTUVTU0FHRSBGT0xMT1dTIC0tLS0tLS0tLS0nKQorICAgICAgICBsaW5lcyA9IGRhdGEuc3BsaXRsaW5lcygpCiAgICAgICAgIGZvciBsaW5lIGluIGxpbmVzOgogICAgICAgICAgICAgIyBoZWFkZXJzIGZpcnN0CiAgICAgICAgICAgICBpZiBpbmhlYWRlcnMgYW5kIG5vdCBsaW5lOgotICAgICAgICAgICAgICAgIHByaW50KCdYLVBlZXI6JywgcGVlclswXSkKKyAgICAgICAgICAgICAgICBwZWVyaGVhZGVyID0gJ1gtUGVlcjogJyArIHBlZXJbMF0KKyAgICAgICAgICAgICAgICBpZiBub3QgaXNpbnN0YW5jZShkYXRhLCBzdHIpOgorICAgICAgICAgICAgICAgICAgICAjIGRlY29kZWRfZGF0YT1mYWxzZTsgbWFrZSBoZWFkZXIgbWF0Y2ggb3RoZXIgYmluYXJ5IG91dHB1dAorICAgICAgICAgICAgICAgICAgICBwZWVyaGVhZGVyID0gcmVwcihwZWVyaGVhZGVyLmVuY29kZSgndXRmLTgnKSkKKyAgICAgICAgICAgICAgICBwcmludChwZWVyaGVhZGVyKQogICAgICAgICAgICAgICAgIGluaGVhZGVycyA9IDAKKyAgICAgICAgICAgIGlmIG5vdCBpc2luc3RhbmNlKGRhdGEsIHN0cik6CisgICAgICAgICAgICAgICAgIyBBdm9pZCBzcHVyaW91cyAnc3RyIG9uIGJ5dGVzIGluc3RhbmNlJyB3YXJuaW5nLgorICAgICAgICAgICAgICAgIGxpbmUgPSByZXByKGxpbmUpCiAgICAgICAgICAgICBwcmludChsaW5lKQorCisgICAgZGVmIHByb2Nlc3NfbWVzc2FnZShzZWxmLCBwZWVyLCBtYWlsZnJvbSwgcmNwdHRvcywgZGF0YSk6CisgICAgICAgIHByaW50KCctLS0tLS0tLS0tIE1FU1NBR0UgRk9MTE9XUyAtLS0tLS0tLS0tJykKKyAgICAgICAgc2VsZi5fcHJpbnRfbWVzc2FnZV9jb250ZW50KHBlZXIsIGRhdGEpCisgICAgICAgIHByaW50KCctLS0tLS0tLS0tLS0gRU5EIE1FU1NBR0UgLS0tLS0tLS0tLS0tJykKKworICAgIGRlZiBwcm9jZXNzX3NtdHB1dGY4X21lc3NhZ2Uoc2VsZiwgcGVlciwgbWFpbGZyb20sIHJjcHR0b3MsIGRhdGEpOgorICAgICAgICBwcmludCgnLS0tLS0gU01UUFVURjggTUVTU0FHRSBGT0xMT1dTIC0tLS0tLScpCisgICAgICAgIHNlbGYuX3ByaW50X21lc3NhZ2VfY29udGVudChwZWVyLCBkYXRhKQogICAgICAgICBwcmludCgnLS0tLS0tLS0tLS0tIEVORCBNRVNTQUdFIC0tLS0tLS0tLS0tLScpCiAKIAogY2xhc3MgUHVyZVByb3h5KFNNVFBTZXJ2ZXIpOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCAqYXJncywgKiprd2FyZ3MpOgorICAgICAgICBpZiAnZW5hYmxlX1NNVFBVVEY4JyBpbiBrd2FyZ3MgYW5kIGt3YXJnc1snZW5hYmxlX1NNVFBVVEY4J106CisgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJQdXJlUHJveHkgZG9lcyBub3Qgc3VwcG9ydCBTTVRQVVRGOC4iKQorICAgICAgICBzdXBlcihQdXJlUHJveHksIHNlbGYpLl9faW5pdF9fKCphcmdzLCAqKmt3YXJncykKKwogICAgIGRlZiBwcm9jZXNzX21lc3NhZ2Uoc2VsZiwgcGVlciwgbWFpbGZyb20sIHJjcHR0b3MsIGRhdGEpOgogICAgICAgICBsaW5lcyA9IGRhdGEuc3BsaXQoJ1xuJykKICAgICAgICAgIyBMb29rIGZvciB0aGUgbGFzdCBoZWFkZXIKQEAgLTY4Myw2ICs3OTEsMTEgQEAKIAogCiBjbGFzcyBNYWlsbWFuUHJveHkoUHVyZVByb3h5KToKKyAgICBkZWYgX19pbml0X18oc2VsZiwgKmFyZ3MsICoqa3dhcmdzKToKKyAgICAgICAgaWYgJ2VuYWJsZV9TTVRQVVRGOCcgaW4ga3dhcmdzIGFuZCBrd2FyZ3NbJ2VuYWJsZV9TTVRQVVRGOCddOgorICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiTWFpbG1hblByb3h5IGRvZXMgbm90IHN1cHBvcnQgU01UUFVURjguIikKKyAgICAgICAgc3VwZXIoUHVyZVByb3h5LCBzZWxmKS5fX2luaXRfXygqYXJncywgKiprd2FyZ3MpCisKICAgICBkZWYgcHJvY2Vzc19tZXNzYWdlKHNlbGYsIHBlZXIsIG1haWxmcm9tLCByY3B0dG9zLCBkYXRhKToKICAgICAgICAgZnJvbSBpbyBpbXBvcnQgU3RyaW5nSU8KICAgICAgICAgZnJvbSBNYWlsbWFuIGltcG9ydCBVdGlscwpAQCAtNzYxLDE3ICs4NzQsMTkgQEAKIAogCiBjbGFzcyBPcHRpb25zOgotICAgIHNldHVpZCA9IDEKKyAgICBzZXR1aWQgPSBUcnVlCiAgICAgY2xhc3NuYW1lID0gJ1B1cmVQcm94eScKICAgICBzaXplX2xpbWl0ID0gTm9uZQorICAgIGVuYWJsZV9TTVRQVVRGOCA9IEZhbHNlCiAKIAogZGVmIHBhcnNlYXJncygpOgogICAgIGdsb2JhbCBERUJVR1NUUkVBTQogICAgIHRyeToKICAgICAgICAgb3B0cywgYXJncyA9IGdldG9wdC5nZXRvcHQoCi0gICAgICAgICAgICBzeXMuYXJndlsxOl0sICduVmhjOnM6ZCcsCi0gICAgICAgICAgICBbJ2NsYXNzPScsICdub3NldHVpZCcsICd2ZXJzaW9uJywgJ2hlbHAnLCAnc2l6ZT0nLCAnZGVidWcnXSkKKyAgICAgICAgICAgIHN5cy5hcmd2WzE6XSwgJ25WaGM6czpkdScsCisgICAgICAgICAgICBbJ2NsYXNzPScsICdub3NldHVpZCcsICd2ZXJzaW9uJywgJ2hlbHAnLCAnc2l6ZT0nLCAnZGVidWcnLAorICAgICAgICAgICAgICdzbXRwdXRmOCddKQogICAgIGV4Y2VwdCBnZXRvcHQuZXJyb3IgYXMgZToKICAgICAgICAgdXNhZ2UoMSwgZSkKIApAQCAtNzgzLDExICs4OTgsMTMgQEAKICAgICAgICAgICAgIHByaW50KF9fdmVyc2lvbl9fKQogICAgICAgICAgICAgc3lzLmV4aXQoMCkKICAgICAgICAgZWxpZiBvcHQgaW4gKCctbicsICctLW5vc2V0dWlkJyk6Ci0gICAgICAgICAgICBvcHRpb25zLnNldHVpZCA9IDAKKyAgICAgICAgICAgIG9wdGlvbnMuc2V0dWlkID0gRmFsc2UKICAgICAgICAgZWxpZiBvcHQgaW4gKCctYycsICctLWNsYXNzJyk6CiAgICAgICAgICAgICBvcHRpb25zLmNsYXNzbmFtZSA9IGFyZwogICAgICAgICBlbGlmIG9wdCBpbiAoJy1kJywgJy0tZGVidWcnKToKICAgICAgICAgICAgIERFQlVHU1RSRUFNID0gc3lzLnN0ZGVycgorICAgICAgICBlbGlmIG9wdCBpbiAoJy11JywgJy0tc210cHV0ZjgnKToKKyAgICAgICAgICAgIG9wdGlvbnMuZW5hYmxlX1NNVFBVVEY4ID0gVHJ1ZQogICAgICAgICBlbGlmIG9wdCBpbiAoJy1zJywgJy0tc2l6ZScpOgogICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgIGludF9zaXplID0gaW50KGFyZykKQEAgLTg0Miw3ICs5NTksNyBAQAogICAgIGNsYXNzXyA9IGdldGF0dHIobW9kLCBjbGFzc25hbWUpCiAgICAgcHJveHkgPSBjbGFzc18oKG9wdGlvbnMubG9jYWxob3N0LCBvcHRpb25zLmxvY2FscG9ydCksCiAgICAgICAgICAgICAgICAgICAgKG9wdGlvbnMucmVtb3RlaG9zdCwgb3B0aW9ucy5yZW1vdGVwb3J0KSwKLSAgICAgICAgICAgICAgICAgICBvcHRpb25zLnNpemVfbGltaXQpCisgICAgICAgICAgICAgICAgICAgb3B0aW9ucy5zaXplX2xpbWl0LCBlbmFibGVfU01UUFVURjg9b3B0aW9ucy5lbmFibGVfU01UUFVURjgpCiAgICAgaWYgb3B0aW9ucy5zZXR1aWQ6CiAgICAgICAgIHRyeToKICAgICAgICAgICAgIGltcG9ydCBwd2QKZGlmZiAtLWdpdCBhL0xpYi9zbXRwbGliLnB5IGIvTGliL3NtdHBsaWIucHkKaW5kZXggZmE3ZjllNi4uMzI3YTQ1NCAxMDA3NTUKLS0tIGEvTGliL3NtdHBsaWIucHkKKysrIGIvTGliL3NtdHBsaWIucHkKQEAgLTU3MSwxMiArNTcxLDYwIEBACiAgICAgICAgICAgICAgICAgaWYgbm90ICgyMDAgPD0gY29kZSA8PSAyOTkpOgogICAgICAgICAgICAgICAgICAgICByYWlzZSBTTVRQSGVsb0Vycm9yKGNvZGUsIHJlc3ApCiAKKyAgICBkZWYgYXV0aChzZWxmLCBtZWNoYW5pc20sIGF1dGhvYmplY3QpOgorICAgICAgICAiIiJBdXRoZW50aWNhdGlvbiBjb21tYW5kIC0gcmVxdWlyZXMgcmVzcG9uc2UgcHJvY2Vzc2luZy4KKworICAgICAgICAnbWVjaGFuaXNtJyBzcGVjaWZpZXMgd2hpY2ggYXV0aGVudGljYXRpb24gbWVjaGFuaXNtIGlzIHRvCisgICAgICAgIGJlIHVzZWQgLSB0aGUgdmFsaWQgdmFsdWVzIGFyZSB0aG9zZSBsaXN0ZWQgaW4gdGhlICdhdXRoJworICAgICAgICBlbGVtZW50IG9mICdlc210cF9mZWF0dXJlcycuCisKKyAgICAgICAgJ2F1dGhvYmplY3QnIG11c3QgYmUgYSBjYWxsYWJsZSBvYmplY3QgdGFraW5nIGEgc2luZ2xlIGFyZ3VtZW50OgorCisgICAgICAgICAgICAgICAgZGF0YSA9IGF1dGhvYmplY3QoY2hhbGxlbmdlKQorCisgICAgICAgIEl0IHdpbGwgYmUgY2FsbGVkIHRvIHByb2Nlc3MgdGhlIHNlcnZlcidzIGNoYWxsZW5nZSByZXNwb25zZTsgdGhlCisgICAgICAgIGNoYWxsZW5nZSBhcmd1bWVudCBpdCBpcyBwYXNzZWQgd2lsbCBiZSBhIGJ5dGVzLiAgSXQgc2hvdWxkIHJldHVybgorICAgICAgICBieXRlcyBkYXRhIHRoYXQgd2lsbCBiZSBiYXNlNjQgZW5jb2RlZCBhbmQgc2VudCB0byB0aGUgc2VydmVyLgorICAgICAgICAiIiIKKworICAgICAgICBtZWNoYW5pc20gPSBtZWNoYW5pc20udXBwZXIoKQorICAgICAgICAoY29kZSwgcmVzcCkgPSBzZWxmLmRvY21kKCJBVVRIIiwgbWVjaGFuaXNtKQorICAgICAgICAjIFNlcnZlciByZXBsaWVzIHdpdGggMzM0IChjaGFsbGVuZ2UpIG9yIDUzNSAobm90IHN1cHBvcnRlZCkKKyAgICAgICAgaWYgY29kZSA9PSAzMzQ6CisgICAgICAgICAgICBjaGFsbGVuZ2UgPSBiYXNlNjQuZGVjb2RlYnl0ZXMocmVzcCkKKyAgICAgICAgICAgIHJlc3BvbnNlID0gZW5jb2RlX2Jhc2U2NCgKKyAgICAgICAgICAgICAgICBhdXRob2JqZWN0KGNoYWxsZW5nZSkuZW5jb2RlKCdhc2NpaScpLCBlb2w9JycpCisgICAgICAgICAgICAoY29kZSwgcmVzcCkgPSBzZWxmLmRvY21kKHJlc3BvbnNlKQorICAgICAgICAgICAgaWYgY29kZSBpbiAoMjM1LCA1MDMpOgorICAgICAgICAgICAgICAgIHJldHVybiAoY29kZSwgcmVzcCkKKyAgICAgICAgcmFpc2UgU01UUEF1dGhlbnRpY2F0aW9uRXJyb3IoY29kZSwgcmVzcCkKKworICAgIGRlZiBhdXRoX2NyYW1fbWQ1KHNlbGYsIGNoYWxsZW5nZSk6CisgICAgICAgICIiIiBBdXRob2JqZWN0IHRvIHVzZSB3aXRoIENSQU0tTUQ1IGF1dGhlbnRpY2F0aW9uLiBSZXF1aXJlcyBzZWxmLnVzZXIKKyAgICAgICAgYW5kIHNlbGYucGFzc3dvcmQgdG8gYmUgc2V0LiIiIgorICAgICAgICByZXR1cm4gc2VsZi51c2VyICsgIiAiICsgaG1hYy5ITUFDKAorICAgICAgICAgICAgc2VsZi5wYXNzd29yZC5lbmNvZGUoJ2FzY2lpJyksIGNoYWxsZW5nZSwgJ21kNScpLmhleGRpZ2VzdCgpCisKKyAgICBkZWYgYXV0aF9wbGFpbihzZWxmLCBjaGFsbGVuZ2UpOgorICAgICAgICAiIiIgQXV0aG9iamVjdCB0byB1c2Ugd2l0aCBQTEFJTiBhdXRoZW50aWNhdGlvbi4gUmVxdWlyZXMgc2VsZi51c2VyIGFuZAorICAgICAgICBzZWxmLnBhc3N3b3JkIHRvIGJlIHNldC4iIiIKKyAgICAgICAgcmV0dXJuICJcMCVzXDAlcyIgJSAoc2VsZi51c2VyLCBzZWxmLnBhc3N3b3JkKQorCisgICAgZGVmIGF1dGhfbG9naW4oc2VsZiwgY2hhbGxlbmdlKToKKyAgICAgICAgIiIiIEF1dGhvYmplY3QgdG8gdXNlIHdpdGggTE9HSU4gYXV0aGVudGljYXRpb24uIFJlcXVpcmVzIHNlbGYudXNlciBhbmQKKyAgICAgICAgc2VsZi5wYXNzd29yZCB0byBiZSBzZXQuIiIiCisgICAgICAgIChjb2RlLCByZXNwKSA9IHNlbGYuZG9jbWQoCisgICAgICAgICAgICBlbmNvZGVfYmFzZTY0KHNlbGYudXNlci5lbmNvZGUoJ2FzY2lpJyksIGVvbD0nJykpCisgICAgICAgIGlmIGNvZGUgPT0gMzM0OgorICAgICAgICAgICAgcmV0dXJuIHNlbGYucGFzc3dvcmQKKyAgICAgICAgcmFpc2UgU01UUEF1dGhlbnRpY2F0aW9uRXJyb3IoY29kZSwgcmVzcCkKKwogICAgIGRlZiBsb2dpbihzZWxmLCB1c2VyLCBwYXNzd29yZCk6CiAgICAgICAgICIiIkxvZyBpbiBvbiBhbiBTTVRQIHNlcnZlciB0aGF0IHJlcXVpcmVzIGF1dGhlbnRpY2F0aW9uLgogCiAgICAgICAgIFRoZSBhcmd1bWVudHMgYXJlOgotICAgICAgICAgICAgLSB1c2VyOiAgICAgVGhlIHVzZXIgbmFtZSB0byBhdXRoZW50aWNhdGUgd2l0aC4KLSAgICAgICAgICAgIC0gcGFzc3dvcmQ6IFRoZSBwYXNzd29yZCBmb3IgdGhlIGF1dGhlbnRpY2F0aW9uLgorICAgICAgICAgICAgLSB1c2VyOiAgICAgICAgIFRoZSB1c2VyIG5hbWUgdG8gYXV0aGVudGljYXRlIHdpdGguCisgICAgICAgICAgICAtIHBhc3N3b3JkOiAgICAgVGhlIHBhc3N3b3JkIGZvciB0aGUgYXV0aGVudGljYXRpb24uCiAKICAgICAgICAgSWYgdGhlcmUgaGFzIGJlZW4gbm8gcHJldmlvdXMgRUhMTyBvciBIRUxPIGNvbW1hbmQgdGhpcyBzZXNzaW9uLCB0aGlzCiAgICAgICAgIG1ldGhvZCB0cmllcyBFU01UUCBFSExPIGZpcnN0LgpAQCAtNTkzLDYzICs2NDEsNDAgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3VuZC4KICAgICAgICAgIiIiCiAKLSAgICAgICAgZGVmIGVuY29kZV9jcmFtX21kNShjaGFsbGVuZ2UsIHVzZXIsIHBhc3N3b3JkKToKLSAgICAgICAgICAgIGNoYWxsZW5nZSA9IGJhc2U2NC5kZWNvZGVieXRlcyhjaGFsbGVuZ2UpCi0gICAgICAgICAgICByZXNwb25zZSA9IHVzZXIgKyAiICIgKyBobWFjLkhNQUMocGFzc3dvcmQuZW5jb2RlKCdhc2NpaScpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYWxsZW5nZSwgJ21kNScpLmhleGRpZ2VzdCgpCi0gICAgICAgICAgICByZXR1cm4gZW5jb2RlX2Jhc2U2NChyZXNwb25zZS5lbmNvZGUoJ2FzY2lpJyksIGVvbD0nJykKLQotICAgICAgICBkZWYgZW5jb2RlX3BsYWluKHVzZXIsIHBhc3N3b3JkKToKLSAgICAgICAgICAgIHMgPSAiXDAlc1wwJXMiICUgKHVzZXIsIHBhc3N3b3JkKQotICAgICAgICAgICAgcmV0dXJuIGVuY29kZV9iYXNlNjQocy5lbmNvZGUoJ2FzY2lpJyksIGVvbD0nJykKLQotICAgICAgICBBVVRIX1BMQUlOID0gIlBMQUlOIgotICAgICAgICBBVVRIX0NSQU1fTUQ1ID0gIkNSQU0tTUQ1IgotICAgICAgICBBVVRIX0xPR0lOID0gIkxPR0lOIgotCiAgICAgICAgIHNlbGYuZWhsb19vcl9oZWxvX2lmX25lZWRlZCgpCi0KICAgICAgICAgaWYgbm90IHNlbGYuaGFzX2V4dG4oImF1dGgiKToKICAgICAgICAgICAgIHJhaXNlIFNNVFBFeGNlcHRpb24oIlNNVFAgQVVUSCBleHRlbnNpb24gbm90IHN1cHBvcnRlZCBieSBzZXJ2ZXIuIikKIAogICAgICAgICAjIEF1dGhlbnRpY2F0aW9uIG1ldGhvZHMgdGhlIHNlcnZlciBjbGFpbXMgdG8gc3VwcG9ydAogICAgICAgICBhZHZlcnRpc2VkX2F1dGhsaXN0ID0gc2VsZi5lc210cF9mZWF0dXJlc1siYXV0aCJdLnNwbGl0KCkKIAotICAgICAgICAjIExpc3Qgb2YgYXV0aGVudGljYXRpb24gbWV0aG9kcyB3ZSBzdXBwb3J0OiBmcm9tIHByZWZlcnJlZCB0bwotICAgICAgICAjIGxlc3MgcHJlZmVycmVkIG1ldGhvZHMuIEV4Y2VwdCBmb3IgdGhlIHB1cnBvc2Ugb2YgdGVzdGluZyB0aGUgd2Vha2VyCi0gICAgICAgICMgb25lcywgd2UgcHJlZmVyIHN0cm9uZ2VyIG1ldGhvZHMgbGlrZSBDUkFNLU1ENToKLSAgICAgICAgcHJlZmVycmVkX2F1dGhzID0gW0FVVEhfQ1JBTV9NRDUsIEFVVEhfUExBSU4sIEFVVEhfTE9HSU5dCisgICAgICAgICMgQXV0aGVudGljYXRpb24gbWV0aG9kcyB3ZSBjYW4gaGFuZGxlIGluIG91ciBwcmVmZXJyZWQgb3JkZXI6CisgICAgICAgIHByZWZlcnJlZF9hdXRocyA9IFsnQ1JBTS1NRDUnLCAnUExBSU4nLCAnTE9HSU4nXQogCi0gICAgICAgICMgV2UgdHJ5IHRoZSBhdXRoZW50aWNhdGlvbiBtZXRob2RzIHRoZSBzZXJ2ZXIgYWR2ZXJ0aXNlcywgYnV0IG9ubHkgdGhlCi0gICAgICAgICMgb25lcyAqd2UqIHN1cHBvcnQuIEFuZCBpbiBvdXIgcHJlZmVycmVkIG9yZGVyLgotICAgICAgICBhdXRobGlzdCA9IFthdXRoIGZvciBhdXRoIGluIHByZWZlcnJlZF9hdXRocyBpZiBhdXRoIGluIGFkdmVydGlzZWRfYXV0aGxpc3RdCisgICAgICAgICMgV2UgdHJ5IHRoZSBzdXBwb3J0ZWQgYXV0aGVudGljYXRpb25zIGluIG91ciBwcmVmZXJyZWQgb3JkZXIsIGlmCisgICAgICAgICMgdGhlIHNlcnZlciBzdXBwb3J0cyB0aGVtLgorICAgICAgICBhdXRobGlzdCA9IFthdXRoIGZvciBhdXRoIGluIHByZWZlcnJlZF9hdXRocworICAgICAgICAgICAgICAgICAgICBpZiBhdXRoIGluIGFkdmVydGlzZWRfYXV0aGxpc3RdCiAgICAgICAgIGlmIG5vdCBhdXRobGlzdDoKICAgICAgICAgICAgIHJhaXNlIFNNVFBFeGNlcHRpb24oIk5vIHN1aXRhYmxlIGF1dGhlbnRpY2F0aW9uIG1ldGhvZCBmb3VuZC4iKQogCiAgICAgICAgICMgU29tZSBzZXJ2ZXJzIGFkdmVydGlzZSBhdXRoZW50aWNhdGlvbiBtZXRob2RzIHRoZXkgZG9uJ3QgcmVhbGx5CiAgICAgICAgICMgc3VwcG9ydCwgc28gaWYgYXV0aGVudGljYXRpb24gZmFpbHMsIHdlIGNvbnRpbnVlIHVudGlsIHdlJ3ZlIHRyaWVkCiAgICAgICAgICMgYWxsIG1ldGhvZHMuCisgICAgICAgIHNlbGYudXNlciwgc2VsZi5wYXNzd29yZCA9IHVzZXIsIHBhc3N3b3JkCiAgICAgICAgIGZvciBhdXRobWV0aG9kIGluIGF1dGhsaXN0OgotICAgICAgICAgICAgaWYgYXV0aG1ldGhvZCA9PSBBVVRIX0NSQU1fTUQ1OgotICAgICAgICAgICAgICAgIChjb2RlLCByZXNwKSA9IHNlbGYuZG9jbWQoIkFVVEgiLCBBVVRIX0NSQU1fTUQ1KQotICAgICAgICAgICAgICAgIGlmIGNvZGUgPT0gMzM0OgotICAgICAgICAgICAgICAgICAgICAoY29kZSwgcmVzcCkgPSBzZWxmLmRvY21kKGVuY29kZV9jcmFtX21kNShyZXNwLCB1c2VyLCBwYXNzd29yZCkpCi0gICAgICAgICAgICBlbGlmIGF1dGhtZXRob2QgPT0gQVVUSF9QTEFJTjoKLSAgICAgICAgICAgICAgICAoY29kZSwgcmVzcCkgPSBzZWxmLmRvY21kKCJBVVRIIiwKLSAgICAgICAgICAgICAgICAgICAgQVVUSF9QTEFJTiArICIgIiArIGVuY29kZV9wbGFpbih1c2VyLCBwYXNzd29yZCkpCi0gICAgICAgICAgICBlbGlmIGF1dGhtZXRob2QgPT0gQVVUSF9MT0dJTjoKLSAgICAgICAgICAgICAgICAoY29kZSwgcmVzcCkgPSBzZWxmLmRvY21kKCJBVVRIIiwKLSAgICAgICAgICAgICAgICAgICAgIiVzICVzIiAlIChBVVRIX0xPR0lOLCBlbmNvZGVfYmFzZTY0KHVzZXIuZW5jb2RlKCdhc2NpaScpLCBlb2w9JycpKSkKLSAgICAgICAgICAgICAgICBpZiBjb2RlID09IDMzNDoKLSAgICAgICAgICAgICAgICAgICAgKGNvZGUsIHJlc3ApID0gc2VsZi5kb2NtZChlbmNvZGVfYmFzZTY0KHBhc3N3b3JkLmVuY29kZSgnYXNjaWknKSwgZW9sPScnKSkKKyAgICAgICAgICAgIG1ldGhvZF9uYW1lID0gJ2F1dGhfJyArIGF1dGhtZXRob2QubG93ZXIoKS5yZXBsYWNlKCctJywgJ18nKQorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIChjb2RlLCByZXNwKSA9IHNlbGYuYXV0aChhdXRobWV0aG9kLCBnZXRhdHRyKHNlbGYsIG1ldGhvZF9uYW1lKSkKKyAgICAgICAgICAgICAgICAjIDIzNSA9PSAnQXV0aGVudGljYXRpb24gc3VjY2Vzc2Z1bCcKKyAgICAgICAgICAgICAgICAjIDUwMyA9PSAnRXJyb3I6IGFscmVhZHkgYXV0aGVudGljYXRlZCcKKyAgICAgICAgICAgICAgICBpZiBjb2RlIGluICgyMzUsIDUwMyk6CisgICAgICAgICAgICAgICAgICAgIHJldHVybiAoY29kZSwgcmVzcCkKKyAgICAgICAgICAgIGV4Y2VwdCBTTVRQQXV0aGVudGljYXRpb25FcnJvciBhcyBlOgorICAgICAgICAgICAgICAgIGxhc3RfZXhjZXB0aW9uID0gZQogCi0gICAgICAgICAgICAjIDIzNSA9PSAnQXV0aGVudGljYXRpb24gc3VjY2Vzc2Z1bCcKLSAgICAgICAgICAgICMgNTAzID09ICdFcnJvcjogYWxyZWFkeSBhdXRoZW50aWNhdGVkJwotICAgICAgICAgICAgaWYgY29kZSBpbiAoMjM1LCA1MDMpOgotICAgICAgICAgICAgICAgIHJldHVybiAoY29kZSwgcmVzcCkKLQotICAgICAgICAjIFdlIGNvdWxkIG5vdCBsb2dpbiBzdWNlc3NmdWxseS4gUmV0dXJuIHJlc3VsdCBvZiBsYXN0IGF0dGVtcHQuCi0gICAgICAgIHJhaXNlIFNNVFBBdXRoZW50aWNhdGlvbkVycm9yKGNvZGUsIHJlc3ApCisgICAgICAgICMgV2UgY291bGQgbm90IGxvZ2luIHN1Y2Nlc3NmdWxseS4gIFJldHVybiByZXN1bHQgb2YgbGFzdCBhdHRlbXB0LgorICAgICAgICByYWlzZSBsYXN0X2V4Y2VwdGlvbgogCiAgICAgZGVmIHN0YXJ0dGxzKHNlbGYsIGtleWZpbGU9Tm9uZSwgY2VydGZpbGU9Tm9uZSwgY29udGV4dD1Ob25lKToKICAgICAgICAgIiIiUHV0cyB0aGUgY29ubmVjdGlvbiB0byB0aGUgU01UUCBzZXJ2ZXIgaW50byBUTFMgbW9kZS4KZGlmZiAtLWdpdCBhL0xpYi9zbmRoZHIucHkgYi9MaWIvc25kaGRyLnB5CmluZGV4IDI0MGU1MDcuLmU1OTAxZWMgMTAwNjQ0Ci0tLSBhL0xpYi9zbmRoZHIucHkKKysrIGIvTGliL3NuZGhkci5weQpAQCAtMzIsNiArMzIsMTEgQEAKIAogX19hbGxfXyA9IFsnd2hhdCcsICd3aGF0aGRyJ10KIAorZnJvbSBjb2xsZWN0aW9ucyBpbXBvcnQgbmFtZWR0dXBsZQorCitTbmRIZWFkZXJzID0gbmFtZWR0dXBsZSgnU25kSGVhZGVycycsCisgICAgICAgICAgICAgICAgICAgICAgICAnZmlsZXR5cGUgZnJhbWVyYXRlIG5jaGFubmVscyBuZnJhbWVzIHNhbXB3aWR0aCcpCisKIGRlZiB3aGF0KGZpbGVuYW1lKToKICAgICAiIiJHdWVzcyB0aGUgdHlwZSBvZiBhIHNvdW5kIGZpbGUuIiIiCiAgICAgcmVzID0gd2hhdGhkcihmaWxlbmFtZSkKQEAgLTQ1LDcgKzUwLDcgQEAKICAgICAgICAgZm9yIHRmIGluIHRlc3RzOgogICAgICAgICAgICAgcmVzID0gdGYoaCwgZikKICAgICAgICAgICAgIGlmIHJlczoKLSAgICAgICAgICAgICAgICByZXR1cm4gcmVzCisgICAgICAgICAgICAgICAgcmV0dXJuIFNuZEhlYWRlcnMoKnJlcykKICAgICAgICAgcmV0dXJuIE5vbmUKIAogCmRpZmYgLS1naXQgYS9MaWIvc29ja2V0LnB5IGIvTGliL3NvY2tldC5weQppbmRleCA4ZWZkNzYwLi45YzM5YzY5IDEwMDY0NAotLS0gYS9MaWIvc29ja2V0LnB5CisrKyBiL0xpYi9zb2NrZXQucHkKQEAgLTQ5LDcgKzQ5LDcgQEAKIGltcG9ydCBfc29ja2V0CiBmcm9tIF9zb2NrZXQgaW1wb3J0ICoKIAotaW1wb3J0IG9zLCBzeXMsIGlvCitpbXBvcnQgb3MsIHN5cywgaW8sIHNlbGVjdG9ycwogZnJvbSBlbnVtIGltcG9ydCBJbnRFbnVtCiAKIHRyeToKQEAgLTc5LDYgKzc5LDExIEBACiAgICAgICAgICAgICAgICAgICAgICAgaWYgbmFtZS5pc3VwcGVyKCkgYW5kIG5hbWUuc3RhcnRzd2l0aCgnU09DS18nKX0pCiBnbG9iYWxzKCkudXBkYXRlKFNvY2tldEtpbmQuX19tZW1iZXJzX18pCiAKKworX0xPQ0FMSE9TVCAgICA9ICcxMjcuMC4wLjEnCitfTE9DQUxIT1NUX1Y2ID0gJzo6MScKKworCiBkZWYgX2ludGVudW1fY29udmVydGVyKHZhbHVlLCBlbnVtX2tsYXNzKToKICAgICAiIiJDb252ZXJ0IGEgbnVtZXJpYyBmYW1pbHkgdmFsdWUgdG8gYW4gSW50RW51bSBtZW1iZXIuCiAKQEAgLTExMiw2ICsxMTcsOSBAQAogICAgIF9fYWxsX18uYXBwZW5kKCJlcnJvclRhYiIpCiAKIAorY2xhc3MgX0dpdmV1cE9uU2VuZGZpbGUoRXhjZXB0aW9uKTogcGFzcworCisKIGNsYXNzIHNvY2tldChfc29ja2V0LnNvY2tldCk6CiAKICAgICAiIiJBIHN1YmNsYXNzIG9mIF9zb2NrZXQuc29ja2V0IGFkZGluZyB0aGUgbWFrZWZpbGUoKSBtZXRob2QuIiIiCkBAIC0xNDEsNyArMTQ5LDcgQEAKICAgICAgICAgY2xvc2VkID0gZ2V0YXR0cihzZWxmLCAnX2Nsb3NlZCcsIEZhbHNlKQogICAgICAgICBzID0gIjwlcy4lcyVzIGZkPSVpLCBmYW1pbHk9JXMsIHR5cGU9JXMsIHByb3RvPSVpIiBcCiAgICAgICAgICAgICAlIChzZWxmLl9fY2xhc3NfXy5fX21vZHVsZV9fLAotICAgICAgICAgICAgICAgc2VsZi5fX2NsYXNzX18uX19uYW1lX18sCisgICAgICAgICAgICAgICBzZWxmLl9fY2xhc3NfXy5fX3F1YWxuYW1lX18sCiAgICAgICAgICAgICAgICAiIFtjbG9zZWRdIiBpZiBjbG9zZWQgZWxzZSAiIiwKICAgICAgICAgICAgICAgIHNlbGYuZmlsZW5vKCksCiAgICAgICAgICAgICAgICBzZWxmLmZhbWlseSwKQEAgLTIzNSw2ICsyNDMsMTQ5IEBACiAgICAgICAgIHRleHQubW9kZSA9IG1vZGUKICAgICAgICAgcmV0dXJuIHRleHQKIAorICAgIGlmIGhhc2F0dHIob3MsICdzZW5kZmlsZScpOgorCisgICAgICAgIGRlZiBfc2VuZGZpbGVfdXNlX3NlbmRmaWxlKHNlbGYsIGZpbGUsIG9mZnNldD0wLCBjb3VudD1Ob25lKToKKyAgICAgICAgICAgIHNlbGYuX2NoZWNrX3NlbmRmaWxlX3BhcmFtcyhmaWxlLCBvZmZzZXQsIGNvdW50KQorICAgICAgICAgICAgc29ja25vID0gc2VsZi5maWxlbm8oKQorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIGZpbGVubyA9IGZpbGUuZmlsZW5vKCkKKyAgICAgICAgICAgIGV4Y2VwdCAoQXR0cmlidXRlRXJyb3IsIGlvLlVuc3VwcG9ydGVkT3BlcmF0aW9uKSBhcyBlcnI6CisgICAgICAgICAgICAgICAgcmFpc2UgX0dpdmV1cE9uU2VuZGZpbGUoZXJyKSAgIyBub3QgYSByZWd1bGFyIGZpbGUKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICBmc2l6ZSA9IG9zLmZzdGF0KGZpbGVubykuc3Rfc2l6ZQorICAgICAgICAgICAgZXhjZXB0IE9TRXJyb3I6CisgICAgICAgICAgICAgICAgcmFpc2UgX0dpdmV1cE9uU2VuZGZpbGUoZXJyKSAgIyBub3QgYSByZWd1bGFyIGZpbGUKKyAgICAgICAgICAgIGlmIG5vdCBmc2l6ZToKKyAgICAgICAgICAgICAgICByZXR1cm4gMCAgIyBlbXB0eSBmaWxlCisgICAgICAgICAgICBibG9ja3NpemUgPSBmc2l6ZSBpZiBub3QgY291bnQgZWxzZSBjb3VudAorCisgICAgICAgICAgICB0aW1lb3V0ID0gc2VsZi5nZXR0aW1lb3V0KCkKKyAgICAgICAgICAgIGlmIHRpbWVvdXQgPT0gMDoKKyAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJub24tYmxvY2tpbmcgc29ja2V0cyBhcmUgbm90IHN1cHBvcnRlZCIpCisgICAgICAgICAgICAjIHBvbGwvc2VsZWN0IGhhdmUgdGhlIGFkdmFudGFnZSBvZiBub3QgcmVxdWlyaW5nIGFueQorICAgICAgICAgICAgIyBleHRyYSBmaWxlIGRlc2NyaXB0b3IsIGNvbnRyYXJpbHkgdG8gZXBvbGwva3F1ZXVlCisgICAgICAgICAgICAjIChhbHNvLCB0aGV5IHJlcXVpcmUgYSBzaW5nbGUgc3lzY2FsbCkuCisgICAgICAgICAgICBpZiBoYXNhdHRyKHNlbGVjdG9ycywgJ1BvbGxTZWxlY3RvcicpOgorICAgICAgICAgICAgICAgIHNlbGVjdG9yID0gc2VsZWN0b3JzLlBvbGxTZWxlY3RvcigpCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIHNlbGVjdG9yID0gc2VsZWN0b3JzLlNlbGVjdFNlbGVjdG9yKCkKKyAgICAgICAgICAgIHNlbGVjdG9yLnJlZ2lzdGVyKHNvY2tubywgc2VsZWN0b3JzLkVWRU5UX1dSSVRFKQorCisgICAgICAgICAgICB0b3RhbF9zZW50ID0gMAorICAgICAgICAgICAgIyBsb2NhbGl6ZSB2YXJpYWJsZSBhY2Nlc3MgdG8gbWluaW1pemUgb3ZlcmhlYWQKKyAgICAgICAgICAgIHNlbGVjdG9yX3NlbGVjdCA9IHNlbGVjdG9yLnNlbGVjdAorICAgICAgICAgICAgb3Nfc2VuZGZpbGUgPSBvcy5zZW5kZmlsZQorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIHdoaWxlIFRydWU6CisgICAgICAgICAgICAgICAgICAgIGlmIHRpbWVvdXQgYW5kIG5vdCBzZWxlY3Rvcl9zZWxlY3QodGltZW91dCk6CisgICAgICAgICAgICAgICAgICAgICAgICByYWlzZSBfc29ja2V0LnRpbWVvdXQoJ3RpbWVkIG91dCcpCisgICAgICAgICAgICAgICAgICAgIGlmIGNvdW50OgorICAgICAgICAgICAgICAgICAgICAgICAgYmxvY2tzaXplID0gY291bnQgLSB0b3RhbF9zZW50CisgICAgICAgICAgICAgICAgICAgICAgICBpZiBibG9ja3NpemUgPD0gMDoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaworICAgICAgICAgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgICAgICAgICBzZW50ID0gb3Nfc2VuZGZpbGUoc29ja25vLCBmaWxlbm8sIG9mZnNldCwgYmxvY2tzaXplKQorICAgICAgICAgICAgICAgICAgICBleGNlcHQgQmxvY2tpbmdJT0Vycm9yOgorICAgICAgICAgICAgICAgICAgICAgICAgaWYgbm90IHRpbWVvdXQ6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBCbG9jayB1bnRpbCB0aGUgc29ja2V0IGlzIHJlYWR5IHRvIHNlbmQgc29tZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgZGF0YTsgYXZvaWRzIGhvZ2dpbmcgQ1BVIHJlc291cmNlcy4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3Rvcl9zZWxlY3QoKQorICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgICAgICAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZXJyOgorICAgICAgICAgICAgICAgICAgICAgICAgaWYgdG90YWxfc2VudCA9PSAwOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgV2UgY2FuIGdldCBoZXJlIGZvciBkaWZmZXJlbnQgcmVhc29ucywgdGhlIG1haW4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIG9uZSBiZWluZyAnZmlsZScgaXMgbm90IGEgcmVndWxhciBtbWFwKDIpLWxpa2UKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIGZpbGUsIGluIHdoaWNoIGNhc2Ugd2UnbGwgZmFsbCBiYWNrIG9uIHVzaW5nCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBwbGFpbiBzZW5kKCkuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2UgX0dpdmV1cE9uU2VuZGZpbGUoZXJyKQorICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2UgZXJyIGZyb20gTm9uZQorICAgICAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICAgICAgaWYgc2VudCA9PSAwOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrICAjIEVPRgorICAgICAgICAgICAgICAgICAgICAgICAgb2Zmc2V0ICs9IHNlbnQKKyAgICAgICAgICAgICAgICAgICAgICAgIHRvdGFsX3NlbnQgKz0gc2VudAorICAgICAgICAgICAgICAgIHJldHVybiB0b3RhbF9zZW50CisgICAgICAgICAgICBmaW5hbGx5OgorICAgICAgICAgICAgICAgIGlmIHRvdGFsX3NlbnQgPiAwIGFuZCBoYXNhdHRyKGZpbGUsICdzZWVrJyk6CisgICAgICAgICAgICAgICAgICAgIGZpbGUuc2VlayhvZmZzZXQpCisgICAgZWxzZToKKyAgICAgICAgZGVmIF9zZW5kZmlsZV91c2Vfc2VuZGZpbGUoc2VsZiwgZmlsZSwgb2Zmc2V0PTAsIGNvdW50PU5vbmUpOgorICAgICAgICAgICAgcmFpc2UgX0dpdmV1cE9uU2VuZGZpbGUoCisgICAgICAgICAgICAgICAgIm9zLnNlbmRmaWxlKCkgbm90IGF2YWlsYWJsZSBvbiB0aGlzIHBsYXRmb3JtIikKKworICAgIGRlZiBfc2VuZGZpbGVfdXNlX3NlbmQoc2VsZiwgZmlsZSwgb2Zmc2V0PTAsIGNvdW50PU5vbmUpOgorICAgICAgICBzZWxmLl9jaGVja19zZW5kZmlsZV9wYXJhbXMoZmlsZSwgb2Zmc2V0LCBjb3VudCkKKyAgICAgICAgaWYgc2VsZi5nZXR0aW1lb3V0KCkgPT0gMDoKKyAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIm5vbi1ibG9ja2luZyBzb2NrZXRzIGFyZSBub3Qgc3VwcG9ydGVkIikKKyAgICAgICAgaWYgb2Zmc2V0OgorICAgICAgICAgICAgZmlsZS5zZWVrKG9mZnNldCkKKyAgICAgICAgYmxvY2tzaXplID0gbWluKGNvdW50LCA4MTkyKSBpZiBjb3VudCBlbHNlIDgxOTIKKyAgICAgICAgdG90YWxfc2VudCA9IDAKKyAgICAgICAgIyBsb2NhbGl6ZSB2YXJpYWJsZSBhY2Nlc3MgdG8gbWluaW1pemUgb3ZlcmhlYWQKKyAgICAgICAgZmlsZV9yZWFkID0gZmlsZS5yZWFkCisgICAgICAgIHNvY2tfc2VuZCA9IHNlbGYuc2VuZAorICAgICAgICB0cnk6CisgICAgICAgICAgICB3aGlsZSBUcnVlOgorICAgICAgICAgICAgICAgIGlmIGNvdW50OgorICAgICAgICAgICAgICAgICAgICBibG9ja3NpemUgPSBtaW4oY291bnQgLSB0b3RhbF9zZW50LCBibG9ja3NpemUpCisgICAgICAgICAgICAgICAgICAgIGlmIGJsb2Nrc2l6ZSA8PSAwOgorICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWsKKyAgICAgICAgICAgICAgICBkYXRhID0gbWVtb3J5dmlldyhmaWxlX3JlYWQoYmxvY2tzaXplKSkKKyAgICAgICAgICAgICAgICBpZiBub3QgZGF0YToKKyAgICAgICAgICAgICAgICAgICAgYnJlYWsgICMgRU9GCisgICAgICAgICAgICAgICAgd2hpbGUgVHJ1ZToKKyAgICAgICAgICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgICAgICAgICAgc2VudCA9IHNvY2tfc2VuZChkYXRhKQorICAgICAgICAgICAgICAgICAgICBleGNlcHQgQmxvY2tpbmdJT0Vycm9yOgorICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgICAgIHRvdGFsX3NlbnQgKz0gc2VudAorICAgICAgICAgICAgICAgICAgICAgICAgaWYgc2VudCA8IGxlbihkYXRhKToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhID0gZGF0YVtzZW50Ol0KKyAgICAgICAgICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWsKKyAgICAgICAgICAgIHJldHVybiB0b3RhbF9zZW50CisgICAgICAgIGZpbmFsbHk6CisgICAgICAgICAgICBpZiB0b3RhbF9zZW50ID4gMCBhbmQgaGFzYXR0cihmaWxlLCAnc2VlaycpOgorICAgICAgICAgICAgICAgIGZpbGUuc2VlayhvZmZzZXQgKyB0b3RhbF9zZW50KQorCisgICAgZGVmIF9jaGVja19zZW5kZmlsZV9wYXJhbXMoc2VsZiwgZmlsZSwgb2Zmc2V0LCBjb3VudCk6CisgICAgICAgIGlmICdiJyBub3QgaW4gZ2V0YXR0cihmaWxlLCAnbW9kZScsICdiJyk6CisgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJmaWxlIHNob3VsZCBiZSBvcGVuZWQgaW4gYmluYXJ5IG1vZGUiKQorICAgICAgICBpZiBub3Qgc2VsZi50eXBlICYgU09DS19TVFJFQU06CisgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJvbmx5IFNPQ0tfU1RSRUFNIHR5cGUgc29ja2V0cyBhcmUgc3VwcG9ydGVkIikKKyAgICAgICAgaWYgY291bnQgaXMgbm90IE5vbmU6CisgICAgICAgICAgICBpZiBub3QgaXNpbnN0YW5jZShjb3VudCwgaW50KToKKyAgICAgICAgICAgICAgICByYWlzZSBUeXBlRXJyb3IoCisgICAgICAgICAgICAgICAgICAgICJjb3VudCBtdXN0IGJlIGEgcG9zaXRpdmUgaW50ZWdlciAoZ290IHshcn0pIi5mb3JtYXQoY291bnQpKQorICAgICAgICAgICAgaWYgY291bnQgPD0gMDoKKyAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKAorICAgICAgICAgICAgICAgICAgICAiY291bnQgbXVzdCBiZSBhIHBvc2l0aXZlIGludGVnZXIgKGdvdCB7IXJ9KSIuZm9ybWF0KGNvdW50KSkKKworICAgIGRlZiBzZW5kZmlsZShzZWxmLCBmaWxlLCBvZmZzZXQ9MCwgY291bnQ9Tm9uZSk6CisgICAgICAgICIiInNlbmRmaWxlKGZpbGVbLCBvZmZzZXRbLCBjb3VudF1dKSAtPiBzZW50CisKKyAgICAgICAgU2VuZCBhIGZpbGUgdW50aWwgRU9GIGlzIHJlYWNoZWQgYnkgdXNpbmcgaGlnaC1wZXJmb3JtYW5jZQorICAgICAgICBvcy5zZW5kZmlsZSgpIGFuZCByZXR1cm4gdGhlIHRvdGFsIG51bWJlciBvZiBieXRlcyB3aGljaAorICAgICAgICB3ZXJlIHNlbnQuCisgICAgICAgICpmaWxlKiBtdXN0IGJlIGEgcmVndWxhciBmaWxlIG9iamVjdCBvcGVuZWQgaW4gYmluYXJ5IG1vZGUuCisgICAgICAgIElmIG9zLnNlbmRmaWxlKCkgaXMgbm90IGF2YWlsYWJsZSAoZS5nLiBXaW5kb3dzKSBvciBmaWxlIGlzCisgICAgICAgIG5vdCBhIHJlZ3VsYXIgZmlsZSBzb2NrZXQuc2VuZCgpIHdpbGwgYmUgdXNlZCBpbnN0ZWFkLgorICAgICAgICAqb2Zmc2V0KiB0ZWxscyBmcm9tIHdoZXJlIHRvIHN0YXJ0IHJlYWRpbmcgdGhlIGZpbGUuCisgICAgICAgIElmIHNwZWNpZmllZCwgKmNvdW50KiBpcyB0aGUgdG90YWwgbnVtYmVyIG9mIGJ5dGVzIHRvIHRyYW5zbWl0CisgICAgICAgIGFzIG9wcG9zZWQgdG8gc2VuZGluZyB0aGUgZmlsZSB1bnRpbCBFT0YgaXMgcmVhY2hlZC4KKyAgICAgICAgRmlsZSBwb3NpdGlvbiBpcyB1cGRhdGVkIG9uIHJldHVybiBvciBhbHNvIGluIGNhc2Ugb2YgZXJyb3IgaW4KKyAgICAgICAgd2hpY2ggY2FzZSBmaWxlLnRlbGwoKSBjYW4gYmUgdXNlZCB0byBmaWd1cmUgb3V0IHRoZSBudW1iZXIgb2YKKyAgICAgICAgYnl0ZXMgd2hpY2ggd2VyZSBzZW50LgorICAgICAgICBUaGUgc29ja2V0IG11c3QgYmUgb2YgU09DS19TVFJFQU0gdHlwZS4KKyAgICAgICAgTm9uLWJsb2NraW5nIHNvY2tldHMgYXJlIG5vdCBzdXBwb3J0ZWQuCisgICAgICAgICIiIgorICAgICAgICB0cnk6CisgICAgICAgICAgICByZXR1cm4gc2VsZi5fc2VuZGZpbGVfdXNlX3NlbmRmaWxlKGZpbGUsIG9mZnNldCwgY291bnQpCisgICAgICAgIGV4Y2VwdCBfR2l2ZXVwT25TZW5kZmlsZToKKyAgICAgICAgICAgIHJldHVybiBzZWxmLl9zZW5kZmlsZV91c2Vfc2VuZChmaWxlLCBvZmZzZXQsIGNvdW50KQorCiAgICAgZGVmIF9kZWNyZWZfc29ja2V0aW9zKHNlbGYpOgogICAgICAgICBpZiBzZWxmLl9pb19yZWZzID4gMDoKICAgICAgICAgICAgIHNlbGYuX2lvX3JlZnMgLT0gMQpAQCAtMzI1LDYgKzQ3Niw1MiBAQAogICAgICAgICBiID0gc29ja2V0KGZhbWlseSwgdHlwZSwgcHJvdG8sIGIuZGV0YWNoKCkpCiAgICAgICAgIHJldHVybiBhLCBiCiAKK2Vsc2U6CisKKyAgICAjIE9yaWdpbjogaHR0cHM6Ly9naXN0LmdpdGh1Yi5jb20vNDMyNTc4MywgYnkgR2VlcnQgSmFuc2VuLiAgUHVibGljIGRvbWFpbi4KKyAgICBkZWYgc29ja2V0cGFpcihmYW1pbHk9QUZfSU5FVCwgdHlwZT1TT0NLX1NUUkVBTSwgcHJvdG89MCk6CisgICAgICAgIGlmIGZhbWlseSA9PSBBRl9JTkVUOgorICAgICAgICAgICAgaG9zdCA9IF9MT0NBTEhPU1QKKyAgICAgICAgZWxpZiBmYW1pbHkgPT0gQUZfSU5FVDY6CisgICAgICAgICAgICBob3N0ID0gX0xPQ0FMSE9TVF9WNgorICAgICAgICBlbHNlOgorICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiT25seSBBRl9JTkVUIGFuZCBBRl9JTkVUNiBzb2NrZXQgYWRkcmVzcyBmYW1pbGllcyAiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhcmUgc3VwcG9ydGVkIikKKyAgICAgICAgaWYgdHlwZSAhPSBTT0NLX1NUUkVBTToKKyAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIk9ubHkgU09DS19TVFJFQU0gc29ja2V0IHR5cGUgaXMgc3VwcG9ydGVkIikKKyAgICAgICAgaWYgcHJvdG8gIT0gMDoKKyAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIk9ubHkgcHJvdG9jb2wgemVybyBpcyBzdXBwb3J0ZWQiKQorCisgICAgICAgICMgV2UgY3JlYXRlIGEgY29ubmVjdGVkIFRDUCBzb2NrZXQuIE5vdGUgdGhlIHRyaWNrIHdpdGgKKyAgICAgICAgIyBzZXRibG9ja2luZyhGYWxzZSkgdGhhdCBwcmV2ZW50cyB1cyBmcm9tIGhhdmluZyB0byBjcmVhdGUgYSB0aHJlYWQuCisgICAgICAgIGxzb2NrID0gc29ja2V0KGZhbWlseSwgdHlwZSwgcHJvdG8pCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIGxzb2NrLmJpbmQoKGhvc3QsIDApKQorICAgICAgICAgICAgbHNvY2subGlzdGVuKCkKKyAgICAgICAgICAgICMgT24gSVB2NiwgaWdub3JlIGZsb3dfaW5mbyBhbmQgc2NvcGVfaWQKKyAgICAgICAgICAgIGFkZHIsIHBvcnQgPSBsc29jay5nZXRzb2NrbmFtZSgpWzoyXQorICAgICAgICAgICAgY3NvY2sgPSBzb2NrZXQoZmFtaWx5LCB0eXBlLCBwcm90bykKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICBjc29jay5zZXRibG9ja2luZyhGYWxzZSkKKyAgICAgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgICAgIGNzb2NrLmNvbm5lY3QoKGFkZHIsIHBvcnQpKQorICAgICAgICAgICAgICAgIGV4Y2VwdCAoQmxvY2tpbmdJT0Vycm9yLCBJbnRlcnJ1cHRlZEVycm9yKToKKyAgICAgICAgICAgICAgICAgICAgcGFzcworICAgICAgICAgICAgICAgIGNzb2NrLnNldGJsb2NraW5nKFRydWUpCisgICAgICAgICAgICAgICAgc3NvY2ssIF8gPSBsc29jay5hY2NlcHQoKQorICAgICAgICAgICAgZXhjZXB0OgorICAgICAgICAgICAgICAgIGNzb2NrLmNsb3NlKCkKKyAgICAgICAgICAgICAgICByYWlzZQorICAgICAgICBmaW5hbGx5OgorICAgICAgICAgICAgbHNvY2suY2xvc2UoKQorICAgICAgICByZXR1cm4gKHNzb2NrLCBjc29jaykKKworc29ja2V0cGFpci5fX2RvY19fID0gIiIic29ja2V0cGFpcihbZmFtaWx5WywgdHlwZVssIHByb3RvXV1dKSAtPiAoc29ja2V0IG9iamVjdCwgc29ja2V0IG9iamVjdCkKK0NyZWF0ZSBhIHBhaXIgb2Ygc29ja2V0IG9iamVjdHMgZnJvbSB0aGUgc29ja2V0cyByZXR1cm5lZCBieSB0aGUgcGxhdGZvcm0KK3NvY2tldHBhaXIoKSBmdW5jdGlvbi4KK1RoZSBhcmd1bWVudHMgYXJlIHRoZSBzYW1lIGFzIGZvciBzb2NrZXQoKSBleGNlcHQgdGhlIGRlZmF1bHQgZmFtaWx5IGlzIEFGX1VOSVgKK2lmIGRlZmluZWQgb24gdGhlIHBsYXRmb3JtOyBvdGhlcndpc2UsIHRoZSBkZWZhdWx0IGlzIEFGX0lORVQuCisiIiIKIAogX2Jsb2NraW5nX2Vycm5vcyA9IHsgRUFHQUlOLCBFV09VTERCTE9DSyB9CiAKQEAgLTM3NSw4ICs1NzIsNiBAQAogICAgICAgICAgICAgZXhjZXB0IHRpbWVvdXQ6CiAgICAgICAgICAgICAgICAgc2VsZi5fdGltZW91dF9vY2N1cnJlZCA9IFRydWUKICAgICAgICAgICAgICAgICByYWlzZQotICAgICAgICAgICAgZXhjZXB0IEludGVycnVwdGVkRXJyb3I6Ci0gICAgICAgICAgICAgICAgY29udGludWUKICAgICAgICAgICAgIGV4Y2VwdCBlcnJvciBhcyBlOgogICAgICAgICAgICAgICAgIGlmIGUuYXJnc1swXSBpbiBfYmxvY2tpbmdfZXJybm9zOgogICAgICAgICAgICAgICAgICAgICByZXR1cm4gTm9uZQpkaWZmIC0tZ2l0IGEvTGliL3NvY2tldHNlcnZlci5weSBiL0xpYi9zb2NrZXRzZXJ2ZXIucHkKaW5kZXggNWNiODliZS4uMGNlOGU4MSAxMDA2NDQKLS0tIGEvTGliL3NvY2tldHNlcnZlci5weQorKysgYi9MaWIvc29ja2V0c2VydmVyLnB5CkBAIC05NCw3ICs5NCw3IEBACiBBbm90aGVyIGFwcHJvYWNoIHRvIGhhbmRsaW5nIG11bHRpcGxlIHNpbXVsdGFuZW91cyByZXF1ZXN0cyBpbiBhbgogZW52aXJvbm1lbnQgdGhhdCBzdXBwb3J0cyBuZWl0aGVyIHRocmVhZHMgbm9yIGZvcmsgKG9yIHdoZXJlIHRoZXNlIGFyZQogdG9vIGV4cGVuc2l2ZSBvciBpbmFwcHJvcHJpYXRlIGZvciB0aGUgc2VydmljZSkgaXMgdG8gbWFpbnRhaW4gYW4KLWV4cGxpY2l0IHRhYmxlIG9mIHBhcnRpYWxseSBmaW5pc2hlZCByZXF1ZXN0cyBhbmQgdG8gdXNlIHNlbGVjdCgpIHRvCitleHBsaWNpdCB0YWJsZSBvZiBwYXJ0aWFsbHkgZmluaXNoZWQgcmVxdWVzdHMgYW5kIHRvIHVzZSBhIHNlbGVjdG9yIHRvCiBkZWNpZGUgd2hpY2ggcmVxdWVzdCB0byB3b3JrIG9uIG5leHQgKG9yIHdoZXRoZXIgdG8gaGFuZGxlIGEgbmV3CiBpbmNvbWluZyByZXF1ZXN0KS4gIFRoaXMgaXMgcGFydGljdWxhcmx5IGltcG9ydGFudCBmb3Igc3RyZWFtIHNlcnZpY2VzCiB3aGVyZSBlYWNoIGNsaWVudCBjYW4gcG90ZW50aWFsbHkgYmUgY29ubmVjdGVkIGZvciBhIGxvbmcgdGltZSAoaWYKQEAgLTEwNCw3ICsxMDQsNiBAQAogLSBTdGFuZGFyZCBjbGFzc2VzIGZvciBTdW4gUlBDICh3aGljaCB1c2VzIGVpdGhlciBVRFAgb3IgVENQKQogLSBTdGFuZGFyZCBtaXgtaW4gY2xhc3NlcyB0byBpbXBsZW1lbnQgdmFyaW91cyBhdXRoZW50aWNhdGlvbgogICBhbmQgZW5jcnlwdGlvbiBzY2hlbWVzCi0tIFN0YW5kYXJkIGZyYW1ld29yayBmb3Igc2VsZWN0LWJhc2VkIG11bHRpcGxleGluZwogCiBYWFggT3BlbiBwcm9ibGVtczoKIC0gV2hhdCB0byBkbyB3aXRoIG91dC1vZi1iYW5kIGRhdGE/CkBAIC0xMzAsMTMgKzEyOSwxNCBAQAogCiAKIGltcG9ydCBzb2NrZXQKLWltcG9ydCBzZWxlY3QKK2ltcG9ydCBzZWxlY3RvcnMKIGltcG9ydCBvcwogaW1wb3J0IGVycm5vCiB0cnk6CiAgICAgaW1wb3J0IHRocmVhZGluZwogZXhjZXB0IEltcG9ydEVycm9yOgogICAgIGltcG9ydCBkdW1teV90aHJlYWRpbmcgYXMgdGhyZWFkaW5nCitmcm9tIHRpbWUgaW1wb3J0IG1vbm90b25pYyBhcyB0aW1lCiAKIF9fYWxsX18gPSBbIkJhc2VTZXJ2ZXIiLCAiVENQU2VydmVyIiwgIlVEUFNlcnZlciIsICJGb3JraW5nVURQU2VydmVyIiwKICAgICAgICAgICAgIkZvcmtpbmdUQ1BTZXJ2ZXIiLCAiVGhyZWFkaW5nVURQU2VydmVyIiwgIlRocmVhZGluZ1RDUFNlcnZlciIsCkBAIC0xNDcsMTQgKzE0NywxMyBAQAogICAgICAgICAgICAgICAgICAgICAiVGhyZWFkaW5nVW5peFN0cmVhbVNlcnZlciIsCiAgICAgICAgICAgICAgICAgICAgICJUaHJlYWRpbmdVbml4RGF0YWdyYW1TZXJ2ZXIiXSkKIAotZGVmIF9laW50cl9yZXRyeShmdW5jLCAqYXJncyk6Ci0gICAgIiIicmVzdGFydCBhIHN5c3RlbSBjYWxsIGludGVycnVwdGVkIGJ5IEVJTlRSIiIiCi0gICAgd2hpbGUgVHJ1ZToKLSAgICAgICAgdHJ5OgotICAgICAgICAgICAgcmV0dXJuIGZ1bmMoKmFyZ3MpCi0gICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGU6Ci0gICAgICAgICAgICBpZiBlLmVycm5vICE9IGVycm5vLkVJTlRSOgotICAgICAgICAgICAgICAgIHJhaXNlCisjIHBvbGwvc2VsZWN0IGhhdmUgdGhlIGFkdmFudGFnZSBvZiBub3QgcmVxdWlyaW5nIGFueSBleHRyYSBmaWxlIGRlc2NyaXB0b3IsCisjIGNvbnRyYXJpbHkgdG8gZXBvbGwva3F1ZXVlIChhbHNvLCB0aGV5IHJlcXVpcmUgYSBzaW5nbGUgc3lzY2FsbCkuCitpZiBoYXNhdHRyKHNlbGVjdG9ycywgJ1BvbGxTZWxlY3RvcicpOgorICAgIF9TZXJ2ZXJTZWxlY3RvciA9IHNlbGVjdG9ycy5Qb2xsU2VsZWN0b3IKK2Vsc2U6CisgICAgX1NlcnZlclNlbGVjdG9yID0gc2VsZWN0b3JzLlNlbGVjdFNlbGVjdG9yCisKIAogY2xhc3MgQmFzZVNlcnZlcjoKIApAQCAtMTY2LDcgKzE2NSw3IEBACiAgICAgLSBzZXJ2ZV9mb3JldmVyKHBvbGxfaW50ZXJ2YWw9MC41KQogICAgIC0gc2h1dGRvd24oKQogICAgIC0gaGFuZGxlX3JlcXVlc3QoKSAgIyBpZiB5b3UgZG8gbm90IHVzZSBzZXJ2ZV9mb3JldmVyKCkKLSAgICAtIGZpbGVubygpIC0+IGludCAgICMgZm9yIHNlbGVjdCgpCisgICAgLSBmaWxlbm8oKSAtPiBpbnQgICAjIGZvciBzZWxlY3RvcgogCiAgICAgTWV0aG9kcyB0aGF0IG1heSBiZSBvdmVycmlkZGVuOgogCkBAIC0yMjcsMTcgKzIyNiwxOSBAQAogICAgICAgICAiIiIKICAgICAgICAgc2VsZi5fX2lzX3NodXRfZG93bi5jbGVhcigpCiAgICAgICAgIHRyeToKLSAgICAgICAgICAgIHdoaWxlIG5vdCBzZWxmLl9fc2h1dGRvd25fcmVxdWVzdDoKLSAgICAgICAgICAgICAgICAjIFhYWDogQ29uc2lkZXIgdXNpbmcgYW5vdGhlciBmaWxlIGRlc2NyaXB0b3Igb3IKLSAgICAgICAgICAgICAgICAjIGNvbm5lY3RpbmcgdG8gdGhlIHNvY2tldCB0byB3YWtlIHRoaXMgdXAgaW5zdGVhZCBvZgotICAgICAgICAgICAgICAgICMgcG9sbGluZy4gUG9sbGluZyByZWR1Y2VzIG91ciByZXNwb25zaXZlbmVzcyB0byBhCi0gICAgICAgICAgICAgICAgIyBzaHV0ZG93biByZXF1ZXN0IGFuZCB3YXN0ZXMgY3B1IGF0IGFsbCBvdGhlciB0aW1lcy4KLSAgICAgICAgICAgICAgICByLCB3LCBlID0gX2VpbnRyX3JldHJ5KHNlbGVjdC5zZWxlY3QsIFtzZWxmXSwgW10sIFtdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9sbF9pbnRlcnZhbCkKLSAgICAgICAgICAgICAgICBpZiBzZWxmIGluIHI6Ci0gICAgICAgICAgICAgICAgICAgIHNlbGYuX2hhbmRsZV9yZXF1ZXN0X25vYmxvY2soKQorICAgICAgICAgICAgIyBYWFg6IENvbnNpZGVyIHVzaW5nIGFub3RoZXIgZmlsZSBkZXNjcmlwdG9yIG9yIGNvbm5lY3RpbmcgdG8gdGhlCisgICAgICAgICAgICAjIHNvY2tldCB0byB3YWtlIHRoaXMgdXAgaW5zdGVhZCBvZiBwb2xsaW5nLiBQb2xsaW5nIHJlZHVjZXMgb3VyCisgICAgICAgICAgICAjIHJlc3BvbnNpdmVuZXNzIHRvIGEgc2h1dGRvd24gcmVxdWVzdCBhbmQgd2FzdGVzIGNwdSBhdCBhbGwgb3RoZXIKKyAgICAgICAgICAgICMgdGltZXMuCisgICAgICAgICAgICB3aXRoIF9TZXJ2ZXJTZWxlY3RvcigpIGFzIHNlbGVjdG9yOgorICAgICAgICAgICAgICAgIHNlbGVjdG9yLnJlZ2lzdGVyKHNlbGYsIHNlbGVjdG9ycy5FVkVOVF9SRUFEKQogCi0gICAgICAgICAgICAgICAgc2VsZi5zZXJ2aWNlX2FjdGlvbnMoKQorICAgICAgICAgICAgICAgIHdoaWxlIG5vdCBzZWxmLl9fc2h1dGRvd25fcmVxdWVzdDoKKyAgICAgICAgICAgICAgICAgICAgcmVhZHkgPSBzZWxlY3Rvci5zZWxlY3QocG9sbF9pbnRlcnZhbCkKKyAgICAgICAgICAgICAgICAgICAgaWYgcmVhZHk6CisgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9oYW5kbGVfcmVxdWVzdF9ub2Jsb2NrKCkKKworICAgICAgICAgICAgICAgICAgICBzZWxmLnNlcnZpY2VfYWN0aW9ucygpCiAgICAgICAgIGZpbmFsbHk6CiAgICAgICAgICAgICBzZWxmLl9fc2h1dGRvd25fcmVxdWVzdCA9IEZhbHNlCiAgICAgICAgICAgICBzZWxmLl9faXNfc2h1dF9kb3duLnNldCgpCkBAIC0yNjAsMTYgKzI2MSwxNiBAQAogICAgICAgICAiIiIKICAgICAgICAgcGFzcwogCi0gICAgIyBUaGUgZGlzdGluY3Rpb24gYmV0d2VlbiBoYW5kbGluZywgZ2V0dGluZywgcHJvY2Vzc2luZyBhbmQKLSAgICAjIGZpbmlzaGluZyBhIHJlcXVlc3QgaXMgZmFpcmx5IGFyYml0cmFyeS4gIFJlbWVtYmVyOgorICAgICMgVGhlIGRpc3RpbmN0aW9uIGJldHdlZW4gaGFuZGxpbmcsIGdldHRpbmcsIHByb2Nlc3NpbmcgYW5kIGZpbmlzaGluZyBhCisgICAgIyByZXF1ZXN0IGlzIGZhaXJseSBhcmJpdHJhcnkuICBSZW1lbWJlcjoKICAgICAjCi0gICAgIyAtIGhhbmRsZV9yZXF1ZXN0KCkgaXMgdGhlIHRvcC1sZXZlbCBjYWxsLiAgSXQgY2FsbHMKLSAgICAjICAgc2VsZWN0LCBnZXRfcmVxdWVzdCgpLCB2ZXJpZnlfcmVxdWVzdCgpIGFuZCBwcm9jZXNzX3JlcXVlc3QoKQorICAgICMgLSBoYW5kbGVfcmVxdWVzdCgpIGlzIHRoZSB0b3AtbGV2ZWwgY2FsbC4gIEl0IGNhbGxzIHNlbGVjdG9yLnNlbGVjdCgpLAorICAgICMgICBnZXRfcmVxdWVzdCgpLCB2ZXJpZnlfcmVxdWVzdCgpIGFuZCBwcm9jZXNzX3JlcXVlc3QoKQogICAgICMgLSBnZXRfcmVxdWVzdCgpIGlzIGRpZmZlcmVudCBmb3Igc3RyZWFtIG9yIGRhdGFncmFtIHNvY2tldHMKLSAgICAjIC0gcHJvY2Vzc19yZXF1ZXN0KCkgaXMgdGhlIHBsYWNlIHRoYXQgbWF5IGZvcmsgYSBuZXcgcHJvY2VzcwotICAgICMgICBvciBjcmVhdGUgYSBuZXcgdGhyZWFkIHRvIGZpbmlzaCB0aGUgcmVxdWVzdAotICAgICMgLSBmaW5pc2hfcmVxdWVzdCgpIGluc3RhbnRpYXRlcyB0aGUgcmVxdWVzdCBoYW5kbGVyIGNsYXNzOwotICAgICMgICB0aGlzIGNvbnN0cnVjdG9yIHdpbGwgaGFuZGxlIHRoZSByZXF1ZXN0IGFsbCBieSBpdHNlbGYKKyAgICAjIC0gcHJvY2Vzc19yZXF1ZXN0KCkgaXMgdGhlIHBsYWNlIHRoYXQgbWF5IGZvcmsgYSBuZXcgcHJvY2VzcyBvciBjcmVhdGUgYQorICAgICMgICBuZXcgdGhyZWFkIHRvIGZpbmlzaCB0aGUgcmVxdWVzdAorICAgICMgLSBmaW5pc2hfcmVxdWVzdCgpIGluc3RhbnRpYXRlcyB0aGUgcmVxdWVzdCBoYW5kbGVyIGNsYXNzOyB0aGlzCisgICAgIyAgIGNvbnN0cnVjdG9yIHdpbGwgaGFuZGxlIHRoZSByZXF1ZXN0IGFsbCBieSBpdHNlbGYKIAogICAgIGRlZiBoYW5kbGVfcmVxdWVzdChzZWxmKToKICAgICAgICAgIiIiSGFuZGxlIG9uZSByZXF1ZXN0LCBwb3NzaWJseSBibG9ja2luZy4KQEAgLTI4MywxOCArMjg0LDMwIEBACiAgICAgICAgICAgICB0aW1lb3V0ID0gc2VsZi50aW1lb3V0CiAgICAgICAgIGVsaWYgc2VsZi50aW1lb3V0IGlzIG5vdCBOb25lOgogICAgICAgICAgICAgdGltZW91dCA9IG1pbih0aW1lb3V0LCBzZWxmLnRpbWVvdXQpCi0gICAgICAgIGZkX3NldHMgPSBfZWludHJfcmV0cnkoc2VsZWN0LnNlbGVjdCwgW3NlbGZdLCBbXSwgW10sIHRpbWVvdXQpCi0gICAgICAgIGlmIG5vdCBmZF9zZXRzWzBdOgotICAgICAgICAgICAgc2VsZi5oYW5kbGVfdGltZW91dCgpCi0gICAgICAgICAgICByZXR1cm4KLSAgICAgICAgc2VsZi5faGFuZGxlX3JlcXVlc3Rfbm9ibG9jaygpCisgICAgICAgIGlmIHRpbWVvdXQgaXMgbm90IE5vbmU6CisgICAgICAgICAgICBkZWFkbGluZSA9IHRpbWUoKSArIHRpbWVvdXQKKworICAgICAgICAjIFdhaXQgdW50aWwgYSByZXF1ZXN0IGFycml2ZXMgb3IgdGhlIHRpbWVvdXQgZXhwaXJlcyAtIHRoZSBsb29wIGlzCisgICAgICAgICMgbmVjZXNzYXJ5IHRvIGFjY29tbW9kYXRlIGVhcmx5IHdha2V1cHMgZHVlIHRvIEVJTlRSLgorICAgICAgICB3aXRoIF9TZXJ2ZXJTZWxlY3RvcigpIGFzIHNlbGVjdG9yOgorICAgICAgICAgICAgc2VsZWN0b3IucmVnaXN0ZXIoc2VsZiwgc2VsZWN0b3JzLkVWRU5UX1JFQUQpCisKKyAgICAgICAgICAgIHdoaWxlIFRydWU6CisgICAgICAgICAgICAgICAgcmVhZHkgPSBzZWxlY3Rvci5zZWxlY3QodGltZW91dCkKKyAgICAgICAgICAgICAgICBpZiByZWFkeToKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYuX2hhbmRsZV9yZXF1ZXN0X25vYmxvY2soKQorICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgIGlmIHRpbWVvdXQgaXMgbm90IE5vbmU6CisgICAgICAgICAgICAgICAgICAgICAgICB0aW1lb3V0ID0gZGVhZGxpbmUgLSB0aW1lKCkKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIHRpbWVvdXQgPCAwOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBzZWxmLmhhbmRsZV90aW1lb3V0KCkKIAogICAgIGRlZiBfaGFuZGxlX3JlcXVlc3Rfbm9ibG9jayhzZWxmKToKICAgICAgICAgIiIiSGFuZGxlIG9uZSByZXF1ZXN0LCB3aXRob3V0IGJsb2NraW5nLgogCi0gICAgICAgIEkgYXNzdW1lIHRoYXQgc2VsZWN0LnNlbGVjdCBoYXMgcmV0dXJuZWQgdGhhdCB0aGUgc29ja2V0IGlzCi0gICAgICAgIHJlYWRhYmxlIGJlZm9yZSB0aGlzIGZ1bmN0aW9uIHdhcyBjYWxsZWQsIHNvIHRoZXJlIHNob3VsZCBiZQotICAgICAgICBubyByaXNrIG9mIGJsb2NraW5nIGluIGdldF9yZXF1ZXN0KCkuCisgICAgICAgIEkgYXNzdW1lIHRoYXQgc2VsZWN0b3Iuc2VsZWN0KCkgaGFzIHJldHVybmVkIHRoYXQgdGhlIHNvY2tldCBpcworICAgICAgICByZWFkYWJsZSBiZWZvcmUgdGhpcyBmdW5jdGlvbiB3YXMgY2FsbGVkLCBzbyB0aGVyZSBzaG91bGQgYmUgbm8gcmlzayBvZgorICAgICAgICBibG9ja2luZyBpbiBnZXRfcmVxdWVzdCgpLgogICAgICAgICAiIiIKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgcmVxdWVzdCwgY2xpZW50X2FkZHJlc3MgPSBzZWxmLmdldF9yZXF1ZXN0KCkKQEAgLTM3Nyw3ICszOTAsNyBAQAogICAgIC0gc2VydmVfZm9yZXZlcihwb2xsX2ludGVydmFsPTAuNSkKICAgICAtIHNodXRkb3duKCkKICAgICAtIGhhbmRsZV9yZXF1ZXN0KCkgICMgaWYgeW91IGRvbid0IHVzZSBzZXJ2ZV9mb3JldmVyKCkKLSAgICAtIGZpbGVubygpIC0+IGludCAgICMgZm9yIHNlbGVjdCgpCisgICAgLSBmaWxlbm8oKSAtPiBpbnQgICAjIGZvciBzZWxlY3RvcgogCiAgICAgTWV0aG9kcyB0aGF0IG1heSBiZSBvdmVycmlkZGVuOgogCkBAIC00NjMsNyArNDc2LDcgQEAKICAgICBkZWYgZmlsZW5vKHNlbGYpOgogICAgICAgICAiIiJSZXR1cm4gc29ja2V0IGZpbGUgbnVtYmVyLgogCi0gICAgICAgIEludGVyZmFjZSByZXF1aXJlZCBieSBzZWxlY3QoKS4KKyAgICAgICAgSW50ZXJmYWNlIHJlcXVpcmVkIGJ5IHNlbGVjdG9yLgogCiAgICAgICAgICIiIgogICAgICAgICByZXR1cm4gc2VsZi5zb2NrZXQuZmlsZW5vKCkKQEAgLTU0MCw4ICs1NTMsNiBAQAogICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgIHBpZCwgXyA9IG9zLndhaXRwaWQoLTEsIDApCiAgICAgICAgICAgICAgICAgc2VsZi5hY3RpdmVfY2hpbGRyZW4uZGlzY2FyZChwaWQpCi0gICAgICAgICAgICBleGNlcHQgSW50ZXJydXB0ZWRFcnJvcjoKLSAgICAgICAgICAgICAgICBwYXNzCiAgICAgICAgICAgICBleGNlcHQgQ2hpbGRQcm9jZXNzRXJyb3I6CiAgICAgICAgICAgICAgICAgIyB3ZSBkb24ndCBoYXZlIGFueSBjaGlsZHJlbiwgd2UncmUgZG9uZQogICAgICAgICAgICAgICAgIHNlbGYuYWN0aXZlX2NoaWxkcmVuLmNsZWFyKCkKZGlmZiAtLWdpdCBhL0xpYi9zcmVfY29tcGlsZS5weSBiL0xpYi9zcmVfY29tcGlsZS5weQppbmRleCA1NTBlYTE1Li4zMGE1ZmFlIDEwMDY0NAotLS0gYS9MaWIvc3JlX2NvbXBpbGUucHkKKysrIGIvTGliL3NyZV9jb21waWxlLnB5CkBAIC0xMywxOSArMTMsMTMgQEAKIGltcG9ydCBfc3JlCiBpbXBvcnQgc3JlX3BhcnNlCiBmcm9tIHNyZV9jb25zdGFudHMgaW1wb3J0ICoKLWZyb20gX3NyZSBpbXBvcnQgTUFYUkVQRUFUCiAKIGFzc2VydCBfc3JlLk1BR0lDID09IE1BR0lDLCAiU1JFIG1vZHVsZSBtaXNtYXRjaCIKIAotaWYgX3NyZS5DT0RFU0laRSA9PSAyOgotICAgIE1BWENPREUgPSA2NTUzNQotZWxzZToKLSAgICBNQVhDT0RFID0gMHhGRkZGRkZGRgotCi1fTElURVJBTF9DT0RFUyA9IHNldChbTElURVJBTCwgTk9UX0xJVEVSQUxdKQotX1JFUEVBVElOR19DT0RFUyA9IHNldChbUkVQRUFULCBNSU5fUkVQRUFULCBNQVhfUkVQRUFUXSkKLV9TVUNDRVNTX0NPREVTID0gc2V0KFtTVUNDRVNTLCBGQUlMVVJFXSkKLV9BU1NFUlRfQ09ERVMgPSBzZXQoW0FTU0VSVCwgQVNTRVJUX05PVF0pCitfTElURVJBTF9DT0RFUyA9IHtMSVRFUkFMLCBOT1RfTElURVJBTH0KK19SRVBFQVRJTkdfQ09ERVMgPSB7UkVQRUFULCBNSU5fUkVQRUFULCBNQVhfUkVQRUFUfQorX1NVQ0NFU1NfQ09ERVMgPSB7U1VDQ0VTUywgRkFJTFVSRX0KK19BU1NFUlRfQ09ERVMgPSB7QVNTRVJULCBBU1NFUlRfTk9UfQogCiAjIFNldHMgb2YgbG93ZXJjYXNlIGNoYXJhY3RlcnMgd2hpY2ggaGF2ZSB0aGUgc2FtZSB1cHBlcmNhc2UuCiBfZXF1aXZhbGVuY2VzID0gKApAQCAtODYsNzUgKzgwLDc1IEBACiAgICAgICAgICAgICBpZiBmbGFncyAmIFNSRV9GTEFHX0lHTk9SRUNBU0U6CiAgICAgICAgICAgICAgICAgbG8gPSBfc3JlLmdldGxvd2VyKGF2LCBmbGFncykKICAgICAgICAgICAgICAgICBpZiBmaXhlcyBhbmQgbG8gaW4gZml4ZXM6Ci0gICAgICAgICAgICAgICAgICAgIGVtaXQoT1BDT0RFU1tJTl9JR05PUkVdKQorICAgICAgICAgICAgICAgICAgICBlbWl0KElOX0lHTk9SRSkKICAgICAgICAgICAgICAgICAgICAgc2tpcCA9IF9sZW4oY29kZSk7IGVtaXQoMCkKICAgICAgICAgICAgICAgICAgICAgaWYgb3AgaXMgTk9UX0xJVEVSQUw6Ci0gICAgICAgICAgICAgICAgICAgICAgICBlbWl0KE9QQ09ERVNbTkVHQVRFXSkKKyAgICAgICAgICAgICAgICAgICAgICAgIGVtaXQoTkVHQVRFKQogICAgICAgICAgICAgICAgICAgICBmb3IgayBpbiAobG8sKSArIGZpeGVzW2xvXToKLSAgICAgICAgICAgICAgICAgICAgICAgIGVtaXQoT1BDT0RFU1tMSVRFUkFMXSkKKyAgICAgICAgICAgICAgICAgICAgICAgIGVtaXQoTElURVJBTCkKICAgICAgICAgICAgICAgICAgICAgICAgIGVtaXQoaykKLSAgICAgICAgICAgICAgICAgICAgZW1pdChPUENPREVTW0ZBSUxVUkVdKQorICAgICAgICAgICAgICAgICAgICBlbWl0KEZBSUxVUkUpCiAgICAgICAgICAgICAgICAgICAgIGNvZGVbc2tpcF0gPSBfbGVuKGNvZGUpIC0gc2tpcAogICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgIGVtaXQoT1BDT0RFU1tPUF9JR05PUkVbb3BdXSkKKyAgICAgICAgICAgICAgICAgICAgZW1pdChPUF9JR05PUkVbb3BdKQogICAgICAgICAgICAgICAgICAgICBlbWl0KGxvKQogICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBlbWl0KE9QQ09ERVNbb3BdKQorICAgICAgICAgICAgICAgIGVtaXQob3ApCiAgICAgICAgICAgICAgICAgZW1pdChhdikKICAgICAgICAgZWxpZiBvcCBpcyBJTjoKICAgICAgICAgICAgIGlmIGZsYWdzICYgU1JFX0ZMQUdfSUdOT1JFQ0FTRToKLSAgICAgICAgICAgICAgICBlbWl0KE9QQ09ERVNbT1BfSUdOT1JFW29wXV0pCisgICAgICAgICAgICAgICAgZW1pdChPUF9JR05PUkVbb3BdKQogICAgICAgICAgICAgICAgIGRlZiBmaXh1cChsaXRlcmFsLCBmbGFncz1mbGFncyk6CiAgICAgICAgICAgICAgICAgICAgIHJldHVybiBfc3JlLmdldGxvd2VyKGxpdGVyYWwsIGZsYWdzKQogICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBlbWl0KE9QQ09ERVNbb3BdKQorICAgICAgICAgICAgICAgIGVtaXQob3ApCiAgICAgICAgICAgICAgICAgZml4dXAgPSBOb25lCiAgICAgICAgICAgICBza2lwID0gX2xlbihjb2RlKTsgZW1pdCgwKQogICAgICAgICAgICAgX2NvbXBpbGVfY2hhcnNldChhdiwgZmxhZ3MsIGNvZGUsIGZpeHVwLCBmaXhlcykKICAgICAgICAgICAgIGNvZGVbc2tpcF0gPSBfbGVuKGNvZGUpIC0gc2tpcAogICAgICAgICBlbGlmIG9wIGlzIEFOWToKICAgICAgICAgICAgIGlmIGZsYWdzICYgU1JFX0ZMQUdfRE9UQUxMOgotICAgICAgICAgICAgICAgIGVtaXQoT1BDT0RFU1tBTllfQUxMXSkKKyAgICAgICAgICAgICAgICBlbWl0KEFOWV9BTEwpCiAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIGVtaXQoT1BDT0RFU1tBTlldKQorICAgICAgICAgICAgICAgIGVtaXQoQU5ZKQogICAgICAgICBlbGlmIG9wIGluIFJFUEVBVElOR19DT0RFUzoKICAgICAgICAgICAgIGlmIGZsYWdzICYgU1JFX0ZMQUdfVEVNUExBVEU6CiAgICAgICAgICAgICAgICAgcmFpc2UgZXJyb3IoImludGVybmFsOiB1bnN1cHBvcnRlZCB0ZW1wbGF0ZSBvcGVyYXRvciIpCiAgICAgICAgICAgICBlbGlmIF9zaW1wbGUoYXYpIGFuZCBvcCBpcyBub3QgUkVQRUFUOgogICAgICAgICAgICAgICAgIGlmIG9wIGlzIE1BWF9SRVBFQVQ6Ci0gICAgICAgICAgICAgICAgICAgIGVtaXQoT1BDT0RFU1tSRVBFQVRfT05FXSkKKyAgICAgICAgICAgICAgICAgICAgZW1pdChSRVBFQVRfT05FKQogICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgIGVtaXQoT1BDT0RFU1tNSU5fUkVQRUFUX09ORV0pCisgICAgICAgICAgICAgICAgICAgIGVtaXQoTUlOX1JFUEVBVF9PTkUpCiAgICAgICAgICAgICAgICAgc2tpcCA9IF9sZW4oY29kZSk7IGVtaXQoMCkKICAgICAgICAgICAgICAgICBlbWl0KGF2WzBdKQogICAgICAgICAgICAgICAgIGVtaXQoYXZbMV0pCiAgICAgICAgICAgICAgICAgX2NvbXBpbGUoY29kZSwgYXZbMl0sIGZsYWdzKQotICAgICAgICAgICAgICAgIGVtaXQoT1BDT0RFU1tTVUNDRVNTXSkKKyAgICAgICAgICAgICAgICBlbWl0KFNVQ0NFU1MpCiAgICAgICAgICAgICAgICAgY29kZVtza2lwXSA9IF9sZW4oY29kZSkgLSBza2lwCiAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIGVtaXQoT1BDT0RFU1tSRVBFQVRdKQorICAgICAgICAgICAgICAgIGVtaXQoUkVQRUFUKQogICAgICAgICAgICAgICAgIHNraXAgPSBfbGVuKGNvZGUpOyBlbWl0KDApCiAgICAgICAgICAgICAgICAgZW1pdChhdlswXSkKICAgICAgICAgICAgICAgICBlbWl0KGF2WzFdKQogICAgICAgICAgICAgICAgIF9jb21waWxlKGNvZGUsIGF2WzJdLCBmbGFncykKICAgICAgICAgICAgICAgICBjb2RlW3NraXBdID0gX2xlbihjb2RlKSAtIHNraXAKICAgICAgICAgICAgICAgICBpZiBvcCBpcyBNQVhfUkVQRUFUOgotICAgICAgICAgICAgICAgICAgICBlbWl0KE9QQ09ERVNbTUFYX1VOVElMXSkKKyAgICAgICAgICAgICAgICAgICAgZW1pdChNQVhfVU5USUwpCiAgICAgICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgZW1pdChPUENPREVTW01JTl9VTlRJTF0pCisgICAgICAgICAgICAgICAgICAgIGVtaXQoTUlOX1VOVElMKQogICAgICAgICBlbGlmIG9wIGlzIFNVQlBBVFRFUk46CiAgICAgICAgICAgICBpZiBhdlswXToKLSAgICAgICAgICAgICAgICBlbWl0KE9QQ09ERVNbTUFSS10pCisgICAgICAgICAgICAgICAgZW1pdChNQVJLKQogICAgICAgICAgICAgICAgIGVtaXQoKGF2WzBdLTEpKjIpCiAgICAgICAgICAgICAjIF9jb21waWxlX2luZm8oY29kZSwgYXZbMV0sIGZsYWdzKQogICAgICAgICAgICAgX2NvbXBpbGUoY29kZSwgYXZbMV0sIGZsYWdzKQogICAgICAgICAgICAgaWYgYXZbMF06Ci0gICAgICAgICAgICAgICAgZW1pdChPUENPREVTW01BUktdKQorICAgICAgICAgICAgICAgIGVtaXQoTUFSSykKICAgICAgICAgICAgICAgICBlbWl0KChhdlswXS0xKSoyKzEpCiAgICAgICAgIGVsaWYgb3AgaW4gU1VDQ0VTU19DT0RFUzoKLSAgICAgICAgICAgIGVtaXQoT1BDT0RFU1tvcF0pCisgICAgICAgICAgICBlbWl0KG9wKQogICAgICAgICBlbGlmIG9wIGluIEFTU0VSVF9DT0RFUzoKLSAgICAgICAgICAgIGVtaXQoT1BDT0RFU1tvcF0pCisgICAgICAgICAgICBlbWl0KG9wKQogICAgICAgICAgICAgc2tpcCA9IF9sZW4oY29kZSk7IGVtaXQoMCkKICAgICAgICAgICAgIGlmIGF2WzBdID49IDA6CiAgICAgICAgICAgICAgICAgZW1pdCgwKSAjIGxvb2sgYWhlYWQKQEAgLTE2NCw1NyArMTU4LDU3IEBACiAgICAgICAgICAgICAgICAgICAgIHJhaXNlIGVycm9yKCJsb29rLWJlaGluZCByZXF1aXJlcyBmaXhlZC13aWR0aCBwYXR0ZXJuIikKICAgICAgICAgICAgICAgICBlbWl0KGxvKSAjIGxvb2sgYmVoaW5kCiAgICAgICAgICAgICBfY29tcGlsZShjb2RlLCBhdlsxXSwgZmxhZ3MpCi0gICAgICAgICAgICBlbWl0KE9QQ09ERVNbU1VDQ0VTU10pCisgICAgICAgICAgICBlbWl0KFNVQ0NFU1MpCiAgICAgICAgICAgICBjb2RlW3NraXBdID0gX2xlbihjb2RlKSAtIHNraXAKICAgICAgICAgZWxpZiBvcCBpcyBDQUxMOgotICAgICAgICAgICAgZW1pdChPUENPREVTW29wXSkKKyAgICAgICAgICAgIGVtaXQob3ApCiAgICAgICAgICAgICBza2lwID0gX2xlbihjb2RlKTsgZW1pdCgwKQogICAgICAgICAgICAgX2NvbXBpbGUoY29kZSwgYXYsIGZsYWdzKQotICAgICAgICAgICAgZW1pdChPUENPREVTW1NVQ0NFU1NdKQorICAgICAgICAgICAgZW1pdChTVUNDRVNTKQogICAgICAgICAgICAgY29kZVtza2lwXSA9IF9sZW4oY29kZSkgLSBza2lwCiAgICAgICAgIGVsaWYgb3AgaXMgQVQ6Ci0gICAgICAgICAgICBlbWl0KE9QQ09ERVNbb3BdKQorICAgICAgICAgICAgZW1pdChvcCkKICAgICAgICAgICAgIGlmIGZsYWdzICYgU1JFX0ZMQUdfTVVMVElMSU5FOgogICAgICAgICAgICAgICAgIGF2ID0gQVRfTVVMVElMSU5FLmdldChhdiwgYXYpCiAgICAgICAgICAgICBpZiBmbGFncyAmIFNSRV9GTEFHX0xPQ0FMRToKICAgICAgICAgICAgICAgICBhdiA9IEFUX0xPQ0FMRS5nZXQoYXYsIGF2KQogICAgICAgICAgICAgZWxpZiBmbGFncyAmIFNSRV9GTEFHX1VOSUNPREU6CiAgICAgICAgICAgICAgICAgYXYgPSBBVF9VTklDT0RFLmdldChhdiwgYXYpCi0gICAgICAgICAgICBlbWl0KEFUQ09ERVNbYXZdKQorICAgICAgICAgICAgZW1pdChhdikKICAgICAgICAgZWxpZiBvcCBpcyBCUkFOQ0g6Ci0gICAgICAgICAgICBlbWl0KE9QQ09ERVNbb3BdKQorICAgICAgICAgICAgZW1pdChvcCkKICAgICAgICAgICAgIHRhaWwgPSBbXQogICAgICAgICAgICAgdGFpbGFwcGVuZCA9IHRhaWwuYXBwZW5kCiAgICAgICAgICAgICBmb3IgYXYgaW4gYXZbMV06CiAgICAgICAgICAgICAgICAgc2tpcCA9IF9sZW4oY29kZSk7IGVtaXQoMCkKICAgICAgICAgICAgICAgICAjIF9jb21waWxlX2luZm8oY29kZSwgYXYsIGZsYWdzKQogICAgICAgICAgICAgICAgIF9jb21waWxlKGNvZGUsIGF2LCBmbGFncykKLSAgICAgICAgICAgICAgICBlbWl0KE9QQ09ERVNbSlVNUF0pCisgICAgICAgICAgICAgICAgZW1pdChKVU1QKQogICAgICAgICAgICAgICAgIHRhaWxhcHBlbmQoX2xlbihjb2RlKSk7IGVtaXQoMCkKICAgICAgICAgICAgICAgICBjb2RlW3NraXBdID0gX2xlbihjb2RlKSAtIHNraXAKLSAgICAgICAgICAgIGVtaXQoMCkgIyBlbmQgb2YgYnJhbmNoCisgICAgICAgICAgICBlbWl0KEZBSUxVUkUpICMgZW5kIG9mIGJyYW5jaAogICAgICAgICAgICAgZm9yIHRhaWwgaW4gdGFpbDoKICAgICAgICAgICAgICAgICBjb2RlW3RhaWxdID0gX2xlbihjb2RlKSAtIHRhaWwKICAgICAgICAgZWxpZiBvcCBpcyBDQVRFR09SWToKLSAgICAgICAgICAgIGVtaXQoT1BDT0RFU1tvcF0pCisgICAgICAgICAgICBlbWl0KG9wKQogICAgICAgICAgICAgaWYgZmxhZ3MgJiBTUkVfRkxBR19MT0NBTEU6CiAgICAgICAgICAgICAgICAgYXYgPSBDSF9MT0NBTEVbYXZdCiAgICAgICAgICAgICBlbGlmIGZsYWdzICYgU1JFX0ZMQUdfVU5JQ09ERToKICAgICAgICAgICAgICAgICBhdiA9IENIX1VOSUNPREVbYXZdCi0gICAgICAgICAgICBlbWl0KENIQ09ERVNbYXZdKQorICAgICAgICAgICAgZW1pdChhdikKICAgICAgICAgZWxpZiBvcCBpcyBHUk9VUFJFRjoKICAgICAgICAgICAgIGlmIGZsYWdzICYgU1JFX0ZMQUdfSUdOT1JFQ0FTRToKLSAgICAgICAgICAgICAgICBlbWl0KE9QQ09ERVNbT1BfSUdOT1JFW29wXV0pCisgICAgICAgICAgICAgICAgZW1pdChPUF9JR05PUkVbb3BdKQogICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBlbWl0KE9QQ09ERVNbb3BdKQorICAgICAgICAgICAgICAgIGVtaXQob3ApCiAgICAgICAgICAgICBlbWl0KGF2LTEpCiAgICAgICAgIGVsaWYgb3AgaXMgR1JPVVBSRUZfRVhJU1RTOgotICAgICAgICAgICAgZW1pdChPUENPREVTW29wXSkKKyAgICAgICAgICAgIGVtaXQob3ApCiAgICAgICAgICAgICBlbWl0KGF2WzBdLTEpCiAgICAgICAgICAgICBza2lweWVzID0gX2xlbihjb2RlKTsgZW1pdCgwKQogICAgICAgICAgICAgX2NvbXBpbGUoY29kZSwgYXZbMV0sIGZsYWdzKQogICAgICAgICAgICAgaWYgYXZbMl06Ci0gICAgICAgICAgICAgICAgZW1pdChPUENPREVTW0pVTVBdKQorICAgICAgICAgICAgICAgIGVtaXQoSlVNUCkKICAgICAgICAgICAgICAgICBza2lwbm8gPSBfbGVuKGNvZGUpOyBlbWl0KDApCiAgICAgICAgICAgICAgICAgY29kZVtza2lweWVzXSA9IF9sZW4oY29kZSkgLSBza2lweWVzICsgMQogICAgICAgICAgICAgICAgIF9jb21waWxlKGNvZGUsIGF2WzJdLCBmbGFncykKQEAgLTIyNywxNCArMjIxLDEzIEBACiBkZWYgX2NvbXBpbGVfY2hhcnNldChjaGFyc2V0LCBmbGFncywgY29kZSwgZml4dXA9Tm9uZSwgZml4ZXM9Tm9uZSk6CiAgICAgIyBjb21waWxlIGNoYXJzZXQgc3VicHJvZ3JhbQogICAgIGVtaXQgPSBjb2RlLmFwcGVuZAotICAgIGZvciBvcCwgYXYgaW4gX29wdGltaXplX2NoYXJzZXQoY2hhcnNldCwgZml4dXAsIGZpeGVzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxhZ3MgJiBTUkVfRkxBR19VTklDT0RFKToKLSAgICAgICAgZW1pdChPUENPREVTW29wXSkKKyAgICBmb3Igb3AsIGF2IGluIF9vcHRpbWl6ZV9jaGFyc2V0KGNoYXJzZXQsIGZpeHVwLCBmaXhlcyk6CisgICAgICAgIGVtaXQob3ApCiAgICAgICAgIGlmIG9wIGlzIE5FR0FURToKICAgICAgICAgICAgIHBhc3MKICAgICAgICAgZWxpZiBvcCBpcyBMSVRFUkFMOgogICAgICAgICAgICAgZW1pdChhdikKLSAgICAgICAgZWxpZiBvcCBpcyBSQU5HRToKKyAgICAgICAgZWxpZiBvcCBpcyBSQU5HRSBvciBvcCBpcyBSQU5HRV9JR05PUkU6CiAgICAgICAgICAgICBlbWl0KGF2WzBdKQogICAgICAgICAgICAgZW1pdChhdlsxXSkKICAgICAgICAgZWxpZiBvcCBpcyBDSEFSU0VUOgpAQCAtMjQzLDE2ICsyMzYsMTYgQEAKICAgICAgICAgICAgIGNvZGUuZXh0ZW5kKGF2KQogICAgICAgICBlbGlmIG9wIGlzIENBVEVHT1JZOgogICAgICAgICAgICAgaWYgZmxhZ3MgJiBTUkVfRkxBR19MT0NBTEU6Ci0gICAgICAgICAgICAgICAgZW1pdChDSENPREVTW0NIX0xPQ0FMRVthdl1dKQorICAgICAgICAgICAgICAgIGVtaXQoQ0hfTE9DQUxFW2F2XSkKICAgICAgICAgICAgIGVsaWYgZmxhZ3MgJiBTUkVfRkxBR19VTklDT0RFOgotICAgICAgICAgICAgICAgIGVtaXQoQ0hDT0RFU1tDSF9VTklDT0RFW2F2XV0pCisgICAgICAgICAgICAgICAgZW1pdChDSF9VTklDT0RFW2F2XSkKICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgZW1pdChDSENPREVTW2F2XSkKKyAgICAgICAgICAgICAgICBlbWl0KGF2KQogICAgICAgICBlbHNlOgogICAgICAgICAgICAgcmFpc2UgZXJyb3IoImludGVybmFsOiB1bnN1cHBvcnRlZCBzZXQgb3BlcmF0b3IiKQotICAgIGVtaXQoT1BDT0RFU1tGQUlMVVJFXSkKKyAgICBlbWl0KEZBSUxVUkUpCiAKLWRlZiBfb3B0aW1pemVfY2hhcnNldChjaGFyc2V0LCBmaXh1cCwgZml4ZXMsIGlzdW5pY29kZSk6CitkZWYgX29wdGltaXplX2NoYXJzZXQoY2hhcnNldCwgZml4dXAsIGZpeGVzKToKICAgICAjIGludGVybmFsOiBvcHRpbWl6ZSBjaGFyYWN0ZXIgc2V0CiAgICAgb3V0ID0gW10KICAgICB0YWlsID0gW10KQEAgLTI2MiwxMCArMjU1LDEwIEBACiAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgaWYgb3AgaXMgTElURVJBTDoKICAgICAgICAgICAgICAgICAgICAgaWYgZml4dXA6Ci0gICAgICAgICAgICAgICAgICAgICAgICBpID0gZml4dXAoYXYpCi0gICAgICAgICAgICAgICAgICAgICAgICBjaGFybWFwW2ldID0gMQotICAgICAgICAgICAgICAgICAgICAgICAgaWYgZml4ZXMgYW5kIGkgaW4gZml4ZXM6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIGsgaW4gZml4ZXNbaV06CisgICAgICAgICAgICAgICAgICAgICAgICBsbyA9IGZpeHVwKGF2KQorICAgICAgICAgICAgICAgICAgICAgICAgY2hhcm1hcFtsb10gPSAxCisgICAgICAgICAgICAgICAgICAgICAgICBpZiBmaXhlcyBhbmQgbG8gaW4gZml4ZXM6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIGsgaW4gZml4ZXNbbG9dOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFybWFwW2tdID0gMQogICAgICAgICAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgICAgICAgICAgY2hhcm1hcFthdl0gPSAxCkBAIC0yOTEsMjEgKzI4NCwxMyBAQAogICAgICAgICAgICAgICAgICAgICAjIGNoYXJhY3RlciBzZXQgY29udGFpbnMgbm9uLVVDUzEgY2hhcmFjdGVyIGNvZGVzCiAgICAgICAgICAgICAgICAgICAgIGNoYXJtYXAgKz0gYidcMCcgKiAweGZmMDAKICAgICAgICAgICAgICAgICAgICAgY29udGludWUKLSAgICAgICAgICAgICAgICAjIGNoYXJhY3RlciBzZXQgY29udGFpbnMgbm9uLUJNUCBjaGFyYWN0ZXIgY29kZXMKLSAgICAgICAgICAgICAgICBpZiBmaXh1cCBhbmQgaXN1bmljb2RlIGFuZCBvcCBpcyBSQU5HRToKLSAgICAgICAgICAgICAgICAgICAgbG8sIGhpID0gYXYKLSAgICAgICAgICAgICAgICAgICAgcmFuZ2VzID0gW2F2XQotICAgICAgICAgICAgICAgICAgICAjIFRoZXJlIGFyZSBvbmx5IHR3byByYW5nZXMgb2YgY2FzZWQgYXN0cmFsIGNoYXJhY3RlcnM6Ci0gICAgICAgICAgICAgICAgICAgICMgMTA0MDAtMTA0NEYgKERlc2VyZXQpIGFuZCAxMThBMC0xMThERiAoV2FyYW5nIENpdGkpLgotICAgICAgICAgICAgICAgICAgICBfZml4dXBfcmFuZ2UobWF4KDB4MTAwMDAsIGxvKSwgbWluKDB4MTFmZmYsIGhpKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJhbmdlcywgZml4dXApCi0gICAgICAgICAgICAgICAgICAgIGZvciBsbywgaGkgaW4gcmFuZ2VzOgotICAgICAgICAgICAgICAgICAgICAgICAgaWYgbG8gPT0gaGk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFpbC5hcHBlbmQoKExJVEVSQUwsIGhpKSkKLSAgICAgICAgICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFpbC5hcHBlbmQoKFJBTkdFLCAobG8sIGhpKSkpCi0gICAgICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgdGFpbC5hcHBlbmQoKG9wLCBhdikpCisgICAgICAgICAgICAgICAgIyBDaGFyYWN0ZXIgc2V0IGNvbnRhaW5zIG5vbi1CTVAgY2hhcmFjdGVyIGNvZGVzLgorICAgICAgICAgICAgICAgICMgVGhlcmUgYXJlIG9ubHkgdHdvIHJhbmdlcyBvZiBjYXNlZCBub24tQk1QIGNoYXJhY3RlcnM6CisgICAgICAgICAgICAgICAgIyAxMDQwMC0xMDQ0RiAoRGVzZXJldCkgYW5kIDExOEEwLTExOERGIChXYXJhbmcgQ2l0aSksCisgICAgICAgICAgICAgICAgIyBhbmQgZm9yIGJvdGggcmFuZ2VzIFJBTkdFX0lHTk9SRSB3b3Jrcy4KKyAgICAgICAgICAgICAgICBpZiBmaXh1cCBhbmQgb3AgaXMgUkFOR0U6CisgICAgICAgICAgICAgICAgICAgIG9wID0gUkFOR0VfSUdOT1JFCisgICAgICAgICAgICAgICAgdGFpbC5hcHBlbmQoKG9wLCBhdikpCiAgICAgICAgICAgICBicmVhawogCiAgICAgIyBjb21wcmVzcyBjaGFyYWN0ZXIgbWFwCkBAIC0zODMsMjUgKzM2OCw4IEBACiAgICAgb3V0ICs9IHRhaWwKICAgICByZXR1cm4gb3V0CiAKLWRlZiBfZml4dXBfcmFuZ2UobG8sIGhpLCByYW5nZXMsIGZpeHVwKToKLSAgICBmb3IgaSBpbiBtYXAoZml4dXAsIHJhbmdlKGxvLCBoaSsxKSk6Ci0gICAgICAgIGZvciBrLCAobG8sIGhpKSBpbiBlbnVtZXJhdGUocmFuZ2VzKToKLSAgICAgICAgICAgIGlmIGkgPCBsbzoKLSAgICAgICAgICAgICAgICBpZiBsID09IGxvIC0gMToKLSAgICAgICAgICAgICAgICAgICAgcmFuZ2VzW2tdID0gKGksIGhpKQotICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgIHJhbmdlcy5pbnNlcnQoaywgKGksIGkpKQotICAgICAgICAgICAgICAgIGJyZWFrCi0gICAgICAgICAgICBlbGlmIGkgPiBoaToKLSAgICAgICAgICAgICAgICBpZiBpID09IGhpICsgMToKLSAgICAgICAgICAgICAgICAgICAgcmFuZ2VzW2tdID0gKGxvLCBpKQotICAgICAgICAgICAgICAgICAgICBicmVhawotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBicmVhawotICAgICAgICBlbHNlOgotICAgICAgICAgICAgcmFuZ2VzLmFwcGVuZCgoaSwgaSkpCi0KIF9DT0RFQklUUyA9IF9zcmUuQ09ERVNJWkUgKiA4CitNQVhDT0RFID0gKDEgPDwgX0NPREVCSVRTKSAtIDEKIF9CSVRTX1RSQU5TID0gYicwJyArIGInMScgKiAyNTUKIGRlZiBfbWtfYml0bWFwKGJpdHMsIF9DT0RFQklUUz1fQ09ERUJJVFMsIF9pbnQ9aW50KToKICAgICBzID0gYml0cy50cmFuc2xhdGUoX0JJVFNfVFJBTlMpWzo6LTFdCkBAIC00NDYsOCArNDE0LDExIEBACiAgICAgIyB0aGlzIGNvbnRhaW5zIG1pbi9tYXggcGF0dGVybiB3aWR0aCwgYW5kIGFuIG9wdGlvbmFsIGxpdGVyYWwKICAgICAjIHByZWZpeCBvciBhIGNoYXJhY3RlciBtYXAKICAgICBsbywgaGkgPSBwYXR0ZXJuLmdldHdpZHRoKCkKKyAgICBpZiBoaSA+IE1BWENPREU6CisgICAgICAgIGhpID0gTUFYQ09ERQogICAgIGlmIGxvID09IDA6Ci0gICAgICAgIHJldHVybiAjIG5vdCB3b3J0aCBpdAorICAgICAgICBjb2RlLmV4dGVuZChbSU5GTywgNCwgMCwgbG8sIGhpXSkKKyAgICAgICAgcmV0dXJuCiAgICAgIyBsb29rIGZvciBhIGxpdGVyYWwgcHJlZml4CiAgICAgcHJlZml4ID0gW10KICAgICBwcmVmaXhhcHBlbmQgPSBwcmVmaXguYXBwZW5kCkBAIC01MDUsMjEgKzQ3NiwyMSBAQAogICAgICAgICAgICAgZWxpZiBvcCBpcyBJTjoKICAgICAgICAgICAgICAgICBjaGFyc2V0ID0gYXYKICMjICAgICBpZiBwcmVmaXg6Ci0jIyAgICAgICAgIHByaW50ICIqKiogUFJFRklYIiwgcHJlZml4LCBwcmVmaXhfc2tpcAorIyMgICAgICAgICBwcmludCgiKioqIFBSRUZJWCIsIHByZWZpeCwgcHJlZml4X3NraXApCiAjIyAgICAgaWYgY2hhcnNldDoKLSMjICAgICAgICAgcHJpbnQgIioqKiBDSEFSU0VUIiwgY2hhcnNldAorIyMgICAgICAgICBwcmludCgiKioqIENIQVJTRVQiLCBjaGFyc2V0KQogICAgICMgYWRkIGFuIGluZm8gYmxvY2sKICAgICBlbWl0ID0gY29kZS5hcHBlbmQKLSAgICBlbWl0KE9QQ09ERVNbSU5GT10pCisgICAgZW1pdChJTkZPKQogICAgIHNraXAgPSBsZW4oY29kZSk7IGVtaXQoMCkKICAgICAjIGxpdGVyYWwgZmxhZwogICAgIG1hc2sgPSAwCiAgICAgaWYgcHJlZml4OgogICAgICAgICBtYXNrID0gU1JFX0lORk9fUFJFRklYCiAgICAgICAgIGlmIGxlbihwcmVmaXgpID09IHByZWZpeF9za2lwID09IGxlbihwYXR0ZXJuLmRhdGEpOgotICAgICAgICAgICAgbWFzayA9IG1hc2sgKyBTUkVfSU5GT19MSVRFUkFMCisgICAgICAgICAgICBtYXNrID0gbWFzayB8IFNSRV9JTkZPX0xJVEVSQUwKICAgICBlbGlmIGNoYXJzZXQ6Ci0gICAgICAgIG1hc2sgPSBtYXNrICsgU1JFX0lORk9fQ0hBUlNFVAorICAgICAgICBtYXNrID0gbWFzayB8IFNSRV9JTkZPX0NIQVJTRVQKICAgICBlbWl0KG1hc2spCiAgICAgIyBwYXR0ZXJuIGxlbmd0aAogICAgIGlmIGxvIDwgTUFYQ09ERToKQEAgLTUyNywxMCArNDk4LDcgQEAKICAgICBlbHNlOgogICAgICAgICBlbWl0KE1BWENPREUpCiAgICAgICAgIHByZWZpeCA9IHByZWZpeFs6TUFYQ09ERV0KLSAgICBpZiBoaSA8IE1BWENPREU6Ci0gICAgICAgIGVtaXQoaGkpCi0gICAgZWxzZToKLSAgICAgICAgZW1pdCgwKQorICAgIGVtaXQobWluKGhpLCBNQVhDT0RFKSkKICAgICAjIGFkZCBsaXRlcmFsIHByZWZpeAogICAgIGlmIHByZWZpeDoKICAgICAgICAgZW1pdChsZW4ocHJlZml4KSkgIyBsZW5ndGgKQEAgLTU1Niw3ICs1MjQsNyBAQAogICAgICMgY29tcGlsZSB0aGUgcGF0dGVybgogICAgIF9jb21waWxlKGNvZGUsIHAuZGF0YSwgZmxhZ3MpCiAKLSAgICBjb2RlLmFwcGVuZChPUENPREVTW1NVQ0NFU1NdKQorICAgIGNvZGUuYXBwZW5kKFNVQ0NFU1MpCiAKICAgICByZXR1cm4gY29kZQogCkBAIC01NzEsMTMgKzUzOSw3IEBACiAKICAgICBjb2RlID0gX2NvZGUocCwgZmxhZ3MpCiAKLSAgICAjIHByaW50IGNvZGUKLQotICAgICMgWFhYOiA8Zmw+IGdldCByaWQgb2YgdGhpcyBsaW1pdGF0aW9uIQotICAgIGlmIHAucGF0dGVybi5ncm91cHMgPiAxMDA6Ci0gICAgICAgIHJhaXNlIEFzc2VydGlvbkVycm9yKAotICAgICAgICAgICAgInNvcnJ5LCBidXQgdGhpcyB2ZXJzaW9uIG9ubHkgc3VwcG9ydHMgMTAwIG5hbWVkIGdyb3VwcyIKLSAgICAgICAgICAgICkKKyAgICAjIHByaW50KGNvZGUpCiAKICAgICAjIG1hcCBpbiBlaXRoZXIgZGlyZWN0aW9uCiAgICAgZ3JvdXBpbmRleCA9IHAucGF0dGVybi5ncm91cGRpY3QKZGlmZiAtLWdpdCBhL0xpYi9zcmVfY29uc3RhbnRzLnB5IGIvTGliL3NyZV9jb25zdGFudHMucHkKaW5kZXggMjNlMzUxNi4uOGI2YmJmYSAxMDA2NDQKLS0tIGEvTGliL3NyZV9jb25zdGFudHMucHkKKysrIGIvTGliL3NyZV9jb25zdGFudHMucHkKQEAgLTEzLDE1MyArMTMsMTE1IEBACiAKICMgdXBkYXRlIHdoZW4gY29uc3RhbnRzIGFyZSBhZGRlZCBvciByZW1vdmVkCiAKLU1BR0lDID0gMjAwMzEwMTcKK01BR0lDID0gMjAxNDA5MTcKIAotZnJvbSBfc3JlIGltcG9ydCBNQVhSRVBFQVQKK2Zyb20gX3NyZSBpbXBvcnQgTUFYUkVQRUFULCBNQVhHUk9VUFMKIAogIyBTUkUgc3RhbmRhcmQgZXhjZXB0aW9uIChhY2Nlc3MgYXMgc3JlLmVycm9yKQogIyBzaG91bGQgdGhpcyByZWFsbHkgYmUgaGVyZT8KIAogY2xhc3MgZXJyb3IoRXhjZXB0aW9uKToKLSAgICBwYXNzCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIG1zZywgcGF0dGVybj1Ob25lLCBwb3M9Tm9uZSk6CisgICAgICAgIHNlbGYubXNnID0gbXNnCisgICAgICAgIHNlbGYucGF0dGVybiA9IHBhdHRlcm4KKyAgICAgICAgc2VsZi5wb3MgPSBwb3MKKyAgICAgICAgaWYgcGF0dGVybiBpcyBub3QgTm9uZSBhbmQgcG9zIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgbXNnID0gJyVzIGF0IHBvc2l0aW9uICVkJyAlIChtc2csIHBvcykKKyAgICAgICAgICAgIGlmIGlzaW5zdGFuY2UocGF0dGVybiwgc3RyKToKKyAgICAgICAgICAgICAgICBuZXdsaW5lID0gJ1xuJworICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBuZXdsaW5lID0gYidcbicKKyAgICAgICAgICAgIHNlbGYubGluZW5vID0gcGF0dGVybi5jb3VudChuZXdsaW5lLCAwLCBwb3MpICsgMQorICAgICAgICAgICAgc2VsZi5jb2xubyA9IHBvcyAtIHBhdHRlcm4ucmZpbmQobmV3bGluZSwgMCwgcG9zKQorICAgICAgICAgICAgaWYgbmV3bGluZSBpbiBwYXR0ZXJuOgorICAgICAgICAgICAgICAgIG1zZyA9ICclcyAobGluZSAlZCwgY29sdW1uICVkKScgJSAobXNnLCBzZWxmLmxpbmVubywgc2VsZi5jb2xubykKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHNlbGYubGluZW5vID0gc2VsZi5jb2xubyA9IE5vbmUKKyAgICAgICAgc3VwZXIoKS5fX2luaXRfXyhtc2cpCisKKworY2xhc3MgX05hbWVkSW50Q29uc3RhbnQoaW50KToKKyAgICBkZWYgX19uZXdfXyhjbHMsIHZhbHVlLCBuYW1lKToKKyAgICAgICAgc2VsZiA9IHN1cGVyKF9OYW1lZEludENvbnN0YW50LCBjbHMpLl9fbmV3X18oY2xzLCB2YWx1ZSkKKyAgICAgICAgc2VsZi5uYW1lID0gbmFtZQorICAgICAgICByZXR1cm4gc2VsZgorCisgICAgZGVmIF9fc3RyX18oc2VsZik6CisgICAgICAgIHJldHVybiBzZWxmLm5hbWUKKworICAgIF9fcmVwcl9fID0gX19zdHJfXworCitNQVhSRVBFQVQgPSBfTmFtZWRJbnRDb25zdGFudChNQVhSRVBFQVQsICdNQVhSRVBFQVQnKQorCitkZWYgX21ha2Vjb2RlcyhuYW1lcyk6CisgICAgbmFtZXMgPSBuYW1lcy5zdHJpcCgpLnNwbGl0KCkKKyAgICBpdGVtcyA9IFtfTmFtZWRJbnRDb25zdGFudChpLCBuYW1lKSBmb3IgaSwgbmFtZSBpbiBlbnVtZXJhdGUobmFtZXMpXQorICAgIGdsb2JhbHMoKS51cGRhdGUoe2l0ZW0ubmFtZTogaXRlbSBmb3IgaXRlbSBpbiBpdGVtc30pCisgICAgcmV0dXJuIGl0ZW1zCiAKICMgb3BlcmF0b3JzCisjIGZhaWx1cmU9MCBzdWNjZXNzPTEgKGp1c3QgYmVjYXVzZSBpdCBsb29rcyBiZXR0ZXIgdGhhdCB3YXkgOi0pCitPUENPREVTID0gX21ha2Vjb2RlcygiIiIKKyAgICBGQUlMVVJFIFNVQ0NFU1MKIAotRkFJTFVSRSA9ICJmYWlsdXJlIgotU1VDQ0VTUyA9ICJzdWNjZXNzIgorICAgIEFOWSBBTllfQUxMCisgICAgQVNTRVJUIEFTU0VSVF9OT1QKKyAgICBBVAorICAgIEJSQU5DSAorICAgIENBTEwKKyAgICBDQVRFR09SWQorICAgIENIQVJTRVQgQklHQ0hBUlNFVAorICAgIEdST1VQUkVGIEdST1VQUkVGX0VYSVNUUyBHUk9VUFJFRl9JR05PUkUKKyAgICBJTiBJTl9JR05PUkUKKyAgICBJTkZPCisgICAgSlVNUAorICAgIExJVEVSQUwgTElURVJBTF9JR05PUkUKKyAgICBNQVJLCisgICAgTUFYX1VOVElMCisgICAgTUlOX1VOVElMCisgICAgTk9UX0xJVEVSQUwgTk9UX0xJVEVSQUxfSUdOT1JFCisgICAgTkVHQVRFCisgICAgUkFOR0UKKyAgICBSRVBFQVQKKyAgICBSRVBFQVRfT05FCisgICAgU1VCUEFUVEVSTgorICAgIE1JTl9SRVBFQVRfT05FCisgICAgUkFOR0VfSUdOT1JFCiAKLUFOWSA9ICJhbnkiCi1BTllfQUxMID0gImFueV9hbGwiCi1BU1NFUlQgPSAiYXNzZXJ0IgotQVNTRVJUX05PVCA9ICJhc3NlcnRfbm90IgotQVQgPSAiYXQiCi1CSUdDSEFSU0VUID0gImJpZ2NoYXJzZXQiCi1CUkFOQ0ggPSAiYnJhbmNoIgotQ0FMTCA9ICJjYWxsIgotQ0FURUdPUlkgPSAiY2F0ZWdvcnkiCi1DSEFSU0VUID0gImNoYXJzZXQiCi1HUk9VUFJFRiA9ICJncm91cHJlZiIKLUdST1VQUkVGX0lHTk9SRSA9ICJncm91cHJlZl9pZ25vcmUiCi1HUk9VUFJFRl9FWElTVFMgPSAiZ3JvdXByZWZfZXhpc3RzIgotSU4gPSAiaW4iCi1JTl9JR05PUkUgPSAiaW5faWdub3JlIgotSU5GTyA9ICJpbmZvIgotSlVNUCA9ICJqdW1wIgotTElURVJBTCA9ICJsaXRlcmFsIgotTElURVJBTF9JR05PUkUgPSAibGl0ZXJhbF9pZ25vcmUiCi1NQVJLID0gIm1hcmsiCi1NQVhfUkVQRUFUID0gIm1heF9yZXBlYXQiCi1NQVhfVU5USUwgPSAibWF4X3VudGlsIgotTUlOX1JFUEVBVCA9ICJtaW5fcmVwZWF0IgotTUlOX1VOVElMID0gIm1pbl91bnRpbCIKLU5FR0FURSA9ICJuZWdhdGUiCi1OT1RfTElURVJBTCA9ICJub3RfbGl0ZXJhbCIKLU5PVF9MSVRFUkFMX0lHTk9SRSA9ICJub3RfbGl0ZXJhbF9pZ25vcmUiCi1SQU5HRSA9ICJyYW5nZSIKLVJFUEVBVCA9ICJyZXBlYXQiCi1SRVBFQVRfT05FID0gInJlcGVhdF9vbmUiCi1TVUJQQVRURVJOID0gInN1YnBhdHRlcm4iCi1NSU5fUkVQRUFUX09ORSA9ICJtaW5fcmVwZWF0X29uZSIKKyAgICBNSU5fUkVQRUFUIE1BWF9SRVBFQVQKKyIiIikKK2RlbCBPUENPREVTWy0yOl0gIyByZW1vdmUgTUlOX1JFUEVBVCBhbmQgTUFYX1JFUEVBVAogCiAjIHBvc2l0aW9ucwotQVRfQkVHSU5OSU5HID0gImF0X2JlZ2lubmluZyIKLUFUX0JFR0lOTklOR19MSU5FID0gImF0X2JlZ2lubmluZ19saW5lIgotQVRfQkVHSU5OSU5HX1NUUklORyA9ICJhdF9iZWdpbm5pbmdfc3RyaW5nIgotQVRfQk9VTkRBUlkgPSAiYXRfYm91bmRhcnkiCi1BVF9OT05fQk9VTkRBUlkgPSAiYXRfbm9uX2JvdW5kYXJ5IgotQVRfRU5EID0gImF0X2VuZCIKLUFUX0VORF9MSU5FID0gImF0X2VuZF9saW5lIgotQVRfRU5EX1NUUklORyA9ICJhdF9lbmRfc3RyaW5nIgotQVRfTE9DX0JPVU5EQVJZID0gImF0X2xvY19ib3VuZGFyeSIKLUFUX0xPQ19OT05fQk9VTkRBUlkgPSAiYXRfbG9jX25vbl9ib3VuZGFyeSIKLUFUX1VOSV9CT1VOREFSWSA9ICJhdF91bmlfYm91bmRhcnkiCi1BVF9VTklfTk9OX0JPVU5EQVJZID0gImF0X3VuaV9ub25fYm91bmRhcnkiCitBVENPREVTID0gX21ha2Vjb2RlcygiIiIKKyAgICBBVF9CRUdJTk5JTkcgQVRfQkVHSU5OSU5HX0xJTkUgQVRfQkVHSU5OSU5HX1NUUklORworICAgIEFUX0JPVU5EQVJZIEFUX05PTl9CT1VOREFSWQorICAgIEFUX0VORCBBVF9FTkRfTElORSBBVF9FTkRfU1RSSU5HCisgICAgQVRfTE9DX0JPVU5EQVJZIEFUX0xPQ19OT05fQk9VTkRBUlkKKyAgICBBVF9VTklfQk9VTkRBUlkgQVRfVU5JX05PTl9CT1VOREFSWQorIiIiKQogCiAjIGNhdGVnb3JpZXMKLUNBVEVHT1JZX0RJR0lUID0gImNhdGVnb3J5X2RpZ2l0IgotQ0FURUdPUllfTk9UX0RJR0lUID0gImNhdGVnb3J5X25vdF9kaWdpdCIKLUNBVEVHT1JZX1NQQUNFID0gImNhdGVnb3J5X3NwYWNlIgotQ0FURUdPUllfTk9UX1NQQUNFID0gImNhdGVnb3J5X25vdF9zcGFjZSIKLUNBVEVHT1JZX1dPUkQgPSAiY2F0ZWdvcnlfd29yZCIKLUNBVEVHT1JZX05PVF9XT1JEID0gImNhdGVnb3J5X25vdF93b3JkIgotQ0FURUdPUllfTElORUJSRUFLID0gImNhdGVnb3J5X2xpbmVicmVhayIKLUNBVEVHT1JZX05PVF9MSU5FQlJFQUsgPSAiY2F0ZWdvcnlfbm90X2xpbmVicmVhayIKLUNBVEVHT1JZX0xPQ19XT1JEID0gImNhdGVnb3J5X2xvY193b3JkIgotQ0FURUdPUllfTE9DX05PVF9XT1JEID0gImNhdGVnb3J5X2xvY19ub3Rfd29yZCIKLUNBVEVHT1JZX1VOSV9ESUdJVCA9ICJjYXRlZ29yeV91bmlfZGlnaXQiCi1DQVRFR09SWV9VTklfTk9UX0RJR0lUID0gImNhdGVnb3J5X3VuaV9ub3RfZGlnaXQiCi1DQVRFR09SWV9VTklfU1BBQ0UgPSAiY2F0ZWdvcnlfdW5pX3NwYWNlIgotQ0FURUdPUllfVU5JX05PVF9TUEFDRSA9ICJjYXRlZ29yeV91bmlfbm90X3NwYWNlIgotQ0FURUdPUllfVU5JX1dPUkQgPSAiY2F0ZWdvcnlfdW5pX3dvcmQiCi1DQVRFR09SWV9VTklfTk9UX1dPUkQgPSAiY2F0ZWdvcnlfdW5pX25vdF93b3JkIgotQ0FURUdPUllfVU5JX0xJTkVCUkVBSyA9ICJjYXRlZ29yeV91bmlfbGluZWJyZWFrIgotQ0FURUdPUllfVU5JX05PVF9MSU5FQlJFQUsgPSAiY2F0ZWdvcnlfdW5pX25vdF9saW5lYnJlYWsiCitDSENPREVTID0gX21ha2Vjb2RlcygiIiIKKyAgICBDQVRFR09SWV9ESUdJVCBDQVRFR09SWV9OT1RfRElHSVQKKyAgICBDQVRFR09SWV9TUEFDRSBDQVRFR09SWV9OT1RfU1BBQ0UKKyAgICBDQVRFR09SWV9XT1JEIENBVEVHT1JZX05PVF9XT1JECisgICAgQ0FURUdPUllfTElORUJSRUFLIENBVEVHT1JZX05PVF9MSU5FQlJFQUsKKyAgICBDQVRFR09SWV9MT0NfV09SRCBDQVRFR09SWV9MT0NfTk9UX1dPUkQKKyAgICBDQVRFR09SWV9VTklfRElHSVQgQ0FURUdPUllfVU5JX05PVF9ESUdJVAorICAgIENBVEVHT1JZX1VOSV9TUEFDRSBDQVRFR09SWV9VTklfTk9UX1NQQUNFCisgICAgQ0FURUdPUllfVU5JX1dPUkQgQ0FURUdPUllfVU5JX05PVF9XT1JECisgICAgQ0FURUdPUllfVU5JX0xJTkVCUkVBSyBDQVRFR09SWV9VTklfTk9UX0xJTkVCUkVBSworIiIiKQogCi1PUENPREVTID0gWwotCi0gICAgIyBmYWlsdXJlPTAgc3VjY2Vzcz0xIChqdXN0IGJlY2F1c2UgaXQgbG9va3MgYmV0dGVyIHRoYXQgd2F5IDotKQotICAgIEZBSUxVUkUsIFNVQ0NFU1MsCi0KLSAgICBBTlksIEFOWV9BTEwsCi0gICAgQVNTRVJULCBBU1NFUlRfTk9ULAotICAgIEFULAotICAgIEJSQU5DSCwKLSAgICBDQUxMLAotICAgIENBVEVHT1JZLAotICAgIENIQVJTRVQsIEJJR0NIQVJTRVQsCi0gICAgR1JPVVBSRUYsIEdST1VQUkVGX0VYSVNUUywgR1JPVVBSRUZfSUdOT1JFLAotICAgIElOLCBJTl9JR05PUkUsCi0gICAgSU5GTywKLSAgICBKVU1QLAotICAgIExJVEVSQUwsIExJVEVSQUxfSUdOT1JFLAotICAgIE1BUkssCi0gICAgTUFYX1VOVElMLAotICAgIE1JTl9VTlRJTCwKLSAgICBOT1RfTElURVJBTCwgTk9UX0xJVEVSQUxfSUdOT1JFLAotICAgIE5FR0FURSwKLSAgICBSQU5HRSwKLSAgICBSRVBFQVQsCi0gICAgUkVQRUFUX09ORSwKLSAgICBTVUJQQVRURVJOLAotICAgIE1JTl9SRVBFQVRfT05FCi0KLV0KLQotQVRDT0RFUyA9IFsKLSAgICBBVF9CRUdJTk5JTkcsIEFUX0JFR0lOTklOR19MSU5FLCBBVF9CRUdJTk5JTkdfU1RSSU5HLCBBVF9CT1VOREFSWSwKLSAgICBBVF9OT05fQk9VTkRBUlksIEFUX0VORCwgQVRfRU5EX0xJTkUsIEFUX0VORF9TVFJJTkcsCi0gICAgQVRfTE9DX0JPVU5EQVJZLCBBVF9MT0NfTk9OX0JPVU5EQVJZLCBBVF9VTklfQk9VTkRBUlksCi0gICAgQVRfVU5JX05PTl9CT1VOREFSWQotXQotCi1DSENPREVTID0gWwotICAgIENBVEVHT1JZX0RJR0lULCBDQVRFR09SWV9OT1RfRElHSVQsIENBVEVHT1JZX1NQQUNFLAotICAgIENBVEVHT1JZX05PVF9TUEFDRSwgQ0FURUdPUllfV09SRCwgQ0FURUdPUllfTk9UX1dPUkQsCi0gICAgQ0FURUdPUllfTElORUJSRUFLLCBDQVRFR09SWV9OT1RfTElORUJSRUFLLCBDQVRFR09SWV9MT0NfV09SRCwKLSAgICBDQVRFR09SWV9MT0NfTk9UX1dPUkQsIENBVEVHT1JZX1VOSV9ESUdJVCwgQ0FURUdPUllfVU5JX05PVF9ESUdJVCwKLSAgICBDQVRFR09SWV9VTklfU1BBQ0UsIENBVEVHT1JZX1VOSV9OT1RfU1BBQ0UsIENBVEVHT1JZX1VOSV9XT1JELAotICAgIENBVEVHT1JZX1VOSV9OT1RfV09SRCwgQ0FURUdPUllfVU5JX0xJTkVCUkVBSywKLSAgICBDQVRFR09SWV9VTklfTk9UX0xJTkVCUkVBSwotXQotCi1kZWYgbWFrZWRpY3QobGlzdCk6Ci0gICAgZCA9IHt9Ci0gICAgaSA9IDAKLSAgICBmb3IgaXRlbSBpbiBsaXN0OgotICAgICAgICBkW2l0ZW1dID0gaQotICAgICAgICBpID0gaSArIDEKLSAgICByZXR1cm4gZAotCi1PUENPREVTID0gbWFrZWRpY3QoT1BDT0RFUykKLUFUQ09ERVMgPSBtYWtlZGljdChBVENPREVTKQotQ0hDT0RFUyA9IG1ha2VkaWN0KENIQ09ERVMpCiAKICMgcmVwbGFjZW1lbnQgb3BlcmF0aW9ucyBmb3IgImlnbm9yZSBjYXNlIiBtb2RlCiBPUF9JR05PUkUgPSB7CiAgICAgR1JPVVBSRUY6IEdST1VQUkVGX0lHTk9SRSwKICAgICBJTjogSU5fSUdOT1JFLAogICAgIExJVEVSQUw6IExJVEVSQUxfSUdOT1JFLAotICAgIE5PVF9MSVRFUkFMOiBOT1RfTElURVJBTF9JR05PUkUKKyAgICBOT1RfTElURVJBTDogTk9UX0xJVEVSQUxfSUdOT1JFLAorICAgIFJBTkdFOiBSQU5HRV9JR05PUkUsCiB9CiAKIEFUX01VTFRJTElORSA9IHsKQEAgLTIxNyw5ICsxNzksOSBAQAogCiBpZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgogICAgIGRlZiBkdW1wKGYsIGQsIHByZWZpeCk6Ci0gICAgICAgIGl0ZW1zID0gc29ydGVkKGQuaXRlbXMoKSwga2V5PWxhbWJkYSBhOiBhWzFdKQotICAgICAgICBmb3IgaywgdiBpbiBpdGVtczoKLSAgICAgICAgICAgIGYud3JpdGUoIiNkZWZpbmUgJXNfJXMgJXNcbiIgJSAocHJlZml4LCBrLnVwcGVyKCksIHYpKQorICAgICAgICBpdGVtcyA9IHNvcnRlZChkKQorICAgICAgICBmb3IgaXRlbSBpbiBpdGVtczoKKyAgICAgICAgICAgIGYud3JpdGUoIiNkZWZpbmUgJXNfJXMgJWRcbiIgJSAocHJlZml4LCBpdGVtLCBpdGVtKSkKICAgICBmID0gb3Blbigic3JlX2NvbnN0YW50cy5oIiwgInciKQogICAgIGYud3JpdGUoIiIiXAogLyoKZGlmZiAtLWdpdCBhL0xpYi9zcmVfcGFyc2UucHkgYi9MaWIvc3JlX3BhcnNlLnB5CmluZGV4IGRmMWU2NDMuLjk4YWZkN2MgMTAwNjQ0Ci0tLSBhL0xpYi9zcmVfcGFyc2UucHkKKysrIGIvTGliL3NyZV9wYXJzZS5weQpAQCAtMTMsMTcgKzEzLDE5IEBACiAjIFhYWDogc2hvdyBzdHJpbmcgb2Zmc2V0IGFuZCBvZmZlbmRpbmcgY2hhcmFjdGVyIGZvciBhbGwgZXJyb3JzCiAKIGZyb20gc3JlX2NvbnN0YW50cyBpbXBvcnQgKgotZnJvbSBfc3JlIGltcG9ydCBNQVhSRVBFQVQKIAogU1BFQ0lBTF9DSEFSUyA9ICIuXFxbeygpKis/XiR8IgogUkVQRUFUX0NIQVJTID0gIiorP3siCiAKLURJR0lUUyA9IHNldCgiMDEyMzQ1Njc4OSIpCitESUdJVFMgPSBmcm96ZW5zZXQoIjAxMjM0NTY3ODkiKQogCi1PQ1RESUdJVFMgPSBzZXQoIjAxMjM0NTY3IikKLUhFWERJR0lUUyA9IHNldCgiMDEyMzQ1Njc4OWFiY2RlZkFCQ0RFRiIpCitPQ1RESUdJVFMgPSBmcm96ZW5zZXQoIjAxMjM0NTY3IikKK0hFWERJR0lUUyA9IGZyb3plbnNldCgiMDEyMzQ1Njc4OWFiY2RlZkFCQ0RFRiIpCiAKLVdISVRFU1BBQ0UgPSBzZXQoIiBcdFxuXHJcdlxmIikKK1dISVRFU1BBQ0UgPSBmcm96ZW5zZXQoIiBcdFxuXHJcdlxmIikKKworX1JFUEVBVENPREVTID0gZnJvemVuc2V0KHtNSU5fUkVQRUFULCBNQVhfUkVQRUFUfSkKK19VTklUQ09ERVMgPSBmcm96ZW5zZXQoe0FOWSwgUkFOR0UsIElOLCBMSVRFUkFMLCBOT1RfTElURVJBTCwgQ0FURUdPUll9KQogCiBFU0NBUEVTID0gewogICAgIHIiXGEiOiAoTElURVJBTCwgb3JkKCJcYSIpKSwKQEAgLTY2LDI2ICs2OCwzNiBAQAogICAgICMgbWFzdGVyIHBhdHRlcm4gb2JqZWN0LiAga2VlcHMgdHJhY2sgb2YgZ2xvYmFsIGF0dHJpYnV0ZXMKICAgICBkZWYgX19pbml0X18oc2VsZik6CiAgICAgICAgIHNlbGYuZmxhZ3MgPSAwCi0gICAgICAgIHNlbGYub3BlbiA9IFtdCi0gICAgICAgIHNlbGYuZ3JvdXBzID0gMQogICAgICAgICBzZWxmLmdyb3VwZGljdCA9IHt9Ci0gICAgICAgIHNlbGYubG9va2JlaGluZCA9IDAKLQorICAgICAgICBzZWxmLnN1YnBhdHRlcm5zID0gW05vbmVdICAjIGdyb3VwIDAKKyAgICAgICAgc2VsZi5sb29rYmVoaW5kZ3JvdXBzID0gTm9uZQorICAgIEBwcm9wZXJ0eQorICAgIGRlZiBncm91cHMoc2VsZik6CisgICAgICAgIHJldHVybiBsZW4oc2VsZi5zdWJwYXR0ZXJucykKICAgICBkZWYgb3Blbmdyb3VwKHNlbGYsIG5hbWU9Tm9uZSk6CiAgICAgICAgIGdpZCA9IHNlbGYuZ3JvdXBzCi0gICAgICAgIHNlbGYuZ3JvdXBzID0gZ2lkICsgMQorICAgICAgICBzZWxmLnN1YnBhdHRlcm5zLmFwcGVuZChOb25lKQorICAgICAgICBpZiBzZWxmLmdyb3VwcyA+IE1BWEdST1VQUzoKKyAgICAgICAgICAgIHJhaXNlIGVycm9yKCJncm91cHMgbnVtYmVyIGlzIHRvbyBsYXJnZSIpCiAgICAgICAgIGlmIG5hbWUgaXMgbm90IE5vbmU6CiAgICAgICAgICAgICBvZ2lkID0gc2VsZi5ncm91cGRpY3QuZ2V0KG5hbWUsIE5vbmUpCiAgICAgICAgICAgICBpZiBvZ2lkIGlzIG5vdCBOb25lOgotICAgICAgICAgICAgICAgIHJhaXNlIGVycm9yKCJyZWRlZmluaXRpb24gb2YgZ3JvdXAgbmFtZSAlcyBhcyBncm91cCAlZDsgIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ3YXMgZ3JvdXAgJWQiICUgKHJlcHIobmFtZSksIGdpZCwgIG9naWQpKQorICAgICAgICAgICAgICAgIHJhaXNlIGVycm9yKCJyZWRlZmluaXRpb24gb2YgZ3JvdXAgbmFtZSAlciBhcyBncm91cCAlZDsgIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ3YXMgZ3JvdXAgJWQiICUgKG5hbWUsIGdpZCwgIG9naWQpKQogICAgICAgICAgICAgc2VsZi5ncm91cGRpY3RbbmFtZV0gPSBnaWQKLSAgICAgICAgc2VsZi5vcGVuLmFwcGVuZChnaWQpCiAgICAgICAgIHJldHVybiBnaWQKLSAgICBkZWYgY2xvc2Vncm91cChzZWxmLCBnaWQpOgotICAgICAgICBzZWxmLm9wZW4ucmVtb3ZlKGdpZCkKKyAgICBkZWYgY2xvc2Vncm91cChzZWxmLCBnaWQsIHApOgorICAgICAgICBzZWxmLnN1YnBhdHRlcm5zW2dpZF0gPSBwCiAgICAgZGVmIGNoZWNrZ3JvdXAoc2VsZiwgZ2lkKToKLSAgICAgICAgcmV0dXJuIGdpZCA8IHNlbGYuZ3JvdXBzIGFuZCBnaWQgbm90IGluIHNlbGYub3BlbgorICAgICAgICByZXR1cm4gZ2lkIDwgc2VsZi5ncm91cHMgYW5kIHNlbGYuc3VicGF0dGVybnNbZ2lkXSBpcyBub3QgTm9uZQorCisgICAgZGVmIGNoZWNrbG9va2JlaGluZGdyb3VwKHNlbGYsIGdpZCwgc291cmNlKToKKyAgICAgICAgaWYgc2VsZi5sb29rYmVoaW5kZ3JvdXBzIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgaWYgbm90IHNlbGYuY2hlY2tncm91cChnaWQpOgorICAgICAgICAgICAgICAgIHJhaXNlIHNvdXJjZS5lcnJvcignY2Fubm90IHJlZmVyIHRvIGFuIG9wZW4gZ3JvdXAnKQorICAgICAgICAgICAgaWYgZ2lkID49IHNlbGYubG9va2JlaGluZGdyb3VwczoKKyAgICAgICAgICAgICAgICByYWlzZSBzb3VyY2UuZXJyb3IoJ2Nhbm5vdCByZWZlciB0byBncm91cCBkZWZpbmVkIGluIHRoZSBzYW1lICcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2xvb2tiZWhpbmQgc3VicGF0dGVybicpCiAKIGNsYXNzIFN1YlBhdHRlcm46CiAgICAgIyBhIHN1YnBhdHRlcm4sIGluIGludGVybWVkaWF0ZSBmb3JtCkBAIC05OSwyNCArMTExLDI0IEBACiAgICAgICAgIG5sID0gVHJ1ZQogICAgICAgICBzZXF0eXBlcyA9ICh0dXBsZSwgbGlzdCkKICAgICAgICAgZm9yIG9wLCBhdiBpbiBzZWxmLmRhdGE6Ci0gICAgICAgICAgICBwcmludChsZXZlbCoiICAiICsgb3AsIGVuZD0nJykKLSAgICAgICAgICAgIGlmIG9wID09IElOOgorICAgICAgICAgICAgcHJpbnQobGV2ZWwqIiAgIiArIHN0cihvcCksIGVuZD0nJykKKyAgICAgICAgICAgIGlmIG9wIGlzIElOOgogICAgICAgICAgICAgICAgICMgbWVtYmVyIHN1Ymxhbmd1YWdlCiAgICAgICAgICAgICAgICAgcHJpbnQoKQogICAgICAgICAgICAgICAgIGZvciBvcCwgYSBpbiBhdjoKLSAgICAgICAgICAgICAgICAgICAgcHJpbnQoKGxldmVsKzEpKiIgICIgKyBvcCwgYSkKLSAgICAgICAgICAgIGVsaWYgb3AgPT0gQlJBTkNIOgorICAgICAgICAgICAgICAgICAgICBwcmludCgobGV2ZWwrMSkqIiAgIiArIHN0cihvcCksIGEpCisgICAgICAgICAgICBlbGlmIG9wIGlzIEJSQU5DSDoKICAgICAgICAgICAgICAgICBwcmludCgpCiAgICAgICAgICAgICAgICAgZm9yIGksIGEgaW4gZW51bWVyYXRlKGF2WzFdKToKICAgICAgICAgICAgICAgICAgICAgaWYgaToKLSAgICAgICAgICAgICAgICAgICAgICAgIHByaW50KGxldmVsKiIgICIgKyAib3IiKQorICAgICAgICAgICAgICAgICAgICAgICAgcHJpbnQobGV2ZWwqIiAgIiArICJPUiIpCiAgICAgICAgICAgICAgICAgICAgIGEuZHVtcChsZXZlbCsxKQotICAgICAgICAgICAgZWxpZiBvcCA9PSBHUk9VUFJFRl9FWElTVFM6CisgICAgICAgICAgICBlbGlmIG9wIGlzIEdST1VQUkVGX0VYSVNUUzoKICAgICAgICAgICAgICAgICBjb25kZ3JvdXAsIGl0ZW1feWVzLCBpdGVtX25vID0gYXYKICAgICAgICAgICAgICAgICBwcmludCgnJywgY29uZGdyb3VwKQogICAgICAgICAgICAgICAgIGl0ZW1feWVzLmR1bXAobGV2ZWwrMSkKICAgICAgICAgICAgICAgICBpZiBpdGVtX25vOgotICAgICAgICAgICAgICAgICAgICBwcmludChsZXZlbCoiICAiICsgImVsc2UiKQorICAgICAgICAgICAgICAgICAgICBwcmludChsZXZlbCoiICAiICsgIkVMU0UiKQogICAgICAgICAgICAgICAgICAgICBpdGVtX25vLmR1bXAobGV2ZWwrMSkKICAgICAgICAgICAgIGVsaWYgaXNpbnN0YW5jZShhdiwgc2VxdHlwZXMpOgogICAgICAgICAgICAgICAgIG5sID0gRmFsc2UKQEAgLTE1MywxMSArMTY1LDkgQEAKICAgICAgICAgc2VsZi5kYXRhLmFwcGVuZChjb2RlKQogICAgIGRlZiBnZXR3aWR0aChzZWxmKToKICAgICAgICAgIyBkZXRlcm1pbmUgdGhlIHdpZHRoIChtaW4sIG1heCkgZm9yIHRoaXMgc3VicGF0dGVybgotICAgICAgICBpZiBzZWxmLndpZHRoOgorICAgICAgICBpZiBzZWxmLndpZHRoIGlzIG5vdCBOb25lOgogICAgICAgICAgICAgcmV0dXJuIHNlbGYud2lkdGgKICAgICAgICAgbG8gPSBoaSA9IDAKLSAgICAgICAgVU5JVENPREVTID0gKEFOWSwgUkFOR0UsIElOLCBMSVRFUkFMLCBOT1RfTElURVJBTCwgQ0FURUdPUlkpCi0gICAgICAgIFJFUEVBVENPREVTID0gKE1JTl9SRVBFQVQsIE1BWF9SRVBFQVQpCiAgICAgICAgIGZvciBvcCwgYXYgaW4gc2VsZi5kYXRhOgogICAgICAgICAgICAgaWYgb3AgaXMgQlJBTkNIOgogICAgICAgICAgICAgICAgIGkgPSBNQVhSRVBFQVQgLSAxCkBAIC0xNzYsMTQgKzE4NiwyOCBAQAogICAgICAgICAgICAgICAgIGksIGogPSBhdlsxXS5nZXR3aWR0aCgpCiAgICAgICAgICAgICAgICAgbG8gPSBsbyArIGkKICAgICAgICAgICAgICAgICBoaSA9IGhpICsgagotICAgICAgICAgICAgZWxpZiBvcCBpbiBSRVBFQVRDT0RFUzoKKyAgICAgICAgICAgIGVsaWYgb3AgaW4gX1JFUEVBVENPREVTOgogICAgICAgICAgICAgICAgIGksIGogPSBhdlsyXS5nZXR3aWR0aCgpCiAgICAgICAgICAgICAgICAgbG8gPSBsbyArIGkgKiBhdlswXQogICAgICAgICAgICAgICAgIGhpID0gaGkgKyBqICogYXZbMV0KLSAgICAgICAgICAgIGVsaWYgb3AgaW4gVU5JVENPREVTOgorICAgICAgICAgICAgZWxpZiBvcCBpbiBfVU5JVENPREVTOgogICAgICAgICAgICAgICAgIGxvID0gbG8gKyAxCiAgICAgICAgICAgICAgICAgaGkgPSBoaSArIDEKLSAgICAgICAgICAgIGVsaWYgb3AgPT0gU1VDQ0VTUzoKKyAgICAgICAgICAgIGVsaWYgb3AgaXMgR1JPVVBSRUY6CisgICAgICAgICAgICAgICAgaSwgaiA9IHNlbGYucGF0dGVybi5zdWJwYXR0ZXJuc1thdl0uZ2V0d2lkdGgoKQorICAgICAgICAgICAgICAgIGxvID0gbG8gKyBpCisgICAgICAgICAgICAgICAgaGkgPSBoaSArIGoKKyAgICAgICAgICAgIGVsaWYgb3AgaXMgR1JPVVBSRUZfRVhJU1RTOgorICAgICAgICAgICAgICAgIGksIGogPSBhdlsxXS5nZXR3aWR0aCgpCisgICAgICAgICAgICAgICAgaWYgYXZbMl0gaXMgbm90IE5vbmU6CisgICAgICAgICAgICAgICAgICAgIGwsIGggPSBhdlsyXS5nZXR3aWR0aCgpCisgICAgICAgICAgICAgICAgICAgIGkgPSBtaW4oaSwgbCkKKyAgICAgICAgICAgICAgICAgICAgaiA9IG1heChqLCBoKQorICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgIGkgPSAwCisgICAgICAgICAgICAgICAgbG8gPSBsbyArIGkKKyAgICAgICAgICAgICAgICBoaSA9IGhpICsgagorICAgICAgICAgICAgZWxpZiBvcCBpcyBTVUNDRVNTOgogICAgICAgICAgICAgICAgIGJyZWFrCiAgICAgICAgIHNlbGYud2lkdGggPSBtaW4obG8sIE1BWFJFUEVBVCAtIDEpLCBtaW4oaGksIE1BWFJFUEVBVCkKICAgICAgICAgcmV0dXJuIHNlbGYud2lkdGgKQEAgLTE5MiwzMyArMjE2LDMzIEBACiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIHN0cmluZyk6CiAgICAgICAgIHNlbGYuaXN0ZXh0ID0gaXNpbnN0YW5jZShzdHJpbmcsIHN0cikKICAgICAgICAgc2VsZi5zdHJpbmcgPSBzdHJpbmcKKyAgICAgICAgaWYgbm90IHNlbGYuaXN0ZXh0OgorICAgICAgICAgICAgc3RyaW5nID0gc3RyKHN0cmluZywgJ2xhdGluMScpCisgICAgICAgIHNlbGYuZGVjb2RlZF9zdHJpbmcgPSBzdHJpbmcKICAgICAgICAgc2VsZi5pbmRleCA9IDAKKyAgICAgICAgc2VsZi5uZXh0ID0gTm9uZQogICAgICAgICBzZWxmLl9fbmV4dCgpCiAgICAgZGVmIF9fbmV4dChzZWxmKToKLSAgICAgICAgaWYgc2VsZi5pbmRleCA+PSBsZW4oc2VsZi5zdHJpbmcpOgorICAgICAgICBpbmRleCA9IHNlbGYuaW5kZXgKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgY2hhciA9IHNlbGYuZGVjb2RlZF9zdHJpbmdbaW5kZXhdCisgICAgICAgIGV4Y2VwdCBJbmRleEVycm9yOgogICAgICAgICAgICAgc2VsZi5uZXh0ID0gTm9uZQogICAgICAgICAgICAgcmV0dXJuCi0gICAgICAgIGNoYXIgPSBzZWxmLnN0cmluZ1tzZWxmLmluZGV4OnNlbGYuaW5kZXgrMV0KLSAgICAgICAgIyBTcGVjaWFsIGNhc2UgZm9yIHRoZSBzdHI4LCBzaW5jZSBpbmRleGluZyByZXR1cm5zIGEgaW50ZWdlcgotICAgICAgICAjIFhYWCBUaGlzIGlzIG9ubHkgbmVlZGVkIGZvciB0ZXN0X2J1Z185MjYwNzUgaW4gdGVzdF9yZS5weQotICAgICAgICBpZiBjaGFyIGFuZCBub3Qgc2VsZi5pc3RleHQ6Ci0gICAgICAgICAgICBjaGFyID0gY2hyKGNoYXJbMF0pCiAgICAgICAgIGlmIGNoYXIgPT0gIlxcIjoKKyAgICAgICAgICAgIGluZGV4ICs9IDEKICAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICBjID0gc2VsZi5zdHJpbmdbc2VsZi5pbmRleCArIDFdCisgICAgICAgICAgICAgICAgY2hhciArPSBzZWxmLmRlY29kZWRfc3RyaW5nW2luZGV4XQogICAgICAgICAgICAgZXhjZXB0IEluZGV4RXJyb3I6Ci0gICAgICAgICAgICAgICAgcmFpc2UgZXJyb3IoImJvZ3VzIGVzY2FwZSAoZW5kIG9mIGxpbmUpIikKLSAgICAgICAgICAgIGlmIG5vdCBzZWxmLmlzdGV4dDoKLSAgICAgICAgICAgICAgICBjID0gY2hyKGMpCi0gICAgICAgICAgICBjaGFyID0gY2hhciArIGMKLSAgICAgICAgc2VsZi5pbmRleCA9IHNlbGYuaW5kZXggKyBsZW4oY2hhcikKKyAgICAgICAgICAgICAgICByYWlzZSBlcnJvcigiYm9ndXMgZXNjYXBlIChlbmQgb2YgbGluZSkiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuc3RyaW5nLCBsZW4oc2VsZi5zdHJpbmcpIC0gMSkgZnJvbSBOb25lCisgICAgICAgIHNlbGYuaW5kZXggPSBpbmRleCArIDEKICAgICAgICAgc2VsZi5uZXh0ID0gY2hhcgotICAgIGRlZiBtYXRjaChzZWxmLCBjaGFyLCBza2lwPTEpOgorICAgIGRlZiBtYXRjaChzZWxmLCBjaGFyKToKICAgICAgICAgaWYgY2hhciA9PSBzZWxmLm5leHQ6Ci0gICAgICAgICAgICBpZiBza2lwOgotICAgICAgICAgICAgICAgIHNlbGYuX19uZXh0KCkKLSAgICAgICAgICAgIHJldHVybiAxCi0gICAgICAgIHJldHVybiAwCisgICAgICAgICAgICBzZWxmLl9fbmV4dCgpCisgICAgICAgICAgICByZXR1cm4gVHJ1ZQorICAgICAgICByZXR1cm4gRmFsc2UKICAgICBkZWYgZ2V0KHNlbGYpOgogICAgICAgICB0aGlzID0gc2VsZi5uZXh0CiAgICAgICAgIHNlbGYuX19uZXh0KCkKQEAgLTIzMiwxMCArMjU2LDI1IEBACiAgICAgICAgICAgICByZXN1bHQgKz0gYwogICAgICAgICAgICAgc2VsZi5fX25leHQoKQogICAgICAgICByZXR1cm4gcmVzdWx0CisgICAgZGVmIGdldHVudGlsKHNlbGYsIHRlcm1pbmF0b3IpOgorICAgICAgICByZXN1bHQgPSAnJworICAgICAgICB3aGlsZSBUcnVlOgorICAgICAgICAgICAgYyA9IHNlbGYubmV4dAorICAgICAgICAgICAgc2VsZi5fX25leHQoKQorICAgICAgICAgICAgaWYgYyBpcyBOb25lOgorICAgICAgICAgICAgICAgIHJhaXNlIHNlbGYuZXJyb3IoInVudGVybWluYXRlZCBuYW1lIikKKyAgICAgICAgICAgIGlmIGMgPT0gdGVybWluYXRvcjoKKyAgICAgICAgICAgICAgICBicmVhaworICAgICAgICAgICAgcmVzdWx0ICs9IGMKKyAgICAgICAgcmV0dXJuIHJlc3VsdAogICAgIGRlZiB0ZWxsKHNlbGYpOgotICAgICAgICByZXR1cm4gc2VsZi5pbmRleCwgc2VsZi5uZXh0CisgICAgICAgIHJldHVybiBzZWxmLmluZGV4IC0gbGVuKHNlbGYubmV4dCBvciAnJykKICAgICBkZWYgc2VlayhzZWxmLCBpbmRleCk6Ci0gICAgICAgIHNlbGYuaW5kZXgsIHNlbGYubmV4dCA9IGluZGV4CisgICAgICAgIHNlbGYuaW5kZXggPSBpbmRleAorICAgICAgICBzZWxmLl9fbmV4dCgpCisKKyAgICBkZWYgZXJyb3Ioc2VsZiwgbXNnLCBvZmZzZXQ9MCk6CisgICAgICAgIHJldHVybiBlcnJvcihtc2csIHNlbGYuc3RyaW5nLCBzZWxmLnRlbGwoKSAtIG9mZnNldCkKIAogIyBUaGUgZm9sbG93aW5nIHRocmVlIGZ1bmN0aW9ucyBhcmUgbm90IHVzZWQgaW4gdGhpcyBtb2R1bGUgYW55bW9yZSwgYnV0IHdlIGtlZXAKICMgdGhlbSBoZXJlICh3aXRoIERlcHJlY2F0aW9uV2FybmluZ3MpIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eS4KQEAgLTI3MCw3ICszMDksNyBAQAogICAgIGlmIGNvZGU6CiAgICAgICAgIHJldHVybiBjb2RlCiAgICAgY29kZSA9IENBVEVHT1JJRVMuZ2V0KGVzY2FwZSkKLSAgICBpZiBjb2RlIGFuZCBjb2RlWzBdID09IElOOgorICAgIGlmIGNvZGUgYW5kIGNvZGVbMF0gaXMgSU46CiAgICAgICAgIHJldHVybiBjb2RlCiAgICAgdHJ5OgogICAgICAgICBjID0gZXNjYXBlWzE6Ml0KQEAgLTI3OSw3ICszMTgsNyBAQAogICAgICAgICAgICAgZXNjYXBlICs9IHNvdXJjZS5nZXR3aGlsZSgyLCBIRVhESUdJVFMpCiAgICAgICAgICAgICBpZiBsZW4oZXNjYXBlKSAhPSA0OgogICAgICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IKLSAgICAgICAgICAgIHJldHVybiBMSVRFUkFMLCBpbnQoZXNjYXBlWzI6XSwgMTYpICYgMHhmZgorICAgICAgICAgICAgcmV0dXJuIExJVEVSQUwsIGludChlc2NhcGVbMjpdLCAxNikKICAgICAgICAgZWxpZiBjID09ICJ1IiBhbmQgc291cmNlLmlzdGV4dDoKICAgICAgICAgICAgICMgdW5pY29kZSBlc2NhcGUgKGV4YWN0bHkgZm91ciBkaWdpdHMpCiAgICAgICAgICAgICBlc2NhcGUgKz0gc291cmNlLmdldHdoaWxlKDQsIEhFWERJR0lUUykKQEAgLTI5NywxNCArMzM2LDE4IEBACiAgICAgICAgIGVsaWYgYyBpbiBPQ1RESUdJVFM6CiAgICAgICAgICAgICAjIG9jdGFsIGVzY2FwZSAodXAgdG8gdGhyZWUgZGlnaXRzKQogICAgICAgICAgICAgZXNjYXBlICs9IHNvdXJjZS5nZXR3aGlsZSgyLCBPQ1RESUdJVFMpCi0gICAgICAgICAgICByZXR1cm4gTElURVJBTCwgaW50KGVzY2FwZVsxOl0sIDgpICYgMHhmZgorICAgICAgICAgICAgYyA9IGludChlc2NhcGVbMTpdLCA4KQorICAgICAgICAgICAgaWYgYyA+IDBvMzc3OgorICAgICAgICAgICAgICAgIHJhaXNlIHNvdXJjZS5lcnJvcignb2N0YWwgZXNjYXBlIHZhbHVlICVyIG91dHNpZGUgb2YgJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmFuZ2UgMC0wbzM3NycgJSBlc2NhcGUsIGxlbihlc2NhcGUpKQorICAgICAgICAgICAgcmV0dXJuIExJVEVSQUwsIGMKICAgICAgICAgZWxpZiBjIGluIERJR0lUUzoKICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IKICAgICAgICAgaWYgbGVuKGVzY2FwZSkgPT0gMjoKICAgICAgICAgICAgIHJldHVybiBMSVRFUkFMLCBvcmQoZXNjYXBlWzFdKQogICAgIGV4Y2VwdCBWYWx1ZUVycm9yOgogICAgICAgICBwYXNzCi0gICAgcmFpc2UgZXJyb3IoImJvZ3VzIGVzY2FwZTogJXMiICUgcmVwcihlc2NhcGUpKQorICAgIHJhaXNlIHNvdXJjZS5lcnJvcigiYm9ndXMgZXNjYXBlOiAlciIgJSBlc2NhcGUsIGxlbihlc2NhcGUpKQogCiBkZWYgX2VzY2FwZShzb3VyY2UsIGVzY2FwZSwgc3RhdGUpOgogICAgICMgaGFuZGxlIGVzY2FwZSBjb2RlIGluIGV4cHJlc3Npb24KQEAgLTMyMSw3ICszNjQsNyBAQAogICAgICAgICAgICAgZXNjYXBlICs9IHNvdXJjZS5nZXR3aGlsZSgyLCBIRVhESUdJVFMpCiAgICAgICAgICAgICBpZiBsZW4oZXNjYXBlKSAhPSA0OgogICAgICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IKLSAgICAgICAgICAgIHJldHVybiBMSVRFUkFMLCBpbnQoZXNjYXBlWzI6XSwgMTYpICYgMHhmZgorICAgICAgICAgICAgcmV0dXJuIExJVEVSQUwsIGludChlc2NhcGVbMjpdLCAxNikKICAgICAgICAgZWxpZiBjID09ICJ1IiBhbmQgc291cmNlLmlzdGV4dDoKICAgICAgICAgICAgICMgdW5pY29kZSBlc2NhcGUgKGV4YWN0bHkgZm91ciBkaWdpdHMpCiAgICAgICAgICAgICBlc2NhcGUgKz0gc291cmNlLmdldHdoaWxlKDQsIEhFWERJR0lUUykKQEAgLTMzOSw1MCArMzgyLDQ4IEBACiAgICAgICAgIGVsaWYgYyA9PSAiMCI6CiAgICAgICAgICAgICAjIG9jdGFsIGVzY2FwZQogICAgICAgICAgICAgZXNjYXBlICs9IHNvdXJjZS5nZXR3aGlsZSgyLCBPQ1RESUdJVFMpCi0gICAgICAgICAgICByZXR1cm4gTElURVJBTCwgaW50KGVzY2FwZVsxOl0sIDgpICYgMHhmZgorICAgICAgICAgICAgcmV0dXJuIExJVEVSQUwsIGludChlc2NhcGVbMTpdLCA4KQogICAgICAgICBlbGlmIGMgaW4gRElHSVRTOgogICAgICAgICAgICAgIyBvY3RhbCBlc2NhcGUgKm9yKiBkZWNpbWFsIGdyb3VwIHJlZmVyZW5jZSAoc2lnaCkKICAgICAgICAgICAgIGlmIHNvdXJjZS5uZXh0IGluIERJR0lUUzoKLSAgICAgICAgICAgICAgICBlc2NhcGUgPSBlc2NhcGUgKyBzb3VyY2UuZ2V0KCkKKyAgICAgICAgICAgICAgICBlc2NhcGUgKz0gc291cmNlLmdldCgpCiAgICAgICAgICAgICAgICAgaWYgKGVzY2FwZVsxXSBpbiBPQ1RESUdJVFMgYW5kIGVzY2FwZVsyXSBpbiBPQ1RESUdJVFMgYW5kCiAgICAgICAgICAgICAgICAgICAgIHNvdXJjZS5uZXh0IGluIE9DVERJR0lUUyk6CiAgICAgICAgICAgICAgICAgICAgICMgZ290IHRocmVlIG9jdGFsIGRpZ2l0czsgdGhpcyBpcyBhbiBvY3RhbCBlc2NhcGUKLSAgICAgICAgICAgICAgICAgICAgZXNjYXBlID0gZXNjYXBlICsgc291cmNlLmdldCgpCi0gICAgICAgICAgICAgICAgICAgIHJldHVybiBMSVRFUkFMLCBpbnQoZXNjYXBlWzE6XSwgOCkgJiAweGZmCisgICAgICAgICAgICAgICAgICAgIGVzY2FwZSArPSBzb3VyY2UuZ2V0KCkKKyAgICAgICAgICAgICAgICAgICAgYyA9IGludChlc2NhcGVbMTpdLCA4KQorICAgICAgICAgICAgICAgICAgICBpZiBjID4gMG8zNzc6CisgICAgICAgICAgICAgICAgICAgICAgICByYWlzZSBzb3VyY2UuZXJyb3IoJ29jdGFsIGVzY2FwZSB2YWx1ZSAlciBvdXRzaWRlIG9mICcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmFuZ2UgMC0wbzM3NycgJSBlc2NhcGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVuKGVzY2FwZSkpCisgICAgICAgICAgICAgICAgICAgIHJldHVybiBMSVRFUkFMLCBjCiAgICAgICAgICAgICAjIG5vdCBhbiBvY3RhbCBlc2NhcGUsIHNvIHRoaXMgaXMgYSBncm91cCByZWZlcmVuY2UKICAgICAgICAgICAgIGdyb3VwID0gaW50KGVzY2FwZVsxOl0pCiAgICAgICAgICAgICBpZiBncm91cCA8IHN0YXRlLmdyb3VwczoKICAgICAgICAgICAgICAgICBpZiBub3Qgc3RhdGUuY2hlY2tncm91cChncm91cCk6Ci0gICAgICAgICAgICAgICAgICAgIHJhaXNlIGVycm9yKCJjYW5ub3QgcmVmZXIgdG8gb3BlbiBncm91cCIpCi0gICAgICAgICAgICAgICAgaWYgc3RhdGUubG9va2JlaGluZDoKLSAgICAgICAgICAgICAgICAgICAgaW1wb3J0IHdhcm5pbmdzCi0gICAgICAgICAgICAgICAgICAgIHdhcm5pbmdzLndhcm4oJ2dyb3VwIHJlZmVyZW5jZXMgaW4gbG9va2JlaGluZCAnCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Fzc2VydGlvbnMgYXJlIG5vdCBzdXBwb3J0ZWQnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJ1bnRpbWVXYXJuaW5nKQorICAgICAgICAgICAgICAgICAgICByYWlzZSBzb3VyY2UuZXJyb3IoImNhbm5vdCByZWZlciB0byBvcGVuIGdyb3VwIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlbihlc2NhcGUpKQorICAgICAgICAgICAgICAgIHN0YXRlLmNoZWNrbG9va2JlaGluZGdyb3VwKGdyb3VwLCBzb3VyY2UpCiAgICAgICAgICAgICAgICAgcmV0dXJuIEdST1VQUkVGLCBncm91cAogICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcgogICAgICAgICBpZiBsZW4oZXNjYXBlKSA9PSAyOgogICAgICAgICAgICAgcmV0dXJuIExJVEVSQUwsIG9yZChlc2NhcGVbMV0pCiAgICAgZXhjZXB0IFZhbHVlRXJyb3I6CiAgICAgICAgIHBhc3MKLSAgICByYWlzZSBlcnJvcigiYm9ndXMgZXNjYXBlOiAlcyIgJSByZXByKGVzY2FwZSkpCisgICAgcmFpc2Ugc291cmNlLmVycm9yKCJib2d1cyBlc2NhcGU6ICVyIiAlIGVzY2FwZSwgbGVuKGVzY2FwZSkpCiAKLWRlZiBfcGFyc2Vfc3ViKHNvdXJjZSwgc3RhdGUsIG5lc3RlZD0xKToKK2RlZiBfcGFyc2Vfc3ViKHNvdXJjZSwgc3RhdGUsIG5lc3RlZD1UcnVlKToKICAgICAjIHBhcnNlIGFuIGFsdGVybmF0aW9uOiBhfGJ8YwogCiAgICAgaXRlbXMgPSBbXQogICAgIGl0ZW1zYXBwZW5kID0gaXRlbXMuYXBwZW5kCiAgICAgc291cmNlbWF0Y2ggPSBzb3VyY2UubWF0Y2gKLSAgICB3aGlsZSAxOgorICAgIHdoaWxlIFRydWU6CiAgICAgICAgIGl0ZW1zYXBwZW5kKF9wYXJzZShzb3VyY2UsIHN0YXRlKSkKLSAgICAgICAgaWYgc291cmNlbWF0Y2goInwiKToKLSAgICAgICAgICAgIGNvbnRpbnVlCi0gICAgICAgIGlmIG5vdCBuZXN0ZWQ6CisgICAgICAgIGlmIG5vdCBzb3VyY2VtYXRjaCgifCIpOgogICAgICAgICAgICAgYnJlYWsKLSAgICAgICAgaWYgbm90IHNvdXJjZS5uZXh0IG9yIHNvdXJjZW1hdGNoKCIpIiwgMCk6Ci0gICAgICAgICAgICBicmVhawotICAgICAgICBlbHNlOgotICAgICAgICAgICAgcmFpc2UgZXJyb3IoInBhdHRlcm4gbm90IHByb3Blcmx5IGNsb3NlZCIpCisgICAgaWYgbmVzdGVkIGFuZCBzb3VyY2UubmV4dCBpcyBub3QgTm9uZSBhbmQgc291cmNlLm5leHQgIT0gIikiOgorICAgICAgICByYWlzZSBzb3VyY2UuZXJyb3IoInBhdHRlcm4gbm90IHByb3Blcmx5IGNsb3NlZCIpCiAKICAgICBpZiBsZW4oaXRlbXMpID09IDE6CiAgICAgICAgIHJldHVybiBpdGVtc1swXQpAQCAtMzkxLDcgKzQzMiw3IEBACiAgICAgc3VicGF0dGVybmFwcGVuZCA9IHN1YnBhdHRlcm4uYXBwZW5kCiAKICAgICAjIGNoZWNrIGlmIGFsbCBpdGVtcyBzaGFyZSBhIGNvbW1vbiBwcmVmaXgKLSAgICB3aGlsZSAxOgorICAgIHdoaWxlIFRydWU6CiAgICAgICAgIHByZWZpeCA9IE5vbmUKICAgICAgICAgZm9yIGl0ZW0gaW4gaXRlbXM6CiAgICAgICAgICAgICBpZiBub3QgaXRlbToKQEAgLTQxMSwxNiArNDUyLDEyIEBACiAKICAgICAjIGNoZWNrIGlmIHRoZSBicmFuY2ggY2FuIGJlIHJlcGxhY2VkIGJ5IGEgY2hhcmFjdGVyIHNldAogICAgIGZvciBpdGVtIGluIGl0ZW1zOgotICAgICAgICBpZiBsZW4oaXRlbSkgIT0gMSBvciBpdGVtWzBdWzBdICE9IExJVEVSQUw6CisgICAgICAgIGlmIGxlbihpdGVtKSAhPSAxIG9yIGl0ZW1bMF1bMF0gaXMgbm90IExJVEVSQUw6CiAgICAgICAgICAgICBicmVhawogICAgIGVsc2U6CiAgICAgICAgICMgd2UgY2FuIHN0b3JlIHRoaXMgYXMgYSBjaGFyYWN0ZXIgc2V0IGluc3RlYWQgb2YgYQogICAgICAgICAjIGJyYW5jaCAodGhlIGNvbXBpbGVyIG1heSBvcHRpbWl6ZSB0aGlzIGV2ZW4gbW9yZSkKLSAgICAgICAgc2V0ID0gW10KLSAgICAgICAgc2V0YXBwZW5kID0gc2V0LmFwcGVuZAotICAgICAgICBmb3IgaXRlbSBpbiBpdGVtczoKLSAgICAgICAgICAgIHNldGFwcGVuZChpdGVtWzBdKQotICAgICAgICBzdWJwYXR0ZXJuYXBwZW5kKChJTiwgc2V0KSkKKyAgICAgICAgc3VicGF0dGVybmFwcGVuZCgoSU4sIFtpdGVtWzBdIGZvciBpdGVtIGluIGl0ZW1zXSkpCiAgICAgICAgIHJldHVybiBzdWJwYXR0ZXJuCiAKICAgICBzdWJwYXR0ZXJuLmFwcGVuZCgoQlJBTkNILCAoTm9uZSwgaXRlbXMpKSkKQEAgLTQzMCwyMSArNDY3LDE2IEBACiAgICAgaXRlbV95ZXMgPSBfcGFyc2Uoc291cmNlLCBzdGF0ZSkKICAgICBpZiBzb3VyY2UubWF0Y2goInwiKToKICAgICAgICAgaXRlbV9ubyA9IF9wYXJzZShzb3VyY2UsIHN0YXRlKQotICAgICAgICBpZiBzb3VyY2UubWF0Y2goInwiKToKLSAgICAgICAgICAgIHJhaXNlIGVycm9yKCJjb25kaXRpb25hbCBiYWNrcmVmIHdpdGggbW9yZSB0aGFuIHR3byBicmFuY2hlcyIpCisgICAgICAgIGlmIHNvdXJjZS5uZXh0ID09ICJ8IjoKKyAgICAgICAgICAgIHJhaXNlIHNvdXJjZS5lcnJvcigiY29uZGl0aW9uYWwgYmFja3JlZiB3aXRoIG1vcmUgdGhhbiB0d28gYnJhbmNoZXMiKQogICAgIGVsc2U6CiAgICAgICAgIGl0ZW1fbm8gPSBOb25lCi0gICAgaWYgc291cmNlLm5leHQgYW5kIG5vdCBzb3VyY2UubWF0Y2goIikiLCAwKToKLSAgICAgICAgcmFpc2UgZXJyb3IoInBhdHRlcm4gbm90IHByb3Blcmx5IGNsb3NlZCIpCisgICAgaWYgc291cmNlLm5leHQgaXMgbm90IE5vbmUgYW5kIHNvdXJjZS5uZXh0ICE9ICIpIjoKKyAgICAgICAgcmFpc2Ugc291cmNlLmVycm9yKCJwYXR0ZXJuIG5vdCBwcm9wZXJseSBjbG9zZWQiKQogICAgIHN1YnBhdHRlcm4gPSBTdWJQYXR0ZXJuKHN0YXRlKQogICAgIHN1YnBhdHRlcm4uYXBwZW5kKChHUk9VUFJFRl9FWElTVFMsIChjb25kZ3JvdXAsIGl0ZW1feWVzLCBpdGVtX25vKSkpCiAgICAgcmV0dXJuIHN1YnBhdHRlcm4KIAotX1BBVFRFUk5FTkRFUlMgPSBzZXQoInwpIikKLV9BU1NFUlRDSEFSUyA9IHNldCgiPSE8IikKLV9MT09LQkVISU5EQVNTRVJUQ0hBUlMgPSBzZXQoIj0hIikKLV9SRVBFQVRDT0RFUyA9IHNldChbTUlOX1JFUEVBVCwgTUFYX1JFUEVBVF0pCi0KIGRlZiBfcGFyc2Uoc291cmNlLCBzdGF0ZSk6CiAgICAgIyBwYXJzZSBhIHNpbXBsZSBwYXR0ZXJuCiAgICAgc3VicGF0dGVybiA9IFN1YlBhdHRlcm4oc3RhdGUpCkBAIC00NTQsMzIgKzQ4NiwzNSBAQAogICAgIHNvdXJjZWdldCA9IHNvdXJjZS5nZXQKICAgICBzb3VyY2VtYXRjaCA9IHNvdXJjZS5tYXRjaAogICAgIF9sZW4gPSBsZW4KLSAgICBQQVRURVJORU5ERVJTID0gX1BBVFRFUk5FTkRFUlMKLSAgICBBU1NFUlRDSEFSUyA9IF9BU1NFUlRDSEFSUwotICAgIExPT0tCRUhJTkRBU1NFUlRDSEFSUyA9IF9MT09LQkVISU5EQVNTRVJUQ0hBUlMKLSAgICBSRVBFQVRDT0RFUyA9IF9SRVBFQVRDT0RFUworICAgIF9vcmQgPSBvcmQKKyAgICB2ZXJib3NlID0gc3RhdGUuZmxhZ3MgJiBTUkVfRkxBR19WRVJCT1NFCiAKLSAgICB3aGlsZSAxOgorICAgIHdoaWxlIFRydWU6CiAKLSAgICAgICAgaWYgc291cmNlLm5leHQgaW4gUEFUVEVSTkVOREVSUzoKLSAgICAgICAgICAgIGJyZWFrICMgZW5kIG9mIHN1YnBhdHRlcm4KLSAgICAgICAgdGhpcyA9IHNvdXJjZWdldCgpCisgICAgICAgIHRoaXMgPSBzb3VyY2UubmV4dAogICAgICAgICBpZiB0aGlzIGlzIE5vbmU6CiAgICAgICAgICAgICBicmVhayAjIGVuZCBvZiBwYXR0ZXJuCisgICAgICAgIGlmIHRoaXMgaW4gInwpIjoKKyAgICAgICAgICAgIGJyZWFrICMgZW5kIG9mIHN1YnBhdHRlcm4KKyAgICAgICAgc291cmNlZ2V0KCkKIAotICAgICAgICBpZiBzdGF0ZS5mbGFncyAmIFNSRV9GTEFHX1ZFUkJPU0U6CisgICAgICAgIGlmIHZlcmJvc2U6CiAgICAgICAgICAgICAjIHNraXAgd2hpdGVzcGFjZSBhbmQgY29tbWVudHMKICAgICAgICAgICAgIGlmIHRoaXMgaW4gV0hJVEVTUEFDRToKICAgICAgICAgICAgICAgICBjb250aW51ZQogICAgICAgICAgICAgaWYgdGhpcyA9PSAiIyI6Ci0gICAgICAgICAgICAgICAgd2hpbGUgMToKKyAgICAgICAgICAgICAgICB3aGlsZSBUcnVlOgogICAgICAgICAgICAgICAgICAgICB0aGlzID0gc291cmNlZ2V0KCkKLSAgICAgICAgICAgICAgICAgICAgaWYgdGhpcyBpbiAoTm9uZSwgIlxuIik6CisgICAgICAgICAgICAgICAgICAgIGlmIHRoaXMgaXMgTm9uZSBvciB0aGlzID09ICJcbiI6CiAgICAgICAgICAgICAgICAgICAgICAgICBicmVhawogICAgICAgICAgICAgICAgIGNvbnRpbnVlCiAKLSAgICAgICAgaWYgdGhpcyBhbmQgdGhpc1swXSBub3QgaW4gU1BFQ0lBTF9DSEFSUzoKLSAgICAgICAgICAgIHN1YnBhdHRlcm5hcHBlbmQoKExJVEVSQUwsIG9yZCh0aGlzKSkpCisgICAgICAgIGlmIHRoaXNbMF0gPT0gIlxcIjoKKyAgICAgICAgICAgIGNvZGUgPSBfZXNjYXBlKHNvdXJjZSwgdGhpcywgc3RhdGUpCisgICAgICAgICAgICBzdWJwYXR0ZXJuYXBwZW5kKGNvZGUpCisKKyAgICAgICAgZWxpZiB0aGlzIG5vdCBpbiBTUEVDSUFMX0NIQVJTOgorICAgICAgICAgICAgc3VicGF0dGVybmFwcGVuZCgoTElURVJBTCwgX29yZCh0aGlzKSkpCiAKICAgICAgICAgZWxpZiB0aGlzID09ICJbIjoKICAgICAgICAgICAgICMgY2hhcmFjdGVyIHNldApAQCAtNDkxLDM5ICs1MjYsMzggQEAKICAgICAgICAgICAgICAgICBzZXRhcHBlbmQoKE5FR0FURSwgTm9uZSkpCiAgICAgICAgICAgICAjIGNoZWNrIHJlbWFpbmluZyBjaGFyYWN0ZXJzCiAgICAgICAgICAgICBzdGFydCA9IHNldFs6XQotICAgICAgICAgICAgd2hpbGUgMToKKyAgICAgICAgICAgIHdoaWxlIFRydWU6CiAgICAgICAgICAgICAgICAgdGhpcyA9IHNvdXJjZWdldCgpCisgICAgICAgICAgICAgICAgaWYgdGhpcyBpcyBOb25lOgorICAgICAgICAgICAgICAgICAgICByYWlzZSBzb3VyY2UuZXJyb3IoInVuZXhwZWN0ZWQgZW5kIG9mIHJlZ3VsYXIgZXhwcmVzc2lvbiIpCiAgICAgICAgICAgICAgICAgaWYgdGhpcyA9PSAiXSIgYW5kIHNldCAhPSBzdGFydDoKICAgICAgICAgICAgICAgICAgICAgYnJlYWsKLSAgICAgICAgICAgICAgICBlbGlmIHRoaXMgYW5kIHRoaXNbMF0gPT0gIlxcIjoKKyAgICAgICAgICAgICAgICBlbGlmIHRoaXNbMF0gPT0gIlxcIjoKICAgICAgICAgICAgICAgICAgICAgY29kZTEgPSBfY2xhc3NfZXNjYXBlKHNvdXJjZSwgdGhpcykKLSAgICAgICAgICAgICAgICBlbGlmIHRoaXM6Ci0gICAgICAgICAgICAgICAgICAgIGNvZGUxID0gTElURVJBTCwgb3JkKHRoaXMpCiAgICAgICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgcmFpc2UgZXJyb3IoInVuZXhwZWN0ZWQgZW5kIG9mIHJlZ3VsYXIgZXhwcmVzc2lvbiIpCisgICAgICAgICAgICAgICAgICAgIGNvZGUxID0gTElURVJBTCwgX29yZCh0aGlzKQogICAgICAgICAgICAgICAgIGlmIHNvdXJjZW1hdGNoKCItIik6CiAgICAgICAgICAgICAgICAgICAgICMgcG90ZW50aWFsIHJhbmdlCiAgICAgICAgICAgICAgICAgICAgIHRoaXMgPSBzb3VyY2VnZXQoKQorICAgICAgICAgICAgICAgICAgICBpZiB0aGlzIGlzIE5vbmU6CisgICAgICAgICAgICAgICAgICAgICAgICByYWlzZSBzb3VyY2UuZXJyb3IoInVuZXhwZWN0ZWQgZW5kIG9mIHJlZ3VsYXIgZXhwcmVzc2lvbiIpCiAgICAgICAgICAgICAgICAgICAgIGlmIHRoaXMgPT0gIl0iOgogICAgICAgICAgICAgICAgICAgICAgICAgaWYgY29kZTFbMF0gaXMgSU46CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29kZTEgPSBjb2RlMVsxXVswXQogICAgICAgICAgICAgICAgICAgICAgICAgc2V0YXBwZW5kKGNvZGUxKQotICAgICAgICAgICAgICAgICAgICAgICAgc2V0YXBwZW5kKChMSVRFUkFMLCBvcmQoIi0iKSkpCisgICAgICAgICAgICAgICAgICAgICAgICBzZXRhcHBlbmQoKExJVEVSQUwsIF9vcmQoIi0iKSkpCiAgICAgICAgICAgICAgICAgICAgICAgICBicmVhawotICAgICAgICAgICAgICAgICAgICBlbGlmIHRoaXM6Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiB0aGlzWzBdID09ICJcXCI6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29kZTIgPSBfY2xhc3NfZXNjYXBlKHNvdXJjZSwgdGhpcykKLSAgICAgICAgICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29kZTIgPSBMSVRFUkFMLCBvcmQodGhpcykKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIGNvZGUxWzBdICE9IExJVEVSQUwgb3IgY29kZTJbMF0gIT0gTElURVJBTDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICByYWlzZSBlcnJvcigiYmFkIGNoYXJhY3RlciByYW5nZSIpCi0gICAgICAgICAgICAgICAgICAgICAgICBsbyA9IGNvZGUxWzFdCi0gICAgICAgICAgICAgICAgICAgICAgICBoaSA9IGNvZGUyWzFdCi0gICAgICAgICAgICAgICAgICAgICAgICBpZiBoaSA8IGxvOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlIGVycm9yKCJiYWQgY2hhcmFjdGVyIHJhbmdlIikKLSAgICAgICAgICAgICAgICAgICAgICAgIHNldGFwcGVuZCgoUkFOR0UsIChsbywgaGkpKSkKKyAgICAgICAgICAgICAgICAgICAgaWYgdGhpc1swXSA9PSAiXFwiOgorICAgICAgICAgICAgICAgICAgICAgICAgY29kZTIgPSBfY2xhc3NfZXNjYXBlKHNvdXJjZSwgdGhpcykKICAgICAgICAgICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlIGVycm9yKCJ1bmV4cGVjdGVkIGVuZCBvZiByZWd1bGFyIGV4cHJlc3Npb24iKQorICAgICAgICAgICAgICAgICAgICAgICAgY29kZTIgPSBMSVRFUkFMLCBfb3JkKHRoaXMpCisgICAgICAgICAgICAgICAgICAgIGlmIGNvZGUxWzBdICE9IExJVEVSQUwgb3IgY29kZTJbMF0gIT0gTElURVJBTDoKKyAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlIHNvdXJjZS5lcnJvcigiYmFkIGNoYXJhY3RlciByYW5nZSIsIGxlbih0aGlzKSkKKyAgICAgICAgICAgICAgICAgICAgbG8gPSBjb2RlMVsxXQorICAgICAgICAgICAgICAgICAgICBoaSA9IGNvZGUyWzFdCisgICAgICAgICAgICAgICAgICAgIGlmIGhpIDwgbG86CisgICAgICAgICAgICAgICAgICAgICAgICByYWlzZSBzb3VyY2UuZXJyb3IoImJhZCBjaGFyYWN0ZXIgcmFuZ2UiLCBsZW4odGhpcykpCisgICAgICAgICAgICAgICAgICAgIHNldGFwcGVuZCgoUkFOR0UsIChsbywgaGkpKSkKICAgICAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgICAgICBpZiBjb2RlMVswXSBpcyBJTjoKICAgICAgICAgICAgICAgICAgICAgICAgIGNvZGUxID0gY29kZTFbMV1bMF0KQEAgLTUzOCw4ICs1NzIsOSBAQAogICAgICAgICAgICAgICAgICMgWFhYOiA8Zmw+IHNob3VsZCBhZGQgY2hhcm1hcCBvcHRpbWl6YXRpb24gaGVyZQogICAgICAgICAgICAgICAgIHN1YnBhdHRlcm5hcHBlbmQoKElOLCBzZXQpKQogCi0gICAgICAgIGVsaWYgdGhpcyBhbmQgdGhpc1swXSBpbiBSRVBFQVRfQ0hBUlM6CisgICAgICAgIGVsaWYgdGhpcyBpbiBSRVBFQVRfQ0hBUlM6CiAgICAgICAgICAgICAjIHJlcGVhdCBwcmV2aW91cyBpdGVtCisgICAgICAgICAgICBoZXJlID0gc291cmNlLnRlbGwoKQogICAgICAgICAgICAgaWYgdGhpcyA9PSAiPyI6CiAgICAgICAgICAgICAgICAgbWluLCBtYXggPSAwLCAxCiAgICAgICAgICAgICBlbGlmIHRoaXMgPT0gIioiOgpAQCAtNTQ5LDIwICs1ODQsMTkgQEAKICAgICAgICAgICAgICAgICBtaW4sIG1heCA9IDEsIE1BWFJFUEVBVAogICAgICAgICAgICAgZWxpZiB0aGlzID09ICJ7IjoKICAgICAgICAgICAgICAgICBpZiBzb3VyY2UubmV4dCA9PSAifSI6Ci0gICAgICAgICAgICAgICAgICAgIHN1YnBhdHRlcm5hcHBlbmQoKExJVEVSQUwsIG9yZCh0aGlzKSkpCisgICAgICAgICAgICAgICAgICAgIHN1YnBhdHRlcm5hcHBlbmQoKExJVEVSQUwsIF9vcmQodGhpcykpKQogICAgICAgICAgICAgICAgICAgICBjb250aW51ZQotICAgICAgICAgICAgICAgIGhlcmUgPSBzb3VyY2UudGVsbCgpCiAgICAgICAgICAgICAgICAgbWluLCBtYXggPSAwLCBNQVhSRVBFQVQKICAgICAgICAgICAgICAgICBsbyA9IGhpID0gIiIKICAgICAgICAgICAgICAgICB3aGlsZSBzb3VyY2UubmV4dCBpbiBESUdJVFM6Ci0gICAgICAgICAgICAgICAgICAgIGxvID0gbG8gKyBzb3VyY2UuZ2V0KCkKKyAgICAgICAgICAgICAgICAgICAgbG8gKz0gc291cmNlZ2V0KCkKICAgICAgICAgICAgICAgICBpZiBzb3VyY2VtYXRjaCgiLCIpOgogICAgICAgICAgICAgICAgICAgICB3aGlsZSBzb3VyY2UubmV4dCBpbiBESUdJVFM6Ci0gICAgICAgICAgICAgICAgICAgICAgICBoaSA9IGhpICsgc291cmNlZ2V0KCkKKyAgICAgICAgICAgICAgICAgICAgICAgIGhpICs9IHNvdXJjZWdldCgpCiAgICAgICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICAgICAgaGkgPSBsbwogICAgICAgICAgICAgICAgIGlmIG5vdCBzb3VyY2VtYXRjaCgifSIpOgotICAgICAgICAgICAgICAgICAgICBzdWJwYXR0ZXJuYXBwZW5kKChMSVRFUkFMLCBvcmQodGhpcykpKQorICAgICAgICAgICAgICAgICAgICBzdWJwYXR0ZXJuYXBwZW5kKChMSVRFUkFMLCBfb3JkKHRoaXMpKSkKICAgICAgICAgICAgICAgICAgICAgc291cmNlLnNlZWsoaGVyZSkKICAgICAgICAgICAgICAgICAgICAgY29udGludWUKICAgICAgICAgICAgICAgICBpZiBsbzoKQEAgLTU3NCwxOCArNjA4LDIxIEBACiAgICAgICAgICAgICAgICAgICAgIGlmIG1heCA+PSBNQVhSRVBFQVQ6CiAgICAgICAgICAgICAgICAgICAgICAgICByYWlzZSBPdmVyZmxvd0Vycm9yKCJ0aGUgcmVwZXRpdGlvbiBudW1iZXIgaXMgdG9vIGxhcmdlIikKICAgICAgICAgICAgICAgICAgICAgaWYgbWF4IDwgbWluOgotICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2UgZXJyb3IoImJhZCByZXBlYXQgaW50ZXJ2YWwiKQorICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2Ugc291cmNlLmVycm9yKCJiYWQgcmVwZWF0IGludGVydmFsIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzb3VyY2UudGVsbCgpIC0gaGVyZSkKICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgcmFpc2UgZXJyb3IoIm5vdCBzdXBwb3J0ZWQiKQorICAgICAgICAgICAgICAgIHJhaXNlIHNvdXJjZS5lcnJvcigibm90IHN1cHBvcnRlZCIsIGxlbih0aGlzKSkKICAgICAgICAgICAgICMgZmlndXJlIG91dCB3aGljaCBpdGVtIHRvIHJlcGVhdAogICAgICAgICAgICAgaWYgc3VicGF0dGVybjoKICAgICAgICAgICAgICAgICBpdGVtID0gc3VicGF0dGVyblstMTpdCiAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgIGl0ZW0gPSBOb25lCi0gICAgICAgICAgICBpZiBub3QgaXRlbSBvciAoX2xlbihpdGVtKSA9PSAxIGFuZCBpdGVtWzBdWzBdID09IEFUKToKLSAgICAgICAgICAgICAgICByYWlzZSBlcnJvcigibm90aGluZyB0byByZXBlYXQiKQotICAgICAgICAgICAgaWYgaXRlbVswXVswXSBpbiBSRVBFQVRDT0RFUzoKLSAgICAgICAgICAgICAgICByYWlzZSBlcnJvcigibXVsdGlwbGUgcmVwZWF0IikKKyAgICAgICAgICAgIGlmIG5vdCBpdGVtIG9yIChfbGVuKGl0ZW0pID09IDEgYW5kIGl0ZW1bMF1bMF0gaXMgQVQpOgorICAgICAgICAgICAgICAgIHJhaXNlIHNvdXJjZS5lcnJvcigibm90aGluZyB0byByZXBlYXQiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzb3VyY2UudGVsbCgpIC0gaGVyZSArIGxlbih0aGlzKSkKKyAgICAgICAgICAgIGlmIGl0ZW1bMF1bMF0gaW4gX1JFUEVBVENPREVTOgorICAgICAgICAgICAgICAgIHJhaXNlIHNvdXJjZS5lcnJvcigibXVsdGlwbGUgcmVwZWF0IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc291cmNlLnRlbGwoKSAtIGhlcmUgKyBsZW4odGhpcykpCiAgICAgICAgICAgICBpZiBzb3VyY2VtYXRjaCgiPyIpOgogICAgICAgICAgICAgICAgIHN1YnBhdHRlcm5bLTFdID0gKE1JTl9SRVBFQVQsIChtaW4sIG1heCwgaXRlbSkpCiAgICAgICAgICAgICBlbHNlOgpAQCAtNjAxLDE0NCArNjM4LDEzNyBAQAogICAgICAgICAgICAgaWYgc291cmNlbWF0Y2goIj8iKToKICAgICAgICAgICAgICAgICBncm91cCA9IDAKICAgICAgICAgICAgICAgICAjIG9wdGlvbnMKLSAgICAgICAgICAgICAgICBpZiBzb3VyY2VtYXRjaCgiUCIpOgorICAgICAgICAgICAgICAgIGNoYXIgPSBzb3VyY2VnZXQoKQorICAgICAgICAgICAgICAgIGlmIGNoYXIgaXMgTm9uZToKKyAgICAgICAgICAgICAgICAgICAgcmFpc2Ugc2VsZi5lcnJvcigidW5leHBlY3RlZCBlbmQgb2YgcGF0dGVybiIpCisgICAgICAgICAgICAgICAgaWYgY2hhciA9PSAiUCI6CiAgICAgICAgICAgICAgICAgICAgICMgcHl0aG9uIGV4dGVuc2lvbnMKICAgICAgICAgICAgICAgICAgICAgaWYgc291cmNlbWF0Y2goIjwiKToKICAgICAgICAgICAgICAgICAgICAgICAgICMgbmFtZWQgZ3JvdXA6IHNraXAgZm9yd2FyZCB0byBlbmQgb2YgbmFtZQotICAgICAgICAgICAgICAgICAgICAgICAgbmFtZSA9ICIiCi0gICAgICAgICAgICAgICAgICAgICAgICB3aGlsZSAxOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYXIgPSBzb3VyY2VnZXQoKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIGNoYXIgaXMgTm9uZToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2UgZXJyb3IoInVudGVybWluYXRlZCBuYW1lIikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiBjaGFyID09ICI+IjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lID0gbmFtZSArIGNoYXIKKyAgICAgICAgICAgICAgICAgICAgICAgIG5hbWUgPSBzb3VyY2UuZ2V0dW50aWwoIj4iKQogICAgICAgICAgICAgICAgICAgICAgICAgZ3JvdXAgPSAxCiAgICAgICAgICAgICAgICAgICAgICAgICBpZiBub3QgbmFtZToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICByYWlzZSBlcnJvcigibWlzc2luZyBncm91cCBuYW1lIikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICByYWlzZSBzb3VyY2UuZXJyb3IoIm1pc3NpbmcgZ3JvdXAgbmFtZSIsIDEpCiAgICAgICAgICAgICAgICAgICAgICAgICBpZiBub3QgbmFtZS5pc2lkZW50aWZpZXIoKToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICByYWlzZSBlcnJvcigiYmFkIGNoYXJhY3RlciBpbiBncm91cCBuYW1lICVyIiAlIG5hbWUpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2Ugc291cmNlLmVycm9yKCJiYWQgY2hhcmFjdGVyIGluIGdyb3VwIG5hbWUgIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiJXIiICUgbmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVuKG5hbWUpICsgMSkKICAgICAgICAgICAgICAgICAgICAgZWxpZiBzb3VyY2VtYXRjaCgiPSIpOgogICAgICAgICAgICAgICAgICAgICAgICAgIyBuYW1lZCBiYWNrcmVmZXJlbmNlCi0gICAgICAgICAgICAgICAgICAgICAgICBuYW1lID0gIiIKLSAgICAgICAgICAgICAgICAgICAgICAgIHdoaWxlIDE6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhciA9IHNvdXJjZWdldCgpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgY2hhciBpcyBOb25lOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByYWlzZSBlcnJvcigidW50ZXJtaW5hdGVkIG5hbWUiKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIGNoYXIgPT0gIikiOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhawotICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWUgPSBuYW1lICsgY2hhcgorICAgICAgICAgICAgICAgICAgICAgICAgbmFtZSA9IHNvdXJjZS5nZXR1bnRpbCgiKSIpCiAgICAgICAgICAgICAgICAgICAgICAgICBpZiBub3QgbmFtZToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICByYWlzZSBlcnJvcigibWlzc2luZyBncm91cCBuYW1lIikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICByYWlzZSBzb3VyY2UuZXJyb3IoIm1pc3NpbmcgZ3JvdXAgbmFtZSIsIDEpCiAgICAgICAgICAgICAgICAgICAgICAgICBpZiBub3QgbmFtZS5pc2lkZW50aWZpZXIoKToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICByYWlzZSBlcnJvcigiYmFkIGNoYXJhY3RlciBpbiBiYWNrcmVmIGdyb3VwIG5hbWUgIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIlciIgJSBuYW1lKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlIHNvdXJjZS5lcnJvcigiYmFkIGNoYXJhY3RlciBpbiBiYWNrcmVmICIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImdyb3VwIG5hbWUgJXIiICUgbmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVuKG5hbWUpICsgMSkKICAgICAgICAgICAgICAgICAgICAgICAgIGdpZCA9IHN0YXRlLmdyb3VwZGljdC5nZXQobmFtZSkKICAgICAgICAgICAgICAgICAgICAgICAgIGlmIGdpZCBpcyBOb25lOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zZyA9ICJ1bmtub3duIGdyb3VwIG5hbWU6IHswIXJ9Ii5mb3JtYXQobmFtZSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICByYWlzZSBlcnJvcihtc2cpCi0gICAgICAgICAgICAgICAgICAgICAgICBpZiBzdGF0ZS5sb29rYmVoaW5kOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltcG9ydCB3YXJuaW5ncwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdzLndhcm4oJ2dyb3VwIHJlZmVyZW5jZXMgaW4gbG9va2JlaGluZCAnCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYXNzZXJ0aW9ucyBhcmUgbm90IHN1cHBvcnRlZCcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSdW50aW1lV2FybmluZykKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICByYWlzZSBzb3VyY2UuZXJyb3IobXNnLCBsZW4obmFtZSkgKyAxKQorICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGUuY2hlY2tsb29rYmVoaW5kZ3JvdXAoZ2lkLCBzb3VyY2UpCiAgICAgICAgICAgICAgICAgICAgICAgICBzdWJwYXR0ZXJuYXBwZW5kKChHUk9VUFJFRiwgZ2lkKSkKICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgICAgICAgICBjaGFyID0gc291cmNlZ2V0KCkKICAgICAgICAgICAgICAgICAgICAgICAgIGlmIGNoYXIgaXMgTm9uZToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICByYWlzZSBlcnJvcigidW5leHBlY3RlZCBlbmQgb2YgcGF0dGVybiIpCi0gICAgICAgICAgICAgICAgICAgICAgICByYWlzZSBlcnJvcigidW5rbm93biBzcGVjaWZpZXI6ID9QJXMiICUgY2hhcikKLSAgICAgICAgICAgICAgICBlbGlmIHNvdXJjZW1hdGNoKCI6Iik6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2Ugc291cmNlLmVycm9yKCJ1bmV4cGVjdGVkIGVuZCBvZiBwYXR0ZXJuIikKKyAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlIHNvdXJjZS5lcnJvcigidW5rbm93biBzcGVjaWZpZXI6ID9QJXMiICUgY2hhciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZW4oY2hhcikpCisgICAgICAgICAgICAgICAgZWxpZiBjaGFyID09ICI6IjoKICAgICAgICAgICAgICAgICAgICAgIyBub24tY2FwdHVyaW5nIGdyb3VwCiAgICAgICAgICAgICAgICAgICAgIGdyb3VwID0gMgotICAgICAgICAgICAgICAgIGVsaWYgc291cmNlbWF0Y2goIiMiKToKKyAgICAgICAgICAgICAgICBlbGlmIGNoYXIgPT0gIiMiOgogICAgICAgICAgICAgICAgICAgICAjIGNvbW1lbnQKLSAgICAgICAgICAgICAgICAgICAgd2hpbGUgMToKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIHNvdXJjZS5uZXh0IGlzIE5vbmUgb3Igc291cmNlLm5leHQgPT0gIikiOgorICAgICAgICAgICAgICAgICAgICB3aGlsZSBUcnVlOgorICAgICAgICAgICAgICAgICAgICAgICAgaWYgc291cmNlLm5leHQgaXMgTm9uZToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICByYWlzZSBzb3VyY2UuZXJyb3IoInVuYmFsYW5jZWQgcGFyZW50aGVzaXMiKQorICAgICAgICAgICAgICAgICAgICAgICAgaWYgc291cmNlZ2V0KCkgPT0gIikiOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrCi0gICAgICAgICAgICAgICAgICAgICAgICBzb3VyY2VnZXQoKQotICAgICAgICAgICAgICAgICAgICBpZiBub3Qgc291cmNlbWF0Y2goIikiKToKLSAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlIGVycm9yKCJ1bmJhbGFuY2VkIHBhcmVudGhlc2lzIikKICAgICAgICAgICAgICAgICAgICAgY29udGludWUKLSAgICAgICAgICAgICAgICBlbGlmIHNvdXJjZS5uZXh0IGluIEFTU0VSVENIQVJTOgorICAgICAgICAgICAgICAgIGVsaWYgY2hhciBpbiAiPSE8IjoKICAgICAgICAgICAgICAgICAgICAgIyBsb29rYWhlYWQgYXNzZXJ0aW9ucwotICAgICAgICAgICAgICAgICAgICBjaGFyID0gc291cmNlZ2V0KCkKICAgICAgICAgICAgICAgICAgICAgZGlyID0gMQogICAgICAgICAgICAgICAgICAgICBpZiBjaGFyID09ICI8IjoKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIHNvdXJjZS5uZXh0IG5vdCBpbiBMT09LQkVISU5EQVNTRVJUQ0hBUlM6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2UgZXJyb3IoInN5bnRheCBlcnJvciIpCi0gICAgICAgICAgICAgICAgICAgICAgICBkaXIgPSAtMSAjIGxvb2tiZWhpbmQKICAgICAgICAgICAgICAgICAgICAgICAgIGNoYXIgPSBzb3VyY2VnZXQoKQotICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGUubG9va2JlaGluZCArPSAxCisgICAgICAgICAgICAgICAgICAgICAgICBpZiBjaGFyIGlzIE5vbmUgb3IgY2hhciBub3QgaW4gIj0hIjoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICByYWlzZSBzb3VyY2UuZXJyb3IoInN5bnRheCBlcnJvciIpCisgICAgICAgICAgICAgICAgICAgICAgICBkaXIgPSAtMSAjIGxvb2tiZWhpbmQKKyAgICAgICAgICAgICAgICAgICAgICAgIGxvb2tiZWhpbmRncm91cHMgPSBzdGF0ZS5sb29rYmVoaW5kZ3JvdXBzCisgICAgICAgICAgICAgICAgICAgICAgICBpZiBsb29rYmVoaW5kZ3JvdXBzIGlzIE5vbmU6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGUubG9va2JlaGluZGdyb3VwcyA9IHN0YXRlLmdyb3VwcwogICAgICAgICAgICAgICAgICAgICBwID0gX3BhcnNlX3N1Yihzb3VyY2UsIHN0YXRlKQogICAgICAgICAgICAgICAgICAgICBpZiBkaXIgPCAwOgotICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGUubG9va2JlaGluZCAtPSAxCisgICAgICAgICAgICAgICAgICAgICAgICBpZiBsb29rYmVoaW5kZ3JvdXBzIGlzIE5vbmU6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGUubG9va2JlaGluZGdyb3VwcyA9IE5vbmUKICAgICAgICAgICAgICAgICAgICAgaWYgbm90IHNvdXJjZW1hdGNoKCIpIik6Ci0gICAgICAgICAgICAgICAgICAgICAgICByYWlzZSBlcnJvcigidW5iYWxhbmNlZCBwYXJlbnRoZXNpcyIpCisgICAgICAgICAgICAgICAgICAgICAgICByYWlzZSBzb3VyY2UuZXJyb3IoInVuYmFsYW5jZWQgcGFyZW50aGVzaXMiKQogICAgICAgICAgICAgICAgICAgICBpZiBjaGFyID09ICI9IjoKICAgICAgICAgICAgICAgICAgICAgICAgIHN1YnBhdHRlcm5hcHBlbmQoKEFTU0VSVCwgKGRpciwgcCkpKQogICAgICAgICAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgICAgICAgICAgc3VicGF0dGVybmFwcGVuZCgoQVNTRVJUX05PVCwgKGRpciwgcCkpKQogICAgICAgICAgICAgICAgICAgICBjb250aW51ZQotICAgICAgICAgICAgICAgIGVsaWYgc291cmNlbWF0Y2goIigiKToKKyAgICAgICAgICAgICAgICBlbGlmIGNoYXIgPT0gIigiOgogICAgICAgICAgICAgICAgICAgICAjIGNvbmRpdGlvbmFsIGJhY2tyZWZlcmVuY2UgZ3JvdXAKLSAgICAgICAgICAgICAgICAgICAgY29uZG5hbWUgPSAiIgotICAgICAgICAgICAgICAgICAgICB3aGlsZSAxOgotICAgICAgICAgICAgICAgICAgICAgICAgY2hhciA9IHNvdXJjZWdldCgpCi0gICAgICAgICAgICAgICAgICAgICAgICBpZiBjaGFyIGlzIE5vbmU6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2UgZXJyb3IoInVudGVybWluYXRlZCBuYW1lIikKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIGNoYXIgPT0gIikiOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrCi0gICAgICAgICAgICAgICAgICAgICAgICBjb25kbmFtZSA9IGNvbmRuYW1lICsgY2hhcgorICAgICAgICAgICAgICAgICAgICBjb25kbmFtZSA9IHNvdXJjZS5nZXR1bnRpbCgiKSIpCiAgICAgICAgICAgICAgICAgICAgIGdyb3VwID0gMgogICAgICAgICAgICAgICAgICAgICBpZiBub3QgY29uZG5hbWU6Ci0gICAgICAgICAgICAgICAgICAgICAgICByYWlzZSBlcnJvcigibWlzc2luZyBncm91cCBuYW1lIikKKyAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlIHNvdXJjZS5lcnJvcigibWlzc2luZyBncm91cCBuYW1lIiwgMSkKICAgICAgICAgICAgICAgICAgICAgaWYgY29uZG5hbWUuaXNpZGVudGlmaWVyKCk6CiAgICAgICAgICAgICAgICAgICAgICAgICBjb25kZ3JvdXAgPSBzdGF0ZS5ncm91cGRpY3QuZ2V0KGNvbmRuYW1lKQogICAgICAgICAgICAgICAgICAgICAgICAgaWYgY29uZGdyb3VwIGlzIE5vbmU6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNnID0gInVua25vd24gZ3JvdXAgbmFtZTogezAhcn0iLmZvcm1hdChjb25kbmFtZSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICByYWlzZSBlcnJvcihtc2cpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2Ugc291cmNlLmVycm9yKG1zZywgbGVuKGNvbmRuYW1lKSArIDEpCiAgICAgICAgICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uZGdyb3VwID0gaW50KGNvbmRuYW1lKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIGNvbmRncm91cCA8IDA6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IKICAgICAgICAgICAgICAgICAgICAgICAgIGV4Y2VwdCBWYWx1ZUVycm9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlIGVycm9yKCJiYWQgY2hhcmFjdGVyIGluIGdyb3VwIG5hbWUiKQotICAgICAgICAgICAgICAgICAgICBpZiBzdGF0ZS5sb29rYmVoaW5kOgotICAgICAgICAgICAgICAgICAgICAgICAgaW1wb3J0IHdhcm5pbmdzCi0gICAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5ncy53YXJuKCdncm91cCByZWZlcmVuY2VzIGluIGxvb2tiZWhpbmQgJwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYXNzZXJ0aW9ucyBhcmUgbm90IHN1cHBvcnRlZCcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJ1bnRpbWVXYXJuaW5nKQotICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2Ugc291cmNlLmVycm9yKCJiYWQgY2hhcmFjdGVyIGluIGdyb3VwIG5hbWUiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZW4oY29uZG5hbWUpICsgMSkKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIG5vdCBjb25kZ3JvdXA6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2Ugc291cmNlLmVycm9yKCJiYWQgZ3JvdXAgbnVtYmVyIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVuKGNvbmRuYW1lKSArIDEpCisgICAgICAgICAgICAgICAgICAgICAgICBpZiBjb25kZ3JvdXAgPj0gTUFYR1JPVVBTOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlIHNvdXJjZS5lcnJvcigidGhlIGdyb3VwIG51bWJlciBpcyB0b28gbGFyZ2UiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZW4oY29uZG5hbWUpICsgMSkKKyAgICAgICAgICAgICAgICAgICAgc3RhdGUuY2hlY2tsb29rYmVoaW5kZ3JvdXAoY29uZGdyb3VwLCBzb3VyY2UpCisgICAgICAgICAgICAgICAgZWxpZiBjaGFyIGluIEZMQUdTOgogICAgICAgICAgICAgICAgICAgICAjIGZsYWdzCi0gICAgICAgICAgICAgICAgICAgIGlmIG5vdCBzb3VyY2UubmV4dCBpbiBGTEFHUzoKLSAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlIGVycm9yKCJ1bmV4cGVjdGVkIGVuZCBvZiBwYXR0ZXJuIikKKyAgICAgICAgICAgICAgICAgICAgc3RhdGUuZmxhZ3MgfD0gRkxBR1NbY2hhcl0KICAgICAgICAgICAgICAgICAgICAgd2hpbGUgc291cmNlLm5leHQgaW4gRkxBR1M6Ci0gICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZS5mbGFncyA9IHN0YXRlLmZsYWdzIHwgRkxBR1Nbc291cmNlZ2V0KCldCisgICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZS5mbGFncyB8PSBGTEFHU1tzb3VyY2VnZXQoKV0KKyAgICAgICAgICAgICAgICAgICAgdmVyYm9zZSA9IHN0YXRlLmZsYWdzICYgU1JFX0ZMQUdfVkVSQk9TRQorICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgIHJhaXNlIHNvdXJjZS5lcnJvcigidW5leHBlY3RlZCBlbmQgb2YgcGF0dGVybiIpCiAgICAgICAgICAgICBpZiBncm91cDoKICAgICAgICAgICAgICAgICAjIHBhcnNlIGdyb3VwIGNvbnRlbnRzCiAgICAgICAgICAgICAgICAgaWYgZ3JvdXAgPT0gMjoKICAgICAgICAgICAgICAgICAgICAgIyBhbm9ueW1vdXMgZ3JvdXAKICAgICAgICAgICAgICAgICAgICAgZ3JvdXAgPSBOb25lCiAgICAgICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgZ3JvdXAgPSBzdGF0ZS5vcGVuZ3JvdXAobmFtZSkKKyAgICAgICAgICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgICAgICAgICAgZ3JvdXAgPSBzdGF0ZS5vcGVuZ3JvdXAobmFtZSkKKyAgICAgICAgICAgICAgICAgICAgZXhjZXB0IGVycm9yIGFzIGVycjoKKyAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlIHNvdXJjZS5lcnJvcihlcnIubXNnLCBsZW4obmFtZSkgKyAxKQogICAgICAgICAgICAgICAgIGlmIGNvbmRncm91cDoKICAgICAgICAgICAgICAgICAgICAgcCA9IF9wYXJzZV9zdWJfY29uZChzb3VyY2UsIHN0YXRlLCBjb25kZ3JvdXApCiAgICAgICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICAgICAgcCA9IF9wYXJzZV9zdWIoc291cmNlLCBzdGF0ZSkKICAgICAgICAgICAgICAgICBpZiBub3Qgc291cmNlbWF0Y2goIikiKToKLSAgICAgICAgICAgICAgICAgICAgcmFpc2UgZXJyb3IoInVuYmFsYW5jZWQgcGFyZW50aGVzaXMiKQorICAgICAgICAgICAgICAgICAgICByYWlzZSBzb3VyY2UuZXJyb3IoInVuYmFsYW5jZWQgcGFyZW50aGVzaXMiKQogICAgICAgICAgICAgICAgIGlmIGdyb3VwIGlzIG5vdCBOb25lOgotICAgICAgICAgICAgICAgICAgICBzdGF0ZS5jbG9zZWdyb3VwKGdyb3VwKQorICAgICAgICAgICAgICAgICAgICBzdGF0ZS5jbG9zZWdyb3VwKGdyb3VwLCBwKQogICAgICAgICAgICAgICAgIHN1YnBhdHRlcm5hcHBlbmQoKFNVQlBBVFRFUk4sIChncm91cCwgcCkpKQogICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICB3aGlsZSAxOgorICAgICAgICAgICAgICAgIHdoaWxlIFRydWU6CiAgICAgICAgICAgICAgICAgICAgIGNoYXIgPSBzb3VyY2VnZXQoKQogICAgICAgICAgICAgICAgICAgICBpZiBjaGFyIGlzIE5vbmU6Ci0gICAgICAgICAgICAgICAgICAgICAgICByYWlzZSBlcnJvcigidW5leHBlY3RlZCBlbmQgb2YgcGF0dGVybiIpCisgICAgICAgICAgICAgICAgICAgICAgICByYWlzZSBzb3VyY2UuZXJyb3IoInVuZXhwZWN0ZWQgZW5kIG9mIHBhdHRlcm4iKQogICAgICAgICAgICAgICAgICAgICBpZiBjaGFyID09ICIpIjoKICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrCi0gICAgICAgICAgICAgICAgICAgIHJhaXNlIGVycm9yKCJ1bmtub3duIGV4dGVuc2lvbiIpCisgICAgICAgICAgICAgICAgICAgIHJhaXNlIHNvdXJjZS5lcnJvcigidW5rbm93biBleHRlbnNpb24iLCBsZW4oY2hhcikpCiAKICAgICAgICAgZWxpZiB0aGlzID09ICJeIjoKICAgICAgICAgICAgIHN1YnBhdHRlcm5hcHBlbmQoKEFULCBBVF9CRUdJTk5JTkcpKQpAQCAtNzQ2LDE4ICs3NzYsMTkgQEAKICAgICAgICAgZWxpZiB0aGlzID09ICIkIjoKICAgICAgICAgICAgIHN1YnBhdHRlcm4uYXBwZW5kKChBVCwgQVRfRU5EKSkKIAotICAgICAgICBlbGlmIHRoaXMgYW5kIHRoaXNbMF0gPT0gIlxcIjoKLSAgICAgICAgICAgIGNvZGUgPSBfZXNjYXBlKHNvdXJjZSwgdGhpcywgc3RhdGUpCi0gICAgICAgICAgICBzdWJwYXR0ZXJuYXBwZW5kKGNvZGUpCi0KICAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHJhaXNlIGVycm9yKCJwYXJzZXIgZXJyb3IiKQorICAgICAgICAgICAgcmFpc2Ugc291cmNlLmVycm9yKCJwYXJzZXIgZXJyb3IiLCBsZW4odGhpcykpCiAKICAgICByZXR1cm4gc3VicGF0dGVybgogCiBkZWYgZml4X2ZsYWdzKHNyYywgZmxhZ3MpOgogICAgICMgQ2hlY2sgYW5kIGZpeCBmbGFncyBhY2NvcmRpbmcgdG8gdGhlIHR5cGUgb2YgcGF0dGVybiAoc3RyIG9yIGJ5dGVzKQogICAgIGlmIGlzaW5zdGFuY2Uoc3JjLCBzdHIpOgorICAgICAgICBpZiBmbGFncyAmIFNSRV9GTEFHX0xPQ0FMRToKKyAgICAgICAgICAgIGltcG9ydCB3YXJuaW5ncworICAgICAgICAgICAgd2FybmluZ3Mud2FybigiTE9DQUxFIGZsYWcgd2l0aCBhIHN0ciBwYXR0ZXJuIGlzIGRlcHJlY2F0ZWQuICIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIldpbGwgYmUgYW4gZXJyb3IgaW4gMy42IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgRGVwcmVjYXRpb25XYXJuaW5nLCBzdGFja2xldmVsPTYpCiAgICAgICAgIGlmIG5vdCBmbGFncyAmIFNSRV9GTEFHX0FTQ0lJOgogICAgICAgICAgICAgZmxhZ3MgfD0gU1JFX0ZMQUdfVU5JQ09ERQogICAgICAgICBlbGlmIGZsYWdzICYgU1JFX0ZMQUdfVU5JQ09ERToKQEAgLTc2NSw2ICs3OTYsMTEgQEAKICAgICBlbHNlOgogICAgICAgICBpZiBmbGFncyAmIFNSRV9GTEFHX1VOSUNPREU6CiAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJjYW4ndCB1c2UgVU5JQ09ERSBmbGFnIHdpdGggYSBieXRlcyBwYXR0ZXJuIikKKyAgICAgICAgaWYgZmxhZ3MgJiBTUkVfRkxBR19MT0NBTEUgYW5kIGZsYWdzICYgU1JFX0ZMQUdfQVNDSUk6CisgICAgICAgICAgICBpbXBvcnQgd2FybmluZ3MKKyAgICAgICAgICAgIHdhcm5pbmdzLndhcm4oIkFTQ0lJIGFuZCBMT0NBTEUgZmxhZ3MgYXJlIGluY29tcGF0aWJsZS4gIgorICAgICAgICAgICAgICAgICAgICAgICAgICAiV2lsbCBiZSBhbiBlcnJvciBpbiAzLjYiLAorICAgICAgICAgICAgICAgICAgICAgICAgICBEZXByZWNhdGlvbldhcm5pbmcsIHN0YWNrbGV2ZWw9NikKICAgICByZXR1cm4gZmxhZ3MKIAogZGVmIHBhcnNlKHN0ciwgZmxhZ3M9MCwgcGF0dGVybj1Ob25lKToKQEAgLTc4MCwxMSArODE2LDEyIEBACiAgICAgcCA9IF9wYXJzZV9zdWIoc291cmNlLCBwYXR0ZXJuLCAwKQogICAgIHAucGF0dGVybi5mbGFncyA9IGZpeF9mbGFncyhzdHIsIHAucGF0dGVybi5mbGFncykKIAotICAgIHRhaWwgPSBzb3VyY2UuZ2V0KCkKLSAgICBpZiB0YWlsID09ICIpIjoKLSAgICAgICAgcmFpc2UgZXJyb3IoInVuYmFsYW5jZWQgcGFyZW50aGVzaXMiKQotICAgIGVsaWYgdGFpbDoKLSAgICAgICAgcmFpc2UgZXJyb3IoImJvZ3VzIGNoYXJhY3RlcnMgYXQgZW5kIG9mIHJlZ3VsYXIgZXhwcmVzc2lvbiIpCisgICAgaWYgc291cmNlLm5leHQgaXMgbm90IE5vbmU6CisgICAgICAgIGlmIHNvdXJjZS5uZXh0ID09ICIpIjoKKyAgICAgICAgICAgIHJhaXNlIHNvdXJjZS5lcnJvcigidW5iYWxhbmNlZCBwYXJlbnRoZXNpcyIpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICByYWlzZSBzb3VyY2UuZXJyb3IoImJvZ3VzIGNoYXJhY3RlcnMgYXQgZW5kIG9mIHJlZ3VsYXIgZXhwcmVzc2lvbiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVuKHRhaWwpKQogCiAgICAgaWYgZmxhZ3MgJiBTUkVfRkxBR19ERUJVRzoKICAgICAgICAgcC5kdW1wKCkKQEAgLTgyMSwyMiArODU4LDIwIEBACiAgICAgICAgICAgICBpZiBjID09ICJnIjoKICAgICAgICAgICAgICAgICBuYW1lID0gIiIKICAgICAgICAgICAgICAgICBpZiBzLm1hdGNoKCI8Iik6Ci0gICAgICAgICAgICAgICAgICAgIHdoaWxlIFRydWU6Ci0gICAgICAgICAgICAgICAgICAgICAgICBjaGFyID0gc2dldCgpCi0gICAgICAgICAgICAgICAgICAgICAgICBpZiBjaGFyIGlzIE5vbmU6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2UgZXJyb3IoInVudGVybWluYXRlZCBncm91cCBuYW1lIikKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIGNoYXIgPT0gIj4iOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrCi0gICAgICAgICAgICAgICAgICAgICAgICBuYW1lICs9IGNoYXIKKyAgICAgICAgICAgICAgICAgICAgbmFtZSA9IHMuZ2V0dW50aWwoIj4iKQogICAgICAgICAgICAgICAgIGlmIG5vdCBuYW1lOgotICAgICAgICAgICAgICAgICAgICByYWlzZSBlcnJvcigibWlzc2luZyBncm91cCBuYW1lIikKKyAgICAgICAgICAgICAgICAgICAgcmFpc2Ugcy5lcnJvcigibWlzc2luZyBncm91cCBuYW1lIiwgMSkKICAgICAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgICAgIGluZGV4ID0gaW50KG5hbWUpCiAgICAgICAgICAgICAgICAgICAgIGlmIGluZGV4IDwgMDoKLSAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlIGVycm9yKCJuZWdhdGl2ZSBncm91cCBudW1iZXIiKQorICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2Ugcy5lcnJvcigibmVnYXRpdmUgZ3JvdXAgbnVtYmVyIiwgbGVuKG5hbWUpICsgMSkKKyAgICAgICAgICAgICAgICAgICAgaWYgaW5kZXggPj0gTUFYR1JPVVBTOgorICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2Ugcy5lcnJvcigidGhlIGdyb3VwIG51bWJlciBpcyB0b28gbGFyZ2UiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZW4obmFtZSkgKyAxKQogICAgICAgICAgICAgICAgIGV4Y2VwdCBWYWx1ZUVycm9yOgogICAgICAgICAgICAgICAgICAgICBpZiBub3QgbmFtZS5pc2lkZW50aWZpZXIoKToKLSAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlIGVycm9yKCJiYWQgY2hhcmFjdGVyIGluIGdyb3VwIG5hbWUiKQorICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2Ugcy5lcnJvcigiYmFkIGNoYXJhY3RlciBpbiBncm91cCBuYW1lIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVuKG5hbWUpICsgMSkKICAgICAgICAgICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgICAgICAgICAgaW5kZXggPSBwYXR0ZXJuLmdyb3VwaW5kZXhbbmFtZV0KICAgICAgICAgICAgICAgICAgICAgZXhjZXB0IEtleUVycm9yOgpAQCAtODU3LDcgKzg5MiwxMSBAQAogICAgICAgICAgICAgICAgICAgICAgICAgcy5uZXh0IGluIE9DVERJR0lUUyk6CiAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzICs9IHNnZXQoKQogICAgICAgICAgICAgICAgICAgICAgICAgaXNvY3RhbCA9IFRydWUKLSAgICAgICAgICAgICAgICAgICAgICAgIGxhcHBlbmQoY2hyKGludCh0aGlzWzE6XSwgOCkgJiAweGZmKSkKKyAgICAgICAgICAgICAgICAgICAgICAgIGMgPSBpbnQodGhpc1sxOl0sIDgpCisgICAgICAgICAgICAgICAgICAgICAgICBpZiBjID4gMG8zNzc6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2Ugcy5lcnJvcignb2N0YWwgZXNjYXBlIHZhbHVlICVyIG91dHNpZGUgb2YgJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JhbmdlIDAtMG8zNzcnICUgdGhpcywgbGVuKHRoaXMpKQorICAgICAgICAgICAgICAgICAgICAgICAgbGFwcGVuZChjaHIoYykpCiAgICAgICAgICAgICAgICAgaWYgbm90IGlzb2N0YWw6CiAgICAgICAgICAgICAgICAgICAgIGFkZGdyb3VwKGludCh0aGlzWzE6XSkpCiAgICAgICAgICAgICBlbHNlOgpAQCAtODc4LDE0ICs5MTcsMTIgQEAKIAogZGVmIGV4cGFuZF90ZW1wbGF0ZSh0ZW1wbGF0ZSwgbWF0Y2gpOgogICAgIGcgPSBtYXRjaC5ncm91cAotICAgIHNlcCA9IG1hdGNoLnN0cmluZ1s6MF0KKyAgICBlbXB0eSA9IG1hdGNoLnN0cmluZ1s6MF0KICAgICBncm91cHMsIGxpdGVyYWxzID0gdGVtcGxhdGUKICAgICBsaXRlcmFscyA9IGxpdGVyYWxzWzpdCiAgICAgdHJ5OgogICAgICAgICBmb3IgaW5kZXgsIGdyb3VwIGluIGdyb3VwczoKLSAgICAgICAgICAgIGxpdGVyYWxzW2luZGV4XSA9IHMgPSBnKGdyb3VwKQotICAgICAgICAgICAgaWYgcyBpcyBOb25lOgotICAgICAgICAgICAgICAgIHJhaXNlIGVycm9yKCJ1bm1hdGNoZWQgZ3JvdXAiKQorICAgICAgICAgICAgbGl0ZXJhbHNbaW5kZXhdID0gZyhncm91cCkgb3IgZW1wdHkKICAgICBleGNlcHQgSW5kZXhFcnJvcjoKICAgICAgICAgcmFpc2UgZXJyb3IoImludmFsaWQgZ3JvdXAgcmVmZXJlbmNlIikKLSAgICByZXR1cm4gc2VwLmpvaW4obGl0ZXJhbHMpCisgICAgcmV0dXJuIGVtcHR5LmpvaW4obGl0ZXJhbHMpCmRpZmYgLS1naXQgYS9MaWIvc3NsLnB5IGIvTGliL3NzbC5weQppbmRleCBlYzQyZTM4Li4xODczMGNiIDEwMDY0NAotLS0gYS9MaWIvc3NsLnB5CisrKyBiL0xpYi9zc2wucHkKQEAgLTg3LDE3ICs4NywxOCBAQAogQUxFUlRfREVTQ1JJUFRJT05fVU5LTk9XTl9QU0tfSURFTlRJVFkKICIiIgogCitpbXBvcnQgaXBhZGRyZXNzCiBpbXBvcnQgdGV4dHdyYXAKIGltcG9ydCByZQogaW1wb3J0IHN5cwogaW1wb3J0IG9zCiBmcm9tIGNvbGxlY3Rpb25zIGltcG9ydCBuYW1lZHR1cGxlCi1mcm9tIGVudW0gaW1wb3J0IEVudW0gYXMgX0VudW0KK2Zyb20gZW51bSBpbXBvcnQgRW51bSBhcyBfRW51bSwgSW50RW51bSBhcyBfSW50RW51bQogCiBpbXBvcnQgX3NzbCAgICAgICAgICAgICAjIGlmIHdlIGNhbid0IGltcG9ydCBpdCwgbGV0IHRoZSBlcnJvciBwcm9wYWdhdGUKIAogZnJvbSBfc3NsIGltcG9ydCBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSLCBPUEVOU1NMX1ZFUlNJT05fSU5GTywgT1BFTlNTTF9WRVJTSU9OCi1mcm9tIF9zc2wgaW1wb3J0IF9TU0xDb250ZXh0Citmcm9tIF9zc2wgaW1wb3J0IF9TU0xDb250ZXh0LCBNZW1vcnlCSU8KIGZyb20gX3NzbCBpbXBvcnQgKAogICAgIFNTTEVycm9yLCBTU0xaZXJvUmV0dXJuRXJyb3IsIFNTTFdhbnRSZWFkRXJyb3IsIFNTTFdhbnRXcml0ZUVycm9yLAogICAgIFNTTFN5c2NhbGxFcnJvciwgU1NMRU9GRXJyb3IsCkBAIC0xMTksMzAgKzEyMCwyMyBAQAogX2ltcG9ydF9zeW1ib2xzKCdPUF8nKQogX2ltcG9ydF9zeW1ib2xzKCdBTEVSVF9ERVNDUklQVElPTl8nKQogX2ltcG9ydF9zeW1ib2xzKCdTU0xfRVJST1JfJykKLV9pbXBvcnRfc3ltYm9scygnUFJPVE9DT0xfJykKIF9pbXBvcnRfc3ltYm9scygnVkVSSUZZXycpCiAKLWZyb20gX3NzbCBpbXBvcnQgSEFTX1NOSSwgSEFTX0VDREgsIEhBU19OUE4KK2Zyb20gX3NzbCBpbXBvcnQgSEFTX1NOSSwgSEFTX0VDREgsIEhBU19OUE4sIEhBU19BTFBOCiAKIGZyb20gX3NzbCBpbXBvcnQgX09QRU5TU0xfQVBJX1ZFUlNJT04KIAorX1NTTE1ldGhvZCA9IF9JbnRFbnVtKCdfU1NMTWV0aG9kJywKKyAgICAgICAgICAgICAgICAgICAgICB7bmFtZTogdmFsdWUgZm9yIG5hbWUsIHZhbHVlIGluIHZhcnMoX3NzbCkuaXRlbXMoKQorICAgICAgICAgICAgICAgICAgICAgICBpZiBuYW1lLnN0YXJ0c3dpdGgoJ1BST1RPQ09MXycpfSkKK2dsb2JhbHMoKS51cGRhdGUoX1NTTE1ldGhvZC5fX21lbWJlcnNfXykKIAotX1BST1RPQ09MX05BTUVTID0ge3ZhbHVlOiBuYW1lIGZvciBuYW1lLCB2YWx1ZSBpbiBnbG9iYWxzKCkuaXRlbXMoKSBpZiBuYW1lLnN0YXJ0c3dpdGgoJ1BST1RPQ09MXycpfQorX1BST1RPQ09MX05BTUVTID0ge3ZhbHVlOiBuYW1lIGZvciBuYW1lLCB2YWx1ZSBpbiBfU1NMTWV0aG9kLl9fbWVtYmVyc19fLml0ZW1zKCl9CisKIHRyeToKLSAgICBmcm9tIF9zc2wgaW1wb3J0IFBST1RPQ09MX1NTTHYyCiAgICAgX1NTTHYyX0lGX0VYSVNUUyA9IFBST1RPQ09MX1NTTHYyCi1leGNlcHQgSW1wb3J0RXJyb3I6CitleGNlcHQgTmFtZUVycm9yOgogICAgIF9TU0x2Ml9JRl9FWElTVFMgPSBOb25lCi1lbHNlOgotICAgIF9QUk9UT0NPTF9OQU1FU1tQUk9UT0NPTF9TU0x2Ml0gPSAiU1NMdjIiCi0KLXRyeToKLSAgICBmcm9tIF9zc2wgaW1wb3J0IFBST1RPQ09MX1RMU3YxXzEsIFBST1RPQ09MX1RMU3YxXzIKLWV4Y2VwdCBJbXBvcnRFcnJvcjoKLSAgICBwYXNzCi1lbHNlOgotICAgIF9QUk9UT0NPTF9OQU1FU1tQUk9UT0NPTF9UTFN2MV8xXSA9ICJUTFN2MS4xIgotICAgIF9QUk9UT0NPTF9OQU1FU1tQUk9UT0NPTF9UTFN2MV8yXSA9ICJUTFN2MS4yIgogCiBpZiBzeXMucGxhdGZvcm0gPT0gIndpbjMyIjoKICAgICBmcm9tIF9zc2wgaW1wb3J0IGVudW1fY2VydGlmaWNhdGVzLCBlbnVtX2NybHMKQEAgLTI0Niw2ICsyNDAsMTcgQEAKICAgICByZXR1cm4gcGF0Lm1hdGNoKGhvc3RuYW1lKQogCiAKK2RlZiBfaXBhZGRyZXNzX21hdGNoKGlwbmFtZSwgaG9zdF9pcCk6CisgICAgIiIiRXhhY3QgbWF0Y2hpbmcgb2YgSVAgYWRkcmVzc2VzLgorCisgICAgUkZDIDYxMjUgZXhwbGljaXRseSBkb2Vzbid0IGRlZmluZSBhbiBhbGdvcml0aG0gZm9yIHRoaXMKKyAgICAoc2VjdGlvbiAxLjcuMiAtICJPdXQgb2YgU2NvcGUiKS4KKyAgICAiIiIKKyAgICAjIE9wZW5TU0wgbWF5IGFkZCBhIHRyYWlsaW5nIG5ld2xpbmUgdG8gYSBzdWJqZWN0QWx0TmFtZSdzIElQIGFkZHJlc3MKKyAgICBpcCA9IGlwYWRkcmVzcy5pcF9hZGRyZXNzKGlwbmFtZS5yc3RyaXAoKSkKKyAgICByZXR1cm4gaXAgPT0gaG9zdF9pcAorCisKIGRlZiBtYXRjaF9ob3N0bmFtZShjZXJ0LCBob3N0bmFtZSk6CiAgICAgIiIiVmVyaWZ5IHRoYXQgKmNlcnQqIChpbiBkZWNvZGVkIGZvcm1hdCBhcyByZXR1cm5lZCBieQogICAgIFNTTFNvY2tldC5nZXRwZWVyY2VydCgpKSBtYXRjaGVzIHRoZSAqaG9zdG5hbWUqLiAgUkZDIDI4MTggYW5kIFJGQyA2MTI1CkBAIC0yNTgsMTEgKzI2MywyMCBAQAogICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJlbXB0eSBvciBubyBjZXJ0aWZpY2F0ZSwgbWF0Y2hfaG9zdG5hbWUgbmVlZHMgYSAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIlNTTCBzb2NrZXQgb3IgU1NMIGNvbnRleHQgd2l0aCBlaXRoZXIgIgogICAgICAgICAgICAgICAgICAgICAgICAgICJDRVJUX09QVElPTkFMIG9yIENFUlRfUkVRVUlSRUQiKQorICAgIHRyeToKKyAgICAgICAgaG9zdF9pcCA9IGlwYWRkcmVzcy5pcF9hZGRyZXNzKGhvc3RuYW1lKQorICAgIGV4Y2VwdCBWYWx1ZUVycm9yOgorICAgICAgICAjIE5vdCBhbiBJUCBhZGRyZXNzIChjb21tb24gY2FzZSkKKyAgICAgICAgaG9zdF9pcCA9IE5vbmUKICAgICBkbnNuYW1lcyA9IFtdCiAgICAgc2FuID0gY2VydC5nZXQoJ3N1YmplY3RBbHROYW1lJywgKCkpCiAgICAgZm9yIGtleSwgdmFsdWUgaW4gc2FuOgogICAgICAgICBpZiBrZXkgPT0gJ0ROUyc6Ci0gICAgICAgICAgICBpZiBfZG5zbmFtZV9tYXRjaCh2YWx1ZSwgaG9zdG5hbWUpOgorICAgICAgICAgICAgaWYgaG9zdF9pcCBpcyBOb25lIGFuZCBfZG5zbmFtZV9tYXRjaCh2YWx1ZSwgaG9zdG5hbWUpOgorICAgICAgICAgICAgICAgIHJldHVybgorICAgICAgICAgICAgZG5zbmFtZXMuYXBwZW5kKHZhbHVlKQorICAgICAgICBlbGlmIGtleSA9PSAnSVAgQWRkcmVzcyc6CisgICAgICAgICAgICBpZiBob3N0X2lwIGlzIG5vdCBOb25lIGFuZCBfaXBhZGRyZXNzX21hdGNoKHZhbHVlLCBob3N0X2lwKToKICAgICAgICAgICAgICAgICByZXR1cm4KICAgICAgICAgICAgIGRuc25hbWVzLmFwcGVuZCh2YWx1ZSkKICAgICBpZiBub3QgZG5zbmFtZXM6CkBAIC0zNjEsNiArMzc1LDEyIEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgc2VydmVyX2hvc3RuYW1lPXNlcnZlcl9ob3N0bmFtZSwKICAgICAgICAgICAgICAgICAgICAgICAgICBfY29udGV4dD1zZWxmKQogCisgICAgZGVmIHdyYXBfYmlvKHNlbGYsIGluY29taW5nLCBvdXRnb2luZywgc2VydmVyX3NpZGU9RmFsc2UsCisgICAgICAgICAgICAgICAgIHNlcnZlcl9ob3N0bmFtZT1Ob25lKToKKyAgICAgICAgc3Nsb2JqID0gc2VsZi5fd3JhcF9iaW8oaW5jb21pbmcsIG91dGdvaW5nLCBzZXJ2ZXJfc2lkZT1zZXJ2ZXJfc2lkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VydmVyX2hvc3RuYW1lPXNlcnZlcl9ob3N0bmFtZSkKKyAgICAgICAgcmV0dXJuIFNTTE9iamVjdChzc2xvYmopCisKICAgICBkZWYgc2V0X25wbl9wcm90b2NvbHMoc2VsZiwgbnBuX3Byb3RvY29scyk6CiAgICAgICAgIHByb3RvcyA9IGJ5dGVhcnJheSgpCiAgICAgICAgIGZvciBwcm90b2NvbCBpbiBucG5fcHJvdG9jb2xzOgpAQCAtMzcyLDYgKzM5MiwxNyBAQAogCiAgICAgICAgIHNlbGYuX3NldF9ucG5fcHJvdG9jb2xzKHByb3RvcykKIAorICAgIGRlZiBzZXRfYWxwbl9wcm90b2NvbHMoc2VsZiwgYWxwbl9wcm90b2NvbHMpOgorICAgICAgICBwcm90b3MgPSBieXRlYXJyYXkoKQorICAgICAgICBmb3IgcHJvdG9jb2wgaW4gYWxwbl9wcm90b2NvbHM6CisgICAgICAgICAgICBiID0gYnl0ZXMocHJvdG9jb2wsICdhc2NpaScpCisgICAgICAgICAgICBpZiBsZW4oYikgPT0gMCBvciBsZW4oYikgPiAyNTU6CisgICAgICAgICAgICAgICAgcmFpc2UgU1NMRXJyb3IoJ0FMUE4gcHJvdG9jb2xzIG11c3QgYmUgMSB0byAyNTUgaW4gbGVuZ3RoJykKKyAgICAgICAgICAgIHByb3Rvcy5hcHBlbmQobGVuKGIpKQorICAgICAgICAgICAgcHJvdG9zLmV4dGVuZChiKQorCisgICAgICAgIHNlbGYuX3NldF9hbHBuX3Byb3RvY29scyhwcm90b3MpCisKICAgICBkZWYgX2xvYWRfd2luZG93c19zdG9yZV9jZXJ0cyhzZWxmLCBzdG9yZW5hbWUsIHB1cnBvc2UpOgogICAgICAgICBjZXJ0cyA9IGJ5dGVhcnJheSgpCiAgICAgICAgIGZvciBjZXJ0LCBlbmNvZGluZywgdHJ1c3QgaW4gZW51bV9jZXJ0aWZpY2F0ZXMoc3RvcmVuYW1lKToKQEAgLTQ4OCw2ICs1MTksMTQxIEBACiBfY3JlYXRlX3N0ZGxpYl9jb250ZXh0ID0gX2NyZWF0ZV91bnZlcmlmaWVkX2NvbnRleHQKIAogCitjbGFzcyBTU0xPYmplY3Q6CisgICAgIiIiVGhpcyBjbGFzcyBpbXBsZW1lbnRzIGFuIGludGVyZmFjZSBvbiB0b3Agb2YgYSBsb3ctbGV2ZWwgU1NMIG9iamVjdCBhcworICAgIGltcGxlbWVudGVkIGJ5IE9wZW5TU0wuIFRoaXMgb2JqZWN0IGNhcHR1cmVzIHRoZSBzdGF0ZSBvZiBhbiBTU0wgY29ubmVjdGlvbgorICAgIGJ1dCBkb2VzIG5vdCBwcm92aWRlIGFueSBuZXR3b3JrIElPIGl0c2VsZi4gSU8gbmVlZHMgdG8gYmUgcGVyZm9ybWVkCisgICAgdGhyb3VnaCBzZXBhcmF0ZSAiQklPIiBvYmplY3RzIHdoaWNoIGFyZSBPcGVuU1NMJ3MgSU8gYWJzdHJhY3Rpb24gbGF5ZXIuCisKKyAgICBUaGlzIGNsYXNzIGRvZXMgbm90IGhhdmUgYSBwdWJsaWMgY29uc3RydWN0b3IuIEluc3RhbmNlcyBhcmUgcmV0dXJuZWQgYnkKKyAgICBgYFNTTENvbnRleHQud3JhcF9iaW9gYC4gVGhpcyBjbGFzcyBpcyB0eXBpY2FsbHkgdXNlZCBieSBmcmFtZXdvcmsgYXV0aG9ycworICAgIHRoYXQgd2FudCB0byBpbXBsZW1lbnQgYXN5bmNocm9ub3VzIElPIGZvciBTU0wgdGhyb3VnaCBtZW1vcnkgYnVmZmVycy4KKworICAgIFdoZW4gY29tcGFyZWQgdG8gYGBTU0xTb2NrZXRgYCwgdGhpcyBvYmplY3QgbGFja3MgdGhlIGZvbGxvd2luZyBmZWF0dXJlczoKKworICAgICAqIEFueSBmb3JtIG9mIG5ldHdvcmsgSU8gaW5jbHVnaW5nIG1ldGhvZHMgc3VjaCBhcyBgYHJlY3ZgYCBhbmQgYGBzZW5kYGAuCisgICAgICogVGhlIGBgZG9faGFuZHNoYWtlX29uX2Nvbm5lY3RgYCBhbmQgYGBzdXBwcmVzc19yYWdnZWRfZW9mc2BgIG1hY2hpbmVyeS4KKyAgICAiIiIKKworICAgIGRlZiBfX2luaXRfXyhzZWxmLCBzc2xvYmosIG93bmVyPU5vbmUpOgorICAgICAgICBzZWxmLl9zc2xvYmogPSBzc2xvYmoKKyAgICAgICAgIyBOb3RlOiBfc3Nsb2JqIHRha2VzIGEgd2VhayByZWZlcmVuY2UgdG8gb3duZXIKKyAgICAgICAgc2VsZi5fc3Nsb2JqLm93bmVyID0gb3duZXIgb3Igc2VsZgorCisgICAgQHByb3BlcnR5CisgICAgZGVmIGNvbnRleHQoc2VsZik6CisgICAgICAgICIiIlRoZSBTU0xDb250ZXh0IHRoYXQgaXMgY3VycmVudGx5IGluIHVzZS4iIiIKKyAgICAgICAgcmV0dXJuIHNlbGYuX3NzbG9iai5jb250ZXh0CisKKyAgICBAY29udGV4dC5zZXR0ZXIKKyAgICBkZWYgY29udGV4dChzZWxmLCBjdHgpOgorICAgICAgICBzZWxmLl9zc2xvYmouY29udGV4dCA9IGN0eAorCisgICAgQHByb3BlcnR5CisgICAgZGVmIHNlcnZlcl9zaWRlKHNlbGYpOgorICAgICAgICAiIiJXaGV0aGVyIHRoaXMgaXMgYSBzZXJ2ZXItc2lkZSBzb2NrZXQuIiIiCisgICAgICAgIHJldHVybiBzZWxmLl9zc2xvYmouc2VydmVyX3NpZGUKKworICAgIEBwcm9wZXJ0eQorICAgIGRlZiBzZXJ2ZXJfaG9zdG5hbWUoc2VsZik6CisgICAgICAgICIiIlRoZSBjdXJyZW50bHkgc2V0IHNlcnZlciBob3N0bmFtZSAoZm9yIFNOSSksIG9yIGBgTm9uZWBgIGlmIG5vCisgICAgICAgIHNlcnZlciBob3N0YW1lIGlzIHNldC4iIiIKKyAgICAgICAgcmV0dXJuIHNlbGYuX3NzbG9iai5zZXJ2ZXJfaG9zdG5hbWUKKworICAgIGRlZiByZWFkKHNlbGYsIGxlbj0wLCBidWZmZXI9Tm9uZSk6CisgICAgICAgICIiIlJlYWQgdXAgdG8gJ2xlbicgYnl0ZXMgZnJvbSB0aGUgU1NMIG9iamVjdCBhbmQgcmV0dXJuIHRoZW0uCisKKyAgICAgICAgSWYgJ2J1ZmZlcicgaXMgcHJvdmlkZWQsIHJlYWQgaW50byB0aGlzIGJ1ZmZlciBhbmQgcmV0dXJuIHRoZSBudW1iZXIgb2YKKyAgICAgICAgYnl0ZXMgcmVhZC4KKyAgICAgICAgIiIiCisgICAgICAgIGlmIGJ1ZmZlciBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIHYgPSBzZWxmLl9zc2xvYmoucmVhZChsZW4sIGJ1ZmZlcikKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHYgPSBzZWxmLl9zc2xvYmoucmVhZChsZW4gb3IgMTAyNCkKKyAgICAgICAgcmV0dXJuIHYKKworICAgIGRlZiB3cml0ZShzZWxmLCBkYXRhKToKKyAgICAgICAgIiIiV3JpdGUgJ2RhdGEnIHRvIHRoZSBTU0wgb2JqZWN0IGFuZCByZXR1cm4gdGhlIG51bWJlciBvZiBieXRlcworICAgICAgICB3cml0dGVuLgorCisgICAgICAgIFRoZSAnZGF0YScgYXJndW1lbnQgbXVzdCBzdXBwb3J0IHRoZSBidWZmZXIgaW50ZXJmYWNlLgorICAgICAgICAiIiIKKyAgICAgICAgcmV0dXJuIHNlbGYuX3NzbG9iai53cml0ZShkYXRhKQorCisgICAgZGVmIGdldHBlZXJjZXJ0KHNlbGYsIGJpbmFyeV9mb3JtPUZhbHNlKToKKyAgICAgICAgIiIiUmV0dXJucyBhIGZvcm1hdHRlZCB2ZXJzaW9uIG9mIHRoZSBkYXRhIGluIHRoZSBjZXJ0aWZpY2F0ZSBwcm92aWRlZAorICAgICAgICBieSB0aGUgb3RoZXIgZW5kIG9mIHRoZSBTU0wgY2hhbm5lbC4KKworICAgICAgICBSZXR1cm4gTm9uZSBpZiBubyBjZXJ0aWZpY2F0ZSB3YXMgcHJvdmlkZWQsIHt9IGlmIGEgY2VydGlmaWNhdGUgd2FzCisgICAgICAgIHByb3ZpZGVkLCBidXQgbm90IHZhbGlkYXRlZC4KKyAgICAgICAgIiIiCisgICAgICAgIHJldHVybiBzZWxmLl9zc2xvYmoucGVlcl9jZXJ0aWZpY2F0ZShiaW5hcnlfZm9ybSkKKworICAgIGRlZiBzZWxlY3RlZF9ucG5fcHJvdG9jb2woc2VsZik6CisgICAgICAgICIiIlJldHVybiB0aGUgY3VycmVudGx5IHNlbGVjdGVkIE5QTiBwcm90b2NvbCBhcyBhIHN0cmluZywgb3IgYGBOb25lYGAKKyAgICAgICAgaWYgYSBuZXh0IHByb3RvY29sIHdhcyBub3QgbmVnb3RpYXRlZCBvciBpZiBOUE4gaXMgbm90IHN1cHBvcnRlZCBieSBvbmUKKyAgICAgICAgb2YgdGhlIHBlZXJzLiIiIgorICAgICAgICBpZiBfc3NsLkhBU19OUE46CisgICAgICAgICAgICByZXR1cm4gc2VsZi5fc3Nsb2JqLnNlbGVjdGVkX25wbl9wcm90b2NvbCgpCisKKyAgICBkZWYgc2VsZWN0ZWRfYWxwbl9wcm90b2NvbChzZWxmKToKKyAgICAgICAgIiIiUmV0dXJuIHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgQUxQTiBwcm90b2NvbCBhcyBhIHN0cmluZywgb3IgYGBOb25lYGAKKyAgICAgICAgaWYgYSBuZXh0IHByb3RvY29sIHdhcyBub3QgbmVnb3RpYXRlZCBvciBpZiBBTFBOIGlzIG5vdCBzdXBwb3J0ZWQgYnkgb25lCisgICAgICAgIG9mIHRoZSBwZWVycy4iIiIKKyAgICAgICAgaWYgX3NzbC5IQVNfQUxQTjoKKyAgICAgICAgICAgIHJldHVybiBzZWxmLl9zc2xvYmouc2VsZWN0ZWRfYWxwbl9wcm90b2NvbCgpCisKKyAgICBkZWYgY2lwaGVyKHNlbGYpOgorICAgICAgICAiIiJSZXR1cm4gdGhlIGN1cnJlbnRseSBzZWxlY3RlZCBjaXBoZXIgYXMgYSAzLXR1cGxlIGBgKG5hbWUsCisgICAgICAgIHNzbF92ZXJzaW9uLCBzZWNyZXRfYml0cylgYC4iIiIKKyAgICAgICAgcmV0dXJuIHNlbGYuX3NzbG9iai5jaXBoZXIoKQorCisgICAgZGVmIHNoYXJlZF9jaXBoZXJzKHNlbGYpOgorICAgICAgICAiIiJSZXR1cm4gYSBsaXN0IG9mIGNpcGhlcnMgc2hhcmVkIGJ5IHRoZSBjbGllbnQgZHVyaW5nIHRoZSBoYW5kc2hha2Ugb3IKKyAgICAgICAgTm9uZSBpZiB0aGlzIGlzIG5vdCBhIHZhbGlkIHNlcnZlciBjb25uZWN0aW9uLgorICAgICAgICAiIiIKKyAgICAgICAgcmV0dXJuIHNlbGYuX3NzbG9iai5zaGFyZWRfY2lwaGVycygpCisKKyAgICBkZWYgY29tcHJlc3Npb24oc2VsZik6CisgICAgICAgICIiIlJldHVybiB0aGUgY3VycmVudCBjb21wcmVzc2lvbiBhbGdvcml0aG0gaW4gdXNlLCBvciBgYE5vbmVgYCBpZgorICAgICAgICBjb21wcmVzc2lvbiB3YXMgbm90IG5lZ290aWF0ZWQgb3Igbm90IHN1cHBvcnRlZCBieSBvbmUgb2YgdGhlIHBlZXJzLiIiIgorICAgICAgICByZXR1cm4gc2VsZi5fc3Nsb2JqLmNvbXByZXNzaW9uKCkKKworICAgIGRlZiBwZW5kaW5nKHNlbGYpOgorICAgICAgICAiIiJSZXR1cm4gdGhlIG51bWJlciBvZiBieXRlcyB0aGF0IGNhbiBiZSByZWFkIGltbWVkaWF0ZWx5LiIiIgorICAgICAgICByZXR1cm4gc2VsZi5fc3Nsb2JqLnBlbmRpbmcoKQorCisgICAgZGVmIGRvX2hhbmRzaGFrZShzZWxmKToKKyAgICAgICAgIiIiU3RhcnQgdGhlIFNTTC9UTFMgaGFuZHNoYWtlLiIiIgorICAgICAgICBzZWxmLl9zc2xvYmouZG9faGFuZHNoYWtlKCkKKyAgICAgICAgaWYgc2VsZi5jb250ZXh0LmNoZWNrX2hvc3RuYW1lOgorICAgICAgICAgICAgaWYgbm90IHNlbGYuc2VydmVyX2hvc3RuYW1lOgorICAgICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoImNoZWNrX2hvc3RuYW1lIG5lZWRzIHNlcnZlcl9ob3N0bmFtZSAiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYXJndW1lbnQiKQorICAgICAgICAgICAgbWF0Y2hfaG9zdG5hbWUoc2VsZi5nZXRwZWVyY2VydCgpLCBzZWxmLnNlcnZlcl9ob3N0bmFtZSkKKworICAgIGRlZiB1bndyYXAoc2VsZik6CisgICAgICAgICIiIlN0YXJ0IHRoZSBTU0wgc2h1dGRvd24gaGFuZHNoYWtlLiIiIgorICAgICAgICByZXR1cm4gc2VsZi5fc3Nsb2JqLnNodXRkb3duKCkKKworICAgIGRlZiBnZXRfY2hhbm5lbF9iaW5kaW5nKHNlbGYsIGNiX3R5cGU9InRscy11bmlxdWUiKToKKyAgICAgICAgIiIiR2V0IGNoYW5uZWwgYmluZGluZyBkYXRhIGZvciBjdXJyZW50IGNvbm5lY3Rpb24uICBSYWlzZSBWYWx1ZUVycm9yCisgICAgICAgIGlmIHRoZSByZXF1ZXN0ZWQgYGNiX3R5cGVgIGlzIG5vdCBzdXBwb3J0ZWQuICBSZXR1cm4gYnl0ZXMgb2YgdGhlIGRhdGEKKyAgICAgICAgb3IgTm9uZSBpZiB0aGUgZGF0YSBpcyBub3QgYXZhaWxhYmxlIChlLmcuIGJlZm9yZSB0aGUgaGFuZHNoYWtlKS4iIiIKKyAgICAgICAgaWYgY2JfdHlwZSBub3QgaW4gQ0hBTk5FTF9CSU5ESU5HX1RZUEVTOgorICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiVW5zdXBwb3J0ZWQgY2hhbm5lbCBiaW5kaW5nIHR5cGUiKQorICAgICAgICBpZiBjYl90eXBlICE9ICJ0bHMtdW5pcXVlIjoKKyAgICAgICAgICAgIHJhaXNlIE5vdEltcGxlbWVudGVkRXJyb3IoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgInswfSBjaGFubmVsIGJpbmRpbmcgdHlwZSBub3QgaW1wbGVtZW50ZWQiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmZvcm1hdChjYl90eXBlKSkKKyAgICAgICAgcmV0dXJuIHNlbGYuX3NzbG9iai50bHNfdW5pcXVlX2NiKCkKKworICAgIGRlZiB2ZXJzaW9uKHNlbGYpOgorICAgICAgICAiIiJSZXR1cm4gYSBzdHJpbmcgaWRlbnRpZnlpbmcgdGhlIHByb3RvY29sIHZlcnNpb24gdXNlZCBieSB0aGUKKyAgICAgICAgY3VycmVudCBTU0wgY2hhbm5lbC4gIiIiCisgICAgICAgIHJldHVybiBzZWxmLl9zc2xvYmoudmVyc2lvbigpCisKKwogY2xhc3MgU1NMU29ja2V0KHNvY2tldCk6CiAgICAgIiIiVGhpcyBjbGFzcyBpbXBsZW1lbnRzIGEgc3VidHlwZSBvZiBzb2NrZXQuc29ja2V0IHRoYXQgd3JhcHMKICAgICB0aGUgdW5kZXJseWluZyBPUyBzb2NrZXQgaW4gYW4gU1NMIGNvbnRleHQgd2hlbiBuZWNlc3NhcnksIGFuZApAQCAtNTcwLDggKzczNiw5IEBACiAgICAgICAgIGlmIGNvbm5lY3RlZDoKICAgICAgICAgICAgICMgY3JlYXRlIHRoZSBTU0wgb2JqZWN0CiAgICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgc2VsZi5fc3Nsb2JqID0gc2VsZi5fY29udGV4dC5fd3JhcF9zb2NrZXQoc2VsZiwgc2VydmVyX3NpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJfaG9zdG5hbWUpCisgICAgICAgICAgICAgICAgc3Nsb2JqID0gc2VsZi5fY29udGV4dC5fd3JhcF9zb2NrZXQoc2VsZiwgc2VydmVyX3NpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VydmVyX2hvc3RuYW1lKQorICAgICAgICAgICAgICAgIHNlbGYuX3NzbG9iaiA9IFNTTE9iamVjdChzc2xvYmosIG93bmVyPXNlbGYpCiAgICAgICAgICAgICAgICAgaWYgZG9faGFuZHNoYWtlX29uX2Nvbm5lY3Q6CiAgICAgICAgICAgICAgICAgICAgIHRpbWVvdXQgPSBzZWxmLmdldHRpbWVvdXQoKQogICAgICAgICAgICAgICAgICAgICBpZiB0aW1lb3V0ID09IDAuMDoKQEAgLTYxNiwxMSArNzgzLDcgQEAKICAgICAgICAgaWYgbm90IHNlbGYuX3NzbG9iajoKICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIlJlYWQgb24gY2xvc2VkIG9yIHVud3JhcHBlZCBTU0wgc29ja2V0LiIpCiAgICAgICAgIHRyeToKLSAgICAgICAgICAgIGlmIGJ1ZmZlciBpcyBub3QgTm9uZToKLSAgICAgICAgICAgICAgICB2ID0gc2VsZi5fc3Nsb2JqLnJlYWQobGVuLCBidWZmZXIpCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIHYgPSBzZWxmLl9zc2xvYmoucmVhZChsZW4gb3IgMTAyNCkKLSAgICAgICAgICAgIHJldHVybiB2CisgICAgICAgICAgICByZXR1cm4gc2VsZi5fc3Nsb2JqLnJlYWQobGVuLCBidWZmZXIpCiAgICAgICAgIGV4Y2VwdCBTU0xFcnJvciBhcyB4OgogICAgICAgICAgICAgaWYgeC5hcmdzWzBdID09IFNTTF9FUlJPUl9FT0YgYW5kIHNlbGYuc3VwcHJlc3NfcmFnZ2VkX2VvZnM6CiAgICAgICAgICAgICAgICAgaWYgYnVmZmVyIGlzIG5vdCBOb25lOgpAQCAtNjQ3LDcgKzgxMCw3IEBACiAKICAgICAgICAgc2VsZi5fY2hlY2tDbG9zZWQoKQogICAgICAgICBzZWxmLl9jaGVja19jb25uZWN0ZWQoKQotICAgICAgICByZXR1cm4gc2VsZi5fc3Nsb2JqLnBlZXJfY2VydGlmaWNhdGUoYmluYXJ5X2Zvcm0pCisgICAgICAgIHJldHVybiBzZWxmLl9zc2xvYmouZ2V0cGVlcmNlcnQoYmluYXJ5X2Zvcm0pCiAKICAgICBkZWYgc2VsZWN0ZWRfbnBuX3Byb3RvY29sKHNlbGYpOgogICAgICAgICBzZWxmLl9jaGVja0Nsb3NlZCgpCkBAIC02NTYsNiArODE5LDEzIEBACiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICByZXR1cm4gc2VsZi5fc3Nsb2JqLnNlbGVjdGVkX25wbl9wcm90b2NvbCgpCiAKKyAgICBkZWYgc2VsZWN0ZWRfYWxwbl9wcm90b2NvbChzZWxmKToKKyAgICAgICAgc2VsZi5fY2hlY2tDbG9zZWQoKQorICAgICAgICBpZiBub3Qgc2VsZi5fc3Nsb2JqIG9yIG5vdCBfc3NsLkhBU19BTFBOOgorICAgICAgICAgICAgcmV0dXJuIE5vbmUKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHJldHVybiBzZWxmLl9zc2xvYmouc2VsZWN0ZWRfYWxwbl9wcm90b2NvbCgpCisKICAgICBkZWYgY2lwaGVyKHNlbGYpOgogICAgICAgICBzZWxmLl9jaGVja0Nsb3NlZCgpCiAgICAgICAgIGlmIG5vdCBzZWxmLl9zc2xvYmo6CkBAIC02NjMsNiArODMzLDEyIEBACiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICByZXR1cm4gc2VsZi5fc3Nsb2JqLmNpcGhlcigpCiAKKyAgICBkZWYgc2hhcmVkX2NpcGhlcnMoc2VsZik6CisgICAgICAgIHNlbGYuX2NoZWNrQ2xvc2VkKCkKKyAgICAgICAgaWYgbm90IHNlbGYuX3NzbG9iajoKKyAgICAgICAgICAgIHJldHVybiBOb25lCisgICAgICAgIHJldHVybiBzZWxmLl9zc2xvYmouc2hhcmVkX2NpcGhlcnMoKQorCiAgICAgZGVmIGNvbXByZXNzaW9uKHNlbGYpOgogICAgICAgICBzZWxmLl9jaGVja0Nsb3NlZCgpCiAgICAgICAgIGlmIG5vdCBzZWxmLl9zc2xvYmo6CkBAIC02NzcsMTcgKzg1Myw3IEBACiAgICAgICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigKICAgICAgICAgICAgICAgICAgICAgIm5vbi16ZXJvIGZsYWdzIG5vdCBhbGxvd2VkIGluIGNhbGxzIHRvIHNlbmQoKSBvbiAlcyIgJQogICAgICAgICAgICAgICAgICAgICBzZWxmLl9fY2xhc3NfXykKLSAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICB2ID0gc2VsZi5fc3Nsb2JqLndyaXRlKGRhdGEpCi0gICAgICAgICAgICBleGNlcHQgU1NMRXJyb3IgYXMgeDoKLSAgICAgICAgICAgICAgICBpZiB4LmFyZ3NbMF0gPT0gU1NMX0VSUk9SX1dBTlRfUkVBRDoKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDAKLSAgICAgICAgICAgICAgICBlbGlmIHguYXJnc1swXSA9PSBTU0xfRVJST1JfV0FOVF9XUklURToKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDAKLSAgICAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgICAgICByYWlzZQotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICByZXR1cm4gdgorICAgICAgICAgICAgcmV0dXJuIHNlbGYuX3NzbG9iai53cml0ZShkYXRhKQogICAgICAgICBlbHNlOgogICAgICAgICAgICAgcmV0dXJuIHNvY2tldC5zZW5kKHNlbGYsIGRhdGEsIGZsYWdzKQogCkBAIC03MjMsNiArODg5LDE2IEBACiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICByZXR1cm4gc29ja2V0LnNlbmRhbGwoc2VsZiwgZGF0YSwgZmxhZ3MpCiAKKyAgICBkZWYgc2VuZGZpbGUoc2VsZiwgZmlsZSwgb2Zmc2V0PTAsIGNvdW50PU5vbmUpOgorICAgICAgICAiIiJTZW5kIGEgZmlsZSwgcG9zc2libHkgYnkgdXNpbmcgb3Muc2VuZGZpbGUoKSBpZiB0aGlzIGlzIGEKKyAgICAgICAgY2xlYXItdGV4dCBzb2NrZXQuICBSZXR1cm4gdGhlIHRvdGFsIG51bWJlciBvZiBieXRlcyBzZW50LgorICAgICAgICAiIiIKKyAgICAgICAgaWYgc2VsZi5fc3Nsb2JqIGlzIE5vbmU6CisgICAgICAgICAgICAjIG9zLnNlbmRmaWxlKCkgd29ya3Mgd2l0aCBwbGFpbiBzb2NrZXRzIG9ubHkKKyAgICAgICAgICAgIHJldHVybiBzdXBlcigpLnNlbmRmaWxlKGZpbGUsIG9mZnNldCwgY291bnQpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICByZXR1cm4gc2VsZi5fc2VuZGZpbGVfdXNlX3NlbmQoZmlsZSwgb2Zmc2V0LCBjb3VudCkKKwogICAgIGRlZiByZWN2KHNlbGYsIGJ1Zmxlbj0xMDI0LCBmbGFncz0wKToKICAgICAgICAgc2VsZi5fY2hlY2tDbG9zZWQoKQogICAgICAgICBpZiBzZWxmLl9zc2xvYmo6CkBAIC03ODcsNyArOTYzLDcgQEAKIAogICAgIGRlZiB1bndyYXAoc2VsZik6CiAgICAgICAgIGlmIHNlbGYuX3NzbG9iajoKLSAgICAgICAgICAgIHMgPSBzZWxmLl9zc2xvYmouc2h1dGRvd24oKQorICAgICAgICAgICAgcyA9IHNlbGYuX3NzbG9iai51bndyYXAoKQogICAgICAgICAgICAgc2VsZi5fc3Nsb2JqID0gTm9uZQogICAgICAgICAgICAgcmV0dXJuIHMKICAgICAgICAgZWxzZToKQEAgLTgwOCwxMiArOTg0LDYgQEAKICAgICAgICAgZmluYWxseToKICAgICAgICAgICAgIHNlbGYuc2V0dGltZW91dCh0aW1lb3V0KQogCi0gICAgICAgIGlmIHNlbGYuY29udGV4dC5jaGVja19ob3N0bmFtZToKLSAgICAgICAgICAgIGlmIG5vdCBzZWxmLnNlcnZlcl9ob3N0bmFtZToKLSAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJjaGVja19ob3N0bmFtZSBuZWVkcyBzZXJ2ZXJfaG9zdG5hbWUgIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFyZ3VtZW50IikKLSAgICAgICAgICAgIG1hdGNoX2hvc3RuYW1lKHNlbGYuZ2V0cGVlcmNlcnQoKSwgc2VsZi5zZXJ2ZXJfaG9zdG5hbWUpCi0KICAgICBkZWYgX3JlYWxfY29ubmVjdChzZWxmLCBhZGRyLCBjb25uZWN0X2V4KToKICAgICAgICAgaWYgc2VsZi5zZXJ2ZXJfc2lkZToKICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoImNhbid0IGNvbm5lY3QgaW4gc2VydmVyLXNpZGUgbW9kZSIpCkBAIC04MjEsNyArOTkxLDggQEAKICAgICAgICAgIyBjb25uZWN0ZWQgYXQgdGhlIHRpbWUgb2YgdGhlIGNhbGwuICBXZSBjb25uZWN0IGl0LCB0aGVuIHdyYXAgaXQuCiAgICAgICAgIGlmIHNlbGYuX2Nvbm5lY3RlZDoKICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoImF0dGVtcHQgdG8gY29ubmVjdCBhbHJlYWR5LWNvbm5lY3RlZCBTU0xTb2NrZXQhIikKLSAgICAgICAgc2VsZi5fc3Nsb2JqID0gc2VsZi5jb250ZXh0Ll93cmFwX3NvY2tldChzZWxmLCBGYWxzZSwgc2VsZi5zZXJ2ZXJfaG9zdG5hbWUpCisgICAgICAgIHNzbG9iaiA9IHNlbGYuY29udGV4dC5fd3JhcF9zb2NrZXQoc2VsZiwgRmFsc2UsIHNlbGYuc2VydmVyX2hvc3RuYW1lKQorICAgICAgICBzZWxmLl9zc2xvYmogPSBTU0xPYmplY3Qoc3Nsb2JqLCBvd25lcj1zZWxmKQogICAgICAgICB0cnk6CiAgICAgICAgICAgICBpZiBjb25uZWN0X2V4OgogICAgICAgICAgICAgICAgIHJjID0gc29ja2V0LmNvbm5lY3RfZXgoc2VsZiwgYWRkcikKQEAgLTg2NCwxNSArMTAzNSwxOCBAQAogICAgICAgICBpZiB0aGUgcmVxdWVzdGVkIGBjYl90eXBlYCBpcyBub3Qgc3VwcG9ydGVkLiAgUmV0dXJuIGJ5dGVzIG9mIHRoZSBkYXRhCiAgICAgICAgIG9yIE5vbmUgaWYgdGhlIGRhdGEgaXMgbm90IGF2YWlsYWJsZSAoZS5nLiBiZWZvcmUgdGhlIGhhbmRzaGFrZSkuCiAgICAgICAgICIiIgotICAgICAgICBpZiBjYl90eXBlIG5vdCBpbiBDSEFOTkVMX0JJTkRJTkdfVFlQRVM6Ci0gICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJVbnN1cHBvcnRlZCBjaGFubmVsIGJpbmRpbmcgdHlwZSIpCi0gICAgICAgIGlmIGNiX3R5cGUgIT0gInRscy11bmlxdWUiOgotICAgICAgICAgICAgcmFpc2UgTm90SW1wbGVtZW50ZWRFcnJvcigKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiezB9IGNoYW5uZWwgYmluZGluZyB0eXBlIG5vdCBpbXBsZW1lbnRlZCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZm9ybWF0KGNiX3R5cGUpKQogICAgICAgICBpZiBzZWxmLl9zc2xvYmogaXMgTm9uZToKICAgICAgICAgICAgIHJldHVybiBOb25lCi0gICAgICAgIHJldHVybiBzZWxmLl9zc2xvYmoudGxzX3VuaXF1ZV9jYigpCisgICAgICAgIHJldHVybiBzZWxmLl9zc2xvYmouZ2V0X2NoYW5uZWxfYmluZGluZyhjYl90eXBlKQorCisgICAgZGVmIHZlcnNpb24oc2VsZik6CisgICAgICAgICIiIgorICAgICAgICBSZXR1cm4gYSBzdHJpbmcgaWRlbnRpZnlpbmcgdGhlIHByb3RvY29sIHZlcnNpb24gdXNlZCBieSB0aGUKKyAgICAgICAgY3VycmVudCBTU0wgY2hhbm5lbCwgb3IgTm9uZSBpZiB0aGVyZSBpcyBubyBlc3RhYmxpc2hlZCBjaGFubmVsLgorICAgICAgICAiIiIKKyAgICAgICAgaWYgc2VsZi5fc3Nsb2JqIGlzIE5vbmU6CisgICAgICAgICAgICByZXR1cm4gTm9uZQorICAgICAgICByZXR1cm4gc2VsZi5fc3Nsb2JqLnZlcnNpb24oKQogCiAKIGRlZiB3cmFwX3NvY2tldChzb2NrLCBrZXlmaWxlPU5vbmUsIGNlcnRmaWxlPU5vbmUsCkBAIC04OTIsMTIgKzEwNjYsMzQgQEAKICMgc29tZSB1dGlsaXR5IGZ1bmN0aW9ucwogCiBkZWYgY2VydF90aW1lX3RvX3NlY29uZHMoY2VydF90aW1lKToKLSAgICAiIiJUYWtlcyBhIGRhdGUtdGltZSBzdHJpbmcgaW4gc3RhbmRhcmQgQVNOMV9wcmludCBmb3JtCi0gICAgKCJNT04gREFZIDI0SE9VUjpNSU5VVEU6U0VDIFlFQVIgVElNRVpPTkUiKSBhbmQgcmV0dXJuCi0gICAgYSBQeXRob24gdGltZSB2YWx1ZSBpbiBzZWNvbmRzIHBhc3QgdGhlIGVwb2NoLiIiIgorICAgICIiIlJldHVybiB0aGUgdGltZSBpbiBzZWNvbmRzIHNpbmNlIHRoZSBFcG9jaCwgZ2l2ZW4gdGhlIHRpbWVzdHJpbmcKKyAgICByZXByZXNlbnRpbmcgdGhlICJub3RCZWZvcmUiIG9yICJub3RBZnRlciIgZGF0ZSBmcm9tIGEgY2VydGlmaWNhdGUKKyAgICBpbiBgYCIlYiAlZCAlSDolTTolUyAlWSAlWiJgYCBzdHJwdGltZSBmb3JtYXQgKEMgbG9jYWxlKS4KIAotICAgIGltcG9ydCB0aW1lCi0gICAgcmV0dXJuIHRpbWUubWt0aW1lKHRpbWUuc3RycHRpbWUoY2VydF90aW1lLCAiJWIgJWQgJUg6JU06JVMgJVkgR01UIikpCisgICAgIm5vdEJlZm9yZSIgb3IgIm5vdEFmdGVyIiBkYXRlcyBtdXN0IHVzZSBVVEMgKFJGQyA1MjgwKS4KKworICAgIE1vbnRoIGlzIG9uZSBvZjogSmFuIEZlYiBNYXIgQXByIE1heSBKdW4gSnVsIEF1ZyBTZXAgT2N0IE5vdiBEZWMKKyAgICBVVEMgc2hvdWxkIGJlIHNwZWNpZmllZCBhcyBHTVQgKHNlZSBBU04xX1RJTUVfcHJpbnQoKSkKKyAgICAiIiIKKyAgICBmcm9tIHRpbWUgaW1wb3J0IHN0cnB0aW1lCisgICAgZnJvbSBjYWxlbmRhciBpbXBvcnQgdGltZWdtCisKKyAgICBtb250aHMgPSAoCisgICAgICAgICJKYW4iLCJGZWIiLCJNYXIiLCJBcHIiLCJNYXkiLCJKdW4iLAorICAgICAgICAiSnVsIiwiQXVnIiwiU2VwIiwiT2N0IiwiTm92IiwiRGVjIgorICAgICkKKyAgICB0aW1lX2Zvcm1hdCA9ICcgJWQgJUg6JU06JVMgJVkgR01UJyAjIE5PVEU6IG5vIG1vbnRoLCBmaXhlZCBHTVQKKyAgICB0cnk6CisgICAgICAgIG1vbnRoX251bWJlciA9IG1vbnRocy5pbmRleChjZXJ0X3RpbWVbOjNdLnRpdGxlKCkpICsgMQorICAgIGV4Y2VwdCBWYWx1ZUVycm9yOgorICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCd0aW1lIGRhdGEgJXIgZG9lcyBub3QgbWF0Y2ggJworICAgICAgICAgICAgICAgICAgICAgICAgICdmb3JtYXQgIiUlYiVzIicgJSAoY2VydF90aW1lLCB0aW1lX2Zvcm1hdCkpCisgICAgZWxzZToKKyAgICAgICAgIyBmb3VuZCB2YWxpZCBtb250aAorICAgICAgICB0dCA9IHN0cnB0aW1lKGNlcnRfdGltZVszOl0sIHRpbWVfZm9ybWF0KQorICAgICAgICAjIHJldHVybiBhbiBpbnRlZ2VyLCB0aGUgcHJldmlvdXMgbWt0aW1lKCktYmFzZWQgaW1wbGVtZW50YXRpb24KKyAgICAgICAgIyByZXR1cm5lZCBhIGZsb2F0IChmcmFjdGlvbmFsIHNlY29uZHMgYXJlIGFsd2F5cyB6ZXJvIGhlcmUpLgorICAgICAgICByZXR1cm4gdGltZWdtKCh0dFswXSwgbW9udGhfbnVtYmVyKSArIHR0WzI6Nl0pCiAKIFBFTV9IRUFERVIgPSAiLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tIgogUEVNX0ZPT1RFUiA9ICItLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tIgpkaWZmIC0tZ2l0IGEvTGliL3N0YXQucHkgYi9MaWIvc3RhdC5weQppbmRleCAzZWVjYzNlLi40NjgzN2MwIDEwMDY0NAotLS0gYS9MaWIvc3RhdC5weQorKysgYi9MaWIvc3RhdC5weQpAQCAtMTQ4LDYgKzE0OCwyOSBAQAogICAgICAgICAgICAgcGVybS5hcHBlbmQoIi0iKQogICAgIHJldHVybiAiIi5qb2luKHBlcm0pCiAKKworIyBXaW5kb3dzIEZJTEVfQVRUUklCVVRFIGNvbnN0YW50cyBmb3IgaW50ZXJwcmV0aW5nIG9zLnN0YXQoKSdzCisjICJzdF9maWxlX2F0dHJpYnV0ZXMiIG1lbWJlcgorCitGSUxFX0FUVFJJQlVURV9BUkNISVZFID0gMzIKK0ZJTEVfQVRUUklCVVRFX0NPTVBSRVNTRUQgPSAyMDQ4CitGSUxFX0FUVFJJQlVURV9ERVZJQ0UgPSA2NAorRklMRV9BVFRSSUJVVEVfRElSRUNUT1JZID0gMTYKK0ZJTEVfQVRUUklCVVRFX0VOQ1JZUFRFRCA9IDE2Mzg0CitGSUxFX0FUVFJJQlVURV9ISURERU4gPSAyCitGSUxFX0FUVFJJQlVURV9JTlRFR1JJVFlfU1RSRUFNID0gMzI3NjgKK0ZJTEVfQVRUUklCVVRFX05PUk1BTCA9IDEyOAorRklMRV9BVFRSSUJVVEVfTk9UX0NPTlRFTlRfSU5ERVhFRCA9IDgxOTIKK0ZJTEVfQVRUUklCVVRFX05PX1NDUlVCX0RBVEEgPSAxMzEwNzIKK0ZJTEVfQVRUUklCVVRFX09GRkxJTkUgPSA0MDk2CitGSUxFX0FUVFJJQlVURV9SRUFET05MWSA9IDEKK0ZJTEVfQVRUUklCVVRFX1JFUEFSU0VfUE9JTlQgPSAxMDI0CitGSUxFX0FUVFJJQlVURV9TUEFSU0VfRklMRSA9IDUxMgorRklMRV9BVFRSSUJVVEVfU1lTVEVNID0gNAorRklMRV9BVFRSSUJVVEVfVEVNUE9SQVJZID0gMjU2CitGSUxFX0FUVFJJQlVURV9WSVJUVUFMID0gNjU1MzYKKworCiAjIElmIGF2YWlsYWJsZSwgdXNlIEMgaW1wbGVtZW50YXRpb24KIHRyeToKICAgICBmcm9tIF9zdGF0IGltcG9ydCAqCmRpZmYgLS1naXQgYS9MaWIvc3RhdGlzdGljcy5weSBiL0xpYi9zdGF0aXN0aWNzLnB5CmluZGV4IDI1YTI2ZDQuLjM5NzJlZDIgMTAwNjQ0Ci0tLSBhL0xpYi9zdGF0aXN0aWNzLnB5CisrKyBiL0xpYi9zdGF0aXN0aWNzLnB5CkBAIC0xNTAsNyArMTUwLDcgQEAKICAgICAjIFdlIGZhaWwgYXMgc29vbiBhcyB3ZSByZWFjaCBhIHZhbHVlIHRoYXQgaXMgbm90IGFuIGludCBvciB0aGUgdHlwZSBvZgogICAgICMgdGhlIGZpcnN0IHZhbHVlIHdoaWNoIGlzIG5vdCBhbiBpbnQuIEUuZy4gX3N1bShbaW50LCBpbnQsIGZsb2F0LCBpbnRdKQogICAgICMgaXMgb2theSwgYnV0IHN1bShbaW50LCBpbnQsIGZsb2F0LCBGcmFjdGlvbl0pIGlzIG5vdC4KLSAgICBhbGxvd2VkX3R5cGVzID0gc2V0KFtpbnQsIHR5cGUoc3RhcnQpXSkKKyAgICBhbGxvd2VkX3R5cGVzID0ge2ludCwgdHlwZShzdGFydCl9CiAgICAgbiwgZCA9IF9leGFjdF9yYXRpbyhzdGFydCkKICAgICBwYXJ0aWFscyA9IHtkOiBufSAgIyBtYXAge2Rlbm9taW5hdG9yOiBzdW0gb2YgbnVtZXJhdG9yc30KICAgICAjIE1pY3JvLW9wdGltaXphdGlvbnMuCkBAIC0xNjgsNyArMTY4LDcgQEAKICAgICAgICAgYXNzZXJ0IGFsbG93ZWRfdHlwZXMucG9wKCkgaXMgaW50CiAgICAgICAgIFQgPSBpbnQKICAgICBlbHNlOgotICAgICAgICBUID0gKGFsbG93ZWRfdHlwZXMgLSBzZXQoW2ludF0pKS5wb3AoKQorICAgICAgICBUID0gKGFsbG93ZWRfdHlwZXMgLSB7aW50fSkucG9wKCkKICAgICBpZiBOb25lIGluIHBhcnRpYWxzOgogICAgICAgICBhc3NlcnQgaXNzdWJjbGFzcyhULCAoZmxvYXQsIERlY2ltYWwpKQogICAgICAgICBhc3NlcnQgbm90IG1hdGguaXNmaW5pdGUocGFydGlhbHNbTm9uZV0pCmRpZmYgLS1naXQgYS9MaWIvc3VicHJvY2Vzcy5weSBiL0xpYi9zdWJwcm9jZXNzLnB5CmluZGV4IGYxMWU1MzguLjZkMmM0ZjUgMTAwNjQ0Ci0tLSBhL0xpYi9zdWJwcm9jZXNzLnB5CisrKyBiL0xpYi9zdWJwcm9jZXNzLnB5CkBAIC0xMDQsMTcgKzEwNCwyMSBAQAogSWYgZW52IGlzIG5vdCBOb25lLCBpdCBkZWZpbmVzIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZXMgZm9yIHRoZSBuZXcKIHByb2Nlc3MuCiAKLUlmIHVuaXZlcnNhbF9uZXdsaW5lcyBpcyBmYWxzZSwgdGhlIGZpbGUgb2JqZWN0cyBzdGRpbiwgc3Rkb3V0IGFuZCBzdGRlcnIKK0lmIHVuaXZlcnNhbF9uZXdsaW5lcyBpcyBGYWxzZSwgdGhlIGZpbGUgb2JqZWN0cyBzdGRpbiwgc3Rkb3V0IGFuZCBzdGRlcnIKIGFyZSBvcGVuZWQgYXMgYmluYXJ5IGZpbGVzLCBhbmQgbm8gbGluZSBlbmRpbmcgY29udmVyc2lvbiBpcyBkb25lLgogCi1JZiB1bml2ZXJzYWxfbmV3bGluZXMgaXMgdHJ1ZSwgdGhlIGZpbGUgb2JqZWN0cyBzdGRvdXQgYW5kIHN0ZGVyciBhcmUKLW9wZW5lZCBhcyBhIHRleHQgZmlsZXMsIGJ1dCBsaW5lcyBtYXkgYmUgdGVybWluYXRlZCBieSBhbnkgb2YgJ1xuJywKK0lmIHVuaXZlcnNhbF9uZXdsaW5lcyBpcyBUcnVlLCB0aGUgZmlsZSBvYmplY3RzIHN0ZG91dCBhbmQgc3RkZXJyIGFyZQorb3BlbmVkIGFzIGEgdGV4dCBmaWxlLCBidXQgbGluZXMgbWF5IGJlIHRlcm1pbmF0ZWQgYnkgYW55IG9mICdcbicsCiB0aGUgVW5peCBlbmQtb2YtbGluZSBjb252ZW50aW9uLCAnXHInLCB0aGUgb2xkIE1hY2ludG9zaCBjb252ZW50aW9uIG9yCiAnXHJcbicsIHRoZSBXaW5kb3dzIGNvbnZlbnRpb24uICBBbGwgb2YgdGhlc2UgZXh0ZXJuYWwgcmVwcmVzZW50YXRpb25zCiBhcmUgc2VlbiBhcyAnXG4nIGJ5IHRoZSBQeXRob24gcHJvZ3JhbS4gIEFsc28sIHRoZSBuZXdsaW5lcyBhdHRyaWJ1dGUKIG9mIHRoZSBmaWxlIG9iamVjdHMgc3Rkb3V0LCBzdGRpbiBhbmQgc3RkZXJyIGFyZSBub3QgdXBkYXRlZCBieSB0aGUKIGNvbW11bmljYXRlKCkgbWV0aG9kLgogCitJbiBlaXRoZXIgY2FzZSwgdGhlIHByb2Nlc3MgYmVpbmcgY29tbXVuaWNhdGVkIHdpdGggc2hvdWxkIHN0YXJ0IHVwCitleHBlY3RpbmcgdG8gcmVjZWl2ZSBieXRlcyBvbiBpdHMgc3RhbmRhcmQgaW5wdXQgYW5kIGRlY29kZSB0aGVtIHdpdGgKK3RoZSBzYW1lIGVuY29kaW5nIHRoZXkgYXJlIHNlbnQgaW4uCisKIFRoZSBzdGFydHVwaW5mbyBhbmQgY3JlYXRpb25mbGFncywgaWYgZ2l2ZW4sIHdpbGwgYmUgcGFzc2VkIHRvIHRoZQogdW5kZXJseWluZyBDcmVhdGVQcm9jZXNzKCkgZnVuY3Rpb24uICBUaGV5IGNhbiBzcGVjaWZ5IHRoaW5ncyBzdWNoIGFzCiBhcHBlYXJhbmNlIG9mIHRoZSBtYWluIHdpbmRvdyBhbmQgcHJpb3JpdHkgZm9yIHRoZSBuZXcgcHJvY2Vzcy4KQEAgLTE4NCw2ICsxODgsOSBAQAogICAgIHBhc3MgYSBzdHJpbmcgdG8gdGhlIHN1YnByb2Nlc3MncyBzdGRpbi4gIElmIHlvdSB1c2UgdGhpcyBhcmd1bWVudAogICAgIHlvdSBtYXkgbm90IGFsc28gdXNlIHRoZSBQb3BlbiBjb25zdHJ1Y3RvcidzICJzdGRpbiIgYXJndW1lbnQuCiAKKyAgICBJZiB1bml2ZXJzYWxfbmV3bGluZXMgaXMgc2V0IHRvIFRydWUsIHRoZSAiaW5wdXQiIGFyZ3VtZW50IG11c3QKKyAgICBiZSBhIHN0cmluZyByYXRoZXIgdGhhbiBieXRlcywgYW5kIHRoZSByZXR1cm4gdmFsdWUgd2lsbCBiZSBhIHN0cmluZy4KKwogRXhjZXB0aW9ucwogLS0tLS0tLS0tLQogRXhjZXB0aW9ucyByYWlzZWQgaW4gdGhlIGNoaWxkIHByb2Nlc3MsIGJlZm9yZSB0aGUgbmV3IHByb2dyYW0gaGFzCkBAIC0yMjUsOSArMjMyLDEzIEBACiBjb21tdW5pY2F0ZShpbnB1dD1Ob25lKQogICAgIEludGVyYWN0IHdpdGggcHJvY2VzczogU2VuZCBkYXRhIHRvIHN0ZGluLiAgUmVhZCBkYXRhIGZyb20gc3Rkb3V0CiAgICAgYW5kIHN0ZGVyciwgdW50aWwgZW5kLW9mLWZpbGUgaXMgcmVhY2hlZC4gIFdhaXQgZm9yIHByb2Nlc3MgdG8KLSAgICB0ZXJtaW5hdGUuICBUaGUgb3B0aW9uYWwgaW5wdXQgYXJndW1lbnQgc2hvdWxkIGJlIGEgc3RyaW5nIHRvIGJlCisgICAgdGVybWluYXRlLiAgVGhlIG9wdGlvbmFsIGlucHV0IGFyZ3VtZW50IHNob3VsZCBiZSBkYXRhIHRvIGJlCiAgICAgc2VudCB0byB0aGUgY2hpbGQgcHJvY2Vzcywgb3IgTm9uZSwgaWYgbm8gZGF0YSBzaG91bGQgYmUgc2VudCB0bwotICAgIHRoZSBjaGlsZC4KKyAgICB0aGUgY2hpbGQuIElmIHRoZSBQb3BlbiBpbnN0YW5jZSB3YXMgY29uc3RydWN0ZWQgd2l0aCB1bml2ZXJzYWxfbmV3bGluZXMKKyAgICBzZXQgdG8gVHJ1ZSwgdGhlIGlucHV0IGFyZ3VtZW50IHNob3VsZCBiZSBhIHN0cmluZyBhbmQgd2lsbCBiZSBlbmNvZGVkCisgICAgdXNpbmcgdGhlIHByZWZlcnJlZCBzeXN0ZW0gZW5jb2RpbmcgKHNlZSBsb2NhbGUuZ2V0cHJlZmVycmVkZW5jb2RpbmcpOworICAgIGlmIHVuaXZlcnNhbF9uZXdsaW5lcyBpcyBGYWxzZSwgdGhlIGlucHV0IGFyZ3VtZW50IHNob3VsZCBiZSBhCisgICAgYnl0ZSBzdHJpbmcuCiAKICAgICBjb21tdW5pY2F0ZSgpIHJldHVybnMgYSB0dXBsZSAoc3Rkb3V0LCBzdGRlcnIpLgogCkBAIC0zNTQsMTAgKzM2NSw3IEBACiBpbXBvcnQgYnVpbHRpbnMKIGltcG9ydCB3YXJuaW5ncwogaW1wb3J0IGVycm5vCi10cnk6Ci0gICAgZnJvbSB0aW1lIGltcG9ydCBtb25vdG9uaWMgYXMgX3RpbWUKLWV4Y2VwdCBJbXBvcnRFcnJvcjoKLSAgICBmcm9tIHRpbWUgaW1wb3J0IHRpbWUgYXMgX3RpbWUKK2Zyb20gdGltZSBpbXBvcnQgbW9ub3RvbmljIGFzIF90aW1lCiAKICMgRXhjZXB0aW9uIGNsYXNzZXMgdXNlZCBieSB0aGlzIG1vZHVsZS4KIGNsYXNzIFN1YnByb2Nlc3NFcnJvcihFeGNlcHRpb24pOiBwYXNzCkBAIC00NTMsMTUgKzQ2MSwxMSBAQAogICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiYWxyZWFkeSBjbG9zZWQiKQogCiAgICAgICAgIGRlZiBfX3JlcHJfXyhzZWxmKToKLSAgICAgICAgICAgIHJldHVybiAiSGFuZGxlKCVkKSIgJSBpbnQoc2VsZikKKyAgICAgICAgICAgIHJldHVybiAiJXMoJWQpIiAlIChzZWxmLl9fY2xhc3NfXy5fX25hbWVfXywgaW50KHNlbGYpKQogCiAgICAgICAgIF9fZGVsX18gPSBDbG9zZQogICAgICAgICBfX3N0cl9fID0gX19yZXByX18KIAotdHJ5OgotICAgIE1BWEZEID0gb3Muc3lzY29uZigiU0NfT1BFTl9NQVgiKQotZXhjZXB0OgotICAgIE1BWEZEID0gMjU2CiAKICMgVGhpcyBsaXN0cyBob2xkcyBQb3BlbiBpbnN0YW5jZXMgZm9yIHdoaWNoIHRoZSB1bmRlcmx5aW5nIHByb2Nlc3MgaGFkIG5vdAogIyBleGl0ZWQgYXQgdGhlIHRpbWUgaXRzIF9fZGVsX18gbWV0aG9kIGdvdCBjYWxsZWQ6IHRob3NlIHByb2Nlc3NlcyBhcmUgd2FpdCgpZWQKQEAgLTQ4NSwxNCArNDg5LDYgQEAKIERFVk5VTEwgPSAtMwogCiAKLWRlZiBfZWludHJfcmV0cnlfY2FsbChmdW5jLCAqYXJncyk6Ci0gICAgd2hpbGUgVHJ1ZToKLSAgICAgICAgdHJ5OgotICAgICAgICAgICAgcmV0dXJuIGZ1bmMoKmFyZ3MpCi0gICAgICAgIGV4Y2VwdCBJbnRlcnJ1cHRlZEVycm9yOgotICAgICAgICAgICAgY29udGludWUKLQotCiAjIFhYWCBUaGlzIGZ1bmN0aW9uIGlzIG9ubHkgdXNlZCBieSBtdWx0aXByb2Nlc3NpbmcgYW5kIHRoZSB0ZXN0IHN1aXRlLAogIyBidXQgaXQncyBoZXJlIHNvIHRoYXQgaXQgY2FuIGJlIGltcG9ydGVkIHdoZW4gUHl0aG9uIGlzIGNvbXBpbGVkIHdpdGhvdXQKICMgdGhyZWFkcy4KQEAgLTU5MSw4ICs1ODcsOCBAQAogICAgIC4uLiAgICAgICAgICAgICAgaW5wdXQ9YiJ3aGVuIGluIHRoZSBjb3Vyc2Ugb2YgZm9vbWFuIGV2ZW50c1xuIikKICAgICBiJ3doZW4gaW4gdGhlIGNvdXJzZSBvZiBiYXJtYW4gZXZlbnRzXG4nCiAKLSAgICBJZiB1bml2ZXJzYWxfbmV3bGluZXM9VHJ1ZSBpcyBwYXNzZWQsIHRoZSByZXR1cm4gdmFsdWUgd2lsbCBiZSBhCi0gICAgc3RyaW5nIHJhdGhlciB0aGFuIGJ5dGVzLgorICAgIElmIHVuaXZlcnNhbF9uZXdsaW5lcz1UcnVlIGlzIHBhc3NlZCwgdGhlICJpbnB1dCIgYXJndW1lbnQgbXVzdCBiZSBhCisgICAgc3RyaW5nIGFuZCB0aGUgcmV0dXJuIHZhbHVlIHdpbGwgYmUgYSBzdHJpbmcgcmF0aGVyIHRoYW4gYnl0ZXMuCiAgICAgIiIiCiAgICAgaWYgJ3N0ZG91dCcgaW4ga3dhcmdzOgogICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCdzdGRvdXQgYXJndW1lbnQgbm90IGFsbG93ZWQsIGl0IHdpbGwgYmUgb3ZlcnJpZGRlbi4nKQpAQCAtOTE4LDE0ICs5MTQsMzUgQEAKICAgICAgICAgICAgIHNlbGYuX2Rldm51bGwgPSBvcy5vcGVuKG9zLmRldm51bGwsIG9zLk9fUkRXUikKICAgICAgICAgcmV0dXJuIHNlbGYuX2Rldm51bGwKIAorICAgIGRlZiBfc3RkaW5fd3JpdGUoc2VsZiwgaW5wdXQpOgorICAgICAgICBpZiBpbnB1dDoKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICBzZWxmLnN0ZGluLndyaXRlKGlucHV0KQorICAgICAgICAgICAgZXhjZXB0IEJyb2tlblBpcGVFcnJvcjoKKyAgICAgICAgICAgICAgICAjIGNvbW11bmljYXRlKCkgbXVzdCBpZ25vcmUgYnJva2VuIHBpcGUgZXJyb3IKKyAgICAgICAgICAgICAgICBwYXNzCisgICAgICAgICAgICBleGNlcHQgT1NFcnJvciBhcyBlOgorICAgICAgICAgICAgICAgIGlmIGUuZXJybm8gPT0gZXJybm8uRUlOVkFMIGFuZCBzZWxmLnBvbGwoKSBpcyBub3QgTm9uZToKKyAgICAgICAgICAgICAgICAgICAgIyBJc3N1ZSAjMTk2MTI6IE9uIFdpbmRvd3MsIHN0ZGluLndyaXRlKCkgZmFpbHMgd2l0aCBFSU5WQUwKKyAgICAgICAgICAgICAgICAgICAgIyBpZiB0aGUgcHJvY2VzcyBhbHJlYWR5IGV4aXRlZCBiZWZvcmUgdGhlIHdyaXRlCisgICAgICAgICAgICAgICAgICAgIHBhc3MKKyAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICByYWlzZQorICAgICAgICBzZWxmLnN0ZGluLmNsb3NlKCkKKwogICAgIGRlZiBjb21tdW5pY2F0ZShzZWxmLCBpbnB1dD1Ob25lLCB0aW1lb3V0PU5vbmUpOgogICAgICAgICAiIiJJbnRlcmFjdCB3aXRoIHByb2Nlc3M6IFNlbmQgZGF0YSB0byBzdGRpbi4gIFJlYWQgZGF0YSBmcm9tCiAgICAgICAgIHN0ZG91dCBhbmQgc3RkZXJyLCB1bnRpbCBlbmQtb2YtZmlsZSBpcyByZWFjaGVkLiAgV2FpdCBmb3IKLSAgICAgICAgcHJvY2VzcyB0byB0ZXJtaW5hdGUuICBUaGUgb3B0aW9uYWwgaW5wdXQgYXJndW1lbnQgc2hvdWxkIGJlCi0gICAgICAgIGJ5dGVzIHRvIGJlIHNlbnQgdG8gdGhlIGNoaWxkIHByb2Nlc3MsIG9yIE5vbmUsIGlmIG5vIGRhdGEKLSAgICAgICAgc2hvdWxkIGJlIHNlbnQgdG8gdGhlIGNoaWxkLgorICAgICAgICBwcm9jZXNzIHRvIHRlcm1pbmF0ZS4KIAotICAgICAgICBjb21tdW5pY2F0ZSgpIHJldHVybnMgYSB0dXBsZSAoc3Rkb3V0LCBzdGRlcnIpLiIiIgorICAgICAgICBUaGUgb3B0aW9uYWwgImlucHV0IiBhcmd1bWVudCBzaG91bGQgYmUgZGF0YSB0byBiZSBzZW50IHRvIHRoZQorICAgICAgICBjaGlsZCBwcm9jZXNzIChpZiBzZWxmLnVuaXZlcnNhbF9uZXdsaW5lcyBpcyBUcnVlLCB0aGlzIHNob3VsZAorICAgICAgICBiZSBhIHN0cmluZzsgaWYgaXQgaXMgRmFsc2UsICJpbnB1dCIgc2hvdWxkIGJlIGJ5dGVzKSwgb3IKKyAgICAgICAgTm9uZSwgaWYgbm8gZGF0YSBzaG91bGQgYmUgc2VudCB0byB0aGUgY2hpbGQuCisKKyAgICAgICAgY29tbXVuaWNhdGUoKSByZXR1cm5zIGEgdHVwbGUgKHN0ZG91dCwgc3RkZXJyKS4gIFRoZXNlIHdpbGwgYmUKKyAgICAgICAgYnl0ZXMgb3IsIGlmIHNlbGYudW5pdmVyc2FsX25ld2xpbmVzIHdhcyBUcnVlLCBhIHN0cmluZy4KKyAgICAgICAgIiIiCiAKICAgICAgICAgaWYgc2VsZi5fY29tbXVuaWNhdGlvbl9zdGFydGVkIGFuZCBpbnB1dDoKICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIkNhbm5vdCBzZW5kIGlucHV0IGFmdGVyIHN0YXJ0aW5nIGNvbW11bmljYXRpb24iKQpAQCAtOTM4LDE4ICs5NTUsMTIgQEAKICAgICAgICAgICAgIHN0ZG91dCA9IE5vbmUKICAgICAgICAgICAgIHN0ZGVyciA9IE5vbmUKICAgICAgICAgICAgIGlmIHNlbGYuc3RkaW46Ci0gICAgICAgICAgICAgICAgaWYgaW5wdXQ6Ci0gICAgICAgICAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuc3RkaW4ud3JpdGUoaW5wdXQpCi0gICAgICAgICAgICAgICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGU6Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiBlLmVycm5vICE9IGVycm5vLkVQSVBFIGFuZCBlLmVycm5vICE9IGVycm5vLkVJTlZBTDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICByYWlzZQotICAgICAgICAgICAgICAgIHNlbGYuc3RkaW4uY2xvc2UoKQorICAgICAgICAgICAgICAgIHNlbGYuX3N0ZGluX3dyaXRlKGlucHV0KQogICAgICAgICAgICAgZWxpZiBzZWxmLnN0ZG91dDoKLSAgICAgICAgICAgICAgICBzdGRvdXQgPSBfZWludHJfcmV0cnlfY2FsbChzZWxmLnN0ZG91dC5yZWFkKQorICAgICAgICAgICAgICAgIHN0ZG91dCA9IHNlbGYuc3Rkb3V0LnJlYWQoKQogICAgICAgICAgICAgICAgIHNlbGYuc3Rkb3V0LmNsb3NlKCkKICAgICAgICAgICAgIGVsaWYgc2VsZi5zdGRlcnI6Ci0gICAgICAgICAgICAgICAgc3RkZXJyID0gX2VpbnRyX3JldHJ5X2NhbGwoc2VsZi5zdGRlcnIucmVhZCkKKyAgICAgICAgICAgICAgICBzdGRlcnIgPSBzZWxmLnN0ZGVyci5yZWFkKCkKICAgICAgICAgICAgICAgICBzZWxmLnN0ZGVyci5jbG9zZSgpCiAgICAgICAgICAgICBzZWxmLndhaXQoKQogICAgICAgICBlbHNlOgpAQCAtMTE5MywyMSArMTIwNCw3IEBACiAgICAgICAgICAgICAgICAgc2VsZi5zdGRlcnJfdGhyZWFkLnN0YXJ0KCkKIAogICAgICAgICAgICAgaWYgc2VsZi5zdGRpbjoKLSAgICAgICAgICAgICAgICBpZiBpbnB1dCBpcyBub3QgTm9uZToKLSAgICAgICAgICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5zdGRpbi53cml0ZShpbnB1dCkKLSAgICAgICAgICAgICAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZToKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIGUuZXJybm8gPT0gZXJybm8uRVBJUEU6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBjb21tdW5pY2F0ZSgpIHNob3VsZCBpZ25vcmUgcGlwZSBmdWxsIGVycm9yCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFzcwotICAgICAgICAgICAgICAgICAgICAgICAgZWxpZiAoZS5lcnJubyA9PSBlcnJuby5FSU5WQUwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCBzZWxmLnBvbGwoKSBpcyBub3QgTm9uZSk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBJc3N1ZSAjMTk2MTI6IHN0ZGluLndyaXRlKCkgZmFpbHMgd2l0aCBFSU5WQUwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIGlmIHRoZSBwcm9jZXNzIGFscmVhZHkgZXhpdGVkIGJlZm9yZSB0aGUgd3JpdGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXNzCi0gICAgICAgICAgICAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlCi0gICAgICAgICAgICAgICAgc2VsZi5zdGRpbi5jbG9zZSgpCisgICAgICAgICAgICAgICAgc2VsZi5fc3RkaW5fd3JpdGUoaW5wdXQpCiAKICAgICAgICAgICAgICMgV2FpdCBmb3IgdGhlIHJlYWRlciB0aHJlYWRzLCBvciB0aW1lIG91dC4gIElmIHdlIHRpbWUgb3V0LCB0aGUKICAgICAgICAgICAgICMgdGhyZWFkcyByZW1haW4gcmVhZGluZyBhbmQgdGhlIGZkcyBsZWZ0IG9wZW4gaW4gY2FzZSB0aGUgdXNlcgpAQCAtMTMyMiwxNiArMTMxOSw2IEBACiAgICAgICAgICAgICAgICAgICAgIGVycnJlYWQsIGVycndyaXRlKQogCiAKLSAgICAgICAgZGVmIF9jbG9zZV9mZHMoc2VsZiwgZmRzX3RvX2tlZXApOgotICAgICAgICAgICAgc3RhcnRfZmQgPSAzCi0gICAgICAgICAgICBmb3IgZmQgaW4gc29ydGVkKGZkc190b19rZWVwKToKLSAgICAgICAgICAgICAgICBpZiBmZCA+PSBzdGFydF9mZDoKLSAgICAgICAgICAgICAgICAgICAgb3MuY2xvc2VyYW5nZShzdGFydF9mZCwgZmQpCi0gICAgICAgICAgICAgICAgICAgIHN0YXJ0X2ZkID0gZmQgKyAxCi0gICAgICAgICAgICBpZiBzdGFydF9mZCA8PSBNQVhGRDoKLSAgICAgICAgICAgICAgICBvcy5jbG9zZXJhbmdlKHN0YXJ0X2ZkLCBNQVhGRCkKLQotCiAgICAgICAgIGRlZiBfZXhlY3V0ZV9jaGlsZChzZWxmLCBhcmdzLCBleGVjdXRhYmxlLCBwcmVleGVjX2ZuLCBjbG9zZV9mZHMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXNzX2ZkcywgY3dkLCBlbnYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFydHVwaW5mbywgY3JlYXRpb25mbGFncywgc2hlbGwsCkBAIC0xNDE3LDcgKzE0MDQsNyBAQAogICAgICAgICAgICAgICAgICMgZXhjZXB0aW9uIChsaW1pdGVkIGluIHNpemUpCiAgICAgICAgICAgICAgICAgZXJycGlwZV9kYXRhID0gYnl0ZWFycmF5KCkKICAgICAgICAgICAgICAgICB3aGlsZSBUcnVlOgotICAgICAgICAgICAgICAgICAgICBwYXJ0ID0gX2VpbnRyX3JldHJ5X2NhbGwob3MucmVhZCwgZXJycGlwZV9yZWFkLCA1MDAwMCkKKyAgICAgICAgICAgICAgICAgICAgcGFydCA9IG9zLnJlYWQoZXJycGlwZV9yZWFkLCA1MDAwMCkKICAgICAgICAgICAgICAgICAgICAgZXJycGlwZV9kYXRhICs9IHBhcnQKICAgICAgICAgICAgICAgICAgICAgaWYgbm90IHBhcnQgb3IgbGVuKGVycnBpcGVfZGF0YSkgPiA1MDAwMDoKICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrCkBAIC0xNDI3LDEwICsxNDE0LDkgQEAKIAogICAgICAgICAgICAgaWYgZXJycGlwZV9kYXRhOgogICAgICAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICAgICAgX2VpbnRyX3JldHJ5X2NhbGwob3Mud2FpdHBpZCwgc2VsZi5waWQsIDApCi0gICAgICAgICAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZToKLSAgICAgICAgICAgICAgICAgICAgaWYgZS5lcnJubyAhPSBlcnJuby5FQ0hJTEQ6Ci0gICAgICAgICAgICAgICAgICAgICAgICByYWlzZQorICAgICAgICAgICAgICAgICAgICBvcy53YWl0cGlkKHNlbGYucGlkLCAwKQorICAgICAgICAgICAgICAgIGV4Y2VwdCBDaGlsZFByb2Nlc3NFcnJvcjoKKyAgICAgICAgICAgICAgICAgICAgcGFzcwogICAgICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICAgICAgZXhjZXB0aW9uX25hbWUsIGhleF9lcnJubywgZXJyX21zZyA9ICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJwaXBlX2RhdGEuc3BsaXQoYic6JywgMikpCkBAIC0xNTEzLDEwICsxNDk5LDggQEAKICAgICAgICAgZGVmIF90cnlfd2FpdChzZWxmLCB3YWl0X2ZsYWdzKToKICAgICAgICAgICAgICIiIkFsbCBjYWxsZXJzIHRvIHRoaXMgZnVuY3Rpb24gTVVTVCBob2xkIHNlbGYuX3dhaXRwaWRfbG9jay4iIiIKICAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICAocGlkLCBzdHMpID0gX2VpbnRyX3JldHJ5X2NhbGwob3Mud2FpdHBpZCwgc2VsZi5waWQsIHdhaXRfZmxhZ3MpCi0gICAgICAgICAgICBleGNlcHQgT1NFcnJvciBhcyBlOgotICAgICAgICAgICAgICAgIGlmIGUuZXJybm8gIT0gZXJybm8uRUNISUxEOgotICAgICAgICAgICAgICAgICAgICByYWlzZQorICAgICAgICAgICAgICAgIChwaWQsIHN0cykgPSBvcy53YWl0cGlkKHNlbGYucGlkLCB3YWl0X2ZsYWdzKQorICAgICAgICAgICAgZXhjZXB0IENoaWxkUHJvY2Vzc0Vycm9yOgogICAgICAgICAgICAgICAgICMgVGhpcyBoYXBwZW5zIGlmIFNJR0NMRCBpcyBzZXQgdG8gYmUgaWdub3JlZCBvciB3YWl0aW5nCiAgICAgICAgICAgICAgICAgIyBmb3IgY2hpbGQgcHJvY2Vzc2VzIGhhcyBvdGhlcndpc2UgYmVlbiBkaXNhYmxlZCBmb3Igb3VyCiAgICAgICAgICAgICAgICAgIyBwcm9jZXNzLiAgVGhpcyBjaGlsZCBpcyBkZWFkLCB3ZSBjYW4ndCBnZXQgdGhlIHN0YXR1cy4KQEAgLTE2MjgsMTIgKzE2MTIsOSBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9pbnB1dF9vZmZzZXQgKyBfUElQRV9CVUZdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9pbnB1dF9vZmZzZXQgKz0gb3Mud3JpdGUoa2V5LmZkLCBjaHVuaykKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBleGNlcHQgT1NFcnJvciBhcyBlOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiBlLmVycm5vID09IGVycm5vLkVQSVBFOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0b3IudW5yZWdpc3RlcihrZXkuZmlsZW9iaikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleS5maWxlb2JqLmNsb3NlKCkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhjZXB0IEJyb2tlblBpcGVFcnJvcjoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0b3IudW5yZWdpc3RlcihrZXkuZmlsZW9iaikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5LmZpbGVvYmouY2xvc2UoKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIHNlbGYuX2lucHV0X29mZnNldCA+PSBsZW4oc2VsZi5faW5wdXQpOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0b3IudW5yZWdpc3RlcihrZXkuZmlsZW9iaikKZGlmZiAtLWdpdCBhL0xpYi9zeXNjb25maWcucHkgYi9MaWIvc3lzY29uZmlnLnB5CmluZGV4IGRiZjc3NjcuLjEzNzkzMmUgMTAwNjQ0Ci0tLSBhL0xpYi9zeXNjb25maWcucHkKKysrIGIvTGliL3N5c2NvbmZpZy5weQpAQCAtNTcsNyArNTcsNyBAQAogICAgICAgICAncHVyZWxpYic6ICd7dXNlcmJhc2V9L1B5dGhvbntweV92ZXJzaW9uX25vZG90fS9zaXRlLXBhY2thZ2VzJywKICAgICAgICAgJ3BsYXRsaWInOiAne3VzZXJiYXNlfS9QeXRob257cHlfdmVyc2lvbl9ub2RvdH0vc2l0ZS1wYWNrYWdlcycsCiAgICAgICAgICdpbmNsdWRlJzogJ3t1c2VyYmFzZX0vUHl0aG9ue3B5X3ZlcnNpb25fbm9kb3R9L0luY2x1ZGUnLAotICAgICAgICAnc2NyaXB0cyc6ICd7dXNlcmJhc2V9L1NjcmlwdHMnLAorICAgICAgICAnc2NyaXB0cyc6ICd7dXNlcmJhc2V9L1B5dGhvbntweV92ZXJzaW9uX25vZG90fS9TY3JpcHRzJywKICAgICAgICAgJ2RhdGEnOiAne3VzZXJiYXNlfScsCiAgICAgICAgIH0sCiAgICAgJ3Bvc2l4X3VzZXInOiB7CkBAIC0xMDksMTMgKzEwOSw4IEBACiAgICAgIyB1bmFibGUgdG8gcmV0cmlldmUgdGhlIHJlYWwgcHJvZ3JhbSBuYW1lCiAgICAgX1BST0pFQ1RfQkFTRSA9IF9zYWZlX3JlYWxwYXRoKG9zLmdldGN3ZCgpKQogCi1pZiBvcy5uYW1lID09ICJudCIgYW5kICJwY2J1aWxkIiBpbiBfUFJPSkVDVF9CQVNFWy04Ol0ubG93ZXIoKToKLSAgICBfUFJPSkVDVF9CQVNFID0gX3NhZmVfcmVhbHBhdGgob3MucGF0aC5qb2luKF9QUk9KRUNUX0JBU0UsIHBhcmRpcikpCi0jIFBDL1ZTNy4xCi1pZiBvcy5uYW1lID09ICJudCIgYW5kICJcXHBjXFx2IiBpbiBfUFJPSkVDVF9CQVNFWy0xMDpdLmxvd2VyKCk6Ci0gICAgX1BST0pFQ1RfQkFTRSA9IF9zYWZlX3JlYWxwYXRoKG9zLnBhdGguam9pbihfUFJPSkVDVF9CQVNFLCBwYXJkaXIsIHBhcmRpcikpCi0jIFBDL0FNRDY0Ci1pZiBvcy5uYW1lID09ICJudCIgYW5kICJcXHBjYnVpbGRcXGFtZDY0IiBpbiBfUFJPSkVDVF9CQVNFWy0xNDpdLmxvd2VyKCk6CitpZiAob3MubmFtZSA9PSAnbnQnIGFuZAorICAgIF9QUk9KRUNUX0JBU0UubG93ZXIoKS5lbmRzd2l0aCgoJ1xccGNidWlsZFxcd2luMzInLCAnXFxwY2J1aWxkXFxhbWQ2NCcpKSk6CiAgICAgX1BST0pFQ1RfQkFTRSA9IF9zYWZlX3JlYWxwYXRoKG9zLnBhdGguam9pbihfUFJPSkVDVF9CQVNFLCBwYXJkaXIsIHBhcmRpcikpCiAKICMgc2V0IGZvciBjcm9zcyBidWlsZHMKQEAgLTEyOSwxMSArMTI0LDkgQEAKICAgICByZXR1cm4gRmFsc2UKIAogX3N5c19ob21lID0gZ2V0YXR0cihzeXMsICdfaG9tZScsIE5vbmUpCi1pZiBfc3lzX2hvbWUgYW5kIG9zLm5hbWUgPT0gJ250JyBhbmQgXAotICAgIF9zeXNfaG9tZS5sb3dlcigpLmVuZHN3aXRoKCgncGNidWlsZCcsICdwY2J1aWxkXFxhbWQ2NCcpKToKLSAgICBfc3lzX2hvbWUgPSBvcy5wYXRoLmRpcm5hbWUoX3N5c19ob21lKQotICAgIGlmIF9zeXNfaG9tZS5lbmRzd2l0aCgncGNidWlsZCcpOiAgICMgbXVzdCBiZSBhbWQ2NAotICAgICAgICBfc3lzX2hvbWUgPSBvcy5wYXRoLmRpcm5hbWUoX3N5c19ob21lKQoraWYgKF9zeXNfaG9tZSBhbmQgb3MubmFtZSA9PSAnbnQnIGFuZAorICAgIF9zeXNfaG9tZS5sb3dlcigpLmVuZHN3aXRoKCgnXFxwY2J1aWxkXFx3aW4zMicsICdcXHBjYnVpbGRcXGFtZDY0JykpKToKKyAgICBfc3lzX2hvbWUgPSBvcy5wYXRoLmRpcm5hbWUob3MucGF0aC5kaXJuYW1lKF9zeXNfaG9tZSkpCiBkZWYgaXNfcHl0aG9uX2J1aWxkKGNoZWNrX2hvbWU9RmFsc2UpOgogICAgIGlmIGNoZWNrX2hvbWUgYW5kIF9zeXNfaG9tZToKICAgICAgICAgcmV0dXJuIF9pc19weXRob25fc291cmNlX2Rpcihfc3lzX2hvbWUpCmRpZmYgLS1naXQgYS9MaWIvdGFyZmlsZS5weSBiL0xpYi90YXJmaWxlLnB5CmluZGV4IDM3ZTRkY2QuLmVhN2E4OWEgMTAwNzU1Ci0tLSBhL0xpYi90YXJmaWxlLnB5CisrKyBiL0xpYi90YXJmaWxlLnB5CkBAIC0xNDA5LDkgKzE0MDksOSBAQAogICAgICAgICAgICBjYW4gYmUgZGV0ZXJtaW5lZCwgYG1vZGUnIGlzIG92ZXJyaWRkZW4gYnkgYGZpbGVvYmoncyBtb2RlLgogICAgICAgICAgICBgZmlsZW9iaicgaXMgbm90IGNsb3NlZCwgd2hlbiBUYXJGaWxlIGlzIGNsb3NlZC4KICAgICAgICAgIiIiCi0gICAgICAgIG1vZGVzID0geyJyIjogInJiIiwgImEiOiAicitiIiwgInciOiAid2IifQorICAgICAgICBtb2RlcyA9IHsiciI6ICJyYiIsICJhIjogInIrYiIsICJ3IjogIndiIiwgIngiOiAieGIifQogICAgICAgICBpZiBtb2RlIG5vdCBpbiBtb2RlczoKLSAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIm1vZGUgbXVzdCBiZSAncicsICdhJyBvciAndyciKQorICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigibW9kZSBtdXN0IGJlICdyJywgJ2EnLCAndycgb3IgJ3gnIikKICAgICAgICAgc2VsZi5tb2RlID0gbW9kZQogICAgICAgICBzZWxmLl9tb2RlID0gbW9kZXNbbW9kZV0KIApAQCAtMTUyNCw2ICsxNTI0LDE1IEBACiAgICAgICAgICAgICd3OmJ6MicgICAgICBvcGVuIGZvciB3cml0aW5nIHdpdGggYnppcDIgY29tcHJlc3Npb24KICAgICAgICAgICAgJ3c6eHonICAgICAgIG9wZW4gZm9yIHdyaXRpbmcgd2l0aCBsem1hIGNvbXByZXNzaW9uCiAKKyAgICAgICAgICAgJ3gnIG9yICd4OicgIGNyZWF0ZSBhIHRhcmZpbGUgZXhjbHVzaXZlbHkgd2l0aG91dCBjb21wcmVzc2lvbiwgcmFpc2UKKyAgICAgICAgICAgICAgICAgICAgICAgIGFuIGV4Y2VwdGlvbiBpZiB0aGUgZmlsZSBpcyBhbHJlYWR5IGNyZWF0ZWQKKyAgICAgICAgICAgJ3g6Z3onICAgICAgIGNyZWF0ZSBhbiBnemlwIGNvbXByZXNzZWQgdGFyZmlsZSwgcmFpc2UgYW4gZXhjZXB0aW9uCisgICAgICAgICAgICAgICAgICAgICAgICBpZiB0aGUgZmlsZSBpcyBhbHJlYWR5IGNyZWF0ZWQKKyAgICAgICAgICAgJ3g6YnoyJyAgICAgIGNyZWF0ZSBhbiBiemlwMiBjb21wcmVzc2VkIHRhcmZpbGUsIHJhaXNlIGFuIGV4Y2VwdGlvbgorICAgICAgICAgICAgICAgICAgICAgICAgaWYgdGhlIGZpbGUgaXMgYWxyZWFkeSBjcmVhdGVkCisgICAgICAgICAgICd4Onh6JyAgICAgICBjcmVhdGUgYW4gbHptYSBjb21wcmVzc2VkIHRhcmZpbGUsIHJhaXNlIGFuIGV4Y2VwdGlvbgorICAgICAgICAgICAgICAgICAgICAgICAgaWYgdGhlIGZpbGUgaXMgYWxyZWFkeSBjcmVhdGVkCisKICAgICAgICAgICAgJ3J8KicgICAgICAgIG9wZW4gYSBzdHJlYW0gb2YgdGFyIGJsb2NrcyB3aXRoIHRyYW5zcGFyZW50IGNvbXByZXNzaW9uCiAgICAgICAgICAgICdyfCcgICAgICAgICBvcGVuIGFuIHVuY29tcHJlc3NlZCBzdHJlYW0gb2YgdGFyIGJsb2NrcyBmb3IgcmVhZGluZwogICAgICAgICAgICAncnxneicgICAgICAgb3BlbiBhIGd6aXAgY29tcHJlc3NlZCBzdHJlYW0gb2YgdGFyIGJsb2NrcwpAQCAtMTU4Miw3ICsxNTkxLDcgQEAKICAgICAgICAgICAgIHQuX2V4dGZpbGVvYmogPSBGYWxzZQogICAgICAgICAgICAgcmV0dXJuIHQKIAotICAgICAgICBlbGlmIG1vZGUgaW4gKCJhIiwgInciKToKKyAgICAgICAgZWxpZiBtb2RlIGluICgiYSIsICJ3IiwgIngiKToKICAgICAgICAgICAgIHJldHVybiBjbHMudGFyb3BlbihuYW1lLCBtb2RlLCBmaWxlb2JqLCAqKmt3YXJncykKIAogICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJ1bmRpc2Nlcm5pYmxlIG1vZGUiKQpAQCAtMTU5MSw4ICsxNjAwLDggQEAKICAgICBkZWYgdGFyb3BlbihjbHMsIG5hbWUsIG1vZGU9InIiLCBmaWxlb2JqPU5vbmUsICoqa3dhcmdzKToKICAgICAgICAgIiIiT3BlbiB1bmNvbXByZXNzZWQgdGFyIGFyY2hpdmUgbmFtZSBmb3IgcmVhZGluZyBvciB3cml0aW5nLgogICAgICAgICAiIiIKLSAgICAgICAgaWYgbW9kZSBub3QgaW4gKCJyIiwgImEiLCAidyIpOgotICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigibW9kZSBtdXN0IGJlICdyJywgJ2EnIG9yICd3JyIpCisgICAgICAgIGlmIG1vZGUgbm90IGluICgiciIsICJhIiwgInciLCAieCIpOgorICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigibW9kZSBtdXN0IGJlICdyJywgJ2EnLCAndycgb3IgJ3gnIikKICAgICAgICAgcmV0dXJuIGNscyhuYW1lLCBtb2RlLCBmaWxlb2JqLCAqKmt3YXJncykKIAogICAgIEBjbGFzc21ldGhvZApAQCAtMTYwMCw4ICsxNjA5LDggQEAKICAgICAgICAgIiIiT3BlbiBnemlwIGNvbXByZXNzZWQgdGFyIGFyY2hpdmUgbmFtZSBmb3IgcmVhZGluZyBvciB3cml0aW5nLgogICAgICAgICAgICBBcHBlbmRpbmcgaXMgbm90IGFsbG93ZWQuCiAgICAgICAgICIiIgotICAgICAgICBpZiBtb2RlIG5vdCBpbiAoInIiLCAidyIpOgotICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigibW9kZSBtdXN0IGJlICdyJyBvciAndyciKQorICAgICAgICBpZiBtb2RlIG5vdCBpbiAoInIiLCAidyIsICJ4Iik6CisgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJtb2RlIG11c3QgYmUgJ3InLCAndycgb3IgJ3gnIikKIAogICAgICAgICB0cnk6CiAgICAgICAgICAgICBpbXBvcnQgZ3ppcApAQCAtMTYzNCw4ICsxNjQzLDggQEAKICAgICAgICAgIiIiT3BlbiBiemlwMiBjb21wcmVzc2VkIHRhciBhcmNoaXZlIG5hbWUgZm9yIHJlYWRpbmcgb3Igd3JpdGluZy4KICAgICAgICAgICAgQXBwZW5kaW5nIGlzIG5vdCBhbGxvd2VkLgogICAgICAgICAiIiIKLSAgICAgICAgaWYgbW9kZSBub3QgaW4gKCJyIiwgInciKToKLSAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIm1vZGUgbXVzdCBiZSAncicgb3IgJ3cnLiIpCisgICAgICAgIGlmIG1vZGUgbm90IGluICgiciIsICJ3IiwgIngiKToKKyAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIm1vZGUgbXVzdCBiZSAncicsICd3JyBvciAneCciKQogCiAgICAgICAgIHRyeToKICAgICAgICAgICAgIGltcG9ydCBiejIKQEAgLTE2NjMsOCArMTY3Miw4IEBACiAgICAgICAgICIiIk9wZW4gbHptYSBjb21wcmVzc2VkIHRhciBhcmNoaXZlIG5hbWUgZm9yIHJlYWRpbmcgb3Igd3JpdGluZy4KICAgICAgICAgICAgQXBwZW5kaW5nIGlzIG5vdCBhbGxvd2VkLgogICAgICAgICAiIiIKLSAgICAgICAgaWYgbW9kZSBub3QgaW4gKCJyIiwgInciKToKLSAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIm1vZGUgbXVzdCBiZSAncicgb3IgJ3cnIikKKyAgICAgICAgaWYgbW9kZSBub3QgaW4gKCJyIiwgInciLCAieCIpOgorICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigibW9kZSBtdXN0IGJlICdyJywgJ3cnIG9yICd4JyIpCiAKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgaW1wb3J0IGx6bWEKQEAgLTE3NTEsNyArMTc2MCw3IEBACiAgICAgICAgICAgIGFkZGZpbGUoKS4gSWYgZ2l2ZW4sIGBhcmNuYW1lJyBzcGVjaWZpZXMgYW4gYWx0ZXJuYXRpdmUgbmFtZSBmb3IgdGhlCiAgICAgICAgICAgIGZpbGUgaW4gdGhlIGFyY2hpdmUuCiAgICAgICAgICIiIgotICAgICAgICBzZWxmLl9jaGVjaygiYXciKQorICAgICAgICBzZWxmLl9jaGVjaygiYXd4IikKIAogICAgICAgICAjIFdoZW4gZmlsZW9iaiBpcyBnaXZlbiwgcmVwbGFjZSBuYW1lIGJ5CiAgICAgICAgICMgZmlsZW9iaidzIHJlYWwgbmFtZS4KQEAgLTE4NDIsMTQgKzE4NTEsMTcgQEAKICAgICAgICAgICAgICAgICB0YXJpbmZvLmRldm1pbm9yID0gb3MubWlub3Ioc3RhdHJlcy5zdF9yZGV2KQogICAgICAgICByZXR1cm4gdGFyaW5mbwogCi0gICAgZGVmIGxpc3Qoc2VsZiwgdmVyYm9zZT1UcnVlKToKKyAgICBkZWYgbGlzdChzZWxmLCB2ZXJib3NlPVRydWUsICosIG1lbWJlcnM9Tm9uZSk6CiAgICAgICAgICIiIlByaW50IGEgdGFibGUgb2YgY29udGVudHMgdG8gc3lzLnN0ZG91dC4gSWYgYHZlcmJvc2UnIGlzIEZhbHNlLCBvbmx5CiAgICAgICAgICAgIHRoZSBuYW1lcyBvZiB0aGUgbWVtYmVycyBhcmUgcHJpbnRlZC4gSWYgaXQgaXMgVHJ1ZSwgYW4gYGxzIC1sJy1saWtlCi0gICAgICAgICAgIG91dHB1dCBpcyBwcm9kdWNlZC4KKyAgICAgICAgICAgb3V0cHV0IGlzIHByb2R1Y2VkLiBgbWVtYmVycycgaXMgb3B0aW9uYWwgYW5kIG11c3QgYmUgYSBzdWJzZXQgb2YgdGhlCisgICAgICAgICAgIGxpc3QgcmV0dXJuZWQgYnkgZ2V0bWVtYmVycygpLgogICAgICAgICAiIiIKICAgICAgICAgc2VsZi5fY2hlY2soKQogCi0gICAgICAgIGZvciB0YXJpbmZvIGluIHNlbGY6CisgICAgICAgIGlmIG1lbWJlcnMgaXMgTm9uZToKKyAgICAgICAgICAgIG1lbWJlcnMgPSBzZWxmCisgICAgICAgIGZvciB0YXJpbmZvIGluIG1lbWJlcnM6CiAgICAgICAgICAgICBpZiB2ZXJib3NlOgogICAgICAgICAgICAgICAgIF9zYWZlX3ByaW50KHN0YXQuZmlsZW1vZGUodGFyaW5mby5tb2RlKSkKICAgICAgICAgICAgICAgICBfc2FmZV9wcmludCgiJXMvJXMiICUgKHRhcmluZm8udW5hbWUgb3IgdGFyaW5mby51aWQsCkBAIC0xODgyLDcgKzE4OTQsNyBAQAogICAgICAgICAgICBUYXJJbmZvIG9iamVjdCwgaWYgaXQgcmV0dXJucyBOb25lIHRoZSBUYXJJbmZvIG9iamVjdCB3aWxsIGJlCiAgICAgICAgICAgIGV4Y2x1ZGVkIGZyb20gdGhlIGFyY2hpdmUuCiAgICAgICAgICIiIgotICAgICAgICBzZWxmLl9jaGVjaygiYXciKQorICAgICAgICBzZWxmLl9jaGVjaygiYXd4IikKIAogICAgICAgICBpZiBhcmNuYW1lIGlzIE5vbmU6CiAgICAgICAgICAgICBhcmNuYW1lID0gbmFtZQpAQCAtMTkzOSw3ICsxOTUxLDcgQEAKICAgICAgICAgICAgT24gV2luZG93cyBwbGF0Zm9ybXMsIGBmaWxlb2JqJyBzaG91bGQgYWx3YXlzIGJlIG9wZW5lZCB3aXRoIG1vZGUKICAgICAgICAgICAgJ3JiJyB0byBhdm9pZCBpcnJpdGF0aW9uIGFib3V0IHRoZSBmaWxlIHNpemUuCiAgICAgICAgICIiIgotICAgICAgICBzZWxmLl9jaGVjaygiYXciKQorICAgICAgICBzZWxmLl9jaGVjaygiYXd4IikKIAogICAgICAgICB0YXJpbmZvID0gY29weS5jb3B5KHRhcmluZm8pCiAKZGlmZiAtLWdpdCBhL0xpYi90ZWxuZXRsaWIucHkgYi9MaWIvdGVsbmV0bGliLnB5CmluZGV4IDBjYWNhYzguLmVlYmI5NTIgMTAwNjQ0Ci0tLSBhL0xpYi90ZWxuZXRsaWIucHkKKysrIGIvTGliL3RlbG5ldGxpYi5weQpAQCAtMzYsMTAgKzM2LDcgQEAKIGltcG9ydCBzeXMKIGltcG9ydCBzb2NrZXQKIGltcG9ydCBzZWxlY3RvcnMKLXRyeToKLSAgICBmcm9tIHRpbWUgaW1wb3J0IG1vbm90b25pYyBhcyBfdGltZQotZXhjZXB0IEltcG9ydEVycm9yOgotICAgIGZyb20gdGltZSBpbXBvcnQgdGltZSBhcyBfdGltZQorZnJvbSB0aW1lIGltcG9ydCBtb25vdG9uaWMgYXMgX3RpbWUKIAogX19hbGxfXyA9IFsiVGVsbmV0Il0KIApkaWZmIC0tZ2l0IGEvTGliL3RlbXBmaWxlLnB5IGIvTGliL3RlbXBmaWxlLnB5CmluZGV4IGI2ZWVjYTMuLjA1MjJjNzkgMTAwNjQ0Ci0tLSBhL0xpYi90ZW1wZmlsZS5weQorKysgYi9MaWIvdGVtcGZpbGUucHkKQEAgLTQ3Myw2ICs0NzMsMTEgQEAKICAgICBUZW1wb3JhcnlGaWxlID0gTmFtZWRUZW1wb3JhcnlGaWxlCiAKIGVsc2U6CisgICAgIyBJcyB0aGUgT19UTVBGSUxFIGZsYWcgYXZhaWxhYmxlIGFuZCBkb2VzIGl0IHdvcms/CisgICAgIyBUaGUgZmxhZyBpcyBzZXQgdG8gRmFsc2UgaWYgb3Mub3BlbihkaXIsIG9zLk9fVE1QRklMRSkgcmFpc2VzIGFuCisgICAgIyBJc0FEaXJlY3RvcnlFcnJvciBleGNlcHRpb24KKyAgICBfT19UTVBGSUxFX1dPUktTID0gaGFzYXR0cihfb3MsICdPX1RNUEZJTEUnKQorCiAgICAgZGVmIFRlbXBvcmFyeUZpbGUobW9kZT0ndytiJywgYnVmZmVyaW5nPS0xLCBlbmNvZGluZz1Ob25lLAogICAgICAgICAgICAgICAgICAgICAgIG5ld2xpbmU9Tm9uZSwgc3VmZml4PSIiLCBwcmVmaXg9dGVtcGxhdGUsCiAgICAgICAgICAgICAgICAgICAgICAgZGlyPU5vbmUpOgpAQCAtNDg4LDExICs0OTMsMzIgQEAKICAgICAgICAgUmV0dXJucyBhbiBvYmplY3Qgd2l0aCBhIGZpbGUtbGlrZSBpbnRlcmZhY2UuICBUaGUgZmlsZSBoYXMgbm8KICAgICAgICAgbmFtZSwgYW5kIHdpbGwgY2Vhc2UgdG8gZXhpc3Qgd2hlbiBpdCBpcyBjbG9zZWQuCiAgICAgICAgICIiIgorICAgICAgICBnbG9iYWwgX09fVE1QRklMRV9XT1JLUwogCiAgICAgICAgIGlmIGRpciBpcyBOb25lOgogICAgICAgICAgICAgZGlyID0gZ2V0dGVtcGRpcigpCiAKICAgICAgICAgZmxhZ3MgPSBfYmluX29wZW5mbGFncworICAgICAgICBpZiBfT19UTVBGSUxFX1dPUktTOgorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIGZsYWdzMiA9IChmbGFncyB8IF9vcy5PX1RNUEZJTEUpICYgfl9vcy5PX0NSRUFUCisgICAgICAgICAgICAgICAgZmQgPSBfb3Mub3BlbihkaXIsIGZsYWdzMiwgMG82MDApCisgICAgICAgICAgICBleGNlcHQgSXNBRGlyZWN0b3J5RXJyb3I6CisgICAgICAgICAgICAgICAgIyBMaW51eCBrZXJuZWwgb2xkZXIgdGhhbiAzLjExIGlnbm9yZXMgT19UTVBGSUxFIGZsYWcuCisgICAgICAgICAgICAgICAgIyBTZXQgZmxhZyB0byBGYWxzZSB0byBub3QgdHJ5IGFnYWluLgorICAgICAgICAgICAgICAgIF9PX1RNUEZJTEVfV09SS1MgPSBGYWxzZQorICAgICAgICAgICAgZXhjZXB0IE9TRXJyb3I6CisgICAgICAgICAgICAgICAgIyBUaGUgZmlsZXN5c3RlbSBvZiB0aGUgZGlyZWN0b3J5IGRvZXMgbm90IHN1cHBvcnQgT19UTVBGSUxFLgorICAgICAgICAgICAgICAgICMgRm9yIGV4YW1wbGUsIE9TRXJyb3IoOTUsICdPcGVyYXRpb24gbm90IHN1cHBvcnRlZCcpLgorICAgICAgICAgICAgICAgIHBhc3MKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgICAgICByZXR1cm4gX2lvLm9wZW4oZmQsIG1vZGUsIGJ1ZmZlcmluZz1idWZmZXJpbmcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXdsaW5lPW5ld2xpbmUsIGVuY29kaW5nPWVuY29kaW5nKQorICAgICAgICAgICAgICAgIGV4Y2VwdDoKKyAgICAgICAgICAgICAgICAgICAgX29zLmNsb3NlKGZkKQorICAgICAgICAgICAgICAgICAgICByYWlzZQorICAgICAgICAgICAgIyBGYWxsYmFjayB0byBfbWtzdGVtcF9pbm5lcigpLgogCiAgICAgICAgIChmZCwgbmFtZSkgPSBfbWtzdGVtcF9pbm5lcihkaXIsIHByZWZpeCwgc3VmZml4LCBmbGFncykKICAgICAgICAgdHJ5OgpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvX3Rlc3RfbXVsdGlwcm9jZXNzaW5nLnB5IGIvTGliL3Rlc3QvX3Rlc3RfbXVsdGlwcm9jZXNzaW5nLnB5CmluZGV4IDM0MjY4OGMuLjQ1MjBjNmEgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L190ZXN0X211bHRpcHJvY2Vzc2luZy5weQorKysgYi9MaWIvdGVzdC9fdGVzdF9tdWx0aXByb2Nlc3NpbmcucHkKQEAgLTI1NzIsNyArMjU3Miw3IEBACiAKICAgICAgICAgbCA9IHNvY2tldC5zb2NrZXQoKQogICAgICAgICBsLmJpbmQoKHRlc3Quc3VwcG9ydC5IT1NULCAwKSkKLSAgICAgICAgbC5saXN0ZW4oMSkKKyAgICAgICAgbC5saXN0ZW4oKQogICAgICAgICBjb25uLnNlbmQobC5nZXRzb2NrbmFtZSgpKQogICAgICAgICBuZXdfY29ubiwgYWRkciA9IGwuYWNjZXB0KCkKICAgICAgICAgY29ubi5zZW5kKG5ld19jb25uKQpAQCAtMzIxOSw3ICszMjE5LDcgQEAKICAgICAgICAgZnJvbSBtdWx0aXByb2Nlc3NpbmcuY29ubmVjdGlvbiBpbXBvcnQgd2FpdAogICAgICAgICBsID0gc29ja2V0LnNvY2tldCgpCiAgICAgICAgIGwuYmluZCgodGVzdC5zdXBwb3J0LkhPU1QsIDApKQotICAgICAgICBsLmxpc3Rlbig0KQorICAgICAgICBsLmxpc3RlbigpCiAgICAgICAgIGFkZHIgPSBsLmdldHNvY2tuYW1lKCkKICAgICAgICAgcmVhZGVycyA9IFtdCiAgICAgICAgIHByb2NzID0gW10KZGlmZiAtLWdpdCBhL0xpYi90ZXN0L2RhdGV0aW1ldGVzdGVyLnB5IGIvTGliL3Rlc3QvZGF0ZXRpbWV0ZXN0ZXIucHkKaW5kZXggOGU0OGI5Zi4uNDBlZjFiYSAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvZGF0ZXRpbWV0ZXN0ZXIucHkKKysrIGIvTGliL3Rlc3QvZGF0ZXRpbWV0ZXN0ZXIucHkKQEAgLTMsNiArMyw3IEBACiBTZWUgaHR0cDovL3d3dy56b3BlLm9yZy9NZW1iZXJzL2ZkcmFrZS9EYXRlVGltZVdpa2kvVGVzdENhc2VzCiAiIiIKIAoraW1wb3J0IGRlY2ltYWwKIGltcG9ydCBzeXMKIGltcG9ydCBwaWNrbGUKIGltcG9ydCByYW5kb20KQEAgLTUwLDYgKzUxLDE3IEBACiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZGF0ZXRpbWUuTUlOWUVBUiwgMSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkYXRldGltZS5NQVhZRUFSLCA5OTk5KQogCisgICAgZGVmIHRlc3RfbmFtZV9jbGVhbnVwKHNlbGYpOgorICAgICAgICBpZiAnX0Zhc3QnIG5vdCBpbiBzdHIoc2VsZik6CisgICAgICAgICAgICByZXR1cm4KKyAgICAgICAgZGF0ZXRpbWUgPSBkYXRldGltZV9tb2R1bGUKKyAgICAgICAgbmFtZXMgPSBzZXQobmFtZSBmb3IgbmFtZSBpbiBkaXIoZGF0ZXRpbWUpCisgICAgICAgICAgICAgICAgICAgIGlmIG5vdCBuYW1lLnN0YXJ0c3dpdGgoJ19fJykgYW5kIG5vdCBuYW1lLmVuZHN3aXRoKCdfXycpKQorICAgICAgICBhbGxvd2VkID0gc2V0KFsnTUFYWUVBUicsICdNSU5ZRUFSJywgJ2RhdGUnLCAnZGF0ZXRpbWUnLAorICAgICAgICAgICAgICAgICAgICAgICAnZGF0ZXRpbWVfQ0FQSScsICd0aW1lJywgJ3RpbWVkZWx0YScsICd0aW1lem9uZScsCisgICAgICAgICAgICAgICAgICAgICAgICd0emluZm8nXSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChuYW1lcyAtIGFsbG93ZWQsIHNldChbXSkpCisKICAgICBkZWYgdGVzdF9kaXZpZGVfYW5kX3JvdW5kKHNlbGYpOgogICAgICAgICBpZiAnX0Zhc3QnIGluIHN0cihzZWxmKToKICAgICAgICAgICAgIHJldHVybgpAQCAtNjUwLDggKzY2MiwxMiBAQAogICAgICAgICAjIFNpbmdsZS1maWVsZCByb3VuZGluZy4KICAgICAgICAgZXEodGQobWlsbGlzZWNvbmRzPTAuNC8xMDAwKSwgdGQoMCkpICAgICMgcm91bmRzIHRvIDAKICAgICAgICAgZXEodGQobWlsbGlzZWNvbmRzPS0wLjQvMTAwMCksIHRkKDApKSAgICAjIHJvdW5kcyB0byAwCisgICAgICAgIGVxKHRkKG1pbGxpc2Vjb25kcz0wLjUvMTAwMCksIHRkKG1pY3Jvc2Vjb25kcz0wKSkKKyAgICAgICAgZXEodGQobWlsbGlzZWNvbmRzPS0wLjUvMTAwMCksIHRkKG1pY3Jvc2Vjb25kcz0wKSkKICAgICAgICAgZXEodGQobWlsbGlzZWNvbmRzPTAuNi8xMDAwKSwgdGQobWljcm9zZWNvbmRzPTEpKQogICAgICAgICBlcSh0ZChtaWxsaXNlY29uZHM9LTAuNi8xMDAwKSwgdGQobWljcm9zZWNvbmRzPS0xKSkKKyAgICAgICAgZXEodGQoc2Vjb25kcz0wLjUvMTAqKjYpLCB0ZChtaWNyb3NlY29uZHM9MCkpCisgICAgICAgIGVxKHRkKHNlY29uZHM9LTAuNS8xMCoqNiksIHRkKG1pY3Jvc2Vjb25kcz0wKSkKIAogICAgICAgICAjIFJvdW5kaW5nIGR1ZSB0byBjb250cmlidXRpb25zIGZyb20gbW9yZSB0aGFuIG9uZSBmaWVsZC4KICAgICAgICAgdXNfcGVyX2hvdXIgPSAzNjAwZTYKQEAgLTExNjUsMTEgKzExODEsMTMgQEAKICAgICAgICAgI2NoZWNrIHRoYXQgdGhpcyBzdGFuZGFyZCBleHRlbnNpb24gd29ya3MKICAgICAgICAgdC5zdHJmdGltZSgiJWYiKQogCi0KICAgICBkZWYgdGVzdF9mb3JtYXQoc2VsZik6CiAgICAgICAgIGR0ID0gc2VsZi50aGVjbGFzcygyMDA3LCA5LCAxMCkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkdC5fX2Zvcm1hdF9fKCcnKSwgc3RyKGR0KSkKIAorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoVHlwZUVycm9yLCAnXm11c3QgYmUgc3RyLCBub3QgaW50JCcpOgorICAgICAgICAgICAgZHQuX19mb3JtYXRfXygxMjMpCisKICAgICAgICAgIyBjaGVjayB0aGF0IGEgZGVyaXZlZCBjbGFzcydzIF9fc3RyX18oKSBnZXRzIGNhbGxlZAogICAgICAgICBjbGFzcyBBKHNlbGYudGhlY2xhc3MpOgogICAgICAgICAgICAgZGVmIF9fc3RyX18oc2VsZik6CkBAIC0xMzIxLDggKzEzMzksNiBAQAogICAgICAgICAgICAgICAgIHJldHVybiBpc2luc3RhbmNlKG90aGVyLCBMYXJnZXJUaGFuQW55dGhpbmcpCiAgICAgICAgICAgICBkZWYgX19lcV9fKHNlbGYsIG90aGVyKToKICAgICAgICAgICAgICAgICByZXR1cm4gaXNpbnN0YW5jZShvdGhlciwgTGFyZ2VyVGhhbkFueXRoaW5nKQotICAgICAgICAgICAgZGVmIF9fbmVfXyhzZWxmLCBvdGhlcik6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIG5vdCBpc2luc3RhbmNlKG90aGVyLCBMYXJnZXJUaGFuQW55dGhpbmcpCiAgICAgICAgICAgICBkZWYgX19ndF9fKHNlbGYsIG90aGVyKToKICAgICAgICAgICAgICAgICByZXR1cm4gbm90IGlzaW5zdGFuY2Uob3RoZXIsIExhcmdlclRoYW5Bbnl0aGluZykKICAgICAgICAgICAgIGRlZiBfX2dlX18oc2VsZiwgb3RoZXIpOgpAQCAtMTQyNSw5ICsxNDQxLDEwIEBACiAgICAgICAgIGZvciBtb250aF9ieXRlIGluIGInOScsIGInXDAnLCBiJ1xyJywgYidceGZmJzoKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgc2VsZi50aGVjbGFzcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFzZVs6Ml0gKyBtb250aF9ieXRlICsgYmFzZVszOl0pCi0gICAgICAgICMgR29vZCBieXRlcywgYnV0IGJhZCB0emluZm86Ci0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgc2VsZi50aGVjbGFzcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgYnl0ZXMoWzFdICogbGVuKGJhc2UpKSwgJ0VTVCcpCisgICAgICAgIGlmIGlzc3ViY2xhc3Moc2VsZi50aGVjbGFzcywgZGF0ZXRpbWUpOgorICAgICAgICAgICAgIyBHb29kIGJ5dGVzLCBidXQgYmFkIHR6aW5mbzoKKyAgICAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXNSZWdleChUeXBlRXJyb3IsICdeYmFkIHR6aW5mbyBzdGF0ZSBhcmckJyk6CisgICAgICAgICAgICAgICAgc2VsZi50aGVjbGFzcyhieXRlcyhbMV0gKiBsZW4oYmFzZSkpLCAnRVNUJykKIAogICAgICAgICBmb3Igb3JkX2J5dGUgaW4gcmFuZ2UoMSwgMTMpOgogICAgICAgICAgICAgIyBUaGlzIHNob3VsZG4ndCBibG93IHVwIGJlY2F1c2Ugb2YgdGhlIG1vbnRoIGJ5dGUgYWxvbmUuICBJZgpAQCAtMTUwMyw2ICsxNTIwLDkgQEAKICAgICAgICAgZHQgPSBzZWxmLnRoZWNsYXNzKDIwMDcsIDksIDEwLCA0LCA1LCAxLCAxMjMpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZHQuX19mb3JtYXRfXygnJyksIHN0cihkdCkpCiAKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlc1JlZ2V4KFR5cGVFcnJvciwgJ15tdXN0IGJlIHN0ciwgbm90IGludCQnKToKKyAgICAgICAgICAgIGR0Ll9fZm9ybWF0X18oMTIzKQorCiAgICAgICAgICMgY2hlY2sgdGhhdCBhIGRlcml2ZWQgY2xhc3MncyBfX3N0cl9fKCkgZ2V0cyBjYWxsZWQKICAgICAgICAgY2xhc3MgQShzZWxmLnRoZWNsYXNzKToKICAgICAgICAgICAgIGRlZiBfX3N0cl9fKHNlbGYpOgpAQCAtMTgyNCw2ICsxODQ0LDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgdHppbmZvPXRpbWV6b25lKHRpbWVkZWx0YShob3Vycz0tNSksICdFU1QnKSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh0LnRpbWVzdGFtcCgpLAogICAgICAgICAgICAgICAgICAgICAgICAgIDE4MDAwICsgMzYwMCArIDIqNjAgKyAzICsgNCoxZS02KQorCiAgICAgZGVmIHRlc3RfbWljcm9zZWNvbmRfcm91bmRpbmcoc2VsZik6CiAgICAgICAgIGZvciBmdHMgaW4gW3NlbGYudGhlY2xhc3MuZnJvbXRpbWVzdGFtcCwKICAgICAgICAgICAgICAgICAgICAgc2VsZi50aGVjbGFzcy51dGNmcm9tdGltZXN0YW1wXToKQEAgLTE4NzQsNiArMTg5NSw3IEBACiAgICAgICAgIGZvciBpbnNhbmUgaW4gLTFlMjAwLCAxZTIwMDoKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKE92ZXJmbG93RXJyb3IsIHNlbGYudGhlY2xhc3MudXRjZnJvbXRpbWVzdGFtcCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluc2FuZSkKKwogICAgIEB1bml0dGVzdC5za2lwSWYoc3lzLnBsYXRmb3JtID09ICJ3aW4zMiIsICJXaW5kb3dzIGRvZXNuJ3QgYWNjZXB0IG5lZ2F0aXZlIHRpbWVzdGFtcHMiKQogICAgIGRlZiB0ZXN0X25lZ2F0aXZlX2Zsb2F0X2Zyb210aW1lc3RhbXAoc2VsZik6CiAgICAgICAgICMgVGhlIHJlc3VsdCBpcyB0ei1kZXBlbmRlbnQ7IGF0IGxlYXN0IHRlc3QgdGhhdCB0aGlzIGRvZXNuJ3QKQEAgLTIyNTMsNiArMjI3NSw5IEBACiAgICAgICAgIHQgPSBzZWxmLnRoZWNsYXNzKDEsIDIsIDMsIDQpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodC5fX2Zvcm1hdF9fKCcnKSwgc3RyKHQpKQogCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXNSZWdleChUeXBlRXJyb3IsICdebXVzdCBiZSBzdHIsIG5vdCBpbnQkJyk6CisgICAgICAgICAgICB0Ll9fZm9ybWF0X18oMTIzKQorCiAgICAgICAgICMgY2hlY2sgdGhhdCBhIGRlcml2ZWQgY2xhc3MncyBfX3N0cl9fKCkgZ2V0cyBjYWxsZWQKICAgICAgICAgY2xhc3MgQShzZWxmLnRoZWNsYXNzKToKICAgICAgICAgICAgIGRlZiBfX3N0cl9fKHNlbGYpOgpAQCAtMjMxNiwxMyArMjM0MSwxNCBAQAogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChvcmlnLCBkZXJpdmVkKQogCiAgICAgZGVmIHRlc3RfYm9vbChzZWxmKToKKyAgICAgICAgIyB0aW1lIGlzIGFsd2F5cyBUcnVlLgogICAgICAgICBjbHMgPSBzZWxmLnRoZWNsYXNzCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShjbHMoMSkpCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShjbHMoMCwgMSkpCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShjbHMoMCwgMCwgMSkpCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShjbHMoMCwgMCwgMCwgMSkpCi0gICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoY2xzKDApKQotICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGNscygpKQorICAgICAgICBzZWxmLmFzc2VydFRydWUoY2xzKDApKQorICAgICAgICBzZWxmLmFzc2VydFRydWUoY2xzKCkpCiAKICAgICBkZWYgdGVzdF9yZXBsYWNlKHNlbGYpOgogICAgICAgICBjbHMgPSBzZWxmLnRoZWNsYXNzCkBAIC0yMzgxLDYgKzI0MDcsOSBAQAogICAgICAgICBmb3IgaG91cl9ieXRlIGluICcgJywgJzknLCBjaHIoMjQpLCAnXHhmZic6CiAgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIHNlbGYudGhlY2xhc3MsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhvdXJfYnl0ZSArIGJhc2VbMTpdKQorICAgICAgICAjIEdvb2QgYnl0ZXMsIGJ1dCBiYWQgdHppbmZvOgorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoVHlwZUVycm9yLCAnXmJhZCB0emluZm8gc3RhdGUgYXJnJCcpOgorICAgICAgICAgICAgc2VsZi50aGVjbGFzcyhieXRlcyhbMV0gKiBsZW4oYmFzZSkpLCAnRVNUJykKIAogIyBBIG1peGluIGZvciBjbGFzc2VzIHdpdGggYSB0emluZm89IGFyZ3VtZW50LiAgU3ViY2xhc3NlcyBtdXN0IGRlZmluZQogIyB0aGVjbGFzcyBhcyBhIGNsYXNzIGF0cmlidXRlLCBhbmQgdGhlY2xhc3MoMSwgMSwgMSwgdHppbmZvPXdoYXRldmVyKQpAQCAtMjY0MCw3ICsyNjY5LDcgQEAKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCB0LnN0cmZ0aW1lLCAiJVoiKQogCiAgICAgICAgICMgSXNzdWUgIzY2OTc6Ci0gICAgICAgIGlmICdfRmFzdCcgaW4gc3RyKHR5cGUoc2VsZikpOgorICAgICAgICBpZiAnX0Zhc3QnIGluIHN0cihzZWxmKToKICAgICAgICAgICAgIEJhZHR6bmFtZS50eiA9ICdcdWQ4MDAnCiAgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCB0LnN0cmZ0aW1lLCAiJVoiKQogCkBAIC0yNjc1LDcgKzI3MDQsNyBAQAogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkZXJpdmVkLnR6bmFtZSgpLCAnY29va2llJykKIAogICAgIGRlZiB0ZXN0X21vcmVfYm9vbChzZWxmKToKLSAgICAgICAgIyBUZXN0IGNhc2VzIHdpdGggbm9uLU5vbmUgdHppbmZvLgorICAgICAgICAjIHRpbWUgaXMgYWx3YXlzIFRydWUuCiAgICAgICAgIGNscyA9IHNlbGYudGhlY2xhc3MKIAogICAgICAgICB0ID0gY2xzKDAsIHR6aW5mbz1GaXhlZE9mZnNldCgtMzAwLCAiIikpCkBAIC0yNjg1LDIyICsyNzE0LDEwIEBACiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZSh0KQogCiAgICAgICAgIHQgPSBjbHMoNSwgdHppbmZvPUZpeGVkT2Zmc2V0KDMwMCwgIiIpKQotICAgICAgICBzZWxmLmFzc2VydEZhbHNlKHQpCi0KLSAgICAgICAgdCA9IGNscygyMywgNTksIHR6aW5mbz1GaXhlZE9mZnNldCgyMyo2MCArIDU5LCAiIikpCi0gICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UodCkKLQotICAgICAgICAjIE1vc3RseSBlbnN1cmluZyB0aGlzIGRvZXNuJ3Qgb3ZlcmZsb3cgaW50ZXJuYWxseS4KLSAgICAgICAgdCA9IGNscygwLCB0emluZm89Rml4ZWRPZmZzZXQoMjMqNjAgKyA1OSwgIiIpKQogICAgICAgICBzZWxmLmFzc2VydFRydWUodCkKIAotICAgICAgICAjIEJ1dCB0aGlzIHNob3VsZCB5aWVsZCBhIHZhbHVlIGVycm9yIC0tIHRoZSB1dGNvZmZzZXQgaXMgYm9ndXMuCi0gICAgICAgIHQgPSBjbHMoMCwgdHppbmZvPUZpeGVkT2Zmc2V0KDI0KjYwLCAiIikpCi0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIGxhbWJkYTogYm9vbCh0KSkKLQotICAgICAgICAjIExpa2V3aXNlLgotICAgICAgICB0ID0gY2xzKDAsIHR6aW5mbz1GaXhlZE9mZnNldCgtMjQqNjAsICIiKSkKLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgbGFtYmRhOiBib29sKHQpKQorICAgICAgICB0ID0gY2xzKDIzLCA1OSwgdHppbmZvPUZpeGVkT2Zmc2V0KDIzKjYwICsgNTksICIiKSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHQpCiAKICAgICBkZWYgdGVzdF9yZXBsYWNlKHNlbGYpOgogICAgICAgICBjbHMgPSBzZWxmLnRoZWNsYXNzCkBAIC0zODE0LDYgKzM4MzEsNjAgQEAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChhc19kYXRldGltZSwgZGF0ZXRpbWVfc2MpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZGF0ZXRpbWVfc2MsIGFzX2RhdGV0aW1lKQogCisgICAgZGVmIHRlc3RfZXh0cmFfYXR0cmlidXRlcyhzZWxmKToKKyAgICAgICAgZm9yIHggaW4gW2RhdGUudG9kYXkoKSwKKyAgICAgICAgICAgICAgICAgIHRpbWUoKSwKKyAgICAgICAgICAgICAgICAgIGRhdGV0aW1lLnV0Y25vdygpLAorICAgICAgICAgICAgICAgICAgdGltZWRlbHRhKCksCisgICAgICAgICAgICAgICAgICB0emluZm8oKSwKKyAgICAgICAgICAgICAgICAgIHRpbWV6b25lKHRpbWVkZWx0YSgpKV06CisgICAgICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKEF0dHJpYnV0ZUVycm9yKToKKyAgICAgICAgICAgICAgICB4LmFiYyA9IDEKKworICAgIGRlZiB0ZXN0X2NoZWNrX2FyZ190eXBlcyhzZWxmKToKKyAgICAgICAgY2xhc3MgTnVtYmVyOgorICAgICAgICAgICAgZGVmIF9faW5pdF9fKHNlbGYsIHZhbHVlKToKKyAgICAgICAgICAgICAgICBzZWxmLnZhbHVlID0gdmFsdWUKKyAgICAgICAgICAgIGRlZiBfX2ludF9fKHNlbGYpOgorICAgICAgICAgICAgICAgIHJldHVybiBzZWxmLnZhbHVlCisKKyAgICAgICAgZm9yIHh4IGluIFtkZWNpbWFsLkRlY2ltYWwoMTApLAorICAgICAgICAgICAgICAgICAgIGRlY2ltYWwuRGVjaW1hbCgnMTAuOScpLAorICAgICAgICAgICAgICAgICAgIE51bWJlcigxMCldOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkYXRldGltZSgxMCwgMTAsIDEwLCAxMCwgMTAsIDEwLCAxMCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGV0aW1lKHh4LCB4eCwgeHgsIHh4LCB4eCwgeHgsIHh4KSkKKworICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoVHlwZUVycm9yLCAnXmFuIGludGVnZXIgaXMgcmVxdWlyZWQgJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnXChnb3QgdHlwZSBzdHJcKSQnKToKKyAgICAgICAgICAgIGRhdGV0aW1lKDEwLCAxMCwgJzEwJykKKworICAgICAgICBmMTAgPSBOdW1iZXIoMTAuOSkKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlc1JlZ2V4KFR5cGVFcnJvciwgJ15fX2ludF9fIHJldHVybmVkIG5vbi1pbnQgJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnXCh0eXBlIGZsb2F0XCkkJyk6CisgICAgICAgICAgICBkYXRldGltZSgxMCwgMTAsIGYxMCkKKworICAgICAgICBjbGFzcyBGbG9hdChmbG9hdCk6CisgICAgICAgICAgICBwYXNzCisgICAgICAgIHMxMCA9IEZsb2F0KDEwLjkpCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXNSZWdleChUeXBlRXJyb3IsICdeaW50ZWdlciBhcmd1bWVudCBleHBlY3RlZCwgJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZ290IGZsb2F0JCcpOgorICAgICAgICAgICAgZGF0ZXRpbWUoMTAsIDEwLCBzMTApCisKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IpOgorICAgICAgICAgICAgZGF0ZXRpbWUoMTAuLCAxMCwgMTApCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yKToKKyAgICAgICAgICAgIGRhdGV0aW1lKDEwLCAxMC4sIDEwKQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvcik6CisgICAgICAgICAgICBkYXRldGltZSgxMCwgMTAsIDEwLikKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IpOgorICAgICAgICAgICAgZGF0ZXRpbWUoMTAsIDEwLCAxMCwgMTAuKQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvcik6CisgICAgICAgICAgICBkYXRldGltZSgxMCwgMTAsIDEwLCAxMCwgMTAuKQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvcik6CisgICAgICAgICAgICBkYXRldGltZSgxMCwgMTAsIDEwLCAxMCwgMTAsIDEwLikKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IpOgorICAgICAgICAgICAgZGF0ZXRpbWUoMTAsIDEwLCAxMCwgMTAsIDEwLCAxMCwgMTAuKQorCiBkZWYgdGVzdF9tYWluKCk6CiAgICAgc3VwcG9ydC5ydW5fdW5pdHRlc3QoX19uYW1lX18pCiAKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L2VpbnRyZGF0YS9laW50cl90ZXN0ZXIucHkgYi9MaWIvdGVzdC9laW50cmRhdGEvZWludHJfdGVzdGVyLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQwZGNhODQKLS0tIC9kZXYvbnVsbAorKysgYi9MaWIvdGVzdC9laW50cmRhdGEvZWludHJfdGVzdGVyLnB5CkBAIC0wLDAgKzEsMjYwIEBACisiIiIKK1RoaXMgdGVzdCBzdWl0ZSBleGVyY2lzZXMgc29tZSBzeXN0ZW0gY2FsbHMgc3ViamVjdCB0byBpbnRlcnJ1cHRpb24gd2l0aCBFSU5UUiwKK3RvIGNoZWNrIHRoYXQgaXQgaXMgYWN0dWFsbHkgaGFuZGxlZCB0cmFuc3BhcmVudGx5LgorSXQgaXMgaW50ZW5kZWQgdG8gYmUgcnVuIGJ5IHRoZSBtYWluIHRlc3Qgc3VpdGUgd2l0aGluIGEgY2hpbGQgcHJvY2VzcywgdG8KK2Vuc3VyZSB0aGVyZSBpcyBubyBiYWNrZ3JvdW5kIHRocmVhZCBydW5uaW5nIChzbyB0aGF0IHNpZ25hbHMgYXJlIGRlbGl2ZXJlZCB0bwordGhlIGNvcnJlY3QgdGhyZWFkKS4KK1NpZ25hbHMgYXJlIGdlbmVyYXRlZCBpbi1wcm9jZXNzIHVzaW5nIHNldGl0aW1lcihJVElNRVJfUkVBTCksIHdoaWNoIGFsbG93cworc3ViLXNlY29uZCBwZXJpb2RpY2l0eSAoY29udHJhcmlseSB0byBzaWduYWwoKSkuCisiIiIKKworaW1wb3J0IGlvCitpbXBvcnQgb3MKK2ltcG9ydCBzaWduYWwKK2ltcG9ydCBzb2NrZXQKK2ltcG9ydCB0aW1lCitpbXBvcnQgdW5pdHRlc3QKKworZnJvbSB0ZXN0IGltcG9ydCBzdXBwb3J0CisKKworQHVuaXR0ZXN0LnNraXBVbmxlc3MoaGFzYXR0cihzaWduYWwsICJzZXRpdGltZXIiKSwgInJlcXVpcmVzIHNldGl0aW1lcigpIikKK2NsYXNzIEVJTlRSQmFzZVRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgorICAgICIiIiBCYXNlIGNsYXNzIGZvciBFSU5UUiB0ZXN0cy4gIiIiCisKKyAgICAjIGRlbGF5IGZvciBpbml0aWFsIHNpZ25hbCBkZWxpdmVyeQorICAgIHNpZ25hbF9kZWxheSA9IDAuMQorICAgICMgc2lnbmFsIGRlbGl2ZXJ5IHBlcmlvZGljaXR5CisgICAgc2lnbmFsX3BlcmlvZCA9IDAuMQorICAgICMgZGVmYXVsdCBzbGVlcCB0aW1lIGZvciB0ZXN0cyAtIHNob3VsZCBvYnZpb3VzbHkgaGF2ZToKKyAgICAjwqBzbGVlcF90aW1lID4gc2lnbmFsX3BlcmlvZAorICAgIHNsZWVwX3RpbWUgPSAwLjIKKworICAgIEBjbGFzc21ldGhvZAorICAgIGRlZiBzZXRVcENsYXNzKGNscyk6CisgICAgICAgIGNscy5vcmlnX2hhbmRsZXIgPSBzaWduYWwuc2lnbmFsKHNpZ25hbC5TSUdBTFJNLCBsYW1iZGEgKmFyZ3M6IE5vbmUpCisgICAgICAgIHNpZ25hbC5zZXRpdGltZXIoc2lnbmFsLklUSU1FUl9SRUFMLCBjbHMuc2lnbmFsX2RlbGF5LAorICAgICAgICAgICAgICAgICAgICAgICAgIGNscy5zaWduYWxfcGVyaW9kKQorCisgICAgQGNsYXNzbWV0aG9kCisgICAgZGVmIHRlYXJEb3duQ2xhc3MoY2xzKToKKyAgICAgICAgc2lnbmFsLnNldGl0aW1lcihzaWduYWwuSVRJTUVSX1JFQUwsIDAsIDApCisgICAgICAgIHNpZ25hbC5zaWduYWwoc2lnbmFsLlNJR0FMUk0sIGNscy5vcmlnX2hhbmRsZXIpCisKKyAgICBAY2xhc3NtZXRob2QKKyAgICBkZWYgX3NsZWVwKGNscyk6CisgICAgICAgICMgZGVmYXVsdCBzbGVlcCB0aW1lCisgICAgICAgIHRpbWUuc2xlZXAoY2xzLnNsZWVwX3RpbWUpCisKKworQHVuaXR0ZXN0LnNraXBVbmxlc3MoaGFzYXR0cihzaWduYWwsICJzZXRpdGltZXIiKSwgInJlcXVpcmVzIHNldGl0aW1lcigpIikKK2NsYXNzIE9TRUlOVFJUZXN0KEVJTlRSQmFzZVRlc3QpOgorICAgICIiIiBFSU5UUiB0ZXN0cyBmb3IgdGhlIG9zIG1vZHVsZS4gIiIiCisKKyAgICBkZWYgX3Rlc3Rfd2FpdF9tdWx0aXBsZShzZWxmLCB3YWl0X2Z1bmMpOgorICAgICAgICBudW0gPSAzCisgICAgICAgIGZvciBfIGluIHJhbmdlKG51bSk6CisgICAgICAgICAgICBwaWQgPSBvcy5mb3JrKCkKKyAgICAgICAgICAgIGlmIHBpZCA9PSAwOgorICAgICAgICAgICAgICAgIHNlbGYuX3NsZWVwKCkKKyAgICAgICAgICAgICAgICBvcy5fZXhpdCgwKQorICAgICAgICBmb3IgXyBpbiByYW5nZShudW0pOgorICAgICAgICAgICAgd2FpdF9mdW5jKCkKKworICAgIGRlZiB0ZXN0X3dhaXQoc2VsZik6CisgICAgICAgIHNlbGYuX3Rlc3Rfd2FpdF9tdWx0aXBsZShvcy53YWl0KQorCisgICAgQHVuaXR0ZXN0LnNraXBVbmxlc3MoaGFzYXR0cihvcywgJ3dhaXQzJyksICdyZXF1aXJlcyB3YWl0MygpJykKKyAgICBkZWYgdGVzdF93YWl0MyhzZWxmKToKKyAgICAgICAgc2VsZi5fdGVzdF93YWl0X211bHRpcGxlKGxhbWJkYTogb3Mud2FpdDMoMCkpCisKKyAgICBkZWYgX3Rlc3Rfd2FpdF9zaW5nbGUoc2VsZiwgd2FpdF9mdW5jKToKKyAgICAgICAgcGlkID0gb3MuZm9yaygpCisgICAgICAgIGlmIHBpZCA9PSAwOgorICAgICAgICAgICAgc2VsZi5fc2xlZXAoKQorICAgICAgICAgICAgb3MuX2V4aXQoMCkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHdhaXRfZnVuYyhwaWQpCisKKyAgICBkZWYgdGVzdF93YWl0cGlkKHNlbGYpOgorICAgICAgICBzZWxmLl90ZXN0X3dhaXRfc2luZ2xlKGxhbWJkYSBwaWQ6IG9zLndhaXRwaWQocGlkLCAwKSkKKworICAgIEB1bml0dGVzdC5za2lwVW5sZXNzKGhhc2F0dHIob3MsICd3YWl0NCcpLCAncmVxdWlyZXMgd2FpdDQoKScpCisgICAgZGVmIHRlc3Rfd2FpdDQoc2VsZik6CisgICAgICAgIHNlbGYuX3Rlc3Rfd2FpdF9zaW5nbGUobGFtYmRhIHBpZDogb3Mud2FpdDQocGlkLCAwKSkKKworICAgIGRlZiB0ZXN0X3JlYWQoc2VsZik6CisgICAgICAgIHJkLCB3ciA9IG9zLnBpcGUoKQorICAgICAgICBzZWxmLmFkZENsZWFudXAob3MuY2xvc2UsIHJkKQorICAgICAgICAjIHdyIGNsb3NlZCBleHBsaWNpdGx5IGJ5IHBhcmVudAorCisgICAgICAgICMgdGhlIHBheWxvYWQgYmVsb3cgYXJlIHNtYWxsZXIgdGhhbiBQSVBFX0JVRiwgaGVuY2UgdGhlIHdyaXRlcyB3aWxsIGJlCisgICAgICAgICMgYXRvbWljCisgICAgICAgIGRhdGFzID0gW2IiaGVsbG8iLCBiIndvcmxkIiwgYiJzcGFtIl0KKworICAgICAgICBwaWQgPSBvcy5mb3JrKCkKKyAgICAgICAgaWYgcGlkID09IDA6CisgICAgICAgICAgICBvcy5jbG9zZShyZCkKKyAgICAgICAgICAgIGZvciBkYXRhIGluIGRhdGFzOgorICAgICAgICAgICAgICAgICMgbGV0IHRoZSBwYXJlbnQgYmxvY2sgb24gcmVhZCgpCisgICAgICAgICAgICAgICAgc2VsZi5fc2xlZXAoKQorICAgICAgICAgICAgICAgIG9zLndyaXRlKHdyLCBkYXRhKQorICAgICAgICAgICAgb3MuX2V4aXQoMCkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHNlbGYuYWRkQ2xlYW51cChvcy53YWl0cGlkLCBwaWQsIDApCisgICAgICAgICAgICBvcy5jbG9zZSh3cikKKyAgICAgICAgICAgIGZvciBkYXRhIGluIGRhdGFzOgorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZGF0YSwgb3MucmVhZChyZCwgbGVuKGRhdGEpKSkKKworICAgIGRlZiB0ZXN0X3dyaXRlKHNlbGYpOgorICAgICAgICByZCwgd3IgPSBvcy5waXBlKCkKKyAgICAgICAgc2VsZi5hZGRDbGVhbnVwKG9zLmNsb3NlLCB3cikKKyAgICAgICAgIyByZCBjbG9zZWQgZXhwbGljaXRseSBieSBwYXJlbnQKKworICAgICAgICAjIHdlIG11c3Qgd3JpdGUgZW5vdWdoIGRhdGEgZm9yIHRoZSB3cml0ZSgpIHRvIGJsb2NrCisgICAgICAgIGRhdGEgPSBiInh5eiIgKiBzdXBwb3J0LlBJUEVfTUFYX1NJWkUKKworICAgICAgICBwaWQgPSBvcy5mb3JrKCkKKyAgICAgICAgaWYgcGlkID09IDA6CisgICAgICAgICAgICBvcy5jbG9zZSh3cikKKyAgICAgICAgICAgIHJlYWRfZGF0YSA9IGlvLkJ5dGVzSU8oKQorICAgICAgICAgICAgIyBsZXQgdGhlIHBhcmVudCBibG9jayBvbiB3cml0ZSgpCisgICAgICAgICAgICBzZWxmLl9zbGVlcCgpCisgICAgICAgICAgICB3aGlsZSBsZW4ocmVhZF9kYXRhLmdldHZhbHVlKCkpIDwgbGVuKGRhdGEpOgorICAgICAgICAgICAgICAgIGNodW5rID0gb3MucmVhZChyZCwgMiAqIGxlbihkYXRhKSkKKyAgICAgICAgICAgICAgICByZWFkX2RhdGEud3JpdGUoY2h1bmspCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlYWRfZGF0YS5nZXR2YWx1ZSgpLCBkYXRhKQorICAgICAgICAgICAgb3MuX2V4aXQoMCkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIG9zLmNsb3NlKHJkKQorICAgICAgICAgICAgd3JpdHRlbiA9IDAKKyAgICAgICAgICAgIHdoaWxlIHdyaXR0ZW4gPCBsZW4oZGF0YSk6CisgICAgICAgICAgICAgICAgd3JpdHRlbiArPSBvcy53cml0ZSh3ciwgbWVtb3J5dmlldyhkYXRhKVt3cml0dGVuOl0pCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKDAsIG9zLndhaXRwaWQocGlkLCAwKVsxXSkKKworCitAdW5pdHRlc3Quc2tpcFVubGVzcyhoYXNhdHRyKHNpZ25hbCwgInNldGl0aW1lciIpLCAicmVxdWlyZXMgc2V0aXRpbWVyKCkiKQorY2xhc3MgU29ja2V0RUlOVFJUZXN0KEVJTlRSQmFzZVRlc3QpOgorICAgICIiIiBFSU5UUiB0ZXN0cyBmb3IgdGhlIHNvY2tldCBtb2R1bGUuICIiIgorCisgICAgQHVuaXR0ZXN0LnNraXBVbmxlc3MoaGFzYXR0cihzb2NrZXQsICdzb2NrZXRwYWlyJyksICduZWVkcyBzb2NrZXRwYWlyKCknKQorICAgIGRlZiBfdGVzdF9yZWN2KHNlbGYsIHJlY3ZfZnVuYyk6CisgICAgICAgIHJkLCB3ciA9IHNvY2tldC5zb2NrZXRwYWlyKCkKKyAgICAgICAgc2VsZi5hZGRDbGVhbnVwKHJkLmNsb3NlKQorICAgICAgICAjIHdyIGNsb3NlZCBleHBsaWNpdGx5IGJ5IHBhcmVudAorCisgICAgICAgICMgc2luZ2xlLWJ5dGUgcGF5bG9hZCBndWFyZCB1cyBhZ2FpbnN0IHBhcnRpYWwgcmVjdgorICAgICAgICBkYXRhcyA9IFtiIngiLCBiInkiLCBiInoiXQorCisgICAgICAgIHBpZCA9IG9zLmZvcmsoKQorICAgICAgICBpZiBwaWQgPT0gMDoKKyAgICAgICAgICAgIHJkLmNsb3NlKCkKKyAgICAgICAgICAgIGZvciBkYXRhIGluIGRhdGFzOgorICAgICAgICAgICAgICAgICMgbGV0IHRoZSBwYXJlbnQgYmxvY2sgb24gcmVjdigpCisgICAgICAgICAgICAgICAgc2VsZi5fc2xlZXAoKQorICAgICAgICAgICAgICAgIHdyLnNlbmRhbGwoZGF0YSkKKyAgICAgICAgICAgIG9zLl9leGl0KDApCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBzZWxmLmFkZENsZWFudXAob3Mud2FpdHBpZCwgcGlkLCAwKQorICAgICAgICAgICAgd3IuY2xvc2UoKQorICAgICAgICAgICAgZm9yIGRhdGEgaW4gZGF0YXM6CisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkYXRhLCByZWN2X2Z1bmMocmQsIGxlbihkYXRhKSkpCisKKyAgICBkZWYgdGVzdF9yZWN2KHNlbGYpOgorICAgICAgICBzZWxmLl90ZXN0X3JlY3Yoc29ja2V0LnNvY2tldC5yZWN2KQorCisgICAgQHVuaXR0ZXN0LnNraXBVbmxlc3MoaGFzYXR0cihzb2NrZXQuc29ja2V0LCAncmVjdm1zZycpLCAnbmVlZHMgcmVjdm1zZygpJykKKyAgICBkZWYgdGVzdF9yZWN2bXNnKHNlbGYpOgorICAgICAgICBzZWxmLl90ZXN0X3JlY3YobGFtYmRhIHNvY2ssIGRhdGE6IHNvY2sucmVjdm1zZyhkYXRhKVswXSkKKworICAgIGRlZiBfdGVzdF9zZW5kKHNlbGYsIHNlbmRfZnVuYyk6CisgICAgICAgIHJkLCB3ciA9IHNvY2tldC5zb2NrZXRwYWlyKCkKKyAgICAgICAgc2VsZi5hZGRDbGVhbnVwKHdyLmNsb3NlKQorICAgICAgICAjIHJkIGNsb3NlZCBleHBsaWNpdGx5IGJ5IHBhcmVudAorCisgICAgICAgICMgd2UgbXVzdCBzZW5kIGVub3VnaCBkYXRhIGZvciB0aGUgc2VuZCgpIHRvIGJsb2NrCisgICAgICAgIGRhdGEgPSBiInh5eiIgKiAoc3VwcG9ydC5TT0NLX01BWF9TSVpFIC8vIDMpCisKKyAgICAgICAgcGlkID0gb3MuZm9yaygpCisgICAgICAgIGlmIHBpZCA9PSAwOgorICAgICAgICAgICAgd3IuY2xvc2UoKQorICAgICAgICAgICAgIyBsZXQgdGhlIHBhcmVudCBibG9jayBvbiBzZW5kKCkKKyAgICAgICAgICAgIHNlbGYuX3NsZWVwKCkKKyAgICAgICAgICAgIHJlY2VpdmVkX2RhdGEgPSBieXRlYXJyYXkobGVuKGRhdGEpKQorICAgICAgICAgICAgbiA9IDAKKyAgICAgICAgICAgIHdoaWxlIG4gPCBsZW4oZGF0YSk6CisgICAgICAgICAgICAgICAgbiArPSByZC5yZWN2X2ludG8obWVtb3J5dmlldyhyZWNlaXZlZF9kYXRhKVtuOl0pCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlY2VpdmVkX2RhdGEsIGRhdGEpCisgICAgICAgICAgICBvcy5fZXhpdCgwKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgcmQuY2xvc2UoKQorICAgICAgICAgICAgd3JpdHRlbiA9IDAKKyAgICAgICAgICAgIHdoaWxlIHdyaXR0ZW4gPCBsZW4oZGF0YSk6CisgICAgICAgICAgICAgICAgc2VudCA9IHNlbmRfZnVuYyh3ciwgbWVtb3J5dmlldyhkYXRhKVt3cml0dGVuOl0pCisgICAgICAgICAgICAgICAgIyBzZW5kYWxsKCkgcmV0dXJucyBOb25lCisgICAgICAgICAgICAgICAgd3JpdHRlbiArPSBsZW4oZGF0YSkgaWYgc2VudCBpcyBOb25lIGVsc2Ugc2VudAorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgwLCBvcy53YWl0cGlkKHBpZCwgMClbMV0pCisKKyAgICBkZWYgdGVzdF9zZW5kKHNlbGYpOgorICAgICAgICBzZWxmLl90ZXN0X3NlbmQoc29ja2V0LnNvY2tldC5zZW5kKQorCisgICAgZGVmIHRlc3Rfc2VuZGFsbChzZWxmKToKKyAgICAgICAgc2VsZi5fdGVzdF9zZW5kKHNvY2tldC5zb2NrZXQuc2VuZGFsbCkKKworICAgIEB1bml0dGVzdC5za2lwVW5sZXNzKGhhc2F0dHIoc29ja2V0LnNvY2tldCwgJ3NlbmRtc2cnKSwgJ25lZWRzIHNlbmRtc2coKScpCisgICAgZGVmIHRlc3Rfc2VuZG1zZyhzZWxmKToKKyAgICAgICAgc2VsZi5fdGVzdF9zZW5kKGxhbWJkYSBzb2NrLCBkYXRhOiBzb2NrLnNlbmRtc2coW2RhdGFdKSkKKworICAgIGRlZiB0ZXN0X2FjY2VwdChzZWxmKToKKyAgICAgICAgc29jayA9IHNvY2tldC5zb2NrZXQoc29ja2V0LkFGX0lORVQsIHNvY2tldC5TT0NLX1NUUkVBTSkKKyAgICAgICAgc2VsZi5hZGRDbGVhbnVwKHNvY2suY2xvc2UpCisKKyAgICAgICAgc29jay5iaW5kKChzdXBwb3J0LkhPU1QsIDApKQorICAgICAgICBfLCBwb3J0ID0gc29jay5nZXRzb2NrbmFtZSgpCisgICAgICAgIHNvY2subGlzdGVuKCkKKworICAgICAgICBwaWQgPSBvcy5mb3JrKCkKKyAgICAgICAgaWYgcGlkID09IDA6CisgICAgICAgICAgICAjIGxldCBwYXJlbnQgYmxvY2sgb24gYWNjZXB0KCkKKyAgICAgICAgICAgIHNlbGYuX3NsZWVwKCkKKyAgICAgICAgICAgIHdpdGggc29ja2V0LmNyZWF0ZV9jb25uZWN0aW9uKChzdXBwb3J0LkhPU1QsIHBvcnQpKToKKyAgICAgICAgICAgICAgICBzZWxmLl9zbGVlcCgpCisgICAgICAgICAgICBvcy5fZXhpdCgwKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgc2VsZi5hZGRDbGVhbnVwKG9zLndhaXRwaWQsIHBpZCwgMCkKKyAgICAgICAgICAgIGNsaWVudF9zb2NrLCBfID0gc29jay5hY2NlcHQoKQorICAgICAgICAgICAgY2xpZW50X3NvY2suY2xvc2UoKQorCisgICAgQHVuaXR0ZXN0LnNraXBVbmxlc3MoaGFzYXR0cihvcywgJ21rZmlmbycpLCAnbmVlZHMgbWtmaWZvKCknKQorICAgIGRlZiBfdGVzdF9vcGVuKHNlbGYsIGRvX29wZW5fY2xvc2VfcmVhZGVyLCBkb19vcGVuX2Nsb3NlX3dyaXRlcik6CisgICAgICAgICMgVXNlIGEgZmlmbzogdW50aWwgdGhlIGNoaWxkIG9wZW5zIGl0IGZvciByZWFkaW5nLCB0aGUgcGFyZW50IHdpbGwKKyAgICAgICAgIyBibG9jayB3aGVuIHRyeWluZyB0byBvcGVuIGl0IGZvciB3cml0aW5nLgorICAgICAgICBzdXBwb3J0LnVubGluayhzdXBwb3J0LlRFU1RGTikKKyAgICAgICAgb3MubWtmaWZvKHN1cHBvcnQuVEVTVEZOKQorICAgICAgICBzZWxmLmFkZENsZWFudXAoc3VwcG9ydC51bmxpbmssIHN1cHBvcnQuVEVTVEZOKQorCisgICAgICAgIHBpZCA9IG9zLmZvcmsoKQorICAgICAgICBpZiBwaWQgPT0gMDoKKyAgICAgICAgICAgICMgbGV0IHRoZSBwYXJlbnQgYmxvY2sKKyAgICAgICAgICAgIHNlbGYuX3NsZWVwKCkKKyAgICAgICAgICAgIGRvX29wZW5fY2xvc2VfcmVhZGVyKHN1cHBvcnQuVEVTVEZOKQorICAgICAgICAgICAgb3MuX2V4aXQoMCkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHNlbGYuYWRkQ2xlYW51cChvcy53YWl0cGlkLCBwaWQsIDApCisgICAgICAgICAgICBkb19vcGVuX2Nsb3NlX3dyaXRlcihzdXBwb3J0LlRFU1RGTikKKworICAgIGRlZiB0ZXN0X29wZW4oc2VsZik6CisgICAgICAgIHNlbGYuX3Rlc3Rfb3BlbihsYW1iZGEgcGF0aDogb3BlbihwYXRoLCAncicpLmNsb3NlKCksCisgICAgICAgICAgICAgICAgICAgICAgICBsYW1iZGEgcGF0aDogb3BlbihwYXRoLCAndycpLmNsb3NlKCkpCisKKyAgICBkZWYgdGVzdF9vc19vcGVuKHNlbGYpOgorICAgICAgICBzZWxmLl90ZXN0X29wZW4obGFtYmRhIHBhdGg6IG9zLmNsb3NlKG9zLm9wZW4ocGF0aCwgb3MuT19SRE9OTFkpKSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGxhbWJkYSBwYXRoOiBvcy5jbG9zZShvcy5vcGVuKHBhdGgsIG9zLk9fV1JPTkxZKSkpCisKKworZGVmIHRlc3RfbWFpbigpOgorICAgIHN1cHBvcnQucnVuX3VuaXR0ZXN0KE9TRUlOVFJUZXN0LCBTb2NrZXRFSU5UUlRlc3QpCisKKworaWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoKKyAgICB0ZXN0X21haW4oKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvZm9ya193YWl0LnB5IGIvTGliL3Rlc3QvZm9ya193YWl0LnB5CmluZGV4IDE5YjU0ZWMuLjcxMzAzOWQgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L2Zvcmtfd2FpdC5weQorKysgYi9MaWIvdGVzdC9mb3JrX3dhaXQucHkKQEAgLTQ4LDcgKzQ4LDEyIEBACiAgICAgICAgIGZvciBpIGluIHJhbmdlKE5VTV9USFJFQURTKToKICAgICAgICAgICAgIF90aHJlYWQuc3RhcnRfbmV3KHNlbGYuZiwgKGksKSkKIAotICAgICAgICB0aW1lLnNsZWVwKExPTkdTTEVFUCkKKyAgICAgICAgIyBidXN5LWxvb3AgdG8gd2FpdCBmb3IgdGhyZWFkcworICAgICAgICBkZWFkbGluZSA9IHRpbWUubW9ub3RvbmljKCkgKyAxMC4wCisgICAgICAgIHdoaWxlIGxlbihzZWxmLmFsaXZlKSA8IE5VTV9USFJFQURTOgorICAgICAgICAgICAgdGltZS5zbGVlcCgwLjEpCisgICAgICAgICAgICBpZiBkZWFkbGluZSA8IHRpbWUubW9ub3RvbmljKCk6CisgICAgICAgICAgICAgICAgYnJlYWsKIAogICAgICAgICBhID0gc29ydGVkKHNlbGYuYWxpdmUua2V5cygpKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGEsIGxpc3QocmFuZ2UoTlVNX1RIUkVBRFMpKSkKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L2ltZ2hkcmRhdGEvcHl0aG9uLmV4ciBiL0xpYi90ZXN0L2ltZ2hkcmRhdGEvcHl0aG9uLmV4cgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NzNjODFlCi0tLSAvZGV2L251bGwKKysrIGIvTGliL3Rlc3QvaW1naGRyZGF0YS9weXRob24uZXhyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L2ltZ2hkcmRhdGEvcHl0aG9uLndlYnAgYi9MaWIvdGVzdC9pbWdoZHJkYXRhL3B5dGhvbi53ZWJwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU4MjRlYzcKLS0tIC9kZXYvbnVsbAorKysgYi9MaWIvdGVzdC9pbWdoZHJkYXRhL3B5dGhvbi53ZWJwCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L2luc3BlY3RfZm9kZGVyMi5weSBiL0xpYi90ZXN0L2luc3BlY3RfZm9kZGVyMi5weQppbmRleCBiZDcxMDZmLi5lNDUyMjM1IDEwMDY0NAotLS0gYS9MaWIvdGVzdC9pbnNwZWN0X2ZvZGRlcjIucHkKKysrIGIvTGliL3Rlc3QvaW5zcGVjdF9mb2RkZXIyLnB5CkBAIC0xMDksMyArMTA5LDE2IEBACiAjbGluZSAxMDkKIGRlZiBrZXl3b3JkX29ubHlfYXJnKCosIGFyZyk6CiAgICAgcGFzcworCitmcm9tIGZ1bmN0b29scyBpbXBvcnQgd3JhcHMKKworZGVmIGRlY29yYXRvcihmdW5jKToKKyAgICBAd3JhcHMoZnVuYykKKyAgICBkZWYgZmFrZSgpOgorICAgICAgICByZXR1cm4gNDIKKyAgICByZXR1cm4gZmFrZQorCisjbGluZSAxMjEKK0BkZWNvcmF0b3IKK2RlZiByZWFsKCk6CisgICAgcmV0dXJuIDIwCmRpZmYgLS1naXQgYS9MaWIvdGVzdC9saXN0X3Rlc3RzLnB5IGIvTGliL3Rlc3QvbGlzdF90ZXN0cy5weQppbmRleCA0MmUxMThiLi45MDY5MzM3IDEwMDY0NAotLS0gYS9MaWIvdGVzdC9saXN0X3Rlc3RzLnB5CisrKyBiL0xpYi90ZXN0L2xpc3RfdGVzdHMucHkKQEAgLTMwLDYgKzMwLDEyIEBACiAgICAgICAgIHNlbGYuYXNzZXJ0Tm90RXF1YWwoaWQoYSksIGlkKGIpKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGEsIGIpCiAKKyAgICBkZWYgdGVzdF9nZXRpdGVtX2Vycm9yKHNlbGYpOgorICAgICAgICBtc2cgPSAibGlzdCBpbmRpY2VzIG11c3QgYmUgaW50ZWdlcnMgb3Igc2xpY2VzIgorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoVHlwZUVycm9yLCBtc2cpOgorICAgICAgICAgICAgYSA9IFtdCisgICAgICAgICAgICBhWydhJ10gPSAicHl0aG9uIgorCiAgICAgZGVmIHRlc3RfcmVwcihzZWxmKToKICAgICAgICAgbDAgPSBbXQogICAgICAgICBsMiA9IFswLCAxLCAyXQpAQCAtMTIwLDYgKzEyNiwxMCBAQAogICAgICAgICBhWy0xXSA9IDkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChhLCBzZWxmLnR5cGUydGVzdChbNSw2LDcsOCw5XSkpCiAKKyAgICAgICAgbXNnID0gImxpc3QgaW5kaWNlcyBtdXN0IGJlIGludGVnZXJzIG9yIHNsaWNlcyIKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlc1JlZ2V4KFR5cGVFcnJvciwgbXNnKToKKyAgICAgICAgICAgIGFbJ2EnXSA9ICJweXRob24iCisKICAgICBkZWYgdGVzdF9kZWxpdGVtKHNlbGYpOgogICAgICAgICBhID0gc2VsZi50eXBlMnRlc3QoWzAsIDFdKQogICAgICAgICBkZWwgYVsxXQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvbG9ja190ZXN0cy5weSBiL0xpYi90ZXN0L2xvY2tfdGVzdHMucHkKaW5kZXggMWNiY2VhMi4uMTM2ZjFjMyAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvbG9ja190ZXN0cy5weQorKysgYi9MaWIvdGVzdC9sb2NrX3Rlc3RzLnB5CkBAIC04Miw3ICs4MiwxMyBAQAogCiAgICAgZGVmIHRlc3RfcmVwcihzZWxmKToKICAgICAgICAgbG9jayA9IHNlbGYubG9ja3R5cGUoKQotICAgICAgICByZXByKGxvY2spCisgICAgICAgIHNlbGYuYXNzZXJ0UmVnZXgocmVwcihsb2NrKSwgIjx1bmxvY2tlZCAuKiBvYmplY3QgKC4qKT9hdCAuKj4iKQorICAgICAgICBkZWwgbG9jaworCisgICAgZGVmIHRlc3RfbG9ja2VkX3JlcHIoc2VsZik6CisgICAgICAgIGxvY2sgPSBzZWxmLmxvY2t0eXBlKCkKKyAgICAgICAgbG9jay5hY3F1aXJlKCkKKyAgICAgICAgc2VsZi5hc3NlcnRSZWdleChyZXByKGxvY2spLCAiPGxvY2tlZCAuKiBvYmplY3QgKC4qKT9hdCAuKj4iKQogICAgICAgICBkZWwgbG9jawogCiAgICAgZGVmIHRlc3RfYWNxdWlyZV9kZXN0cm95KHNlbGYpOgpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvbW9ja19zb2NrZXQucHkgYi9MaWIvdGVzdC9tb2NrX3NvY2tldC5weQppbmRleCBlMzY3MjRmLi5iMjhjNDczIDEwMDY0NAotLS0gYS9MaWIvdGVzdC9tb2NrX3NvY2tldC5weQorKysgYi9MaWIvdGVzdC9tb2NrX3NvY2tldC5weQpAQCAtMzUsOCArMzUsOSBAQAogY2xhc3MgTW9ja1NvY2tldDoKICAgICAiIiJNb2NrIHNvY2tldCBvYmplY3QgdXNlZCBieSBzbXRwZCBhbmQgc210cGxpYiB0ZXN0cy4KICAgICAiIiIKLSAgICBkZWYgX19pbml0X18oc2VsZik6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIGZhbWlseT1Ob25lKToKICAgICAgICAgZ2xvYmFsIF9yZXBseV9kYXRhCisgICAgICAgIHNlbGYuZmFtaWx5ID0gZmFtaWx5CiAgICAgICAgIHNlbGYub3V0cHV0ID0gW10KICAgICAgICAgc2VsZi5saW5lcyA9IFtdCiAgICAgICAgIGlmIF9yZXBseV9kYXRhOgpAQCAtMTAxLDE1ICsxMDIsMTQgQEAKICAgICAgICAgcmV0dXJuIGxlbihkYXRhKQogCiAgICAgZGVmIGdldHBlZXJuYW1lKHNlbGYpOgotICAgICAgICByZXR1cm4gJ3BlZXInCisgICAgICAgIHJldHVybiAoJ3BlZXItYWRkcmVzcycsICdwZWVyLXBvcnQnKQogCiAgICAgZGVmIGNsb3NlKHNlbGYpOgogICAgICAgICBwYXNzCiAKIAogZGVmIHNvY2tldChmYW1pbHk9Tm9uZSwgdHlwZT1Ob25lLCBwcm90bz1Ob25lKToKLSAgICByZXR1cm4gTW9ja1NvY2tldCgpCi0KKyAgICByZXR1cm4gTW9ja1NvY2tldChmYW1pbHkpCiAKIGRlZiBjcmVhdGVfY29ubmVjdGlvbihhZGRyZXNzLCB0aW1lb3V0PXNvY2tldF9tb2R1bGUuX0dMT0JBTF9ERUZBVUxUX1RJTUVPVVQsCiAgICAgICAgICAgICAgICAgICAgICAgc291cmNlX2FkZHJlc3M9Tm9uZSk6CkBAIC0xNDQsMTMgKzE0NCwxNiBAQAogZGVmIGdldGhvc3RieW5hbWUobmFtZSk6CiAgICAgcmV0dXJuICIiCiAKK2RlZiBnZXRhZGRyaW5mbygqYXJncywgKiprdyk6CisgICAgcmV0dXJuIHNvY2tldF9tb2R1bGUuZ2V0YWRkcmluZm8oKmFyZ3MsICoqa3cpCiAKIGdhaWVycm9yID0gc29ja2V0X21vZHVsZS5nYWllcnJvcgogZXJyb3IgPSBzb2NrZXRfbW9kdWxlLmVycm9yCiAKIAogIyBDb25zdGFudHMKLUFGX0lORVQgPSBOb25lCi1TT0NLX1NUUkVBTSA9IE5vbmUKK0FGX0lORVQgPSBzb2NrZXRfbW9kdWxlLkFGX0lORVQKK0FGX0lORVQ2ID0gc29ja2V0X21vZHVsZS5BRl9JTkVUNgorU09DS19TVFJFQU0gPSBzb2NrZXRfbW9kdWxlLlNPQ0tfU1RSRUFNCiBTT0xfU09DS0VUID0gTm9uZQogU09fUkVVU0VBRERSID0gTm9uZQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvcGlja2xldGVzdGVyLnB5IGIvTGliL3Rlc3QvcGlja2xldGVzdGVyLnB5CmluZGV4IDU1MjA1ZDEuLmY4MzcyZTMgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3BpY2tsZXRlc3Rlci5weQorKysgYi9MaWIvdGVzdC9waWNrbGV0ZXN0ZXIucHkKQEAgLTExNTQsMTYgKzExNTQsNjIgQEAKICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEdyZWF0ZXJFcXVhbChudW1fYWRkaXRlbXMsIDIpCiAKICAgICBkZWYgdGVzdF9zaW1wbGVfbmV3b2JqKHNlbGYpOgotICAgICAgICB4ID0gb2JqZWN0Ll9fbmV3X18oU2ltcGxlTmV3T2JqKSAgIyBhdm9pZCBfX2luaXRfXworICAgICAgICB4ID0gU2ltcGxlTmV3T2JqLl9fbmV3X18oU2ltcGxlTmV3T2JqLCAweGZhY2UpICAjIGF2b2lkIF9faW5pdF9fCiAgICAgICAgIHguYWJjID0gNjY2CiAgICAgICAgIGZvciBwcm90byBpbiBwcm90b2NvbHM6Ci0gICAgICAgICAgICBzID0gc2VsZi5kdW1wcyh4LCBwcm90bykKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwob3Bjb2RlX2luX3BpY2tsZShwaWNrbGUuTkVXT0JKLCBzKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMiA8PSBwcm90byA8IDQpCi0gICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG9wY29kZV9pbl9waWNrbGUocGlja2xlLk5FV09CSl9FWCwgcyksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3RvID49IDQpCi0gICAgICAgICAgICB5ID0gc2VsZi5sb2FkcyhzKSAgICMgd2lsbCByYWlzZSBUeXBlRXJyb3IgaWYgX19pbml0X18gY2FsbGVkCi0gICAgICAgICAgICBzZWxmLmFzc2VydF9pc19jb3B5KHgsIHkpCisgICAgICAgICAgICB3aXRoIHNlbGYuc3ViVGVzdChwcm90bz1wcm90byk6CisgICAgICAgICAgICAgICAgcyA9IHNlbGYuZHVtcHMoeCwgcHJvdG8pCisgICAgICAgICAgICAgICAgaWYgcHJvdG8gPCAxOgorICAgICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEluKGInXG5MNjQyMDYnLCBzKSAgIyBMT05HCisgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRJbihiJ01ceGNlXHhmYScsIHMpICAjIEJJTklOVDIKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG9wY29kZV9pbl9waWNrbGUocGlja2xlLk5FV09CSiwgcyksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyIDw9IHByb3RvKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2Uob3Bjb2RlX2luX3BpY2tsZShwaWNrbGUuTkVXT0JKX0VYLCBzKSkKKyAgICAgICAgICAgICAgICB5ID0gc2VsZi5sb2FkcyhzKSAgICMgd2lsbCByYWlzZSBUeXBlRXJyb3IgaWYgX19pbml0X18gY2FsbGVkCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRfaXNfY29weSh4LCB5KQorCisgICAgZGVmIHRlc3RfY29tcGxleF9uZXdvYmooc2VsZik6CisgICAgICAgIHggPSBDb21wbGV4TmV3T2JqLl9fbmV3X18oQ29tcGxleE5ld09iaiwgMHhmYWNlKSAgIyBhdm9pZCBfX2luaXRfXworICAgICAgICB4LmFiYyA9IDY2NgorICAgICAgICBmb3IgcHJvdG8gaW4gcHJvdG9jb2xzOgorICAgICAgICAgICAgd2l0aCBzZWxmLnN1YlRlc3QocHJvdG89cHJvdG8pOgorICAgICAgICAgICAgICAgIHMgPSBzZWxmLmR1bXBzKHgsIHByb3RvKQorICAgICAgICAgICAgICAgIGlmIHByb3RvIDwgMToKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRJbihiJ1xuTDY0MjA2JywgcykgICMgTE9ORworICAgICAgICAgICAgICAgIGVsaWYgcHJvdG8gPCAyOgorICAgICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEluKGInTVx4Y2VceGZhJywgcykgICMgQklOSU5UMgorICAgICAgICAgICAgICAgIGVsaWYgcHJvdG8gPCA0OgorICAgICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEluKGInWFx4MDRceDAwXHgwMFx4MDBGQUNFJywgcykgICMgQklOVU5JQ09ERQorICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SW4oYidceDhjXHgwNEZBQ0UnLCBzKSAgIyBTSE9SVF9CSU5VTklDT0RFCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChvcGNvZGVfaW5fcGlja2xlKHBpY2tsZS5ORVdPQkosIHMpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMiA8PSBwcm90bykKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEZhbHNlKG9wY29kZV9pbl9waWNrbGUocGlja2xlLk5FV09CSl9FWCwgcykpCisgICAgICAgICAgICAgICAgeSA9IHNlbGYubG9hZHMocykgICAjIHdpbGwgcmFpc2UgVHlwZUVycm9yIGlmIF9faW5pdF9fIGNhbGxlZAorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0X2lzX2NvcHkoeCwgeSkKKworICAgIGRlZiB0ZXN0X2NvbXBsZXhfbmV3b2JqX2V4KHNlbGYpOgorICAgICAgICB4ID0gQ29tcGxleE5ld09iakV4Ll9fbmV3X18oQ29tcGxleE5ld09iakV4LCAweGZhY2UpICAjIGF2b2lkIF9faW5pdF9fCisgICAgICAgIHguYWJjID0gNjY2CisgICAgICAgIGZvciBwcm90byBpbiBwcm90b2NvbHM6CisgICAgICAgICAgICB3aXRoIHNlbGYuc3ViVGVzdChwcm90bz1wcm90byk6CisgICAgICAgICAgICAgICAgaWYgMiA8PSBwcm90byA8IDQ6CisgICAgICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIHNlbGYuZHVtcHMsIHgsIHByb3RvKQorICAgICAgICAgICAgICAgICAgICBjb250aW51ZQorICAgICAgICAgICAgICAgIHMgPSBzZWxmLmR1bXBzKHgsIHByb3RvKQorICAgICAgICAgICAgICAgIGlmIHByb3RvIDwgMToKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRJbihiJ1xuTDY0MjA2JywgcykgICMgTE9ORworICAgICAgICAgICAgICAgIGVsaWYgcHJvdG8gPCAyOgorICAgICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEluKGInTVx4Y2VceGZhJywgcykgICMgQklOSU5UMgorICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgIGFzc2VydCBwcm90byA+PSA0CisgICAgICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SW4oYidceDhjXHgwNEZBQ0UnLCBzKSAgIyBTSE9SVF9CSU5VTklDT0RFCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShvcGNvZGVfaW5fcGlja2xlKHBpY2tsZS5ORVdPQkosIHMpKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwob3Bjb2RlX2luX3BpY2tsZShwaWNrbGUuTkVXT0JKX0VYLCBzKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQgPD0gcHJvdG8pCisgICAgICAgICAgICAgICAgeSA9IHNlbGYubG9hZHMocykgICAjIHdpbGwgcmFpc2UgVHlwZUVycm9yIGlmIF9faW5pdF9fIGNhbGxlZAorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0X2lzX2NvcHkoeCwgeSkKIAogICAgIGRlZiB0ZXN0X25ld29ial9saXN0X3Nsb3RzKHNlbGYpOgogICAgICAgICB4ID0gU2xvdExpc3QoWzEsIDIsIDNdKQpAQCAtMTY0NSw2ICsxNjkxLDI3IEBACiAgICAgICAgICAgICAgICAgICAgIHVucGlja2xlZCA9IHNlbGYubG9hZHMoc2VsZi5kdW1wcyhtZXRob2QsIHByb3RvKSkKICAgICAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtZXRob2QoKmFyZ3MpLCB1bnBpY2tsZWQoKmFyZ3MpKQogCisgICAgZGVmIHRlc3RfbG9jYWxfbG9va3VwX2Vycm9yKHNlbGYpOgorICAgICAgICAjIFRlc3QgdGhhdCB3aGljaG1vZHVsZSgpIGVycm9ycyBvdXQgY2xlYW5seSB3aGVuIGxvb2tpbmcgdXAKKyAgICAgICAgIyBhbiBhc3N1bWVkIGdsb2JhbGx5LXJlYWNoYWJsZSBvYmplY3QgZmFpbHMuCisgICAgICAgIGRlZiBmKCk6CisgICAgICAgICAgICBwYXNzCisgICAgICAgICMgU2luY2UgdGhlIGZ1bmN0aW9uIGlzIGxvY2FsLCBsb29rdXAgd2lsbCBmYWlsCisgICAgICAgIGZvciBwcm90byBpbiByYW5nZSgwLCBwaWNrbGUuSElHSEVTVF9QUk9UT0NPTCArIDEpOgorICAgICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcygoQXR0cmlidXRlRXJyb3IsIHBpY2tsZS5QaWNrbGluZ0Vycm9yKSk6CisgICAgICAgICAgICAgICAgcGlja2xldG9vbHMuZGlzKHNlbGYuZHVtcHMoZiwgcHJvdG8pKQorICAgICAgICAjIFNhbWUgd2l0aG91dCBhIF9fbW9kdWxlX18gYXR0cmlidXRlIChleGVyY2lzZXMgYSBkaWZmZXJlbnQgcGF0aAorICAgICAgICAjIGluIF9waWNrbGUuYykuCisgICAgICAgIGRlbCBmLl9fbW9kdWxlX18KKyAgICAgICAgZm9yIHByb3RvIGluIHJhbmdlKDAsIHBpY2tsZS5ISUdIRVNUX1BST1RPQ09MICsgMSk6CisgICAgICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKChBdHRyaWJ1dGVFcnJvciwgcGlja2xlLlBpY2tsaW5nRXJyb3IpKToKKyAgICAgICAgICAgICAgICBwaWNrbGV0b29scy5kaXMoc2VsZi5kdW1wcyhmLCBwcm90bykpCisgICAgICAgICMgWWV0IGEgZGlmZmVyZW50IHBhdGguCisgICAgICAgIGYuX19uYW1lX18gPSBmLl9fcXVhbG5hbWVfXworICAgICAgICBmb3IgcHJvdG8gaW4gcmFuZ2UoMCwgcGlja2xlLkhJR0hFU1RfUFJPVE9DT0wgKyAxKToKKyAgICAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoKEF0dHJpYnV0ZUVycm9yLCBwaWNrbGUuUGlja2xpbmdFcnJvcikpOgorICAgICAgICAgICAgICAgIHBpY2tsZXRvb2xzLmRpcyhzZWxmLmR1bXBzKGYsIHByb3RvKSkKKwogCiBjbGFzcyBCaWdtZW1QaWNrbGVUZXN0cyh1bml0dGVzdC5UZXN0Q2FzZSk6CiAKQEAgLTE4NzksMTIgKzE5NDYsMjAgQEAKIGNsYXNzIFNsb3RMaXN0KE15TGlzdCk6CiAgICAgX19zbG90c19fID0gWyJmb28iXQogCi1jbGFzcyBTaW1wbGVOZXdPYmoob2JqZWN0KToKLSAgICBkZWYgX19pbml0X18oc2VsZiwgYSwgYiwgYyk6CitjbGFzcyBTaW1wbGVOZXdPYmooaW50KToKKyAgICBkZWYgX19pbml0X18oc2VsZiwgKmFyZ3MsICoqa3dhcmdzKToKICAgICAgICAgIyByYWlzZSBhbiBlcnJvciwgdG8gbWFrZSBzdXJlIHRoaXMgaXNuJ3QgY2FsbGVkCiAgICAgICAgIHJhaXNlIFR5cGVFcnJvcigiU2ltcGxlTmV3T2JqLl9faW5pdF9fKCkgZGlkbid0IGV4cGVjdCB0byBnZXQgY2FsbGVkIikKICAgICBkZWYgX19lcV9fKHNlbGYsIG90aGVyKToKLSAgICAgICAgcmV0dXJuIHNlbGYuX19kaWN0X18gPT0gb3RoZXIuX19kaWN0X18KKyAgICAgICAgcmV0dXJuIGludChzZWxmKSA9PSBpbnQob3RoZXIpIGFuZCBzZWxmLl9fZGljdF9fID09IG90aGVyLl9fZGljdF9fCisKK2NsYXNzIENvbXBsZXhOZXdPYmooU2ltcGxlTmV3T2JqKToKKyAgICBkZWYgX19nZXRuZXdhcmdzX18oc2VsZik6CisgICAgICAgIHJldHVybiAoJyVYJyAlIHNlbGYsIDE2KQorCitjbGFzcyBDb21wbGV4TmV3T2JqRXgoU2ltcGxlTmV3T2JqKToKKyAgICBkZWYgX19nZXRuZXdhcmdzX2V4X18oc2VsZik6CisgICAgICAgIHJldHVybiAoJyVYJyAlIHNlbGYsKSwgeydiYXNlJzogMTZ9CiAKIGNsYXNzIEJhZEdldGF0dHI6CiAgICAgZGVmIF9fZ2V0YXR0cl9fKHNlbGYsIGtleSk6CmRpZmYgLS1naXQgYS9MaWIvdGVzdC9weXN0b25lLnB5IGIvTGliL3Rlc3QvcHlzdG9uZS5weQppbmRleCBhNDFmMWU1Li4xZjY3ZTY2IDEwMDc1NQotLS0gYS9MaWIvdGVzdC9weXN0b25lLnB5CisrKyBiL0xpYi90ZXN0L3B5c3RvbmUucHkKQEAgLTQxLDcgKzQxLDcgQEAKIAogTE9PUFMgPSA1MDAwMAogCi1mcm9tIHRpbWUgaW1wb3J0IGNsb2NrCitmcm9tIHRpbWUgaW1wb3J0IHRpbWUKIAogX192ZXJzaW9uX18gPSAiMS4yIgogCkBAIC05MywxMCArOTMsMTAgQEAKICAgICBnbG9iYWwgUHRyR2xiCiAgICAgZ2xvYmFsIFB0ckdsYk5leHQKIAotICAgIHN0YXJ0dGltZSA9IGNsb2NrKCkKKyAgICBzdGFydHRpbWUgPSB0aW1lKCkKICAgICBmb3IgaSBpbiByYW5nZShsb29wcyk6CiAgICAgICAgIHBhc3MKLSAgICBudWxsdGltZSA9IGNsb2NrKCkgLSBzdGFydHRpbWUKKyAgICBudWxsdGltZSA9IHRpbWUoKSAtIHN0YXJ0dGltZQogCiAgICAgUHRyR2xiTmV4dCA9IFJlY29yZCgpCiAgICAgUHRyR2xiID0gUmVjb3JkKCkKQEAgLTEwOCw3ICsxMDgsNyBAQAogICAgIFN0cmluZzFMb2MgPSAiREhSWVNUT05FIFBST0dSQU0sIDEnU1QgU1RSSU5HIgogICAgIEFycmF5Mkdsb2JbOF1bN10gPSAxMAogCi0gICAgc3RhcnR0aW1lID0gY2xvY2soKQorICAgIHN0YXJ0dGltZSA9IHRpbWUoKQogCiAgICAgZm9yIGkgaW4gcmFuZ2UobG9vcHMpOgogICAgICAgICBQcm9jNSgpCkBAIC0xMzQsNyArMTM0LDcgQEAKICAgICAgICAgSW50TG9jMiA9IDcgKiAoSW50TG9jMyAtIEludExvYzIpIC0gSW50TG9jMQogICAgICAgICBJbnRMb2MxID0gUHJvYzIoSW50TG9jMSkKIAotICAgIGJlbmNodGltZSA9IGNsb2NrKCkgLSBzdGFydHRpbWUgLSBudWxsdGltZQorICAgIGJlbmNodGltZSA9IHRpbWUoKSAtIHN0YXJ0dGltZSAtIG51bGx0aW1lCiAgICAgaWYgYmVuY2h0aW1lID09IDAuMDoKICAgICAgICAgbG9vcHNQZXJCZW5jaHRpbWUgPSAwLjAKICAgICBlbHNlOgpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvcmVncnRlc3QucHkgYi9MaWIvdGVzdC9yZWdydGVzdC5weQppbmRleCBiNjMzNjMxLi5lYTEyODdkIDEwMDc1NQotLS0gYS9MaWIvdGVzdC9yZWdydGVzdC5weQorKysgYi9MaWIvdGVzdC9yZWdydGVzdC5weQpAQCAtMTI3Niw2ICsxMjc2LDEwIEBACiAgICAgICAgICAgICAgICAgZGVmIHRlc3RfcnVubmVyKCk6CiAgICAgICAgICAgICAgICAgICAgIGxvYWRlciA9IHVuaXR0ZXN0LlRlc3RMb2FkZXIoKQogICAgICAgICAgICAgICAgICAgICB0ZXN0cyA9IGxvYWRlci5sb2FkVGVzdHNGcm9tTW9kdWxlKHRoZV9tb2R1bGUpCisgICAgICAgICAgICAgICAgICAgIGZvciBlcnJvciBpbiBsb2FkZXIuZXJyb3JzOgorICAgICAgICAgICAgICAgICAgICAgICAgcHJpbnQoZXJyb3IsIGZpbGU9c3lzLnN0ZGVycikKKyAgICAgICAgICAgICAgICAgICAgaWYgbG9hZGVyLmVycm9yczoKKyAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlvbigiZXJyb3JzIHdoaWxlIGxvYWRpbmcgdGVzdHMiKQogICAgICAgICAgICAgICAgICAgICBzdXBwb3J0LnJ1bl91bml0dGVzdCh0ZXN0cykKICAgICAgICAgICAgIHRlc3RfcnVubmVyKCkKICAgICAgICAgICAgIGlmIGh1bnRybGVha3M6CmRpZmYgLS1naXQgYS9MaWIvdGVzdC9zY3JpcHRfaGVscGVyLnB5IGIvTGliL3Rlc3Qvc2NyaXB0X2hlbHBlci5weQppbmRleCA4YzU5OWQxLi41NTMxYTM0IDEwMDY0NAotLS0gYS9MaWIvdGVzdC9zY3JpcHRfaGVscGVyLnB5CisrKyBiL0xpYi90ZXN0L3NjcmlwdF9oZWxwZXIucHkKQEAgLTE5LDcgKzE5LDcgQEAKICMgQ2FjaGVkIHJlc3VsdCBvZiB0aGUgZXhwZW5zaXZlIHRlc3QgcGVyZm9ybWVkIGluIHRoZSBmdW5jdGlvbiBiZWxvdy4KIF9fY2FjaGVkX2ludGVycF9yZXF1aXJlc19lbnZpcm9ubWVudCA9IE5vbmUKIAotZGVmIF9pbnRlcnByZXRlcl9yZXF1aXJlc19lbnZpcm9ubWVudCgpOgorZGVmIGludGVycHJldGVyX3JlcXVpcmVzX2Vudmlyb25tZW50KCk6CiAgICAgIiIiCiAgICAgUmV0dXJucyBUcnVlIGlmIG91ciBzeXMuZXhlY3V0YWJsZSBpbnRlcnByZXRlciByZXF1aXJlcyBlbnZpcm9ubWVudAogICAgIHZhcmlhYmxlcyBpbiBvcmRlciB0byBiZSBhYmxlIHRvIHJ1biBhdCBhbGwuCkBAIC01Miw3ICs1Miw3IEBACiAKICMgRXhlY3V0aW5nIHRoZSBpbnRlcnByZXRlciBpbiBhIHN1YnByb2Nlc3MKIGRlZiBfYXNzZXJ0X3B5dGhvbihleHBlY3RlZF9zdWNjZXNzLCAqYXJncywgKiplbnZfdmFycyk6Ci0gICAgZW52X3JlcXVpcmVkID0gX2ludGVycHJldGVyX3JlcXVpcmVzX2Vudmlyb25tZW50KCkKKyAgICBlbnZfcmVxdWlyZWQgPSBpbnRlcnByZXRlcl9yZXF1aXJlc19lbnZpcm9ubWVudCgpCiAgICAgaWYgJ19faXNvbGF0ZWQnIGluIGVudl92YXJzOgogICAgICAgICBpc29sYXRlZCA9IGVudl92YXJzLnBvcCgnX19pc29sYXRlZCcpCiAgICAgZWxzZToKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3NzbF9zZXJ2ZXJzLnB5IGIvTGliL3Rlc3Qvc3NsX3NlcnZlcnMucHkKaW5kZXggNzU5YjNmNC4uZjlkMzBjZiAxMDA2NDQKLS0tIGEvTGliL3Rlc3Qvc3NsX3NlcnZlcnMucHkKKysrIGIvTGliL3Rlc3Qvc3NsX3NlcnZlcnMucHkKQEAgLTE1MCw3ICsxNTAsNyBAQAogZGVmIG1ha2VfaHR0cHNfc2VydmVyKGNhc2UsICosIGNvbnRleHQ9Tm9uZSwgY2VydGZpbGU9Q0VSVEZJTEUsCiAgICAgICAgICAgICAgICAgICAgICAgaG9zdD1IT1NULCBoYW5kbGVyX2NsYXNzPU5vbmUpOgogICAgIGlmIGNvbnRleHQgaXMgTm9uZToKLSAgICAgICAgY29udGV4dCA9IHNzbC5TU0xDb250ZXh0KHNzbC5QUk9UT0NPTF9TU0x2MjMpCisgICAgICAgIGNvbnRleHQgPSBzc2wuY3JlYXRlX2RlZmF1bHRfY29udGV4dChzc2wuUHVycG9zZS5DTElFTlRfQVVUSCkKICAgICAjIFdlIGFzc3VtZSB0aGUgY2VydGZpbGUgY29udGFpbnMgYm90aCBwcml2YXRlIGtleSBhbmQgY2VydGlmaWNhdGUKICAgICBjb250ZXh0LmxvYWRfY2VydF9jaGFpbihjZXJ0ZmlsZSkKICAgICBzZXJ2ZXIgPSBIVFRQU1NlcnZlclRocmVhZChjb250ZXh0LCBob3N0LCBoYW5kbGVyX2NsYXNzKQpAQCAtMTgyLDYgKzE4Miw4IEBACiAgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgnLS1jdXJ2ZS1uYW1lJywgZGVzdD0nY3VydmVfbmFtZScsIHR5cGU9c3RyLAogICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9uPSdzdG9yZScsCiAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSdjdXJ2ZSBuYW1lIGZvciBFQy1iYXNlZCBEaWZmaWUtSGVsbG1hbicpCisgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgnLS1jaXBoZXJzJywgZGVzdD0nY2lwaGVycycsIHR5cGU9c3RyLAorICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0nYWxsb3dlZCBjaXBoZXIgbGlzdCcpCiAgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgnLS1kaCcsIGRlc3Q9J2RoX2ZpbGUnLCB0eXBlPXN0ciwgYWN0aW9uPSdzdG9yZScsCiAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSdQRU0gZmlsZSBjb250YWluaW5nIERIIHBhcmFtZXRlcnMnKQogICAgIGFyZ3MgPSBwYXJzZXIucGFyc2VfYXJncygpCkBAIC0xOTIsMTIgKzE5NCwxNCBAQAogICAgIGVsc2U6CiAgICAgICAgIGhhbmRsZXJfY2xhc3MgPSBSb290ZWRIVFRQUmVxdWVzdEhhbmRsZXIKICAgICAgICAgaGFuZGxlcl9jbGFzcy5yb290ID0gb3MuZ2V0Y3dkKCkKLSAgICBjb250ZXh0ID0gc3NsLlNTTENvbnRleHQoc3NsLlBST1RPQ09MX1RMU3YxKQorICAgIGNvbnRleHQgPSBzc2wuY3JlYXRlX2RlZmF1bHRfY29udGV4dChzc2wuUHVycG9zZS5DTElFTlRfQVVUSCkKICAgICBjb250ZXh0LmxvYWRfY2VydF9jaGFpbihDRVJURklMRSkKICAgICBpZiBhcmdzLmN1cnZlX25hbWU6CiAgICAgICAgIGNvbnRleHQuc2V0X2VjZGhfY3VydmUoYXJncy5jdXJ2ZV9uYW1lKQogICAgIGlmIGFyZ3MuZGhfZmlsZToKICAgICAgICAgY29udGV4dC5sb2FkX2RoX3BhcmFtcyhhcmdzLmRoX2ZpbGUpCisgICAgaWYgYXJncy5jaXBoZXJzOgorICAgICAgICBjb250ZXh0LnNldF9jaXBoZXJzKGFyZ3MuY2lwaGVycykKIAogICAgIHNlcnZlciA9IEhUVFBTU2VydmVyKCgiIiwgYXJncy5wb3J0KSwgaGFuZGxlcl9jbGFzcywgY29udGV4dCkKICAgICBpZiBhcmdzLnZlcmJvc2U6CmRpZmYgLS1naXQgYS9MaWIvdGVzdC9zdHJpbmdfdGVzdHMucHkgYi9MaWIvdGVzdC9zdHJpbmdfdGVzdHMucHkKaW5kZXggMjQyYTkzMS4uNmUyNjQ3NCAxMDA2NDQKLS0tIGEvTGliL3Rlc3Qvc3RyaW5nX3Rlc3RzLnB5CisrKyBiL0xpYi90ZXN0L3N0cmluZ190ZXN0cy5weQpAQCAtMTE3Niw4ICsxMTc2LDcgQEAKICAgICAgICAgc2VsZi5jaGVja3JhaXNlcyhUeXBlRXJyb3IsICdhYmMnLCAnX19tb2RfXycpCiAgICAgICAgIHNlbGYuY2hlY2tyYWlzZXMoVHlwZUVycm9yLCAnJShmb28pcycsICdfX21vZF9fJywgNDIpCiAgICAgICAgIHNlbGYuY2hlY2tyYWlzZXMoVHlwZUVycm9yLCAnJXMlcycsICdfX21vZF9fJywgKDQyLCkpCi0gICAgICAgIHdpdGggc2VsZi5hc3NlcnRXYXJucyhEZXByZWNhdGlvbldhcm5pbmcpOgotICAgICAgICAgICAgc2VsZi5jaGVja3JhaXNlcyhUeXBlRXJyb3IsICclYycsICdfX21vZF9fJywgKE5vbmUsKSkKKyAgICAgICAgc2VsZi5jaGVja3JhaXNlcyhUeXBlRXJyb3IsICclYycsICdfX21vZF9fJywgKE5vbmUsKSkKICAgICAgICAgc2VsZi5jaGVja3JhaXNlcyhWYWx1ZUVycm9yLCAnJShmb28nLCAnX19tb2RfXycsIHt9KQogICAgICAgICBzZWxmLmNoZWNrcmFpc2VzKFR5cGVFcnJvciwgJyUoZm9vKXMgJShiYXIpcycsICdfX21vZF9fJywgKCdmb28nLCA0MikpCiAgICAgICAgIHNlbGYuY2hlY2tyYWlzZXMoVHlwZUVycm9yLCAnJWQnLCAnX19tb2RfXycsICI0MiIpICMgbm90IG51bWVyaWMKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3N1cHBvcnQvX19pbml0X18ucHkgYi9MaWIvdGVzdC9zdXBwb3J0L19faW5pdF9fLnB5CmluZGV4IGQyMjMyNDIuLjdlZjY5ODAgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3N1cHBvcnQvX19pbml0X18ucHkKKysrIGIvTGliL3Rlc3Qvc3VwcG9ydC9fX2luaXRfXy5weQpAQCAtMTA0MCw3ICsxMDQwLDggQEAKICAgICAjIFZlcmlmeSB0aGUgcmVxdWlyZW1lbnQgYmVmb3JlIGRvd25sb2FkaW5nIHRoZSBmaWxlCiAgICAgcmVxdWlyZXMoJ3VybGZldGNoJykKIAotICAgIHByaW50KCdcdGZldGNoaW5nICVzIC4uLicgJSB1cmwsIGZpbGU9Z2V0X29yaWdpbmFsX3N0ZG91dCgpKQorICAgIGlmIHZlcmJvc2U6CisgICAgICAgIHByaW50KCdcdGZldGNoaW5nICVzIC4uLicgJSB1cmwsIGZpbGU9Z2V0X29yaWdpbmFsX3N0ZG91dCgpKQogICAgIG9wZW5lciA9IHVybGxpYi5yZXF1ZXN0LmJ1aWxkX29wZW5lcigpCiAgICAgaWYgZ3ppcDoKICAgICAgICAgb3BlbmVyLmFkZGhlYWRlcnMuYXBwZW5kKCgnQWNjZXB0LUVuY29kaW5nJywgJ2d6aXAnKSkKQEAgLTIxNTEsNiArMjE1Miw3IEBACiAgICAgZGlzYWJsZSB0aGUgY3JlYXRpb24gb2YgY29yZWR1bXAgZmlsZS4KICAgICAiIiIKICAgICBvbGRfdmFsdWUgPSBOb25lCisgICAgb2xkX21vZGVzID0gTm9uZQogCiAgICAgZGVmIF9fZW50ZXJfXyhzZWxmKToKICAgICAgICAgIiIiT24gV2luZG93cywgZGlzYWJsZSBXaW5kb3dzIEVycm9yIFJlcG9ydGluZyBkaWFsb2dzIHVzaW5nCkBAIC0yMTY4LDYgKzIxNzAsMjYgQEAKICAgICAgICAgICAgIFNFTV9OT0dQRkFVTFRFUlJPUkJPWCA9IDB4MDIKICAgICAgICAgICAgIHNlbGYub2xkX3ZhbHVlID0gc2VsZi5fazMyLlNldEVycm9yTW9kZShTRU1fTk9HUEZBVUxURVJST1JCT1gpCiAgICAgICAgICAgICBzZWxmLl9rMzIuU2V0RXJyb3JNb2RlKHNlbGYub2xkX3ZhbHVlIHwgU0VNX05PR1BGQVVMVEVSUk9SQk9YKQorCisgICAgICAgICAgICAjIFN1cHByZXNzIGFzc2VydCBkaWFsb2dzIGluIGRlYnVnIGJ1aWxkcworICAgICAgICAgICAgIyAoc2VlIGh0dHA6Ly9idWdzLnB5dGhvbi5vcmcvaXNzdWUyMzMxNCkKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICBpbXBvcnQgbXN2Y3J0CisgICAgICAgICAgICAgICAgbXN2Y3J0LkNydFNldFJlcG9ydE1vZGUKKyAgICAgICAgICAgIGV4Y2VwdCAoQXR0cmlidXRlRXJyb3IsIEltcG9ydEVycm9yKToKKyAgICAgICAgICAgICAgICAjIG5vIG1zdmNydCBvciBhIHJlbGVhc2UgYnVpbGQKKyAgICAgICAgICAgICAgICBwYXNzCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIHNlbGYub2xkX21vZGVzID0ge30KKyAgICAgICAgICAgICAgICBmb3IgcmVwb3J0X3R5cGUgaW4gW21zdmNydC5DUlRfV0FSTiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zdmNydC5DUlRfRVJST1IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc3ZjcnQuQ1JUX0FTU0VSVF06CisgICAgICAgICAgICAgICAgICAgIG9sZF9tb2RlID0gbXN2Y3J0LkNydFNldFJlcG9ydE1vZGUocmVwb3J0X3R5cGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXN2Y3J0LkNSVERCR19NT0RFX0ZJTEUpCisgICAgICAgICAgICAgICAgICAgIG9sZF9maWxlID0gbXN2Y3J0LkNydFNldFJlcG9ydEZpbGUocmVwb3J0X3R5cGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXN2Y3J0LkNSVERCR19GSUxFX1NUREVSUikKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5vbGRfbW9kZXNbcmVwb3J0X3R5cGVdID0gb2xkX21vZGUsIG9sZF9maWxlCisKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIGlmIHJlc291cmNlIGlzIG5vdCBOb25lOgogICAgICAgICAgICAgICAgIHRyeToKQEAgLTIxOTksNiArMjIyMSwxMiBAQAogCiAgICAgICAgIGlmIHN5cy5wbGF0Zm9ybS5zdGFydHN3aXRoKCd3aW4nKToKICAgICAgICAgICAgIHNlbGYuX2szMi5TZXRFcnJvck1vZGUoc2VsZi5vbGRfdmFsdWUpCisKKyAgICAgICAgICAgIGlmIHNlbGYub2xkX21vZGVzOgorICAgICAgICAgICAgICAgIGltcG9ydCBtc3ZjcnQKKyAgICAgICAgICAgICAgICBmb3IgcmVwb3J0X3R5cGUsIChvbGRfbW9kZSwgb2xkX2ZpbGUpIGluIHNlbGYub2xkX21vZGVzLml0ZW1zKCk6CisgICAgICAgICAgICAgICAgICAgIG1zdmNydC5DcnRTZXRSZXBvcnRNb2RlKHJlcG9ydF90eXBlLCBvbGRfbW9kZSkKKyAgICAgICAgICAgICAgICAgICAgbXN2Y3J0LkNydFNldFJlcG9ydEZpbGUocmVwb3J0X3R5cGUsIG9sZF9maWxlKQogICAgICAgICBlbHNlOgogICAgICAgICAgICAgaWYgcmVzb3VyY2UgaXMgbm90IE5vbmU6CiAgICAgICAgICAgICAgICAgdHJ5OgpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9hcmdwYXJzZS5weSBiL0xpYi90ZXN0L3Rlc3RfYXJncGFyc2UucHkKaW5kZXggMTE2NGYzZi4uZDdmOTBjZCAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9hcmdwYXJzZS5weQorKysgYi9MaWIvdGVzdC90ZXN0X2FyZ3BhcnNlLnB5CkBAIC0yMCwxNSArMjAsNiBAQAogCiBjbGFzcyBUZXN0Q2FzZSh1bml0dGVzdC5UZXN0Q2FzZSk6CiAKLSAgICBkZWYgYXNzZXJ0RXF1YWwoc2VsZiwgb2JqMSwgb2JqMik6Ci0gICAgICAgIGlmIG9iajEgIT0gb2JqMjoKLSAgICAgICAgICAgIHByaW50KCcnKQotICAgICAgICAgICAgcHJpbnQocmVwcihvYmoxKSkKLSAgICAgICAgICAgIHByaW50KHJlcHIob2JqMikpCi0gICAgICAgICAgICBwcmludChvYmoxKQotICAgICAgICAgICAgcHJpbnQob2JqMikKLSAgICAgICAgc3VwZXIoVGVzdENhc2UsIHNlbGYpLmFzc2VydEVxdWFsKG9iajEsIG9iajIpCi0KICAgICBkZWYgc2V0VXAoc2VsZik6CiAgICAgICAgICMgVGhlIHRlc3RzIGFzc3VtZSB0aGF0IGxpbmUgd3JhcHBpbmcgb2NjdXJzIGF0IDgwIGNvbHVtbnMsIGJ1dCB0aGlzCiAgICAgICAgICMgYmVoYXZpb3VyIGNhbiBiZSBvdmVycmlkZGVuIGJ5IHNldHRpbmcgdGhlIENPTFVNTlMgZW52aXJvbm1lbnQKQEAgLTc4LDkgKzY5LDYgQEAKICAgICBkZWYgX19lcV9fKHNlbGYsIG90aGVyKToKICAgICAgICAgcmV0dXJuIHZhcnMoc2VsZikgPT0gdmFycyhvdGhlcikKIAotICAgIGRlZiBfX25lX18oc2VsZiwgb3RoZXIpOgotICAgICAgICByZXR1cm4gbm90IChzZWxmID09IG90aGVyKQotCiAKIGNsYXNzIEFyZ3VtZW50UGFyc2VyRXJyb3IoRXhjZXB0aW9uKToKIApAQCAtNzY1LDYgKzc1MywzOSBAQAogICAgIF0KIAogCitjbGFzcyBUZXN0T3B0aW9uYWxzQWxsb3dMb25nQWJicmV2aWF0aW9uKFBhcnNlclRlc3RDYXNlKToKKyAgICAiIiJBbGxvdyBsb25nIG9wdGlvbnMgdG8gYmUgYWJicmV2aWF0ZWQgdW5hbWJpZ3VvdXNseSIiIgorCisgICAgYXJndW1lbnRfc2lnbmF0dXJlcyA9IFsKKyAgICAgICAgU2lnKCctLWZvbycpLAorICAgICAgICBTaWcoJy0tZm9vYmF6JyksCisgICAgICAgIFNpZygnLS1mb29ibGUnLCBhY3Rpb249J3N0b3JlX3RydWUnKSwKKyAgICBdCisgICAgZmFpbHVyZXMgPSBbJy0tZm9vYiA1JywgJy0tZm9vYiddCisgICAgc3VjY2Vzc2VzID0gWworICAgICAgICAoJycsIE5TKGZvbz1Ob25lLCBmb29iYXo9Tm9uZSwgZm9vYmxlPUZhbHNlKSksCisgICAgICAgICgnLS1mb28gNycsIE5TKGZvbz0nNycsIGZvb2Jhej1Ob25lLCBmb29ibGU9RmFsc2UpKSwKKyAgICAgICAgKCctLWZvb2JhIGEnLCBOUyhmb289Tm9uZSwgZm9vYmF6PSdhJywgZm9vYmxlPUZhbHNlKSksCisgICAgICAgICgnLS1mb29ibCAtLWZvbyBnJywgTlMoZm9vPSdnJywgZm9vYmF6PU5vbmUsIGZvb2JsZT1UcnVlKSksCisgICAgXQorCisKK2NsYXNzIFRlc3RPcHRpb25hbHNEaXNhbGxvd0xvbmdBYmJyZXZpYXRpb24oUGFyc2VyVGVzdENhc2UpOgorICAgICIiIkRvIG5vdCBhbGxvdyBhYmJyZXZpYXRpb25zIG9mIGxvbmcgb3B0aW9ucyBhdCBhbGwiIiIKKworICAgIHBhcnNlcl9zaWduYXR1cmUgPSBTaWcoYWxsb3dfYWJicmV2PUZhbHNlKQorICAgIGFyZ3VtZW50X3NpZ25hdHVyZXMgPSBbCisgICAgICAgIFNpZygnLS1mb28nKSwKKyAgICAgICAgU2lnKCctLWZvb2RsZScsIGFjdGlvbj0nc3RvcmVfdHJ1ZScpLAorICAgICAgICBTaWcoJy0tZm9vbmx5JyksCisgICAgXQorICAgIGZhaWx1cmVzID0gWyctZm9vbiAzJywgJy0tZm9vbiAzJywgJy0tZm9vZCcsICctLWZvb2QgLS1mb28gMiddCisgICAgc3VjY2Vzc2VzID0gWworICAgICAgICAoJycsIE5TKGZvbz1Ob25lLCBmb29kbGU9RmFsc2UsIGZvb25seT1Ob25lKSksCisgICAgICAgICgnLS1mb28gMycsIE5TKGZvbz0nMycsIGZvb2RsZT1GYWxzZSwgZm9vbmx5PU5vbmUpKSwKKyAgICAgICAgKCctLWZvb25seSA3IC0tZm9vZGxlIC0tZm9vIDInLCBOUyhmb289JzInLCBmb29kbGU9VHJ1ZSwgZm9vbmx5PSc3JykpLAorICAgIF0KKwogIyA9PT09PT09PT09PT09PT09CiAjIFBvc2l0aW9uYWwgdGVzdHMKICMgPT09PT09PT09PT09PT09PQpAQCAtMTk5MywxNCArMjAxNCw5IEBACiAgICAgICAgICAgICAnJycpKQogCiAgICAgZGVmIF90ZXN0X3N1YnBhcnNlcl9oZWxwKHNlbGYsIGFyZ3Nfc3RyLCBleHBlY3RlZF9oZWxwKToKLSAgICAgICAgdHJ5OgorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKEFyZ3VtZW50UGFyc2VyRXJyb3IpIGFzIGNtOgogICAgICAgICAgICAgc2VsZi5wYXJzZXIucGFyc2VfYXJncyhhcmdzX3N0ci5zcGxpdCgpKQotICAgICAgICBleGNlcHQgQXJndW1lbnRQYXJzZXJFcnJvcjoKLSAgICAgICAgICAgIGVyciA9IHN5cy5leGNfaW5mbygpWzFdCi0gICAgICAgICAgICBpZiBlcnIuc3Rkb3V0ICE9IGV4cGVjdGVkX2hlbHA6Ci0gICAgICAgICAgICAgICAgcHJpbnQocmVwcihleHBlY3RlZF9oZWxwKSkKLSAgICAgICAgICAgICAgICBwcmludChyZXByKGVyci5zdGRvdXQpKQotICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChlcnIuc3Rkb3V0LCBleHBlY3RlZF9oZWxwKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGV4cGVjdGVkX2hlbHAsIGNtLmV4Y2VwdGlvbi5zdGRvdXQpCiAKICAgICBkZWYgdGVzdF9zdWJwYXJzZXIxX2hlbHAoc2VsZik6CiAgICAgICAgIHNlbGYuX3Rlc3Rfc3VicGFyc2VyX2hlbHAoJzUuMCAxIC1oJywgdGV4dHdyYXAuZGVkZW50KCcnJ1wKQEAgLTI4NDYsMTUgKzI4NjIsMTUgQEAKIAogICAgIGRlZiB0ZXN0X2dldF9kZWZhdWx0KHNlbGYpOgogICAgICAgICBwYXJzZXIgPSBFcnJvclJhaXNpbmdBcmd1bWVudFBhcnNlcigpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoTm9uZSwgcGFyc2VyLmdldF9kZWZhdWx0KCJmb28iKSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChOb25lLCBwYXJzZXIuZ2V0X2RlZmF1bHQoImJhciIpKQorICAgICAgICBzZWxmLmFzc2VydElzTm9uZShwYXJzZXIuZ2V0X2RlZmF1bHQoImZvbyIpKQorICAgICAgICBzZWxmLmFzc2VydElzTm9uZShwYXJzZXIuZ2V0X2RlZmF1bHQoImJhciIpKQogCiAgICAgICAgIHBhcnNlci5hZGRfYXJndW1lbnQoIi0tZm9vIikKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChOb25lLCBwYXJzZXIuZ2V0X2RlZmF1bHQoImZvbyIpKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKE5vbmUsIHBhcnNlci5nZXRfZGVmYXVsdCgiYmFyIikpCisgICAgICAgIHNlbGYuYXNzZXJ0SXNOb25lKHBhcnNlci5nZXRfZGVmYXVsdCgiZm9vIikpCisgICAgICAgIHNlbGYuYXNzZXJ0SXNOb25lKHBhcnNlci5nZXRfZGVmYXVsdCgiYmFyIikpCiAKICAgICAgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgiLS1iYXIiLCB0eXBlPWludCwgZGVmYXVsdD00MikKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChOb25lLCBwYXJzZXIuZ2V0X2RlZmF1bHQoImZvbyIpKQorICAgICAgICBzZWxmLmFzc2VydElzTm9uZShwYXJzZXIuZ2V0X2RlZmF1bHQoImZvbyIpKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKDQyLCBwYXJzZXIuZ2V0X2RlZmF1bHQoImJhciIpKQogCiAgICAgICAgIHBhcnNlci5zZXRfZGVmYXVsdHMoZm9vPSJiYWRnZXIiKQpAQCAtMjg2OSwxOCArMjg4NSwxNiBAQAogCiAgICAgZGVmIHRlc3RfZW1wdHkoc2VsZik6CiAgICAgICAgIG5zID0gYXJncGFyc2UuTmFtZXNwYWNlKCkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgnJyBpbiBucywgRmFsc2UpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJycgbm90IGluIG5zLCBUcnVlKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCd4JyBpbiBucywgRmFsc2UpCisgICAgICAgIHNlbGYuYXNzZXJ0Tm90SW4oJycsIG5zKQorICAgICAgICBzZWxmLmFzc2VydE5vdEluKCd4JywgbnMpCiAKICAgICBkZWYgdGVzdF9ub25fZW1wdHkoc2VsZik6CiAgICAgICAgIG5zID0gYXJncGFyc2UuTmFtZXNwYWNlKHg9MSwgeT0yKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCd4JyBpbiBucywgVHJ1ZSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgneCcgbm90IGluIG5zLCBGYWxzZSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgneScgaW4gbnMsIFRydWUpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJycgaW4gbnMsIEZhbHNlKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCd4eCcgaW4gbnMsIEZhbHNlKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCd6JyBpbiBucywgRmFsc2UpCisgICAgICAgIHNlbGYuYXNzZXJ0Tm90SW4oJycsIG5zKQorICAgICAgICBzZWxmLmFzc2VydEluKCd4JywgbnMpCisgICAgICAgIHNlbGYuYXNzZXJ0SW4oJ3knLCBucykKKyAgICAgICAgc2VsZi5hc3NlcnROb3RJbigneHgnLCBucykKKyAgICAgICAgc2VsZi5hc3NlcnROb3RJbigneicsIG5zKQogCiAjID09PT09PT09PT09PT09PT09PT09PQogIyBIZWxwIGZvcm1hdHRpbmcgdGVzdHMKQEAgLTI5MzYsMTMgKzI5NTAsNiBAQAogICAgICAgICAgICAgZGVmIF90ZXN0KHNlbGYsIHRlc3RlciwgcGFyc2VyX3RleHQpOgogICAgICAgICAgICAgICAgIGV4cGVjdGVkX3RleHQgPSBnZXRhdHRyKHRlc3Rlciwgc2VsZi5mdW5jX3N1ZmZpeCkKICAgICAgICAgICAgICAgICBleHBlY3RlZF90ZXh0ID0gdGV4dHdyYXAuZGVkZW50KGV4cGVjdGVkX3RleHQpCi0gICAgICAgICAgICAgICAgaWYgZXhwZWN0ZWRfdGV4dCAhPSBwYXJzZXJfdGV4dDoKLSAgICAgICAgICAgICAgICAgICAgcHJpbnQocmVwcihleHBlY3RlZF90ZXh0KSkKLSAgICAgICAgICAgICAgICAgICAgcHJpbnQocmVwcihwYXJzZXJfdGV4dCkpCi0gICAgICAgICAgICAgICAgICAgIGZvciBjaGFyMSwgY2hhcjIgaW4gemlwKGV4cGVjdGVkX3RleHQsIHBhcnNlcl90ZXh0KToKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIGNoYXIxICE9IGNoYXIyOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByaW50KCdmaXJzdCBkaWZmOiAlciAlcicgJSAoY2hhcjEsIGNoYXIyKSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhawogICAgICAgICAgICAgICAgIHRlc3Rlci5hc3NlcnRFcXVhbChleHBlY3RlZF90ZXh0LCBwYXJzZXJfdGV4dCkKIAogICAgICAgICAgICAgZGVmIHRlc3RfZm9ybWF0KHNlbGYsIHRlc3Rlcik6CkBAIC00MjIzLDI0ICs0MjMwLDE3IEBACiAgICAgICAgIHNlbGYuYXNzZXJ0VmFsdWVFcnJvcignZm9vJywgYWN0aW9uPSdiYXonKQogICAgICAgICBzZWxmLmFzc2VydFZhbHVlRXJyb3IoJy0tZm9vJywgYWN0aW9uPSgnc3RvcmUnLCAnYXBwZW5kJykpCiAgICAgICAgIHBhcnNlciA9IGFyZ3BhcnNlLkFyZ3VtZW50UGFyc2VyKCkKLSAgICAgICAgdHJ5OgorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IpIGFzIGNtOgogICAgICAgICAgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgiLS1mb28iLCBhY3Rpb249InN0b3JlLXRydWUiKQotICAgICAgICBleGNlcHQgVmFsdWVFcnJvcjoKLSAgICAgICAgICAgIGUgPSBzeXMuZXhjX2luZm8oKVsxXQotICAgICAgICAgICAgZXhwZWN0ZWQgPSAndW5rbm93biBhY3Rpb24nCi0gICAgICAgICAgICBtc2cgPSAnZXhwZWN0ZWQgJXIsIGZvdW5kICVyJyAlIChleHBlY3RlZCwgZSkKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShleHBlY3RlZCBpbiBzdHIoZSksIG1zZykKKyAgICAgICAgc2VsZi5hc3NlcnRJbigndW5rbm93biBhY3Rpb24nLCBzdHIoY20uZXhjZXB0aW9uKSkKIAogICAgIGRlZiB0ZXN0X211bHRpcGxlX2Rlc3Qoc2VsZik6CiAgICAgICAgIHBhcnNlciA9IGFyZ3BhcnNlLkFyZ3VtZW50UGFyc2VyKCkKICAgICAgICAgcGFyc2VyLmFkZF9hcmd1bWVudChkZXN0PSdmb28nKQotICAgICAgICB0cnk6CisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvcikgYXMgY206CiAgICAgICAgICAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCdiYXInLCBkZXN0PSdiYXonKQotICAgICAgICBleGNlcHQgVmFsdWVFcnJvcjoKLSAgICAgICAgICAgIGUgPSBzeXMuZXhjX2luZm8oKVsxXQotICAgICAgICAgICAgZXhwZWN0ZWQgPSAnZGVzdCBzdXBwbGllZCB0d2ljZSBmb3IgcG9zaXRpb25hbCBhcmd1bWVudCcKLSAgICAgICAgICAgIG1zZyA9ICdleHBlY3RlZCAlciwgZm91bmQgJXInICUgKGV4cGVjdGVkLCBlKQotICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGV4cGVjdGVkIGluIHN0cihlKSwgbXNnKQorICAgICAgICBzZWxmLmFzc2VydEluKCdkZXN0IHN1cHBsaWVkIHR3aWNlIGZvciBwb3NpdGlvbmFsIGFyZ3VtZW50JywKKyAgICAgICAgICAgICAgICAgICAgICBzdHIoY20uZXhjZXB0aW9uKSkKIAogICAgIGRlZiB0ZXN0X25vX2FyZ3VtZW50X2FjdGlvbnMoc2VsZik6CiAgICAgICAgIGZvciBhY3Rpb24gaW4gWydzdG9yZV9jb25zdCcsICdzdG9yZV90cnVlJywgJ3N0b3JlX2ZhbHNlJywKQEAgLTQzOTcsMTggKzQzOTcsMTAgQEAKIGNsYXNzIFRlc3RPcHRpb25hbHNIZWxwVmVyc2lvbkFjdGlvbnMoVGVzdENhc2UpOgogICAgICIiIlRlc3QgdGhlIGhlbHAgYW5kIHZlcnNpb24gYWN0aW9ucyIiIgogCi0gICAgZGVmIF9nZXRfZXJyb3Ioc2VsZiwgZnVuYywgKmFyZ3MsICoqa3dhcmdzKToKLSAgICAgICAgdHJ5OgotICAgICAgICAgICAgZnVuYygqYXJncywgKiprd2FyZ3MpCi0gICAgICAgIGV4Y2VwdCBBcmd1bWVudFBhcnNlckVycm9yOgotICAgICAgICAgICAgcmV0dXJuIHN5cy5leGNfaW5mbygpWzFdCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhBcmd1bWVudFBhcnNlckVycm9yLCBmdW5jLCAqYXJncywgKiprd2FyZ3MpCi0KICAgICBkZWYgYXNzZXJ0UHJpbnRIZWxwRXhpdChzZWxmLCBwYXJzZXIsIGFyZ3Nfc3RyKToKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKLSAgICAgICAgICAgIHBhcnNlci5mb3JtYXRfaGVscCgpLAotICAgICAgICAgICAgc2VsZi5fZ2V0X2Vycm9yKHBhcnNlci5wYXJzZV9hcmdzLCBhcmdzX3N0ci5zcGxpdCgpKS5zdGRvdXQpCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoQXJndW1lbnRQYXJzZXJFcnJvcikgYXMgY206CisgICAgICAgICAgICBwYXJzZXIucGFyc2VfYXJncyhhcmdzX3N0ci5zcGxpdCgpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHBhcnNlci5mb3JtYXRfaGVscCgpLCBjbS5leGNlcHRpb24uc3Rkb3V0KQogCiAgICAgZGVmIGFzc2VydEFyZ3VtZW50UGFyc2VyRXJyb3Ioc2VsZiwgcGFyc2VyLCAqYXJncyk6CiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKEFyZ3VtZW50UGFyc2VyRXJyb3IsIHBhcnNlci5wYXJzZV9hcmdzLCBhcmdzKQpAQCAtNDQyMyw4ICs0NDE1LDkgQEAKICAgICBkZWYgdGVzdF92ZXJzaW9uX2Zvcm1hdChzZWxmKToKICAgICAgICAgcGFyc2VyID0gRXJyb3JSYWlzaW5nQXJndW1lbnRQYXJzZXIocHJvZz0nUFBQJykKICAgICAgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgnLXYnLCAnLS12ZXJzaW9uJywgYWN0aW9uPSd2ZXJzaW9uJywgdmVyc2lvbj0nJShwcm9nKXMgMy41JykKLSAgICAgICAgbXNnID0gc2VsZi5fZ2V0X2Vycm9yKHBhcnNlci5wYXJzZV9hcmdzLCBbJy12J10pLnN0ZG91dAotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCdQUFAgMy41XG4nLCBtc2cpCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoQXJndW1lbnRQYXJzZXJFcnJvcikgYXMgY206CisgICAgICAgICAgICBwYXJzZXIucGFyc2VfYXJncyhbJy12J10pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJ1BQUCAzLjVcbicsIGNtLmV4Y2VwdGlvbi5zdGRvdXQpCiAKICAgICBkZWYgdGVzdF92ZXJzaW9uX25vX2hlbHAoc2VsZik6CiAgICAgICAgIHBhcnNlciA9IEVycm9yUmFpc2luZ0FyZ3VtZW50UGFyc2VyKGFkZF9oZWxwPUZhbHNlKQpAQCAtNDQzNiw4ICs0NDI5LDkgQEAKICAgICBkZWYgdGVzdF92ZXJzaW9uX2FjdGlvbihzZWxmKToKICAgICAgICAgcGFyc2VyID0gRXJyb3JSYWlzaW5nQXJndW1lbnRQYXJzZXIocHJvZz0nWFhYJykKICAgICAgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgnLVYnLCBhY3Rpb249J3ZlcnNpb24nLCB2ZXJzaW9uPSclKHByb2cpcyAzLjcnKQotICAgICAgICBtc2cgPSBzZWxmLl9nZXRfZXJyb3IocGFyc2VyLnBhcnNlX2FyZ3MsIFsnLVYnXSkuc3Rkb3V0Ci0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJ1hYWCAzLjdcbicsIG1zZykKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhBcmd1bWVudFBhcnNlckVycm9yKSBhcyBjbToKKyAgICAgICAgICAgIHBhcnNlci5wYXJzZV9hcmdzKFsnLVYnXSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgnWFhYIDMuN1xuJywgY20uZXhjZXB0aW9uLnN0ZG91dCkKIAogICAgIGRlZiB0ZXN0X25vX2hlbHAoc2VsZik6CiAgICAgICAgIHBhcnNlciA9IEVycm9yUmFpc2luZ0FyZ3VtZW50UGFyc2VyKGFkZF9oZWxwPUZhbHNlKQpAQCAtNDYwNywxNCArNDYwMSwxMCBAQAogCiAgICAgICAgIHBhcnNlciA9IEVycm9yUmFpc2luZ0FyZ3VtZW50UGFyc2VyKHByb2c9J1BST0cnLCBhZGRfaGVscD1GYWxzZSkKICAgICAgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgneCcsIHR5cGU9c3BhbSkKLSAgICAgICAgdHJ5OgorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKEFyZ3VtZW50UGFyc2VyRXJyb3IpIGFzIGNtOgogICAgICAgICAgICAgcGFyc2VyLnBhcnNlX2FyZ3MoWydYWFgnXSkKLSAgICAgICAgZXhjZXB0IEFyZ3VtZW50UGFyc2VyRXJyb3I6Ci0gICAgICAgICAgICBleHBlY3RlZCA9ICd1c2FnZTogUFJPRyB4XG5QUk9HOiBlcnJvcjogYXJndW1lbnQgeDogc3BhbSFcbicKLSAgICAgICAgICAgIG1zZyA9IHN5cy5leGNfaW5mbygpWzFdLnN0ZGVycgotICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChleHBlY3RlZCwgbXNnKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgc2VsZi5mYWlsKCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgndXNhZ2U6IFBST0cgeFxuUFJPRzogZXJyb3I6IGFyZ3VtZW50IHg6IHNwYW0hXG4nLAorICAgICAgICAgICAgICAgICAgICAgICAgIGNtLmV4Y2VwdGlvbi5zdGRlcnIpCiAKICMgPT09PT09PT09PT09PT09PT09PT09PT09PQogIyBNZXNzYWdlQ29udGVudEVycm9yIHRlc3RzCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2FycmF5LnB5IGIvTGliL3Rlc3QvdGVzdF9hcnJheS5weQppbmRleCAwN2M5YmY5Li4xMGQ5OTQ2IDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2FycmF5LnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfYXJyYXkucHkKQEAgLTM5NCw3ICszOTQsOSBAQAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGEsIGIpCiAKICAgICBkZWYgdGVzdF90b2Zyb21zdHJpbmcoc2VsZik6Ci0gICAgICAgIG5iX3dhcm5pbmdzID0gNAorICAgICAgICAjIFdhcm5pbmdzIG5vdCByYWlzZWQgd2hlbiBhcmd1bWVudHMgYXJlIGluY29ycmVjdCBhcyBBcmd1bWVudCBDbGluaWMKKyAgICAgICAgIyBoYW5kbGVzIHRoYXQgYmVmb3JlIHRoZSB3YXJuaW5nIGNhbiBiZSByYWlzZWQuCisgICAgICAgIG5iX3dhcm5pbmdzID0gMgogICAgICAgICB3aXRoIHdhcm5pbmdzLmNhdGNoX3dhcm5pbmdzKHJlY29yZD1UcnVlKSBhcyByOgogICAgICAgICAgICAgd2FybmluZ3MuZmlsdGVyd2FybmluZ3MoImFsd2F5cyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlPXIiKHRvfGZyb20pc3RyaW5nXChcKSBpcyBkZXByZWNhdGVkIiwKQEAgLTEwMzksNiArMTA0MSwxMSBAQAogICAgICAgICAgICAgYSA9IGFycmF5LmFycmF5KHNlbGYudHlwZWNvZGUsICJmb28iKQogICAgICAgICAgICAgYSA9IGFycmF5LmFycmF5KHNlbGYudHlwZWNvZGUsIGFycmF5LmFycmF5KCd1JywgJ2ZvbycpKQogCisgICAgQHN1cHBvcnQuY3B5dGhvbl9vbmx5CisgICAgZGVmIHRlc3Rfb2Jzb2xldGVfd3JpdGVfbG9jayhzZWxmKToKKyAgICAgICAgZnJvbSBfdGVzdGNhcGkgaW1wb3J0IGdldGJ1ZmZlcl93aXRoX251bGxfdmlldworICAgICAgICBhID0gYXJyYXkuYXJyYXkoJ0InLCBiIiIpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKEJ1ZmZlckVycm9yLCBnZXRidWZmZXJfd2l0aF9udWxsX3ZpZXcsIGEpCiAKIGNsYXNzIFN0cmluZ1Rlc3QoQmFzZVRlc3QpOgogCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2FzZGxfcGFyc2VyLnB5IGIvTGliL3Rlc3QvdGVzdF9hc2RsX3BhcnNlci5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YTY0MjZhCi0tLSAvZGV2L251bGwKKysrIGIvTGliL3Rlc3QvdGVzdF9hc2RsX3BhcnNlci5weQpAQCAtMCwwICsxLDEyMiBAQAorIiIiVGVzdHMgZm9yIHRoZSBhc2RsIHBhcnNlciBpbiBQYXJzZXIvYXNkbC5weSIiIgorCitpbXBvcnQgaW1wb3J0bGliLm1hY2hpbmVyeQoraW1wb3J0IG9zCitmcm9tIG9zLnBhdGggaW1wb3J0IGRpcm5hbWUKK2ltcG9ydCBzeXMKK2ltcG9ydCBzeXNjb25maWcKK2ltcG9ydCB1bml0dGVzdAorCisKKyMgVGhpcyB0ZXN0IGlzIG9ubHkgcmVsZXZhbnQgZm9yIGZyb20tc291cmNlIGJ1aWxkcyBvZiBQeXRob24uCitpZiBub3Qgc3lzY29uZmlnLmlzX3B5dGhvbl9idWlsZCgpOgorICAgIHJhaXNlIHVuaXR0ZXN0LlNraXBUZXN0KCd0ZXN0IGlycmVsZXZhbnQgZm9yIGFuIGluc3RhbGxlZCBQeXRob24nKQorCitzcmNfYmFzZSA9IGRpcm5hbWUoZGlybmFtZShkaXJuYW1lKF9fZmlsZV9fKSkpCitwYXJzZXJfZGlyID0gb3MucGF0aC5qb2luKHNyY19iYXNlLCAnUGFyc2VyJykKKworCitjbGFzcyBUZXN0QXNkbFBhcnNlcih1bml0dGVzdC5UZXN0Q2FzZSk6CisgICAgQGNsYXNzbWV0aG9kCisgICAgZGVmIHNldFVwQ2xhc3MoY2xzKToKKyAgICAgICAgIyBMb2FkcyB0aGUgYXNkbCBtb2R1bGUgZHluYW1pY2FsbHksIHNpbmNlIGl0J3Mgbm90IGluIGEgcmVhbCBpbXBvcnRhYmxlCisgICAgICAgICMgcGFja2FnZS4KKyAgICAgICAgIyBQYXJzZXMgUHl0aG9uLmFzZGwgaW50byBhIGFzdC5Nb2R1bGUgYW5kIHJ1biB0aGUgY2hlY2sgb24gaXQuCisgICAgICAgICMgVGhlcmUncyBubyBuZWVkIHRvIGRvIHRoaXMgZm9yIGVhY2ggdGVzdCBtZXRob2QsIGhlbmNlIHNldFVwQ2xhc3MuCisgICAgICAgIHN5cy5wYXRoLmluc2VydCgwLCBwYXJzZXJfZGlyKQorICAgICAgICBsb2FkZXIgPSBpbXBvcnRsaWIubWFjaGluZXJ5LlNvdXJjZUZpbGVMb2FkZXIoCisgICAgICAgICAgICAgICAgJ2FzZGwnLCBvcy5wYXRoLmpvaW4ocGFyc2VyX2RpciwgJ2FzZGwucHknKSkKKyAgICAgICAgY2xzLmFzZGwgPSBsb2FkZXIubG9hZF9tb2R1bGUoKQorICAgICAgICBjbHMubW9kID0gY2xzLmFzZGwucGFyc2Uob3MucGF0aC5qb2luKHBhcnNlcl9kaXIsICdQeXRob24uYXNkbCcpKQorICAgICAgICBjbHMuYXNzZXJ0VHJ1ZShjbHMuYXNkbC5jaGVjayhjbHMubW9kKSwgJ01vZHVsZSB2YWxpZGF0aW9uIGZhaWxlZCcpCisKKyAgICBAY2xhc3NtZXRob2QKKyAgICBkZWYgdGVhckRvd25DbGFzcyhjbHMpOgorICAgICAgICBkZWwgc3lzLnBhdGhbMF0KKworICAgIGRlZiBzZXRVcChzZWxmKToKKyAgICAgICAgIyBhbGlhcyBzdHVmZiBmcm9tIHRoZSBjbGFzcywgZm9yIGNvbnZlbmllbmNlCisgICAgICAgIHNlbGYuYXNkbCA9IFRlc3RBc2RsUGFyc2VyLmFzZGwKKyAgICAgICAgc2VsZi5tb2QgPSBUZXN0QXNkbFBhcnNlci5tb2QKKyAgICAgICAgc2VsZi50eXBlcyA9IHNlbGYubW9kLnR5cGVzCisKKyAgICBkZWYgdGVzdF9tb2R1bGUoc2VsZik6CisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5tb2QubmFtZSwgJ1B5dGhvbicpCisgICAgICAgIHNlbGYuYXNzZXJ0SW4oJ3N0bXQnLCBzZWxmLnR5cGVzKQorICAgICAgICBzZWxmLmFzc2VydEluKCdleHByJywgc2VsZi50eXBlcykKKyAgICAgICAgc2VsZi5hc3NlcnRJbignbW9kJywgc2VsZi50eXBlcykKKworICAgIGRlZiB0ZXN0X2RlZmluaXRpb25zKHNlbGYpOgorICAgICAgICBkZWZzID0gc2VsZi5tb2QuZGZucworICAgICAgICBzZWxmLmFzc2VydElzSW5zdGFuY2UoZGVmc1swXSwgc2VsZi5hc2RsLlR5cGUpCisgICAgICAgIHNlbGYuYXNzZXJ0SXNJbnN0YW5jZShkZWZzWzBdLnZhbHVlLCBzZWxmLmFzZGwuU3VtKQorCisgICAgICAgIHNlbGYuYXNzZXJ0SXNJbnN0YW5jZShzZWxmLnR5cGVzWyd3aXRoaXRlbSddLCBzZWxmLmFzZGwuUHJvZHVjdCkKKyAgICAgICAgc2VsZi5hc3NlcnRJc0luc3RhbmNlKHNlbGYudHlwZXNbJ2FsaWFzJ10sIHNlbGYuYXNkbC5Qcm9kdWN0KQorCisgICAgZGVmIHRlc3RfcHJvZHVjdChzZWxmKToKKyAgICAgICAgYWxpYXMgPSBzZWxmLnR5cGVzWydhbGlhcyddCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisgICAgICAgICAgICBzdHIoYWxpYXMpLAorICAgICAgICAgICAgJ1Byb2R1Y3QoW0ZpZWxkKGlkZW50aWZpZXIsIG5hbWUpLCBGaWVsZChpZGVudGlmaWVyLCBhc25hbWUsIG9wdD1UcnVlKV0pJykKKworICAgIGRlZiB0ZXN0X2F0dHJpYnV0ZXMoc2VsZik6CisgICAgICAgIHN0bXQgPSBzZWxmLnR5cGVzWydzdG10J10KKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oc3RtdC5hdHRyaWJ1dGVzKSwgMikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdHIoc3RtdC5hdHRyaWJ1dGVzWzBdKSwgJ0ZpZWxkKGludCwgbGluZW5vKScpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyKHN0bXQuYXR0cmlidXRlc1sxXSksICdGaWVsZChpbnQsIGNvbF9vZmZzZXQpJykKKworICAgIGRlZiB0ZXN0X2NvbnN0cnVjdG9yX2ZpZWxkcyhzZWxmKToKKyAgICAgICAgZWhhbmRsZXIgPSBzZWxmLnR5cGVzWydleGNlcHRoYW5kbGVyJ10KKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oZWhhbmRsZXIudHlwZXMpLCAxKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihlaGFuZGxlci5hdHRyaWJ1dGVzKSwgMikKKworICAgICAgICBjb25zID0gZWhhbmRsZXIudHlwZXNbMF0KKyAgICAgICAgc2VsZi5hc3NlcnRJc0luc3RhbmNlKGNvbnMsIHNlbGYuYXNkbC5Db25zdHJ1Y3RvcikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oY29ucy5maWVsZHMpLCAzKQorCisgICAgICAgIGYwID0gY29ucy5maWVsZHNbMF0KKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmMC50eXBlLCAnZXhwcicpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZjAubmFtZSwgJ3R5cGUnKQorICAgICAgICBzZWxmLmFzc2VydFRydWUoZjAub3B0KQorCisgICAgICAgIGYxID0gY29ucy5maWVsZHNbMV0KKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmMS50eXBlLCAnaWRlbnRpZmllcicpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZjEubmFtZSwgJ25hbWUnKQorICAgICAgICBzZWxmLmFzc2VydFRydWUoZjEub3B0KQorCisgICAgICAgIGYyID0gY29ucy5maWVsZHNbMl0KKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmMi50eXBlLCAnc3RtdCcpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZjIubmFtZSwgJ2JvZHknKQorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGYyLm9wdCkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGYyLnNlcSkKKworICAgIGRlZiB0ZXN0X3Zpc2l0b3Ioc2VsZik6CisgICAgICAgIGNsYXNzIEN1c3RvbVZpc2l0b3Ioc2VsZi5hc2RsLlZpc2l0b3JCYXNlKToKKyAgICAgICAgICAgIGRlZiBfX2luaXRfXyhzZWxmKToKKyAgICAgICAgICAgICAgICBzdXBlcigpLl9faW5pdF9fKCkKKyAgICAgICAgICAgICAgICBzZWxmLm5hbWVzX3dpdGhfc2VxID0gW10KKworICAgICAgICAgICAgZGVmIHZpc2l0TW9kdWxlKHNlbGYsIG1vZCk6CisgICAgICAgICAgICAgICAgZm9yIGRmbiBpbiBtb2QuZGZuczoKKyAgICAgICAgICAgICAgICAgICAgc2VsZi52aXNpdChkZm4pCisKKyAgICAgICAgICAgIGRlZiB2aXNpdFR5cGUoc2VsZiwgdHlwZSk6CisgICAgICAgICAgICAgICAgc2VsZi52aXNpdCh0eXBlLnZhbHVlKQorCisgICAgICAgICAgICBkZWYgdmlzaXRTdW0oc2VsZiwgc3VtKToKKyAgICAgICAgICAgICAgICBmb3IgdCBpbiBzdW0udHlwZXM6CisgICAgICAgICAgICAgICAgICAgIHNlbGYudmlzaXQodCkKKworICAgICAgICAgICAgZGVmIHZpc2l0Q29uc3RydWN0b3Ioc2VsZiwgY29ucyk6CisgICAgICAgICAgICAgICAgZm9yIGYgaW4gY29ucy5maWVsZHM6CisgICAgICAgICAgICAgICAgICAgIGlmIGYuc2VxOgorICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5uYW1lc193aXRoX3NlcS5hcHBlbmQoY29ucy5uYW1lKQorCisgICAgICAgIHYgPSBDdXN0b21WaXNpdG9yKCkKKyAgICAgICAgdi52aXNpdChzZWxmLnR5cGVzWydtb2QnXSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh2Lm5hbWVzX3dpdGhfc2VxLCBbJ01vZHVsZScsICdJbnRlcmFjdGl2ZScsICdTdWl0ZSddKQorCisKK2lmIF9fbmFtZV9fID09ICdfX21haW5fXyc6CisgICAgdW5pdHRlc3QubWFpbigpCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2FzeW5jaGF0LnB5IGIvTGliL3Rlc3QvdGVzdF9hc3luY2hhdC5weQppbmRleCAyZGM5ZDBjLi4zYTMzZmM4IDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2FzeW5jaGF0LnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfYXN5bmNoYXQucHkKQEAgLTEyLDYgKzEyLDcgQEAKIGltcG9ydCBzeXMKIGltcG9ydCB0aW1lCiBpbXBvcnQgdW5pdHRlc3QKK2ltcG9ydCB3YXJuaW5ncwogaW1wb3J0IHVuaXR0ZXN0Lm1vY2sKIHRyeToKICAgICBpbXBvcnQgdGhyZWFkaW5nCkBAIC0zOCw3ICszOSw3IEBACiAgICAgICAgICAgICBzZWxmLnN0YXJ0X3Jlc2VuZF9ldmVudCA9IE5vbmUKIAogICAgICAgICBkZWYgcnVuKHNlbGYpOgotICAgICAgICAgICAgc2VsZi5zb2NrLmxpc3RlbigxKQorICAgICAgICAgICAgc2VsZi5zb2NrLmxpc3RlbigpCiAgICAgICAgICAgICBzZWxmLmV2ZW50LnNldCgpCiAgICAgICAgICAgICBjb25uLCBjbGllbnQgPSBzZWxmLnNvY2suYWNjZXB0KCkKICAgICAgICAgICAgIHNlbGYuYnVmZmVyID0gYiIiCkBAIC0yOTgsNyArMjk5LDEwIEBACiAKIGNsYXNzIFRlc3RGaWZvKHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICBkZWYgdGVzdF9iYXNpYyhzZWxmKToKLSAgICAgICAgZiA9IGFzeW5jaGF0LmZpZm8oKQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0V2FybnMoRGVwcmVjYXRpb25XYXJuaW5nKSBhcyBjbToKKyAgICAgICAgICAgIGYgPSBhc3luY2hhdC5maWZvKCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdHIoY20ud2FybmluZyksCisgICAgICAgICAgICAgICAgICAgICAgICAgImZpZm8gY2xhc3Mgd2lsbCBiZSByZW1vdmVkIGluIFB5dGhvbiAzLjYiKQogICAgICAgICBmLnB1c2goNykKICAgICAgICAgZi5wdXNoKGInYScpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKGYpLCAyKQpAQCAtMzEzLDcgKzMxNywxMCBAQAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGYucG9wKCksICgwLCBOb25lKSkKIAogICAgIGRlZiB0ZXN0X2dpdmVuX2xpc3Qoc2VsZik6Ci0gICAgICAgIGYgPSBhc3luY2hhdC5maWZvKFtiJ3gnLCAxNywgM10pCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRXYXJucyhEZXByZWNhdGlvbldhcm5pbmcpIGFzIGNtOgorICAgICAgICAgICAgZiA9IGFzeW5jaGF0LmZpZm8oW2IneCcsIDE3LCAzXSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdHIoY20ud2FybmluZyksCisgICAgICAgICAgICAgICAgICAgICAgICAgImZpZm8gY2xhc3Mgd2lsbCBiZSByZW1vdmVkIGluIFB5dGhvbiAzLjYiKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihmKSwgMykKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmLnBvcCgpLCAoMSwgYid4JykpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZi5wb3AoKSwgKDEsIDE3KSkKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfYXN5bmNvcmUucHkgYi9MaWIvdGVzdC90ZXN0X2FzeW5jb3JlLnB5CmluZGV4IGQ0NDcyNmQuLjM4NTc5MTYgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfYXN5bmNvcmUucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9hc3luY29yZS5weQpAQCAtNyw3ICs3LDYgQEAKIGltcG9ydCB0aW1lCiBpbXBvcnQgZXJybm8KIGltcG9ydCBzdHJ1Y3QKLWltcG9ydCB3YXJuaW5ncwogCiBmcm9tIHRlc3QgaW1wb3J0IHN1cHBvcnQKIGZyb20gaW8gaW1wb3J0IEJ5dGVzSU8KQEAgLTY1LDcgKzY0LDcgQEAKICMgdXNlZCB3aGVuIHRlc3Rpbmcgc2VuZGVyczsganVzdCBjb2xsZWN0cyB3aGF0IGl0IGdldHMgdW50aWwgbmV3bGluZSBpcyBzZW50CiBkZWYgY2FwdHVyZV9zZXJ2ZXIoZXZ0LCBidWYsIHNlcnYpOgogICAgIHRyeToKLSAgICAgICAgc2Vydi5saXN0ZW4oNSkKKyAgICAgICAgc2Vydi5saXN0ZW4oKQogICAgICAgICBjb25uLCBhZGRyID0gc2Vydi5hY2NlcHQoKQogICAgIGV4Y2VwdCBzb2NrZXQudGltZW91dDoKICAgICAgICAgcGFzcwpAQCAtMjk4LDIzICsyOTcsNiBAQAogICAgICAgICAgICAgICAgICAgICAnd2FybmluZzogdW5oYW5kbGVkIGNvbm5lY3QgZXZlbnQnXQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxpbmVzLCBleHBlY3RlZCkKIAotICAgIGRlZiB0ZXN0X2lzc3VlXzg1OTQoc2VsZik6Ci0gICAgICAgICMgWFhYIC0gdGhpcyB0ZXN0IGlzIHN1cHBvc2VkIHRvIGJlIHJlbW92ZWQgaW4gbmV4dCBtYWpvciBQeXRob24KLSAgICAgICAgIyB2ZXJzaW9uCi0gICAgICAgIGQgPSBhc3luY29yZS5kaXNwYXRjaGVyKHNvY2tldC5zb2NrZXQoKSkKLSAgICAgICAgIyBtYWtlIHN1cmUgdGhlIGVycm9yIG1lc3NhZ2Ugbm8gbG9uZ2VyIHJlZmVycyB0byB0aGUgc29ja2V0Ci0gICAgICAgICMgb2JqZWN0IGJ1dCB0aGUgZGlzcGF0Y2hlciBpbnN0YW5jZSBpbnN0ZWFkCi0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoQXR0cmlidXRlRXJyb3IsICdkaXNwYXRjaGVyIGluc3RhbmNlJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRhdHRyLCBkLCAnZm9vJykKLSAgICAgICAgIyBjaGVhcCBpbmhlcml0YW5jZSB3aXRoIHRoZSB1bmRlcmx5aW5nIHNvY2tldCBpcyBzdXBwb3NlZAotICAgICAgICAjIHRvIHN0aWxsIHdvcmsgYnV0IGEgRGVwcmVjYXRpb25XYXJuaW5nIGlzIGV4cGVjdGVkCi0gICAgICAgIHdpdGggd2FybmluZ3MuY2F0Y2hfd2FybmluZ3MocmVjb3JkPVRydWUpIGFzIHc6Ci0gICAgICAgICAgICB3YXJuaW5ncy5zaW1wbGVmaWx0ZXIoImFsd2F5cyIpCi0gICAgICAgICAgICBmYW1pbHkgPSBkLmZhbWlseQotICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmYW1pbHksIHNvY2tldC5BRl9JTkVUKQotICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4odyksIDEpCi0gICAgICAgICAgICBzZWxmLmFzc2VydFRydWUoaXNzdWJjbGFzcyh3WzBdLmNhdGVnb3J5LCBEZXByZWNhdGlvbldhcm5pbmcpKQotCiAgICAgZGVmIHRlc3Rfc3RyZXJyb3Ioc2VsZik6CiAgICAgICAgICMgcmVmZXJzIHRvIGJ1ZyAjODU3MwogICAgICAgICBlcnIgPSBhc3luY29yZS5fc3RyZXJyb3IoZXJybm8uRVBFUk0pCkBAIC0zMzEsOSArMzEzLDggQEAKICAgICBkZWYgaGFuZGxlX2Nvbm5lY3Qoc2VsZik6CiAgICAgICAgIHBhc3MKIAotY2xhc3MgRGlzcGF0Y2hlcldpdGhTZW5kVGVzdHModW5pdHRlc3QuVGVzdENhc2UpOgotICAgIHVzZXBvbGwgPSBGYWxzZQogCitjbGFzcyBEaXNwYXRjaGVyV2l0aFNlbmRUZXN0cyh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgZGVmIHNldFVwKHNlbGYpOgogICAgICAgICBwYXNzCiAKQEAgLTM4MywxMCArMzY0LDYgQEAKICAgICAgICAgICAgICAgICBzZWxmLmZhaWwoImpvaW4oKSB0aW1lZCBvdXQiKQogCiAKLQotY2xhc3MgRGlzcGF0Y2hlcldpdGhTZW5kVGVzdHNfVXNlUG9sbChEaXNwYXRjaGVyV2l0aFNlbmRUZXN0cyk6Ci0gICAgdXNlcG9sbCA9IFRydWUKLQogQHVuaXR0ZXN0LnNraXBVbmxlc3MoaGFzYXR0cihhc3luY29yZSwgJ2ZpbGVfd3JhcHBlcicpLAogICAgICAgICAgICAgICAgICAgICAgJ2FzeW5jb3JlLmZpbGVfd3JhcHBlciByZXF1aXJlZCcpCiBjbGFzcyBGaWxlV3JhcHBlclRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9hdWdhc3NpZ24ucHkgYi9MaWIvdGVzdC90ZXN0X2F1Z2Fzc2lnbi5weQppbmRleCA5YTU5YzU4Li4xOWI3Njg3IDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2F1Z2Fzc2lnbi5weQorKysgYi9MaWIvdGVzdC90ZXN0X2F1Z2Fzc2lnbi5weQpAQCAtMTM2LDYgKzEzNiwxNCBAQAogICAgICAgICAgICAgICAgIG91dHB1dC5hcHBlbmQoIl9faW11bF9fIGNhbGxlZCIpCiAgICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYKIAorICAgICAgICAgICAgZGVmIF9fbWF0bXVsX18oc2VsZiwgdmFsKToKKyAgICAgICAgICAgICAgICBvdXRwdXQuYXBwZW5kKCJfX21hdG11bF9fIGNhbGxlZCIpCisgICAgICAgICAgICBkZWYgX19ybWF0bXVsX18oc2VsZiwgdmFsKToKKyAgICAgICAgICAgICAgICBvdXRwdXQuYXBwZW5kKCJfX3JtYXRtdWxfXyBjYWxsZWQiKQorICAgICAgICAgICAgZGVmIF9faW1hdG11bF9fKHNlbGYsIHZhbCk6CisgICAgICAgICAgICAgICAgb3V0cHV0LmFwcGVuZCgiX19pbWF0bXVsX18gY2FsbGVkIikKKyAgICAgICAgICAgICAgICByZXR1cm4gc2VsZgorCiAgICAgICAgICAgICBkZWYgX19kaXZfXyhzZWxmLCB2YWwpOgogICAgICAgICAgICAgICAgIG91dHB1dC5hcHBlbmQoIl9fZGl2X18gY2FsbGVkIikKICAgICAgICAgICAgIGRlZiBfX3JkaXZfXyhzZWxmLCB2YWwpOgpAQCAtMjMzLDYgKzI0MSwxMCBAQAogICAgICAgICAxICogeAogICAgICAgICB4ICo9IDEKIAorICAgICAgICB4IEAgMQorICAgICAgICAxIEAgeAorICAgICAgICB4IEA9IDEKKwogICAgICAgICB4IC8gMQogICAgICAgICAxIC8geAogICAgICAgICB4IC89IDEKQEAgLTI3OSw2ICsyOTEsOSBAQAogX19tdWxfXyBjYWxsZWQKIF9fcm11bF9fIGNhbGxlZAogX19pbXVsX18gY2FsbGVkCitfX21hdG11bF9fIGNhbGxlZAorX19ybWF0bXVsX18gY2FsbGVkCitfX2ltYXRtdWxfXyBjYWxsZWQKIF9fdHJ1ZWRpdl9fIGNhbGxlZAogX19ydHJ1ZWRpdl9fIGNhbGxlZAogX19pdHJ1ZWRpdl9fIGNhbGxlZApkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9idWZmZXIucHkgYi9MaWIvdGVzdC90ZXN0X2J1ZmZlci5weQppbmRleCAxNjY3ODQ3Li4wOTc2ZmE5IDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2J1ZmZlci5weQorKysgYi9MaWIvdGVzdC90ZXN0X2J1ZmZlci5weQpAQCAtMjE2LDcgKzIxNiw3IEBACiAgICAgZm9yIHQgaW4gaXRlcl9tb2RlKG5pdGVtcywgdGVzdG9iaik6CiAgICAgICAgIHlpZWxkIHQKICAgICBpZiB0ZXN0b2JqICE9ICduZGFycmF5JzoKLSAgICAgICAgcmFpc2UgU3RvcEl0ZXJhdGlvbgorICAgICAgICByZXR1cm4KICAgICB5aWVsZCBzdHJ1Y3RfaXRlbXMobml0ZW1zLCB0ZXN0b2JqKQogCiAKQEAgLTEwMDcsNiArMTAwNyw3IEBACiAgICAgICAgICMgc2hhcGUsIHN0cmlkZXMsIG9mZnNldAogICAgICAgICBzdHJ1Y3R1cmUgPSAoCiAgICAgICAgICAgICAoW10sIFtdLCAwKSwKKyAgICAgICAgICAgIChbMSwzLDFdLCBbXSwgMCksCiAgICAgICAgICAgICAoWzEyXSwgW10sIDApLAogICAgICAgICAgICAgKFsxMl0sIFstMV0sIDExKSwKICAgICAgICAgICAgIChbNl0sIFsyXSwgMCksCkBAIC0xMDc4LDYgKzEwNzksMTggQEAKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoQnVmZmVyRXJyb3IsIG5kYXJyYXksIGV4LCBnZXRidWY9UHlCVUZfQU5ZX0NPTlRJR1VPVVMpCiAgICAgICAgIG5kID0gbmRhcnJheShleCwgZ2V0YnVmPVB5QlVGX1NJTVBMRSkKIAorICAgICAgICAjIElzc3VlICMyMjQ0NTogTmV3IHByZWNpc2UgY29udGlndWl0eSBkZWZpbml0aW9uLgorICAgICAgICBmb3Igc2hhcGUgaW4gWzEsMTIsMV0sIFs3LDAsN106CisgICAgICAgICAgICBmb3Igb3JkZXIgaW4gMCwgTkRfRk9SVFJBTjoKKyAgICAgICAgICAgICAgICBleCA9IG5kYXJyYXkoaXRlbXMsIHNoYXBlPXNoYXBlLCBmbGFncz1vcmRlcnxORF9XUklUQUJMRSkKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUoaXNfY29udGlndW91cyhleCwgJ0YnKSkKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUoaXNfY29udGlndW91cyhleCwgJ0MnKSkKKworICAgICAgICAgICAgICAgIGZvciBmbGFncyBpbiByZXF1ZXN0czoKKyAgICAgICAgICAgICAgICAgICAgbmQgPSBuZGFycmF5KGV4LCBnZXRidWY9ZmxhZ3MpCisgICAgICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShpc19jb250aWd1b3VzKG5kLCAnRicpKQorICAgICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUoaXNfY29udGlndW91cyhuZCwgJ0MnKSkKKwogICAgIGRlZiB0ZXN0X25kYXJyYXlfZXhjZXB0aW9ucyhzZWxmKToKICAgICAgICAgbmQgPSBuZGFycmF5KFs5XSwgWzFdKQogICAgICAgICBuZG0gPSBuZGFycmF5KFs5XSwgWzFdLCBmbGFncz1ORF9WQVJFWFBPUlQpCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2J1aWx0aW4ucHkgYi9MaWIvdGVzdC90ZXN0X2J1aWx0aW4ucHkKaW5kZXggMTQzNjZjNi4uNjE2NmRhNSAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9idWlsdGluLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfYnVpbHRpbi5weQpAQCAtMzEyLDExICszMTIsMTEgQEAKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBjb21waWxlKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBjb21waWxlLCAncHJpbnQoNDIpXG4nLCAnPHN0cmluZz4nLCAnYmFkbW9kZScpCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIGNvbXBpbGUsICdwcmludCg0MilcbicsICc8c3RyaW5nPicsICdzaW5nbGUnLCAweGZmKQotICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIGNvbXBpbGUsIGNocigwKSwgJ2YnLCAnZXhlYycpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIGNvbXBpbGUsIGNocigwKSwgJ2YnLCAnZXhlYycpCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgY29tcGlsZSwgJ3Bhc3MnLCAnPycsICdleGVjJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kZT0nZXZhbCcsIHNvdXJjZT0nMCcsIGZpbGVuYW1lPSd0bXAnKQogICAgICAgICBjb21waWxlKCdwcmludCgiXHhlNSIpXG4nLCAnJywgJ2V4ZWMnKQotICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIGNvbXBpbGUsIGNocigwKSwgJ2YnLCAnZXhlYycpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIGNvbXBpbGUsIGNocigwKSwgJ2YnLCAnZXhlYycpCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIGNvbXBpbGUsIHN0cignYSA9IDEnKSwgJ2YnLCAnYmFkJykKIAogICAgICAgICAjIHRlc3QgdGhlIG9wdGltaXplIGFyZ3VtZW50CkBAIC0xMDk0LDcgKzEwOTQsNyBAQAogICAgICAgICBzZWxmLmFzc2VydEFsbW9zdEVxdWFsKHBvdygtMSwgMC41KSwgMWopCiAgICAgICAgIHNlbGYuYXNzZXJ0QWxtb3N0RXF1YWwocG93KC0xLCAxLzMpLCAwLjUgKyAwLjg2NjAyNTQwMzc4NDQzODZqKQogCi0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgcG93LCAtMSwgLTIsIDMpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIHBvdywgLTEsIC0yLCAzKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBwb3csIDEsIDIsIDApCiAKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBwb3cpCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2J5dGVzLnB5IGIvTGliL3Rlc3QvdGVzdF9ieXRlcy5weQppbmRleCBlMTU4MDdlLi5hOWY2NGEwIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2J5dGVzLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfYnl0ZXMucHkKQEAgLTQ2MSw2ICs0NjEsMjggQEAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiLnJpbmRleChpLCAzLCA5KSwgNykKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgYi5yaW5kZXgsIHcsIDEsIDMpCiAKKyAgICBkZWYgdGVzdF9tb2Qoc2VsZik6CisgICAgICAgIGIgPSBiJ2hlbGxvLCAlYiEnCisgICAgICAgIG9yaWcgPSBiCisgICAgICAgIGIgPSBiICUgYid3b3JsZCcKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiLCBiJ2hlbGxvLCB3b3JsZCEnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG9yaWcsIGInaGVsbG8sICViIScpCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoYiBpcyBvcmlnKQorICAgICAgICBiID0gYiclcyAvIDEwMCA9ICVkJSUnCisgICAgICAgIGEgPSBiICUgKGInc2V2ZW50eS1uaW5lJywgNzkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYSwgYidzZXZlbnR5LW5pbmUgLyAxMDAgPSA3OSUnKQorCisgICAgZGVmIHRlc3RfaW1vZChzZWxmKToKKyAgICAgICAgYiA9IGInaGVsbG8sICViIScKKyAgICAgICAgb3JpZyA9IGIKKyAgICAgICAgYiAlPSBiJ3dvcmxkJworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGIsIGInaGVsbG8sIHdvcmxkIScpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwob3JpZywgYidoZWxsbywgJWIhJykKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShiIGlzIG9yaWcpCisgICAgICAgIGIgPSBiJyVzIC8gMTAwID0gJWQlJScKKyAgICAgICAgYiAlPSAoYidzZXZlbnR5LW5pbmUnLCA3OSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiLCBiJ3NldmVudHktbmluZSAvIDEwMCA9IDc5JScpCisKICAgICBkZWYgdGVzdF9yZXBsYWNlKHNlbGYpOgogICAgICAgICBiID0gc2VsZi50eXBlMnRlc3QoYidtaXNzaXNzaXBwaScpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYi5yZXBsYWNlKGInaScsIGInYScpLCBiJ21hc3Nhc3NhcHBhJykKQEAgLTcyMiw2ICs3NDQsMTEgQEAKIGNsYXNzIEJ5dGVzVGVzdChCYXNlQnl0ZXNUZXN0LCB1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgdHlwZTJ0ZXN0ID0gYnl0ZXMKIAorICAgIGRlZiB0ZXN0X2dldGl0ZW1fZXJyb3Ioc2VsZik6CisgICAgICAgIG1zZyA9ICJieXRlIGluZGljZXMgbXVzdCBiZSBpbnRlZ2VycyBvciBzbGljZXMiCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXNSZWdleChUeXBlRXJyb3IsIG1zZyk6CisgICAgICAgICAgICBiJ3B5dGhvbidbJ2EnXQorCiAgICAgZGVmIHRlc3RfYnVmZmVyX2lzX3JlYWRvbmx5KHNlbGYpOgogICAgICAgICBmZCA9IG9zLm9wZW4oX19maWxlX18sIG9zLk9fUkRPTkxZKQogICAgICAgICB3aXRoIG9wZW4oZmQsICJyYiIsIGJ1ZmZlcmluZz0wKSBhcyBmOgpAQCAtNzc2LDYgKzgwMywxNyBAQAogY2xhc3MgQnl0ZUFycmF5VGVzdChCYXNlQnl0ZXNUZXN0LCB1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgdHlwZTJ0ZXN0ID0gYnl0ZWFycmF5CiAKKyAgICBkZWYgdGVzdF9nZXRpdGVtX2Vycm9yKHNlbGYpOgorICAgICAgICBtc2cgPSAiYnl0ZWFycmF5IGluZGljZXMgbXVzdCBiZSBpbnRlZ2VycyBvciBzbGljZXMiCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXNSZWdleChUeXBlRXJyb3IsIG1zZyk6CisgICAgICAgICAgICBieXRlYXJyYXkoYidweXRob24nKVsnYSddCisKKyAgICBkZWYgdGVzdF9zZXRpdGVtX2Vycm9yKHNlbGYpOgorICAgICAgICBtc2cgPSAiYnl0ZWFycmF5IGluZGljZXMgbXVzdCBiZSBpbnRlZ2VycyBvciBzbGljZXMiCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXNSZWdleChUeXBlRXJyb3IsIG1zZyk6CisgICAgICAgICAgICBiID0gYnl0ZWFycmF5KGIncHl0aG9uJykKKyAgICAgICAgICAgIGJbJ2EnXSA9ICJweXRob24iCisKICAgICBkZWYgdGVzdF9ub2hhc2goc2VsZik6CiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgaGFzaCwgYnl0ZWFycmF5KCkpCiAKQEAgLTk3NCw2ICsxMDEyLDI4IEBACiAgICAgICAgIGJbODpdID0gYgogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGIsIGJ5dGVhcnJheShsaXN0KHJhbmdlKDgpKSArIGxpc3QocmFuZ2UoMjU2KSkpKQogCisgICAgZGVmIHRlc3RfbW9kKHNlbGYpOgorICAgICAgICBiID0gYnl0ZWFycmF5KGInaGVsbG8sICViIScpCisgICAgICAgIG9yaWcgPSBiCisgICAgICAgIGIgPSBiICUgYid3b3JsZCcKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiLCBiJ2hlbGxvLCB3b3JsZCEnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG9yaWcsIGJ5dGVhcnJheShiJ2hlbGxvLCAlYiEnKSkKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShiIGlzIG9yaWcpCisgICAgICAgIGIgPSBieXRlYXJyYXkoYiclcyAvIDEwMCA9ICVkJSUnKQorICAgICAgICBhID0gYiAlIChiJ3NldmVudHktbmluZScsIDc5KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGEsIGJ5dGVhcnJheShiJ3NldmVudHktbmluZSAvIDEwMCA9IDc5JScpKQorCisgICAgZGVmIHRlc3RfaW1vZChzZWxmKToKKyAgICAgICAgYiA9IGJ5dGVhcnJheShiJ2hlbGxvLCAlYiEnKQorICAgICAgICBvcmlnID0gYgorICAgICAgICBiICU9IGInd29ybGQnCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYiwgYidoZWxsbywgd29ybGQhJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChvcmlnLCBieXRlYXJyYXkoYidoZWxsbywgJWIhJykpCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoYiBpcyBvcmlnKQorICAgICAgICBiID0gYnl0ZWFycmF5KGInJXMgLyAxMDAgPSAlZCUlJykKKyAgICAgICAgYiAlPSAoYidzZXZlbnR5LW5pbmUnLCA3OSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiLCBieXRlYXJyYXkoYidzZXZlbnR5LW5pbmUgLyAxMDAgPSA3OSUnKSkKKwogICAgIGRlZiB0ZXN0X2ljb25jYXQoc2VsZik6CiAgICAgICAgIGIgPSBieXRlYXJyYXkoYiJhYmMiKQogICAgICAgICBiMSA9IGIKQEAgLTExNjQsNiArMTIyNCwxMCBAQAogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhCdWZmZXJFcnJvciwgZGVsc2xpY2UpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYiwgb3JpZykKIAorICAgIEB0ZXN0LnN1cHBvcnQuY3B5dGhvbl9vbmx5CisgICAgZGVmIHRlc3Rfb2Jzb2xldGVfd3JpdGVfbG9jayhzZWxmKToKKyAgICAgICAgZnJvbSBfdGVzdGNhcGkgaW1wb3J0IGdldGJ1ZmZlcl93aXRoX251bGxfdmlldworICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhCdWZmZXJFcnJvciwgZ2V0YnVmZmVyX3dpdGhfbnVsbF92aWV3LCBieXRlYXJyYXkoKSkKIAogY2xhc3MgQXNzb3J0ZWRCeXRlc1Rlc3QodW5pdHRlc3QuVGVzdENhc2UpOgogICAgICMKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfYnoyLnB5IGIvTGliL3Rlc3QvdGVzdF9iejIucHkKaW5kZXggMTUzNWU4ZS4uMmZlM2YyYSAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9iejIucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9iejIucHkKQEAgLTUsNiArNSw3IEBACiBmcm9tIGlvIGltcG9ydCBCeXRlc0lPCiBpbXBvcnQgb3MKIGltcG9ydCBwaWNrbGUKK2ltcG9ydCBnbG9iCiBpbXBvcnQgcmFuZG9tCiBpbXBvcnQgc3VicHJvY2VzcwogaW1wb3J0IHN5cwpAQCAtNTEsNiArNTIsMTkgQEAKICAgICBFTVBUWV9EQVRBID0gYidCWmg5XHgxN3JFOFBceDkwXHgwMFx4MDBceDAwXHgwMCcKICAgICBCQURfREFUQSA9IGIndGhpcyBpcyBub3QgYSB2YWxpZCBiemlwMiBmaWxlJwogCisgICAgIyBTb21lIHRlc3RzIG5lZWQgbW9yZSB0aGFuIG9uZSBibG9jayBvZiB1bmNvbXByZXNzZWQgZGF0YS4gU2luY2Ugb25lIGJsb2NrCisgICAgIyBpcyBhdCBsZWFzdCAxMDAga0IsIHdlIGdhdGhlciBzb21lIGRhdGEgZHluYW1pY2FsbHkgYW5kIGNvbXByZXNzIGl0LgorICAgICMgTm90ZSB0aGF0IHRoaXMgYXNzdW1lcyB0aGF0IGNvbXByZXNzaW9uIHdvcmtzIGNvcnJlY3RseSwgc28gd2UgY2Fubm90CisgICAgIyBzaW1wbHkgdXNlIHRoZSBiaWdnZXIgdGVzdCBkYXRhIGZvciBhbGwgdGVzdHMuCisgICAgdGVzdF9zaXplID0gMAorICAgIEJJR19URVhUID0gYnl0ZWFycmF5KDEyOCoxMDI0KQorICAgIGZvciBmbmFtZSBpbiBnbG9iLmdsb2Iob3MucGF0aC5qb2luKG9zLnBhdGguZGlybmFtZShfX2ZpbGVfXyksICcqLnB5JykpOgorICAgICAgICB3aXRoIG9wZW4oZm5hbWUsICdyYicpIGFzIGZoOgorICAgICAgICAgICAgdGVzdF9zaXplICs9IGZoLnJlYWRpbnRvKG1lbW9yeXZpZXcoQklHX1RFWFQpW3Rlc3Rfc2l6ZTpdKQorICAgICAgICBpZiB0ZXN0X3NpemUgPiAxMjgqMTAyNDoKKyAgICAgICAgICAgIGJyZWFrCisgICAgQklHX0RBVEEgPSBiejIuY29tcHJlc3MoQklHX1RFWFQsIGNvbXByZXNzbGV2ZWw9MSkKKwogICAgIGRlZiBzZXRVcChzZWxmKToKICAgICAgICAgc2VsZi5maWxlbmFtZSA9IHN1cHBvcnQuVEVTVEZOCiAKQEAgLTcwNyw2ICs3MjEsOTUgQEAKICAgICAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yKToKICAgICAgICAgICAgICAgICBwaWNrbGUuZHVtcHMoQloyRGVjb21wcmVzc29yKCksIHByb3RvKQogCisgICAgZGVmIHRlc3REZWNvbXByZXNzb3JDaHVua3NNYXhzaXplKHNlbGYpOgorICAgICAgICBiemQgPSBCWjJEZWNvbXByZXNzb3IoKQorICAgICAgICBtYXhfbGVuZ3RoID0gMTAwCisgICAgICAgIG91dCA9IFtdCisKKyAgICAgICAgIyBGZWVkIHNvbWUgaW5wdXQKKyAgICAgICAgbGVuXyA9IGxlbihzZWxmLkJJR19EQVRBKSAtIDY0CisgICAgICAgIG91dC5hcHBlbmQoYnpkLmRlY29tcHJlc3Moc2VsZi5CSUdfREFUQVs6bGVuX10sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4X2xlbmd0aD1tYXhfbGVuZ3RoKSkKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShiemQubmVlZHNfaW5wdXQpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKG91dFstMV0pLCBtYXhfbGVuZ3RoKQorCisgICAgICAgICMgUmV0cmlldmUgbW9yZSBkYXRhIHdpdGhvdXQgcHJvdmlkaW5nIG1vcmUgaW5wdXQKKyAgICAgICAgb3V0LmFwcGVuZChiemQuZGVjb21wcmVzcyhiJycsIG1heF9sZW5ndGg9bWF4X2xlbmd0aCkpCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoYnpkLm5lZWRzX2lucHV0KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihvdXRbLTFdKSwgbWF4X2xlbmd0aCkKKworICAgICAgICAjIFJldHJpZXZlIG1vcmUgZGF0YSB3aGlsZSBwcm92aWRpbmcgbW9yZSBpbnB1dAorICAgICAgICBvdXQuYXBwZW5kKGJ6ZC5kZWNvbXByZXNzKHNlbGYuQklHX0RBVEFbbGVuXzpdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heF9sZW5ndGg9bWF4X2xlbmd0aCkpCisgICAgICAgIHNlbGYuYXNzZXJ0TGVzc0VxdWFsKGxlbihvdXRbLTFdKSwgbWF4X2xlbmd0aCkKKworICAgICAgICAjIFJldHJpZXZlIHJlbWFpbmluZyB1bmNvbXByZXNzZWQgZGF0YQorICAgICAgICB3aGlsZSBub3QgYnpkLmVvZjoKKyAgICAgICAgICAgIG91dC5hcHBlbmQoYnpkLmRlY29tcHJlc3MoYicnLCBtYXhfbGVuZ3RoPW1heF9sZW5ndGgpKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRMZXNzRXF1YWwobGVuKG91dFstMV0pLCBtYXhfbGVuZ3RoKQorCisgICAgICAgIG91dCA9IGIiIi5qb2luKG91dCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChvdXQsIHNlbGYuQklHX1RFWFQpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYnpkLnVudXNlZF9kYXRhLCBiIiIpCisKKyAgICBkZWYgdGVzdF9kZWNvbXByZXNzb3JfaW5wdXRidWZfMShzZWxmKToKKyAgICAgICAgIyBUZXN0IHJldXNpbmcgaW5wdXQgYnVmZmVyIGFmdGVyIG1vdmluZyBleGlzdGluZworICAgICAgICAjIGNvbnRlbnRzIHRvIGJlZ2lubmluZworICAgICAgICBiemQgPSBCWjJEZWNvbXByZXNzb3IoKQorICAgICAgICBvdXQgPSBbXQorCisgICAgICAgICMgQ3JlYXRlIGlucHV0IGJ1ZmZlciBhbmQgZmlsbCBpdAorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGJ6ZC5kZWNvbXByZXNzKHNlbGYuREFUQVs6MTAwXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXhfbGVuZ3RoPTApLCBiJycpCisKKyAgICAgICAgIyBSZXRyaWV2ZSBzb21lIHJlc3VsdHMsIGZyZWVpbmcgY2FwYWNpdHkgYXQgYmVnaW5uaW5nCisgICAgICAgICMgb2YgaW5wdXQgYnVmZmVyCisgICAgICAgIG91dC5hcHBlbmQoYnpkLmRlY29tcHJlc3MoYicnLCAyKSkKKworICAgICAgICAjIEFkZCBtb3JlIGRhdGEgdGhhdCBmaXRzIGludG8gaW5wdXQgYnVmZmVyIGFmdGVyCisgICAgICAgICMgbW92aW5nIGV4aXN0aW5nIGRhdGEgdG8gYmVnaW5uaW5nCisgICAgICAgIG91dC5hcHBlbmQoYnpkLmRlY29tcHJlc3Moc2VsZi5EQVRBWzEwMDoxMDVdLCAxNSkpCisKKyAgICAgICAgIyBEZWNvbXByZXNzIHJlc3Qgb2YgZGF0YQorICAgICAgICBvdXQuYXBwZW5kKGJ6ZC5kZWNvbXByZXNzKHNlbGYuREFUQVsxMDU6XSkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYicnLmpvaW4ob3V0KSwgc2VsZi5URVhUKQorCisgICAgZGVmIHRlc3RfZGVjb21wcmVzc29yX2lucHV0YnVmXzIoc2VsZik6CisgICAgICAgICMgVGVzdCByZXVzaW5nIGlucHV0IGJ1ZmZlciBieSBhcHBlbmRpbmcgZGF0YSBhdCB0aGUKKyAgICAgICAgIyBlbmQgcmlnaHQgYXdheQorICAgICAgICBiemQgPSBCWjJEZWNvbXByZXNzb3IoKQorICAgICAgICBvdXQgPSBbXQorCisgICAgICAgICMgQ3JlYXRlIGlucHV0IGJ1ZmZlciBhbmQgZW1wdHkgaXQKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiemQuZGVjb21wcmVzcyhzZWxmLkRBVEFbOjIwMF0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4X2xlbmd0aD0wKSwgYicnKQorICAgICAgICBvdXQuYXBwZW5kKGJ6ZC5kZWNvbXByZXNzKGInJykpCisKKyAgICAgICAgIyBGaWxsIGJ1ZmZlciB3aXRoIG5ldyBkYXRhCisgICAgICAgIG91dC5hcHBlbmQoYnpkLmRlY29tcHJlc3Moc2VsZi5EQVRBWzIwMDoyODBdLCAyKSkKKworICAgICAgICAjIEFwcGVuZCBzb21lIG1vcmUgZGF0YSwgbm90IGVub3VnaCB0byByZXF1aXJlIHJlc2l6ZQorICAgICAgICBvdXQuYXBwZW5kKGJ6ZC5kZWNvbXByZXNzKHNlbGYuREFUQVsyODA6MzAwXSwgMikpCisKKyAgICAgICAgIyBEZWNvbXByZXNzIHJlc3Qgb2YgZGF0YQorICAgICAgICBvdXQuYXBwZW5kKGJ6ZC5kZWNvbXByZXNzKHNlbGYuREFUQVszMDA6XSkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYicnLmpvaW4ob3V0KSwgc2VsZi5URVhUKQorCisgICAgZGVmIHRlc3RfZGVjb21wcmVzc29yX2lucHV0YnVmXzMoc2VsZik6CisgICAgICAgICMgVGVzdCByZXVzaW5nIGlucHV0IGJ1ZmZlciBhZnRlciBleHRlbmRpbmcgaXQKKworICAgICAgICBiemQgPSBCWjJEZWNvbXByZXNzb3IoKQorICAgICAgICBvdXQgPSBbXQorCisgICAgICAgICMgQ3JlYXRlIGFsbW9zdCBmdWxsIGlucHV0IGJ1ZmZlcgorICAgICAgICBvdXQuYXBwZW5kKGJ6ZC5kZWNvbXByZXNzKHNlbGYuREFUQVs6MjAwXSwgNSkpCisKKyAgICAgICAgIyBBZGQgZXZlbiBtb3JlIGRhdGEgdG8gaXQsIHJlcXVpcmluZyByZXNpemUKKyAgICAgICAgb3V0LmFwcGVuZChiemQuZGVjb21wcmVzcyhzZWxmLkRBVEFbMjAwOjMwMF0sIDUpKQorCisgICAgICAgICMgRGVjb21wcmVzcyByZXN0IG9mIGRhdGEKKyAgICAgICAgb3V0LmFwcGVuZChiemQuZGVjb21wcmVzcyhzZWxmLkRBVEFbMzAwOl0pKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGInJy5qb2luKG91dCksIHNlbGYuVEVYVCkKIAogY2xhc3MgQ29tcHJlc3NEZWNvbXByZXNzVGVzdChCYXNlVGVzdCk6CiAgICAgZGVmIHRlc3RDb21wcmVzcyhzZWxmKToKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfY2FwaS5weSBiL0xpYi90ZXN0L3Rlc3RfY2FwaS5weQppbmRleCBiYTdjMzhkLi5kZThkNjVhIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2NhcGkucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9jYXBpLnB5CkBAIC0xNTAsNiArMTUwLDIzIEBACiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoX3Rlc3RjYXBpLmRvY3N0cmluZ193aXRoX3NpZ25hdHVyZV9hbmRfZXh0cmFfbmV3bGluZXMuX190ZXh0X3NpZ25hdHVyZV9fLAogICAgICAgICAgICAgIigkbW9kdWxlLCAvLCBwYXJhbWV0ZXIpIikKIAorICAgIGRlZiB0ZXN0X2NfdHlwZV93aXRoX21hdHJpeF9tdWx0aXBsaWNhdGlvbihzZWxmKToKKyAgICAgICAgTSA9IF90ZXN0Y2FwaS5tYXRtdWxUeXBlCisgICAgICAgIG0xID0gTSgpCisgICAgICAgIG0yID0gTSgpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobTEgQCBtMiwgKCJtYXRtdWwiLCBtMSwgbTIpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG0xIEAgNDIsICgibWF0bXVsIiwgbTEsIDQyKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCg0MiBAIG0xLCAoIm1hdG11bCIsIDQyLCBtMSkpCisgICAgICAgIG8gPSBtMQorICAgICAgICBvIEA9IG0yCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobywgKCJpbWF0bXVsIiwgbTEsIG0yKSkKKyAgICAgICAgbyA9IG0xCisgICAgICAgIG8gQD0gNDIKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChvLCAoImltYXRtdWwiLCBtMSwgNDIpKQorICAgICAgICBvID0gNDIKKyAgICAgICAgbyBAPSBtMQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG8sICgibWF0bXVsIiwgNDIsIG0xKSkKKwogCiBAdW5pdHRlc3Quc2tpcFVubGVzcyh0aHJlYWRpbmcsICdUaHJlYWRpbmcgcmVxdWlyZWQgZm9yIHRoaXMgdGVzdC4nKQogY2xhc3MgVGVzdFBlbmRpbmdDYWxscyh1bml0dGVzdC5UZXN0Q2FzZSk6CkBAIC0yNjgsNyArMjg1LDcgQEAKICAgICAgICAgICAgIGV4ZW5hbWUgKz0gZXh0CiAgICAgICAgICAgICBleGVwYXRoID0gb3MucGF0aC5kaXJuYW1lKHN5cy5leGVjdXRhYmxlKQogICAgICAgICBlbHNlOgotICAgICAgICAgICAgZXhlcGF0aCA9IG9zLnBhdGguam9pbihiYXNlcGF0aCwgIk1vZHVsZXMiKQorICAgICAgICAgICAgZXhlcGF0aCA9IG9zLnBhdGguam9pbihiYXNlcGF0aCwgIlByb2dyYW1zIikKICAgICAgICAgc2VsZi50ZXN0X2V4ZSA9IGV4ZSA9IG9zLnBhdGguam9pbihleGVwYXRoLCBleGVuYW1lKQogICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMoZXhlKToKICAgICAgICAgICAgIHNlbGYuc2tpcFRlc3QoIiVyIGRvZXNuJ3QgZXhpc3QiICUgZXhlKQpAQCAtMjg3LDEyICszMDQsMTMgQEAKICAgICAgICAgY21kLmV4dGVuZChhcmdzKQogICAgICAgICBwID0gc3VicHJvY2Vzcy5Qb3BlbihjbWQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ZG91dD1zdWJwcm9jZXNzLlBJUEUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ZGVycj1zdWJwcm9jZXNzLlBJUEUpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ZGVycj1zdWJwcm9jZXNzLlBJUEUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuaXZlcnNhbF9uZXdsaW5lcz1UcnVlKQogICAgICAgICAob3V0LCBlcnIpID0gcC5jb21tdW5pY2F0ZSgpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocC5yZXR1cm5jb2RlLCAwLAogICAgICAgICAgICAgICAgICAgICAgICAgICJiYWQgcmV0dXJuY29kZSAlZCwgc3RkZXJyIGlzICVyIiAlCiAgICAgICAgICAgICAgICAgICAgICAgICAgKHAucmV0dXJuY29kZSwgZXJyKSkKLSAgICAgICAgcmV0dXJuIG91dC5kZWNvZGUoImxhdGluMSIpLCBlcnIuZGVjb2RlKCJsYXRpbjEiKQorICAgICAgICByZXR1cm4gb3V0LCBlcnIKIAogICAgIGRlZiB0ZXN0X3N1YmludGVycHMoc2VsZik6CiAgICAgICAgICMgVGhpcyBpcyBqdXN0IGEgImRvbid0IGNyYXNoIiB0ZXN0CkBAIC0zMTksMzQgKzMzNywzOCBAQAogICAgICAgICAgICAgcHJpbnQoKQogICAgICAgICAgICAgcHJpbnQob3V0KQogICAgICAgICAgICAgcHJpbnQoZXJyKQorICAgICAgICBleHBlY3RlZF9lcnJvcnMgPSBzeXMuX19zdGRvdXRfXy5lcnJvcnMKICAgICAgICAgZXhwZWN0ZWRfc3RkaW5fZW5jb2RpbmcgPSBzeXMuX19zdGRpbl9fLmVuY29kaW5nCiAgICAgICAgIGV4cGVjdGVkX3BpcGVfZW5jb2RpbmcgPSBzZWxmLl9nZXRfZGVmYXVsdF9waXBlX2VuY29kaW5nKCkKLSAgICAgICAgZXhwZWN0ZWRfb3V0cHV0ID0gb3MubGluZXNlcC5qb2luKFsKKyAgICAgICAgZXhwZWN0ZWRfb3V0cHV0ID0gJ1xuJy5qb2luKFsKICAgICAgICAgIi0tLSBVc2UgZGVmYXVsdHMgLS0tIiwKICAgICAgICAgIkV4cGVjdGVkIGVuY29kaW5nOiBkZWZhdWx0IiwKICAgICAgICAgIkV4cGVjdGVkIGVycm9yczogZGVmYXVsdCIsCi0gICAgICAgICJzdGRpbjogezB9OnN0cmljdCIsCi0gICAgICAgICJzdGRvdXQ6IHsxfTpzdHJpY3QiLAotICAgICAgICAic3RkZXJyOiB7MX06YmFja3NsYXNocmVwbGFjZSIsCisgICAgICAgICJzdGRpbjoge2luX2VuY29kaW5nfTp7ZXJyb3JzfSIsCisgICAgICAgICJzdGRvdXQ6IHtvdXRfZW5jb2Rpbmd9OntlcnJvcnN9IiwKKyAgICAgICAgInN0ZGVycjoge291dF9lbmNvZGluZ306YmFja3NsYXNocmVwbGFjZSIsCiAgICAgICAgICItLS0gU2V0IGVycm9ycyBvbmx5IC0tLSIsCiAgICAgICAgICJFeHBlY3RlZCBlbmNvZGluZzogZGVmYXVsdCIsCi0gICAgICAgICJFeHBlY3RlZCBlcnJvcnM6IHN1cnJvZ2F0ZWVzY2FwZSIsCi0gICAgICAgICJzdGRpbjogezB9OnN1cnJvZ2F0ZWVzY2FwZSIsCi0gICAgICAgICJzdGRvdXQ6IHsxfTpzdXJyb2dhdGVlc2NhcGUiLAotICAgICAgICAic3RkZXJyOiB7MX06YmFja3NsYXNocmVwbGFjZSIsCisgICAgICAgICJFeHBlY3RlZCBlcnJvcnM6IGlnbm9yZSIsCisgICAgICAgICJzdGRpbjoge2luX2VuY29kaW5nfTppZ25vcmUiLAorICAgICAgICAic3Rkb3V0OiB7b3V0X2VuY29kaW5nfTppZ25vcmUiLAorICAgICAgICAic3RkZXJyOiB7b3V0X2VuY29kaW5nfTpiYWNrc2xhc2hyZXBsYWNlIiwKICAgICAgICAgIi0tLSBTZXQgZW5jb2Rpbmcgb25seSAtLS0iLAogICAgICAgICAiRXhwZWN0ZWQgZW5jb2Rpbmc6IGxhdGluLTEiLAogICAgICAgICAiRXhwZWN0ZWQgZXJyb3JzOiBkZWZhdWx0IiwKLSAgICAgICAgInN0ZGluOiBsYXRpbi0xOnN0cmljdCIsCi0gICAgICAgICJzdGRvdXQ6IGxhdGluLTE6c3RyaWN0IiwKKyAgICAgICAgInN0ZGluOiBsYXRpbi0xOntlcnJvcnN9IiwKKyAgICAgICAgInN0ZG91dDogbGF0aW4tMTp7ZXJyb3JzfSIsCiAgICAgICAgICJzdGRlcnI6IGxhdGluLTE6YmFja3NsYXNocmVwbGFjZSIsCiAgICAgICAgICItLS0gU2V0IGVuY29kaW5nIGFuZCBlcnJvcnMgLS0tIiwKICAgICAgICAgIkV4cGVjdGVkIGVuY29kaW5nOiBsYXRpbi0xIiwKLSAgICAgICAgIkV4cGVjdGVkIGVycm9yczogc3Vycm9nYXRlZXNjYXBlIiwKLSAgICAgICAgInN0ZGluOiBsYXRpbi0xOnN1cnJvZ2F0ZWVzY2FwZSIsCi0gICAgICAgICJzdGRvdXQ6IGxhdGluLTE6c3Vycm9nYXRlZXNjYXBlIiwKLSAgICAgICAgInN0ZGVycjogbGF0aW4tMTpiYWNrc2xhc2hyZXBsYWNlIl0pLmZvcm1hdChleHBlY3RlZF9zdGRpbl9lbmNvZGluZywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHBlY3RlZF9waXBlX2VuY29kaW5nKQorICAgICAgICAiRXhwZWN0ZWQgZXJyb3JzOiByZXBsYWNlIiwKKyAgICAgICAgInN0ZGluOiBsYXRpbi0xOnJlcGxhY2UiLAorICAgICAgICAic3Rkb3V0OiBsYXRpbi0xOnJlcGxhY2UiLAorICAgICAgICAic3RkZXJyOiBsYXRpbi0xOmJhY2tzbGFzaHJlcGxhY2UiXSkKKyAgICAgICAgZXhwZWN0ZWRfb3V0cHV0ID0gZXhwZWN0ZWRfb3V0cHV0LmZvcm1hdCgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5fZW5jb2Rpbmc9ZXhwZWN0ZWRfc3RkaW5fZW5jb2RpbmcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG91dF9lbmNvZGluZz1leHBlY3RlZF9waXBlX2VuY29kaW5nLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvcnM9ZXhwZWN0ZWRfZXJyb3JzKQogICAgICAgICAjIFRoaXMgaXMgdXNlZnVsIGlmIHdlIGV2ZXIgdHJpcCBvdmVyIG9kZCBwbGF0Zm9ybSBiZWhhdmlvdXIKICAgICAgICAgc2VsZi5tYXhEaWZmID0gTm9uZQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG91dC5zdHJpcCgpLCBleHBlY3RlZF9vdXRwdXQpCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2NnaS5weSBiL0xpYi90ZXN0L3Rlc3RfY2dpLnB5CmluZGV4IDExMjdkZDEuLjcxNWJkNzMgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfY2dpLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfY2dpLnB5CkBAIC0xLDQgKzEsNCBAQAotZnJvbSB0ZXN0LnN1cHBvcnQgaW1wb3J0IHJ1bl91bml0dGVzdCwgY2hlY2tfd2FybmluZ3MKK2Zyb20gdGVzdC5zdXBwb3J0IGltcG9ydCBjaGVja193YXJuaW5ncwogaW1wb3J0IGNnaQogaW1wb3J0IG9zCiBpbXBvcnQgc3lzCkBAIC0zMDcsNiArMzA3LDE3IEBACiAgICAgICAgICAgICAgICAgZ290ID0gZ2V0YXR0cihmaWxlc1t4XSwgaykKICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGdvdCwgZXhwKQogCisgICAgZGVmIHRlc3RfZmllbGRzdG9yYWdlX2FzX2NvbnRleHRfbWFuYWdlcihzZWxmKToKKyAgICAgICAgZnAgPSBCeXRlc0lPKGIneCcgKiAxMCkKKyAgICAgICAgZW52ID0geydSRVFVRVNUX01FVEhPRCc6ICdQVVQnfQorICAgICAgICB3aXRoIGNnaS5GaWVsZFN0b3JhZ2UoZnA9ZnAsIGVudmlyb249ZW52KSBhcyBmczoKKyAgICAgICAgICAgIGNvbnRlbnQgPSBmcy5maWxlLnJlYWQoKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShmcy5maWxlLmNsb3NlZCkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGZzLmZpbGUuY2xvc2VkKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNvbnRlbnQsICd4JyAqIDEwKQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoVmFsdWVFcnJvciwgJ0kvTyBvcGVyYXRpb24gb24gY2xvc2VkIGZpbGUnKToKKyAgICAgICAgICAgIGZzLmZpbGUucmVhZCgpCisKICAgICBfcXNfcmVzdWx0ID0gewogICAgICAgICAna2V5MSc6ICd2YWx1ZTEnLAogICAgICAgICAna2V5Mic6IFsndmFsdWUyeCcsICd2YWx1ZTJ5J10sCkBAIC00ODEsOSArNDkyLDUgQEAKIC0tQWFCMDN4LS0KICIiIgogCi0KLWRlZiB0ZXN0X21haW4oKToKLSAgICBydW5fdW5pdHRlc3QoQ2dpVGVzdHMpCi0KIGlmIF9fbmFtZV9fID09ICdfX21haW5fXyc6Ci0gICAgdGVzdF9tYWluKCkKKyAgICB1bml0dGVzdC5tYWluKCkKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfY21kX2xpbmUucHkgYi9MaWIvdGVzdC90ZXN0X2NtZF9saW5lLnB5CmluZGV4IDM2ODNhNDguLmViZTU1N2UgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfY21kX2xpbmUucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9jbWRfbGluZS5weQpAQCAtNDQwLDcgKzQ0MCw3IEBACiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXJyLnNwbGl0bGluZXMoKS5jb3VudChiJ1Vua25vd24gb3B0aW9uOiAtYScpLCAxKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGInJywgb3V0KQogCi0gICAgQHVuaXR0ZXN0LnNraXBJZihzY3JpcHRfaGVscGVyLl9pbnRlcnByZXRlcl9yZXF1aXJlc19lbnZpcm9ubWVudCgpLAorICAgIEB1bml0dGVzdC5za2lwSWYoc2NyaXB0X2hlbHBlci5pbnRlcnByZXRlcl9yZXF1aXJlc19lbnZpcm9ubWVudCgpLAogICAgICAgICAgICAgICAgICAgICAgJ0Nhbm5vdCBydW4gLUkgdGVzdHMgd2hlbiBQWVRIT04gZW52IHZhcnMgYXJlIHJlcXVpcmVkLicpCiAgICAgZGVmIHRlc3RfaXNvbGF0ZWRtb2RlKHNlbGYpOgogICAgICAgICBzZWxmLnZlcmlmeV92YWxpZF9mbGFnKCctSScpCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2NvZGVfbW9kdWxlLnB5IGIvTGliL3Rlc3QvdGVzdF9jb2RlX21vZHVsZS5weQppbmRleCA3YTgwYTgwLi45YjE3NzY3IDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2NvZGVfbW9kdWxlLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfY29kZV9tb2R1bGUucHkKQEAgLTEsNiArMSw3IEBACiAiVGVzdCBJbnRlcmFjdGl2ZUNvbnNvbGUgYW5kIEludGVyYWN0aXZlSW50ZXJwcmV0ZXIgZnJvbSBjb2RlIG1vZHVsZSIKIGltcG9ydCBzeXMKIGltcG9ydCB1bml0dGVzdAorZnJvbSB0ZXh0d3JhcCBpbXBvcnQgZGVkZW50CiBmcm9tIGNvbnRleHRsaWIgaW1wb3J0IEV4aXRTdGFjawogZnJvbSB1bml0dGVzdCBpbXBvcnQgbW9jawogZnJvbSB0ZXN0IGltcG9ydCBzdXBwb3J0CkBAIC03OCw2ICs3OSw0MCBAQAogICAgICAgICBzZWxmLmNvbnNvbGUuaW50ZXJhY3QoYmFubmVyPScnKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihzZWxmLnN0ZGVyci5tZXRob2RfY2FsbHMpLCAxKQogCisgICAgZGVmIHRlc3RfY2F1c2VfdGIoc2VsZik6CisgICAgICAgIHNlbGYuaW5mdW5jLnNpZGVfZWZmZWN0ID0gWyJyYWlzZSBWYWx1ZUVycm9yKCcnKSBmcm9tIEF0dHJpYnV0ZUVycm9yIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVPRkVycm9yKCdGaW5pc2hlZCcpXQorICAgICAgICBzZWxmLmNvbnNvbGUuaW50ZXJhY3QoKQorICAgICAgICBvdXRwdXQgPSAnJy5qb2luKCcnLmpvaW4oY2FsbFsxXSkgZm9yIGNhbGwgaW4gc2VsZi5zdGRlcnIubWV0aG9kX2NhbGxzKQorICAgICAgICBleHBlY3RlZCA9IGRlZGVudCgiIiIKKyAgICAgICAgQXR0cmlidXRlRXJyb3IKKworICAgICAgICBUaGUgYWJvdmUgZXhjZXB0aW9uIHdhcyB0aGUgZGlyZWN0IGNhdXNlIG9mIHRoZSBmb2xsb3dpbmcgZXhjZXB0aW9uOgorCisgICAgICAgIFRyYWNlYmFjayAobW9zdCByZWNlbnQgY2FsbCBsYXN0KToKKyAgICAgICAgICBGaWxlICI8Y29uc29sZT4iLCBsaW5lIDEsIGluIDxtb2R1bGU+CisgICAgICAgIFZhbHVlRXJyb3IKKyAgICAgICAgIiIiKQorICAgICAgICBzZWxmLmFzc2VydEluKGV4cGVjdGVkLCBvdXRwdXQpCisKKyAgICBkZWYgdGVzdF9jb250ZXh0X3RiKHNlbGYpOgorICAgICAgICBzZWxmLmluZnVuYy5zaWRlX2VmZmVjdCA9IFsidHJ5OiBoYW1cbmV4Y2VwdDogZWdnc1xuIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVPRkVycm9yKCdGaW5pc2hlZCcpXQorICAgICAgICBzZWxmLmNvbnNvbGUuaW50ZXJhY3QoKQorICAgICAgICBvdXRwdXQgPSAnJy5qb2luKCcnLmpvaW4oY2FsbFsxXSkgZm9yIGNhbGwgaW4gc2VsZi5zdGRlcnIubWV0aG9kX2NhbGxzKQorICAgICAgICBleHBlY3RlZCA9IGRlZGVudCgiIiIKKyAgICAgICAgVHJhY2ViYWNrIChtb3N0IHJlY2VudCBjYWxsIGxhc3QpOgorICAgICAgICAgIEZpbGUgIjxjb25zb2xlPiIsIGxpbmUgMSwgaW4gPG1vZHVsZT4KKyAgICAgICAgTmFtZUVycm9yOiBuYW1lICdoYW0nIGlzIG5vdCBkZWZpbmVkCisKKyAgICAgICAgRHVyaW5nIGhhbmRsaW5nIG9mIHRoZSBhYm92ZSBleGNlcHRpb24sIGFub3RoZXIgZXhjZXB0aW9uIG9jY3VycmVkOgorCisgICAgICAgIFRyYWNlYmFjayAobW9zdCByZWNlbnQgY2FsbCBsYXN0KToKKyAgICAgICAgICBGaWxlICI8Y29uc29sZT4iLCBsaW5lIDIsIGluIDxtb2R1bGU+CisgICAgICAgIE5hbWVFcnJvcjogbmFtZSAnZWdncycgaXMgbm90IGRlZmluZWQKKyAgICAgICAgIiIiKQorICAgICAgICBzZWxmLmFzc2VydEluKGV4cGVjdGVkLCBvdXRwdXQpCisKIAogZGVmIHRlc3RfbWFpbigpOgogICAgIHN1cHBvcnQucnVuX3VuaXR0ZXN0KFRlc3RJbnRlcmFjdGl2ZUNvbnNvbGUpCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2NvZGVjY2FsbGJhY2tzLnB5IGIvTGliL3Rlc3QvdGVzdF9jb2RlY2NhbGxiYWNrcy5weQppbmRleCA4NDgwNGJiLi5lMjlhYzUzIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2NvZGVjY2FsbGJhY2tzLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfY29kZWNjYWxsYmFja3MucHkKQEAgLTE1OCw2ICsxNTgsMjIgQEAKICAgICAgICAgc291dCA9IGIiYVx4YWNcXHUxMjM0XHhhNFxcdTgwMDBcXFUwMDEwZmZmZiIKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzaW4uZW5jb2RlKCJpc28tODg1OS0xNSIsICJiYWNrc2xhc2hyZXBsYWNlIiksIHNvdXQpCiAKKyAgICBkZWYgdGVzdF9uYW1lZXNjYXBlKHNlbGYpOgorICAgICAgICAjIERvZXMgdGhlIHNhbWUgYXMgYmFja3NsYXNoZXNjYXBlLCBidXQgcHJlZmVycyBgYFxOey4uLn1gYCBlc2NhcGUKKyAgICAgICAgIyBzZXF1ZW5jZXMuCisgICAgICAgIHNpbiA9ICJhXHhhY1x1MTIzNFx1MjBhY1x1ODAwMFxVMDAxMGZmZmYiCisgICAgICAgIHNvdXQgPSAoYidhXFxOe05PVCBTSUdOfVxcTntFVEhJT1BJQyBTWUxMQUJMRSBTRUV9XFxOe0VVUk8gU0lHTn0nCisgICAgICAgICAgICAgICAgYidcXE57Q0pLIFVOSUZJRUQgSURFT0dSQVBILTgwMDB9XFxVMDAxMGZmZmYnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNpbi5lbmNvZGUoImFzY2lpIiwgIm5hbWVyZXBsYWNlIiksIHNvdXQpCisKKyAgICAgICAgc291dCA9IChiJ2FceGFjXFxOe0VUSElPUElDIFNZTExBQkxFIFNFRX1cXE57RVVSTyBTSUdOfScKKyAgICAgICAgICAgICAgICBiJ1xcTntDSksgVU5JRklFRCBJREVPR1JBUEgtODAwMH1cXFUwMDEwZmZmZicpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2luLmVuY29kZSgibGF0aW4tMSIsICJuYW1lcmVwbGFjZSIpLCBzb3V0KQorCisgICAgICAgIHNvdXQgPSAoYidhXHhhY1xcTntFVEhJT1BJQyBTWUxMQUJMRSBTRUV9XHhhNCcKKyAgICAgICAgICAgICAgICBiJ1xcTntDSksgVU5JRklFRCBJREVPR1JBUEgtODAwMH1cXFUwMDEwZmZmZicpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2luLmVuY29kZSgiaXNvLTg4NTktMTUiLCAibmFtZXJlcGxhY2UiKSwgc291dCkKKwogICAgIGRlZiB0ZXN0X2RlY29kaW5nX2NhbGxiYWNrcyhzZWxmKToKICAgICAgICAgIyBUaGlzIGlzIGEgdGVzdCBmb3IgYSBkZWNvZGluZyBjYWxsYmFjayBoYW5kbGVyCiAgICAgICAgICMgdGhhdCBhbGxvd3MgdGhlIGRlY29kaW5nIG9mIHRoZSBpbnZhbGlkIHNlcXVlbmNlCkBAIC0yMzAsNiArMjQ2LDExIEBACiAgICAgICAgICAgICAgICAgICAgICJcdTAwMDBcdWZmZmQiCiAgICAgICAgICAgICAgICAgKQogCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKKyAgICAgICAgICAgICAgICAgICAgYiJceDAwXHgwMFx4MDBceDAwXHgwMCIuZGVjb2RlKCJ1bmljb2RlLWludGVybmFsIiwgImJhY2tzbGFzaHJlcGxhY2UiKSwKKyAgICAgICAgICAgICAgICAgICAgIlx1MDAwMFxceDAwIgorICAgICAgICAgICAgICAgICkKKwogICAgICAgICAgICAgICAgIGNvZGVjcy5yZWdpc3Rlcl9lcnJvcigidGVzdC5odWkiLCBoYW5kbGVyX3VuaWNvZGVpbnRlcm5hbCkKIAogICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCkBAIC0yOTcsNyArMzE4LDcgQEAKICAgICBkZWYgdGVzdF9sb25nc3RyaW5ncyhzZWxmKToKICAgICAgICAgIyB0ZXN0IGxvbmcgc3RyaW5ncyB0byBjaGVjayBmb3IgbWVtb3J5IG92ZXJmbG93IHByb2JsZW1zCiAgICAgICAgIGVycm9ycyA9IFsgInN0cmljdCIsICJpZ25vcmUiLCAicmVwbGFjZSIsICJ4bWxjaGFycmVmcmVwbGFjZSIsCi0gICAgICAgICAgICAgICAgICAgImJhY2tzbGFzaHJlcGxhY2UiXQorICAgICAgICAgICAgICAgICAgICJiYWNrc2xhc2hyZXBsYWNlIiwgIm5hbWVyZXBsYWNlIl0KICAgICAgICAgIyByZWdpc3RlciB0aGUgaGFuZGxlcnMgdW5kZXIgZGlmZmVyZW50IG5hbWVzLAogICAgICAgICAjIHRvIHByZXZlbnQgdGhlIGNvZGVjIGZyb20gcmVjb2duaXppbmcgdGhlIG5hbWUKICAgICAgICAgZm9yIGVyciBpbiBlcnJvcnM6CkBAIC01NDksMTcgKzU3MCw2IEBACiAgICAgICAgICAgIGNvZGVjcy5iYWNrc2xhc2hyZXBsYWNlX2Vycm9ycywKICAgICAgICAgICAgVW5pY29kZUVycm9yKCJvdWNoIikKICAgICAgICAgKQotICAgICAgICAjICJiYWNrc2xhc2hyZXBsYWNlIiBjYW4gb25seSBiZSB1c2VkIGZvciBlbmNvZGluZwotICAgICAgICBzZWxmLmFzc2VydFJhaXNlcygKLSAgICAgICAgICAgIFR5cGVFcnJvciwKLSAgICAgICAgICAgIGNvZGVjcy5iYWNrc2xhc2hyZXBsYWNlX2Vycm9ycywKLSAgICAgICAgICAgIFVuaWNvZGVEZWNvZGVFcnJvcigiYXNjaWkiLCBieXRlYXJyYXkoYiJceGZmIiksIDAsIDEsICJvdWNoIikKLSAgICAgICAgKQotICAgICAgICBzZWxmLmFzc2VydFJhaXNlcygKLSAgICAgICAgICAgIFR5cGVFcnJvciwKLSAgICAgICAgICAgIGNvZGVjcy5iYWNrc2xhc2hyZXBsYWNlX2Vycm9ycywKLSAgICAgICAgICAgIFVuaWNvZGVUcmFuc2xhdGVFcnJvcigiXHUzMDQyIiwgMCwgMSwgIm91Y2giKQotICAgICAgICApCiAgICAgICAgICMgVXNlIHRoZSBjb3JyZWN0IGV4Y2VwdGlvbgogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAogICAgICAgICAgICAgY29kZWNzLmJhY2tzbGFzaHJlcGxhY2VfZXJyb3JzKApAQCAtNjExLDYgKzYyMSw5MSBAQAogICAgICAgICAgICAgICAgICgiXFx1ZGZmZiIsIDEpCiAgICAgICAgICAgICApCiAKKyAgICBkZWYgdGVzdF9iYWRhbmRnb29kbmFtZXJlcGxhY2VleGNlcHRpb25zKHNlbGYpOgorICAgICAgICAjICJuYW1lcmVwbGFjZSIgY29tcGxhaW5zIGFib3V0IGEgbm9uLWV4Y2VwdGlvbiBwYXNzZWQgaW4KKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoCisgICAgICAgICAgIFR5cGVFcnJvciwKKyAgICAgICAgICAgY29kZWNzLm5hbWVyZXBsYWNlX2Vycm9ycywKKyAgICAgICAgICAgNDIKKyAgICAgICAgKQorICAgICAgICAjICJuYW1lcmVwbGFjZSIgY29tcGxhaW5zIGFib3V0IHRoZSB3cm9uZyBleGNlcHRpb24gdHlwZXMKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoCisgICAgICAgICAgIFR5cGVFcnJvciwKKyAgICAgICAgICAgY29kZWNzLm5hbWVyZXBsYWNlX2Vycm9ycywKKyAgICAgICAgICAgVW5pY29kZUVycm9yKCJvdWNoIikKKyAgICAgICAgKQorICAgICAgICAjICJuYW1lcmVwbGFjZSIgY2FuIG9ubHkgYmUgdXNlZCBmb3IgZW5jb2RpbmcKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoCisgICAgICAgICAgICBUeXBlRXJyb3IsCisgICAgICAgICAgICBjb2RlY3MubmFtZXJlcGxhY2VfZXJyb3JzLAorICAgICAgICAgICAgVW5pY29kZURlY29kZUVycm9yKCJhc2NpaSIsIGJ5dGVhcnJheShiIlx4ZmYiKSwgMCwgMSwgIm91Y2giKQorICAgICAgICApCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKAorICAgICAgICAgICAgVHlwZUVycm9yLAorICAgICAgICAgICAgY29kZWNzLm5hbWVyZXBsYWNlX2Vycm9ycywKKyAgICAgICAgICAgIFVuaWNvZGVUcmFuc2xhdGVFcnJvcigiXHUzMDQyIiwgMCwgMSwgIm91Y2giKQorICAgICAgICApCisgICAgICAgICMgVXNlIHRoZSBjb3JyZWN0IGV4Y2VwdGlvbgorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAorICAgICAgICAgICAgY29kZWNzLm5hbWVyZXBsYWNlX2Vycm9ycygKKyAgICAgICAgICAgICAgICBVbmljb2RlRW5jb2RlRXJyb3IoImFzY2lpIiwgIlx1MzA0MiIsIDAsIDEsICJvdWNoIikpLAorICAgICAgICAgICAgKCJcXE57SElSQUdBTkEgTEVUVEVSIEF9IiwgMSkKKyAgICAgICAgKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAorICAgICAgICAgICAgY29kZWNzLm5hbWVyZXBsYWNlX2Vycm9ycygKKyAgICAgICAgICAgICAgICBVbmljb2RlRW5jb2RlRXJyb3IoImFzY2lpIiwgIlx4MDAiLCAwLCAxLCAib3VjaCIpKSwKKyAgICAgICAgICAgICgiXFx4MDAiLCAxKQorICAgICAgICApCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisgICAgICAgICAgICBjb2RlY3MubmFtZXJlcGxhY2VfZXJyb3JzKAorICAgICAgICAgICAgICAgIFVuaWNvZGVFbmNvZGVFcnJvcigiYXNjaWkiLCAiXHhmZiIsIDAsIDEsICJvdWNoIikpLAorICAgICAgICAgICAgKCJcXE57TEFUSU4gU01BTEwgTEVUVEVSIFkgV0lUSCBESUFFUkVTSVN9IiwgMSkKKyAgICAgICAgKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAorICAgICAgICAgICAgY29kZWNzLm5hbWVyZXBsYWNlX2Vycm9ycygKKyAgICAgICAgICAgICAgICBVbmljb2RlRW5jb2RlRXJyb3IoImFzY2lpIiwgIlx1MDEwMCIsIDAsIDEsICJvdWNoIikpLAorICAgICAgICAgICAgKCJcXE57TEFUSU4gQ0FQSVRBTCBMRVRURVIgQSBXSVRIIE1BQ1JPTn0iLCAxKQorICAgICAgICApCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisgICAgICAgICAgICBjb2RlY3MubmFtZXJlcGxhY2VfZXJyb3JzKAorICAgICAgICAgICAgICAgIFVuaWNvZGVFbmNvZGVFcnJvcigiYXNjaWkiLCAiXHVmZmZmIiwgMCwgMSwgIm91Y2giKSksCisgICAgICAgICAgICAoIlxcdWZmZmYiLCAxKQorICAgICAgICApCisgICAgICAgIGlmIFNJWkVPRl9XQ0hBUl9UID4gMDoKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisgICAgICAgICAgICAgICAgY29kZWNzLm5hbWVyZXBsYWNlX2Vycm9ycygKKyAgICAgICAgICAgICAgICAgICAgVW5pY29kZUVuY29kZUVycm9yKCJhc2NpaSIsICJcVTAwMDEwMDAwIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAsIDEsICJvdWNoIikpLAorICAgICAgICAgICAgICAgICgiXFxOe0xJTkVBUiBCIFNZTExBQkxFIEIwMDggQX0iLCAxKQorICAgICAgICAgICAgKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKKyAgICAgICAgICAgICAgICBjb2RlY3MubmFtZXJlcGxhY2VfZXJyb3JzKAorICAgICAgICAgICAgICAgICAgICBVbmljb2RlRW5jb2RlRXJyb3IoImFzY2lpIiwgIlxVMDAxMGZmZmYiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwgMSwgIm91Y2giKSksCisgICAgICAgICAgICAgICAgKCJcXFUwMDEwZmZmZiIsIDEpCisgICAgICAgICAgICApCisgICAgICAgICAgICAjIExvbmUgc3Vycm9nYXRlcyAocmVnYXJkbGVzcyBvZiB1bmljb2RlIHdpZHRoKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKKyAgICAgICAgICAgICAgICBjb2RlY3MubmFtZXJlcGxhY2VfZXJyb3JzKAorICAgICAgICAgICAgICAgICAgICBVbmljb2RlRW5jb2RlRXJyb3IoImFzY2lpIiwgIlx1ZDgwMCIsIDAsIDEsICJvdWNoIikpLAorICAgICAgICAgICAgICAgICgiXFx1ZDgwMCIsIDEpCisgICAgICAgICAgICApCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAorICAgICAgICAgICAgICAgIGNvZGVjcy5uYW1lcmVwbGFjZV9lcnJvcnMoCisgICAgICAgICAgICAgICAgICAgIFVuaWNvZGVFbmNvZGVFcnJvcigiYXNjaWkiLCAiXHVkZmZmIiwgMCwgMSwgIm91Y2giKSksCisgICAgICAgICAgICAgICAgKCJcXHVkZmZmIiwgMSkKKyAgICAgICAgICAgICkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKKyAgICAgICAgICAgIGNvZGVjcy5iYWNrc2xhc2hyZXBsYWNlX2Vycm9ycygKKyAgICAgICAgICAgICAgICBVbmljb2RlRGVjb2RlRXJyb3IoImFzY2lpIiwgYnl0ZWFycmF5KGIiXHhmZiIpLCAwLCAxLCAib3VjaCIpKSwKKyAgICAgICAgICAgICgiXFx4ZmYiLCAxKQorICAgICAgICApCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisgICAgICAgICAgICBjb2RlY3MuYmFja3NsYXNocmVwbGFjZV9lcnJvcnMoCisgICAgICAgICAgICAgICAgVW5pY29kZVRyYW5zbGF0ZUVycm9yKCJcdTMwNDIiLCAwLCAxLCAib3VjaCIpKSwKKyAgICAgICAgICAgICgiXFx1MzA0MiIsIDEpCisgICAgICAgICkKKwogICAgIGRlZiB0ZXN0X2JhZGhhbmRsZXJyZXN1bHRzKHNlbGYpOgogICAgICAgICByZXN1bHRzID0gKCA0MiwgImZvbyIsICgxLDIsMyksICgiZm9vIiwgMSwgMyksICgiZm9vIiwgTm9uZSksICgiZm9vIiwpLCAoImZvbyIsIDEsIDMpLCAoImZvbyIsIE5vbmUpLCAoImZvbyIsKSApCiAgICAgICAgIGVuY3MgPSAoImFzY2lpIiwgImxhdGluLTEiLCAiaXNvLTg4NTktMSIsICJpc28tODg1OS0xNSIpCkBAIC02NTEsNiArNzQ2LDEwIEBACiAgICAgICAgICAgICBjb2RlY3MuYmFja3NsYXNocmVwbGFjZV9lcnJvcnMsCiAgICAgICAgICAgICBjb2RlY3MubG9va3VwX2Vycm9yKCJiYWNrc2xhc2hyZXBsYWNlIikKICAgICAgICAgKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAorICAgICAgICAgICAgY29kZWNzLm5hbWVyZXBsYWNlX2Vycm9ycywKKyAgICAgICAgICAgIGNvZGVjcy5sb29rdXBfZXJyb3IoIm5hbWVyZXBsYWNlIikKKyAgICAgICAgKQogCiAgICAgZGVmIHRlc3RfdW5lbmNvZGFibGVyZXBsYWNlbWVudChzZWxmKToKICAgICAgICAgZGVmIHVuZW5jcmVwbChleGMpOgpAQCAtODA0LDcgKzkwMyw4IEBACiAgICAgICAgIGNsYXNzIEQoZGljdCk6CiAgICAgICAgICAgICBkZWYgX19nZXRpdGVtX18oc2VsZiwga2V5KToKICAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yCi0gICAgICAgIGZvciBlcnIgaW4gKCJzdHJpY3QiLCAicmVwbGFjZSIsICJ4bWxjaGFycmVmcmVwbGFjZSIsICJiYWNrc2xhc2hyZXBsYWNlIiwgInRlc3QucG9zcmV0dXJuIik6CisgICAgICAgIGZvciBlcnIgaW4gKCJzdHJpY3QiLCAicmVwbGFjZSIsICJ4bWxjaGFycmVmcmVwbGFjZSIsCisgICAgICAgICAgICAgICAgICAgICJiYWNrc2xhc2hyZXBsYWNlIiwgIm5hbWVyZXBsYWNlIiwgInRlc3QucG9zcmV0dXJuIik6CiAgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhVbmljb2RlRXJyb3IsIGNvZGVjcy5jaGFybWFwX2VuY29kZSwgIlx4ZmYiLCBlcnIsIHsweGZmOiBOb25lfSkKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIGNvZGVjcy5jaGFybWFwX2VuY29kZSwgIlx4ZmYiLCBlcnIsIEQoKSkKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgY29kZWNzLmNoYXJtYXBfZW5jb2RlLCAiXHhmZiIsIGVyciwgezB4ZmY6IDMwMH0pCkBAIC04MTksNyArOTE5LDcgQEAKICAgICAgICAgICAgIGRlZiBfX2dldGl0ZW1fXyhzZWxmLCBrZXkpOgogICAgICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IKICAgICAgICAgI3NlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsICJceGZmIi50cmFuc2xhdGUsIEQoKSkKLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCAiXHhmZiIudHJhbnNsYXRlLCB7MHhmZjogc3lzLm1heHVuaWNvZGUrMX0pCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsICJceGZmIi50cmFuc2xhdGUsIHsweGZmOiBzeXMubWF4dW5pY29kZSsxfSkKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCAiXHhmZiIudHJhbnNsYXRlLCB7MHhmZjogKCl9KQogCiAgICAgZGVmIHRlc3RfYnVnODI4NzM3KHNlbGYpOgpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9jb2RlY3MucHkgYi9MaWIvdGVzdC90ZXN0X2NvZGVjcy5weQppbmRleCA2NjI5Y2NkLi40ZDVkN2JiIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2NvZGVjcy5weQorKysgYi9MaWIvdGVzdC90ZXN0X2NvZGVjcy5weQpAQCAtMzQ5LDYgKzM0OSw4IEBACiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFVuaWNvZGVFbmNvZGVFcnJvciwgIlx1ZDgwMCIuZW5jb2RlLCBzZWxmLmVuY29kaW5nKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCJbXHVEQzgwXSIuZW5jb2RlKHNlbGYuZW5jb2RpbmcsICJiYWNrc2xhc2hyZXBsYWNlIiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgIltcXHVkYzgwXSIuZW5jb2RlKHNlbGYuZW5jb2RpbmcpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCJbXHVEQzgwXSIuZW5jb2RlKHNlbGYuZW5jb2RpbmcsICJuYW1lcmVwbGFjZSIpLAorICAgICAgICAgICAgICAgICAgICAgICAgICJbXFx1ZGM4MF0iLmVuY29kZShzZWxmLmVuY29kaW5nKSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgiW1x1REM4MF0iLmVuY29kZShzZWxmLmVuY29kaW5nLCAieG1sY2hhcnJlZnJlcGxhY2UiKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAiWyYjNTY0NDg7XSIuZW5jb2RlKHNlbGYuZW5jb2RpbmcpKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCJbXHVEQzgwXSIuZW5jb2RlKHNlbGYuZW5jb2RpbmcsICJpZ25vcmUiKSwKQEAgLTM3Niw2ICszNzgsMTAgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmVmb3JlICsgYWZ0ZXIpCiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHRlc3Rfc2VxdWVuY2UuZGVjb2RlKHNlbGYuZW5jb2RpbmcsICJyZXBsYWNlIiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJlZm9yZSArIHNlbGYuaWxsX2Zvcm1lZF9zZXF1ZW5jZV9yZXBsYWNlICsgYWZ0ZXIpCisgICAgICAgICAgICBiYWNrc2xhc2hyZXBsYWNlID0gJycuam9pbignXFx4JTAyeCcgJSBiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgYiBpbiBzZWxmLmlsbF9mb3JtZWRfc2VxdWVuY2UpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHRlc3Rfc2VxdWVuY2UuZGVjb2RlKHNlbGYuZW5jb2RpbmcsICJiYWNrc2xhc2hyZXBsYWNlIiksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJlZm9yZSArIGJhY2tzbGFzaHJlcGxhY2UgKyBhZnRlcikKIAogY2xhc3MgVVRGMzJUZXN0KFJlYWRUZXN0LCB1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgZW5jb2RpbmcgPSAidXRmLTMyIgpAQCAtODA4LDYgKzgxNCw3IEBACiAgICAgICAgICAgICAgICAgKCdcdWRjODAnLCAnaWdub3JlJywgYicnKSwKICAgICAgICAgICAgICAgICAoJ1x1ZGM4MCcsICdyZXBsYWNlJywgYic/JyksCiAgICAgICAgICAgICAgICAgKCdcdWRjODAnLCAnYmFja3NsYXNocmVwbGFjZScsIGInXFx1ZGM4MCcpLAorICAgICAgICAgICAgICAgICgnXHVkYzgwJywgJ25hbWVyZXBsYWNlJywgYidcXHVkYzgwJyksCiAgICAgICAgICAgICAgICAgKCdcdWRjODAnLCAnc3Vycm9nYXRlcGFzcycsIGInXHhlZFx4YjJceDgwJyksCiAgICAgICAgICAgICApKQogICAgICAgICBlbHNlOgpAQCAtODY5LDYgKzg3Niw4IEBACiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFVuaWNvZGVEZWNvZGVFcnJvciwgYiJceGVkXHhhMFx4ODAiLmRlY29kZSwgImNwNjUwMDEiKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCJbXHVEQzgwXSIuZW5jb2RlKCJjcDY1MDAxIiwgImJhY2tzbGFzaHJlcGxhY2UiKSwKICAgICAgICAgICAgICAgICAgICAgICAgICBiJ1tcXHVkYzgwXScpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoIltcdURDODBdIi5lbmNvZGUoImNwNjUwMDEiLCAibmFtZXJlcGxhY2UiKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBiJ1tcXHVkYzgwXScpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoIltcdURDODBdIi5lbmNvZGUoImNwNjUwMDEiLCAieG1sY2hhcnJlZnJlcGxhY2UiKSwKICAgICAgICAgICAgICAgICAgICAgICAgICBiJ1smIzU2NDQ4O10nKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCJbXHVEQzgwXSIuZW5jb2RlKCJjcDY1MDAxIiwgInN1cnJvZ2F0ZWVzY2FwZSIpLApAQCAtODkwLDEwICs4OTksNiBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICJcVTAwMDEwZmZmXHVEODAwIikKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGNvZGVjcy5sb29rdXBfZXJyb3IoInN1cnJvZ2F0ZXBhc3MiKSkKIAotICAgIGRlZiB0ZXN0X3JlYWRsaW5lKHNlbGYpOgotICAgICAgICBzZWxmLnNraXBUZXN0KCJpc3N1ZSAjMjA1NzE6IGNvZGUgcGFnZSA2NTAwMSBjb2RlYyBkb2VzIG5vdCAiCi0gICAgICAgICAgICAgICAgICAgICAgInN1cHBvcnQgcGFydGlhbCBkZWNvZGVyIHlldCIpCi0KIAogY2xhc3MgVVRGN1Rlc3QoUmVhZFRlc3QsIHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICBlbmNvZGluZyA9ICJ1dGYtNyIKQEAgLTEyOTksMTQgKzEzMDQsMTkgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5pY29kZV9pbnRlcm5hbCIpCiAgICAgICAgIGlmIHN5cy5ieXRlb3JkZXIgPT0gImxpdHRsZSI6CiAgICAgICAgICAgICBpbnZhbGlkID0gYiJceDAwXHgwMFx4MTFceDAwIgorICAgICAgICAgICAgaW52YWxpZF9iYWNrc2xhc2hyZXBsYWNlID0gciJceDAwXHgwMFx4MTFceDAwIgogICAgICAgICBlbHNlOgogICAgICAgICAgICAgaW52YWxpZCA9IGIiXHgwMFx4MTFceDAwXHgwMCIKKyAgICAgICAgICAgIGludmFsaWRfYmFja3NsYXNocmVwbGFjZSA9IHIiXHgwMFx4MTFceDAwXHgwMCIKICAgICAgICAgd2l0aCBzdXBwb3J0LmNoZWNrX3dhcm5pbmdzKCk6CiAgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhVbmljb2RlRGVjb2RlRXJyb3IsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnZhbGlkLmRlY29kZSwgInVuaWNvZGVfaW50ZXJuYWwiKQogICAgICAgICB3aXRoIHN1cHBvcnQuY2hlY2tfd2FybmluZ3MoKToKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoaW52YWxpZC5kZWNvZGUoInVuaWNvZGVfaW50ZXJuYWwiLCAicmVwbGFjZSIpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnXHVmZmZkJykKKyAgICAgICAgd2l0aCBzdXBwb3J0LmNoZWNrX3dhcm5pbmdzKCk6CisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGludmFsaWQuZGVjb2RlKCJ1bmljb2RlX2ludGVybmFsIiwgImJhY2tzbGFzaHJlcGxhY2UiKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW52YWxpZF9iYWNrc2xhc2hyZXBsYWNlKQogCiAgICAgQHVuaXR0ZXN0LnNraXBVbmxlc3MoU0laRU9GX1dDSEFSX1QgPT0gNCwgJ3NwZWNpZmljIHRvIDMyLWJpdCB3Y2hhcl90JykKICAgICBkZWYgdGVzdF9kZWNvZGVfZXJyb3JfYXR0cmlidXRlcyhzZWxmKToKQEAgLTE2MTIsNiArMTYyMiwxMiBAQAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNvZGVjcy5kZWNvZGUoYidhYmMnKSwgJ2FiYycpCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFVuaWNvZGVEZWNvZGVFcnJvciwgY29kZWNzLmRlY29kZSwgYidceGZmJywgJ2FzY2lpJykKIAorICAgICAgICAjIHRlc3Qga2V5d29yZHMKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjb2RlY3MuZGVjb2RlKG9iaj1iJ1x4ZTRceGY2XHhmYycsIGVuY29kaW5nPSdsYXRpbi0xJyksCisgICAgICAgICAgICAgICAgICAgICAgICAgJ1x4ZTRceGY2XHhmYycpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY29kZWNzLmRlY29kZShiJ1tceGZmXScsICdhc2NpaScsIGVycm9ycz0naWdub3JlJyksCisgICAgICAgICAgICAgICAgICAgICAgICAgJ1tdJykKKwogICAgIGRlZiB0ZXN0X2VuY29kZShzZWxmKToKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjb2RlY3MuZW5jb2RlKCdceGU0XHhmNlx4ZmMnLCAnbGF0aW4tMScpLAogICAgICAgICAgICAgICAgICAgICAgICAgIGInXHhlNFx4ZjZceGZjJykKQEAgLTE2MjAsNiArMTYzNiwxMiBAQAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNvZGVjcy5lbmNvZGUoJ2FiYycpLCBiJ2FiYycpCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFVuaWNvZGVFbmNvZGVFcnJvciwgY29kZWNzLmVuY29kZSwgJ1x4ZmZmZicsICdhc2NpaScpCiAKKyAgICAgICAgIyB0ZXN0IGtleXdvcmRzCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY29kZWNzLmVuY29kZShvYmo9J1x4ZTRceGY2XHhmYycsIGVuY29kaW5nPSdsYXRpbi0xJyksCisgICAgICAgICAgICAgICAgICAgICAgICAgYidceGU0XHhmNlx4ZmMnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNvZGVjcy5lbmNvZGUoJ1tceGZmXScsICdhc2NpaScsIGVycm9ycz0naWdub3JlJyksCisgICAgICAgICAgICAgICAgICAgICAgICAgYidbXScpCisKICAgICBkZWYgdGVzdF9yZWdpc3RlcihzZWxmKToKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBjb2RlY3MucmVnaXN0ZXIpCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgY29kZWNzLnJlZ2lzdGVyLCA0MikKQEAgLTE2NjgsNiArMTY5MCw3IEBACiAgICAgICAgICAgICAicmVnaXN0ZXJfZXJyb3IiLCAibG9va3VwX2Vycm9yIiwKICAgICAgICAgICAgICJzdHJpY3RfZXJyb3JzIiwgInJlcGxhY2VfZXJyb3JzIiwgImlnbm9yZV9lcnJvcnMiLAogICAgICAgICAgICAgInhtbGNoYXJyZWZyZXBsYWNlX2Vycm9ycyIsICJiYWNrc2xhc2hyZXBsYWNlX2Vycm9ycyIsCisgICAgICAgICAgICAibmFtZXJlcGxhY2VfZXJyb3JzIiwKICAgICAgICAgICAgICJvcGVuIiwgIkVuY29kZWRGaWxlIiwKICAgICAgICAgICAgICJpdGVyZW5jb2RlIiwgIml0ZXJkZWNvZGUiLAogICAgICAgICAgICAgIkJPTSIsICJCT01fQkUiLCAiQk9NX0xFIiwKQEAgLTIwMjksNiArMjA1MiwxNiBAQAogICAgICAgICApCiAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKKyAgICAgICAgICAgIGNvZGVjcy5jaGFybWFwX2RlY29kZShiIlx4MDBceDAxXHgwMiIsICJiYWNrc2xhc2hyZXBsYWNlIiwgImFiIiksCisgICAgICAgICAgICAoImFiXFx4MDIiLCAzKQorICAgICAgICApCisKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKKyAgICAgICAgICAgIGNvZGVjcy5jaGFybWFwX2RlY29kZShiIlx4MDBceDAxXHgwMiIsICJiYWNrc2xhc2hyZXBsYWNlIiwgImFiXHVmZmZlIiksCisgICAgICAgICAgICAoImFiXFx4MDIiLCAzKQorICAgICAgICApCisKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKICAgICAgICAgICAgIGNvZGVjcy5jaGFybWFwX2RlY29kZShiIlx4MDBceDAxXHgwMiIsICJpZ25vcmUiLCAiYWIiKSwKICAgICAgICAgICAgICgiYWIiLCAzKQogICAgICAgICApCkBAIC0yMTA1LDYgKzIxMzgsMjUgQEAKICAgICAgICAgKQogCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisgICAgICAgICAgICBjb2RlY3MuY2hhcm1hcF9kZWNvZGUoYiJceDAwXHgwMVx4MDIiLCAiYmFja3NsYXNocmVwbGFjZSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgezA6ICdhJywgMTogJ2InfSksCisgICAgICAgICAgICAoImFiXFx4MDIiLCAzKQorICAgICAgICApCisKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKKyAgICAgICAgICAgIGNvZGVjcy5jaGFybWFwX2RlY29kZShiIlx4MDBceDAxXHgwMiIsICJiYWNrc2xhc2hyZXBsYWNlIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7MDogJ2EnLCAxOiAnYicsIDI6IE5vbmV9KSwKKyAgICAgICAgICAgICgiYWJcXHgwMiIsIDMpCisgICAgICAgICkKKworICAgICAgICAjIElzc3VlICMxNDg1MAorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAorICAgICAgICAgICAgY29kZWNzLmNoYXJtYXBfZGVjb2RlKGIiXHgwMFx4MDFceDAyIiwgImJhY2tzbGFzaHJlcGxhY2UiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHswOiAnYScsIDE6ICdiJywgMjogJ1x1ZmZmZSd9KSwKKyAgICAgICAgICAgICgiYWJcXHgwMiIsIDMpCisgICAgICAgICkKKworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAogICAgICAgICAgICAgY29kZWNzLmNoYXJtYXBfZGVjb2RlKGIiXHgwMFx4MDFceDAyIiwgImlnbm9yZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgezA6ICdhJywgMTogJ2InfSksCiAgICAgICAgICAgICAoImFiIiwgMykKQEAgLTIxODEsNiArMjIzMywxOCBAQAogICAgICAgICApCiAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKKyAgICAgICAgICAgIGNvZGVjcy5jaGFybWFwX2RlY29kZShiIlx4MDBceDAxXHgwMiIsICJiYWNrc2xhc2hyZXBsYWNlIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7MDogYSwgMTogYn0pLAorICAgICAgICAgICAgKCJhYlxceDAyIiwgMykKKyAgICAgICAgKQorCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisgICAgICAgICAgICBjb2RlY3MuY2hhcm1hcF9kZWNvZGUoYiJceDAwXHgwMVx4MDIiLCAiYmFja3NsYXNocmVwbGFjZSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgezA6IGEsIDE6IGIsIDI6IDB4RkZGRX0pLAorICAgICAgICAgICAgKCJhYlxceDAyIiwgMykKKyAgICAgICAgKQorCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCiAgICAgICAgICAgICBjb2RlY3MuY2hhcm1hcF9kZWNvZGUoYiJceDAwXHgwMVx4MDIiLCAiaWdub3JlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7MDogYSwgMTogYn0pLAogICAgICAgICAgICAgKCJhYiIsIDMpCkBAIC0yMjM5LDkgKzIzMDMsMTMgQEAKIAogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhVbmljb2RlRGVjb2RlRXJyb3IsIGNvZGVjcy51bmljb2RlX2VzY2FwZV9kZWNvZGUsIGJyIlxVMDAxMTAwMDAiKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNvZGVjcy51bmljb2RlX2VzY2FwZV9kZWNvZGUociJcVTAwMTEwMDAwIiwgInJlcGxhY2UiKSwgKCJcdWZmZmQiLCAxMCkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY29kZWNzLnVuaWNvZGVfZXNjYXBlX2RlY29kZShyIlxVMDAxMTAwMDAiLCAiYmFja3NsYXNocmVwbGFjZSIpLAorICAgICAgICAgICAgICAgICAgICAgICAgIChyIlx4NWNceDU1XHgzMFx4MzBceDMxXHgzMVx4MzBceDMwXHgzMFx4MzAiLCAxMCkpCiAKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVW5pY29kZURlY29kZUVycm9yLCBjb2RlY3MucmF3X3VuaWNvZGVfZXNjYXBlX2RlY29kZSwgYnIiXFUwMDExMDAwMCIpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY29kZWNzLnJhd191bmljb2RlX2VzY2FwZV9kZWNvZGUociJcVTAwMTEwMDAwIiwgInJlcGxhY2UiKSwgKCJcdWZmZmQiLCAxMCkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY29kZWNzLnJhd191bmljb2RlX2VzY2FwZV9kZWNvZGUociJcVTAwMTEwMDAwIiwgImJhY2tzbGFzaHJlcGxhY2UiKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAociJceDVjXHg1NVx4MzBceDMwXHgzMVx4MzFceDMwXHgzMFx4MzBceDMwIiwgMTApKQogCiAKIGNsYXNzIFVuaWNvZGVFc2NhcGVUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKQEAgLTI4MTgsMTUgKzI4ODYsMTUgQEAKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXNSZWdleChVbmljb2RlRW5jb2RlRXJyb3IsICdjcDkzMicsCiAgICAgICAgICAgICBjb2RlY3MuY29kZV9wYWdlX2VuY29kZSwgOTMyLCAnXHhmZicpCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoVW5pY29kZURlY29kZUVycm9yLCAnY3A5MzInLAotICAgICAgICAgICAgY29kZWNzLmNvZGVfcGFnZV9kZWNvZGUsIDkzMiwgYidceDgxXHgwMCcpCisgICAgICAgICAgICBjb2RlY3MuY29kZV9wYWdlX2RlY29kZSwgOTMyLCBiJ1x4ODFceDAwJywgJ3N0cmljdCcsIFRydWUpCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoVW5pY29kZURlY29kZUVycm9yLCAnQ1BfVVRGOCcsCi0gICAgICAgICAgICBjb2RlY3MuY29kZV9wYWdlX2RlY29kZSwgc2VsZi5DUF9VVEY4LCBiJ1x4ZmYnKQorICAgICAgICAgICAgY29kZWNzLmNvZGVfcGFnZV9kZWNvZGUsIHNlbGYuQ1BfVVRGOCwgYidceGZmJywgJ3N0cmljdCcsIFRydWUpCiAKICAgICBkZWYgY2hlY2tfZGVjb2RlKHNlbGYsIGNwLCB0ZXN0cyk6CiAgICAgICAgIGZvciByYXcsIGVycm9ycywgZXhwZWN0ZWQgaW4gdGVzdHM6CiAgICAgICAgICAgICBpZiBleHBlY3RlZCBpcyBub3QgTm9uZToKICAgICAgICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgICAgIGRlY29kZWQgPSBjb2RlY3MuY29kZV9wYWdlX2RlY29kZShjcCwgcmF3LCBlcnJvcnMpCisgICAgICAgICAgICAgICAgICAgIGRlY29kZWQgPSBjb2RlY3MuY29kZV9wYWdlX2RlY29kZShjcCwgcmF3LCBlcnJvcnMsIFRydWUpCiAgICAgICAgICAgICAgICAgZXhjZXB0IFVuaWNvZGVEZWNvZGVFcnJvciBhcyBlcnI6CiAgICAgICAgICAgICAgICAgICAgIHNlbGYuZmFpbCgnVW5hYmxlIHRvIGRlY29kZSAlYSBmcm9tICJjcCVzIiB3aXRoICcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdlcnJvcnM9JXI6ICVzJyAlIChyYXcsIGNwLCBlcnJvcnMsIGVycikpCkBAIC0yODM4LDcgKzI5MDYsNyBAQAogICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0TGVzc0VxdWFsKGRlY29kZWRbMV0sIGxlbihyYXcpKQogICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhVbmljb2RlRGVjb2RlRXJyb3IsCi0gICAgICAgICAgICAgICAgICAgIGNvZGVjcy5jb2RlX3BhZ2VfZGVjb2RlLCBjcCwgcmF3LCBlcnJvcnMpCisgICAgICAgICAgICAgICAgICAgIGNvZGVjcy5jb2RlX3BhZ2VfZGVjb2RlLCBjcCwgcmF3LCBlcnJvcnMsIFRydWUpCiAKICAgICBkZWYgY2hlY2tfZW5jb2RlKHNlbGYsIGNwLCB0ZXN0cyk6CiAgICAgICAgIGZvciB0ZXh0LCBlcnJvcnMsIGV4cGVjdGVkIGluIHRlc3RzOgpAQCAtMjg2Niw3ICsyOTM0LDEyIEBACiAgICAgICAgICAgICAoJ1tceGZmXScsICdyZXBsYWNlJywgYidbeV0nKSwKICAgICAgICAgICAgICgnW1x1MjBhY10nLCAncmVwbGFjZScsIGInWz9dJyksCiAgICAgICAgICAgICAoJ1tceGZmXScsICdiYWNrc2xhc2hyZXBsYWNlJywgYidbXFx4ZmZdJyksCisgICAgICAgICAgICAoJ1tceGZmXScsICduYW1lcmVwbGFjZScsCisgICAgICAgICAgICAgYidbXFxOe0xBVElOIFNNQUxMIExFVFRFUiBZIFdJVEggRElBRVJFU0lTfV0nKSwKICAgICAgICAgICAgICgnW1x4ZmZdJywgJ3htbGNoYXJyZWZyZXBsYWNlJywgYidbJiMyNTU7XScpLAorICAgICAgICAgICAgKCdcdWRjZmYnLCAnc3RyaWN0JywgTm9uZSksCisgICAgICAgICAgICAoJ1tcdWRjZmZdJywgJ3N1cnJvZ2F0ZWVzY2FwZScsIGInW1x4ZmZdJyksCisgICAgICAgICAgICAoJ1tcdWRjZmZdJywgJ3N1cnJvZ2F0ZXBhc3MnLCBOb25lKSwKICAgICAgICAgKSkKICAgICAgICAgc2VsZi5jaGVja19kZWNvZGUoOTMyLCAoCiAgICAgICAgICAgICAoYidhYmMnLCAnc3RyaWN0JywgJ2FiYycpLApAQCAtMjg3NSwxMCArMjk0OCwxMyBAQAogICAgICAgICAgICAgKGInW1x4ZmZdJywgJ3N0cmljdCcsIE5vbmUpLAogICAgICAgICAgICAgKGInW1x4ZmZdJywgJ2lnbm9yZScsICdbXScpLAogICAgICAgICAgICAgKGInW1x4ZmZdJywgJ3JlcGxhY2UnLCAnW1x1ZmZmZF0nKSwKKyAgICAgICAgICAgIChiJ1tceGZmXScsICdiYWNrc2xhc2hyZXBsYWNlJywgJ1tcXHhmZl0nKSwKICAgICAgICAgICAgIChiJ1tceGZmXScsICdzdXJyb2dhdGVlc2NhcGUnLCAnW1x1ZGNmZl0nKSwKKyAgICAgICAgICAgIChiJ1tceGZmXScsICdzdXJyb2dhdGVwYXNzJywgTm9uZSksCiAgICAgICAgICAgICAoYidceDgxXHgwMGFiYycsICdzdHJpY3QnLCBOb25lKSwKICAgICAgICAgICAgIChiJ1x4ODFceDAwYWJjJywgJ2lnbm9yZScsICdceDAwYWJjJyksCiAgICAgICAgICAgICAoYidceDgxXHgwMGFiYycsICdyZXBsYWNlJywgJ1x1ZmZmZFx4MDBhYmMnKSwKKyAgICAgICAgICAgIChiJ1x4ODFceDAwYWJjJywgJ2JhY2tzbGFzaHJlcGxhY2UnLCAnXFx4ODFceDAwYWJjJyksCiAgICAgICAgICkpCiAKICAgICBkZWYgdGVzdF9jcDEyNTIoc2VsZik6CkBAIC0yODg2LDkgKzI5NjIsMTIgQEAKICAgICAgICAgICAgICgnYWJjJywgJ3N0cmljdCcsIGInYWJjJyksCiAgICAgICAgICAgICAoJ1x4ZTlcdTIwYWMnLCAnc3RyaWN0JywgIGInXHhlOVx4ODAnKSwKICAgICAgICAgICAgICgnXHhmZicsICdzdHJpY3QnLCBiJ1x4ZmYnKSwKKyAgICAgICAgICAgICMgdGVzdCBlcnJvciBoYW5kbGVycwogICAgICAgICAgICAgKCdcdTAxNDEnLCAnc3RyaWN0JywgTm9uZSksCiAgICAgICAgICAgICAoJ1x1MDE0MScsICdpZ25vcmUnLCBiJycpLAogICAgICAgICAgICAgKCdcdTAxNDEnLCAncmVwbGFjZScsIGInTCcpLAorICAgICAgICAgICAgKCdcdWRjOTgnLCAnc3Vycm9nYXRlZXNjYXBlJywgYidceDk4JyksCisgICAgICAgICAgICAoJ1x1ZGM5OCcsICdzdXJyb2dhdGVwYXNzJywgTm9uZSksCiAgICAgICAgICkpCiAgICAgICAgIHNlbGYuY2hlY2tfZGVjb2RlKDEyNTIsICgKICAgICAgICAgICAgIChiJ2FiYycsICdzdHJpY3QnLCAnYWJjJyksCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2NvbGxlY3Rpb25zLnB5IGIvTGliL3Rlc3QvdGVzdF9jb2xsZWN0aW9ucy5weQppbmRleCBkZjFjNjNjLi5hOTRiNWRhIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2NvbGxlY3Rpb25zLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfY29sbGVjdGlvbnMucHkKQEAgLTUxOCw3ICs1MTgsNyBAQAogICAgICAgICBjbGFzcyBOZXh0T25seToKICAgICAgICAgICAgIGRlZiBfX25leHRfXyhzZWxmKToKICAgICAgICAgICAgICAgICB5aWVsZCAxCi0gICAgICAgICAgICAgICAgcmFpc2UgU3RvcEl0ZXJhdGlvbgorICAgICAgICAgICAgICAgIHJldHVybgogICAgICAgICBzZWxmLmFzc2VydE5vdElzSW5zdGFuY2UoTmV4dE9ubHkoKSwgSXRlcmF0b3IpCiAKICAgICBkZWYgdGVzdF9TaXplZChzZWxmKToKQEAgLTY0Nyw2ICs2NDcsNTkgQEAKICAgICAgICAgYSwgYiA9IE9uZVR3b1RocmVlU2V0KCksIE9uZVR3b1RocmVlU2V0KCkKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGhhc2goYSkgPT0gaGFzaChiKSkKIAorICAgIGRlZiB0ZXN0X2lzZGlzam9pbnRfU2V0KHNlbGYpOgorICAgICAgICBjbGFzcyBNeVNldChTZXQpOgorICAgICAgICAgICAgZGVmIF9faW5pdF9fKHNlbGYsIGl0cik6CisgICAgICAgICAgICAgICAgc2VsZi5jb250ZW50cyA9IGl0cgorICAgICAgICAgICAgZGVmIF9fY29udGFpbnNfXyhzZWxmLCB4KToKKyAgICAgICAgICAgICAgICByZXR1cm4geCBpbiBzZWxmLmNvbnRlbnRzCisgICAgICAgICAgICBkZWYgX19pdGVyX18oc2VsZik6CisgICAgICAgICAgICAgICAgcmV0dXJuIGl0ZXIoc2VsZi5jb250ZW50cykKKyAgICAgICAgICAgIGRlZiBfX2xlbl9fKHNlbGYpOgorICAgICAgICAgICAgICAgIHJldHVybiBsZW4oW3ggZm9yIHggaW4gc2VsZi5jb250ZW50c10pCisgICAgICAgIHMxID0gTXlTZXQoKDEsIDIsIDMpKQorICAgICAgICBzMiA9IE15U2V0KCg0LCA1LCA2KSkKKyAgICAgICAgczMgPSBNeVNldCgoMSwgNSwgNikpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShzMS5pc2Rpc2pvaW50KHMyKSkKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShzMS5pc2Rpc2pvaW50KHMzKSkKKworICAgIGRlZiB0ZXN0X2VxdWFsaXR5X1NldChzZWxmKToKKyAgICAgICAgY2xhc3MgTXlTZXQoU2V0KToKKyAgICAgICAgICAgIGRlZiBfX2luaXRfXyhzZWxmLCBpdHIpOgorICAgICAgICAgICAgICAgIHNlbGYuY29udGVudHMgPSBpdHIKKyAgICAgICAgICAgIGRlZiBfX2NvbnRhaW5zX18oc2VsZiwgeCk6CisgICAgICAgICAgICAgICAgcmV0dXJuIHggaW4gc2VsZi5jb250ZW50cworICAgICAgICAgICAgZGVmIF9faXRlcl9fKHNlbGYpOgorICAgICAgICAgICAgICAgIHJldHVybiBpdGVyKHNlbGYuY29udGVudHMpCisgICAgICAgICAgICBkZWYgX19sZW5fXyhzZWxmKToKKyAgICAgICAgICAgICAgICByZXR1cm4gbGVuKFt4IGZvciB4IGluIHNlbGYuY29udGVudHNdKQorICAgICAgICBzMSA9IE15U2V0KCgxLCkpCisgICAgICAgIHMyID0gTXlTZXQoKDEsIDIpKQorICAgICAgICBzMyA9IE15U2V0KCgzLCA0KSkKKyAgICAgICAgczQgPSBNeVNldCgoMywgNCkpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShzMiA+IHMxKQorICAgICAgICBzZWxmLmFzc2VydFRydWUoczEgPCBzMikKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShzMiA8PSBzMSkKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShzMiA8PSBzMykKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShzMSA+PSBzMikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzMywgczQpCisgICAgICAgIHNlbGYuYXNzZXJ0Tm90RXF1YWwoczIsIHMzKQorCisgICAgZGVmIHRlc3RfYXJpdGhtZXRpY19TZXQoc2VsZik6CisgICAgICAgIGNsYXNzIE15U2V0KFNldCk6CisgICAgICAgICAgICBkZWYgX19pbml0X18oc2VsZiwgaXRyKToKKyAgICAgICAgICAgICAgICBzZWxmLmNvbnRlbnRzID0gaXRyCisgICAgICAgICAgICBkZWYgX19jb250YWluc19fKHNlbGYsIHgpOgorICAgICAgICAgICAgICAgIHJldHVybiB4IGluIHNlbGYuY29udGVudHMKKyAgICAgICAgICAgIGRlZiBfX2l0ZXJfXyhzZWxmKToKKyAgICAgICAgICAgICAgICByZXR1cm4gaXRlcihzZWxmLmNvbnRlbnRzKQorICAgICAgICAgICAgZGVmIF9fbGVuX18oc2VsZik6CisgICAgICAgICAgICAgICAgcmV0dXJuIGxlbihbeCBmb3IgeCBpbiBzZWxmLmNvbnRlbnRzXSkKKyAgICAgICAgczEgPSBNeVNldCgoMSwgMiwgMykpCisgICAgICAgIHMyID0gTXlTZXQoKDMsIDQsIDUpKQorICAgICAgICBzMyA9IHMxICYgczIKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzMywgTXlTZXQoKDMsKSkpCisKICAgICBkZWYgdGVzdF9NdXRhYmxlU2V0KHNlbGYpOgogICAgICAgICBzZWxmLmFzc2VydElzSW5zdGFuY2Uoc2V0KCksIE11dGFibGVTZXQpCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShpc3N1YmNsYXNzKHNldCwgTXV0YWJsZVNldCkpCkBAIC0xMzc4LDYgKzE0MzEsMjEgQEAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsaXN0KG9kLml0ZW1zKCkpLCBwYWlycykKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsaXN0KHJldmVyc2VkKG9kKSksCiAgICAgICAgICAgICAgICAgICAgICAgICAgW3RbMF0gZm9yIHQgaW4gcmV2ZXJzZWQocGFpcnMpXSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsaXN0KHJldmVyc2VkKG9kLmtleXMoKSkpLAorICAgICAgICAgICAgICAgICAgICAgICAgIFt0WzBdIGZvciB0IGluIHJldmVyc2VkKHBhaXJzKV0pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGlzdChyZXZlcnNlZChvZC52YWx1ZXMoKSkpLAorICAgICAgICAgICAgICAgICAgICAgICAgIFt0WzFdIGZvciB0IGluIHJldmVyc2VkKHBhaXJzKV0pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGlzdChyZXZlcnNlZChvZC5pdGVtcygpKSksIGxpc3QocmV2ZXJzZWQocGFpcnMpKSkKKworICAgIGRlZiB0ZXN0X2RldGVjdF9kZWxldGlvbl9kdXJpbmdfaXRlcmF0aW9uKHNlbGYpOgorICAgICAgICBvZCA9IE9yZGVyZWREaWN0LmZyb21rZXlzKCdhYmMnKQorICAgICAgICBpdCA9IGl0ZXIob2QpCisgICAgICAgIGtleSA9IG5leHQoaXQpCisgICAgICAgIGRlbCBvZFtrZXldCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoRXhjZXB0aW9uKToKKyAgICAgICAgICAgICMgTm90ZSwgdGhlIGV4YWN0IGV4Y2VwdGlvbiByYWlzZWQgaXMgbm90IGd1YXJhbnRlZWQKKyAgICAgICAgICAgICMgVGhlIG9ubHkgZ3VhcmFudGVlIHRoYXQgdGhlIG5leHQoKSB3aWxsIG5vdCBzdWNjZWVkCisgICAgICAgICAgICBuZXh0KGl0KQogCiAgICAgZGVmIHRlc3RfcG9waXRlbShzZWxmKToKICAgICAgICAgcGFpcnMgPSBbKCdjJywgMSksICgnYicsIDIpLCAoJ2EnLCAzKSwgKCdkJywgNCksICgnZScsIDUpLCAoJ2YnLCA2KV0KZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfY29tcGlsZWFsbC5weSBiL0xpYi90ZXN0L3Rlc3RfY29tcGlsZWFsbC5weQppbmRleCAyYTQyMjM4Li43NTA2YzcwIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2NvbXBpbGVhbGwucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9jb21waWxlYWxsLnB5CkBAIC0xMCw2ICsxMCwxMyBAQAogaW1wb3J0IHVuaXR0ZXN0CiBpbXBvcnQgaW8KIAorZnJvbSB1bml0dGVzdCBpbXBvcnQgbW9jaywgc2tpcFVubGVzcwordHJ5OgorICAgIGZyb20gY29uY3VycmVudC5mdXR1cmVzIGltcG9ydCBQcm9jZXNzUG9vbEV4ZWN1dG9yCisgICAgX2hhdmVfbXVsdGlwcm9jZXNzaW5nID0gVHJ1ZQorZXhjZXB0IEltcG9ydEVycm9yOgorICAgIF9oYXZlX211bHRpcHJvY2Vzc2luZyA9IEZhbHNlCisKIGZyb20gdGVzdCBpbXBvcnQgc3VwcG9ydCwgc2NyaXB0X2hlbHBlcgogCiBjbGFzcyBDb21waWxlYWxsVGVzdHModW5pdHRlc3QuVGVzdENhc2UpOgpAQCAtMTA2LDYgKzExMywzMyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVidWdfb3ZlcnJpZGU9bm90IG9wdGltaXplKQogICAgICAgICBzZWxmLmFzc2VydFRydWUob3MucGF0aC5pc2ZpbGUoY2FjaGVkMykpCiAKKyAgICBAbW9jay5wYXRjaCgnY29tcGlsZWFsbC5Qcm9jZXNzUG9vbEV4ZWN1dG9yJykKKyAgICBkZWYgdGVzdF9jb21waWxlX3Bvb2xfY2FsbGVkKHNlbGYsIHBvb2xfbW9jayk6CisgICAgICAgIGNvbXBpbGVhbGwuY29tcGlsZV9kaXIoc2VsZi5kaXJlY3RvcnksIHF1aWV0PVRydWUsIHdvcmtlcnM9NSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHBvb2xfbW9jay5jYWxsZWQpCisKKyAgICBkZWYgdGVzdF9jb21waWxlX3dvcmtlcnNfbm9uX3Bvc2l0aXZlKHNlbGYpOgorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoVmFsdWVFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ3b3JrZXJzIG11c3QgYmUgZ3JlYXRlciBvciBlcXVhbCB0byAwIik6CisgICAgICAgICAgICBjb21waWxlYWxsLmNvbXBpbGVfZGlyKHNlbGYuZGlyZWN0b3J5LCB3b3JrZXJzPS0xKQorCisgICAgQG1vY2sucGF0Y2goJ2NvbXBpbGVhbGwuUHJvY2Vzc1Bvb2xFeGVjdXRvcicpCisgICAgZGVmIHRlc3RfY29tcGlsZV93b3JrZXJzX2NwdV9jb3VudChzZWxmLCBwb29sX21vY2spOgorICAgICAgICBjb21waWxlYWxsLmNvbXBpbGVfZGlyKHNlbGYuZGlyZWN0b3J5LCBxdWlldD1UcnVlLCB3b3JrZXJzPTApCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocG9vbF9tb2NrLmNhbGxfYXJnc1sxXVsnbWF4X3dvcmtlcnMnXSwgTm9uZSkKKworICAgIEBtb2NrLnBhdGNoKCdjb21waWxlYWxsLlByb2Nlc3NQb29sRXhlY3V0b3InKQorICAgIEBtb2NrLnBhdGNoKCdjb21waWxlYWxsLmNvbXBpbGVfZmlsZScpCisgICAgZGVmIHRlc3RfY29tcGlsZV9vbmVfd29ya2VyKHNlbGYsIGNvbXBpbGVfZmlsZV9tb2NrLCBwb29sX21vY2spOgorICAgICAgICBjb21waWxlYWxsLmNvbXBpbGVfZGlyKHNlbGYuZGlyZWN0b3J5LCBxdWlldD1UcnVlKQorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKHBvb2xfbW9jay5jYWxsZWQpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShjb21waWxlX2ZpbGVfbW9jay5jYWxsZWQpCisKKyAgICBAbW9jay5wYXRjaCgnY29tcGlsZWFsbC5Qcm9jZXNzUG9vbEV4ZWN1dG9yJywgbmV3PU5vbmUpCisgICAgZGVmIHRlc3RfY29tcGlsZV9taXNzaW5nX211bHRpcHJvY2Vzc2luZyhzZWxmKToKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlc1JlZ2V4KE5vdEltcGxlbWVudGVkRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibXVsdGlwcm9jZXNzaW5nIHN1cHBvcnQgbm90IGF2YWlsYWJsZSIpOgorICAgICAgICAgICAgY29tcGlsZWFsbC5jb21waWxlX2RpcihzZWxmLmRpcmVjdG9yeSwgcXVpZXQ9VHJ1ZSwgd29ya2Vycz01KQogCiBjbGFzcyBFbmNvZGluZ1Rlc3QodW5pdHRlc3QuVGVzdENhc2UpOgogICAgICIiIklzc3VlIDY3MTY6IGNvbXBpbGVhbGwgc2hvdWxkIGVzY2FwZSBzb3VyY2UgY29kZSB3aGVuIHByaW50aW5nIGVycm9ycwpAQCAtMjczLDEyICszMDcsNTMgQEAKICAgICAgICAgc2VsZi5hc3NlcnRDb21waWxlZChzdWJpbml0Zm4pCiAgICAgICAgIHNlbGYuYXNzZXJ0Q29tcGlsZWQoaGFtZm4pCiAKKyAgICBkZWYgdGVzdF9yZWN1cnNpb25fbGltaXQoc2VsZik6CisgICAgICAgIHN1YnBhY2thZ2UgPSBvcy5wYXRoLmpvaW4oc2VsZi5wa2dkaXIsICdzcGFtJykKKyAgICAgICAgc3VicGFja2FnZTIgPSBvcy5wYXRoLmpvaW4oc3VicGFja2FnZSwgJ2hhbScpCisgICAgICAgIHN1YnBhY2thZ2UzID0gb3MucGF0aC5qb2luKHN1YnBhY2thZ2UyLCAnZWdncycpCisgICAgICAgIGZvciBwa2cgaW4gKHN1YnBhY2thZ2UsIHN1YnBhY2thZ2UyLCBzdWJwYWNrYWdlMyk6CisgICAgICAgICAgICBzY3JpcHRfaGVscGVyLm1ha2VfcGtnKHBrZykKKworICAgICAgICBzdWJpbml0Zm4gPSBvcy5wYXRoLmpvaW4oc3VicGFja2FnZSwgJ19faW5pdF9fLnB5JykKKyAgICAgICAgaGFtZm4gPSBzY3JpcHRfaGVscGVyLm1ha2Vfc2NyaXB0KHN1YnBhY2thZ2UsICdoYW0nLCAnJykKKyAgICAgICAgc3BhbWZuID0gc2NyaXB0X2hlbHBlci5tYWtlX3NjcmlwdChzdWJwYWNrYWdlMiwgJ3NwYW0nLCAnJykKKyAgICAgICAgZWdnZm4gPSBzY3JpcHRfaGVscGVyLm1ha2Vfc2NyaXB0KHN1YnBhY2thZ2UzLCAnZWdnJywgJycpCisKKyAgICAgICAgc2VsZi5hc3NlcnRSdW5PSygnLXEnLCAnLXIgMCcsIHNlbGYucGtnZGlyKQorICAgICAgICBzZWxmLmFzc2VydE5vdENvbXBpbGVkKHN1YmluaXRmbikKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZSgKKyAgICAgICAgICAgIG9zLnBhdGguZXhpc3RzKG9zLnBhdGguam9pbihzdWJwYWNrYWdlLCAnX19weWNhY2hlX18nKSkpCisKKyAgICAgICAgc2VsZi5hc3NlcnRSdW5PSygnLXEnLCAnLXIgMScsIHNlbGYucGtnZGlyKQorICAgICAgICBzZWxmLmFzc2VydENvbXBpbGVkKHN1YmluaXRmbikKKyAgICAgICAgc2VsZi5hc3NlcnRDb21waWxlZChoYW1mbikKKyAgICAgICAgc2VsZi5hc3NlcnROb3RDb21waWxlZChzcGFtZm4pCisKKyAgICAgICAgc2VsZi5hc3NlcnRSdW5PSygnLXEnLCAnLXIgMicsIHNlbGYucGtnZGlyKQorICAgICAgICBzZWxmLmFzc2VydENvbXBpbGVkKHN1YmluaXRmbikKKyAgICAgICAgc2VsZi5hc3NlcnRDb21waWxlZChoYW1mbikKKyAgICAgICAgc2VsZi5hc3NlcnRDb21waWxlZChzcGFtZm4pCisgICAgICAgIHNlbGYuYXNzZXJ0Tm90Q29tcGlsZWQoZWdnZm4pCisKKyAgICAgICAgc2VsZi5hc3NlcnRSdW5PSygnLXEnLCAnLXIgNScsIHNlbGYucGtnZGlyKQorICAgICAgICBzZWxmLmFzc2VydENvbXBpbGVkKHN1YmluaXRmbikKKyAgICAgICAgc2VsZi5hc3NlcnRDb21waWxlZChoYW1mbikKKyAgICAgICAgc2VsZi5hc3NlcnRDb21waWxlZChzcGFtZm4pCisgICAgICAgIHNlbGYuYXNzZXJ0Q29tcGlsZWQoZWdnZm4pCisKICAgICBkZWYgdGVzdF9xdWlldChzZWxmKToKICAgICAgICAgbm9pc3kgPSBzZWxmLmFzc2VydFJ1bk9LKHNlbGYucGtnZGlyKQogICAgICAgICBxdWlldCA9IHNlbGYuYXNzZXJ0UnVuT0soJy1xJywgc2VsZi5wa2dkaXIpCiAgICAgICAgIHNlbGYuYXNzZXJ0Tm90RXF1YWwoYicnLCBub2lzeSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiJycsIHF1aWV0KQogCisgICAgZGVmIHRlc3Rfc2lsZW50KHNlbGYpOgorICAgICAgICBzY3JpcHRfaGVscGVyLm1ha2Vfc2NyaXB0KHNlbGYucGtnZGlyLCAnY3J1bmNoeWZyb2cnLCAnYmFkKHN5bnRheCcpCisgICAgICAgIF8sIHF1aWV0LCBfID0gc2VsZi5hc3NlcnRSdW5Ob3RPSygnLXEnLCBzZWxmLnBrZ2RpcikKKyAgICAgICAgXywgc2lsZW50LCBfID0gc2VsZi5hc3NlcnRSdW5Ob3RPSygnLXFxJywgc2VsZi5wa2dkaXIpCisgICAgICAgIHNlbGYuYXNzZXJ0Tm90RXF1YWwoYicnLCBxdWlldCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiJycsIHNpbGVudCkKKwogICAgIGRlZiB0ZXN0X3JlZ2V4cChzZWxmKToKICAgICAgICAgc2VsZi5hc3NlcnRSdW5PSygnLXEnLCAnLXgnLCByJ2JhW15cXC9dKiQnLCBzZWxmLnBrZ2RpcikKICAgICAgICAgc2VsZi5hc3NlcnROb3RDb21waWxlZChzZWxmLmJhcmZuKQpAQCAtMzc5LDYgKzQ1NCwyOSBAQAogICAgICAgICBvdXQgPSBzZWxmLmFzc2VydFJ1bk9LKCdiYWRmaWxlbmFtZScpCiAgICAgICAgIHNlbGYuYXNzZXJ0UmVnZXgob3V0LCBiIkNhbid0IGxpc3QgJ2JhZGZpbGVuYW1lJyIpCiAKKyAgICBAc2tpcFVubGVzcyhfaGF2ZV9tdWx0aXByb2Nlc3NpbmcsICJyZXF1aXJlcyBtdWx0aXByb2Nlc3NpbmciKQorICAgIGRlZiB0ZXN0X3dvcmtlcnMoc2VsZik6CisgICAgICAgIGJhcjJmbiA9IHNjcmlwdF9oZWxwZXIubWFrZV9zY3JpcHQoc2VsZi5kaXJlY3RvcnksICdiYXIyJywgJycpCisgICAgICAgIGZpbGVzID0gW10KKyAgICAgICAgZm9yIHN1ZmZpeCBpbiByYW5nZSg1KToKKyAgICAgICAgICAgIHBrZ2RpciA9IG9zLnBhdGguam9pbihzZWxmLmRpcmVjdG9yeSwgJ2Zvb3t9Jy5mb3JtYXQoc3VmZml4KSkKKyAgICAgICAgICAgIG9zLm1rZGlyKHBrZ2RpcikKKyAgICAgICAgICAgIGZuID0gc2NyaXB0X2hlbHBlci5tYWtlX3NjcmlwdChwa2dkaXIsICdfX2luaXRfXycsICcnKQorICAgICAgICAgICAgZmlsZXMuYXBwZW5kKHNjcmlwdF9oZWxwZXIubWFrZV9zY3JpcHQocGtnZGlyLCAnYmFyMicsICcnKSkKKworICAgICAgICBzZWxmLmFzc2VydFJ1bk9LKHNlbGYuZGlyZWN0b3J5LCAnLWonLCAnMCcpCisgICAgICAgIHNlbGYuYXNzZXJ0Q29tcGlsZWQoYmFyMmZuKQorICAgICAgICBmb3IgZmlsZSBpbiBmaWxlczoKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0Q29tcGlsZWQoZmlsZSkKKworICAgIEBtb2NrLnBhdGNoKCdjb21waWxlYWxsLmNvbXBpbGVfZGlyJykKKyAgICBkZWYgdGVzdF93b3JrZXJzX2F2YWlsYWJsZV9jb3JlcyhzZWxmLCBjb21waWxlX2Rpcik6CisgICAgICAgIHdpdGggbW9jay5wYXRjaCgic3lzLmFyZ3YiLAorICAgICAgICAgICAgICAgICAgICAgICAgbmV3PVtzeXMuZXhlY3V0YWJsZSwgc2VsZi5kaXJlY3RvcnksICItajAiXSk6CisgICAgICAgICAgICBjb21waWxlYWxsLm1haW4oKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGNvbXBpbGVfZGlyLmNhbGxlZCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY29tcGlsZV9kaXIuY2FsbF9hcmdzWy0xXVsnd29ya2VycyddLCBOb25lKQorCiAKIGlmIF9fbmFtZV9fID09ICJfX21haW5fXyI6CiAgICAgdW5pdHRlc3QubWFpbigpCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2NvbmN1cnJlbnRfZnV0dXJlcy5weSBiL0xpYi90ZXN0L3Rlc3RfY29uY3VycmVudF9mdXR1cmVzLnB5CmluZGV4IGM3NGIyY2EuLjg2ODAyYzIgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfY29uY3VycmVudF9mdXR1cmVzLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfY29uY3VycmVudF9mdXR1cmVzLnB5CkBAIC0xMSw2ICsxMSw3IEBACiAKIGZyb20gdGVzdC5zY3JpcHRfaGVscGVyIGltcG9ydCBhc3NlcnRfcHl0aG9uX29rCiAKK2ltcG9ydCBvcwogaW1wb3J0IHN5cwogaW1wb3J0IHRocmVhZGluZwogaW1wb3J0IHRpbWUKQEAgLTQyNSw2ICs0MjYsMTMgQEAKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGNvbGxlY3RlZCwKICAgICAgICAgICAgICAgICAgICAgICAgICJTdGFsZSByZWZlcmVuY2Ugbm90IGNvbGxlY3RlZCB3aXRoaW4gdGltZW91dC4iKQogCisgICAgZGVmIHRlc3RfbWF4X3dvcmtlcnNfbmVnYXRpdmUoc2VsZik6CisgICAgICAgIGZvciBudW1iZXIgaW4gKDAsIC0xKToKKyAgICAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXNSZWdleChWYWx1ZUVycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtYXhfd29ya2VycyBtdXN0IGJlIGdyZWF0ZXIgIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0aGFuIDAiKToKKyAgICAgICAgICAgICAgICBzZWxmLmV4ZWN1dG9yX3R5cGUobWF4X3dvcmtlcnM9bnVtYmVyKQorCiAKIGNsYXNzIFRocmVhZFBvb2xFeGVjdXRvclRlc3QoVGhyZWFkUG9vbE1peGluLCBFeGVjdXRvclRlc3QsIHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICBkZWYgdGVzdF9tYXBfc3VibWl0c193aXRob3V0X2l0ZXJhdGlvbihzZWxmKToKQEAgLTQzNyw2ICs0NDUsMTEgQEAKICAgICAgICAgc2VsZi5leGVjdXRvci5zaHV0ZG93bih3YWl0PVRydWUpCiAgICAgICAgIHNlbGYuYXNzZXJ0Q291bnRFcXVhbChmaW5pc2hlZCwgcmFuZ2UoMTApKQogCisgICAgZGVmIHRlc3RfZGVmYXVsdF93b3JrZXJzKHNlbGYpOgorICAgICAgICBleGVjdXRvciA9IHNlbGYuZXhlY3V0b3JfdHlwZSgpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXhlY3V0b3IuX21heF93b3JrZXJzLAorICAgICAgICAgICAgICAgICAgICAgICAgIChvcy5jcHVfY291bnQoKSBvciAxKSAqIDUpCisKIAogY2xhc3MgUHJvY2Vzc1Bvb2xFeGVjdXRvclRlc3QoUHJvY2Vzc1Bvb2xNaXhpbiwgRXhlY3V0b3JUZXN0LCB1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgZGVmIHRlc3Rfa2lsbGVkX2NoaWxkKHNlbGYpOgpAQCAtNDUxLDYgKzQ2NCw0OCBAQAogICAgICAgICAjIFN1Ym1pdHRpbmcgb3RoZXIgam9icyBmYWlscyBhcyB3ZWxsLgogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhCcm9rZW5Qcm9jZXNzUG9vbCwgc2VsZi5leGVjdXRvci5zdWJtaXQsIHBvdywgMiwgOCkKIAorICAgIGRlZiB0ZXN0X21hcF9jaHVua3NpemUoc2VsZik6CisgICAgICAgIGRlZiBiYWRfbWFwKCk6CisgICAgICAgICAgICBsaXN0KHNlbGYuZXhlY3V0b3IubWFwKHBvdywgcmFuZ2UoNDApLCByYW5nZSg0MCksIGNodW5rc2l6ZT0tMSkpCisKKyAgICAgICAgcmVmID0gbGlzdChtYXAocG93LCByYW5nZSg0MCksIHJhbmdlKDQwKSkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisgICAgICAgICAgICBsaXN0KHNlbGYuZXhlY3V0b3IubWFwKHBvdywgcmFuZ2UoNDApLCByYW5nZSg0MCksIGNodW5rc2l6ZT02KSksCisgICAgICAgICAgICByZWYpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisgICAgICAgICAgICBsaXN0KHNlbGYuZXhlY3V0b3IubWFwKHBvdywgcmFuZ2UoNDApLCByYW5nZSg0MCksIGNodW5rc2l6ZT01MCkpLAorICAgICAgICAgICAgcmVmKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAorICAgICAgICAgICAgbGlzdChzZWxmLmV4ZWN1dG9yLm1hcChwb3csIHJhbmdlKDQwKSwgcmFuZ2UoNDApLCBjaHVua3NpemU9NDApKSwKKyAgICAgICAgICAgIHJlZikKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgYmFkX21hcCkKKworICAgIEBjbGFzc21ldGhvZAorICAgIGRlZiBfdGVzdF90cmFjZWJhY2soY2xzKToKKyAgICAgICAgcmFpc2UgUnVudGltZUVycm9yKDEyMykgIyBzb21lIGNvbW1lbnQKKworICAgIGRlZiB0ZXN0X3RyYWNlYmFjayhzZWxmKToKKyAgICAgICAgIyBXZSB3YW50IGVuc3VyZSB0aGF0IHRoZSB0cmFjZWJhY2sgZnJvbSB0aGUgY2hpbGQgcHJvY2VzcyBpcworICAgICAgICAjIGNvbnRhaW5lZCBpbiB0aGUgdHJhY2ViYWNrIHJhaXNlZCBpbiB0aGUgbWFpbiBwcm9jZXNzLgorICAgICAgICBmdXR1cmUgPSBzZWxmLmV4ZWN1dG9yLnN1Ym1pdChzZWxmLl90ZXN0X3RyYWNlYmFjaykKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhFeGNlcHRpb24pIGFzIGNtOgorICAgICAgICAgICAgZnV0dXJlLnJlc3VsdCgpCisKKyAgICAgICAgZXhjID0gY20uZXhjZXB0aW9uCisgICAgICAgIHNlbGYuYXNzZXJ0SXModHlwZShleGMpLCBSdW50aW1lRXJyb3IpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXhjLmFyZ3MsICgxMjMsKSkKKyAgICAgICAgY2F1c2UgPSBleGMuX19jYXVzZV9fCisgICAgICAgIHNlbGYuYXNzZXJ0SXModHlwZShjYXVzZSksIGZ1dHVyZXMucHJvY2Vzcy5fUmVtb3RlVHJhY2ViYWNrKQorICAgICAgICBzZWxmLmFzc2VydEluKCdyYWlzZSBSdW50aW1lRXJyb3IoMTIzKSAjIHNvbWUgY29tbWVudCcsIGNhdXNlLnRiKQorCisgICAgICAgIHdpdGggdGVzdC5zdXBwb3J0LmNhcHR1cmVkX3N0ZGVycigpIGFzIGYxOgorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIHJhaXNlIGV4YworICAgICAgICAgICAgZXhjZXB0IFJ1bnRpbWVFcnJvcjoKKyAgICAgICAgICAgICAgICBzeXMuZXhjZXB0aG9vaygqc3lzLmV4Y19pbmZvKCkpCisgICAgICAgIHNlbGYuYXNzZXJ0SW4oJ3JhaXNlIFJ1bnRpbWVFcnJvcigxMjMpICMgc29tZSBjb21tZW50JywKKyAgICAgICAgICAgICAgICAgICAgICBmMS5nZXR2YWx1ZSgpKQorCiAKIGNsYXNzIEZ1dHVyZVRlc3RzKHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICBkZWYgdGVzdF9kb25lX2NhbGxiYWNrX3dpdGhfcmVzdWx0KHNlbGYpOgpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9jb25maWdwYXJzZXIucHkgYi9MaWIvdGVzdC90ZXN0X2NvbmZpZ3BhcnNlci5weQppbmRleCAwOWMyMjlhLi40NzBkMmNkIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2NvbmZpZ3BhcnNlci5weQorKysgYi9MaWIvdGVzdC90ZXN0X2NvbmZpZ3BhcnNlci5weQpAQCAtNTc5LDcgKzU3OSw3IEBACiAgICAgICAgICAgICByZXR1cm4gZQogICAgICAgICBlbHNlOgogICAgICAgICAgICAgc2VsZi5mYWlsKCJleHBlY3RlZCBleGNlcHRpb24gdHlwZSAlcy4lcyIKLSAgICAgICAgICAgICAgICAgICAgICAlIChleGMuX19tb2R1bGVfXywgZXhjLl9fbmFtZV9fKSkKKyAgICAgICAgICAgICAgICAgICAgICAlIChleGMuX19tb2R1bGVfXywgZXhjLl9fcXVhbG5hbWVfXykpCiAKICAgICBkZWYgdGVzdF9ib29sZWFuKHNlbGYpOgogICAgICAgICBjZiA9IHNlbGYuZnJvbXN0cmluZygKQEAgLTE1ODQsNiArMTU4NCwzNCBAQAogICAgICAgICAiIiIpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVwcihwYXJzZXJbJ3NlY3Rpb24nXSksICc8U2VjdGlvbjogc2VjdGlvbj4nKQogCisgICAgZGVmIHRlc3RfaW5jb25zaXN0ZW50X2NvbnZlcnRlcnNfc3RhdGUoc2VsZik6CisgICAgICAgIHBhcnNlciA9IGNvbmZpZ3BhcnNlci5Db25maWdQYXJzZXIoKQorICAgICAgICBpbXBvcnQgZGVjaW1hbAorICAgICAgICBwYXJzZXIuY29udmVydGVyc1snZGVjaW1hbCddID0gZGVjaW1hbC5EZWNpbWFsCisgICAgICAgIHBhcnNlci5yZWFkX3N0cmluZygiIiIKKyAgICAgICAgICAgIFtzMV0KKyAgICAgICAgICAgIG9uZSA9IDEKKyAgICAgICAgICAgIFtzMl0KKyAgICAgICAgICAgIHR3byA9IDIKKyAgICAgICAgIiIiKQorICAgICAgICBzZWxmLmFzc2VydEluKCdkZWNpbWFsJywgcGFyc2VyLmNvbnZlcnRlcnMpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocGFyc2VyLmdldGRlY2ltYWwoJ3MxJywgJ29uZScpLCAxKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHBhcnNlci5nZXRkZWNpbWFsKCdzMicsICd0d28nKSwgMikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwYXJzZXJbJ3MxJ10uZ2V0ZGVjaW1hbCgnb25lJyksIDEpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocGFyc2VyWydzMiddLmdldGRlY2ltYWwoJ3R3bycpLCAyKQorICAgICAgICBkZWwgcGFyc2VyLmdldGRlY2ltYWwKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhBdHRyaWJ1dGVFcnJvcik6CisgICAgICAgICAgICBwYXJzZXIuZ2V0ZGVjaW1hbCgnczEnLCAnb25lJykKKyAgICAgICAgc2VsZi5hc3NlcnRJbignZGVjaW1hbCcsIHBhcnNlci5jb252ZXJ0ZXJzKQorICAgICAgICBkZWwgcGFyc2VyLmNvbnZlcnRlcnNbJ2RlY2ltYWwnXQorICAgICAgICBzZWxmLmFzc2VydE5vdEluKCdkZWNpbWFsJywgcGFyc2VyLmNvbnZlcnRlcnMpCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoQXR0cmlidXRlRXJyb3IpOgorICAgICAgICAgICAgcGFyc2VyLmdldGRlY2ltYWwoJ3MxJywgJ29uZScpCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoQXR0cmlidXRlRXJyb3IpOgorICAgICAgICAgICAgcGFyc2VyWydzMSddLmdldGRlY2ltYWwoJ29uZScpCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoQXR0cmlidXRlRXJyb3IpOgorICAgICAgICAgICAgcGFyc2VyWydzMiddLmdldGRlY2ltYWwoJ3R3bycpCisKIAogY2xhc3MgRXhjZXB0aW9uUGlja2xpbmdUZXN0Q2FzZSh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgIiIiVGVzdHMgZm9yIGlzc3VlICMxMzc2MDogQ29uZmlnUGFyc2VyIGV4Y2VwdGlvbnMgYXJlIG5vdCBwaWNrbGFibGUuIiIiCkBAIC0xNzc2LDUgKzE4MDQsMjUyIEBACiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc1snazMnXSwgJ3YzOyMvL3N0aWxsIHYzIyBhbmQgc3RpbGwgdjMnKQogCiAKK2NsYXNzIEV4Y2VwdGlvbkNvbnRleHRUZXN0Q2FzZSh1bml0dGVzdC5UZXN0Q2FzZSk6CisgICAgIiIiIFRlc3QgdGhhdCBpbXBsZW1lbnRhdGlvbiBkZXRhaWxzIGRvZXNuJ3QgbGVhaworICAgIHRocm91Z2ggcmFpc2luZyBleGNlcHRpb25zLiAiIiIKKworICAgIGRlZiB0ZXN0X2dldF9iYXNpY19pbnRlcnBvbGF0aW9uKHNlbGYpOgorICAgICAgICBwYXJzZXIgPSBjb25maWdwYXJzZXIuQ29uZmlnUGFyc2VyKCkKKyAgICAgICAgcGFyc2VyLnJlYWRfc3RyaW5nKCIiIgorICAgICAgICBbUGF0aHNdCisgICAgICAgIGhvbWVfZGlyOiAvVXNlcnMKKyAgICAgICAgbXlfZGlyOiAlKGhvbWVfZGlyMSlzL2x1bWJlcmphY2sKKyAgICAgICAgbXlfcGljdHVyZXM6ICUobXlfZGlyKXMvUGljdHVyZXMKKyAgICAgICAgIiIiKQorICAgICAgICBjbSA9IHNlbGYuYXNzZXJ0UmFpc2VzKGNvbmZpZ3BhcnNlci5JbnRlcnBvbGF0aW9uTWlzc2luZ09wdGlvbkVycm9yKQorICAgICAgICB3aXRoIGNtOgorICAgICAgICAgICAgcGFyc2VyLmdldCgnUGF0aHMnLCAnbXlfZGlyJykKKyAgICAgICAgc2VsZi5hc3NlcnRJcyhjbS5leGNlcHRpb24uX19zdXBwcmVzc19jb250ZXh0X18sIFRydWUpCisKKyAgICBkZWYgdGVzdF9nZXRfZXh0ZW5kZWRfaW50ZXJwb2xhdGlvbihzZWxmKToKKyAgICAgICAgcGFyc2VyID0gY29uZmlncGFyc2VyLkNvbmZpZ1BhcnNlcigKKyAgICAgICAgICBpbnRlcnBvbGF0aW9uPWNvbmZpZ3BhcnNlci5FeHRlbmRlZEludGVycG9sYXRpb24oKSkKKyAgICAgICAgcGFyc2VyLnJlYWRfc3RyaW5nKCIiIgorICAgICAgICBbUGF0aHNdCisgICAgICAgIGhvbWVfZGlyOiAvVXNlcnMKKyAgICAgICAgbXlfZGlyOiAke2hvbWVfZGlyMX0vbHVtYmVyamFjaworICAgICAgICBteV9waWN0dXJlczogJHtteV9kaXJ9L1BpY3R1cmVzCisgICAgICAgICIiIikKKyAgICAgICAgY20gPSBzZWxmLmFzc2VydFJhaXNlcyhjb25maWdwYXJzZXIuSW50ZXJwb2xhdGlvbk1pc3NpbmdPcHRpb25FcnJvcikKKyAgICAgICAgd2l0aCBjbToKKyAgICAgICAgICAgIHBhcnNlci5nZXQoJ1BhdGhzJywgJ215X2RpcicpCisgICAgICAgIHNlbGYuYXNzZXJ0SXMoY20uZXhjZXB0aW9uLl9fc3VwcHJlc3NfY29udGV4dF9fLCBUcnVlKQorCisgICAgZGVmIHRlc3RfbWlzc2luZ19vcHRpb25zKHNlbGYpOgorICAgICAgICBwYXJzZXIgPSBjb25maWdwYXJzZXIuQ29uZmlnUGFyc2VyKCkKKyAgICAgICAgcGFyc2VyLnJlYWRfc3RyaW5nKCIiIgorICAgICAgICBbUGF0aHNdCisgICAgICAgIGhvbWVfZGlyOiAvVXNlcnMKKyAgICAgICAgIiIiKQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKGNvbmZpZ3BhcnNlci5Ob1NlY3Rpb25FcnJvcikgYXMgY206CisgICAgICAgICAgICBwYXJzZXIub3B0aW9ucygndGVzdCcpCisgICAgICAgIHNlbGYuYXNzZXJ0SXMoY20uZXhjZXB0aW9uLl9fc3VwcHJlc3NfY29udGV4dF9fLCBUcnVlKQorCisgICAgZGVmIHRlc3RfbWlzc2luZ19zZWN0aW9uKHNlbGYpOgorICAgICAgICBjb25maWcgPSBjb25maWdwYXJzZXIuQ29uZmlnUGFyc2VyKCkKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhjb25maWdwYXJzZXIuTm9TZWN0aW9uRXJyb3IpIGFzIGNtOgorICAgICAgICAgICAgY29uZmlnLnNldCgnU2VjdGlvbjEnLCAnYW5faW50JywgJzE1JykKKyAgICAgICAgc2VsZi5hc3NlcnRJcyhjbS5leGNlcHRpb24uX19zdXBwcmVzc19jb250ZXh0X18sIFRydWUpCisKKyAgICBkZWYgdGVzdF9yZW1vdmVfb3B0aW9uKHNlbGYpOgorICAgICAgICBjb25maWcgPSBjb25maWdwYXJzZXIuQ29uZmlnUGFyc2VyKCkKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhjb25maWdwYXJzZXIuTm9TZWN0aW9uRXJyb3IpIGFzIGNtOgorICAgICAgICAgICAgY29uZmlnLnJlbW92ZV9vcHRpb24oJ1NlY3Rpb24xJywgJ2FuX2ludCcpCisgICAgICAgIHNlbGYuYXNzZXJ0SXMoY20uZXhjZXB0aW9uLl9fc3VwcHJlc3NfY29udGV4dF9fLCBUcnVlKQorCisKK2NsYXNzIENvbnZlcnRlcnNUZXN0Q2FzZShCYXNpY1Rlc3RDYXNlLCB1bml0dGVzdC5UZXN0Q2FzZSk6CisgICAgIiIiSW50cm9kdWNlZCBpbiAzLjUsIGlzc3VlICMxODE1OS4iIiIKKworICAgIGNvbmZpZ19jbGFzcyA9IGNvbmZpZ3BhcnNlci5Db25maWdQYXJzZXIKKworICAgIGRlZiBuZXdjb25maWcoc2VsZiwgZGVmYXVsdHM9Tm9uZSk6CisgICAgICAgIGluc3RhbmNlID0gc3VwZXIoKS5uZXdjb25maWcoZGVmYXVsdHM9ZGVmYXVsdHMpCisgICAgICAgIGluc3RhbmNlLmNvbnZlcnRlcnNbJ2xpc3QnXSA9IGxhbWJkYSB2OiBbZS5zdHJpcCgpIGZvciBlIGluIHYuc3BsaXQoKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIGUuc3RyaXAoKV0KKyAgICAgICAgcmV0dXJuIGluc3RhbmNlCisKKyAgICBkZWYgdGVzdF9jb252ZXJ0ZXJzKHNlbGYpOgorICAgICAgICBjZmcgPSBzZWxmLm5ld2NvbmZpZygpCisgICAgICAgIHNlbGYuYXNzZXJ0SW4oJ2Jvb2xlYW4nLCBjZmcuY29udmVydGVycykKKyAgICAgICAgc2VsZi5hc3NlcnRJbignbGlzdCcsIGNmZy5jb252ZXJ0ZXJzKQorICAgICAgICBzZWxmLmFzc2VydElzTm9uZShjZmcuY29udmVydGVyc1snaW50J10pCisgICAgICAgIHNlbGYuYXNzZXJ0SXNOb25lKGNmZy5jb252ZXJ0ZXJzWydmbG9hdCddKQorICAgICAgICBzZWxmLmFzc2VydElzTm9uZShjZmcuY29udmVydGVyc1snYm9vbGVhbiddKQorICAgICAgICBzZWxmLmFzc2VydElzTm90Tm9uZShjZmcuY29udmVydGVyc1snbGlzdCddKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihjZmcuY29udmVydGVycyksIDQpCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvcik6CisgICAgICAgICAgICBjZmcuY29udmVydGVyc1snJ10gPSBsYW1iZGEgdjogdgorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IpOgorICAgICAgICAgICAgY2ZnLmNvbnZlcnRlcnNbTm9uZV0gPSBsYW1iZGEgdjogdgorICAgICAgICBjZmcucmVhZF9zdHJpbmcoIiIiCisgICAgICAgIFtzXQorICAgICAgICBzdHIgPSBzdHJpbmcKKyAgICAgICAgaW50ID0gMQorICAgICAgICBmbG9hdCA9IDAuNQorICAgICAgICBsaXN0ID0gYSBiIGMgZCBlIGYgZworICAgICAgICBib29sID0geWVzCisgICAgICAgICIiIikKKyAgICAgICAgcyA9IGNmZ1sncyddCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc1snc3RyJ10sICdzdHJpbmcnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNbJ2ludCddLCAnMScpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc1snZmxvYXQnXSwgJzAuNScpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc1snbGlzdCddLCAnYSBiIGMgZCBlIGYgZycpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc1snYm9vbCddLCAneWVzJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjZmcuZ2V0KCdzJywgJ3N0cicpLCAnc3RyaW5nJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjZmcuZ2V0KCdzJywgJ2ludCcpLCAnMScpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY2ZnLmdldCgncycsICdmbG9hdCcpLCAnMC41JykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjZmcuZ2V0KCdzJywgJ2xpc3QnKSwgJ2EgYiBjIGQgZSBmIGcnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNmZy5nZXQoJ3MnLCAnYm9vbCcpLCAneWVzJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjZmcuZ2V0KCdzJywgJ3N0cicpLCAnc3RyaW5nJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjZmcuZ2V0aW50KCdzJywgJ2ludCcpLCAxKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNmZy5nZXRmbG9hdCgncycsICdmbG9hdCcpLCAwLjUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY2ZnLmdldGxpc3QoJ3MnLCAnbGlzdCcpLCBbJ2EnLCAnYicsICdjJywgJ2QnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdlJywgJ2YnLCAnZyddKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNmZy5nZXRib29sZWFuKCdzJywgJ2Jvb2wnKSwgVHJ1ZSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzLmdldCgnc3RyJyksICdzdHJpbmcnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHMuZ2V0aW50KCdpbnQnKSwgMSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzLmdldGZsb2F0KCdmbG9hdCcpLCAwLjUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocy5nZXRsaXN0KCdsaXN0JyksIFsnYScsICdiJywgJ2MnLCAnZCcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZScsICdmJywgJ2cnXSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzLmdldGJvb2xlYW4oJ2Jvb2wnKSwgVHJ1ZSkKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhBdHRyaWJ1dGVFcnJvcik6CisgICAgICAgICAgICBjZmcuZ2V0ZGVjaW1hbCgncycsICdmbG9hdCcpCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoQXR0cmlidXRlRXJyb3IpOgorICAgICAgICAgICAgcy5nZXRkZWNpbWFsKCdmbG9hdCcpCisgICAgICAgIGltcG9ydCBkZWNpbWFsCisgICAgICAgIGNmZy5jb252ZXJ0ZXJzWydkZWNpbWFsJ10gPSBkZWNpbWFsLkRlY2ltYWwKKyAgICAgICAgc2VsZi5hc3NlcnRJbignZGVjaW1hbCcsIGNmZy5jb252ZXJ0ZXJzKQorICAgICAgICBzZWxmLmFzc2VydElzTm90Tm9uZShjZmcuY29udmVydGVyc1snZGVjaW1hbCddKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihjZmcuY29udmVydGVycyksIDUpCisgICAgICAgIGRlYzBfNSA9IGRlY2ltYWwuRGVjaW1hbCgnMC41JykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjZmcuZ2V0ZGVjaW1hbCgncycsICdmbG9hdCcpLCBkZWMwXzUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocy5nZXRkZWNpbWFsKCdmbG9hdCcpLCBkZWMwXzUpCisgICAgICAgIGRlbCBjZmcuY29udmVydGVyc1snZGVjaW1hbCddCisgICAgICAgIHNlbGYuYXNzZXJ0Tm90SW4oJ2RlY2ltYWwnLCBjZmcuY29udmVydGVycykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oY2ZnLmNvbnZlcnRlcnMpLCA0KQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKEF0dHJpYnV0ZUVycm9yKToKKyAgICAgICAgICAgIGNmZy5nZXRkZWNpbWFsKCdzJywgJ2Zsb2F0JykKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhBdHRyaWJ1dGVFcnJvcik6CisgICAgICAgICAgICBzLmdldGRlY2ltYWwoJ2Zsb2F0JykKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhLZXlFcnJvcik6CisgICAgICAgICAgICBkZWwgY2ZnLmNvbnZlcnRlcnNbJ2RlY2ltYWwnXQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKEtleUVycm9yKToKKyAgICAgICAgICAgIGRlbCBjZmcuY29udmVydGVyc1snJ10KKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhLZXlFcnJvcik6CisgICAgICAgICAgICBkZWwgY2ZnLmNvbnZlcnRlcnNbTm9uZV0KKworCitjbGFzcyBCbGF0YW50T3ZlcnJpZGVDb252ZXJ0ZXJzVGVzdENhc2UodW5pdHRlc3QuVGVzdENhc2UpOgorICAgICIiIldoYXQgaWYgc29tZWJvZHkgb3ZlcnJvZGUgYSBnZXRib29sZWFuKCk/IFdlIHdhbnQgdG8gbWFrZSBzdXJlIHRoYXQgaW4KKyAgICB0aGlzIGNhc2UgdGhlIGF1dG9tYXRpYyBjb252ZXJ0ZXJzIGRvIG5vdCBraWNrIGluLiIiIgorCisgICAgY29uZmlnID0gIiIiCisgICAgICAgIFtvbmVdCisgICAgICAgIG9uZSA9IGZhbHNlCisgICAgICAgIHR3byA9IGZhbHNlCisgICAgICAgIHRocmVlID0gbG9uZyBzdG9yeSBzaG9ydAorCisgICAgICAgIFt0d29dCisgICAgICAgIG9uZSA9IGZhbHNlCisgICAgICAgIHR3byA9IGZhbHNlCisgICAgICAgIHRocmVlID0gZm91cgorICAgICIiIgorCisgICAgZGVmIHRlc3RfY29udmVydGVyc19hdF9pbml0KHNlbGYpOgorICAgICAgICBjZmcgPSBjb25maWdwYXJzZXIuQ29uZmlnUGFyc2VyKGNvbnZlcnRlcnM9eydsZW4nOiBsZW59KQorICAgICAgICBjZmcucmVhZF9zdHJpbmcoc2VsZi5jb25maWcpCisgICAgICAgIHNlbGYuX3Rlc3RfbGVuKGNmZykKKyAgICAgICAgc2VsZi5hc3NlcnRJc05vdE5vbmUoY2ZnLmNvbnZlcnRlcnNbJ2xlbiddKQorCisgICAgZGVmIHRlc3RfaW5oZXJpdGFuY2Uoc2VsZik6CisgICAgICAgIGNsYXNzIFN0cmFuZ2VDb25maWdQYXJzZXIoY29uZmlncGFyc2VyLkNvbmZpZ1BhcnNlcik6CisgICAgICAgICAgICBnZXR0eXNidXJnID0gJ2EgaGlzdG9yaWMgYm9yb3VnaCBpbiBzb3V0aCBjZW50cmFsIFBlbm5zeWx2YW5pYScKKworICAgICAgICAgICAgZGVmIGdldGJvb2xlYW4oc2VsZiwgc2VjdGlvbiwgb3B0aW9uLCAqLCByYXc9RmFsc2UsIHZhcnM9Tm9uZSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGZhbGxiYWNrPWNvbmZpZ3BhcnNlci5fVU5TRVQpOgorICAgICAgICAgICAgICAgIGlmIHNlY3Rpb24gPT0gb3B0aW9uOgorICAgICAgICAgICAgICAgICAgICByZXR1cm4gVHJ1ZQorICAgICAgICAgICAgICAgIHJldHVybiBzdXBlcigpLmdldGJvb2xlYW4oc2VjdGlvbiwgb3B0aW9uLCByYXc9cmF3LCB2YXJzPXZhcnMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWxsYmFjaz1mYWxsYmFjaykKKyAgICAgICAgICAgIGRlZiBnZXRsZW4oc2VsZiwgc2VjdGlvbiwgb3B0aW9uLCAqLCByYXc9RmFsc2UsIHZhcnM9Tm9uZSwKKyAgICAgICAgICAgICAgICAgICAgICAgZmFsbGJhY2s9Y29uZmlncGFyc2VyLl9VTlNFVCk6CisgICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYuX2dldF9jb252KHNlY3Rpb24sIG9wdGlvbiwgbGVuLCByYXc9cmF3LCB2YXJzPXZhcnMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhbGxiYWNrPWZhbGxiYWNrKQorCisgICAgICAgIGNmZyA9IFN0cmFuZ2VDb25maWdQYXJzZXIoKQorICAgICAgICBjZmcucmVhZF9zdHJpbmcoc2VsZi5jb25maWcpCisgICAgICAgIHNlbGYuX3Rlc3RfbGVuKGNmZykKKyAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUoY2ZnLmNvbnZlcnRlcnNbJ2xlbiddKQorICAgICAgICBzZWxmLmFzc2VydFRydWUoY2ZnLmdldGJvb2xlYW4oJ29uZScsICdvbmUnKSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGNmZy5nZXRib29sZWFuKCd0d28nLCAndHdvJykpCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoY2ZnLmdldGJvb2xlYW4oJ29uZScsICd0d28nKSkKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShjZmcuZ2V0Ym9vbGVhbigndHdvJywgJ29uZScpKQorICAgICAgICBjZmcuY29udmVydGVyc1snYm9vbGVhbiddID0gY2ZnLl9jb252ZXJ0X3RvX2Jvb2xlYW4KKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShjZmcuZ2V0Ym9vbGVhbignb25lJywgJ29uZScpKQorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGNmZy5nZXRib29sZWFuKCd0d28nLCAndHdvJykpCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoY2ZnLmdldGJvb2xlYW4oJ29uZScsICd0d28nKSkKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShjZmcuZ2V0Ym9vbGVhbigndHdvJywgJ29uZScpKQorCisgICAgZGVmIF90ZXN0X2xlbihzZWxmLCBjZmcpOgorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihjZmcuY29udmVydGVycyksIDQpCisgICAgICAgIHNlbGYuYXNzZXJ0SW4oJ2Jvb2xlYW4nLCBjZmcuY29udmVydGVycykKKyAgICAgICAgc2VsZi5hc3NlcnRJbignbGVuJywgY2ZnLmNvbnZlcnRlcnMpCisgICAgICAgIHNlbGYuYXNzZXJ0Tm90SW4oJ3R5c2J1cmcnLCBjZmcuY29udmVydGVycykKKyAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUoY2ZnLmNvbnZlcnRlcnNbJ2ludCddKQorICAgICAgICBzZWxmLmFzc2VydElzTm9uZShjZmcuY29udmVydGVyc1snZmxvYXQnXSkKKyAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUoY2ZnLmNvbnZlcnRlcnNbJ2Jvb2xlYW4nXSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjZmcuZ2V0bGVuKCdvbmUnLCAnb25lJyksIDUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY2ZnLmdldGxlbignb25lJywgJ3R3bycpLCA1KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNmZy5nZXRsZW4oJ29uZScsICd0aHJlZScpLCAxNikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjZmcuZ2V0bGVuKCd0d28nLCAnb25lJyksIDUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY2ZnLmdldGxlbigndHdvJywgJ3R3bycpLCA1KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNmZy5nZXRsZW4oJ3R3bycsICd0aHJlZScpLCA0KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNmZy5nZXRsZW4oJ3R3bycsICdmb3VyJywgZmFsbGJhY2s9MCksIDApCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoY29uZmlncGFyc2VyLk5vT3B0aW9uRXJyb3IpOgorICAgICAgICAgICAgY2ZnLmdldGxlbigndHdvJywgJ2ZvdXInKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNmZ1snb25lJ10uZ2V0bGVuKCdvbmUnKSwgNSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjZmdbJ29uZSddLmdldGxlbigndHdvJyksIDUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY2ZnWydvbmUnXS5nZXRsZW4oJ3RocmVlJyksIDE2KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNmZ1sndHdvJ10uZ2V0bGVuKCdvbmUnKSwgNSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjZmdbJ3R3byddLmdldGxlbigndHdvJyksIDUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY2ZnWyd0d28nXS5nZXRsZW4oJ3RocmVlJyksIDQpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY2ZnWyd0d28nXS5nZXRsZW4oJ2ZvdXInLCAwKSwgMCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjZmdbJ3R3byddLmdldGxlbignZm91cicpLCBOb25lKQorCisgICAgZGVmIHRlc3RfaW5zdGFuY2VfYXNzaWdubWVudChzZWxmKToKKyAgICAgICAgY2ZnID0gY29uZmlncGFyc2VyLkNvbmZpZ1BhcnNlcigpCisgICAgICAgIGNmZy5nZXRib29sZWFuID0gbGFtYmRhIHNlY3Rpb24sIG9wdGlvbjogVHJ1ZQorICAgICAgICBjZmcuZ2V0bGVuID0gbGFtYmRhIHNlY3Rpb24sIG9wdGlvbjogbGVuKGNmZ1tzZWN0aW9uXVtvcHRpb25dKQorICAgICAgICBjZmcucmVhZF9zdHJpbmcoc2VsZi5jb25maWcpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKGNmZy5jb252ZXJ0ZXJzKSwgMykKKyAgICAgICAgc2VsZi5hc3NlcnRJbignYm9vbGVhbicsIGNmZy5jb252ZXJ0ZXJzKQorICAgICAgICBzZWxmLmFzc2VydE5vdEluKCdsZW4nLCBjZmcuY29udmVydGVycykKKyAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUoY2ZnLmNvbnZlcnRlcnNbJ2ludCddKQorICAgICAgICBzZWxmLmFzc2VydElzTm9uZShjZmcuY29udmVydGVyc1snZmxvYXQnXSkKKyAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUoY2ZnLmNvbnZlcnRlcnNbJ2Jvb2xlYW4nXSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGNmZy5nZXRib29sZWFuKCdvbmUnLCAnb25lJykpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShjZmcuZ2V0Ym9vbGVhbigndHdvJywgJ3R3bycpKQorICAgICAgICBzZWxmLmFzc2VydFRydWUoY2ZnLmdldGJvb2xlYW4oJ29uZScsICd0d28nKSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGNmZy5nZXRib29sZWFuKCd0d28nLCAnb25lJykpCisgICAgICAgIGNmZy5jb252ZXJ0ZXJzWydib29sZWFuJ10gPSBjZmcuX2NvbnZlcnRfdG9fYm9vbGVhbgorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGNmZy5nZXRib29sZWFuKCdvbmUnLCAnb25lJykpCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoY2ZnLmdldGJvb2xlYW4oJ3R3bycsICd0d28nKSkKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShjZmcuZ2V0Ym9vbGVhbignb25lJywgJ3R3bycpKQorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGNmZy5nZXRib29sZWFuKCd0d28nLCAnb25lJykpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY2ZnLmdldGxlbignb25lJywgJ29uZScpLCA1KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNmZy5nZXRsZW4oJ29uZScsICd0d28nKSwgNSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjZmcuZ2V0bGVuKCdvbmUnLCAndGhyZWUnKSwgMTYpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY2ZnLmdldGxlbigndHdvJywgJ29uZScpLCA1KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNmZy5nZXRsZW4oJ3R3bycsICd0d28nKSwgNSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjZmcuZ2V0bGVuKCd0d28nLCAndGhyZWUnKSwgNCkKKyAgICAgICAgIyBJZiBhIGdldHRlciBpbXBsIGlzIGFzc2lnbmVkIHN0cmFpZ2h0IHRvIHRoZSBpbnN0YW5jZSwgaXQgd29uJ3QKKyAgICAgICAgIyBiZSBhdmFpbGFibGUgb24gdGhlIHNlY3Rpb24gcHJveGllcy4KKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhBdHRyaWJ1dGVFcnJvcik6CisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNmZ1snb25lJ10uZ2V0bGVuKCdvbmUnKSwgNSkKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhBdHRyaWJ1dGVFcnJvcik6CisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNmZ1sndHdvJ10uZ2V0bGVuKCdvbmUnKSwgNSkKKworCiBpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgogICAgIHVuaXR0ZXN0Lm1haW4oKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9jb250ZXh0bGliLnB5IGIvTGliL3Rlc3QvdGVzdF9jb250ZXh0bGliLnB5CmluZGV4IDM5Y2M3NzYuLmM1MjA2NmIgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfY29udGV4dGxpYi5weQorKysgYi9MaWIvdGVzdC90ZXN0X2NvbnRleHRsaWIucHkKQEAgLTcxOCw2MCArNzE4LDc2IEBACiAgICAgICAgIHN0YWNrLnB1c2goY20pCiAgICAgICAgIHNlbGYuYXNzZXJ0SXMoc3RhY2suX2V4aXRfY2FsbGJhY2tzWy0xXSwgY20pCiAKLWNsYXNzIFRlc3RSZWRpcmVjdFN0ZG91dCh1bml0dGVzdC5UZXN0Q2FzZSk6CisKK2NsYXNzIFRlc3RSZWRpcmVjdFN0cmVhbToKKworICAgIHJlZGlyZWN0X3N0cmVhbSA9IE5vbmUKKyAgICBvcmlnX3N0cmVhbSA9IE5vbmUKIAogICAgIEBzdXBwb3J0LnJlcXVpcmVzX2RvY3N0cmluZ3MKICAgICBkZWYgdGVzdF9pbnN0YW5jZV9kb2NzKHNlbGYpOgogICAgICAgICAjIElzc3VlIDE5MzMwOiBlbnN1cmUgY29udGV4dCBtYW5hZ2VyIGluc3RhbmNlcyBoYXZlIGdvb2QgZG9jc3RyaW5ncwotICAgICAgICBjbV9kb2NzdHJpbmcgPSByZWRpcmVjdF9zdGRvdXQuX19kb2NfXwotICAgICAgICBvYmogPSByZWRpcmVjdF9zdGRvdXQoTm9uZSkKKyAgICAgICAgY21fZG9jc3RyaW5nID0gc2VsZi5yZWRpcmVjdF9zdHJlYW0uX19kb2NfXworICAgICAgICBvYmogPSBzZWxmLnJlZGlyZWN0X3N0cmVhbShOb25lKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG9iai5fX2RvY19fLCBjbV9kb2NzdHJpbmcpCiAKICAgICBkZWYgdGVzdF9ub19yZWRpcmVjdF9pbl9pbml0KHNlbGYpOgotICAgICAgICBvcmlnX3N0ZG91dCA9IHN5cy5zdGRvdXQKLSAgICAgICAgcmVkaXJlY3Rfc3Rkb3V0KE5vbmUpCi0gICAgICAgIHNlbGYuYXNzZXJ0SXMoc3lzLnN0ZG91dCwgb3JpZ19zdGRvdXQpCisgICAgICAgIG9yaWdfc3Rkb3V0ID0gZ2V0YXR0cihzeXMsIHNlbGYub3JpZ19zdHJlYW0pCisgICAgICAgIHNlbGYucmVkaXJlY3Rfc3RyZWFtKE5vbmUpCisgICAgICAgIHNlbGYuYXNzZXJ0SXMoZ2V0YXR0cihzeXMsIHNlbGYub3JpZ19zdHJlYW0pLCBvcmlnX3N0ZG91dCkKIAogICAgIGRlZiB0ZXN0X3JlZGlyZWN0X3RvX3N0cmluZ19pbyhzZWxmKToKICAgICAgICAgZiA9IGlvLlN0cmluZ0lPKCkKICAgICAgICAgbXNnID0gIkNvbnNpZGVyIGFuIEFQSSBsaWtlIGhlbHAoKSwgd2hpY2ggcHJpbnRzIGRpcmVjdGx5IHRvIHN0ZG91dCIKLSAgICAgICAgb3JpZ19zdGRvdXQgPSBzeXMuc3Rkb3V0Ci0gICAgICAgIHdpdGggcmVkaXJlY3Rfc3Rkb3V0KGYpOgotICAgICAgICAgICAgcHJpbnQobXNnKQotICAgICAgICBzZWxmLmFzc2VydElzKHN5cy5zdGRvdXQsIG9yaWdfc3Rkb3V0KQorICAgICAgICBvcmlnX3N0ZG91dCA9IGdldGF0dHIoc3lzLCBzZWxmLm9yaWdfc3RyZWFtKQorICAgICAgICB3aXRoIHNlbGYucmVkaXJlY3Rfc3RyZWFtKGYpOgorICAgICAgICAgICAgcHJpbnQobXNnLCBmaWxlPWdldGF0dHIoc3lzLCBzZWxmLm9yaWdfc3RyZWFtKSkKKyAgICAgICAgc2VsZi5hc3NlcnRJcyhnZXRhdHRyKHN5cywgc2VsZi5vcmlnX3N0cmVhbSksIG9yaWdfc3Rkb3V0KQogICAgICAgICBzID0gZi5nZXR2YWx1ZSgpLnN0cmlwKCkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzLCBtc2cpCiAKICAgICBkZWYgdGVzdF9lbnRlcl9yZXN1bHRfaXNfdGFyZ2V0KHNlbGYpOgogICAgICAgICBmID0gaW8uU3RyaW5nSU8oKQotICAgICAgICB3aXRoIHJlZGlyZWN0X3N0ZG91dChmKSBhcyBlbnRlcl9yZXN1bHQ6CisgICAgICAgIHdpdGggc2VsZi5yZWRpcmVjdF9zdHJlYW0oZikgYXMgZW50ZXJfcmVzdWx0OgogICAgICAgICAgICAgc2VsZi5hc3NlcnRJcyhlbnRlcl9yZXN1bHQsIGYpCiAKICAgICBkZWYgdGVzdF9jbV9pc19yZXVzYWJsZShzZWxmKToKICAgICAgICAgZiA9IGlvLlN0cmluZ0lPKCkKLSAgICAgICAgd3JpdGVfdG9fZiA9IHJlZGlyZWN0X3N0ZG91dChmKQotICAgICAgICBvcmlnX3N0ZG91dCA9IHN5cy5zdGRvdXQKKyAgICAgICAgd3JpdGVfdG9fZiA9IHNlbGYucmVkaXJlY3Rfc3RyZWFtKGYpCisgICAgICAgIG9yaWdfc3Rkb3V0ID0gZ2V0YXR0cihzeXMsIHNlbGYub3JpZ19zdHJlYW0pCiAgICAgICAgIHdpdGggd3JpdGVfdG9fZjoKLSAgICAgICAgICAgIHByaW50KCJIZWxsbyIsIGVuZD0iICIpCisgICAgICAgICAgICBwcmludCgiSGVsbG8iLCBlbmQ9IiAiLCBmaWxlPWdldGF0dHIoc3lzLCBzZWxmLm9yaWdfc3RyZWFtKSkKICAgICAgICAgd2l0aCB3cml0ZV90b19mOgotICAgICAgICAgICAgcHJpbnQoIldvcmxkISIpCi0gICAgICAgIHNlbGYuYXNzZXJ0SXMoc3lzLnN0ZG91dCwgb3JpZ19zdGRvdXQpCisgICAgICAgICAgICBwcmludCgiV29ybGQhIiwgZmlsZT1nZXRhdHRyKHN5cywgc2VsZi5vcmlnX3N0cmVhbSkpCisgICAgICAgIHNlbGYuYXNzZXJ0SXMoZ2V0YXR0cihzeXMsIHNlbGYub3JpZ19zdHJlYW0pLCBvcmlnX3N0ZG91dCkKICAgICAgICAgcyA9IGYuZ2V0dmFsdWUoKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHMsICJIZWxsbyBXb3JsZCFcbiIpCiAKICAgICBkZWYgdGVzdF9jbV9pc19yZWVudHJhbnQoc2VsZik6CiAgICAgICAgIGYgPSBpby5TdHJpbmdJTygpCi0gICAgICAgIHdyaXRlX3RvX2YgPSByZWRpcmVjdF9zdGRvdXQoZikKLSAgICAgICAgb3JpZ19zdGRvdXQgPSBzeXMuc3Rkb3V0CisgICAgICAgIHdyaXRlX3RvX2YgPSBzZWxmLnJlZGlyZWN0X3N0cmVhbShmKQorICAgICAgICBvcmlnX3N0ZG91dCA9IGdldGF0dHIoc3lzLCBzZWxmLm9yaWdfc3RyZWFtKQogICAgICAgICB3aXRoIHdyaXRlX3RvX2Y6Ci0gICAgICAgICAgICBwcmludCgiSGVsbG8iLCBlbmQ9IiAiKQorICAgICAgICAgICAgcHJpbnQoIkhlbGxvIiwgZW5kPSIgIiwgZmlsZT1nZXRhdHRyKHN5cywgc2VsZi5vcmlnX3N0cmVhbSkpCiAgICAgICAgICAgICB3aXRoIHdyaXRlX3RvX2Y6Ci0gICAgICAgICAgICAgICAgcHJpbnQoIldvcmxkISIpCi0gICAgICAgIHNlbGYuYXNzZXJ0SXMoc3lzLnN0ZG91dCwgb3JpZ19zdGRvdXQpCisgICAgICAgICAgICAgICAgcHJpbnQoIldvcmxkISIsIGZpbGU9Z2V0YXR0cihzeXMsIHNlbGYub3JpZ19zdHJlYW0pKQorICAgICAgICBzZWxmLmFzc2VydElzKGdldGF0dHIoc3lzLCBzZWxmLm9yaWdfc3RyZWFtKSwgb3JpZ19zdGRvdXQpCiAgICAgICAgIHMgPSBmLmdldHZhbHVlKCkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzLCAiSGVsbG8gV29ybGQhXG4iKQogCiAKK2NsYXNzIFRlc3RSZWRpcmVjdFN0ZG91dChUZXN0UmVkaXJlY3RTdHJlYW0sIHVuaXR0ZXN0LlRlc3RDYXNlKToKKworICAgIHJlZGlyZWN0X3N0cmVhbSA9IHJlZGlyZWN0X3N0ZG91dAorICAgIG9yaWdfc3RyZWFtID0gInN0ZG91dCIKKworCitjbGFzcyBUZXN0UmVkaXJlY3RTdGRlcnIoVGVzdFJlZGlyZWN0U3RyZWFtLCB1bml0dGVzdC5UZXN0Q2FzZSk6CisKKyAgICByZWRpcmVjdF9zdHJlYW0gPSByZWRpcmVjdF9zdGRlcnIKKyAgICBvcmlnX3N0cmVhbSA9ICJzdGRlcnIiCisKKwogY2xhc3MgVGVzdFN1cHByZXNzKHVuaXR0ZXN0LlRlc3RDYXNlKToKIAogICAgIEBzdXBwb3J0LnJlcXVpcmVzX2RvY3N0cmluZ3MKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfY3Byb2ZpbGUucHkgYi9MaWIvdGVzdC90ZXN0X2Nwcm9maWxlLnB5CmluZGV4IGNlNWQyN2UuLmYxODk4M2YgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfY3Byb2ZpbGUucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9jcHJvZmlsZS5weQpAQCAtMTEsNyArMTEsNyBAQAogY2xhc3MgQ1Byb2ZpbGVUZXN0KFByb2ZpbGVUZXN0KToKICAgICBwcm9maWxlcmNsYXNzID0gY1Byb2ZpbGUuUHJvZmlsZQogICAgIHByb2ZpbGVybW9kdWxlID0gY1Byb2ZpbGUKLSAgICBleHBlY3RlZF9tYXhfb3V0cHV0ID0gIntidWlsdC1pbiBtZXRob2QgbWF4fSIKKyAgICBleHBlY3RlZF9tYXhfb3V0cHV0ID0gIntidWlsdC1pbiBtZXRob2QgYnVpbHRpbnMubWF4fSIKIAogICAgIGRlZiBnZXRfZXhwZWN0ZWRfb3V0cHV0KHNlbGYpOgogICAgICAgICByZXR1cm4gX1Byb2ZpbGVPdXRwdXQKQEAgLTcyLDkgKzcyLDkgQEAKIHByb2ZpbGVlLnB5Ojg4KGhlbHBlcjIpICAgICAgICAgICAgICAgICAgICAgICAgICAgPC0gICAgICAgNiAgICAwLjIzNCAgICAwLjMwMCAgcHJvZmlsZWUucHk6NTUoaGVscGVyKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyICAgIDAuMDc4ICAgIDAuMTAwICBwcm9maWxlZS5weTo4NChoZWxwZXIyX2luZGlyZWN0KQogcHJvZmlsZWUucHk6OTgoc3ViaGVscGVyKSAgICAgICAgICAgICAgICAgICAgICAgICA8LSAgICAgICA4ICAgIDAuMDY0ICAgIDAuMDgwICBwcm9maWxlZS5weTo4OChoZWxwZXIyKQote2J1aWx0LWluIG1ldGhvZCBleGNfaW5mb30gICAgICAgICAgICAgICAgICAgICAgICA8LSAgICAgICA0ICAgIDAuMDAwICAgIDAuMDAwICBwcm9maWxlZS5weTo3MyhoZWxwZXIxKQote2J1aWx0LWluIG1ldGhvZCBoYXNhdHRyfSAgICAgICAgICAgICAgICAgICAgICAgICA8LSAgICAgICA0ICAgIDAuMDAwICAgIDAuMDA0ICBwcm9maWxlZS5weTo3MyhoZWxwZXIxKQore2J1aWx0LWluIG1ldGhvZCBidWlsdGlucy5oYXNhdHRyfSAgICAgICAgICAgICAgICA8LSAgICAgICA0ICAgIDAuMDAwICAgIDAuMDA0ICBwcm9maWxlZS5weTo3MyhoZWxwZXIxKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA4ICAgIDAuMDAwICAgIDAuMDA4ICBwcm9maWxlZS5weTo4OChoZWxwZXIyKQore2J1aWx0LWluIG1ldGhvZCBzeXMuZXhjX2luZm99ICAgICAgICAgICAgICAgICAgICA8LSAgICAgICA0ICAgIDAuMDAwICAgIDAuMDAwICBwcm9maWxlZS5weTo3MyhoZWxwZXIxKQoge21ldGhvZCAnYXBwZW5kJyBvZiAnbGlzdCcgb2JqZWN0c30gICAgICAgICAgICAgICA8LSAgICAgICA0ICAgIDAuMDAwICAgIDAuMDAwICBwcm9maWxlZS5weTo3MyhoZWxwZXIxKSIiIgogX1Byb2ZpbGVPdXRwdXRbJ3ByaW50X2NhbGxlZXMnXSA9ICIiIlwKIDxzdHJpbmc+OjEoPG1vZHVsZT4pICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLT4gICAgICAgMSAgICAwLjI3MCAgICAxLjAwMCAgcHJvZmlsZWUucHk6MjUodGVzdGZ1bmMpCkBAIC04NywxMiArODcsMTIgQEAKIHByb2ZpbGVlLnB5OjU1KGhlbHBlcikgICAgICAgICAgICAgICAgICAgICAgICAgICAgLT4gICAgICAgNCAgICAwLjExNiAgICAwLjEyMCAgcHJvZmlsZWUucHk6NzMoaGVscGVyMSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMiAgICAwLjAwMCAgICAwLjE0MCAgcHJvZmlsZWUucHk6ODQoaGVscGVyMl9pbmRpcmVjdCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNiAgICAwLjIzNCAgICAwLjMwMCAgcHJvZmlsZWUucHk6ODgoaGVscGVyMikKLXByb2ZpbGVlLnB5OjczKGhlbHBlcjEpICAgICAgICAgICAgICAgICAgICAgICAgICAgLT4gICAgICAgNCAgICAwLjAwMCAgICAwLjAwMCAge2J1aWx0LWluIG1ldGhvZCBleGNfaW5mb30KK3Byb2ZpbGVlLnB5OjczKGhlbHBlcjEpICAgICAgICAgICAgICAgICAgICAgICAgICAgLT4gICAgICAgNCAgICAwLjAwMCAgICAwLjAwNCAge2J1aWx0LWluIG1ldGhvZCBidWlsdGlucy5oYXNhdHRyfQogcHJvZmlsZWUucHk6ODQoaGVscGVyMl9pbmRpcmVjdCkgICAgICAgICAgICAgICAgICAtPiAgICAgICAyICAgIDAuMDA2ICAgIDAuMDQwICBwcm9maWxlZS5weTozNShmYWN0b3JpYWwpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIgICAgMC4wNzggICAgMC4xMDAgIHByb2ZpbGVlLnB5Ojg4KGhlbHBlcjIpCiBwcm9maWxlZS5weTo4OChoZWxwZXIyKSAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+ICAgICAgIDggICAgMC4wNjQgICAgMC4wODAgIHByb2ZpbGVlLnB5Ojk4KHN1YmhlbHBlcikKIHByb2ZpbGVlLnB5Ojk4KHN1YmhlbHBlcikgICAgICAgICAgICAgICAgICAgICAgICAgLT4gICAgICAxNiAgICAwLjAxNiAgICAwLjAxNiAgcHJvZmlsZWUucHk6MTEwKF9fZ2V0YXR0cl9fKQote2J1aWx0LWluIG1ldGhvZCBoYXNhdHRyfSAgICAgICAgICAgICAgICAgICAgICAgICAtPiAgICAgIDEyICAgIDAuMDEyICAgIDAuMDEyICBwcm9maWxlZS5weToxMTAoX19nZXRhdHRyX18pIiIiCit7YnVpbHQtaW4gbWV0aG9kIGJ1aWx0aW5zLmhhc2F0dHJ9ICAgICAgICAgICAgICAgIC0+ICAgICAgMTIgICAgMC4wMTIgICAgMC4wMTIgIHByb2ZpbGVlLnB5OjExMChfX2dldGF0dHJfXykiIiIKIAogaWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoKICAgICBtYWluKCkKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfY3N2LnB5IGIvTGliL3Rlc3QvdGVzdF9jc3YucHkKaW5kZXggN2UyNDg1Zi4uM2YzZjMyOCAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9jc3YucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9jc3YucHkKQEAgLTU3NSw2ICs1NzUsMTYgQEAKICAgICAgICAgICAgIGZpbGVvYmoucmVhZGxpbmUoKSAjIGhlYWRlcgogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmaWxlb2JqLnJlYWQoKSwgIjEwLCxhYmNcclxuIikKIAorICAgIGRlZiB0ZXN0X3dyaXRlX211bHRpcGxlX2RpY3Rfcm93cyhzZWxmKToKKyAgICAgICAgZmlsZW9iaiA9IFN0cmluZ0lPKCkKKyAgICAgICAgd3JpdGVyID0gY3N2LkRpY3RXcml0ZXIoZmlsZW9iaiwgZmllbGRuYW1lcz1bImYxIiwgImYyIiwgImYzIl0pCisgICAgICAgIHdyaXRlci53cml0ZWhlYWRlcigpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZmlsZW9iai5nZXR2YWx1ZSgpLCAiZjEsZjIsZjNcclxuIikKKyAgICAgICAgd3JpdGVyLndyaXRlcm93cyhbeyJmMSI6IDEsICJmMiI6ICJhYmMiLCAiZjMiOiAiZiJ9LAorICAgICAgICAgICAgICAgICAgICAgICAgICB7ImYxIjogMiwgImYyIjogNSwgImYzIjogInh5eiJ9XSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmaWxlb2JqLmdldHZhbHVlKCksCisgICAgICAgICAgICAgICAgICAgICAgICAgImYxLGYyLGYzXHJcbjEsYWJjLGZcclxuMiw1LHh5elxyXG4iKQorCiAgICAgZGVmIHRlc3Rfd3JpdGVfbm9fZmllbGRzKHNlbGYpOgogICAgICAgICBmaWxlb2JqID0gU3RyaW5nSU8oKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIGNzdi5EaWN0V3JpdGVyLCBmaWxlb2JqKQpAQCAtNzczLDcgKzc4Myw3IEBACiAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoY3N2LkVycm9yKSBhcyBjbToKICAgICAgICAgICAgIG15ZGlhbGVjdCgpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyKGNtLmV4Y2VwdGlvbiksCi0gICAgICAgICAgICAgICAgICAgICAgICAgJyJxdW90ZWNoYXIiIG11c3QgYmUgYW4gMS1jaGFyYWN0ZXIgc3RyaW5nJykKKyAgICAgICAgICAgICAgICAgICAgICAgICAnInF1b3RlY2hhciIgbXVzdCBiZSBhIDEtY2hhcmFjdGVyIHN0cmluZycpCiAKICAgICAgICAgbXlkaWFsZWN0LnF1b3RlY2hhciA9IDQKICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhjc3YuRXJyb3IpIGFzIGNtOgpAQCAtNzk2LDEzICs4MDYsMTMgQEAKICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhjc3YuRXJyb3IpIGFzIGNtOgogICAgICAgICAgICAgbXlkaWFsZWN0KCkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdHIoY20uZXhjZXB0aW9uKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAnImRlbGltaXRlciIgbXVzdCBiZSBhbiAxLWNoYXJhY3RlciBzdHJpbmcnKQorICAgICAgICAgICAgICAgICAgICAgICAgICciZGVsaW1pdGVyIiBtdXN0IGJlIGEgMS1jaGFyYWN0ZXIgc3RyaW5nJykKIAogICAgICAgICBteWRpYWxlY3QuZGVsaW1pdGVyID0gIiIKICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhjc3YuRXJyb3IpIGFzIGNtOgogICAgICAgICAgICAgbXlkaWFsZWN0KCkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdHIoY20uZXhjZXB0aW9uKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAnImRlbGltaXRlciIgbXVzdCBiZSBhbiAxLWNoYXJhY3RlciBzdHJpbmcnKQorICAgICAgICAgICAgICAgICAgICAgICAgICciZGVsaW1pdGVyIiBtdXN0IGJlIGEgMS1jaGFyYWN0ZXIgc3RyaW5nJykKIAogICAgICAgICBteWRpYWxlY3QuZGVsaW1pdGVyID0gYiIsIgogICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKGNzdi5FcnJvcikgYXMgY206CmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2RhdGV0aW1lLnB5IGIvTGliL3Rlc3QvdGVzdF9kYXRldGltZS5weQppbmRleCBkOWRkYjMyLi4yZDRlYjUyIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2RhdGV0aW1lLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfZGF0ZXRpbWUucHkKQEAgLTEsMjAgKzEsMjAgQEAKIGltcG9ydCB1bml0dGVzdAogaW1wb3J0IHN5cworCiBmcm9tIHRlc3Quc3VwcG9ydCBpbXBvcnQgaW1wb3J0X2ZyZXNoX21vZHVsZSwgcnVuX3VuaXR0ZXN0CiAKIFRFU1RTID0gJ3Rlc3QuZGF0ZXRpbWV0ZXN0ZXInCiAKLSMgWFhYOiBpbXBvcnRfZnJlc2hfbW9kdWxlKCkgaXMgc3VwcG9zZWQgdG8gbGVhdmUgc3lzLm1vZHVsZSBjYWNoZSB1bnRvdWNoZWQsCi0jIFhYWDogYnV0IGl0IGRvZXMgbm90LCBzbyB3ZSBoYXZlIHRvIHNhdmUgYW5kIHJlc3RvcmUgaXQgb3Vyc2VsdmVzLgotc2F2ZV9zeXNfbW9kdWxlcyA9IHN5cy5tb2R1bGVzLmNvcHkoKQogdHJ5OgogICAgIHB1cmVfdGVzdHMgPSBpbXBvcnRfZnJlc2hfbW9kdWxlKFRFU1RTLCBmcmVzaD1bJ2RhdGV0aW1lJywgJ19zdHJwdGltZSddLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsb2NrZWQ9WydfZGF0ZXRpbWUnXSkKICAgICBmYXN0X3Rlc3RzID0gaW1wb3J0X2ZyZXNoX21vZHVsZShURVNUUywgZnJlc2g9WydkYXRldGltZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnX2RhdGV0aW1lJywgJ19zdHJwdGltZSddKQogZmluYWxseToKLSAgICBzeXMubW9kdWxlcy5jbGVhcigpCi0gICAgc3lzLm1vZHVsZXMudXBkYXRlKHNhdmVfc3lzX21vZHVsZXMpCisgICAgIyBYWFg6IGltcG9ydF9mcmVzaF9tb2R1bGUoKSBpcyBzdXBwb3NlZCB0byBsZWF2ZSBzeXMubW9kdWxlIGNhY2hlIHVudG91Y2hlZCwKKyAgICAjIFhYWDogYnV0IGl0IGRvZXMgbm90LCBzbyB3ZSBoYXZlIHRvIGNsZWFudXAgb3Vyc2VsdmVzLgorICAgIGZvciBtb2RuYW1lIGluIFsnZGF0ZXRpbWUnLCAnX2RhdGV0aW1lJywgJ19zdHJwdGltZSddOgorICAgICAgICBzeXMubW9kdWxlcy5wb3AobW9kbmFtZSwgTm9uZSkKIHRlc3RfbW9kdWxlcyA9IFtwdXJlX3Rlc3RzLCBmYXN0X3Rlc3RzXQogdGVzdF9zdWZmaXhlcyA9IFsiX1B1cmUiLCAiX0Zhc3QiXQogIyBYWFgoZ2IpIEZpcnN0IHJ1biBhbGwgdGhlIF9QdXJlIHRlc3RzLCB0aGVuIGFsbCB0aGUgX0Zhc3QgdGVzdHMuICBZb3UgbWlnaHQKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfZGJtX2R1bWIucHkgYi9MaWIvdGVzdC90ZXN0X2RibV9kdW1iLnB5CmluZGV4IGRjODhjYTYuLmZmNjNjODggMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfZGJtX2R1bWIucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9kYm1fZHVtYi5weQpAQCAtMjE3LDYgKzIxNywxNCBAQAogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdHIoY20uZXhjZXB0aW9uKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkRCTSBvYmplY3QgaGFzIGFscmVhZHkgYmVlbiBjbG9zZWQiKQogCisgICAgZGVmIHRlc3RfY3JlYXRlX25ldyhzZWxmKToKKyAgICAgICAgd2l0aCBkdW1iZGJtLm9wZW4oX2ZuYW1lLCAnbicpIGFzIGY6CisgICAgICAgICAgICBmb3IgayBpbiBzZWxmLl9kaWN0OgorICAgICAgICAgICAgICAgIGZba10gPSBzZWxmLl9kaWN0W2tdCisKKyAgICAgICAgd2l0aCBkdW1iZGJtLm9wZW4oX2ZuYW1lLCAnbicpIGFzIGY6CisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGYua2V5cygpLCBbXSkKKwogICAgIGRlZiB0ZXN0X2V2YWwoc2VsZik6CiAgICAgICAgIHdpdGggb3BlbihfZm5hbWUgKyAnLmRpcicsICd3JykgYXMgc3RyZWFtOgogICAgICAgICAgICAgc3RyZWFtLndyaXRlKCJzdHIocHJpbnQoJ0hhY2tlZCEnKSksIDBcbiIpCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2RlY2ltYWwucHkgYi9MaWIvdGVzdC90ZXN0X2RlY2ltYWwucHkKaW5kZXggYTE3OGY2Zi4uMTM3YWFhNSAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9kZWNpbWFsLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfZGVjaW1hbC5weQpAQCAtMzMsMTIgKzMzLDEzIEBACiBpbXBvcnQgbnVtYmVycwogaW1wb3J0IGxvY2FsZQogZnJvbSB0ZXN0LnN1cHBvcnQgaW1wb3J0IChydW5fdW5pdHRlc3QsIHJ1bl9kb2N0ZXN0LCBpc19yZXNvdXJjZV9lbmFibGVkLAotICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlc19JRUVFXzc1NCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZXNfSUVFRV83NTQsIHJlcXVpcmVzX2RvY3N0cmluZ3MpCiBmcm9tIHRlc3Quc3VwcG9ydCBpbXBvcnQgKGNoZWNrX3dhcm5pbmdzLCBpbXBvcnRfZnJlc2hfbW9kdWxlLCBUZXN0RmFpbGVkLAogICAgICAgICAgICAgICAgICAgICAgICAgICBydW5fd2l0aF9sb2NhbGUsIGNweXRob25fb25seSkKIGltcG9ydCByYW5kb20KIGltcG9ydCB0aW1lCiBpbXBvcnQgd2FybmluZ3MKK2ltcG9ydCBpbnNwZWN0CiB0cnk6CiAgICAgaW1wb3J0IHRocmVhZGluZwogZXhjZXB0IEltcG9ydEVycm9yOgpAQCAtNDE3NCw5ICs0MTc1LDcgQEAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChDLl9fdmVyc2lvbl9fLCBQLl9fdmVyc2lvbl9fKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKEMuX19saWJtcGRlY192ZXJzaW9uX18sIFAuX19saWJtcGRlY192ZXJzaW9uX18pCiAKLSAgICAgICAgeCA9IGRpcihDKQotICAgICAgICB5ID0gW3MgZm9yIHMgaW4gZGlyKFApIGlmICdfXycgaW4gcyBvciBub3Qgcy5zdGFydHN3aXRoKCdfJyldCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2V0KHgpIC0gc2V0KHkpLCBzZXQoKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkaXIoQyksIGRpcihQKSkKIAogICAgIGRlZiB0ZXN0X2NvbnRleHRfYXR0cmlidXRlcyhzZWxmKToKIApAQCAtNDQ1NSwxOCArNDQ1NCw2IEBACiBjbGFzcyBQeUZ1bmN0aW9uYWxpdHkodW5pdHRlc3QuVGVzdENhc2UpOgogICAgICIiIkV4dHJhIGZ1bmN0aW9uYWxpdHkgaW4gZGVjaW1hbC5weSIiIgogCi0gICAgZGVmIHRlc3RfcHlfcXVhbnRpemVfd2F0Y2hleHAoc2VsZik6Ci0gICAgICAgICMgd2F0Y2hleHAgZnVuY3Rpb25hbGl0eQotICAgICAgICBEZWNpbWFsID0gUC5EZWNpbWFsCi0gICAgICAgIGxvY2FsY29udGV4dCA9IFAubG9jYWxjb250ZXh0Ci0KLSAgICAgICAgd2l0aCBsb2NhbGNvbnRleHQoKSBhcyBjOgotICAgICAgICAgICAgYy5wcmVjID0gMQotICAgICAgICAgICAgYy5FbWF4ID0gMQotICAgICAgICAgICAgYy5FbWluID0gLTEKLSAgICAgICAgICAgIHggPSBEZWNpbWFsKDk5OTk5KS5xdWFudGl6ZShEZWNpbWFsKCIxZTMiKSwgd2F0Y2hleHA9RmFsc2UpCi0gICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHgsIERlY2ltYWwoJzEuMDBFKzUnKSkKLQogICAgIGRlZiB0ZXN0X3B5X2FsdGVybmF0ZV9mb3JtYXR0aW5nKHNlbGYpOgogICAgICAgICAjIHRyaXBsZXMgZ2l2aW5nIGEgZm9ybWF0LCBhIERlY2ltYWwsIGFuZCB0aGUgZXhwZWN0ZWQgcmVzdWx0CiAgICAgICAgIERlY2ltYWwgPSBQLkRlY2ltYWwKQEAgLTU0MDksNiArNTM5NiwxNDMgQEAKICAgICAgICAgICAgIHkgPSBEZWNpbWFsKDEwKiooOSoyNSkpLl9fc2l6ZW9mX18oKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh5LCB4KzQpCiAKK0ByZXF1aXJlc19kb2NzdHJpbmdzCitAdW5pdHRlc3Quc2tpcFVubGVzcyhDLCAidGVzdCByZXF1aXJlcyBDIHZlcnNpb24iKQorY2xhc3MgU2lnbmF0dXJlVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CisgICAgIiIiRnVuY3Rpb24gc2lnbmF0dXJlcyIiIgorCisgICAgZGVmIHRlc3RfaW5zcGVjdF9tb2R1bGUoc2VsZik6CisgICAgICAgIGZvciBhdHRyIGluIGRpcihQKToKKyAgICAgICAgICAgIGlmIGF0dHIuc3RhcnRzd2l0aCgnXycpOgorICAgICAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgICAgICBwX2Z1bmMgPSBnZXRhdHRyKFAsIGF0dHIpCisgICAgICAgICAgICBjX2Z1bmMgPSBnZXRhdHRyKEMsIGF0dHIpCisgICAgICAgICAgICBpZiAoYXR0ciA9PSAnRGVjaW1hbCcgb3IgYXR0ciA9PSAnQ29udGV4dCcgb3IKKyAgICAgICAgICAgICAgICBpbnNwZWN0LmlzZnVuY3Rpb24ocF9mdW5jKSk6CisgICAgICAgICAgICAgICAgcF9zaWcgPSBpbnNwZWN0LnNpZ25hdHVyZShwX2Z1bmMpCisgICAgICAgICAgICAgICAgY19zaWcgPSBpbnNwZWN0LnNpZ25hdHVyZShjX2Z1bmMpCisKKyAgICAgICAgICAgICAgICAjIHBhcmFtZXRlciBuYW1lczoKKyAgICAgICAgICAgICAgICBjX25hbWVzID0gbGlzdChjX3NpZy5wYXJhbWV0ZXJzLmtleXMoKSkKKyAgICAgICAgICAgICAgICBwX25hbWVzID0gW3ggZm9yIHggaW4gcF9zaWcucGFyYW1ldGVycy5rZXlzKCkgaWYgbm90CisgICAgICAgICAgICAgICAgICAgICAgICAgICB4LnN0YXJ0c3dpdGgoJ18nKV0KKworICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY19uYW1lcywgcF9uYW1lcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zZz0icGFyYW1ldGVyIG5hbWUgbWlzbWF0Y2ggaW4gJXMiICUgcF9mdW5jKQorCisgICAgICAgICAgICAgICAgY19raW5kID0gW3gua2luZCBmb3IgeCBpbiBjX3NpZy5wYXJhbWV0ZXJzLnZhbHVlcygpXQorICAgICAgICAgICAgICAgIHBfa2luZCA9IFt4WzFdLmtpbmQgZm9yIHggaW4gcF9zaWcucGFyYW1ldGVycy5pdGVtcygpIGlmIG5vdAorICAgICAgICAgICAgICAgICAgICAgICAgICB4WzBdLnN0YXJ0c3dpdGgoJ18nKV0KKworICAgICAgICAgICAgICAgICMgcGFyYW1ldGVyczoKKyAgICAgICAgICAgICAgICBpZiBhdHRyICE9ICdzZXRjb250ZXh0JzoKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjX2tpbmQsIHBfa2luZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc2c9InBhcmFtZXRlciBraW5kIG1pc21hdGNoIGluICVzIiAlIHBfZnVuYykKKworICAgIGRlZiB0ZXN0X2luc3BlY3RfdHlwZXMoc2VsZik6CisKKyAgICAgICAgUE9TID0gaW5zcGVjdC5fUGFyYW1ldGVyS2luZC5QT1NJVElPTkFMX09OTFkKKyAgICAgICAgUE9TX0tXRCA9IGluc3BlY3QuX1BhcmFtZXRlcktpbmQuUE9TSVRJT05BTF9PUl9LRVlXT1JECisKKyAgICAgICAgIyBUeXBlIGhldXJpc3RpYyAodHlwZSBhbm5vdGF0aW9ucyB3b3VsZCBoZWxwISk6CisgICAgICAgIHBkaWN0ID0ge0M6IHsnb3RoZXInOiBDLkRlY2ltYWwoMSksCisgICAgICAgICAgICAgICAgICAgICAndGhpcmQnOiBDLkRlY2ltYWwoMSksCisgICAgICAgICAgICAgICAgICAgICAneCc6IEMuRGVjaW1hbCgxKSwKKyAgICAgICAgICAgICAgICAgICAgICd5JzogQy5EZWNpbWFsKDEpLAorICAgICAgICAgICAgICAgICAgICAgJ3onOiBDLkRlY2ltYWwoMSksCisgICAgICAgICAgICAgICAgICAgICAnYSc6IEMuRGVjaW1hbCgxKSwKKyAgICAgICAgICAgICAgICAgICAgICdiJzogQy5EZWNpbWFsKDEpLAorICAgICAgICAgICAgICAgICAgICAgJ2MnOiBDLkRlY2ltYWwoMSksCisgICAgICAgICAgICAgICAgICAgICAnZXhwJzogQy5EZWNpbWFsKDEpLAorICAgICAgICAgICAgICAgICAgICAgJ21vZHVsbyc6IEMuRGVjaW1hbCgxKSwKKyAgICAgICAgICAgICAgICAgICAgICdudW0nOiAiMSIsCisgICAgICAgICAgICAgICAgICAgICAnZic6IDEuMCwKKyAgICAgICAgICAgICAgICAgICAgICdyb3VuZGluZyc6IEMuUk9VTkRfSEFMRl9VUCwKKyAgICAgICAgICAgICAgICAgICAgICdjb250ZXh0JzogQy5nZXRjb250ZXh0KCl9LAorICAgICAgICAgICAgICAgICBQOiB7J290aGVyJzogUC5EZWNpbWFsKDEpLAorICAgICAgICAgICAgICAgICAgICAgJ3RoaXJkJzogUC5EZWNpbWFsKDEpLAorICAgICAgICAgICAgICAgICAgICAgJ2EnOiBQLkRlY2ltYWwoMSksCisgICAgICAgICAgICAgICAgICAgICAnYic6IFAuRGVjaW1hbCgxKSwKKyAgICAgICAgICAgICAgICAgICAgICdjJzogUC5EZWNpbWFsKDEpLAorICAgICAgICAgICAgICAgICAgICAgJ2V4cCc6IFAuRGVjaW1hbCgxKSwKKyAgICAgICAgICAgICAgICAgICAgICdtb2R1bG8nOiBQLkRlY2ltYWwoMSksCisgICAgICAgICAgICAgICAgICAgICAnbnVtJzogIjEiLAorICAgICAgICAgICAgICAgICAgICAgJ2YnOiAxLjAsCisgICAgICAgICAgICAgICAgICAgICAncm91bmRpbmcnOiBQLlJPVU5EX0hBTEZfVVAsCisgICAgICAgICAgICAgICAgICAgICAnY29udGV4dCc6IFAuZ2V0Y29udGV4dCgpfX0KKworICAgICAgICBkZWYgbWthcmdzKG1vZHVsZSwgc2lnKToKKyAgICAgICAgICAgIGFyZ3MgPSBbXQorICAgICAgICAgICAga3dhcmdzID0ge30KKyAgICAgICAgICAgIGZvciBuYW1lLCBwYXJhbSBpbiBzaWcucGFyYW1ldGVycy5pdGVtcygpOgorICAgICAgICAgICAgICAgIGlmIG5hbWUgPT0gJ3NlbGYnOiBjb250aW51ZQorICAgICAgICAgICAgICAgIGlmIHBhcmFtLmtpbmQgPT0gUE9TOgorICAgICAgICAgICAgICAgICAgICBhcmdzLmFwcGVuZChwZGljdFttb2R1bGVdW25hbWVdKQorICAgICAgICAgICAgICAgIGVsaWYgcGFyYW0ua2luZCA9PSBQT1NfS1dEOgorICAgICAgICAgICAgICAgICAgICBrd2FyZ3NbbmFtZV0gPSBwZGljdFttb2R1bGVdW25hbWVdCisgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgcmFpc2UgVGVzdEZhaWxlZCgidW5leHBlY3RlZCBwYXJhbWV0ZXIga2luZCIpCisgICAgICAgICAgICByZXR1cm4gYXJncywga3dhcmdzCisKKyAgICAgICAgZGVmIHRyKHMpOgorICAgICAgICAgICAgIiIiVGhlIEMgQ29udGV4dCBkb2NzdHJpbmdzIHVzZSAneCcgaW4gb3JkZXIgdG8gcHJldmVudCBjb25mdXNpb24KKyAgICAgICAgICAgICAgIHdpdGggdGhlIGFydGljbGUgJ2EnIGluIHRoZSBkZXNjcmlwdGlvbnMuIiIiCisgICAgICAgICAgICBpZiBzID09ICd4JzogcmV0dXJuICdhJworICAgICAgICAgICAgaWYgcyA9PSAneSc6IHJldHVybiAnYicKKyAgICAgICAgICAgIGlmIHMgPT0gJ3onOiByZXR1cm4gJ2MnCisgICAgICAgICAgICByZXR1cm4gcworCisgICAgICAgIGRlZiBkb2l0KHR5KToKKyAgICAgICAgICAgIHBfdHlwZSA9IGdldGF0dHIoUCwgdHkpCisgICAgICAgICAgICBjX3R5cGUgPSBnZXRhdHRyKEMsIHR5KQorICAgICAgICAgICAgZm9yIGF0dHIgaW4gZGlyKHBfdHlwZSk6CisgICAgICAgICAgICAgICAgaWYgYXR0ci5zdGFydHN3aXRoKCdfJyk6CisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgICAgICAgICAgcF9mdW5jID0gZ2V0YXR0cihwX3R5cGUsIGF0dHIpCisgICAgICAgICAgICAgICAgY19mdW5jID0gZ2V0YXR0cihjX3R5cGUsIGF0dHIpCisgICAgICAgICAgICAgICAgaWYgaW5zcGVjdC5pc2Z1bmN0aW9uKHBfZnVuYyk6CisgICAgICAgICAgICAgICAgICAgIHBfc2lnID0gaW5zcGVjdC5zaWduYXR1cmUocF9mdW5jKQorICAgICAgICAgICAgICAgICAgICBjX3NpZyA9IGluc3BlY3Quc2lnbmF0dXJlKGNfZnVuYykKKworICAgICAgICAgICAgICAgICAgICAjIHBhcmFtZXRlciBuYW1lczoKKyAgICAgICAgICAgICAgICAgICAgcF9uYW1lcyA9IGxpc3QocF9zaWcucGFyYW1ldGVycy5rZXlzKCkpCisgICAgICAgICAgICAgICAgICAgIGNfbmFtZXMgPSBbdHIoeCkgZm9yIHggaW4gY19zaWcucGFyYW1ldGVycy5rZXlzKCldCisKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjX25hbWVzLCBwX25hbWVzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zZz0icGFyYW1ldGVyIG5hbWUgbWlzbWF0Y2ggaW4gJXMiICUgcF9mdW5jKQorCisgICAgICAgICAgICAgICAgICAgIHBfa2luZCA9IFt4LmtpbmQgZm9yIHggaW4gcF9zaWcucGFyYW1ldGVycy52YWx1ZXMoKV0KKyAgICAgICAgICAgICAgICAgICAgY19raW5kID0gW3gua2luZCBmb3IgeCBpbiBjX3NpZy5wYXJhbWV0ZXJzLnZhbHVlcygpXQorCisgICAgICAgICAgICAgICAgICAgICMgJ3NlbGYnIHBhcmFtZXRlcjoKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRJcyhwX2tpbmRbMF0sIFBPU19LV0QpCisgICAgICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXMoY19raW5kWzBdLCBQT1MpCisKKyAgICAgICAgICAgICAgICAgICAgIyByZW1haW5pbmcgcGFyYW1ldGVyczoKKyAgICAgICAgICAgICAgICAgICAgaWYgdHkgPT0gJ0RlY2ltYWwnOgorICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjX2tpbmRbMTpdLCBwX2tpbmRbMTpdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc2c9InBhcmFtZXRlciBraW5kIG1pc21hdGNoIGluICVzIiAlIHBfZnVuYykKKyAgICAgICAgICAgICAgICAgICAgZWxzZTogIyBDb250ZXh0IG1ldGhvZHMgYXJlIHBvc2l0aW9uYWwgb25seSBpbiB0aGUgQyB2ZXJzaW9uLgorICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oY19raW5kKSwgbGVuKHBfa2luZCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zZz0icGFyYW1ldGVyIGtpbmQgbWlzbWF0Y2ggaW4gJXMiICUgcF9mdW5jKQorCisgICAgICAgICAgICAgICAgICAgICMgUnVuIHRoZSBmdW5jdGlvbjoKKyAgICAgICAgICAgICAgICAgICAgYXJncywga3dkcyA9IG1rYXJncyhDLCBjX3NpZykKKyAgICAgICAgICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgICAgICAgICAgZ2V0YXR0cihjX3R5cGUoOSksIGF0dHIpKCphcmdzLCAqKmt3ZHMpCisgICAgICAgICAgICAgICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZXJyOgorICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2UgVGVzdEZhaWxlZCgiaW52YWxpZCBzaWduYXR1cmUgZm9yICVzOiAlcyAlcyIgJSAoY19mdW5jLCBhcmdzLCBrd2RzKSkKKworICAgICAgICAgICAgICAgICAgICBhcmdzLCBrd2RzID0gbWthcmdzKFAsIHBfc2lnKQorICAgICAgICAgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgICAgICAgICBnZXRhdHRyKHBfdHlwZSg5KSwgYXR0cikoKmFyZ3MsICoqa3dkcykKKyAgICAgICAgICAgICAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlcnI6CisgICAgICAgICAgICAgICAgICAgICAgICByYWlzZSBUZXN0RmFpbGVkKCJpbnZhbGlkIHNpZ25hdHVyZSBmb3IgJXM6ICVzICVzIiAlIChwX2Z1bmMsIGFyZ3MsIGt3ZHMpKQorCisgICAgICAgIGRvaXQoJ0RlY2ltYWwnKQorICAgICAgICBkb2l0KCdDb250ZXh0JykKKworCiBhbGxfdGVzdHMgPSBbCiAgIENFeHBsaWNpdENvbnN0cnVjdGlvblRlc3QsIFB5RXhwbGljaXRDb25zdHJ1Y3Rpb25UZXN0LAogICBDSW1wbGljaXRDb25zdHJ1Y3Rpb25UZXN0LCBQeUltcGxpY2l0Q29uc3RydWN0aW9uVGVzdCwKQEAgLTU0MzQsNiArNTU1OCw3IEBACiAgICAgYWxsX3Rlc3RzID0gYWxsX3Rlc3RzWzE6OjJdCiBlbHNlOgogICAgIGFsbF90ZXN0cy5pbnNlcnQoMCwgQ2hlY2tBdHRyaWJ1dGVzKQorICAgIGFsbF90ZXN0cy5pbnNlcnQoMSwgU2lnbmF0dXJlVGVzdCkKIAogCiBkZWYgdGVzdF9tYWluKGFyaXRoPU5vbmUsIHZlcmJvc2U9Tm9uZSwgdG9kb190ZXN0cz1Ob25lLCBkZWJ1Zz1Ob25lKToKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfZGVmYXVsdGRpY3QucHkgYi9MaWIvdGVzdC90ZXN0X2RlZmF1bHRkaWN0LnB5CmluZGV4IDUzMmQ1MzUuLjQ4ZDFjYjUgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfZGVmYXVsdGRpY3QucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9kZWZhdWx0ZGljdC5weQpAQCAtMTU3LDggKzE1Nyw5IEBACiAgICAgICAgICAgICBkZWYgX2ZhY3Rvcnkoc2VsZik6CiAgICAgICAgICAgICAgICAgcmV0dXJuIFtdCiAgICAgICAgIGQgPSBzdWIoKQotICAgICAgICBzZWxmLmFzc2VydFRydWUocmVwcihkKS5zdGFydHN3aXRoKAotICAgICAgICAgICAgImRlZmF1bHRkaWN0KDxib3VuZCBtZXRob2Qgc3ViLl9mYWN0b3J5IG9mIGRlZmF1bHRkaWN0KC4uLiIpKQorICAgICAgICBzZWxmLmFzc2VydFJlZ2V4KHJlcHIoZCksCisgICAgICAgICAgICByImRlZmF1bHRkaWN0XCg8Ym91bmQgbWV0aG9kIC4qc3ViXC5fZmFjdG9yeSAiCisgICAgICAgICAgICByIm9mIGRlZmF1bHRkaWN0XChcLlwuXC4sIFx7XH1cKT4sIFx7XH1cKSIpCiAKICAgICAgICAgIyBOT1RFOiBwcmludGluZyBhIHN1YmNsYXNzIG9mIGEgYnVpbHRpbiB0eXBlIGRvZXMgbm90IGNhbGwgaXRzCiAgICAgICAgICMgdHBfcHJpbnQgc2xvdC4gU28gdGhpcyBwYXJ0IGlzIGVzc2VudGlhbGx5IHRoZSBzYW1lIHRlc3QgYXMgYWJvdmUuCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2RlcXVlLnB5IGIvTGliL3Rlc3QvdGVzdF9kZXF1ZS5weQppbmRleCA1ZWNiYzczLi4wZWViYmZmIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2RlcXVlLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfZGVxdWUucHkKQEAgLTUwOCw2ICs1MDgsMTEgQEAKICAgICAgICAgZm9yIHMgaW4gKCdhYmNkJywgcmFuZ2UoMjAwMCkpOgogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsaXN0KHJldmVyc2VkKGRlcXVlKHMpKSksIGxpc3QocmV2ZXJzZWQocykpKQogCisgICAgZGVmIHRlc3RfcmV2ZXJzZWRfbmV3KHNlbGYpOgorICAgICAgICBrbGFzcyA9IHR5cGUocmV2ZXJzZWQoZGVxdWUoKSkpCisgICAgICAgIGZvciBzIGluICgnYWJjZCcsIHJhbmdlKDIwMDApKToKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGlzdChrbGFzcyhkZXF1ZShzKSkpLCBsaXN0KHJldmVyc2VkKHMpKSkKKwogICAgIGRlZiB0ZXN0X2djX2RvZXNudF9ibG93dXAoc2VsZik6CiAgICAgICAgIGltcG9ydCBnYwogICAgICAgICAjIFRoaXMgdXNlZCB0byBhc3NlcnQtZmFpbCBpbiBkZXF1ZV90cmF2ZXJzZSgpIHVuZGVyIGEgZGVidWcKQEAgLTUzNyw3ICs1NDIsNyBAQAogCiAgICAgQHN1cHBvcnQuY3B5dGhvbl9vbmx5CiAgICAgZGVmIHRlc3Rfc2l6ZW9mKHNlbGYpOgotICAgICAgICBCTE9DS0xFTiA9IDYyCisgICAgICAgIEJMT0NLTEVOID0gNjQKICAgICAgICAgYmFzZXNpemUgPSBzdXBwb3J0LmNhbGNvYmpzaXplKCcyUDRubFAnKQogICAgICAgICBibG9ja3NpemUgPSBzdHJ1Y3QuY2FsY3NpemUoJzJQJWRQJyAlIEJMT0NLTEVOKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG9iamVjdC5fX3NpemVvZl9fKGRlcXVlKCkpLCBiYXNlc2l6ZSkKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfZGVzY3IucHkgYi9MaWIvdGVzdC90ZXN0X2Rlc2NyLnB5CmluZGV4IDFkZTJhOTkuLjhkNjIwNWEgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfZGVzY3IucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9kZXNjci5weQpAQCAtMTAyNiw2ICsxMDI2LDIyIEBACiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoeC5mb28sIDEpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoeC5fX2RpY3RfXywgeydmb28nOiAxfSkKIAorICAgIGRlZiB0ZXN0X29iamVjdF9jbGFzc19hc3NpZ25tZW50X2JldHdlZW5faGVhcHR5cGVzX2FuZF9ub25oZWFwdHlwZXMoc2VsZik6CisgICAgICAgIGNsYXNzIFN1YlR5cGUodHlwZXMuTW9kdWxlVHlwZSk6CisgICAgICAgICAgICBhID0gMQorCisgICAgICAgIG0gPSB0eXBlcy5Nb2R1bGVUeXBlKCJtIikKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG0uX19jbGFzc19fIGlzIHR5cGVzLk1vZHVsZVR5cGUpCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoaGFzYXR0cihtLCAiYSIpKQorCisgICAgICAgIG0uX19jbGFzc19fID0gU3ViVHlwZQorICAgICAgICBzZWxmLmFzc2VydFRydWUobS5fX2NsYXNzX18gaXMgU3ViVHlwZSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGhhc2F0dHIobSwgImEiKSkKKworICAgICAgICBtLl9fY2xhc3NfXyA9IHR5cGVzLk1vZHVsZVR5cGUKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG0uX19jbGFzc19fIGlzIHR5cGVzLk1vZHVsZVR5cGUpCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoaGFzYXR0cihtLCAiYSIpKQorCiAgICAgZGVmIHRlc3Rfc2xvdHMoc2VsZik6CiAgICAgICAgICMgVGVzdGluZyBfX3Nsb3RzX18uLi4KICAgICAgICAgY2xhc3MgQzAob2JqZWN0KToKQEAgLTQxNjAsNiArNDE3Niw3IEBACiAgICAgICAgICAgICAgICAgKCdfX2FkZF9fJywgICAgICAneCArIHknLCAgICAgICAgICAgICAgICAgICAneCArPSB5JyksCiAgICAgICAgICAgICAgICAgKCdfX3N1Yl9fJywgICAgICAneCAtIHknLCAgICAgICAgICAgICAgICAgICAneCAtPSB5JyksCiAgICAgICAgICAgICAgICAgKCdfX211bF9fJywgICAgICAneCAqIHknLCAgICAgICAgICAgICAgICAgICAneCAqPSB5JyksCisgICAgICAgICAgICAgICAgKCdfX21hdG11bF9fJywgICAneCBAIHknLCAgICAgICAgICAgICAgICAgICAneCBAPSB5JyksCiAgICAgICAgICAgICAgICAgKCdfX3RydWVkaXZfXycsICAnb3BlcmF0b3IudHJ1ZWRpdih4LCB5KScsICBOb25lKSwKICAgICAgICAgICAgICAgICAoJ19fZmxvb3JkaXZfXycsICdvcGVyYXRvci5mbG9vcmRpdih4LCB5KScsIE5vbmUpLAogICAgICAgICAgICAgICAgICgnX19kaXZfXycsICAgICAgJ3ggLyB5JywgICAgICAgICAgICAgICAgICAgJ3ggLz0geScpLApAQCAtNDQyMiw2ICs0NDM5LDYxIEBACiAgICAgICAgIHNlbGYuYXNzZXJ0SW4oIl9fZGljdF9fIiwgQmFzZS5fX2RpY3RfXykKICAgICAgICAgc2VsZi5hc3NlcnROb3RJbigiX19kaWN0X18iLCBTdWIuX19kaWN0X18pCiAKKyAgICBkZWYgdGVzdF9ib3VuZF9tZXRob2RfcmVwcihzZWxmKToKKyAgICAgICAgY2xhc3MgRm9vOgorICAgICAgICAgICAgZGVmIG1ldGhvZChzZWxmKToKKyAgICAgICAgICAgICAgICBwYXNzCisgICAgICAgIHNlbGYuYXNzZXJ0UmVnZXgocmVwcihGb28oKS5tZXRob2QpLAorICAgICAgICAgICAgciI8Ym91bmQgbWV0aG9kIC4qRm9vXC5tZXRob2Qgb2YgPC4qRm9vIG9iamVjdCBhdCAuKj4+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+IgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJSAoZi5uYW1lLCBmLm1vZGUpKQorICAgICAgICBmaW5hbGx5OgorICAgICAgICAgICAgb3MuY2xvc2UoZmQpCisKICAgICBkZWYgdGVzdEVycm9ycyhzZWxmKToKICAgICAgICAgZiA9IHNlbGYuZgogICAgICAgICBzZWxmLmFzc2VydFRydWUobm90IGYuaXNhdHR5KCkpCkBAIC0xNDEsNyArMTYyLDcgQEAKICAgICBkZWYgdGVzdE9wZW5kaXIoc2VsZik6CiAgICAgICAgICMgSXNzdWUgMzcwMzogb3BlbmluZyBhIGRpcmVjdG9yeSBzaG91bGQgZmlsbCB0aGUgZXJybm8KICAgICAgICAgIyBXaW5kb3dzIGFsd2F5cyByZXR1cm5zICJbRXJybm8gMTNdOiBQZXJtaXNzaW9uIGRlbmllZAotICAgICAgICAjIFVuaXggY2FsbHMgZGlyY2hlY2soKSBhbmQgcmV0dXJucyAiW0Vycm5vIDIxXTogSXMgYSBkaXJlY3RvcnkiCisgICAgICAgICMgVW5peCB1c2VzIGZzdGF0IGFuZCByZXR1cm5zICJbRXJybm8gMjFdOiBJcyBhIGRpcmVjdG9yeSIKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgX0ZpbGVJTygnLicsICdyJykKICAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZToKQEAgLTM1Miw4ICszNzMsOCBAQAogCiAgICAgZGVmIHRlc3RDb25zdHJ1Y3RvckhhbmRsZXNOVUxDaGFycyhzZWxmKToKICAgICAgICAgZm5fd2l0aF9OVUwgPSAnZm9vXDBiYXInCi0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgX0ZpbGVJTywgZm5fd2l0aF9OVUwsICd3JykKLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBfRmlsZUlPLCBieXRlcyhmbl93aXRoX05VTCwgJ2FzY2lpJyksICd3JykKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgX0ZpbGVJTywgZm5fd2l0aF9OVUwsICd3JykKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgX0ZpbGVJTywgYnl0ZXMoZm5fd2l0aF9OVUwsICdhc2NpaScpLCAndycpCiAKICAgICBkZWYgdGVzdEludmFsaWRGZChzZWxmKToKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgX0ZpbGVJTywgLTEwKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9mb3JrMS5weSBiL0xpYi90ZXN0L3Rlc3RfZm9yazEucHkKaW5kZXggZTA2MjZkZi4uOGJjYmQ0NiAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9mb3JrMS5weQorKysgYi9MaWIvdGVzdC90ZXN0X2ZvcmsxLnB5CkBAIC0xOCwxMyArMTgsMTQgQEAKIAogY2xhc3MgRm9ya1Rlc3QoRm9ya1dhaXQpOgogICAgIGRlZiB3YWl0X2ltcGwoc2VsZiwgY3BpZCk6Ci0gICAgICAgIGZvciBpIGluIHJhbmdlKDEwKToKKyAgICAgICAgZGVhZGxpbmUgPSB0aW1lLm1vbm90b25pYygpICsgMTAuMAorICAgICAgICB3aGlsZSB0aW1lLm1vbm90b25pYygpIDw9IGRlYWRsaW5lOgogICAgICAgICAgICAgIyB3YWl0cGlkKCkgc2hvdWxkbid0IGhhbmcsIGJ1dCBzb21lIG9mIHRoZSBidWlsZGJvdHMgc2VlbSB0byBoYW5nCiAgICAgICAgICAgICAjIGluIHRoZSBmb3JraW5nIHRlc3RzLiAgVGhpcyBpcyBhbiBhdHRlbXB0IHRvIGZpeCB0aGUgcHJvYmxlbS4KICAgICAgICAgICAgIHNwaWQsIHN0YXR1cyA9IG9zLndhaXRwaWQoY3BpZCwgb3MuV05PSEFORykKICAgICAgICAgICAgIGlmIHNwaWQgPT0gY3BpZDoKICAgICAgICAgICAgICAgICBicmVhawotICAgICAgICAgICAgdGltZS5zbGVlcCgxLjApCisgICAgICAgICAgICB0aW1lLnNsZWVwKDAuMSkKIAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNwaWQsIGNwaWQpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RhdHVzLCAwLCAiY2F1c2UgPSAlZCwgZXhpdCA9ICVkIiAlIChzdGF0dXMmMHhmZiwgc3RhdHVzPj44KSkKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfZm9ybWF0LnB5IGIvTGliL3Rlc3QvdGVzdF9mb3JtYXQucHkKaW5kZXggZmM3MWU0OC4uOWQxZjVkMyAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9mb3JtYXQucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9mb3JtYXQucHkKQEAgLTksNyArOSw3IEBACiAjIHRlc3Qgc3RyaW5nIGZvcm1hdHRpbmcgb3BlcmF0b3IgKEkgYW0gbm90IHN1cmUgaWYgdGhpcyBpcyBiZWluZyB0ZXN0ZWQKICMgZWxzZXdoZXJlIGJ1dCwgc3VyZWx5LCBzb21lIG9mIHRoZSBnaXZlbiBjYXNlcyBhcmUgKm5vdCogdGVzdGVkIGJlY2F1c2UKICMgdGhleSBjcmFzaCBweXRob24pCi0jIHRlc3Qgb24gdW5pY29kZSBzdHJpbmdzIGFzIHdlbGwKKyMgdGVzdCBvbiBieXRlcyBvYmplY3QgYXMgd2VsbAogCiBkZWYgdGVzdGZvcm1hdChmb3JtYXRzdHIsIGFyZ3MsIG91dHB1dD1Ob25lLCBsaW1pdD1Ob25lLCBvdmVyZmxvd29rPUZhbHNlKToKICAgICBpZiB2ZXJib3NlOgpAQCAtNDYsMTkxICs0NiwyMDkgQEAKICAgICAgICAgICAgIGlmIHZlcmJvc2U6CiAgICAgICAgICAgICAgICAgcHJpbnQoJ3llcycpCiAKK2RlZiB0ZXN0Y29tbW9uKGZvcm1hdHN0ciwgYXJncywgb3V0cHV0PU5vbmUsIGxpbWl0PU5vbmUsIG92ZXJmbG93b2s9RmFsc2UpOgorICAgICMgaWYgZm9ybWF0c3RyIGlzIGEgc3RyLCB0ZXN0IHN0ciwgYnl0ZXMsIGFuZCBieXRlYXJyYXk7CisgICAgIyBvdGhlcndpc2UsIHRlc3QgYnl0ZXMgYW5kIGJ5dGVhcnJ5CisgICAgaWYgaXNpbnN0YW5jZShmb3JtYXRzdHIsIHN0cik6CisgICAgICAgIHRlc3Rmb3JtYXQoZm9ybWF0c3RyLCBhcmdzLCBvdXRwdXQsIGxpbWl0LCBvdmVyZmxvd29rKQorICAgICAgICBiX2Zvcm1hdCA9IGZvcm1hdHN0ci5lbmNvZGUoJ2FzY2lpJykKKyAgICBlbHNlOgorICAgICAgICBiX2Zvcm1hdCA9IGZvcm1hdHN0cgorICAgIGJhX2Zvcm1hdCA9IGJ5dGVhcnJheShiX2Zvcm1hdCkKKyAgICBiX2FyZ3MgPSBbXQorICAgIGlmIG5vdCBpc2luc3RhbmNlKGFyZ3MsIHR1cGxlKToKKyAgICAgICAgYXJncyA9IChhcmdzLCApCisgICAgYl9hcmdzID0gdHVwbGUoYXJncykKKyAgICBpZiBvdXRwdXQgaXMgTm9uZToKKyAgICAgICAgYl9vdXRwdXQgPSBiYV9vdXRwdXQgPSBOb25lCisgICAgZWxzZToKKyAgICAgICAgaWYgaXNpbnN0YW5jZShvdXRwdXQsIHN0cik6CisgICAgICAgICAgICBiX291dHB1dCA9IG91dHB1dC5lbmNvZGUoJ2FzY2lpJykKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGJfb3V0cHV0ID0gb3V0cHV0CisgICAgICAgIGJhX291dHB1dCA9IGJ5dGVhcnJheShiX291dHB1dCkKKyAgICB0ZXN0Zm9ybWF0KGJfZm9ybWF0LCBiX2FyZ3MsIGJfb3V0cHV0LCBsaW1pdCwgb3ZlcmZsb3dvaykKKyAgICB0ZXN0Zm9ybWF0KGJhX2Zvcm1hdCwgYl9hcmdzLCBiYV9vdXRwdXQsIGxpbWl0LCBvdmVyZmxvd29rKQorCiAKIGNsYXNzIEZvcm1hdFRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgotICAgIGRlZiB0ZXN0X2Zvcm1hdChzZWxmKToKLSAgICAgICAgdGVzdGZvcm1hdCgiJS4xZCIsICgxLCksICIxIikKLSAgICAgICAgdGVzdGZvcm1hdCgiJS4qZCIsIChzeXMubWF4c2l6ZSwxKSwgb3ZlcmZsb3dvaz1UcnVlKSAgIyBleHBlY3Qgb3ZlcmZsb3cKLSAgICAgICAgdGVzdGZvcm1hdCgiJS4xMDBkIiwgKDEsKSwgJzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwJworCisgICAgZGVmIHRlc3RfY29tbW9uX2Zvcm1hdChzZWxmKToKKyAgICAgICAgIyB0ZXN0IHRoZSBmb3JtYXQgaWRlbnRpZmllcnMgdGhhdCB3b3JrIHRoZSBzYW1lIGFjcm9zcworICAgICAgICAjIHN0ciwgYnl0ZXMsIGFuZCBieXRlYXJyYXlzIChpbnRlZ2VyLCBmbG9hdCwgb2N0LCBoZXgpCisgICAgICAgIHRlc3Rjb21tb24oIiUuMWQiLCAoMSwpLCAiMSIpCisgICAgICAgIHRlc3Rjb21tb24oIiUuKmQiLCAoc3lzLm1heHNpemUsMSksIG92ZXJmbG93b2s9VHJ1ZSkgICMgZXhwZWN0IG92ZXJmbG93CisgICAgICAgIHRlc3Rjb21tb24oIiUuMTAwZCIsICgxLCksICcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCcKICAgICAgICAgICAgICAgICAgJzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCcKICAgICAgICAgICAgICAgICAgJzAwMDAwMDAxJywgb3ZlcmZsb3dvaz1UcnVlKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlIy4xMTd4IiwgKDEsKSwgJzB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAnCisgICAgICAgIHRlc3Rjb21tb24oIiUjLjExN3giLCAoMSwpLCAnMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCcKICAgICAgICAgICAgICAgICAgJzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCcKICAgICAgICAgICAgICAgICAgJzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEnLAogICAgICAgICAgICAgICAgICBvdmVyZmxvd29rPVRydWUpCi0gICAgICAgIHRlc3Rmb3JtYXQoIiUjLjExOHgiLCAoMSwpLCAnMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCcKKyAgICAgICAgdGVzdGNvbW1vbigiJSMuMTE4eCIsICgxLCksICcweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwJwogICAgICAgICAgICAgICAgICAnMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwJwogICAgICAgICAgICAgICAgICAnMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEnLAogICAgICAgICAgICAgICAgICBvdmVyZmxvd29rPVRydWUpCiAKLSAgICAgICAgdGVzdGZvcm1hdCgiJWYiLCAoMS4wLCksICIxLjAwMDAwMCIpCisgICAgICAgIHRlc3Rjb21tb24oIiVmIiwgKDEuMCwpLCAiMS4wMDAwMDAiKQogICAgICAgICAjIHRoZXNlIGFyZSB0cnlpbmcgdG8gdGVzdCB0aGUgbGltaXRzIG9mIHRoZSBpbnRlcm5hbCBtYWdpYy1udW1iZXItbGVuZ3RoCiAgICAgICAgICMgZm9ybWF0dGluZyBidWZmZXIsIGlmIHRoYXQgbnVtYmVyIGNoYW5nZXMgdGhlbiB0aGVzZSB0ZXN0cyBhcmUgbGVzcwogICAgICAgICAjIGVmZmVjdGl2ZQotICAgICAgICB0ZXN0Zm9ybWF0KCIlIy4qZyIsICgxMDksIC0xLmUrNDkvMy4pKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlIy4qZyIsICgxMTAsIC0xLmUrNDkvMy4pKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlIy4qZyIsICgxMTAsIC0xLmUrMTAwLzMuKSkKKyAgICAgICAgdGVzdGNvbW1vbigiJSMuKmciLCAoMTA5LCAtMS5lKzQ5LzMuKSkKKyAgICAgICAgdGVzdGNvbW1vbigiJSMuKmciLCAoMTEwLCAtMS5lKzQ5LzMuKSkKKyAgICAgICAgdGVzdGNvbW1vbigiJSMuKmciLCAoMTEwLCAtMS5lKzEwMC8zLikpCiAgICAgICAgICMgdGVzdCBzb21lIHJpZGljdWxvdXNseSBsYXJnZSBwcmVjaXNpb24sIGV4cGVjdCBvdmVyZmxvdwotICAgICAgICB0ZXN0Zm9ybWF0KCclMTIuKmYnLCAoMTIzNDU2LCAxLjApKQorICAgICAgICB0ZXN0Y29tbW9uKCclMTIuKmYnLCAoMTIzNDU2LCAxLjApKQogCiAgICAgICAgICMgY2hlY2sgZm9yIGludGVybmFsIG92ZXJmbG93IHZhbGlkYXRpb24gb24gbGVuZ3RoIG9mIHByZWNpc2lvbgogICAgICAgICAjIHRoZXNlIHRlc3RzIHNob3VsZCBubyBsb25nZXIgY2F1c2Ugb3ZlcmZsb3cgaW4gUHl0aG9uCiAgICAgICAgICMgMi43LzMuMSBhbmQgbGF0ZXIuCi0gICAgICAgIHRlc3Rmb3JtYXQoIiUjLipnIiwgKDExMCwgLTEuZSsxMDAvMy4pKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlIy4qRyIsICgxMTAsIC0xLmUrMTAwLzMuKSkKLSAgICAgICAgdGVzdGZvcm1hdCgiJSMuKmYiLCAoMTEwLCAtMS5lKzEwMC8zLikpCi0gICAgICAgIHRlc3Rmb3JtYXQoIiUjLipGIiwgKDExMCwgLTEuZSsxMDAvMy4pKQorICAgICAgICB0ZXN0Y29tbW9uKCIlIy4qZyIsICgxMTAsIC0xLmUrMTAwLzMuKSkKKyAgICAgICAgdGVzdGNvbW1vbigiJSMuKkciLCAoMTEwLCAtMS5lKzEwMC8zLikpCisgICAgICAgIHRlc3Rjb21tb24oIiUjLipmIiwgKDExMCwgLTEuZSsxMDAvMy4pKQorICAgICAgICB0ZXN0Y29tbW9uKCIlIy4qRiIsICgxMTAsIC0xLmUrMTAwLzMuKSkKICAgICAgICAgIyBGb3JtYXR0aW5nIG9mIGludGVnZXJzLiBPdmVyZmxvdyBpcyBub3Qgb2sKLSAgICAgICAgdGVzdGZvcm1hdCgiJXgiLCAxMCwgImEiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIleCIsIDEwMDAwMDAwMDAwMCwgIjE3NDg3NmU4MDAiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlbyIsIDEwLCAiMTIiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlbyIsIDEwMDAwMDAwMDAwMCwgIjEzNTEwMzU1NjQwMDAiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlZCIsIDEwLCAiMTAiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlZCIsIDEwMDAwMDAwMDAwMCwgIjEwMDAwMDAwMDAwMCIpCisgICAgICAgIHRlc3Rjb21tb24oIiV4IiwgMTAsICJhIikKKyAgICAgICAgdGVzdGNvbW1vbigiJXgiLCAxMDAwMDAwMDAwMDAsICIxNzQ4NzZlODAwIikKKyAgICAgICAgdGVzdGNvbW1vbigiJW8iLCAxMCwgIjEyIikKKyAgICAgICAgdGVzdGNvbW1vbigiJW8iLCAxMDAwMDAwMDAwMDAsICIxMzUxMDM1NTY0MDAwIikKKyAgICAgICAgdGVzdGNvbW1vbigiJWQiLCAxMCwgIjEwIikKKyAgICAgICAgdGVzdGNvbW1vbigiJWQiLCAxMDAwMDAwMDAwMDAsICIxMDAwMDAwMDAwMDAiKQogICAgICAgICBiaWcgPSAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAKLSAgICAgICAgdGVzdGZvcm1hdCgiJWQiLCBiaWcsICIxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlZCIsIC1iaWcsICItMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwIikKLSAgICAgICAgdGVzdGZvcm1hdCgiJTVkIiwgLWJpZywgIi0xMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlMzFkIiwgLWJpZywgIi0xMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlMzJkIiwgLWJpZywgIiAtMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwIikKLSAgICAgICAgdGVzdGZvcm1hdCgiJS0zMmQiLCAtYmlnLCAiLTEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MCAiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlMDMyZCIsIC1iaWcsICItMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MCIpCi0gICAgICAgIHRlc3Rmb3JtYXQoIiUtMDMyZCIsIC1iaWcsICItMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwICIpCi0gICAgICAgIHRlc3Rmb3JtYXQoIiUwMzRkIiwgLWJpZywgIi0wMDAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlMDM0ZCIsIGJpZywgIjAwMDAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlMCszNGQiLCBiaWcsICIrMDAwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwIikKLSAgICAgICAgdGVzdGZvcm1hdCgiJSszNGQiLCBiaWcsICIgICArMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwIikKLSAgICAgICAgdGVzdGZvcm1hdCgiJTM0ZCIsIGJpZywgIiAgICAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlLjJkIiwgYmlnLCAiMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwIikKLSAgICAgICAgdGVzdGZvcm1hdCgiJS4zMGQiLCBiaWcsICIxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlLjMxZCIsIGJpZywgIjAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlMzIuMzFkIiwgYmlnLCAiIDAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlZCIsIGZsb2F0KGJpZyksICIxMjM0NTZfX19fX19fX19fX19fX19fX19fX19fX18iLCA2KQorICAgICAgICB0ZXN0Y29tbW9uKCIlZCIsIGJpZywgIjEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MCIpCisgICAgICAgIHRlc3Rjb21tb24oIiVkIiwgLWJpZywgIi0xMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAiKQorICAgICAgICB0ZXN0Y29tbW9uKCIlNWQiLCAtYmlnLCAiLTEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MCIpCisgICAgICAgIHRlc3Rjb21tb24oIiUzMWQiLCAtYmlnLCAiLTEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MCIpCisgICAgICAgIHRlc3Rjb21tb24oIiUzMmQiLCAtYmlnLCAiIC0xMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAiKQorICAgICAgICB0ZXN0Y29tbW9uKCIlLTMyZCIsIC1iaWcsICItMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwICIpCisgICAgICAgIHRlc3Rjb21tb24oIiUwMzJkIiwgLWJpZywgIi0wMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwIikKKyAgICAgICAgdGVzdGNvbW1vbigiJS0wMzJkIiwgLWJpZywgIi0xMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAgIikKKyAgICAgICAgdGVzdGNvbW1vbigiJTAzNGQiLCAtYmlnLCAiLTAwMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MCIpCisgICAgICAgIHRlc3Rjb21tb24oIiUwMzRkIiwgYmlnLCAiMDAwMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MCIpCisgICAgICAgIHRlc3Rjb21tb24oIiUwKzM0ZCIsIGJpZywgIiswMDAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAiKQorICAgICAgICB0ZXN0Y29tbW9uKCIlKzM0ZCIsIGJpZywgIiAgICsxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAiKQorICAgICAgICB0ZXN0Y29tbW9uKCIlMzRkIiwgYmlnLCAiICAgIDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MCIpCisgICAgICAgIHRlc3Rjb21tb24oIiUuMmQiLCBiaWcsICIxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAiKQorICAgICAgICB0ZXN0Y29tbW9uKCIlLjMwZCIsIGJpZywgIjEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MCIpCisgICAgICAgIHRlc3Rjb21tb24oIiUuMzFkIiwgYmlnLCAiMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MCIpCisgICAgICAgIHRlc3Rjb21tb24oIiUzMi4zMWQiLCBiaWcsICIgMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MCIpCisgICAgICAgIHRlc3Rjb21tb24oIiVkIiwgZmxvYXQoYmlnKSwgIjEyMzQ1Nl9fX19fX19fX19fX19fX19fX19fX19fXyIsIDYpCiAgICAgICAgIGJpZyA9IDB4MTIzNDU2Nzg5MGFiY2RlZjEyMzQ1ICAjIDIxIGhleCBkaWdpdHMKLSAgICAgICAgdGVzdGZvcm1hdCgiJXgiLCBiaWcsICIxMjM0NTY3ODkwYWJjZGVmMTIzNDUiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIleCIsIC1iaWcsICItMTIzNDU2Nzg5MGFiY2RlZjEyMzQ1IikKLSAgICAgICAgdGVzdGZvcm1hdCgiJTV4IiwgLWJpZywgIi0xMjM0NTY3ODkwYWJjZGVmMTIzNDUiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlMjJ4IiwgLWJpZywgIi0xMjM0NTY3ODkwYWJjZGVmMTIzNDUiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlMjN4IiwgLWJpZywgIiAtMTIzNDU2Nzg5MGFiY2RlZjEyMzQ1IikKLSAgICAgICAgdGVzdGZvcm1hdCgiJS0yM3giLCAtYmlnLCAiLTEyMzQ1Njc4OTBhYmNkZWYxMjM0NSAiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlMDIzeCIsIC1iaWcsICItMDEyMzQ1Njc4OTBhYmNkZWYxMjM0NSIpCi0gICAgICAgIHRlc3Rmb3JtYXQoIiUtMDIzeCIsIC1iaWcsICItMTIzNDU2Nzg5MGFiY2RlZjEyMzQ1ICIpCi0gICAgICAgIHRlc3Rmb3JtYXQoIiUwMjV4IiwgLWJpZywgIi0wMDAxMjM0NTY3ODkwYWJjZGVmMTIzNDUiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlMDI1eCIsIGJpZywgIjAwMDAxMjM0NTY3ODkwYWJjZGVmMTIzNDUiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlMCsyNXgiLCBiaWcsICIrMDAwMTIzNDU2Nzg5MGFiY2RlZjEyMzQ1IikKLSAgICAgICAgdGVzdGZvcm1hdCgiJSsyNXgiLCBiaWcsICIgICArMTIzNDU2Nzg5MGFiY2RlZjEyMzQ1IikKLSAgICAgICAgdGVzdGZvcm1hdCgiJTI1eCIsIGJpZywgIiAgICAxMjM0NTY3ODkwYWJjZGVmMTIzNDUiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlLjJ4IiwgYmlnLCAiMTIzNDU2Nzg5MGFiY2RlZjEyMzQ1IikKLSAgICAgICAgdGVzdGZvcm1hdCgiJS4yMXgiLCBiaWcsICIxMjM0NTY3ODkwYWJjZGVmMTIzNDUiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlLjIyeCIsIGJpZywgIjAxMjM0NTY3ODkwYWJjZGVmMTIzNDUiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlMjMuMjJ4IiwgYmlnLCAiIDAxMjM0NTY3ODkwYWJjZGVmMTIzNDUiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlLTIzLjIyeCIsIGJpZywgIjAxMjM0NTY3ODkwYWJjZGVmMTIzNDUgIikKLSAgICAgICAgdGVzdGZvcm1hdCgiJVgiLCBiaWcsICIxMjM0NTY3ODkwQUJDREVGMTIzNDUiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlI1giLCBiaWcsICIwWDEyMzQ1Njc4OTBBQkNERUYxMjM0NSIpCi0gICAgICAgIHRlc3Rmb3JtYXQoIiUjeCIsIGJpZywgIjB4MTIzNDU2Nzg5MGFiY2RlZjEyMzQ1IikKLSAgICAgICAgdGVzdGZvcm1hdCgiJSN4IiwgLWJpZywgIi0weDEyMzQ1Njc4OTBhYmNkZWYxMjM0NSIpCi0gICAgICAgIHRlc3Rmb3JtYXQoIiUjLjIzeCIsIC1iaWcsICItMHgwMDEyMzQ1Njc4OTBhYmNkZWYxMjM0NSIpCi0gICAgICAgIHRlc3Rmb3JtYXQoIiUjKy4yM3giLCBiaWcsICIrMHgwMDEyMzQ1Njc4OTBhYmNkZWYxMjM0NSIpCi0gICAgICAgIHRlc3Rmb3JtYXQoIiUjIC4yM3giLCBiaWcsICIgMHgwMDEyMzQ1Njc4OTBhYmNkZWYxMjM0NSIpCi0gICAgICAgIHRlc3Rmb3JtYXQoIiUjKy4yM1giLCBiaWcsICIrMFgwMDEyMzQ1Njc4OTBBQkNERUYxMjM0NSIpCi0gICAgICAgIHRlc3Rmb3JtYXQoIiUjLSsuMjNYIiwgYmlnLCAiKzBYMDAxMjM0NTY3ODkwQUJDREVGMTIzNDUiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlIy0rMjYuMjNYIiwgYmlnLCAiKzBYMDAxMjM0NTY3ODkwQUJDREVGMTIzNDUiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlIy0rMjcuMjNYIiwgYmlnLCAiKzBYMDAxMjM0NTY3ODkwQUJDREVGMTIzNDUgIikKLSAgICAgICAgdGVzdGZvcm1hdCgiJSMrMjcuMjNYIiwgYmlnLCAiICswWDAwMTIzNDU2Nzg5MEFCQ0RFRjEyMzQ1IikKKyAgICAgICAgdGVzdGNvbW1vbigiJXgiLCBiaWcsICIxMjM0NTY3ODkwYWJjZGVmMTIzNDUiKQorICAgICAgICB0ZXN0Y29tbW9uKCIleCIsIC1iaWcsICItMTIzNDU2Nzg5MGFiY2RlZjEyMzQ1IikKKyAgICAgICAgdGVzdGNvbW1vbigiJTV4IiwgLWJpZywgIi0xMjM0NTY3ODkwYWJjZGVmMTIzNDUiKQorICAgICAgICB0ZXN0Y29tbW9uKCIlMjJ4IiwgLWJpZywgIi0xMjM0NTY3ODkwYWJjZGVmMTIzNDUiKQorICAgICAgICB0ZXN0Y29tbW9uKCIlMjN4IiwgLWJpZywgIiAtMTIzNDU2Nzg5MGFiY2RlZjEyMzQ1IikKKyAgICAgICAgdGVzdGNvbW1vbigiJS0yM3giLCAtYmlnLCAiLTEyMzQ1Njc4OTBhYmNkZWYxMjM0NSAiKQorICAgICAgICB0ZXN0Y29tbW9uKCIlMDIzeCIsIC1iaWcsICItMDEyMzQ1Njc4OTBhYmNkZWYxMjM0NSIpCisgICAgICAgIHRlc3Rjb21tb24oIiUtMDIzeCIsIC1iaWcsICItMTIzNDU2Nzg5MGFiY2RlZjEyMzQ1ICIpCisgICAgICAgIHRlc3Rjb21tb24oIiUwMjV4IiwgLWJpZywgIi0wMDAxMjM0NTY3ODkwYWJjZGVmMTIzNDUiKQorICAgICAgICB0ZXN0Y29tbW9uKCIlMDI1eCIsIGJpZywgIjAwMDAxMjM0NTY3ODkwYWJjZGVmMTIzNDUiKQorICAgICAgICB0ZXN0Y29tbW9uKCIlMCsyNXgiLCBiaWcsICIrMDAwMTIzNDU2Nzg5MGFiY2RlZjEyMzQ1IikKKyAgICAgICAgdGVzdGNvbW1vbigiJSsyNXgiLCBiaWcsICIgICArMTIzNDU2Nzg5MGFiY2RlZjEyMzQ1IikKKyAgICAgICAgdGVzdGNvbW1vbigiJTI1eCIsIGJpZywgIiAgICAxMjM0NTY3ODkwYWJjZGVmMTIzNDUiKQorICAgICAgICB0ZXN0Y29tbW9uKCIlLjJ4IiwgYmlnLCAiMTIzNDU2Nzg5MGFiY2RlZjEyMzQ1IikKKyAgICAgICAgdGVzdGNvbW1vbigiJS4yMXgiLCBiaWcsICIxMjM0NTY3ODkwYWJjZGVmMTIzNDUiKQorICAgICAgICB0ZXN0Y29tbW9uKCIlLjIyeCIsIGJpZywgIjAxMjM0NTY3ODkwYWJjZGVmMTIzNDUiKQorICAgICAgICB0ZXN0Y29tbW9uKCIlMjMuMjJ4IiwgYmlnLCAiIDAxMjM0NTY3ODkwYWJjZGVmMTIzNDUiKQorICAgICAgICB0ZXN0Y29tbW9uKCIlLTIzLjIyeCIsIGJpZywgIjAxMjM0NTY3ODkwYWJjZGVmMTIzNDUgIikKKyAgICAgICAgdGVzdGNvbW1vbigiJVgiLCBiaWcsICIxMjM0NTY3ODkwQUJDREVGMTIzNDUiKQorICAgICAgICB0ZXN0Y29tbW9uKCIlI1giLCBiaWcsICIwWDEyMzQ1Njc4OTBBQkNERUYxMjM0NSIpCisgICAgICAgIHRlc3Rjb21tb24oIiUjeCIsIGJpZywgIjB4MTIzNDU2Nzg5MGFiY2RlZjEyMzQ1IikKKyAgICAgICAgdGVzdGNvbW1vbigiJSN4IiwgLWJpZywgIi0weDEyMzQ1Njc4OTBhYmNkZWYxMjM0NSIpCisgICAgICAgIHRlc3Rjb21tb24oIiUjLjIzeCIsIC1iaWcsICItMHgwMDEyMzQ1Njc4OTBhYmNkZWYxMjM0NSIpCisgICAgICAgIHRlc3Rjb21tb24oIiUjKy4yM3giLCBiaWcsICIrMHgwMDEyMzQ1Njc4OTBhYmNkZWYxMjM0NSIpCisgICAgICAgIHRlc3Rjb21tb24oIiUjIC4yM3giLCBiaWcsICIgMHgwMDEyMzQ1Njc4OTBhYmNkZWYxMjM0NSIpCisgICAgICAgIHRlc3Rjb21tb24oIiUjKy4yM1giLCBiaWcsICIrMFgwMDEyMzQ1Njc4OTBBQkNERUYxMjM0NSIpCisgICAgICAgIHRlc3Rjb21tb24oIiUjLSsuMjNYIiwgYmlnLCAiKzBYMDAxMjM0NTY3ODkwQUJDREVGMTIzNDUiKQorICAgICAgICB0ZXN0Y29tbW9uKCIlIy0rMjYuMjNYIiwgYmlnLCAiKzBYMDAxMjM0NTY3ODkwQUJDREVGMTIzNDUiKQorICAgICAgICB0ZXN0Y29tbW9uKCIlIy0rMjcuMjNYIiwgYmlnLCAiKzBYMDAxMjM0NTY3ODkwQUJDREVGMTIzNDUgIikKKyAgICAgICAgdGVzdGNvbW1vbigiJSMrMjcuMjNYIiwgYmlnLCAiICswWDAwMTIzNDU2Nzg5MEFCQ0RFRjEyMzQ1IikKICAgICAgICAgIyBuZXh0IG9uZSBnZXRzIHR3byBsZWFkaW5nIHplcm9lcyBmcm9tIHByZWNpc2lvbiwgYW5kIGFub3RoZXIgZnJvbSB0aGUKICAgICAgICAgIyAwIGZsYWcgYW5kIHRoZSB3aWR0aAotICAgICAgICB0ZXN0Zm9ybWF0KCIlIyswMjcuMjNYIiwgYmlnLCAiKzBYMDAwMTIzNDU2Nzg5MEFCQ0RFRjEyMzQ1IikKKyAgICAgICAgdGVzdGNvbW1vbigiJSMrMDI3LjIzWCIsIGJpZywgIiswWDAwMDEyMzQ1Njc4OTBBQkNERUYxMjM0NSIpCiAgICAgICAgICMgc2FtZSwgZXhjZXB0IG5vIDAgZmxhZwotICAgICAgICB0ZXN0Zm9ybWF0KCIlIysyNy4yM1giLCBiaWcsICIgKzBYMDAxMjM0NTY3ODkwQUJDREVGMTIzNDUiKQotICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0V2FybnMoRGVwcmVjYXRpb25XYXJuaW5nKToKLSAgICAgICAgICAgIHRlc3Rmb3JtYXQoIiV4IiwgZmxvYXQoYmlnKSwgIjEyMzQ1Nl9fX19fX19fX19fX19fXyIsIDYpCisgICAgICAgIHRlc3Rjb21tb24oIiUjKzI3LjIzWCIsIGJpZywgIiArMFgwMDEyMzQ1Njc4OTBBQkNERUYxMjM0NSIpCiAgICAgICAgIGJpZyA9IDBvMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAgICMgMzIgb2N0YWwgZGlnaXRzCi0gICAgICAgIHRlc3Rmb3JtYXQoIiVvIiwgYmlnLCAiMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlbyIsIC1iaWcsICItMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlNW8iLCAtYmlnLCAiLTEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwIikKLSAgICAgICAgdGVzdGZvcm1hdCgiJTMzbyIsIC1iaWcsICItMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlMzRvIiwgLWJpZywgIiAtMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlLTM0byIsIC1iaWcsICItMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAgIikKLSAgICAgICAgdGVzdGZvcm1hdCgiJTAzNG8iLCAtYmlnLCAiLTAxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MCIpCi0gICAgICAgIHRlc3Rmb3JtYXQoIiUtMDM0byIsIC1iaWcsICItMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAgIikKLSAgICAgICAgdGVzdGZvcm1hdCgiJTAzNm8iLCAtYmlnLCAiLTAwMDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwIikKLSAgICAgICAgdGVzdGZvcm1hdCgiJTAzNm8iLCBiaWcsICIwMDAwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlMCszNm8iLCBiaWcsICIrMDAwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlKzM2byIsIGJpZywgIiAgICsxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MCIpCi0gICAgICAgIHRlc3Rmb3JtYXQoIiUzNm8iLCBiaWcsICIgICAgMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlLjJvIiwgYmlnLCAiMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlLjMybyIsIGJpZywgIjEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwIikKLSAgICAgICAgdGVzdGZvcm1hdCgiJS4zM28iLCBiaWcsICIwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlMzQuMzNvIiwgYmlnLCAiIDAxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MCIpCi0gICAgICAgIHRlc3Rmb3JtYXQoIiUtMzQuMzNvIiwgYmlnLCAiMDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwICIpCi0gICAgICAgIHRlc3Rmb3JtYXQoIiVvIiwgYmlnLCAiMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlI28iLCBiaWcsICIwbzEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwIikKLSAgICAgICAgdGVzdGZvcm1hdCgiJSNvIiwgLWJpZywgIi0wbzEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwIikKLSAgICAgICAgdGVzdGZvcm1hdCgiJSMuMzRvIiwgLWJpZywgIi0wbzAwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlIysuMzRvIiwgYmlnLCAiKzBvMDAxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MCIpCi0gICAgICAgIHRlc3Rmb3JtYXQoIiUjIC4zNG8iLCBiaWcsICIgMG8wMDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwIikKLSAgICAgICAgdGVzdGZvcm1hdCgiJSMrLjM0byIsIGJpZywgIiswbzAwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlIy0rLjM0byIsIGJpZywgIiswbzAwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlIy0rMzcuMzRvIiwgYmlnLCAiKzBvMDAxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MCIpCi0gICAgICAgIHRlc3Rmb3JtYXQoIiUjKzM3LjM0byIsIGJpZywgIiswbzAwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAiKQorICAgICAgICB0ZXN0Y29tbW9uKCIlbyIsIGJpZywgIjEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwIikKKyAgICAgICAgdGVzdGNvbW1vbigiJW8iLCAtYmlnLCAiLTEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwIikKKyAgICAgICAgdGVzdGNvbW1vbigiJTVvIiwgLWJpZywgIi0xMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MCIpCisgICAgICAgIHRlc3Rjb21tb24oIiUzM28iLCAtYmlnLCAiLTEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwIikKKyAgICAgICAgdGVzdGNvbW1vbigiJTM0byIsIC1iaWcsICIgLTEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwIikKKyAgICAgICAgdGVzdGNvbW1vbigiJS0zNG8iLCAtYmlnLCAiLTEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwICIpCisgICAgICAgIHRlc3Rjb21tb24oIiUwMzRvIiwgLWJpZywgIi0wMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAiKQorICAgICAgICB0ZXN0Y29tbW9uKCIlLTAzNG8iLCAtYmlnLCAiLTEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwICIpCisgICAgICAgIHRlc3Rjb21tb24oIiUwMzZvIiwgLWJpZywgIi0wMDAxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MCIpCisgICAgICAgIHRlc3Rjb21tb24oIiUwMzZvIiwgYmlnLCAiMDAwMDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwIikKKyAgICAgICAgdGVzdGNvbW1vbigiJTArMzZvIiwgYmlnLCAiKzAwMDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwIikKKyAgICAgICAgdGVzdGNvbW1vbigiJSszNm8iLCBiaWcsICIgICArMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAiKQorICAgICAgICB0ZXN0Y29tbW9uKCIlMzZvIiwgYmlnLCAiICAgIDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwIikKKyAgICAgICAgdGVzdGNvbW1vbigiJS4ybyIsIGJpZywgIjEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwIikKKyAgICAgICAgdGVzdGNvbW1vbigiJS4zMm8iLCBiaWcsICIxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MCIpCisgICAgICAgIHRlc3Rjb21tb24oIiUuMzNvIiwgYmlnLCAiMDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwIikKKyAgICAgICAgdGVzdGNvbW1vbigiJTM0LjMzbyIsIGJpZywgIiAwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAiKQorICAgICAgICB0ZXN0Y29tbW9uKCIlLTM0LjMzbyIsIGJpZywgIjAxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MCAiKQorICAgICAgICB0ZXN0Y29tbW9uKCIlbyIsIGJpZywgIjEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwIikKKyAgICAgICAgdGVzdGNvbW1vbigiJSNvIiwgYmlnLCAiMG8xMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MCIpCisgICAgICAgIHRlc3Rjb21tb24oIiUjbyIsIC1iaWcsICItMG8xMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MCIpCisgICAgICAgIHRlc3Rjb21tb24oIiUjLjM0byIsIC1iaWcsICItMG8wMDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwIikKKyAgICAgICAgdGVzdGNvbW1vbigiJSMrLjM0byIsIGJpZywgIiswbzAwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAiKQorICAgICAgICB0ZXN0Y29tbW9uKCIlIyAuMzRvIiwgYmlnLCAiIDBvMDAxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MCIpCisgICAgICAgIHRlc3Rjb21tb24oIiUjKy4zNG8iLCBiaWcsICIrMG8wMDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwIikKKyAgICAgICAgdGVzdGNvbW1vbigiJSMtKy4zNG8iLCBiaWcsICIrMG8wMDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwIikKKyAgICAgICAgdGVzdGNvbW1vbigiJSMtKzM3LjM0byIsIGJpZywgIiswbzAwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAiKQorICAgICAgICB0ZXN0Y29tbW9uKCIlIyszNy4zNG8iLCBiaWcsICIrMG8wMDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwIikKICAgICAgICAgIyBuZXh0IG9uZSBnZXRzIG9uZSBsZWFkaW5nIHplcm8gZnJvbSBwcmVjaXNpb24KLSAgICAgICAgdGVzdGZvcm1hdCgiJS4zM28iLCBiaWcsICIwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAiKQorICAgICAgICB0ZXN0Y29tbW9uKCIlLjMzbyIsIGJpZywgIjAxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MCIpCiAgICAgICAgICMgYmFzZSBtYXJrZXIgc2hvdWxkbid0IGNoYW5nZSB0aGF0LCBzaW5jZSAiMCIgaXMgcmVkdW5kYW50Ci0gICAgICAgIHRlc3Rmb3JtYXQoIiUjLjMzbyIsIGJpZywgIjBvMDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwIikKKyAgICAgICAgdGVzdGNvbW1vbigiJSMuMzNvIiwgYmlnLCAiMG8wMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAiKQogICAgICAgICAjIGJ1dCByZWR1Y2UgcHJlY2lzaW9uLCBhbmQgYmFzZSBtYXJrZXIgc2hvdWxkIGFkZCBhIHplcm8KLSAgICAgICAgdGVzdGZvcm1hdCgiJSMuMzJvIiwgYmlnLCAiMG8xMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MCIpCisgICAgICAgIHRlc3Rjb21tb24oIiUjLjMybyIsIGJpZywgIjBvMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAiKQogICAgICAgICAjIG9uZSBsZWFkaW5nIHplcm8gZnJvbSBwcmVjaXNpb24sIGFuZCBhbm90aGVyIGZyb20gIjAiIGZsYWcgJiB3aWR0aAotICAgICAgICB0ZXN0Zm9ybWF0KCIlMDM0LjMzbyIsIGJpZywgIjAwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAiKQorICAgICAgICB0ZXN0Y29tbW9uKCIlMDM0LjMzbyIsIGJpZywgIjAwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAiKQogICAgICAgICAjIGJhc2UgbWFya2VyIHNob3VsZG4ndCBjaGFuZ2UgdGhhdAotICAgICAgICB0ZXN0Zm9ybWF0KCIlMCMzNC4zM28iLCBiaWcsICIwbzAxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MCIpCi0gICAgICAgIHdpdGggc2VsZi5hc3NlcnRXYXJucyhEZXByZWNhdGlvbldhcm5pbmcpOgotICAgICAgICAgICAgdGVzdGZvcm1hdCgiJW8iLCBmbG9hdChiaWcpLCAiMTIzNDU2X19fX19fX19fX19fX19fX19fX19fX19fX18iLCA2KQorICAgICAgICB0ZXN0Y29tbW9uKCIlMCMzNC4zM28iLCBiaWcsICIwbzAxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MCIpCiAgICAgICAgICMgU29tZSBzbWFsbCBpbnRzLCBpbiBib3RoIFB5dGhvbiBpbnQgYW5kIGZsYXZvcnMpLgotICAgICAgICB0ZXN0Zm9ybWF0KCIlZCIsIDQyLCAiNDIiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlZCIsIC00MiwgIi00MiIpCi0gICAgICAgIHRlc3Rmb3JtYXQoIiVkIiwgNDIsICI0MiIpCi0gICAgICAgIHRlc3Rmb3JtYXQoIiVkIiwgLTQyLCAiLTQyIikKLSAgICAgICAgdGVzdGZvcm1hdCgiJWQiLCA0Mi4wLCAiNDIiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlI3giLCAxLCAiMHgxIikKLSAgICAgICAgdGVzdGZvcm1hdCgiJSN4IiwgMSwgIjB4MSIpCi0gICAgICAgIHRlc3Rmb3JtYXQoIiUjWCIsIDEsICIwWDEiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlI1giLCAxLCAiMFgxIikKLSAgICAgICAgd2l0aCBzZWxmLmFzc2VydFdhcm5zKERlcHJlY2F0aW9uV2FybmluZyk6Ci0gICAgICAgICAgICB0ZXN0Zm9ybWF0KCIlI3giLCAxLjAsICIweDEiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlI28iLCAxLCAiMG8xIikKLSAgICAgICAgdGVzdGZvcm1hdCgiJSNvIiwgMSwgIjBvMSIpCi0gICAgICAgIHRlc3Rmb3JtYXQoIiUjbyIsIDAsICIwbzAiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlI28iLCAwLCAiMG8wIikKLSAgICAgICAgdGVzdGZvcm1hdCgiJW8iLCAwLCAiMCIpCi0gICAgICAgIHRlc3Rmb3JtYXQoIiVvIiwgMCwgIjAiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlZCIsIDAsICIwIikKLSAgICAgICAgdGVzdGZvcm1hdCgiJWQiLCAwLCAiMCIpCi0gICAgICAgIHRlc3Rmb3JtYXQoIiUjeCIsIDAsICIweDAiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlI3giLCAwLCAiMHgwIikKLSAgICAgICAgdGVzdGZvcm1hdCgiJSNYIiwgMCwgIjBYMCIpCi0gICAgICAgIHRlc3Rmb3JtYXQoIiUjWCIsIDAsICIwWDAiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIleCIsIDB4NDIsICI0MiIpCi0gICAgICAgIHRlc3Rmb3JtYXQoIiV4IiwgLTB4NDIsICItNDIiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIleCIsIDB4NDIsICI0MiIpCi0gICAgICAgIHRlc3Rmb3JtYXQoIiV4IiwgLTB4NDIsICItNDIiKQotICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0V2FybnMoRGVwcmVjYXRpb25XYXJuaW5nKToKLSAgICAgICAgICAgIHRlc3Rmb3JtYXQoIiV4IiwgZmxvYXQoMHg0MiksICI0MiIpCi0gICAgICAgIHRlc3Rmb3JtYXQoIiVvIiwgMG80MiwgIjQyIikKLSAgICAgICAgdGVzdGZvcm1hdCgiJW8iLCAtMG80MiwgIi00MiIpCi0gICAgICAgIHRlc3Rmb3JtYXQoIiVvIiwgMG80MiwgIjQyIikKLSAgICAgICAgdGVzdGZvcm1hdCgiJW8iLCAtMG80MiwgIi00MiIpCi0gICAgICAgIHdpdGggc2VsZi5hc3NlcnRXYXJucyhEZXByZWNhdGlvbldhcm5pbmcpOgotICAgICAgICAgICAgdGVzdGZvcm1hdCgiJW8iLCBmbG9hdCgwbzQyKSwgIjQyIikKKyAgICAgICAgdGVzdGNvbW1vbigiJWQiLCA0MiwgIjQyIikKKyAgICAgICAgdGVzdGNvbW1vbigiJWQiLCAtNDIsICItNDIiKQorICAgICAgICB0ZXN0Y29tbW9uKCIlZCIsIDQyLCAiNDIiKQorICAgICAgICB0ZXN0Y29tbW9uKCIlZCIsIC00MiwgIi00MiIpCisgICAgICAgIHRlc3Rjb21tb24oIiVkIiwgNDIuMCwgIjQyIikKKyAgICAgICAgdGVzdGNvbW1vbigiJSN4IiwgMSwgIjB4MSIpCisgICAgICAgIHRlc3Rjb21tb24oIiUjeCIsIDEsICIweDEiKQorICAgICAgICB0ZXN0Y29tbW9uKCIlI1giLCAxLCAiMFgxIikKKyAgICAgICAgdGVzdGNvbW1vbigiJSNYIiwgMSwgIjBYMSIpCisgICAgICAgIHRlc3Rjb21tb24oIiUjbyIsIDEsICIwbzEiKQorICAgICAgICB0ZXN0Y29tbW9uKCIlI28iLCAxLCAiMG8xIikKKyAgICAgICAgdGVzdGNvbW1vbigiJSNvIiwgMCwgIjBvMCIpCisgICAgICAgIHRlc3Rjb21tb24oIiUjbyIsIDAsICIwbzAiKQorICAgICAgICB0ZXN0Y29tbW9uKCIlbyIsIDAsICIwIikKKyAgICAgICAgdGVzdGNvbW1vbigiJW8iLCAwLCAiMCIpCisgICAgICAgIHRlc3Rjb21tb24oIiVkIiwgMCwgIjAiKQorICAgICAgICB0ZXN0Y29tbW9uKCIlZCIsIDAsICIwIikKKyAgICAgICAgdGVzdGNvbW1vbigiJSN4IiwgMCwgIjB4MCIpCisgICAgICAgIHRlc3Rjb21tb24oIiUjeCIsIDAsICIweDAiKQorICAgICAgICB0ZXN0Y29tbW9uKCIlI1giLCAwLCAiMFgwIikKKyAgICAgICAgdGVzdGNvbW1vbigiJSNYIiwgMCwgIjBYMCIpCisgICAgICAgIHRlc3Rjb21tb24oIiV4IiwgMHg0MiwgIjQyIikKKyAgICAgICAgdGVzdGNvbW1vbigiJXgiLCAtMHg0MiwgIi00MiIpCisgICAgICAgIHRlc3Rjb21tb24oIiV4IiwgMHg0MiwgIjQyIikKKyAgICAgICAgdGVzdGNvbW1vbigiJXgiLCAtMHg0MiwgIi00MiIpCisgICAgICAgIHRlc3Rjb21tb24oIiVvIiwgMG80MiwgIjQyIikKKyAgICAgICAgdGVzdGNvbW1vbigiJW8iLCAtMG80MiwgIi00MiIpCisgICAgICAgIHRlc3Rjb21tb24oIiVvIiwgMG80MiwgIjQyIikKKyAgICAgICAgdGVzdGNvbW1vbigiJW8iLCAtMG80MiwgIi00MiIpCisgICAgICAgICMgYWx0ZXJuYXRlIGZsb2F0IGZvcm1hdHRpbmcKKyAgICAgICAgdGVzdGNvbW1vbignJWcnLCAxLjEsICcxLjEnKQorICAgICAgICB0ZXN0Y29tbW9uKCclI2cnLCAxLjEsICcxLjEwMDAwJykKKworICAgIGRlZiB0ZXN0X3N0cl9mb3JtYXQoc2VsZik6CiAgICAgICAgIHRlc3Rmb3JtYXQoIiVyIiwgIlx1MDM3OCIsICInXFx1MDM3OCciKSAgIyBub24gcHJpbnRhYmxlCiAgICAgICAgIHRlc3Rmb3JtYXQoIiVhIiwgIlx1MDM3OCIsICInXFx1MDM3OCciKSAgIyBub24gcHJpbnRhYmxlCiAgICAgICAgIHRlc3Rmb3JtYXQoIiVyIiwgIlx1MDM3NCIsICInXHUwMzc0JyIpICAgIyBwcmludGFibGUKICAgICAgICAgdGVzdGZvcm1hdCgiJWEiLCAiXHUwMzc0IiwgIidcXHUwMzc0JyIpICAjIHByaW50YWJsZQogCi0gICAgICAgICMgYWx0ZXJuYXRlIGZsb2F0IGZvcm1hdHRpbmcKLSAgICAgICAgdGVzdGZvcm1hdCgnJWcnLCAxLjEsICcxLjEnKQotICAgICAgICB0ZXN0Zm9ybWF0KCclI2cnLCAxLjEsICcxLjEwMDAwJykKLQotICAgICAgICAjIFRlc3QgZXhjZXB0aW9uIGZvciB1bmtub3duIGZvcm1hdCBjaGFyYWN0ZXJzCisgICAgICAgICMgVGVzdCBleGNlcHRpb24gZm9yIHVua25vd24gZm9ybWF0IGNoYXJhY3RlcnMsIGV0Yy4KICAgICAgICAgaWYgdmVyYm9zZToKICAgICAgICAgICAgIHByaW50KCdUZXN0aW5nIGV4Y2VwdGlvbnMnKQogICAgICAgICBkZWYgdGVzdF9leGMoZm9ybWF0c3RyLCBhcmdzLCBleGNlcHRpb24sIGV4Y21zZyk6CkBAIC0yNTcsOCArMjc1LDgzIEBACiAgICAgICAgIHRlc3RfZXhjKCclZycsICcxJywgVHlwZUVycm9yLCAiYSBmbG9hdCBpcyByZXF1aXJlZCIpCiAgICAgICAgIHRlc3RfZXhjKCdubyBmb3JtYXQnLCAnMScsIFR5cGVFcnJvciwKICAgICAgICAgICAgICAgICAgIm5vdCBhbGwgYXJndW1lbnRzIGNvbnZlcnRlZCBkdXJpbmcgc3RyaW5nIGZvcm1hdHRpbmciKQotICAgICAgICB0ZXN0X2V4Yygnbm8gZm9ybWF0JywgJzEnLCBUeXBlRXJyb3IsCi0gICAgICAgICAgICAgICAgICJub3QgYWxsIGFyZ3VtZW50cyBjb252ZXJ0ZWQgZHVyaW5nIHN0cmluZyBmb3JtYXR0aW5nIikKKworICAgICAgICBpZiBtYXhzaXplID09IDIqKjMxLTE6CisgICAgICAgICAgICAjIGNyYXNoZXMgMi4yLjEgYW5kIGVhcmxpZXI6CisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgIiUqZCIlKG1heHNpemUsIC0xMjcpCisgICAgICAgICAgICBleGNlcHQgTWVtb3J5RXJyb3I6CisgICAgICAgICAgICAgICAgcGFzcworICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICByYWlzZSBUZXN0RmFpbGVkKCciJSpkIiUobWF4c2l6ZSwgLTEyNykgc2hvdWxkIGZhaWwnKQorCisgICAgZGVmIHRlc3RfYnl0ZXNfYW5kX2J5dGVhcnJheV9mb3JtYXQoc2VsZik6CisgICAgICAgICMgJWMgd2lsbCBpbnNlcnQgYSBzaW5nbGUgYnl0ZSwgZWl0aGVyIGZyb20gYW4gaW50IGluIHJhbmdlKDI1NiksIG9yCisgICAgICAgICMgZnJvbSBhIGJ5dGVzIGFyZ3VtZW50IG9mIGxlbmd0aCAxLCBub3QgZnJvbSBhIHN0ci4KKyAgICAgICAgdGVzdGNvbW1vbihiIiVjIiwgNywgYiJceDA3IikKKyAgICAgICAgdGVzdGNvbW1vbihiIiVjIiwgYiJaIiwgYiJaIikKKyAgICAgICAgdGVzdGNvbW1vbihiIiVjIiwgYnl0ZWFycmF5KGIiWiIpLCBiIloiKQorICAgICAgICAjICViIHdpbGwgaW5zZXJ0IGEgc2VyaWVzIG9mIGJ5dGVzLCBlaXRoZXIgZnJvbSBhIHR5cGUgdGhhdCBzdXBwb3J0cworICAgICAgICAjIHRoZSBQeV9idWZmZXIgcHJvdG9jb2wsIG9yIHNvbWV0aGluZyB0aGF0IGhhcyBhIF9fYnl0ZXNfXyBtZXRob2QKKyAgICAgICAgY2xhc3MgRmFrZUJ5dGVzKG9iamVjdCk6CisgICAgICAgICAgICBkZWYgX19ieXRlc19fKHNlbGYpOgorICAgICAgICAgICAgICAgIHJldHVybiBiJzEyMycKKyAgICAgICAgZmIgPSBGYWtlQnl0ZXMoKQorICAgICAgICB0ZXN0Y29tbW9uKGIiJWIiLCBiImFiYyIsIGIiYWJjIikKKyAgICAgICAgdGVzdGNvbW1vbihiIiViIiwgYnl0ZWFycmF5KGIiZGVmIiksIGIiZGVmIikKKyAgICAgICAgdGVzdGNvbW1vbihiIiViIiwgZmIsIGIiMTIzIikKKyAgICAgICAgIyAjICVzIGlzIGFuIGFsaWFzIGZvciAlYiAtLSBzaG91bGQgb25seSBiZSB1c2VkIGZvciBQeTIvMyBjb2RlCisgICAgICAgIHRlc3Rjb21tb24oYiIlcyIsIGIiYWJjIiwgYiJhYmMiKQorICAgICAgICB0ZXN0Y29tbW9uKGIiJXMiLCBieXRlYXJyYXkoYiJkZWYiKSwgYiJkZWYiKQorICAgICAgICB0ZXN0Y29tbW9uKGIiJXMiLCBmYiwgYiIxMjMiKQorICAgICAgICAjICVhIHdpbGwgZ2l2ZSB0aGUgZXF1aXZhbGVudCBvZgorICAgICAgICAjIHJlcHIoc29tZV9vYmopLmVuY29kZSgnYXNjaWknLCAnYmFja3NsYXNocmVwbGFjZScpCisgICAgICAgIHRlc3Rjb21tb24oYiIlYSIsIDMuMTQsIGIiMy4xNCIpCisgICAgICAgIHRlc3Rjb21tb24oYiIlYSIsIGIiZ2hpIiwgYiJiJ2doaSciKQorICAgICAgICB0ZXN0Y29tbW9uKGIiJWEiLCAiamtsIiwgYiInamtsJyIpCisgICAgICAgIHRlc3Rjb21tb24oYiIlYSIsICJcdTA1NDQiLCBiIidcXHUwNTQ0JyIpCisKKyAgICAgICAgIyBUZXN0IGV4Y2VwdGlvbiBmb3IgdW5rbm93biBmb3JtYXQgY2hhcmFjdGVycywgZXRjLgorICAgICAgICBpZiB2ZXJib3NlOgorICAgICAgICAgICAgcHJpbnQoJ1Rlc3RpbmcgZXhjZXB0aW9ucycpCisgICAgICAgIGRlZiB0ZXN0X2V4Yyhmb3JtYXRzdHIsIGFyZ3MsIGV4Y2VwdGlvbiwgZXhjbXNnKToKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICB0ZXN0Zm9ybWF0KGZvcm1hdHN0ciwgYXJncykKKyAgICAgICAgICAgIGV4Y2VwdCBleGNlcHRpb24gYXMgZXhjOgorICAgICAgICAgICAgICAgIGlmIHN0cihleGMpID09IGV4Y21zZzoKKyAgICAgICAgICAgICAgICAgICAgaWYgdmVyYm9zZToKKyAgICAgICAgICAgICAgICAgICAgICAgIHByaW50KCJ5ZXMiKQorICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgIGlmIHZlcmJvc2U6IHByaW50KCdubycpCisgICAgICAgICAgICAgICAgICAgIHByaW50KCdVbmV4cGVjdGVkICcsIGV4Y2VwdGlvbiwgJzonLCByZXByKHN0cihleGMpKSkKKyAgICAgICAgICAgIGV4Y2VwdDoKKyAgICAgICAgICAgICAgICBpZiB2ZXJib3NlOiBwcmludCgnbm8nKQorICAgICAgICAgICAgICAgIHByaW50KCdVbmV4cGVjdGVkIGV4Y2VwdGlvbicpCisgICAgICAgICAgICAgICAgcmFpc2UKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgcmFpc2UgVGVzdEZhaWxlZCgnZGlkIG5vdCBnZXQgZXhwZWN0ZWQgZXhjZXB0aW9uOiAlcycgJSBleGNtc2cpCisgICAgICAgIHRlc3RfZXhjKGInJWQnLCAnMScsIFR5cGVFcnJvciwKKyAgICAgICAgICAgICAgICAiJWQgZm9ybWF0OiBhIG51bWJlciBpcyByZXF1aXJlZCwgbm90IHN0ciIpCisgICAgICAgIHRlc3RfZXhjKGInJWQnLCBiJzEnLCBUeXBlRXJyb3IsCisgICAgICAgICAgICAgICAgIiVkIGZvcm1hdDogYSBudW1iZXIgaXMgcmVxdWlyZWQsIG5vdCBieXRlcyIpCisgICAgICAgIHRlc3RfZXhjKGInJWcnLCAnMScsIFR5cGVFcnJvciwgImZsb2F0IGFyZ3VtZW50IHJlcXVpcmVkLCBub3Qgc3RyIikKKyAgICAgICAgdGVzdF9leGMoYiclZycsIGInMScsIFR5cGVFcnJvciwgImZsb2F0IGFyZ3VtZW50IHJlcXVpcmVkLCBub3QgYnl0ZXMiKQorICAgICAgICB0ZXN0X2V4YyhiJ25vIGZvcm1hdCcsIDcsIFR5cGVFcnJvciwKKyAgICAgICAgICAgICAgICAgIm5vdCBhbGwgYXJndW1lbnRzIGNvbnZlcnRlZCBkdXJpbmcgYnl0ZXMgZm9ybWF0dGluZyIpCisgICAgICAgIHRlc3RfZXhjKGInbm8gZm9ybWF0JywgYicxJywgVHlwZUVycm9yLAorICAgICAgICAgICAgICAgICAibm90IGFsbCBhcmd1bWVudHMgY29udmVydGVkIGR1cmluZyBieXRlcyBmb3JtYXR0aW5nIikKKyAgICAgICAgdGVzdF9leGMoYidubyBmb3JtYXQnLCBieXRlYXJyYXkoYicxJyksIFR5cGVFcnJvciwKKyAgICAgICAgICAgICAgICAgIm5vdCBhbGwgYXJndW1lbnRzIGNvbnZlcnRlZCBkdXJpbmcgYnl0ZXMgZm9ybWF0dGluZyIpCisgICAgICAgIHRlc3RfZXhjKGIiJWMiLCAyNTYsIFR5cGVFcnJvciwKKyAgICAgICAgICAgICAgICAiJWMgcmVxdWlyZXMgYW4gaW50ZWdlciBpbiByYW5nZSgyNTYpIG9yIGEgc2luZ2xlIGJ5dGUiKQorICAgICAgICB0ZXN0X2V4YyhiIiVjIiwgYiJaYSIsIFR5cGVFcnJvciwKKyAgICAgICAgICAgICAgICAiJWMgcmVxdWlyZXMgYW4gaW50ZWdlciBpbiByYW5nZSgyNTYpIG9yIGEgc2luZ2xlIGJ5dGUiKQorICAgICAgICB0ZXN0X2V4YyhiIiVjIiwgIlliIiwgVHlwZUVycm9yLAorICAgICAgICAgICAgICAgICIlYyByZXF1aXJlcyBhbiBpbnRlZ2VyIGluIHJhbmdlKDI1Nikgb3IgYSBzaW5nbGUgYnl0ZSIpCisgICAgICAgIHRlc3RfZXhjKGIiJWIiLCAiWGMiLCBUeXBlRXJyb3IsCisgICAgICAgICAgICAgICAgIiViIHJlcXVpcmVzIGJ5dGVzLCBvciBhbiBvYmplY3QgdGhhdCBpbXBsZW1lbnRzIF9fYnl0ZXNfXywgbm90ICdzdHInIikKKyAgICAgICAgdGVzdF9leGMoYiIlcyIsICJXZCIsIFR5cGVFcnJvciwKKyAgICAgICAgICAgICAgICAiJWIgcmVxdWlyZXMgYnl0ZXMsIG9yIGFuIG9iamVjdCB0aGF0IGltcGxlbWVudHMgX19ieXRlc19fLCBub3QgJ3N0ciciKQogCiAgICAgICAgIGlmIG1heHNpemUgPT0gMioqMzEtMToKICAgICAgICAgICAgICMgY3Jhc2hlcyAyLjIuMSBhbmQgZWFybGllcjoKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfZnJhY3Rpb25zLnB5IGIvTGliL3Rlc3QvdGVzdF9mcmFjdGlvbnMucHkKaW5kZXggMzMzNjUzMi4uZTg2ZDVjZSAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9mcmFjdGlvbnMucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9mcmFjdGlvbnMucHkKQEAgLTMzMCw3ICszMzAsNiBAQAogICAgICAgICBzZWxmLmFzc2VydFR5cGVkRXF1YWxzKEYoLTIsIDEwKSwgcm91bmQoRigtMTUsIDEwMCksIDEpKQogICAgICAgICBzZWxmLmFzc2VydFR5cGVkRXF1YWxzKEYoLTIsIDEwKSwgcm91bmQoRigtMjUsIDEwMCksIDEpKQogCi0KICAgICBkZWYgdGVzdEFyaXRobWV0aWMoc2VsZik6CiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoRigxLCAyKSwgRigxLCAxMCkgKyBGKDIsIDUpKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKEYoLTMsIDEwKSwgRigxLCAxMCkgLSBGKDIsIDUpKQpAQCAtNDAyLDYgKzQwMSw4IEBACiAgICAgICAgIHNlbGYuYXNzZXJ0VHlwZWRFcXVhbHMoMi4wICwgNCAqKiBGKDEsIDIpKQogICAgICAgICBzZWxmLmFzc2VydFR5cGVkRXF1YWxzKDAuMjUsIDIuMCAqKiBGKC0yLCAxKSkKICAgICAgICAgc2VsZi5hc3NlcnRUeXBlZEVxdWFscygxLjAgKyAwaiwgKDEuMCArIDBqKSAqKiBGKDEsIDEwKSkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoWmVyb0RpdmlzaW9uRXJyb3IsIG9wZXJhdG9yLnBvdywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgRigwLCAxKSwgLTIpCiAKICAgICBkZWYgdGVzdE1peGluZ1dpdGhEZWNpbWFsKHNlbGYpOgogICAgICAgICAjIERlY2ltYWwgcmVmdXNlcyBtaXhlZCBhcml0aG1ldGljIChidXQgbm90IG1peGVkIGNvbXBhcmlzb25zKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9mdHBsaWIucHkgYi9MaWIvdGVzdC90ZXN0X2Z0cGxpYi5weQppbmRleCBkM2JlN2Q2Li5hZWY2NmRhIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2Z0cGxpYi5weQorKysgYi9MaWIvdGVzdC90ZXN0X2Z0cGxpYi5weQpAQCAtNzMsNyArNzMsNyBAQAogICAgICAgICBzdXBlcihEdW1teURUUEhhbmRsZXIsIHNlbGYpLnB1c2god2hhdC5lbmNvZGUoJ2FzY2lpJykpCiAKICAgICBkZWYgaGFuZGxlX2Vycm9yKHNlbGYpOgotICAgICAgICByYWlzZQorICAgICAgICByYWlzZSBFeGNlcHRpb24KIAogCiBjbGFzcyBEdW1teUZUUEhhbmRsZXIoYXN5bmNoYXQuYXN5bmNfY2hhdCk6CkBAIC0xMTgsNyArMTE4LDcgQEAKICAgICAgICAgICAgIHNlbGYucHVzaCgnNTUwIGNvbW1hbmQgIiVzIiBub3QgdW5kZXJzdG9vZC4nICVjbWQpCiAKICAgICBkZWYgaGFuZGxlX2Vycm9yKHNlbGYpOgotICAgICAgICByYWlzZQorICAgICAgICByYWlzZSBFeGNlcHRpb24KIAogICAgIGRlZiBwdXNoKHNlbGYsIGRhdGEpOgogICAgICAgICBhc3luY2hhdC5hc3luY19jaGF0LnB1c2goc2VsZiwgZGF0YS5lbmNvZGUoJ2FzY2lpJykgKyBiJ1xyXG4nKQpAQCAtMTM0LDcgKzEzNCw3IEBACiAgICAgZGVmIGNtZF9wYXN2KHNlbGYsIGFyZyk6CiAgICAgICAgIHdpdGggc29ja2V0LnNvY2tldCgpIGFzIHNvY2s6CiAgICAgICAgICAgICBzb2NrLmJpbmQoKHNlbGYuc29ja2V0LmdldHNvY2tuYW1lKClbMF0sIDApKQotICAgICAgICAgICAgc29jay5saXN0ZW4oNSkKKyAgICAgICAgICAgIHNvY2subGlzdGVuKCkKICAgICAgICAgICAgIHNvY2suc2V0dGltZW91dChUSU1FT1VUKQogICAgICAgICAgICAgaXAsIHBvcnQgPSBzb2NrLmdldHNvY2tuYW1lKClbOjJdCiAgICAgICAgICAgICBpcCA9IGlwLnJlcGxhY2UoJy4nLCAnLCcpOyBwMSA9IHBvcnQgLyAyNTY7IHAyID0gcG9ydCAlIDI1NgpAQCAtMTUyLDcgKzE1Miw3IEBACiAgICAgZGVmIGNtZF9lcHN2KHNlbGYsIGFyZyk6CiAgICAgICAgIHdpdGggc29ja2V0LnNvY2tldChzb2NrZXQuQUZfSU5FVDYpIGFzIHNvY2s6CiAgICAgICAgICAgICBzb2NrLmJpbmQoKHNlbGYuc29ja2V0LmdldHNvY2tuYW1lKClbMF0sIDApKQotICAgICAgICAgICAgc29jay5saXN0ZW4oNSkKKyAgICAgICAgICAgIHNvY2subGlzdGVuKCkKICAgICAgICAgICAgIHNvY2suc2V0dGltZW91dChUSU1FT1VUKQogICAgICAgICAgICAgcG9ydCA9IHNvY2suZ2V0c29ja25hbWUoKVsxXQogICAgICAgICAgICAgc2VsZi5wdXNoKCcyMjkgZW50ZXJpbmcgZXh0ZW5kZWQgcGFzc2l2ZSBtb2RlICh8fHwlZHwpJyAlcG9ydCkKQEAgLTI5Niw3ICsyOTYsNyBAQAogICAgICAgICByZXR1cm4gMAogCiAgICAgZGVmIGhhbmRsZV9lcnJvcihzZWxmKToKLSAgICAgICAgcmFpc2UKKyAgICAgICAgcmFpc2UgRXhjZXB0aW9uCiAKIAogaWYgc3NsIGlzIG5vdCBOb25lOgpAQCAtMzk0LDcgKzM5NCw3IEBACiAgICAgICAgICAgICAgICAgcmFpc2UKIAogICAgICAgICBkZWYgaGFuZGxlX2Vycm9yKHNlbGYpOgotICAgICAgICAgICAgcmFpc2UKKyAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlvbgogCiAgICAgICAgIGRlZiBjbG9zZShzZWxmKToKICAgICAgICAgICAgIGlmIChpc2luc3RhbmNlKHNlbGYuc29ja2V0LCBzc2wuU1NMU29ja2V0KSBhbmQKQEAgLTY3MCw3ICs2NzAsNyBAQAogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhTdG9wSXRlcmF0aW9uLCBuZXh0LCBzZWxmLmNsaWVudC5tbHNkKCkpCiAgICAgICAgIHNldF9kYXRhKCcnKQogICAgICAgICBmb3IgeCBpbiBzZWxmLmNsaWVudC5tbHNkKCk6Ci0gICAgICAgICAgICBzZWxmLmZhaWwoInVuZXhwZWN0ZWQgZGF0YSAlcyIgJSBkYXRhKQorICAgICAgICAgICAgc2VsZi5mYWlsKCJ1bmV4cGVjdGVkIGRhdGEgJXMiICUgeCkKIAogICAgIGRlZiB0ZXN0X21ha2Vwb3J0KHNlbGYpOgogICAgICAgICB3aXRoIHNlbGYuY2xpZW50Lm1ha2Vwb3J0KCk6CkBAIC05NzksNyArOTc5LDcgQEAKICAgICAgICAgIyAgMSkgd2hlbiB0aGUgY29ubmVjdGlvbiBpcyByZWFkeSB0byBiZSBhY2NlcHRlZC4KICAgICAgICAgIyAgMikgd2hlbiBpdCBpcyBzYWZlIGZvciB0aGUgY2FsbGVyIHRvIGNsb3NlIHRoZSBjb25uZWN0aW9uCiAgICAgICAgICMgIDMpIHdoZW4gd2UgaGF2ZSBjbG9zZWQgdGhlIHNvY2tldAotICAgICAgICBzZWxmLnNvY2subGlzdGVuKDUpCisgICAgICAgIHNlbGYuc29jay5saXN0ZW4oKQogICAgICAgICAjICgxKSBTaWduYWwgdGhlIGNhbGxlciB0aGF0IHdlIGFyZSByZWFkeSB0byBhY2NlcHQgdGhlIGNvbm5lY3Rpb24uCiAgICAgICAgIHNlbGYuZXZ0LnNldCgpCiAgICAgICAgIHRyeToKQEAgLTEwNDksMTkgKzEwNDksOCBAQAogICAgICAgICBmdHAuY2xvc2UoKQogCiAKLWNsYXNzIFRlc3ROZXRyY0RlcHJlY2F0aW9uKFRlc3RDYXNlKToKLQotICAgIGRlZiB0ZXN0X2RlcHJlY2F0aW9uKHNlbGYpOgotICAgICAgICB3aXRoIHN1cHBvcnQudGVtcF9jd2QoKSwgc3VwcG9ydC5FbnZpcm9ubWVudFZhckd1YXJkKCkgYXMgZW52OgotICAgICAgICAgICAgZW52WydIT01FJ10gPSBvcy5nZXRjd2QoKQotICAgICAgICAgICAgb3BlbignLm5ldHJjJywgJ3cnKS5jbG9zZSgpCi0gICAgICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0V2FybnMoRGVwcmVjYXRpb25XYXJuaW5nKToKLSAgICAgICAgICAgICAgICBmdHBsaWIuTmV0cmMoKQotCi0KLQogZGVmIHRlc3RfbWFpbigpOgotICAgIHRlc3RzID0gW1Rlc3RGVFBDbGFzcywgVGVzdFRpbWVvdXRzLCBUZXN0TmV0cmNEZXByZWNhdGlvbiwKKyAgICB0ZXN0cyA9IFtUZXN0RlRQQ2xhc3MsIFRlc3RUaW1lb3V0cywKICAgICAgICAgICAgICBUZXN0SVB2NkVudmlyb25tZW50LAogICAgICAgICAgICAgIFRlc3RUTFNfRlRQQ2xhc3NNaXhpbiwgVGVzdFRMU19GVFBDbGFzc10KIApkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9mdW5jdG9vbHMucHkgYi9MaWIvdGVzdC90ZXN0X2Z1bmN0b29scy5weQppbmRleCAwMzc1NjAxYy4uYzU0OWFjNCAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9mdW5jdG9vbHMucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9mdW5jdG9vbHMucHkKQEAgLTEzMSw2ICsxMzEsMTYgQEAKICAgICAgICAgam9pbiA9IHNlbGYucGFydGlhbCgnJy5qb2luKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGpvaW4oZGF0YSksICcwMTIzNDU2Nzg5JykKIAorICAgIGRlZiB0ZXN0X25lc3RlZF9vcHRpbWl6YXRpb24oc2VsZik6CisgICAgICAgIHBhcnRpYWwgPSBzZWxmLnBhcnRpYWwKKyAgICAgICAgIyBPbmx5ICJ0cnVlIiBwYXJ0aWFsIGlzIG9wdGltaXplZAorICAgICAgICBpZiBwYXJ0aWFsLl9fbmFtZV9fICE9ICdwYXJ0aWFsJzoKKyAgICAgICAgICAgIHJldHVybgorICAgICAgICBpbm5lciA9IHBhcnRpYWwoc2lnbmF0dXJlLCAnYXNkZicpCisgICAgICAgIG5lc3RlZCA9IHBhcnRpYWwoaW5uZXIsIGJhcj1UcnVlKQorICAgICAgICBmbGF0ID0gcGFydGlhbChzaWduYXR1cmUsICdhc2RmJywgYmFyPVRydWUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2lnbmF0dXJlKG5lc3RlZCksIHNpZ25hdHVyZShmbGF0KSkKKwogCiBAdW5pdHRlc3Quc2tpcFVubGVzcyhjX2Z1bmN0b29scywgJ3JlcXVpcmVzIHRoZSBDIF9mdW5jdG9vbHMgbW9kdWxlJykKIGNsYXNzIFRlc3RQYXJ0aWFsQyhUZXN0UGFydGlhbCwgdW5pdHRlc3QuVGVzdENhc2UpOgpAQCAtODgyLDYgKzg5MiwyNCBAQAogICAgICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IpOgogICAgICAgICAgICAgICAgIGEgPD0gYgogCisgICAgZGVmIHRlc3RfcGlja2xlKHNlbGYpOgorICAgICAgICBmb3IgcHJvdG8gaW4gcmFuZ2UoNCwgcGlja2xlLkhJR0hFU1RfUFJPVE9DT0wgKyAxKToKKyAgICAgICAgICAgIGZvciBuYW1lIGluICdfX2x0X18nLCAnX19ndF9fJywgJ19fbGVfXycsICdfX2dlX18nOgorICAgICAgICAgICAgICAgIHdpdGggc2VsZi5zdWJUZXN0KG1ldGhvZD1uYW1lLCBwcm90bz1wcm90byk6CisgICAgICAgICAgICAgICAgICAgIG1ldGhvZCA9IGdldGF0dHIoT3JkZXJhYmxlX0xULCBuYW1lKQorICAgICAgICAgICAgICAgICAgICBtZXRob2RfY29weSA9IHBpY2tsZS5sb2FkcyhwaWNrbGUuZHVtcHMobWV0aG9kLCBwcm90bykpCisgICAgICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXMobWV0aG9kX2NvcHksIG1ldGhvZCkKKworQGZ1bmN0b29scy50b3RhbF9vcmRlcmluZworY2xhc3MgT3JkZXJhYmxlX0xUOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCB2YWx1ZSk6CisgICAgICAgIHNlbGYudmFsdWUgPSB2YWx1ZQorICAgIGRlZiBfX2x0X18oc2VsZiwgb3RoZXIpOgorICAgICAgICByZXR1cm4gc2VsZi52YWx1ZSA8IG90aGVyLnZhbHVlCisgICAgZGVmIF9fZXFfXyhzZWxmLCBvdGhlcik6CisgICAgICAgIHJldHVybiBzZWxmLnZhbHVlID09IG90aGVyLnZhbHVlCisKKwogY2xhc3MgVGVzdExSVSh1bml0dGVzdC5UZXN0Q2FzZSk6CiAKICAgICBkZWYgdGVzdF9scnUoc2VsZik6CmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2dlbmVyYXRvcnMucHkgYi9MaWIvdGVzdC90ZXN0X2dlbmVyYXRvcnMucHkKaW5kZXggNzgyNWE3Ny4uOWU2MTAxMyAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9nZW5lcmF0b3JzLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfZ2VuZXJhdG9ycy5weQpAQCAtNTAsNiArNTAsNDUgQEAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChnYy5nYXJiYWdlLCBvbGRfZ2FyYmFnZSkKIAogCitjbGFzcyBHZW5lcmF0b3JUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKKworICAgIGRlZiB0ZXN0X25hbWUoc2VsZik6CisgICAgICAgIGRlZiBmdW5jKCk6CisgICAgICAgICAgICB5aWVsZCAxCisKKyAgICAgICAgIyBjaGVjayBnZW5lcmF0b3IgbmFtZXMKKyAgICAgICAgZ2VuID0gZnVuYygpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZ2VuLl9fbmFtZV9fLCAiZnVuYyIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZ2VuLl9fcXVhbG5hbWVfXywKKyAgICAgICAgICAgICAgICAgICAgICAgICAiR2VuZXJhdG9yVGVzdC50ZXN0X25hbWUuPGxvY2Fscz4uZnVuYyIpCisKKyAgICAgICAgIyBtb2RpZnkgZ2VuZXJhdG9yIG5hbWVzCisgICAgICAgIGdlbi5fX25hbWVfXyA9ICJuYW1lIgorICAgICAgICBnZW4uX19xdWFsbmFtZV9fID0gInF1YWxuYW1lIgorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGdlbi5fX25hbWVfXywgIm5hbWUiKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGdlbi5fX3F1YWxuYW1lX18sICJxdWFsbmFtZSIpCisKKyAgICAgICAgIyBnZW5lcmF0b3IgbmFtZXMgbXVzdCBiZSBhIHN0cmluZyBhbmQgY2Fubm90IGJlIGRlbGV0ZWQKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBzZXRhdHRyLCBnZW4sICdfX25hbWVfXycsIDEyMykKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBzZXRhdHRyLCBnZW4sICdfX3F1YWxuYW1lX18nLCAxMjMpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgZGVsYXR0ciwgZ2VuLCAnX19uYW1lX18nKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIGRlbGF0dHIsIGdlbiwgJ19fcXVhbG5hbWVfXycpCisKKyAgICAgICAgIyBtb2RpZnkgbmFtZXMgb2YgdGhlIGZ1bmN0aW9uIGNyZWF0aW5nIHRoZSBnZW5lcmF0b3IKKyAgICAgICAgZnVuYy5fX3F1YWxuYW1lX18gPSAiZnVuY19xdWFsbmFtZSIKKyAgICAgICAgZnVuYy5fX25hbWVfXyA9ICJmdW5jX25hbWUiCisgICAgICAgIGdlbiA9IGZ1bmMoKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGdlbi5fX25hbWVfXywgImZ1bmNfbmFtZSIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZ2VuLl9fcXVhbG5hbWVfXywgImZ1bmNfcXVhbG5hbWUiKQorCisgICAgICAgICMgdW5uYW1lZCBnZW5lcmF0b3IKKyAgICAgICAgZ2VuID0gKHggZm9yIHggaW4gcmFuZ2UoMTApKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGdlbi5fX25hbWVfXywKKyAgICAgICAgICAgICAgICAgICAgICAgICAiPGdlbmV4cHI+IikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChnZW4uX19xdWFsbmFtZV9fLAorICAgICAgICAgICAgICAgICAgICAgICAgICJHZW5lcmF0b3JUZXN0LnRlc3RfbmFtZS48bG9jYWxzPi48Z2VuZXhwcj4iKQorCisKIGNsYXNzIEV4Y2VwdGlvblRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgogICAgICMgVGVzdHMgZm9yIHRoZSBpc3N1ZSAjMjMzNTM6IGNoZWNrIHRoYXQgdGhlIGN1cnJlbnRseSBoYW5kbGVkIGV4Y2VwdGlvbgogICAgICMgaXMgY29ycmVjdGx5IHNhdmVkL3Jlc3RvcmVkIGluIFB5RXZhbF9FdmFsRnJhbWVFeCgpLgpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9nZW5lcmljcGF0aC5weSBiL0xpYi90ZXN0L3Rlc3RfZ2VuZXJpY3BhdGgucHkKaW5kZXggZTU5ZWQ0ZC4uZjI3MjJiYyAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9nZW5lcmljcGF0aC5weQorKysgYi9MaWIvdGVzdC90ZXN0X2dlbmVyaWNwYXRoLnB5CkBAIC00MzQsNiArNDM0LDQwIEBACiAgICAgICAgICAgICB3aXRoIHN1cHBvcnQudGVtcF9jd2QobmFtZSk6CiAgICAgICAgICAgICAgICAgc2VsZi50ZXN0X2Fic3BhdGgoKQogCisgICAgZGVmIHRlc3Rfam9pbl9lcnJvcnMoc2VsZik6CisgICAgICAgICMgQ2hlY2sgam9pbigpIHJhaXNlcyBmcmllbmRseSBUeXBlRXJyb3JzLgorICAgICAgICB3aXRoIHN1cHBvcnQuY2hlY2tfd2FybmluZ3MoKCcnLCBCeXRlc1dhcm5pbmcpLCBxdWlldD1UcnVlKToKKyAgICAgICAgICAgIGVycm1zZyA9ICJDYW4ndCBtaXggc3RyaW5ncyBhbmQgYnl0ZXMgaW4gcGF0aCBjb21wb25lbnRzIgorICAgICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlc1JlZ2V4KFR5cGVFcnJvciwgZXJybXNnKToKKyAgICAgICAgICAgICAgICBzZWxmLnBhdGhtb2R1bGUuam9pbihiJ2J5dGVzJywgJ3N0cicpCisgICAgICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoVHlwZUVycm9yLCBlcnJtc2cpOgorICAgICAgICAgICAgICAgIHNlbGYucGF0aG1vZHVsZS5qb2luKCdzdHInLCBiJ2J5dGVzJykKKyAgICAgICAgICAgICMgcmVncmVzc2lvbiwgc2VlICMxNTM3NworICAgICAgICAgICAgZXJybXNnID0gcidqb2luXChcKSBhcmd1bWVudCBtdXN0IGJlIHN0ciBvciBieXRlcywgbm90ICVyJworICAgICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlc1JlZ2V4KFR5cGVFcnJvciwgZXJybXNnICUgJ2ludCcpOgorICAgICAgICAgICAgICAgIHNlbGYucGF0aG1vZHVsZS5qb2luKDQyLCAnc3RyJykKKyAgICAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXNSZWdleChUeXBlRXJyb3IsIGVycm1zZyAlICdpbnQnKToKKyAgICAgICAgICAgICAgICBzZWxmLnBhdGhtb2R1bGUuam9pbignc3RyJywgNDIpCisgICAgICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoVHlwZUVycm9yLCBlcnJtc2cgJSAnYnl0ZWFycmF5Jyk6CisgICAgICAgICAgICAgICAgc2VsZi5wYXRobW9kdWxlLmpvaW4oYnl0ZWFycmF5KGInZm9vJyksIGJ5dGVhcnJheShiJ2JhcicpKQorCisgICAgZGVmIHRlc3RfcmVscGF0aF9lcnJvcnMoc2VsZik6CisgICAgICAgICMgQ2hlY2sgcmVscGF0aCgpIHJhaXNlcyBmcmllbmRseSBUeXBlRXJyb3JzLgorICAgICAgICB3aXRoIHN1cHBvcnQuY2hlY2tfd2FybmluZ3MoKCcnLCAoQnl0ZXNXYXJuaW5nLCBEZXByZWNhdGlvbldhcm5pbmcpKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHF1aWV0PVRydWUpOgorICAgICAgICAgICAgZXJybXNnID0gIkNhbid0IG1peCBzdHJpbmdzIGFuZCBieXRlcyBpbiBwYXRoIGNvbXBvbmVudHMiCisgICAgICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoVHlwZUVycm9yLCBlcnJtc2cpOgorICAgICAgICAgICAgICAgIHNlbGYucGF0aG1vZHVsZS5yZWxwYXRoKGInYnl0ZXMnLCAnc3RyJykKKyAgICAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXNSZWdleChUeXBlRXJyb3IsIGVycm1zZyk6CisgICAgICAgICAgICAgICAgc2VsZi5wYXRobW9kdWxlLnJlbHBhdGgoJ3N0cicsIGInYnl0ZXMnKQorICAgICAgICAgICAgZXJybXNnID0gcidyZWxwYXRoXChcKSBhcmd1bWVudCBtdXN0IGJlIHN0ciBvciBieXRlcywgbm90ICVyJworICAgICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlc1JlZ2V4KFR5cGVFcnJvciwgZXJybXNnICUgJ2ludCcpOgorICAgICAgICAgICAgICAgIHNlbGYucGF0aG1vZHVsZS5yZWxwYXRoKDQyLCAnc3RyJykKKyAgICAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXNSZWdleChUeXBlRXJyb3IsIGVycm1zZyAlICdpbnQnKToKKyAgICAgICAgICAgICAgICBzZWxmLnBhdGhtb2R1bGUucmVscGF0aCgnc3RyJywgNDIpCisgICAgICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoVHlwZUVycm9yLCBlcnJtc2cgJSAnYnl0ZWFycmF5Jyk6CisgICAgICAgICAgICAgICAgc2VsZi5wYXRobW9kdWxlLnJlbHBhdGgoYnl0ZWFycmF5KGInZm9vJyksIGJ5dGVhcnJheShiJ2JhcicpKQorCiAKIGlmIF9fbmFtZV9fPT0iX19tYWluX18iOgogICAgIHVuaXR0ZXN0Lm1haW4oKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9nZXRhcmdzMi5weSBiL0xpYi90ZXN0L3Rlc3RfZ2V0YXJnczIucHkKaW5kZXggMTg1M2EyZC4uNzE0NzJjZCAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9nZXRhcmdzMi5weQorKysgYi9MaWIvdGVzdC90ZXN0X2dldGFyZ3MyLnB5CkBAIC0zNCw4ICszNCw4IEBACiAjID4gKiogQ2hhbmdlZCBmcm9tIHByZXZpb3VzICJyYW5nZS1hbmQtYS1oYWxmIiB0byAibm9uZSI7IHRoZQogIyA+IHJhbmdlLWFuZC1hLWhhbGYgY2hlY2tpbmcgd2Fzbid0IHBhcnRpY3VsYXJseSB1c2VmdWwuCiAjCi0jIFBsdXMgYSBDIEFQSSBvciB0d28sIGUuZy4gUHlJbnRfQXNMb25nTWFzaygpIC0+Ci0jIHVuc2lnbmVkIGxvbmcgYW5kIFB5SW50X0FzTG9uZ0xvbmdNYXNrKCkgLT4gdW5zaWduZWQKKyMgUGx1cyBhIEMgQVBJIG9yIHR3bywgZS5nLiBQeUxvbmdfQXNVbnNpZ25lZExvbmdNYXNrKCkgLT4KKyMgdW5zaWduZWQgbG9uZyBhbmQgUHlMb25nX0FzVW5zaWduZWRMb25nTG9uZ01hc2soKSAtPiB1bnNpZ25lZAogIyBsb25nIGxvbmcgKGlmIHRoYXQgZXhpc3RzKS4KIAogTEFSR0UgPSAweDdGRkZGRkZGCkBAIC00ODIsNyArNDgyLDcgQEAKICAgICBkZWYgdGVzdF9zKHNlbGYpOgogICAgICAgICBmcm9tIF90ZXN0Y2FwaSBpbXBvcnQgZ2V0YXJnc19zCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZ2V0YXJnc19zKCdhYmNceGU5JyksIGInYWJjXHhjM1x4YTknKQotICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIGdldGFyZ3NfcywgJ251bDpcMCcpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIGdldGFyZ3NfcywgJ251bDpcMCcpCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgZ2V0YXJnc19zLCBiJ2J5dGVzJykKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBnZXRhcmdzX3MsIGJ5dGVhcnJheShiJ2J5dGVhcnJheScpKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIGdldGFyZ3NfcywgbWVtb3J5dmlldyhiJ21lbW9yeXZpZXcnKSkKQEAgLTUwOSw3ICs1MDksNyBAQAogICAgIGRlZiB0ZXN0X3ooc2VsZik6CiAgICAgICAgIGZyb20gX3Rlc3RjYXBpIGltcG9ydCBnZXRhcmdzX3oKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChnZXRhcmdzX3ooJ2FiY1x4ZTknKSwgYidhYmNceGMzXHhhOScpCi0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgZ2V0YXJnc196LCAnbnVsOlwwJykKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgZ2V0YXJnc196LCAnbnVsOlwwJykKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBnZXRhcmdzX3osIGInYnl0ZXMnKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIGdldGFyZ3NfeiwgYnl0ZWFycmF5KGInYnl0ZWFycmF5JykpCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgZ2V0YXJnc196LCBtZW1vcnl2aWV3KGInbWVtb3J5dmlldycpKQpAQCAtNTM3LDcgKzUzNyw3IEBACiAgICAgICAgIGZyb20gX3Rlc3RjYXBpIGltcG9ydCBnZXRhcmdzX3kKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBnZXRhcmdzX3ksICdhYmNceGU5JykKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChnZXRhcmdzX3koYidieXRlcycpLCBiJ2J5dGVzJykKLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBnZXRhcmdzX3ksIGInbnVsOlwwJykKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgZ2V0YXJnc195LCBiJ251bDpcMCcpCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgZ2V0YXJnc195LCBieXRlYXJyYXkoYidieXRlYXJyYXknKSkKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBnZXRhcmdzX3ksIG1lbW9yeXZpZXcoYidtZW1vcnl2aWV3JykpCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgZ2V0YXJnc195LCBOb25lKQpAQCAtNTc3LDcgKzU3Nyw3IEBACiAgICAgZGVmIHRlc3RfdShzZWxmKToKICAgICAgICAgZnJvbSBfdGVzdGNhcGkgaW1wb3J0IGdldGFyZ3NfdQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGdldGFyZ3NfdSgnYWJjXHhlOScpLCAnYWJjXHhlOScpCi0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgZ2V0YXJnc191LCAnbnVsOlwwJykKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgZ2V0YXJnc191LCAnbnVsOlwwJykKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBnZXRhcmdzX3UsIGInYnl0ZXMnKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIGdldGFyZ3NfdSwgYnl0ZWFycmF5KGInYnl0ZWFycmF5JykpCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgZ2V0YXJnc191LCBtZW1vcnl2aWV3KGInbWVtb3J5dmlldycpKQpAQCAtNTk1LDcgKzU5NSw3IEBACiAgICAgZGVmIHRlc3RfWihzZWxmKToKICAgICAgICAgZnJvbSBfdGVzdGNhcGkgaW1wb3J0IGdldGFyZ3NfWgogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGdldGFyZ3NfWignYWJjXHhlOScpLCAnYWJjXHhlOScpCi0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgZ2V0YXJnc19aLCAnbnVsOlwwJykKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgZ2V0YXJnc19aLCAnbnVsOlwwJykKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBnZXRhcmdzX1osIGInYnl0ZXMnKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIGdldGFyZ3NfWiwgYnl0ZWFycmF5KGInYnl0ZWFycmF5JykpCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgZ2V0YXJnc19aLCBtZW1vcnl2aWV3KGInbWVtb3J5dmlldycpKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9nZXR0ZXh0LnB5IGIvTGliL3Rlc3QvdGVzdF9nZXR0ZXh0LnB5CmluZGV4IGFiYjMxMmYuLmM3Y2ViM2YgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfZ2V0dGV4dC5weQorKysgYi9MaWIvdGVzdC90ZXN0X2dldHRleHQucHkKQEAgLTMzLDYgKzMzLDU1IEBACiBjaUJVUVVnS2RISm5aM0pyWnlCNmNtWm1iblJ5SUhCdVoyNTVZblFnZVhadlpXNWxiQzRBWW1GamIyNEFkMmx1YXlCM2FXNXJBQT09CiAnJycKIAorIyBUaGlzIGRhdGEgY29udGFpbnMgYW4gaW52YWxpZCBtYWpvciB2ZXJzaW9uIG51bWJlciAoNSkKKyMgQW4gdW5leHBlY3RlZCBtYWpvciB2ZXJzaW9uIG51bWJlciBzaG91bGQgYmUgdHJlYXRlZCBhcyBhbiBlcnJvciB3aGVuCisjIHBhcnNpbmcgYSAubW8gZmlsZQorCitHTlVfTU9fREFUQV9CQURfTUFKT1JfVkVSU0lPTiA9IGInJydcCiszaElFbFFBQUJRQUdBQUFBSEFBQUFFd0FBQUFMQUFBQWZBQUFBQUFBQUFDb0FBQUFGUUFBQUtrQUFBQWpBQUFBdndBQUFLRUFBQURqCitBQUFBQndBQUFJVUJBQUFMQUFBQWpRRUFBRVVCQUFDWkFRQUFGZ0FBQU44Q0FBQWVBQUFBOWdJQUFLRUFBQUFWQXdBQUJRQUFBTGNECitBQUFKQUFBQXZRTUFBQUVBQUFBREFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFFQUFBQUJRQUFBQVlBQUFBQ0FBQUFBRkpoCitlVzF2Ym1RZ1RIVjRkWEo1SUZsaFkyZ3RkQUJVYUdWeVpTQnBjeUFsY3lCbWFXeGxBRlJvWlhKbElHRnlaU0FsY3lCbWFXeGxjd0JVCithR2x6SUcxdlpIVnNaU0J3Y205MmFXUmxjeUJwYm5SbGNtNWhkR2x2Ym1Gc2FYcGhkR2x2YmlCaGJtUWdiRzlqWVd4cGVtRjBhVzl1CitDbk4xY0hCdmNuUWdabTl5SUhsdmRYSWdVSGwwYUc5dUlIQnliMmR5WVcxeklHSjVJSEJ5YjNacFpHbHVaeUJoYmlCcGJuUmxjbVpoCitZMlVnZEc4Z2RHaGxJRWRPVlFwblpYUjBaWGgwSUcxbGMzTmhaMlVnWTJGMFlXeHZaeUJzYVdKeVlYSjVMZ0J0ZFd4c2RYTnJBRzUxCitaR2RsSUc1MVpHZGxBRkJ5YjJwbFkzUXRTV1F0Vm1WeWMybHZiam9nTWk0d0NsQlBMVkpsZG1semFXOXVMVVJoZEdVNklESXdNREF0CitNRGd0TWprZ01USTZNVGt0TURRNk1EQUtUR0Z6ZEMxVWNtRnVjMnhoZEc5eU9pQktMaUJFWVhacFpDQkpZc09odzdGbGVpQThhaTFrCitZWFpwWkVCdWIyOXpMbVp5UGdwTVlXNW5kV0ZuWlMxVVpXRnRPaUJZV0NBOGNIbDBhRzl1TFdSbGRrQndlWFJvYjI0dWIzSm5QZ3BOCitTVTFGTFZabGNuTnBiMjQ2SURFdU1BcERiMjUwWlc1MExWUjVjR1U2SUhSbGVIUXZjR3hoYVc0N0lHTm9ZWEp6WlhROWFYTnZMVGc0CitOVGt0TVFwRGIyNTBaVzUwTFZSeVlXNXpabVZ5TFVWdVkyOWthVzVuT2lCdWIyNWxDa2RsYm1WeVlYUmxaQzFDZVRvZ2NIbG5aWFIwCitaWGgwTG5CNUlERXVNUXBRYkhWeVlXd3RSbTl5YlhNNklHNXdiSFZ5WVd4elBUSTdJSEJzZFhKaGJEMXVJVDB4T3dvQVZHaHliMkYwCitkMjlpWW14bGNpQk5ZVzVuY205MlpRQklZWGtnSlhNZ1ptbGphR1Z5YndCSVlYa2dKWE1nWm1samFHVnliM01BUjNWMlppQjZZbkZvCitlWElnWTJWaWFYWnhjbVlnZG1GbmNtVmhibWQyWW1GdWVYWnRibWQyWW1FZ2JtRnhJSGxpY0c1NWRtMXVaM1ppWVFwbWFHTmpZbVZuCitJSE5pWlNCc1ltaGxJRU5zWjNWaVlTQmpaV0owWlc1NlppQnZiQ0JqWldKcGRuRjJZWFFnYm1FZ2RtRm5jbVZ6Ym5CeUlHZGlJR2QxCitjaUJVUVVnS2RISm5aM0pyWnlCNmNtWm1iblJ5SUhCdVoyNTVZblFnZVhadlpXNWxiQzRBWW1GamIyNEFkMmx1YXlCM2FXNXJBQT09CisnJycKKworIyBUaGlzIGRhdGEgY29udGFpbnMgYW4gaW52YWxpZCBtaW5vciB2ZXJzaW9uIG51bWJlciAoNykKKyMgQW4gdW5leHBlY3RlZCBtaW5vciB2ZXJzaW9uIG51bWJlciBvbmx5IGluZGljYXRlcyB0aGF0IHNvbWUgb2YgdGhlIGZpbGUncworIyBjb250ZW50cyBtYXkgbm90IGJlIGFibGUgdG8gYmUgcmVhZC4gSXQgZG9lcyBub3QgaW5kaWNhdGUgYW4gZXJyb3IuCisKK0dOVV9NT19EQVRBX0JBRF9NSU5PUl9WRVJTSU9OID0gYicnJ1wKKzNoSUVsUWNBQUFBR0FBQUFIQUFBQUV3QUFBQUxBQUFBZkFBQUFBQUFBQUNvQUFBQUZRQUFBS2tBQUFBakFBQUF2d0FBQUtFQUFBRGoKK0FBQUFCd0FBQUlVQkFBQUxBQUFBalFFQUFFVUJBQUNaQVFBQUZnQUFBTjhDQUFBZUFBQUE5Z0lBQUtFQUFBQVZBd0FBQlFBQUFMY0QKK0FBQUpBQUFBdlFNQUFBRUFBQUFEQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUVBQUFBQlFBQUFBWUFBQUFDQUFBQUFGSmgKK2VXMXZibVFnVEhWNGRYSjVJRmxoWTJndGRBQlVhR1Z5WlNCcGN5QWxjeUJtYVd4bEFGUm9aWEpsSUdGeVpTQWxjeUJtYVd4bGN3QlUKK2FHbHpJRzF2WkhWc1pTQndjbTkyYVdSbGN5QnBiblJsY201aGRHbHZibUZzYVhwaGRHbHZiaUJoYm1RZ2JHOWpZV3hwZW1GMGFXOXUKK0NuTjFjSEJ2Y25RZ1ptOXlJSGx2ZFhJZ1VIbDBhRzl1SUhCeWIyZHlZVzF6SUdKNUlIQnliM1pwWkdsdVp5QmhiaUJwYm5SbGNtWmgKK1kyVWdkRzhnZEdobElFZE9WUXBuWlhSMFpYaDBJRzFsYzNOaFoyVWdZMkYwWVd4dlp5QnNhV0p5WVhKNUxnQnRkV3hzZFhOckFHNTEKK1pHZGxJRzUxWkdkbEFGQnliMnBsWTNRdFNXUXRWbVZ5YzJsdmJqb2dNaTR3Q2xCUExWSmxkbWx6YVc5dUxVUmhkR1U2SURJd01EQXQKK01EZ3RNamtnTVRJNk1Ua3RNRFE2TURBS1RHRnpkQzFVY21GdWMyeGhkRzl5T2lCS0xpQkVZWFpwWkNCSllzT2h3N0ZsZWlBOGFpMWsKK1lYWnBaRUJ1YjI5ekxtWnlQZ3BNWVc1bmRXRm5aUzFVWldGdE9pQllXQ0E4Y0hsMGFHOXVMV1JsZGtCd2VYUm9iMjR1YjNKblBncE4KK1NVMUZMVlpsY25OcGIyNDZJREV1TUFwRGIyNTBaVzUwTFZSNWNHVTZJSFJsZUhRdmNHeGhhVzQ3SUdOb1lYSnpaWFE5YVhOdkxUZzQKK05Ua3RNUXBEYjI1MFpXNTBMVlJ5WVc1elptVnlMVVZ1WTI5a2FXNW5PaUJ1YjI1bENrZGxibVZ5WVhSbFpDMUNlVG9nY0hsblpYUjAKK1pYaDBMbkI1SURFdU1RcFFiSFZ5WVd3dFJtOXliWE02SUc1d2JIVnlZV3h6UFRJN0lIQnNkWEpoYkQxdUlUMHhPd29BVkdoeWIyRjAKK2QyOWlZbXhsY2lCTllXNW5jbTkyWlFCSVlYa2dKWE1nWm1samFHVnlid0JJWVhrZ0pYTWdabWxqYUdWeWIzTUFSM1YyWmlCNlluRm8KK2VYSWdZMlZpYVhaeGNtWWdkbUZuY21WaGJtZDJZbUZ1ZVhadGJtZDJZbUVnYm1GeElIbGljRzU1ZG0xdVozWmlZUXBtYUdOalltVm4KK0lITmlaU0JzWW1obElFTnNaM1ZpWVNCalpXSjBaVzU2WmlCdmJDQmpaV0pwZG5GMllYUWdibUVnZG1GbmNtVnpibkJ5SUdkaUlHZDEKK2NpQlVRVWdLZEhKblozSnJaeUI2Y21abWJuUnlJSEJ1WjI1NVluUWdlWFp2Wlc1bGJDNEFZbUZqYjI0QWQybHVheUIzYVc1ckFBPT0KKycnJworCisKIFVNT19EQVRBID0gYicnJ1wKIDNoSUVsUUFBQUFBQ0FBQUFIQUFBQUN3QUFBQUZBQUFBUEFBQUFBQUFBQUJRQUFBQUJBQUFBRkVBQUFBUEFRQUFWZ0FBQUFRQUFBQm0KIEFRQUFBUUFBQUFJQUFBQUFBQUFBQUFBQUFBQUFBQUFBWVdMRG5nQlFjbTlxWldOMExVbGtMVlpsY25OcGIyNDZJREl1TUFwUVR5MVMKQEAgLTU2LDYgKzEwNSw4IEBACiAKIExPQ0FMRURJUiA9IG9zLnBhdGguam9pbigneHgnLCAnTENfTUVTU0FHRVMnKQogTU9GSUxFID0gb3MucGF0aC5qb2luKExPQ0FMRURJUiwgJ2dldHRleHQubW8nKQorTU9GSUxFX0JBRF9NQUpPUl9WRVJTSU9OID0gb3MucGF0aC5qb2luKExPQ0FMRURJUiwgJ2dldHRleHRfYmFkX21ham9yX3ZlcnNpb24ubW8nKQorTU9GSUxFX0JBRF9NSU5PUl9WRVJTSU9OID0gb3MucGF0aC5qb2luKExPQ0FMRURJUiwgJ2dldHRleHRfYmFkX21pbm9yX3ZlcnNpb24ubW8nKQogVU1PRklMRSA9IG9zLnBhdGguam9pbihMT0NBTEVESVIsICd1Z2V0dGV4dC5tbycpCiBNTU9GSUxFID0gb3MucGF0aC5qb2luKExPQ0FMRURJUiwgJ21ldGFkYXRhLm1vJykKIApAQCAtNjYsNiArMTE3LDEwIEBACiAgICAgICAgICAgICBvcy5tYWtlZGlycyhMT0NBTEVESVIpCiAgICAgICAgIHdpdGggb3BlbihNT0ZJTEUsICd3YicpIGFzIGZwOgogICAgICAgICAgICAgZnAud3JpdGUoYmFzZTY0LmRlY29kZWJ5dGVzKEdOVV9NT19EQVRBKSkKKyAgICAgICAgd2l0aCBvcGVuKE1PRklMRV9CQURfTUFKT1JfVkVSU0lPTiwgJ3diJykgYXMgZnA6CisgICAgICAgICAgICBmcC53cml0ZShiYXNlNjQuZGVjb2RlYnl0ZXMoR05VX01PX0RBVEFfQkFEX01BSk9SX1ZFUlNJT04pKQorICAgICAgICB3aXRoIG9wZW4oTU9GSUxFX0JBRF9NSU5PUl9WRVJTSU9OLCAnd2InKSBhcyBmcDoKKyAgICAgICAgICAgIGZwLndyaXRlKGJhc2U2NC5kZWNvZGVieXRlcyhHTlVfTU9fREFUQV9CQURfTUlOT1JfVkVSU0lPTikpCiAgICAgICAgIHdpdGggb3BlbihVTU9GSUxFLCAnd2InKSBhcyBmcDoKICAgICAgICAgICAgIGZwLndyaXRlKGJhc2U2NC5kZWNvZGVieXRlcyhVTU9fREFUQSkpCiAgICAgICAgIHdpdGggb3BlbihNTU9GSUxFLCAnd2InKSBhcyBmcDoKQEAgLTE2Niw2ICsyMjEsMjEgQEAKICAgICBkZWYgdGVzdF90ZXh0ZG9tYWluKHNlbGYpOgogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGdldHRleHQudGV4dGRvbWFpbigpLCAnZ2V0dGV4dCcpCiAKKyAgICBkZWYgdGVzdF9iYWRfbWFqb3JfdmVyc2lvbihzZWxmKToKKyAgICAgICAgd2l0aCBvcGVuKE1PRklMRV9CQURfTUFKT1JfVkVSU0lPTiwgJ3JiJykgYXMgZnA6CisgICAgICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKE9TRXJyb3IpIGFzIGNtOgorICAgICAgICAgICAgICAgIGdldHRleHQuR05VVHJhbnNsYXRpb25zKGZwKQorCisgICAgICAgICAgICBleGNlcHRpb24gPSBjbS5leGNlcHRpb24KKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXhjZXB0aW9uLmVycm5vLCAwKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChleGNlcHRpb24uc3RyZXJyb3IsICJCYWQgdmVyc2lvbiBudW1iZXIgNSIpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGV4Y2VwdGlvbi5maWxlbmFtZSwgTU9GSUxFX0JBRF9NQUpPUl9WRVJTSU9OKQorCisgICAgZGVmIHRlc3RfYmFkX21pbm9yX3ZlcnNpb24oc2VsZik6CisgICAgICAgIHdpdGggb3BlbihNT0ZJTEVfQkFEX01JTk9SX1ZFUlNJT04sICdyYicpIGFzIGZwOgorICAgICAgICAgICAgIyBDaGVjayB0aGF0IG5vIGVycm9yIGlzIHRocm93biB3aXRoIGEgYmFkIG1pbm9yIHZlcnNpb24gbnVtYmVyCisgICAgICAgICAgICBnZXR0ZXh0LkdOVVRyYW5zbGF0aW9ucyhmcCkKKwogICAgIGRlZiB0ZXN0X3NvbWVfdHJhbnNsYXRpb25zKHNlbGYpOgogICAgICAgICBlcSA9IHNlbGYuYXNzZXJ0RXF1YWwKICAgICAgICAgIyB0ZXN0IHNvbWUgdHJhbnNsYXRpb25zCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2dsb2IucHkgYi9MaWIvdGVzdC90ZXN0X2dsb2IucHkKaW5kZXggYTVhYjhkNi4uMjFiMDE1MyAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9nbG9iLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfZ2xvYi5weQpAQCAtNCw4ICs0LDggQEAKIGltcG9ydCBzeXMKIGltcG9ydCB1bml0dGVzdAogCi1mcm9tIHRlc3Quc3VwcG9ydCBpbXBvcnQgKHJ1bl91bml0dGVzdCwgVEVTVEZOLCBza2lwX3VubGVzc19zeW1saW5rLAotICAgICAgICAgICAgICAgICAgICAgICAgICBjYW5fc3ltbGluaywgY3JlYXRlX2VtcHR5X2ZpbGUpCitmcm9tIHRlc3Quc3VwcG9ydCBpbXBvcnQgKFRFU1RGTiwgc2tpcF91bmxlc3Nfc3ltbGluaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgY2FuX3N5bWxpbmssIGNyZWF0ZV9lbXB0eV9maWxlLCBjaGFuZ2VfY3dkKQogCiAKIGNsYXNzIEdsb2JUZXN0cyh1bml0dGVzdC5UZXN0Q2FzZSk6CkBAIC0xMyw2ICsxMyw5IEBACiAgICAgZGVmIG5vcm0oc2VsZiwgKnBhcnRzKToKICAgICAgICAgcmV0dXJuIG9zLnBhdGgubm9ybXBhdGgob3MucGF0aC5qb2luKHNlbGYudGVtcGRpciwgKnBhcnRzKSkKIAorICAgIGRlZiBqb2lucyhzZWxmLCAqdHVwbGVzKToKKyAgICAgICAgcmV0dXJuIFtvcy5wYXRoLmpvaW4oc2VsZi50ZW1wZGlyLCAqcGFydHMpIGZvciBwYXJ0cyBpbiB0dXBsZXNdCisKICAgICBkZWYgbWt0ZW1wKHNlbGYsICpwYXJ0cyk6CiAgICAgICAgIGZpbGVuYW1lID0gc2VsZi5ub3JtKCpwYXJ0cykKICAgICAgICAgYmFzZSwgZmlsZSA9IG9zLnBhdGguc3BsaXQoZmlsZW5hbWUpCkBAIC0zOCwxNyArNDEsMTcgQEAKICAgICBkZWYgdGVhckRvd24oc2VsZik6CiAgICAgICAgIHNodXRpbC5ybXRyZWUoc2VsZi50ZW1wZGlyKQogCi0gICAgZGVmIGdsb2Ioc2VsZiwgKnBhcnRzKToKKyAgICBkZWYgZ2xvYihzZWxmLCAqcGFydHMsICoqa3dhcmdzKToKICAgICAgICAgaWYgbGVuKHBhcnRzKSA9PSAxOgogICAgICAgICAgICAgcGF0dGVybiA9IHBhcnRzWzBdCiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICBwYXR0ZXJuID0gb3MucGF0aC5qb2luKCpwYXJ0cykKICAgICAgICAgcCA9IG9zLnBhdGguam9pbihzZWxmLnRlbXBkaXIsIHBhdHRlcm4pCi0gICAgICAgIHJlcyA9IGdsb2IuZ2xvYihwKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxpc3QoZ2xvYi5pZ2xvYihwKSksIHJlcykKKyAgICAgICAgcmVzID0gZ2xvYi5nbG9iKHAsICoqa3dhcmdzKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxpc3QoZ2xvYi5pZ2xvYihwLCAqKmt3YXJncykpLCByZXMpCiAgICAgICAgIGJyZXMgPSBbb3MuZnNlbmNvZGUoeCkgZm9yIHggaW4gcmVzXQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGdsb2IuZ2xvYihvcy5mc2VuY29kZShwKSksIGJyZXMpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGlzdChnbG9iLmlnbG9iKG9zLmZzZW5jb2RlKHApKSksIGJyZXMpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZ2xvYi5nbG9iKG9zLmZzZW5jb2RlKHApLCAqKmt3YXJncyksIGJyZXMpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGlzdChnbG9iLmlnbG9iKG9zLmZzZW5jb2RlKHApLCAqKmt3YXJncykpLCBicmVzKQogICAgICAgICByZXR1cm4gcmVzCiAKICAgICBkZWYgYXNzZXJ0U2VxdWVuY2VzRXF1YWxfbm9vcmRlcihzZWxmLCBsMSwgbDIpOgpAQCAtMTkyLDkgKzE5NSwxMTggQEAKICAgICAgICAgY2hlY2soJy8vPy9jOi8/JywgJy8vPy9jOi9bP10nKQogICAgICAgICBjaGVjaygnLy8qLyovKicsICcvLyovKi9bKl0nKQogCi1kZWYgdGVzdF9tYWluKCk6Ci0gICAgcnVuX3VuaXR0ZXN0KEdsb2JUZXN0cykKKyAgICBkZWYgcmdsb2Ioc2VsZiwgKnBhcnRzLCAqKmt3YXJncyk6CisgICAgICAgIHJldHVybiBzZWxmLmdsb2IoKnBhcnRzLCByZWN1cnNpdmU9VHJ1ZSwgKiprd2FyZ3MpCisKKyAgICBkZWYgdGVzdF9yZWN1cnNpdmVfZ2xvYihzZWxmKToKKyAgICAgICAgZXEgPSBzZWxmLmFzc2VydFNlcXVlbmNlc0VxdWFsX25vb3JkZXIKKyAgICAgICAgZnVsbCA9IFsoJ1paWicsKSwKKyAgICAgICAgICAgICAgICAoJ2EnLCksICgnYScsICdEJyksCisgICAgICAgICAgICAgICAgKCdhJywgJ2JjZCcpLAorICAgICAgICAgICAgICAgICgnYScsICdiY2QnLCAnRUYnKSwKKyAgICAgICAgICAgICAgICAoJ2EnLCAnYmNkJywgJ2VmZycpLAorICAgICAgICAgICAgICAgICgnYScsICdiY2QnLCAnZWZnJywgJ2hhJyksCisgICAgICAgICAgICAgICAgKCdhYWEnLCksICgnYWFhJywgJ3p6ekYnKSwKKyAgICAgICAgICAgICAgICAoJ2FhYicsKSwgKCdhYWInLCAnRicpLAorICAgICAgICAgICAgICAgXQorICAgICAgICBpZiBjYW5fc3ltbGluaygpOgorICAgICAgICAgICAgZnVsbCArPSBbKCdzeW0xJywpLCAoJ3N5bTInLCksCisgICAgICAgICAgICAgICAgICAgICAoJ3N5bTMnLCksCisgICAgICAgICAgICAgICAgICAgICAoJ3N5bTMnLCAnRUYnKSwKKyAgICAgICAgICAgICAgICAgICAgICgnc3ltMycsICdlZmcnKSwKKyAgICAgICAgICAgICAgICAgICAgICgnc3ltMycsICdlZmcnLCAnaGEnKSwKKyAgICAgICAgICAgICAgICAgICAgXQorICAgICAgICBlcShzZWxmLnJnbG9iKCcqKicpLCBzZWxmLmpvaW5zKCgnJywpLCAqZnVsbCkpCisgICAgICAgIGVxKHNlbGYucmdsb2IoJy4nLCAnKionKSwgc2VsZi5qb2lucygoJy4nLCcnKSwKKyAgICAgICAgICAgICooKCcuJywpICsgaSBmb3IgaSBpbiBmdWxsKSkpCisgICAgICAgIGRpcnMgPSBbKCdhJywgJycpLCAoJ2EnLCAnYmNkJywgJycpLCAoJ2EnLCAnYmNkJywgJ2VmZycsICcnKSwKKyAgICAgICAgICAgICAgICAoJ2FhYScsICcnKSwgKCdhYWInLCAnJyldCisgICAgICAgIGlmIGNhbl9zeW1saW5rKCk6CisgICAgICAgICAgICBkaXJzICs9IFsoJ3N5bTMnLCAnJyksICgnc3ltMycsICdlZmcnLCAnJyldCisgICAgICAgIGVxKHNlbGYucmdsb2IoJyoqJywgJycpLCBzZWxmLmpvaW5zKCgnJywpLCAqZGlycykpCisKKyAgICAgICAgZXEoc2VsZi5yZ2xvYignYScsICcqKicpLCBzZWxmLmpvaW5zKAorICAgICAgICAgICAgKCdhJywgJycpLCAoJ2EnLCAnRCcpLCAoJ2EnLCAnYmNkJyksICgnYScsICdiY2QnLCAnRUYnKSwKKyAgICAgICAgICAgICgnYScsICdiY2QnLCAnZWZnJyksICgnYScsICdiY2QnLCAnZWZnJywgJ2hhJykpKQorICAgICAgICBlcShzZWxmLnJnbG9iKCdhKionKSwgc2VsZi5qb2lucygoJ2EnLCksICgnYWFhJywpLCAoJ2FhYicsKSkpCisgICAgICAgIGV4cGVjdCA9IFsoJ2EnLCAnYmNkJywgJ0VGJyldCisgICAgICAgIGlmIGNhbl9zeW1saW5rKCk6CisgICAgICAgICAgICBleHBlY3QgKz0gWygnc3ltMycsICdFRicpXQorICAgICAgICBlcShzZWxmLnJnbG9iKCcqKicsICdFRicpLCBzZWxmLmpvaW5zKCpleHBlY3QpKQorICAgICAgICBleHBlY3QgPSBbKCdhJywgJ2JjZCcsICdFRicpLCAoJ2FhYScsICd6enpGJyksICgnYWFiJywgJ0YnKV0KKyAgICAgICAgaWYgY2FuX3N5bWxpbmsoKToKKyAgICAgICAgICAgIGV4cGVjdCArPSBbKCdzeW0zJywgJ0VGJyldCisgICAgICAgIGVxKHNlbGYucmdsb2IoJyoqJywgJypGJyksIHNlbGYuam9pbnMoKmV4cGVjdCkpCisgICAgICAgIGVxKHNlbGYucmdsb2IoJyoqJywgJypGJywgJycpLCBbXSkKKyAgICAgICAgZXEoc2VsZi5yZ2xvYignKionLCAnYmNkJywgJyonKSwgc2VsZi5qb2lucygKKyAgICAgICAgICAgICgnYScsICdiY2QnLCAnRUYnKSwgKCdhJywgJ2JjZCcsICdlZmcnKSkpCisgICAgICAgIGVxKHNlbGYucmdsb2IoJ2EnLCAnKionLCAnYmNkJyksIHNlbGYuam9pbnMoKCdhJywgJ2JjZCcpKSkKKworICAgICAgICBwcmVkaXIgPSBvcy5wYXRoLmFic3BhdGgob3MuY3VyZGlyKQorICAgICAgICB0cnk6CisgICAgICAgICAgICBvcy5jaGRpcihzZWxmLnRlbXBkaXIpCisgICAgICAgICAgICBqb2luID0gb3MucGF0aC5qb2luCisgICAgICAgICAgICBlcShnbG9iLmdsb2IoJyoqJywgcmVjdXJzaXZlPVRydWUpLCBbam9pbigqaSkgZm9yIGkgaW4gZnVsbF0pCisgICAgICAgICAgICBlcShnbG9iLmdsb2Ioam9pbignKionLCAnJyksIHJlY3Vyc2l2ZT1UcnVlKSwKKyAgICAgICAgICAgICAgICBbam9pbigqaSkgZm9yIGkgaW4gZGlyc10pCisgICAgICAgICAgICBlcShnbG9iLmdsb2Ioam9pbignKionLCd6eipGJyksIHJlY3Vyc2l2ZT1UcnVlKSwKKyAgICAgICAgICAgICAgICBbam9pbignYWFhJywgJ3p6ekYnKV0pCisgICAgICAgICAgICBlcShnbG9iLmdsb2IoJyoqenoqRicsIHJlY3Vyc2l2ZT1UcnVlKSwgW10pCisgICAgICAgICAgICBleHBlY3QgPSBbam9pbignYScsICdiY2QnLCAnRUYnKV0KKyAgICAgICAgICAgIGlmIGNhbl9zeW1saW5rKCk6CisgICAgICAgICAgICAgICAgZXhwZWN0ICs9IFtqb2luKCdzeW0zJywgJ0VGJyldCisgICAgICAgICAgICBlcShnbG9iLmdsb2Ioam9pbignKionLCAnRUYnKSwgcmVjdXJzaXZlPVRydWUpLCBleHBlY3QpCisgICAgICAgIGZpbmFsbHk6CisgICAgICAgICAgICBvcy5jaGRpcihwcmVkaXIpCisKKworQHNraXBfdW5sZXNzX3N5bWxpbmsKK2NsYXNzIFN5bWxpbmtMb29wR2xvYlRlc3RzKHVuaXR0ZXN0LlRlc3RDYXNlKToKKworICAgIGRlZiB0ZXN0X3NlbGZsaW5rKHNlbGYpOgorICAgICAgICB0ZW1wZGlyID0gVEVTVEZOICsgIl9kaXIiCisgICAgICAgIG9zLm1ha2VkaXJzKHRlbXBkaXIpCisgICAgICAgIHNlbGYuYWRkQ2xlYW51cChzaHV0aWwucm10cmVlLCB0ZW1wZGlyKQorICAgICAgICB3aXRoIGNoYW5nZV9jd2QodGVtcGRpcik6CisgICAgICAgICAgICBvcy5tYWtlZGlycygnZGlyJykKKyAgICAgICAgICAgIGNyZWF0ZV9lbXB0eV9maWxlKG9zLnBhdGguam9pbignZGlyJywgJ2ZpbGUnKSkKKyAgICAgICAgICAgIG9zLnN5bWxpbmsob3MuY3VyZGlyLCBvcy5wYXRoLmpvaW4oJ2RpcicsICdsaW5rJykpCisKKyAgICAgICAgICAgIHJlc3VsdHMgPSBnbG9iLmdsb2IoJyoqJywgcmVjdXJzaXZlPVRydWUpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihyZXN1bHRzKSwgbGVuKHNldChyZXN1bHRzKSkpCisgICAgICAgICAgICByZXN1bHRzID0gc2V0KHJlc3VsdHMpCisgICAgICAgICAgICBkZXB0aCA9IDAKKyAgICAgICAgICAgIHdoaWxlIHJlc3VsdHM6CisgICAgICAgICAgICAgICAgcGF0aCA9IG9zLnBhdGguam9pbigqKFsnZGlyJ10gKyBbJ2xpbmsnXSAqIGRlcHRoKSkKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEluKHBhdGgsIHJlc3VsdHMpCisgICAgICAgICAgICAgICAgcmVzdWx0cy5yZW1vdmUocGF0aCkKKyAgICAgICAgICAgICAgICBpZiBub3QgcmVzdWx0czoKKyAgICAgICAgICAgICAgICAgICAgYnJlYWsKKyAgICAgICAgICAgICAgICBwYXRoID0gb3MucGF0aC5qb2luKHBhdGgsICdmaWxlJykKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEluKHBhdGgsIHJlc3VsdHMpCisgICAgICAgICAgICAgICAgcmVzdWx0cy5yZW1vdmUocGF0aCkKKyAgICAgICAgICAgICAgICBkZXB0aCArPSAxCisKKyAgICAgICAgICAgIHJlc3VsdHMgPSBnbG9iLmdsb2Iob3MucGF0aC5qb2luKCcqKicsICdmaWxlJyksIHJlY3Vyc2l2ZT1UcnVlKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4ocmVzdWx0cyksIGxlbihzZXQocmVzdWx0cykpKQorICAgICAgICAgICAgcmVzdWx0cyA9IHNldChyZXN1bHRzKQorICAgICAgICAgICAgZGVwdGggPSAwCisgICAgICAgICAgICB3aGlsZSByZXN1bHRzOgorICAgICAgICAgICAgICAgIHBhdGggPSBvcy5wYXRoLmpvaW4oKihbJ2RpciddICsgWydsaW5rJ10gKiBkZXB0aCArIFsnZmlsZSddKSkKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEluKHBhdGgsIHJlc3VsdHMpCisgICAgICAgICAgICAgICAgcmVzdWx0cy5yZW1vdmUocGF0aCkKKyAgICAgICAgICAgICAgICBkZXB0aCArPSAxCisKKyAgICAgICAgICAgIHJlc3VsdHMgPSBnbG9iLmdsb2Iob3MucGF0aC5qb2luKCcqKicsICcnKSwgcmVjdXJzaXZlPVRydWUpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihyZXN1bHRzKSwgbGVuKHNldChyZXN1bHRzKSkpCisgICAgICAgICAgICByZXN1bHRzID0gc2V0KHJlc3VsdHMpCisgICAgICAgICAgICBkZXB0aCA9IDAKKyAgICAgICAgICAgIHdoaWxlIHJlc3VsdHM6CisgICAgICAgICAgICAgICAgcGF0aCA9IG9zLnBhdGguam9pbigqKFsnZGlyJ10gKyBbJ2xpbmsnXSAqIGRlcHRoICsgWycnXSkpCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRJbihwYXRoLCByZXN1bHRzKQorICAgICAgICAgICAgICAgIHJlc3VsdHMucmVtb3ZlKHBhdGgpCisgICAgICAgICAgICAgICAgZGVwdGggKz0gMQogCiAKIGlmIF9fbmFtZV9fID09ICJfX21haW5fXyI6Ci0gICAgdGVzdF9tYWluKCkKKyAgICB1bml0dGVzdC5tYWluKCkKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfZ3JhbW1hci5weSBiL0xpYi90ZXN0L3Rlc3RfZ3JhbW1hci5weQppbmRleCA3MGQ4NWIxLi43MDY5ZmI5IDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2dyYW1tYXIucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9ncmFtbWFyLnB5CkBAIC0xMDE2LDYgKzEwMTYsMjAgQEAKICAgICAgICAgc2VsZi5hc3NlcnRGYWxzZSgoRmFsc2UgaXMgMikgaXMgMykKICAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShGYWxzZSBpcyAyIGlzIDMpCiAKKyAgICBkZWYgdGVzdF9tYXRyaXhfbXVsKHNlbGYpOgorICAgICAgICAjIFRoaXMgaXMgbm90IGludGVuZGVkIHRvIGJlIGEgY29tcHJlaGVuc2l2ZSB0ZXN0LCByYXRoZXIganVzdCB0byBiZSBmZXcKKyAgICAgICAgIyBzYW1wbGVzIG9mIHRoZSBAIG9wZXJhdG9yIGluIHRlc3RfZ3JhbW1hci5weS4KKyAgICAgICAgY2xhc3MgTToKKyAgICAgICAgICAgIGRlZiBfX21hdG11bF9fKHNlbGYsIG8pOgorICAgICAgICAgICAgICAgIHJldHVybiA0CisgICAgICAgICAgICBkZWYgX19pbWF0bXVsX18oc2VsZiwgbyk6CisgICAgICAgICAgICAgICAgc2VsZi5vdGhlciA9IG8KKyAgICAgICAgICAgICAgICByZXR1cm4gc2VsZgorICAgICAgICBtID0gTSgpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobSBAIG0sIDQpCisgICAgICAgIG0gQD0gNDIKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtLm90aGVyLCA0MikKKwogCiBkZWYgdGVzdF9tYWluKCk6CiAgICAgcnVuX3VuaXR0ZXN0KFRva2VuVGVzdHMsIEdyYW1tYXJUZXN0cykKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfaGVhcHEucHkgYi9MaWIvdGVzdC90ZXN0X2hlYXBxLnB5CmluZGV4IGI1YTJmZDguLjBkY2Q4YzUgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfaGVhcHEucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9oZWFwcS5weQpAQCAtNiwxNCArNiwxNSBAQAogCiBmcm9tIHRlc3QgaW1wb3J0IHN1cHBvcnQKIGZyb20gdW5pdHRlc3QgaW1wb3J0IFRlc3RDYXNlLCBza2lwVW5sZXNzCitmcm9tIG9wZXJhdG9yIGltcG9ydCBpdGVtZ2V0dGVyCiAKIHB5X2hlYXBxID0gc3VwcG9ydC5pbXBvcnRfZnJlc2hfbW9kdWxlKCdoZWFwcScsIGJsb2NrZWQ9WydfaGVhcHEnXSkKIGNfaGVhcHEgPSBzdXBwb3J0LmltcG9ydF9mcmVzaF9tb2R1bGUoJ2hlYXBxJywgZnJlc2g9WydfaGVhcHEnXSkKIAogIyBfaGVhcHEubmxhcmdlc3QvbnNtYWxsZXN0IGFyZSBzYXZlZCBpbiBoZWFwcS5fbmxhcmdlc3QvX3NtYWxsZXN0IHdoZW4KICMgX2hlYXBxIGlzIGltcG9ydGVkLCBzbyBjaGVjayB0aGVtIHRoZXJlCi1mdW5jX25hbWVzID0gWydoZWFwaWZ5JywgJ2hlYXBwb3AnLCAnaGVhcHB1c2gnLCAnaGVhcHB1c2hwb3AnLAotICAgICAgICAgICAgICAnaGVhcHJlcGxhY2UnLCAnX25sYXJnZXN0JywgJ19uc21hbGxlc3QnXQorZnVuY19uYW1lcyA9IFsnaGVhcGlmeScsICdoZWFwcG9wJywgJ2hlYXBwdXNoJywgJ2hlYXBwdXNocG9wJywgJ2hlYXByZXBsYWNlJywKKyAgICAgICAgICAgICAgJ19oZWFwcG9wX21heCcsICdfaGVhcHJlcGxhY2VfbWF4JywgJ19oZWFwaWZ5X21heCddCiAKIGNsYXNzIFRlc3RNb2R1bGVzKFRlc3RDYXNlKToKICAgICBkZWYgdGVzdF9weV9mdW5jdGlvbnMoc2VsZik6CkBAIC0xNTIsMTEgKzE1MywyMSBAQAogCiAgICAgZGVmIHRlc3RfbWVyZ2Uoc2VsZik6CiAgICAgICAgIGlucHV0cyA9IFtdCi0gICAgICAgIGZvciBpIGluIHJhbmdlKHJhbmRvbS5yYW5kcmFuZ2UoNSkpOgotICAgICAgICAgICAgcm93ID0gc29ydGVkKHJhbmRvbS5yYW5kcmFuZ2UoMTAwMCkgZm9yIGogaW4gcmFuZ2UocmFuZG9tLnJhbmRyYW5nZSgxMCkpKQorICAgICAgICBmb3IgaSBpbiByYW5nZShyYW5kb20ucmFuZHJhbmdlKDI1KSk6CisgICAgICAgICAgICByb3cgPSBbXQorICAgICAgICAgICAgZm9yIGogaW4gcmFuZ2UocmFuZG9tLnJhbmRyYW5nZSgxMDApKToKKyAgICAgICAgICAgICAgICB0dXAgPSByYW5kb20uY2hvaWNlKCdBQkMnKSwgcmFuZG9tLnJhbmRyYW5nZSgtNTAwLCA1MDApCisgICAgICAgICAgICAgICAgcm93LmFwcGVuZCh0dXApCiAgICAgICAgICAgICBpbnB1dHMuYXBwZW5kKHJvdykKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzb3J0ZWQoY2hhaW4oKmlucHV0cykpLCBsaXN0KHNlbGYubW9kdWxlLm1lcmdlKCppbnB1dHMpKSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsaXN0KHNlbGYubW9kdWxlLm1lcmdlKCkpLCBbXSkKKworICAgICAgICBmb3Iga2V5IGluIFtOb25lLCBpdGVtZ2V0dGVyKDApLCBpdGVtZ2V0dGVyKDEpLCBpdGVtZ2V0dGVyKDEsIDApXToKKyAgICAgICAgICAgIGZvciByZXZlcnNlIGluIFtGYWxzZSwgVHJ1ZV06CisgICAgICAgICAgICAgICAgc2VxcyA9IFtdCisgICAgICAgICAgICAgICAgZm9yIHNlcSBpbiBpbnB1dHM6CisgICAgICAgICAgICAgICAgICAgIHNlcXMuYXBwZW5kKHNvcnRlZChzZXEsIGtleT1rZXksIHJldmVyc2U9cmV2ZXJzZSkpCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzb3J0ZWQoY2hhaW4oKmlucHV0cyksIGtleT1rZXksIHJldmVyc2U9cmV2ZXJzZSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaXN0KHNlbGYubW9kdWxlLm1lcmdlKCpzZXFzLCBrZXk9a2V5LCByZXZlcnNlPXJldmVyc2UpKSkKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxpc3Qoc2VsZi5tb2R1bGUubWVyZ2UoKSksIFtdKQogCiAgICAgZGVmIHRlc3RfbWVyZ2VfZG9lc19ub3Rfc3VwcHJlc3NfaW5kZXhfZXJyb3Ioc2VsZik6CiAgICAgICAgICMgSXNzdWUgMTkwMTg6IEhlYXBxLm1lcmdlIHN1cHByZXNzZXMgSW5kZXhFcnJvciBmcm9tIHVzZXIgZ2VuZXJhdG9yCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2h0bWxwYXJzZXIucHkgYi9MaWIvdGVzdC90ZXN0X2h0bWxwYXJzZXIucHkKaW5kZXggMmQ3NzFhMi4uZGU4ZjNlOCAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9odG1scGFyc2VyLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfaHRtbHBhcnNlci5weQpAQCAtODUsNyArODUsNyBAQAogY2xhc3MgVGVzdENhc2VCYXNlKHVuaXR0ZXN0LlRlc3RDYXNlKToKIAogICAgIGRlZiBnZXRfY29sbGVjdG9yKHNlbGYpOgotICAgICAgICByYWlzZSBOb3RJbXBsZW1lbnRlZEVycm9yCisgICAgICAgIHJldHVybiBFdmVudENvbGxlY3Rvcihjb252ZXJ0X2NoYXJyZWZzPUZhbHNlKQogCiAgICAgZGVmIF9ydW5fY2hlY2soc2VsZiwgc291cmNlLCBleHBlY3RlZF9ldmVudHMsIGNvbGxlY3Rvcj1Ob25lKToKICAgICAgICAgaWYgY29sbGVjdG9yIGlzIE5vbmU6CkBAIC0xMDUsMjEgKzEwNSw4IEBACiAgICAgICAgIHNlbGYuX3J1bl9jaGVjayhzb3VyY2UsIGV2ZW50cywKICAgICAgICAgICAgICAgICAgICAgICAgIEV2ZW50Q29sbGVjdG9yRXh0cmEoY29udmVydF9jaGFycmVmcz1GYWxzZSkpCiAKLSAgICBkZWYgX3BhcnNlX2Vycm9yKHNlbGYsIHNvdXJjZSk6Ci0gICAgICAgIGRlZiBwYXJzZShzb3VyY2U9c291cmNlKToKLSAgICAgICAgICAgIHBhcnNlciA9IHNlbGYuZ2V0X2NvbGxlY3RvcigpCi0gICAgICAgICAgICBwYXJzZXIuZmVlZChzb3VyY2UpCi0gICAgICAgICAgICBwYXJzZXIuY2xvc2UoKQotICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKGh0bWwucGFyc2VyLkhUTUxQYXJzZUVycm9yKToKLSAgICAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRXYXJucyhEZXByZWNhdGlvbldhcm5pbmcpOgotICAgICAgICAgICAgICAgIHBhcnNlKCkKIAotCi1jbGFzcyBIVE1MUGFyc2VyU3RyaWN0VGVzdENhc2UoVGVzdENhc2VCYXNlKToKLQotICAgIGRlZiBnZXRfY29sbGVjdG9yKHNlbGYpOgotICAgICAgICB3aXRoIHN1cHBvcnQuY2hlY2tfd2FybmluZ3MoKCIiLCBEZXByZWNhdGlvbldhcm5pbmcpLCBxdWl0ZT1GYWxzZSk6Ci0gICAgICAgICAgICByZXR1cm4gRXZlbnRDb2xsZWN0b3Ioc3RyaWN0PVRydWUsIGNvbnZlcnRfY2hhcnJlZnM9RmFsc2UpCitjbGFzcyBIVE1MUGFyc2VyVGVzdENhc2UoVGVzdENhc2VCYXNlKToKIAogICAgIGRlZiB0ZXN0X3Byb2Nlc3NpbmdfaW5zdHJ1Y3Rpb25fb25seShzZWxmKToKICAgICAgICAgc2VsZi5fcnVuX2NoZWNrKCI8P3Byb2Nlc3NpbmcgaW5zdHJ1Y3Rpb24+IiwgWwpAQCAtMjAxLDkgKzE4OCw2IEBACiAgICAgICAgICAgICAoImRhdGEiLCAidGhpcyA8IHRleHQgPiBjb250YWlucyA8IGJhcmU+cG9pbnR5PCBicmFja2V0cyIpLAogICAgICAgICAgICAgXSkKIAotICAgIGRlZiB0ZXN0X2lsbGVnYWxfZGVjbGFyYXRpb25zKHNlbGYpOgotICAgICAgICBzZWxmLl9wYXJzZV9lcnJvcignPCFzcGFjZXIgdHlwZT0iYmxvY2siIGhlaWdodD0iMjUiPicpCi0KICAgICBkZWYgdGVzdF9zdGFydHRhZ19lbmRfYm91bmRhcnkoc2VsZik6CiAgICAgICAgIHNlbGYuX3J1bl9jaGVjaygiIiI8YSBiPSc8Jz4iIiIsIFsoInN0YXJ0dGFnIiwgImEiLCBbKCJiIiwgIjwiKV0pXSkKICAgICAgICAgc2VsZi5fcnVuX2NoZWNrKCIiIjxhIGI9Jz4nPiIiIiwgWygic3RhcnR0YWciLCAiYSIsIFsoImIiLCAiPiIpXSldKQpAQCAtMjM4LDI1ICsyMjIsNiBAQAogICAgICAgICBzZWxmLl9ydW5fY2hlY2soWyI8IS0tYWJjLS0iLCAiPiJdLCBvdXRwdXQpCiAgICAgICAgIHNlbGYuX3J1bl9jaGVjayhbIjwhLS1hYmMtLT4iLCAiIl0sIG91dHB1dCkKIAotICAgIGRlZiB0ZXN0X3N0YXJ0dGFnX2p1bmtfY2hhcnMoc2VsZik6Ci0gICAgICAgIHNlbGYuX3BhcnNlX2Vycm9yKCI8Lz4iKQotICAgICAgICBzZWxmLl9wYXJzZV9lcnJvcigiPC8kPiIpCi0gICAgICAgIHNlbGYuX3BhcnNlX2Vycm9yKCI8LyIpCi0gICAgICAgIHNlbGYuX3BhcnNlX2Vycm9yKCI8L2EiKQotICAgICAgICBzZWxmLl9wYXJzZV9lcnJvcigiPGE8YT4iKQotICAgICAgICBzZWxmLl9wYXJzZV9lcnJvcigiPC9hPGE+IikKLSAgICAgICAgc2VsZi5fcGFyc2VfZXJyb3IoIjwhIikKLSAgICAgICAgc2VsZi5fcGFyc2VfZXJyb3IoIjxhIikKLSAgICAgICAgc2VsZi5fcGFyc2VfZXJyb3IoIjxhIGZvbz0nYmFyJyIpCi0gICAgICAgIHNlbGYuX3BhcnNlX2Vycm9yKCI8YSBmb289J2JhciIpCi0gICAgICAgIHNlbGYuX3BhcnNlX2Vycm9yKCI8YSBmb289Jz4nIikKLSAgICAgICAgc2VsZi5fcGFyc2VfZXJyb3IoIjxhIGZvbz0nPiIpCi0gICAgICAgIHNlbGYuX3BhcnNlX2Vycm9yKCI8YSQ+IikKLSAgICAgICAgc2VsZi5fcGFyc2VfZXJyb3IoIjxhJGI+IikKLSAgICAgICAgc2VsZi5fcGFyc2VfZXJyb3IoIjxhJGIvPiIpCi0gICAgICAgIHNlbGYuX3BhcnNlX2Vycm9yKCI8YSRiICA+IikKLSAgICAgICAgc2VsZi5fcGFyc2VfZXJyb3IoIjxhJGIgIC8+IikKLQogICAgIGRlZiB0ZXN0X3ZhbGlkX2RvY3R5cGVzKHNlbGYpOgogICAgICAgICAjIGZyb20gaHR0cDovL3d3dy53My5vcmcvUUEvMjAwMi8wNC92YWxpZC1kdGQtbGlzdC5odG1sCiAgICAgICAgIGR0ZHMgPSBbJ0hUTUwnLCAgIyBIVE1MNSBkb2N0eXBlCkBAIC0yODEsOSArMjQ2LDYgQEAKICAgICAgICAgICAgIHNlbGYuX3J1bl9jaGVjaygiPCFET0NUWVBFICVzPiIgJSBkdGQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWygnZGVjbCcsICdET0NUWVBFICcgKyBkdGQpXSkKIAotICAgIGRlZiB0ZXN0X2RlY2xhcmF0aW9uX2p1bmtfY2hhcnMoc2VsZik6Ci0gICAgICAgIHNlbGYuX3BhcnNlX2Vycm9yKCI8IURPQ1RZUEUgZm9vICQgPiIpCi0KICAgICBkZWYgdGVzdF9zdGFydGVuZHRhZyhzZWxmKToKICAgICAgICAgc2VsZi5fcnVuX2NoZWNrKCI8cC8+IiwgWwogICAgICAgICAgICAgKCJzdGFydGVuZHRhZyIsICJwIiwgW10pLApAQCAtMzg0LDcgKzM0Niw4IEBACiAgICAgICAgIHNlbGYuX3J1bl9jaGVjayhodG1sLCBleHBlY3RlZCkKIAogICAgIGRlZiB0ZXN0X2NvbnZlcnRfY2hhcnJlZnMoc2VsZik6Ci0gICAgICAgIGNvbGxlY3RvciA9IGxhbWJkYTogRXZlbnRDb2xsZWN0b3JDaGFycmVmcyhjb252ZXJ0X2NoYXJyZWZzPVRydWUpCisgICAgICAgICMgZGVmYXVsdCB2YWx1ZSBmb3IgY29udmVydF9jaGFycmVmcyBpcyBub3cgVHJ1ZQorICAgICAgICBjb2xsZWN0b3IgPSBsYW1iZGE6IEV2ZW50Q29sbGVjdG9yQ2hhcnJlZnMoKQogICAgICAgICBzZWxmLmFzc2VydFRydWUoY29sbGVjdG9yKCkuY29udmVydF9jaGFycmVmcykKICAgICAgICAgY2hhcnJlZnMgPSBbJyZxdW90OycsICcmIzM0OycsICcmI3gyMjsnLCAnJnF1b3QnLCAnJiMzNCcsICcmI3gyMiddCiAgICAgICAgICMgY2hlY2sgY2hhcnJlZnMgaW4gdGhlIG1pZGRsZSBvZiB0aGUgdGV4dC9hdHRyaWJ1dGVzCkBAIC00MjEsMjMgKzM4NCw4IEBACiAgICAgICAgIHNlbGYuX3J1bl9jaGVjaygnbm8gY2hhcnJlZnMgaGVyZScsIFsoJ2RhdGEnLCAnbm8gY2hhcnJlZnMgaGVyZScpXSwKICAgICAgICAgICAgICAgICAgICAgICAgIGNvbGxlY3Rvcj1jb2xsZWN0b3IoKSkKIAotCi1jbGFzcyBIVE1MUGFyc2VyVG9sZXJhbnRUZXN0Q2FzZShIVE1MUGFyc2VyU3RyaWN0VGVzdENhc2UpOgotCi0gICAgZGVmIGdldF9jb2xsZWN0b3Ioc2VsZik6Ci0gICAgICAgIHJldHVybiBFdmVudENvbGxlY3Rvcihjb252ZXJ0X2NoYXJyZWZzPUZhbHNlKQotCi0gICAgZGVmIHRlc3RfZGVwcmVjYXRpb25fd2FybmluZ3Moc2VsZik6Ci0gICAgICAgIHdpdGggc2VsZi5hc3NlcnRXYXJucyhEZXByZWNhdGlvbldhcm5pbmcpOgotICAgICAgICAgICAgRXZlbnRDb2xsZWN0b3IoKSAgIyBjb252ZXJ0X2NoYXJyZWZzIG5vdCBwYXNzZWQgZXhwbGljaXRseQotICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0V2FybnMoRGVwcmVjYXRpb25XYXJuaW5nKToKLSAgICAgICAgICAgIEV2ZW50Q29sbGVjdG9yKHN0cmljdD1UcnVlKQotICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0V2FybnMoRGVwcmVjYXRpb25XYXJuaW5nKToKLSAgICAgICAgICAgIEV2ZW50Q29sbGVjdG9yKHN0cmljdD1GYWxzZSkKLSAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhodG1sLnBhcnNlci5IVE1MUGFyc2VFcnJvcik6Ci0gICAgICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0V2FybnMoRGVwcmVjYXRpb25XYXJuaW5nKToKLSAgICAgICAgICAgICAgICBFdmVudENvbGxlY3RvcigpLmVycm9yKCd0ZXN0JykKLQorICAgICMgdGhlIHJlbWFpbmluZyB0ZXN0cyB3ZXJlIGZvciB0aGUgInRvbGVyYW50IiBwYXJzZXIgKHdoaWNoIGlzIG5vdworICAgICMgdGhlIGRlZmF1bHQpLCBhbmQgY2hlY2sgdmFyaW91cyBraW5kIG9mIGJyb2tlbiBtYXJrdXAKICAgICBkZWYgdGVzdF90b2xlcmFudF9wYXJzaW5nKHNlbGYpOgogICAgICAgICBzZWxmLl9ydW5fY2hlY2soJzxodG1sIDxodG1sPnRlPj54dCZhPDxiYzwvYT48L2h0bWw+XG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAnPGltZyBzcmM9IlVSTD48Ly9pbWc+PC9odG1sPC9odG1sPicsIFsKQEAgLTY4NiwxMSArNjM0LDcgQEAKICAgICAgICAgc2VsZi5fcnVuX2NoZWNrKGh0bWwsIGV4cGVjdGVkKQogCiAKLWNsYXNzIEF0dHJpYnV0ZXNTdHJpY3RUZXN0Q2FzZShUZXN0Q2FzZUJhc2UpOgotCi0gICAgZGVmIGdldF9jb2xsZWN0b3Ioc2VsZik6Ci0gICAgICAgIHdpdGggc3VwcG9ydC5jaGVja193YXJuaW5ncygoIiIsIERlcHJlY2F0aW9uV2FybmluZyksIHF1aXRlPUZhbHNlKToKLSAgICAgICAgICAgIHJldHVybiBFdmVudENvbGxlY3RvcihzdHJpY3Q9VHJ1ZSwgY29udmVydF9jaGFycmVmcz1GYWxzZSkKK2NsYXNzIEF0dHJpYnV0ZXNUZXN0Q2FzZShUZXN0Q2FzZUJhc2UpOgogCiAgICAgZGVmIHRlc3RfYXR0cl9zeW50YXgoc2VsZik6CiAgICAgICAgIG91dHB1dCA9IFsKQEAgLTc0NywxMiArNjkxLDYgQEAKICAgICAgICAgICAgIFsoInN0YXJ0dGFnIiwgImh0bWwiLCBbKCJmb28iLCAiXHUyMEFDJmFhJnVuc3VwcG9ydGVkOyIpXSldKQogCiAKLQotY2xhc3MgQXR0cmlidXRlc1RvbGVyYW50VGVzdENhc2UoQXR0cmlidXRlc1N0cmljdFRlc3RDYXNlKToKLQotICAgIGRlZiBnZXRfY29sbGVjdG9yKHNlbGYpOgotICAgICAgICByZXR1cm4gRXZlbnRDb2xsZWN0b3IoY29udmVydF9jaGFycmVmcz1GYWxzZSkKLQogICAgIGRlZiB0ZXN0X2F0dHJfZnVua3lfbmFtZXMyKHNlbGYpOgogICAgICAgICBzZWxmLl9ydW5fY2hlY2soCiAgICAgICAgICAgICAiPGEgJD48YiAkPSU+PGMgXD0vPiIsCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2h0dHBfY29va2llcy5weSBiL0xpYi90ZXN0L3Rlc3RfaHR0cF9jb29raWVzLnB5CmluZGV4IGU5ODQyNTIuLmVlMzBmMTcgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfaHR0cF9jb29raWVzLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfaHR0cF9jb29raWVzLnB5CkBAIC0xNDEsMTMgKzE0MSw2IEBACiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoQ1snZWdncyddWydodHRwb25seSddLCAnZm9vJykKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChDWydlZ2dzJ11bJ3NlY3VyZSddLCAnYmFyJykKIAotICAgIGRlZiB0ZXN0X2JhZF9hdHRycyhzZWxmKToKLSAgICAgICAgIyBpc3N1ZSAxNjYxMTogbWFrZSBzdXJlIHdlIGRvbid0IGJyZWFrIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkuCi0gICAgICAgIEMgPSBjb29raWVzLlNpbXBsZUNvb2tpZSgpCi0gICAgICAgIEMubG9hZCgnY29va2llPXdpdGg7IGludmFsaWQ7IHZlcnNpb247IHNlY29uZD1jb29raWU7JykKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChDLm91dHB1dCgpLAotICAgICAgICAgICAgJ1NldC1Db29raWU6IGNvb2tpZT13aXRoXHJcblNldC1Db29raWU6IHNlY29uZD1jb29raWUnKQotCiAgICAgZGVmIHRlc3RfZXh0cmFfc3BhY2VzKHNlbGYpOgogICAgICAgICBDID0gY29va2llcy5TaW1wbGVDb29raWUoKQogICAgICAgICBDLmxvYWQoJ2VnZ3MgID0gIHNjcmFtYmxlZCAgOyAgc2VjdXJlICA7ICBwYXRoICA9ICBiYXIgICA7IGZvbz1mb28gICAnKQpAQCAtMTgyLDcgKzE3NSwxMCBAQAogICAgIGRlZiB0ZXN0X2ludmFsaWRfY29va2llcyhzZWxmKToKICAgICAgICAgIyBBY2NlcHRpbmcgdGhlc2UgY291bGQgYmUgYSBzZWN1cml0eSBpc3N1ZQogICAgICAgICBDID0gY29va2llcy5TaW1wbGVDb29raWUoKQotICAgICAgICBmb3IgcyBpbiAoJ11mb289eCcsICdbZm9vPXgnLCAnYmxhaF1mb289eCcsICdibGFoW2Zvbz14Jyk6CisgICAgICAgIGZvciBzIGluICgnXWZvbz14JywgJ1tmb289eCcsICdibGFoXWZvbz14JywgJ2JsYWhbZm9vPXgnLAorICAgICAgICAgICAgICAgICAgJ1NldC1Db29raWU6IGZvbz1iYXInLCAnU2V0LUNvb2tpZTogZm9vJywKKyAgICAgICAgICAgICAgICAgICdmb289YmFyOyBiYXonLCAnYmF6OyBmb289YmFyJywKKyAgICAgICAgICAgICAgICAgICdzZWN1cmU7Zm9vPWJhcicsICdWZXJzaW9uPTE7Zm9vPWJhcicpOgogICAgICAgICAgICAgQy5sb2FkKHMpCiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRpY3QoQyksIHt9KQogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChDLm91dHB1dCgpLCAnJykKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfaHR0cGxpYi5weSBiL0xpYi90ZXN0L3Rlc3RfaHR0cGxpYi5weQppbmRleCA0YzU3ODY3Li45YzE1NTBlIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2h0dHBsaWIucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9odHRwbGliLnB5CkBAIC0xOCw2ICsxOCwyNiBAQAogIyBTZWxmLXNpZ25lZCBjZXJ0IGZpbGUgZm9yIHNlbGYtc2lnbmVkLnB5dGhvbnRlc3QubmV0CiBDRVJUX3NlbGZzaWduZWRfcHl0aG9udGVzdGRvdG5ldCA9IG9zLnBhdGguam9pbihoZXJlLCAnc2VsZnNpZ25lZF9weXRob250ZXN0ZG90bmV0LnBlbScpCiAKKyMgY29uc3RhbnRzIGZvciB0ZXN0aW5nIGNodW5rZWQgZW5jb2RpbmcKK2NodW5rZWRfc3RhcnQgPSAoCisgICAgJ0hUVFAvMS4xIDIwMCBPS1xyXG4nCisgICAgJ1RyYW5zZmVyLUVuY29kaW5nOiBjaHVua2VkXHJcblxyXG4nCisgICAgJ2FcclxuJworICAgICdoZWxsbyB3b3JsXHJcbicKKyAgICAnM1xyXG4nCisgICAgJ2QhIFxyXG4nCisgICAgJzhcclxuJworICAgICdhbmQgbm93IFxyXG4nCisgICAgJzIyXHJcbicKKyAgICAnZm9yIHNvbWV0aGluZyBjb21wbGV0ZWx5IGRpZmZlcmVudFxyXG4nCispCitjaHVua2VkX2V4cGVjdGVkID0gYidoZWxsbyB3b3JsZCEgYW5kIG5vdyBmb3Igc29tZXRoaW5nIGNvbXBsZXRlbHkgZGlmZmVyZW50JworY2h1bmtfZXh0ZW5zaW9uID0gIjtmb289YmFyIgorbGFzdF9jaHVuayA9ICIwXHJcbiIKK2xhc3RfY2h1bmtfZXh0ZW5kZWQgPSAiMCIgKyBjaHVua19leHRlbnNpb24gKyAiXHJcbiIKK3RyYWlsZXJzID0gIlgtRHVtbXk6IGZvb1xyXG5YLUR1bW0yOiBiYXJcclxuIgorY2h1bmtlZF9lbmQgPSAiXHJcbiIKKwogSE9TVCA9IHN1cHBvcnQuSE9TVAogCiBjbGFzcyBGYWtlU29ja2V0OgpAQCAtNTAsNiArNzAsOSBAQAogICAgIGRlZiBjbG9zZShzZWxmKToKICAgICAgICAgcGFzcwogCisgICAgZGVmIHNldHNvY2tvcHQoc2VsZiwgbGV2ZWwsIG9wdG5hbWUsIHZhbHVlKToKKyAgICAgICAgcGFzcworCiBjbGFzcyBFUGlwZVNvY2tldChGYWtlU29ja2V0KToKIAogICAgIGRlZiBfX2luaXRfXyhzZWxmLCB0ZXh0LCBwaXBlX3RyaWdnZXIpOgpAQCAtNDUyLDIwICs0NzUsOCBAQAogICAgICAgICAgICAgY29ubi5yZXF1ZXN0KCdQT1NUJywgJ3Rlc3QnLCBjb25uKQogCiAgICAgZGVmIHRlc3RfY2h1bmtlZChzZWxmKToKLSAgICAgICAgY2h1bmtlZF9zdGFydCA9ICgKLSAgICAgICAgICAgICdIVFRQLzEuMSAyMDAgT0tcclxuJwotICAgICAgICAgICAgJ1RyYW5zZmVyLUVuY29kaW5nOiBjaHVua2VkXHJcblxyXG4nCi0gICAgICAgICAgICAnYVxyXG4nCi0gICAgICAgICAgICAnaGVsbG8gd29ybFxyXG4nCi0gICAgICAgICAgICAnM1xyXG4nCi0gICAgICAgICAgICAnZCEgXHJcbicKLSAgICAgICAgICAgICc4XHJcbicKLSAgICAgICAgICAgICdhbmQgbm93IFxyXG4nCi0gICAgICAgICAgICAnMjJcclxuJwotICAgICAgICAgICAgJ2ZvciBzb21ldGhpbmcgY29tcGxldGVseSBkaWZmZXJlbnRcclxuJwotICAgICAgICApCi0gICAgICAgIGV4cGVjdGVkID0gYidoZWxsbyB3b3JsZCEgYW5kIG5vdyBmb3Igc29tZXRoaW5nIGNvbXBsZXRlbHkgZGlmZmVyZW50JwotICAgICAgICBzb2NrID0gRmFrZVNvY2tldChjaHVua2VkX3N0YXJ0ICsgJzBcclxuJykKKyAgICAgICAgZXhwZWN0ZWQgPSBjaHVua2VkX2V4cGVjdGVkCisgICAgICAgIHNvY2sgPSBGYWtlU29ja2V0KGNodW5rZWRfc3RhcnQgKyBsYXN0X2NodW5rICsgY2h1bmtlZF9lbmQpCiAgICAgICAgIHJlc3AgPSBjbGllbnQuSFRUUFJlc3BvbnNlKHNvY2ssIG1ldGhvZD0iR0VUIikKICAgICAgICAgcmVzcC5iZWdpbigpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVzcC5yZWFkKCksIGV4cGVjdGVkKQpAQCAtNDczLDcgKzQ4NCw3IEBACiAKICAgICAgICAgIyBWYXJpb3VzIHJlYWQgc2l6ZXMKICAgICAgICAgZm9yIG4gaW4gcmFuZ2UoMSwgMTIpOgotICAgICAgICAgICAgc29jayA9IEZha2VTb2NrZXQoY2h1bmtlZF9zdGFydCArICcwXHJcbicpCisgICAgICAgICAgICBzb2NrID0gRmFrZVNvY2tldChjaHVua2VkX3N0YXJ0ICsgbGFzdF9jaHVuayArIGNodW5rZWRfZW5kKQogICAgICAgICAgICAgcmVzcCA9IGNsaWVudC5IVFRQUmVzcG9uc2Uoc29jaywgbWV0aG9kPSJHRVQiKQogICAgICAgICAgICAgcmVzcC5iZWdpbigpCiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlc3AucmVhZChuKSArIHJlc3AucmVhZChuKSArIHJlc3AucmVhZCgpLCBleHBlY3RlZCkKQEAgLTQ5NiwyMyArNTA3LDEyIEBACiAgICAgICAgICAgICAgICAgcmVzcC5jbG9zZSgpCiAKICAgICBkZWYgdGVzdF9yZWFkaW50b19jaHVua2VkKHNlbGYpOgotICAgICAgICBjaHVua2VkX3N0YXJ0ID0gKAotICAgICAgICAgICAgJ0hUVFAvMS4xIDIwMCBPS1xyXG4nCi0gICAgICAgICAgICAnVHJhbnNmZXItRW5jb2Rpbmc6IGNodW5rZWRcclxuXHJcbicKLSAgICAgICAgICAgICdhXHJcbicKLSAgICAgICAgICAgICdoZWxsbyB3b3JsXHJcbicKLSAgICAgICAgICAgICczXHJcbicKLSAgICAgICAgICAgICdkISBcclxuJwotICAgICAgICAgICAgJzhcclxuJwotICAgICAgICAgICAgJ2FuZCBub3cgXHJcbicKLSAgICAgICAgICAgICcyMlxyXG4nCi0gICAgICAgICAgICAnZm9yIHNvbWV0aGluZyBjb21wbGV0ZWx5IGRpZmZlcmVudFxyXG4nCi0gICAgICAgICkKLSAgICAgICAgZXhwZWN0ZWQgPSBiJ2hlbGxvIHdvcmxkISBhbmQgbm93IGZvciBzb21ldGhpbmcgY29tcGxldGVseSBkaWZmZXJlbnQnCisKKyAgICAgICAgZXhwZWN0ZWQgPSBjaHVua2VkX2V4cGVjdGVkCiAgICAgICAgIG5leHBlY3RlZCA9IGxlbihleHBlY3RlZCkKICAgICAgICAgYiA9IGJ5dGVhcnJheSgxMjgpCiAKLSAgICAgICAgc29jayA9IEZha2VTb2NrZXQoY2h1bmtlZF9zdGFydCArICcwXHJcbicpCisgICAgICAgIHNvY2sgPSBGYWtlU29ja2V0KGNodW5rZWRfc3RhcnQgKyBsYXN0X2NodW5rICsgY2h1bmtlZF9lbmQpCiAgICAgICAgIHJlc3AgPSBjbGllbnQuSFRUUFJlc3BvbnNlKHNvY2ssIG1ldGhvZD0iR0VUIikKICAgICAgICAgcmVzcC5iZWdpbigpCiAgICAgICAgIG4gPSByZXNwLnJlYWRpbnRvKGIpCkBAIC01MjIsNyArNTIyLDcgQEAKIAogICAgICAgICAjIFZhcmlvdXMgcmVhZCBzaXplcwogICAgICAgICBmb3IgbiBpbiByYW5nZSgxLCAxMik6Ci0gICAgICAgICAgICBzb2NrID0gRmFrZVNvY2tldChjaHVua2VkX3N0YXJ0ICsgJzBcclxuJykKKyAgICAgICAgICAgIHNvY2sgPSBGYWtlU29ja2V0KGNodW5rZWRfc3RhcnQgKyBsYXN0X2NodW5rICsgY2h1bmtlZF9lbmQpCiAgICAgICAgICAgICByZXNwID0gY2xpZW50LkhUVFBSZXNwb25zZShzb2NrLCBtZXRob2Q9IkdFVCIpCiAgICAgICAgICAgICByZXNwLmJlZ2luKCkKICAgICAgICAgICAgIG0gPSBtZW1vcnl2aWV3KGIpCkBAIC01NTgsNyArNTU4LDcgQEAKICAgICAgICAgICAgICcxXHJcbicKICAgICAgICAgICAgICdkXHJcbicKICAgICAgICAgKQotICAgICAgICBzb2NrID0gRmFrZVNvY2tldChjaHVua2VkX3N0YXJ0ICsgJzBcclxuJykKKyAgICAgICAgc29jayA9IEZha2VTb2NrZXQoY2h1bmtlZF9zdGFydCArIGxhc3RfY2h1bmsgKyBjaHVua2VkX2VuZCkKICAgICAgICAgcmVzcCA9IGNsaWVudC5IVFRQUmVzcG9uc2Uoc29jaywgbWV0aG9kPSJIRUFEIikKICAgICAgICAgcmVzcC5iZWdpbigpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVzcC5yZWFkKCksIGInJykKQEAgLTU3OCw3ICs1NzgsNyBAQAogICAgICAgICAgICAgJzFcclxuJwogICAgICAgICAgICAgJ2RcclxuJwogICAgICAgICApCi0gICAgICAgIHNvY2sgPSBGYWtlU29ja2V0KGNodW5rZWRfc3RhcnQgKyAnMFxyXG4nKQorICAgICAgICBzb2NrID0gRmFrZVNvY2tldChjaHVua2VkX3N0YXJ0ICsgbGFzdF9jaHVuayArIGNodW5rZWRfZW5kKQogICAgICAgICByZXNwID0gY2xpZW50LkhUVFBSZXNwb25zZShzb2NrLCBtZXRob2Q9IkhFQUQiKQogICAgICAgICByZXNwLmJlZ2luKCkKICAgICAgICAgYiA9IGJ5dGVhcnJheSg1KQpAQCAtNjUzLDYgKzY1Myw3IEBACiAgICAgICAgICAgICArICcwJyAqIDY1NTM2ICsgJ2FcclxuJwogICAgICAgICAgICAgJ2hlbGxvIHdvcmxkXHJcbicKICAgICAgICAgICAgICcwXHJcbicKKyAgICAgICAgICAgICdcclxuJwogICAgICAgICApCiAgICAgICAgIHJlc3AgPSBjbGllbnQuSFRUUFJlc3BvbnNlKEZha2VTb2NrZXQoYm9keSkpCiAgICAgICAgIHJlc3AuYmVnaW4oKQpAQCAtNjcwLDI4ICs2NzEsNiBAQAogICAgICAgICByZXNwLmNsb3NlKCkKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHJlc3AuY2xvc2VkKQogCi0gICAgZGVmIHRlc3RfZGVsYXllZF9hY2tfb3B0KHNlbGYpOgotICAgICAgICAjIFRlc3QgdGhhdCBOYWdsZS9kZWxheWVkX2FjayBvcHRpbWlzdGFpb24gd29ya3MgY29ycmVjdGx5LgotCi0gICAgICAgICMgRm9yIHNtYWxsIHBheWxvYWRzLCBpdCBzaG91bGQgY29hbGVzY2UgdGhlIGJvZHkgd2l0aAotICAgICAgICAjIGhlYWRlcnMsIHJlc3VsdGluZyBpbiBhIHNpbmdsZSBzZW5kYWxsKCkgY2FsbAotICAgICAgICBjb25uID0gY2xpZW50LkhUVFBDb25uZWN0aW9uKCdleGFtcGxlLmNvbScpCi0gICAgICAgIHNvY2sgPSBGYWtlU29ja2V0KE5vbmUpCi0gICAgICAgIGNvbm4uc29jayA9IHNvY2sKLSAgICAgICAgYm9keSA9IGIneCcgKiAoY29ubi5tc3MgLSAxKQotICAgICAgICBjb25uLnJlcXVlc3QoJ1BPU1QnLCAnLycsIGJvZHkpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc29jay5zZW5kYWxsX2NhbGxzLCAxKQotCi0gICAgICAgICMgRm9yIGxhcmdlIHBheWxvYWRzLCBpdCBzaG91bGQgc2VuZCB0aGUgaGVhZGVycyBhbmQKLSAgICAgICAgIyB0aGVuIHRoZSBib2R5LCByZXN1bHRpbmcgaW4gbW9yZSB0aGFuIG9uZSBzZW5kYWxsKCkKLSAgICAgICAgIyBjYWxsCi0gICAgICAgIGNvbm4gPSBjbGllbnQuSFRUUENvbm5lY3Rpb24oJ2V4YW1wbGUuY29tJykKLSAgICAgICAgc29jayA9IEZha2VTb2NrZXQoTm9uZSkKLSAgICAgICAgY29ubi5zb2NrID0gc29jawotICAgICAgICBib2R5ID0gYid4JyAqIGNvbm4ubXNzCi0gICAgICAgIGNvbm4ucmVxdWVzdCgnUE9TVCcsICcvJywgYm9keSkKLSAgICAgICAgc2VsZi5hc3NlcnRHcmVhdGVyKHNvY2suc2VuZGFsbF9jYWxscywgMSkKLQogICAgIGRlZiB0ZXN0X2Vycm9yX2xlYWsoc2VsZik6CiAgICAgICAgICMgVGVzdCB0aGF0IHRoZSBzb2NrZXQgaXMgbm90IGxlYWtlZCBpZiBnZXRyZXNwb25zZSgpIGZhaWxzCiAgICAgICAgIGNvbm4gPSBjbGllbnQuSFRUUENvbm5lY3Rpb24oJ2V4YW1wbGUuY29tJykKQEAgLTcwOCw2ICs2ODcsMjM5IEBACiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShyZXNwb25zZS5jbG9zZWQpCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShjb25uLnNvY2suZmlsZV9jbG9zZWQpCiAKKyAgICBkZWYgdGVzdF9jaHVua2VkX2V4dGVuc2lvbihzZWxmKToKKyAgICAgICAgZXh0cmEgPSAnMztmb289YmFyXHJcbicgKyAnYWJjXHJcbicKKyAgICAgICAgZXhwZWN0ZWQgPSBjaHVua2VkX2V4cGVjdGVkICsgYidhYmMnCisKKyAgICAgICAgc29jayA9IEZha2VTb2NrZXQoY2h1bmtlZF9zdGFydCArIGV4dHJhICsgbGFzdF9jaHVua19leHRlbmRlZCArIGNodW5rZWRfZW5kKQorICAgICAgICByZXNwID0gY2xpZW50LkhUVFBSZXNwb25zZShzb2NrLCBtZXRob2Q9IkdFVCIpCisgICAgICAgIHJlc3AuYmVnaW4oKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlc3AucmVhZCgpLCBleHBlY3RlZCkKKyAgICAgICAgcmVzcC5jbG9zZSgpCisKKyAgICBkZWYgdGVzdF9jaHVua2VkX21pc3NpbmdfZW5kKHNlbGYpOgorICAgICAgICAiIiJzb21lIHNlcnZlcnMgbWF5IHNlcnZlIHVwIGEgc2hvcnQgY2h1bmtlZCBlbmNvZGluZyBzdHJlYW0iIiIKKyAgICAgICAgZXhwZWN0ZWQgPSBjaHVua2VkX2V4cGVjdGVkCisgICAgICAgIHNvY2sgPSBGYWtlU29ja2V0KGNodW5rZWRfc3RhcnQgKyBsYXN0X2NodW5rKSAgI25vIHRlcm1pbmF0aW5nIGNybGYKKyAgICAgICAgcmVzcCA9IGNsaWVudC5IVFRQUmVzcG9uc2Uoc29jaywgbWV0aG9kPSJHRVQiKQorICAgICAgICByZXNwLmJlZ2luKCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXNwLnJlYWQoKSwgZXhwZWN0ZWQpCisgICAgICAgIHJlc3AuY2xvc2UoKQorCisgICAgZGVmIHRlc3RfY2h1bmtlZF90cmFpbGVycyhzZWxmKToKKyAgICAgICAgIiIiU2VlIHRoYXQgdHJhaWxlcnMgYXJlIHJlYWQgYW5kIGlnbm9yZWQiIiIKKyAgICAgICAgZXhwZWN0ZWQgPSBjaHVua2VkX2V4cGVjdGVkCisgICAgICAgIHNvY2sgPSBGYWtlU29ja2V0KGNodW5rZWRfc3RhcnQgKyBsYXN0X2NodW5rICsgdHJhaWxlcnMgKyBjaHVua2VkX2VuZCkKKyAgICAgICAgcmVzcCA9IGNsaWVudC5IVFRQUmVzcG9uc2Uoc29jaywgbWV0aG9kPSJHRVQiKQorICAgICAgICByZXNwLmJlZ2luKCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXNwLnJlYWQoKSwgZXhwZWN0ZWQpCisgICAgICAgICMgd2Ugc2hvdWxkIGhhdmUgcmVhY2hlZCB0aGUgZW5kIG9mIHRoZSBmaWxlCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc29jay5maWxlLnJlYWQoMTAwKSwgYiIiKSAjd2UgcmVhZCB0byB0aGUgZW5kCisgICAgICAgIHJlc3AuY2xvc2UoKQorCisgICAgZGVmIHRlc3RfY2h1bmtlZF9zeW5jKHNlbGYpOgorICAgICAgICAiIiJDaGVjayB0aGF0IHdlIGRvbid0IHJlYWQgcGFzdCB0aGUgZW5kIG9mIHRoZSBjaHVua2VkLWVuY29kaW5nIHN0cmVhbSIiIgorICAgICAgICBleHBlY3RlZCA9IGNodW5rZWRfZXhwZWN0ZWQKKyAgICAgICAgZXh0cmFkYXRhID0gImV4dHJhZGF0YSIKKyAgICAgICAgc29jayA9IEZha2VTb2NrZXQoY2h1bmtlZF9zdGFydCArIGxhc3RfY2h1bmsgKyB0cmFpbGVycyArIGNodW5rZWRfZW5kICsgZXh0cmFkYXRhKQorICAgICAgICByZXNwID0gY2xpZW50LkhUVFBSZXNwb25zZShzb2NrLCBtZXRob2Q9IkdFVCIpCisgICAgICAgIHJlc3AuYmVnaW4oKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlc3AucmVhZCgpLCBleHBlY3RlZCkKKyAgICAgICAgIyB0aGUgZmlsZSBzaG91bGQgbm93IGhhdmUgb3VyIGV4dHJhZGF0YSByZWFkeSB0byBiZSByZWFkCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc29jay5maWxlLnJlYWQoMTAwKSwgZXh0cmFkYXRhLmVuY29kZSgiYXNjaWkiKSkgI3dlIHJlYWQgdG8gdGhlIGVuZAorICAgICAgICByZXNwLmNsb3NlKCkKKworICAgIGRlZiB0ZXN0X2NvbnRlbnRfbGVuZ3RoX3N5bmMoc2VsZik6CisgICAgICAgICIiIkNoZWNrIHRoYXQgd2UgZG9uJ3QgcmVhZCBwYXN0IHRoZSBlbmQgb2YgdGhlIENvbnRlbnQtTGVuZ3RoIHN0cmVhbSIiIgorICAgICAgICBleHRyYWRhdGEgPSAiZXh0cmFkYXRhIgorICAgICAgICBleHBlY3RlZCA9IGIiSGVsbG8xMjNcclxuIgorICAgICAgICBzb2NrID0gRmFrZVNvY2tldCgnSFRUUC8xLjEgMjAwIE9LXHJcbkNvbnRlbnQtTGVuZ3RoOiAxMFxyXG5cclxuSGVsbG8xMjNcclxuJyArIGV4dHJhZGF0YSkKKyAgICAgICAgcmVzcCA9IGNsaWVudC5IVFRQUmVzcG9uc2Uoc29jaywgbWV0aG9kPSJHRVQiKQorICAgICAgICByZXNwLmJlZ2luKCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXNwLnJlYWQoKSwgZXhwZWN0ZWQpCisgICAgICAgICMgdGhlIGZpbGUgc2hvdWxkIG5vdyBoYXZlIG91ciBleHRyYWRhdGEgcmVhZHkgdG8gYmUgcmVhZAorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNvY2suZmlsZS5yZWFkKDEwMCksIGV4dHJhZGF0YS5lbmNvZGUoImFzY2lpIikpICN3ZSByZWFkIHRvIHRoZSBlbmQKKyAgICAgICAgcmVzcC5jbG9zZSgpCisKK2NsYXNzIEV4dGVuZGVkUmVhZFRlc3QoVGVzdENhc2UpOgorICAgICIiIgorICAgIFRlc3QgcGVlaygpLCByZWFkMSgpLCByZWFkbGluZSgpCisgICAgIiIiCisgICAgbGluZXMgPSAoCisgICAgICAgICdIVFRQLzEuMSAyMDAgT0tcclxuJworICAgICAgICAnXHJcbicKKyAgICAgICAgJ2hlbGxvIHdvcmxkIVxuJworICAgICAgICAnYW5kIG5vdyBcbicKKyAgICAgICAgJ2ZvciBzb21ldGhpbmcgY29tcGxldGVseSBkaWZmZXJlbnRcbicKKyAgICAgICAgJ2ZvbycKKyAgICAgICAgKQorICAgIGxpbmVzX2V4cGVjdGVkID0gbGluZXNbbGluZXMuZmluZCgnaGVsbG8nKTpdLmVuY29kZSgiYXNjaWkiKQorICAgIGxpbmVzX2NodW5rZWQgPSAoCisgICAgICAgICdIVFRQLzEuMSAyMDAgT0tcclxuJworICAgICAgICAnVHJhbnNmZXItRW5jb2Rpbmc6IGNodW5rZWRcclxuXHJcbicKKyAgICAgICAgJ2FcclxuJworICAgICAgICAnaGVsbG8gd29ybFxyXG4nCisgICAgICAgICczXHJcbicKKyAgICAgICAgJ2QhXG5cclxuJworICAgICAgICAnOVxyXG4nCisgICAgICAgICdhbmQgbm93IFxuXHJcbicKKyAgICAgICAgJzIzXHJcbicKKyAgICAgICAgJ2ZvciBzb21ldGhpbmcgY29tcGxldGVseSBkaWZmZXJlbnRcblxyXG4nCisgICAgICAgICczXHJcbicKKyAgICAgICAgJ2Zvb1xyXG4nCisgICAgICAgICcwXHJcbicgIyB0ZXJtaW5hdGluZyBjaHVuaworICAgICAgICAnXHJcbicgICMgZW5kIG9mIHRyYWlsZXJzCisgICAgKQorCisgICAgZGVmIHNldFVwKHNlbGYpOgorICAgICAgICBzb2NrID0gRmFrZVNvY2tldChzZWxmLmxpbmVzKQorICAgICAgICByZXNwID0gY2xpZW50LkhUVFBSZXNwb25zZShzb2NrLCBtZXRob2Q9IkdFVCIpCisgICAgICAgIHJlc3AuYmVnaW4oKQorICAgICAgICByZXNwLmZwID0gaW8uQnVmZmVyZWRSZWFkZXIocmVzcC5mcCkKKyAgICAgICAgc2VsZi5yZXNwID0gcmVzcAorCisKKworICAgIGRlZiB0ZXN0X3BlZWsoc2VsZik6CisgICAgICAgIHJlc3AgPSBzZWxmLnJlc3AKKyAgICAgICAgIyBwYXRjaCB1cCB0aGUgYnVmZmVyZWQgcGVlayBzbyB0aGF0IGl0IHJldHVybnMgbm90IHRvbyBtdWNoIHN0dWZmCisgICAgICAgIG9sZHBlZWsgPSByZXNwLmZwLnBlZWsKKyAgICAgICAgZGVmIG15cGVlayhuPS0xKToKKyAgICAgICAgICAgIHAgPSBvbGRwZWVrKG4pCisgICAgICAgICAgICBpZiBuID49IDA6CisgICAgICAgICAgICAgICAgcmV0dXJuIHBbOm5dCisgICAgICAgICAgICByZXR1cm4gcFs6MTBdCisgICAgICAgIHJlc3AuZnAucGVlayA9IG15cGVlaworCisgICAgICAgIGFsbCA9IFtdCisgICAgICAgIHdoaWxlIFRydWU6CisgICAgICAgICAgICAjIHRyeSBhIHNob3J0IHBlZWsKKyAgICAgICAgICAgIHAgPSByZXNwLnBlZWsoMykKKyAgICAgICAgICAgIGlmIHA6CisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRHcmVhdGVyKGxlbihwKSwgMCkKKyAgICAgICAgICAgICAgICAjIHRoZW4gdW5ib3VuZGVkIHBlZWsKKyAgICAgICAgICAgICAgICBwMiA9IHJlc3AucGVlaygpCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRHcmVhdGVyRXF1YWwobGVuKHAyKSwgbGVuKHApKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShwMi5zdGFydHN3aXRoKHApKQorICAgICAgICAgICAgICAgIG5leHQgPSByZXNwLnJlYWQobGVuKHAyKSkKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG5leHQsIHAyKQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBuZXh0ID0gcmVzcC5yZWFkKCkKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEZhbHNlKG5leHQpCisgICAgICAgICAgICBhbGwuYXBwZW5kKG5leHQpCisgICAgICAgICAgICBpZiBub3QgbmV4dDoKKyAgICAgICAgICAgICAgICBicmVhaworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGIiIi5qb2luKGFsbCksIHNlbGYubGluZXNfZXhwZWN0ZWQpCisKKyAgICBkZWYgdGVzdF9yZWFkbGluZShzZWxmKToKKyAgICAgICAgcmVzcCA9IHNlbGYucmVzcAorICAgICAgICBzZWxmLl92ZXJpZnlfcmVhZGxpbmUoc2VsZi5yZXNwLnJlYWRsaW5lLCBzZWxmLmxpbmVzX2V4cGVjdGVkKQorCisgICAgZGVmIF92ZXJpZnlfcmVhZGxpbmUoc2VsZiwgcmVhZGxpbmUsIGV4cGVjdGVkKToKKyAgICAgICAgYWxsID0gW10KKyAgICAgICAgd2hpbGUgVHJ1ZToKKyAgICAgICAgICAgICMgc2hvcnQgcmVhZGxpbmVzCisgICAgICAgICAgICBsaW5lID0gcmVhZGxpbmUoNSkKKyAgICAgICAgICAgIGlmIGxpbmUgYW5kIGxpbmUgIT0gYiJmb28iOgorICAgICAgICAgICAgICAgIGlmIGxlbihsaW5lKSA8IDU6CisgICAgICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShsaW5lLmVuZHN3aXRoKGIiXG4iKSkKKyAgICAgICAgICAgIGFsbC5hcHBlbmQobGluZSkKKyAgICAgICAgICAgIGlmIG5vdCBsaW5lOgorICAgICAgICAgICAgICAgIGJyZWFrCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYiIiLmpvaW4oYWxsKSwgZXhwZWN0ZWQpCisKKyAgICBkZWYgdGVzdF9yZWFkMShzZWxmKToKKyAgICAgICAgcmVzcCA9IHNlbGYucmVzcAorICAgICAgICBkZWYgcigpOgorICAgICAgICAgICAgcmVzID0gcmVzcC5yZWFkMSg0KQorICAgICAgICAgICAgc2VsZi5hc3NlcnRMZXNzRXF1YWwobGVuKHJlcyksIDQpCisgICAgICAgICAgICByZXR1cm4gcmVzCisgICAgICAgIHJlYWRsaW5lciA9IFJlYWRsaW5lcihyKQorICAgICAgICBzZWxmLl92ZXJpZnlfcmVhZGxpbmUocmVhZGxpbmVyLnJlYWRsaW5lLCBzZWxmLmxpbmVzX2V4cGVjdGVkKQorCisgICAgZGVmIHRlc3RfcmVhZDFfdW5ib3VuZGVkKHNlbGYpOgorICAgICAgICByZXNwID0gc2VsZi5yZXNwCisgICAgICAgIGFsbCA9IFtdCisgICAgICAgIHdoaWxlIFRydWU6CisgICAgICAgICAgICBkYXRhID0gcmVzcC5yZWFkMSgpCisgICAgICAgICAgICBpZiBub3QgZGF0YToKKyAgICAgICAgICAgICAgICBicmVhaworICAgICAgICAgICAgYWxsLmFwcGVuZChkYXRhKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGIiIi5qb2luKGFsbCksIHNlbGYubGluZXNfZXhwZWN0ZWQpCisKKyAgICBkZWYgdGVzdF9yZWFkMV9ib3VuZGVkKHNlbGYpOgorICAgICAgICByZXNwID0gc2VsZi5yZXNwCisgICAgICAgIGFsbCA9IFtdCisgICAgICAgIHdoaWxlIFRydWU6CisgICAgICAgICAgICBkYXRhID0gcmVzcC5yZWFkMSgxMCkKKyAgICAgICAgICAgIGlmIG5vdCBkYXRhOgorICAgICAgICAgICAgICAgIGJyZWFrCisgICAgICAgICAgICBzZWxmLmFzc2VydExlc3NFcXVhbChsZW4oZGF0YSksIDEwKQorICAgICAgICAgICAgYWxsLmFwcGVuZChkYXRhKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGIiIi5qb2luKGFsbCksIHNlbGYubGluZXNfZXhwZWN0ZWQpCisKKyAgICBkZWYgdGVzdF9yZWFkMV8wKHNlbGYpOgorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYucmVzcC5yZWFkMSgwKSwgYiIiKQorCisgICAgZGVmIHRlc3RfcGVla18wKHNlbGYpOgorICAgICAgICBwID0gc2VsZi5yZXNwLnBlZWsoMCkKKyAgICAgICAgc2VsZi5hc3NlcnRMZXNzRXF1YWwoMCwgbGVuKHApKQorCitjbGFzcyBFeHRlbmRlZFJlYWRUZXN0Q2h1bmtlZChFeHRlbmRlZFJlYWRUZXN0KToKKyAgICAiIiIKKyAgICBUZXN0IHBlZWsoKSwgcmVhZDEoKSwgcmVhZGxpbmUoKSBpbiBjaHVua2VkIG1vZGUKKyAgICAiIiIKKyAgICBsaW5lcyA9ICgKKyAgICAgICAgJ0hUVFAvMS4xIDIwMCBPS1xyXG4nCisgICAgICAgICdUcmFuc2Zlci1FbmNvZGluZzogY2h1bmtlZFxyXG5cclxuJworICAgICAgICAnYVxyXG4nCisgICAgICAgICdoZWxsbyB3b3JsXHJcbicKKyAgICAgICAgJzNcclxuJworICAgICAgICAnZCFcblxyXG4nCisgICAgICAgICc5XHJcbicKKyAgICAgICAgJ2FuZCBub3cgXG5cclxuJworICAgICAgICAnMjNcclxuJworICAgICAgICAnZm9yIHNvbWV0aGluZyBjb21wbGV0ZWx5IGRpZmZlcmVudFxuXHJcbicKKyAgICAgICAgJzNcclxuJworICAgICAgICAnZm9vXHJcbicKKyAgICAgICAgJzBcclxuJyAjIHRlcm1pbmF0aW5nIGNodW5rCisgICAgICAgICdcclxuJyAgIyBlbmQgb2YgdHJhaWxlcnMKKyAgICApCisKKworY2xhc3MgUmVhZGxpbmVyOgorICAgICIiIgorICAgIGEgc2ltcGxlIHJlYWRsaW5lIGNsYXNzIHRoYXQgdXNlcyBhbiBhcmJpdHJhcnkgcmVhZCBmdW5jdGlvbiBhbmQgYnVmZmVyaW5nCisgICAgIiIiCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIHJlYWRmdW5jKToKKyAgICAgICAgc2VsZi5yZWFkZnVuYyA9IHJlYWRmdW5jCisgICAgICAgIHNlbGYucmVtYWluZGVyID0gYiIiCisKKyAgICBkZWYgcmVhZGxpbmUoc2VsZiwgbGltaXQpOgorICAgICAgICBkYXRhID0gW10KKyAgICAgICAgZGF0YWxlbiA9IDAKKyAgICAgICAgcmVhZCA9IHNlbGYucmVtYWluZGVyCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHdoaWxlIFRydWU6CisgICAgICAgICAgICAgICAgaWR4ID0gcmVhZC5maW5kKGInXG4nKQorICAgICAgICAgICAgICAgIGlmIGlkeCAhPSAtMToKKyAgICAgICAgICAgICAgICAgICAgYnJlYWsKKyAgICAgICAgICAgICAgICBpZiBkYXRhbGVuICsgbGVuKHJlYWQpID49IGxpbWl0OgorICAgICAgICAgICAgICAgICAgICBpZHggPSBsaW1pdCAtIGRhdGFsZW4gLSAxCisgICAgICAgICAgICAgICAgIyByZWFkIG1vcmUgZGF0YQorICAgICAgICAgICAgICAgIGRhdGEuYXBwZW5kKHJlYWQpCisgICAgICAgICAgICAgICAgcmVhZCA9IHNlbGYucmVhZGZ1bmMoKQorICAgICAgICAgICAgICAgIGlmIG5vdCByZWFkOgorICAgICAgICAgICAgICAgICAgICBpZHggPSAwICNlb2YgY29uZGl0aW9uCisgICAgICAgICAgICAgICAgICAgIGJyZWFrCisgICAgICAgICAgICBpZHggKz0gMQorICAgICAgICAgICAgZGF0YS5hcHBlbmQocmVhZFs6aWR4XSkKKyAgICAgICAgICAgIHNlbGYucmVtYWluZGVyID0gcmVhZFtpZHg6XQorICAgICAgICAgICAgcmV0dXJuIGIiIi5qb2luKGRhdGEpCisgICAgICAgIGV4Y2VwdDoKKyAgICAgICAgICAgIHNlbGYucmVtYWluZGVyID0gYiIiLmpvaW4oZGF0YSkKKyAgICAgICAgICAgIHJhaXNlCisKIAogY2xhc3MgT2ZmbGluZVRlc3QoVGVzdENhc2UpOgogICAgIGRlZiB0ZXN0X2FsbChzZWxmKToKQEAgLTcyNywxMyArOTM5LDc0IEBACiAgICAgZGVmIHRlc3RfcmVzcG9uc2VzKHNlbGYpOgogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNsaWVudC5yZXNwb25zZXNbY2xpZW50Lk5PVF9GT1VORF0sICJOb3QgRm91bmQiKQogCisgICAgZGVmIHRlc3RfY2xpZW50X2NvbnN0YW50cyhzZWxmKToKKyAgICAgICAgIyBNYWtlIHN1cmUgd2UgZG9uJ3QgYnJlYWsgYmFja3dhcmQgY29tcGF0aWJpbGl0eSB3aXRoIDMuNAorICAgICAgICBleHBlY3RlZCA9IFsKKyAgICAgICAgICAgICdDT05USU5VRScsCisgICAgICAgICAgICAnU1dJVENISU5HX1BST1RPQ09MUycsCisgICAgICAgICAgICAnUFJPQ0VTU0lORycsCisgICAgICAgICAgICAnT0snLAorICAgICAgICAgICAgJ0NSRUFURUQnLAorICAgICAgICAgICAgJ0FDQ0VQVEVEJywKKyAgICAgICAgICAgICdOT05fQVVUSE9SSVRBVElWRV9JTkZPUk1BVElPTicsCisgICAgICAgICAgICAnTk9fQ09OVEVOVCcsCisgICAgICAgICAgICAnUkVTRVRfQ09OVEVOVCcsCisgICAgICAgICAgICAnUEFSVElBTF9DT05URU5UJywKKyAgICAgICAgICAgICdNVUxUSV9TVEFUVVMnLAorICAgICAgICAgICAgJ0lNX1VTRUQnLAorICAgICAgICAgICAgJ01VTFRJUExFX0NIT0lDRVMnLAorICAgICAgICAgICAgJ01PVkVEX1BFUk1BTkVOVExZJywKKyAgICAgICAgICAgICdGT1VORCcsCisgICAgICAgICAgICAnU0VFX09USEVSJywKKyAgICAgICAgICAgICdOT1RfTU9ESUZJRUQnLAorICAgICAgICAgICAgJ1VTRV9QUk9YWScsCisgICAgICAgICAgICAnVEVNUE9SQVJZX1JFRElSRUNUJywKKyAgICAgICAgICAgICdCQURfUkVRVUVTVCcsCisgICAgICAgICAgICAnVU5BVVRIT1JJWkVEJywKKyAgICAgICAgICAgICdQQVlNRU5UX1JFUVVJUkVEJywKKyAgICAgICAgICAgICdGT1JCSURERU4nLAorICAgICAgICAgICAgJ05PVF9GT1VORCcsCisgICAgICAgICAgICAnTUVUSE9EX05PVF9BTExPV0VEJywKKyAgICAgICAgICAgICdOT1RfQUNDRVBUQUJMRScsCisgICAgICAgICAgICAnUFJPWFlfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQnLAorICAgICAgICAgICAgJ1JFUVVFU1RfVElNRU9VVCcsCisgICAgICAgICAgICAnQ09ORkxJQ1QnLAorICAgICAgICAgICAgJ0dPTkUnLAorICAgICAgICAgICAgJ0xFTkdUSF9SRVFVSVJFRCcsCisgICAgICAgICAgICAnUFJFQ09ORElUSU9OX0ZBSUxFRCcsCisgICAgICAgICAgICAnUkVRVUVTVF9FTlRJVFlfVE9PX0xBUkdFJywKKyAgICAgICAgICAgICdSRVFVRVNUX1VSSV9UT09fTE9ORycsCisgICAgICAgICAgICAnVU5TVVBQT1JURURfTUVESUFfVFlQRScsCisgICAgICAgICAgICAnUkVRVUVTVEVEX1JBTkdFX05PVF9TQVRJU0ZJQUJMRScsCisgICAgICAgICAgICAnRVhQRUNUQVRJT05fRkFJTEVEJywKKyAgICAgICAgICAgICdVTlBST0NFU1NBQkxFX0VOVElUWScsCisgICAgICAgICAgICAnTE9DS0VEJywKKyAgICAgICAgICAgICdGQUlMRURfREVQRU5ERU5DWScsCisgICAgICAgICAgICAnVVBHUkFERV9SRVFVSVJFRCcsCisgICAgICAgICAgICAnUFJFQ09ORElUSU9OX1JFUVVJUkVEJywKKyAgICAgICAgICAgICdUT09fTUFOWV9SRVFVRVNUUycsCisgICAgICAgICAgICAnUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRScsCisgICAgICAgICAgICAnSU5URVJOQUxfU0VSVkVSX0VSUk9SJywKKyAgICAgICAgICAgICdOT1RfSU1QTEVNRU5URUQnLAorICAgICAgICAgICAgJ0JBRF9HQVRFV0FZJywKKyAgICAgICAgICAgICdTRVJWSUNFX1VOQVZBSUxBQkxFJywKKyAgICAgICAgICAgICdHQVRFV0FZX1RJTUVPVVQnLAorICAgICAgICAgICAgJ0hUVFBfVkVSU0lPTl9OT1RfU1VQUE9SVEVEJywKKyAgICAgICAgICAgICdJTlNVRkZJQ0lFTlRfU1RPUkFHRScsCisgICAgICAgICAgICAnTk9UX0VYVEVOREVEJywKKyAgICAgICAgICAgICdORVRXT1JLX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEJywKKyAgICAgICAgXQorICAgICAgICBmb3IgY29uc3QgaW4gZXhwZWN0ZWQ6CisgICAgICAgICAgICB3aXRoIHNlbGYuc3ViVGVzdChjb25zdGFudD1jb25zdCk6CisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGhhc2F0dHIoY2xpZW50LCBjb25zdCkpCisKIAogY2xhc3MgU291cmNlQWRkcmVzc1Rlc3QoVGVzdENhc2UpOgogICAgIGRlZiBzZXRVcChzZWxmKToKICAgICAgICAgc2VsZi5zZXJ2ID0gc29ja2V0LnNvY2tldChzb2NrZXQuQUZfSU5FVCwgc29ja2V0LlNPQ0tfU1RSRUFNKQogICAgICAgICBzZWxmLnBvcnQgPSBzdXBwb3J0LmJpbmRfcG9ydChzZWxmLnNlcnYpCiAgICAgICAgIHNlbGYuc291cmNlX3BvcnQgPSBzdXBwb3J0LmZpbmRfdW51c2VkX3BvcnQoKQotICAgICAgICBzZWxmLnNlcnYubGlzdGVuKDUpCisgICAgICAgIHNlbGYuc2Vydi5saXN0ZW4oKQogICAgICAgICBzZWxmLmNvbm4gPSBOb25lCiAKICAgICBkZWYgdGVhckRvd24oc2VsZik6CkBAIC03NjUsNyArMTAzOCw3IEBACiAgICAgZGVmIHNldFVwKHNlbGYpOgogICAgICAgICBzZWxmLnNlcnYgPSBzb2NrZXQuc29ja2V0KHNvY2tldC5BRl9JTkVULCBzb2NrZXQuU09DS19TVFJFQU0pCiAgICAgICAgIFRpbWVvdXRUZXN0LlBPUlQgPSBzdXBwb3J0LmJpbmRfcG9ydChzZWxmLnNlcnYpCi0gICAgICAgIHNlbGYuc2Vydi5saXN0ZW4oNSkKKyAgICAgICAgc2VsZi5zZXJ2Lmxpc3RlbigpCiAKICAgICBkZWYgdGVhckRvd24oc2VsZik6CiAgICAgICAgIHNlbGYuc2Vydi5jbG9zZSgpCkBAIC0xMDc1LDE3ICsxMzQ4LDE4IEBACiAgICAgICAgICAgICAnSFRUUC8xLjEgMjAwIE9LXHJcbicgIyBSZXBseSB0byBIRUFECiAgICAgICAgICAgICAnQ29udGVudC1MZW5ndGg6IDQyXHJcblxyXG4nCiAgICAgICAgICkKLQotICAgICAgICBkZWYgY3JlYXRlX2Nvbm5lY3Rpb24oYWRkcmVzcywgdGltZW91dD1Ob25lLCBzb3VyY2VfYWRkcmVzcz1Ob25lKToKLSAgICAgICAgICAgIHJldHVybiBGYWtlU29ja2V0KHJlc3BvbnNlX3RleHQsIGhvc3Q9YWRkcmVzc1swXSwgcG9ydD1hZGRyZXNzWzFdKQotCiAgICAgICAgIHNlbGYuaG9zdCA9ICdwcm94eS5jb20nCiAgICAgICAgIHNlbGYuY29ubiA9IGNsaWVudC5IVFRQQ29ubmVjdGlvbihzZWxmLmhvc3QpCi0gICAgICAgIHNlbGYuY29ubi5fY3JlYXRlX2Nvbm5lY3Rpb24gPSBjcmVhdGVfY29ubmVjdGlvbgorICAgICAgICBzZWxmLmNvbm4uX2NyZWF0ZV9jb25uZWN0aW9uID0gc2VsZi5fY3JlYXRlX2Nvbm5lY3Rpb24ocmVzcG9uc2VfdGV4dCkKIAogICAgIGRlZiB0ZWFyRG93bihzZWxmKToKICAgICAgICAgc2VsZi5jb25uLmNsb3NlKCkKIAorICAgIGRlZiBfY3JlYXRlX2Nvbm5lY3Rpb24oc2VsZiwgcmVzcG9uc2VfdGV4dCk6CisgICAgICAgIGRlZiBjcmVhdGVfY29ubmVjdGlvbihhZGRyZXNzLCB0aW1lb3V0PU5vbmUsIHNvdXJjZV9hZGRyZXNzPU5vbmUpOgorICAgICAgICAgICAgcmV0dXJuIEZha2VTb2NrZXQocmVzcG9uc2VfdGV4dCwgaG9zdD1hZGRyZXNzWzBdLCBwb3J0PWFkZHJlc3NbMV0pCisgICAgICAgIHJldHVybiBjcmVhdGVfY29ubmVjdGlvbgorCiAgICAgZGVmIHRlc3Rfc2V0X3R1bm5lbF9ob3N0X3BvcnRfaGVhZGVycyhzZWxmKToKICAgICAgICAgdHVubmVsX2hvc3QgPSAnZGVzdGluYXRpb24uY29tJwogICAgICAgICB0dW5uZWxfcG9ydCA9IDg4ODgKQEAgLTExMjYsMTMgKzE0MDAsMjYgQEAKICAgICAgICAgc2VsZi5hc3NlcnRJbihiJ0NPTk5FQ1QgZGVzdGluYXRpb24uY29tJywgc2VsZi5jb25uLnNvY2suZGF0YSkKICAgICAgICAgc2VsZi5hc3NlcnRJbihiJ0hvc3Q6IGRlc3RpbmF0aW9uLmNvbScsIHNlbGYuY29ubi5zb2NrLmRhdGEpCiAKKyAgICBkZWYgdGVzdF90dW5uZWxfZGVidWdsb2coc2VsZik6CisgICAgICAgIGV4cGVjdGVkX2hlYWRlciA9ICdYLUR1bW15OiAxJworICAgICAgICByZXNwb25zZV90ZXh0ID0gJ0hUVFAvMS4wIDIwMCBPS1xyXG57fVxyXG5cclxuJy5mb3JtYXQoZXhwZWN0ZWRfaGVhZGVyKQorCisgICAgICAgIHNlbGYuY29ubi5zZXRfZGVidWdsZXZlbCgxKQorICAgICAgICBzZWxmLmNvbm4uX2NyZWF0ZV9jb25uZWN0aW9uID0gc2VsZi5fY3JlYXRlX2Nvbm5lY3Rpb24ocmVzcG9uc2VfdGV4dCkKKyAgICAgICAgc2VsZi5jb25uLnNldF90dW5uZWwoJ2Rlc3RpbmF0aW9uLmNvbScpCisKKyAgICAgICAgd2l0aCBzdXBwb3J0LmNhcHR1cmVkX3N0ZG91dCgpIGFzIG91dHB1dDoKKyAgICAgICAgICAgIHNlbGYuY29ubi5yZXF1ZXN0KCdQVVQnLCAnLycsICcnKQorICAgICAgICBsaW5lcyA9IG91dHB1dC5nZXR2YWx1ZSgpLnNwbGl0bGluZXMoKQorICAgICAgICBzZWxmLmFzc2VydEluKCdoZWFkZXI6IHt9Jy5mb3JtYXQoZXhwZWN0ZWRfaGVhZGVyKSwgbGluZXMpCiAKIAogQHN1cHBvcnQucmVhcF90aHJlYWRzCiBkZWYgdGVzdF9tYWluKHZlcmJvc2U9Tm9uZSk6CiAgICAgc3VwcG9ydC5ydW5fdW5pdHRlc3QoSGVhZGVyVGVzdHMsIE9mZmxpbmVUZXN0LCBCYXNpY1Rlc3QsIFRpbWVvdXRUZXN0LAogICAgICAgICAgICAgICAgICAgICAgICAgIEhUVFBTVGVzdCwgUmVxdWVzdEJvZHlUZXN0LCBTb3VyY2VBZGRyZXNzVGVzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICBIVFRQUmVzcG9uc2VUZXN0LCBUdW5uZWxUZXN0cykKKyAgICAgICAgICAgICAgICAgICAgICAgICBIVFRQUmVzcG9uc2VUZXN0LCBFeHRlbmRlZFJlYWRUZXN0LAorICAgICAgICAgICAgICAgICAgICAgICAgIEV4dGVuZGVkUmVhZFRlc3RDaHVua2VkLCBUdW5uZWxUZXN0cykKIAogaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKICAgICB0ZXN0X21haW4oKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9odHRwc2VydmVycy5weSBiL0xpYi90ZXN0L3Rlc3RfaHR0cHNlcnZlcnMucHkKaW5kZXggNzRlMDcxNC4uZmNkZmU1MSAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9odHRwc2VydmVycy5weQorKysgYi9MaWIvdGVzdC90ZXN0X2h0dHBzZXJ2ZXJzLnB5CkBAIC02LDcgKzYsNyBAQAogCiBmcm9tIGh0dHAuc2VydmVyIGltcG9ydCBCYXNlSFRUUFJlcXVlc3RIYW5kbGVyLCBIVFRQU2VydmVyLCBcCiAgICAgIFNpbXBsZUhUVFBSZXF1ZXN0SGFuZGxlciwgQ0dJSFRUUFJlcXVlc3RIYW5kbGVyCi1mcm9tIGh0dHAgaW1wb3J0IHNlcnZlcgorZnJvbSBodHRwIGltcG9ydCBzZXJ2ZXIsIEhUVFBTdGF0dXMKIAogaW1wb3J0IG9zCiBpbXBvcnQgc3lzCkBAIC03OSwxMyArNzksMTMgQEAKICAgICAgICAgZGVmYXVsdF9yZXF1ZXN0X3ZlcnNpb24gPSAnSFRUUC8xLjEnCiAKICAgICAgICAgZGVmIGRvX1RFU1Qoc2VsZik6Ci0gICAgICAgICAgICBzZWxmLnNlbmRfcmVzcG9uc2UoMjA0KQorICAgICAgICAgICAgc2VsZi5zZW5kX3Jlc3BvbnNlKEhUVFBTdGF0dXMuTk9fQ09OVEVOVCkKICAgICAgICAgICAgIHNlbGYuc2VuZF9oZWFkZXIoJ0NvbnRlbnQtVHlwZScsICd0ZXh0L2h0bWwnKQogICAgICAgICAgICAgc2VsZi5zZW5kX2hlYWRlcignQ29ubmVjdGlvbicsICdjbG9zZScpCiAgICAgICAgICAgICBzZWxmLmVuZF9oZWFkZXJzKCkKIAogICAgICAgICBkZWYgZG9fS0VFUChzZWxmKToKLSAgICAgICAgICAgIHNlbGYuc2VuZF9yZXNwb25zZSgyMDQpCisgICAgICAgICAgICBzZWxmLnNlbmRfcmVzcG9uc2UoSFRUUFN0YXR1cy5OT19DT05URU5UKQogICAgICAgICAgICAgc2VsZi5zZW5kX2hlYWRlcignQ29udGVudC1UeXBlJywgJ3RleHQvaHRtbCcpCiAgICAgICAgICAgICBzZWxmLnNlbmRfaGVhZGVyKCdDb25uZWN0aW9uJywgJ2tlZXAtYWxpdmUnKQogICAgICAgICAgICAgc2VsZi5lbmRfaGVhZGVycygpCkBAIC05NCw3ICs5NCw3IEBACiAgICAgICAgICAgICBzZWxmLnNlbmRfZXJyb3IoOTk5KQogCiAgICAgICAgIGRlZiBkb19OT1RGT1VORChzZWxmKToKLSAgICAgICAgICAgIHNlbGYuc2VuZF9lcnJvcig0MDQpCisgICAgICAgICAgICBzZWxmLnNlbmRfZXJyb3IoSFRUUFN0YXR1cy5OT1RfRk9VTkQpCiAKICAgICAgICAgZGVmIGRvX0VYUExBSU5FUlJPUihzZWxmKToKICAgICAgICAgICAgIHNlbGYuc2VuZF9lcnJvcig5OTksICJTaG9ydCBNZXNzYWdlIiwKQEAgLTEyMiwzNSArMTIyLDM1IEBACiAgICAgZGVmIHRlc3RfY29tbWFuZChzZWxmKToKICAgICAgICAgc2VsZi5jb24ucmVxdWVzdCgnR0VUJywgJy8nKQogICAgICAgICByZXMgPSBzZWxmLmNvbi5nZXRyZXNwb25zZSgpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVzLnN0YXR1cywgNTAxKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlcy5zdGF0dXMsIEhUVFBTdGF0dXMuTk9UX0lNUExFTUVOVEVEKQogCiAgICAgZGVmIHRlc3RfcmVxdWVzdF9saW5lX3RyaW1taW5nKHNlbGYpOgogICAgICAgICBzZWxmLmNvbi5faHR0cF92c25fc3RyID0gJ0hUVFAvMS4xXG4nCiAgICAgICAgIHNlbGYuY29uLnB1dHJlcXVlc3QoJ1hZWkJPR1VTJywgJy8nKQogICAgICAgICBzZWxmLmNvbi5lbmRoZWFkZXJzKCkKICAgICAgICAgcmVzID0gc2VsZi5jb24uZ2V0cmVzcG9uc2UoKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlcy5zdGF0dXMsIDUwMSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXMuc3RhdHVzLCBIVFRQU3RhdHVzLk5PVF9JTVBMRU1FTlRFRCkKIAogICAgIGRlZiB0ZXN0X3ZlcnNpb25fYm9ndXMoc2VsZik6CiAgICAgICAgIHNlbGYuY29uLl9odHRwX3Zzbl9zdHIgPSAnRlVCQVInCiAgICAgICAgIHNlbGYuY29uLnB1dHJlcXVlc3QoJ0dFVCcsICcvJykKICAgICAgICAgc2VsZi5jb24uZW5kaGVhZGVycygpCiAgICAgICAgIHJlcyA9IHNlbGYuY29uLmdldHJlc3BvbnNlKCkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXMuc3RhdHVzLCA0MDApCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVzLnN0YXR1cywgSFRUUFN0YXR1cy5CQURfUkVRVUVTVCkKIAogICAgIGRlZiB0ZXN0X3ZlcnNpb25fZGlnaXRzKHNlbGYpOgogICAgICAgICBzZWxmLmNvbi5faHR0cF92c25fc3RyID0gJ0hUVFAvOS45LjknCiAgICAgICAgIHNlbGYuY29uLnB1dHJlcXVlc3QoJ0dFVCcsICcvJykKICAgICAgICAgc2VsZi5jb24uZW5kaGVhZGVycygpCiAgICAgICAgIHJlcyA9IHNlbGYuY29uLmdldHJlc3BvbnNlKCkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXMuc3RhdHVzLCA0MDApCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVzLnN0YXR1cywgSFRUUFN0YXR1cy5CQURfUkVRVUVTVCkKIAogICAgIGRlZiB0ZXN0X3ZlcnNpb25fbm9uZV9nZXQoc2VsZik6CiAgICAgICAgIHNlbGYuY29uLl9odHRwX3Zzbl9zdHIgPSAnJwogICAgICAgICBzZWxmLmNvbi5wdXRyZXF1ZXN0KCdHRVQnLCAnLycpCiAgICAgICAgIHNlbGYuY29uLmVuZGhlYWRlcnMoKQogICAgICAgICByZXMgPSBzZWxmLmNvbi5nZXRyZXNwb25zZSgpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVzLnN0YXR1cywgNTAxKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlcy5zdGF0dXMsIEhUVFBTdGF0dXMuTk9UX0lNUExFTUVOVEVEKQogCiAgICAgZGVmIHRlc3RfdmVyc2lvbl9ub25lKHNlbGYpOgogICAgICAgICAjIFRlc3QgdGhhdCBhIHZhbGlkIG1ldGhvZCBpcyByZWplY3RlZCB3aGVuIG5vdCBIVFRQLzEueApAQCAtMTU4LDcgKzE1OCw3IEBACiAgICAgICAgIHNlbGYuY29uLnB1dHJlcXVlc3QoJ0NVU1RPTScsICcvJykKICAgICAgICAgc2VsZi5jb24uZW5kaGVhZGVycygpCiAgICAgICAgIHJlcyA9IHNlbGYuY29uLmdldHJlc3BvbnNlKCkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXMuc3RhdHVzLCA0MDApCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVzLnN0YXR1cywgSFRUUFN0YXR1cy5CQURfUkVRVUVTVCkKIAogICAgIGRlZiB0ZXN0X3ZlcnNpb25faW52YWxpZChzZWxmKToKICAgICAgICAgc2VsZi5jb24uX2h0dHBfdnNuID0gOTkKQEAgLTE2NiwyMSArMTY2LDIxIEBACiAgICAgICAgIHNlbGYuY29uLnB1dHJlcXVlc3QoJ0dFVCcsICcvJykKICAgICAgICAgc2VsZi5jb24uZW5kaGVhZGVycygpCiAgICAgICAgIHJlcyA9IHNlbGYuY29uLmdldHJlc3BvbnNlKCkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXMuc3RhdHVzLCA1MDUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVzLnN0YXR1cywgSFRUUFN0YXR1cy5IVFRQX1ZFUlNJT05fTk9UX1NVUFBPUlRFRCkKIAogICAgIGRlZiB0ZXN0X3NlbmRfYmxhbmsoc2VsZik6CiAgICAgICAgIHNlbGYuY29uLl9odHRwX3Zzbl9zdHIgPSAnJwogICAgICAgICBzZWxmLmNvbi5wdXRyZXF1ZXN0KCcnLCAnJykKICAgICAgICAgc2VsZi5jb24uZW5kaGVhZGVycygpCiAgICAgICAgIHJlcyA9IHNlbGYuY29uLmdldHJlc3BvbnNlKCkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXMuc3RhdHVzLCA0MDApCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVzLnN0YXR1cywgSFRUUFN0YXR1cy5CQURfUkVRVUVTVCkKIAogICAgIGRlZiB0ZXN0X2hlYWRlcl9jbG9zZShzZWxmKToKICAgICAgICAgc2VsZi5jb24ucHV0cmVxdWVzdCgnR0VUJywgJy8nKQogICAgICAgICBzZWxmLmNvbi5wdXRoZWFkZXIoJ0Nvbm5lY3Rpb24nLCAnY2xvc2UnKQogICAgICAgICBzZWxmLmNvbi5lbmRoZWFkZXJzKCkKICAgICAgICAgcmVzID0gc2VsZi5jb24uZ2V0cmVzcG9uc2UoKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlcy5zdGF0dXMsIDUwMSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXMuc3RhdHVzLCBIVFRQU3RhdHVzLk5PVF9JTVBMRU1FTlRFRCkKIAogICAgIGRlZiB0ZXN0X2hlYWRfa2VlcF9hbGl2ZShzZWxmKToKICAgICAgICAgc2VsZi5jb24uX2h0dHBfdnNuX3N0ciA9ICdIVFRQLzEuMScKQEAgLTE4OCwxMiArMTg4LDEyIEBACiAgICAgICAgIHNlbGYuY29uLnB1dGhlYWRlcignQ29ubmVjdGlvbicsICdrZWVwLWFsaXZlJykKICAgICAgICAgc2VsZi5jb24uZW5kaGVhZGVycygpCiAgICAgICAgIHJlcyA9IHNlbGYuY29uLmdldHJlc3BvbnNlKCkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXMuc3RhdHVzLCA1MDEpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVzLnN0YXR1cywgSFRUUFN0YXR1cy5OT1RfSU1QTEVNRU5URUQpCiAKICAgICBkZWYgdGVzdF9oYW5kbGVyKHNlbGYpOgogICAgICAgICBzZWxmLmNvbi5yZXF1ZXN0KCdURVNUJywgJy8nKQogICAgICAgICByZXMgPSBzZWxmLmNvbi5nZXRyZXNwb25zZSgpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVzLnN0YXR1cywgMjA0KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlcy5zdGF0dXMsIEhUVFBTdGF0dXMuTk9fQ09OVEVOVCkKIAogICAgIGRlZiB0ZXN0X3JldHVybl9oZWFkZXJfa2VlcF9hbGl2ZShzZWxmKToKICAgICAgICAgc2VsZi5jb24ucmVxdWVzdCgnS0VFUCcsICcvJykKQEAgLTIzMCwxMSArMjMwLDQ4IEBACiAgICAgICAgICMgSXNzdWUgIzE2MDg4OiBzdGFuZGFyZCBlcnJvciByZXNwb25zZXMgc2hvdWxkIGhhdmUgYSBjb250ZW50LWxlbmd0aAogICAgICAgICBzZWxmLmNvbi5yZXF1ZXN0KCdOT1RGT1VORCcsICcvJykKICAgICAgICAgcmVzID0gc2VsZi5jb24uZ2V0cmVzcG9uc2UoKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlcy5zdGF0dXMsIDQwNCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXMuc3RhdHVzLCBIVFRQU3RhdHVzLk5PVF9GT1VORCkKKwogICAgICAgICBkYXRhID0gcmVzLnJlYWQoKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGludChyZXMuZ2V0aGVhZGVyKCdDb250ZW50LUxlbmd0aCcpKSwgbGVuKGRhdGEpKQogCiAKK2NsYXNzIFJlcXVlc3RIYW5kbGVyTG9nZ2luZ1Rlc3RDYXNlKEJhc2VUZXN0Q2FzZSk6CisgICAgY2xhc3MgcmVxdWVzdF9oYW5kbGVyKEJhc2VIVFRQUmVxdWVzdEhhbmRsZXIpOgorICAgICAgICBwcm90b2NvbF92ZXJzaW9uID0gJ0hUVFAvMS4xJworICAgICAgICBkZWZhdWx0X3JlcXVlc3RfdmVyc2lvbiA9ICdIVFRQLzEuMScKKworICAgICAgICBkZWYgZG9fR0VUKHNlbGYpOgorICAgICAgICAgICAgc2VsZi5zZW5kX3Jlc3BvbnNlKEhUVFBTdGF0dXMuT0spCisgICAgICAgICAgICBzZWxmLmVuZF9oZWFkZXJzKCkKKworICAgICAgICBkZWYgZG9fRVJST1Ioc2VsZik6CisgICAgICAgICAgICBzZWxmLnNlbmRfZXJyb3IoSFRUUFN0YXR1cy5OT1RfRk9VTkQsICdGaWxlIG5vdCBmb3VuZCcpCisKKyAgICBkZWYgdGVzdF9nZXQoc2VsZik6CisgICAgICAgIHNlbGYuY29uID0gaHR0cC5jbGllbnQuSFRUUENvbm5lY3Rpb24oc2VsZi5IT1NULCBzZWxmLlBPUlQpCisgICAgICAgIHNlbGYuY29uLmNvbm5lY3QoKQorCisgICAgICAgIHdpdGggc3VwcG9ydC5jYXB0dXJlZF9zdGRlcnIoKSBhcyBlcnI6CisgICAgICAgICAgICBzZWxmLmNvbi5yZXF1ZXN0KCdHRVQnLCAnLycpCisgICAgICAgICAgICBzZWxmLmNvbi5nZXRyZXNwb25zZSgpCisKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKAorICAgICAgICAgICAgZXJyLmdldHZhbHVlKCkuZW5kc3dpdGgoJyJHRVQgLyBIVFRQLzEuMSIgMjAwIC1cbicpKQorCisgICAgZGVmIHRlc3RfZXJyKHNlbGYpOgorICAgICAgICBzZWxmLmNvbiA9IGh0dHAuY2xpZW50LkhUVFBDb25uZWN0aW9uKHNlbGYuSE9TVCwgc2VsZi5QT1JUKQorICAgICAgICBzZWxmLmNvbi5jb25uZWN0KCkKKworICAgICAgICB3aXRoIHN1cHBvcnQuY2FwdHVyZWRfc3RkZXJyKCkgYXMgZXJyOgorICAgICAgICAgICAgc2VsZi5jb24ucmVxdWVzdCgnRVJST1InLCAnLycpCisgICAgICAgICAgICBzZWxmLmNvbi5nZXRyZXNwb25zZSgpCisKKyAgICAgICAgbGluZXMgPSBlcnIuZ2V0dmFsdWUoKS5zcGxpdCgnXG4nKQorICAgICAgICBzZWxmLmFzc2VydFRydWUobGluZXNbMF0uZW5kc3dpdGgoJ2NvZGUgNDA0LCBtZXNzYWdlIEZpbGUgbm90IGZvdW5kJykpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShsaW5lc1sxXS5lbmRzd2l0aCgnIkVSUk9SIC8gSFRUUC8xLjEiIDQwNCAtJykpCisKKwogY2xhc3MgU2ltcGxlSFRUUFNlcnZlclRlc3RDYXNlKEJhc2VUZXN0Q2FzZSk6CiAgICAgY2xhc3MgcmVxdWVzdF9oYW5kbGVyKE5vTG9nUmVxdWVzdEhhbmRsZXIsIFNpbXBsZUhUVFBSZXF1ZXN0SGFuZGxlcik6CiAgICAgICAgIHBhc3MKQEAgLTI4NSw1MiArMzIyLDUyIEBACiAgICAgICAgICAgICAgICAgaWYgbmFtZSAhPSAndGVzdCc6ICMgSWdub3JlIGEgZmlsZW5hbWUgY3JlYXRlZCBpbiBzZXRVcCgpLgogICAgICAgICAgICAgICAgICAgICBmaWxlbmFtZSA9IG5hbWUKICAgICAgICAgICAgICAgICAgICAgYnJlYWsKLSAgICAgICAgYm9keSA9IHNlbGYuY2hlY2tfc3RhdHVzX2FuZF9yZWFzb24ocmVzcG9uc2UsIDIwMCkKKyAgICAgICAgYm9keSA9IHNlbGYuY2hlY2tfc3RhdHVzX2FuZF9yZWFzb24ocmVzcG9uc2UsIEhUVFBTdGF0dXMuT0spCiAgICAgICAgIHF1b3RlZG5hbWUgPSB1cmxsaWIucGFyc2UucXVvdGUoZmlsZW5hbWUsIGVycm9ycz0nc3Vycm9nYXRlcGFzcycpCiAgICAgICAgIHNlbGYuYXNzZXJ0SW4oKCdocmVmPSIlcyInICUgcXVvdGVkbmFtZSkKICAgICAgICAgICAgICAgICAgICAgICAuZW5jb2RlKGVuYywgJ3N1cnJvZ2F0ZWVzY2FwZScpLCBib2R5KQogICAgICAgICBzZWxmLmFzc2VydEluKCgnPiVzPCcgJSBodG1sLmVzY2FwZShmaWxlbmFtZSkpCiAgICAgICAgICAgICAgICAgICAgICAgLmVuY29kZShlbmMsICdzdXJyb2dhdGVlc2NhcGUnKSwgYm9keSkKICAgICAgICAgcmVzcG9uc2UgPSBzZWxmLnJlcXVlc3Qoc2VsZi50ZW1wZGlyX25hbWUgKyAnLycgKyBxdW90ZWRuYW1lKQotICAgICAgICBzZWxmLmNoZWNrX3N0YXR1c19hbmRfcmVhc29uKHJlc3BvbnNlLCAyMDAsCisgICAgICAgIHNlbGYuY2hlY2tfc3RhdHVzX2FuZF9yZWFzb24ocmVzcG9uc2UsIEhUVFBTdGF0dXMuT0ssCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YT1zdXBwb3J0LlRFU1RGTl9VTkRFQ09EQUJMRSkKIAogICAgIGRlZiB0ZXN0X2dldChzZWxmKToKICAgICAgICAgI2NvbnN0cnVjdHMgdGhlIHBhdGggcmVsYXRpdmUgdG8gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoZSBIVFRQU2VydmVyCiAgICAgICAgIHJlc3BvbnNlID0gc2VsZi5yZXF1ZXN0KHNlbGYudGVtcGRpcl9uYW1lICsgJy90ZXN0JykKLSAgICAgICAgc2VsZi5jaGVja19zdGF0dXNfYW5kX3JlYXNvbihyZXNwb25zZSwgMjAwLCBkYXRhPXNlbGYuZGF0YSkKKyAgICAgICAgc2VsZi5jaGVja19zdGF0dXNfYW5kX3JlYXNvbihyZXNwb25zZSwgSFRUUFN0YXR1cy5PSywgZGF0YT1zZWxmLmRhdGEpCiAgICAgICAgICMgY2hlY2sgZm9yIHRyYWlsaW5nICIvIiB3aGljaCBzaG91bGQgcmV0dXJuIDQwNC4gU2VlIElzc3VlMTczMjQKICAgICAgICAgcmVzcG9uc2UgPSBzZWxmLnJlcXVlc3Qoc2VsZi50ZW1wZGlyX25hbWUgKyAnL3Rlc3QvJykKLSAgICAgICAgc2VsZi5jaGVja19zdGF0dXNfYW5kX3JlYXNvbihyZXNwb25zZSwgNDA0KQorICAgICAgICBzZWxmLmNoZWNrX3N0YXR1c19hbmRfcmVhc29uKHJlc3BvbnNlLCBIVFRQU3RhdHVzLk5PVF9GT1VORCkKICAgICAgICAgcmVzcG9uc2UgPSBzZWxmLnJlcXVlc3Qoc2VsZi50ZW1wZGlyX25hbWUgKyAnLycpCi0gICAgICAgIHNlbGYuY2hlY2tfc3RhdHVzX2FuZF9yZWFzb24ocmVzcG9uc2UsIDIwMCkKKyAgICAgICAgc2VsZi5jaGVja19zdGF0dXNfYW5kX3JlYXNvbihyZXNwb25zZSwgSFRUUFN0YXR1cy5PSykKICAgICAgICAgcmVzcG9uc2UgPSBzZWxmLnJlcXVlc3Qoc2VsZi50ZW1wZGlyX25hbWUpCi0gICAgICAgIHNlbGYuY2hlY2tfc3RhdHVzX2FuZF9yZWFzb24ocmVzcG9uc2UsIDMwMSkKKyAgICAgICAgc2VsZi5jaGVja19zdGF0dXNfYW5kX3JlYXNvbihyZXNwb25zZSwgSFRUUFN0YXR1cy5NT1ZFRF9QRVJNQU5FTlRMWSkKICAgICAgICAgcmVzcG9uc2UgPSBzZWxmLnJlcXVlc3Qoc2VsZi50ZW1wZGlyX25hbWUgKyAnLz9oaT0yJykKLSAgICAgICAgc2VsZi5jaGVja19zdGF0dXNfYW5kX3JlYXNvbihyZXNwb25zZSwgMjAwKQorICAgICAgICBzZWxmLmNoZWNrX3N0YXR1c19hbmRfcmVhc29uKHJlc3BvbnNlLCBIVFRQU3RhdHVzLk9LKQogICAgICAgICByZXNwb25zZSA9IHNlbGYucmVxdWVzdChzZWxmLnRlbXBkaXJfbmFtZSArICc/aGk9MScpCi0gICAgICAgIHNlbGYuY2hlY2tfc3RhdHVzX2FuZF9yZWFzb24ocmVzcG9uc2UsIDMwMSkKKyAgICAgICAgc2VsZi5jaGVja19zdGF0dXNfYW5kX3JlYXNvbihyZXNwb25zZSwgSFRUUFN0YXR1cy5NT1ZFRF9QRVJNQU5FTlRMWSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXNwb25zZS5nZXRoZWFkZXIoIkxvY2F0aW9uIiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi50ZW1wZGlyX25hbWUgKyAiLz9oaT0xIikKICAgICAgICAgcmVzcG9uc2UgPSBzZWxmLnJlcXVlc3QoJy9UaGlzRG9lc05vdEV4aXN0JykKLSAgICAgICAgc2VsZi5jaGVja19zdGF0dXNfYW5kX3JlYXNvbihyZXNwb25zZSwgNDA0KQorICAgICAgICBzZWxmLmNoZWNrX3N0YXR1c19hbmRfcmVhc29uKHJlc3BvbnNlLCBIVFRQU3RhdHVzLk5PVF9GT1VORCkKICAgICAgICAgcmVzcG9uc2UgPSBzZWxmLnJlcXVlc3QoJy8nICsgJ1RoaXNEb2VzTm90RXhpc3QnICsgJy8nKQotICAgICAgICBzZWxmLmNoZWNrX3N0YXR1c19hbmRfcmVhc29uKHJlc3BvbnNlLCA0MDQpCisgICAgICAgIHNlbGYuY2hlY2tfc3RhdHVzX2FuZF9yZWFzb24ocmVzcG9uc2UsIEhUVFBTdGF0dXMuTk9UX0ZPVU5EKQogICAgICAgICB3aXRoIG9wZW4ob3MucGF0aC5qb2luKHNlbGYudGVtcGRpcl9uYW1lLCAnaW5kZXguaHRtbCcpLCAndycpIGFzIGY6CiAgICAgICAgICAgICByZXNwb25zZSA9IHNlbGYucmVxdWVzdCgnLycgKyBzZWxmLnRlbXBkaXJfbmFtZSArICcvJykKLSAgICAgICAgICAgIHNlbGYuY2hlY2tfc3RhdHVzX2FuZF9yZWFzb24ocmVzcG9uc2UsIDIwMCkKKyAgICAgICAgICAgIHNlbGYuY2hlY2tfc3RhdHVzX2FuZF9yZWFzb24ocmVzcG9uc2UsIEhUVFBTdGF0dXMuT0spCiAgICAgICAgICAgICAjIGNobW9kKCkgZG9lc24ndCB3b3JrIGFzIGV4cGVjdGVkIG9uIFdpbmRvd3MsIGFuZCBmaWxlc3lzdGVtCiAgICAgICAgICAgICAjIHBlcm1pc3Npb25zIGFyZSBpZ25vcmVkIGJ5IHJvb3Qgb24gVW5peC4KICAgICAgICAgICAgIGlmIG9zLm5hbWUgPT0gJ3Bvc2l4JyBhbmQgb3MuZ2V0ZXVpZCgpICE9IDA6CiAgICAgICAgICAgICAgICAgb3MuY2htb2Qoc2VsZi50ZW1wZGlyLCAwKQogICAgICAgICAgICAgICAgIHJlc3BvbnNlID0gc2VsZi5yZXF1ZXN0KHNlbGYudGVtcGRpcl9uYW1lICsgJy8nKQotICAgICAgICAgICAgICAgIHNlbGYuY2hlY2tfc3RhdHVzX2FuZF9yZWFzb24ocmVzcG9uc2UsIDQwNCkKKyAgICAgICAgICAgICAgICBzZWxmLmNoZWNrX3N0YXR1c19hbmRfcmVhc29uKHJlc3BvbnNlLCBIVFRQU3RhdHVzLk5PVF9GT1VORCkKICAgICAgICAgICAgICAgICBvcy5jaG1vZChzZWxmLnRlbXBkaXIsIDBvNzU1KQogCiAgICAgZGVmIHRlc3RfaGVhZChzZWxmKToKICAgICAgICAgcmVzcG9uc2UgPSBzZWxmLnJlcXVlc3QoCiAgICAgICAgICAgICBzZWxmLnRlbXBkaXJfbmFtZSArICcvdGVzdCcsIG1ldGhvZD0nSEVBRCcpCi0gICAgICAgIHNlbGYuY2hlY2tfc3RhdHVzX2FuZF9yZWFzb24ocmVzcG9uc2UsIDIwMCkKKyAgICAgICAgc2VsZi5jaGVja19zdGF0dXNfYW5kX3JlYXNvbihyZXNwb25zZSwgSFRUUFN0YXR1cy5PSykKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXNwb25zZS5nZXRoZWFkZXIoJ2NvbnRlbnQtbGVuZ3RoJyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyKGxlbihzZWxmLmRhdGEpKSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXNwb25zZS5nZXRoZWFkZXIoJ2NvbnRlbnQtdHlwZScpLApAQCAtMzM4LDEyICszNzUsMTIgQEAKIAogICAgIGRlZiB0ZXN0X2ludmFsaWRfcmVxdWVzdHMoc2VsZik6CiAgICAgICAgIHJlc3BvbnNlID0gc2VsZi5yZXF1ZXN0KCcvJywgbWV0aG9kPSdGT08nKQotICAgICAgICBzZWxmLmNoZWNrX3N0YXR1c19hbmRfcmVhc29uKHJlc3BvbnNlLCA1MDEpCisgICAgICAgIHNlbGYuY2hlY2tfc3RhdHVzX2FuZF9yZWFzb24ocmVzcG9uc2UsIEhUVFBTdGF0dXMuTk9UX0lNUExFTUVOVEVEKQogICAgICAgICAjIHJlcXVlc3RzIG11c3QgYmUgY2FzZSBzZW5zaXRpdmUsc28gdGhpcyBzaG91bGQgZmFpbCB0b28KICAgICAgICAgcmVzcG9uc2UgPSBzZWxmLnJlcXVlc3QoJy8nLCBtZXRob2Q9J2N1c3RvbScpCi0gICAgICAgIHNlbGYuY2hlY2tfc3RhdHVzX2FuZF9yZWFzb24ocmVzcG9uc2UsIDUwMSkKKyAgICAgICAgc2VsZi5jaGVja19zdGF0dXNfYW5kX3JlYXNvbihyZXNwb25zZSwgSFRUUFN0YXR1cy5OT1RfSU1QTEVNRU5URUQpCiAgICAgICAgIHJlc3BvbnNlID0gc2VsZi5yZXF1ZXN0KCcvJywgbWV0aG9kPSdHRVRzJykKLSAgICAgICAgc2VsZi5jaGVja19zdGF0dXNfYW5kX3JlYXNvbihyZXNwb25zZSwgNTAxKQorICAgICAgICBzZWxmLmNoZWNrX3N0YXR1c19hbmRfcmVhc29uKHJlc3BvbnNlLCBIVFRQU3RhdHVzLk5PVF9JTVBMRU1FTlRFRCkKIAogCiBjZ2lfZmlsZTEgPSAiIiJcCkBAIC00OTAsMTIgKzUyNywxMyBAQAogCiAgICAgZGVmIHRlc3RfaGVhZGVyc19hbmRfY29udGVudChzZWxmKToKICAgICAgICAgcmVzID0gc2VsZi5yZXF1ZXN0KCcvY2dpLWJpbi9maWxlMS5weScpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoKGInSGVsbG8gV29ybGQnICsgc2VsZi5saW5lc2VwLCAndGV4dC9odG1sJywgMjAwKSwKLSAgICAgICAgICAgIChyZXMucmVhZCgpLCByZXMuZ2V0aGVhZGVyKCdDb250ZW50LXR5cGUnKSwgcmVzLnN0YXR1cykpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisgICAgICAgICAgICAocmVzLnJlYWQoKSwgcmVzLmdldGhlYWRlcignQ29udGVudC10eXBlJyksIHJlcy5zdGF0dXMpLAorICAgICAgICAgICAgKGInSGVsbG8gV29ybGQnICsgc2VsZi5saW5lc2VwLCAndGV4dC9odG1sJywgSFRUUFN0YXR1cy5PSykpCiAKICAgICBkZWYgdGVzdF9pc3N1ZTE5NDM1KHNlbGYpOgogICAgICAgICByZXMgPSBzZWxmLnJlcXVlc3QoJy8vLy8vLy8vLy8vbm9jZ2kucHkvLi4vY2dpLWJpbi9ub3RoZXJlLnNoJykKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXMuc3RhdHVzLCA0MDQpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVzLnN0YXR1cywgSFRUUFN0YXR1cy5OT1RfRk9VTkQpCiAKICAgICBkZWYgdGVzdF9wb3N0KHNlbGYpOgogICAgICAgICBwYXJhbXMgPSB1cmxsaWIucGFyc2UudXJsZW5jb2RlKApAQCAtNTA4LDM4ICs1NDYsNDMgQEAKICAgICBkZWYgdGVzdF9pbnZhbGlkdXJpKHNlbGYpOgogICAgICAgICByZXMgPSBzZWxmLnJlcXVlc3QoJy9jZ2ktYmluL2ludmFsaWQnKQogICAgICAgICByZXMucmVhZCgpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVzLnN0YXR1cywgNDA0KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlcy5zdGF0dXMsIEhUVFBTdGF0dXMuTk9UX0ZPVU5EKQogCiAgICAgZGVmIHRlc3RfYXV0aG9yaXphdGlvbihzZWxmKToKICAgICAgICAgaGVhZGVycyA9IHtiJ0F1dGhvcml6YXRpb24nIDogYidCYXNpYyAnICsKICAgICAgICAgICAgICAgICAgICBiYXNlNjQuYjY0ZW5jb2RlKGIndXNlcm5hbWU6cGFzcycpfQogICAgICAgICByZXMgPSBzZWxmLnJlcXVlc3QoJy9jZ2ktYmluL2ZpbGUxLnB5JywgJ0dFVCcsIGhlYWRlcnM9aGVhZGVycykKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgoYidIZWxsbyBXb3JsZCcgKyBzZWxmLmxpbmVzZXAsICd0ZXh0L2h0bWwnLCAyMDApLAotICAgICAgICAgICAgICAgIChyZXMucmVhZCgpLCByZXMuZ2V0aGVhZGVyKCdDb250ZW50LXR5cGUnKSwgcmVzLnN0YXR1cykpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisgICAgICAgICAgICAoYidIZWxsbyBXb3JsZCcgKyBzZWxmLmxpbmVzZXAsICd0ZXh0L2h0bWwnLCBIVFRQU3RhdHVzLk9LKSwKKyAgICAgICAgICAgIChyZXMucmVhZCgpLCByZXMuZ2V0aGVhZGVyKCdDb250ZW50LXR5cGUnKSwgcmVzLnN0YXR1cykpCiAKICAgICBkZWYgdGVzdF9ub19sZWFkaW5nX3NsYXNoKHNlbGYpOgogICAgICAgICAjIGh0dHA6Ly9idWdzLnB5dGhvbi5vcmcvaXNzdWUyMjU0CiAgICAgICAgIHJlcyA9IHNlbGYucmVxdWVzdCgnY2dpLWJpbi9maWxlMS5weScpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoKGInSGVsbG8gV29ybGQnICsgc2VsZi5saW5lc2VwLCAndGV4dC9odG1sJywgMjAwKSwKLSAgICAgICAgICAgICAocmVzLnJlYWQoKSwgcmVzLmdldGhlYWRlcignQ29udGVudC10eXBlJyksIHJlcy5zdGF0dXMpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAorICAgICAgICAgICAgKGInSGVsbG8gV29ybGQnICsgc2VsZi5saW5lc2VwLCAndGV4dC9odG1sJywgSFRUUFN0YXR1cy5PSyksCisgICAgICAgICAgICAocmVzLnJlYWQoKSwgcmVzLmdldGhlYWRlcignQ29udGVudC10eXBlJyksIHJlcy5zdGF0dXMpKQogCiAgICAgZGVmIHRlc3Rfb3NfZW52aXJvbl9pc19ub3RfYWx0ZXJlZChzZWxmKToKICAgICAgICAgc2lnbmF0dXJlID0gIlRlc3QgQ0dJIFNlcnZlciIKICAgICAgICAgb3MuZW52aXJvblsnU0VSVkVSX1NPRlRXQVJFJ10gPSBzaWduYXR1cmUKICAgICAgICAgcmVzID0gc2VsZi5yZXF1ZXN0KCcvY2dpLWJpbi9maWxlMS5weScpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoKGInSGVsbG8gV29ybGQnICsgc2VsZi5saW5lc2VwLCAndGV4dC9odG1sJywgMjAwKSwKLSAgICAgICAgICAgICAgICAocmVzLnJlYWQoKSwgcmVzLmdldGhlYWRlcignQ29udGVudC10eXBlJyksIHJlcy5zdGF0dXMpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAorICAgICAgICAgICAgKGInSGVsbG8gV29ybGQnICsgc2VsZi5saW5lc2VwLCAndGV4dC9odG1sJywgSFRUUFN0YXR1cy5PSyksCisgICAgICAgICAgICAocmVzLnJlYWQoKSwgcmVzLmdldGhlYWRlcignQ29udGVudC10eXBlJyksIHJlcy5zdGF0dXMpKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG9zLmVudmlyb25bJ1NFUlZFUl9TT0ZUV0FSRSddLCBzaWduYXR1cmUpCiAKICAgICBkZWYgdGVzdF91cmxxdW90ZV9kZWNvZGluZ19pbl9jZ2lfY2hlY2soc2VsZik6CiAgICAgICAgIHJlcyA9IHNlbGYucmVxdWVzdCgnL2NnaS1iaW4lMmZmaWxlMS5weScpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoKGInSGVsbG8gV29ybGQnICsgc2VsZi5saW5lc2VwLCAndGV4dC9odG1sJywgMjAwKSwKLSAgICAgICAgICAgICAgICAocmVzLnJlYWQoKSwgcmVzLmdldGhlYWRlcignQ29udGVudC10eXBlJyksIHJlcy5zdGF0dXMpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAorICAgICAgICAgICAgKGInSGVsbG8gV29ybGQnICsgc2VsZi5saW5lc2VwLCAndGV4dC9odG1sJywgSFRUUFN0YXR1cy5PSyksCisgICAgICAgICAgICAocmVzLnJlYWQoKSwgcmVzLmdldGhlYWRlcignQ29udGVudC10eXBlJyksIHJlcy5zdGF0dXMpKQogCiAgICAgZGVmIHRlc3RfbmVzdGVkX2NnaV9wYXRoX2lzc3VlMjEzMjMoc2VsZik6CiAgICAgICAgIHJlcyA9IHNlbGYucmVxdWVzdCgnL2NnaS1iaW4vY2hpbGQtZGlyL2ZpbGUzLnB5JykKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgoYidIZWxsbyBXb3JsZCcgKyBzZWxmLmxpbmVzZXAsICd0ZXh0L2h0bWwnLCAyMDApLAotICAgICAgICAgICAgICAgIChyZXMucmVhZCgpLCByZXMuZ2V0aGVhZGVyKCdDb250ZW50LXR5cGUnKSwgcmVzLnN0YXR1cykpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisgICAgICAgICAgICAoYidIZWxsbyBXb3JsZCcgKyBzZWxmLmxpbmVzZXAsICd0ZXh0L2h0bWwnLCBIVFRQU3RhdHVzLk9LKSwKKyAgICAgICAgICAgIChyZXMucmVhZCgpLCByZXMuZ2V0aGVhZGVyKCdDb250ZW50LXR5cGUnKSwgcmVzLnN0YXR1cykpCiAKIAogY2xhc3MgU29ja2V0bGVzc1JlcXVlc3RIYW5kbGVyKFNpbXBsZUhUVFBSZXF1ZXN0SGFuZGxlcik6CkBAIC01NDksNyArNTkyLDcgQEAKIAogICAgIGRlZiBkb19HRVQoc2VsZik6CiAgICAgICAgIHNlbGYuZ2V0X2NhbGxlZCA9IFRydWUKLSAgICAgICAgc2VsZi5zZW5kX3Jlc3BvbnNlKDIwMCkKKyAgICAgICAgc2VsZi5zZW5kX3Jlc3BvbnNlKEhUVFBTdGF0dXMuT0spCiAgICAgICAgIHNlbGYuc2VuZF9oZWFkZXIoJ0NvbnRlbnQtVHlwZScsICd0ZXh0L2h0bWwnKQogICAgICAgICBzZWxmLmVuZF9oZWFkZXJzKCkKICAgICAgICAgc2VsZi53ZmlsZS53cml0ZShiJzxodG1sPjxib2R5PkRhdGE8L2JvZHk+PC9odG1sPlxyXG4nKQpAQCAtNTU5LDcgKzYwMiw3IEBACiAKIGNsYXNzIFJlamVjdGluZ1NvY2tldGxlc3NSZXF1ZXN0SGFuZGxlcihTb2NrZXRsZXNzUmVxdWVzdEhhbmRsZXIpOgogICAgIGRlZiBoYW5kbGVfZXhwZWN0XzEwMChzZWxmKToKLSAgICAgICAgc2VsZi5zZW5kX2Vycm9yKDQxNykKKyAgICAgICAgc2VsZi5zZW5kX2Vycm9yKEhUVFBTdGF0dXMuRVhQRUNUQVRJT05fRkFJTEVEKQogICAgICAgICByZXR1cm4gRmFsc2UKIAogCkBAIC04MTYsNiArODU5LDcgQEAKICAgICBjd2QgPSBvcy5nZXRjd2QoKQogICAgIHRyeToKICAgICAgICAgc3VwcG9ydC5ydW5fdW5pdHRlc3QoCisgICAgICAgICAgICBSZXF1ZXN0SGFuZGxlckxvZ2dpbmdUZXN0Q2FzZSwKICAgICAgICAgICAgIEJhc2VIVFRQUmVxdWVzdEhhbmRsZXJUZXN0Q2FzZSwKICAgICAgICAgICAgIEJhc2VIVFRQU2VydmVyVGVzdENhc2UsCiAgICAgICAgICAgICBTaW1wbGVIVFRQU2VydmVyVGVzdENhc2UsCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2ltYXBsaWIucHkgYi9MaWIvdGVzdC90ZXN0X2ltYXBsaWIucHkKaW5kZXggYjM0ZTY1Mi4uNTQ4NWEyYSAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9pbWFwbGliLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfaW1hcGxpYi5weQpAQCAtMTEsNyArMTEsOCBAQAogaW1wb3J0IHRpbWUKIGltcG9ydCBjYWxlbmRhcgogCi1mcm9tIHRlc3Quc3VwcG9ydCBpbXBvcnQgcmVhcF90aHJlYWRzLCB2ZXJib3NlLCB0cmFuc2llbnRfaW50ZXJuZXQsIHJ1bl93aXRoX3R6LCBydW5fd2l0aF9sb2NhbGUKK2Zyb20gdGVzdC5zdXBwb3J0IGltcG9ydCAocmVhcF90aHJlYWRzLCB2ZXJib3NlLCB0cmFuc2llbnRfaW50ZXJuZXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgIHJ1bl93aXRoX3R6LCBydW5fd2l0aF9sb2NhbGUpCiBpbXBvcnQgdW5pdHRlc3QKIGZyb20gZGF0ZXRpbWUgaW1wb3J0IGRhdGV0aW1lLCB0aW1lem9uZSwgdGltZWRlbHRhCiB0cnk6CkBAIC0xOSw4ICsyMCw4IEBACiBleGNlcHQgSW1wb3J0RXJyb3I6CiAgICAgc3NsID0gTm9uZQogCi1DRVJURklMRSA9IE5vbmUKLUNBRklMRSA9IE5vbmUKK0NFUlRGSUxFID0gb3MucGF0aC5qb2luKG9zLnBhdGguZGlybmFtZShfX2ZpbGVfXykgb3Igb3MuY3VyZGlyLCAia2V5Y2VydDMucGVtIikKK0NBRklMRSA9IG9zLnBhdGguam9pbihvcy5wYXRoLmRpcm5hbWUoX19maWxlX18pIG9yIG9zLmN1cmRpciwgInB5Y2FjZXJ0LnBlbSIpCiAKIAogY2xhc3MgVGVzdEltYXBsaWIodW5pdHRlc3QuVGVzdENhc2UpOgpAQCAtNDEsMTcgKzQyLDE1IEBACiAgICAgZGVmIHRlc3RfSW50ZXJuYWxkYXRlMnR1cGxlX2lzc3VlMTA5NDEoc2VsZik6CiAgICAgICAgIHNlbGYuYXNzZXJ0Tm90RXF1YWwoaW1hcGxpYi5JbnRlcm5hbGRhdGUydHVwbGUoCiAgICAgICAgICAgICBiJzI1IChJTlRFUk5BTERBVEUgIjAyLUFwci0yMDAwIDAyOjMwOjAwICswMDAwIiknKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbWFwbGliLkludGVybmFsZGF0ZTJ0dXBsZSgKLSAgICAgICAgICAgIGInMjUgKElOVEVSTkFMREFURSAiMDItQXByLTIwMDAgMDM6MzA6MDAgKzAwMDAiKScpKQotCi0KKyAgICAgICAgICAgIGltYXBsaWIuSW50ZXJuYWxkYXRlMnR1cGxlKAorICAgICAgICAgICAgICAgIGInMjUgKElOVEVSTkFMREFURSAiMDItQXByLTIwMDAgMDM6MzA6MDAgKzAwMDAiKScpKQogCiAgICAgZGVmIHRpbWV2YWx1ZXMoc2VsZik6CiAgICAgICAgIHJldHVybiBbMjAwMDAwMDAwMCwgMjAwMDAwMDAwMC4wLCB0aW1lLmxvY2FsdGltZSgyMDAwMDAwMDAwKSwKICAgICAgICAgICAgICAgICAoMjAzMywgNSwgMTgsIDUsIDMzLCAyMCwgLTEsIC0xLCAtMSksCiAgICAgICAgICAgICAgICAgKDIwMzMsIDUsIDE4LCA1LCAzMywgMjAsIC0xLCAtMSwgMSksCiAgICAgICAgICAgICAgICAgZGF0ZXRpbWUuZnJvbXRpbWVzdGFtcCgyMDAwMDAwMDAwLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGltZXpvbmUodGltZWRlbHRhKDAsIDIqNjAqNjApKSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aW1lem9uZSh0aW1lZGVsdGEoMCwgMiAqIDYwICogNjApKSksCiAgICAgICAgICAgICAgICAgJyIxOC1NYXktMjAzMyAwNTozMzoyMCArMDIwMCInXQogCiAgICAgQHJ1bl93aXRoX2xvY2FsZSgnTENfQUxMJywgJ2RlX0RFJywgJ2ZyX0ZSJykKQEAgLTcyLDcgKzcxLDYgQEAKIAogCiBpZiBzc2w6Ci0KICAgICBjbGFzcyBTZWN1cmVUQ1BTZXJ2ZXIoc29ja2V0c2VydmVyLlRDUFNlcnZlcik6CiAKICAgICAgICAgZGVmIGdldF9yZXF1ZXN0KHNlbGYpOgpAQCAtOTMsMTMgKzkxLDE3IEBACiAKIAogY2xhc3MgU2ltcGxlSU1BUEhhbmRsZXIoc29ja2V0c2VydmVyLlN0cmVhbVJlcXVlc3RIYW5kbGVyKToKLQogICAgIHRpbWVvdXQgPSAxCiAgICAgY29udGludWF0aW9uID0gTm9uZQogICAgIGNhcGFiaWxpdGllcyA9ICcnCiAKKyAgICBkZWYgc2V0dXAoc2VsZik6CisgICAgICAgIHN1cGVyKCkuc2V0dXAoKQorICAgICAgICBzZWxmLnNlcnZlci5sb2dnZWQgPSBOb25lCisKICAgICBkZWYgX3NlbmQoc2VsZiwgbWVzc2FnZSk6Ci0gICAgICAgIGlmIHZlcmJvc2U6IHByaW50KCJTRU5UOiAlciIgJSBtZXNzYWdlLnN0cmlwKCkpCisgICAgICAgIGlmIHZlcmJvc2U6CisgICAgICAgICAgICBwcmludCgiU0VOVDogJXIiICUgbWVzc2FnZS5zdHJpcCgpKQogICAgICAgICBzZWxmLndmaWxlLndyaXRlKG1lc3NhZ2UpCiAKICAgICBkZWYgX3NlbmRfbGluZShzZWxmLCBtZXNzYWdlKToKQEAgLTEzMiw3ICsxMzQsOCBAQAogICAgICAgICAgICAgICAgIGlmIGxpbmUuZW5kc3dpdGgoYidcclxuJyk6CiAgICAgICAgICAgICAgICAgICAgIGJyZWFrCiAKLSAgICAgICAgICAgIGlmIHZlcmJvc2U6IHByaW50KCdHT1Q6ICVyJyAlIGxpbmUuc3RyaXAoKSkKKyAgICAgICAgICAgIGlmIHZlcmJvc2U6CisgICAgICAgICAgICAgICAgcHJpbnQoJ0dPVDogJXInICUgbGluZS5zdHJpcCgpKQogICAgICAgICAgICAgaWYgc2VsZi5jb250aW51YXRpb246CiAgICAgICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgICAgICBzZWxmLmNvbnRpbnVhdGlvbi5zZW5kKGxpbmUpCkBAIC0xNDQsOCArMTQ3LDggQEAKICAgICAgICAgICAgIGNtZCA9IHNwbGl0bGluZVsxXQogICAgICAgICAgICAgYXJncyA9IHNwbGl0bGluZVsyOl0KIAotICAgICAgICAgICAgaWYgaGFzYXR0cihzZWxmLCAnY21kXycrY21kKToKLSAgICAgICAgICAgICAgICBjb250aW51YXRpb24gPSBnZXRhdHRyKHNlbGYsICdjbWRfJytjbWQpKHRhZywgYXJncykKKyAgICAgICAgICAgIGlmIGhhc2F0dHIoc2VsZiwgJ2NtZF8nICsgY21kKToKKyAgICAgICAgICAgICAgICBjb250aW51YXRpb24gPSBnZXRhdHRyKHNlbGYsICdjbWRfJyArIGNtZCkodGFnLCBhcmdzKQogICAgICAgICAgICAgICAgIGlmIGNvbnRpbnVhdGlvbjoKICAgICAgICAgICAgICAgICAgICAgc2VsZi5jb250aW51YXRpb24gPSBjb250aW51YXRpb24KICAgICAgICAgICAgICAgICAgICAgbmV4dChjb250aW51YXRpb24pCkBAIC0xNTMsMTYgKzE1NiwyNSBAQAogICAgICAgICAgICAgICAgIHNlbGYuX3NlbmRfdGFnZ2VkKHRhZywgJ0JBRCcsIGNtZCArICcgdW5rbm93bicpCiAKICAgICBkZWYgY21kX0NBUEFCSUxJVFkoc2VsZiwgdGFnLCBhcmdzKToKLSAgICAgICAgY2FwcyA9ICdJTUFQNHJldjEgJyArIHNlbGYuY2FwYWJpbGl0aWVzIGlmIHNlbGYuY2FwYWJpbGl0aWVzIGVsc2UgJ0lNQVA0cmV2MScKKyAgICAgICAgY2FwcyA9ICgnSU1BUDRyZXYxICcgKyBzZWxmLmNhcGFiaWxpdGllcworICAgICAgICAgICAgICAgIGlmIHNlbGYuY2FwYWJpbGl0aWVzCisgICAgICAgICAgICAgICAgZWxzZSAnSU1BUDRyZXYxJykKICAgICAgICAgc2VsZi5fc2VuZF90ZXh0bGluZSgnKiBDQVBBQklMSVRZICcgKyBjYXBzKQogICAgICAgICBzZWxmLl9zZW5kX3RhZ2dlZCh0YWcsICdPSycsICdDQVBBQklMSVRZIGNvbXBsZXRlZCcpCiAKICAgICBkZWYgY21kX0xPR09VVChzZWxmLCB0YWcsIGFyZ3MpOgorICAgICAgICBzZWxmLnNlcnZlci5sb2dnZWQgPSBOb25lCiAgICAgICAgIHNlbGYuX3NlbmRfdGV4dGxpbmUoJyogQllFIElNQVA0cmVmMSBTZXJ2ZXIgbG9nZ2luZyBvdXQnKQogICAgICAgICBzZWxmLl9zZW5kX3RhZ2dlZCh0YWcsICdPSycsICdMT0dPVVQgY29tcGxldGVkJykKIAorICAgIGRlZiBjbWRfTE9HSU4oc2VsZiwgdGFnLCBhcmdzKToKKyAgICAgICAgc2VsZi5zZXJ2ZXIubG9nZ2VkID0gYXJnc1swXQorICAgICAgICBzZWxmLl9zZW5kX3RhZ2dlZCh0YWcsICdPSycsICdMT0dJTiBjb21wbGV0ZWQnKQogCi1jbGFzcyBCYXNlVGhyZWFkZWROZXR3b3JrZWRUZXN0cyh1bml0dGVzdC5UZXN0Q2FzZSk6CisKK2NsYXNzIFRocmVhZGVkTmV0d29ya2VkVGVzdHModW5pdHRlc3QuVGVzdENhc2UpOgorICAgIHNlcnZlcl9jbGFzcyA9IHNvY2tldHNlcnZlci5UQ1BTZXJ2ZXIKKyAgICBpbWFwX2NsYXNzID0gaW1hcGxpYi5JTUFQNAogCiAgICAgZGVmIG1ha2Vfc2VydmVyKHNlbGYsIGFkZHIsIGhkbHIpOgogCkBAIC0xNzIsNyArMTg0LDggQEAKICAgICAgICAgICAgICAgICBzZWxmLnNlcnZlcl9jbG9zZSgpCiAgICAgICAgICAgICAgICAgcmFpc2UKIAotICAgICAgICBpZiB2ZXJib3NlOiBwcmludCgiY3JlYXRpbmcgc2VydmVyIikKKyAgICAgICAgaWYgdmVyYm9zZToKKyAgICAgICAgICAgIHByaW50KCJjcmVhdGluZyBzZXJ2ZXIiKQogICAgICAgICBzZXJ2ZXIgPSBNeVNlcnZlcihhZGRyLCBoZGxyKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlcnZlci5zZXJ2ZXJfYWRkcmVzcywgc2VydmVyLnNvY2tldC5nZXRzb2NrbmFtZSgpKQogCkBAIC0xODgsMTggKzIwMSwyMSBAQAogICAgICAgICAgICAgIyBTaG9ydCBwb2xsIGludGVydmFsIHRvIG1ha2UgdGhlIHRlc3QgZmluaXNoIHF1aWNrbHkuCiAgICAgICAgICAgICAjIFRpbWUgYmV0d2VlbiByZXF1ZXN0cyBpcyBzaG9ydCBlbm91Z2ggdGhhdCB3ZSB3b24ndCB3YWtlCiAgICAgICAgICAgICAjIHVwIHNwdXJpb3VzbHkgdG9vIG1hbnkgdGltZXMuCi0gICAgICAgICAgICBrd2FyZ3M9eydwb2xsX2ludGVydmFsJzowLjAxfSkKKyAgICAgICAgICAgIGt3YXJncz17J3BvbGxfaW50ZXJ2YWwnOiAwLjAxfSkKICAgICAgICAgdC5kYWVtb24gPSBUcnVlICAjIEluIGNhc2UgdGhpcyBmdW5jdGlvbiByYWlzZXMuCiAgICAgICAgIHQuc3RhcnQoKQotICAgICAgICBpZiB2ZXJib3NlOiBwcmludCgic2VydmVyIHJ1bm5pbmciKQorICAgICAgICBpZiB2ZXJib3NlOgorICAgICAgICAgICAgcHJpbnQoInNlcnZlciBydW5uaW5nIikKICAgICAgICAgcmV0dXJuIHNlcnZlciwgdAogCiAgICAgZGVmIHJlYXBfc2VydmVyKHNlbGYsIHNlcnZlciwgdGhyZWFkKToKLSAgICAgICAgaWYgdmVyYm9zZTogcHJpbnQoIndhaXRpbmcgZm9yIHNlcnZlciIpCisgICAgICAgIGlmIHZlcmJvc2U6CisgICAgICAgICAgICBwcmludCgid2FpdGluZyBmb3Igc2VydmVyIikKICAgICAgICAgc2VydmVyLnNodXRkb3duKCkKICAgICAgICAgc2VydmVyLnNlcnZlcl9jbG9zZSgpCiAgICAgICAgIHRocmVhZC5qb2luKCkKLSAgICAgICAgaWYgdmVyYm9zZTogcHJpbnQoImRvbmUiKQorICAgICAgICBpZiB2ZXJib3NlOgorICAgICAgICAgICAgcHJpbnQoImRvbmUiKQogCiAgICAgQGNvbnRleHRtYW5hZ2VyCiAgICAgZGVmIHJlYXBlZF9zZXJ2ZXIoc2VsZiwgaGRscik6CkBAIC0yNTYsNyArMjcyLDcgQEAKIAogICAgICAgICAgICAgZGVmIGNtZF9BVVRIRU5USUNBVEUoc2VsZiwgdGFnLCBhcmdzKToKICAgICAgICAgICAgICAgICBzZWxmLl9zZW5kX3RhZ2dlZCh0YWcsICdOTycsICd1bnJlY29nbml6ZWQgYXV0aGVudGljYXRpb24gJwotICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUge30nLmZvcm1hdChhcmdzWzBdKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZSB7fScuZm9ybWF0KGFyZ3NbMF0pKQogCiAgICAgICAgIHdpdGggc2VsZi5yZWFwZWRfcGFpcihNeVNlcnZlcikgYXMgKHNlcnZlciwgY2xpZW50KToKICAgICAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoaW1hcGxpYi5JTUFQNC5lcnJvcik6CkBAIC0yOTAsMTMgKzMwNiwxMyBAQAogICAgICAgICAgICAgY29kZSwgZGF0YSA9IGNsaWVudC5hdXRoZW50aWNhdGUoJ01ZQVVUSCcsIGxhbWJkYSB4OiBiJ2Zha2UnKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjb2RlLCAnT0snKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZXJ2ZXIucmVzcG9uc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGInWm1GclpRPT1cclxuJykgI2I2NCBlbmNvZGVkICdmYWtlJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiJ1ptRnJaUT09XHJcbicpICAjIGI2NCBlbmNvZGVkICdmYWtlJwogCiAgICAgICAgIHdpdGggc2VsZi5yZWFwZWRfcGFpcihNeVNlcnZlcikgYXMgKHNlcnZlciwgY2xpZW50KToKICAgICAgICAgICAgIGNvZGUsIGRhdGEgPSBjbGllbnQuYXV0aGVudGljYXRlKCdNWUFVVEgnLCBsYW1iZGEgeDogJ2Zha2UnKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjb2RlLCAnT0snKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZXJ2ZXIucmVzcG9uc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGInWm1GclpRPT1cclxuJykgI2I2NCBlbmNvZGVkICdmYWtlJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiJ1ptRnJaUT09XHJcbicpICAjIGI2NCBlbmNvZGVkICdmYWtlJwogCiAgICAgQHJlYXBfdGhyZWFkcwogICAgIGRlZiB0ZXN0X2xvZ2luX2NyYW1fbWQ1KHNlbGYpOgpAQCAtMzA3LDkgKzMyMywxMCBAQAogCiAgICAgICAgICAgICBkZWYgY21kX0FVVEhFTlRJQ0FURShzZWxmLCB0YWcsIGFyZ3MpOgogICAgICAgICAgICAgICAgIHNlbGYuX3NlbmRfdGV4dGxpbmUoJysgUERFNE9UWXVOamszTVRjd09UVXlRSEJ2YzNSdlptWnBZMlV1Y20nCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVnpkRzl1TG0xamFTNXVaWFE9JykKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdWemRHOXVMbTFqYVM1dVpYUT0nKQogICAgICAgICAgICAgICAgIHIgPSB5aWVsZAotICAgICAgICAgICAgICAgIGlmIHIgPT0gIGInZEdsdElHWXhZMkUyWW1VME5qUmlPV1ZtWVRGalkyRTJabVprTm1ObU1tUTVaak15XHJcbic6CisgICAgICAgICAgICAgICAgaWYgKHIgPT0gYidkR2x0SUdZeFkyRTJZbVUwTmpSaU9XVm1ZVCcKKyAgICAgICAgICAgICAgICAgICAgICAgICBiJ0ZqWTJFMlptWmtObU5tTW1RNVpqTXlcclxuJyk6CiAgICAgICAgICAgICAgICAgICAgIHNlbGYuX3NlbmRfdGFnZ2VkKHRhZywgJ09LJywgJ0NSQU0tTUQ1IHN1Y2Nlc3NmdWwnKQogICAgICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgICAgIHNlbGYuX3NlbmRfdGFnZ2VkKHRhZywgJ05PJywgJ05vIGFjY2VzcycpCkBAIC0zMjQsMjcgKzM0MSw0NSBAQAogICAgICAgICAgICAgcmV0LCBkYXRhID0gY2xpZW50LmxvZ2luX2NyYW1fbWQ1KCJ0aW0iLCBiInRhbnN0YWFmdGFuc3RhYWYiKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXQsICJPSyIpCiAKLQogICAgIGRlZiB0ZXN0X2xpbmV0b29sb25nKHNlbGYpOgogICAgICAgICBjbGFzcyBUb29Mb25nSGFuZGxlcihTaW1wbGVJTUFQSGFuZGxlcik6CiAgICAgICAgICAgICBkZWYgaGFuZGxlKHNlbGYpOgogICAgICAgICAgICAgICAgICMgU2VuZCBhIHZlcnkgbG9uZyByZXNwb25zZSBsaW5lCi0gICAgICAgICAgICAgICAgc2VsZi53ZmlsZS53cml0ZShiJyogT0sgJyArIGltYXBsaWIuX01BWExJTkUqYid4JyArIGInXHJcbicpCisgICAgICAgICAgICAgICAgc2VsZi53ZmlsZS53cml0ZShiJyogT0sgJyArIGltYXBsaWIuX01BWExJTkUgKiBiJ3gnICsgYidcclxuJykKIAogICAgICAgICB3aXRoIHNlbGYucmVhcGVkX3NlcnZlcihUb29Mb25nSGFuZGxlcikgYXMgc2VydmVyOgogICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoaW1hcGxpYi5JTUFQNC5lcnJvciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuaW1hcF9jbGFzcywgKnNlcnZlci5zZXJ2ZXJfYWRkcmVzcykKIAorICAgIEByZWFwX3RocmVhZHMKKyAgICBkZWYgdGVzdF9zaW1wbGVfd2l0aF9zdGF0ZW1lbnQoc2VsZik6CisgICAgICAgICMgc2ltcGxlc3QgY2FsbAorICAgICAgICB3aXRoIHNlbGYucmVhcGVkX3NlcnZlcihTaW1wbGVJTUFQSGFuZGxlcikgYXMgc2VydmVyOgorICAgICAgICAgICAgd2l0aCBzZWxmLmltYXBfY2xhc3MoKnNlcnZlci5zZXJ2ZXJfYWRkcmVzcyk6CisgICAgICAgICAgICAgICAgcGFzcwogCi1jbGFzcyBUaHJlYWRlZE5ldHdvcmtlZFRlc3RzKEJhc2VUaHJlYWRlZE5ldHdvcmtlZFRlc3RzKToKKyAgICBAcmVhcF90aHJlYWRzCisgICAgZGVmIHRlc3Rfd2l0aF9zdGF0ZW1lbnQoc2VsZik6CisgICAgICAgIHdpdGggc2VsZi5yZWFwZWRfc2VydmVyKFNpbXBsZUlNQVBIYW5kbGVyKSBhcyBzZXJ2ZXI6CisgICAgICAgICAgICB3aXRoIHNlbGYuaW1hcF9jbGFzcygqc2VydmVyLnNlcnZlcl9hZGRyZXNzKSBhcyBpbWFwOgorICAgICAgICAgICAgICAgIGltYXAubG9naW4oJ3VzZXInLCAncGFzcycpCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZXJ2ZXIubG9nZ2VkLCAndXNlcicpCisgICAgICAgICAgICBzZWxmLmFzc2VydElzTm9uZShzZXJ2ZXIubG9nZ2VkKQogCi0gICAgc2VydmVyX2NsYXNzID0gc29ja2V0c2VydmVyLlRDUFNlcnZlcgotICAgIGltYXBfY2xhc3MgPSBpbWFwbGliLklNQVA0CisgICAgQHJlYXBfdGhyZWFkcworICAgIGRlZiB0ZXN0X3dpdGhfc3RhdGVtZW50X2xvZ291dChzZWxmKToKKyAgICAgICAgIyB3aGF0IGhhcHBlbnMgaWYgYWxyZWFkeSBsb2dvdXQgaW4gdGhlIGJsb2NrPworICAgICAgICB3aXRoIHNlbGYucmVhcGVkX3NlcnZlcihTaW1wbGVJTUFQSGFuZGxlcikgYXMgc2VydmVyOgorICAgICAgICAgICAgd2l0aCBzZWxmLmltYXBfY2xhc3MoKnNlcnZlci5zZXJ2ZXJfYWRkcmVzcykgYXMgaW1hcDoKKyAgICAgICAgICAgICAgICBpbWFwLmxvZ2luKCd1c2VyJywgJ3Bhc3MnKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VydmVyLmxvZ2dlZCwgJ3VzZXInKQorICAgICAgICAgICAgICAgIGltYXAubG9nb3V0KCkKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydElzTm9uZShzZXJ2ZXIubG9nZ2VkKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUoc2VydmVyLmxvZ2dlZCkKIAogCiBAdW5pdHRlc3Quc2tpcFVubGVzcyhzc2wsICJTU0wgbm90IGF2YWlsYWJsZSIpCi1jbGFzcyBUaHJlYWRlZE5ldHdvcmtlZFRlc3RzU1NMKEJhc2VUaHJlYWRlZE5ldHdvcmtlZFRlc3RzKToKLQorY2xhc3MgVGhyZWFkZWROZXR3b3JrZWRUZXN0c1NTTChUaHJlYWRlZE5ldHdvcmtlZFRlc3RzKToKICAgICBzZXJ2ZXJfY2xhc3MgPSBTZWN1cmVUQ1BTZXJ2ZXIKICAgICBpbWFwX2NsYXNzID0gSU1BUDRfU1NMCiAKQEAgLTM1NSw4ICszOTAsOSBAQAogICAgICAgICBzc2xfY29udGV4dC5jaGVja19ob3N0bmFtZSA9IFRydWUKICAgICAgICAgc3NsX2NvbnRleHQubG9hZF92ZXJpZnlfbG9jYXRpb25zKENBRklMRSkKIAotICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoc3NsLkNlcnRpZmljYXRlRXJyb3IsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaG9zdG5hbWUgJzEyNy4wLjAuMScgZG9lc24ndCBtYXRjaCAnbG9jYWxob3N0JyIpOgorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoCisgICAgICAgICAgICAgICAgc3NsLkNlcnRpZmljYXRlRXJyb3IsCisgICAgICAgICAgICAgICAgImhvc3RuYW1lICcxMjcuMC4wLjEnIGRvZXNuJ3QgbWF0Y2ggJ2xvY2FsaG9zdCciKToKICAgICAgICAgICAgIHdpdGggc2VsZi5yZWFwZWRfc2VydmVyKFNpbXBsZUlNQVBIYW5kbGVyKSBhcyBzZXJ2ZXI6CiAgICAgICAgICAgICAgICAgY2xpZW50ID0gc2VsZi5pbWFwX2NsYXNzKCpzZXJ2ZXIuc2VydmVyX2FkZHJlc3MsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNzbF9jb250ZXh0PXNzbF9jb250ZXh0KQpAQCAtMzY4LDYgKzQwNCw4IEBACiAgICAgICAgICAgICBjbGllbnQuc2h1dGRvd24oKQogCiAKK0B1bml0dGVzdC5za2lwVW5sZXNzKAorICAgIHN1cHBvcnQuaXNfcmVzb3VyY2VfZW5hYmxlZCgnbmV0d29yaycpLCAnbmV0d29yayByZXNvdXJjZSBkaXNhYmxlZCcpCiBjbGFzcyBSZW1vdGVJTUFQVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgaG9zdCA9ICdjeXJ1cy5hbmRyZXcuY211LmVkdScKICAgICBwb3J0ID0gMTQzCkBAIC00MDEsNiArNDM5LDggQEAKIAogCiBAdW5pdHRlc3Quc2tpcFVubGVzcyhzc2wsICJTU0wgbm90IGF2YWlsYWJsZSIpCitAdW5pdHRlc3Quc2tpcFVubGVzcygKKyAgICBzdXBwb3J0LmlzX3Jlc291cmNlX2VuYWJsZWQoJ25ldHdvcmsnKSwgJ25ldHdvcmsgcmVzb3VyY2UgZGlzYWJsZWQnKQogY2xhc3MgUmVtb3RlSU1BUF9TVEFSVFRMU1Rlc3QoUmVtb3RlSU1BUFRlc3QpOgogCiAgICAgZGVmIHNldFVwKHNlbGYpOgpAQCAtNDU0LDcgKzQ5NCw4IEBACiAKICAgICBkZWYgdGVzdF9sb2dpbmNhcGFfd2l0aF9jbGllbnRfc3NsX2NvbnRleHQoc2VsZik6CiAgICAgICAgIHdpdGggdHJhbnNpZW50X2ludGVybmV0KHNlbGYuaG9zdCk6Ci0gICAgICAgICAgICBfc2VydmVyID0gc2VsZi5pbWFwX2NsYXNzKHNlbGYuaG9zdCwgc2VsZi5wb3J0LCBzc2xfY29udGV4dD1zZWxmLmNyZWF0ZV9zc2xfY29udGV4dCgpKQorICAgICAgICAgICAgX3NlcnZlciA9IHNlbGYuaW1hcF9jbGFzcygKKyAgICAgICAgICAgICAgICBzZWxmLmhvc3QsIHNlbGYucG9ydCwgc3NsX2NvbnRleHQ9c2VsZi5jcmVhdGVfc3NsX2NvbnRleHQoKSkKICAgICAgICAgICAgIHNlbGYuY2hlY2tfbG9naW5jYXBhKF9zZXJ2ZXIpCiAKICAgICBkZWYgdGVzdF9sb2dvdXQoc2VsZik6CkBAIC00NjUsMzUgKzUwNiwxNSBAQAogCiAgICAgZGVmIHRlc3Rfc3NsX2NvbnRleHRfY2VydGZpbGVfZXhjbHVzaXZlKHNlbGYpOgogICAgICAgICB3aXRoIHRyYW5zaWVudF9pbnRlcm5ldChzZWxmLmhvc3QpOgotICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgc2VsZi5pbWFwX2NsYXNzLCBzZWxmLmhvc3QsIHNlbGYucG9ydCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNlcnRmaWxlPUNFUlRGSUxFLCBzc2xfY29udGV4dD1zZWxmLmNyZWF0ZV9zc2xfY29udGV4dCgpKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoCisgICAgICAgICAgICAgICAgVmFsdWVFcnJvciwgc2VsZi5pbWFwX2NsYXNzLCBzZWxmLmhvc3QsIHNlbGYucG9ydCwKKyAgICAgICAgICAgICAgICBjZXJ0ZmlsZT1DRVJURklMRSwgc3NsX2NvbnRleHQ9c2VsZi5jcmVhdGVfc3NsX2NvbnRleHQoKSkKIAogICAgIGRlZiB0ZXN0X3NzbF9jb250ZXh0X2tleWZpbGVfZXhjbHVzaXZlKHNlbGYpOgogICAgICAgICB3aXRoIHRyYW5zaWVudF9pbnRlcm5ldChzZWxmLmhvc3QpOgotICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgc2VsZi5pbWFwX2NsYXNzLCBzZWxmLmhvc3QsIHNlbGYucG9ydCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleWZpbGU9Q0VSVEZJTEUsIHNzbF9jb250ZXh0PXNlbGYuY3JlYXRlX3NzbF9jb250ZXh0KCkpCi0KLQotZGVmIGxvYWRfdGVzdHMoKmFyZ3MpOgotICAgIHRlc3RzID0gW1Rlc3RJbWFwbGliXQotCi0gICAgaWYgc3VwcG9ydC5pc19yZXNvdXJjZV9lbmFibGVkKCduZXR3b3JrJyk6Ci0gICAgICAgIGlmIHNzbDoKLSAgICAgICAgICAgIGdsb2JhbCBDRVJURklMRSwgQ0FGSUxFCi0gICAgICAgICAgICBDRVJURklMRSA9IG9zLnBhdGguam9pbihvcy5wYXRoLmRpcm5hbWUoX19maWxlX18pIG9yIG9zLmN1cmRpciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJrZXljZXJ0My5wZW0iKQotICAgICAgICAgICAgaWYgbm90IG9zLnBhdGguZXhpc3RzKENFUlRGSUxFKToKLSAgICAgICAgICAgICAgICByYWlzZSBzdXBwb3J0LlRlc3RGYWlsZWQoIkNhbid0IHJlYWQgY2VydGlmaWNhdGUgZmlsZXMhIikKLSAgICAgICAgICAgIENBRklMRSA9IG9zLnBhdGguam9pbihvcy5wYXRoLmRpcm5hbWUoX19maWxlX18pIG9yIG9zLmN1cmRpciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJweWNhY2VydC5wZW0iKQotICAgICAgICAgICAgaWYgbm90IG9zLnBhdGguZXhpc3RzKENBRklMRSk6Ci0gICAgICAgICAgICAgICAgcmFpc2Ugc3VwcG9ydC5UZXN0RmFpbGVkKCJDYW4ndCByZWFkIENBIGZpbGUhIikKLSAgICAgICAgdGVzdHMuZXh0ZW5kKFsKLSAgICAgICAgICAgIFRocmVhZGVkTmV0d29ya2VkVGVzdHMsIFRocmVhZGVkTmV0d29ya2VkVGVzdHNTU0wsCi0gICAgICAgICAgICBSZW1vdGVJTUFQVGVzdCwgUmVtb3RlSU1BUF9TU0xUZXN0LCBSZW1vdGVJTUFQX1NUQVJUVExTVGVzdCwKLSAgICAgICAgXSkKLQotICAgIHJldHVybiB1bml0dGVzdC5UZXN0U3VpdGUoW3VuaXR0ZXN0Lm1ha2VTdWl0ZSh0ZXN0KSBmb3IgdGVzdCBpbiB0ZXN0c10pCisgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcygKKyAgICAgICAgICAgICAgICBWYWx1ZUVycm9yLCBzZWxmLmltYXBfY2xhc3MsIHNlbGYuaG9zdCwgc2VsZi5wb3J0LAorICAgICAgICAgICAgICAgIGtleWZpbGU9Q0VSVEZJTEUsIHNzbF9jb250ZXh0PXNlbGYuY3JlYXRlX3NzbF9jb250ZXh0KCkpCiAKIAogaWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfaW1naGRyLnB5IGIvTGliL3Rlc3QvdGVzdF9pbWdoZHIucHkKaW5kZXggMGFkNDM0My4uYjU0ZGFmOCAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9pbWdoZHIucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9pbWdoZHIucHkKQEAgLTE2LDcgKzE2LDkgQEAKICAgICAoJ3B5dGhvbi5yYXMnLCAncmFzdCcpLAogICAgICgncHl0aG9uLnNnaScsICdyZ2InKSwKICAgICAoJ3B5dGhvbi50aWZmJywgJ3RpZmYnKSwKLSAgICAoJ3B5dGhvbi54Ym0nLCAneGJtJykKKyAgICAoJ3B5dGhvbi54Ym0nLCAneGJtJyksCisgICAgKCdweXRob24ud2VicCcsICd3ZWJwJyksCisgICAgKCdweXRob24uZXhyJywgJ2V4cicpLAogKQogCiBjbGFzcyBVbnNlZWthYmxlSU8oaW8uRmlsZUlPKToKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfaW1wb3J0LnB5IGIvTGliL3Rlc3QvdGVzdF9pbXBvcnQvX19pbml0X18ucHkKc2ltaWxhcml0eSBpbmRleCA5NSUKcmVuYW1lIGZyb20gTGliL3Rlc3QvdGVzdF9pbXBvcnQucHkKcmVuYW1lIHRvIExpYi90ZXN0L3Rlc3RfaW1wb3J0L19faW5pdF9fLnB5CmluZGV4IGI0ODQyYzUuLmZkMjFmYTIgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfaW1wb3J0LnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfaW1wb3J0L19faW5pdF9fLnB5CkBAIC01NjgsNyArNTY4LDcgQEAKIAogICAgIGRlZiB0ZXN0X3JlbGltcG9ydF9zdGFyKHNlbGYpOgogICAgICAgICAjIFRoaXMgd2lsbCBpbXBvcnQgKiBmcm9tIC50ZXN0X2ltcG9ydC4KLSAgICAgICAgZnJvbSAuIGltcG9ydCByZWxpbXBvcnQKKyAgICAgICAgZnJvbSAuLiBpbXBvcnQgcmVsaW1wb3J0CiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShoYXNhdHRyKHJlbGltcG9ydCwgIlJlbGF0aXZlSW1wb3J0VGVzdHMiKSkKIAogICAgIGRlZiB0ZXN0X2lzc3VlMzIyMShzZWxmKToKQEAgLTEwNjgsNiArMTA2OCw0NiBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19pc29sYXRlZD1GYWxzZSkKIAogCitjbGFzcyBDaXJjdWxhckltcG9ydFRlc3RzKHVuaXR0ZXN0LlRlc3RDYXNlKToKKworICAgICIiIlNlZSB0aGUgZG9jc3RyaW5ncyBvZiB0aGUgbW9kdWxlcyBiZWluZyBpbXBvcnRlZCBmb3IgdGhlIHB1cnBvc2Ugb2YgdGhlCisgICAgdGVzdC4iIiIKKworICAgIGRlZiB0ZWFyRG93bihzZWxmKToKKyAgICAgICAgIiIiTWFrZSBzdXJlIG5vIG1vZHVsZXMgcHJlLWV4aXN0IGluIHN5cy5tb2R1bGVzIHdoaWNoIGFyZSBiZWluZyB1c2VkIHRvCisgICAgICAgIHRlc3QuIiIiCisgICAgICAgIGZvciBrZXkgaW4gbGlzdChzeXMubW9kdWxlcy5rZXlzKCkpOgorICAgICAgICAgICAgaWYga2V5LnN0YXJ0c3dpdGgoJ3Rlc3QudGVzdF9pbXBvcnQuZGF0YS5jaXJjdWxhcl9pbXBvcnRzJyk6CisgICAgICAgICAgICAgICAgZGVsIHN5cy5tb2R1bGVzW2tleV0KKworICAgIGRlZiB0ZXN0X2RpcmVjdChzZWxmKToKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgaW1wb3J0IHRlc3QudGVzdF9pbXBvcnQuZGF0YS5jaXJjdWxhcl9pbXBvcnRzLmJhc2ljCisgICAgICAgIGV4Y2VwdCBJbXBvcnRFcnJvcjoKKyAgICAgICAgICAgIHNlbGYuZmFpbCgnY2lyY3VsYXIgaW1wb3J0IHRocm91Z2ggcmVsYXRpdmUgaW1wb3J0cyBmYWlsZWQnKQorCisgICAgZGVmIHRlc3RfaW5kaXJlY3Qoc2VsZik6CisgICAgICAgIHRyeToKKyAgICAgICAgICAgIGltcG9ydCB0ZXN0LnRlc3RfaW1wb3J0LmRhdGEuY2lyY3VsYXJfaW1wb3J0cy5pbmRpcmVjdAorICAgICAgICBleGNlcHQgSW1wb3J0RXJyb3I6CisgICAgICAgICAgICBzZWxmLmZhaWwoJ3JlbGF0aXZlIGltcG9ydCBpbiBtb2R1bGUgY29udHJpYnV0aW5nIHRvIGNpcmN1bGFyICcKKyAgICAgICAgICAgICAgICAgICAgICAnaW1wb3J0IGZhaWxlZCcpCisKKyAgICBkZWYgdGVzdF9zdWJwYWNrYWdlKHNlbGYpOgorICAgICAgICB0cnk6CisgICAgICAgICAgICBpbXBvcnQgdGVzdC50ZXN0X2ltcG9ydC5kYXRhLmNpcmN1bGFyX2ltcG9ydHMuc3VicGFja2FnZQorICAgICAgICBleGNlcHQgSW1wb3J0RXJyb3I6CisgICAgICAgICAgICBzZWxmLmZhaWwoJ2NpcmN1bGFyIGltcG9ydCBpbnZvbHZpbmcgYSBzdWJwYWNrYWdlIGZhaWxlZCcpCisKKyAgICBkZWYgdGVzdF9yZWJpbmRpbmcoc2VsZik6CisgICAgICAgIHRyeToKKyAgICAgICAgICAgIGltcG9ydCB0ZXN0LnRlc3RfaW1wb3J0LmRhdGEuY2lyY3VsYXJfaW1wb3J0cy5yZWJpbmRpbmcgYXMgcmViaW5kaW5nCisgICAgICAgIGV4Y2VwdCBJbXBvcnRFcnJvcjoKKyAgICAgICAgICAgIHNlbGYuZmFpbCgnY2lyY3VsYXIgaW1wb3J0IHdpdGggcmViaW5kaW5nIG9mIG1vZHVsZSBhdHRyaWJ1dGUgZmFpbGVkJykKKyAgICAgICAgZnJvbSB0ZXN0LnRlc3RfaW1wb3J0LmRhdGEuY2lyY3VsYXJfaW1wb3J0cy5zdWJwa2cgaW1wb3J0IHV0aWwKKyAgICAgICAgc2VsZi5hc3NlcnRJcyh1dGlsLnV0aWwsIHJlYmluZGluZy51dGlsKQorCisKIGlmIF9fbmFtZV9fID09ICdfX21haW5fXyc6CiAgICAgIyBUZXN0IG5lZWRzIHRvIGJlIGEgcGFja2FnZSwgc28gd2UgY2FuIGRvIHJlbGF0aXZlIGltcG9ydHMuCiAgICAgdW5pdHRlc3QubWFpbigpCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2ltcG9ydC9fX21haW5fXy5weSBiL0xpYi90ZXN0L3Rlc3RfaW1wb3J0L19fbWFpbl9fLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI0ZjAyYTEKLS0tIC9kZXYvbnVsbAorKysgYi9MaWIvdGVzdC90ZXN0X2ltcG9ydC9fX21haW5fXy5weQpAQCAtMCwwICsxLDMgQEAKK2ltcG9ydCB1bml0dGVzdAorCit1bml0dGVzdC5tYWluKCd0ZXN0LnRlc3RfaW1wb3J0JykKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfaW1wb3J0L2RhdGEvY2lyY3VsYXJfaW1wb3J0cy9iYXNpYy5weSBiL0xpYi90ZXN0L3Rlc3RfaW1wb3J0L2RhdGEvY2lyY3VsYXJfaW1wb3J0cy9iYXNpYy5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZTQxZTM5Ci0tLSAvZGV2L251bGwKKysrIGIvTGliL3Rlc3QvdGVzdF9pbXBvcnQvZGF0YS9jaXJjdWxhcl9pbXBvcnRzL2Jhc2ljLnB5CkBAIC0wLDAgKzEsMiBAQAorIiIiQ2lyY3VsYXIgaW1wb3J0cyB0aHJvdWdoIGRpcmVjdCwgcmVsYXRpdmUgaW1wb3J0cy4iIiIKK2Zyb20gLiBpbXBvcnQgYmFzaWMyCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2ltcG9ydC9kYXRhL2NpcmN1bGFyX2ltcG9ydHMvYmFzaWMyLnB5IGIvTGliL3Rlc3QvdGVzdF9pbXBvcnQvZGF0YS9jaXJjdWxhcl9pbXBvcnRzL2Jhc2ljMi5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMGJkMmYyCi0tLSAvZGV2L251bGwKKysrIGIvTGliL3Rlc3QvdGVzdF9pbXBvcnQvZGF0YS9jaXJjdWxhcl9pbXBvcnRzL2Jhc2ljMi5weQpAQCAtMCwwICsxIEBACitmcm9tIC4gaW1wb3J0IGJhc2ljCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2ltcG9ydC9kYXRhL2NpcmN1bGFyX2ltcG9ydHMvaW5kaXJlY3QucHkgYi9MaWIvdGVzdC90ZXN0X2ltcG9ydC9kYXRhL2NpcmN1bGFyX2ltcG9ydHMvaW5kaXJlY3QucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjkyNTc4OAotLS0gL2Rldi9udWxsCisrKyBiL0xpYi90ZXN0L3Rlc3RfaW1wb3J0L2RhdGEvY2lyY3VsYXJfaW1wb3J0cy9pbmRpcmVjdC5weQpAQCAtMCwwICsxIEBACitmcm9tIC4gaW1wb3J0IGJhc2ljLCBiYXNpYzIKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfaW1wb3J0L2RhdGEvY2lyY3VsYXJfaW1wb3J0cy9yZWJpbmRpbmcucHkgYi9MaWIvdGVzdC90ZXN0X2ltcG9ydC9kYXRhL2NpcmN1bGFyX2ltcG9ydHMvcmViaW5kaW5nLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJiNzczNzUKLS0tIC9kZXYvbnVsbAorKysgYi9MaWIvdGVzdC90ZXN0X2ltcG9ydC9kYXRhL2NpcmN1bGFyX2ltcG9ydHMvcmViaW5kaW5nLnB5CkBAIC0wLDAgKzEsMyBAQAorIiIiVGVzdCB0aGUgYmluZGluZyBvZiBuYW1lcyB3aGVuIGEgY2lyY3VsYXIgaW1wb3J0IHNoYXJlcyB0aGUgc2FtZSBuYW1lIGFzIGFuCithdHRyaWJ1dGUuIiIiCitmcm9tIC5yZWJpbmRpbmcyIGltcG9ydCB1dGlsCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2ltcG9ydC9kYXRhL2NpcmN1bGFyX2ltcG9ydHMvcmViaW5kaW5nMi5weSBiL0xpYi90ZXN0L3Rlc3RfaW1wb3J0L2RhdGEvY2lyY3VsYXJfaW1wb3J0cy9yZWJpbmRpbmcyLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU3YTllNjkKLS0tIC9kZXYvbnVsbAorKysgYi9MaWIvdGVzdC90ZXN0X2ltcG9ydC9kYXRhL2NpcmN1bGFyX2ltcG9ydHMvcmViaW5kaW5nMi5weQpAQCAtMCwwICsxLDMgQEAKK2Zyb20gLnN1YnBrZyBpbXBvcnQgdXRpbAorZnJvbSAuIGltcG9ydCByZWJpbmRpbmcKK3V0aWwgPSB1dGlsLnV0aWwKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfaW1wb3J0L2RhdGEvY2lyY3VsYXJfaW1wb3J0cy9zdWJwYWNrYWdlLnB5IGIvTGliL3Rlc3QvdGVzdF9pbXBvcnQvZGF0YS9jaXJjdWxhcl9pbXBvcnRzL3N1YnBhY2thZ2UucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2I0MTJmNwotLS0gL2Rldi9udWxsCisrKyBiL0xpYi90ZXN0L3Rlc3RfaW1wb3J0L2RhdGEvY2lyY3VsYXJfaW1wb3J0cy9zdWJwYWNrYWdlLnB5CkBAIC0wLDAgKzEsMiBAQAorIiIiQ2lyY3VsYXIgaW1wb3J0IGludm9sdmluZyBhIHN1Yi1wYWNrYWdlLiIiIgorZnJvbSAuc3VicGtnIGltcG9ydCBzdWJwYWNrYWdlMgpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9pbXBvcnQvZGF0YS9jaXJjdWxhcl9pbXBvcnRzL3N1YnBrZy9zdWJwYWNrYWdlMi5weSBiL0xpYi90ZXN0L3Rlc3RfaW1wb3J0L2RhdGEvY2lyY3VsYXJfaW1wb3J0cy9zdWJwa2cvc3VicGFja2FnZTIucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTdiODkzYQotLS0gL2Rldi9udWxsCisrKyBiL0xpYi90ZXN0L3Rlc3RfaW1wb3J0L2RhdGEvY2lyY3VsYXJfaW1wb3J0cy9zdWJwa2cvc3VicGFja2FnZTIucHkKQEAgLTAsMCArMSwyIEBACisjZnJvbSAudXRpbCBpbXBvcnQgdXRpbAorZnJvbSAuLiBpbXBvcnQgc3VicGFja2FnZQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9pbXBvcnQvZGF0YS9jaXJjdWxhcl9pbXBvcnRzL3N1YnBrZy91dGlsLnB5IGIvTGliL3Rlc3QvdGVzdF9pbXBvcnQvZGF0YS9jaXJjdWxhcl9pbXBvcnRzL3N1YnBrZy91dGlsLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM0M2JkODQKLS0tIC9kZXYvbnVsbAorKysgYi9MaWIvdGVzdC90ZXN0X2ltcG9ydC9kYXRhL2NpcmN1bGFyX2ltcG9ydHMvc3VicGtnL3V0aWwucHkKQEAgLTAsMCArMSwyIEBACitkZWYgdXRpbCgpOgorICAgIHBhc3MKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfaW1wb3J0L2RhdGEvY2lyY3VsYXJfaW1wb3J0cy91dGlsLnB5IGIvTGliL3Rlc3QvdGVzdF9pbXBvcnQvZGF0YS9jaXJjdWxhcl9pbXBvcnRzL3V0aWwucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzQzYmQ4NAotLS0gL2Rldi9udWxsCisrKyBiL0xpYi90ZXN0L3Rlc3RfaW1wb3J0L2RhdGEvY2lyY3VsYXJfaW1wb3J0cy91dGlsLnB5CkBAIC0wLDAgKzEsMiBAQAorZGVmIHV0aWwoKToKKyAgICBwYXNzCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi9idWlsdGluL3Rlc3RfZmluZGVyLnB5IGIvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvYnVpbHRpbi90ZXN0X2ZpbmRlci5weQppbmRleCA5MzQ1NjJmLi5hMmU2ZTFlIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi9idWlsdGluL3Rlc3RfZmluZGVyLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL2J1aWx0aW4vdGVzdF9maW5kZXIucHkKQEAgLTEsMjEgKzEsMjEgQEAKIGZyb20gLi4gaW1wb3J0IGFiYwogZnJvbSAuLiBpbXBvcnQgdXRpbAotZnJvbSAuIGltcG9ydCB1dGlsIGFzIGJ1aWx0aW5fdXRpbAogCi1mcm96ZW5fbWFjaGluZXJ5LCBzb3VyY2VfbWFjaGluZXJ5ID0gdXRpbC5pbXBvcnRfaW1wb3J0bGliKCdpbXBvcnRsaWIubWFjaGluZXJ5JykKK21hY2hpbmVyeSA9IHV0aWwuaW1wb3J0X2ltcG9ydGxpYignaW1wb3J0bGliLm1hY2hpbmVyeScpCiAKIGltcG9ydCBzeXMKIGltcG9ydCB1bml0dGVzdAogCiAKK0B1bml0dGVzdC5za2lwSWYodXRpbC5CVUlMVElOUy5nb29kX25hbWUgaXMgTm9uZSwgJ25vIHJlYXNvbmFibGUgYnVpbHRpbiBtb2R1bGUnKQogY2xhc3MgRmluZFNwZWNUZXN0cyhhYmMuRmluZGVyVGVzdHMpOgogCiAgICAgIiIiVGVzdCBmaW5kX3NwZWMoKSBmb3IgYnVpbHQtaW4gbW9kdWxlcy4iIiIKIAogICAgIGRlZiB0ZXN0X21vZHVsZShzZWxmKToKICAgICAgICAgIyBDb21tb24gY2FzZS4KLSAgICAgICAgd2l0aCB1dGlsLnVuY2FjaGUoYnVpbHRpbl91dGlsLk5BTUUpOgotICAgICAgICAgICAgZm91bmQgPSBzZWxmLm1hY2hpbmVyeS5CdWlsdGluSW1wb3J0ZXIuZmluZF9zcGVjKGJ1aWx0aW5fdXRpbC5OQU1FKQorICAgICAgICB3aXRoIHV0aWwudW5jYWNoZSh1dGlsLkJVSUxUSU5TLmdvb2RfbmFtZSk6CisgICAgICAgICAgICBmb3VuZCA9IHNlbGYubWFjaGluZXJ5LkJ1aWx0aW5JbXBvcnRlci5maW5kX3NwZWModXRpbC5CVUlMVElOUy5nb29kX25hbWUpCiAgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUoZm91bmQpCiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGZvdW5kLm9yaWdpbiwgJ2J1aWx0LWluJykKIApAQCAtMzksMjMgKzM5LDI2IEBACiAKICAgICBkZWYgdGVzdF9pZ25vcmVfcGF0aChzZWxmKToKICAgICAgICAgIyBUaGUgdmFsdWUgZm9yICdwYXRoJyBzaG91bGQgYWx3YXlzIHRyaWdnZXIgYSBmYWlsZWQgaW1wb3J0LgotICAgICAgICB3aXRoIHV0aWwudW5jYWNoZShidWlsdGluX3V0aWwuTkFNRSk6Ci0gICAgICAgICAgICBzcGVjID0gc2VsZi5tYWNoaW5lcnkuQnVpbHRpbkltcG9ydGVyLmZpbmRfc3BlYyhidWlsdGluX3V0aWwuTkFNRSwKKyAgICAgICAgd2l0aCB1dGlsLnVuY2FjaGUodXRpbC5CVUlMVElOUy5nb29kX25hbWUpOgorICAgICAgICAgICAgc3BlYyA9IHNlbGYubWFjaGluZXJ5LkJ1aWx0aW5JbXBvcnRlci5maW5kX3NwZWModXRpbC5CVUlMVElOUy5nb29kX25hbWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbJ3BrZyddKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUoc3BlYykKIAotRnJvemVuX0ZpbmRTcGVjVGVzdHMsIFNvdXJjZV9GaW5kU3BlY1Rlc3RzID0gdXRpbC50ZXN0X2JvdGgoRmluZFNwZWNUZXN0cywKLSAgICAgICAgbWFjaGluZXJ5PVtmcm96ZW5fbWFjaGluZXJ5LCBzb3VyY2VfbWFjaGluZXJ5XSkKKworKEZyb3plbl9GaW5kU3BlY1Rlc3RzLAorIFNvdXJjZV9GaW5kU3BlY1Rlc3RzCisgKSA9IHV0aWwudGVzdF9ib3RoKEZpbmRTcGVjVGVzdHMsIG1hY2hpbmVyeT1tYWNoaW5lcnkpCiAKIAorQHVuaXR0ZXN0LnNraXBJZih1dGlsLkJVSUxUSU5TLmdvb2RfbmFtZSBpcyBOb25lLCAnbm8gcmVhc29uYWJsZSBidWlsdGluIG1vZHVsZScpCiBjbGFzcyBGaW5kZXJUZXN0cyhhYmMuRmluZGVyVGVzdHMpOgogCiAgICAgIiIiVGVzdCBmaW5kX21vZHVsZSgpIGZvciBidWlsdC1pbiBtb2R1bGVzLiIiIgogCiAgICAgZGVmIHRlc3RfbW9kdWxlKHNlbGYpOgogICAgICAgICAjIENvbW1vbiBjYXNlLgotICAgICAgICB3aXRoIHV0aWwudW5jYWNoZShidWlsdGluX3V0aWwuTkFNRSk6Ci0gICAgICAgICAgICBmb3VuZCA9IHNlbGYubWFjaGluZXJ5LkJ1aWx0aW5JbXBvcnRlci5maW5kX21vZHVsZShidWlsdGluX3V0aWwuTkFNRSkKKyAgICAgICAgd2l0aCB1dGlsLnVuY2FjaGUodXRpbC5CVUlMVElOUy5nb29kX25hbWUpOgorICAgICAgICAgICAgZm91bmQgPSBzZWxmLm1hY2hpbmVyeS5CdWlsdGluSW1wb3J0ZXIuZmluZF9tb2R1bGUodXRpbC5CVUlMVElOUy5nb29kX25hbWUpCiAgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUoZm91bmQpCiAgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUoaGFzYXR0cihmb3VuZCwgJ2xvYWRfbW9kdWxlJykpCiAKQEAgLTcyLDEzICs3NSwxNSBAQAogCiAgICAgZGVmIHRlc3RfaWdub3JlX3BhdGgoc2VsZik6CiAgICAgICAgICMgVGhlIHZhbHVlIGZvciAncGF0aCcgc2hvdWxkIGFsd2F5cyB0cmlnZ2VyIGEgZmFpbGVkIGltcG9ydC4KLSAgICAgICAgd2l0aCB1dGlsLnVuY2FjaGUoYnVpbHRpbl91dGlsLk5BTUUpOgotICAgICAgICAgICAgbG9hZGVyID0gc2VsZi5tYWNoaW5lcnkuQnVpbHRpbkltcG9ydGVyLmZpbmRfbW9kdWxlKGJ1aWx0aW5fdXRpbC5OQU1FLAorICAgICAgICB3aXRoIHV0aWwudW5jYWNoZSh1dGlsLkJVSUxUSU5TLmdvb2RfbmFtZSk6CisgICAgICAgICAgICBsb2FkZXIgPSBzZWxmLm1hY2hpbmVyeS5CdWlsdGluSW1wb3J0ZXIuZmluZF9tb2R1bGUodXRpbC5CVUlMVElOUy5nb29kX25hbWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbJ3BrZyddKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUobG9hZGVyKQogCi1Gcm96ZW5fRmluZGVyVGVzdHMsIFNvdXJjZV9GaW5kZXJUZXN0cyA9IHV0aWwudGVzdF9ib3RoKEZpbmRlclRlc3RzLAotICAgICAgICBtYWNoaW5lcnk9W2Zyb3plbl9tYWNoaW5lcnksIHNvdXJjZV9tYWNoaW5lcnldKQorCisoRnJvemVuX0ZpbmRlclRlc3RzLAorIFNvdXJjZV9GaW5kZXJUZXN0cworICkgPSB1dGlsLnRlc3RfYm90aChGaW5kZXJUZXN0cywgbWFjaGluZXJ5PW1hY2hpbmVyeSkKIAogCiBpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvYnVpbHRpbi90ZXN0X2xvYWRlci5weSBiL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL2J1aWx0aW4vdGVzdF9sb2FkZXIucHkKaW5kZXggMWY4MzU3NC4uMTY4NGFiNiAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvYnVpbHRpbi90ZXN0X2xvYWRlci5weQorKysgYi9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi9idWlsdGluL3Rlc3RfbG9hZGVyLnB5CkBAIC0xLDE0ICsxLDEzIEBACiBmcm9tIC4uIGltcG9ydCBhYmMKIGZyb20gLi4gaW1wb3J0IHV0aWwKLWZyb20gLiBpbXBvcnQgdXRpbCBhcyBidWlsdGluX3V0aWwKIAotZnJvemVuX21hY2hpbmVyeSwgc291cmNlX21hY2hpbmVyeSA9IHV0aWwuaW1wb3J0X2ltcG9ydGxpYignaW1wb3J0bGliLm1hY2hpbmVyeScpCittYWNoaW5lcnkgPSB1dGlsLmltcG9ydF9pbXBvcnRsaWIoJ2ltcG9ydGxpYi5tYWNoaW5lcnknKQogCiBpbXBvcnQgc3lzCiBpbXBvcnQgdHlwZXMKIGltcG9ydCB1bml0dGVzdAogCi0KK0B1bml0dGVzdC5za2lwSWYodXRpbC5CVUlMVElOUy5nb29kX25hbWUgaXMgTm9uZSwgJ25vIHJlYXNvbmFibGUgYnVpbHRpbiBtb2R1bGUnKQogY2xhc3MgTG9hZGVyVGVzdHMoYWJjLkxvYWRlclRlc3RzKToKIAogICAgICIiIlRlc3QgbG9hZF9tb2R1bGUoKSBmb3IgYnVpbHQtaW4gbW9kdWxlcy4iIiIKQEAgLTI5LDggKzI4LDggQEAKIAogICAgIGRlZiB0ZXN0X21vZHVsZShzZWxmKToKICAgICAgICAgIyBDb21tb24gY2FzZS4KLSAgICAgICAgd2l0aCB1dGlsLnVuY2FjaGUoYnVpbHRpbl91dGlsLk5BTUUpOgotICAgICAgICAgICAgbW9kdWxlID0gc2VsZi5sb2FkX21vZHVsZShidWlsdGluX3V0aWwuTkFNRSkKKyAgICAgICAgd2l0aCB1dGlsLnVuY2FjaGUodXRpbC5CVUlMVElOUy5nb29kX25hbWUpOgorICAgICAgICAgICAgbW9kdWxlID0gc2VsZi5sb2FkX21vZHVsZSh1dGlsLkJVSUxUSU5TLmdvb2RfbmFtZSkKICAgICAgICAgICAgIHNlbGYudmVyaWZ5KG1vZHVsZSkKIAogICAgICMgQnVpbHQtaW4gbW9kdWxlcyBjYW5ub3QgYmUgYSBwYWNrYWdlLgpAQCAtNDEsOSArNDAsOSBAQAogCiAgICAgZGVmIHRlc3RfbW9kdWxlX3JldXNlKHNlbGYpOgogICAgICAgICAjIFRlc3QgdGhhdCB0aGUgc2FtZSBtb2R1bGUgaXMgdXNlZCBpbiBhIHJlbG9hZC4KLSAgICAgICAgd2l0aCB1dGlsLnVuY2FjaGUoYnVpbHRpbl91dGlsLk5BTUUpOgotICAgICAgICAgICAgbW9kdWxlMSA9IHNlbGYubG9hZF9tb2R1bGUoYnVpbHRpbl91dGlsLk5BTUUpCi0gICAgICAgICAgICBtb2R1bGUyID0gc2VsZi5sb2FkX21vZHVsZShidWlsdGluX3V0aWwuTkFNRSkKKyAgICAgICAgd2l0aCB1dGlsLnVuY2FjaGUodXRpbC5CVUlMVElOUy5nb29kX25hbWUpOgorICAgICAgICAgICAgbW9kdWxlMSA9IHNlbGYubG9hZF9tb2R1bGUodXRpbC5CVUlMVElOUy5nb29kX25hbWUpCisgICAgICAgICAgICBtb2R1bGUyID0gc2VsZi5sb2FkX21vZHVsZSh1dGlsLkJVSUxUSU5TLmdvb2RfbmFtZSkKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXMobW9kdWxlMSwgbW9kdWxlMikKIAogICAgIGRlZiB0ZXN0X3VubG9hZGFibGUoc2VsZik6CkBAIC02Niw0MCArNjUsNDQgQEAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjbS5leGNlcHRpb24ubmFtZSwgbW9kdWxlX25hbWUpCiAKIAotRnJvemVuX0xvYWRlclRlc3RzLCBTb3VyY2VfTG9hZGVyVGVzdHMgPSB1dGlsLnRlc3RfYm90aChMb2FkZXJUZXN0cywKLSAgICAgICAgbWFjaGluZXJ5PVtmcm96ZW5fbWFjaGluZXJ5LCBzb3VyY2VfbWFjaGluZXJ5XSkKKyhGcm96ZW5fTG9hZGVyVGVzdHMsCisgU291cmNlX0xvYWRlclRlc3RzCisgKSA9IHV0aWwudGVzdF9ib3RoKExvYWRlclRlc3RzLCBtYWNoaW5lcnk9bWFjaGluZXJ5KQogCiAKK0B1bml0dGVzdC5za2lwSWYodXRpbC5CVUlMVElOUy5nb29kX25hbWUgaXMgTm9uZSwgJ25vIHJlYXNvbmFibGUgYnVpbHRpbiBtb2R1bGUnKQogY2xhc3MgSW5zcGVjdExvYWRlclRlc3RzOgogCiAgICAgIiIiVGVzdHMgZm9yIEluc3BlY3RMb2FkZXIgbWV0aG9kcyBmb3IgQnVpbHRpbkltcG9ydGVyLiIiIgogCiAgICAgZGVmIHRlc3RfZ2V0X2NvZGUoc2VsZik6CiAgICAgICAgICMgVGhlcmUgaXMgbm8gY29kZSBvYmplY3QuCi0gICAgICAgIHJlc3VsdCA9IHNlbGYubWFjaGluZXJ5LkJ1aWx0aW5JbXBvcnRlci5nZXRfY29kZShidWlsdGluX3V0aWwuTkFNRSkKKyAgICAgICAgcmVzdWx0ID0gc2VsZi5tYWNoaW5lcnkuQnVpbHRpbkltcG9ydGVyLmdldF9jb2RlKHV0aWwuQlVJTFRJTlMuZ29vZF9uYW1lKQogICAgICAgICBzZWxmLmFzc2VydElzTm9uZShyZXN1bHQpCiAKICAgICBkZWYgdGVzdF9nZXRfc291cmNlKHNlbGYpOgogICAgICAgICAjIFRoZXJlIGlzIG5vIHNvdXJjZS4KLSAgICAgICAgcmVzdWx0ID0gc2VsZi5tYWNoaW5lcnkuQnVpbHRpbkltcG9ydGVyLmdldF9zb3VyY2UoYnVpbHRpbl91dGlsLk5BTUUpCisgICAgICAgIHJlc3VsdCA9IHNlbGYubWFjaGluZXJ5LkJ1aWx0aW5JbXBvcnRlci5nZXRfc291cmNlKHV0aWwuQlVJTFRJTlMuZ29vZF9uYW1lKQogICAgICAgICBzZWxmLmFzc2VydElzTm9uZShyZXN1bHQpCiAKICAgICBkZWYgdGVzdF9pc19wYWNrYWdlKHNlbGYpOgogICAgICAgICAjIENhbm5vdCBiZSBhIHBhY2thZ2UuCi0gICAgICAgIHJlc3VsdCA9IHNlbGYubWFjaGluZXJ5LkJ1aWx0aW5JbXBvcnRlci5pc19wYWNrYWdlKGJ1aWx0aW5fdXRpbC5OQU1FKQorICAgICAgICByZXN1bHQgPSBzZWxmLm1hY2hpbmVyeS5CdWlsdGluSW1wb3J0ZXIuaXNfcGFja2FnZSh1dGlsLkJVSUxUSU5TLmdvb2RfbmFtZSkKICAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShyZXN1bHQpCiAKKyAgICBAdW5pdHRlc3Quc2tpcElmKHV0aWwuQlVJTFRJTlMuYmFkX25hbWUgaXMgTm9uZSwgJ2FsbCBtb2R1bGVzIGFyZSBidWlsdCBpbicpCiAgICAgZGVmIHRlc3Rfbm90X2J1aWx0aW4oc2VsZik6CiAgICAgICAgICMgTW9kdWxlcyBub3QgYnVpbHQtaW4gc2hvdWxkIHJhaXNlIEltcG9ydEVycm9yLgogICAgICAgICBmb3IgbWV0aF9uYW1lIGluICgnZ2V0X2NvZGUnLCAnZ2V0X3NvdXJjZScsICdpc19wYWNrYWdlJyk6CiAgICAgICAgICAgICBtZXRob2QgPSBnZXRhdHRyKHNlbGYubWFjaGluZXJ5LkJ1aWx0aW5JbXBvcnRlciwgbWV0aF9uYW1lKQogICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKEltcG9ydEVycm9yKSBhcyBjbToKLSAgICAgICAgICAgIG1ldGhvZChidWlsdGluX3V0aWwuQkFEX05BTUUpCi0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKGJ1aWx0aW5fdXRpbC5CQURfTkFNRSkKKyAgICAgICAgICAgIG1ldGhvZCh1dGlsLkJVSUxUSU5TLmJhZF9uYW1lKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyh1dGlsLkJVSUxUSU5TLmJhZF9uYW1lKQogCi1Gcm96ZW5fSW5zcGVjdExvYWRlclRlc3RzLCBTb3VyY2VfSW5zcGVjdExvYWRlclRlc3RzID0gdXRpbC50ZXN0X2JvdGgoCi0gICAgICAgIEluc3BlY3RMb2FkZXJUZXN0cywKLSAgICAgICAgbWFjaGluZXJ5PVtmcm96ZW5fbWFjaGluZXJ5LCBzb3VyY2VfbWFjaGluZXJ5XSkKKworKEZyb3plbl9JbnNwZWN0TG9hZGVyVGVzdHMsCisgU291cmNlX0luc3BlY3RMb2FkZXJUZXN0cworICkgPSB1dGlsLnRlc3RfYm90aChJbnNwZWN0TG9hZGVyVGVzdHMsIG1hY2hpbmVyeT1tYWNoaW5lcnkpCiAKIAogaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL2J1aWx0aW4vdXRpbC5weSBiL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL2J1aWx0aW4vdXRpbC5weQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTcwNDY5OS4uMDAwMDAwMAotLS0gYS9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi9idWlsdGluL3V0aWwucHkKKysrIC9kZXYvbnVsbApAQCAtMSw3ICswLDAgQEAKLWltcG9ydCBzeXMKLQotYXNzZXJ0ICdlcnJubycgaW4gc3lzLmJ1aWx0aW5fbW9kdWxlX25hbWVzCi1OQU1FID0gJ2Vycm5vJwotCi1hc3NlcnQgJ2ltcG9ydGxpYicgbm90IGluIHN5cy5idWlsdGluX21vZHVsZV9uYW1lcwotQkFEX05BTUUgPSAnaW1wb3J0bGliJwpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvZXh0ZW5zaW9uL3Rlc3RfY2FzZV9zZW5zaXRpdml0eS5weSBiL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL2V4dGVuc2lvbi90ZXN0X2Nhc2Vfc2Vuc2l0aXZpdHkucHkKaW5kZXggYmIyNTI4ZS4uYzdkNmNhNiAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvZXh0ZW5zaW9uL3Rlc3RfY2FzZV9zZW5zaXRpdml0eS5weQorKysgYi9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi9leHRlbnNpb24vdGVzdF9jYXNlX3NlbnNpdGl2aXR5LnB5CkBAIC00LDIyICs0LDIxIEBACiBpbXBvcnQgdW5pdHRlc3QKIAogZnJvbSAuLiBpbXBvcnQgdXRpbAotZnJvbSAuIGltcG9ydCB1dGlsIGFzIGV4dF91dGlsCiAKLWZyb3plbl9tYWNoaW5lcnksIHNvdXJjZV9tYWNoaW5lcnkgPSB1dGlsLmltcG9ydF9pbXBvcnRsaWIoJ2ltcG9ydGxpYi5tYWNoaW5lcnknKQorbWFjaGluZXJ5ID0gdXRpbC5pbXBvcnRfaW1wb3J0bGliKCdpbXBvcnRsaWIubWFjaGluZXJ5JykKIAogCiAjIFhYWCBmaW5kX3NwZWMgdGVzdHMKIAotQHVuaXR0ZXN0LnNraXBJZihleHRfdXRpbC5GSUxFTkFNRSBpcyBOb25lLCAnX3Rlc3RjYXBpIG5vdCBhdmFpbGFibGUnKQorQHVuaXR0ZXN0LnNraXBJZih1dGlsLkVYVEVOU0lPTlMuZmlsZW5hbWUgaXMgTm9uZSwgJ190ZXN0Y2FwaSBub3QgYXZhaWxhYmxlJykKIEB1dGlsLmNhc2VfaW5zZW5zaXRpdmVfdGVzdHMKIGNsYXNzIEV4dGVuc2lvbk1vZHVsZUNhc2VTZW5zaXRpdml0eVRlc3Q6CiAKICAgICBkZWYgZmluZF9tb2R1bGUoc2VsZik6Ci0gICAgICAgIGdvb2RfbmFtZSA9IGV4dF91dGlsLk5BTUUKKyAgICAgICAgZ29vZF9uYW1lID0gdXRpbC5FWFRFTlNJT05TLm5hbWUKICAgICAgICAgYmFkX25hbWUgPSBnb29kX25hbWUudXBwZXIoKQogICAgICAgICBhc3NlcnQgZ29vZF9uYW1lICE9IGJhZF9uYW1lCi0gICAgICAgIGZpbmRlciA9IHNlbGYubWFjaGluZXJ5LkZpbGVGaW5kZXIoZXh0X3V0aWwuUEFUSCwKKyAgICAgICAgZmluZGVyID0gc2VsZi5tYWNoaW5lcnkuRmlsZUZpbmRlcih1dGlsLkVYVEVOU0lPTlMucGF0aCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzZWxmLm1hY2hpbmVyeS5FeHRlbnNpb25GaWxlTG9hZGVyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYubWFjaGluZXJ5LkVYVEVOU0lPTl9TVUZGSVhFUykpCiAgICAgICAgIHJldHVybiBmaW5kZXIuZmluZF9tb2R1bGUoYmFkX25hbWUpCkBAIC00Miw5ICs0MSwxMCBAQAogICAgICAgICAgICAgbG9hZGVyID0gc2VsZi5maW5kX21vZHVsZSgpCiAgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUoaGFzYXR0cihsb2FkZXIsICdsb2FkX21vZHVsZScpKQogCi1Gcm96ZW5fRXh0ZW5zaW9uQ2FzZVNlbnNpdGl2aXR5LCBTb3VyY2VfRXh0ZW5zaW9uQ2FzZVNlbnNpdGl2aXR5ID0gdXRpbC50ZXN0X2JvdGgoCi0gICAgICAgIEV4dGVuc2lvbk1vZHVsZUNhc2VTZW5zaXRpdml0eVRlc3QsCi0gICAgICAgIG1hY2hpbmVyeT1bZnJvemVuX21hY2hpbmVyeSwgc291cmNlX21hY2hpbmVyeV0pCisKKyhGcm96ZW5fRXh0ZW5zaW9uQ2FzZVNlbnNpdGl2aXR5LAorIFNvdXJjZV9FeHRlbnNpb25DYXNlU2Vuc2l0aXZpdHkKKyApID0gdXRpbC50ZXN0X2JvdGgoRXh0ZW5zaW9uTW9kdWxlQ2FzZVNlbnNpdGl2aXR5VGVzdCwgbWFjaGluZXJ5PW1hY2hpbmVyeSkKIAogCiBpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvZXh0ZW5zaW9uL3Rlc3RfZmluZGVyLnB5IGIvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvZXh0ZW5zaW9uL3Rlc3RfZmluZGVyLnB5CmluZGV4IDk5MGYyOWMuLjcxYmY2N2YgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL2V4dGVuc2lvbi90ZXN0X2ZpbmRlci5weQorKysgYi9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi9leHRlbnNpb24vdGVzdF9maW5kZXIucHkKQEAgLTEsOCArMSw3IEBACiBmcm9tIC4uIGltcG9ydCBhYmMKLWZyb20gLi4gaW1wb3J0IHV0aWwgYXMgdGVzdF91dGlsCi1mcm9tIC4gaW1wb3J0IHV0aWwKK2Zyb20gLi4gaW1wb3J0IHV0aWwKIAotbWFjaGluZXJ5ID0gdGVzdF91dGlsLmltcG9ydF9pbXBvcnRsaWIoJ2ltcG9ydGxpYi5tYWNoaW5lcnknKQorbWFjaGluZXJ5ID0gdXRpbC5pbXBvcnRfaW1wb3J0bGliKCdpbXBvcnRsaWIubWFjaGluZXJ5JykKIAogaW1wb3J0IHVuaXR0ZXN0CiBpbXBvcnQgd2FybmluZ3MKQEAgLTE0LDcgKzEzLDcgQEAKICAgICAiIiJUZXN0IHRoZSBmaW5kZXIgZm9yIGV4dGVuc2lvbiBtb2R1bGVzLiIiIgogCiAgICAgZGVmIGZpbmRfbW9kdWxlKHNlbGYsIGZ1bGxuYW1lKToKLSAgICAgICAgaW1wb3J0ZXIgPSBzZWxmLm1hY2hpbmVyeS5GaWxlRmluZGVyKHV0aWwuUEFUSCwKKyAgICAgICAgaW1wb3J0ZXIgPSBzZWxmLm1hY2hpbmVyeS5GaWxlRmluZGVyKHV0aWwuRVhURU5TSU9OUy5wYXRoLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc2VsZi5tYWNoaW5lcnkuRXh0ZW5zaW9uRmlsZUxvYWRlciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYubWFjaGluZXJ5LkVYVEVOU0lPTl9TVUZGSVhFUykpCiAgICAgICAgIHdpdGggd2FybmluZ3MuY2F0Y2hfd2FybmluZ3MoKToKQEAgLTIyLDcgKzIxLDcgQEAKICAgICAgICAgICAgIHJldHVybiBpbXBvcnRlci5maW5kX21vZHVsZShmdWxsbmFtZSkKIAogICAgIGRlZiB0ZXN0X21vZHVsZShzZWxmKToKLSAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHNlbGYuZmluZF9tb2R1bGUodXRpbC5OQU1FKSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHNlbGYuZmluZF9tb2R1bGUodXRpbC5FWFRFTlNJT05TLm5hbWUpKQogCiAgICAgIyBObyBleHRlbnNpb24gbW9kdWxlIGFzIGFuIF9faW5pdF9fIGF2YWlsYWJsZSBmb3IgdGVzdGluZy4KICAgICB0ZXN0X3BhY2thZ2UgPSB0ZXN0X3BhY2thZ2VfaW5fcGFja2FnZSA9IE5vbmUKQEAgLTM2LDggKzM1LDEwIEBACiAgICAgZGVmIHRlc3RfZmFpbHVyZShzZWxmKToKICAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUoc2VsZi5maW5kX21vZHVsZSgnYXNkZmprbDsnKSkKIAotRnJvemVuX0ZpbmRlclRlc3RzLCBTb3VyY2VfRmluZGVyVGVzdHMgPSB0ZXN0X3V0aWwudGVzdF9ib3RoKAotICAgICAgICBGaW5kZXJUZXN0cywgbWFjaGluZXJ5PW1hY2hpbmVyeSkKKworKEZyb3plbl9GaW5kZXJUZXN0cywKKyBTb3VyY2VfRmluZGVyVGVzdHMKKyApID0gdXRpbC50ZXN0X2JvdGgoRmluZGVyVGVzdHMsIG1hY2hpbmVyeT1tYWNoaW5lcnkpCiAKIAogaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL2V4dGVuc2lvbi90ZXN0X2xvYWRlci5weSBiL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL2V4dGVuc2lvbi90ZXN0X2xvYWRlci5weQppbmRleCBmZDlhYmYyLi5hZWZkMDUwIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi9leHRlbnNpb24vdGVzdF9sb2FkZXIucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvZXh0ZW5zaW9uL3Rlc3RfbG9hZGVyLnB5CkBAIC0xLDQgKzEsMyBAQAotZnJvbSAuIGltcG9ydCB1dGlsIGFzIGV4dF91dGlsCiBmcm9tIC4uIGltcG9ydCBhYmMKIGZyb20gLi4gaW1wb3J0IHV0aWwKIApAQCAtMTUsOCArMTQsOCBAQAogICAgICIiIlRlc3QgbG9hZF9tb2R1bGUoKSBmb3IgZXh0ZW5zaW9uIG1vZHVsZXMuIiIiCiAKICAgICBkZWYgc2V0VXAoc2VsZik6Ci0gICAgICAgIHNlbGYubG9hZGVyID0gc2VsZi5tYWNoaW5lcnkuRXh0ZW5zaW9uRmlsZUxvYWRlcihleHRfdXRpbC5OQU1FLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXh0X3V0aWwuRklMRVBBVEgpCisgICAgICAgIHNlbGYubG9hZGVyID0gc2VsZi5tYWNoaW5lcnkuRXh0ZW5zaW9uRmlsZUxvYWRlcih1dGlsLkVYVEVOU0lPTlMubmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHV0aWwuRVhURU5TSU9OUy5maWxlX3BhdGgpCiAKICAgICBkZWYgbG9hZF9tb2R1bGUoc2VsZiwgZnVsbG5hbWUpOgogICAgICAgICByZXR1cm4gc2VsZi5sb2FkZXIubG9hZF9tb2R1bGUoZnVsbG5hbWUpCkBAIC0yOSwyMyArMjgsMjMgQEAKICAgICAgICAgICAgIHNlbGYubG9hZF9tb2R1bGUoJ1hYWCcpCiAKICAgICBkZWYgdGVzdF9lcXVhbGl0eShzZWxmKToKLSAgICAgICAgb3RoZXIgPSBzZWxmLm1hY2hpbmVyeS5FeHRlbnNpb25GaWxlTG9hZGVyKGV4dF91dGlsLk5BTUUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHRfdXRpbC5GSUxFUEFUSCkKKyAgICAgICAgb3RoZXIgPSBzZWxmLm1hY2hpbmVyeS5FeHRlbnNpb25GaWxlTG9hZGVyKHV0aWwuRVhURU5TSU9OUy5uYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXRpbC5FWFRFTlNJT05TLmZpbGVfcGF0aCkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLmxvYWRlciwgb3RoZXIpCiAKICAgICBkZWYgdGVzdF9pbmVxdWFsaXR5KHNlbGYpOgotICAgICAgICBvdGhlciA9IHNlbGYubWFjaGluZXJ5LkV4dGVuc2lvbkZpbGVMb2FkZXIoJ18nICsgZXh0X3V0aWwuTkFNRSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4dF91dGlsLkZJTEVQQVRIKQorICAgICAgICBvdGhlciA9IHNlbGYubWFjaGluZXJ5LkV4dGVuc2lvbkZpbGVMb2FkZXIoJ18nICsgdXRpbC5FWFRFTlNJT05TLm5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1dGlsLkVYVEVOU0lPTlMuZmlsZV9wYXRoKQogICAgICAgICBzZWxmLmFzc2VydE5vdEVxdWFsKHNlbGYubG9hZGVyLCBvdGhlcikKIAogICAgIGRlZiB0ZXN0X21vZHVsZShzZWxmKToKLSAgICAgICAgd2l0aCB1dGlsLnVuY2FjaGUoZXh0X3V0aWwuTkFNRSk6Ci0gICAgICAgICAgICBtb2R1bGUgPSBzZWxmLmxvYWRfbW9kdWxlKGV4dF91dGlsLk5BTUUpCi0gICAgICAgICAgICBmb3IgYXR0ciwgdmFsdWUgaW4gWygnX19uYW1lX18nLCBleHRfdXRpbC5OQU1FKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCdfX2ZpbGVfXycsIGV4dF91dGlsLkZJTEVQQVRIKSwKKyAgICAgICAgd2l0aCB1dGlsLnVuY2FjaGUodXRpbC5FWFRFTlNJT05TLm5hbWUpOgorICAgICAgICAgICAgbW9kdWxlID0gc2VsZi5sb2FkX21vZHVsZSh1dGlsLkVYVEVOU0lPTlMubmFtZSkKKyAgICAgICAgICAgIGZvciBhdHRyLCB2YWx1ZSBpbiBbKCdfX25hbWVfXycsIHV0aWwuRVhURU5TSU9OUy5uYW1lKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCdfX2ZpbGVfXycsIHV0aWwuRVhURU5TSU9OUy5maWxlX3BhdGgpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoJ19fcGFja2FnZV9fJywgJycpXToKICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGdldGF0dHIobW9kdWxlLCBhdHRyKSwgdmFsdWUpCi0gICAgICAgICAgICBzZWxmLmFzc2VydEluKGV4dF91dGlsLk5BTUUsIHN5cy5tb2R1bGVzKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRJbih1dGlsLkVYVEVOU0lPTlMubmFtZSwgc3lzLm1vZHVsZXMpCiAgICAgICAgICAgICBzZWxmLmFzc2VydElzSW5zdGFuY2UobW9kdWxlLl9fbG9hZGVyX18sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5tYWNoaW5lcnkuRXh0ZW5zaW9uRmlsZUxvYWRlcikKIApAQCAtNTYsOSArNTUsOSBAQAogICAgIHRlc3RfbGFja2luZ19wYXJlbnQgPSBOb25lCiAKICAgICBkZWYgdGVzdF9tb2R1bGVfcmV1c2Uoc2VsZik6Ci0gICAgICAgIHdpdGggdXRpbC51bmNhY2hlKGV4dF91dGlsLk5BTUUpOgotICAgICAgICAgICAgbW9kdWxlMSA9IHNlbGYubG9hZF9tb2R1bGUoZXh0X3V0aWwuTkFNRSkKLSAgICAgICAgICAgIG1vZHVsZTIgPSBzZWxmLmxvYWRfbW9kdWxlKGV4dF91dGlsLk5BTUUpCisgICAgICAgIHdpdGggdXRpbC51bmNhY2hlKHV0aWwuRVhURU5TSU9OUy5uYW1lKToKKyAgICAgICAgICAgIG1vZHVsZTEgPSBzZWxmLmxvYWRfbW9kdWxlKHV0aWwuRVhURU5TSU9OUy5uYW1lKQorICAgICAgICAgICAgbW9kdWxlMiA9IHNlbGYubG9hZF9tb2R1bGUodXRpbC5FWFRFTlNJT05TLm5hbWUpCiAgICAgICAgICAgICBzZWxmLmFzc2VydElzKG1vZHVsZTEsIG1vZHVsZTIpCiAKICAgICAjIE5vIGVhc3kgd2F5IHRvIHRyaWdnZXIgYSBmYWlsdXJlIGFmdGVyIGEgc3VjY2Vzc2Z1bCBpbXBvcnQuCkBAIC03MSwxNCArNzAsMTUgQEAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjbS5leGNlcHRpb24ubmFtZSwgbmFtZSkKIAogICAgIGRlZiB0ZXN0X2lzX3BhY2thZ2Uoc2VsZik6Ci0gICAgICAgIHNlbGYuYXNzZXJ0RmFsc2Uoc2VsZi5sb2FkZXIuaXNfcGFja2FnZShleHRfdXRpbC5OQU1FKSkKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShzZWxmLmxvYWRlci5pc19wYWNrYWdlKHV0aWwuRVhURU5TSU9OUy5uYW1lKSkKICAgICAgICAgZm9yIHN1ZmZpeCBpbiBzZWxmLm1hY2hpbmVyeS5FWFRFTlNJT05fU1VGRklYRVM6CiAgICAgICAgICAgICBwYXRoID0gb3MucGF0aC5qb2luKCdzb21lJywgJ3BhdGgnLCAncGtnJywgJ19faW5pdF9fJyArIHN1ZmZpeCkKICAgICAgICAgICAgIGxvYWRlciA9IHNlbGYubWFjaGluZXJ5LkV4dGVuc2lvbkZpbGVMb2FkZXIoJ3BrZycsIHBhdGgpCiAgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUobG9hZGVyLmlzX3BhY2thZ2UoJ3BrZycpKQogCi1Gcm96ZW5fTG9hZGVyVGVzdHMsIFNvdXJjZV9Mb2FkZXJUZXN0cyA9IHV0aWwudGVzdF9ib3RoKAotICAgICAgICBMb2FkZXJUZXN0cywgbWFjaGluZXJ5PW1hY2hpbmVyeSkKKyhGcm96ZW5fTG9hZGVyVGVzdHMsCisgU291cmNlX0xvYWRlclRlc3RzCisgKSA9IHV0aWwudGVzdF9ib3RoKExvYWRlclRlc3RzLCBtYWNoaW5lcnk9bWFjaGluZXJ5KQogCiAKIApkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvZXh0ZW5zaW9uL3Rlc3RfcGF0aF9ob29rLnB5IGIvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvZXh0ZW5zaW9uL3Rlc3RfcGF0aF9ob29rLnB5CmluZGV4IDQ5ZDY3MzQuLjhmNGI4YmIgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL2V4dGVuc2lvbi90ZXN0X3BhdGhfaG9vay5weQorKysgYi9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi9leHRlbnNpb24vdGVzdF9wYXRoX2hvb2sucHkKQEAgLTEsNyArMSw2IEBACi1mcm9tIC4uIGltcG9ydCB1dGlsIGFzIHRlc3RfdXRpbAotZnJvbSAuIGltcG9ydCB1dGlsCitmcm9tIC4uIGltcG9ydCB1dGlsCiAKLW1hY2hpbmVyeSA9IHRlc3RfdXRpbC5pbXBvcnRfaW1wb3J0bGliKCdpbXBvcnRsaWIubWFjaGluZXJ5JykKK21hY2hpbmVyeSA9IHV0aWwuaW1wb3J0X2ltcG9ydGxpYignaW1wb3J0bGliLm1hY2hpbmVyeScpCiAKIGltcG9ydCBjb2xsZWN0aW9ucwogaW1wb3J0IHN5cwpAQCAtMjIsMTAgKzIxLDEyIEBACiAgICAgZGVmIHRlc3Rfc3VjY2VzcyhzZWxmKToKICAgICAgICAgIyBQYXRoIGhvb2sgc2hvdWxkIGhhbmRsZSBhIGRpcmVjdG9yeSB3aGVyZSBhIGtub3duIGV4dGVuc2lvbiBtb2R1bGUKICAgICAgICAgIyBleGlzdHMuCi0gICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShoYXNhdHRyKHNlbGYuaG9vayh1dGlsLlBBVEgpLCAnZmluZF9tb2R1bGUnKSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGhhc2F0dHIoc2VsZi5ob29rKHV0aWwuRVhURU5TSU9OUy5wYXRoKSwgJ2ZpbmRfbW9kdWxlJykpCiAKLUZyb3plbl9QYXRoSG9va3NUZXN0cywgU291cmNlX1BhdGhIb29rc1Rlc3RzID0gdGVzdF91dGlsLnRlc3RfYm90aCgKLSAgICAgICAgUGF0aEhvb2tUZXN0cywgbWFjaGluZXJ5PW1hY2hpbmVyeSkKKworKEZyb3plbl9QYXRoSG9va3NUZXN0cywKKyBTb3VyY2VfUGF0aEhvb2tzVGVzdHMKKyApID0gdXRpbC50ZXN0X2JvdGgoUGF0aEhvb2tUZXN0cywgbWFjaGluZXJ5PW1hY2hpbmVyeSkKIAogCiBpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvZXh0ZW5zaW9uL3V0aWwucHkgYi9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi9leHRlbnNpb24vdXRpbC5weQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGQwODlmMC4uMDAwMDAwMAotLS0gYS9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi9leHRlbnNpb24vdXRpbC5weQorKysgL2Rldi9udWxsCkBAIC0xLDE5ICswLDAgQEAKLWZyb20gaW1wb3J0bGliIGltcG9ydCBtYWNoaW5lcnkKLWltcG9ydCBvcwotaW1wb3J0IHN5cwotCi1QQVRIID0gTm9uZQotRVhUID0gTm9uZQotRklMRU5BTUUgPSBOb25lCi1OQU1FID0gJ190ZXN0Y2FwaScKLXRyeToKLSAgICBmb3IgUEFUSCBpbiBzeXMucGF0aDoKLSAgICAgICAgZm9yIEVYVCBpbiBtYWNoaW5lcnkuRVhURU5TSU9OX1NVRkZJWEVTOgotICAgICAgICAgICAgRklMRU5BTUUgPSBOQU1FICsgRVhUCi0gICAgICAgICAgICBGSUxFUEFUSCA9IG9zLnBhdGguam9pbihQQVRILCBGSUxFTkFNRSkKLSAgICAgICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKG9zLnBhdGguam9pbihQQVRILCBGSUxFTkFNRSkpOgotICAgICAgICAgICAgICAgIHJhaXNlIFN0b3BJdGVyYXRpb24KLSAgICBlbHNlOgotICAgICAgICBQQVRIID0gRVhUID0gRklMRU5BTUUgPSBGSUxFUEFUSCA9IE5vbmUKLWV4Y2VwdCBTdG9wSXRlcmF0aW9uOgotICAgIHBhc3MKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL2Zyb3plbi90ZXN0X2ZpbmRlci5weSBiL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL2Zyb3plbi90ZXN0X2ZpbmRlci5weQppbmRleCBmOWY5N2YzLi41MTlhYTAyIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi9mcm96ZW4vdGVzdF9maW5kZXIucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvZnJvemVuL3Rlc3RfZmluZGVyLnB5CkBAIC0zNyw4ICszNywxMCBAQAogICAgICAgICBzcGVjID0gc2VsZi5maW5kKCc8bm90IHJlYWw+JykKICAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUoc3BlYykKIAotRnJvemVuX0ZpbmRTcGVjVGVzdHMsIFNvdXJjZV9GaW5kU3BlY1Rlc3RzID0gdXRpbC50ZXN0X2JvdGgoRmluZFNwZWNUZXN0cywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hY2hpbmVyeT1tYWNoaW5lcnkpCisKKyhGcm96ZW5fRmluZFNwZWNUZXN0cywKKyBTb3VyY2VfRmluZFNwZWNUZXN0cworICkgPSB1dGlsLnRlc3RfYm90aChGaW5kU3BlY1Rlc3RzLCBtYWNoaW5lcnk9bWFjaGluZXJ5KQogCiAKIGNsYXNzIEZpbmRlclRlc3RzKGFiYy5GaW5kZXJUZXN0cyk6CkBAIC03Miw4ICs3NCwxMCBAQAogICAgICAgICBsb2FkZXIgPSBzZWxmLmZpbmQoJzxub3QgcmVhbD4nKQogICAgICAgICBzZWxmLmFzc2VydElzTm9uZShsb2FkZXIpCiAKLUZyb3plbl9GaW5kZXJUZXN0cywgU291cmNlX0ZpbmRlclRlc3RzID0gdXRpbC50ZXN0X2JvdGgoRmluZGVyVGVzdHMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hY2hpbmVyeT1tYWNoaW5lcnkpCisKKyhGcm96ZW5fRmluZGVyVGVzdHMsCisgU291cmNlX0ZpbmRlclRlc3RzCisgKSA9IHV0aWwudGVzdF9ib3RoKEZpbmRlclRlc3RzLCBtYWNoaW5lcnk9bWFjaGluZXJ5KQogCiAKIGlmIF9fbmFtZV9fID09ICdfX21haW5fXyc6CmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi9mcm96ZW4vdGVzdF9sb2FkZXIucHkgYi9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi9mcm96ZW4vdGVzdF9sb2FkZXIucHkKaW5kZXggN2MwMTQ2NC4uNjAzYzdkNyAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvZnJvemVuL3Rlc3RfbG9hZGVyLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL2Zyb3plbi90ZXN0X2xvYWRlci5weQpAQCAtODUsOCArODUsMTAgQEAKICAgICAgICAgICAgIHNlbGYuZXhlY19tb2R1bGUoJ19ub3RfcmVhbCcpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY20uZXhjZXB0aW9uLm5hbWUsICdfbm90X3JlYWwnKQogCi1Gcm96ZW5fRXhlY01vZHVsZVRlc3RzLCBTb3VyY2VfRXhlY01vZHVsZVRlc3RzID0gdXRpbC50ZXN0X2JvdGgoRXhlY01vZHVsZVRlc3RzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWNoaW5lcnk9bWFjaGluZXJ5KQorCisoRnJvemVuX0V4ZWNNb2R1bGVUZXN0cywKKyBTb3VyY2VfRXhlY01vZHVsZVRlc3RzCisgKSA9IHV0aWwudGVzdF9ib3RoKEV4ZWNNb2R1bGVUZXN0cywgbWFjaGluZXJ5PW1hY2hpbmVyeSkKIAogCiBjbGFzcyBMb2FkZXJUZXN0cyhhYmMuTG9hZGVyVGVzdHMpOgpAQCAtMTc1LDggKzE3NywxMCBAQAogICAgICAgICAgICAgc2VsZi5tYWNoaW5lcnkuRnJvemVuSW1wb3J0ZXIubG9hZF9tb2R1bGUoJ19ub3RfcmVhbCcpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY20uZXhjZXB0aW9uLm5hbWUsICdfbm90X3JlYWwnKQogCi1Gcm96ZW5fTG9hZGVyVGVzdHMsIFNvdXJjZV9Mb2FkZXJUZXN0cyA9IHV0aWwudGVzdF9ib3RoKExvYWRlclRlc3RzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWNoaW5lcnk9bWFjaGluZXJ5KQorCisoRnJvemVuX0xvYWRlclRlc3RzLAorIFNvdXJjZV9Mb2FkZXJUZXN0cworICkgPSB1dGlsLnRlc3RfYm90aChMb2FkZXJUZXN0cywgbWFjaGluZXJ5PW1hY2hpbmVyeSkKIAogCiBjbGFzcyBJbnNwZWN0TG9hZGVyVGVzdHM6CkBAIC0yMTQsOCArMjE4LDkgQEAKICAgICAgICAgICAgICAgICBtZXRob2QoJ2ltcG9ydGxpYicpCiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNtLmV4Y2VwdGlvbi5uYW1lLCAnaW1wb3J0bGliJykKIAotRnJvemVuX0lMVGVzdHMsIFNvdXJjZV9JTFRlc3RzID0gdXRpbC50ZXN0X2JvdGgoSW5zcGVjdExvYWRlclRlc3RzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFjaGluZXJ5PW1hY2hpbmVyeSkKKyhGcm96ZW5fSUxUZXN0cywKKyBTb3VyY2VfSUxUZXN0cworICkgPSB1dGlsLnRlc3RfYm90aChJbnNwZWN0TG9hZGVyVGVzdHMsIG1hY2hpbmVyeT1tYWNoaW5lcnkpCiAKIAogaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL2ltcG9ydF8vdGVzdF9fX2xvYWRlcl9fLnB5IGIvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvaW1wb3J0Xy90ZXN0X19fbG9hZGVyX18ucHkKaW5kZXggNmRmODAxMC4uNGIxODA5MyAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvaW1wb3J0Xy90ZXN0X19fbG9hZGVyX18ucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvaW1wb3J0Xy90ZXN0X19fbG9hZGVyX18ucHkKQEAgLTQsNyArNCw2IEBACiBpbXBvcnQgdW5pdHRlc3QKIAogZnJvbSAuLiBpbXBvcnQgdXRpbAotZnJvbSAuIGltcG9ydCB1dGlsIGFzIGltcG9ydF91dGlsCiAKIAogY2xhc3MgU3BlY0xvYWRlck1vY2s6CkBAIC0xMiw2ICsxMSw5IEBACiAgICAgZGVmIGZpbmRfc3BlYyhzZWxmLCBmdWxsbmFtZSwgcGF0aD1Ob25lLCB0YXJnZXQ9Tm9uZSk6CiAgICAgICAgIHJldHVybiBtYWNoaW5lcnkuTW9kdWxlU3BlYyhmdWxsbmFtZSwgc2VsZikKIAorICAgIGRlZiBjcmVhdGVfbW9kdWxlKHNlbGYsIHNwZWMpOgorICAgICAgICByZXR1cm4gTm9uZQorCiAgICAgZGVmIGV4ZWNfbW9kdWxlKHNlbGYsIG1vZHVsZSk6CiAgICAgICAgIHBhc3MKIApAQCAtMjQsOCArMjYsMTAgQEAKICAgICAgICAgICAgIG1vZHVsZSA9IHNlbGYuX19pbXBvcnRfXygnYmxhaCcpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobG9hZGVyLCBtb2R1bGUuX19sb2FkZXJfXykKIAotRnJvemVuX1NwZWNUZXN0cywgU291cmNlX1NwZWNUZXN0cyA9IHV0aWwudGVzdF9ib3RoKAotICAgICAgICBTcGVjTG9hZGVyQXR0cmlidXRlVGVzdHMsIF9faW1wb3J0X189aW1wb3J0X3V0aWwuX19pbXBvcnRfXykKKworKEZyb3plbl9TcGVjVGVzdHMsCisgU291cmNlX1NwZWNUZXN0cworICkgPSB1dGlsLnRlc3RfYm90aChTcGVjTG9hZGVyQXR0cmlidXRlVGVzdHMsIF9faW1wb3J0X189dXRpbC5fX2ltcG9ydF9fKQogCiAKIGNsYXNzIExvYWRlck1vY2s6CkBAIC02Miw4ICs2Niw5IEBACiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobG9hZGVyLCBtb2R1bGUuX19sb2FkZXJfXykKIAogCi1Gcm96ZW5fVGVzdHMsIFNvdXJjZV9UZXN0cyA9IHV0aWwudGVzdF9ib3RoKExvYWRlckF0dHJpYnV0ZVRlc3RzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX2ltcG9ydF9fPWltcG9ydF91dGlsLl9faW1wb3J0X18pCisoRnJvemVuX1Rlc3RzLAorIFNvdXJjZV9UZXN0cworICkgPSB1dGlsLnRlc3RfYm90aChMb2FkZXJBdHRyaWJ1dGVUZXN0cywgX19pbXBvcnRfXz11dGlsLl9faW1wb3J0X18pCiAKIAogaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL2ltcG9ydF8vdGVzdF9fX3BhY2thZ2VfXy5weSBiL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL2ltcG9ydF8vdGVzdF9fX3BhY2thZ2VfXy5weQppbmRleCAyZTE5NzI1Li5jN2QzYTJhIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi9pbXBvcnRfL3Rlc3RfX19wYWNrYWdlX18ucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvaW1wb3J0Xy90ZXN0X19fcGFja2FnZV9fLnB5CkBAIC02LDcgKzYsNiBAQAogIiIiCiBpbXBvcnQgdW5pdHRlc3QKIGZyb20gLi4gaW1wb3J0IHV0aWwKLWZyb20gLiBpbXBvcnQgdXRpbCBhcyBpbXBvcnRfdXRpbAogCiAKIGNsYXNzIFVzaW5nX19wYWNrYWdlX186CkBAIC03MCwxNyArNjksMjMgQEAKICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IpOgogICAgICAgICAgICAgc2VsZi5fX2ltcG9ydF9fKCcnLCBnbG9iYWxzLCB7fSwgWydyZWxpbXBvcnQnXSwgMSkKIAorCiBjbGFzcyBVc2luZ19fcGFja2FnZV9fUEVQMzAyKFVzaW5nX19wYWNrYWdlX18pOgogICAgIG1vY2tfbW9kdWxlcyA9IHV0aWwubW9ja19tb2R1bGVzCiAKLUZyb3plbl9Vc2luZ1BhY2thZ2VQRVAzMDIsIFNvdXJjZV9Vc2luZ1BhY2thZ2VQRVAzMDIgPSB1dGlsLnRlc3RfYm90aCgKLSAgICAgICAgVXNpbmdfX3BhY2thZ2VfX1BFUDMwMiwgX19pbXBvcnRfXz1pbXBvcnRfdXRpbC5fX2ltcG9ydF9fKQogCi1jbGFzcyBVc2luZ19fcGFja2FnZV9fUEVQMzAyKFVzaW5nX19wYWNrYWdlX18pOgorKEZyb3plbl9Vc2luZ1BhY2thZ2VQRVAzMDIsCisgU291cmNlX1VzaW5nUGFja2FnZVBFUDMwMgorICkgPSB1dGlsLnRlc3RfYm90aChVc2luZ19fcGFja2FnZV9fUEVQMzAyLCBfX2ltcG9ydF9fPXV0aWwuX19pbXBvcnRfXykKKworCitjbGFzcyBVc2luZ19fcGFja2FnZV9fUEVQNDUxKFVzaW5nX19wYWNrYWdlX18pOgogICAgIG1vY2tfbW9kdWxlcyA9IHV0aWwubW9ja19zcGVjCiAKLUZyb3plbl9Vc2luZ1BhY2thZ2VQRVA0NTEsIFNvdXJjZV9Vc2luZ1BhY2thZ2VQRVA0NTEgPSB1dGlsLnRlc3RfYm90aCgKLSAgICAgICAgVXNpbmdfX3BhY2thZ2VfX1BFUDMwMiwgX19pbXBvcnRfXz1pbXBvcnRfdXRpbC5fX2ltcG9ydF9fKQorCisoRnJvemVuX1VzaW5nUGFja2FnZVBFUDQ1MSwKKyBTb3VyY2VfVXNpbmdQYWNrYWdlUEVQNDUxCisgKSA9IHV0aWwudGVzdF9ib3RoKFVzaW5nX19wYWNrYWdlX19QRVA0NTEsIF9faW1wb3J0X189dXRpbC5fX2ltcG9ydF9fKQogCiAKIGNsYXNzIFNldHRpbmdfX3BhY2thZ2VfXzoKQEAgLTk1LDcgKzEwMCw3IEBACiAKICAgICAiIiIKIAotICAgIF9faW1wb3J0X18gPSBpbXBvcnRfdXRpbC5fX2ltcG9ydF9fWzFdCisgICAgX19pbXBvcnRfXyA9IHV0aWwuX19pbXBvcnRfX1snU291cmNlJ10KIAogICAgICMgW3RvcC1sZXZlbF0KICAgICBkZWYgdGVzdF90b3BfbGV2ZWwoc2VsZik6CmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi9pbXBvcnRfL3Rlc3RfYXBpLnB5IGIvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvaW1wb3J0Xy90ZXN0X2FwaS5weQppbmRleCA0MzljMTA1Li43MDY5ZDllIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi9pbXBvcnRfL3Rlc3RfYXBpLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL2ltcG9ydF8vdGVzdF9hcGkucHkKQEAgLTEsNSArMSw0IEBACiBmcm9tIC4uIGltcG9ydCB1dGlsCi1mcm9tIC4gaW1wb3J0IHV0aWwgYXMgaW1wb3J0X3V0aWwKIAogZnJvbSBpbXBvcnRsaWIgaW1wb3J0IG1hY2hpbmVyeQogaW1wb3J0IHN5cwpAQCAtMTgsNiArMTcsMTAgQEAKICAgICAgICAgICAgIHJldHVybiBzcGVjCiAKICAgICBAc3RhdGljbWV0aG9kCisgICAgZGVmIGNyZWF0ZV9tb2R1bGUoc3BlYyk6CisgICAgICAgIHJldHVybiBOb25lCisKKyAgICBAc3RhdGljbWV0aG9kCiAgICAgZGVmIGV4ZWNfbW9kdWxlKG1vZHVsZSk6CiAgICAgICAgIGlmIG1vZHVsZS5fX25hbWVfXyA9PSBTVUJNT0RfTkFNRToKICAgICAgICAgICAgIHJhaXNlIEltcG9ydEVycm9yKCdJIGNhbm5vdCBiZSBsb2FkZWQhJykKQEAgLTc5LDE1ICs4MiwxOSBAQAogY2xhc3MgT2xkQVBJVGVzdHMoQVBJVGVzdCk6CiAgICAgYmFkX2ZpbmRlcl9sb2FkZXIgPSBCYWRMb2FkZXJGaW5kZXIKIAotRnJvemVuX09sZEFQSVRlc3RzLCBTb3VyY2VfT2xkQVBJVGVzdHMgPSB1dGlsLnRlc3RfYm90aCgKLSAgICAgICAgT2xkQVBJVGVzdHMsIF9faW1wb3J0X189aW1wb3J0X3V0aWwuX19pbXBvcnRfXykKKworKEZyb3plbl9PbGRBUElUZXN0cywKKyBTb3VyY2VfT2xkQVBJVGVzdHMKKyApID0gdXRpbC50ZXN0X2JvdGgoT2xkQVBJVGVzdHMsIF9faW1wb3J0X189dXRpbC5fX2ltcG9ydF9fKQogCiAKIGNsYXNzIFNwZWNBUElUZXN0cyhBUElUZXN0KToKICAgICBiYWRfZmluZGVyX2xvYWRlciA9IEJhZFNwZWNGaW5kZXJMb2FkZXIKIAotRnJvemVuX1NwZWNBUElUZXN0cywgU291cmNlX1NwZWNBUElUZXN0cyA9IHV0aWwudGVzdF9ib3RoKAotICAgICAgICBTcGVjQVBJVGVzdHMsIF9faW1wb3J0X189aW1wb3J0X3V0aWwuX19pbXBvcnRfXykKKworKEZyb3plbl9TcGVjQVBJVGVzdHMsCisgU291cmNlX1NwZWNBUElUZXN0cworICkgPSB1dGlsLnRlc3RfYm90aChTcGVjQVBJVGVzdHMsIF9faW1wb3J0X189dXRpbC5fX2ltcG9ydF9fKQogCiAKIGlmIF9fbmFtZV9fID09ICdfX21haW5fXyc6CmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi9pbXBvcnRfL3Rlc3RfY2FjaGluZy5weSBiL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL2ltcG9ydF8vdGVzdF9jYWNoaW5nLnB5CmluZGV4IGMyOTJlZTQuLjgwNzlhZGQgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL2ltcG9ydF8vdGVzdF9jYWNoaW5nLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL2ltcG9ydF8vdGVzdF9jYWNoaW5nLnB5CkBAIC0xLDYgKzEsNSBAQAogIiIiVGVzdCB0aGF0IHN5cy5tb2R1bGVzIGlzIHVzZWQgcHJvcGVybHkgYnkgaW1wb3J0LiIiIgogZnJvbSAuLiBpbXBvcnQgdXRpbAotZnJvbSAuIGltcG9ydCB1dGlsIGFzIGltcG9ydF91dGlsCiBpbXBvcnQgc3lzCiBmcm9tIHR5cGVzIGltcG9ydCBNZXRob2RUeXBlCiBpbXBvcnQgdW5pdHRlc3QKQEAgLTM5LDE1ICszOCwxNyBAQAogICAgICAgICAgICAgICAgIHNlbGYuX19pbXBvcnRfXyhuYW1lKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjbS5leGNlcHRpb24ubmFtZSwgbmFtZSkKIAotRnJvemVuX1VzZUNhY2hlLCBTb3VyY2VfVXNlQ2FjaGUgPSB1dGlsLnRlc3RfYm90aCgKLSAgICAgICAgVXNlQ2FjaGUsIF9faW1wb3J0X189aW1wb3J0X3V0aWwuX19pbXBvcnRfXykKKworKEZyb3plbl9Vc2VDYWNoZSwKKyBTb3VyY2VfVXNlQ2FjaGUKKyApID0gdXRpbC50ZXN0X2JvdGgoVXNlQ2FjaGUsIF9faW1wb3J0X189dXRpbC5fX2ltcG9ydF9fKQogCiAKIGNsYXNzIEltcG9ydGxpYlVzZUNhY2hlKFVzZUNhY2hlLCB1bml0dGVzdC5UZXN0Q2FzZSk6CiAKICAgICAjIFBlcnRpbmVudCBvbmx5IHRvIFBFUCAzMDI7IGV4ZWNfbW9kdWxlKCkgZG9lc24ndCByZXR1cm4gYSBtb2R1bGUuCiAKLSAgICBfX2ltcG9ydF9fID0gaW1wb3J0X3V0aWwuX19pbXBvcnRfX1sxXQorICAgIF9faW1wb3J0X18gPSB1dGlsLl9faW1wb3J0X19bJ1NvdXJjZSddCiAKICAgICBkZWYgY3JlYXRlX21vY2soc2VsZiwgKm5hbWVzLCByZXR1cm5fPU5vbmUpOgogICAgICAgICBtb2NrID0gdXRpbC5tb2NrX21vZHVsZXMoKm5hbWVzKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvaW1wb3J0Xy90ZXN0X2Zyb21saXN0LnB5IGIvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvaW1wb3J0Xy90ZXN0X2Zyb21saXN0LnB5CmluZGV4IGE3NTViNzUuLjgwNDU0NjUgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL2ltcG9ydF8vdGVzdF9mcm9tbGlzdC5weQorKysgYi9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi9pbXBvcnRfL3Rlc3RfZnJvbWxpc3QucHkKQEAgLTEsNiArMSw1IEBACiAiIiJUZXN0IHRoYXQgdGhlIHNlbWFudGljcyByZWxhdGluZyB0byB0aGUgJ2Zyb21saXN0JyBhcmd1bWVudCBhcmUgY29ycmVjdC4iIiIKIGZyb20gLi4gaW1wb3J0IHV0aWwKLWZyb20gLiBpbXBvcnQgdXRpbCBhcyBpbXBvcnRfdXRpbAogaW1wb3J0IHVuaXR0ZXN0CiAKIApAQCAtMjksOCArMjgsMTAgQEAKICAgICAgICAgICAgICAgICBtb2R1bGUgPSBzZWxmLl9faW1wb3J0X18oJ3BrZy5tb2R1bGUnLCBmcm9tbGlzdD1bJ2F0dHInXSkKICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1vZHVsZS5fX25hbWVfXywgJ3BrZy5tb2R1bGUnKQogCi1Gcm96ZW5fUmV0dXJuVmFsdWUsIFNvdXJjZV9SZXR1cm5WYWx1ZSA9IHV0aWwudGVzdF9ib3RoKAotICAgICAgICBSZXR1cm5WYWx1ZSwgX19pbXBvcnRfXz1pbXBvcnRfdXRpbC5fX2ltcG9ydF9fKQorCisoRnJvemVuX1JldHVyblZhbHVlLAorIFNvdXJjZV9SZXR1cm5WYWx1ZQorICkgPSB1dGlsLnRlc3RfYm90aChSZXR1cm5WYWx1ZSwgX19pbXBvcnRfXz11dGlsLl9faW1wb3J0X18pCiAKIAogY2xhc3MgSGFuZGxpbmdGcm9tbGlzdDoKQEAgLTEyMSw4ICsxMjIsMTAgQEAKICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1vZHVsZS5tb2R1bGUxLl9fbmFtZV9fLCAncGtnLm1vZHVsZTEnKQogICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobW9kdWxlLm1vZHVsZTIuX19uYW1lX18sICdwa2cubW9kdWxlMicpCiAKLUZyb3plbl9Gcm9tTGlzdCwgU291cmNlX0Zyb21MaXN0ID0gdXRpbC50ZXN0X2JvdGgoCi0gICAgICAgIEhhbmRsaW5nRnJvbWxpc3QsIF9faW1wb3J0X189aW1wb3J0X3V0aWwuX19pbXBvcnRfXykKKworKEZyb3plbl9Gcm9tTGlzdCwKKyBTb3VyY2VfRnJvbUxpc3QKKyApID0gdXRpbC50ZXN0X2JvdGgoSGFuZGxpbmdGcm9tbGlzdCwgX19pbXBvcnRfXz11dGlsLl9faW1wb3J0X18pCiAKIAogaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL2ltcG9ydF8vdGVzdF9tZXRhX3BhdGgucHkgYi9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi9pbXBvcnRfL3Rlc3RfbWV0YV9wYXRoLnB5CmluZGV4IDVlZWIxNDUuLmM0NTJjZGQgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL2ltcG9ydF8vdGVzdF9tZXRhX3BhdGgucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvaW1wb3J0Xy90ZXN0X21ldGFfcGF0aC5weQpAQCAtMSw1ICsxLDQgQEAKIGZyb20gLi4gaW1wb3J0IHV0aWwKLWZyb20gLiBpbXBvcnQgdXRpbCBhcyBpbXBvcnRfdXRpbAogaW1wb3J0IGltcG9ydGxpYi5fYm9vdHN0cmFwCiBpbXBvcnQgc3lzCiBmcm9tIHR5cGVzIGltcG9ydCBNZXRob2RUeXBlCkBAIC00Niw4ICs0NSwxMCBAQAogICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKHcpLCAxKQogICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShpc3N1YmNsYXNzKHdbLTFdLmNhdGVnb3J5LCBJbXBvcnRXYXJuaW5nKSkKIAotRnJvemVuX0NhbGxpbmdPcmRlciwgU291cmNlX0NhbGxpbmdPcmRlciA9IHV0aWwudGVzdF9ib3RoKAotICAgICAgICBDYWxsaW5nT3JkZXIsIF9faW1wb3J0X189aW1wb3J0X3V0aWwuX19pbXBvcnRfXykKKworKEZyb3plbl9DYWxsaW5nT3JkZXIsCisgU291cmNlX0NhbGxpbmdPcmRlcgorICkgPSB1dGlsLnRlc3RfYm90aChDYWxsaW5nT3JkZXIsIF9faW1wb3J0X189dXRpbC5fX2ltcG9ydF9fKQogCiAKIGNsYXNzIENhbGxTaWduYXR1cmU6CkBAIC0xMDAsMTkgKzEwMSwyNSBAQAogICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYXJnc1swXSwgbW9kX25hbWUpCiAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRJcyhhcmdzWzFdLCBwYXRoKQogCisKIGNsYXNzIENhbGxTaWduYXR1cmVQRVAzMDIoQ2FsbFNpZ25hdHVyZSk6CiAgICAgbW9ja19tb2R1bGVzID0gdXRpbC5tb2NrX21vZHVsZXMKICAgICBmaW5kZXJfbmFtZSA9ICdmaW5kX21vZHVsZScKIAotRnJvemVuX0NhbGxTaWduYXR1cmVQRVAzMDIsIFNvdXJjZV9DYWxsU2lnbmF0dXJlUEVQMzAyID0gdXRpbC50ZXN0X2JvdGgoCi0gICAgICAgIENhbGxTaWduYXR1cmVQRVAzMDIsIF9faW1wb3J0X189aW1wb3J0X3V0aWwuX19pbXBvcnRfXykKKworKEZyb3plbl9DYWxsU2lnbmF0dXJlUEVQMzAyLAorIFNvdXJjZV9DYWxsU2lnbmF0dXJlUEVQMzAyCisgKSA9IHV0aWwudGVzdF9ib3RoKENhbGxTaWduYXR1cmVQRVAzMDIsIF9faW1wb3J0X189dXRpbC5fX2ltcG9ydF9fKQorCiAKIGNsYXNzIENhbGxTaWduYXR1cmVQRVA0NTEoQ2FsbFNpZ25hdHVyZSk6CiAgICAgbW9ja19tb2R1bGVzID0gdXRpbC5tb2NrX3NwZWMKICAgICBmaW5kZXJfbmFtZSA9ICdmaW5kX3NwZWMnCiAKLUZyb3plbl9DYWxsU2lnbmF0dXJlUEVQNDUxLCBTb3VyY2VfQ2FsbFNpZ25hdHVyZVBFUDQ1MSA9IHV0aWwudGVzdF9ib3RoKAotICAgICAgICBDYWxsU2lnbmF0dXJlUEVQNDUxLCBfX2ltcG9ydF9fPWltcG9ydF91dGlsLl9faW1wb3J0X18pCisKKyhGcm96ZW5fQ2FsbFNpZ25hdHVyZVBFUDQ1MSwKKyBTb3VyY2VfQ2FsbFNpZ25hdHVyZVBFUDQ1MQorICkgPSB1dGlsLnRlc3RfYm90aChDYWxsU2lnbmF0dXJlUEVQNDUxLCBfX2ltcG9ydF9fPXV0aWwuX19pbXBvcnRfXykKIAogCiBpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvaW1wb3J0Xy90ZXN0X3BhY2thZ2VzLnB5IGIvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvaW1wb3J0Xy90ZXN0X3BhY2thZ2VzLnB5CmluZGV4IDU1YTVkMTQuLjM3NTViODQgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL2ltcG9ydF8vdGVzdF9wYWNrYWdlcy5weQorKysgYi9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi9pbXBvcnRfL3Rlc3RfcGFja2FnZXMucHkKQEAgLTEsNSArMSw0IEBACiBmcm9tIC4uIGltcG9ydCB1dGlsCi1mcm9tIC4gaW1wb3J0IHV0aWwgYXMgaW1wb3J0X3V0aWwKIGltcG9ydCBzeXMKIGltcG9ydCB1bml0dGVzdAogaW1wb3J0IGltcG9ydGxpYgpAQCAtMTAyLDggKzEwMSwxMCBAQAogICAgICAgICAgICAgICAgIGZpbmFsbHk6CiAgICAgICAgICAgICAgICAgICAgIHN1cHBvcnQudW5sb2FkKHN1Ym5hbWUpCiAKLUZyb3plbl9QYXJlbnRUZXN0cywgU291cmNlX1BhcmVudFRlc3RzID0gdXRpbC50ZXN0X2JvdGgoCi0gICAgICAgIFBhcmVudE1vZHVsZVRlc3RzLCBfX2ltcG9ydF9fPWltcG9ydF91dGlsLl9faW1wb3J0X18pCisKKyhGcm96ZW5fUGFyZW50VGVzdHMsCisgU291cmNlX1BhcmVudFRlc3RzCisgKSA9IHV0aWwudGVzdF9ib3RoKFBhcmVudE1vZHVsZVRlc3RzLCBfX2ltcG9ydF9fPXV0aWwuX19pbXBvcnRfXykKIAogCiBpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvaW1wb3J0Xy90ZXN0X3BhdGgucHkgYi9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi9pbXBvcnRfL3Rlc3RfcGF0aC5weQppbmRleCAxMjc0ZjhjLi5jMjQ2ZDY5IDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi9pbXBvcnRfL3Rlc3RfcGF0aC5weQorKysgYi9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi9pbXBvcnRfL3Rlc3RfcGF0aC5weQpAQCAtMSwxMSArMSwxMiBAQAogZnJvbSAuLiBpbXBvcnQgdXRpbAotZnJvbSAuIGltcG9ydCB1dGlsIGFzIGltcG9ydF91dGlsCiAKIGltcG9ydGxpYiA9IHV0aWwuaW1wb3J0X2ltcG9ydGxpYignaW1wb3J0bGliJykKIG1hY2hpbmVyeSA9IHV0aWwuaW1wb3J0X2ltcG9ydGxpYignaW1wb3J0bGliLm1hY2hpbmVyeScpCiAKK2ltcG9ydCBlcnJubwogaW1wb3J0IG9zCiBpbXBvcnQgc3lzCitpbXBvcnQgdGVtcGZpbGUKIGZyb20gdHlwZXMgaW1wb3J0IE1vZHVsZVR5cGUKIGltcG9ydCB1bml0dGVzdAogaW1wb3J0IHdhcm5pbmdzCkBAIC01OCw3ICs1OSw3IEBACiAgICAgICAgIG1vZHVsZSA9ICc8dGVzdCBtb2R1bGU+JwogICAgICAgICBwYXRoID0gJzx0ZXN0IHBhdGg+JwogICAgICAgICBpbXBvcnRlciA9IHV0aWwubW9ja19zcGVjKG1vZHVsZSkKLSAgICAgICAgaG9vayA9IGltcG9ydF91dGlsLm1vY2tfcGF0aF9ob29rKHBhdGgsIGltcG9ydGVyPWltcG9ydGVyKQorICAgICAgICBob29rID0gdXRpbC5tb2NrX3BhdGhfaG9vayhwYXRoLCBpbXBvcnRlcj1pbXBvcnRlcikKICAgICAgICAgd2l0aCB1dGlsLmltcG9ydF9zdGF0ZShwYXRoX2hvb2tzPVtob29rXSk6CiAgICAgICAgICAgICBsb2FkZXIgPSBzZWxmLm1hY2hpbmVyeS5QYXRoRmluZGVyLmZpbmRfbW9kdWxlKG1vZHVsZSwgW3BhdGhdKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRJcyhsb2FkZXIsIGltcG9ydGVyKQpAQCAtODMsNyArODQsNyBAQAogICAgICAgICBwYXRoID0gJycKICAgICAgICAgbW9kdWxlID0gJzx0ZXN0IG1vZHVsZT4nCiAgICAgICAgIGltcG9ydGVyID0gdXRpbC5tb2NrX3NwZWMobW9kdWxlKQotICAgICAgICBob29rID0gaW1wb3J0X3V0aWwubW9ja19wYXRoX2hvb2sob3MuZ2V0Y3dkKCksIGltcG9ydGVyPWltcG9ydGVyKQorICAgICAgICBob29rID0gdXRpbC5tb2NrX3BhdGhfaG9vayhvcy5nZXRjd2QoKSwgaW1wb3J0ZXI9aW1wb3J0ZXIpCiAgICAgICAgIHdpdGggdXRpbC5pbXBvcnRfc3RhdGUocGF0aD1bcGF0aF0sIHBhdGhfaG9va3M9W2hvb2tdKToKICAgICAgICAgICAgIGxvYWRlciA9IHNlbGYubWFjaGluZXJ5LlBhdGhGaW5kZXIuZmluZF9tb2R1bGUobW9kdWxlKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRJcyhsb2FkZXIsIGltcG9ydGVyKQpAQCAtMTEyLDggKzExMyw3NCBAQAogICAgICAgICAgICAgaWYgZW1haWwgaXMgbm90IG1pc3Npbmc6CiAgICAgICAgICAgICAgICAgc3lzLm1vZHVsZXNbJ2VtYWlsJ10gPSBlbWFpbAogCi1Gcm96ZW5fRmluZGVyVGVzdHMsIFNvdXJjZV9GaW5kZXJUZXN0cyA9IHV0aWwudGVzdF9ib3RoKAotICAgICAgICBGaW5kZXJUZXN0cywgaW1wb3J0bGliPWltcG9ydGxpYiwgbWFjaGluZXJ5PW1hY2hpbmVyeSkKKyAgICBkZWYgdGVzdF9maW5kZXJfd2l0aF9maW5kX21vZHVsZShzZWxmKToKKyAgICAgICAgY2xhc3MgVGVzdEZpbmRlcjoKKyAgICAgICAgICAgIGRlZiBmaW5kX21vZHVsZShzZWxmLCBmdWxsbmFtZSk6CisgICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYudG9fcmV0dXJuCisgICAgICAgIGZhaWxpbmdfZmluZGVyID0gVGVzdEZpbmRlcigpCisgICAgICAgIGZhaWxpbmdfZmluZGVyLnRvX3JldHVybiA9IE5vbmUKKyAgICAgICAgcGF0aCA9ICd0ZXN0aW5nIHBhdGgnCisgICAgICAgIHdpdGggdXRpbC5pbXBvcnRfc3RhdGUocGF0aF9pbXBvcnRlcl9jYWNoZT17cGF0aDogZmFpbGluZ19maW5kZXJ9KToKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXNOb25lKAorICAgICAgICAgICAgICAgICAgICBzZWxmLm1hY2hpbmVyeS5QYXRoRmluZGVyLmZpbmRfc3BlYygnd2hhdGV2ZXInLCBbcGF0aF0pKQorICAgICAgICBzdWNjZXNzX2ZpbmRlciA9IFRlc3RGaW5kZXIoKQorICAgICAgICBzdWNjZXNzX2ZpbmRlci50b19yZXR1cm4gPSBfX2xvYWRlcl9fCisgICAgICAgIHdpdGggdXRpbC5pbXBvcnRfc3RhdGUocGF0aF9pbXBvcnRlcl9jYWNoZT17cGF0aDogc3VjY2Vzc19maW5kZXJ9KToKKyAgICAgICAgICAgIHNwZWMgPSBzZWxmLm1hY2hpbmVyeS5QYXRoRmluZGVyLmZpbmRfc3BlYygnd2hhdGV2ZXInLCBbcGF0aF0pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3BlYy5sb2FkZXIsIF9fbG9hZGVyX18pCisKKyAgICBkZWYgdGVzdF9maW5kZXJfd2l0aF9maW5kX2xvYWRlcihzZWxmKToKKyAgICAgICAgY2xhc3MgVGVzdEZpbmRlcjoKKyAgICAgICAgICAgIGxvYWRlciA9IE5vbmUKKyAgICAgICAgICAgIHBvcnRpb25zID0gW10KKyAgICAgICAgICAgIGRlZiBmaW5kX2xvYWRlcihzZWxmLCBmdWxsbmFtZSk6CisgICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYubG9hZGVyLCBzZWxmLnBvcnRpb25zCisgICAgICAgIHBhdGggPSAndGVzdGluZyBwYXRoJworICAgICAgICB3aXRoIHV0aWwuaW1wb3J0X3N0YXRlKHBhdGhfaW1wb3J0ZXJfY2FjaGU9e3BhdGg6IFRlc3RGaW5kZXIoKX0pOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUoCisgICAgICAgICAgICAgICAgICAgIHNlbGYubWFjaGluZXJ5LlBhdGhGaW5kZXIuZmluZF9zcGVjKCd3aGF0ZXZlcicsIFtwYXRoXSkpCisgICAgICAgIHN1Y2Nlc3NfZmluZGVyID0gVGVzdEZpbmRlcigpCisgICAgICAgIHN1Y2Nlc3NfZmluZGVyLmxvYWRlciA9IF9fbG9hZGVyX18KKyAgICAgICAgd2l0aCB1dGlsLmltcG9ydF9zdGF0ZShwYXRoX2ltcG9ydGVyX2NhY2hlPXtwYXRoOiBzdWNjZXNzX2ZpbmRlcn0pOgorICAgICAgICAgICAgc3BlYyA9IHNlbGYubWFjaGluZXJ5LlBhdGhGaW5kZXIuZmluZF9zcGVjKCd3aGF0ZXZlcicsIFtwYXRoXSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzcGVjLmxvYWRlciwgX19sb2FkZXJfXykKKworICAgIGRlZiB0ZXN0X2ZpbmRlcl93aXRoX2ZpbmRfc3BlYyhzZWxmKToKKyAgICAgICAgY2xhc3MgVGVzdEZpbmRlcjoKKyAgICAgICAgICAgIHNwZWMgPSBOb25lCisgICAgICAgICAgICBkZWYgZmluZF9zcGVjKHNlbGYsIGZ1bGxuYW1lLCB0YXJnZXQ9Tm9uZSk6CisgICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYuc3BlYworICAgICAgICBwYXRoID0gJ3Rlc3RpbmcgcGF0aCcKKyAgICAgICAgd2l0aCB1dGlsLmltcG9ydF9zdGF0ZShwYXRoX2ltcG9ydGVyX2NhY2hlPXtwYXRoOiBUZXN0RmluZGVyKCl9KToKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXNOb25lKAorICAgICAgICAgICAgICAgICAgICBzZWxmLm1hY2hpbmVyeS5QYXRoRmluZGVyLmZpbmRfc3BlYygnd2hhdGV2ZXInLCBbcGF0aF0pKQorICAgICAgICBzdWNjZXNzX2ZpbmRlciA9IFRlc3RGaW5kZXIoKQorICAgICAgICBzdWNjZXNzX2ZpbmRlci5zcGVjID0gc2VsZi5tYWNoaW5lcnkuTW9kdWxlU3BlYygnd2hhdGV2ZXInLCBfX2xvYWRlcl9fKQorICAgICAgICB3aXRoIHV0aWwuaW1wb3J0X3N0YXRlKHBhdGhfaW1wb3J0ZXJfY2FjaGU9e3BhdGg6IHN1Y2Nlc3NfZmluZGVyfSk6CisgICAgICAgICAgICBnb3QgPSBzZWxmLm1hY2hpbmVyeS5QYXRoRmluZGVyLmZpbmRfc3BlYygnd2hhdGV2ZXInLCBbcGF0aF0pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZ290LCBzdWNjZXNzX2ZpbmRlci5zcGVjKQorCisgICAgQHVuaXR0ZXN0LnNraXBJZihzeXMucGxhdGZvcm0gPT0gJ3dpbjMyJywgImN3ZCBjYW4ndCBub3QgZXhpc3Qgb24gV2luZG93cyIpCisgICAgZGVmIHRlc3RfZGVsZXRlZF9jd2Qoc2VsZik6CisgICAgICAgICMgSXNzdWUgIzIyODM0CisgICAgICAgIHNlbGYuYWRkQ2xlYW51cChvcy5jaGRpciwgb3MuZ2V0Y3dkKCkpCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHdpdGggdGVtcGZpbGUuVGVtcG9yYXJ5RGlyZWN0b3J5KCkgYXMgcGF0aDoKKyAgICAgICAgICAgICAgICBvcy5jaGRpcihwYXRoKQorICAgICAgICBleGNlcHQgT1NFcnJvciBhcyBleGM6CisgICAgICAgICAgICBpZiBleGMuZXJybm8gPT0gZXJybm8uRUlOVkFMOgorICAgICAgICAgICAgICAgIHNlbGYuc2tpcFRlc3QoInBsYXRmb3JtIGRvZXMgbm90IGFsbG93IHRoZSBkZWxldGlvbiBvZiB0aGUgY3dkIikKKyAgICAgICAgICAgIHJhaXNlCisgICAgICAgIHdpdGggdXRpbC5pbXBvcnRfc3RhdGUocGF0aD1bJyddKToKKyAgICAgICAgICAgICMgRG8gbm90IHdhbnQgRmlsZU5vdEZvdW5kRXJyb3IgcmFpc2VkLgorICAgICAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUoc2VsZi5tYWNoaW5lcnkuUGF0aEZpbmRlci5maW5kX3NwZWMoJ3doYXRldmVyJykpCisKKworCisKKyhGcm96ZW5fRmluZGVyVGVzdHMsCisgU291cmNlX0ZpbmRlclRlc3RzCisgKSA9IHV0aWwudGVzdF9ib3RoKEZpbmRlclRlc3RzLCBpbXBvcnRsaWI9aW1wb3J0bGliLCBtYWNoaW5lcnk9bWFjaGluZXJ5KQogCiAKIGNsYXNzIFBhdGhFbnRyeUZpbmRlclRlc3RzOgpAQCAtMTM2LDggKzIwMywxMCBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdGhfaG9va3M9W0ZpbmRlcl0pOgogICAgICAgICAgICAgc2VsZi5tYWNoaW5lcnkuUGF0aEZpbmRlci5maW5kX3NwZWMoJ2ltcG9ydGxpYicpCiAKLUZyb3plbl9QRUZUZXN0cywgU291cmNlX1BFRlRlc3RzID0gdXRpbC50ZXN0X2JvdGgoCi0gICAgICAgIFBhdGhFbnRyeUZpbmRlclRlc3RzLCBtYWNoaW5lcnk9bWFjaGluZXJ5KQorCisoRnJvemVuX1BFRlRlc3RzLAorIFNvdXJjZV9QRUZUZXN0cworICkgPSB1dGlsLnRlc3RfYm90aChQYXRoRW50cnlGaW5kZXJUZXN0cywgbWFjaGluZXJ5PW1hY2hpbmVyeSkKIAogCiBpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvaW1wb3J0Xy90ZXN0X3JlbGF0aXZlX2ltcG9ydHMucHkgYi9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi9pbXBvcnRfL3Rlc3RfcmVsYXRpdmVfaW1wb3J0cy5weQppbmRleCBiMjE2ZTljLi4yOGJiNmY3IDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi9pbXBvcnRfL3Rlc3RfcmVsYXRpdmVfaW1wb3J0cy5weQorKysgYi9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi9pbXBvcnRfL3Rlc3RfcmVsYXRpdmVfaW1wb3J0cy5weQpAQCAtMSw2ICsxLDUgQEAKICIiIlRlc3QgcmVsYXRpdmUgaW1wb3J0cyAoUEVQIDMyOCkuIiIiCiBmcm9tIC4uIGltcG9ydCB1dGlsCi1mcm9tIC4gaW1wb3J0IHV0aWwgYXMgaW1wb3J0X3V0aWwKIGltcG9ydCBzeXMKIGltcG9ydCB1bml0dGVzdAogCkBAIC0yMDgsOCArMjA3LDEwIEBACiAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoS2V5RXJyb3IpOgogICAgICAgICAgICAgc2VsZi5fX2ltcG9ydF9fKCdzeXMnLCBsZXZlbD0xKQogCi1Gcm96ZW5fUmVsYXRpdmVJbXBvcnRzLCBTb3VyY2VfUmVsYXRpdmVJbXBvcnRzID0gdXRpbC50ZXN0X2JvdGgoCi0gICAgICAgIFJlbGF0aXZlSW1wb3J0cywgX19pbXBvcnRfXz1pbXBvcnRfdXRpbC5fX2ltcG9ydF9fKQorCisoRnJvemVuX1JlbGF0aXZlSW1wb3J0cywKKyBTb3VyY2VfUmVsYXRpdmVJbXBvcnRzCisgKSA9IHV0aWwudGVzdF9ib3RoKFJlbGF0aXZlSW1wb3J0cywgX19pbXBvcnRfXz11dGlsLl9faW1wb3J0X18pCiAKIAogaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL2ltcG9ydF8vdXRpbC5weSBiL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL2ltcG9ydF8vdXRpbC5weQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGNiNDkwZi4uMDAwMDAwMAotLS0gYS9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi9pbXBvcnRfL3V0aWwucHkKKysrIC9kZXYvbnVsbApAQCAtMSwyMCArMCwwIEBACi1mcm9tIC4uIGltcG9ydCB1dGlsCi0KLWZyb3plbl9pbXBvcnRsaWIsIHNvdXJjZV9pbXBvcnRsaWIgPSB1dGlsLmltcG9ydF9pbXBvcnRsaWIoJ2ltcG9ydGxpYicpCi0KLWltcG9ydCBidWlsdGlucwotaW1wb3J0IGZ1bmN0b29scwotaW1wb3J0IGltcG9ydGxpYgotaW1wb3J0IHVuaXR0ZXN0Ci0KLQotX19pbXBvcnRfXyA9IHN0YXRpY21ldGhvZChidWlsdGlucy5fX2ltcG9ydF9fKSwgc3RhdGljbWV0aG9kKHNvdXJjZV9pbXBvcnRsaWIuX19pbXBvcnRfXykKLQotCi1kZWYgbW9ja19wYXRoX2hvb2soKmVudHJpZXMsIGltcG9ydGVyKToKLSAgICAiIiJBIG1vY2sgc3lzLnBhdGhfaG9va3MgZW50cnkuIiIiCi0gICAgZGVmIGhvb2soZW50cnkpOgotICAgICAgICBpZiBlbnRyeSBub3QgaW4gZW50cmllczoKLSAgICAgICAgICAgIHJhaXNlIEltcG9ydEVycm9yCi0gICAgICAgIHJldHVybiBpbXBvcnRlcgotICAgIHJldHVybiBob29rCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi9zb3VyY2UvdGVzdF9jYXNlX3NlbnNpdGl2aXR5LnB5IGIvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvc291cmNlL3Rlc3RfY2FzZV9zZW5zaXRpdml0eS5weQppbmRleCBlZmQzMTQ2Li4yOWU5NWIyIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi9zb3VyY2UvdGVzdF9jYXNlX3NlbnNpdGl2aXR5LnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL3NvdXJjZS90ZXN0X2Nhc2Vfc2Vuc2l0aXZpdHkucHkKQEAgLTEsNiArMSw1IEBACiAiIiJUZXN0IGNhc2Utc2Vuc2l0aXZpdHkgKFBFUCAyMzUpLiIiIgogZnJvbSAuLiBpbXBvcnQgdXRpbAotZnJvbSAuIGltcG9ydCB1dGlsIGFzIHNvdXJjZV91dGlsCiAKIGltcG9ydGxpYiA9IHV0aWwuaW1wb3J0X2ltcG9ydGxpYignaW1wb3J0bGliJykKIG1hY2hpbmVyeSA9IHV0aWwuaW1wb3J0X2ltcG9ydGxpYignaW1wb3J0bGliLm1hY2hpbmVyeScpCkBAIC0zMiw3ICszMSw3IEBACiAgICAgICAgICIiIkxvb2sgZm9yIGEgbW9kdWxlIHdpdGggbWF0Y2hpbmcgYW5kIG5vbi1tYXRjaGluZyBzZW5zaXRpdml0eS4iIiIKICAgICAgICAgc2Vuc2l0aXZlX3BrZyA9ICdzZW5zaXRpdmUuezB9Jy5mb3JtYXQoc2VsZi5uYW1lKQogICAgICAgICBpbnNlbnNpdGl2ZV9wa2cgPSAnaW5zZW5zaXRpdmUuezB9Jy5mb3JtYXQoc2VsZi5uYW1lLmxvd2VyKCkpCi0gICAgICAgIGNvbnRleHQgPSBzb3VyY2VfdXRpbC5jcmVhdGVfbW9kdWxlcyhpbnNlbnNpdGl2ZV9wa2csIHNlbnNpdGl2ZV9wa2cpCisgICAgICAgIGNvbnRleHQgPSB1dGlsLmNyZWF0ZV9tb2R1bGVzKGluc2Vuc2l0aXZlX3BrZywgc2Vuc2l0aXZlX3BrZykKICAgICAgICAgd2l0aCBjb250ZXh0IGFzIG1hcHBpbmc6CiAgICAgICAgICAgICBzZW5zaXRpdmVfcGF0aCA9IG9zLnBhdGguam9pbihtYXBwaW5nWycucm9vdCddLCAnc2Vuc2l0aXZlJykKICAgICAgICAgICAgIGluc2Vuc2l0aXZlX3BhdGggPSBvcy5wYXRoLmpvaW4obWFwcGluZ1snLnJvb3QnXSwgJ2luc2Vuc2l0aXZlJykKQEAgLTYzLDIwICs2MiwyOCBAQAogICAgICAgICAgICAgc2VsZi5hc3NlcnRJc05vdE5vbmUoaW5zZW5zaXRpdmUpCiAgICAgICAgICAgICBzZWxmLmFzc2VydEluKHNlbGYubmFtZSwgaW5zZW5zaXRpdmUuZ2V0X2ZpbGVuYW1lKHNlbGYubmFtZSkpCiAKKwogY2xhc3MgQ2FzZVNlbnNpdGl2aXR5VGVzdFBFUDMwMihDYXNlU2Vuc2l0aXZpdHlUZXN0KToKICAgICBkZWYgZmluZChzZWxmLCBmaW5kZXIpOgogICAgICAgICByZXR1cm4gZmluZGVyLmZpbmRfbW9kdWxlKHNlbGYubmFtZSkKIAotRnJvemVuX0Nhc2VTZW5zaXRpdml0eVRlc3RQRVAzMDIsIFNvdXJjZV9DYXNlU2Vuc2l0aXZpdHlUZXN0UEVQMzAyID0gdXRpbC50ZXN0X2JvdGgoCi0gICAgQ2FzZVNlbnNpdGl2aXR5VGVzdFBFUDMwMiwgaW1wb3J0bGliPWltcG9ydGxpYiwgbWFjaGluZXJ5PW1hY2hpbmVyeSkKKworKEZyb3plbl9DYXNlU2Vuc2l0aXZpdHlUZXN0UEVQMzAyLAorIFNvdXJjZV9DYXNlU2Vuc2l0aXZpdHlUZXN0UEVQMzAyCisgKSA9IHV0aWwudGVzdF9ib3RoKENhc2VTZW5zaXRpdml0eVRlc3RQRVAzMDIsIGltcG9ydGxpYj1pbXBvcnRsaWIsCisgICAgICAgICAgICAgICAgICAgIG1hY2hpbmVyeT1tYWNoaW5lcnkpCisKIAogY2xhc3MgQ2FzZVNlbnNpdGl2aXR5VGVzdFBFUDQ1MShDYXNlU2Vuc2l0aXZpdHlUZXN0KToKICAgICBkZWYgZmluZChzZWxmLCBmaW5kZXIpOgogICAgICAgICBmb3VuZCA9IGZpbmRlci5maW5kX3NwZWMoc2VsZi5uYW1lKQogICAgICAgICByZXR1cm4gZm91bmQubG9hZGVyIGlmIGZvdW5kIGlzIG5vdCBOb25lIGVsc2UgZm91bmQKIAotRnJvemVuX0Nhc2VTZW5zaXRpdml0eVRlc3RQRVA0NTEsIFNvdXJjZV9DYXNlU2Vuc2l0aXZpdHlUZXN0UEVQNDUxID0gdXRpbC50ZXN0X2JvdGgoCi0gICAgQ2FzZVNlbnNpdGl2aXR5VGVzdFBFUDQ1MSwgaW1wb3J0bGliPWltcG9ydGxpYiwgbWFjaGluZXJ5PW1hY2hpbmVyeSkKKworKEZyb3plbl9DYXNlU2Vuc2l0aXZpdHlUZXN0UEVQNDUxLAorIFNvdXJjZV9DYXNlU2Vuc2l0aXZpdHlUZXN0UEVQNDUxCisgKSA9IHV0aWwudGVzdF9ib3RoKENhc2VTZW5zaXRpdml0eVRlc3RQRVA0NTEsIGltcG9ydGxpYj1pbXBvcnRsaWIsCisgICAgICAgICAgICAgICAgICAgIG1hY2hpbmVyeT1tYWNoaW5lcnkpCiAKIAogaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL3NvdXJjZS90ZXN0X2ZpbGVfbG9hZGVyLnB5IGIvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvc291cmNlL3Rlc3RfZmlsZV9sb2FkZXIucHkKaW5kZXggMmQ0MTVmOS4uNzNmNGM2MiAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvc291cmNlL3Rlc3RfZmlsZV9sb2FkZXIucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvc291cmNlL3Rlc3RfZmlsZV9sb2FkZXIucHkKQEAgLTEsNiArMSw1IEBACiBmcm9tIC4uIGltcG9ydCBhYmMKIGZyb20gLi4gaW1wb3J0IHV0aWwKLWZyb20gLiBpbXBvcnQgdXRpbCBhcyBzb3VyY2VfdXRpbAogCiBpbXBvcnRsaWIgPSB1dGlsLmltcG9ydF9pbXBvcnRsaWIoJ2ltcG9ydGxpYicpCiBpbXBvcnRsaWJfYWJjID0gdXRpbC5pbXBvcnRfaW1wb3J0bGliKCdpbXBvcnRsaWIuYWJjJykKQEAgLTcxLDcgKzcwLDcgQEAKIAogICAgICMgW2Jhc2ljXQogICAgIGRlZiB0ZXN0X21vZHVsZShzZWxmKToKLSAgICAgICAgd2l0aCBzb3VyY2VfdXRpbC5jcmVhdGVfbW9kdWxlcygnX3RlbXAnKSBhcyBtYXBwaW5nOgorICAgICAgICB3aXRoIHV0aWwuY3JlYXRlX21vZHVsZXMoJ190ZW1wJykgYXMgbWFwcGluZzoKICAgICAgICAgICAgIGxvYWRlciA9IHNlbGYubWFjaGluZXJ5LlNvdXJjZUZpbGVMb2FkZXIoJ190ZW1wJywgbWFwcGluZ1snX3RlbXAnXSkKICAgICAgICAgICAgIHdpdGggd2FybmluZ3MuY2F0Y2hfd2FybmluZ3MoKToKICAgICAgICAgICAgICAgICB3YXJuaW5ncy5zaW1wbGVmaWx0ZXIoJ2lnbm9yZScsIERlcHJlY2F0aW9uV2FybmluZykKQEAgLTgzLDcgKzgyLDcgQEAKICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGdldGF0dHIobW9kdWxlLCBhdHRyKSwgdmFsdWUpCiAKICAgICBkZWYgdGVzdF9wYWNrYWdlKHNlbGYpOgotICAgICAgICB3aXRoIHNvdXJjZV91dGlsLmNyZWF0ZV9tb2R1bGVzKCdfcGtnLl9faW5pdF9fJykgYXMgbWFwcGluZzoKKyAgICAgICAgd2l0aCB1dGlsLmNyZWF0ZV9tb2R1bGVzKCdfcGtnLl9faW5pdF9fJykgYXMgbWFwcGluZzoKICAgICAgICAgICAgIGxvYWRlciA9IHNlbGYubWFjaGluZXJ5LlNvdXJjZUZpbGVMb2FkZXIoJ19wa2cnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcHBpbmdbJ19wa2cuX19pbml0X18nXSkKICAgICAgICAgICAgIHdpdGggd2FybmluZ3MuY2F0Y2hfd2FybmluZ3MoKToKQEAgLTk4LDcgKzk3LDcgQEAKIAogCiAgICAgZGVmIHRlc3RfbGFja2luZ19wYXJlbnQoc2VsZik6Ci0gICAgICAgIHdpdGggc291cmNlX3V0aWwuY3JlYXRlX21vZHVsZXMoJ19wa2cuX19pbml0X18nLCAnX3BrZy5tb2QnKWFzIG1hcHBpbmc6CisgICAgICAgIHdpdGggdXRpbC5jcmVhdGVfbW9kdWxlcygnX3BrZy5fX2luaXRfXycsICdfcGtnLm1vZCcpYXMgbWFwcGluZzoKICAgICAgICAgICAgIGxvYWRlciA9IHNlbGYubWFjaGluZXJ5LlNvdXJjZUZpbGVMb2FkZXIoJ19wa2cubW9kJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBwaW5nWydfcGtnLm1vZCddKQogICAgICAgICAgICAgd2l0aCB3YXJuaW5ncy5jYXRjaF93YXJuaW5ncygpOgpAQCAtMTE1LDcgKzExNCw3IEBACiAgICAgICAgIHJldHVybiBsYW1iZGEgbmFtZTogZnhuKG5hbWUpICsgMQogCiAgICAgZGVmIHRlc3RfbW9kdWxlX3JldXNlKHNlbGYpOgotICAgICAgICB3aXRoIHNvdXJjZV91dGlsLmNyZWF0ZV9tb2R1bGVzKCdfdGVtcCcpIGFzIG1hcHBpbmc6CisgICAgICAgIHdpdGggdXRpbC5jcmVhdGVfbW9kdWxlcygnX3RlbXAnKSBhcyBtYXBwaW5nOgogICAgICAgICAgICAgbG9hZGVyID0gc2VsZi5tYWNoaW5lcnkuU291cmNlRmlsZUxvYWRlcignX3RlbXAnLCBtYXBwaW5nWydfdGVtcCddKQogICAgICAgICAgICAgd2l0aCB3YXJuaW5ncy5jYXRjaF93YXJuaW5ncygpOgogICAgICAgICAgICAgICAgIHdhcm5pbmdzLnNpbXBsZWZpbHRlcignaWdub3JlJywgRGVwcmVjYXRpb25XYXJuaW5nKQpAQCAtMTM5LDcgKzEzOCw3IEBACiAgICAgICAgIGF0dHJpYnV0ZXMgPSAoJ19fZmlsZV9fJywgJ19fcGF0aF9fJywgJ19fcGFja2FnZV9fJykKICAgICAgICAgdmFsdWUgPSAnPHRlc3Q+JwogICAgICAgICBuYW1lID0gJ190ZW1wJwotICAgICAgICB3aXRoIHNvdXJjZV91dGlsLmNyZWF0ZV9tb2R1bGVzKG5hbWUpIGFzIG1hcHBpbmc6CisgICAgICAgIHdpdGggdXRpbC5jcmVhdGVfbW9kdWxlcyhuYW1lKSBhcyBtYXBwaW5nOgogICAgICAgICAgICAgb3JpZ19tb2R1bGUgPSB0eXBlcy5Nb2R1bGVUeXBlKG5hbWUpCiAgICAgICAgICAgICBmb3IgYXR0ciBpbiBhdHRyaWJ1dGVzOgogICAgICAgICAgICAgICAgIHNldGF0dHIob3JpZ19tb2R1bGUsIGF0dHIsIHZhbHVlKQpAQCAtMTU5LDcgKzE1OCw3IEBACiAKICAgICAjIFtzeW50YXggZXJyb3JdCiAgICAgZGVmIHRlc3RfYmFkX3N5bnRheChzZWxmKToKLSAgICAgICAgd2l0aCBzb3VyY2VfdXRpbC5jcmVhdGVfbW9kdWxlcygnX3RlbXAnKSBhcyBtYXBwaW5nOgorICAgICAgICB3aXRoIHV0aWwuY3JlYXRlX21vZHVsZXMoJ190ZW1wJykgYXMgbWFwcGluZzoKICAgICAgICAgICAgIHdpdGggb3BlbihtYXBwaW5nWydfdGVtcCddLCAndycpIGFzIGZpbGU6CiAgICAgICAgICAgICAgICAgZmlsZS53cml0ZSgnPScpCiAgICAgICAgICAgICBsb2FkZXIgPSBzZWxmLm1hY2hpbmVyeS5Tb3VyY2VGaWxlTG9hZGVyKCdfdGVtcCcsIG1hcHBpbmdbJ190ZW1wJ10pCkBAIC0xOTAsMTEgKzE4OSwxMSBAQAogICAgICAgICAgICAgaWYgb3MucGF0aC5leGlzdHMocHljYWNoZSk6CiAgICAgICAgICAgICAgICAgc2h1dGlsLnJtdHJlZShweWNhY2hlKQogCi0gICAgQHNvdXJjZV91dGlsLndyaXRlc19ieXRlY29kZV9maWxlcworICAgIEB1dGlsLndyaXRlc19ieXRlY29kZV9maWxlcwogICAgIGRlZiB0ZXN0X3RpbWVzdGFtcF9vdmVyZmxvdyhzZWxmKToKICAgICAgICAgIyBXaGVuIGEgbW9kaWZpY2F0aW9uIHRpbWVzdGFtcCBpcyBsYXJnZXIgdGhhbiAyKiozMiwgaXQgc2hvdWxkIGJlCiAgICAgICAgICMgdHJ1bmNhdGVkIHJhdGhlciB0aGFuIHJhaXNlIGFuIE92ZXJmbG93RXJyb3IuCi0gICAgICAgIHdpdGggc291cmNlX3V0aWwuY3JlYXRlX21vZHVsZXMoJ190ZW1wJykgYXMgbWFwcGluZzoKKyAgICAgICAgd2l0aCB1dGlsLmNyZWF0ZV9tb2R1bGVzKCdfdGVtcCcpIGFzIG1hcHBpbmc6CiAgICAgICAgICAgICBzb3VyY2UgPSBtYXBwaW5nWydfdGVtcCddCiAgICAgICAgICAgICBjb21waWxlZCA9IHNlbGYudXRpbC5jYWNoZV9mcm9tX3NvdXJjZShzb3VyY2UpCiAgICAgICAgICAgICB3aXRoIG9wZW4oc291cmNlLCAndycpIGFzIGY6CkBAIC0yMzYsOSArMjM1LDExIEBACiAgICAgICAgICAgICAgICAgd2FybmluZ3Muc2ltcGxlZmlsdGVyKCdpZ25vcmUnLCBEZXByZWNhdGlvbldhcm5pbmcpCiAgICAgICAgICAgICAgICAgbG9hZGVyLmxvYWRfbW9kdWxlKCdiYWQgbmFtZScpCiAKLUZyb3plbl9TaW1wbGVUZXN0LCBTb3VyY2VfU2ltcGxlVGVzdCA9IHV0aWwudGVzdF9ib3RoKAotICAgICAgICBTaW1wbGVUZXN0LCBpbXBvcnRsaWI9aW1wb3J0bGliLCBtYWNoaW5lcnk9bWFjaGluZXJ5LCBhYmM9aW1wb3J0bGliX2FiYywKLSAgICAgICAgdXRpbD1pbXBvcnRsaWJfdXRpbCkKKworKEZyb3plbl9TaW1wbGVUZXN0LAorIFNvdXJjZV9TaW1wbGVUZXN0CisgKSA9IHV0aWwudGVzdF9ib3RoKFNpbXBsZVRlc3QsIGltcG9ydGxpYj1pbXBvcnRsaWIsIG1hY2hpbmVyeT1tYWNoaW5lcnksCisgICAgICAgICAgICAgICAgICAgIGFiYz1pbXBvcnRsaWJfYWJjLCB1dGlsPWltcG9ydGxpYl91dGlsKQogCiAKIGNsYXNzIEJhZEJ5dGVjb2RlVGVzdDoKQEAgLTI3NSw0NSArMjc2LDQ1IEBACiAgICAgICAgIHJldHVybiBieXRlY29kZV9wYXRoCiAKICAgICBkZWYgX3Rlc3RfZW1wdHlfZmlsZShzZWxmLCB0ZXN0LCAqLCBkZWxfc291cmNlPUZhbHNlKToKLSAgICAgICAgd2l0aCBzb3VyY2VfdXRpbC5jcmVhdGVfbW9kdWxlcygnX3RlbXAnKSBhcyBtYXBwaW5nOgorICAgICAgICB3aXRoIHV0aWwuY3JlYXRlX21vZHVsZXMoJ190ZW1wJykgYXMgbWFwcGluZzoKICAgICAgICAgICAgIGJjX3BhdGggPSBzZWxmLm1hbmlwdWxhdGVfYnl0ZWNvZGUoJ190ZW1wJywgbWFwcGluZywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhbWJkYSBiYzogYicnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVsX3NvdXJjZT1kZWxfc291cmNlKQogICAgICAgICAgICAgdGVzdCgnX3RlbXAnLCBtYXBwaW5nLCBiY19wYXRoKQogCi0gICAgQHNvdXJjZV91dGlsLndyaXRlc19ieXRlY29kZV9maWxlcworICAgIEB1dGlsLndyaXRlc19ieXRlY29kZV9maWxlcwogICAgIGRlZiBfdGVzdF9wYXJ0aWFsX21hZ2ljKHNlbGYsIHRlc3QsICosIGRlbF9zb3VyY2U9RmFsc2UpOgogICAgICAgICAjIFdoZW4gdGhlaXIgYXJlIGxlc3MgdGhhbiA0IGJ5dGVzIHRvIGEgLnB5YywgcmVnZW5lcmF0ZSBpdCBpZgogICAgICAgICAjIHBvc3NpYmxlLCBlbHNlIHJhaXNlIEltcG9ydEVycm9yLgotICAgICAgICB3aXRoIHNvdXJjZV91dGlsLmNyZWF0ZV9tb2R1bGVzKCdfdGVtcCcpIGFzIG1hcHBpbmc6CisgICAgICAgIHdpdGggdXRpbC5jcmVhdGVfbW9kdWxlcygnX3RlbXAnKSBhcyBtYXBwaW5nOgogICAgICAgICAgICAgYmNfcGF0aCA9IHNlbGYubWFuaXB1bGF0ZV9ieXRlY29kZSgnX3RlbXAnLCBtYXBwaW5nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFtYmRhIGJjOiBiY1s6M10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWxfc291cmNlPWRlbF9zb3VyY2UpCiAgICAgICAgICAgICB0ZXN0KCdfdGVtcCcsIG1hcHBpbmcsIGJjX3BhdGgpCiAKICAgICBkZWYgX3Rlc3RfbWFnaWNfb25seShzZWxmLCB0ZXN0LCAqLCBkZWxfc291cmNlPUZhbHNlKToKLSAgICAgICAgd2l0aCBzb3VyY2VfdXRpbC5jcmVhdGVfbW9kdWxlcygnX3RlbXAnKSBhcyBtYXBwaW5nOgorICAgICAgICB3aXRoIHV0aWwuY3JlYXRlX21vZHVsZXMoJ190ZW1wJykgYXMgbWFwcGluZzoKICAgICAgICAgICAgIGJjX3BhdGggPSBzZWxmLm1hbmlwdWxhdGVfYnl0ZWNvZGUoJ190ZW1wJywgbWFwcGluZywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhbWJkYSBiYzogYmNbOjRdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVsX3NvdXJjZT1kZWxfc291cmNlKQogICAgICAgICAgICAgdGVzdCgnX3RlbXAnLCBtYXBwaW5nLCBiY19wYXRoKQogCiAgICAgZGVmIF90ZXN0X3BhcnRpYWxfdGltZXN0YW1wKHNlbGYsIHRlc3QsICosIGRlbF9zb3VyY2U9RmFsc2UpOgotICAgICAgICB3aXRoIHNvdXJjZV91dGlsLmNyZWF0ZV9tb2R1bGVzKCdfdGVtcCcpIGFzIG1hcHBpbmc6CisgICAgICAgIHdpdGggdXRpbC5jcmVhdGVfbW9kdWxlcygnX3RlbXAnKSBhcyBtYXBwaW5nOgogICAgICAgICAgICAgYmNfcGF0aCA9IHNlbGYubWFuaXB1bGF0ZV9ieXRlY29kZSgnX3RlbXAnLCBtYXBwaW5nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFtYmRhIGJjOiBiY1s6N10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWxfc291cmNlPWRlbF9zb3VyY2UpCiAgICAgICAgICAgICB0ZXN0KCdfdGVtcCcsIG1hcHBpbmcsIGJjX3BhdGgpCiAKICAgICBkZWYgX3Rlc3RfcGFydGlhbF9zaXplKHNlbGYsIHRlc3QsICosIGRlbF9zb3VyY2U9RmFsc2UpOgotICAgICAgICB3aXRoIHNvdXJjZV91dGlsLmNyZWF0ZV9tb2R1bGVzKCdfdGVtcCcpIGFzIG1hcHBpbmc6CisgICAgICAgIHdpdGggdXRpbC5jcmVhdGVfbW9kdWxlcygnX3RlbXAnKSBhcyBtYXBwaW5nOgogICAgICAgICAgICAgYmNfcGF0aCA9IHNlbGYubWFuaXB1bGF0ZV9ieXRlY29kZSgnX3RlbXAnLCBtYXBwaW5nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFtYmRhIGJjOiBiY1s6MTFdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVsX3NvdXJjZT1kZWxfc291cmNlKQogICAgICAgICAgICAgdGVzdCgnX3RlbXAnLCBtYXBwaW5nLCBiY19wYXRoKQogCiAgICAgZGVmIF90ZXN0X25vX21hcnNoYWwoc2VsZiwgKiwgZGVsX3NvdXJjZT1GYWxzZSk6Ci0gICAgICAgIHdpdGggc291cmNlX3V0aWwuY3JlYXRlX21vZHVsZXMoJ190ZW1wJykgYXMgbWFwcGluZzoKKyAgICAgICAgd2l0aCB1dGlsLmNyZWF0ZV9tb2R1bGVzKCdfdGVtcCcpIGFzIG1hcHBpbmc6CiAgICAgICAgICAgICBiY19wYXRoID0gc2VsZi5tYW5pcHVsYXRlX2J5dGVjb2RlKCdfdGVtcCcsIG1hcHBpbmcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYW1iZGEgYmM6IGJjWzoxMl0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWxfc291cmNlPWRlbF9zb3VyY2UpCkBAIC0zMjIsNyArMzIzLDcgQEAKICAgICAgICAgICAgICAgICBzZWxmLmltcG9ydF8oZmlsZV9wYXRoLCAnX3RlbXAnKQogCiAgICAgZGVmIF90ZXN0X25vbl9jb2RlX21hcnNoYWwoc2VsZiwgKiwgZGVsX3NvdXJjZT1GYWxzZSk6Ci0gICAgICAgIHdpdGggc291cmNlX3V0aWwuY3JlYXRlX21vZHVsZXMoJ190ZW1wJykgYXMgbWFwcGluZzoKKyAgICAgICAgd2l0aCB1dGlsLmNyZWF0ZV9tb2R1bGVzKCdfdGVtcCcpIGFzIG1hcHBpbmc6CiAgICAgICAgICAgICBieXRlY29kZV9wYXRoID0gc2VsZi5tYW5pcHVsYXRlX2J5dGVjb2RlKCdfdGVtcCcsIG1hcHBpbmcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYW1iZGEgYmM6IGJjWzoxMl0gKyBtYXJzaGFsLmR1bXBzKGInYWJjZCcpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVsX3NvdXJjZT1kZWxfc291cmNlKQpAQCAtMzMzLDcgKzMzNCw3IEBACiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNtLmV4Y2VwdGlvbi5wYXRoLCBieXRlY29kZV9wYXRoKQogCiAgICAgZGVmIF90ZXN0X2JhZF9tYXJzaGFsKHNlbGYsICosIGRlbF9zb3VyY2U9RmFsc2UpOgotICAgICAgICB3aXRoIHNvdXJjZV91dGlsLmNyZWF0ZV9tb2R1bGVzKCdfdGVtcCcpIGFzIG1hcHBpbmc6CisgICAgICAgIHdpdGggdXRpbC5jcmVhdGVfbW9kdWxlcygnX3RlbXAnKSBhcyBtYXBwaW5nOgogICAgICAgICAgICAgYnl0ZWNvZGVfcGF0aCA9IHNlbGYubWFuaXB1bGF0ZV9ieXRlY29kZSgnX3RlbXAnLCBtYXBwaW5nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFtYmRhIGJjOiBiY1s6MTJdICsgYic8dGVzdD4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVsX3NvdXJjZT1kZWxfc291cmNlKQpAQCAtMzQyLDExICszNDMsMTIgQEAKICAgICAgICAgICAgICAgICBzZWxmLmltcG9ydF8oZmlsZV9wYXRoLCAnX3RlbXAnKQogCiAgICAgZGVmIF90ZXN0X2JhZF9tYWdpYyhzZWxmLCB0ZXN0LCAqLCBkZWxfc291cmNlPUZhbHNlKToKLSAgICAgICAgd2l0aCBzb3VyY2VfdXRpbC5jcmVhdGVfbW9kdWxlcygnX3RlbXAnKSBhcyBtYXBwaW5nOgorICAgICAgICB3aXRoIHV0aWwuY3JlYXRlX21vZHVsZXMoJ190ZW1wJykgYXMgbWFwcGluZzoKICAgICAgICAgICAgIGJjX3BhdGggPSBzZWxmLm1hbmlwdWxhdGVfYnl0ZWNvZGUoJ190ZW1wJywgbWFwcGluZywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhbWJkYSBiYzogYidceDAwXHgwMFx4MDBceDAwJyArIGJjWzQ6XSkKICAgICAgICAgICAgIHRlc3QoJ190ZW1wJywgbWFwcGluZywgYmNfcGF0aCkKIAorCiBjbGFzcyBCYWRCeXRlY29kZVRlc3RQRVA0NTEoQmFkQnl0ZWNvZGVUZXN0KToKIAogICAgIGRlZiBpbXBvcnRfKHNlbGYsIGZpbGUsIG1vZHVsZV9uYW1lKToKQEAgLTM1NSw2ICszNTcsNyBAQAogICAgICAgICBtb2R1bGUuX19zcGVjX18gPSBzZWxmLnV0aWwuc3BlY19mcm9tX2xvYWRlcihtb2R1bGVfbmFtZSwgbG9hZGVyKQogICAgICAgICBsb2FkZXIuZXhlY19tb2R1bGUobW9kdWxlKQogCisKIGNsYXNzIEJhZEJ5dGVjb2RlVGVzdFBFUDMwMihCYWRCeXRlY29kZVRlc3QpOgogCiAgICAgZGVmIGltcG9ydF8oc2VsZiwgZmlsZSwgbW9kdWxlX25hbWUpOgpAQCAtMzcxLDcgKzM3NCw3IEBACiAgICAgZGVmIHNldFVwQ2xhc3MoY2xzKToKICAgICAgICAgY2xzLmxvYWRlciA9IGNscy5tYWNoaW5lcnkuU291cmNlRmlsZUxvYWRlcgogCi0gICAgQHNvdXJjZV91dGlsLndyaXRlc19ieXRlY29kZV9maWxlcworICAgIEB1dGlsLndyaXRlc19ieXRlY29kZV9maWxlcwogICAgIGRlZiB0ZXN0X2VtcHR5X2ZpbGUoc2VsZik6CiAgICAgICAgICMgV2hlbiBhIC5weWMgaXMgZW1wdHksIHJlZ2VuZXJhdGUgaXQgaWYgcG9zc2libGUsIGVsc2UgcmFpc2UKICAgICAgICAgIyBJbXBvcnRFcnJvci4KQEAgLTM5MCw3ICszOTMsNyBAQAogCiAgICAgICAgIHNlbGYuX3Rlc3RfcGFydGlhbF9tYWdpYyh0ZXN0KQogCi0gICAgQHNvdXJjZV91dGlsLndyaXRlc19ieXRlY29kZV9maWxlcworICAgIEB1dGlsLndyaXRlc19ieXRlY29kZV9maWxlcwogICAgIGRlZiB0ZXN0X21hZ2ljX29ubHkoc2VsZik6CiAgICAgICAgICMgV2hlbiB0aGVyZSBpcyBvbmx5IHRoZSBtYWdpYyBudW1iZXIsIHJlZ2VuZXJhdGUgdGhlIC5weWMgaWYgcG9zc2libGUsCiAgICAgICAgICMgZWxzZSByYWlzZSBFT0ZFcnJvci4KQEAgLTQwMSw3ICs0MDQsNyBAQAogCiAgICAgICAgIHNlbGYuX3Rlc3RfbWFnaWNfb25seSh0ZXN0KQogCi0gICAgQHNvdXJjZV91dGlsLndyaXRlc19ieXRlY29kZV9maWxlcworICAgIEB1dGlsLndyaXRlc19ieXRlY29kZV9maWxlcwogICAgIGRlZiB0ZXN0X2JhZF9tYWdpYyhzZWxmKToKICAgICAgICAgIyBXaGVuIHRoZSBtYWdpYyBudW1iZXIgaXMgZGlmZmVyZW50LCB0aGUgYnl0ZWNvZGUgc2hvdWxkIGJlCiAgICAgICAgICMgcmVnZW5lcmF0ZWQuCkBAIC00MTMsNyArNDE2LDcgQEAKIAogICAgICAgICBzZWxmLl90ZXN0X2JhZF9tYWdpYyh0ZXN0KQogCi0gICAgQHNvdXJjZV91dGlsLndyaXRlc19ieXRlY29kZV9maWxlcworICAgIEB1dGlsLndyaXRlc19ieXRlY29kZV9maWxlcwogICAgIGRlZiB0ZXN0X3BhcnRpYWxfdGltZXN0YW1wKHNlbGYpOgogICAgICAgICAjIFdoZW4gdGhlIHRpbWVzdGFtcCBpcyBwYXJ0aWFsLCByZWdlbmVyYXRlIHRoZSAucHljLCBlbHNlCiAgICAgICAgICMgcmFpc2UgRU9GRXJyb3IuCkBAIC00MjQsNyArNDI3LDcgQEAKIAogICAgICAgICBzZWxmLl90ZXN0X3BhcnRpYWxfdGltZXN0YW1wKHRlc3QpCiAKLSAgICBAc291cmNlX3V0aWwud3JpdGVzX2J5dGVjb2RlX2ZpbGVzCisgICAgQHV0aWwud3JpdGVzX2J5dGVjb2RlX2ZpbGVzCiAgICAgZGVmIHRlc3RfcGFydGlhbF9zaXplKHNlbGYpOgogICAgICAgICAjIFdoZW4gdGhlIHNpemUgaXMgcGFydGlhbCwgcmVnZW5lcmF0ZSB0aGUgLnB5YywgZWxzZQogICAgICAgICAjIHJhaXNlIEVPRkVycm9yLgpAQCAtNDM1LDI5ICs0MzgsMjkgQEAKIAogICAgICAgICBzZWxmLl90ZXN0X3BhcnRpYWxfc2l6ZSh0ZXN0KQogCi0gICAgQHNvdXJjZV91dGlsLndyaXRlc19ieXRlY29kZV9maWxlcworICAgIEB1dGlsLndyaXRlc19ieXRlY29kZV9maWxlcwogICAgIGRlZiB0ZXN0X25vX21hcnNoYWwoc2VsZik6CiAgICAgICAgICMgV2hlbiB0aGVyZSBpcyBvbmx5IHRoZSBtYWdpYyBudW1iZXIgYW5kIHRpbWVzdGFtcCwgcmFpc2UgRU9GRXJyb3IuCiAgICAgICAgIHNlbGYuX3Rlc3Rfbm9fbWFyc2hhbCgpCiAKLSAgICBAc291cmNlX3V0aWwud3JpdGVzX2J5dGVjb2RlX2ZpbGVzCisgICAgQHV0aWwud3JpdGVzX2J5dGVjb2RlX2ZpbGVzCiAgICAgZGVmIHRlc3Rfbm9uX2NvZGVfbWFyc2hhbChzZWxmKToKICAgICAgICAgc2VsZi5fdGVzdF9ub25fY29kZV9tYXJzaGFsKCkKICAgICAgICAgIyBYWFggSW1wb3J0RXJyb3Igd2hlbiBzb3VyY2VsZXNzCiAKICAgICAjIFtiYWQgbWFyc2hhbF0KLSAgICBAc291cmNlX3V0aWwud3JpdGVzX2J5dGVjb2RlX2ZpbGVzCisgICAgQHV0aWwud3JpdGVzX2J5dGVjb2RlX2ZpbGVzCiAgICAgZGVmIHRlc3RfYmFkX21hcnNoYWwoc2VsZik6CiAgICAgICAgICMgQmFkIG1hcnNoYWwgZGF0YSBzaG91bGQgcmFpc2UgYSBWYWx1ZUVycm9yLgogICAgICAgICBzZWxmLl90ZXN0X2JhZF9tYXJzaGFsKCkKIAogICAgICMgW2JhZCB0aW1lc3RhbXBdCi0gICAgQHNvdXJjZV91dGlsLndyaXRlc19ieXRlY29kZV9maWxlcworICAgIEB1dGlsLndyaXRlc19ieXRlY29kZV9maWxlcwogICAgIGRlZiB0ZXN0X29sZF90aW1lc3RhbXAoc2VsZik6CiAgICAgICAgICMgV2hlbiB0aGUgdGltZXN0YW1wIGlzIG9sZGVyIHRoYW4gdGhlIHNvdXJjZSwgYnl0ZWNvZGUgc2hvdWxkIGJlCiAgICAgICAgICMgcmVnZW5lcmF0ZWQuCiAgICAgICAgIHplcm9zID0gYidceDAwXHgwMFx4MDBceDAwJwotICAgICAgICB3aXRoIHNvdXJjZV91dGlsLmNyZWF0ZV9tb2R1bGVzKCdfdGVtcCcpIGFzIG1hcHBpbmc6CisgICAgICAgIHdpdGggdXRpbC5jcmVhdGVfbW9kdWxlcygnX3RlbXAnKSBhcyBtYXBwaW5nOgogICAgICAgICAgICAgcHlfY29tcGlsZS5jb21waWxlKG1hcHBpbmdbJ190ZW1wJ10pCiAgICAgICAgICAgICBieXRlY29kZV9wYXRoID0gc2VsZi51dGlsLmNhY2hlX2Zyb21fc291cmNlKG1hcHBpbmdbJ190ZW1wJ10pCiAgICAgICAgICAgICB3aXRoIG9wZW4oYnl0ZWNvZGVfcGF0aCwgJ3IrYicpIGFzIGJ5dGVjb2RlX2ZpbGU6CkBAIC00NzEsMTAgKzQ3NCwxMCBAQAogICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYnl0ZWNvZGVfZmlsZS5yZWFkKDQpLCBzb3VyY2VfdGltZXN0YW1wKQogCiAgICAgIyBbYnl0ZWNvZGUgcmVhZC1vbmx5XQotICAgIEBzb3VyY2VfdXRpbC53cml0ZXNfYnl0ZWNvZGVfZmlsZXMKKyAgICBAdXRpbC53cml0ZXNfYnl0ZWNvZGVfZmlsZXMKICAgICBkZWYgdGVzdF9yZWFkX29ubHlfYnl0ZWNvZGUoc2VsZik6CiAgICAgICAgICMgV2hlbiBieXRlY29kZSBpcyByZWFkLW9ubHkgYnV0IHNob3VsZCBiZSByZXdyaXR0ZW4sIGZhaWwgc2lsZW50bHkuCi0gICAgICAgIHdpdGggc291cmNlX3V0aWwuY3JlYXRlX21vZHVsZXMoJ190ZW1wJykgYXMgbWFwcGluZzoKKyAgICAgICAgd2l0aCB1dGlsLmNyZWF0ZV9tb2R1bGVzKCdfdGVtcCcpIGFzIG1hcHBpbmc6CiAgICAgICAgICAgICAjIENyZWF0ZSBieXRlY29kZSB0aGF0IHdpbGwgbmVlZCB0byBiZSByZS1jcmVhdGVkLgogICAgICAgICAgICAgcHlfY29tcGlsZS5jb21waWxlKG1hcHBpbmdbJ190ZW1wJ10pCiAgICAgICAgICAgICBieXRlY29kZV9wYXRoID0gc2VsZi51dGlsLmNhY2hlX2Zyb21fc291cmNlKG1hcHBpbmdbJ190ZW1wJ10pCkBAIC00OTEsMjEgKzQ5NCwyOSBAQAogICAgICAgICAgICAgICAgICMgTWFrZSB3cml0YWJsZSBmb3IgZXZlbnR1YWwgY2xlYW4tdXAuCiAgICAgICAgICAgICAgICAgb3MuY2htb2QoYnl0ZWNvZGVfcGF0aCwgc3RhdC5TX0lXVVNSKQogCisKIGNsYXNzIFNvdXJjZUxvYWRlckJhZEJ5dGVjb2RlVGVzdFBFUDQ1MSgKICAgICAgICAgU291cmNlTG9hZGVyQmFkQnl0ZWNvZGVUZXN0LCBCYWRCeXRlY29kZVRlc3RQRVA0NTEpOgogICAgIHBhc3MKIAotRnJvemVuX1NvdXJjZUJhZEJ5dGVjb2RlUEVQNDUxLCBTb3VyY2VfU291cmNlQmFkQnl0ZWNvZGVQRVA0NTEgPSB1dGlsLnRlc3RfYm90aCgKLSAgICAgICAgU291cmNlTG9hZGVyQmFkQnl0ZWNvZGVUZXN0UEVQNDUxLCBpbXBvcnRsaWI9aW1wb3J0bGliLCBtYWNoaW5lcnk9bWFjaGluZXJ5LAotICAgICAgICBhYmM9aW1wb3J0bGliX2FiYywgdXRpbD1pbXBvcnRsaWJfdXRpbCkKKworKEZyb3plbl9Tb3VyY2VCYWRCeXRlY29kZVBFUDQ1MSwKKyBTb3VyY2VfU291cmNlQmFkQnl0ZWNvZGVQRVA0NTEKKyApID0gdXRpbC50ZXN0X2JvdGgoU291cmNlTG9hZGVyQmFkQnl0ZWNvZGVUZXN0UEVQNDUxLCBpbXBvcnRsaWI9aW1wb3J0bGliLAorICAgICAgICAgICAgICAgICAgICBtYWNoaW5lcnk9bWFjaGluZXJ5LCBhYmM9aW1wb3J0bGliX2FiYywKKyAgICAgICAgICAgICAgICAgICAgdXRpbD1pbXBvcnRsaWJfdXRpbCkKKwogCiBjbGFzcyBTb3VyY2VMb2FkZXJCYWRCeXRlY29kZVRlc3RQRVAzMDIoCiAgICAgICAgIFNvdXJjZUxvYWRlckJhZEJ5dGVjb2RlVGVzdCwgQmFkQnl0ZWNvZGVUZXN0UEVQMzAyKToKICAgICBwYXNzCiAKLUZyb3plbl9Tb3VyY2VCYWRCeXRlY29kZVBFUDMwMiwgU291cmNlX1NvdXJjZUJhZEJ5dGVjb2RlUEVQMzAyID0gdXRpbC50ZXN0X2JvdGgoCi0gICAgICAgIFNvdXJjZUxvYWRlckJhZEJ5dGVjb2RlVGVzdFBFUDMwMiwgaW1wb3J0bGliPWltcG9ydGxpYiwgbWFjaGluZXJ5PW1hY2hpbmVyeSwKLSAgICAgICAgYWJjPWltcG9ydGxpYl9hYmMsIHV0aWw9aW1wb3J0bGliX3V0aWwpCisKKyhGcm96ZW5fU291cmNlQmFkQnl0ZWNvZGVQRVAzMDIsCisgU291cmNlX1NvdXJjZUJhZEJ5dGVjb2RlUEVQMzAyCisgKSA9IHV0aWwudGVzdF9ib3RoKFNvdXJjZUxvYWRlckJhZEJ5dGVjb2RlVGVzdFBFUDMwMiwgaW1wb3J0bGliPWltcG9ydGxpYiwKKyAgICAgICAgICAgICAgICAgICAgbWFjaGluZXJ5PW1hY2hpbmVyeSwgYWJjPWltcG9ydGxpYl9hYmMsCisgICAgICAgICAgICAgICAgICAgIHV0aWw9aW1wb3J0bGliX3V0aWwpCiAKIAogY2xhc3MgU291cmNlbGVzc0xvYWRlckJhZEJ5dGVjb2RlVGVzdDoKQEAgLTU2NywyMSArNTc4LDI5IEBACiAgICAgZGVmIHRlc3Rfbm9uX2NvZGVfbWFyc2hhbChzZWxmKToKICAgICAgICAgc2VsZi5fdGVzdF9ub25fY29kZV9tYXJzaGFsKGRlbF9zb3VyY2U9VHJ1ZSkKIAorCiBjbGFzcyBTb3VyY2VsZXNzTG9hZGVyQmFkQnl0ZWNvZGVUZXN0UEVQNDUxKFNvdXJjZWxlc3NMb2FkZXJCYWRCeXRlY29kZVRlc3QsCiAgICAgICAgIEJhZEJ5dGVjb2RlVGVzdFBFUDQ1MSk6CiAgICAgcGFzcwogCi1Gcm96ZW5fU291cmNlbGVzc0JhZEJ5dGVjb2RlUEVQNDUxLCBTb3VyY2VfU291cmNlbGVzc0JhZEJ5dGVjb2RlUEVQNDUxID0gdXRpbC50ZXN0X2JvdGgoCi0gICAgICAgIFNvdXJjZWxlc3NMb2FkZXJCYWRCeXRlY29kZVRlc3RQRVA0NTEsIGltcG9ydGxpYj1pbXBvcnRsaWIsCi0gICAgICAgIG1hY2hpbmVyeT1tYWNoaW5lcnksIGFiYz1pbXBvcnRsaWJfYWJjLCB1dGlsPWltcG9ydGxpYl91dGlsKQorCisoRnJvemVuX1NvdXJjZWxlc3NCYWRCeXRlY29kZVBFUDQ1MSwKKyBTb3VyY2VfU291cmNlbGVzc0JhZEJ5dGVjb2RlUEVQNDUxCisgKSA9IHV0aWwudGVzdF9ib3RoKFNvdXJjZWxlc3NMb2FkZXJCYWRCeXRlY29kZVRlc3RQRVA0NTEsIGltcG9ydGxpYj1pbXBvcnRsaWIsCisgICAgICAgICAgICAgICAgICAgIG1hY2hpbmVyeT1tYWNoaW5lcnksIGFiYz1pbXBvcnRsaWJfYWJjLAorICAgICAgICAgICAgICAgICAgICB1dGlsPWltcG9ydGxpYl91dGlsKQorCiAKIGNsYXNzIFNvdXJjZWxlc3NMb2FkZXJCYWRCeXRlY29kZVRlc3RQRVAzMDIoU291cmNlbGVzc0xvYWRlckJhZEJ5dGVjb2RlVGVzdCwKICAgICAgICAgQmFkQnl0ZWNvZGVUZXN0UEVQMzAyKToKICAgICBwYXNzCiAKLUZyb3plbl9Tb3VyY2VsZXNzQmFkQnl0ZWNvZGVQRVAzMDIsIFNvdXJjZV9Tb3VyY2VsZXNzQmFkQnl0ZWNvZGVQRVAzMDIgPSB1dGlsLnRlc3RfYm90aCgKLSAgICAgICAgU291cmNlbGVzc0xvYWRlckJhZEJ5dGVjb2RlVGVzdFBFUDMwMiwgaW1wb3J0bGliPWltcG9ydGxpYiwKLSAgICAgICAgbWFjaGluZXJ5PW1hY2hpbmVyeSwgYWJjPWltcG9ydGxpYl9hYmMsIHV0aWw9aW1wb3J0bGliX3V0aWwpCisKKyhGcm96ZW5fU291cmNlbGVzc0JhZEJ5dGVjb2RlUEVQMzAyLAorIFNvdXJjZV9Tb3VyY2VsZXNzQmFkQnl0ZWNvZGVQRVAzMDIKKyApID0gdXRpbC50ZXN0X2JvdGgoU291cmNlbGVzc0xvYWRlckJhZEJ5dGVjb2RlVGVzdFBFUDMwMiwgaW1wb3J0bGliPWltcG9ydGxpYiwKKyAgICAgICAgICAgICAgICAgICAgbWFjaGluZXJ5PW1hY2hpbmVyeSwgYWJjPWltcG9ydGxpYl9hYmMsCisgICAgICAgICAgICAgICAgICAgIHV0aWw9aW1wb3J0bGliX3V0aWwpCiAKIAogaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL3NvdXJjZS90ZXN0X2ZpbmRlci5weSBiL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL3NvdXJjZS90ZXN0X2ZpbmRlci5weQppbmRleCA0NzMyOTdiLi5mMzcyYjg1IDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi9zb3VyY2UvdGVzdF9maW5kZXIucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvc291cmNlL3Rlc3RfZmluZGVyLnB5CkBAIC0xLDYgKzEsNSBAQAogZnJvbSAuLiBpbXBvcnQgYWJjCiBmcm9tIC4uIGltcG9ydCB1dGlsCi1mcm9tIC4gaW1wb3J0IHV0aWwgYXMgc291cmNlX3V0aWwKIAogbWFjaGluZXJ5ID0gdXRpbC5pbXBvcnRfaW1wb3J0bGliKCdpbXBvcnRsaWIubWFjaGluZXJ5JykKIApAQCAtNjAsNyArNTksNyBAQAogICAgICAgICAiIiIKICAgICAgICAgaWYgY3JlYXRlIGlzIE5vbmU6CiAgICAgICAgICAgICBjcmVhdGUgPSB7dGVzdH0KLSAgICAgICAgd2l0aCBzb3VyY2VfdXRpbC5jcmVhdGVfbW9kdWxlcygqY3JlYXRlKSBhcyBtYXBwaW5nOgorICAgICAgICB3aXRoIHV0aWwuY3JlYXRlX21vZHVsZXMoKmNyZWF0ZSkgYXMgbWFwcGluZzoKICAgICAgICAgICAgIGlmIGNvbXBpbGVfOgogICAgICAgICAgICAgICAgIGZvciBuYW1lIGluIGNvbXBpbGVfOgogICAgICAgICAgICAgICAgICAgICBweV9jb21waWxlLmNvbXBpbGUobWFwcGluZ1tuYW1lXSkKQEAgLTEwMCwxNCArOTksMTQgQEAKIAogICAgICMgW3N1YiBtb2R1bGVdCiAgICAgZGVmIHRlc3RfbW9kdWxlX2luX3BhY2thZ2Uoc2VsZik6Ci0gICAgICAgIHdpdGggc291cmNlX3V0aWwuY3JlYXRlX21vZHVsZXMoJ3BrZy5fX2luaXRfXycsICdwa2cuc3ViJykgYXMgbWFwcGluZzoKKyAgICAgICAgd2l0aCB1dGlsLmNyZWF0ZV9tb2R1bGVzKCdwa2cuX19pbml0X18nLCAncGtnLnN1YicpIGFzIG1hcHBpbmc6CiAgICAgICAgICAgICBwa2dfZGlyID0gb3MucGF0aC5kaXJuYW1lKG1hcHBpbmdbJ3BrZy5fX2luaXRfXyddKQogICAgICAgICAgICAgbG9hZGVyID0gc2VsZi5pbXBvcnRfKHBrZ19kaXIsICdwa2cuc3ViJykKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShoYXNhdHRyKGxvYWRlciwgJ2xvYWRfbW9kdWxlJykpCiAKICAgICAjIFtzdWIgcGFja2FnZV0KICAgICBkZWYgdGVzdF9wYWNrYWdlX2luX3BhY2thZ2Uoc2VsZik6Ci0gICAgICAgIGNvbnRleHQgPSBzb3VyY2VfdXRpbC5jcmVhdGVfbW9kdWxlcygncGtnLl9faW5pdF9fJywgJ3BrZy5zdWIuX19pbml0X18nKQorICAgICAgICBjb250ZXh0ID0gdXRpbC5jcmVhdGVfbW9kdWxlcygncGtnLl9faW5pdF9fJywgJ3BrZy5zdWIuX19pbml0X18nKQogICAgICAgICB3aXRoIGNvbnRleHQgYXMgbWFwcGluZzoKICAgICAgICAgICAgIHBrZ19kaXIgPSBvcy5wYXRoLmRpcm5hbWUobWFwcGluZ1sncGtnLl9faW5pdF9fJ10pCiAgICAgICAgICAgICBsb2FkZXIgPSBzZWxmLmltcG9ydF8ocGtnX2RpciwgJ3BrZy5zdWInKQpAQCAtMTIwLDcgKzExOSw3IEBACiAgICAgICAgIHNlbGYuYXNzZXJ0SW4oJ19faW5pdF9fJywgbG9hZGVyLmdldF9maWxlbmFtZShuYW1lKSkKIAogICAgIGRlZiB0ZXN0X2ZhaWx1cmUoc2VsZik6Ci0gICAgICAgIHdpdGggc291cmNlX3V0aWwuY3JlYXRlX21vZHVsZXMoJ2JsYWgnKSBhcyBtYXBwaW5nOgorICAgICAgICB3aXRoIHV0aWwuY3JlYXRlX21vZHVsZXMoJ2JsYWgnKSBhcyBtYXBwaW5nOgogICAgICAgICAgICAgbm90aGluZyA9IHNlbGYuaW1wb3J0XyhtYXBwaW5nWycucm9vdCddLCAnc2Rmc2Fkc2FkZicpCiAgICAgICAgICAgICBzZWxmLmFzc2VydElzTm9uZShub3RoaW5nKQogCkBAIC0xNDcsNyArMTQ2LDcgQEAKICAgICAjIFJlZ3Jlc3Npb24gdGVzdCBmb3IgaHR0cDovL2J1Z3MucHl0aG9uLm9yZy9pc3N1ZTE0ODQ2CiAgICAgZGVmIHRlc3RfZGlyX3JlbW92YWxfaGFuZGxpbmcoc2VsZik6CiAgICAgICAgIG1vZCA9ICdtb2QnCi0gICAgICAgIHdpdGggc291cmNlX3V0aWwuY3JlYXRlX21vZHVsZXMobW9kKSBhcyBtYXBwaW5nOgorICAgICAgICB3aXRoIHV0aWwuY3JlYXRlX21vZHVsZXMobW9kKSBhcyBtYXBwaW5nOgogICAgICAgICAgICAgZmluZGVyID0gc2VsZi5nZXRfZmluZGVyKG1hcHBpbmdbJy5yb290J10pCiAgICAgICAgICAgICBmb3VuZCA9IHNlbGYuX2ZpbmQoZmluZGVyLCAnbW9kJywgbG9hZGVyX29ubHk9VHJ1ZSkKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXNOb3ROb25lKGZvdW5kKQpAQCAtMTk2LDggKzE5NSwxMCBAQAogICAgICAgICBzcGVjID0gZmluZGVyLmZpbmRfc3BlYyhuYW1lKQogICAgICAgICByZXR1cm4gc3BlYy5sb2FkZXIgaWYgc3BlYyBpcyBub3QgTm9uZSBlbHNlIHNwZWMKIAotRnJvemVuX0ZpbmRlclRlc3RzUEVQNDUxLCBTb3VyY2VfRmluZGVyVGVzdHNQRVA0NTEgPSB1dGlsLnRlc3RfYm90aCgKLSAgICAgICAgRmluZGVyVGVzdHNQRVA0NTEsIG1hY2hpbmVyeT1tYWNoaW5lcnkpCisKKyhGcm96ZW5fRmluZGVyVGVzdHNQRVA0NTEsCisgU291cmNlX0ZpbmRlclRlc3RzUEVQNDUxCisgKSA9IHV0aWwudGVzdF9ib3RoKEZpbmRlclRlc3RzUEVQNDUxLCBtYWNoaW5lcnk9bWFjaGluZXJ5KQogCiAKIGNsYXNzIEZpbmRlclRlc3RzUEVQNDIwKEZpbmRlclRlc3RzKToKQEAgLTIxMCw4ICsyMTEsMTAgQEAKICAgICAgICAgICAgIGxvYWRlcl9wb3J0aW9ucyA9IGZpbmRlci5maW5kX2xvYWRlcihuYW1lKQogICAgICAgICAgICAgcmV0dXJuIGxvYWRlcl9wb3J0aW9uc1swXSBpZiBsb2FkZXJfb25seSBlbHNlIGxvYWRlcl9wb3J0aW9ucwogCi1Gcm96ZW5fRmluZGVyVGVzdHNQRVA0MjAsIFNvdXJjZV9GaW5kZXJUZXN0c1BFUDQyMCA9IHV0aWwudGVzdF9ib3RoKAotICAgICAgICBGaW5kZXJUZXN0c1BFUDQyMCwgbWFjaGluZXJ5PW1hY2hpbmVyeSkKKworKEZyb3plbl9GaW5kZXJUZXN0c1BFUDQyMCwKKyBTb3VyY2VfRmluZGVyVGVzdHNQRVA0MjAKKyApID0gdXRpbC50ZXN0X2JvdGgoRmluZGVyVGVzdHNQRVA0MjAsIG1hY2hpbmVyeT1tYWNoaW5lcnkpCiAKIAogY2xhc3MgRmluZGVyVGVzdHNQRVAzMDIoRmluZGVyVGVzdHMpOgpAQCAtMjIzLDkgKzIyNiwxMCBAQAogICAgICAgICAgICAgd2FybmluZ3Muc2ltcGxlZmlsdGVyKCJpZ25vcmUiLCBEZXByZWNhdGlvbldhcm5pbmcpCiAgICAgICAgICAgICByZXR1cm4gZmluZGVyLmZpbmRfbW9kdWxlKG5hbWUpCiAKLUZyb3plbl9GaW5kZXJUZXN0c1BFUDMwMiwgU291cmNlX0ZpbmRlclRlc3RzUEVQMzAyID0gdXRpbC50ZXN0X2JvdGgoCi0gICAgICAgIEZpbmRlclRlc3RzUEVQMzAyLCBtYWNoaW5lcnk9bWFjaGluZXJ5KQogCisoRnJvemVuX0ZpbmRlclRlc3RzUEVQMzAyLAorIFNvdXJjZV9GaW5kZXJUZXN0c1BFUDMwMgorICkgPSB1dGlsLnRlc3RfYm90aChGaW5kZXJUZXN0c1BFUDMwMiwgbWFjaGluZXJ5PW1hY2hpbmVyeSkKIAogCiBpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvc291cmNlL3Rlc3RfcGF0aF9ob29rLnB5IGIvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvc291cmNlL3Rlc3RfcGF0aF9ob29rLnB5CmluZGV4IDkyZGE3NzIuLmU2YTI0MTUgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL3NvdXJjZS90ZXN0X3BhdGhfaG9vay5weQorKysgYi9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi9zb3VyY2UvdGVzdF9wYXRoX2hvb2sucHkKQEAgLTEsNSArMSw0IEBACiBmcm9tIC4uIGltcG9ydCB1dGlsCi1mcm9tIC4gaW1wb3J0IHV0aWwgYXMgc291cmNlX3V0aWwKIAogbWFjaGluZXJ5ID0gdXRpbC5pbXBvcnRfaW1wb3J0bGliKCdpbXBvcnRsaWIubWFjaGluZXJ5JykKIApAQCAtMTUsNyArMTQsNyBAQAogICAgICAgICAgICAgc2VsZi5tYWNoaW5lcnkuU09VUkNFX1NVRkZJWEVTKSkKIAogICAgIGRlZiB0ZXN0X3N1Y2Nlc3Moc2VsZik6Ci0gICAgICAgIHdpdGggc291cmNlX3V0aWwuY3JlYXRlX21vZHVsZXMoJ2R1bW15JykgYXMgbWFwcGluZzoKKyAgICAgICAgd2l0aCB1dGlsLmNyZWF0ZV9tb2R1bGVzKCdkdW1teScpIGFzIG1hcHBpbmc6CiAgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUoaGFzYXR0cihzZWxmLnBhdGhfaG9vaygpKG1hcHBpbmdbJy5yb290J10pLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZpbmRfbW9kdWxlJykpCiAKQEAgLTIzLDcgKzIyLDEwIEBACiAgICAgICAgICMgVGhlIGVtcHR5IHN0cmluZyByZXByZXNlbnRzIHRoZSBjd2QuCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShoYXNhdHRyKHNlbGYucGF0aF9ob29rKCkoJycpLCAnZmluZF9tb2R1bGUnKSkKIAotRnJvemVuX1BhdGhIb29rVGVzdCwgU291cmNlX1BhdGhIb29rdGVzdCA9IHV0aWwudGVzdF9ib3RoKFBhdGhIb29rVGVzdCwgbWFjaGluZXJ5PW1hY2hpbmVyeSkKKworKEZyb3plbl9QYXRoSG9va1Rlc3QsCisgU291cmNlX1BhdGhIb29rdGVzdAorICkgPSB1dGlsLnRlc3RfYm90aChQYXRoSG9va1Rlc3QsIG1hY2hpbmVyeT1tYWNoaW5lcnkpCiAKIAogaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL3NvdXJjZS90ZXN0X3NvdXJjZV9lbmNvZGluZy5weSBiL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL3NvdXJjZS90ZXN0X3NvdXJjZV9lbmNvZGluZy5weQppbmRleCBjNjJkZmExLi5iNjA0YWZiIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi9zb3VyY2UvdGVzdF9zb3VyY2VfZW5jb2RpbmcucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvc291cmNlL3Rlc3Rfc291cmNlX2VuY29kaW5nLnB5CkBAIC0xLDUgKzEsNCBAQAogZnJvbSAuLiBpbXBvcnQgdXRpbAotZnJvbSAuIGltcG9ydCB1dGlsIGFzIHNvdXJjZV91dGlsCiAKIG1hY2hpbmVyeSA9IHV0aWwuaW1wb3J0X2ltcG9ydGxpYignaW1wb3J0bGliLm1hY2hpbmVyeScpCiAKQEAgLTM3LDcgKzM2LDcgQEAKICAgICBtb2R1bGVfbmFtZSA9ICdfdGVtcCcKIAogICAgIGRlZiBydW5fdGVzdChzZWxmLCBzb3VyY2UpOgotICAgICAgICB3aXRoIHNvdXJjZV91dGlsLmNyZWF0ZV9tb2R1bGVzKHNlbGYubW9kdWxlX25hbWUpIGFzIG1hcHBpbmc6CisgICAgICAgIHdpdGggdXRpbC5jcmVhdGVfbW9kdWxlcyhzZWxmLm1vZHVsZV9uYW1lKSBhcyBtYXBwaW5nOgogICAgICAgICAgICAgd2l0aCBvcGVuKG1hcHBpbmdbc2VsZi5tb2R1bGVfbmFtZV0sICd3YicpIGFzIGZpbGU6CiAgICAgICAgICAgICAgICAgZmlsZS53cml0ZShzb3VyY2UpCiAgICAgICAgICAgICBsb2FkZXIgPSBzZWxmLm1hY2hpbmVyeS5Tb3VyY2VGaWxlTG9hZGVyKHNlbGYubW9kdWxlX25hbWUsCkBAIC04OSw2ICs4OCw3IEBACiAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoU3ludGF4RXJyb3IpOgogICAgICAgICAgICAgc2VsZi5ydW5fdGVzdChzb3VyY2UpCiAKKwogY2xhc3MgRW5jb2RpbmdUZXN0UEVQNDUxKEVuY29kaW5nVGVzdCk6CiAKICAgICBkZWYgbG9hZChzZWxmLCBsb2FkZXIpOgpAQCAtOTcsOCArOTcsMTEgQEAKICAgICAgICAgbG9hZGVyLmV4ZWNfbW9kdWxlKG1vZHVsZSkKICAgICAgICAgcmV0dXJuIG1vZHVsZQogCi1Gcm96ZW5fRW5jb2RpbmdUZXN0UEVQNDUxLCBTb3VyY2VfRW5jb2RpbmdUZXN0UEVQNDUxID0gdXRpbC50ZXN0X2JvdGgoCi0gICAgICAgIEVuY29kaW5nVGVzdFBFUDQ1MSwgbWFjaGluZXJ5PW1hY2hpbmVyeSkKKworKEZyb3plbl9FbmNvZGluZ1Rlc3RQRVA0NTEsCisgU291cmNlX0VuY29kaW5nVGVzdFBFUDQ1MQorICkgPSB1dGlsLnRlc3RfYm90aChFbmNvZGluZ1Rlc3RQRVA0NTEsIG1hY2hpbmVyeT1tYWNoaW5lcnkpCisKIAogY2xhc3MgRW5jb2RpbmdUZXN0UEVQMzAyKEVuY29kaW5nVGVzdCk6CiAKQEAgLTEwNyw4ICsxMTAsMTAgQEAKICAgICAgICAgICAgIHdhcm5pbmdzLnNpbXBsZWZpbHRlcignaWdub3JlJywgRGVwcmVjYXRpb25XYXJuaW5nKQogICAgICAgICAgICAgcmV0dXJuIGxvYWRlci5sb2FkX21vZHVsZShzZWxmLm1vZHVsZV9uYW1lKQogCi1Gcm96ZW5fRW5jb2RpbmdUZXN0UEVQMzAyLCBTb3VyY2VfRW5jb2RpbmdUZXN0UEVQMzAyID0gdXRpbC50ZXN0X2JvdGgoCi0gICAgICAgIEVuY29kaW5nVGVzdFBFUDMwMiwgbWFjaGluZXJ5PW1hY2hpbmVyeSkKKworKEZyb3plbl9FbmNvZGluZ1Rlc3RQRVAzMDIsCisgU291cmNlX0VuY29kaW5nVGVzdFBFUDMwMgorICkgPSB1dGlsLnRlc3RfYm90aChFbmNvZGluZ1Rlc3RQRVAzMDIsIG1hY2hpbmVyeT1tYWNoaW5lcnkpCiAKIAogY2xhc3MgTGluZUVuZGluZ1Rlc3Q6CkBAIC0xMjAsNyArMTI1LDcgQEAKICAgICAgICAgbW9kdWxlX25hbWUgPSAnX3RlbXAnCiAgICAgICAgIHNvdXJjZV9saW5lcyA9IFtiImEgPSA0MiIsIGIiYiA9IC0xMyIsIGInJ10KICAgICAgICAgc291cmNlID0gbGluZV9lbmRpbmcuam9pbihzb3VyY2VfbGluZXMpCi0gICAgICAgIHdpdGggc291cmNlX3V0aWwuY3JlYXRlX21vZHVsZXMobW9kdWxlX25hbWUpIGFzIG1hcHBpbmc6CisgICAgICAgIHdpdGggdXRpbC5jcmVhdGVfbW9kdWxlcyhtb2R1bGVfbmFtZSkgYXMgbWFwcGluZzoKICAgICAgICAgICAgIHdpdGggb3BlbihtYXBwaW5nW21vZHVsZV9uYW1lXSwgJ3diJykgYXMgZmlsZToKICAgICAgICAgICAgICAgICBmaWxlLndyaXRlKHNvdXJjZSkKICAgICAgICAgICAgIGxvYWRlciA9IHNlbGYubWFjaGluZXJ5LlNvdXJjZUZpbGVMb2FkZXIobW9kdWxlX25hbWUsCkBAIC0xMzksNiArMTQ0LDcgQEAKICAgICBkZWYgdGVzdF9sZihzZWxmKToKICAgICAgICAgc2VsZi5ydW5fdGVzdChiJ1xuJykKIAorCiBjbGFzcyBMaW5lRW5kaW5nVGVzdFBFUDQ1MShMaW5lRW5kaW5nVGVzdCk6CiAKICAgICBkZWYgbG9hZChzZWxmLCBsb2FkZXIsIG1vZHVsZV9uYW1lKToKQEAgLTE0Nyw4ICsxNTMsMTEgQEAKICAgICAgICAgbG9hZGVyLmV4ZWNfbW9kdWxlKG1vZHVsZSkKICAgICAgICAgcmV0dXJuIG1vZHVsZQogCi1Gcm96ZW5fTGluZUVuZGluZ1Rlc3RQRVA0NTEsIFNvdXJjZV9MaW5lRW5kaW5nVGVzdFBFUDQ1MSA9IHV0aWwudGVzdF9ib3RoKAotICAgICAgICBMaW5lRW5kaW5nVGVzdFBFUDQ1MSwgbWFjaGluZXJ5PW1hY2hpbmVyeSkKKworKEZyb3plbl9MaW5lRW5kaW5nVGVzdFBFUDQ1MSwKKyBTb3VyY2VfTGluZUVuZGluZ1Rlc3RQRVA0NTEKKyApID0gdXRpbC50ZXN0X2JvdGgoTGluZUVuZGluZ1Rlc3RQRVA0NTEsIG1hY2hpbmVyeT1tYWNoaW5lcnkpCisKIAogY2xhc3MgTGluZUVuZGluZ1Rlc3RQRVAzMDIoTGluZUVuZGluZ1Rlc3QpOgogCkBAIC0xNTcsOCArMTY2LDEwIEBACiAgICAgICAgICAgICB3YXJuaW5ncy5zaW1wbGVmaWx0ZXIoJ2lnbm9yZScsIERlcHJlY2F0aW9uV2FybmluZykKICAgICAgICAgICAgIHJldHVybiBsb2FkZXIubG9hZF9tb2R1bGUobW9kdWxlX25hbWUpCiAKLUZyb3plbl9MaW5lRW5kaW5nVGVzdFBFUDMwMiwgU291cmNlX0xpbmVFbmRpbmdUZXN0UEVQMzAyID0gdXRpbC50ZXN0X2JvdGgoCi0gICAgICAgIExpbmVFbmRpbmdUZXN0UEVQMzAyLCBtYWNoaW5lcnk9bWFjaGluZXJ5KQorCisoRnJvemVuX0xpbmVFbmRpbmdUZXN0UEVQMzAyLAorIFNvdXJjZV9MaW5lRW5kaW5nVGVzdFBFUDMwMgorICkgPSB1dGlsLnRlc3RfYm90aChMaW5lRW5kaW5nVGVzdFBFUDMwMiwgbWFjaGluZXJ5PW1hY2hpbmVyeSkKIAogCiBpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvc291cmNlL3V0aWwucHkgYi9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi9zb3VyY2UvdXRpbC5weQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjNjZDI1YS4uMDAwMDAwMAotLS0gYS9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi9zb3VyY2UvdXRpbC5weQorKysgL2Rldi9udWxsCkBAIC0xLDk2ICswLDAgQEAKLWZyb20gLi4gaW1wb3J0IHV0aWwKLWltcG9ydCBjb250ZXh0bGliCi1pbXBvcnQgZXJybm8KLWltcG9ydCBmdW5jdG9vbHMKLWltcG9ydCBvcwotaW1wb3J0IG9zLnBhdGgKLWltcG9ydCBzeXMKLWltcG9ydCB0ZW1wZmlsZQotZnJvbSB0ZXN0IGltcG9ydCBzdXBwb3J0Ci0KLQotZGVmIHdyaXRlc19ieXRlY29kZV9maWxlcyhmeG4pOgotICAgICIiIkRlY29yYXRvciB0byBwcm90ZWN0IHN5cy5kb250X3dyaXRlX2J5dGVjb2RlIGZyb20gbXV0YXRpb24gYW5kIHRvIHNraXAKLSAgICB0ZXN0cyB0aGF0IHJlcXVpcmUgaXQgdG8gYmUgc2V0IHRvIEZhbHNlLiIiIgotICAgIGlmIHN5cy5kb250X3dyaXRlX2J5dGVjb2RlOgotICAgICAgICByZXR1cm4gbGFtYmRhICphcmdzLCAqKmt3YXJnczogTm9uZQotICAgIEBmdW5jdG9vbHMud3JhcHMoZnhuKQotICAgIGRlZiB3cmFwcGVyKCphcmdzLCAqKmt3YXJncyk6Ci0gICAgICAgIG9yaWdpbmFsID0gc3lzLmRvbnRfd3JpdGVfYnl0ZWNvZGUKLSAgICAgICAgc3lzLmRvbnRfd3JpdGVfYnl0ZWNvZGUgPSBGYWxzZQotICAgICAgICB0cnk6Ci0gICAgICAgICAgICB0b19yZXR1cm4gPSBmeG4oKmFyZ3MsICoqa3dhcmdzKQotICAgICAgICBmaW5hbGx5OgotICAgICAgICAgICAgc3lzLmRvbnRfd3JpdGVfYnl0ZWNvZGUgPSBvcmlnaW5hbAotICAgICAgICByZXR1cm4gdG9fcmV0dXJuCi0gICAgcmV0dXJuIHdyYXBwZXIKLQotCi1kZWYgZW5zdXJlX2J5dGVjb2RlX3BhdGgoYnl0ZWNvZGVfcGF0aCk6Ci0gICAgIiIiRW5zdXJlIHRoYXQgdGhlIF9fcHljYWNoZV9fIGRpcmVjdG9yeSBmb3IgUEVQIDMxNDcgcHljIGZpbGUgZXhpc3RzLgotCi0gICAgOnBhcmFtIGJ5dGVjb2RlX3BhdGg6IEZpbGUgc3lzdGVtIHBhdGggdG8gUEVQIDMxNDcgcHljIGZpbGUuCi0gICAgIiIiCi0gICAgdHJ5OgotICAgICAgICBvcy5ta2Rpcihvcy5wYXRoLmRpcm5hbWUoYnl0ZWNvZGVfcGF0aCkpCi0gICAgZXhjZXB0IE9TRXJyb3IgYXMgZXJyb3I6Ci0gICAgICAgIGlmIGVycm9yLmVycm5vICE9IGVycm5vLkVFWElTVDoKLSAgICAgICAgICAgIHJhaXNlCi0KLQotQGNvbnRleHRsaWIuY29udGV4dG1hbmFnZXIKLWRlZiBjcmVhdGVfbW9kdWxlcygqbmFtZXMpOgotICAgICIiIlRlbXBvcmFyaWx5IGNyZWF0ZSBlYWNoIG5hbWVkIG1vZHVsZSB3aXRoIGFuIGF0dHJpYnV0ZSAobmFtZWQgJ2F0dHInKQotICAgIHRoYXQgY29udGFpbnMgdGhlIG5hbWUgcGFzc2VkIGludG8gdGhlIGNvbnRleHQgbWFuYWdlciB0aGF0IGNhdXNlZCB0aGUKLSAgICBjcmVhdGlvbiBvZiB0aGUgbW9kdWxlLgotCi0gICAgQWxsIGZpbGVzIGFyZSBjcmVhdGVkIGluIGEgdGVtcG9yYXJ5IGRpcmVjdG9yeSByZXR1cm5lZCBieQotICAgIHRlbXBmaWxlLm1rZHRlbXAoKS4gVGhpcyBkaXJlY3RvcnkgaXMgaW5zZXJ0ZWQgYXQgdGhlIGJlZ2lubmluZyBvZgotICAgIHN5cy5wYXRoLiBXaGVuIHRoZSBjb250ZXh0IG1hbmFnZXIgZXhpdHMgYWxsIGNyZWF0ZWQgZmlsZXMgKHNvdXJjZSBhbmQKLSAgICBieXRlY29kZSkgYXJlIGV4cGxpY2l0bHkgZGVsZXRlZC4KLQotICAgIE5vIG1hZ2ljIGlzIHBlcmZvcm1lZCB3aGVuIGNyZWF0aW5nIHBhY2thZ2VzISBUaGlzIG1lYW5zIHRoYXQgaWYgeW91IGNyZWF0ZQotICAgIGEgbW9kdWxlIHdpdGhpbiBhIHBhY2thZ2UgeW91IG11c3QgYWxzbyBjcmVhdGUgdGhlIHBhY2thZ2UncyBfX2luaXRfXyBhcwotICAgIHdlbGwuCi0KLSAgICAiIiIKLSAgICBzb3VyY2UgPSAnYXR0ciA9IHswIXJ9JwotICAgIGNyZWF0ZWRfcGF0aHMgPSBbXQotICAgIG1hcHBpbmcgPSB7fQotICAgIHN0YXRlX21hbmFnZXIgPSBOb25lCi0gICAgdW5jYWNoZV9tYW5hZ2VyID0gTm9uZQotICAgIHRyeToKLSAgICAgICAgdGVtcF9kaXIgPSB0ZW1wZmlsZS5ta2R0ZW1wKCkKLSAgICAgICAgbWFwcGluZ1snLnJvb3QnXSA9IHRlbXBfZGlyCi0gICAgICAgIGltcG9ydF9uYW1lcyA9IHNldCgpCi0gICAgICAgIGZvciBuYW1lIGluIG5hbWVzOgotICAgICAgICAgICAgaWYgbm90IG5hbWUuZW5kc3dpdGgoJ19faW5pdF9fJyk6Ci0gICAgICAgICAgICAgICAgaW1wb3J0X25hbWUgPSBuYW1lCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIGltcG9ydF9uYW1lID0gbmFtZVs6LWxlbignLl9faW5pdF9fJyldCi0gICAgICAgICAgICBpbXBvcnRfbmFtZXMuYWRkKGltcG9ydF9uYW1lKQotICAgICAgICAgICAgaWYgaW1wb3J0X25hbWUgaW4gc3lzLm1vZHVsZXM6Ci0gICAgICAgICAgICAgICAgZGVsIHN5cy5tb2R1bGVzW2ltcG9ydF9uYW1lXQotICAgICAgICAgICAgbmFtZV9wYXJ0cyA9IG5hbWUuc3BsaXQoJy4nKQotICAgICAgICAgICAgZmlsZV9wYXRoID0gdGVtcF9kaXIKLSAgICAgICAgICAgIGZvciBkaXJlY3RvcnkgaW4gbmFtZV9wYXJ0c1s6LTFdOgotICAgICAgICAgICAgICAgIGZpbGVfcGF0aCA9IG9zLnBhdGguam9pbihmaWxlX3BhdGgsIGRpcmVjdG9yeSkKLSAgICAgICAgICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMoZmlsZV9wYXRoKToKLSAgICAgICAgICAgICAgICAgICAgb3MubWtkaXIoZmlsZV9wYXRoKQotICAgICAgICAgICAgICAgICAgICBjcmVhdGVkX3BhdGhzLmFwcGVuZChmaWxlX3BhdGgpCi0gICAgICAgICAgICBmaWxlX3BhdGggPSBvcy5wYXRoLmpvaW4oZmlsZV9wYXRoLCBuYW1lX3BhcnRzWy0xXSArICcucHknKQotICAgICAgICAgICAgd2l0aCBvcGVuKGZpbGVfcGF0aCwgJ3cnKSBhcyBmaWxlOgotICAgICAgICAgICAgICAgIGZpbGUud3JpdGUoc291cmNlLmZvcm1hdChuYW1lKSkKLSAgICAgICAgICAgIGNyZWF0ZWRfcGF0aHMuYXBwZW5kKGZpbGVfcGF0aCkKLSAgICAgICAgICAgIG1hcHBpbmdbbmFtZV0gPSBmaWxlX3BhdGgKLSAgICAgICAgdW5jYWNoZV9tYW5hZ2VyID0gdXRpbC51bmNhY2hlKCppbXBvcnRfbmFtZXMpCi0gICAgICAgIHVuY2FjaGVfbWFuYWdlci5fX2VudGVyX18oKQotICAgICAgICBzdGF0ZV9tYW5hZ2VyID0gdXRpbC5pbXBvcnRfc3RhdGUocGF0aD1bdGVtcF9kaXJdKQotICAgICAgICBzdGF0ZV9tYW5hZ2VyLl9fZW50ZXJfXygpCi0gICAgICAgIHlpZWxkIG1hcHBpbmcKLSAgICBmaW5hbGx5OgotICAgICAgICBpZiBzdGF0ZV9tYW5hZ2VyIGlzIG5vdCBOb25lOgotICAgICAgICAgICAgc3RhdGVfbWFuYWdlci5fX2V4aXRfXyhOb25lLCBOb25lLCBOb25lKQotICAgICAgICBpZiB1bmNhY2hlX21hbmFnZXIgaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICB1bmNhY2hlX21hbmFnZXIuX19leGl0X18oTm9uZSwgTm9uZSwgTm9uZSkKLSAgICAgICAgc3VwcG9ydC5ybXRyZWUodGVtcF9kaXIpCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi90ZXN0X2FiYy5weSBiL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL3Rlc3RfYWJjLnB5CmluZGV4IGExZjhlNzYuLmQ0YmY5MTUgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL3Rlc3RfYWJjLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL3Rlc3RfYWJjLnB5CkBAIC0xMCwxMiArMTAsMTMgQEAKIGZyb20gdW5pdHRlc3QgaW1wb3J0IG1vY2sKIGltcG9ydCB3YXJuaW5ncwogCi1mcm9tIC4gaW1wb3J0IHV0aWwKK2Zyb20gLiBpbXBvcnQgdXRpbCBhcyB0ZXN0X3V0aWwKIAotZnJvemVuX2luaXQsIHNvdXJjZV9pbml0ID0gdXRpbC5pbXBvcnRfaW1wb3J0bGliKCdpbXBvcnRsaWInKQotZnJvemVuX2FiYywgc291cmNlX2FiYyA9IHV0aWwuaW1wb3J0X2ltcG9ydGxpYignaW1wb3J0bGliLmFiYycpCi1tYWNoaW5lcnkgPSB1dGlsLmltcG9ydF9pbXBvcnRsaWIoJ2ltcG9ydGxpYi5tYWNoaW5lcnknKQotZnJvemVuX3V0aWwsIHNvdXJjZV91dGlsID0gdXRpbC5pbXBvcnRfaW1wb3J0bGliKCdpbXBvcnRsaWIudXRpbCcpCitpbml0ID0gdGVzdF91dGlsLmltcG9ydF9pbXBvcnRsaWIoJ2ltcG9ydGxpYicpCithYmMgPSB0ZXN0X3V0aWwuaW1wb3J0X2ltcG9ydGxpYignaW1wb3J0bGliLmFiYycpCittYWNoaW5lcnkgPSB0ZXN0X3V0aWwuaW1wb3J0X2ltcG9ydGxpYignaW1wb3J0bGliLm1hY2hpbmVyeScpCit1dGlsID0gdGVzdF91dGlsLmltcG9ydF9pbXBvcnRsaWIoJ2ltcG9ydGxpYi51dGlsJykKKwogCiAjIyMjIyBJbmhlcml0YW5jZSAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogY2xhc3MgSW5oZXJpdGFuY2VUZXN0czoKQEAgLTI2LDggKzI3LDcgQEAKICAgICBzdWJjbGFzc2VzID0gW10KICAgICBzdXBlcmNsYXNzZXMgPSBbXQogCi0gICAgZGVmIF9faW5pdF9fKHNlbGYsICphcmdzLCAqKmt3YXJncyk6Ci0gICAgICAgIHN1cGVyKCkuX19pbml0X18oKmFyZ3MsICoqa3dhcmdzKQorICAgIGRlZiBzZXRVcChzZWxmKToKICAgICAgICAgc2VsZi5zdXBlcmNsYXNzZXMgPSBbZ2V0YXR0cihzZWxmLmFiYywgY2xhc3NfbmFtZSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIGNsYXNzX25hbWUgaW4gc2VsZi5zdXBlcmNsYXNzX25hbWVzXQogICAgICAgICBpZiBoYXNhdHRyKHNlbGYsICdzdWJjbGFzc19uYW1lcycpOgpAQCAtMzYsMTEgKzM2LDExIEBACiAgICAgICAgICAgICAjIGNoZWNraW5nIGFjcm9zcyBtb2R1bGUgYm91bmRhcmllcyAoaS5lLiB0aGUgX2Jvb3RzdHJhcCBpbiBhYmMgaXMKICAgICAgICAgICAgICMgbm90IHRoZSBzYW1lIGFzIHRoZSBvbmUgaW4gbWFjaGluZXJ5KS4gVGhhdCBtZWFucyBzdGVhbGluZyBvbmUgb2YKICAgICAgICAgICAgICMgdGhlIG1vZHVsZXMgZnJvbSB0aGUgb3RoZXIgdG8gbWFrZSBzdXJlIHRoZSBzYW1lIGluc3RhbmNlIGlzIHVzZWQuCi0gICAgICAgICAgICBzZWxmLnN1YmNsYXNzZXMgPSBbZ2V0YXR0cihzZWxmLmFiYy5tYWNoaW5lcnksIGNsYXNzX25hbWUpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciBjbGFzc19uYW1lIGluIHNlbGYuc3ViY2xhc3NfbmFtZXNdCisgICAgICAgICAgICBtYWNoaW5lcnkgPSBzZWxmLmFiYy5tYWNoaW5lcnkKKyAgICAgICAgICAgIHNlbGYuc3ViY2xhc3NlcyA9IFtnZXRhdHRyKG1hY2hpbmVyeSwgY2xhc3NfbmFtZSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgY2xhc3NfbmFtZSBpbiBzZWxmLnN1YmNsYXNzX25hbWVzXQogICAgICAgICBhc3NlcnQgc2VsZi5zdWJjbGFzc2VzIG9yIHNlbGYuc3VwZXJjbGFzc2VzLCBzZWxmLl9fY2xhc3NfXwotICAgICAgICB0ZXN0aW5nID0gc2VsZi5fX2NsYXNzX18uX19uYW1lX18ucGFydGl0aW9uKCdfJylbMl0KLSAgICAgICAgc2VsZi5fX3Rlc3QgPSBnZXRhdHRyKHNlbGYuYWJjLCB0ZXN0aW5nKQorICAgICAgICBzZWxmLl9fdGVzdCA9IGdldGF0dHIoc2VsZi5hYmMsIHNlbGYuX05BTUUpCiAKICAgICBkZWYgdGVzdF9zdWJjbGFzc2VzKHNlbGYpOgogICAgICAgICAjIFRlc3QgdGhhdCB0aGUgZXhwZWN0ZWQgc3ViY2xhc3NlcyBpbmhlcml0LgpAQCAtNTQsOTQgKzU0LDk3IEBACiAgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUoaXNzdWJjbGFzcyhzZWxmLl9fdGVzdCwgc3VwZXJjbGFzcyksCiAgICAgICAgICAgICAgICAiezB9IGlzIG5vdCBhIHN1cGVyY2xhc3Mgb2YgezF9Ii5mb3JtYXQoc3VwZXJjbGFzcywgc2VsZi5fX3Rlc3QpKQogCi1kZWYgY3JlYXRlX2luaGVyaXRhbmNlX3Rlc3RzKGJhc2VfY2xhc3MpOgotICAgIGRlZiBzZXRfZnJvemVuKG5zKToKLSAgICAgICAgbnNbJ2FiYyddID0gZnJvemVuX2FiYwotICAgIGRlZiBzZXRfc291cmNlKG5zKToKLSAgICAgICAgbnNbJ2FiYyddID0gc291cmNlX2FiYwotCi0gICAgY2xhc3NlcyA9IFtdCi0gICAgZm9yIHByZWZpeCwgbnNfc2V0IGluIFsoJ0Zyb3plbicsIHNldF9mcm96ZW4pLCAoJ1NvdXJjZScsIHNldF9zb3VyY2UpXToKLSAgICAgICAgY2xhc3Nlcy5hcHBlbmQodHlwZXMubmV3X2NsYXNzKCdfJy5qb2luKFtwcmVmaXgsIGJhc2VfY2xhc3MuX19uYW1lX19dKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChiYXNlX2NsYXNzLCB1bml0dGVzdC5UZXN0Q2FzZSksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleGVjX2JvZHk9bnNfc2V0KSkKLSAgICByZXR1cm4gY2xhc3NlcwotCiAKIGNsYXNzIE1ldGFQYXRoRmluZGVyKEluaGVyaXRhbmNlVGVzdHMpOgogICAgIHN1cGVyY2xhc3NfbmFtZXMgPSBbJ0ZpbmRlciddCiAgICAgc3ViY2xhc3NfbmFtZXMgPSBbJ0J1aWx0aW5JbXBvcnRlcicsICdGcm96ZW5JbXBvcnRlcicsICdQYXRoRmluZGVyJywKICAgICAgICAgICAgICAgICAgICAgICAnV2luZG93c1JlZ2lzdHJ5RmluZGVyJ10KIAotdGVzdHMgPSBjcmVhdGVfaW5oZXJpdGFuY2VfdGVzdHMoTWV0YVBhdGhGaW5kZXIpCi1Gcm96ZW5fTWV0YVBhdGhGaW5kZXJJbmhlcml0YW5jZVRlc3RzLCBTb3VyY2VfTWV0YVBhdGhGaW5kZXJJbmhlcml0YW5jZVRlc3RzID0gdGVzdHMKKworKEZyb3plbl9NZXRhUGF0aEZpbmRlckluaGVyaXRhbmNlVGVzdHMsCisgU291cmNlX01ldGFQYXRoRmluZGVySW5oZXJpdGFuY2VUZXN0cworICkgPSB0ZXN0X3V0aWwudGVzdF9ib3RoKE1ldGFQYXRoRmluZGVyLCBhYmM9YWJjKQogCiAKIGNsYXNzIFBhdGhFbnRyeUZpbmRlcihJbmhlcml0YW5jZVRlc3RzKToKICAgICBzdXBlcmNsYXNzX25hbWVzID0gWydGaW5kZXInXQogICAgIHN1YmNsYXNzX25hbWVzID0gWydGaWxlRmluZGVyJ10KIAotdGVzdHMgPSBjcmVhdGVfaW5oZXJpdGFuY2VfdGVzdHMoUGF0aEVudHJ5RmluZGVyKQotRnJvemVuX1BhdGhFbnRyeUZpbmRlckluaGVyaXRhbmNlVGVzdHMsIFNvdXJjZV9QYXRoRW50cnlGaW5kZXJJbmhlcml0YW5jZVRlc3RzID0gdGVzdHMKKworKEZyb3plbl9QYXRoRW50cnlGaW5kZXJJbmhlcml0YW5jZVRlc3RzLAorIFNvdXJjZV9QYXRoRW50cnlGaW5kZXJJbmhlcml0YW5jZVRlc3RzCisgKSA9IHRlc3RfdXRpbC50ZXN0X2JvdGgoUGF0aEVudHJ5RmluZGVyLCBhYmM9YWJjKQogCiAKIGNsYXNzIFJlc291cmNlTG9hZGVyKEluaGVyaXRhbmNlVGVzdHMpOgogICAgIHN1cGVyY2xhc3NfbmFtZXMgPSBbJ0xvYWRlciddCiAKLXRlc3RzID0gY3JlYXRlX2luaGVyaXRhbmNlX3Rlc3RzKFJlc291cmNlTG9hZGVyKQotRnJvemVuX1Jlc291cmNlTG9hZGVySW5oZXJpdGFuY2VUZXN0cywgU291cmNlX1Jlc291cmNlTG9hZGVySW5oZXJpdGFuY2VUZXN0cyA9IHRlc3RzCisKKyhGcm96ZW5fUmVzb3VyY2VMb2FkZXJJbmhlcml0YW5jZVRlc3RzLAorIFNvdXJjZV9SZXNvdXJjZUxvYWRlckluaGVyaXRhbmNlVGVzdHMKKyApID0gdGVzdF91dGlsLnRlc3RfYm90aChSZXNvdXJjZUxvYWRlciwgYWJjPWFiYykKIAogCiBjbGFzcyBJbnNwZWN0TG9hZGVyKEluaGVyaXRhbmNlVGVzdHMpOgogICAgIHN1cGVyY2xhc3NfbmFtZXMgPSBbJ0xvYWRlciddCiAgICAgc3ViY2xhc3NfbmFtZXMgPSBbJ0J1aWx0aW5JbXBvcnRlcicsICdGcm96ZW5JbXBvcnRlcicsICdFeHRlbnNpb25GaWxlTG9hZGVyJ10KIAotdGVzdHMgPSBjcmVhdGVfaW5oZXJpdGFuY2VfdGVzdHMoSW5zcGVjdExvYWRlcikKLUZyb3plbl9JbnNwZWN0TG9hZGVySW5oZXJpdGFuY2VUZXN0cywgU291cmNlX0luc3BlY3RMb2FkZXJJbmhlcml0YW5jZVRlc3RzID0gdGVzdHMKKworKEZyb3plbl9JbnNwZWN0TG9hZGVySW5oZXJpdGFuY2VUZXN0cywKKyBTb3VyY2VfSW5zcGVjdExvYWRlckluaGVyaXRhbmNlVGVzdHMKKyApID0gdGVzdF91dGlsLnRlc3RfYm90aChJbnNwZWN0TG9hZGVyLCBhYmM9YWJjKQogCiAKIGNsYXNzIEV4ZWN1dGlvbkxvYWRlcihJbmhlcml0YW5jZVRlc3RzKToKICAgICBzdXBlcmNsYXNzX25hbWVzID0gWydJbnNwZWN0TG9hZGVyJ10KICAgICBzdWJjbGFzc19uYW1lcyA9IFsnRXh0ZW5zaW9uRmlsZUxvYWRlciddCiAKLXRlc3RzID0gY3JlYXRlX2luaGVyaXRhbmNlX3Rlc3RzKEV4ZWN1dGlvbkxvYWRlcikKLUZyb3plbl9FeGVjdXRpb25Mb2FkZXJJbmhlcml0YW5jZVRlc3RzLCBTb3VyY2VfRXhlY3V0aW9uTG9hZGVySW5oZXJpdGFuY2VUZXN0cyA9IHRlc3RzCisKKyhGcm96ZW5fRXhlY3V0aW9uTG9hZGVySW5oZXJpdGFuY2VUZXN0cywKKyBTb3VyY2VfRXhlY3V0aW9uTG9hZGVySW5oZXJpdGFuY2VUZXN0cworICkgPSB0ZXN0X3V0aWwudGVzdF9ib3RoKEV4ZWN1dGlvbkxvYWRlciwgYWJjPWFiYykKIAogCiBjbGFzcyBGaWxlTG9hZGVyKEluaGVyaXRhbmNlVGVzdHMpOgogICAgIHN1cGVyY2xhc3NfbmFtZXMgPSBbJ1Jlc291cmNlTG9hZGVyJywgJ0V4ZWN1dGlvbkxvYWRlciddCiAgICAgc3ViY2xhc3NfbmFtZXMgPSBbJ1NvdXJjZUZpbGVMb2FkZXInLCAnU291cmNlbGVzc0ZpbGVMb2FkZXInXQogCi10ZXN0cyA9IGNyZWF0ZV9pbmhlcml0YW5jZV90ZXN0cyhGaWxlTG9hZGVyKQotRnJvemVuX0ZpbGVMb2FkZXJJbmhlcml0YW5jZVRlc3RzLCBTb3VyY2VfRmlsZUxvYWRlckluaGVyaXRhbmNlVGVzdHMgPSB0ZXN0cworCisoRnJvemVuX0ZpbGVMb2FkZXJJbmhlcml0YW5jZVRlc3RzLAorIFNvdXJjZV9GaWxlTG9hZGVySW5oZXJpdGFuY2VUZXN0cworICkgPSB0ZXN0X3V0aWwudGVzdF9ib3RoKEZpbGVMb2FkZXIsIGFiYz1hYmMpCiAKIAogY2xhc3MgU291cmNlTG9hZGVyKEluaGVyaXRhbmNlVGVzdHMpOgogICAgIHN1cGVyY2xhc3NfbmFtZXMgPSBbJ1Jlc291cmNlTG9hZGVyJywgJ0V4ZWN1dGlvbkxvYWRlciddCiAgICAgc3ViY2xhc3NfbmFtZXMgPSBbJ1NvdXJjZUZpbGVMb2FkZXInXQogCi10ZXN0cyA9IGNyZWF0ZV9pbmhlcml0YW5jZV90ZXN0cyhTb3VyY2VMb2FkZXIpCi1Gcm96ZW5fU291cmNlTG9hZGVySW5oZXJpdGFuY2VUZXN0cywgU291cmNlX1NvdXJjZUxvYWRlckluaGVyaXRhbmNlVGVzdHMgPSB0ZXN0cworCisoRnJvemVuX1NvdXJjZUxvYWRlckluaGVyaXRhbmNlVGVzdHMsCisgU291cmNlX1NvdXJjZUxvYWRlckluaGVyaXRhbmNlVGVzdHMKKyApID0gdGVzdF91dGlsLnRlc3RfYm90aChTb3VyY2VMb2FkZXIsIGFiYz1hYmMpCisKIAogIyMjIyMgRGVmYXVsdCByZXR1cm4gdmFsdWVzICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLWRlZiBtYWtlX2FiY19zdWJjbGFzc2VzKGJhc2VfY2xhc3MpOgotICAgIGNsYXNzZXMgPSBbXQotICAgIGZvciBraW5kLCBhYmMgaW4gWygnRnJvemVuJywgZnJvemVuX2FiYyksICgnU291cmNlJywgc291cmNlX2FiYyldOgotICAgICAgICBuYW1lID0gJ18nLmpvaW4oW2tpbmQsIGJhc2VfY2xhc3MuX19uYW1lX19dKQotICAgICAgICBiYXNlX2NsYXNzZXMgPSBiYXNlX2NsYXNzLCBnZXRhdHRyKGFiYywgYmFzZV9jbGFzcy5fX25hbWVfXykKLSAgICAgICAgY2xhc3Nlcy5hcHBlbmQodHlwZXMubmV3X2NsYXNzKG5hbWUsIGJhc2VfY2xhc3NlcykpCi0gICAgcmV0dXJuIGNsYXNzZXMKIAotZGVmIG1ha2VfcmV0dXJuX3ZhbHVlX3Rlc3RzKGJhc2VfY2xhc3MsIHRlc3RfY2xhc3MpOgotICAgIGZyb3plbl9jbGFzcywgc291cmNlX2NsYXNzID0gbWFrZV9hYmNfc3ViY2xhc3NlcyhiYXNlX2NsYXNzKQotICAgIHRlc3RzID0gW10KLSAgICBmb3IgcHJlZml4LCBjbGFzc19pbl90ZXN0IGluIFsoJ0Zyb3plbicsIGZyb3plbl9jbGFzcyksICgnU291cmNlJywgc291cmNlX2NsYXNzKV06Ci0gICAgICAgIGRlZiBzZXRfbnMobnMpOgotICAgICAgICAgICAgbnNbJ2lucyddID0gY2xhc3NfaW5fdGVzdCgpCi0gICAgICAgIHRlc3RzLmFwcGVuZCh0eXBlcy5uZXdfY2xhc3MoJ18nLmpvaW4oW3ByZWZpeCwgdGVzdF9jbGFzcy5fX25hbWVfX10pLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh0ZXN0X2NsYXNzLCB1bml0dGVzdC5UZXN0Q2FzZSksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhlY19ib2R5PXNldF9ucykpCi0gICAgcmV0dXJuIHRlc3RzCitkZWYgbWFrZV9hYmNfc3ViY2xhc3NlcyhiYXNlX2NsYXNzLCBuYW1lPU5vbmUsIGluc3Q9RmFsc2UsICoqa3dhcmdzKToKKyAgICBpZiBuYW1lIGlzIE5vbmU6CisgICAgICAgIG5hbWUgPSBiYXNlX2NsYXNzLl9fbmFtZV9fCisgICAgYmFzZSA9IHtraW5kOiBnZXRhdHRyKHNwbGl0YWJjLCBuYW1lKQorICAgICAgICAgICAgZm9yIGtpbmQsIHNwbGl0YWJjIGluIGFiYy5pdGVtcygpfQorICAgIHJldHVybiB7Y2xzLl9LSU5EOiBjbHMoKSBpZiBpbnN0IGVsc2UgY2xzCisgICAgICAgICAgICBmb3IgY2xzIGluIHRlc3RfdXRpbC5zcGxpdF9mcm96ZW4oYmFzZV9jbGFzcywgYmFzZSwgKiprd2FyZ3MpfQorCisKK2NsYXNzIEFCQ1Rlc3RIYXJuZXNzOgorCisgICAgQHByb3BlcnR5CisgICAgZGVmIGlucyhzZWxmKToKKyAgICAgICAgIyBMYXppbHkgc2V0IGlucyBvbiB0aGUgY2xhc3MuCisgICAgICAgIGNscyA9IHNlbGYuU1BMSVRbc2VsZi5fS0lORF0KKyAgICAgICAgaW5zID0gY2xzKCkKKyAgICAgICAgc2VsZi5fX2NsYXNzX18uaW5zID0gaW5zCisgICAgICAgIHJldHVybiBpbnMKIAogCiBjbGFzcyBNZXRhUGF0aEZpbmRlcjoKQEAgLTE0OSwxMCArMTUyLDEwIEBACiAgICAgZGVmIGZpbmRfbW9kdWxlKHNlbGYsIGZ1bGxuYW1lLCBwYXRoKToKICAgICAgICAgcmV0dXJuIHN1cGVyKCkuZmluZF9tb2R1bGUoZnVsbG5hbWUsIHBhdGgpCiAKLUZyb3plbl9NUEYsIFNvdXJjZV9NUEYgPSBtYWtlX2FiY19zdWJjbGFzc2VzKE1ldGFQYXRoRmluZGVyKQogCitjbGFzcyBNZXRhUGF0aEZpbmRlckRlZmF1bHRzVGVzdHMoQUJDVGVzdEhhcm5lc3MpOgogCi1jbGFzcyBNZXRhUGF0aEZpbmRlckRlZmF1bHRzVGVzdHM6CisgICAgU1BMSVQgPSBtYWtlX2FiY19zdWJjbGFzc2VzKE1ldGFQYXRoRmluZGVyKQogCiAgICAgZGVmIHRlc3RfZmluZF9tb2R1bGUoc2VsZik6CiAgICAgICAgICMgRGVmYXVsdCBzaG91bGQgcmV0dXJuIE5vbmUuCkBAIC0xNjMsOCArMTY2LDkgQEAKICAgICAgICAgc2VsZi5pbnMuaW52YWxpZGF0ZV9jYWNoZXMoKQogCiAKLXRlc3RzID0gbWFrZV9yZXR1cm5fdmFsdWVfdGVzdHMoTWV0YVBhdGhGaW5kZXIsIE1ldGFQYXRoRmluZGVyRGVmYXVsdHNUZXN0cykKLUZyb3plbl9NUEZEZWZhdWx0VGVzdHMsIFNvdXJjZV9NUEZEZWZhdWx0VGVzdHMgPSB0ZXN0cworKEZyb3plbl9NUEZEZWZhdWx0VGVzdHMsCisgU291cmNlX01QRkRlZmF1bHRUZXN0cworICkgPSB0ZXN0X3V0aWwudGVzdF9ib3RoKE1ldGFQYXRoRmluZGVyRGVmYXVsdHNUZXN0cykKIAogCiBjbGFzcyBQYXRoRW50cnlGaW5kZXI6CkBAIC0xNzIsMTAgKzE3NiwxMCBAQAogICAgIGRlZiBmaW5kX2xvYWRlcihzZWxmLCBmdWxsbmFtZSk6CiAgICAgICAgIHJldHVybiBzdXBlcigpLmZpbmRfbG9hZGVyKGZ1bGxuYW1lKQogCi1Gcm96ZW5fUEVGLCBTb3VyY2VfUEVGID0gbWFrZV9hYmNfc3ViY2xhc3NlcyhQYXRoRW50cnlGaW5kZXIpCiAKK2NsYXNzIFBhdGhFbnRyeUZpbmRlckRlZmF1bHRzVGVzdHMoQUJDVGVzdEhhcm5lc3MpOgogCi1jbGFzcyBQYXRoRW50cnlGaW5kZXJEZWZhdWx0c1Rlc3RzOgorICAgIFNQTElUID0gbWFrZV9hYmNfc3ViY2xhc3NlcyhQYXRoRW50cnlGaW5kZXIpCiAKICAgICBkZWYgdGVzdF9maW5kX2xvYWRlcihzZWxmKToKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgoTm9uZSwgW10pLCBzZWxmLmlucy5maW5kX2xvYWRlcignc29tZXRoaW5nJykpCkBAIC0xODgsOCArMTkyLDkgQEAKICAgICAgICAgc2VsZi5pbnMuaW52YWxpZGF0ZV9jYWNoZXMoKQogCiAKLXRlc3RzID0gbWFrZV9yZXR1cm5fdmFsdWVfdGVzdHMoUGF0aEVudHJ5RmluZGVyLCBQYXRoRW50cnlGaW5kZXJEZWZhdWx0c1Rlc3RzKQotRnJvemVuX1BFRkRlZmF1bHRUZXN0cywgU291cmNlX1BFRkRlZmF1bHRUZXN0cyA9IHRlc3RzCisoRnJvemVuX1BFRkRlZmF1bHRUZXN0cywKKyBTb3VyY2VfUEVGRGVmYXVsdFRlc3RzCisgKSA9IHRlc3RfdXRpbC50ZXN0X2JvdGgoUGF0aEVudHJ5RmluZGVyRGVmYXVsdHNUZXN0cykKIAogCiBjbGFzcyBMb2FkZXI6CkBAIC0xOTgsMTAgKzIwMyw5IEBACiAgICAgICAgIHJldHVybiBzdXBlcigpLmxvYWRfbW9kdWxlKGZ1bGxuYW1lKQogCiAKLUZyb3plbl9MLCBTb3VyY2VfTCA9IG1ha2VfYWJjX3N1YmNsYXNzZXMoTG9hZGVyKQorY2xhc3MgTG9hZGVyRGVmYXVsdHNUZXN0cyhBQkNUZXN0SGFybmVzcyk6CiAKLQotY2xhc3MgTG9hZGVyRGVmYXVsdHNUZXN0czoKKyAgICBTUExJVCA9IG1ha2VfYWJjX3N1YmNsYXNzZXMoTG9hZGVyKQogCiAgICAgZGVmIHRlc3RfbG9hZF9tb2R1bGUoc2VsZik6CiAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoSW1wb3J0RXJyb3IpOgpAQCAtMjE3LDggKzIyMSw5IEBACiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShyZXByKG1vZCkpCiAKIAotdGVzdHMgPSBtYWtlX3JldHVybl92YWx1ZV90ZXN0cyhMb2FkZXIsIExvYWRlckRlZmF1bHRzVGVzdHMpCi1Gcm96ZW5fTERlZmF1bHRUZXN0cywgU291cmNlTERlZmF1bHRUZXN0cyA9IHRlc3RzCisoRnJvemVuX0xEZWZhdWx0VGVzdHMsCisgU291cmNlTERlZmF1bHRUZXN0cworICkgPSB0ZXN0X3V0aWwudGVzdF9ib3RoKExvYWRlckRlZmF1bHRzVGVzdHMpCiAKIAogY2xhc3MgUmVzb3VyY2VMb2FkZXIoTG9hZGVyKToKQEAgLTIyNywxOCArMjMyLDE4IEBACiAgICAgICAgIHJldHVybiBzdXBlcigpLmdldF9kYXRhKHBhdGgpCiAKIAotRnJvemVuX1JMLCBTb3VyY2VfUkwgPSBtYWtlX2FiY19zdWJjbGFzc2VzKFJlc291cmNlTG9hZGVyKQorY2xhc3MgUmVzb3VyY2VMb2FkZXJEZWZhdWx0c1Rlc3RzKEFCQ1Rlc3RIYXJuZXNzKToKIAotCi1jbGFzcyBSZXNvdXJjZUxvYWRlckRlZmF1bHRzVGVzdHM6CisgICAgU1BMSVQgPSBtYWtlX2FiY19zdWJjbGFzc2VzKFJlc291cmNlTG9hZGVyKQogCiAgICAgZGVmIHRlc3RfZ2V0X2RhdGEoc2VsZik6CiAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoSU9FcnJvcik6CiAgICAgICAgICAgICBzZWxmLmlucy5nZXRfZGF0YSgnL3NvbWUvcGF0aCcpCiAKIAotdGVzdHMgPSBtYWtlX3JldHVybl92YWx1ZV90ZXN0cyhSZXNvdXJjZUxvYWRlciwgUmVzb3VyY2VMb2FkZXJEZWZhdWx0c1Rlc3RzKQotRnJvemVuX1JMRGVmYXVsdFRlc3RzLCBTb3VyY2VfUkxEZWZhdWx0VGVzdHMgPSB0ZXN0cworKEZyb3plbl9STERlZmF1bHRUZXN0cywKKyBTb3VyY2VfUkxEZWZhdWx0VGVzdHMKKyApID0gdGVzdF91dGlsLnRlc3RfYm90aChSZXNvdXJjZUxvYWRlckRlZmF1bHRzVGVzdHMpCiAKIAogY2xhc3MgSW5zcGVjdExvYWRlcihMb2FkZXIpOgpAQCAtMjUwLDEwICsyNTUsMTIgQEAKICAgICAgICAgcmV0dXJuIHN1cGVyKCkuZ2V0X3NvdXJjZShmdWxsbmFtZSkKIAogCi1Gcm96ZW5fSUwsIFNvdXJjZV9JTCA9IG1ha2VfYWJjX3N1YmNsYXNzZXMoSW5zcGVjdExvYWRlcikKK1NQTElUX0lMID0gbWFrZV9hYmNfc3ViY2xhc3NlcyhJbnNwZWN0TG9hZGVyKQogCiAKLWNsYXNzIEluc3BlY3RMb2FkZXJEZWZhdWx0c1Rlc3RzOgorY2xhc3MgSW5zcGVjdExvYWRlckRlZmF1bHRzVGVzdHMoQUJDVGVzdEhhcm5lc3MpOgorCisgICAgU1BMSVQgPSBTUExJVF9JTAogCiAgICAgZGVmIHRlc3RfaXNfcGFja2FnZShzZWxmKToKICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhJbXBvcnRFcnJvcik6CkBAIC0yNjQsOCArMjcxLDkgQEAKICAgICAgICAgICAgIHNlbGYuaW5zLmdldF9zb3VyY2UoJ2JsYWgnKQogCiAKLXRlc3RzID0gbWFrZV9yZXR1cm5fdmFsdWVfdGVzdHMoSW5zcGVjdExvYWRlciwgSW5zcGVjdExvYWRlckRlZmF1bHRzVGVzdHMpCi1Gcm96ZW5fSUxEZWZhdWx0VGVzdHMsIFNvdXJjZV9JTERlZmF1bHRUZXN0cyA9IHRlc3RzCisoRnJvemVuX0lMRGVmYXVsdFRlc3RzLAorIFNvdXJjZV9JTERlZmF1bHRUZXN0cworICkgPSB0ZXN0X3V0aWwudGVzdF9ib3RoKEluc3BlY3RMb2FkZXJEZWZhdWx0c1Rlc3RzKQogCiAKIGNsYXNzIEV4ZWN1dGlvbkxvYWRlcihJbnNwZWN0TG9hZGVyKToKQEAgLTI3MywyMSArMjgxLDI1IEBACiAgICAgZGVmIGdldF9maWxlbmFtZShzZWxmLCBmdWxsbmFtZSk6CiAgICAgICAgIHJldHVybiBzdXBlcigpLmdldF9maWxlbmFtZShmdWxsbmFtZSkKIAotRnJvemVuX0VMLCBTb3VyY2VfRUwgPSBtYWtlX2FiY19zdWJjbGFzc2VzKEV4ZWN1dGlvbkxvYWRlcikKKworU1BMSVRfRUwgPSBtYWtlX2FiY19zdWJjbGFzc2VzKEV4ZWN1dGlvbkxvYWRlcikKIAogCi1jbGFzcyBFeGVjdXRpb25Mb2FkZXJEZWZhdWx0c1Rlc3RzOgorY2xhc3MgRXhlY3V0aW9uTG9hZGVyRGVmYXVsdHNUZXN0cyhBQkNUZXN0SGFybmVzcyk6CisKKyAgICBTUExJVCA9IFNQTElUX0VMCiAKICAgICBkZWYgdGVzdF9nZXRfZmlsZW5hbWUoc2VsZik6CiAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoSW1wb3J0RXJyb3IpOgogICAgICAgICAgICAgc2VsZi5pbnMuZ2V0X2ZpbGVuYW1lKCdibGFoJykKIAogCi10ZXN0cyA9IG1ha2VfcmV0dXJuX3ZhbHVlX3Rlc3RzKEV4ZWN1dGlvbkxvYWRlciwgSW5zcGVjdExvYWRlckRlZmF1bHRzVGVzdHMpCi1Gcm96ZW5fRUxEZWZhdWx0VGVzdHMsIFNvdXJjZV9FTERlZmF1bHRzVGVzdHMgPSB0ZXN0cworKEZyb3plbl9FTERlZmF1bHRUZXN0cywKKyBTb3VyY2VfRUxEZWZhdWx0c1Rlc3RzCisgKSA9IHRlc3RfdXRpbC50ZXN0X2JvdGgoSW5zcGVjdExvYWRlckRlZmF1bHRzVGVzdHMpCisKIAogIyMjIyMgTWV0YVBhdGhGaW5kZXIgY29uY3JldGUgbWV0aG9kcyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLQogY2xhc3MgTWV0YVBhdGhGaW5kZXJGaW5kTW9kdWxlVGVzdHM6CiAKICAgICBAY2xhc3NtZXRob2QKQEAgLTMxNywxMyArMzI5LDEyIEBACiAgICAgICAgIHNlbGYuYXNzZXJ0SXMoZm91bmQsIHNwZWMubG9hZGVyKQogCiAKLUZyb3plbl9NUEZGaW5kTW9kdWxlVGVzdHMsIFNvdXJjZV9NUEZGaW5kTW9kdWxlVGVzdHMgPSB1dGlsLnRlc3RfYm90aCgKLSAgICAgICAgTWV0YVBhdGhGaW5kZXJGaW5kTW9kdWxlVGVzdHMsCi0gICAgICAgIGFiYz0oZnJvemVuX2FiYywgc291cmNlX2FiYyksCi0gICAgICAgIHV0aWw9KGZyb3plbl91dGlsLCBzb3VyY2VfdXRpbCkpCisoRnJvemVuX01QRkZpbmRNb2R1bGVUZXN0cywKKyBTb3VyY2VfTVBGRmluZE1vZHVsZVRlc3RzCisgKSA9IHRlc3RfdXRpbC50ZXN0X2JvdGgoTWV0YVBhdGhGaW5kZXJGaW5kTW9kdWxlVGVzdHMsIGFiYz1hYmMsIHV0aWw9dXRpbCkKKwogCiAjIyMjIyBQYXRoRW50cnlGaW5kZXIgY29uY3JldGUgbWV0aG9kcyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotCiBjbGFzcyBQYXRoRW50cnlGaW5kZXJGaW5kTG9hZGVyVGVzdHM6CiAKICAgICBAY2xhc3NtZXRob2QKQEAgLTM2MSwxMSArMzcyLDEwIEBACiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocGF0aHMsIGZvdW5kWzFdKQogCiAKLUZyb3plbl9QRUZGaW5kTG9hZGVyVGVzdHMsIFNvdXJjZV9QRUZGaW5kTG9hZGVyVGVzdHMgPSB1dGlsLnRlc3RfYm90aCgKLSAgICAgICAgUGF0aEVudHJ5RmluZGVyRmluZExvYWRlclRlc3RzLAotICAgICAgICBhYmM9KGZyb3plbl9hYmMsIHNvdXJjZV9hYmMpLAotICAgICAgICBtYWNoaW5lcnk9bWFjaGluZXJ5LAotICAgICAgICB1dGlsPShmcm96ZW5fdXRpbCwgc291cmNlX3V0aWwpKQorKEZyb3plbl9QRUZGaW5kTG9hZGVyVGVzdHMsCisgU291cmNlX1BFRkZpbmRMb2FkZXJUZXN0cworICkgPSB0ZXN0X3V0aWwudGVzdF9ib3RoKFBhdGhFbnRyeUZpbmRlckZpbmRMb2FkZXJUZXN0cywgYWJjPWFiYywgdXRpbD11dGlsLAorICAgICAgICAgICAgICAgICAgICAgICAgIG1hY2hpbmVyeT1tYWNoaW5lcnkpCiAKIAogIyMjIyMgTG9hZGVyIGNvbmNyZXRlIG1ldGhvZHMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKQEAgLTM4Niw3ICszOTYsNyBAQAogICAgIGRlZiB0ZXN0X2ZyZXNoKHNlbGYpOgogICAgICAgICBsb2FkZXIgPSBzZWxmLmxvYWRlcigpCiAgICAgICAgIG5hbWUgPSAnYmxhaCcKLSAgICAgICAgd2l0aCB1dGlsLnVuY2FjaGUobmFtZSk6CisgICAgICAgIHdpdGggdGVzdF91dGlsLnVuY2FjaGUobmFtZSk6CiAgICAgICAgICAgICBsb2FkZXIubG9hZF9tb2R1bGUobmFtZSkKICAgICAgICAgICAgIG1vZHVsZSA9IGxvYWRlci5mb3VuZAogICAgICAgICAgICAgc2VsZi5hc3NlcnRJcyhzeXMubW9kdWxlc1tuYW1lXSwgbW9kdWxlKQpAQCAtNDA0LDcgKzQxNCw3IEBACiAgICAgICAgIG1vZHVsZSA9IHR5cGVzLk1vZHVsZVR5cGUobmFtZSkKICAgICAgICAgbW9kdWxlLl9fc3BlY19fID0gc2VsZi51dGlsLnNwZWNfZnJvbV9sb2FkZXIobmFtZSwgbG9hZGVyKQogICAgICAgICBtb2R1bGUuX19sb2FkZXJfXyA9IGxvYWRlcgotICAgICAgICB3aXRoIHV0aWwudW5jYWNoZShuYW1lKToKKyAgICAgICAgd2l0aCB0ZXN0X3V0aWwudW5jYWNoZShuYW1lKToKICAgICAgICAgICAgIHN5cy5tb2R1bGVzW25hbWVdID0gbW9kdWxlCiAgICAgICAgICAgICBsb2FkZXIubG9hZF9tb2R1bGUobmFtZSkKICAgICAgICAgICAgIGZvdW5kID0gbG9hZGVyLmZvdW5kCkBAIC00MTIsMTAgKzQyMiw5IEBACiAgICAgICAgICAgICBzZWxmLmFzc2VydElzKG1vZHVsZSwgc3lzLm1vZHVsZXNbbmFtZV0pCiAKIAotRnJvemVuX0xvYWRlckxvYWRNb2R1bGVUZXN0cywgU291cmNlX0xvYWRlckxvYWRNb2R1bGVUZXN0cyA9IHV0aWwudGVzdF9ib3RoKAotICAgICAgICBMb2FkZXJMb2FkTW9kdWxlVGVzdHMsCi0gICAgICAgIGFiYz0oZnJvemVuX2FiYywgc291cmNlX2FiYyksCi0gICAgICAgIHV0aWw9KGZyb3plbl91dGlsLCBzb3VyY2VfdXRpbCkpCisoRnJvemVuX0xvYWRlckxvYWRNb2R1bGVUZXN0cywKKyBTb3VyY2VfTG9hZGVyTG9hZE1vZHVsZVRlc3RzCisgKSA9IHRlc3RfdXRpbC50ZXN0X2JvdGgoTG9hZGVyTG9hZE1vZHVsZVRlc3RzLCBhYmM9YWJjLCB1dGlsPXV0aWwpCiAKIAogIyMjIyMgSW5zcGVjdExvYWRlciBjb25jcmV0ZSBtZXRob2RzICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKQEAgLTQ2MSwxMSArNDcwLDEwIEBACiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY29kZS5jb19maWxlbmFtZSwgJzxzdHJpbmc+JykKIAogCi1jbGFzcyBGcm96ZW5fSUxTb3VyY2VUb0NvZGVUZXN0cyhJbnNwZWN0TG9hZGVyU291cmNlVG9Db2RlVGVzdHMsIHVuaXR0ZXN0LlRlc3RDYXNlKToKLSAgICBJbnNwZWN0TG9hZGVyU3ViY2xhc3MgPSBGcm96ZW5fSUwKLQotY2xhc3MgU291cmNlX0lMU291cmNlVG9Db2RlVGVzdHMoSW5zcGVjdExvYWRlclNvdXJjZVRvQ29kZVRlc3RzLCB1bml0dGVzdC5UZXN0Q2FzZSk6Ci0gICAgSW5zcGVjdExvYWRlclN1YmNsYXNzID0gU291cmNlX0lMCisoRnJvemVuX0lMU291cmNlVG9Db2RlVGVzdHMsCisgU291cmNlX0lMU291cmNlVG9Db2RlVGVzdHMKKyApID0gdGVzdF91dGlsLnRlc3RfYm90aChJbnNwZWN0TG9hZGVyU291cmNlVG9Db2RlVGVzdHMsCisgICAgICAgICAgICAgICAgICAgICAgICAgSW5zcGVjdExvYWRlclN1YmNsYXNzPVNQTElUX0lMKQogCiAKIGNsYXNzIEluc3BlY3RMb2FkZXJHZXRDb2RlVGVzdHM6CkBAIC00OTUsMTEgKzUwMywxMCBAQAogICAgICAgICAgICAgbG9hZGVyLmdldF9jb2RlKCdibGFoJykKIAogCi1jbGFzcyBGcm96ZW5fSUxHZXRDb2RlVGVzdHMoSW5zcGVjdExvYWRlckdldENvZGVUZXN0cywgdW5pdHRlc3QuVGVzdENhc2UpOgotICAgIEluc3BlY3RMb2FkZXJTdWJjbGFzcyA9IEZyb3plbl9JTAotCi1jbGFzcyBTb3VyY2VfSUxHZXRDb2RlVGVzdHMoSW5zcGVjdExvYWRlckdldENvZGVUZXN0cywgdW5pdHRlc3QuVGVzdENhc2UpOgotICAgIEluc3BlY3RMb2FkZXJTdWJjbGFzcyA9IFNvdXJjZV9JTAorKEZyb3plbl9JTEdldENvZGVUZXN0cywKKyBTb3VyY2VfSUxHZXRDb2RlVGVzdHMKKyApID0gdGVzdF91dGlsLnRlc3RfYm90aChJbnNwZWN0TG9hZGVyR2V0Q29kZVRlc3RzLAorICAgICAgICAgICAgICAgICAgICAgICAgIEluc3BlY3RMb2FkZXJTdWJjbGFzcz1TUExJVF9JTCkKIAogCiBjbGFzcyBJbnNwZWN0TG9hZGVyTG9hZE1vZHVsZVRlc3RzOgpAQCAtNTQzLDExICs1NTAsMTAgQEAKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobW9kdWxlLCBzeXMubW9kdWxlc1tzZWxmLm1vZHVsZV9uYW1lXSkKIAogCi1jbGFzcyBGcm96ZW5fSUxMb2FkTW9kdWxlVGVzdHMoSW5zcGVjdExvYWRlckxvYWRNb2R1bGVUZXN0cywgdW5pdHRlc3QuVGVzdENhc2UpOgotICAgIEluc3BlY3RMb2FkZXJTdWJjbGFzcyA9IEZyb3plbl9JTAotCi1jbGFzcyBTb3VyY2VfSUxMb2FkTW9kdWxlVGVzdHMoSW5zcGVjdExvYWRlckxvYWRNb2R1bGVUZXN0cywgdW5pdHRlc3QuVGVzdENhc2UpOgotICAgIEluc3BlY3RMb2FkZXJTdWJjbGFzcyA9IFNvdXJjZV9JTAorKEZyb3plbl9JTExvYWRNb2R1bGVUZXN0cywKKyBTb3VyY2VfSUxMb2FkTW9kdWxlVGVzdHMKKyApID0gdGVzdF91dGlsLnRlc3RfYm90aChJbnNwZWN0TG9hZGVyTG9hZE1vZHVsZVRlc3RzLAorICAgICAgICAgICAgICAgICAgICAgICAgIEluc3BlY3RMb2FkZXJTdWJjbGFzcz1TUExJVF9JTCkKIAogCiAjIyMjIyBFeGVjdXRpb25Mb2FkZXIgY29uY3JldGUgbWV0aG9kcyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpAQCAtNjA4LDE1ICs2MTQsMTQgQEAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtb2R1bGUuYXR0ciwgNDIpCiAKIAotY2xhc3MgRnJvemVuX0VMR2V0Q29kZVRlc3RzKEV4ZWN1dGlvbkxvYWRlckdldENvZGVUZXN0cywgdW5pdHRlc3QuVGVzdENhc2UpOgotICAgIEV4ZWN1dGlvbkxvYWRlclN1YmNsYXNzID0gRnJvemVuX0VMCi0KLWNsYXNzIFNvdXJjZV9FTEdldENvZGVUZXN0cyhFeGVjdXRpb25Mb2FkZXJHZXRDb2RlVGVzdHMsIHVuaXR0ZXN0LlRlc3RDYXNlKToKLSAgICBFeGVjdXRpb25Mb2FkZXJTdWJjbGFzcyA9IFNvdXJjZV9FTAorKEZyb3plbl9FTEdldENvZGVUZXN0cywKKyBTb3VyY2VfRUxHZXRDb2RlVGVzdHMKKyApID0gdGVzdF91dGlsLnRlc3RfYm90aChFeGVjdXRpb25Mb2FkZXJHZXRDb2RlVGVzdHMsCisgICAgICAgICAgICAgICAgICAgICAgICAgRXhlY3V0aW9uTG9hZGVyU3ViY2xhc3M9U1BMSVRfRUwpCiAKIAogIyMjIyMgU291cmNlTG9hZGVyIGNvbmNyZXRlIG1ldGhvZHMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLWNsYXNzIFNvdXJjZUxvYWRlcjoKK2NsYXNzIFNvdXJjZU9ubHlMb2FkZXI6CiAKICAgICAjIEdsb2JhbHMgdGhhdCBzaG91bGQgYmUgZGVmaW5lZCBmb3IgYWxsIG1vZHVsZXMuCiAgICAgc291cmNlID0gKGIiXyA9ICc6Oicuam9pbihbX19uYW1lX18sIF9fZmlsZV9fLCBfX2NhY2hlZF9fLCBfX3BhY2thZ2VfXywgIgpAQCAtNjM3LDEwICs2NDIsMTAgQEAKICAgICAgICAgcmV0dXJuICc8bW9kdWxlPicKIAogCi1Gcm96ZW5fU291cmNlT25seUwsIFNvdXJjZV9Tb3VyY2VPbmx5TCA9IG1ha2VfYWJjX3N1YmNsYXNzZXMoU291cmNlTG9hZGVyKQorU1BMSVRfU09MID0gbWFrZV9hYmNfc3ViY2xhc3NlcyhTb3VyY2VPbmx5TG9hZGVyLCAnU291cmNlTG9hZGVyJykKIAogCi1jbGFzcyBTb3VyY2VMb2FkZXIoU291cmNlTG9hZGVyKToKK2NsYXNzIFNvdXJjZUxvYWRlcihTb3VyY2VPbmx5TG9hZGVyKToKIAogICAgIHNvdXJjZV9tdGltZSA9IDEKIApAQCAtNjc3LDExICs2ODIsNyBAQAogICAgICAgICByZXR1cm4gcGF0aCA9PSBzZWxmLmJ5dGVjb2RlX3BhdGgKIAogCi1Gcm96ZW5fU0wsIFNvdXJjZV9TTCA9IG1ha2VfYWJjX3N1YmNsYXNzZXMoU291cmNlTG9hZGVyKQotRnJvemVuX1NMLnV0aWwgPSBmcm96ZW5fdXRpbAotU291cmNlX1NMLnV0aWwgPSBzb3VyY2VfdXRpbAotRnJvemVuX1NMLmluaXQgPSBmcm96ZW5faW5pdAotU291cmNlX1NMLmluaXQgPSBzb3VyY2VfaW5pdAorU1BMSVRfU0wgPSBtYWtlX2FiY19zdWJjbGFzc2VzKFNvdXJjZUxvYWRlciwgdXRpbD11dGlsLCBpbml0PWluaXQpCiAKIAogY2xhc3MgU291cmNlTG9hZGVyVGVzdEhhcm5lc3M6CkBAIC03NjUsNyArNzY2LDcgQEAKICAgICAgICAgIyBMb2FkaW5nIGEgbW9kdWxlIHNob3VsZCBzZXQgX19uYW1lX18sIF9fbG9hZGVyX18sIF9fcGFja2FnZV9fLAogICAgICAgICAjIF9fcGF0aF9fIChmb3IgcGFja2FnZXMpLCBfX2ZpbGVfXywgYW5kIF9fY2FjaGVkX18uCiAgICAgICAgICMgVGhlIG1vZHVsZSBzaG91bGQgYWxzbyBiZSBwdXQgaW50byBzeXMubW9kdWxlcy4KLSAgICAgICAgd2l0aCB1dGlsLnVuY2FjaGUoc2VsZi5uYW1lKToKKyAgICAgICAgd2l0aCB0ZXN0X3V0aWwudW5jYWNoZShzZWxmLm5hbWUpOgogICAgICAgICAgICAgd2l0aCB3YXJuaW5ncy5jYXRjaF93YXJuaW5ncygpOgogICAgICAgICAgICAgICAgIHdhcm5pbmdzLnNpbXBsZWZpbHRlcignaWdub3JlJywgRGVwcmVjYXRpb25XYXJuaW5nKQogICAgICAgICAgICAgICAgIG1vZHVsZSA9IHNlbGYubG9hZGVyLmxvYWRfbW9kdWxlKHNlbGYubmFtZSkKQEAgLTc3OCw3ICs3NzksNyBAQAogICAgICAgICAjIGlzIGEgcGFja2FnZS4KICAgICAgICAgIyBUZXN0aW5nIHRoZSB2YWx1ZXMgZm9yIGEgcGFja2FnZSBhcmUgY292ZXJlZCBieSB0ZXN0X2xvYWRfbW9kdWxlLgogICAgICAgICBzZWxmLnNldFVwKGlzX3BhY2thZ2U9RmFsc2UpCi0gICAgICAgIHdpdGggdXRpbC51bmNhY2hlKHNlbGYubmFtZSk6CisgICAgICAgIHdpdGggdGVzdF91dGlsLnVuY2FjaGUoc2VsZi5uYW1lKToKICAgICAgICAgICAgIHdpdGggd2FybmluZ3MuY2F0Y2hfd2FybmluZ3MoKToKICAgICAgICAgICAgICAgICB3YXJuaW5ncy5zaW1wbGVmaWx0ZXIoJ2lnbm9yZScsIERlcHJlY2F0aW9uV2FybmluZykKICAgICAgICAgICAgICAgICBtb2R1bGUgPSBzZWxmLmxvYWRlci5sb2FkX21vZHVsZShzZWxmLm5hbWUpCkBAIC03OTgsMTMgKzc5OSwxMCBAQAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJldHVybmVkX3NvdXJjZSwgc291cmNlKQogCiAKLWNsYXNzIEZyb3plbl9Tb3VyY2VPbmx5TFRlc3RzKFNvdXJjZU9ubHlMb2FkZXJUZXN0cywgdW5pdHRlc3QuVGVzdENhc2UpOgotICAgIGxvYWRlcl9tb2NrID0gRnJvemVuX1NvdXJjZU9ubHlMCi0gICAgdXRpbCA9IGZyb3plbl91dGlsCi0KLWNsYXNzIFNvdXJjZV9Tb3VyY2VPbmx5TFRlc3RzKFNvdXJjZU9ubHlMb2FkZXJUZXN0cywgdW5pdHRlc3QuVGVzdENhc2UpOgotICAgIGxvYWRlcl9tb2NrID0gU291cmNlX1NvdXJjZU9ubHlMCi0gICAgdXRpbCA9IHNvdXJjZV91dGlsCisoRnJvemVuX1NvdXJjZU9ubHlMb2FkZXJUZXN0cywKKyBTb3VyY2VfU291cmNlT25seUxvYWRlclRlc3RzCisgKSA9IHRlc3RfdXRpbC50ZXN0X2JvdGgoU291cmNlT25seUxvYWRlclRlc3RzLCB1dGlsPXV0aWwsCisgICAgICAgICAgICAgICAgICAgICAgICAgbG9hZGVyX21vY2s9U1BMSVRfU09MKQogCiAKIEB1bml0dGVzdC5za2lwSWYoc3lzLmRvbnRfd3JpdGVfYnl0ZWNvZGUsICJzeXMuZG9udF93cml0ZV9ieXRlY29kZSBpcyB0cnVlIikKQEAgLTg5NiwxNSArODk0LDEwIEBACiAgICAgICAgIHNlbGYudmVyaWZ5X2NvZGUoY29kZV9vYmplY3QpCiAKIAotY2xhc3MgRnJvemVuX1NMQnl0ZWNvZGVUZXN0cyhTb3VyY2VMb2FkZXJCeXRlY29kZVRlc3RzLCB1bml0dGVzdC5UZXN0Q2FzZSk6Ci0gICAgbG9hZGVyX21vY2sgPSBGcm96ZW5fU0wKLSAgICBpbml0ID0gZnJvemVuX2luaXQKLSAgICB1dGlsID0gZnJvemVuX3V0aWwKLQotY2xhc3MgU291cmNlU0xCeXRlY29kZVRlc3RzKFNvdXJjZUxvYWRlckJ5dGVjb2RlVGVzdHMsIHVuaXR0ZXN0LlRlc3RDYXNlKToKLSAgICBsb2FkZXJfbW9jayA9IFNvdXJjZV9TTAotICAgIGluaXQgPSBzb3VyY2VfaW5pdAotICAgIHV0aWwgPSBzb3VyY2VfdXRpbAorKEZyb3plbl9TTEJ5dGVjb2RlVGVzdHMsCisgU291cmNlU0xCeXRlY29kZVRlc3RzCisgKSA9IHRlc3RfdXRpbC50ZXN0X2JvdGgoU291cmNlTG9hZGVyQnl0ZWNvZGVUZXN0cywgaW5pdD1pbml0LCB1dGlsPXV0aWwsCisgICAgICAgICAgICAgICAgICAgICAgICAgbG9hZGVyX21vY2s9U1BMSVRfU0wpCiAKIAogY2xhc3MgU291cmNlTG9hZGVyR2V0U291cmNlVGVzdHM6CkBAIC05NDAsMTEgKzkzMywxMCBAQAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1vY2suZ2V0X3NvdXJjZShuYW1lKSwgZXhwZWN0KQogCiAKLWNsYXNzIEZyb3plbl9Tb3VyY2VPbmx5TEdldFNvdXJjZVRlc3RzKFNvdXJjZUxvYWRlckdldFNvdXJjZVRlc3RzLCB1bml0dGVzdC5UZXN0Q2FzZSk6Ci0gICAgU291cmNlT25seUxvYWRlck1vY2sgPSBGcm96ZW5fU291cmNlT25seUwKLQotY2xhc3MgU291cmNlX1NvdXJjZU9ubHlMR2V0U291cmNlVGVzdHMoU291cmNlTG9hZGVyR2V0U291cmNlVGVzdHMsIHVuaXR0ZXN0LlRlc3RDYXNlKToKLSAgICBTb3VyY2VPbmx5TG9hZGVyTW9jayA9IFNvdXJjZV9Tb3VyY2VPbmx5TAorKEZyb3plbl9Tb3VyY2VPbmx5TG9hZGVyR2V0U291cmNlVGVzdHMsCisgU291cmNlX1NvdXJjZU9ubHlMb2FkZXJHZXRTb3VyY2VUZXN0cworICkgPSB0ZXN0X3V0aWwudGVzdF9ib3RoKFNvdXJjZUxvYWRlckdldFNvdXJjZVRlc3RzLAorICAgICAgICAgICAgICAgICAgICAgICAgIFNvdXJjZU9ubHlMb2FkZXJNb2NrPVNQTElUX1NPTCkKIAogCiBpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvdGVzdF9hcGkucHkgYi9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi90ZXN0X2FwaS5weQppbmRleCAyYTJkNDJiLi42YmMzYzU2IDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi90ZXN0X2FwaS5weQorKysgYi9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi90ZXN0X2FwaS5weQpAQCAtMSw4ICsxLDggQEAKLWZyb20gLiBpbXBvcnQgdXRpbAorZnJvbSAuIGltcG9ydCB1dGlsIGFzIHRlc3RfdXRpbAogCi1mcm96ZW5faW5pdCwgc291cmNlX2luaXQgPSB1dGlsLmltcG9ydF9pbXBvcnRsaWIoJ2ltcG9ydGxpYicpCi1mcm96ZW5fdXRpbCwgc291cmNlX3V0aWwgPSB1dGlsLmltcG9ydF9pbXBvcnRsaWIoJ2ltcG9ydGxpYi51dGlsJykKLWZyb3plbl9tYWNoaW5lcnksIHNvdXJjZV9tYWNoaW5lcnkgPSB1dGlsLmltcG9ydF9pbXBvcnRsaWIoJ2ltcG9ydGxpYi5tYWNoaW5lcnknKQoraW5pdCA9IHRlc3RfdXRpbC5pbXBvcnRfaW1wb3J0bGliKCdpbXBvcnRsaWInKQordXRpbCA9IHRlc3RfdXRpbC5pbXBvcnRfaW1wb3J0bGliKCdpbXBvcnRsaWIudXRpbCcpCittYWNoaW5lcnkgPSB0ZXN0X3V0aWwuaW1wb3J0X2ltcG9ydGxpYignaW1wb3J0bGliLm1hY2hpbmVyeScpCiAKIGltcG9ydCBvcy5wYXRoCiBpbXBvcnQgc3lzCkBAIC0xOCw4ICsxOCw4IEBACiAKICAgICBkZWYgdGVzdF9tb2R1bGVfaW1wb3J0KHNlbGYpOgogICAgICAgICAjIFRlc3QgaW1wb3J0aW5nIGEgdG9wLWxldmVsIG1vZHVsZS4KLSAgICAgICAgd2l0aCB1dGlsLm1vY2tfbW9kdWxlcygndG9wX2xldmVsJykgYXMgbW9jazoKLSAgICAgICAgICAgIHdpdGggdXRpbC5pbXBvcnRfc3RhdGUobWV0YV9wYXRoPVttb2NrXSk6CisgICAgICAgIHdpdGggdGVzdF91dGlsLm1vY2tfbW9kdWxlcygndG9wX2xldmVsJykgYXMgbW9jazoKKyAgICAgICAgICAgIHdpdGggdGVzdF91dGlsLmltcG9ydF9zdGF0ZShtZXRhX3BhdGg9W21vY2tdKToKICAgICAgICAgICAgICAgICBtb2R1bGUgPSBzZWxmLmluaXQuaW1wb3J0X21vZHVsZSgndG9wX2xldmVsJykKICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1vZHVsZS5fX25hbWVfXywgJ3RvcF9sZXZlbCcpCiAKQEAgLTI4LDggKzI4LDggQEAKICAgICAgICAgcGtnX25hbWUgPSAncGtnJwogICAgICAgICBwa2dfbG9uZ19uYW1lID0gJ3swfS5fX2luaXRfXycuZm9ybWF0KHBrZ19uYW1lKQogICAgICAgICBuYW1lID0gJ3swfS5tb2QnLmZvcm1hdChwa2dfbmFtZSkKLSAgICAgICAgd2l0aCB1dGlsLm1vY2tfbW9kdWxlcyhwa2dfbG9uZ19uYW1lLCBuYW1lKSBhcyBtb2NrOgotICAgICAgICAgICAgd2l0aCB1dGlsLmltcG9ydF9zdGF0ZShtZXRhX3BhdGg9W21vY2tdKToKKyAgICAgICAgd2l0aCB0ZXN0X3V0aWwubW9ja19tb2R1bGVzKHBrZ19sb25nX25hbWUsIG5hbWUpIGFzIG1vY2s6CisgICAgICAgICAgICB3aXRoIHRlc3RfdXRpbC5pbXBvcnRfc3RhdGUobWV0YV9wYXRoPVttb2NrXSk6CiAgICAgICAgICAgICAgICAgbW9kdWxlID0gc2VsZi5pbml0LmltcG9ydF9tb2R1bGUobmFtZSkKICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1vZHVsZS5fX25hbWVfXywgbmFtZSkKIApAQCAtNDAsMTYgKzQwLDE2IEBACiAgICAgICAgIG1vZHVsZV9uYW1lID0gJ21vZCcKICAgICAgICAgYWJzb2x1dGVfbmFtZSA9ICd7MH0uezF9Jy5mb3JtYXQocGtnX25hbWUsIG1vZHVsZV9uYW1lKQogICAgICAgICByZWxhdGl2ZV9uYW1lID0gJy57MH0nLmZvcm1hdChtb2R1bGVfbmFtZSkKLSAgICAgICAgd2l0aCB1dGlsLm1vY2tfbW9kdWxlcyhwa2dfbG9uZ19uYW1lLCBhYnNvbHV0ZV9uYW1lKSBhcyBtb2NrOgotICAgICAgICAgICAgd2l0aCB1dGlsLmltcG9ydF9zdGF0ZShtZXRhX3BhdGg9W21vY2tdKToKKyAgICAgICAgd2l0aCB0ZXN0X3V0aWwubW9ja19tb2R1bGVzKHBrZ19sb25nX25hbWUsIGFic29sdXRlX25hbWUpIGFzIG1vY2s6CisgICAgICAgICAgICB3aXRoIHRlc3RfdXRpbC5pbXBvcnRfc3RhdGUobWV0YV9wYXRoPVttb2NrXSk6CiAgICAgICAgICAgICAgICAgc2VsZi5pbml0LmltcG9ydF9tb2R1bGUocGtnX25hbWUpCiAgICAgICAgICAgICAgICAgbW9kdWxlID0gc2VsZi5pbml0LmltcG9ydF9tb2R1bGUocmVsYXRpdmVfbmFtZSwgcGtnX25hbWUpCiAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtb2R1bGUuX19uYW1lX18sIGFic29sdXRlX25hbWUpCiAKICAgICBkZWYgdGVzdF9kZWVwX3JlbGF0aXZlX3BhY2thZ2VfaW1wb3J0KHNlbGYpOgogICAgICAgICBtb2R1bGVzID0gWydhLl9faW5pdF9fJywgJ2EuYi5fX2luaXRfXycsICdhLmMnXQotICAgICAgICB3aXRoIHV0aWwubW9ja19tb2R1bGVzKCptb2R1bGVzKSBhcyBtb2NrOgotICAgICAgICAgICAgd2l0aCB1dGlsLmltcG9ydF9zdGF0ZShtZXRhX3BhdGg9W21vY2tdKToKKyAgICAgICAgd2l0aCB0ZXN0X3V0aWwubW9ja19tb2R1bGVzKCptb2R1bGVzKSBhcyBtb2NrOgorICAgICAgICAgICAgd2l0aCB0ZXN0X3V0aWwuaW1wb3J0X3N0YXRlKG1ldGFfcGF0aD1bbW9ja10pOgogICAgICAgICAgICAgICAgIHNlbGYuaW5pdC5pbXBvcnRfbW9kdWxlKCdhJykKICAgICAgICAgICAgICAgICBzZWxmLmluaXQuaW1wb3J0X21vZHVsZSgnYS5iJykKICAgICAgICAgICAgICAgICBtb2R1bGUgPSBzZWxmLmluaXQuaW1wb3J0X21vZHVsZSgnLi5jJywgJ2EuYicpCkBAIC02MSw4ICs2MSw4IEBACiAgICAgICAgIHBrZ19uYW1lID0gJ3BrZycKICAgICAgICAgcGtnX2xvbmdfbmFtZSA9ICd7MH0uX19pbml0X18nLmZvcm1hdChwa2dfbmFtZSkKICAgICAgICAgbmFtZSA9ICd7MH0ubW9kJy5mb3JtYXQocGtnX25hbWUpCi0gICAgICAgIHdpdGggdXRpbC5tb2NrX21vZHVsZXMocGtnX2xvbmdfbmFtZSwgbmFtZSkgYXMgbW9jazoKLSAgICAgICAgICAgIHdpdGggdXRpbC5pbXBvcnRfc3RhdGUobWV0YV9wYXRoPVttb2NrXSk6CisgICAgICAgIHdpdGggdGVzdF91dGlsLm1vY2tfbW9kdWxlcyhwa2dfbG9uZ19uYW1lLCBuYW1lKSBhcyBtb2NrOgorICAgICAgICAgICAgd2l0aCB0ZXN0X3V0aWwuaW1wb3J0X3N0YXRlKG1ldGFfcGF0aD1bbW9ja10pOgogICAgICAgICAgICAgICAgIHNlbGYuaW5pdC5pbXBvcnRfbW9kdWxlKHBrZ19uYW1lKQogICAgICAgICAgICAgICAgIG1vZHVsZSA9IHNlbGYuaW5pdC5pbXBvcnRfbW9kdWxlKG5hbWUsIHBrZ19uYW1lKQogICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobW9kdWxlLl9fbmFtZV9fLCBuYW1lKQpAQCAtODYsMTYgKzg2LDE1IEBACiAgICAgICAgICAgICBiX2xvYWRfY291bnQgKz0gMQogICAgICAgICBjb2RlID0geydhJzogbG9hZF9hLCAnYS5iJzogbG9hZF9ifQogICAgICAgICBtb2R1bGVzID0gWydhLl9faW5pdF9fJywgJ2EuYiddCi0gICAgICAgIHdpdGggdXRpbC5tb2NrX21vZHVsZXMoKm1vZHVsZXMsIG1vZHVsZV9jb2RlPWNvZGUpIGFzIG1vY2s6Ci0gICAgICAgICAgICB3aXRoIHV0aWwuaW1wb3J0X3N0YXRlKG1ldGFfcGF0aD1bbW9ja10pOgorICAgICAgICB3aXRoIHRlc3RfdXRpbC5tb2NrX21vZHVsZXMoKm1vZHVsZXMsIG1vZHVsZV9jb2RlPWNvZGUpIGFzIG1vY2s6CisgICAgICAgICAgICB3aXRoIHRlc3RfdXRpbC5pbXBvcnRfc3RhdGUobWV0YV9wYXRoPVttb2NrXSk6CiAgICAgICAgICAgICAgICAgc2VsZi5pbml0LmltcG9ydF9tb2R1bGUoJ2EuYicpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYl9sb2FkX2NvdW50LCAxKQogCi1jbGFzcyBGcm96ZW5fSW1wb3J0TW9kdWxlVGVzdHMoSW1wb3J0TW9kdWxlVGVzdHMsIHVuaXR0ZXN0LlRlc3RDYXNlKToKLSAgICBpbml0ID0gZnJvemVuX2luaXQKIAotY2xhc3MgU291cmNlX0ltcG9ydE1vZHVsZVRlc3RzKEltcG9ydE1vZHVsZVRlc3RzLCB1bml0dGVzdC5UZXN0Q2FzZSk6Ci0gICAgaW5pdCA9IHNvdXJjZV9pbml0CisoRnJvemVuX0ltcG9ydE1vZHVsZVRlc3RzLAorIFNvdXJjZV9JbXBvcnRNb2R1bGVUZXN0cworICkgPSB0ZXN0X3V0aWwudGVzdF9ib3RoKEltcG9ydE1vZHVsZVRlc3RzLCBpbml0PWluaXQpCiAKIAogY2xhc3MgRmluZExvYWRlclRlc3RzOgpAQCAtMTA3LDcgKzEwNiw3IEBACiAgICAgZGVmIHRlc3Rfc3lzX21vZHVsZXMoc2VsZik6CiAgICAgICAgICMgSWYgYSBtb2R1bGUgd2l0aCBfX2xvYWRlcl9fIGlzIGluIHN5cy5tb2R1bGVzLCB0aGVuIHJldHVybiBpdC4KICAgICAgICAgbmFtZSA9ICdzb21lX21vZCcKLSAgICAgICAgd2l0aCB1dGlsLnVuY2FjaGUobmFtZSk6CisgICAgICAgIHdpdGggdGVzdF91dGlsLnVuY2FjaGUobmFtZSk6CiAgICAgICAgICAgICBtb2R1bGUgPSB0eXBlcy5Nb2R1bGVUeXBlKG5hbWUpCiAgICAgICAgICAgICBsb2FkZXIgPSAnYSBsb2FkZXIhJwogICAgICAgICAgICAgbW9kdWxlLl9fbG9hZGVyX18gPSBsb2FkZXIKQEAgLTEyMCw3ICsxMTksNyBAQAogICAgIGRlZiB0ZXN0X3N5c19tb2R1bGVzX2xvYWRlcl9pc19Ob25lKHNlbGYpOgogICAgICAgICAjIElmIHN5cy5tb2R1bGVzW25hbWVdLl9fbG9hZGVyX18gaXMgTm9uZSwgcmFpc2UgVmFsdWVFcnJvci4KICAgICAgICAgbmFtZSA9ICdzb21lX21vZCcKLSAgICAgICAgd2l0aCB1dGlsLnVuY2FjaGUobmFtZSk6CisgICAgICAgIHdpdGggdGVzdF91dGlsLnVuY2FjaGUobmFtZSk6CiAgICAgICAgICAgICBtb2R1bGUgPSB0eXBlcy5Nb2R1bGVUeXBlKG5hbWUpCiAgICAgICAgICAgICBtb2R1bGUuX19sb2FkZXJfXyA9IE5vbmUKICAgICAgICAgICAgIHN5cy5tb2R1bGVzW25hbWVdID0gbW9kdWxlCkBAIC0xMzMsNyArMTMyLDcgQEAKICAgICAgICAgIyBTaG91bGQgcmFpc2UgVmFsdWVFcnJvcgogICAgICAgICAjIElzc3VlICMxNzA5OQogICAgICAgICBuYW1lID0gJ3NvbWVfbW9kJwotICAgICAgICB3aXRoIHV0aWwudW5jYWNoZShuYW1lKToKKyAgICAgICAgd2l0aCB0ZXN0X3V0aWwudW5jYWNoZShuYW1lKToKICAgICAgICAgICAgIG1vZHVsZSA9IHR5cGVzLk1vZHVsZVR5cGUobmFtZSkKICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICBkZWwgbW9kdWxlLl9fbG9hZGVyX18KQEAgLTE0OCw4ICsxNDcsOCBAQAogICAgIGRlZiB0ZXN0X3N1Y2Nlc3Moc2VsZik6CiAgICAgICAgICMgUmV0dXJuIHRoZSBsb2FkZXIgZm91bmQgb24gc3lzLm1ldGFfcGF0aC4KICAgICAgICAgbmFtZSA9ICdzb21lX21vZCcKLSAgICAgICAgd2l0aCB1dGlsLnVuY2FjaGUobmFtZSk6Ci0gICAgICAgICAgICB3aXRoIHV0aWwuaW1wb3J0X3N0YXRlKG1ldGFfcGF0aD1bc2VsZi5GYWtlTWV0YUZpbmRlcl0pOgorICAgICAgICB3aXRoIHRlc3RfdXRpbC51bmNhY2hlKG5hbWUpOgorICAgICAgICAgICAgd2l0aCB0ZXN0X3V0aWwuaW1wb3J0X3N0YXRlKG1ldGFfcGF0aD1bc2VsZi5GYWtlTWV0YUZpbmRlcl0pOgogICAgICAgICAgICAgICAgIHdpdGggd2FybmluZ3MuY2F0Y2hfd2FybmluZ3MoKToKICAgICAgICAgICAgICAgICAgICAgd2FybmluZ3Muc2ltcGxlZmlsdGVyKCdpZ25vcmUnLCBEZXByZWNhdGlvbldhcm5pbmcpCiAgICAgICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoKG5hbWUsIE5vbmUpLCBzZWxmLmluaXQuZmluZF9sb2FkZXIobmFtZSkpCkBAIC0xNTgsOCArMTU3LDggQEAKICAgICAgICAgIyBTZWFyY2hpbmcgb24gYSBwYXRoIHNob3VsZCB3b3JrLgogICAgICAgICBuYW1lID0gJ3NvbWVfbW9kJwogICAgICAgICBwYXRoID0gJ3BhdGggdG8gc29tZSBwbGFjZScKLSAgICAgICAgd2l0aCB1dGlsLnVuY2FjaGUobmFtZSk6Ci0gICAgICAgICAgICB3aXRoIHV0aWwuaW1wb3J0X3N0YXRlKG1ldGFfcGF0aD1bc2VsZi5GYWtlTWV0YUZpbmRlcl0pOgorICAgICAgICB3aXRoIHRlc3RfdXRpbC51bmNhY2hlKG5hbWUpOgorICAgICAgICAgICAgd2l0aCB0ZXN0X3V0aWwuaW1wb3J0X3N0YXRlKG1ldGFfcGF0aD1bc2VsZi5GYWtlTWV0YUZpbmRlcl0pOgogICAgICAgICAgICAgICAgIHdpdGggd2FybmluZ3MuY2F0Y2hfd2FybmluZ3MoKToKICAgICAgICAgICAgICAgICAgICAgd2FybmluZ3Muc2ltcGxlZmlsdGVyKCdpZ25vcmUnLCBEZXByZWNhdGlvbldhcm5pbmcpCiAgICAgICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoKG5hbWUsIHBhdGgpLApAQCAtMTcxLDExICsxNzAsMTAgQEAKICAgICAgICAgICAgIHdhcm5pbmdzLnNpbXBsZWZpbHRlcignaWdub3JlJywgRGVwcmVjYXRpb25XYXJuaW5nKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUoc2VsZi5pbml0LmZpbmRfbG9hZGVyKCduZXZlcmdvaW5ndG9maW5kdGhpc21vZHVsZScpKQogCi1jbGFzcyBGcm96ZW5fRmluZExvYWRlclRlc3RzKEZpbmRMb2FkZXJUZXN0cywgdW5pdHRlc3QuVGVzdENhc2UpOgotICAgIGluaXQgPSBmcm96ZW5faW5pdAogCi1jbGFzcyBTb3VyY2VfRmluZExvYWRlclRlc3RzKEZpbmRMb2FkZXJUZXN0cywgdW5pdHRlc3QuVGVzdENhc2UpOgotICAgIGluaXQgPSBzb3VyY2VfaW5pdAorKEZyb3plbl9GaW5kTG9hZGVyVGVzdHMsCisgU291cmNlX0ZpbmRMb2FkZXJUZXN0cworICkgPSB0ZXN0X3V0aWwudGVzdF9ib3RoKEZpbmRMb2FkZXJUZXN0cywgaW5pdD1pbml0KQogCiAKIGNsYXNzIFJlbG9hZFRlc3RzOgpAQCAtMTk1LDEwICsxOTMsMTAgQEAKICAgICAgICAgICAgIG1vZHVsZSA9IHR5cGUoc3lzKSgndG9wX2xldmVsJykKICAgICAgICAgICAgIG1vZHVsZS5zcGFtID0gMwogICAgICAgICAgICAgc3lzLm1vZHVsZXNbJ3RvcF9sZXZlbCddID0gbW9kdWxlCi0gICAgICAgIG1vY2sgPSB1dGlsLm1vY2tfbW9kdWxlcygndG9wX2xldmVsJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vZHVsZV9jb2RlPXsndG9wX2xldmVsJzogY29kZX0pCisgICAgICAgIG1vY2sgPSB0ZXN0X3V0aWwubW9ja19tb2R1bGVzKCd0b3BfbGV2ZWwnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2R1bGVfY29kZT17J3RvcF9sZXZlbCc6IGNvZGV9KQogICAgICAgICB3aXRoIG1vY2s6Ci0gICAgICAgICAgICB3aXRoIHV0aWwuaW1wb3J0X3N0YXRlKG1ldGFfcGF0aD1bbW9ja10pOgorICAgICAgICAgICAgd2l0aCB0ZXN0X3V0aWwuaW1wb3J0X3N0YXRlKG1ldGFfcGF0aD1bbW9ja10pOgogICAgICAgICAgICAgICAgIG1vZHVsZSA9IHNlbGYuaW5pdC5pbXBvcnRfbW9kdWxlKCd0b3BfbGV2ZWwnKQogICAgICAgICAgICAgICAgIHJlbG9hZGVkID0gc2VsZi5pbml0LnJlbG9hZChtb2R1bGUpCiAgICAgICAgICAgICAgICAgYWN0dWFsID0gc3lzLm1vZHVsZXNbJ3RvcF9sZXZlbCddCkBAIC0yMzAsNyArMjI4LDcgQEAKICAgICBkZWYgdGVzdF9yZWxvYWRfbG9jYXRpb25fY2hhbmdlZChzZWxmKToKICAgICAgICAgbmFtZSA9ICdzcGFtJwogICAgICAgICB3aXRoIHN1cHBvcnQudGVtcF9jd2QoTm9uZSkgYXMgY3dkOgotICAgICAgICAgICAgd2l0aCB1dGlsLnVuY2FjaGUoJ3NwYW0nKToKKyAgICAgICAgICAgIHdpdGggdGVzdF91dGlsLnVuY2FjaGUoJ3NwYW0nKToKICAgICAgICAgICAgICAgICB3aXRoIHN1cHBvcnQuRGlyc09uU3lzUGF0aChjd2QpOgogICAgICAgICAgICAgICAgICAgICAjIFN0YXJ0IGFzIGEgcGxhaW4gbW9kdWxlLgogICAgICAgICAgICAgICAgICAgICBzZWxmLmluaXQuaW52YWxpZGF0ZV9jYWNoZXMoKQpAQCAtMjgxLDcgKzI3OSw3IEBACiAgICAgZGVmIHRlc3RfcmVsb2FkX25hbWVzcGFjZV9jaGFuZ2VkKHNlbGYpOgogICAgICAgICBuYW1lID0gJ3NwYW0nCiAgICAgICAgIHdpdGggc3VwcG9ydC50ZW1wX2N3ZChOb25lKSBhcyBjd2Q6Ci0gICAgICAgICAgICB3aXRoIHV0aWwudW5jYWNoZSgnc3BhbScpOgorICAgICAgICAgICAgd2l0aCB0ZXN0X3V0aWwudW5jYWNoZSgnc3BhbScpOgogICAgICAgICAgICAgICAgIHdpdGggc3VwcG9ydC5EaXJzT25TeXNQYXRoKGN3ZCk6CiAgICAgICAgICAgICAgICAgICAgICMgU3RhcnQgYXMgYSBuYW1lc3BhY2UgcGFja2FnZS4KICAgICAgICAgICAgICAgICAgICAgc2VsZi5pbml0LmludmFsaWRhdGVfY2FjaGVzKCkKQEAgLTMzOCwyMCArMzM2LDE2IEBACiAgICAgICAgICMgU2VlICMxOTg1MS4KICAgICAgICAgbmFtZSA9ICdzcGFtJwogICAgICAgICBzdWJuYW1lID0gJ2hhbScKLSAgICAgICAgd2l0aCB1dGlsLnRlbXBfbW9kdWxlKG5hbWUsIHBrZz1UcnVlKSBhcyBwa2dfZGlyOgotICAgICAgICAgICAgZnVsbG5hbWUsIF8gPSB1dGlsLnN1Ym1vZHVsZShuYW1lLCBzdWJuYW1lLCBwa2dfZGlyKQorICAgICAgICB3aXRoIHRlc3RfdXRpbC50ZW1wX21vZHVsZShuYW1lLCBwa2c9VHJ1ZSkgYXMgcGtnX2RpcjoKKyAgICAgICAgICAgIGZ1bGxuYW1lLCBfID0gdGVzdF91dGlsLnN1Ym1vZHVsZShuYW1lLCBzdWJuYW1lLCBwa2dfZGlyKQogICAgICAgICAgICAgaGFtID0gc2VsZi5pbml0LmltcG9ydF9tb2R1bGUoZnVsbG5hbWUpCiAgICAgICAgICAgICByZWxvYWRlZCA9IHNlbGYuaW5pdC5yZWxvYWQoaGFtKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRJcyhyZWxvYWRlZCwgaGFtKQogCiAKLWNsYXNzIEZyb3plbl9SZWxvYWRUZXN0cyhSZWxvYWRUZXN0cywgdW5pdHRlc3QuVGVzdENhc2UpOgotICAgIGluaXQgPSBmcm96ZW5faW5pdAotICAgIHV0aWwgPSBmcm96ZW5fdXRpbAotCi1jbGFzcyBTb3VyY2VfUmVsb2FkVGVzdHMoUmVsb2FkVGVzdHMsIHVuaXR0ZXN0LlRlc3RDYXNlKToKLSAgICBpbml0ID0gc291cmNlX2luaXQKLSAgICB1dGlsID0gc291cmNlX3V0aWwKKyhGcm96ZW5fUmVsb2FkVGVzdHMsCisgU291cmNlX1JlbG9hZFRlc3RzCisgKSA9IHRlc3RfdXRpbC50ZXN0X2JvdGgoUmVsb2FkVGVzdHMsIGluaXQ9aW5pdCwgdXRpbD11dGlsKQogCiAKIGNsYXNzIEludmFsaWRhdGVDYWNoZVRlc3RzOgpAQCAtMzg0LDExICszNzgsMTAgQEAKICAgICAgICAgc2VsZi5hZGRDbGVhbnVwKGxhbWJkYTogc3lzLnBhdGhfaW1wb3J0ZXJfY2FjaGUuX19kZWxpdGVtX18oa2V5KSkKICAgICAgICAgc2VsZi5pbml0LmludmFsaWRhdGVfY2FjaGVzKCkgICMgU2hvdWxkbid0IHRyaWdnZXIgYW4gZXhjZXB0aW9uLgogCi1jbGFzcyBGcm96ZW5fSW52YWxpZGF0ZUNhY2hlVGVzdHMoSW52YWxpZGF0ZUNhY2hlVGVzdHMsIHVuaXR0ZXN0LlRlc3RDYXNlKToKLSAgICBpbml0ID0gZnJvemVuX2luaXQKIAotY2xhc3MgU291cmNlX0ludmFsaWRhdGVDYWNoZVRlc3RzKEludmFsaWRhdGVDYWNoZVRlc3RzLCB1bml0dGVzdC5UZXN0Q2FzZSk6Ci0gICAgaW5pdCA9IHNvdXJjZV9pbml0CisoRnJvemVuX0ludmFsaWRhdGVDYWNoZVRlc3RzLAorIFNvdXJjZV9JbnZhbGlkYXRlQ2FjaGVUZXN0cworICkgPSB0ZXN0X3V0aWwudGVzdF9ib3RoKEludmFsaWRhdGVDYWNoZVRlc3RzLCBpbml0PWluaXQpCiAKIAogY2xhc3MgRnJvemVuSW1wb3J0bGliVGVzdHModW5pdHRlc3QuVGVzdENhc2UpOgpAQCAtMzk4LDYgKzM5MSw3IEBACiAgICAgICAgICMgQ2FuJ3QgZG8gYW4gaXNpbnN0YW5jZSgpIGNoZWNrIHNpbmNlIHNlcGFyYXRlIGNvcGllcyBvZiBpbXBvcnRsaWIKICAgICAgICAgIyBtYXkgaGF2ZSBiZWVuIHVzZWQgZm9yIGltcG9ydCwgc28ganVzdCBjaGVjayB0aGUgbmFtZSBpcyBub3QgZm9yIHRoZQogICAgICAgICAjIGZyb3plbiBsb2FkZXIuCisgICAgICAgIHNvdXJjZV9pbml0ID0gaW5pdFsnU291cmNlJ10KICAgICAgICAgc2VsZi5hc3NlcnROb3RFcXVhbChzb3VyY2VfaW5pdC5fX2xvYWRlcl9fLl9fY2xhc3NfXy5fX25hbWVfXywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRnJvemVuSW1wb3J0ZXInKQogCkBAIC00MjYsMTEgKzQyMCwxMCBAQAogICAgICAgICAgICAgICAgICAgICBlbGlmIHNlbGYubWFjaGluZXJ5LkZyb3plbkltcG9ydGVyLmZpbmRfbW9kdWxlKG5hbWUpOgogICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRJc05vdChtb2R1bGUuX19zcGVjX18sIE5vbmUpCiAKLWNsYXNzIEZyb3plbl9TdGFydHVwVGVzdHMoU3RhcnR1cFRlc3RzLCB1bml0dGVzdC5UZXN0Q2FzZSk6Ci0gICAgbWFjaGluZXJ5ID0gZnJvemVuX21hY2hpbmVyeQogCi1jbGFzcyBTb3VyY2VfU3RhcnR1cFRlc3RzKFN0YXJ0dXBUZXN0cywgdW5pdHRlc3QuVGVzdENhc2UpOgotICAgIG1hY2hpbmVyeSA9IHNvdXJjZV9tYWNoaW5lcnkKKyhGcm96ZW5fU3RhcnR1cFRlc3RzLAorIFNvdXJjZV9TdGFydHVwVGVzdHMKKyApID0gdGVzdF91dGlsLnRlc3RfYm90aChTdGFydHVwVGVzdHMsIG1hY2hpbmVyeT1tYWNoaW5lcnkpCiAKIAogaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL3Rlc3RfbGF6eS5weSBiL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL3Rlc3RfbGF6eS5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZTE5MWJiCi0tLSAvZGV2L251bGwKKysrIGIvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvdGVzdF9sYXp5LnB5CkBAIC0wLDAgKzEsMTMyIEBACitpbXBvcnQgaW1wb3J0bGliCitmcm9tIGltcG9ydGxpYiBpbXBvcnQgYWJjCitmcm9tIGltcG9ydGxpYiBpbXBvcnQgdXRpbAoraW1wb3J0IHVuaXR0ZXN0CisKK2Zyb20gLiBpbXBvcnQgdXRpbCBhcyB0ZXN0X3V0aWwKKworCitjbGFzcyBDb2xsZWN0SW5pdDoKKworICAgIGRlZiBfX2luaXRfXyhzZWxmLCAqYXJncywgKiprd2FyZ3MpOgorICAgICAgICBzZWxmLmFyZ3MgPSBhcmdzCisgICAgICAgIHNlbGYua3dhcmdzID0ga3dhcmdzCisKKyAgICBkZWYgZXhlY19tb2R1bGUoc2VsZiwgbW9kdWxlKToKKyAgICAgICAgcmV0dXJuIHNlbGYKKworCitjbGFzcyBMYXp5TG9hZGVyRmFjdG9yeVRlc3RzKHVuaXR0ZXN0LlRlc3RDYXNlKToKKworICAgIGRlZiB0ZXN0X2luaXQoc2VsZik6CisgICAgICAgIGZhY3RvcnkgPSB1dGlsLkxhenlMb2FkZXIuZmFjdG9yeShDb2xsZWN0SW5pdCkKKyAgICAgICAgIyBFLmcuIHdoYXQgaW1wb3J0bGliLm1hY2hpbmVyeS5GaWxlRmluZGVyIGluc3RhbnRpYXRlcyBsb2FkZXJzIHdpdGgKKyAgICAgICAgIyBwbHVzIGtleXdvcmQgYXJndW1lbnRzLgorICAgICAgICBsYXp5X2xvYWRlciA9IGZhY3RvcnkoJ21vZHVsZSBuYW1lJywgJ21vZHVsZSBwYXRoJywga3c9J2t3JykKKyAgICAgICAgbG9hZGVyID0gbGF6eV9sb2FkZXIubG9hZGVyCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoKCdtb2R1bGUgbmFtZScsICdtb2R1bGUgcGF0aCcpLCBsb2FkZXIuYXJncykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh7J2t3JzogJ2t3J30sIGxvYWRlci5rd2FyZ3MpCisKKyAgICBkZWYgdGVzdF92YWxpZGF0aW9uKHNlbGYpOgorICAgICAgICAjIE5vIGV4ZWNfbW9kdWxlKCksIG5vIGxhenkgbG9hZGluZy4KKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IpOgorICAgICAgICAgICAgdXRpbC5MYXp5TG9hZGVyLmZhY3Rvcnkob2JqZWN0KQorCisKK2NsYXNzIFRlc3RpbmdJbXBvcnRlcihhYmMuTWV0YVBhdGhGaW5kZXIsIGFiYy5Mb2FkZXIpOgorCisgICAgbW9kdWxlX25hbWUgPSAnbGF6eV9sb2FkZXJfdGVzdCcKKyAgICBtdXRhdGVkX25hbWUgPSAnY2hhbmdlZCcKKyAgICBsb2FkZWQgPSBOb25lCisgICAgc291cmNlX2NvZGUgPSAnYXR0ciA9IDQyOyBfX25hbWVfXyA9IHshcn0nLmZvcm1hdChtdXRhdGVkX25hbWUpCisKKyAgICBkZWYgZmluZF9zcGVjKHNlbGYsIG5hbWUsIHBhdGgsIHRhcmdldD1Ob25lKToKKyAgICAgICAgaWYgbmFtZSAhPSBzZWxmLm1vZHVsZV9uYW1lOgorICAgICAgICAgICAgcmV0dXJuIE5vbmUKKyAgICAgICAgcmV0dXJuIHV0aWwuc3BlY19mcm9tX2xvYWRlcihuYW1lLCB1dGlsLkxhenlMb2FkZXIoc2VsZikpCisKKyAgICBkZWYgZXhlY19tb2R1bGUoc2VsZiwgbW9kdWxlKToKKyAgICAgICAgZXhlYyhzZWxmLnNvdXJjZV9jb2RlLCBtb2R1bGUuX19kaWN0X18pCisgICAgICAgIHNlbGYubG9hZGVkID0gbW9kdWxlCisKKworY2xhc3MgTGF6eUxvYWRlclRlc3RzKHVuaXR0ZXN0LlRlc3RDYXNlKToKKworICAgIGRlZiB0ZXN0X2luaXQoc2VsZik6CisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yKToKKyAgICAgICAgICAgIHV0aWwuTGF6eUxvYWRlcihvYmplY3QpCisKKyAgICBkZWYgbmV3X21vZHVsZShzZWxmLCBzb3VyY2VfY29kZT1Ob25lKToKKyAgICAgICAgbG9hZGVyID0gVGVzdGluZ0ltcG9ydGVyKCkKKyAgICAgICAgaWYgc291cmNlX2NvZGUgaXMgbm90IE5vbmU6CisgICAgICAgICAgICBsb2FkZXIuc291cmNlX2NvZGUgPSBzb3VyY2VfY29kZQorICAgICAgICBzcGVjID0gdXRpbC5zcGVjX2Zyb21fbG9hZGVyKFRlc3RpbmdJbXBvcnRlci5tb2R1bGVfbmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1dGlsLkxhenlMb2FkZXIobG9hZGVyKSkKKyAgICAgICAgbW9kdWxlID0gc3BlYy5sb2FkZXIuY3JlYXRlX21vZHVsZShzcGVjKQorICAgICAgICBtb2R1bGUuX19zcGVjX18gPSBzcGVjCisgICAgICAgIG1vZHVsZS5fX2xvYWRlcl9fID0gc3BlYy5sb2FkZXIKKyAgICAgICAgc3BlYy5sb2FkZXIuZXhlY19tb2R1bGUobW9kdWxlKQorICAgICAgICAjIE1vZHVsZSBpcyBub3cgbGF6eS4KKyAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUobG9hZGVyLmxvYWRlZCkKKyAgICAgICAgcmV0dXJuIG1vZHVsZQorCisgICAgZGVmIHRlc3RfZTJlKHNlbGYpOgorICAgICAgICAjIEVuZC10by1lbmQgdGVzdCB0byB2ZXJpZnkgdGhlIGxvYWQgaXMgaW4gZmFjdCBsYXp5LgorICAgICAgICBpbXBvcnRlciA9IFRlc3RpbmdJbXBvcnRlcigpCisgICAgICAgIGFzc2VydCBpbXBvcnRlci5sb2FkZWQgaXMgTm9uZQorICAgICAgICB3aXRoIHRlc3RfdXRpbC51bmNhY2hlKGltcG9ydGVyLm1vZHVsZV9uYW1lKToKKyAgICAgICAgICAgIHdpdGggdGVzdF91dGlsLmltcG9ydF9zdGF0ZShtZXRhX3BhdGg9W2ltcG9ydGVyXSk6CisgICAgICAgICAgICAgICAgbW9kdWxlID0gaW1wb3J0bGliLmltcG9ydF9tb2R1bGUoaW1wb3J0ZXIubW9kdWxlX25hbWUpCisgICAgICAgIHNlbGYuYXNzZXJ0SXNOb25lKGltcG9ydGVyLmxvYWRlZCkKKyAgICAgICAgIyBUcmlnZ2VyIGxvYWQuCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobW9kdWxlLl9fbG9hZGVyX18sIGltcG9ydGVyKQorICAgICAgICBzZWxmLmFzc2VydElzTm90Tm9uZShpbXBvcnRlci5sb2FkZWQpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobW9kdWxlLCBpbXBvcnRlci5sb2FkZWQpCisKKyAgICBkZWYgdGVzdF9hdHRyX3VuY2hhbmdlZChzZWxmKToKKyAgICAgICAgIyBBbiBhdHRyaWJ1dGUgb25seSBtdXRhdGVkIGFzIGEgc2lkZS1lZmZlY3Qgb2YgaW1wb3J0IHNob3VsZCBub3QgYmUKKyAgICAgICAgIyBjaGFuZ2VkIG5lZWRsZXNzbHkuCisgICAgICAgIG1vZHVsZSA9IHNlbGYubmV3X21vZHVsZSgpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoVGVzdGluZ0ltcG9ydGVyLm11dGF0ZWRfbmFtZSwgbW9kdWxlLl9fbmFtZV9fKQorCisgICAgZGVmIHRlc3RfbmV3X2F0dHIoc2VsZik6CisgICAgICAgICMgQSBuZXcgYXR0cmlidXRlIHNob3VsZCBwZXJzaXN0LgorICAgICAgICBtb2R1bGUgPSBzZWxmLm5ld19tb2R1bGUoKQorICAgICAgICBtb2R1bGUubmV3X2F0dHIgPSA0MgorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKDQyLCBtb2R1bGUubmV3X2F0dHIpCisKKyAgICBkZWYgdGVzdF9tdXRhdGVkX3ByZWV4aXN0aW5nX2F0dHIoc2VsZik6CisgICAgICAgICMgQ2hhbmdpbmcgYW4gYXR0cmlidXRlIHRoYXQgYWxyZWFkeSBleGlzdGVkIG9uIHRoZSBtb2R1bGUgLS0KKyAgICAgICAgIyBlLmcuIF9fbmFtZV9fIC0tIHNob3VsZCBwZXJzaXN0LgorICAgICAgICBtb2R1bGUgPSBzZWxmLm5ld19tb2R1bGUoKQorICAgICAgICBtb2R1bGUuX19uYW1lX18gPSAnYm9ndXMnCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJ2JvZ3VzJywgbW9kdWxlLl9fbmFtZV9fKQorCisgICAgZGVmIHRlc3RfbXV0YXRlZF9hdHRyKHNlbGYpOgorICAgICAgICAjIENoYW5naW5nIGFuIGF0dHJpYnV0ZSB0aGF0IGNvbWVzIGludG8gZXhpc3RlbmNlIGFmdGVyIGFuIGltcG9ydAorICAgICAgICAjIHNob3VsZCBwZXJzaXN0LgorICAgICAgICBtb2R1bGUgPSBzZWxmLm5ld19tb2R1bGUoKQorICAgICAgICBtb2R1bGUuYXR0ciA9IDYKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCg2LCBtb2R1bGUuYXR0cikKKworICAgIGRlZiB0ZXN0X2RlbGV0ZV9ldmVudHVhbF9hdHRyKHNlbGYpOgorICAgICAgICAjIERlbGV0aW5nIGFuIGF0dHJpYnV0ZSBzaG91bGQgc3RheSBkZWxldGVkLgorICAgICAgICBtb2R1bGUgPSBzZWxmLm5ld19tb2R1bGUoKQorICAgICAgICBkZWwgbW9kdWxlLmF0dHIKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShoYXNhdHRyKG1vZHVsZSwgJ2F0dHInKSkKKworICAgIGRlZiB0ZXN0X2RlbGV0ZV9wcmVleGlzdGluZ19hdHRyKHNlbGYpOgorICAgICAgICBtb2R1bGUgPSBzZWxmLm5ld19tb2R1bGUoKQorICAgICAgICBkZWwgbW9kdWxlLl9fbmFtZV9fCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoaGFzYXR0cihtb2R1bGUsICdfX25hbWVfXycpKQorCisgICAgZGVmIHRlc3RfbW9kdWxlX3N1YnN0aXR1dGlvbl9lcnJvcihzZWxmKToKKyAgICAgICAgc291cmNlX2NvZGUgPSAnaW1wb3J0IHN5czsgc3lzLm1vZHVsZXNbX19uYW1lX19dID0gNDInCisgICAgICAgIG1vZHVsZSA9IHNlbGYubmV3X21vZHVsZShzb3VyY2VfY29kZSkKKyAgICAgICAgd2l0aCB0ZXN0X3V0aWwudW5jYWNoZShUZXN0aW5nSW1wb3J0ZXIubW9kdWxlX25hbWUpOgorICAgICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yKToKKyAgICAgICAgICAgICAgICBtb2R1bGUuX19uYW1lX18KKworCitpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgorICAgIHVuaXR0ZXN0Lm1haW4oKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvdGVzdF9sb2Nrcy5weSBiL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL3Rlc3RfbG9ja3MucHkKaW5kZXggZGM5N2JhMS4uZGYwYWYxMiAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvdGVzdF9sb2Nrcy5weQorKysgYi9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi90ZXN0X2xvY2tzLnB5CkBAIC0xLDcgKzEsNiBAQAotZnJvbSAuIGltcG9ydCB1dGlsCi1mcm96ZW5faW5pdCwgc291cmNlX2luaXQgPSB1dGlsLmltcG9ydF9pbXBvcnRsaWIoJ2ltcG9ydGxpYicpCi1mcm96ZW5fYm9vdHN0cmFwID0gZnJvemVuX2luaXQuX2Jvb3RzdHJhcAotc291cmNlX2Jvb3RzdHJhcCA9IHNvdXJjZV9pbml0Ll9ib290c3RyYXAKK2Zyb20gLiBpbXBvcnQgdXRpbCBhcyB0ZXN0X3V0aWwKKworaW5pdCA9IHRlc3RfdXRpbC5pbXBvcnRfaW1wb3J0bGliKCdpbXBvcnRsaWInKQogCiBpbXBvcnQgc3lzCiBpbXBvcnQgdGltZQpAQCAtMzIsMTQgKzMxLDIwIEBACiAgICAgICAgIHRlc3RfdGltZW91dCA9IE5vbmUKICAgICAgICAgIyBfcmVsZWFzZV9zYXZlKCkgdW5zdXBwb3J0ZWQKICAgICAgICAgdGVzdF9yZWxlYXNlX3NhdmVfdW5hY3F1aXJlZCA9IE5vbmUKKyAgICAgICAgIyBsb2NrIHN0YXR1cyBpbiByZXByIHVuc3VwcG9ydGVkCisgICAgICAgIHRlc3RfcmVwciA9IE5vbmUKKyAgICAgICAgdGVzdF9sb2NrZWRfcmVwciA9IE5vbmUKIAotICAgIGNsYXNzIEZyb3plbl9Nb2R1bGVMb2NrQXNSTG9ja1Rlc3RzKE1vZHVsZUxvY2tBc1JMb2NrVGVzdHMsIGxvY2tfdGVzdHMuUkxvY2tUZXN0cyk6Ci0gICAgICAgIExvY2tUeXBlID0gZnJvemVuX2Jvb3RzdHJhcC5fTW9kdWxlTG9jaworICAgIExPQ0tfVFlQRVMgPSB7a2luZDogc3BsaXRpbml0Ll9ib290c3RyYXAuX01vZHVsZUxvY2sKKyAgICAgICAgICAgICAgICAgIGZvciBraW5kLCBzcGxpdGluaXQgaW4gaW5pdC5pdGVtcygpfQogCi0gICAgY2xhc3MgU291cmNlX01vZHVsZUxvY2tBc1JMb2NrVGVzdHMoTW9kdWxlTG9ja0FzUkxvY2tUZXN0cywgbG9ja190ZXN0cy5STG9ja1Rlc3RzKToKLSAgICAgICAgTG9ja1R5cGUgPSBzb3VyY2VfYm9vdHN0cmFwLl9Nb2R1bGVMb2NrCi0KKyAgICAoRnJvemVuX01vZHVsZUxvY2tBc1JMb2NrVGVzdHMsCisgICAgIFNvdXJjZV9Nb2R1bGVMb2NrQXNSTG9ja1Rlc3RzCisgICAgICkgPSB0ZXN0X3V0aWwudGVzdF9ib3RoKE1vZHVsZUxvY2tBc1JMb2NrVGVzdHMsIGxvY2tfdGVzdHMuUkxvY2tUZXN0cywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9ja1R5cGU9TE9DS19UWVBFUykKIGVsc2U6CisgICAgTE9DS19UWVBFUyA9IHt9CisKICAgICBjbGFzcyBGcm96ZW5fTW9kdWxlTG9ja0FzUkxvY2tUZXN0cyh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgIHBhc3MKIApAQCAtNDcsNzggKzUyLDk0IEBACiAgICAgICAgIHBhc3MKIAogCi1jbGFzcyBEZWFkbG9ja0F2b2lkYW5jZVRlc3RzOgoraWYgdGhyZWFkaW5nIGlzIG5vdCBOb25lOgorICAgIGNsYXNzIERlYWRsb2NrQXZvaWRhbmNlVGVzdHM6CiAKLSAgICBkZWYgc2V0VXAoc2VsZik6Ci0gICAgICAgIHRyeToKLSAgICAgICAgICAgIHNlbGYub2xkX3N3aXRjaGludGVydmFsID0gc3lzLmdldHN3aXRjaGludGVydmFsKCkKLSAgICAgICAgICAgIHN5cy5zZXRzd2l0Y2hpbnRlcnZhbCgwLjAwMDAwMSkKLSAgICAgICAgZXhjZXB0IEF0dHJpYnV0ZUVycm9yOgotICAgICAgICAgICAgc2VsZi5vbGRfc3dpdGNoaW50ZXJ2YWwgPSBOb25lCi0KLSAgICBkZWYgdGVhckRvd24oc2VsZik6Ci0gICAgICAgIGlmIHNlbGYub2xkX3N3aXRjaGludGVydmFsIGlzIG5vdCBOb25lOgotICAgICAgICAgICAgc3lzLnNldHN3aXRjaGludGVydmFsKHNlbGYub2xkX3N3aXRjaGludGVydmFsKQotCi0gICAgZGVmIHJ1bl9kZWFkbG9ja19hdm9pZGFuY2VfdGVzdChzZWxmLCBjcmVhdGVfZGVhZGxvY2spOgotICAgICAgICBOTE9DS1MgPSAxMAotICAgICAgICBsb2NrcyA9IFtzZWxmLkxvY2tUeXBlKHN0cihpKSkgZm9yIGkgaW4gcmFuZ2UoTkxPQ0tTKV0KLSAgICAgICAgcGFpcnMgPSBbKGxvY2tzW2ldLCBsb2Nrc1soaSsxKSVOTE9DS1NdKSBmb3IgaSBpbiByYW5nZShOTE9DS1MpXQotICAgICAgICBpZiBjcmVhdGVfZGVhZGxvY2s6Ci0gICAgICAgICAgICBOVEhSRUFEUyA9IE5MT0NLUwotICAgICAgICBlbHNlOgotICAgICAgICAgICAgTlRIUkVBRFMgPSBOTE9DS1MgLSAxCi0gICAgICAgIGJhcnJpZXIgPSB0aHJlYWRpbmcuQmFycmllcihOVEhSRUFEUykKLSAgICAgICAgcmVzdWx0cyA9IFtdCi0gICAgICAgIGRlZiBfYWNxdWlyZShsb2NrKToKLSAgICAgICAgICAgICIiIlRyeSB0byBhY3F1aXJlIHRoZSBsb2NrLiBSZXR1cm4gVHJ1ZSBvbiBzdWNjZXNzLCBGYWxzZSBvbiBkZWFkbG9jay4iIiIKKyAgICAgICAgZGVmIHNldFVwKHNlbGYpOgogICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgIGxvY2suYWNxdWlyZSgpCi0gICAgICAgICAgICBleGNlcHQgc2VsZi5EZWFkbG9ja0Vycm9yOgotICAgICAgICAgICAgICAgIHJldHVybiBGYWxzZQorICAgICAgICAgICAgICAgIHNlbGYub2xkX3N3aXRjaGludGVydmFsID0gc3lzLmdldHN3aXRjaGludGVydmFsKCkKKyAgICAgICAgICAgICAgICBzeXMuc2V0c3dpdGNoaW50ZXJ2YWwoMC4wMDAwMDEpCisgICAgICAgICAgICBleGNlcHQgQXR0cmlidXRlRXJyb3I6CisgICAgICAgICAgICAgICAgc2VsZi5vbGRfc3dpdGNoaW50ZXJ2YWwgPSBOb25lCisKKyAgICAgICAgZGVmIHRlYXJEb3duKHNlbGYpOgorICAgICAgICAgICAgaWYgc2VsZi5vbGRfc3dpdGNoaW50ZXJ2YWwgaXMgbm90IE5vbmU6CisgICAgICAgICAgICAgICAgc3lzLnNldHN3aXRjaGludGVydmFsKHNlbGYub2xkX3N3aXRjaGludGVydmFsKQorCisgICAgICAgIGRlZiBydW5fZGVhZGxvY2tfYXZvaWRhbmNlX3Rlc3Qoc2VsZiwgY3JlYXRlX2RlYWRsb2NrKToKKyAgICAgICAgICAgIE5MT0NLUyA9IDEwCisgICAgICAgICAgICBsb2NrcyA9IFtzZWxmLkxvY2tUeXBlKHN0cihpKSkgZm9yIGkgaW4gcmFuZ2UoTkxPQ0tTKV0KKyAgICAgICAgICAgIHBhaXJzID0gWyhsb2Nrc1tpXSwgbG9ja3NbKGkrMSklTkxPQ0tTXSkgZm9yIGkgaW4gcmFuZ2UoTkxPQ0tTKV0KKyAgICAgICAgICAgIGlmIGNyZWF0ZV9kZWFkbG9jazoKKyAgICAgICAgICAgICAgICBOVEhSRUFEUyA9IE5MT0NLUwogICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICByZXR1cm4gVHJ1ZQotICAgICAgICBkZWYgZigpOgotICAgICAgICAgICAgYSwgYiA9IHBhaXJzLnBvcCgpCi0gICAgICAgICAgICByYSA9IF9hY3F1aXJlKGEpCi0gICAgICAgICAgICBiYXJyaWVyLndhaXQoKQotICAgICAgICAgICAgcmIgPSBfYWNxdWlyZShiKQotICAgICAgICAgICAgcmVzdWx0cy5hcHBlbmQoKHJhLCByYikpCi0gICAgICAgICAgICBpZiByYjoKLSAgICAgICAgICAgICAgICBiLnJlbGVhc2UoKQotICAgICAgICAgICAgaWYgcmE6Ci0gICAgICAgICAgICAgICAgYS5yZWxlYXNlKCkKLSAgICAgICAgbG9ja190ZXN0cy5CdW5jaChmLCBOVEhSRUFEUykud2FpdF9mb3JfZmluaXNoZWQoKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihyZXN1bHRzKSwgTlRIUkVBRFMpCi0gICAgICAgIHJldHVybiByZXN1bHRzCisgICAgICAgICAgICAgICAgTlRIUkVBRFMgPSBOTE9DS1MgLSAxCisgICAgICAgICAgICBiYXJyaWVyID0gdGhyZWFkaW5nLkJhcnJpZXIoTlRIUkVBRFMpCisgICAgICAgICAgICByZXN1bHRzID0gW10KIAotICAgIGRlZiB0ZXN0X2RlYWRsb2NrKHNlbGYpOgotICAgICAgICByZXN1bHRzID0gc2VsZi5ydW5fZGVhZGxvY2tfYXZvaWRhbmNlX3Rlc3QoVHJ1ZSkKLSAgICAgICAgIyBBdCBsZWFzdCBvbmUgb2YgdGhlIHRocmVhZHMgZGV0ZWN0ZWQgYSBwb3RlbnRpYWwgZGVhZGxvY2sgb24gaXRzCi0gICAgICAgICMgc2Vjb25kIGFjcXVpcmUoKSBjYWxsLiAgSXQgbWF5IGJlIHNldmVyYWwgb2YgdGhlbSwgYmVjYXVzZSB0aGUKLSAgICAgICAgIyBkZWFkbG9jayBhdm9pZGFuY2UgbWVjaGFuaXNtIGlzIGNvbnNlcnZhdGl2ZS4KLSAgICAgICAgbmJfZGVhZGxvY2tzID0gcmVzdWx0cy5jb3VudCgoVHJ1ZSwgRmFsc2UpKQotICAgICAgICBzZWxmLmFzc2VydEdyZWF0ZXJFcXVhbChuYl9kZWFkbG9ja3MsIDEpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVzdWx0cy5jb3VudCgoVHJ1ZSwgVHJ1ZSkpLCBsZW4ocmVzdWx0cykgLSBuYl9kZWFkbG9ja3MpCisgICAgICAgICAgICBkZWYgX2FjcXVpcmUobG9jayk6CisgICAgICAgICAgICAgICAgIiIiVHJ5IHRvIGFjcXVpcmUgdGhlIGxvY2suIFJldHVybiBUcnVlIG9uIHN1Y2Nlc3MsCisgICAgICAgICAgICAgICAgRmFsc2Ugb24gZGVhZGxvY2suIiIiCisgICAgICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgICAgICBsb2NrLmFjcXVpcmUoKQorICAgICAgICAgICAgICAgIGV4Y2VwdCBzZWxmLkRlYWRsb2NrRXJyb3I6CisgICAgICAgICAgICAgICAgICAgIHJldHVybiBGYWxzZQorICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgIHJldHVybiBUcnVlCiAKLSAgICBkZWYgdGVzdF9ub19kZWFkbG9jayhzZWxmKToKLSAgICAgICAgcmVzdWx0cyA9IHNlbGYucnVuX2RlYWRsb2NrX2F2b2lkYW5jZV90ZXN0KEZhbHNlKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlc3VsdHMuY291bnQoKFRydWUsIEZhbHNlKSksIDApCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVzdWx0cy5jb3VudCgoVHJ1ZSwgVHJ1ZSkpLCBsZW4ocmVzdWx0cykpCisgICAgICAgICAgICBkZWYgZigpOgorICAgICAgICAgICAgICAgIGEsIGIgPSBwYWlycy5wb3AoKQorICAgICAgICAgICAgICAgIHJhID0gX2FjcXVpcmUoYSkKKyAgICAgICAgICAgICAgICBiYXJyaWVyLndhaXQoKQorICAgICAgICAgICAgICAgIHJiID0gX2FjcXVpcmUoYikKKyAgICAgICAgICAgICAgICByZXN1bHRzLmFwcGVuZCgocmEsIHJiKSkKKyAgICAgICAgICAgICAgICBpZiByYjoKKyAgICAgICAgICAgICAgICAgICAgYi5yZWxlYXNlKCkKKyAgICAgICAgICAgICAgICBpZiByYToKKyAgICAgICAgICAgICAgICAgICAgYS5yZWxlYXNlKCkKKyAgICAgICAgICAgIGxvY2tfdGVzdHMuQnVuY2goZiwgTlRIUkVBRFMpLndhaXRfZm9yX2ZpbmlzaGVkKCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKHJlc3VsdHMpLCBOVEhSRUFEUykKKyAgICAgICAgICAgIHJldHVybiByZXN1bHRzCiAKLUB1bml0dGVzdC5za2lwVW5sZXNzKHRocmVhZGluZywgInRocmVhZHMgbmVlZGVkIGZvciB0aGlzIHRlc3QiKQotY2xhc3MgRnJvemVuX0RlYWRsb2NrQXZvaWRhbmNlVGVzdHMoRGVhZGxvY2tBdm9pZGFuY2VUZXN0cywgdW5pdHRlc3QuVGVzdENhc2UpOgotICAgIExvY2tUeXBlID0gZnJvemVuX2Jvb3RzdHJhcC5fTW9kdWxlTG9jawotICAgIERlYWRsb2NrRXJyb3IgPSBmcm96ZW5fYm9vdHN0cmFwLl9EZWFkbG9ja0Vycm9yCisgICAgICAgIGRlZiB0ZXN0X2RlYWRsb2NrKHNlbGYpOgorICAgICAgICAgICAgcmVzdWx0cyA9IHNlbGYucnVuX2RlYWRsb2NrX2F2b2lkYW5jZV90ZXN0KFRydWUpCisgICAgICAgICAgICAjIEF0IGxlYXN0IG9uZSBvZiB0aGUgdGhyZWFkcyBkZXRlY3RlZCBhIHBvdGVudGlhbCBkZWFkbG9jayBvbiBpdHMKKyAgICAgICAgICAgICMgc2Vjb25kIGFjcXVpcmUoKSBjYWxsLiAgSXQgbWF5IGJlIHNldmVyYWwgb2YgdGhlbSwgYmVjYXVzZSB0aGUKKyAgICAgICAgICAgICMgZGVhZGxvY2sgYXZvaWRhbmNlIG1lY2hhbmlzbSBpcyBjb25zZXJ2YXRpdmUuCisgICAgICAgICAgICBuYl9kZWFkbG9ja3MgPSByZXN1bHRzLmNvdW50KChUcnVlLCBGYWxzZSkpCisgICAgICAgICAgICBzZWxmLmFzc2VydEdyZWF0ZXJFcXVhbChuYl9kZWFkbG9ja3MsIDEpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlc3VsdHMuY291bnQoKFRydWUsIFRydWUpKSwgbGVuKHJlc3VsdHMpIC0gbmJfZGVhZGxvY2tzKQogCi1AdW5pdHRlc3Quc2tpcFVubGVzcyh0aHJlYWRpbmcsICJ0aHJlYWRzIG5lZWRlZCBmb3IgdGhpcyB0ZXN0IikKLWNsYXNzIFNvdXJjZV9EZWFkbG9ja0F2b2lkYW5jZVRlc3RzKERlYWRsb2NrQXZvaWRhbmNlVGVzdHMsIHVuaXR0ZXN0LlRlc3RDYXNlKToKLSAgICBMb2NrVHlwZSA9IHNvdXJjZV9ib290c3RyYXAuX01vZHVsZUxvY2sKLSAgICBEZWFkbG9ja0Vycm9yID0gc291cmNlX2Jvb3RzdHJhcC5fRGVhZGxvY2tFcnJvcgorICAgICAgICBkZWYgdGVzdF9ub19kZWFkbG9jayhzZWxmKToKKyAgICAgICAgICAgIHJlc3VsdHMgPSBzZWxmLnJ1bl9kZWFkbG9ja19hdm9pZGFuY2VfdGVzdChGYWxzZSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVzdWx0cy5jb3VudCgoVHJ1ZSwgRmFsc2UpKSwgMCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVzdWx0cy5jb3VudCgoVHJ1ZSwgVHJ1ZSkpLCBsZW4ocmVzdWx0cykpCisKKworICAgIERFQURMT0NLX0VSUk9SUyA9IHtraW5kOiBzcGxpdGluaXQuX2Jvb3RzdHJhcC5fRGVhZGxvY2tFcnJvcgorICAgICAgICAgICAgICAgICAgICAgICBmb3Iga2luZCwgc3BsaXRpbml0IGluIGluaXQuaXRlbXMoKX0KKworICAgIChGcm96ZW5fRGVhZGxvY2tBdm9pZGFuY2VUZXN0cywKKyAgICAgU291cmNlX0RlYWRsb2NrQXZvaWRhbmNlVGVzdHMKKyAgICAgKSA9IHRlc3RfdXRpbC50ZXN0X2JvdGgoRGVhZGxvY2tBdm9pZGFuY2VUZXN0cywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9ja1R5cGU9TE9DS19UWVBFUywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVhZGxvY2tFcnJvcj1ERUFETE9DS19FUlJPUlMpCitlbHNlOgorICAgIERFQURMT0NLX0VSUk9SUyA9IHt9CisKKyAgICBjbGFzcyBGcm96ZW5fRGVhZGxvY2tBdm9pZGFuY2VUZXN0cyh1bml0dGVzdC5UZXN0Q2FzZSk6CisgICAgICAgIHBhc3MKKworICAgIGNsYXNzIFNvdXJjZV9EZWFkbG9ja0F2b2lkYW5jZVRlc3RzKHVuaXR0ZXN0LlRlc3RDYXNlKToKKyAgICAgICAgcGFzcwogCiAKIGNsYXNzIExpZmV0aW1lVGVzdHM6CiAKKyAgICBAcHJvcGVydHkKKyAgICBkZWYgYm9vdHN0cmFwKHNlbGYpOgorICAgICAgICByZXR1cm4gc2VsZi5pbml0Ll9ib290c3RyYXAKKwogICAgIGRlZiB0ZXN0X2xvY2tfbGlmZXRpbWUoc2VsZik6CiAgICAgICAgIG5hbWUgPSAieHl6enkiCiAgICAgICAgIHNlbGYuYXNzZXJ0Tm90SW4obmFtZSwgc2VsZi5ib290c3RyYXAuX21vZHVsZV9sb2NrcykKQEAgLTEzNSwxMSArMTU2LDEwIEBACiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoMCwgbGVuKHNlbGYuYm9vdHN0cmFwLl9tb2R1bGVfbG9ja3MpLAogICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuYm9vdHN0cmFwLl9tb2R1bGVfbG9ja3MpCiAKLWNsYXNzIEZyb3plbl9MaWZldGltZVRlc3RzKExpZmV0aW1lVGVzdHMsIHVuaXR0ZXN0LlRlc3RDYXNlKToKLSAgICBib290c3RyYXAgPSBmcm96ZW5fYm9vdHN0cmFwCiAKLWNsYXNzIFNvdXJjZV9MaWZldGltZVRlc3RzKExpZmV0aW1lVGVzdHMsIHVuaXR0ZXN0LlRlc3RDYXNlKToKLSAgICBib290c3RyYXAgPSBzb3VyY2VfYm9vdHN0cmFwCisoRnJvemVuX0xpZmV0aW1lVGVzdHMsCisgU291cmNlX0xpZmV0aW1lVGVzdHMKKyApID0gdGVzdF91dGlsLnRlc3RfYm90aChMaWZldGltZVRlc3RzLCBpbml0PWluaXQpCiAKIAogQHN1cHBvcnQucmVhcF90aHJlYWRzCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi90ZXN0X3NwZWMucHkgYi9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi90ZXN0X3NwZWMucHkKaW5kZXggNzE1NDFmNi4uOGIzMzNlOCAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvdGVzdF9zcGVjLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL3Rlc3Rfc3BlYy5weQpAQCAtMSwxMCArMSw4IEBACi1mcm9tIC4gaW1wb3J0IHV0aWwKK2Zyb20gLiBpbXBvcnQgdXRpbCBhcyB0ZXN0X3V0aWwKIAotZnJvemVuX2luaXQsIHNvdXJjZV9pbml0ID0gdXRpbC5pbXBvcnRfaW1wb3J0bGliKCdpbXBvcnRsaWInKQotZnJvemVuX2Jvb3RzdHJhcCA9IGZyb3plbl9pbml0Ll9ib290c3RyYXAKLXNvdXJjZV9ib290c3RyYXAgPSBzb3VyY2VfaW5pdC5fYm9vdHN0cmFwCi1mcm96ZW5fbWFjaGluZXJ5LCBzb3VyY2VfbWFjaGluZXJ5ID0gdXRpbC5pbXBvcnRfaW1wb3J0bGliKCdpbXBvcnRsaWIubWFjaGluZXJ5JykKLWZyb3plbl91dGlsLCBzb3VyY2VfdXRpbCA9IHV0aWwuaW1wb3J0X2ltcG9ydGxpYignaW1wb3J0bGliLnV0aWwnKQoraW5pdCA9IHRlc3RfdXRpbC5pbXBvcnRfaW1wb3J0bGliKCdpbXBvcnRsaWInKQorbWFjaGluZXJ5ID0gdGVzdF91dGlsLmltcG9ydF9pbXBvcnRsaWIoJ2ltcG9ydGxpYi5tYWNoaW5lcnknKQordXRpbCA9IHRlc3RfdXRpbC5pbXBvcnRfaW1wb3J0bGliKCdpbXBvcnRsaWIudXRpbCcpCiAKIGltcG9ydCBvcy5wYXRoCiBmcm9tIHRlc3Quc3VwcG9ydCBpbXBvcnQgQ2xlYW5JbXBvcnQKQEAgLTM2LDYgKzM0LDkgQEAKICAgICBkZWYgX2lzX3BhY2thZ2Uoc2VsZiwgbmFtZSk6CiAgICAgICAgIHJldHVybiBzZWxmLnBhY2thZ2UKIAorICAgIGRlZiBjcmVhdGVfbW9kdWxlKHNlbGYsIHNwZWMpOgorICAgICAgICByZXR1cm4gTm9uZQorCiAKIGNsYXNzIE5ld0xvYWRlcihUZXN0TG9hZGVyKToKIApAQCAtNTIsNiArNTMsOCBAQAogICAgIHdpdGggd2FybmluZ3MuY2F0Y2hfd2FybmluZ3MoKToKICAgICAgICAgd2FybmluZ3Muc2ltcGxlZmlsdGVyKCJpZ25vcmUiLCBEZXByZWNhdGlvbldhcm5pbmcpCiAKKyAgICAgICAgZnJvemVuX3V0aWwgPSB1dGlsWydGcm96ZW4nXQorCiAgICAgICAgIEBmcm96ZW5fdXRpbC5tb2R1bGVfZm9yX2xvYWRlcgogICAgICAgICBkZWYgbG9hZF9tb2R1bGUoc2VsZiwgbW9kdWxlKToKICAgICAgICAgICAgIG1vZHVsZS5oYW0gPSBzZWxmLkhBTQpAQCAtMjIxLDE4ICsyMjQsMTcgQEAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLmxvY19zcGVjLmNhY2hlZCwgJ3NwYW0ucHljJykKIAogCi1jbGFzcyBGcm96ZW5fTW9kdWxlU3BlY1Rlc3RzKE1vZHVsZVNwZWNUZXN0cywgdW5pdHRlc3QuVGVzdENhc2UpOgotICAgIHV0aWwgPSBmcm96ZW5fdXRpbAotICAgIG1hY2hpbmVyeSA9IGZyb3plbl9tYWNoaW5lcnkKLQotCi1jbGFzcyBTb3VyY2VfTW9kdWxlU3BlY1Rlc3RzKE1vZHVsZVNwZWNUZXN0cywgdW5pdHRlc3QuVGVzdENhc2UpOgotICAgIHV0aWwgPSBzb3VyY2VfdXRpbAotICAgIG1hY2hpbmVyeSA9IHNvdXJjZV9tYWNoaW5lcnkKKyhGcm96ZW5fTW9kdWxlU3BlY1Rlc3RzLAorIFNvdXJjZV9Nb2R1bGVTcGVjVGVzdHMKKyApID0gdGVzdF91dGlsLnRlc3RfYm90aChNb2R1bGVTcGVjVGVzdHMsIHV0aWw9dXRpbCwgbWFjaGluZXJ5PW1hY2hpbmVyeSkKIAogCiBjbGFzcyBNb2R1bGVTcGVjTWV0aG9kc1Rlc3RzOgogCisgICAgQHByb3BlcnR5CisgICAgZGVmIGJvb3RzdHJhcChzZWxmKToKKyAgICAgICAgcmV0dXJuIHNlbGYuaW5pdC5fYm9vdHN0cmFwCisKICAgICBkZWYgc2V0VXAoc2VsZik6CiAgICAgICAgIHNlbGYubmFtZSA9ICdzcGFtJwogICAgICAgICBzZWxmLnBhdGggPSAnc3BhbS5weScKQEAgLTI0MywxNTIgKzI0NSwxNCBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcmlnaW49c2VsZi5wYXRoKQogICAgICAgICBzZWxmLmxvY19zcGVjLl9zZXRfZmlsZWF0dHIgPSBUcnVlCiAKLSAgICAjIGluaXRfbW9kdWxlX2F0dHJzCi0KLSAgICBkZWYgdGVzdF9pbml0X21vZHVsZV9hdHRycyhzZWxmKToKLSAgICAgICAgbW9kdWxlID0gdHlwZShzeXMpKHNlbGYubmFtZSkKLSAgICAgICAgc3BlYyA9IHNlbGYubWFjaGluZXJ5Lk1vZHVsZVNwZWMoc2VsZi5uYW1lLCBzZWxmLmxvYWRlcikKLSAgICAgICAgc2VsZi5ib290c3RyYXAuX1NwZWNNZXRob2RzKHNwZWMpLmluaXRfbW9kdWxlX2F0dHJzKG1vZHVsZSkKLQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1vZHVsZS5fX25hbWVfXywgc3BlYy5uYW1lKQotICAgICAgICBzZWxmLmFzc2VydElzKG1vZHVsZS5fX2xvYWRlcl9fLCBzcGVjLmxvYWRlcikKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtb2R1bGUuX19wYWNrYWdlX18sIHNwZWMucGFyZW50KQotICAgICAgICBzZWxmLmFzc2VydElzKG1vZHVsZS5fX3NwZWNfXywgc3BlYykKLSAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShoYXNhdHRyKG1vZHVsZSwgJ19fcGF0aF9fJykpCi0gICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoaGFzYXR0cihtb2R1bGUsICdfX2ZpbGVfXycpKQotICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGhhc2F0dHIobW9kdWxlLCAnX19jYWNoZWRfXycpKQotCi0gICAgZGVmIHRlc3RfaW5pdF9tb2R1bGVfYXR0cnNfcGFja2FnZShzZWxmKToKLSAgICAgICAgbW9kdWxlID0gdHlwZShzeXMpKHNlbGYubmFtZSkKLSAgICAgICAgc3BlYyA9IHNlbGYubWFjaGluZXJ5Lk1vZHVsZVNwZWMoc2VsZi5uYW1lLCBzZWxmLmxvYWRlcikKLSAgICAgICAgc3BlYy5zdWJtb2R1bGVfc2VhcmNoX2xvY2F0aW9ucyA9IFsnc3BhbScsICdoYW0nXQotICAgICAgICBzZWxmLmJvb3RzdHJhcC5fU3BlY01ldGhvZHMoc3BlYykuaW5pdF9tb2R1bGVfYXR0cnMobW9kdWxlKQotCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobW9kdWxlLl9fbmFtZV9fLCBzcGVjLm5hbWUpCi0gICAgICAgIHNlbGYuYXNzZXJ0SXMobW9kdWxlLl9fbG9hZGVyX18sIHNwZWMubG9hZGVyKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1vZHVsZS5fX3BhY2thZ2VfXywgc3BlYy5wYXJlbnQpCi0gICAgICAgIHNlbGYuYXNzZXJ0SXMobW9kdWxlLl9fc3BlY19fLCBzcGVjKQotICAgICAgICBzZWxmLmFzc2VydElzKG1vZHVsZS5fX3BhdGhfXywgc3BlYy5zdWJtb2R1bGVfc2VhcmNoX2xvY2F0aW9ucykKLSAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShoYXNhdHRyKG1vZHVsZSwgJ19fZmlsZV9fJykpCi0gICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoaGFzYXR0cihtb2R1bGUsICdfX2NhY2hlZF9fJykpCi0KLSAgICBkZWYgdGVzdF9pbml0X21vZHVsZV9hdHRyc19sb2NhdGlvbihzZWxmKToKLSAgICAgICAgbW9kdWxlID0gdHlwZShzeXMpKHNlbGYubmFtZSkKLSAgICAgICAgc3BlYyA9IHNlbGYubG9jX3NwZWMKLSAgICAgICAgc2VsZi5ib290c3RyYXAuX1NwZWNNZXRob2RzKHNwZWMpLmluaXRfbW9kdWxlX2F0dHJzKG1vZHVsZSkKLQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1vZHVsZS5fX25hbWVfXywgc3BlYy5uYW1lKQotICAgICAgICBzZWxmLmFzc2VydElzKG1vZHVsZS5fX2xvYWRlcl9fLCBzcGVjLmxvYWRlcikKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtb2R1bGUuX19wYWNrYWdlX18sIHNwZWMucGFyZW50KQotICAgICAgICBzZWxmLmFzc2VydElzKG1vZHVsZS5fX3NwZWNfXywgc3BlYykKLSAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShoYXNhdHRyKG1vZHVsZSwgJ19fcGF0aF9fJykpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobW9kdWxlLl9fZmlsZV9fLCBzcGVjLm9yaWdpbikKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtb2R1bGUuX19jYWNoZWRfXywKLSAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnV0aWwuY2FjaGVfZnJvbV9zb3VyY2Uoc3BlYy5vcmlnaW4pKQotCi0gICAgZGVmIHRlc3RfaW5pdF9tb2R1bGVfYXR0cnNfZGlmZmVyZW50X25hbWUoc2VsZik6Ci0gICAgICAgIG1vZHVsZSA9IHR5cGUoc3lzKSgnZWdncycpCi0gICAgICAgIHNwZWMgPSBzZWxmLm1hY2hpbmVyeS5Nb2R1bGVTcGVjKHNlbGYubmFtZSwgc2VsZi5sb2FkZXIpCi0gICAgICAgIHNlbGYuYm9vdHN0cmFwLl9TcGVjTWV0aG9kcyhzcGVjKS5pbml0X21vZHVsZV9hdHRycyhtb2R1bGUpCi0KLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtb2R1bGUuX19uYW1lX18sIHNwZWMubmFtZSkKLQotICAgIGRlZiB0ZXN0X2luaXRfbW9kdWxlX2F0dHJzX2RpZmZlcmVudF9zcGVjKHNlbGYpOgotICAgICAgICBtb2R1bGUgPSB0eXBlKHN5cykoc2VsZi5uYW1lKQotICAgICAgICBtb2R1bGUuX19zcGVjX18gPSBzZWxmLm1hY2hpbmVyeS5Nb2R1bGVTcGVjKCdlZ2dzJywgb2JqZWN0KCkpCi0gICAgICAgIHNwZWMgPSBzZWxmLm1hY2hpbmVyeS5Nb2R1bGVTcGVjKHNlbGYubmFtZSwgc2VsZi5sb2FkZXIpCi0gICAgICAgIHNlbGYuYm9vdHN0cmFwLl9TcGVjTWV0aG9kcyhzcGVjKS5pbml0X21vZHVsZV9hdHRycyhtb2R1bGUpCi0KLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtb2R1bGUuX19uYW1lX18sIHNwZWMubmFtZSkKLSAgICAgICAgc2VsZi5hc3NlcnRJcyhtb2R1bGUuX19sb2FkZXJfXywgc3BlYy5sb2FkZXIpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobW9kdWxlLl9fcGFja2FnZV9fLCBzcGVjLnBhcmVudCkKLSAgICAgICAgc2VsZi5hc3NlcnRJcyhtb2R1bGUuX19zcGVjX18sIHNwZWMpCi0KLSAgICBkZWYgdGVzdF9pbml0X21vZHVsZV9hdHRyc19hbHJlYWR5X3NldChzZWxmKToKLSAgICAgICAgbW9kdWxlID0gdHlwZShzeXMpKCdoYW0uZWdncycpCi0gICAgICAgIG1vZHVsZS5fX2xvYWRlcl9fID0gb2JqZWN0KCkKLSAgICAgICAgbW9kdWxlLl9fcGFja2FnZV9fID0gJ2hhbScKLSAgICAgICAgbW9kdWxlLl9fcGF0aF9fID0gWydlZ2dzJ10KLSAgICAgICAgbW9kdWxlLl9fZmlsZV9fID0gJ2hhbS9lZ2dzL19faW5pdF9fLnB5JwotICAgICAgICBtb2R1bGUuX19jYWNoZWRfXyA9IHNlbGYudXRpbC5jYWNoZV9mcm9tX3NvdXJjZShtb2R1bGUuX19maWxlX18pCi0gICAgICAgIG9yaWdpbmFsID0gdmFycyhtb2R1bGUpLmNvcHkoKQotICAgICAgICBzcGVjID0gc2VsZi5sb2Nfc3BlYwotICAgICAgICBzcGVjLnN1Ym1vZHVsZV9zZWFyY2hfbG9jYXRpb25zID0gWycnXQotICAgICAgICBzZWxmLmJvb3RzdHJhcC5fU3BlY01ldGhvZHMoc3BlYykuaW5pdF9tb2R1bGVfYXR0cnMobW9kdWxlKQotCi0gICAgICAgIHNlbGYuYXNzZXJ0SXMobW9kdWxlLl9fbG9hZGVyX18sIG9yaWdpbmFsWydfX2xvYWRlcl9fJ10pCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobW9kdWxlLl9fcGFja2FnZV9fLCBvcmlnaW5hbFsnX19wYWNrYWdlX18nXSkKLSAgICAgICAgc2VsZi5hc3NlcnRJcyhtb2R1bGUuX19wYXRoX18sIG9yaWdpbmFsWydfX3BhdGhfXyddKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1vZHVsZS5fX2ZpbGVfXywgb3JpZ2luYWxbJ19fZmlsZV9fJ10pCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobW9kdWxlLl9fY2FjaGVkX18sIG9yaWdpbmFsWydfX2NhY2hlZF9fJ10pCi0KLSAgICBkZWYgdGVzdF9pbml0X21vZHVsZV9hdHRyc19pbW11dGFibGUoc2VsZik6Ci0gICAgICAgIG1vZHVsZSA9IG9iamVjdCgpCi0gICAgICAgIHNwZWMgPSBzZWxmLmxvY19zcGVjCi0gICAgICAgIHNwZWMuc3VibW9kdWxlX3NlYXJjaF9sb2NhdGlvbnMgPSBbJyddCi0gICAgICAgIHNlbGYuYm9vdHN0cmFwLl9TcGVjTWV0aG9kcyhzcGVjKS5pbml0X21vZHVsZV9hdHRycyhtb2R1bGUpCi0KLSAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShoYXNhdHRyKG1vZHVsZSwgJ19fbmFtZV9fJykpCi0gICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoaGFzYXR0cihtb2R1bGUsICdfX2xvYWRlcl9fJykpCi0gICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoaGFzYXR0cihtb2R1bGUsICdfX3BhY2thZ2VfXycpKQotICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGhhc2F0dHIobW9kdWxlLCAnX19zcGVjX18nKSkKLSAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShoYXNhdHRyKG1vZHVsZSwgJ19fcGF0aF9fJykpCi0gICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoaGFzYXR0cihtb2R1bGUsICdfX2ZpbGVfXycpKQotICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGhhc2F0dHIobW9kdWxlLCAnX19jYWNoZWRfXycpKQotCi0gICAgIyBjcmVhdGUoKQotCi0gICAgZGVmIHRlc3RfY3JlYXRlKHNlbGYpOgotICAgICAgICBjcmVhdGVkID0gc2VsZi5ib290c3RyYXAuX1NwZWNNZXRob2RzKHNlbGYuc3BlYykuY3JlYXRlKCkKLQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNyZWF0ZWQuX19uYW1lX18sIHNlbGYuc3BlYy5uYW1lKQotICAgICAgICBzZWxmLmFzc2VydElzKGNyZWF0ZWQuX19sb2FkZXJfXywgc2VsZi5zcGVjLmxvYWRlcikKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjcmVhdGVkLl9fcGFja2FnZV9fLCBzZWxmLnNwZWMucGFyZW50KQotICAgICAgICBzZWxmLmFzc2VydElzKGNyZWF0ZWQuX19zcGVjX18sIHNlbGYuc3BlYykKLSAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShoYXNhdHRyKGNyZWF0ZWQsICdfX3BhdGhfXycpKQotICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGhhc2F0dHIoY3JlYXRlZCwgJ19fZmlsZV9fJykpCi0gICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoaGFzYXR0cihjcmVhdGVkLCAnX19jYWNoZWRfXycpKQotCi0gICAgZGVmIHRlc3RfY3JlYXRlX2Zyb21fbG9hZGVyKHNlbGYpOgotICAgICAgICBtb2R1bGUgPSB0eXBlKHN5cy5pbXBsZW1lbnRhdGlvbikoKQotICAgICAgICBjbGFzcyBDcmVhdGluZ0xvYWRlcihUZXN0TG9hZGVyKToKLSAgICAgICAgICAgIGRlZiBjcmVhdGVfbW9kdWxlKHNlbGYsIHNwZWMpOgotICAgICAgICAgICAgICAgIHJldHVybiBtb2R1bGUKLSAgICAgICAgc2VsZi5zcGVjLmxvYWRlciA9IENyZWF0aW5nTG9hZGVyKCkKLSAgICAgICAgY3JlYXRlZCA9IHNlbGYuYm9vdHN0cmFwLl9TcGVjTWV0aG9kcyhzZWxmLnNwZWMpLmNyZWF0ZSgpCi0KLSAgICAgICAgc2VsZi5hc3NlcnRJcyhjcmVhdGVkLCBtb2R1bGUpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY3JlYXRlZC5fX25hbWVfXywgc2VsZi5zcGVjLm5hbWUpCi0gICAgICAgIHNlbGYuYXNzZXJ0SXMoY3JlYXRlZC5fX2xvYWRlcl9fLCBzZWxmLnNwZWMubG9hZGVyKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNyZWF0ZWQuX19wYWNrYWdlX18sIHNlbGYuc3BlYy5wYXJlbnQpCi0gICAgICAgIHNlbGYuYXNzZXJ0SXMoY3JlYXRlZC5fX3NwZWNfXywgc2VsZi5zcGVjKQotICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGhhc2F0dHIoY3JlYXRlZCwgJ19fcGF0aF9fJykpCi0gICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoaGFzYXR0cihjcmVhdGVkLCAnX19maWxlX18nKSkKLSAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShoYXNhdHRyKGNyZWF0ZWQsICdfX2NhY2hlZF9fJykpCi0KLSAgICBkZWYgdGVzdF9jcmVhdGVfZnJvbV9sb2FkZXJfbm90X2hhbmRsZWQoc2VsZik6Ci0gICAgICAgIGNsYXNzIENyZWF0aW5nTG9hZGVyKFRlc3RMb2FkZXIpOgotICAgICAgICAgICAgZGVmIGNyZWF0ZV9tb2R1bGUoc2VsZiwgc3BlYyk6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIE5vbmUKLSAgICAgICAgc2VsZi5zcGVjLmxvYWRlciA9IENyZWF0aW5nTG9hZGVyKCkKLSAgICAgICAgY3JlYXRlZCA9IHNlbGYuYm9vdHN0cmFwLl9TcGVjTWV0aG9kcyhzZWxmLnNwZWMpLmNyZWF0ZSgpCi0KLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjcmVhdGVkLl9fbmFtZV9fLCBzZWxmLnNwZWMubmFtZSkKLSAgICAgICAgc2VsZi5hc3NlcnRJcyhjcmVhdGVkLl9fbG9hZGVyX18sIHNlbGYuc3BlYy5sb2FkZXIpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY3JlYXRlZC5fX3BhY2thZ2VfXywgc2VsZi5zcGVjLnBhcmVudCkKLSAgICAgICAgc2VsZi5hc3NlcnRJcyhjcmVhdGVkLl9fc3BlY19fLCBzZWxmLnNwZWMpCi0gICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoaGFzYXR0cihjcmVhdGVkLCAnX19wYXRoX18nKSkKLSAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShoYXNhdHRyKGNyZWF0ZWQsICdfX2ZpbGVfXycpKQotICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGhhc2F0dHIoY3JlYXRlZCwgJ19fY2FjaGVkX18nKSkKLQogICAgICMgZXhlYygpCiAKICAgICBkZWYgdGVzdF9leGVjKHNlbGYpOgogICAgICAgICBzZWxmLnNwZWMubG9hZGVyID0gTmV3TG9hZGVyKCkKLSAgICAgICAgbW9kdWxlID0gc2VsZi5ib290c3RyYXAuX1NwZWNNZXRob2RzKHNlbGYuc3BlYykuY3JlYXRlKCkKKyAgICAgICAgbW9kdWxlID0gc2VsZi51dGlsLm1vZHVsZV9mcm9tX3NwZWMoc2VsZi5zcGVjKQogICAgICAgICBzeXMubW9kdWxlc1tzZWxmLm5hbWVdID0gbW9kdWxlCiAgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoaGFzYXR0cihtb2R1bGUsICdlZ2dzJykpCi0gICAgICAgIHNlbGYuYm9vdHN0cmFwLl9TcGVjTWV0aG9kcyhzZWxmLnNwZWMpLmV4ZWMobW9kdWxlKQorICAgICAgICBzZWxmLmJvb3RzdHJhcC5fZXhlYyhzZWxmLnNwZWMsIG1vZHVsZSkKIAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1vZHVsZS5lZ2dzLCAxKQogCkBAIC0zOTcsNyArMjYxLDcgQEAKICAgICBkZWYgdGVzdF9sb2FkKHNlbGYpOgogICAgICAgICBzZWxmLnNwZWMubG9hZGVyID0gTmV3TG9hZGVyKCkKICAgICAgICAgd2l0aCBDbGVhbkltcG9ydChzZWxmLnNwZWMubmFtZSk6Ci0gICAgICAgICAgICBsb2FkZWQgPSBzZWxmLmJvb3RzdHJhcC5fU3BlY01ldGhvZHMoc2VsZi5zcGVjKS5sb2FkKCkKKyAgICAgICAgICAgIGxvYWRlZCA9IHNlbGYuYm9vdHN0cmFwLl9sb2FkKHNlbGYuc3BlYykKICAgICAgICAgICAgIGluc3RhbGxlZCA9IHN5cy5tb2R1bGVzW3NlbGYuc3BlYy5uYW1lXQogCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobG9hZGVkLmVnZ3MsIDEpCkBAIC00MTAsNyArMjc0LDcgQEAKICAgICAgICAgICAgICAgICBzeXMubW9kdWxlc1ttb2R1bGUuX19uYW1lX19dID0gcmVwbGFjZW1lbnQKICAgICAgICAgc2VsZi5zcGVjLmxvYWRlciA9IFJlcGxhY2luZ0xvYWRlcigpCiAgICAgICAgIHdpdGggQ2xlYW5JbXBvcnQoc2VsZi5zcGVjLm5hbWUpOgotICAgICAgICAgICAgbG9hZGVkID0gc2VsZi5ib290c3RyYXAuX1NwZWNNZXRob2RzKHNlbGYuc3BlYykubG9hZCgpCisgICAgICAgICAgICBsb2FkZWQgPSBzZWxmLmJvb3RzdHJhcC5fbG9hZChzZWxmLnNwZWMpCiAgICAgICAgICAgICBpbnN0YWxsZWQgPSBzeXMubW9kdWxlc1tzZWxmLnNwZWMubmFtZV0KIAogICAgICAgICBzZWxmLmFzc2VydElzKGxvYWRlZCwgcmVwbGFjZW1lbnQpCkBAIC00MjMsNyArMjg3LDcgQEAKICAgICAgICAgc2VsZi5zcGVjLmxvYWRlciA9IEZhaWxlZExvYWRlcigpCiAgICAgICAgIHdpdGggQ2xlYW5JbXBvcnQoc2VsZi5zcGVjLm5hbWUpOgogICAgICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhSdW50aW1lRXJyb3IpOgotICAgICAgICAgICAgICAgIGxvYWRlZCA9IHNlbGYuYm9vdHN0cmFwLl9TcGVjTWV0aG9kcyhzZWxmLnNwZWMpLmxvYWQoKQorICAgICAgICAgICAgICAgIGxvYWRlZCA9IHNlbGYuYm9vdHN0cmFwLl9sb2FkKHNlbGYuc3BlYykKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0Tm90SW4oc2VsZi5zcGVjLm5hbWUsIHN5cy5tb2R1bGVzKQogCiAgICAgZGVmIHRlc3RfbG9hZF9mYWlsZWRfcmVtb3ZlZChzZWxmKToKQEAgLTQzNCwyMCArMjk4LDIwIEBACiAgICAgICAgIHNlbGYuc3BlYy5sb2FkZXIgPSBGYWlsZWRMb2FkZXIoKQogICAgICAgICB3aXRoIENsZWFuSW1wb3J0KHNlbGYuc3BlYy5uYW1lKToKICAgICAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoUnVudGltZUVycm9yKToKLSAgICAgICAgICAgICAgICBsb2FkZWQgPSBzZWxmLmJvb3RzdHJhcC5fU3BlY01ldGhvZHMoc2VsZi5zcGVjKS5sb2FkKCkKKyAgICAgICAgICAgICAgICBsb2FkZWQgPSBzZWxmLmJvb3RzdHJhcC5fbG9hZChzZWxmLnNwZWMpCiAgICAgICAgICAgICBzZWxmLmFzc2VydE5vdEluKHNlbGYuc3BlYy5uYW1lLCBzeXMubW9kdWxlcykKIAogICAgIGRlZiB0ZXN0X2xvYWRfbGVnYWN5KHNlbGYpOgogICAgICAgICBzZWxmLnNwZWMubG9hZGVyID0gTGVnYWN5TG9hZGVyKCkKICAgICAgICAgd2l0aCBDbGVhbkltcG9ydChzZWxmLnNwZWMubmFtZSk6Ci0gICAgICAgICAgICBsb2FkZWQgPSBzZWxmLmJvb3RzdHJhcC5fU3BlY01ldGhvZHMoc2VsZi5zcGVjKS5sb2FkKCkKKyAgICAgICAgICAgIGxvYWRlZCA9IHNlbGYuYm9vdHN0cmFwLl9sb2FkKHNlbGYuc3BlYykKIAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxvYWRlZC5oYW0sIC0xKQogCiAgICAgZGVmIHRlc3RfbG9hZF9sZWdhY3lfYXR0cmlidXRlcyhzZWxmKToKICAgICAgICAgc2VsZi5zcGVjLmxvYWRlciA9IExlZ2FjeUxvYWRlcigpCiAgICAgICAgIHdpdGggQ2xlYW5JbXBvcnQoc2VsZi5zcGVjLm5hbWUpOgotICAgICAgICAgICAgbG9hZGVkID0gc2VsZi5ib290c3RyYXAuX1NwZWNNZXRob2RzKHNlbGYuc3BlYykubG9hZCgpCisgICAgICAgICAgICBsb2FkZWQgPSBzZWxmLmJvb3RzdHJhcC5fbG9hZChzZWxmLnNwZWMpCiAKICAgICAgICAgc2VsZi5hc3NlcnRJcyhsb2FkZWQuX19sb2FkZXJfXywgc2VsZi5zcGVjLmxvYWRlcikKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsb2FkZWQuX19wYWNrYWdlX18sIHNlbGYuc3BlYy5wYXJlbnQpCkBAIC00NjEsNyArMzI1LDcgQEAKICAgICAgICAgICAgICAgICByZXR1cm4gbW9kdWxlCiAgICAgICAgIHNlbGYuc3BlYy5sb2FkZXIgPSBJbW11dGFibGVMb2FkZXIoKQogICAgICAgICB3aXRoIENsZWFuSW1wb3J0KHNlbGYuc3BlYy5uYW1lKToKLSAgICAgICAgICAgIGxvYWRlZCA9IHNlbGYuYm9vdHN0cmFwLl9TcGVjTWV0aG9kcyhzZWxmLnNwZWMpLmxvYWQoKQorICAgICAgICAgICAgbG9hZGVkID0gc2VsZi5ib290c3RyYXAuX2xvYWQoc2VsZi5zcGVjKQogCiAgICAgICAgICAgICBzZWxmLmFzc2VydElzKHN5cy5tb2R1bGVzW3NlbGYuc3BlYy5uYW1lXSwgbW9kdWxlKQogCkBAIC00NzAsOCArMzM0LDggQEAKICAgICBkZWYgdGVzdF9yZWxvYWQoc2VsZik6CiAgICAgICAgIHNlbGYuc3BlYy5sb2FkZXIgPSBOZXdMb2FkZXIoKQogICAgICAgICB3aXRoIENsZWFuSW1wb3J0KHNlbGYuc3BlYy5uYW1lKToKLSAgICAgICAgICAgIGxvYWRlZCA9IHNlbGYuYm9vdHN0cmFwLl9TcGVjTWV0aG9kcyhzZWxmLnNwZWMpLmxvYWQoKQotICAgICAgICAgICAgcmVsb2FkZWQgPSBzZWxmLmJvb3RzdHJhcC5fU3BlY01ldGhvZHMoc2VsZi5zcGVjKS5leGVjKGxvYWRlZCkKKyAgICAgICAgICAgIGxvYWRlZCA9IHNlbGYuYm9vdHN0cmFwLl9sb2FkKHNlbGYuc3BlYykKKyAgICAgICAgICAgIHJlbG9hZGVkID0gc2VsZi5ib290c3RyYXAuX2V4ZWMoc2VsZi5zcGVjLCBsb2FkZWQpCiAgICAgICAgICAgICBpbnN0YWxsZWQgPSBzeXMubW9kdWxlc1tzZWxmLnNwZWMubmFtZV0KIAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxvYWRlZC5lZ2dzLCAxKQpAQCAtNDgxLDkgKzM0NSw5IEBACiAgICAgZGVmIHRlc3RfcmVsb2FkX21vZGlmaWVkKHNlbGYpOgogICAgICAgICBzZWxmLnNwZWMubG9hZGVyID0gTmV3TG9hZGVyKCkKICAgICAgICAgd2l0aCBDbGVhbkltcG9ydChzZWxmLnNwZWMubmFtZSk6Ci0gICAgICAgICAgICBsb2FkZWQgPSBzZWxmLmJvb3RzdHJhcC5fU3BlY01ldGhvZHMoc2VsZi5zcGVjKS5sb2FkKCkKKyAgICAgICAgICAgIGxvYWRlZCA9IHNlbGYuYm9vdHN0cmFwLl9sb2FkKHNlbGYuc3BlYykKICAgICAgICAgICAgIGxvYWRlZC5lZ2dzID0gMgotICAgICAgICAgICAgcmVsb2FkZWQgPSBzZWxmLmJvb3RzdHJhcC5fU3BlY01ldGhvZHMoc2VsZi5zcGVjKS5leGVjKGxvYWRlZCkKKyAgICAgICAgICAgIHJlbG9hZGVkID0gc2VsZi5ib290c3RyYXAuX2V4ZWMoc2VsZi5zcGVjLCBsb2FkZWQpCiAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsb2FkZWQuZWdncywgMSkKICAgICAgICAgc2VsZi5hc3NlcnRJcyhyZWxvYWRlZCwgbG9hZGVkKQpAQCAtNDkxLDkgKzM1NSw5IEBACiAgICAgZGVmIHRlc3RfcmVsb2FkX2V4dHJhX2F0dHJpYnV0ZXMoc2VsZik6CiAgICAgICAgIHNlbGYuc3BlYy5sb2FkZXIgPSBOZXdMb2FkZXIoKQogICAgICAgICB3aXRoIENsZWFuSW1wb3J0KHNlbGYuc3BlYy5uYW1lKToKLSAgICAgICAgICAgIGxvYWRlZCA9IHNlbGYuYm9vdHN0cmFwLl9TcGVjTWV0aG9kcyhzZWxmLnNwZWMpLmxvYWQoKQorICAgICAgICAgICAgbG9hZGVkID0gc2VsZi5ib290c3RyYXAuX2xvYWQoc2VsZi5zcGVjKQogICAgICAgICAgICAgbG9hZGVkLmF2YWlsYWJsZSA9IEZhbHNlCi0gICAgICAgICAgICByZWxvYWRlZCA9IHNlbGYuYm9vdHN0cmFwLl9TcGVjTWV0aG9kcyhzZWxmLnNwZWMpLmV4ZWMobG9hZGVkKQorICAgICAgICAgICAgcmVsb2FkZWQgPSBzZWxmLmJvb3RzdHJhcC5fZXhlYyhzZWxmLnNwZWMsIGxvYWRlZCkKIAogICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGxvYWRlZC5hdmFpbGFibGUpCiAgICAgICAgIHNlbGYuYXNzZXJ0SXMocmVsb2FkZWQsIGxvYWRlZCkKQEAgLTUwMSwxMiArMzY1LDEyIEBACiAgICAgZGVmIHRlc3RfcmVsb2FkX2luaXRfbW9kdWxlX2F0dHJzKHNlbGYpOgogICAgICAgICBzZWxmLnNwZWMubG9hZGVyID0gTmV3TG9hZGVyKCkKICAgICAgICAgd2l0aCBDbGVhbkltcG9ydChzZWxmLnNwZWMubmFtZSk6Ci0gICAgICAgICAgICBsb2FkZWQgPSBzZWxmLmJvb3RzdHJhcC5fU3BlY01ldGhvZHMoc2VsZi5zcGVjKS5sb2FkKCkKKyAgICAgICAgICAgIGxvYWRlZCA9IHNlbGYuYm9vdHN0cmFwLl9sb2FkKHNlbGYuc3BlYykKICAgICAgICAgICAgIGxvYWRlZC5fX25hbWVfXyA9ICdoYW0nCiAgICAgICAgICAgICBkZWwgbG9hZGVkLl9fbG9hZGVyX18KICAgICAgICAgICAgIGRlbCBsb2FkZWQuX19wYWNrYWdlX18KICAgICAgICAgICAgIGRlbCBsb2FkZWQuX19zcGVjX18KLSAgICAgICAgICAgIHNlbGYuYm9vdHN0cmFwLl9TcGVjTWV0aG9kcyhzZWxmLnNwZWMpLmV4ZWMobG9hZGVkKQorICAgICAgICAgICAgc2VsZi5ib290c3RyYXAuX2V4ZWMoc2VsZi5zcGVjLCBsb2FkZWQpCiAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsb2FkZWQuX19uYW1lX18sIHNlbGYuc3BlYy5uYW1lKQogICAgICAgICBzZWxmLmFzc2VydElzKGxvYWRlZC5fX2xvYWRlcl9fLCBzZWxmLnNwZWMubG9hZGVyKQpAQCAtNTE5LDggKzM4Myw4IEBACiAgICAgZGVmIHRlc3RfcmVsb2FkX2xlZ2FjeShzZWxmKToKICAgICAgICAgc2VsZi5zcGVjLmxvYWRlciA9IExlZ2FjeUxvYWRlcigpCiAgICAgICAgIHdpdGggQ2xlYW5JbXBvcnQoc2VsZi5zcGVjLm5hbWUpOgotICAgICAgICAgICAgbG9hZGVkID0gc2VsZi5ib290c3RyYXAuX1NwZWNNZXRob2RzKHNlbGYuc3BlYykubG9hZCgpCi0gICAgICAgICAgICByZWxvYWRlZCA9IHNlbGYuYm9vdHN0cmFwLl9TcGVjTWV0aG9kcyhzZWxmLnNwZWMpLmV4ZWMobG9hZGVkKQorICAgICAgICAgICAgbG9hZGVkID0gc2VsZi5ib290c3RyYXAuX2xvYWQoc2VsZi5zcGVjKQorICAgICAgICAgICAgcmVsb2FkZWQgPSBzZWxmLmJvb3RzdHJhcC5fZXhlYyhzZWxmLnNwZWMsIGxvYWRlZCkKICAgICAgICAgICAgIGluc3RhbGxlZCA9IHN5cy5tb2R1bGVzW3NlbGYuc3BlYy5uYW1lXQogCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobG9hZGVkLmhhbSwgLTEpCkBAIC01MjgsMjAgKzM5MiwxOCBAQAogICAgICAgICBzZWxmLmFzc2VydElzKGluc3RhbGxlZCwgbG9hZGVkKQogCiAKLWNsYXNzIEZyb3plbl9Nb2R1bGVTcGVjTWV0aG9kc1Rlc3RzKE1vZHVsZVNwZWNNZXRob2RzVGVzdHMsIHVuaXR0ZXN0LlRlc3RDYXNlKToKLSAgICBib290c3RyYXAgPSBmcm96ZW5fYm9vdHN0cmFwCi0gICAgbWFjaGluZXJ5ID0gZnJvemVuX21hY2hpbmVyeQotICAgIHV0aWwgPSBmcm96ZW5fdXRpbAotCi0KLWNsYXNzIFNvdXJjZV9Nb2R1bGVTcGVjTWV0aG9kc1Rlc3RzKE1vZHVsZVNwZWNNZXRob2RzVGVzdHMsIHVuaXR0ZXN0LlRlc3RDYXNlKToKLSAgICBib290c3RyYXAgPSBzb3VyY2VfYm9vdHN0cmFwCi0gICAgbWFjaGluZXJ5ID0gc291cmNlX21hY2hpbmVyeQotICAgIHV0aWwgPSBzb3VyY2VfdXRpbAorKEZyb3plbl9Nb2R1bGVTcGVjTWV0aG9kc1Rlc3RzLAorIFNvdXJjZV9Nb2R1bGVTcGVjTWV0aG9kc1Rlc3RzCisgKSA9IHRlc3RfdXRpbC50ZXN0X2JvdGgoTW9kdWxlU3BlY01ldGhvZHNUZXN0cywgaW5pdD1pbml0LCB1dGlsPXV0aWwsCisgICAgICAgICAgICAgICAgICAgICAgICAgbWFjaGluZXJ5PW1hY2hpbmVyeSkKIAogCiBjbGFzcyBNb2R1bGVSZXByVGVzdHM6CiAKKyAgICBAcHJvcGVydHkKKyAgICBkZWYgYm9vdHN0cmFwKHNlbGYpOgorICAgICAgICByZXR1cm4gc2VsZi5pbml0Ll9ib290c3RyYXAKKwogICAgIGRlZiBzZXRVcChzZWxmKToKICAgICAgICAgc2VsZi5tb2R1bGUgPSB0eXBlKG9zKSgnc3BhbScpCiAgICAgICAgIHNlbGYuc3BlYyA9IHNlbGYubWFjaGluZXJ5Lk1vZHVsZVNwZWMoJ3NwYW0nLCBUZXN0TG9hZGVyKCkpCkBAIC02MjUsMTYgKzQ4NywxMCBAQAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1vZHJlcHIsICc8bW9kdWxlIHshcn0+Jy5mb3JtYXQoJ3NwYW0nKSkKIAogCi1jbGFzcyBGcm96ZW5fTW9kdWxlUmVwclRlc3RzKE1vZHVsZVJlcHJUZXN0cywgdW5pdHRlc3QuVGVzdENhc2UpOgotICAgIGJvb3RzdHJhcCA9IGZyb3plbl9ib290c3RyYXAKLSAgICBtYWNoaW5lcnkgPSBmcm96ZW5fbWFjaGluZXJ5Ci0gICAgdXRpbCA9IGZyb3plbl91dGlsCi0KLQotY2xhc3MgU291cmNlX01vZHVsZVJlcHJUZXN0cyhNb2R1bGVSZXByVGVzdHMsIHVuaXR0ZXN0LlRlc3RDYXNlKToKLSAgICBib290c3RyYXAgPSBzb3VyY2VfYm9vdHN0cmFwCi0gICAgbWFjaGluZXJ5ID0gc291cmNlX21hY2hpbmVyeQotICAgIHV0aWwgPSBzb3VyY2VfdXRpbAorKEZyb3plbl9Nb2R1bGVSZXByVGVzdHMsCisgU291cmNlX01vZHVsZVJlcHJUZXN0cworICkgPSB0ZXN0X3V0aWwudGVzdF9ib3RoKE1vZHVsZVJlcHJUZXN0cywgaW5pdD1pbml0LCB1dGlsPXV0aWwsCisgICAgICAgICAgICAgICAgICAgICAgICAgbWFjaGluZXJ5PW1hY2hpbmVyeSkKIAogCiBjbGFzcyBGYWN0b3J5VGVzdHM6CkBAIC03ODcsMTMgKzY0MywxNCBAQAogICAgICMgc3BlY19mcm9tX2ZpbGVfbG9jYXRpb24oKQogCiAgICAgZGVmIHRlc3Rfc3BlY19mcm9tX2ZpbGVfbG9jYXRpb25fZGVmYXVsdChzZWxmKToKLSAgICAgICAgaWYgc2VsZi5tYWNoaW5lcnkgaXMgc291cmNlX21hY2hpbmVyeToKLSAgICAgICAgICAgIHJhaXNlIHVuaXR0ZXN0LlNraXBUZXN0KCdub3Qgc3VyZSB3aHkgdGhpcyBpcyBicmVha2luZy4uLicpCiAgICAgICAgIHNwZWMgPSBzZWxmLnV0aWwuc3BlY19mcm9tX2ZpbGVfbG9jYXRpb24oc2VsZi5uYW1lLCBzZWxmLnBhdGgpCiAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzcGVjLm5hbWUsIHNlbGYubmFtZSkKKyAgICAgICAgIyBOZWVkIHRvIHVzZSBhIGNpcmN1aXRvdXMgcm91dGUgdG8gZ2V0IGF0IGltcG9ydGxpYi5tYWNoaW5lcnkgdG8gbWFrZQorICAgICAgICAjIHN1cmUgdGhlIHNhbWUgY2xhc3Mgb2JqZWN0IGlzIHVzZWQgaW4gdGhlIGlzaW5zdGFuY2UoKSBjaGVjayBhcworICAgICAgICAjIHdvdWxkIGhhdmUgYmVlbiB1c2VkIHRvIGNyZWF0ZSB0aGUgbG9hZGVyLgogICAgICAgICBzZWxmLmFzc2VydElzSW5zdGFuY2Uoc3BlYy5sb2FkZXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLm1hY2hpbmVyeS5Tb3VyY2VGaWxlTG9hZGVyKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi51dGlsLmFiYy5tYWNoaW5lcnkuU291cmNlRmlsZUxvYWRlcikKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzcGVjLmxvYWRlci5uYW1lLCBzZWxmLm5hbWUpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3BlYy5sb2FkZXIucGF0aCwgc2VsZi5wYXRoKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNwZWMub3JpZ2luLCBzZWxmLnBhdGgpCkBAIC05NDcsMTEgKzgwNCwxMCBAQAogICAgICAgICBzZWxmLmFzc2VydFRydWUoc3BlYy5oYXNfbG9jYXRpb24pCiAKIAotY2xhc3MgRnJvemVuX0ZhY3RvcnlUZXN0cyhGYWN0b3J5VGVzdHMsIHVuaXR0ZXN0LlRlc3RDYXNlKToKLSAgICB1dGlsID0gZnJvemVuX3V0aWwKLSAgICBtYWNoaW5lcnkgPSBmcm96ZW5fbWFjaGluZXJ5CisoRnJvemVuX0ZhY3RvcnlUZXN0cywKKyBTb3VyY2VfRmFjdG9yeVRlc3RzCisgKSA9IHRlc3RfdXRpbC50ZXN0X2JvdGgoRmFjdG9yeVRlc3RzLCB1dGlsPXV0aWwsIG1hY2hpbmVyeT1tYWNoaW5lcnkpCiAKIAotY2xhc3MgU291cmNlX0ZhY3RvcnlUZXN0cyhGYWN0b3J5VGVzdHMsIHVuaXR0ZXN0LlRlc3RDYXNlKToKLSAgICB1dGlsID0gc291cmNlX3V0aWwKLSAgICBtYWNoaW5lcnkgPSBzb3VyY2VfbWFjaGluZXJ5CitpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgorICAgIHVuaXR0ZXN0Lm1haW4oKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvdGVzdF91dGlsLnB5IGIvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvdGVzdF91dGlsLnB5CmluZGV4IGIyODIzYzYuLjI0OTNhZjcgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL3Rlc3RfdXRpbC5weQorKysgYi9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi90ZXN0X3V0aWwucHkKQEAgLTEsOCArMSw4IEBACi1mcm9tIGltcG9ydGxpYiBpbXBvcnQgdXRpbAotZnJvbSAuIGltcG9ydCB1dGlsIGFzIHRlc3RfdXRpbAotZnJvemVuX2luaXQsIHNvdXJjZV9pbml0ID0gdGVzdF91dGlsLmltcG9ydF9pbXBvcnRsaWIoJ2ltcG9ydGxpYicpCi1mcm96ZW5fbWFjaGluZXJ5LCBzb3VyY2VfbWFjaGluZXJ5ID0gdGVzdF91dGlsLmltcG9ydF9pbXBvcnRsaWIoJ2ltcG9ydGxpYi5tYWNoaW5lcnknKQotZnJvemVuX3V0aWwsIHNvdXJjZV91dGlsID0gdGVzdF91dGlsLmltcG9ydF9pbXBvcnRsaWIoJ2ltcG9ydGxpYi51dGlsJykKK2Zyb20gLiBpbXBvcnQgdXRpbAorYWJjID0gdXRpbC5pbXBvcnRfaW1wb3J0bGliKCdpbXBvcnRsaWIuYWJjJykKK2luaXQgPSB1dGlsLmltcG9ydF9pbXBvcnRsaWIoJ2ltcG9ydGxpYicpCittYWNoaW5lcnkgPSB1dGlsLmltcG9ydF9pbXBvcnRsaWIoJ2ltcG9ydGxpYi5tYWNoaW5lcnknKQoraW1wb3J0bGliX3V0aWwgPSB1dGlsLmltcG9ydF9pbXBvcnRsaWIoJ2ltcG9ydGxpYi51dGlsJykKIAogaW1wb3J0IG9zCiBpbXBvcnQgc3lzCkBAIC0zMiw4ICszMiw5NCBAQAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYudXRpbC5kZWNvZGVfc291cmNlKHNvdXJjZV9ieXRlcyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgJ1xuJy5qb2luKFtzZWxmLnNvdXJjZSwgc2VsZi5zb3VyY2VdKSkKIAotRnJvemVuX0RlY29kZVNvdXJjZUJ5dGVzVGVzdHMsIFNvdXJjZV9EZWNvZGVTb3VyY2VCeXRlc1Rlc3RzID0gdGVzdF91dGlsLnRlc3RfYm90aCgKLSAgICAgICAgRGVjb2RlU291cmNlQnl0ZXNUZXN0cywgdXRpbD1bZnJvemVuX3V0aWwsIHNvdXJjZV91dGlsXSkKKworKEZyb3plbl9EZWNvZGVTb3VyY2VCeXRlc1Rlc3RzLAorIFNvdXJjZV9EZWNvZGVTb3VyY2VCeXRlc1Rlc3RzCisgKSA9IHV0aWwudGVzdF9ib3RoKERlY29kZVNvdXJjZUJ5dGVzVGVzdHMsIHV0aWw9aW1wb3J0bGliX3V0aWwpCisKKworY2xhc3MgTW9kdWxlRnJvbVNwZWNUZXN0czoKKworICAgIGRlZiB0ZXN0X25vX2NyZWF0ZV9tb2R1bGUoc2VsZik6CisgICAgICAgIGNsYXNzIExvYWRlcjoKKyAgICAgICAgICAgIGRlZiBleGVjX21vZHVsZShzZWxmLCBtb2R1bGUpOgorICAgICAgICAgICAgICAgIHBhc3MKKyAgICAgICAgc3BlYyA9IHNlbGYubWFjaGluZXJ5Lk1vZHVsZVNwZWMoJ3Rlc3QnLCBMb2FkZXIoKSkKKyAgICAgICAgd2l0aCB3YXJuaW5ncy5jYXRjaF93YXJuaW5ncyhyZWNvcmQ9VHJ1ZSkgYXMgdzoKKyAgICAgICAgICAgIHdhcm5pbmdzLnNpbXBsZWZpbHRlcignYWx3YXlzJykKKyAgICAgICAgICAgIG1vZHVsZSA9IHNlbGYudXRpbC5tb2R1bGVfZnJvbV9zcGVjKHNwZWMpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoMSwgbGVuKHcpKQorICAgICAgICBzZWxmLmFzc2VydFRydWUoaXNzdWJjbGFzcyh3WzBdLmNhdGVnb3J5LCBEZXByZWNhdGlvbldhcm5pbmcpKQorICAgICAgICBzZWxmLmFzc2VydEluKCdjcmVhdGVfbW9kdWxlJywgc3RyKHdbMF0ubWVzc2FnZSkpCisgICAgICAgIHNlbGYuYXNzZXJ0SXNJbnN0YW5jZShtb2R1bGUsIHR5cGVzLk1vZHVsZVR5cGUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobW9kdWxlLl9fbmFtZV9fLCBzcGVjLm5hbWUpCisKKyAgICBkZWYgdGVzdF9jcmVhdGVfbW9kdWxlX3JldHVybnNfTm9uZShzZWxmKToKKyAgICAgICAgY2xhc3MgTG9hZGVyKHNlbGYuYWJjLkxvYWRlcik6CisgICAgICAgICAgICBkZWYgY3JlYXRlX21vZHVsZShzZWxmLCBzcGVjKToKKyAgICAgICAgICAgICAgICByZXR1cm4gTm9uZQorICAgICAgICBzcGVjID0gc2VsZi5tYWNoaW5lcnkuTW9kdWxlU3BlYygndGVzdCcsIExvYWRlcigpKQorICAgICAgICBtb2R1bGUgPSBzZWxmLnV0aWwubW9kdWxlX2Zyb21fc3BlYyhzcGVjKQorICAgICAgICBzZWxmLmFzc2VydElzSW5zdGFuY2UobW9kdWxlLCB0eXBlcy5Nb2R1bGVUeXBlKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1vZHVsZS5fX25hbWVfXywgc3BlYy5uYW1lKQorCisgICAgZGVmIHRlc3RfY3JlYXRlX21vZHVsZShzZWxmKToKKyAgICAgICAgbmFtZSA9ICdhbHJlYWR5IHNldCcKKyAgICAgICAgY2xhc3MgQ3VzdG9tTW9kdWxlKHR5cGVzLk1vZHVsZVR5cGUpOgorICAgICAgICAgICAgcGFzcworICAgICAgICBjbGFzcyBMb2FkZXIoc2VsZi5hYmMuTG9hZGVyKToKKyAgICAgICAgICAgIGRlZiBjcmVhdGVfbW9kdWxlKHNlbGYsIHNwZWMpOgorICAgICAgICAgICAgICAgIG1vZHVsZSA9IEN1c3RvbU1vZHVsZShzcGVjLm5hbWUpCisgICAgICAgICAgICAgICAgbW9kdWxlLl9fbmFtZV9fID0gbmFtZQorICAgICAgICAgICAgICAgIHJldHVybiBtb2R1bGUKKyAgICAgICAgc3BlYyA9IHNlbGYubWFjaGluZXJ5Lk1vZHVsZVNwZWMoJ3Rlc3QnLCBMb2FkZXIoKSkKKyAgICAgICAgbW9kdWxlID0gc2VsZi51dGlsLm1vZHVsZV9mcm9tX3NwZWMoc3BlYykKKyAgICAgICAgc2VsZi5hc3NlcnRJc0luc3RhbmNlKG1vZHVsZSwgQ3VzdG9tTW9kdWxlKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1vZHVsZS5fX25hbWVfXywgbmFtZSkKKworICAgIGRlZiB0ZXN0X19fbmFtZV9fKHNlbGYpOgorICAgICAgICBzcGVjID0gc2VsZi5tYWNoaW5lcnkuTW9kdWxlU3BlYygndGVzdCcsIG9iamVjdCgpKQorICAgICAgICBtb2R1bGUgPSBzZWxmLnV0aWwubW9kdWxlX2Zyb21fc3BlYyhzcGVjKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1vZHVsZS5fX25hbWVfXywgc3BlYy5uYW1lKQorCisgICAgZGVmIHRlc3RfX19zcGVjX18oc2VsZik6CisgICAgICAgIHNwZWMgPSBzZWxmLm1hY2hpbmVyeS5Nb2R1bGVTcGVjKCd0ZXN0Jywgb2JqZWN0KCkpCisgICAgICAgIG1vZHVsZSA9IHNlbGYudXRpbC5tb2R1bGVfZnJvbV9zcGVjKHNwZWMpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobW9kdWxlLl9fc3BlY19fLCBzcGVjKQorCisgICAgZGVmIHRlc3RfX19sb2FkZXJfXyhzZWxmKToKKyAgICAgICAgbG9hZGVyID0gb2JqZWN0KCkKKyAgICAgICAgc3BlYyA9IHNlbGYubWFjaGluZXJ5Lk1vZHVsZVNwZWMoJ3Rlc3QnLCBsb2FkZXIpCisgICAgICAgIG1vZHVsZSA9IHNlbGYudXRpbC5tb2R1bGVfZnJvbV9zcGVjKHNwZWMpCisgICAgICAgIHNlbGYuYXNzZXJ0SXMobW9kdWxlLl9fbG9hZGVyX18sIGxvYWRlcikKKworICAgIGRlZiB0ZXN0X19fcGFja2FnZV9fKHNlbGYpOgorICAgICAgICBzcGVjID0gc2VsZi5tYWNoaW5lcnkuTW9kdWxlU3BlYygndGVzdC5wa2cnLCBvYmplY3QoKSkKKyAgICAgICAgbW9kdWxlID0gc2VsZi51dGlsLm1vZHVsZV9mcm9tX3NwZWMoc3BlYykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtb2R1bGUuX19wYWNrYWdlX18sIHNwZWMucGFyZW50KQorCisgICAgZGVmIHRlc3RfX19wYXRoX18oc2VsZik6CisgICAgICAgIHNwZWMgPSBzZWxmLm1hY2hpbmVyeS5Nb2R1bGVTcGVjKCd0ZXN0Jywgb2JqZWN0KCksIGlzX3BhY2thZ2U9VHJ1ZSkKKyAgICAgICAgbW9kdWxlID0gc2VsZi51dGlsLm1vZHVsZV9mcm9tX3NwZWMoc3BlYykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtb2R1bGUuX19wYXRoX18sIHNwZWMuc3VibW9kdWxlX3NlYXJjaF9sb2NhdGlvbnMpCisKKyAgICBkZWYgdGVzdF9fX2ZpbGVfXyhzZWxmKToKKyAgICAgICAgc3BlYyA9IHNlbGYubWFjaGluZXJ5Lk1vZHVsZVNwZWMoJ3Rlc3QnLCBvYmplY3QoKSwgb3JpZ2luPSdzb21lL3BhdGgnKQorICAgICAgICBzcGVjLmhhc19sb2NhdGlvbiA9IFRydWUKKyAgICAgICAgbW9kdWxlID0gc2VsZi51dGlsLm1vZHVsZV9mcm9tX3NwZWMoc3BlYykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtb2R1bGUuX19maWxlX18sIHNwZWMub3JpZ2luKQorCisgICAgZGVmIHRlc3RfX19jYWNoZWRfXyhzZWxmKToKKyAgICAgICAgc3BlYyA9IHNlbGYubWFjaGluZXJ5Lk1vZHVsZVNwZWMoJ3Rlc3QnLCBvYmplY3QoKSkKKyAgICAgICAgc3BlYy5jYWNoZWQgPSAnc29tZS9wYXRoJworICAgICAgICBzcGVjLmhhc19sb2NhdGlvbiA9IFRydWUKKyAgICAgICAgbW9kdWxlID0gc2VsZi51dGlsLm1vZHVsZV9mcm9tX3NwZWMoc3BlYykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtb2R1bGUuX19jYWNoZWRfXywgc3BlYy5jYWNoZWQpCisKKyhGcm96ZW5fTW9kdWxlRnJvbVNwZWNUZXN0cywKKyBTb3VyY2VfTW9kdWxlRnJvbVNwZWNUZXN0cworKSA9IHV0aWwudGVzdF9ib3RoKE1vZHVsZUZyb21TcGVjVGVzdHMsIGFiYz1hYmMsIG1hY2hpbmVyeT1tYWNoaW5lcnksCisgICAgICAgICAgICAgICAgICAgdXRpbD1pbXBvcnRsaWJfdXRpbCkKIAogCiBjbGFzcyBNb2R1bGVGb3JMb2FkZXJUZXN0czoKQEAgLTcwLDcgKzE1Niw3IEBACiAgICAgICAgICMgVGVzdCB0aGF0IHdoZW4gbm8gbW9kdWxlIGV4aXN0cyBpbiBzeXMubW9kdWxlcyBhIG5ldyBtb2R1bGUgaXMKICAgICAgICAgIyBjcmVhdGVkLgogICAgICAgICBtb2R1bGVfbmFtZSA9ICdhLmIuYycKLSAgICAgICAgd2l0aCB0ZXN0X3V0aWwudW5jYWNoZShtb2R1bGVfbmFtZSk6CisgICAgICAgIHdpdGggdXRpbC51bmNhY2hlKG1vZHVsZV9uYW1lKToKICAgICAgICAgICAgIG1vZHVsZSA9IHNlbGYucmV0dXJuX21vZHVsZShtb2R1bGVfbmFtZSkKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SW4obW9kdWxlX25hbWUsIHN5cy5tb2R1bGVzKQogICAgICAgICBzZWxmLmFzc2VydElzSW5zdGFuY2UobW9kdWxlLCB0eXBlcy5Nb2R1bGVUeXBlKQpAQCAtODgsNyArMTc0LDcgQEAKICAgICAgICAgbW9kdWxlID0gdHlwZXMuTW9kdWxlVHlwZSgnYS5iLmMnKQogICAgICAgICBtb2R1bGUuX19sb2FkZXJfXyA9IDQyCiAgICAgICAgIG1vZHVsZS5fX3BhY2thZ2VfXyA9IDQyCi0gICAgICAgIHdpdGggdGVzdF91dGlsLnVuY2FjaGUobmFtZSk6CisgICAgICAgIHdpdGggdXRpbC51bmNhY2hlKG5hbWUpOgogICAgICAgICAgICAgc3lzLm1vZHVsZXNbbmFtZV0gPSBtb2R1bGUKICAgICAgICAgICAgIGxvYWRlciA9IEZha2VMb2FkZXIoKQogICAgICAgICAgICAgcmV0dXJuZWRfbW9kdWxlID0gbG9hZGVyLmxvYWRfbW9kdWxlKG5hbWUpCkBAIC0xMDAsNyArMTg2LDcgQEAKICAgICAgICAgIyBUZXN0IHRoYXQgYSBtb2R1bGUgaXMgcmVtb3ZlZCBmcm9tIHN5cy5tb2R1bGVzIGlmIGFkZGVkIGJ1dCBhbgogICAgICAgICAjIGV4Y2VwdGlvbiBpcyByYWlzZWQuCiAgICAgICAgIG5hbWUgPSAnYS5iLmMnCi0gICAgICAgIHdpdGggdGVzdF91dGlsLnVuY2FjaGUobmFtZSk6CisgICAgICAgIHdpdGggdXRpbC51bmNhY2hlKG5hbWUpOgogICAgICAgICAgICAgc2VsZi5yYWlzZV9leGNlcHRpb24obmFtZSkKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0Tm90SW4obmFtZSwgc3lzLm1vZHVsZXMpCiAKQEAgLTEwOCw3ICsxOTQsNyBAQAogICAgICAgICAjIFRlc3QgdGhhdCBhIGZhaWx1cmUgb24gcmVsb2FkIGxlYXZlcyB0aGUgbW9kdWxlIGluLXBsYWNlLgogICAgICAgICBuYW1lID0gJ2EuYi5jJwogICAgICAgICBtb2R1bGUgPSB0eXBlcy5Nb2R1bGVUeXBlKG5hbWUpCi0gICAgICAgIHdpdGggdGVzdF91dGlsLnVuY2FjaGUobmFtZSk6CisgICAgICAgIHdpdGggdXRpbC51bmNhY2hlKG5hbWUpOgogICAgICAgICAgICAgc3lzLm1vZHVsZXNbbmFtZV0gPSBtb2R1bGUKICAgICAgICAgICAgIHNlbGYucmFpc2VfZXhjZXB0aW9uKG5hbWUpCiAgICAgICAgICAgICBzZWxmLmFzc2VydElzKG1vZHVsZSwgc3lzLm1vZHVsZXNbbmFtZV0pCkBAIC0xMjcsNyArMjEzLDcgQEAKIAogICAgICAgICBuYW1lID0gJ21vZCcKICAgICAgICAgbW9kdWxlID0gRmFsc2VNb2R1bGUobmFtZSkKLSAgICAgICAgd2l0aCB0ZXN0X3V0aWwudW5jYWNoZShuYW1lKToKKyAgICAgICAgd2l0aCB1dGlsLnVuY2FjaGUobmFtZSk6CiAgICAgICAgICAgICBzZWxmLmFzc2VydEZhbHNlKG1vZHVsZSkKICAgICAgICAgICAgIHN5cy5tb2R1bGVzW25hbWVdID0gbW9kdWxlCiAgICAgICAgICAgICBnaXZlbiA9IHNlbGYucmV0dXJuX21vZHVsZShuYW1lKQpAQCAtMTQ2LDcgKzIzMiw3IEBACiAgICAgICAgICAgICAgICAgcmV0dXJuIG1vZHVsZQogCiAgICAgICAgIG5hbWUgPSAncGtnLm1vZCcKLSAgICAgICAgd2l0aCB0ZXN0X3V0aWwudW5jYWNoZShuYW1lKToKKyAgICAgICAgd2l0aCB1dGlsLnVuY2FjaGUobmFtZSk6CiAgICAgICAgICAgICBsb2FkZXIgPSBGYWtlTG9hZGVyKEZhbHNlKQogICAgICAgICAgICAgbW9kdWxlID0gbG9hZGVyLmxvYWRfbW9kdWxlKG5hbWUpCiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1vZHVsZS5fX25hbWVfXywgbmFtZSkKQEAgLTE1NCwxNSArMjQwLDE3IEBACiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1vZHVsZS5fX3BhY2thZ2VfXywgJ3BrZycpCiAKICAgICAgICAgbmFtZSA9ICdwa2cuc3ViJwotICAgICAgICB3aXRoIHRlc3RfdXRpbC51bmNhY2hlKG5hbWUpOgorICAgICAgICB3aXRoIHV0aWwudW5jYWNoZShuYW1lKToKICAgICAgICAgICAgIGxvYWRlciA9IEZha2VMb2FkZXIoVHJ1ZSkKICAgICAgICAgICAgIG1vZHVsZSA9IGxvYWRlci5sb2FkX21vZHVsZShuYW1lKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtb2R1bGUuX19uYW1lX18sIG5hbWUpCiAgICAgICAgICAgICBzZWxmLmFzc2VydElzKG1vZHVsZS5fX2xvYWRlcl9fLCBsb2FkZXIpCiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1vZHVsZS5fX3BhY2thZ2VfXywgbmFtZSkKIAotRnJvemVuX01vZHVsZUZvckxvYWRlclRlc3RzLCBTb3VyY2VfTW9kdWxlRm9yTG9hZGVyVGVzdHMgPSB0ZXN0X3V0aWwudGVzdF9ib3RoKAotICAgICAgICBNb2R1bGVGb3JMb2FkZXJUZXN0cywgdXRpbD1bZnJvemVuX3V0aWwsIHNvdXJjZV91dGlsXSkKKworKEZyb3plbl9Nb2R1bGVGb3JMb2FkZXJUZXN0cywKKyBTb3VyY2VfTW9kdWxlRm9yTG9hZGVyVGVzdHMKKyApID0gdXRpbC50ZXN0X2JvdGgoTW9kdWxlRm9yTG9hZGVyVGVzdHMsIHV0aWw9aW1wb3J0bGliX3V0aWwpCiAKIAogY2xhc3MgU2V0UGFja2FnZVRlc3RzOgpAQCAtMjIyLDE4ICszMTAsMjUgQEAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh3cmFwcGVkLl9fbmFtZV9fLCBmeG4uX19uYW1lX18pCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwod3JhcHBlZC5fX3F1YWxuYW1lX18sIGZ4bi5fX3F1YWxuYW1lX18pCiAKLUZyb3plbl9TZXRQYWNrYWdlVGVzdHMsIFNvdXJjZV9TZXRQYWNrYWdlVGVzdHMgPSB0ZXN0X3V0aWwudGVzdF9ib3RoKAotICAgICAgICBTZXRQYWNrYWdlVGVzdHMsIHV0aWw9W2Zyb3plbl91dGlsLCBzb3VyY2VfdXRpbF0pCisKKyhGcm96ZW5fU2V0UGFja2FnZVRlc3RzLAorIFNvdXJjZV9TZXRQYWNrYWdlVGVzdHMKKyApID0gdXRpbC50ZXN0X2JvdGgoU2V0UGFja2FnZVRlc3RzLCB1dGlsPWltcG9ydGxpYl91dGlsKQogCiAKIGNsYXNzIFNldExvYWRlclRlc3RzOgogCiAgICAgIiIiVGVzdHMgaW1wb3J0bGliLnV0aWwuc2V0X2xvYWRlcigpLiIiIgogCi0gICAgY2xhc3MgRHVtbXlMb2FkZXI6Ci0gICAgICAgIEB1dGlsLnNldF9sb2FkZXIKLSAgICAgICAgZGVmIGxvYWRfbW9kdWxlKHNlbGYsIG1vZHVsZSk6Ci0gICAgICAgICAgICByZXR1cm4gc2VsZi5tb2R1bGUKKyAgICBAcHJvcGVydHkKKyAgICBkZWYgRHVtbXlMb2FkZXIoc2VsZik6CisgICAgICAgICMgU2V0IER1bW15TG9hZGVyIG9uIHRoZSBjbGFzcyBsYXppbHkuCisgICAgICAgIGNsYXNzIER1bW15TG9hZGVyOgorICAgICAgICAgICAgQHNlbGYudXRpbC5zZXRfbG9hZGVyCisgICAgICAgICAgICBkZWYgbG9hZF9tb2R1bGUoc2VsZiwgbW9kdWxlKToKKyAgICAgICAgICAgICAgICByZXR1cm4gc2VsZi5tb2R1bGUKKyAgICAgICAgc2VsZi5fX2NsYXNzX18uRHVtbXlMb2FkZXIgPSBEdW1teUxvYWRlcgorICAgICAgICByZXR1cm4gRHVtbXlMb2FkZXIKIAogICAgIGRlZiB0ZXN0X25vX2F0dHJpYnV0ZShzZWxmKToKICAgICAgICAgbG9hZGVyID0gc2VsZi5EdW1teUxvYWRlcigpCkBAIC0yNjIsMTcgKzM1NywxMCBAQAogICAgICAgICAgICAgd2FybmluZ3Muc2ltcGxlZmlsdGVyKCdpZ25vcmUnLCBEZXByZWNhdGlvbldhcm5pbmcpCiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKDQyLCBsb2FkZXIubG9hZF9tb2R1bGUoJ2JsYWgnKS5fX2xvYWRlcl9fKQogCi1jbGFzcyBGcm96ZW5fU2V0TG9hZGVyVGVzdHMoU2V0TG9hZGVyVGVzdHMsIHVuaXR0ZXN0LlRlc3RDYXNlKToKLSAgICBjbGFzcyBEdW1teUxvYWRlcjoKLSAgICAgICAgQGZyb3plbl91dGlsLnNldF9sb2FkZXIKLSAgICAgICAgZGVmIGxvYWRfbW9kdWxlKHNlbGYsIG1vZHVsZSk6Ci0gICAgICAgICAgICByZXR1cm4gc2VsZi5tb2R1bGUKIAotY2xhc3MgU291cmNlX1NldExvYWRlclRlc3RzKFNldExvYWRlclRlc3RzLCB1bml0dGVzdC5UZXN0Q2FzZSk6Ci0gICAgY2xhc3MgRHVtbXlMb2FkZXI6Ci0gICAgICAgIEBzb3VyY2VfdXRpbC5zZXRfbG9hZGVyCi0gICAgICAgIGRlZiBsb2FkX21vZHVsZShzZWxmLCBtb2R1bGUpOgotICAgICAgICAgICAgcmV0dXJuIHNlbGYubW9kdWxlCisoRnJvemVuX1NldExvYWRlclRlc3RzLAorIFNvdXJjZV9TZXRMb2FkZXJUZXN0cworICkgPSB1dGlsLnRlc3RfYm90aChTZXRMb2FkZXJUZXN0cywgdXRpbD1pbXBvcnRsaWJfdXRpbCkKIAogCiBjbGFzcyBSZXNvbHZlTmFtZVRlc3RzOgpAQCAtMzA3LDkgKzM5NSwxMCBAQAogICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IpOgogICAgICAgICAgICAgc2VsZi51dGlsLnJlc29sdmVfbmFtZSgnLi5iYWNvbicsICdzcGFtJykKIAotRnJvemVuX1Jlc29sdmVOYW1lVGVzdHMsIFNvdXJjZV9SZXNvbHZlTmFtZVRlc3RzID0gdGVzdF91dGlsLnRlc3RfYm90aCgKLSAgICAgICAgUmVzb2x2ZU5hbWVUZXN0cywKLSAgICAgICAgdXRpbD1bZnJvemVuX3V0aWwsIHNvdXJjZV91dGlsXSkKKworKEZyb3plbl9SZXNvbHZlTmFtZVRlc3RzLAorIFNvdXJjZV9SZXNvbHZlTmFtZVRlc3RzCisgKSA9IHV0aWwudGVzdF9ib3RoKFJlc29sdmVOYW1lVGVzdHMsIHV0aWw9aW1wb3J0bGliX3V0aWwpCiAKIAogY2xhc3MgRmluZFNwZWNUZXN0czoKQEAgLTMyMCw3ICs0MDksNyBAQAogCiAgICAgZGVmIHRlc3Rfc3lzX21vZHVsZXMoc2VsZik6CiAgICAgICAgIG5hbWUgPSAnc29tZV9tb2QnCi0gICAgICAgIHdpdGggdGVzdF91dGlsLnVuY2FjaGUobmFtZSk6CisgICAgICAgIHdpdGggdXRpbC51bmNhY2hlKG5hbWUpOgogICAgICAgICAgICAgbW9kdWxlID0gdHlwZXMuTW9kdWxlVHlwZShuYW1lKQogICAgICAgICAgICAgbG9hZGVyID0gJ2EgbG9hZGVyIScKICAgICAgICAgICAgIHNwZWMgPSBzZWxmLm1hY2hpbmVyeS5Nb2R1bGVTcGVjKG5hbWUsIGxvYWRlcikKQEAgLTMzMiw3ICs0MjEsNyBAQAogCiAgICAgZGVmIHRlc3Rfc3lzX21vZHVsZXNfd2l0aG91dF9fX2xvYWRlcl9fKHNlbGYpOgogICAgICAgICBuYW1lID0gJ3NvbWVfbW9kJwotICAgICAgICB3aXRoIHRlc3RfdXRpbC51bmNhY2hlKG5hbWUpOgorICAgICAgICB3aXRoIHV0aWwudW5jYWNoZShuYW1lKToKICAgICAgICAgICAgIG1vZHVsZSA9IHR5cGVzLk1vZHVsZVR5cGUobmFtZSkKICAgICAgICAgICAgIGRlbCBtb2R1bGUuX19sb2FkZXJfXwogICAgICAgICAgICAgbG9hZGVyID0gJ2EgbG9hZGVyIScKQEAgLTM0NCw3ICs0MzMsNyBAQAogCiAgICAgZGVmIHRlc3Rfc3lzX21vZHVsZXNfc3BlY19pc19Ob25lKHNlbGYpOgogICAgICAgICBuYW1lID0gJ3NvbWVfbW9kJwotICAgICAgICB3aXRoIHRlc3RfdXRpbC51bmNhY2hlKG5hbWUpOgorICAgICAgICB3aXRoIHV0aWwudW5jYWNoZShuYW1lKToKICAgICAgICAgICAgIG1vZHVsZSA9IHR5cGVzLk1vZHVsZVR5cGUobmFtZSkKICAgICAgICAgICAgIG1vZHVsZS5fX3NwZWNfXyA9IE5vbmUKICAgICAgICAgICAgIHN5cy5tb2R1bGVzW25hbWVdID0gbW9kdWxlCkBAIC0zNTMsNyArNDQyLDcgQEAKIAogICAgIGRlZiB0ZXN0X3N5c19tb2R1bGVzX2xvYWRlcl9pc19Ob25lKHNlbGYpOgogICAgICAgICBuYW1lID0gJ3NvbWVfbW9kJwotICAgICAgICB3aXRoIHRlc3RfdXRpbC51bmNhY2hlKG5hbWUpOgorICAgICAgICB3aXRoIHV0aWwudW5jYWNoZShuYW1lKToKICAgICAgICAgICAgIG1vZHVsZSA9IHR5cGVzLk1vZHVsZVR5cGUobmFtZSkKICAgICAgICAgICAgIHNwZWMgPSBzZWxmLm1hY2hpbmVyeS5Nb2R1bGVTcGVjKG5hbWUsIE5vbmUpCiAgICAgICAgICAgICBtb2R1bGUuX19zcGVjX18gPSBzcGVjCkBAIC0zNjMsNyArNDUyLDcgQEAKIAogICAgIGRlZiB0ZXN0X3N5c19tb2R1bGVzX3NwZWNfaXNfbm90X3NldChzZWxmKToKICAgICAgICAgbmFtZSA9ICdzb21lX21vZCcKLSAgICAgICAgd2l0aCB0ZXN0X3V0aWwudW5jYWNoZShuYW1lKToKKyAgICAgICAgd2l0aCB1dGlsLnVuY2FjaGUobmFtZSk6CiAgICAgICAgICAgICBtb2R1bGUgPSB0eXBlcy5Nb2R1bGVUeXBlKG5hbWUpCiAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgZGVsIG1vZHVsZS5fX3NwZWNfXwpAQCAtMzc1LDggKzQ2NCw4IEBACiAKICAgICBkZWYgdGVzdF9zdWNjZXNzKHNlbGYpOgogICAgICAgICBuYW1lID0gJ3NvbWVfbW9kJwotICAgICAgICB3aXRoIHRlc3RfdXRpbC51bmNhY2hlKG5hbWUpOgotICAgICAgICAgICAgd2l0aCB0ZXN0X3V0aWwuaW1wb3J0X3N0YXRlKG1ldGFfcGF0aD1bc2VsZi5GYWtlTWV0YUZpbmRlcl0pOgorICAgICAgICB3aXRoIHV0aWwudW5jYWNoZShuYW1lKToKKyAgICAgICAgICAgIHdpdGggdXRpbC5pbXBvcnRfc3RhdGUobWV0YV9wYXRoPVtzZWxmLkZha2VNZXRhRmluZGVyXSk6CiAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgobmFtZSwgTm9uZSwgTm9uZSksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnV0aWwuZmluZF9zcGVjKG5hbWUpKQogCkBAIC0zODQsOCArNDczLDggQEAKICMgICAgICAgICMgU2VhcmNoaW5nIG9uIGEgcGF0aCBzaG91bGQgd29yay4KICMgICAgICAgIG5hbWUgPSAnc29tZV9tb2QnCiAjICAgICAgICBwYXRoID0gJ3BhdGggdG8gc29tZSBwbGFjZScKLSMgICAgICAgIHdpdGggdGVzdF91dGlsLnVuY2FjaGUobmFtZSk6Ci0jICAgICAgICAgICAgd2l0aCB0ZXN0X3V0aWwuaW1wb3J0X3N0YXRlKG1ldGFfcGF0aD1bc2VsZi5GYWtlTWV0YUZpbmRlcl0pOgorIyAgICAgICAgd2l0aCB1dGlsLnVuY2FjaGUobmFtZSk6CisjICAgICAgICAgICAgd2l0aCB1dGlsLmltcG9ydF9zdGF0ZShtZXRhX3BhdGg9W3NlbGYuRmFrZU1ldGFGaW5kZXJdKToKICMgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgobmFtZSwgcGF0aCwgTm9uZSksCiAjICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi51dGlsLmZpbmRfc3BlYyhuYW1lLCBwYXRoKSkKIApAQCAtMzk2LDggKzQ4NSw4IEBACiAgICAgZGVmIHRlc3RfZmluZF9zdWJtb2R1bGUoc2VsZik6CiAgICAgICAgIG5hbWUgPSAnc3BhbScKICAgICAgICAgc3VibmFtZSA9ICdoYW0nCi0gICAgICAgIHdpdGggdGVzdF91dGlsLnRlbXBfbW9kdWxlKG5hbWUsIHBrZz1UcnVlKSBhcyBwa2dfZGlyOgotICAgICAgICAgICAgZnVsbG5hbWUsIF8gPSB0ZXN0X3V0aWwuc3VibW9kdWxlKG5hbWUsIHN1Ym5hbWUsIHBrZ19kaXIpCisgICAgICAgIHdpdGggdXRpbC50ZW1wX21vZHVsZShuYW1lLCBwa2c9VHJ1ZSkgYXMgcGtnX2RpcjoKKyAgICAgICAgICAgIGZ1bGxuYW1lLCBfID0gdXRpbC5zdWJtb2R1bGUobmFtZSwgc3VibmFtZSwgcGtnX2RpcikKICAgICAgICAgICAgIHNwZWMgPSBzZWxmLnV0aWwuZmluZF9zcGVjKGZ1bGxuYW1lKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRJc05vdChzcGVjLCBOb25lKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRJbihuYW1lLCBzb3J0ZWQoc3lzLm1vZHVsZXMpKQpAQCAtNDA5LDkgKzQ5OCw5IEBACiAgICAgZGVmIHRlc3RfZmluZF9zdWJtb2R1bGVfcGFyZW50X2FscmVhZHlfaW1wb3J0ZWQoc2VsZik6CiAgICAgICAgIG5hbWUgPSAnc3BhbScKICAgICAgICAgc3VibmFtZSA9ICdoYW0nCi0gICAgICAgIHdpdGggdGVzdF91dGlsLnRlbXBfbW9kdWxlKG5hbWUsIHBrZz1UcnVlKSBhcyBwa2dfZGlyOgorICAgICAgICB3aXRoIHV0aWwudGVtcF9tb2R1bGUobmFtZSwgcGtnPVRydWUpIGFzIHBrZ19kaXI6CiAgICAgICAgICAgICBzZWxmLmluaXQuaW1wb3J0X21vZHVsZShuYW1lKQotICAgICAgICAgICAgZnVsbG5hbWUsIF8gPSB0ZXN0X3V0aWwuc3VibW9kdWxlKG5hbWUsIHN1Ym5hbWUsIHBrZ19kaXIpCisgICAgICAgICAgICBmdWxsbmFtZSwgXyA9IHV0aWwuc3VibW9kdWxlKG5hbWUsIHN1Ym5hbWUsIHBrZ19kaXIpCiAgICAgICAgICAgICBzcGVjID0gc2VsZi51dGlsLmZpbmRfc3BlYyhmdWxsbmFtZSkKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXNOb3Qoc3BlYywgTm9uZSkKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SW4obmFtZSwgc29ydGVkKHN5cy5tb2R1bGVzKSkKQEAgLTQyMyw4ICs1MTIsOCBAQAogICAgIGRlZiB0ZXN0X2ZpbmRfcmVsYXRpdmVfbW9kdWxlKHNlbGYpOgogICAgICAgICBuYW1lID0gJ3NwYW0nCiAgICAgICAgIHN1Ym5hbWUgPSAnaGFtJwotICAgICAgICB3aXRoIHRlc3RfdXRpbC50ZW1wX21vZHVsZShuYW1lLCBwa2c9VHJ1ZSkgYXMgcGtnX2RpcjoKLSAgICAgICAgICAgIGZ1bGxuYW1lLCBfID0gdGVzdF91dGlsLnN1Ym1vZHVsZShuYW1lLCBzdWJuYW1lLCBwa2dfZGlyKQorICAgICAgICB3aXRoIHV0aWwudGVtcF9tb2R1bGUobmFtZSwgcGtnPVRydWUpIGFzIHBrZ19kaXI6CisgICAgICAgICAgICBmdWxsbmFtZSwgXyA9IHV0aWwuc3VibW9kdWxlKG5hbWUsIHN1Ym5hbWUsIHBrZ19kaXIpCiAgICAgICAgICAgICByZWxuYW1lID0gJy4nICsgc3VibmFtZQogICAgICAgICAgICAgc3BlYyA9IHNlbGYudXRpbC5maW5kX3NwZWMocmVsbmFtZSwgbmFtZSkKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXNOb3Qoc3BlYywgTm9uZSkKQEAgLTQzNyw4ICs1MjYsOCBAQAogICAgIGRlZiB0ZXN0X2ZpbmRfcmVsYXRpdmVfbW9kdWxlX21pc3NpbmdfcGFja2FnZShzZWxmKToKICAgICAgICAgbmFtZSA9ICdzcGFtJwogICAgICAgICBzdWJuYW1lID0gJ2hhbScKLSAgICAgICAgd2l0aCB0ZXN0X3V0aWwudGVtcF9tb2R1bGUobmFtZSwgcGtnPVRydWUpIGFzIHBrZ19kaXI6Ci0gICAgICAgICAgICBmdWxsbmFtZSwgXyA9IHRlc3RfdXRpbC5zdWJtb2R1bGUobmFtZSwgc3VibmFtZSwgcGtnX2RpcikKKyAgICAgICAgd2l0aCB1dGlsLnRlbXBfbW9kdWxlKG5hbWUsIHBrZz1UcnVlKSBhcyBwa2dfZGlyOgorICAgICAgICAgICAgZnVsbG5hbWUsIF8gPSB1dGlsLnN1Ym1vZHVsZShuYW1lLCBzdWJuYW1lLCBwa2dfZGlyKQogICAgICAgICAgICAgcmVsbmFtZSA9ICcuJyArIHN1Ym5hbWUKICAgICAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvcik6CiAgICAgICAgICAgICAgICAgc2VsZi51dGlsLmZpbmRfc3BlYyhyZWxuYW1lKQpAQCAtNDQ2LDE1ICs1MzUsMTAgQEAKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0Tm90SW4oZnVsbG5hbWUsIHNvcnRlZChzeXMubW9kdWxlcykpCiAKIAotY2xhc3MgRnJvemVuX0ZpbmRTcGVjVGVzdHMoRmluZFNwZWNUZXN0cywgdW5pdHRlc3QuVGVzdENhc2UpOgotICAgIGluaXQgPSBmcm96ZW5faW5pdAotICAgIG1hY2hpbmVyeSA9IGZyb3plbl9tYWNoaW5lcnkKLSAgICB1dGlsID0gZnJvemVuX3V0aWwKLQotY2xhc3MgU291cmNlX0ZpbmRTcGVjVGVzdHMoRmluZFNwZWNUZXN0cywgdW5pdHRlc3QuVGVzdENhc2UpOgotICAgIGluaXQgPSBzb3VyY2VfaW5pdAotICAgIG1hY2hpbmVyeSA9IHNvdXJjZV9tYWNoaW5lcnkKLSAgICB1dGlsID0gc291cmNlX3V0aWwKKyhGcm96ZW5fRmluZFNwZWNUZXN0cywKKyBTb3VyY2VfRmluZFNwZWNUZXN0cworICkgPSB1dGlsLnRlc3RfYm90aChGaW5kU3BlY1Rlc3RzLCBpbml0PWluaXQsIHV0aWw9aW1wb3J0bGliX3V0aWwsCisgICAgICAgICAgICAgICAgICAgICAgICAgbWFjaGluZXJ5PW1hY2hpbmVyeSkKIAogCiBjbGFzcyBNYWdpY051bWJlclRlc3RzOgpAQCAtNDY3LDggKzU1MSwxMCBAQAogICAgICAgICAjIFRoZSBtYWdpYyBudW1iZXIgdXNlcyBcclxuIHRvIGNvbWUgb3V0IHdyb25nIHdoZW4gc3BsaXR0aW5nIG9uIGxpbmVzLgogICAgICAgICBzZWxmLmFzc2VydFRydWUoc2VsZi51dGlsLk1BR0lDX05VTUJFUi5lbmRzd2l0aChiJ1xyXG4nKSkKIAotRnJvemVuX01hZ2ljTnVtYmVyVGVzdHMsIFNvdXJjZV9NYWdpY051bWJlclRlc3RzID0gdGVzdF91dGlsLnRlc3RfYm90aCgKLSAgICAgICAgTWFnaWNOdW1iZXJUZXN0cywgdXRpbD1bZnJvemVuX3V0aWwsIHNvdXJjZV91dGlsXSkKKworKEZyb3plbl9NYWdpY051bWJlclRlc3RzLAorIFNvdXJjZV9NYWdpY051bWJlclRlc3RzCisgKSA9IHV0aWwudGVzdF9ib3RoKE1hZ2ljTnVtYmVyVGVzdHMsIHV0aWw9aW1wb3J0bGliX3V0aWwpCiAKIAogY2xhc3MgUEVQMzE0N1Rlc3RzOgpAQCAtNTgzLDkgKzY2OSwxMCBAQAogICAgICAgICAgICAgVmFsdWVFcnJvciwgc2VsZi51dGlsLnNvdXJjZV9mcm9tX2NhY2hlLAogICAgICAgICAgICAgJy9mb28vYmFyL2Zvby5jcHl0aG9uLTMyLmZvby5weWMnKQogCi1Gcm96ZW5fUEVQMzE0N1Rlc3RzLCBTb3VyY2VfUEVQMzE0N1Rlc3RzID0gdGVzdF91dGlsLnRlc3RfYm90aCgKLSAgICAgICAgUEVQMzE0N1Rlc3RzLAotICAgICAgICB1dGlsPVtmcm96ZW5fdXRpbCwgc291cmNlX3V0aWxdKQorCisoRnJvemVuX1BFUDMxNDdUZXN0cywKKyBTb3VyY2VfUEVQMzE0N1Rlc3RzCisgKSA9IHV0aWwudGVzdF9ib3RoKFBFUDMxNDdUZXN0cywgdXRpbD1pbXBvcnRsaWJfdXRpbCkKIAogCiBpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvdGVzdF93aW5kb3dzLnB5IGIvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvdGVzdF93aW5kb3dzLnB5CmluZGV4IDk2YjRhZGMuLmM4OTNiY2YgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL3Rlc3Rfd2luZG93cy5weQorKysgYi9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi90ZXN0X3dpbmRvd3MucHkKQEAgLTEsMTQgKzEsNjQgQEAKLWZyb20gLiBpbXBvcnQgdXRpbAotZnJvemVuX21hY2hpbmVyeSwgc291cmNlX21hY2hpbmVyeSA9IHV0aWwuaW1wb3J0X2ltcG9ydGxpYignaW1wb3J0bGliLm1hY2hpbmVyeScpCitmcm9tIC4gaW1wb3J0IHV0aWwgYXMgdGVzdF91dGlsCittYWNoaW5lcnkgPSB0ZXN0X3V0aWwuaW1wb3J0X2ltcG9ydGxpYignaW1wb3J0bGliLm1hY2hpbmVyeScpCiAKK2ltcG9ydCBvcworaW1wb3J0IHJlCiBpbXBvcnQgc3lzCiBpbXBvcnQgdW5pdHRlc3QKK2Zyb20gdGVzdCBpbXBvcnQgc3VwcG9ydAorZnJvbSBkaXN0dXRpbHMudXRpbCBpbXBvcnQgZ2V0X3BsYXRmb3JtCitmcm9tIGNvbnRleHRsaWIgaW1wb3J0IGNvbnRleHRtYW5hZ2VyCitmcm9tIC51dGlsIGltcG9ydCB0ZW1wX21vZHVsZQorCitzdXBwb3J0LmltcG9ydF9tb2R1bGUoJ3dpbnJlZycsIHJlcXVpcmVkX29uPVsnd2luJ10pCitmcm9tIHdpbnJlZyBpbXBvcnQgKAorICAgIENyZWF0ZUtleSwgSEtFWV9DVVJSRU5UX1VTRVIsCisgICAgU2V0VmFsdWUsIFJFR19TWiwgS0VZX0FMTF9BQ0NFU1MsCisgICAgRW51bUtleSwgQ2xvc2VLZXksIERlbGV0ZUtleSwgT3BlbktleQorKQorCitkZWYgZGVsZXRlX3JlZ2lzdHJ5X3RyZWUocm9vdCwgc3Via2V5KToKKyAgICB0cnk6CisgICAgICAgIGhrZXkgPSBPcGVuS2V5KHJvb3QsIHN1YmtleSwgYWNjZXNzPUtFWV9BTExfQUNDRVNTKQorICAgIGV4Y2VwdCBPU0Vycm9yOgorICAgICAgICAjIHN1YmtleSBkb2VzIG5vdCBleGlzdAorICAgICAgICByZXR1cm4KKyAgICB3aGlsZSBUcnVlOgorICAgICAgICB0cnk6CisgICAgICAgICAgICBzdWJzdWJrZXkgPSBFbnVtS2V5KGhrZXksIDApCisgICAgICAgIGV4Y2VwdCBPU0Vycm9yOgorICAgICAgICAgICAgIyBubyBtb3JlIHN1YmtleXMKKyAgICAgICAgICAgIGJyZWFrCisgICAgICAgIGRlbGV0ZV9yZWdpc3RyeV90cmVlKGhrZXksIHN1YnN1YmtleSkKKyAgICBDbG9zZUtleShoa2V5KQorICAgIERlbGV0ZUtleShyb290LCBzdWJrZXkpCisKK0Bjb250ZXh0bWFuYWdlcgorZGVmIHNldHVwX21vZHVsZShtYWNoaW5lcnksIG5hbWUsIHBhdGg9Tm9uZSk6CisgICAgaWYgbWFjaGluZXJ5LldpbmRvd3NSZWdpc3RyeUZpbmRlci5ERUJVR19CVUlMRDoKKyAgICAgICAgcm9vdCA9IG1hY2hpbmVyeS5XaW5kb3dzUmVnaXN0cnlGaW5kZXIuUkVHSVNUUllfS0VZX0RFQlVHCisgICAgZWxzZToKKyAgICAgICAgcm9vdCA9IG1hY2hpbmVyeS5XaW5kb3dzUmVnaXN0cnlGaW5kZXIuUkVHSVNUUllfS0VZCisgICAga2V5ID0gcm9vdC5mb3JtYXQoZnVsbG5hbWU9bmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICBzeXNfdmVyc2lvbj1zeXMudmVyc2lvbls6M10pCisgICAgdHJ5OgorICAgICAgICB3aXRoIHRlbXBfbW9kdWxlKG5hbWUsICJhID0gMSIpIGFzIGxvY2F0aW9uOgorICAgICAgICAgICAgc3Via2V5ID0gQ3JlYXRlS2V5KEhLRVlfQ1VSUkVOVF9VU0VSLCBrZXkpCisgICAgICAgICAgICBpZiBwYXRoIGlzIE5vbmU6CisgICAgICAgICAgICAgICAgcGF0aCA9IGxvY2F0aW9uICsgIi5weSIKKyAgICAgICAgICAgIFNldFZhbHVlKHN1YmtleSwgIiIsIFJFR19TWiwgcGF0aCkKKyAgICAgICAgICAgIHlpZWxkCisgICAgZmluYWxseToKKyAgICAgICAgaWYgbWFjaGluZXJ5LldpbmRvd3NSZWdpc3RyeUZpbmRlci5ERUJVR19CVUlMRDoKKyAgICAgICAgICAgIGtleSA9IG9zLnBhdGguZGlybmFtZShrZXkpCisgICAgICAgIGRlbGV0ZV9yZWdpc3RyeV90cmVlKEhLRVlfQ1VSUkVOVF9VU0VSLCBrZXkpCiAKIAogQHVuaXR0ZXN0LnNraXBVbmxlc3Moc3lzLnBsYXRmb3JtLnN0YXJ0c3dpdGgoJ3dpbicpLCAncmVxdWlyZXMgV2luZG93cycpCiBjbGFzcyBXaW5kb3dzUmVnaXN0cnlGaW5kZXJUZXN0czoKLQotICAgICMgWFhYIE5lZWQgYSB0ZXN0IHRoYXQgZmluZHMgdGhlIHNwZWMgdmlhIHRoZSByZWdpc3RyeS4KKyAgICAjIFRoZSBtb2R1bGUgbmFtZSBpcyBwcm9jZXNzLXNwZWNpZmljLCBhbGxvd2luZyBmb3IKKyAgICAjIHNpbXVsdGFuZW91cyBydW5zIG9mIHRoZSBzYW1lIHRlc3Qgb24gYSBzaW5nbGUgbWFjaGluZS4KKyAgICB0ZXN0X21vZHVsZSA9ICJzcGFtaGFte30iLmZvcm1hdChvcy5nZXRwaWQoKSkKIAogICAgIGRlZiB0ZXN0X2ZpbmRfc3BlY19taXNzaW5nKHNlbGYpOgogICAgICAgICBzcGVjID0gc2VsZi5tYWNoaW5lcnkuV2luZG93c1JlZ2lzdHJ5RmluZGVyLmZpbmRfc3BlYygnc3BhbScpCkBAIC0xOCwxMiArNjgsNDIgQEAKICAgICAgICAgbG9hZGVyID0gc2VsZi5tYWNoaW5lcnkuV2luZG93c1JlZ2lzdHJ5RmluZGVyLmZpbmRfbW9kdWxlKCdzcGFtJykKICAgICAgICAgc2VsZi5hc3NlcnRJcyhsb2FkZXIsIE5vbmUpCiAKKyAgICBkZWYgdGVzdF9tb2R1bGVfZm91bmQoc2VsZik6CisgICAgICAgIHdpdGggc2V0dXBfbW9kdWxlKHNlbGYubWFjaGluZXJ5LCBzZWxmLnRlc3RfbW9kdWxlKToKKyAgICAgICAgICAgIGxvYWRlciA9IHNlbGYubWFjaGluZXJ5LldpbmRvd3NSZWdpc3RyeUZpbmRlci5maW5kX21vZHVsZShzZWxmLnRlc3RfbW9kdWxlKQorICAgICAgICAgICAgc3BlYyA9IHNlbGYubWFjaGluZXJ5LldpbmRvd3NSZWdpc3RyeUZpbmRlci5maW5kX3NwZWMoc2VsZi50ZXN0X21vZHVsZSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXNOb3QobG9hZGVyLCBOb25lKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRJc05vdChzcGVjLCBOb25lKQogCi1jbGFzcyBGcm96ZW5fV2luZG93c1JlZ2lzdHJ5RmluZGVyVGVzdHMoV2luZG93c1JlZ2lzdHJ5RmluZGVyVGVzdHMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5pdHRlc3QuVGVzdENhc2UpOgotICAgIG1hY2hpbmVyeSA9IGZyb3plbl9tYWNoaW5lcnkKKyAgICBkZWYgdGVzdF9tb2R1bGVfbm90X2ZvdW5kKHNlbGYpOgorICAgICAgICB3aXRoIHNldHVwX21vZHVsZShzZWxmLm1hY2hpbmVyeSwgc2VsZi50ZXN0X21vZHVsZSwgcGF0aD0iLiIpOgorICAgICAgICAgICAgbG9hZGVyID0gc2VsZi5tYWNoaW5lcnkuV2luZG93c1JlZ2lzdHJ5RmluZGVyLmZpbmRfbW9kdWxlKHNlbGYudGVzdF9tb2R1bGUpCisgICAgICAgICAgICBzcGVjID0gc2VsZi5tYWNoaW5lcnkuV2luZG93c1JlZ2lzdHJ5RmluZGVyLmZpbmRfc3BlYyhzZWxmLnRlc3RfbW9kdWxlKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUobG9hZGVyKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUoc3BlYykKIAorKEZyb3plbl9XaW5kb3dzUmVnaXN0cnlGaW5kZXJUZXN0cywKKyBTb3VyY2VfV2luZG93c1JlZ2lzdHJ5RmluZGVyVGVzdHMKKyApID0gdGVzdF91dGlsLnRlc3RfYm90aChXaW5kb3dzUmVnaXN0cnlGaW5kZXJUZXN0cywgbWFjaGluZXJ5PW1hY2hpbmVyeSkKIAotY2xhc3MgU291cmNlX1dpbmRvd3NSZWdpc3RyeUZpbmRlclRlc3RzKFdpbmRvd3NSZWdpc3RyeUZpbmRlclRlc3RzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuaXR0ZXN0LlRlc3RDYXNlKToKLSAgICBtYWNoaW5lcnkgPSBzb3VyY2VfbWFjaGluZXJ5CitAdW5pdHRlc3Quc2tpcFVubGVzcyhzeXMucGxhdGZvcm0uc3RhcnRzd2l0aCgnd2luJyksICdyZXF1aXJlcyBXaW5kb3dzJykKK2NsYXNzIFdpbmRvd3NFeHRlbnNpb25TdWZmaXhUZXN0czoKKyAgICBkZWYgdGVzdF90YWdnZWRfc3VmZml4KHNlbGYpOgorICAgICAgICBzdWZmaXhlcyA9IHNlbGYubWFjaGluZXJ5LkVYVEVOU0lPTl9TVUZGSVhFUworICAgICAgICBleHBlY3RlZF90YWcgPSAiLmNwezAubWFqb3J9ezAubWlub3J9LXsxfS5weWQiLmZvcm1hdChzeXMudmVyc2lvbl9pbmZvLAorICAgICAgICAgICAgcmUuc3ViKCdbXmEtekEtWjAtOV0nLCAnXycsIGdldF9wbGF0Zm9ybSgpKSkKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgdW50YWdnZWRfaSA9IHN1ZmZpeGVzLmluZGV4KCIucHlkIikKKyAgICAgICAgZXhjZXB0IFZhbHVlRXJyb3I6CisgICAgICAgICAgICB1bnRhZ2dlZF9pID0gc3VmZml4ZXMuaW5kZXgoIl9kLnB5ZCIpCisgICAgICAgICAgICBleHBlY3RlZF90YWcgPSAiX2QiICsgZXhwZWN0ZWRfdGFnCisKKyAgICAgICAgc2VsZi5hc3NlcnRJbihleHBlY3RlZF90YWcsIHN1ZmZpeGVzKQorCisgICAgICAgICMgRW5zdXJlIHRoZSB0YWdzIGFyZSBpbiB0aGUgY29ycmVjdCBvcmRlcgorICAgICAgICB0YWdnZWRfaSA9IHN1ZmZpeGVzLmluZGV4KGV4cGVjdGVkX3RhZykKKyAgICAgICAgc2VsZi5hc3NlcnRMZXNzKHRhZ2dlZF9pLCB1bnRhZ2dlZF9pKQorCisoRnJvemVuX1dpbmRvd3NFeHRlbnNpb25TdWZmaXhUZXN0cywKKyBTb3VyY2VfV2luZG93c0V4dGVuc2lvblN1ZmZpeFRlc3RzCisgKSA9IHRlc3RfdXRpbC50ZXN0X2JvdGgoV2luZG93c0V4dGVuc2lvblN1ZmZpeFRlc3RzLCBtYWNoaW5lcnk9bWFjaGluZXJ5KQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvdXRpbC5weSBiL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL3V0aWwucHkKaW5kZXggODg1Y2VjMy4uYWE0Y2Q3ZSAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvdXRpbC5weQorKysgYi9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi91dGlsLnB5CkBAIC0xLDMxICsxLDg1IEBACi1mcm9tIGNvbnRleHRsaWIgaW1wb3J0IGNvbnRleHRtYW5hZ2VyCi1mcm9tIGltcG9ydGxpYiBpbXBvcnQgdXRpbCwgaW52YWxpZGF0ZV9jYWNoZXMKK2ltcG9ydCBidWlsdGlucworaW1wb3J0IGNvbnRleHRsaWIKK2ltcG9ydCBlcnJubworaW1wb3J0IGZ1bmN0b29scworaW1wb3J0IGltcG9ydGxpYgorZnJvbSBpbXBvcnRsaWIgaW1wb3J0IG1hY2hpbmVyeSwgdXRpbCwgaW52YWxpZGF0ZV9jYWNoZXMKK2ltcG9ydCBvcwogaW1wb3J0IG9zLnBhdGgKIGZyb20gdGVzdCBpbXBvcnQgc3VwcG9ydAogaW1wb3J0IHVuaXR0ZXN0CiBpbXBvcnQgc3lzCitpbXBvcnQgdGVtcGZpbGUKIGltcG9ydCB0eXBlcwogCiAKK0JVSUxUSU5TID0gdHlwZXMuU2ltcGxlTmFtZXNwYWNlKCkKK0JVSUxUSU5TLmdvb2RfbmFtZSA9IE5vbmUKK0JVSUxUSU5TLmJhZF9uYW1lID0gTm9uZQoraWYgJ2Vycm5vJyBpbiBzeXMuYnVpbHRpbl9tb2R1bGVfbmFtZXM6CisgICAgQlVJTFRJTlMuZ29vZF9uYW1lID0gJ2Vycm5vJworaWYgJ2ltcG9ydGxpYicgbm90IGluIHN5cy5idWlsdGluX21vZHVsZV9uYW1lczoKKyAgICBCVUlMVElOUy5iYWRfbmFtZSA9ICdpbXBvcnRsaWInCisKK0VYVEVOU0lPTlMgPSB0eXBlcy5TaW1wbGVOYW1lc3BhY2UoKQorRVhURU5TSU9OUy5wYXRoID0gTm9uZQorRVhURU5TSU9OUy5leHQgPSBOb25lCitFWFRFTlNJT05TLmZpbGVuYW1lID0gTm9uZQorRVhURU5TSU9OUy5maWxlX3BhdGggPSBOb25lCitFWFRFTlNJT05TLm5hbWUgPSAnX3Rlc3RjYXBpJworCitkZWYgX2V4dGVuc2lvbl9kZXRhaWxzKCk6CisgICAgZ2xvYmFsIEVYVEVOU0lPTlMKKyAgICBmb3IgcGF0aCBpbiBzeXMucGF0aDoKKyAgICAgICAgZm9yIGV4dCBpbiBtYWNoaW5lcnkuRVhURU5TSU9OX1NVRkZJWEVTOgorICAgICAgICAgICAgZmlsZW5hbWUgPSBFWFRFTlNJT05TLm5hbWUgKyBleHQKKyAgICAgICAgICAgIGZpbGVfcGF0aCA9IG9zLnBhdGguam9pbihwYXRoLCBmaWxlbmFtZSkKKyAgICAgICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKGZpbGVfcGF0aCk6CisgICAgICAgICAgICAgICAgRVhURU5TSU9OUy5wYXRoID0gcGF0aAorICAgICAgICAgICAgICAgIEVYVEVOU0lPTlMuZXh0ID0gZXh0CisgICAgICAgICAgICAgICAgRVhURU5TSU9OUy5maWxlbmFtZSA9IGZpbGVuYW1lCisgICAgICAgICAgICAgICAgRVhURU5TSU9OUy5maWxlX3BhdGggPSBmaWxlX3BhdGgKKyAgICAgICAgICAgICAgICByZXR1cm4KKworX2V4dGVuc2lvbl9kZXRhaWxzKCkKKworCiBkZWYgaW1wb3J0X2ltcG9ydGxpYihtb2R1bGVfbmFtZSk6CiAgICAgIiIiSW1wb3J0IGEgbW9kdWxlIGZyb20gaW1wb3J0bGliIGJvdGggdy8gYW5kIHcvbyBfZnJvemVuX2ltcG9ydGxpYi4iIiIKICAgICBmcmVzaCA9ICgnaW1wb3J0bGliJywpIGlmICcuJyBpbiBtb2R1bGVfbmFtZSBlbHNlICgpCiAgICAgZnJvemVuID0gc3VwcG9ydC5pbXBvcnRfZnJlc2hfbW9kdWxlKG1vZHVsZV9uYW1lKQogICAgIHNvdXJjZSA9IHN1cHBvcnQuaW1wb3J0X2ZyZXNoX21vZHVsZShtb2R1bGVfbmFtZSwgZnJlc2g9ZnJlc2gsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsb2NrZWQ9KCdfZnJvemVuX2ltcG9ydGxpYicsKSkKKyAgICByZXR1cm4geydGcm96ZW4nOiBmcm96ZW4sICdTb3VyY2UnOiBzb3VyY2V9CisKKworZGVmIHNwZWNpYWxpemVfY2xhc3MoY2xzLCBraW5kLCBiYXNlPU5vbmUsICoqa3dhcmdzKToKKyAgICAjIFhYWCBTdXBwb3J0IHBhc3NpbmcgaW4gc3VibW9kdWxlIG5hbWVzLS1sb2FkIChhbmQgY2FjaGUpIHRoZW0/CisgICAgIyBUaGF0IHdvdWxkIGNsZWFuIHVwIHRoZSB0ZXN0IG1vZHVsZXMgYSBiaXQgbW9yZS4KKyAgICBpZiBiYXNlIGlzIE5vbmU6CisgICAgICAgIGJhc2UgPSB1bml0dGVzdC5UZXN0Q2FzZQorICAgIGVsaWYgbm90IGlzaW5zdGFuY2UoYmFzZSwgdHlwZSk6CisgICAgICAgIGJhc2UgPSBiYXNlW2tpbmRdCisgICAgbmFtZSA9ICd7fV97fScuZm9ybWF0KGtpbmQsIGNscy5fX25hbWVfXykKKyAgICBiYXNlcyA9IChjbHMsIGJhc2UpCisgICAgc3BlY2lhbGl6ZWQgPSB0eXBlcy5uZXdfY2xhc3MobmFtZSwgYmFzZXMpCisgICAgc3BlY2lhbGl6ZWQuX19tb2R1bGVfXyA9IGNscy5fX21vZHVsZV9fCisgICAgc3BlY2lhbGl6ZWQuX05BTUUgPSBjbHMuX19uYW1lX18KKyAgICBzcGVjaWFsaXplZC5fS0lORCA9IGtpbmQKKyAgICBmb3IgYXR0ciwgdmFsdWVzIGluIGt3YXJncy5pdGVtcygpOgorICAgICAgICB2YWx1ZSA9IHZhbHVlc1traW5kXQorICAgICAgICBzZXRhdHRyKHNwZWNpYWxpemVkLCBhdHRyLCB2YWx1ZSkKKyAgICByZXR1cm4gc3BlY2lhbGl6ZWQKKworCitkZWYgc3BsaXRfZnJvemVuKGNscywgYmFzZT1Ob25lLCAqKmt3YXJncyk6CisgICAgZnJvemVuID0gc3BlY2lhbGl6ZV9jbGFzcyhjbHMsICdGcm96ZW4nLCBiYXNlLCAqKmt3YXJncykKKyAgICBzb3VyY2UgPSBzcGVjaWFsaXplX2NsYXNzKGNscywgJ1NvdXJjZScsIGJhc2UsICoqa3dhcmdzKQogICAgIHJldHVybiBmcm96ZW4sIHNvdXJjZQogCiAKLWRlZiB0ZXN0X2JvdGgodGVzdF9jbGFzcywgKiprd2FyZ3MpOgotICAgIGZyb3plbl90ZXN0cyA9IHR5cGVzLm5ld19jbGFzcygnRnJvemVuXycrdGVzdF9jbGFzcy5fX25hbWVfXywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHRlc3RfY2xhc3MsIHVuaXR0ZXN0LlRlc3RDYXNlKSkKLSAgICBzb3VyY2VfdGVzdHMgPSB0eXBlcy5uZXdfY2xhc3MoJ1NvdXJjZV8nK3Rlc3RfY2xhc3MuX19uYW1lX18sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh0ZXN0X2NsYXNzLCB1bml0dGVzdC5UZXN0Q2FzZSkpCi0gICAgZnJvemVuX3Rlc3RzLl9fbW9kdWxlX18gPSBzb3VyY2VfdGVzdHMuX19tb2R1bGVfXyA9IHRlc3RfY2xhc3MuX19tb2R1bGVfXwotICAgIGZvciBhdHRyLCAoZnJvemVuX3ZhbHVlLCBzb3VyY2VfdmFsdWUpIGluIGt3YXJncy5pdGVtcygpOgotICAgICAgICBzZXRhdHRyKGZyb3plbl90ZXN0cywgYXR0ciwgZnJvemVuX3ZhbHVlKQotICAgICAgICBzZXRhdHRyKHNvdXJjZV90ZXN0cywgYXR0ciwgc291cmNlX3ZhbHVlKQotICAgIHJldHVybiBmcm96ZW5fdGVzdHMsIHNvdXJjZV90ZXN0cworZGVmIHRlc3RfYm90aCh0ZXN0X2NsYXNzLCBiYXNlPU5vbmUsICoqa3dhcmdzKToKKyAgICByZXR1cm4gc3BsaXRfZnJvemVuKHRlc3RfY2xhc3MsIGJhc2UsICoqa3dhcmdzKQogCiAKIENBU0VfSU5TRU5TSVRJVkVfRlMgPSBUcnVlCkBAIC0zOCw2ICs5MiwxMCBAQAogICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhjaGFuZ2VkX25hbWUpOgogICAgICAgICBDQVNFX0lOU0VOU0lUSVZFX0ZTID0gRmFsc2UKIAorc291cmNlX2ltcG9ydGxpYiA9IGltcG9ydF9pbXBvcnRsaWIoJ2ltcG9ydGxpYicpWydTb3VyY2UnXQorX19pbXBvcnRfXyA9IHsnRnJvemVuJzogc3RhdGljbWV0aG9kKGJ1aWx0aW5zLl9faW1wb3J0X18pLAorICAgICAgICAgICAgICAnU291cmNlJzogc3RhdGljbWV0aG9kKHNvdXJjZV9pbXBvcnRsaWIuX19pbXBvcnRfXyl9CisKIAogZGVmIGNhc2VfaW5zZW5zaXRpdmVfdGVzdHModGVzdCk6CiAgICAgIiIiQ2xhc3MgZGVjb3JhdG9yIHRoYXQgbnVsbGlmaWVzIHRlc3RzIHJlcXVpcmluZyBhIGNhc2UtaW5zZW5zaXRpdmUKQEAgLTUzLDcgKzExMSw3IEBACiAgICAgcmV0dXJuICd7fS57fScuZm9ybWF0KHBhcmVudCwgbmFtZSksIHBhdGgKIAogCi1AY29udGV4dG1hbmFnZXIKK0Bjb250ZXh0bGliLmNvbnRleHRtYW5hZ2VyCiBkZWYgdW5jYWNoZSgqbmFtZXMpOgogICAgICIiIlVuY2FjaGUgYSBtb2R1bGUgZnJvbSBzeXMubW9kdWxlcy4KIApAQCAtNzksNyArMTM3LDcgQEAKICAgICAgICAgICAgICAgICBwYXNzCiAKIAotQGNvbnRleHRtYW5hZ2VyCitAY29udGV4dGxpYi5jb250ZXh0bWFuYWdlcgogZGVmIHRlbXBfbW9kdWxlKG5hbWUsIGNvbnRlbnQ9JycsICosIHBrZz1GYWxzZSk6CiAgICAgY29uZmxpY3RzID0gW24gZm9yIG4gaW4gc3lzLm1vZHVsZXMgaWYgbi5wYXJ0aXRpb24oJy4nKVswXSA9PSBuYW1lXQogICAgIHdpdGggc3VwcG9ydC50ZW1wX2N3ZChOb25lKSBhcyBjd2Q6CkBAIC0xMDMsNyArMTYxLDcgQEAKICAgICAgICAgICAgICAgICB5aWVsZCBsb2NhdGlvbgogCiAKLUBjb250ZXh0bWFuYWdlcgorQGNvbnRleHRsaWIuY29udGV4dG1hbmFnZXIKIGRlZiBpbXBvcnRfc3RhdGUoKiprd2FyZ3MpOgogICAgICIiIkNvbnRleHQgbWFuYWdlciB0byBtYW5hZ2UgdGhlIHZhcmlvdXMgaW1wb3J0ZXJzIGFuZCBzdG9yZWQgc3RhdGUgaW4gdGhlCiAgICAgc3lzIG1vZHVsZS4KQEAgLTE5OCw2ICsyNTYsNyBAQAogICAgICAgICAgICAgICAgICAgICByYWlzZQogICAgICAgICAgICAgcmV0dXJuIHNlbGYubW9kdWxlc1tmdWxsbmFtZV0KIAorCiBjbGFzcyBtb2NrX3NwZWMoX0ltcG9ydGVyTW9jayk6CiAKICAgICAiIiJJbXBvcnRlciBtb2NrIHVzaW5nIFBFUCA0NTEgQVBJcy4iIiIKQEAgLTIyMywzICsyODIsOTkgQEAKICAgICAgICAgICAgIHNlbGYubW9kdWxlX2NvZGVbbW9kdWxlLl9fc3BlY19fLm5hbWVdKCkKICAgICAgICAgZXhjZXB0IEtleUVycm9yOgogICAgICAgICAgICAgcGFzcworCisKK2RlZiB3cml0ZXNfYnl0ZWNvZGVfZmlsZXMoZnhuKToKKyAgICAiIiJEZWNvcmF0b3IgdG8gcHJvdGVjdCBzeXMuZG9udF93cml0ZV9ieXRlY29kZSBmcm9tIG11dGF0aW9uIGFuZCB0byBza2lwCisgICAgdGVzdHMgdGhhdCByZXF1aXJlIGl0IHRvIGJlIHNldCB0byBGYWxzZS4iIiIKKyAgICBpZiBzeXMuZG9udF93cml0ZV9ieXRlY29kZToKKyAgICAgICAgcmV0dXJuIGxhbWJkYSAqYXJncywgKiprd2FyZ3M6IE5vbmUKKyAgICBAZnVuY3Rvb2xzLndyYXBzKGZ4bikKKyAgICBkZWYgd3JhcHBlcigqYXJncywgKiprd2FyZ3MpOgorICAgICAgICBvcmlnaW5hbCA9IHN5cy5kb250X3dyaXRlX2J5dGVjb2RlCisgICAgICAgIHN5cy5kb250X3dyaXRlX2J5dGVjb2RlID0gRmFsc2UKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgdG9fcmV0dXJuID0gZnhuKCphcmdzLCAqKmt3YXJncykKKyAgICAgICAgZmluYWxseToKKyAgICAgICAgICAgIHN5cy5kb250X3dyaXRlX2J5dGVjb2RlID0gb3JpZ2luYWwKKyAgICAgICAgcmV0dXJuIHRvX3JldHVybgorICAgIHJldHVybiB3cmFwcGVyCisKKworZGVmIGVuc3VyZV9ieXRlY29kZV9wYXRoKGJ5dGVjb2RlX3BhdGgpOgorICAgICIiIkVuc3VyZSB0aGF0IHRoZSBfX3B5Y2FjaGVfXyBkaXJlY3RvcnkgZm9yIFBFUCAzMTQ3IHB5YyBmaWxlIGV4aXN0cy4KKworICAgIDpwYXJhbSBieXRlY29kZV9wYXRoOiBGaWxlIHN5c3RlbSBwYXRoIHRvIFBFUCAzMTQ3IHB5YyBmaWxlLgorICAgICIiIgorICAgIHRyeToKKyAgICAgICAgb3MubWtkaXIob3MucGF0aC5kaXJuYW1lKGJ5dGVjb2RlX3BhdGgpKQorICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGVycm9yOgorICAgICAgICBpZiBlcnJvci5lcnJubyAhPSBlcnJuby5FRVhJU1Q6CisgICAgICAgICAgICByYWlzZQorCisKK0Bjb250ZXh0bGliLmNvbnRleHRtYW5hZ2VyCitkZWYgY3JlYXRlX21vZHVsZXMoKm5hbWVzKToKKyAgICAiIiJUZW1wb3JhcmlseSBjcmVhdGUgZWFjaCBuYW1lZCBtb2R1bGUgd2l0aCBhbiBhdHRyaWJ1dGUgKG5hbWVkICdhdHRyJykKKyAgICB0aGF0IGNvbnRhaW5zIHRoZSBuYW1lIHBhc3NlZCBpbnRvIHRoZSBjb250ZXh0IG1hbmFnZXIgdGhhdCBjYXVzZWQgdGhlCisgICAgY3JlYXRpb24gb2YgdGhlIG1vZHVsZS4KKworICAgIEFsbCBmaWxlcyBhcmUgY3JlYXRlZCBpbiBhIHRlbXBvcmFyeSBkaXJlY3RvcnkgcmV0dXJuZWQgYnkKKyAgICB0ZW1wZmlsZS5ta2R0ZW1wKCkuIFRoaXMgZGlyZWN0b3J5IGlzIGluc2VydGVkIGF0IHRoZSBiZWdpbm5pbmcgb2YKKyAgICBzeXMucGF0aC4gV2hlbiB0aGUgY29udGV4dCBtYW5hZ2VyIGV4aXRzIGFsbCBjcmVhdGVkIGZpbGVzIChzb3VyY2UgYW5kCisgICAgYnl0ZWNvZGUpIGFyZSBleHBsaWNpdGx5IGRlbGV0ZWQuCisKKyAgICBObyBtYWdpYyBpcyBwZXJmb3JtZWQgd2hlbiBjcmVhdGluZyBwYWNrYWdlcyEgVGhpcyBtZWFucyB0aGF0IGlmIHlvdSBjcmVhdGUKKyAgICBhIG1vZHVsZSB3aXRoaW4gYSBwYWNrYWdlIHlvdSBtdXN0IGFsc28gY3JlYXRlIHRoZSBwYWNrYWdlJ3MgX19pbml0X18gYXMKKyAgICB3ZWxsLgorCisgICAgIiIiCisgICAgc291cmNlID0gJ2F0dHIgPSB7MCFyfScKKyAgICBjcmVhdGVkX3BhdGhzID0gW10KKyAgICBtYXBwaW5nID0ge30KKyAgICBzdGF0ZV9tYW5hZ2VyID0gTm9uZQorICAgIHVuY2FjaGVfbWFuYWdlciA9IE5vbmUKKyAgICB0cnk6CisgICAgICAgIHRlbXBfZGlyID0gdGVtcGZpbGUubWtkdGVtcCgpCisgICAgICAgIG1hcHBpbmdbJy5yb290J10gPSB0ZW1wX2RpcgorICAgICAgICBpbXBvcnRfbmFtZXMgPSBzZXQoKQorICAgICAgICBmb3IgbmFtZSBpbiBuYW1lczoKKyAgICAgICAgICAgIGlmIG5vdCBuYW1lLmVuZHN3aXRoKCdfX2luaXRfXycpOgorICAgICAgICAgICAgICAgIGltcG9ydF9uYW1lID0gbmFtZQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBpbXBvcnRfbmFtZSA9IG5hbWVbOi1sZW4oJy5fX2luaXRfXycpXQorICAgICAgICAgICAgaW1wb3J0X25hbWVzLmFkZChpbXBvcnRfbmFtZSkKKyAgICAgICAgICAgIGlmIGltcG9ydF9uYW1lIGluIHN5cy5tb2R1bGVzOgorICAgICAgICAgICAgICAgIGRlbCBzeXMubW9kdWxlc1tpbXBvcnRfbmFtZV0KKyAgICAgICAgICAgIG5hbWVfcGFydHMgPSBuYW1lLnNwbGl0KCcuJykKKyAgICAgICAgICAgIGZpbGVfcGF0aCA9IHRlbXBfZGlyCisgICAgICAgICAgICBmb3IgZGlyZWN0b3J5IGluIG5hbWVfcGFydHNbOi0xXToKKyAgICAgICAgICAgICAgICBmaWxlX3BhdGggPSBvcy5wYXRoLmpvaW4oZmlsZV9wYXRoLCBkaXJlY3RvcnkpCisgICAgICAgICAgICAgICAgaWYgbm90IG9zLnBhdGguZXhpc3RzKGZpbGVfcGF0aCk6CisgICAgICAgICAgICAgICAgICAgIG9zLm1rZGlyKGZpbGVfcGF0aCkKKyAgICAgICAgICAgICAgICAgICAgY3JlYXRlZF9wYXRocy5hcHBlbmQoZmlsZV9wYXRoKQorICAgICAgICAgICAgZmlsZV9wYXRoID0gb3MucGF0aC5qb2luKGZpbGVfcGF0aCwgbmFtZV9wYXJ0c1stMV0gKyAnLnB5JykKKyAgICAgICAgICAgIHdpdGggb3BlbihmaWxlX3BhdGgsICd3JykgYXMgZmlsZToKKyAgICAgICAgICAgICAgICBmaWxlLndyaXRlKHNvdXJjZS5mb3JtYXQobmFtZSkpCisgICAgICAgICAgICBjcmVhdGVkX3BhdGhzLmFwcGVuZChmaWxlX3BhdGgpCisgICAgICAgICAgICBtYXBwaW5nW25hbWVdID0gZmlsZV9wYXRoCisgICAgICAgIHVuY2FjaGVfbWFuYWdlciA9IHVuY2FjaGUoKmltcG9ydF9uYW1lcykKKyAgICAgICAgdW5jYWNoZV9tYW5hZ2VyLl9fZW50ZXJfXygpCisgICAgICAgIHN0YXRlX21hbmFnZXIgPSBpbXBvcnRfc3RhdGUocGF0aD1bdGVtcF9kaXJdKQorICAgICAgICBzdGF0ZV9tYW5hZ2VyLl9fZW50ZXJfXygpCisgICAgICAgIHlpZWxkIG1hcHBpbmcKKyAgICBmaW5hbGx5OgorICAgICAgICBpZiBzdGF0ZV9tYW5hZ2VyIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgc3RhdGVfbWFuYWdlci5fX2V4aXRfXyhOb25lLCBOb25lLCBOb25lKQorICAgICAgICBpZiB1bmNhY2hlX21hbmFnZXIgaXMgbm90IE5vbmU6CisgICAgICAgICAgICB1bmNhY2hlX21hbmFnZXIuX19leGl0X18oTm9uZSwgTm9uZSwgTm9uZSkKKyAgICAgICAgc3VwcG9ydC5ybXRyZWUodGVtcF9kaXIpCisKKworZGVmIG1vY2tfcGF0aF9ob29rKCplbnRyaWVzLCBpbXBvcnRlcik6CisgICAgIiIiQSBtb2NrIHN5cy5wYXRoX2hvb2tzIGVudHJ5LiIiIgorICAgIGRlZiBob29rKGVudHJ5KToKKyAgICAgICAgaWYgZW50cnkgbm90IGluIGVudHJpZXM6CisgICAgICAgICAgICByYWlzZSBJbXBvcnRFcnJvcgorICAgICAgICByZXR1cm4gaW1wb3J0ZXIKKyAgICByZXR1cm4gaG9vawpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9pbnNwZWN0LnB5IGIvTGliL3Rlc3QvdGVzdF9pbnNwZWN0LnB5CmluZGV4IGZjM2JmMDcuLmJiYzUzODUgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfaW5zcGVjdC5weQorKysgYi9MaWIvdGVzdC90ZXN0X2luc3BlY3QucHkKQEAgLTEsMyArMSw0IEBACitpbXBvcnQgYnVpbHRpbnMKIGltcG9ydCBjb2xsZWN0aW9ucwogaW1wb3J0IGRhdGV0aW1lCiBpbXBvcnQgZnVuY3Rvb2xzCkBAIC04LDYgKzksNyBAQAogaW1wb3J0IG9zCiBmcm9tIG9zLnBhdGggaW1wb3J0IG5vcm1jYXNlCiBpbXBvcnQgX3BpY2tsZQoraW1wb3J0IHBpY2tsZQogaW1wb3J0IHJlCiBpbXBvcnQgc2h1dGlsCiBpbXBvcnQgc3lzCkBAIC0yMyw3ICsyNSw3IEBACiAgICAgVGhyZWFkUG9vbEV4ZWN1dG9yID0gTm9uZQogCiBmcm9tIHRlc3Quc3VwcG9ydCBpbXBvcnQgcnVuX3VuaXR0ZXN0LCBURVNURk4sIERpcnNPblN5c1BhdGgsIGNweXRob25fb25seQotZnJvbSB0ZXN0LnN1cHBvcnQgaW1wb3J0IE1JU1NJTkdfQ19ET0NTVFJJTkdTCitmcm9tIHRlc3Quc3VwcG9ydCBpbXBvcnQgTUlTU0lOR19DX0RPQ1NUUklOR1MsIGNweXRob25fb25seQogZnJvbSB0ZXN0LnNjcmlwdF9oZWxwZXIgaW1wb3J0IGFzc2VydF9weXRob25fb2ssIGFzc2VydF9weXRob25fZmFpbHVyZQogZnJvbSB0ZXN0IGltcG9ydCBpbnNwZWN0X2ZvZGRlciBhcyBtb2QKIGZyb20gdGVzdCBpbXBvcnQgaW5zcGVjdF9mb2RkZXIyIGFzIG1vZDIKQEAgLTc2LDYgKzc4LDcgQEAKICAgICBmb3IgaSBpbiByYW5nZSgyKToKICAgICAgICAgeWllbGQgaQogCisKIGNsYXNzIFRlc3RQcmVkaWNhdGVzKElzVGVzdEJhc2UpOgogICAgIGRlZiB0ZXN0X3NpeHRlZW4oc2VsZik6CiAgICAgICAgIGNvdW50ID0gbGVuKFt4IGZvciB4IGluIGRpcihpbnNwZWN0KSBpZiB4LnN0YXJ0c3dpdGgoJ2lzJyldKQpAQCAtMTgyLDYgKzE4NSwxNCBAQAogICAgICAgICAgICAgIChtb2RmaWxlLCA0MywgJ2FyZ3VlJywgWycgICAgICAgICAgICBzcGFtKGEsIGIsIGMpXG4nXSwgMCkpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmV2aXNlKCptb2Quc3RbM11bMTpdKSwKICAgICAgICAgICAgICAobW9kZmlsZSwgMzksICdhYnVzZScsIFsnICAgICAgICBzZWxmLmFyZ3VlKGEsIGIsIGMpXG4nXSwgMCkpCisgICAgICAgICMgVGVzdCBuYW1lZCB0dXBsZSBmaWVsZHMKKyAgICAgICAgcmVjb3JkID0gbW9kLnN0WzBdCisgICAgICAgIHNlbGYuYXNzZXJ0SXMocmVjb3JkLmZyYW1lLCBtb2QuZnIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVjb3JkLmxpbmVubywgMTYpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVjb3JkLmZpbGVuYW1lLCBtb2QuX19maWxlX18pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVjb3JkLmZ1bmN0aW9uLCAnZWdncycpCisgICAgICAgIHNlbGYuYXNzZXJ0SW4oJ2luc3BlY3Quc3RhY2soKScsIHJlY29yZC5jb2RlX2NvbnRleHRbMF0pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVjb3JkLmluZGV4LCAwKQogCiAgICAgZGVmIHRlc3RfdHJhY2Uoc2VsZik6CiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKGdpdC50ciksIDMpCkBAIC0zNjksNiArMzgwLDkgQEAKICAgICBkZWYgdGVzdF9yZXBsYWNpbmdfZGVjb3JhdG9yKHNlbGYpOgogICAgICAgICBzZWxmLmFzc2VydFNvdXJjZUVxdWFsKG1vZDIuZ29uZSwgOSwgMTApCiAKKyAgICBkZWYgdGVzdF9nZXRzb3VyY2VfdW53cmFwKHNlbGYpOgorICAgICAgICBzZWxmLmFzc2VydFNvdXJjZUVxdWFsKG1vZDIucmVhbCwgMTIyLCAxMjQpCisKIGNsYXNzIFRlc3RPbmVsaW5lcnMoR2V0U291cmNlQmFzZSk6CiAgICAgZm9kZGVyTW9kdWxlID0gbW9kMgogICAgIGRlZiB0ZXN0X29uZWxpbmVfbGFtYmRhKHNlbGYpOgpAQCAtMTYxNSw2ICsxNjI5LDY4IEBACiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgaW5zcGVjdC5nZXRnZW5lcmF0b3Jsb2NhbHMsICgyLDMpKQogCiAKK2NsYXNzIE15U2lnbmF0dXJlKGluc3BlY3QuU2lnbmF0dXJlKToKKyAgICAjIFRvcC1sZXZlbCB0byBtYWtlIGl0IHBpY2tsYWJsZTsKKyAgICAjIHVzZWQgaW4gdGVzdF9zaWduYXR1cmVfb2JqZWN0X3BpY2tsZQorICAgIHBhc3MKKworY2xhc3MgTXlQYXJhbWV0ZXIoaW5zcGVjdC5QYXJhbWV0ZXIpOgorICAgICMgVG9wLWxldmVsIHRvIG1ha2UgaXQgcGlja2xhYmxlOworICAgICMgdXNlZCBpbiB0ZXN0X3NpZ25hdHVyZV9vYmplY3RfcGlja2xlCisgICAgcGFzcworCisgICAgQGNweXRob25fb25seQorICAgIEB1bml0dGVzdC5za2lwSWYoTUlTU0lOR19DX0RPQ1NUUklOR1MsCisgICAgICAgICAgICAgICAgICAgICAiU2lnbmF0dXJlIGluZm9ybWF0aW9uIGZvciBidWlsdGlucyByZXF1aXJlcyBkb2NzdHJpbmdzIikKKyAgICBkZWYgdGVzdF9idWlsdGluc19oYXZlX3NpZ25hdHVyZXMoc2VsZik6CisgICAgICAgICMgVGhpcyBjaGVja3MgYWxsIGJ1aWx0aW4gY2FsbGFibGVzIGluIENQeXRob24gaGF2ZSBzaWduYXR1cmVzCisgICAgICAgICMgQSBmZXcgaGF2ZSBzaWduYXR1cmVzIFNpZ25hdHVyZSBjYW4ndCB5ZXQgaGFuZGxlLCBzbyB3ZSBza2lwIHRob3NlCisgICAgICAgICMgc2luY2UgdGhleSB3aWxsIGhhdmUgdG8gd2FpdCB1bnRpbCBQRVAgNDU3IGFkZHMgdGhlIHJlcXVpcmVkCisgICAgICAgICMgaW50cm9zcGVjdGlvbiBzdXBwb3J0IHRvIHRoZSBpbnNwZWN0IG1vZHVsZQorICAgICAgICAjIFNvbWUgb3RoZXJzIGFsc28gaGF2ZW4ndCBiZWVuIGNvbnZlcnRlZCB5ZXQgZm9yIHZhcmlvdXMgb3RoZXIKKyAgICAgICAgIyByZWFzb25zLCBzbyB3ZSBhbHNvIHNraXAgdGhvc2UgZm9yIHRoZSB0aW1lIGJlaW5nLCBidXQgZGVzaWduCisgICAgICAgICMgdGhlIHRlc3QgdG8gZmFpbCBpbiBvcmRlciB0byBpbmRpY2F0ZSB3aGVuIGl0IG5lZWRzIHRvIGJlCisgICAgICAgICMgdXBkYXRlZC4KKyAgICAgICAgbm9fc2lnbmF0dXJlID0gc2V0KCkKKyAgICAgICAgIyBUaGVzZSBuZWVkIFBFUCA0NTcgZ3JvdXBzCisgICAgICAgIG5lZWRzX2dyb3VwcyA9IFsicmFuZ2UiLCAic2xpY2UiLCAiZGlyIiwgImdldGF0dHIiLAorICAgICAgICAgICAgICAgICAgICAgICAgIm5leHQiLCAiaXRlciIsICJ2YXJzIl0KKyAgICAgICAgbm9fc2lnbmF0dXJlIHw9IG5lZWRzX2dyb3VwcworICAgICAgICAjIFRoZXNlIG5lZWQgUEVQIDQ1NyBncm91cHMgb3IgYSBzaWduYXR1cmUgY2hhbmdlIHRvIGFjY2VwdCBOb25lCisgICAgICAgIG5lZWRzX3NlbWFudGljX3VwZGF0ZSA9IFsicm91bmQiXQorICAgICAgICBub19zaWduYXR1cmUgfD0gbmVlZHNfc2VtYW50aWNfdXBkYXRlCisgICAgICAgICMgVGhlc2UgbmVlZCAqYXJncyBzdXBwb3J0IGluIEFyZ3VtZW50IENsaW5pYworICAgICAgICBuZWVkc192YXJhcmdzID0gWyJtaW4iLCAibWF4IiwgInByaW50IiwgIl9fYnVpbGRfY2xhc3NfXyJdCisgICAgICAgIG5vX3NpZ25hdHVyZSB8PSBuZWVkc192YXJhcmdzCisgICAgICAgICMgVGhlc2Ugc2ltcGx5IHdlcmVuJ3QgY292ZXJlZCBpbiB0aGUgaW5pdGlhbCBBQyBjb252ZXJzaW9uCisgICAgICAgICMgZm9yIGJ1aWx0aW4gY2FsbGFibGVzCisgICAgICAgIG5vdF9jb252ZXJ0ZWRfeWV0ID0gWyJvcGVuIiwgIl9faW1wb3J0X18iXQorICAgICAgICBub19zaWduYXR1cmUgfD0gbm90X2NvbnZlcnRlZF95ZXQKKyAgICAgICAgIyBUaGVzZSBidWlsdGluIHR5cGVzIGFyZSBleHBlY3RlZCB0byBwcm92aWRlIGludHJvc3BlY3Rpb24gaW5mbworICAgICAgICB0eXBlc193aXRoX3NpZ25hdHVyZXMgPSBzZXQoKQorICAgICAgICAjIENoZWNrIHRoZSBzaWduYXR1cmVzIHdlIGV4cGVjdCB0byBiZSB0aGVyZQorICAgICAgICBucyA9IHZhcnMoYnVpbHRpbnMpCisgICAgICAgIGZvciBuYW1lLCBvYmogaW4gc29ydGVkKG5zLml0ZW1zKCkpOgorICAgICAgICAgICAgaWYgbm90IGNhbGxhYmxlKG9iaik6CisgICAgICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgICAgICMgVGhlIGJ1aWx0aW4gdHlwZXMgaGF2ZW4ndCBiZWVuIGNvbnZlcnRlZCB0byBBQyB5ZXQKKyAgICAgICAgICAgIGlmIGlzaW5zdGFuY2Uob2JqLCB0eXBlKSBhbmQgKG5hbWUgbm90IGluIHR5cGVzX3dpdGhfc2lnbmF0dXJlcyk6CisgICAgICAgICAgICAgICAgIyBOb3RlIHRoYXQgdGhpcyBhbHNvIHNraXBzIGFsbCB0aGUgZXhjZXB0aW9uIHR5cGVzCisgICAgICAgICAgICAgICAgbm9fc2lnbmF0dXJlLmFwcGVuZChuYW1lKQorICAgICAgICAgICAgaWYgKG5hbWUgaW4gbm9fc2lnbmF0dXJlKToKKyAgICAgICAgICAgICAgICAjIE5vdCB5ZXQgY29udmVydGVkCisgICAgICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgICAgIHdpdGggc2VsZi5zdWJUZXN0KGJ1aWx0aW49bmFtZSk6CisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRJc05vdE5vbmUoaW5zcGVjdC5zaWduYXR1cmUob2JqKSkKKyAgICAgICAgIyBDaGVjayBjYWxsYWJsZXMgdGhhdCBoYXZlbid0IGJlZW4gY29udmVydGVkIGRvbid0IGNsYWltIGEgc2lnbmF0dXJlCisgICAgICAgICMgVGhpcyBlbnN1cmVzIHRoaXMgdGVzdCB3aWxsIHN0YXJ0IGZhaWxpbmcgYXMgbW9yZSBzaWduYXR1cmVzIGFyZQorICAgICAgICAjIGFkZGVkLCBzbyB0aGUgYWZmZWN0ZWQgaXRlbXMgY2FuIGJlIG1vdmVkIGludG8gdGhlIHNjb3BlIG9mIHRoZQorICAgICAgICAjIHJlZ3Jlc3Npb24gdGVzdCBhYm92ZQorICAgICAgICBmb3IgbmFtZSBpbiBub19zaWduYXR1cmU6CisgICAgICAgICAgICB3aXRoIHNlbGYuc3ViVGVzdChidWlsdGluPW5hbWUpOgorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXNOb25lKG5zW25hbWVdLl9fdGV4dF9zaWduYXR1cmVfXykKKworCiBjbGFzcyBUZXN0U2lnbmF0dXJlT2JqZWN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICBAc3RhdGljbWV0aG9kCiAgICAgZGVmIHNpZ25hdHVyZShmdW5jKToKQEAgLTE2NzIsNiArMTc0OCwzNyBAQAogICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoVmFsdWVFcnJvciwgJ2ZvbGxvd3MgZGVmYXVsdCBhcmd1bWVudCcpOgogICAgICAgICAgICAgUygocGtkLCBwaykpCiAKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHJlcHIoc2lnKS5zdGFydHN3aXRoKCc8U2lnbmF0dXJlJykpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZSgnIihwbywgcGsnIGluIHJlcHIoc2lnKSkKKworICAgIGRlZiB0ZXN0X3NpZ25hdHVyZV9vYmplY3RfcGlja2xlKHNlbGYpOgorICAgICAgICBkZWYgZm9vKGEsIGIsICosIGM6MT17fSwgKiprdykgLT4gezQyOidoYW0nfTogcGFzcworICAgICAgICBmb29fcGFydGlhbCA9IGZ1bmN0b29scy5wYXJ0aWFsKGZvbywgYT0xKQorCisgICAgICAgIHNpZyA9IGluc3BlY3Quc2lnbmF0dXJlKGZvb19wYXJ0aWFsKQorCisgICAgICAgIGZvciB2ZXIgaW4gcmFuZ2UocGlja2xlLkhJR0hFU1RfUFJPVE9DT0wgKyAxKToKKyAgICAgICAgICAgIHdpdGggc2VsZi5zdWJUZXN0KHBpY2tsZV92ZXI9dmVyLCBzdWJjbGFzcz1GYWxzZSk6CisgICAgICAgICAgICAgICAgc2lnX3BpY2tsZWQgPSBwaWNrbGUubG9hZHMocGlja2xlLmR1bXBzKHNpZywgdmVyKSkKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNpZywgc2lnX3BpY2tsZWQpCisKKyAgICAgICAgIyBUZXN0IHRoYXQgYmFzaWMgc3ViLWNsYXNzaW5nIHdvcmtzCisgICAgICAgIHNpZyA9IGluc3BlY3Quc2lnbmF0dXJlKGZvbykKKyAgICAgICAgbXlwYXJhbSA9IE15UGFyYW1ldGVyKG5hbWU9J3onLCBraW5kPWluc3BlY3QuUGFyYW1ldGVyLlBPU0lUSU9OQUxfT05MWSkKKyAgICAgICAgbXlwYXJhbXMgPSBjb2xsZWN0aW9ucy5PcmRlcmVkRGljdChzaWcucGFyYW1ldGVycywgYT1teXBhcmFtKQorICAgICAgICBteXNpZyA9IE15U2lnbmF0dXJlKCkucmVwbGFjZShwYXJhbWV0ZXJzPW15cGFyYW1zLnZhbHVlcygpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm5fYW5ub3RhdGlvbj1zaWcucmV0dXJuX2Fubm90YXRpb24pCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShpc2luc3RhbmNlKG15c2lnLCBNeVNpZ25hdHVyZSkpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShpc2luc3RhbmNlKG15c2lnLnBhcmFtZXRlcnNbJ3onXSwgTXlQYXJhbWV0ZXIpKQorCisgICAgICAgIGZvciB2ZXIgaW4gcmFuZ2UocGlja2xlLkhJR0hFU1RfUFJPVE9DT0wgKyAxKToKKyAgICAgICAgICAgIHdpdGggc2VsZi5zdWJUZXN0KHBpY2tsZV92ZXI9dmVyLCBzdWJjbGFzcz1UcnVlKToKKyAgICAgICAgICAgICAgICBzaWdfcGlja2xlZCA9IHBpY2tsZS5sb2FkcyhwaWNrbGUuZHVtcHMobXlzaWcsIHZlcikpCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChteXNpZywgc2lnX3BpY2tsZWQpCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGlzaW5zdGFuY2Uoc2lnX3BpY2tsZWQsIE15U2lnbmF0dXJlKSkKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUoaXNpbnN0YW5jZShzaWdfcGlja2xlZC5wYXJhbWV0ZXJzWyd6J10sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTXlQYXJhbWV0ZXIpKQorCiAgICAgZGVmIHRlc3Rfc2lnbmF0dXJlX2ltbXV0YWJpbGl0eShzZWxmKToKICAgICAgICAgZGVmIHRlc3QoYSk6CiAgICAgICAgICAgICBwYXNzCkBAIC0yNDM1LDQ5ICsyNTQyLDkxIEBACiAKICAgICAgICAgZGVmIGJhcihhLCAqLCBiOmludCkgLT4gZmxvYXQ6IHBhc3MKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChpbnNwZWN0LnNpZ25hdHVyZShmb28pLCBpbnNwZWN0LnNpZ25hdHVyZShiYXIpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAorICAgICAgICAgICAgaGFzaChpbnNwZWN0LnNpZ25hdHVyZShmb28pKSwgaGFzaChpbnNwZWN0LnNpZ25hdHVyZShiYXIpKSkKIAogICAgICAgICBkZWYgYmFyKGEsICosIGI6aW50KSAtPiBpbnQ6IHBhc3MKICAgICAgICAgc2VsZi5hc3NlcnROb3RFcXVhbChpbnNwZWN0LnNpZ25hdHVyZShmb28pLCBpbnNwZWN0LnNpZ25hdHVyZShiYXIpKQorICAgICAgICBzZWxmLmFzc2VydE5vdEVxdWFsKAorICAgICAgICAgICAgaGFzaChpbnNwZWN0LnNpZ25hdHVyZShmb28pKSwgaGFzaChpbnNwZWN0LnNpZ25hdHVyZShiYXIpKSkKIAogICAgICAgICBkZWYgYmFyKGEsICosIGI6aW50KTogcGFzcwogICAgICAgICBzZWxmLmFzc2VydE5vdEVxdWFsKGluc3BlY3Quc2lnbmF0dXJlKGZvbyksIGluc3BlY3Quc2lnbmF0dXJlKGJhcikpCisgICAgICAgIHNlbGYuYXNzZXJ0Tm90RXF1YWwoCisgICAgICAgICAgICBoYXNoKGluc3BlY3Quc2lnbmF0dXJlKGZvbykpLCBoYXNoKGluc3BlY3Quc2lnbmF0dXJlKGJhcikpKQogCiAgICAgICAgIGRlZiBiYXIoYSwgKiwgYjppbnQ9NDIpIC0+IGZsb2F0OiBwYXNzCiAgICAgICAgIHNlbGYuYXNzZXJ0Tm90RXF1YWwoaW5zcGVjdC5zaWduYXR1cmUoZm9vKSwgaW5zcGVjdC5zaWduYXR1cmUoYmFyKSkKKyAgICAgICAgc2VsZi5hc3NlcnROb3RFcXVhbCgKKyAgICAgICAgICAgIGhhc2goaW5zcGVjdC5zaWduYXR1cmUoZm9vKSksIGhhc2goaW5zcGVjdC5zaWduYXR1cmUoYmFyKSkpCiAKICAgICAgICAgZGVmIGJhcihhLCAqLCBjKSAtPiBmbG9hdDogcGFzcwogICAgICAgICBzZWxmLmFzc2VydE5vdEVxdWFsKGluc3BlY3Quc2lnbmF0dXJlKGZvbyksIGluc3BlY3Quc2lnbmF0dXJlKGJhcikpCisgICAgICAgIHNlbGYuYXNzZXJ0Tm90RXF1YWwoCisgICAgICAgICAgICBoYXNoKGluc3BlY3Quc2lnbmF0dXJlKGZvbykpLCBoYXNoKGluc3BlY3Quc2lnbmF0dXJlKGJhcikpKQogCiAgICAgICAgIGRlZiBiYXIoYSwgYjppbnQpIC0+IGZsb2F0OiBwYXNzCiAgICAgICAgIHNlbGYuYXNzZXJ0Tm90RXF1YWwoaW5zcGVjdC5zaWduYXR1cmUoZm9vKSwgaW5zcGVjdC5zaWduYXR1cmUoYmFyKSkKKyAgICAgICAgc2VsZi5hc3NlcnROb3RFcXVhbCgKKyAgICAgICAgICAgIGhhc2goaW5zcGVjdC5zaWduYXR1cmUoZm9vKSksIGhhc2goaW5zcGVjdC5zaWduYXR1cmUoYmFyKSkpCiAgICAgICAgIGRlZiBzcGFtKGI6aW50LCBhKSAtPiBmbG9hdDogcGFzcwogICAgICAgICBzZWxmLmFzc2VydE5vdEVxdWFsKGluc3BlY3Quc2lnbmF0dXJlKHNwYW0pLCBpbnNwZWN0LnNpZ25hdHVyZShiYXIpKQorICAgICAgICBzZWxmLmFzc2VydE5vdEVxdWFsKAorICAgICAgICAgICAgaGFzaChpbnNwZWN0LnNpZ25hdHVyZShzcGFtKSksIGhhc2goaW5zcGVjdC5zaWduYXR1cmUoYmFyKSkpCiAKICAgICAgICAgZGVmIGZvbygqLCBhLCBiLCBjKTogcGFzcwogICAgICAgICBkZWYgYmFyKCosIGMsIGIsIGEpOiBwYXNzCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoaW5zcGVjdC5zaWduYXR1cmUoZm9vKSwgaW5zcGVjdC5zaWduYXR1cmUoYmFyKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKKyAgICAgICAgICAgIGhhc2goaW5zcGVjdC5zaWduYXR1cmUoZm9vKSksIGhhc2goaW5zcGVjdC5zaWduYXR1cmUoYmFyKSkpCiAKICAgICAgICAgZGVmIGZvbygqLCBhPTEsIGIsIGMpOiBwYXNzCiAgICAgICAgIGRlZiBiYXIoKiwgYywgYiwgYT0xKTogcGFzcwogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGluc3BlY3Quc2lnbmF0dXJlKGZvbyksIGluc3BlY3Quc2lnbmF0dXJlKGJhcikpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisgICAgICAgICAgICBoYXNoKGluc3BlY3Quc2lnbmF0dXJlKGZvbykpLCBoYXNoKGluc3BlY3Quc2lnbmF0dXJlKGJhcikpKQogCiAgICAgICAgIGRlZiBmb28ocG9zLCAqLCBhPTEsIGIsIGMpOiBwYXNzCiAgICAgICAgIGRlZiBiYXIocG9zLCAqLCBjLCBiLCBhPTEpOiBwYXNzCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoaW5zcGVjdC5zaWduYXR1cmUoZm9vKSwgaW5zcGVjdC5zaWduYXR1cmUoYmFyKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKKyAgICAgICAgICAgIGhhc2goaW5zcGVjdC5zaWduYXR1cmUoZm9vKSksIGhhc2goaW5zcGVjdC5zaWduYXR1cmUoYmFyKSkpCiAKICAgICAgICAgZGVmIGZvbyhwb3MsICosIGEsIGIsIGMpOiBwYXNzCiAgICAgICAgIGRlZiBiYXIocG9zLCAqLCBjLCBiLCBhPTEpOiBwYXNzCiAgICAgICAgIHNlbGYuYXNzZXJ0Tm90RXF1YWwoaW5zcGVjdC5zaWduYXR1cmUoZm9vKSwgaW5zcGVjdC5zaWduYXR1cmUoYmFyKSkKKyAgICAgICAgc2VsZi5hc3NlcnROb3RFcXVhbCgKKyAgICAgICAgICAgIGhhc2goaW5zcGVjdC5zaWduYXR1cmUoZm9vKSksIGhhc2goaW5zcGVjdC5zaWduYXR1cmUoYmFyKSkpCiAKICAgICAgICAgZGVmIGZvbyhwb3MsICphcmdzLCBhPTQyLCBiLCBjLCAqKmt3YXJnczppbnQpOiBwYXNzCiAgICAgICAgIGRlZiBiYXIocG9zLCAqYXJncywgYywgYiwgYT00MiwgKiprd2FyZ3M6aW50KTogcGFzcwogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGluc3BlY3Quc2lnbmF0dXJlKGZvbyksIGluc3BlY3Quc2lnbmF0dXJlKGJhcikpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisgICAgICAgICAgICBoYXNoKGluc3BlY3Quc2lnbmF0dXJlKGZvbykpLCBoYXNoKGluc3BlY3Quc2lnbmF0dXJlKGJhcikpKQogCi0gICAgZGVmIHRlc3Rfc2lnbmF0dXJlX3VuaGFzaGFibGUoc2VsZik6CisgICAgZGVmIHRlc3Rfc2lnbmF0dXJlX2hhc2hhYmxlKHNlbGYpOgorICAgICAgICBTID0gaW5zcGVjdC5TaWduYXR1cmUKKyAgICAgICAgUCA9IGluc3BlY3QuUGFyYW1ldGVyCisKICAgICAgICAgZGVmIGZvbyhhKTogcGFzcwotICAgICAgICBzaWcgPSBpbnNwZWN0LnNpZ25hdHVyZShmb28pCisgICAgICAgIGZvb19zaWcgPSBpbnNwZWN0LnNpZ25hdHVyZShmb28pCisKKyAgICAgICAgbWFudWFsX3NpZyA9IFMocGFyYW1ldGVycz1bUCgnYScsIFAuUE9TSVRJT05BTF9PUl9LRVlXT1JEKV0pCisKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChoYXNoKGZvb19zaWcpLCBoYXNoKG1hbnVhbF9zaWcpKQorICAgICAgICBzZWxmLmFzc2VydE5vdEVxdWFsKGhhc2goZm9vX3NpZyksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFzaChtYW51YWxfc2lnLnJlcGxhY2UocmV0dXJuX2Fubm90YXRpb249J3NwYW0nKSkpCisKKyAgICAgICAgZGVmIGJhcihhKSAtPiAxOiBwYXNzCisgICAgICAgIHNlbGYuYXNzZXJ0Tm90RXF1YWwoaGFzaChmb29fc2lnKSwgaGFzaChpbnNwZWN0LnNpZ25hdHVyZShiYXIpKSkKKworICAgICAgICBkZWYgZm9vKGE9e30pOiBwYXNzCiAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXNSZWdleChUeXBlRXJyb3IsICd1bmhhc2hhYmxlIHR5cGUnKToKLSAgICAgICAgICAgIGhhc2goc2lnKQorICAgICAgICAgICAgaGFzaChpbnNwZWN0LnNpZ25hdHVyZShmb28pKQorCisgICAgICAgIGRlZiBmb28oYSkgLT4ge306IHBhc3MKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlc1JlZ2V4KFR5cGVFcnJvciwgJ3VuaGFzaGFibGUgdHlwZScpOgorICAgICAgICAgICAgaGFzaChpbnNwZWN0LnNpZ25hdHVyZShmb28pKQogCiAgICAgZGVmIHRlc3Rfc2lnbmF0dXJlX3N0cihzZWxmKToKICAgICAgICAgZGVmIGZvbyhhOmludD0xLCAqLCBiLCBjPU5vbmUsICoqa3dhcmdzKSAtPiA0MjoKQEAgLTI1NTEsNiArMjcwMCwxOSBAQAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuc2lnbmF0dXJlKFNwYW0uZm9vKSwKICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnNpZ25hdHVyZShIYW0uZm9vKSkKIAorICAgIGRlZiB0ZXN0X3NpZ25hdHVyZV9mcm9tX2NhbGxhYmxlX3B5dGhvbl9vYmooc2VsZik6CisgICAgICAgIGNsYXNzIE15U2lnbmF0dXJlKGluc3BlY3QuU2lnbmF0dXJlKTogcGFzcworICAgICAgICBkZWYgZm9vKGEsICosIGI6MSk6IHBhc3MKKyAgICAgICAgZm9vX3NpZyA9IE15U2lnbmF0dXJlLmZyb21fY2FsbGFibGUoZm9vKQorICAgICAgICBzZWxmLmFzc2VydFRydWUoaXNpbnN0YW5jZShmb29fc2lnLCBNeVNpZ25hdHVyZSkpCisKKyAgICBAdW5pdHRlc3Quc2tpcElmKE1JU1NJTkdfQ19ET0NTVFJJTkdTLAorICAgICAgICAgICAgICAgICAgICAgIlNpZ25hdHVyZSBpbmZvcm1hdGlvbiBmb3IgYnVpbHRpbnMgcmVxdWlyZXMgZG9jc3RyaW5ncyIpCisgICAgZGVmIHRlc3Rfc2lnbmF0dXJlX2Zyb21fY2FsbGFibGVfYnVpbHRpbl9vYmooc2VsZik6CisgICAgICAgIGNsYXNzIE15U2lnbmF0dXJlKGluc3BlY3QuU2lnbmF0dXJlKTogcGFzcworICAgICAgICBzaWcgPSBNeVNpZ25hdHVyZS5mcm9tX2NhbGxhYmxlKF9waWNrbGUuUGlja2xlcikKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGlzaW5zdGFuY2Uoc2lnLCBNeVNpZ25hdHVyZSkpCisKIAogY2xhc3MgVGVzdFBhcmFtZXRlck9iamVjdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgZGVmIHRlc3Rfc2lnbmF0dXJlX3BhcmFtZXRlcl9raW5kcyhzZWxmKToKQEAgLTI1OTYsNiArMjc1OCwxNiBAQAogICAgICAgICAgICAgcC5yZXBsYWNlKGtpbmQ9aW5zcGVjdC5QYXJhbWV0ZXIuVkFSX1BPU0lUSU9OQUwpCiAKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHJlcHIocCkuc3RhcnRzd2l0aCgnPFBhcmFtZXRlcicpKQorICAgICAgICBzZWxmLmFzc2VydFRydWUoJyJhPTQyIicgaW4gcmVwcihwKSkKKworICAgIGRlZiB0ZXN0X3NpZ25hdHVyZV9wYXJhbWV0ZXJfaGFzaGFibGUoc2VsZik6CisgICAgICAgIFAgPSBpbnNwZWN0LlBhcmFtZXRlcgorICAgICAgICBmb28gPSBQKCdmb28nLCBraW5kPVAuUE9TSVRJT05BTF9PTkxZKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGhhc2goZm9vKSwgaGFzaChQKCdmb28nLCBraW5kPVAuUE9TSVRJT05BTF9PTkxZKSkpCisgICAgICAgIHNlbGYuYXNzZXJ0Tm90RXF1YWwoaGFzaChmb28pLCBoYXNoKFAoJ2ZvbycsIGtpbmQ9UC5QT1NJVElPTkFMX09OTFksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdD00MikpKQorICAgICAgICBzZWxmLmFzc2VydE5vdEVxdWFsKGhhc2goZm9vKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYXNoKGZvby5yZXBsYWNlKGtpbmQ9UC5WQVJfUE9TSVRJT05BTCkpKQogCiAgICAgZGVmIHRlc3Rfc2lnbmF0dXJlX3BhcmFtZXRlcl9lcXVhbGl0eShzZWxmKToKICAgICAgICAgUCA9IGluc3BlY3QuUGFyYW1ldGVyCkBAIC0yNjA3LDEzICsyNzc5LDYgQEAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwLCBQKCdmb28nLCBkZWZhdWx0PTQyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2luZD1pbnNwZWN0LlBhcmFtZXRlci5LRVlXT1JEX09OTFkpKQogCi0gICAgZGVmIHRlc3Rfc2lnbmF0dXJlX3BhcmFtZXRlcl91bmhhc2hhYmxlKHNlbGYpOgotICAgICAgICBwID0gaW5zcGVjdC5QYXJhbWV0ZXIoJ2ZvbycsIGRlZmF1bHQ9NDIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBraW5kPWluc3BlY3QuUGFyYW1ldGVyLktFWVdPUkRfT05MWSkKLQotICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoVHlwZUVycm9yLCAndW5oYXNoYWJsZSB0eXBlJyk6Ci0gICAgICAgICAgICBoYXNoKHApCi0KICAgICBkZWYgdGVzdF9zaWduYXR1cmVfcGFyYW1ldGVyX3JlcGxhY2Uoc2VsZik6CiAgICAgICAgIHAgPSBpbnNwZWN0LlBhcmFtZXRlcignZm9vJywgZGVmYXVsdD00MiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtpbmQ9aW5zcGVjdC5QYXJhbWV0ZXIuS0VZV09SRF9PTkxZKQpAQCAtMjkyMiw2ICszMDg3LDE2IEBACiAgICAgICAgIGJhNCA9IGluc3BlY3Quc2lnbmF0dXJlKGJhcikuYmluZCgxKQogICAgICAgICBzZWxmLmFzc2VydE5vdEVxdWFsKGJhLCBiYTQpCiAKKyAgICBkZWYgdGVzdF9zaWduYXR1cmVfYm91bmRfYXJndW1lbnRzX3BpY2tsZShzZWxmKToKKyAgICAgICAgZGVmIGZvbyhhLCBiLCAqLCBjOjE9e30sICoqa3cpIC0+IHs0MjonaGFtJ306IHBhc3MKKyAgICAgICAgc2lnID0gaW5zcGVjdC5zaWduYXR1cmUoZm9vKQorICAgICAgICBiYSA9IHNpZy5iaW5kKDIwLCAzMCwgej17fSkKKworICAgICAgICBmb3IgdmVyIGluIHJhbmdlKHBpY2tsZS5ISUdIRVNUX1BST1RPQ09MICsgMSk6CisgICAgICAgICAgICB3aXRoIHNlbGYuc3ViVGVzdChwaWNrbGVfdmVyPXZlcik6CisgICAgICAgICAgICAgICAgYmFfcGlja2xlZCA9IHBpY2tsZS5sb2FkcyhwaWNrbGUuZHVtcHMoYmEsIHZlcikpCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiYSwgYmFfcGlja2xlZCkKKwogCiBjbGFzcyBUZXN0U2lnbmF0dXJlUHJpdmF0ZUhlbHBlcnModW5pdHRlc3QuVGVzdENhc2UpOgogICAgIGRlZiB0ZXN0X3NpZ25hdHVyZV9nZXRfYm91bmRfcGFyYW0oc2VsZik6CmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2lvLnB5IGIvTGliL3Rlc3QvdGVzdF9pby5weQppbmRleCA2NjhiMDIzLi5hMGE0NjcwIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2lvLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfaW8ucHkKQEAgLTQ0LDEwICs0NCw2IEBACiAgICAgaW1wb3J0IHRocmVhZGluZwogZXhjZXB0IEltcG9ydEVycm9yOgogICAgIHRocmVhZGluZyA9IE5vbmUKLXRyeToKLSAgICBpbXBvcnQgZmNudGwKLWV4Y2VwdCBJbXBvcnRFcnJvcjoKLSAgICBmY250bCA9IE5vbmUKIAogZGVmIF9kZWZhdWx0X2NodW5rX3NpemUoKToKICAgICAiIiJHZXQgdGhlIGRlZmF1bHQgVGV4dElPV3JhcHBlciBjaHVuayBzaXplIiIiCkBAIC0zNjcsOCArMzYzLDggQEAKIAogICAgIGRlZiB0ZXN0X29wZW5faGFuZGxlc19OVUxfY2hhcnMoc2VsZik6CiAgICAgICAgIGZuX3dpdGhfTlVMID0gJ2Zvb1wwYmFyJwotICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIHNlbGYub3BlbiwgZm5fd2l0aF9OVUwsICd3JykKLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBzZWxmLm9wZW4sIGJ5dGVzKGZuX3dpdGhfTlVMLCAnYXNjaWknKSwgJ3cnKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBzZWxmLm9wZW4sIGZuX3dpdGhfTlVMLCAndycpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIHNlbGYub3BlbiwgYnl0ZXMoZm5fd2l0aF9OVUwsICdhc2NpaScpLCAndycpCiAKICAgICBkZWYgdGVzdF9yYXdfZmlsZV9pbyhzZWxmKToKICAgICAgICAgd2l0aCBzZWxmLm9wZW4oc3VwcG9ydC5URVNURk4sICJ3YiIsIGJ1ZmZlcmluZz0wKSBhcyBmOgpAQCAtODExLDcgKzgwNyw3IEBACiAgICAgZGVmIHRlc3RfcmVwcihzZWxmKToKICAgICAgICAgcmF3ID0gc2VsZi5Nb2NrUmF3SU8oKQogICAgICAgICBiID0gc2VsZi50cChyYXcpCi0gICAgICAgIGNsc25hbWUgPSAiJXMuJXMiICUgKHNlbGYudHAuX19tb2R1bGVfXywgc2VsZi50cC5fX25hbWVfXykKKyAgICAgICAgY2xzbmFtZSA9ICIlcy4lcyIgJSAoc2VsZi50cC5fX21vZHVsZV9fLCBzZWxmLnRwLl9fcXVhbG5hbWVfXykKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXByKGIpLCAiPCVzPiIgJSBjbHNuYW1lKQogICAgICAgICByYXcubmFtZSA9ICJkdW1teSIKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXByKGIpLCAiPCVzIG5hbWU9J2R1bW15Jz4iICUgY2xzbmFtZSkKQEAgLTk4NSw2ICs5ODEsNzEgQEAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChidWZpby5yZWFkaW50byhiKSwgMSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiLCBiImNiIikKIAorICAgIGRlZiB0ZXN0X3JlYWRpbnRvMShzZWxmKToKKyAgICAgICAgYnVmZmVyX3NpemUgPSAxMAorICAgICAgICByYXdpbyA9IHNlbGYuTW9ja1Jhd0lPKChiImFiYyIsIGIiZGUiLCBiImZnaCIsIGIiamtsIikpCisgICAgICAgIGJ1ZmlvID0gc2VsZi50cChyYXdpbywgYnVmZmVyX3NpemU9YnVmZmVyX3NpemUpCisgICAgICAgIGIgPSBieXRlYXJyYXkoMikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChidWZpby5wZWVrKDMpLCBiJ2FiYycpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmF3aW8uX3JlYWRzLCAxKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGJ1ZmlvLnJlYWRpbnRvMShiKSwgMikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiLCBiImFiIikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyYXdpby5fcmVhZHMsIDEpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYnVmaW8ucmVhZGludG8xKGIpLCAxKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGJbOjFdLCBiImMiKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJhd2lvLl9yZWFkcywgMSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChidWZpby5yZWFkaW50bzEoYiksIDIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYiwgYiJkZSIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmF3aW8uX3JlYWRzLCAyKQorICAgICAgICBiID0gYnl0ZWFycmF5KDIqYnVmZmVyX3NpemUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYnVmaW8ucGVlaygzKSwgYidmZ2gnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJhd2lvLl9yZWFkcywgMykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChidWZpby5yZWFkaW50bzEoYiksIDYpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYls6Nl0sIGIiZmdoamtsIikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyYXdpby5fcmVhZHMsIDQpCisKKyAgICBkZWYgdGVzdF9yZWFkaW50b19hcnJheShzZWxmKToKKyAgICAgICAgYnVmZmVyX3NpemUgPSA2MAorICAgICAgICBkYXRhID0gYiJhIiAqIDI2CisgICAgICAgIHJhd2lvID0gc2VsZi5Nb2NrUmF3SU8oKGRhdGEsKSkKKyAgICAgICAgYnVmaW8gPSBzZWxmLnRwKHJhd2lvLCBidWZmZXJfc2l6ZT1idWZmZXJfc2l6ZSkKKworICAgICAgICAjIENyZWF0ZSBhbiBhcnJheSB3aXRoIGVsZW1lbnQgc2l6ZSA+IDEgYnl0ZQorICAgICAgICBiID0gYXJyYXkuYXJyYXkoJ2knLCBiJ3gnICogMzIpCisgICAgICAgIGFzc2VydCBsZW4oYikgIT0gMTYKKworICAgICAgICAjIFJlYWQgaW50byBpdC4gV2Ugc2hvdWxkIGdldCBhcyBtYW55ICpieXRlcyogYXMgd2UgY2FuIGZpdCBpbnRvIGIKKyAgICAgICAgIyAod2hpY2ggaXMgbW9yZSB0aGFuIHRoZSBudW1iZXIgb2YgZWxlbWVudHMpCisgICAgICAgIG4gPSBidWZpby5yZWFkaW50byhiKQorICAgICAgICBzZWxmLmFzc2VydEdyZWF0ZXIobiwgbGVuKGIpKQorCisgICAgICAgICMgQ2hlY2sgdGhhdCBvbGQgY29udGVudHMgb2YgYiBhcmUgcHJlc2VydmVkCisgICAgICAgIGJtID0gbWVtb3J5dmlldyhiKS5jYXN0KCdCJykKKyAgICAgICAgc2VsZi5hc3NlcnRMZXNzKG4sIGxlbihibSkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYm1bOm5dLCBkYXRhWzpuXSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChibVtuOl0sIGIneCcgKiAobGVuKGJtW246XSkpKQorCisgICAgZGVmIHRlc3RfcmVhZGludG8xX2FycmF5KHNlbGYpOgorICAgICAgICBidWZmZXJfc2l6ZSA9IDYwCisgICAgICAgIGRhdGEgPSBiImEiICogMjYKKyAgICAgICAgcmF3aW8gPSBzZWxmLk1vY2tSYXdJTygoZGF0YSwpKQorICAgICAgICBidWZpbyA9IHNlbGYudHAocmF3aW8sIGJ1ZmZlcl9zaXplPWJ1ZmZlcl9zaXplKQorCisgICAgICAgICMgQ3JlYXRlIGFuIGFycmF5IHdpdGggZWxlbWVudCBzaXplID4gMSBieXRlCisgICAgICAgIGIgPSBhcnJheS5hcnJheSgnaScsIGIneCcgKiAzMikKKyAgICAgICAgYXNzZXJ0IGxlbihiKSAhPSAxNgorCisgICAgICAgICMgUmVhZCBpbnRvIGl0LiBXZSBzaG91bGQgZ2V0IGFzIG1hbnkgKmJ5dGVzKiBhcyB3ZSBjYW4gZml0IGludG8gYgorICAgICAgICAjICh3aGljaCBpcyBtb3JlIHRoYW4gdGhlIG51bWJlciBvZiBlbGVtZW50cykKKyAgICAgICAgbiA9IGJ1ZmlvLnJlYWRpbnRvMShiKQorICAgICAgICBzZWxmLmFzc2VydEdyZWF0ZXIobiwgbGVuKGIpKQorCisgICAgICAgICMgQ2hlY2sgdGhhdCBvbGQgY29udGVudHMgb2YgYiBhcmUgcHJlc2VydmVkCisgICAgICAgIGJtID0gbWVtb3J5dmlldyhiKS5jYXN0KCdCJykKKyAgICAgICAgc2VsZi5hc3NlcnRMZXNzKG4sIGxlbihibSkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYm1bOm5dLCBkYXRhWzpuXSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChibVtuOl0sIGIneCcgKiAobGVuKGJtW246XSkpKQorCiAgICAgZGVmIHRlc3RfcmVhZGxpbmVzKHNlbGYpOgogICAgICAgICBkZWYgYnVmaW8oKToKICAgICAgICAgICAgIHJhd2lvID0gc2VsZi5Nb2NrUmF3SU8oKGIiYWJjXG4iLCBiImRcbiIsIGIiZWYiKSkKQEAgLTI4NDQsNiArMjkwNSwxNyBAQAogICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGVycikKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgib2siLCBvdXQuZGVjb2RlKCkuc3RyaXAoKSkKIAorICAgIGRlZiB0ZXN0X3JlYWRfYnl0ZXNsaWtlKHNlbGYpOgorICAgICAgICByID0gTWVtdmlld0J5dGVzSU8oYidKdXN0IHNvbWUgcmFuZG9tIHN0cmluZ1xuJykKKyAgICAgICAgdCA9IHNlbGYuVGV4dElPV3JhcHBlcihyLCAndXRmLTgnKQorCisgICAgICAgICMgVGV4dElPd3JhcHBlciB3aWxsIG5vdCByZWFkIHRoZSBmdWxsIHN0cmluZywgYmVjYXVzZQorICAgICAgICAjIHdlIHRydW5jYXRlIGl0IHRvIGEgbXVsdGlwbGUgb2YgdGhlIG5hdGl2ZSBpbnQgc2l6ZQorICAgICAgICAjIHNvIHRoYXQgd2UgY2FuIGNvbnN0cnVjdCBhIG1vcmUgY29tcGxleCBtZW1vcnl2aWV3LgorICAgICAgICBieXRlc192YWwgPSAgX3RvX21lbW9yeXZpZXcoci5nZXR2YWx1ZSgpKS50b2J5dGVzKCkKKworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHQucmVhZCgyMDApLCBieXRlc192YWwuZGVjb2RlKCd1dGYtOCcpKQorCiAgICAgZGVmIHRlc3RfaXNzdWUyMjg0OShzZWxmKToKICAgICAgICAgY2xhc3MgRihvYmplY3QpOgogICAgICAgICAgICAgZGVmIHJlYWRhYmxlKHNlbGYpOiByZXR1cm4gVHJ1ZQpAQCAtMjg2MCw2ICsyOTMyLDI1IEBACiAgICAgICAgIHQgPSBzZWxmLlRleHRJT1dyYXBwZXIoRigpLCBlbmNvZGluZz0ndXRmLTgnKQogCiAKK2NsYXNzIE1lbXZpZXdCeXRlc0lPKGlvLkJ5dGVzSU8pOgorICAgICcnJ0EgQnl0ZXNJTyBvYmplY3Qgd2hvc2UgcmVhZCBtZXRob2QgcmV0dXJucyBtZW1vcnl2aWV3cworICAgICAgIHJhdGhlciB0aGFuIGJ5dGVzJycnCisKKyAgICBkZWYgcmVhZDEoc2VsZiwgbGVuXyk6CisgICAgICAgIHJldHVybiBfdG9fbWVtb3J5dmlldyhzdXBlcigpLnJlYWQxKGxlbl8pKQorCisgICAgZGVmIHJlYWQoc2VsZiwgbGVuXyk6CisgICAgICAgIHJldHVybiBfdG9fbWVtb3J5dmlldyhzdXBlcigpLnJlYWQobGVuXykpCisKK2RlZiBfdG9fbWVtb3J5dmlldyhidWYpOgorICAgICcnJ0NvbnZlcnQgYnl0ZXMtb2JqZWN0ICpidWYqIHRvIGEgbm9uLXRyaXZpYWwgbWVtb3J5dmlldycnJworCisgICAgYXJyID0gYXJyYXkuYXJyYXkoJ2knKQorICAgIGlkeCA9IGxlbihidWYpIC0gbGVuKGJ1ZikgJSBhcnIuaXRlbXNpemUKKyAgICBhcnIuZnJvbWJ5dGVzKGJ1Zls6aWR4XSkKKyAgICByZXR1cm4gbWVtb3J5dmlldyhhcnIpCisKKwogY2xhc3MgQ1RleHRJT1dyYXBwZXJUZXN0KFRleHRJT1dyYXBwZXJUZXN0KToKICAgICBpbyA9IGlvCiAgICAgc2h1dGRvd25fZXJyb3IgPSAiUnVudGltZUVycm9yOiBjb3VsZCBub3QgZmluZCBpbyBtb2R1bGUgc3RhdGUiCkBAIC0zMTA2LDYgKzMxOTcsOCBAQAogICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIGYucmVhZGFsbCkKICAgICAgICAgICAgIGlmIGhhc2F0dHIoZiwgInJlYWRpbnRvIik6CiAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgZi5yZWFkaW50bywgYnl0ZWFycmF5KDEwMjQpKQorICAgICAgICAgICAgaWYgaGFzYXR0cihmLCAicmVhZGludG8xIik6CisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgZi5yZWFkaW50bzEsIGJ5dGVhcnJheSgxMDI0KSkKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIGYucmVhZGxpbmUpCiAgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBmLnJlYWRsaW5lcykKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIGYuc2VlaywgMCkKQEAgLTMyMTksMjYgKzMzMTIsMjAgQEAKICAgICAgICAgICAgICAgICB3aXRoIHNlbGYub3BlbihzdXBwb3J0LlRFU1RGTiwgKiprd2FyZ3MpIGFzIGY6CiAgICAgICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgcGlja2xlLmR1bXBzLCBmLCBwcm90b2NvbCkKIAotICAgIEB1bml0dGVzdC5za2lwVW5sZXNzKGZjbnRsLCAnZmNudGwgcmVxdWlyZWQgZm9yIHRoaXMgdGVzdCcpCiAgICAgZGVmIHRlc3Rfbm9uYmxvY2tfcGlwZV93cml0ZV9iaWdidWYoc2VsZik6CiAgICAgICAgIHNlbGYuX3Rlc3Rfbm9uYmxvY2tfcGlwZV93cml0ZSgxNioxMDI0KQogCi0gICAgQHVuaXR0ZXN0LnNraXBVbmxlc3MoZmNudGwsICdmY250bCByZXF1aXJlZCBmb3IgdGhpcyB0ZXN0JykKICAgICBkZWYgdGVzdF9ub25ibG9ja19waXBlX3dyaXRlX3NtYWxsYnVmKHNlbGYpOgogICAgICAgICBzZWxmLl90ZXN0X25vbmJsb2NrX3BpcGVfd3JpdGUoMTAyNCkKIAotICAgIGRlZiBfc2V0X25vbl9ibG9ja2luZyhzZWxmLCBmZCk6Ci0gICAgICAgIGZsYWdzID0gZmNudGwuZmNudGwoZmQsIGZjbnRsLkZfR0VURkwpCi0gICAgICAgIHNlbGYuYXNzZXJ0Tm90RXF1YWwoZmxhZ3MsIC0xKQotICAgICAgICByZXMgPSBmY250bC5mY250bChmZCwgZmNudGwuRl9TRVRGTCwgZmxhZ3MgfCBvcy5PX05PTkJMT0NLKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlcywgMCkKLQorICAgIEB1bml0dGVzdC5za2lwVW5sZXNzKGhhc2F0dHIob3MsICdzZXRfYmxvY2tpbmcnKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAnb3Muc2V0X2Jsb2NraW5nKCkgcmVxdWlyZWQgZm9yIHRoaXMgdGVzdCcpCiAgICAgZGVmIF90ZXN0X25vbmJsb2NrX3BpcGVfd3JpdGUoc2VsZiwgYnVmc2l6ZSk6CiAgICAgICAgIHNlbnQgPSBbXQogICAgICAgICByZWNlaXZlZCA9IFtdCiAgICAgICAgIHIsIHcgPSBvcy5waXBlKCkKLSAgICAgICAgc2VsZi5fc2V0X25vbl9ibG9ja2luZyhyKQotICAgICAgICBzZWxmLl9zZXRfbm9uX2Jsb2NraW5nKHcpCisgICAgICAgIG9zLnNldF9ibG9ja2luZyhyLCBGYWxzZSkKKyAgICAgICAgb3Muc2V0X2Jsb2NraW5nKHcsIEZhbHNlKQogCiAgICAgICAgICMgVG8gZXhlcmNpc2UgYWxsIGNvZGUgcGF0aHMgaW4gdGhlIEMgaW1wbGVtZW50YXRpb24gd2UgbmVlZAogICAgICAgICAjIHRvIHBsYXkgd2l0aCBidWZmZXIgc2l6ZXMuICBGb3IgaW5zdGFuY2UsIGlmIHdlIGNob29zZSBhCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2lwYWRkcmVzcy5weSBiL0xpYi90ZXN0L3Rlc3RfaXBhZGRyZXNzLnB5CmluZGV4IGJmYjU2OTkuLmMyMTdkMzYgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfaXBhZGRyZXNzLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfaXBhZGRyZXNzLnB5CkBAIC05LDcgKzksOSBAQAogaW1wb3J0IGNvbnRleHRsaWIKIGltcG9ydCBmdW5jdG9vbHMKIGltcG9ydCBvcGVyYXRvcgoraW1wb3J0IHBpY2tsZQogaW1wb3J0IGlwYWRkcmVzcworaW1wb3J0IHdlYWtyZWYKIAogCiBjbGFzcyBCYXNlVGVzdENhc2UodW5pdHRlc3QuVGVzdENhc2UpOgpAQCAtODMsNiArODUsMTMgQEAKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBoZXgsIHNlbGYuZmFjdG9yeSgxKSkKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBieXRlcywgc2VsZi5mYWN0b3J5KDEpKQogCisgICAgZGVmIHBpY2tsZV90ZXN0KHNlbGYsIGFkZHIpOgorICAgICAgICBmb3IgcHJvdG8gaW4gcmFuZ2UocGlja2xlLkhJR0hFU1RfUFJPVE9DT0wgKyAxKToKKyAgICAgICAgICAgIHdpdGggc2VsZi5zdWJUZXN0KHByb3RvPXByb3RvKToKKyAgICAgICAgICAgICAgICB4ID0gc2VsZi5mYWN0b3J5KGFkZHIpCisgICAgICAgICAgICAgICAgeSA9IHBpY2tsZS5sb2FkcyhwaWNrbGUuZHVtcHMoeCwgcHJvdG8pKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoeSwgeCkKKwogCiBjbGFzcyBDb21tb25UZXN0TWl4aW5fdjQoQ29tbW9uVGVzdE1peGluKToKIApAQCAtMjQ4LDYgKzI1NywxMiBAQAogICAgICAgICBhc3NlcnRCYWRPY3RldCgiMjU3LjAuMC4wIiwgMjU3KQogICAgICAgICBhc3NlcnRCYWRPY3RldCgiMTkyLjE2OC4wLjk5OSIsIDk5OSkKIAorICAgIGRlZiB0ZXN0X3BpY2tsZShzZWxmKToKKyAgICAgICAgc2VsZi5waWNrbGVfdGVzdCgnMTkyLjAuMi4xJykKKworICAgIGRlZiB0ZXN0X3dlYWtyZWYoc2VsZik6CisgICAgICAgIHdlYWtyZWYucmVmKHNlbGYuZmFjdG9yeSgnMTkyLjAuMi4xJykpCisKIAogY2xhc3MgQWRkcmVzc1Rlc3RDYXNlX3Y2KEJhc2VUZXN0Q2FzZSwgQ29tbW9uVGVzdE1peGluX3Y2KToKICAgICBmYWN0b3J5ID0gaXBhZGRyZXNzLklQdjZBZGRyZXNzCkBAIC0zODAsNiArMzk1LDEyIEBACiAgICAgICAgIGFzc2VydEJhZFBhcnQoIjAyMDAxOmRiODo6IiwgIjAyMDAxIikKICAgICAgICAgYXNzZXJ0QmFkUGFydCgnMjAwMTo4ODg4ODg6OjEnLCAiODg4ODg4IikKIAorICAgIGRlZiB0ZXN0X3BpY2tsZShzZWxmKToKKyAgICAgICAgc2VsZi5waWNrbGVfdGVzdCgnMjAwMTpkYjg6OicpCisKKyAgICBkZWYgdGVzdF93ZWFrcmVmKHNlbGYpOgorICAgICAgICB3ZWFrcmVmLnJlZihzZWxmLmZhY3RvcnkoJzIwMDE6ZGI4OjonKSkKKwogCiBjbGFzcyBOZXRtYXNrVGVzdE1peGluX3Y0KENvbW1vblRlc3RNaXhpbl92NCk6CiAgICAgIiIiSW5wdXQgdmFsaWRhdGlvbiBvbiBpbnRlcmZhY2VzIGFuZCBuZXR3b3JrcyBpcyB2ZXJ5IHNpbWlsYXIiIiIKQEAgLTQ0Myw2ICs0NjQsMTEgQEAKICAgICAgICAgYXNzZXJ0QmFkTmV0bWFzaygiMS4xLjEuMSIsICJwdWRkaW5nIikKICAgICAgICAgYXNzZXJ0QmFkTmV0bWFzaygiMS4xLjEuMSIsICI6OiIpCiAKKyAgICBkZWYgdGVzdF9waWNrbGUoc2VsZik6CisgICAgICAgIHNlbGYucGlja2xlX3Rlc3QoJzE5Mi4wLjIuMC8yNycpCisgICAgICAgIHNlbGYucGlja2xlX3Rlc3QoJzE5Mi4wLjIuMC8zMScpICAjIElQVjRMRU5HVEggLSAxCisgICAgICAgIHNlbGYucGlja2xlX3Rlc3QoJzE5Mi4wLjIuMCcpICAgICAjIElQVjRMRU5HVEgKKwogCiBjbGFzcyBJbnRlcmZhY2VUZXN0Q2FzZV92NChCYXNlVGVzdENhc2UsIE5ldG1hc2tUZXN0TWl4aW5fdjQpOgogICAgIGZhY3RvcnkgPSBpcGFkZHJlc3MuSVB2NEludGVyZmFjZQpAQCAtNTAxLDYgKzUyNywxMSBAQAogICAgICAgICBhc3NlcnRCYWROZXRtYXNrKCI6OjEiLCAicHVkZGluZyIpCiAgICAgICAgIGFzc2VydEJhZE5ldG1hc2soIjo6IiwgIjo6IikKIAorICAgIGRlZiB0ZXN0X3BpY2tsZShzZWxmKToKKyAgICAgICAgc2VsZi5waWNrbGVfdGVzdCgnMjAwMTpkYjg6OjEwMDAvMTI0JykKKyAgICAgICAgc2VsZi5waWNrbGVfdGVzdCgnMjAwMTpkYjg6OjEwMDAvMTI3JykgICMgSVBWNkxFTkdUSCAtIDEKKyAgICAgICAgc2VsZi5waWNrbGVfdGVzdCgnMjAwMTpkYjg6OjEwMDAnKSAgICAgICMgSVBWNkxFTkdUSAorCiAKIGNsYXNzIEludGVyZmFjZVRlc3RDYXNlX3Y2KEJhc2VUZXN0Q2FzZSwgTmV0bWFza1Rlc3RNaXhpbl92Nik6CiAgICAgZmFjdG9yeSA9IGlwYWRkcmVzcy5JUHY2SW50ZXJmYWNlCkBAIC02NzAsNiArNzAxLDExOSBAQAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCJJUHY2SW50ZXJmYWNlKCc6OjEvMTI4JykiLAogICAgICAgICAgICAgICAgICAgICAgICAgIHJlcHIoaXBhZGRyZXNzLklQdjZJbnRlcmZhY2UoJzo6MScpKSkKIAorICAgICMgaXNzdWUgIzE2NTMxOiBjb25zdHJ1Y3RpbmcgSVB2NE5ldHdvcmsgZnJvbSBhIChhZGRyZXNzLCBtYXNrKSB0dXBsZQorICAgIGRlZiB0ZXN0SVB2NFR1cGxlKHNlbGYpOgorICAgICAgICAjIC8zMgorICAgICAgICBpcCA9IGlwYWRkcmVzcy5JUHY0QWRkcmVzcygnMTkyLjAuMi4xJykKKyAgICAgICAgbmV0ID0gaXBhZGRyZXNzLklQdjROZXR3b3JrKCcxOTIuMC4yLjEvMzInKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGlwYWRkcmVzcy5JUHY0TmV0d29yaygoJzE5Mi4wLjIuMScsIDMyKSksIG5ldCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChpcGFkZHJlc3MuSVB2NE5ldHdvcmsoKGlwLCAzMikpLCBuZXQpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoaXBhZGRyZXNzLklQdjROZXR3b3JrKCgzMjIxMjI1OTg1LCAzMikpLCBuZXQpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoaXBhZGRyZXNzLklQdjROZXR3b3JrKCgnMTkyLjAuMi4xJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcyNTUuMjU1LjI1NS4yNTUnKSksIG5ldCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChpcGFkZHJlc3MuSVB2NE5ldHdvcmsoKGlwLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJzI1NS4yNTUuMjU1LjI1NScpKSwgbmV0KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGlwYWRkcmVzcy5JUHY0TmV0d29yaygoMzIyMTIyNTk4NSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcyNTUuMjU1LjI1NS4yNTUnKSksIG5ldCkKKyAgICAgICAgIyBzdHJpY3Q9VHJ1ZSBhbmQgaG9zdCBiaXRzIHNldAorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IpOgorICAgICAgICAgICAgaXBhZGRyZXNzLklQdjROZXR3b3JrKCgnMTkyLjAuMi4xJywgMjQpKQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IpOgorICAgICAgICAgICAgaXBhZGRyZXNzLklQdjROZXR3b3JrKChpcCwgMjQpKQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IpOgorICAgICAgICAgICAgaXBhZGRyZXNzLklQdjROZXR3b3JrKCgzMjIxMjI1OTg1LCAyNCkpCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvcik6CisgICAgICAgICAgICBpcGFkZHJlc3MuSVB2NE5ldHdvcmsoKCcxOTIuMC4yLjEnLCAnMjU1LjI1NS4yNTUuMCcpKQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IpOgorICAgICAgICAgICAgaXBhZGRyZXNzLklQdjROZXR3b3JrKChpcCwgJzI1NS4yNTUuMjU1LjAnKSkKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yKToKKyAgICAgICAgICAgIGlwYWRkcmVzcy5JUHY0TmV0d29yaygoMzIyMTIyNTk4NSwgJzI1NS4yNTUuMjU1LjAnKSkKKyAgICAgICAgIyBzdHJpY3Q9RmFsc2UgYW5kIGhvc3QgYml0cyBzZXQKKyAgICAgICAgbmV0ID0gaXBhZGRyZXNzLklQdjROZXR3b3JrKCcxOTIuMC4yLjAvMjQnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGlwYWRkcmVzcy5JUHY0TmV0d29yaygoJzE5Mi4wLjIuMScsIDI0KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyaWN0PUZhbHNlKSwgbmV0KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGlwYWRkcmVzcy5JUHY0TmV0d29yaygoaXAsIDI0KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyaWN0PUZhbHNlKSwgbmV0KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGlwYWRkcmVzcy5JUHY0TmV0d29yaygoMzIyMTIyNTk4NSwgMjQpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJpY3Q9RmFsc2UpLCBuZXQpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoaXBhZGRyZXNzLklQdjROZXR3b3JrKCgnMTkyLjAuMi4xJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcyNTUuMjU1LjI1NS4wJyksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmljdD1GYWxzZSksIG5ldCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChpcGFkZHJlc3MuSVB2NE5ldHdvcmsoKGlwLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJzI1NS4yNTUuMjU1LjAnKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyaWN0PUZhbHNlKSwgbmV0KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGlwYWRkcmVzcy5JUHY0TmV0d29yaygoMzIyMTIyNTk4NSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcyNTUuMjU1LjI1NS4wJyksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmljdD1GYWxzZSksIG5ldCkKKworICAgICAgICAjIC8yNAorICAgICAgICBpcCA9IGlwYWRkcmVzcy5JUHY0QWRkcmVzcygnMTkyLjAuMi4wJykKKyAgICAgICAgbmV0ID0gaXBhZGRyZXNzLklQdjROZXR3b3JrKCcxOTIuMC4yLjAvMjQnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGlwYWRkcmVzcy5JUHY0TmV0d29yaygoJzE5Mi4wLjIuMCcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnMjU1LjI1NS4yNTUuMCcpKSwgbmV0KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGlwYWRkcmVzcy5JUHY0TmV0d29yaygoaXAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnMjU1LjI1NS4yNTUuMCcpKSwgbmV0KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGlwYWRkcmVzcy5JUHY0TmV0d29yaygoMzIyMTIyNTk4NCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcyNTUuMjU1LjI1NS4wJykpLCBuZXQpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoaXBhZGRyZXNzLklQdjROZXR3b3JrKCgnMTkyLjAuMi4wJywgMjQpKSwgbmV0KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGlwYWRkcmVzcy5JUHY0TmV0d29yaygoaXAsIDI0KSksIG5ldCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChpcGFkZHJlc3MuSVB2NE5ldHdvcmsoKDMyMjEyMjU5ODQsIDI0KSksIG5ldCkKKworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGlwYWRkcmVzcy5JUHY0SW50ZXJmYWNlKCgnMTkyLjAuMi4xJywgMjQpKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBpcGFkZHJlc3MuSVB2NEludGVyZmFjZSgnMTkyLjAuMi4xLzI0JykpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoaXBhZGRyZXNzLklQdjRJbnRlcmZhY2UoKDMyMjEyMjU5ODUsIDI0KSksCisgICAgICAgICAgICAgICAgICAgICAgICAgaXBhZGRyZXNzLklQdjRJbnRlcmZhY2UoJzE5Mi4wLjIuMS8yNCcpKQorCisgICAgIyBpc3N1ZSAjMTY1MzE6IGNvbnN0cnVjdGluZyBJUHY2TmV0d29yayBmcm9tIGEgKGFkZHJlc3MsIG1hc2spIHR1cGxlCisgICAgZGVmIHRlc3RJUHY2VHVwbGUoc2VsZik6CisgICAgICAgICMgLzEyOAorICAgICAgICBpcCA9IGlwYWRkcmVzcy5JUHY2QWRkcmVzcygnMjAwMTpkYjg6OicpCisgICAgICAgIG5ldCA9IGlwYWRkcmVzcy5JUHY2TmV0d29yaygnMjAwMTpkYjg6Oi8xMjgnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGlwYWRkcmVzcy5JUHY2TmV0d29yaygoJzIwMDE6ZGI4OjonLCAnMTI4JykpLAorICAgICAgICAgICAgICAgICAgICAgICAgIG5ldCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChpcGFkZHJlc3MuSVB2Nk5ldHdvcmsoCisgICAgICAgICAgICAgICAgKDQyNTQwNzY2NDExMjgyNTkyODU2OTAzOTg0OTUxNjUzODI2NTYwLCAxMjgpKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBuZXQpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoaXBhZGRyZXNzLklQdjZOZXR3b3JrKChpcCwgJzEyOCcpKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBuZXQpCisgICAgICAgIGlwID0gaXBhZGRyZXNzLklQdjZBZGRyZXNzKCcyMDAxOmRiODo6JykKKyAgICAgICAgbmV0ID0gaXBhZGRyZXNzLklQdjZOZXR3b3JrKCcyMDAxOmRiODo6Lzk2JykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChpcGFkZHJlc3MuSVB2Nk5ldHdvcmsoKCcyMDAxOmRiODo6JywgJzk2JykpLAorICAgICAgICAgICAgICAgICAgICAgICAgIG5ldCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChpcGFkZHJlc3MuSVB2Nk5ldHdvcmsoCisgICAgICAgICAgICAgICAgKDQyNTQwNzY2NDExMjgyNTkyODU2OTAzOTg0OTUxNjUzODI2NTYwLCA5NikpLAorICAgICAgICAgICAgICAgICAgICAgICAgIG5ldCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChpcGFkZHJlc3MuSVB2Nk5ldHdvcmsoKGlwLCAnOTYnKSksCisgICAgICAgICAgICAgICAgICAgICAgICAgbmV0KQorCisgICAgICAgICMgc3RyaWN0PVRydWUgYW5kIGhvc3QgYml0cyBzZXQKKyAgICAgICAgaXAgPSBpcGFkZHJlc3MuSVB2NkFkZHJlc3MoJzIwMDE6ZGI4OjoxJykKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yKToKKyAgICAgICAgICAgIGlwYWRkcmVzcy5JUHY2TmV0d29yaygoJzIwMDE6ZGI4OjoxJywgOTYpKQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IpOgorICAgICAgICAgICAgaXBhZGRyZXNzLklQdjZOZXR3b3JrKCgKKyAgICAgICAgICAgICAgICA0MjU0MDc2NjQxMTI4MjU5Mjg1NjkwMzk4NDk1MTY1MzgyNjU2MSwgOTYpKQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IpOgorICAgICAgICAgICAgaXBhZGRyZXNzLklQdjZOZXR3b3JrKChpcCwgOTYpKQorICAgICAgICAjIHN0cmljdD1GYWxzZSBhbmQgaG9zdCBiaXRzIHNldAorICAgICAgICBuZXQgPSBpcGFkZHJlc3MuSVB2Nk5ldHdvcmsoJzIwMDE6ZGI4OjovOTYnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGlwYWRkcmVzcy5JUHY2TmV0d29yaygoJzIwMDE6ZGI4OjoxJywgOTYpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJpY3Q9RmFsc2UpLAorICAgICAgICAgICAgICAgICAgICAgICAgIG5ldCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChpcGFkZHJlc3MuSVB2Nk5ldHdvcmsoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0MjU0MDc2NjQxMTI4MjU5Mjg1NjkwMzk4NDk1MTY1MzgyNjU2MSwgOTYpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJpY3Q9RmFsc2UpLAorICAgICAgICAgICAgICAgICAgICAgICAgIG5ldCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChpcGFkZHJlc3MuSVB2Nk5ldHdvcmsoKGlwLCA5NiksIHN0cmljdD1GYWxzZSksCisgICAgICAgICAgICAgICAgICAgICAgICAgbmV0KQorCisgICAgICAgICMgLzk2CisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoaXBhZGRyZXNzLklQdjZJbnRlcmZhY2UoKCcyMDAxOmRiODo6MScsICc5NicpKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBpcGFkZHJlc3MuSVB2NkludGVyZmFjZSgnMjAwMTpkYjg6OjEvOTYnKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChpcGFkZHJlc3MuSVB2NkludGVyZmFjZSgKKyAgICAgICAgICAgICAgICAoNDI1NDA3NjY0MTEyODI1OTI4NTY5MDM5ODQ5NTE2NTM4MjY1NjEsICc5NicpKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBpcGFkZHJlc3MuSVB2NkludGVyZmFjZSgnMjAwMTpkYjg6OjEvOTYnKSkKKwogICAgICMgaXNzdWU1NwogICAgIGRlZiB0ZXN0QWRkcmVzc0ludE1hdGgoc2VsZik6CiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoaXBhZGRyZXNzLklQdjRBZGRyZXNzKCcxLjEuMS4xJykgKyAyNTUsCkBAIC02OTAsMjAgKzgzNCwxOCBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAyICoqIGlwYWRkcmVzcy5JUFY2TEVOR1RIKQogCiAgICAgZGVmIHRlc3RJbnRlcm5hbHMoc2VsZik6Ci0gICAgICAgIGZpcnN0LCBsYXN0ID0gaXBhZGRyZXNzLl9maW5kX2FkZHJlc3NfcmFuZ2UoWwotICAgICAgICAgICAgaXBhZGRyZXNzLklQdjRBZGRyZXNzKCcxMC4xMC4xMC4xMCcpLAotICAgICAgICAgICAgaXBhZGRyZXNzLklQdjRBZGRyZXNzKCcxMC4xMC4xMC4xMicpXSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmaXJzdCwgbGFzdCkKKyAgICAgICAgaXAxID0gaXBhZGRyZXNzLklQdjRBZGRyZXNzKCcxMC4xMC4xMC4xMCcpCisgICAgICAgIGlwMiA9IGlwYWRkcmVzcy5JUHY0QWRkcmVzcygnMTAuMTAuMTAuMTEnKQorICAgICAgICBpcDMgPSBpcGFkZHJlc3MuSVB2NEFkZHJlc3MoJzEwLjEwLjEwLjEyJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsaXN0KGlwYWRkcmVzcy5fZmluZF9hZGRyZXNzX3JhbmdlKFtpcDFdKSksCisgICAgICAgICAgICAgICAgICAgICAgICAgWyhpcDEsIGlwMSldKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxpc3QoaXBhZGRyZXNzLl9maW5kX2FkZHJlc3NfcmFuZ2UoW2lwMSwgaXAzXSkpLAorICAgICAgICAgICAgICAgICAgICAgICAgIFsoaXAxLCBpcDEpLCAoaXAzLCBpcDMpXSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsaXN0KGlwYWRkcmVzcy5fZmluZF9hZGRyZXNzX3JhbmdlKFtpcDEsIGlwMiwgaXAzXSkpLAorICAgICAgICAgICAgICAgICAgICAgICAgIFsoaXAxLCBpcDMpXSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgxMjgsIGlwYWRkcmVzcy5fY291bnRfcmlnaHRoYW5kX3plcm9fYml0cygwLCAxMjgpKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCJJUHY0TmV0d29yaygnMS4yLjMuMC8yNCcpIiwgcmVwcihzZWxmLmlwdjRfbmV0d29yaykpCiAKLSAgICBkZWYgdGVzdE1pc3NpbmdBZGRyZXNzVmVyc2lvbihzZWxmKToKLSAgICAgICAgY2xhc3MgQnJva2VuKGlwYWRkcmVzcy5fQmFzZUFkZHJlc3MpOgotICAgICAgICAgICAgcGFzcwotICAgICAgICBicm9rZW4gPSBCcm9rZW4oJzEyNy4wLjAuMScpCi0gICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXNSZWdleChOb3RJbXBsZW1lbnRlZEVycm9yLCAiQnJva2VuLip2ZXJzaW9uIik6Ci0gICAgICAgICAgICBicm9rZW4udmVyc2lvbgotCiAgICAgZGVmIHRlc3RNaXNzaW5nTmV0d29ya1ZlcnNpb24oc2VsZik6CiAgICAgICAgIGNsYXNzIEJyb2tlbihpcGFkZHJlc3MuX0Jhc2VOZXR3b3JrKToKICAgICAgICAgICAgIHBhc3MKQEAgLTE2MzUsNiArMTc3NywxNCBAQAogICAgICAgICAgICAgICAgICAgICAgICAgIGFkZHIzLmV4cGxvZGVkKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCcxOTIuMTY4LjE3OC4xJywgYWRkcjQuZXhwbG9kZWQpCiAKKyAgICBkZWYgdGVzdFJldmVyc2VQb2ludGVyKHNlbGYpOgorICAgICAgICBhZGRyMSA9IGlwYWRkcmVzcy5JUHY0QWRkcmVzcygnMTI3LjAuMC4xJykKKyAgICAgICAgYWRkcjIgPSBpcGFkZHJlc3MuSVB2NkFkZHJlc3MoJzIwMDE6ZGI4OjoxJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgnMS4wLjAuMTI3LmluLWFkZHIuYXJwYScsIGFkZHIxLnJldmVyc2VfcG9pbnRlcikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgnMS4wLjAuMC4wLjAuMC4wLjAuMC4wLjAuMC4wLjAuMC4wLjAuMC4wLjAuMC4wLjAuOC4nICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAnYi5kLjAuMS4wLjAuMi5pcDYuYXJwYScsCisgICAgICAgICAgICAgICAgICAgICAgICAgYWRkcjIucmV2ZXJzZV9wb2ludGVyKQorCiAgICAgZGVmIHRlc3RJbnRSZXByZXNlbnRhdGlvbihzZWxmKToKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgxNjkwOTA2MCwgaW50KHNlbGYuaXB2NF9hZGRyZXNzKSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCg0MjU0MDYxNjgyOTE4MjQ2OTQzMzU0Nzc2MjQ4MjA5Nzk0NjYyNSwKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfaXRlcnRvb2xzLnB5IGIvTGliL3Rlc3QvdGVzdF9pdGVydG9vbHMucHkKaW5kZXggMjQ0NTk4Yi4uNmEwMTMwZSAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9pdGVydG9vbHMucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9pdGVydG9vbHMucHkKQEAgLTE4NTYsOCArMTg1Niw2IEBACiAgICAgICAgICAgICBoaXN0LmFwcGVuZCgzKQogICAgICAgICAgICAgeWllbGQgMgogICAgICAgICAgICAgaGlzdC5hcHBlbmQoNCkKLSAgICAgICAgICAgIGlmIHg6Ci0gICAgICAgICAgICAgICAgcmFpc2UgU3RvcEl0ZXJhdGlvbgogCiAgICAgICAgIGhpc3QgPSBbXQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhBc3NlcnRpb25FcnJvciwgbGlzdCwgY2hhaW4oZ2VuMSgpLCBnZW4yKEZhbHNlKSkpCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2pzb24vX19pbml0X18ucHkgYi9MaWIvdGVzdC90ZXN0X2pzb24vX19pbml0X18ucHkKaW5kZXggMmNmMTAzMi4uMDgwN2U2ZiAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9qc29uL19faW5pdF9fLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfanNvbi9fX2luaXRfXy5weQpAQCAtOSwxMiArOSwxNSBAQAogIyBpbXBvcnQganNvbiB3aXRoIGFuZCB3aXRob3V0IGFjY2VsZXJhdGlvbnMKIGNqc29uID0gc3VwcG9ydC5pbXBvcnRfZnJlc2hfbW9kdWxlKCdqc29uJywgZnJlc2g9WydfanNvbiddKQogcHlqc29uID0gc3VwcG9ydC5pbXBvcnRfZnJlc2hfbW9kdWxlKCdqc29uJywgYmxvY2tlZD1bJ19qc29uJ10pCisjIEpTT05EZWNvZGVFcnJvciBpcyBjYWNoZWQgaW5zaWRlIHRoZSBfanNvbiBtb2R1bGUKK2Nqc29uLkpTT05EZWNvZGVFcnJvciA9IGNqc29uLmRlY29kZXIuSlNPTkRlY29kZUVycm9yID0ganNvbi5KU09ORGVjb2RlRXJyb3IKIAogIyBjcmVhdGUgdHdvIGJhc2UgY2xhc3NlcyB0aGF0IHdpbGwgYmUgdXNlZCBieSB0aGUgb3RoZXIgdGVzdHMKIGNsYXNzIFB5VGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAganNvbiA9IHB5anNvbgogICAgIGxvYWRzID0gc3RhdGljbWV0aG9kKHB5anNvbi5sb2FkcykKICAgICBkdW1wcyA9IHN0YXRpY21ldGhvZChweWpzb24uZHVtcHMpCisgICAgSlNPTkRlY29kZUVycm9yID0gc3RhdGljbWV0aG9kKHB5anNvbi5KU09ORGVjb2RlRXJyb3IpCiAKIEB1bml0dGVzdC5za2lwVW5sZXNzKGNqc29uLCAncmVxdWlyZXMgX2pzb24nKQogY2xhc3MgQ1Rlc3QodW5pdHRlc3QuVGVzdENhc2UpOgpAQCAtMjIsNiArMjUsNyBAQAogICAgICAgICBqc29uID0gY2pzb24KICAgICAgICAgbG9hZHMgPSBzdGF0aWNtZXRob2QoY2pzb24ubG9hZHMpCiAgICAgICAgIGR1bXBzID0gc3RhdGljbWV0aG9kKGNqc29uLmR1bXBzKQorICAgICAgICBKU09ORGVjb2RlRXJyb3IgPSBzdGF0aWNtZXRob2QoY2pzb24uSlNPTkRlY29kZUVycm9yKQogCiAjIHRlc3QgUHlUZXN0IGFuZCBDVGVzdCBjaGVja2luZyBpZiB0aGUgZnVuY3Rpb25zIGNvbWUgZnJvbSB0aGUgcmlnaHQgbW9kdWxlCiBjbGFzcyBUZXN0UHlUZXN0KFB5VGVzdCk6CmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2pzb24vdGVzdF9kZWNvZGUucHkgYi9MaWIvdGVzdC90ZXN0X2pzb24vdGVzdF9kZWNvZGUucHkKaW5kZXggNTkxYjJlMi4uY2M4M2I0NSAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9qc29uL3Rlc3RfZGVjb2RlLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfanNvbi90ZXN0X2RlY29kZS5weQpAQCAtNjMsMTIgKzYzLDEyIEBACiAgICAgZGVmIHRlc3RfZXh0cmFfZGF0YShzZWxmKToKICAgICAgICAgcyA9ICdbMSwgMiwgM101JwogICAgICAgICBtc2cgPSAnRXh0cmEgZGF0YScKLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXNSZWdleChWYWx1ZUVycm9yLCBtc2csIHNlbGYubG9hZHMsIHMpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoc2VsZi5KU09ORGVjb2RlRXJyb3IsIG1zZywgc2VsZi5sb2FkcywgcykKIAogICAgIGRlZiB0ZXN0X2ludmFsaWRfZXNjYXBlKHNlbGYpOgogICAgICAgICBzID0gJ1siYWJjXFx5Il0nCiAgICAgICAgIG1zZyA9ICdlc2NhcGUnCi0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoVmFsdWVFcnJvciwgbXNnLCBzZWxmLmxvYWRzLCBzKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlc1JlZ2V4KHNlbGYuSlNPTkRlY29kZUVycm9yLCBtc2csIHNlbGYubG9hZHMsIHMpCiAKICAgICBkZWYgdGVzdF9pbnZhbGlkX2lucHV0X3R5cGUoc2VsZik6CiAgICAgICAgIG1zZyA9ICd0aGUgSlNPTiBvYmplY3QgbXVzdCBiZSBzdHInCkBAIC04MCwxMCArODAsMTAgQEAKICAgICBkZWYgdGVzdF9zdHJpbmdfd2l0aF91dGY4X2JvbShzZWxmKToKICAgICAgICAgIyBzZWUgIzE4OTU4CiAgICAgICAgIGJvbV9qc29uID0gIlsxLDIsM10iLmVuY29kZSgndXRmLTgtc2lnJykuZGVjb2RlKCd1dGYtOCcpCi0gICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvcikgYXMgY206CisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoc2VsZi5KU09ORGVjb2RlRXJyb3IpIGFzIGNtOgogICAgICAgICAgICAgc2VsZi5sb2Fkcyhib21fanNvbikKICAgICAgICAgc2VsZi5hc3NlcnRJbignQk9NJywgc3RyKGNtLmV4Y2VwdGlvbikpCi0gICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvcikgYXMgY206CisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoc2VsZi5KU09ORGVjb2RlRXJyb3IpIGFzIGNtOgogICAgICAgICAgICAgc2VsZi5qc29uLmxvYWQoU3RyaW5nSU8oYm9tX2pzb24pKQogICAgICAgICBzZWxmLmFzc2VydEluKCdCT00nLCBzdHIoY20uZXhjZXB0aW9uKSkKICAgICAgICAgIyBtYWtlIHN1cmUgdGhhdCB0aGUgQk9NIGlzIG5vdCBkZXRlY3RlZCBpbiB0aGUgbWlkZGxlIG9mIGEgc3RyaW5nCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2pzb24vdGVzdF9lbmNvZGVfYmFzZXN0cmluZ19hc2NpaS5weSBiL0xpYi90ZXN0L3Rlc3RfanNvbi90ZXN0X2VuY29kZV9iYXNlc3RyaW5nX2FzY2lpLnB5CmluZGV4IDIxMjJkYTEuLjRiYmM2YzcgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfanNvbi90ZXN0X2VuY29kZV9iYXNlc3RyaW5nX2FzY2lpLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfanNvbi90ZXN0X2VuY29kZV9iYXNlc3RyaW5nX2FzY2lpLnB5CkBAIC0xMiw5ICsxMiw2IEBACiAgICAgKCcgcyBwIGEgYyBlIGQgJywgJyIgcyBwIGEgYyBlIGQgIicpLAogICAgICgnXFUwMDAxZDEyMCcsICciXFx1ZDgzNFxcdWRkMjAiJyksCiAgICAgKCdcdTAzYjFcdTAzYTknLCAnIlxcdTAzYjFcXHUwM2E5IicpLAotICAgICgnXHUwM2IxXHUwM2E5JywgJyJcXHUwM2IxXFx1MDNhOSInKSwKLSAgICAoJ1x1MDNiMVx1MDNhOScsICciXFx1MDNiMVxcdTAzYTkiJyksCi0gICAgKCdcdTAzYjFcdTAzYTknLCAnIlxcdTAzYjFcXHUwM2E5IicpLAogICAgICgiYDF+IUAjJCVeJiooKV8rLT17JzpbLF19fDsuPC8+PyIsICciYDF+IUAjJCVeJiooKV8rLT17XCc6WyxdfXw7LjwvPj8iJyksCiAgICAgKCdceDA4XHgwY1xuXHJcdCcsICciXFxiXFxmXFxuXFxyXFx0IicpLAogICAgICgnXHUwMTIzXHU0NTY3XHU4OWFiXHVjZGVmXHVhYmNkXHVlZjRhJywgJyJcXHUwMTIzXFx1NDU2N1xcdTg5YWJcXHVjZGVmXFx1YWJjZFxcdWVmNGEiJyksCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2pzb24vdGVzdF9mYWlsLnB5IGIvTGliL3Rlc3QvdGVzdF9qc29uL3Rlc3RfZmFpbC5weQppbmRleCA3Y2FhZmRiLi45NWZmNWI4IDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2pzb24vdGVzdF9mYWlsLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfanNvbi90ZXN0X2ZhaWwucHkKQEAgLTg3LDcgKzg3LDcgQEAKICAgICAgICAgICAgICAgICBjb250aW51ZQogICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgIHNlbGYubG9hZHMoZG9jKQotICAgICAgICAgICAgZXhjZXB0IFZhbHVlRXJyb3I6CisgICAgICAgICAgICBleGNlcHQgc2VsZi5KU09ORGVjb2RlRXJyb3I6CiAgICAgICAgICAgICAgICAgcGFzcwogICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICBzZWxmLmZhaWwoIkV4cGVjdGVkIGZhaWx1cmUgZm9yIGZhaWx7MH0uanNvbjogezEhcn0iLmZvcm1hdChpZHgsIGRvYykpCkBAIC0xMjQsMTAgKzEyNCwxNiBAQAogICAgICAgICAgICAgKCcic3BhbScsICdVbnRlcm1pbmF0ZWQgc3RyaW5nIHN0YXJ0aW5nIGF0JywgMCksCiAgICAgICAgIF0KICAgICAgICAgZm9yIGRhdGEsIG1zZywgaWR4IGluIHRlc3RfY2FzZXM6Ci0gICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlc1JlZ2V4KFZhbHVlRXJyb3IsCi0gICAgICAgICAgICAgICAgcideezB9OiBsaW5lIDEgY29sdW1uIHsxfSBcKGNoYXIgezJ9XCknLmZvcm1hdCgKLSAgICAgICAgICAgICAgICAgICAgcmUuZXNjYXBlKG1zZyksIGlkeCArIDEsIGlkeCksCi0gICAgICAgICAgICAgICAgc2VsZi5sb2FkcywgZGF0YSkKKyAgICAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoc2VsZi5KU09ORGVjb2RlRXJyb3IpIGFzIGNtOgorICAgICAgICAgICAgICAgIHNlbGYubG9hZHMoZGF0YSkKKyAgICAgICAgICAgIGVyciA9IGNtLmV4Y2VwdGlvbgorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChlcnIubXNnLCBtc2cpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGVyci5wb3MsIGlkeCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXJyLmxpbmVubywgMSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXJyLmNvbG5vLCBpZHggKyAxKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdHIoZXJyKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyVzOiBsaW5lIDEgY29sdW1uICVkIChjaGFyICVkKScgJQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobXNnLCBpZHggKyAxLCBpZHgpKQogCiAgICAgZGVmIHRlc3RfdW5leHBlY3RlZF9kYXRhKHNlbGYpOgogICAgICAgICB0ZXN0X2Nhc2VzID0gWwpAQCAtMTU0LDEwICsxNjAsMTYgQEAKICAgICAgICAgICAgICgneyJzcGFtIjo0Mix9JywgJ0V4cGVjdGluZyBwcm9wZXJ0eSBuYW1lIGVuY2xvc2VkIGluIGRvdWJsZSBxdW90ZXMnLCAxMSksCiAgICAgICAgIF0KICAgICAgICAgZm9yIGRhdGEsIG1zZywgaWR4IGluIHRlc3RfY2FzZXM6Ci0gICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlc1JlZ2V4KFZhbHVlRXJyb3IsCi0gICAgICAgICAgICAgICAgcideezB9OiBsaW5lIDEgY29sdW1uIHsxfSBcKGNoYXIgezJ9XCknLmZvcm1hdCgKLSAgICAgICAgICAgICAgICAgICAgcmUuZXNjYXBlKG1zZyksIGlkeCArIDEsIGlkeCksCi0gICAgICAgICAgICAgICAgc2VsZi5sb2FkcywgZGF0YSkKKyAgICAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoc2VsZi5KU09ORGVjb2RlRXJyb3IpIGFzIGNtOgorICAgICAgICAgICAgICAgIHNlbGYubG9hZHMoZGF0YSkKKyAgICAgICAgICAgIGVyciA9IGNtLmV4Y2VwdGlvbgorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChlcnIubXNnLCBtc2cpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGVyci5wb3MsIGlkeCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXJyLmxpbmVubywgMSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXJyLmNvbG5vLCBpZHggKyAxKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdHIoZXJyKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyVzOiBsaW5lIDEgY29sdW1uICVkIChjaGFyICVkKScgJQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobXNnLCBpZHggKyAxLCBpZHgpKQogCiAgICAgZGVmIHRlc3RfZXh0cmFfZGF0YShzZWxmKToKICAgICAgICAgdGVzdF9jYXNlcyA9IFsKQEAgLTE3MSwxMSArMTgzLDE2IEBACiAgICAgICAgICAgICAoJyJzcGFtIiw0MicsICdFeHRyYSBkYXRhJywgNiksCiAgICAgICAgIF0KICAgICAgICAgZm9yIGRhdGEsIG1zZywgaWR4IGluIHRlc3RfY2FzZXM6Ci0gICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlc1JlZ2V4KFZhbHVlRXJyb3IsCi0gICAgICAgICAgICAgICAgcideezB9OiBsaW5lIDEgY29sdW1uIHsxfSAtIGxpbmUgMSBjb2x1bW4gezJ9JwotICAgICAgICAgICAgICAgIHInIFwoY2hhciB7M30gLSB7NH1cKScuZm9ybWF0KAotICAgICAgICAgICAgICAgICAgICByZS5lc2NhcGUobXNnKSwgaWR4ICsgMSwgbGVuKGRhdGEpICsgMSwgaWR4LCBsZW4oZGF0YSkpLAotICAgICAgICAgICAgICAgIHNlbGYubG9hZHMsIGRhdGEpCisgICAgICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKHNlbGYuSlNPTkRlY29kZUVycm9yKSBhcyBjbToKKyAgICAgICAgICAgICAgICBzZWxmLmxvYWRzKGRhdGEpCisgICAgICAgICAgICBlcnIgPSBjbS5leGNlcHRpb24KKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXJyLm1zZywgbXNnKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChlcnIucG9zLCBpZHgpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGVyci5saW5lbm8sIDEpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGVyci5jb2xubywgaWR4ICsgMSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyKGVyciksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICclczogbGluZSAxIGNvbHVtbiAlZCAoY2hhciAlZCknICUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG1zZywgaWR4ICsgMSwgaWR4KSkKIAogICAgIGRlZiB0ZXN0X2xpbmVjb2woc2VsZik6CiAgICAgICAgIHRlc3RfY2FzZXMgPSBbCkBAIC0xODUsMTAgKzIwMiwxNiBAQAogICAgICAgICAgICAgKCdcbiAgXG5cbiAgICAgIScsIDQsIDYsIDEwKSwKICAgICAgICAgXQogICAgICAgICBmb3IgZGF0YSwgbGluZSwgY29sLCBpZHggaW4gdGVzdF9jYXNlczoKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoVmFsdWVFcnJvciwKLSAgICAgICAgICAgICAgICByJ15FeHBlY3RpbmcgdmFsdWU6IGxpbmUgezB9IGNvbHVtbiB7MX0nCi0gICAgICAgICAgICAgICAgcicgXChjaGFyIHsyfVwpJCcuZm9ybWF0KGxpbmUsIGNvbCwgaWR4KSwKLSAgICAgICAgICAgICAgICBzZWxmLmxvYWRzLCBkYXRhKQorICAgICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhzZWxmLkpTT05EZWNvZGVFcnJvcikgYXMgY206CisgICAgICAgICAgICAgICAgc2VsZi5sb2FkcyhkYXRhKQorICAgICAgICAgICAgZXJyID0gY20uZXhjZXB0aW9uCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGVyci5tc2csICdFeHBlY3RpbmcgdmFsdWUnKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChlcnIucG9zLCBpZHgpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGVyci5saW5lbm8sIGxpbmUpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGVyci5jb2xubywgY29sKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdHIoZXJyKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0V4cGVjdGluZyB2YWx1ZTogbGluZSAlcyBjb2x1bW4gJWQgKGNoYXIgJWQpJyAlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChsaW5lLCBjb2wsIGlkeCkpCiAKIGNsYXNzIFRlc3RQeUZhaWwoVGVzdEZhaWwsIFB5VGVzdCk6IHBhc3MKIGNsYXNzIFRlc3RDRmFpbChUZXN0RmFpbCwgQ1Rlc3QpOiBwYXNzCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2pzb24vdGVzdF9zY2Fuc3RyaW5nLnB5IGIvTGliL3Rlc3QvdGVzdF9qc29uL3Rlc3Rfc2NhbnN0cmluZy5weQppbmRleCAwN2Y0MzU4Li4yZDNlZThhIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2pzb24vdGVzdF9zY2Fuc3RyaW5nLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfanNvbi90ZXN0X3NjYW5zdHJpbmcucHkKQEAgLTEyOSw3ICsxMjksNyBAQAogICAgICAgICAgICAgJyJcXHVkODM0XFx1MFgyMCInLAogICAgICAgICBdCiAgICAgICAgIGZvciBzIGluIGJhZF9lc2NhcGVzOgotICAgICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBtc2c9cyk6CisgICAgICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKHNlbGYuSlNPTkRlY29kZUVycm9yLCBtc2c9cyk6CiAgICAgICAgICAgICAgICAgc2NhbnN0cmluZyhzLCAxLCBUcnVlKQogCiAgICAgZGVmIHRlc3Rfb3ZlcmZsb3coc2VsZik6CmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2pzb24vdGVzdF90b29sLnB5IGIvTGliL3Rlc3QvdGVzdF9qc29uL3Rlc3RfdG9vbC5weQppbmRleCAwYzM5ZTU2Li5iZDYzZTJiIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2pzb24vdGVzdF90b29sLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfanNvbi90ZXN0X3Rvb2wucHkKQEAgLTYsNiArNiw3IEBACiBmcm9tIHRlc3QgaW1wb3J0IHN1cHBvcnQKIGZyb20gdGVzdC5zY3JpcHRfaGVscGVyIGltcG9ydCBhc3NlcnRfcHl0aG9uX29rCiAKKwogY2xhc3MgVGVzdFRvb2wodW5pdHRlc3QuVGVzdENhc2UpOgogICAgIGRhdGEgPSAiIiIKIApAQCAtMTUsNyArMTYsNyBAQAogICAgICAgICAgICAgOiJ5ZXMifSAgXQogICAgICAgICAgICAiIiIKIAotICAgIGV4cGVjdCA9IHRleHR3cmFwLmRlZGVudCgiIiJcCisgICAgZXhwZWN0X3dpdGhvdXRfc29ydF9rZXlzID0gdGV4dHdyYXAuZGVkZW50KCIiIlwKICAgICBbCiAgICAgICAgIFsKICAgICAgICAgICAgICJibG9ycGllIgpAQCAtMzcsNiArMzgsMjggQEAKICAgICBdCiAgICAgIiIiKQogCisgICAgZXhwZWN0ID0gdGV4dHdyYXAuZGVkZW50KCIiIlwKKyAgICBbCisgICAgICAgIFsKKyAgICAgICAgICAgICJibG9ycGllIgorICAgICAgICBdLAorICAgICAgICBbCisgICAgICAgICAgICAid2hvb3BzIgorICAgICAgICBdLAorICAgICAgICBbXSwKKyAgICAgICAgImQtc2h0YWVvdSIsCisgICAgICAgICJkLW50aGlvdWgiLAorICAgICAgICAiaS12aGJqa2hudGgiLAorICAgICAgICB7CisgICAgICAgICAgICAibmlmdHkiOiA4NworICAgICAgICB9LAorICAgICAgICB7CisgICAgICAgICAgICAibW9yZWZpZWxkIjogZmFsc2UsCisgICAgICAgICAgICAiZmllbGQiOiAieWVzIgorICAgICAgICB9CisgICAgXQorICAgICIiIikKKwogICAgIGRlZiB0ZXN0X3N0ZGluX3N0ZG91dChzZWxmKToKICAgICAgICAgd2l0aCBzdWJwcm9jZXNzLlBvcGVuKAogICAgICAgICAgICAgICAgIChzeXMuZXhlY3V0YWJsZSwgJy1tJywgJ2pzb24udG9vbCcpLApAQCAtNTUsNiArNzgsNyBAQAogICAgIGRlZiB0ZXN0X2luZmlsZV9zdGRvdXQoc2VsZik6CiAgICAgICAgIGluZmlsZSA9IHNlbGYuX2NyZWF0ZV9pbmZpbGUoKQogICAgICAgICByYywgb3V0LCBlcnIgPSBhc3NlcnRfcHl0aG9uX29rKCctbScsICdqc29uLnRvb2wnLCBpbmZpbGUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmMsIDApCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwob3V0LnNwbGl0bGluZXMoKSwgc2VsZi5leHBlY3QuZW5jb2RlKCkuc3BsaXRsaW5lcygpKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGVyciwgYicnKQogCkBAIC02NSw1ICs4OSwyMCBAQAogICAgICAgICBzZWxmLmFkZENsZWFudXAob3MucmVtb3ZlLCBvdXRmaWxlKQogICAgICAgICB3aXRoIG9wZW4ob3V0ZmlsZSwgInIiKSBhcyBmcDoKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZnAucmVhZCgpLCBzZWxmLmV4cGVjdCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyYywgMCkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChvdXQsIGInJykKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChlcnIsIGInJykKKworICAgIGRlZiB0ZXN0X2hlbHBfZmxhZyhzZWxmKToKKyAgICAgICAgcmMsIG91dCwgZXJyID0gYXNzZXJ0X3B5dGhvbl9vaygnLW0nLCAnanNvbi50b29sJywgJy1oJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyYywgMCkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG91dC5zdGFydHN3aXRoKGIndXNhZ2U6ICcpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGVyciwgYicnKQorCisgICAgZGVmIHRlc3Rfc29ydF9rZXlzX2ZsYWcoc2VsZik6CisgICAgICAgIGluZmlsZSA9IHNlbGYuX2NyZWF0ZV9pbmZpbGUoKQorICAgICAgICByYywgb3V0LCBlcnIgPSBhc3NlcnRfcHl0aG9uX29rKCctbScsICdqc29uLnRvb2wnLCAnLS1zb3J0LWtleXMnLCBpbmZpbGUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmMsIDApCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwob3V0LnNwbGl0bGluZXMoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmV4cGVjdF93aXRob3V0X3NvcnRfa2V5cy5lbmNvZGUoKS5zcGxpdGxpbmVzKCkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXJyLCBiJycpCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2txdWV1ZS5weSBiL0xpYi90ZXN0L3Rlc3Rfa3F1ZXVlLnB5CmluZGV4IGY3OWJkODkuLjI1ODVjYTYgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3Rfa3F1ZXVlLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3Rfa3F1ZXVlLnB5CkBAIC0xMTQsNyArMTE0LDcgQEAKICAgICBkZWYgdGVzdF9xdWV1ZV9ldmVudChzZWxmKToKICAgICAgICAgc2VydmVyU29ja2V0ID0gc29ja2V0LnNvY2tldCgpCiAgICAgICAgIHNlcnZlclNvY2tldC5iaW5kKCgnMTI3LjAuMC4xJywgMCkpCi0gICAgICAgIHNlcnZlclNvY2tldC5saXN0ZW4oMSkKKyAgICAgICAgc2VydmVyU29ja2V0Lmxpc3RlbigpCiAgICAgICAgIGNsaWVudCA9IHNvY2tldC5zb2NrZXQoKQogICAgICAgICBjbGllbnQuc2V0YmxvY2tpbmcoRmFsc2UpCiAgICAgICAgIHRyeToKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfbGluZWNhY2hlLnB5IGIvTGliL3Rlc3QvdGVzdF9saW5lY2FjaGUucHkKaW5kZXggNWZlMDU1NC4uMmZiODY2MiAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9saW5lY2FjaGUucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9saW5lY2FjaGUucHkKQEAgLTcsNiArNyw3IEBACiAKIAogRklMRU5BTUUgPSBsaW5lY2FjaGUuX19maWxlX18KK05PTkVYSVNURU5UX0ZJTEVOQU1FID0gRklMRU5BTUUgKyAnLm1pc3NpbmcnCiBJTlZBTElEX05BTUUgPSAnIUAkKSghQCNfMScKIEVNUFRZID0gJycKIFRFU1RTID0gJ2luc3BlY3RfZm9kZGVyIGluc3BlY3RfZm9kZGVyMiBtYXBwaW5nX3Rlc3RzJwpAQCAtMTI2LDYgKzEyNyw0OSBAQAogICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGluZSwgZ2V0bGluZShzb3VyY2VfbmFtZSwgaW5kZXggKyAxKSkKICAgICAgICAgICAgICAgICBzb3VyY2VfbGlzdC5hcHBlbmQobGluZSkKIAorICAgIGRlZiB0ZXN0X2xhenljYWNoZV9ub19nbG9iYWxzKHNlbGYpOgorICAgICAgICBsaW5lcyA9IGxpbmVjYWNoZS5nZXRsaW5lcyhGSUxFTkFNRSkKKyAgICAgICAgbGluZWNhY2hlLmNsZWFyY2FjaGUoKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKEZhbHNlLCBsaW5lY2FjaGUubGF6eWNhY2hlKEZJTEVOQU1FLCBOb25lKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsaW5lcywgbGluZWNhY2hlLmdldGxpbmVzKEZJTEVOQU1FKSkKKworICAgIGRlZiB0ZXN0X2xhenljYWNoZV9zbW9rZShzZWxmKToKKyAgICAgICAgbGluZXMgPSBsaW5lY2FjaGUuZ2V0bGluZXMoTk9ORVhJU1RFTlRfRklMRU5BTUUsIGdsb2JhbHMoKSkKKyAgICAgICAgbGluZWNhY2hlLmNsZWFyY2FjaGUoKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAorICAgICAgICAgICAgVHJ1ZSwgbGluZWNhY2hlLmxhenljYWNoZShOT05FWElTVEVOVF9GSUxFTkFNRSwgZ2xvYmFscygpKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgxLCBsZW4obGluZWNhY2hlLmNhY2hlW05PTkVYSVNURU5UX0ZJTEVOQU1FXSkpCisgICAgICAgICMgTm90ZSBoZXJlIHRoYXQgd2UncmUgbG9va2luZyB1cCBhIG5vbiBleGlzdGFudCBmaWxlbmFtZSB3aXRoIG5vCisgICAgICAgICMgZ2xvYmFsczogdGhpcyB3b3VsZCBlcnJvciBpZiB0aGUgbGF6eSB2YWx1ZSB3YXNuJ3QgcmVzb2x2ZWQuCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGluZXMsIGxpbmVjYWNoZS5nZXRsaW5lcyhOT05FWElTVEVOVF9GSUxFTkFNRSkpCisKKyAgICBkZWYgdGVzdF9sYXp5Y2FjaGVfcHJvdmlkZV9hZnRlcl9mYWlsZWRfbG9va3VwKHNlbGYpOgorICAgICAgICBsaW5lY2FjaGUuY2xlYXJjYWNoZSgpCisgICAgICAgIGxpbmVzID0gbGluZWNhY2hlLmdldGxpbmVzKE5PTkVYSVNURU5UX0ZJTEVOQU1FLCBnbG9iYWxzKCkpCisgICAgICAgIGxpbmVjYWNoZS5jbGVhcmNhY2hlKCkKKyAgICAgICAgbGluZWNhY2hlLmdldGxpbmVzKE5PTkVYSVNURU5UX0ZJTEVOQU1FKQorICAgICAgICBsaW5lY2FjaGUubGF6eWNhY2hlKE5PTkVYSVNURU5UX0ZJTEVOQU1FLCBnbG9iYWxzKCkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGluZXMsIGxpbmVjYWNoZS51cGRhdGVjYWNoZShOT05FWElTVEVOVF9GSUxFTkFNRSkpCisKKyAgICBkZWYgdGVzdF9sYXp5Y2FjaGVfY2hlY2soc2VsZik6CisgICAgICAgIGxpbmVjYWNoZS5jbGVhcmNhY2hlKCkKKyAgICAgICAgbGluZWNhY2hlLmxhenljYWNoZShOT05FWElTVEVOVF9GSUxFTkFNRSwgZ2xvYmFscygpKQorICAgICAgICBsaW5lY2FjaGUuY2hlY2tjYWNoZSgpCisKKyAgICBkZWYgdGVzdF9sYXp5Y2FjaGVfYmFkX2ZpbGVuYW1lKHNlbGYpOgorICAgICAgICBsaW5lY2FjaGUuY2xlYXJjYWNoZSgpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoRmFsc2UsIGxpbmVjYWNoZS5sYXp5Y2FjaGUoJycsIGdsb2JhbHMoKSkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoRmFsc2UsIGxpbmVjYWNoZS5sYXp5Y2FjaGUoJzxmb28+JywgZ2xvYmFscygpKSkKKworICAgIGRlZiB0ZXN0X2xhenljYWNoZV9hbHJlYWR5X2NhY2hlZChzZWxmKToKKyAgICAgICAgbGluZWNhY2hlLmNsZWFyY2FjaGUoKQorICAgICAgICBsaW5lcyA9IGxpbmVjYWNoZS5nZXRsaW5lcyhOT05FWElTVEVOVF9GSUxFTkFNRSwgZ2xvYmFscygpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAorICAgICAgICAgICAgRmFsc2UsCisgICAgICAgICAgICBsaW5lY2FjaGUubGF6eWNhY2hlKE5PTkVYSVNURU5UX0ZJTEVOQU1FLCBnbG9iYWxzKCkpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKDQsIGxlbihsaW5lY2FjaGUuY2FjaGVbTk9ORVhJU1RFTlRfRklMRU5BTUVdKSkKKworCiBkZWYgdGVzdF9tYWluKCk6CiAgICAgc3VwcG9ydC5ydW5fdW5pdHRlc3QoTGluZUNhY2hlVGVzdHMpCiAKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfbG9jYWxlLnB5IGIvTGliL3Rlc3QvdGVzdF9sb2NhbGUucHkKaW5kZXggOTM2OWEyNS4uZmFlMmMzZCAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9sb2NhbGUucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9sb2NhbGUucHkKQEAgLTUyNCw1ICs1MjQsNTkgQEAKICAgICAgICAgICAgIGxvY2FsZS5zZXRsb2NhbGUobG9jYWxlLkxDX0FMTCwgKGInbm90JywgYid2YWxpZCcpKQogCiAKK2NsYXNzIEJhc2VEZWxvY2FsaXplVGVzdChCYXNlTG9jYWxpemVkVGVzdCk6CisKKyAgICBkZWYgX3Rlc3RfZGVsb2NhbGl6ZShzZWxmLCB2YWx1ZSwgb3V0KToKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsb2NhbGUuZGVsb2NhbGl6ZSh2YWx1ZSksIG91dCkKKworICAgIGRlZiBfdGVzdF9hdG9mKHNlbGYsIHZhbHVlLCBvdXQpOgorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxvY2FsZS5hdG9mKHZhbHVlKSwgb3V0KQorCisgICAgZGVmIF90ZXN0X2F0b2koc2VsZiwgdmFsdWUsIG91dCk6CisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobG9jYWxlLmF0b2kodmFsdWUpLCBvdXQpCisKKworY2xhc3MgVGVzdEVuVVNEZWxvY2FsaXplKEVuVVNDb29rZWRUZXN0LCBCYXNlRGVsb2NhbGl6ZVRlc3QpOgorCisgICAgZGVmIHRlc3RfZGVsb2NhbGl6ZShzZWxmKToKKyAgICAgICAgc2VsZi5fdGVzdF9kZWxvY2FsaXplKCc1MDAwMC4wMCcsICc1MDAwMC4wMCcpCisgICAgICAgIHNlbGYuX3Rlc3RfZGVsb2NhbGl6ZSgnNTAsMDAwLjAwJywgJzUwMDAwLjAwJykKKworICAgIGRlZiB0ZXN0X2F0b2Yoc2VsZik6CisgICAgICAgIHNlbGYuX3Rlc3RfYXRvZignNTAwMDAuMDAnLCA1MDAwMC4pCisgICAgICAgIHNlbGYuX3Rlc3RfYXRvZignNTAsMDAwLjAwJywgNTAwMDAuKQorCisgICAgZGVmIHRlc3RfYXRvaShzZWxmKToKKyAgICAgICAgc2VsZi5fdGVzdF9hdG9pKCc1MDAwMCcsIDUwMDAwKQorICAgICAgICBzZWxmLl90ZXN0X2F0b2koJzUwLDAwMCcsIDUwMDAwKQorCisKK2NsYXNzIFRlc3RDRGVsb2NhbGl6ZVRlc3QoQ0Nvb2tlZFRlc3QsIEJhc2VEZWxvY2FsaXplVGVzdCk6CisKKyAgICBkZWYgdGVzdF9kZWxvY2FsaXplKHNlbGYpOgorICAgICAgICBzZWxmLl90ZXN0X2RlbG9jYWxpemUoJzUwMDAwLjAwJywgJzUwMDAwLjAwJykKKworICAgIGRlZiB0ZXN0X2F0b2Yoc2VsZik6CisgICAgICAgIHNlbGYuX3Rlc3RfYXRvZignNTAwMDAuMDAnLCA1MDAwMC4pCisKKyAgICBkZWYgdGVzdF9hdG9pKHNlbGYpOgorICAgICAgICBzZWxmLl90ZXN0X2F0b2koJzUwMDAwJywgNTAwMDApCisKKworY2xhc3MgVGVzdGZyRlJEZWxvY2FsaXplVGVzdChGckZSQ29va2VkVGVzdCwgQmFzZURlbG9jYWxpemVUZXN0KToKKworICAgIGRlZiB0ZXN0X2RlbG9jYWxpemUoc2VsZik6CisgICAgICAgIHNlbGYuX3Rlc3RfZGVsb2NhbGl6ZSgnNTAwMDAsMDAnLCAnNTAwMDAuMDAnKQorICAgICAgICBzZWxmLl90ZXN0X2RlbG9jYWxpemUoJzUwIDAwMCwwMCcsICc1MDAwMC4wMCcpCisKKyAgICBkZWYgdGVzdF9hdG9mKHNlbGYpOgorICAgICAgICBzZWxmLl90ZXN0X2F0b2YoJzUwMDAwLDAwJywgNTAwMDAuKQorICAgICAgICBzZWxmLl90ZXN0X2F0b2YoJzUwIDAwMCwwMCcsIDUwMDAwLikKKworICAgIGRlZiB0ZXN0X2F0b2koc2VsZik6CisgICAgICAgIHNlbGYuX3Rlc3RfYXRvaSgnNTAwMDAnLCA1MDAwMCkKKyAgICAgICAgc2VsZi5fdGVzdF9hdG9pKCc1MCAwMDAnLCA1MDAwMCkKKworCiBpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgogICAgIHVuaXR0ZXN0Lm1haW4oKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9sb2dnaW5nLnB5IGIvTGliL3Rlc3QvdGVzdF9sb2dnaW5nLnB5CmluZGV4IDU0YmUyMTcuLmM4YjZhOTggMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfbG9nZ2luZy5weQorKysgYi9MaWIvdGVzdC90ZXN0X2xvZ2dpbmcucHkKQEAgLTEsNCArMSw0IEBACi0jIENvcHlyaWdodCAyMDAxLTIwMTMgYnkgVmluYXkgU2FqaXAuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisjIENvcHlyaWdodCAyMDAxLTIwMTQgYnkgVmluYXkgU2FqaXAuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAjCiAjIFBlcm1pc3Npb24gdG8gdXNlLCBjb3B5LCBtb2RpZnksIGFuZCBkaXN0cmlidXRlIHRoaXMgc29mdHdhcmUgYW5kIGl0cwogIyBkb2N1bWVudGF0aW9uIGZvciBhbnkgcHVycG9zZSBhbmQgd2l0aG91dCBmZWUgaXMgaGVyZWJ5IGdyYW50ZWQsCkBAIC0xNiw3ICsxNiw3IEBACiAKICIiIlRlc3QgaGFybmVzcyBmb3IgdGhlIGxvZ2dpbmcgbW9kdWxlLiBSdW4gYWxsIHRlc3RzLgogCi1Db3B5cmlnaHQgKEMpIDIwMDEtMjAxMyBWaW5heSBTYWppcC4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KK0NvcHlyaWdodCAoQykgMjAwMS0yMDE0IFZpbmF5IFNhamlwLiBBbGwgUmlnaHRzIFJlc2VydmVkLgogIiIiCiAKIGltcG9ydCBsb2dnaW5nCkBAIC0zNCwxNCArMzQsMTIgQEAKIGltcG9ydCBxdWV1ZQogaW1wb3J0IHJhbmRvbQogaW1wb3J0IHJlCi1pbXBvcnQgc2VsZWN0CiBpbXBvcnQgc29ja2V0CiBpbXBvcnQgc3RydWN0CiBpbXBvcnQgc3lzCiBpbXBvcnQgdGVtcGZpbGUKIGZyb20gdGVzdC5zY3JpcHRfaGVscGVyIGltcG9ydCBhc3NlcnRfcHl0aG9uX29rCi1mcm9tIHRlc3Quc3VwcG9ydCBpbXBvcnQgKGNhcHR1cmVkX3N0ZG91dCwgcnVuX3dpdGhfbG9jYWxlLCBydW5fdW5pdHRlc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIHBhdGNoLCByZXF1aXJlc196bGliLCBUZXN0SGFuZGxlciwgTWF0Y2hlciwgSE9TVCkKK2Zyb20gdGVzdCBpbXBvcnQgc3VwcG9ydAogaW1wb3J0IHRleHR3cmFwCiBpbXBvcnQgdGltZQogaW1wb3J0IHVuaXR0ZXN0CkBAIC01MSwxNiArNDksMTIgQEAKICAgICBpbXBvcnQgdGhyZWFkaW5nCiAgICAgIyBUaGUgZm9sbG93aW5nIGltcG9ydHMgYXJlIG5lZWRlZCBvbmx5IGZvciB0ZXN0cyB3aGljaAogICAgICMgcmVxdWlyZSB0aHJlYWRpbmcKLSAgICBpbXBvcnQgYXN5bmNoYXQKICAgICBpbXBvcnQgYXN5bmNvcmUKLSAgICBpbXBvcnQgZXJybm8KICAgICBmcm9tIGh0dHAuc2VydmVyIGltcG9ydCBIVFRQU2VydmVyLCBCYXNlSFRUUFJlcXVlc3RIYW5kbGVyCiAgICAgaW1wb3J0IHNtdHBkCiAgICAgZnJvbSB1cmxsaWIucGFyc2UgaW1wb3J0IHVybHBhcnNlLCBwYXJzZV9xcwogICAgIGZyb20gc29ja2V0c2VydmVyIGltcG9ydCAoVGhyZWFkaW5nVURQU2VydmVyLCBEYXRhZ3JhbVJlcXVlc3RIYW5kbGVyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhyZWFkaW5nVENQU2VydmVyLCBTdHJlYW1SZXF1ZXN0SGFuZGxlciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRocmVhZGluZ1VuaXhTdHJlYW1TZXJ2ZXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaHJlYWRpbmdVbml4RGF0YWdyYW1TZXJ2ZXIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaHJlYWRpbmdUQ1BTZXJ2ZXIsIFN0cmVhbVJlcXVlc3RIYW5kbGVyKQogZXhjZXB0IEltcG9ydEVycm9yOgogICAgIHRocmVhZGluZyA9IE5vbmUKIHRyeToKQEAgLTY0NSwyMiArNjM5LDIzIEBACiAgICAgICAgIGggPSBUZXN0U3RyZWFtSGFuZGxlcihCYWRTdHJlYW0oKSkKICAgICAgICAgciA9IGxvZ2dpbmcubWFrZUxvZ1JlY29yZCh7fSkKICAgICAgICAgb2xkX3JhaXNlID0gbG9nZ2luZy5yYWlzZUV4Y2VwdGlvbnMKLSAgICAgICAgb2xkX3N0ZGVyciA9IHN5cy5zdGRlcnIKKwogICAgICAgICB0cnk6CiAgICAgICAgICAgICBoLmhhbmRsZShyKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRJcyhoLmVycm9yX3JlY29yZCwgcikKKwogICAgICAgICAgICAgaCA9IGxvZ2dpbmcuU3RyZWFtSGFuZGxlcihCYWRTdHJlYW0oKSkKLSAgICAgICAgICAgIHN5cy5zdGRlcnIgPSBzaW8gPSBpby5TdHJpbmdJTygpCi0gICAgICAgICAgICBoLmhhbmRsZShyKQotICAgICAgICAgICAgc2VsZi5hc3NlcnRJbignXG5SdW50aW1lRXJyb3I6IGRlbGliZXJhdGUgbWlzdGFrZVxuJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgc2lvLmdldHZhbHVlKCkpCisgICAgICAgICAgICB3aXRoIHN1cHBvcnQuY2FwdHVyZWRfc3RkZXJyKCkgYXMgc3RkZXJyOgorICAgICAgICAgICAgICAgIGguaGFuZGxlKHIpCisgICAgICAgICAgICAgICAgbXNnID0gJ1xuUnVudGltZUVycm9yOiBkZWxpYmVyYXRlIG1pc3Rha2VcbicKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEluKG1zZywgc3RkZXJyLmdldHZhbHVlKCkpCisKICAgICAgICAgICAgIGxvZ2dpbmcucmFpc2VFeGNlcHRpb25zID0gRmFsc2UKLSAgICAgICAgICAgIHN5cy5zdGRlcnIgPSBzaW8gPSBpby5TdHJpbmdJTygpCi0gICAgICAgICAgICBoLmhhbmRsZShyKQotICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgnJywgc2lvLmdldHZhbHVlKCkpCisgICAgICAgICAgICB3aXRoIHN1cHBvcnQuY2FwdHVyZWRfc3RkZXJyKCkgYXMgc3RkZXJyOgorICAgICAgICAgICAgICAgIGguaGFuZGxlKHIpCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgnJywgc3RkZXJyLmdldHZhbHVlKCkpCiAgICAgICAgIGZpbmFsbHk6CiAgICAgICAgICAgICBsb2dnaW5nLnJhaXNlRXhjZXB0aW9ucyA9IG9sZF9yYWlzZQotICAgICAgICAgICAgc3lzLnN0ZGVyciA9IG9sZF9zdGRlcnIKIAogIyAtLSBUaGUgZm9sbG93aW5nIHNlY3Rpb24gY291bGQgYmUgbW92ZWQgaW50byBhIHNlcnZlcl9oZWxwZXIucHkgbW9kdWxlCiAjIC0tIGlmIGl0IHByb3ZlcyB0byBiZSBvZiB3aWRlciB1dGlsaXR5IHRoYW4ganVzdCB0ZXN0X2xvZ2dpbmcKQEAgLTY4OCw3ICs2ODMsOCBAQAogICAgICAgICAiIiIKIAogICAgICAgICBkZWYgX19pbml0X18oc2VsZiwgYWRkciwgaGFuZGxlciwgcG9sbF9pbnRlcnZhbCwgc29ja21hcCk6Ci0gICAgICAgICAgICBzbXRwZC5TTVRQU2VydmVyLl9faW5pdF9fKHNlbGYsIGFkZHIsIE5vbmUsIG1hcD1zb2NrbWFwKQorICAgICAgICAgICAgc210cGQuU01UUFNlcnZlci5fX2luaXRfXyhzZWxmLCBhZGRyLCBOb25lLCBtYXA9c29ja21hcCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVjb2RlX2RhdGE9VHJ1ZSkKICAgICAgICAgICAgIHNlbGYucG9ydCA9IHNlbGYuc29ja2V0LmdldHNvY2tuYW1lKClbMV0KICAgICAgICAgICAgIHNlbGYuX2hhbmRsZXIgPSBoYW5kbGVyCiAgICAgICAgICAgICBzZWxmLl90aHJlYWQgPSBOb25lCkBAIC05MzAsMTAgKzkyNiwxMCBAQAogICAgIFRJTUVPVVQgPSA4LjAKICAgICBkZWYgdGVzdF9iYXNpYyhzZWxmKToKICAgICAgICAgc29ja21hcCA9IHt9Ci0gICAgICAgIHNlcnZlciA9IFRlc3RTTVRQU2VydmVyKChIT1NULCAwKSwgc2VsZi5wcm9jZXNzX21lc3NhZ2UsIDAuMDAxLAorICAgICAgICBzZXJ2ZXIgPSBUZXN0U01UUFNlcnZlcigoc3VwcG9ydC5IT1NULCAwKSwgc2VsZi5wcm9jZXNzX21lc3NhZ2UsIDAuMDAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzb2NrbWFwKQogICAgICAgICBzZXJ2ZXIuc3RhcnQoKQotICAgICAgICBhZGRyID0gKEhPU1QsIHNlcnZlci5wb3J0KQorICAgICAgICBhZGRyID0gKHN1cHBvcnQuSE9TVCwgc2VydmVyLnBvcnQpCiAgICAgICAgIGggPSBsb2dnaW5nLmhhbmRsZXJzLlNNVFBIYW5kbGVyKGFkZHIsICdtZScsICd5b3UnLCAnTG9nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGltZW91dD1zZWxmLlRJTUVPVVQpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoaC50b2FkZHJzLCBbJ3lvdSddKQpAQCAtMTI0OSw3ICsxMjQ1LDcgQEAKIAogICAgIGRlZiB0ZXN0X2NvbmZpZzBfb2soc2VsZik6CiAgICAgICAgICMgQSBzaW1wbGUgY29uZmlnIGZpbGUgd2hpY2ggb3ZlcnJpZGVzIHRoZSBkZWZhdWx0IHNldHRpbmdzLgotICAgICAgICB3aXRoIGNhcHR1cmVkX3N0ZG91dCgpIGFzIG91dHB1dDoKKyAgICAgICAgd2l0aCBzdXBwb3J0LmNhcHR1cmVkX3N0ZG91dCgpIGFzIG91dHB1dDoKICAgICAgICAgICAgIHNlbGYuYXBwbHlfY29uZmlnKHNlbGYuY29uZmlnMCkKICAgICAgICAgICAgIGxvZ2dlciA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKCkKICAgICAgICAgICAgICMgV29uJ3Qgb3V0cHV0IGFueXRoaW5nCkBAIC0xMjY0LDcgKzEyNjAsNyBAQAogCiAgICAgZGVmIHRlc3RfY29uZmlnMF91c2luZ19jcF9vayhzZWxmKToKICAgICAgICAgIyBBIHNpbXBsZSBjb25maWcgZmlsZSB3aGljaCBvdmVycmlkZXMgdGhlIGRlZmF1bHQgc2V0dGluZ3MuCi0gICAgICAgIHdpdGggY2FwdHVyZWRfc3Rkb3V0KCkgYXMgb3V0cHV0OgorICAgICAgICB3aXRoIHN1cHBvcnQuY2FwdHVyZWRfc3Rkb3V0KCkgYXMgb3V0cHV0OgogICAgICAgICAgICAgZmlsZSA9IGlvLlN0cmluZ0lPKHRleHR3cmFwLmRlZGVudChzZWxmLmNvbmZpZzApKQogICAgICAgICAgICAgY3AgPSBjb25maWdwYXJzZXIuQ29uZmlnUGFyc2VyKCkKICAgICAgICAgICAgIGNwLnJlYWRfZmlsZShmaWxlKQpAQCAtMTI4Miw3ICsxMjc4LDcgQEAKIAogICAgIGRlZiB0ZXN0X2NvbmZpZzFfb2soc2VsZiwgY29uZmlnPWNvbmZpZzEpOgogICAgICAgICAjIEEgY29uZmlnIGZpbGUgZGVmaW5pbmcgYSBzdWItcGFyc2VyIGFzIHdlbGwuCi0gICAgICAgIHdpdGggY2FwdHVyZWRfc3Rkb3V0KCkgYXMgb3V0cHV0OgorICAgICAgICB3aXRoIHN1cHBvcnQuY2FwdHVyZWRfc3Rkb3V0KCkgYXMgb3V0cHV0OgogICAgICAgICAgICAgc2VsZi5hcHBseV9jb25maWcoY29uZmlnKQogICAgICAgICAgICAgbG9nZ2VyID0gbG9nZ2luZy5nZXRMb2dnZXIoImNvbXBpbGVyLnBhcnNlciIpCiAgICAgICAgICAgICAjIEJvdGggd2lsbCBvdXRwdXQgYSBtZXNzYWdlCkBAIC0xMzA1LDcgKzEzMDEsNyBAQAogCiAgICAgZGVmIHRlc3RfY29uZmlnNF9vayhzZWxmKToKICAgICAgICAgIyBBIGNvbmZpZyBmaWxlIHNwZWNpZnlpbmcgYSBjdXN0b20gZm9ybWF0dGVyIGNsYXNzLgotICAgICAgICB3aXRoIGNhcHR1cmVkX3N0ZG91dCgpIGFzIG91dHB1dDoKKyAgICAgICAgd2l0aCBzdXBwb3J0LmNhcHR1cmVkX3N0ZG91dCgpIGFzIG91dHB1dDoKICAgICAgICAgICAgIHNlbGYuYXBwbHlfY29uZmlnKHNlbGYuY29uZmlnNCkKICAgICAgICAgICAgIGxvZ2dlciA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKCkKICAgICAgICAgICAgIHRyeToKQEAgLTEzMjUsNyArMTMyMSw3IEBACiAgICAgICAgIHNlbGYudGVzdF9jb25maWcxX29rKGNvbmZpZz1zZWxmLmNvbmZpZzYpCiAKICAgICBkZWYgdGVzdF9jb25maWc3X29rKHNlbGYpOgotICAgICAgICB3aXRoIGNhcHR1cmVkX3N0ZG91dCgpIGFzIG91dHB1dDoKKyAgICAgICAgd2l0aCBzdXBwb3J0LmNhcHR1cmVkX3N0ZG91dCgpIGFzIG91dHB1dDoKICAgICAgICAgICAgIHNlbGYuYXBwbHlfY29uZmlnKHNlbGYuY29uZmlnMWEpCiAgICAgICAgICAgICBsb2dnZXIgPSBsb2dnaW5nLmdldExvZ2dlcigiY29tcGlsZXIucGFyc2VyIikKICAgICAgICAgICAgICMgU2VlIGlzc3VlICMxMTQyNC4gY29tcGlsZXItaHlwaGVuYXRlZCBzb3J0cwpAQCAtMTM0NSw3ICsxMzQxLDcgQEAKICAgICAgICAgICAgIF0sIHN0cmVhbT1vdXRwdXQpCiAgICAgICAgICAgICAjIE9yaWdpbmFsIGxvZ2dlciBvdXRwdXQgaXMgZW1wdHkuCiAgICAgICAgICAgICBzZWxmLmFzc2VydF9sb2dfbGluZXMoW10pCi0gICAgICAgIHdpdGggY2FwdHVyZWRfc3Rkb3V0KCkgYXMgb3V0cHV0OgorICAgICAgICB3aXRoIHN1cHBvcnQuY2FwdHVyZWRfc3Rkb3V0KCkgYXMgb3V0cHV0OgogICAgICAgICAgICAgc2VsZi5hcHBseV9jb25maWcoc2VsZi5jb25maWc3KQogICAgICAgICAgICAgbG9nZ2VyID0gbG9nZ2luZy5nZXRMb2dnZXIoImNvbXBpbGVyLnBhcnNlciIpCiAgICAgICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGxvZ2dlci5kaXNhYmxlZCkKQEAgLTI0OTIsNyArMjQ4OCw3IEBACiAKICAgICBkZWYgdGVzdF9jb25maWcwX29rKHNlbGYpOgogICAgICAgICAjIEEgc2ltcGxlIGNvbmZpZyB3aGljaCBvdmVycmlkZXMgdGhlIGRlZmF1bHQgc2V0dGluZ3MuCi0gICAgICAgIHdpdGggY2FwdHVyZWRfc3Rkb3V0KCkgYXMgb3V0cHV0OgorICAgICAgICB3aXRoIHN1cHBvcnQuY2FwdHVyZWRfc3Rkb3V0KCkgYXMgb3V0cHV0OgogICAgICAgICAgICAgc2VsZi5hcHBseV9jb25maWcoc2VsZi5jb25maWcwKQogICAgICAgICAgICAgbG9nZ2VyID0gbG9nZ2luZy5nZXRMb2dnZXIoKQogICAgICAgICAgICAgIyBXb24ndCBvdXRwdXQgYW55dGhpbmcKQEAgLTI1MDcsNyArMjUwMyw3IEBACiAKICAgICBkZWYgdGVzdF9jb25maWcxX29rKHNlbGYsIGNvbmZpZz1jb25maWcxKToKICAgICAgICAgIyBBIGNvbmZpZyBkZWZpbmluZyBhIHN1Yi1wYXJzZXIgYXMgd2VsbC4KLSAgICAgICAgd2l0aCBjYXB0dXJlZF9zdGRvdXQoKSBhcyBvdXRwdXQ6CisgICAgICAgIHdpdGggc3VwcG9ydC5jYXB0dXJlZF9zdGRvdXQoKSBhcyBvdXRwdXQ6CiAgICAgICAgICAgICBzZWxmLmFwcGx5X2NvbmZpZyhjb25maWcpCiAgICAgICAgICAgICBsb2dnZXIgPSBsb2dnaW5nLmdldExvZ2dlcigiY29tcGlsZXIucGFyc2VyIikKICAgICAgICAgICAgICMgQm90aCB3aWxsIG91dHB1dCBhIG1lc3NhZ2UKQEAgLTI1MzgsNyArMjUzNCw3IEBACiAKICAgICBkZWYgdGVzdF9jb25maWc0X29rKHNlbGYpOgogICAgICAgICAjIEEgY29uZmlnIHNwZWNpZnlpbmcgYSBjdXN0b20gZm9ybWF0dGVyIGNsYXNzLgotICAgICAgICB3aXRoIGNhcHR1cmVkX3N0ZG91dCgpIGFzIG91dHB1dDoKKyAgICAgICAgd2l0aCBzdXBwb3J0LmNhcHR1cmVkX3N0ZG91dCgpIGFzIG91dHB1dDoKICAgICAgICAgICAgIHNlbGYuYXBwbHlfY29uZmlnKHNlbGYuY29uZmlnNCkKICAgICAgICAgICAgICNsb2dnZXIgPSBsb2dnaW5nLmdldExvZ2dlcigpCiAgICAgICAgICAgICB0cnk6CkBAIC0yNTUzLDcgKzI1NDksNyBAQAogCiAgICAgZGVmIHRlc3RfY29uZmlnNGFfb2soc2VsZik6CiAgICAgICAgICMgQSBjb25maWcgc3BlY2lmeWluZyBhIGN1c3RvbSBmb3JtYXR0ZXIgY2xhc3MuCi0gICAgICAgIHdpdGggY2FwdHVyZWRfc3Rkb3V0KCkgYXMgb3V0cHV0OgorICAgICAgICB3aXRoIHN1cHBvcnQuY2FwdHVyZWRfc3Rkb3V0KCkgYXMgb3V0cHV0OgogICAgICAgICAgICAgc2VsZi5hcHBseV9jb25maWcoc2VsZi5jb25maWc0YSkKICAgICAgICAgICAgICNsb2dnZXIgPSBsb2dnaW5nLmdldExvZ2dlcigpCiAgICAgICAgICAgICB0cnk6CkBAIC0yNTczLDcgKzI1NjksNyBAQAogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhFeGNlcHRpb24sIHNlbGYuYXBwbHlfY29uZmlnLCBzZWxmLmNvbmZpZzYpCiAKICAgICBkZWYgdGVzdF9jb25maWc3X29rKHNlbGYpOgotICAgICAgICB3aXRoIGNhcHR1cmVkX3N0ZG91dCgpIGFzIG91dHB1dDoKKyAgICAgICAgd2l0aCBzdXBwb3J0LmNhcHR1cmVkX3N0ZG91dCgpIGFzIG91dHB1dDoKICAgICAgICAgICAgIHNlbGYuYXBwbHlfY29uZmlnKHNlbGYuY29uZmlnMSkKICAgICAgICAgICAgIGxvZ2dlciA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKCJjb21waWxlci5wYXJzZXIiKQogICAgICAgICAgICAgIyBCb3RoIHdpbGwgb3V0cHV0IGEgbWVzc2FnZQpAQCAtMjU4NSw3ICsyNTgxLDcgQEAKICAgICAgICAgICAgIF0sIHN0cmVhbT1vdXRwdXQpCiAgICAgICAgICAgICAjIE9yaWdpbmFsIGxvZ2dlciBvdXRwdXQgaXMgZW1wdHkuCiAgICAgICAgICAgICBzZWxmLmFzc2VydF9sb2dfbGluZXMoW10pCi0gICAgICAgIHdpdGggY2FwdHVyZWRfc3Rkb3V0KCkgYXMgb3V0cHV0OgorICAgICAgICB3aXRoIHN1cHBvcnQuY2FwdHVyZWRfc3Rkb3V0KCkgYXMgb3V0cHV0OgogICAgICAgICAgICAgc2VsZi5hcHBseV9jb25maWcoc2VsZi5jb25maWc3KQogICAgICAgICAgICAgbG9nZ2VyID0gbG9nZ2luZy5nZXRMb2dnZXIoImNvbXBpbGVyLnBhcnNlciIpCiAgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUobG9nZ2VyLmRpc2FibGVkKQpAQCAtMjYwMiw3ICsyNTk4LDcgQEAKIAogICAgICNTYW1lIGFzIHRlc3RfY29uZmlnXzdfb2sgYnV0IGRvbid0IGRpc2FibGUgb2xkIGxvZ2dlcnMuCiAgICAgZGVmIHRlc3RfY29uZmlnXzhfb2soc2VsZik6Ci0gICAgICAgIHdpdGggY2FwdHVyZWRfc3Rkb3V0KCkgYXMgb3V0cHV0OgorICAgICAgICB3aXRoIHN1cHBvcnQuY2FwdHVyZWRfc3Rkb3V0KCkgYXMgb3V0cHV0OgogICAgICAgICAgICAgc2VsZi5hcHBseV9jb25maWcoc2VsZi5jb25maWcxKQogICAgICAgICAgICAgbG9nZ2VyID0gbG9nZ2luZy5nZXRMb2dnZXIoImNvbXBpbGVyLnBhcnNlciIpCiAgICAgICAgICAgICAjIEFsbCB3aWxsIG91dHB1dCBhIG1lc3NhZ2UKQEAgLTI2MTQsNyArMjYxMCw3IEBACiAgICAgICAgICAgICBdLCBzdHJlYW09b3V0cHV0KQogICAgICAgICAgICAgIyBPcmlnaW5hbCBsb2dnZXIgb3V0cHV0IGlzIGVtcHR5LgogICAgICAgICAgICAgc2VsZi5hc3NlcnRfbG9nX2xpbmVzKFtdKQotICAgICAgICB3aXRoIGNhcHR1cmVkX3N0ZG91dCgpIGFzIG91dHB1dDoKKyAgICAgICAgd2l0aCBzdXBwb3J0LmNhcHR1cmVkX3N0ZG91dCgpIGFzIG91dHB1dDoKICAgICAgICAgICAgIHNlbGYuYXBwbHlfY29uZmlnKHNlbGYuY29uZmlnOCkKICAgICAgICAgICAgIGxvZ2dlciA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKCJjb21waWxlci5wYXJzZXIiKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShsb2dnZXIuZGlzYWJsZWQpCkBAIC0yNjM1LDcgKzI2MzEsNyBAQAogICAgICAgICAgICAgc2VsZi5hc3NlcnRfbG9nX2xpbmVzKFtdKQogCiAgICAgZGVmIHRlc3RfY29uZmlnXzhhX29rKHNlbGYpOgotICAgICAgICB3aXRoIGNhcHR1cmVkX3N0ZG91dCgpIGFzIG91dHB1dDoKKyAgICAgICAgd2l0aCBzdXBwb3J0LmNhcHR1cmVkX3N0ZG91dCgpIGFzIG91dHB1dDoKICAgICAgICAgICAgIHNlbGYuYXBwbHlfY29uZmlnKHNlbGYuY29uZmlnMWEpCiAgICAgICAgICAgICBsb2dnZXIgPSBsb2dnaW5nLmdldExvZ2dlcigiY29tcGlsZXIucGFyc2VyIikKICAgICAgICAgICAgICMgU2VlIGlzc3VlICMxMTQyNC4gY29tcGlsZXItaHlwaGVuYXRlZCBzb3J0cwpAQCAtMjY1NSw3ICsyNjUxLDcgQEAKICAgICAgICAgICAgIF0sIHN0cmVhbT1vdXRwdXQpCiAgICAgICAgICAgICAjIE9yaWdpbmFsIGxvZ2dlciBvdXRwdXQgaXMgZW1wdHkuCiAgICAgICAgICAgICBzZWxmLmFzc2VydF9sb2dfbGluZXMoW10pCi0gICAgICAgIHdpdGggY2FwdHVyZWRfc3Rkb3V0KCkgYXMgb3V0cHV0OgorICAgICAgICB3aXRoIHN1cHBvcnQuY2FwdHVyZWRfc3Rkb3V0KCkgYXMgb3V0cHV0OgogICAgICAgICAgICAgc2VsZi5hcHBseV9jb25maWcoc2VsZi5jb25maWc4YSkKICAgICAgICAgICAgIGxvZ2dlciA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKCJjb21waWxlci5wYXJzZXIiKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShsb2dnZXIuZGlzYWJsZWQpCkBAIC0yNjc4LDcgKzI2NzQsNyBAQAogICAgICAgICAgICAgc2VsZi5hc3NlcnRfbG9nX2xpbmVzKFtdKQogCiAgICAgZGVmIHRlc3RfY29uZmlnXzlfb2soc2VsZik6Ci0gICAgICAgIHdpdGggY2FwdHVyZWRfc3Rkb3V0KCkgYXMgb3V0cHV0OgorICAgICAgICB3aXRoIHN1cHBvcnQuY2FwdHVyZWRfc3Rkb3V0KCkgYXMgb3V0cHV0OgogICAgICAgICAgICAgc2VsZi5hcHBseV9jb25maWcoc2VsZi5jb25maWc5KQogICAgICAgICAgICAgbG9nZ2VyID0gbG9nZ2luZy5nZXRMb2dnZXIoImNvbXBpbGVyLnBhcnNlciIpCiAgICAgICAgICAgICAjTm90aGluZyB3aWxsIGJlIG91dHB1dCBzaW5jZSBib3RoIGhhbmRsZXIgYW5kIGxvZ2dlciBhcmUgc2V0IHRvIFdBUk5JTkcKQEAgLTI2OTYsNyArMjY5Miw3IEBACiAgICAgICAgICAgICBdLCBzdHJlYW09b3V0cHV0KQogCiAgICAgZGVmIHRlc3RfY29uZmlnXzEwX29rKHNlbGYpOgotICAgICAgICB3aXRoIGNhcHR1cmVkX3N0ZG91dCgpIGFzIG91dHB1dDoKKyAgICAgICAgd2l0aCBzdXBwb3J0LmNhcHR1cmVkX3N0ZG91dCgpIGFzIG91dHB1dDoKICAgICAgICAgICAgIHNlbGYuYXBwbHlfY29uZmlnKHNlbGYuY29uZmlnMTApCiAgICAgICAgICAgICBsb2dnZXIgPSBsb2dnaW5nLmdldExvZ2dlcigiY29tcGlsZXIucGFyc2VyIikKICAgICAgICAgICAgIGxvZ2dlci53YXJuaW5nKHNlbGYubmV4dF9tZXNzYWdlKCkpCkBAIC0yNzI0LDcgKzI3MjAsNyBAQAogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhFeGNlcHRpb24sIHNlbGYuYXBwbHlfY29uZmlnLCBzZWxmLmNvbmZpZzEzKQogCiAgICAgZGVmIHRlc3RfY29uZmlnMTRfb2soc2VsZik6Ci0gICAgICAgIHdpdGggY2FwdHVyZWRfc3Rkb3V0KCkgYXMgb3V0cHV0OgorICAgICAgICB3aXRoIHN1cHBvcnQuY2FwdHVyZWRfc3Rkb3V0KCkgYXMgb3V0cHV0OgogICAgICAgICAgICAgc2VsZi5hcHBseV9jb25maWcoc2VsZi5jb25maWcxNCkKICAgICAgICAgICAgIGggPSBsb2dnaW5nLl9oYW5kbGVyc1snaGFuZDEnXQogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChoLmZvbywgJ2JhcicpCkBAIC0yNzYzLDcgKzI3NTksNyBAQAogCiAgICAgQHVuaXR0ZXN0LnNraXBVbmxlc3ModGhyZWFkaW5nLCAnVGhyZWFkaW5nIHJlcXVpcmVkIGZvciB0aGlzIHRlc3QuJykKICAgICBkZWYgdGVzdF9saXN0ZW5fY29uZmlnXzEwX29rKHNlbGYpOgotICAgICAgICB3aXRoIGNhcHR1cmVkX3N0ZG91dCgpIGFzIG91dHB1dDoKKyAgICAgICAgd2l0aCBzdXBwb3J0LmNhcHR1cmVkX3N0ZG91dCgpIGFzIG91dHB1dDoKICAgICAgICAgICAgIHNlbGYuc2V0dXBfdmlhX2xpc3RlbmVyKGpzb24uZHVtcHMoc2VsZi5jb25maWcxMCkpCiAgICAgICAgICAgICBsb2dnZXIgPSBsb2dnaW5nLmdldExvZ2dlcigiY29tcGlsZXIucGFyc2VyIikKICAgICAgICAgICAgIGxvZ2dlci53YXJuaW5nKHNlbGYubmV4dF9tZXNzYWdlKCkpCkBAIC0yNzgzLDcgKzI3NzksNyBAQAogCiAgICAgQHVuaXR0ZXN0LnNraXBVbmxlc3ModGhyZWFkaW5nLCAnVGhyZWFkaW5nIHJlcXVpcmVkIGZvciB0aGlzIHRlc3QuJykKICAgICBkZWYgdGVzdF9saXN0ZW5fY29uZmlnXzFfb2soc2VsZik6Ci0gICAgICAgIHdpdGggY2FwdHVyZWRfc3Rkb3V0KCkgYXMgb3V0cHV0OgorICAgICAgICB3aXRoIHN1cHBvcnQuY2FwdHVyZWRfc3Rkb3V0KCkgYXMgb3V0cHV0OgogICAgICAgICAgICAgc2VsZi5zZXR1cF92aWFfbGlzdGVuZXIodGV4dHdyYXAuZGVkZW50KENvbmZpZ0ZpbGVUZXN0LmNvbmZpZzEpKQogICAgICAgICAgICAgbG9nZ2VyID0gbG9nZ2luZy5nZXRMb2dnZXIoImNvbXBpbGVyLnBhcnNlciIpCiAgICAgICAgICAgICAjIEJvdGggd2lsbCBvdXRwdXQgYSBtZXNzYWdlCkBAIC0yODEwLDcgKzI4MDYsNyBAQAogICAgICAgICAjIEZpcnN0LCBzcGVjaWZ5IGEgdmVyaWZpY2F0aW9uIGZ1bmN0aW9uIHRoYXQgd2lsbCBmYWlsLgogICAgICAgICAjIFdlIGV4cGVjdCB0byBzZWUgbm8gb3V0cHV0LCBzaW5jZSBvdXIgY29uZmlndXJhdGlvbgogICAgICAgICAjIG5ldmVyIHRvb2sgZWZmZWN0LgotICAgICAgICB3aXRoIGNhcHR1cmVkX3N0ZG91dCgpIGFzIG91dHB1dDoKKyAgICAgICAgd2l0aCBzdXBwb3J0LmNhcHR1cmVkX3N0ZG91dCgpIGFzIG91dHB1dDoKICAgICAgICAgICAgIHNlbGYuc2V0dXBfdmlhX2xpc3RlbmVyKHRvX3NlbmQsIHZlcmlmeV9mYWlsKQogICAgICAgICAgICAgIyBCb3RoIHdpbGwgb3V0cHV0IGEgbWVzc2FnZQogICAgICAgICAgICAgbG9nZ2VyLmluZm8oc2VsZi5uZXh0X21lc3NhZ2UoKSkKQEAgLTI4MjUsNyArMjgyMSw3IEBACiAgICAgICAgICMgTm93LCBwZXJmb3JtIG5vIHZlcmlmaWNhdGlvbi4gT3VyIGNvbmZpZ3VyYXRpb24KICAgICAgICAgIyBzaG91bGQgdGFrZSBlZmZlY3QuCiAKLSAgICAgICAgd2l0aCBjYXB0dXJlZF9zdGRvdXQoKSBhcyBvdXRwdXQ6CisgICAgICAgIHdpdGggc3VwcG9ydC5jYXB0dXJlZF9zdGRvdXQoKSBhcyBvdXRwdXQ6CiAgICAgICAgICAgICBzZWxmLnNldHVwX3ZpYV9saXN0ZW5lcih0b19zZW5kKSAgICAjIG5vIHZlcmlmeSBjYWxsYWJsZSBzcGVjaWZpZWQKICAgICAgICAgICAgIGxvZ2dlciA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKCJjb21waWxlci5wYXJzZXIiKQogICAgICAgICAgICAgIyBCb3RoIHdpbGwgb3V0cHV0IGEgbWVzc2FnZQpAQCAtMjg0Myw3ICsyODM5LDcgQEAKIAogICAgICAgICAjIE5vdywgcGVyZm9ybSB2ZXJpZmljYXRpb24gd2hpY2ggdHJhbnNmb3JtcyB0aGUgYnl0ZXMuCiAKLSAgICAgICAgd2l0aCBjYXB0dXJlZF9zdGRvdXQoKSBhcyBvdXRwdXQ6CisgICAgICAgIHdpdGggc3VwcG9ydC5jYXB0dXJlZF9zdGRvdXQoKSBhcyBvdXRwdXQ6CiAgICAgICAgICAgICBzZWxmLnNldHVwX3ZpYV9saXN0ZW5lcih0b19zZW5kWzo6LTFdLCB2ZXJpZnlfcmV2ZXJzZSkKICAgICAgICAgICAgIGxvZ2dlciA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKCJjb21waWxlci5wYXJzZXIiKQogICAgICAgICAgICAgIyBCb3RoIHdpbGwgb3V0cHV0IGEgbWVzc2FnZQpAQCAtMjk5OCw3ICsyOTk0LDcgQEAKICAgICBAdW5pdHRlc3Quc2tpcFVubGVzcyhoYXNhdHRyKGxvZ2dpbmcuaGFuZGxlcnMsICdRdWV1ZUxpc3RlbmVyJyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgJ2xvZ2dpbmcuaGFuZGxlcnMuUXVldWVMaXN0ZW5lciByZXF1aXJlZCBmb3IgdGhpcyB0ZXN0JykKICAgICBkZWYgdGVzdF9xdWV1ZV9saXN0ZW5lcihzZWxmKToKLSAgICAgICAgaGFuZGxlciA9IFRlc3RIYW5kbGVyKE1hdGNoZXIoKSkKKyAgICAgICAgaGFuZGxlciA9IHN1cHBvcnQuVGVzdEhhbmRsZXIoc3VwcG9ydC5NYXRjaGVyKCkpCiAgICAgICAgIGxpc3RlbmVyID0gbG9nZ2luZy5oYW5kbGVycy5RdWV1ZUxpc3RlbmVyKHNlbGYucXVldWUsIGhhbmRsZXIpCiAgICAgICAgIGxpc3RlbmVyLnN0YXJ0KCkKICAgICAgICAgdHJ5OgpAQCAtMzAxMCw2ICszMDA2LDI1IEBACiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShoYW5kbGVyLm1hdGNoZXMobGV2ZWxubz1sb2dnaW5nLldBUk5JTkcsIG1lc3NhZ2U9JzEnKSkKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGhhbmRsZXIubWF0Y2hlcyhsZXZlbG5vPWxvZ2dpbmcuRVJST1IsIG1lc3NhZ2U9JzInKSkKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGhhbmRsZXIubWF0Y2hlcyhsZXZlbG5vPWxvZ2dpbmcuQ1JJVElDQUwsIG1lc3NhZ2U9JzMnKSkKKyAgICAgICAgaGFuZGxlci5jbG9zZSgpCisKKyAgICAgICAgIyBOb3cgdGVzdCB3aXRoIHJlc3BlY3RfaGFuZGxlcl9sZXZlbCBzZXQKKworICAgICAgICBoYW5kbGVyID0gc3VwcG9ydC5UZXN0SGFuZGxlcihzdXBwb3J0Lk1hdGNoZXIoKSkKKyAgICAgICAgaGFuZGxlci5zZXRMZXZlbChsb2dnaW5nLkNSSVRJQ0FMKQorICAgICAgICBsaXN0ZW5lciA9IGxvZ2dpbmcuaGFuZGxlcnMuUXVldWVMaXN0ZW5lcihzZWxmLnF1ZXVlLCBoYW5kbGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNwZWN0X2hhbmRsZXJfbGV2ZWw9VHJ1ZSkKKyAgICAgICAgbGlzdGVuZXIuc3RhcnQoKQorICAgICAgICB0cnk6CisgICAgICAgICAgICBzZWxmLnF1ZV9sb2dnZXIud2FybmluZyhzZWxmLm5leHRfbWVzc2FnZSgpKQorICAgICAgICAgICAgc2VsZi5xdWVfbG9nZ2VyLmVycm9yKHNlbGYubmV4dF9tZXNzYWdlKCkpCisgICAgICAgICAgICBzZWxmLnF1ZV9sb2dnZXIuY3JpdGljYWwoc2VsZi5uZXh0X21lc3NhZ2UoKSkKKyAgICAgICAgZmluYWxseToKKyAgICAgICAgICAgIGxpc3RlbmVyLnN0b3AoKQorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGhhbmRsZXIubWF0Y2hlcyhsZXZlbG5vPWxvZ2dpbmcuV0FSTklORywgbWVzc2FnZT0nNCcpKQorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGhhbmRsZXIubWF0Y2hlcyhsZXZlbG5vPWxvZ2dpbmcuRVJST1IsIG1lc3NhZ2U9JzUnKSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGhhbmRsZXIubWF0Y2hlcyhsZXZlbG5vPWxvZ2dpbmcuQ1JJVElDQUwsIG1lc3NhZ2U9JzYnKSkKKwogCiBaRVJPID0gZGF0ZXRpbWUudGltZWRlbHRhKDApCiAKQEAgLTMxNjYsMzIgKzMxODEsMzUgQEAKICAgICAgICAgIyBUZXN0IHRoZSBsYXN0IHJlc29ydCBoYW5kbGVyCiAgICAgICAgIHJvb3QgPSBzZWxmLnJvb3RfbG9nZ2VyCiAgICAgICAgIHJvb3QucmVtb3ZlSGFuZGxlcihzZWxmLnJvb3RfaGRscikKLSAgICAgICAgb2xkX3N0ZGVyciA9IHN5cy5zdGRlcnIKICAgICAgICAgb2xkX2xhc3RyZXNvcnQgPSBsb2dnaW5nLmxhc3RSZXNvcnQKICAgICAgICAgb2xkX3JhaXNlX2V4Y2VwdGlvbnMgPSBsb2dnaW5nLnJhaXNlRXhjZXB0aW9ucworCiAgICAgICAgIHRyeToKLSAgICAgICAgICAgIHN5cy5zdGRlcnIgPSBzaW8gPSBpby5TdHJpbmdJTygpCi0gICAgICAgICAgICByb290LmRlYnVnKCdUaGlzIHNob3VsZCBub3QgYXBwZWFyJykKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2lvLmdldHZhbHVlKCksICcnKQotICAgICAgICAgICAgcm9vdC53YXJuaW5nKCdUaGlzIGlzIHlvdXIgZmluYWwgY2hhbmNlIScpCi0gICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNpby5nZXR2YWx1ZSgpLCAnVGhpcyBpcyB5b3VyIGZpbmFsIGNoYW5jZSFcbicpCi0gICAgICAgICAgICAjTm8gaGFuZGxlcnMgYW5kIG5vIGxhc3QgcmVzb3J0LCBzbyAnTm8gaGFuZGxlcnMnIG1lc3NhZ2UKKyAgICAgICAgICAgIHdpdGggc3VwcG9ydC5jYXB0dXJlZF9zdGRlcnIoKSBhcyBzdGRlcnI6CisgICAgICAgICAgICAgICAgcm9vdC5kZWJ1ZygnVGhpcyBzaG91bGQgbm90IGFwcGVhcicpCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdGRlcnIuZ2V0dmFsdWUoKSwgJycpCisgICAgICAgICAgICAgICAgcm9vdC53YXJuaW5nKCdGaW5hbCBjaGFuY2UhJykKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0ZGVyci5nZXR2YWx1ZSgpLCAnRmluYWwgY2hhbmNlIVxuJykKKworICAgICAgICAgICAgIyBObyBoYW5kbGVycyBhbmQgbm8gbGFzdCByZXNvcnQsIHNvICdObyBoYW5kbGVycycgbWVzc2FnZQogICAgICAgICAgICAgbG9nZ2luZy5sYXN0UmVzb3J0ID0gTm9uZQotICAgICAgICAgICAgc3lzLnN0ZGVyciA9IHNpbyA9IGlvLlN0cmluZ0lPKCkKLSAgICAgICAgICAgIHJvb3Qud2FybmluZygnVGhpcyBpcyB5b3VyIGZpbmFsIGNoYW5jZSEnKQotICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzaW8uZ2V0dmFsdWUoKSwgJ05vIGhhbmRsZXJzIGNvdWxkIGJlIGZvdW5kIGZvciBsb2dnZXIgInJvb3QiXG4nKQorICAgICAgICAgICAgd2l0aCBzdXBwb3J0LmNhcHR1cmVkX3N0ZGVycigpIGFzIHN0ZGVycjoKKyAgICAgICAgICAgICAgICByb290Lndhcm5pbmcoJ0ZpbmFsIGNoYW5jZSEnKQorICAgICAgICAgICAgICAgIG1zZyA9ICdObyBoYW5kbGVycyBjb3VsZCBiZSBmb3VuZCBmb3IgbG9nZ2VyICJyb290IlxuJworICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RkZXJyLmdldHZhbHVlKCksIG1zZykKKwogICAgICAgICAgICAgIyAnTm8gaGFuZGxlcnMnIG1lc3NhZ2Ugb25seSBwcmludGVkIG9uY2UKLSAgICAgICAgICAgIHN5cy5zdGRlcnIgPSBzaW8gPSBpby5TdHJpbmdJTygpCi0gICAgICAgICAgICByb290Lndhcm5pbmcoJ1RoaXMgaXMgeW91ciBmaW5hbCBjaGFuY2UhJykKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2lvLmdldHZhbHVlKCksICcnKQorICAgICAgICAgICAgd2l0aCBzdXBwb3J0LmNhcHR1cmVkX3N0ZGVycigpIGFzIHN0ZGVycjoKKyAgICAgICAgICAgICAgICByb290Lndhcm5pbmcoJ0ZpbmFsIGNoYW5jZSEnKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RkZXJyLmdldHZhbHVlKCksICcnKQorCisgICAgICAgICAgICAjIElmIHJhaXNlRXhjZXB0aW9ucyBpcyBGYWxzZSwgbm8gbWVzc2FnZSBpcyBwcmludGVkCiAgICAgICAgICAgICByb290Lm1hbmFnZXIuZW1pdHRlZE5vSGFuZGxlcldhcm5pbmcgPSBGYWxzZQotICAgICAgICAgICAgI0lmIHJhaXNlRXhjZXB0aW9ucyBpcyBGYWxzZSwgbm8gbWVzc2FnZSBpcyBwcmludGVkCiAgICAgICAgICAgICBsb2dnaW5nLnJhaXNlRXhjZXB0aW9ucyA9IEZhbHNlCi0gICAgICAgICAgICBzeXMuc3RkZXJyID0gc2lvID0gaW8uU3RyaW5nSU8oKQotICAgICAgICAgICAgcm9vdC53YXJuaW5nKCdUaGlzIGlzIHlvdXIgZmluYWwgY2hhbmNlIScpCi0gICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNpby5nZXR2YWx1ZSgpLCAnJykKKyAgICAgICAgICAgIHdpdGggc3VwcG9ydC5jYXB0dXJlZF9zdGRlcnIoKSBhcyBzdGRlcnI6CisgICAgICAgICAgICAgICAgcm9vdC53YXJuaW5nKCdGaW5hbCBjaGFuY2UhJykKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0ZGVyci5nZXR2YWx1ZSgpLCAnJykKICAgICAgICAgZmluYWxseToKLSAgICAgICAgICAgIHN5cy5zdGRlcnIgPSBvbGRfc3RkZXJyCiAgICAgICAgICAgICByb290LmFkZEhhbmRsZXIoc2VsZi5yb290X2hkbHIpCiAgICAgICAgICAgICBsb2dnaW5nLmxhc3RSZXNvcnQgPSBvbGRfbGFzdHJlc29ydAogICAgICAgICAgICAgbG9nZ2luZy5yYWlzZUV4Y2VwdGlvbnMgPSBvbGRfcmFpc2VfZXhjZXB0aW9ucwpAQCAtMzMyMiw4ICszMzQwLDggQEAKIAogICAgIGRlZiBfdGVzdF9sb2coc2VsZiwgbWV0aG9kLCBsZXZlbD1Ob25lKToKICAgICAgICAgY2FsbGVkID0gW10KLSAgICAgICAgcGF0Y2goc2VsZiwgbG9nZ2luZywgJ2Jhc2ljQ29uZmlnJywKLSAgICAgICAgICAgICAgbGFtYmRhICphLCAqKmt3OiBjYWxsZWQuYXBwZW5kKChhLCBrdykpKQorICAgICAgICBzdXBwb3J0LnBhdGNoKHNlbGYsIGxvZ2dpbmcsICdiYXNpY0NvbmZpZycsCisgICAgICAgICAgICAgICAgICAgICAgbGFtYmRhICphLCAqKmt3OiBjYWxsZWQuYXBwZW5kKChhLCBrdykpKQogCiAgICAgICAgIHJlY29yZGluZyA9IFJlY29yZGluZ0hhbmRsZXIoKQogICAgICAgICBsb2dnaW5nLnJvb3QuYWRkSGFuZGxlcihyZWNvcmRpbmcpCkBAIC0zNDk0LDcgKzM1MTIsNyBAQAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxvZ2dpbmcucm9vdC5sZXZlbCwgc2VsZi5vcmlnaW5hbF9sb2dnaW5nX2xldmVsKQogCiAgICAgZGVmIHRlc3Rfc3RyZm9ybWF0c3R5bGUoc2VsZik6Ci0gICAgICAgIHdpdGggY2FwdHVyZWRfc3Rkb3V0KCkgYXMgb3V0cHV0OgorICAgICAgICB3aXRoIHN1cHBvcnQuY2FwdHVyZWRfc3Rkb3V0KCkgYXMgb3V0cHV0OgogICAgICAgICAgICAgbG9nZ2luZy5iYXNpY0NvbmZpZyhzdHJlYW09c3lzLnN0ZG91dCwgc3R5bGU9InsiKQogICAgICAgICAgICAgbG9nZ2luZy5lcnJvcigiTG9nIGFuIGVycm9yIikKICAgICAgICAgICAgIHN5cy5zdGRvdXQuc2VlaygwKQpAQCAtMzUwMiw3ICszNTIwLDcgQEAKICAgICAgICAgICAgICAgICAiRVJST1I6cm9vdDpMb2cgYW4gZXJyb3IiKQogCiAgICAgZGVmIHRlc3Rfc3RyaW5ndGVtcGxhdGVzdHlsZShzZWxmKToKLSAgICAgICAgd2l0aCBjYXB0dXJlZF9zdGRvdXQoKSBhcyBvdXRwdXQ6CisgICAgICAgIHdpdGggc3VwcG9ydC5jYXB0dXJlZF9zdGRvdXQoKSBhcyBvdXRwdXQ6CiAgICAgICAgICAgICBsb2dnaW5nLmJhc2ljQ29uZmlnKHN0cmVhbT1zeXMuc3Rkb3V0LCBzdHlsZT0iJCIpCiAgICAgICAgICAgICBsb2dnaW5nLmVycm9yKCJMb2cgYW4gZXJyb3IiKQogICAgICAgICAgICAgc3lzLnN0ZG91dC5zZWVrKDApCkBAIC0zNjE5LDcgKzM2MzcsNyBAQAogICAgICAgICAgICAgc2VsZi5hZGRDbGVhbnVwKGxvZ2dpbmcucm9vdC5zZXRMZXZlbCwgb2xkX2xldmVsKQogICAgICAgICAgICAgY2FsbGVkLmFwcGVuZCgoYSwga3cpKQogCi0gICAgICAgIHBhdGNoKHNlbGYsIGxvZ2dpbmcsICdiYXNpY0NvbmZpZycsIG15X2Jhc2ljX2NvbmZpZykKKyAgICAgICAgc3VwcG9ydC5wYXRjaChzZWxmLCBsb2dnaW5nLCAnYmFzaWNDb25maWcnLCBteV9iYXNpY19jb25maWcpCiAKICAgICAgICAgbG9nX21ldGhvZCA9IGdldGF0dHIobG9nZ2luZywgbWV0aG9kKQogICAgICAgICBpZiBsZXZlbCBpcyBub3QgTm9uZToKQEAgLTM2ODUsNiArMzcwMywxOSBAQAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlY29yZC5leGNfaW5mbywKICAgICAgICAgICAgICAgICAgICAgICAgICAoZXhjLl9fY2xhc3NfXywgZXhjLCBleGMuX190cmFjZWJhY2tfXykpCiAKKyAgICBkZWYgdGVzdF9leGNlcHRpb25fZXhjaW5mbyhzZWxmKToKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgMSAvIDAKKyAgICAgICAgZXhjZXB0IFplcm9EaXZpc2lvbkVycm9yIGFzIGU6CisgICAgICAgICAgICBleGMgPSBlCisKKyAgICAgICAgc2VsZi5hZGFwdGVyLmV4Y2VwdGlvbignZXhjX2luZm8gdGVzdCcsIGV4Y19pbmZvPWV4YykKKworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihzZWxmLnJlY29yZGluZy5yZWNvcmRzKSwgMSkKKyAgICAgICAgcmVjb3JkID0gc2VsZi5yZWNvcmRpbmcucmVjb3Jkc1swXQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlY29yZC5leGNfaW5mbywKKyAgICAgICAgICAgICAgICAgICAgICAgICAoZXhjLl9fY2xhc3NfXywgZXhjLCBleGMuX190cmFjZWJhY2tfXykpCisKICAgICBkZWYgdGVzdF9jcml0aWNhbChzZWxmKToKICAgICAgICAgbXNnID0gJ2NyaXRpY2FsIHRlc3QhICVyJwogICAgICAgICBzZWxmLmFkYXB0ZXIuY3JpdGljYWwobXNnLCBzZWxmLnJlY29yZGluZykKQEAgLTM3NTksOCArMzc5MCw4IEBACiAKICAgICBkZWYgdGVzdF9maW5kX2NhbGxlcl93aXRoX3N0YWNrX2luZm8oc2VsZik6CiAgICAgICAgIGNhbGxlZCA9IFtdCi0gICAgICAgIHBhdGNoKHNlbGYsIGxvZ2dpbmcudHJhY2ViYWNrLCAncHJpbnRfc3RhY2snLAotICAgICAgICAgICAgICBsYW1iZGEgZiwgZmlsZTogY2FsbGVkLmFwcGVuZChmaWxlLmdldHZhbHVlKCkpKQorICAgICAgICBzdXBwb3J0LnBhdGNoKHNlbGYsIGxvZ2dpbmcudHJhY2ViYWNrLCAncHJpbnRfc3RhY2snLAorICAgICAgICAgICAgICAgICAgICAgIGxhbWJkYSBmLCBmaWxlOiBjYWxsZWQuYXBwZW5kKGZpbGUuZ2V0dmFsdWUoKSkpCiAKICAgICAgICAgc2VsZi5sb2dnZXIuZmluZENhbGxlcihzdGFja19pbmZvPVRydWUpCiAKQEAgLTM4OTcsNyArMzkyOCw3IEBACiAgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2Uob3MucGF0aC5leGlzdHMobmFtZXIoc2VsZi5mbiArICIuMyIpKSkKICAgICAgICAgcmguY2xvc2UoKQogCi0gICAgQHJlcXVpcmVzX3psaWIKKyAgICBAc3VwcG9ydC5yZXF1aXJlc196bGliCiAgICAgZGVmIHRlc3Rfcm90YXRvcihzZWxmKToKICAgICAgICAgZGVmIG5hbWVyKG5hbWUpOgogICAgICAgICAgICAgcmV0dXJuIG5hbWUgKyAiLmd6IgpAQCAtNDEzMCwyMiArNDE2MSwyMCBAQAogIyBTZXQgdGhlIGxvY2FsZSB0byB0aGUgcGxhdGZvcm0tZGVwZW5kZW50IGRlZmF1bHQuICBJIGhhdmUgbm8gaWRlYQogIyB3aHkgdGhlIHRlc3QgZG9lcyB0aGlzLCBidXQgaW4gYW55IGNhc2Ugd2Ugc2F2ZSB0aGUgY3VycmVudCBsb2NhbGUKICMgZmlyc3QgYW5kIHJlc3RvcmUgaXQgYXQgdGhlIGVuZC4KLUBydW5fd2l0aF9sb2NhbGUoJ0xDX0FMTCcsICcnKQorQHN1cHBvcnQucnVuX3dpdGhfbG9jYWxlKCdMQ19BTEwnLCAnJykKIGRlZiB0ZXN0X21haW4oKToKLSAgICBydW5fdW5pdHRlc3QoQnVpbHRpbkxldmVsc1Rlc3QsIEJhc2ljRmlsdGVyVGVzdCwKLSAgICAgICAgICAgICAgICAgQ3VzdG9tTGV2ZWxzQW5kRmlsdGVyc1Rlc3QsIEhhbmRsZXJUZXN0LCBNZW1vcnlIYW5kbGVyVGVzdCwKLSAgICAgICAgICAgICAgICAgQ29uZmlnRmlsZVRlc3QsIFNvY2tldEhhbmRsZXJUZXN0LCBEYXRhZ3JhbUhhbmRsZXJUZXN0LAotICAgICAgICAgICAgICAgICBNZW1vcnlUZXN0LCBFbmNvZGluZ1Rlc3QsIFdhcm5pbmdzVGVzdCwgQ29uZmlnRGljdFRlc3QsCi0gICAgICAgICAgICAgICAgIE1hbmFnZXJUZXN0LCBGb3JtYXR0ZXJUZXN0LCBCdWZmZXJpbmdGb3JtYXR0ZXJUZXN0LAotICAgICAgICAgICAgICAgICBTdHJlYW1IYW5kbGVyVGVzdCwgTG9nUmVjb3JkRmFjdG9yeVRlc3QsIENoaWxkTG9nZ2VyVGVzdCwKLSAgICAgICAgICAgICAgICAgUXVldWVIYW5kbGVyVGVzdCwgU2h1dGRvd25UZXN0LCBNb2R1bGVMZXZlbE1pc2NUZXN0LAotICAgICAgICAgICAgICAgICBCYXNpY0NvbmZpZ1Rlc3QsIExvZ2dlckFkYXB0ZXJUZXN0LCBMb2dnZXJUZXN0LAotICAgICAgICAgICAgICAgICBTTVRQSGFuZGxlclRlc3QsIEZpbGVIYW5kbGVyVGVzdCwgUm90YXRpbmdGaWxlSGFuZGxlclRlc3QsCi0gICAgICAgICAgICAgICAgIExhc3RSZXNvcnRUZXN0LCBMb2dSZWNvcmRUZXN0LCBFeGNlcHRpb25UZXN0LAotICAgICAgICAgICAgICAgICBTeXNMb2dIYW5kbGVyVGVzdCwgSFRUUEhhbmRsZXJUZXN0LCBOVEV2ZW50TG9nSGFuZGxlclRlc3QsCi0gICAgICAgICAgICAgICAgIFRpbWVkUm90YXRpbmdGaWxlSGFuZGxlclRlc3QsIFVuaXhTb2NrZXRIYW5kbGVyVGVzdCwKLSAgICAgICAgICAgICAgICAgVW5peERhdGFncmFtSGFuZGxlclRlc3QsIFVuaXhTeXNMb2dIYW5kbGVyVGVzdAotICAgICAgICAgICAgICAgICkKKyAgICBzdXBwb3J0LnJ1bl91bml0dGVzdCgKKyAgICAgICAgQnVpbHRpbkxldmVsc1Rlc3QsIEJhc2ljRmlsdGVyVGVzdCwgQ3VzdG9tTGV2ZWxzQW5kRmlsdGVyc1Rlc3QsCisgICAgICAgIEhhbmRsZXJUZXN0LCBNZW1vcnlIYW5kbGVyVGVzdCwgQ29uZmlnRmlsZVRlc3QsIFNvY2tldEhhbmRsZXJUZXN0LAorICAgICAgICBEYXRhZ3JhbUhhbmRsZXJUZXN0LCBNZW1vcnlUZXN0LCBFbmNvZGluZ1Rlc3QsIFdhcm5pbmdzVGVzdCwKKyAgICAgICAgQ29uZmlnRGljdFRlc3QsIE1hbmFnZXJUZXN0LCBGb3JtYXR0ZXJUZXN0LCBCdWZmZXJpbmdGb3JtYXR0ZXJUZXN0LAorICAgICAgICBTdHJlYW1IYW5kbGVyVGVzdCwgTG9nUmVjb3JkRmFjdG9yeVRlc3QsIENoaWxkTG9nZ2VyVGVzdCwKKyAgICAgICAgUXVldWVIYW5kbGVyVGVzdCwgU2h1dGRvd25UZXN0LCBNb2R1bGVMZXZlbE1pc2NUZXN0LCBCYXNpY0NvbmZpZ1Rlc3QsCisgICAgICAgIExvZ2dlckFkYXB0ZXJUZXN0LCBMb2dnZXJUZXN0LCBTTVRQSGFuZGxlclRlc3QsIEZpbGVIYW5kbGVyVGVzdCwKKyAgICAgICAgUm90YXRpbmdGaWxlSGFuZGxlclRlc3QsICBMYXN0UmVzb3J0VGVzdCwgTG9nUmVjb3JkVGVzdCwKKyAgICAgICAgRXhjZXB0aW9uVGVzdCwgU3lzTG9nSGFuZGxlclRlc3QsIEhUVFBIYW5kbGVyVGVzdCwKKyAgICAgICAgTlRFdmVudExvZ0hhbmRsZXJUZXN0LCBUaW1lZFJvdGF0aW5nRmlsZUhhbmRsZXJUZXN0LAorICAgICAgICBVbml4U29ja2V0SGFuZGxlclRlc3QsIFVuaXhEYXRhZ3JhbUhhbmRsZXJUZXN0LCBVbml4U3lzTG9nSGFuZGxlclRlc3QpCiAKIGlmIF9fbmFtZV9fID09ICJfX21haW5fXyI6CiAgICAgdGVzdF9tYWluKCkKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfbG9uZy5weSBiL0xpYi90ZXN0L3Rlc3RfbG9uZy5weQppbmRleCA1ZjE0Nzk1Li41Nzg0N2Q4IDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2xvbmcucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9sb25nLnB5CkBAIC01OTksOCArNTk5LDYgQEAKICAgICAgICAgICAgICAgICByZXR1cm4gKHggPiB5KSAtICh4IDwgeSkKICAgICAgICAgICAgIGRlZiBfX2VxX18oc2VsZiwgb3RoZXIpOgogICAgICAgICAgICAgICAgIHJldHVybiBzZWxmLl9jbXBfXyhvdGhlcikgPT0gMAotICAgICAgICAgICAgZGVmIF9fbmVfXyhzZWxmLCBvdGhlcik6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYuX2NtcF9fKG90aGVyKSAhPSAwCiAgICAgICAgICAgICBkZWYgX19nZV9fKHNlbGYsIG90aGVyKToKICAgICAgICAgICAgICAgICByZXR1cm4gc2VsZi5fY21wX18ob3RoZXIpID49IDAKICAgICAgICAgICAgIGRlZiBfX2d0X18oc2VsZiwgb3RoZXIpOgpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9sem1hLnB5IGIvTGliL3Rlc3QvdGVzdF9sem1hLnB5CmluZGV4IDA3ZmFkYmQuLmNkZWQyOGMgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfbHptYS5weQorKysgYi9MaWIvdGVzdC90ZXN0X2x6bWEucHkKQEAgLTEzNSw2ICsxMzUsOTcgQEAKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGx6ZC5lb2YpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobHpkLnVudXNlZF9kYXRhLCBiIiIpCiAKKyAgICBkZWYgdGVzdF9kZWNvbXByZXNzb3JfY2h1bmtzX21heHNpemUoc2VsZik6CisgICAgICAgIGx6ZCA9IExaTUFEZWNvbXByZXNzb3IoKQorICAgICAgICBtYXhfbGVuZ3RoID0gMTAwCisgICAgICAgIG91dCA9IFtdCisKKyAgICAgICAgIyBGZWVkIGZpcnN0IGhhbGYgdGhlIGlucHV0CisgICAgICAgIGxlbl8gPSBsZW4oQ09NUFJFU1NFRF9YWikgLy8gMgorICAgICAgICBvdXQuYXBwZW5kKGx6ZC5kZWNvbXByZXNzKENPTVBSRVNTRURfWFpbOmxlbl9dLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heF9sZW5ndGg9bWF4X2xlbmd0aCkpCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UobHpkLm5lZWRzX2lucHV0KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihvdXRbLTFdKSwgbWF4X2xlbmd0aCkKKworICAgICAgICAjIFJldHJpZXZlIG1vcmUgZGF0YSB3aXRob3V0IHByb3ZpZGluZyBtb3JlIGlucHV0CisgICAgICAgIG91dC5hcHBlbmQobHpkLmRlY29tcHJlc3MoYicnLCBtYXhfbGVuZ3RoPW1heF9sZW5ndGgpKQorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGx6ZC5uZWVkc19pbnB1dCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4ob3V0Wy0xXSksIG1heF9sZW5ndGgpCisKKyAgICAgICAgIyBSZXRyaWV2ZSBtb3JlIGRhdGEgd2hpbGUgcHJvdmlkaW5nIG1vcmUgaW5wdXQKKyAgICAgICAgb3V0LmFwcGVuZChsemQuZGVjb21wcmVzcyhDT01QUkVTU0VEX1haW2xlbl86XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXhfbGVuZ3RoPW1heF9sZW5ndGgpKQorICAgICAgICBzZWxmLmFzc2VydExlc3NFcXVhbChsZW4ob3V0Wy0xXSksIG1heF9sZW5ndGgpCisKKyAgICAgICAgIyBSZXRyaWV2ZSByZW1haW5pbmcgdW5jb21wcmVzc2VkIGRhdGEKKyAgICAgICAgd2hpbGUgbm90IGx6ZC5lb2Y6CisgICAgICAgICAgICBvdXQuYXBwZW5kKGx6ZC5kZWNvbXByZXNzKGInJywgbWF4X2xlbmd0aD1tYXhfbGVuZ3RoKSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0TGVzc0VxdWFsKGxlbihvdXRbLTFdKSwgbWF4X2xlbmd0aCkKKworICAgICAgICBvdXQgPSBiIiIuam9pbihvdXQpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwob3V0LCBJTlBVVCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsemQuY2hlY2ssIGx6bWEuQ0hFQ0tfQ1JDNjQpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobHpkLnVudXNlZF9kYXRhLCBiIiIpCisKKyAgICBkZWYgdGVzdF9kZWNvbXByZXNzb3JfaW5wdXRidWZfMShzZWxmKToKKyAgICAgICAgIyBUZXN0IHJldXNpbmcgaW5wdXQgYnVmZmVyIGFmdGVyIG1vdmluZyBleGlzdGluZworICAgICAgICAjIGNvbnRlbnRzIHRvIGJlZ2lubmluZworICAgICAgICBsemQgPSBMWk1BRGVjb21wcmVzc29yKCkKKyAgICAgICAgb3V0ID0gW10KKworICAgICAgICAjIENyZWF0ZSBpbnB1dCBidWZmZXIgYW5kIGZpbGwgaXQKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsemQuZGVjb21wcmVzcyhDT01QUkVTU0VEX1haWzoxMDBdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heF9sZW5ndGg9MCksIGInJykKKworICAgICAgICAjIFJldHJpZXZlIHNvbWUgcmVzdWx0cywgZnJlZWluZyBjYXBhY2l0eSBhdCBiZWdpbm5pbmcKKyAgICAgICAgIyBvZiBpbnB1dCBidWZmZXIKKyAgICAgICAgb3V0LmFwcGVuZChsemQuZGVjb21wcmVzcyhiJycsIDIpKQorCisgICAgICAgICMgQWRkIG1vcmUgZGF0YSB0aGF0IGZpdHMgaW50byBpbnB1dCBidWZmZXIgYWZ0ZXIKKyAgICAgICAgIyBtb3ZpbmcgZXhpc3RpbmcgZGF0YSB0byBiZWdpbm5pbmcKKyAgICAgICAgb3V0LmFwcGVuZChsemQuZGVjb21wcmVzcyhDT01QUkVTU0VEX1haWzEwMDoxMDVdLCAxNSkpCisKKyAgICAgICAgIyBEZWNvbXByZXNzIHJlc3Qgb2YgZGF0YQorICAgICAgICBvdXQuYXBwZW5kKGx6ZC5kZWNvbXByZXNzKENPTVBSRVNTRURfWFpbMTA1Ol0pKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGInJy5qb2luKG91dCksIElOUFVUKQorCisgICAgZGVmIHRlc3RfZGVjb21wcmVzc29yX2lucHV0YnVmXzIoc2VsZik6CisgICAgICAgICMgVGVzdCByZXVzaW5nIGlucHV0IGJ1ZmZlciBieSBhcHBlbmRpbmcgZGF0YSBhdCB0aGUKKyAgICAgICAgIyBlbmQgcmlnaHQgYXdheQorICAgICAgICBsemQgPSBMWk1BRGVjb21wcmVzc29yKCkKKyAgICAgICAgb3V0ID0gW10KKworICAgICAgICAjIENyZWF0ZSBpbnB1dCBidWZmZXIgYW5kIGVtcHR5IGl0CisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobHpkLmRlY29tcHJlc3MoQ09NUFJFU1NFRF9YWls6MjAwXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXhfbGVuZ3RoPTApLCBiJycpCisgICAgICAgIG91dC5hcHBlbmQobHpkLmRlY29tcHJlc3MoYicnKSkKKworICAgICAgICAjIEZpbGwgYnVmZmVyIHdpdGggbmV3IGRhdGEKKyAgICAgICAgb3V0LmFwcGVuZChsemQuZGVjb21wcmVzcyhDT01QUkVTU0VEX1haWzIwMDoyODBdLCAyKSkKKworICAgICAgICAjIEFwcGVuZCBzb21lIG1vcmUgZGF0YSwgbm90IGVub3VnaCB0byByZXF1aXJlIHJlc2l6ZQorICAgICAgICBvdXQuYXBwZW5kKGx6ZC5kZWNvbXByZXNzKENPTVBSRVNTRURfWFpbMjgwOjMwMF0sIDIpKQorCisgICAgICAgICMgRGVjb21wcmVzcyByZXN0IG9mIGRhdGEKKyAgICAgICAgb3V0LmFwcGVuZChsemQuZGVjb21wcmVzcyhDT01QUkVTU0VEX1haWzMwMDpdKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiJycuam9pbihvdXQpLCBJTlBVVCkKKworICAgIGRlZiB0ZXN0X2RlY29tcHJlc3Nvcl9pbnB1dGJ1Zl8zKHNlbGYpOgorICAgICAgICAjIFRlc3QgcmV1c2luZyBpbnB1dCBidWZmZXIgYWZ0ZXIgZXh0ZW5kaW5nIGl0CisKKyAgICAgICAgbHpkID0gTFpNQURlY29tcHJlc3NvcigpCisgICAgICAgIG91dCA9IFtdCisKKyAgICAgICAgIyBDcmVhdGUgYWxtb3N0IGZ1bGwgaW5wdXQgYnVmZmVyCisgICAgICAgIG91dC5hcHBlbmQobHpkLmRlY29tcHJlc3MoQ09NUFJFU1NFRF9YWls6MjAwXSwgNSkpCisKKyAgICAgICAgIyBBZGQgZXZlbiBtb3JlIGRhdGEgdG8gaXQsIHJlcXVpcmluZyByZXNpemUKKyAgICAgICAgb3V0LmFwcGVuZChsemQuZGVjb21wcmVzcyhDT01QUkVTU0VEX1haWzIwMDozMDBdLCA1KSkKKworICAgICAgICAjIERlY29tcHJlc3MgcmVzdCBvZiBkYXRhCisgICAgICAgIG91dC5hcHBlbmQobHpkLmRlY29tcHJlc3MoQ09NUFJFU1NFRF9YWlszMDA6XSkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYicnLmpvaW4ob3V0KSwgSU5QVVQpCisKICAgICBkZWYgdGVzdF9kZWNvbXByZXNzb3JfdW51c2VkX2RhdGEoc2VsZik6CiAgICAgICAgIGx6ZCA9IExaTUFEZWNvbXByZXNzb3IoKQogICAgICAgICBleHRyYSA9IGIiZm9vYmxpYmFyIgpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9tYWNwYXRoLnB5IGIvTGliL3Rlc3QvdGVzdF9tYWNwYXRoLnB5CmluZGV4IDIyZjg0OTEuLjgwYmVjN2EgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfbWFjcGF0aC5weQorKysgYi9MaWIvdGVzdC90ZXN0X21hY3BhdGgucHkKQEAgLTE0Miw2ICsxNDIsOCBAQAogY2xhc3MgTWFjQ29tbW9uVGVzdCh0ZXN0X2dlbmVyaWNwYXRoLkNvbW1vblRlc3QsIHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICBwYXRobW9kdWxlID0gbWFjcGF0aAogCisgICAgdGVzdF9yZWxwYXRoX2Vycm9ycyA9IE5vbmUKKwogCiBpZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgogICAgIHVuaXR0ZXN0Lm1haW4oKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9tYXJzaGFsLnB5IGIvTGliL3Rlc3QvdGVzdF9tYXJzaGFsLnB5CmluZGV4IDkwM2UxMmMuLmM3ZGVmOWEgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfbWFyc2hhbC5weQorKysgYi9MaWIvdGVzdC90ZXN0X21hcnNoYWwucHkKQEAgLTE5Myw3ICsxOTMsNyBAQAogICAgICAgICBoZWFkID0gbGFzdCA9IFtdCiAgICAgICAgICMgVGhlIG1heCBzdGFjayBkZXB0aCBzaG91bGQgbWF0Y2ggdGhlIHZhbHVlIGluIFB5dGhvbi9tYXJzaGFsLmMuCiAgICAgICAgIGlmIG9zLm5hbWUgPT0gJ250JyBhbmQgaGFzYXR0cihzeXMsICdnZXR0b3RhbHJlZmNvdW50Jyk6Ci0gICAgICAgICAgICBNQVhfTUFSU0hBTF9TVEFDS19ERVBUSCA9IDE1MDAKKyAgICAgICAgICAgIE1BWF9NQVJTSEFMX1NUQUNLX0RFUFRIID0gMTAwMAogICAgICAgICBlbHNlOgogICAgICAgICAgICAgTUFYX01BUlNIQUxfU1RBQ0tfREVQVEggPSAyMDAwCiAgICAgICAgIGZvciBpIGluIHJhbmdlKE1BWF9NQVJTSEFMX1NUQUNLX0RFUFRIIC0gMik6CmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X21hdGgucHkgYi9MaWIvdGVzdC90ZXN0X21hdGgucHkKaW5kZXggNDhmODRiYS4uMDIzZGVhOSAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9tYXRoLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfbWF0aC5weQpAQCAtNDIyLDkgKzQyMiwxNyBAQAogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtYXRoLmZhY3RvcmlhbChpKSwgcHlfZmFjdG9yaWFsKGkpKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBtYXRoLmZhY3RvcmlhbCwgLTEpCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIG1hdGguZmFjdG9yaWFsLCAtMS4wKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBtYXRoLmZhY3RvcmlhbCwgLTEwKioxMDApCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIG1hdGguZmFjdG9yaWFsLCAtMWUxMDApCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIG1hdGguZmFjdG9yaWFsLCBtYXRoLnBpKQotICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhPdmVyZmxvd0Vycm9yLCBtYXRoLmZhY3RvcmlhbCwgc3lzLm1heHNpemUrMSkKLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoT3ZlcmZsb3dFcnJvciwgbWF0aC5mYWN0b3JpYWwsIDEwZTEwMCkKKworICAgICMgT3RoZXIgaW1wbGVtZW50YXRpb25zIG1heSBwbGFjZSBkaWZmZXJlbnQgdXBwZXIgYm91bmRzLgorICAgIEBzdXBwb3J0LmNweXRob25fb25seQorICAgIGRlZiB0ZXN0RmFjdG9yaWFsSHVnZUlucHV0cyhzZWxmKToKKyAgICAgICAgIyBDdXJyZW50bHkgcmFpc2VzIFZhbHVlRXJyb3IgZm9yIGlucHV0cyB0aGF0IGFyZSB0b28gbGFyZ2UKKyAgICAgICAgIyB0byBmaXQgaW50byBhIEMgbG9uZy4KKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoT3ZlcmZsb3dFcnJvciwgbWF0aC5mYWN0b3JpYWwsIDEwKioxMDApCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKE92ZXJmbG93RXJyb3IsIG1hdGguZmFjdG9yaWFsLCAxZTEwMCkKIAogICAgIGRlZiB0ZXN0Rmxvb3Ioc2VsZik6CiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgbWF0aC5mbG9vcikKQEAgLTk3NSw2ICs5ODMsMTcgQEAKICAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShtYXRoLmlzaW5mKDAuKSkKICAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShtYXRoLmlzaW5mKDEuKSkKIAorICAgIEByZXF1aXJlc19JRUVFXzc1NAorICAgIGRlZiB0ZXN0X25hbl9jb25zdGFudChzZWxmKToKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG1hdGguaXNuYW4obWF0aC5uYW4pKQorCisgICAgQHJlcXVpcmVzX0lFRUVfNzU0CisgICAgZGVmIHRlc3RfaW5mX2NvbnN0YW50KHNlbGYpOgorICAgICAgICBzZWxmLmFzc2VydFRydWUobWF0aC5pc2luZihtYXRoLmluZikpCisgICAgICAgIHNlbGYuYXNzZXJ0R3JlYXRlcihtYXRoLmluZiwgMC4wKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1hdGguaW5mLCBmbG9hdCgiaW5mIikpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoLW1hdGguaW5mLCBmbG9hdCgiLWluZiIpKQorCiAgICAgIyBSRURfRkxBRyAxNi1PY3QtMjAwMCBUaW0KICAgICAjIFdoaWxlIDIuMCBpcyBtb3JlIGNvbnNpc3RlbnQgYWJvdXQgZXhjZXB0aW9ucyB0aGFuIHByZXZpb3VzIHJlbGVhc2VzLCBpdAogICAgICMgc3RpbGwgZmFpbHMgdGhpcyBwYXJ0IG9mIHRoZSB0ZXN0IG9uIHNvbWUgcGxhdGZvcm1zLiAgRm9yIG5vdywgd2Ugb25seQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9tZW1vcnlpby5weSBiL0xpYi90ZXN0L3Rlc3RfbWVtb3J5aW8ucHkKaW5kZXggOWEyNDYxZC4uNzc3NDllNyAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9tZW1vcnlpby5weQorKysgYi9MaWIvdGVzdC90ZXN0X21lbW9yeWlvLnB5CkBAIC05LDYgKzksNyBAQAogaW1wb3J0IGlvCiBpbXBvcnQgX3B5aW8gYXMgcHlpbwogaW1wb3J0IHBpY2tsZQoraW1wb3J0IHN5cwogCiBjbGFzcyBNZW1vcnlTZWVrVGVzdE1peGluOgogCkBAIC03MTcsMTIgKzcxOCw1NiBAQAogCiAgICAgQHN1cHBvcnQuY3B5dGhvbl9vbmx5CiAgICAgZGVmIHRlc3Rfc2l6ZW9mKHNlbGYpOgotICAgICAgICBiYXNlc2l6ZSA9IHN1cHBvcnQuY2FsY29ianNpemUoJ1Aybk4yUG4nKQorICAgICAgICBiYXNlc2l6ZSA9IHN1cHBvcnQuY2FsY29ianNpemUoJ1AybjJQbicpCiAgICAgICAgIGNoZWNrID0gc2VsZi5jaGVja19zaXplb2YKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChvYmplY3QuX19zaXplb2ZfXyhpby5CeXRlc0lPKCkpLCBiYXNlc2l6ZSkKICAgICAgICAgY2hlY2soaW8uQnl0ZXNJTygpLCBiYXNlc2l6ZSApCi0gICAgICAgIGNoZWNrKGlvLkJ5dGVzSU8oYidhJyksIGJhc2VzaXplICsgMSArIDEgKQotICAgICAgICBjaGVjayhpby5CeXRlc0lPKGInYScgKiAxMDAwKSwgYmFzZXNpemUgKyAxMDAwICsgMSApCisgICAgICAgIGNoZWNrKGlvLkJ5dGVzSU8oYidhJyAqIDEwMDApLCBiYXNlc2l6ZSArIHN5cy5nZXRzaXplb2YoYidhJyAqIDEwMDApKQorCisgICAgIyBWYXJpb3VzIHRlc3RzIG9mIGNvcHktb24td3JpdGUgYmVoYXZpb3VyIGZvciBCeXRlc0lPLgorCisgICAgZGVmIF90ZXN0X2Nvd19tdXRhdGlvbihzZWxmLCBtdXRhdGlvbik6CisgICAgICAgICMgQ29tbW9uIGNvZGUgZm9yIGFsbCBCeXRlc0lPIGNvcHktb24td3JpdGUgbXV0YXRpb24gdGVzdHMuCisgICAgICAgIGltbSA9IGInICcgKiAxMDI0CisgICAgICAgIG9sZF9yYyA9IHN5cy5nZXRyZWZjb3VudChpbW0pCisgICAgICAgIG1lbWlvID0gc2VsZi5pb2NsYXNzKGltbSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzeXMuZ2V0cmVmY291bnQoaW1tKSwgb2xkX3JjICsgMSkKKyAgICAgICAgbXV0YXRpb24obWVtaW8pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3lzLmdldHJlZmNvdW50KGltbSksIG9sZF9yYykKKworICAgIEBzdXBwb3J0LmNweXRob25fb25seQorICAgIGRlZiB0ZXN0X2Nvd190cnVuY2F0ZShzZWxmKToKKyAgICAgICAgIyBFbnN1cmUgdHJ1bmNhdGUgY2F1c2VzIGEgY29weS4KKyAgICAgICAgZGVmIG11dGF0aW9uKG1lbWlvKToKKyAgICAgICAgICAgIG1lbWlvLnRydW5jYXRlKDEpCisgICAgICAgIHNlbGYuX3Rlc3RfY293X211dGF0aW9uKG11dGF0aW9uKQorCisgICAgQHN1cHBvcnQuY3B5dGhvbl9vbmx5CisgICAgZGVmIHRlc3RfY293X3dyaXRlKHNlbGYpOgorICAgICAgICAjIEVuc3VyZSB3cml0ZSB0aGF0IHdvdWxkIG5vdCBjYXVzZSBhIHJlc2l6ZSBzdGlsbCByZXN1bHRzIGluIGEgY29weS4KKyAgICAgICAgZGVmIG11dGF0aW9uKG1lbWlvKToKKyAgICAgICAgICAgIG1lbWlvLnNlZWsoMCkKKyAgICAgICAgICAgIG1lbWlvLndyaXRlKGInZm9vJykKKyAgICAgICAgc2VsZi5fdGVzdF9jb3dfbXV0YXRpb24obXV0YXRpb24pCisKKyAgICBAc3VwcG9ydC5jcHl0aG9uX29ubHkKKyAgICBkZWYgdGVzdF9jb3dfc2V0c3RhdGUoc2VsZik6CisgICAgICAgICMgX19zZXRzdGF0ZV9fIHNob3VsZCBjYXVzZSBidWZmZXIgdG8gYmUgcmVsZWFzZWQuCisgICAgICAgIG1lbWlvID0gc2VsZi5pb2NsYXNzKGInZm9vb29vbycpCisgICAgICAgIHN0YXRlID0gbWVtaW8uX19nZXRzdGF0ZV9fKCkKKyAgICAgICAgZGVmIG11dGF0aW9uKG1lbWlvKToKKyAgICAgICAgICAgIG1lbWlvLl9fc2V0c3RhdGVfXyhzdGF0ZSkKKyAgICAgICAgc2VsZi5fdGVzdF9jb3dfbXV0YXRpb24obXV0YXRpb24pCisKKyAgICBAc3VwcG9ydC5jcHl0aG9uX29ubHkKKyAgICBkZWYgdGVzdF9jb3dfbXV0YWJsZShzZWxmKToKKyAgICAgICAgIyBCeXRlc0lPIHNob3VsZCBhY2NlcHQgb25seSBCeXRlcyBmb3IgY29weS1vbi13cml0ZSBzaGFyaW5nLCBzaW5jZQorICAgICAgICAjIGFyYml0cmFyeSBidWZmZXItZXhwb3J0aW5nIG9iamVjdHMgbGlrZSBieXRlYXJyYXkoKSBhcmVuJ3QgZ3VhcmFudGVlZAorICAgICAgICAjIHRvIGJlIGltbXV0YWJsZS4KKyAgICAgICAgYmEgPSBieXRlYXJyYXkoMTAyNCkKKyAgICAgICAgb2xkX3JjID0gc3lzLmdldHJlZmNvdW50KGJhKQorICAgICAgICBtZW1pbyA9IHNlbGYuaW9jbGFzcyhiYSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzeXMuZ2V0cmVmY291bnQoYmEpLCBvbGRfcmMpCiAKIGNsYXNzIENTdHJpbmdJT1Rlc3QoUHlTdHJpbmdJT1Rlc3QpOgogICAgIGlvY2xhc3MgPSBpby5TdHJpbmdJTwpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9tZW1vcnl2aWV3LnB5IGIvTGliL3Rlc3QvdGVzdF9tZW1vcnl2aWV3LnB5CmluZGV4IDRiYzMxMzMuLmU5YmQ5ZmQgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfbWVtb3J5dmlldy5weQorKysgYi9MaWIvdGVzdC90ZXN0X21lbW9yeXZpZXcucHkKQEAgLTM2OSwxMiArMzY5LDEyIEBACiAgICAgICAgIGQgPSBtZW1vcnl2aWV3KGIpCiAKICAgICAgICAgZGVsIGIKLSAKKwogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNbMF0sIDI1NikKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkWzBdLCAyNTYpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYy5mb3JtYXQsICJIIikKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkLmZvcm1hdCwgIkgiKQotIAorCiAgICAgICAgIF8gPSBtLmNhc3QoJ0knKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNbMF0sIDI1NikKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkWzBdLCAyNTYpCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X21vZHVsZS5weSBiL0xpYi90ZXN0L3Rlc3RfbW9kdWxlLnB5CmluZGV4IDEyMzAyOTMuLjlkYTM1MzYgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfbW9kdWxlLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfbW9kdWxlLnB5CkBAIC0zMCw2ICszMCwyMiBAQAogICAgICAgICAgICAgcGFzcwogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGZvby5fX2RvY19fLCBNb2R1bGVUeXBlLl9fZG9jX18pCiAKKyAgICBkZWYgdGVzdF91bmludGlhbGl6ZWRfbWlzc2luZ19nZXRhdHRyKHNlbGYpOgorICAgICAgICAjIElzc3VlIDgyOTcKKyAgICAgICAgIyB0ZXN0IHRoZSB0ZXh0IGluIHRoZSBBdHRyaWJ1dGVFcnJvciBvZiBhbiB1bmluaXRpYWxpemVkIG1vZHVsZQorICAgICAgICBmb28gPSBNb2R1bGVUeXBlLl9fbmV3X18oTW9kdWxlVHlwZSkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXNSZWdleCgKKyAgICAgICAgICAgICAgICBBdHRyaWJ1dGVFcnJvciwgIm1vZHVsZSBoYXMgbm8gYXR0cmlidXRlICdub3RfaGVyZSciLAorICAgICAgICAgICAgICAgIGdldGF0dHIsIGZvbywgIm5vdF9oZXJlIikKKworICAgIGRlZiB0ZXN0X21pc3NpbmdfZ2V0YXR0cihzZWxmKToKKyAgICAgICAgIyBJc3N1ZSA4Mjk3CisgICAgICAgICMgdGVzdCB0aGUgdGV4dCBpbiB0aGUgQXR0cmlidXRlRXJyb3IKKyAgICAgICAgZm9vID0gTW9kdWxlVHlwZSgiZm9vIikKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXNSZWdleCgKKyAgICAgICAgICAgICAgICBBdHRyaWJ1dGVFcnJvciwgIm1vZHVsZSAnZm9vJyBoYXMgbm8gYXR0cmlidXRlICdub3RfaGVyZSciLAorICAgICAgICAgICAgICAgIGdldGF0dHIsIGZvbywgIm5vdF9oZXJlIikKKwogICAgIGRlZiB0ZXN0X25vX2RvY3N0cmluZyhzZWxmKToKICAgICAgICAgIyBSZWd1bGFybHkgaW5pdGlhbGl6ZWQgbW9kdWxlLCBubyBkb2NzdHJpbmcKICAgICAgICAgZm9vID0gTW9kdWxlVHlwZSgiZm9vIikKQEAgLTIxMSw2ICsyMjcsMTQgQEAKICAgICAgICAgICAgIGIibGVuID0gbGVuIiwKICAgICAgICAgICAgIGIic2h1dGlsLnJtdHJlZSA9IHJtdHJlZSJ9KQogCisgICAgZGVmIHRlc3RfZGVzY3JpcHRvcl9lcnJvcnNfcHJvcG9nYXRlKHNlbGYpOgorICAgICAgICBjbGFzcyBEZXNjcjoKKyAgICAgICAgICAgIGRlZiBfX2dldF9fKHNlbGYsIG8sIHQpOgorICAgICAgICAgICAgICAgIHJhaXNlIFJ1bnRpbWVFcnJvcgorICAgICAgICBjbGFzcyBNKE1vZHVsZVR5cGUpOgorICAgICAgICAgICAgbWVsb24gPSBEZXNjcigpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFJ1bnRpbWVFcnJvciwgZ2V0YXR0ciwgTSgibXltb2QiKSwgIm1lbG9uIikKKwogICAgICMgZnJvemVuIGFuZCBuYW1lc3BhY2UgbW9kdWxlIHJlcHJzIGFyZSB0ZXN0ZWQgaW4gaW1wb3J0bGliLgogCiAKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3Rfb3BlcmF0b3IucHkgYi9MaWIvdGVzdC90ZXN0X29wZXJhdG9yLnB5CmluZGV4IGFiNThhOTguLjFiZDAzOTEgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3Rfb3BlcmF0b3IucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9vcGVyYXRvci5weQpAQCAtMjAzLDYgKzIwMywxNSBAQAogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIG9wZXJhdG9yLm11bCwgTm9uZSwgTm9uZSkKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG9wZXJhdG9yLm11bCg1LCAyKSA9PSAxMCkKIAorICAgIGRlZiB0ZXN0X21hdG11bChzZWxmKToKKyAgICAgICAgb3BlcmF0b3IgPSBzZWxmLm1vZHVsZQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIG9wZXJhdG9yLm1hdG11bCkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBvcGVyYXRvci5tYXRtdWwsIDQyLCA0MikKKyAgICAgICAgY2xhc3MgTToKKyAgICAgICAgICAgIGRlZiBfX21hdG11bF9fKHNlbGYsIG90aGVyKToKKyAgICAgICAgICAgICAgICByZXR1cm4gb3RoZXIgLSAxCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoTSgpIEAgNDIsIDQxKQorCiAgICAgZGVmIHRlc3RfbmVnKHNlbGYpOgogICAgICAgICBvcGVyYXRvciA9IHNlbGYubW9kdWxlCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgb3BlcmF0b3IubmVnKQpAQCAtNDE2LDYgKzQyNSw3IEBACiAgICAgICAgICAgICBkZWYgX19pbHNoaWZ0X18gIChzZWxmLCBvdGhlcik6IHJldHVybiAiaWxzaGlmdCIKICAgICAgICAgICAgIGRlZiBfX2ltb2RfXyAgICAgKHNlbGYsIG90aGVyKTogcmV0dXJuICJpbW9kIgogICAgICAgICAgICAgZGVmIF9faW11bF9fICAgICAoc2VsZiwgb3RoZXIpOiByZXR1cm4gImltdWwiCisgICAgICAgICAgICBkZWYgX19pbWF0bXVsX18gIChzZWxmLCBvdGhlcik6IHJldHVybiAiaW1hdG11bCIKICAgICAgICAgICAgIGRlZiBfX2lvcl9fICAgICAgKHNlbGYsIG90aGVyKTogcmV0dXJuICJpb3IiCiAgICAgICAgICAgICBkZWYgX19pcG93X18gICAgIChzZWxmLCBvdGhlcik6IHJldHVybiAiaXBvdyIKICAgICAgICAgICAgIGRlZiBfX2lyc2hpZnRfXyAgKHNlbGYsIG90aGVyKTogcmV0dXJuICJpcnNoaWZ0IgpAQCAtNDMwLDYgKzQ0MCw3IEBACiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwob3BlcmF0b3IuaWxzaGlmdCAgKGMsIDUpLCAiaWxzaGlmdCIpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwob3BlcmF0b3IuaW1vZCAgICAgKGMsIDUpLCAiaW1vZCIpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwob3BlcmF0b3IuaW11bCAgICAgKGMsIDUpLCAiaW11bCIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwob3BlcmF0b3IuaW1hdG11bCAgKGMsIDUpLCAiaW1hdG11bCIpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwob3BlcmF0b3IuaW9yICAgICAgKGMsIDUpLCAiaW9yIikKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChvcGVyYXRvci5pcG93ICAgICAoYywgNSksICJpcG93IikKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChvcGVyYXRvci5pcnNoaWZ0ICAoYywgNSksICJpcnNoaWZ0IikKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3Rfb3MucHkgYi9MaWIvdGVzdC90ZXN0X29zLnB5CmluZGV4IDE1MmJhOTMuLmFmYTdhNGEgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3Rfb3MucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9vcy5weQpAQCAtNCw2ICs0LDcgQEAKIAogaW1wb3J0IG9zCiBpbXBvcnQgZXJybm8KK2ltcG9ydCBnZXRwYXNzCiBpbXBvcnQgdW5pdHRlc3QKIGltcG9ydCB3YXJuaW5ncwogaW1wb3J0IHN5cwpAQCAtNDAsOSArNDEsMzUgQEAKICAgICBpbXBvcnQgZmNudGwKIGV4Y2VwdCBJbXBvcnRFcnJvcjoKICAgICBmY250bCA9IE5vbmUKK3RyeToKKyAgICBpbXBvcnQgX3dpbmFwaQorZXhjZXB0IEltcG9ydEVycm9yOgorICAgIF93aW5hcGkgPSBOb25lCit0cnk6CisgICAgaW1wb3J0IGdycAorICAgIGdyb3VwcyA9IFtnLmdyX2dpZCBmb3IgZyBpbiBncnAuZ2V0Z3JhbGwoKSBpZiBnZXRwYXNzLmdldHVzZXIoKSBpbiBnLmdyX21lbV0KKyAgICBpZiBoYXNhdHRyKG9zLCAnZ2V0Z2lkJyk6CisgICAgICAgIHByb2Nlc3NfZ2lkID0gb3MuZ2V0Z2lkKCkKKyAgICAgICAgaWYgcHJvY2Vzc19naWQgbm90IGluIGdyb3VwczoKKyAgICAgICAgICAgIGdyb3Vwcy5hcHBlbmQocHJvY2Vzc19naWQpCitleGNlcHQgSW1wb3J0RXJyb3I6CisgICAgZ3JvdXBzID0gW10KK3RyeToKKyAgICBpbXBvcnQgcHdkCisgICAgYWxsX3VzZXJzID0gW3UucHdfdWlkIGZvciB1IGluIHB3ZC5nZXRwd2FsbCgpXQorZXhjZXB0IEltcG9ydEVycm9yOgorICAgIGFsbF91c2VycyA9IFtdCit0cnk6CisgICAgZnJvbSBfdGVzdGNhcGkgaW1wb3J0IElOVF9NQVgsIFBZX1NTSVpFX1RfTUFYCitleGNlcHQgSW1wb3J0RXJyb3I6CisgICAgSU5UX01BWCA9IFBZX1NTSVpFX1RfTUFYID0gc3lzLm1heHNpemUKIAogZnJvbSB0ZXN0LnNjcmlwdF9oZWxwZXIgaW1wb3J0IGFzc2VydF9weXRob25fb2sKIAorcm9vdF9pbl9wb3NpeCA9IEZhbHNlCitpZiBoYXNhdHRyKG9zLCAnZ2V0ZXVpZCcpOgorICAgIHJvb3RfaW5fcG9zaXggPSAob3MuZ2V0ZXVpZCgpID09IDApCisKIHdpdGggd2FybmluZ3MuY2F0Y2hfd2FybmluZ3MoKToKICAgICB3YXJuaW5ncy5zaW1wbGVmaWx0ZXIoImlnbm9yZSIsIERlcHJlY2F0aW9uV2FybmluZykKICAgICBvcy5zdGF0X2Zsb2F0X3RpbWVzKFRydWUpCkBAIC0xMTYsNiArMTQzLDI2IEBACiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHR5cGUocyksIGJ5dGVzKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzLCBiInNwYW0iKQogCisgICAgQHN1cHBvcnQuY3B5dGhvbl9vbmx5CisgICAgIyBTa2lwIHRoZSB0ZXN0IG9uIDMyLWJpdCBwbGF0Zm9ybXM6IHRoZSBudW1iZXIgb2YgYnl0ZXMgbXVzdCBmaXQgaW4gYQorICAgICMgUHlfc3NpemVfdCB0eXBlCisgICAgQHVuaXR0ZXN0LnNraXBVbmxlc3MoSU5UX01BWCA8IFBZX1NTSVpFX1RfTUFYLAorICAgICAgICAgICAgICAgICAgICAgICAgICJuZWVkcyBJTlRfTUFYIDwgUFlfU1NJWkVfVF9NQVgiKQorICAgIEBzdXBwb3J0LmJpZ21lbXRlc3Qoc2l6ZT1JTlRfTUFYICsgMTAsIG1lbXVzZT0xLCBkcnlfcnVuPUZhbHNlKQorICAgIGRlZiB0ZXN0X2xhcmdlX3JlYWQoc2VsZiwgc2l6ZSk6CisgICAgICAgIHdpdGggb3BlbihzdXBwb3J0LlRFU1RGTiwgIndiIikgYXMgZnA6CisgICAgICAgICAgICBmcC53cml0ZShiJ3Rlc3QnKQorICAgICAgICBzZWxmLmFkZENsZWFudXAoc3VwcG9ydC51bmxpbmssIHN1cHBvcnQuVEVTVEZOKQorCisgICAgICAgICMgSXNzdWUgIzIxOTMyOiBNYWtlIHN1cmUgdGhhdCBvcy5yZWFkKCkgZG9lcyBub3QgcmFpc2UgYW4KKyAgICAgICAgIyBPdmVyZmxvd0Vycm9yIGZvciBzaXplIGxhcmdlciB0aGFuIElOVF9NQVgKKyAgICAgICAgd2l0aCBvcGVuKHN1cHBvcnQuVEVTVEZOLCAicmIiKSBhcyBmcDoKKyAgICAgICAgICAgIGRhdGEgPSBvcy5yZWFkKGZwLmZpbGVubygpLCBzaXplKQorCisgICAgICAgICMgVGhlIHRlc3QgZG9lcyBub3QgdHJ5IHRvIHJlYWQgbW9yZSB0aGFuIDIgR0IgYXQgb25jZSBiZWNhdXNlIHRoZQorICAgICAgICAjIG9wZXJhdGluZyBzeXN0ZW0gaXMgZnJlZSB0byByZXR1cm4gbGVzcyBieXRlcyB0aGFuIHJlcXVlc3RlZC4KKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkYXRhLCBiJ3Rlc3QnKQorCiAgICAgZGVmIHRlc3Rfd3JpdGUoc2VsZik6CiAgICAgICAgICMgb3Mud3JpdGUoKSBhY2NlcHRzIGJ5dGVzLSBhbmQgYnVmZmVyLWxpa2Ugb2JqZWN0cyBidXQgbm90IHN0cmluZ3MKICAgICAgICAgZmQgPSBvcy5vcGVuKHN1cHBvcnQuVEVTVEZOLCBvcy5PX0NSRUFUIHwgb3MuT19XUk9OTFkpCkBAIC01MzMsNiArNTgwLDI4IEBACiAgICAgICAgICAgICBvcy5zdGF0KHIpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY3R4LmV4Y2VwdGlvbi5lcnJubywgZXJybm8uRUJBREYpCiAKKyAgICBkZWYgY2hlY2tfZmlsZV9hdHRyaWJ1dGVzKHNlbGYsIHJlc3VsdCk6CisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShoYXNhdHRyKHJlc3VsdCwgJ3N0X2ZpbGVfYXR0cmlidXRlcycpKQorICAgICAgICBzZWxmLmFzc2VydFRydWUoaXNpbnN0YW5jZShyZXN1bHQuc3RfZmlsZV9hdHRyaWJ1dGVzLCBpbnQpKQorICAgICAgICBzZWxmLmFzc2VydFRydWUoMCA8PSByZXN1bHQuc3RfZmlsZV9hdHRyaWJ1dGVzIDw9IDB4RkZGRkZGRkYpCisKKyAgICBAdW5pdHRlc3Quc2tpcFVubGVzcyhzeXMucGxhdGZvcm0gPT0gIndpbjMyIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAic3RfZmlsZV9hdHRyaWJ1dGVzIGlzIFdpbjMyIHNwZWNpZmljIikKKyAgICBkZWYgdGVzdF9maWxlX2F0dHJpYnV0ZXMoc2VsZik6CisgICAgICAgICMgdGVzdCBmaWxlIHN0X2ZpbGVfYXR0cmlidXRlcyAoRklMRV9BVFRSSUJVVEVfRElSRUNUT1JZIG5vdCBzZXQpCisgICAgICAgIHJlc3VsdCA9IG9zLnN0YXQoc2VsZi5mbmFtZSkKKyAgICAgICAgc2VsZi5jaGVja19maWxlX2F0dHJpYnV0ZXMocmVzdWx0KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAorICAgICAgICAgICAgcmVzdWx0LnN0X2ZpbGVfYXR0cmlidXRlcyAmIHN0YXQuRklMRV9BVFRSSUJVVEVfRElSRUNUT1JZLAorICAgICAgICAgICAgMCkKKworICAgICAgICAjIHRlc3QgZGlyZWN0b3J5IHN0X2ZpbGVfYXR0cmlidXRlcyAoRklMRV9BVFRSSUJVVEVfRElSRUNUT1JZIHNldCkKKyAgICAgICAgcmVzdWx0ID0gb3Muc3RhdChzdXBwb3J0LlRFU1RGTikKKyAgICAgICAgc2VsZi5jaGVja19maWxlX2F0dHJpYnV0ZXMocmVzdWx0KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAorICAgICAgICAgICAgcmVzdWx0LnN0X2ZpbGVfYXR0cmlidXRlcyAmIHN0YXQuRklMRV9BVFRSSUJVVEVfRElSRUNUT1JZLAorICAgICAgICAgICAgc3RhdC5GSUxFX0FUVFJJQlVURV9ESVJFQ1RPUlkpCisKIGZyb20gdGVzdCBpbXBvcnQgbWFwcGluZ190ZXN0cwogCiBjbGFzcyBFbnZpcm9uVGVzdHMobWFwcGluZ190ZXN0cy5CYXNpY1Rlc3RNYXBwaW5nUHJvdG9jb2wpOgpAQCAtOTEyLDE3ICs5ODEsNiBAQAogICAgICAgICBvcy5tYWtlZGlycyhwYXRoLCBtb2RlPW1vZGUsIGV4aXN0X29rPVRydWUpCiAgICAgICAgIG9zLnVtYXNrKG9sZF9tYXNrKQogCi0gICAgQHVuaXR0ZXN0LnNraXBVbmxlc3MoaGFzYXR0cihvcywgJ2Nob3duJyksICd0ZXN0IG5lZWRzIG9zLmNob3duJykKLSAgICBkZWYgdGVzdF9jaG93bl91aWRfZ2lkX2FyZ3VtZW50c19tdXN0X2JlX2luZGV4KHNlbGYpOgotICAgICAgICBzdGF0ID0gb3Muc3RhdChzdXBwb3J0LlRFU1RGTikKLSAgICAgICAgdWlkID0gc3RhdC5zdF91aWQKLSAgICAgICAgZ2lkID0gc3RhdC5zdF9naWQKLSAgICAgICAgZm9yIHZhbHVlIGluICgtMS4wLCAtMWosIGRlY2ltYWwuRGVjaW1hbCgtMSksIGZyYWN0aW9ucy5GcmFjdGlvbigtMiwgMikpOgotICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBvcy5jaG93biwgc3VwcG9ydC5URVNURk4sIHZhbHVlLCBnaWQpCi0gICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIG9zLmNob3duLCBzdXBwb3J0LlRFU1RGTiwgdWlkLCB2YWx1ZSkKLSAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUob3MuY2hvd24oc3VwcG9ydC5URVNURk4sIHVpZCwgZ2lkKSkKLSAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUob3MuY2hvd24oc3VwcG9ydC5URVNURk4sIC0xLCAtMSkpCi0KICAgICBkZWYgdGVzdF9leGlzdF9va19zX2lzZ2lkX2RpcmVjdG9yeShzZWxmKToKICAgICAgICAgcGF0aCA9IG9zLnBhdGguam9pbihzdXBwb3J0LlRFU1RGTiwgJ2RpcjEnKQogICAgICAgICBTX0lTR0lEID0gc3RhdC5TX0lTR0lECkBAIC05NzMsNiArMTAzMSw1OCBAQAogICAgICAgICBvcy5yZW1vdmVkaXJzKHBhdGgpCiAKIAorQHVuaXR0ZXN0LnNraXBVbmxlc3MoaGFzYXR0cihvcywgJ2Nob3duJyksICJUZXN0IG5lZWRzIGNob3duIikKK2NsYXNzIENob3duRmlsZVRlc3RzKHVuaXR0ZXN0LlRlc3RDYXNlKToKKworICAgIGRlZiBzZXRVcENsYXNzKCk6CisgICAgICAgIG9zLm1rZGlyKHN1cHBvcnQuVEVTVEZOKQorCisgICAgZGVmIHRlc3RfY2hvd25fdWlkX2dpZF9hcmd1bWVudHNfbXVzdF9iZV9pbmRleChzZWxmKToKKyAgICAgICAgc3RhdCA9IG9zLnN0YXQoc3VwcG9ydC5URVNURk4pCisgICAgICAgIHVpZCA9IHN0YXQuc3RfdWlkCisgICAgICAgIGdpZCA9IHN0YXQuc3RfZ2lkCisgICAgICAgIGZvciB2YWx1ZSBpbiAoLTEuMCwgLTFqLCBkZWNpbWFsLkRlY2ltYWwoLTEpLCBmcmFjdGlvbnMuRnJhY3Rpb24oLTIsIDIpKToKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgb3MuY2hvd24sIHN1cHBvcnQuVEVTVEZOLCB2YWx1ZSwgZ2lkKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBvcy5jaG93biwgc3VwcG9ydC5URVNURk4sIHVpZCwgdmFsdWUpCisgICAgICAgIHNlbGYuYXNzZXJ0SXNOb25lKG9zLmNob3duKHN1cHBvcnQuVEVTVEZOLCB1aWQsIGdpZCkpCisgICAgICAgIHNlbGYuYXNzZXJ0SXNOb25lKG9zLmNob3duKHN1cHBvcnQuVEVTVEZOLCAtMSwgLTEpKQorCisgICAgQHVuaXR0ZXN0LnNraXBVbmxlc3MobGVuKGdyb3VwcykgPiAxLCAidGVzdCBuZWVkcyBtb3JlIHRoYW4gb25lIGdyb3VwIikKKyAgICBkZWYgdGVzdF9jaG93bihzZWxmKToKKyAgICAgICAgZ2lkXzEsIGdpZF8yID0gZ3JvdXBzWzoyXQorICAgICAgICB1aWQgPSBvcy5zdGF0KHN1cHBvcnQuVEVTVEZOKS5zdF91aWQKKyAgICAgICAgb3MuY2hvd24oc3VwcG9ydC5URVNURk4sIHVpZCwgZ2lkXzEpCisgICAgICAgIGdpZCA9IG9zLnN0YXQoc3VwcG9ydC5URVNURk4pLnN0X2dpZAorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGdpZCwgZ2lkXzEpCisgICAgICAgIG9zLmNob3duKHN1cHBvcnQuVEVTVEZOLCB1aWQsIGdpZF8yKQorICAgICAgICBnaWQgPSBvcy5zdGF0KHN1cHBvcnQuVEVTVEZOKS5zdF9naWQKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChnaWQsIGdpZF8yKQorCisgICAgQHVuaXR0ZXN0LnNraXBVbmxlc3Mocm9vdF9pbl9wb3NpeCBhbmQgbGVuKGFsbF91c2VycykgPiAxLAorICAgICAgICAgICAgICAgICAgICAgICAgICJ0ZXN0IG5lZWRzIHJvb3QgcHJpdmlsZWdlIGFuZCBtb3JlIHRoYW4gb25lIHVzZXIiKQorICAgIGRlZiB0ZXN0X2Nob3duX3dpdGhfcm9vdChzZWxmKToKKyAgICAgICAgdWlkXzEsIHVpZF8yID0gYWxsX3VzZXJzWzoyXQorICAgICAgICBnaWQgPSBvcy5zdGF0KHN1cHBvcnQuVEVTVEZOKS5zdF9naWQKKyAgICAgICAgb3MuY2hvd24oc3VwcG9ydC5URVNURk4sIHVpZF8xLCBnaWQpCisgICAgICAgIHVpZCA9IG9zLnN0YXQoc3VwcG9ydC5URVNURk4pLnN0X3VpZAorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHVpZCwgdWlkXzEpCisgICAgICAgIG9zLmNob3duKHN1cHBvcnQuVEVTVEZOLCB1aWRfMiwgZ2lkKQorICAgICAgICB1aWQgPSBvcy5zdGF0KHN1cHBvcnQuVEVTVEZOKS5zdF91aWQKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh1aWQsIHVpZF8yKQorCisgICAgQHVuaXR0ZXN0LnNraXBVbmxlc3Mobm90IHJvb3RfaW5fcG9zaXggYW5kIGxlbihhbGxfdXNlcnMpID4gMSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAidGVzdCBuZWVkcyBub24tcm9vdCBhY2NvdW50IGFuZCBtb3JlIHRoYW4gb25lIHVzZXIiKQorICAgIGRlZiB0ZXN0X2Nob3duX3dpdGhvdXRfcGVybWlzc2lvbihzZWxmKToKKyAgICAgICAgdWlkXzEsIHVpZF8yID0gYWxsX3VzZXJzWzoyXQorICAgICAgICBnaWQgPSBvcy5zdGF0KHN1cHBvcnQuVEVTVEZOKS5zdF9naWQKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhQZXJtaXNzaW9uRXJyb3IpOgorICAgICAgICAgICAgb3MuY2hvd24oc3VwcG9ydC5URVNURk4sIHVpZF8xLCBnaWQpCisgICAgICAgICAgICBvcy5jaG93bihzdXBwb3J0LlRFU1RGTiwgdWlkXzIsIGdpZCkKKworICAgIGRlZiB0ZWFyRG93bkNsYXNzKCk6CisgICAgICAgIG9zLnJtZGlyKHN1cHBvcnQuVEVTVEZOKQorCisKIGNsYXNzIFJlbW92ZURpcnNUZXN0cyh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgZGVmIHNldFVwKHNlbGYpOgogICAgICAgICBvcy5tYWtlZGlycyhzdXBwb3J0LlRFU1RGTikKQEAgLTEzMzksNiArMTQ0OSwxNiBAQAogICAgIGRlZiB0ZXN0X3dyaXRldihzZWxmKToKICAgICAgICAgc2VsZi5jaGVjayhvcy53cml0ZXYsIFtiJ2FiYyddKQogCisgICAgZGVmIHRlc3RfaW5oZXJpdGFibGUoc2VsZik6CisgICAgICAgIHNlbGYuY2hlY2sob3MuZ2V0X2luaGVyaXRhYmxlKQorICAgICAgICBzZWxmLmNoZWNrKG9zLnNldF9pbmhlcml0YWJsZSwgVHJ1ZSkKKworICAgIEB1bml0dGVzdC5za2lwVW5sZXNzKGhhc2F0dHIob3MsICdnZXRfYmxvY2tpbmcnKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAnbmVlZHMgb3MuZ2V0X2Jsb2NraW5nKCkgYW5kIG9zLnNldF9ibG9ja2luZygpJykKKyAgICBkZWYgdGVzdF9ibG9ja2luZyhzZWxmKToKKyAgICAgICAgc2VsZi5jaGVjayhvcy5nZXRfYmxvY2tpbmcpCisgICAgICAgIHNlbGYuY2hlY2sob3Muc2V0X2Jsb2NraW5nLCBUcnVlKQorCiAKIGNsYXNzIExpbmtUZXN0cyh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgZGVmIHNldFVwKHNlbGYpOgpAQCAtMTc4Niw2ICsxOTA2LDM3IEBACiAgICAgICAgICAgICBzaHV0aWwucm10cmVlKGxldmVsMSkKIAogCitAdW5pdHRlc3Quc2tpcFVubGVzcyhzeXMucGxhdGZvcm0gPT0gIndpbjMyIiwgIldpbjMyIHNwZWNpZmljIHRlc3RzIikKK2NsYXNzIFdpbjMySnVuY3Rpb25UZXN0cyh1bml0dGVzdC5UZXN0Q2FzZSk6CisgICAganVuY3Rpb24gPSAnanVuY3Rpb250ZXN0JworICAgIGp1bmN0aW9uX3RhcmdldCA9IG9zLnBhdGguZGlybmFtZShvcy5wYXRoLmFic3BhdGgoX19maWxlX18pKQorCisgICAgZGVmIHNldFVwKHNlbGYpOgorICAgICAgICBhc3NlcnQgb3MucGF0aC5leGlzdHMoc2VsZi5qdW5jdGlvbl90YXJnZXQpCisgICAgICAgIGFzc2VydCBub3Qgb3MucGF0aC5leGlzdHMoc2VsZi5qdW5jdGlvbikKKworICAgIGRlZiB0ZWFyRG93bihzZWxmKToKKyAgICAgICAgaWYgb3MucGF0aC5leGlzdHMoc2VsZi5qdW5jdGlvbik6CisgICAgICAgICAgICAjIG9zLnJtZGlyIGRlbGVnYXRlcyB0byBXaW5kb3dzJyBSZW1vdmVEaXJlY3RvcnlXLAorICAgICAgICAgICAgIyB3aGljaCByZW1vdmVzIGp1bmN0aW9uIHBvaW50cyBzYWZlbHkuCisgICAgICAgICAgICBvcy5ybWRpcihzZWxmLmp1bmN0aW9uKQorCisgICAgZGVmIHRlc3RfY3JlYXRlX2p1bmN0aW9uKHNlbGYpOgorICAgICAgICBfd2luYXBpLkNyZWF0ZUp1bmN0aW9uKHNlbGYuanVuY3Rpb25fdGFyZ2V0LCBzZWxmLmp1bmN0aW9uKQorICAgICAgICBzZWxmLmFzc2VydFRydWUob3MucGF0aC5leGlzdHMoc2VsZi5qdW5jdGlvbikpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShvcy5wYXRoLmlzZGlyKHNlbGYuanVuY3Rpb24pKQorCisgICAgICAgICMgSnVuY3Rpb25zIGFyZSBub3QgcmVjb2duaXplZCBhcyBsaW5rcy4KKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShvcy5wYXRoLmlzbGluayhzZWxmLmp1bmN0aW9uKSkKKworICAgIGRlZiB0ZXN0X3VubGlua19yZW1vdmVzX2p1bmN0aW9uKHNlbGYpOgorICAgICAgICBfd2luYXBpLkNyZWF0ZUp1bmN0aW9uKHNlbGYuanVuY3Rpb25fdGFyZ2V0LCBzZWxmLmp1bmN0aW9uKQorICAgICAgICBzZWxmLmFzc2VydFRydWUob3MucGF0aC5leGlzdHMoc2VsZi5qdW5jdGlvbikpCisKKyAgICAgICAgb3MudW5saW5rKHNlbGYuanVuY3Rpb24pCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2Uob3MucGF0aC5leGlzdHMoc2VsZi5qdW5jdGlvbikpCisKKwogQHN1cHBvcnQuc2tpcF91bmxlc3Nfc3ltbGluawogY2xhc3MgTm9uTG9jYWxTeW1saW5rVGVzdHModW5pdHRlc3QuVGVzdENhc2UpOgogCkBAIC0xOTkyLDExICsyMTQzLDEzIEBACiAKICAgICBAY2xhc3NtZXRob2QKICAgICBkZWYgc2V0VXBDbGFzcyhjbHMpOgorICAgICAgICBjbHMua2V5ID0gc3VwcG9ydC50aHJlYWRpbmdfc2V0dXAoKQogICAgICAgICB3aXRoIG9wZW4oc3VwcG9ydC5URVNURk4sICJ3YiIpIGFzIGY6CiAgICAgICAgICAgICBmLndyaXRlKGNscy5EQVRBKQogCiAgICAgQGNsYXNzbWV0aG9kCiAgICAgZGVmIHRlYXJEb3duQ2xhc3MoY2xzKToKKyAgICAgICAgc3VwcG9ydC50aHJlYWRpbmdfY2xlYW51cCgqY2xzLmtleSkKICAgICAgICAgc3VwcG9ydC51bmxpbmsoc3VwcG9ydC5URVNURk4pCiAKICAgICBkZWYgc2V0VXAoc2VsZik6CkBAIC0yNTIzLDQxICsyNjc2LDI3IEBACiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwob3MuZ2V0X2luaGVyaXRhYmxlKHNsYXZlX2ZkKSwgRmFsc2UpCiAKIAotQHN1cHBvcnQucmVhcF90aHJlYWRzCi1kZWYgdGVzdF9tYWluKCk6Ci0gICAgc3VwcG9ydC5ydW5fdW5pdHRlc3QoCi0gICAgICAgIEZpbGVUZXN0cywKLSAgICAgICAgU3RhdEF0dHJpYnV0ZVRlc3RzLAotICAgICAgICBFbnZpcm9uVGVzdHMsCi0gICAgICAgIFdhbGtUZXN0cywKLSAgICAgICAgRndhbGtUZXN0cywKLSAgICAgICAgTWFrZWRpclRlc3RzLAotICAgICAgICBEZXZOdWxsVGVzdHMsCi0gICAgICAgIFVSYW5kb21UZXN0cywKLSAgICAgICAgRXhlY1Rlc3RzLAotICAgICAgICBXaW4zMkVycm9yVGVzdHMsCi0gICAgICAgIFRlc3RJbnZhbGlkRkQsCi0gICAgICAgIFBvc2l4VWlkR2lkVGVzdHMsCi0gICAgICAgIFBlcDM4M1Rlc3RzLAotICAgICAgICBXaW4zMktpbGxUZXN0cywKLSAgICAgICAgV2luMzJMaXN0ZGlyVGVzdHMsCi0gICAgICAgIFdpbjMyU3ltbGlua1Rlc3RzLAotICAgICAgICBOb25Mb2NhbFN5bWxpbmtUZXN0cywKLSAgICAgICAgRlNFbmNvZGluZ1Rlc3RzLAotICAgICAgICBEZXZpY2VFbmNvZGluZ1Rlc3RzLAotICAgICAgICBQaWRUZXN0cywKLSAgICAgICAgTG9naW5UZXN0cywKLSAgICAgICAgTGlua1Rlc3RzLAotICAgICAgICBUZXN0U2VuZGZpbGUsCi0gICAgICAgIFByb2dyYW1Qcmlvcml0eVRlc3RzLAotICAgICAgICBFeHRlbmRlZEF0dHJpYnV0ZVRlc3RzLAotICAgICAgICBXaW4zMkRlcHJlY2F0ZWRCeXRlc0FQSSwKLSAgICAgICAgVGVybXNpemVUZXN0cywKLSAgICAgICAgT1NFcnJvclRlc3RzLAotICAgICAgICBSZW1vdmVEaXJzVGVzdHMsCi0gICAgICAgIENQVUNvdW50VGVzdHMsCi0gICAgICAgIEZESW5oZXJpdGFuY2VUZXN0cywKLSAgICApCitAdW5pdHRlc3Quc2tpcFVubGVzcyhoYXNhdHRyKG9zLCAnZ2V0X2Jsb2NraW5nJyksCisgICAgICAgICAgICAgICAgICAgICAnbmVlZHMgb3MuZ2V0X2Jsb2NraW5nKCkgYW5kIG9zLnNldF9ibG9ja2luZygpJykKK2NsYXNzIEJsb2NraW5nVGVzdHModW5pdHRlc3QuVGVzdENhc2UpOgorICAgIGRlZiB0ZXN0X2Jsb2NraW5nKHNlbGYpOgorICAgICAgICBmZCA9IG9zLm9wZW4oX19maWxlX18sIG9zLk9fUkRPTkxZKQorICAgICAgICBzZWxmLmFkZENsZWFudXAob3MuY2xvc2UsIGZkKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG9zLmdldF9ibG9ja2luZyhmZCksIFRydWUpCisKKyAgICAgICAgb3Muc2V0X2Jsb2NraW5nKGZkLCBGYWxzZSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChvcy5nZXRfYmxvY2tpbmcoZmQpLCBGYWxzZSkKKworICAgICAgICBvcy5zZXRfYmxvY2tpbmcoZmQsIFRydWUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwob3MuZ2V0X2Jsb2NraW5nKGZkKSwgVHJ1ZSkKKworCisKK2NsYXNzIEV4cG9ydHNUZXN0cyh1bml0dGVzdC5UZXN0Q2FzZSk6CisgICAgZGVmIHRlc3Rfb3NfYWxsKHNlbGYpOgorICAgICAgICBzZWxmLmFzc2VydEluKCdvcGVuJywgb3MuX19hbGxfXykKKyAgICAgICAgc2VsZi5hc3NlcnRJbignd2FsaycsIG9zLl9fYWxsX18pCisKIAogaWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoKLSAgICB0ZXN0X21haW4oKQorICAgIHVuaXR0ZXN0Lm1haW4oKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9wYXRobGliLnB5IGIvTGliL3Rlc3QvdGVzdF9wYXRobGliLnB5CmluZGV4IDExNDIwZTIuLjFjNTNhYjcgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfcGF0aGxpYi5weQorKysgYi9MaWIvdGVzdC90ZXN0X3BhdGhsaWIucHkKQEAgLTQsMTMgKzQsMTAgQEAKIGltcG9ydCBlcnJubwogaW1wb3J0IHBhdGhsaWIKIGltcG9ydCBwaWNrbGUKLWltcG9ydCBzaHV0aWwKIGltcG9ydCBzb2NrZXQKIGltcG9ydCBzdGF0Ci1pbXBvcnQgc3lzCiBpbXBvcnQgdGVtcGZpbGUKIGltcG9ydCB1bml0dGVzdAotZnJvbSBjb250ZXh0bGliIGltcG9ydCBjb250ZXh0bWFuYWdlcgogCiBmcm9tIHRlc3QgaW1wb3J0IHN1cHBvcnQKIFRFU1RGTiA9IHN1cHBvcnQuVEVTVEZOCkBAIC03NDcsNyArNzQ0LDYgQEAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChQKCcvL1NvbWUvU0hBUkUvYS9CJyksIFAoJy8vc29tRS9zaGFyZS9BL2InKSkKIAogICAgIGRlZiB0ZXN0X2FzX3VyaShzZWxmKToKLSAgICAgICAgZnJvbSB1cmxsaWIucGFyc2UgaW1wb3J0IHF1b3RlX2Zyb21fYnl0ZXMKICAgICAgICAgUCA9IHNlbGYuY2xzCiAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvcik6CiAgICAgICAgICAgICBQKCcvYS9iJykuYXNfdXJpKCkKQEAgLTEyNjksMTEgKzEyNjUsNTUgQEAKICAgICAgICAgcCA9IHNlbGYuY2xzLmN3ZCgpCiAgICAgICAgIHNlbGYuX3Rlc3RfY3dkKHApCiAKKyAgICBkZWYgX3Rlc3RfaG9tZShzZWxmLCBwKToKKyAgICAgICAgcSA9IHNlbGYuY2xzKG9zLnBhdGguZXhwYW5kdXNlcignficpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHAsIHEpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyKHApLCBzdHIocSkpCisgICAgICAgIHNlbGYuYXNzZXJ0SXModHlwZShwKSwgdHlwZShxKSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHAuaXNfYWJzb2x1dGUoKSkKKworICAgIGRlZiB0ZXN0X2hvbWUoc2VsZik6CisgICAgICAgIHAgPSBzZWxmLmNscy5ob21lKCkKKyAgICAgICAgc2VsZi5fdGVzdF9ob21lKHApCisKKyAgICBkZWYgdGVzdF9zYW1lZmlsZShzZWxmKToKKyAgICAgICAgZmlsZUFfcGF0aCA9IG9zLnBhdGguam9pbihCQVNFLCAnZmlsZUEnKQorICAgICAgICBmaWxlQl9wYXRoID0gb3MucGF0aC5qb2luKEJBU0UsICdkaXJCJywgJ2ZpbGVCJykKKyAgICAgICAgcCA9IHNlbGYuY2xzKGZpbGVBX3BhdGgpCisgICAgICAgIHBwID0gc2VsZi5jbHMoZmlsZUFfcGF0aCkKKyAgICAgICAgcSA9IHNlbGYuY2xzKGZpbGVCX3BhdGgpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShwLnNhbWVmaWxlKGZpbGVBX3BhdGgpKQorICAgICAgICBzZWxmLmFzc2VydFRydWUocC5zYW1lZmlsZShwcCkpCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UocC5zYW1lZmlsZShmaWxlQl9wYXRoKSkKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShwLnNhbWVmaWxlKHEpKQorICAgICAgICAjIFRlc3QgdGhlIG5vbi1leGlzdGVudCBmaWxlIGNhc2UKKyAgICAgICAgbm9uX2V4aXN0ZW50ID0gb3MucGF0aC5qb2luKEJBU0UsICdmb28nKQorICAgICAgICByID0gc2VsZi5jbHMobm9uX2V4aXN0ZW50KQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhGaWxlTm90Rm91bmRFcnJvciwgcC5zYW1lZmlsZSwgcikKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoRmlsZU5vdEZvdW5kRXJyb3IsIHAuc2FtZWZpbGUsIG5vbl9leGlzdGVudCkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoRmlsZU5vdEZvdW5kRXJyb3IsIHIuc2FtZWZpbGUsIHApCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKEZpbGVOb3RGb3VuZEVycm9yLCByLnNhbWVmaWxlLCBub25fZXhpc3RlbnQpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKEZpbGVOb3RGb3VuZEVycm9yLCByLnNhbWVmaWxlLCByKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhGaWxlTm90Rm91bmRFcnJvciwgci5zYW1lZmlsZSwgbm9uX2V4aXN0ZW50KQorCiAgICAgZGVmIHRlc3RfZW1wdHlfcGF0aChzZWxmKToKICAgICAgICAgIyBUaGUgZW1wdHkgcGF0aCBwb2ludHMgdG8gJy4nCiAgICAgICAgIHAgPSBzZWxmLmNscygnJykKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwLnN0YXQoKSwgb3Muc3RhdCgnLicpKQogCisgICAgZGVmIHRlc3RfZXhwYW5kdXNlcl9jb21tb24oc2VsZik6CisgICAgICAgIFAgPSBzZWxmLmNscworICAgICAgICBwID0gUCgnficpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocC5leHBhbmR1c2VyKCksIFAob3MucGF0aC5leHBhbmR1c2VyKCd+JykpKQorICAgICAgICBwID0gUCgnZm9vJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwLmV4cGFuZHVzZXIoKSwgcCkKKyAgICAgICAgcCA9IFAoJy9+JykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwLmV4cGFuZHVzZXIoKSwgcCkKKyAgICAgICAgcCA9IFAoJy4uL34nKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHAuZXhwYW5kdXNlcigpLCBwKQorICAgICAgICBwID0gUChQKCcnKS5hYnNvbHV0ZSgpLmFuY2hvcikgLyAnficKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwLmV4cGFuZHVzZXIoKSwgcCkKKwogICAgIGRlZiB0ZXN0X2V4aXN0cyhzZWxmKToKICAgICAgICAgUCA9IHNlbGYuY2xzCiAgICAgICAgIHAgPSBQKEJBU0UpCkBAIC0xMzAxLDYgKzEzNDEsMjMgQEAKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXNJbnN0YW5jZShmLCBpby5SYXdJT0Jhc2UpCiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGYucmVhZCgpLnN0cmlwKCksIGIidGhpcyBpcyBmaWxlIEEiKQogCisgICAgZGVmIHRlc3RfcmVhZF93cml0ZV9ieXRlcyhzZWxmKToKKyAgICAgICAgcCA9IHNlbGYuY2xzKEJBU0UpCisgICAgICAgIChwIC8gJ2ZpbGVBJykud3JpdGVfYnl0ZXMoYidhYmNkZWZnJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgocCAvICdmaWxlQScpLnJlYWRfYnl0ZXMoKSwgYidhYmNkZWZnJykKKyAgICAgICAgIyBjaGVjayB0aGF0IHRyeWluZyB0byB3cml0ZSBzdHIgZG9lcyBub3QgdHJ1bmNhdGUgdGhlIGZpbGUKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCAocCAvICdmaWxlQScpLndyaXRlX2J5dGVzLCAnc29tZXN0cicpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoKHAgLyAnZmlsZUEnKS5yZWFkX2J5dGVzKCksIGInYWJjZGVmZycpCisKKyAgICBkZWYgdGVzdF9yZWFkX3dyaXRlX3RleHQoc2VsZik6CisgICAgICAgIHAgPSBzZWxmLmNscyhCQVNFKQorICAgICAgICAocCAvICdmaWxlQScpLndyaXRlX3RleHQoJ8OkYmNkZWZnJywgZW5jb2Rpbmc9J2xhdGluLTEnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKChwIC8gJ2ZpbGVBJykucmVhZF90ZXh0KAorICAgICAgICAgICAgZW5jb2Rpbmc9J3V0Zi04JywgZXJyb3JzPSdpZ25vcmUnKSwgJ2JjZGVmZycpCisgICAgICAgICMgY2hlY2sgdGhhdCB0cnlpbmcgdG8gd3JpdGUgYnl0ZXMgZG9lcyBub3QgdHJ1bmNhdGUgdGhlIGZpbGUKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCAocCAvICdmaWxlQScpLndyaXRlX3RleHQsIGInc29tZWJ5dGVzJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgocCAvICdmaWxlQScpLnJlYWRfdGV4dChlbmNvZGluZz0nbGF0aW4tMScpLCAnw6RiY2RlZmcnKQorCiAgICAgZGVmIHRlc3RfaXRlcmRpcihzZWxmKToKICAgICAgICAgUCA9IHNlbGYuY2xzCiAgICAgICAgIHAgPSBQKEJBU0UpCkBAIC0xNjA0LDYgKzE2NjEsNTkgQEAKICAgICAgICAgIyB0aGUgcGFyZW50J3MgcGVybWlzc2lvbnMgZm9sbG93IHRoZSBkZWZhdWx0IHByb2Nlc3Mgc2V0dGluZ3MKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdGF0LlNfSU1PREUocC5wYXJlbnQuc3RhdCgpLnN0X21vZGUpLCBtb2RlKQogCisgICAgZGVmIHRlc3RfbWtkaXJfZXhpc3Rfb2soc2VsZik6CisgICAgICAgIHAgPSBzZWxmLmNscyhCQVNFLCAnZGlyQicpCisgICAgICAgIHN0X2N0aW1lX2ZpcnN0ID0gcC5zdGF0KCkuc3RfY3RpbWUKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHAuZXhpc3RzKCkpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShwLmlzX2RpcigpKQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKEZpbGVFeGlzdHNFcnJvcikgYXMgY206CisgICAgICAgICAgICBwLm1rZGlyKCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjbS5leGNlcHRpb24uZXJybm8sIGVycm5vLkVFWElTVCkKKyAgICAgICAgcC5ta2RpcihleGlzdF9vaz1UcnVlKQorICAgICAgICBzZWxmLmFzc2VydFRydWUocC5leGlzdHMoKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwLnN0YXQoKS5zdF9jdGltZSwgc3RfY3RpbWVfZmlyc3QpCisKKyAgICBkZWYgdGVzdF9ta2Rpcl9leGlzdF9va193aXRoX3BhcmVudChzZWxmKToKKyAgICAgICAgcCA9IHNlbGYuY2xzKEJBU0UsICdkaXJDJykKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHAuZXhpc3RzKCkpCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoRmlsZUV4aXN0c0Vycm9yKSBhcyBjbToKKyAgICAgICAgICAgIHAubWtkaXIoKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNtLmV4Y2VwdGlvbi5lcnJubywgZXJybm8uRUVYSVNUKQorICAgICAgICBwID0gcCAvICduZXdkaXJDJworICAgICAgICBwLm1rZGlyKHBhcmVudHM9VHJ1ZSkKKyAgICAgICAgc3RfY3RpbWVfZmlyc3QgPSBwLnN0YXQoKS5zdF9jdGltZQorICAgICAgICBzZWxmLmFzc2VydFRydWUocC5leGlzdHMoKSkKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhGaWxlRXhpc3RzRXJyb3IpIGFzIGNtOgorICAgICAgICAgICAgcC5ta2RpcihwYXJlbnRzPVRydWUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY20uZXhjZXB0aW9uLmVycm5vLCBlcnJuby5FRVhJU1QpCisgICAgICAgIHAubWtkaXIocGFyZW50cz1UcnVlLCBleGlzdF9vaz1UcnVlKQorICAgICAgICBzZWxmLmFzc2VydFRydWUocC5leGlzdHMoKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwLnN0YXQoKS5zdF9jdGltZSwgc3RfY3RpbWVfZmlyc3QpCisKKyAgICBkZWYgdGVzdF9ta2Rpcl93aXRoX2NoaWxkX2ZpbGUoc2VsZik6CisgICAgICAgIHAgPSBzZWxmLmNscyhCQVNFLCAnZGlyQicsICdmaWxlQicpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShwLmV4aXN0cygpKQorICAgICAgICAjIEFuIGV4Y2VwdGlvbiBpcyByYWlzZWQgd2hlbiB0aGUgbGFzdCBwYXRoIGNvbXBvbmVudCBpcyBhbiBleGlzdGluZworICAgICAgICAjIHJlZ3VsYXIgZmlsZSwgcmVnYXJkbGVzcyBvZiB3aGV0aGVyIGV4aXN0X29rIGlzIHRydWUgb3Igbm90LgorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKEZpbGVFeGlzdHNFcnJvcikgYXMgY206CisgICAgICAgICAgICBwLm1rZGlyKHBhcmVudHM9VHJ1ZSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjbS5leGNlcHRpb24uZXJybm8sIGVycm5vLkVFWElTVCkKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhGaWxlRXhpc3RzRXJyb3IpIGFzIGNtOgorICAgICAgICAgICAgcC5ta2RpcihwYXJlbnRzPVRydWUsIGV4aXN0X29rPVRydWUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY20uZXhjZXB0aW9uLmVycm5vLCBlcnJuby5FRVhJU1QpCisKKyAgICBkZWYgdGVzdF9ta2Rpcl9ub19wYXJlbnRzX2ZpbGUoc2VsZik6CisgICAgICAgIHAgPSBzZWxmLmNscyhCQVNFLCAnZmlsZUEnKQorICAgICAgICBzZWxmLmFzc2VydFRydWUocC5leGlzdHMoKSkKKyAgICAgICAgIyBBbiBleGNlcHRpb24gaXMgcmFpc2VkIHdoZW4gdGhlIGxhc3QgcGF0aCBjb21wb25lbnQgaXMgYW4gZXhpc3RpbmcKKyAgICAgICAgIyByZWd1bGFyIGZpbGUsIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciBleGlzdF9vayBpcyB0cnVlIG9yIG5vdC4KKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhGaWxlRXhpc3RzRXJyb3IpIGFzIGNtOgorICAgICAgICAgICAgcC5ta2RpcigpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY20uZXhjZXB0aW9uLmVycm5vLCBlcnJuby5FRVhJU1QpCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoRmlsZUV4aXN0c0Vycm9yKSBhcyBjbToKKyAgICAgICAgICAgIHAubWtkaXIoZXhpc3Rfb2s9VHJ1ZSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjbS5leGNlcHRpb24uZXJybm8sIGVycm5vLkVFWElTVCkKKwogICAgIEB3aXRoX3N5bWxpbmtzCiAgICAgZGVmIHRlc3Rfc3ltbGlua190byhzZWxmKToKICAgICAgICAgUCA9IHNlbGYuY2xzKEJBU0UpCkBAIC0xODQ2LDcgKzE5NTYsNiBAQAogICAgIEB3aXRoX3N5bWxpbmtzCiAgICAgZGVmIHRlc3RfcmVzb2x2ZV9sb29wKHNlbGYpOgogICAgICAgICAjIExvb3AgZGV0ZWN0aW9uIGZvciBicm9rZW4gc3ltbGlua3MgdW5kZXIgUE9TSVgKLSAgICAgICAgUCA9IHNlbGYuY2xzCiAgICAgICAgICMgTG9vcHMgd2l0aCByZWxhdGl2ZSBzeW1saW5rcwogICAgICAgICBvcy5zeW1saW5rKCdsaW5rWC9pbnNpZGUnLCBqb2luKCdsaW5rWCcpKQogICAgICAgICBzZWxmLl9jaGVja19zeW1saW5rX2xvb3AoQkFTRSwgJ2xpbmtYJykKQEAgLTE4NzgsNiArMTk4Nyw0OCBAQAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGdpdmVuLCBleHBlY3QpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2V0KHAucmdsb2IoIkZJTEVkKiIpKSwgc2V0KCkpCiAKKyAgICBkZWYgdGVzdF9leHBhbmR1c2VyKHNlbGYpOgorICAgICAgICBQID0gc2VsZi5jbHMKKyAgICAgICAgc3VwcG9ydC5pbXBvcnRfbW9kdWxlKCdwd2QnKQorICAgICAgICBpbXBvcnQgcHdkCisgICAgICAgIHB3ZGVudCA9IHB3ZC5nZXRwd3VpZChvcy5nZXR1aWQoKSkKKyAgICAgICAgdXNlcm5hbWUgPSBwd2RlbnQucHdfbmFtZQorICAgICAgICB1c2VyaG9tZSA9IHB3ZGVudC5wd19kaXIucnN0cmlwKCcvJykKKyAgICAgICAgIyBmaW5kIGFyYml0cmFyeSBkaWZmZXJlbnQgdXNlciAoaWYgZXhpc3RzKQorICAgICAgICBmb3IgcHdkZW50IGluIHB3ZC5nZXRwd2FsbCgpOgorICAgICAgICAgICAgb3RoZXJuYW1lID0gcHdkZW50LnB3X25hbWUKKyAgICAgICAgICAgIG90aGVyaG9tZSA9IHB3ZGVudC5wd19kaXIucnN0cmlwKCcvJykKKyAgICAgICAgICAgIGlmIG90aGVybmFtZSAhPSB1c2VybmFtZSBhbmQgb3RoZXJob21lOgorICAgICAgICAgICAgICAgIGJyZWFrCisKKyAgICAgICAgcDEgPSBQKCd+L0RvY3VtZW50cycpCisgICAgICAgIHAyID0gUCgnficgKyB1c2VybmFtZSArICcvRG9jdW1lbnRzJykKKyAgICAgICAgcDMgPSBQKCd+JyArIG90aGVybmFtZSArICcvRG9jdW1lbnRzJykKKyAgICAgICAgcDQgPSBQKCcuLi9+JyArIHVzZXJuYW1lICsgJy9Eb2N1bWVudHMnKQorICAgICAgICBwNSA9IFAoJy9+JyArIHVzZXJuYW1lICsgJy9Eb2N1bWVudHMnKQorICAgICAgICBwNiA9IFAoJycpCisgICAgICAgIHA3ID0gUCgnfmZha2V1c2VyL0RvY3VtZW50cycpCisKKyAgICAgICAgd2l0aCBzdXBwb3J0LkVudmlyb25tZW50VmFyR3VhcmQoKSBhcyBlbnY6CisgICAgICAgICAgICBlbnYucG9wKCdIT01FJywgTm9uZSkKKworICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwMS5leHBhbmR1c2VyKCksIFAodXNlcmhvbWUpIC8gJ0RvY3VtZW50cycpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHAyLmV4cGFuZHVzZXIoKSwgUCh1c2VyaG9tZSkgLyAnRG9jdW1lbnRzJykKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocDMuZXhwYW5kdXNlcigpLCBQKG90aGVyaG9tZSkgLyAnRG9jdW1lbnRzJykKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocDQuZXhwYW5kdXNlcigpLCBwNCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocDUuZXhwYW5kdXNlcigpLCBwNSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocDYuZXhwYW5kdXNlcigpLCBwNikKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFJ1bnRpbWVFcnJvciwgcDcuZXhwYW5kdXNlcikKKworICAgICAgICAgICAgZW52WydIT01FJ10gPSAnL3RtcCcKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocDEuZXhwYW5kdXNlcigpLCBQKCcvdG1wL0RvY3VtZW50cycpKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwMi5leHBhbmR1c2VyKCksIFAodXNlcmhvbWUpIC8gJ0RvY3VtZW50cycpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHAzLmV4cGFuZHVzZXIoKSwgUChvdGhlcmhvbWUpIC8gJ0RvY3VtZW50cycpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHA0LmV4cGFuZHVzZXIoKSwgcDQpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHA1LmV4cGFuZHVzZXIoKSwgcDUpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHA2LmV4cGFuZHVzZXIoKSwgcDYpCisgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhSdW50aW1lRXJyb3IsIHA3LmV4cGFuZHVzZXIpCisKIAogQG9ubHlfbnQKIGNsYXNzIFdpbmRvd3NQYXRoVGVzdChfQmFzZVBhdGhUZXN0LCB1bml0dGVzdC5UZXN0Q2FzZSk6CkBAIC0xODkzLDYgKzIwNDQsNjEgQEAKICAgICAgICAgcCA9IFAoQkFTRSwgImRpckMiKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNldChwLnJnbG9iKCJGSUxFZCIpKSwgeyBQKEJBU0UsICJkaXJDL2RpckQvZmlsZUQiKSB9KQogCisgICAgZGVmIHRlc3RfZXhwYW5kdXNlcihzZWxmKToKKyAgICAgICAgUCA9IHNlbGYuY2xzCisgICAgICAgIHdpdGggc3VwcG9ydC5FbnZpcm9ubWVudFZhckd1YXJkKCkgYXMgZW52OgorICAgICAgICAgICAgZW52LnBvcCgnSE9NRScsIE5vbmUpCisgICAgICAgICAgICBlbnYucG9wKCdVU0VSUFJPRklMRScsIE5vbmUpCisgICAgICAgICAgICBlbnYucG9wKCdIT01FUEFUSCcsIE5vbmUpCisgICAgICAgICAgICBlbnYucG9wKCdIT01FRFJJVkUnLCBOb25lKQorICAgICAgICAgICAgZW52WydVU0VSTkFNRSddID0gJ2FsaWNlJworCisgICAgICAgICAgICAjIHRlc3QgdGhhdCB0aGUgcGF0aCByZXR1cm5zIHVuY2hhbmdlZAorICAgICAgICAgICAgcDEgPSBQKCd+L015IERvY3VtZW50cycpCisgICAgICAgICAgICBwMiA9IFAoJ35hbGljZS9NeSBEb2N1bWVudHMnKQorICAgICAgICAgICAgcDMgPSBQKCd+Ym9iL015IERvY3VtZW50cycpCisgICAgICAgICAgICBwNCA9IFAoJy9+L015IERvY3VtZW50cycpCisgICAgICAgICAgICBwNSA9IFAoJ2Q6fi9NeSBEb2N1bWVudHMnKQorICAgICAgICAgICAgcDYgPSBQKCcnKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoUnVudGltZUVycm9yLCBwMS5leHBhbmR1c2VyKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoUnVudGltZUVycm9yLCBwMi5leHBhbmR1c2VyKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoUnVudGltZUVycm9yLCBwMy5leHBhbmR1c2VyKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwNC5leHBhbmR1c2VyKCksIHA0KQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwNS5leHBhbmR1c2VyKCksIHA1KQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwNi5leHBhbmR1c2VyKCksIHA2KQorCisgICAgICAgICAgICBkZWYgY2hlY2soKToKKyAgICAgICAgICAgICAgICBlbnYucG9wKCdVU0VSTkFNRScsIE5vbmUpCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwMS5leHBhbmR1c2VyKCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQKCdDOi9Vc2Vycy9hbGljZS9NeSBEb2N1bWVudHMnKSkKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhLZXlFcnJvciwgcDIuZXhwYW5kdXNlcikKKyAgICAgICAgICAgICAgICBlbnZbJ1VTRVJOQU1FJ10gPSAnYWxpY2UnCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwMi5leHBhbmR1c2VyKCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQKCdDOi9Vc2Vycy9hbGljZS9NeSBEb2N1bWVudHMnKSkKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHAzLmV4cGFuZHVzZXIoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFAoJ0M6L1VzZXJzL2JvYi9NeSBEb2N1bWVudHMnKSkKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHA0LmV4cGFuZHVzZXIoKSwgcDQpCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwNS5leHBhbmR1c2VyKCksIHA1KQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocDYuZXhwYW5kdXNlcigpLCBwNikKKworICAgICAgICAgICAgIyB0ZXN0IHRoZSBmaXJzdCBsb29rdXAga2V5IGluIHRoZSBlbnYgdmFycworICAgICAgICAgICAgZW52WydIT01FJ10gPSAnQzpcXFVzZXJzXFxhbGljZScKKyAgICAgICAgICAgIGNoZWNrKCkKKworICAgICAgICAgICAgIyB0ZXN0IHRoYXQgSE9NRVBBVEggaXMgYXZhaWxhYmxlIGluc3RlYWQKKyAgICAgICAgICAgIGVudi5wb3AoJ0hPTUUnLCBOb25lKQorICAgICAgICAgICAgZW52WydIT01FUEFUSCddID0gJ0M6XFxVc2Vyc1xcYWxpY2UnCisgICAgICAgICAgICBjaGVjaygpCisKKyAgICAgICAgICAgIGVudlsnSE9NRURSSVZFJ10gPSAnQzpcXCcKKyAgICAgICAgICAgIGVudlsnSE9NRVBBVEgnXSA9ICdVc2Vyc1xcYWxpY2UnCisgICAgICAgICAgICBjaGVjaygpCisKKyAgICAgICAgICAgIGVudi5wb3AoJ0hPTUVEUklWRScsIE5vbmUpCisgICAgICAgICAgICBlbnYucG9wKCdIT01FUEFUSCcsIE5vbmUpCisgICAgICAgICAgICBlbnZbJ1VTRVJQUk9GSUxFJ10gPSAnQzpcXFVzZXJzXFxhbGljZScKKyAgICAgICAgICAgIGNoZWNrKCkKKwogCiBpZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgogICAgIHVuaXR0ZXN0Lm1haW4oKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9wa2d1dGlsLnB5IGIvTGliL3Rlc3QvdGVzdF9wa2d1dGlsLnB5CmluZGV4IGUwYzg2MzVkZS4uNTdlYmYxZiAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9wa2d1dGlsLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfcGtndXRpbC5weQpAQCAtMTA0LDYgKzEwNCw5IEBACiBjbGFzcyBQa2d1dGlsUEVQMzAyVGVzdHModW5pdHRlc3QuVGVzdENhc2UpOgogCiAgICAgY2xhc3MgTXlUZXN0TG9hZGVyKG9iamVjdCk6CisgICAgICAgIGRlZiBjcmVhdGVfbW9kdWxlKHNlbGYsIHNwZWMpOgorICAgICAgICAgICAgcmV0dXJuIE5vbmUKKwogICAgICAgICBkZWYgZXhlY19tb2R1bGUoc2VsZiwgbW9kKToKICAgICAgICAgICAgICMgQ291bnQgaG93IG1hbnkgdGltZXMgdGhlIG1vZHVsZSBpcyByZWxvYWRlZAogICAgICAgICAgICAgbW9kLl9fZGljdF9fWydsb2FkcyddID0gbW9kLl9fZGljdF9fLmdldCgnbG9hZHMnLCAwKSArIDEKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfcGxhdGZvcm0ucHkgYi9MaWIvdGVzdC90ZXN0X3BsYXRmb3JtLnB5CmluZGV4IGIzZGU0M2IuLmVkZWRiZGIgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfcGxhdGZvcm0ucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9wbGF0Zm9ybS5weQpAQCAtMzA3LDcgKzMwNyw3IEBACiAgICAgICAgICAgICB3aXRoIG1vY2sucGF0Y2goJ3BsYXRmb3JtLl9VTklYQ09ORkRJUicsIHRlbXBkaXIpOgogICAgICAgICAgICAgICAgIGRpc3RuYW1lLCB2ZXJzaW9uLCBkaXN0aWQgPSBwbGF0Zm9ybS5saW51eF9kaXN0cmlidXRpb24oKQogCi0gICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRpc3RuYW1lLCAnRmVkb3JhJykKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRpc3RuYW1lLCAnRmVkb3JhJykKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodmVyc2lvbiwgJzE5JykKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZGlzdGlkLCAnU2Noclx4ZjZkaW5nZXJcdTIwMTlzIENhdCcpCiAKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfcG9wbGliLnB5IGIvTGliL3Rlc3QvdGVzdF9wb3BsaWIucHkKaW5kZXggOGEzYzlmNC4uMTRhNTE5ZCAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9wb3BsaWIucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9wb3BsaWIucHkKQEAgLTM0NSwyMyArMzQ1LDE4IEBACiAKIAogaWYgU1VQUE9SVFNfU1NMOgorICAgIGZyb20gdGVzdC50ZXN0X2Z0cGxpYiBpbXBvcnQgU1NMQ29ubmVjdGlvbgogCi0gICAgY2xhc3MgRHVtbXlQT1AzX1NTTEhhbmRsZXIoRHVtbXlQT1AzSGFuZGxlcik6CisgICAgY2xhc3MgRHVtbXlQT1AzX1NTTEhhbmRsZXIoU1NMQ29ubmVjdGlvbiwgRHVtbXlQT1AzSGFuZGxlcik6CiAKICAgICAgICAgZGVmIF9faW5pdF9fKHNlbGYsIGNvbm4pOgogICAgICAgICAgICAgYXN5bmNoYXQuYXN5bmNfY2hhdC5fX2luaXRfXyhzZWxmLCBjb25uKQotICAgICAgICAgICAgc3NsX3NvY2tldCA9IHNzbC53cmFwX3NvY2tldChzZWxmLnNvY2tldCwgY2VydGZpbGU9Q0VSVEZJTEUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJfc2lkZT1UcnVlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9faGFuZHNoYWtlX29uX2Nvbm5lY3Q9RmFsc2UpCi0gICAgICAgICAgICBzZWxmLmRlbF9jaGFubmVsKCkKLSAgICAgICAgICAgIHNlbGYuc2V0X3NvY2tldChzc2xfc29ja2V0KQotICAgICAgICAgICAgIyBNdXN0IHRyeSBoYW5kc2hha2UgYmVmb3JlIGNhbGxpbmcgcHVzaCgpCi0gICAgICAgICAgICBzZWxmLnRsc19hY3RpdmUgPSBUcnVlCi0gICAgICAgICAgICBzZWxmLnRsc19zdGFydGluZyA9IFRydWUKLSAgICAgICAgICAgIHNlbGYuX2RvX3Rsc19oYW5kc2hha2UoKQorICAgICAgICAgICAgc2VsZi5zZWN1cmVfY29ubmVjdGlvbigpCiAgICAgICAgICAgICBzZWxmLnNldF90ZXJtaW5hdG9yKGIiXHJcbiIpCiAgICAgICAgICAgICBzZWxmLmluX2J1ZmZlciA9IFtdCiAgICAgICAgICAgICBzZWxmLnB1c2goJytPSyBkdW1teSBwb3AzIHNlcnZlciByZWFkeS4gPHRpbWVzdGFtcD4nKQorICAgICAgICAgICAgc2VsZi50bHNfYWN0aXZlID0gVHJ1ZQorICAgICAgICAgICAgc2VsZi50bHNfc3RhcnRpbmcgPSBGYWxzZQogCiAKIEByZXF1aXJlc19zc2wKQEAgLTQ1Miw3ICs0NDcsNyBAQAogICAgICAgICBkZWwgc2VsZi50aHJlYWQgICMgQ2xlYXIgb3V0IGFueSBkYW5nbGluZyBUaHJlYWQgb2JqZWN0cy4KIAogICAgIGRlZiBzZXJ2ZXIoc2VsZiwgZXZ0LCBzZXJ2KToKLSAgICAgICAgc2Vydi5saXN0ZW4oNSkKKyAgICAgICAgc2Vydi5saXN0ZW4oKQogICAgICAgICBldnQuc2V0KCkKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgY29ubiwgYWRkciA9IHNlcnYuYWNjZXB0KCkKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfcG9zaXgucHkgYi9MaWIvdGVzdC90ZXN0X3Bvc2l4LnB5CmluZGV4IDcyZmRkMTYuLmYzN2YyZGUgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfcG9zaXgucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9wb3NpeC5weQpAQCAtOSw3ICs5LDYgQEAKIGltcG9ydCBzeXMKIGltcG9ydCB0aW1lCiBpbXBvcnQgb3MKLWltcG9ydCBmY250bAogaW1wb3J0IHBsYXRmb3JtCiBpbXBvcnQgcHdkCiBpbXBvcnQgc2h1dGlsCkBAIC0zNTUsNyArMzU0LDcgQEAKICAgICBkZWYgdGVzdF9vc2Nsb2V4ZWMoc2VsZik6CiAgICAgICAgIGZkID0gb3Mub3BlbihzdXBwb3J0LlRFU1RGTiwgb3MuT19SRE9OTFl8b3MuT19DTE9FWEVDKQogICAgICAgICBzZWxmLmFkZENsZWFudXAob3MuY2xvc2UsIGZkKQotICAgICAgICBzZWxmLmFzc2VydFRydWUoZmNudGwuZmNudGwoZmQsIGZjbnRsLkZfR0VURkQpICYgZmNudGwuRkRfQ0xPRVhFQykKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShvcy5nZXRfaW5oZXJpdGFibGUoZmQpKQogCiAgICAgQHVuaXR0ZXN0LnNraXBVbmxlc3MoaGFzYXR0cihwb3NpeCwgJ09fRVhMT0NLJyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Rlc3QgbmVlZHMgcG9zaXguT19FWExPQ0snKQpAQCAtNjA1LDggKzYwNCw4IEBACiAgICAgICAgIHNlbGYuYWRkQ2xlYW51cChvcy5jbG9zZSwgdykKICAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShvcy5nZXRfaW5oZXJpdGFibGUocikpCiAgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2Uob3MuZ2V0X2luaGVyaXRhYmxlKHcpKQotICAgICAgICBzZWxmLmFzc2VydFRydWUoZmNudGwuZmNudGwociwgZmNudGwuRl9HRVRGTCkgJiBvcy5PX05PTkJMT0NLKQotICAgICAgICBzZWxmLmFzc2VydFRydWUoZmNudGwuZmNudGwodywgZmNudGwuRl9HRVRGTCkgJiBvcy5PX05PTkJMT0NLKQorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKG9zLmdldF9ibG9ja2luZyhyKSkKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShvcy5nZXRfYmxvY2tpbmcodykpCiAgICAgICAgICMgdHJ5IHJlYWRpbmcgZnJvbSBhbiBlbXB0eSBwaXBlOiB0aGlzIHNob3VsZCBmYWlsLCBub3QgYmxvY2sKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoT1NFcnJvciwgb3MucmVhZCwgciwgMSkKICAgICAgICAgIyB0cnkgYSB3cml0ZSBiaWcgZW5vdWdoIHRvIGZpbGwtdXAgdGhlIHBpcGU6IHRoaXMgc2hvdWxkIGVpdGhlcgpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9wb3NpeHBhdGgucHkgYi9MaWIvdGVzdC90ZXN0X3Bvc2l4cGF0aC5weQppbmRleCBlYzJmYmFlLi5iMjQ1NDc5NCAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9wb3NpeHBhdGgucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9wb3NpeHBhdGgucHkKQEAgLTU3LDE4ICs1Nyw2IEBACiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocG9zaXhwYXRoLmpvaW4oYiIvZm9vLyIsIGIiYmFyLyIsIGIiYmF6LyIpLAogICAgICAgICAgICAgICAgICAgICAgICAgIGIiL2Zvby9iYXIvYmF6LyIpCiAKLSAgICBkZWYgdGVzdF9qb2luX2Vycm9ycyhzZWxmKToKLSAgICAgICAgIyBDaGVjayBwb3NpeHBhdGguam9pbiByYWlzZXMgZnJpZW5kbHkgVHlwZUVycm9ycy4KLSAgICAgICAgZXJybXNnID0gIkNhbid0IG1peCBzdHJpbmdzIGFuZCBieXRlcyBpbiBwYXRoIGNvbXBvbmVudHMiCi0gICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXNSZWdleChUeXBlRXJyb3IsIGVycm1zZyk6Ci0gICAgICAgICAgICBwb3NpeHBhdGguam9pbihiJ2J5dGVzJywgJ3N0cicpCi0gICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXNSZWdleChUeXBlRXJyb3IsIGVycm1zZyk6Ci0gICAgICAgICAgICBwb3NpeHBhdGguam9pbignc3RyJywgYidieXRlcycpCi0gICAgICAgICMgcmVncmVzc2lvbiwgc2VlICMxNTM3NwotICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvcikgYXMgY206Ci0gICAgICAgICAgICBwb3NpeHBhdGguam9pbihOb25lLCAnc3RyJykKLSAgICAgICAgc2VsZi5hc3NlcnROb3RFcXVhbChjbS5leGNlcHRpb24uYXJnc1swXSwgZXJybXNnKQotCiAgICAgZGVmIHRlc3Rfc3BsaXQoc2VsZik6CiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocG9zaXhwYXRoLnNwbGl0KCIvZm9vL2JhciIpLCAoIi9mb28iLCAiYmFyIikpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocG9zaXhwYXRoLnNwbGl0KCIvIiksICgiLyIsICIiKSkKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfcHByaW50LnB5IGIvTGliL3Rlc3QvdGVzdF9wcHJpbnQucHkKaW5kZXggYWQ2YTdhMS4uYzA1Njg4MCAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9wcHJpbnQucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9wcHJpbnQucHkKQEAgLTE5MiwxMCArMTkyLDUyIEBACiAgICAgICAgIG8gPSBbbzEsIG8yXQogICAgICAgICBleHBlY3RlZCA9ICIiIlwKIFsgICBbMCwgMSwgMiwgMywgNCwgNSwgNiwgNywgOCwgOV0sCisgICAgeydmaXJzdCc6IDEsICdzZWNvbmQnOiAyLCAndGhpcmQnOiAzfV0iIiIKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwcHJpbnQucGZvcm1hdChvLCBpbmRlbnQ9NCwgd2lkdGg9NDIpLCBleHBlY3RlZCkKKyAgICAgICAgZXhwZWN0ZWQgPSAiIiJcCitbICAgWzAsIDEsIDIsIDMsIDQsIDUsIDYsIDcsIDgsIDldLAogICAgIHsgICAnZmlyc3QnOiAxLAogICAgICAgICAnc2Vjb25kJzogMiwKICAgICAgICAgJ3RoaXJkJzogM31dIiIiCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocHByaW50LnBmb3JtYXQobywgaW5kZW50PTQsIHdpZHRoPTQyKSwgZXhwZWN0ZWQpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocHByaW50LnBmb3JtYXQobywgaW5kZW50PTQsIHdpZHRoPTQxKSwgZXhwZWN0ZWQpCisKKyAgICBkZWYgdGVzdF93aWR0aChzZWxmKToKKyAgICAgICAgZXhwZWN0ZWQgPSAiIiJcCitbW1tbW1sxLCAyLCAzXSwKKyAgICAgJzEgMiddXV1dLAorIHsxOiBbMSwgMiwgM10sCisgIDI6IFsxMiwgMzRdfSwKKyAnYWJjIGRlZiBnaGknLAorICgnYWIgY2QgZWYnLCksCisgc2V0Mih7MSwgMjN9KSwKKyBbW1tbWzEsIDIsIDNdLAorICAgICAnMSAyJ11dXV1dIiIiCisgICAgICAgIG8gPSBldmFsKGV4cGVjdGVkKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHBwcmludC5wZm9ybWF0KG8sIHdpZHRoPTE1KSwgZXhwZWN0ZWQpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocHByaW50LnBmb3JtYXQobywgd2lkdGg9MTYpLCBleHBlY3RlZCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwcHJpbnQucGZvcm1hdChvLCB3aWR0aD0yNSksIGV4cGVjdGVkKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHBwcmludC5wZm9ybWF0KG8sIHdpZHRoPTE0KSwgIiIiXAorW1tbW1tbMSwKKyAgICAgIDIsCisgICAgICAzXSwKKyAgICAgJzEgJworICAgICAnMiddXV1dLAorIHsxOiBbMSwKKyAgICAgIDIsCisgICAgICAzXSwKKyAgMjogWzEyLAorICAgICAgMzRdfSwKKyAnYWJjIGRlZiAnCisgJ2doaScsCisgKCdhYiBjZCAnCisgICdlZicsKSwKKyBzZXQyKHsxLAorICAgICAgIDIzfSksCisgW1tbW1sxLAorICAgICAgMiwKKyAgICAgIDNdLAorICAgICAnMSAnCisgICAgICcyJ11dXV1dIiIiKQogCiAgICAgZGVmIHRlc3Rfc29ydGVkX2RpY3Qoc2VsZik6CiAgICAgICAgICMgU3RhcnRpbmcgaW4gUHl0aG9uIDIuNSwgcHByaW50IHNvcnRzIGRpY3QgZGlzcGxheXMgYnkga2V5IHJlZ2FyZGxlc3MKQEAgLTUzNSwxMyArNTc3LDEyIEBACiAgICAgZGVmIHRlc3Rfc3RyX3dyYXAoc2VsZik6CiAgICAgICAgICMgcHByaW50IHRyaWVzIHRvIHdyYXAgc3RyaW5ncyBpbnRlbGxpZ2VudGx5CiAgICAgICAgIGZveCA9ICd0aGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIGEgbGF6eSBkb2cnCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocHByaW50LnBmb3JtYXQoZm94LCB3aWR0aD0yMCksICIiIlwKLSgndGhlIHF1aWNrICcKLSAnYnJvd24gZm94ICcKLSAnanVtcGVkIG92ZXIgYSAnCi0gJ2xhenkgZG9nJykiIiIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocHByaW50LnBmb3JtYXQoZm94LCB3aWR0aD0xOSksICIiIlwKKygndGhlIHF1aWNrIGJyb3duICcKKyAnZm94IGp1bXBlZCBvdmVyICcKKyAnYSBsYXp5IGRvZycpIiIiKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHBwcmludC5wZm9ybWF0KHsnYSc6IDEsICdiJzogZm94LCAnYyc6IDJ9LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPTI2KSwgIiIiXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPTI1KSwgIiIiXAogeydhJzogMSwKICAnYic6ICd0aGUgcXVpY2sgYnJvd24gJwogICAgICAgJ2ZveCBqdW1wZWQgb3ZlciAnCkBAIC01NTMsMTIgKzU5NCwzNCBAQAogICAgICAgICAjIC0gbm9uLUFTQ0lJIGlzIGFsbG93ZWQKICAgICAgICAgIyAtIGFuIGFwb3N0cm9waGUgZG9lc24ndCBkaXNydXB0IHRoZSBwcHJpbnQKICAgICAgICAgc3BlY2lhbCA9ICJQb3J0b25zIGRpeCBib25zIFwid2hpc2t5c1wiXG7DoCBsJ2F2b2NhdCBnb3VqYXRcdCBxdWkgZnVtYWl0IGF1IHpvbyIKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwcHJpbnQucGZvcm1hdChzcGVjaWFsLCB3aWR0aD0yMSksICIiIlwKLSgnUG9ydG9ucyBkaXggJwotICdib25zICJ3aGlza3lzIlxcbicKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwcHJpbnQucGZvcm1hdChzcGVjaWFsLCB3aWR0aD02OCksIHJlcHIoc3BlY2lhbCkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocHByaW50LnBmb3JtYXQoc3BlY2lhbCwgd2lkdGg9MzEpLCAiIiJcCisoJ1BvcnRvbnMgZGl4IGJvbnMgIndoaXNreXMiXFxuJworICLDoCBsJ2F2b2NhdCBnb3VqYXRcXHQgcXVpICIKKyAnZnVtYWl0IGF1IHpvbycpIiIiKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHBwcmludC5wZm9ybWF0KHNwZWNpYWwsIHdpZHRoPTIwKSwgIiIiXAorKCdQb3J0b25zIGRpeCBib25zICcKKyAnIndoaXNreXMiXFxuJwogICLDoCBsJ2F2b2NhdCAiCiAgJ2dvdWphdFxcdCBxdWkgJwogICdmdW1haXQgYXUgem9vJykiIiIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocHByaW50LnBmb3JtYXQoW1tbW1tzcGVjaWFsXV1dXV0sIHdpZHRoPTM1KSwgIiIiXAorW1tbW1snUG9ydG9ucyBkaXggYm9ucyAid2hpc2t5cyJcXG4nCisgICAgICLDoCBsJ2F2b2NhdCBnb3VqYXRcXHQgcXVpICIKKyAgICAgJ2Z1bWFpdCBhdSB6b28nXV1dXV0iIiIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocHByaW50LnBmb3JtYXQoW1tbW1tzcGVjaWFsXV1dXV0sIHdpZHRoPTI1KSwgIiIiXAorW1tbW1snUG9ydG9ucyBkaXggYm9ucyAnCisgICAgICcid2hpc2t5cyJcXG4nCisgICAgICLDoCBsJ2F2b2NhdCAiCisgICAgICdnb3VqYXRcXHQgcXVpICcKKyAgICAgJ2Z1bWFpdCBhdSB6b28nXV1dXV0iIiIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocHByaW50LnBmb3JtYXQoW1tbW1tzcGVjaWFsXV1dXV0sIHdpZHRoPTIzKSwgIiIiXAorW1tbW1snUG9ydG9ucyBkaXggJworICAgICAnYm9ucyAid2hpc2t5cyJcXG4nCisgICAgICLDoCBsJ2F2b2NhdCAiCisgICAgICdnb3VqYXRcXHQgcXVpICcKKyAgICAgJ2Z1bWFpdCBhdSAnCisgICAgICd6b28nXV1dXV0iIiIpCiAgICAgICAgICMgQW4gdW53cmFwcGFibGUgc3RyaW5nIGlzIGZvcm1hdHRlZCBhcyBpdHMgcmVwcgogICAgICAgICB1bndyYXBwYWJsZSA9ICJ4IiAqIDEwMAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHBwcmludC5wZm9ybWF0KHVud3JhcHBhYmxlLCB3aWR0aD04MCksIHJlcHIodW53cmFwcGFibGUpKQpAQCAtNTgxLDcgKzY0NCwxOSBAQAogICAxNCwgMTVdLAogIFtdLCBbMF0sIFswLCAxXSwgWzAsIDEsIDJdLCBbMCwgMSwgMiwgM10sCiAgWzAsIDEsIDIsIDMsIDRdXSIiIgotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHBwcmludC5wZm9ybWF0KG8sIHdpZHRoPTQ4LCBjb21wYWN0PVRydWUpLCBleHBlY3RlZCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwcHJpbnQucGZvcm1hdChvLCB3aWR0aD00NywgY29tcGFjdD1UcnVlKSwgZXhwZWN0ZWQpCisKKyAgICBkZWYgdGVzdF9jb21wYWN0X3dpZHRoKHNlbGYpOgorICAgICAgICBsZXZlbHMgPSAyMAorICAgICAgICBudW1iZXIgPSAxMAorICAgICAgICBvID0gWzBdICogbnVtYmVyCisgICAgICAgIGZvciBpIGluIHJhbmdlKGxldmVscyAtIDEpOgorICAgICAgICAgICAgbyA9IFtvXQorICAgICAgICBmb3IgdyBpbiByYW5nZShsZXZlbHMgKiAyICsgMSwgbGV2ZWxzICsgMyAqIG51bWJlciAtIDEpOgorICAgICAgICAgICAgbGluZXMgPSBwcHJpbnQucGZvcm1hdChvLCB3aWR0aD13LCBjb21wYWN0PVRydWUpLnNwbGl0bGluZXMoKQorICAgICAgICAgICAgbWF4d2lkdGggPSBtYXgobWFwKGxlbiwgbGluZXMpKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRMZXNzRXF1YWwobWF4d2lkdGgsIHcpCisgICAgICAgICAgICBzZWxmLmFzc2VydEdyZWF0ZXIobWF4d2lkdGgsIHcgLSAzKQogCiAKIGNsYXNzIERvdHRlZFByZXR0eVByaW50ZXIocHByaW50LlByZXR0eVByaW50ZXIpOgpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9wdHkucHkgYi9MaWIvdGVzdC90ZXN0X3B0eS5weQppbmRleCA4OTE2ODYxLi45Yjc4M2MzIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X3B0eS5weQorKysgYi9MaWIvdGVzdC90ZXN0X3B0eS5weQpAQCAtMSw3ICsxLDYgQEAKIGZyb20gdGVzdC5zdXBwb3J0IGltcG9ydCB2ZXJib3NlLCBydW5fdW5pdHRlc3QsIGltcG9ydF9tb2R1bGUsIHJlYXBfY2hpbGRyZW4KIAotI1NraXAgdGhlc2UgdGVzdHMgaWYgZWl0aGVyIGZjbnRsIG9yIHRlcm1pb3MgaXMgbm90IGF2YWlsYWJsZQotZmNudGwgPSBpbXBvcnRfbW9kdWxlKCdmY250bCcpCisjIFNraXAgdGhlc2UgdGVzdHMgaWYgdGVybWlvcyBpcyBub3QgYXZhaWxhYmxlCiBpbXBvcnRfbW9kdWxlKCd0ZXJtaW9zJykKIAogaW1wb3J0IGVycm5vCkBAIC04NCwxNiArODMsMTggQEAKICAgICAgICAgIyBpbiBtYXN0ZXJfb3BlbigpLCB3ZSBuZWVkIHRvIHJlYWQgdGhlIEVPRi4KIAogICAgICAgICAjIEVuc3VyZSB0aGUgZmQgaXMgbm9uLWJsb2NraW5nIGluIGNhc2UgdGhlcmUncyBub3RoaW5nIHRvIHJlYWQuCi0gICAgICAgIG9yaWdfZmxhZ3MgPSBmY250bC5mY250bChtYXN0ZXJfZmQsIGZjbnRsLkZfR0VURkwpCi0gICAgICAgIGZjbnRsLmZjbnRsKG1hc3Rlcl9mZCwgZmNudGwuRl9TRVRGTCwgb3JpZ19mbGFncyB8IG9zLk9fTk9OQkxPQ0spCisgICAgICAgIGJsb2NraW5nID0gb3MuZ2V0X2Jsb2NraW5nKG1hc3Rlcl9mZCkKICAgICAgICAgdHJ5OgotICAgICAgICAgICAgczEgPSBvcy5yZWFkKG1hc3Rlcl9mZCwgMTAyNCkKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYicnLCBzMSkKLSAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZToKLSAgICAgICAgICAgIGlmIGUuZXJybm8gIT0gZXJybm8uRUFHQUlOOgotICAgICAgICAgICAgICAgIHJhaXNlCi0gICAgICAgICMgUmVzdG9yZSB0aGUgb3JpZ2luYWwgZmxhZ3MuCi0gICAgICAgIGZjbnRsLmZjbnRsKG1hc3Rlcl9mZCwgZmNudGwuRl9TRVRGTCwgb3JpZ19mbGFncykKKyAgICAgICAgICAgIG9zLnNldF9ibG9ja2luZyhtYXN0ZXJfZmQsIEZhbHNlKQorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIHMxID0gb3MucmVhZChtYXN0ZXJfZmQsIDEwMjQpCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiJycsIHMxKQorICAgICAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZToKKyAgICAgICAgICAgICAgICBpZiBlLmVycm5vICE9IGVycm5vLkVBR0FJTjoKKyAgICAgICAgICAgICAgICAgICAgcmFpc2UKKyAgICAgICAgZmluYWxseToKKyAgICAgICAgICAgICMgUmVzdG9yZSB0aGUgb3JpZ2luYWwgZmxhZ3MuCisgICAgICAgICAgICBvcy5zZXRfYmxvY2tpbmcobWFzdGVyX2ZkLCBibG9ja2luZykKIAogICAgICAgICBkZWJ1ZygiV3JpdGluZyB0byBzbGF2ZV9mZCIpCiAgICAgICAgIG9zLndyaXRlKHNsYXZlX2ZkLCBURVNUX1NUUklOR18xKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9weWRvYy5weSBiL0xpYi90ZXN0L3Rlc3RfcHlkb2MucHkKaW5kZXggODNmMmVjOS4uNTBlZDRkNSAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9weWRvYy5weQorKysgYi9MaWIvdGVzdC90ZXN0X3B5ZG9jLnB5CkBAIC0yLDcgKzIsNiBAQAogaW1wb3J0IHN5cwogaW1wb3J0IGJ1aWx0aW5zCiBpbXBvcnQgY29udGV4dGxpYgotaW1wb3J0IGRpZmZsaWIKIGltcG9ydCBpbXBvcnRsaWIudXRpbAogaW1wb3J0IGluc3BlY3QKIGltcG9ydCBweWRvYwpAQCAtMjU3LDcgKzI1NiwxMCBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgcyBpbiBleHBlY3RlZF9kYXRhX2RvY3N0cmluZ3MpCiAKICMgb3V0cHV0IHBhdHRlcm4gZm9yIG1pc3NpbmcgbW9kdWxlCi1taXNzaW5nX3BhdHRlcm4gPSAibm8gUHl0aG9uIGRvY3VtZW50YXRpb24gZm91bmQgZm9yICclcyciCittaXNzaW5nX3BhdHRlcm4gPSAnJydcCitObyBQeXRob24gZG9jdW1lbnRhdGlvbiBmb3VuZCBmb3IgJXIuCitVc2UgaGVscCgpIHRvIGdldCB0aGUgaW50ZXJhY3RpdmUgaGVscCB1dGlsaXR5LgorVXNlIGhlbHAoc3RyKSBmb3IgaGVscCBvbiB0aGUgc3RyIGNsYXNzLicnJy5yZXBsYWNlKCdcbicsIG9zLmxpbmVzZXApCiAKICMgb3V0cHV0IHBhdHRlcm4gZm9yIG1vZHVsZSB3aXRoIGJhZCBpbXBvcnRzCiBiYWRpbXBvcnRfcGF0dGVybiA9ICJwcm9ibGVtIGluICVzIC0gSW1wb3J0RXJyb3I6IE5vIG1vZHVsZSBuYW1lZCAlciIKQEAgLTM2NCwxNSArMzY2LDYgQEAKICAgICBvdXRwdXQgPSBwYXR0LnN1YignJywgb3V0cHV0KQogICAgIHJldHVybiBvdXRwdXQuc3RyaXAoKSwgbG9jCiAKLWRlZiBwcmludF9kaWZmcyh0ZXh0MSwgdGV4dDIpOgotICAgICJQcmludHMgdW5pZmllZCBkaWZmcyBmb3IgdHdvIHRleHRzIgotICAgICMgWFhYIG5vdyBvYnNvbGV0ZSwgdXNlIHVuaXR0ZXN0IGJ1aWx0LWluIHN1cHBvcnQKLSAgICBsaW5lczEgPSB0ZXh0MS5zcGxpdGxpbmVzKGtlZXBlbmRzPVRydWUpCi0gICAgbGluZXMyID0gdGV4dDIuc3BsaXRsaW5lcyhrZWVwZW5kcz1UcnVlKQotICAgIGRpZmZzID0gZGlmZmxpYi51bmlmaWVkX2RpZmYobGluZXMxLCBsaW5lczIsIG49MCwgZnJvbWZpbGU9J2V4cGVjdGVkJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvZmlsZT0nZ290JykKLSAgICBwcmludCgnXG4nICsgJycuam9pbihkaWZmcykpCi0KIGRlZiBnZXRfaHRtbF90aXRsZSh0ZXh0KToKICAgICAjIEJpdCBvZiBoYWNrLCBidXQgZ29vZCBlbm91Z2ggZm9yIHRlc3QgcHVycG9zZXMKICAgICBoZWFkZXIsIF8sIF8gPSB0ZXh0LnBhcnRpdGlvbigiPC9oZWFkPiIpCkBAIC00MTgsOSArNDExLDcgQEAKICAgICAgICAgZXhwZWN0ZWRfaHRtbCA9IGV4cGVjdGVkX2h0bWxfcGF0dGVybiAlICgKICAgICAgICAgICAgICAgICAgICAgICAgIChtb2RfdXJsLCBtb2RfZmlsZSwgZG9jX2xvYykgKwogICAgICAgICAgICAgICAgICAgICAgICAgZXhwZWN0ZWRfaHRtbF9kYXRhX2RvY3N0cmluZ3MpCi0gICAgICAgIGlmIHJlc3VsdCAhPSBleHBlY3RlZF9odG1sOgotICAgICAgICAgICAgcHJpbnRfZGlmZnMoZXhwZWN0ZWRfaHRtbCwgcmVzdWx0KQotICAgICAgICAgICAgc2VsZi5mYWlsKCJvdXRwdXRzIGFyZSBub3QgZXF1YWwsIHNlZSBkaWZmIGFib3ZlIikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXN1bHQsIGV4cGVjdGVkX2h0bWwpCiAKICAgICBAdW5pdHRlc3Quc2tpcElmKHN5cy5mbGFncy5vcHRpbWl6ZSA+PSAyLAogICAgICAgICAgICAgICAgICAgICAgIkRvY3N0cmluZ3MgYXJlIG9taXR0ZWQgd2l0aCAtTzIgYW5kIGFib3ZlIikKQEAgLTQzMyw5ICs0MjQsNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgKGRvY19sb2MsKSArCiAgICAgICAgICAgICAgICAgICAgICAgICBleHBlY3RlZF90ZXh0X2RhdGFfZG9jc3RyaW5ncyArCiAgICAgICAgICAgICAgICAgICAgICAgICAoaW5zcGVjdC5nZXRhYnNmaWxlKHB5ZG9jX21vZCksKSkKLSAgICAgICAgaWYgcmVzdWx0ICE9IGV4cGVjdGVkX3RleHQ6Ci0gICAgICAgICAgICBwcmludF9kaWZmcyhleHBlY3RlZF90ZXh0LCByZXN1bHQpCi0gICAgICAgICAgICBzZWxmLmZhaWwoIm91dHB1dHMgYXJlIG5vdCBlcXVhbCwgc2VlIGRpZmYgYWJvdmUiKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGV4cGVjdGVkX3RleHQsIHJlc3VsdCkKIAogICAgIGRlZiB0ZXN0X3RleHRfZW51bV9tZW1iZXJfd2l0aF92YWx1ZV96ZXJvKHNlbGYpOgogICAgICAgICAjIFRlc3QgaXNzdWUgIzIwNjU0IHRvIGVuc3VyZSBlbnVtIG1lbWJlciB3aXRoIHZhbHVlIDAgY2FuIGJlCkBAIC05MzEsOSArOTIwLDcgQEAKICAgICAgICAgZXhwZWN0ZWRfdGV4dCA9IGV4cGVjdGVkX2R5bmFtaWNhdHRyaWJ1dGVfcGF0dGVybiAlICgKICAgICAgICAgICAgICAgICAoX19uYW1lX18sKSArIGV4cGVjdGVkX3RleHRfZGF0YV9kb2NzdHJpbmdzWzoyXSkKICAgICAgICAgcmVzdWx0ID0gb3V0cHV0LmdldHZhbHVlKCkuc3RyaXAoKQotICAgICAgICBpZiByZXN1bHQgIT0gZXhwZWN0ZWRfdGV4dDoKLSAgICAgICAgICAgIHByaW50X2RpZmZzKGV4cGVjdGVkX3RleHQsIHJlc3VsdCkKLSAgICAgICAgICAgIHNlbGYuZmFpbCgib3V0cHV0cyBhcmUgbm90IGVxdWFsLCBzZWUgZGlmZiBhYm92ZSIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXhwZWN0ZWRfdGV4dCwgcmVzdWx0KQogCiAgICAgQHVuaXR0ZXN0LnNraXBJZihzeXMuZmxhZ3Mub3B0aW1pemUgPj0gMiwKICAgICAgICAgICAgICAgICAgICAgICJEb2NzdHJpbmdzIGFyZSBvbWl0dGVkIHdpdGggLU8yIGFuZCBhYm92ZSIpCkBAIC05NTQsOSArOTQxLDcgQEAKICAgICAgICAgaGVscGVyKENsYXNzKQogICAgICAgICBleHBlY3RlZF90ZXh0ID0gZXhwZWN0ZWRfdmlydHVhbGF0dHJpYnV0ZV9wYXR0ZXJuMSAlIF9fbmFtZV9fCiAgICAgICAgIHJlc3VsdCA9IG91dHB1dC5nZXR2YWx1ZSgpLnN0cmlwKCkKLSAgICAgICAgaWYgcmVzdWx0ICE9IGV4cGVjdGVkX3RleHQ6Ci0gICAgICAgICAgICBwcmludF9kaWZmcyhleHBlY3RlZF90ZXh0LCByZXN1bHQpCi0gICAgICAgICAgICBzZWxmLmZhaWwoIm91dHB1dHMgYXJlIG5vdCBlcXVhbCwgc2VlIGRpZmYgYWJvdmUiKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGV4cGVjdGVkX3RleHQsIHJlc3VsdCkKIAogICAgIEB1bml0dGVzdC5za2lwSWYoc3lzLmZsYWdzLm9wdGltaXplID49IDIsCiAgICAgICAgICAgICAgICAgICAgICAiRG9jc3RyaW5ncyBhcmUgb21pdHRlZCB3aXRoIC1PMiBhbmQgYWJvdmUiKQpAQCAtOTk2LDE5ICs5ODEsMTMgQEAKICAgICAgICAgaGVscGVyKENsYXNzMSkKICAgICAgICAgZXhwZWN0ZWRfdGV4dDEgPSBleHBlY3RlZF92aXJ0dWFsYXR0cmlidXRlX3BhdHRlcm4yICUgX19uYW1lX18KICAgICAgICAgcmVzdWx0MSA9IG91dHB1dC5nZXR2YWx1ZSgpLnN0cmlwKCkKLSAgICAgICAgaWYgcmVzdWx0MSAhPSBleHBlY3RlZF90ZXh0MToKLSAgICAgICAgICAgIHByaW50X2RpZmZzKGV4cGVjdGVkX3RleHQxLCByZXN1bHQxKQotICAgICAgICAgICAgZmFpbDEgPSBUcnVlCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXhwZWN0ZWRfdGV4dDEsIHJlc3VsdDEpCiAgICAgICAgIG91dHB1dCA9IFN0cmluZ0lPKCkKICAgICAgICAgaGVscGVyID0gcHlkb2MuSGVscGVyKG91dHB1dD1vdXRwdXQpCiAgICAgICAgIGhlbHBlcihDbGFzczIpCiAgICAgICAgIGV4cGVjdGVkX3RleHQyID0gZXhwZWN0ZWRfdmlydHVhbGF0dHJpYnV0ZV9wYXR0ZXJuMyAlIF9fbmFtZV9fCiAgICAgICAgIHJlc3VsdDIgPSBvdXRwdXQuZ2V0dmFsdWUoKS5zdHJpcCgpCi0gICAgICAgIGlmIHJlc3VsdDIgIT0gZXhwZWN0ZWRfdGV4dDI6Ci0gICAgICAgICAgICBwcmludF9kaWZmcyhleHBlY3RlZF90ZXh0MiwgcmVzdWx0MikKLSAgICAgICAgICAgIGZhaWwyID0gVHJ1ZQotICAgICAgICBpZiBmYWlsMSBvciBmYWlsMjoKLSAgICAgICAgICAgIHNlbGYuZmFpbCgib3V0cHV0cyBhcmUgbm90IGVxdWFsLCBzZWUgZGlmZiBhYm92ZSIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXhwZWN0ZWRfdGV4dDIsIHJlc3VsdDIpCiAKICAgICBAdW5pdHRlc3Quc2tpcElmKHN5cy5mbGFncy5vcHRpbWl6ZSA+PSAyLAogICAgICAgICAgICAgICAgICAgICAgIkRvY3N0cmluZ3MgYXJlIG9taXR0ZWQgd2l0aCAtTzIgYW5kIGFib3ZlIikKQEAgLTEwMjUsOSArMTAwNCw3IEBACiAgICAgICAgIGhlbHBlcihDKQogICAgICAgICBleHBlY3RlZF90ZXh0ID0gZXhwZWN0ZWRfbWlzc2luZ2F0dHJpYnV0ZV9wYXR0ZXJuICUgX19uYW1lX18KICAgICAgICAgcmVzdWx0ID0gb3V0cHV0LmdldHZhbHVlKCkuc3RyaXAoKQotICAgICAgICBpZiByZXN1bHQgIT0gZXhwZWN0ZWRfdGV4dDoKLSAgICAgICAgICAgIHByaW50X2RpZmZzKGV4cGVjdGVkX3RleHQsIHJlc3VsdCkKLSAgICAgICAgICAgIHNlbGYuZmFpbCgib3V0cHV0cyBhcmUgbm90IGVxdWFsLCBzZWUgZGlmZiBhYm92ZSIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXhwZWN0ZWRfdGV4dCwgcmVzdWx0KQogCiAKIEByZWFwX3RocmVhZHMKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfcmUucHkgYi9MaWIvdGVzdC90ZXN0X3JlLnB5CmluZGV4IDczNDhhZjMuLjBmYmY4YzUgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfcmUucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9yZS5weQpAQCAtODQsNyArODQsNyBAQAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlLnN1YigiKD9pKWIrIiwgIngiLCAiYmJiYiBCQkJCIiksICd4IHgnKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlLnN1YihyJ1xkKycsIHNlbGYuYnVtcF9udW0sICcwOC4yIC0yIDIzeDk5eScpLAogICAgICAgICAgICAgICAgICAgICAgICAgICc5LjMgLTMgMjR4MTAweScpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmUuc3ViKHInXGQrJywgc2VsZi5idW1wX251bSwgJzA4LjIgLTIgMjN4OTl5JywgMyksCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmUuc3ViKHInXGQrJywgc2VsZi5idW1wX251bSwgJzA4LjIgLTIgMjN4OTl5JywgY291bnQ9MyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgJzkuMyAtMyAyM3g5OXknKQogCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmUuc3ViKCcuJywgbGFtYmRhIG06IHIiXG4iLCAneCcpLCAnXFxuJykKQEAgLTE1NSw4ICsxNTUsOCBAQAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlLnN1YigneCcsIHInXDA5JywgJ3gnKSwgJ1wwJyArICc5JykKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZS5zdWIoJ3gnLCByJ1wwYScsICd4JyksICdcMCcgKyAnYScpCiAKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZS5zdWIoJ3gnLCByJ1w0MDAnLCAneCcpLCAnXDAnKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlLnN1YigneCcsIHInXDc3NycsICd4JyksICdcMzc3JykKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMocmUuZXJyb3IsIHJlLnN1YiwgJ3gnLCByJ1w0MDAnLCAneCcpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKHJlLmVycm9yLCByZS5zdWIsICd4JywgcidcNzc3JywgJ3gnKQogCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKHJlLmVycm9yLCByZS5zdWIsICd4JywgcidcMScsICd4JykKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMocmUuZXJyb3IsIHJlLnN1YiwgJ3gnLCByJ1w4JywgJ3gnKQpAQCAtMTgwLDcgKzE4MCw3IEBACiAKICAgICBkZWYgdGVzdF9xdWFsaWZpZWRfcmVfc3ViKHNlbGYpOgogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlLnN1YignYScsICdiJywgJ2FhYWFhJyksICdiYmJiYicpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmUuc3ViKCdhJywgJ2InLCAnYWFhYWEnLCAxKSwgJ2JhYWFhJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZS5zdWIoJ2EnLCAnYicsICdhYWFhYScsIGNvdW50PTEpLCAnYmFhYWEnKQogCiAgICAgZGVmIHRlc3RfYnVnXzExNDY2MChzZWxmKToKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZS5zdWIocicoXFMpXHMrKFxTKScsIHInXDEgXDInLCAnaGVsbG8gIHRoZXJlJyksCkBAIC0xOTQsNiArMTk0LDcgQEAKICAgICBkZWYgdGVzdF9zeW1ib2xpY19ncm91cHMoc2VsZik6CiAgICAgICAgIHJlLmNvbXBpbGUoJyg/UDxhPngpKD9QPWEpKD8oYSl5KScpCiAgICAgICAgIHJlLmNvbXBpbGUoJyg/UDxhMT54KSg/UD1hMSkoPyhhMSl5KScpCisgICAgICAgIHJlLmNvbXBpbGUoJyg/UDxhMT54KVwxKD8oMSl5KScpCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKHJlLmVycm9yLCByZS5jb21waWxlLCAnKD9QPGE+KSg/UDxhPiknKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhyZS5lcnJvciwgcmUuY29tcGlsZSwgJyg/UHgpJykKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMocmUuZXJyb3IsIHJlLmNvbXBpbGUsICcoP1A9KScpCkBAIC0yMTMsNiArMjE0LDEwIEBACiAgICAgICAgIHJlLmNvbXBpbGUoJyg/UDzCtT54KSg/UD3CtSkoPyjCtSl5KScpCiAgICAgICAgIHJlLmNvbXBpbGUoJyg/UDzwnZSY8J2Uq/CdlKbwnZSg8J2UrPCdlKHwnZSiPngpKD9QPfCdlJjwnZSr8J2UpvCdlKDwnZSs8J2UofCdlKIpKD8o8J2UmPCdlKvwnZSm8J2UoPCdlKzwnZSh8J2Uoil5KScpCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKHJlLmVycm9yLCByZS5jb21waWxlLCAnKD9QPMKpPngpJykKKyAgICAgICAgIyBTdXBwb3J0ID4gMTAwIGdyb3Vwcy4KKyAgICAgICAgcGF0ID0gJ3wnLmpvaW4oJ3goP1A8YSVkPiV4KXknICUgKGksIGkpIGZvciBpIGluIHJhbmdlKDEsIDIwMCArIDEpKQorICAgICAgICBwYXQgPSAnKD86JXMpKD8oMjAwKXp8dCknICUgcGF0CisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmUubWF0Y2gocGF0LCAneGM4eXonKS5zcGFuKCksICgwLCA1KSkKIAogICAgIGRlZiB0ZXN0X3N5bWJvbGljX3JlZnMoc2VsZik6CiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKHJlLmVycm9yLCByZS5zdWIsICcoP1A8YT54KScsICdcZzxhJywgJ3h4JykKQEAgLTIyMSw0OCArMjI2LDUzIEBACiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKHJlLmVycm9yLCByZS5zdWIsICcoP1A8YT54KScsICdcZzxhIGE+JywgJ3h4JykKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMocmUuZXJyb3IsIHJlLnN1YiwgJyg/UDxhPngpJywgJ1xnPD4nLCAneHgnKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhyZS5lcnJvciwgcmUuc3ViLCAnKD9QPGE+eCknLCAnXGc8MWExPicsICd4eCcpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKHJlLmVycm9yLCByZS5zdWIsICcoP1A8YT54KScsIHInXGc8Mj4nLCAneHgnKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhyZS5lcnJvciwgcmUuc3ViLCAnKD9QPGE+eCknLCByJ1wyJywgJ3h4JykKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoSW5kZXhFcnJvciwgcmUuc3ViLCAnKD9QPGE+eCknLCAnXGc8YWI+JywgJ3h4JykKLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMocmUuZXJyb3IsIHJlLnN1YiwgJyg/UDxhPngpfCg/UDxiPnkpJywgJ1xnPGI+JywgJ3h4JykKLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMocmUuZXJyb3IsIHJlLnN1YiwgJyg/UDxhPngpfCg/UDxiPnkpJywgJ1xcMicsICd4eCcpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmUuc3ViKCcoP1A8YT54KXwoP1A8Yj55KScsIHInXGc8Yj4nLCAneHgnKSwgJycpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmUuc3ViKCcoP1A8YT54KXwoP1A8Yj55KScsIHInXDInLCAneHgnKSwgJycpCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKHJlLmVycm9yLCByZS5zdWIsICcoP1A8YT54KScsICdcZzwtMT4nLCAneHgnKQogICAgICAgICAjIE5ldyB2YWxpZC9pbnZhbGlkIGlkZW50aWZpZXJzIGluIFB5dGhvbiAzCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmUuc3ViKCcoP1A8wrU+eCknLCByJ1xnPMK1PicsICd4eCcpLCAneHgnKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlLnN1YignKD9QPPCdlJjwnZSr8J2UpvCdlKDwnZSs8J2UofCdlKI+eCknLCByJ1xnPPCdlJjwnZSr8J2UpvCdlKDwnZSs8J2UofCdlKI+JywgJ3h4JyksICd4eCcpCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKHJlLmVycm9yLCByZS5zdWIsICcoP1A8YT54KScsIHInXGc8wqk+JywgJ3h4JykKKyAgICAgICAgIyBTdXBwb3J0ID4gMTAwIGdyb3Vwcy4KKyAgICAgICAgcGF0ID0gJ3wnLmpvaW4oJ3goP1A8YSVkPiV4KXknICUgKGksIGkpIGZvciBpIGluIHJhbmdlKDEsIDIwMCArIDEpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlLnN1YihwYXQsICdcZzwyMDA+JywgJ3hjOHl6eGM4eScpLCAnYzh6YzgnKQogCiAgICAgZGVmIHRlc3RfcmVfc3VibihzZWxmKToKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZS5zdWJuKCIoP2kpYisiLCAieCIsICJiYmJiIEJCQkIiKSwgKCd4IHgnLCAyKSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZS5zdWJuKCJiKyIsICJ4IiwgImJiYmIgQkJCQiIpLCAoJ3ggQkJCQicsIDEpKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlLnN1Ym4oImIrIiwgIngiLCAieHl6IiksICgneHl6JywgMCkpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmUuc3VibigiYioiLCAieCIsICJ4eXoiKSwgKCd4eHh5eHp4JywgNCkpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmUuc3VibigiYioiLCAieCIsICJ4eXoiLCAyKSwgKCd4eHh5eicsIDIpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlLnN1Ym4oImIqIiwgIngiLCAieHl6IiwgY291bnQ9MiksICgneHh4eXonLCAyKSkKIAogICAgIGRlZiB0ZXN0X3JlX3NwbGl0KHNlbGYpOgogICAgICAgICBmb3Igc3RyaW5nIGluICI6YTpiOjpjIiwgUygiOmE6Yjo6YyIpOgogICAgICAgICAgICAgc2VsZi5hc3NlcnRUeXBlZEVxdWFsKHJlLnNwbGl0KCI6Iiwgc3RyaW5nKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbJycsICdhJywgJ2InLCAnJywgJ2MnXSkKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHlwZWRFcXVhbChyZS5zcGxpdCgiOioiLCBzdHJpbmcpLAorICAgICAgICAgICAgc2VsZi5hc3NlcnRUeXBlZEVxdWFsKHJlLnNwbGl0KCI6KyIsIHN0cmluZyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWycnLCAnYScsICdiJywgJ2MnXSkKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHlwZWRFcXVhbChyZS5zcGxpdCgiKDoqKSIsIHN0cmluZyksCisgICAgICAgICAgICBzZWxmLmFzc2VydFR5cGVkRXF1YWwocmUuc3BsaXQoIig6KykiLCBzdHJpbmcpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsnJywgJzonLCAnYScsICc6JywgJ2InLCAnOjonLCAnYyddKQogICAgICAgICBmb3Igc3RyaW5nIGluIChiIjphOmI6OmMiLCBCKGIiOmE6Yjo6YyIpLCBieXRlYXJyYXkoYiI6YTpiOjpjIiksCiAgICAgICAgICAgICAgICAgICAgICAgIG1lbW9yeXZpZXcoYiI6YTpiOjpjIikpOgogICAgICAgICAgICAgc2VsZi5hc3NlcnRUeXBlZEVxdWFsKHJlLnNwbGl0KGIiOiIsIHN0cmluZyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2InJywgYidhJywgYidiJywgYicnLCBiJ2MnXSkKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHlwZWRFcXVhbChyZS5zcGxpdChiIjoqIiwgc3RyaW5nKSwKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHlwZWRFcXVhbChyZS5zcGxpdChiIjorIiwgc3RyaW5nKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYicnLCBiJ2EnLCBiJ2InLCBiJ2MnXSkKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHlwZWRFcXVhbChyZS5zcGxpdChiIig6KikiLCBzdHJpbmcpLAorICAgICAgICAgICAgc2VsZi5hc3NlcnRUeXBlZEVxdWFsKHJlLnNwbGl0KGIiKDorKSIsIHN0cmluZyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2InJywgYic6JywgYidhJywgYic6JywgYidiJywgYic6OicsIGInYyddKQogICAgICAgICBmb3IgYSwgYiwgYyBpbiAoIlx4ZTBceGRmXHhlNyIsICJcdTA0MzBcdTA0MzFcdTA0MzIiLAogICAgICAgICAgICAgICAgICAgICAgICAgIlxVMDAwMWQ0OWNcVTAwMDFkNDllXFUwMDAxZDRiNSIpOgogICAgICAgICAgICAgc3RyaW5nID0gIjolczolczo6JXMiICUgKGEsIGIsIGMpCiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlLnNwbGl0KCI6Iiwgc3RyaW5nKSwgWycnLCBhLCBiLCAnJywgY10pCi0gICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlLnNwbGl0KCI6KiIsIHN0cmluZyksIFsnJywgYSwgYiwgY10pCi0gICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlLnNwbGl0KCIoOiopIiwgc3RyaW5nKSwKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmUuc3BsaXQoIjorIiwgc3RyaW5nKSwgWycnLCBhLCBiLCBjXSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmUuc3BsaXQoIig6KykiLCBzdHJpbmcpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbJycsICc6JywgYSwgJzonLCBiLCAnOjonLCBjXSkKIAotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlLnNwbGl0KCIoPzo6KikiLCAiOmE6Yjo6YyIpLCBbJycsICdhJywgJ2InLCAnYyddKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlLnNwbGl0KCIoOikqIiwgIjphOmI6OmMiKSwKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZS5zcGxpdCgiKD86OispIiwgIjphOmI6OmMiKSwgWycnLCAnYScsICdiJywgJ2MnXSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZS5zcGxpdCgiKDopKyIsICI6YTpiOjpjIiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgWycnLCAnOicsICdhJywgJzonLCAnYicsICc6JywgJ2MnXSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZS5zcGxpdCgiKFtiOl0rKSIsICI6YTpiOjpjIiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgWycnLCAnOicsICdhJywgJzpiOjonLCAnYyddKQpAQCAtMjcyLDEzICsyODIsMzQgQEAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZS5zcGxpdCgiKD86Yil8KD86OispIiwgIjphOmI6OmMiKSwKICAgICAgICAgICAgICAgICAgICAgICAgICBbJycsICdhJywgJycsICcnLCAnYyddKQogCisgICAgICAgIGZvciBzZXAsIGV4cGVjdGVkIGluIFsKKyAgICAgICAgICAgICgnOionLCBbJycsICdhJywgJ2InLCAnYyddKSwKKyAgICAgICAgICAgICgnKD86OiopJywgWycnLCAnYScsICdiJywgJ2MnXSksCisgICAgICAgICAgICAoJyg6KiknLCBbJycsICc6JywgJ2EnLCAnOicsICdiJywgJzo6JywgJ2MnXSksCisgICAgICAgICAgICAoJyg6KSonLCBbJycsICc6JywgJ2EnLCAnOicsICdiJywgJzonLCAnYyddKSwKKyAgICAgICAgXToKKyAgICAgICAgICAgIHdpdGggc2VsZi5zdWJUZXN0KHNlcD1zZXApLCBzZWxmLmFzc2VydFdhcm5zKEZ1dHVyZVdhcm5pbmcpOgorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHlwZWRFcXVhbChyZS5zcGxpdChzZXAsICc6YTpiOjpjJyksIGV4cGVjdGVkKQorCisgICAgICAgIGZvciBzZXAsIGV4cGVjdGVkIGluIFsKKyAgICAgICAgICAgICgnJywgWyc6YTpiOjpjJ10pLAorICAgICAgICAgICAgKHInXGInLCBbJzphOmI6OmMnXSksCisgICAgICAgICAgICAocicoPz06KScsIFsnOmE6Yjo6YyddKSwKKyAgICAgICAgICAgIChyJyg/PD06KScsIFsnOmE6Yjo6YyddKSwKKyAgICAgICAgXToKKyAgICAgICAgICAgIHdpdGggc2VsZi5zdWJUZXN0KHNlcD1zZXApLCBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yKToKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydFR5cGVkRXF1YWwocmUuc3BsaXQoc2VwLCAnOmE6Yjo6YycpLCBleHBlY3RlZCkKKwogICAgIGRlZiB0ZXN0X3F1YWxpZmllZF9yZV9zcGxpdChzZWxmKToKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZS5zcGxpdCgiOiIsICI6YTpiOjpjIiwgMiksIFsnJywgJ2EnLCAnYjo6YyddKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlLnNwbGl0KCc6JywgJ2E6YjpjOmQnLCAyKSwgWydhJywgJ2InLCAnYzpkJ10pCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmUuc3BsaXQoIig6KSIsICI6YTpiOjpjIiwgMiksCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmUuc3BsaXQoIjoiLCAiOmE6Yjo6YyIsIG1heHNwbGl0PTIpLCBbJycsICdhJywgJ2I6OmMnXSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZS5zcGxpdCgnOicsICdhOmI6YzpkJywgbWF4c3BsaXQ9MiksIFsnYScsICdiJywgJ2M6ZCddKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlLnNwbGl0KCIoOikiLCAiOmE6Yjo6YyIsIG1heHNwbGl0PTIpLAogICAgICAgICAgICAgICAgICAgICAgICAgIFsnJywgJzonLCAnYScsICc6JywgJ2I6OmMnXSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZS5zcGxpdCgiKDoqKSIsICI6YTpiOjpjIiwgMiksCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmUuc3BsaXQoIig6KykiLCAiOmE6Yjo6YyIsIG1heHNwbGl0PTIpLAogICAgICAgICAgICAgICAgICAgICAgICAgIFsnJywgJzonLCAnYScsICc6JywgJ2I6OmMnXSkKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFdhcm5zKEZ1dHVyZVdhcm5pbmcpOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZS5zcGxpdCgiKDoqKSIsICI6YTpiOjpjIiwgbWF4c3BsaXQ9MiksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsnJywgJzonLCAnYScsICc6JywgJ2I6OmMnXSkKIAogICAgIGRlZiB0ZXN0X3JlX2ZpbmRhbGwoc2VsZik6CiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmUuZmluZGFsbCgiOisiLCAiYWJjIiksIFtdKQpAQCAtNDA1LDYgKzQzNiwxMCBAQAogICAgICAgICBzZWxmLmFzc2VydElzTm9uZShwLm1hdGNoKCdhYmQnKSkKICAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUocC5tYXRjaCgnYWMnKSkKIAorICAgICAgICAjIFN1cHBvcnQgPiAxMDAgZ3JvdXBzLgorICAgICAgICBwYXQgPSAnfCcuam9pbigneCg/UDxhJWQ+JXgpeScgJSAoaSwgaSkgZm9yIGkgaW4gcmFuZ2UoMSwgMjAwICsgMSkpCisgICAgICAgIHBhdCA9ICcoPzolcykoPygyMDApeiknICUgcGF0CisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmUubWF0Y2gocGF0LCAneGM4eXonKS5zcGFuKCksICgwLCA1KSkKIAogICAgIGRlZiB0ZXN0X3JlX2dyb3VwcmVmKHNlbGYpOgogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlLm1hdGNoKHInXihcfCk/KFteKCldKylcMSQnLCAnfGF8JykuZ3JvdXBzKCksCkBAIC00MjgsNiArNDYzLDEwIEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImZpcnN0IHNlY29uZCIpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmV4cGFuZChyIlwyIFwxIFxnPHNlY29uZD4gXGc8Zmlyc3Q+IiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgInNlY29uZCBmaXJzdCBzZWNvbmQgZmlyc3QiKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlLm1hdGNoKCIoP1A8Zmlyc3Q+Zmlyc3QpfCg/UDxzZWNvbmQ+c2Vjb25kKSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImZpcnN0IikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZXhwYW5kKHIiXDIgXGc8c2Vjb25kPiIpLAorICAgICAgICAgICAgICAgICAgICAgICAgICIgIikKIAogICAgIGRlZiB0ZXN0X3JlcGVhdF9taW5tYXgoc2VsZik6CiAgICAgICAgIHNlbGYuYXNzZXJ0SXNOb25lKHJlLm1hdGNoKCJeKFx3KXsxfSQiLCAiYWJjIikpCkBAIC00ODQsMTAgKzUyMyw2IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhYmNkIGFiYyBiY2QgYngiLCByZS5BU0NJSSkuZ3JvdXAoMSksICJieCIpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmUuc2VhcmNoKHIiXEIoYi4pXEIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYWJjIGJjZCBiYyBhYnhkIiwgcmUuQVNDSUkpLmdyb3VwKDEpLCAiYngiKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlLnNlYXJjaChyIlxiKGIuKVxiIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFiY2QgYWJjIGJjZCBieCIsIHJlLkxPQ0FMRSkuZ3JvdXAoMSksICJieCIpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmUuc2VhcmNoKHIiXEIoYi4pXEIiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYWJjIGJjZCBiYyBhYnhkIiwgcmUuTE9DQUxFKS5ncm91cCgxKSwgImJ4IikKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZS5zZWFyY2gociJeYWJjJCIsICJcbmFiY1xuIiwgcmUuTSkuZ3JvdXAoMCksICJhYmMiKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlLnNlYXJjaChyIl5cQWFiY1xaJCIsICJhYmMiLCByZS5NKS5ncm91cCgwKSwgImFiYyIpCiAgICAgICAgIHNlbGYuYXNzZXJ0SXNOb25lKHJlLnNlYXJjaChyIl5cQWFiY1xaJCIsICJcbmFiY1xuIiwgcmUuTSkpCkBAIC01MDgsMTEgKzU0MywyMyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiIjFhYSEgYSIpLmdyb3VwKDApLCBiIjFhYSEgYSIpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmUuc2VhcmNoKHIiXGRcRFx3XFdcc1xTIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIjFhYSEgYSIsIHJlLkFTQ0lJKS5ncm91cCgwKSwgIjFhYSEgYSIpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmUuc2VhcmNoKHIiXGRcRFx3XFdcc1xTIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIjFhYSEgYSIsIHJlLkxPQ0FMRSkuZ3JvdXAoMCksICIxYWEhIGEiKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlLnNlYXJjaChiciJcZFxEXHdcV1xzXFMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiIjFhYSEgYSIsIHJlLkxPQ0FMRSkuZ3JvdXAoMCksIGIiMWFhISBhIikKIAorICAgIGRlZiB0ZXN0X290aGVyX2VzY2FwZXMoc2VsZik6CisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKHJlLmVycm9yLCByZS5jb21waWxlLCAiXFwiKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlLm1hdGNoKHIiXCgiLCAnKCcpLmdyb3VwKCksICcoJykKKyAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUocmUubWF0Y2gociJcKCIsICcpJykpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmUubWF0Y2gociJcXCIsICdcXCcpLmdyb3VwKCksICdcXCcpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmUubWF0Y2gociJceSIsICd5JykuZ3JvdXAoKSwgJ3knKQorICAgICAgICBzZWxmLmFzc2VydElzTm9uZShyZS5tYXRjaChyIlx5IiwgJ3onKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZS5tYXRjaChyIltcXV0iLCAnXScpLmdyb3VwKCksICddJykKKyAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUocmUubWF0Y2gociJbXF1dIiwgJ1snKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZS5tYXRjaChyIlthXC1jXSIsICctJykuZ3JvdXAoKSwgJy0nKQorICAgICAgICBzZWxmLmFzc2VydElzTm9uZShyZS5tYXRjaChyIlthXC1jXSIsICdiJykpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmUubWF0Y2gociJbXF5hXSsiLCAnYV4nKS5ncm91cCgpLCAnYV4nKQorICAgICAgICBzZWxmLmFzc2VydElzTm9uZShyZS5tYXRjaChyIltcXmFdKyIsICdiJykpCisKICAgICBkZWYgdGVzdF9zdHJpbmdfYm91bmRhcmllcyhzZWxmKToKICAgICAgICAgIyBTZWUgaHR0cDovL2J1Z3MucHl0aG9uLm9yZy9pc3N1ZTEwNzEzCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmUuc2VhcmNoKHIiXGIoYWJjKVxiIiwgImFiYyIpLmdyb3VwKDEpLApAQCAtNTc0LDkgKzYyMSw2IEBACiAgICAgICAgICMgR3JvdXAgcmVmZXJlbmNlLgogICAgICAgICBzZWxmLmFzc2VydFRydWUocmUubWF0Y2gocicoYSliKD89XDEpYScsICdhYmEnKSkKICAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUocmUubWF0Y2gocicoYSliKD89XDEpYycsICdhYmFjJykpCi0gICAgICAgICMgTmFtZWQgZ3JvdXAgcmVmZXJlbmNlLgotICAgICAgICBzZWxmLmFzc2VydFRydWUocmUubWF0Y2gocicoP1A8Zz5hKWIoPz0oP1A9ZykpYScsICdhYmEnKSkKLSAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUocmUubWF0Y2gocicoP1A8Zz5hKWIoPz0oP1A9ZykpYycsICdhYmFjJykpCiAgICAgICAgICMgQ29uZGl0aW9uYWwgZ3JvdXAgcmVmZXJlbmNlLgogICAgICAgICBzZWxmLmFzc2VydFRydWUocmUubWF0Y2gocicoPzooYSl8KHgpKWIoPz0oPygyKXh8YykpYycsICdhYmMnKSkKICAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUocmUubWF0Y2gocicoPzooYSl8KHgpKWIoPz0oPygyKWN8eCkpYycsICdhYmMnKSkKQEAgLTU5NCwxMyArNjM4LDI1IEBACiAgICAgICAgIHNlbGYuYXNzZXJ0SXNOb25lKHJlLm1hdGNoKHInYWIoPzwhYiljJywgJ2FiYycpKQogICAgICAgICBzZWxmLmFzc2VydFRydWUocmUubWF0Y2gocidhYig/PCFjKWMnLCAnYWJjJykpCiAgICAgICAgICMgR3JvdXAgcmVmZXJlbmNlLgotICAgICAgICBzZWxmLmFzc2VydFdhcm5zKFJ1bnRpbWVXYXJuaW5nLCByZS5jb21waWxlLCByJyhhKWEoPzw9XDEpYycpCi0gICAgICAgICMgTmFtZWQgZ3JvdXAgcmVmZXJlbmNlLgotICAgICAgICBzZWxmLmFzc2VydFdhcm5zKFJ1bnRpbWVXYXJuaW5nLCByZS5jb21waWxlLCByJyg/UDxnPmEpYSg/PD0oP1A9ZykpYycpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShyZS5tYXRjaChyJyhhKWEoPzw9XDEpYycsICdhYWMnKSkKKyAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUocmUubWF0Y2gocicoYSliKD88PVwxKWEnLCAnYWJhYScpKQorICAgICAgICBzZWxmLmFzc2VydElzTm9uZShyZS5tYXRjaChyJyhhKWEoPzwhXDEpYycsICdhYWMnKSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHJlLm1hdGNoKHInKGEpYig/PCFcMSlhJywgJ2FiYWEnKSkKICAgICAgICAgIyBDb25kaXRpb25hbCBncm91cCByZWZlcmVuY2UuCi0gICAgICAgIHNlbGYuYXNzZXJ0V2FybnMoUnVudGltZVdhcm5pbmcsIHJlLmNvbXBpbGUsIHInKGEpYig/PD0oPygxKWJ8eCkpYycpCisgICAgICAgIHNlbGYuYXNzZXJ0SXNOb25lKHJlLm1hdGNoKHInKD86KGEpfCh4KSliKD88PSg/KDIpeHxjKSljJywgJ2FiYycpKQorICAgICAgICBzZWxmLmFzc2VydElzTm9uZShyZS5tYXRjaChyJyg/OihhKXwoeCkpYig/PD0oPygyKWJ8eCkpYycsICdhYmMnKSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHJlLm1hdGNoKHInKD86KGEpfCh4KSliKD88PSg/KDIpeHxiKSljJywgJ2FiYycpKQorICAgICAgICBzZWxmLmFzc2VydElzTm9uZShyZS5tYXRjaChyJyg/OihhKXwoeCkpYig/PD0oPygxKWN8eCkpYycsICdhYmMnKSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHJlLm1hdGNoKHInKD86KGEpfCh4KSliKD88PSg/KDEpYnx4KSljJywgJ2FiYycpKQogICAgICAgICAjIEdyb3VwIHVzZWQgYmVmb3JlIGRlZmluZWQuCi0gICAgICAgIHNlbGYuYXNzZXJ0V2FybnMoUnVudGltZVdhcm5pbmcsIHJlLmNvbXBpbGUsIHInKGEpYig/PD0oPygyKWJ8eCkpKGMpJykKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMocmUuZXJyb3IsIHJlLmNvbXBpbGUsIHInKGEpYig/PD0oPygyKWJ8eCkpKGMpJykKKyAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUocmUubWF0Y2gocicoYSliKD88PSg/KDEpY3x4KSkoYyknLCAnYWJjJykpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShyZS5tYXRjaChyJyhhKWIoPzw9KD8oMSlifHgpKShjKScsICdhYmMnKSkKKyAgICAgICAgIyBHcm91cCBkZWZpbmVkIGluIHRoZSBzYW1lIGxvb2tiZWhpbmQgcGF0dGVybgorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhyZS5lcnJvciwgcmUuY29tcGlsZSwgcicoYSliKD88PSguKVwyKShjKScpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKHJlLmVycm9yLCByZS5jb21waWxlLCByJyhhKWIoPzw9KD9QPGE+LikoP1A9YSkpKGMpJykKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMocmUuZXJyb3IsIHJlLmNvbXBpbGUsIHInKGEpYig/PD0oYSkoPygyKWJ8eCkpKGMpJykKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMocmUuZXJyb3IsIHJlLmNvbXBpbGUsIHInKGEpYig/PD0oLikoPzw9XDIpKShjKScpCiAKICAgICBkZWYgdGVzdF9pZ25vcmVfY2FzZShzZWxmKToKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZS5tYXRjaCgiYWJjIiwgIkFCQyIsIHJlLkkpLmdyb3VwKDApLCAiQUJDIikKQEAgLTY5Miw5ICs3NDgsMTIgQEAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChfc3JlLmdldGxvd2VyKG9yZCgnQScpLCAwKSwgb3JkKCdhJykpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoX3NyZS5nZXRsb3dlcihvcmQoJ0EnKSwgcmUuTE9DQUxFKSwgb3JkKCdhJykpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoX3NyZS5nZXRsb3dlcihvcmQoJ0EnKSwgcmUuVU5JQ09ERSksIG9yZCgnYScpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKF9zcmUuZ2V0bG93ZXIob3JkKCdBJyksIHJlLkFTQ0lJKSwgb3JkKCdhJykpCiAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZS5tYXRjaCgiYWJjIiwgIkFCQyIsIHJlLkkpLmdyb3VwKDApLCAiQUJDIikKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZS5tYXRjaChiImFiYyIsIGIiQUJDIiwgcmUuSSkuZ3JvdXAoMCksIGIiQUJDIikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZS5tYXRjaCgiYWJjIiwgIkFCQyIsIHJlLkl8cmUuQSkuZ3JvdXAoMCksICJBQkMiKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlLm1hdGNoKGIiYWJjIiwgYiJBQkMiLCByZS5JfHJlLkwpLmdyb3VwKDApLCBiIkFCQyIpCiAKICAgICBkZWYgdGVzdF9ub3RfbGl0ZXJhbChzZWxmKToKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZS5zZWFyY2goIlxzKFteYV0pIiwgIiBiIikuZ3JvdXAoMSksICJiIikKQEAgLTc3OSw4ICs4MzgsMTAgQEAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZS5YLCByZS5WRVJCT1NFKQogCiAgICAgZGVmIHRlc3RfZmxhZ3Moc2VsZik6Ci0gICAgICAgIGZvciBmbGFnIGluIFtyZS5JLCByZS5NLCByZS5YLCByZS5TLCByZS5MXToKKyAgICAgICAgZm9yIGZsYWcgaW4gW3JlLkksIHJlLk0sIHJlLlgsIHJlLlMsIHJlLkEsIHJlLlVdOgogICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHJlLmNvbXBpbGUoJ15wYXR0ZXJuJCcsIGZsYWcpKQorICAgICAgICBmb3IgZmxhZyBpbiBbcmUuSSwgcmUuTSwgcmUuWCwgcmUuUywgcmUuQSwgcmUuTF06CisgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUocmUuY29tcGlsZShiJ15wYXR0ZXJuJCcsIGZsYWcpKQogCiAgICAgZGVmIHRlc3Rfc3JlX2NoYXJhY3Rlcl9saXRlcmFscyhzZWxmKToKICAgICAgICAgZm9yIGkgaW4gWzAsIDgsIDE2LCAzMiwgNjQsIDEyNywgMTI4LCAyNTUsIDI1NiwgMHhGRkZGLCAweDEwMDAwLCAweDEwRkZGRl06CkBAIC04MDIsNyArODYzLDcgQEAKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHJlLm1hdGNoKHIiXDA4IiwgIlwwMDA4IikpCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShyZS5tYXRjaChyIlwwMSIsICJcMDAxIikpCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShyZS5tYXRjaChyIlwwMTgiLCAiXDAwMTgiKSkKLSAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHJlLm1hdGNoKHIiXDU2NyIsIGNocigwbzE2NykpKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhyZS5lcnJvciwgcmUubWF0Y2gsIHIiXDU2NyIsICIiKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhyZS5lcnJvciwgcmUubWF0Y2gsIHIiXDkxMSIsICIiKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhyZS5lcnJvciwgcmUubWF0Y2gsIHIiXHgxIiwgIiIpCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKHJlLmVycm9yLCByZS5tYXRjaCwgciJceDF6IiwgIiIpCkBAIC04MzAsMTIgKzg5MSwxMyBAQAogICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHJlLm1hdGNoKHIiW1xVJTA4eF0iICUgaSwgY2hyKGkpKSkKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShyZS5tYXRjaChyIltcVSUwOHgwXSIgJSBpLCBjaHIoaSkrIjAiKSkKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShyZS5tYXRjaChyIltcVSUwOHh6XSIgJSBpLCBjaHIoaSkrInoiKSkKLSAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHJlLm1hdGNoKHIiW1xVMDAwMWQ0OWMtXFUwMDAxZDRiNV0iLCAiXFUwMDAxZDQ5ZSIpKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhyZS5lcnJvciwgcmUubWF0Y2gsIHIiW1w1NjddIiwgIiIpCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKHJlLmVycm9yLCByZS5tYXRjaCwgciJbXDkxMV0iLCAiIikKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMocmUuZXJyb3IsIHJlLm1hdGNoLCByIltceDF6XSIsICIiKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhyZS5lcnJvciwgcmUubWF0Y2gsIHIiW1x1MTIzel0iLCAiIikKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMocmUuZXJyb3IsIHJlLm1hdGNoLCByIltcVTAwMDEyMzR6XSIsICIiKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhyZS5lcnJvciwgcmUubWF0Y2gsIHIiW1xVMDAxMTAwMDBdIiwgIiIpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShyZS5tYXRjaChyIltcVTAwMDFkNDljLVxVMDAwMWQ0YjVdIiwgIlxVMDAwMWQ0OWUiKSkKIAogICAgIGRlZiB0ZXN0X3NyZV9ieXRlX2xpdGVyYWxzKHNlbGYpOgogICAgICAgICBmb3IgaSBpbiBbMCwgOCwgMTYsIDMyLCA2NCwgMTI3LCAxMjgsIDI1NV06CkBAIC04NTEsNyArOTEzLDcgQEAKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHJlLm1hdGNoKGJyIlwwOCIsIGIiXDAwMDgiKSkKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHJlLm1hdGNoKGJyIlwwMSIsIGIiXDAwMSIpKQogICAgICAgICBzZWxmLmFzc2VydFRydWUocmUubWF0Y2goYnIiXDAxOCIsIGIiXDAwMTgiKSkKLSAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHJlLm1hdGNoKGJyIlw1NjciLCBieXRlcyhbMG8xNjddKSkpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKHJlLmVycm9yLCByZS5tYXRjaCwgYnIiXDU2NyIsIGIiIikKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMocmUuZXJyb3IsIHJlLm1hdGNoLCBiciJcOTExIiwgYiIiKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhyZS5lcnJvciwgcmUubWF0Y2gsIGJyIlx4MSIsIGIiIikKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMocmUuZXJyb3IsIHJlLm1hdGNoLCBiciJceDF6IiwgYiIiKQpAQCAtODY4LDYgKzkzMCw3IEBACiAgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUocmUubWF0Y2goKHIiW1x4JTAyeHpdIiAlIGkpLmVuY29kZSgpLCBieXRlcyhbaV0pKSkKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHJlLm1hdGNoKGJyIltcdV0iLCBiJ3UnKSkKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHJlLm1hdGNoKGJyIltcVV0iLCBiJ1UnKSkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMocmUuZXJyb3IsIHJlLm1hdGNoLCBiciJbXDU2N10iLCBiIiIpCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKHJlLmVycm9yLCByZS5tYXRjaCwgYnIiW1w5MTFdIiwgYiIiKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhyZS5lcnJvciwgcmUubWF0Y2gsIGJyIltceDF6XSIsIGIiIikKIApAQCAtMTA2Miw4ICsxMTI1LDggQEAKIAogICAgIGRlZiB0ZXN0X2lubGluZV9mbGFncyhzZWxmKToKICAgICAgICAgIyBCdWcgIzE3MDAKLSAgICAgICAgdXBwZXJfY2hhciA9IGNocigweDFlYTApICMgTGF0aW4gQ2FwaXRhbCBMZXR0ZXIgQSB3aXRoIERvdCBCZWxsb3cKLSAgICAgICAgbG93ZXJfY2hhciA9IGNocigweDFlYTEpICMgTGF0aW4gU21hbGwgTGV0dGVyIEEgd2l0aCBEb3QgQmVsbG93CisgICAgICAgIHVwcGVyX2NoYXIgPSAnXHUxZWEwJyAjIExhdGluIENhcGl0YWwgTGV0dGVyIEEgd2l0aCBEb3QgQmVsb3cKKyAgICAgICAgbG93ZXJfY2hhciA9ICdcdTFlYTEnICMgTGF0aW4gU21hbGwgTGV0dGVyIEEgd2l0aCBEb3QgQmVsb3cKIAogICAgICAgICBwID0gcmUuY29tcGlsZSh1cHBlcl9jaGFyLCByZS5JIHwgcmUuVSkKICAgICAgICAgcSA9IHAubWF0Y2gobG93ZXJfY2hhcikKQEAgLTExNDMsNiArMTIwNiw1MiBAQAogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCByZS5jb21waWxlLCAnKD9hKVx3JywgcmUuVU5JQ09ERSkKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgcmUuY29tcGlsZSwgJyg/YXUpXHcnKQogCisgICAgZGVmIHRlc3RfbG9jYWxlX2ZsYWcoc2VsZik6CisgICAgICAgIGltcG9ydCBsb2NhbGUKKyAgICAgICAgXywgZW5jID0gbG9jYWxlLmdldGxvY2FsZShsb2NhbGUuTENfQ1RZUEUpCisgICAgICAgICMgU2VhcmNoIG5vbi1BU0NJSSBsZXR0ZXIKKyAgICAgICAgZm9yIGkgaW4gcmFuZ2UoMTI4LCAyNTYpOgorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIGMgPSBieXRlcyhbaV0pLmRlY29kZShlbmMpCisgICAgICAgICAgICAgICAgc2xldHRlciA9IGMubG93ZXIoKQorICAgICAgICAgICAgICAgIGlmIHNsZXR0ZXIgPT0gYzogY29udGludWUKKyAgICAgICAgICAgICAgICBibGV0dGVyID0gc2xldHRlci5lbmNvZGUoZW5jKQorICAgICAgICAgICAgICAgIGlmIGxlbihibGV0dGVyKSAhPSAxOiBjb250aW51ZQorICAgICAgICAgICAgICAgIGlmIGJsZXR0ZXIuZGVjb2RlKGVuYykgIT0gc2xldHRlcjogY29udGludWUKKyAgICAgICAgICAgICAgICBicGF0ID0gcmUuZXNjYXBlKGJ5dGVzKFtpXSkpCisgICAgICAgICAgICAgICAgYnJlYWsKKyAgICAgICAgICAgIGV4Y2VwdCAoVW5pY29kZUVycm9yLCBUeXBlRXJyb3IpOgorICAgICAgICAgICAgICAgIHBhc3MKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGJsZXR0ZXIgPSBOb25lCisgICAgICAgICAgICBicGF0ID0gYidBJworICAgICAgICAjIEJ5dGVzIHBhdHRlcm5zCisgICAgICAgIHBhdCA9IHJlLmNvbXBpbGUoYnBhdCwgcmUuTE9DQUxFIHwgcmUuSUdOT1JFQ0FTRSkKKyAgICAgICAgaWYgYmxldHRlcjoKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShwYXQubWF0Y2goYmxldHRlcikpCisgICAgICAgIHBhdCA9IHJlLmNvbXBpbGUoYicoP0wpJyArIGJwYXQsIHJlLklHTk9SRUNBU0UpCisgICAgICAgIGlmIGJsZXR0ZXI6CisgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUocGF0Lm1hdGNoKGJsZXR0ZXIpKQorICAgICAgICBwYXQgPSByZS5jb21waWxlKGJwYXQsIHJlLklHTk9SRUNBU0UpCisgICAgICAgIGlmIGJsZXR0ZXI6CisgICAgICAgICAgICBzZWxmLmFzc2VydElzTm9uZShwYXQubWF0Y2goYmxldHRlcikpCisgICAgICAgIHBhdCA9IHJlLmNvbXBpbGUoYidcdycsIHJlLkxPQ0FMRSkKKyAgICAgICAgaWYgYmxldHRlcjoKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShwYXQubWF0Y2goYmxldHRlcikpCisgICAgICAgIHBhdCA9IHJlLmNvbXBpbGUoYicoP0wpXHcnKQorICAgICAgICBpZiBibGV0dGVyOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHBhdC5tYXRjaChibGV0dGVyKSkKKyAgICAgICAgcGF0ID0gcmUuY29tcGlsZShiJ1x3JykKKyAgICAgICAgaWYgYmxldHRlcjoKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXNOb25lKHBhdC5tYXRjaChibGV0dGVyKSkKKyAgICAgICAgIyBJbmNvbXBhdGliaWxpdGllcworICAgICAgICBzZWxmLmFzc2VydFdhcm5zKERlcHJlY2F0aW9uV2FybmluZywgcmUuY29tcGlsZSwgJycsIHJlLkxPQ0FMRSkKKyAgICAgICAgc2VsZi5hc3NlcnRXYXJucyhEZXByZWNhdGlvbldhcm5pbmcsIHJlLmNvbXBpbGUsICcoP0wpJykKKyAgICAgICAgc2VsZi5hc3NlcnRXYXJucyhEZXByZWNhdGlvbldhcm5pbmcsIHJlLmNvbXBpbGUsIGInJywgcmUuTE9DQUxFIHwgcmUuQVNDSUkpCisgICAgICAgIHNlbGYuYXNzZXJ0V2FybnMoRGVwcmVjYXRpb25XYXJuaW5nLCByZS5jb21waWxlLCBiJyg/TCknLCByZS5BU0NJSSkKKyAgICAgICAgc2VsZi5hc3NlcnRXYXJucyhEZXByZWNhdGlvbldhcm5pbmcsIHJlLmNvbXBpbGUsIGInKD9hKScsIHJlLkxPQ0FMRSkKKyAgICAgICAgc2VsZi5hc3NlcnRXYXJucyhEZXByZWNhdGlvbldhcm5pbmcsIHJlLmNvbXBpbGUsIGInKD9hTCknKQorCiAgICAgZGVmIHRlc3RfYnVnXzY1MDkoc2VsZik6CiAgICAgICAgICMgUmVwbGFjZW1lbnQgc3RyaW5ncyBvZiBib3RoIHR5cGVzIG11c3QgcGFyc2UgcHJvcGVybHkuCiAgICAgICAgICMgYWxsIHN0cmluZ3MKQEAgLTExNzAsOCArMTI3OSwxMCBAQAogICAgICAgICAjIGEgUnVudGltZUVycm9yIGlzIHJhaXNlZCBpbnN0ZWFkIG9mIE92ZXJmbG93RXJyb3IuCiAgICAgICAgIGxvbmdfb3ZlcmZsb3cgPSAyKioxMjgKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCByZS5maW5kaXRlciwgImEiLCB7fSkKLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoT3ZlcmZsb3dFcnJvciwgX3NyZS5jb21waWxlLCAiYWJjIiwgMCwgW2xvbmdfb3ZlcmZsb3ddKQotICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIF9zcmUuY29tcGlsZSwge30sIDAsIFtdKQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKE92ZXJmbG93RXJyb3IpOgorICAgICAgICAgICAgX3NyZS5jb21waWxlKCJhYmMiLCAwLCBbbG9uZ19vdmVyZmxvd10sIDAsIFtdLCBbXSkKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IpOgorICAgICAgICAgICAgX3NyZS5jb21waWxlKHt9LCAwLCBbXSwgMCwgW10sIFtdKQogCiAgICAgZGVmIHRlc3Rfc2VhcmNoX2RvdF91bmljb2RlKHNlbGYpOgogICAgICAgICBzZWxmLmFzc2VydFRydWUocmUuc2VhcmNoKCIxMjMuKi0iLCAnMTIzYWJjLScpKQpAQCAtMTMwOSwyMiArMTQyMCwyMiBAQAogICAgICAgICB3aXRoIGNhcHR1cmVkX3N0ZG91dCgpIGFzIG91dDoKICAgICAgICAgICAgIHJlLmNvbXBpbGUocGF0LCByZS5ERUJVRykKICAgICAgICAgZHVtcCA9ICcnJ1wKLXN1YnBhdHRlcm4gMQotICBsaXRlcmFsIDQ2Ci1zdWJwYXR0ZXJuIE5vbmUKLSAgYnJhbmNoCi0gICAgaW4KLSAgICAgIGxpdGVyYWwgOTkKLSAgICAgIGxpdGVyYWwgMTA0Ci0gIG9yCi0gICAgbGl0ZXJhbCAxMTIKLSAgICBsaXRlcmFsIDEyMQotc3VicGF0dGVybiBOb25lCi0gIGdyb3VwcmVmX2V4aXN0cyAxCi0gICAgYXQgYXRfZW5kCi0gIGVsc2UKLSAgICBsaXRlcmFsIDU4Ci0gICAgbGl0ZXJhbCAzMgorU1VCUEFUVEVSTiAxCisgIExJVEVSQUwgNDYKK1NVQlBBVFRFUk4gTm9uZQorICBCUkFOQ0gKKyAgICBJTgorICAgICAgTElURVJBTCA5OQorICAgICAgTElURVJBTCAxMDQKKyAgT1IKKyAgICBMSVRFUkFMIDExMgorICAgIExJVEVSQUwgMTIxCitTVUJQQVRURVJOIE5vbmUKKyAgR1JPVVBSRUZfRVhJU1RTIDEKKyAgICBBVCBBVF9FTkQKKyAgRUxTRQorICAgIExJVEVSQUwgNTgKKyAgICBMSVRFUkFMIDMyCiAnJycKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChvdXQuZ2V0dmFsdWUoKSwgZHVtcCkKICAgICAgICAgIyBEZWJ1ZyBvdXRwdXQgaXMgb3V0cHV0IGFnYWluIGV2ZW4gYSBzZWNvbmQgdGltZSAoYnlwYXNzaW5nCkBAIC0xMzkyLDYgKzE1MDMsNDIgQEAKICAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUocmUubWF0Y2goYicoP0xpKVx4YzUnLCBiJ1x4ZTUnKSkKICAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUocmUubWF0Y2goYicoP0xpKVx4ZTUnLCBiJ1x4YzUnKSkKIAorICAgIGRlZiB0ZXN0X2Vycm9yKHNlbGYpOgorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKHJlLmVycm9yKSBhcyBjbToKKyAgICAgICAgICAgIHJlLmNvbXBpbGUoJyhcdTIwYWMpKScpCisgICAgICAgIGVyciA9IGNtLmV4Y2VwdGlvbgorICAgICAgICBzZWxmLmFzc2VydElzSW5zdGFuY2UoZXJyLnBhdHRlcm4sIHN0cikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChlcnIucGF0dGVybiwgJyhcdTIwYWMpKScpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXJyLnBvcywgMykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChlcnIubGluZW5vLCAxKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGVyci5jb2xubywgNCkKKyAgICAgICAgc2VsZi5hc3NlcnRJbihlcnIubXNnLCBzdHIoZXJyKSkKKyAgICAgICAgc2VsZi5hc3NlcnRJbignIGF0IHBvc2l0aW9uIDMnLCBzdHIoZXJyKSkKKyAgICAgICAgc2VsZi5hc3NlcnROb3RJbignIGF0IHBvc2l0aW9uIDMnLCBlcnIubXNnKQorICAgICAgICAjIEJ5dGVzIHBhdHRlcm4KKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhyZS5lcnJvcikgYXMgY206CisgICAgICAgICAgICByZS5jb21waWxlKGInKFx4YTQpKScpCisgICAgICAgIGVyciA9IGNtLmV4Y2VwdGlvbgorICAgICAgICBzZWxmLmFzc2VydElzSW5zdGFuY2UoZXJyLnBhdHRlcm4sIGJ5dGVzKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGVyci5wYXR0ZXJuLCBiJyhceGE0KSknKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGVyci5wb3MsIDMpCisgICAgICAgICMgTXVsdGlsaW5lIHBhdHRlcm4KKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhyZS5lcnJvcikgYXMgY206CisgICAgICAgICAgICByZS5jb21waWxlKCIiIgorICAgICAgICAgICAgICAgICgKKyAgICAgICAgICAgICAgICAgICAgYWJjCisgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgICAgICAoCisgICAgICAgICAgICAgICAgIiIiLCByZS5WRVJCT1NFKQorICAgICAgICBlcnIgPSBjbS5leGNlcHRpb24KKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChlcnIucG9zLCA3NykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChlcnIubGluZW5vLCA1KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGVyci5jb2xubywgMTcpCisgICAgICAgIHNlbGYuYXNzZXJ0SW4oZXJyLm1zZywgc3RyKGVycikpCisgICAgICAgIHNlbGYuYXNzZXJ0SW4oJyBhdCBwb3NpdGlvbiA3NycsIHN0cihlcnIpKQorICAgICAgICBzZWxmLmFzc2VydEluKCcobGluZSA1LCBjb2x1bW4gMTcpJywgc3RyKGVycikpCisKIAogY2xhc3MgUGF0dGVyblJlcHJUZXN0cyh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgZGVmIGNoZWNrKHNlbGYsIHBhdHRlcm4sIGV4cGVjdGVkKToKQEAgLTE0MzYsNiArMTU4MywxMCBAQAogICAgICAgICBzZWxmLmNoZWNrX2ZsYWdzKGInYnl0ZXMgcGF0dGVybicsIHJlLkEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgInJlLmNvbXBpbGUoYidieXRlcyBwYXR0ZXJuJywgcmUuQVNDSUkpIikKIAorICAgIGRlZiB0ZXN0X2xvY2FsZShzZWxmKToKKyAgICAgICAgc2VsZi5jaGVja19mbGFncyhiJ2J5dGVzIHBhdHRlcm4nLCByZS5MLAorICAgICAgICAgICAgICAgICAgICAgICAgICJyZS5jb21waWxlKGInYnl0ZXMgcGF0dGVybicsIHJlLkxPQ0FMRSkiKQorCiAgICAgZGVmIHRlc3RfcXVvdGVzKHNlbGYpOgogICAgICAgICBzZWxmLmNoZWNrKCdyYW5kb20gImRvdWJsZSBxdW90ZWQiIHBhdHRlcm4nLAogICAgICAgICAgICAgJycncmUuY29tcGlsZSgncmFuZG9tICJkb3VibGUgcXVvdGVkIiBwYXR0ZXJuJyknJycpCkBAIC0xNTQ5LDggKzE3MDAsMTYgQEAKICAgICAgICAgICAgICAgICAgICAgcGFzcwogICAgICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgICAgIHdpdGggc2VsZi5zdWJUZXN0KCdieXRlcyBwYXR0ZXJuIG1hdGNoJyk6Ci0gICAgICAgICAgICAgICAgICAgICAgICBicGF0ID0gcmUuY29tcGlsZShicGF0KQotICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGJwYXQuc2VhcmNoKGJzKSkKKyAgICAgICAgICAgICAgICAgICAgICAgIG9iaiA9IHJlLmNvbXBpbGUoYnBhdCkKKyAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShvYmouc2VhcmNoKGJzKSkKKworICAgICAgICAgICAgICAgICAgICAjIFRyeSB0aGUgbWF0Y2ggd2l0aCBMT0NBTEUgZW5hYmxlZCwgYW5kIGNoZWNrIHRoYXQgaXQKKyAgICAgICAgICAgICAgICAgICAgIyBzdGlsbCBzdWNjZWVkcy4KKyAgICAgICAgICAgICAgICAgICAgd2l0aCBzZWxmLnN1YlRlc3QoJ2xvY2FsZS1zZW5zaXRpdmUgbWF0Y2gnKToKKyAgICAgICAgICAgICAgICAgICAgICAgIG9iaiA9IHJlLmNvbXBpbGUoYnBhdCwgcmUuTE9DQUxFKQorICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0ID0gb2JqLnNlYXJjaChicykKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIHJlc3VsdCBpcyBOb25lOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByaW50KCc9PT0gRmFpbHMgb24gbG9jYWxlLXNlbnNpdGl2ZSBtYXRjaCcsIHQpCiAKICAgICAgICAgICAgICAgICAjIFRyeSB0aGUgbWF0Y2ggd2l0aCB0aGUgc2VhcmNoIGFyZWEgbGltaXRlZCB0byB0aGUgZXh0ZW50CiAgICAgICAgICAgICAgICAgIyBvZiB0aGUgbWF0Y2ggYW5kIHNlZSBpZiBpdCBzdGlsbCBzdWNjZWVkcy4gIFxCIHdpbGwKQEAgLTE1NjgsMTMgKzE3MjcsNiBAQAogICAgICAgICAgICAgICAgICAgICBvYmogPSByZS5jb21waWxlKHBhdHRlcm4sIHJlLklHTk9SRUNBU0UpCiAgICAgICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShvYmouc2VhcmNoKHMpKQogCi0gICAgICAgICAgICAgICAgIyBUcnkgdGhlIG1hdGNoIHdpdGggTE9DQUxFIGVuYWJsZWQsIGFuZCBjaGVjayB0aGF0IGl0Ci0gICAgICAgICAgICAgICAgIyBzdGlsbCBzdWNjZWVkcy4KLSAgICAgICAgICAgICAgICBpZiAnKD91KScgbm90IGluIHBhdHRlcm46Ci0gICAgICAgICAgICAgICAgICAgIHdpdGggc2VsZi5zdWJUZXN0KCdsb2NhbGUtc2Vuc2l0aXZlIG1hdGNoJyk6Ci0gICAgICAgICAgICAgICAgICAgICAgICBvYmogPSByZS5jb21waWxlKHBhdHRlcm4sIHJlLkxPQ0FMRSkKLSAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShvYmouc2VhcmNoKHMpKQotCiAgICAgICAgICAgICAgICAgIyBUcnkgdGhlIG1hdGNoIHdpdGggVU5JQ09ERSBsb2NhbGUgZW5hYmxlZCwgYW5kIGNoZWNrCiAgICAgICAgICAgICAgICAgIyB0aGF0IGl0IHN0aWxsIHN1Y2NlZWRzLgogICAgICAgICAgICAgICAgIHdpdGggc2VsZi5zdWJUZXN0KCd1bmljb2RlLXNlbnNpdGl2ZSBtYXRjaCcpOgpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9yZWFkbGluZS5weSBiL0xpYi90ZXN0L3Rlc3RfcmVhZGxpbmUucHkKaW5kZXggMGIyYjBhNS4uMjNkNjE5NCAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9yZWFkbGluZS5weQorKysgYi9MaWIvdGVzdC90ZXN0X3JlYWRsaW5lLnB5CkBAIC0yLDggKzIsOSBAQAogVmVyeSBtaW5pbWFsIHVuaXR0ZXN0cyBmb3IgcGFydHMgb2YgdGhlIHJlYWRsaW5lIG1vZHVsZS4KICIiIgogaW1wb3J0IG9zCitpbXBvcnQgdGVtcGZpbGUKIGltcG9ydCB1bml0dGVzdAotZnJvbSB0ZXN0LnN1cHBvcnQgaW1wb3J0IHJ1bl91bml0dGVzdCwgaW1wb3J0X21vZHVsZQorZnJvbSB0ZXN0LnN1cHBvcnQgaW1wb3J0IHJ1bl91bml0dGVzdCwgaW1wb3J0X21vZHVsZSwgdW5saW5rCiBmcm9tIHRlc3Quc2NyaXB0X2hlbHBlciBpbXBvcnQgYXNzZXJ0X3B5dGhvbl9vawogCiAjIFNraXAgdGVzdHMgaWYgdGhlcmUgaXMgbm8gcmVhZGxpbmUgbW9kdWxlCkBAIC00Miw2ICs0Myw0NSBAQAogCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVhZGxpbmUuZ2V0X2N1cnJlbnRfaGlzdG9yeV9sZW5ndGgoKSwgMSkKIAorICAgIEB1bml0dGVzdC5za2lwVW5sZXNzKGhhc2F0dHIocmVhZGxpbmUsICJhcHBlbmRfaGlzdG9yeV9maWxlIiksCisgICAgICAgICAgICAgICAgICAgICAgICAgImFwcGVuZF9oaXN0b3J5IG5vdCBhdmFpbGFibGUiKQorICAgIGRlZiB0ZXN0X3dyaXRlX3JlYWRfYXBwZW5kKHNlbGYpOgorICAgICAgICBoZmlsZSA9IHRlbXBmaWxlLk5hbWVkVGVtcG9yYXJ5RmlsZShkZWxldGU9RmFsc2UpCisgICAgICAgIGhmaWxlLmNsb3NlKCkKKyAgICAgICAgaGZpbGVuYW1lID0gaGZpbGUubmFtZQorICAgICAgICBzZWxmLmFkZENsZWFudXAodW5saW5rLCBoZmlsZW5hbWUpCisKKyAgICAgICAgIyB0ZXN0IHdyaXRlLWNsZWFyLXJlYWQgPT0gbm9wCisgICAgICAgIHJlYWRsaW5lLmNsZWFyX2hpc3RvcnkoKQorICAgICAgICByZWFkbGluZS5hZGRfaGlzdG9yeSgiZmlyc3QgbGluZSIpCisgICAgICAgIHJlYWRsaW5lLmFkZF9oaXN0b3J5KCJzZWNvbmQgbGluZSIpCisgICAgICAgIHJlYWRsaW5lLndyaXRlX2hpc3RvcnlfZmlsZShoZmlsZW5hbWUpCisKKyAgICAgICAgcmVhZGxpbmUuY2xlYXJfaGlzdG9yeSgpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVhZGxpbmUuZ2V0X2N1cnJlbnRfaGlzdG9yeV9sZW5ndGgoKSwgMCkKKworICAgICAgICByZWFkbGluZS5yZWFkX2hpc3RvcnlfZmlsZShoZmlsZW5hbWUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVhZGxpbmUuZ2V0X2N1cnJlbnRfaGlzdG9yeV9sZW5ndGgoKSwgMikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZWFkbGluZS5nZXRfaGlzdG9yeV9pdGVtKDEpLCAiZmlyc3QgbGluZSIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVhZGxpbmUuZ2V0X2hpc3RvcnlfaXRlbSgyKSwgInNlY29uZCBsaW5lIikKKworICAgICAgICAjIHRlc3QgYXBwZW5kCisgICAgICAgIHJlYWRsaW5lLmFwcGVuZF9oaXN0b3J5X2ZpbGUoMSwgaGZpbGVuYW1lKQorICAgICAgICByZWFkbGluZS5jbGVhcl9oaXN0b3J5KCkKKyAgICAgICAgcmVhZGxpbmUucmVhZF9oaXN0b3J5X2ZpbGUoaGZpbGVuYW1lKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlYWRsaW5lLmdldF9jdXJyZW50X2hpc3RvcnlfbGVuZ3RoKCksIDMpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVhZGxpbmUuZ2V0X2hpc3RvcnlfaXRlbSgxKSwgImZpcnN0IGxpbmUiKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlYWRsaW5lLmdldF9oaXN0b3J5X2l0ZW0oMiksICJzZWNvbmQgbGluZSIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVhZGxpbmUuZ2V0X2hpc3RvcnlfaXRlbSgzKSwgInNlY29uZCBsaW5lIikKKworICAgICAgICAjIHRlc3QgJ25vIHN1Y2ggZmlsZScgYmVoYXZpb3VyCisgICAgICAgIG9zLnVubGluayhoZmlsZW5hbWUpCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoRmlsZU5vdEZvdW5kRXJyb3IpOgorICAgICAgICAgICAgcmVhZGxpbmUuYXBwZW5kX2hpc3RvcnlfZmlsZSgxLCBoZmlsZW5hbWUpCisKKyAgICAgICAgIyB3cml0ZV9oaXN0b3J5X2ZpbGUgY2FuIGNyZWF0ZSB0aGUgdGFyZ2V0CisgICAgICAgIHJlYWRsaW5lLndyaXRlX2hpc3RvcnlfZmlsZShoZmlsZW5hbWUpCisKIAogY2xhc3MgVGVzdFJlYWRsaW5lKHVuaXR0ZXN0LlRlc3RDYXNlKToKIApkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9yZXBybGliLnB5IGIvTGliL3Rlc3QvdGVzdF9yZXBybGliLnB5CmluZGV4IGFlNjdmMDYuLmE1MWM0ZDcgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfcmVwcmxpYi5weQorKysgYi9MaWIvdGVzdC90ZXN0X3JlcHJsaWIucHkKQEAgLTEwLDcgKzEwLDcgQEAKIGltcG9ydCBpbXBvcnRsaWIudXRpbAogaW1wb3J0IHVuaXR0ZXN0CiAKLWZyb20gdGVzdC5zdXBwb3J0IGltcG9ydCBydW5fdW5pdHRlc3QsIGNyZWF0ZV9lbXB0eV9maWxlLCB2ZXJib3NlCitmcm9tIHRlc3Quc3VwcG9ydCBpbXBvcnQgY3JlYXRlX2VtcHR5X2ZpbGUsIHZlcmJvc2UKIGZyb20gcmVwcmxpYiBpbXBvcnQgcmVwciBhcyByICMgRG9uJ3Qgc2hhZG93IGJ1aWx0aW4gcmVwcgogZnJvbSByZXBybGliIGltcG9ydCBSZXByCiBmcm9tIHJlcHJsaWIgaW1wb3J0IHJlY3Vyc2l2ZV9yZXByCkBAIC03MCwxOCArNzAsMTggQEAKICAgICAgICAgZXEocihbMSwgMiwgMywgNCwgNSwgNiwgN10pLCAiWzEsIDIsIDMsIDQsIDUsIDYsIC4uLl0iKQogCiAgICAgICAgICMgU2V0cyBnaXZlIHVwIGFmdGVyIDYgYXMgd2VsbAotICAgICAgICBlcShyKHNldChbXSkpLCAic2V0KFtdKSIpCi0gICAgICAgIGVxKHIoc2V0KFsxXSkpLCAic2V0KFsxXSkiKQotICAgICAgICBlcShyKHNldChbMSwgMiwgM10pKSwgInNldChbMSwgMiwgM10pIikKLSAgICAgICAgZXEocihzZXQoWzEsIDIsIDMsIDQsIDUsIDZdKSksICJzZXQoWzEsIDIsIDMsIDQsIDUsIDZdKSIpCi0gICAgICAgIGVxKHIoc2V0KFsxLCAyLCAzLCA0LCA1LCA2LCA3XSkpLCAic2V0KFsxLCAyLCAzLCA0LCA1LCA2LCAuLi5dKSIpCisgICAgICAgIGVxKHIoc2V0KFtdKSksICJzZXQoKSIpCisgICAgICAgIGVxKHIoc2V0KFsxXSkpLCAiezF9IikKKyAgICAgICAgZXEocihzZXQoWzEsIDIsIDNdKSksICJ7MSwgMiwgM30iKQorICAgICAgICBlcShyKHNldChbMSwgMiwgMywgNCwgNSwgNl0pKSwgInsxLCAyLCAzLCA0LCA1LCA2fSIpCisgICAgICAgIGVxKHIoc2V0KFsxLCAyLCAzLCA0LCA1LCA2LCA3XSkpLCAiezEsIDIsIDMsIDQsIDUsIDYsIC4uLn0iKQogCiAgICAgICAgICMgRnJvemVuc2V0cyBnaXZlIHVwIGFmdGVyIDYgYXMgd2VsbAotICAgICAgICBlcShyKGZyb3plbnNldChbXSkpLCAiZnJvemVuc2V0KFtdKSIpCi0gICAgICAgIGVxKHIoZnJvemVuc2V0KFsxXSkpLCAiZnJvemVuc2V0KFsxXSkiKQotICAgICAgICBlcShyKGZyb3plbnNldChbMSwgMiwgM10pKSwgImZyb3plbnNldChbMSwgMiwgM10pIikKLSAgICAgICAgZXEocihmcm96ZW5zZXQoWzEsIDIsIDMsIDQsIDUsIDZdKSksICJmcm96ZW5zZXQoWzEsIDIsIDMsIDQsIDUsIDZdKSIpCi0gICAgICAgIGVxKHIoZnJvemVuc2V0KFsxLCAyLCAzLCA0LCA1LCA2LCA3XSkpLCAiZnJvemVuc2V0KFsxLCAyLCAzLCA0LCA1LCA2LCAuLi5dKSIpCisgICAgICAgIGVxKHIoZnJvemVuc2V0KFtdKSksICJmcm96ZW5zZXQoKSIpCisgICAgICAgIGVxKHIoZnJvemVuc2V0KFsxXSkpLCAiZnJvemVuc2V0KHsxfSkiKQorICAgICAgICBlcShyKGZyb3plbnNldChbMSwgMiwgM10pKSwgImZyb3plbnNldCh7MSwgMiwgM30pIikKKyAgICAgICAgZXEocihmcm96ZW5zZXQoWzEsIDIsIDMsIDQsIDUsIDZdKSksICJmcm96ZW5zZXQoezEsIDIsIDMsIDQsIDUsIDZ9KSIpCisgICAgICAgIGVxKHIoZnJvemVuc2V0KFsxLCAyLCAzLCA0LCA1LCA2LCA3XSkpLCAiZnJvemVuc2V0KHsxLCAyLCAzLCA0LCA1LCA2LCAuLi59KSIpCiAKICAgICAgICAgIyBjb2xsZWN0aW9ucy5kZXF1ZSBhZnRlciA2CiAgICAgICAgIGVxKHIoZGVxdWUoWzEsIDIsIDMsIDQsIDUsIDYsIDddKSksICJkZXF1ZShbMSwgMiwgMywgNCwgNSwgNiwgLi4uXSkiKQpAQCAtOTQsNyArOTQsNyBAQAogICAgICAgICBlcShyKGQpLCAieydhbGljZSc6IDEsICdhcnRodXInOiAxLCAnYm9iJzogMiwgJ2NoYXJsZXMnOiAzLCAuLi59IikKIAogICAgICAgICAjIGFycmF5LmFycmF5IGFmdGVyIDUuCi0gICAgICAgIGVxKHIoYXJyYXkoJ2knKSksICJhcnJheSgnaScsIFtdKSIpCisgICAgICAgIGVxKHIoYXJyYXkoJ2knKSksICJhcnJheSgnaScpIikKICAgICAgICAgZXEocihhcnJheSgnaScsIFsxXSkpLCAiYXJyYXkoJ2knLCBbMV0pIikKICAgICAgICAgZXEocihhcnJheSgnaScsIFsxLCAyXSkpLCAiYXJyYXkoJ2knLCBbMSwgMl0pIikKICAgICAgICAgZXEocihhcnJheSgnaScsIFsxLCAyLCAzXSkpLCAiYXJyYXkoJ2knLCBbMSwgMiwgM10pIikKQEAgLTEwMyw2ICsxMDMsMjAgQEAKICAgICAgICAgZXEocihhcnJheSgnaScsIFsxLCAyLCAzLCA0LCA1LCA2XSkpLAogICAgICAgICAgICAgICAgICAgICJhcnJheSgnaScsIFsxLCAyLCAzLCA0LCA1LCAuLi5dKSIpCiAKKyAgICBkZWYgdGVzdF9zZXRfbGl0ZXJhbChzZWxmKToKKyAgICAgICAgZXEgPSBzZWxmLmFzc2VydEVxdWFsCisgICAgICAgIGVxKHIoezF9KSwgInsxfSIpCisgICAgICAgIGVxKHIoezEsIDIsIDN9KSwgInsxLCAyLCAzfSIpCisgICAgICAgIGVxKHIoezEsIDIsIDMsIDQsIDUsIDZ9KSwgInsxLCAyLCAzLCA0LCA1LCA2fSIpCisgICAgICAgIGVxKHIoezEsIDIsIDMsIDQsIDUsIDYsIDd9KSwgInsxLCAyLCAzLCA0LCA1LCA2LCAuLi59IikKKworICAgIGRlZiB0ZXN0X2Zyb3plbnNldChzZWxmKToKKyAgICAgICAgZXEgPSBzZWxmLmFzc2VydEVxdWFsCisgICAgICAgIGVxKHIoZnJvemVuc2V0KHsxfSkpLCAiZnJvemVuc2V0KHsxfSkiKQorICAgICAgICBlcShyKGZyb3plbnNldCh7MSwgMiwgM30pKSwgImZyb3plbnNldCh7MSwgMiwgM30pIikKKyAgICAgICAgZXEocihmcm96ZW5zZXQoezEsIDIsIDMsIDQsIDUsIDZ9KSksICJmcm96ZW5zZXQoezEsIDIsIDMsIDQsIDUsIDZ9KSIpCisgICAgICAgIGVxKHIoZnJvemVuc2V0KHsxLCAyLCAzLCA0LCA1LCA2LCA3fSkpLCAiZnJvemVuc2V0KHsxLCAyLCAzLCA0LCA1LCA2LCAuLi59KSIpCisKICAgICBkZWYgdGVzdF9udW1iZXJzKHNlbGYpOgogICAgICAgICBlcSA9IHNlbGYuYXNzZXJ0RXF1YWwKICAgICAgICAgZXEocigxMjMpLCByZXByKDEyMykpCkBAIC0xMjMsNyArMTM3LDcgQEAKICAgICAgICAgZXEocihpMiksIGV4cGVjdGVkKQogCiAgICAgICAgIGkzID0gQ2xhc3NXaXRoRmFpbGluZ1JlcHIoKQotICAgICAgICBlcShyKGkzKSwgKCI8Q2xhc3NXaXRoRmFpbGluZ1JlcHIgaW5zdGFuY2UgYXQgJXg+IiVpZChpMykpKQorICAgICAgICBlcShyKGkzKSwgKCI8Q2xhc3NXaXRoRmFpbGluZ1JlcHIgaW5zdGFuY2UgYXQgJSN4PiIlaWQoaTMpKSkKIAogICAgICAgICBzID0gcihDbGFzc1dpdGhGYWlsaW5nUmVwcikKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHMuc3RhcnRzd2l0aCgiPGNsYXNzICIpKQpAQCAtMzczLDExICszODcsNSBAQAogICAgICAgICBtLmFwcGVuZChtKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlcHIobSksICc8YSwgYiwgYywgZCwgZSwgKysrLCB4LCArKys+JykKIAotZGVmIHRlc3RfbWFpbigpOgotICAgIHJ1bl91bml0dGVzdChSZXByVGVzdHMpCi0gICAgcnVuX3VuaXR0ZXN0KExvbmdSZXByVGVzdCkKLSAgICBydW5fdW5pdHRlc3QoVGVzdFJlY3Vyc2l2ZVJlcHIpCi0KLQogaWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoKLSAgICB0ZXN0X21haW4oKQorICAgIHVuaXR0ZXN0Lm1haW4oKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9zY3JpcHRfaGVscGVyLnB5IGIvTGliL3Rlc3QvdGVzdF9zY3JpcHRfaGVscGVyLnB5CmluZGV4IDc1NDBlMmUuLjc0MzMzYzkgMTAwNzU1Ci0tLSBhL0xpYi90ZXN0L3Rlc3Rfc2NyaXB0X2hlbHBlci5weQorKysgYi9MaWIvdGVzdC90ZXN0X3NjcmlwdF9oZWxwZXIucHkKQEAgLTM2LDcgKzM2LDcgQEAKICAgICBAbW9jay5wYXRjaCgnc3VicHJvY2Vzcy5Qb3BlbicpCiAgICAgZGVmIHRlc3RfYXNzZXJ0X3B5dGhvbl9pc29sYXRlZF93aGVuX2Vudl9ub3RfcmVxdWlyZWQoc2VsZiwgbW9ja19wb3Blbik6CiAgICAgICAgIHdpdGggbW9jay5wYXRjaC5vYmplY3Qoc2NyaXB0X2hlbHBlciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnX2ludGVycHJldGVyX3JlcXVpcmVzX2Vudmlyb25tZW50JywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaW50ZXJwcmV0ZXJfcmVxdWlyZXNfZW52aXJvbm1lbnQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybl92YWx1ZT1GYWxzZSkgYXMgbW9ja19pcmVfZnVuYzoKICAgICAgICAgICAgIG1vY2tfcG9wZW4uc2lkZV9lZmZlY3QgPSBSdW50aW1lRXJyb3IoJ2JhaWwgb3V0IG9mIHVuaXR0ZXN0JykKICAgICAgICAgICAgIHRyeToKQEAgLTU1LDcgKzU1LDcgQEAKICAgICBkZWYgdGVzdF9hc3NlcnRfcHl0aG9uX25vdF9pc29sYXRlZF93aGVuX2Vudl9pc19yZXF1aXJlZChzZWxmLCBtb2NrX3BvcGVuKToKICAgICAgICAgIiIiRW5zdXJlIHRoYXQgLUkgaXMgbm90IHBhc3NlZCB3aGVuIHRoZSBlbnZpcm9ubWVudCBpcyByZXF1aXJlZC4iIiIKICAgICAgICAgd2l0aCBtb2NrLnBhdGNoLm9iamVjdChzY3JpcHRfaGVscGVyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdfaW50ZXJwcmV0ZXJfcmVxdWlyZXNfZW52aXJvbm1lbnQnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpbnRlcnByZXRlcl9yZXF1aXJlc19lbnZpcm9ubWVudCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuX3ZhbHVlPVRydWUpIGFzIG1vY2tfaXJlX2Z1bmM6CiAgICAgICAgICAgICBtb2NrX3BvcGVuLnNpZGVfZWZmZWN0ID0gUnVudGltZUVycm9yKCdiYWlsIG91dCBvZiB1bml0dGVzdCcpCiAgICAgICAgICAgICB0cnk6CkBAIC02OCw3ICs2OCw3IEBACiAKIAogY2xhc3MgVGVzdFNjcmlwdEhlbHBlckVudmlyb25tZW50KHVuaXR0ZXN0LlRlc3RDYXNlKToKLSAgICAiIiJDb2RlIGNvdmVyYWdlIGZvciBfaW50ZXJwcmV0ZXJfcmVxdWlyZXNfZW52aXJvbm1lbnQoKS4iIiIKKyAgICAiIiJDb2RlIGNvdmVyYWdlIGZvciBpbnRlcnByZXRlcl9yZXF1aXJlc19lbnZpcm9ubWVudCgpLiIiIgogCiAgICAgZGVmIHNldFVwKHNlbGYpOgogICAgICAgICBzZWxmLmFzc2VydFRydWUoCkBAIC04MywyMiArODMsMjIgQEAKICAgICBAbW9jay5wYXRjaCgnc3VicHJvY2Vzcy5jaGVja19jYWxsJykKICAgICBkZWYgdGVzdF9pbnRlcnByZXRlcl9yZXF1aXJlc19lbnZpcm9ubWVudF90cnVlKHNlbGYsIG1vY2tfY2hlY2tfY2FsbCk6CiAgICAgICAgIG1vY2tfY2hlY2tfY2FsbC5zaWRlX2VmZmVjdCA9IHN1YnByb2Nlc3MuQ2FsbGVkUHJvY2Vzc0Vycm9yKCcnLCAnJykKLSAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHNjcmlwdF9oZWxwZXIuX2ludGVycHJldGVyX3JlcXVpcmVzX2Vudmlyb25tZW50KCkpCi0gICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShzY3JpcHRfaGVscGVyLl9pbnRlcnByZXRlcl9yZXF1aXJlc19lbnZpcm9ubWVudCgpKQorICAgICAgICBzZWxmLmFzc2VydFRydWUoc2NyaXB0X2hlbHBlci5pbnRlcnByZXRlcl9yZXF1aXJlc19lbnZpcm9ubWVudCgpKQorICAgICAgICBzZWxmLmFzc2VydFRydWUoc2NyaXB0X2hlbHBlci5pbnRlcnByZXRlcl9yZXF1aXJlc19lbnZpcm9ubWVudCgpKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKDEsIG1vY2tfY2hlY2tfY2FsbC5jYWxsX2NvdW50KQogCiAgICAgQG1vY2sucGF0Y2goJ3N1YnByb2Nlc3MuY2hlY2tfY2FsbCcpCiAgICAgZGVmIHRlc3RfaW50ZXJwcmV0ZXJfcmVxdWlyZXNfZW52aXJvbm1lbnRfZmFsc2Uoc2VsZiwgbW9ja19jaGVja19jYWxsKToKICAgICAgICAgIyBUaGUgbW9ja2VkIHN1YnByb2Nlc3MuY2hlY2tfY2FsbCBmYWtlcyBhIG5vLWVycm9yIHByb2Nlc3MuCi0gICAgICAgIHNjcmlwdF9oZWxwZXIuX2ludGVycHJldGVyX3JlcXVpcmVzX2Vudmlyb25tZW50KCkKLSAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShzY3JpcHRfaGVscGVyLl9pbnRlcnByZXRlcl9yZXF1aXJlc19lbnZpcm9ubWVudCgpKQorICAgICAgICBzY3JpcHRfaGVscGVyLmludGVycHJldGVyX3JlcXVpcmVzX2Vudmlyb25tZW50KCkKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShzY3JpcHRfaGVscGVyLmludGVycHJldGVyX3JlcXVpcmVzX2Vudmlyb25tZW50KCkpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoMSwgbW9ja19jaGVja19jYWxsLmNhbGxfY291bnQpCiAKICAgICBAbW9jay5wYXRjaCgnc3VicHJvY2Vzcy5jaGVja19jYWxsJykKICAgICBkZWYgdGVzdF9pbnRlcnByZXRlcl9yZXF1aXJlc19lbnZpcm9ubWVudF9kZXRhaWxzKHNlbGYsIG1vY2tfY2hlY2tfY2FsbCk6Ci0gICAgICAgIHNjcmlwdF9oZWxwZXIuX2ludGVycHJldGVyX3JlcXVpcmVzX2Vudmlyb25tZW50KCkKLSAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShzY3JpcHRfaGVscGVyLl9pbnRlcnByZXRlcl9yZXF1aXJlc19lbnZpcm9ubWVudCgpKQotICAgICAgICBzZWxmLmFzc2VydEZhbHNlKHNjcmlwdF9oZWxwZXIuX2ludGVycHJldGVyX3JlcXVpcmVzX2Vudmlyb25tZW50KCkpCisgICAgICAgIHNjcmlwdF9oZWxwZXIuaW50ZXJwcmV0ZXJfcmVxdWlyZXNfZW52aXJvbm1lbnQoKQorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKHNjcmlwdF9oZWxwZXIuaW50ZXJwcmV0ZXJfcmVxdWlyZXNfZW52aXJvbm1lbnQoKSkKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShzY3JpcHRfaGVscGVyLmludGVycHJldGVyX3JlcXVpcmVzX2Vudmlyb25tZW50KCkpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoMSwgbW9ja19jaGVja19jYWxsLmNhbGxfY291bnQpCiAgICAgICAgIGNoZWNrX2NhbGxfY29tbWFuZCA9IG1vY2tfY2hlY2tfY2FsbC5jYWxsX2FyZ3NbMF1bMF0KICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzeXMuZXhlY3V0YWJsZSwgY2hlY2tfY2FsbF9jb21tYW5kWzBdKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9zZWxlY3RvcnMucHkgYi9MaWIvdGVzdC90ZXN0X3NlbGVjdG9ycy5weQppbmRleCA5NTJmZGE2Li45NTIxNDgxIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X3NlbGVjdG9ycy5weQorKysgYi9MaWIvdGVzdC90ZXN0X3NlbGVjdG9ycy5weQpAQCAtOSwxMCArOSw3IEBACiBmcm9tIHRpbWUgaW1wb3J0IHNsZWVwCiBpbXBvcnQgdW5pdHRlc3QKIGltcG9ydCB1bml0dGVzdC5tb2NrCi10cnk6Ci0gICAgZnJvbSB0aW1lIGltcG9ydCBtb25vdG9uaWMgYXMgdGltZQotZXhjZXB0IEltcG9ydEVycm9yOgotICAgIGZyb20gdGltZSBpbXBvcnQgdGltZSBhcyB0aW1lCitmcm9tIHRpbWUgaW1wb3J0IG1vbm90b25pYyBhcyB0aW1lCiB0cnk6CiAgICAgaW1wb3J0IHJlc291cmNlCiBleGNlcHQgSW1wb3J0RXJyb3I6CkBAIC0yNSw3ICsyMiw3IEBACiAgICAgZGVmIHNvY2tldHBhaXIoZmFtaWx5PXNvY2tldC5BRl9JTkVULCB0eXBlPXNvY2tldC5TT0NLX1NUUkVBTSwgcHJvdG89MCk6CiAgICAgICAgIHdpdGggc29ja2V0LnNvY2tldChmYW1pbHksIHR5cGUsIHByb3RvKSBhcyBsOgogICAgICAgICAgICAgbC5iaW5kKChzdXBwb3J0LkhPU1QsIDApKQotICAgICAgICAgICAgbC5saXN0ZW4oMykKKyAgICAgICAgICAgIGwubGlzdGVuKCkKICAgICAgICAgICAgIGMgPSBzb2NrZXQuc29ja2V0KGZhbWlseSwgdHlwZSwgcHJvdG8pCiAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgYy5jb25uZWN0KGwuZ2V0c29ja25hbWUoKSkKQEAgLTE4OCw4ICsxODUsOCBAQAogICAgICAgICBzLnJlZ2lzdGVyKHdyLCBzZWxlY3RvcnMuRVZFTlRfV1JJVEUpCiAKICAgICAgICAgcy5jbG9zZSgpCi0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKEtleUVycm9yLCBzLmdldF9rZXksIHJkKQotICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhLZXlFcnJvciwgcy5nZXRfa2V5LCB3cikKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoUnVudGltZUVycm9yLCBzLmdldF9rZXksIHJkKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhSdW50aW1lRXJyb3IsIHMuZ2V0X2tleSwgd3IpCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKEtleUVycm9yLCBtYXBwaW5nLl9fZ2V0aXRlbV9fLCByZCkKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoS2V5RXJyb3IsIG1hcHBpbmcuX19nZXRpdGVtX18sIHdyKQogCkBAIC0yNTgsOCArMjU1LDggQEAKICAgICAgICAgICAgIHNlbC5yZWdpc3RlcihyZCwgc2VsZWN0b3JzLkVWRU5UX1JFQUQpCiAgICAgICAgICAgICBzZWwucmVnaXN0ZXIod3IsIHNlbGVjdG9ycy5FVkVOVF9XUklURSkKIAotICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhLZXlFcnJvciwgcy5nZXRfa2V5LCByZCkKLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoS2V5RXJyb3IsIHMuZ2V0X2tleSwgd3IpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFJ1bnRpbWVFcnJvciwgcy5nZXRfa2V5LCByZCkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoUnVudGltZUVycm9yLCBzLmdldF9rZXksIHdyKQogCiAgICAgZGVmIHRlc3RfZmlsZW5vKHNlbGYpOgogICAgICAgICBzID0gc2VsZi5TRUxFQ1RPUigpCkBAIC00NTUsMTAgKzQ1MiwxOCBAQAogICAgIFNFTEVDVE9SID0gZ2V0YXR0cihzZWxlY3RvcnMsICdLcXVldWVTZWxlY3RvcicsIE5vbmUpCiAKIAorQHVuaXR0ZXN0LnNraXBVbmxlc3MoaGFzYXR0cihzZWxlY3RvcnMsICdEZXZwb2xsU2VsZWN0b3InKSwKKyAgICAgICAgICAgICAgICAgICAgICJUZXN0IG5lZWRzIHNlbGVjdG9ycy5EZXZwb2xsU2VsZWN0b3IiKQorY2xhc3MgRGV2cG9sbFNlbGVjdG9yVGVzdENhc2UoQmFzZVNlbGVjdG9yVGVzdENhc2UsIFNjYWxhYmxlU2VsZWN0b3JNaXhJbik6CisKKyAgICBTRUxFQ1RPUiA9IGdldGF0dHIoc2VsZWN0b3JzLCAnRGV2cG9sbFNlbGVjdG9yJywgTm9uZSkKKworCisKIGRlZiB0ZXN0X21haW4oKToKICAgICB0ZXN0cyA9IFtEZWZhdWx0U2VsZWN0b3JUZXN0Q2FzZSwgU2VsZWN0U2VsZWN0b3JUZXN0Q2FzZSwKICAgICAgICAgICAgICBQb2xsU2VsZWN0b3JUZXN0Q2FzZSwgRXBvbGxTZWxlY3RvclRlc3RDYXNlLAotICAgICAgICAgICAgIEtxdWV1ZVNlbGVjdG9yVGVzdENhc2VdCisgICAgICAgICAgICAgS3F1ZXVlU2VsZWN0b3JUZXN0Q2FzZSwgRGV2cG9sbFNlbGVjdG9yVGVzdENhc2VdCiAgICAgc3VwcG9ydC5ydW5fdW5pdHRlc3QoKnRlc3RzKQogICAgIHN1cHBvcnQucmVhcF9jaGlsZHJlbigpCiAKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3Rfc2V0LnB5IGIvTGliL3Rlc3QvdGVzdF9zZXQucHkKaW5kZXggNjVlNDI0My4uYzI1Mzg2ZiAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9zZXQucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9zZXQucHkKQEAgLTkzMSw3ICs5MzEsNyBAQAogCiBjbGFzcyBUZXN0QmFzaWNPcHNCeXRlcyhUZXN0QmFzaWNPcHMsIHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICBkZWYgc2V0VXAoc2VsZik6Ci0gICAgICAgIHNlbGYuY2FzZSAgID0gInN0cmluZyBzZXQiCisgICAgICAgIHNlbGYuY2FzZSAgID0gImJ5dGVzIHNldCIKICAgICAgICAgc2VsZi52YWx1ZXMgPSBbYiJhIiwgYiJiIiwgYiJjIl0KICAgICAgICAgc2VsZi5zZXQgICAgPSBzZXQoc2VsZi52YWx1ZXMpCiAgICAgICAgIHNlbGYuZHVwICAgID0gc2V0KHNlbGYudmFsdWVzKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9zaHV0aWwucHkgYi9MaWIvdGVzdC90ZXN0X3NodXRpbC5weQppbmRleCA5MzI1YmM3Li5jNTU0NWJhIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X3NodXRpbC5weQorKysgYi9MaWIvdGVzdC90ZXN0X3NodXRpbC5weQpAQCAtMzQsNiArMzQsMTIgQEAKIGV4Y2VwdCBJbXBvcnRFcnJvcjoKICAgICBCWjJfU1VQUE9SVEVEID0gRmFsc2UKIAordHJ5OgorICAgIGltcG9ydCBsem1hCisgICAgTFpNQV9TVVBQT1JURUQgPSBUcnVlCitleGNlcHQgSW1wb3J0RXJyb3I6CisgICAgTFpNQV9TVVBQT1JURUQgPSBGYWxzZQorCiBURVNURk4yID0gVEVTVEZOICsgIjIiCiAKIHRyeToKQEAgLTExODksNiArMTE5NSw4IEBACiAgICAgICAgIGZvcm1hdHMgPSBbJ3RhcicsICdnenRhcicsICd6aXAnXQogICAgICAgICBpZiBCWjJfU1VQUE9SVEVEOgogICAgICAgICAgICAgZm9ybWF0cy5hcHBlbmQoJ2J6dGFyJykKKyAgICAgICAgaWYgTFpNQV9TVVBQT1JURUQ6CisgICAgICAgICAgICBmb3JtYXRzLmFwcGVuZCgneHp0YXInKQogCiAgICAgICAgIGZvciBmb3JtYXQgaW4gZm9ybWF0czoKICAgICAgICAgICAgIHRtcGRpciA9IHNlbGYubWtkdGVtcCgpCkBAIC0xNjI1LDYgKzE2MzMsMjQgQEAKICAgICAgICAgcnYgPSBzaHV0aWwubW92ZShzZWxmLnNyY19maWxlLCBvcy5wYXRoLmpvaW4oc2VsZi5kc3RfZGlyLCAnYmFyJykpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocnYsIG9zLnBhdGguam9pbihzZWxmLmRzdF9kaXIsICdiYXInKSkKIAorICAgIEBtb2NrX3JlbmFtZQorICAgIGRlZiB0ZXN0X21vdmVfZmlsZV9zcGVjaWFsX2Z1bmN0aW9uKHNlbGYpOgorICAgICAgICBtb3ZlZCA9IFtdCisgICAgICAgIGRlZiBfY29weShzcmMsIGRzdCk6CisgICAgICAgICAgICBtb3ZlZC5hcHBlbmQoKHNyYywgZHN0KSkKKyAgICAgICAgc2h1dGlsLm1vdmUoc2VsZi5zcmNfZmlsZSwgc2VsZi5kc3RfZGlyLCBjb3B5X2Z1bmN0aW9uPV9jb3B5KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihtb3ZlZCksIDEpCisKKyAgICBAbW9ja19yZW5hbWUKKyAgICBkZWYgdGVzdF9tb3ZlX2Rpcl9zcGVjaWFsX2Z1bmN0aW9uKHNlbGYpOgorICAgICAgICBtb3ZlZCA9IFtdCisgICAgICAgIGRlZiBfY29weShzcmMsIGRzdCk6CisgICAgICAgICAgICBtb3ZlZC5hcHBlbmQoKHNyYywgZHN0KSkKKyAgICAgICAgc3VwcG9ydC5jcmVhdGVfZW1wdHlfZmlsZShvcy5wYXRoLmpvaW4oc2VsZi5zcmNfZGlyLCAnY2hpbGQnKSkKKyAgICAgICAgc3VwcG9ydC5jcmVhdGVfZW1wdHlfZmlsZShvcy5wYXRoLmpvaW4oc2VsZi5zcmNfZGlyLCAnY2hpbGQxJykpCisgICAgICAgIHNodXRpbC5tb3ZlKHNlbGYuc3JjX2Rpciwgc2VsZi5kc3RfZGlyLCBjb3B5X2Z1bmN0aW9uPV9jb3B5KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihtb3ZlZCksIDMpCisKIAogY2xhc3MgVGVzdENvcHlGaWxlKHVuaXR0ZXN0LlRlc3RDYXNlKToKIApkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9zaWduYWwucHkgYi9MaWIvdGVzdC90ZXN0X3NpZ25hbC5weQppbmRleCA3NGY3NGFmLi43NzRmYzgwIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X3NpZ25hbC5weQorKysgYi9MaWIvdGVzdC90ZXN0X3NpZ25hbC5weQpAQCAtMSwxMCArMSwxMiBAQAogaW1wb3J0IHVuaXR0ZXN0CiBmcm9tIHRlc3QgaW1wb3J0IHN1cHBvcnQKIGZyb20gY29udGV4dGxpYiBpbXBvcnQgY2xvc2luZworaW1wb3J0IGVudW0KIGltcG9ydCBnYwogaW1wb3J0IHBpY2tsZQogaW1wb3J0IHNlbGVjdAogaW1wb3J0IHNpZ25hbAoraW1wb3J0IHNvY2tldAogaW1wb3J0IHN0cnVjdAogaW1wb3J0IHN1YnByb2Nlc3MKIGltcG9ydCB0cmFjZWJhY2sKQEAgLTE0LDYgKzE2LDEwIEBACiAgICAgaW1wb3J0IHRocmVhZGluZwogZXhjZXB0IEltcG9ydEVycm9yOgogICAgIHRocmVhZGluZyA9IE5vbmUKK3RyeToKKyAgICBpbXBvcnQgX3Rlc3RjYXBpCitleGNlcHQgSW1wb3J0RXJyb3I6CisgICAgX3Rlc3RjYXBpID0gTm9uZQogCiAKIGNsYXNzIEhhbmRsZXJCQ2FsbGVkKEV4Y2VwdGlvbik6CkBAIC0zOSw2ICs0NSwyMyBAQAogICAgICAgICByZXR1cm4gTm9uZQogCiAKK2NsYXNzIEdlbmVyaWNUZXN0cyh1bml0dGVzdC5UZXN0Q2FzZSk6CisKKyAgICBAdW5pdHRlc3Quc2tpcElmKHRocmVhZGluZyBpcyBOb25lLCAidGVzdCBuZWVkcyB0aHJlYWRpbmcgbW9kdWxlIikKKyAgICBkZWYgdGVzdF9lbnVtcyhzZWxmKToKKyAgICAgICAgZm9yIG5hbWUgaW4gZGlyKHNpZ25hbCk6CisgICAgICAgICAgICBzaWcgPSBnZXRhdHRyKHNpZ25hbCwgbmFtZSkKKyAgICAgICAgICAgIGlmIG5hbWUgaW4geydTSUdfREZMJywgJ1NJR19JR04nfToKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydElzSW5zdGFuY2Uoc2lnLCBzaWduYWwuSGFuZGxlcnMpCisgICAgICAgICAgICBlbGlmIG5hbWUgaW4geydTSUdfQkxPQ0snLCAnU0lHX1VOQkxPQ0snLCAnU0lHX1NFVE1BU0snfToKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydElzSW5zdGFuY2Uoc2lnLCBzaWduYWwuU2lnbWFza3MpCisgICAgICAgICAgICBlbGlmIG5hbWUuc3RhcnRzd2l0aCgnU0lHJykgYW5kIG5vdCBuYW1lLnN0YXJ0c3dpdGgoJ1NJR18nKToKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydElzSW5zdGFuY2Uoc2lnLCBzaWduYWwuU2lnbmFscykKKyAgICAgICAgICAgIGVsaWYgbmFtZS5zdGFydHN3aXRoKCdDVFJMXycpOgorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXNJbnN0YW5jZShzaWcsIHNpZ25hbC5TaWduYWxzKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3lzLnBsYXRmb3JtLCAid2luMzIiKQorCisKIEB1bml0dGVzdC5za2lwSWYoc3lzLnBsYXRmb3JtID09ICJ3aW4zMiIsICJOb3QgdmFsaWQgb24gV2luZG93cyIpCiBjbGFzcyBJbnRlclByb2Nlc3NTaWduYWxUZXN0cyh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgTUFYX0RVUkFUSU9OID0gMjAgICAjIEVudGlyZSB0ZXN0IHNob3VsZCBsYXN0IGF0IG1vc3QgMjAgc2VjLgpAQCAtMTk1LDYgKzIxOCw3IEBACiAKICAgICBkZWYgdGVzdF9nZXRzaWduYWwoc2VsZik6CiAgICAgICAgIGh1cCA9IHNpZ25hbC5zaWduYWwoc2lnbmFsLlNJR0hVUCwgc2VsZi50cml2aWFsX3NpZ25hbF9oYW5kbGVyKQorICAgICAgICBzZWxmLmFzc2VydElzSW5zdGFuY2UoaHVwLCBzaWduYWwuSGFuZGxlcnMpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2lnbmFsLmdldHNpZ25hbChzaWduYWwuU0lHSFVQKSwKICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnRyaXZpYWxfc2lnbmFsX2hhbmRsZXIpCiAgICAgICAgIHNpZ25hbC5zaWduYWwoc2lnbmFsLlNJR0hVUCwgaHVwKQpAQCAtMjI5LDE1ICsyNTMsNzcgQEAKIAogICAgIGRlZiB0ZXN0X2ludmFsaWRfZmQoc2VsZik6CiAgICAgICAgIGZkID0gc3VwcG9ydC5tYWtlX2JhZF9mZCgpCi0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIHNpZ25hbC5zZXRfd2FrZXVwX2ZkLCBmZCkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoKFZhbHVlRXJyb3IsIE9TRXJyb3IpLAorICAgICAgICAgICAgICAgICAgICAgICAgICBzaWduYWwuc2V0X3dha2V1cF9mZCwgZmQpCisKKyAgICBkZWYgdGVzdF9pbnZhbGlkX3NvY2tldChzZWxmKToKKyAgICAgICAgc29jayA9IHNvY2tldC5zb2NrZXQoKQorICAgICAgICBmZCA9IHNvY2suZmlsZW5vKCkKKyAgICAgICAgc29jay5jbG9zZSgpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKChWYWx1ZUVycm9yLCBPU0Vycm9yKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgc2lnbmFsLnNldF93YWtldXBfZmQsIGZkKQorCisgICAgZGVmIHRlc3Rfc2V0X3dha2V1cF9mZF9yZXN1bHQoc2VsZik6CisgICAgICAgIHIxLCB3MSA9IG9zLnBpcGUoKQorICAgICAgICBzZWxmLmFkZENsZWFudXAob3MuY2xvc2UsIHIxKQorICAgICAgICBzZWxmLmFkZENsZWFudXAob3MuY2xvc2UsIHcxKQorICAgICAgICByMiwgdzIgPSBvcy5waXBlKCkKKyAgICAgICAgc2VsZi5hZGRDbGVhbnVwKG9zLmNsb3NlLCByMikKKyAgICAgICAgc2VsZi5hZGRDbGVhbnVwKG9zLmNsb3NlLCB3MikKKworICAgICAgICBpZiBoYXNhdHRyKG9zLCAnc2V0X2Jsb2NraW5nJyk6CisgICAgICAgICAgICBvcy5zZXRfYmxvY2tpbmcodzEsIEZhbHNlKQorICAgICAgICAgICAgb3Muc2V0X2Jsb2NraW5nKHcyLCBGYWxzZSkKKworICAgICAgICBzaWduYWwuc2V0X3dha2V1cF9mZCh3MSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzaWduYWwuc2V0X3dha2V1cF9mZCh3MiksIHcxKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNpZ25hbC5zZXRfd2FrZXVwX2ZkKC0xKSwgdzIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2lnbmFsLnNldF93YWtldXBfZmQoLTEpLCAtMSkKKworICAgIGRlZiB0ZXN0X3NldF93YWtldXBfZmRfc29ja2V0X3Jlc3VsdChzZWxmKToKKyAgICAgICAgc29jazEgPSBzb2NrZXQuc29ja2V0KCkKKyAgICAgICAgc2VsZi5hZGRDbGVhbnVwKHNvY2sxLmNsb3NlKQorICAgICAgICBzb2NrMS5zZXRibG9ja2luZyhGYWxzZSkKKyAgICAgICAgZmQxID0gc29jazEuZmlsZW5vKCkKKworICAgICAgICBzb2NrMiA9IHNvY2tldC5zb2NrZXQoKQorICAgICAgICBzZWxmLmFkZENsZWFudXAoc29jazIuY2xvc2UpCisgICAgICAgIHNvY2syLnNldGJsb2NraW5nKEZhbHNlKQorICAgICAgICBmZDIgPSBzb2NrMi5maWxlbm8oKQorCisgICAgICAgIHNpZ25hbC5zZXRfd2FrZXVwX2ZkKGZkMSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzaWduYWwuc2V0X3dha2V1cF9mZChmZDIpLCBmZDEpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2lnbmFsLnNldF93YWtldXBfZmQoLTEpLCBmZDIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2lnbmFsLnNldF93YWtldXBfZmQoLTEpLCAtMSkKKworICAgICMgT24gV2luZG93cywgZmlsZXMgYXJlIGFsd2F5cyBibG9ja2luZyBhbmQgV2luZG93cyBkb2VzIG5vdCBwcm92aWRlIGEKKyAgICAjIGZ1bmN0aW9uIHRvIHRlc3QgaWYgYSBzb2NrZXQgaXMgaW4gbm9uLWJsb2NraW5nIG1vZGUuCisgICAgQHVuaXR0ZXN0LnNraXBJZihzeXMucGxhdGZvcm0gPT0gIndpbjMyIiwgInRlc3RzIHNwZWNpZmljIHRvIFBPU0lYIikKKyAgICBkZWYgdGVzdF9zZXRfd2FrZXVwX2ZkX2Jsb2NraW5nKHNlbGYpOgorICAgICAgICByZmQsIHdmZCA9IG9zLnBpcGUoKQorICAgICAgICBzZWxmLmFkZENsZWFudXAob3MuY2xvc2UsIHJmZCkKKyAgICAgICAgc2VsZi5hZGRDbGVhbnVwKG9zLmNsb3NlLCB3ZmQpCisKKyAgICAgICAgIyBmZCBtdXN0IGJlIG5vbi1ibG9ja2luZworICAgICAgICBvcy5zZXRfYmxvY2tpbmcod2ZkLCBUcnVlKQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IpIGFzIGNtOgorICAgICAgICAgICAgc2lnbmFsLnNldF93YWtldXBfZmQod2ZkKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0cihjbS5leGNlcHRpb24pLAorICAgICAgICAgICAgICAgICAgICAgICAgICJ0aGUgZmQgJXMgbXVzdCBiZSBpbiBub24tYmxvY2tpbmcgbW9kZSIgJSB3ZmQpCisKKyAgICAgICAgIyBub24tYmxvY2tpbmcgaXMgb2sKKyAgICAgICAgb3Muc2V0X2Jsb2NraW5nKHdmZCwgRmFsc2UpCisgICAgICAgIHNpZ25hbC5zZXRfd2FrZXVwX2ZkKHdmZCkKKyAgICAgICAgc2lnbmFsLnNldF93YWtldXBfZmQoLTEpCiAKIAogQHVuaXR0ZXN0LnNraXBJZihzeXMucGxhdGZvcm0gPT0gIndpbjMyIiwgIk5vdCB2YWxpZCBvbiBXaW5kb3dzIikKIGNsYXNzIFdha2V1cFNpZ25hbFRlc3RzKHVuaXR0ZXN0LlRlc3RDYXNlKToKKyAgICBAdW5pdHRlc3Quc2tpcElmKF90ZXN0Y2FwaSBpcyBOb25lLCAnbmVlZCBfdGVzdGNhcGknKQogICAgIGRlZiBjaGVja193YWtldXAoc2VsZiwgdGVzdF9ib2R5LCAqc2lnbmFscywgb3JkZXJlZD1UcnVlKToKICAgICAgICAgIyB1c2UgYSBzdWJwcm9jZXNzIHRvIGhhdmUgb25seSBvbmUgdGhyZWFkCiAgICAgICAgIGNvZGUgPSAiIiJpZiAxOgotICAgICAgICBpbXBvcnQgZmNudGwKKyAgICAgICAgaW1wb3J0IF90ZXN0Y2FwaQogICAgICAgICBpbXBvcnQgb3MKICAgICAgICAgaW1wb3J0IHNpZ25hbAogICAgICAgICBpbXBvcnQgc3RydWN0CkBAIC0yNjAsMTAgKzM0Niw3IEBACiAKICAgICAgICAgc2lnbmFsLnNpZ25hbChzaWduYWwuU0lHQUxSTSwgaGFuZGxlcikKICAgICAgICAgcmVhZCwgd3JpdGUgPSBvcy5waXBlKCkKLSAgICAgICAgZm9yIGZkIGluIChyZWFkLCB3cml0ZSk6Ci0gICAgICAgICAgICBmbGFncyA9IGZjbnRsLmZjbnRsKGZkLCBmY250bC5GX0dFVEZMLCAwKQotICAgICAgICAgICAgZmxhZ3MgPSBmbGFncyB8IG9zLk9fTk9OQkxPQ0sKLSAgICAgICAgICAgIGZjbnRsLmZjbnRsKGZkLCBmY250bC5GX1NFVEZMLCBmbGFncykKKyAgICAgICAgb3Muc2V0X2Jsb2NraW5nKHdyaXRlLCBGYWxzZSkKICAgICAgICAgc2lnbmFsLnNldF93YWtldXBfZmQod3JpdGUpCiAKICAgICAgICAgdGVzdCgpCkBAIC0yNzEsMjEgKzM1NCwyMSBAQAogCiAgICAgICAgIG9zLmNsb3NlKHJlYWQpCiAgICAgICAgIG9zLmNsb3NlKHdyaXRlKQotICAgICAgICAiIiIuZm9ybWF0KHNpZ25hbHMsIG9yZGVyZWQsIHRlc3RfYm9keSkKKyAgICAgICAgIiIiLmZvcm1hdCh0dXBsZShtYXAoaW50LCBzaWduYWxzKSksIG9yZGVyZWQsIHRlc3RfYm9keSkKIAogICAgICAgICBhc3NlcnRfcHl0aG9uX29rKCctYycsIGNvZGUpCiAKKyAgICBAdW5pdHRlc3Quc2tpcElmKF90ZXN0Y2FwaSBpcyBOb25lLCAnbmVlZCBfdGVzdGNhcGknKQogICAgIGRlZiB0ZXN0X3dha2V1cF93cml0ZV9lcnJvcihzZWxmKToKICAgICAgICAgIyBJc3N1ZSAjMTYxMDU6IHdyaXRlKCkgZXJyb3JzIGluIHRoZSBDIHNpZ25hbCBoYW5kbGVyIHNob3VsZCBub3QKICAgICAgICAgIyBwYXNzIHNpbGVudGx5LgogICAgICAgICAjIFVzZSBhIHN1YnByb2Nlc3MgdG8gaGF2ZSBvbmx5IG9uZSB0aHJlYWQuCiAgICAgICAgIGNvZGUgPSAiIiJpZiAxOgorICAgICAgICBpbXBvcnQgX3Rlc3RjYXBpCiAgICAgICAgIGltcG9ydCBlcnJubwotICAgICAgICBpbXBvcnQgZmNudGwKICAgICAgICAgaW1wb3J0IG9zCiAgICAgICAgIGltcG9ydCBzaWduYWwKICAgICAgICAgaW1wb3J0IHN5cwotICAgICAgICBpbXBvcnQgdGltZQogICAgICAgICBmcm9tIHRlc3Quc3VwcG9ydCBpbXBvcnQgY2FwdHVyZWRfc3RkZXJyCiAKICAgICAgICAgZGVmIGhhbmRsZXIoc2lnbnVtLCBmcmFtZSk6CkBAIC0yOTMsMTUgKzM3NiwxMyBAQAogCiAgICAgICAgIHNpZ25hbC5zaWduYWwoc2lnbmFsLlNJR0FMUk0sIGhhbmRsZXIpCiAgICAgICAgIHIsIHcgPSBvcy5waXBlKCkKLSAgICAgICAgZmxhZ3MgPSBmY250bC5mY250bChyLCBmY250bC5GX0dFVEZMLCAwKQotICAgICAgICBmY250bC5mY250bChyLCBmY250bC5GX1NFVEZMLCBmbGFncyB8IG9zLk9fTk9OQkxPQ0spCisgICAgICAgIG9zLnNldF9ibG9ja2luZyhyLCBGYWxzZSkKIAogICAgICAgICAjIFNldCB3YWtldXBfZmQgYSByZWFkLW9ubHkgZmlsZSBkZXNjcmlwdG9yIHRvIHRyaWdnZXIgdGhlIGVycm9yCiAgICAgICAgIHNpZ25hbC5zZXRfd2FrZXVwX2ZkKHIpCiAgICAgICAgIHRyeToKICAgICAgICAgICAgIHdpdGggY2FwdHVyZWRfc3RkZXJyKCkgYXMgZXJyOgotICAgICAgICAgICAgICAgIHNpZ25hbC5hbGFybSgxKQotICAgICAgICAgICAgICAgIHRpbWUuc2xlZXAoNS4wKQorICAgICAgICAgICAgICAgIF90ZXN0Y2FwaS5yYWlzZV9zaWduYWwoc2lnbmFsLlNJR0FMUk0pCiAgICAgICAgIGV4Y2VwdCBaZXJvRGl2aXNpb25FcnJvcjoKICAgICAgICAgICAgICMgQW4gaWdub3JlZCBleGNlcHRpb24gc2hvdWxkIGhhdmUgYmVlbiBwcmludGVkIG91dCBvbiBzdGRlcnIKICAgICAgICAgICAgIGVyciA9IGVyci5nZXR2YWx1ZSgpCkBAIC0zMTIsNiArMzkzLDkgQEAKICAgICAgICAgICAgICAgICByYWlzZSBBc3NlcnRpb25FcnJvcihlcnIpCiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICByYWlzZSBBc3NlcnRpb25FcnJvcigiWmVyb0RpdmlzaW9uRXJyb3Igbm90IHJhaXNlZCIpCisKKyAgICAgICAgb3MuY2xvc2UocikKKyAgICAgICAgb3MuY2xvc2UodykKICAgICAgICAgIiIiCiAgICAgICAgIHIsIHcgPSBvcy5waXBlKCkKICAgICAgICAgdHJ5OgpAQCAtMzc1LDkgKzQ1OSwxMCBAQAogCiAgICAgZGVmIHRlc3Rfc2lnbnVtKHNlbGYpOgogICAgICAgICBzZWxmLmNoZWNrX3dha2V1cCgiIiJkZWYgdGVzdCgpOgorICAgICAgICAgICAgaW1wb3J0IF90ZXN0Y2FwaQogICAgICAgICAgICAgc2lnbmFsLnNpZ25hbChzaWduYWwuU0lHVVNSMSwgaGFuZGxlcikKLSAgICAgICAgICAgIG9zLmtpbGwob3MuZ2V0cGlkKCksIHNpZ25hbC5TSUdVU1IxKQotICAgICAgICAgICAgb3Mua2lsbChvcy5nZXRwaWQoKSwgc2lnbmFsLlNJR0FMUk0pCisgICAgICAgICAgICBfdGVzdGNhcGkucmFpc2Vfc2lnbmFsKHNpZ25hbC5TSUdVU1IxKQorICAgICAgICAgICAgX3Rlc3RjYXBpLnJhaXNlX3NpZ25hbChzaWduYWwuU0lHQUxSTSkKICAgICAgICAgIiIiLCBzaWduYWwuU0lHVVNSMSwgc2lnbmFsLlNJR0FMUk0pCiAKICAgICBAdW5pdHRlc3Quc2tpcFVubGVzcyhoYXNhdHRyKHNpZ25hbCwgJ3B0aHJlYWRfc2lnbWFzaycpLApAQCAtMzkxLDEzICs0NzYsOTcgQEAKICAgICAgICAgICAgIHNpZ25hbC5zaWduYWwoc2lnbnVtMiwgaGFuZGxlcikKIAogICAgICAgICAgICAgc2lnbmFsLnB0aHJlYWRfc2lnbWFzayhzaWduYWwuU0lHX0JMT0NLLCAoc2lnbnVtMSwgc2lnbnVtMikpCi0gICAgICAgICAgICBvcy5raWxsKG9zLmdldHBpZCgpLCBzaWdudW0xKQotICAgICAgICAgICAgb3Mua2lsbChvcy5nZXRwaWQoKSwgc2lnbnVtMikKKyAgICAgICAgICAgIF90ZXN0Y2FwaS5yYWlzZV9zaWduYWwoc2lnbnVtMSkKKyAgICAgICAgICAgIF90ZXN0Y2FwaS5yYWlzZV9zaWduYWwoc2lnbnVtMikKICAgICAgICAgICAgICMgVW5ibG9ja2luZyB0aGUgMiBzaWduYWxzIGNhbGxzIHRoZSBDIHNpZ25hbCBoYW5kbGVyIHR3aWNlCiAgICAgICAgICAgICBzaWduYWwucHRocmVhZF9zaWdtYXNrKHNpZ25hbC5TSUdfVU5CTE9DSywgKHNpZ251bTEsIHNpZ251bTIpKQogICAgICAgICAiIiIsICBzaWduYWwuU0lHVVNSMSwgc2lnbmFsLlNJR1VTUjIsIG9yZGVyZWQ9RmFsc2UpCiAKIAorQHVuaXR0ZXN0LnNraXBVbmxlc3MoaGFzYXR0cihzb2NrZXQsICdzb2NrZXRwYWlyJyksICduZWVkIHNvY2tldC5zb2NrZXRwYWlyJykKK2NsYXNzIFdha2V1cFNvY2tldFNpZ25hbFRlc3RzKHVuaXR0ZXN0LlRlc3RDYXNlKToKKworICAgIEB1bml0dGVzdC5za2lwSWYoX3Rlc3RjYXBpIGlzIE5vbmUsICduZWVkIF90ZXN0Y2FwaScpCisgICAgZGVmIHRlc3Rfc29ja2V0KHNlbGYpOgorICAgICAgICAjIHVzZSBhIHN1YnByb2Nlc3MgdG8gaGF2ZSBvbmx5IG9uZSB0aHJlYWQKKyAgICAgICAgY29kZSA9ICIiImlmIDE6CisgICAgICAgIGltcG9ydCBzaWduYWwKKyAgICAgICAgaW1wb3J0IHNvY2tldAorICAgICAgICBpbXBvcnQgc3RydWN0CisgICAgICAgIGltcG9ydCBfdGVzdGNhcGkKKworICAgICAgICBzaWdudW0gPSBzaWduYWwuU0lHSU5UCisgICAgICAgIHNpZ25hbHMgPSAoc2lnbnVtLCkKKworICAgICAgICBkZWYgaGFuZGxlcihzaWdudW0sIGZyYW1lKToKKyAgICAgICAgICAgIHBhc3MKKworICAgICAgICBzaWduYWwuc2lnbmFsKHNpZ251bSwgaGFuZGxlcikKKworICAgICAgICByZWFkLCB3cml0ZSA9IHNvY2tldC5zb2NrZXRwYWlyKCkKKyAgICAgICAgcmVhZC5zZXRibG9ja2luZyhGYWxzZSkKKyAgICAgICAgd3JpdGUuc2V0YmxvY2tpbmcoRmFsc2UpCisgICAgICAgIHNpZ25hbC5zZXRfd2FrZXVwX2ZkKHdyaXRlLmZpbGVubygpKQorCisgICAgICAgIF90ZXN0Y2FwaS5yYWlzZV9zaWduYWwoc2lnbnVtKQorCisgICAgICAgIGRhdGEgPSByZWFkLnJlY3YoMSkKKyAgICAgICAgaWYgbm90IGRhdGE6CisgICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oIm5vIHNpZ251bSB3cml0dGVuIikKKyAgICAgICAgcmFpc2VkID0gc3RydWN0LnVucGFjaygnQicsIGRhdGEpCisgICAgICAgIGlmIHJhaXNlZCAhPSBzaWduYWxzOgorICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKCIlciAhPSAlciIgJSAocmFpc2VkLCBzaWduYWxzKSkKKworICAgICAgICByZWFkLmNsb3NlKCkKKyAgICAgICAgd3JpdGUuY2xvc2UoKQorICAgICAgICAiIiIKKworICAgICAgICBhc3NlcnRfcHl0aG9uX29rKCctYycsIGNvZGUpCisKKyAgICBAdW5pdHRlc3Quc2tpcElmKF90ZXN0Y2FwaSBpcyBOb25lLCAnbmVlZCBfdGVzdGNhcGknKQorICAgIGRlZiB0ZXN0X3NlbmRfZXJyb3Ioc2VsZik6CisgICAgICAgICMgVXNlIGEgc3VicHJvY2VzcyB0byBoYXZlIG9ubHkgb25lIHRocmVhZC4KKyAgICAgICAgaWYgb3MubmFtZSA9PSAnbnQnOgorICAgICAgICAgICAgYWN0aW9uID0gJ3NlbmQnCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBhY3Rpb24gPSAnd3JpdGUnCisgICAgICAgIGNvZGUgPSAiIiJpZiAxOgorICAgICAgICBpbXBvcnQgZXJybm8KKyAgICAgICAgaW1wb3J0IHNpZ25hbAorICAgICAgICBpbXBvcnQgc29ja2V0CisgICAgICAgIGltcG9ydCBzeXMKKyAgICAgICAgaW1wb3J0IHRpbWUKKyAgICAgICAgaW1wb3J0IF90ZXN0Y2FwaQorICAgICAgICBmcm9tIHRlc3Quc3VwcG9ydCBpbXBvcnQgY2FwdHVyZWRfc3RkZXJyCisKKyAgICAgICAgc2lnbnVtID0gc2lnbmFsLlNJR0lOVAorCisgICAgICAgIGRlZiBoYW5kbGVyKHNpZ251bSwgZnJhbWUpOgorICAgICAgICAgICAgcGFzcworCisgICAgICAgIHNpZ25hbC5zaWduYWwoc2lnbnVtLCBoYW5kbGVyKQorCisgICAgICAgIHJlYWQsIHdyaXRlID0gc29ja2V0LnNvY2tldHBhaXIoKQorICAgICAgICByZWFkLnNldGJsb2NraW5nKEZhbHNlKQorICAgICAgICB3cml0ZS5zZXRibG9ja2luZyhGYWxzZSkKKworICAgICAgICBzaWduYWwuc2V0X3dha2V1cF9mZCh3cml0ZS5maWxlbm8oKSkKKworICAgICAgICAjIENsb3NlIHNvY2tldHM6IHNlbmQoKSB3aWxsIGZhaWwKKyAgICAgICAgcmVhZC5jbG9zZSgpCisgICAgICAgIHdyaXRlLmNsb3NlKCkKKworICAgICAgICB3aXRoIGNhcHR1cmVkX3N0ZGVycigpIGFzIGVycjoKKyAgICAgICAgICAgIF90ZXN0Y2FwaS5yYWlzZV9zaWduYWwoc2lnbnVtKQorCisgICAgICAgIGVyciA9IGVyci5nZXR2YWx1ZSgpCisgICAgICAgIGlmICgnRXhjZXB0aW9uIGlnbm9yZWQgd2hlbiB0cnlpbmcgdG8ge2FjdGlvbn0gdG8gdGhlIHNpZ25hbCB3YWtldXAgZmQnCisgICAgICAgICAgICBub3QgaW4gZXJyKToKKyAgICAgICAgICAgIHJhaXNlIEFzc2VydGlvbkVycm9yKGVycikKKyAgICAgICAgIiIiLmZvcm1hdChhY3Rpb249YWN0aW9uKQorICAgICAgICBhc3NlcnRfcHl0aG9uX29rKCctYycsIGNvZGUpCisKKwogQHVuaXR0ZXN0LnNraXBJZihzeXMucGxhdGZvcm0gPT0gIndpbjMyIiwgIk5vdCB2YWxpZCBvbiBXaW5kb3dzIikKIGNsYXNzIFNpZ2ludGVycnVwdFRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgogCkBAIC00MTgsNyArNTg3LDcgQEAKICAgICAgICAgICAgIHIsIHcgPSBvcy5waXBlKCkKIAogICAgICAgICAgICAgZGVmIGhhbmRsZXIoc2lnbnVtLCBmcmFtZSk6Ci0gICAgICAgICAgICAgICAgcGFzcworICAgICAgICAgICAgICAgIDEgLyAwCiAKICAgICAgICAgICAgIHNpZ25hbC5zaWduYWwoc2lnbmFsLlNJR0FMUk0sIGhhbmRsZXIpCiAgICAgICAgICAgICBpZiBpbnRlcnJ1cHQgaXMgbm90IE5vbmU6CkBAIC00MjgsMTggKzU5NywyMSBAQAogICAgICAgICAgICAgc3lzLnN0ZG91dC5mbHVzaCgpCiAKICAgICAgICAgICAgICMgcnVuIHRoZSB0ZXN0IHR3aWNlCi0gICAgICAgICAgICBmb3IgbG9vcCBpbiByYW5nZSgyKToKLSAgICAgICAgICAgICAgICAjIHNlbmQgYSBTSUdBTFJNIGluIGEgc2Vjb25kIChkdXJpbmcgdGhlIHJlYWQpCi0gICAgICAgICAgICAgICAgc2lnbmFsLmFsYXJtKDEpCi0gICAgICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgICAgICAjIGJsb2NraW5nIGNhbGw6IHJlYWQgZnJvbSBhIHBpcGUgd2l0aG91dCBkYXRhCi0gICAgICAgICAgICAgICAgICAgIG9zLnJlYWQociwgMSkKLSAgICAgICAgICAgICAgICBleGNlcHQgT1NFcnJvciBhcyBlcnI6Ci0gICAgICAgICAgICAgICAgICAgIGlmIGVyci5lcnJubyAhPSBlcnJuby5FSU5UUjoKLSAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlCi0gICAgICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgc3lzLmV4aXQoMikKLSAgICAgICAgICAgIHN5cy5leGl0KDMpCisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgZm9yIGxvb3AgaW4gcmFuZ2UoMik6CisgICAgICAgICAgICAgICAgICAgICMgc2VuZCBhIFNJR0FMUk0gaW4gYSBzZWNvbmQgKGR1cmluZyB0aGUgcmVhZCkKKyAgICAgICAgICAgICAgICAgICAgc2lnbmFsLmFsYXJtKDEpCisgICAgICAgICAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICAgICAgICAgICMgYmxvY2tpbmcgY2FsbDogcmVhZCBmcm9tIGEgcGlwZSB3aXRob3V0IGRhdGEKKyAgICAgICAgICAgICAgICAgICAgICAgIG9zLnJlYWQociwgMSkKKyAgICAgICAgICAgICAgICAgICAgZXhjZXB0IFplcm9EaXZpc2lvbkVycm9yOgorICAgICAgICAgICAgICAgICAgICAgICAgcGFzcworICAgICAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICAgICAgc3lzLmV4aXQoMikKKyAgICAgICAgICAgICAgICBzeXMuZXhpdCgzKQorICAgICAgICAgICAgZmluYWxseToKKyAgICAgICAgICAgICAgICBvcy5jbG9zZShyKQorICAgICAgICAgICAgICAgIG9zLmNsb3NlKHcpCiAgICAgICAgICIiIiAlIChpbnRlcnJ1cHQsKQogICAgICAgICB3aXRoIHNwYXduX3B5dGhvbignLWMnLCBjb2RlKSBhcyBwcm9jZXNzOgogICAgICAgICAgICAgdHJ5OgpAQCAtNjA0LDYgKzc3Niw4IEBACiAgICAgICAgICAgICBzaWduYWwucHRocmVhZF9zaWdtYXNrKHNpZ25hbC5TSUdfQkxPQ0ssIFtzaWdudW1dKQogICAgICAgICAgICAgb3Mua2lsbChvcy5nZXRwaWQoKSwgc2lnbnVtKQogICAgICAgICAgICAgcGVuZGluZyA9IHNpZ25hbC5zaWdwZW5kaW5nKCkKKyAgICAgICAgICAgIGZvciBzaWcgaW4gcGVuZGluZzoKKyAgICAgICAgICAgICAgICBhc3NlcnQgaXNpbnN0YW5jZShzaWcsIHNpZ25hbC5TaWduYWxzKSwgcmVwcihwZW5kaW5nKQogICAgICAgICAgICAgaWYgcGVuZGluZyAhPSB7c2lnbnVtfToKICAgICAgICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oJyVzICE9IHslc30nICUgKHBlbmRpbmcsIHNpZ251bSkpCiAgICAgICAgICAgICB0cnk6CkBAIC02NjAsNiArODM0LDcgQEAKICAgICAgICAgY29kZSA9ICcnJ2lmIDE6CiAgICAgICAgIGltcG9ydCBzaWduYWwKICAgICAgICAgaW1wb3J0IHN5cworICAgICAgICBmcm9tIHNpZ25hbCBpbXBvcnQgU2lnbmFscwogCiAgICAgICAgIGRlZiBoYW5kbGVyKHNpZ251bSwgZnJhbWUpOgogICAgICAgICAgICAgMS8wCkBAIC03MDIsNiArODc3LDcgQEAKICAgICAgICAgZGVmIHRlc3Qoc2lnbnVtKToKICAgICAgICAgICAgIHNpZ25hbC5hbGFybSgxKQogICAgICAgICAgICAgcmVjZWl2ZWQgPSBzaWduYWwuc2lnd2FpdChbc2lnbnVtXSkKKyAgICAgICAgICAgIGFzc2VydCBpc2luc3RhbmNlKHJlY2VpdmVkLCBzaWduYWwuU2lnbmFscyksIHJlY2VpdmVkCiAgICAgICAgICAgICBpZiByZWNlaXZlZCAhPSBzaWdudW06CiAgICAgICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKCdyZWNlaXZlZCAlcywgbm90ICVzJyAlIChyZWNlaXZlZCwgc2lnbnVtKSkKICAgICAgICAgJycnKQpAQCAtODQyLDggKzEwMTgsMTQgQEAKICAgICAgICAgZGVmIGtpbGwoc2lnbnVtKToKICAgICAgICAgICAgIG9zLmtpbGwob3MuZ2V0cGlkKCksIHNpZ251bSkKIAorICAgICAgICBkZWYgY2hlY2tfbWFzayhtYXNrKToKKyAgICAgICAgICAgIGZvciBzaWcgaW4gbWFzazoKKyAgICAgICAgICAgICAgICBhc3NlcnQgaXNpbnN0YW5jZShzaWcsIHNpZ25hbC5TaWduYWxzKSwgcmVwcihzaWcpCisKICAgICAgICAgZGVmIHJlYWRfc2lnbWFzaygpOgotICAgICAgICAgICAgcmV0dXJuIHNpZ25hbC5wdGhyZWFkX3NpZ21hc2soc2lnbmFsLlNJR19CTE9DSywgW10pCisgICAgICAgICAgICBzaWdtYXNrID0gc2lnbmFsLnB0aHJlYWRfc2lnbWFzayhzaWduYWwuU0lHX0JMT0NLLCBbXSkKKyAgICAgICAgICAgIGNoZWNrX21hc2soc2lnbWFzaykKKyAgICAgICAgICAgIHJldHVybiBzaWdtYXNrCiAKICAgICAgICAgc2lnbnVtID0gc2lnbmFsLlNJR1VTUjEKIApAQCAtODUyLDYgKzEwMzQsNyBAQAogCiAgICAgICAgICMgVW5ibG9jayBTSUdVU1IxIChhbmQgY29weSB0aGUgb2xkIG1hc2spIHRvIHRlc3Qgb3VyIHNpZ25hbCBoYW5kbGVyCiAgICAgICAgIG9sZF9tYXNrID0gc2lnbmFsLnB0aHJlYWRfc2lnbWFzayhzaWduYWwuU0lHX1VOQkxPQ0ssIFtzaWdudW1dKQorICAgICAgICBjaGVja19tYXNrKG9sZF9tYXNrKQogICAgICAgICB0cnk6CiAgICAgICAgICAgICBraWxsKHNpZ251bSkKICAgICAgICAgZXhjZXB0IFplcm9EaXZpc2lvbkVycm9yOgpAQCAtODYxLDExICsxMDQ0LDEzIEBACiAKICAgICAgICAgIyBCbG9jayBhbmQgdGhlbiByYWlzZSBTSUdVU1IxLiBUaGUgc2lnbmFsIGlzIGJsb2NrZWQ6IHRoZSBzaWduYWwKICAgICAgICAgIyBoYW5kbGVyIGlzIG5vdCBjYWxsZWQsIGFuZCB0aGUgc2lnbmFsIGlzIG5vdyBwZW5kaW5nCi0gICAgICAgIHNpZ25hbC5wdGhyZWFkX3NpZ21hc2soc2lnbmFsLlNJR19CTE9DSywgW3NpZ251bV0pCisgICAgICAgIG1hc2sgPSBzaWduYWwucHRocmVhZF9zaWdtYXNrKHNpZ25hbC5TSUdfQkxPQ0ssIFtzaWdudW1dKQorICAgICAgICBjaGVja19tYXNrKG1hc2spCiAgICAgICAgIGtpbGwoc2lnbnVtKQogCiAgICAgICAgICMgQ2hlY2sgdGhlIG5ldyBtYXNrCiAgICAgICAgIGJsb2NrZWQgPSByZWFkX3NpZ21hc2soKQorICAgICAgICBjaGVja19tYXNrKGJsb2NrZWQpCiAgICAgICAgIGlmIHNpZ251bSBub3QgaW4gYmxvY2tlZDoKICAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlvbigiJXMgbm90IGluICVzIiAlIChzaWdudW0sIGJsb2NrZWQpKQogICAgICAgICBpZiBvbGRfbWFzayBeIGJsb2NrZWQgIT0ge3NpZ251bX06CkBAIC05MjgsOCArMTExMyw5IEBACiAKIGRlZiB0ZXN0X21haW4oKToKICAgICB0cnk6Ci0gICAgICAgIHN1cHBvcnQucnVuX3VuaXR0ZXN0KFBvc2l4VGVzdHMsIEludGVyUHJvY2Vzc1NpZ25hbFRlc3RzLAorICAgICAgICBzdXBwb3J0LnJ1bl91bml0dGVzdChHZW5lcmljVGVzdHMsIFBvc2l4VGVzdHMsIEludGVyUHJvY2Vzc1NpZ25hbFRlc3RzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXYWtldXBGRFRlc3RzLCBXYWtldXBTaWduYWxUZXN0cywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2FrZXVwU29ja2V0U2lnbmFsVGVzdHMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNpZ2ludGVycnVwdFRlc3QsIEl0aW1lclRlc3QsIFdpbmRvd3NTaWduYWxUZXN0cywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUGVuZGluZ1NpZ25hbHNUZXN0cykKICAgICBmaW5hbGx5OgpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9zaXRlLnB5IGIvTGliL3Rlc3QvdGVzdF9zaXRlLnB5CmluZGV4IGY3MWNmNzMuLmUyMzQxNjQgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3Rfc2l0ZS5weQorKysgYi9MaWIvdGVzdC90ZXN0X3NpdGUucHkKQEAgLTE0Nyw3ICsxNDcsNyBAQAogICAgICAgICAgICAgcmUuZXNjYXBlKG9zLnBhdGguam9pbihwdGhfZGlyLCBwdGhfZm4pKSkKICAgICAgICAgIyBYWFg6IGRpdHRvIHByZXZpb3VzIFhYWCBjb21tZW50LgogICAgICAgICBzZWxmLmFzc2VydFJlZ2V4KGVycl9vdXQuZ2V0dmFsdWUoKSwgJ1RyYWNlYmFjaycpCi0gICAgICAgIHNlbGYuYXNzZXJ0UmVnZXgoZXJyX291dC5nZXR2YWx1ZSgpLCAnVHlwZUVycm9yJykKKyAgICAgICAgc2VsZi5hc3NlcnRSZWdleChlcnJfb3V0LmdldHZhbHVlKCksICdWYWx1ZUVycm9yJykKIAogICAgIGRlZiB0ZXN0X2FkZHNpdGVkaXIoc2VsZik6CiAgICAgICAgICMgU2FtZSB0ZXN0cyBmb3IgdGVzdF9hZGRwYWNrYWdlIHNpbmNlIGFkZHNpdGVkaXIoKSBlc3NlbnRpYWxseSBqdXN0CkBAIC0yMzUsMjAgKzIzNSwxOCBAQAogICAgICAgICAgICAgIyBPUyBYIGZyYW1ld29yayBidWlsZHMKICAgICAgICAgICAgIHNpdGUuUFJFRklYRVMgPSBbJ1B5dGhvbi5mcmFtZXdvcmsnXQogICAgICAgICAgICAgZGlycyA9IHNpdGUuZ2V0c2l0ZXBhY2thZ2VzKCkKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKGRpcnMpLCAzKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oZGlycyksIDIpCiAgICAgICAgICAgICB3YW50ZWQgPSBvcy5wYXRoLmpvaW4oJy9MaWJyYXJ5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzeXNjb25maWcuZ2V0X2NvbmZpZ192YXIoIlBZVEhPTkZSQU1FV09SSyIpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN5cy52ZXJzaW9uWzozXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2l0ZS1wYWNrYWdlcycpCi0gICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRpcnNbMl0sIHdhbnRlZCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZGlyc1sxXSwgd2FudGVkKQogICAgICAgICBlbGlmIG9zLnNlcCA9PSAnLyc6CiAgICAgICAgICAgICAjIE9TIFggbm9uLWZyYW13ZXdvcmsgYnVpbGRzLCBMaW51eCwgRnJlZUJTRCwgZXRjCi0gICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihkaXJzKSwgMikKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKGRpcnMpLCAxKQogICAgICAgICAgICAgd2FudGVkID0gb3MucGF0aC5qb2luKCd4b3hvJywgJ2xpYicsICdweXRob24nICsgc3lzLnZlcnNpb25bOjNdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzaXRlLXBhY2thZ2VzJykKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZGlyc1swXSwgd2FudGVkKQotICAgICAgICAgICAgd2FudGVkID0gb3MucGF0aC5qb2luKCd4b3hvJywgJ2xpYicsICdzaXRlLXB5dGhvbicpCi0gICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRpcnNbMV0sIHdhbnRlZCkKICAgICAgICAgZWxzZToKICAgICAgICAgICAgICMgb3RoZXIgcGxhdGZvcm1zCiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihkaXJzKSwgMikKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3Rfc210cGQucHkgYi9MaWIvdGVzdC90ZXN0X3NtdHBkLnB5CmluZGV4IDkzZjE0YzQuLjZlYjQ3ZjEgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3Rfc210cGQucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9zbXRwZC5weQpAQCAtMSw0ICsxLDUgQEAKIGltcG9ydCB1bml0dGVzdAoraW1wb3J0IHRleHR3cmFwCiBmcm9tIHRlc3QgaW1wb3J0IHN1cHBvcnQsIG1vY2tfc29ja2V0CiBpbXBvcnQgc29ja2V0CiBpbXBvcnQgaW8KQEAgLTcsMTUgKzgsMjIgQEAKIAogCiBjbGFzcyBEdW1teVNlcnZlcihzbXRwZC5TTVRQU2VydmVyKToKLSAgICBkZWYgX19pbml0X18oc2VsZiwgbG9jYWxhZGRyLCByZW1vdGVhZGRyKToKLSAgICAgICAgc210cGQuU01UUFNlcnZlci5fX2luaXRfXyhzZWxmLCBsb2NhbGFkZHIsIHJlbW90ZWFkZHIpCisgICAgZGVmIF9faW5pdF9fKHNlbGYsICphcmdzLCAqKmt3YXJncyk6CisgICAgICAgIHNtdHBkLlNNVFBTZXJ2ZXIuX19pbml0X18oc2VsZiwgKmFyZ3MsICoqa3dhcmdzKQogICAgICAgICBzZWxmLm1lc3NhZ2VzID0gW10KKyAgICAgICAgaWYgc2VsZi5fZGVjb2RlX2RhdGE6CisgICAgICAgICAgICBzZWxmLnJldHVybl9zdGF0dXMgPSAncmV0dXJuIHN0YXR1cycKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHNlbGYucmV0dXJuX3N0YXR1cyA9IGIncmV0dXJuIHN0YXR1cycKIAogICAgIGRlZiBwcm9jZXNzX21lc3NhZ2Uoc2VsZiwgcGVlciwgbWFpbGZyb20sIHJjcHR0b3MsIGRhdGEpOgogICAgICAgICBzZWxmLm1lc3NhZ2VzLmFwcGVuZCgocGVlciwgbWFpbGZyb20sIHJjcHR0b3MsIGRhdGEpKQotICAgICAgICBpZiBkYXRhID09ICdyZXR1cm4gc3RhdHVzJzoKKyAgICAgICAgaWYgZGF0YSA9PSBzZWxmLnJldHVybl9zdGF0dXM6CiAgICAgICAgICAgICByZXR1cm4gJzI1MCBPa2lzaCcKIAorICAgIGRlZiBwcm9jZXNzX3NtdHB1dGY4X21lc3NhZ2Uoc2VsZiwgKmFyZ3MsICoqa3dhcmdzKToKKyAgICAgICAgcmV0dXJuICcyNTAgU01UUFVURjggbWVzc2FnZSBva2lzaCcKKwogCiBjbGFzcyBEdW1teURpc3BhdGNoZXJCcm9rZW4oRXhjZXB0aW9uKToKICAgICBwYXNzCkBAIC0zMSw5ICszOSwxMCBAQAogICAgICAgICBzbXRwZC5zb2NrZXQgPSBhc3luY29yZS5zb2NrZXQgPSBtb2NrX3NvY2tldAogCiAgICAgZGVmIHRlc3RfcHJvY2Vzc19tZXNzYWdlX3VuaW1wbGVtZW50ZWQoc2VsZik6Ci0gICAgICAgIHNlcnZlciA9IHNtdHBkLlNNVFBTZXJ2ZXIoJ2EnLCAnYicpCisgICAgICAgIHNlcnZlciA9IHNtdHBkLlNNVFBTZXJ2ZXIoKHN1cHBvcnQuSE9TVCwgMCksICgnYicsIDApLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlY29kZV9kYXRhPVRydWUpCiAgICAgICAgIGNvbm4sIGFkZHIgPSBzZXJ2ZXIuYWNjZXB0KCkKLSAgICAgICAgY2hhbm5lbCA9IHNtdHBkLlNNVFBDaGFubmVsKHNlcnZlciwgY29ubiwgYWRkcikKKyAgICAgICAgY2hhbm5lbCA9IHNtdHBkLlNNVFBDaGFubmVsKHNlcnZlciwgY29ubiwgYWRkciwgZGVjb2RlX2RhdGE9VHJ1ZSkKIAogICAgICAgICBkZWYgd3JpdGVfbGluZShsaW5lKToKICAgICAgICAgICAgIGNoYW5uZWwuc29ja2V0LnF1ZXVlX3JlY3YobGluZSkKQEAgLTQ1LDE5ICs1NCwxNjMgQEAKICAgICAgICAgd3JpdGVfbGluZShiJ0RBVEEnKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhOb3RJbXBsZW1lbnRlZEVycm9yLCB3cml0ZV9saW5lLCBiJ3NwYW1cclxuLlxyXG4nKQogCisgICAgZGVmIHRlc3RfcHJvY2Vzc19zbXRwdXRmOF9tZXNzYWdlX3VuaW1wbGVtZW50ZWQoc2VsZik6CisgICAgICAgIHNlcnZlciA9IHNtdHBkLlNNVFBTZXJ2ZXIoKHN1cHBvcnQuSE9TVCwgMCksICgnYicsIDApLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuYWJsZV9TTVRQVVRGOD1UcnVlKQorICAgICAgICBjb25uLCBhZGRyID0gc2VydmVyLmFjY2VwdCgpCisgICAgICAgIGNoYW5uZWwgPSBzbXRwZC5TTVRQQ2hhbm5lbChzZXJ2ZXIsIGNvbm4sIGFkZHIsIGVuYWJsZV9TTVRQVVRGOD1UcnVlKQorCisgICAgICAgIGRlZiB3cml0ZV9saW5lKGxpbmUpOgorICAgICAgICAgICAgY2hhbm5lbC5zb2NrZXQucXVldWVfcmVjdihsaW5lKQorICAgICAgICAgICAgY2hhbm5lbC5oYW5kbGVfcmVhZCgpCisKKyAgICAgICAgd3JpdGVfbGluZShiJ0VITE8gZXhhbXBsZScpCisgICAgICAgIHdyaXRlX2xpbmUoYidNQUlMIEZyb206IDxlZ2dzQGV4YW1wbGU+IEJPRFk9OEJJVE1JTUUgU01UUFVURjgnKQorICAgICAgICB3cml0ZV9saW5lKGInUkNQVCBUbzogPHNwYW1AZXhhbXBsZT4nKQorICAgICAgICB3cml0ZV9saW5lKGInREFUQScpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKE5vdEltcGxlbWVudGVkRXJyb3IsIHdyaXRlX2xpbmUsIGInc3BhbVxyXG4uXHJcbicpCisKKyAgICBkZWYgdGVzdF9kZWNvZGVfZGF0YV9kZWZhdWx0X3dhcm5zKHNlbGYpOgorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0V2FybnMoRGVwcmVjYXRpb25XYXJuaW5nKToKKyAgICAgICAgICAgIHNtdHBkLlNNVFBTZXJ2ZXIoKHN1cHBvcnQuSE9TVCwgMCksICgnYicsIDApKQorCisgICAgZGVmIHRlc3RfZGVjb2RlX2RhdGFfYW5kX2VuYWJsZV9TTVRQVVRGOF9yYWlzZXMoc2VsZik6CisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKAorICAgICAgICAgICAgVmFsdWVFcnJvciwKKyAgICAgICAgICAgIHNtdHBkLlNNVFBTZXJ2ZXIsCisgICAgICAgICAgICAoc3VwcG9ydC5IT1NULCAwKSwKKyAgICAgICAgICAgICgnYicsIDApLAorICAgICAgICAgICAgZW5hYmxlX1NNVFBVVEY4PVRydWUsCisgICAgICAgICAgICBkZWNvZGVfZGF0YT1UcnVlKQorCiAgICAgZGVmIHRlYXJEb3duKHNlbGYpOgogICAgICAgICBhc3luY29yZS5jbG9zZV9hbGwoKQogICAgICAgICBhc3luY29yZS5zb2NrZXQgPSBzbXRwZC5zb2NrZXQgPSBzb2NrZXQKIAogCitjbGFzcyBEZWJ1Z2dpbmdTZXJ2ZXJUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKKworICAgIGRlZiBzZXRVcChzZWxmKToKKyAgICAgICAgc210cGQuc29ja2V0ID0gYXN5bmNvcmUuc29ja2V0ID0gbW9ja19zb2NrZXQKKworICAgIGRlZiBzZW5kX2RhdGEoc2VsZiwgY2hhbm5lbCwgZGF0YSwgZW5hYmxlX1NNVFBVVEY4PUZhbHNlKToKKyAgICAgICAgZGVmIHdyaXRlX2xpbmUobGluZSk6CisgICAgICAgICAgICBjaGFubmVsLnNvY2tldC5xdWV1ZV9yZWN2KGxpbmUpCisgICAgICAgICAgICBjaGFubmVsLmhhbmRsZV9yZWFkKCkKKyAgICAgICAgd3JpdGVfbGluZShiJ0VITE8gZXhhbXBsZScpCisgICAgICAgIGlmIGVuYWJsZV9TTVRQVVRGODoKKyAgICAgICAgICAgIHdyaXRlX2xpbmUoYidNQUlMIEZyb206ZWdnc0BleGFtcGxlIEJPRFk9OEJJVE1JTUUgU01UUFVURjgnKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgd3JpdGVfbGluZShiJ01BSUwgRnJvbTplZ2dzQGV4YW1wbGUnKQorICAgICAgICB3cml0ZV9saW5lKGInUkNQVCBUbzpzcGFtQGV4YW1wbGUnKQorICAgICAgICB3cml0ZV9saW5lKGInREFUQScpCisgICAgICAgIHdyaXRlX2xpbmUoZGF0YSkKKyAgICAgICAgd3JpdGVfbGluZShiJy4nKQorCisgICAgZGVmIHRlc3RfcHJvY2Vzc19tZXNzYWdlX3dpdGhfZGVjb2RlX2RhdGFfdHJ1ZShzZWxmKToKKyAgICAgICAgc2VydmVyID0gc210cGQuRGVidWdnaW5nU2VydmVyKChzdXBwb3J0LkhPU1QsIDApLCAoJ2InLCAwKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlY29kZV9kYXRhPVRydWUpCisgICAgICAgIGNvbm4sIGFkZHIgPSBzZXJ2ZXIuYWNjZXB0KCkKKyAgICAgICAgY2hhbm5lbCA9IHNtdHBkLlNNVFBDaGFubmVsKHNlcnZlciwgY29ubiwgYWRkciwgZGVjb2RlX2RhdGE9VHJ1ZSkKKyAgICAgICAgd2l0aCBzdXBwb3J0LmNhcHR1cmVkX3N0ZG91dCgpIGFzIHM6CisgICAgICAgICAgICBzZWxmLnNlbmRfZGF0YShjaGFubmVsLCBiJ0Zyb206IHRlc3RcblxuaGVsbG9cbicpCisgICAgICAgIHN0ZG91dCA9IHMuZ2V0dmFsdWUoKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0ZG91dCwgdGV4dHdyYXAuZGVkZW50KCIiIlwKKyAgICAgICAgICAgICAtLS0tLS0tLS0tIE1FU1NBR0UgRk9MTE9XUyAtLS0tLS0tLS0tCisgICAgICAgICAgICAgRnJvbTogdGVzdAorICAgICAgICAgICAgIFgtUGVlcjogcGVlci1hZGRyZXNzCisKKyAgICAgICAgICAgICBoZWxsbworICAgICAgICAgICAgIC0tLS0tLS0tLS0tLSBFTkQgTUVTU0FHRSAtLS0tLS0tLS0tLS0KKyAgICAgICAgICAgICAiIiIpKQorCisgICAgZGVmIHRlc3RfcHJvY2Vzc19tZXNzYWdlX3dpdGhfZGVjb2RlX2RhdGFfZmFsc2Uoc2VsZik6CisgICAgICAgIHNlcnZlciA9IHNtdHBkLkRlYnVnZ2luZ1NlcnZlcigoc3VwcG9ydC5IT1NULCAwKSwgKCdiJywgMCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWNvZGVfZGF0YT1GYWxzZSkKKyAgICAgICAgY29ubiwgYWRkciA9IHNlcnZlci5hY2NlcHQoKQorICAgICAgICBjaGFubmVsID0gc210cGQuU01UUENoYW5uZWwoc2VydmVyLCBjb25uLCBhZGRyLCBkZWNvZGVfZGF0YT1GYWxzZSkKKyAgICAgICAgd2l0aCBzdXBwb3J0LmNhcHR1cmVkX3N0ZG91dCgpIGFzIHM6CisgICAgICAgICAgICBzZWxmLnNlbmRfZGF0YShjaGFubmVsLCBiJ0Zyb206IHRlc3RcblxuaFx4YzNceGE5bGxvXHhmZlxuJykKKyAgICAgICAgc3Rkb3V0ID0gcy5nZXR2YWx1ZSgpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3Rkb3V0LCB0ZXh0d3JhcC5kZWRlbnQoIiIiXAorICAgICAgICAgICAgIC0tLS0tLS0tLS0gTUVTU0FHRSBGT0xMT1dTIC0tLS0tLS0tLS0KKyAgICAgICAgICAgICBiJ0Zyb206IHRlc3QnCisgICAgICAgICAgICAgYidYLVBlZXI6IHBlZXItYWRkcmVzcycKKyAgICAgICAgICAgICBiJycKKyAgICAgICAgICAgICBiJ2hcXHhjM1xceGE5bGxvXFx4ZmYnCisgICAgICAgICAgICAgLS0tLS0tLS0tLS0tIEVORCBNRVNTQUdFIC0tLS0tLS0tLS0tLQorICAgICAgICAgICAgICIiIikpCisKKyAgICBkZWYgdGVzdF9wcm9jZXNzX21lc3NhZ2Vfd2l0aF9lbmFibGVfU01UUFVURjhfdHJ1ZShzZWxmKToKKyAgICAgICAgc2VydmVyID0gc210cGQuRGVidWdnaW5nU2VydmVyKChzdXBwb3J0LkhPU1QsIDApLCAoJ2InLCAwKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuYWJsZV9TTVRQVVRGOD1UcnVlKQorICAgICAgICBjb25uLCBhZGRyID0gc2VydmVyLmFjY2VwdCgpCisgICAgICAgIGNoYW5uZWwgPSBzbXRwZC5TTVRQQ2hhbm5lbChzZXJ2ZXIsIGNvbm4sIGFkZHIsIGVuYWJsZV9TTVRQVVRGOD1UcnVlKQorICAgICAgICB3aXRoIHN1cHBvcnQuY2FwdHVyZWRfc3Rkb3V0KCkgYXMgczoKKyAgICAgICAgICAgIHNlbGYuc2VuZF9kYXRhKGNoYW5uZWwsIGInRnJvbTogdGVzdFxuXG5oXHhjM1x4YTlsbG9ceGZmXG4nKQorICAgICAgICBzdGRvdXQgPSBzLmdldHZhbHVlKCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdGRvdXQsIHRleHR3cmFwLmRlZGVudCgiIiJcCisgICAgICAgICAgICAgLS0tLS0tLS0tLSBNRVNTQUdFIEZPTExPV1MgLS0tLS0tLS0tLQorICAgICAgICAgICAgIGInRnJvbTogdGVzdCcKKyAgICAgICAgICAgICBiJ1gtUGVlcjogcGVlci1hZGRyZXNzJworICAgICAgICAgICAgIGInJworICAgICAgICAgICAgIGInaFxceGMzXFx4YTlsbG9cXHhmZicKKyAgICAgICAgICAgICAtLS0tLS0tLS0tLS0gRU5EIE1FU1NBR0UgLS0tLS0tLS0tLS0tCisgICAgICAgICAgICAgIiIiKSkKKworICAgIGRlZiB0ZXN0X3Byb2Nlc3NfU01UUFVURjhfbWVzc2FnZV93aXRoX2VuYWJsZV9TTVRQVVRGOF90cnVlKHNlbGYpOgorICAgICAgICBzZXJ2ZXIgPSBzbXRwZC5EZWJ1Z2dpbmdTZXJ2ZXIoKHN1cHBvcnQuSE9TVCwgMCksICgnYicsIDApLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5hYmxlX1NNVFBVVEY4PVRydWUpCisgICAgICAgIGNvbm4sIGFkZHIgPSBzZXJ2ZXIuYWNjZXB0KCkKKyAgICAgICAgY2hhbm5lbCA9IHNtdHBkLlNNVFBDaGFubmVsKHNlcnZlciwgY29ubiwgYWRkciwgZW5hYmxlX1NNVFBVVEY4PVRydWUpCisgICAgICAgIHdpdGggc3VwcG9ydC5jYXB0dXJlZF9zdGRvdXQoKSBhcyBzOgorICAgICAgICAgICAgc2VsZi5zZW5kX2RhdGEoY2hhbm5lbCwgYidGcm9tOiB0ZXN0XG5cbmhceGMzXHhhOWxsb1x4ZmZcbicsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmFibGVfU01UUFVURjg9VHJ1ZSkKKyAgICAgICAgc3Rkb3V0ID0gcy5nZXR2YWx1ZSgpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3Rkb3V0LCB0ZXh0d3JhcC5kZWRlbnQoIiIiXAorICAgICAgICAgICAgIC0tLS0tIFNNVFBVVEY4IE1FU1NBR0UgRk9MTE9XUyAtLS0tLS0KKyAgICAgICAgICAgICBiJ0Zyb206IHRlc3QnCisgICAgICAgICAgICAgYidYLVBlZXI6IHBlZXItYWRkcmVzcycKKyAgICAgICAgICAgICBiJycKKyAgICAgICAgICAgICBiJ2hcXHhjM1xceGE5bGxvXFx4ZmYnCisgICAgICAgICAgICAgLS0tLS0tLS0tLS0tIEVORCBNRVNTQUdFIC0tLS0tLS0tLS0tLQorICAgICAgICAgICAgICIiIikpCisKKyAgICBkZWYgdGVhckRvd24oc2VsZik6CisgICAgICAgIGFzeW5jb3JlLmNsb3NlX2FsbCgpCisgICAgICAgIGFzeW5jb3JlLnNvY2tldCA9IHNtdHBkLnNvY2tldCA9IHNvY2tldAorCisKK2NsYXNzIFRlc3RGYW1pbHlEZXRlY3Rpb24odW5pdHRlc3QuVGVzdENhc2UpOgorICAgIGRlZiBzZXRVcChzZWxmKToKKyAgICAgICAgc210cGQuc29ja2V0ID0gYXN5bmNvcmUuc29ja2V0ID0gbW9ja19zb2NrZXQKKworICAgIGRlZiB0ZWFyRG93bihzZWxmKToKKyAgICAgICAgYXN5bmNvcmUuY2xvc2VfYWxsKCkKKyAgICAgICAgYXN5bmNvcmUuc29ja2V0ID0gc210cGQuc29ja2V0ID0gc29ja2V0CisKKyAgICBAdW5pdHRlc3Quc2tpcFVubGVzcyhzdXBwb3J0LklQVjZfRU5BQkxFRCwgIklQdjYgbm90IGVuYWJsZWQiKQorICAgIGRlZiB0ZXN0X3NvY2tldF91c2VzX0lQdjYoc2VsZik6CisgICAgICAgIHNlcnZlciA9IHNtdHBkLlNNVFBTZXJ2ZXIoKHN1cHBvcnQuSE9TVHY2LCAwKSwgKHN1cHBvcnQuSE9TVCwgMCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVjb2RlX2RhdGE9RmFsc2UpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VydmVyLnNvY2tldC5mYW1pbHksIHNvY2tldC5BRl9JTkVUNikKKworICAgIGRlZiB0ZXN0X3NvY2tldF91c2VzX0lQdjQoc2VsZik6CisgICAgICAgIHNlcnZlciA9IHNtdHBkLlNNVFBTZXJ2ZXIoKHN1cHBvcnQuSE9TVCwgMCksIChzdXBwb3J0LkhPU1R2NiwgMCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVjb2RlX2RhdGE9RmFsc2UpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VydmVyLnNvY2tldC5mYW1pbHksIHNvY2tldC5BRl9JTkVUKQorCisKIGNsYXNzIFNNVFBEQ2hhbm5lbFRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgogICAgIGRlZiBzZXRVcChzZWxmKToKICAgICAgICAgc210cGQuc29ja2V0ID0gYXN5bmNvcmUuc29ja2V0ID0gbW9ja19zb2NrZXQKICAgICAgICAgc2VsZi5vbGRfZGVidWdzdHJlYW0gPSBzbXRwZC5ERUJVR1NUUkVBTQogICAgICAgICBzZWxmLmRlYnVnID0gc210cGQuREVCVUdTVFJFQU0gPSBpby5TdHJpbmdJTygpCi0gICAgICAgIHNlbGYuc2VydmVyID0gRHVtbXlTZXJ2ZXIoJ2EnLCAnYicpCisgICAgICAgIHNlbGYuc2VydmVyID0gRHVtbXlTZXJ2ZXIoKHN1cHBvcnQuSE9TVCwgMCksICgnYicsIDApLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlY29kZV9kYXRhPVRydWUpCiAgICAgICAgIGNvbm4sIGFkZHIgPSBzZWxmLnNlcnZlci5hY2NlcHQoKQotICAgICAgICBzZWxmLmNoYW5uZWwgPSBzbXRwZC5TTVRQQ2hhbm5lbChzZWxmLnNlcnZlciwgY29ubiwgYWRkcikKKyAgICAgICAgc2VsZi5jaGFubmVsID0gc210cGQuU01UUENoYW5uZWwoc2VsZi5zZXJ2ZXIsIGNvbm4sIGFkZHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlY29kZV9kYXRhPVRydWUpCiAKICAgICBkZWYgdGVhckRvd24oc2VsZik6CiAgICAgICAgIGFzeW5jb3JlLmNsb3NlX2FsbCgpCkBAIC02OSw3ICsyMjIsOSBAQAogICAgICAgICBzZWxmLmNoYW5uZWwuaGFuZGxlX3JlYWQoKQogCiAgICAgZGVmIHRlc3RfYnJva2VuX2Nvbm5lY3Qoc2VsZik6Ci0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKER1bW15RGlzcGF0Y2hlckJyb2tlbiwgQnJva2VuRHVtbXlTZXJ2ZXIsICdhJywgJ2InKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcygKKyAgICAgICAgICAgIER1bW15RGlzcGF0Y2hlckJyb2tlbiwgQnJva2VuRHVtbXlTZXJ2ZXIsCisgICAgICAgICAgICAoc3VwcG9ydC5IT1NULCAwKSwgKCdiJywgMCksIGRlY29kZV9kYXRhPVRydWUpCiAKICAgICBkZWYgdGVzdF9zZXJ2ZXJfYWNjZXB0KHNlbGYpOgogICAgICAgICBzZWxmLnNlcnZlci5oYW5kbGVfYWNjZXB0KCkKQEAgLTIxNCw2ICszNjksMTIgQEAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLmNoYW5uZWwuc29ja2V0Lmxhc3QsCiAgICAgICAgICAgICAgICAgICAgICAgICAgYic1MDAgRXJyb3I6IGxpbmUgdG9vIGxvbmdcclxuJykKIAorICAgIGRlZiB0ZXN0X01BSUxfY29tbWFuZF9yZWplY3RzX1NNVFBVVEY4X2J5X2RlZmF1bHQoc2VsZik6CisgICAgICAgIHNlbGYud3JpdGVfbGluZShiJ0VITE8gZXhhbXBsZScpCisgICAgICAgIHNlbGYud3JpdGVfbGluZSgKKyAgICAgICAgICAgIGInTUFJTCBmcm9tOiA8bmFpdmVAZXhhbXBsZS5jb20+IEJPRFk9OEJJVE1JTUUgU01UUFVURjgnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuY2hhbm5lbC5zb2NrZXQubGFzdFswOjFdLCBiJzUnKQorCiAgICAgZGVmIHRlc3RfZGF0YV9sb25nZXJfdGhhbl9kZWZhdWx0X2RhdGFfc2l6ZV9saW1pdChzZWxmKToKICAgICAgICAgIyBIYWNrIHRoZSBkZWZhdWx0IHNvIHdlIGRvbid0IGhhdmUgdG8gZ2VuZXJhdGUgc28gbXVjaCBkYXRhLgogICAgICAgICBzZWxmLmNoYW5uZWwuZGF0YV9zaXplX2xpbWl0ID0gMTA0OApAQCAtMzg3LDcgKzU0OCwxMCBAQAogICAgICAgICBzZWxmLndyaXRlX2xpbmUoYidkYXRhXHJcbm1vcmVcclxuLicpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5jaGFubmVsLnNvY2tldC5sYXN0LCBiJzI1MCBPS1xyXG4nKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuc2VydmVyLm1lc3NhZ2VzLAotICAgICAgICAgICAgWygncGVlcicsICdlZ2dzQGV4YW1wbGUnLCBbJ3NwYW1AZXhhbXBsZSddLCAnZGF0YVxubW9yZScpXSkKKyAgICAgICAgICAgIFsoKCdwZWVyLWFkZHJlc3MnLCAncGVlci1wb3J0JyksCisgICAgICAgICAgICAgICdlZ2dzQGV4YW1wbGUnLAorICAgICAgICAgICAgICBbJ3NwYW1AZXhhbXBsZSddLAorICAgICAgICAgICAgICAnZGF0YVxubW9yZScpXSkKIAogICAgIGRlZiB0ZXN0X0RBVEFfc3ludGF4KHNlbGYpOgogICAgICAgICBzZWxmLndyaXRlX2xpbmUoYidIRUxPIGV4YW1wbGUnKQpAQCAtNDE3LDcgKzU4MSwxMCBAQAogICAgICAgICBzZWxmLndyaXRlX2xpbmUoYidEQVRBJykKICAgICAgICAgc2VsZi53cml0ZV9saW5lKGInZGF0YVxyXG4uJykKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLnNlcnZlci5tZXNzYWdlcywKLSAgICAgICAgICAgIFsoJ3BlZXInLCAnZWdnc0BleGFtcGxlJywgWydzcGFtQGV4YW1wbGUnLCdoYW1AZXhhbXBsZSddLCAnZGF0YScpXSkKKyAgICAgICAgICAgIFsoKCdwZWVyLWFkZHJlc3MnLCAncGVlci1wb3J0JyksCisgICAgICAgICAgICAgICdlZ2dzQGV4YW1wbGUnLAorICAgICAgICAgICAgICBbJ3NwYW1AZXhhbXBsZScsJ2hhbUBleGFtcGxlJ10sCisgICAgICAgICAgICAgICdkYXRhJyldKQogCiAgICAgZGVmIHRlc3RfbWFudWFsX3N0YXR1cyhzZWxmKToKICAgICAgICAgIyBjaGVja3MgdGhhdCB0aGUgQ2hhbm5lbCBpcyBhYmxlIHRvIHJldHVybiBhIGN1c3RvbSBzdGF0dXMgbWVzc2FnZQpAQCAtNDM5LDcgKzYwNiwxMCBAQAogICAgICAgICBzZWxmLndyaXRlX2xpbmUoYidEQVRBJykKICAgICAgICAgc2VsZi53cml0ZV9saW5lKGInZGF0YVxyXG4uJykKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLnNlcnZlci5tZXNzYWdlcywKLSAgICAgICAgICAgIFsoJ3BlZXInLCAnZm9vQGV4YW1wbGUnLCBbJ2VnZ3NAZXhhbXBsZSddLCAnZGF0YScpXSkKKyAgICAgICAgICAgIFsoKCdwZWVyLWFkZHJlc3MnLCAncGVlci1wb3J0JyksCisgICAgICAgICAgICAgICAnZm9vQGV4YW1wbGUnLAorICAgICAgICAgICAgICAgWydlZ2dzQGV4YW1wbGUnXSwKKyAgICAgICAgICAgICAgICdkYXRhJyldKQogCiAgICAgZGVmIHRlc3RfSEVMT19SU0VUKHNlbGYpOgogICAgICAgICBzZWxmLndyaXRlX2xpbmUoYidIRUxPIGV4YW1wbGUnKQpAQCAtNTAyLDYgKzY3MiwyNCBAQAogICAgICAgICB3aXRoIHN1cHBvcnQuY2hlY2tfd2FybmluZ3MoKCcnLCBEZXByZWNhdGlvbldhcm5pbmcpKToKICAgICAgICAgICAgIHNlbGYuY2hhbm5lbC5fU01UUENoYW5uZWxfX2FkZHIgPSAnc3BhbScKIAorICAgIGRlZiB0ZXN0X2RlY29kZV9kYXRhX2RlZmF1bHRfd2FybmluZyhzZWxmKToKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFdhcm5zKERlcHJlY2F0aW9uV2FybmluZyk6CisgICAgICAgICAgICBzZXJ2ZXIgPSBEdW1teVNlcnZlcigoc3VwcG9ydC5IT1NULCAwKSwgKCdiJywgMCkpCisgICAgICAgIGNvbm4sIGFkZHIgPSBzZWxmLnNlcnZlci5hY2NlcHQoKQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0V2FybnMoRGVwcmVjYXRpb25XYXJuaW5nKToKKyAgICAgICAgICAgIHNtdHBkLlNNVFBDaGFubmVsKHNlcnZlciwgY29ubiwgYWRkcikKKworQHVuaXR0ZXN0LnNraXBVbmxlc3Moc3VwcG9ydC5JUFY2X0VOQUJMRUQsICJJUHY2IG5vdCBlbmFibGVkIikKK2NsYXNzIFNNVFBEQ2hhbm5lbElQdjZUZXN0KFNNVFBEQ2hhbm5lbFRlc3QpOgorICAgIGRlZiBzZXRVcChzZWxmKToKKyAgICAgICAgc210cGQuc29ja2V0ID0gYXN5bmNvcmUuc29ja2V0ID0gbW9ja19zb2NrZXQKKyAgICAgICAgc2VsZi5vbGRfZGVidWdzdHJlYW0gPSBzbXRwZC5ERUJVR1NUUkVBTQorICAgICAgICBzZWxmLmRlYnVnID0gc210cGQuREVCVUdTVFJFQU0gPSBpby5TdHJpbmdJTygpCisgICAgICAgIHNlbGYuc2VydmVyID0gRHVtbXlTZXJ2ZXIoKHN1cHBvcnQuSE9TVHY2LCAwKSwgKCdiJywgMCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVjb2RlX2RhdGE9VHJ1ZSkKKyAgICAgICAgY29ubiwgYWRkciA9IHNlbGYuc2VydmVyLmFjY2VwdCgpCisgICAgICAgIHNlbGYuY2hhbm5lbCA9IHNtdHBkLlNNVFBDaGFubmVsKHNlbGYuc2VydmVyLCBjb25uLCBhZGRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWNvZGVfZGF0YT1UcnVlKQogCiBjbGFzcyBTTVRQRENoYW5uZWxXaXRoRGF0YVNpemVMaW1pdFRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgogCkBAIC01MDksMTAgKzY5NywxMiBAQAogICAgICAgICBzbXRwZC5zb2NrZXQgPSBhc3luY29yZS5zb2NrZXQgPSBtb2NrX3NvY2tldAogICAgICAgICBzZWxmLm9sZF9kZWJ1Z3N0cmVhbSA9IHNtdHBkLkRFQlVHU1RSRUFNCiAgICAgICAgIHNlbGYuZGVidWcgPSBzbXRwZC5ERUJVR1NUUkVBTSA9IGlvLlN0cmluZ0lPKCkKLSAgICAgICAgc2VsZi5zZXJ2ZXIgPSBEdW1teVNlcnZlcignYScsICdiJykKKyAgICAgICAgc2VsZi5zZXJ2ZXIgPSBEdW1teVNlcnZlcigoc3VwcG9ydC5IT1NULCAwKSwgKCdiJywgMCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVjb2RlX2RhdGE9VHJ1ZSkKICAgICAgICAgY29ubiwgYWRkciA9IHNlbGYuc2VydmVyLmFjY2VwdCgpCiAgICAgICAgICMgU2V0IERBVEEgc2l6ZSBsaW1pdCB0byAzMiBieXRlcyBmb3IgZWFzeSB0ZXN0aW5nCi0gICAgICAgIHNlbGYuY2hhbm5lbCA9IHNtdHBkLlNNVFBDaGFubmVsKHNlbGYuc2VydmVyLCBjb25uLCBhZGRyLCAzMikKKyAgICAgICAgc2VsZi5jaGFubmVsID0gc210cGQuU01UUENoYW5uZWwoc2VsZi5zZXJ2ZXIsIGNvbm4sIGFkZHIsIDMyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWNvZGVfZGF0YT1UcnVlKQogCiAgICAgZGVmIHRlYXJEb3duKHNlbGYpOgogICAgICAgICBhc3luY29yZS5jbG9zZV9hbGwoKQpAQCAtNTM2LDcgKzcyNiwxMCBAQAogICAgICAgICBzZWxmLndyaXRlX2xpbmUoYidkYXRhXHJcbm1vcmVcclxuLicpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5jaGFubmVsLnNvY2tldC5sYXN0LCBiJzI1MCBPS1xyXG4nKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuc2VydmVyLm1lc3NhZ2VzLAotICAgICAgICAgICAgWygncGVlcicsICdlZ2dzQGV4YW1wbGUnLCBbJ3NwYW1AZXhhbXBsZSddLCAnZGF0YVxubW9yZScpXSkKKyAgICAgICAgICAgIFsoKCdwZWVyLWFkZHJlc3MnLCAncGVlci1wb3J0JyksCisgICAgICAgICAgICAgICdlZ2dzQGV4YW1wbGUnLAorICAgICAgICAgICAgICBbJ3NwYW1AZXhhbXBsZSddLAorICAgICAgICAgICAgICAnZGF0YVxubW9yZScpXSkKIAogICAgIGRlZiB0ZXN0X2RhdGFfbGltaXRfZGlhbG9nX3Rvb19tdWNoX2RhdGEoc2VsZik6CiAgICAgICAgIHNlbGYud3JpdGVfbGluZShiJ0hFTE8gZXhhbXBsZScpCkBAIC01NTMsNSArNzQ2LDE4MSBAQAogICAgICAgICAgICAgICAgICAgICAgICAgIGInNTUyIEVycm9yOiBUb28gbXVjaCBtYWlsIGRhdGFcclxuJykKIAogCitjbGFzcyBTTVRQRENoYW5uZWxXaXRoRGVjb2RlRGF0YUZhbHNlKHVuaXR0ZXN0LlRlc3RDYXNlKToKKworICAgIGRlZiBzZXRVcChzZWxmKToKKyAgICAgICAgc210cGQuc29ja2V0ID0gYXN5bmNvcmUuc29ja2V0ID0gbW9ja19zb2NrZXQKKyAgICAgICAgc2VsZi5vbGRfZGVidWdzdHJlYW0gPSBzbXRwZC5ERUJVR1NUUkVBTQorICAgICAgICBzZWxmLmRlYnVnID0gc210cGQuREVCVUdTVFJFQU0gPSBpby5TdHJpbmdJTygpCisgICAgICAgIHNlbGYuc2VydmVyID0gRHVtbXlTZXJ2ZXIoKHN1cHBvcnQuSE9TVCwgMCksICgnYicsIDApLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlY29kZV9kYXRhPUZhbHNlKQorICAgICAgICBjb25uLCBhZGRyID0gc2VsZi5zZXJ2ZXIuYWNjZXB0KCkKKyAgICAgICAgIyBTZXQgZGVjb2RlX2RhdGEgdG8gRmFsc2UKKyAgICAgICAgc2VsZi5jaGFubmVsID0gc210cGQuU01UUENoYW5uZWwoc2VsZi5zZXJ2ZXIsIGNvbm4sIGFkZHIsCisgICAgICAgICAgICAgICAgZGVjb2RlX2RhdGE9RmFsc2UpCisKKyAgICBkZWYgdGVhckRvd24oc2VsZik6CisgICAgICAgIGFzeW5jb3JlLmNsb3NlX2FsbCgpCisgICAgICAgIGFzeW5jb3JlLnNvY2tldCA9IHNtdHBkLnNvY2tldCA9IHNvY2tldAorICAgICAgICBzbXRwZC5ERUJVR1NUUkVBTSA9IHNlbGYub2xkX2RlYnVnc3RyZWFtCisKKyAgICBkZWYgd3JpdGVfbGluZShzZWxmLCBsaW5lKToKKyAgICAgICAgc2VsZi5jaGFubmVsLnNvY2tldC5xdWV1ZV9yZWN2KGxpbmUpCisgICAgICAgIHNlbGYuY2hhbm5lbC5oYW5kbGVfcmVhZCgpCisKKyAgICBkZWYgdGVzdF9hc2NpaV9kYXRhKHNlbGYpOgorICAgICAgICBzZWxmLndyaXRlX2xpbmUoYidIRUxPIGV4YW1wbGUnKQorICAgICAgICBzZWxmLndyaXRlX2xpbmUoYidNQUlMIEZyb206ZWdnc0BleGFtcGxlJykKKyAgICAgICAgc2VsZi53cml0ZV9saW5lKGInUkNQVCBUbzpzcGFtQGV4YW1wbGUnKQorICAgICAgICBzZWxmLndyaXRlX2xpbmUoYidEQVRBJykKKyAgICAgICAgc2VsZi53cml0ZV9saW5lKGIncGxhaW4gYXNjaWkgdGV4dCcpCisgICAgICAgIHNlbGYud3JpdGVfbGluZShiJy4nKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuY2hhbm5lbC5yZWNlaXZlZF9kYXRhLCBiJ3BsYWluIGFzY2lpIHRleHQnKQorCisgICAgZGVmIHRlc3RfdXRmOF9kYXRhKHNlbGYpOgorICAgICAgICBzZWxmLndyaXRlX2xpbmUoYidIRUxPIGV4YW1wbGUnKQorICAgICAgICBzZWxmLndyaXRlX2xpbmUoYidNQUlMIEZyb206ZWdnc0BleGFtcGxlJykKKyAgICAgICAgc2VsZi53cml0ZV9saW5lKGInUkNQVCBUbzpzcGFtQGV4YW1wbGUnKQorICAgICAgICBzZWxmLndyaXRlX2xpbmUoYidEQVRBJykKKyAgICAgICAgc2VsZi53cml0ZV9saW5lKGIndXRmOCBlbnJpY2hlZCB0ZXh0OiBceGM1XHhiY1x4YzVceGJhXHhjNFx4ODcnKQorICAgICAgICBzZWxmLndyaXRlX2xpbmUoYidhbmQgc29tZSBwbGFpbiBhc2NpaScpCisgICAgICAgIHNlbGYud3JpdGVfbGluZShiJy4nKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAorICAgICAgICAgICAgc2VsZi5jaGFubmVsLnJlY2VpdmVkX2RhdGEsCisgICAgICAgICAgICBiJ3V0ZjggZW5yaWNoZWQgdGV4dDogXHhjNVx4YmNceGM1XHhiYVx4YzRceDg3XG4nCisgICAgICAgICAgICAgICAgYidhbmQgc29tZSBwbGFpbiBhc2NpaScpCisKKworY2xhc3MgU01UUERDaGFubmVsV2l0aERlY29kZURhdGFUcnVlKHVuaXR0ZXN0LlRlc3RDYXNlKToKKworICAgIGRlZiBzZXRVcChzZWxmKToKKyAgICAgICAgc210cGQuc29ja2V0ID0gYXN5bmNvcmUuc29ja2V0ID0gbW9ja19zb2NrZXQKKyAgICAgICAgc2VsZi5vbGRfZGVidWdzdHJlYW0gPSBzbXRwZC5ERUJVR1NUUkVBTQorICAgICAgICBzZWxmLmRlYnVnID0gc210cGQuREVCVUdTVFJFQU0gPSBpby5TdHJpbmdJTygpCisgICAgICAgIHNlbGYuc2VydmVyID0gRHVtbXlTZXJ2ZXIoKHN1cHBvcnQuSE9TVCwgMCksICgnYicsIDApLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlY29kZV9kYXRhPVRydWUpCisgICAgICAgIGNvbm4sIGFkZHIgPSBzZWxmLnNlcnZlci5hY2NlcHQoKQorICAgICAgICAjIFNldCBkZWNvZGVfZGF0YSB0byBUcnVlCisgICAgICAgIHNlbGYuY2hhbm5lbCA9IHNtdHBkLlNNVFBDaGFubmVsKHNlbGYuc2VydmVyLCBjb25uLCBhZGRyLAorICAgICAgICAgICAgICAgIGRlY29kZV9kYXRhPVRydWUpCisKKyAgICBkZWYgdGVhckRvd24oc2VsZik6CisgICAgICAgIGFzeW5jb3JlLmNsb3NlX2FsbCgpCisgICAgICAgIGFzeW5jb3JlLnNvY2tldCA9IHNtdHBkLnNvY2tldCA9IHNvY2tldAorICAgICAgICBzbXRwZC5ERUJVR1NUUkVBTSA9IHNlbGYub2xkX2RlYnVnc3RyZWFtCisKKyAgICBkZWYgd3JpdGVfbGluZShzZWxmLCBsaW5lKToKKyAgICAgICAgc2VsZi5jaGFubmVsLnNvY2tldC5xdWV1ZV9yZWN2KGxpbmUpCisgICAgICAgIHNlbGYuY2hhbm5lbC5oYW5kbGVfcmVhZCgpCisKKyAgICBkZWYgdGVzdF9hc2NpaV9kYXRhKHNlbGYpOgorICAgICAgICBzZWxmLndyaXRlX2xpbmUoYidIRUxPIGV4YW1wbGUnKQorICAgICAgICBzZWxmLndyaXRlX2xpbmUoYidNQUlMIEZyb206ZWdnc0BleGFtcGxlJykKKyAgICAgICAgc2VsZi53cml0ZV9saW5lKGInUkNQVCBUbzpzcGFtQGV4YW1wbGUnKQorICAgICAgICBzZWxmLndyaXRlX2xpbmUoYidEQVRBJykKKyAgICAgICAgc2VsZi53cml0ZV9saW5lKGIncGxhaW4gYXNjaWkgdGV4dCcpCisgICAgICAgIHNlbGYud3JpdGVfbGluZShiJy4nKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuY2hhbm5lbC5yZWNlaXZlZF9kYXRhLCAncGxhaW4gYXNjaWkgdGV4dCcpCisKKyAgICBkZWYgdGVzdF91dGY4X2RhdGEoc2VsZik6CisgICAgICAgIHNlbGYud3JpdGVfbGluZShiJ0hFTE8gZXhhbXBsZScpCisgICAgICAgIHNlbGYud3JpdGVfbGluZShiJ01BSUwgRnJvbTplZ2dzQGV4YW1wbGUnKQorICAgICAgICBzZWxmLndyaXRlX2xpbmUoYidSQ1BUIFRvOnNwYW1AZXhhbXBsZScpCisgICAgICAgIHNlbGYud3JpdGVfbGluZShiJ0RBVEEnKQorICAgICAgICBzZWxmLndyaXRlX2xpbmUoYid1dGY4IGVucmljaGVkIHRleHQ6IFx4YzVceGJjXHhjNVx4YmFceGM0XHg4NycpCisgICAgICAgIHNlbGYud3JpdGVfbGluZShiJ2FuZCBzb21lIHBsYWluIGFzY2lpJykKKyAgICAgICAgc2VsZi53cml0ZV9saW5lKGInLicpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisgICAgICAgICAgICBzZWxmLmNoYW5uZWwucmVjZWl2ZWRfZGF0YSwKKyAgICAgICAgICAgICd1dGY4IGVucmljaGVkIHRleHQ6IMW8xbrEh1xuYW5kIHNvbWUgcGxhaW4gYXNjaWknKQorCisKK2NsYXNzIFNNVFBEQ2hhbm5lbFRlc3RXaXRoRW5hYmxlU01UUFVURjhUcnVlKHVuaXR0ZXN0LlRlc3RDYXNlKToKKyAgICBkZWYgc2V0VXAoc2VsZik6CisgICAgICAgIHNtdHBkLnNvY2tldCA9IGFzeW5jb3JlLnNvY2tldCA9IG1vY2tfc29ja2V0CisgICAgICAgIHNlbGYub2xkX2RlYnVnc3RyZWFtID0gc210cGQuREVCVUdTVFJFQU0KKyAgICAgICAgc2VsZi5kZWJ1ZyA9IHNtdHBkLkRFQlVHU1RSRUFNID0gaW8uU3RyaW5nSU8oKQorICAgICAgICBzZWxmLnNlcnZlciA9IER1bW15U2VydmVyKChzdXBwb3J0LkhPU1QsIDApLCAoJ2InLCAwKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmFibGVfU01UUFVURjg9VHJ1ZSkKKyAgICAgICAgY29ubiwgYWRkciA9IHNlbGYuc2VydmVyLmFjY2VwdCgpCisgICAgICAgIHNlbGYuY2hhbm5lbCA9IHNtdHBkLlNNVFBDaGFubmVsKHNlbGYuc2VydmVyLCBjb25uLCBhZGRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmFibGVfU01UUFVURjg9VHJ1ZSkKKworICAgIGRlZiB0ZWFyRG93bihzZWxmKToKKyAgICAgICAgYXN5bmNvcmUuY2xvc2VfYWxsKCkKKyAgICAgICAgYXN5bmNvcmUuc29ja2V0ID0gc210cGQuc29ja2V0ID0gc29ja2V0CisgICAgICAgIHNtdHBkLkRFQlVHU1RSRUFNID0gc2VsZi5vbGRfZGVidWdzdHJlYW0KKworICAgIGRlZiB3cml0ZV9saW5lKHNlbGYsIGxpbmUpOgorICAgICAgICBzZWxmLmNoYW5uZWwuc29ja2V0LnF1ZXVlX3JlY3YobGluZSkKKyAgICAgICAgc2VsZi5jaGFubmVsLmhhbmRsZV9yZWFkKCkKKworICAgIGRlZiB0ZXN0X01BSUxfY29tbWFuZF9hY2NlcHRzX1NNVFBVVEY4X3doZW5fYW5ub3VuY2VkKHNlbGYpOgorICAgICAgICBzZWxmLndyaXRlX2xpbmUoYidFSExPIGV4YW1wbGUnKQorICAgICAgICBzZWxmLndyaXRlX2xpbmUoCisgICAgICAgICAgICAnTUFJTCBmcm9tOiA8bmFpzIh2ZUBleGFtcGxlLmNvbT4gQk9EWT04QklUTUlNRSBTTVRQVVRGOCcuZW5jb2RlKAorICAgICAgICAgICAgICAgICd1dGYtOCcpCisgICAgICAgICkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLmNoYW5uZWwuc29ja2V0Lmxhc3QsIGInMjUwIE9LXHJcbicpCisKKyAgICBkZWYgdGVzdF9wcm9jZXNzX3NtdHB1dGY4X21lc3NhZ2Uoc2VsZik6CisgICAgICAgIHNlbGYud3JpdGVfbGluZShiJ0VITE8gZXhhbXBsZScpCisgICAgICAgIGZvciBtYWlsX3BhcmFtZXRlcnMgaW4gW2InJywgYidCT0RZPThCSVRNSU1FIFNNVFBVVEY4J106CisgICAgICAgICAgICBzZWxmLndyaXRlX2xpbmUoYidNQUlMIGZyb206IDxhQGV4YW1wbGU+ICcgKyBtYWlsX3BhcmFtZXRlcnMpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuY2hhbm5lbC5zb2NrZXQubGFzdFswOjNdLCBiJzI1MCcpCisgICAgICAgICAgICBzZWxmLndyaXRlX2xpbmUoYidyY3B0IHRvOjxiQGV4YW1wbGUuY29tPicpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuY2hhbm5lbC5zb2NrZXQubGFzdFswOjNdLCBiJzI1MCcpCisgICAgICAgICAgICBzZWxmLndyaXRlX2xpbmUoYidkYXRhJykKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5jaGFubmVsLnNvY2tldC5sYXN0WzA6M10sIGInMzU0JykKKyAgICAgICAgICAgIHNlbGYud3JpdGVfbGluZShiJ2NcclxuLicpCisgICAgICAgICAgICBpZiBtYWlsX3BhcmFtZXRlcnMgPT0gYicnOgorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5jaGFubmVsLnNvY2tldC5sYXN0LCBiJzI1MCBPS1xyXG4nKQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuY2hhbm5lbC5zb2NrZXQubGFzdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGInMjUwIFNNVFBVVEY4IG1lc3NhZ2Ugb2tpc2hcclxuJykKKworICAgIGRlZiB0ZXN0X3V0ZjhfZGF0YShzZWxmKToKKyAgICAgICAgc2VsZi53cml0ZV9saW5lKGInRUhMTyBleGFtcGxlJykKKyAgICAgICAgc2VsZi53cml0ZV9saW5lKAorICAgICAgICAgICAgJ01BSUwgRnJvbTogbmFpzIh2ZUBleGFtcGzDqSBCT0RZPThCSVRNSU1FIFNNVFBVVEY4Jy5lbmNvZGUoJ3V0Zi04JykpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5jaGFubmVsLnNvY2tldC5sYXN0WzA6M10sIGInMjUwJykKKyAgICAgICAgc2VsZi53cml0ZV9saW5lKCdSQ1BUIFRvOnNww6RtQGV4YW1wbMOpJy5lbmNvZGUoJ3V0Zi04JykpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5jaGFubmVsLnNvY2tldC5sYXN0WzA6M10sIGInMjUwJykKKyAgICAgICAgc2VsZi53cml0ZV9saW5lKGInREFUQScpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5jaGFubmVsLnNvY2tldC5sYXN0WzA6M10sIGInMzU0JykKKyAgICAgICAgc2VsZi53cml0ZV9saW5lKGIndXRmOCBlbnJpY2hlZCB0ZXh0OiBceGM1XHhiY1x4YzVceGJhXHhjNFx4ODcnKQorICAgICAgICBzZWxmLndyaXRlX2xpbmUoYicuJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKKyAgICAgICAgICAgIHNlbGYuY2hhbm5lbC5yZWNlaXZlZF9kYXRhLAorICAgICAgICAgICAgYid1dGY4IGVucmljaGVkIHRleHQ6IFx4YzVceGJjXHhjNVx4YmFceGM0XHg4NycpCisKKyAgICBkZWYgdGVzdF9NQUlMX2NvbW1hbmRfbGltaXRfZXh0ZW5kZWRfd2l0aF9TSVpFX2FuZF9TTVRQVVRGOChzZWxmKToKKyAgICAgICAgc2VsZi53cml0ZV9saW5lKGInZWhsbyBleGFtcGxlJykKKyAgICAgICAgZmlsbF9sZW4gPSAoNTEyICsgMjYgKyAxMCkgLSBsZW4oJ21haWwgZnJvbTo8QGV4YW1wbGU+JykKKyAgICAgICAgc2VsZi53cml0ZV9saW5lKGInTUFJTCBmcm9tOjwnICsKKyAgICAgICAgICAgICAgICAgICAgICAgIGInYScgKiAoZmlsbF9sZW4gKyAxKSArCisgICAgICAgICAgICAgICAgICAgICAgICBiJ0BleGFtcGxlPicpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5jaGFubmVsLnNvY2tldC5sYXN0LAorICAgICAgICAgICAgICAgICAgICAgICAgIGInNTAwIEVycm9yOiBsaW5lIHRvbyBsb25nXHJcbicpCisgICAgICAgIHNlbGYud3JpdGVfbGluZShiJ01BSUwgZnJvbTo8JyArCisgICAgICAgICAgICAgICAgICAgICAgICBiJ2EnICogZmlsbF9sZW4gKworICAgICAgICAgICAgICAgICAgICAgICAgYidAZXhhbXBsZT4nKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuY2hhbm5lbC5zb2NrZXQubGFzdCwgYicyNTAgT0tcclxuJykKKworICAgIGRlZiB0ZXN0X211bHRpcGxlX2VtYWlsc193aXRoX2V4dGVuZGVkX2NvbW1hbmRfbGVuZ3RoKHNlbGYpOgorICAgICAgICBzZWxmLndyaXRlX2xpbmUoYidlaGxvIGV4YW1wbGUnKQorICAgICAgICBmaWxsX2xlbiA9ICg1MTIgKyAyNiArIDEwKSAtIGxlbignbWFpbCBmcm9tOjxAZXhhbXBsZT4nKQorICAgICAgICBmb3IgY2hhciBpbiBbYidhJywgYidiJywgYidjJ106CisgICAgICAgICAgICBzZWxmLndyaXRlX2xpbmUoYidNQUlMIGZyb206PCcgKyBjaGFyICogZmlsbF9sZW4gKyBiJ2FAZXhhbXBsZT4nKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLmNoYW5uZWwuc29ja2V0Lmxhc3RbMDozXSwgYic1MDAnKQorICAgICAgICAgICAgc2VsZi53cml0ZV9saW5lKGInTUFJTCBmcm9tOjwnICsgY2hhciAqIGZpbGxfbGVuICsgYidAZXhhbXBsZT4nKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLmNoYW5uZWwuc29ja2V0Lmxhc3RbMDozXSwgYicyNTAnKQorICAgICAgICAgICAgc2VsZi53cml0ZV9saW5lKGIncmNwdCB0bzo8aGFuc0BleGFtcGxlLmNvbT4nKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLmNoYW5uZWwuc29ja2V0Lmxhc3RbMDozXSwgYicyNTAnKQorICAgICAgICAgICAgc2VsZi53cml0ZV9saW5lKGInZGF0YScpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuY2hhbm5lbC5zb2NrZXQubGFzdFswOjNdLCBiJzM1NCcpCisgICAgICAgICAgICBzZWxmLndyaXRlX2xpbmUoYid0ZXN0XHJcbi4nKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLmNoYW5uZWwuc29ja2V0Lmxhc3RbMDozXSwgYicyNTAnKQorCiBpZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgogICAgIHVuaXR0ZXN0Lm1haW4oKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9zbXRwbGliLnB5IGIvTGliL3Rlc3QvdGVzdF9zbXRwbGliLnB5CmluZGV4IDk1YTlkYmUuLjVmMTJkMjggMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3Rfc210cGxpYi5weQorKysgYi9MaWIvdGVzdC90ZXN0X3NtdHBsaWIucHkKQEAgLTEwLDYgKzEwLDcgQEAKIGltcG9ydCB0aW1lCiBpbXBvcnQgc2VsZWN0CiBpbXBvcnQgZXJybm8KK2ltcG9ydCBiYXNlNjQKIAogaW1wb3J0IHVuaXR0ZXN0CiBmcm9tIHRlc3QgaW1wb3J0IHN1cHBvcnQsIG1vY2tfc29ja2V0CkBAIC0zMCw3ICszMSw3IEBACiAKIAogZGVmIHNlcnZlcihldnQsIGJ1Ziwgc2Vydik6Ci0gICAgc2Vydi5saXN0ZW4oNSkKKyAgICBzZXJ2Lmxpc3RlbigpCiAgICAgZXZ0LnNldCgpCiAgICAgdHJ5OgogICAgICAgICBjb25uLCBhZGRyID0gc2Vydi5hY2NlcHQoKQpAQCAtMTg0LDcgKzE4NSw4IEBACiAgICAgICAgIHNlbGYub2xkX0RFQlVHU1RSRUFNID0gc210cGQuREVCVUdTVFJFQU0KICAgICAgICAgc210cGQuREVCVUdTVFJFQU0gPSBpby5TdHJpbmdJTygpCiAgICAgICAgICMgUGljayBhIHJhbmRvbSB1bnVzZWQgcG9ydCBieSBwYXNzaW5nIDAgZm9yIHRoZSBwb3J0IG51bWJlcgotICAgICAgICBzZWxmLnNlcnYgPSBzbXRwZC5EZWJ1Z2dpbmdTZXJ2ZXIoKEhPU1QsIDApLCAoJ25vd2hlcmUnLCAtMSkpCisgICAgICAgIHNlbGYuc2VydiA9IHNtdHBkLkRlYnVnZ2luZ1NlcnZlcigoSE9TVCwgMCksICgnbm93aGVyZScsIC0xKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlY29kZV9kYXRhPVRydWUpCiAgICAgICAgICMgS2VlcCBhIG5vdGUgb2Ygd2hhdCBwb3J0IHdhcyBhc3NpZ25lZAogICAgICAgICBzZWxmLnBvcnQgPSBzZWxmLnNlcnYuc29ja2V0LmdldHNvY2tuYW1lKClbMV0KICAgICAgICAgc2Vydl9hcmdzID0gKHNlbGYuc2Vydiwgc2VsZi5zZXJ2X2V2dCwgc2VsZi5jbGllbnRfZXZ0KQpAQCAtNjA0LDcgKzYwNiw4IEBACiAgICAgJ2NyYW0tbWQ1JzogKCdUWElVUVVCWkIyMUxEMkhMQ01VVVkyOVRJREc0T1dRME1KJwogICAgICAgICAgICAgICAgICAnS1daR1E0T0ROTU5EQTROVEdYTURSTFpXTVlaSkRNT0RHMScpLAogICAgIH0KLXNpbV9hdXRoX2xvZ2luX3Bhc3N3b3JkID0gJ0MyOVRaWEJIQzNOM0IzSksnCitzaW1fYXV0aF9sb2dpbl91c2VyID0gJ1RYSVVRVUJaQjIxTEQySExDTVVVWTI5VCcKK3NpbV9hdXRoX3BsYWluID0gJ0FFMVlMS0ZBQzI5VFpYRE9aWEpMTE1OVkJRQlpCMjFMQ0dGWkMzRFZDTVE9JwogCiBzaW1fbGlzdHMgPSB7J2xpc3QtMSc6WydNci5BQHNvbWV3aGVyZS5jb20nLCdNcnMuQ0Bzb21ld2hlcmVlc2xlLmNvbSddLAogICAgICAgICAgICAgICdsaXN0LTInOlsnTXMuQkB4bi0tZm8tZmthLmNvbScsXSwKQEAgLTY1OCwxOCArNjYxLDE2IEBACiAgICAgICAgICAgICBzZWxmLnB1c2goJzU1MCBObyBhY2Nlc3MgZm9yIHlvdSEnKQogCiAgICAgZGVmIHNtdHBfQVVUSChzZWxmLCBhcmcpOgotICAgICAgICBpZiBhcmcuc3RyaXAoKS5sb3dlcigpPT0nY3JhbS1tZDUnOgorICAgICAgICBtZWNoID0gYXJnLnN0cmlwKCkubG93ZXIoKQorICAgICAgICBpZiBtZWNoPT0nY3JhbS1tZDUnOgogICAgICAgICAgICAgc2VsZi5wdXNoKCczMzQge30nLmZvcm1hdChzaW1fY3JhbV9tZDVfY2hhbGxlbmdlKSkKLSAgICAgICAgICAgIHJldHVybgotICAgICAgICBtZWNoLCBhdXRoID0gYXJnLnNwbGl0KCkKLSAgICAgICAgbWVjaCA9IG1lY2gubG93ZXIoKQotICAgICAgICBpZiBtZWNoIG5vdCBpbiBzaW1fYXV0aF9jcmVkZW50aWFsczoKKyAgICAgICAgZWxpZiBtZWNoIG5vdCBpbiBzaW1fYXV0aF9jcmVkZW50aWFsczoKICAgICAgICAgICAgIHNlbGYucHVzaCgnNTA0IGF1dGggdHlwZSB1bmltcGxlbWVudGVkJykKICAgICAgICAgICAgIHJldHVybgotICAgICAgICBpZiBtZWNoID09ICdwbGFpbicgYW5kIGF1dGg9PXNpbV9hdXRoX2NyZWRlbnRpYWxzWydwbGFpbiddOgotICAgICAgICAgICAgc2VsZi5wdXNoKCcyMzUgcGxhaW4gYXV0aCBvaycpCi0gICAgICAgIGVsaWYgbWVjaD09J2xvZ2luJyBhbmQgYXV0aD09c2ltX2F1dGhfY3JlZGVudGlhbHNbJ2xvZ2luJ106Ci0gICAgICAgICAgICBzZWxmLnB1c2goJzMzNCBQYXNzd29yZDonKQorICAgICAgICBlbGlmIG1lY2g9PSdwbGFpbic6CisgICAgICAgICAgICBzZWxmLnB1c2goJzMzNCAnKQorICAgICAgICBlbGlmIG1lY2g9PSdsb2dpbic6CisgICAgICAgICAgICBzZWxmLnB1c2goJzMzNCAnKQogICAgICAgICBlbHNlOgogICAgICAgICAgICAgc2VsZi5wdXNoKCc1NTAgTm8gYWNjZXNzIGZvciB5b3UhJykKIApAQCAtNzE5LDcgKzcyMCw4IEBACiAKICAgICBkZWYgaGFuZGxlX2FjY2VwdGVkKHNlbGYsIGNvbm4sIGFkZHIpOgogICAgICAgICBzZWxmLl9TTVRQY2hhbm5lbCA9IHNlbGYuY2hhbm5lbF9jbGFzcygKLSAgICAgICAgICAgIHNlbGYuX2V4dHJhX2ZlYXR1cmVzLCBzZWxmLCBjb25uLCBhZGRyKQorICAgICAgICAgICAgc2VsZi5fZXh0cmFfZmVhdHVyZXMsIHNlbGYsIGNvbm4sIGFkZHIsCisgICAgICAgICAgICBkZWNvZGVfZGF0YT1zZWxmLl9kZWNvZGVfZGF0YSkKIAogICAgIGRlZiBwcm9jZXNzX21lc3NhZ2Uoc2VsZiwgcGVlciwgbWFpbGZyb20sIHJjcHR0b3MsIGRhdGEpOgogICAgICAgICBwYXNzCkBAIC03NDIsNyArNzQ0LDcgQEAKICAgICAgICAgc2VsZi5zZXJ2X2V2dCA9IHRocmVhZGluZy5FdmVudCgpCiAgICAgICAgIHNlbGYuY2xpZW50X2V2dCA9IHRocmVhZGluZy5FdmVudCgpCiAgICAgICAgICMgUGljayBhIHJhbmRvbSB1bnVzZWQgcG9ydCBieSBwYXNzaW5nIDAgZm9yIHRoZSBwb3J0IG51bWJlcgotICAgICAgICBzZWxmLnNlcnYgPSBTaW1TTVRQU2VydmVyKChIT1NULCAwKSwgKCdub3doZXJlJywgLTEpKQorICAgICAgICBzZWxmLnNlcnYgPSBTaW1TTVRQU2VydmVyKChIT1NULCAwKSwgKCdub3doZXJlJywgLTEpLCBkZWNvZGVfZGF0YT1UcnVlKQogICAgICAgICAjIEtlZXAgYSBub3RlIG9mIHdoYXQgcG9ydCB3YXMgYXNzaWduZWQKICAgICAgICAgc2VsZi5wb3J0ID0gc2VsZi5zZXJ2LnNvY2tldC5nZXRzb2NrbmFtZSgpWzFdCiAgICAgICAgIHNlcnZfYXJncyA9IChzZWxmLnNlcnYsIHNlbGYuc2Vydl9ldnQsIHNlbGYuY2xpZW50X2V2dCkKQEAgLTgxNiwyOCArODE4LDI4IEBACiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc210cC5leHBuKHUpLCBleHBlY3RlZF91bmtub3duKQogICAgICAgICBzbXRwLnF1aXQoKQogCi0gICAgZGVmIHRlc3RBVVRIX1BMQUlOKHNlbGYpOgotICAgICAgICBzZWxmLnNlcnYuYWRkX2ZlYXR1cmUoIkFVVEggUExBSU4iKQotICAgICAgICBzbXRwID0gc210cGxpYi5TTVRQKEhPU1QsIHNlbGYucG9ydCwgbG9jYWxfaG9zdG5hbWU9J2xvY2FsaG9zdCcsIHRpbWVvdXQ9MTUpCi0KLSAgICAgICAgZXhwZWN0ZWRfYXV0aF9vayA9ICgyMzUsIGIncGxhaW4gYXV0aCBvaycpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc210cC5sb2dpbihzaW1fYXV0aFswXSwgc2ltX2F1dGhbMV0pLCBleHBlY3RlZF9hdXRoX29rKQotICAgICAgICBzbXRwLmNsb3NlKCkKLQotICAgICMgU2ltU01UUENoYW5uZWwgZG9lc24ndCBmdWxseSBzdXBwb3J0IExPR0lOIG9yIENSQU0tTUQ1IGF1dGggYmVjYXVzZSB0aGV5Ci0gICAgIyByZXF1aXJlIGEgc3luY2hyb25vdXMgcmVhZCB0byBvYnRhaW4gdGhlIGNyZWRlbnRpYWxzLi4uc28gaW5zdGVhZCBzbXRwZAorICAgICMgU2ltU01UUENoYW5uZWwgZG9lc24ndCBmdWxseSBzdXBwb3J0IEFVVEggYmVjYXVzZSBpdCByZXF1aXJlcyBhCisgICAgIyBzeW5jaHJvbm91cyByZWFkIHRvIG9idGFpbiB0aGUgY3JlZGVudGlhbHMuLi5zbyBpbnN0ZWFkIHNtdHBkCiAgICAgIyBzZWVzIHRoZSBjcmVkZW50aWFsIHNlbnQgYnkgc210cGxpYidzIGxvZ2luIG1ldGhvZCBhcyBhbiB1bmtub3duIGNvbW1hbmQsCiAgICAgIyB3aGljaCByZXN1bHRzIGluIHNtdHBsaWIgcmFpc2luZyBhbiBhdXRoIGVycm9yLiAgRm9ydHVuYXRlbHkgdGhlIGVycm9yCiAgICAgIyBtZXNzYWdlIGNvbnRhaW5zIHRoZSBlbmNvZGVkIGNyZWRlbnRpYWwsIHNvIHdlIGNhbiBwYXJ0aWFsbHkgY2hlY2sgdGhhdCBpdAogICAgICMgd2FzIGdlbmVyYXRlZCBjb3JyZWN0bHkgKHBhcnRpYWxseSwgYmVjYXVzZSB0aGUgJ3dvcmQnIGlzIHVwcGVyY2FzZWQgaW4KICAgICAjIHRoZSBlcnJvciBtZXNzYWdlKS4KIAorICAgIGRlZiB0ZXN0QVVUSF9QTEFJTihzZWxmKToKKyAgICAgICAgc2VsZi5zZXJ2LmFkZF9mZWF0dXJlKCJBVVRIIFBMQUlOIikKKyAgICAgICAgc210cCA9IHNtdHBsaWIuU01UUChIT1NULCBzZWxmLnBvcnQsIGxvY2FsX2hvc3RuYW1lPSdsb2NhbGhvc3QnLCB0aW1lb3V0PTE1KQorICAgICAgICB0cnk6IHNtdHAubG9naW4oc2ltX2F1dGhbMF0sIHNpbV9hdXRoWzFdKQorICAgICAgICBleGNlcHQgc210cGxpYi5TTVRQQXV0aGVudGljYXRpb25FcnJvciBhcyBlcnI6CisgICAgICAgICAgICBzZWxmLmFzc2VydEluKHNpbV9hdXRoX3BsYWluLCBzdHIoZXJyKSkKKyAgICAgICAgc210cC5jbG9zZSgpCisKICAgICBkZWYgdGVzdEFVVEhfTE9HSU4oc2VsZik6CiAgICAgICAgIHNlbGYuc2Vydi5hZGRfZmVhdHVyZSgiQVVUSCBMT0dJTiIpCiAgICAgICAgIHNtdHAgPSBzbXRwbGliLlNNVFAoSE9TVCwgc2VsZi5wb3J0LCBsb2NhbF9ob3N0bmFtZT0nbG9jYWxob3N0JywgdGltZW91dD0xNSkKICAgICAgICAgdHJ5OiBzbXRwLmxvZ2luKHNpbV9hdXRoWzBdLCBzaW1fYXV0aFsxXSkKICAgICAgICAgZXhjZXB0IHNtdHBsaWIuU01UUEF1dGhlbnRpY2F0aW9uRXJyb3IgYXMgZXJyOgotICAgICAgICAgICAgc2VsZi5hc3NlcnRJbihzaW1fYXV0aF9sb2dpbl9wYXNzd29yZCwgc3RyKGVycikpCisgICAgICAgICAgICBzZWxmLmFzc2VydEluKHNpbV9hdXRoX2xvZ2luX3VzZXIsIHN0cihlcnIpKQogICAgICAgICBzbXRwLmNsb3NlKCkKIAogICAgIGRlZiB0ZXN0QVVUSF9DUkFNX01ENShzZWxmKToKQEAgLTg1NSw3ICs4NTcsMjMgQEAKICAgICAgICAgc210cCA9IHNtdHBsaWIuU01UUChIT1NULCBzZWxmLnBvcnQsIGxvY2FsX2hvc3RuYW1lPSdsb2NhbGhvc3QnLCB0aW1lb3V0PTE1KQogICAgICAgICB0cnk6IHNtdHAubG9naW4oc2ltX2F1dGhbMF0sIHNpbV9hdXRoWzFdKQogICAgICAgICBleGNlcHQgc210cGxpYi5TTVRQQXV0aGVudGljYXRpb25FcnJvciBhcyBlcnI6Ci0gICAgICAgICAgICBzZWxmLmFzc2VydEluKHNpbV9hdXRoX2xvZ2luX3Bhc3N3b3JkLCBzdHIoZXJyKSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0SW4oc2ltX2F1dGhfbG9naW5fdXNlciwgc3RyKGVycikpCisgICAgICAgIHNtdHAuY2xvc2UoKQorCisgICAgZGVmIHRlc3RfYXV0aF9mdW5jdGlvbihzZWxmKToKKyAgICAgICAgc210cCA9IHNtdHBsaWIuU01UUChIT1NULCBzZWxmLnBvcnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9jYWxfaG9zdG5hbWU9J2xvY2FsaG9zdCcsIHRpbWVvdXQ9MTUpCisgICAgICAgIHNlbGYuc2Vydi5hZGRfZmVhdHVyZSgiQVVUSCBDUkFNLU1ENSIpCisgICAgICAgIHNtdHAudXNlciwgc210cC5wYXNzd29yZCA9IHNpbV9hdXRoWzBdLCBzaW1fYXV0aFsxXQorICAgICAgICBzdXBwb3J0ZWQgPSB7J0NSQU0tTUQ1Jzogc210cC5hdXRoX2NyYW1fbWQ1LAorICAgICAgICAgICAgICAgICAgICAgJ1BMQUlOJzogc210cC5hdXRoX3BsYWluLAorICAgICAgICAgICAgICAgICAgICAgJ0xPR0lOJzogc210cC5hdXRoX2xvZ2luLAorICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgIGZvciBtZWNoYW5pc20sIG1ldGhvZCBpbiBzdXBwb3J0ZWQuaXRlbXMoKToKKyAgICAgICAgICAgIHRyeTogc210cC5hdXRoKG1lY2hhbmlzbSwgbWV0aG9kKQorICAgICAgICAgICAgZXhjZXB0IHNtdHBsaWIuU01UUEF1dGhlbnRpY2F0aW9uRXJyb3IgYXMgZXJyOgorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SW4oc2ltX2F1dGhfY3JlZGVudGlhbHNbbWVjaGFuaXNtLmxvd2VyKCldLnVwcGVyKCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHIoZXJyKSkKICAgICAgICAgc210cC5jbG9zZSgpCiAKICAgICBkZWYgdGVzdF9xdWl0X3Jlc2V0c19ncmVldGluZyhzZWxmKToKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3Rfc25kaGRyLnB5IGIvTGliL3Rlc3QvdGVzdF9zbmRoZHIucHkKaW5kZXggNWUwYWJlMC4uNDI2NDE3YyAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9zbmRoZHIucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9zbmRoZHIucHkKQEAgLTEsNCArMSw1IEBACiBpbXBvcnQgc25kaGRyCitpbXBvcnQgcGlja2xlCiBpbXBvcnQgdW5pdHRlc3QKIGZyb20gdGVzdC5zdXBwb3J0IGltcG9ydCBmaW5kZmlsZQogCkBAIC0xOCw2ICsxOSwxOSBAQAogICAgICAgICAgICAgd2hhdCA9IHNuZGhkci53aGF0KGZpbGVuYW1lKQogICAgICAgICAgICAgc2VsZi5hc3NlcnROb3RFcXVhbCh3aGF0LCBOb25lLCBmaWxlbmFtZSkKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0U2VxdWVuY2VFcXVhbCh3aGF0LCBleHBlY3RlZCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwod2hhdC5maWxldHlwZSwgZXhwZWN0ZWRbMF0pCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHdoYXQuZnJhbWVyYXRlLCBleHBlY3RlZFsxXSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwod2hhdC5uY2hhbm5lbHMsIGV4cGVjdGVkWzJdKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh3aGF0Lm5mcmFtZXMsIGV4cGVjdGVkWzNdKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh3aGF0LnNhbXB3aWR0aCwgZXhwZWN0ZWRbNF0pCisKKyAgICBkZWYgdGVzdF9waWNrbGVhYmxlKHNlbGYpOgorICAgICAgICBmaWxlbmFtZSA9IGZpbmRmaWxlKCdzbmRoZHIuYWlmYycsIHN1YmRpcj0ic25kaGRyZGF0YSIpCisgICAgICAgIHdoYXQgPSBzbmRoZHIud2hhdChmaWxlbmFtZSkKKyAgICAgICAgZm9yIHByb3RvIGluIHJhbmdlKHBpY2tsZS5ISUdIRVNUX1BST1RPQ09MICsgMSk6CisgICAgICAgICAgICBkdW1wID0gcGlja2xlLmR1bXBzKHdoYXQsIHByb3RvKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwaWNrbGUubG9hZHMoZHVtcCksIHdoYXQpCisKIAogaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKICAgICB1bml0dGVzdC5tYWluKCkKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3Rfc29ja2V0LnB5IGIvTGliL3Rlc3QvdGVzdF9zb2NrZXQucHkKaW5kZXggYjQxMjM4Ni4uY2Y0NWI3MyAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9zb2NrZXQucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9zb2NrZXQucHkKQEAgLTIwLDYgKzIwLDggQEAKIGltcG9ydCBtYXRoCiBpbXBvcnQgcGlja2xlCiBpbXBvcnQgc3RydWN0CitpbXBvcnQgcmFuZG9tCitpbXBvcnQgc3RyaW5nCiB0cnk6CiAgICAgaW1wb3J0IG11bHRpcHJvY2Vzc2luZwogZXhjZXB0IEltcG9ydEVycm9yOgpAQCAtNzYsNyArNzgsNyBAQAogICAgIGRlZiBzZXRVcChzZWxmKToKICAgICAgICAgc2VsZi5zZXJ2ID0gc29ja2V0LnNvY2tldChzb2NrZXQuQUZfSU5FVCwgc29ja2V0LlNPQ0tfU1RSRUFNKQogICAgICAgICBzZWxmLnBvcnQgPSBzdXBwb3J0LmJpbmRfcG9ydChzZWxmLnNlcnYpCi0gICAgICAgIHNlbGYuc2Vydi5saXN0ZW4oMSkKKyAgICAgICAgc2VsZi5zZXJ2Lmxpc3RlbigpCiAKICAgICBkZWYgdGVhckRvd24oc2VsZik6CiAgICAgICAgIHNlbGYuc2Vydi5jbG9zZSgpCkBAIC00NDUsNyArNDQ3LDcgQEAKIAogICAgIGRlZiBzZXRVcChzZWxmKToKICAgICAgICAgc3VwZXIoKS5zZXRVcCgpCi0gICAgICAgIHNlbGYuc2Vydi5saXN0ZW4oMSkKKyAgICAgICAgc2VsZi5zZXJ2Lmxpc3RlbigpCiAKIAogY2xhc3MgVGhyZWFkZWRTb2NrZXRUZXN0TWl4aW4oVGhyZWFkU2FmZUNsZWFudXBUZXN0Q2FzZSwgU29ja2V0VGVzdEJhc2UsCkBAIC03MTYsMTEgKzcxOCwxMSBAQAogICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvcikgYXMgY206CiAgICAgICAgICAgICBzLnNlbmR0bygnXHUyNjIwJywgc29ja25hbWUpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyKGNtLmV4Y2VwdGlvbiksCi0gICAgICAgICAgICAgICAgICAgICAgICAgIidzdHInIGRvZXMgbm90IHN1cHBvcnQgdGhlIGJ1ZmZlciBpbnRlcmZhY2UiKQorICAgICAgICAgICAgICAgICAgICAgICAgICJhIGJ5dGVzLWxpa2Ugb2JqZWN0IGlzIHJlcXVpcmVkLCBub3QgJ3N0ciciKQogICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvcikgYXMgY206CiAgICAgICAgICAgICBzLnNlbmR0byg1aiwgc29ja25hbWUpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyKGNtLmV4Y2VwdGlvbiksCi0gICAgICAgICAgICAgICAgICAgICAgICAgIidjb21wbGV4JyBkb2VzIG5vdCBzdXBwb3J0IHRoZSBidWZmZXIgaW50ZXJmYWNlIikKKyAgICAgICAgICAgICAgICAgICAgICAgICAiYSBieXRlcy1saWtlIG9iamVjdCBpcyByZXF1aXJlZCwgbm90ICdjb21wbGV4JyIpCiAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yKSBhcyBjbToKICAgICAgICAgICAgIHMuc2VuZHRvKGInZm9vJywgTm9uZSkKICAgICAgICAgc2VsZi5hc3NlcnRJbignbm90IE5vbmVUeXBlJyxzdHIoY20uZXhjZXB0aW9uKSkKQEAgLTcyOCwxMSArNzMwLDExIEBACiAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yKSBhcyBjbToKICAgICAgICAgICAgIHMuc2VuZHRvKCdcdTI2MjAnLCAwLCBzb2NrbmFtZSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdHIoY20uZXhjZXB0aW9uKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAiJ3N0cicgZG9lcyBub3Qgc3VwcG9ydCB0aGUgYnVmZmVyIGludGVyZmFjZSIpCisgICAgICAgICAgICAgICAgICAgICAgICAgImEgYnl0ZXMtbGlrZSBvYmplY3QgaXMgcmVxdWlyZWQsIG5vdCAnc3RyJyIpCiAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yKSBhcyBjbToKICAgICAgICAgICAgIHMuc2VuZHRvKDVqLCAwLCBzb2NrbmFtZSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdHIoY20uZXhjZXB0aW9uKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAiJ2NvbXBsZXgnIGRvZXMgbm90IHN1cHBvcnQgdGhlIGJ1ZmZlciBpbnRlcmZhY2UiKQorICAgICAgICAgICAgICAgICAgICAgICAgICJhIGJ5dGVzLWxpa2Ugb2JqZWN0IGlzIHJlcXVpcmVkLCBub3QgJ2NvbXBsZXgnIikKICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IpIGFzIGNtOgogICAgICAgICAgICAgcy5zZW5kdG8oYidmb28nLCAwLCBOb25lKQogICAgICAgICBzZWxmLmFzc2VydEluKCdub3QgTm9uZVR5cGUnLCBzdHIoY20uZXhjZXB0aW9uKSkKQEAgLTEzNzgsMTAgKzEzODAsMTMgQEAKIAogICAgIGRlZiB0ZXN0X2xpc3Rlbl9iYWNrbG9nKHNlbGYpOgogICAgICAgICBmb3IgYmFja2xvZyBpbiAwLCAtMToKLSAgICAgICAgICAgIHNydiA9IHNvY2tldC5zb2NrZXQoc29ja2V0LkFGX0lORVQsIHNvY2tldC5TT0NLX1NUUkVBTSkKKyAgICAgICAgICAgIHdpdGggc29ja2V0LnNvY2tldChzb2NrZXQuQUZfSU5FVCwgc29ja2V0LlNPQ0tfU1RSRUFNKSBhcyBzcnY6CisgICAgICAgICAgICAgICAgc3J2LmJpbmQoKEhPU1QsIDApKQorICAgICAgICAgICAgICAgIHNydi5saXN0ZW4oYmFja2xvZykKKworICAgICAgICB3aXRoIHNvY2tldC5zb2NrZXQoc29ja2V0LkFGX0lORVQsIHNvY2tldC5TT0NLX1NUUkVBTSkgYXMgc3J2OgogICAgICAgICAgICAgc3J2LmJpbmQoKEhPU1QsIDApKQotICAgICAgICAgICAgc3J2Lmxpc3RlbihiYWNrbG9nKQotICAgICAgICAgICAgc3J2LmNsb3NlKCkKKyAgICAgICAgICAgIHNydi5saXN0ZW4oKQogCiAgICAgQHN1cHBvcnQuY3B5dGhvbl9vbmx5CiAgICAgZGVmIHRlc3RfbGlzdGVuX2JhY2tsb2dfb3ZlcmZsb3coc2VsZik6CkBAIC0zNTg1LDcgKzM1OTAsNyBAQAogICAgIGRlZiBzZXRVcChzZWxmKToKICAgICAgICAgc3VwZXIoKS5zZXRVcCgpCiAgICAgICAgIG9yaWdfYWxybV9oYW5kbGVyID0gc2lnbmFsLnNpZ25hbChzaWduYWwuU0lHQUxSTSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhbWJkYSBzaWdudW0sIGZyYW1lOiBOb25lKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFtYmRhIHNpZ251bSwgZnJhbWU6IDEgLyAwKQogICAgICAgICBzZWxmLmFkZENsZWFudXAoc2lnbmFsLnNpZ25hbCwgc2lnbmFsLlNJR0FMUk0sIG9yaWdfYWxybV9oYW5kbGVyKQogICAgICAgICBzZWxmLmFkZENsZWFudXAoc2VsZi5zZXRBbGFybSwgMCkKIApAQCAtMzYyMiwxMyArMzYyNywxMSBAQAogICAgICAgICBzZWxmLnNlcnYuc2V0dGltZW91dChzZWxmLnRpbWVvdXQpCiAKICAgICBkZWYgY2hlY2tJbnRlcnJ1cHRlZFJlY3Yoc2VsZiwgZnVuYywgKmFyZ3MsICoqa3dhcmdzKToKLSAgICAgICAgIyBDaGVjayB0aGF0IGZ1bmMoKmFyZ3MsICoqa3dhcmdzKSByYWlzZXMgT1NFcnJvciB3aXRoIGFuCisgICAgICAgICMgQ2hlY2sgdGhhdCBmdW5jKCphcmdzLCAqKmt3YXJncykgcmFpc2VzCiAgICAgICAgICMgZXJybm8gb2YgRUlOVFIgd2hlbiBpbnRlcnJ1cHRlZCBieSBhIHNpZ25hbC4KICAgICAgICAgc2VsZi5zZXRBbGFybShzZWxmLmFsYXJtX3RpbWUpCi0gICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoT1NFcnJvcikgYXMgY206CisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoWmVyb0RpdmlzaW9uRXJyb3IpIGFzIGNtOgogICAgICAgICAgICAgZnVuYygqYXJncywgKiprd2FyZ3MpCi0gICAgICAgIHNlbGYuYXNzZXJ0Tm90SXNJbnN0YW5jZShjbS5leGNlcHRpb24sIHNvY2tldC50aW1lb3V0KQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNtLmV4Y2VwdGlvbi5lcnJubywgZXJybm8uRUlOVFIpCiAKICAgICBkZWYgdGVzdEludGVycnVwdGVkUmVjdlRpbWVvdXQoc2VsZik6CiAgICAgICAgIHNlbGYuY2hlY2tJbnRlcnJ1cHRlZFJlY3Yoc2VsZi5zZXJ2LnJlY3YsIDEwMjQpCkBAIC0zNjg0LDEyICszNjg3LDEwIEBACiAgICAgICAgICMgQ2hlY2sgdGhhdCBmdW5jKCphcmdzLCAqKmt3YXJncyksIHJ1biBpbiBhIGxvb3AsIHJhaXNlcwogICAgICAgICAjIE9TRXJyb3Igd2l0aCBhbiBlcnJubyBvZiBFSU5UUiB3aGVuIGludGVycnVwdGVkIGJ5IGEKICAgICAgICAgIyBzaWduYWwuCi0gICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoT1NFcnJvcikgYXMgY206CisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoWmVyb0RpdmlzaW9uRXJyb3IpIGFzIGNtOgogICAgICAgICAgICAgd2hpbGUgVHJ1ZToKICAgICAgICAgICAgICAgICBzZWxmLnNldEFsYXJtKHNlbGYuYWxhcm1fdGltZSkKICAgICAgICAgICAgICAgICBmdW5jKCphcmdzLCAqKmt3YXJncykKLSAgICAgICAgc2VsZi5hc3NlcnROb3RJc0luc3RhbmNlKGNtLmV4Y2VwdGlvbiwgc29ja2V0LnRpbWVvdXQpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY20uZXhjZXB0aW9uLmVycm5vLCBlcnJuby5FSU5UUikKIAogICAgICMgSXNzdWUgIzEyOTU4OiBUaGUgZm9sbG93aW5nIHRlc3RzIGhhdmUgcHJvYmxlbXMgb24gT1MgWCBwcmlvciB0byAxMC43CiAgICAgQHN1cHBvcnQucmVxdWlyZXNfbWFjX3ZlcigxMCwgNykKQEAgLTM3MzEsOCArMzczMiw2IEBACiAgICAgICAgIHNlbGYuY2xpLmNvbm5lY3QoKEhPU1QsIHNlbGYucG9ydCkpCiAgICAgICAgIHRpbWUuc2xlZXAoMS4wKQogCi1AdW5pdHRlc3Quc2tpcFVubGVzcyhoYXNhdHRyKHNvY2tldCwgJ3NvY2tldHBhaXInKSwKLSAgICAgICAgICAgICAgICAgICAgICd0ZXN0IG5lZWRzIHNvY2tldC5zb2NrZXRwYWlyKCknKQogQHVuaXR0ZXN0LnNraXBVbmxlc3ModGhyZWFkLCAnVGhyZWFkaW5nIHJlcXVpcmVkIGZvciB0aGlzIHRlc3QuJykKIGNsYXNzIEJhc2ljU29ja2V0UGFpclRlc3QoU29ja2V0UGFpclRlc3QpOgogCkBAIC0zODEzLDcgKzM4MTIsNyBAQAogICAgICAgICBzZWxmLnNlcnYgPSBzb2NrZXQuc29ja2V0KHNvY2tldC5BRl9JTkVULCBzb2NrZXQuU09DS19TVFJFQU0gfAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzb2NrZXQuU09DS19OT05CTE9DSykKICAgICAgICAgc2VsZi5wb3J0ID0gc3VwcG9ydC5iaW5kX3BvcnQoc2VsZi5zZXJ2KQotICAgICAgICBzZWxmLnNlcnYubGlzdGVuKDEpCisgICAgICAgIHNlbGYuc2Vydi5saXN0ZW4oKQogICAgICAgICAjIGFjdHVhbCB0ZXN0aW5nCiAgICAgICAgIHN0YXJ0ID0gdGltZS50aW1lKCkKICAgICAgICAgdHJ5OgpAQCAtNDA1OSwxMTcgKzQwNTgsNiBAQAogICAgICAgICBwYXNzCiAKIAotY2xhc3MgRmlsZU9iamVjdEludGVycnVwdGVkVGVzdENhc2UodW5pdHRlc3QuVGVzdENhc2UpOgotICAgICIiIlRlc3QgdGhhdCB0aGUgZmlsZSBvYmplY3QgY29ycmVjdGx5IGhhbmRsZXMgRUlOVFIgaW50ZXJuYWxseS4iIiIKLQotICAgIGNsYXNzIE1vY2tTb2NrZXQob2JqZWN0KToKLSAgICAgICAgZGVmIF9faW5pdF9fKHNlbGYsIHJlY3ZfZnVuY3M9KCkpOgotICAgICAgICAgICAgIyBBIGdlbmVyYXRvciB0aGF0IHJldHVybnMgY2FsbGFibGVzIHRoYXQgd2UnbGwgY2FsbCBmb3IgZWFjaAotICAgICAgICAgICAgIyBjYWxsIHRvIHJlY3YoKS4KLSAgICAgICAgICAgIHNlbGYuX3JlY3Zfc3RlcCA9IGl0ZXIocmVjdl9mdW5jcykKLQotICAgICAgICBkZWYgcmVjdl9pbnRvKHNlbGYsIGJ1ZmZlcik6Ci0gICAgICAgICAgICBkYXRhID0gbmV4dChzZWxmLl9yZWN2X3N0ZXApKCkKLSAgICAgICAgICAgIGFzc2VydCBsZW4oYnVmZmVyKSA+PSBsZW4oZGF0YSkKLSAgICAgICAgICAgIGJ1ZmZlcls6bGVuKGRhdGEpXSA9IGRhdGEKLSAgICAgICAgICAgIHJldHVybiBsZW4oZGF0YSkKLQotICAgICAgICBkZWYgX2RlY3JlZl9zb2NrZXRpb3Moc2VsZik6Ci0gICAgICAgICAgICBwYXNzCi0KLSAgICAgICAgZGVmIF90ZXh0aW93cmFwX2Zvcl90ZXN0KHNlbGYsIGJ1ZmZlcmluZz0tMSk6Ci0gICAgICAgICAgICByYXcgPSBzb2NrZXQuU29ja2V0SU8oc2VsZiwgInIiKQotICAgICAgICAgICAgaWYgYnVmZmVyaW5nIDwgMDoKLSAgICAgICAgICAgICAgICBidWZmZXJpbmcgPSBpby5ERUZBVUxUX0JVRkZFUl9TSVpFCi0gICAgICAgICAgICBpZiBidWZmZXJpbmcgPT0gMDoKLSAgICAgICAgICAgICAgICByZXR1cm4gcmF3Ci0gICAgICAgICAgICBidWZmZXIgPSBpby5CdWZmZXJlZFJlYWRlcihyYXcsIGJ1ZmZlcmluZykKLSAgICAgICAgICAgIHRleHQgPSBpby5UZXh0SU9XcmFwcGVyKGJ1ZmZlciwgTm9uZSwgTm9uZSkKLSAgICAgICAgICAgIHRleHQubW9kZSA9ICJyYiIKLSAgICAgICAgICAgIHJldHVybiB0ZXh0Ci0KLSAgICBAc3RhdGljbWV0aG9kCi0gICAgZGVmIF9yYWlzZV9laW50cigpOgotICAgICAgICByYWlzZSBPU0Vycm9yKGVycm5vLkVJTlRSLCAiaW50ZXJydXB0ZWQiKQotCi0gICAgZGVmIF90ZXh0aW93cmFwX21vY2tfc29ja2V0KHNlbGYsIG1vY2ssIGJ1ZmZlcmluZz0tMSk6Ci0gICAgICAgIHJhdyA9IHNvY2tldC5Tb2NrZXRJTyhtb2NrLCAiciIpCi0gICAgICAgIGlmIGJ1ZmZlcmluZyA8IDA6Ci0gICAgICAgICAgICBidWZmZXJpbmcgPSBpby5ERUZBVUxUX0JVRkZFUl9TSVpFCi0gICAgICAgIGlmIGJ1ZmZlcmluZyA9PSAwOgotICAgICAgICAgICAgcmV0dXJuIHJhdwotICAgICAgICBidWZmZXIgPSBpby5CdWZmZXJlZFJlYWRlcihyYXcsIGJ1ZmZlcmluZykKLSAgICAgICAgdGV4dCA9IGlvLlRleHRJT1dyYXBwZXIoYnVmZmVyLCBOb25lLCBOb25lKQotICAgICAgICB0ZXh0Lm1vZGUgPSAicmIiCi0gICAgICAgIHJldHVybiB0ZXh0Ci0KLSAgICBkZWYgX3Rlc3RfcmVhZGxpbmUoc2VsZiwgc2l6ZT0tMSwgYnVmZmVyaW5nPS0xKToKLSAgICAgICAgbW9ja19zb2NrID0gc2VsZi5Nb2NrU29ja2V0KHJlY3ZfZnVuY3M9WwotICAgICAgICAgICAgICAgIGxhbWJkYSA6IGIiVGhpcyBpcyB0aGUgZmlyc3QgbGluZVxuQW5kIHRoZSBzZWMiLAotICAgICAgICAgICAgICAgIHNlbGYuX3JhaXNlX2VpbnRyLAotICAgICAgICAgICAgICAgIGxhbWJkYSA6IGIib25kIGxpbmUgaXMgaGVyZVxuIiwKLSAgICAgICAgICAgICAgICBsYW1iZGEgOiBiIiIsCi0gICAgICAgICAgICAgICAgbGFtYmRhIDogYiIiLCAgIyBYWFgoZ3BzKTogaW8gbGlicmFyeSBkb2VzIGFuIGV4dHJhIEVPRiByZWFkCi0gICAgICAgICAgICBdKQotICAgICAgICBmbyA9IG1vY2tfc29jay5fdGV4dGlvd3JhcF9mb3JfdGVzdChidWZmZXJpbmc9YnVmZmVyaW5nKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGZvLnJlYWRsaW5lKHNpemUpLCAiVGhpcyBpcyB0aGUgZmlyc3QgbGluZVxuIikKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmby5yZWFkbGluZShzaXplKSwgIkFuZCB0aGUgc2Vjb25kIGxpbmUgaXMgaGVyZVxuIikKLQotICAgIGRlZiBfdGVzdF9yZWFkKHNlbGYsIHNpemU9LTEsIGJ1ZmZlcmluZz0tMSk6Ci0gICAgICAgIG1vY2tfc29jayA9IHNlbGYuTW9ja1NvY2tldChyZWN2X2Z1bmNzPVsKLSAgICAgICAgICAgICAgICBsYW1iZGEgOiBiIlRoaXMgaXMgdGhlIGZpcnN0IGxpbmVcbkFuZCB0aGUgc2VjIiwKLSAgICAgICAgICAgICAgICBzZWxmLl9yYWlzZV9laW50ciwKLSAgICAgICAgICAgICAgICBsYW1iZGEgOiBiIm9uZCBsaW5lIGlzIGhlcmVcbiIsCi0gICAgICAgICAgICAgICAgbGFtYmRhIDogYiIiLAotICAgICAgICAgICAgICAgIGxhbWJkYSA6IGIiIiwgICMgWFhYKGdwcyk6IGlvIGxpYnJhcnkgZG9lcyBhbiBleHRyYSBFT0YgcmVhZAotICAgICAgICAgICAgXSkKLSAgICAgICAgZXhwZWN0aW5nID0gKGIiVGhpcyBpcyB0aGUgZmlyc3QgbGluZVxuIgotICAgICAgICAgICAgICAgICAgICAgYiJBbmQgdGhlIHNlY29uZCBsaW5lIGlzIGhlcmVcbiIpCi0gICAgICAgIGZvID0gbW9ja19zb2NrLl90ZXh0aW93cmFwX2Zvcl90ZXN0KGJ1ZmZlcmluZz1idWZmZXJpbmcpCi0gICAgICAgIGlmIGJ1ZmZlcmluZyA9PSAwOgotICAgICAgICAgICAgZGF0YSA9IGInJwotICAgICAgICBlbHNlOgotICAgICAgICAgICAgZGF0YSA9ICcnCi0gICAgICAgICAgICBleHBlY3RpbmcgPSBleHBlY3RpbmcuZGVjb2RlKCd1dGYtOCcpCi0gICAgICAgIHdoaWxlIGxlbihkYXRhKSAhPSBsZW4oZXhwZWN0aW5nKToKLSAgICAgICAgICAgIHBhcnQgPSBmby5yZWFkKHNpemUpCi0gICAgICAgICAgICBpZiBub3QgcGFydDoKLSAgICAgICAgICAgICAgICBicmVhawotICAgICAgICAgICAgZGF0YSArPSBwYXJ0Ci0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZGF0YSwgZXhwZWN0aW5nKQotCi0gICAgZGVmIHRlc3RfZGVmYXVsdChzZWxmKToKLSAgICAgICAgc2VsZi5fdGVzdF9yZWFkbGluZSgpCi0gICAgICAgIHNlbGYuX3Rlc3RfcmVhZGxpbmUoc2l6ZT0xMDApCi0gICAgICAgIHNlbGYuX3Rlc3RfcmVhZCgpCi0gICAgICAgIHNlbGYuX3Rlc3RfcmVhZChzaXplPTEwMCkKLQotICAgIGRlZiB0ZXN0X3dpdGhfMWtfYnVmZmVyKHNlbGYpOgotICAgICAgICBzZWxmLl90ZXN0X3JlYWRsaW5lKGJ1ZmZlcmluZz0xMDI0KQotICAgICAgICBzZWxmLl90ZXN0X3JlYWRsaW5lKHNpemU9MTAwLCBidWZmZXJpbmc9MTAyNCkKLSAgICAgICAgc2VsZi5fdGVzdF9yZWFkKGJ1ZmZlcmluZz0xMDI0KQotICAgICAgICBzZWxmLl90ZXN0X3JlYWQoc2l6ZT0xMDAsIGJ1ZmZlcmluZz0xMDI0KQotCi0gICAgZGVmIF90ZXN0X3JlYWRsaW5lX25vX2J1ZmZlcihzZWxmLCBzaXplPS0xKToKLSAgICAgICAgbW9ja19zb2NrID0gc2VsZi5Nb2NrU29ja2V0KHJlY3ZfZnVuY3M9WwotICAgICAgICAgICAgICAgIGxhbWJkYSA6IGIiYSIsCi0gICAgICAgICAgICAgICAgbGFtYmRhIDogYiJcbiIsCi0gICAgICAgICAgICAgICAgbGFtYmRhIDogYiJCIiwKLSAgICAgICAgICAgICAgICBzZWxmLl9yYWlzZV9laW50ciwKLSAgICAgICAgICAgICAgICBsYW1iZGEgOiBiImIiLAotICAgICAgICAgICAgICAgIGxhbWJkYSA6IGIiIiwKLSAgICAgICAgICAgIF0pCi0gICAgICAgIGZvID0gbW9ja19zb2NrLl90ZXh0aW93cmFwX2Zvcl90ZXN0KGJ1ZmZlcmluZz0wKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGZvLnJlYWRsaW5lKHNpemUpLCBiImFcbiIpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZm8ucmVhZGxpbmUoc2l6ZSksIGIiQmIiKQotCi0gICAgZGVmIHRlc3Rfbm9fYnVmZmVyKHNlbGYpOgotICAgICAgICBzZWxmLl90ZXN0X3JlYWRsaW5lX25vX2J1ZmZlcigpCi0gICAgICAgIHNlbGYuX3Rlc3RfcmVhZGxpbmVfbm9fYnVmZmVyKHNpemU9NCkKLSAgICAgICAgc2VsZi5fdGVzdF9yZWFkKGJ1ZmZlcmluZz0wKQotICAgICAgICBzZWxmLl90ZXN0X3JlYWQoc2l6ZT0xMDAsIGJ1ZmZlcmluZz0wKQotCi0KIGNsYXNzIFVuYnVmZmVyZWRGaWxlT2JqZWN0Q2xhc3NUZXN0Q2FzZShGaWxlT2JqZWN0Q2xhc3NUZXN0Q2FzZSk6CiAKICAgICAiIiJSZXBlYXQgdGhlIHRlc3RzIGZyb20gRmlsZU9iamVjdENsYXNzVGVzdENhc2Ugd2l0aCBidWZzaXplPT0wLgpAQCAtNDU4OCw3ICs0NDc2LDcgQEAKICAgICAgICAgYWRkcmVzcyA9IGIiXHgwMHB5dGhvbi10ZXN0LWhlbGxvXHgwMFx4ZmYiCiAgICAgICAgIHdpdGggc29ja2V0LnNvY2tldChzb2NrZXQuQUZfVU5JWCwgc29ja2V0LlNPQ0tfU1RSRUFNKSBhcyBzMToKICAgICAgICAgICAgIHMxLmJpbmQoYWRkcmVzcykKLSAgICAgICAgICAgIHMxLmxpc3RlbigxKQorICAgICAgICAgICAgczEubGlzdGVuKCkKICAgICAgICAgICAgIHdpdGggc29ja2V0LnNvY2tldChzb2NrZXQuQUZfVU5JWCwgc29ja2V0LlNPQ0tfU1RSRUFNKSBhcyBzMjoKICAgICAgICAgICAgICAgICBzMi5jb25uZWN0KHMxLmdldHNvY2tuYW1lKCkpCiAgICAgICAgICAgICAgICAgd2l0aCBzMS5hY2NlcHQoKVswXSBhcyBzMzoKQEAgLTQ4MjAsNyArNDcwOCw3IEBACiAgICAgICAgIHNydmFkZHIgPSAoc29ja2V0LlRJUENfQUREUl9OQU1FU0VRLCBUSVBDX1NUWVBFLAogICAgICAgICAgICAgICAgIFRJUENfTE9XRVIsIFRJUENfVVBQRVIpCiAgICAgICAgIHNlbGYuc3J2LmJpbmQoc3J2YWRkcikKLSAgICAgICAgc2VsZi5zcnYubGlzdGVuKDUpCisgICAgICAgIHNlbGYuc3J2Lmxpc3RlbigpCiAgICAgICAgIHNlbGYuc2VydmVyRXhwbGljaXRSZWFkeSgpCiAgICAgICAgIHNlbGYuY29ubiwgc2VsZi5jb25uYWRkciA9IHNlbGYuc3J2LmFjY2VwdCgpCiAgICAgICAgIHNlbGYuYWRkQ2xlYW51cChzZWxmLmNvbm4uY2xvc2UpCkBAIC01MTA5LDYgKzQ5OTcsMjc1IEBACiAgICAgICAgICAgICAgICAgICAgIHNvdXJjZS5jbG9zZSgpCiAKIAorQHVuaXR0ZXN0LnNraXBVbmxlc3ModGhyZWFkLCAnVGhyZWFkaW5nIHJlcXVpcmVkIGZvciB0aGlzIHRlc3QuJykKK2NsYXNzIFNlbmRmaWxlVXNpbmdTZW5kVGVzdChUaHJlYWRlZFRDUFNvY2tldFRlc3QpOgorICAgICIiIgorICAgIFRlc3QgdGhlIHNlbmQoKSBpbXBsZW1lbnRhdGlvbiBvZiBzb2NrZXQuc2VuZGZpbGUoKS4KKyAgICAiIiIKKworICAgIEZJTEVTSVpFID0gKDEwICogMTAyNCAqIDEwMjQpICAjIDEwTUIKKyAgICBCVUZTSVpFID0gODE5MgorICAgIEZJTEVEQVRBID0gYiIiCisgICAgVElNRU9VVCA9IDIKKworICAgIEBjbGFzc21ldGhvZAorICAgIGRlZiBzZXRVcENsYXNzKGNscyk6CisgICAgICAgIGRlZiBjaHVua3ModG90YWwsIHN0ZXApOgorICAgICAgICAgICAgYXNzZXJ0IHRvdGFsID49IHN0ZXAKKyAgICAgICAgICAgIHdoaWxlIHRvdGFsID4gc3RlcDoKKyAgICAgICAgICAgICAgICB5aWVsZCBzdGVwCisgICAgICAgICAgICAgICAgdG90YWwgLT0gc3RlcAorICAgICAgICAgICAgaWYgdG90YWw6CisgICAgICAgICAgICAgICAgeWllbGQgdG90YWwKKworICAgICAgICBjaHVuayA9IGIiIi5qb2luKFtyYW5kb20uY2hvaWNlKHN0cmluZy5hc2NpaV9sZXR0ZXJzKS5lbmNvZGUoKQorICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgaSBpbiByYW5nZShjbHMuQlVGU0laRSldKQorICAgICAgICB3aXRoIG9wZW4oc3VwcG9ydC5URVNURk4sICd3YicpIGFzIGY6CisgICAgICAgICAgICBmb3IgY3NpemUgaW4gY2h1bmtzKGNscy5GSUxFU0laRSwgY2xzLkJVRlNJWkUpOgorICAgICAgICAgICAgICAgIGYud3JpdGUoY2h1bmspCisgICAgICAgIHdpdGggb3BlbihzdXBwb3J0LlRFU1RGTiwgJ3JiJykgYXMgZjoKKyAgICAgICAgICAgIGNscy5GSUxFREFUQSA9IGYucmVhZCgpCisgICAgICAgICAgICBhc3NlcnQgbGVuKGNscy5GSUxFREFUQSkgPT0gY2xzLkZJTEVTSVpFCisKKyAgICBAY2xhc3NtZXRob2QKKyAgICBkZWYgdGVhckRvd25DbGFzcyhjbHMpOgorICAgICAgICBzdXBwb3J0LnVubGluayhzdXBwb3J0LlRFU1RGTikKKworICAgIGRlZiBhY2NlcHRfY29ubihzZWxmKToKKyAgICAgICAgc2VsZi5zZXJ2LnNldHRpbWVvdXQoc2VsZi5USU1FT1VUKQorICAgICAgICBjb25uLCBhZGRyID0gc2VsZi5zZXJ2LmFjY2VwdCgpCisgICAgICAgIGNvbm4uc2V0dGltZW91dChzZWxmLlRJTUVPVVQpCisgICAgICAgIHNlbGYuYWRkQ2xlYW51cChjb25uLmNsb3NlKQorICAgICAgICByZXR1cm4gY29ubgorCisgICAgZGVmIHJlY3ZfZGF0YShzZWxmLCBjb25uKToKKyAgICAgICAgcmVjZWl2ZWQgPSBbXQorICAgICAgICB3aGlsZSBUcnVlOgorICAgICAgICAgICAgY2h1bmsgPSBjb25uLnJlY3Yoc2VsZi5CVUZTSVpFKQorICAgICAgICAgICAgaWYgbm90IGNodW5rOgorICAgICAgICAgICAgICAgIGJyZWFrCisgICAgICAgICAgICByZWNlaXZlZC5hcHBlbmQoY2h1bmspCisgICAgICAgIHJldHVybiBiJycuam9pbihyZWNlaXZlZCkKKworICAgIGRlZiBtZXRoX2Zyb21fc29jayhzZWxmLCBzb2NrKToKKyAgICAgICAgIyBEZXBlbmRpbmcgb24gdGhlIG1peGluIGNsYXNzIGJlaW5nIHJ1biByZXR1cm4gZWl0aGVyIHNlbmQoKQorICAgICAgICAjIG9yIHNlbmRmaWxlKCkgbWV0aG9kIGltcGxlbWVudGF0aW9uLgorICAgICAgICByZXR1cm4gZ2V0YXR0cihzb2NrLCAiX3NlbmRmaWxlX3VzZV9zZW5kIikKKworICAgICMgcmVndWxhciBmaWxlCisKKyAgICBkZWYgX3Rlc3RSZWd1bGFyRmlsZShzZWxmKToKKyAgICAgICAgYWRkcmVzcyA9IHNlbGYuc2Vydi5nZXRzb2NrbmFtZSgpCisgICAgICAgIGZpbGUgPSBvcGVuKHN1cHBvcnQuVEVTVEZOLCAncmInKQorICAgICAgICB3aXRoIHNvY2tldC5jcmVhdGVfY29ubmVjdGlvbihhZGRyZXNzKSBhcyBzb2NrLCBmaWxlIGFzIGZpbGU6CisgICAgICAgICAgICBtZXRoID0gc2VsZi5tZXRoX2Zyb21fc29jayhzb2NrKQorICAgICAgICAgICAgc2VudCA9IG1ldGgoZmlsZSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VudCwgc2VsZi5GSUxFU0laRSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZmlsZS50ZWxsKCksIHNlbGYuRklMRVNJWkUpCisKKyAgICBkZWYgdGVzdFJlZ3VsYXJGaWxlKHNlbGYpOgorICAgICAgICBjb25uID0gc2VsZi5hY2NlcHRfY29ubigpCisgICAgICAgIGRhdGEgPSBzZWxmLnJlY3ZfZGF0YShjb25uKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihkYXRhKSwgc2VsZi5GSUxFU0laRSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkYXRhLCBzZWxmLkZJTEVEQVRBKQorCisgICAgIyBub24gcmVndWxhciBmaWxlCisKKyAgICBkZWYgX3Rlc3ROb25SZWd1bGFyRmlsZShzZWxmKToKKyAgICAgICAgYWRkcmVzcyA9IHNlbGYuc2Vydi5nZXRzb2NrbmFtZSgpCisgICAgICAgIGZpbGUgPSBpby5CeXRlc0lPKHNlbGYuRklMRURBVEEpCisgICAgICAgIHdpdGggc29ja2V0LmNyZWF0ZV9jb25uZWN0aW9uKGFkZHJlc3MpIGFzIHNvY2ssIGZpbGUgYXMgZmlsZToKKyAgICAgICAgICAgIHNlbnQgPSBzb2NrLnNlbmRmaWxlKGZpbGUpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbnQsIHNlbGYuRklMRVNJWkUpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGZpbGUudGVsbCgpLCBzZWxmLkZJTEVTSVpFKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoc29ja2V0Ll9HaXZldXBPblNlbmRmaWxlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc29jay5fc2VuZGZpbGVfdXNlX3NlbmRmaWxlLCBmaWxlKQorCisgICAgZGVmIHRlc3ROb25SZWd1bGFyRmlsZShzZWxmKToKKyAgICAgICAgY29ubiA9IHNlbGYuYWNjZXB0X2Nvbm4oKQorICAgICAgICBkYXRhID0gc2VsZi5yZWN2X2RhdGEoY29ubikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oZGF0YSksIHNlbGYuRklMRVNJWkUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZGF0YSwgc2VsZi5GSUxFREFUQSkKKworICAgICMgZW1wdHkgZmlsZQorCisgICAgZGVmIF90ZXN0RW1wdHlGaWxlU2VuZChzZWxmKToKKyAgICAgICAgYWRkcmVzcyA9IHNlbGYuc2Vydi5nZXRzb2NrbmFtZSgpCisgICAgICAgIGZpbGVuYW1lID0gc3VwcG9ydC5URVNURk4gKyAiMiIKKyAgICAgICAgd2l0aCBvcGVuKGZpbGVuYW1lLCAnd2InKToKKyAgICAgICAgICAgIHNlbGYuYWRkQ2xlYW51cChzdXBwb3J0LnVubGluaywgZmlsZW5hbWUpCisgICAgICAgIGZpbGUgPSBvcGVuKGZpbGVuYW1lLCAncmInKQorICAgICAgICB3aXRoIHNvY2tldC5jcmVhdGVfY29ubmVjdGlvbihhZGRyZXNzKSBhcyBzb2NrLCBmaWxlIGFzIGZpbGU6CisgICAgICAgICAgICBtZXRoID0gc2VsZi5tZXRoX2Zyb21fc29jayhzb2NrKQorICAgICAgICAgICAgc2VudCA9IG1ldGgoZmlsZSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VudCwgMCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZmlsZS50ZWxsKCksIDApCisKKyAgICBkZWYgdGVzdEVtcHR5RmlsZVNlbmQoc2VsZik6CisgICAgICAgIGNvbm4gPSBzZWxmLmFjY2VwdF9jb25uKCkKKyAgICAgICAgZGF0YSA9IHNlbGYucmVjdl9kYXRhKGNvbm4pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZGF0YSwgYiIiKQorCisgICAgIyBvZmZzZXQKKworICAgIGRlZiBfdGVzdE9mZnNldChzZWxmKToKKyAgICAgICAgYWRkcmVzcyA9IHNlbGYuc2Vydi5nZXRzb2NrbmFtZSgpCisgICAgICAgIGZpbGUgPSBvcGVuKHN1cHBvcnQuVEVTVEZOLCAncmInKQorICAgICAgICB3aXRoIHNvY2tldC5jcmVhdGVfY29ubmVjdGlvbihhZGRyZXNzKSBhcyBzb2NrLCBmaWxlIGFzIGZpbGU6CisgICAgICAgICAgICBtZXRoID0gc2VsZi5tZXRoX2Zyb21fc29jayhzb2NrKQorICAgICAgICAgICAgc2VudCA9IG1ldGgoZmlsZSwgb2Zmc2V0PTUwMDApCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbnQsIHNlbGYuRklMRVNJWkUgLSA1MDAwKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmaWxlLnRlbGwoKSwgc2VsZi5GSUxFU0laRSkKKworICAgIGRlZiB0ZXN0T2Zmc2V0KHNlbGYpOgorICAgICAgICBjb25uID0gc2VsZi5hY2NlcHRfY29ubigpCisgICAgICAgIGRhdGEgPSBzZWxmLnJlY3ZfZGF0YShjb25uKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihkYXRhKSwgc2VsZi5GSUxFU0laRSAtIDUwMDApCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZGF0YSwgc2VsZi5GSUxFREFUQVs1MDAwOl0pCisKKyAgICAjIGNvdW50CisKKyAgICBkZWYgX3Rlc3RDb3VudChzZWxmKToKKyAgICAgICAgYWRkcmVzcyA9IHNlbGYuc2Vydi5nZXRzb2NrbmFtZSgpCisgICAgICAgIGZpbGUgPSBvcGVuKHN1cHBvcnQuVEVTVEZOLCAncmInKQorICAgICAgICB3aXRoIHNvY2tldC5jcmVhdGVfY29ubmVjdGlvbihhZGRyZXNzLCB0aW1lb3V0PTIpIGFzIHNvY2ssIGZpbGUgYXMgZmlsZToKKyAgICAgICAgICAgIGNvdW50ID0gNTAwMDAwNworICAgICAgICAgICAgbWV0aCA9IHNlbGYubWV0aF9mcm9tX3NvY2soc29jaykKKyAgICAgICAgICAgIHNlbnQgPSBtZXRoKGZpbGUsIGNvdW50PWNvdW50KQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZW50LCBjb3VudCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZmlsZS50ZWxsKCksIGNvdW50KQorCisgICAgZGVmIHRlc3RDb3VudChzZWxmKToKKyAgICAgICAgY291bnQgPSA1MDAwMDA3CisgICAgICAgIGNvbm4gPSBzZWxmLmFjY2VwdF9jb25uKCkKKyAgICAgICAgZGF0YSA9IHNlbGYucmVjdl9kYXRhKGNvbm4pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKGRhdGEpLCBjb3VudCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkYXRhLCBzZWxmLkZJTEVEQVRBWzpjb3VudF0pCisKKyAgICAjIGNvdW50IHNtYWxsCisKKyAgICBkZWYgX3Rlc3RDb3VudFNtYWxsKHNlbGYpOgorICAgICAgICBhZGRyZXNzID0gc2VsZi5zZXJ2LmdldHNvY2tuYW1lKCkKKyAgICAgICAgZmlsZSA9IG9wZW4oc3VwcG9ydC5URVNURk4sICdyYicpCisgICAgICAgIHdpdGggc29ja2V0LmNyZWF0ZV9jb25uZWN0aW9uKGFkZHJlc3MsIHRpbWVvdXQ9MikgYXMgc29jaywgZmlsZSBhcyBmaWxlOgorICAgICAgICAgICAgY291bnQgPSAxCisgICAgICAgICAgICBtZXRoID0gc2VsZi5tZXRoX2Zyb21fc29jayhzb2NrKQorICAgICAgICAgICAgc2VudCA9IG1ldGgoZmlsZSwgY291bnQ9Y291bnQpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbnQsIGNvdW50KQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmaWxlLnRlbGwoKSwgY291bnQpCisKKyAgICBkZWYgdGVzdENvdW50U21hbGwoc2VsZik6CisgICAgICAgIGNvdW50ID0gMQorICAgICAgICBjb25uID0gc2VsZi5hY2NlcHRfY29ubigpCisgICAgICAgIGRhdGEgPSBzZWxmLnJlY3ZfZGF0YShjb25uKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihkYXRhKSwgY291bnQpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZGF0YSwgc2VsZi5GSUxFREFUQVs6Y291bnRdKQorCisgICAgIyBjb3VudCArIG9mZnNldAorCisgICAgZGVmIF90ZXN0Q291bnRXaXRoT2Zmc2V0KHNlbGYpOgorICAgICAgICBhZGRyZXNzID0gc2VsZi5zZXJ2LmdldHNvY2tuYW1lKCkKKyAgICAgICAgZmlsZSA9IG9wZW4oc3VwcG9ydC5URVNURk4sICdyYicpCisgICAgICAgIHdpdGggc29ja2V0LmNyZWF0ZV9jb25uZWN0aW9uKGFkZHJlc3MsIHRpbWVvdXQ9MikgYXMgc29jaywgZmlsZSBhcyBmaWxlOgorICAgICAgICAgICAgY291bnQgPSAxMDAwMDcKKyAgICAgICAgICAgIG1ldGggPSBzZWxmLm1ldGhfZnJvbV9zb2NrKHNvY2spCisgICAgICAgICAgICBzZW50ID0gbWV0aChmaWxlLCBvZmZzZXQ9MjAwNywgY291bnQ9Y291bnQpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbnQsIGNvdW50KQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmaWxlLnRlbGwoKSwgY291bnQgKyAyMDA3KQorCisgICAgZGVmIHRlc3RDb3VudFdpdGhPZmZzZXQoc2VsZik6CisgICAgICAgIGNvdW50ID0gMTAwMDA3CisgICAgICAgIGNvbm4gPSBzZWxmLmFjY2VwdF9jb25uKCkKKyAgICAgICAgZGF0YSA9IHNlbGYucmVjdl9kYXRhKGNvbm4pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKGRhdGEpLCBjb3VudCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkYXRhLCBzZWxmLkZJTEVEQVRBWzIwMDc6Y291bnQrMjAwN10pCisKKyAgICAjIG5vbiBibG9ja2luZyBzb2NrZXRzIGFyZSBub3Qgc3VwcG9zZWQgdG8gd29yaworCisgICAgZGVmIF90ZXN0Tm9uQmxvY2tpbmcoc2VsZik6CisgICAgICAgIGFkZHJlc3MgPSBzZWxmLnNlcnYuZ2V0c29ja25hbWUoKQorICAgICAgICBmaWxlID0gb3BlbihzdXBwb3J0LlRFU1RGTiwgJ3JiJykKKyAgICAgICAgd2l0aCBzb2NrZXQuY3JlYXRlX2Nvbm5lY3Rpb24oYWRkcmVzcykgYXMgc29jaywgZmlsZSBhcyBmaWxlOgorICAgICAgICAgICAgc29jay5zZXRibG9ja2luZyhGYWxzZSkKKyAgICAgICAgICAgIG1ldGggPSBzZWxmLm1ldGhfZnJvbV9zb2NrKHNvY2spCisgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBtZXRoLCBmaWxlKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgc29jay5zZW5kZmlsZSwgZmlsZSkKKworICAgIGRlZiB0ZXN0Tm9uQmxvY2tpbmcoc2VsZik6CisgICAgICAgIGNvbm4gPSBzZWxmLmFjY2VwdF9jb25uKCkKKyAgICAgICAgaWYgY29ubi5yZWN2KDgxOTIpOgorICAgICAgICAgICAgc2VsZi5mYWlsKCd3YXMgbm90IHN1cHBvc2VkIHRvIHJlY2VpdmUgYW55IGRhdGEnKQorCisgICAgIyB0aW1lb3V0IChub24tdHJpZ2dlcmVkKQorCisgICAgZGVmIF90ZXN0V2l0aFRpbWVvdXQoc2VsZik6CisgICAgICAgIGFkZHJlc3MgPSBzZWxmLnNlcnYuZ2V0c29ja25hbWUoKQorICAgICAgICBmaWxlID0gb3BlbihzdXBwb3J0LlRFU1RGTiwgJ3JiJykKKyAgICAgICAgd2l0aCBzb2NrZXQuY3JlYXRlX2Nvbm5lY3Rpb24oYWRkcmVzcywgdGltZW91dD0yKSBhcyBzb2NrLCBmaWxlIGFzIGZpbGU6CisgICAgICAgICAgICBtZXRoID0gc2VsZi5tZXRoX2Zyb21fc29jayhzb2NrKQorICAgICAgICAgICAgc2VudCA9IG1ldGgoZmlsZSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VudCwgc2VsZi5GSUxFU0laRSkKKworICAgIGRlZiB0ZXN0V2l0aFRpbWVvdXQoc2VsZik6CisgICAgICAgIGNvbm4gPSBzZWxmLmFjY2VwdF9jb25uKCkKKyAgICAgICAgZGF0YSA9IHNlbGYucmVjdl9kYXRhKGNvbm4pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKGRhdGEpLCBzZWxmLkZJTEVTSVpFKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRhdGEsIHNlbGYuRklMRURBVEEpCisKKyAgICAjIHRpbWVvdXQgKHRyaWdnZXJlZCkKKworICAgIGRlZiBfdGVzdFdpdGhUaW1lb3V0VHJpZ2dlcmVkU2VuZChzZWxmKToKKyAgICAgICAgYWRkcmVzcyA9IHNlbGYuc2Vydi5nZXRzb2NrbmFtZSgpCisgICAgICAgIGZpbGUgPSBvcGVuKHN1cHBvcnQuVEVTVEZOLCAncmInKQorICAgICAgICB3aXRoIHNvY2tldC5jcmVhdGVfY29ubmVjdGlvbihhZGRyZXNzLCB0aW1lb3V0PTAuMDEpIGFzIHNvY2ssIFwKKyAgICAgICAgICAgICAgICBmaWxlIGFzIGZpbGU6CisgICAgICAgICAgICBtZXRoID0gc2VsZi5tZXRoX2Zyb21fc29jayhzb2NrKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoc29ja2V0LnRpbWVvdXQsIG1ldGgsIGZpbGUpCisKKyAgICBkZWYgdGVzdFdpdGhUaW1lb3V0VHJpZ2dlcmVkU2VuZChzZWxmKToKKyAgICAgICAgY29ubiA9IHNlbGYuYWNjZXB0X2Nvbm4oKQorICAgICAgICBjb25uLnJlY3YoODgxOTIpCisKKyAgICAjIGVycm9ycworCisgICAgZGVmIF90ZXN0X2Vycm9ycyhzZWxmKToKKyAgICAgICAgcGFzcworCisgICAgZGVmIHRlc3RfZXJyb3JzKHNlbGYpOgorICAgICAgICB3aXRoIG9wZW4oc3VwcG9ydC5URVNURk4sICdyYicpIGFzIGZpbGU6CisgICAgICAgICAgICB3aXRoIHNvY2tldC5zb2NrZXQodHlwZT1zb2NrZXQuU09DS19ER1JBTSkgYXMgczoKKyAgICAgICAgICAgICAgICBtZXRoID0gc2VsZi5tZXRoX2Zyb21fc29jayhzKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoCisgICAgICAgICAgICAgICAgICAgIFZhbHVlRXJyb3IsICJTT0NLX1NUUkVBTSIsIG1ldGgsIGZpbGUpCisgICAgICAgIHdpdGggb3BlbihzdXBwb3J0LlRFU1RGTiwgJ3J0JykgYXMgZmlsZToKKyAgICAgICAgICAgIHdpdGggc29ja2V0LnNvY2tldCgpIGFzIHM6CisgICAgICAgICAgICAgICAgbWV0aCA9IHNlbGYubWV0aF9mcm9tX3NvY2socykKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlc1JlZ2V4KAorICAgICAgICAgICAgICAgICAgICBWYWx1ZUVycm9yLCAiYmluYXJ5IG1vZGUiLCBtZXRoLCBmaWxlKQorICAgICAgICB3aXRoIG9wZW4oc3VwcG9ydC5URVNURk4sICdyYicpIGFzIGZpbGU6CisgICAgICAgICAgICB3aXRoIHNvY2tldC5zb2NrZXQoKSBhcyBzOgorICAgICAgICAgICAgICAgIG1ldGggPSBzZWxmLm1ldGhfZnJvbV9zb2NrKHMpCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXNSZWdleChUeXBlRXJyb3IsICJwb3NpdGl2ZSBpbnRlZ2VyIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1ldGgsIGZpbGUsIGNvdW50PScyJykKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlc1JlZ2V4KFR5cGVFcnJvciwgInBvc2l0aXZlIGludGVnZXIiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWV0aCwgZmlsZSwgY291bnQ9MC4xKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoVmFsdWVFcnJvciwgInBvc2l0aXZlIGludGVnZXIiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWV0aCwgZmlsZSwgY291bnQ9MCkKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlc1JlZ2V4KFZhbHVlRXJyb3IsICJwb3NpdGl2ZSBpbnRlZ2VyIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1ldGgsIGZpbGUsIGNvdW50PS0xKQorCisKK0B1bml0dGVzdC5za2lwVW5sZXNzKHRocmVhZCwgJ1RocmVhZGluZyByZXF1aXJlZCBmb3IgdGhpcyB0ZXN0LicpCitAdW5pdHRlc3Quc2tpcFVubGVzcyhoYXNhdHRyKG9zLCAic2VuZGZpbGUiKSwKKyAgICAgICAgICAgICAgICAgICAgICdvcy5zZW5kZmlsZSgpIHJlcXVpcmVkIGZvciB0aGlzIHRlc3QuJykKK2NsYXNzIFNlbmRmaWxlVXNpbmdTZW5kZmlsZVRlc3QoU2VuZGZpbGVVc2luZ1NlbmRUZXN0KToKKyAgICAiIiIKKyAgICBUZXN0IHRoZSBzZW5kZmlsZSgpIGltcGxlbWVudGF0aW9uIG9mIHNvY2tldC5zZW5kZmlsZSgpLgorICAgICIiIgorICAgIGRlZiBtZXRoX2Zyb21fc29jayhzZWxmLCBzb2NrKToKKyAgICAgICAgcmV0dXJuIGdldGF0dHIoc29jaywgIl9zZW5kZmlsZV91c2Vfc2VuZGZpbGUiKQorCisKIGRlZiB0ZXN0X21haW4oKToKICAgICB0ZXN0cyA9IFtHZW5lcmFsTW9kdWxlVGVzdHMsIEJhc2ljVENQVGVzdCwgVENQQ2xvc2VyVGVzdCwgVENQVGltZW91dFRlc3QsCiAgICAgICAgICAgICAgVGVzdEV4Y2VwdGlvbnMsIEJ1ZmZlcklPVGVzdCwgQmFzaWNUQ1BUZXN0MiwgQmFzaWNVRFBUZXN0LCBVRFBUaW1lb3V0VGVzdCBdCkBAIC01MTE2LDcgKzUyNzMsNiBAQAogICAgIHRlc3RzLmV4dGVuZChbCiAgICAgICAgIE5vbkJsb2NraW5nVENQVGVzdHMsCiAgICAgICAgIEZpbGVPYmplY3RDbGFzc1Rlc3RDYXNlLAotICAgICAgICBGaWxlT2JqZWN0SW50ZXJydXB0ZWRUZXN0Q2FzZSwKICAgICAgICAgVW5idWZmZXJlZEZpbGVPYmplY3RDbGFzc1Rlc3RDYXNlLAogICAgICAgICBMaW5lQnVmZmVyZWRGaWxlT2JqZWN0Q2xhc3NUZXN0Q2FzZSwKICAgICAgICAgU21hbGxCdWZmZXJlZEZpbGVPYmplY3RDbGFzc1Rlc3RDYXNlLApAQCAtNTE2MSw2ICs1MzE3LDggQEAKICAgICAgICAgSW50ZXJydXB0ZWRSZWN2VGltZW91dFRlc3QsCiAgICAgICAgIEludGVycnVwdGVkU2VuZFRpbWVvdXRUZXN0LAogICAgICAgICBUZXN0U29ja2V0U2hhcmluZywKKyAgICAgICAgU2VuZGZpbGVVc2luZ1NlbmRUZXN0LAorICAgICAgICBTZW5kZmlsZVVzaW5nU2VuZGZpbGVUZXN0LAogICAgIF0pCiAKICAgICB0aHJlYWRfaW5mbyA9IHN1cHBvcnQudGhyZWFkaW5nX3NldHVwKCkKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3Rfc29ja2V0c2VydmVyLnB5IGIvTGliL3Rlc3QvdGVzdF9zb2NrZXRzZXJ2ZXIucHkKaW5kZXggOTI0YjljNC4uMzFhYjNiNiAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9zb2NrZXRzZXJ2ZXIucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9zb2NrZXRzZXJ2ZXIucHkKQEAgLTIyMSwzOCArMjIxLDYgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzb2NrZXRzZXJ2ZXIuRGF0YWdyYW1SZXF1ZXN0SGFuZGxlciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmRncmFtX2V4YW1pbmUpCiAKLSAgICBAY29udGV4dGxpYi5jb250ZXh0bWFuYWdlcgotICAgIGRlZiBtb2NrZWRfc2VsZWN0X21vZHVsZShzZWxmKToKLSAgICAgICAgIiIiTW9ja3MgdGhlIHNlbGVjdC5zZWxlY3QoKSBjYWxsIHRvIHJhaXNlIEVJTlRSIGZvciBmaXJzdCBjYWxsIiIiCi0gICAgICAgIG9sZF9zZWxlY3QgPSBzZWxlY3Quc2VsZWN0Ci0KLSAgICAgICAgY2xhc3MgTW9ja1NlbGVjdDoKLSAgICAgICAgICAgIGRlZiBfX2luaXRfXyhzZWxmKToKLSAgICAgICAgICAgICAgICBzZWxmLmNhbGxlZCA9IDAKLQotICAgICAgICAgICAgZGVmIF9fY2FsbF9fKHNlbGYsICphcmdzKToKLSAgICAgICAgICAgICAgICBzZWxmLmNhbGxlZCArPSAxCi0gICAgICAgICAgICAgICAgaWYgc2VsZi5jYWxsZWQgPT0gMToKLSAgICAgICAgICAgICAgICAgICAgIyByYWlzZSB0aGUgZXhjZXB0aW9uIG9uIGZpcnN0IGNhbGwKLSAgICAgICAgICAgICAgICAgICAgcmFpc2UgT1NFcnJvcihlcnJuby5FSU5UUiwgb3Muc3RyZXJyb3IoZXJybm8uRUlOVFIpKQotICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgICMgUmV0dXJuIHJlYWwgc2VsZWN0IHZhbHVlIGZvciBjb25zZWN1dGl2ZSBjYWxscwotICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2xkX3NlbGVjdCgqYXJncykKLQotICAgICAgICBzZWxlY3Quc2VsZWN0ID0gTW9ja1NlbGVjdCgpCi0gICAgICAgIHRyeToKLSAgICAgICAgICAgIHlpZWxkIHNlbGVjdC5zZWxlY3QKLSAgICAgICAgZmluYWxseToKLSAgICAgICAgICAgIHNlbGVjdC5zZWxlY3QgPSBvbGRfc2VsZWN0Ci0KLSAgICBkZWYgdGVzdF9JbnRlcnJ1cHRTZXJ2ZXJTZWxlY3RDYWxsKHNlbGYpOgotICAgICAgICB3aXRoIHNlbGYubW9ja2VkX3NlbGVjdF9tb2R1bGUoKSBhcyBtb2NrX3NlbGVjdDoKLSAgICAgICAgICAgIHBpZCA9IHNlbGYucnVuX3NlcnZlcihzb2NrZXRzZXJ2ZXIuVENQU2VydmVyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNvY2tldHNlcnZlci5TdHJlYW1SZXF1ZXN0SGFuZGxlciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnN0cmVhbV9leGFtaW5lKQotICAgICAgICAgICAgIyBNYWtlIHN1cmUgc2VsZWN0IHdhcyBjYWxsZWQgYWdhaW46Ci0gICAgICAgICAgICBzZWxmLmFzc2VydEdyZWF0ZXIobW9ja19zZWxlY3QuY2FsbGVkLCAxKQotCiAgICAgIyBBbGFzLCBvbiBMaW51eCAoYXQgbGVhc3QpIHJlY3Zmcm9tKCkgZG9lc24ndCByZXR1cm4gYSBtZWFuaW5nZnVsCiAgICAgIyBjbGllbnQgYWRkcmVzcyBzbyB0aGlzIGNhbm5vdCB3b3JrOgogCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X3NzbC5weSBiL0xpYi90ZXN0L3Rlc3Rfc3NsLnB5CmluZGV4IDc3OWI2MjIuLmVhNjE5ZmQgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3Rfc3NsLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3Rfc3NsLnB5CkBAIC04Niw2ICs4NiwxMiBAQAogICAgICMgMC45Ljggb3IgaGlnaGVyCiAgICAgcmV0dXJuIHNzbC5PUEVOU1NMX1ZFUlNJT05fSU5GTyA+PSAoMCwgOSwgOCwgMCwgMTUpCiAKK2RlZiB1dGNfb2Zmc2V0KCk6ICNOT1RFOiBpZ25vcmUgaXNzdWVzIGxpa2UgIzE2NDc2NTQKKyAgICAjIGxvY2FsIHRpbWUgPSB1dGMgdGltZSArIHV0YyBvZmZzZXQKKyAgICBpZiB0aW1lLmRheWxpZ2h0IGFuZCB0aW1lLmxvY2FsdGltZSgpLnRtX2lzZHN0ID4gMDoKKyAgICAgICAgcmV0dXJuIC10aW1lLmFsdHpvbmUgICMgc2Vjb25kcworICAgIHJldHVybiAtdGltZS50aW1lem9uZQorCiBkZWYgYXNuMXRpbWUoY2VydF90aW1lKToKICAgICAjIFNvbWUgdmVyc2lvbnMgb2YgT3BlblNTTCBpZ25vcmUgc2Vjb25kcywgc2VlICMxODIwNwogICAgICMgMC45LjguaQpAQCAtMTM0LDYgKzE0MCwxNCBAQAogICAgICAgICBzZWxmLmFzc2VydEluKHNzbC5IQVNfU05JLCB7VHJ1ZSwgRmFsc2V9KQogICAgICAgICBzZWxmLmFzc2VydEluKHNzbC5IQVNfRUNESCwge1RydWUsIEZhbHNlfSkKIAorICAgIGRlZiB0ZXN0X3N0cl9mb3JfZW51bXMoc2VsZik6CisgICAgICAgICMgTWFrZSBzdXJlIHRoYXQgdGhlIFBST1RPQ09MXyogY29uc3RhbnRzIGhhdmUgZW51bS1saWtlIHN0cmluZworICAgICAgICAjIHJlcHJzLgorICAgICAgICBwcm90byA9IHNzbC5QUk9UT0NPTF9TU0x2MjMKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdHIocHJvdG8pLCAnX1NTTE1ldGhvZC5QUk9UT0NPTF9TU0x2MjMnKQorICAgICAgICBjdHggPSBzc2wuU1NMQ29udGV4dChwcm90bykKKyAgICAgICAgc2VsZi5hc3NlcnRJcyhjdHgucHJvdG9jb2wsIHByb3RvKQorCiAgICAgZGVmIHRlc3RfcmFuZG9tKHNlbGYpOgogICAgICAgICB2ID0gc3NsLlJBTkRfc3RhdHVzKCkKICAgICAgICAgaWYgc3VwcG9ydC52ZXJib3NlOgpAQCAtMjk4LDEwICszMTIsMTAgQEAKICAgICAgICAgIyBWZXJzaW9uIHN0cmluZyBhcyByZXR1cm5lZCBieSB7T3BlbixMaWJyZX1TU0wsIHRoZSBmb3JtYXQgbWlnaHQgY2hhbmdlCiAgICAgICAgIGlmICJMaWJyZVNTTCIgaW4gczoKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShzLnN0YXJ0c3dpdGgoIkxpYnJlU1NMIHs6ZH0uezpkfSIuZm9ybWF0KG1ham9yLCBtaW5vcikpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzLCB0KSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAocywgdCwgaGV4KG4pKSkKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShzLnN0YXJ0c3dpdGgoIk9wZW5TU0wgezpkfS57OmR9Lns6ZH0iLmZvcm1hdChtYWpvciwgbWlub3IsIGZpeCkpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzLCB0KSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAocywgdCwgaGV4KG4pKSkKIAogICAgIEBzdXBwb3J0LmNweXRob25fb25seQogICAgIGRlZiB0ZXN0X3JlZmN5Y2xlKHNlbGYpOgpAQCAtMzY5LDYgKzM4Myw4IEBACiAgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhzc2wuQ2VydGlmaWNhdGVFcnJvciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNzbC5tYXRjaF9ob3N0bmFtZSwgY2VydCwgaG9zdG5hbWUpCiAKKyAgICAgICAgIyAtLSBIb3N0bmFtZSBtYXRjaGluZyAtLQorCiAgICAgICAgIGNlcnQgPSB7J3N1YmplY3QnOiAoKCgnY29tbW9uTmFtZScsICdleGFtcGxlLmNvbScpLCksKX0KICAgICAgICAgb2soY2VydCwgJ2V4YW1wbGUuY29tJykKICAgICAgICAgb2soY2VydCwgJ0V4QW1wbGUuY09tJykKQEAgLTQ1NCw2ICs0NzAsMjggQEAKICAgICAgICAgIyBPbmx5IGNvbW1vbk5hbWUgaXMgY29uc2lkZXJlZAogICAgICAgICBmYWlsKGNlcnQsICdDYWxpZm9ybmlhJykKIAorICAgICAgICAjIC0tIElQdjQgbWF0Y2hpbmcgLS0KKyAgICAgICAgY2VydCA9IHsnc3ViamVjdCc6ICgoKCdjb21tb25OYW1lJywgJ2V4YW1wbGUuY29tJyksKSwpLAorICAgICAgICAgICAgICAgICdzdWJqZWN0QWx0TmFtZSc6ICgoJ0ROUycsICdleGFtcGxlLmNvbScpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoJ0lQIEFkZHJlc3MnLCAnMTAuMTEuMTIuMTMnKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCdJUCBBZGRyZXNzJywgJzE0LjE1LjE2LjE3JykpfQorICAgICAgICBvayhjZXJ0LCAnMTAuMTEuMTIuMTMnKQorICAgICAgICBvayhjZXJ0LCAnMTQuMTUuMTYuMTcnKQorICAgICAgICBmYWlsKGNlcnQsICcxNC4xNS4xNi4xOCcpCisgICAgICAgIGZhaWwoY2VydCwgJ2V4YW1wbGUubmV0JykKKworICAgICAgICAjIC0tIElQdjYgbWF0Y2hpbmcgLS0KKyAgICAgICAgY2VydCA9IHsnc3ViamVjdCc6ICgoKCdjb21tb25OYW1lJywgJ2V4YW1wbGUuY29tJyksKSwpLAorICAgICAgICAgICAgICAgICdzdWJqZWN0QWx0TmFtZSc6ICgoJ0ROUycsICdleGFtcGxlLmNvbScpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoJ0lQIEFkZHJlc3MnLCAnMjAwMTowOjA6MDowOjA6MDpDQUZFXG4nKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCdJUCBBZGRyZXNzJywgJzIwMDM6MDowOjA6MDowOjA6QkFCQVxuJykpfQorICAgICAgICBvayhjZXJ0LCAnMjAwMTo6Y2FmZScpCisgICAgICAgIG9rKGNlcnQsICcyMDAzOjpiYWJhJykKKyAgICAgICAgZmFpbChjZXJ0LCAnMjAwMzo6YmViZScpCisgICAgICAgIGZhaWwoY2VydCwgJ2V4YW1wbGUubmV0JykKKworICAgICAgICAjIC0tIE1pc2NlbGxhbmVvdXMgLS0KKwogICAgICAgICAjIE5laXRoZXIgY29tbW9uTmFtZSBub3Igc3ViamVjdEFsdE5hbWUKICAgICAgICAgY2VydCA9IHsnbm90QWZ0ZXInOiAnRGVjIDE4IDIzOjU5OjU5IDIwMTEgR01UJywKICAgICAgICAgICAgICAgICAnc3ViamVjdCc6ICgoKCdjb3VudHJ5TmFtZScsICdVUycpLCksCkBAIC01MDUsOSArNTQzLDE0IEBACiAgICAgZGVmIHRlc3RfdW5rbm93bl9jaGFubmVsX2JpbmRpbmcoc2VsZik6CiAgICAgICAgICMgc2hvdWxkIHJhaXNlIFZhbHVlRXJyb3IgZm9yIHVua25vd24gdHlwZQogICAgICAgICBzID0gc29ja2V0LnNvY2tldChzb2NrZXQuQUZfSU5FVCkKLSAgICAgICAgd2l0aCBzc2wud3JhcF9zb2NrZXQocykgYXMgc3M6CisgICAgICAgIHMuYmluZCgoJzEyNy4wLjAuMScsIDApKQorICAgICAgICBzLmxpc3RlbigpCisgICAgICAgIGMgPSBzb2NrZXQuc29ja2V0KHNvY2tldC5BRl9JTkVUKQorICAgICAgICBjLmNvbm5lY3Qocy5nZXRzb2NrbmFtZSgpKQorICAgICAgICB3aXRoIHNzbC53cmFwX3NvY2tldChjLCBkb19oYW5kc2hha2Vfb25fY29ubmVjdD1GYWxzZSkgYXMgc3M6CiAgICAgICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IpOgogICAgICAgICAgICAgICAgIHNzLmdldF9jaGFubmVsX2JpbmRpbmcoInVua25vd24tdHlwZSIpCisgICAgICAgIHMuY2xvc2UoKQogCiAgICAgQHVuaXR0ZXN0LnNraXBVbmxlc3MoInRscy11bmlxdWUiIGluIHNzbC5DSEFOTkVMX0JJTkRJTkdfVFlQRVMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIid0bHMtdW5pcXVlJyBjaGFubmVsIGJpbmRpbmcgbm90IGF2YWlsYWJsZSIpCkBAIC02NDgsNiArNjkxLDcxIEBACiAgICAgICAgICAgICBjdHgud3JhcF9zb2NrZXQocykKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdHIoY3guZXhjZXB0aW9uKSwgIm9ubHkgc3RyZWFtIHNvY2tldHMgYXJlIHN1cHBvcnRlZCIpCiAKKyAgICBkZWYgY2VydF90aW1lX29rKHNlbGYsIHRpbWVzdHJpbmcsIHRpbWVzdGFtcCk6CisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3NsLmNlcnRfdGltZV90b19zZWNvbmRzKHRpbWVzdHJpbmcpLCB0aW1lc3RhbXApCisKKyAgICBkZWYgY2VydF90aW1lX2ZhaWwoc2VsZiwgdGltZXN0cmluZyk6CisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvcik6CisgICAgICAgICAgICBzc2wuY2VydF90aW1lX3RvX3NlY29uZHModGltZXN0cmluZykKKworICAgIEB1bml0dGVzdC5za2lwVW5sZXNzKHV0Y19vZmZzZXQoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAnbG9jYWwgdGltZSBuZWVkcyB0byBiZSBkaWZmZXJlbnQgZnJvbSBVVEMnKQorICAgIGRlZiB0ZXN0X2NlcnRfdGltZV90b19zZWNvbmRzX3RpbWV6b25lKHNlbGYpOgorICAgICAgICAjIElzc3VlICMxOTk0MDogc3NsLmNlcnRfdGltZV90b19zZWNvbmRzKCkgcmV0dXJucyB3cm9uZworICAgICAgICAjICAgICAgICAgICAgICAgcmVzdWx0cyBpZiBsb2NhbCB0aW1lem9uZSBpcyBub3QgVVRDCisgICAgICAgIHNlbGYuY2VydF90aW1lX29rKCJNYXkgIDkgMDA6MDA6MDAgMjAwNyBHTVQiLCAxMTc4NjY4ODAwLjApCisgICAgICAgIHNlbGYuY2VydF90aW1lX29rKCJKYW4gIDUgMDk6MzQ6NDMgMjAxOCBHTVQiLCAxNTE1MTQ0ODgzLjApCisKKyAgICBkZWYgdGVzdF9jZXJ0X3RpbWVfdG9fc2Vjb25kcyhzZWxmKToKKyAgICAgICAgdGltZXN0cmluZyA9ICJKYW4gIDUgMDk6MzQ6NDMgMjAxOCBHTVQiCisgICAgICAgIHRzID0gMTUxNTE0NDg4My4wCisgICAgICAgIHNlbGYuY2VydF90aW1lX29rKHRpbWVzdHJpbmcsIHRzKQorICAgICAgICAjIGFjY2VwdCBrZXl3b3JkIHBhcmFtZXRlciwgYXNzZXJ0IGl0cyBuYW1lCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3NsLmNlcnRfdGltZV90b19zZWNvbmRzKGNlcnRfdGltZT10aW1lc3RyaW5nKSwgdHMpCisgICAgICAgICMgYWNjZXB0IGJvdGggJWUgYW5kICVkIChzcGFjZSBvciB6ZXJvIGdlbmVyYXRlZCBieSBzdHJmdGltZSkKKyAgICAgICAgc2VsZi5jZXJ0X3RpbWVfb2soIkphbiAwNSAwOTozNDo0MyAyMDE4IEdNVCIsIHRzKQorICAgICAgICAjIGNhc2UtaW5zZW5zaXRpdmUKKyAgICAgICAgc2VsZi5jZXJ0X3RpbWVfb2soIkphTiAgNSAwOTozNDo0MyAyMDE4IEdtVCIsIHRzKQorICAgICAgICBzZWxmLmNlcnRfdGltZV9mYWlsKCJKYW4gIDUgMDk6MzQgMjAxOCBHTVQiKSAgICAgIyBubyBzZWNvbmRzCisgICAgICAgIHNlbGYuY2VydF90aW1lX2ZhaWwoIkphbiAgNSAwOTozNDo0MyAyMDE4IikgICAgICAjIG5vIEdNVAorICAgICAgICBzZWxmLmNlcnRfdGltZV9mYWlsKCJKYW4gIDUgMDk6MzQ6NDMgMjAxOCBVVEMiKSAgIyBub3QgR01UIHRpbWV6b25lCisgICAgICAgIHNlbGYuY2VydF90aW1lX2ZhaWwoIkphbiAzNSAwOTozNDo0MyAyMDE4IEdNVCIpICAjIGludmFsaWQgZGF5CisgICAgICAgIHNlbGYuY2VydF90aW1lX2ZhaWwoIkpvbiAgNSAwOTozNDo0MyAyMDE4IEdNVCIpICAjIGludmFsaWQgbW9udGgKKyAgICAgICAgc2VsZi5jZXJ0X3RpbWVfZmFpbCgiSmFuICA1IDI0OjAwOjAwIDIwMTggR01UIikgICMgaW52YWxpZCBob3VyCisgICAgICAgIHNlbGYuY2VydF90aW1lX2ZhaWwoIkphbiAgNSAwOTo2MDo0MyAyMDE4IEdNVCIpICAjIGludmFsaWQgbWludXRlCisKKyAgICAgICAgbmV3eWVhcl90cyA9IDEyMzA3NjgwMDAuMAorICAgICAgICAjIGxlYXAgc2Vjb25kcworICAgICAgICBzZWxmLmNlcnRfdGltZV9vaygiRGVjIDMxIDIzOjU5OjYwIDIwMDggR01UIiwgbmV3eWVhcl90cykKKyAgICAgICAgIyBzYW1lIHRpbWVzdGFtcAorICAgICAgICBzZWxmLmNlcnRfdGltZV9vaygiSmFuICAxIDAwOjAwOjAwIDIwMDkgR01UIiwgbmV3eWVhcl90cykKKworICAgICAgICBzZWxmLmNlcnRfdGltZV9vaygiSmFuICA1IDA5OjM0OjU5IDIwMTggR01UIiwgMTUxNTE0NDg5OSkKKyAgICAgICAgIyAgYWxsb3cgNjB0aCBzZWNvbmQgKGV2ZW4gaWYgaXQgaXMgbm90IGEgbGVhcCBzZWNvbmQpCisgICAgICAgIHNlbGYuY2VydF90aW1lX29rKCJKYW4gIDUgMDk6MzQ6NjAgMjAxOCBHTVQiLCAxNTE1MTQ0OTAwKQorICAgICAgICAjICBhbGxvdyAybmQgbGVhcCBzZWNvbmQgZm9yIGNvbXBhdGliaWxpdHkgd2l0aCB0aW1lLnN0cnB0aW1lKCkKKyAgICAgICAgc2VsZi5jZXJ0X3RpbWVfb2soIkphbiAgNSAwOTozNDo2MSAyMDE4IEdNVCIsIDE1MTUxNDQ5MDEpCisgICAgICAgIHNlbGYuY2VydF90aW1lX2ZhaWwoIkphbiAgNSAwOTozNDo2MiAyMDE4IEdNVCIpICAjIGludmFsaWQgc2Vjb25kcworCisgICAgICAgICMgbm8gc3BlY2lhbCB0cmVhdGVtZW50IGZvciB0aGUgc3BlY2lhbCB2YWx1ZToKKyAgICAgICAgIyAgIDk5OTkxMjMxMjM1OTU5WiAocmZjIDUyODApCisgICAgICAgIHNlbGYuY2VydF90aW1lX29rKCJEZWMgMzEgMjM6NTk6NTkgOTk5OSBHTVQiLCAyNTM0MDIzMDA3OTkuMCkKKworICAgIEBzdXBwb3J0LnJ1bl93aXRoX2xvY2FsZSgnTENfQUxMJywgJycpCisgICAgZGVmIHRlc3RfY2VydF90aW1lX3RvX3NlY29uZHNfbG9jYWxlKHNlbGYpOgorICAgICAgICAjIGBjZXJ0X3RpbWVfdG9fc2Vjb25kcygpYCBzaG91bGQgYmUgbG9jYWxlIGluZGVwZW5kZW50CisKKyAgICAgICAgZGVmIGxvY2FsX2ZlYnJ1YXJ5X25hbWUoKToKKyAgICAgICAgICAgIHJldHVybiB0aW1lLnN0cmZ0aW1lKCclYicsICgxLCAyLCAzLCA0LCA1LCA2LCAwLCAwLCAwKSkKKworICAgICAgICBpZiBsb2NhbF9mZWJydWFyeV9uYW1lKCkubG93ZXIoKSA9PSAnZmViJzoKKyAgICAgICAgICAgIHNlbGYuc2tpcFRlc3QoImxvY2FsZS1zcGVjaWZpYyBtb250aCBuYW1lIG5lZWRzIHRvIGJlICIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgImRpZmZlcmVudCBmcm9tIEMgbG9jYWxlIikKKworICAgICAgICAjIGxvY2FsZS1pbmRlcGVuZGVudAorICAgICAgICBzZWxmLmNlcnRfdGltZV9vaygiRmViICA5IDAwOjAwOjAwIDIwMDcgR01UIiwgMTE3MDk3OTIwMC4wKQorICAgICAgICBzZWxmLmNlcnRfdGltZV9mYWlsKGxvY2FsX2ZlYnJ1YXJ5X25hbWUoKSArICIgIDkgMDA6MDA6MDAgMjAwNyBHTVQiKQorCiAKIGNsYXNzIENvbnRleHRUZXN0cyh1bml0dGVzdC5UZXN0Q2FzZSk6CiAKQEAgLTExNTcsNyArMTI2NSw3IEBACiAgICAgICAgIGN0eCA9IHNzbC5TU0xDb250ZXh0KHNzbC5QUk9UT0NPTF9UTFN2MSkKICAgICAgICAgd2l0aCBzb2NrZXQuc29ja2V0KCkgYXMgczoKICAgICAgICAgICAgIHMuYmluZCgoIjEyNy4wLjAuMSIsIDApKQotICAgICAgICAgICAgcy5saXN0ZW4oNSkKKyAgICAgICAgICAgIHMubGlzdGVuKCkKICAgICAgICAgICAgIGMgPSBzb2NrZXQuc29ja2V0KCkKICAgICAgICAgICAgIGMuY29ubmVjdChzLmdldHNvY2tuYW1lKCkpCiAgICAgICAgICAgICBjLnNldGJsb2NraW5nKEZhbHNlKQpAQCAtMTE3MCw2ICsxMjc4LDY5IEBACiAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjbS5leGNlcHRpb24uZXJybm8sIHNzbC5TU0xfRVJST1JfV0FOVF9SRUFEKQogCiAKK2NsYXNzIE1lbW9yeUJJT1Rlc3RzKHVuaXR0ZXN0LlRlc3RDYXNlKToKKworICAgIGRlZiB0ZXN0X3JlYWRfd3JpdGUoc2VsZik6CisgICAgICAgIGJpbyA9IHNzbC5NZW1vcnlCSU8oKQorICAgICAgICBiaW8ud3JpdGUoYidmb28nKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGJpby5yZWFkKCksIGInZm9vJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiaW8ucmVhZCgpLCBiJycpCisgICAgICAgIGJpby53cml0ZShiJ2ZvbycpCisgICAgICAgIGJpby53cml0ZShiJ2JhcicpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYmlvLnJlYWQoKSwgYidmb29iYXInKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGJpby5yZWFkKCksIGInJykKKyAgICAgICAgYmlvLndyaXRlKGInYmF6JykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiaW8ucmVhZCgyKSwgYidiYScpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYmlvLnJlYWQoMSksIGIneicpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYmlvLnJlYWQoMSksIGInJykKKworICAgIGRlZiB0ZXN0X2VvZihzZWxmKToKKyAgICAgICAgYmlvID0gc3NsLk1lbW9yeUJJTygpCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoYmlvLmVvZikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiaW8ucmVhZCgpLCBiJycpCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoYmlvLmVvZikKKyAgICAgICAgYmlvLndyaXRlKGInZm9vJykKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShiaW8uZW9mKQorICAgICAgICBiaW8ud3JpdGVfZW9mKCkKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShiaW8uZW9mKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGJpby5yZWFkKDIpLCBiJ2ZvJykKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShiaW8uZW9mKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGJpby5yZWFkKDEpLCBiJ28nKQorICAgICAgICBzZWxmLmFzc2VydFRydWUoYmlvLmVvZikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiaW8ucmVhZCgpLCBiJycpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShiaW8uZW9mKQorCisgICAgZGVmIHRlc3RfcGVuZGluZyhzZWxmKToKKyAgICAgICAgYmlvID0gc3NsLk1lbW9yeUJJTygpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYmlvLnBlbmRpbmcsIDApCisgICAgICAgIGJpby53cml0ZShiJ2ZvbycpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYmlvLnBlbmRpbmcsIDMpCisgICAgICAgIGZvciBpIGluIHJhbmdlKDMpOgorICAgICAgICAgICAgYmlvLnJlYWQoMSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYmlvLnBlbmRpbmcsIDMtaS0xKQorICAgICAgICBmb3IgaSBpbiByYW5nZSgzKToKKyAgICAgICAgICAgIGJpby53cml0ZShiJ3gnKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiaW8ucGVuZGluZywgaSsxKQorICAgICAgICBiaW8ucmVhZCgpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYmlvLnBlbmRpbmcsIDApCisKKyAgICBkZWYgdGVzdF9idWZmZXJfdHlwZXMoc2VsZik6CisgICAgICAgIGJpbyA9IHNzbC5NZW1vcnlCSU8oKQorICAgICAgICBiaW8ud3JpdGUoYidmb28nKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGJpby5yZWFkKCksIGInZm9vJykKKyAgICAgICAgYmlvLndyaXRlKGJ5dGVhcnJheShiJ2JhcicpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGJpby5yZWFkKCksIGInYmFyJykKKyAgICAgICAgYmlvLndyaXRlKG1lbW9yeXZpZXcoYidiYXonKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiaW8ucmVhZCgpLCBiJ2JheicpCisKKyAgICBkZWYgdGVzdF9lcnJvcl90eXBlcyhzZWxmKToKKyAgICAgICAgYmlvID0gc3NsLk1lbW9yeUJJTygpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgYmlvLndyaXRlLCAnZm9vJykKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBiaW8ud3JpdGUsIE5vbmUpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgYmlvLndyaXRlLCBUcnVlKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIGJpby53cml0ZSwgMSkKKworCiBjbGFzcyBOZXR3b3JrZWRUZXN0cyh1bml0dGVzdC5UZXN0Q2FzZSk6CiAKICAgICBkZWYgdGVzdF9jb25uZWN0KHNlbGYpOgpAQCAtMTM5NywxNCArMTU2OCwxMiBAQAogICAgIGRlZiB0ZXN0X2dldF9zZXJ2ZXJfY2VydGlmaWNhdGUoc2VsZik6CiAgICAgICAgIGRlZiBfdGVzdF9nZXRfc2VydmVyX2NlcnRpZmljYXRlKGhvc3QsIHBvcnQsIGNlcnQ9Tm9uZSk6CiAgICAgICAgICAgICB3aXRoIHN1cHBvcnQudHJhbnNpZW50X2ludGVybmV0KGhvc3QpOgotICAgICAgICAgICAgICAgIHBlbSA9IHNzbC5nZXRfc2VydmVyX2NlcnRpZmljYXRlKChob3N0LCBwb3J0KSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzc2wuUFJPVE9DT0xfU1NMdjIzKQorICAgICAgICAgICAgICAgIHBlbSA9IHNzbC5nZXRfc2VydmVyX2NlcnRpZmljYXRlKChob3N0LCBwb3J0KSkKICAgICAgICAgICAgICAgICBpZiBub3QgcGVtOgogICAgICAgICAgICAgICAgICAgICBzZWxmLmZhaWwoIk5vIHNlcnZlciBjZXJ0aWZpY2F0ZSBvbiAlczolcyEiICUgKGhvc3QsIHBvcnQpKQogCiAgICAgICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgICAgICBwZW0gPSBzc2wuZ2V0X3NlcnZlcl9jZXJ0aWZpY2F0ZSgoaG9zdCwgcG9ydCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNzbC5QUk9UT0NPTF9TU0x2MjMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhX2NlcnRzPUNFUlRGSUxFKQogICAgICAgICAgICAgICAgIGV4Y2VwdCBzc2wuU1NMRXJyb3IgYXMgeDoKICAgICAgICAgICAgICAgICAgICAgI3Nob3VsZCBmYWlsCkBAIC0xNDE0LDcgKzE1ODMsNiBAQAogICAgICAgICAgICAgICAgICAgICBzZWxmLmZhaWwoIkdvdCBzZXJ2ZXIgY2VydGlmaWNhdGUgJXMgZm9yICVzOiVzISIgJSAocGVtLCBob3N0LCBwb3J0KSkKIAogICAgICAgICAgICAgICAgIHBlbSA9IHNzbC5nZXRfc2VydmVyX2NlcnRpZmljYXRlKChob3N0LCBwb3J0KSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzc2wuUFJPVE9DT0xfU1NMdjIzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhX2NlcnRzPWNlcnQpCiAgICAgICAgICAgICAgICAgaWYgbm90IHBlbToKICAgICAgICAgICAgICAgICAgICAgc2VsZi5mYWlsKCJObyBzZXJ2ZXIgY2VydGlmaWNhdGUgb24gJXM6JXMhIiAlIChob3N0LCBwb3J0KSkKQEAgLTE1MDAsNiArMTY2OCw5MyBAQAogICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXMoc3MuY29udGV4dCwgY3R4MikKICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydElzKHNzLl9zc2xvYmouY29udGV4dCwgY3R4MikKIAorCitjbGFzcyBOZXR3b3JrZWRCSU9UZXN0cyh1bml0dGVzdC5UZXN0Q2FzZSk6CisKKyAgICBkZWYgc3NsX2lvX2xvb3Aoc2VsZiwgc29jaywgaW5jb21pbmcsIG91dGdvaW5nLCBmdW5jLCAqYXJncywgKiprd2FyZ3MpOgorICAgICAgICAjIEEgc2ltcGxlIElPIGxvb3AuIENhbGwgZnVuYygqYXJncykgZGVwZW5kaW5nIG9uIHRoZSBlcnJvciB3ZSBnZXQKKyAgICAgICAgIyAoV0FOVF9SRUFEIG9yIFdBTlRfV1JJVEUpIG1vdmUgZGF0YSBiZXR3ZWVuIHRoZSBzb2NrZXQgYW5kIHRoZSBCSU9zLgorICAgICAgICB0aW1lb3V0ID0ga3dhcmdzLmdldCgndGltZW91dCcsIDEwKQorICAgICAgICBjb3VudCA9IDAKKyAgICAgICAgd2hpbGUgVHJ1ZToKKyAgICAgICAgICAgIGVycm5vID0gTm9uZQorICAgICAgICAgICAgY291bnQgKz0gMQorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIHJldCA9IGZ1bmMoKmFyZ3MpCisgICAgICAgICAgICBleGNlcHQgc3NsLlNTTEVycm9yIGFzIGU6CisgICAgICAgICAgICAgICAgIyBOb3RlIHRoYXQgd2UgZ2V0IGEgc3B1cmlvdXMgLTEvU1NMX0VSUk9SX1NZU0NBTEwgZm9yCisgICAgICAgICAgICAgICAgIyBub24tYmxvY2tpbmcgSU8uIFRoZSBTU0xfc2h1dGRvd24gbWFucGFnZSBoaW50cyBhdCB0aGlzLgorICAgICAgICAgICAgICAgICMgSXQgKnNob3VsZCogYmUgc2FmZSB0byBqdXN0IGlnbm9yZSBTWVNfRVJST1JfU1lTQ0FMTCBiZWNhdXNlCisgICAgICAgICAgICAgICAgIyB3aXRoIGEgTWVtb3J5IEJJTyB0aGVyZSdzIG5vIHN5c2NhbGxzIChmb3IgSU8gYXQgbGVhc3QpLgorICAgICAgICAgICAgICAgIGlmIGUuZXJybm8gbm90IGluIChzc2wuU1NMX0VSUk9SX1dBTlRfUkVBRCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3NsLlNTTF9FUlJPUl9XQU5UX1dSSVRFLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzc2wuU1NMX0VSUk9SX1NZU0NBTEwpOgorICAgICAgICAgICAgICAgICAgICByYWlzZQorICAgICAgICAgICAgICAgIGVycm5vID0gZS5lcnJubworICAgICAgICAgICAgIyBHZXQgYW55IGRhdGEgZnJvbSB0aGUgb3V0Z29pbmcgQklPIGlycmVzcGVjdGl2ZSBvZiBhbnkgZXJyb3IsIGFuZAorICAgICAgICAgICAgIyBzZW5kIGl0IHRvIHRoZSBzb2NrZXQuCisgICAgICAgICAgICBidWYgPSBvdXRnb2luZy5yZWFkKCkKKyAgICAgICAgICAgIHNvY2suc2VuZGFsbChidWYpCisgICAgICAgICAgICAjIElmIHRoZXJlJ3Mgbm8gZXJyb3IsIHdlJ3JlIGRvbmUuIEZvciBXQU5UX1JFQUQsIHdlIG5lZWQgdG8gZ2V0CisgICAgICAgICAgICAjIGRhdGEgZnJvbSB0aGUgc29ja2V0IGFuZCBwdXQgaXQgaW4gdGhlIGluY29taW5nIEJJTy4KKyAgICAgICAgICAgIGlmIGVycm5vIGlzIE5vbmU6CisgICAgICAgICAgICAgICAgYnJlYWsKKyAgICAgICAgICAgIGVsaWYgZXJybm8gPT0gc3NsLlNTTF9FUlJPUl9XQU5UX1JFQUQ6CisgICAgICAgICAgICAgICAgYnVmID0gc29jay5yZWN2KDMyNzY4KQorICAgICAgICAgICAgICAgIGlmIGJ1ZjoKKyAgICAgICAgICAgICAgICAgICAgaW5jb21pbmcud3JpdGUoYnVmKQorICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgIGluY29taW5nLndyaXRlX2VvZigpCisgICAgICAgIGlmIHN1cHBvcnQudmVyYm9zZToKKyAgICAgICAgICAgIHN5cy5zdGRvdXQud3JpdGUoIk5lZWRlZCAlZCBjYWxscyB0byBjb21wbGV0ZSAlcygpLlxuIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAlIChjb3VudCwgZnVuYy5fX25hbWVfXykpCisgICAgICAgIHJldHVybiByZXQKKworICAgIGRlZiB0ZXN0X2hhbmRzaGFrZShzZWxmKToKKyAgICAgICAgd2l0aCBzdXBwb3J0LnRyYW5zaWVudF9pbnRlcm5ldCgic3ZuLnB5dGhvbi5vcmciKToKKyAgICAgICAgICAgIHNvY2sgPSBzb2NrZXQuc29ja2V0KHNvY2tldC5BRl9JTkVUKQorICAgICAgICAgICAgc29jay5jb25uZWN0KCgic3ZuLnB5dGhvbi5vcmciLCA0NDMpKQorICAgICAgICAgICAgaW5jb21pbmcgPSBzc2wuTWVtb3J5QklPKCkKKyAgICAgICAgICAgIG91dGdvaW5nID0gc3NsLk1lbW9yeUJJTygpCisgICAgICAgICAgICBjdHggPSBzc2wuU1NMQ29udGV4dChzc2wuUFJPVE9DT0xfU1NMdjIzKQorICAgICAgICAgICAgY3R4LnZlcmlmeV9tb2RlID0gc3NsLkNFUlRfUkVRVUlSRUQKKyAgICAgICAgICAgIGN0eC5sb2FkX3ZlcmlmeV9sb2NhdGlvbnMoU1ZOX1BZVEhPTl9PUkdfUk9PVF9DRVJUKQorICAgICAgICAgICAgY3R4LmNoZWNrX2hvc3RuYW1lID0gVHJ1ZQorICAgICAgICAgICAgc3Nsb2JqID0gY3R4LndyYXBfYmlvKGluY29taW5nLCBvdXRnb2luZywgRmFsc2UsICdzdm4ucHl0aG9uLm9yZycpCisgICAgICAgICAgICBzZWxmLmFzc2VydElzKHNzbG9iai5fc3Nsb2JqLm93bmVyLCBzc2xvYmopCisgICAgICAgICAgICBzZWxmLmFzc2VydElzTm9uZShzc2xvYmouY2lwaGVyKCkpCisgICAgICAgICAgICBzZWxmLmFzc2VydElzTm9uZShzc2xvYmouc2hhcmVkX2NpcGhlcnMoKSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIHNzbG9iai5nZXRwZWVyY2VydCkKKyAgICAgICAgICAgIGlmICd0bHMtdW5pcXVlJyBpbiBzc2wuQ0hBTk5FTF9CSU5ESU5HX1RZUEVTOgorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXNOb25lKHNzbG9iai5nZXRfY2hhbm5lbF9iaW5kaW5nKCd0bHMtdW5pcXVlJykpCisgICAgICAgICAgICBzZWxmLnNzbF9pb19sb29wKHNvY2ssIGluY29taW5nLCBvdXRnb2luZywgc3Nsb2JqLmRvX2hhbmRzaGFrZSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShzc2xvYmouY2lwaGVyKCkpCisgICAgICAgICAgICBzZWxmLmFzc2VydElzTm9uZShzc2xvYmouc2hhcmVkX2NpcGhlcnMoKSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShzc2xvYmouZ2V0cGVlcmNlcnQoKSkKKyAgICAgICAgICAgIGlmICd0bHMtdW5pcXVlJyBpbiBzc2wuQ0hBTk5FTF9CSU5ESU5HX1RZUEVTOgorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShzc2xvYmouZ2V0X2NoYW5uZWxfYmluZGluZygndGxzLXVuaXF1ZScpKQorICAgICAgICAgICAgc2VsZi5zc2xfaW9fbG9vcChzb2NrLCBpbmNvbWluZywgb3V0Z29pbmcsIHNzbG9iai51bndyYXApCisgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhzc2wuU1NMRXJyb3IsIHNzbG9iai53cml0ZSwgYidmb28nKQorICAgICAgICAgICAgc29jay5jbG9zZSgpCisKKyAgICBkZWYgdGVzdF9yZWFkX3dyaXRlX2RhdGEoc2VsZik6CisgICAgICAgIHdpdGggc3VwcG9ydC50cmFuc2llbnRfaW50ZXJuZXQoInN2bi5weXRob24ub3JnIik6CisgICAgICAgICAgICBzb2NrID0gc29ja2V0LnNvY2tldChzb2NrZXQuQUZfSU5FVCkKKyAgICAgICAgICAgIHNvY2suY29ubmVjdCgoInN2bi5weXRob24ub3JnIiwgNDQzKSkKKyAgICAgICAgICAgIGluY29taW5nID0gc3NsLk1lbW9yeUJJTygpCisgICAgICAgICAgICBvdXRnb2luZyA9IHNzbC5NZW1vcnlCSU8oKQorICAgICAgICAgICAgY3R4ID0gc3NsLlNTTENvbnRleHQoc3NsLlBST1RPQ09MX1NTTHYyMykKKyAgICAgICAgICAgIGN0eC52ZXJpZnlfbW9kZSA9IHNzbC5DRVJUX05PTkUKKyAgICAgICAgICAgIHNzbG9iaiA9IGN0eC53cmFwX2JpbyhpbmNvbWluZywgb3V0Z29pbmcsIEZhbHNlKQorICAgICAgICAgICAgc2VsZi5zc2xfaW9fbG9vcChzb2NrLCBpbmNvbWluZywgb3V0Z29pbmcsIHNzbG9iai5kb19oYW5kc2hha2UpCisgICAgICAgICAgICByZXEgPSBiJ0dFVCAvIEhUVFAvMS4wXHJcblxyXG4nCisgICAgICAgICAgICBzZWxmLnNzbF9pb19sb29wKHNvY2ssIGluY29taW5nLCBvdXRnb2luZywgc3Nsb2JqLndyaXRlLCByZXEpCisgICAgICAgICAgICBidWYgPSBzZWxmLnNzbF9pb19sb29wKHNvY2ssIGluY29taW5nLCBvdXRnb2luZywgc3Nsb2JqLnJlYWQsIDEwMjQpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGJ1Zls6NV0sIGInSFRUUC8nKQorICAgICAgICAgICAgc2VsZi5zc2xfaW9fbG9vcChzb2NrLCBpbmNvbWluZywgb3V0Z29pbmcsIHNzbG9iai51bndyYXApCisgICAgICAgICAgICBzb2NrLmNsb3NlKCkKKworCiB0cnk6CiAgICAgaW1wb3J0IHRocmVhZGluZwogZXhjZXB0IEltcG9ydEVycm9yOgpAQCAtMTUzMSw3ICsxNzg2LDggQEAKICAgICAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgICAgIHNlbGYuc3NsY29ubiA9IHNlbGYuc2VydmVyLmNvbnRleHQud3JhcF9zb2NrZXQoCiAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnNvY2ssIHNlcnZlcl9zaWRlPVRydWUpCi0gICAgICAgICAgICAgICAgICAgIHNlbGYuc2VydmVyLnNlbGVjdGVkX3Byb3RvY29scy5hcHBlbmQoc2VsZi5zc2xjb25uLnNlbGVjdGVkX25wbl9wcm90b2NvbCgpKQorICAgICAgICAgICAgICAgICAgICBzZWxmLnNlcnZlci5zZWxlY3RlZF9ucG5fcHJvdG9jb2xzLmFwcGVuZChzZWxmLnNzbGNvbm4uc2VsZWN0ZWRfbnBuX3Byb3RvY29sKCkpCisgICAgICAgICAgICAgICAgICAgIHNlbGYuc2VydmVyLnNlbGVjdGVkX2FscG5fcHJvdG9jb2xzLmFwcGVuZChzZWxmLnNzbGNvbm4uc2VsZWN0ZWRfYWxwbl9wcm90b2NvbCgpKQogICAgICAgICAgICAgICAgIGV4Y2VwdCAoc3NsLlNTTEVycm9yLCBDb25uZWN0aW9uUmVzZXRFcnJvcikgYXMgZToKICAgICAgICAgICAgICAgICAgICAgIyBXZSB0cmVhdCBDb25uZWN0aW9uUmVzZXRFcnJvciBhcyB0aG91Z2ggaXQgd2VyZSBhbgogICAgICAgICAgICAgICAgICAgICAjIFNTTEVycm9yIC0gT3BlblNTTCBvbiBVYnVudHUgYWJydXB0bHkgY2xvc2VzIHRoZQpAQCAtMTU0OCw2ICsxODA0LDcgQEAKICAgICAgICAgICAgICAgICAgICAgc2VsZi5jbG9zZSgpCiAgICAgICAgICAgICAgICAgICAgIHJldHVybiBGYWxzZQogICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgIHNlbGYuc2VydmVyLnNoYXJlZF9jaXBoZXJzLmFwcGVuZChzZWxmLnNzbGNvbm4uc2hhcmVkX2NpcGhlcnMoKSkKICAgICAgICAgICAgICAgICAgICAgaWYgc2VsZi5zZXJ2ZXIuY29udGV4dC52ZXJpZnlfbW9kZSA9PSBzc2wuQ0VSVF9SRVFVSVJFRDoKICAgICAgICAgICAgICAgICAgICAgICAgIGNlcnQgPSBzZWxmLnNzbGNvbm4uZ2V0cGVlcmNlcnQoKQogICAgICAgICAgICAgICAgICAgICAgICAgaWYgc3VwcG9ydC52ZXJib3NlIGFuZCBzZWxmLnNlcnZlci5jaGF0dHk6CkBAIC0xNjM4LDcgKzE4OTUsOCBAQAogICAgICAgICBkZWYgX19pbml0X18oc2VsZiwgY2VydGlmaWNhdGU9Tm9uZSwgc3NsX3ZlcnNpb249Tm9uZSwKICAgICAgICAgICAgICAgICAgICAgIGNlcnRyZXFzPU5vbmUsIGNhY2VydHM9Tm9uZSwKICAgICAgICAgICAgICAgICAgICAgIGNoYXR0eT1UcnVlLCBjb25uZWN0aW9uY2hhdHR5PUZhbHNlLCBzdGFydHRsc19zZXJ2ZXI9RmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICBucG5fcHJvdG9jb2xzPU5vbmUsIGNpcGhlcnM9Tm9uZSwgY29udGV4dD1Ob25lKToKKyAgICAgICAgICAgICAgICAgICAgIG5wbl9wcm90b2NvbHM9Tm9uZSwgYWxwbl9wcm90b2NvbHM9Tm9uZSwKKyAgICAgICAgICAgICAgICAgICAgIGNpcGhlcnM9Tm9uZSwgY29udGV4dD1Ob25lKToKICAgICAgICAgICAgIGlmIGNvbnRleHQ6CiAgICAgICAgICAgICAgICAgc2VsZi5jb250ZXh0ID0gY29udGV4dAogICAgICAgICAgICAgZWxzZToKQEAgLTE2NTMsNiArMTkxMSw4IEBACiAgICAgICAgICAgICAgICAgICAgIHNlbGYuY29udGV4dC5sb2FkX2NlcnRfY2hhaW4oY2VydGlmaWNhdGUpCiAgICAgICAgICAgICAgICAgaWYgbnBuX3Byb3RvY29sczoKICAgICAgICAgICAgICAgICAgICAgc2VsZi5jb250ZXh0LnNldF9ucG5fcHJvdG9jb2xzKG5wbl9wcm90b2NvbHMpCisgICAgICAgICAgICAgICAgaWYgYWxwbl9wcm90b2NvbHM6CisgICAgICAgICAgICAgICAgICAgIHNlbGYuY29udGV4dC5zZXRfYWxwbl9wcm90b2NvbHMoYWxwbl9wcm90b2NvbHMpCiAgICAgICAgICAgICAgICAgaWYgY2lwaGVyczoKICAgICAgICAgICAgICAgICAgICAgc2VsZi5jb250ZXh0LnNldF9jaXBoZXJzKGNpcGhlcnMpCiAgICAgICAgICAgICBzZWxmLmNoYXR0eSA9IGNoYXR0eQpAQCAtMTY2Miw3ICsxOTIyLDkgQEAKICAgICAgICAgICAgIHNlbGYucG9ydCA9IHN1cHBvcnQuYmluZF9wb3J0KHNlbGYuc29jaykKICAgICAgICAgICAgIHNlbGYuZmxhZyA9IE5vbmUKICAgICAgICAgICAgIHNlbGYuYWN0aXZlID0gRmFsc2UKLSAgICAgICAgICAgIHNlbGYuc2VsZWN0ZWRfcHJvdG9jb2xzID0gW10KKyAgICAgICAgICAgIHNlbGYuc2VsZWN0ZWRfbnBuX3Byb3RvY29scyA9IFtdCisgICAgICAgICAgICBzZWxmLnNlbGVjdGVkX2FscG5fcHJvdG9jb2xzID0gW10KKyAgICAgICAgICAgIHNlbGYuc2hhcmVkX2NpcGhlcnMgPSBbXQogICAgICAgICAgICAgc2VsZi5jb25uX2Vycm9ycyA9IFtdCiAgICAgICAgICAgICB0aHJlYWRpbmcuVGhyZWFkLl9faW5pdF9fKHNlbGYpCiAgICAgICAgICAgICBzZWxmLmRhZW1vbiA9IFRydWUKQEAgLTE2ODIsNyArMTk0NCw3IEBACiAKICAgICAgICAgZGVmIHJ1bihzZWxmKToKICAgICAgICAgICAgIHNlbGYuc29jay5zZXR0aW1lb3V0KDAuMDUpCi0gICAgICAgICAgICBzZWxmLnNvY2subGlzdGVuKDUpCisgICAgICAgICAgICBzZWxmLnNvY2subGlzdGVuKCkKICAgICAgICAgICAgIHNlbGYuYWN0aXZlID0gVHJ1ZQogICAgICAgICAgICAgaWYgc2VsZi5mbGFnOgogICAgICAgICAgICAgICAgICMgc2lnbmFsIGFuIGV2ZW50CkBAIC0xODg4LDE0ICsyMTUwLDI1IEBACiAgICAgICAgICAgICAgICAgICAgICdjb21wcmVzc2lvbic6IHMuY29tcHJlc3Npb24oKSwKICAgICAgICAgICAgICAgICAgICAgJ2NpcGhlcic6IHMuY2lwaGVyKCksCiAgICAgICAgICAgICAgICAgICAgICdwZWVyY2VydCc6IHMuZ2V0cGVlcmNlcnQoKSwKLSAgICAgICAgICAgICAgICAgICAgJ2NsaWVudF9ucG5fcHJvdG9jb2wnOiBzLnNlbGVjdGVkX25wbl9wcm90b2NvbCgpCisgICAgICAgICAgICAgICAgICAgICdjbGllbnRfYWxwbl9wcm90b2NvbCc6IHMuc2VsZWN0ZWRfYWxwbl9wcm90b2NvbCgpLAorICAgICAgICAgICAgICAgICAgICAnY2xpZW50X25wbl9wcm90b2NvbCc6IHMuc2VsZWN0ZWRfbnBuX3Byb3RvY29sKCksCisgICAgICAgICAgICAgICAgICAgICd2ZXJzaW9uJzogcy52ZXJzaW9uKCksCiAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgICBzLmNsb3NlKCkKLSAgICAgICAgICAgIHN0YXRzWydzZXJ2ZXJfbnBuX3Byb3RvY29scyddID0gc2VydmVyLnNlbGVjdGVkX3Byb3RvY29scworICAgICAgICAgICAgc3RhdHNbJ3NlcnZlcl9hbHBuX3Byb3RvY29scyddID0gc2VydmVyLnNlbGVjdGVkX2FscG5fcHJvdG9jb2xzCisgICAgICAgICAgICBzdGF0c1snc2VydmVyX25wbl9wcm90b2NvbHMnXSA9IHNlcnZlci5zZWxlY3RlZF9ucG5fcHJvdG9jb2xzCisgICAgICAgICAgICBzdGF0c1snc2VydmVyX3NoYXJlZF9jaXBoZXJzJ10gPSBzZXJ2ZXIuc2hhcmVkX2NpcGhlcnMKICAgICAgICAgcmV0dXJuIHN0YXRzCiAKICAgICBkZWYgdHJ5X3Byb3RvY29sX2NvbWJvKHNlcnZlcl9wcm90b2NvbCwgY2xpZW50X3Byb3RvY29sLCBleHBlY3Rfc3VjY2VzcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNlcnRzcmVxcz1Ob25lLCBzZXJ2ZXJfb3B0aW9ucz0wLCBjbGllbnRfb3B0aW9ucz0wKToKKyAgICAgICAgIiIiCisgICAgICAgIFRyeSB0byBTU0wtY29ubmVjdCB1c2luZyAqY2xpZW50X3Byb3RvY29sKiB0byAqc2VydmVyX3Byb3RvY29sKi4KKyAgICAgICAgSWYgKmV4cGVjdF9zdWNjZXNzKiBpcyB0cnVlLCBhc3NlcnQgdGhhdCB0aGUgY29ubmVjdGlvbiBzdWNjZWVkcywKKyAgICAgICAgaWYgaXQncyBmYWxzZSwgYXNzZXJ0IHRoYXQgdGhlIGNvbm5lY3Rpb24gZmFpbHMuCisgICAgICAgIEFsc28sIGlmICpleHBlY3Rfc3VjY2VzcyogaXMgYSBzdHJpbmcsIGFzc2VydCB0aGF0IGl0IGlzIHRoZSBwcm90b2NvbAorICAgICAgICB2ZXJzaW9uIGFjdHVhbGx5IHVzZWQgYnkgdGhlIGNvbm5lY3Rpb24uCisgICAgICAgICIiIgogICAgICAgICBpZiBjZXJ0c3JlcXMgaXMgTm9uZToKICAgICAgICAgICAgIGNlcnRzcmVxcyA9IHNzbC5DRVJUX05PTkUKICAgICAgICAgY2VydHR5cGUgPSB7CkBAIC0xOTI1LDggKzIxOTgsOCBAQAogICAgICAgICAgICAgY3R4LmxvYWRfY2VydF9jaGFpbihDRVJURklMRSkKICAgICAgICAgICAgIGN0eC5sb2FkX3ZlcmlmeV9sb2NhdGlvbnMoQ0VSVEZJTEUpCiAgICAgICAgIHRyeToKLSAgICAgICAgICAgIHNlcnZlcl9wYXJhbXNfdGVzdChjbGllbnRfY29udGV4dCwgc2VydmVyX2NvbnRleHQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhdHR5PUZhbHNlLCBjb25uZWN0aW9uY2hhdHR5PUZhbHNlKQorICAgICAgICAgICAgc3RhdHMgPSBzZXJ2ZXJfcGFyYW1zX3Rlc3QoY2xpZW50X2NvbnRleHQsIHNlcnZlcl9jb250ZXh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhdHR5PUZhbHNlLCBjb25uZWN0aW9uY2hhdHR5PUZhbHNlKQogICAgICAgICAjIFByb3RvY29sIG1pc21hdGNoIGNhbiByZXN1bHQgaW4gZWl0aGVyIGFuIFNTTEVycm9yLCBvciBhCiAgICAgICAgICMgIkNvbm5lY3Rpb24gcmVzZXQgYnkgcGVlciIgZXJyb3IuCiAgICAgICAgIGV4Y2VwdCBzc2wuU1NMRXJyb3I6CkBAIC0xOTQxLDYgKzIyMTQsMTAgQEAKICAgICAgICAgICAgICAgICAgICAgIkNsaWVudCBwcm90b2NvbCAlcyBzdWNjZWVkZWQgd2l0aCBzZXJ2ZXIgcHJvdG9jb2wgJXMhIgogICAgICAgICAgICAgICAgICAgICAlIChzc2wuZ2V0X3Byb3RvY29sX25hbWUoY2xpZW50X3Byb3RvY29sKSwKICAgICAgICAgICAgICAgICAgICAgICAgc3NsLmdldF9wcm90b2NvbF9uYW1lKHNlcnZlcl9wcm90b2NvbCkpKQorICAgICAgICAgICAgZWxpZiAoZXhwZWN0X3N1Y2Nlc3MgaXMgbm90IFRydWUKKyAgICAgICAgICAgICAgICAgIGFuZCBleHBlY3Rfc3VjY2VzcyAhPSBzdGF0c1sndmVyc2lvbiddKToKKyAgICAgICAgICAgICAgICByYWlzZSBBc3NlcnRpb25FcnJvcigidmVyc2lvbiBtaXNtYXRjaDogZXhwZWN0ZWQgJXIsIGdvdCAlciIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAlIChleHBlY3Rfc3VjY2Vzcywgc3RhdHNbJ3ZlcnNpb24nXSkpCiAKIAogICAgIGNsYXNzIFRocmVhZGVkVGVzdHModW5pdHRlc3QuVGVzdENhc2UpOgpAQCAtMjEwOCw3ICsyMzg1LDcgQEAKICAgICAgICAgICAgICMgYW5kIHNldHMgRXZlbnQgYGxpc3RlbmVyX2dvbmVgIHRvIGxldCB0aGUgbWFpbiB0aHJlYWQga25vdwogICAgICAgICAgICAgIyB0aGUgc29ja2V0IGlzIGdvbmUuCiAgICAgICAgICAgICBkZWYgbGlzdGVuZXIoKToKLSAgICAgICAgICAgICAgICBzLmxpc3Rlbig1KQorICAgICAgICAgICAgICAgIHMubGlzdGVuKCkKICAgICAgICAgICAgICAgICBsaXN0ZW5lcl9yZWFkeS5zZXQoKQogICAgICAgICAgICAgICAgIG5ld3NvY2ssIGFkZHIgPSBzLmFjY2VwdCgpCiAgICAgICAgICAgICAgICAgbmV3c29jay5jbG9zZSgpCkBAIC0yMTczLDE5ICsyNDUwLDE5IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiBTU0wyIGNsaWVudCB0byBTU0wyMyBzZXJ2ZXIgdGVzdCB1bmV4cGVjdGVkbHkgZmFpbGVkOlxuICVzXG4iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJSBzdHIoeCkpCiAgICAgICAgICAgICBpZiBoYXNhdHRyKHNzbCwgJ1BST1RPQ09MX1NTTHYzJyk6Ci0gICAgICAgICAgICAgICAgdHJ5X3Byb3RvY29sX2NvbWJvKHNzbC5QUk9UT0NPTF9TU0x2MjMsIHNzbC5QUk9UT0NPTF9TU0x2MywgVHJ1ZSkKKyAgICAgICAgICAgICAgICB0cnlfcHJvdG9jb2xfY29tYm8oc3NsLlBST1RPQ09MX1NTTHYyMywgc3NsLlBST1RPQ09MX1NTTHYzLCAnU1NMdjMnKQogICAgICAgICAgICAgdHJ5X3Byb3RvY29sX2NvbWJvKHNzbC5QUk9UT0NPTF9TU0x2MjMsIHNzbC5QUk9UT0NPTF9TU0x2MjMsIFRydWUpCi0gICAgICAgICAgICB0cnlfcHJvdG9jb2xfY29tYm8oc3NsLlBST1RPQ09MX1NTTHYyMywgc3NsLlBST1RPQ09MX1RMU3YxLCBUcnVlKQorICAgICAgICAgICAgdHJ5X3Byb3RvY29sX2NvbWJvKHNzbC5QUk9UT0NPTF9TU0x2MjMsIHNzbC5QUk9UT0NPTF9UTFN2MSwgJ1RMU3YxJykKIAogICAgICAgICAgICAgaWYgaGFzYXR0cihzc2wsICdQUk9UT0NPTF9TU0x2MycpOgotICAgICAgICAgICAgICAgIHRyeV9wcm90b2NvbF9jb21ibyhzc2wuUFJPVE9DT0xfU1NMdjIzLCBzc2wuUFJPVE9DT0xfU1NMdjMsIFRydWUsIHNzbC5DRVJUX09QVElPTkFMKQorICAgICAgICAgICAgICAgIHRyeV9wcm90b2NvbF9jb21ibyhzc2wuUFJPVE9DT0xfU1NMdjIzLCBzc2wuUFJPVE9DT0xfU1NMdjMsICdTU0x2MycsIHNzbC5DRVJUX09QVElPTkFMKQogICAgICAgICAgICAgdHJ5X3Byb3RvY29sX2NvbWJvKHNzbC5QUk9UT0NPTF9TU0x2MjMsIHNzbC5QUk9UT0NPTF9TU0x2MjMsIFRydWUsIHNzbC5DRVJUX09QVElPTkFMKQotICAgICAgICAgICAgdHJ5X3Byb3RvY29sX2NvbWJvKHNzbC5QUk9UT0NPTF9TU0x2MjMsIHNzbC5QUk9UT0NPTF9UTFN2MSwgVHJ1ZSwgc3NsLkNFUlRfT1BUSU9OQUwpCisgICAgICAgICAgICB0cnlfcHJvdG9jb2xfY29tYm8oc3NsLlBST1RPQ09MX1NTTHYyMywgc3NsLlBST1RPQ09MX1RMU3YxLCAnVExTdjEnLCBzc2wuQ0VSVF9PUFRJT05BTCkKIAogICAgICAgICAgICAgaWYgaGFzYXR0cihzc2wsICdQUk9UT0NPTF9TU0x2MycpOgotICAgICAgICAgICAgICAgIHRyeV9wcm90b2NvbF9jb21ibyhzc2wuUFJPVE9DT0xfU1NMdjIzLCBzc2wuUFJPVE9DT0xfU1NMdjMsIFRydWUsIHNzbC5DRVJUX1JFUVVJUkVEKQorICAgICAgICAgICAgICAgIHRyeV9wcm90b2NvbF9jb21ibyhzc2wuUFJPVE9DT0xfU1NMdjIzLCBzc2wuUFJPVE9DT0xfU1NMdjMsICdTU0x2MycsIHNzbC5DRVJUX1JFUVVJUkVEKQogICAgICAgICAgICAgdHJ5X3Byb3RvY29sX2NvbWJvKHNzbC5QUk9UT0NPTF9TU0x2MjMsIHNzbC5QUk9UT0NPTF9TU0x2MjMsIFRydWUsIHNzbC5DRVJUX1JFUVVJUkVEKQotICAgICAgICAgICAgdHJ5X3Byb3RvY29sX2NvbWJvKHNzbC5QUk9UT0NPTF9TU0x2MjMsIHNzbC5QUk9UT0NPTF9UTFN2MSwgVHJ1ZSwgc3NsLkNFUlRfUkVRVUlSRUQpCisgICAgICAgICAgICB0cnlfcHJvdG9jb2xfY29tYm8oc3NsLlBST1RPQ09MX1NTTHYyMywgc3NsLlBST1RPQ09MX1RMU3YxLCAnVExTdjEnLCBzc2wuQ0VSVF9SRVFVSVJFRCkKIAogICAgICAgICAgICAgIyBTZXJ2ZXIgd2l0aCBzcGVjaWZpYyBTU0wgb3B0aW9ucwogICAgICAgICAgICAgaWYgaGFzYXR0cihzc2wsICdQUk9UT0NPTF9TU0x2MycpOgpAQCAtMjIwNSw5ICsyNDgyLDkgQEAKICAgICAgICAgICAgICIiIkNvbm5lY3RpbmcgdG8gYW4gU1NMdjMgc2VydmVyIHdpdGggdmFyaW91cyBjbGllbnQgb3B0aW9ucyIiIgogICAgICAgICAgICAgaWYgc3VwcG9ydC52ZXJib3NlOgogICAgICAgICAgICAgICAgIHN5cy5zdGRvdXQud3JpdGUoIlxuIikKLSAgICAgICAgICAgIHRyeV9wcm90b2NvbF9jb21ibyhzc2wuUFJPVE9DT0xfU1NMdjMsIHNzbC5QUk9UT0NPTF9TU0x2MywgVHJ1ZSkKLSAgICAgICAgICAgIHRyeV9wcm90b2NvbF9jb21ibyhzc2wuUFJPVE9DT0xfU1NMdjMsIHNzbC5QUk9UT0NPTF9TU0x2MywgVHJ1ZSwgc3NsLkNFUlRfT1BUSU9OQUwpCi0gICAgICAgICAgICB0cnlfcHJvdG9jb2xfY29tYm8oc3NsLlBST1RPQ09MX1NTTHYzLCBzc2wuUFJPVE9DT0xfU1NMdjMsIFRydWUsIHNzbC5DRVJUX1JFUVVJUkVEKQorICAgICAgICAgICAgdHJ5X3Byb3RvY29sX2NvbWJvKHNzbC5QUk9UT0NPTF9TU0x2Mywgc3NsLlBST1RPQ09MX1NTTHYzLCAnU1NMdjMnKQorICAgICAgICAgICAgdHJ5X3Byb3RvY29sX2NvbWJvKHNzbC5QUk9UT0NPTF9TU0x2Mywgc3NsLlBST1RPQ09MX1NTTHYzLCAnU1NMdjMnLCBzc2wuQ0VSVF9PUFRJT05BTCkKKyAgICAgICAgICAgIHRyeV9wcm90b2NvbF9jb21ibyhzc2wuUFJPVE9DT0xfU1NMdjMsIHNzbC5QUk9UT0NPTF9TU0x2MywgJ1NTTHYzJywgc3NsLkNFUlRfUkVRVUlSRUQpCiAgICAgICAgICAgICBpZiBoYXNhdHRyKHNzbCwgJ1BST1RPQ09MX1NTTHYyJyk6CiAgICAgICAgICAgICAgICAgdHJ5X3Byb3RvY29sX2NvbWJvKHNzbC5QUk9UT0NPTF9TU0x2Mywgc3NsLlBST1RPQ09MX1NTTHYyLCBGYWxzZSkKICAgICAgICAgICAgIHRyeV9wcm90b2NvbF9jb21ibyhzc2wuUFJPVE9DT0xfU1NMdjMsIHNzbC5QUk9UT0NPTF9TU0x2MjMsIEZhbHNlLApAQCAtMjIxNSw3ICsyNDkyLDcgQEAKICAgICAgICAgICAgIHRyeV9wcm90b2NvbF9jb21ibyhzc2wuUFJPVE9DT0xfU1NMdjMsIHNzbC5QUk9UT0NPTF9UTFN2MSwgRmFsc2UpCiAgICAgICAgICAgICBpZiBub19zc2x2Ml9pbXBsaWVzX3NzbHYzX2hlbGxvKCk6CiAgICAgICAgICAgICAgICAgIyBObyBTU0x2MiA9PiBjbGllbnQgd2lsbCB1c2UgYW4gU1NMdjMgaGVsbG8gb24gcmVjZW50IE9wZW5TU0xzCi0gICAgICAgICAgICAgICAgdHJ5X3Byb3RvY29sX2NvbWJvKHNzbC5QUk9UT0NPTF9TU0x2Mywgc3NsLlBST1RPQ09MX1NTTHYyMywgVHJ1ZSwKKyAgICAgICAgICAgICAgICB0cnlfcHJvdG9jb2xfY29tYm8oc3NsLlBST1RPQ09MX1NTTHYzLCBzc2wuUFJPVE9DT0xfU1NMdjIzLCAnU1NMdjMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGllbnRfb3B0aW9ucz1zc2wuT1BfTk9fU1NMdjIpCiAKICAgICAgICAgQHNraXBfaWZfYnJva2VuX3VidW50dV9zc2wKQEAgLTIyMjMsOSArMjUwMCw5IEBACiAgICAgICAgICAgICAiIiJDb25uZWN0aW5nIHRvIGEgVExTdjEgc2VydmVyIHdpdGggdmFyaW91cyBjbGllbnQgb3B0aW9ucyIiIgogICAgICAgICAgICAgaWYgc3VwcG9ydC52ZXJib3NlOgogICAgICAgICAgICAgICAgIHN5cy5zdGRvdXQud3JpdGUoIlxuIikKLSAgICAgICAgICAgIHRyeV9wcm90b2NvbF9jb21ibyhzc2wuUFJPVE9DT0xfVExTdjEsIHNzbC5QUk9UT0NPTF9UTFN2MSwgVHJ1ZSkKLSAgICAgICAgICAgIHRyeV9wcm90b2NvbF9jb21ibyhzc2wuUFJPVE9DT0xfVExTdjEsIHNzbC5QUk9UT0NPTF9UTFN2MSwgVHJ1ZSwgc3NsLkNFUlRfT1BUSU9OQUwpCi0gICAgICAgICAgICB0cnlfcHJvdG9jb2xfY29tYm8oc3NsLlBST1RPQ09MX1RMU3YxLCBzc2wuUFJPVE9DT0xfVExTdjEsIFRydWUsIHNzbC5DRVJUX1JFUVVJUkVEKQorICAgICAgICAgICAgdHJ5X3Byb3RvY29sX2NvbWJvKHNzbC5QUk9UT0NPTF9UTFN2MSwgc3NsLlBST1RPQ09MX1RMU3YxLCAnVExTdjEnKQorICAgICAgICAgICAgdHJ5X3Byb3RvY29sX2NvbWJvKHNzbC5QUk9UT0NPTF9UTFN2MSwgc3NsLlBST1RPQ09MX1RMU3YxLCAnVExTdjEnLCBzc2wuQ0VSVF9PUFRJT05BTCkKKyAgICAgICAgICAgIHRyeV9wcm90b2NvbF9jb21ibyhzc2wuUFJPVE9DT0xfVExTdjEsIHNzbC5QUk9UT0NPTF9UTFN2MSwgJ1RMU3YxJywgc3NsLkNFUlRfUkVRVUlSRUQpCiAgICAgICAgICAgICBpZiBoYXNhdHRyKHNzbCwgJ1BST1RPQ09MX1NTTHYyJyk6CiAgICAgICAgICAgICAgICAgdHJ5X3Byb3RvY29sX2NvbWJvKHNzbC5QUk9UT0NPTF9UTFN2MSwgc3NsLlBST1RPQ09MX1NTTHYyLCBGYWxzZSkKICAgICAgICAgICAgIGlmIGhhc2F0dHIoc3NsLCAnUFJPVE9DT0xfU1NMdjMnKToKQEAgLTIyNDEsNyArMjUxOCw3IEBACiAgICAgICAgICAgICAgICBUZXN0aW5nIGFnYWluc3Qgb2xkZXIgVExTIHZlcnNpb25zLiIiIgogICAgICAgICAgICAgaWYgc3VwcG9ydC52ZXJib3NlOgogICAgICAgICAgICAgICAgIHN5cy5zdGRvdXQud3JpdGUoIlxuIikKLSAgICAgICAgICAgIHRyeV9wcm90b2NvbF9jb21ibyhzc2wuUFJPVE9DT0xfVExTdjFfMSwgc3NsLlBST1RPQ09MX1RMU3YxXzEsIFRydWUpCisgICAgICAgICAgICB0cnlfcHJvdG9jb2xfY29tYm8oc3NsLlBST1RPQ09MX1RMU3YxXzEsIHNzbC5QUk9UT0NPTF9UTFN2MV8xLCAnVExTdjEuMScpCiAgICAgICAgICAgICBpZiBoYXNhdHRyKHNzbCwgJ1BST1RPQ09MX1NTTHYyJyk6CiAgICAgICAgICAgICAgICAgdHJ5X3Byb3RvY29sX2NvbWJvKHNzbC5QUk9UT0NPTF9UTFN2MV8xLCBzc2wuUFJPVE9DT0xfU1NMdjIsIEZhbHNlKQogICAgICAgICAgICAgaWYgaGFzYXR0cihzc2wsICdQUk9UT0NPTF9TU0x2MycpOgpAQCAtMjI0OSw3ICsyNTI2LDcgQEAKICAgICAgICAgICAgIHRyeV9wcm90b2NvbF9jb21ibyhzc2wuUFJPVE9DT0xfVExTdjFfMSwgc3NsLlBST1RPQ09MX1NTTHYyMywgRmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xpZW50X29wdGlvbnM9c3NsLk9QX05PX1RMU3YxXzEpCiAKLSAgICAgICAgICAgIHRyeV9wcm90b2NvbF9jb21ibyhzc2wuUFJPVE9DT0xfU1NMdjIzLCBzc2wuUFJPVE9DT0xfVExTdjFfMSwgVHJ1ZSkKKyAgICAgICAgICAgIHRyeV9wcm90b2NvbF9jb21ibyhzc2wuUFJPVE9DT0xfU1NMdjIzLCBzc2wuUFJPVE9DT0xfVExTdjFfMSwgJ1RMU3YxLjEnKQogICAgICAgICAgICAgdHJ5X3Byb3RvY29sX2NvbWJvKHNzbC5QUk9UT0NPTF9UTFN2MV8xLCBzc2wuUFJPVE9DT0xfVExTdjEsIEZhbHNlKQogICAgICAgICAgICAgdHJ5X3Byb3RvY29sX2NvbWJvKHNzbC5QUk9UT0NPTF9UTFN2MSwgc3NsLlBST1RPQ09MX1RMU3YxXzEsIEZhbHNlKQogCkBAIC0yMjYyLDcgKzI1MzksNyBAQAogICAgICAgICAgICAgICAgVGVzdGluZyBhZ2FpbnN0IG9sZGVyIFRMUyB2ZXJzaW9ucy4iIiIKICAgICAgICAgICAgIGlmIHN1cHBvcnQudmVyYm9zZToKICAgICAgICAgICAgICAgICBzeXMuc3Rkb3V0LndyaXRlKCJcbiIpCi0gICAgICAgICAgICB0cnlfcHJvdG9jb2xfY29tYm8oc3NsLlBST1RPQ09MX1RMU3YxXzIsIHNzbC5QUk9UT0NPTF9UTFN2MV8yLCBUcnVlLAorICAgICAgICAgICAgdHJ5X3Byb3RvY29sX2NvbWJvKHNzbC5QUk9UT0NPTF9UTFN2MV8yLCBzc2wuUFJPVE9DT0xfVExTdjFfMiwgJ1RMU3YxLjInLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlcnZlcl9vcHRpb25zPXNzbC5PUF9OT19TU0x2M3xzc2wuT1BfTk9fU1NMdjIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xpZW50X29wdGlvbnM9c3NsLk9QX05PX1NTTHYzfHNzbC5PUF9OT19TU0x2MiwpCiAgICAgICAgICAgICBpZiBoYXNhdHRyKHNzbCwgJ1BST1RPQ09MX1NTTHYyJyk6CkBAIC0yMjcyLDcgKzI1NDksNyBAQAogICAgICAgICAgICAgdHJ5X3Byb3RvY29sX2NvbWJvKHNzbC5QUk9UT0NPTF9UTFN2MV8yLCBzc2wuUFJPVE9DT0xfU1NMdjIzLCBGYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGllbnRfb3B0aW9ucz1zc2wuT1BfTk9fVExTdjFfMikKIAotICAgICAgICAgICAgdHJ5X3Byb3RvY29sX2NvbWJvKHNzbC5QUk9UT0NPTF9TU0x2MjMsIHNzbC5QUk9UT0NPTF9UTFN2MV8yLCBUcnVlKQorICAgICAgICAgICAgdHJ5X3Byb3RvY29sX2NvbWJvKHNzbC5QUk9UT0NPTF9TU0x2MjMsIHNzbC5QUk9UT0NPTF9UTFN2MV8yLCAnVExTdjEuMicpCiAgICAgICAgICAgICB0cnlfcHJvdG9jb2xfY29tYm8oc3NsLlBST1RPQ09MX1RMU3YxXzIsIHNzbC5QUk9UT0NPTF9UTFN2MSwgRmFsc2UpCiAgICAgICAgICAgICB0cnlfcHJvdG9jb2xfY29tYm8oc3NsLlBST1RPQ09MX1RMU3YxLCBzc2wuUFJPVE9DT0xfVExTdjFfMiwgRmFsc2UpCiAgICAgICAgICAgICB0cnlfcHJvdG9jb2xfY29tYm8oc3NsLlBST1RPQ09MX1RMU3YxXzIsIHNzbC5QUk9UT0NPTF9UTFN2MV8xLCBGYWxzZSkKQEAgLTI1MDgsNiArMjc4NSwzNiBAQAogICAgICAgICAgICAgICAgIHMud3JpdGUoYiJvdmVyXG4iKQogICAgICAgICAgICAgICAgIHMuY2xvc2UoKQogCisgICAgICAgIGRlZiB0ZXN0X25vbmJsb2NraW5nX3NlbmQoc2VsZik6CisgICAgICAgICAgICBzZXJ2ZXIgPSBUaHJlYWRlZEVjaG9TZXJ2ZXIoQ0VSVEZJTEUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2VydHJlcXM9c3NsLkNFUlRfTk9ORSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzc2xfdmVyc2lvbj1zc2wuUFJPVE9DT0xfVExTdjEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FjZXJ0cz1DRVJURklMRSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGF0dHk9VHJ1ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25uZWN0aW9uY2hhdHR5PUZhbHNlKQorICAgICAgICAgICAgd2l0aCBzZXJ2ZXI6CisgICAgICAgICAgICAgICAgcyA9IHNzbC53cmFwX3NvY2tldChzb2NrZXQuc29ja2V0KCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJfc2lkZT1GYWxzZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNlcnRmaWxlPUNFUlRGSUxFLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FfY2VydHM9Q0VSVEZJTEUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjZXJ0X3JlcXM9c3NsLkNFUlRfTk9ORSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNzbF92ZXJzaW9uPXNzbC5QUk9UT0NPTF9UTFN2MSkKKyAgICAgICAgICAgICAgICBzLmNvbm5lY3QoKEhPU1QsIHNlcnZlci5wb3J0KSkKKyAgICAgICAgICAgICAgICBzLnNldGJsb2NraW5nKEZhbHNlKQorCisgICAgICAgICAgICAgICAgIyBJZiB3ZSBrZWVwIHNlbmRpbmcgZGF0YSwgYXQgc29tZSBwb2ludCB0aGUgYnVmZmVycworICAgICAgICAgICAgICAgICMgd2lsbCBiZSBmdWxsIGFuZCB0aGUgY2FsbCB3aWxsIGJsb2NrCisgICAgICAgICAgICAgICAgYnVmID0gYnl0ZWFycmF5KDgxOTIpCisgICAgICAgICAgICAgICAgZGVmIGZpbGxfYnVmZmVyKCk6CisgICAgICAgICAgICAgICAgICAgIHdoaWxlIFRydWU6CisgICAgICAgICAgICAgICAgICAgICAgICBzLnNlbmQoYnVmKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKChzc2wuU1NMV2FudFdyaXRlRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNzbC5TU0xXYW50UmVhZEVycm9yKSwgZmlsbF9idWZmZXIpCisKKyAgICAgICAgICAgICAgICAjIE5vdyByZWFkIGFsbCB0aGUgb3V0cHV0IGFuZCBkaXNjYXJkIGl0CisgICAgICAgICAgICAgICAgcy5zZXRibG9ja2luZyhUcnVlKQorICAgICAgICAgICAgICAgIHMuY2xvc2UoKQorCiAgICAgICAgIGRlZiB0ZXN0X2hhbmRzaGFrZV90aW1lb3V0KHNlbGYpOgogICAgICAgICAgICAgIyBJc3N1ZSAjNTEwMzogU1NMIGhhbmRzaGFrZSBtdXN0IHJlc3BlY3QgdGhlIHNvY2tldCB0aW1lb3V0CiAgICAgICAgICAgICBzZXJ2ZXIgPSBzb2NrZXQuc29ja2V0KHNvY2tldC5BRl9JTkVUKQpAQCAtMjUxNyw3ICsyODI0LDcgQEAKICAgICAgICAgICAgIGZpbmlzaCA9IEZhbHNlCiAKICAgICAgICAgICAgIGRlZiBzZXJ2ZSgpOgotICAgICAgICAgICAgICAgIHNlcnZlci5saXN0ZW4oNSkKKyAgICAgICAgICAgICAgICBzZXJ2ZXIubGlzdGVuKCkKICAgICAgICAgICAgICAgICBzdGFydGVkLnNldCgpCiAgICAgICAgICAgICAgICAgY29ubnMgPSBbXQogICAgICAgICAgICAgICAgIHdoaWxlIG5vdCBmaW5pc2g6CkBAIC0yNTc0LDcgKzI4ODEsNyBAQAogICAgICAgICAgICAgcGVlciA9IE5vbmUKICAgICAgICAgICAgIGRlZiBzZXJ2ZSgpOgogICAgICAgICAgICAgICAgIG5vbmxvY2FsIHJlbW90ZSwgcGVlcgotICAgICAgICAgICAgICAgIHNlcnZlci5saXN0ZW4oNSkKKyAgICAgICAgICAgICAgICBzZXJ2ZXIubGlzdGVuKCkKICAgICAgICAgICAgICAgICAjIEJsb2NrIG9uIHRoZSBhY2NlcHQgYW5kIHdhaXQgb24gdGhlIGNvbm5lY3Rpb24gdG8gY2xvc2UuCiAgICAgICAgICAgICAgICAgZXZ0LnNldCgpCiAgICAgICAgICAgICAgICAgcmVtb3RlLCBwZWVyID0gc2VydmVyLmFjY2VwdCgpCkBAIC0yNjI0LDYgKzI5MzEsMjEgQEAKICAgICAgICAgICAgICAgICAgICAgICAgIHMuY29ubmVjdCgoSE9TVCwgc2VydmVyLnBvcnQpKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRJbigibm8gc2hhcmVkIGNpcGhlciIsIHN0cihzZXJ2ZXIuY29ubl9lcnJvcnNbMF0pKQogCisgICAgICAgIGRlZiB0ZXN0X3ZlcnNpb25fYmFzaWMoc2VsZik6CisgICAgICAgICAgICAiIiIKKyAgICAgICAgICAgIEJhc2ljIHRlc3RzIGZvciBTU0xTb2NrZXQudmVyc2lvbigpLgorICAgICAgICAgICAgTW9yZSB0ZXN0cyBhcmUgZG9uZSBpbiB0aGUgdGVzdF9wcm90b2NvbF8qKCkgbWV0aG9kcy4KKyAgICAgICAgICAgICIiIgorICAgICAgICAgICAgY29udGV4dCA9IHNzbC5TU0xDb250ZXh0KHNzbC5QUk9UT0NPTF9UTFN2MSkKKyAgICAgICAgICAgIHdpdGggVGhyZWFkZWRFY2hvU2VydmVyKENFUlRGSUxFLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3NsX3ZlcnNpb249c3NsLlBST1RPQ09MX1RMU3YxLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhdHR5PUZhbHNlKSBhcyBzZXJ2ZXI6CisgICAgICAgICAgICAgICAgd2l0aCBjb250ZXh0LndyYXBfc29ja2V0KHNvY2tldC5zb2NrZXQoKSkgYXMgczoKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRJcyhzLnZlcnNpb24oKSwgTm9uZSkKKyAgICAgICAgICAgICAgICAgICAgcy5jb25uZWN0KChIT1NULCBzZXJ2ZXIucG9ydCkpCisgICAgICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocy52ZXJzaW9uKCksICJUTFN2MSIpCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRJcyhzLnZlcnNpb24oKSwgTm9uZSkKKwogICAgICAgICBAdW5pdHRlc3Quc2tpcFVubGVzcyhzc2wuSEFTX0VDREgsICJ0ZXN0IHJlcXVpcmVzIEVDREgtZW5hYmxlZCBPcGVuU1NMIikKICAgICAgICAgZGVmIHRlc3RfZGVmYXVsdF9lY2RoX2N1cnZlKHNlbGYpOgogICAgICAgICAgICAgIyBJc3N1ZSAjMjEwMTU6IGVsbGlwdGljIGN1cnZlLWJhc2VkIERpZmZpZSBIZWxsbWFuIGtleSBleGNoYW5nZQpAQCAtMjczMyw2ICszMDU1LDU1IEBACiAgICAgICAgICAgICBpZiAiQURIIiBub3QgaW4gcGFydHMgYW5kICJFREgiIG5vdCBpbiBwYXJ0cyBhbmQgIkRIRSIgbm90IGluIHBhcnRzOgogICAgICAgICAgICAgICAgIHNlbGYuZmFpbCgiTm9uLURIIGNpcGhlcjogIiArIGNpcGhlclswXSkKIAorICAgICAgICBkZWYgdGVzdF9zZWxlY3RlZF9hbHBuX3Byb3RvY29sKHNlbGYpOgorICAgICAgICAgICAgIyBzZWxlY3RlZF9hbHBuX3Byb3RvY29sKCkgaXMgTm9uZSB1bmxlc3MgQUxQTiBpcyB1c2VkLgorICAgICAgICAgICAgY29udGV4dCA9IHNzbC5TU0xDb250ZXh0KHNzbC5QUk9UT0NPTF9UTFN2MSkKKyAgICAgICAgICAgIGNvbnRleHQubG9hZF9jZXJ0X2NoYWluKENFUlRGSUxFKQorICAgICAgICAgICAgc3RhdHMgPSBzZXJ2ZXJfcGFyYW1zX3Rlc3QoY29udGV4dCwgY29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYXR0eT1UcnVlLCBjb25uZWN0aW9uY2hhdHR5PVRydWUpCisgICAgICAgICAgICBzZWxmLmFzc2VydElzKHN0YXRzWydjbGllbnRfYWxwbl9wcm90b2NvbCddLCBOb25lKQorCisgICAgICAgIEB1bml0dGVzdC5za2lwVW5sZXNzKHNzbC5IQVNfQUxQTiwgIkFMUE4gc3VwcG9ydCByZXF1aXJlZCIpCisgICAgICAgIGRlZiB0ZXN0X3NlbGVjdGVkX2FscG5fcHJvdG9jb2xfaWZfc2VydmVyX3VzZXNfYWxwbihzZWxmKToKKyAgICAgICAgICAgICMgc2VsZWN0ZWRfYWxwbl9wcm90b2NvbCgpIGlzIE5vbmUgdW5sZXNzIEFMUE4gaXMgdXNlZCBieSB0aGUgY2xpZW50LgorICAgICAgICAgICAgY2xpZW50X2NvbnRleHQgPSBzc2wuU1NMQ29udGV4dChzc2wuUFJPVE9DT0xfVExTdjEpCisgICAgICAgICAgICBjbGllbnRfY29udGV4dC5sb2FkX3ZlcmlmeV9sb2NhdGlvbnMoQ0VSVEZJTEUpCisgICAgICAgICAgICBzZXJ2ZXJfY29udGV4dCA9IHNzbC5TU0xDb250ZXh0KHNzbC5QUk9UT0NPTF9UTFN2MSkKKyAgICAgICAgICAgIHNlcnZlcl9jb250ZXh0LmxvYWRfY2VydF9jaGFpbihDRVJURklMRSkKKyAgICAgICAgICAgIHNlcnZlcl9jb250ZXh0LnNldF9hbHBuX3Byb3RvY29scyhbJ2ZvbycsICdiYXInXSkKKyAgICAgICAgICAgIHN0YXRzID0gc2VydmVyX3BhcmFtc190ZXN0KGNsaWVudF9jb250ZXh0LCBzZXJ2ZXJfY29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYXR0eT1UcnVlLCBjb25uZWN0aW9uY2hhdHR5PVRydWUpCisgICAgICAgICAgICBzZWxmLmFzc2VydElzKHN0YXRzWydjbGllbnRfYWxwbl9wcm90b2NvbCddLCBOb25lKQorCisgICAgICAgIEB1bml0dGVzdC5za2lwVW5sZXNzKHNzbC5IQVNfQUxQTiwgIkFMUE4gc3VwcG9ydCBuZWVkZWQgZm9yIHRoaXMgdGVzdCIpCisgICAgICAgIGRlZiB0ZXN0X2FscG5fcHJvdG9jb2xzKHNlbGYpOgorICAgICAgICAgICAgc2VydmVyX3Byb3RvY29scyA9IFsnZm9vJywgJ2JhcicsICdtaWxrc2hha2UnXQorICAgICAgICAgICAgcHJvdG9jb2xfdGVzdHMgPSBbCisgICAgICAgICAgICAgICAgKFsnZm9vJywgJ2JhciddLCAnZm9vJyksCisgICAgICAgICAgICAgICAgKFsnYmFyJywgJ2ZvbyddLCAnZm9vJyksCisgICAgICAgICAgICAgICAgKFsnbWlsa3NoYWtlJ10sICdtaWxrc2hha2UnKSwKKyAgICAgICAgICAgICAgICAoWydodHRwLzMuMCcsICdodHRwLzQuMCddLCBOb25lKQorICAgICAgICAgICAgXQorICAgICAgICAgICAgZm9yIGNsaWVudF9wcm90b2NvbHMsIGV4cGVjdGVkIGluIHByb3RvY29sX3Rlc3RzOgorICAgICAgICAgICAgICAgIHNlcnZlcl9jb250ZXh0ID0gc3NsLlNTTENvbnRleHQoc3NsLlBST1RPQ09MX1RMU3YxKQorICAgICAgICAgICAgICAgIHNlcnZlcl9jb250ZXh0LmxvYWRfY2VydF9jaGFpbihDRVJURklMRSkKKyAgICAgICAgICAgICAgICBzZXJ2ZXJfY29udGV4dC5zZXRfYWxwbl9wcm90b2NvbHMoc2VydmVyX3Byb3RvY29scykKKyAgICAgICAgICAgICAgICBjbGllbnRfY29udGV4dCA9IHNzbC5TU0xDb250ZXh0KHNzbC5QUk9UT0NPTF9UTFN2MSkKKyAgICAgICAgICAgICAgICBjbGllbnRfY29udGV4dC5sb2FkX2NlcnRfY2hhaW4oQ0VSVEZJTEUpCisgICAgICAgICAgICAgICAgY2xpZW50X2NvbnRleHQuc2V0X2FscG5fcHJvdG9jb2xzKGNsaWVudF9wcm90b2NvbHMpCisgICAgICAgICAgICAgICAgc3RhdHMgPSBzZXJ2ZXJfcGFyYW1zX3Rlc3QoY2xpZW50X2NvbnRleHQsIHNlcnZlcl9jb250ZXh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYXR0eT1UcnVlLCBjb25uZWN0aW9uY2hhdHR5PVRydWUpCisKKyAgICAgICAgICAgICAgICBtc2cgPSAiZmFpbGVkIHRyeWluZyAlcyAocykgYW5kICVzIChjKS5cbiIgXAorICAgICAgICAgICAgICAgICAgICAgICJ3YXMgZXhwZWN0aW5nICVzLCBidXQgZ290ICUlcyBmcm9tIHRoZSAlJXMiIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgJSAoc3RyKHNlcnZlcl9wcm90b2NvbHMpLCBzdHIoY2xpZW50X3Byb3RvY29scyksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cihleHBlY3RlZCkpCisgICAgICAgICAgICAgICAgY2xpZW50X3Jlc3VsdCA9IHN0YXRzWydjbGllbnRfYWxwbl9wcm90b2NvbCddCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjbGllbnRfcmVzdWx0LCBleHBlY3RlZCwgbXNnICUgKGNsaWVudF9yZXN1bHQsICJjbGllbnQiKSkKKyAgICAgICAgICAgICAgICBzZXJ2ZXJfcmVzdWx0ID0gc3RhdHNbJ3NlcnZlcl9hbHBuX3Byb3RvY29scyddWy0xXSBcCisgICAgICAgICAgICAgICAgICAgIGlmIGxlbihzdGF0c1snc2VydmVyX2FscG5fcHJvdG9jb2xzJ10pIGVsc2UgJ25vdGhpbmcnCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZXJ2ZXJfcmVzdWx0LCBleHBlY3RlZCwgbXNnICUgKHNlcnZlcl9yZXN1bHQsICJzZXJ2ZXIiKSkKKwogICAgICAgICBkZWYgdGVzdF9zZWxlY3RlZF9ucG5fcHJvdG9jb2woc2VsZik6CiAgICAgICAgICAgICAjIHNlbGVjdGVkX25wbl9wcm90b2NvbCgpIGlzIE5vbmUgdW5sZXNzIE5QTiBpcyB1c2VkCiAgICAgICAgICAgICBjb250ZXh0ID0gc3NsLlNTTENvbnRleHQoc3NsLlBST1RPQ09MX1RMU3YxKQpAQCAtMjg3Myw2ICszMjQ0LDIwIEBACiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNtLmV4Y2VwdGlvbi5yZWFzb24sICdUTFNWMV9BTEVSVF9JTlRFUk5BTF9FUlJPUicpCiAgICAgICAgICAgICBzZWxmLmFzc2VydEluKCJUeXBlRXJyb3IiLCBzdGRlcnIuZ2V0dmFsdWUoKSkKIAorICAgICAgICBkZWYgdGVzdF9zaGFyZWRfY2lwaGVycyhzZWxmKToKKyAgICAgICAgICAgIHNlcnZlcl9jb250ZXh0ID0gc3NsLlNTTENvbnRleHQoc3NsLlBST1RPQ09MX1RMU3YxKQorICAgICAgICAgICAgc2VydmVyX2NvbnRleHQubG9hZF9jZXJ0X2NoYWluKFNJR05FRF9DRVJURklMRSkKKyAgICAgICAgICAgIGNsaWVudF9jb250ZXh0ID0gc3NsLlNTTENvbnRleHQoc3NsLlBST1RPQ09MX1RMU3YxKQorICAgICAgICAgICAgY2xpZW50X2NvbnRleHQudmVyaWZ5X21vZGUgPSBzc2wuQ0VSVF9SRVFVSVJFRAorICAgICAgICAgICAgY2xpZW50X2NvbnRleHQubG9hZF92ZXJpZnlfbG9jYXRpb25zKFNJR05JTkdfQ0EpCisgICAgICAgICAgICBjbGllbnRfY29udGV4dC5zZXRfY2lwaGVycygiUkM0IikKKyAgICAgICAgICAgIHNlcnZlcl9jb250ZXh0LnNldF9jaXBoZXJzKCJBRVM6UkM0IikKKyAgICAgICAgICAgIHN0YXRzID0gc2VydmVyX3BhcmFtc190ZXN0KGNsaWVudF9jb250ZXh0LCBzZXJ2ZXJfY29udGV4dCkKKyAgICAgICAgICAgIGNpcGhlcnMgPSBzdGF0c1snc2VydmVyX3NoYXJlZF9jaXBoZXJzJ11bMF0KKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0R3JlYXRlcihsZW4oY2lwaGVycyksIDApCisgICAgICAgICAgICBmb3IgbmFtZSwgdGxzX3ZlcnNpb24sIGJpdHMgaW4gY2lwaGVyczoKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEluKCJSQzQiLCBuYW1lLnNwbGl0KCItIikpCisKICAgICAgICAgZGVmIHRlc3RfcmVhZF93cml0ZV9hZnRlcl9jbG9zZV9yYWlzZXNfdmFsdWVycm9yKHNlbGYpOgogICAgICAgICAgICAgY29udGV4dCA9IHNzbC5TU0xDb250ZXh0KHNzbC5QUk9UT0NPTF9TU0x2MjMpCiAgICAgICAgICAgICBjb250ZXh0LnZlcmlmeV9tb2RlID0gc3NsLkNFUlRfUkVRVUlSRUQKQEAgLTI4ODgsNiArMzI3MywyMyBAQAogICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIHMucmVhZCwgMTAyNCkKICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBzLndyaXRlLCBiJ2hlbGxvJykKIAorICAgICAgICBkZWYgdGVzdF9zZW5kZmlsZShzZWxmKToKKyAgICAgICAgICAgIFRFU1RfREFUQSA9IGIieCIgKiA1MTIKKyAgICAgICAgICAgIHdpdGggb3BlbihzdXBwb3J0LlRFU1RGTiwgJ3diJykgYXMgZjoKKyAgICAgICAgICAgICAgICBmLndyaXRlKFRFU1RfREFUQSkKKyAgICAgICAgICAgIHNlbGYuYWRkQ2xlYW51cChzdXBwb3J0LnVubGluaywgc3VwcG9ydC5URVNURk4pCisgICAgICAgICAgICBjb250ZXh0ID0gc3NsLlNTTENvbnRleHQoc3NsLlBST1RPQ09MX1NTTHYyMykKKyAgICAgICAgICAgIGNvbnRleHQudmVyaWZ5X21vZGUgPSBzc2wuQ0VSVF9SRVFVSVJFRAorICAgICAgICAgICAgY29udGV4dC5sb2FkX3ZlcmlmeV9sb2NhdGlvbnMoQ0VSVEZJTEUpCisgICAgICAgICAgICBjb250ZXh0LmxvYWRfY2VydF9jaGFpbihDRVJURklMRSkKKyAgICAgICAgICAgIHNlcnZlciA9IFRocmVhZGVkRWNob1NlcnZlcihjb250ZXh0PWNvbnRleHQsIGNoYXR0eT1GYWxzZSkKKyAgICAgICAgICAgIHdpdGggc2VydmVyOgorICAgICAgICAgICAgICAgIHdpdGggY29udGV4dC53cmFwX3NvY2tldChzb2NrZXQuc29ja2V0KCkpIGFzIHM6CisgICAgICAgICAgICAgICAgICAgIHMuY29ubmVjdCgoSE9TVCwgc2VydmVyLnBvcnQpKQorICAgICAgICAgICAgICAgICAgICB3aXRoIG9wZW4oc3VwcG9ydC5URVNURk4sICdyYicpIGFzIGZpbGU6CisgICAgICAgICAgICAgICAgICAgICAgICBzLnNlbmRmaWxlKGZpbGUpCisgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHMucmVjdigxMDI0KSwgVEVTVF9EQVRBKQorCiAKIGRlZiB0ZXN0X21haW4odmVyYm9zZT1GYWxzZSk6CiAgICAgaWYgc3VwcG9ydC52ZXJib3NlOgpAQCAtMjkyMSwxMCArMzMyMywxMSBAQAogICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMoZmlsZW5hbWUpOgogICAgICAgICAgICAgcmFpc2Ugc3VwcG9ydC5UZXN0RmFpbGVkKCJDYW4ndCByZWFkIGNlcnRpZmljYXRlIGZpbGUgJXIiICUgZmlsZW5hbWUpCiAKLSAgICB0ZXN0cyA9IFtDb250ZXh0VGVzdHMsIEJhc2ljU29ja2V0VGVzdHMsIFNTTEVycm9yVGVzdHNdCisgICAgdGVzdHMgPSBbQ29udGV4dFRlc3RzLCBCYXNpY1NvY2tldFRlc3RzLCBTU0xFcnJvclRlc3RzLCBNZW1vcnlCSU9UZXN0c10KIAogICAgIGlmIHN1cHBvcnQuaXNfcmVzb3VyY2VfZW5hYmxlZCgnbmV0d29yaycpOgogICAgICAgICB0ZXN0cy5hcHBlbmQoTmV0d29ya2VkVGVzdHMpCisgICAgICAgIHRlc3RzLmFwcGVuZChOZXR3b3JrZWRCSU9UZXN0cykKIAogICAgIGlmIF9oYXZlX3RocmVhZHM6CiAgICAgICAgIHRocmVhZF9pbmZvID0gc3VwcG9ydC50aHJlYWRpbmdfc2V0dXAoKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9zdGF0LnB5IGIvTGliL3Rlc3QvdGVzdF9zdGF0LnB5CmluZGV4IGFmNmNlZDQuLmYxYTU5MzggMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3Rfc3RhdC5weQorKysgYi9MaWIvdGVzdC90ZXN0X3N0YXQucHkKQEAgLTEsNSArMSw2IEBACiBpbXBvcnQgdW5pdHRlc3QKIGltcG9ydCBvcworaW1wb3J0IHN5cwogZnJvbSB0ZXN0LnN1cHBvcnQgaW1wb3J0IFRFU1RGTiwgaW1wb3J0X2ZyZXNoX21vZHVsZQogCiBjX3N0YXQgPSBpbXBvcnRfZnJlc2hfbW9kdWxlKCdzdGF0JywgZnJlc2g9Wydfc3RhdCddKQpAQCAtNTIsNiArNTMsMjYgQEAKICAgICAgICAgJ1NfSVdPVEgnOiAwbzAwMiwKICAgICAgICAgJ1NfSVhPVEgnOiAwbzAwMX0KIAorICAgICMgZGVmaW5lZCBieSB0aGUgV2luZG93cyBBUEkgZG9jdW1lbnRhdGlvbgorICAgIGZpbGVfYXR0cmlidXRlcyA9IHsKKyAgICAgICAgJ0ZJTEVfQVRUUklCVVRFX0FSQ0hJVkUnOiAzMiwKKyAgICAgICAgJ0ZJTEVfQVRUUklCVVRFX0NPTVBSRVNTRUQnOiAyMDQ4LAorICAgICAgICAnRklMRV9BVFRSSUJVVEVfREVWSUNFJzogNjQsCisgICAgICAgICdGSUxFX0FUVFJJQlVURV9ESVJFQ1RPUlknOiAxNiwKKyAgICAgICAgJ0ZJTEVfQVRUUklCVVRFX0VOQ1JZUFRFRCc6IDE2Mzg0LAorICAgICAgICAnRklMRV9BVFRSSUJVVEVfSElEREVOJzogMiwKKyAgICAgICAgJ0ZJTEVfQVRUUklCVVRFX0lOVEVHUklUWV9TVFJFQU0nOiAzMjc2OCwKKyAgICAgICAgJ0ZJTEVfQVRUUklCVVRFX05PUk1BTCc6IDEyOCwKKyAgICAgICAgJ0ZJTEVfQVRUUklCVVRFX05PVF9DT05URU5UX0lOREVYRUQnOiA4MTkyLAorICAgICAgICAnRklMRV9BVFRSSUJVVEVfTk9fU0NSVUJfREFUQSc6IDEzMTA3MiwKKyAgICAgICAgJ0ZJTEVfQVRUUklCVVRFX09GRkxJTkUnOiA0MDk2LAorICAgICAgICAnRklMRV9BVFRSSUJVVEVfUkVBRE9OTFknOiAxLAorICAgICAgICAnRklMRV9BVFRSSUJVVEVfUkVQQVJTRV9QT0lOVCc6IDEwMjQsCisgICAgICAgICdGSUxFX0FUVFJJQlVURV9TUEFSU0VfRklMRSc6IDUxMiwKKyAgICAgICAgJ0ZJTEVfQVRUUklCVVRFX1NZU1RFTSc6IDQsCisgICAgICAgICdGSUxFX0FUVFJJQlVURV9URU1QT1JBUlknOiAyNTYsCisgICAgICAgICdGSUxFX0FUVFJJQlVURV9WSVJUVUFMJzogNjU1MzZ9CisKICAgICBkZWYgc2V0VXAoc2VsZik6CiAgICAgICAgIHRyeToKICAgICAgICAgICAgIG9zLnJlbW92ZShURVNURk4pCkBAIC0xODUsNiArMjA2LDE0IEBACiAgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUoY2FsbGFibGUoZnVuYykpCiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGZ1bmMoMCksIDApCiAKKyAgICBAdW5pdHRlc3Quc2tpcFVubGVzcyhzeXMucGxhdGZvcm0gPT0gIndpbjMyIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAiRklMRV9BVFRSSUJVVEVfKiBjb25zdGFudHMgYXJlIFdpbjMyIHNwZWNpZmljIikKKyAgICBkZWYgdGVzdF9maWxlX2F0dHJpYnV0ZV9jb25zdGFudHMoc2VsZik6CisgICAgICAgIGZvciBrZXksIHZhbHVlIGluIHNvcnRlZChzZWxmLmZpbGVfYXR0cmlidXRlcy5pdGVtcygpKToKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShoYXNhdHRyKHNlbGYuc3RhdG1vZCwga2V5KSwga2V5KQorICAgICAgICAgICAgbW9kdmFsdWUgPSBnZXRhdHRyKHNlbGYuc3RhdG1vZCwga2V5KQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh2YWx1ZSwgbW9kdmFsdWUsIGtleSkKKwogCiBjbGFzcyBUZXN0RmlsZW1vZGVDU3RhdChUZXN0RmlsZW1vZGUsIHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICBzdGF0bW9kID0gY19zdGF0CmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X3N1YnByb2Nlc3MucHkgYi9MaWIvdGVzdC90ZXN0X3N1YnByb2Nlc3MucHkKaW5kZXggYWFlYzMyMi4uY2JkYmIxNyAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9zdWJwcm9jZXNzLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3Rfc3VicHJvY2Vzcy5weQpAQCAtMjQyMSwyNSArMjQyMSw2IEBACiAgICAgICAgIFByb2Nlc3NUZXN0Q2FzZS50ZWFyRG93bihzZWxmKQogCiAKLWNsYXNzIEhlbHBlckZ1bmN0aW9uVGVzdHModW5pdHRlc3QuVGVzdENhc2UpOgotICAgIEB1bml0dGVzdC5za2lwSWYobXN3aW5kb3dzLCAiZXJybm8gYW5kIEVJTlRSIG1ha2Ugbm8gc2Vuc2Ugb24gd2luZG93cyIpCi0gICAgZGVmIHRlc3RfZWludHJfcmV0cnlfY2FsbChzZWxmKToKLSAgICAgICAgcmVjb3JkX2NhbGxzID0gW10KLSAgICAgICAgZGVmIGZha2Vfb3NfZnVuYygqYXJncyk6Ci0gICAgICAgICAgICByZWNvcmRfY2FsbHMuYXBwZW5kKGFyZ3MpCi0gICAgICAgICAgICBpZiBsZW4ocmVjb3JkX2NhbGxzKSA9PSAyOgotICAgICAgICAgICAgICAgIHJhaXNlIE9TRXJyb3IoZXJybm8uRUlOVFIsICJmYWtlIGludGVycnVwdGVkIHN5c3RlbSBjYWxsIikKLSAgICAgICAgICAgIHJldHVybiB0dXBsZShyZXZlcnNlZChhcmdzKSkKLQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCg5OTksIDI1NiksCi0gICAgICAgICAgICAgICAgICAgICAgICAgc3VicHJvY2Vzcy5fZWludHJfcmV0cnlfY2FsbChmYWtlX29zX2Z1bmMsIDI1NiwgOTk5KSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChbKDI1NiwgOTk5KV0sIHJlY29yZF9jYWxscykKLSAgICAgICAgIyBUaGlzIHRpbWUgdGhlcmUgd2lsbCBiZSBhbiBFSU5UUiBzbyBpdCB3aWxsIGxvb3Agb25jZS4KLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgoNjY2LCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgc3VicHJvY2Vzcy5fZWludHJfcmV0cnlfY2FsbChmYWtlX29zX2Z1bmMsIDY2NikpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoWygyNTYsIDk5OSksICg2NjYsKSwgKDY2NiwpXSwgcmVjb3JkX2NhbGxzKQotCi0KIEB1bml0dGVzdC5za2lwVW5sZXNzKG1zd2luZG93cywgIldpbmRvd3Mtc3BlY2lmaWMgdGVzdHMiKQogY2xhc3MgQ29tbWFuZHNXaXRoU3BhY2VzIChCYXNlVGVzdENhc2UpOgogCkBAIC0yNTQ2LDcgKzI1MjcsNiBAQAogICAgICAgICAgICAgICAgICAgV2luMzJQcm9jZXNzVGVzdENhc2UsCiAgICAgICAgICAgICAgICAgICBDb21tYW5kVGVzdHMsCiAgICAgICAgICAgICAgICAgICBQcm9jZXNzVGVzdENhc2VOb1BvbGwsCi0gICAgICAgICAgICAgICAgICBIZWxwZXJGdW5jdGlvblRlc3RzLAogICAgICAgICAgICAgICAgICAgQ29tbWFuZHNXaXRoU3BhY2VzLAogICAgICAgICAgICAgICAgICAgQ29udGV4dE1hbmFnZXJUZXN0cywKICAgICAgICAgICAgICAgICAgICkKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3Rfc3VwcG9ydC5weSBiL0xpYi90ZXN0L3Rlc3Rfc3VwcG9ydC5weQppbmRleCAwM2NlOWQxLi5hMDJkMmY0IDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X3N1cHBvcnQucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9zdXBwb3J0LnB5CkBAIC04NSw3ICs4NSw3IEBACiAgICAgZGVmIHRlc3RfYmluZF9wb3J0KHNlbGYpOgogICAgICAgICBzID0gc29ja2V0LnNvY2tldCgpCiAgICAgICAgIHN1cHBvcnQuYmluZF9wb3J0KHMpCi0gICAgICAgIHMubGlzdGVuKDEpCisgICAgICAgIHMubGlzdGVuKCkKICAgICAgICAgcy5jbG9zZSgpCiAKICAgICAjIFRlc3RzIGZvciB0ZW1wX2RpcigpCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X3N5cy5weSBiL0xpYi90ZXN0L3Rlc3Rfc3lzLnB5CmluZGV4IDJmNjZlYjcuLmVkNmI0N2QgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3Rfc3lzLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3Rfc3lzLnB5CkBAIC02MzYsNiArNjM2LDUzIEBACiAgICAgICAgICAgICBleHBlY3RlZCA9IE5vbmUKICAgICAgICAgc2VsZi5jaGVja19mc2VuY29kaW5nKGZzX2VuY29kaW5nLCBleHBlY3RlZCkKIAorICAgIGRlZiBjX2xvY2FsZV9nZXRfZXJyb3JfaGFuZGxlcihzZWxmLCBpc29sYXRlZD1GYWxzZSwgZW5jb2Rpbmc9Tm9uZSk6CisgICAgICAgICMgRm9yY2UgdGhlIFBPU0lYIGxvY2FsZQorICAgICAgICBlbnYgPSBvcy5lbnZpcm9uLmNvcHkoKQorICAgICAgICBlbnZbIkxDX0FMTCJdID0gIkMiCisgICAgICAgIGNvZGUgPSAnXG4nLmpvaW4oKAorICAgICAgICAgICAgJ2ltcG9ydCBzeXMnLAorICAgICAgICAgICAgJ2RlZiBkdW1wKG5hbWUpOicsCisgICAgICAgICAgICAnICAgIHN0ZCA9IGdldGF0dHIoc3lzLCBuYW1lKScsCisgICAgICAgICAgICAnICAgIHByaW50KCIlczogJXMiICUgKG5hbWUsIHN0ZC5lcnJvcnMpKScsCisgICAgICAgICAgICAnZHVtcCgic3RkaW4iKScsCisgICAgICAgICAgICAnZHVtcCgic3Rkb3V0IiknLAorICAgICAgICAgICAgJ2R1bXAoInN0ZGVyciIpJywKKyAgICAgICAgKSkKKyAgICAgICAgYXJncyA9IFtzeXMuZXhlY3V0YWJsZSwgIi1jIiwgY29kZV0KKyAgICAgICAgaWYgaXNvbGF0ZWQ6CisgICAgICAgICAgICBhcmdzLmFwcGVuZCgiLUkiKQorICAgICAgICBlbGlmIGVuY29kaW5nOgorICAgICAgICAgICAgZW52WydQWVRIT05JT0VOQ09ESU5HJ10gPSBlbmNvZGluZworICAgICAgICBwID0gc3VicHJvY2Vzcy5Qb3BlbihhcmdzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Rkb3V0PXN1YnByb2Nlc3MuUElQRSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ZGVycj1zdWJwcm9jZXNzLlNURE9VVCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudj1lbnYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bml2ZXJzYWxfbmV3bGluZXM9VHJ1ZSkKKyAgICAgICAgc3Rkb3V0LCBzdGRlcnIgPSBwLmNvbW11bmljYXRlKCkKKyAgICAgICAgcmV0dXJuIHN0ZG91dAorCisgICAgZGVmIHRlc3RfY19sb2NhbGVfc3Vycm9nYXRlZXNjYXBlKHNlbGYpOgorICAgICAgICBvdXQgPSBzZWxmLmNfbG9jYWxlX2dldF9lcnJvcl9oYW5kbGVyKGlzb2xhdGVkPVRydWUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwob3V0LAorICAgICAgICAgICAgICAgICAgICAgICAgICdzdGRpbjogc3Vycm9nYXRlZXNjYXBlXG4nCisgICAgICAgICAgICAgICAgICAgICAgICAgJ3N0ZG91dDogc3Vycm9nYXRlZXNjYXBlXG4nCisgICAgICAgICAgICAgICAgICAgICAgICAgJ3N0ZGVycjogYmFja3NsYXNocmVwbGFjZVxuJykKKworICAgICAgICAjIHJlcGxhY2UgdGhlIGRlZmF1bHQgZXJyb3IgaGFuZGxlcgorICAgICAgICBvdXQgPSBzZWxmLmNfbG9jYWxlX2dldF9lcnJvcl9oYW5kbGVyKGVuY29kaW5nPSc6c3RyaWN0JykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChvdXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgJ3N0ZGluOiBzdHJpY3RcbicKKyAgICAgICAgICAgICAgICAgICAgICAgICAnc3Rkb3V0OiBzdHJpY3RcbicKKyAgICAgICAgICAgICAgICAgICAgICAgICAnc3RkZXJyOiBiYWNrc2xhc2hyZXBsYWNlXG4nKQorCisgICAgICAgICMgZm9yY2UgdGhlIGVuY29kaW5nCisgICAgICAgIG91dCA9IHNlbGYuY19sb2NhbGVfZ2V0X2Vycm9yX2hhbmRsZXIoZW5jb2Rpbmc9J2lzbzg4NTktMScpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwob3V0LAorICAgICAgICAgICAgICAgICAgICAgICAgICdzdGRpbjogc3Vycm9nYXRlZXNjYXBlXG4nCisgICAgICAgICAgICAgICAgICAgICAgICAgJ3N0ZG91dDogc3Vycm9nYXRlZXNjYXBlXG4nCisgICAgICAgICAgICAgICAgICAgICAgICAgJ3N0ZGVycjogYmFja3NsYXNocmVwbGFjZVxuJykKKwogICAgIGRlZiB0ZXN0X2ltcGxlbWVudGF0aW9uKHNlbGYpOgogICAgICAgICAjIFRoaXMgdGVzdCBhcHBsaWVzIHRvIGFsbCBpbXBsZW1lbnRhdGlvbnMgZXF1YWxseS4KIApAQCAtNjk4LDYgKzc0NSwyNyBAQAogICAgICAgICBjID0gc3lzLmdldGFsbG9jYXRlZGJsb2NrcygpCiAgICAgICAgIHNlbGYuYXNzZXJ0SW4oYywgcmFuZ2UoYiAtIDUwLCBiICsgNTApKQogCisgICAgZGVmIHRlc3RfaXNfZmluYWxpemluZyhzZWxmKToKKyAgICAgICAgc2VsZi5hc3NlcnRJcyhzeXMuaXNfZmluYWxpemluZygpLCBGYWxzZSkKKyAgICAgICAgIyBEb24ndCB1c2UgdGhlIGF0ZXhpdCBtb2R1bGUgYmVjYXVzZSBfUHlfRmluYWxpemluZyBpcyBvbmx5IHNldAorICAgICAgICAjIGFmdGVyIGNhbGxpbmcgYXRleGl0IGNhbGxiYWNrcworICAgICAgICBjb2RlID0gIiIiaWYgMToKKyAgICAgICAgICAgIGltcG9ydCBzeXMKKworICAgICAgICAgICAgY2xhc3MgQXRFeGl0OgorICAgICAgICAgICAgICAgIGlzX2ZpbmFsaXppbmcgPSBzeXMuaXNfZmluYWxpemluZworICAgICAgICAgICAgICAgIHByaW50ID0gcHJpbnQKKworICAgICAgICAgICAgICAgIGRlZiBfX2RlbF9fKHNlbGYpOgorICAgICAgICAgICAgICAgICAgICBzZWxmLnByaW50KHNlbGYuaXNfZmluYWxpemluZygpLCBmbHVzaD1UcnVlKQorCisgICAgICAgICAgICAjIEtlZXAgYSByZWZlcmVuY2UgaW4gdGhlIF9fbWFpbl9fIG1vZHVsZSBuYW1lc3BhY2UsIHNvIHRoZQorICAgICAgICAgICAgIyBBdEV4aXQgZGVzdHJ1Y3RvciB3aWxsIGJlIGNhbGxlZCBhdCBQeXRob24gZXhpdAorICAgICAgICAgICAgcmVmID0gQXRFeGl0KCkKKyAgICAgICAgIiIiCisgICAgICAgIHJjLCBzdGRvdXQsIHN0ZGVyciA9IGFzc2VydF9weXRob25fb2soJy1jJywgY29kZSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdGRvdXQucnN0cmlwKCksIGInVHJ1ZScpCisKIAogQHRlc3Quc3VwcG9ydC5jcHl0aG9uX29ubHkKIGNsYXNzIFNpemVvZlRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgpAQCAtNzcwLDcgKzgzOCw3IEBACiAgICAgICAgICMgYnVmZmVyCiAgICAgICAgICMgWFhYCiAgICAgICAgICMgYnVpbHRpbl9mdW5jdGlvbl9vcl9tZXRob2QKLSAgICAgICAgY2hlY2sobGVuLCBzaXplKCczUCcpKSAjIFhYWCBjaGVjayBsYXlvdXQKKyAgICAgICAgY2hlY2sobGVuLCBzaXplKCc0UCcpKSAjIFhYWCBjaGVjayBsYXlvdXQKICAgICAgICAgIyBieXRlYXJyYXkKICAgICAgICAgc2FtcGxlcyA9IFtiJycsIGIndScqMTAwMDAwXQogICAgICAgICBmb3Igc2FtcGxlIGluIHNhbXBsZXM6CkBAIC04NzEsNyArOTM5LDcgQEAKICAgICAgICAgICAgIGNoZWNrKGJhciwgc2l6ZSgnUFAnKSkKICAgICAgICAgIyBnZW5lcmF0b3IKICAgICAgICAgZGVmIGdldF9nZW4oKTogeWllbGQgMQotICAgICAgICBjaGVjayhnZXRfZ2VuKCksIHNpemUoJ1BiMlAnKSkKKyAgICAgICAgY2hlY2soZ2V0X2dlbigpLCBzaXplKCdQYjJQUFAnKSkKICAgICAgICAgIyBpdGVyYXRvcgogICAgICAgICBjaGVjayhpdGVyKCdhYmMnKSwgc2l6ZSgnbFAnKSkKICAgICAgICAgIyBjYWxsYWJsZS1pdGVyYXRvcgpAQCAtODk4LDcgKzk2Niw3IEBACiAgICAgICAgIGNoZWNrKGludChQeUxvbmdfQkFTRSoqMi0xKSwgdnNpemUoJycpICsgMipzZWxmLmxvbmdkaWdpdCkKICAgICAgICAgY2hlY2soaW50KFB5TG9uZ19CQVNFKioyKSwgdnNpemUoJycpICsgMypzZWxmLmxvbmdkaWdpdCkKICAgICAgICAgIyBtZW1vcnl2aWV3Ci0gICAgICAgIGNoZWNrKG1lbW9yeXZpZXcoYicnKSwgc2l6ZSgnUG5pbiAyUDJuMmk1UCAzY1BuJykpCisgICAgICAgIGNoZWNrKG1lbW9yeXZpZXcoYicnKSwgc2l6ZSgnUG5pbiAyUDJuMmk1UCBQbicpKQogICAgICAgICAjIG1vZHVsZQogICAgICAgICBjaGVjayh1bml0dGVzdCwgc2l6ZSgnUG5QUFAnKSkKICAgICAgICAgIyBOb25lCkBAIC05MjcsNyArOTk1LDcgQEAKICAgICAgICAgIyBmcm96ZW5zZXQKICAgICAgICAgUHlTZXRfTUlOU0laRSA9IDgKICAgICAgICAgc2FtcGxlcyA9IFtbXSwgcmFuZ2UoMTApLCByYW5nZSg1MCldCi0gICAgICAgIHMgPSBzaXplKCczbjJQJyArIFB5U2V0X01JTlNJWkUqJ25QJyArICduUCcpCisgICAgICAgIHMgPSBzaXplKCczblAnICsgUHlTZXRfTUlOU0laRSonblAnICsgJzJuUCcpCiAgICAgICAgIGZvciBzYW1wbGUgaW4gc2FtcGxlczoKICAgICAgICAgICAgIG1pbnVzZWQgPSBsZW4oc2FtcGxlKQogICAgICAgICAgICAgaWYgbWludXNlZCA9PSAwOiB0bXAgPSAxCkBAIC05NTgsNyArMTAyNiw3IEBACiAgICAgICAgIGNoZWNrKGludCwgcykKICAgICAgICAgIyAoUHlUeXBlT2JqZWN0ICsgUHlOdW1iZXJNZXRob2RzICsgUHlNYXBwaW5nTWV0aG9kcyArCiAgICAgICAgICMgIFB5U2VxdWVuY2VNZXRob2RzICsgUHlCdWZmZXJQcm9jcyArIDRQKQotICAgICAgICBzID0gdnNpemUoJ1AybjE1UGw0UG45UG4xMVBJUCcpICsgc3RydWN0LmNhbGNzaXplKCczNFAgM1AgMTBQIDJQIDRQJykKKyAgICAgICAgcyA9IHZzaXplKCdQMm4xN1BsNFBuOVBuMTFQSVAnKSArIHN0cnVjdC5jYWxjc2l6ZSgnMzRQIDNQIDEwUCAyUCA0UCcpCiAgICAgICAgICMgU2VwYXJhdGUgYmxvY2sgZm9yIFB5RGljdEtleXNPYmplY3Qgd2l0aCA0IGVudHJpZXMKICAgICAgICAgcyArPSBzdHJ1Y3QuY2FsY3NpemUoIjJuUG4iKSArIDQqc3RydWN0LmNhbGNzaXplKCJuMlAiKQogICAgICAgICAjIGNsYXNzCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X3N5c19zZXRwcm9maWxlLnB5IGIvTGliL3Rlc3QvdGVzdF9zeXNfc2V0cHJvZmlsZS5weQppbmRleCA5ODE2ZTNlLi5lNTkzMjBiIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X3N5c19zZXRwcm9maWxlLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3Rfc3lzX3NldHByb2ZpbGUucHkKQEAgLTI2MCw3ICsyNjAsNiBAQAogICAgICAgICBkZWYgZigpOgogICAgICAgICAgICAgZm9yIGkgaW4gcmFuZ2UoMik6CiAgICAgICAgICAgICAgICAgeWllbGQgaQotICAgICAgICAgICAgcmFpc2UgU3RvcEl0ZXJhdGlvbgogICAgICAgICBkZWYgZyhwKToKICAgICAgICAgICAgIGZvciBpIGluIGYoKToKICAgICAgICAgICAgICAgICBwYXNzCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X3RhcmZpbGUucHkgYi9MaWIvdGVzdC90ZXN0X3RhcmZpbGUucHkKaW5kZXggYzEzNTMwNC4uMDFkMWE5MiAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF90YXJmaWxlLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfdGFyZmlsZS5weQpAQCAtMjg1LDYgKzI4NSwxOCBAQAogICAgICAgICBzZWxmLmFzc2VydEluKGIncGF4JyArIChiJy8xMjMnICogMTI1KSArIGInL2xvbmdsaW5rIGxpbmsgdG8gcGF4JyArCiAgICAgICAgICAgICAgICAgICAgICAgKGInLzEyMycgKiAxMjUpICsgYicvbG9uZ25hbWUnLCBvdXQpCiAKKyAgICBkZWYgdGVzdF9saXN0X21lbWJlcnMoc2VsZik6CisgICAgICAgIHRpbyA9IGlvLlRleHRJT1dyYXBwZXIoaW8uQnl0ZXNJTygpLCAnYXNjaWknLCBuZXdsaW5lPSdcbicpCisgICAgICAgIGRlZiBtZW1iZXJzKHRhcik6CisgICAgICAgICAgICBmb3IgdGFyaW5mbyBpbiB0YXIuZ2V0bWVtYmVycygpOgorICAgICAgICAgICAgICAgIGlmICdyZWcnIGluIHRhcmluZm8ubmFtZToKKyAgICAgICAgICAgICAgICAgICAgeWllbGQgdGFyaW5mbworICAgICAgICB3aXRoIHN1cHBvcnQuc3dhcF9hdHRyKHN5cywgJ3N0ZG91dCcsIHRpbyk6CisgICAgICAgICAgICBzZWxmLnRhci5saXN0KHZlcmJvc2U9RmFsc2UsIG1lbWJlcnM9bWVtYmVycyhzZWxmLnRhcikpCisgICAgICAgIG91dCA9IHRpby5kZXRhY2goKS5nZXR2YWx1ZSgpCisgICAgICAgIHNlbGYuYXNzZXJ0SW4oYid1c3Rhci9yZWd0eXBlJywgb3V0KQorICAgICAgICBzZWxmLmFzc2VydE5vdEluKGIndXN0YXIvY29udHR5cGUnLCBvdXQpCisKIAogY2xhc3MgR3ppcExpc3RUZXN0KEd6aXBUZXN0LCBMaXN0VGVzdCk6CiAgICAgcGFzcwpAQCAtMTQxNiw2ICsxNDI4LDg4IEBACiAgICAgICAgICAgICAgICAgICAgKCJsb25nbG5rLyIgKiAxMjcpICsgImxvbmdsaW5rXyIpCiAKIAorY2xhc3MgQ3JlYXRlVGVzdChUYXJUZXN0LCB1bml0dGVzdC5UZXN0Q2FzZSk6CisKKyAgICBwcmVmaXggPSAieDoiCisKKyAgICBmaWxlX3BhdGggPSBvcy5wYXRoLmpvaW4oVEVNUERJUiwgInNwYW1lZ2dzNDIiKQorCisgICAgZGVmIHNldFVwKHNlbGYpOgorICAgICAgICBzdXBwb3J0LnVubGluayh0bXBuYW1lKQorCisgICAgQGNsYXNzbWV0aG9kCisgICAgZGVmIHNldFVwQ2xhc3MoY2xzKToKKyAgICAgICAgd2l0aCBvcGVuKGNscy5maWxlX3BhdGgsICJ3YiIpIGFzIGZvYmo6CisgICAgICAgICAgICBmb2JqLndyaXRlKGIiYWFhIikKKworICAgIEBjbGFzc21ldGhvZAorICAgIGRlZiB0ZWFyRG93bkNsYXNzKGNscyk6CisgICAgICAgIHN1cHBvcnQudW5saW5rKGNscy5maWxlX3BhdGgpCisKKyAgICBkZWYgdGVzdF9jcmVhdGUoc2VsZik6CisgICAgICAgIHdpdGggdGFyZmlsZS5vcGVuKHRtcG5hbWUsIHNlbGYubW9kZSkgYXMgdG9iajoKKyAgICAgICAgICAgIHRvYmouYWRkKHNlbGYuZmlsZV9wYXRoKQorCisgICAgICAgIHdpdGggc2VsZi50YXJvcGVuKHRtcG5hbWUpIGFzIHRvYmo6CisgICAgICAgICAgICBuYW1lcyA9IHRvYmouZ2V0bmFtZXMoKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihuYW1lcyksIDEpCisgICAgICAgIHNlbGYuYXNzZXJ0SW4oJ3NwYW1lZ2dzNDInLCBuYW1lc1swXSkKKworICAgIGRlZiB0ZXN0X2NyZWF0ZV9leGlzdGluZyhzZWxmKToKKyAgICAgICAgd2l0aCB0YXJmaWxlLm9wZW4odG1wbmFtZSwgc2VsZi5tb2RlKSBhcyB0b2JqOgorICAgICAgICAgICAgdG9iai5hZGQoc2VsZi5maWxlX3BhdGgpCisKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhGaWxlRXhpc3RzRXJyb3IpOgorICAgICAgICAgICAgdG9iaiA9IHRhcmZpbGUub3Blbih0bXBuYW1lLCBzZWxmLm1vZGUpCisKKyAgICAgICAgd2l0aCBzZWxmLnRhcm9wZW4odG1wbmFtZSkgYXMgdG9iajoKKyAgICAgICAgICAgIG5hbWVzID0gdG9iai5nZXRuYW1lcygpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKG5hbWVzKSwgMSkKKyAgICAgICAgc2VsZi5hc3NlcnRJbignc3BhbWVnZ3M0MicsIG5hbWVzWzBdKQorCisgICAgZGVmIHRlc3RfY3JlYXRlX3Rhcm9wZW4oc2VsZik6CisgICAgICAgIHdpdGggc2VsZi50YXJvcGVuKHRtcG5hbWUsICJ4IikgYXMgdG9iajoKKyAgICAgICAgICAgIHRvYmouYWRkKHNlbGYuZmlsZV9wYXRoKQorCisgICAgICAgIHdpdGggc2VsZi50YXJvcGVuKHRtcG5hbWUpIGFzIHRvYmo6CisgICAgICAgICAgICBuYW1lcyA9IHRvYmouZ2V0bmFtZXMoKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihuYW1lcyksIDEpCisgICAgICAgIHNlbGYuYXNzZXJ0SW4oJ3NwYW1lZ2dzNDInLCBuYW1lc1swXSkKKworICAgIGRlZiB0ZXN0X2NyZWF0ZV9leGlzdGluZ190YXJvcGVuKHNlbGYpOgorICAgICAgICB3aXRoIHNlbGYudGFyb3Blbih0bXBuYW1lLCAieCIpIGFzIHRvYmo6CisgICAgICAgICAgICB0b2JqLmFkZChzZWxmLmZpbGVfcGF0aCkKKworICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKEZpbGVFeGlzdHNFcnJvcik6CisgICAgICAgICAgICB3aXRoIHNlbGYudGFyb3Blbih0bXBuYW1lLCAieCIpOgorICAgICAgICAgICAgICAgIHBhc3MKKworICAgICAgICB3aXRoIHNlbGYudGFyb3Blbih0bXBuYW1lKSBhcyB0b2JqOgorICAgICAgICAgICAgbmFtZXMgPSB0b2JqLmdldG5hbWVzKCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4obmFtZXMpLCAxKQorICAgICAgICBzZWxmLmFzc2VydEluKCJzcGFtZWdnczQyIiwgbmFtZXNbMF0pCisKKworY2xhc3MgR3ppcENyZWF0ZVRlc3QoR3ppcFRlc3QsIENyZWF0ZVRlc3QpOgorICAgIHBhc3MKKworCitjbGFzcyBCejJDcmVhdGVUZXN0KEJ6MlRlc3QsIENyZWF0ZVRlc3QpOgorICAgIHBhc3MKKworCitjbGFzcyBMem1hQ3JlYXRlVGVzdChMem1hVGVzdCwgQ3JlYXRlVGVzdCk6CisgICAgcGFzcworCisKK2NsYXNzIENyZWF0ZVdpdGhYTW9kZVRlc3QoQ3JlYXRlVGVzdCk6CisKKyAgICBwcmVmaXggPSAieCIKKworICAgIHRlc3RfY3JlYXRlX3Rhcm9wZW4gPSBOb25lCisgICAgdGVzdF9jcmVhdGVfZXhpc3RpbmdfdGFyb3BlbiA9IE5vbmUKKworCiBAdW5pdHRlc3Quc2tpcFVubGVzcyhoYXNhdHRyKG9zLCAibGluayIpLCAiTWlzc2luZyBoYXJkbGluayBpbXBsZW1lbnRhdGlvbiIpCiBjbGFzcyBIYXJkbGlua1Rlc3QodW5pdHRlc3QuVGVzdENhc2UpOgogICAgICMgVGVzdCB0aGUgY3JlYXRpb24gb2YgTE5LVFlQRSAoaGFyZGxpbmspIG1lbWJlcnMgaW4gYW4gYXJjaGl2ZS4KZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfdGNsLnB5IGIvTGliL3Rlc3QvdGVzdF90Y2wucHkKaW5kZXggZGE4ZjYyOS4uZDAyNTFhYSAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF90Y2wucHkKKysrIGIvTGliL3Rlc3QvdGVzdF90Y2wucHkKQEAgLTQxNSw2ICs0MTUsOCBAQAogICAgICAgICAgICAgIyBYWFggTmFOIHJlcHJlc2VudGF0aW9uIGNhbiBiZSBub3QgcGFyc2FibGUgYnkgZmxvYXQoKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHBhc3NWYWx1ZSgoMSwgJzInLCAoMy40LCkpKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAoMSwgJzInLCAoMy40LCkpIGlmIHNlbGYud2FudG9iamVjdHMgZWxzZSAnMSAyIDMuNCcpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocGFzc1ZhbHVlKFsnYScsIFsnYicsICdjJ11dKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAoJ2EnLCAoJ2InLCAnYycpKSBpZiBzZWxmLndhbnRvYmplY3RzIGVsc2UgJ2Ege2IgY30nKQogCiAgICAgZGVmIHRlc3RfdXNlcl9jb21tYW5kKHNlbGYpOgogICAgICAgICByZXN1bHQgPSBOb25lCkBAIC00NjYsNiArNDY4LDcgQEAKICAgICAgICAgIyBYWFggTmFOIHJlcHJlc2VudGF0aW9uIGNhbiBiZSBub3QgcGFyc2FibGUgYnkgZmxvYXQoKQogICAgICAgICBjaGVjaygoKSwgJycpCiAgICAgICAgIGNoZWNrKCgxLCAoMiwpLCAoMywgNCksICc1IDYnLCAoKSksICcxIDIgezMgNH0gezUgNn0ge30nKQorICAgICAgICBjaGVjayhbMSwgWzIsXSwgWzMsIDRdLCAnNSA2JywgW11dLCAnMSAyIHszIDR9IHs1IDZ9IHt9JykKIAogICAgIGRlZiB0ZXN0X3NwbGl0bGlzdChzZWxmKToKICAgICAgICAgc3BsaXRsaXN0ID0gc2VsZi5pbnRlcnAudGsuc3BsaXRsaXN0CkBAIC00OTEsMTIgKzQ5NCwxNSBAQAogICAgICAgICAgICAgKCdhIDMuNCcsICgnYScsICczLjQnKSksCiAgICAgICAgICAgICAoKCdhJywgMy40KSwgKCdhJywgMy40KSksCiAgICAgICAgICAgICAoKCksICgpKSwKKyAgICAgICAgICAgIChbXSwgKCkpLAorICAgICAgICAgICAgKFsnYScsIFsnYicsICdjJ11dLCAoJ2EnLCBbJ2InLCAnYyddKSksCiAgICAgICAgICAgICAoY2FsbCgnbGlzdCcsIDEsICcyJywgKDMuNCwpKSwKICAgICAgICAgICAgICAgICAoMSwgJzInLCAoMy40LCkpIGlmIHNlbGYud2FudG9iamVjdHMgZWxzZQogICAgICAgICAgICAgICAgICgnMScsICcyJywgJzMuNCcpKSwKICAgICAgICAgXQorICAgICAgICB0a19wYXRjaGxldmVsID0gZ2V0X3RrX3BhdGNobGV2ZWwoKQogICAgICAgICBpZiB0Y2xfdmVyc2lvbiA+PSAoOCwgNSk6Ci0gICAgICAgICAgICBpZiBub3Qgc2VsZi53YW50b2JqZWN0cyBvciBnZXRfdGtfcGF0Y2hsZXZlbCgpIDwgKDgsIDUsIDUpOgorICAgICAgICAgICAgaWYgbm90IHNlbGYud2FudG9iamVjdHMgb3IgdGtfcGF0Y2hsZXZlbCA8ICg4LCA1LCA1KToKICAgICAgICAgICAgICAgICAjIEJlZm9yZSA4LjUuNSBkaWN0cyB3ZXJlIGNvbnZlcnRlZCB0byBsaXN0cyB0aHJvdWdoIHN0cmluZwogICAgICAgICAgICAgICAgIGV4cGVjdGVkID0gKCcxMicsICdcdTIwYWMnLCAnXHhlMlx4ODJceGFjJywgJzMuNCcpCiAgICAgICAgICAgICBlbHNlOgpAQCAtNTA1LDggKzUxMSwxMSBAQAogICAgICAgICAgICAgICAgIChjYWxsKCdkaWN0JywgJ2NyZWF0ZScsIDEyLCAnXHUyMGFjJywgYidceGUyXHg4Mlx4YWMnLCAoMy40LCkpLAogICAgICAgICAgICAgICAgICAgICBleHBlY3RlZCksCiAgICAgICAgICAgICBdCisgICAgICAgIGRiZ19pbmZvID0gKCd3YW50IG9iamVjdHM/ICVzLCBUY2wgdmVyc2lvbjogJXMsIFRrIHBhdGNobGV2ZWw6ICVzJworICAgICAgICAgICAgICAgICAgICAlIChzZWxmLndhbnRvYmplY3RzLCB0Y2xfdmVyc2lvbiwgdGtfcGF0Y2hsZXZlbCkpCiAgICAgICAgIGZvciBhcmcsIHJlcyBpbiB0ZXN0Y2FzZXM6Ci0gICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNwbGl0bGlzdChhcmcpLCByZXMsIG1zZz1hcmcpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNwbGl0bGlzdChhcmcpLCByZXMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhcmc9JWEsICVzJyAlIChhcmcsIGRiZ19pbmZvKSkKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVGNsRXJyb3IsIHNwbGl0bGlzdCwgJ3snKQogCiAgICAgZGVmIHRlc3Rfc3BsaXQoc2VsZik6CkBAIC01MzgsNiArNTQ3LDkgQEAKICAgICAgICAgICAgICgoJ2EnLCAzLjQpLCAoJ2EnLCAzLjQpKSwKICAgICAgICAgICAgICgoJ2EnLCAoMiwgMy40KSksICgnYScsICgyLCAzLjQpKSksCiAgICAgICAgICAgICAoKCksICgpKSwKKyAgICAgICAgICAgIChbXSwgKCkpLAorICAgICAgICAgICAgKFsnYScsICdiIGMnXSwgKCdhJywgKCdiJywgJ2MnKSkpLAorICAgICAgICAgICAgKFsnYScsIFsnYicsICdjJ11dLCAoJ2EnLCAoJ2InLCAnYycpKSksCiAgICAgICAgICAgICAoY2FsbCgnbGlzdCcsIDEsICcyJywgKDMuNCwpKSwKICAgICAgICAgICAgICAgICAoMSwgJzInLCAoMy40LCkpIGlmIHNlbGYud2FudG9iamVjdHMgZWxzZQogICAgICAgICAgICAgICAgICgnMScsICcyJywgJzMuNCcpKSwKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfdGVsbmV0bGliLnB5IGIvTGliL3Rlc3QvdGVzdF90ZWxuZXRsaWIucHkKaW5kZXggZWUxYzM1Ny4uZTFlZjk5YSAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF90ZWxuZXRsaWIucHkKKysrIGIvTGliL3Rlc3QvdGVzdF90ZWxuZXRsaWIucHkKQEAgLTExLDcgKzExLDcgQEAKIEhPU1QgPSBzdXBwb3J0LkhPU1QKIAogZGVmIHNlcnZlcihldnQsIHNlcnYpOgotICAgIHNlcnYubGlzdGVuKDUpCisgICAgc2Vydi5saXN0ZW4oKQogICAgIGV2dC5zZXQoKQogICAgIHRyeToKICAgICAgICAgY29ubiwgYWRkciA9IHNlcnYuYWNjZXB0KCkKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfdGhyZWFkZWRfaW1wb3J0LnB5IGIvTGliL3Rlc3QvdGVzdF90aHJlYWRlZF9pbXBvcnQucHkKaW5kZXggMTkyZmEwOC4uNWJmNjcwYyAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF90aHJlYWRlZF9pbXBvcnQucHkKKysrIGIvTGliL3Rlc3QvdGVzdF90aHJlYWRlZF9pbXBvcnQucHkKQEAgLTExNSwxMiArMTE1LDE4IEBACiAgICAgICAgICAgICBlcnJvcnMgPSBbXQogICAgICAgICAgICAgZG9uZV90YXNrcyA9IFtdCiAgICAgICAgICAgICBkb25lLmNsZWFyKCkKKyAgICAgICAgICAgIHQwID0gdGltZS5tb25vdG9uaWMoKQogICAgICAgICAgICAgZm9yIGkgaW4gcmFuZ2UoTik6CiAgICAgICAgICAgICAgICAgdCA9IHRocmVhZGluZy5UaHJlYWQodGFyZ2V0PXRhc2ssCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJncz0oTiwgZG9uZSwgZG9uZV90YXNrcywgZXJyb3JzLCkpCiAgICAgICAgICAgICAgICAgdC5zdGFydCgpCi0gICAgICAgICAgICBzZWxmLmFzc2VydFRydWUoZG9uZS53YWl0KDYwKSkKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoZXJyb3JzKQorICAgICAgICAgICAgY29tcGxldGVkID0gZG9uZS53YWl0KDEwICogNjApCisgICAgICAgICAgICBkdCA9IHRpbWUubW9ub3RvbmljKCkgLSB0MAorICAgICAgICAgICAgaWYgdmVyYm9zZToKKyAgICAgICAgICAgICAgICBwcmludCgiJS4xZiBtcyIgJSAoZHQqMWUzKSwgZmx1c2g9VHJ1ZSwgZW5kPSIgIikKKyAgICAgICAgICAgIGRiZ19pbmZvID0gJ2RvbmU6ICVzLyVzJyAlIChsZW4oZG9uZV90YXNrcyksIE4pCisgICAgICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGVycm9ycywgZGJnX2luZm8pCisgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUoY29tcGxldGVkLCBkYmdfaW5mbykKICAgICAgICAgICAgIGlmIHZlcmJvc2U6CiAgICAgICAgICAgICAgICAgcHJpbnQoIk9LLiIpCiAKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfdGltZWl0LnB5IGIvTGliL3Rlc3QvdGVzdF90aW1laXQucHkKaW5kZXggMDllNzZlMC4uMjY3ZDJjOCAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF90aW1laXQucHkKKysrIGIvTGliL3Rlc3QvdGVzdF90aW1laXQucHkKQEAgLTk4LDkgKzk4LDEwIEBACiAgICAgZGVmIGZha2VfY2FsbGFibGVfc3RtdChzZWxmKToKICAgICAgICAgc2VsZi5mYWtlX3RpbWVyLmluYygpCiAKLSAgICBkZWYgdGltZWl0KHNlbGYsIHN0bXQsIHNldHVwLCBudW1iZXI9Tm9uZSk6CisgICAgZGVmIHRpbWVpdChzZWxmLCBzdG10LCBzZXR1cCwgbnVtYmVyPU5vbmUsIGdsb2JhbHM9Tm9uZSk6CiAgICAgICAgIHNlbGYuZmFrZV90aW1lciA9IEZha2VUaW1lcigpCi0gICAgICAgIHQgPSB0aW1laXQuVGltZXIoc3RtdD1zdG10LCBzZXR1cD1zZXR1cCwgdGltZXI9c2VsZi5mYWtlX3RpbWVyKQorICAgICAgICB0ID0gdGltZWl0LlRpbWVyKHN0bXQ9c3RtdCwgc2V0dXA9c2V0dXAsIHRpbWVyPXNlbGYuZmFrZV90aW1lciwKKyAgICAgICAgICAgICAgICBnbG9iYWxzPWdsb2JhbHMpCiAgICAgICAgIGt3YXJncyA9IHt9CiAgICAgICAgIGlmIG51bWJlciBpcyBOb25lOgogICAgICAgICAgICAgbnVtYmVyID0gREVGQVVMVF9OVU1CRVIKQEAgLTEzOSw2ICsxNDAsMTcgQEAKICAgICAgICAgICAgICAgICB0aW1lcj1GYWtlVGltZXIoKSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkZWx0YV90aW1lLCAwKQogCisgICAgZGVmIHRlc3RfdGltZWl0X2dsb2JhbHNfYXJncyhzZWxmKToKKyAgICAgICAgZ2xvYmFsIF9nbG9iYWxfdGltZXIKKyAgICAgICAgX2dsb2JhbF90aW1lciA9IEZha2VUaW1lcigpCisgICAgICAgIHQgPSB0aW1laXQuVGltZXIoc3RtdD0nX2dsb2JhbF90aW1lci5pbmMoKScsIHRpbWVyPV9nbG9iYWxfdGltZXIpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKE5hbWVFcnJvciwgdC50aW1laXQsIG51bWJlcj0zKQorICAgICAgICB0aW1laXQudGltZWl0KHN0bXQ9J19nbG9iYWxfdGltZXIuaW5jKCknLCB0aW1lcj1fZ2xvYmFsX3RpbWVyLAorICAgICAgICAgICAgICAgICAgICAgIGdsb2JhbHM9Z2xvYmFscygpLCBudW1iZXI9MykKKyAgICAgICAgbG9jYWxfdGltZXIgPSBGYWtlVGltZXIoKQorICAgICAgICB0aW1laXQudGltZWl0KHN0bXQ9J2xvY2FsX3RpbWVyLmluYygpJywgdGltZXI9bG9jYWxfdGltZXIsCisgICAgICAgICAgICAgICAgICAgICAgZ2xvYmFscz1sb2NhbHMoKSwgbnVtYmVyPTMpCisKICAgICBkZWYgcmVwZWF0KHNlbGYsIHN0bXQsIHNldHVwLCByZXBlYXQ9Tm9uZSwgbnVtYmVyPU5vbmUpOgogICAgICAgICBzZWxmLmZha2VfdGltZXIgPSBGYWtlVGltZXIoKQogICAgICAgICB0ID0gdGltZWl0LlRpbWVyKHN0bXQ9c3RtdCwgc2V0dXA9c2V0dXAsIHRpbWVyPXNlbGYuZmFrZV90aW1lcikKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfdGltZW91dC5weSBiL0xpYi90ZXN0L3Rlc3RfdGltZW91dC5weQppbmRleCA3MDNjNDNhLi4zYzc1ZGNjIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X3RpbWVvdXQucHkKKysrIGIvTGliL3Rlc3QvdGVzdF90aW1lb3V0LnB5CkBAIC0yNDMsMTQgKzI0MywxNCBAQAogICAgIGRlZiB0ZXN0QWNjZXB0VGltZW91dChzZWxmKToKICAgICAgICAgIyBUZXN0IGFjY2VwdCgpIHRpbWVvdXQKICAgICAgICAgc3VwcG9ydC5iaW5kX3BvcnQoc2VsZi5zb2NrLCBzZWxmLmxvY2FsaG9zdCkKLSAgICAgICAgc2VsZi5zb2NrLmxpc3Rlbig1KQorICAgICAgICBzZWxmLnNvY2subGlzdGVuKCkKICAgICAgICAgc2VsZi5fc29ja19vcGVyYXRpb24oMSwgMS41LCAnYWNjZXB0JykKIAogICAgIGRlZiB0ZXN0U2VuZChzZWxmKToKICAgICAgICAgIyBUZXN0IHNlbmQoKSB0aW1lb3V0CiAgICAgICAgIHdpdGggc29ja2V0LnNvY2tldChzb2NrZXQuQUZfSU5FVCwgc29ja2V0LlNPQ0tfU1RSRUFNKSBhcyBzZXJ2OgogICAgICAgICAgICAgc3VwcG9ydC5iaW5kX3BvcnQoc2Vydiwgc2VsZi5sb2NhbGhvc3QpCi0gICAgICAgICAgICBzZXJ2Lmxpc3Rlbig1KQorICAgICAgICAgICAgc2Vydi5saXN0ZW4oKQogICAgICAgICAgICAgc2VsZi5zb2NrLmNvbm5lY3Qoc2Vydi5nZXRzb2NrbmFtZSgpKQogICAgICAgICAgICAgIyBTZW5kIGEgbG90IG9mIGRhdGEgaW4gb3JkZXIgdG8gYnlwYXNzIGJ1ZmZlcmluZyBpbiB0aGUgVENQIHN0YWNrLgogICAgICAgICAgICAgc2VsZi5fc29ja19vcGVyYXRpb24oMTAwLCAxLjUsICdzZW5kJywgYiJYIiAqIDIwMDAwMCkKQEAgLTI1OSw3ICsyNTksNyBAQAogICAgICAgICAjIFRlc3Qgc2VuZHRvKCkgdGltZW91dAogICAgICAgICB3aXRoIHNvY2tldC5zb2NrZXQoc29ja2V0LkFGX0lORVQsIHNvY2tldC5TT0NLX1NUUkVBTSkgYXMgc2VydjoKICAgICAgICAgICAgIHN1cHBvcnQuYmluZF9wb3J0KHNlcnYsIHNlbGYubG9jYWxob3N0KQotICAgICAgICAgICAgc2Vydi5saXN0ZW4oNSkKKyAgICAgICAgICAgIHNlcnYubGlzdGVuKCkKICAgICAgICAgICAgIHNlbGYuc29jay5jb25uZWN0KHNlcnYuZ2V0c29ja25hbWUoKSkKICAgICAgICAgICAgICMgVGhlIGFkZHJlc3MgYXJndW1lbnQgaXMgaWdub3JlZCBzaW5jZSB3ZSBhbHJlYWR5IGNvbm5lY3RlZC4KICAgICAgICAgICAgIHNlbGYuX3NvY2tfb3BlcmF0aW9uKDEwMCwgMS41LCAnc2VuZHRvJywgYiJYIiAqIDIwMDAwMCwKQEAgLTI2OSw3ICsyNjksNyBAQAogICAgICAgICAjIFRlc3Qgc2VuZGFsbCgpIHRpbWVvdXQKICAgICAgICAgd2l0aCBzb2NrZXQuc29ja2V0KHNvY2tldC5BRl9JTkVULCBzb2NrZXQuU09DS19TVFJFQU0pIGFzIHNlcnY6CiAgICAgICAgICAgICBzdXBwb3J0LmJpbmRfcG9ydChzZXJ2LCBzZWxmLmxvY2FsaG9zdCkKLSAgICAgICAgICAgIHNlcnYubGlzdGVuKDUpCisgICAgICAgICAgICBzZXJ2Lmxpc3RlbigpCiAgICAgICAgICAgICBzZWxmLnNvY2suY29ubmVjdChzZXJ2LmdldHNvY2tuYW1lKCkpCiAgICAgICAgICAgICAjIFNlbmQgYSBsb3Qgb2YgZGF0YSBpbiBvcmRlciB0byBieXBhc3MgYnVmZmVyaW5nIGluIHRoZSBUQ1Agc3RhY2suCiAgICAgICAgICAgICBzZWxmLl9zb2NrX29wZXJhdGlvbigxMDAsIDEuNSwgJ3NlbmRhbGwnLCBiIlgiICogMjAwMDAwKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF90b2tlbml6ZS5weSBiL0xpYi90ZXN0L3Rlc3RfdG9rZW5pemUucHkKaW5kZXggMzg2MTFhNy4uOGY3NGEwNiAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF90b2tlbml6ZS5weQorKysgYi9MaWIvdGVzdC90ZXN0X3Rva2VuaXplLnB5CkBAIC00NjQsNyArNDY0LDcgQEAKIAogTXVsdGlwbGljYXRpdmUKIAotICAgID4+PiBkdW1wX3Rva2VucygieCA9IDEvLzEqMS81KjEyJTB4MTIiKQorICAgID4+PiBkdW1wX3Rva2VucygieCA9IDEvLzEqMS81KjEyJTB4MTJANDIiKQogICAgIEVOQ09ESU5HICAgJ3V0Zi04JyAgICAgICAoMCwgMCkgKDAsIDApCiAgICAgTkFNRSAgICAgICAneCcgICAgICAgICAgICgxLCAwKSAoMSwgMSkKICAgICBPUCAgICAgICAgICc9JyAgICAgICAgICAgKDEsIDIpICgxLCAzKQpAQCAtNDc5LDYgKzQ3OSw4IEBACiAgICAgTlVNQkVSICAgICAnMTInICAgICAgICAgICgxLCAxMykgKDEsIDE1KQogICAgIE9QICAgICAgICAgJyUnICAgICAgICAgICAoMSwgMTUpICgxLCAxNikKICAgICBOVU1CRVIgICAgICcweDEyJyAgICAgICAgKDEsIDE2KSAoMSwgMjApCisgICAgT1AgICAgICAgICAnQCcgICAgICAgICAgICgxLCAyMCkgKDEsIDIxKQorICAgIE5VTUJFUiAgICAgJzQyJyAgICAgICAgICAoMSwgMjEpICgxLCAyMykKIAogVW5hcnkKIApAQCAtMTE1NCw2ICsxMTU2LDcgQEAKICAgICAgICAgc2VsZi5hc3NlcnRFeGFjdFR5cGVFcXVhbCgnLy8nLCB0b2tlbi5ET1VCTEVTTEFTSCkKICAgICAgICAgc2VsZi5hc3NlcnRFeGFjdFR5cGVFcXVhbCgnLy89JywgdG9rZW4uRE9VQkxFU0xBU0hFUVVBTCkKICAgICAgICAgc2VsZi5hc3NlcnRFeGFjdFR5cGVFcXVhbCgnQCcsIHRva2VuLkFUKQorICAgICAgICBzZWxmLmFzc2VydEV4YWN0VHlwZUVxdWFsKCdAPScsIHRva2VuLkFURVFVQUwpCiAKICAgICAgICAgc2VsZi5hc3NlcnRFeGFjdFR5cGVFcXVhbCgnYSoqMitiKioyPT1jKioyJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOQU1FLCB0b2tlbi5ET1VCTEVTVEFSLCBOVU1CRVIsCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X3RyYWNlLnB5IGIvTGliL3Rlc3QvdGVzdF90cmFjZS5weQppbmRleCAxY2VjNzEwLi4wNWJmMjc0IDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X3RyYWNlLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfdHJhY2UucHkKQEAgLTEwLDcgKzEwLDYgQEAKIAogZnJvbSB0ZXN0LnRyYWNlZG1vZHVsZXMgaW1wb3J0IHRlc3Rtb2QKIAotCiAjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBVdGlsaXRpZXMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0jCiAKIGRlZiBmaXhfZXh0X3B5KGZpbGVuYW1lKToKQEAgLTIyNCw2ICsyMjMsMTEgQEAKICAgICAgICAgc2VsZi5hZGRDbGVhbnVwKHN5cy5zZXR0cmFjZSwgc3lzLmdldHRyYWNlKCkpCiAgICAgICAgIHNlbGYudHJhY2VyID0gVHJhY2UoY291bnQ9MCwgdHJhY2U9MCwgY291bnRmdW5jcz0xKQogICAgICAgICBzZWxmLmZpbGVtb2QgPSBteV9maWxlX2FuZF9tb2RuYW1lKCkKKyAgICAgICAgc2VsZi5fc2F2ZWRfdHJhY2VmdW5jID0gc3lzLmdldHRyYWNlKCkKKworICAgIGRlZiB0ZWFyRG93bihzZWxmKToKKyAgICAgICAgaWYgc2VsZi5fc2F2ZWRfdHJhY2VmdW5jIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgc3lzLnNldHRyYWNlKHNlbGYuX3NhdmVkX3RyYWNlZnVuYykKIAogICAgIGRlZiB0ZXN0X3NpbXBsZV9jYWxsZXIoc2VsZik6CiAgICAgICAgIHNlbGYudHJhY2VyLnJ1bmZ1bmModHJhY2VkX2Z1bmNfc2ltcGxlX2NhbGxlciwgMSkKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfdHJhY2ViYWNrLnB5IGIvTGliL3Rlc3QvdGVzdF90cmFjZWJhY2sucHkKaW5kZXggYzI5NTU2My4uZDliNzNjMSAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF90cmFjZWJhY2sucHkKKysrIGIvTGliL3Rlc3QvdGVzdF90cmFjZWJhY2sucHkKQEAgLTEsMTUgKzEsMjQgQEAKICIiIlRlc3QgY2FzZXMgZm9yIHRyYWNlYmFjayBtb2R1bGUiIiIKIAorZnJvbSBjb2xsZWN0aW9ucyBpbXBvcnQgbmFtZWR0dXBsZQogZnJvbSBpbyBpbXBvcnQgU3RyaW5nSU8KK2ltcG9ydCBsaW5lY2FjaGUKIGltcG9ydCBzeXMKIGltcG9ydCB1bml0dGVzdAogaW1wb3J0IHJlCiBmcm9tIHRlc3Quc3VwcG9ydCBpbXBvcnQgcnVuX3VuaXR0ZXN0LCBFcnJvciwgY2FwdHVyZWRfb3V0cHV0CiBmcm9tIHRlc3Quc3VwcG9ydCBpbXBvcnQgVEVTVEZOLCB1bmxpbmssIGNweXRob25fb25seQorZnJvbSB0ZXN0LnNjcmlwdF9oZWxwZXIgaW1wb3J0IGFzc2VydF9weXRob25fb2sKK2ltcG9ydCB0ZXh0d3JhcAogCiBpbXBvcnQgdHJhY2ViYWNrCiAKIAordGVzdF9jb2RlID0gbmFtZWR0dXBsZSgnY29kZScsIFsnY29fZmlsZW5hbWUnLCAnY29fbmFtZSddKQordGVzdF9mcmFtZSA9IG5hbWVkdHVwbGUoJ2ZyYW1lJywgWydmX2NvZGUnLCAnZl9nbG9iYWxzJywgJ2ZfbG9jYWxzJ10pCit0ZXN0X3RiID0gbmFtZWR0dXBsZSgndGInLCBbJ3RiX2ZyYW1lJywgJ3RiX2xpbmVubycsICd0Yl9uZXh0J10pCisKKwogY2xhc3MgU3ludGF4VHJhY2ViYWNrQ2FzZXModW5pdHRlc3QuVGVzdENhc2UpOgogICAgICMgRm9yIG5vdywgYSB2ZXJ5IG1pbmltYWwgc2V0IG9mIHRlc3RzLiAgSSB3YW50IHRvIGJlIHN1cmUgdGhhdAogICAgICMgZm9ybWF0dGluZyBvZiBTeW50YXhFcnJvcnMgd29ya3MgYmFzZWQgb24gY2hhbmdlcyBmb3IgMi4xLgpAQCAtOTIsOSArMTAxLDkgQEAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oZXJyKSwgMSkKICAgICAgICAgc3RyX3ZhbHVlID0gJzx1bnByaW50YWJsZSAlcyBvYmplY3Q+JyAlIFguX19uYW1lX18KICAgICAgICAgaWYgWC5fX21vZHVsZV9fIGluICgnX19tYWluX18nLCAnYnVpbHRpbnMnKToKLSAgICAgICAgICAgIHN0cl9uYW1lID0gWC5fX25hbWVfXworICAgICAgICAgICAgc3RyX25hbWUgPSBYLl9fcXVhbG5hbWVfXwogICAgICAgICBlbHNlOgotICAgICAgICAgICAgc3RyX25hbWUgPSAnLicuam9pbihbWC5fX21vZHVsZV9fLCBYLl9fbmFtZV9fXSkKKyAgICAgICAgICAgIHN0cl9uYW1lID0gJy4nLmpvaW4oW1guX19tb2R1bGVfXywgWC5fX3F1YWxuYW1lX19dKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGVyclswXSwgIiVzOiAlc1xuIiAlIChzdHJfbmFtZSwgc3RyX3ZhbHVlKSkKIAogICAgIGRlZiB0ZXN0X3dpdGhvdXRfZXhjZXB0aW9uKHNlbGYpOgpAQCAtMTY5LDYgKzE3OCwzNyBAQAogICAgICAgICAjIElzc3VlICMxODk2MDogY29kaW5nIHNwZWMgc2hvdWxkIGhhcyBubyBlZmZlY3QKICAgICAgICAgZG9fdGVzdCgiMFxuIyBjb2Rpbmc6IEdCS1xuIiwgImhceGU5IGhvIiwgJ3V0Zi04JywgNSkKIAorICAgIGRlZiB0ZXN0X3ByaW50X3RyYWNlYmFja19hdF9leGl0KHNlbGYpOgorICAgICAgICAjIElzc3VlICMyMjU5OTogRW5zdXJlIHRoYXQgaXQgaXMgcG9zc2libGUgdG8gdXNlIHRoZSB0cmFjZWJhY2sgbW9kdWxlCisgICAgICAgICMgdG8gZGlzcGxheSBhbiBleGNlcHRpb24gYXQgUHl0aG9uIGV4aXQKKyAgICAgICAgY29kZSA9IHRleHR3cmFwLmRlZGVudCgiIiIKKyAgICAgICAgICAgIGltcG9ydCBzeXMKKyAgICAgICAgICAgIGltcG9ydCB0cmFjZWJhY2sKKworICAgICAgICAgICAgY2xhc3MgUHJpbnRFeGNlcHRpb25BdEV4aXQob2JqZWN0KToKKyAgICAgICAgICAgICAgICBkZWYgX19pbml0X18oc2VsZik6CisgICAgICAgICAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICAgICAgICAgIHggPSAxIC8gMAorICAgICAgICAgICAgICAgICAgICBleGNlcHQgRXhjZXB0aW9uOgorICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5leGNfaW5mbyA9IHN5cy5leGNfaW5mbygpCisgICAgICAgICAgICAgICAgICAgICAgICAjIHNlbGYuZXhjX2luZm9bMV0gKHRyYWNlYmFjaykgY29udGFpbnMgZnJhbWVzOgorICAgICAgICAgICAgICAgICAgICAgICAgIyBleHBsaWNpdGx5IGNsZWFyIHRoZSByZWZlcmVuY2UgdG8gc2VsZiBpbiB0aGUgY3VycmVudAorICAgICAgICAgICAgICAgICAgICAgICAgIyBmcmFtZSB0byBicmVhayBhIHJlZmVyZW5jZSBjeWNsZQorICAgICAgICAgICAgICAgICAgICAgICAgc2VsZiA9IE5vbmUKKworICAgICAgICAgICAgICAgIGRlZiBfX2RlbF9fKHNlbGYpOgorICAgICAgICAgICAgICAgICAgICB0cmFjZWJhY2sucHJpbnRfZXhjZXB0aW9uKCpzZWxmLmV4Y19pbmZvKQorCisgICAgICAgICAgICAjIEtlZXAgYSByZWZlcmVuY2UgaW4gdGhlIG1vZHVsZSBuYW1lc3BhY2UgdG8gY2FsbCB0aGUgZGVzdHJ1Y3RvcgorICAgICAgICAgICAgIyB3aGVuIHRoZSBtb2R1bGUgaXMgdW5sb2FkZWQKKyAgICAgICAgICAgIG9iaiA9IFByaW50RXhjZXB0aW9uQXRFeGl0KCkKKyAgICAgICAgIiIiKQorICAgICAgICByYywgc3Rkb3V0LCBzdGRlcnIgPSBhc3NlcnRfcHl0aG9uX29rKCctYycsIGNvZGUpCisgICAgICAgIGV4cGVjdGVkID0gW2InVHJhY2ViYWNrIChtb3N0IHJlY2VudCBjYWxsIGxhc3QpOicsCisgICAgICAgICAgICAgICAgICAgIGInICBGaWxlICI8c3RyaW5nPiIsIGxpbmUgOCwgaW4gX19pbml0X18nLAorICAgICAgICAgICAgICAgICAgICBiJ1plcm9EaXZpc2lvbkVycm9yOiBkaXZpc2lvbiBieSB6ZXJvJ10KKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdGRlcnIuc3BsaXRsaW5lcygpLCBleHBlY3RlZCkKKwogCiBjbGFzcyBUcmFjZWJhY2tGb3JtYXRUZXN0cyh1bml0dGVzdC5UZXN0Q2FzZSk6CiAKQEAgLTQ0NCw2ICs0ODQsMjQ2IEBACiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKGlubmVyX2ZyYW1lLmZfbG9jYWxzKSwgMCkKIAogCitjbGFzcyBUZXN0RnJhbWUodW5pdHRlc3QuVGVzdENhc2UpOgorCisgICAgZGVmIHRlc3RfYmFzaWNzKHNlbGYpOgorICAgICAgICBsaW5lY2FjaGUuY2xlYXJjYWNoZSgpCisgICAgICAgIGxpbmVjYWNoZS5sYXp5Y2FjaGUoImYiLCBnbG9iYWxzKCkpCisgICAgICAgIGYgPSB0cmFjZWJhY2suRnJhbWVTdW1tYXJ5KCJmIiwgMSwgImR1bW15IikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKKyAgICAgICAgICAgICgiZiIsIDEsICJkdW1teSIsICciIiJUZXN0IGNhc2VzIGZvciB0cmFjZWJhY2sgbW9kdWxlIiIiJyksCisgICAgICAgICAgICB0dXBsZShmKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChOb25lLCBmLmxvY2FscykKKworICAgIGRlZiB0ZXN0X2xhenlfbGluZXMoc2VsZik6CisgICAgICAgIGxpbmVjYWNoZS5jbGVhcmNhY2hlKCkKKyAgICAgICAgZiA9IHRyYWNlYmFjay5GcmFtZVN1bW1hcnkoImYiLCAxLCAiZHVtbXkiLCBsb29rdXBfbGluZT1GYWxzZSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChOb25lLCBmLl9saW5lKQorICAgICAgICBsaW5lY2FjaGUubGF6eWNhY2hlKCJmIiwgZ2xvYmFscygpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAorICAgICAgICAgICAgJyIiIlRlc3QgY2FzZXMgZm9yIHRyYWNlYmFjayBtb2R1bGUiIiInLAorICAgICAgICAgICAgZi5saW5lKQorCisgICAgZGVmIHRlc3RfZXhwbGljaXRfbGluZShzZWxmKToKKyAgICAgICAgZiA9IHRyYWNlYmFjay5GcmFtZVN1bW1hcnkoImYiLCAxLCAiZHVtbXkiLCBsaW5lPSJsaW5lIikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgibGluZSIsIGYubGluZSkKKworCitjbGFzcyBUZXN0U3RhY2sodW5pdHRlc3QuVGVzdENhc2UpOgorCisgICAgZGVmIHRlc3Rfd2Fsa19zdGFjayhzZWxmKToKKyAgICAgICAgcyA9IGxpc3QodHJhY2ViYWNrLndhbGtfc3RhY2soTm9uZSkpCisgICAgICAgIHNlbGYuYXNzZXJ0R3JlYXRlcihsZW4ocyksIDEwKQorCisgICAgZGVmIHRlc3Rfd2Fsa190YihzZWxmKToKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgMS8wCisgICAgICAgIGV4Y2VwdCBFeGNlcHRpb246CisgICAgICAgICAgICBfLCBfLCB0YiA9IHN5cy5leGNfaW5mbygpCisgICAgICAgIHMgPSBsaXN0KHRyYWNlYmFjay53YWxrX3RiKHRiKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4ocyksIDEpCisKKyAgICBkZWYgdGVzdF9leHRyYWN0X3N0YWNrKHNlbGYpOgorICAgICAgICBzID0gdHJhY2ViYWNrLlN0YWNrU3VtbWFyeS5leHRyYWN0KHRyYWNlYmFjay53YWxrX3N0YWNrKE5vbmUpKQorICAgICAgICBzZWxmLmFzc2VydElzSW5zdGFuY2UocywgdHJhY2ViYWNrLlN0YWNrU3VtbWFyeSkKKworICAgIGRlZiB0ZXN0X2V4dHJhY3Rfc3RhY2tfbGltaXQoc2VsZik6CisgICAgICAgIHMgPSB0cmFjZWJhY2suU3RhY2tTdW1tYXJ5LmV4dHJhY3QodHJhY2ViYWNrLndhbGtfc3RhY2soTm9uZSksIGxpbWl0PTUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKHMpLCA1KQorCisgICAgZGVmIHRlc3RfZXh0cmFjdF9zdGFja19sb29rdXBfbGluZXMoc2VsZik6CisgICAgICAgIGxpbmVjYWNoZS5jbGVhcmNhY2hlKCkKKyAgICAgICAgbGluZWNhY2hlLnVwZGF0ZWNhY2hlKCcvZm9vLnB5JywgZ2xvYmFscygpKQorICAgICAgICBjID0gdGVzdF9jb2RlKCcvZm9vLnB5JywgJ21ldGhvZCcpCisgICAgICAgIGYgPSB0ZXN0X2ZyYW1lKGMsIE5vbmUsIE5vbmUpCisgICAgICAgIHMgPSB0cmFjZWJhY2suU3RhY2tTdW1tYXJ5LmV4dHJhY3QoaXRlcihbKGYsIDYpXSksIGxvb2t1cF9saW5lcz1UcnVlKQorICAgICAgICBsaW5lY2FjaGUuY2xlYXJjYWNoZSgpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc1swXS5saW5lLCAiaW1wb3J0IHN5cyIpCisKKyAgICBkZWYgdGVzdF9leHRyYWN0X3N0YWNrdXBfZGVmZXJyZWRfbG9va3VwX2xpbmVzKHNlbGYpOgorICAgICAgICBsaW5lY2FjaGUuY2xlYXJjYWNoZSgpCisgICAgICAgIGMgPSB0ZXN0X2NvZGUoJy9mb28ucHknLCAnbWV0aG9kJykKKyAgICAgICAgZiA9IHRlc3RfZnJhbWUoYywgTm9uZSwgTm9uZSkKKyAgICAgICAgcyA9IHRyYWNlYmFjay5TdGFja1N1bW1hcnkuZXh0cmFjdChpdGVyKFsoZiwgNildKSwgbG9va3VwX2xpbmVzPUZhbHNlKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHt9LCBsaW5lY2FjaGUuY2FjaGUpCisgICAgICAgIGxpbmVjYWNoZS51cGRhdGVjYWNoZSgnL2Zvby5weScsIGdsb2JhbHMoKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzWzBdLmxpbmUsICJpbXBvcnQgc3lzIikKKworICAgIGRlZiB0ZXN0X2Zyb21fbGlzdChzZWxmKToKKyAgICAgICAgcyA9IHRyYWNlYmFjay5TdGFja1N1bW1hcnkuZnJvbV9saXN0KFsoJ2Zvby5weScsIDEsICdmcmVkJywgJ2xpbmUnKV0pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisgICAgICAgICAgICBbJyAgRmlsZSAiZm9vLnB5IiwgbGluZSAxLCBpbiBmcmVkXG4gICAgbGluZVxuJ10sCisgICAgICAgICAgICBzLmZvcm1hdCgpKQorCisgICAgZGVmIHRlc3RfZm9ybWF0X3Ntb2tlKHNlbGYpOgorICAgICAgICAjIEZvciBkZXRhaWxlZCB0ZXN0cyBzZWUgdGhlIGZvcm1hdF9saXN0IHRlc3RzLCB3aGljaCBjb25zdW1lIHRoZSBzYW1lCisgICAgICAgICMgY29kZS4KKyAgICAgICAgcyA9IHRyYWNlYmFjay5TdGFja1N1bW1hcnkuZnJvbV9saXN0KFsoJ2Zvby5weScsIDEsICdmcmVkJywgJ2xpbmUnKV0pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisgICAgICAgICAgICBbJyAgRmlsZSAiZm9vLnB5IiwgbGluZSAxLCBpbiBmcmVkXG4gICAgbGluZVxuJ10sCisgICAgICAgICAgICBzLmZvcm1hdCgpKQorCisgICAgZGVmIHRlc3RfbG9jYWxzKHNlbGYpOgorICAgICAgICBsaW5lY2FjaGUudXBkYXRlY2FjaGUoJy9mb28ucHknLCBnbG9iYWxzKCkpCisgICAgICAgIGMgPSB0ZXN0X2NvZGUoJy9mb28ucHknLCAnbWV0aG9kJykKKyAgICAgICAgZiA9IHRlc3RfZnJhbWUoYywgZ2xvYmFscygpLCB7J3NvbWV0aGluZyc6IDF9KQorICAgICAgICBzID0gdHJhY2ViYWNrLlN0YWNrU3VtbWFyeS5leHRyYWN0KGl0ZXIoWyhmLCA2KV0pLCBjYXB0dXJlX2xvY2Fscz1UcnVlKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNbMF0ubG9jYWxzLCB7J3NvbWV0aGluZyc6ICcxJ30pCisKKyAgICBkZWYgdGVzdF9ub19sb2NhbHMoc2VsZik6CisgICAgICAgIGxpbmVjYWNoZS51cGRhdGVjYWNoZSgnL2Zvby5weScsIGdsb2JhbHMoKSkKKyAgICAgICAgYyA9IHRlc3RfY29kZSgnL2Zvby5weScsICdtZXRob2QnKQorICAgICAgICBmID0gdGVzdF9mcmFtZShjLCBnbG9iYWxzKCksIHsnc29tZXRoaW5nJzogMX0pCisgICAgICAgIHMgPSB0cmFjZWJhY2suU3RhY2tTdW1tYXJ5LmV4dHJhY3QoaXRlcihbKGYsIDYpXSkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc1swXS5sb2NhbHMsIE5vbmUpCisKKyAgICBkZWYgdGVzdF9mb3JtYXRfbG9jYWxzKHNlbGYpOgorICAgICAgICBkZWYgc29tZV9pbm5lcihrLCB2KToKKyAgICAgICAgICAgIGEgPSAxCisgICAgICAgICAgICBiID0gMgorICAgICAgICAgICAgcmV0dXJuIHRyYWNlYmFjay5TdGFja1N1bW1hcnkuZXh0cmFjdCgKKyAgICAgICAgICAgICAgICB0cmFjZWJhY2sud2Fsa19zdGFjayhOb25lKSwgY2FwdHVyZV9sb2NhbHM9VHJ1ZSwgbGltaXQ9MSkKKyAgICAgICAgcyA9IHNvbWVfaW5uZXIoMywgNCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKKyAgICAgICAgICAgIFsnICBGaWxlICInICsgX19maWxlX18gKyAnIiwgbGluZSA1ODUsICcKKyAgICAgICAgICAgICAnaW4gc29tZV9pbm5lclxuJworICAgICAgICAgICAgICcgICAgdHJhY2ViYWNrLndhbGtfc3RhY2soTm9uZSksIGNhcHR1cmVfbG9jYWxzPVRydWUsIGxpbWl0PTEpXG4nCisgICAgICAgICAgICAgJyAgICBhID0gMVxuJworICAgICAgICAgICAgICcgICAgYiA9IDJcbicKKyAgICAgICAgICAgICAnICAgIGsgPSAzXG4nCisgICAgICAgICAgICAgJyAgICB2ID0gNFxuJworICAgICAgICAgICAgXSwgcy5mb3JtYXQoKSkKKworCisKK2NsYXNzIFRlc3RUcmFjZWJhY2tFeGNlcHRpb24odW5pdHRlc3QuVGVzdENhc2UpOgorCisgICAgZGVmIHRlc3Rfc21va2Uoc2VsZik6CisgICAgICAgIHRyeToKKyAgICAgICAgICAgIDEvMAorICAgICAgICBleGNlcHQgRXhjZXB0aW9uOgorICAgICAgICAgICAgZXhjX2luZm8gPSBzeXMuZXhjX2luZm8oKQorICAgICAgICAgICAgZXhjID0gdHJhY2ViYWNrLlRyYWNlYmFja0V4Y2VwdGlvbigqZXhjX2luZm8pCisgICAgICAgICAgICBleHBlY3RlZF9zdGFjayA9IHRyYWNlYmFjay5TdGFja1N1bW1hcnkuZXh0cmFjdCgKKyAgICAgICAgICAgICAgICB0cmFjZWJhY2sud2Fsa190YihleGNfaW5mb1syXSkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoTm9uZSwgZXhjLl9fY2F1c2VfXykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChOb25lLCBleGMuX19jb250ZXh0X18pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoRmFsc2UsIGV4Yy5fX3N1cHByZXNzX2NvbnRleHRfXykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChleHBlY3RlZF9zdGFjaywgZXhjLnN0YWNrKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGV4Y19pbmZvWzBdLCBleGMuZXhjX3R5cGUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyKGV4Y19pbmZvWzFdKSwgc3RyKGV4YykpCisKKyAgICBkZWYgdGVzdF9mcm9tX2V4Y2VwdGlvbihzZWxmKToKKyAgICAgICAgIyBDaGVjayBhbGwgdGhlIHBhcmFtZXRlcnMgYXJlIGFjY2VwdGVkLgorICAgICAgICBkZWYgZm9vKCk6CisgICAgICAgICAgICAxLzAKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgZm9vKCkKKyAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgorICAgICAgICAgICAgZXhjX2luZm8gPSBzeXMuZXhjX2luZm8oKQorICAgICAgICAgICAgc2VsZi5leHBlY3RlZF9zdGFjayA9IHRyYWNlYmFjay5TdGFja1N1bW1hcnkuZXh0cmFjdCgKKyAgICAgICAgICAgICAgICB0cmFjZWJhY2sud2Fsa190YihleGNfaW5mb1syXSksIGxpbWl0PTEsIGxvb2t1cF9saW5lcz1GYWxzZSwKKyAgICAgICAgICAgICAgICBjYXB0dXJlX2xvY2Fscz1UcnVlKQorICAgICAgICAgICAgc2VsZi5leGMgPSB0cmFjZWJhY2suVHJhY2ViYWNrRXhjZXB0aW9uLmZyb21fZXhjZXB0aW9uKAorICAgICAgICAgICAgICAgIGUsIGxpbWl0PTEsIGxvb2t1cF9saW5lcz1GYWxzZSwgY2FwdHVyZV9sb2NhbHM9VHJ1ZSkKKyAgICAgICAgZXhwZWN0ZWRfc3RhY2sgPSBzZWxmLmV4cGVjdGVkX3N0YWNrCisgICAgICAgIGV4YyA9IHNlbGYuZXhjCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoTm9uZSwgZXhjLl9fY2F1c2VfXykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChOb25lLCBleGMuX19jb250ZXh0X18pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoRmFsc2UsIGV4Yy5fX3N1cHByZXNzX2NvbnRleHRfXykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChleHBlY3RlZF9zdGFjaywgZXhjLnN0YWNrKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGV4Y19pbmZvWzBdLCBleGMuZXhjX3R5cGUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyKGV4Y19pbmZvWzFdKSwgc3RyKGV4YykpCisKKyAgICBkZWYgdGVzdF9jYXVzZShzZWxmKToKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIDEvMAorICAgICAgICAgICAgZmluYWxseToKKyAgICAgICAgICAgICAgICBleGNfaW5mb19jb250ZXh0ID0gc3lzLmV4Y19pbmZvKCkKKyAgICAgICAgICAgICAgICBleGNfY29udGV4dCA9IHRyYWNlYmFjay5UcmFjZWJhY2tFeGNlcHRpb24oKmV4Y19pbmZvX2NvbnRleHQpCisgICAgICAgICAgICAgICAgY2F1c2UgPSBFeGNlcHRpb24oImNhdXNlIikKKyAgICAgICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oInVoIG9oIikgZnJvbSBjYXVzZQorICAgICAgICBleGNlcHQgRXhjZXB0aW9uOgorICAgICAgICAgICAgZXhjX2luZm8gPSBzeXMuZXhjX2luZm8oKQorICAgICAgICAgICAgZXhjID0gdHJhY2ViYWNrLlRyYWNlYmFja0V4Y2VwdGlvbigqZXhjX2luZm8pCisgICAgICAgICAgICBleHBlY3RlZF9zdGFjayA9IHRyYWNlYmFjay5TdGFja1N1bW1hcnkuZXh0cmFjdCgKKyAgICAgICAgICAgICAgICB0cmFjZWJhY2sud2Fsa190YihleGNfaW5mb1syXSkpCisgICAgICAgIGV4Y19jYXVzZSA9IHRyYWNlYmFjay5UcmFjZWJhY2tFeGNlcHRpb24oRXhjZXB0aW9uLCBjYXVzZSwgTm9uZSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChleGNfY2F1c2UsIGV4Yy5fX2NhdXNlX18pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXhjX2NvbnRleHQsIGV4Yy5fX2NvbnRleHRfXykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChUcnVlLCBleGMuX19zdXBwcmVzc19jb250ZXh0X18pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXhwZWN0ZWRfc3RhY2ssIGV4Yy5zdGFjaykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChleGNfaW5mb1swXSwgZXhjLmV4Y190eXBlKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0cihleGNfaW5mb1sxXSksIHN0cihleGMpKQorCisgICAgZGVmIHRlc3RfY29udGV4dChzZWxmKToKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIDEvMAorICAgICAgICAgICAgZmluYWxseToKKyAgICAgICAgICAgICAgICBleGNfaW5mb19jb250ZXh0ID0gc3lzLmV4Y19pbmZvKCkKKyAgICAgICAgICAgICAgICBleGNfY29udGV4dCA9IHRyYWNlYmFjay5UcmFjZWJhY2tFeGNlcHRpb24oKmV4Y19pbmZvX2NvbnRleHQpCisgICAgICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKCJ1aCBvaCIpCisgICAgICAgIGV4Y2VwdCBFeGNlcHRpb246CisgICAgICAgICAgICBleGNfaW5mbyA9IHN5cy5leGNfaW5mbygpCisgICAgICAgICAgICBleGMgPSB0cmFjZWJhY2suVHJhY2ViYWNrRXhjZXB0aW9uKCpleGNfaW5mbykKKyAgICAgICAgICAgIGV4cGVjdGVkX3N0YWNrID0gdHJhY2ViYWNrLlN0YWNrU3VtbWFyeS5leHRyYWN0KAorICAgICAgICAgICAgICAgIHRyYWNlYmFjay53YWxrX3RiKGV4Y19pbmZvWzJdKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChOb25lLCBleGMuX19jYXVzZV9fKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGV4Y19jb250ZXh0LCBleGMuX19jb250ZXh0X18pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoRmFsc2UsIGV4Yy5fX3N1cHByZXNzX2NvbnRleHRfXykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChleHBlY3RlZF9zdGFjaywgZXhjLnN0YWNrKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGV4Y19pbmZvWzBdLCBleGMuZXhjX3R5cGUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyKGV4Y19pbmZvWzFdKSwgc3RyKGV4YykpCisKKyAgICBkZWYgdGVzdF9saW1pdChzZWxmKToKKyAgICAgICAgZGVmIHJlY3Vyc2Uobik6CisgICAgICAgICAgICBpZiBuOgorICAgICAgICAgICAgICAgIHJlY3Vyc2Uobi0xKQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAxLzAKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgcmVjdXJzZSgxMCkKKyAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbjoKKyAgICAgICAgICAgIGV4Y19pbmZvID0gc3lzLmV4Y19pbmZvKCkKKyAgICAgICAgICAgIGV4YyA9IHRyYWNlYmFjay5UcmFjZWJhY2tFeGNlcHRpb24oKmV4Y19pbmZvLCBsaW1pdD01KQorICAgICAgICAgICAgZXhwZWN0ZWRfc3RhY2sgPSB0cmFjZWJhY2suU3RhY2tTdW1tYXJ5LmV4dHJhY3QoCisgICAgICAgICAgICAgICAgdHJhY2ViYWNrLndhbGtfdGIoZXhjX2luZm9bMl0pLCBsaW1pdD01KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGV4cGVjdGVkX3N0YWNrLCBleGMuc3RhY2spCisKKyAgICBkZWYgdGVzdF9sb29rdXBfbGluZXMoc2VsZik6CisgICAgICAgIGxpbmVjYWNoZS5jbGVhcmNhY2hlKCkKKyAgICAgICAgZSA9IEV4Y2VwdGlvbigidWggb2giKQorICAgICAgICBjID0gdGVzdF9jb2RlKCcvZm9vLnB5JywgJ21ldGhvZCcpCisgICAgICAgIGYgPSB0ZXN0X2ZyYW1lKGMsIE5vbmUsIE5vbmUpCisgICAgICAgIHRiID0gdGVzdF90YihmLCA2LCBOb25lKQorICAgICAgICBleGMgPSB0cmFjZWJhY2suVHJhY2ViYWNrRXhjZXB0aW9uKEV4Y2VwdGlvbiwgZSwgdGIsIGxvb2t1cF9saW5lcz1GYWxzZSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh7fSwgbGluZWNhY2hlLmNhY2hlKQorICAgICAgICBsaW5lY2FjaGUudXBkYXRlY2FjaGUoJy9mb28ucHknLCBnbG9iYWxzKCkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXhjLnN0YWNrWzBdLmxpbmUsICJpbXBvcnQgc3lzIikKKworICAgIGRlZiB0ZXN0X2xvY2FscyhzZWxmKToKKyAgICAgICAgbGluZWNhY2hlLnVwZGF0ZWNhY2hlKCcvZm9vLnB5JywgZ2xvYmFscygpKQorICAgICAgICBlID0gRXhjZXB0aW9uKCJ1aCBvaCIpCisgICAgICAgIGMgPSB0ZXN0X2NvZGUoJy9mb28ucHknLCAnbWV0aG9kJykKKyAgICAgICAgZiA9IHRlc3RfZnJhbWUoYywgZ2xvYmFscygpLCB7J3NvbWV0aGluZyc6IDEsICdvdGhlcic6ICdzdHJpbmcnfSkKKyAgICAgICAgdGIgPSB0ZXN0X3RiKGYsIDYsIE5vbmUpCisgICAgICAgIGV4YyA9IHRyYWNlYmFjay5UcmFjZWJhY2tFeGNlcHRpb24oCisgICAgICAgICAgICBFeGNlcHRpb24sIGUsIHRiLCBjYXB0dXJlX2xvY2Fscz1UcnVlKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAorICAgICAgICAgICAgZXhjLnN0YWNrWzBdLmxvY2Fscywgeydzb21ldGhpbmcnOiAnMScsICdvdGhlcic6ICInc3RyaW5nJyJ9KQorCisgICAgZGVmIHRlc3Rfbm9fbG9jYWxzKHNlbGYpOgorICAgICAgICBsaW5lY2FjaGUudXBkYXRlY2FjaGUoJy9mb28ucHknLCBnbG9iYWxzKCkpCisgICAgICAgIGUgPSBFeGNlcHRpb24oInVoIG9oIikKKyAgICAgICAgYyA9IHRlc3RfY29kZSgnL2Zvby5weScsICdtZXRob2QnKQorICAgICAgICBmID0gdGVzdF9mcmFtZShjLCBnbG9iYWxzKCksIHsnc29tZXRoaW5nJzogMX0pCisgICAgICAgIHRiID0gdGVzdF90YihmLCA2LCBOb25lKQorICAgICAgICBleGMgPSB0cmFjZWJhY2suVHJhY2ViYWNrRXhjZXB0aW9uKEV4Y2VwdGlvbiwgZSwgdGIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXhjLnN0YWNrWzBdLmxvY2FscywgTm9uZSkKKworCiBkZWYgdGVzdF9tYWluKCk6CiAgICAgcnVuX3VuaXR0ZXN0KF9fbmFtZV9fKQogCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X3RyYWNlbWFsbG9jLnB5IGIvTGliL3Rlc3QvdGVzdF90cmFjZW1hbGxvYy5weQppbmRleCA0OGNjYWIyLi4xOWQzZmQ4IDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X3RyYWNlbWFsbG9jLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfdHJhY2VtYWxsb2MucHkKQEAgLTc1NSw3ICs3NTUsNyBAQAogICAgICAgICBzdGRvdXQgPSBzdGRvdXQucnN0cmlwKCkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdGRvdXQsIGInRmFsc2UnKQogCi0gICAgQHVuaXR0ZXN0LnNraXBJZihzY3JpcHRfaGVscGVyLl9pbnRlcnByZXRlcl9yZXF1aXJlc19lbnZpcm9ubWVudCgpLAorICAgIEB1bml0dGVzdC5za2lwSWYoc2NyaXB0X2hlbHBlci5pbnRlcnByZXRlcl9yZXF1aXJlc19lbnZpcm9ubWVudCgpLAogICAgICAgICAgICAgICAgICAgICAgJ0Nhbm5vdCBydW4gLUUgdGVzdHMgd2hlbiBQWVRIT04gZW52IHZhcnMgYXJlIHJlcXVpcmVkLicpCiAgICAgZGVmIHRlc3RfZW52X3Zhcl9pZ25vcmVkX3dpdGhfRShzZWxmKToKICAgICAgICAgIiIiUFlUSE9OKiBlbnZpcm9ubWVudCB2YXJpYWJsZXMgbXVzdCBiZSBpZ25vcmVkIHdoZW4gLUUgaXMgcHJlc2VudC4iIiIKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfdHVwbGUucHkgYi9MaWIvdGVzdC90ZXN0X3R1cGxlLnB5CmluZGV4IDUxODc1YTEuLmQ3MTExMTYgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfdHVwbGUucHkKKysrIGIvTGliL3Rlc3QvdGVzdF90dXBsZS5weQpAQCAtNiw2ICs2LDExIEBACiBjbGFzcyBUdXBsZVRlc3Qoc2VxX3Rlc3RzLkNvbW1vblRlc3QpOgogICAgIHR5cGUydGVzdCA9IHR1cGxlCiAKKyAgICBkZWYgdGVzdF9nZXRpdGVtX2Vycm9yKHNlbGYpOgorICAgICAgICBtc2cgPSAidHVwbGUgaW5kaWNlcyBtdXN0IGJlIGludGVnZXJzIG9yIHNsaWNlcyIKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlc1JlZ2V4KFR5cGVFcnJvciwgbXNnKToKKyAgICAgICAgICAgICgpWydhJ10KKwogICAgIGRlZiB0ZXN0X2NvbnN0cnVjdG9ycyhzZWxmKToKICAgICAgICAgc3VwZXIoKS50ZXN0X2NvbnN0cnVjdG9ycygpCiAgICAgICAgICMgY2FsbGluZyBidWlsdC1pbiB0eXBlcyB3aXRob3V0IGFyZ3VtZW50IG11c3QgcmV0dXJuIGVtcHR5CkBAIC0yMDMsNiArMjA4LDE0IEBACiAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yKToKICAgICAgICAgICAgIFszLF0gKyBUKCgxLDIpKQogCisgICAgZGVmIHRlc3RfbGV4aWNvZ3JhcGhpY19vcmRlcmluZyhzZWxmKToKKyAgICAgICAgIyBJc3N1ZSAyMTEwMAorICAgICAgICBhID0gc2VsZi50eXBlMnRlc3QoWzEsIDJdKQorICAgICAgICBiID0gc2VsZi50eXBlMnRlc3QoWzEsIDIsIDBdKQorICAgICAgICBjID0gc2VsZi50eXBlMnRlc3QoWzEsIDNdKQorICAgICAgICBzZWxmLmFzc2VydExlc3MoYSwgYikKKyAgICAgICAgc2VsZi5hc3NlcnRMZXNzKGIsIGMpCisKIGRlZiB0ZXN0X21haW4oKToKICAgICBzdXBwb3J0LnJ1bl91bml0dGVzdChUdXBsZVRlc3QpCiAKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfdHlwZXMucHkgYi9MaWIvdGVzdC90ZXN0X3R5cGVzLnB5CmluZGV4IGVjMTA3NTIuLjExZDk1NDYgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfdHlwZXMucHkKKysrIGIvTGliL3Rlc3QvdGVzdF90eXBlcy5weQpAQCAtMzQzLDYgKzM0Myw4IEBACiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIDMgLl9fZm9ybWF0X18sICIsbiIpCiAgICAgICAgICMgY2FuJ3QgaGF2ZSAnLCcgd2l0aCAnYycKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgMyAuX19mb3JtYXRfXywgIixjIikKKyAgICAgICAgIyBjYW4ndCBoYXZlICcjJyB3aXRoICdjJworICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCAzIC5fX2Zvcm1hdF9fLCAiI2MiKQogCiAgICAgICAgICMgZW5zdXJlIHRoYXQgb25seSBpbnQgYW5kIGZsb2F0IHR5cGUgc3BlY2lmaWVycyB3b3JrCiAgICAgICAgIGZvciBmb3JtYXRfc3BlYyBpbiAoW2Nocih4KSBmb3IgeCBpbiByYW5nZShvcmQoJ2EnKSwgb3JkKCd6JykrMSldICsKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfdW5pY29kZS5weSBiL0xpYi90ZXN0L3Rlc3RfdW5pY29kZS5weQppbmRleCA3NzM1YTZiLi5lNGNkOTliIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X3VuaWNvZGUucHkKKysrIGIvTGliL3Rlc3QvdGVzdF91bmljb2RlLnB5CkBAIC04LDYgKzgsNyBAQAogaW1wb3J0IF9zdHJpbmcKIGltcG9ydCBjb2RlY3MKIGltcG9ydCBpdGVydG9vbHMKK2ltcG9ydCBvcGVyYXRvcgogaW1wb3J0IHN0cnVjdAogaW1wb3J0IHN5cwogaW1wb3J0IHVuaXR0ZXN0CkBAIC0yNTAsNiArMjUxLDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge29yZCgnYScpOiBOb25lLCBvcmQoJ2InKTogJyd9KQogICAgICAgICBzZWxmLmNoZWNrZXF1YWxub2ZpeCgneHl5eCcsICd4engnLCAndHJhbnNsYXRlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge29yZCgneicpOiAneXknfSkKKwogICAgICAgICAjIHRoaXMgbmVlZHMgbWFrZXRyYW5zKCkKICAgICAgICAgc2VsZi5jaGVja2VxdWFsbm9maXgoJ2FiYWJhYmMnLCAnYWJhYmFiYycsICd0cmFuc2xhdGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7J2InOiAnPGk+J30pCkBAIC0yNTksNiArMjYxLDMzIEBACiAgICAgICAgIHRibCA9IHNlbGYudHlwZTJ0ZXN0Lm1ha2V0cmFucygnYWJjJywgJ3h5eicsICdkJykKICAgICAgICAgc2VsZi5jaGVja2VxdWFsbm9maXgoJ3h5enp5JywgJ2FiZGNkY2JkZGRkJywgJ3RyYW5zbGF0ZScsIHRibCkKIAorICAgICAgICAjIHZhcmlvdXMgdGVzdHMgc3dpdGNoaW5nIGZyb20gQVNDSUkgdG8gbGF0aW4xIG9yIHRoZSBvcHBvc2l0ZTsKKyAgICAgICAgIyBzYW1lIGxlbmd0aCwgcmVtb3ZlIGEgbGV0dGVyLCBvciByZXBsYWNlIHdpdGggYSBsb25nZXIgc3RyaW5nLgorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCJbYV0iLnRyYW5zbGF0ZShzdHIubWFrZXRyYW5zKCdhJywgJ1gnKSksCisgICAgICAgICAgICAgICAgICAgICAgICAgIltYXSIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoIlthXSIudHJhbnNsYXRlKHN0ci5tYWtldHJhbnMoeydhJzogJ1gnfSkpLAorICAgICAgICAgICAgICAgICAgICAgICAgICJbWF0iKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCJbYV0iLnRyYW5zbGF0ZShzdHIubWFrZXRyYW5zKHsnYSc6IE5vbmV9KSksCisgICAgICAgICAgICAgICAgICAgICAgICAgIltdIikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgiW2FdIi50cmFuc2xhdGUoc3RyLm1ha2V0cmFucyh7J2EnOiAnWFhYJ30pKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAiW1hYWF0iKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCJbYV0iLnRyYW5zbGF0ZShzdHIubWFrZXRyYW5zKHsnYSc6ICdceGU5J30pKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAiW1x4ZTldIikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgiW2FdIi50cmFuc2xhdGUoc3RyLm1ha2V0cmFucyh7J2EnOiAnPFx4ZTk+J30pKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAiWzxceGU5Pl0iKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCJbXHhlOV0iLnRyYW5zbGF0ZShzdHIubWFrZXRyYW5zKHsnXHhlOSc6ICdhJ30pKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAiW2FdIikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgiW1x4ZTldIi50cmFuc2xhdGUoc3RyLm1ha2V0cmFucyh7J1x4ZTknOiBOb25lfSkpLAorICAgICAgICAgICAgICAgICAgICAgICAgICJbXSIpCisKKyAgICAgICAgIyBpbnZhbGlkIFVuaWNvZGUgY2hhcmFjdGVycworICAgICAgICBpbnZhbGlkX2NoYXIgPSAweDEwZmZmZisxCisgICAgICAgIGZvciBiZWZvcmUgaW4gImFceGU5XHUyMGFjXFUwMDEwZmZmZiI6CisgICAgICAgICAgICBtYXBwaW5nID0gc3RyLm1ha2V0cmFucyh7YmVmb3JlOiBpbnZhbGlkX2NoYXJ9KQorICAgICAgICAgICAgdGV4dCA9ICJbJXNdIiAlIGJlZm9yZQorICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgdGV4dC50cmFuc2xhdGUsIG1hcHBpbmcpCisKKyAgICAgICAgIyBlcnJvcnMKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBzZWxmLnR5cGUydGVzdC5tYWtldHJhbnMpCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIHNlbGYudHlwZTJ0ZXN0Lm1ha2V0cmFucywgJ2FiYycsICdkZWZnJykKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBzZWxmLnR5cGUydGVzdC5tYWtldHJhbnMsIDIsICdkZWYnKQpAQCAtMTE1NCwyMCArMTE4MywyMCBAQAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCclLjJzJyAlICJhXHhlOVx1MjBhYyIsICdhXHhlOScpCiAKICAgICAgICAgI2lzc3VlIDE5OTk1Ci0gICAgICAgIGNsYXNzIFBzdWVkb0ludDoKKyAgICAgICAgY2xhc3MgUHNldWRvSW50OgogICAgICAgICAgICAgZGVmIF9faW5pdF9fKHNlbGYsIHZhbHVlKToKICAgICAgICAgICAgICAgICBzZWxmLnZhbHVlID0gaW50KHZhbHVlKQogICAgICAgICAgICAgZGVmIF9faW50X18oc2VsZik6CiAgICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYudmFsdWUKICAgICAgICAgICAgIGRlZiBfX2luZGV4X18oc2VsZik6CiAgICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYudmFsdWUKLSAgICAgICAgY2xhc3MgUHN1ZWRvRmxvYXQ6CisgICAgICAgIGNsYXNzIFBzZXVkb0Zsb2F0OgogICAgICAgICAgICAgZGVmIF9faW5pdF9fKHNlbGYsIHZhbHVlKToKICAgICAgICAgICAgICAgICBzZWxmLnZhbHVlID0gZmxvYXQodmFsdWUpCiAgICAgICAgICAgICBkZWYgX19pbnRfXyhzZWxmKToKICAgICAgICAgICAgICAgICByZXR1cm4gaW50KHNlbGYudmFsdWUpCi0gICAgICAgIHBpID0gUHN1ZWRvRmxvYXQoMy4xNDE1KQotICAgICAgICBsZXR0ZXJfbSA9IFBzdWVkb0ludCgxMDkpCisgICAgICAgIHBpID0gUHNldWRvRmxvYXQoMy4xNDE1KQorICAgICAgICBsZXR0ZXJfbSA9IFBzZXVkb0ludCgxMDkpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJyV4JyAlIDQyLCAnMmEnKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCclWCcgJSAxNSwgJ0YnKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCclbycgJSA5LCAnMTEnKQpAQCAtMTE3NiwxMSArMTIwNSwxMSBAQAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCclWCcgJSBsZXR0ZXJfbSwgJzZEJykKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgnJW8nICUgbGV0dGVyX20sICcxNTUnKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCclYycgJSBsZXR0ZXJfbSwgJ20nKQotICAgICAgICBzZWxmLmFzc2VydFdhcm5zKERlcHJlY2F0aW9uV2FybmluZywgJyV4Jy5fX21vZF9fLCBwaSksCi0gICAgICAgIHNlbGYuYXNzZXJ0V2FybnMoRGVwcmVjYXRpb25XYXJuaW5nLCAnJXgnLl9fbW9kX18sIDMuMTQpLAotICAgICAgICBzZWxmLmFzc2VydFdhcm5zKERlcHJlY2F0aW9uV2FybmluZywgJyVYJy5fX21vZF9fLCAyLjExKSwKLSAgICAgICAgc2VsZi5hc3NlcnRXYXJucyhEZXByZWNhdGlvbldhcm5pbmcsICclbycuX19tb2RfXywgMS43OSksCi0gICAgICAgIHNlbGYuYXNzZXJ0V2FybnMoRGVwcmVjYXRpb25XYXJuaW5nLCAnJWMnLl9fbW9kX18sIHBpKSwKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXNSZWdleChUeXBlRXJyb3IsICcleCBmb3JtYXQ6IGFuIGludGVnZXIgaXMgcmVxdWlyZWQsIG5vdCBmbG9hdCcsIG9wZXJhdG9yLm1vZCwgJyV4JywgMy4xNCksCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoVHlwZUVycm9yLCAnJVggZm9ybWF0OiBhbiBpbnRlZ2VyIGlzIHJlcXVpcmVkLCBub3QgZmxvYXQnLCBvcGVyYXRvci5tb2QsICclWCcsIDIuMTEpLAorICAgICAgICBzZWxmLmFzc2VydFJhaXNlc1JlZ2V4KFR5cGVFcnJvciwgJyVvIGZvcm1hdDogYW4gaW50ZWdlciBpcyByZXF1aXJlZCwgbm90IGZsb2F0Jywgb3BlcmF0b3IubW9kLCAnJW8nLCAxLjc5KSwKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXNSZWdleChUeXBlRXJyb3IsICcleCBmb3JtYXQ6IGFuIGludGVnZXIgaXMgcmVxdWlyZWQsIG5vdCBQc2V1ZG9GbG9hdCcsIG9wZXJhdG9yLm1vZCwgJyV4JywgcGkpLAorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIG9wZXJhdG9yLm1vZCwgJyVjJywgcGkpLAogCiAgICAgZGVmIHRlc3RfZm9ybWF0dGluZ193aXRoX2VudW0oc2VsZik6CiAgICAgICAgICMgaXNzdWUxODc4MApkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF91bmljb2RlZGF0YS5weSBiL0xpYi90ZXN0L3Rlc3RfdW5pY29kZWRhdGEucHkKaW5kZXggNzA3YjMwZS4uZjg3ODhhMCAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF91bmljb2RlZGF0YS5weQorKysgYi9MaWIvdGVzdC90ZXN0X3VuaWNvZGVkYXRhLnB5CkBAIC0yMSw3ICsyMSw3IEBACiBjbGFzcyBVbmljb2RlTWV0aG9kc1Rlc3QodW5pdHRlc3QuVGVzdENhc2UpOgogCiAgICAgIyB1cGRhdGUgdGhpcywgaWYgdGhlIGRhdGFiYXNlIGNoYW5nZXMKLSAgICBleHBlY3RlZGNoZWNrc3VtID0gJ2U3NGU4NzhkZTcxYjZlNzgwZmZhYzI3MTc4NWMzY2I1OGY2MjUxZjMnCisgICAgZXhwZWN0ZWRjaGVja3N1bSA9ICc2MThlMmMxYTIyZWU3OWQyMjM1MzE5NzA5ZjE2YzUwZjk4N2VlMjFmJwogCiAgICAgZGVmIHRlc3RfbWV0aG9kX2NoZWNrc3VtKHNlbGYpOgogICAgICAgICBoID0gaGFzaGxpYi5zaGExKCkKQEAgLTc5LDggKzc5LDkgQEAKIAogY2xhc3MgVW5pY29kZUZ1bmN0aW9uc1Rlc3QoVW5pY29kZURhdGFiYXNlVGVzdCk6CiAKLSAgICAjIHVwZGF0ZSB0aGlzLCBpZiB0aGUgZGF0YWJhc2UgY2hhbmdlcwotICAgIGV4cGVjdGVkY2hlY2tzdW0gPSAnZjBiNzRkMjY3NzYzMzFjYzdiZGMzYTQ2OThmMDM3ZDczZjJjZWUyYicKKyAgICAjIFVwZGF0ZSB0aGlzIGlmIHRoZSBkYXRhYmFzZSBjaGFuZ2VzLiBNYWtlIHN1cmUgdG8gZG8gYSBmdWxsIHJlYnVpbGQKKyAgICAjIChlLmcuICdtYWtlIGRpc3RjbGVhbiAmJiBtYWtlJykgdG8gZ2V0IHRoZSBjb3JyZWN0IGNoZWNrc3VtLgorICAgIGV4cGVjdGVkY2hlY2tzdW0gPSAnNTg1MzAyODk1ZGVlYWQwYzFjODQ3OGM1MWRhOTI0MWQ0ZWZlZGNhOScKICAgICBkZWYgdGVzdF9mdW5jdGlvbl9jaGVja3N1bShzZWxmKToKICAgICAgICAgZGF0YSA9IFtdCiAgICAgICAgIGggPSBoYXNobGliLnNoYTEoKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF91cmxsaWIucHkgYi9MaWIvdGVzdC90ZXN0X3VybGxpYi5weQppbmRleCAxNjIzNmVmLi41OGNhMmE1IDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X3VybGxpYi5weQorKysgYi9MaWIvdGVzdC90ZXN0X3VybGxpYi5weQpAQCAtMTAsNyArMTAsMTAgQEAKIGZyb20gdW5pdHRlc3QubW9jayBpbXBvcnQgcGF0Y2gKIGZyb20gdGVzdCBpbXBvcnQgc3VwcG9ydAogaW1wb3J0IG9zCi1pbXBvcnQgc3NsCit0cnk6CisgICAgaW1wb3J0IHNzbAorZXhjZXB0IEltcG9ydEVycm9yOgorICAgIHNzbCA9IE5vbmUKIGltcG9ydCBzeXMKIGltcG9ydCB0ZW1wZmlsZQogZnJvbSBudHVybDJwYXRoIGltcG9ydCB1cmwycGF0aG5hbWUsIHBhdGhuYW1lMnVybApAQCAtMzgwLDYgKzM4Myw3IEBACiAgICAgICAgIHdpdGggc3VwcG9ydC5jaGVja193YXJuaW5ncygoJycsRGVwcmVjYXRpb25XYXJuaW5nKSk6CiAgICAgICAgICAgICB1cmxsaWIucmVxdWVzdC5VUkxvcGVuZXIoKQogCisgICAgQHVuaXR0ZXN0LnNraXBVbmxlc3Moc3NsLCAic3NsIG1vZHVsZSByZXF1aXJlZCIpCiAgICAgZGVmIHRlc3RfY2FmaWxlX2FuZF9jb250ZXh0KHNlbGYpOgogICAgICAgICBjb250ZXh0ID0gc3NsLmNyZWF0ZV9kZWZhdWx0X2NvbnRleHQoKQogICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IpOgpAQCAtMTMzMSw3ICsxMzM1LDcgQEAKICMgICAgIHNlcnYuc2V0dGltZW91dCgzKQogIyAgICAgc2Vydi5zZXRzb2Nrb3B0KHNvY2tldC5TT0xfU09DS0VULCBzb2NrZXQuU09fUkVVU0VBRERSLCAxKQogIyAgICAgc2Vydi5iaW5kKCgiIiwgOTA5MykpCi0jICAgICBzZXJ2Lmxpc3Rlbig1KQorIyAgICAgc2Vydi5saXN0ZW4oKQogIyAgICAgdHJ5OgogIyAgICAgICAgIGNvbm4sIGFkZHIgPSBzZXJ2LmFjY2VwdCgpCiAjICAgICAgICAgY29ubi5zZW5kKCIxIEhvbGEgbXVuZG9cbiIpCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X3VybGxpYjIucHkgYi9MaWIvdGVzdC90ZXN0X3VybGxpYjIucHkKaW5kZXggN2Q0MWVhMS4uMzZkN2U4NyAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF91cmxsaWIyLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfdXJsbGliMi5weQpAQCAtMTQyMiw2ICsxNDIyLDIxIEBACiAgICAgICAgICAgICBoYW5kbGVyLmRvX29wZW4oY29ubiwgcmVxKQogICAgICAgICBzZWxmLmFzc2VydFRydWUoY29ubi5mYWtlc29jay5jbG9zZWQsICJDb25uZWN0aW9uIG5vdCBjbG9zZWQiKQogCisgICAgZGVmIHRlc3RfYXV0aF9wcmlvcl9oYW5kbGVyKHNlbGYpOgorICAgICAgICBwd2RfbWFuYWdlciA9IE1vY2tQYXNzd29yZE1hbmFnZXIoKQorICAgICAgICBwd2RfbWFuYWdlci5hZGRfcGFzc3dvcmQoTm9uZSwgJ2h0dHBzOi8vZXhhbXBsZS5jb20nLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NvbWVib2R5JywgJ3ZlcnlzZWNyZXQnKQorICAgICAgICBhdXRoX3ByaW9yX2hhbmRsZXIgPSB1cmxsaWIucmVxdWVzdC5IVFRQQmFzaWNQcmlvckF1dGhIYW5kbGVyKAorICAgICAgICAgICAgcHdkX21hbmFnZXIpCisgICAgICAgIGh0dHBfaGFuZCA9IE1vY2tIVFRQU0hhbmRsZXIoKQorCisgICAgICAgIG9wZW5lciA9IE9wZW5lckRpcmVjdG9yKCkKKyAgICAgICAgb3BlbmVyLmFkZF9oYW5kbGVyKGh0dHBfaGFuZCkKKyAgICAgICAgb3BlbmVyLmFkZF9oYW5kbGVyKGF1dGhfcHJpb3JfaGFuZGxlcikKKworICAgICAgICByZXEgPSBSZXF1ZXN0KCJodHRwczovL2V4YW1wbGUuY29tIikKKyAgICAgICAgb3BlbmVyLm9wZW4ocmVxKQorICAgICAgICBzZWxmLmFzc2VydE5vdEluKCdBdXRob3JpemF0aW9uJywgaHR0cF9oYW5kLmh0dHBjb25uLnJlcV9oZWFkZXJzKQogCiBjbGFzcyBNaXNjVGVzdHModW5pdHRlc3QuVGVzdENhc2UpOgogCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X3VybGxpYm5ldC5weSBiL0xpYi90ZXN0L3Rlc3RfdXJsbGlibmV0LnB5CmluZGV4IDRjOGJhMmQuLjQyZWJiNmUgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfdXJsbGlibmV0LnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfdXJsbGlibmV0LnB5CkBAIC05MSw3ICs5MSw4IEBACiAgICAgICAgICMgdGVzdCBnZXRjb2RlKCkgd2l0aCB0aGUgZmFuY3kgb3BlbmVyIHRvIGdldCA0MDQgZXJyb3IgY29kZXMKICAgICAgICAgVVJMID0gImh0dHA6Ly93d3cuZXhhbXBsZS5jb20vWFhYaW52YWxpZFhYWCIKICAgICAgICAgd2l0aCBzdXBwb3J0LnRyYW5zaWVudF9pbnRlcm5ldChVUkwpOgotICAgICAgICAgICAgb3Blbl91cmwgPSB1cmxsaWIucmVxdWVzdC5GYW5jeVVSTG9wZW5lcigpLm9wZW4oVVJMKQorICAgICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFdhcm5zKERlcHJlY2F0aW9uV2FybmluZyk6CisgICAgICAgICAgICAgICAgb3Blbl91cmwgPSB1cmxsaWIucmVxdWVzdC5GYW5jeVVSTG9wZW5lcigpLm9wZW4oVVJMKQogICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgIGNvZGUgPSBvcGVuX3VybC5nZXRjb2RlKCkKICAgICAgICAgICAgIGZpbmFsbHk6CmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X3VybHBhcnNlLnB5IGIvTGliL3Rlc3QvdGVzdF91cmxwYXJzZS5weQppbmRleCBhZDk4MjBiLi4wNDgxZjBiIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X3VybHBhcnNlLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfdXJscGFyc2UucHkKQEAgLTIxMCwxMCArMjEwLDYgQEAKIAogICAgICAgICAjICJhYm5vcm1hbCIgY2FzZXMgZnJvbSBSRkMgMTgwODoKICAgICAgICAgc2VsZi5jaGVja0pvaW4oUkZDMTgwOF9CQVNFLCAnJywgJ2h0dHA6Ly9hL2IvYy9kO3A/cSNmJykKLSAgICAgICAgc2VsZi5jaGVja0pvaW4oUkZDMTgwOF9CQVNFLCAnLi4vLi4vLi4vZycsICdodHRwOi8vYS8uLi9nJykKLSAgICAgICAgc2VsZi5jaGVja0pvaW4oUkZDMTgwOF9CQVNFLCAnLi4vLi4vLi4vLi4vZycsICdodHRwOi8vYS8uLi8uLi9nJykKLSAgICAgICAgc2VsZi5jaGVja0pvaW4oUkZDMTgwOF9CQVNFLCAnLy4vZycsICdodHRwOi8vYS8uL2cnKQotICAgICAgICBzZWxmLmNoZWNrSm9pbihSRkMxODA4X0JBU0UsICcvLi4vZycsICdodHRwOi8vYS8uLi9nJykKICAgICAgICAgc2VsZi5jaGVja0pvaW4oUkZDMTgwOF9CQVNFLCAnZy4nLCAnaHR0cDovL2EvYi9jL2cuJykKICAgICAgICAgc2VsZi5jaGVja0pvaW4oUkZDMTgwOF9CQVNFLCAnLmcnLCAnaHR0cDovL2EvYi9jLy5nJykKICAgICAgICAgc2VsZi5jaGVja0pvaW4oUkZDMTgwOF9CQVNFLCAnZy4uJywgJ2h0dHA6Ly9hL2IvYy9nLi4nKQpAQCAtMjI4LDYgKzIyNCwxMyBAQAogICAgICAgICAjc2VsZi5jaGVja0pvaW4oUkZDMTgwOF9CQVNFLCAnaHR0cDpnJywgJ2h0dHA6ZycpCiAgICAgICAgICNzZWxmLmNoZWNrSm9pbihSRkMxODA4X0JBU0UsICdodHRwOicsICdodHRwOicpCiAKKyAgICAgICAgIyBYWFg6IFRoZSBmb2xsb3dpbmcgdGVzdHMgYXJlIG5vIGxvbmdlciBjb21wYXRpYmxlIHdpdGggUkZDMzk4NgorICAgICAgICAjIHNlbGYuY2hlY2tKb2luKFJGQzE4MDhfQkFTRSwgJy4uLy4uLy4uL2cnLCAnaHR0cDovL2EvLi4vZycpCisgICAgICAgICMgc2VsZi5jaGVja0pvaW4oUkZDMTgwOF9CQVNFLCAnLi4vLi4vLi4vLi4vZycsICdodHRwOi8vYS8uLi8uLi9nJykKKyAgICAgICAgIyBzZWxmLmNoZWNrSm9pbihSRkMxODA4X0JBU0UsICcvLi9nJywgJ2h0dHA6Ly9hLy4vZycpCisgICAgICAgICMgc2VsZi5jaGVja0pvaW4oUkZDMTgwOF9CQVNFLCAnLy4uL2cnLCAnaHR0cDovL2EvLi4vZycpCisKKwogICAgIGRlZiB0ZXN0X1JGQzIzNjgoc2VsZik6CiAgICAgICAgICMgSXNzdWUgMTE0Njc6IHBhdGggdGhhdCBzdGFydHMgd2l0aCBhIG51bWJlciBpcyBub3QgcGFyc2VkIGNvcnJlY3RseQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHVybGxpYi5wYXJzZS51cmxwYXJzZSgnbWFpbHRvOjEzMzdAZXhhbXBsZS5vcmcnKSwKQEAgLTI1OCwxMCArMjYxLDYgQEAKICAgICAgICAgc2VsZi5jaGVja0pvaW4oUkZDMjM5Nl9CQVNFLCAnLi4vLi4vJywgJ2h0dHA6Ly9hLycpCiAgICAgICAgIHNlbGYuY2hlY2tKb2luKFJGQzIzOTZfQkFTRSwgJy4uLy4uL2cnLCAnaHR0cDovL2EvZycpCiAgICAgICAgIHNlbGYuY2hlY2tKb2luKFJGQzIzOTZfQkFTRSwgJycsIFJGQzIzOTZfQkFTRSkKLSAgICAgICAgc2VsZi5jaGVja0pvaW4oUkZDMjM5Nl9CQVNFLCAnLi4vLi4vLi4vZycsICdodHRwOi8vYS8uLi9nJykKLSAgICAgICAgc2VsZi5jaGVja0pvaW4oUkZDMjM5Nl9CQVNFLCAnLi4vLi4vLi4vLi4vZycsICdodHRwOi8vYS8uLi8uLi9nJykKLSAgICAgICAgc2VsZi5jaGVja0pvaW4oUkZDMjM5Nl9CQVNFLCAnLy4vZycsICdodHRwOi8vYS8uL2cnKQotICAgICAgICBzZWxmLmNoZWNrSm9pbihSRkMyMzk2X0JBU0UsICcvLi4vZycsICdodHRwOi8vYS8uLi9nJykKICAgICAgICAgc2VsZi5jaGVja0pvaW4oUkZDMjM5Nl9CQVNFLCAnZy4nLCAnaHR0cDovL2EvYi9jL2cuJykKICAgICAgICAgc2VsZi5jaGVja0pvaW4oUkZDMjM5Nl9CQVNFLCAnLmcnLCAnaHR0cDovL2EvYi9jLy5nJykKICAgICAgICAgc2VsZi5jaGVja0pvaW4oUkZDMjM5Nl9CQVNFLCAnZy4uJywgJ2h0dHA6Ly9hL2IvYy9nLi4nKQpAQCAtMjc3LDEwICsyNzYsMTcgQEAKICAgICAgICAgc2VsZi5jaGVja0pvaW4oUkZDMjM5Nl9CQVNFLCAnZyNzLy4veCcsICdodHRwOi8vYS9iL2MvZyNzLy4veCcpCiAgICAgICAgIHNlbGYuY2hlY2tKb2luKFJGQzIzOTZfQkFTRSwgJ2cjcy8uLi94JywgJ2h0dHA6Ly9hL2IvYy9nI3MvLi4veCcpCiAKKyAgICAgICAgIyBYWFg6IFRoZSBmb2xsb3dpbmcgdGVzdHMgYXJlIG5vIGxvbmdlciBjb21wYXRpYmxlIHdpdGggUkZDMzk4NgorICAgICAgICAjIHNlbGYuY2hlY2tKb2luKFJGQzIzOTZfQkFTRSwgJy4uLy4uLy4uL2cnLCAnaHR0cDovL2EvLi4vZycpCisgICAgICAgICMgc2VsZi5jaGVja0pvaW4oUkZDMjM5Nl9CQVNFLCAnLi4vLi4vLi4vLi4vZycsICdodHRwOi8vYS8uLi8uLi9nJykKKyAgICAgICAgIyBzZWxmLmNoZWNrSm9pbihSRkMyMzk2X0JBU0UsICcvLi9nJywgJ2h0dHA6Ly9hLy4vZycpCisgICAgICAgICMgc2VsZi5jaGVja0pvaW4oUkZDMjM5Nl9CQVNFLCAnLy4uL2cnLCAnaHR0cDovL2EvLi4vZycpCisKKwogICAgIGRlZiB0ZXN0X1JGQzM5ODYoc2VsZik6CiAgICAgICAgICMgVGVzdCBjYXNlcyBmcm9tIFJGQzM5ODYKICAgICAgICAgc2VsZi5jaGVja0pvaW4oUkZDMzk4Nl9CQVNFLCAnP3knLCdodHRwOi8vYS9iL2MvZDtwP3knKQotICAgICAgICBzZWxmLmNoZWNrSm9pbihSRkMyMzk2X0JBU0UsICc7eCcsICdodHRwOi8vYS9iL2MvO3gnKQorICAgICAgICBzZWxmLmNoZWNrSm9pbihSRkMzOTg2X0JBU0UsICc7eCcsICdodHRwOi8vYS9iL2MvO3gnKQogICAgICAgICBzZWxmLmNoZWNrSm9pbihSRkMzOTg2X0JBU0UsICdnOmgnLCdnOmgnKQogICAgICAgICBzZWxmLmNoZWNrSm9pbihSRkMzOTg2X0JBU0UsICdnJywnaHR0cDovL2EvYi9jL2cnKQogICAgICAgICBzZWxmLmNoZWNrSm9pbihSRkMzOTg2X0JBU0UsICcuL2cnLCdodHRwOi8vYS9iL2MvZycpCkBAIC0zMDQsMTcgKzMxMCwxNyBAQAogICAgICAgICBzZWxmLmNoZWNrSm9pbihSRkMzOTg2X0JBU0UsICcuLi8uLicsJ2h0dHA6Ly9hLycpCiAgICAgICAgIHNlbGYuY2hlY2tKb2luKFJGQzM5ODZfQkFTRSwgJy4uLy4uLycsJ2h0dHA6Ly9hLycpCiAgICAgICAgIHNlbGYuY2hlY2tKb2luKFJGQzM5ODZfQkFTRSwgJy4uLy4uL2cnLCdodHRwOi8vYS9nJykKKyAgICAgICAgc2VsZi5jaGVja0pvaW4oUkZDMzk4Nl9CQVNFLCAnLi4vLi4vLi4vZycsICdodHRwOi8vYS9nJykKIAogICAgICAgICAjQWJub3JtYWwgRXhhbXBsZXMKIAogICAgICAgICAjIFRoZSAnYWJub3JtYWwgc2NlbmFyaW9zJyBhcmUgaW5jb21wYXRpYmxlIHdpdGggUkZDMjk4NiBwYXJzaW5nCiAgICAgICAgICMgVGVzdHMgYXJlIGhlcmUgZm9yIHJlZmVyZW5jZS4KIAotICAgICAgICAjc2VsZi5jaGVja0pvaW4oUkZDMzk4Nl9CQVNFLCAnLi4vLi4vLi4vZycsJ2h0dHA6Ly9hL2cnKQotICAgICAgICAjc2VsZi5jaGVja0pvaW4oUkZDMzk4Nl9CQVNFLCAnLi4vLi4vLi4vLi4vZycsJ2h0dHA6Ly9hL2cnKQotICAgICAgICAjc2VsZi5jaGVja0pvaW4oUkZDMzk4Nl9CQVNFLCAnLy4vZycsJ2h0dHA6Ly9hL2cnKQotICAgICAgICAjc2VsZi5jaGVja0pvaW4oUkZDMzk4Nl9CQVNFLCAnLy4uL2cnLCdodHRwOi8vYS9nJykKLQorICAgICAgICBzZWxmLmNoZWNrSm9pbihSRkMzOTg2X0JBU0UsICcuLi8uLi8uLi9nJywnaHR0cDovL2EvZycpCisgICAgICAgIHNlbGYuY2hlY2tKb2luKFJGQzM5ODZfQkFTRSwgJy4uLy4uLy4uLy4uL2cnLCdodHRwOi8vYS9nJykKKyAgICAgICAgc2VsZi5jaGVja0pvaW4oUkZDMzk4Nl9CQVNFLCAnLy4vZycsJ2h0dHA6Ly9hL2cnKQorICAgICAgICBzZWxmLmNoZWNrSm9pbihSRkMzOTg2X0JBU0UsICcvLi4vZycsJ2h0dHA6Ly9hL2cnKQogICAgICAgICBzZWxmLmNoZWNrSm9pbihSRkMzOTg2X0JBU0UsICdnLicsJ2h0dHA6Ly9hL2IvYy9nLicpCiAgICAgICAgIHNlbGYuY2hlY2tKb2luKFJGQzM5ODZfQkFTRSwgJy5nJywnaHR0cDovL2EvYi9jLy5nJykKICAgICAgICAgc2VsZi5jaGVja0pvaW4oUkZDMzk4Nl9CQVNFLCAnZy4uJywnaHR0cDovL2EvYi9jL2cuLicpCkBAIC0zNTQsMTAgKzM2MCw4IEBACiAgICAgICAgIHNlbGYuY2hlY2tKb2luKFNJTVBMRV9CQVNFLCAnLi4vZycsJ2h0dHA6Ly9hL2IvZycpCiAgICAgICAgIHNlbGYuY2hlY2tKb2luKFNJTVBMRV9CQVNFLCAnLi4vLi4nLCdodHRwOi8vYS8nKQogICAgICAgICBzZWxmLmNoZWNrSm9pbihTSU1QTEVfQkFTRSwgJy4uLy4uL2cnLCdodHRwOi8vYS9nJykKLSAgICAgICAgc2VsZi5jaGVja0pvaW4oU0lNUExFX0JBU0UsICcuLi8uLi8uLi9nJywnaHR0cDovL2EvLi4vZycpCiAgICAgICAgIHNlbGYuY2hlY2tKb2luKFNJTVBMRV9CQVNFLCAnLi8uLi9nJywnaHR0cDovL2EvYi9nJykKICAgICAgICAgc2VsZi5jaGVja0pvaW4oU0lNUExFX0JBU0UsICcuL2cvLicsJ2h0dHA6Ly9hL2IvYy9nLycpCi0gICAgICAgIHNlbGYuY2hlY2tKb2luKFNJTVBMRV9CQVNFLCAnLy4vZycsJ2h0dHA6Ly9hLy4vZycpCiAgICAgICAgIHNlbGYuY2hlY2tKb2luKFNJTVBMRV9CQVNFLCAnZy8uL2gnLCdodHRwOi8vYS9iL2MvZy9oJykKICAgICAgICAgc2VsZi5jaGVja0pvaW4oU0lNUExFX0JBU0UsICdnLy4uL2gnLCdodHRwOi8vYS9iL2MvaCcpCiAgICAgICAgIHNlbGYuY2hlY2tKb2luKFNJTVBMRV9CQVNFLCAnaHR0cDpnJywnaHR0cDovL2EvYi9jL2cnKQpAQCAtMzcxLDYgKzM3NSwyMiBAQAogICAgICAgICBzZWxmLmNoZWNrSm9pbignc3ZuOi8vcGF0aHRvcmVwby9kaXIxJywgJ2RpcjInLCAnc3ZuOi8vcGF0aHRvcmVwby9kaXIyJykKICAgICAgICAgc2VsZi5jaGVja0pvaW4oJ3N2bitzc2g6Ly9wYXRodG9yZXBvL2RpcjEnLCAnZGlyMicsICdzdm4rc3NoOi8vcGF0aHRvcmVwby9kaXIyJykKIAorICAgICAgICAjIFhYWDogVGhlIGZvbGxvd2luZyB0ZXN0cyBhcmUgbm8gbG9uZ2VyIGNvbXBhdGlibGUgd2l0aCBSRkMzOTg2CisgICAgICAgICMgc2VsZi5jaGVja0pvaW4oU0lNUExFX0JBU0UsICcuLi8uLi8uLi9nJywnaHR0cDovL2EvLi4vZycpCisgICAgICAgICMgc2VsZi5jaGVja0pvaW4oU0lNUExFX0JBU0UsICcvLi9nJywnaHR0cDovL2EvLi9nJykKKworICAgICAgICAjIHRlc3QgZm9yIGlzc3VlMjIxMTggZHVwbGljYXRlIHNsYXNoZXMKKyAgICAgICAgc2VsZi5jaGVja0pvaW4oU0lNUExFX0JBU0UgKyAnLycsICdmb28nLCBTSU1QTEVfQkFTRSArICcvZm9vJykKKworICAgICAgICAjIE5vbi1SRkMtZGVmaW5lZCB0ZXN0cywgY292ZXJpbmcgdmFyaWF0aW9ucyBvZiBiYXNlIGFuZCB0cmFpbGluZworICAgICAgICAjIHNsYXNoZXMKKyAgICAgICAgc2VsZi5jaGVja0pvaW4oJ2h0dHA6Ly9hL2IvYy9kL2UvJywgJy4uLy4uL2YvZy8nLCAnaHR0cDovL2EvYi9jL2YvZy8nKQorICAgICAgICBzZWxmLmNoZWNrSm9pbignaHR0cDovL2EvYi9jL2QvZScsICcuLi8uLi9mL2cvJywgJ2h0dHA6Ly9hL2IvZi9nLycpCisgICAgICAgIHNlbGYuY2hlY2tKb2luKCdodHRwOi8vYS9iL2MvZC9lLycsICcvLi4vLi4vZi9nLycsICdodHRwOi8vYS9mL2cvJykKKyAgICAgICAgc2VsZi5jaGVja0pvaW4oJ2h0dHA6Ly9hL2IvYy9kL2UnLCAnLy4uLy4uL2YvZy8nLCAnaHR0cDovL2EvZi9nLycpCisgICAgICAgIHNlbGYuY2hlY2tKb2luKCdodHRwOi8vYS9iL2MvZC9lLycsICcuLi8uLi9mL2cnLCAnaHR0cDovL2EvYi9jL2YvZycpCisgICAgICAgIHNlbGYuY2hlY2tKb2luKCdodHRwOi8vYS9iLycsICcuLi8uLi9mL2cvJywgJ2h0dHA6Ly9hL2YvZy8nKQorCiAgICAgZGVmIHRlc3RfUkZDMjczMihzZWxmKToKICAgICAgICAgc3RyX2Nhc2VzID0gWwogICAgICAgICAgICAgKCdodHRwOi8vVGVzdC5weXRob24ub3JnOjU0MzIvZm9vLycsICd0ZXN0LnB5dGhvbi5vcmcnLCA1NDMyKSwKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfdXVpZC5weSBiL0xpYi90ZXN0L3Rlc3RfdXVpZC5weQppbmRleCAxZThjYmEzLi5mY2I4NDU0IDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X3V1aWQucHkKKysrIGIvTGliL3Rlc3QvdGVzdF91dWlkLnB5CkBAIC0xLDkgKzEsMTAgQEAKLWltcG9ydCB1bml0dGVzdAoraW1wb3J0IHVuaXR0ZXN0Lm1vY2sKIGZyb20gdGVzdCBpbXBvcnQgc3VwcG9ydAogaW1wb3J0IGJ1aWx0aW5zCiBpbXBvcnQgaW8KIGltcG9ydCBvcwogaW1wb3J0IHNodXRpbAoraW1wb3J0IHN1YnByb2Nlc3MKIGltcG9ydCB1dWlkCiAKIGRlZiBpbXBvcnRhYmxlKG5hbWUpOgpAQCAtNDEyLDI4ICs0MTMsMjcgQEAKIGNsYXNzIFRlc3RJbnRlcm5hbHModW5pdHRlc3QuVGVzdENhc2UpOgogICAgIEB1bml0dGVzdC5za2lwVW5sZXNzKG9zLm5hbWUgPT0gJ3Bvc2l4JywgJ3JlcXVpcmVzIFBvc2l4JykKICAgICBkZWYgdGVzdF9maW5kX21hYyhzZWxmKToKLSAgICAgICAgZGF0YSA9ICcnJ1wKLQorICAgICAgICBkYXRhID0gJycnCiBmYWtlIGh3YWRkcgogY3Njb3R1bjAgIExpbmsgZW5jYXA6VU5TUEVDICBIV2FkZHIgMDAtMDAtMDAtMDAtMDAtMDAtMDAtMDAtMDAtMDAtMDAtMDAtMDAtMDAtMDAtMDAKIGV0aDAgICAgICBMaW5rIGVuY2FwOkV0aGVybmV0ICBIV2FkZHIgMTI6MzQ6NTY6Nzg6OTA6YWIKICcnJwotICAgICAgICBkZWYgbW9ja19wb3BlbihjbWQpOgotICAgICAgICAgICAgcmV0dXJuIGlvLlN0cmluZ0lPKGRhdGEpCiAKLSAgICAgICAgaWYgc2h1dGlsLndoaWNoKCdpZmNvbmZpZycpIGlzIE5vbmU6Ci0gICAgICAgICAgICBwYXRoID0gb3MucGF0aHNlcC5qb2luKCgnL3NiaW4nLCAnL3Vzci9zYmluJykpCi0gICAgICAgICAgICBpZiBzaHV0aWwud2hpY2goJ2lmY29uZmlnJywgcGF0aD1wYXRoKSBpcyBOb25lOgotICAgICAgICAgICAgICAgIHNlbGYuc2tpcFRlc3QoJ3JlcXVpcmVzIGlmY29uZmlnJykKKyAgICAgICAgcG9wZW4gPSB1bml0dGVzdC5tb2NrLk1hZ2ljTW9jaygpCisgICAgICAgIHBvcGVuLnN0ZG91dCA9IGlvLkJ5dGVzSU8oZGF0YS5lbmNvZGUoKSkKIAotICAgICAgICB3aXRoIHN1cHBvcnQuc3dhcF9hdHRyKG9zLCAncG9wZW4nLCBtb2NrX3BvcGVuKToKLSAgICAgICAgICAgIG1hYyA9IHV1aWQuX2ZpbmRfbWFjKAotICAgICAgICAgICAgICAgIGNvbW1hbmQ9J2lmY29uZmlnJywKLSAgICAgICAgICAgICAgICBhcmdzPScnLAotICAgICAgICAgICAgICAgIGh3X2lkZW50aWZpZXJzPVsnaHdhZGRyJ10sCi0gICAgICAgICAgICAgICAgZ2V0X2luZGV4PWxhbWJkYSB4OiB4ICsgMSwKLSAgICAgICAgICAgICkKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobWFjLCAweDEyMzQ1Njc4OTBhYikKKyAgICAgICAgd2l0aCB1bml0dGVzdC5tb2NrLnBhdGNoLm9iamVjdChzaHV0aWwsICd3aGljaCcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuX3ZhbHVlPScvc2Jpbi9pZmNvbmZpZycpOgorICAgICAgICAgICAgd2l0aCB1bml0dGVzdC5tb2NrLnBhdGNoLm9iamVjdChzdWJwcm9jZXNzLCAnUG9wZW4nLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm5fdmFsdWU9cG9wZW4pOgorICAgICAgICAgICAgICAgIG1hYyA9IHV1aWQuX2ZpbmRfbWFjKAorICAgICAgICAgICAgICAgICAgICBjb21tYW5kPSdpZmNvbmZpZycsCisgICAgICAgICAgICAgICAgICAgIGFyZ3M9JycsCisgICAgICAgICAgICAgICAgICAgIGh3X2lkZW50aWZpZXJzPVtiJ2h3YWRkciddLAorICAgICAgICAgICAgICAgICAgICBnZXRfaW5kZXg9bGFtYmRhIHg6IHggKyAxLAorICAgICAgICAgICAgICAgICkKKworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1hYywgMHgxMjM0NTY3ODkwYWIpCiAKICAgICBkZWYgY2hlY2tfbm9kZShzZWxmLCBub2RlLCByZXF1aXJlcz1Ob25lLCBuZXR3b3JrPUZhbHNlKToKICAgICAgICAgaWYgcmVxdWlyZXMgYW5kIG5vZGUgaXMgTm9uZToKQEAgLTQ1NCw2ICs0NTQsMTEgQEAKICAgICAgICAgc2VsZi5jaGVja19ub2RlKG5vZGUsICdpZmNvbmZpZycsIFRydWUpCiAKICAgICBAdW5pdHRlc3Quc2tpcFVubGVzcyhvcy5uYW1lID09ICdwb3NpeCcsICdyZXF1aXJlcyBQb3NpeCcpCisgICAgZGVmIHRlc3RfaXBfZ2V0bm9kZShzZWxmKToKKyAgICAgICAgbm9kZSA9IHV1aWQuX2lwX2dldG5vZGUoKQorICAgICAgICBzZWxmLmNoZWNrX25vZGUobm9kZSwgJ2lwJywgVHJ1ZSkKKworICAgIEB1bml0dGVzdC5za2lwVW5sZXNzKG9zLm5hbWUgPT0gJ3Bvc2l4JywgJ3JlcXVpcmVzIFBvc2l4JykKICAgICBkZWYgdGVzdF9hcnBfZ2V0bm9kZShzZWxmKToKICAgICAgICAgbm9kZSA9IHV1aWQuX2FycF9nZXRub2RlKCkKICAgICAgICAgc2VsZi5jaGVja19ub2RlKG5vZGUsICdhcnAnLCBUcnVlKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF93YWl0My5weSBiL0xpYi90ZXN0L3Rlc3Rfd2FpdDMucHkKaW5kZXggZjZhMDY1ZC4uYmI3MTQ4MSAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF93YWl0My5weQorKysgYi9MaWIvdGVzdC90ZXN0X3dhaXQzLnB5CkBAIC0xOCw3ICsxOCw4IEBACiAgICAgICAgICMgVGhpcyBtYW55IGl0ZXJhdGlvbnMgY2FuIGJlIHJlcXVpcmVkLCBzaW5jZSBzb21lIHByZXZpb3VzbHkgcnVuCiAgICAgICAgICMgdGVzdHMgKGUuZy4gdGVzdF9jdHlwZXMpIGNvdWxkIGhhdmUgc3Bhd25lZCBhIGxvdCBvZiBjaGlsZHJlbgogICAgICAgICAjIHZlcnkgcXVpY2tseS4KLSAgICAgICAgZm9yIGkgaW4gcmFuZ2UoMzApOgorICAgICAgICBkZWFkbGluZSA9IHRpbWUubW9ub3RvbmljKCkgKyAxMC4wCisgICAgICAgIHdoaWxlIHRpbWUubW9ub3RvbmljKCkgPD0gZGVhZGxpbmU6CiAgICAgICAgICAgICAjIHdhaXQzKCkgc2hvdWxkbid0IGhhbmcsIGJ1dCBzb21lIG9mIHRoZSBidWlsZGJvdHMgc2VlbSB0byBoYW5nCiAgICAgICAgICAgICAjIGluIHRoZSBmb3JraW5nIHRlc3RzLiAgVGhpcyBpcyBhbiBhdHRlbXB0IHRvIGZpeCB0aGUgcHJvYmxlbS4KICAgICAgICAgICAgIHNwaWQsIHN0YXR1cywgcnVzYWdlID0gb3Mud2FpdDMob3MuV05PSEFORykKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3Rfd2FpdDQucHkgYi9MaWIvdGVzdC90ZXN0X3dhaXQ0LnB5CmluZGV4IDM1MmMxMWEuLmI0MjdhOWIgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3Rfd2FpdDQucHkKKysrIGIvTGliL3Rlc3QvdGVzdF93YWl0NC5weQpAQCAtMTksMTMgKzE5LDE0IEBACiAgICAgICAgICAgICAjIElzc3VlICMxMTE4NTogd2FpdDQgaXMgYnJva2VuIG9uIEFJWCBhbmQgd2lsbCBhbHdheXMgcmV0dXJuIDAKICAgICAgICAgICAgICMgd2l0aCBXTk9IQU5HLgogICAgICAgICAgICAgb3B0aW9uID0gMAotICAgICAgICBmb3IgaSBpbiByYW5nZSgxMCk6CisgICAgICAgIGRlYWRsaW5lID0gdGltZS5tb25vdG9uaWMoKSArIDEwLjAKKyAgICAgICAgd2hpbGUgdGltZS5tb25vdG9uaWMoKSA8PSBkZWFkbGluZToKICAgICAgICAgICAgICMgd2FpdDQoKSBzaG91bGRuJ3QgaGFuZywgYnV0IHNvbWUgb2YgdGhlIGJ1aWxkYm90cyBzZWVtIHRvIGhhbmcKICAgICAgICAgICAgICMgaW4gdGhlIGZvcmtpbmcgdGVzdHMuICBUaGlzIGlzIGFuIGF0dGVtcHQgdG8gZml4IHRoZSBwcm9ibGVtLgogICAgICAgICAgICAgc3BpZCwgc3RhdHVzLCBydXNhZ2UgPSBvcy53YWl0NChjcGlkLCBvcHRpb24pCiAgICAgICAgICAgICBpZiBzcGlkID09IGNwaWQ6CiAgICAgICAgICAgICAgICAgYnJlYWsKLSAgICAgICAgICAgIHRpbWUuc2xlZXAoMS4wKQorICAgICAgICAgICAgdGltZS5zbGVlcCgwLjEpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3BpZCwgY3BpZCkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdGF0dXMsIDAsICJjYXVzZSA9ICVkLCBleGl0ID0gJWQiICUgKHN0YXR1cyYweGZmLCBzdGF0dXM+PjgpKQogICAgICAgICBzZWxmLmFzc2VydFRydWUocnVzYWdlKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF93YXJuaW5ncy5weSBiL0xpYi90ZXN0L3Rlc3Rfd2FybmluZ3MucHkKaW5kZXggZmIwMWI4My4uOWFjMjEzOSAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF93YXJuaW5ncy5weQorKysgYi9MaWIvdGVzdC90ZXN0X3dhcm5pbmdzLnB5CkBAIC01LDcgKzUsNyBAQAogaW1wb3J0IHN5cwogaW1wb3J0IHVuaXR0ZXN0CiBmcm9tIHRlc3QgaW1wb3J0IHN1cHBvcnQKLWZyb20gdGVzdC5zY3JpcHRfaGVscGVyIGltcG9ydCBhc3NlcnRfcHl0aG9uX29rCitmcm9tIHRlc3Quc2NyaXB0X2hlbHBlciBpbXBvcnQgYXNzZXJ0X3B5dGhvbl9vaywgYXNzZXJ0X3B5dGhvbl9mYWlsdXJlCiAKIGZyb20gdGVzdCBpbXBvcnQgd2FybmluZ190ZXN0cwogCkBAIC00MzIsNiArNDMyLDQxIEBACiAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvcik6CiAgICAgICAgICAgICBzZWxmLm1vZHVsZS53YXJuKEJhZFN0cldhcm5pbmcoKSkKIAorICAgIGRlZiB0ZXN0X3dhcm5pbmdfY2xhc3NlcyhzZWxmKToKKyAgICAgICAgY2xhc3MgTXlXYXJuaW5nQ2xhc3MoV2FybmluZyk6CisgICAgICAgICAgICBwYXNzCisKKyAgICAgICAgY2xhc3MgTm9uV2FybmluZ1N1YmNsYXNzOgorICAgICAgICAgICAgcGFzcworCisgICAgICAgICMgcGFzc2luZyBhIG5vbi1zdWJjbGFzcyBvZiBXYXJuaW5nIHNob3VsZCByYWlzZSBhIFR5cGVFcnJvcgorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvcikgYXMgY206CisgICAgICAgICAgICBzZWxmLm1vZHVsZS53YXJuKCdiYWQgd2FybmluZyBjYXRlZ29yeScsICcnKQorICAgICAgICBzZWxmLmFzc2VydEluKCdjYXRlZ29yeSBtdXN0IGJlIGEgV2FybmluZyBzdWJjbGFzcywgbm90ICcsCisgICAgICAgICAgICAgICAgICAgICAgc3RyKGNtLmV4Y2VwdGlvbikpCisKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IpIGFzIGNtOgorICAgICAgICAgICAgc2VsZi5tb2R1bGUud2FybignYmFkIHdhcm5pbmcgY2F0ZWdvcnknLCBOb25XYXJuaW5nU3ViY2xhc3MpCisgICAgICAgIHNlbGYuYXNzZXJ0SW4oJ2NhdGVnb3J5IG11c3QgYmUgYSBXYXJuaW5nIHN1YmNsYXNzLCBub3QgJywKKyAgICAgICAgICAgICAgICAgICAgICBzdHIoY20uZXhjZXB0aW9uKSkKKworICAgICAgICAjIGNoZWNrIHRoYXQgd2FybmluZyBpbnN0YW5jZXMgYWxzbyByYWlzZSBhIFR5cGVFcnJvcgorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvcikgYXMgY206CisgICAgICAgICAgICBzZWxmLm1vZHVsZS53YXJuKCdiYWQgd2FybmluZyBjYXRlZ29yeScsIE15V2FybmluZ0NsYXNzKCkpCisgICAgICAgIHNlbGYuYXNzZXJ0SW4oJ2NhdGVnb3J5IG11c3QgYmUgYSBXYXJuaW5nIHN1YmNsYXNzLCBub3QgJywKKyAgICAgICAgICAgICAgICAgICAgICBzdHIoY20uZXhjZXB0aW9uKSkKKworICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0V2FybnMoTXlXYXJuaW5nQ2xhc3MpIGFzIGNtOgorICAgICAgICAgICAgc2VsZi5tb2R1bGUud2FybignZ29vZCB3YXJuaW5nIGNhdGVnb3J5JywgTXlXYXJuaW5nQ2xhc3MpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJ2dvb2Qgd2FybmluZyBjYXRlZ29yeScsIHN0cihjbS53YXJuaW5nKSkKKworICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0V2FybnMoVXNlcldhcm5pbmcpIGFzIGNtOgorICAgICAgICAgICAgc2VsZi5tb2R1bGUud2FybignZ29vZCB3YXJuaW5nIGNhdGVnb3J5JywgTm9uZSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgnZ29vZCB3YXJuaW5nIGNhdGVnb3J5Jywgc3RyKGNtLndhcm5pbmcpKQorCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRXYXJucyhNeVdhcm5pbmdDbGFzcykgYXMgY206CisgICAgICAgICAgICBzZWxmLm1vZHVsZS53YXJuKCdnb29kIHdhcm5pbmcgY2F0ZWdvcnknLCBNeVdhcm5pbmdDbGFzcykKKyAgICAgICAgc2VsZi5hc3NlcnRJc0luc3RhbmNlKGNtLndhcm5pbmcsIFdhcm5pbmcpCiAKIGNsYXNzIENXYXJuVGVzdHMoV2FyblRlc3RzLCB1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgbW9kdWxlID0gY193YXJuaW5ncwpAQCAtODIxLDcgKzg1NiwxOSBAQAogICAgICAgICAgICAgImltcG9ydCBzeXM7IHN5cy5zdGRvdXQud3JpdGUoc3RyKHN5cy53YXJub3B0aW9ucykpIiwKICAgICAgICAgICAgIFBZVEhPTldBUk5JTkdTPSJpZ25vcmU6OkRlcHJlY2F0aW9uV2FybmluZyIpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3Rkb3V0LAotICAgICAgICAgICAgYiJbJ2lnbm9yZTo6VW5pY29kZVdhcm5pbmcnLCAnaWdub3JlOjpEZXByZWNhdGlvbldhcm5pbmcnXSIpCisgICAgICAgICAgICBiIlsnaWdub3JlOjpEZXByZWNhdGlvbldhcm5pbmcnLCAnaWdub3JlOjpVbmljb2RlV2FybmluZyddIikKKworICAgIGRlZiB0ZXN0X2NvbmZsaWN0aW5nX2VudnZhcl9hbmRfY29tbWFuZF9saW5lKHNlbGYpOgorICAgICAgICByYywgc3Rkb3V0LCBzdGRlcnIgPSBhc3NlcnRfcHl0aG9uX2ZhaWx1cmUoIi1XZXJyb3I6OkRlcHJlY2F0aW9uV2FybmluZyIsICItYyIsCisgICAgICAgICAgICAiaW1wb3J0IHN5cywgd2FybmluZ3M7IHN5cy5zdGRvdXQud3JpdGUoc3RyKHN5cy53YXJub3B0aW9ucykpOyAiCisgICAgICAgICAgICAid2FybmluZ3Mud2FybignTWVzc2FnZScsIERlcHJlY2F0aW9uV2FybmluZykiLAorICAgICAgICAgICAgUFlUSE9OV0FSTklOR1M9ImRlZmF1bHQ6OkRlcHJlY2F0aW9uV2FybmluZyIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3Rkb3V0LAorICAgICAgICAgICAgYiJbJ2RlZmF1bHQ6OkRlcHJlY2F0aW9uV2FybmluZycsICdlcnJvcjo6RGVwcmVjYXRpb25XYXJuaW5nJ10iKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0ZGVyci5zcGxpdGxpbmVzKCksCisgICAgICAgICAgICBbYiJUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6IiwKKyAgICAgICAgICAgICBiIiAgRmlsZSBcIjxzdHJpbmc+XCIsIGxpbmUgMSwgaW4gPG1vZHVsZT4iLAorICAgICAgICAgICAgIGIiRGVwcmVjYXRpb25XYXJuaW5nOiBNZXNzYWdlIl0pCiAKICAgICBAdW5pdHRlc3Quc2tpcFVubGVzcyhzeXMuZ2V0ZmlsZXN5c3RlbWVuY29kaW5nKCkgIT0gJ2FzY2lpJywKICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZXMgbm9uLWFzY2lpIGZpbGVzeXN0ZW1lbmNvZGluZycpCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X3dlYWtyZWYucHkgYi9MaWIvdGVzdC90ZXN0X3dlYWtyZWYucHkKaW5kZXggM2U3MzQ3Yy4uZTczNTM3NiAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF93ZWFrcmVmLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3Rfd2Vha3JlZi5weQpAQCAtOTIsNiArOTIsMTggQEAKICAgICAgICAgc2VsZi5jaGVja19iYXNpY19jYWxsYmFjayhjcmVhdGVfZnVuY3Rpb24pCiAgICAgICAgIHNlbGYuY2hlY2tfYmFzaWNfY2FsbGJhY2soY3JlYXRlX2JvdW5kX21ldGhvZCkKIAorICAgIEBzdXBwb3J0LmNweXRob25fb25seQorICAgIGRlZiB0ZXN0X2NmdW5jdGlvbihzZWxmKToKKyAgICAgICAgaW1wb3J0IF90ZXN0Y2FwaQorICAgICAgICBjcmVhdGVfY2Z1bmN0aW9uID0gX3Rlc3RjYXBpLmNyZWF0ZV9jZnVuY3Rpb24KKyAgICAgICAgZiA9IGNyZWF0ZV9jZnVuY3Rpb24oKQorICAgICAgICB3ciA9IHdlYWtyZWYucmVmKGYpCisgICAgICAgIHNlbGYuYXNzZXJ0SXMod3IoKSwgZikKKyAgICAgICAgZGVsIGYKKyAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUod3IoKSkKKyAgICAgICAgc2VsZi5jaGVja19iYXNpY19yZWYoY3JlYXRlX2NmdW5jdGlvbikKKyAgICAgICAgc2VsZi5jaGVja19iYXNpY19jYWxsYmFjayhjcmVhdGVfY2Z1bmN0aW9uKQorCiAgICAgZGVmIHRlc3RfbXVsdGlwbGVfY2FsbGJhY2tzKHNlbGYpOgogICAgICAgICBvID0gQygpCiAgICAgICAgIHJlZjEgPSB3ZWFrcmVmLnJlZihvLCBzZWxmLmNhbGxiYWNrKQpAQCAtMTU3NCw2ICsxNTg2LDE0IEBACiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKGQpLCAwKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNvdW50LCAyKQogCisgICAgZGVmIHRlc3RfbWFrZV93ZWFrX3ZhbHVlZF9kaWN0X3JlcHIoc2VsZik6CisgICAgICAgIGRpY3QgPSB3ZWFrcmVmLldlYWtWYWx1ZURpY3Rpb25hcnkoKQorICAgICAgICBzZWxmLmFzc2VydFJlZ2V4KHJlcHIoZGljdCksICc8V2Vha1ZhbHVlRGljdGlvbmFyeSBhdCAweC4qPicpCisKKyAgICBkZWYgdGVzdF9tYWtlX3dlYWtfa2V5ZWRfZGljdF9yZXByKHNlbGYpOgorICAgICAgICBkaWN0ID0gd2Vha3JlZi5XZWFrS2V5RGljdGlvbmFyeSgpCisgICAgICAgIHNlbGYuYXNzZXJ0UmVnZXgocmVwcihkaWN0KSwgJzxXZWFrS2V5RGljdGlvbmFyeSBhdCAweC4qPicpCisKIGZyb20gdGVzdCBpbXBvcnQgbWFwcGluZ190ZXN0cwogCiBjbGFzcyBXZWFrVmFsdWVEaWN0aW9uYXJ5VGVzdENhc2UobWFwcGluZ190ZXN0cy5CYXNpY1Rlc3RNYXBwaW5nUHJvdG9jb2wpOgpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF93c2dpcmVmLnB5IGIvTGliL3Rlc3QvdGVzdF93c2dpcmVmLnB5CmluZGV4IDU3MDRmYzcuLjI5ZjY0ZjMgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3Rfd3NnaXJlZi5weQorKysgYi9MaWIvdGVzdC90ZXN0X3dzZ2lyZWYucHkKQEAgLTM2OCw2ICszNjgsNyBAQAogCiAgICAgZGVmIHRlc3RNYXBwaW5nSW50ZXJmYWNlKHNlbGYpOgogICAgICAgICB0ZXN0ID0gWygneCcsJ3knKV0KKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oSGVhZGVycygpKSwgMCkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oSGVhZGVycyhbXSkpLDApCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKEhlYWRlcnModGVzdFs6XSkpLDEpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoSGVhZGVycyh0ZXN0WzpdKS5rZXlzKCksIFsneCddKQpAQCAtMzc1LDcgKzM3Niw3IEBACiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoSGVhZGVycyh0ZXN0WzpdKS5pdGVtcygpLCB0ZXN0KQogICAgICAgICBzZWxmLmFzc2VydElzTm90KEhlYWRlcnModGVzdCkuaXRlbXMoKSwgdGVzdCkgICMgbXVzdCBiZSBjb3B5IQogCi0gICAgICAgIGg9SGVhZGVycyhbXSkKKyAgICAgICAgaCA9IEhlYWRlcnMoKQogICAgICAgICBkZWwgaFsnZm9vJ10gICAjIHNob3VsZCBub3QgcmFpc2UgYW4gZXJyb3IKIAogICAgICAgICBoWydGb28nXSA9ICdiYXInCkBAIC00MDAsOSArNDAxLDggQEAKICAgICBkZWYgdGVzdFJlcXVpcmVMaXN0KHNlbGYpOgogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIEhlYWRlcnMsICJmb28iKQogCi0KICAgICBkZWYgdGVzdEV4dHJhcyhzZWxmKToKLSAgICAgICAgaCA9IEhlYWRlcnMoW10pCisgICAgICAgIGggPSBIZWFkZXJzKCkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdHIoaCksJ1xyXG4nKQogCiAgICAgICAgIGguYWRkX2hlYWRlcignZm9vJywnYmFyJyxiYXo9InNwYW0iKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF94bWxfZXRyZWVfYy5weSBiL0xpYi90ZXN0L3Rlc3RfeG1sX2V0cmVlX2MucHkKaW5kZXggODE2YWE4Ni4uZDBkZjM4ZCAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF94bWxfZXRyZWVfYy5weQorKysgYi9MaWIvdGVzdC90ZXN0X3htbF9ldHJlZV9jLnB5CkBAIC01NSw3ICs1NSw3IEBACiAgICAgZGVmIHNldFVwKHNlbGYpOgogICAgICAgICBzZWxmLmVsZW1lbnRzaXplID0gc3VwcG9ydC5jYWxjb2Jqc2l6ZSgnNVAnKQogICAgICAgICAjIGV4dHJhCi0gICAgICAgIHNlbGYuZXh0cmEgPSBzdHJ1Y3QuY2FsY3NpemUoJ1BpaVA0UCcpCisgICAgICAgIHNlbGYuZXh0cmEgPSBzdHJ1Y3QuY2FsY3NpemUoJ1BublA0UCcpCiAKICAgICBjaGVja19zaXplb2YgPSBzdXBwb3J0LmNoZWNrX3NpemVvZgogCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X3htbHJwYy5weSBiL0xpYi90ZXN0L3Rlc3RfeG1scnBjLnB5CmluZGV4IDcxYjU5MGMuLmRjMzdiZTIgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfeG1scnBjLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfeG1scnBjLnB5CkBAIC0yODcsNyArMjg3LDcgQEAKICAgICBkZWYgdGVzdF9yZXByKHNlbGYpOgogICAgICAgICBkID0gZGF0ZXRpbWUuZGF0ZXRpbWUoMjAwNywxLDIsMyw0LDUpCiAgICAgICAgIHQgPSB4bWxycGNsaWIuRGF0ZVRpbWUoZCkKLSAgICAgICAgdmFsID0iPERhdGVUaW1lICcyMDA3MDEwMlQwMzowNDowNScgYXQgJXg+IiAlIGlkKHQpCisgICAgICAgIHZhbCA9IjxEYXRlVGltZSAnMjAwNzAxMDJUMDM6MDQ6MDUnIGF0ICUjeD4iICUgaWQodCkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXByKHQpLCB2YWwpCiAKICAgICBkZWYgdGVzdF9kZWNvZGUoc2VsZik6CkBAIC03MTMsNiArNzEzLDIzIEBACiAgICAgICAgIGNvbm4ucmVxdWVzdCgnUE9TVCcsICcvUlBDMiBIVFRQLzEuMFxyXG5Db250ZW50LUxlbmd0aDogMTAwXHJcblxyXG5ieWUnKQogICAgICAgICBjb25uLmNsb3NlKCkKIAorICAgIGRlZiB0ZXN0X2NvbnRleHRfbWFuYWdlcihzZWxmKToKKyAgICAgICAgd2l0aCB4bWxycGNsaWIuU2VydmVyUHJveHkoVVJMKSBhcyBzZXJ2ZXI6CisgICAgICAgICAgICBzZXJ2ZXIuYWRkKDIsIDMpCisgICAgICAgICAgICBzZWxmLmFzc2VydE5vdEVxdWFsKHNlcnZlcigndHJhbnNwb3J0JykuX2Nvbm5lY3Rpb24sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChOb25lLCBOb25lKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZXJ2ZXIoJ3RyYW5zcG9ydCcpLl9jb25uZWN0aW9uLAorICAgICAgICAgICAgICAgICAgICAgICAgIChOb25lLCBOb25lKSkKKworICAgIGRlZiB0ZXN0X2NvbnRleHRfbWFuYWdlcl9tZXRob2RfZXJyb3Ioc2VsZik6CisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHdpdGggeG1scnBjbGliLlNlcnZlclByb3h5KFVSTCkgYXMgc2VydmVyOgorICAgICAgICAgICAgICAgIHNlcnZlci5hZGQoMiwgImEiKQorICAgICAgICBleGNlcHQgeG1scnBjbGliLkZhdWx0OgorICAgICAgICAgICAgcGFzcworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlcnZlcigndHJhbnNwb3J0JykuX2Nvbm5lY3Rpb24sCisgICAgICAgICAgICAgICAgICAgICAgICAgKE5vbmUsIE5vbmUpKQorCiAKIGNsYXNzIE11bHRpUGF0aFNlcnZlclRlc3RDYXNlKEJhc2VTZXJ2ZXJUZXN0Q2FzZSk6CiAgICAgdGhyZWFkRnVuYyA9IHN0YXRpY21ldGhvZChodHRwX211bHRpX3NlcnZlcikKQEAgLTg5MSw3ICs5MDgsNyBAQAogICAgICAgICBkYXRhID0gYidcMCcgKiAobWF4X2d6aXBfZGVjb2RlICsgMSkKICAgICAgICAgZW5jb2RlZCA9IHhtbHJwY2xpYi5nemlwX2VuY29kZShkYXRhKQogCi0gICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXNSZWdleHAoVmFsdWVFcnJvciwKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlc1JlZ2V4KFZhbHVlRXJyb3IsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1heCBnemlwcGVkIHBheWxvYWQgbGVuZ3RoIGV4Y2VlZGVkIik6CiAgICAgICAgICAgICB4bWxycGNsaWIuZ3ppcF9kZWNvZGUoZW5jb2RlZCkKIApAQCAtOTE5LDYgKzkzNiw3IEBACiAgICAgICAgIHAgPSB4bWxycGNsaWIuU2VydmVyUHJveHkoc2VsZi51cmwsIHRyYW5zcG9ydD10KQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHAoJ3RyYW5zcG9ydCcpLCB0KQogCisKICMgVGhpcyBpcyBhIGNvbnRyaXZlZCB3YXkgdG8gbWFrZSBhIGZhaWx1cmUgb2NjdXIgb24gdGhlIHNlcnZlciBzaWRlCiAjIGluIG9yZGVyIHRvIHRlc3QgdGhlIF9zZW5kX3RyYWNlYmFja19oZWFkZXIgZmxhZyBvbiB0aGUgc2VydmVyCiBjbGFzcyBGYWlsaW5nTWVzc2FnZUNsYXNzKGh0dHAuY2xpZW50LkhUVFBNZXNzYWdlKToKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfemlwZmlsZS5weSBiL0xpYi90ZXN0L3Rlc3RfemlwZmlsZS5weQppbmRleCAzZDhmOWJjLi5mNDU4ZjMwIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X3ppcGZpbGUucHkKKysrIGIvTGliL3Rlc3QvdGVzdF96aXBmaWxlLnB5CkBAIC0zMzAsNiArMzMwLDM3IEBACiAgICAgICAgICAgICAgICAgICAgIHdoaWxlIHppcG9wZW4ucmVhZDEoMTAwKToKICAgICAgICAgICAgICAgICAgICAgICAgIHBhc3MKIAorICAgIGRlZiB0ZXN0X3JlcHIoc2VsZik6CisgICAgICAgIGZuYW1lID0gJ2ZpbGUubmFtZScKKyAgICAgICAgZm9yIGYgaW4gZ2V0X2ZpbGVzKHNlbGYpOgorICAgICAgICAgICAgd2l0aCB6aXBmaWxlLlppcEZpbGUoZiwgJ3cnLCBzZWxmLmNvbXByZXNzaW9uKSBhcyB6aXBmcDoKKyAgICAgICAgICAgICAgICB6aXBmcC53cml0ZShURVNURk4sIGZuYW1lKQorICAgICAgICAgICAgICAgIHIgPSByZXByKHppcGZwKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SW4oIm1vZGU9J3cnIiwgcikKKworICAgICAgICAgICAgd2l0aCB6aXBmaWxlLlppcEZpbGUoZiwgJ3InKSBhcyB6aXBmcDoKKyAgICAgICAgICAgICAgICByID0gcmVwcih6aXBmcCkKKyAgICAgICAgICAgICAgICBpZiBpc2luc3RhbmNlKGYsIHN0cik6CisgICAgICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SW4oJ2ZpbGVuYW1lPSVyJyAlIGYsIHIpCisgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRJbignZmlsZT0lcicgJSBmLCByKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SW4oIm1vZGU9J3InIiwgcikKKyAgICAgICAgICAgICAgICByID0gcmVwcih6aXBmcC5nZXRpbmZvKGZuYW1lKSkKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEluKCdmaWxlbmFtZT0lcicgJSBmbmFtZSwgcikKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEluKCdmaWxlbW9kZT0nLCByKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SW4oJ2ZpbGVfc2l6ZT0nLCByKQorICAgICAgICAgICAgICAgIGlmIHNlbGYuY29tcHJlc3Npb24gIT0gemlwZmlsZS5aSVBfU1RPUkVEOgorICAgICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEluKCdjb21wcmVzc190eXBlPScsIHIpCisgICAgICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SW4oJ2NvbXByZXNzX3NpemU9JywgcikKKyAgICAgICAgICAgICAgICB3aXRoIHppcGZwLm9wZW4oZm5hbWUpIGFzIHppcG9wZW46CisgICAgICAgICAgICAgICAgICAgIHIgPSByZXByKHppcG9wZW4pCisgICAgICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SW4oJ25hbWU9JXInICUgZm5hbWUsIHIpCisgICAgICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SW4oIm1vZGU9J3InIiwgcikKKyAgICAgICAgICAgICAgICAgICAgaWYgc2VsZi5jb21wcmVzc2lvbiAhPSB6aXBmaWxlLlpJUF9TVE9SRUQ6CisgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEluKCdjb21wcmVzc190eXBlPScsIHIpCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRJbignW2Nsb3NlZF0nLCByZXByKHppcG9wZW4pKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRJbignW2Nsb3NlZF0nLCByZXByKHppcGZwKSkKKwogICAgIGRlZiB0ZWFyRG93bihzZWxmKToKICAgICAgICAgdW5saW5rKFRFU1RGTikKICAgICAgICAgdW5saW5rKFRFU1RGTjIpCkBAIC0xNjQ3LDYgKzE2NzgsMzQgQEAKICAgICBjb21wcmVzc2lvbiA9IHppcGZpbGUuWklQX0xaTUEKIAogCisjIFByaXZpZGUgdGhlIHRlbGwoKSBtZXRob2QgYnV0IG5vdCBzZWVrKCkKK2NsYXNzIFRlbGxhYmxlOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBmcCk6CisgICAgICAgIHNlbGYuZnAgPSBmcAorICAgICAgICBzZWxmLm9mZnNldCA9IDAKKworICAgIGRlZiB3cml0ZShzZWxmLCBkYXRhKToKKyAgICAgICAgc2VsZi5vZmZzZXQgKz0gc2VsZi5mcC53cml0ZShkYXRhKQorCisgICAgZGVmIHRlbGwoc2VsZik6CisgICAgICAgIHJldHVybiBzZWxmLm9mZnNldAorCisgICAgZGVmIGZsdXNoKHNlbGYpOgorICAgICAgICBwYXNzCisKK2NsYXNzIFVuc2Vla2FibGVUZXN0cyh1bml0dGVzdC5UZXN0Q2FzZSk6CisgICAgZGVmIHRlc3Rfd3JpdGVzdHJfdGVsbGFibGUoc2VsZik6CisgICAgICAgIGYgPSBpby5CeXRlc0lPKCkKKyAgICAgICAgd2l0aCB6aXBmaWxlLlppcEZpbGUoVGVsbGFibGUoZiksICd3JywgemlwZmlsZS5aSVBfU1RPUkVEKSBhcyB6aXBmcDoKKyAgICAgICAgICAgIHppcGZwLndyaXRlc3RyKCdvbmVzJywgYicxMTEnKQorICAgICAgICAgICAgemlwZnAud3JpdGVzdHIoJ3R3b3MnLCBiJzIyMicpCisgICAgICAgIHdpdGggemlwZmlsZS5aaXBGaWxlKGYsIG1vZGU9J3InKSBhcyB6aXBmOgorICAgICAgICAgICAgd2l0aCB6aXBmLm9wZW4oJ29uZXMnKSBhcyB6b3BlbjoKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHpvcGVuLnJlYWQoKSwgYicxMTEnKQorICAgICAgICAgICAgd2l0aCB6aXBmLm9wZW4oJ3R3b3MnKSBhcyB6b3BlbjoKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHpvcGVuLnJlYWQoKSwgYicyMjInKQorCisKIEByZXF1aXJlc196bGliCiBjbGFzcyBUZXN0c1dpdGhNdWx0aXBsZU9wZW5zKHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICBAY2xhc3NtZXRob2QKQEAgLTE2NjMsMzUgKzE3MjIsNTIgQEAKICAgICBkZWYgdGVzdF9zYW1lX2ZpbGUoc2VsZik6CiAgICAgICAgICMgVmVyaWZ5IHRoYXQgKHdoZW4gdGhlIFppcEZpbGUgaXMgaW4gY29udHJvbCBvZiBjcmVhdGluZyBmaWxlIG9iamVjdHMpCiAgICAgICAgICMgbXVsdGlwbGUgb3BlbigpIGNhbGxzIGNhbiBiZSBtYWRlIHdpdGhvdXQgaW50ZXJmZXJpbmcgd2l0aCBlYWNoIG90aGVyLgotICAgICAgICBzZWxmLm1ha2VfdGVzdF9hcmNoaXZlKFRFU1RGTjIpCi0gICAgICAgIHdpdGggemlwZmlsZS5aaXBGaWxlKFRFU1RGTjIsIG1vZGU9InIiKSBhcyB6aXBmOgotICAgICAgICAgICAgd2l0aCB6aXBmLm9wZW4oJ29uZXMnKSBhcyB6b3BlbjEsIHppcGYub3Blbignb25lcycpIGFzIHpvcGVuMjoKLSAgICAgICAgICAgICAgICBkYXRhMSA9IHpvcGVuMS5yZWFkKDUwMCkKLSAgICAgICAgICAgICAgICBkYXRhMiA9IHpvcGVuMi5yZWFkKDUwMCkKLSAgICAgICAgICAgICAgICBkYXRhMSArPSB6b3BlbjEucmVhZCgpCi0gICAgICAgICAgICAgICAgZGF0YTIgKz0gem9wZW4yLnJlYWQoKQotICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkYXRhMSwgZGF0YTIpCi0gICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRhdGExLCBzZWxmLmRhdGExKQorICAgICAgICBmb3IgZiBpbiBnZXRfZmlsZXMoc2VsZik6CisgICAgICAgICAgICBzZWxmLm1ha2VfdGVzdF9hcmNoaXZlKGYpCisgICAgICAgICAgICB3aXRoIHppcGZpbGUuWmlwRmlsZShmLCBtb2RlPSJyIikgYXMgemlwZjoKKyAgICAgICAgICAgICAgICB3aXRoIHppcGYub3Blbignb25lcycpIGFzIHpvcGVuMSwgemlwZi5vcGVuKCdvbmVzJykgYXMgem9wZW4yOgorICAgICAgICAgICAgICAgICAgICBkYXRhMSA9IHpvcGVuMS5yZWFkKDUwMCkKKyAgICAgICAgICAgICAgICAgICAgZGF0YTIgPSB6b3BlbjIucmVhZCg1MDApCisgICAgICAgICAgICAgICAgICAgIGRhdGExICs9IHpvcGVuMS5yZWFkKCkKKyAgICAgICAgICAgICAgICAgICAgZGF0YTIgKz0gem9wZW4yLnJlYWQoKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZGF0YTEsIGRhdGEyKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZGF0YTEsIHNlbGYuZGF0YTEpCiAKICAgICBkZWYgdGVzdF9kaWZmZXJlbnRfZmlsZShzZWxmKToKICAgICAgICAgIyBWZXJpZnkgdGhhdCAod2hlbiB0aGUgWmlwRmlsZSBpcyBpbiBjb250cm9sIG9mIGNyZWF0aW5nIGZpbGUgb2JqZWN0cykKICAgICAgICAgIyBtdWx0aXBsZSBvcGVuKCkgY2FsbHMgY2FuIGJlIG1hZGUgd2l0aG91dCBpbnRlcmZlcmluZyB3aXRoIGVhY2ggb3RoZXIuCi0gICAgICAgIHNlbGYubWFrZV90ZXN0X2FyY2hpdmUoVEVTVEZOMikKLSAgICAgICAgd2l0aCB6aXBmaWxlLlppcEZpbGUoVEVTVEZOMiwgbW9kZT0iciIpIGFzIHppcGY6Ci0gICAgICAgICAgICB3aXRoIHppcGYub3Blbignb25lcycpIGFzIHpvcGVuMSwgemlwZi5vcGVuKCd0d29zJykgYXMgem9wZW4yOgotICAgICAgICAgICAgICAgIGRhdGExID0gem9wZW4xLnJlYWQoNTAwKQotICAgICAgICAgICAgICAgIGRhdGEyID0gem9wZW4yLnJlYWQoNTAwKQotICAgICAgICAgICAgICAgIGRhdGExICs9IHpvcGVuMS5yZWFkKCkKLSAgICAgICAgICAgICAgICBkYXRhMiArPSB6b3BlbjIucmVhZCgpCi0gICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRhdGExLCBzZWxmLmRhdGExKQotICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkYXRhMiwgc2VsZi5kYXRhMikKKyAgICAgICAgZm9yIGYgaW4gZ2V0X2ZpbGVzKHNlbGYpOgorICAgICAgICAgICAgc2VsZi5tYWtlX3Rlc3RfYXJjaGl2ZShmKQorICAgICAgICAgICAgd2l0aCB6aXBmaWxlLlppcEZpbGUoZiwgbW9kZT0iciIpIGFzIHppcGY6CisgICAgICAgICAgICAgICAgd2l0aCB6aXBmLm9wZW4oJ29uZXMnKSBhcyB6b3BlbjEsIHppcGYub3BlbigndHdvcycpIGFzIHpvcGVuMjoKKyAgICAgICAgICAgICAgICAgICAgZGF0YTEgPSB6b3BlbjEucmVhZCg1MDApCisgICAgICAgICAgICAgICAgICAgIGRhdGEyID0gem9wZW4yLnJlYWQoNTAwKQorICAgICAgICAgICAgICAgICAgICBkYXRhMSArPSB6b3BlbjEucmVhZCgpCisgICAgICAgICAgICAgICAgICAgIGRhdGEyICs9IHpvcGVuMi5yZWFkKCkKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRhdGExLCBzZWxmLmRhdGExKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZGF0YTIsIHNlbGYuZGF0YTIpCiAKICAgICBkZWYgdGVzdF9pbnRlcmxlYXZlZChzZWxmKToKICAgICAgICAgIyBWZXJpZnkgdGhhdCAod2hlbiB0aGUgWmlwRmlsZSBpcyBpbiBjb250cm9sIG9mIGNyZWF0aW5nIGZpbGUgb2JqZWN0cykKICAgICAgICAgIyBtdWx0aXBsZSBvcGVuKCkgY2FsbHMgY2FuIGJlIG1hZGUgd2l0aG91dCBpbnRlcmZlcmluZyB3aXRoIGVhY2ggb3RoZXIuCi0gICAgICAgIHNlbGYubWFrZV90ZXN0X2FyY2hpdmUoVEVTVEZOMikKLSAgICAgICAgd2l0aCB6aXBmaWxlLlppcEZpbGUoVEVTVEZOMiwgbW9kZT0iciIpIGFzIHppcGY6Ci0gICAgICAgICAgICB3aXRoIHppcGYub3Blbignb25lcycpIGFzIHpvcGVuMSwgemlwZi5vcGVuKCd0d29zJykgYXMgem9wZW4yOgorICAgICAgICBmb3IgZiBpbiBnZXRfZmlsZXMoc2VsZik6CisgICAgICAgICAgICBzZWxmLm1ha2VfdGVzdF9hcmNoaXZlKGYpCisgICAgICAgICAgICB3aXRoIHppcGZpbGUuWmlwRmlsZShmLCBtb2RlPSJyIikgYXMgemlwZjoKKyAgICAgICAgICAgICAgICB3aXRoIHppcGYub3Blbignb25lcycpIGFzIHpvcGVuMSwgemlwZi5vcGVuKCd0d29zJykgYXMgem9wZW4yOgorICAgICAgICAgICAgICAgICAgICBkYXRhMSA9IHpvcGVuMS5yZWFkKDUwMCkKKyAgICAgICAgICAgICAgICAgICAgZGF0YTIgPSB6b3BlbjIucmVhZCg1MDApCisgICAgICAgICAgICAgICAgICAgIGRhdGExICs9IHpvcGVuMS5yZWFkKCkKKyAgICAgICAgICAgICAgICAgICAgZGF0YTIgKz0gem9wZW4yLnJlYWQoKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZGF0YTEsIHNlbGYuZGF0YTEpCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkYXRhMiwgc2VsZi5kYXRhMikKKworICAgIGRlZiB0ZXN0X3JlYWRfYWZ0ZXJfY2xvc2Uoc2VsZik6CisgICAgICAgIGZvciBmIGluIGdldF9maWxlcyhzZWxmKToKKyAgICAgICAgICAgIHNlbGYubWFrZV90ZXN0X2FyY2hpdmUoZikKKyAgICAgICAgICAgIHdpdGggY29udGV4dGxpYi5FeGl0U3RhY2soKSBhcyBzdGFjazoKKyAgICAgICAgICAgICAgICB3aXRoIHppcGZpbGUuWmlwRmlsZShmLCAncicpIGFzIHppcGY6CisgICAgICAgICAgICAgICAgICAgIHpvcGVuMSA9IHN0YWNrLmVudGVyX2NvbnRleHQoemlwZi5vcGVuKCdvbmVzJykpCisgICAgICAgICAgICAgICAgICAgIHpvcGVuMiA9IHN0YWNrLmVudGVyX2NvbnRleHQoemlwZi5vcGVuKCd0d29zJykpCiAgICAgICAgICAgICAgICAgZGF0YTEgPSB6b3BlbjEucmVhZCg1MDApCiAgICAgICAgICAgICAgICAgZGF0YTIgPSB6b3BlbjIucmVhZCg1MDApCiAgICAgICAgICAgICAgICAgZGF0YTEgKz0gem9wZW4xLnJlYWQoKQpAQCAtMTY5OSw0MyArMTc3NSwzMiBAQAogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkYXRhMSwgc2VsZi5kYXRhMSkKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZGF0YTIsIHNlbGYuZGF0YTIpCiAKLSAgICBkZWYgdGVzdF9yZWFkX2FmdGVyX2Nsb3NlKHNlbGYpOgotICAgICAgICBzZWxmLm1ha2VfdGVzdF9hcmNoaXZlKFRFU1RGTjIpCi0gICAgICAgIHdpdGggY29udGV4dGxpYi5FeGl0U3RhY2soKSBhcyBzdGFjazoKLSAgICAgICAgICAgIHdpdGggemlwZmlsZS5aaXBGaWxlKFRFU1RGTjIsICdyJykgYXMgemlwZjoKLSAgICAgICAgICAgICAgICB6b3BlbjEgPSBzdGFjay5lbnRlcl9jb250ZXh0KHppcGYub3Blbignb25lcycpKQotICAgICAgICAgICAgICAgIHpvcGVuMiA9IHN0YWNrLmVudGVyX2NvbnRleHQoemlwZi5vcGVuKCd0d29zJykpCi0gICAgICAgICAgICBkYXRhMSA9IHpvcGVuMS5yZWFkKDUwMCkKLSAgICAgICAgICAgIGRhdGEyID0gem9wZW4yLnJlYWQoNTAwKQotICAgICAgICAgICAgZGF0YTEgKz0gem9wZW4xLnJlYWQoKQotICAgICAgICAgICAgZGF0YTIgKz0gem9wZW4yLnJlYWQoKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRhdGExLCBzZWxmLmRhdGExKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRhdGEyLCBzZWxmLmRhdGEyKQotCiAgICAgZGVmIHRlc3RfcmVhZF9hZnRlcl93cml0ZShzZWxmKToKLSAgICAgICAgd2l0aCB6aXBmaWxlLlppcEZpbGUoVEVTVEZOMiwgJ3cnLCB6aXBmaWxlLlpJUF9ERUZMQVRFRCkgYXMgemlwZjoKLSAgICAgICAgICAgIHppcGYud3JpdGVzdHIoJ29uZXMnLCBzZWxmLmRhdGExKQotICAgICAgICAgICAgemlwZi53cml0ZXN0cigndHdvcycsIHNlbGYuZGF0YTIpCi0gICAgICAgICAgICB3aXRoIHppcGYub3Blbignb25lcycpIGFzIHpvcGVuMToKLSAgICAgICAgICAgICAgICBkYXRhMSA9IHpvcGVuMS5yZWFkKDUwMCkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkYXRhMSwgc2VsZi5kYXRhMVs6NTAwXSkKLSAgICAgICAgd2l0aCB6aXBmaWxlLlppcEZpbGUoVEVTVEZOMiwgJ3InKSBhcyB6aXBmOgotICAgICAgICAgICAgZGF0YTEgPSB6aXBmLnJlYWQoJ29uZXMnKQotICAgICAgICAgICAgZGF0YTIgPSB6aXBmLnJlYWQoJ3R3b3MnKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRhdGExLCBzZWxmLmRhdGExKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRhdGEyLCBzZWxmLmRhdGEyKQorICAgICAgICBmb3IgZiBpbiBnZXRfZmlsZXMoc2VsZik6CisgICAgICAgICAgICB3aXRoIHppcGZpbGUuWmlwRmlsZShmLCAndycsIHppcGZpbGUuWklQX0RFRkxBVEVEKSBhcyB6aXBmOgorICAgICAgICAgICAgICAgIHppcGYud3JpdGVzdHIoJ29uZXMnLCBzZWxmLmRhdGExKQorICAgICAgICAgICAgICAgIHppcGYud3JpdGVzdHIoJ3R3b3MnLCBzZWxmLmRhdGEyKQorICAgICAgICAgICAgICAgIHdpdGggemlwZi5vcGVuKCdvbmVzJykgYXMgem9wZW4xOgorICAgICAgICAgICAgICAgICAgICBkYXRhMSA9IHpvcGVuMS5yZWFkKDUwMCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZGF0YTEsIHNlbGYuZGF0YTFbOjUwMF0pCisgICAgICAgICAgICB3aXRoIHppcGZpbGUuWmlwRmlsZShmLCAncicpIGFzIHppcGY6CisgICAgICAgICAgICAgICAgZGF0YTEgPSB6aXBmLnJlYWQoJ29uZXMnKQorICAgICAgICAgICAgICAgIGRhdGEyID0gemlwZi5yZWFkKCd0d29zJykKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZGF0YTEsIHNlbGYuZGF0YTEpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRhdGEyLCBzZWxmLmRhdGEyKQogCiAgICAgZGVmIHRlc3Rfd3JpdGVfYWZ0ZXJfcmVhZChzZWxmKToKLSAgICAgICAgd2l0aCB6aXBmaWxlLlppcEZpbGUoVEVTVEZOMiwgInciLCB6aXBmaWxlLlpJUF9ERUZMQVRFRCkgYXMgemlwZjoKLSAgICAgICAgICAgIHppcGYud3JpdGVzdHIoJ29uZXMnLCBzZWxmLmRhdGExKQotICAgICAgICAgICAgd2l0aCB6aXBmLm9wZW4oJ29uZXMnKSBhcyB6b3BlbjE6Ci0gICAgICAgICAgICAgICAgem9wZW4xLnJlYWQoNTAwKQotICAgICAgICAgICAgICAgIHppcGYud3JpdGVzdHIoJ3R3b3MnLCBzZWxmLmRhdGEyKQotICAgICAgICB3aXRoIHppcGZpbGUuWmlwRmlsZShURVNURk4yLCAncicpIGFzIHppcGY6Ci0gICAgICAgICAgICBkYXRhMSA9IHppcGYucmVhZCgnb25lcycpCi0gICAgICAgICAgICBkYXRhMiA9IHppcGYucmVhZCgndHdvcycpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZGF0YTEsIHNlbGYuZGF0YTEpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZGF0YTIsIHNlbGYuZGF0YTIpCisgICAgICAgIGZvciBmIGluIGdldF9maWxlcyhzZWxmKToKKyAgICAgICAgICAgIHdpdGggemlwZmlsZS5aaXBGaWxlKGYsICJ3IiwgemlwZmlsZS5aSVBfREVGTEFURUQpIGFzIHppcGY6CisgICAgICAgICAgICAgICAgemlwZi53cml0ZXN0cignb25lcycsIHNlbGYuZGF0YTEpCisgICAgICAgICAgICAgICAgd2l0aCB6aXBmLm9wZW4oJ29uZXMnKSBhcyB6b3BlbjE6CisgICAgICAgICAgICAgICAgICAgIHpvcGVuMS5yZWFkKDUwMCkKKyAgICAgICAgICAgICAgICAgICAgemlwZi53cml0ZXN0cigndHdvcycsIHNlbGYuZGF0YTIpCisgICAgICAgICAgICB3aXRoIHppcGZpbGUuWmlwRmlsZShmLCAncicpIGFzIHppcGY6CisgICAgICAgICAgICAgICAgZGF0YTEgPSB6aXBmLnJlYWQoJ29uZXMnKQorICAgICAgICAgICAgICAgIGRhdGEyID0gemlwZi5yZWFkKCd0d29zJykKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZGF0YTEsIHNlbGYuZGF0YTEpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRhdGEyLCBzZWxmLmRhdGEyKQogCiAgICAgZGVmIHRlc3RfbWFueV9vcGVucyhzZWxmKToKICAgICAgICAgIyBWZXJpZnkgdGhhdCByZWFkKCkgYW5kIG9wZW4oKSBwcm9tcHRseSBjbG9zZSB0aGUgZmlsZSBkZXNjcmlwdG9yLApkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF96aXBpbXBvcnRfc3VwcG9ydC5weSBiL0xpYi90ZXN0L3Rlc3RfemlwaW1wb3J0X3N1cHBvcnQucHkKaW5kZXggNjZjMzU1Ny4uMmU4MDFhOCAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF96aXBpbXBvcnRfc3VwcG9ydC5weQorKysgYi9MaWIvdGVzdC90ZXN0X3ppcGltcG9ydF9zdXBwb3J0LnB5CkBAIC0zOSw3ICszOSw3IEBACiAgICAgIyBVc2UgdGhlIG9iamVjdCdzIGZ1bGx5IHF1YWxpZmllZCBuYW1lIGlmIGl0IGhhcyBvbmUKICAgICAjIE90aGVyd2lzZSwgdXNlIHRoZSBtb2R1bGUncyBuYW1lCiAgICAgdHJ5OgotICAgICAgICBuYW1lID0gIiVzLiVzIiAlIChvYmouX19tb2R1bGVfXywgb2JqLl9fbmFtZV9fKQorICAgICAgICBuYW1lID0gIiVzLiVzIiAlIChvYmouX19tb2R1bGVfXywgb2JqLl9fcXVhbG5hbWVfXykKICAgICBleGNlcHQgQXR0cmlidXRlRXJyb3I6CiAgICAgICAgIG5hbWUgPSBtb2R1bGUuX19uYW1lX18KICAgICBmb3IgZXhhbXBsZSBpbiBmaW5kZXIuZmluZChvYmosIG5hbWUsIG1vZHVsZSk6CmRpZmYgLS1naXQgYS9MaWIvdGVzdC90Zl9pbmhlcml0X2NoZWNrLnB5IGIvTGliL3Rlc3QvdGZfaW5oZXJpdF9jaGVjay5weQppbmRleCBhZmU1MGQyLi4xMzhmMjVhIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90Zl9pbmhlcml0X2NoZWNrLnB5CisrKyBiL0xpYi90ZXN0L3RmX2luaGVyaXRfY2hlY2sucHkKQEAgLTQsMjIgKzQsMjQgQEAKIAogaW1wb3J0IHN5cwogaW1wb3J0IG9zCitmcm9tIHRlc3Quc3VwcG9ydCBpbXBvcnQgU3VwcHJlc3NDcmFzaFJlcG9ydAogCi12ZXJib3NlID0gKHN5cy5hcmd2WzFdID09ICd2JykKLXRyeToKLSAgICBmZCA9IGludChzeXMuYXJndlsyXSkKLQord2l0aCBTdXBwcmVzc0NyYXNoUmVwb3J0KCk6CisgICAgdmVyYm9zZSA9IChzeXMuYXJndlsxXSA9PSAndicpCiAgICAgdHJ5OgotICAgICAgICBvcy53cml0ZShmZCwgYiJibGF0IikKLSAgICBleGNlcHQgT1NFcnJvcjoKLSAgICAgICAgIyBTdWNjZXNzIC0tIGNvdWxkIG5vdCB3cml0ZSB0byBmZC4KLSAgICAgICAgc3lzLmV4aXQoMCkKLSAgICBlbHNlOgotICAgICAgICBpZiB2ZXJib3NlOgotICAgICAgICAgICAgc3lzLnN0ZGVyci53cml0ZSgiZmQgJWQgaXMgb3BlbiBpbiBjaGlsZCIgJSBmZCkKLSAgICAgICAgc3lzLmV4aXQoMSkKKyAgICAgICAgZmQgPSBpbnQoc3lzLmFyZ3ZbMl0pCiAKLWV4Y2VwdCBFeGNlcHRpb246Ci0gICAgaWYgdmVyYm9zZToKLSAgICAgICAgcmFpc2UKLSAgICBzeXMuZXhpdCgxKQorICAgICAgICB0cnk6CisgICAgICAgICAgICBvcy53cml0ZShmZCwgYiJibGF0IikKKyAgICAgICAgZXhjZXB0IE9TRXJyb3I6CisgICAgICAgICAgICAjIFN1Y2Nlc3MgLS0gY291bGQgbm90IHdyaXRlIHRvIGZkLgorICAgICAgICAgICAgc3lzLmV4aXQoMCkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGlmIHZlcmJvc2U6CisgICAgICAgICAgICAgICAgc3lzLnN0ZGVyci53cml0ZSgiZmQgJWQgaXMgb3BlbiBpbiBjaGlsZCIgJSBmZCkKKyAgICAgICAgICAgIHN5cy5leGl0KDEpCisKKyAgICBleGNlcHQgRXhjZXB0aW9uOgorICAgICAgICBpZiB2ZXJib3NlOgorICAgICAgICAgICAgcmFpc2UKKyAgICAgICAgc3lzLmV4aXQoMSkKZGlmZiAtLWdpdCBhL0xpYi90aHJlYWRpbmcucHkgYi9MaWIvdGhyZWFkaW5nLnB5CmluZGV4IDM3YWEzYjguLjI0Y2M5MTEgMTAwNjQ0Ci0tLSBhL0xpYi90aHJlYWRpbmcucHkKKysrIGIvTGliL3RocmVhZGluZy5weQpAQCAtMywxMCArMyw3IEBACiBpbXBvcnQgc3lzIGFzIF9zeXMKIGltcG9ydCBfdGhyZWFkCiAKLXRyeToKLSAgICBmcm9tIHRpbWUgaW1wb3J0IG1vbm90b25pYyBhcyBfdGltZQotZXhjZXB0IEltcG9ydEVycm9yOgotICAgIGZyb20gdGltZSBpbXBvcnQgdGltZSBhcyBfdGltZQorZnJvbSB0aW1lIGltcG9ydCBtb25vdG9uaWMgYXMgX3RpbWUKIGZyb20gdHJhY2ViYWNrIGltcG9ydCBmb3JtYXRfZXhjIGFzIF9mb3JtYXRfZXhjCiBmcm9tIF93ZWFrcmVmc2V0IGltcG9ydCBXZWFrU2V0CiBmcm9tIGl0ZXJ0b29scyBpbXBvcnQgaXNsaWNlIGFzIF9pc2xpY2UsIGNvdW50IGFzIF9jb3VudApAQCAtMTA2LDggKzEwMywxNCBAQAogICAgICAgICAgICAgb3duZXIgPSBfYWN0aXZlW293bmVyXS5uYW1lCiAgICAgICAgIGV4Y2VwdCBLZXlFcnJvcjoKICAgICAgICAgICAgIHBhc3MKLSAgICAgICAgcmV0dXJuICI8JXMgb3duZXI9JXIgY291bnQ9JWQ+IiAlICgKLSAgICAgICAgICAgICAgICBzZWxmLl9fY2xhc3NfXy5fX25hbWVfXywgb3duZXIsIHNlbGYuX2NvdW50KQorICAgICAgICByZXR1cm4gIjwlcyAlcy4lcyBvYmplY3Qgb3duZXI9JXIgY291bnQ9JWQgYXQgJXM+IiAlICgKKyAgICAgICAgICAgICJsb2NrZWQiIGlmIHNlbGYuX2Jsb2NrLmxvY2tlZCgpIGVsc2UgInVubG9ja2VkIiwKKyAgICAgICAgICAgIHNlbGYuX19jbGFzc19fLl9fbW9kdWxlX18sCisgICAgICAgICAgICBzZWxmLl9fY2xhc3NfXy5fX3F1YWxuYW1lX18sCisgICAgICAgICAgICBvd25lciwKKyAgICAgICAgICAgIHNlbGYuX2NvdW50LAorICAgICAgICAgICAgaGV4KGlkKHNlbGYpKQorICAgICAgICApCiAKICAgICBkZWYgYWNxdWlyZShzZWxmLCBibG9ja2luZz1UcnVlLCB0aW1lb3V0PS0xKToKICAgICAgICAgIiIiQWNxdWlyZSBhIGxvY2ssIGJsb2NraW5nIG9yIG5vbi1ibG9ja2luZy4KZGlmZiAtLWdpdCBhL0xpYi90aW1laXQucHkgYi9MaWIvdGltZWl0LnB5CmluZGV4IDljZWMwMDAuLjM4MDc3OTQgMTAwNzU1Ci0tLSBhL0xpYi90aW1laXQucHkKKysrIGIvTGliL3RpbWVpdC5weQpAQCAtNjAsNiArNjAsOCBAQAogZGVmYXVsdF9yZXBlYXQgPSAzCiBkZWZhdWx0X3RpbWVyID0gdGltZS5wZXJmX2NvdW50ZXIKIAorX2dsb2JhbHMgPSBnbG9iYWxzCisKICMgRG9uJ3QgY2hhbmdlIHRoZSBpbmRlbnRhdGlvbiBvZiB0aGUgdGVtcGxhdGU7IHRoZSByZWluZGVudCgpIGNhbGxzCiAjIGluIFRpbWVyLl9faW5pdF9fKCkgZGVwZW5kIG9uIHNldHVwIGJlaW5nIGluZGVudGVkIDQgc3BhY2VzIGFuZCBzdG10CiAjIGJlaW5nIGluZGVudGVkIDggc3BhY2VzLgpAQCAtOTQsNyArOTYsOSBAQAogICAgIFRoZSBjb25zdHJ1Y3RvciB0YWtlcyBhIHN0YXRlbWVudCB0byBiZSB0aW1lZCwgYW4gYWRkaXRpb25hbAogICAgIHN0YXRlbWVudCB1c2VkIGZvciBzZXR1cCwgYW5kIGEgdGltZXIgZnVuY3Rpb24uICBCb3RoIHN0YXRlbWVudHMKICAgICBkZWZhdWx0IHRvICdwYXNzJzsgdGhlIHRpbWVyIGZ1bmN0aW9uIGlzIHBsYXRmb3JtLWRlcGVuZGVudCAoc2VlCi0gICAgbW9kdWxlIGRvYyBzdHJpbmcpLgorICAgIG1vZHVsZSBkb2Mgc3RyaW5nKS4gIElmICdnbG9iYWxzJyBpcyBzcGVjaWZpZWQsIHRoZSBjb2RlIHdpbGwgYmUKKyAgICBleGVjdXRlZCB3aXRoaW4gdGhhdCBuYW1lc3BhY2UgKGFzIG9wcG9zZWQgdG8gaW5zaWRlIHRpbWVpdCdzCisgICAgbmFtZXNwYWNlKS4KIAogICAgIFRvIG1lYXN1cmUgdGhlIGV4ZWN1dGlvbiB0aW1lIG9mIHRoZSBmaXJzdCBzdGF0ZW1lbnQsIHVzZSB0aGUKICAgICB0aW1laXQoKSBtZXRob2QuICBUaGUgcmVwZWF0KCkgbWV0aG9kIGlzIGEgY29udmVuaWVuY2UgdG8gY2FsbApAQCAtMTA0LDEwICsxMDgsMTIgQEAKICAgICBtdWx0aS1saW5lIHN0cmluZyBsaXRlcmFscy4KICAgICAiIiIKIAotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBzdG10PSJwYXNzIiwgc2V0dXA9InBhc3MiLCB0aW1lcj1kZWZhdWx0X3RpbWVyKToKKyAgICBkZWYgX19pbml0X18oc2VsZiwgc3RtdD0icGFzcyIsIHNldHVwPSJwYXNzIiwgdGltZXI9ZGVmYXVsdF90aW1lciwKKyAgICAgICAgICAgICAgICAgZ2xvYmFscz1Ob25lKToKICAgICAgICAgIiIiQ29uc3RydWN0b3IuICBTZWUgY2xhc3MgZG9jIHN0cmluZy4iIiIKICAgICAgICAgc2VsZi50aW1lciA9IHRpbWVyCi0gICAgICAgIG5zID0ge30KKyAgICAgICAgbG9jYWxfbnMgPSB7fQorICAgICAgICBnbG9iYWxfbnMgPSBfZ2xvYmFscygpIGlmIGdsb2JhbHMgaXMgTm9uZSBlbHNlIGdsb2JhbHMKICAgICAgICAgaWYgaXNpbnN0YW5jZShzdG10LCBzdHIpOgogICAgICAgICAgICAgIyBDaGVjayB0aGF0IHRoZSBjb2RlIGNhbiBiZSBjb21waWxlZCBvdXRzaWRlIGEgZnVuY3Rpb24KICAgICAgICAgICAgIGlmIGlzaW5zdGFuY2Uoc2V0dXAsIHN0cik6CkBAIC0xMjEsMTkgKzEyNywxOSBAQAogICAgICAgICAgICAgICAgIHNyYyA9IHRlbXBsYXRlLmZvcm1hdChzdG10PXN0bXQsIHNldHVwPXNldHVwKQogICAgICAgICAgICAgZWxpZiBjYWxsYWJsZShzZXR1cCk6CiAgICAgICAgICAgICAgICAgc3JjID0gdGVtcGxhdGUuZm9ybWF0KHN0bXQ9c3RtdCwgc2V0dXA9J19zZXR1cCgpJykKLSAgICAgICAgICAgICAgICBuc1snX3NldHVwJ10gPSBzZXR1cAorICAgICAgICAgICAgICAgIGxvY2FsX25zWydfc2V0dXAnXSA9IHNldHVwCiAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoInNldHVwIGlzIG5laXRoZXIgYSBzdHJpbmcgbm9yIGNhbGxhYmxlIikKLSAgICAgICAgICAgIHNlbGYuc3JjID0gc3JjICMgU2F2ZSBmb3IgdHJhY2ViYWNrIGRpc3BsYXkKKyAgICAgICAgICAgIHNlbGYuc3JjID0gc3JjICAjIFNhdmUgZm9yIHRyYWNlYmFjayBkaXNwbGF5CiAgICAgICAgICAgICBjb2RlID0gY29tcGlsZShzcmMsIGR1bW15X3NyY19uYW1lLCAiZXhlYyIpCi0gICAgICAgICAgICBleGVjKGNvZGUsIGdsb2JhbHMoKSwgbnMpCi0gICAgICAgICAgICBzZWxmLmlubmVyID0gbnNbImlubmVyIl0KKyAgICAgICAgICAgIGV4ZWMoY29kZSwgZ2xvYmFsX25zLCBsb2NhbF9ucykKKyAgICAgICAgICAgIHNlbGYuaW5uZXIgPSBsb2NhbF9uc1siaW5uZXIiXQogICAgICAgICBlbGlmIGNhbGxhYmxlKHN0bXQpOgogICAgICAgICAgICAgc2VsZi5zcmMgPSBOb25lCiAgICAgICAgICAgICBpZiBpc2luc3RhbmNlKHNldHVwLCBzdHIpOgogICAgICAgICAgICAgICAgIF9zZXR1cCA9IHNldHVwCiAgICAgICAgICAgICAgICAgZGVmIHNldHVwKCk6Ci0gICAgICAgICAgICAgICAgICAgIGV4ZWMoX3NldHVwLCBnbG9iYWxzKCksIG5zKQorICAgICAgICAgICAgICAgICAgICBleGVjKF9zZXR1cCwgZ2xvYmFsX25zLCBsb2NhbF9ucykKICAgICAgICAgICAgIGVsaWYgbm90IGNhbGxhYmxlKHNldHVwKToKICAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJzZXR1cCBpcyBuZWl0aGVyIGEgc3RyaW5nIG5vciBjYWxsYWJsZSIpCiAgICAgICAgICAgICBzZWxmLmlubmVyID0gX3RlbXBsYXRlX2Z1bmMoc2V0dXAsIHN0bXQpCkBAIC0yMTQsMTQgKzIyMCwxNCBAQAogICAgICAgICByZXR1cm4gcgogCiBkZWYgdGltZWl0KHN0bXQ9InBhc3MiLCBzZXR1cD0icGFzcyIsIHRpbWVyPWRlZmF1bHRfdGltZXIsCi0gICAgICAgICAgIG51bWJlcj1kZWZhdWx0X251bWJlcik6CisgICAgICAgICAgIG51bWJlcj1kZWZhdWx0X251bWJlciwgZ2xvYmFscz1Ob25lKToKICAgICAiIiJDb252ZW5pZW5jZSBmdW5jdGlvbiB0byBjcmVhdGUgVGltZXIgb2JqZWN0IGFuZCBjYWxsIHRpbWVpdCBtZXRob2QuIiIiCi0gICAgcmV0dXJuIFRpbWVyKHN0bXQsIHNldHVwLCB0aW1lcikudGltZWl0KG51bWJlcikKKyAgICByZXR1cm4gVGltZXIoc3RtdCwgc2V0dXAsIHRpbWVyLCBnbG9iYWxzKS50aW1laXQobnVtYmVyKQogCiBkZWYgcmVwZWF0KHN0bXQ9InBhc3MiLCBzZXR1cD0icGFzcyIsIHRpbWVyPWRlZmF1bHRfdGltZXIsCi0gICAgICAgICAgIHJlcGVhdD1kZWZhdWx0X3JlcGVhdCwgbnVtYmVyPWRlZmF1bHRfbnVtYmVyKToKKyAgICAgICAgICAgcmVwZWF0PWRlZmF1bHRfcmVwZWF0LCBudW1iZXI9ZGVmYXVsdF9udW1iZXIsIGdsb2JhbHM9Tm9uZSk6CiAgICAgIiIiQ29udmVuaWVuY2UgZnVuY3Rpb24gdG8gY3JlYXRlIFRpbWVyIG9iamVjdCBhbmQgY2FsbCByZXBlYXQgbWV0aG9kLiIiIgotICAgIHJldHVybiBUaW1lcihzdG10LCBzZXR1cCwgdGltZXIpLnJlcGVhdChyZXBlYXQsIG51bWJlcikKKyAgICByZXR1cm4gVGltZXIoc3RtdCwgc2V0dXAsIHRpbWVyLCBnbG9iYWxzKS5yZXBlYXQocmVwZWF0LCBudW1iZXIpCiAKIGRlZiBtYWluKGFyZ3M9Tm9uZSwgKiwgX3dyYXBfdGltZXI9Tm9uZSk6CiAgICAgIiIiTWFpbiBwcm9ncmFtLCB1c2VkIHdoZW4gcnVuIGFzIGEgc2NyaXB0LgpkaWZmIC0tZ2l0IGEvTGliL3RraW50ZXIvX19pbml0X18ucHkgYi9MaWIvdGtpbnRlci9fX2luaXRfXy5weQppbmRleCBhMWZmY2ExLi5iZWIwYTczIDEwMDY0NAotLS0gYS9MaWIvdGtpbnRlci9fX2luaXRfXy5weQorKysgYi9MaWIvdGtpbnRlci9fX2luaXRfXy5weQpAQCAtNzcwLDkgKzc3MCw2IEBACiAgICAgICAgICIiIlJhaXNlIHRoaXMgd2lkZ2V0IGluIHRoZSBzdGFja2luZyBvcmRlci4iIiIKICAgICAgICAgc2VsZi50ay5jYWxsKCdyYWlzZScsIHNlbGYuX3csIGFib3ZlVGhpcykKICAgICBsaWZ0ID0gdGtyYWlzZQotICAgIGRlZiBjb2xvcm1vZGVsKHNlbGYsIHZhbHVlPU5vbmUpOgotICAgICAgICAiIiJVc2VsZXNzLiBOb3QgaW1wbGVtZW50ZWQgaW4gVGsuIiIiCi0gICAgICAgIHJldHVybiBzZWxmLnRrLmNhbGwoJ3RrJywgJ2NvbG9ybW9kZWwnLCBzZWxmLl93LCB2YWx1ZSkKICAgICBkZWYgd2luZm9fYXRvbShzZWxmLCBuYW1lLCBkaXNwbGF5b2Y9MCk6CiAgICAgICAgICIiIlJldHVybiBpbnRlZ2VyIHdoaWNoIHJlcHJlc2VudHMgYXRvbSBOQU1FLiIiIgogICAgICAgICBhcmdzID0gKCd3aW5mbycsICdhdG9tJykgKyBzZWxmLl9kaXNwbGF5b2YoZGlzcGxheW9mKSArIChuYW1lLCkKQEAgLTEzMzEsNiArMTMyOCwxMSBAQAogICAgIGRlZiBfX3N0cl9fKHNlbGYpOgogICAgICAgICAiIiJSZXR1cm4gdGhlIHdpbmRvdyBwYXRoIG5hbWUgb2YgdGhpcyB3aWRnZXQuIiIiCiAgICAgICAgIHJldHVybiBzZWxmLl93CisKKyAgICBkZWYgX19yZXByX18oc2VsZik6CisgICAgICAgIHJldHVybiAnPCVzLiVzIG9iamVjdCAlcz4nICUgKAorICAgICAgICAgICAgc2VsZi5fX2NsYXNzX18uX19tb2R1bGVfXywgc2VsZi5fX2NsYXNzX18uX19xdWFsbmFtZV9fLCBzZWxmLl93KQorCiAgICAgIyBQYWNrIG1ldGhvZHMgdGhhdCBhcHBseSB0byB0aGUgbWFzdGVyCiAgICAgX25vYXJnXyA9IFsnX25vYXJnXyddCiAgICAgZGVmIHBhY2tfcHJvcGFnYXRlKHNlbGYsIGZsYWc9X25vYXJnXyk6CkBAIC0yMTkxLDIxICsyMTkzLDYgQEAKICAgICAgICAgIiIiCiAgICAgICAgIFdpZGdldC5fX2luaXRfXyhzZWxmLCBtYXN0ZXIsICdidXR0b24nLCBjbmYsIGt3KQogCi0gICAgZGVmIHRrQnV0dG9uRW50ZXIoc2VsZiwgKmR1bW15KToKLSAgICAgICAgc2VsZi50ay5jYWxsKCd0a0J1dHRvbkVudGVyJywgc2VsZi5fdykKLQotICAgIGRlZiB0a0J1dHRvbkxlYXZlKHNlbGYsICpkdW1teSk6Ci0gICAgICAgIHNlbGYudGsuY2FsbCgndGtCdXR0b25MZWF2ZScsIHNlbGYuX3cpCi0KLSAgICBkZWYgdGtCdXR0b25Eb3duKHNlbGYsICpkdW1teSk6Ci0gICAgICAgIHNlbGYudGsuY2FsbCgndGtCdXR0b25Eb3duJywgc2VsZi5fdykKLQotICAgIGRlZiB0a0J1dHRvblVwKHNlbGYsICpkdW1teSk6Ci0gICAgICAgIHNlbGYudGsuY2FsbCgndGtCdXR0b25VcCcsIHNlbGYuX3cpCi0KLSAgICBkZWYgdGtCdXR0b25JbnZva2Uoc2VsZiwgKmR1bW15KToKLSAgICAgICAgc2VsZi50ay5jYWxsKCd0a0J1dHRvbkludm9rZScsIHNlbGYuX3cpCi0KICAgICBkZWYgZmxhc2goc2VsZik6CiAgICAgICAgICIiIkZsYXNoIHRoZSBidXR0b24uCiAKQEAgLTI3MDQsMzUgKzI2OTEsMTUgQEAKICAgICAgICAgZGlzYWJsZWRmb3JlZ3JvdW5kLCBmZywgZm9udCwgZm9yZWdyb3VuZCwgcG9zdGNvbW1hbmQsIHJlbGllZiwKICAgICAgICAgc2VsZWN0Y29sb3IsIHRha2Vmb2N1cywgdGVhcm9mZiwgdGVhcm9mZmNvbW1hbmQsIHRpdGxlLCB0eXBlLiIiIgogICAgICAgICBXaWRnZXQuX19pbml0X18oc2VsZiwgbWFzdGVyLCAnbWVudScsIGNuZiwga3cpCisgICAgZGVmIHRrX3BvcHVwKHNlbGYsIHgsIHksIGVudHJ5PSIiKToKKyAgICAgICAgIiIiUG9zdCB0aGUgbWVudSBhdCBwb3NpdGlvbiBYLFkgd2l0aCBlbnRyeSBFTlRSWS4iIiIKKyAgICAgICAgc2VsZi50ay5jYWxsKCd0a19wb3B1cCcsIHNlbGYuX3csIHgsIHksIGVudHJ5KQogICAgIGRlZiB0a19iaW5kRm9yVHJhdmVyc2FsKHNlbGYpOgogICAgICAgICAjIG9ic29sZXRlIHNpbmNlIFRrIDQuMAogICAgICAgICBpbXBvcnQgd2FybmluZ3MKICAgICAgICAgd2FybmluZ3Mud2FybigndGtfYmluZEZvclRyYXZlcnNhbCgpIGRvZXMgbm90aGluZyBhbmQgJwogICAgICAgICAgICAgICAgICAgICAgICd3aWxsIGJlIHJlbW92ZWQgaW4gMy42JywKICAgICAgICAgICAgICAgICAgICAgICBEZXByZWNhdGlvbldhcm5pbmcsIHN0YWNrbGV2ZWw9MikKLSAgICBkZWYgdGtfbWJQb3N0KHNlbGYpOgotICAgICAgICBzZWxmLnRrLmNhbGwoJ3RrX21iUG9zdCcsIHNlbGYuX3cpCi0gICAgZGVmIHRrX21iVW5wb3N0KHNlbGYpOgotICAgICAgICBzZWxmLnRrLmNhbGwoJ3RrX21iVW5wb3N0JykKLSAgICBkZWYgdGtfdHJhdmVyc2VUb01lbnUoc2VsZiwgY2hhcik6Ci0gICAgICAgIHNlbGYudGsuY2FsbCgndGtfdHJhdmVyc2VUb01lbnUnLCBzZWxmLl93LCBjaGFyKQotICAgIGRlZiB0a190cmF2ZXJzZVdpdGhpbk1lbnUoc2VsZiwgY2hhcik6Ci0gICAgICAgIHNlbGYudGsuY2FsbCgndGtfdHJhdmVyc2VXaXRoaW5NZW51Jywgc2VsZi5fdywgY2hhcikKLSAgICBkZWYgdGtfZ2V0TWVudUJ1dHRvbnMoc2VsZik6Ci0gICAgICAgIHJldHVybiBzZWxmLnRrLmNhbGwoJ3RrX2dldE1lbnVCdXR0b25zJywgc2VsZi5fdykKLSAgICBkZWYgdGtfbmV4dE1lbnUoc2VsZiwgY291bnQpOgotICAgICAgICBzZWxmLnRrLmNhbGwoJ3RrX25leHRNZW51JywgY291bnQpCi0gICAgZGVmIHRrX25leHRNZW51RW50cnkoc2VsZiwgY291bnQpOgotICAgICAgICBzZWxmLnRrLmNhbGwoJ3RrX25leHRNZW51RW50cnknLCBjb3VudCkKLSAgICBkZWYgdGtfaW52b2tlTWVudShzZWxmKToKLSAgICAgICAgc2VsZi50ay5jYWxsKCd0a19pbnZva2VNZW51Jywgc2VsZi5fdykKLSAgICBkZWYgdGtfZmlyc3RNZW51KHNlbGYpOgotICAgICAgICBzZWxmLnRrLmNhbGwoJ3RrX2ZpcnN0TWVudScsIHNlbGYuX3cpCi0gICAgZGVmIHRrX21iQnV0dG9uRG93bihzZWxmKToKLSAgICAgICAgc2VsZi50ay5jYWxsKCd0a19tYkJ1dHRvbkRvd24nLCBzZWxmLl93KQotICAgIGRlZiB0a19wb3B1cChzZWxmLCB4LCB5LCBlbnRyeT0iIik6Ci0gICAgICAgICIiIlBvc3QgdGhlIG1lbnUgYXQgcG9zaXRpb24gWCxZIHdpdGggZW50cnkgRU5UUlkuIiIiCi0gICAgICAgIHNlbGYudGsuY2FsbCgndGtfcG9wdXAnLCBzZWxmLl93LCB4LCB5LCBlbnRyeSkKICAgICBkZWYgYWN0aXZhdGUoc2VsZiwgaW5kZXgpOgogICAgICAgICAiIiJBY3RpdmF0ZSBlbnRyeSBhdCBJTkRFWC4iIiIKICAgICAgICAgc2VsZi50ay5jYWxsKHNlbGYuX3csICdhY3RpdmF0ZScsIGluZGV4KQpAQCAtMjkwNSwxMCArMjg3MiwxNCBAQAogICAgICAgICByZWxpZWYsIHJlcGVhdGRlbGF5LCByZXBlYXRpbnRlcnZhbCwgdGFrZWZvY3VzLAogICAgICAgICB0cm91Z2hjb2xvciwgd2lkdGguIiIiCiAgICAgICAgIFdpZGdldC5fX2luaXRfXyhzZWxmLCBtYXN0ZXIsICdzY3JvbGxiYXInLCBjbmYsIGt3KQotICAgIGRlZiBhY3RpdmF0ZShzZWxmLCBpbmRleCk6Ci0gICAgICAgICIiIkRpc3BsYXkgdGhlIGVsZW1lbnQgYXQgSU5ERVggd2l0aCBhY3RpdmViYWNrZ3JvdW5kIGFuZCBhY3RpdmVyZWxpZWYuCi0gICAgICAgIElOREVYIGNhbiBiZSAiYXJyb3cxIiwic2xpZGVyIiBvciAiYXJyb3cyIi4iIiIKLSAgICAgICAgc2VsZi50ay5jYWxsKHNlbGYuX3csICdhY3RpdmF0ZScsIGluZGV4KQorICAgIGRlZiBhY3RpdmF0ZShzZWxmLCBpbmRleD1Ob25lKToKKyAgICAgICAgIiIiTWFya3MgdGhlIGVsZW1lbnQgaW5kaWNhdGVkIGJ5IGluZGV4IGFzIGFjdGl2ZS4KKyAgICAgICAgVGhlIG9ubHkgaW5kZXggdmFsdWVzIHVuZGVyc3Rvb2QgYnkgdGhpcyBtZXRob2QgYXJlICJhcnJvdzEiLAorICAgICAgICAic2xpZGVyIiwgb3IgImFycm93MiIuICBJZiBhbnkgb3RoZXIgdmFsdWUgaXMgc3BlY2lmaWVkIHRoZW4gbm8KKyAgICAgICAgZWxlbWVudCBvZiB0aGUgc2Nyb2xsYmFyIHdpbGwgYmUgYWN0aXZlLiAgSWYgaW5kZXggaXMgbm90IHNwZWNpZmllZCwKKyAgICAgICAgdGhlIG1ldGhvZCByZXR1cm5zIHRoZSBuYW1lIG9mIHRoZSBlbGVtZW50IHRoYXQgaXMgY3VycmVudGx5IGFjdGl2ZSwKKyAgICAgICAgb3IgTm9uZSBpZiBubyBlbGVtZW50IGlzIGFjdGl2ZS4iIiIKKyAgICAgICAgcmV0dXJuIHNlbGYudGsuY2FsbChzZWxmLl93LCAnYWN0aXZhdGUnLCBpbmRleCkgb3IgTm9uZQogICAgIGRlZiBkZWx0YShzZWxmLCBkZWx0YXgsIGRlbHRheSk6CiAgICAgICAgICIiIlJldHVybiB0aGUgZnJhY3Rpb25hbCBjaGFuZ2Ugb2YgdGhlIHNjcm9sbGJhciBzZXR0aW5nIGlmIGl0CiAgICAgICAgIHdvdWxkIGJlIG1vdmVkIGJ5IERFTFRBWCBvciBERUxUQVkgcGl4ZWxzLiIiIgpAQCAtMjkyNiwxMCArMjg5NywxMCBAQAogICAgICAgICAiIiJSZXR1cm4gdGhlIGN1cnJlbnQgZnJhY3Rpb25hbCB2YWx1ZXMgKHVwcGVyIGFuZCBsb3dlciBlbmQpCiAgICAgICAgIG9mIHRoZSBzbGlkZXIgcG9zaXRpb24uIiIiCiAgICAgICAgIHJldHVybiBzZWxmLl9nZXRkb3VibGVzKHNlbGYudGsuY2FsbChzZWxmLl93LCAnZ2V0JykpCi0gICAgZGVmIHNldChzZWxmLCAqYXJncyk6CisgICAgZGVmIHNldChzZWxmLCBmaXJzdCwgbGFzdCk6CiAgICAgICAgICIiIlNldCB0aGUgZnJhY3Rpb25hbCB2YWx1ZXMgb2YgdGhlIHNsaWRlciBwb3NpdGlvbiAodXBwZXIgYW5kCiAgICAgICAgIGxvd2VyIGVuZHMgYXMgdmFsdWUgYmV0d2VlbiAwIGFuZCAxKS4iIiIKLSAgICAgICAgc2VsZi50ay5jYWxsKChzZWxmLl93LCAnc2V0JykgKyBhcmdzKQorICAgICAgICBzZWxmLnRrLmNhbGwoc2VsZi5fdywgJ3NldCcsIGZpcnN0LCBsYXN0KQogCiAKIApAQCAtMjk2NCwxNCArMjkzNSw2IEBACiAgICAgICAgIGJveCBvZiB0aGUgdmlzaWJsZSBwYXJ0IG9mIHRoZSBjaGFyYWN0ZXIgYXQgdGhlIGdpdmVuIGluZGV4LiIiIgogICAgICAgICByZXR1cm4gc2VsZi5fZ2V0aW50cygKICAgICAgICAgICAgICAgICBzZWxmLnRrLmNhbGwoc2VsZi5fdywgJ2Jib3gnLCBpbmRleCkpIG9yIE5vbmUKLSAgICBkZWYgdGtfdGV4dFNlbGVjdFRvKHNlbGYsIGluZGV4KToKLSAgICAgICAgc2VsZi50ay5jYWxsKCd0a190ZXh0U2VsZWN0VG8nLCBzZWxmLl93LCBpbmRleCkKLSAgICBkZWYgdGtfdGV4dEJhY2tzcGFjZShzZWxmKToKLSAgICAgICAgc2VsZi50ay5jYWxsKCd0a190ZXh0QmFja3NwYWNlJywgc2VsZi5fdykKLSAgICBkZWYgdGtfdGV4dEluZGV4Q2xvc2VyKHNlbGYsIGEsIGIsIGMpOgotICAgICAgICBzZWxmLnRrLmNhbGwoJ3RrX3RleHRJbmRleENsb3NlcicsIHNlbGYuX3csIGEsIGIsIGMpCi0gICAgZGVmIHRrX3RleHRSZXNldEFuY2hvcihzZWxmLCBpbmRleCk6Ci0gICAgICAgIHNlbGYudGsuY2FsbCgndGtfdGV4dFJlc2V0QW5jaG9yJywgc2VsZi5fdywgaW5kZXgpCiAgICAgZGVmIGNvbXBhcmUoc2VsZiwgaW5kZXgxLCBvcCwgaW5kZXgyKToKICAgICAgICAgIiIiUmV0dXJuIHdoZXRoZXIgYmV0d2VlbiBpbmRleCBJTkRFWDEgYW5kIGluZGV4IElOREVYMiB0aGUKICAgICAgICAgcmVsYXRpb24gT1AgaXMgc2F0aXNmaWVkLiBPUCBpcyBvbmUgb2YgPCwgPD0sID09LCA+PSwgPiwgb3IgIT0uIiIiCkBAIC0zODQ5LDM1ICszODEyLDEyIEBACiAgICAgICAgICIiIlJldHVybnMgYW4gb3JkZXJlZCBsaXN0IG9mIHRoZSBjaGlsZCBwYW5lcy4iIiIKICAgICAgICAgcmV0dXJuIHNlbGYudGsuc3BsaXRsaXN0KHNlbGYudGsuY2FsbChzZWxmLl93LCAncGFuZXMnKSkKIAotIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotIyBFeHRlbnNpb25zOgotCi1jbGFzcyBTdHVkYnV0dG9uKEJ1dHRvbik6Ci0gICAgZGVmIF9faW5pdF9fKHNlbGYsIG1hc3Rlcj1Ob25lLCBjbmY9e30sICoqa3cpOgotICAgICAgICBXaWRnZXQuX19pbml0X18oc2VsZiwgbWFzdGVyLCAnc3R1ZGJ1dHRvbicsIGNuZiwga3cpCi0gICAgICAgIHNlbGYuYmluZCgnPEFueS1FbnRlcj4nLCAgICAgICBzZWxmLnRrQnV0dG9uRW50ZXIpCi0gICAgICAgIHNlbGYuYmluZCgnPEFueS1MZWF2ZT4nLCAgICAgICBzZWxmLnRrQnV0dG9uTGVhdmUpCi0gICAgICAgIHNlbGYuYmluZCgnPDE+JywgICAgICAgICAgICAgICBzZWxmLnRrQnV0dG9uRG93bikKLSAgICAgICAgc2VsZi5iaW5kKCc8QnV0dG9uUmVsZWFzZS0xPicsIHNlbGYudGtCdXR0b25VcCkKLQotY2xhc3MgVHJpYnV0dG9uKEJ1dHRvbik6Ci0gICAgZGVmIF9faW5pdF9fKHNlbGYsIG1hc3Rlcj1Ob25lLCBjbmY9e30sICoqa3cpOgotICAgICAgICBXaWRnZXQuX19pbml0X18oc2VsZiwgbWFzdGVyLCAndHJpYnV0dG9uJywgY25mLCBrdykKLSAgICAgICAgc2VsZi5iaW5kKCc8QW55LUVudGVyPicsICAgICAgIHNlbGYudGtCdXR0b25FbnRlcikKLSAgICAgICAgc2VsZi5iaW5kKCc8QW55LUxlYXZlPicsICAgICAgIHNlbGYudGtCdXR0b25MZWF2ZSkKLSAgICAgICAgc2VsZi5iaW5kKCc8MT4nLCAgICAgICAgICAgICAgIHNlbGYudGtCdXR0b25Eb3duKQotICAgICAgICBzZWxmLmJpbmQoJzxCdXR0b25SZWxlYXNlLTE+Jywgc2VsZi50a0J1dHRvblVwKQotICAgICAgICBzZWxmWydmZyddICAgICAgICAgICAgICAgPSBzZWxmWydiZyddCi0gICAgICAgIHNlbGZbJ2FjdGl2ZWJhY2tncm91bmQnXSA9IHNlbGZbJ2JnJ10KLQotIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogIyBUZXN0OgogCiBkZWYgX3Rlc3QoKToKICAgICByb290ID0gVGsoKQogICAgIHRleHQgPSAiVGhpcyBpcyBUY2wvVGsgdmVyc2lvbiAlcyIgJSBUY2xWZXJzaW9uCi0gICAgaWYgVGNsVmVyc2lvbiA+PSA4LjE6Ci0gICAgICAgIHRleHQgKz0gIlxuVGhpcyBzaG91bGQgYmUgYSBjZWRpbGxhOiBceGU3IgorICAgIHRleHQgKz0gIlxuVGhpcyBzaG91bGQgYmUgYSBjZWRpbGxhOiBceGU3IgogICAgIGxhYmVsID0gTGFiZWwocm9vdCwgdGV4dD10ZXh0KQogICAgIGxhYmVsLnBhY2soKQogICAgIHRlc3QgPSBCdXR0b24ocm9vdCwgdGV4dD0iQ2xpY2sgbWUhIiwKZGlmZiAtLWdpdCBhL0xpYi90a2ludGVyL3Rlc3QvdGVzdF90a2ludGVyL3Rlc3RfbWlzYy5weSBiL0xpYi90a2ludGVyL3Rlc3QvdGVzdF90a2ludGVyL3Rlc3RfbWlzYy5weQppbmRleCBkOGRlOTQ5Li44NWVlMmM3IDEwMDY0NAotLS0gYS9MaWIvdGtpbnRlci90ZXN0L3Rlc3RfdGtpbnRlci90ZXN0X21pc2MucHkKKysrIGIvTGliL3RraW50ZXIvdGVzdC90ZXN0X3RraW50ZXIvdGVzdF9taXNjLnB5CkBAIC03LDYgKzcsMTEgQEAKIAogY2xhc3MgTWlzY1Rlc3QoQWJzdHJhY3RUa1Rlc3QsIHVuaXR0ZXN0LlRlc3RDYXNlKToKIAorICAgIGRlZiB0ZXN0X3JlcHIoc2VsZik6CisgICAgICAgIHQgPSB0a2ludGVyLlRvcGxldmVsKHNlbGYucm9vdCwgbmFtZT0ndG9wJykKKyAgICAgICAgZiA9IHRraW50ZXIuRnJhbWUodCwgbmFtZT0nY2hpbGQnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlcHIoZiksICc8dGtpbnRlci5GcmFtZSBvYmplY3QgLnRvcC5jaGlsZD4nKQorCiAgICAgZGVmIHRlc3RfdGtfc2V0UGFsZXR0ZShzZWxmKToKICAgICAgICAgcm9vdCA9IHNlbGYucm9vdAogICAgICAgICByb290LnRrX3NldFBhbGV0dGUoJ2JsYWNrJykKZGlmZiAtLWdpdCBhL0xpYi90a2ludGVyL3Rlc3QvdGVzdF90a2ludGVyL3Rlc3Rfd2lkZ2V0cy5weSBiL0xpYi90a2ludGVyL3Rlc3QvdGVzdF90a2ludGVyL3Rlc3Rfd2lkZ2V0cy5weQppbmRleCA1OGM4ZWExLi4yNWIxYTAyIDEwMDY0NAotLS0gYS9MaWIvdGtpbnRlci90ZXN0L3Rlc3RfdGtpbnRlci90ZXN0X3dpZGdldHMucHkKKysrIGIvTGliL3RraW50ZXIvdGVzdC90ZXN0X3RraW50ZXIvdGVzdF93aWRnZXRzLnB5CkBAIC05MjAsOCArOTIwLDkgQEAKICAgICAgICAgc2IgPSBzZWxmLmNyZWF0ZSgpCiAgICAgICAgIGZvciBlIGluICgnYXJyb3cxJywgJ3NsaWRlcicsICdhcnJvdzInKToKICAgICAgICAgICAgIHNiLmFjdGl2YXRlKGUpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNiLmFjdGl2YXRlKCksIGUpCiAgICAgICAgIHNiLmFjdGl2YXRlKCcnKQotICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIHNiLmFjdGl2YXRlKQorICAgICAgICBzZWxmLmFzc2VydElzTm9uZShzYi5hY3RpdmF0ZSgpKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIHNiLmFjdGl2YXRlLCAnYXJyb3cxJywgJ2Fycm93MicpCiAKICAgICBkZWYgdGVzdF9zZXQoc2VsZik6CkBAIC05MzEsOCArOTMyLDggQEAKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVGNsRXJyb3IsIHNiLnNldCwgJ2FiYycsICdkZWYnKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUY2xFcnJvciwgc2Iuc2V0LCAwLjYsICdkZWYnKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUY2xFcnJvciwgc2Iuc2V0LCAwLjYsIE5vbmUpCi0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFRjbEVycm9yLCBzYi5zZXQsIDAuNikKLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVGNsRXJyb3IsIHNiLnNldCwgMC42LCAwLjcsIDAuOCkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBzYi5zZXQsIDAuNikKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBzYi5zZXQsIDAuNiwgMC43LCAwLjgpCiAKIAogQGFkZF9zdGFuZGFyZF9vcHRpb25zKFN0YW5kYXJkT3B0aW9uc1Rlc3RzKQpkaWZmIC0tZ2l0IGEvTGliL3Rva2VuLnB5IGIvTGliL3Rva2VuLnB5CmluZGV4IDc0NzBjOGMuLmJkZmNlYzggMTAwNjQ0Ci0tLSBhL0xpYi90b2tlbi5weQorKysgYi9MaWIvdG9rZW4ucHkKQEAgLTYwLDExICs2MCwxMiBAQAogRE9VQkxFU0xBU0ggPSA0NwogRE9VQkxFU0xBU0hFUVVBTCA9IDQ4CiBBVCA9IDQ5Ci1SQVJST1cgPSA1MAotRUxMSVBTSVMgPSA1MQotT1AgPSA1MgotRVJST1JUT0tFTiA9IDUzCi1OX1RPS0VOUyA9IDU0CitBVEVRVUFMID0gNTAKK1JBUlJPVyA9IDUxCitFTExJUFNJUyA9IDUyCitPUCA9IDUzCitFUlJPUlRPS0VOID0gNTQKK05fVE9LRU5TID0gNTUKIE5UX09GRlNFVCA9IDI1NgogIy0tZW5kIGNvbnN0YW50cy0tCiAKZGlmZiAtLWdpdCBhL0xpYi90b2tlbml6ZS5weSBiL0xpYi90b2tlbml6ZS5weQppbmRleCA1YjQ3ZWJkLi4wNjU5YzU1IDEwMDY0NAotLS0gYS9MaWIvdG9rZW5pemUucHkKKysrIGIvTGliL3Rva2VuaXplLnB5CkBAIC05MCw3ICs5MCw4IEBACiAgICAgJyoqPSc6IERPVUJMRVNUQVJFUVVBTCwKICAgICAnLy8nOiAgRE9VQkxFU0xBU0gsCiAgICAgJy8vPSc6IERPVUJMRVNMQVNIRVFVQUwsCi0gICAgJ0AnOiAgIEFUCisgICAgJ0AnOiAgIEFULAorICAgICdAPSc6ICBBVEVRVUFMLAogfQogCiBjbGFzcyBUb2tlbkluZm8oY29sbGVjdGlvbnMubmFtZWR0dXBsZSgnVG9rZW5JbmZvJywgJ3R5cGUgc3RyaW5nIHN0YXJ0IGVuZCBsaW5lJykpOgpAQCAtMTQ5LDcgKzE1MCw3IEBACiAjIHJlY29nbml6ZWQgYXMgdHdvIGluc3RhbmNlcyBvZiA9KS4KIE9wZXJhdG9yID0gZ3JvdXAociJcKlwqPT8iLCByIj4+PT8iLCByIjw8PT8iLCByIiE9IiwKICAgICAgICAgICAgICAgICAgciIvLz0/IiwgciItPiIsCi0gICAgICAgICAgICAgICAgIHIiWytcLSovJSZ8Xj08Pl09PyIsCisgICAgICAgICAgICAgICAgIHIiWytcLSovJSZAfF49PD5dPT8iLAogICAgICAgICAgICAgICAgICByIn4iKQogCiBCcmFja2V0ID0gJ1tdWygpe31dJwpAQCAtMTg1LDcgKzE4Niw2IEBACiAgICAgICAgICAgICJyQicnJyI6IFNpbmdsZTMsICdyQiIiIic6IERvdWJsZTMsCiAgICAgICAgICAgICJSQicnJyI6IFNpbmdsZTMsICdSQiIiIic6IERvdWJsZTMsCiAgICAgICAgICAgICJ1JycnIjogU2luZ2xlMywgJ3UiIiInOiBEb3VibGUzLAotICAgICAgICAgICAiUicnJyI6IFNpbmdsZTMsICdSIiIiJzogRG91YmxlMywKICAgICAgICAgICAgIlUnJyciOiBTaW5nbGUzLCAnVSIiIic6IERvdWJsZTMsCiAgICAgICAgICAgICdyJzogTm9uZSwgJ1InOiBOb25lLCAnYic6IE5vbmUsICdCJzogTm9uZSwKICAgICAgICAgICAgJ3UnOiBOb25lLCAnVSc6IE5vbmV9CmRpZmYgLS1naXQgYS9MaWIvdHJhY2UucHkgYi9MaWIvdHJhY2UucHkKaW5kZXggMDlmZTllZS4uZmU4NDk3MyAxMDA3NTUKLS0tIGEvTGliL3RyYWNlLnB5CisrKyBiL0xpYi90cmFjZS5weQpAQCAtNTksMTAgKzU5LDcgQEAKIGltcG9ydCBkaXMKIGltcG9ydCBwaWNrbGUKIGZyb20gd2FybmluZ3MgaW1wb3J0IHdhcm4gYXMgX3dhcm4KLXRyeToKLSAgICBmcm9tIHRpbWUgaW1wb3J0IG1vbm90b25pYyBhcyBfdGltZQotZXhjZXB0IEltcG9ydEVycm9yOgotICAgIGZyb20gdGltZSBpbXBvcnQgdGltZSBhcyBfdGltZQorZnJvbSB0aW1lIGltcG9ydCBtb25vdG9uaWMgYXMgX3RpbWUKIAogdHJ5OgogICAgIGltcG9ydCB0aHJlYWRpbmcKQEAgLTMyNiwxNiArMzIzLDE3IEBACiAgICAgICAgICAgICAgICAgbG5vdGFiID0gX2ZpbmRfZXhlY3V0YWJsZV9saW5lbm9zKGZpbGVuYW1lKQogICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICBsbm90YWIgPSB7fQorICAgICAgICAgICAgaWYgbG5vdGFiOgorICAgICAgICAgICAgICAgIHNvdXJjZSA9IGxpbmVjYWNoZS5nZXRsaW5lcyhmaWxlbmFtZSkKKyAgICAgICAgICAgICAgICBjb3ZlcnBhdGggPSBvcy5wYXRoLmpvaW4oZGlyLCBtb2R1bGVuYW1lICsgIi5jb3ZlciIpCisgICAgICAgICAgICAgICAgd2l0aCBvcGVuKGZpbGVuYW1lLCAncmInKSBhcyBmcDoKKyAgICAgICAgICAgICAgICAgICAgZW5jb2RpbmcsIF8gPSB0b2tlbml6ZS5kZXRlY3RfZW5jb2RpbmcoZnAucmVhZGxpbmUpCisgICAgICAgICAgICAgICAgbl9oaXRzLCBuX2xpbmVzID0gc2VsZi53cml0ZV9yZXN1bHRzX2ZpbGUoY292ZXJwYXRoLCBzb3VyY2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG5vdGFiLCBjb3VudCwgZW5jb2RpbmcpCisgICAgICAgICAgICAgICAgaWYgc3VtbWFyeSBhbmQgbl9saW5lczoKKyAgICAgICAgICAgICAgICAgICAgcGVyY2VudCA9IGludCgxMDAgKiBuX2hpdHMgLyBuX2xpbmVzKQorICAgICAgICAgICAgICAgICAgICBzdW1zW21vZHVsZW5hbWVdID0gbl9saW5lcywgcGVyY2VudCwgbW9kdWxlbmFtZSwgZmlsZW5hbWUKIAotICAgICAgICAgICAgc291cmNlID0gbGluZWNhY2hlLmdldGxpbmVzKGZpbGVuYW1lKQotICAgICAgICAgICAgY292ZXJwYXRoID0gb3MucGF0aC5qb2luKGRpciwgbW9kdWxlbmFtZSArICIuY292ZXIiKQotICAgICAgICAgICAgd2l0aCBvcGVuKGZpbGVuYW1lLCAncmInKSBhcyBmcDoKLSAgICAgICAgICAgICAgICBlbmNvZGluZywgXyA9IHRva2VuaXplLmRldGVjdF9lbmNvZGluZyhmcC5yZWFkbGluZSkKLSAgICAgICAgICAgIG5faGl0cywgbl9saW5lcyA9IHNlbGYud3JpdGVfcmVzdWx0c19maWxlKGNvdmVycGF0aCwgc291cmNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG5vdGFiLCBjb3VudCwgZW5jb2RpbmcpCi0gICAgICAgICAgICBpZiBzdW1tYXJ5IGFuZCBuX2xpbmVzOgotICAgICAgICAgICAgICAgIHBlcmNlbnQgPSBpbnQoMTAwICogbl9oaXRzIC8gbl9saW5lcykKLSAgICAgICAgICAgICAgICBzdW1zW21vZHVsZW5hbWVdID0gbl9saW5lcywgcGVyY2VudCwgbW9kdWxlbmFtZSwgZmlsZW5hbWUKIAogICAgICAgICBpZiBzdW1tYXJ5IGFuZCBzdW1zOgogICAgICAgICAgICAgcHJpbnQoImxpbmVzICAgY292JSAgIG1vZHVsZSAgIChwYXRoKSIpCmRpZmYgLS1naXQgYS9MaWIvdHJhY2ViYWNrLnB5IGIvTGliL3RyYWNlYmFjay5weQppbmRleCBmYWY1OTNhLi4wYWMxODE5IDEwMDY0NAotLS0gYS9MaWIvdHJhY2ViYWNrLnB5CisrKyBiL0xpYi90cmFjZWJhY2sucHkKQEAgLTE0LDE5ICsxNCwxMiBAQAogIyBGb3JtYXR0aW5nIGFuZCBwcmludGluZyBsaXN0cyBvZiB0cmFjZWJhY2sgbGluZXMuCiAjCiAKLWRlZiBfZm9ybWF0X2xpc3RfaXRlcihleHRyYWN0ZWRfbGlzdCk6Ci0gICAgZm9yIGZpbGVuYW1lLCBsaW5lbm8sIG5hbWUsIGxpbmUgaW4gZXh0cmFjdGVkX2xpc3Q6Ci0gICAgICAgIGl0ZW0gPSAnICBGaWxlICJ7fSIsIGxpbmUge30sIGluIHt9XG4nLmZvcm1hdChmaWxlbmFtZSwgbGluZW5vLCBuYW1lKQotICAgICAgICBpZiBsaW5lOgotICAgICAgICAgICAgaXRlbSA9IGl0ZW0gKyAnICAgIHt9XG4nLmZvcm1hdChsaW5lLnN0cmlwKCkpCi0gICAgICAgIHlpZWxkIGl0ZW0KLQogZGVmIHByaW50X2xpc3QoZXh0cmFjdGVkX2xpc3QsIGZpbGU9Tm9uZSk6CiAgICAgIiIiUHJpbnQgdGhlIGxpc3Qgb2YgdHVwbGVzIGFzIHJldHVybmVkIGJ5IGV4dHJhY3RfdGIoKSBvcgogICAgIGV4dHJhY3Rfc3RhY2soKSBhcyBhIGZvcm1hdHRlZCBzdGFjayB0cmFjZSB0byB0aGUgZ2l2ZW4gZmlsZS4iIiIKICAgICBpZiBmaWxlIGlzIE5vbmU6CiAgICAgICAgIGZpbGUgPSBzeXMuc3RkZXJyCi0gICAgZm9yIGl0ZW0gaW4gX2Zvcm1hdF9saXN0X2l0ZXIoZXh0cmFjdGVkX2xpc3QpOgorICAgIGZvciBpdGVtIGluIFN0YWNrU3VtbWFyeS5mcm9tX2xpc3QoZXh0cmFjdGVkX2xpc3QpLmZvcm1hdCgpOgogICAgICAgICBwcmludChpdGVtLCBmaWxlPWZpbGUsIGVuZD0iIikKIAogZGVmIGZvcm1hdF9saXN0KGV4dHJhY3RlZF9saXN0KToKQEAgLTM5LDQ1ICszMiwxMiBAQAogICAgIHRoZSBzdHJpbmdzIG1heSBjb250YWluIGludGVybmFsIG5ld2xpbmVzIGFzIHdlbGwsIGZvciB0aG9zZSBpdGVtcwogICAgIHdob3NlIHNvdXJjZSB0ZXh0IGxpbmUgaXMgbm90IE5vbmUuCiAgICAgIiIiCi0gICAgcmV0dXJuIGxpc3QoX2Zvcm1hdF9saXN0X2l0ZXIoZXh0cmFjdGVkX2xpc3QpKQorICAgIHJldHVybiBTdGFja1N1bW1hcnkuZnJvbV9saXN0KGV4dHJhY3RlZF9saXN0KS5mb3JtYXQoKQogCiAjCiAjIFByaW50aW5nIGFuZCBFeHRyYWN0aW5nIFRyYWNlYmFja3MuCiAjCiAKLSMgZXh0cmFjdG9yIHRha2VzIGN1cnIgYW5kIG5lZWRzIHRvIHJldHVybiBhIHR1cGxlIG9mOgotIyAtIEZyYW1lIG9iamVjdAotIyAtIExpbmUgbnVtYmVyCi0jIC0gTmV4dCBpdGVtIChzYW1lIHR5cGUgYXMgY3VycikKLSMgSW4gcHJhY3RpY2UsIGN1cnIgaXMgZWl0aGVyIGEgdHJhY2ViYWNrIG9yIGEgZnJhbWUuCi1kZWYgX2V4dHJhY3RfdGJfb3Jfc3RhY2tfaXRlcihjdXJyLCBsaW1pdCwgZXh0cmFjdG9yKToKLSAgICBpZiBsaW1pdCBpcyBOb25lOgotICAgICAgICBsaW1pdCA9IGdldGF0dHIoc3lzLCAndHJhY2ViYWNrbGltaXQnLCBOb25lKQotCi0gICAgbiA9IDAKLSAgICB3aGlsZSBjdXJyIGlzIG5vdCBOb25lIGFuZCAobGltaXQgaXMgTm9uZSBvciBuIDwgbGltaXQpOgotICAgICAgICBmLCBsaW5lbm8sIG5leHRfaXRlbSA9IGV4dHJhY3RvcihjdXJyKQotICAgICAgICBjbyA9IGYuZl9jb2RlCi0gICAgICAgIGZpbGVuYW1lID0gY28uY29fZmlsZW5hbWUKLSAgICAgICAgbmFtZSA9IGNvLmNvX25hbWUKLQotICAgICAgICBsaW5lY2FjaGUuY2hlY2tjYWNoZShmaWxlbmFtZSkKLSAgICAgICAgbGluZSA9IGxpbmVjYWNoZS5nZXRsaW5lKGZpbGVuYW1lLCBsaW5lbm8sIGYuZl9nbG9iYWxzKQotCi0gICAgICAgIGlmIGxpbmU6Ci0gICAgICAgICAgICBsaW5lID0gbGluZS5zdHJpcCgpCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBsaW5lID0gTm9uZQotCi0gICAgICAgIHlpZWxkIChmaWxlbmFtZSwgbGluZW5vLCBuYW1lLCBsaW5lKQotICAgICAgICBjdXJyID0gbmV4dF9pdGVtCi0gICAgICAgIG4gKz0gMQotCi1kZWYgX2V4dHJhY3RfdGJfaXRlcih0YiwgbGltaXQpOgotICAgIHJldHVybiBfZXh0cmFjdF90Yl9vcl9zdGFja19pdGVyKAotICAgICAgICAgICAgICAgIHRiLCBsaW1pdCwKLSAgICAgICAgICAgICAgICBvcGVyYXRvci5hdHRyZ2V0dGVyKCJ0Yl9mcmFtZSIsICJ0Yl9saW5lbm8iLCAidGJfbmV4dCIpKQotCiBkZWYgcHJpbnRfdGIodGIsIGxpbWl0PU5vbmUsIGZpbGU9Tm9uZSk6CiAgICAgIiIiUHJpbnQgdXAgdG8gJ2xpbWl0JyBzdGFjayB0cmFjZSBlbnRyaWVzIGZyb20gdGhlIHRyYWNlYmFjayAndGInLgogCkBAIC05MCw3ICs1MCw3IEBACiAKIGRlZiBmb3JtYXRfdGIodGIsIGxpbWl0PU5vbmUpOgogICAgICIiIkEgc2hvcnRoYW5kIGZvciAnZm9ybWF0X2xpc3QoZXh0cmFjdF90Yih0YiwgbGltaXQpKScuIiIiCi0gICAgcmV0dXJuIGZvcm1hdF9saXN0KGV4dHJhY3RfdGIodGIsIGxpbWl0PWxpbWl0KSkKKyAgICByZXR1cm4gZXh0cmFjdF90Yih0YiwgbGltaXQ9bGltaXQpLmZvcm1hdCgpCiAKIGRlZiBleHRyYWN0X3RiKHRiLCBsaW1pdD1Ob25lKToKICAgICAiIiJSZXR1cm4gbGlzdCBvZiB1cCB0byBsaW1pdCBwcmUtcHJvY2Vzc2VkIGVudHJpZXMgZnJvbSB0cmFjZWJhY2suCkBAIC0xMDMsNyArNjMsNyBAQAogICAgIGxlYWRpbmcgYW5kIHRyYWlsaW5nIHdoaXRlc3BhY2Ugc3RyaXBwZWQ7IGlmIHRoZSBzb3VyY2UgaXMgbm90CiAgICAgYXZhaWxhYmxlIGl0IGlzIE5vbmUuCiAgICAgIiIiCi0gICAgcmV0dXJuIGxpc3QoX2V4dHJhY3RfdGJfaXRlcih0YiwgbGltaXQ9bGltaXQpKQorICAgIHJldHVybiBTdGFja1N1bW1hcnkuZXh0cmFjdCh3YWxrX3RiKHRiKSwgbGltaXQ9bGltaXQpCiAKICMKICMgRXhjZXB0aW9uIGZvcm1hdHRpbmcgYW5kIG91dHB1dC4KQEAgLTExMSw0NyArNzEsMTIgQEAKIAogX2NhdXNlX21lc3NhZ2UgPSAoCiAgICAgIlxuVGhlIGFib3ZlIGV4Y2VwdGlvbiB3YXMgdGhlIGRpcmVjdCBjYXVzZSAiCi0gICAgIm9mIHRoZSBmb2xsb3dpbmcgZXhjZXB0aW9uOlxuIikKKyAgICAib2YgdGhlIGZvbGxvd2luZyBleGNlcHRpb246XG5cbiIpCiAKIF9jb250ZXh0X21lc3NhZ2UgPSAoCiAgICAgIlxuRHVyaW5nIGhhbmRsaW5nIG9mIHRoZSBhYm92ZSBleGNlcHRpb24sICIKLSAgICAiYW5vdGhlciBleGNlcHRpb24gb2NjdXJyZWQ6XG4iKQorICAgICJhbm90aGVyIGV4Y2VwdGlvbiBvY2N1cnJlZDpcblxuIikKIAotZGVmIF9pdGVyX2NoYWluKGV4YywgY3VzdG9tX3RiPU5vbmUsIHNlZW49Tm9uZSk6Ci0gICAgaWYgc2VlbiBpcyBOb25lOgotICAgICAgICBzZWVuID0gc2V0KCkKLSAgICBzZWVuLmFkZChleGMpCi0gICAgaXRzID0gW10KLSAgICBjb250ZXh0ID0gZXhjLl9fY29udGV4dF9fCi0gICAgY2F1c2UgPSBleGMuX19jYXVzZV9fCi0gICAgaWYgY2F1c2UgaXMgbm90IE5vbmUgYW5kIGNhdXNlIG5vdCBpbiBzZWVuOgotICAgICAgICBpdHMuYXBwZW5kKF9pdGVyX2NoYWluKGNhdXNlLCBGYWxzZSwgc2VlbikpCi0gICAgICAgIGl0cy5hcHBlbmQoWyhfY2F1c2VfbWVzc2FnZSwgTm9uZSldKQotICAgIGVsaWYgKGNvbnRleHQgaXMgbm90IE5vbmUgYW5kCi0gICAgICAgICAgbm90IGV4Yy5fX3N1cHByZXNzX2NvbnRleHRfXyBhbmQKLSAgICAgICAgICBjb250ZXh0IG5vdCBpbiBzZWVuKToKLSAgICAgICAgaXRzLmFwcGVuZChfaXRlcl9jaGFpbihjb250ZXh0LCBOb25lLCBzZWVuKSkKLSAgICAgICAgaXRzLmFwcGVuZChbKF9jb250ZXh0X21lc3NhZ2UsIE5vbmUpXSkKLSAgICBpdHMuYXBwZW5kKFsoZXhjLCBjdXN0b21fdGIgb3IgZXhjLl9fdHJhY2ViYWNrX18pXSkKLSAgICAjIGl0ZXJ0b29scy5jaGFpbiBpcyBpbiBhbiBleHRlbnNpb24gbW9kdWxlIGFuZCBtYXkgYmUgdW5hdmFpbGFibGUKLSAgICBmb3IgaXQgaW4gaXRzOgotICAgICAgICB5aWVsZCBmcm9tIGl0Ci0KLWRlZiBfZm9ybWF0X2V4Y2VwdGlvbl9pdGVyKGV0eXBlLCB2YWx1ZSwgdGIsIGxpbWl0LCBjaGFpbik6Ci0gICAgaWYgY2hhaW46Ci0gICAgICAgIHZhbHVlcyA9IF9pdGVyX2NoYWluKHZhbHVlLCB0YikKLSAgICBlbHNlOgotICAgICAgICB2YWx1ZXMgPSBbKHZhbHVlLCB0YildCi0KLSAgICBmb3IgdmFsdWUsIHRiIGluIHZhbHVlczoKLSAgICAgICAgaWYgaXNpbnN0YW5jZSh2YWx1ZSwgc3RyKToKLSAgICAgICAgICAgICMgVGhpcyBpcyBhIGNhdXNlL2NvbnRleHQgbWVzc2FnZSBsaW5lCi0gICAgICAgICAgICB5aWVsZCB2YWx1ZSArICdcbicKLSAgICAgICAgICAgIGNvbnRpbnVlCi0gICAgICAgIGlmIHRiOgotICAgICAgICAgICAgeWllbGQgJ1RyYWNlYmFjayAobW9zdCByZWNlbnQgY2FsbCBsYXN0KTpcbicKLSAgICAgICAgICAgIHlpZWxkIGZyb20gX2Zvcm1hdF9saXN0X2l0ZXIoX2V4dHJhY3RfdGJfaXRlcih0YiwgbGltaXQ9bGltaXQpKQotICAgICAgICB5aWVsZCBmcm9tIF9mb3JtYXRfZXhjZXB0aW9uX29ubHlfaXRlcih0eXBlKHZhbHVlKSwgdmFsdWUpCiAKIGRlZiBwcmludF9leGNlcHRpb24oZXR5cGUsIHZhbHVlLCB0YiwgbGltaXQ9Tm9uZSwgZmlsZT1Ob25lLCBjaGFpbj1UcnVlKToKICAgICAiIiJQcmludCBleGNlcHRpb24gdXAgdG8gJ2xpbWl0JyBzdGFjayB0cmFjZSBlbnRyaWVzIGZyb20gJ3RiJyB0byAnZmlsZScuCkBAIC0xNjQsMTEgKzg5LDE2IEBACiAgICAgb2NjdXJyZWQgd2l0aCBhIGNhcmV0IG9uIHRoZSBuZXh0IGxpbmUgaW5kaWNhdGluZyB0aGUgYXBwcm94aW1hdGUKICAgICBwb3NpdGlvbiBvZiB0aGUgZXJyb3IuCiAgICAgIiIiCisgICAgIyBmb3JtYXRfZXhjZXB0aW9uIGhhcyBpZ25vcmVkIGV0eXBlIGZvciBzb21lIHRpbWUsIGFuZCBjb2RlIHN1Y2ggYXMgY2dpdGIKKyAgICAjIHBhc3NlcyBpbiBib2d1cyB2YWx1ZXMgYXMgYSByZXN1bHQuIEZvciBjb21wYXRpYmlsaXR5IHdpdGggc3VjaCBjb2RlIHdlCisgICAgIyBpZ25vcmUgaXQgaGVyZSAocmF0aGVyIHRoYW4gaW4gdGhlIG5ldyBUcmFjZWJhY2tFeGNlcHRpb24gQVBJKS4KICAgICBpZiBmaWxlIGlzIE5vbmU6CiAgICAgICAgIGZpbGUgPSBzeXMuc3RkZXJyCi0gICAgZm9yIGxpbmUgaW4gX2Zvcm1hdF9leGNlcHRpb25faXRlcihldHlwZSwgdmFsdWUsIHRiLCBsaW1pdCwgY2hhaW4pOgorICAgIGZvciBsaW5lIGluIFRyYWNlYmFja0V4Y2VwdGlvbigKKyAgICAgICAgICAgIHR5cGUodmFsdWUpLCB2YWx1ZSwgdGIsIGxpbWl0PWxpbWl0KS5mb3JtYXQoY2hhaW49Y2hhaW4pOgogICAgICAgICBwcmludChsaW5lLCBmaWxlPWZpbGUsIGVuZD0iIikKIAorCiBkZWYgZm9ybWF0X2V4Y2VwdGlvbihldHlwZSwgdmFsdWUsIHRiLCBsaW1pdD1Ob25lLCBjaGFpbj1UcnVlKToKICAgICAiIiJGb3JtYXQgYSBzdGFjayB0cmFjZSBhbmQgdGhlIGV4Y2VwdGlvbiBpbmZvcm1hdGlvbi4KIApAQCAtMTc4LDcgKzEwOCwxMiBAQAogICAgIHRoZXNlIGxpbmVzIGFyZSBjb25jYXRlbmF0ZWQgYW5kIHByaW50ZWQsIGV4YWN0bHkgdGhlIHNhbWUgdGV4dCBpcwogICAgIHByaW50ZWQgYXMgZG9lcyBwcmludF9leGNlcHRpb24oKS4KICAgICAiIiIKLSAgICByZXR1cm4gbGlzdChfZm9ybWF0X2V4Y2VwdGlvbl9pdGVyKGV0eXBlLCB2YWx1ZSwgdGIsIGxpbWl0LCBjaGFpbikpCisgICAgIyBmb3JtYXRfZXhjZXB0aW9uIGhhcyBpZ25vcmVkIGV0eXBlIGZvciBzb21lIHRpbWUsIGFuZCBjb2RlIHN1Y2ggYXMgY2dpdGIKKyAgICAjIHBhc3NlcyBpbiBib2d1cyB2YWx1ZXMgYXMgYSByZXN1bHQuIEZvciBjb21wYXRpYmlsaXR5IHdpdGggc3VjaCBjb2RlIHdlCisgICAgIyBpZ25vcmUgaXQgaGVyZSAocmF0aGVyIHRoYW4gaW4gdGhlIG5ldyBUcmFjZWJhY2tFeGNlcHRpb24gQVBJKS4KKyAgICByZXR1cm4gbGlzdChUcmFjZWJhY2tFeGNlcHRpb24oCisgICAgICAgIHR5cGUodmFsdWUpLCB2YWx1ZSwgdGIsIGxpbWl0PWxpbWl0KS5mb3JtYXQoY2hhaW49Y2hhaW4pKQorCiAKIGRlZiBmb3JtYXRfZXhjZXB0aW9uX29ubHkoZXR5cGUsIHZhbHVlKToKICAgICAiIiJGb3JtYXQgdGhlIGV4Y2VwdGlvbiBwYXJ0IG9mIGEgdHJhY2ViYWNrLgpAQCAtMTk2LDQ2ICsxMzEsMTQgQEAKICAgICBzdHJpbmcgaW4gdGhlIGxpc3QuCiAKICAgICAiIiIKLSAgICByZXR1cm4gbGlzdChfZm9ybWF0X2V4Y2VwdGlvbl9vbmx5X2l0ZXIoZXR5cGUsIHZhbHVlKSkKKyAgICByZXR1cm4gbGlzdChUcmFjZWJhY2tFeGNlcHRpb24oZXR5cGUsIHZhbHVlLCBOb25lKS5mb3JtYXRfZXhjZXB0aW9uX29ubHkoKSkKIAotZGVmIF9mb3JtYXRfZXhjZXB0aW9uX29ubHlfaXRlcihldHlwZSwgdmFsdWUpOgotICAgICMgR3JhY2VmdWxseSBoYW5kbGUgKHRoZSB3YXkgUHl0aG9uIDIuNCBhbmQgZWFybGllciBkaWQpIHRoZSBjYXNlIG9mCi0gICAgIyBiZWluZyBjYWxsZWQgd2l0aCAoTm9uZSwgTm9uZSkuCi0gICAgaWYgZXR5cGUgaXMgTm9uZToKLSAgICAgICAgeWllbGQgX2Zvcm1hdF9maW5hbF9leGNfbGluZShldHlwZSwgdmFsdWUpCi0gICAgICAgIHJldHVybgogCi0gICAgc3R5cGUgPSBldHlwZS5fX25hbWVfXwotICAgIHNtb2QgPSBldHlwZS5fX21vZHVsZV9fCi0gICAgaWYgc21vZCBub3QgaW4gKCJfX21haW5fXyIsICJidWlsdGlucyIpOgotICAgICAgICBzdHlwZSA9IHNtb2QgKyAnLicgKyBzdHlwZQotCi0gICAgaWYgbm90IGlzc3ViY2xhc3MoZXR5cGUsIFN5bnRheEVycm9yKToKLSAgICAgICAgeWllbGQgX2Zvcm1hdF9maW5hbF9leGNfbGluZShzdHlwZSwgdmFsdWUpCi0gICAgICAgIHJldHVybgotCi0gICAgIyBJdCB3YXMgYSBzeW50YXggZXJyb3I7IHNob3cgZXhhY3RseSB3aGVyZSB0aGUgcHJvYmxlbSB3YXMgZm91bmQuCi0gICAgZmlsZW5hbWUgPSB2YWx1ZS5maWxlbmFtZSBvciAiPHN0cmluZz4iCi0gICAgbGluZW5vID0gc3RyKHZhbHVlLmxpbmVubykgb3IgJz8nCi0gICAgeWllbGQgJyAgRmlsZSAie30iLCBsaW5lIHt9XG4nLmZvcm1hdChmaWxlbmFtZSwgbGluZW5vKQotCi0gICAgYmFkbGluZSA9IHZhbHVlLnRleHQKLSAgICBvZmZzZXQgPSB2YWx1ZS5vZmZzZXQKLSAgICBpZiBiYWRsaW5lIGlzIG5vdCBOb25lOgotICAgICAgICB5aWVsZCAnICAgIHt9XG4nLmZvcm1hdChiYWRsaW5lLnN0cmlwKCkpCi0gICAgICAgIGlmIG9mZnNldCBpcyBub3QgTm9uZToKLSAgICAgICAgICAgIGNhcmV0c3BhY2UgPSBiYWRsaW5lLnJzdHJpcCgnXG4nKQotICAgICAgICAgICAgb2Zmc2V0ID0gbWluKGxlbihjYXJldHNwYWNlKSwgb2Zmc2V0KSAtIDEKLSAgICAgICAgICAgIGNhcmV0c3BhY2UgPSBjYXJldHNwYWNlWzpvZmZzZXRdLmxzdHJpcCgpCi0gICAgICAgICAgICAjIG5vbi1zcGFjZSB3aGl0ZXNwYWNlIChsaWtlcyB0YWJzKSBtdXN0IGJlIGtlcHQgZm9yIGFsaWdubWVudAotICAgICAgICAgICAgY2FyZXRzcGFjZSA9ICgoYy5pc3NwYWNlKCkgYW5kIGMgb3IgJyAnKSBmb3IgYyBpbiBjYXJldHNwYWNlKQotICAgICAgICAgICAgeWllbGQgJyAgICB7fV5cbicuZm9ybWF0KCcnLmpvaW4oY2FyZXRzcGFjZSkpCi0gICAgbXNnID0gdmFsdWUubXNnIG9yICI8bm8gZGV0YWlsIGF2YWlsYWJsZT4iCi0gICAgeWllbGQgInt9OiB7fVxuIi5mb3JtYXQoc3R5cGUsIG1zZykKKyMgLS0gbm90IG9mZmljYWwgQVBJIGJ1dCBmb2xrIHByb2JhYmx5IHVzZSB0aGVzZSB0d28gZnVuY3Rpb25zLgogCiBkZWYgX2Zvcm1hdF9maW5hbF9leGNfbGluZShldHlwZSwgdmFsdWUpOgogICAgIHZhbHVlc3RyID0gX3NvbWVfc3RyKHZhbHVlKQotICAgIGlmIHZhbHVlIGlzIE5vbmUgb3Igbm90IHZhbHVlc3RyOgorICAgIGlmIHZhbHVlID09ICdOb25lJyBvciB2YWx1ZSBpcyBOb25lIG9yIG5vdCB2YWx1ZXN0cjoKICAgICAgICAgbGluZSA9ICIlc1xuIiAlIGV0eXBlCiAgICAgZWxzZToKICAgICAgICAgbGluZSA9ICIlczogJXNcbiIgJSAoZXR5cGUsIHZhbHVlc3RyKQpAQCAtMjQ3LDYgKzE1MCw4IEBACiAgICAgZXhjZXB0OgogICAgICAgICByZXR1cm4gJzx1bnByaW50YWJsZSAlcyBvYmplY3Q+JyAlIHR5cGUodmFsdWUpLl9fbmFtZV9fCiAKKyMgLS0KKwogZGVmIHByaW50X2V4YyhsaW1pdD1Ob25lLCBmaWxlPU5vbmUsIGNoYWluPVRydWUpOgogICAgICIiIlNob3J0aGFuZCBmb3IgJ3ByaW50X2V4Y2VwdGlvbigqc3lzLmV4Y19pbmZvKCksIGxpbWl0LCBmaWxlKScuIiIiCiAgICAgcHJpbnRfZXhjZXB0aW9uKCpzeXMuZXhjX2luZm8oKSwgbGltaXQ9bGltaXQsIGZpbGU9ZmlsZSwgY2hhaW49Y2hhaW4pCkBAIC0yNjcsMTUgKzE3Miw2IEBACiAjIFByaW50aW5nIGFuZCBFeHRyYWN0aW5nIFN0YWNrcy4KICMKIAotZGVmIF9leHRyYWN0X3N0YWNrX2l0ZXIoZiwgbGltaXQ9Tm9uZSk6Ci0gICAgcmV0dXJuIF9leHRyYWN0X3RiX29yX3N0YWNrX2l0ZXIoCi0gICAgICAgICAgICAgICAgZiwgbGltaXQsIGxhbWJkYSBmOiAoZiwgZi5mX2xpbmVubywgZi5mX2JhY2spKQotCi1kZWYgX2dldF9zdGFjayhmKToKLSAgICBpZiBmIGlzIE5vbmU6Ci0gICAgICAgIGYgPSBzeXMuX2dldGZyYW1lKCkuZl9iYWNrLmZfYmFjawotICAgIHJldHVybiBmCi0KIGRlZiBwcmludF9zdGFjayhmPU5vbmUsIGxpbWl0PU5vbmUsIGZpbGU9Tm9uZSk6CiAgICAgIiIiUHJpbnQgYSBzdGFjayB0cmFjZSBmcm9tIGl0cyBpbnZvY2F0aW9uIHBvaW50LgogCkBAIC0yODMsMTEgKzE3OSwxMyBAQAogICAgIHN0YWNrIGZyYW1lIGF0IHdoaWNoIHRvIHN0YXJ0LiBUaGUgb3B0aW9uYWwgJ2xpbWl0JyBhbmQgJ2ZpbGUnCiAgICAgYXJndW1lbnRzIGhhdmUgdGhlIHNhbWUgbWVhbmluZyBhcyBmb3IgcHJpbnRfZXhjZXB0aW9uKCkuCiAgICAgIiIiCi0gICAgcHJpbnRfbGlzdChleHRyYWN0X3N0YWNrKF9nZXRfc3RhY2soZiksIGxpbWl0PWxpbWl0KSwgZmlsZT1maWxlKQorICAgIHByaW50X2xpc3QoZXh0cmFjdF9zdGFjayhmLCBsaW1pdD1saW1pdCksIGZpbGU9ZmlsZSkKKwogCiBkZWYgZm9ybWF0X3N0YWNrKGY9Tm9uZSwgbGltaXQ9Tm9uZSk6CiAgICAgIiIiU2hvcnRoYW5kIGZvciAnZm9ybWF0X2xpc3QoZXh0cmFjdF9zdGFjayhmLCBsaW1pdCkpJy4iIiIKLSAgICByZXR1cm4gZm9ybWF0X2xpc3QoZXh0cmFjdF9zdGFjayhfZ2V0X3N0YWNrKGYpLCBsaW1pdD1saW1pdCkpCisgICAgcmV0dXJuIGZvcm1hdF9saXN0KGV4dHJhY3Rfc3RhY2soZiwgbGltaXQ9bGltaXQpKQorCiAKIGRlZiBleHRyYWN0X3N0YWNrKGY9Tm9uZSwgbGltaXQ9Tm9uZSk6CiAgICAgIiIiRXh0cmFjdCB0aGUgcmF3IHRyYWNlYmFjayBmcm9tIHRoZSBjdXJyZW50IHN0YWNrIGZyYW1lLgpAQCAtMjk4LDEwICsxOTYsMTEgQEAKICAgICBsaW5lIG51bWJlciwgZnVuY3Rpb24gbmFtZSwgdGV4dCksIGFuZCB0aGUgZW50cmllcyBhcmUgaW4gb3JkZXIKICAgICBmcm9tIG9sZGVzdCB0byBuZXdlc3Qgc3RhY2sgZnJhbWUuCiAgICAgIiIiCi0gICAgc3RhY2sgPSBsaXN0KF9leHRyYWN0X3N0YWNrX2l0ZXIoX2dldF9zdGFjayhmKSwgbGltaXQ9bGltaXQpKQorICAgIHN0YWNrID0gU3RhY2tTdW1tYXJ5LmV4dHJhY3Qod2Fsa19zdGFjayhmKSwgbGltaXQ9bGltaXQpCiAgICAgc3RhY2sucmV2ZXJzZSgpCiAgICAgcmV0dXJuIHN0YWNrCiAKKwogZGVmIGNsZWFyX2ZyYW1lcyh0Yik6CiAgICAgIkNsZWFyIGFsbCByZWZlcmVuY2VzIHRvIGxvY2FsIHZhcmlhYmxlcyBpbiB0aGUgZnJhbWVzIG9mIGEgdHJhY2ViYWNrLiIKICAgICB3aGlsZSB0YiBpcyBub3QgTm9uZToKQEAgLTMxMSwzICsyMTAsMzQ0IEBACiAgICAgICAgICAgICAjIElnbm9yZSB0aGUgZXhjZXB0aW9uIHJhaXNlZCBpZiB0aGUgZnJhbWUgaXMgc3RpbGwgZXhlY3V0aW5nLgogICAgICAgICAgICAgcGFzcwogICAgICAgICB0YiA9IHRiLnRiX25leHQKKworCitjbGFzcyBGcmFtZVN1bW1hcnk6CisgICAgIiIiQSBzaW5nbGUgZnJhbWUgZnJvbSBhIHRyYWNlYmFjay4KKworICAgIC0gOmF0dHI6YGZpbGVuYW1lYCBUaGUgZmlsZW5hbWUgZm9yIHRoZSBmcmFtZS4KKyAgICAtIDphdHRyOmBsaW5lbm9gIFRoZSBsaW5lIHdpdGhpbiBmaWxlbmFtZSBmb3IgdGhlIGZyYW1lIHRoYXQgd2FzCisgICAgICBhY3RpdmUgd2hlbiB0aGUgZnJhbWUgd2FzIGNhcHR1cmVkLgorICAgIC0gOmF0dHI6YG5hbWVgIFRoZSBuYW1lIG9mIHRoZSBmdW5jdGlvbiBvciBtZXRob2QgdGhhdCB3YXMgZXhlY3V0aW5nCisgICAgICB3aGVuIHRoZSBmcmFtZSB3YXMgY2FwdHVyZWQuCisgICAgLSA6YXR0cjpgbGluZWAgVGhlIHRleHQgZnJvbSB0aGUgbGluZWNhY2hlIG1vZHVsZSBmb3IgdGhlCisgICAgICBvZiBjb2RlIHRoYXQgd2FzIHJ1bm5pbmcgd2hlbiB0aGUgZnJhbWUgd2FzIGNhcHR1cmVkLgorICAgIC0gOmF0dHI6YGxvY2Fsc2AgRWl0aGVyIE5vbmUgaWYgbG9jYWxzIHdlcmUgbm90IHN1cHBsaWVkLCBvciBhIGRpY3QKKyAgICAgIG1hcHBpbmcgdGhlIG5hbWUgdG8gdGhlIHJlcHIoKSBvZiB0aGUgdmFyaWFibGUuCisgICAgIiIiCisKKyAgICBfX3Nsb3RzX18gPSAoJ2ZpbGVuYW1lJywgJ2xpbmVubycsICduYW1lJywgJ19saW5lJywgJ2xvY2FscycpCisKKyAgICBkZWYgX19pbml0X18oc2VsZiwgZmlsZW5hbWUsIGxpbmVubywgbmFtZSwgKiwgbG9va3VwX2xpbmU9VHJ1ZSwKKyAgICAgICAgICAgIGxvY2Fscz1Ob25lLCBsaW5lPU5vbmUpOgorICAgICAgICAiIiJDb25zdHJ1Y3QgYSBGcmFtZVN1bW1hcnkuCisKKyAgICAgICAgOnBhcmFtIGxvb2t1cF9saW5lOiBJZiBUcnVlLCBgbGluZWNhY2hlYCBpcyBjb25zdWx0ZWQgZm9yIHRoZSBzb3VyY2UKKyAgICAgICAgICAgIGNvZGUgbGluZS4gT3RoZXJ3aXNlLCB0aGUgbGluZSB3aWxsIGJlIGxvb2tlZCB1cCB3aGVuIGZpcnN0IG5lZWRlZC4KKyAgICAgICAgOnBhcmFtIGxvY2FsczogSWYgc3VwcGxpZWQgdGhlIGZyYW1lIGxvY2Fscywgd2hpY2ggd2lsbCBiZSBjYXB0dXJlZCBhcworICAgICAgICAgICAgb2JqZWN0IHJlcHJlc2VudGF0aW9ucy4KKyAgICAgICAgOnBhcmFtIGxpbmU6IElmIHByb3ZpZGVkLCB1c2UgdGhpcyBpbnN0ZWFkIG9mIGxvb2tpbmcgdXAgdGhlIGxpbmUgaW4KKyAgICAgICAgICAgIHRoZSBsaW5lY2FjaGUuCisgICAgICAgICIiIgorICAgICAgICBzZWxmLmZpbGVuYW1lID0gZmlsZW5hbWUKKyAgICAgICAgc2VsZi5saW5lbm8gPSBsaW5lbm8KKyAgICAgICAgc2VsZi5uYW1lID0gbmFtZQorICAgICAgICBzZWxmLl9saW5lID0gbGluZQorICAgICAgICBpZiBsb29rdXBfbGluZToKKyAgICAgICAgICAgIHNlbGYubGluZQorICAgICAgICBzZWxmLmxvY2FscyA9IFwKKyAgICAgICAgICAgIGRpY3QoKGssIHJlcHIodikpIGZvciBrLCB2IGluIGxvY2Fscy5pdGVtcygpKSBpZiBsb2NhbHMgZWxzZSBOb25lCisKKyAgICBkZWYgX19lcV9fKHNlbGYsIG90aGVyKToKKyAgICAgICAgcmV0dXJuIChzZWxmLmZpbGVuYW1lID09IG90aGVyLmZpbGVuYW1lIGFuZAorICAgICAgICAgICAgICAgIHNlbGYubGluZW5vID09IG90aGVyLmxpbmVubyBhbmQKKyAgICAgICAgICAgICAgICBzZWxmLm5hbWUgPT0gb3RoZXIubmFtZSBhbmQKKyAgICAgICAgICAgICAgICBzZWxmLmxvY2FscyA9PSBvdGhlci5sb2NhbHMpCisKKyAgICBkZWYgX19nZXRpdGVtX18oc2VsZiwgcG9zKToKKyAgICAgICAgcmV0dXJuIChzZWxmLmZpbGVuYW1lLCBzZWxmLmxpbmVubywgc2VsZi5uYW1lLCBzZWxmLmxpbmUpW3Bvc10KKworICAgIGRlZiBfX2l0ZXJfXyhzZWxmKToKKyAgICAgICAgcmV0dXJuIGl0ZXIoW3NlbGYuZmlsZW5hbWUsIHNlbGYubGluZW5vLCBzZWxmLm5hbWUsIHNlbGYubGluZV0pCisKKyAgICBkZWYgX19yZXByX18oc2VsZik6CisgICAgICAgIHJldHVybiAiPEZyYW1lU3VtbWFyeSBmaWxlIHtmaWxlbmFtZX0sIGxpbmUge2xpbmVub30gaW4ge25hbWV9PiIuZm9ybWF0KAorICAgICAgICAgICAgZmlsZW5hbWU9c2VsZi5maWxlbmFtZSwgbGluZW5vPXNlbGYubGluZW5vLCBuYW1lPXNlbGYubmFtZSkKKworICAgIEBwcm9wZXJ0eQorICAgIGRlZiBsaW5lKHNlbGYpOgorICAgICAgICBpZiBzZWxmLl9saW5lIGlzIE5vbmU6CisgICAgICAgICAgICBzZWxmLl9saW5lID0gbGluZWNhY2hlLmdldGxpbmUoc2VsZi5maWxlbmFtZSwgc2VsZi5saW5lbm8pLnN0cmlwKCkKKyAgICAgICAgcmV0dXJuIHNlbGYuX2xpbmUKKworCitkZWYgd2Fsa19zdGFjayhmKToKKyAgICAiIiJXYWxrIGEgc3RhY2sgeWllbGRpbmcgdGhlIGZyYW1lIGFuZCBsaW5lIG51bWJlciBmb3IgZWFjaCBmcmFtZS4KKworICAgIFRoaXMgd2lsbCBmb2xsb3cgZi5mX2JhY2sgZnJvbSB0aGUgZ2l2ZW4gZnJhbWUuIElmIG5vIGZyYW1lIGlzIGdpdmVuLCB0aGUKKyAgICBjdXJyZW50IHN0YWNrIGlzIHVzZWQuIFVzdWFsbHkgdXNlZCB3aXRoIFN0YWNrU3VtbWFyeS5leHRyYWN0LgorICAgICIiIgorICAgIGlmIGYgaXMgTm9uZToKKyAgICAgICAgZiA9IHN5cy5fZ2V0ZnJhbWUoKS5mX2JhY2suZl9iYWNrCisgICAgd2hpbGUgZiBpcyBub3QgTm9uZToKKyAgICAgICAgeWllbGQgZiwgZi5mX2xpbmVubworICAgICAgICBmID0gZi5mX2JhY2sKKworCitkZWYgd2Fsa190Yih0Yik6CisgICAgIiIiV2FsayBhIHRyYWNlYmFjayB5aWVsZGluZyB0aGUgZnJhbWUgYW5kIGxpbmUgbnVtYmVyIGZvciBlYWNoIGZyYW1lLgorCisgICAgVGhpcyB3aWxsIGZvbGxvdyB0Yi50Yl9uZXh0IChhbmQgdGh1cyBpcyBpbiB0aGUgb3Bwb3NpdGUgb3JkZXIgdG8KKyAgICB3YWxrX3N0YWNrKS4gVXN1YWxseSB1c2VkIHdpdGggU3RhY2tTdW1tYXJ5LmV4dHJhY3QuCisgICAgIiIiCisgICAgd2hpbGUgdGIgaXMgbm90IE5vbmU6CisgICAgICAgIHlpZWxkIHRiLnRiX2ZyYW1lLCB0Yi50Yl9saW5lbm8KKyAgICAgICAgdGIgPSB0Yi50Yl9uZXh0CisKKworY2xhc3MgU3RhY2tTdW1tYXJ5KGxpc3QpOgorICAgICIiIkEgc3RhY2sgb2YgZnJhbWVzLiIiIgorCisgICAgQGNsYXNzbWV0aG9kCisgICAgZGVmIGV4dHJhY3Qoa2xhc3MsIGZyYW1lX2dlbiwgKiwgbGltaXQ9Tm9uZSwgbG9va3VwX2xpbmVzPVRydWUsCisgICAgICAgICAgICBjYXB0dXJlX2xvY2Fscz1GYWxzZSk6CisgICAgICAgICIiIkNyZWF0ZSBhIFN0YWNrU3VtbWFyeSBmcm9tIGEgdHJhY2ViYWNrIG9yIHN0YWNrIG9iamVjdC4KKworICAgICAgICA6cGFyYW0gZnJhbWVfZ2VuOiBBIGdlbmVyYXRvciB0aGF0IHlpZWxkcyAoZnJhbWUsIGxpbmVubykgdHVwbGVzIHRvCisgICAgICAgICAgICBpbmNsdWRlIGluIHRoZSBzdGFjay4KKyAgICAgICAgOnBhcmFtIGxpbWl0OiBOb25lIHRvIGluY2x1ZGUgYWxsIGZyYW1lcyBvciB0aGUgbnVtYmVyIG9mIGZyYW1lcyB0bworICAgICAgICAgICAgaW5jbHVkZS4KKyAgICAgICAgOnBhcmFtIGxvb2t1cF9saW5lczogSWYgVHJ1ZSwgbG9va3VwIGxpbmVzIGZvciBlYWNoIGZyYW1lIGltbWVkaWF0ZWx5LAorICAgICAgICAgICAgb3RoZXJ3aXNlIGxvb2t1cCBpcyBkZWZlcnJlZCB1bnRpbCB0aGUgZnJhbWUgaXMgcmVuZGVyZWQuCisgICAgICAgIDpwYXJhbSBjYXB0dXJlX2xvY2FsczogSWYgVHJ1ZSwgdGhlIGxvY2FsIHZhcmlhYmxlcyBmcm9tIGVhY2ggZnJhbWUgd2lsbAorICAgICAgICAgICAgYmUgY2FwdHVyZWQgYXMgb2JqZWN0IHJlcHJlc2VudGF0aW9ucyBpbnRvIHRoZSBGcmFtZVN1bW1hcnkuCisgICAgICAgICIiIgorICAgICAgICBpZiBsaW1pdCBpcyBOb25lOgorICAgICAgICAgICAgbGltaXQgPSBnZXRhdHRyKHN5cywgJ3RyYWNlYmFja2xpbWl0JywgTm9uZSkKKworICAgICAgICByZXN1bHQgPSBrbGFzcygpCisgICAgICAgIGZuYW1lcyA9IHNldCgpCisgICAgICAgIGZvciBwb3MsIChmLCBsaW5lbm8pIGluIGVudW1lcmF0ZShmcmFtZV9nZW4pOgorICAgICAgICAgICAgaWYgbGltaXQgaXMgbm90IE5vbmUgYW5kIHBvcyA+PSBsaW1pdDoKKyAgICAgICAgICAgICAgICBicmVhaworICAgICAgICAgICAgY28gPSBmLmZfY29kZQorICAgICAgICAgICAgZmlsZW5hbWUgPSBjby5jb19maWxlbmFtZQorICAgICAgICAgICAgbmFtZSA9IGNvLmNvX25hbWUKKworICAgICAgICAgICAgZm5hbWVzLmFkZChmaWxlbmFtZSkKKyAgICAgICAgICAgIGxpbmVjYWNoZS5sYXp5Y2FjaGUoZmlsZW5hbWUsIGYuZl9nbG9iYWxzKQorICAgICAgICAgICAgIyBNdXN0IGRlZmVyIGxpbmUgbG9va3VwcyB1bnRpbCB3ZSBoYXZlIGNhbGxlZCBjaGVja2NhY2hlLgorICAgICAgICAgICAgaWYgY2FwdHVyZV9sb2NhbHM6CisgICAgICAgICAgICAgICAgZl9sb2NhbHMgPSBmLmZfbG9jYWxzCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIGZfbG9jYWxzID0gTm9uZQorICAgICAgICAgICAgcmVzdWx0LmFwcGVuZChGcmFtZVN1bW1hcnkoCisgICAgICAgICAgICAgICAgZmlsZW5hbWUsIGxpbmVubywgbmFtZSwgbG9va3VwX2xpbmU9RmFsc2UsIGxvY2Fscz1mX2xvY2FscykpCisgICAgICAgIGZvciBmaWxlbmFtZSBpbiBmbmFtZXM6CisgICAgICAgICAgICBsaW5lY2FjaGUuY2hlY2tjYWNoZShmaWxlbmFtZSkKKyAgICAgICAgIyBJZiBpbW1lZGlhdGUgbG9va3VwIHdhcyBkZXNpcmVkLCB0cmlnZ2VyIGxvb2t1cHMgbm93LgorICAgICAgICBpZiBsb29rdXBfbGluZXM6CisgICAgICAgICAgICBmb3IgZiBpbiByZXN1bHQ6CisgICAgICAgICAgICAgICAgZi5saW5lCisgICAgICAgIHJldHVybiByZXN1bHQKKworICAgIEBjbGFzc21ldGhvZAorICAgIGRlZiBmcm9tX2xpc3Qoa2xhc3MsIGFfbGlzdCk6CisgICAgICAgICIiIkNyZWF0ZSBhIFN0YWNrU3VtbWFyeSBmcm9tIGEgc2ltcGxlIGxpc3Qgb2YgdHVwbGVzLgorCisgICAgICAgIFRoaXMgbWV0aG9kIHN1cHBvcnRzIHRoZSBvbGRlciBQeXRob24gQVBJLiBFYWNoIHR1cGxlIHNob3VsZCBiZSBhCisgICAgICAgIDQtdHVwbGUgd2l0aCAoZmlsZW5hbWUsIGxpbmVubywgbmFtZSwgbGluZSkgZWxlbWVudHMuCisgICAgICAgICIiIgorICAgICAgICBpZiBpc2luc3RhbmNlKGFfbGlzdCwgU3RhY2tTdW1tYXJ5KToKKyAgICAgICAgICAgIHJldHVybiBTdGFja1N1bW1hcnkoYV9saXN0KQorICAgICAgICByZXN1bHQgPSBTdGFja1N1bW1hcnkoKQorICAgICAgICBmb3IgZmlsZW5hbWUsIGxpbmVubywgbmFtZSwgbGluZSBpbiBhX2xpc3Q6CisgICAgICAgICAgICByZXN1bHQuYXBwZW5kKEZyYW1lU3VtbWFyeShmaWxlbmFtZSwgbGluZW5vLCBuYW1lLCBsaW5lPWxpbmUpKQorICAgICAgICByZXR1cm4gcmVzdWx0CisKKyAgICBkZWYgZm9ybWF0KHNlbGYpOgorICAgICAgICAiIiJGb3JtYXQgdGhlIHN0YWNrIHJlYWR5IGZvciBwcmludGluZy4KKworICAgICAgICBSZXR1cm5zIGEgbGlzdCBvZiBzdHJpbmdzIHJlYWR5IGZvciBwcmludGluZy4gIEVhY2ggc3RyaW5nIGluIHRoZQorICAgICAgICByZXN1bHRpbmcgbGlzdCBjb3JyZXNwb25kcyB0byBhIHNpbmdsZSBmcmFtZSBmcm9tIHRoZSBzdGFjay4KKyAgICAgICAgRWFjaCBzdHJpbmcgZW5kcyBpbiBhIG5ld2xpbmU7IHRoZSBzdHJpbmdzIG1heSBjb250YWluIGludGVybmFsCisgICAgICAgIG5ld2xpbmVzIGFzIHdlbGwsIGZvciB0aG9zZSBpdGVtcyB3aXRoIHNvdXJjZSB0ZXh0IGxpbmVzLgorICAgICAgICAiIiIKKyAgICAgICAgcmVzdWx0ID0gW10KKyAgICAgICAgZm9yIGZyYW1lIGluIHNlbGY6CisgICAgICAgICAgICByb3cgPSBbXQorICAgICAgICAgICAgcm93LmFwcGVuZCgnICBGaWxlICJ7fSIsIGxpbmUge30sIGluIHt9XG4nLmZvcm1hdCgKKyAgICAgICAgICAgICAgICBmcmFtZS5maWxlbmFtZSwgZnJhbWUubGluZW5vLCBmcmFtZS5uYW1lKSkKKyAgICAgICAgICAgIGlmIGZyYW1lLmxpbmU6CisgICAgICAgICAgICAgICAgcm93LmFwcGVuZCgnICAgIHt9XG4nLmZvcm1hdChmcmFtZS5saW5lLnN0cmlwKCkpKQorICAgICAgICAgICAgaWYgZnJhbWUubG9jYWxzOgorICAgICAgICAgICAgICAgIGZvciBuYW1lLCB2YWx1ZSBpbiBzb3J0ZWQoZnJhbWUubG9jYWxzLml0ZW1zKCkpOgorICAgICAgICAgICAgICAgICAgICByb3cuYXBwZW5kKCcgICAge25hbWV9ID0ge3ZhbHVlfVxuJy5mb3JtYXQobmFtZT1uYW1lLCB2YWx1ZT12YWx1ZSkpCisgICAgICAgICAgICByZXN1bHQuYXBwZW5kKCcnLmpvaW4ocm93KSkKKyAgICAgICAgcmV0dXJuIHJlc3VsdAorCisKK2NsYXNzIFRyYWNlYmFja0V4Y2VwdGlvbjoKKyAgICAiIiJBbiBleGNlcHRpb24gcmVhZHkgZm9yIHJlbmRlcmluZy4KKworICAgIFRoZSB0cmFjZWJhY2sgbW9kdWxlIGNhcHR1cmVzIGVub3VnaCBhdHRyaWJ1dGVzIGZyb20gdGhlIG9yaWdpbmFsIGV4Y2VwdGlvbgorICAgIHRvIHRoaXMgaW50ZXJtZWRpYXJ5IGZvcm0gdG8gZW5zdXJlIHRoYXQgbm8gcmVmZXJlbmNlcyBhcmUgaGVsZCwgd2hpbGUKKyAgICBzdGlsbCBiZWluZyBhYmxlIHRvIGZ1bGx5IHByaW50IG9yIGZvcm1hdCBpdC4KKworICAgIFVzZSBgZnJvbV9leGNlcHRpb25gIHRvIGNyZWF0ZSBUcmFjZWJhY2tFeGNlcHRpb24gaW5zdGFuY2VzIGZyb20gZXhjZXB0aW9uCisgICAgb2JqZWN0cywgb3IgdGhlIGNvbnN0cnVjdG9yIHRvIGNyZWF0ZSBUcmFjZWJhY2tFeGNlcHRpb24gaW5zdGFuY2VzIGZyb20KKyAgICBpbmRpdmlkdWFsIGNvbXBvbmVudHMuCisKKyAgICAtIDphdHRyOmBfX2NhdXNlX19gIEEgVHJhY2ViYWNrRXhjZXB0aW9uIG9mIHRoZSBvcmlnaW5hbCAqX19jYXVzZV9fKi4KKyAgICAtIDphdHRyOmBfX2NvbnRleHRfX2AgQSBUcmFjZWJhY2tFeGNlcHRpb24gb2YgdGhlIG9yaWdpbmFsICpfX2NvbnRleHRfXyouCisgICAgLSA6YXR0cjpgX19zdXBwcmVzc19jb250ZXh0X19gIFRoZSAqX19zdXBwcmVzc19jb250ZXh0X18qIHZhbHVlIGZyb20gdGhlCisgICAgICBvcmlnaW5hbCBleGNlcHRpb24uCisgICAgLSA6YXR0cjpgc3RhY2tgIEEgYFN0YWNrU3VtbWFyeWAgcmVwcmVzZW50aW5nIHRoZSB0cmFjZWJhY2suCisgICAgLSA6YXR0cjpgZXhjX3R5cGVgIFRoZSBjbGFzcyBvZiB0aGUgb3JpZ2luYWwgdHJhY2ViYWNrLgorICAgIC0gOmF0dHI6YGZpbGVuYW1lYCBGb3Igc3ludGF4IGVycm9ycyAtIHRoZSBmaWxlbmFtZSB3aGVyZSB0aGUgZXJyb3IKKyAgICAgIG9jY3VyZWQuCisgICAgLSA6YXR0cjpgbGluZW5vYCBGb3Igc3ludGF4IGVycm9ycyAtIHRoZSBsaW5lbnVtYmVyIHdoZXJlIHRoZSBlcnJvcgorICAgICAgb2NjdXJlZC4KKyAgICAtIDphdHRyOmB0ZXh0YCBGb3Igc3ludGF4IGVycm9ycyAtIHRoZSB0ZXh0IHdoZXJlIHRoZSBlcnJvcgorICAgICAgb2NjdXJlZC4KKyAgICAtIDphdHRyOmBvZmZzZXRgIEZvciBzeW50YXggZXJyb3JzIC0gdGhlIG9mZnNldCBpbnRvIHRoZSB0ZXh0IHdoZXJlIHRoZQorICAgICAgZXJyb3Igb2NjdXJlZC4KKyAgICAtIDphdHRyOmBtc2dgIEZvciBzeW50YXggZXJyb3JzIC0gdGhlIGNvbXBpbGVyIGVycm9yIG1lc3NhZ2UuCisgICAgIiIiCisKKyAgICBkZWYgX19pbml0X18oc2VsZiwgZXhjX3R5cGUsIGV4Y192YWx1ZSwgZXhjX3RyYWNlYmFjaywgKiwgbGltaXQ9Tm9uZSwKKyAgICAgICAgICAgIGxvb2t1cF9saW5lcz1UcnVlLCBjYXB0dXJlX2xvY2Fscz1GYWxzZSwgX3NlZW49Tm9uZSk6CisgICAgICAgICMgTkI6IHdlIG5lZWQgdG8gYWNjZXB0IGV4Y190cmFjZWJhY2ssIGV4Y192YWx1ZSwgZXhjX3RyYWNlYmFjayB0bworICAgICAgICAjIHBlcm1pdCBiYWNrd2FyZHMgY29tcGF0IHdpdGggdGhlIGV4aXN0aW5nIEFQSSwgb3RoZXJ3aXNlIHdlCisgICAgICAgICMgbmVlZCBzdHViIHRodW5rIG9iamVjdHMganVzdCB0byBnbHVlIGl0IHRvZ2V0aGVyLgorICAgICAgICAjIEhhbmRsZSBsb29wcyBpbiBfX2NhdXNlX18gb3IgX19jb250ZXh0X18uCisgICAgICAgIGlmIF9zZWVuIGlzIE5vbmU6CisgICAgICAgICAgICBfc2VlbiA9IHNldCgpCisgICAgICAgIF9zZWVuLmFkZChleGNfdmFsdWUpCisgICAgICAgICMgR3JhY2VmdWxseSBoYW5kbGUgKHRoZSB3YXkgUHl0aG9uIDIuNCBhbmQgZWFybGllciBkaWQpIHRoZSBjYXNlIG9mCisgICAgICAgICMgYmVpbmcgY2FsbGVkIHdpdGggbm8gdHlwZSBvciB2YWx1ZSAoTm9uZSwgTm9uZSwgTm9uZSkuCisgICAgICAgIGlmIChleGNfdmFsdWUgYW5kIGV4Y192YWx1ZS5fX2NhdXNlX18gaXMgbm90IE5vbmUKKyAgICAgICAgICAgIGFuZCBleGNfdmFsdWUuX19jYXVzZV9fIG5vdCBpbiBfc2Vlbik6CisgICAgICAgICAgICBjYXVzZSA9IFRyYWNlYmFja0V4Y2VwdGlvbigKKyAgICAgICAgICAgICAgICB0eXBlKGV4Y192YWx1ZS5fX2NhdXNlX18pLAorICAgICAgICAgICAgICAgIGV4Y192YWx1ZS5fX2NhdXNlX18sCisgICAgICAgICAgICAgICAgZXhjX3ZhbHVlLl9fY2F1c2VfXy5fX3RyYWNlYmFja19fLAorICAgICAgICAgICAgICAgIGxpbWl0PWxpbWl0LAorICAgICAgICAgICAgICAgIGxvb2t1cF9saW5lcz1GYWxzZSwKKyAgICAgICAgICAgICAgICBjYXB0dXJlX2xvY2Fscz1jYXB0dXJlX2xvY2FscywKKyAgICAgICAgICAgICAgICBfc2Vlbj1fc2VlbikKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGNhdXNlID0gTm9uZQorICAgICAgICBpZiAoZXhjX3ZhbHVlIGFuZCBleGNfdmFsdWUuX19jb250ZXh0X18gaXMgbm90IE5vbmUKKyAgICAgICAgICAgIGFuZCBleGNfdmFsdWUuX19jb250ZXh0X18gbm90IGluIF9zZWVuKToKKyAgICAgICAgICAgIGNvbnRleHQgPSBUcmFjZWJhY2tFeGNlcHRpb24oCisgICAgICAgICAgICAgICAgdHlwZShleGNfdmFsdWUuX19jb250ZXh0X18pLAorICAgICAgICAgICAgICAgIGV4Y192YWx1ZS5fX2NvbnRleHRfXywKKyAgICAgICAgICAgICAgICBleGNfdmFsdWUuX19jb250ZXh0X18uX190cmFjZWJhY2tfXywKKyAgICAgICAgICAgICAgICBsaW1pdD1saW1pdCwKKyAgICAgICAgICAgICAgICBsb29rdXBfbGluZXM9RmFsc2UsCisgICAgICAgICAgICAgICAgY2FwdHVyZV9sb2NhbHM9Y2FwdHVyZV9sb2NhbHMsCisgICAgICAgICAgICAgICAgX3NlZW49X3NlZW4pCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBjb250ZXh0ID0gTm9uZQorICAgICAgICBzZWxmLl9fY2F1c2VfXyA9IGNhdXNlCisgICAgICAgIHNlbGYuX19jb250ZXh0X18gPSBjb250ZXh0CisgICAgICAgIHNlbGYuX19zdXBwcmVzc19jb250ZXh0X18gPSBcCisgICAgICAgICAgICBleGNfdmFsdWUuX19zdXBwcmVzc19jb250ZXh0X18gaWYgZXhjX3ZhbHVlIGVsc2UgRmFsc2UKKyAgICAgICAgIyBUT0RPOiBsb2NhbHMuCisgICAgICAgIHNlbGYuc3RhY2sgPSBTdGFja1N1bW1hcnkuZXh0cmFjdCgKKyAgICAgICAgICAgIHdhbGtfdGIoZXhjX3RyYWNlYmFjayksIGxpbWl0PWxpbWl0LCBsb29rdXBfbGluZXM9bG9va3VwX2xpbmVzLAorICAgICAgICAgICAgY2FwdHVyZV9sb2NhbHM9Y2FwdHVyZV9sb2NhbHMpCisgICAgICAgIHNlbGYuZXhjX3R5cGUgPSBleGNfdHlwZQorICAgICAgICAjIENhcHR1cmUgbm93IHRvIHBlcm1pdCBmcmVlaW5nIHJlc291cmNlczogb25seSBjb21wbGljYXRpb24gaXMgaW4gdGhlCisgICAgICAgICMgdW5vZmZpY2lhbCBBUEkgX2Zvcm1hdF9maW5hbF9leGNfbGluZQorICAgICAgICBzZWxmLl9zdHIgPSBfc29tZV9zdHIoZXhjX3ZhbHVlKQorICAgICAgICBpZiBleGNfdHlwZSBhbmQgaXNzdWJjbGFzcyhleGNfdHlwZSwgU3ludGF4RXJyb3IpOgorICAgICAgICAgICAgIyBIYW5kbGUgU3ludGF4RXJyb3IncyBzcGVjaWFsbHkKKyAgICAgICAgICAgIHNlbGYuZmlsZW5hbWUgPSBleGNfdmFsdWUuZmlsZW5hbWUKKyAgICAgICAgICAgIHNlbGYubGluZW5vID0gc3RyKGV4Y192YWx1ZS5saW5lbm8pCisgICAgICAgICAgICBzZWxmLnRleHQgPSBleGNfdmFsdWUudGV4dAorICAgICAgICAgICAgc2VsZi5vZmZzZXQgPSBleGNfdmFsdWUub2Zmc2V0CisgICAgICAgICAgICBzZWxmLm1zZyA9IGV4Y192YWx1ZS5tc2cKKyAgICAgICAgaWYgbG9va3VwX2xpbmVzOgorICAgICAgICAgICAgc2VsZi5fbG9hZF9saW5lcygpCisKKyAgICBAY2xhc3NtZXRob2QKKyAgICBkZWYgZnJvbV9leGNlcHRpb24oc2VsZiwgZXhjLCAqYXJncywgKiprd2FyZ3MpOgorICAgICAgICAiIiJDcmVhdGUgYSBUcmFjZWJhY2tFeGNlcHRpb24gZnJvbSBhbiBleGNlcHRpb24uIiIiCisgICAgICAgIHJldHVybiBUcmFjZWJhY2tFeGNlcHRpb24oCisgICAgICAgICAgICB0eXBlKGV4YyksIGV4YywgZXhjLl9fdHJhY2ViYWNrX18sICphcmdzLCAqKmt3YXJncykKKworICAgIGRlZiBfbG9hZF9saW5lcyhzZWxmKToKKyAgICAgICAgIiIiUHJpdmF0ZSBBUEkuIGZvcmNlIGFsbCBsaW5lcyBpbiB0aGUgc3RhY2sgdG8gYmUgbG9hZGVkLiIiIgorICAgICAgICBmb3IgZnJhbWUgaW4gc2VsZi5zdGFjazoKKyAgICAgICAgICAgIGZyYW1lLmxpbmUKKyAgICAgICAgaWYgc2VsZi5fX2NvbnRleHRfXzoKKyAgICAgICAgICAgIHNlbGYuX19jb250ZXh0X18uX2xvYWRfbGluZXMoKQorICAgICAgICBpZiBzZWxmLl9fY2F1c2VfXzoKKyAgICAgICAgICAgIHNlbGYuX19jYXVzZV9fLl9sb2FkX2xpbmVzKCkKKworICAgIGRlZiBfX2VxX18oc2VsZiwgb3RoZXIpOgorICAgICAgICByZXR1cm4gc2VsZi5fX2RpY3RfXyA9PSBvdGhlci5fX2RpY3RfXworCisgICAgZGVmIF9fc3RyX18oc2VsZik6CisgICAgICAgIHJldHVybiBzZWxmLl9zdHIKKworICAgIGRlZiBmb3JtYXRfZXhjZXB0aW9uX29ubHkoc2VsZik6CisgICAgICAgICIiIkZvcm1hdCB0aGUgZXhjZXB0aW9uIHBhcnQgb2YgdGhlIHRyYWNlYmFjay4KKworICAgICAgICBUaGUgcmV0dXJuIHZhbHVlIGlzIGEgZ2VuZXJhdG9yIG9mIHN0cmluZ3MsIGVhY2ggZW5kaW5nIGluIGEgbmV3bGluZS4KKworICAgICAgICBOb3JtYWxseSwgdGhlIGdlbmVyYXRvciBlbWl0cyBhIHNpbmdsZSBzdHJpbmc7IGhvd2V2ZXIsIGZvcgorICAgICAgICBTeW50YXhFcnJvciBleGNlcHRpb25zLCBpdCBlbWl0ZXMgc2V2ZXJhbCBsaW5lcyB0aGF0ICh3aGVuCisgICAgICAgIHByaW50ZWQpIGRpc3BsYXkgZGV0YWlsZWQgaW5mb3JtYXRpb24gYWJvdXQgd2hlcmUgdGhlIHN5bnRheAorICAgICAgICBlcnJvciBvY2N1cnJlZC4KKworICAgICAgICBUaGUgbWVzc2FnZSBpbmRpY2F0aW5nIHdoaWNoIGV4Y2VwdGlvbiBvY2N1cnJlZCBpcyBhbHdheXMgdGhlIGxhc3QKKyAgICAgICAgc3RyaW5nIGluIHRoZSBvdXRwdXQuCisgICAgICAgICIiIgorICAgICAgICBpZiBzZWxmLmV4Y190eXBlIGlzIE5vbmU6CisgICAgICAgICAgICB5aWVsZCBfZm9ybWF0X2ZpbmFsX2V4Y19saW5lKE5vbmUsIHNlbGYuX3N0cikKKyAgICAgICAgICAgIHJldHVybgorCisgICAgICAgIHN0eXBlID0gc2VsZi5leGNfdHlwZS5fX3F1YWxuYW1lX18KKyAgICAgICAgc21vZCA9IHNlbGYuZXhjX3R5cGUuX19tb2R1bGVfXworICAgICAgICBpZiBzbW9kIG5vdCBpbiAoIl9fbWFpbl9fIiwgImJ1aWx0aW5zIik6CisgICAgICAgICAgICBzdHlwZSA9IHNtb2QgKyAnLicgKyBzdHlwZQorCisgICAgICAgIGlmIG5vdCBpc3N1YmNsYXNzKHNlbGYuZXhjX3R5cGUsIFN5bnRheEVycm9yKToKKyAgICAgICAgICAgIHlpZWxkIF9mb3JtYXRfZmluYWxfZXhjX2xpbmUoc3R5cGUsIHNlbGYuX3N0cikKKyAgICAgICAgICAgIHJldHVybgorCisgICAgICAgICMgSXQgd2FzIGEgc3ludGF4IGVycm9yOyBzaG93IGV4YWN0bHkgd2hlcmUgdGhlIHByb2JsZW0gd2FzIGZvdW5kLgorICAgICAgICBmaWxlbmFtZSA9IHNlbGYuZmlsZW5hbWUgb3IgIjxzdHJpbmc+IgorICAgICAgICBsaW5lbm8gPSBzdHIoc2VsZi5saW5lbm8pIG9yICc/JworICAgICAgICB5aWVsZCAnICBGaWxlICJ7fSIsIGxpbmUge31cbicuZm9ybWF0KGZpbGVuYW1lLCBsaW5lbm8pCisKKyAgICAgICAgYmFkbGluZSA9IHNlbGYudGV4dAorICAgICAgICBvZmZzZXQgPSBzZWxmLm9mZnNldAorICAgICAgICBpZiBiYWRsaW5lIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgeWllbGQgJyAgICB7fVxuJy5mb3JtYXQoYmFkbGluZS5zdHJpcCgpKQorICAgICAgICAgICAgaWYgb2Zmc2V0IGlzIG5vdCBOb25lOgorICAgICAgICAgICAgICAgIGNhcmV0c3BhY2UgPSBiYWRsaW5lLnJzdHJpcCgnXG4nKQorICAgICAgICAgICAgICAgIG9mZnNldCA9IG1pbihsZW4oY2FyZXRzcGFjZSksIG9mZnNldCkgLSAxCisgICAgICAgICAgICAgICAgY2FyZXRzcGFjZSA9IGNhcmV0c3BhY2VbOm9mZnNldF0ubHN0cmlwKCkKKyAgICAgICAgICAgICAgICAjIG5vbi1zcGFjZSB3aGl0ZXNwYWNlIChsaWtlcyB0YWJzKSBtdXN0IGJlIGtlcHQgZm9yIGFsaWdubWVudAorICAgICAgICAgICAgICAgIGNhcmV0c3BhY2UgPSAoKGMuaXNzcGFjZSgpIGFuZCBjIG9yICcgJykgZm9yIGMgaW4gY2FyZXRzcGFjZSkKKyAgICAgICAgICAgICAgICB5aWVsZCAnICAgIHt9XlxuJy5mb3JtYXQoJycuam9pbihjYXJldHNwYWNlKSkKKyAgICAgICAgbXNnID0gc2VsZi5tc2cgb3IgIjxubyBkZXRhaWwgYXZhaWxhYmxlPiIKKyAgICAgICAgeWllbGQgInt9OiB7fVxuIi5mb3JtYXQoc3R5cGUsIG1zZykKKworICAgIGRlZiBmb3JtYXQoc2VsZiwgKiwgY2hhaW49VHJ1ZSk6CisgICAgICAgICIiIkZvcm1hdCB0aGUgZXhjZXB0aW9uLgorCisgICAgICAgIElmIGNoYWluIGlzIG5vdCAqVHJ1ZSosICpfX2NhdXNlX18qIGFuZCAqX19jb250ZXh0X18qIHdpbGwgbm90IGJlIGZvcm1hdHRlZC4KKworICAgICAgICBUaGUgcmV0dXJuIHZhbHVlIGlzIGEgZ2VuZXJhdG9yIG9mIHN0cmluZ3MsIGVhY2ggZW5kaW5nIGluIGEgbmV3bGluZSBhbmQKKyAgICAgICAgc29tZSBjb250YWluaW5nIGludGVybmFsIG5ld2xpbmVzLiBgcHJpbnRfZXhjZXB0aW9uYCBpcyBhIHdyYXBwZXIgYXJvdW5kCisgICAgICAgIHRoaXMgbWV0aG9kIHdoaWNoIGp1c3QgcHJpbnRzIHRoZSBsaW5lcyB0byBhIGZpbGUuCisKKyAgICAgICAgVGhlIG1lc3NhZ2UgaW5kaWNhdGluZyB3aGljaCBleGNlcHRpb24gb2NjdXJyZWQgaXMgYWx3YXlzIHRoZSBsYXN0CisgICAgICAgIHN0cmluZyBpbiB0aGUgb3V0cHV0LgorICAgICAgICAiIiIKKyAgICAgICAgaWYgY2hhaW46CisgICAgICAgICAgICBpZiBzZWxmLl9fY2F1c2VfXyBpcyBub3QgTm9uZToKKyAgICAgICAgICAgICAgICB5aWVsZCBmcm9tIHNlbGYuX19jYXVzZV9fLmZvcm1hdChjaGFpbj1jaGFpbikKKyAgICAgICAgICAgICAgICB5aWVsZCBfY2F1c2VfbWVzc2FnZQorICAgICAgICAgICAgZWxpZiAoc2VsZi5fX2NvbnRleHRfXyBpcyBub3QgTm9uZSBhbmQKKyAgICAgICAgICAgICAgICBub3Qgc2VsZi5fX3N1cHByZXNzX2NvbnRleHRfXyk6CisgICAgICAgICAgICAgICAgeWllbGQgZnJvbSBzZWxmLl9fY29udGV4dF9fLmZvcm1hdChjaGFpbj1jaGFpbikKKyAgICAgICAgICAgICAgICB5aWVsZCBfY29udGV4dF9tZXNzYWdlCisgICAgICAgIHlpZWxkICdUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6XG4nCisgICAgICAgIHlpZWxkIGZyb20gc2VsZi5zdGFjay5mb3JtYXQoKQorICAgICAgICB5aWVsZCBmcm9tIHNlbGYuZm9ybWF0X2V4Y2VwdGlvbl9vbmx5KCkKZGlmZiAtLWdpdCBhL0xpYi90dXJ0bGVkZW1vL19fbWFpbl9fLnB5IGIvTGliL3R1cnRsZWRlbW8vX19tYWluX18ucHkKb2xkIG1vZGUgMTAwNzU1Cm5ldyBtb2RlIDEwMDY0NApkaWZmIC0tZ2l0IGEvTGliL3R1cnRsZWRlbW8vc29ydGluZ19hbmltYXRlLnB5IGIvTGliL3R1cnRsZWRlbW8vc29ydGluZ19hbmltYXRlLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQyNWEwYWIKLS0tIC9kZXYvbnVsbAorKysgYi9MaWIvdHVydGxlZGVtby9zb3J0aW5nX2FuaW1hdGUucHkKQEAgLTAsMCArMSwyMDQgQEAKKyMhL3Vzci9iaW4vZW52IHB5dGhvbjMKKyIiIgorCisgICAgICAgICBzb3J0aW5nX2FuaW1hdGlvbi5weQorCitBIG1pbmltYWwgc29ydGluZyBhbGdvcml0aG0gYW5pbWF0aW9uOgorU29ydHMgYSBzaGVsZiBvZiAxMCBibG9ja3MgdXNpbmcgaW5zZXJ0aW9uCitzb3J0LCBzZWxlY3Rpb24gc29ydCBhbmQgcXVpY2tzb3J0LgorCitTaGVsZnMgYXJlIGltcGxlbWVudGVkIHVzaW5nIGJ1aWx0aW4gbGlzdHMuCisKK0Jsb2NrcyBhcmUgdHVydGxlcyB3aXRoIHNoYXBlICJzcXVhcmUiLCBidXQKK3N0cmV0Y2hlZCB0byByZWN0YW5nbGVzIGJ5IHNoYXBlc2l6ZSgpCisgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAgICAgVG8gZXhpdCBwcmVzcyBzcGFjZSBidXR0b24KKyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyIiIgorZnJvbSB0dXJ0bGUgaW1wb3J0ICoKK2ltcG9ydCByYW5kb20KKworCitjbGFzcyBCbG9jayhUdXJ0bGUpOgorCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIHNpemUpOgorICAgICAgICBzZWxmLnNpemUgPSBzaXplCisgICAgICAgIFR1cnRsZS5fX2luaXRfXyhzZWxmLCBzaGFwZT0ic3F1YXJlIiwgdmlzaWJsZT1GYWxzZSkKKyAgICAgICAgc2VsZi5wdSgpCisgICAgICAgIHNlbGYuc2hhcGVzaXplKHNpemUgKiAxLjUsIDEuNSwgMikgIyBzcXVhcmUtLT5yZWN0YW5nbGUKKyAgICAgICAgc2VsZi5maWxsY29sb3IoImJsYWNrIikKKyAgICAgICAgc2VsZi5zdCgpCisKKyAgICBkZWYgZ2xvdyhzZWxmKToKKyAgICAgICAgc2VsZi5maWxsY29sb3IoInJlZCIpCisKKyAgICBkZWYgdW5nbG93KHNlbGYpOgorICAgICAgICBzZWxmLmZpbGxjb2xvcigiYmxhY2siKQorCisgICAgZGVmIF9fcmVwcl9fKHNlbGYpOgorICAgICAgICByZXR1cm4gIkJsb2NrIHNpemU6IHswfSIuZm9ybWF0KHNlbGYuc2l6ZSkKKworCitjbGFzcyBTaGVsZihsaXN0KToKKworICAgIGRlZiBfX2luaXRfXyhzZWxmLCB5KToKKyAgICAgICAgImNyZWF0ZSBhIHNoZWxmLiB5IGlzIHktcG9zaXRpb24gb2YgZmlyc3QgYmxvY2siCisgICAgICAgIHNlbGYueSA9IHkKKyAgICAgICAgc2VsZi54ID0gLTE1MAorCisgICAgZGVmIHB1c2goc2VsZiwgZCk6CisgICAgICAgIHdpZHRoLCBfLCBfID0gZC5zaGFwZXNpemUoKQorICAgICAgICAjIGFsaWduIGJsb2NrcyBieSB0aGUgYm90dG9tIGVkZ2UKKyAgICAgICAgeV9vZmZzZXQgPSB3aWR0aCAvIDIgKiAyMAorICAgICAgICBkLnNldHkoc2VsZi55ICsgeV9vZmZzZXQpCisgICAgICAgIGQuc2V0eChzZWxmLnggKyAzNCAqIGxlbihzZWxmKSkKKyAgICAgICAgc2VsZi5hcHBlbmQoZCkKKworICAgIGRlZiBfY2xvc2VfZ2FwX2Zyb21faShzZWxmLCBpKToKKyAgICAgICAgZm9yIGIgaW4gc2VsZltpOl06CisgICAgICAgICAgICB4cG9zLCBfID0gYi5wb3MoKQorICAgICAgICAgICAgYi5zZXR4KHhwb3MgLSAzNCkKKworICAgIGRlZiBfb3Blbl9nYXBfZnJvbV9pKHNlbGYsIGkpOgorICAgICAgICBmb3IgYiBpbiBzZWxmW2k6XToKKyAgICAgICAgICAgIHhwb3MsIF8gPSBiLnBvcygpCisgICAgICAgICAgICBiLnNldHgoeHBvcyArIDM0KQorCisgICAgZGVmIHBvcChzZWxmLCBrZXkpOgorICAgICAgICBiID0gbGlzdC5wb3Aoc2VsZiwga2V5KQorICAgICAgICBiLmdsb3coKQorICAgICAgICBiLnNldHkoMjAwKQorICAgICAgICBzZWxmLl9jbG9zZV9nYXBfZnJvbV9pKGtleSkKKyAgICAgICAgcmV0dXJuIGIKKworICAgIGRlZiBpbnNlcnQoc2VsZiwga2V5LCBiKToKKyAgICAgICAgc2VsZi5fb3Blbl9nYXBfZnJvbV9pKGtleSkKKyAgICAgICAgbGlzdC5pbnNlcnQoc2VsZiwga2V5LCBiKQorICAgICAgICBiLnNldHgoc2VsZi54ICsgMzQgKiBrZXkpCisgICAgICAgIHdpZHRoLCBfLCBfID0gYi5zaGFwZXNpemUoKQorICAgICAgICAjIGFsaWduIGJsb2NrcyBieSB0aGUgYm90dG9tIGVkZ2UKKyAgICAgICAgeV9vZmZzZXQgPSB3aWR0aCAvIDIgKiAyMAorICAgICAgICBiLnNldHkoc2VsZi55ICsgeV9vZmZzZXQpCisgICAgICAgIGIudW5nbG93KCkKKworZGVmIGlzb3J0KHNoZWxmKToKKyAgICBsZW5ndGggPSBsZW4oc2hlbGYpCisgICAgZm9yIGkgaW4gcmFuZ2UoMSwgbGVuZ3RoKToKKyAgICAgICAgaG9sZSA9IGkKKyAgICAgICAgd2hpbGUgaG9sZSA+IDAgYW5kIHNoZWxmW2ldLnNpemUgPCBzaGVsZltob2xlIC0gMV0uc2l6ZToKKyAgICAgICAgICAgIGhvbGUgPSBob2xlIC0gMQorICAgICAgICBzaGVsZi5pbnNlcnQoaG9sZSwgc2hlbGYucG9wKGkpKQorICAgIHJldHVybgorCitkZWYgc3NvcnQoc2hlbGYpOgorICAgIGxlbmd0aCA9IGxlbihzaGVsZikKKyAgICBmb3IgaiBpbiByYW5nZSgwLCBsZW5ndGggLSAxKToKKyAgICAgICAgaW1pbiA9IGoKKyAgICAgICAgZm9yIGkgaW4gcmFuZ2UoaiArIDEsIGxlbmd0aCk6CisgICAgICAgICAgICBpZiBzaGVsZltpXS5zaXplIDwgc2hlbGZbaW1pbl0uc2l6ZToKKyAgICAgICAgICAgICAgICBpbWluID0gaQorICAgICAgICBpZiBpbWluICE9IGo6CisgICAgICAgICAgICBzaGVsZi5pbnNlcnQoaiwgc2hlbGYucG9wKGltaW4pKQorCitkZWYgcGFydGl0aW9uKHNoZWxmLCBsZWZ0LCByaWdodCwgcGl2b3RfaW5kZXgpOgorICAgIHBpdm90ID0gc2hlbGZbcGl2b3RfaW5kZXhdCisgICAgc2hlbGYuaW5zZXJ0KHJpZ2h0LCBzaGVsZi5wb3AocGl2b3RfaW5kZXgpKQorICAgIHN0b3JlX2luZGV4ID0gbGVmdAorICAgIGZvciBpIGluIHJhbmdlKGxlZnQsIHJpZ2h0KTogIyByYW5nZSBpcyBub24taW5jbHVzaXZlIG9mIGVuZGluZyB2YWx1ZQorICAgICAgICBpZiBzaGVsZltpXS5zaXplIDwgcGl2b3Quc2l6ZToKKyAgICAgICAgICAgIHNoZWxmLmluc2VydChzdG9yZV9pbmRleCwgc2hlbGYucG9wKGkpKQorICAgICAgICAgICAgc3RvcmVfaW5kZXggPSBzdG9yZV9pbmRleCArIDEKKyAgICBzaGVsZi5pbnNlcnQoc3RvcmVfaW5kZXgsIHNoZWxmLnBvcChyaWdodCkpICMgbW92ZSBwaXZvdCB0byBjb3JyZWN0IHBvc2l0aW9uCisgICAgcmV0dXJuIHN0b3JlX2luZGV4CisKK2RlZiBxc29ydChzaGVsZiwgbGVmdCwgcmlnaHQpOgorICAgIGlmIGxlZnQgPCByaWdodDoKKyAgICAgICAgcGl2b3RfaW5kZXggPSBsZWZ0CisgICAgICAgIHBpdm90X25ld19pbmRleCA9IHBhcnRpdGlvbihzaGVsZiwgbGVmdCwgcmlnaHQsIHBpdm90X2luZGV4KQorICAgICAgICBxc29ydChzaGVsZiwgbGVmdCwgcGl2b3RfbmV3X2luZGV4IC0gMSkKKyAgICAgICAgcXNvcnQoc2hlbGYsIHBpdm90X25ld19pbmRleCArIDEsIHJpZ2h0KQorCitkZWYgcmFuZG9taXplKCk6CisgICAgZGlzYWJsZV9rZXlzKCkKKyAgICBjbGVhcigpCisgICAgdGFyZ2V0ID0gbGlzdChyYW5nZSgxMCkpCisgICAgcmFuZG9tLnNodWZmbGUodGFyZ2V0KQorICAgIGZvciBpLCB0IGluIGVudW1lcmF0ZSh0YXJnZXQpOgorICAgICAgICBmb3IgaiBpbiByYW5nZShpLCBsZW4ocykpOgorICAgICAgICAgICAgaWYgc1tqXS5zaXplID09IHQgKyAxOgorICAgICAgICAgICAgICAgIHMuaW5zZXJ0KGksIHMucG9wKGopKQorICAgIHNob3dfdGV4dChpbnN0cnVjdGlvbnMxKQorICAgIHNob3dfdGV4dChpbnN0cnVjdGlvbnMyLCBsaW5lPTEpCisgICAgZW5hYmxlX2tleXMoKQorCitkZWYgc2hvd190ZXh0KHRleHQsIGxpbmU9MCk6CisgICAgbGluZSA9IDIwICogbGluZQorICAgIGdvdG8oMCwtMjUwIC0gbGluZSkKKyAgICB3cml0ZSh0ZXh0LCBhbGlnbj0iY2VudGVyIiwgZm9udD0oIkNvdXJpZXIiLCAxNiwgImJvbGQiKSkKKworZGVmIHN0YXJ0X3Nzb3J0KCk6CisgICAgZGlzYWJsZV9rZXlzKCkKKyAgICBjbGVhcigpCisgICAgc2hvd190ZXh0KCJTZWxlY3Rpb24gU29ydCIpCisgICAgc3NvcnQocykKKyAgICBjbGVhcigpCisgICAgc2hvd190ZXh0KGluc3RydWN0aW9uczEpCisgICAgc2hvd190ZXh0KGluc3RydWN0aW9uczIsIGxpbmU9MSkKKyAgICBlbmFibGVfa2V5cygpCisKK2RlZiBzdGFydF9pc29ydCgpOgorICAgIGRpc2FibGVfa2V5cygpCisgICAgY2xlYXIoKQorICAgIHNob3dfdGV4dCgiSW5zZXJ0aW9uIFNvcnQiKQorICAgIGlzb3J0KHMpCisgICAgY2xlYXIoKQorICAgIHNob3dfdGV4dChpbnN0cnVjdGlvbnMxKQorICAgIHNob3dfdGV4dChpbnN0cnVjdGlvbnMyLCBsaW5lPTEpCisgICAgZW5hYmxlX2tleXMoKQorCitkZWYgc3RhcnRfcXNvcnQoKToKKyAgICBkaXNhYmxlX2tleXMoKQorICAgIGNsZWFyKCkKKyAgICBzaG93X3RleHQoIlF1aWNrc29ydCIpCisgICAgcXNvcnQocywgMCwgbGVuKHMpIC0gMSkKKyAgICBjbGVhcigpCisgICAgc2hvd190ZXh0KGluc3RydWN0aW9uczEpCisgICAgc2hvd190ZXh0KGluc3RydWN0aW9uczIsIGxpbmU9MSkKKyAgICBlbmFibGVfa2V5cygpCisKK2RlZiBpbml0X3NoZWxmKCk6CisgICAgZ2xvYmFsIHMKKyAgICBzID0gU2hlbGYoLTIwMCkKKyAgICB2YWxzID0gKDQsIDIsIDgsIDksIDEsIDUsIDEwLCAzLCA3LCA2KQorICAgIGZvciBpIGluIHZhbHM6CisgICAgICAgIHMucHVzaChCbG9jayhpKSkKKworZGVmIGRpc2FibGVfa2V5cygpOgorICAgIG9ua2V5KE5vbmUsICJzIikKKyAgICBvbmtleShOb25lLCAiaSIpCisgICAgb25rZXkoTm9uZSwgInEiKQorICAgIG9ua2V5KE5vbmUsICJyIikKKworZGVmIGVuYWJsZV9rZXlzKCk6CisgICAgb25rZXkoc3RhcnRfaXNvcnQsICJpIikKKyAgICBvbmtleShzdGFydF9zc29ydCwgInMiKQorICAgIG9ua2V5KHN0YXJ0X3Fzb3J0LCAicSIpCisgICAgb25rZXkocmFuZG9taXplLCAiciIpCisgICAgb25rZXkoYnllLCAic3BhY2UiKQorCitkZWYgbWFpbigpOgorICAgIGdldHNjcmVlbigpLmNsZWFyc2NyZWVuKCkKKyAgICBodCgpOyBwZW51cCgpCisgICAgaW5pdF9zaGVsZigpCisgICAgc2hvd190ZXh0KGluc3RydWN0aW9uczEpCisgICAgc2hvd190ZXh0KGluc3RydWN0aW9uczIsIGxpbmU9MSkKKyAgICBlbmFibGVfa2V5cygpCisgICAgbGlzdGVuKCkKKyAgICByZXR1cm4gIkVWRU5UTE9PUCIKKworaW5zdHJ1Y3Rpb25zMSA9ICJwcmVzcyBpIGZvciBpbnNlcnRpb24gc29ydCwgcyBmb3Igc2VsZWN0aW9uIHNvcnQsIHEgZm9yIHF1aWNrc29ydCIKK2luc3RydWN0aW9uczIgPSAic3BhY2ViYXIgdG8gcXVpdCwgciB0byByYW5kb21pemUiCisKK2lmIF9fbmFtZV9fPT0iX19tYWluX18iOgorICAgIG1zZyA9IG1haW4oKQorICAgIG1haW5sb29wKCkKZGlmZiAtLWdpdCBhL0xpYi91bml0dGVzdC9fX2luaXRfXy5weSBiL0xpYi91bml0dGVzdC9fX2luaXRfXy5weQppbmRleCBhNWQ1MGFmLi5mNmQ3YWUyIDEwMDY0NAotLS0gYS9MaWIvdW5pdHRlc3QvX19pbml0X18ucHkKKysrIGIvTGliL3VuaXR0ZXN0L19faW5pdF9fLnB5CkBAIC02NywzICs2NywxMiBAQAogCiAjIGRlcHJlY2F0ZWQKIF9UZXh0VGVzdFJlc3VsdCA9IFRleHRUZXN0UmVzdWx0CisKKyMgVGhlcmUgYXJlIG5vIHRlc3RzIGhlcmUsIHNvIGRvbid0IHRyeSB0byBydW4gYW55dGhpbmcgZGlzY292ZXJlZCBmcm9tCisjIGludHJvc3BlY3RpbmcgdGhlIHN5bWJvbHMgKGUuZy4gRnVuY3Rpb25UZXN0Q2FzZSkuIEluc3RlYWQsIGFsbCBvdXIKKyMgdGVzdHMgY29tZSBmcm9tIHdpdGhpbiB1bml0dGVzdC50ZXN0LgorZGVmIGxvYWRfdGVzdHMobG9hZGVyLCB0ZXN0cywgcGF0dGVybik6CisgICAgaW1wb3J0IG9zLnBhdGgKKyAgICAjIHRvcCBsZXZlbCBkaXJlY3RvcnkgY2FjaGVkIG9uIGxvYWRlciBpbnN0YW5jZQorICAgIHRoaXNfZGlyID0gb3MucGF0aC5kaXJuYW1lKF9fZmlsZV9fKQorICAgIHJldHVybiBsb2FkZXIuZGlzY292ZXIoc3RhcnRfZGlyPXRoaXNfZGlyLCBwYXR0ZXJuPXBhdHRlcm4pCmRpZmYgLS1naXQgYS9MaWIvdW5pdHRlc3QvbG9hZGVyLnB5IGIvTGliL3VuaXR0ZXN0L2xvYWRlci5weQppbmRleCA4MDhjNTBlLi44ZWU2YzU2IDEwMDY0NAotLS0gYS9MaWIvdW5pdHRlc3QvbG9hZGVyLnB5CisrKyBiL0xpYi91bml0dGVzdC9sb2FkZXIucHkKQEAgLTYsNiArNiw3IEBACiBpbXBvcnQgdHJhY2ViYWNrCiBpbXBvcnQgdHlwZXMKIGltcG9ydCBmdW5jdG9vbHMKK2ltcG9ydCB3YXJuaW5ncwogCiBmcm9tIGZubWF0Y2ggaW1wb3J0IGZubWF0Y2gKIApAQCAtMjAsMTkgKzIxLDIyIEBACiAKIAogZGVmIF9tYWtlX2ZhaWxlZF9pbXBvcnRfdGVzdChuYW1lLCBzdWl0ZUNsYXNzKToKLSAgICBtZXNzYWdlID0gJ0ZhaWxlZCB0byBpbXBvcnQgdGVzdCBtb2R1bGU6ICVzXG4lcycgJSAobmFtZSwgdHJhY2ViYWNrLmZvcm1hdF9leGMoKSkKKyAgICBtZXNzYWdlID0gJ0ZhaWxlZCB0byBpbXBvcnQgdGVzdCBtb2R1bGU6ICVzXG4lcycgJSAoCisgICAgICAgIG5hbWUsIHRyYWNlYmFjay5mb3JtYXRfZXhjKCkpCiAgICAgcmV0dXJuIF9tYWtlX2ZhaWxlZF90ZXN0KCdNb2R1bGVJbXBvcnRGYWlsdXJlJywgbmFtZSwgSW1wb3J0RXJyb3IobWVzc2FnZSksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1aXRlQ2xhc3MpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1aXRlQ2xhc3MsIG1lc3NhZ2UpCiAKIGRlZiBfbWFrZV9mYWlsZWRfbG9hZF90ZXN0cyhuYW1lLCBleGNlcHRpb24sIHN1aXRlQ2xhc3MpOgotICAgIHJldHVybiBfbWFrZV9mYWlsZWRfdGVzdCgnTG9hZFRlc3RzRmFpbHVyZScsIG5hbWUsIGV4Y2VwdGlvbiwgc3VpdGVDbGFzcykKKyAgICBtZXNzYWdlID0gJ0ZhaWxlZCB0byBjYWxsIGxvYWRfdGVzdHM6XG4lcycgJSAodHJhY2ViYWNrLmZvcm1hdF9leGMoKSwpCisgICAgcmV0dXJuIF9tYWtlX2ZhaWxlZF90ZXN0KAorICAgICAgICAnTG9hZFRlc3RzRmFpbHVyZScsIG5hbWUsIGV4Y2VwdGlvbiwgc3VpdGVDbGFzcywgbWVzc2FnZSkKIAotZGVmIF9tYWtlX2ZhaWxlZF90ZXN0KGNsYXNzbmFtZSwgbWV0aG9kbmFtZSwgZXhjZXB0aW9uLCBzdWl0ZUNsYXNzKToKK2RlZiBfbWFrZV9mYWlsZWRfdGVzdChjbGFzc25hbWUsIG1ldGhvZG5hbWUsIGV4Y2VwdGlvbiwgc3VpdGVDbGFzcywgbWVzc2FnZSk6CiAgICAgZGVmIHRlc3RGYWlsdXJlKHNlbGYpOgogICAgICAgICByYWlzZSBleGNlcHRpb24KICAgICBhdHRycyA9IHttZXRob2RuYW1lOiB0ZXN0RmFpbHVyZX0KICAgICBUZXN0Q2xhc3MgPSB0eXBlKGNsYXNzbmFtZSwgKGNhc2UuVGVzdENhc2UsKSwgYXR0cnMpCi0gICAgcmV0dXJuIHN1aXRlQ2xhc3MoKFRlc3RDbGFzcyhtZXRob2RuYW1lKSwpKQorICAgIHJldHVybiBzdWl0ZUNsYXNzKChUZXN0Q2xhc3MobWV0aG9kbmFtZSksKSksIG1lc3NhZ2UKIAogZGVmIF9tYWtlX3NraXBwZWRfdGVzdChtZXRob2RuYW1lLCBleGNlcHRpb24sIHN1aXRlQ2xhc3MpOgogICAgIEBjYXNlLnNraXAoc3RyKGV4Y2VwdGlvbikpCkBAIC01OCw2ICs2MiwxMyBAQAogICAgIHN1aXRlQ2xhc3MgPSBzdWl0ZS5UZXN0U3VpdGUKICAgICBfdG9wX2xldmVsX2RpciA9IE5vbmUKIAorICAgIGRlZiBfX2luaXRfXyhzZWxmKToKKyAgICAgICAgc3VwZXIoVGVzdExvYWRlciwgc2VsZikuX19pbml0X18oKQorICAgICAgICBzZWxmLmVycm9ycyA9IFtdCisgICAgICAgICMgVHJhY2tzIHBhY2thZ2VzIHdoaWNoIHdlIGhhdmUgY2FsbGVkIGludG8gdmlhIGxvYWRfdGVzdHMsIHRvCisgICAgICAgICMgYXZvaWQgaW5maW5pdGUgcmUtZW50cmFuY3kuCisgICAgICAgIHNlbGYuX2xvYWRpbmdfcGFja2FnZXMgPSBzZXQoKQorCiAgICAgZGVmIGxvYWRUZXN0c0Zyb21UZXN0Q2FzZShzZWxmLCB0ZXN0Q2FzZUNsYXNzKToKICAgICAgICAgIiIiUmV0dXJuIGEgc3VpdGUgb2YgYWxsIHRlc3RzIGNhc2VzIGNvbnRhaW5lZCBpbiB0ZXN0Q2FzZUNsYXNzIiIiCiAgICAgICAgIGlmIGlzc3ViY2xhc3ModGVzdENhc2VDbGFzcywgc3VpdGUuVGVzdFN1aXRlKToKQEAgLTcwLDggKzgxLDMwIEBACiAgICAgICAgIGxvYWRlZF9zdWl0ZSA9IHNlbGYuc3VpdGVDbGFzcyhtYXAodGVzdENhc2VDbGFzcywgdGVzdENhc2VOYW1lcykpCiAgICAgICAgIHJldHVybiBsb2FkZWRfc3VpdGUKIAotICAgIGRlZiBsb2FkVGVzdHNGcm9tTW9kdWxlKHNlbGYsIG1vZHVsZSwgdXNlX2xvYWRfdGVzdHM9VHJ1ZSk6CisgICAgIyBYWFggQWZ0ZXIgUHl0aG9uIDMuNSwgcmVtb3ZlIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgaGFja3MgZm9yCisgICAgIyB1c2VfbG9hZF90ZXN0cyBkZXByZWNhdGlvbiB2aWEgKmFyZ3MgYW5kICoqa3dzLiAgU2VlIGlzc3VlIDE2NjYyLgorICAgIGRlZiBsb2FkVGVzdHNGcm9tTW9kdWxlKHNlbGYsIG1vZHVsZSwgKmFyZ3MsIHBhdHRlcm49Tm9uZSwgKiprd3MpOgogICAgICAgICAiIiJSZXR1cm4gYSBzdWl0ZSBvZiBhbGwgdGVzdHMgY2FzZXMgY29udGFpbmVkIGluIHRoZSBnaXZlbiBtb2R1bGUiIiIKKyAgICAgICAgIyBUaGlzIG1ldGhvZCB1c2VkIHRvIHRha2UgYW4gdW5kb2N1bWVudGVkIGFuZCB1bm9mZmljaWFsCisgICAgICAgICMgdXNlX2xvYWRfdGVzdHMgYXJndW1lbnQuICBGb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSwgd2Ugc3RpbGwKKyAgICAgICAgIyBhY2NlcHQgdGhlIGFyZ3VtZW50ICh3aGljaCBjYW4gYWxzbyBiZSB0aGUgZmlyc3QgcG9zaXRpb24pIGJ1dCB3ZQorICAgICAgICAjIGlnbm9yZSBpdCBhbmQgaXNzdWUgYSBkZXByZWNhdGlvbiB3YXJuaW5nIGlmIGl0J3MgcHJlc2VudC4KKyAgICAgICAgaWYgbGVuKGFyZ3MpID4gMCBvciAndXNlX2xvYWRfdGVzdHMnIGluIGt3czoKKyAgICAgICAgICAgIHdhcm5pbmdzLndhcm4oJ3VzZV9sb2FkX3Rlc3RzIGlzIGRlcHJlY2F0ZWQgYW5kIGlnbm9yZWQnLAorICAgICAgICAgICAgICAgICAgICAgICAgICBEZXByZWNhdGlvbldhcm5pbmcpCisgICAgICAgICAgICBrd3MucG9wKCd1c2VfbG9hZF90ZXN0cycsIE5vbmUpCisgICAgICAgIGlmIGxlbihhcmdzKSA+IDE6CisgICAgICAgICAgICAjIENvbXBsYWluIGFib3V0IHRoZSBudW1iZXIgb2YgYXJndW1lbnRzLCBidXQgZG9uJ3QgZm9yZ2V0IHRoZQorICAgICAgICAgICAgIyByZXF1aXJlZCBgbW9kdWxlYCBhcmd1bWVudC4KKyAgICAgICAgICAgIGNvbXBsYWludCA9IGxlbihhcmdzKSArIDEKKyAgICAgICAgICAgIHJhaXNlIFR5cGVFcnJvcignbG9hZFRlc3RzRnJvbU1vZHVsZSgpIHRha2VzIDEgcG9zaXRpb25hbCBhcmd1bWVudCBidXQge30gd2VyZSBnaXZlbicuZm9ybWF0KGNvbXBsYWludCkpCisgICAgICAgIGlmIGxlbihrd3MpICE9IDA6CisgICAgICAgICAgICAjIFNpbmNlIHRoZSBrZXl3b3JkIGFyZ3VtZW50cyBhcmUgdW5zb3J0ZWQgKHNlZSBQRVAgNDY4KSwganVzdAorICAgICAgICAgICAgIyBwaWNrIHRoZSBhbHBoYWJldGljYWxseSBzb3J0ZWQgZmlyc3QgYXJndW1lbnQgdG8gY29tcGxhaW4gYWJvdXQsCisgICAgICAgICAgICAjIGlmIG11bHRpcGxlIHdlcmUgZ2l2ZW4uICBBdCBsZWFzdCB0aGUgZXJyb3IgbWVzc2FnZSB3aWxsIGJlCisgICAgICAgICAgICAjIHByZWRpY3RhYmxlLgorICAgICAgICAgICAgY29tcGxhaW50ID0gc29ydGVkKGt3cylbMF0KKyAgICAgICAgICAgIHJhaXNlIFR5cGVFcnJvcigibG9hZFRlc3RzRnJvbU1vZHVsZSgpIGdvdCBhbiB1bmV4cGVjdGVkIGtleXdvcmQgYXJndW1lbnQgJ3t9JyIuZm9ybWF0KGNvbXBsYWludCkpCiAgICAgICAgIHRlc3RzID0gW10KICAgICAgICAgZm9yIG5hbWUgaW4gZGlyKG1vZHVsZSk6CiAgICAgICAgICAgICBvYmogPSBnZXRhdHRyKG1vZHVsZSwgbmFtZSkKQEAgLTgwLDEyICsxMTMsMTQgQEAKIAogICAgICAgICBsb2FkX3Rlc3RzID0gZ2V0YXR0cihtb2R1bGUsICdsb2FkX3Rlc3RzJywgTm9uZSkKICAgICAgICAgdGVzdHMgPSBzZWxmLnN1aXRlQ2xhc3ModGVzdHMpCi0gICAgICAgIGlmIHVzZV9sb2FkX3Rlc3RzIGFuZCBsb2FkX3Rlc3RzIGlzIG5vdCBOb25lOgorICAgICAgICBpZiBsb2FkX3Rlc3RzIGlzIG5vdCBOb25lOgogICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgIHJldHVybiBsb2FkX3Rlc3RzKHNlbGYsIHRlc3RzLCBOb25lKQorICAgICAgICAgICAgICAgIHJldHVybiBsb2FkX3Rlc3RzKHNlbGYsIHRlc3RzLCBwYXR0ZXJuKQogICAgICAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgotICAgICAgICAgICAgICAgIHJldHVybiBfbWFrZV9mYWlsZWRfbG9hZF90ZXN0cyhtb2R1bGUuX19uYW1lX18sIGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuc3VpdGVDbGFzcykKKyAgICAgICAgICAgICAgICBlcnJvcl9jYXNlLCBlcnJvcl9tZXNzYWdlID0gX21ha2VfZmFpbGVkX2xvYWRfdGVzdHMoCisgICAgICAgICAgICAgICAgICAgIG1vZHVsZS5fX25hbWVfXywgZSwgc2VsZi5zdWl0ZUNsYXNzKQorICAgICAgICAgICAgICAgIHNlbGYuZXJyb3JzLmFwcGVuZChlcnJvcl9tZXNzYWdlKQorICAgICAgICAgICAgICAgIHJldHVybiBlcnJvcl9jYXNlCiAgICAgICAgIHJldHVybiB0ZXN0cwogCiAgICAgZGVmIGxvYWRUZXN0c0Zyb21OYW1lKHNlbGYsIG5hbWUsIG1vZHVsZT1Ob25lKToKQEAgLTk4LDIwICsxMzMsNDcgQEAKICAgICAgICAgVGhlIG1ldGhvZCBvcHRpb25hbGx5IHJlc29sdmVzIHRoZSBuYW1lcyByZWxhdGl2ZSB0byBhIGdpdmVuIG1vZHVsZS4KICAgICAgICAgIiIiCiAgICAgICAgIHBhcnRzID0gbmFtZS5zcGxpdCgnLicpCisgICAgICAgIGVycm9yX2Nhc2UsIGVycm9yX21lc3NhZ2UgPSBOb25lLCBOb25lCiAgICAgICAgIGlmIG1vZHVsZSBpcyBOb25lOgogICAgICAgICAgICAgcGFydHNfY29weSA9IHBhcnRzWzpdCiAgICAgICAgICAgICB3aGlsZSBwYXJ0c19jb3B5OgogICAgICAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICAgICAgbW9kdWxlID0gX19pbXBvcnRfXygnLicuam9pbihwYXJ0c19jb3B5KSkKKyAgICAgICAgICAgICAgICAgICAgbW9kdWxlX25hbWUgPSAnLicuam9pbihwYXJ0c19jb3B5KQorICAgICAgICAgICAgICAgICAgICBtb2R1bGUgPSBfX2ltcG9ydF9fKG1vZHVsZV9uYW1lKQogICAgICAgICAgICAgICAgICAgICBicmVhawogICAgICAgICAgICAgICAgIGV4Y2VwdCBJbXBvcnRFcnJvcjoKLSAgICAgICAgICAgICAgICAgICAgZGVsIHBhcnRzX2NvcHlbLTFdCisgICAgICAgICAgICAgICAgICAgIG5leHRfYXR0cmlidXRlID0gcGFydHNfY29weS5wb3AoKQorICAgICAgICAgICAgICAgICAgICAjIExhc3QgZXJyb3Igc28gd2UgY2FuIGdpdmUgaXQgdG8gdGhlIHVzZXIgaWYgbmVlZGVkLgorICAgICAgICAgICAgICAgICAgICBlcnJvcl9jYXNlLCBlcnJvcl9tZXNzYWdlID0gX21ha2VfZmFpbGVkX2ltcG9ydF90ZXN0KAorICAgICAgICAgICAgICAgICAgICAgICAgbmV4dF9hdHRyaWJ1dGUsIHNlbGYuc3VpdGVDbGFzcykKICAgICAgICAgICAgICAgICAgICAgaWYgbm90IHBhcnRzX2NvcHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICByYWlzZQorICAgICAgICAgICAgICAgICAgICAgICAgIyBFdmVuIHRoZSB0b3AgbGV2ZWwgaW1wb3J0IGZhaWxlZDogcmVwb3J0IHRoYXQgZXJyb3IuCisgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmVycm9ycy5hcHBlbmQoZXJyb3JfbWVzc2FnZSkKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBlcnJvcl9jYXNlCiAgICAgICAgICAgICBwYXJ0cyA9IHBhcnRzWzE6XQogICAgICAgICBvYmogPSBtb2R1bGUKICAgICAgICAgZm9yIHBhcnQgaW4gcGFydHM6Ci0gICAgICAgICAgICBwYXJlbnQsIG9iaiA9IG9iaiwgZ2V0YXR0cihvYmosIHBhcnQpCisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgcGFyZW50LCBvYmogPSBvYmosIGdldGF0dHIob2JqLCBwYXJ0KQorICAgICAgICAgICAgZXhjZXB0IEF0dHJpYnV0ZUVycm9yIGFzIGU6CisgICAgICAgICAgICAgICAgIyBXZSBjYW4ndCB0cmF2ZXJzZSBzb21lIHBhcnQgb2YgdGhlIG5hbWUuCisgICAgICAgICAgICAgICAgaWYgKGdldGF0dHIob2JqLCAnX19wYXRoX18nLCBOb25lKSBpcyBub3QgTm9uZQorICAgICAgICAgICAgICAgICAgICBhbmQgZXJyb3JfY2FzZSBpcyBub3QgTm9uZSk6CisgICAgICAgICAgICAgICAgICAgICMgVGhpcyBpcyBhIHBhY2thZ2UgKG5vIF9fcGF0aF9fIHBlciBpbXBvcnRsaWIgZG9jcyksIGFuZCB3ZQorICAgICAgICAgICAgICAgICAgICAjIGVuY291bnRlcmVkIGFuIGVycm9yIGltcG9ydGluZyBzb21ldGhpbmcuIFdlIGNhbm5vdCB0ZWxsCisgICAgICAgICAgICAgICAgICAgICMgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiBwYWNrYWdlLldyb25nTmFtZVRlc3RDbGFzcyBhbmQKKyAgICAgICAgICAgICAgICAgICAgIyBwYWNrYWdlLndyb25nX21vZHVsZV9uYW1lIHNvIHdlIGp1c3QgcmVwb3J0IHRoZQorICAgICAgICAgICAgICAgICAgICAjIEltcG9ydEVycm9yIC0gaXQgaXMgbW9yZSBpbmZvcm1hdGl2ZS4KKyAgICAgICAgICAgICAgICAgICAgc2VsZi5lcnJvcnMuYXBwZW5kKGVycm9yX21lc3NhZ2UpCisgICAgICAgICAgICAgICAgICAgIHJldHVybiBlcnJvcl9jYXNlCisgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgIyBPdGhlcndpc2UsIHdlIHNpZ25hbCB0aGF0IGFuIEF0dHJpYnV0ZUVycm9yIGhhcyBvY2N1cnJlZC4KKyAgICAgICAgICAgICAgICAgICAgZXJyb3JfY2FzZSwgZXJyb3JfbWVzc2FnZSA9IF9tYWtlX2ZhaWxlZF90ZXN0KAorICAgICAgICAgICAgICAgICAgICAgICAgJ0F0dHJpYnV0ZUVycm9yJywgcGFydCwgZSwgc2VsZi5zdWl0ZUNsYXNzLAorICAgICAgICAgICAgICAgICAgICAgICAgJ0ZhaWxlZCB0byBhY2Nlc3MgYXR0cmlidXRlOlxuJXMnICUgKAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYWNlYmFjay5mb3JtYXRfZXhjKCksKSkKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5lcnJvcnMuYXBwZW5kKGVycm9yX21lc3NhZ2UpCisgICAgICAgICAgICAgICAgICAgIHJldHVybiBlcnJvcl9jYXNlCiAKICAgICAgICAgaWYgaXNpbnN0YW5jZShvYmosIHR5cGVzLk1vZHVsZVR5cGUpOgogICAgICAgICAgICAgcmV0dXJuIHNlbGYubG9hZFRlc3RzRnJvbU1vZHVsZShvYmopCkBAIC0xNzAsOSArMjMyLDEzIEBACiAKICAgICAgICAgSWYgYSB0ZXN0IHBhY2thZ2UgbmFtZSAoZGlyZWN0b3J5IHdpdGggJ19faW5pdF9fLnB5JykgbWF0Y2hlcyB0aGUKICAgICAgICAgcGF0dGVybiB0aGVuIHRoZSBwYWNrYWdlIHdpbGwgYmUgY2hlY2tlZCBmb3IgYSAnbG9hZF90ZXN0cycgZnVuY3Rpb24uIElmCi0gICAgICAgIHRoaXMgZXhpc3RzIHRoZW4gaXQgd2lsbCBiZSBjYWxsZWQgd2l0aCBsb2FkZXIsIHRlc3RzLCBwYXR0ZXJuLgorICAgICAgICB0aGlzIGV4aXN0cyB0aGVuIGl0IHdpbGwgYmUgY2FsbGVkIHdpdGggKGxvYWRlciwgdGVzdHMsIHBhdHRlcm4pIHVubGVzcworICAgICAgICB0aGUgcGFja2FnZSBoYXMgYWxyZWFkeSBoYWQgbG9hZF90ZXN0cyBjYWxsZWQgZnJvbSB0aGUgc2FtZSBkaXNjb3ZlcnkKKyAgICAgICAgaW52b2NhdGlvbiwgaW4gd2hpY2ggY2FzZSB0aGUgcGFja2FnZSBtb2R1bGUgb2JqZWN0IGlzIG5vdCBzY2FubmVkIGZvcgorICAgICAgICB0ZXN0cyAtIHRoaXMgZW5zdXJlcyB0aGF0IHdoZW4gYSBwYWNrYWdlIHVzZXMgZGlzY292ZXIgdG8gZnVydGhlcgorICAgICAgICBkaXNjb3ZlciBjaGlsZCB0ZXN0cyB0aGF0IGluZmluaXRlIHJlY3Vyc2lvbiBkb2VzIG5vdCBoYXBwZW4uCiAKLSAgICAgICAgSWYgbG9hZF90ZXN0cyBleGlzdHMgdGhlbiBkaXNjb3ZlcnkgZG9lcyAgKm5vdCogcmVjdXJzZSBpbnRvIHRoZSBwYWNrYWdlLAorICAgICAgICBJZiBsb2FkX3Rlc3RzIGV4aXN0cyB0aGVuIGRpc2NvdmVyeSBkb2VzICpub3QqIHJlY3Vyc2UgaW50byB0aGUgcGFja2FnZSwKICAgICAgICAgbG9hZF90ZXN0cyBpcyByZXNwb25zaWJsZSBmb3IgbG9hZGluZyBhbGwgdGVzdHMgaW4gdGhlIHBhY2thZ2UuCiAKICAgICAgICAgVGhlIHBhdHRlcm4gaXMgZGVsaWJlcmF0ZWx5IG5vdCBzdG9yZWQgYXMgYSBsb2FkZXIgYXR0cmlidXRlIHNvIHRoYXQKQEAgLTI3Nyw2ICszNDMsOCBAQAogICAgICAgICAgICAgcmV0dXJuIG9zLnBhdGguZGlybmFtZShmdWxsX3BhdGgpCiAKICAgICBkZWYgX2dldF9uYW1lX2Zyb21fcGF0aChzZWxmLCBwYXRoKToKKyAgICAgICAgaWYgcGF0aCA9PSBzZWxmLl90b3BfbGV2ZWxfZGlyOgorICAgICAgICAgICAgcmV0dXJuICcuJwogICAgICAgICBwYXRoID0gX2p5dGhvbl9hd2FyZV9zcGxpdGV4dChvcy5wYXRoLm5vcm1wYXRoKHBhdGgpKQogCiAgICAgICAgIF9yZWxwYXRoID0gb3MucGF0aC5yZWxwYXRoKHBhdGgsIHNlbGYuX3RvcF9sZXZlbF9kaXIpCkBAIC0yOTYsNjMgKzM2NCwxMTEgQEAKIAogICAgIGRlZiBfZmluZF90ZXN0cyhzZWxmLCBzdGFydF9kaXIsIHBhdHRlcm4sIG5hbWVzcGFjZT1GYWxzZSk6CiAgICAgICAgICIiIlVzZWQgYnkgZGlzY292ZXJ5LiBZaWVsZHMgdGVzdCBzdWl0ZXMgaXQgbG9hZHMuIiIiCisgICAgICAgICMgSGFuZGxlIHRoZSBfX2luaXRfXyBpbiB0aGlzIHBhY2thZ2UKKyAgICAgICAgbmFtZSA9IHNlbGYuX2dldF9uYW1lX2Zyb21fcGF0aChzdGFydF9kaXIpCisgICAgICAgICMgbmFtZSBpcyAnLicgd2hlbiBzdGFydF9kaXIgPT0gdG9wX2xldmVsX2RpciAoYW5kIHRvcF9sZXZlbF9kaXIgaXMgYnkKKyAgICAgICAgIyBkZWZpbml0aW9uIG5vdCBhIHBhY2thZ2UpLgorICAgICAgICBpZiBuYW1lICE9ICcuJyBhbmQgbmFtZSBub3QgaW4gc2VsZi5fbG9hZGluZ19wYWNrYWdlczoKKyAgICAgICAgICAgICMgbmFtZSBpcyBpbiBzZWxmLl9sb2FkaW5nX3BhY2thZ2VzIHdoaWxlIHdlIGhhdmUgY2FsbGVkIGludG8KKyAgICAgICAgICAgICMgbG9hZFRlc3RzRnJvbU1vZHVsZSB3aXRoIG5hbWUuCisgICAgICAgICAgICB0ZXN0cywgc2hvdWxkX3JlY3Vyc2UgPSBzZWxmLl9maW5kX3Rlc3RfcGF0aCgKKyAgICAgICAgICAgICAgICBzdGFydF9kaXIsIHBhdHRlcm4sIG5hbWVzcGFjZSkKKyAgICAgICAgICAgIGlmIHRlc3RzIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgICAgIHlpZWxkIHRlc3RzCisgICAgICAgICAgICBpZiBub3Qgc2hvdWxkX3JlY3Vyc2U6CisgICAgICAgICAgICAgICAgIyBFaXRoZXIgYW4gZXJyb3Igb2NjdXJlZCwgb3IgbG9hZF90ZXN0cyB3YXMgdXNlZCBieSB0aGUKKyAgICAgICAgICAgICAgICAjIHBhY2thZ2UuCisgICAgICAgICAgICAgICAgcmV0dXJuCisgICAgICAgICMgSGFuZGxlIHRoZSBjb250ZW50cy4KICAgICAgICAgcGF0aHMgPSBzb3J0ZWQob3MubGlzdGRpcihzdGFydF9kaXIpKQotCiAgICAgICAgIGZvciBwYXRoIGluIHBhdGhzOgogICAgICAgICAgICAgZnVsbF9wYXRoID0gb3MucGF0aC5qb2luKHN0YXJ0X2RpciwgcGF0aCkKLSAgICAgICAgICAgIGlmIG9zLnBhdGguaXNmaWxlKGZ1bGxfcGF0aCk6Ci0gICAgICAgICAgICAgICAgaWYgbm90IFZBTElEX01PRFVMRV9OQU1FLm1hdGNoKHBhdGgpOgotICAgICAgICAgICAgICAgICAgICAjIHZhbGlkIFB5dGhvbiBpZGVudGlmaWVycyBvbmx5Ci0gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCi0gICAgICAgICAgICAgICAgaWYgbm90IHNlbGYuX21hdGNoX3BhdGgocGF0aCwgZnVsbF9wYXRoLCBwYXR0ZXJuKToKLSAgICAgICAgICAgICAgICAgICAgY29udGludWUKLSAgICAgICAgICAgICAgICAjIGlmIHRoZSB0ZXN0IGZpbGUgbWF0Y2hlcywgbG9hZCBpdAorICAgICAgICAgICAgdGVzdHMsIHNob3VsZF9yZWN1cnNlID0gc2VsZi5fZmluZF90ZXN0X3BhdGgoCisgICAgICAgICAgICAgICAgZnVsbF9wYXRoLCBwYXR0ZXJuLCBuYW1lc3BhY2UpCisgICAgICAgICAgICBpZiB0ZXN0cyBpcyBub3QgTm9uZToKKyAgICAgICAgICAgICAgICB5aWVsZCB0ZXN0cworICAgICAgICAgICAgaWYgc2hvdWxkX3JlY3Vyc2U6CisgICAgICAgICAgICAgICAgIyB3ZSBmb3VuZCBhIHBhY2thZ2UgdGhhdCBkaWRuJ3QgdXNlIGxvYWRfdGVzdHMuCiAgICAgICAgICAgICAgICAgbmFtZSA9IHNlbGYuX2dldF9uYW1lX2Zyb21fcGF0aChmdWxsX3BhdGgpCisgICAgICAgICAgICAgICAgc2VsZi5fbG9hZGluZ19wYWNrYWdlcy5hZGQobmFtZSkKICAgICAgICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgICAgIG1vZHVsZSA9IHNlbGYuX2dldF9tb2R1bGVfZnJvbV9uYW1lKG5hbWUpCi0gICAgICAgICAgICAgICAgZXhjZXB0IGNhc2UuU2tpcFRlc3QgYXMgZToKLSAgICAgICAgICAgICAgICAgICAgeWllbGQgX21ha2Vfc2tpcHBlZF90ZXN0KG5hbWUsIGUsIHNlbGYuc3VpdGVDbGFzcykKLSAgICAgICAgICAgICAgICBleGNlcHQ6Ci0gICAgICAgICAgICAgICAgICAgIHlpZWxkIF9tYWtlX2ZhaWxlZF9pbXBvcnRfdGVzdChuYW1lLCBzZWxmLnN1aXRlQ2xhc3MpCi0gICAgICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgbW9kX2ZpbGUgPSBvcy5wYXRoLmFic3BhdGgoZ2V0YXR0cihtb2R1bGUsICdfX2ZpbGVfXycsIGZ1bGxfcGF0aCkpCi0gICAgICAgICAgICAgICAgICAgIHJlYWxwYXRoID0gX2p5dGhvbl9hd2FyZV9zcGxpdGV4dChvcy5wYXRoLnJlYWxwYXRoKG1vZF9maWxlKSkKLSAgICAgICAgICAgICAgICAgICAgZnVsbHBhdGhfbm9leHQgPSBfanl0aG9uX2F3YXJlX3NwbGl0ZXh0KG9zLnBhdGgucmVhbHBhdGgoZnVsbF9wYXRoKSkKLSAgICAgICAgICAgICAgICAgICAgaWYgcmVhbHBhdGgubG93ZXIoKSAhPSBmdWxscGF0aF9ub2V4dC5sb3dlcigpOgotICAgICAgICAgICAgICAgICAgICAgICAgbW9kdWxlX2RpciA9IG9zLnBhdGguZGlybmFtZShyZWFscGF0aCkKLSAgICAgICAgICAgICAgICAgICAgICAgIG1vZF9uYW1lID0gX2p5dGhvbl9hd2FyZV9zcGxpdGV4dChvcy5wYXRoLmJhc2VuYW1lKGZ1bGxfcGF0aCkpCi0gICAgICAgICAgICAgICAgICAgICAgICBleHBlY3RlZF9kaXIgPSBvcy5wYXRoLmRpcm5hbWUoZnVsbF9wYXRoKQotICAgICAgICAgICAgICAgICAgICAgICAgbXNnID0gKCIlciBtb2R1bGUgaW5jb3JyZWN0bHkgaW1wb3J0ZWQgZnJvbSAlci4gRXhwZWN0ZWQgJXIuICIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiSXMgdGhpcyBtb2R1bGUgZ2xvYmFsbHkgaW5zdGFsbGVkPyIpCi0gICAgICAgICAgICAgICAgICAgICAgICByYWlzZSBJbXBvcnRFcnJvcihtc2cgJSAobW9kX25hbWUsIG1vZHVsZV9kaXIsIGV4cGVjdGVkX2RpcikpCi0gICAgICAgICAgICAgICAgICAgIHlpZWxkIHNlbGYubG9hZFRlc3RzRnJvbU1vZHVsZShtb2R1bGUpCi0gICAgICAgICAgICBlbGlmIG9zLnBhdGguaXNkaXIoZnVsbF9wYXRoKToKLSAgICAgICAgICAgICAgICBpZiAobm90IG5hbWVzcGFjZSBhbmQKLSAgICAgICAgICAgICAgICAgICAgbm90IG9zLnBhdGguaXNmaWxlKG9zLnBhdGguam9pbihmdWxsX3BhdGgsICdfX2luaXRfXy5weScpKSk6Ci0gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgICAgICAgICAgICAgIHlpZWxkIGZyb20gc2VsZi5fZmluZF90ZXN0cyhmdWxsX3BhdGgsIHBhdHRlcm4sIG5hbWVzcGFjZSkKKyAgICAgICAgICAgICAgICBmaW5hbGx5OgorICAgICAgICAgICAgICAgICAgICBzZWxmLl9sb2FkaW5nX3BhY2thZ2VzLmRpc2NhcmQobmFtZSkKIAotICAgICAgICAgICAgICAgIGxvYWRfdGVzdHMgPSBOb25lCi0gICAgICAgICAgICAgICAgdGVzdHMgPSBOb25lCi0gICAgICAgICAgICAgICAgaWYgZm5tYXRjaChwYXRoLCBwYXR0ZXJuKToKLSAgICAgICAgICAgICAgICAgICAgIyBvbmx5IGNoZWNrIGxvYWRfdGVzdHMgaWYgdGhlIHBhY2thZ2UgZGlyZWN0b3J5IGl0c2VsZiBtYXRjaGVzIHRoZSBmaWx0ZXIKLSAgICAgICAgICAgICAgICAgICAgbmFtZSA9IHNlbGYuX2dldF9uYW1lX2Zyb21fcGF0aChmdWxsX3BhdGgpCi0gICAgICAgICAgICAgICAgICAgIHBhY2thZ2UgPSBzZWxmLl9nZXRfbW9kdWxlX2Zyb21fbmFtZShuYW1lKQotICAgICAgICAgICAgICAgICAgICBsb2FkX3Rlc3RzID0gZ2V0YXR0cihwYWNrYWdlLCAnbG9hZF90ZXN0cycsIE5vbmUpCi0gICAgICAgICAgICAgICAgICAgIHRlc3RzID0gc2VsZi5sb2FkVGVzdHNGcm9tTW9kdWxlKHBhY2thZ2UsIHVzZV9sb2FkX3Rlc3RzPUZhbHNlKQorICAgIGRlZiBfZmluZF90ZXN0X3BhdGgoc2VsZiwgZnVsbF9wYXRoLCBwYXR0ZXJuLCBuYW1lc3BhY2U9RmFsc2UpOgorICAgICAgICAiIiJVc2VkIGJ5IGRpc2NvdmVyeS4KIAotICAgICAgICAgICAgICAgIGlmIGxvYWRfdGVzdHMgaXMgTm9uZToKLSAgICAgICAgICAgICAgICAgICAgaWYgdGVzdHMgaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICAgICAgICAgICAgICAjIHRlc3RzIGxvYWRlZCBmcm9tIHBhY2thZ2UgZmlsZQotICAgICAgICAgICAgICAgICAgICAgICAgeWllbGQgdGVzdHMKLSAgICAgICAgICAgICAgICAgICAgIyByZWN1cnNlIGludG8gdGhlIHBhY2thZ2UKLSAgICAgICAgICAgICAgICAgICAgeWllbGQgZnJvbSBzZWxmLl9maW5kX3Rlc3RzKGZ1bGxfcGF0aCwgcGF0dGVybiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWVzcGFjZT1uYW1lc3BhY2UpCi0gICAgICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgICAgICAgICAgeWllbGQgbG9hZF90ZXN0cyhzZWxmLCB0ZXN0cywgcGF0dGVybikKLSAgICAgICAgICAgICAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgotICAgICAgICAgICAgICAgICAgICAgICAgeWllbGQgX21ha2VfZmFpbGVkX2xvYWRfdGVzdHMocGFja2FnZS5fX25hbWVfXywgZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuc3VpdGVDbGFzcykKKyAgICAgICAgTG9hZHMgdGVzdHMgZnJvbSBhIHNpbmdsZSBmaWxlLCBvciBhIGRpcmVjdG9yaWVzJyBfX2luaXRfXy5weSB3aGVuCisgICAgICAgIHBhc3NlZCB0aGUgZGlyZWN0b3J5LgorCisgICAgICAgIFJldHVybnMgYSB0dXBsZSAoTm9uZV9vcl90ZXN0c19mcm9tX2ZpbGUsIHNob3VsZF9yZWN1cnNlKS4KKyAgICAgICAgIiIiCisgICAgICAgIGJhc2VuYW1lID0gb3MucGF0aC5iYXNlbmFtZShmdWxsX3BhdGgpCisgICAgICAgIGlmIG9zLnBhdGguaXNmaWxlKGZ1bGxfcGF0aCk6CisgICAgICAgICAgICBpZiBub3QgVkFMSURfTU9EVUxFX05BTUUubWF0Y2goYmFzZW5hbWUpOgorICAgICAgICAgICAgICAgICMgdmFsaWQgUHl0aG9uIGlkZW50aWZpZXJzIG9ubHkKKyAgICAgICAgICAgICAgICByZXR1cm4gTm9uZSwgRmFsc2UKKyAgICAgICAgICAgIGlmIG5vdCBzZWxmLl9tYXRjaF9wYXRoKGJhc2VuYW1lLCBmdWxsX3BhdGgsIHBhdHRlcm4pOgorICAgICAgICAgICAgICAgIHJldHVybiBOb25lLCBGYWxzZQorICAgICAgICAgICAgIyBpZiB0aGUgdGVzdCBmaWxlIG1hdGNoZXMsIGxvYWQgaXQKKyAgICAgICAgICAgIG5hbWUgPSBzZWxmLl9nZXRfbmFtZV9mcm9tX3BhdGgoZnVsbF9wYXRoKQorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIG1vZHVsZSA9IHNlbGYuX2dldF9tb2R1bGVfZnJvbV9uYW1lKG5hbWUpCisgICAgICAgICAgICBleGNlcHQgY2FzZS5Ta2lwVGVzdCBhcyBlOgorICAgICAgICAgICAgICAgIHJldHVybiBfbWFrZV9za2lwcGVkX3Rlc3QobmFtZSwgZSwgc2VsZi5zdWl0ZUNsYXNzKSwgRmFsc2UKKyAgICAgICAgICAgIGV4Y2VwdDoKKyAgICAgICAgICAgICAgICBlcnJvcl9jYXNlLCBlcnJvcl9tZXNzYWdlID0gXAorICAgICAgICAgICAgICAgICAgICBfbWFrZV9mYWlsZWRfaW1wb3J0X3Rlc3QobmFtZSwgc2VsZi5zdWl0ZUNsYXNzKQorICAgICAgICAgICAgICAgIHNlbGYuZXJyb3JzLmFwcGVuZChlcnJvcl9tZXNzYWdlKQorICAgICAgICAgICAgICAgIHJldHVybiBlcnJvcl9jYXNlLCBGYWxzZQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBtb2RfZmlsZSA9IG9zLnBhdGguYWJzcGF0aCgKKyAgICAgICAgICAgICAgICAgICAgZ2V0YXR0cihtb2R1bGUsICdfX2ZpbGVfXycsIGZ1bGxfcGF0aCkpCisgICAgICAgICAgICAgICAgcmVhbHBhdGggPSBfanl0aG9uX2F3YXJlX3NwbGl0ZXh0KAorICAgICAgICAgICAgICAgICAgICBvcy5wYXRoLnJlYWxwYXRoKG1vZF9maWxlKSkKKyAgICAgICAgICAgICAgICBmdWxscGF0aF9ub2V4dCA9IF9qeXRob25fYXdhcmVfc3BsaXRleHQoCisgICAgICAgICAgICAgICAgICAgIG9zLnBhdGgucmVhbHBhdGgoZnVsbF9wYXRoKSkKKyAgICAgICAgICAgICAgICBpZiByZWFscGF0aC5sb3dlcigpICE9IGZ1bGxwYXRoX25vZXh0Lmxvd2VyKCk6CisgICAgICAgICAgICAgICAgICAgIG1vZHVsZV9kaXIgPSBvcy5wYXRoLmRpcm5hbWUocmVhbHBhdGgpCisgICAgICAgICAgICAgICAgICAgIG1vZF9uYW1lID0gX2p5dGhvbl9hd2FyZV9zcGxpdGV4dCgKKyAgICAgICAgICAgICAgICAgICAgICAgIG9zLnBhdGguYmFzZW5hbWUoZnVsbF9wYXRoKSkKKyAgICAgICAgICAgICAgICAgICAgZXhwZWN0ZWRfZGlyID0gb3MucGF0aC5kaXJuYW1lKGZ1bGxfcGF0aCkKKyAgICAgICAgICAgICAgICAgICAgbXNnID0gKCIlciBtb2R1bGUgaW5jb3JyZWN0bHkgaW1wb3J0ZWQgZnJvbSAlci4gRXhwZWN0ZWQgIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIiVyLiBJcyB0aGlzIG1vZHVsZSBnbG9iYWxseSBpbnN0YWxsZWQ/IikKKyAgICAgICAgICAgICAgICAgICAgcmFpc2UgSW1wb3J0RXJyb3IoCisgICAgICAgICAgICAgICAgICAgICAgICBtc2cgJSAobW9kX25hbWUsIG1vZHVsZV9kaXIsIGV4cGVjdGVkX2RpcikpCisgICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYubG9hZFRlc3RzRnJvbU1vZHVsZShtb2R1bGUsIHBhdHRlcm49cGF0dGVybiksIEZhbHNlCisgICAgICAgIGVsaWYgb3MucGF0aC5pc2RpcihmdWxsX3BhdGgpOgorICAgICAgICAgICAgaWYgKG5vdCBuYW1lc3BhY2UgYW5kCisgICAgICAgICAgICAgICAgbm90IG9zLnBhdGguaXNmaWxlKG9zLnBhdGguam9pbihmdWxsX3BhdGgsICdfX2luaXRfXy5weScpKSk6CisgICAgICAgICAgICAgICAgcmV0dXJuIE5vbmUsIEZhbHNlCisKKyAgICAgICAgICAgIGxvYWRfdGVzdHMgPSBOb25lCisgICAgICAgICAgICB0ZXN0cyA9IE5vbmUKKyAgICAgICAgICAgIG5hbWUgPSBzZWxmLl9nZXRfbmFtZV9mcm9tX3BhdGgoZnVsbF9wYXRoKQorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIHBhY2thZ2UgPSBzZWxmLl9nZXRfbW9kdWxlX2Zyb21fbmFtZShuYW1lKQorICAgICAgICAgICAgZXhjZXB0IGNhc2UuU2tpcFRlc3QgYXMgZToKKyAgICAgICAgICAgICAgICByZXR1cm4gX21ha2Vfc2tpcHBlZF90ZXN0KG5hbWUsIGUsIHNlbGYuc3VpdGVDbGFzcyksIEZhbHNlCisgICAgICAgICAgICBleGNlcHQ6CisgICAgICAgICAgICAgICAgZXJyb3JfY2FzZSwgZXJyb3JfbWVzc2FnZSA9IFwKKyAgICAgICAgICAgICAgICAgICAgX21ha2VfZmFpbGVkX2ltcG9ydF90ZXN0KG5hbWUsIHNlbGYuc3VpdGVDbGFzcykKKyAgICAgICAgICAgICAgICBzZWxmLmVycm9ycy5hcHBlbmQoZXJyb3JfbWVzc2FnZSkKKyAgICAgICAgICAgICAgICByZXR1cm4gZXJyb3JfY2FzZSwgRmFsc2UKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgbG9hZF90ZXN0cyA9IGdldGF0dHIocGFja2FnZSwgJ2xvYWRfdGVzdHMnLCBOb25lKQorICAgICAgICAgICAgICAgICMgTWFyayB0aGlzIHBhY2thZ2UgYXMgYmVpbmcgaW4gbG9hZF90ZXN0cyAocG9zc2libHkgOykpCisgICAgICAgICAgICAgICAgc2VsZi5fbG9hZGluZ19wYWNrYWdlcy5hZGQobmFtZSkKKyAgICAgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgICAgIHRlc3RzID0gc2VsZi5sb2FkVGVzdHNGcm9tTW9kdWxlKHBhY2thZ2UsIHBhdHRlcm49cGF0dGVybikKKyAgICAgICAgICAgICAgICAgICAgaWYgbG9hZF90ZXN0cyBpcyBub3QgTm9uZToKKyAgICAgICAgICAgICAgICAgICAgICAgICMgbG9hZFRlc3RzRnJvbU1vZHVsZShwYWNrYWdlKSBoYXMgbG9hZGVkIHRlc3RzIGZvciB1cy4KKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0ZXN0cywgRmFsc2UKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRlc3RzLCBUcnVlCisgICAgICAgICAgICAgICAgZmluYWxseToKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5fbG9hZGluZ19wYWNrYWdlcy5kaXNjYXJkKG5hbWUpCisKIAogZGVmYXVsdFRlc3RMb2FkZXIgPSBUZXN0TG9hZGVyKCkKIApkaWZmIC0tZ2l0IGEvTGliL3VuaXR0ZXN0L21haW4ucHkgYi9MaWIvdW5pdHRlc3QvbWFpbi5weQppbmRleCAxODBkZjg2Li5iMjA5YTNhIDEwMDY0NAotLS0gYS9MaWIvdW5pdHRlc3QvbWFpbi5weQorKysgYi9MaWIvdW5pdHRlc3QvbWFpbi5weQpAQCAtNTgsNyArNTgsNyBAQAogICAgIGRlZiBfX2luaXRfXyhzZWxmLCBtb2R1bGU9J19fbWFpbl9fJywgZGVmYXVsdFRlc3Q9Tm9uZSwgYXJndj1Ob25lLAogICAgICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyPU5vbmUsIHRlc3RMb2FkZXI9bG9hZGVyLmRlZmF1bHRUZXN0TG9hZGVyLAogICAgICAgICAgICAgICAgICAgICBleGl0PVRydWUsIHZlcmJvc2l0eT0xLCBmYWlsZmFzdD1Ob25lLCBjYXRjaGJyZWFrPU5vbmUsCi0gICAgICAgICAgICAgICAgICAgIGJ1ZmZlcj1Ob25lLCB3YXJuaW5ncz1Ob25lKToKKyAgICAgICAgICAgICAgICAgICAgYnVmZmVyPU5vbmUsIHdhcm5pbmdzPU5vbmUsICosIHRiX2xvY2Fscz1GYWxzZSk6CiAgICAgICAgIGlmIGlzaW5zdGFuY2UobW9kdWxlLCBzdHIpOgogICAgICAgICAgICAgc2VsZi5tb2R1bGUgPSBfX2ltcG9ydF9fKG1vZHVsZSkKICAgICAgICAgICAgIGZvciBwYXJ0IGluIG1vZHVsZS5zcGxpdCgnLicpWzE6XToKQEAgLTczLDggKzczLDkgQEAKICAgICAgICAgc2VsZi5jYXRjaGJyZWFrID0gY2F0Y2hicmVhawogICAgICAgICBzZWxmLnZlcmJvc2l0eSA9IHZlcmJvc2l0eQogICAgICAgICBzZWxmLmJ1ZmZlciA9IGJ1ZmZlcgorICAgICAgICBzZWxmLnRiX2xvY2FscyA9IHRiX2xvY2FscwogICAgICAgICBpZiB3YXJuaW5ncyBpcyBOb25lIGFuZCBub3Qgc3lzLndhcm5vcHRpb25zOgotICAgICAgICAgICAgIyBldmVuIGlmIERyZXByZWNhdGlvbldhcm5pbmdzIGFyZSBpZ25vcmVkIGJ5IGRlZmF1bHQKKyAgICAgICAgICAgICMgZXZlbiBpZiBEZXByZWNhdGlvbldhcm5pbmdzIGFyZSBpZ25vcmVkIGJ5IGRlZmF1bHQKICAgICAgICAgICAgICMgcHJpbnQgdGhlbSBhbnl3YXkgdW5sZXNzIG90aGVyIHdhcm5pbmdzIHNldHRpbmdzIGFyZQogICAgICAgICAgICAgIyBzcGVjaWZpZWQgYnkgdGhlIHdhcm5pbmdzIGFyZyBvciB0aGUgLVcgcHl0aG9uIGZsYWcKICAgICAgICAgICAgIHNlbGYud2FybmluZ3MgPSAnZGVmYXVsdCcKQEAgLTE1OSw3ICsxNjAsOSBAQAogICAgICAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCctcScsICctLXF1aWV0JywgZGVzdD0ndmVyYm9zaXR5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb249J3N0b3JlX2NvbnN0JywgY29uc3Q9MCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSdRdWlldCBvdXRwdXQnKQotCisgICAgICAgIHBhcnNlci5hZGRfYXJndW1lbnQoJy0tbG9jYWxzJywgZGVzdD0ndGJfbG9jYWxzJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb249J3N0b3JlX3RydWUnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9J1Nob3cgbG9jYWwgdmFyaWFibGVzIGluIHRyYWNlYmFja3MnKQogICAgICAgICBpZiBzZWxmLmZhaWxmYXN0IGlzIE5vbmU6CiAgICAgICAgICAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCctZicsICctLWZhaWxmYXN0JywgZGVzdD0nZmFpbGZhc3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb249J3N0b3JlX3RydWUnLApAQCAtMjMxLDEwICsyMzQsMTggQEAKICAgICAgICAgICAgIHNlbGYudGVzdFJ1bm5lciA9IHJ1bm5lci5UZXh0VGVzdFJ1bm5lcgogICAgICAgICBpZiBpc2luc3RhbmNlKHNlbGYudGVzdFJ1bm5lciwgdHlwZSk6CiAgICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lciA9IHNlbGYudGVzdFJ1bm5lcih2ZXJib3NpdHk9c2VsZi52ZXJib3NpdHksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWlsZmFzdD1zZWxmLmZhaWxmYXN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVmZmVyPXNlbGYuYnVmZmVyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2FybmluZ3M9c2VsZi53YXJuaW5ncykKKyAgICAgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIgPSBzZWxmLnRlc3RSdW5uZXIodmVyYm9zaXR5PXNlbGYudmVyYm9zaXR5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhaWxmYXN0PXNlbGYuZmFpbGZhc3QsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVmZmVyPXNlbGYuYnVmZmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdzPXNlbGYud2FybmluZ3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGJfbG9jYWxzPXNlbGYudGJfbG9jYWxzKQorICAgICAgICAgICAgICAgIGV4Y2VwdCBUeXBlRXJyb3I6CisgICAgICAgICAgICAgICAgICAgICMgZGlkbid0IGFjY2VwdCB0aGUgdGJfbG9jYWxzIGFyZ3VtZW50CisgICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIgPSBzZWxmLnRlc3RSdW5uZXIodmVyYm9zaXR5PXNlbGYudmVyYm9zaXR5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhaWxmYXN0PXNlbGYuZmFpbGZhc3QsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVmZmVyPXNlbGYuYnVmZmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdzPXNlbGYud2FybmluZ3MpCiAgICAgICAgICAgICBleGNlcHQgVHlwZUVycm9yOgogICAgICAgICAgICAgICAgICMgZGlkbid0IGFjY2VwdCB0aGUgdmVyYm9zaXR5LCBidWZmZXIgb3IgZmFpbGZhc3QgYXJndW1lbnRzCiAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lciA9IHNlbGYudGVzdFJ1bm5lcigpCmRpZmYgLS1naXQgYS9MaWIvdW5pdHRlc3QvbW9jay5weSBiL0xpYi91bml0dGVzdC9tb2NrLnB5CmluZGV4IDU1NTU3NzQuLjNiN2MxNTcgMTAwNjQ0Ci0tLSBhL0xpYi91bml0dGVzdC9tb2NrLnB5CisrKyBiL0xpYi91bml0dGVzdC9tb2NrLnB5CkBAIC0yNyw5ICsyNywxMyBAQAogaW1wb3J0IGluc3BlY3QKIGltcG9ydCBwcHJpbnQKIGltcG9ydCBzeXMKK2ltcG9ydCBidWlsdGlucworZnJvbSB0eXBlcyBpbXBvcnQgTW9kdWxlVHlwZQogZnJvbSBmdW5jdG9vbHMgaW1wb3J0IHdyYXBzLCBwYXJ0aWFsCiAKIAorX2J1aWx0aW5zID0ge25hbWUgZm9yIG5hbWUgaW4gZGlyKGJ1aWx0aW5zKSBpZiBub3QgbmFtZS5zdGFydHN3aXRoKCdfJyl9CisKIEJhc2VFeGNlcHRpb25zID0gKEJhc2VFeGNlcHRpb24sKQogaWYgJ2phdmEnIGluIHN5cy5wbGF0Zm9ybToKICAgICAjIGp5dGhvbgpAQCAtMjcxLDEzICsyNzUsMTEgQEAKICAgICByZXR1cm4gdmFsdWUKIAogCi1fYWxsb3dlZF9uYW1lcyA9IHNldCgKLSAgICBbCi0gICAgICAgICdyZXR1cm5fdmFsdWUnLCAnX21vY2tfcmV0dXJuX3ZhbHVlJywgJ3NpZGVfZWZmZWN0JywKLSAgICAgICAgJ19tb2NrX3NpZGVfZWZmZWN0JywgJ19tb2NrX3BhcmVudCcsICdfbW9ja19uZXdfcGFyZW50JywKLSAgICAgICAgJ19tb2NrX25hbWUnLCAnX21vY2tfbmV3X25hbWUnCi0gICAgXQotKQorX2FsbG93ZWRfbmFtZXMgPSB7CisgICAgJ3JldHVybl92YWx1ZScsICdfbW9ja19yZXR1cm5fdmFsdWUnLCAnc2lkZV9lZmZlY3QnLAorICAgICdfbW9ja19zaWRlX2VmZmVjdCcsICdfbW9ja19wYXJlbnQnLCAnX21vY2tfbmV3X3BhcmVudCcsCisgICAgJ19tb2NrX25hbWUnLCAnX21vY2tfbmV3X25hbWUnCit9CiAKIAogZGVmIF9kZWxlZ2F0aW5nX3Byb3BlcnR5KG5hbWUpOgpAQCAtMzc1LDcgKzM3Nyw3IEBACiAgICAgZGVmIF9faW5pdF9fKAogICAgICAgICAgICAgc2VsZiwgc3BlYz1Ob25lLCB3cmFwcz1Ob25lLCBuYW1lPU5vbmUsIHNwZWNfc2V0PU5vbmUsCiAgICAgICAgICAgICBwYXJlbnQ9Tm9uZSwgX3NwZWNfc3RhdGU9Tm9uZSwgX25ld19uYW1lPScnLCBfbmV3X3BhcmVudD1Ob25lLAotICAgICAgICAgICAgX3NwZWNfYXNfaW5zdGFuY2U9RmFsc2UsIF9lYXRfc2VsZj1Ob25lLCAqKmt3YXJncworICAgICAgICAgICAgX3NwZWNfYXNfaW5zdGFuY2U9RmFsc2UsIF9lYXRfc2VsZj1Ob25lLCB1bnNhZmU9RmFsc2UsICoqa3dhcmdzCiAgICAgICAgICk6CiAgICAgICAgIGlmIF9uZXdfcGFyZW50IGlzIE5vbmU6CiAgICAgICAgICAgICBfbmV3X3BhcmVudCA9IHBhcmVudApAQCAtNDA1LDYgKzQwNyw3IEBACiAgICAgICAgIF9fZGljdF9fWydfbW9ja19tb2NrX2NhbGxzJ10gPSBfQ2FsbExpc3QoKQogCiAgICAgICAgIF9fZGljdF9fWydtZXRob2RfY2FsbHMnXSA9IF9DYWxsTGlzdCgpCisgICAgICAgIF9fZGljdF9fWydfbW9ja191bnNhZmUnXSA9IHVuc2FmZQogCiAgICAgICAgIGlmIGt3YXJnczoKICAgICAgICAgICAgIHNlbGYuY29uZmlndXJlX21vY2soKiprd2FyZ3MpCkBAIC01NjEsMTMgKzU2NCwxNiBAQAogCiAKICAgICBkZWYgX19nZXRhdHRyX18oc2VsZiwgbmFtZSk6Ci0gICAgICAgIGlmIG5hbWUgPT0gJ19tb2NrX21ldGhvZHMnOgorICAgICAgICBpZiBuYW1lIGluIHsnX21vY2tfbWV0aG9kcycsICdfbW9ja191bnNhZmUnfToKICAgICAgICAgICAgIHJhaXNlIEF0dHJpYnV0ZUVycm9yKG5hbWUpCiAgICAgICAgIGVsaWYgc2VsZi5fbW9ja19tZXRob2RzIGlzIG5vdCBOb25lOgogICAgICAgICAgICAgaWYgbmFtZSBub3QgaW4gc2VsZi5fbW9ja19tZXRob2RzIG9yIG5hbWUgaW4gX2FsbF9tYWdpY3M6CiAgICAgICAgICAgICAgICAgcmFpc2UgQXR0cmlidXRlRXJyb3IoIk1vY2sgb2JqZWN0IGhhcyBubyBhdHRyaWJ1dGUgJXIiICUgbmFtZSkKICAgICAgICAgZWxpZiBfaXNfbWFnaWMobmFtZSk6CiAgICAgICAgICAgICByYWlzZSBBdHRyaWJ1dGVFcnJvcihuYW1lKQorICAgICAgICBpZiBub3Qgc2VsZi5fbW9ja191bnNhZmU6CisgICAgICAgICAgICBpZiBuYW1lLnN0YXJ0c3dpdGgoKCdhc3NlcnQnLCAnYXNzcmV0JykpOgorICAgICAgICAgICAgICAgIHJhaXNlIEF0dHJpYnV0ZUVycm9yKG5hbWUpCiAKICAgICAgICAgcmVzdWx0ID0gc2VsZi5fbW9ja19jaGlsZHJlbi5nZXQobmFtZSkKICAgICAgICAgaWYgcmVzdWx0IGlzIF9kZWxldGVkOgpAQCAtNzUwLDYgKzc1NiwxNCBAQAogICAgICAgICBlbHNlOgogICAgICAgICAgICAgcmV0dXJuIF9jYWxsCiAKKyAgICBkZWYgYXNzZXJ0X25vdF9jYWxsZWQoX21vY2tfc2VsZik6CisgICAgICAgICIiImFzc2VydCB0aGF0IHRoZSBtb2NrIHdhcyBuZXZlciBjYWxsZWQuCisgICAgICAgICIiIgorICAgICAgICBzZWxmID0gX21vY2tfc2VsZgorICAgICAgICBpZiBzZWxmLmNhbGxfY291bnQgIT0gMDoKKyAgICAgICAgICAgIG1zZyA9ICgiRXhwZWN0ZWQgJyVzJyB0byBub3QgaGF2ZSBiZWVuIGNhbGxlZC4gQ2FsbGVkICVzIHRpbWVzLiIgJQorICAgICAgICAgICAgICAgICAgIChzZWxmLl9tb2NrX25hbWUgb3IgJ21vY2snLCBzZWxmLmNhbGxfY291bnQpKQorICAgICAgICAgICAgcmFpc2UgQXNzZXJ0aW9uRXJyb3IobXNnKQogCiAgICAgZGVmIGFzc2VydF9jYWxsZWRfd2l0aChfbW9ja19zZWxmLCAqYXJncywgKiprd2FyZ3MpOgogICAgICAgICAiIiJhc3NlcnQgdGhhdCB0aGUgbW9jayB3YXMgY2FsbGVkIHdpdGggdGhlIHNwZWNpZmllZCBhcmd1bWVudHMuCkBAIC0xMTY2LDYgKzExODAsOSBAQAogICAgICAgICBlbHNlOgogICAgICAgICAgICAgbG9jYWwgPSBUcnVlCiAKKyAgICAgICAgaWYgbmFtZSBpbiBfYnVpbHRpbnMgYW5kIGlzaW5zdGFuY2UodGFyZ2V0LCBNb2R1bGVUeXBlKToKKyAgICAgICAgICAgIHNlbGYuY3JlYXRlID0gVHJ1ZQorCiAgICAgICAgIGlmIG5vdCBzZWxmLmNyZWF0ZSBhbmQgb3JpZ2luYWwgaXMgREVGQVVMVDoKICAgICAgICAgICAgIHJhaXNlIEF0dHJpYnV0ZUVycm9yKAogICAgICAgICAgICAgICAgICIlcyBkb2VzIG5vdCBoYXZlIHRoZSBhdHRyaWJ1dGUgJXIiICUgKHRhcmdldCwgbmFtZSkKQEAgLTE2NjAsMTEgKzE2NzcsMTIgQEAKICMgKGFzIHRoZXkgYXJlIG1ldGFjbGFzcyBtZXRob2RzKQogIyBfX2RlbF9fIGlzIG5vdCBzdXBwb3J0ZWQgYXQgYWxsIGFzIGl0IGNhdXNlcyBwcm9ibGVtcyBpZiBpdCBleGlzdHMKIAotX25vbl9kZWZhdWx0cyA9IHNldCgnX18lc19fJyAlIG1ldGhvZCBmb3IgbWV0aG9kIGluIFsKLSAgICAnZ2V0JywgJ3NldCcsICdkZWxldGUnLCAncmV2ZXJzZWQnLCAnbWlzc2luZycsICdyZWR1Y2UnLCAncmVkdWNlX2V4JywKLSAgICAnZ2V0aW5pdGFyZ3MnLCAnZ2V0bmV3YXJncycsICdnZXRzdGF0ZScsICdzZXRzdGF0ZScsICdnZXRmb3JtYXQnLAotICAgICdzZXRmb3JtYXQnLCAncmVwcicsICdkaXInLCAnc3ViY2xhc3NlcycsICdmb3JtYXQnLAotXSkKK19ub25fZGVmYXVsdHMgPSB7CisgICAgJ19fZ2V0X18nLCAnX19zZXRfXycsICdfX2RlbGV0ZV9fJywgJ19fcmV2ZXJzZWRfXycsICdfX21pc3NpbmdfXycsCisgICAgJ19fcmVkdWNlX18nLCAnX19yZWR1Y2VfZXhfXycsICdfX2dldGluaXRhcmdzX18nLCAnX19nZXRuZXdhcmdzX18nLAorICAgICdfX2dldHN0YXRlX18nLCAnX19zZXRzdGF0ZV9fJywgJ19fZ2V0Zm9ybWF0X18nLCAnX19zZXRmb3JtYXRfXycsCisgICAgJ19fcmVwcl9fJywgJ19fZGlyX18nLCAnX19zdWJjbGFzc2VzX18nLCAnX19mb3JtYXRfXycsCit9CiAKIAogZGVmIF9nZXRfbWV0aG9kKG5hbWUsIGZ1bmMpOgpAQCAtMTY3NSwxOSArMTY5MywxOSBAQAogICAgIHJldHVybiBtZXRob2QKIAogCi1fbWFnaWNzID0gc2V0KAorX21hZ2ljcyA9IHsKICAgICAnX18lc19fJyAlIG1ldGhvZCBmb3IgbWV0aG9kIGluCiAgICAgJyAnLmpvaW4oW21hZ2ljX21ldGhvZHMsIG51bWVyaWNzLCBpbnBsYWNlLCByaWdodF0pLnNwbGl0KCkKLSkKK30KIAogX2FsbF9tYWdpY3MgPSBfbWFnaWNzIHwgX25vbl9kZWZhdWx0cwogCi1fdW5zdXBwb3J0ZWRfbWFnaWNzID0gc2V0KFsKK191bnN1cHBvcnRlZF9tYWdpY3MgPSB7CiAgICAgJ19fZ2V0YXR0cl9fJywgJ19fc2V0YXR0cl9fJywKICAgICAnX19pbml0X18nLCAnX19uZXdfXycsICdfX3ByZXBhcmVfXycKICAgICAnX19pbnN0YW5jZWNoZWNrX18nLCAnX19zdWJjbGFzc2NoZWNrX18nLAogICAgICdfX2RlbF9fJwotXSkKK30KIAogX2NhbGN1bGF0ZV9yZXR1cm5fdmFsdWUgPSB7CiAgICAgJ19faGFzaF9fJzogbGFtYmRhIHNlbGY6IG9iamVjdC5fX2hhc2hfXyhzZWxmKSwKQEAgLTE4NzUsNyArMTg5Myw3IEBACiAgICAgZm9ybWF0dGVkX2FyZ3MgPSAnJwogICAgIGFyZ3Nfc3RyaW5nID0gJywgJy5qb2luKFtyZXByKGFyZykgZm9yIGFyZyBpbiBhcmdzXSkKICAgICBrd2FyZ3Nfc3RyaW5nID0gJywgJy5qb2luKFsKLSAgICAgICAgJyVzPSVyJyAlIChrZXksIHZhbHVlKSBmb3Iga2V5LCB2YWx1ZSBpbiBrd2FyZ3MuaXRlbXMoKQorICAgICAgICAnJXM9JXInICUgKGtleSwgdmFsdWUpIGZvciBrZXksIHZhbHVlIGluIHNvcnRlZChrd2FyZ3MuaXRlbXMoKSkKICAgICBdKQogICAgIGlmIGFyZ3Nfc3RyaW5nOgogICAgICAgICBmb3JtYXR0ZWRfYXJncyA9IGFyZ3Nfc3RyaW5nCkBAIC0xOTk3LDEwICsyMDE1LDYgQEAKICAgICAgICAgcmV0dXJuIChvdGhlcl9hcmdzLCBvdGhlcl9rd2FyZ3MpID09IChzZWxmX2FyZ3MsIHNlbGZfa3dhcmdzKQogCiAKLSAgICBkZWYgX19uZV9fKHNlbGYsIG90aGVyKToKLSAgICAgICAgcmV0dXJuIG5vdCBzZWxmLl9fZXFfXyhvdGhlcikKLQotCiAgICAgZGVmIF9fY2FsbF9fKHNlbGYsICphcmdzLCAqKmt3YXJncyk6CiAgICAgICAgIGlmIHNlbGYubmFtZSBpcyBOb25lOgogICAgICAgICAgICAgcmV0dXJuIF9DYWxsKCgnJywgYXJncywga3dhcmdzKSwgbmFtZT0nKCknKQpAQCAtMjAxNiw2ICsyMDMwLDEyIEBACiAgICAgICAgIHJldHVybiBfQ2FsbChuYW1lPW5hbWUsIHBhcmVudD1zZWxmLCBmcm9tX2thbGw9RmFsc2UpCiAKIAorICAgIGRlZiBjb3VudChzZWxmLCAqYXJncywgKiprd2FyZ3MpOgorICAgICAgICByZXR1cm4gc2VsZi5fX2dldGF0dHJfXygnY291bnQnKSgqYXJncywgKiprd2FyZ3MpCisKKyAgICBkZWYgaW5kZXgoc2VsZiwgKmFyZ3MsICoqa3dhcmdzKToKKyAgICAgICAgcmV0dXJuIHNlbGYuX19nZXRhdHRyX18oJ2luZGV4JykoKmFyZ3MsICoqa3dhcmdzKQorCiAgICAgZGVmIF9fcmVwcl9fKHNlbGYpOgogICAgICAgICBpZiBub3Qgc2VsZi5mcm9tX2thbGw6CiAgICAgICAgICAgICBuYW1lID0gc2VsZi5uYW1lIG9yICdjYWxsJwpkaWZmIC0tZ2l0IGEvTGliL3VuaXR0ZXN0L3Jlc3VsdC5weSBiL0xpYi91bml0dGVzdC9yZXN1bHQucHkKaW5kZXggOGUwYTY0My4uYTE4ZjExYiAxMDA2NDQKLS0tIGEvTGliL3VuaXR0ZXN0L3Jlc3VsdC5weQorKysgYi9MaWIvdW5pdHRlc3QvcmVzdWx0LnB5CkBAIC00NSw2ICs0NSw3IEBACiAgICAgICAgIHNlbGYudW5leHBlY3RlZFN1Y2Nlc3NlcyA9IFtdCiAgICAgICAgIHNlbGYuc2hvdWxkU3RvcCA9IEZhbHNlCiAgICAgICAgIHNlbGYuYnVmZmVyID0gRmFsc2UKKyAgICAgICAgc2VsZi50Yl9sb2NhbHMgPSBGYWxzZQogICAgICAgICBzZWxmLl9zdGRvdXRfYnVmZmVyID0gTm9uZQogICAgICAgICBzZWxmLl9zdGRlcnJfYnVmZmVyID0gTm9uZQogICAgICAgICBzZWxmLl9vcmlnaW5hbF9zdGRvdXQgPSBzeXMuc3Rkb3V0CkBAIC0xNzksOSArMTgwLDExIEBACiAgICAgICAgIGlmIGV4Y3R5cGUgaXMgdGVzdC5mYWlsdXJlRXhjZXB0aW9uOgogICAgICAgICAgICAgIyBTa2lwIGFzc2VydCooKSB0cmFjZWJhY2sgbGV2ZWxzCiAgICAgICAgICAgICBsZW5ndGggPSBzZWxmLl9jb3VudF9yZWxldmFudF90Yl9sZXZlbHModGIpCi0gICAgICAgICAgICBtc2dMaW5lcyA9IHRyYWNlYmFjay5mb3JtYXRfZXhjZXB0aW9uKGV4Y3R5cGUsIHZhbHVlLCB0YiwgbGVuZ3RoKQogICAgICAgICBlbHNlOgotICAgICAgICAgICAgbXNnTGluZXMgPSB0cmFjZWJhY2suZm9ybWF0X2V4Y2VwdGlvbihleGN0eXBlLCB2YWx1ZSwgdGIpCisgICAgICAgICAgICBsZW5ndGggPSBOb25lCisgICAgICAgIHRiX2UgPSB0cmFjZWJhY2suVHJhY2ViYWNrRXhjZXB0aW9uKAorICAgICAgICAgICAgZXhjdHlwZSwgdmFsdWUsIHRiLCBsaW1pdD1sZW5ndGgsIGNhcHR1cmVfbG9jYWxzPXNlbGYudGJfbG9jYWxzKQorICAgICAgICBtc2dMaW5lcyA9IGxpc3QodGJfZS5mb3JtYXQoKSkKIAogICAgICAgICBpZiBzZWxmLmJ1ZmZlcjoKICAgICAgICAgICAgIG91dHB1dCA9IHN5cy5zdGRvdXQuZ2V0dmFsdWUoKQpkaWZmIC0tZ2l0IGEvTGliL3VuaXR0ZXN0L3J1bm5lci5weSBiL0xpYi91bml0dGVzdC9ydW5uZXIucHkKaW5kZXggMjhiODg2NS4uMjExMjI2MiAxMDA2NDQKLS0tIGEvTGliL3VuaXR0ZXN0L3J1bm5lci5weQorKysgYi9MaWIvdW5pdHRlc3QvcnVubmVyLnB5CkBAIC0xMjYsNyArMTI2LDEzIEBACiAgICAgcmVzdWx0Y2xhc3MgPSBUZXh0VGVzdFJlc3VsdAogCiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIHN0cmVhbT1Ob25lLCBkZXNjcmlwdGlvbnM9VHJ1ZSwgdmVyYm9zaXR5PTEsCi0gICAgICAgICAgICAgICAgIGZhaWxmYXN0PUZhbHNlLCBidWZmZXI9RmFsc2UsIHJlc3VsdGNsYXNzPU5vbmUsIHdhcm5pbmdzPU5vbmUpOgorICAgICAgICAgICAgICAgICBmYWlsZmFzdD1GYWxzZSwgYnVmZmVyPUZhbHNlLCByZXN1bHRjbGFzcz1Ob25lLCB3YXJuaW5ncz1Ob25lLAorICAgICAgICAgICAgICAgICAqLCB0Yl9sb2NhbHM9RmFsc2UpOgorICAgICAgICAiIiJDb25zdHJ1Y3QgYSBUZXh0VGVzdFJ1bm5lci4KKworICAgICAgICBTdWJjbGFzc2VzIHNob3VsZCBhY2NlcHQgKiprd2FyZ3MgdG8gZW5zdXJlIGNvbXBhdGliaWxpdHkgYXMgdGhlCisgICAgICAgIGludGVyZmFjZSBjaGFuZ2VzLgorICAgICAgICAiIiIKICAgICAgICAgaWYgc3RyZWFtIGlzIE5vbmU6CiAgICAgICAgICAgICBzdHJlYW0gPSBzeXMuc3RkZXJyCiAgICAgICAgIHNlbGYuc3RyZWFtID0gX1dyaXRlbG5EZWNvcmF0b3Ioc3RyZWFtKQpAQCAtMTM0LDYgKzE0MCw3IEBACiAgICAgICAgIHNlbGYudmVyYm9zaXR5ID0gdmVyYm9zaXR5CiAgICAgICAgIHNlbGYuZmFpbGZhc3QgPSBmYWlsZmFzdAogICAgICAgICBzZWxmLmJ1ZmZlciA9IGJ1ZmZlcgorICAgICAgICBzZWxmLnRiX2xvY2FscyA9IHRiX2xvY2FscwogICAgICAgICBzZWxmLndhcm5pbmdzID0gd2FybmluZ3MKICAgICAgICAgaWYgcmVzdWx0Y2xhc3MgaXMgbm90IE5vbmU6CiAgICAgICAgICAgICBzZWxmLnJlc3VsdGNsYXNzID0gcmVzdWx0Y2xhc3MKQEAgLTE0Nyw2ICsxNTQsNyBAQAogICAgICAgICByZWdpc3RlclJlc3VsdChyZXN1bHQpCiAgICAgICAgIHJlc3VsdC5mYWlsZmFzdCA9IHNlbGYuZmFpbGZhc3QKICAgICAgICAgcmVzdWx0LmJ1ZmZlciA9IHNlbGYuYnVmZmVyCisgICAgICAgIHJlc3VsdC50Yl9sb2NhbHMgPSBzZWxmLnRiX2xvY2FscwogICAgICAgICB3aXRoIHdhcm5pbmdzLmNhdGNoX3dhcm5pbmdzKCk6CiAgICAgICAgICAgICBpZiBzZWxmLndhcm5pbmdzOgogICAgICAgICAgICAgICAgICMgaWYgc2VsZi53YXJuaW5ncyBpcyBzZXQsIHVzZSBpdCB0byBmaWx0ZXIgYWxsIHRoZSB3YXJuaW5ncwpkaWZmIC0tZ2l0IGEvTGliL3VuaXR0ZXN0L3Rlc3QvdGVzdF9icmVhay5weSBiL0xpYi91bml0dGVzdC90ZXN0L3Rlc3RfYnJlYWsucHkKaW5kZXggMGJmMWEyMi4uMmM3NTAxOSAxMDA2NDQKLS0tIGEvTGliL3VuaXR0ZXN0L3Rlc3QvdGVzdF9icmVhay5weQorKysgYi9MaWIvdW5pdHRlc3QvdGVzdC90ZXN0X2JyZWFrLnB5CkBAIC0yMTEsNiArMjExLDcgQEAKICAgICAgICAgICAgICAgICBzZWxmLnZlcmJvc2l0eSA9IHZlcmJvc2l0eQogICAgICAgICAgICAgICAgIHNlbGYuZmFpbGZhc3QgPSBmYWlsZmFzdAogICAgICAgICAgICAgICAgIHNlbGYuY2F0Y2hicmVhayA9IGNhdGNoYnJlYWsKKyAgICAgICAgICAgICAgICBzZWxmLnRiX2xvY2FscyA9IEZhbHNlCiAgICAgICAgICAgICAgICAgc2VsZi50ZXN0UnVubmVyID0gRmFrZVJ1bm5lcgogICAgICAgICAgICAgICAgIHNlbGYudGVzdCA9IHRlc3QKICAgICAgICAgICAgICAgICBzZWxmLnJlc3VsdCA9IE5vbmUKQEAgLTIyMSw2ICsyMjIsNyBAQAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKEZha2VSdW5uZXIuaW5pdEFyZ3MsIFsoKCksIHsnYnVmZmVyJzogTm9uZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3ZlcmJvc2l0eSc6IHZlcmJvc2l0eSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZhaWxmYXN0JzogZmFpbGZhc3QsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0Yl9sb2NhbHMnOiBGYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3dhcm5pbmdzJzogTm9uZX0pXSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChGYWtlUnVubmVyLnJ1bkFyZ3MsIFt0ZXN0XSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwLnJlc3VsdCwgcmVzdWx0KQpAQCAtMjM1LDYgKzIzNyw3IEBACiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoRmFrZVJ1bm5lci5pbml0QXJncywgWygoKSwgeydidWZmZXInOiBOb25lLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndmVyYm9zaXR5JzogdmVyYm9zaXR5LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZmFpbGZhc3QnOiBmYWlsZmFzdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3RiX2xvY2Fscyc6IEZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnd2FybmluZ3MnOiBOb25lfSldKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKEZha2VSdW5uZXIucnVuQXJncywgW3Rlc3RdKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHAucmVzdWx0LCByZXN1bHQpCmRpZmYgLS1naXQgYS9MaWIvdW5pdHRlc3QvdGVzdC90ZXN0X2Nhc2UucHkgYi9MaWIvdW5pdHRlc3QvdGVzdC90ZXN0X2Nhc2UucHkKaW5kZXggYzdmZjNiMC4uNTAzYWQyZiAxMDA2NDQKLS0tIGEvTGliL3VuaXR0ZXN0L3Rlc3QvdGVzdF9jYXNlLnB5CisrKyBiL0xpYi91bml0dGVzdC90ZXN0L3Rlc3RfY2FzZS5weQpAQCAtMTEwMywxMiArMTEwMyw5IEBACiAgICAgICAgIGV4Y2VwdCBzZWxmLmZhaWx1cmVFeGNlcHRpb24gYXMgZToKICAgICAgICAgICAgICMgbmVlZCB0byByZW1vdmUgdGhlIGZpcnN0IGxpbmUgb2YgdGhlIGVycm9yIG1lc3NhZ2UKICAgICAgICAgICAgIGVycm9yID0gc3RyKGUpLnNwbGl0KCdcbicsIDEpWzFdCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNhbXBsZV90ZXh0X2Vycm9yLCBlcnJvcikKIAotICAgICAgICAgICAgIyBubyBmYWlyIHRlc3Rpbmcgb3Vyc2VsZiB3aXRoIG91cnNlbGYsIGFuZCBhc3NlcnRFcXVhbCBpcyB1c2VkIGZvciBzdHJpbmdzCi0gICAgICAgICAgICAjIHNvIGNhbid0IHVzZSBhc3NlcnRFcXVhbCBlaXRoZXIuIEp1c3QgdXNlIGFzc2VydFRydWUuCi0gICAgICAgICAgICBzZWxmLmFzc2VydFRydWUoc2FtcGxlX3RleHRfZXJyb3IgPT0gZXJyb3IpCi0KLSAgICBkZWYgdGVzdEFzZXJ0RXF1YWxTaW5nbGVMaW5lKHNlbGYpOgorICAgIGRlZiB0ZXN0QXNzZXJ0RXF1YWxTaW5nbGVMaW5lKHNlbGYpOgogICAgICAgICBzYW1wbGVfdGV4dCA9ICJsYWRlbiBzd2FsbG93cyBmbHkgc2xvd2x5IgogICAgICAgICByZXZpc2VkX3NhbXBsZV90ZXh0ID0gInVubGFkZW4gc3dhbGxvd3MgZmx5IHF1aWNrbHkiCiAgICAgICAgIHNhbXBsZV90ZXh0X2Vycm9yID0gIiIiXApAQCAtMTEyMCw4ICsxMTE3LDkgQEAKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzYW1wbGVfdGV4dCwgcmV2aXNlZF9zYW1wbGVfdGV4dCkKICAgICAgICAgZXhjZXB0IHNlbGYuZmFpbHVyZUV4Y2VwdGlvbiBhcyBlOgorICAgICAgICAgICAgIyBuZWVkIHRvIHJlbW92ZSB0aGUgZmlyc3QgbGluZSBvZiB0aGUgZXJyb3IgbWVzc2FnZQogICAgICAgICAgICAgZXJyb3IgPSBzdHIoZSkuc3BsaXQoJ1xuJywgMSlbMV0KLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShzYW1wbGVfdGV4dF9lcnJvciA9PSBlcnJvcikKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2FtcGxlX3RleHRfZXJyb3IsIGVycm9yKQogCiAgICAgZGVmIHRlc3RBc3NlcnRJc05vbmUoc2VsZik6CiAgICAgICAgIHNlbGYuYXNzZXJ0SXNOb25lKE5vbmUpCmRpZmYgLS1naXQgYS9MaWIvdW5pdHRlc3QvdGVzdC90ZXN0X2Rpc2NvdmVyeS5weSBiL0xpYi91bml0dGVzdC90ZXN0L3Rlc3RfZGlzY292ZXJ5LnB5CmluZGV4IGFiYjkwNjYuLjRmNjEzMTQgMTAwNjQ0Ci0tLSBhL0xpYi91bml0dGVzdC90ZXN0L3Rlc3RfZGlzY292ZXJ5LnB5CisrKyBiL0xpYi91bml0dGVzdC90ZXN0L3Rlc3RfZGlzY292ZXJ5LnB5CkBAIC0xLDQgKzEsNSBAQAotaW1wb3J0IG9zCitpbXBvcnQgb3MucGF0aAorZnJvbSBvcy5wYXRoIGltcG9ydCBhYnNwYXRoCiBpbXBvcnQgcmUKIGltcG9ydCBzeXMKIGltcG9ydCB0eXBlcwpAQCAtNjgsNyArNjksMTMgQEAKICAgICAgICAgc2VsZi5hZGRDbGVhbnVwKHJlc3RvcmVfaXNmaWxlKQogCiAgICAgICAgIGxvYWRlci5fZ2V0X21vZHVsZV9mcm9tX25hbWUgPSBsYW1iZGEgcGF0aDogcGF0aCArICcgbW9kdWxlJwotICAgICAgICBsb2FkZXIubG9hZFRlc3RzRnJvbU1vZHVsZSA9IGxhbWJkYSBtb2R1bGU6IG1vZHVsZSArICcgdGVzdHMnCisgICAgICAgIG9yaWdfbG9hZF90ZXN0cyA9IGxvYWRlci5sb2FkVGVzdHNGcm9tTW9kdWxlCisgICAgICAgIGRlZiBsb2FkVGVzdHNGcm9tTW9kdWxlKG1vZHVsZSwgcGF0dGVybj1Ob25lKToKKyAgICAgICAgICAgICMgVGhpcyBpcyB3aGVyZSBsb2FkX3Rlc3RzIGlzIGNhbGxlZC4KKyAgICAgICAgICAgIGJhc2UgPSBvcmlnX2xvYWRfdGVzdHMobW9kdWxlLCBwYXR0ZXJuPXBhdHRlcm4pCisgICAgICAgICAgICByZXR1cm4gYmFzZSArIFttb2R1bGUgKyAnIHRlc3RzJ10KKyAgICAgICAgbG9hZGVyLmxvYWRUZXN0c0Zyb21Nb2R1bGUgPSBsb2FkVGVzdHNGcm9tTW9kdWxlCisgICAgICAgIGxvYWRlci5zdWl0ZUNsYXNzID0gbGFtYmRhIHRoaW5nOiB0aGluZwogCiAgICAgICAgIHRvcF9sZXZlbCA9IG9zLnBhdGguYWJzcGF0aCgnL2ZvbycpCiAgICAgICAgIGxvYWRlci5fdG9wX2xldmVsX2RpciA9IHRvcF9sZXZlbApAQCAtNzYsOSArODMsOSBAQAogCiAgICAgICAgICMgVGhlIHRlc3Qgc3VpdGVzIGZvdW5kIHNob3VsZCBiZSBzb3J0ZWQgYWxwaGFiZXRpY2FsbHkgZm9yIHJlbGlhYmxlCiAgICAgICAgICMgZXhlY3V0aW9uIG9yZGVyLgotICAgICAgICBleHBlY3RlZCA9IFtuYW1lICsgJyBtb2R1bGUgdGVzdHMnIGZvciBuYW1lIGluCi0gICAgICAgICAgICAgICAgICAgICgndGVzdDEnLCAndGVzdDInKV0KLSAgICAgICAgZXhwZWN0ZWQuZXh0ZW5kKFsoJ3Rlc3RfZGlyLiVzJyAlIG5hbWUpICsgJyBtb2R1bGUgdGVzdHMnIGZvciBuYW1lIGluCisgICAgICAgIGV4cGVjdGVkID0gW1tuYW1lICsgJyBtb2R1bGUgdGVzdHMnXSBmb3IgbmFtZSBpbgorICAgICAgICAgICAgICAgICAgICAoJ3Rlc3QxJywgJ3Rlc3QyJywgJ3Rlc3RfZGlyJyldCisgICAgICAgIGV4cGVjdGVkLmV4dGVuZChbWygndGVzdF9kaXIuJXMnICUgbmFtZSkgKyAnIG1vZHVsZSB0ZXN0cyddIGZvciBuYW1lIGluCiAgICAgICAgICAgICAgICAgICAgICgndGVzdDMnLCAndGVzdDQnKV0pCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3VpdGUsIGV4cGVjdGVkKQogCkBAIC0xMTYsMzQgKzEyMywyMDQgQEAKICAgICAgICAgICAgICAgICBpZiBvcy5wYXRoLmJhc2VuYW1lKHBhdGgpID09ICd0ZXN0X2RpcmVjdG9yeSc6CiAgICAgICAgICAgICAgICAgICAgIGRlZiBsb2FkX3Rlc3RzKGxvYWRlciwgdGVzdHMsIHBhdHRlcm4pOgogICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5sb2FkX3Rlc3RzX2FyZ3MuYXBwZW5kKChsb2FkZXIsIHRlc3RzLCBwYXR0ZXJuKSkKLSAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAnbG9hZF90ZXN0cycKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBbc2VsZi5wYXRoICsgJyBsb2FkX3Rlc3RzJ10KICAgICAgICAgICAgICAgICAgICAgc2VsZi5sb2FkX3Rlc3RzID0gbG9hZF90ZXN0cwogCiAgICAgICAgICAgICBkZWYgX19lcV9fKHNlbGYsIG90aGVyKToKICAgICAgICAgICAgICAgICByZXR1cm4gc2VsZi5wYXRoID09IG90aGVyLnBhdGgKIAogICAgICAgICBsb2FkZXIuX2dldF9tb2R1bGVfZnJvbV9uYW1lID0gbGFtYmRhIG5hbWU6IE1vZHVsZShuYW1lKQotICAgICAgICBkZWYgbG9hZFRlc3RzRnJvbU1vZHVsZShtb2R1bGUsIHVzZV9sb2FkX3Rlc3RzKToKLSAgICAgICAgICAgIGlmIHVzZV9sb2FkX3Rlc3RzOgotICAgICAgICAgICAgICAgIHJhaXNlIHNlbGYuZmFpbHVyZUV4Y2VwdGlvbigndXNlX2xvYWRfdGVzdHMgc2hvdWxkIGJlIEZhbHNlIGZvciBwYWNrYWdlcycpCi0gICAgICAgICAgICByZXR1cm4gbW9kdWxlLnBhdGggKyAnIG1vZHVsZSB0ZXN0cycKKyAgICAgICAgb3JpZ19sb2FkX3Rlc3RzID0gbG9hZGVyLmxvYWRUZXN0c0Zyb21Nb2R1bGUKKyAgICAgICAgZGVmIGxvYWRUZXN0c0Zyb21Nb2R1bGUobW9kdWxlLCBwYXR0ZXJuPU5vbmUpOgorICAgICAgICAgICAgIyBUaGlzIGlzIHdoZXJlIGxvYWRfdGVzdHMgaXMgY2FsbGVkLgorICAgICAgICAgICAgYmFzZSA9IG9yaWdfbG9hZF90ZXN0cyhtb2R1bGUsIHBhdHRlcm49cGF0dGVybikKKyAgICAgICAgICAgIHJldHVybiBiYXNlICsgW21vZHVsZS5wYXRoICsgJyBtb2R1bGUgdGVzdHMnXQogICAgICAgICBsb2FkZXIubG9hZFRlc3RzRnJvbU1vZHVsZSA9IGxvYWRUZXN0c0Zyb21Nb2R1bGUKKyAgICAgICAgbG9hZGVyLnN1aXRlQ2xhc3MgPSBsYW1iZGEgdGhpbmc6IHRoaW5nCiAKICAgICAgICAgbG9hZGVyLl90b3BfbGV2ZWxfZGlyID0gJy9mb28nCiAgICAgICAgICMgdGhpcyB0aW1lIG5vICcucHknIG9uIHRoZSBwYXR0ZXJuIHNvIHRoYXQgaXQgY2FuIG1hdGNoCiAgICAgICAgICMgYSB0ZXN0IHBhY2thZ2UKICAgICAgICAgc3VpdGUgPSBsaXN0KGxvYWRlci5fZmluZF90ZXN0cygnL2ZvbycsICd0ZXN0KicpKQogCi0gICAgICAgICMgV2Ugc2hvdWxkIGhhdmUgbG9hZGVkIHRlc3RzIGZyb20gdGhlIHRlc3RfZGlyZWN0b3J5IHBhY2thZ2UgYnkgY2FsbGluZyBsb2FkX3Rlc3RzCi0gICAgICAgICMgYW5kIGRpcmVjdGx5IGZyb20gdGhlIHRlc3RfZGlyZWN0b3J5MiBwYWNrYWdlCisgICAgICAgICMgV2Ugc2hvdWxkIGhhdmUgbG9hZGVkIHRlc3RzIGZyb20gdGhlIGFfZGlyZWN0b3J5IGFuZCB0ZXN0X2RpcmVjdG9yeTIKKyAgICAgICAgIyBkaXJlY3RseSBhbmQgdmlhIGxvYWRfdGVzdHMgZm9yIHRoZSB0ZXN0X2RpcmVjdG9yeSBwYWNrYWdlLCB3aGljaAorICAgICAgICAjIHN0aWxsIGNhbGxzIHRoZSBiYXNlbGluZSBtb2R1bGUgbG9hZGVyLgogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN1aXRlLAotICAgICAgICAgICAgICAgICAgICAgICAgIFsnbG9hZF90ZXN0cycsICd0ZXN0X2RpcmVjdG9yeTInICsgJyBtb2R1bGUgdGVzdHMnXSkKKyAgICAgICAgICAgICAgICAgICAgICAgICBbWydhX2RpcmVjdG9yeSBtb2R1bGUgdGVzdHMnXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgWyd0ZXN0X2RpcmVjdG9yeSBsb2FkX3Rlc3RzJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICd0ZXN0X2RpcmVjdG9yeSBtb2R1bGUgdGVzdHMnXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgWyd0ZXN0X2RpcmVjdG9yeTIgbW9kdWxlIHRlc3RzJ11dKQorCisKICAgICAgICAgIyBUaGUgdGVzdCBtb2R1bGUgcGF0aHMgc2hvdWxkIGJlIHNvcnRlZCBmb3IgcmVsaWFibGUgZXhlY3V0aW9uIG9yZGVyCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoTW9kdWxlLnBhdGhzLCBbJ3Rlc3RfZGlyZWN0b3J5JywgJ3Rlc3RfZGlyZWN0b3J5MiddKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKE1vZHVsZS5wYXRocywKKyAgICAgICAgICAgICAgICAgICAgICAgICBbJ2FfZGlyZWN0b3J5JywgJ3Rlc3RfZGlyZWN0b3J5JywgJ3Rlc3RfZGlyZWN0b3J5MiddKQorCisgICAgICAgICMgbG9hZF90ZXN0cyBzaG91bGQgaGF2ZSBiZWVuIGNhbGxlZCBvbmNlIHdpdGggbG9hZGVyLCB0ZXN0cyBhbmQgcGF0dGVybgorICAgICAgICAjIChidXQgdGhlcmUgYXJlIG5vIHRlc3RzIGluIG91ciBzdHViIG1vZHVsZSBpdHNlbGYsIHNvIHRoYXRzIFtdIGF0IHRoZQorICAgICAgICAjIHRpbWUgb2YgY2FsbC4KKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChNb2R1bGUubG9hZF90ZXN0c19hcmdzLAorICAgICAgICAgICAgICAgICAgICAgICAgIFsobG9hZGVyLCBbXSwgJ3Rlc3QqJyldKQorCisgICAgZGVmIHRlc3RfZmluZF90ZXN0c19kZWZhdWx0X2NhbGxzX3BhY2thZ2VfbG9hZF90ZXN0cyhzZWxmKToKKyAgICAgICAgbG9hZGVyID0gdW5pdHRlc3QuVGVzdExvYWRlcigpCisKKyAgICAgICAgb3JpZ2luYWxfbGlzdGRpciA9IG9zLmxpc3RkaXIKKyAgICAgICAgZGVmIHJlc3RvcmVfbGlzdGRpcigpOgorICAgICAgICAgICAgb3MubGlzdGRpciA9IG9yaWdpbmFsX2xpc3RkaXIKKyAgICAgICAgb3JpZ2luYWxfaXNmaWxlID0gb3MucGF0aC5pc2ZpbGUKKyAgICAgICAgZGVmIHJlc3RvcmVfaXNmaWxlKCk6CisgICAgICAgICAgICBvcy5wYXRoLmlzZmlsZSA9IG9yaWdpbmFsX2lzZmlsZQorICAgICAgICBvcmlnaW5hbF9pc2RpciA9IG9zLnBhdGguaXNkaXIKKyAgICAgICAgZGVmIHJlc3RvcmVfaXNkaXIoKToKKyAgICAgICAgICAgIG9zLnBhdGguaXNkaXIgPSBvcmlnaW5hbF9pc2RpcgorCisgICAgICAgIGRpcmVjdG9yaWVzID0gWydhX2RpcmVjdG9yeScsICd0ZXN0X2RpcmVjdG9yeScsICd0ZXN0X2RpcmVjdG9yeTInXQorICAgICAgICBwYXRoX2xpc3RzID0gW2RpcmVjdG9yaWVzLCBbXSwgW10sIFtdXQorICAgICAgICBvcy5saXN0ZGlyID0gbGFtYmRhIHBhdGg6IHBhdGhfbGlzdHMucG9wKDApCisgICAgICAgIHNlbGYuYWRkQ2xlYW51cChyZXN0b3JlX2xpc3RkaXIpCisKKyAgICAgICAgb3MucGF0aC5pc2RpciA9IGxhbWJkYSBwYXRoOiBUcnVlCisgICAgICAgIHNlbGYuYWRkQ2xlYW51cChyZXN0b3JlX2lzZGlyKQorCisgICAgICAgIG9zLnBhdGguaXNmaWxlID0gbGFtYmRhIHBhdGg6IG9zLnBhdGguYmFzZW5hbWUocGF0aCkgbm90IGluIGRpcmVjdG9yaWVzCisgICAgICAgIHNlbGYuYWRkQ2xlYW51cChyZXN0b3JlX2lzZmlsZSkKKworICAgICAgICBjbGFzcyBNb2R1bGUob2JqZWN0KToKKyAgICAgICAgICAgIHBhdGhzID0gW10KKyAgICAgICAgICAgIGxvYWRfdGVzdHNfYXJncyA9IFtdCisKKyAgICAgICAgICAgIGRlZiBfX2luaXRfXyhzZWxmLCBwYXRoKToKKyAgICAgICAgICAgICAgICBzZWxmLnBhdGggPSBwYXRoCisgICAgICAgICAgICAgICAgc2VsZi5wYXRocy5hcHBlbmQocGF0aCkKKyAgICAgICAgICAgICAgICBpZiBvcy5wYXRoLmJhc2VuYW1lKHBhdGgpID09ICd0ZXN0X2RpcmVjdG9yeSc6CisgICAgICAgICAgICAgICAgICAgIGRlZiBsb2FkX3Rlc3RzKGxvYWRlciwgdGVzdHMsIHBhdHRlcm4pOgorICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5sb2FkX3Rlc3RzX2FyZ3MuYXBwZW5kKChsb2FkZXIsIHRlc3RzLCBwYXR0ZXJuKSkKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBbc2VsZi5wYXRoICsgJyBsb2FkX3Rlc3RzJ10KKyAgICAgICAgICAgICAgICAgICAgc2VsZi5sb2FkX3Rlc3RzID0gbG9hZF90ZXN0cworCisgICAgICAgICAgICBkZWYgX19lcV9fKHNlbGYsIG90aGVyKToKKyAgICAgICAgICAgICAgICByZXR1cm4gc2VsZi5wYXRoID09IG90aGVyLnBhdGgKKworICAgICAgICBsb2FkZXIuX2dldF9tb2R1bGVfZnJvbV9uYW1lID0gbGFtYmRhIG5hbWU6IE1vZHVsZShuYW1lKQorICAgICAgICBvcmlnX2xvYWRfdGVzdHMgPSBsb2FkZXIubG9hZFRlc3RzRnJvbU1vZHVsZQorICAgICAgICBkZWYgbG9hZFRlc3RzRnJvbU1vZHVsZShtb2R1bGUsIHBhdHRlcm49Tm9uZSk6CisgICAgICAgICAgICAjIFRoaXMgaXMgd2hlcmUgbG9hZF90ZXN0cyBpcyBjYWxsZWQuCisgICAgICAgICAgICBiYXNlID0gb3JpZ19sb2FkX3Rlc3RzKG1vZHVsZSwgcGF0dGVybj1wYXR0ZXJuKQorICAgICAgICAgICAgcmV0dXJuIGJhc2UgKyBbbW9kdWxlLnBhdGggKyAnIG1vZHVsZSB0ZXN0cyddCisgICAgICAgIGxvYWRlci5sb2FkVGVzdHNGcm9tTW9kdWxlID0gbG9hZFRlc3RzRnJvbU1vZHVsZQorICAgICAgICBsb2FkZXIuc3VpdGVDbGFzcyA9IGxhbWJkYSB0aGluZzogdGhpbmcKKworICAgICAgICBsb2FkZXIuX3RvcF9sZXZlbF9kaXIgPSAnL2ZvbycKKyAgICAgICAgIyB0aGlzIHRpbWUgbm8gJy5weScgb24gdGhlIHBhdHRlcm4gc28gdGhhdCBpdCBjYW4gbWF0Y2gKKyAgICAgICAgIyBhIHRlc3QgcGFja2FnZQorICAgICAgICBzdWl0ZSA9IGxpc3QobG9hZGVyLl9maW5kX3Rlc3RzKCcvZm9vJywgJ3Rlc3QqLnB5JykpCisKKyAgICAgICAgIyBXZSBzaG91bGQgaGF2ZSBsb2FkZWQgdGVzdHMgZnJvbSB0aGUgYV9kaXJlY3RvcnkgYW5kIHRlc3RfZGlyZWN0b3J5MgorICAgICAgICAjIGRpcmVjdGx5IGFuZCB2aWEgbG9hZF90ZXN0cyBmb3IgdGhlIHRlc3RfZGlyZWN0b3J5IHBhY2thZ2UsIHdoaWNoCisgICAgICAgICMgc3RpbGwgY2FsbHMgdGhlIGJhc2VsaW5lIG1vZHVsZSBsb2FkZXIuCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3VpdGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgW1snYV9kaXJlY3RvcnkgbW9kdWxlIHRlc3RzJ10sCisgICAgICAgICAgICAgICAgICAgICAgICAgIFsndGVzdF9kaXJlY3RvcnkgbG9hZF90ZXN0cycsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAndGVzdF9kaXJlY3RvcnkgbW9kdWxlIHRlc3RzJ10sCisgICAgICAgICAgICAgICAgICAgICAgICAgIFsndGVzdF9kaXJlY3RvcnkyIG1vZHVsZSB0ZXN0cyddXSkKKyAgICAgICAgIyBUaGUgdGVzdCBtb2R1bGUgcGF0aHMgc2hvdWxkIGJlIHNvcnRlZCBmb3IgcmVsaWFibGUgZXhlY3V0aW9uIG9yZGVyCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoTW9kdWxlLnBhdGhzLAorICAgICAgICAgICAgICAgICAgICAgICAgIFsnYV9kaXJlY3RvcnknLCAndGVzdF9kaXJlY3RvcnknLCAndGVzdF9kaXJlY3RvcnkyJ10pCisKIAogICAgICAgICAjIGxvYWRfdGVzdHMgc2hvdWxkIGhhdmUgYmVlbiBjYWxsZWQgb25jZSB3aXRoIGxvYWRlciwgdGVzdHMgYW5kIHBhdHRlcm4KICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChNb2R1bGUubG9hZF90ZXN0c19hcmdzLAotICAgICAgICAgICAgICAgICAgICAgICAgIFsobG9hZGVyLCAndGVzdF9kaXJlY3RvcnknICsgJyBtb2R1bGUgdGVzdHMnLCAndGVzdConKV0pCisgICAgICAgICAgICAgICAgICAgICAgICAgWyhsb2FkZXIsIFtdLCAndGVzdCoucHknKV0pCisKKyAgICBkZWYgdGVzdF9maW5kX3Rlc3RzX2N1c3RvbWlzZV92aWFfcGFja2FnZV9wYXR0ZXJuKHNlbGYpOgorICAgICAgICAjIFRoaXMgdGVzdCB1c2VzIHRoZSBleGFtcGxlICdkby1ub3RoaW5nJyBsb2FkX3Rlc3RzIGZyb20KKyAgICAgICAgIyBodHRwczovL2RvY3MucHl0aG9uLm9yZy8zL2xpYnJhcnkvdW5pdHRlc3QuaHRtbCNsb2FkLXRlc3RzLXByb3RvY29sCisgICAgICAgICMgdG8gbWFrZSBzdXJlIHRoYXQgdGhhdCBhY3R1YWxseSB3b3Jrcy4KKyAgICAgICAgIyBIb3VzZWtlZXBpbmcKKyAgICAgICAgb3JpZ2luYWxfbGlzdGRpciA9IG9zLmxpc3RkaXIKKyAgICAgICAgZGVmIHJlc3RvcmVfbGlzdGRpcigpOgorICAgICAgICAgICAgb3MubGlzdGRpciA9IG9yaWdpbmFsX2xpc3RkaXIKKyAgICAgICAgc2VsZi5hZGRDbGVhbnVwKHJlc3RvcmVfbGlzdGRpcikKKyAgICAgICAgb3JpZ2luYWxfaXNmaWxlID0gb3MucGF0aC5pc2ZpbGUKKyAgICAgICAgZGVmIHJlc3RvcmVfaXNmaWxlKCk6CisgICAgICAgICAgICBvcy5wYXRoLmlzZmlsZSA9IG9yaWdpbmFsX2lzZmlsZQorICAgICAgICBzZWxmLmFkZENsZWFudXAocmVzdG9yZV9pc2ZpbGUpCisgICAgICAgIG9yaWdpbmFsX2lzZGlyID0gb3MucGF0aC5pc2RpcgorICAgICAgICBkZWYgcmVzdG9yZV9pc2RpcigpOgorICAgICAgICAgICAgb3MucGF0aC5pc2RpciA9IG9yaWdpbmFsX2lzZGlyCisgICAgICAgIHNlbGYuYWRkQ2xlYW51cChyZXN0b3JlX2lzZGlyKQorICAgICAgICBzZWxmLmFkZENsZWFudXAoc3lzLnBhdGgucmVtb3ZlLCBhYnNwYXRoKCcvZm9vJykpCisKKyAgICAgICAgIyBUZXN0IGRhdGE6IHdlIGV4cGVjdCB0aGUgZm9sbG93aW5nOgorICAgICAgICAjIGEgbGlzdGRpciB0byBmaW5kIG91ciBwYWNrYWdlLCBhbmQgYSBpc2ZpbGUgYW5kIGlzZGlyIGNoZWNrIG9uIGl0LgorICAgICAgICAjIGEgbW9kdWxlLWZyb20tbmFtZSBjYWxsIHRvIHR1cm4gdGhhdCBpbnRvIGEgbW9kdWxlCisgICAgICAgICMgZm9sbG93ZWQgYnkgbG9hZF90ZXN0cy4KKyAgICAgICAgIyB0aGVuIG91ciBsb2FkX3Rlc3RzIHdpbGwgY2FsbCBkaXNjb3ZlcigpIHdoaWNoIGlzIG1lc3N5CisgICAgICAgICMgYnV0IHRoYXQgZmluYWxseSBjaGFpbnMgaW50byBmaW5kX3Rlc3RzIGFnYWluIGZvciB0aGUgY2hpbGQgZGlyIC0KKyAgICAgICAgIyB3aGljaCBpcyB3aHkgd2UgZG9uJ3QgaGF2ZSBhIGluZmluaXRlIGxvb3AuCisgICAgICAgICMgV2UgZXhwZWN0IHRvIHNlZToKKyAgICAgICAgIyB0aGUgbW9kdWxlIGxvYWQgdGVzdHMgZm9yIGJvdGggcGFja2FnZSBhbmQgcGxhaW4gbW9kdWxlIGNhbGxlZCwKKyAgICAgICAgIyBhbmQgdGhlIHBsYWluIG1vZHVsZSByZXN1bHQgbmVzdGVkIGJ5IHRoZSBwYWNrYWdlIG1vZHVsZSBsb2FkX3Rlc3RzCisgICAgICAgICMgaW5kaWNhdGluZyB0aGF0IGl0IHdhcyBwcm9jZXNzZWQgYW5kIGNvdWxkIGhhdmUgYmVlbiBtdXRhdGVkLgorICAgICAgICB2ZnMgPSB7YWJzcGF0aCgnL2ZvbycpOiBbJ215X3BhY2thZ2UnXSwKKyAgICAgICAgICAgICAgIGFic3BhdGgoJy9mb28vbXlfcGFja2FnZScpOiBbJ19faW5pdF9fLnB5JywgJ3Rlc3RfbW9kdWxlLnB5J119CisgICAgICAgIGRlZiBsaXN0X2RpcihwYXRoKToKKyAgICAgICAgICAgIHJldHVybiBsaXN0KHZmc1twYXRoXSkKKyAgICAgICAgb3MubGlzdGRpciA9IGxpc3RfZGlyCisgICAgICAgIG9zLnBhdGguaXNkaXIgPSBsYW1iZGEgcGF0aDogbm90IHBhdGguZW5kc3dpdGgoJy5weScpCisgICAgICAgIG9zLnBhdGguaXNmaWxlID0gbGFtYmRhIHBhdGg6IHBhdGguZW5kc3dpdGgoJy5weScpCisKKyAgICAgICAgY2xhc3MgTW9kdWxlKG9iamVjdCk6CisgICAgICAgICAgICBwYXRocyA9IFtdCisgICAgICAgICAgICBsb2FkX3Rlc3RzX2FyZ3MgPSBbXQorCisgICAgICAgICAgICBkZWYgX19pbml0X18oc2VsZiwgcGF0aCk6CisgICAgICAgICAgICAgICAgc2VsZi5wYXRoID0gcGF0aAorICAgICAgICAgICAgICAgIHNlbGYucGF0aHMuYXBwZW5kKHBhdGgpCisgICAgICAgICAgICAgICAgaWYgcGF0aC5lbmRzd2l0aCgndGVzdF9tb2R1bGUnKToKKyAgICAgICAgICAgICAgICAgICAgZGVmIGxvYWRfdGVzdHMobG9hZGVyLCB0ZXN0cywgcGF0dGVybik6CisgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmxvYWRfdGVzdHNfYXJncy5hcHBlbmQoKGxvYWRlciwgdGVzdHMsIHBhdHRlcm4pKQorICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFtzZWxmLnBhdGggKyAnIGxvYWRfdGVzdHMnXQorICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgIGRlZiBsb2FkX3Rlc3RzKGxvYWRlciwgdGVzdHMsIHBhdHRlcm4pOgorICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5sb2FkX3Rlc3RzX2FyZ3MuYXBwZW5kKChsb2FkZXIsIHRlc3RzLCBwYXR0ZXJuKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICMgdG9wIGxldmVsIGRpcmVjdG9yeSBjYWNoZWQgb24gbG9hZGVyIGluc3RhbmNlCisgICAgICAgICAgICAgICAgICAgICAgICBfX2ZpbGVfXyA9ICcvZm9vL215X3BhY2thZ2UvX19pbml0X18ucHknCisgICAgICAgICAgICAgICAgICAgICAgICB0aGlzX2RpciA9IG9zLnBhdGguZGlybmFtZShfX2ZpbGVfXykKKyAgICAgICAgICAgICAgICAgICAgICAgIHBrZ190ZXN0cyA9IGxvYWRlci5kaXNjb3ZlcigKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFydF9kaXI9dGhpc19kaXIsIHBhdHRlcm49cGF0dGVybikKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBbc2VsZi5wYXRoICsgJyBsb2FkX3Rlc3RzJywgdGVzdHMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBdICsgcGtnX3Rlc3RzCisgICAgICAgICAgICAgICAgc2VsZi5sb2FkX3Rlc3RzID0gbG9hZF90ZXN0cworCisgICAgICAgICAgICBkZWYgX19lcV9fKHNlbGYsIG90aGVyKToKKyAgICAgICAgICAgICAgICByZXR1cm4gc2VsZi5wYXRoID09IG90aGVyLnBhdGgKKworICAgICAgICBsb2FkZXIgPSB1bml0dGVzdC5UZXN0TG9hZGVyKCkKKyAgICAgICAgbG9hZGVyLl9nZXRfbW9kdWxlX2Zyb21fbmFtZSA9IGxhbWJkYSBuYW1lOiBNb2R1bGUobmFtZSkKKyAgICAgICAgbG9hZGVyLnN1aXRlQ2xhc3MgPSBsYW1iZGEgdGhpbmc6IHRoaW5nCisKKyAgICAgICAgbG9hZGVyLl90b3BfbGV2ZWxfZGlyID0gYWJzcGF0aCgnL2ZvbycpCisgICAgICAgICMgdGhpcyB0aW1lIG5vICcucHknIG9uIHRoZSBwYXR0ZXJuIHNvIHRoYXQgaXQgY2FuIG1hdGNoCisgICAgICAgICMgYSB0ZXN0IHBhY2thZ2UKKyAgICAgICAgc3VpdGUgPSBsaXN0KGxvYWRlci5fZmluZF90ZXN0cyhhYnNwYXRoKCcvZm9vJyksICd0ZXN0Ki5weScpKQorCisgICAgICAgICMgV2Ugc2hvdWxkIGhhdmUgbG9hZGVkIHRlc3RzIGZyb20gYm90aCBteV9wYWNrYWdlIGFuZAorICAgICAgICAjIG15X3BhY2FrZ2UudGVzdF9tb2R1bGUsIGFuZCBhbHNvIHJ1biB0aGUgbG9hZF90ZXN0cyBob29rIGluIGJvdGguCisgICAgICAgICMgKG5vcm1hbGx5IHRoaXMgd291bGQgYmUgbmVzdGVkIFRlc3RTdWl0ZXMuKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN1aXRlLAorICAgICAgICAgICAgICAgICAgICAgICAgIFtbJ215X3BhY2thZ2UgbG9hZF90ZXN0cycsIFtdLAorICAgICAgICAgICAgICAgICAgICAgICAgICBbJ215X3BhY2thZ2UudGVzdF9tb2R1bGUgbG9hZF90ZXN0cyddXV0pCisgICAgICAgICMgUGFyZW50cyBiZWZvcmUgY2hpbGRyZW4uCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoTW9kdWxlLnBhdGhzLAorICAgICAgICAgICAgICAgICAgICAgICAgIFsnbXlfcGFja2FnZScsICdteV9wYWNrYWdlLnRlc3RfbW9kdWxlJ10pCisKKyAgICAgICAgIyBsb2FkX3Rlc3RzIHNob3VsZCBoYXZlIGJlZW4gY2FsbGVkIHR3aWNlIHdpdGggbG9hZGVyLCB0ZXN0cyBhbmQgcGF0dGVybgorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKE1vZHVsZS5sb2FkX3Rlc3RzX2FyZ3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgWyhsb2FkZXIsIFtdLCAndGVzdCoucHknKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgKGxvYWRlciwgW10sICd0ZXN0Ki5weScpXSkKIAogICAgIGRlZiB0ZXN0X2Rpc2NvdmVyKHNlbGYpOgogICAgICAgICBsb2FkZXIgPSB1bml0dGVzdC5UZXN0TG9hZGVyKCkKQEAgLTE5MSw2ICszNjgsNTEgQEAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChfZmluZF90ZXN0c19hcmdzLCBbKHN0YXJ0X2RpciwgJ3BhdHRlcm4nKV0pCiAgICAgICAgIHNlbGYuYXNzZXJ0SW4odG9wX2xldmVsX2Rpciwgc3lzLnBhdGgpCiAKKyAgICBkZWYgdGVzdF9kaXNjb3Zlcl9zdGFydF9kaXJfaXNfcGFja2FnZV9jYWxsc19wYWNrYWdlX2xvYWRfdGVzdHMoc2VsZik6CisgICAgICAgICMgVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgdGhlIHBhY2thZ2UgbG9hZF90ZXN0cyBpbiBhIHBhY2thZ2UgaXMgaW5kZWVkCisgICAgICAgICMgaW52b2tlZCB3aGVuIHRoZSBzdGFydF9kaXIgaXMgYSBwYWNrYWdlIChhbmQgbm90IHRoZSB0b3AgbGV2ZWwpLgorICAgICAgICAjIGh0dHA6Ly9idWdzLnB5dGhvbi5vcmcvaXNzdWUyMjQ1NworCisgICAgICAgICMgVGVzdCBkYXRhOiB3ZSBleHBlY3QgdGhlIGZvbGxvd2luZzoKKyAgICAgICAgIyBhbiBpc2ZpbGUgdG8gdmVyaWZ5IHRoZSBwYWNrYWdlLCB0aGVuIGltcG9ydGluZyBhbmQgc2Nhbm5pbmcKKyAgICAgICAgIyBhcyBwZXIgX2ZpbmRfdGVzdHMnIG5vcm1hbCBiZWhhdmlvdXIuCisgICAgICAgICMgV2UgZXhwZWN0IHRvIHNlZSBvdXIgbG9hZF90ZXN0cyBob29rIGNhbGxlZCBvbmNlLgorICAgICAgICB2ZnMgPSB7YWJzcGF0aCgnL3RvcGxldmVsJyk6IFsnc3RhcnRkaXInXSwKKyAgICAgICAgICAgICAgIGFic3BhdGgoJy90b3BsZXZlbC9zdGFydGRpcicpOiBbJ19faW5pdF9fLnB5J119CisgICAgICAgIGRlZiBsaXN0X2RpcihwYXRoKToKKyAgICAgICAgICAgIHJldHVybiBsaXN0KHZmc1twYXRoXSkKKyAgICAgICAgc2VsZi5hZGRDbGVhbnVwKHNldGF0dHIsIG9zLCAnbGlzdGRpcicsIG9zLmxpc3RkaXIpCisgICAgICAgIG9zLmxpc3RkaXIgPSBsaXN0X2RpcgorICAgICAgICBzZWxmLmFkZENsZWFudXAoc2V0YXR0ciwgb3MucGF0aCwgJ2lzZmlsZScsIG9zLnBhdGguaXNmaWxlKQorICAgICAgICBvcy5wYXRoLmlzZmlsZSA9IGxhbWJkYSBwYXRoOiBwYXRoLmVuZHN3aXRoKCcucHknKQorICAgICAgICBzZWxmLmFkZENsZWFudXAoc2V0YXR0ciwgb3MucGF0aCwgJ2lzZGlyJywgb3MucGF0aC5pc2RpcikKKyAgICAgICAgb3MucGF0aC5pc2RpciA9IGxhbWJkYSBwYXRoOiBub3QgcGF0aC5lbmRzd2l0aCgnLnB5JykKKyAgICAgICAgc2VsZi5hZGRDbGVhbnVwKHN5cy5wYXRoLnJlbW92ZSwgYWJzcGF0aCgnL3RvcGxldmVsJykpCisKKyAgICAgICAgY2xhc3MgTW9kdWxlKG9iamVjdCk6CisgICAgICAgICAgICBwYXRocyA9IFtdCisgICAgICAgICAgICBsb2FkX3Rlc3RzX2FyZ3MgPSBbXQorCisgICAgICAgICAgICBkZWYgX19pbml0X18oc2VsZiwgcGF0aCk6CisgICAgICAgICAgICAgICAgc2VsZi5wYXRoID0gcGF0aAorCisgICAgICAgICAgICBkZWYgbG9hZF90ZXN0cyhzZWxmLCBsb2FkZXIsIHRlc3RzLCBwYXR0ZXJuKToKKyAgICAgICAgICAgICAgICByZXR1cm4gWydsb2FkX3Rlc3RzIGNhbGxlZCAnICsgc2VsZi5wYXRoXQorCisgICAgICAgICAgICBkZWYgX19lcV9fKHNlbGYsIG90aGVyKToKKyAgICAgICAgICAgICAgICByZXR1cm4gc2VsZi5wYXRoID09IG90aGVyLnBhdGgKKworICAgICAgICBsb2FkZXIgPSB1bml0dGVzdC5UZXN0TG9hZGVyKCkKKyAgICAgICAgbG9hZGVyLl9nZXRfbW9kdWxlX2Zyb21fbmFtZSA9IGxhbWJkYSBuYW1lOiBNb2R1bGUobmFtZSkKKyAgICAgICAgbG9hZGVyLnN1aXRlQ2xhc3MgPSBsYW1iZGEgdGhpbmc6IHRoaW5nCisKKyAgICAgICAgc3VpdGUgPSBsb2FkZXIuZGlzY292ZXIoJy90b3BsZXZlbC9zdGFydGRpcicsIHRvcF9sZXZlbF9kaXI9Jy90b3BsZXZlbCcpCisKKyAgICAgICAgIyBXZSBzaG91bGQgaGF2ZSBsb2FkZWQgdGVzdHMgZnJvbSB0aGUgcGFja2FnZSBfX2luaXRfXy4KKyAgICAgICAgIyAobm9ybWFsbHkgdGhpcyB3b3VsZCBiZSBuZXN0ZWQgVGVzdFN1aXRlcy4pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3VpdGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgW1snbG9hZF90ZXN0cyBjYWxsZWQgc3RhcnRkaXInXV0pCisKICAgICBkZWYgc2V0dXBfaW1wb3J0X2lzc3VlX3Rlc3RzKHNlbGYsIGZha2VmaWxlKToKICAgICAgICAgbGlzdGRpciA9IG9zLmxpc3RkaXIKICAgICAgICAgb3MubGlzdGRpciA9IGxhbWJkYSBfOiBbZmFrZWZpbGVdCkBAIC0yMDMsNiArNDI1LDE3IEBACiAgICAgICAgICAgICBzeXMucGF0aFs6XSA9IG9yaWdfc3lzX3BhdGgKICAgICAgICAgc2VsZi5hZGRDbGVhbnVwKHJlc3RvcmUpCiAKKyAgICBkZWYgc2V0dXBfaW1wb3J0X2lzc3VlX3BhY2thZ2VfdGVzdHMoc2VsZiwgdmZzKToKKyAgICAgICAgc2VsZi5hZGRDbGVhbnVwKHNldGF0dHIsIG9zLCAnbGlzdGRpcicsIG9zLmxpc3RkaXIpCisgICAgICAgIHNlbGYuYWRkQ2xlYW51cChzZXRhdHRyLCBvcy5wYXRoLCAnaXNmaWxlJywgb3MucGF0aC5pc2ZpbGUpCisgICAgICAgIHNlbGYuYWRkQ2xlYW51cChzZXRhdHRyLCBvcy5wYXRoLCAnaXNkaXInLCBvcy5wYXRoLmlzZGlyKQorICAgICAgICBzZWxmLmFkZENsZWFudXAoc3lzLnBhdGguX19zZXRpdGVtX18sIHNsaWNlKE5vbmUpLCBsaXN0KHN5cy5wYXRoKSkKKyAgICAgICAgZGVmIGxpc3RfZGlyKHBhdGgpOgorICAgICAgICAgICAgcmV0dXJuIGxpc3QodmZzW3BhdGhdKQorICAgICAgICBvcy5saXN0ZGlyID0gbGlzdF9kaXIKKyAgICAgICAgb3MucGF0aC5pc2RpciA9IGxhbWJkYSBwYXRoOiBub3QgcGF0aC5lbmRzd2l0aCgnLnB5JykKKyAgICAgICAgb3MucGF0aC5pc2ZpbGUgPSBsYW1iZGEgcGF0aDogcGF0aC5lbmRzd2l0aCgnLnB5JykKKwogICAgIGRlZiB0ZXN0X2Rpc2NvdmVyX3dpdGhfbW9kdWxlc190aGF0X2ZhaWxfdG9faW1wb3J0KHNlbGYpOgogICAgICAgICBsb2FkZXIgPSB1bml0dGVzdC5UZXN0TG9hZGVyKCkKIApAQCAtMjExLDExICs0NDQsNDQgQEAKICAgICAgICAgc3VpdGUgPSBsb2FkZXIuZGlzY292ZXIoJy4nKQogICAgICAgICBzZWxmLmFzc2VydEluKG9zLmdldGN3ZCgpLCBzeXMucGF0aCkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdWl0ZS5jb3VudFRlc3RDYXNlcygpLCAxKQorICAgICAgICAjIEVycm9ycyBsb2FkaW5nIHRoZSBzdWl0ZSBhcmUgYWxzbyBjYXB0dXJlZCBmb3IgaW50cm9zcGVjdGlvbi4KKyAgICAgICAgc2VsZi5hc3NlcnROb3RFcXVhbChbXSwgbG9hZGVyLmVycm9ycykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgxLCBsZW4obG9hZGVyLmVycm9ycykpCisgICAgICAgIGVycm9yID0gbG9hZGVyLmVycm9yc1swXQorICAgICAgICBzZWxmLmFzc2VydFRydWUoCisgICAgICAgICAgICAnRmFpbGVkIHRvIGltcG9ydCB0ZXN0IG1vZHVsZTogdGVzdF90aGlzX2RvZXNfbm90X2V4aXN0JyBpbiBlcnJvciwKKyAgICAgICAgICAgICdtaXNzaW5nIGVycm9yIHN0cmluZyBpbiAlcicgJSBlcnJvcikKICAgICAgICAgdGVzdCA9IGxpc3QobGlzdChzdWl0ZSlbMF0pWzBdICMgZXh0cmFjdCB0ZXN0IGZyb20gc3VpdGUKIAogICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKEltcG9ydEVycm9yKToKICAgICAgICAgICAgIHRlc3QudGVzdF90aGlzX2RvZXNfbm90X2V4aXN0KCkKIAorICAgIGRlZiB0ZXN0X2Rpc2NvdmVyX3dpdGhfaW5pdF9tb2R1bGVzX3RoYXRfZmFpbF90b19pbXBvcnQoc2VsZik6CisgICAgICAgIHZmcyA9IHthYnNwYXRoKCcvZm9vJyk6IFsnbXlfcGFja2FnZSddLAorICAgICAgICAgICAgICAgYWJzcGF0aCgnL2Zvby9teV9wYWNrYWdlJyk6IFsnX19pbml0X18ucHknLCAndGVzdF9tb2R1bGUucHknXX0KKyAgICAgICAgc2VsZi5zZXR1cF9pbXBvcnRfaXNzdWVfcGFja2FnZV90ZXN0cyh2ZnMpCisgICAgICAgIGltcG9ydF9jYWxscyA9IFtdCisgICAgICAgIGRlZiBfZ2V0X21vZHVsZV9mcm9tX25hbWUobmFtZSk6CisgICAgICAgICAgICBpbXBvcnRfY2FsbHMuYXBwZW5kKG5hbWUpCisgICAgICAgICAgICByYWlzZSBJbXBvcnRFcnJvcigiQ2Fubm90IGltcG9ydCBOYW1lIikKKyAgICAgICAgbG9hZGVyID0gdW5pdHRlc3QuVGVzdExvYWRlcigpCisgICAgICAgIGxvYWRlci5fZ2V0X21vZHVsZV9mcm9tX25hbWUgPSBfZ2V0X21vZHVsZV9mcm9tX25hbWUKKyAgICAgICAgc3VpdGUgPSBsb2FkZXIuZGlzY292ZXIoYWJzcGF0aCgnL2ZvbycpKQorCisgICAgICAgIHNlbGYuYXNzZXJ0SW4oYWJzcGF0aCgnL2ZvbycpLCBzeXMucGF0aCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdWl0ZS5jb3VudFRlc3RDYXNlcygpLCAxKQorICAgICAgICAjIEVycm9ycyBsb2FkaW5nIHRoZSBzdWl0ZSBhcmUgYWxzbyBjYXB0dXJlZCBmb3IgaW50cm9zcGVjdGlvbi4KKyAgICAgICAgc2VsZi5hc3NlcnROb3RFcXVhbChbXSwgbG9hZGVyLmVycm9ycykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgxLCBsZW4obG9hZGVyLmVycm9ycykpCisgICAgICAgIGVycm9yID0gbG9hZGVyLmVycm9yc1swXQorICAgICAgICBzZWxmLmFzc2VydFRydWUoCisgICAgICAgICAgICAnRmFpbGVkIHRvIGltcG9ydCB0ZXN0IG1vZHVsZTogbXlfcGFja2FnZScgaW4gZXJyb3IsCisgICAgICAgICAgICAnbWlzc2luZyBlcnJvciBzdHJpbmcgaW4gJXInICUgZXJyb3IpCisgICAgICAgIHRlc3QgPSBsaXN0KGxpc3Qoc3VpdGUpWzBdKVswXSAjIGV4dHJhY3QgdGVzdCBmcm9tIHN1aXRlCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoSW1wb3J0RXJyb3IpOgorICAgICAgICAgICAgdGVzdC5teV9wYWNrYWdlKCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChpbXBvcnRfY2FsbHMsIFsnbXlfcGFja2FnZSddKQorCiAgICAgZGVmIHRlc3RfZGlzY292ZXJfd2l0aF9tb2R1bGVfdGhhdF9yYWlzZXNfU2tpcFRlc3Rfb25faW1wb3J0KHNlbGYpOgogICAgICAgICBsb2FkZXIgPSB1bml0dGVzdC5UZXN0TG9hZGVyKCkKIApAQCAtMjMyLDYgKzQ5OCwyNiBAQAogICAgICAgICBzdWl0ZS5ydW4ocmVzdWx0KQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihyZXN1bHQuc2tpcHBlZCksIDEpCiAKKyAgICBkZWYgdGVzdF9kaXNjb3Zlcl93aXRoX2luaXRfbW9kdWxlX3RoYXRfcmFpc2VzX1NraXBUZXN0X29uX2ltcG9ydChzZWxmKToKKyAgICAgICAgdmZzID0ge2Fic3BhdGgoJy9mb28nKTogWydteV9wYWNrYWdlJ10sCisgICAgICAgICAgICAgICBhYnNwYXRoKCcvZm9vL215X3BhY2thZ2UnKTogWydfX2luaXRfXy5weScsICd0ZXN0X21vZHVsZS5weSddfQorICAgICAgICBzZWxmLnNldHVwX2ltcG9ydF9pc3N1ZV9wYWNrYWdlX3Rlc3RzKHZmcykKKyAgICAgICAgaW1wb3J0X2NhbGxzID0gW10KKyAgICAgICAgZGVmIF9nZXRfbW9kdWxlX2Zyb21fbmFtZShuYW1lKToKKyAgICAgICAgICAgIGltcG9ydF9jYWxscy5hcHBlbmQobmFtZSkKKyAgICAgICAgICAgIHJhaXNlIHVuaXR0ZXN0LlNraXBUZXN0KCdza2lwcGVyb28nKQorICAgICAgICBsb2FkZXIgPSB1bml0dGVzdC5UZXN0TG9hZGVyKCkKKyAgICAgICAgbG9hZGVyLl9nZXRfbW9kdWxlX2Zyb21fbmFtZSA9IF9nZXRfbW9kdWxlX2Zyb21fbmFtZQorICAgICAgICBzdWl0ZSA9IGxvYWRlci5kaXNjb3ZlcihhYnNwYXRoKCcvZm9vJykpCisKKyAgICAgICAgc2VsZi5hc3NlcnRJbihhYnNwYXRoKCcvZm9vJyksIHN5cy5wYXRoKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN1aXRlLmNvdW50VGVzdENhc2VzKCksIDEpCisgICAgICAgIHJlc3VsdCA9IHVuaXR0ZXN0LlRlc3RSZXN1bHQoKQorICAgICAgICBzdWl0ZS5ydW4ocmVzdWx0KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihyZXN1bHQuc2tpcHBlZCksIDEpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVzdWx0LnRlc3RzUnVuLCAxKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGltcG9ydF9jYWxscywgWydteV9wYWNrYWdlJ10pCisKICAgICBkZWYgdGVzdF9jb21tYW5kX2xpbmVfaGFuZGxpbmdfcGFyc2VBcmdzKHNlbGYpOgogICAgICAgICBwcm9ncmFtID0gVGVzdGFibGVUZXN0UHJvZ3JhbSgpCiAKZGlmZiAtLWdpdCBhL0xpYi91bml0dGVzdC90ZXN0L3Rlc3RfbG9hZGVyLnB5IGIvTGliL3VuaXR0ZXN0L3Rlc3QvdGVzdF9sb2FkZXIucHkKaW5kZXggYjYyYTFiNS4uNjhmMTAzNiAxMDA2NDQKLS0tIGEvTGliL3VuaXR0ZXN0L3Rlc3QvdGVzdF9sb2FkZXIucHkKKysrIGIvTGliL3VuaXR0ZXN0L3Rlc3QvdGVzdF9sb2FkZXIucHkKQEAgLTEsMTIgKzEsMzYgQEAKIGltcG9ydCBzeXMKIGltcG9ydCB0eXBlcwotCitpbXBvcnQgd2FybmluZ3MKIAogaW1wb3J0IHVuaXR0ZXN0CiAKKyMgRGVjb3JhdG9yIHVzZWQgaW4gdGhlIGRlcHJlY2F0aW9uIHRlc3RzIHRvIHJlc2V0IHRoZSB3YXJuaW5nIHJlZ2lzdHJ5IGZvcgorIyB0ZXN0IGlzb2xhdGlvbiBhbmQgcmVwcm9kdWNpYmlsaXR5LgorZGVmIHdhcm5pbmdyZWdpc3RyeShmdW5jKToKKyAgICBkZWYgd3JhcHBlcigqYXJncywgKiprd3MpOgorICAgICAgICBtaXNzaW5nID0gb2JqZWN0KCkKKyAgICAgICAgc2F2ZWQgPSBnZXRhdHRyKHdhcm5pbmdzLCAnX193YXJuaW5ncmVnaXN0cnlfXycsIG1pc3NpbmcpLmNvcHkoKQorICAgICAgICB0cnk6CisgICAgICAgICAgICByZXR1cm4gZnVuYygqYXJncywgKiprd3MpCisgICAgICAgIGZpbmFsbHk6CisgICAgICAgICAgICBpZiBzYXZlZCBpcyBtaXNzaW5nOgorICAgICAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICAgICAgZGVsIHdhcm5pbmdzLl9fd2FybmluZ3JlZ2lzdHJ5X18KKyAgICAgICAgICAgICAgICBleGNlcHQgQXR0cmlidXRlRXJyb3I6CisgICAgICAgICAgICAgICAgICAgIHBhc3MKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgd2FybmluZ3MuX193YXJuaW5ncmVnaXN0cnlfXyA9IHNhdmVkCisKIAogY2xhc3MgVGVzdF9UZXN0TG9hZGVyKHVuaXR0ZXN0LlRlc3RDYXNlKToKIAorICAgICMjIyBCYXNpYyBvYmplY3QgdGVzdHMKKyAgICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisKKyAgICBkZWYgdGVzdF9fX2luaXRfXyhzZWxmKToKKyAgICAgICAgbG9hZGVyID0gdW5pdHRlc3QuVGVzdExvYWRlcigpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoW10sIGxvYWRlci5lcnJvcnMpCisKICAgICAjIyMgVGVzdHMgZm9yIFRlc3RMb2FkZXIubG9hZFRlc3RzRnJvbVRlc3RDYXNlCiAgICAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogCkBAIC0xNTAsNiArMTc0LDcgQEAKIAogICAgICMgQ2hlY2sgdGhhdCBsb2FkVGVzdHNGcm9tTW9kdWxlIGhvbm9ycyAob3Igbm90KSBhIG1vZHVsZQogICAgICMgd2l0aCBhIGxvYWRfdGVzdHMgZnVuY3Rpb24uCisgICAgQHdhcm5pbmdyZWdpc3RyeQogICAgIGRlZiB0ZXN0X2xvYWRUZXN0c0Zyb21Nb2R1bGVfX2xvYWRfdGVzdHMoc2VsZik6CiAgICAgICAgIG0gPSB0eXBlcy5Nb2R1bGVUeXBlKCdtJykKICAgICAgICAgY2xhc3MgTXlUZXN0Q2FzZSh1bml0dGVzdC5UZXN0Q2FzZSk6CkBAIC0xNjgsMTAgKzE5MywxNDQgQEAKICAgICAgICAgc3VpdGUgPSBsb2FkZXIubG9hZFRlc3RzRnJvbU1vZHVsZShtKQogICAgICAgICBzZWxmLmFzc2VydElzSW5zdGFuY2Uoc3VpdGUsIHVuaXR0ZXN0LlRlc3RTdWl0ZSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsb2FkX3Rlc3RzX2FyZ3MsIFtsb2FkZXIsIHN1aXRlLCBOb25lXSkKKyAgICAgICAgIyBXaXRoIFB5dGhvbiAzLjUsIHRoZSB1bmRvY3VtZW50ZWQgYW5kIHVub2ZmaWNpYWwgdXNlX2xvYWRfdGVzdHMgaXMKKyAgICAgICAgIyBpZ25vcmVkIChhbmQgZGVwcmVjYXRlZCkuCisgICAgICAgIGxvYWRfdGVzdHNfYXJncyA9IFtdCisgICAgICAgIHdpdGggd2FybmluZ3MuY2F0Y2hfd2FybmluZ3MocmVjb3JkPUZhbHNlKToKKyAgICAgICAgICAgIHdhcm5pbmdzLnNpbXBsZWZpbHRlcignbmV2ZXInKQorICAgICAgICAgICAgc3VpdGUgPSBsb2FkZXIubG9hZFRlc3RzRnJvbU1vZHVsZShtLCB1c2VfbG9hZF90ZXN0cz1GYWxzZSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobG9hZF90ZXN0c19hcmdzLCBbbG9hZGVyLCBzdWl0ZSwgTm9uZV0pCisKKyAgICBAd2FybmluZ3JlZ2lzdHJ5CisgICAgZGVmIHRlc3RfbG9hZFRlc3RzRnJvbU1vZHVsZV9fdXNlX2xvYWRfdGVzdHNfZGVwcmVjYXRlZF9wb3NpdGlvbmFsKHNlbGYpOgorICAgICAgICBtID0gdHlwZXMuTW9kdWxlVHlwZSgnbScpCisgICAgICAgIGNsYXNzIE15VGVzdENhc2UodW5pdHRlc3QuVGVzdENhc2UpOgorICAgICAgICAgICAgZGVmIHRlc3Qoc2VsZik6CisgICAgICAgICAgICAgICAgcGFzcworICAgICAgICBtLnRlc3RjYXNlXzEgPSBNeVRlc3RDYXNlCiAKICAgICAgICAgbG9hZF90ZXN0c19hcmdzID0gW10KLSAgICAgICAgc3VpdGUgPSBsb2FkZXIubG9hZFRlc3RzRnJvbU1vZHVsZShtLCB1c2VfbG9hZF90ZXN0cz1GYWxzZSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsb2FkX3Rlc3RzX2FyZ3MsIFtdKQorICAgICAgICBkZWYgbG9hZF90ZXN0cyhsb2FkZXIsIHRlc3RzLCBwYXR0ZXJuKToKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXNJbnN0YW5jZSh0ZXN0cywgdW5pdHRlc3QuVGVzdFN1aXRlKQorICAgICAgICAgICAgbG9hZF90ZXN0c19hcmdzLmV4dGVuZCgobG9hZGVyLCB0ZXN0cywgcGF0dGVybikpCisgICAgICAgICAgICByZXR1cm4gdGVzdHMKKyAgICAgICAgbS5sb2FkX3Rlc3RzID0gbG9hZF90ZXN0cworICAgICAgICAjIFRoZSBtZXRob2Qgc3RpbGwgd29ya3MuCisgICAgICAgIGxvYWRlciA9IHVuaXR0ZXN0LlRlc3RMb2FkZXIoKQorICAgICAgICAjIHVzZV9sb2FkX3Rlc3RzPVRydWUgYXMgYSBwb3NpdGlvbmFsIGFyZ3VtZW50LgorICAgICAgICB3aXRoIHdhcm5pbmdzLmNhdGNoX3dhcm5pbmdzKHJlY29yZD1UcnVlKSBhcyB3OgorICAgICAgICAgICAgd2FybmluZ3Muc2ltcGxlZmlsdGVyKCdhbHdheXMnKQorICAgICAgICAgICAgc3VpdGUgPSBsb2FkZXIubG9hZFRlc3RzRnJvbU1vZHVsZShtLCBGYWxzZSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXNJbnN0YW5jZShzdWl0ZSwgdW5pdHRlc3QuVGVzdFN1aXRlKQorICAgICAgICAgICAgIyBsb2FkX3Rlc3RzIHdhcyBzdGlsbCBjYWxsZWQgYmVjYXVzZSB1c2VfbG9hZF90ZXN0cyBpcyBkZXByZWNhdGVkCisgICAgICAgICAgICAjIGFuZCBpZ25vcmVkLgorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsb2FkX3Rlc3RzX2FyZ3MsIFtsb2FkZXIsIHN1aXRlLCBOb25lXSkKKyAgICAgICAgIyBXZSBnb3QgYSB3YXJuaW5nLgorICAgICAgICBzZWxmLmFzc2VydElzKHdbLTFdLmNhdGVnb3J5LCBEZXByZWNhdGlvbldhcm5pbmcpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyKHdbLTFdLm1lc3NhZ2UpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndXNlX2xvYWRfdGVzdHMgaXMgZGVwcmVjYXRlZCBhbmQgaWdub3JlZCcpCisKKyAgICBAd2FybmluZ3JlZ2lzdHJ5CisgICAgZGVmIHRlc3RfbG9hZFRlc3RzRnJvbU1vZHVsZV9fdXNlX2xvYWRfdGVzdHNfZGVwcmVjYXRlZF9rZXl3b3JkKHNlbGYpOgorICAgICAgICBtID0gdHlwZXMuTW9kdWxlVHlwZSgnbScpCisgICAgICAgIGNsYXNzIE15VGVzdENhc2UodW5pdHRlc3QuVGVzdENhc2UpOgorICAgICAgICAgICAgZGVmIHRlc3Qoc2VsZik6CisgICAgICAgICAgICAgICAgcGFzcworICAgICAgICBtLnRlc3RjYXNlXzEgPSBNeVRlc3RDYXNlCisKKyAgICAgICAgbG9hZF90ZXN0c19hcmdzID0gW10KKyAgICAgICAgZGVmIGxvYWRfdGVzdHMobG9hZGVyLCB0ZXN0cywgcGF0dGVybik6CisgICAgICAgICAgICBzZWxmLmFzc2VydElzSW5zdGFuY2UodGVzdHMsIHVuaXR0ZXN0LlRlc3RTdWl0ZSkKKyAgICAgICAgICAgIGxvYWRfdGVzdHNfYXJncy5leHRlbmQoKGxvYWRlciwgdGVzdHMsIHBhdHRlcm4pKQorICAgICAgICAgICAgcmV0dXJuIHRlc3RzCisgICAgICAgIG0ubG9hZF90ZXN0cyA9IGxvYWRfdGVzdHMKKyAgICAgICAgIyBUaGUgbWV0aG9kIHN0aWxsIHdvcmtzLgorICAgICAgICBsb2FkZXIgPSB1bml0dGVzdC5UZXN0TG9hZGVyKCkKKyAgICAgICAgd2l0aCB3YXJuaW5ncy5jYXRjaF93YXJuaW5ncyhyZWNvcmQ9VHJ1ZSkgYXMgdzoKKyAgICAgICAgICAgIHdhcm5pbmdzLnNpbXBsZWZpbHRlcignYWx3YXlzJykKKyAgICAgICAgICAgIHN1aXRlID0gbG9hZGVyLmxvYWRUZXN0c0Zyb21Nb2R1bGUobSwgdXNlX2xvYWRfdGVzdHM9RmFsc2UpCisgICAgICAgICAgICBzZWxmLmFzc2VydElzSW5zdGFuY2Uoc3VpdGUsIHVuaXR0ZXN0LlRlc3RTdWl0ZSkKKyAgICAgICAgICAgICMgbG9hZF90ZXN0cyB3YXMgc3RpbGwgY2FsbGVkIGJlY2F1c2UgdXNlX2xvYWRfdGVzdHMgaXMgZGVwcmVjYXRlZAorICAgICAgICAgICAgIyBhbmQgaWdub3JlZC4KKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobG9hZF90ZXN0c19hcmdzLCBbbG9hZGVyLCBzdWl0ZSwgTm9uZV0pCisgICAgICAgICAgICAjIFdlIGdvdCBhIHdhcm5pbmcuCisgICAgICAgICAgICBzZWxmLmFzc2VydElzKHdbLTFdLmNhdGVnb3J5LCBEZXByZWNhdGlvbldhcm5pbmcpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0cih3Wy0xXS5tZXNzYWdlKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd1c2VfbG9hZF90ZXN0cyBpcyBkZXByZWNhdGVkIGFuZCBpZ25vcmVkJykKKworICAgIEB3YXJuaW5ncmVnaXN0cnkKKyAgICBkZWYgdGVzdF9sb2FkVGVzdHNGcm9tTW9kdWxlX190b29fbWFueV9wb3NpdGlvbmFsX2FyZ3Moc2VsZik6CisgICAgICAgIG0gPSB0eXBlcy5Nb2R1bGVUeXBlKCdtJykKKyAgICAgICAgY2xhc3MgTXlUZXN0Q2FzZSh1bml0dGVzdC5UZXN0Q2FzZSk6CisgICAgICAgICAgICBkZWYgdGVzdChzZWxmKToKKyAgICAgICAgICAgICAgICBwYXNzCisgICAgICAgIG0udGVzdGNhc2VfMSA9IE15VGVzdENhc2UKKworICAgICAgICBsb2FkX3Rlc3RzX2FyZ3MgPSBbXQorICAgICAgICBkZWYgbG9hZF90ZXN0cyhsb2FkZXIsIHRlc3RzLCBwYXR0ZXJuKToKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXNJbnN0YW5jZSh0ZXN0cywgdW5pdHRlc3QuVGVzdFN1aXRlKQorICAgICAgICAgICAgbG9hZF90ZXN0c19hcmdzLmV4dGVuZCgobG9hZGVyLCB0ZXN0cywgcGF0dGVybikpCisgICAgICAgICAgICByZXR1cm4gdGVzdHMKKyAgICAgICAgbS5sb2FkX3Rlc3RzID0gbG9hZF90ZXN0cworICAgICAgICBsb2FkZXIgPSB1bml0dGVzdC5UZXN0TG9hZGVyKCkKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IpIGFzIGNtLCBcCisgICAgICAgICAgICAgd2FybmluZ3MuY2F0Y2hfd2FybmluZyhyZWNvcmQ9VHJ1ZSkgYXMgdzoKKyAgICAgICAgICAgIGxvYWRlci5sb2FkVGVzdHNGcm9tTW9kdWxlKG0sIEZhbHNlLCAndGVzdG1lLionKQorICAgICAgICAgICAgIyBXZSBzdGlsbCBnb3QgdGhlIGRlcHJlY2F0aW9uIHdhcm5pbmcuCisgICAgICAgICAgICBzZWxmLmFzc2VydElzKHdbLTFdLmNhdGVnb3J5LCBEZXByZWNhdGlvbldhcm5pbmcpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0cih3Wy0xXS5tZXNzYWdlKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd1c2VfbG9hZF90ZXN0cyBpcyBkZXByZWNhdGVkIGFuZCBpZ25vcmVkJykKKyAgICAgICAgICAgICMgV2UgYWxzbyBnb3QgYSBUeXBlRXJyb3IgZm9yIHRvbyBtYW55IHBvc2l0aW9uYWwgYXJndW1lbnRzLgorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh0eXBlKGNtLmV4Y2VwdGlvbiksIFR5cGVFcnJvcikKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisgICAgICAgICAgICAgICAgc3RyKGNtLmV4Y2VwdGlvbiksCisgICAgICAgICAgICAgICAgJ2xvYWRUZXN0c0Zyb21Nb2R1bGUoKSB0YWtlcyAxIHBvc2l0aW9uYWwgYXJndW1lbnQgYnV0IDMgd2VyZSBnaXZlbicpCisKKyAgICBAd2FybmluZ3JlZ2lzdHJ5CisgICAgZGVmIHRlc3RfbG9hZFRlc3RzRnJvbU1vZHVsZV9fdXNlX2xvYWRfdGVzdHNfb3RoZXJfYmFkX2tleXdvcmQoc2VsZik6CisgICAgICAgIG0gPSB0eXBlcy5Nb2R1bGVUeXBlKCdtJykKKyAgICAgICAgY2xhc3MgTXlUZXN0Q2FzZSh1bml0dGVzdC5UZXN0Q2FzZSk6CisgICAgICAgICAgICBkZWYgdGVzdChzZWxmKToKKyAgICAgICAgICAgICAgICBwYXNzCisgICAgICAgIG0udGVzdGNhc2VfMSA9IE15VGVzdENhc2UKKworICAgICAgICBsb2FkX3Rlc3RzX2FyZ3MgPSBbXQorICAgICAgICBkZWYgbG9hZF90ZXN0cyhsb2FkZXIsIHRlc3RzLCBwYXR0ZXJuKToKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXNJbnN0YW5jZSh0ZXN0cywgdW5pdHRlc3QuVGVzdFN1aXRlKQorICAgICAgICAgICAgbG9hZF90ZXN0c19hcmdzLmV4dGVuZCgobG9hZGVyLCB0ZXN0cywgcGF0dGVybikpCisgICAgICAgICAgICByZXR1cm4gdGVzdHMKKyAgICAgICAgbS5sb2FkX3Rlc3RzID0gbG9hZF90ZXN0cworICAgICAgICBsb2FkZXIgPSB1bml0dGVzdC5UZXN0TG9hZGVyKCkKKyAgICAgICAgd2l0aCB3YXJuaW5ncy5jYXRjaF93YXJuaW5ncygpOgorICAgICAgICAgICAgd2FybmluZ3Muc2ltcGxlZmlsdGVyKCduZXZlcicpCisgICAgICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvcikgYXMgY206CisgICAgICAgICAgICAgICAgbG9hZGVyLmxvYWRUZXN0c0Zyb21Nb2R1bGUoCisgICAgICAgICAgICAgICAgICAgIG0sIHVzZV9sb2FkX3Rlc3RzPUZhbHNlLCB2ZXJ5X2JhZD1UcnVlLCB3b3JzZT1GYWxzZSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh0eXBlKGNtLmV4Y2VwdGlvbiksIFR5cGVFcnJvcikKKyAgICAgICAgIyBUaGUgZXJyb3IgbWVzc2FnZSBuYW1lcyB0aGUgZmlyc3QgYmFkIGFyZ3VtZW50IGFscGhhYmV0aWNhbGx5LAorICAgICAgICAjIGhvd2V2ZXIgdXNlX2xvYWRfdGVzdHMgKHdoaWNoIHNvcnRzIGZpcnN0KSBpcyBpZ25vcmVkLgorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAorICAgICAgICAgICAgc3RyKGNtLmV4Y2VwdGlvbiksCisgICAgICAgICAgICAibG9hZFRlc3RzRnJvbU1vZHVsZSgpIGdvdCBhbiB1bmV4cGVjdGVkIGtleXdvcmQgYXJndW1lbnQgJ3ZlcnlfYmFkJyIpCisKKyAgICBkZWYgdGVzdF9sb2FkVGVzdHNGcm9tTW9kdWxlX19wYXR0ZXJuKHNlbGYpOgorICAgICAgICBtID0gdHlwZXMuTW9kdWxlVHlwZSgnbScpCisgICAgICAgIGNsYXNzIE15VGVzdENhc2UodW5pdHRlc3QuVGVzdENhc2UpOgorICAgICAgICAgICAgZGVmIHRlc3Qoc2VsZik6CisgICAgICAgICAgICAgICAgcGFzcworICAgICAgICBtLnRlc3RjYXNlXzEgPSBNeVRlc3RDYXNlCisKKyAgICAgICAgbG9hZF90ZXN0c19hcmdzID0gW10KKyAgICAgICAgZGVmIGxvYWRfdGVzdHMobG9hZGVyLCB0ZXN0cywgcGF0dGVybik6CisgICAgICAgICAgICBzZWxmLmFzc2VydElzSW5zdGFuY2UodGVzdHMsIHVuaXR0ZXN0LlRlc3RTdWl0ZSkKKyAgICAgICAgICAgIGxvYWRfdGVzdHNfYXJncy5leHRlbmQoKGxvYWRlciwgdGVzdHMsIHBhdHRlcm4pKQorICAgICAgICAgICAgcmV0dXJuIHRlc3RzCisgICAgICAgIG0ubG9hZF90ZXN0cyA9IGxvYWRfdGVzdHMKKworICAgICAgICBsb2FkZXIgPSB1bml0dGVzdC5UZXN0TG9hZGVyKCkKKyAgICAgICAgc3VpdGUgPSBsb2FkZXIubG9hZFRlc3RzRnJvbU1vZHVsZShtLCBwYXR0ZXJuPSd0ZXN0bWUuKicpCisgICAgICAgIHNlbGYuYXNzZXJ0SXNJbnN0YW5jZShzdWl0ZSwgdW5pdHRlc3QuVGVzdFN1aXRlKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxvYWRfdGVzdHNfYXJncywgW2xvYWRlciwgc3VpdGUsICd0ZXN0bWUuKiddKQogCiAgICAgZGVmIHRlc3RfbG9hZFRlc3RzRnJvbU1vZHVsZV9fZmF1bHR5X2xvYWRfdGVzdHMoc2VsZik6CiAgICAgICAgIG0gPSB0eXBlcy5Nb2R1bGVUeXBlKCdtJykKQEAgLTE4NCw2ICszNDMsMTMgQEAKICAgICAgICAgc3VpdGUgPSBsb2FkZXIubG9hZFRlc3RzRnJvbU1vZHVsZShtKQogICAgICAgICBzZWxmLmFzc2VydElzSW5zdGFuY2Uoc3VpdGUsIHVuaXR0ZXN0LlRlc3RTdWl0ZSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdWl0ZS5jb3VudFRlc3RDYXNlcygpLCAxKQorICAgICAgICAjIEVycm9ycyBsb2FkaW5nIHRoZSBzdWl0ZSBhcmUgYWxzbyBjYXB0dXJlZCBmb3IgaW50cm9zcGVjdGlvbi4KKyAgICAgICAgc2VsZi5hc3NlcnROb3RFcXVhbChbXSwgbG9hZGVyLmVycm9ycykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgxLCBsZW4obG9hZGVyLmVycm9ycykpCisgICAgICAgIGVycm9yID0gbG9hZGVyLmVycm9yc1swXQorICAgICAgICBzZWxmLmFzc2VydFRydWUoCisgICAgICAgICAgICAnRmFpbGVkIHRvIGNhbGwgbG9hZF90ZXN0czonIGluIGVycm9yLAorICAgICAgICAgICAgJ21pc3NpbmcgZXJyb3Igc3RyaW5nIGluICVyJyAlIGVycm9yKQogICAgICAgICB0ZXN0ID0gbGlzdChzdWl0ZSlbMF0KIAogICAgICAgICBzZWxmLmFzc2VydFJhaXNlc1JlZ2V4KFR5cGVFcnJvciwgInNvbWUgZmFpbHVyZSIsIHRlc3QubSkKQEAgLTIxOSwxNSArMzg1LDE1IEBACiAgICAgZGVmIHRlc3RfbG9hZFRlc3RzRnJvbU5hbWVfX21hbGZvcm1lZF9uYW1lKHNlbGYpOgogICAgICAgICBsb2FkZXIgPSB1bml0dGVzdC5UZXN0TG9hZGVyKCkKIAotICAgICAgICAjIFhYWCBTaG91bGQgdGhpcyByYWlzZSBWYWx1ZUVycm9yIG9yIEltcG9ydEVycm9yPwotICAgICAgICB0cnk6Ci0gICAgICAgICAgICBsb2FkZXIubG9hZFRlc3RzRnJvbU5hbWUoJ2FiYyAoKSAvLycpCi0gICAgICAgIGV4Y2VwdCBWYWx1ZUVycm9yOgotICAgICAgICAgICAgcGFzcwotICAgICAgICBleGNlcHQgSW1wb3J0RXJyb3I6Ci0gICAgICAgICAgICBwYXNzCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBzZWxmLmZhaWwoIlRlc3RMb2FkZXIubG9hZFRlc3RzRnJvbU5hbWUgZmFpbGVkIHRvIHJhaXNlIFZhbHVlRXJyb3IiKQorICAgICAgICBzdWl0ZSA9IGxvYWRlci5sb2FkVGVzdHNGcm9tTmFtZSgnYWJjICgpIC8vJykKKyAgICAgICAgZXJyb3IsIHRlc3QgPSBzZWxmLmNoZWNrX2RlZmVycmVkX2Vycm9yKGxvYWRlciwgc3VpdGUpCisgICAgICAgIGV4cGVjdGVkID0gIkZhaWxlZCB0byBpbXBvcnQgdGVzdCBtb2R1bGU6IGFiYyAoKSAvLyIKKyAgICAgICAgZXhwZWN0ZWRfcmVnZXggPSAiRmFpbGVkIHRvIGltcG9ydCB0ZXN0IG1vZHVsZTogYWJjIFwoXCkgLy8iCisgICAgICAgIHNlbGYuYXNzZXJ0SW4oCisgICAgICAgICAgICBleHBlY3RlZCwgZXJyb3IsCisgICAgICAgICAgICAnbWlzc2luZyBlcnJvciBzdHJpbmcgaW4gJXInICUgZXJyb3IpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoCisgICAgICAgICAgICBJbXBvcnRFcnJvciwgZXhwZWN0ZWRfcmVnZXgsIGdldGF0dHIodGVzdCwgJ2FiYyAoKSAvLycpKQogCiAgICAgIyAiVGhlIHNwZWNpZmllciBuYW1lIGlzIGEgYGBkb3R0ZWQgbmFtZScnIHRoYXQgbWF5IHJlc29sdmUgLi4uIHRvIGEKICAgICAjIG1vZHVsZSIKQEAgLTIzNiwyOCArNDAyLDQ3IEBACiAgICAgZGVmIHRlc3RfbG9hZFRlc3RzRnJvbU5hbWVfX3Vua25vd25fbW9kdWxlX25hbWUoc2VsZik6CiAgICAgICAgIGxvYWRlciA9IHVuaXR0ZXN0LlRlc3RMb2FkZXIoKQogCi0gICAgICAgIHRyeToKLSAgICAgICAgICAgIGxvYWRlci5sb2FkVGVzdHNGcm9tTmFtZSgnc2Rhc2Zhc2Zhc2RmJykKLSAgICAgICAgZXhjZXB0IEltcG9ydEVycm9yIGFzIGU6Ci0gICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0cihlKSwgIk5vIG1vZHVsZSBuYW1lZCAnc2Rhc2Zhc2Zhc2RmJyIpCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBzZWxmLmZhaWwoIlRlc3RMb2FkZXIubG9hZFRlc3RzRnJvbU5hbWUgZmFpbGVkIHRvIHJhaXNlIEltcG9ydEVycm9yIikKKyAgICAgICAgc3VpdGUgPSBsb2FkZXIubG9hZFRlc3RzRnJvbU5hbWUoJ3NkYXNmYXNmYXNkZicpCisgICAgICAgIGV4cGVjdGVkID0gIk5vIG1vZHVsZSBuYW1lZCAnc2Rhc2Zhc2Zhc2RmJyIKKyAgICAgICAgZXJyb3IsIHRlc3QgPSBzZWxmLmNoZWNrX2RlZmVycmVkX2Vycm9yKGxvYWRlciwgc3VpdGUpCisgICAgICAgIHNlbGYuYXNzZXJ0SW4oCisgICAgICAgICAgICBleHBlY3RlZCwgZXJyb3IsCisgICAgICAgICAgICAnbWlzc2luZyBlcnJvciBzdHJpbmcgaW4gJXInICUgZXJyb3IpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoSW1wb3J0RXJyb3IsIGV4cGVjdGVkLCB0ZXN0LnNkYXNmYXNmYXNkZikKIAogICAgICMgIlRoZSBzcGVjaWZpZXIgbmFtZSBpcyBhIGBgZG90dGVkIG5hbWUnJyB0aGF0IG1heSByZXNvbHZlIGVpdGhlciB0bwogICAgICMgYSBtb2R1bGUsIGEgdGVzdCBjYXNlIGNsYXNzLCBhIFRlc3RTdWl0ZSBpbnN0YW5jZSwgYSB0ZXN0IG1ldGhvZAogICAgICMgd2l0aGluIGEgdGVzdCBjYXNlIGNsYXNzLCBvciBhIGNhbGxhYmxlIG9iamVjdCB3aGljaCByZXR1cm5zIGEKICAgICAjIFRlc3RDYXNlIG9yIFRlc3RTdWl0ZSBpbnN0YW5jZS4iCiAgICAgIwotICAgICMgV2hhdCBoYXBwZW5zIHdoZW4gdGhlIG1vZHVsZSBpcyBmb3VuZCwgYnV0IHRoZSBhdHRyaWJ1dGUgY2FuJ3Q/Ci0gICAgZGVmIHRlc3RfbG9hZFRlc3RzRnJvbU5hbWVfX3Vua25vd25fYXR0cl9uYW1lKHNlbGYpOgorICAgICMgV2hhdCBoYXBwZW5zIHdoZW4gdGhlIG1vZHVsZSBpcyBmb3VuZCwgYnV0IHRoZSBhdHRyaWJ1dGUgaXNuJ3Q/CisgICAgZGVmIHRlc3RfbG9hZFRlc3RzRnJvbU5hbWVfX3Vua25vd25fYXR0cl9uYW1lX29uX21vZHVsZShzZWxmKToKICAgICAgICAgbG9hZGVyID0gdW5pdHRlc3QuVGVzdExvYWRlcigpCiAKLSAgICAgICAgdHJ5OgotICAgICAgICAgICAgbG9hZGVyLmxvYWRUZXN0c0Zyb21OYW1lKCd1bml0dGVzdC5zZGFzZmFzZmFzZGYnKQotICAgICAgICBleGNlcHQgQXR0cmlidXRlRXJyb3IgYXMgZToKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyKGUpLCAiJ21vZHVsZScgb2JqZWN0IGhhcyBubyBhdHRyaWJ1dGUgJ3NkYXNmYXNmYXNkZiciKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgc2VsZi5mYWlsKCJUZXN0TG9hZGVyLmxvYWRUZXN0c0Zyb21OYW1lIGZhaWxlZCB0byByYWlzZSBBdHRyaWJ1dGVFcnJvciIpCisgICAgICAgIHN1aXRlID0gbG9hZGVyLmxvYWRUZXN0c0Zyb21OYW1lKCd1bml0dGVzdC5sb2FkZXIuc2Rhc2Zhc2Zhc2RmJykKKyAgICAgICAgZXhwZWN0ZWQgPSAibW9kdWxlICd1bml0dGVzdC5sb2FkZXInIGhhcyBubyBhdHRyaWJ1dGUgJ3NkYXNmYXNmYXNkZiciCisgICAgICAgIGVycm9yLCB0ZXN0ID0gc2VsZi5jaGVja19kZWZlcnJlZF9lcnJvcihsb2FkZXIsIHN1aXRlKQorICAgICAgICBzZWxmLmFzc2VydEluKAorICAgICAgICAgICAgZXhwZWN0ZWQsIGVycm9yLAorICAgICAgICAgICAgJ21pc3NpbmcgZXJyb3Igc3RyaW5nIGluICVyJyAlIGVycm9yKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlc1JlZ2V4KEF0dHJpYnV0ZUVycm9yLCBleHBlY3RlZCwgdGVzdC5zZGFzZmFzZmFzZGYpCisKKyAgICAjICJUaGUgc3BlY2lmaWVyIG5hbWUgaXMgYSBgYGRvdHRlZCBuYW1lJycgdGhhdCBtYXkgcmVzb2x2ZSBlaXRoZXIgdG8KKyAgICAjIGEgbW9kdWxlLCBhIHRlc3QgY2FzZSBjbGFzcywgYSBUZXN0U3VpdGUgaW5zdGFuY2UsIGEgdGVzdCBtZXRob2QKKyAgICAjIHdpdGhpbiBhIHRlc3QgY2FzZSBjbGFzcywgb3IgYSBjYWxsYWJsZSBvYmplY3Qgd2hpY2ggcmV0dXJucyBhCisgICAgIyBUZXN0Q2FzZSBvciBUZXN0U3VpdGUgaW5zdGFuY2UuIgorICAgICMKKyAgICAjIFdoYXQgaGFwcGVucyB3aGVuIHRoZSBtb2R1bGUgaXMgZm91bmQsIGJ1dCB0aGUgYXR0cmlidXRlIGlzbid0PworICAgIGRlZiB0ZXN0X2xvYWRUZXN0c0Zyb21OYW1lX191bmtub3duX2F0dHJfbmFtZV9vbl9wYWNrYWdlKHNlbGYpOgorICAgICAgICBsb2FkZXIgPSB1bml0dGVzdC5UZXN0TG9hZGVyKCkKKworICAgICAgICBzdWl0ZSA9IGxvYWRlci5sb2FkVGVzdHNGcm9tTmFtZSgndW5pdHRlc3Quc2Rhc2Zhc2Zhc2RmJykKKyAgICAgICAgZXhwZWN0ZWQgPSAiTm8gbW9kdWxlIG5hbWVkICd1bml0dGVzdC5zZGFzZmFzZmFzZGYnIgorICAgICAgICBlcnJvciwgdGVzdCA9IHNlbGYuY2hlY2tfZGVmZXJyZWRfZXJyb3IobG9hZGVyLCBzdWl0ZSkKKyAgICAgICAgc2VsZi5hc3NlcnRJbigKKyAgICAgICAgICAgIGV4cGVjdGVkLCBlcnJvciwKKyAgICAgICAgICAgICdtaXNzaW5nIGVycm9yIHN0cmluZyBpbiAlcicgJSBlcnJvcikKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXNSZWdleChJbXBvcnRFcnJvciwgZXhwZWN0ZWQsIHRlc3Quc2Rhc2Zhc2Zhc2RmKQogCiAgICAgIyAiVGhlIHNwZWNpZmllciBuYW1lIGlzIGEgYGBkb3R0ZWQgbmFtZScnIHRoYXQgbWF5IHJlc29sdmUgZWl0aGVyIHRvCiAgICAgIyBhIG1vZHVsZSwgYSB0ZXN0IGNhc2UgY2xhc3MsIGEgVGVzdFN1aXRlIGluc3RhbmNlLCBhIHRlc3QgbWV0aG9kCkBAIC0yNjksMTIgKzQ1NCwxMyBAQAogICAgIGRlZiB0ZXN0X2xvYWRUZXN0c0Zyb21OYW1lX19yZWxhdGl2ZV91bmtub3duX25hbWUoc2VsZik6CiAgICAgICAgIGxvYWRlciA9IHVuaXR0ZXN0LlRlc3RMb2FkZXIoKQogCi0gICAgICAgIHRyeToKLSAgICAgICAgICAgIGxvYWRlci5sb2FkVGVzdHNGcm9tTmFtZSgnc2Rhc2Zhc2Zhc2RmJywgdW5pdHRlc3QpCi0gICAgICAgIGV4Y2VwdCBBdHRyaWJ1dGVFcnJvciBhcyBlOgotICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdHIoZSksICInbW9kdWxlJyBvYmplY3QgaGFzIG5vIGF0dHJpYnV0ZSAnc2Rhc2Zhc2Zhc2RmJyIpCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBzZWxmLmZhaWwoIlRlc3RMb2FkZXIubG9hZFRlc3RzRnJvbU5hbWUgZmFpbGVkIHRvIHJhaXNlIEF0dHJpYnV0ZUVycm9yIikKKyAgICAgICAgc3VpdGUgPSBsb2FkZXIubG9hZFRlc3RzRnJvbU5hbWUoJ3NkYXNmYXNmYXNkZicsIHVuaXR0ZXN0KQorICAgICAgICBleHBlY3RlZCA9ICJtb2R1bGUgJ3VuaXR0ZXN0JyBoYXMgbm8gYXR0cmlidXRlICdzZGFzZmFzZmFzZGYnIgorICAgICAgICBlcnJvciwgdGVzdCA9IHNlbGYuY2hlY2tfZGVmZXJyZWRfZXJyb3IobG9hZGVyLCBzdWl0ZSkKKyAgICAgICAgc2VsZi5hc3NlcnRJbigKKyAgICAgICAgICAgIGV4cGVjdGVkLCBlcnJvciwKKyAgICAgICAgICAgICdtaXNzaW5nIGVycm9yIHN0cmluZyBpbiAlcicgJSBlcnJvcikKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXNSZWdleChBdHRyaWJ1dGVFcnJvciwgZXhwZWN0ZWQsIHRlc3Quc2Rhc2Zhc2Zhc2RmKQogCiAgICAgIyAiVGhlIHNwZWNpZmllciBuYW1lIGlzIGEgYGBkb3R0ZWQgbmFtZScnIHRoYXQgbWF5IHJlc29sdmUgZWl0aGVyIHRvCiAgICAgIyBhIG1vZHVsZSwgYSB0ZXN0IGNhc2UgY2xhc3MsIGEgVGVzdFN1aXRlIGluc3RhbmNlLCBhIHRlc3QgbWV0aG9kCkBAIC0yOTAsMTIgKzQ3NiwxMyBAQAogICAgIGRlZiB0ZXN0X2xvYWRUZXN0c0Zyb21OYW1lX19yZWxhdGl2ZV9lbXB0eV9uYW1lKHNlbGYpOgogICAgICAgICBsb2FkZXIgPSB1bml0dGVzdC5UZXN0TG9hZGVyKCkKIAotICAgICAgICB0cnk6Ci0gICAgICAgICAgICBsb2FkZXIubG9hZFRlc3RzRnJvbU5hbWUoJycsIHVuaXR0ZXN0KQotICAgICAgICBleGNlcHQgQXR0cmlidXRlRXJyb3IgYXMgZToKLSAgICAgICAgICAgIHBhc3MKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHNlbGYuZmFpbCgiRmFpbGVkIHRvIHJhaXNlIEF0dHJpYnV0ZUVycm9yIikKKyAgICAgICAgc3VpdGUgPSBsb2FkZXIubG9hZFRlc3RzRnJvbU5hbWUoJycsIHVuaXR0ZXN0KQorICAgICAgICBlcnJvciwgdGVzdCA9IHNlbGYuY2hlY2tfZGVmZXJyZWRfZXJyb3IobG9hZGVyLCBzdWl0ZSkKKyAgICAgICAgZXhwZWN0ZWQgPSAiaGFzIG5vIGF0dHJpYnV0ZSAnJyIKKyAgICAgICAgc2VsZi5hc3NlcnRJbigKKyAgICAgICAgICAgIGV4cGVjdGVkLCBlcnJvciwKKyAgICAgICAgICAgICdtaXNzaW5nIGVycm9yIHN0cmluZyBpbiAlcicgJSBlcnJvcikKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXNSZWdleChBdHRyaWJ1dGVFcnJvciwgZXhwZWN0ZWQsIGdldGF0dHIodGVzdCwgJycpKQogCiAgICAgIyAiVGhlIHNwZWNpZmllciBuYW1lIGlzIGEgYGBkb3R0ZWQgbmFtZScnIHRoYXQgbWF5IHJlc29sdmUgZWl0aGVyIHRvCiAgICAgIyBhIG1vZHVsZSwgYSB0ZXN0IGNhc2UgY2xhc3MsIGEgVGVzdFN1aXRlIGluc3RhbmNlLCBhIHRlc3QgbWV0aG9kCkBAIC0zMTAsMTQgKzQ5NywxNSBAQAogICAgICAgICBsb2FkZXIgPSB1bml0dGVzdC5UZXN0TG9hZGVyKCkKIAogICAgICAgICAjIFhYWCBTaG91bGQgdGhpcyByYWlzZSBBdHRyaWJ1dGVFcnJvciBvciBWYWx1ZUVycm9yPwotICAgICAgICB0cnk6Ci0gICAgICAgICAgICBsb2FkZXIubG9hZFRlc3RzRnJvbU5hbWUoJ2FiYyAoKSAvLycsIHVuaXR0ZXN0KQotICAgICAgICBleGNlcHQgVmFsdWVFcnJvcjoKLSAgICAgICAgICAgIHBhc3MKLSAgICAgICAgZXhjZXB0IEF0dHJpYnV0ZUVycm9yOgotICAgICAgICAgICAgcGFzcwotICAgICAgICBlbHNlOgotICAgICAgICAgICAgc2VsZi5mYWlsKCJUZXN0TG9hZGVyLmxvYWRUZXN0c0Zyb21OYW1lIGZhaWxlZCB0byByYWlzZSBWYWx1ZUVycm9yIikKKyAgICAgICAgc3VpdGUgPSBsb2FkZXIubG9hZFRlc3RzRnJvbU5hbWUoJ2FiYyAoKSAvLycsIHVuaXR0ZXN0KQorICAgICAgICBlcnJvciwgdGVzdCA9IHNlbGYuY2hlY2tfZGVmZXJyZWRfZXJyb3IobG9hZGVyLCBzdWl0ZSkKKyAgICAgICAgZXhwZWN0ZWQgPSAibW9kdWxlICd1bml0dGVzdCcgaGFzIG5vIGF0dHJpYnV0ZSAnYWJjICgpIC8vJyIKKyAgICAgICAgZXhwZWN0ZWRfcmVnZXggPSAibW9kdWxlICd1bml0dGVzdCcgaGFzIG5vIGF0dHJpYnV0ZSAnYWJjIFwoXCkgLy8nIgorICAgICAgICBzZWxmLmFzc2VydEluKAorICAgICAgICAgICAgZXhwZWN0ZWQsIGVycm9yLAorICAgICAgICAgICAgJ21pc3NpbmcgZXJyb3Igc3RyaW5nIGluICVyJyAlIGVycm9yKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlc1JlZ2V4KAorICAgICAgICAgICAgQXR0cmlidXRlRXJyb3IsIGV4cGVjdGVkX3JlZ2V4LCBnZXRhdHRyKHRlc3QsICdhYmMgKCkgLy8nKSkKIAogICAgICMgIlRoZSBtZXRob2Qgb3B0aW9uYWxseSByZXNvbHZlcyBuYW1lIHJlbGF0aXZlIHRvIHRoZSBnaXZlbiBtb2R1bGUiCiAgICAgIwpAQCAtNDIzLDEyICs2MTEsMTMgQEAKICAgICAgICAgbS50ZXN0Y2FzZV8xID0gTXlUZXN0Q2FzZQogCiAgICAgICAgIGxvYWRlciA9IHVuaXR0ZXN0LlRlc3RMb2FkZXIoKQotICAgICAgICB0cnk6Ci0gICAgICAgICAgICBsb2FkZXIubG9hZFRlc3RzRnJvbU5hbWUoJ3Rlc3RjYXNlXzEudGVzdGZvbycsIG0pCi0gICAgICAgIGV4Y2VwdCBBdHRyaWJ1dGVFcnJvciBhcyBlOgotICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdHIoZSksICJ0eXBlIG9iamVjdCAnTXlUZXN0Q2FzZScgaGFzIG5vIGF0dHJpYnV0ZSAndGVzdGZvbyciKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgc2VsZi5mYWlsKCJGYWlsZWQgdG8gcmFpc2UgQXR0cmlidXRlRXJyb3IiKQorICAgICAgICBzdWl0ZSA9IGxvYWRlci5sb2FkVGVzdHNGcm9tTmFtZSgndGVzdGNhc2VfMS50ZXN0Zm9vJywgbSkKKyAgICAgICAgZXhwZWN0ZWQgPSAidHlwZSBvYmplY3QgJ015VGVzdENhc2UnIGhhcyBubyBhdHRyaWJ1dGUgJ3Rlc3Rmb28nIgorICAgICAgICBlcnJvciwgdGVzdCA9IHNlbGYuY2hlY2tfZGVmZXJyZWRfZXJyb3IobG9hZGVyLCBzdWl0ZSkKKyAgICAgICAgc2VsZi5hc3NlcnRJbigKKyAgICAgICAgICAgIGV4cGVjdGVkLCBlcnJvciwKKyAgICAgICAgICAgICdtaXNzaW5nIGVycm9yIHN0cmluZyBpbiAlcicgJSBlcnJvcikKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXNSZWdleChBdHRyaWJ1dGVFcnJvciwgZXhwZWN0ZWQsIHRlc3QudGVzdGZvbykKIAogICAgICMgIlRoZSBzcGVjaWZpZXIgbmFtZSBpcyBhIGBgZG90dGVkIG5hbWUnJyB0aGF0IG1heSByZXNvbHZlIC4uLiB0bwogICAgICMgLi4uIGEgY2FsbGFibGUgb2JqZWN0IHdoaWNoIHJldHVybnMgYSAuLi4gVGVzdFN1aXRlIGluc3RhbmNlIgpAQCAtNTQ2LDYgKzczNSwyMyBAQAogICAgICMjIyBUZXN0cyBmb3IgVGVzdExvYWRlci5sb2FkVGVzdHNGcm9tTmFtZXMoKQogICAgICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIAorICAgIGRlZiBjaGVja19kZWZlcnJlZF9lcnJvcihzZWxmLCBsb2FkZXIsIHN1aXRlKToKKyAgICAgICAgIiIiSGVscGVyIGZ1bmN0aW9uIGZvciBjaGVja2luZyB0aGF0IGVycm9ycyBpbiBsb2FkaW5nIGFyZSByZXBvcnRlZC4KKworICAgICAgICA6cGFyYW0gbG9hZGVyOiBBIGxvYWRlciB3aXRoIHNvbWUgZXJyb3JzLgorICAgICAgICA6cGFyYW0gc3VpdGU6IEEgc3VpdGUgdGhhdCBzaG91bGQgaGF2ZSBhIGxhdGUgYm91bmQgZXJyb3IuCisgICAgICAgIDpyZXR1cm46IFRoZSBmaXJzdCBlcnJvciBtZXNzYWdlIGZyb20gdGhlIGxvYWRlciBhbmQgdGhlIHRlc3Qgb2JqZWN0CisgICAgICAgICAgICBmcm9tIHRoZSBzdWl0ZS4KKyAgICAgICAgIiIiCisgICAgICAgIHNlbGYuYXNzZXJ0SXNJbnN0YW5jZShzdWl0ZSwgdW5pdHRlc3QuVGVzdFN1aXRlKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN1aXRlLmNvdW50VGVzdENhc2VzKCksIDEpCisgICAgICAgICMgRXJyb3JzIGxvYWRpbmcgdGhlIHN1aXRlIGFyZSBhbHNvIGNhcHR1cmVkIGZvciBpbnRyb3NwZWN0aW9uLgorICAgICAgICBzZWxmLmFzc2VydE5vdEVxdWFsKFtdLCBsb2FkZXIuZXJyb3JzKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKDEsIGxlbihsb2FkZXIuZXJyb3JzKSkKKyAgICAgICAgZXJyb3IgPSBsb2FkZXIuZXJyb3JzWzBdCisgICAgICAgIHRlc3QgPSBsaXN0KHN1aXRlKVswXQorICAgICAgICByZXR1cm4gZXJyb3IsIHRlc3QKKwogICAgICMgIlNpbWlsYXIgdG8gbG9hZFRlc3RzRnJvbU5hbWUoKSwgYnV0IHRha2VzIGEgc2VxdWVuY2Ugb2YgbmFtZXMgcmF0aGVyCiAgICAgIyB0aGFuIGEgc2luZ2xlIG5hbWUuIgogICAgICMKQEAgLTU5OCwxNCArODA0LDE1IEBACiAgICAgICAgIGxvYWRlciA9IHVuaXR0ZXN0LlRlc3RMb2FkZXIoKQogCiAgICAgICAgICMgWFhYIFNob3VsZCB0aGlzIHJhaXNlIFZhbHVlRXJyb3Igb3IgSW1wb3J0RXJyb3I/Ci0gICAgICAgIHRyeToKLSAgICAgICAgICAgIGxvYWRlci5sb2FkVGVzdHNGcm9tTmFtZXMoWydhYmMgKCkgLy8nXSkKLSAgICAgICAgZXhjZXB0IFZhbHVlRXJyb3I6Ci0gICAgICAgICAgICBwYXNzCi0gICAgICAgIGV4Y2VwdCBJbXBvcnRFcnJvcjoKLSAgICAgICAgICAgIHBhc3MKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHNlbGYuZmFpbCgiVGVzdExvYWRlci5sb2FkVGVzdHNGcm9tTmFtZXMgZmFpbGVkIHRvIHJhaXNlIFZhbHVlRXJyb3IiKQorICAgICAgICBzdWl0ZSA9IGxvYWRlci5sb2FkVGVzdHNGcm9tTmFtZXMoWydhYmMgKCkgLy8nXSkKKyAgICAgICAgZXJyb3IsIHRlc3QgPSBzZWxmLmNoZWNrX2RlZmVycmVkX2Vycm9yKGxvYWRlciwgbGlzdChzdWl0ZSlbMF0pCisgICAgICAgIGV4cGVjdGVkID0gIkZhaWxlZCB0byBpbXBvcnQgdGVzdCBtb2R1bGU6IGFiYyAoKSAvLyIKKyAgICAgICAgZXhwZWN0ZWRfcmVnZXggPSAiRmFpbGVkIHRvIGltcG9ydCB0ZXN0IG1vZHVsZTogYWJjIFwoXCkgLy8iCisgICAgICAgIHNlbGYuYXNzZXJ0SW4oCisgICAgICAgICAgICBleHBlY3RlZCwgIGVycm9yLAorICAgICAgICAgICAgJ21pc3NpbmcgZXJyb3Igc3RyaW5nIGluICVyJyAlIGVycm9yKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlc1JlZ2V4KAorICAgICAgICAgICAgSW1wb3J0RXJyb3IsIGV4cGVjdGVkX3JlZ2V4LCBnZXRhdHRyKHRlc3QsICdhYmMgKCkgLy8nKSkKIAogICAgICMgIlRoZSBzcGVjaWZpZXIgbmFtZSBpcyBhIGBgZG90dGVkIG5hbWUnJyB0aGF0IG1heSByZXNvbHZlIGVpdGhlciB0bwogICAgICMgYSBtb2R1bGUsIGEgdGVzdCBjYXNlIGNsYXNzLCBhIFRlc3RTdWl0ZSBpbnN0YW5jZSwgYSB0ZXN0IG1ldGhvZApAQCAtNjE2LDEyICs4MjMsMTMgQEAKICAgICBkZWYgdGVzdF9sb2FkVGVzdHNGcm9tTmFtZXNfX3Vua25vd25fbW9kdWxlX25hbWUoc2VsZik6CiAgICAgICAgIGxvYWRlciA9IHVuaXR0ZXN0LlRlc3RMb2FkZXIoKQogCi0gICAgICAgIHRyeToKLSAgICAgICAgICAgIGxvYWRlci5sb2FkVGVzdHNGcm9tTmFtZXMoWydzZGFzZmFzZmFzZGYnXSkKLSAgICAgICAgZXhjZXB0IEltcG9ydEVycm9yIGFzIGU6Ci0gICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0cihlKSwgIk5vIG1vZHVsZSBuYW1lZCAnc2Rhc2Zhc2Zhc2RmJyIpCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBzZWxmLmZhaWwoIlRlc3RMb2FkZXIubG9hZFRlc3RzRnJvbU5hbWVzIGZhaWxlZCB0byByYWlzZSBJbXBvcnRFcnJvciIpCisgICAgICAgIHN1aXRlID0gbG9hZGVyLmxvYWRUZXN0c0Zyb21OYW1lcyhbJ3NkYXNmYXNmYXNkZiddKQorICAgICAgICBlcnJvciwgdGVzdCA9IHNlbGYuY2hlY2tfZGVmZXJyZWRfZXJyb3IobG9hZGVyLCBsaXN0KHN1aXRlKVswXSkKKyAgICAgICAgZXhwZWN0ZWQgPSAiRmFpbGVkIHRvIGltcG9ydCB0ZXN0IG1vZHVsZTogc2Rhc2Zhc2Zhc2RmIgorICAgICAgICBzZWxmLmFzc2VydEluKAorICAgICAgICAgICAgZXhwZWN0ZWQsIGVycm9yLAorICAgICAgICAgICAgJ21pc3NpbmcgZXJyb3Igc3RyaW5nIGluICVyJyAlIGVycm9yKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlc1JlZ2V4KEltcG9ydEVycm9yLCBleHBlY3RlZCwgdGVzdC5zZGFzZmFzZmFzZGYpCiAKICAgICAjICJUaGUgc3BlY2lmaWVyIG5hbWUgaXMgYSBgYGRvdHRlZCBuYW1lJycgdGhhdCBtYXkgcmVzb2x2ZSBlaXRoZXIgdG8KICAgICAjIGEgbW9kdWxlLCBhIHRlc3QgY2FzZSBjbGFzcywgYSBUZXN0U3VpdGUgaW5zdGFuY2UsIGEgdGVzdCBtZXRob2QKQEAgLTYzMiwxMiArODQwLDE0IEBACiAgICAgZGVmIHRlc3RfbG9hZFRlc3RzRnJvbU5hbWVzX191bmtub3duX2F0dHJfbmFtZShzZWxmKToKICAgICAgICAgbG9hZGVyID0gdW5pdHRlc3QuVGVzdExvYWRlcigpCiAKLSAgICAgICAgdHJ5OgotICAgICAgICAgICAgbG9hZGVyLmxvYWRUZXN0c0Zyb21OYW1lcyhbJ3VuaXR0ZXN0LnNkYXNmYXNmYXNkZicsICd1bml0dGVzdCddKQotICAgICAgICBleGNlcHQgQXR0cmlidXRlRXJyb3IgYXMgZToKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyKGUpLCAiJ21vZHVsZScgb2JqZWN0IGhhcyBubyBhdHRyaWJ1dGUgJ3NkYXNmYXNmYXNkZiciKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgc2VsZi5mYWlsKCJUZXN0TG9hZGVyLmxvYWRUZXN0c0Zyb21OYW1lcyBmYWlsZWQgdG8gcmFpc2UgQXR0cmlidXRlRXJyb3IiKQorICAgICAgICBzdWl0ZSA9IGxvYWRlci5sb2FkVGVzdHNGcm9tTmFtZXMoCisgICAgICAgICAgICBbJ3VuaXR0ZXN0LmxvYWRlci5zZGFzZmFzZmFzZGYnLCAndW5pdHRlc3QudGVzdC5kdW1teSddKQorICAgICAgICBlcnJvciwgdGVzdCA9IHNlbGYuY2hlY2tfZGVmZXJyZWRfZXJyb3IobG9hZGVyLCBsaXN0KHN1aXRlKVswXSkKKyAgICAgICAgZXhwZWN0ZWQgPSAibW9kdWxlICd1bml0dGVzdC5sb2FkZXInIGhhcyBubyBhdHRyaWJ1dGUgJ3NkYXNmYXNmYXNkZiciCisgICAgICAgIHNlbGYuYXNzZXJ0SW4oCisgICAgICAgICAgICBleHBlY3RlZCwgZXJyb3IsCisgICAgICAgICAgICAnbWlzc2luZyBlcnJvciBzdHJpbmcgaW4gJXInICUgZXJyb3IpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoQXR0cmlidXRlRXJyb3IsIGV4cGVjdGVkLCB0ZXN0LnNkYXNmYXNmYXNkZikKIAogICAgICMgIlRoZSBzcGVjaWZpZXIgbmFtZSBpcyBhIGBgZG90dGVkIG5hbWUnJyB0aGF0IG1heSByZXNvbHZlIGVpdGhlciB0bwogICAgICMgYSBtb2R1bGUsIGEgdGVzdCBjYXNlIGNsYXNzLCBhIFRlc3RTdWl0ZSBpbnN0YW5jZSwgYSB0ZXN0IG1ldGhvZApAQCAtNjUxLDEyICs4NjEsMTMgQEAKICAgICBkZWYgdGVzdF9sb2FkVGVzdHNGcm9tTmFtZXNfX3Vua25vd25fbmFtZV9yZWxhdGl2ZV8xKHNlbGYpOgogICAgICAgICBsb2FkZXIgPSB1bml0dGVzdC5UZXN0TG9hZGVyKCkKIAotICAgICAgICB0cnk6Ci0gICAgICAgICAgICBsb2FkZXIubG9hZFRlc3RzRnJvbU5hbWVzKFsnc2Rhc2Zhc2Zhc2RmJ10sIHVuaXR0ZXN0KQotICAgICAgICBleGNlcHQgQXR0cmlidXRlRXJyb3IgYXMgZToKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyKGUpLCAiJ21vZHVsZScgb2JqZWN0IGhhcyBubyBhdHRyaWJ1dGUgJ3NkYXNmYXNmYXNkZiciKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgc2VsZi5mYWlsKCJUZXN0TG9hZGVyLmxvYWRUZXN0c0Zyb21OYW1lIGZhaWxlZCB0byByYWlzZSBBdHRyaWJ1dGVFcnJvciIpCisgICAgICAgIHN1aXRlID0gbG9hZGVyLmxvYWRUZXN0c0Zyb21OYW1lcyhbJ3NkYXNmYXNmYXNkZiddLCB1bml0dGVzdCkKKyAgICAgICAgZXJyb3IsIHRlc3QgPSBzZWxmLmNoZWNrX2RlZmVycmVkX2Vycm9yKGxvYWRlciwgbGlzdChzdWl0ZSlbMF0pCisgICAgICAgIGV4cGVjdGVkID0gIm1vZHVsZSAndW5pdHRlc3QnIGhhcyBubyBhdHRyaWJ1dGUgJ3NkYXNmYXNmYXNkZiciCisgICAgICAgIHNlbGYuYXNzZXJ0SW4oCisgICAgICAgICAgICBleHBlY3RlZCwgZXJyb3IsCisgICAgICAgICAgICAnbWlzc2luZyBlcnJvciBzdHJpbmcgaW4gJXInICUgZXJyb3IpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoQXR0cmlidXRlRXJyb3IsIGV4cGVjdGVkLCB0ZXN0LnNkYXNmYXNmYXNkZikKIAogICAgICMgIlRoZSBzcGVjaWZpZXIgbmFtZSBpcyBhIGBgZG90dGVkIG5hbWUnJyB0aGF0IG1heSByZXNvbHZlIGVpdGhlciB0bwogICAgICMgYSBtb2R1bGUsIGEgdGVzdCBjYXNlIGNsYXNzLCBhIFRlc3RTdWl0ZSBpbnN0YW5jZSwgYSB0ZXN0IG1ldGhvZApAQCAtNjcwLDEyICs4ODEsMTMgQEAKICAgICBkZWYgdGVzdF9sb2FkVGVzdHNGcm9tTmFtZXNfX3Vua25vd25fbmFtZV9yZWxhdGl2ZV8yKHNlbGYpOgogICAgICAgICBsb2FkZXIgPSB1bml0dGVzdC5UZXN0TG9hZGVyKCkKIAotICAgICAgICB0cnk6Ci0gICAgICAgICAgICBsb2FkZXIubG9hZFRlc3RzRnJvbU5hbWVzKFsnVGVzdENhc2UnLCAnc2Rhc2Zhc2Zhc2RmJ10sIHVuaXR0ZXN0KQotICAgICAgICBleGNlcHQgQXR0cmlidXRlRXJyb3IgYXMgZToKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyKGUpLCAiJ21vZHVsZScgb2JqZWN0IGhhcyBubyBhdHRyaWJ1dGUgJ3NkYXNmYXNmYXNkZiciKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgc2VsZi5mYWlsKCJUZXN0TG9hZGVyLmxvYWRUZXN0c0Zyb21OYW1lIGZhaWxlZCB0byByYWlzZSBBdHRyaWJ1dGVFcnJvciIpCisgICAgICAgIHN1aXRlID0gbG9hZGVyLmxvYWRUZXN0c0Zyb21OYW1lcyhbJ1Rlc3RDYXNlJywgJ3NkYXNmYXNmYXNkZiddLCB1bml0dGVzdCkKKyAgICAgICAgZXJyb3IsIHRlc3QgPSBzZWxmLmNoZWNrX2RlZmVycmVkX2Vycm9yKGxvYWRlciwgbGlzdChzdWl0ZSlbMV0pCisgICAgICAgIGV4cGVjdGVkID0gIm1vZHVsZSAndW5pdHRlc3QnIGhhcyBubyBhdHRyaWJ1dGUgJ3NkYXNmYXNmYXNkZiciCisgICAgICAgIHNlbGYuYXNzZXJ0SW4oCisgICAgICAgICAgICBleHBlY3RlZCwgZXJyb3IsCisgICAgICAgICAgICAnbWlzc2luZyBlcnJvciBzdHJpbmcgaW4gJXInICUgZXJyb3IpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoQXR0cmlidXRlRXJyb3IsIGV4cGVjdGVkLCB0ZXN0LnNkYXNmYXNmYXNkZikKIAogICAgICMgIlRoZSBzcGVjaWZpZXIgbmFtZSBpcyBhIGBgZG90dGVkIG5hbWUnJyB0aGF0IG1heSByZXNvbHZlIGVpdGhlciB0bwogICAgICMgYSBtb2R1bGUsIGEgdGVzdCBjYXNlIGNsYXNzLCBhIFRlc3RTdWl0ZSBpbnN0YW5jZSwgYSB0ZXN0IG1ldGhvZApAQCAtNjkxLDEyICs5MDMsMTMgQEAKICAgICBkZWYgdGVzdF9sb2FkVGVzdHNGcm9tTmFtZXNfX3JlbGF0aXZlX2VtcHR5X25hbWUoc2VsZik6CiAgICAgICAgIGxvYWRlciA9IHVuaXR0ZXN0LlRlc3RMb2FkZXIoKQogCi0gICAgICAgIHRyeToKLSAgICAgICAgICAgIGxvYWRlci5sb2FkVGVzdHNGcm9tTmFtZXMoWycnXSwgdW5pdHRlc3QpCi0gICAgICAgIGV4Y2VwdCBBdHRyaWJ1dGVFcnJvcjoKLSAgICAgICAgICAgIHBhc3MKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHNlbGYuZmFpbCgiRmFpbGVkIHRvIHJhaXNlIFZhbHVlRXJyb3IiKQorICAgICAgICBzdWl0ZSA9IGxvYWRlci5sb2FkVGVzdHNGcm9tTmFtZXMoWycnXSwgdW5pdHRlc3QpCisgICAgICAgIGVycm9yLCB0ZXN0ID0gc2VsZi5jaGVja19kZWZlcnJlZF9lcnJvcihsb2FkZXIsIGxpc3Qoc3VpdGUpWzBdKQorICAgICAgICBleHBlY3RlZCA9ICJoYXMgbm8gYXR0cmlidXRlICcnIgorICAgICAgICBzZWxmLmFzc2VydEluKAorICAgICAgICAgICAgZXhwZWN0ZWQsIGVycm9yLAorICAgICAgICAgICAgJ21pc3NpbmcgZXJyb3Igc3RyaW5nIGluICVyJyAlIGVycm9yKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlc1JlZ2V4KEF0dHJpYnV0ZUVycm9yLCBleHBlY3RlZCwgZ2V0YXR0cih0ZXN0LCAnJykpCiAKICAgICAjICJUaGUgc3BlY2lmaWVyIG5hbWUgaXMgYSBgYGRvdHRlZCBuYW1lJycgdGhhdCBtYXkgcmVzb2x2ZSBlaXRoZXIgdG8KICAgICAjIGEgbW9kdWxlLCBhIHRlc3QgY2FzZSBjbGFzcywgYSBUZXN0U3VpdGUgaW5zdGFuY2UsIGEgdGVzdCBtZXRob2QKQEAgLTcxMCwxNCArOTIzLDE1IEBACiAgICAgICAgIGxvYWRlciA9IHVuaXR0ZXN0LlRlc3RMb2FkZXIoKQogCiAgICAgICAgICMgWFhYIFNob3VsZCB0aGlzIHJhaXNlIEF0dHJpYnV0ZUVycm9yIG9yIFZhbHVlRXJyb3I/Ci0gICAgICAgIHRyeToKLSAgICAgICAgICAgIGxvYWRlci5sb2FkVGVzdHNGcm9tTmFtZXMoWydhYmMgKCkgLy8nXSwgdW5pdHRlc3QpCi0gICAgICAgIGV4Y2VwdCBBdHRyaWJ1dGVFcnJvcjoKLSAgICAgICAgICAgIHBhc3MKLSAgICAgICAgZXhjZXB0IFZhbHVlRXJyb3I6Ci0gICAgICAgICAgICBwYXNzCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBzZWxmLmZhaWwoIlRlc3RMb2FkZXIubG9hZFRlc3RzRnJvbU5hbWVzIGZhaWxlZCB0byByYWlzZSBWYWx1ZUVycm9yIikKKyAgICAgICAgc3VpdGUgPSBsb2FkZXIubG9hZFRlc3RzRnJvbU5hbWVzKFsnYWJjICgpIC8vJ10sIHVuaXR0ZXN0KQorICAgICAgICBlcnJvciwgdGVzdCA9IHNlbGYuY2hlY2tfZGVmZXJyZWRfZXJyb3IobG9hZGVyLCBsaXN0KHN1aXRlKVswXSkKKyAgICAgICAgZXhwZWN0ZWQgPSAibW9kdWxlICd1bml0dGVzdCcgaGFzIG5vIGF0dHJpYnV0ZSAnYWJjICgpIC8vJyIKKyAgICAgICAgZXhwZWN0ZWRfcmVnZXggPSAibW9kdWxlICd1bml0dGVzdCcgaGFzIG5vIGF0dHJpYnV0ZSAnYWJjIFwoXCkgLy8nIgorICAgICAgICBzZWxmLmFzc2VydEluKAorICAgICAgICAgICAgZXhwZWN0ZWQsIGVycm9yLAorICAgICAgICAgICAgJ21pc3NpbmcgZXJyb3Igc3RyaW5nIGluICVyJyAlIGVycm9yKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlc1JlZ2V4KAorICAgICAgICAgICAgQXR0cmlidXRlRXJyb3IsIGV4cGVjdGVkX3JlZ2V4LCBnZXRhdHRyKHRlc3QsICdhYmMgKCkgLy8nKSkKIAogICAgICMgIlRoZSBtZXRob2Qgb3B0aW9uYWxseSByZXNvbHZlcyBuYW1lIHJlbGF0aXZlIHRvIHRoZSBnaXZlbiBtb2R1bGUiCiAgICAgIwpAQCAtODM1LDEyICsxMDQ5LDEzIEBACiAgICAgICAgIG0udGVzdGNhc2VfMSA9IE15VGVzdENhc2UKIAogICAgICAgICBsb2FkZXIgPSB1bml0dGVzdC5UZXN0TG9hZGVyKCkKLSAgICAgICAgdHJ5OgotICAgICAgICAgICAgbG9hZGVyLmxvYWRUZXN0c0Zyb21OYW1lcyhbJ3Rlc3RjYXNlXzEudGVzdGZvbyddLCBtKQotICAgICAgICBleGNlcHQgQXR0cmlidXRlRXJyb3IgYXMgZToKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyKGUpLCAidHlwZSBvYmplY3QgJ015VGVzdENhc2UnIGhhcyBubyBhdHRyaWJ1dGUgJ3Rlc3Rmb28nIikKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHNlbGYuZmFpbCgiRmFpbGVkIHRvIHJhaXNlIEF0dHJpYnV0ZUVycm9yIikKKyAgICAgICAgc3VpdGUgPSBsb2FkZXIubG9hZFRlc3RzRnJvbU5hbWVzKFsndGVzdGNhc2VfMS50ZXN0Zm9vJ10sIG0pCisgICAgICAgIGVycm9yLCB0ZXN0ID0gc2VsZi5jaGVja19kZWZlcnJlZF9lcnJvcihsb2FkZXIsIGxpc3Qoc3VpdGUpWzBdKQorICAgICAgICBleHBlY3RlZCA9ICJ0eXBlIG9iamVjdCAnTXlUZXN0Q2FzZScgaGFzIG5vIGF0dHJpYnV0ZSAndGVzdGZvbyciCisgICAgICAgIHNlbGYuYXNzZXJ0SW4oCisgICAgICAgICAgICBleHBlY3RlZCwgZXJyb3IsCisgICAgICAgICAgICAnbWlzc2luZyBlcnJvciBzdHJpbmcgaW4gJXInICUgZXJyb3IpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoQXR0cmlidXRlRXJyb3IsIGV4cGVjdGVkLCB0ZXN0LnRlc3Rmb28pCiAKICAgICAjICJUaGUgc3BlY2lmaWVyIG5hbWUgaXMgYSBgYGRvdHRlZCBuYW1lJycgdGhhdCBtYXkgcmVzb2x2ZSAuLi4gdG8KICAgICAjIC4uLiBhIGNhbGxhYmxlIG9iamVjdCB3aGljaCByZXR1cm5zIGEgLi4uIFRlc3RTdWl0ZSBpbnN0YW5jZSIKZGlmZiAtLWdpdCBhL0xpYi91bml0dGVzdC90ZXN0L3Rlc3RfcHJvZ3JhbS5weSBiL0xpYi91bml0dGVzdC90ZXN0L3Rlc3RfcHJvZ3JhbS5weQppbmRleCA3MjVkNjdmLi4xY2ZjMTc5IDEwMDY0NAotLS0gYS9MaWIvdW5pdHRlc3QvdGVzdC90ZXN0X3Byb2dyYW0ucHkKKysrIGIvTGliL3VuaXR0ZXN0L3Rlc3QvdGVzdF9wcm9ncmFtLnB5CkBAIC0xMzQsNiArMTM0LDcgQEAKICAgICByZXN1bHQgPSBOb25lCiAgICAgdmVyYm9zaXR5ID0gMQogICAgIGRlZmF1bHRUZXN0ID0gTm9uZQorICAgIHRiX2xvY2FscyA9IEZhbHNlCiAgICAgdGVzdFJ1bm5lciA9IE5vbmUKICAgICB0ZXN0TG9hZGVyID0gdW5pdHRlc3QuZGVmYXVsdFRlc3RMb2FkZXIKICAgICBtb2R1bGUgPSAnX19tYWluX18nCkBAIC0xNDcsMTggKzE0OCwxOSBAQAogY2xhc3MgRmFrZVJ1bm5lcihvYmplY3QpOgogICAgIGluaXRBcmdzID0gTm9uZQogICAgIHRlc3QgPSBOb25lCi0gICAgcmFpc2VFcnJvciA9IEZhbHNlCisgICAgcmFpc2VFcnJvciA9IDAKIAogICAgIGRlZiBfX2luaXRfXyhzZWxmLCAqKmt3YXJncyk6CiAgICAgICAgIEZha2VSdW5uZXIuaW5pdEFyZ3MgPSBrd2FyZ3MKICAgICAgICAgaWYgRmFrZVJ1bm5lci5yYWlzZUVycm9yOgotICAgICAgICAgICAgRmFrZVJ1bm5lci5yYWlzZUVycm9yID0gRmFsc2UKKyAgICAgICAgICAgIEZha2VSdW5uZXIucmFpc2VFcnJvciAtPSAxCiAgICAgICAgICAgICByYWlzZSBUeXBlRXJyb3IKIAogICAgIGRlZiBydW4oc2VsZiwgdGVzdCk6CiAgICAgICAgIEZha2VSdW5uZXIudGVzdCA9IHRlc3QKICAgICAgICAgcmV0dXJuIFJFU1VMVAogCisKIGNsYXNzIFRlc3RDb21tYW5kTGluZUFyZ3ModW5pdHRlc3QuVGVzdENhc2UpOgogCiAgICAgZGVmIHNldFVwKHNlbGYpOgpAQCAtMTY2LDcgKzE2OCw3IEBACiAgICAgICAgIHNlbGYucHJvZ3JhbS5jcmVhdGVUZXN0cyA9IGxhbWJkYTogTm9uZQogICAgICAgICBGYWtlUnVubmVyLmluaXRBcmdzID0gTm9uZQogICAgICAgICBGYWtlUnVubmVyLnRlc3QgPSBOb25lCi0gICAgICAgIEZha2VSdW5uZXIucmFpc2VFcnJvciA9IEZhbHNlCisgICAgICAgIEZha2VSdW5uZXIucmFpc2VFcnJvciA9IDAKIAogICAgIGRlZiB0ZXN0VmVyYm9zaXR5KHNlbGYpOgogICAgICAgICBwcm9ncmFtID0gc2VsZi5wcm9ncmFtCkBAIC0yNTYsNiArMjU4LDcgQEAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChGYWtlUnVubmVyLmluaXRBcmdzLCB7J3ZlcmJvc2l0eSc6ICd2ZXJib3NpdHknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZhaWxmYXN0JzogJ2ZhaWxmYXN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdidWZmZXInOiAnYnVmZmVyJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0Yl9sb2NhbHMnOiBGYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd3YXJuaW5ncyc6ICd3YXJuaW5ncyd9KQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKEZha2VSdW5uZXIudGVzdCwgJ3Rlc3QnKQogICAgICAgICBzZWxmLmFzc2VydElzKHByb2dyYW0ucmVzdWx0LCBSRVNVTFQpCkBAIC0yNzQsMTAgKzI3NywyNSBAQAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKEZha2VSdW5uZXIudGVzdCwgJ3Rlc3QnKQogICAgICAgICBzZWxmLmFzc2VydElzKHByb2dyYW0ucmVzdWx0LCBSRVNVTFQpCiAKKyAgICBkZWYgdGVzdF9sb2NhbHMoc2VsZik6CisgICAgICAgIHByb2dyYW0gPSBzZWxmLnByb2dyYW0KKworICAgICAgICBwcm9ncmFtLnRlc3RSdW5uZXIgPSBGYWtlUnVubmVyCisgICAgICAgIHByb2dyYW0ucGFyc2VBcmdzKFtOb25lLCAnLS1sb2NhbHMnXSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChUcnVlLCBwcm9ncmFtLnRiX2xvY2FscykKKyAgICAgICAgcHJvZ3JhbS5ydW5UZXN0cygpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoRmFrZVJ1bm5lci5pbml0QXJncywgeydidWZmZXInOiBGYWxzZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZhaWxmYXN0JzogRmFsc2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0Yl9sb2NhbHMnOiBUcnVlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndmVyYm9zaXR5JzogMSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3dhcm5pbmdzJzogTm9uZX0pCisKICAgICBkZWYgdGVzdFJ1blRlc3RzT2xkUnVubmVyQ2xhc3Moc2VsZik6CiAgICAgICAgIHByb2dyYW0gPSBzZWxmLnByb2dyYW0KIAotICAgICAgICBGYWtlUnVubmVyLnJhaXNlRXJyb3IgPSBUcnVlCisgICAgICAgICMgVHdvIFR5cGVFcnJvcnMgYXJlIG5lZWRlZCB0byBmYWxsIGFsbCB0aGUgd2F5IGJhY2sgdG8gb2xkLXN0eWxlCisgICAgICAgICMgcnVubmVycyAtIG9uZSB0byBmYWlsIHRiX2xvY2Fscywgb25lIHRvIGZhaWwgYnVmZmVyIGV0Yy4KKyAgICAgICAgRmFrZVJ1bm5lci5yYWlzZUVycm9yID0gMgogICAgICAgICBwcm9ncmFtLnRlc3RSdW5uZXIgPSBGYWtlUnVubmVyCiAgICAgICAgIHByb2dyYW0udmVyYm9zaXR5ID0gJ3ZlcmJvc2l0eScKICAgICAgICAgcHJvZ3JhbS5mYWlsZmFzdCA9ICdmYWlsZmFzdCcKZGlmZiAtLWdpdCBhL0xpYi91bml0dGVzdC90ZXN0L3Rlc3RfcmVzdWx0LnB5IGIvTGliL3VuaXR0ZXN0L3Rlc3QvdGVzdF9yZXN1bHQucHkKaW5kZXggNDg5ZmUxNy4uZTM5ZTJlYSAxMDA2NDQKLS0tIGEvTGliL3VuaXR0ZXN0L3Rlc3QvdGVzdF9yZXN1bHQucHkKKysrIGIvTGliL3VuaXR0ZXN0L3Rlc3QvdGVzdF9yZXN1bHQucHkKQEAgLTgsNiArOCwyMCBAQAogaW1wb3J0IHVuaXR0ZXN0CiAKIAorY2xhc3MgTW9ja1RyYWNlYmFjayhvYmplY3QpOgorICAgIGNsYXNzIFRyYWNlYmFja0V4Y2VwdGlvbjoKKyAgICAgICAgZGVmIF9faW5pdF9fKHNlbGYsICphcmdzLCAqKmt3YXJncyk6CisgICAgICAgICAgICBzZWxmLmNhcHR1cmVfbG9jYWxzID0ga3dhcmdzLmdldCgnY2FwdHVyZV9sb2NhbHMnLCBGYWxzZSkKKyAgICAgICAgZGVmIGZvcm1hdChzZWxmKToKKyAgICAgICAgICAgIHJlc3VsdCA9IFsnQSB0cmFjZWJhY2snXQorICAgICAgICAgICAgaWYgc2VsZi5jYXB0dXJlX2xvY2FsczoKKyAgICAgICAgICAgICAgICByZXN1bHQuYXBwZW5kKCdsb2NhbHMnKQorICAgICAgICAgICAgcmV0dXJuIHJlc3VsdAorCitkZWYgcmVzdG9yZV90cmFjZWJhY2soKToKKyAgICB1bml0dGVzdC5yZXN1bHQudHJhY2ViYWNrID0gdHJhY2ViYWNrCisKKwogY2xhc3MgVGVzdF9UZXN0UmVzdWx0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAjIE5vdGU6IHRoZXJlIGFyZSBub3Qgc2VwYXJhdGUgdGVzdHMgZm9yIFRlc3RSZXN1bHQud2FzU3VjY2Vzc2Z1bCgpLAogICAgICMgVGVzdFJlc3VsdC5lcnJvcnMsIFRlc3RSZXN1bHQuZmFpbHVyZXMsIFRlc3RSZXN1bHQudGVzdHNSdW4gb3IKQEAgLTIyNyw2ICsyNDEsMjUgQEAKICAgICAgICAgc2VsZi5hc3NlcnRJcyh0ZXN0X2Nhc2UsIHRlc3QpCiAgICAgICAgIHNlbGYuYXNzZXJ0SXNJbnN0YW5jZShmb3JtYXR0ZWRfZXhjLCBzdHIpCiAKKyAgICBkZWYgdGVzdF9hZGRFcnJvcl9sb2NhbHMoc2VsZik6CisgICAgICAgIGNsYXNzIEZvbyh1bml0dGVzdC5UZXN0Q2FzZSk6CisgICAgICAgICAgICBkZWYgdGVzdF8xKHNlbGYpOgorICAgICAgICAgICAgICAgIDEvMAorCisgICAgICAgIHRlc3QgPSBGb28oJ3Rlc3RfMScpCisgICAgICAgIHJlc3VsdCA9IHVuaXR0ZXN0LlRlc3RSZXN1bHQoKQorICAgICAgICByZXN1bHQudGJfbG9jYWxzID0gVHJ1ZQorCisgICAgICAgIHVuaXR0ZXN0LnJlc3VsdC50cmFjZWJhY2sgPSBNb2NrVHJhY2ViYWNrCisgICAgICAgIHNlbGYuYWRkQ2xlYW51cChyZXN0b3JlX3RyYWNlYmFjaykKKyAgICAgICAgcmVzdWx0LnN0YXJ0VGVzdFJ1bigpCisgICAgICAgIHRlc3QucnVuKHJlc3VsdCkKKyAgICAgICAgcmVzdWx0LnN0b3BUZXN0UnVuKCkKKworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihyZXN1bHQuZXJyb3JzKSwgMSkKKyAgICAgICAgdGVzdF9jYXNlLCBmb3JtYXR0ZWRfZXhjID0gcmVzdWx0LmVycm9yc1swXQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCdBIHRyYWNlYmFja2xvY2FscycsIGZvcm1hdHRlZF9leGMpCisKICAgICBkZWYgdGVzdF9hZGRTdWJUZXN0KHNlbGYpOgogICAgICAgICBjbGFzcyBGb28odW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICAgICAgZGVmIHRlc3RfMShzZWxmKToKQEAgLTM5OCw2ICs0MzEsNyBAQAogICAgIHNlbGYudGVzdHNSdW4gPSAwCiAgICAgc2VsZi5zaG91bGRTdG9wID0gRmFsc2UKICAgICBzZWxmLmJ1ZmZlciA9IEZhbHNlCisgICAgc2VsZi50Yl9sb2NhbHMgPSBGYWxzZQogCiBjbGFzc0RpY3RbJ19faW5pdF9fJ10gPSBfX2luaXRfXwogT2xkUmVzdWx0ID0gdHlwZSgnT2xkUmVzdWx0JywgKG9iamVjdCwpLCBjbGFzc0RpY3QpCkBAIC00NTQsMTUgKzQ4OCw2IEBACiAgICAgICAgIHJ1bm5lci5ydW4oVGVzdCgndGVzdEZvbycpKQogCiAKLWNsYXNzIE1vY2tUcmFjZWJhY2sob2JqZWN0KToKLSAgICBAc3RhdGljbWV0aG9kCi0gICAgZGVmIGZvcm1hdF9leGNlcHRpb24oKl8pOgotICAgICAgICByZXR1cm4gWydBIHRyYWNlYmFjayddCi0KLWRlZiByZXN0b3JlX3RyYWNlYmFjaygpOgotICAgIHVuaXR0ZXN0LnJlc3VsdC50cmFjZWJhY2sgPSB0cmFjZWJhY2sKLQotCiBjbGFzcyBUZXN0T3V0cHV0QnVmZmVyaW5nKHVuaXR0ZXN0LlRlc3RDYXNlKToKIAogICAgIGRlZiBzZXRVcChzZWxmKToKZGlmZiAtLWdpdCBhL0xpYi91bml0dGVzdC90ZXN0L3Rlc3RfcnVubmVyLnB5IGIvTGliL3VuaXR0ZXN0L3Rlc3QvdGVzdF9ydW5uZXIucHkKaW5kZXggN2MwYmQ1MS4uOWNiYzI2MCAxMDA2NDQKLS0tIGEvTGliL3VuaXR0ZXN0L3Rlc3QvdGVzdF9ydW5uZXIucHkKKysrIGIvTGliL3VuaXR0ZXN0L3Rlc3QvdGVzdF9ydW5uZXIucHkKQEAgLTE1OCw3ICsxNTgsNyBAQAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJ1bm5lci53YXJuaW5ncywgTm9uZSkKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHJ1bm5lci5kZXNjcmlwdGlvbnMpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocnVubmVyLnJlc3VsdGNsYXNzLCB1bml0dGVzdC5UZXh0VGVzdFJlc3VsdCkKLQorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKHJ1bm5lci50Yl9sb2NhbHMpCiAKICAgICBkZWYgdGVzdF9tdWx0aXBsZV9pbmhlcml0YW5jZShzZWxmKToKICAgICAgICAgY2xhc3MgQVJlc3VsdCh1bml0dGVzdC5UZXN0UmVzdWx0KToKQEAgLTE3MiwxNCArMTcyLDEzIEBACiAgICAgICAgICMgb24gYXJndW1lbnRzIGluIGl0cyBfX2luaXRfXyBzdXBlciBjYWxsCiAgICAgICAgIEFUZXh0UmVzdWx0KE5vbmUsIE5vbmUsIDEpCiAKLQogICAgIGRlZiB0ZXN0QnVmZmVyQW5kRmFpbGZhc3Qoc2VsZik6CiAgICAgICAgIGNsYXNzIFRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICAgICAgZGVmIHRlc3RGb28oc2VsZik6CiAgICAgICAgICAgICAgICAgcGFzcwogICAgICAgICByZXN1bHQgPSB1bml0dGVzdC5UZXN0UmVzdWx0KCkKICAgICAgICAgcnVubmVyID0gdW5pdHRlc3QuVGV4dFRlc3RSdW5uZXIoc3RyZWFtPWlvLlN0cmluZ0lPKCksIGZhaWxmYXN0PVRydWUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVmZmVyPVRydWUpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1ZmZlcj1UcnVlKQogICAgICAgICAjIFVzZSBvdXIgcmVzdWx0IG9iamVjdAogICAgICAgICBydW5uZXIuX21ha2VSZXN1bHQgPSBsYW1iZGE6IHJlc3VsdAogICAgICAgICBydW5uZXIucnVuKFRlc3QoJ3Rlc3RGb28nKSkKQEAgLTE4Nyw2ICsxODYsMTEgQEAKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHJlc3VsdC5mYWlsZmFzdCkKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHJlc3VsdC5idWZmZXIpCiAKKyAgICBkZWYgdGVzdF9sb2NhbHMoc2VsZik6CisgICAgICAgIHJ1bm5lciA9IHVuaXR0ZXN0LlRleHRUZXN0UnVubmVyKHN0cmVhbT1pby5TdHJpbmdJTygpLCB0Yl9sb2NhbHM9VHJ1ZSkKKyAgICAgICAgcmVzdWx0ID0gcnVubmVyLnJ1bih1bml0dGVzdC5UZXN0U3VpdGUoKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChUcnVlLCByZXN1bHQudGJfbG9jYWxzKQorCiAgICAgZGVmIHRlc3RSdW5uZXJSZWdpc3RlcnNSZXN1bHQoc2VsZik6CiAgICAgICAgIGNsYXNzIFRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICAgICAgZGVmIHRlc3RGb28oc2VsZik6CmRpZmYgLS1naXQgYS9MaWIvdW5pdHRlc3QvdGVzdC90ZXN0X3NldHVwcy5weSBiL0xpYi91bml0dGVzdC90ZXN0L3Rlc3Rfc2V0dXBzLnB5CmluZGV4IDM5MmY5NWUuLjJkZjcwM2UgMTAwNjQ0Ci0tLSBhL0xpYi91bml0dGVzdC90ZXN0L3Rlc3Rfc2V0dXBzLnB5CisrKyBiL0xpYi91bml0dGVzdC90ZXN0L3Rlc3Rfc2V0dXBzLnB5CkBAIC0xMTEsNyArMTExLDcgQEAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4ocmVzdWx0LmVycm9ycyksIDEpCiAgICAgICAgIGVycm9yLCBfID0gcmVzdWx0LmVycm9yc1swXQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0cihlcnJvciksCi0gICAgICAgICAgICAgICAgICAgICdzZXRVcENsYXNzICglcy5Ccm9rZW5UZXN0KScgJSBfX25hbWVfXykKKyAgICAgICAgICAgICAgICAgICAgJ3NldFVwQ2xhc3MgKCVzLiVzKScgJSAoX19uYW1lX18sIEJyb2tlblRlc3QuX19xdWFsbmFtZV9fKSkKIAogICAgIGRlZiB0ZXN0X2Vycm9yX2luX3RlYXJkb3duX2NsYXNzKHNlbGYpOgogICAgICAgICBjbGFzcyBUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKQEAgLTE0NCw3ICsxNDQsNyBAQAogCiAgICAgICAgIGVycm9yLCBfID0gcmVzdWx0LmVycm9yc1swXQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0cihlcnJvciksCi0gICAgICAgICAgICAgICAgICAgICd0ZWFyRG93bkNsYXNzICglcy5UZXN0KScgJSBfX25hbWVfXykKKyAgICAgICAgICAgICAgICAgICAgJ3RlYXJEb3duQ2xhc3MgKCVzLiVzKScgJSAoX19uYW1lX18sIFRlc3QuX19xdWFsbmFtZV9fKSkKIAogICAgIGRlZiB0ZXN0X2NsYXNzX25vdF90b3JuZG93bl93aGVuX3NldHVwX2ZhaWxzKHNlbGYpOgogICAgICAgICBjbGFzcyBUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKQEAgLTQxNCw3ICs0MTQsOCBAQAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihyZXN1bHQuZXJyb3JzKSwgMCkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4ocmVzdWx0LnNraXBwZWQpLCAxKQogICAgICAgICBza2lwcGVkID0gcmVzdWx0LnNraXBwZWRbMF1bMF0KLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdHIoc2tpcHBlZCksICdzZXRVcENsYXNzICglcy5UZXN0KScgJSBfX25hbWVfXykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdHIoc2tpcHBlZCksCisgICAgICAgICAgICAgICAgICAgICdzZXRVcENsYXNzICglcy4lcyknICUgKF9fbmFtZV9fLCBUZXN0Ll9fcXVhbG5hbWVfXykpCiAKICAgICBkZWYgdGVzdF9za2lwdGVzdF9pbl9zZXR1cG1vZHVsZShzZWxmKToKICAgICAgICAgY2xhc3MgVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CmRpZmYgLS1naXQgYS9MaWIvdW5pdHRlc3QvdGVzdC90ZXN0bW9jay90ZXN0bW9jay5weSBiL0xpYi91bml0dGVzdC90ZXN0L3Rlc3Rtb2NrL3Rlc3Rtb2NrLnB5CmluZGV4IDIzNjc1YjkuLjNhMTA0Y2IgMTAwNjQ0Ci0tLSBhL0xpYi91bml0dGVzdC90ZXN0L3Rlc3Rtb2NrL3Rlc3Rtb2NrLnB5CisrKyBiL0xpYi91bml0dGVzdC90ZXN0L3Rlc3Rtb2NrL3Rlc3Rtb2NrLnB5CkBAIC0xMTg3LDYgKzExODcsNDIgQEAKICAgICAgICAgbSA9IG1vY2suY3JlYXRlX2F1dG9zcGVjKG9iamVjdCgpLCBuYW1lPSdzd2VldF9mdW5jJykKICAgICAgICAgc2VsZi5hc3NlcnRJbignc3dlZXRfZnVuYycsIHJlcHIobSkpCiAKKyAgICAjSXNzdWUyMTIzOAorICAgIGRlZiB0ZXN0X21vY2tfdW5zYWZlKHNlbGYpOgorICAgICAgICBtID0gTW9jaygpCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoQXR0cmlidXRlRXJyb3IpOgorICAgICAgICAgICAgbS5hc3NlcnRfZm9vX2NhbGwoKQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKEF0dHJpYnV0ZUVycm9yKToKKyAgICAgICAgICAgIG0uYXNzcmV0X2Zvb19jYWxsKCkKKyAgICAgICAgbSA9IE1vY2sodW5zYWZlPVRydWUpCisgICAgICAgIG0uYXNzZXJ0X2Zvb19jYWxsKCkKKyAgICAgICAgbS5hc3NyZXRfZm9vX2NhbGwoKQorCisgICAgI0lzc3VlMjEyNjIKKyAgICBkZWYgdGVzdF9hc3NlcnRfbm90X2NhbGxlZChzZWxmKToKKyAgICAgICAgbSA9IE1vY2soKQorICAgICAgICBtLmhlbGxvLmFzc2VydF9ub3RfY2FsbGVkKCkKKyAgICAgICAgbS5oZWxsbygpCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoQXNzZXJ0aW9uRXJyb3IpOgorICAgICAgICAgICAgbS5oZWxsby5hc3NlcnRfbm90X2NhbGxlZCgpCisKKyAgICAjSXNzdWUyMTI1NiBwcmludG91dCBvZiBrZXl3b3JkIGFyZ3Mgc2hvdWxkIGJlIGluIGRldGVybWluaXN0aWMgb3JkZXIKKyAgICBkZWYgdGVzdF9zb3J0ZWRfY2FsbF9zaWduYXR1cmUoc2VsZik6CisgICAgICAgIG0gPSBNb2NrKCkKKyAgICAgICAgbS5oZWxsbyhuYW1lPSdoZWxsbycsIGRhZGR5PSdoZXJvJykKKyAgICAgICAgdGV4dCA9ICJjYWxsKGRhZGR5PSdoZXJvJywgbmFtZT0naGVsbG8nKSIKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXByKG0uaGVsbG8uY2FsbF9hcmdzKSwgdGV4dCkKKworICAgICNJc3N1ZTIxMjcwIG92ZXJyaWRlcyB0dXBsZSBtZXRob2RzIGZvciBtb2NrLmNhbGwgb2JqZWN0cworICAgIGRlZiB0ZXN0X292ZXJyaWRlX3R1cGxlX21ldGhvZHMoc2VsZik6CisgICAgICAgIGMgPSBjYWxsLmNvdW50KCkKKyAgICAgICAgaSA9IGNhbGwuaW5kZXgoMTMyLCdoZWxsbycpCisgICAgICAgIG0gPSBNb2NrKCkKKyAgICAgICAgbS5jb3VudCgpCisgICAgICAgIG0uaW5kZXgoMTMyLCJoZWxsbyIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobS5tZXRob2RfY2FsbHNbMF0sIGMpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobS5tZXRob2RfY2FsbHNbMV0sIGkpCisKICAgICBkZWYgdGVzdF9tb2NrX2FkZF9zcGVjKHNlbGYpOgogICAgICAgICBjbGFzcyBfT25lKG9iamVjdCk6CiAgICAgICAgICAgICBvbmUgPSAxCmRpZmYgLS1naXQgYS9MaWIvdW5pdHRlc3QvdGVzdC90ZXN0bW9jay90ZXN0cGF0Y2gucHkgYi9MaWIvdW5pdHRlc3QvdGVzdC90ZXN0bW9jay90ZXN0cGF0Y2gucHkKaW5kZXggYjUxNmY0Mi4uMjhmZTg2YiAxMDA2NDQKLS0tIGEvTGliL3VuaXR0ZXN0L3Rlc3QvdGVzdG1vY2svdGVzdHBhdGNoLnB5CisrKyBiL0xpYi91bml0dGVzdC90ZXN0L3Rlc3Rtb2NrL3Rlc3RwYXRjaC5weQpAQCAtMzc3LDcgKzM3Nyw3IEBACiAKICAgICBkZWYgdGVzdF9wYXRjaG9iamVjdF93b250X2NyZWF0ZV9ieV9kZWZhdWx0KHNlbGYpOgogICAgICAgICB0cnk6Ci0gICAgICAgICAgICBAcGF0Y2gub2JqZWN0KFNvbWVDbGFzcywgJ2Zyb29ibGUnLCBzZW50aW5lbC5Gcm9vYmxlKQorICAgICAgICAgICAgQHBhdGNoLm9iamVjdChTb21lQ2xhc3MsICdvcmQnLCBzZW50aW5lbC5Gcm9vYmxlKQogICAgICAgICAgICAgZGVmIHRlc3QoKToKICAgICAgICAgICAgICAgICBzZWxmLmZhaWwoJ1BhdGNoaW5nIG5vbiBleGlzdGVudCBhdHRyaWJ1dGVzIHNob3VsZCBmYWlsJykKIApAQCAtMzg2LDcgKzM4NiwyNyBAQAogICAgICAgICAgICAgcGFzcwogICAgICAgICBlbHNlOgogICAgICAgICAgICAgc2VsZi5mYWlsKCdQYXRjaGluZyBub24gZXhpc3RlbnQgYXR0cmlidXRlcyBzaG91bGQgZmFpbCcpCi0gICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoaGFzYXR0cihTb21lQ2xhc3MsICdmcm9vYmxlJykpCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoaGFzYXR0cihTb21lQ2xhc3MsICdvcmQnKSkKKworCisgICAgZGVmIHRlc3RfcGF0Y2hfYnVpbHRpbnNfd2l0aG91dF9jcmVhdGUoc2VsZik6CisgICAgICAgIEBwYXRjaChfX25hbWVfXysnLm9yZCcpCisgICAgICAgIGRlZiB0ZXN0X29yZChtb2NrX29yZCk6CisgICAgICAgICAgICBtb2NrX29yZC5yZXR1cm5fdmFsdWUgPSAxMDEKKyAgICAgICAgICAgIHJldHVybiBvcmQoJ2MnKQorCisgICAgICAgIEBwYXRjaChfX25hbWVfXysnLm9wZW4nKQorICAgICAgICBkZWYgdGVzdF9vcGVuKG1vY2tfb3Blbik6CisgICAgICAgICAgICBtID0gbW9ja19vcGVuLnJldHVybl92YWx1ZQorICAgICAgICAgICAgbS5yZWFkLnJldHVybl92YWx1ZSA9ICdhYmNkJworCisgICAgICAgICAgICBmb2JqID0gb3BlbignZG9lc25vdGV4aXN0cy50eHQnKQorICAgICAgICAgICAgZGF0YSA9IGZvYmoucmVhZCgpCisgICAgICAgICAgICBmb2JqLmNsb3NlKCkKKyAgICAgICAgICAgIHJldHVybiBkYXRhCisKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh0ZXN0X29yZCgpLCAxMDEpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodGVzdF9vcGVuKCksICdhYmNkJykKIAogCiAgICAgZGVmIHRlc3RfcGF0Y2hfd2l0aF9zdGF0aWNfbWV0aG9kcyhzZWxmKToKZGlmZiAtLWdpdCBhL0xpYi91bml0dGVzdC91dGlsLnB5IGIvTGliL3VuaXR0ZXN0L3V0aWwucHkKaW5kZXggYWVlNDk4Zi4uNDU0ODVkYyAxMDA2NDQKLS0tIGEvTGliL3VuaXR0ZXN0L3V0aWwucHkKKysrIGIvTGliL3VuaXR0ZXN0L3V0aWwucHkKQEAgLTUyLDcgKzUyLDcgQEAKICAgICByZXR1cm4gcmVzdWx0WzpfTUFYX0xFTkdUSF0gKyAnIFt0cnVuY2F0ZWRdLi4uJwogCiBkZWYgc3RyY2xhc3MoY2xzKToKLSAgICByZXR1cm4gIiVzLiVzIiAlIChjbHMuX19tb2R1bGVfXywgY2xzLl9fbmFtZV9fKQorICAgIHJldHVybiAiJXMuJXMiICUgKGNscy5fX21vZHVsZV9fLCBjbHMuX19xdWFsbmFtZV9fKQogCiBkZWYgc29ydGVkX2xpc3RfZGlmZmVyZW5jZShleHBlY3RlZCwgYWN0dWFsKToKICAgICAiIiJGaW5kcyBlbGVtZW50cyBpbiBvbmx5IG9uZSBvciB0aGUgb3RoZXIgb2YgdHdvLCBzb3J0ZWQgaW5wdXQgbGlzdHMuCmRpZmYgLS1naXQgYS9MaWIvdXJsbGliL3BhcnNlLnB5IGIvTGliL3VybGxpYi9wYXJzZS5weQppbmRleCBkMzY4MzMxLi42NjQyMGQyIDEwMDY0NAotLS0gYS9MaWIvdXJsbGliL3BhcnNlLnB5CisrKyBiL0xpYi91cmxsaWIvcGFyc2UucHkKQEAgLTQwOSwxMSArNDA5LDEzIEBACiAgICAgICAgIHJldHVybiB1cmwKICAgICBpZiBub3QgdXJsOgogICAgICAgICByZXR1cm4gYmFzZQorCiAgICAgYmFzZSwgdXJsLCBfY29lcmNlX3Jlc3VsdCA9IF9jb2VyY2VfYXJncyhiYXNlLCB1cmwpCiAgICAgYnNjaGVtZSwgYm5ldGxvYywgYnBhdGgsIGJwYXJhbXMsIGJxdWVyeSwgYmZyYWdtZW50ID0gXAogICAgICAgICAgICAgdXJscGFyc2UoYmFzZSwgJycsIGFsbG93X2ZyYWdtZW50cykKICAgICBzY2hlbWUsIG5ldGxvYywgcGF0aCwgcGFyYW1zLCBxdWVyeSwgZnJhZ21lbnQgPSBcCiAgICAgICAgICAgICB1cmxwYXJzZSh1cmwsIGJzY2hlbWUsIGFsbG93X2ZyYWdtZW50cykKKwogICAgIGlmIHNjaGVtZSAhPSBic2NoZW1lIG9yIHNjaGVtZSBub3QgaW4gdXNlc19yZWxhdGl2ZToKICAgICAgICAgcmV0dXJuIF9jb2VyY2VfcmVzdWx0KHVybCkKICAgICBpZiBzY2hlbWUgaW4gdXNlc19uZXRsb2M6CkBAIC00MjEsOSArNDIzLDcgQEAKICAgICAgICAgICAgIHJldHVybiBfY29lcmNlX3Jlc3VsdCh1cmx1bnBhcnNlKChzY2hlbWUsIG5ldGxvYywgcGF0aCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJhbXMsIHF1ZXJ5LCBmcmFnbWVudCkpKQogICAgICAgICBuZXRsb2MgPSBibmV0bG9jCi0gICAgaWYgcGF0aFs6MV0gPT0gJy8nOgotICAgICAgICByZXR1cm4gX2NvZXJjZV9yZXN1bHQodXJsdW5wYXJzZSgoc2NoZW1lLCBuZXRsb2MsIHBhdGgsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJhbXMsIHF1ZXJ5LCBmcmFnbWVudCkpKQorCiAgICAgaWYgbm90IHBhdGggYW5kIG5vdCBwYXJhbXM6CiAgICAgICAgIHBhdGggPSBicGF0aAogICAgICAgICBwYXJhbXMgPSBicGFyYW1zCkBAIC00MzEsMjkgKzQzMSw0NiBAQAogICAgICAgICAgICAgcXVlcnkgPSBicXVlcnkKICAgICAgICAgcmV0dXJuIF9jb2VyY2VfcmVzdWx0KHVybHVucGFyc2UoKHNjaGVtZSwgbmV0bG9jLCBwYXRoLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1zLCBxdWVyeSwgZnJhZ21lbnQpKSkKLSAgICBzZWdtZW50cyA9IGJwYXRoLnNwbGl0KCcvJylbOi0xXSArIHBhdGguc3BsaXQoJy8nKQotICAgICMgWFhYIFRoZSBzdHVmZiBiZWxvdyBpcyBib2d1cyBpbiB2YXJpb3VzIHdheXMuLi4KLSAgICBpZiBzZWdtZW50c1stMV0gPT0gJy4nOgotICAgICAgICBzZWdtZW50c1stMV0gPSAnJwotICAgIHdoaWxlICcuJyBpbiBzZWdtZW50czoKLSAgICAgICAgc2VnbWVudHMucmVtb3ZlKCcuJykKLSAgICB3aGlsZSAxOgotICAgICAgICBpID0gMQotICAgICAgICBuID0gbGVuKHNlZ21lbnRzKSAtIDEKLSAgICAgICAgd2hpbGUgaSA8IG46Ci0gICAgICAgICAgICBpZiAoc2VnbWVudHNbaV0gPT0gJy4uJwotICAgICAgICAgICAgICAgIGFuZCBzZWdtZW50c1tpLTFdIG5vdCBpbiAoJycsICcuLicpKToKLSAgICAgICAgICAgICAgICBkZWwgc2VnbWVudHNbaS0xOmkrMV0KLSAgICAgICAgICAgICAgICBicmVhawotICAgICAgICAgICAgaSA9IGkrMQorCisgICAgYmFzZV9wYXJ0cyA9IGJwYXRoLnNwbGl0KCcvJykKKyAgICBpZiBiYXNlX3BhcnRzWy0xXSAhPSAnJzoKKyAgICAgICAgIyB0aGUgbGFzdCBpdGVtIGlzIG5vdCBhIGRpcmVjdG9yeSwgc28gd2lsbCBub3QgYmUgdGFrZW4gaW50byBhY2NvdW50CisgICAgICAgICMgaW4gcmVzb2x2aW5nIHRoZSByZWxhdGl2ZSBwYXRoCisgICAgICAgIGRlbCBiYXNlX3BhcnRzWy0xXQorCisgICAgIyBmb3IgcmZjMzk4NiwgaWdub3JlIGFsbCBiYXNlIHBhdGggc2hvdWxkIHRoZSBmaXJzdCBjaGFyYWN0ZXIgYmUgcm9vdC4KKyAgICBpZiBwYXRoWzoxXSA9PSAnLyc6CisgICAgICAgIHNlZ21lbnRzID0gcGF0aC5zcGxpdCgnLycpCisgICAgZWxzZToKKyAgICAgICAgc2VnbWVudHMgPSBiYXNlX3BhcnRzICsgcGF0aC5zcGxpdCgnLycpCisgICAgICAgICMgZmlsdGVyIG91dCBlbGVtZW50cyB0aGF0IHdvdWxkIGNhdXNlIHJlZHVuZGFudCBzbGFzaGVzIG9uIHJlLWpvaW5pbmcKKyAgICAgICAgIyB0aGUgcmVzb2x2ZWRfcGF0aAorICAgICAgICBzZWdtZW50cyA9IHNlZ21lbnRzWzA6MV0gKyBbCisgICAgICAgICAgICBzIGZvciBzIGluIHNlZ21lbnRzWzE6LTFdIGlmIGxlbihzKSA+IDBdICsgc2VnbWVudHNbLTE6XQorCisgICAgcmVzb2x2ZWRfcGF0aCA9IFtdCisKKyAgICBmb3Igc2VnIGluIHNlZ21lbnRzOgorICAgICAgICBpZiBzZWcgPT0gJy4uJzoKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICByZXNvbHZlZF9wYXRoLnBvcCgpCisgICAgICAgICAgICBleGNlcHQgSW5kZXhFcnJvcjoKKyAgICAgICAgICAgICAgICAjIGlnbm9yZSBhbnkgLi4gc2VnbWVudHMgdGhhdCB3b3VsZCBvdGhlcndpc2UgY2F1c2UgYW4gSW5kZXhFcnJvcgorICAgICAgICAgICAgICAgICMgd2hlbiBwb3BwZWQgZnJvbSByZXNvbHZlZF9wYXRoIGlmIHJlc29sdmluZyBmb3IgcmZjMzk4NgorICAgICAgICAgICAgICAgIHBhc3MKKyAgICAgICAgZWxpZiBzZWcgPT0gJy4nOgorICAgICAgICAgICAgY29udGludWUKICAgICAgICAgZWxzZToKLSAgICAgICAgICAgIGJyZWFrCi0gICAgaWYgc2VnbWVudHMgPT0gWycnLCAnLi4nXToKLSAgICAgICAgc2VnbWVudHNbLTFdID0gJycKLSAgICBlbGlmIGxlbihzZWdtZW50cykgPj0gMiBhbmQgc2VnbWVudHNbLTFdID09ICcuLic6Ci0gICAgICAgIHNlZ21lbnRzWy0yOl0gPSBbJyddCi0gICAgcmV0dXJuIF9jb2VyY2VfcmVzdWx0KHVybHVucGFyc2UoKHNjaGVtZSwgbmV0bG9jLCAnLycuam9pbihzZWdtZW50cyksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtcywgcXVlcnksIGZyYWdtZW50KSkpCisgICAgICAgICAgICByZXNvbHZlZF9wYXRoLmFwcGVuZChzZWcpCisKKyAgICBpZiBzZWdtZW50c1stMV0gaW4gKCcuJywgJy4uJyk6CisgICAgICAgICMgZG8gc29tZSBwb3N0LXByb2Nlc3NpbmcgaGVyZS4gaWYgdGhlIGxhc3Qgc2VnbWVudCB3YXMgYSByZWxhdGl2ZSBkaXIsCisgICAgICAgICMgdGhlbiB3ZSBuZWVkIHRvIGFwcGVuZCB0aGUgdHJhaWxpbmcgJy8nCisgICAgICAgIHJlc29sdmVkX3BhdGguYXBwZW5kKCcnKQorCisgICAgcmV0dXJuIF9jb2VyY2VfcmVzdWx0KHVybHVucGFyc2UoKHNjaGVtZSwgbmV0bG9jLCAnLycuam9pbigKKyAgICAgICAgcmVzb2x2ZWRfcGF0aCkgb3IgJy8nLCBwYXJhbXMsIHF1ZXJ5LCBmcmFnbWVudCkpKQorCiAKIGRlZiB1cmxkZWZyYWcodXJsKToKICAgICAiIiJSZW1vdmVzIGFueSBleGlzdGluZyBmcmFnbWVudCBmcm9tIFVSTC4KQEAgLTY0MSw3ICs2NTgsNyBAQAogCiAgICAgZGVmIF9fcmVwcl9fKHNlbGYpOgogICAgICAgICAjIFdpdGhvdXQgdGhpcywgd2lsbCBqdXN0IGRpc3BsYXkgYXMgYSBkZWZhdWx0ZGljdAotICAgICAgICByZXR1cm4gIjxRdW90ZXIgJXI+IiAlIGRpY3Qoc2VsZikKKyAgICAgICAgcmV0dXJuICI8JXMgJXI+IiAlIChzZWxmLl9fY2xhc3NfXy5fX25hbWVfXywgZGljdChzZWxmKSkKIAogICAgIGRlZiBfX21pc3NpbmdfXyhzZWxmLCBiKToKICAgICAgICAgIyBIYW5kbGUgYSBjYWNoZSBtaXNzLiBTdG9yZSBxdW90ZWQgc3RyaW5nIGluIGNhY2hlIGFuZCByZXR1cm4uCkBAIC04NTIsMTIgKzg2OSwxMiBAQAogICAgICIiInNwbGl0dHlwZSgndHlwZTpvcGFxdWVzdHJpbmcnKSAtLT4gJ3R5cGUnLCAnb3BhcXVlc3RyaW5nJy4iIiIKICAgICBnbG9iYWwgX3R5cGVwcm9nCiAgICAgaWYgX3R5cGVwcm9nIGlzIE5vbmU6Ci0gICAgICAgIF90eXBlcHJvZyA9IHJlLmNvbXBpbGUoJ14oW14vOl0rKTonKQorICAgICAgICBfdHlwZXByb2cgPSByZS5jb21waWxlKCcoW14vOl0rKTooLiopJywgcmUuRE9UQUxMKQogCiAgICAgbWF0Y2ggPSBfdHlwZXByb2cubWF0Y2godXJsKQogICAgIGlmIG1hdGNoOgotICAgICAgICBzY2hlbWUgPSBtYXRjaC5ncm91cCgxKQotICAgICAgICByZXR1cm4gc2NoZW1lLmxvd2VyKCksIHVybFtsZW4oc2NoZW1lKSArIDE6XQorICAgICAgICBzY2hlbWUsIGRhdGEgPSBtYXRjaC5ncm91cHMoKQorICAgICAgICByZXR1cm4gc2NoZW1lLmxvd2VyKCksIGRhdGEKICAgICByZXR1cm4gTm9uZSwgdXJsCiAKIF9ob3N0cHJvZyA9IE5vbmUKQEAgLTg2NSwzOCArODgyLDI1IEBACiAgICAgIiIic3BsaXRob3N0KCcvL2hvc3RbOnBvcnRdL3BhdGgnKSAtLT4gJ2hvc3RbOnBvcnRdJywgJy9wYXRoJy4iIiIKICAgICBnbG9iYWwgX2hvc3Rwcm9nCiAgICAgaWYgX2hvc3Rwcm9nIGlzIE5vbmU6Ci0gICAgICAgIF9ob3N0cHJvZyA9IHJlLmNvbXBpbGUoJ14vLyhbXi8/XSopKC4qKSQnKQorICAgICAgICBfaG9zdHByb2cgPSByZS5jb21waWxlKCcvLyhbXi8/XSopKC4qKScsIHJlLkRPVEFMTCkKIAogICAgIG1hdGNoID0gX2hvc3Rwcm9nLm1hdGNoKHVybCkKICAgICBpZiBtYXRjaDoKLSAgICAgICAgaG9zdF9wb3J0ID0gbWF0Y2guZ3JvdXAoMSkKLSAgICAgICAgcGF0aCA9IG1hdGNoLmdyb3VwKDIpCi0gICAgICAgIGlmIHBhdGggYW5kIG5vdCBwYXRoLnN0YXJ0c3dpdGgoJy8nKToKKyAgICAgICAgaG9zdF9wb3J0LCBwYXRoID0gbWF0Y2guZ3JvdXBzKCkKKyAgICAgICAgaWYgcGF0aCBhbmQgcGF0aFswXSAhPSAnLyc6CiAgICAgICAgICAgICBwYXRoID0gJy8nICsgcGF0aAogICAgICAgICByZXR1cm4gaG9zdF9wb3J0LCBwYXRoCiAgICAgcmV0dXJuIE5vbmUsIHVybAogCi1fdXNlcnByb2cgPSBOb25lCiBkZWYgc3BsaXR1c2VyKGhvc3QpOgogICAgICIiInNwbGl0dXNlcigndXNlcls6cGFzc3dkXUBob3N0Wzpwb3J0XScpIC0tPiAndXNlcls6cGFzc3dkXScsICdob3N0Wzpwb3J0XScuIiIiCi0gICAgZ2xvYmFsIF91c2VycHJvZwotICAgIGlmIF91c2VycHJvZyBpcyBOb25lOgotICAgICAgICBfdXNlcnByb2cgPSByZS5jb21waWxlKCdeKC4qKUAoLiopJCcpCisgICAgdXNlciwgZGVsaW0sIGhvc3QgPSBob3N0LnJwYXJ0aXRpb24oJ0AnKQorICAgIHJldHVybiAodXNlciBpZiBkZWxpbSBlbHNlIE5vbmUpLCBob3N0CiAKLSAgICBtYXRjaCA9IF91c2VycHJvZy5tYXRjaChob3N0KQotICAgIGlmIG1hdGNoOiByZXR1cm4gbWF0Y2guZ3JvdXAoMSwgMikKLSAgICByZXR1cm4gTm9uZSwgaG9zdAotCi1fcGFzc3dkcHJvZyA9IE5vbmUKIGRlZiBzcGxpdHBhc3N3ZCh1c2VyKToKICAgICAiIiJzcGxpdHBhc3N3ZCgndXNlcjpwYXNzd2QnKSAtPiAndXNlcicsICdwYXNzd2QnLiIiIgotICAgIGdsb2JhbCBfcGFzc3dkcHJvZwotICAgIGlmIF9wYXNzd2Rwcm9nIGlzIE5vbmU6Ci0gICAgICAgIF9wYXNzd2Rwcm9nID0gcmUuY29tcGlsZSgnXihbXjpdKik6KC4qKSQnLHJlLlMpCi0KLSAgICBtYXRjaCA9IF9wYXNzd2Rwcm9nLm1hdGNoKHVzZXIpCi0gICAgaWYgbWF0Y2g6IHJldHVybiBtYXRjaC5ncm91cCgxLCAyKQotICAgIHJldHVybiB1c2VyLCBOb25lCisgICAgdXNlciwgZGVsaW0sIHBhc3N3ZCA9IHVzZXIucGFydGl0aW9uKCc6JykKKyAgICByZXR1cm4gdXNlciwgKHBhc3N3ZCBpZiBkZWxpbSBlbHNlIE5vbmUpCiAKICMgc3BsaXR0YWcoJy9wYXRoI3RhZycpIC0tPiAnL3BhdGgnLCAndGFnJwogX3BvcnRwcm9nID0gTm9uZQpAQCAtOTA0LDcgKzkwOCw3IEBACiAgICAgIiIic3BsaXRwb3J0KCdob3N0OnBvcnQnKSAtLT4gJ2hvc3QnLCAncG9ydCcuIiIiCiAgICAgZ2xvYmFsIF9wb3J0cHJvZwogICAgIGlmIF9wb3J0cHJvZyBpcyBOb25lOgotICAgICAgICBfcG9ydHByb2cgPSByZS5jb21waWxlKCdeKC4qKTooWzAtOV0qKSQnKQorICAgICAgICBfcG9ydHByb2cgPSByZS5jb21waWxlKCcoLiopOihbMC05XSopJCcsIHJlLkRPVEFMTCkKIAogICAgIG1hdGNoID0gX3BvcnRwcm9nLm1hdGNoKGhvc3QpCiAgICAgaWYgbWF0Y2g6CkBAIC05MTMsNDcgKzkxNywzNCBAQAogICAgICAgICAgICAgcmV0dXJuIGhvc3QsIHBvcnQKICAgICByZXR1cm4gaG9zdCwgTm9uZQogCi1fbnBvcnRwcm9nID0gTm9uZQogZGVmIHNwbGl0bnBvcnQoaG9zdCwgZGVmcG9ydD0tMSk6CiAgICAgIiIiU3BsaXQgaG9zdCBhbmQgcG9ydCwgcmV0dXJuaW5nIG51bWVyaWMgcG9ydC4KICAgICBSZXR1cm4gZ2l2ZW4gZGVmYXVsdCBwb3J0IGlmIG5vICc6JyBmb3VuZDsgZGVmYXVsdHMgdG8gLTEuCiAgICAgUmV0dXJuIG51bWVyaWNhbCBwb3J0IGlmIGEgdmFsaWQgbnVtYmVyIGFyZSBmb3VuZCBhZnRlciAnOicuCiAgICAgUmV0dXJuIE5vbmUgaWYgJzonIGJ1dCBub3QgYSB2YWxpZCBudW1iZXIuIiIiCi0gICAgZ2xvYmFsIF9ucG9ydHByb2cKLSAgICBpZiBfbnBvcnRwcm9nIGlzIE5vbmU6Ci0gICAgICAgIF9ucG9ydHByb2cgPSByZS5jb21waWxlKCdeKC4qKTooLiopJCcpCi0KLSAgICBtYXRjaCA9IF9ucG9ydHByb2cubWF0Y2goaG9zdCkKLSAgICBpZiBtYXRjaDoKLSAgICAgICAgaG9zdCwgcG9ydCA9IG1hdGNoLmdyb3VwKDEsIDIpCi0gICAgICAgIGlmIHBvcnQ6Ci0gICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgbnBvcnQgPSBpbnQocG9ydCkKLSAgICAgICAgICAgIGV4Y2VwdCBWYWx1ZUVycm9yOgotICAgICAgICAgICAgICAgIG5wb3J0ID0gTm9uZQotICAgICAgICAgICAgcmV0dXJuIGhvc3QsIG5wb3J0CisgICAgaG9zdCwgZGVsaW0sIHBvcnQgPSBob3N0LnJwYXJ0aXRpb24oJzonKQorICAgIGlmIG5vdCBkZWxpbToKKyAgICAgICAgaG9zdCA9IHBvcnQKKyAgICBlbGlmIHBvcnQ6CisgICAgICAgIHRyeToKKyAgICAgICAgICAgIG5wb3J0ID0gaW50KHBvcnQpCisgICAgICAgIGV4Y2VwdCBWYWx1ZUVycm9yOgorICAgICAgICAgICAgbnBvcnQgPSBOb25lCisgICAgICAgIHJldHVybiBob3N0LCBucG9ydAogICAgIHJldHVybiBob3N0LCBkZWZwb3J0CiAKLV9xdWVyeXByb2cgPSBOb25lCiBkZWYgc3BsaXRxdWVyeSh1cmwpOgogICAgICIiInNwbGl0cXVlcnkoJy9wYXRoP3F1ZXJ5JykgLS0+ICcvcGF0aCcsICdxdWVyeScuIiIiCi0gICAgZ2xvYmFsIF9xdWVyeXByb2cKLSAgICBpZiBfcXVlcnlwcm9nIGlzIE5vbmU6Ci0gICAgICAgIF9xdWVyeXByb2cgPSByZS5jb21waWxlKCdeKC4qKVw/KFteP10qKSQnKQotCi0gICAgbWF0Y2ggPSBfcXVlcnlwcm9nLm1hdGNoKHVybCkKLSAgICBpZiBtYXRjaDogcmV0dXJuIG1hdGNoLmdyb3VwKDEsIDIpCisgICAgcGF0aCwgZGVsaW0sIHF1ZXJ5ID0gdXJsLnJwYXJ0aXRpb24oJz8nKQorICAgIGlmIGRlbGltOgorICAgICAgICByZXR1cm4gcGF0aCwgcXVlcnkKICAgICByZXR1cm4gdXJsLCBOb25lCiAKLV90YWdwcm9nID0gTm9uZQogZGVmIHNwbGl0dGFnKHVybCk6CiAgICAgIiIic3BsaXR0YWcoJy9wYXRoI3RhZycpIC0tPiAnL3BhdGgnLCAndGFnJy4iIiIKLSAgICBnbG9iYWwgX3RhZ3Byb2cKLSAgICBpZiBfdGFncHJvZyBpcyBOb25lOgotICAgICAgICBfdGFncHJvZyA9IHJlLmNvbXBpbGUoJ14oLiopIyhbXiNdKikkJykKLQotICAgIG1hdGNoID0gX3RhZ3Byb2cubWF0Y2godXJsKQotICAgIGlmIG1hdGNoOiByZXR1cm4gbWF0Y2guZ3JvdXAoMSwgMikKKyAgICBwYXRoLCBkZWxpbSwgdGFnID0gdXJsLnJwYXJ0aXRpb24oJyMnKQorICAgIGlmIGRlbGltOgorICAgICAgICByZXR1cm4gcGF0aCwgdGFnCiAgICAgcmV0dXJuIHVybCwgTm9uZQogCiBkZWYgc3BsaXRhdHRyKHVybCk6CkBAIC05NjIsMTMgKzk1Myw3IEBACiAgICAgd29yZHMgPSB1cmwuc3BsaXQoJzsnKQogICAgIHJldHVybiB3b3Jkc1swXSwgd29yZHNbMTpdCiAKLV92YWx1ZXByb2cgPSBOb25lCiBkZWYgc3BsaXR2YWx1ZShhdHRyKToKICAgICAiIiJzcGxpdHZhbHVlKCdhdHRyPXZhbHVlJykgLS0+ICdhdHRyJywgJ3ZhbHVlJy4iIiIKLSAgICBnbG9iYWwgX3ZhbHVlcHJvZwotICAgIGlmIF92YWx1ZXByb2cgaXMgTm9uZToKLSAgICAgICAgX3ZhbHVlcHJvZyA9IHJlLmNvbXBpbGUoJ14oW149XSopPSguKikkJykKLQotICAgIG1hdGNoID0gX3ZhbHVlcHJvZy5tYXRjaChhdHRyKQotICAgIGlmIG1hdGNoOiByZXR1cm4gbWF0Y2guZ3JvdXAoMSwgMikKLSAgICByZXR1cm4gYXR0ciwgTm9uZQorICAgIGF0dHIsIGRlbGltLCB2YWx1ZSA9IGF0dHIucGFydGl0aW9uKCc9JykKKyAgICByZXR1cm4gYXR0ciwgKHZhbHVlIGlmIGRlbGltIGVsc2UgTm9uZSkKZGlmZiAtLWdpdCBhL0xpYi91cmxsaWIvcmVxdWVzdC5weSBiL0xpYi91cmxsaWIvcmVxdWVzdC5weQppbmRleCA2ZGE5MDA3Li4zYmE3YzAxIDEwMDY0NAotLS0gYS9MaWIvdXJsbGliL3JlcXVlc3QucHkKKysrIGIvTGliL3VybGxpYi9yZXF1ZXN0LnB5CkBAIC05MTYsNiArOTE2LDIxIEBACiAgICAgICAgIHJldHVybiByZXNwb25zZQogCiAKK2NsYXNzIEhUVFBCYXNpY1ByaW9yQXV0aEhhbmRsZXIoSFRUUEJhc2ljQXV0aEhhbmRsZXIpOgorICAgIGhhbmRsZXJfb3JkZXIgPSA0MDAKKworICAgIGRlZiBodHRwX3JlcXVlc3Qoc2VsZiwgcmVxKToKKyAgICAgICAgaWYgbm90IHJlcS5oYXNfaGVhZGVyKCdBdXRob3JpemF0aW9uJyk6CisgICAgICAgICAgICB1c2VyLCBwYXNzd2QgPSBzZWxmLnBhc3N3ZC5maW5kX3VzZXJfcGFzc3dvcmQoTm9uZSwgcmVxLmhvc3QpCisgICAgICAgICAgICBjcmVkZW50aWFscyA9ICd7MH06ezF9Jy5mb3JtYXQodXNlciwgcGFzc3dkKS5lbmNvZGUoKQorICAgICAgICAgICAgYXV0aF9zdHIgPSBiYXNlNjQuc3RhbmRhcmRfYjY0ZW5jb2RlKGNyZWRlbnRpYWxzKS5kZWNvZGUoKQorICAgICAgICAgICAgcmVxLmFkZF91bnJlZGlyZWN0ZWRfaGVhZGVyKCdBdXRob3JpemF0aW9uJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQmFzaWMge30nLmZvcm1hdChhdXRoX3N0ci5zdHJpcCgpKSkKKyAgICAgICAgcmV0dXJuIHJlcQorCisgICAgaHR0cHNfcmVxdWVzdCA9IGh0dHBfcmVxdWVzdAorCisKICMgUmV0dXJuIG4gcmFuZG9tIGJ5dGVzLgogX3JhbmRvbWJ5dGVzID0gb3MudXJhbmRvbQogCmRpZmYgLS1naXQgYS9MaWIvdXJsbGliL3JvYm90cGFyc2VyLnB5IGIvTGliL3VybGxpYi9yb2JvdHBhcnNlci5weQppbmRleCAxZDdiNzUxLi40ZmJiMGNiIDEwMDY0NAotLS0gYS9MaWIvdXJsbGliL3JvYm90cGFyc2VyLnB5CisrKyBiL0xpYi91cmxsaWIvcm9ib3RwYXJzZXIucHkKQEAgLTE3Miw3ICsxNzIsNyBAQAogICAgICAgICByZXR1cm4gc2VsZi5wYXRoID09ICIqIiBvciBmaWxlbmFtZS5zdGFydHN3aXRoKHNlbGYucGF0aCkKIAogICAgIGRlZiBfX3N0cl9fKHNlbGYpOgotICAgICAgICByZXR1cm4gKHNlbGYuYWxsb3dhbmNlIGFuZCAiQWxsb3ciIG9yICJEaXNhbGxvdyIpICsgIjogIiArIHNlbGYucGF0aAorICAgICAgICByZXR1cm4gKCJBbGxvdyIgaWYgc2VsZi5hbGxvd2FuY2UgZWxzZSAiRGlzYWxsb3ciKSArICI6ICIgKyBzZWxmLnBhdGgKIAogCiBjbGFzcyBFbnRyeToKZGlmZiAtLWdpdCBhL0xpYi91dWlkLnB5IGIvTGliL3V1aWQucHkKaW5kZXggMTA2MWJmZi4uZTYyNzU3MyAxMDA2NDQKLS0tIGEvTGliL3V1aWQucHkKKysrIGIvTGliL3V1aWQucHkKQEAgLTEzOSwxMCArMTM5LDggQEAKICAgICAgICAgaWYgYnl0ZXNfbGUgaXMgbm90IE5vbmU6CiAgICAgICAgICAgICBpZiBsZW4oYnl0ZXNfbGUpICE9IDE2OgogICAgICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoJ2J5dGVzX2xlIGlzIG5vdCBhIDE2LWNoYXIgc3RyaW5nJykKLSAgICAgICAgICAgIGJ5dGVzID0gKGJ5dGVzXyhyZXZlcnNlZChieXRlc19sZVswOjRdKSkgKwotICAgICAgICAgICAgICAgICAgICAgYnl0ZXNfKHJldmVyc2VkKGJ5dGVzX2xlWzQ6Nl0pKSArCi0gICAgICAgICAgICAgICAgICAgICBieXRlc18ocmV2ZXJzZWQoYnl0ZXNfbGVbNjo4XSkpICsKLSAgICAgICAgICAgICAgICAgICAgIGJ5dGVzX2xlWzg6XSkKKyAgICAgICAgICAgIGJ5dGVzID0gKGJ5dGVzX2xlWzQtMTo6LTFdICsgYnl0ZXNfbGVbNi0xOjQtMTotMV0gKworICAgICAgICAgICAgICAgICAgICAgYnl0ZXNfbGVbOC0xOjYtMTotMV0gKyBieXRlc19sZVs4Ol0pCiAgICAgICAgIGlmIGJ5dGVzIGlzIG5vdCBOb25lOgogICAgICAgICAgICAgaWYgbGVuKGJ5dGVzKSAhPSAxNjoKICAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCdieXRlcyBpcyBub3QgYSAxNi1jaGFyIHN0cmluZycpCkBAIC0xODcsMTEgKzE4NSw2IEBACiAgICAgICAgICAgICByZXR1cm4gc2VsZi5pbnQgPT0gb3RoZXIuaW50CiAgICAgICAgIHJldHVybiBOb3RJbXBsZW1lbnRlZAogCi0gICAgZGVmIF9fbmVfXyhzZWxmLCBvdGhlcik6Ci0gICAgICAgIGlmIGlzaW5zdGFuY2Uob3RoZXIsIFVVSUQpOgotICAgICAgICAgICAgcmV0dXJuIHNlbGYuaW50ICE9IG90aGVyLmludAotICAgICAgICByZXR1cm4gTm90SW1wbGVtZW50ZWQKLQogICAgICMgUS4gV2hhdCdzIHRoZSB2YWx1ZSBvZiBiZWluZyBhYmxlIHRvIHNvcnQgVVVJRHM/CiAgICAgIyBBLiBVc2UgdGhlbSBhcyBrZXlzIGluIGEgQi1UcmVlIG9yIHNpbWlsYXIgbWFwcGluZy4KIApAQCAtMjIyLDcgKzIxNSw3IEBACiAgICAgICAgIHJldHVybiBzZWxmLmludAogCiAgICAgZGVmIF9fcmVwcl9fKHNlbGYpOgotICAgICAgICByZXR1cm4gJ1VVSUQoJXIpJyAlIHN0cihzZWxmKQorICAgICAgICByZXR1cm4gJyVzKCVyKScgJSAoc2VsZi5fX2NsYXNzX18uX19uYW1lX18sIHN0cihzZWxmKSkKIAogICAgIGRlZiBfX3NldGF0dHJfXyhzZWxmLCBuYW1lLCB2YWx1ZSk6CiAgICAgICAgIHJhaXNlIFR5cGVFcnJvcignVVVJRCBvYmplY3RzIGFyZSBpbW11dGFibGUnKQpAQCAtMjM0LDE3ICsyMjcsMTIgQEAKIAogICAgIEBwcm9wZXJ0eQogICAgIGRlZiBieXRlcyhzZWxmKToKLSAgICAgICAgYnl0ZXMgPSBieXRlYXJyYXkoKQotICAgICAgICBmb3Igc2hpZnQgaW4gcmFuZ2UoMCwgMTI4LCA4KToKLSAgICAgICAgICAgIGJ5dGVzLmluc2VydCgwLCAoc2VsZi5pbnQgPj4gc2hpZnQpICYgMHhmZikKLSAgICAgICAgcmV0dXJuIGJ5dGVzXyhieXRlcykKKyAgICAgICAgcmV0dXJuIHNlbGYuaW50LnRvX2J5dGVzKDE2LCAnYmlnJykKIAogICAgIEBwcm9wZXJ0eQogICAgIGRlZiBieXRlc19sZShzZWxmKToKICAgICAgICAgYnl0ZXMgPSBzZWxmLmJ5dGVzCi0gICAgICAgIHJldHVybiAoYnl0ZXNfKHJldmVyc2VkKGJ5dGVzWzA6NF0pKSArCi0gICAgICAgICAgICAgICAgYnl0ZXNfKHJldmVyc2VkKGJ5dGVzWzQ6Nl0pKSArCi0gICAgICAgICAgICAgICAgYnl0ZXNfKHJldmVyc2VkKGJ5dGVzWzY6OF0pKSArCisgICAgICAgIHJldHVybiAoYnl0ZXNbNC0xOjotMV0gKyBieXRlc1s2LTE6NC0xOi0xXSArIGJ5dGVzWzgtMTo2LTE6LTFdICsKICAgICAgICAgICAgICAgICBieXRlc1s4Ol0pCiAKICAgICBAcHJvcGVydHkKQEAgLTMxMSwzMyArMjk5LDM4IEBACiAgICAgICAgIGlmIHNlbGYudmFyaWFudCA9PSBSRkNfNDEyMjoKICAgICAgICAgICAgIHJldHVybiBpbnQoKHNlbGYuaW50ID4+IDc2KSAmIDB4ZikKIAotZGVmIF9wb3Blbihjb21tYW5kLCBhcmdzKToKLSAgICBpbXBvcnQgb3MsIHNodXRpbAorZGVmIF9wb3Blbihjb21tYW5kLCAqYXJncyk6CisgICAgaW1wb3J0IG9zLCBzaHV0aWwsIHN1YnByb2Nlc3MKICAgICBleGVjdXRhYmxlID0gc2h1dGlsLndoaWNoKGNvbW1hbmQpCiAgICAgaWYgZXhlY3V0YWJsZSBpcyBOb25lOgogICAgICAgICBwYXRoID0gb3MucGF0aHNlcC5qb2luKCgnL3NiaW4nLCAnL3Vzci9zYmluJykpCiAgICAgICAgIGV4ZWN1dGFibGUgPSBzaHV0aWwud2hpY2goY29tbWFuZCwgcGF0aD1wYXRoKQogICAgICAgICBpZiBleGVjdXRhYmxlIGlzIE5vbmU6CiAgICAgICAgICAgICByZXR1cm4gTm9uZQotICAgICMgTENfQUxMIHRvIGVuc3VyZSBFbmdsaXNoIG91dHB1dCwgMj4vZGV2L251bGwgdG8gcHJldmVudCBvdXRwdXQgb24KLSAgICAjIHN0ZGVyciAoTm90ZTogd2UgZG9uJ3QgaGF2ZSBhbiBleGFtcGxlIHdoZXJlIHRoZSB3b3JkcyB3ZSBzZWFyY2ggZm9yCi0gICAgIyBhcmUgYWN0dWFsbHkgbG9jYWxpemVkLCBidXQgaW4gdGhlb3J5IHNvbWUgc3lzdGVtIGNvdWxkIGRvIHNvLikKLSAgICBjbWQgPSAnTENfQUxMPUMgJXMgJXMgMj4vZGV2L251bGwnICUgKGV4ZWN1dGFibGUsIGFyZ3MpCi0gICAgcmV0dXJuIG9zLnBvcGVuKGNtZCkKKyAgICAjIExDX0FMTD1DIHRvIGVuc3VyZSBFbmdsaXNoIG91dHB1dCwgc3RkZXJyPURFVk5VTEwgdG8gcHJldmVudCBvdXRwdXQKKyAgICAjIG9uIHN0ZGVyciAoTm90ZTogd2UgZG9uJ3QgaGF2ZSBhbiBleGFtcGxlIHdoZXJlIHRoZSB3b3JkcyB3ZSBzZWFyY2gKKyAgICAjIGZvciBhcmUgYWN0dWFsbHkgbG9jYWxpemVkLCBidXQgaW4gdGhlb3J5IHNvbWUgc3lzdGVtIGNvdWxkIGRvIHNvLikKKyAgICBlbnYgPSBkaWN0KG9zLmVudmlyb24pCisgICAgZW52WydMQ19BTEwnXSA9ICdDJworICAgIHByb2MgPSBzdWJwcm9jZXNzLlBvcGVuKChleGVjdXRhYmxlLCkgKyBhcmdzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ZG91dD1zdWJwcm9jZXNzLlBJUEUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RkZXJyPXN1YnByb2Nlc3MuREVWTlVMTCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnY9ZW52KQorICAgIHJldHVybiBwcm9jCiAKIGRlZiBfZmluZF9tYWMoY29tbWFuZCwgYXJncywgaHdfaWRlbnRpZmllcnMsIGdldF9pbmRleCk6CiAgICAgdHJ5OgotICAgICAgICBwaXBlID0gX3BvcGVuKGNvbW1hbmQsIGFyZ3MpCi0gICAgICAgIGlmIG5vdCBwaXBlOgorICAgICAgICBwcm9jID0gX3BvcGVuKGNvbW1hbmQsICphcmdzLnNwbGl0KCkpCisgICAgICAgIGlmIG5vdCBwcm9jOgogICAgICAgICAgICAgcmV0dXJuCi0gICAgICAgIHdpdGggcGlwZToKLSAgICAgICAgICAgIGZvciBsaW5lIGluIHBpcGU6CisgICAgICAgIHdpdGggcHJvYzoKKyAgICAgICAgICAgIGZvciBsaW5lIGluIHByb2Muc3Rkb3V0OgogICAgICAgICAgICAgICAgIHdvcmRzID0gbGluZS5sb3dlcigpLnJzdHJpcCgpLnNwbGl0KCkKICAgICAgICAgICAgICAgICBmb3IgaSBpbiByYW5nZShsZW4od29yZHMpKToKICAgICAgICAgICAgICAgICAgICAgaWYgd29yZHNbaV0gaW4gaHdfaWRlbnRpZmllcnM6CiAgICAgICAgICAgICAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd29yZCA9IHdvcmRzW2dldF9pbmRleChpKV0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWMgPSBpbnQod29yZC5yZXBsYWNlKCc6JywgJycpLCAxNikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWMgPSBpbnQod29yZC5yZXBsYWNlKGInOicsIGInJyksIDE2KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIG1hYzoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG1hYwogICAgICAgICAgICAgICAgICAgICAgICAgZXhjZXB0IChWYWx1ZUVycm9yLCBJbmRleEVycm9yKToKQEAgLTM1NCwxMCArMzQ3LDE3IEBACiAgICAgIiIiR2V0IHRoZSBoYXJkd2FyZSBhZGRyZXNzIG9uIFVuaXggYnkgcnVubmluZyBpZmNvbmZpZy4iIiIKICAgICAjIFRoaXMgd29ya3Mgb24gTGludXggKCcnIG9yICctYScpLCBUcnU2NCAoJy1hdicpLCBidXQgbm90IGFsbCBVbml4ZXMuCiAgICAgZm9yIGFyZ3MgaW4gKCcnLCAnLWEnLCAnLWF2Jyk6Ci0gICAgICAgIG1hYyA9IF9maW5kX21hYygnaWZjb25maWcnLCBhcmdzLCBbJ2h3YWRkcicsICdldGhlciddLCBsYW1iZGEgaTogaSsxKQorICAgICAgICBtYWMgPSBfZmluZF9tYWMoJ2lmY29uZmlnJywgYXJncywgW2InaHdhZGRyJywgYidldGhlciddLCBsYW1iZGEgaTogaSsxKQogICAgICAgICBpZiBtYWM6CiAgICAgICAgICAgICByZXR1cm4gbWFjCiAKK2RlZiBfaXBfZ2V0bm9kZSgpOgorICAgICIiIkdldCB0aGUgaGFyZHdhcmUgYWRkcmVzcyBvbiBVbml4IGJ5IHJ1bm5pbmcgaXAuIiIiCisgICAgIyBUaGlzIHdvcmtzIG9uIExpbnV4IHdpdGggaXByb3V0ZTIuCisgICAgbWFjID0gX2ZpbmRfbWFjKCdpcCcsICdsaW5rIGxpc3QnLCBbYidsaW5rL2V0aGVyJ10sIGxhbWJkYSBpOiBpKzEpCisgICAgaWYgbWFjOgorICAgICAgICByZXR1cm4gbWFjCisKIGRlZiBfYXJwX2dldG5vZGUoKToKICAgICAiIiJHZXQgdGhlIGhhcmR3YXJlIGFkZHJlc3Mgb24gVW5peCBieSBydW5uaW5nIGFycC4iIiIKICAgICBpbXBvcnQgb3MsIHNvY2tldApAQCAtMzY3LDMyICszNjcsMzIgQEAKICAgICAgICAgcmV0dXJuIE5vbmUKIAogICAgICMgVHJ5IGdldHRpbmcgdGhlIE1BQyBhZGRyIGZyb20gYXJwIGJhc2VkIG9uIG91ciBJUCBhZGRyZXNzIChTb2xhcmlzKS4KLSAgICByZXR1cm4gX2ZpbmRfbWFjKCdhcnAnLCAnLWFuJywgW2lwX2FkZHJdLCBsYW1iZGEgaTogLTEpCisgICAgcmV0dXJuIF9maW5kX21hYygnYXJwJywgJy1hbicsIFtvcy5mc2VuY29kZShpcF9hZGRyKV0sIGxhbWJkYSBpOiAtMSkKIAogZGVmIF9sYW5zY2FuX2dldG5vZGUoKToKICAgICAiIiJHZXQgdGhlIGhhcmR3YXJlIGFkZHJlc3Mgb24gVW5peCBieSBydW5uaW5nIGxhbnNjYW4uIiIiCiAgICAgIyBUaGlzIG1pZ2h0IHdvcmsgb24gSFAtVVguCi0gICAgcmV0dXJuIF9maW5kX21hYygnbGFuc2NhbicsICctYWknLCBbJ2xhbjAnXSwgbGFtYmRhIGk6IDApCisgICAgcmV0dXJuIF9maW5kX21hYygnbGFuc2NhbicsICctYWknLCBbYidsYW4wJ10sIGxhbWJkYSBpOiAwKQogCiBkZWYgX25ldHN0YXRfZ2V0bm9kZSgpOgogICAgICIiIkdldCB0aGUgaGFyZHdhcmUgYWRkcmVzcyBvbiBVbml4IGJ5IHJ1bm5pbmcgbmV0c3RhdC4iIiIKICAgICAjIFRoaXMgbWlnaHQgd29yayBvbiBBSVgsIFRydTY0IFVOSVggYW5kIHByZXN1bWFibHkgb24gSVJJWC4KICAgICB0cnk6Ci0gICAgICAgIHBpcGUgPSBfcG9wZW4oJ25ldHN0YXQnLCAnLWlhJykKLSAgICAgICAgaWYgbm90IHBpcGU6CisgICAgICAgIHByb2MgPSBfcG9wZW4oJ25ldHN0YXQnLCAnLWlhJykKKyAgICAgICAgaWYgbm90IHByb2M6CiAgICAgICAgICAgICByZXR1cm4KLSAgICAgICAgd2l0aCBwaXBlOgotICAgICAgICAgICAgd29yZHMgPSBwaXBlLnJlYWRsaW5lKCkucnN0cmlwKCkuc3BsaXQoKQorICAgICAgICB3aXRoIHByb2M6CisgICAgICAgICAgICB3b3JkcyA9IHByb2Muc3Rkb3V0LnJlYWRsaW5lKCkucnN0cmlwKCkuc3BsaXQoKQogICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgIGkgPSB3b3Jkcy5pbmRleCgnQWRkcmVzcycpCisgICAgICAgICAgICAgICAgaSA9IHdvcmRzLmluZGV4KGInQWRkcmVzcycpCiAgICAgICAgICAgICBleGNlcHQgVmFsdWVFcnJvcjoKICAgICAgICAgICAgICAgICByZXR1cm4KLSAgICAgICAgICAgIGZvciBsaW5lIGluIHBpcGU6CisgICAgICAgICAgICBmb3IgbGluZSBpbiBwcm9jLnN0ZG91dDoKICAgICAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgICAgIHdvcmRzID0gbGluZS5yc3RyaXAoKS5zcGxpdCgpCiAgICAgICAgICAgICAgICAgICAgIHdvcmQgPSB3b3Jkc1tpXQotICAgICAgICAgICAgICAgICAgICBpZiBsZW4od29yZCkgPT0gMTcgYW5kIHdvcmQuY291bnQoJzonKSA9PSA1OgotICAgICAgICAgICAgICAgICAgICAgICAgbWFjID0gaW50KHdvcmQucmVwbGFjZSgnOicsICcnKSwgMTYpCisgICAgICAgICAgICAgICAgICAgIGlmIGxlbih3b3JkKSA9PSAxNyBhbmQgd29yZC5jb3VudChiJzonKSA9PSA1OgorICAgICAgICAgICAgICAgICAgICAgICAgbWFjID0gaW50KHdvcmQucmVwbGFjZShiJzonLCBiJycpLCAxNikKICAgICAgICAgICAgICAgICAgICAgICAgIGlmIG1hYzoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbWFjCiAgICAgICAgICAgICAgICAgZXhjZXB0IChWYWx1ZUVycm9yLCBJbmRleEVycm9yKToKQEAgLTQ0Nyw5ICs0NDcsMTAgQEAKICAgICAgICAgaWYgd2luMzJ3bmV0Lk5ldGJpb3MobmNiKSAhPSAwOgogICAgICAgICAgICAgY29udGludWUKICAgICAgICAgc3RhdHVzLl91bnBhY2soKQotICAgICAgICBieXRlcyA9IHN0YXR1cy5hZGFwdGVyX2FkZHJlc3MKLSAgICAgICAgcmV0dXJuICgoYnl0ZXNbMF08PDQwKSArIChieXRlc1sxXTw8MzIpICsgKGJ5dGVzWzJdPDwyNCkgKwotICAgICAgICAgICAgICAgIChieXRlc1szXTw8MTYpICsgKGJ5dGVzWzRdPDw4KSArIGJ5dGVzWzVdKQorICAgICAgICBieXRlcyA9IHN0YXR1cy5hZGFwdGVyX2FkZHJlc3NbOjZdCisgICAgICAgIGlmIGxlbihieXRlcykgIT0gNjoKKyAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgIHJldHVybiBpbnQuZnJvbV9ieXRlcyhieXRlcywgJ2JpZycpCiAKICMgVGhhbmtzIHRvIFRob21hcyBIZWxsZXIgZm9yIGN0eXBlcyBhbmQgZm9yIGhpcyBoZWxwIHdpdGggaXRzIHVzZSBoZXJlLgogCkBAIC01MTgsNyArNTE5LDcgQEAKIGRlZiBfcmFuZG9tX2dldG5vZGUoKToKICAgICAiIiJHZXQgYSByYW5kb20gbm9kZSBJRCwgd2l0aCBlaWdodGggYml0IHNldCBhcyBzdWdnZXN0ZWQgYnkgUkZDIDQxMjIuIiIiCiAgICAgaW1wb3J0IHJhbmRvbQotICAgIHJldHVybiByYW5kb20ucmFuZHJhbmdlKDAsIDE8PDQ4KSB8IDB4MDEwMDAwMDAwMDAwCisgICAgcmV0dXJuIHJhbmRvbS5nZXRyYW5kYml0cyg0OCkgfCAweDAxMDAwMDAwMDAwMAogCiBfbm9kZSA9IE5vbmUKIApAQCAtNTM5LDggKzU0MCw4IEBACiAgICAgaWYgc3lzLnBsYXRmb3JtID09ICd3aW4zMic6CiAgICAgICAgIGdldHRlcnMgPSBbX3dpbmRsbF9nZXRub2RlLCBfbmV0Ymlvc19nZXRub2RlLCBfaXBjb25maWdfZ2V0bm9kZV0KICAgICBlbHNlOgotICAgICAgICBnZXR0ZXJzID0gW191bml4ZGxsX2dldG5vZGUsIF9pZmNvbmZpZ19nZXRub2RlLCBfYXJwX2dldG5vZGUsCi0gICAgICAgICAgICAgICAgICAgX2xhbnNjYW5fZ2V0bm9kZSwgX25ldHN0YXRfZ2V0bm9kZV0KKyAgICAgICAgZ2V0dGVycyA9IFtfdW5peGRsbF9nZXRub2RlLCBfaWZjb25maWdfZ2V0bm9kZSwgX2lwX2dldG5vZGUsCisgICAgICAgICAgICAgICAgICAgX2FycF9nZXRub2RlLCBfbGFuc2Nhbl9nZXRub2RlLCBfbmV0c3RhdF9nZXRub2RlXQogCiAgICAgZm9yIGdldHRlciBpbiBnZXR0ZXJzICsgW19yYW5kb21fZ2V0bm9kZV06CiAgICAgICAgIHRyeToKQEAgLTU3Niw3ICs1NzcsNyBAQAogICAgIF9sYXN0X3RpbWVzdGFtcCA9IHRpbWVzdGFtcAogICAgIGlmIGNsb2NrX3NlcSBpcyBOb25lOgogICAgICAgICBpbXBvcnQgcmFuZG9tCi0gICAgICAgIGNsb2NrX3NlcSA9IHJhbmRvbS5yYW5kcmFuZ2UoMTw8MTQpICMgaW5zdGVhZCBvZiBzdGFibGUgc3RvcmFnZQorICAgICAgICBjbG9ja19zZXEgPSByYW5kb20uZ2V0cmFuZGJpdHMoMTQpICMgaW5zdGVhZCBvZiBzdGFibGUgc3RvcmFnZQogICAgIHRpbWVfbG93ID0gdGltZXN0YW1wICYgMHhmZmZmZmZmZgogICAgIHRpbWVfbWlkID0gKHRpbWVzdGFtcCA+PiAzMikgJiAweGZmZmYKICAgICB0aW1lX2hpX3ZlcnNpb24gPSAodGltZXN0YW1wID4+IDQ4KSAmIDB4MGZmZgpAQCAtNjA4LDggKzYwOSw3IEBACiAgICAgICAgIHJldHVybiBVVUlEKGJ5dGVzPW9zLnVyYW5kb20oMTYpLCB2ZXJzaW9uPTQpCiAgICAgZXhjZXB0OgogICAgICAgICBpbXBvcnQgcmFuZG9tCi0gICAgICAgIGJ5dGVzID0gYnl0ZXNfKHJhbmRvbS5yYW5kcmFuZ2UoMjU2KSBmb3IgaSBpbiByYW5nZSgxNikpCi0gICAgICAgIHJldHVybiBVVUlEKGJ5dGVzPWJ5dGVzLCB2ZXJzaW9uPTQpCisgICAgICAgIHJldHVybiBVVUlEKGludD1yYW5kb20uZ2V0cmFuZGJpdHMoMTI4KSwgdmVyc2lvbj00KQogCiBkZWYgdXVpZDUobmFtZXNwYWNlLCBuYW1lKToKICAgICAiIiJHZW5lcmF0ZSBhIFVVSUQgZnJvbSB0aGUgU0hBLTEgaGFzaCBvZiBhIG5hbWVzcGFjZSBVVUlEIGFuZCBhIG5hbWUuIiIiCmRpZmYgLS1naXQgYS9MaWIvd2FybmluZ3MucHkgYi9MaWIvd2FybmluZ3MucHkKaW5kZXggNzBkMDg3ZS4uNWNhNGI5YyAxMDA2NDQKLS0tIGEvTGliL3dhcm5pbmdzLnB5CisrKyBiL0xpYi93YXJuaW5ncy5weQpAQCAtMTY5LDcgKzE2OSw5IEBACiAgICAgIyBDaGVjayBjYXRlZ29yeSBhcmd1bWVudAogICAgIGlmIGNhdGVnb3J5IGlzIE5vbmU6CiAgICAgICAgIGNhdGVnb3J5ID0gVXNlcldhcm5pbmcKLSAgICBhc3NlcnQgaXNzdWJjbGFzcyhjYXRlZ29yeSwgV2FybmluZykKKyAgICBpZiBub3QgKGlzaW5zdGFuY2UoY2F0ZWdvcnksIHR5cGUpIGFuZCBpc3N1YmNsYXNzKGNhdGVnb3J5LCBXYXJuaW5nKSk6CisgICAgICAgIHJhaXNlIFR5cGVFcnJvcigiY2F0ZWdvcnkgbXVzdCBiZSBhIFdhcm5pbmcgc3ViY2xhc3MsICIKKyAgICAgICAgICAgICAgICAgICAgICAgICJub3QgJ3s6c30nIi5mb3JtYXQodHlwZShjYXRlZ29yeSkuX19uYW1lX18pKQogICAgICMgR2V0IGNvbnRleHQgaW5mb3JtYXRpb24KICAgICB0cnk6CiAgICAgICAgIGNhbGxlciA9IHN5cy5fZ2V0ZnJhbWUoc3RhY2tsZXZlbCkKZGlmZiAtLWdpdCBhL0xpYi93ZWFrcmVmLnB5IGIvTGliL3dlYWtyZWYucHkKaW5kZXggMTJiZjk3NS4uYTRlY2FkYyAxMDA2NDQKLS0tIGEvTGliL3dlYWtyZWYucHkKKysrIGIvTGliL3dlYWtyZWYucHkKQEAgLTE0NCw3ICsxNDQsNyBAQAogICAgICAgICByZXR1cm4gbyBpcyBub3QgTm9uZQogCiAgICAgZGVmIF9fcmVwcl9fKHNlbGYpOgotICAgICAgICByZXR1cm4gIjxXZWFrVmFsdWVEaWN0aW9uYXJ5IGF0ICVzPiIgJSBpZChzZWxmKQorICAgICAgICByZXR1cm4gIjwlcyBhdCAlI3g+IiAlIChzZWxmLl9fY2xhc3NfXy5fX25hbWVfXywgaWQoc2VsZikpCiAKICAgICBkZWYgX19zZXRpdGVtX18oc2VsZiwga2V5LCB2YWx1ZSk6CiAgICAgICAgIGlmIHNlbGYuX3BlbmRpbmdfcmVtb3ZhbHM6CkBAIC0zNTksNyArMzU5LDcgQEAKICAgICAgICAgcmV0dXJuIGxlbihzZWxmLmRhdGEpIC0gbGVuKHNlbGYuX3BlbmRpbmdfcmVtb3ZhbHMpCiAKICAgICBkZWYgX19yZXByX18oc2VsZik6Ci0gICAgICAgIHJldHVybiAiPFdlYWtLZXlEaWN0aW9uYXJ5IGF0ICVzPiIgJSBpZChzZWxmKQorICAgICAgICByZXR1cm4gIjwlcyBhdCAlI3g+IiAlIChzZWxmLl9fY2xhc3NfXy5fX25hbWVfXywgaWQoc2VsZikpCiAKICAgICBkZWYgX19zZXRpdGVtX18oc2VsZiwga2V5LCB2YWx1ZSk6CiAgICAgICAgIHNlbGYuZGF0YVtyZWYoa2V5LCBzZWxmLl9yZW1vdmUpXSA9IHZhbHVlCmRpZmYgLS1naXQgYS9MaWIvd3NnaXJlZi9oZWFkZXJzLnB5IGIvTGliL3dzZ2lyZWYvaGVhZGVycy5weQppbmRleCBkOTM5NjI4Li43ZTY3MGIzIDEwMDY0NAotLS0gYS9MaWIvd3NnaXJlZi9oZWFkZXJzLnB5CisrKyBiL0xpYi93c2dpcmVmL2hlYWRlcnMucHkKQEAgLTI2LDEwICsyNiwxMCBAQAogCiAKIGNsYXNzIEhlYWRlcnM6Ci0KICAgICAiIiJNYW5hZ2UgYSBjb2xsZWN0aW9uIG9mIEhUVFAgcmVzcG9uc2UgaGVhZGVycyIiIgogCi0gICAgZGVmIF9faW5pdF9fKHNlbGYsaGVhZGVycyk6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIGhlYWRlcnM9Tm9uZSk6CisgICAgICAgIGhlYWRlcnMgPSBoZWFkZXJzIGlmIGhlYWRlcnMgaXMgbm90IE5vbmUgZWxzZSBbXQogICAgICAgICBpZiB0eXBlKGhlYWRlcnMpIGlzIG5vdCBsaXN0OgogICAgICAgICAgICAgcmFpc2UgVHlwZUVycm9yKCJIZWFkZXJzIG11c3QgYmUgYSBsaXN0IG9mIG5hbWUvdmFsdWUgdHVwbGVzIikKICAgICAgICAgc2VsZi5faGVhZGVycyA9IGhlYWRlcnMKQEAgLTEzMSw3ICsxMzEsNyBAQAogICAgICAgICByZXR1cm4gc2VsZi5faGVhZGVyc1s6XQogCiAgICAgZGVmIF9fcmVwcl9fKHNlbGYpOgotICAgICAgICByZXR1cm4gIkhlYWRlcnMoJXIpIiAlIHNlbGYuX2hlYWRlcnMKKyAgICAgICAgcmV0dXJuICIlcyglcikiICUgKHNlbGYuX19jbGFzc19fLl9fbmFtZV9fLCBzZWxmLl9oZWFkZXJzKQogCiAgICAgZGVmIF9fc3RyX18oc2VsZik6CiAgICAgICAgICIiInN0cigpIHJldHVybnMgdGhlIGZvcm1hdHRlZCBoZWFkZXJzLCBjb21wbGV0ZSB3aXRoIGVuZCBsaW5lLApkaWZmIC0tZ2l0IGEvTGliL3htbC9kb20vbWluaWRvbS5weSBiL0xpYi94bWwvZG9tL21pbmlkb20ucHkKaW5kZXggYzM3OWEzMy4uYTVkODEzZiAxMDA2NDQKLS0tIGEvTGliL3htbC9kb20vbWluaWRvbS5weQorKysgYi9MaWIveG1sL2RvbS9taW5pZG9tLnB5CkBAIC01NDUsOSArNTQ1LDYgQEAKICAgICBkZWYgX19sdF9fKHNlbGYsIG90aGVyKToKICAgICAgICAgcmV0dXJuIHNlbGYuX2NtcChvdGhlcikgPCAwCiAKLSAgICBkZWYgX19uZV9fKHNlbGYsIG90aGVyKToKLSAgICAgICAgcmV0dXJuIHNlbGYuX2NtcChvdGhlcikgIT0gMAotCiAgICAgZGVmIF9fZ2V0aXRlbV9fKHNlbGYsIGF0dG5hbWVfb3JfdHVwbGUpOgogICAgICAgICBpZiBpc2luc3RhbmNlKGF0dG5hbWVfb3JfdHVwbGUsIHR1cGxlKToKICAgICAgICAgICAgIHJldHVybiBzZWxmLl9hdHRyc05TW2F0dG5hbWVfb3JfdHVwbGVdCkBAIC02NDgsOSArNjQ1LDEwIEBACiAKICAgICBkZWYgX19yZXByX18oc2VsZik6CiAgICAgICAgIGlmIHNlbGYubmFtZXNwYWNlOgotICAgICAgICAgICAgcmV0dXJuICI8VHlwZUluZm8gJXIgKGZyb20gJXIpPiIgJSAoc2VsZi5uYW1lLCBzZWxmLm5hbWVzcGFjZSkKKyAgICAgICAgICAgIHJldHVybiAiPCVzICVyIChmcm9tICVyKT4iICUgKHNlbGYuX19jbGFzc19fLl9fbmFtZV9fLCBzZWxmLm5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLm5hbWVzcGFjZSkKICAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHJldHVybiAiPFR5cGVJbmZvICVyPiIgJSBzZWxmLm5hbWUKKyAgICAgICAgICAgIHJldHVybiAiPCVzICVyPiIgJSAoc2VsZi5fX2NsYXNzX18uX19uYW1lX18sIHNlbGYubmFtZSkKIAogICAgIGRlZiBfZ2V0X25hbWUoc2VsZik6CiAgICAgICAgIHJldHVybiBzZWxmLm5hbWUKZGlmZiAtLWdpdCBhL0xpYi94bWwvZXRyZWUvRWxlbWVudFBhdGgucHkgYi9MaWIveG1sL2V0cmVlL0VsZW1lbnRQYXRoLnB5CmluZGV4IGQ5MTRkZGIuLjVkZTQyMzIgMTAwNjQ0Ci0tLSBhL0xpYi94bWwvZXRyZWUvRWxlbWVudFBhdGgucHkKKysrIGIvTGliL3htbC9ldHJlZS9FbGVtZW50UGF0aC5weQpAQCAtMTE0LDcgKzExNCwxMCBAQAogICAgIHJldHVybiBzZWxlY3QKIAogZGVmIHByZXBhcmVfZGVzY2VuZGFudChuZXh0LCB0b2tlbik6Ci0gICAgdG9rZW4gPSBuZXh0KCkKKyAgICB0cnk6CisgICAgICAgIHRva2VuID0gbmV4dCgpCisgICAgZXhjZXB0IFN0b3BJdGVyYXRpb246CisgICAgICAgIHJldHVybgogICAgIGlmIHRva2VuWzBdID09ICIqIjoKICAgICAgICAgdGFnID0gIioiCiAgICAgZWxpZiBub3QgdG9rZW5bMF06CkBAIC0xNDgsNyArMTUxLDEwIEBACiAgICAgc2lnbmF0dXJlID0gW10KICAgICBwcmVkaWNhdGUgPSBbXQogICAgIHdoaWxlIDE6Ci0gICAgICAgIHRva2VuID0gbmV4dCgpCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHRva2VuID0gbmV4dCgpCisgICAgICAgIGV4Y2VwdCBTdG9wSXRlcmF0aW9uOgorICAgICAgICAgICAgcmV0dXJuCiAgICAgICAgIGlmIHRva2VuWzBdID09ICJdIjoKICAgICAgICAgICAgIGJyZWFrCiAgICAgICAgIGlmIHRva2VuWzBdIGFuZCB0b2tlblswXVs6MV0gaW4gIidcIiI6CkBAIC0yNjEsNyArMjY3LDEwIEBACiAgICAgICAgIGlmIHBhdGhbOjFdID09ICIvIjoKICAgICAgICAgICAgIHJhaXNlIFN5bnRheEVycm9yKCJjYW5ub3QgdXNlIGFic29sdXRlIHBhdGggb24gZWxlbWVudCIpCiAgICAgICAgIG5leHQgPSBpdGVyKHhwYXRoX3Rva2VuaXplcihwYXRoLCBuYW1lc3BhY2VzKSkuX19uZXh0X18KLSAgICAgICAgdG9rZW4gPSBuZXh0KCkKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgdG9rZW4gPSBuZXh0KCkKKyAgICAgICAgZXhjZXB0IFN0b3BJdGVyYXRpb246CisgICAgICAgICAgICByZXR1cm4KICAgICAgICAgc2VsZWN0b3IgPSBbXQogICAgICAgICB3aGlsZSAxOgogICAgICAgICAgICAgdHJ5OgpAQCAtMjg2LDEwICsyOTUsNyBAQAogIyBGaW5kIGZpcnN0IG1hdGNoaW5nIG9iamVjdC4KIAogZGVmIGZpbmQoZWxlbSwgcGF0aCwgbmFtZXNwYWNlcz1Ob25lKToKLSAgICB0cnk6Ci0gICAgICAgIHJldHVybiBuZXh0KGl0ZXJmaW5kKGVsZW0sIHBhdGgsIG5hbWVzcGFjZXMpKQotICAgIGV4Y2VwdCBTdG9wSXRlcmF0aW9uOgotICAgICAgICByZXR1cm4gTm9uZQorICAgIHJldHVybiBuZXh0KGl0ZXJmaW5kKGVsZW0sIHBhdGgsIG5hbWVzcGFjZXMpLCBOb25lKQogCiAjIwogIyBGaW5kIGFsbCBtYXRjaGluZyBvYmplY3RzLgpkaWZmIC0tZ2l0IGEvTGliL3htbC9ldHJlZS9FbGVtZW50VHJlZS5weSBiL0xpYi94bWwvZXRyZWUvRWxlbWVudFRyZWUucHkKaW5kZXggYTg1ODViNi4uNGMxMDlhMiAxMDA2NDQKLS0tIGEvTGliL3htbC9ldHJlZS9FbGVtZW50VHJlZS5weQorKysgYi9MaWIveG1sL2V0cmVlL0VsZW1lbnRUcmVlLnB5CkBAIC0xNzQsNyArMTc0LDcgQEAKICAgICAgICAgc2VsZi5fY2hpbGRyZW4gPSBbXQogCiAgICAgZGVmIF9fcmVwcl9fKHNlbGYpOgotICAgICAgICByZXR1cm4gIjxFbGVtZW50ICVzIGF0IDB4JXg+IiAlIChyZXByKHNlbGYudGFnKSwgaWQoc2VsZikpCisgICAgICAgIHJldHVybiAiPCVzICVyIGF0ICUjeD4iICUgKHNlbGYuX19jbGFzc19fLl9fbmFtZV9fLCBzZWxmLnRhZywgaWQoc2VsZikpCiAKICAgICBkZWYgbWFrZWVsZW1lbnQoc2VsZiwgdGFnLCBhdHRyaWIpOgogICAgICAgICAiIiJDcmVhdGUgYSBuZXcgZWxlbWVudCB3aXRoIHRoZSBzYW1lIHR5cGUuCkBAIC01MDksNyArNTA5LDcgQEAKICAgICBkZWYgX19zdHJfXyhzZWxmKToKICAgICAgICAgcmV0dXJuIHNlbGYudGV4dAogICAgIGRlZiBfX3JlcHJfXyhzZWxmKToKLSAgICAgICAgcmV0dXJuICc8UU5hbWUgJXI+JyAlIChzZWxmLnRleHQsKQorICAgICAgICByZXR1cm4gJzwlcyAlcj4nICUgKHNlbGYuX19jbGFzc19fLl9fbmFtZV9fLCBzZWxmLnRleHQpCiAgICAgZGVmIF9faGFzaF9fKHNlbGYpOgogICAgICAgICByZXR1cm4gaGFzaChzZWxmLnRleHQpCiAgICAgZGVmIF9fbGVfXyhzZWxmLCBvdGhlcik6CkBAIC01MzIsMTAgKzUzMiw2IEBACiAgICAgICAgIGlmIGlzaW5zdGFuY2Uob3RoZXIsIFFOYW1lKToKICAgICAgICAgICAgIHJldHVybiBzZWxmLnRleHQgPT0gb3RoZXIudGV4dAogICAgICAgICByZXR1cm4gc2VsZi50ZXh0ID09IG90aGVyCi0gICAgZGVmIF9fbmVfXyhzZWxmLCBvdGhlcik6Ci0gICAgICAgIGlmIGlzaW5zdGFuY2Uob3RoZXIsIFFOYW1lKToKLSAgICAgICAgICAgIHJldHVybiBzZWxmLnRleHQgIT0gb3RoZXIudGV4dAotICAgICAgICByZXR1cm4gc2VsZi50ZXh0ICE9IG90aGVyCiAKICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIApkaWZmIC0tZ2l0IGEvTGliL3htbHJwYy9jbGllbnQucHkgYi9MaWIveG1scnBjL2NsaWVudC5weQppbmRleCBlOGMxOTQ0Li4wNDc5MjlhIDEwMDY0NAotLS0gYS9MaWIveG1scnBjL2NsaWVudC5weQorKysgYi9MaWIveG1scnBjL2NsaWVudC5weQpAQCAtMjA4LDggKzIwOCw4IEBACiAgICAgICAgIHNlbGYuaGVhZGVycyA9IGhlYWRlcnMKICAgICBkZWYgX19yZXByX18oc2VsZik6CiAgICAgICAgIHJldHVybiAoCi0gICAgICAgICAgICAiPFByb3RvY29sRXJyb3IgZm9yICVzOiAlcyAlcz4iICUKLSAgICAgICAgICAgIChzZWxmLnVybCwgc2VsZi5lcnJjb2RlLCBzZWxmLmVycm1zZykKKyAgICAgICAgICAgICI8JXMgZm9yICVzOiAlcyAlcz4iICUKKyAgICAgICAgICAgIChzZWxmLl9fY2xhc3NfXy5fX25hbWVfXywgc2VsZi51cmwsIHNlbGYuZXJyY29kZSwgc2VsZi5lcnJtc2cpCiAgICAgICAgICAgICApCiAKICMjCkBAIC0yMzcsNyArMjM3LDggQEAKICAgICAgICAgc2VsZi5mYXVsdENvZGUgPSBmYXVsdENvZGUKICAgICAgICAgc2VsZi5mYXVsdFN0cmluZyA9IGZhdWx0U3RyaW5nCiAgICAgZGVmIF9fcmVwcl9fKHNlbGYpOgotICAgICAgICByZXR1cm4gIjxGYXVsdCAlczogJXI+IiAlIChzZWxmLmZhdWx0Q29kZSwgc2VsZi5mYXVsdFN0cmluZykKKyAgICAgICAgcmV0dXJuICI8JXMgJXM6ICVyPiIgJSAoc2VsZi5fX2NsYXNzX18uX19uYW1lX18sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuZmF1bHRDb2RlLCBzZWxmLmZhdWx0U3RyaW5nKQogCiAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAjIFNwZWNpYWwgdmFsdWVzCkBAIC0zMzksMTAgKzM0MCw2IEBACiAgICAgICAgIHMsIG8gPSBzZWxmLm1ha2VfY29tcGFyYWJsZShvdGhlcikKICAgICAgICAgcmV0dXJuIHMgPT0gbwogCi0gICAgZGVmIF9fbmVfXyhzZWxmLCBvdGhlcik6Ci0gICAgICAgIHMsIG8gPSBzZWxmLm1ha2VfY29tcGFyYWJsZShvdGhlcikKLSAgICAgICAgcmV0dXJuIHMgIT0gbwotCiAgICAgZGVmIHRpbWV0dXBsZShzZWxmKToKICAgICAgICAgcmV0dXJuIHRpbWUuc3RycHRpbWUoc2VsZi52YWx1ZSwgIiVZJW0lZFQlSDolTTolUyIpCiAKQEAgLTM1NSw3ICszNTIsNyBAQAogICAgICAgICByZXR1cm4gc2VsZi52YWx1ZQogCiAgICAgZGVmIF9fcmVwcl9fKHNlbGYpOgotICAgICAgICByZXR1cm4gIjxEYXRlVGltZSAlciBhdCAleD4iICUgKHNlbGYudmFsdWUsIGlkKHNlbGYpKQorICAgICAgICByZXR1cm4gIjwlcyAlciBhdCAlI3g+IiAlIChzZWxmLl9fY2xhc3NfXy5fX25hbWVfXywgc2VsZi52YWx1ZSwgaWQoc2VsZikpCiAKICAgICBkZWYgZGVjb2RlKHNlbGYsIGRhdGEpOgogICAgICAgICBzZWxmLnZhbHVlID0gc3RyKGRhdGEpLnN0cmlwKCkKQEAgLTQwNiwxMSArNDAzLDYgQEAKICAgICAgICAgICAgIG90aGVyID0gb3RoZXIuZGF0YQogICAgICAgICByZXR1cm4gc2VsZi5kYXRhID09IG90aGVyCiAKLSAgICBkZWYgX19uZV9fKHNlbGYsIG90aGVyKToKLSAgICAgICAgaWYgaXNpbnN0YW5jZShvdGhlciwgQmluYXJ5KToKLSAgICAgICAgICAgIG90aGVyID0gb3RoZXIuZGF0YQotICAgICAgICByZXR1cm4gc2VsZi5kYXRhICE9IG90aGVyCi0KICAgICBkZWYgZGVjb2RlKHNlbGYsIGRhdGEpOgogICAgICAgICBzZWxmLmRhdGEgPSBiYXNlNjQuZGVjb2RlYnl0ZXMoZGF0YSkKIApAQCAtODQ3LDcgKzgzOSw3IEBACiAgICAgICAgIHNlbGYuX19jYWxsX2xpc3QgPSBbXQogCiAgICAgZGVmIF9fcmVwcl9fKHNlbGYpOgotICAgICAgICByZXR1cm4gIjxNdWx0aUNhbGwgYXQgJXg+IiAlIGlkKHNlbGYpCisgICAgICAgIHJldHVybiAiPCVzIGF0ICUjeD4iICUgKHNlbGYuX19jbGFzc19fLl9fbmFtZV9fLCBpZChzZWxmKSkKIAogICAgIF9fc3RyX18gPSBfX3JlcHJfXwogCkBAIC0xNDQ0LDggKzE0MzYsOCBAQAogCiAgICAgZGVmIF9fcmVwcl9fKHNlbGYpOgogICAgICAgICByZXR1cm4gKAotICAgICAgICAgICAgIjxTZXJ2ZXJQcm94eSBmb3IgJXMlcz4iICUKLSAgICAgICAgICAgIChzZWxmLl9faG9zdCwgc2VsZi5fX2hhbmRsZXIpCisgICAgICAgICAgICAiPCVzIGZvciAlcyVzPiIgJQorICAgICAgICAgICAgKHNlbGYuX19jbGFzc19fLl9fbmFtZV9fLCBzZWxmLl9faG9zdCwgc2VsZi5fX2hhbmRsZXIpCiAgICAgICAgICAgICApCiAKICAgICBfX3N0cl9fID0gX19yZXByX18KQEAgLTE0NjcsNiArMTQ1OSwxMiBAQAogICAgICAgICAgICAgcmV0dXJuIHNlbGYuX190cmFuc3BvcnQKICAgICAgICAgcmFpc2UgQXR0cmlidXRlRXJyb3IoIkF0dHJpYnV0ZSAlciBub3QgZm91bmQiICUgKGF0dHIsKSkKIAorICAgIGRlZiBfX2VudGVyX18oc2VsZik6CisgICAgICAgIHJldHVybiBzZWxmCisKKyAgICBkZWYgX19leGl0X18oc2VsZiwgKmFyZ3MpOgorICAgICAgICBzZWxmLl9fY2xvc2UoKQorCiAjIGNvbXBhdGliaWxpdHkKIAogU2VydmVyID0gU2VydmVyUHJveHkKZGlmZiAtLWdpdCBhL0xpYi96aXBmaWxlLnB5IGIvTGliL3ppcGZpbGUucHkKaW5kZXggYmRhNjEzNC4uOGMyOTUwZiAxMDA2NDQKLS0tIGEvTGliL3ppcGZpbGUucHkKKysrIGIvTGliL3ppcGZpbGUucHkKQEAgLTEzLDYgKzEzLDcgQEAKIGltcG9ydCBzaHV0aWwKIGltcG9ydCBzdHJ1Y3QKIGltcG9ydCBiaW5hc2NpaQoraW1wb3J0IHRocmVhZGluZwogCiAKIHRyeToKQEAgLTM1NSw2ICszNTYsMjggQEAKICAgICAgICAgIyBjb21wcmVzc19zaXplICAgICAgICAgU2l6ZSBvZiB0aGUgY29tcHJlc3NlZCBmaWxlCiAgICAgICAgICMgZmlsZV9zaXplICAgICAgICAgICAgIFNpemUgb2YgdGhlIHVuY29tcHJlc3NlZCBmaWxlCiAKKyAgICBkZWYgX19yZXByX18oc2VsZik6CisgICAgICAgIHJlc3VsdCA9IFsnPCVzIGZpbGVuYW1lPSVyJyAlIChzZWxmLl9fY2xhc3NfXy5fX25hbWVfXywgc2VsZi5maWxlbmFtZSldCisgICAgICAgIGlmIHNlbGYuY29tcHJlc3NfdHlwZSAhPSBaSVBfU1RPUkVEOgorICAgICAgICAgICAgcmVzdWx0LmFwcGVuZCgnIGNvbXByZXNzX3R5cGU9JXMnICUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgY29tcHJlc3Nvcl9uYW1lcy5nZXQoc2VsZi5jb21wcmVzc190eXBlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmNvbXByZXNzX3R5cGUpKQorICAgICAgICBoaSA9IHNlbGYuZXh0ZXJuYWxfYXR0ciA+PiAxNgorICAgICAgICBsbyA9IHNlbGYuZXh0ZXJuYWxfYXR0ciAmIDB4RkZGRgorICAgICAgICBpZiBoaToKKyAgICAgICAgICAgIHJlc3VsdC5hcHBlbmQoJyBmaWxlbW9kZT0lcicgJSBzdGF0LmZpbGVtb2RlKGhpKSkKKyAgICAgICAgaWYgbG86CisgICAgICAgICAgICByZXN1bHQuYXBwZW5kKCcgZXh0ZXJuYWxfYXR0cj0lI3gnICUgbG8pCisgICAgICAgIGlzZGlyID0gc2VsZi5maWxlbmFtZVstMTpdID09ICcvJworICAgICAgICBpZiBub3QgaXNkaXIgb3Igc2VsZi5maWxlX3NpemU6CisgICAgICAgICAgICByZXN1bHQuYXBwZW5kKCcgZmlsZV9zaXplPSVyJyAlIHNlbGYuZmlsZV9zaXplKQorICAgICAgICBpZiAoKG5vdCBpc2RpciBvciBzZWxmLmNvbXByZXNzX3NpemUpIGFuZAorICAgICAgICAgICAgKHNlbGYuY29tcHJlc3NfdHlwZSAhPSBaSVBfU1RPUkVEIG9yCisgICAgICAgICAgICAgc2VsZi5maWxlX3NpemUgIT0gc2VsZi5jb21wcmVzc19zaXplKSk6CisgICAgICAgICAgICByZXN1bHQuYXBwZW5kKCcgY29tcHJlc3Nfc2l6ZT0lcicgJSBzZWxmLmNvbXByZXNzX3NpemUpCisgICAgICAgIHJlc3VsdC5hcHBlbmQoJz4nKQorICAgICAgICByZXR1cm4gJycuam9pbihyZXN1bHQpCisKICAgICBkZWYgRmlsZUhlYWRlcihzZWxmLCB6aXA2ND1Ob25lKToKICAgICAgICAgIiIiUmV0dXJuIHRoZSBwZXItZmlsZSBoZWFkZXIgYXMgYSBzdHJpbmcuIiIiCiAgICAgICAgIGR0ID0gc2VsZi5kYXRlX3RpbWUKQEAgLTYyNCw2ICs2NDcsMjcgQEAKICAgICAgICAgICAgIHJhaXNlIE5vdEltcGxlbWVudGVkRXJyb3IoImNvbXByZXNzaW9uIHR5cGUgJWQiICUgKGNvbXByZXNzX3R5cGUsKSkKIAogCitjbGFzcyBfU2hhcmVkRmlsZToKKyAgICBkZWYgX19pbml0X18oc2VsZiwgZmlsZSwgcG9zLCBjbG9zZSwgbG9jayk6CisgICAgICAgIHNlbGYuX2ZpbGUgPSBmaWxlCisgICAgICAgIHNlbGYuX3BvcyA9IHBvcworICAgICAgICBzZWxmLl9jbG9zZSA9IGNsb3NlCisgICAgICAgIHNlbGYuX2xvY2sgPSBsb2NrCisKKyAgICBkZWYgcmVhZChzZWxmLCBuPS0xKToKKyAgICAgICAgd2l0aCBzZWxmLl9sb2NrOgorICAgICAgICAgICAgc2VsZi5fZmlsZS5zZWVrKHNlbGYuX3BvcykKKyAgICAgICAgICAgIGRhdGEgPSBzZWxmLl9maWxlLnJlYWQobikKKyAgICAgICAgICAgIHNlbGYuX3BvcyA9IHNlbGYuX2ZpbGUudGVsbCgpCisgICAgICAgICAgICByZXR1cm4gZGF0YQorCisgICAgZGVmIGNsb3NlKHNlbGYpOgorICAgICAgICBpZiBzZWxmLl9maWxlIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgZmlsZW9iaiA9IHNlbGYuX2ZpbGUKKyAgICAgICAgICAgIHNlbGYuX2ZpbGUgPSBOb25lCisgICAgICAgICAgICBzZWxmLl9jbG9zZShmaWxlb2JqKQorCisKIGNsYXNzIFppcEV4dEZpbGUoaW8uQnVmZmVyZWRJT0Jhc2UpOgogICAgICIiIkZpbGUtbGlrZSBvYmplY3QgZm9yIHJlYWRpbmcgYW4gYXJjaGl2ZSBtZW1iZXIuCiAgICAgICAgSXMgcmV0dXJuZWQgYnkgWmlwRmlsZS5vcGVuKCkuCkBAIC02NzEsNiArNzE1LDIwIEBACiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICBzZWxmLl9leHBlY3RlZF9jcmMgPSBOb25lCiAKKyAgICBkZWYgX19yZXByX18oc2VsZik6CisgICAgICAgIHJlc3VsdCA9IFsnPCVzLiVzJyAlIChzZWxmLl9fY2xhc3NfXy5fX21vZHVsZV9fLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fX2NsYXNzX18uX19xdWFsbmFtZV9fKV0KKyAgICAgICAgaWYgbm90IHNlbGYuY2xvc2VkOgorICAgICAgICAgICAgcmVzdWx0LmFwcGVuZCgnIG5hbWU9JXIgbW9kZT0lcicgJSAoc2VsZi5uYW1lLCBzZWxmLm1vZGUpKQorICAgICAgICAgICAgaWYgc2VsZi5fY29tcHJlc3NfdHlwZSAhPSBaSVBfU1RPUkVEOgorICAgICAgICAgICAgICAgIHJlc3VsdC5hcHBlbmQoJyBjb21wcmVzc190eXBlPSVzJyAlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21wcmVzc29yX25hbWVzLmdldChzZWxmLl9jb21wcmVzc190eXBlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fY29tcHJlc3NfdHlwZSkpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICByZXN1bHQuYXBwZW5kKCcgW2Nsb3NlZF0nKQorICAgICAgICByZXN1bHQuYXBwZW5kKCc+JykKKyAgICAgICAgcmV0dXJuICcnLmpvaW4ocmVzdWx0KQorCiAgICAgZGVmIHJlYWRsaW5lKHNlbGYsIGxpbWl0PS0xKToKICAgICAgICAgIiIiUmVhZCBhbmQgcmV0dXJuIGEgbGluZSBmcm9tIHRoZSBzdHJlYW0uCiAKQEAgLTkwOSw3ICs5NjcsNyBAQAogICAgICAgICBzZWxmLk5hbWVUb0luZm8gPSB7fSAgICAjIEZpbmQgZmlsZSBpbmZvIGdpdmVuIG5hbWUKICAgICAgICAgc2VsZi5maWxlbGlzdCA9IFtdICAgICAgIyBMaXN0IG9mIFppcEluZm8gaW5zdGFuY2VzIGZvciBhcmNoaXZlCiAgICAgICAgIHNlbGYuY29tcHJlc3Npb24gPSBjb21wcmVzc2lvbiAgIyBNZXRob2Qgb2YgY29tcHJlc3Npb24KLSAgICAgICAgc2VsZi5tb2RlID0ga2V5ID0gbW9kZS5yZXBsYWNlKCdiJywgJycpWzBdCisgICAgICAgIHNlbGYubW9kZSA9IG1vZGUKICAgICAgICAgc2VsZi5wd2QgPSBOb25lCiAgICAgICAgIHNlbGYuX2NvbW1lbnQgPSBiJycKIApAQCAtOTE4LDI4ICs5NzYsMzQgQEAKICAgICAgICAgICAgICMgTm8sIGl0J3MgYSBmaWxlbmFtZQogICAgICAgICAgICAgc2VsZi5fZmlsZVBhc3NlZCA9IDAKICAgICAgICAgICAgIHNlbGYuZmlsZW5hbWUgPSBmaWxlCi0gICAgICAgICAgICBtb2RlRGljdCA9IHsncicgOiAncmInLCAndyc6ICd3YicsICdhJyA6ICdyK2InfQotICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgIHNlbGYuZnAgPSBpby5vcGVuKGZpbGUsIG1vZGVEaWN0W21vZGVdKQotICAgICAgICAgICAgZXhjZXB0IE9TRXJyb3I6Ci0gICAgICAgICAgICAgICAgaWYgbW9kZSA9PSAnYSc6Ci0gICAgICAgICAgICAgICAgICAgIG1vZGUgPSBrZXkgPSAndycKLSAgICAgICAgICAgICAgICAgICAgc2VsZi5mcCA9IGlvLm9wZW4oZmlsZSwgbW9kZURpY3RbbW9kZV0pCi0gICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgIG1vZGVEaWN0ID0geydyJyA6ICdyYicsICd3JzogJ3crYicsICdhJyA6ICdyK2InLAorICAgICAgICAgICAgICAgICAgICAgICAgJ3IrYic6ICd3K2InLCAndytiJzogJ3diJ30KKyAgICAgICAgICAgIGZpbGVtb2RlID0gbW9kZURpY3RbbW9kZV0KKyAgICAgICAgICAgIHdoaWxlIFRydWU6CisgICAgICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgICAgICBzZWxmLmZwID0gaW8ub3BlbihmaWxlLCBmaWxlbW9kZSkKKyAgICAgICAgICAgICAgICBleGNlcHQgT1NFcnJvcjoKKyAgICAgICAgICAgICAgICAgICAgaWYgZmlsZW1vZGUgaW4gbW9kZURpY3Q6CisgICAgICAgICAgICAgICAgICAgICAgICBmaWxlbW9kZSA9IG1vZGVEaWN0W2ZpbGVtb2RlXQorICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWUKICAgICAgICAgICAgICAgICAgICAgcmFpc2UKKyAgICAgICAgICAgICAgICBicmVhawogICAgICAgICBlbHNlOgogICAgICAgICAgICAgc2VsZi5fZmlsZVBhc3NlZCA9IDEKICAgICAgICAgICAgIHNlbGYuZnAgPSBmaWxlCiAgICAgICAgICAgICBzZWxmLmZpbGVuYW1lID0gZ2V0YXR0cihmaWxlLCAnbmFtZScsIE5vbmUpCisgICAgICAgIHNlbGYuX2ZpbGVSZWZDbnQgPSAxCisgICAgICAgIHNlbGYuX2xvY2sgPSB0aHJlYWRpbmcuUkxvY2soKQogCiAgICAgICAgIHRyeToKLSAgICAgICAgICAgIGlmIGtleSA9PSAncic6CisgICAgICAgICAgICBpZiBtb2RlID09ICdyJzoKICAgICAgICAgICAgICAgICBzZWxmLl9SZWFsR2V0Q29udGVudHMoKQotICAgICAgICAgICAgZWxpZiBrZXkgPT0gJ3cnOgorICAgICAgICAgICAgZWxpZiBtb2RlID09ICd3JzoKICAgICAgICAgICAgICAgICAjIHNldCB0aGUgbW9kaWZpZWQgZmxhZyBzbyBjZW50cmFsIGRpcmVjdG9yeSBnZXRzIHdyaXR0ZW4KICAgICAgICAgICAgICAgICAjIGV2ZW4gaWYgbm8gZmlsZXMgYXJlIGFkZGVkIHRvIHRoZSBhcmNoaXZlCiAgICAgICAgICAgICAgICAgc2VsZi5fZGlkTW9kaWZ5ID0gVHJ1ZQotICAgICAgICAgICAgZWxpZiBrZXkgPT0gJ2EnOgorICAgICAgICAgICAgICAgIHNlbGYuc3RhcnRfZGlyID0gc2VsZi5mcC50ZWxsKCkKKyAgICAgICAgICAgIGVsaWYgbW9kZSA9PSAnYSc6CiAgICAgICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgICAgICAjIFNlZSBpZiBmaWxlIGlzIGEgemlwIGZpbGUKICAgICAgICAgICAgICAgICAgICAgc2VsZi5fUmVhbEdldENvbnRlbnRzKCkKQEAgLTk1MiwxMyArMTAxNiwxMyBAQAogICAgICAgICAgICAgICAgICAgICAjIHNldCB0aGUgbW9kaWZpZWQgZmxhZyBzbyBjZW50cmFsIGRpcmVjdG9yeSBnZXRzIHdyaXR0ZW4KICAgICAgICAgICAgICAgICAgICAgIyBldmVuIGlmIG5vIGZpbGVzIGFyZSBhZGRlZCB0byB0aGUgYXJjaGl2ZQogICAgICAgICAgICAgICAgICAgICBzZWxmLl9kaWRNb2RpZnkgPSBUcnVlCisgICAgICAgICAgICAgICAgICAgIHNlbGYuc3RhcnRfZGlyID0gc2VsZi5mcC50ZWxsKCkKICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgcmFpc2UgUnVudGltZUVycm9yKCdNb2RlIG11c3QgYmUgInIiLCAidyIgb3IgImEiJykKICAgICAgICAgZXhjZXB0OgogICAgICAgICAgICAgZnAgPSBzZWxmLmZwCiAgICAgICAgICAgICBzZWxmLmZwID0gTm9uZQotICAgICAgICAgICAgaWYgbm90IHNlbGYuX2ZpbGVQYXNzZWQ6Ci0gICAgICAgICAgICAgICAgZnAuY2xvc2UoKQorICAgICAgICAgICAgc2VsZi5fZnBjbG9zZShmcCkKICAgICAgICAgICAgIHJhaXNlCiAKICAgICBkZWYgX19lbnRlcl9fKHNlbGYpOgpAQCAtOTY3LDYgKzEwMzEsMjAgQEAKICAgICBkZWYgX19leGl0X18oc2VsZiwgdHlwZSwgdmFsdWUsIHRyYWNlYmFjayk6CiAgICAgICAgIHNlbGYuY2xvc2UoKQogCisgICAgZGVmIF9fcmVwcl9fKHNlbGYpOgorICAgICAgICByZXN1bHQgPSBbJzwlcy4lcycgJSAoc2VsZi5fX2NsYXNzX18uX19tb2R1bGVfXywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX19jbGFzc19fLl9fcXVhbG5hbWVfXyldCisgICAgICAgIGlmIHNlbGYuZnAgaXMgbm90IE5vbmU6CisgICAgICAgICAgICBpZiBzZWxmLl9maWxlUGFzc2VkOgorICAgICAgICAgICAgICAgIHJlc3VsdC5hcHBlbmQoJyBmaWxlPSVyJyAlIHNlbGYuZnApCisgICAgICAgICAgICBlbGlmIHNlbGYuZmlsZW5hbWUgaXMgbm90IE5vbmU6CisgICAgICAgICAgICAgICAgcmVzdWx0LmFwcGVuZCgnIGZpbGVuYW1lPSVyJyAlIHNlbGYuZmlsZW5hbWUpCisgICAgICAgICAgICByZXN1bHQuYXBwZW5kKCcgbW9kZT0lcicgJSBzZWxmLm1vZGUpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICByZXN1bHQuYXBwZW5kKCcgW2Nsb3NlZF0nKQorICAgICAgICByZXN1bHQuYXBwZW5kKCc+JykKKyAgICAgICAgcmV0dXJuICcnLmpvaW4ocmVzdWx0KQorCiAgICAgZGVmIF9SZWFsR2V0Q29udGVudHMoc2VsZik6CiAgICAgICAgICIiIlJlYWQgaW4gdGhlIHRhYmxlIG9mIGNvbnRlbnRzIGZvciB0aGUgWklQIGZpbGUuIiIiCiAgICAgICAgIGZwID0gc2VsZi5mcApAQCAtMTEzMSwyMyArMTIwOSwxNyBAQAogICAgICAgICAgICAgcmFpc2UgUnVudGltZUVycm9yKAogICAgICAgICAgICAgICAgICJBdHRlbXB0IHRvIHJlYWQgWklQIGFyY2hpdmUgdGhhdCB3YXMgYWxyZWFkeSBjbG9zZWQiKQogCi0gICAgICAgICMgT25seSBvcGVuIGEgbmV3IGZpbGUgZm9yIGluc3RhbmNlcyB3aGVyZSB3ZSB3ZXJlIG5vdAotICAgICAgICAjIGdpdmVuIGEgZmlsZSBvYmplY3QgaW4gdGhlIGNvbnN0cnVjdG9yCi0gICAgICAgIGlmIHNlbGYuX2ZpbGVQYXNzZWQ6Ci0gICAgICAgICAgICB6ZWZfZmlsZSA9IHNlbGYuZnAKKyAgICAgICAgIyBNYWtlIHN1cmUgd2UgaGF2ZSBhbiBpbmZvIG9iamVjdAorICAgICAgICBpZiBpc2luc3RhbmNlKG5hbWUsIFppcEluZm8pOgorICAgICAgICAgICAgIyAnbmFtZScgaXMgYWxyZWFkeSBhbiBpbmZvIG9iamVjdAorICAgICAgICAgICAgemluZm8gPSBuYW1lCiAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICB6ZWZfZmlsZSA9IGlvLm9wZW4oc2VsZi5maWxlbmFtZSwgJ3JiJykKKyAgICAgICAgICAgICMgR2V0IGluZm8gb2JqZWN0IGZvciBuYW1lCisgICAgICAgICAgICB6aW5mbyA9IHNlbGYuZ2V0aW5mbyhuYW1lKQogCisgICAgICAgIHNlbGYuX2ZpbGVSZWZDbnQgKz0gMQorICAgICAgICB6ZWZfZmlsZSA9IF9TaGFyZWRGaWxlKHNlbGYuZnAsIHppbmZvLmhlYWRlcl9vZmZzZXQsIHNlbGYuX2ZwY2xvc2UsIHNlbGYuX2xvY2spCiAgICAgICAgIHRyeToKLSAgICAgICAgICAgICMgTWFrZSBzdXJlIHdlIGhhdmUgYW4gaW5mbyBvYmplY3QKLSAgICAgICAgICAgIGlmIGlzaW5zdGFuY2UobmFtZSwgWmlwSW5mbyk6Ci0gICAgICAgICAgICAgICAgIyAnbmFtZScgaXMgYWxyZWFkeSBhbiBpbmZvIG9iamVjdAotICAgICAgICAgICAgICAgIHppbmZvID0gbmFtZQotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAjIEdldCBpbmZvIG9iamVjdCBmb3IgbmFtZQotICAgICAgICAgICAgICAgIHppbmZvID0gc2VsZi5nZXRpbmZvKG5hbWUpCi0gICAgICAgICAgICB6ZWZfZmlsZS5zZWVrKHppbmZvLmhlYWRlcl9vZmZzZXQsIDApCi0KICAgICAgICAgICAgICMgU2tpcCB0aGUgZmlsZSBoZWFkZXI6CiAgICAgICAgICAgICBmaGVhZGVyID0gemVmX2ZpbGUucmVhZChzaXplRmlsZUhlYWRlcikKICAgICAgICAgICAgIGlmIGxlbihmaGVhZGVyKSAhPSBzaXplRmlsZUhlYWRlcjoKQEAgLTEyMDYsMTEgKzEyNzgsOSBAQAogICAgICAgICAgICAgICAgIGlmIGhbMTFdICE9IGNoZWNrX2J5dGU6CiAgICAgICAgICAgICAgICAgICAgIHJhaXNlIFJ1bnRpbWVFcnJvcigiQmFkIHBhc3N3b3JkIGZvciBmaWxlIiwgbmFtZSkKIAotICAgICAgICAgICAgcmV0dXJuIFppcEV4dEZpbGUoemVmX2ZpbGUsIG1vZGUsIHppbmZvLCB6ZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsb3NlX2ZpbGVvYmo9bm90IHNlbGYuX2ZpbGVQYXNzZWQpCisgICAgICAgICAgICByZXR1cm4gWmlwRXh0RmlsZSh6ZWZfZmlsZSwgbW9kZSwgemluZm8sIHpkLCBUcnVlKQogICAgICAgICBleGNlcHQ6Ci0gICAgICAgICAgICBpZiBub3Qgc2VsZi5fZmlsZVBhc3NlZDoKLSAgICAgICAgICAgICAgICB6ZWZfZmlsZS5jbG9zZSgpCisgICAgICAgICAgICB6ZWZfZmlsZS5jbG9zZSgpCiAgICAgICAgICAgICByYWlzZQogCiAgICAgZGVmIGV4dHJhY3Qoc2VsZiwgbWVtYmVyLCBwYXRoPU5vbmUsIHB3ZD1Ob25lKToKQEAgLTEzNDQsNjYgKzE0MTQsNjkgQEAKIAogICAgICAgICB6aW5mby5maWxlX3NpemUgPSBzdC5zdF9zaXplCiAgICAgICAgIHppbmZvLmZsYWdfYml0cyA9IDB4MDAKLSAgICAgICAgemluZm8uaGVhZGVyX29mZnNldCA9IHNlbGYuZnAudGVsbCgpICAgICMgU3RhcnQgb2YgaGVhZGVyIGJ5dGVzCi0gICAgICAgIGlmIHppbmZvLmNvbXByZXNzX3R5cGUgPT0gWklQX0xaTUE6Ci0gICAgICAgICAgICAjIENvbXByZXNzZWQgZGF0YSBpbmNsdWRlcyBhbiBlbmQtb2Ytc3RyZWFtIChFT1MpIG1hcmtlcgotICAgICAgICAgICAgemluZm8uZmxhZ19iaXRzIHw9IDB4MDIKKyAgICAgICAgd2l0aCBzZWxmLl9sb2NrOgorICAgICAgICAgICAgc2VsZi5mcC5zZWVrKHNlbGYuc3RhcnRfZGlyLCAwKQorICAgICAgICAgICAgemluZm8uaGVhZGVyX29mZnNldCA9IHNlbGYuZnAudGVsbCgpICAgICMgU3RhcnQgb2YgaGVhZGVyIGJ5dGVzCisgICAgICAgICAgICBpZiB6aW5mby5jb21wcmVzc190eXBlID09IFpJUF9MWk1BOgorICAgICAgICAgICAgICAgICMgQ29tcHJlc3NlZCBkYXRhIGluY2x1ZGVzIGFuIGVuZC1vZi1zdHJlYW0gKEVPUykgbWFya2VyCisgICAgICAgICAgICAgICAgemluZm8uZmxhZ19iaXRzIHw9IDB4MDIKIAotICAgICAgICBzZWxmLl93cml0ZWNoZWNrKHppbmZvKQotICAgICAgICBzZWxmLl9kaWRNb2RpZnkgPSBUcnVlCisgICAgICAgICAgICBzZWxmLl93cml0ZWNoZWNrKHppbmZvKQorICAgICAgICAgICAgc2VsZi5fZGlkTW9kaWZ5ID0gVHJ1ZQogCi0gICAgICAgIGlmIGlzZGlyOgotICAgICAgICAgICAgemluZm8uZmlsZV9zaXplID0gMAotICAgICAgICAgICAgemluZm8uY29tcHJlc3Nfc2l6ZSA9IDAKLSAgICAgICAgICAgIHppbmZvLkNSQyA9IDAKLSAgICAgICAgICAgIHppbmZvLmV4dGVybmFsX2F0dHIgfD0gMHgxMCAgIyBNUy1ET1MgZGlyZWN0b3J5IGZsYWcKKyAgICAgICAgICAgIGlmIGlzZGlyOgorICAgICAgICAgICAgICAgIHppbmZvLmZpbGVfc2l6ZSA9IDAKKyAgICAgICAgICAgICAgICB6aW5mby5jb21wcmVzc19zaXplID0gMAorICAgICAgICAgICAgICAgIHppbmZvLkNSQyA9IDAKKyAgICAgICAgICAgICAgICB6aW5mby5leHRlcm5hbF9hdHRyIHw9IDB4MTAgICMgTVMtRE9TIGRpcmVjdG9yeSBmbGFnCisgICAgICAgICAgICAgICAgc2VsZi5maWxlbGlzdC5hcHBlbmQoemluZm8pCisgICAgICAgICAgICAgICAgc2VsZi5OYW1lVG9JbmZvW3ppbmZvLmZpbGVuYW1lXSA9IHppbmZvCisgICAgICAgICAgICAgICAgc2VsZi5mcC53cml0ZSh6aW5mby5GaWxlSGVhZGVyKEZhbHNlKSkKKyAgICAgICAgICAgICAgICBzZWxmLnN0YXJ0X2RpciA9IHNlbGYuZnAudGVsbCgpCisgICAgICAgICAgICAgICAgcmV0dXJuCisKKyAgICAgICAgICAgIGNtcHIgPSBfZ2V0X2NvbXByZXNzb3IoemluZm8uY29tcHJlc3NfdHlwZSkKKyAgICAgICAgICAgIHdpdGggb3BlbihmaWxlbmFtZSwgInJiIikgYXMgZnA6CisgICAgICAgICAgICAgICAgIyBNdXN0IG92ZXJ3cml0ZSBDUkMgYW5kIHNpemVzIHdpdGggY29ycmVjdCBkYXRhIGxhdGVyCisgICAgICAgICAgICAgICAgemluZm8uQ1JDID0gQ1JDID0gMAorICAgICAgICAgICAgICAgIHppbmZvLmNvbXByZXNzX3NpemUgPSBjb21wcmVzc19zaXplID0gMAorICAgICAgICAgICAgICAgICMgQ29tcHJlc3NlZCBzaXplIGNhbiBiZSBsYXJnZXIgdGhhbiB1bmNvbXByZXNzZWQgc2l6ZQorICAgICAgICAgICAgICAgIHppcDY0ID0gc2VsZi5fYWxsb3daaXA2NCBhbmQgXAorICAgICAgICAgICAgICAgICAgICB6aW5mby5maWxlX3NpemUgKiAxLjA1ID4gWklQNjRfTElNSVQKKyAgICAgICAgICAgICAgICBzZWxmLmZwLndyaXRlKHppbmZvLkZpbGVIZWFkZXIoemlwNjQpKQorICAgICAgICAgICAgICAgIGZpbGVfc2l6ZSA9IDAKKyAgICAgICAgICAgICAgICB3aGlsZSAxOgorICAgICAgICAgICAgICAgICAgICBidWYgPSBmcC5yZWFkKDEwMjQgKiA4KQorICAgICAgICAgICAgICAgICAgICBpZiBub3QgYnVmOgorICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWsKKyAgICAgICAgICAgICAgICAgICAgZmlsZV9zaXplID0gZmlsZV9zaXplICsgbGVuKGJ1ZikKKyAgICAgICAgICAgICAgICAgICAgQ1JDID0gY3JjMzIoYnVmLCBDUkMpICYgMHhmZmZmZmZmZgorICAgICAgICAgICAgICAgICAgICBpZiBjbXByOgorICAgICAgICAgICAgICAgICAgICAgICAgYnVmID0gY21wci5jb21wcmVzcyhidWYpCisgICAgICAgICAgICAgICAgICAgICAgICBjb21wcmVzc19zaXplID0gY29tcHJlc3Nfc2l6ZSArIGxlbihidWYpCisgICAgICAgICAgICAgICAgICAgIHNlbGYuZnAud3JpdGUoYnVmKQorICAgICAgICAgICAgaWYgY21wcjoKKyAgICAgICAgICAgICAgICBidWYgPSBjbXByLmZsdXNoKCkKKyAgICAgICAgICAgICAgICBjb21wcmVzc19zaXplID0gY29tcHJlc3Nfc2l6ZSArIGxlbihidWYpCisgICAgICAgICAgICAgICAgc2VsZi5mcC53cml0ZShidWYpCisgICAgICAgICAgICAgICAgemluZm8uY29tcHJlc3Nfc2l6ZSA9IGNvbXByZXNzX3NpemUKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgemluZm8uY29tcHJlc3Nfc2l6ZSA9IGZpbGVfc2l6ZQorICAgICAgICAgICAgemluZm8uQ1JDID0gQ1JDCisgICAgICAgICAgICB6aW5mby5maWxlX3NpemUgPSBmaWxlX3NpemUKKyAgICAgICAgICAgIGlmIG5vdCB6aXA2NCBhbmQgc2VsZi5fYWxsb3daaXA2NDoKKyAgICAgICAgICAgICAgICBpZiBmaWxlX3NpemUgPiBaSVA2NF9MSU1JVDoKKyAgICAgICAgICAgICAgICAgICAgcmFpc2UgUnVudGltZUVycm9yKCdGaWxlIHNpemUgaGFzIGluY3JlYXNlZCBkdXJpbmcgY29tcHJlc3NpbmcnKQorICAgICAgICAgICAgICAgIGlmIGNvbXByZXNzX3NpemUgPiBaSVA2NF9MSU1JVDoKKyAgICAgICAgICAgICAgICAgICAgcmFpc2UgUnVudGltZUVycm9yKCdDb21wcmVzc2VkIHNpemUgbGFyZ2VyIHRoYW4gdW5jb21wcmVzc2VkIHNpemUnKQorICAgICAgICAgICAgIyBTZWVrIGJhY2t3YXJkcyBhbmQgd3JpdGUgZmlsZSBoZWFkZXIgKHdoaWNoIHdpbGwgbm93IGluY2x1ZGUKKyAgICAgICAgICAgICMgY29ycmVjdCBDUkMgYW5kIGZpbGUgc2l6ZXMpCisgICAgICAgICAgICBzZWxmLnN0YXJ0X2RpciA9IHNlbGYuZnAudGVsbCgpICAgICAgICMgUHJlc2VydmUgY3VycmVudCBwb3NpdGlvbiBpbiBmaWxlCisgICAgICAgICAgICBzZWxmLmZwLnNlZWsoemluZm8uaGVhZGVyX29mZnNldCwgMCkKKyAgICAgICAgICAgIHNlbGYuZnAud3JpdGUoemluZm8uRmlsZUhlYWRlcih6aXA2NCkpCisgICAgICAgICAgICBzZWxmLmZwLnNlZWsoc2VsZi5zdGFydF9kaXIsIDApCiAgICAgICAgICAgICBzZWxmLmZpbGVsaXN0LmFwcGVuZCh6aW5mbykKICAgICAgICAgICAgIHNlbGYuTmFtZVRvSW5mb1t6aW5mby5maWxlbmFtZV0gPSB6aW5mbwotICAgICAgICAgICAgc2VsZi5mcC53cml0ZSh6aW5mby5GaWxlSGVhZGVyKEZhbHNlKSkKLSAgICAgICAgICAgIHJldHVybgotCi0gICAgICAgIGNtcHIgPSBfZ2V0X2NvbXByZXNzb3IoemluZm8uY29tcHJlc3NfdHlwZSkKLSAgICAgICAgd2l0aCBvcGVuKGZpbGVuYW1lLCAicmIiKSBhcyBmcDoKLSAgICAgICAgICAgICMgTXVzdCBvdmVyd3JpdGUgQ1JDIGFuZCBzaXplcyB3aXRoIGNvcnJlY3QgZGF0YSBsYXRlcgotICAgICAgICAgICAgemluZm8uQ1JDID0gQ1JDID0gMAotICAgICAgICAgICAgemluZm8uY29tcHJlc3Nfc2l6ZSA9IGNvbXByZXNzX3NpemUgPSAwCi0gICAgICAgICAgICAjIENvbXByZXNzZWQgc2l6ZSBjYW4gYmUgbGFyZ2VyIHRoYW4gdW5jb21wcmVzc2VkIHNpemUKLSAgICAgICAgICAgIHppcDY0ID0gc2VsZi5fYWxsb3daaXA2NCBhbmQgXAotICAgICAgICAgICAgICAgIHppbmZvLmZpbGVfc2l6ZSAqIDEuMDUgPiBaSVA2NF9MSU1JVAotICAgICAgICAgICAgc2VsZi5mcC53cml0ZSh6aW5mby5GaWxlSGVhZGVyKHppcDY0KSkKLSAgICAgICAgICAgIGZpbGVfc2l6ZSA9IDAKLSAgICAgICAgICAgIHdoaWxlIDE6Ci0gICAgICAgICAgICAgICAgYnVmID0gZnAucmVhZCgxMDI0ICogOCkKLSAgICAgICAgICAgICAgICBpZiBub3QgYnVmOgotICAgICAgICAgICAgICAgICAgICBicmVhawotICAgICAgICAgICAgICAgIGZpbGVfc2l6ZSA9IGZpbGVfc2l6ZSArIGxlbihidWYpCi0gICAgICAgICAgICAgICAgQ1JDID0gY3JjMzIoYnVmLCBDUkMpICYgMHhmZmZmZmZmZgotICAgICAgICAgICAgICAgIGlmIGNtcHI6Ci0gICAgICAgICAgICAgICAgICAgIGJ1ZiA9IGNtcHIuY29tcHJlc3MoYnVmKQotICAgICAgICAgICAgICAgICAgICBjb21wcmVzc19zaXplID0gY29tcHJlc3Nfc2l6ZSArIGxlbihidWYpCi0gICAgICAgICAgICAgICAgc2VsZi5mcC53cml0ZShidWYpCi0gICAgICAgIGlmIGNtcHI6Ci0gICAgICAgICAgICBidWYgPSBjbXByLmZsdXNoKCkKLSAgICAgICAgICAgIGNvbXByZXNzX3NpemUgPSBjb21wcmVzc19zaXplICsgbGVuKGJ1ZikKLSAgICAgICAgICAgIHNlbGYuZnAud3JpdGUoYnVmKQotICAgICAgICAgICAgemluZm8uY29tcHJlc3Nfc2l6ZSA9IGNvbXByZXNzX3NpemUKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHppbmZvLmNvbXByZXNzX3NpemUgPSBmaWxlX3NpemUKLSAgICAgICAgemluZm8uQ1JDID0gQ1JDCi0gICAgICAgIHppbmZvLmZpbGVfc2l6ZSA9IGZpbGVfc2l6ZQotICAgICAgICBpZiBub3QgemlwNjQgYW5kIHNlbGYuX2FsbG93WmlwNjQ6Ci0gICAgICAgICAgICBpZiBmaWxlX3NpemUgPiBaSVA2NF9MSU1JVDoKLSAgICAgICAgICAgICAgICByYWlzZSBSdW50aW1lRXJyb3IoJ0ZpbGUgc2l6ZSBoYXMgaW5jcmVhc2VkIGR1cmluZyBjb21wcmVzc2luZycpCi0gICAgICAgICAgICBpZiBjb21wcmVzc19zaXplID4gWklQNjRfTElNSVQ6Ci0gICAgICAgICAgICAgICAgcmFpc2UgUnVudGltZUVycm9yKCdDb21wcmVzc2VkIHNpemUgbGFyZ2VyIHRoYW4gdW5jb21wcmVzc2VkIHNpemUnKQotICAgICAgICAjIFNlZWsgYmFja3dhcmRzIGFuZCB3cml0ZSBmaWxlIGhlYWRlciAod2hpY2ggd2lsbCBub3cgaW5jbHVkZQotICAgICAgICAjIGNvcnJlY3QgQ1JDIGFuZCBmaWxlIHNpemVzKQotICAgICAgICBwb3NpdGlvbiA9IHNlbGYuZnAudGVsbCgpICAgICAgICMgUHJlc2VydmUgY3VycmVudCBwb3NpdGlvbiBpbiBmaWxlCi0gICAgICAgIHNlbGYuZnAuc2Vlayh6aW5mby5oZWFkZXJfb2Zmc2V0LCAwKQotICAgICAgICBzZWxmLmZwLndyaXRlKHppbmZvLkZpbGVIZWFkZXIoemlwNjQpKQotICAgICAgICBzZWxmLmZwLnNlZWsocG9zaXRpb24sIDApCi0gICAgICAgIHNlbGYuZmlsZWxpc3QuYXBwZW5kKHppbmZvKQotICAgICAgICBzZWxmLk5hbWVUb0luZm9bemluZm8uZmlsZW5hbWVdID0gemluZm8KIAogICAgIGRlZiB3cml0ZXN0cihzZWxmLCB6aW5mb19vcl9hcmNuYW1lLCBkYXRhLCBjb21wcmVzc190eXBlPU5vbmUpOgogICAgICAgICAiIiJXcml0ZSBhIGZpbGUgaW50byB0aGUgYXJjaGl2ZS4gIFRoZSBjb250ZW50cyBpcyAnZGF0YScsIHdoaWNoCkBAIC0xNDMwLDM2ICsxNTAzLDQ2IEBACiAgICAgICAgICAgICAgICAgIkF0dGVtcHQgdG8gd3JpdGUgdG8gWklQIGFyY2hpdmUgdGhhdCB3YXMgYWxyZWFkeSBjbG9zZWQiKQogCiAgICAgICAgIHppbmZvLmZpbGVfc2l6ZSA9IGxlbihkYXRhKSAgICAgICAgICAgICMgVW5jb21wcmVzc2VkIHNpemUKLSAgICAgICAgemluZm8uaGVhZGVyX29mZnNldCA9IHNlbGYuZnAudGVsbCgpICAgICMgU3RhcnQgb2YgaGVhZGVyIGRhdGEKLSAgICAgICAgaWYgY29tcHJlc3NfdHlwZSBpcyBub3QgTm9uZToKLSAgICAgICAgICAgIHppbmZvLmNvbXByZXNzX3R5cGUgPSBjb21wcmVzc190eXBlCi0gICAgICAgIGlmIHppbmZvLmNvbXByZXNzX3R5cGUgPT0gWklQX0xaTUE6Ci0gICAgICAgICAgICAjIENvbXByZXNzZWQgZGF0YSBpbmNsdWRlcyBhbiBlbmQtb2Ytc3RyZWFtIChFT1MpIG1hcmtlcgotICAgICAgICAgICAgemluZm8uZmxhZ19iaXRzIHw9IDB4MDIKKyAgICAgICAgd2l0aCBzZWxmLl9sb2NrOgorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIHNlbGYuZnAuc2VlayhzZWxmLnN0YXJ0X2RpcikKKyAgICAgICAgICAgIGV4Y2VwdCAoQXR0cmlidXRlRXJyb3IsIGlvLlVuc3VwcG9ydGVkT3BlcmF0aW9uKToKKyAgICAgICAgICAgICAgICAjIFNvbWUgZmlsZS1saWtlIG9iamVjdHMgY2FuIHByb3ZpZGUgdGVsbCgpIGJ1dCBub3Qgc2VlaygpCisgICAgICAgICAgICAgICAgcGFzcworICAgICAgICAgICAgemluZm8uaGVhZGVyX29mZnNldCA9IHNlbGYuZnAudGVsbCgpICAgICMgU3RhcnQgb2YgaGVhZGVyIGRhdGEKKyAgICAgICAgICAgIGlmIGNvbXByZXNzX3R5cGUgaXMgbm90IE5vbmU6CisgICAgICAgICAgICAgICAgemluZm8uY29tcHJlc3NfdHlwZSA9IGNvbXByZXNzX3R5cGUKKyAgICAgICAgICAgIHppbmZvLmhlYWRlcl9vZmZzZXQgPSBzZWxmLmZwLnRlbGwoKSAgICAjIFN0YXJ0IG9mIGhlYWRlciBkYXRhCisgICAgICAgICAgICBpZiBjb21wcmVzc190eXBlIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgICAgIHppbmZvLmNvbXByZXNzX3R5cGUgPSBjb21wcmVzc190eXBlCisgICAgICAgICAgICBpZiB6aW5mby5jb21wcmVzc190eXBlID09IFpJUF9MWk1BOgorICAgICAgICAgICAgICAgICMgQ29tcHJlc3NlZCBkYXRhIGluY2x1ZGVzIGFuIGVuZC1vZi1zdHJlYW0gKEVPUykgbWFya2VyCisgICAgICAgICAgICAgICAgemluZm8uZmxhZ19iaXRzIHw9IDB4MDIKIAotICAgICAgICBzZWxmLl93cml0ZWNoZWNrKHppbmZvKQotICAgICAgICBzZWxmLl9kaWRNb2RpZnkgPSBUcnVlCi0gICAgICAgIHppbmZvLkNSQyA9IGNyYzMyKGRhdGEpICYgMHhmZmZmZmZmZiAgICAgICAjIENSQy0zMiBjaGVja3N1bQotICAgICAgICBjbyA9IF9nZXRfY29tcHJlc3Nvcih6aW5mby5jb21wcmVzc190eXBlKQotICAgICAgICBpZiBjbzoKLSAgICAgICAgICAgIGRhdGEgPSBjby5jb21wcmVzcyhkYXRhKSArIGNvLmZsdXNoKCkKLSAgICAgICAgICAgIHppbmZvLmNvbXByZXNzX3NpemUgPSBsZW4oZGF0YSkgICAgIyBDb21wcmVzc2VkIHNpemUKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHppbmZvLmNvbXByZXNzX3NpemUgPSB6aW5mby5maWxlX3NpemUKLSAgICAgICAgemlwNjQgPSB6aW5mby5maWxlX3NpemUgPiBaSVA2NF9MSU1JVCBvciBcCi0gICAgICAgICAgICB6aW5mby5jb21wcmVzc19zaXplID4gWklQNjRfTElNSVQKLSAgICAgICAgaWYgemlwNjQgYW5kIG5vdCBzZWxmLl9hbGxvd1ppcDY0OgotICAgICAgICAgICAgcmFpc2UgTGFyZ2VaaXBGaWxlKCJGaWxlc2l6ZSB3b3VsZCByZXF1aXJlIFpJUDY0IGV4dGVuc2lvbnMiKQotICAgICAgICBzZWxmLmZwLndyaXRlKHppbmZvLkZpbGVIZWFkZXIoemlwNjQpKQotICAgICAgICBzZWxmLmZwLndyaXRlKGRhdGEpCi0gICAgICAgIGlmIHppbmZvLmZsYWdfYml0cyAmIDB4MDg6Ci0gICAgICAgICAgICAjIFdyaXRlIENSQyBhbmQgZmlsZSBzaXplcyBhZnRlciB0aGUgZmlsZSBkYXRhCi0gICAgICAgICAgICBmbXQgPSAnPExRUScgaWYgemlwNjQgZWxzZSAnPExMTCcKLSAgICAgICAgICAgIHNlbGYuZnAud3JpdGUoc3RydWN0LnBhY2soZm10LCB6aW5mby5DUkMsIHppbmZvLmNvbXByZXNzX3NpemUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHppbmZvLmZpbGVfc2l6ZSkpCi0gICAgICAgIHNlbGYuZnAuZmx1c2goKQotICAgICAgICBzZWxmLmZpbGVsaXN0LmFwcGVuZCh6aW5mbykKLSAgICAgICAgc2VsZi5OYW1lVG9JbmZvW3ppbmZvLmZpbGVuYW1lXSA9IHppbmZvCisgICAgICAgICAgICBzZWxmLl93cml0ZWNoZWNrKHppbmZvKQorICAgICAgICAgICAgc2VsZi5fZGlkTW9kaWZ5ID0gVHJ1ZQorICAgICAgICAgICAgemluZm8uQ1JDID0gY3JjMzIoZGF0YSkgJiAweGZmZmZmZmZmICAgICAgICMgQ1JDLTMyIGNoZWNrc3VtCisgICAgICAgICAgICBjbyA9IF9nZXRfY29tcHJlc3Nvcih6aW5mby5jb21wcmVzc190eXBlKQorICAgICAgICAgICAgaWYgY286CisgICAgICAgICAgICAgICAgZGF0YSA9IGNvLmNvbXByZXNzKGRhdGEpICsgY28uZmx1c2goKQorICAgICAgICAgICAgICAgIHppbmZvLmNvbXByZXNzX3NpemUgPSBsZW4oZGF0YSkgICAgIyBDb21wcmVzc2VkIHNpemUKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgemluZm8uY29tcHJlc3Nfc2l6ZSA9IHppbmZvLmZpbGVfc2l6ZQorICAgICAgICAgICAgemlwNjQgPSB6aW5mby5maWxlX3NpemUgPiBaSVA2NF9MSU1JVCBvciBcCisgICAgICAgICAgICAgICAgemluZm8uY29tcHJlc3Nfc2l6ZSA+IFpJUDY0X0xJTUlUCisgICAgICAgICAgICBpZiB6aXA2NCBhbmQgbm90IHNlbGYuX2FsbG93WmlwNjQ6CisgICAgICAgICAgICAgICAgcmFpc2UgTGFyZ2VaaXBGaWxlKCJGaWxlc2l6ZSB3b3VsZCByZXF1aXJlIFpJUDY0IGV4dGVuc2lvbnMiKQorICAgICAgICAgICAgc2VsZi5mcC53cml0ZSh6aW5mby5GaWxlSGVhZGVyKHppcDY0KSkKKyAgICAgICAgICAgIHNlbGYuZnAud3JpdGUoZGF0YSkKKyAgICAgICAgICAgIGlmIHppbmZvLmZsYWdfYml0cyAmIDB4MDg6CisgICAgICAgICAgICAgICAgIyBXcml0ZSBDUkMgYW5kIGZpbGUgc2l6ZXMgYWZ0ZXIgdGhlIGZpbGUgZGF0YQorICAgICAgICAgICAgICAgIGZtdCA9ICc8TFFRJyBpZiB6aXA2NCBlbHNlICc8TExMJworICAgICAgICAgICAgICAgIHNlbGYuZnAud3JpdGUoc3RydWN0LnBhY2soZm10LCB6aW5mby5DUkMsIHppbmZvLmNvbXByZXNzX3NpemUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB6aW5mby5maWxlX3NpemUpKQorICAgICAgICAgICAgc2VsZi5mcC5mbHVzaCgpCisgICAgICAgICAgICBzZWxmLnN0YXJ0X2RpciA9IHNlbGYuZnAudGVsbCgpCisgICAgICAgICAgICBzZWxmLmZpbGVsaXN0LmFwcGVuZCh6aW5mbykKKyAgICAgICAgICAgIHNlbGYuTmFtZVRvSW5mb1t6aW5mby5maWxlbmFtZV0gPSB6aW5mbwogCiAgICAgZGVmIF9fZGVsX18oc2VsZik6CiAgICAgICAgICIiIkNhbGwgdGhlICJjbG9zZSgpIiBtZXRob2QgaW4gY2FzZSB0aGUgdXNlciBmb3Jnb3QuIiIiCkBAIC0xNDczLDExMSArMTU1NiwxMjQgQEAKIAogICAgICAgICB0cnk6CiAgICAgICAgICAgICBpZiBzZWxmLm1vZGUgaW4gKCJ3IiwgImEiKSBhbmQgc2VsZi5fZGlkTW9kaWZ5OiAjIHdyaXRlIGVuZGluZyByZWNvcmRzCi0gICAgICAgICAgICAgICAgcG9zMSA9IHNlbGYuZnAudGVsbCgpCi0gICAgICAgICAgICAgICAgZm9yIHppbmZvIGluIHNlbGYuZmlsZWxpc3Q6ICAgICAgICAgIyB3cml0ZSBjZW50cmFsIGRpcmVjdG9yeQotICAgICAgICAgICAgICAgICAgICBkdCA9IHppbmZvLmRhdGVfdGltZQotICAgICAgICAgICAgICAgICAgICBkb3NkYXRlID0gKGR0WzBdIC0gMTk4MCkgPDwgOSB8IGR0WzFdIDw8IDUgfCBkdFsyXQotICAgICAgICAgICAgICAgICAgICBkb3N0aW1lID0gZHRbM10gPDwgMTEgfCBkdFs0XSA8PCA1IHwgKGR0WzVdIC8vIDIpCi0gICAgICAgICAgICAgICAgICAgIGV4dHJhID0gW10KLSAgICAgICAgICAgICAgICAgICAgaWYgemluZm8uZmlsZV9zaXplID4gWklQNjRfTElNSVQgXAotICAgICAgICAgICAgICAgICAgICAgICBvciB6aW5mby5jb21wcmVzc19zaXplID4gWklQNjRfTElNSVQ6Ci0gICAgICAgICAgICAgICAgICAgICAgICBleHRyYS5hcHBlbmQoemluZm8uZmlsZV9zaXplKQotICAgICAgICAgICAgICAgICAgICAgICAgZXh0cmEuYXBwZW5kKHppbmZvLmNvbXByZXNzX3NpemUpCi0gICAgICAgICAgICAgICAgICAgICAgICBmaWxlX3NpemUgPSAweGZmZmZmZmZmCi0gICAgICAgICAgICAgICAgICAgICAgICBjb21wcmVzc19zaXplID0gMHhmZmZmZmZmZgotICAgICAgICAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgICAgICAgICAgZmlsZV9zaXplID0gemluZm8uZmlsZV9zaXplCi0gICAgICAgICAgICAgICAgICAgICAgICBjb21wcmVzc19zaXplID0gemluZm8uY29tcHJlc3Nfc2l6ZQotCi0gICAgICAgICAgICAgICAgICAgIGlmIHppbmZvLmhlYWRlcl9vZmZzZXQgPiBaSVA2NF9MSU1JVDoKLSAgICAgICAgICAgICAgICAgICAgICAgIGV4dHJhLmFwcGVuZCh6aW5mby5oZWFkZXJfb2Zmc2V0KQotICAgICAgICAgICAgICAgICAgICAgICAgaGVhZGVyX29mZnNldCA9IDB4ZmZmZmZmZmYKLSAgICAgICAgICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgICAgIGhlYWRlcl9vZmZzZXQgPSB6aW5mby5oZWFkZXJfb2Zmc2V0Ci0KLSAgICAgICAgICAgICAgICAgICAgZXh0cmFfZGF0YSA9IHppbmZvLmV4dHJhCi0gICAgICAgICAgICAgICAgICAgIG1pbl92ZXJzaW9uID0gMAotICAgICAgICAgICAgICAgICAgICBpZiBleHRyYToKLSAgICAgICAgICAgICAgICAgICAgICAgICMgQXBwZW5kIGEgWklQNjQgZmllbGQgdG8gdGhlIGV4dHJhJ3MKLSAgICAgICAgICAgICAgICAgICAgICAgIGV4dHJhX2RhdGEgPSBzdHJ1Y3QucGFjaygKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPEhIJyArICdRJypsZW4oZXh0cmEpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEsIDgqbGVuKGV4dHJhKSwgKmV4dHJhKSArIGV4dHJhX2RhdGEKLQotICAgICAgICAgICAgICAgICAgICAgICAgbWluX3ZlcnNpb24gPSBaSVA2NF9WRVJTSU9OCi0KLSAgICAgICAgICAgICAgICAgICAgaWYgemluZm8uY29tcHJlc3NfdHlwZSA9PSBaSVBfQlpJUDI6Ci0gICAgICAgICAgICAgICAgICAgICAgICBtaW5fdmVyc2lvbiA9IG1heChCWklQMl9WRVJTSU9OLCBtaW5fdmVyc2lvbikKLSAgICAgICAgICAgICAgICAgICAgZWxpZiB6aW5mby5jb21wcmVzc190eXBlID09IFpJUF9MWk1BOgotICAgICAgICAgICAgICAgICAgICAgICAgbWluX3ZlcnNpb24gPSBtYXgoTFpNQV9WRVJTSU9OLCBtaW5fdmVyc2lvbikKLQotICAgICAgICAgICAgICAgICAgICBleHRyYWN0X3ZlcnNpb24gPSBtYXgobWluX3ZlcnNpb24sIHppbmZvLmV4dHJhY3RfdmVyc2lvbikKLSAgICAgICAgICAgICAgICAgICAgY3JlYXRlX3ZlcnNpb24gPSBtYXgobWluX3ZlcnNpb24sIHppbmZvLmNyZWF0ZV92ZXJzaW9uKQorICAgICAgICAgICAgICAgIHdpdGggc2VsZi5fbG9jazoKICAgICAgICAgICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgICAgICAgICAgZmlsZW5hbWUsIGZsYWdfYml0cyA9IHppbmZvLl9lbmNvZGVGaWxlbmFtZUZsYWdzKCkKLSAgICAgICAgICAgICAgICAgICAgICAgIGNlbnRkaXIgPSBzdHJ1Y3QucGFjayhzdHJ1Y3RDZW50cmFsRGlyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmluZ0NlbnRyYWxEaXIsIGNyZWF0ZV92ZXJzaW9uLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHppbmZvLmNyZWF0ZV9zeXN0ZW0sIGV4dHJhY3RfdmVyc2lvbiwgemluZm8ucmVzZXJ2ZWQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxhZ19iaXRzLCB6aW5mby5jb21wcmVzc190eXBlLCBkb3N0aW1lLCBkb3NkYXRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHppbmZvLkNSQywgY29tcHJlc3Nfc2l6ZSwgZmlsZV9zaXplLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlbihmaWxlbmFtZSksIGxlbihleHRyYV9kYXRhKSwgbGVuKHppbmZvLmNvbW1lbnQpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAsIHppbmZvLmludGVybmFsX2F0dHIsIHppbmZvLmV4dGVybmFsX2F0dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVhZGVyX29mZnNldCkKLSAgICAgICAgICAgICAgICAgICAgZXhjZXB0IERlcHJlY2F0aW9uV2FybmluZzoKLSAgICAgICAgICAgICAgICAgICAgICAgIHByaW50KChzdHJ1Y3RDZW50cmFsRGlyLCBzdHJpbmdDZW50cmFsRGlyLCBjcmVhdGVfdmVyc2lvbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB6aW5mby5jcmVhdGVfc3lzdGVtLCBleHRyYWN0X3ZlcnNpb24sIHppbmZvLnJlc2VydmVkLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHppbmZvLmZsYWdfYml0cywgemluZm8uY29tcHJlc3NfdHlwZSwgZG9zdGltZSwgZG9zZGF0ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB6aW5mby5DUkMsIGNvbXByZXNzX3NpemUsIGZpbGVfc2l6ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZW4oemluZm8uZmlsZW5hbWUpLCBsZW4oZXh0cmFfZGF0YSksIGxlbih6aW5mby5jb21tZW50KSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLCB6aW5mby5pbnRlcm5hbF9hdHRyLCB6aW5mby5leHRlcm5hbF9hdHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlYWRlcl9vZmZzZXQpLCBmaWxlPXN5cy5zdGRlcnIpCi0gICAgICAgICAgICAgICAgICAgICAgICByYWlzZQotICAgICAgICAgICAgICAgICAgICBzZWxmLmZwLndyaXRlKGNlbnRkaXIpCi0gICAgICAgICAgICAgICAgICAgIHNlbGYuZnAud3JpdGUoZmlsZW5hbWUpCi0gICAgICAgICAgICAgICAgICAgIHNlbGYuZnAud3JpdGUoZXh0cmFfZGF0YSkKLSAgICAgICAgICAgICAgICAgICAgc2VsZi5mcC53cml0ZSh6aW5mby5jb21tZW50KQotCi0gICAgICAgICAgICAgICAgcG9zMiA9IHNlbGYuZnAudGVsbCgpCi0gICAgICAgICAgICAgICAgIyBXcml0ZSBlbmQtb2YtemlwLWFyY2hpdmUgcmVjb3JkCi0gICAgICAgICAgICAgICAgY2VudERpckNvdW50ID0gbGVuKHNlbGYuZmlsZWxpc3QpCi0gICAgICAgICAgICAgICAgY2VudERpclNpemUgPSBwb3MyIC0gcG9zMQotICAgICAgICAgICAgICAgIGNlbnREaXJPZmZzZXQgPSBwb3MxCi0gICAgICAgICAgICAgICAgcmVxdWlyZXNfemlwNjQgPSBOb25lCi0gICAgICAgICAgICAgICAgaWYgY2VudERpckNvdW50ID4gWklQX0ZJTEVDT1VOVF9MSU1JVDoKLSAgICAgICAgICAgICAgICAgICAgcmVxdWlyZXNfemlwNjQgPSAiRmlsZXMgY291bnQiCi0gICAgICAgICAgICAgICAgZWxpZiBjZW50RGlyT2Zmc2V0ID4gWklQNjRfTElNSVQ6Ci0gICAgICAgICAgICAgICAgICAgIHJlcXVpcmVzX3ppcDY0ID0gIkNlbnRyYWwgZGlyZWN0b3J5IG9mZnNldCIKLSAgICAgICAgICAgICAgICBlbGlmIGNlbnREaXJTaXplID4gWklQNjRfTElNSVQ6Ci0gICAgICAgICAgICAgICAgICAgIHJlcXVpcmVzX3ppcDY0ID0gIkNlbnRyYWwgZGlyZWN0b3J5IHNpemUiCi0gICAgICAgICAgICAgICAgaWYgcmVxdWlyZXNfemlwNjQ6Ci0gICAgICAgICAgICAgICAgICAgICMgTmVlZCB0byB3cml0ZSB0aGUgWklQNjQgZW5kLW9mLWFyY2hpdmUgcmVjb3JkcwotICAgICAgICAgICAgICAgICAgICBpZiBub3Qgc2VsZi5fYWxsb3daaXA2NDoKLSAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlIExhcmdlWmlwRmlsZShyZXF1aXJlc196aXA2NCArCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiB3b3VsZCByZXF1aXJlIFpJUDY0IGV4dGVuc2lvbnMiKQotICAgICAgICAgICAgICAgICAgICB6aXA2NGVuZHJlYyA9IHN0cnVjdC5wYWNrKAotICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0RW5kQXJjaGl2ZTY0LCBzdHJpbmdFbmRBcmNoaXZlNjQsCi0gICAgICAgICAgICAgICAgICAgICAgICA0NCwgNDUsIDQ1LCAwLCAwLCBjZW50RGlyQ291bnQsIGNlbnREaXJDb3VudCwKLSAgICAgICAgICAgICAgICAgICAgICAgIGNlbnREaXJTaXplLCBjZW50RGlyT2Zmc2V0KQotICAgICAgICAgICAgICAgICAgICBzZWxmLmZwLndyaXRlKHppcDY0ZW5kcmVjKQotCi0gICAgICAgICAgICAgICAgICAgIHppcDY0bG9jcmVjID0gc3RydWN0LnBhY2soCi0gICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3RFbmRBcmNoaXZlNjRMb2NhdG9yLAotICAgICAgICAgICAgICAgICAgICAgICAgc3RyaW5nRW5kQXJjaGl2ZTY0TG9jYXRvciwgMCwgcG9zMiwgMSkKLSAgICAgICAgICAgICAgICAgICAgc2VsZi5mcC53cml0ZSh6aXA2NGxvY3JlYykKLSAgICAgICAgICAgICAgICAgICAgY2VudERpckNvdW50ID0gbWluKGNlbnREaXJDb3VudCwgMHhGRkZGKQotICAgICAgICAgICAgICAgICAgICBjZW50RGlyU2l6ZSA9IG1pbihjZW50RGlyU2l6ZSwgMHhGRkZGRkZGRikKLSAgICAgICAgICAgICAgICAgICAgY2VudERpck9mZnNldCA9IG1pbihjZW50RGlyT2Zmc2V0LCAweEZGRkZGRkZGKQotCi0gICAgICAgICAgICAgICAgZW5kcmVjID0gc3RydWN0LnBhY2soc3RydWN0RW5kQXJjaGl2ZSwgc3RyaW5nRW5kQXJjaGl2ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLCAwLCBjZW50RGlyQ291bnQsIGNlbnREaXJDb3VudCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjZW50RGlyU2l6ZSwgY2VudERpck9mZnNldCwgbGVuKHNlbGYuX2NvbW1lbnQpKQotICAgICAgICAgICAgICAgIHNlbGYuZnAud3JpdGUoZW5kcmVjKQotICAgICAgICAgICAgICAgIHNlbGYuZnAud3JpdGUoc2VsZi5fY29tbWVudCkKLSAgICAgICAgICAgICAgICBzZWxmLmZwLmZsdXNoKCkKKyAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuZnAuc2VlayhzZWxmLnN0YXJ0X2RpcikKKyAgICAgICAgICAgICAgICAgICAgZXhjZXB0IChBdHRyaWJ1dGVFcnJvciwgaW8uVW5zdXBwb3J0ZWRPcGVyYXRpb24pOgorICAgICAgICAgICAgICAgICAgICAgICAgIyBTb21lIGZpbGUtbGlrZSBvYmplY3RzIGNhbiBwcm92aWRlIHRlbGwoKSBidXQgbm90IHNlZWsoKQorICAgICAgICAgICAgICAgICAgICAgICAgcGFzcworICAgICAgICAgICAgICAgICAgICBzZWxmLl93cml0ZV9lbmRfcmVjb3JkKCkKICAgICAgICAgZmluYWxseToKICAgICAgICAgICAgIGZwID0gc2VsZi5mcAogICAgICAgICAgICAgc2VsZi5mcCA9IE5vbmUKLSAgICAgICAgICAgIGlmIG5vdCBzZWxmLl9maWxlUGFzc2VkOgotICAgICAgICAgICAgICAgIGZwLmNsb3NlKCkKKyAgICAgICAgICAgIHNlbGYuX2ZwY2xvc2UoZnApCisKKyAgICBkZWYgX3dyaXRlX2VuZF9yZWNvcmQoc2VsZik6CisgICAgICAgIGZvciB6aW5mbyBpbiBzZWxmLmZpbGVsaXN0OiAgICAgICAgICMgd3JpdGUgY2VudHJhbCBkaXJlY3RvcnkKKyAgICAgICAgICAgIGR0ID0gemluZm8uZGF0ZV90aW1lCisgICAgICAgICAgICBkb3NkYXRlID0gKGR0WzBdIC0gMTk4MCkgPDwgOSB8IGR0WzFdIDw8IDUgfCBkdFsyXQorICAgICAgICAgICAgZG9zdGltZSA9IGR0WzNdIDw8IDExIHwgZHRbNF0gPDwgNSB8IChkdFs1XSAvLyAyKQorICAgICAgICAgICAgZXh0cmEgPSBbXQorICAgICAgICAgICAgaWYgemluZm8uZmlsZV9zaXplID4gWklQNjRfTElNSVQgXAorICAgICAgICAgICAgICAgb3IgemluZm8uY29tcHJlc3Nfc2l6ZSA+IFpJUDY0X0xJTUlUOgorICAgICAgICAgICAgICAgIGV4dHJhLmFwcGVuZCh6aW5mby5maWxlX3NpemUpCisgICAgICAgICAgICAgICAgZXh0cmEuYXBwZW5kKHppbmZvLmNvbXByZXNzX3NpemUpCisgICAgICAgICAgICAgICAgZmlsZV9zaXplID0gMHhmZmZmZmZmZgorICAgICAgICAgICAgICAgIGNvbXByZXNzX3NpemUgPSAweGZmZmZmZmZmCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIGZpbGVfc2l6ZSA9IHppbmZvLmZpbGVfc2l6ZQorICAgICAgICAgICAgICAgIGNvbXByZXNzX3NpemUgPSB6aW5mby5jb21wcmVzc19zaXplCisKKyAgICAgICAgICAgIGlmIHppbmZvLmhlYWRlcl9vZmZzZXQgPiBaSVA2NF9MSU1JVDoKKyAgICAgICAgICAgICAgICBleHRyYS5hcHBlbmQoemluZm8uaGVhZGVyX29mZnNldCkKKyAgICAgICAgICAgICAgICBoZWFkZXJfb2Zmc2V0ID0gMHhmZmZmZmZmZgorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBoZWFkZXJfb2Zmc2V0ID0gemluZm8uaGVhZGVyX29mZnNldAorCisgICAgICAgICAgICBleHRyYV9kYXRhID0gemluZm8uZXh0cmEKKyAgICAgICAgICAgIG1pbl92ZXJzaW9uID0gMAorICAgICAgICAgICAgaWYgZXh0cmE6CisgICAgICAgICAgICAgICAgIyBBcHBlbmQgYSBaSVA2NCBmaWVsZCB0byB0aGUgZXh0cmEncworICAgICAgICAgICAgICAgIGV4dHJhX2RhdGEgPSBzdHJ1Y3QucGFjaygKKyAgICAgICAgICAgICAgICAgICAgJzxISCcgKyAnUScqbGVuKGV4dHJhKSwKKyAgICAgICAgICAgICAgICAgICAgMSwgOCpsZW4oZXh0cmEpLCAqZXh0cmEpICsgZXh0cmFfZGF0YQorCisgICAgICAgICAgICAgICAgbWluX3ZlcnNpb24gPSBaSVA2NF9WRVJTSU9OCisKKyAgICAgICAgICAgIGlmIHppbmZvLmNvbXByZXNzX3R5cGUgPT0gWklQX0JaSVAyOgorICAgICAgICAgICAgICAgIG1pbl92ZXJzaW9uID0gbWF4KEJaSVAyX1ZFUlNJT04sIG1pbl92ZXJzaW9uKQorICAgICAgICAgICAgZWxpZiB6aW5mby5jb21wcmVzc190eXBlID09IFpJUF9MWk1BOgorICAgICAgICAgICAgICAgIG1pbl92ZXJzaW9uID0gbWF4KExaTUFfVkVSU0lPTiwgbWluX3ZlcnNpb24pCisKKyAgICAgICAgICAgIGV4dHJhY3RfdmVyc2lvbiA9IG1heChtaW5fdmVyc2lvbiwgemluZm8uZXh0cmFjdF92ZXJzaW9uKQorICAgICAgICAgICAgY3JlYXRlX3ZlcnNpb24gPSBtYXgobWluX3ZlcnNpb24sIHppbmZvLmNyZWF0ZV92ZXJzaW9uKQorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIGZpbGVuYW1lLCBmbGFnX2JpdHMgPSB6aW5mby5fZW5jb2RlRmlsZW5hbWVGbGFncygpCisgICAgICAgICAgICAgICAgY2VudGRpciA9IHN0cnVjdC5wYWNrKHN0cnVjdENlbnRyYWxEaXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmluZ0NlbnRyYWxEaXIsIGNyZWF0ZV92ZXJzaW9uLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB6aW5mby5jcmVhdGVfc3lzdGVtLCBleHRyYWN0X3ZlcnNpb24sIHppbmZvLnJlc2VydmVkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGFnX2JpdHMsIHppbmZvLmNvbXByZXNzX3R5cGUsIGRvc3RpbWUsIGRvc2RhdGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHppbmZvLkNSQywgY29tcHJlc3Nfc2l6ZSwgZmlsZV9zaXplLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZW4oZmlsZW5hbWUpLCBsZW4oZXh0cmFfZGF0YSksIGxlbih6aW5mby5jb21tZW50KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwgemluZm8uaW50ZXJuYWxfYXR0ciwgemluZm8uZXh0ZXJuYWxfYXR0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVhZGVyX29mZnNldCkKKyAgICAgICAgICAgIGV4Y2VwdCBEZXByZWNhdGlvbldhcm5pbmc6CisgICAgICAgICAgICAgICAgcHJpbnQoKHN0cnVjdENlbnRyYWxEaXIsIHN0cmluZ0NlbnRyYWxEaXIsIGNyZWF0ZV92ZXJzaW9uLAorICAgICAgICAgICAgICAgICAgICAgICB6aW5mby5jcmVhdGVfc3lzdGVtLCBleHRyYWN0X3ZlcnNpb24sIHppbmZvLnJlc2VydmVkLAorICAgICAgICAgICAgICAgICAgICAgICB6aW5mby5mbGFnX2JpdHMsIHppbmZvLmNvbXByZXNzX3R5cGUsIGRvc3RpbWUsIGRvc2RhdGUsCisgICAgICAgICAgICAgICAgICAgICAgIHppbmZvLkNSQywgY29tcHJlc3Nfc2l6ZSwgZmlsZV9zaXplLAorICAgICAgICAgICAgICAgICAgICAgICBsZW4oemluZm8uZmlsZW5hbWUpLCBsZW4oZXh0cmFfZGF0YSksIGxlbih6aW5mby5jb21tZW50KSwKKyAgICAgICAgICAgICAgICAgICAgICAgMCwgemluZm8uaW50ZXJuYWxfYXR0ciwgemluZm8uZXh0ZXJuYWxfYXR0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgaGVhZGVyX29mZnNldCksIGZpbGU9c3lzLnN0ZGVycikKKyAgICAgICAgICAgICAgICByYWlzZQorICAgICAgICAgICAgc2VsZi5mcC53cml0ZShjZW50ZGlyKQorICAgICAgICAgICAgc2VsZi5mcC53cml0ZShmaWxlbmFtZSkKKyAgICAgICAgICAgIHNlbGYuZnAud3JpdGUoZXh0cmFfZGF0YSkKKyAgICAgICAgICAgIHNlbGYuZnAud3JpdGUoemluZm8uY29tbWVudCkKKworICAgICAgICBwb3MyID0gc2VsZi5mcC50ZWxsKCkKKyAgICAgICAgIyBXcml0ZSBlbmQtb2YtemlwLWFyY2hpdmUgcmVjb3JkCisgICAgICAgIGNlbnREaXJDb3VudCA9IGxlbihzZWxmLmZpbGVsaXN0KQorICAgICAgICBjZW50RGlyU2l6ZSA9IHBvczIgLSBzZWxmLnN0YXJ0X2RpcgorICAgICAgICBjZW50RGlyT2Zmc2V0ID0gc2VsZi5zdGFydF9kaXIKKyAgICAgICAgcmVxdWlyZXNfemlwNjQgPSBOb25lCisgICAgICAgIGlmIGNlbnREaXJDb3VudCA+IFpJUF9GSUxFQ09VTlRfTElNSVQ6CisgICAgICAgICAgICByZXF1aXJlc196aXA2NCA9ICJGaWxlcyBjb3VudCIKKyAgICAgICAgZWxpZiBjZW50RGlyT2Zmc2V0ID4gWklQNjRfTElNSVQ6CisgICAgICAgICAgICByZXF1aXJlc196aXA2NCA9ICJDZW50cmFsIGRpcmVjdG9yeSBvZmZzZXQiCisgICAgICAgIGVsaWYgY2VudERpclNpemUgPiBaSVA2NF9MSU1JVDoKKyAgICAgICAgICAgIHJlcXVpcmVzX3ppcDY0ID0gIkNlbnRyYWwgZGlyZWN0b3J5IHNpemUiCisgICAgICAgIGlmIHJlcXVpcmVzX3ppcDY0OgorICAgICAgICAgICAgIyBOZWVkIHRvIHdyaXRlIHRoZSBaSVA2NCBlbmQtb2YtYXJjaGl2ZSByZWNvcmRzCisgICAgICAgICAgICBpZiBub3Qgc2VsZi5fYWxsb3daaXA2NDoKKyAgICAgICAgICAgICAgICByYWlzZSBMYXJnZVppcEZpbGUocmVxdWlyZXNfemlwNjQgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiIHdvdWxkIHJlcXVpcmUgWklQNjQgZXh0ZW5zaW9ucyIpCisgICAgICAgICAgICB6aXA2NGVuZHJlYyA9IHN0cnVjdC5wYWNrKAorICAgICAgICAgICAgICAgIHN0cnVjdEVuZEFyY2hpdmU2NCwgc3RyaW5nRW5kQXJjaGl2ZTY0LAorICAgICAgICAgICAgICAgIDQ0LCA0NSwgNDUsIDAsIDAsIGNlbnREaXJDb3VudCwgY2VudERpckNvdW50LAorICAgICAgICAgICAgICAgIGNlbnREaXJTaXplLCBjZW50RGlyT2Zmc2V0KQorICAgICAgICAgICAgc2VsZi5mcC53cml0ZSh6aXA2NGVuZHJlYykKKworICAgICAgICAgICAgemlwNjRsb2NyZWMgPSBzdHJ1Y3QucGFjaygKKyAgICAgICAgICAgICAgICBzdHJ1Y3RFbmRBcmNoaXZlNjRMb2NhdG9yLAorICAgICAgICAgICAgICAgIHN0cmluZ0VuZEFyY2hpdmU2NExvY2F0b3IsIDAsIHBvczIsIDEpCisgICAgICAgICAgICBzZWxmLmZwLndyaXRlKHppcDY0bG9jcmVjKQorICAgICAgICAgICAgY2VudERpckNvdW50ID0gbWluKGNlbnREaXJDb3VudCwgMHhGRkZGKQorICAgICAgICAgICAgY2VudERpclNpemUgPSBtaW4oY2VudERpclNpemUsIDB4RkZGRkZGRkYpCisgICAgICAgICAgICBjZW50RGlyT2Zmc2V0ID0gbWluKGNlbnREaXJPZmZzZXQsIDB4RkZGRkZGRkYpCisKKyAgICAgICAgZW5kcmVjID0gc3RydWN0LnBhY2soc3RydWN0RW5kQXJjaGl2ZSwgc3RyaW5nRW5kQXJjaGl2ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwgMCwgY2VudERpckNvdW50LCBjZW50RGlyQ291bnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNlbnREaXJTaXplLCBjZW50RGlyT2Zmc2V0LCBsZW4oc2VsZi5fY29tbWVudCkpCisgICAgICAgIHNlbGYuZnAud3JpdGUoZW5kcmVjKQorICAgICAgICBzZWxmLmZwLndyaXRlKHNlbGYuX2NvbW1lbnQpCisgICAgICAgIHNlbGYuZnAuZmx1c2goKQorCisgICAgZGVmIF9mcGNsb3NlKHNlbGYsIGZwKToKKyAgICAgICAgYXNzZXJ0IHNlbGYuX2ZpbGVSZWZDbnQgPiAwCisgICAgICAgIHNlbGYuX2ZpbGVSZWZDbnQgLT0gMQorICAgICAgICBpZiBub3Qgc2VsZi5fZmlsZVJlZkNudCBhbmQgbm90IHNlbGYuX2ZpbGVQYXNzZWQ6CisgICAgICAgICAgICBmcC5jbG9zZSgpCiAKIAogY2xhc3MgUHlaaXBGaWxlKFppcEZpbGUpOgpkaWZmIC0tZ2l0IGEvTWFjL0J1aWxkU2NyaXB0L1JFQURNRS50eHQgYi9NYWMvQnVpbGRTY3JpcHQvUkVBRE1FLnR4dAppbmRleCA4ZWI1MzljLi4zY2VkMDY2IDEwMDY0NAotLS0gYS9NYWMvQnVpbGRTY3JpcHQvUkVBRE1FLnR4dAorKysgYi9NYWMvQnVpbGRTY3JpcHQvUkVBRE1FLnR4dApAQCAtMSwyNSArMSwxNSBAQAogQnVpbGRpbmcgYSBQeXRob24gTWFjIE9TIFggZGlzdHJpYnV0aW9uCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIAotVGhlIGBgYnVpbGQtaW5zdGFsbGVyLnB5YGAgc2NyaXB0IGNyZWF0ZXMgUHl0aG9uIGRpc3RyaWJ1dGlvbnMsIGluY2x1ZGluZworVGhlIGBgYnVpbGQtaW5zdGFsbC5weWBgIHNjcmlwdCBjcmVhdGVzIFB5dGhvbiBkaXN0cmlidXRpb25zLCBpbmNsdWRpbmcKIGNlcnRhaW4gdGhpcmQtcGFydHkgbGlicmFyaWVzIGFzIG5lY2Vzc2FyeS4gIEl0IGJ1aWxkcyBhIGNvbXBsZXRlIAogZnJhbWV3b3JrLWJhc2VkIFB5dGhvbiBvdXQtb2YtdHJlZSwgaW5zdGFsbHMgaXQgaW4gYSBmdW5ueSBwbGFjZSB3aXRoIAogJERFU1RST09ULCBtYXNzYWdlcyB0aGF0IGluc3RhbGxhdGlvbiB0byByZW1vdmUgLnB5YyBmaWxlcyBhbmQgc3VjaCwgY3JlYXRlcyAKIGFuIEluc3RhbGxlciBwYWNrYWdlIGZyb20gdGhlIGluc3RhbGxhdGlvbiBwbHVzIG90aGVyIGZpbGVzIGluIGBgcmVzb3VyY2VzYGAgCiBhbmQgYGBzY3JpcHRzYGAgYW5kIHBsYWNlZCB0aGF0IG9uIGEgYGAuZG1nYGAgZGlzayBpbWFnZS4KIAotVGhpcyBpbnN0YWxsZXJzIGJ1aWx0IGJ5IHRoaXMgc2NyaXB0IGFyZSBsZWdhY3kgYnVuZGxlIGluc3RhbGxlcnMgdGhhdCBoYXZlCi1iZWVuIHN1cHBvcnRlZCBmcm9tIHRoZSBlYXJseSBkYXlzIG9mIE9TIFguICBJbiBwYXJ0aWN1bGFyLCB0aGV5IGFyZSBzdXBwb3J0ZWQKLW9uIE9TIFggMTAuMy45LCB0aGUgZWFybGllc3Qgc3VwcG9ydGVkIHJlbGVhc2UgZm9yIGJ1aWxkcyBmcm9tIHRoaXMgc2NyaXB0LgotCi1CZWdpbm5pbmcgd2l0aCBQeXRob24gMy40LjIsIFBTRiBwcmFjdGljZSBpcyB0byBidWlsZCB0d28gaW5zdGFsbGVyIHZhcmlhbnRzCi11c2luZyB0aGUgbmV3ZXIgZmxhdCBwYWNrYWdlIGZvcm1hdCwgc3VwcG9ydGVkIG9uIDEwLjUrLCBhbmQgc2lnbmVkIHdpdGggdGhlCi1idWlsZGVyJ3MgQXBwbGUgZGV2ZWxvcGVyIGtleSwgYWxsb3dpbmcgZG93bmxvYWRlZCBwYWNrYWdlcyB0byBzYXRpc2Z5IEFwcGxlJ3MKLWRlZmF1bHQgR2F0ZWtlZXBlciBwb2xpY3kgKGUuZy4gc3RhcnRpbmcgd2l0aCAxMC44LCBBcHBsZSBzdG9yZSBkb3dubG9hZHMgYW5kCi1BcHBsZSBkZXZlbG9wZXIgSUQgc2lnbmVkIGFwcHMgYW5kIGluc3RhbGxlciBwYWNrYWdlcykuICBUaGUgcHJvY2VzcyBmb3IKLXRyYW5zZm9ybWluZyB0aGUgb3V0cHV0IGJ1aWxkIGFydGlmYWN0cyBpbnRvIHNpZ25lZCBmbGF0IHBhY2thZ2VzIGlzIG5vdAoteWV0IGludGVncmF0ZWQgaW50byBgYGJ1aWxkLWluc3RhbGxlci5weWBgLiAgVGhlIHN0ZXBzIHByaW9yIHRvIHRoZSBmbGF0Ci1wYWNrYWdlIGNyZWF0aW9uIGFyZSB0aGUgc2FtZSBhcyBmb3IgMy40LjEgYmVsb3cuCitGb3IgUHl0aG9uIDMuNC4wLCBQU0YgcHJhY3RpY2UgaXMgdG8gYnVpbGQgdHdvIGluc3RhbGxlciB2YXJpYW50cworZm9yIGVhY2ggcmVsZWFzZS4KIAogMS4gIDMyLWJpdC1vbmx5LCBpMzg2IGFuZCBQUEMgdW5pdmVyc2FsLCBjYXBhYmxlIG9uIHJ1bm5pbmcgb24gYWxsIG1hY2hpbmVzCiAgICAgc3VwcG9ydGVkIGJ5IE1hYyBPUyBYIDEwLjUgdGhyb3VnaCAoYXQgbGVhc3QpIDEwLjk6OgpAQCAtMzEsNyArMjEsNiBAQAogCiAgICAgLSBidWlsZHMgdGhlIGZvbGxvd2luZyB0aGlyZC1wYXJ0eSBsaWJyYXJpZXMKIAotICAgICAgICAqIGxpYmNyeXB0byBhbmQgbGlic3NsIGZyb20gT3BlblNTTCAxLjAuMSAobmV3LCBhcyBvZiAzLjQuMykKICAgICAgICAgKiBOQ3Vyc2VzIDUuOSAoaHR0cDovL2J1Z3MucHl0aG9uLm9yZy9pc3N1ZTE1MDM3KQogICAgICAgICAqIFNRTGl0ZSAzLjguMy4xCiAgICAgICAgICogWFogNS4wLjUKQEAgLTczLDcgKzYyLDYgQEAKIAogICAgIC0gdXNlcyBzeXN0ZW0tc3VwcGxpZWQgdmVyc2lvbnMgb2YgdGhpcmQtcGFydHkgbGlicmFyaWVzCiAKLSAgICAgICAgKiBsaWJjcnlwdG8gYW5kIGxpYnNzbCBmcm9tIEFwcGxlIE9wZW5TU0wgMC45LjgKICAgICAgICAgKiByZWFkbGluZSBtb2R1bGUgbGlua3Mgd2l0aCBBcHBsZSBCU0QgZWRpdGxpbmUgKGxpYmVkaXQpCiAKICAgICAtIHJlcXVpcmVzIEFjdGl2ZVN0YXRlIFRjbC9UayA4LjUuMTUuMSAob3IgbGF0ZXIpIHRvIGJlIGluc3RhbGxlZCBmb3IgYnVpbGRpbmcKQEAgLTEwMiw2ICs5MCw0NyBAQAogICAgICAgICAgIHRoYXQgdGhlIFhjb2RlIDMgZ2NjLTQuMiBjb21waWxlciBoYXMgaGFkLgogCiAKKyogICBGb3IgUHl0aG9uIDIuNy54IGFuZCAzLjIueCwgdGhlIDMyLWJpdC1vbmx5IGluc3RhbGxlciB3YXMgY29uZmlndXJlZCB0bworICAgIHN1cHBvcnQgTWFjIE9TIFggMTAuMy45IHRocm91Z2ggKGF0IGxlYXN0KSAxMC42LiAgQmVjYXVzZSBpdCBpcworICAgIGJlbGlldmVkIHRoYXQgdGhlcmUgYXJlIGZldyBzeXN0ZW1zIHN0aWxsIHJ1bm5pbmcgT1MgWCAxMC4zIG9yIDEwLjQKKyAgICBhbmQgYmVjYXVzZSBpdCBoYXMgYmVjb21lIGluY3JlYXNpbmdseSBkaWZmaWN1bHQgdG8gdGVzdCBhbmQKKyAgICBzdXBwb3J0IHRoZSBkaWZmZXJlbmNlcyBpbiB0aGVzZSBlYXJsaWVyIHN5c3RlbXMsIGFzIG9mIFB5dGhvbiAzLjMuMCB0aGUgUFNGCisgICAgMzItYml0IGluc3RhbGxlciBubyBsb25nZXIgc3VwcG9ydHMgdGhlbS4gIEZvciByZWZlcmVuY2UgaW4gYnVpbGRpbmcgc3VjaAorICAgIGFuIGluc3RhbGxlciB5b3Vyc2VsZiwgdGhlIGRldGFpbHMgYXJlOjoKKworICAgICAgICAvdXNyL2Jpbi9weXRob24gYnVpbGQtaW5zdGFsbGVyLnB5IFwKKyAgICAgICAgICAgIC0tc2RrLXBhdGg9L0RldmVsb3Blci9TREtzL01hY09TWDEwLjR1LnNkayBcCisgICAgICAgICAgICAtLXVuaXZlcnNhbC1hcmNocz0zMi1iaXQgXAorICAgICAgICAgICAgLS1kZXAtdGFyZ2V0PTEwLjMgCisKKyAgICAtIGJ1aWxkcyB0aGUgZm9sbG93aW5nIHRoaXJkLXBhcnR5IGxpYnJhcmllcworCisgICAgICAgICogQnppcDIKKyAgICAgICAgKiBOQ3Vyc2VzCisgICAgICAgICogR05VIFJlYWRsaW5lIChHUEwpCisgICAgICAgICogU1FMaXRlIDMKKyAgICAgICAgKiBYWgorICAgICAgICAqIFpsaWIgMS4yLjMKKyAgICAgICAgKiBPcmFjbGUgU2xlZXB5Y2F0IERCIDQuOCAoUHl0aG9uIDIueCBvbmx5KQorCisgICAgLSByZXF1aXJlcyBBY3RpdmVTdGF0ZSBgYFRjbC9UayA4LjRgYCAoY3VycmVudGx5IDguNC4yMCkgdG8gYmUgaW5zdGFsbGVkIGZvciBidWlsZGluZworCisgICAgLSByZWNvbW1lbmRlZCBidWlsZCBlbnZpcm9ubWVudDoKKyAgICAgICAgCisgICAgICAgICogTWFjIE9TIFggMTAuNS44IFBQQyBvciBJbnRlbAorICAgICAgICAqIFhjb2RlIDMuMS40IChvciBsYXRlcikKKyAgICAgICAgKiBgYE1hY09TWDEwLjR1YGAgU0RLIChsYXRlciBTREtzIGRvIG5vdCBzdXBwb3J0IFBQQyBHMyBwcm9jZXNzb3JzKQorICAgICAgICAqIGBgTUFDT1NYX0RFUExPWU1FTlRfVEFSR0VUPTEwLjNgYAorICAgICAgICAqIEFwcGxlIGBgZ2NjLTQuMGBgCisgICAgICAgICogc3lzdGVtIFB5dGhvbiAyLjUgZm9yIGRvY3VtZW50YXRpb24gYnVpbGQgd2l0aCBTcGhpbngKKworICAgIC0gYWx0ZXJuYXRlIGJ1aWxkIGVudmlyb25tZW50czoKKworICAgICAgICAqIE1hYyBPUyBYIDEwLjYuOCB3aXRoIFhjb2RlIDMuMi42CisgICAgICAgICAgICAtIG5lZWQgdG8gY2hhbmdlIGBgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3Mve1RjbCxUa30uZnJhbWV3b3JrL1ZlcnNpb24vQ3VycmVudGBgIHRvIGBgOC40YGAKKworCisKIEdlbmVyYWwgUHJlcmVxdWlzaXRlcwogLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKZGlmZiAtLWdpdCBhL01hYy9CdWlsZFNjcmlwdC9yZXNvdXJjZXMvUmVhZE1lLnJ0ZiBiL01hYy9CdWlsZFNjcmlwdC9yZXNvdXJjZXMvUmVhZE1lLnJ0ZgppbmRleCAxYmJkYzFhLi5lMjQwNDQ4IDEwMDY0NAotLS0gYS9NYWMvQnVpbGRTY3JpcHQvcmVzb3VyY2VzL1JlYWRNZS5ydGYKKysrIGIvTWFjL0J1aWxkU2NyaXB0L3Jlc291cmNlcy9SZWFkTWUucnRmCkBAIC0zNiwxMTkgKzM2LDYgQEAKIFxpMCAgZm9yIHRoaXMgdmVyc2lvbiBvZiBQeXRob24gYW5kIG9mIE1hYyBPUyBYLlwKIAogXGIgXHVsIFwKLUluc3RhbGxpbmcgb24gT1MgWCAxMC44IChNb3VudGFpbiBMaW9uKSBvciBsYXRlciBzeXN0ZW1zXAotXHBhcmRcdHg3MjBcdHgxNDQwXHR4MjE2MFx0eDI4ODBcdHgzNjAwXHR4NDMyMFx0eDUwNDBcdHg1NzYwXHR4NjQ4MFx0eDcyMDBcdHg3OTIwXHR4ODY0MFxwYXJkaXJuYXR1cmFsCi1cY2YwIFx1bG5vbmUgW0NIQU5HRUQgZm9yIFB5dGhvbiAzLjQuMl0KLVxiMCBcCi1cCi1BcyBvZiBQeXRob24gMy40LjIsIGluc3RhbGxlciBwYWNrYWdlcyBmcm9tIHB5dGhvbi5vcmcgYXJlIG5vdyBjb21wYXRpYmxlIHdpdGggdGhlIEdhdGVrZWVwZXIgc2VjdXJpdHkgZmVhdHVyZSBpbnRyb2R1Y2VkIGluIE9TIFggMTAuOC4gICBEb3dubG9hZGVkIHBhY2thZ2VzIGNhbiBub3cgYmUgZGlyZWN0bHkgaW5zdGFsbGVkIGJ5IGRvdWJsZS1jbGlja2luZyB3aXRoIHRoZSBkZWZhdWx0IHN5c3RlbSBzZWN1cml0eSBzZXR0aW5ncy4gIFB5dGhvbi5vcmcgaW5zdGFsbGVyIHBhY2thZ2VzIGZvciBPUyBYIGFyZSBzaWduZWQgd2l0aCB0aGUgRGV2ZWxvcGVyIElEIG9mIHRoZSBidWlsZGVyLCBhcyBpZGVudGlmaWVkIG9uIHtcZmllbGR7XCpcZmxkaW5zdHtIWVBFUkxJTksgImh0dHBzOi8vd3d3LnB5dGhvbi5vcmcvZG93bmxvYWRzLyJ9fXtcZmxkcnNsdCB0aGUgZG93bmxvYWQgcGFnZX19IGZvciB0aGlzIHJlbGVhc2UuICBUbyBpbnNwZWN0IHRoZSBkaWdpdGFsIHNpZ25hdHVyZSBvZiB0aGUgcGFja2FnZSwgY2xpY2sgb24gdGhlIGxvY2sgaWNvbiBpbiB0aGUgdXBwZXIgcmlnaHQgY29ybmVyIG9mIHRoZSAKLVxpIEluc3RhbGwgUHl0aG9uCi1caTAgIGluc3RhbGxlciB3aW5kb3cuICBSZWZlciB0byBBcHBsZVwnOTJzIHN1cHBvcnQgcGFnZXMgZm9yIHtcZmllbGR7XCpcZmxkaW5zdHtIWVBFUkxJTksgImh0dHA6Ly9zdXBwb3J0LmFwcGxlLmNvbS9rYi9odDUyOTAifX17XGZsZHJzbHQgbW9yZSBpbmZvcm1hdGlvbiBvbiBHYXRla2VlcGVyfX0uXAotXAotXHBhcmRcdHg3MjBcdHgxNDQwXHR4MjE2MFx0eDI4ODBcdHgzNjAwXHR4NDMyMFx0eDUwNDBcdHg1NzYwXHR4NjQ4MFx0eDcyMDBcdHg3OTIwXHR4ODY0MFxwYXJkaXJuYXR1cmFsCi0KLVxiIFxjZjAgXHVsIFNpbXBsaWZpZWQgd2ViLWJhc2VkIGluc3RhbGxzXAotXHBhcmRcdHg3MjBcdHgxNDQwXHR4MjE2MFx0eDI4ODBcdHgzNjAwXHR4NDMyMFx0eDUwNDBcdHg1NzYwXHR4NjQ4MFx0eDcyMDBcdHg3OTIwXHR4ODY0MFxwYXJkaXJuYXR1cmFsCi1cY2YwIFx1bG5vbmUgW05FVyBmb3IgUHl0aG9uIDMuNC4yXQotXGIwIFwKLVwKLVdpdGggdGhlIGNoYW5nZSB0byB0aGUgbmV3ZXIgZmxhdCBmb3JtYXQgaW5zdGFsbGVyIHBhY2thZ2UsIHRoZSBkb3dubG9hZCBmaWxlIG5vdyBoYXMgYSAKLVxmMSAucGtnCi1cZjAgIGV4dGVuc2lvbiBhcyBpdCBpcyBubyBsb25nZXIgbmVjZXNzYXJ5IHRvIGVtYmVkIHRoZSBpbnN0YWxsZXIgd2l0aGluIGEgZGlzayBpbWFnZSAoCi1cZjEgLmRtZwotXGYwICkgY29udGFpbmVyLiAgIElmIHlvdSBkb3dubG9hZCB0aGUgUHl0aG9uIGluc3RhbGxlciB0aHJvdWdoIGEgd2ViIGJyb3dzZXIsIHRoZSBPUyBYIGluc3RhbGxlciBhcHBsaWNhdGlvbiBtYXkgb3BlbiBhdXRvbWF0aWNhbGx5IHRvIGFsbG93IHlvdSB0byBwZXJmb3JtIHRoZSBpbnN0YWxsLiAgSWYgeW91ciBicm93c2VyIHNldHRpbmdzIGRvIG5vdCBhbGxvdyBhdXRvbWF0aWMgb3BlbiwgZG91YmxlIGNsaWNrIG9uIHRoZSBkb3dubG9hZGVkIGluc3RhbGxlciBmaWxlLlwKLVwKLVxwYXJkXHR4NzIwXHR4MTQ0MFx0eDIxNjBcdHgyODgwXHR4MzYwMFx0eDQzMjBcdHg1MDQwXHR4NTc2MFx0eDY0ODBcdHg3MjAwXHR4NzkyMFx0eDg2NDBccGFyZGlybmF0dXJhbAotCi1cYiBcY2YwIFx1bCBOZXcgSW5zdGFsbGF0aW9uIE9wdGlvbnMgYW5kIERlZmF1bHRzXAotXHBhcmRcdHg3MjBcdHgxNDQwXHR4MjE2MFx0eDI4ODBcdHgzNjAwXHR4NDMyMFx0eDUwNDBcdHg1NzYwXHR4NjQ4MFx0eDcyMDBcdHg3OTIwXHR4ODY0MFxwYXJkaXJuYXR1cmFsCi1cY2YwIFx1bG5vbmUgW05FVyBmb3IgUHl0aG9uIDMuNC4wXQotXGIwIFwKLVwKLVRoZSBQeXRob24gaW5zdGFsbGVyIG5vdyBpbmNsdWRlcyBhbiBvcHRpb24gdG8gYXV0b21hdGljYWxseSBpbnN0YWxsIG9yIHVwZ3JhZGUgCi1cZjEgcGlwCi1cZjAgLCBhIHRvb2wgZm9yIGluc3RhbGxpbmcgYW5kIG1hbmFnaW5nIFB5dGhvbiBwYWNrYWdlcy4gIFRoaXMgb3B0aW9uIGlzIGVuYWJsZWQgYnkgZGVmYXVsdCBhbmQgbm8gSW50ZXJuZXQgYWNjZXNzIGlzIHJlcXVpcmVkLiAgSWYgeW91IGRvIG5vdCB3YW50IHRoZSBpbnN0YWxsZXIgdG8gZG8gdGhpcywgc2VsZWN0IHRoZSAKLVxpIEN1c3RvbWl6ZQotXGkwICBvcHRpb24gYXQgdGhlIAotXGkgSW5zdGFsbGF0aW9uIFR5cGUKLVxpMCAgc3RlcCBhbmQgdW5jaGVjayB0aGUgCi1caSBJbnN0YWxsIG9yIHVncHJhZGUgcGlwCi1caTAgIG9wdGlvbi5cCi1cCi1UbyBtYWtlIGl0IGVhc2llciB0byB1c2Ugc2NyaXB0cyBpbnN0YWxsZWQgYnkgdGhpcmQtcGFydHkgUHl0aG9uIHBhY2thZ2VzLCB3aXRoIAotXGYxIHBpcAotXGYwICBvciBieSBvdGhlciBtZWFucywgdGhlIAotXGkgU2hlbGwgcHJvZmlsZSB1cGRhdGVyCi1caTAgIG9wdGlvbiBpcyBub3cgZW5hYmxlZCBieSBkZWZhdWx0LCBhcyBoYXMgYmVlbiB0aGUgY2FzZSB3aXRoIFB5dGhvbiAyLjcueCBpbnN0YWxsZXJzLiBZb3UgY2FuIGFsc28gdHVybiB0aGlzIG9wdGlvbiBvZmYgYnkgc2VsZWN0aW5nIAotXGkgQ3VzdG9taXplCi1caTAgIGFuZCB1bmNoZWNraW5nIHRoZSAKLVxpIFNoZWxsIHByb2ZpbGUgdXBkYXRlcgotXGkwICBvcHRpb24uIFlvdSBjYW4gYWxzbyB1cGRhdGUgeW91ciBzaGVsbCBwcm9maWxlIGxhdGVyIGJ5IGxhdW5jaGluZyB0aGUgCi1caSBVcGRhdGUgU2hlbGwgUHJvZmlsZQotXGkwICBjb21tYW5kIGZvdW5kIGluIHRoZSAKLVxmMSAvQXBwbGljYXRpb25zL1B5dGhvbiAkVkVSU0lPTiAKLVxmMCBmb2xkZXIuICBZb3UgbWF5IG5lZWQgdG8gc3RhcnQgYSBuZXcgdGVybWluYWwgd2luZG93IGZvciB0aGUgY2hhbmdlcyB0byB0YWtlIGVmZmVjdC5cCi1cCi1Gb3Igb3RoZXIgY2hhbmdlcyBpbiB0aGlzIHJlbGVhc2UsIHNlZSB0aGUgUmVsZWFzZSBOb3RlcyBsaW5rIGZvciB0aGlzIHJlbGVhc2UgYXQge1xmaWVsZHtcKlxmbGRpbnN0e0hZUEVSTElOSyAiaHR0cHM6Ly93d3cucHl0aG9uLm9yZy9kb3dubG9hZHMvIn19e1xmbGRyc2x0IGh0dHBzOi8vd3d3LnB5dGhvbi5vcmcvZG93bmxvYWRzL319LlwKLVwKLVxwYXJkXHR4NzIwXHR4MTQ0MFx0eDIxNjBcdHgyODgwXHR4MzYwMFx0eDQzMjBcdHg1MDQwXHR4NTc2MFx0eDY0ODBcdHg3MjAwXHR4NzkyMFx0eDg2NDBccGFyZGlybmF0dXJhbAotCi1cYiBcY2YwIFx1bCBDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gYW5kIE9wZW5TU0xcCi1ccGFyZFx0eDcyMFx0eDE0NDBcdHgyMTYwXHR4Mjg4MFx0eDM2MDBcdHg0MzIwXHR4NTA0MFx0eDU3NjBcdHg2NDgwXHR4NzIwMFx0eDc5MjBcdHg4NjQwXHBhcmRpcm5hdHVyYWwKLVxjZjAgXHVsbm9uZSBbQ0hBTkdFRCBmb3IgUHl0aG9uIDMuNC4zXQotXGIwIFwKLVwKLVB5dGhvbiAzLjQuMyBpbmNsdWRlcyBhIG51bWJlciBvZiBuZXR3b3JrIHNlY3VyaXR5IGVuaGFuY2VtZW50cyB0aGF0IGhhdmUgYmVlbiBhcHByb3ZlZCBmb3IgaW5jbHVzaW9uIGluIFB5dGhvbiAzLjQgbWFpbnRlbmFuY2UgcmVsZWFzZXMuICB7XGZpZWxke1wqXGZsZGluc3R7SFlQRVJMSU5LICJodHRwczovL3d3dy5weXRob24ub3JnL2Rldi9wZXBzL3BlcC0wNDc2LyJ9fXtcZmxkcnNsdCBQRVAgNDc2fX0gY2hhbmdlcyBzZXZlcmFsIHN0YW5kYXJkIGxpYnJhcnkgbW9kdWxlcywgbGlrZSAKLVxpIGh0dHBsaWIKLVxpMCAsIAotXGkgdXJsbGliCi1caTAgLCBhbmQgCi1caSB4bWxycGNsaWIKLVxpMCAsIHRvIGJ5IGRlZmF1bHQgdmVyaWZ5IGNlcnRpZmljYXRlcyBwcmVzZW50ZWQgYnkgc2VydmVycyBvdmVyIHNlY3VyZSAoVExTKSBjb25uZWN0aW9ucy4gIFRoZSB2ZXJpZmljYXRpb24gaXMgcGVyZm9ybWVkIGJ5IHRoZSBPcGVuU1NMIGxpYnJhcmllcyB0aGF0IFB5dGhvbiBpcyBsaW5rZWQgdG8uICBQcmlvciB0byAzLjQuMywgdGhlIHB5dGhvbi5vcmcgaW5zdGFsbGVycyBkeW5hbWljYWxseSBsaW5rZWQgd2l0aCBBcHBsZS1zdXBwbGllZCBPcGVuU1NMIGxpYnJhcmllcyBzaGlwcGVkIHdpdGggT1MgWC4gIE9TIFggcHJvdmlkZXMgYSBtdWx0aXBsZSBsZXZlbCBzZWN1cml0eSBmcmFtZXdvcmsgdGhhdCBzdG9yZXMgdHJ1c3QgY2VydGlmaWNhdGVzIGluIHN5c3RlbSBhbmQgdXNlciBrZXljaGFpbnMgbWFuYWdlZCBieSB0aGUgCi1caSBLZXljaGFpbiBBY2Nlc3MgCi1caTAgYXBwbGljYXRpb24gYW5kIHRoZSAKLVxpIHNlY3VyaXR5Ci1caTAgIGNvbW1hbmQgbGluZSB1dGlsaXR5LlwKLVwKLUZvciBPUyBYIDEwLjUsIEFwcGxlIHByb3ZpZGVzIAotXGkgT3BlblNTTCAwLjkuNwotXGkwICBsaWJyYXJpZXMuICBUaGlzIHZlcnNpb24gb2YgQXBwbGUncyBPcGVuU1NMIAotXGIgZG9lcyBub3QKLVxiMCAgdXNlIHRoZSBjZXJ0aWZpY2F0ZXMgZnJvbSB0aGUgc3lzdGVtIHNlY3VyaXR5IGZyYW1ld29yaywgZXZlbiB3aGVuIHVzZWQgb24gbmV3ZXIgdmVyc2lvbnMgb2YgT1MgWC4gIEluc3RlYWQgaXQgY29uc3VsdHMgYSB0cmFkaXRpb25hbCBPcGVuU1NMIGNvbmNhdGVuYXRlZCBjZXJ0aWZpY2F0ZSBmaWxlICgKLVxpIGNhZmlsZQotXGkwICkgb3IgY2VydGlmaWNhdGUgZGlyZWN0b3J5ICgKLVxpIGNhcGF0aAotXGkwICksIGxvY2F0ZWQgaW4gCi1cZjEgL1N5c3RlbS9MaWJyYXJ5L09wZW5TU0wKLVxmMCAuICBUaGVzZSBkaXJlY3RvcmllcyBhcmUgdHlwaWNhbGx5IGVtcHR5IGFuZCBub3QgbWFuYWdlZCBieSBPUyBYOyB5b3UgbXVzdCBtYW5hZ2UgdGhlbSB5b3Vyc2VsZiBvciBzdXBwbHkgeW91ciBvd24gU1NMIGNvbnRleHRzLiAgT3BlblNTTCAwLjkuNyBpcyBvYnNvbGV0ZSBieSBjdXJyZW50IHNlY3VyaXR5IHN0YW5kYXJkcywgbGFja2luZyBhIG51bWJlciBvZiBpbXBvcnRhbnQgZmVhdHVyZXMgZm91bmQgaW4gbGF0ZXIgdmVyc2lvbnMuICBBbW9uZyB0aGUgcHJvYmxlbXMgdGhpcyBjYXVzZXMgaXMgdGhlIGluYWJpbGl0eSB0byB2ZXJpZnkgaGlnaGVyLXNlY3VyaXR5IGNlcnRpZmljYXRlcyBub3cgdXNlZCBieSBweXRob24ub3JnIHNlcnZpY2VzLCBpbmNsdWRpbmcgCi1caSB0e1xmaWVsZHtcKlxmbGRpbnN0e0hZUEVSTElOSyAiaHR0cHM6Ly9weXBpLnB5dGhvbi5vcmcvcHlwaSJ9fXtcZmxkcnNsdCBoZSBQeXRob24gUGFja2FnZSBJbmRleCwgUHlQSX19Ci1caTAgLiAgVG8gc29sdmUgdGhpcyBwcm9ibGVtLCBhcyBvZiAzLjQuMyB0aGUgCi1caSAxMC41KyAzMi1iaXQtb25seSBweXRob24ub3JnIHZhcmlhbnQKLVxpMCAgaXMgbGlua2VkIHdpdGggYSBwcml2YXRlIGNvcHkgb2YgCi1caSBPcGVuU1NMIDEuMC4xCi1caTAgOyBpdCBjb25zdWx0cyB0aGUgc2FtZSBkZWZhdWx0IGNlcnRpZmljYXRlIGRpcmVjdG9yeSwgCi1cZjEgL1N5c3RlbS9MaWJyYXJ5L09wZW5TU0wKLVxmMCAuICAgQXMgYmVmb3JlLCBpdCBpcyBzdGlsbCBuZWNlc3NhcnkgdG8gbWFuYWdlIGNlcnRpZmljYXRlcyB5b3Vyc2VsZiB3aGVuIHlvdSB1c2UgdGhpcyBQeXRob24gdmFyaWFudCBhbmQsIHdpdGggY2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIG5vdyBlbmFibGVkIGJ5IGRlZmF1bHQsIHlvdSBtYXkgbm93IG5lZWQgdG8gdGFrZSBhZGRpdGlvbmFsIHN0ZXBzIHRvIGVuc3VyZSB5b3VyIFB5dGhvbiBwcm9ncmFtcyBoYXZlIGFjY2VzcyB0byBDQSBjZXJ0aWZpY2F0ZXMgeW91IHRydXN0LiAgSWYgeW91IHVzZSB0aGlzIFB5dGhvbiB2YXJpYW50IHRvIGJ1aWxkIHN0YW5kYWxvbmUgYXBwbGljYXRpb25zIHdpdGggdGhpcmQtcGFydHkgdG9vbHMgbGlrZSB7XGZpZWxke1wqXGZsZGluc3R7SFlQRVJMSU5LICJodHRwczovL3B5cGkucHl0aG9uLm9yZy9weXBpL3B5MmFwcC8ifX17XGZsZHJzbHQgCi1cZjEgcHkyYXBwfX0sIHlvdSBtYXkgbm93IG5lZWQgdG8gYnVuZGxlIENBIGNlcnRpZmljYXRlcyBpbiB0aGVtIG9yIG90aGVyd2lzZSBzdXBwbHkgbm9uLWRlZmF1bHQgU1NMIGNvbnRleHRzLlwKLVwKLUZvciBPUyBYIDEwLjYrLCBBcHBsZSBhbHNvIHByb3ZpZGVzIAotXGkgT3BlblNTTAotXGkwICAKLVxpIDAuOS44IGxpYnJhcmllcwotXGkwIC4gIEFwcGxlJ3MgMC45LjggdmVyc2lvbiBpbmNsdWRlcyBhbiBpbXBvcnRhbnQgYWRkaXRpb25hbCBmZWF0dXJlOiBpZiBhIGNlcnRpZmljYXRlIGNhbm5vdCBiZSB2ZXJpZmllZCB1c2luZyB0aGUgbWFudWFsbHkgYWRtaW5pc3RlcmVkIGNlcnRpZmljYXRlcyBpbiAKLVxmMSAvU3lzdGVtL0xpYnJhcnkvT3BlblNTTAotXGYwICwgdGhlIGNlcnRpZmljYXRlcyBtYW5hZ2VkIGJ5IHRoZSBzeXN0ZW0gc2VjdXJpdHkgZnJhbWV3b3JrIEluIHRoZSB1c2VyIGFuZCBzeXN0ZW0ga2V5Y2hhaW5zIGFyZSBhbHNvIGNvbnN1bHRlZCAodXNpbmcgQXBwbGUgcHJpdmF0ZSBBUElzKS4gIEZvciB0aGlzIHJlYXNvbiwgZm9yIDMuNC4zIHRoZSAKLVxpIDY0LWJpdC8zMi1iaXQgMTAuNisgcHl0aG9uLm9yZyB2YXJpYW50Ci1caTAgIGNvbnRpbnVlcyB0byBiZSBkeW5hbWljYWxseSBsaW5rZWQgd2l0aCBBcHBsZSdzIE9wZW5TU0wgMC45Ljggc2luY2UgaXQgd2FzIGZlbHQgdGhhdCB0aGUgbG9zcyBvZiB0aGUgc3lzdGVtLXByb3ZpZGVkIGNlcnRpZmljYXRlcyBhbmQgbWFuYWdlbWVudCB0b29scyBvdXR3ZWlnaHMgdGhlIGFkZGl0aW9uYWwgc2VjdXJpdHkgZmVhdHVyZXMgcHJvdmlkZWQgYnkgbmV3ZXIgdmVyc2lvbnMgb2YgT3BlblNTTC4gIFRoaXMgd2lsbCBsaWtlbHkgY2hhbmdlIGluIGZ1dHVyZSByZWxlYXNlcyBvZiB0aGUgcHl0aG9uLm9yZyBpbnN0YWxsZXJzIGFzIEFwcGxlIGhhcyBkZXByZWNhdGVkIHVzZSBvZiB0aGUgc3lzdGVtLXN1cHBsaWVkIE9wZW5TU0wgbGlicmFyaWVzLiAgSWYgeW91IGRvIG5lZWQgZmVhdHVyZXMgZnJvbSBuZXdlciB2ZXJzaW9ucyBvZiBPcGVuU1NMLCB0aGVyZSBhcmUgdGhpcmQtcGFydHkgT3BlblNTTCB3cmFwcGVyIHBhY2thZ2VzIGF2YWlsYWJsZSB0aHJvdWdoIAotXGkgUHlQSQotXGkwIC5cCi1cCi1UaGUgYnVuZGxlZCAKLVxmMSBwaXAKLVxmMCAgaW5jbHVkZWQgd2l0aCAzLjQuMyBoYXMgaXRzIG93biBkZWZhdWx0IGNlcnRpZmljYXRlIHN0b3JlIGZvciB2ZXJpZnlpbmcgZG93bmxvYWQgY29ubmVjdGlvbnMuXAotXHBhcmRcdHg3MjBcdHgxNDQwXHR4MjE2MFx0eDI4ODBcdHgzNjAwXHR4NDMyMFx0eDUwNDBcdHg1NzYwXHR4NjQ4MFx0eDcyMDBcdHg3OTIwXHR4ODY0MFxwYXJkaXJuYXR1cmFsCi0KLVxiIFxjZjAgXHVsIFwKIFB5dGhvbiAzIGFuZCBQeXRob24gMiBDby1leGlzdGVuY2VcCiAKIFxiMCBcdWxub25lIFwKZGlmZiAtLWdpdCBhL01hYy9CdWlsZFNjcmlwdC9yZXNvdXJjZXMvV2VsY29tZS5ydGYgYi9NYWMvQnVpbGRTY3JpcHQvcmVzb3VyY2VzL1dlbGNvbWUucnRmCmluZGV4IDI1Mjc3ODcuLmRmYjc1ZDggMTAwNjQ0Ci0tLSBhL01hYy9CdWlsZFNjcmlwdC9yZXNvdXJjZXMvV2VsY29tZS5ydGYKKysrIGIvTWFjL0J1aWxkU2NyaXB0L3Jlc291cmNlcy9XZWxjb21lLnJ0ZgpAQCAtMSw1ICsxLDUgQEAKIHtccnRmMVxhbnNpXGFuc2ljcGcxMjUyXGNvY29hcnRmMTM0M1xjb2NvYXN1YnJ0ZjE2MAotXGNvY29hc2NyZWVuZm9udHMxe1xmb250dGJsXGYwXGZzd2lzc1xmY2hhcnNldDAgSGVsdmV0aWNhO1xmMVxmbW9kZXJuXGZjaGFyc2V0MCBDb3VyaWVyTmV3UFNNVDt9CitcY29jb2FzY3JlZW5mb250czF7XGZvbnR0YmxcZjBcZnN3aXNzXGZjaGFyc2V0MCBIZWx2ZXRpY2E7fQoge1xjb2xvcnRibDtccmVkMjU1XGdyZWVuMjU1XGJsdWUyNTU7fQogXHBhcGVydzExOTA1XHBhcGVyaDE2ODM3XG1hcmdsMTQ0MFxtYXJncjE0NDBcdmlld3cxMjIwMFx2aWV3aDEwODgwXHZpZXdraW5kMAogXHBhcmRcdHg3MjBcdHgxNDQwXHR4MjE2MFx0eDI4ODBcdHgzNjAwXHR4NDMyMFx0eDUwNDBcdHg1NzYwXHR4NjQ4MFx0eDcyMDBcdHg3OTIwXHR4ODY0MApAQCAtMTcsMTIgKzE3LDYgQEAKIFxiMCAuXAogXAogCi1cYiBORVcgZm9yIFB5dGhvbiAzLjQuMzogCi1cYjAgIDMuNC4zIGluY2x1ZGVzIG5ldHdvcmsgc2VjdXJpdHkgZW5oYW5jZW1lbnRzIHRoYXQgbWF5IHJlcXVpcmUgY2hhbmdlcyB0byB5b3VyIFB5dGhvbiBhcHBsaWNhdGlvbnMuICBTZWUgdGhlIAotXGYxIFJlYWRNZQotXGYwICBmaWxlIGFuZCB7XGZpZWxke1wqXGZsZGluc3R7SFlQRVJMSU5LICJodHRwczovL2RvY3MucHl0aG9uLm9yZy8zL3doYXRzbmV3LzMuNC5odG1sI2NoYW5nZWQtaW4tMy00LTMifX17XGZsZHJzbHQgdGhlIFB5dGhvbiBkb2N1bWVudGF0aW9ufX0gZm9yIG1vcmUgaW5mb3JtYXRpb24uXAotXAotCiBcYiBJTVBPUlRBTlQ6CiBcYjAgIAogXGIgSURMRQpkaWZmIC0tZ2l0IGEvTWFjL1B5dGhvbkxhdW5jaGVyL0luZm8ucGxpc3QuaW4gYi9NYWMvUHl0aG9uTGF1bmNoZXIvSW5mby5wbGlzdC5pbgppbmRleCA0Mjg0NmVhLi5iNGFkZTFkIDEwMDY0NAotLS0gYS9NYWMvUHl0aG9uTGF1bmNoZXIvSW5mby5wbGlzdC5pbgorKysgYi9NYWMvUHl0aG9uTGF1bmNoZXIvSW5mby5wbGlzdC5pbgpAQCAtMSw1ICsxLDUgQEAKIDw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Ci08IURPQ1RZUEUgcGxpc3QgUFVCTElDICItLy9BcHBsZSBDb21wdXRlci8vRFREIFBMSVNUIDEuMC8vRU4iICJodHRwOi8vd3d3LmFwcGxlLmNvbS9EVERzL1Byb3BlcnR5TGlzdC0xLjAuZHRkIj4KKzwhRE9DVFlQRSBwbGlzdCBQVUJMSUMgIi0vL0FwcGxlLy9EVEQgUExJU1QgMS4wLy9FTiIgImh0dHA6Ly93d3cuYXBwbGUuY29tL0RURHMvUHJvcGVydHlMaXN0LTEuMC5kdGQiPgogPHBsaXN0IHZlcnNpb249IjEuMCI+CiA8ZGljdD4KIAk8a2V5PkNGQnVuZGxlRGV2ZWxvcG1lbnRSZWdpb248L2tleT4KQEAgLTM4LDcgKzM4LDcgQEAKIAkJPC9kaWN0PgogCTwvYXJyYXk+CiAJPGtleT5DRkJ1bmRsZUV4ZWN1dGFibGU8L2tleT4KLQk8c3RyaW5nPlB5dGhvbkxhdW5jaGVyPC9zdHJpbmc+CisJPHN0cmluZz5QeXRob24gTGF1bmNoZXI8L3N0cmluZz4KIAk8a2V5PkNGQnVuZGxlR2V0SW5mb1N0cmluZzwva2V5PgogCTxzdHJpbmc+JVZFUlNJT04lLCDCqSAyMDAxLTIwMTUgUHl0aG9uIFNvZnR3YXJlIEZvdW5kYXRpb248L3N0cmluZz4KIAk8a2V5PkNGQnVuZGxlSWNvbkZpbGU8L2tleT4KZGlmZiAtLWdpdCBhL01hYy9QeXRob25MYXVuY2hlci9NYWtlZmlsZS5pbiBiL01hYy9QeXRob25MYXVuY2hlci9NYWtlZmlsZS5pbgppbmRleCBmMDVlZmRmLi40YzA1ZjI2IDEwMDY0NAotLS0gYS9NYWMvUHl0aG9uTGF1bmNoZXIvTWFrZWZpbGUuaW4KKysrIGIvTWFjL1B5dGhvbkxhdW5jaGVyL01ha2VmaWxlLmluCkBAIC0xNSwxMiArMTUsMTAgQEAKIFBZVEhPTkZSQU1FV09SSz1AUFlUSE9ORlJBTUVXT1JLQAogCiAjIERlcGxveW1lbnQgdGFyZ2V0IHNlbGVjdGVkIGR1cmluZyBjb25maWd1cmUsIHRvIGJlIGNoZWNrZWQKLSMgYnkgZGlzdHV0aWxzICAKKyMgYnkgZGlzdHV0aWxzCiBNQUNPU1hfREVQTE9ZTUVOVF9UQVJHRVQ9QENPTkZJR1VSRV9NQUNPU1hfREVQTE9ZTUVOVF9UQVJHRVRACiBARVhQT1JUX01BQ09TWF9ERVBMT1lNRU5UX1RBUkdFVEBleHBvcnQgTUFDT1NYX0RFUExPWU1FTlRfVEFSR0VUCiAKLUJVTkRMRUJVTERFUj0kKHNyY2RpcikvLi4vVG9vbHMvYnVuZGxlYnVpbGRlci5weQotCiBQWVRIT05BUFBTRElSPUBGUkFNRVdPUktJTlNUQUxMQVBQU1BSRUZJWEAvJChQWVRIT05GUkFNRVdPUkspICQoVkVSU0lPTikKIE9CSkVDVFM9RmlsZVNldHRpbmdzLm8gTXlBcHBEZWxlZ2F0ZS5vIE15RG9jdW1lbnQubyBQcmVmZXJlbmNlc1dpbmRvd0NvbnRyb2xsZXIubyBkb3NjcmlwdC5vIG1haW4ubwogCkBAIC0zMCwxMCArMjgsMTAgQEAKIAkvYmluL2NwIC1yICJQeXRob24gTGF1bmNoZXIuYXBwIiAiJChERVNURElSKSQoUFlUSE9OQVBQU0RJUikiCiAJdG91Y2ggIiQoREVTVERJUikkKFBZVEhPTkFQUFNESVIpL1B5dGhvbiBMYXVuY2hlci5hcHAiCiAKLQogY2xlYW46CiAJcm0gLWYgKi5vICJQeXRob24gTGF1bmNoZXIiCiAJcm0gLXJmICJQeXRob24gTGF1bmNoZXIuYXBwIgorCXJtIC1mIEluZm8ucGxpc3QKIAogUHl0aG9uXCBMYXVuY2hlci5hcHA6ICBJbmZvLnBsaXN0IFwKIAkJUHl0aG9uXCBMYXVuY2hlciAkKHNyY2RpcikvLi4vSWNvbnMvUHl0aG9uTGF1bmNoZXIuaWNucyBcCkBAIC00MSwxOCArMzksMTcgQEAKIAkJJChzcmNkaXIpLy4uL0ljb25zL1B5dGhvbkNvbXBpbGVkLmljbnMgXAogCQkkKHNyY2RpcikvZmFjdG9yeVNldHRpbmdzLnBsaXN0CiAJcm0gLWZyICJQeXRob24gTGF1bmNoZXIuYXBwIgotCSQoUlVOU0hBUkVEKSAkKEJVSUxEUFlUSE9OKSAkKEJVTkRMRUJVTERFUikgXAotCQktLWJ1aWxkZGlyPS4gXAotCQktLW5hbWU9IlB5dGhvbiBMYXVuY2hlciIgXAotCQktLWV4ZWN1dGFibGU9IlB5dGhvbiBMYXVuY2hlciIgXAotCQktLWljb25maWxlPSQoc3JjZGlyKS8uLi9JY29ucy9QeXRob25MYXVuY2hlci5pY25zIFwKLQkJLS1idW5kbGUtaWQ9b3JnLnB5dGhvbi5QeXRob25MYXVuY2hlciBcCi0JCS0tcmVzb3VyY2U9JChzcmNkaXIpLy4uL0ljb25zL1B5dGhvblNvdXJjZS5pY25zIFwKLQkJLS1yZXNvdXJjZT0kKHNyY2RpcikvLi4vSWNvbnMvUHl0aG9uQ29tcGlsZWQuaWNucyBcCi0JCS0tcmVzb3VyY2U9JChzcmNkaXIpL0VuZ2xpc2gubHByb2ogXAotCQktLXJlc291cmNlPSQoc3JjZGlyKS9mYWN0b3J5U2V0dGluZ3MucGxpc3QgXAotCQktLXBsaXN0IEluZm8ucGxpc3QgXAotCQlidWlsZAorCW1rZGlyICJQeXRob24gTGF1bmNoZXIuYXBwIgorCW1rZGlyICJQeXRob24gTGF1bmNoZXIuYXBwL0NvbnRlbnRzIgorCW1rZGlyICJQeXRob24gTGF1bmNoZXIuYXBwL0NvbnRlbnRzL01hY09TIgorCW1rZGlyICJQeXRob24gTGF1bmNoZXIuYXBwL0NvbnRlbnRzL1Jlc291cmNlcyIKKwljcCAiUHl0aG9uIExhdW5jaGVyIiAiUHl0aG9uIExhdW5jaGVyLmFwcC9Db250ZW50cy9NYWNPUyIKKwljcCBJbmZvLnBsaXN0ICAiUHl0aG9uIExhdW5jaGVyLmFwcC9Db250ZW50cyIKKwljcCAkKHNyY2RpcikvLi4vSWNvbnMvUHl0aG9uTGF1bmNoZXIuaWNucyAgIlB5dGhvbiBMYXVuY2hlci5hcHAvQ29udGVudHMvUmVzb3VyY2VzIgorCWNwICQoc3JjZGlyKS8uLi9JY29ucy9QeXRob25Tb3VyY2UuaWNucyAgIlB5dGhvbiBMYXVuY2hlci5hcHAvQ29udGVudHMvUmVzb3VyY2VzIgorCWNwICQoc3JjZGlyKS8uLi9JY29ucy9QeXRob25Db21waWxlZC5pY25zICAiUHl0aG9uIExhdW5jaGVyLmFwcC9Db250ZW50cy9SZXNvdXJjZXMiCisJY3AgJChzcmNkaXIpL2ZhY3RvcnlTZXR0aW5ncy5wbGlzdCAgIlB5dGhvbiBMYXVuY2hlci5hcHAvQ29udGVudHMvUmVzb3VyY2VzIgorCWNwIC1SICQoc3JjZGlyKS9FbmdsaXNoLmxwcm9qICJQeXRob24gTGF1bmNoZXIuYXBwL0NvbnRlbnRzL1Jlc291cmNlcyIKIAogRmlsZVNldHRpbmdzLm86ICQoc3JjZGlyKS9GaWxlU2V0dGluZ3MubQogCSQoQ0MpICQoQ0ZMQUdTKSAtbyAkQCAtYyAkKHNyY2RpcikvRmlsZVNldHRpbmdzLm0KZGlmZiAtLWdpdCBhL01hYy9Ub29scy9idW5kbGVidWlsZGVyLnB5IGIvTWFjL1Rvb2xzL2J1bmRsZWJ1aWxkZXIucHkKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IGY1Njc5ZDMuLjAwMDAwMDAKLS0tIGEvTWFjL1Rvb2xzL2J1bmRsZWJ1aWxkZXIucHkKKysrIC9kZXYvbnVsbApAQCAtMSw5MzQgKzAsMCBAQAotIyEgL3Vzci9iaW4vZW52IHB5dGhvbgotCi0iIiJcCi1idW5kbGVidWlsZGVyLnB5IC0tIFRvb2xzIHRvIGFzc2VtYmxlIE1hY09TIFggKGFwcGxpY2F0aW9uKSBidW5kbGVzLgotCi1UaGlzIG1vZHVsZSBjb250YWlucyB0d28gY2xhc3NlcyB0byBidWlsZCBzbyBjYWxsZWQgImJ1bmRsZXMiIGZvcgotTWFjT1MgWC4gQnVuZGxlQnVpbGRlciBpcyBhIGdlbmVyYWwgdG9vbCwgQXBwQnVpbGRlciBpcyBhIHN1YmNsYXNzCi1zcGVjaWFsaXplZCBpbiBidWlsZGluZyBhcHBsaWNhdGlvbiBidW5kbGVzLgotCi1bQnVuZGxlfEFwcF1CdWlsZGVyIG9iamVjdHMgYXJlIGluc3RhbnRpYXRlZCB3aXRoIGEgYnVuY2ggb2Yga2V5d29yZAotYXJndW1lbnRzLCBhbmQgaGF2ZSBhIGJ1aWxkKCkgbWV0aG9kIHRoYXQgd2lsbCBkbyBhbGwgdGhlIHdvcmsuIFNlZQotdGhlIGNsYXNzIGRvYyBzdHJpbmdzIGZvciBhIGRlc2NyaXB0aW9uIG9mIHRoZSBjb25zdHJ1Y3RvciBhcmd1bWVudHMuCi0KLVRoZSBtb2R1bGUgY29udGFpbnMgYSBtYWluIHByb2dyYW0gdGhhdCBjYW4gYmUgdXNlZCBpbiB0d28gd2F5czoKLQotICAlIHB5dGhvbiBidW5kbGVidWlsZGVyLnB5IFtvcHRpb25zXSBidWlsZAotICAlIHB5dGhvbiBidWlsZGFwcC5weSBbb3B0aW9uc10gYnVpbGQKLQotV2hlcmUgImJ1aWxkYXBwLnB5IiBpcyBhIHVzZXItc3VwcGxpZWQgc2V0dXAucHktbGlrZSBzY3JpcHQgZm9sbG93aW5nCi10aGlzIG1vZGVsOgotCi0gIGZyb20gYnVuZGxlYnVpbGRlciBpbXBvcnQgYnVpbGRhcHAKLSAgYnVpbGRhcHAoPGxvdHMtb2Yta2V5d29yZC1hcmdzPikKLQotIiIiCi0KLQotX19hbGxfXyA9IFsiQnVuZGxlQnVpbGRlciIsICJCdW5kbGVCdWlsZGVyRXJyb3IiLCAiQXBwQnVpbGRlciIsICJidWlsZGFwcCJdCi0KLQotaW1wb3J0IHN5cwotaW1wb3J0IG9zLCBlcnJubywgc2h1dGlsCi1pbXBvcnQgaW1wLCBtYXJzaGFsCi1pbXBvcnQgcmUKLWZyb20gY29weSBpbXBvcnQgZGVlcGNvcHkKLWltcG9ydCBnZXRvcHQKLWZyb20gcGxpc3RsaWIgaW1wb3J0IFBsaXN0Ci1mcm9tIHR5cGVzIGltcG9ydCBGdW5jdGlvblR5cGUgYXMgZnVuY3Rpb24KLQotY2xhc3MgQnVuZGxlQnVpbGRlckVycm9yKEV4Y2VwdGlvbik6IHBhc3MKLQotCi1jbGFzcyBEZWZhdWx0czoKLQotICAgICIiIkNsYXNzIGF0dHJpYnV0ZXMgdGhhdCBkb24ndCBzdGFydCB3aXRoIGFuIHVuZGVyc2NvcmUgYW5kIGFyZQotICAgIG5vdCBmdW5jdGlvbnMgb3IgY2xhc3NtZXRob2RzIGFyZSAoZGVlcCljb3BpZWQgdG8gc2VsZi5fX2RpY3RfXy4KLSAgICBUaGlzIGFsbG93cyBmb3IgbXV0YWJsZSBkZWZhdWx0IHZhbHVlcy4KLSAgICAiIiIKLQotICAgIGRlZiBfX2luaXRfXyhzZWxmLCAqKmt3YXJncyk6Ci0gICAgICAgIGRlZmF1bHRzID0gc2VsZi5fZ2V0RGVmYXVsdHMoKQotICAgICAgICBkZWZhdWx0cy51cGRhdGUoa3dhcmdzKQotICAgICAgICBzZWxmLl9fZGljdF9fLnVwZGF0ZShkZWZhdWx0cykKLQotICAgIGRlZiBfZ2V0RGVmYXVsdHMoY2xzKToKLSAgICAgICAgZGVmYXVsdHMgPSB7fQotICAgICAgICBmb3IgYmFzZSBpbiBjbHMuX19iYXNlc19fOgotICAgICAgICAgICAgaWYgaGFzYXR0cihiYXNlLCAiX2dldERlZmF1bHRzIik6Ci0gICAgICAgICAgICAgICAgZGVmYXVsdHMudXBkYXRlKGJhc2UuX2dldERlZmF1bHRzKCkpCi0gICAgICAgIGZvciBuYW1lLCB2YWx1ZSBpbiBsaXN0KGNscy5fX2RpY3RfXy5pdGVtcygpKToKLSAgICAgICAgICAgIGlmIG5hbWVbMF0gIT0gIl8iIGFuZCBub3QgaXNpbnN0YW5jZSh2YWx1ZSwKLSAgICAgICAgICAgICAgICAgICAgKGZ1bmN0aW9uLCBjbGFzc21ldGhvZCkpOgotICAgICAgICAgICAgICAgIGRlZmF1bHRzW25hbWVdID0gZGVlcGNvcHkodmFsdWUpCi0gICAgICAgIHJldHVybiBkZWZhdWx0cwotICAgIF9nZXREZWZhdWx0cyA9IGNsYXNzbWV0aG9kKF9nZXREZWZhdWx0cykKLQotCi1jbGFzcyBCdW5kbGVCdWlsZGVyKERlZmF1bHRzKToKLQotICAgICIiIkJ1bmRsZUJ1aWxkZXIgaXMgYSBiYXJlYm9uZXMgY2xhc3MgZm9yIGFzc2VtYmxpbmcgYnVuZGxlcy4gSXQKLSAgICBrbm93cyBub3RoaW5nIGFib3V0IGV4ZWN1dGFibGVzIG9yIGljb25zLCBpdCBvbmx5IGNvcGllcyBmaWxlcwotICAgIGFuZCBjcmVhdGVzIHRoZSBQa2dJbmZvIGFuZCBJbmZvLnBsaXN0IGZpbGVzLgotICAgICIiIgotCi0gICAgIyAoTm90ZSB0aGF0IERlZmF1bHRzLl9faW5pdF9fIChkZWVwKWNvcGllcyB0aGVzZSB2YWx1ZXMgdG8KLSAgICAjIGluc3RhbmNlIHZhcmlhYmxlcy4gTXV0YWJsZSBkZWZhdWx0cyBhcmUgdGhlcmVmb3JlIHNhZmUuKQotCi0gICAgIyBOYW1lIG9mIHRoZSBidW5kbGUsIHdpdGggb3Igd2l0aG91dCBleHRlbnNpb24uCi0gICAgbmFtZSA9IE5vbmUKLQotICAgICMgVGhlIHByb3BlcnR5IGxpc3QgKCJwbGlzdCIpCi0gICAgcGxpc3QgPSBQbGlzdChDRkJ1bmRsZURldmVsb3BtZW50UmVnaW9uID0gIkVuZ2xpc2giLAotICAgICAgICAgICAgICAgICAgQ0ZCdW5kbGVJbmZvRGljdGlvbmFyeVZlcnNpb24gPSAiNi4wIikKLQotICAgICMgVGhlIHR5cGUgb2YgdGhlIGJ1bmRsZS4KLSAgICB0eXBlID0gIkJOREwiCi0gICAgIyBUaGUgY3JlYXRvciBjb2RlIG9mIHRoZSBidW5kbGUuCi0gICAgY3JlYXRvciA9IE5vbmUKLQotICAgICMgdGhlIENGQnVuZGxlSWRlbnRpZmllciAodGhpcyBpcyB1c2VkIGZvciB0aGUgcHJlZmVyZW5jZXMgZmlsZSBuYW1lKQotICAgIGJ1bmRsZV9pZCA9IE5vbmUKLQotICAgICMgTGlzdCBvZiBmaWxlcyB0aGF0IGhhdmUgdG8gYmUgY29waWVkIHRvIDxidW5kbGU+L0NvbnRlbnRzL1Jlc291cmNlcy4KLSAgICByZXNvdXJjZXMgPSBbXQotCi0gICAgIyBMaXN0IG9mIChzcmMsIGRlc3QpIHR1cGxlczsgZGVzdCBzaG91bGQgYmUgYSBwYXRoIHJlbGF0aXZlIHRvIHRoZSBidW5kbGUKLSAgICAjIChlZy4gIkNvbnRlbnRzL1Jlc291cmNlcy9NeVN0dWZmL1NvbWVGaWxlLmV4dCkuCi0gICAgZmlsZXMgPSBbXQotCi0gICAgIyBMaXN0IG9mIHNoYXJlZCBsaWJyYXJpZXMgKGR5bGlicywgRnJhbWV3b3JrcykgdG8gYnVuZGxlIHdpdGggdGhlIGFwcAotICAgICMgd2lsbCBiZSBwbGFjZWQgaW4gQ29udGVudHMvRnJhbWV3b3JrcwotICAgIGxpYnMgPSBbXQotCi0gICAgIyBEaXJlY3Rvcnkgd2hlcmUgdGhlIGJ1bmRsZSB3aWxsIGJlIGFzc2VtYmxlZC4KLSAgICBidWlsZGRpciA9ICJidWlsZCIKLQotICAgICMgTWFrZSBzeW1saW5rcyBpbnN0ZWFkIGNvcHlpbmcgZmlsZXMuIFRoaXMgaXMgaGFuZHkgZHVyaW5nIGRlYnVnZ2luZywgYnV0Ci0gICAgIyBtYWtlcyB0aGUgYnVuZGxlIG5vbi1kaXN0cmlidXRhYmxlLgotICAgIHN5bWxpbmsgPSAwCi0KLSAgICAjIFZlcmJvc2l0eSBsZXZlbC4KLSAgICB2ZXJib3NpdHkgPSAxCi0KLSAgICAjIERlc3RpbmF0aW9uIHJvb3QgZGlyZWN0b3J5Ci0gICAgZGVzdHJvb3QgPSAiIgotCi0gICAgZGVmIHNldHVwKHNlbGYpOgotICAgICAgICAjIFhYWCByZXRoaW5rIHNlbGYubmFtZSBtdW5naW5nLCB0aGlzIGlzIGJyaXR0bGUuCi0gICAgICAgIHNlbGYubmFtZSwgZXh0ID0gb3MucGF0aC5zcGxpdGV4dChzZWxmLm5hbWUpCi0gICAgICAgIGlmIG5vdCBleHQ6Ci0gICAgICAgICAgICBleHQgPSAiLmJ1bmRsZSIKLSAgICAgICAgYnVuZGxlZXh0ZW5zaW9uID0gZXh0Ci0gICAgICAgICMgbWlzYyAoZGVyaXZlZCkgYXR0cmlidXRlcwotICAgICAgICBzZWxmLmJ1bmRsZXBhdGggPSBwYXRoam9pbihzZWxmLmJ1aWxkZGlyLCBzZWxmLm5hbWUgKyBidW5kbGVleHRlbnNpb24pCi0KLSAgICAgICAgcGxpc3QgPSBzZWxmLnBsaXN0Ci0gICAgICAgIHBsaXN0LkNGQnVuZGxlTmFtZSA9IHNlbGYubmFtZQotICAgICAgICBwbGlzdC5DRkJ1bmRsZVBhY2thZ2VUeXBlID0gc2VsZi50eXBlCi0gICAgICAgIGlmIHNlbGYuY3JlYXRvciBpcyBOb25lOgotICAgICAgICAgICAgaWYgaGFzYXR0cihwbGlzdCwgIkNGQnVuZGxlU2lnbmF0dXJlIik6Ci0gICAgICAgICAgICAgICAgc2VsZi5jcmVhdG9yID0gcGxpc3QuQ0ZCdW5kbGVTaWduYXR1cmUKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgc2VsZi5jcmVhdG9yID0gIj8/Pz8iCi0gICAgICAgIHBsaXN0LkNGQnVuZGxlU2lnbmF0dXJlID0gc2VsZi5jcmVhdG9yCi0gICAgICAgIGlmIHNlbGYuYnVuZGxlX2lkOgotICAgICAgICAgICAgcGxpc3QuQ0ZCdW5kbGVJZGVudGlmaWVyID0gc2VsZi5idW5kbGVfaWQKLSAgICAgICAgZWxpZiBub3QgaGFzYXR0cihwbGlzdCwgIkNGQnVuZGxlSWRlbnRpZmllciIpOgotICAgICAgICAgICAgcGxpc3QuQ0ZCdW5kbGVJZGVudGlmaWVyID0gc2VsZi5uYW1lCi0KLSAgICBkZWYgYnVpbGQoc2VsZik6Ci0gICAgICAgICIiIkJ1aWxkIHRoZSBidW5kbGUuIiIiCi0gICAgICAgIGJ1aWxkZGlyID0gc2VsZi5idWlsZGRpcgotICAgICAgICBpZiBidWlsZGRpciBhbmQgbm90IG9zLnBhdGguZXhpc3RzKGJ1aWxkZGlyKToKLSAgICAgICAgICAgIG9zLm1rZGlyKGJ1aWxkZGlyKQotICAgICAgICBzZWxmLm1lc3NhZ2UoIkJ1aWxkaW5nICVzIiAlIHJlcHIoc2VsZi5idW5kbGVwYXRoKSwgMSkKLSAgICAgICAgaWYgb3MucGF0aC5leGlzdHMoc2VsZi5idW5kbGVwYXRoKToKLSAgICAgICAgICAgIHNodXRpbC5ybXRyZWUoc2VsZi5idW5kbGVwYXRoKQotICAgICAgICBpZiBvcy5wYXRoLmV4aXN0cyhzZWxmLmJ1bmRsZXBhdGggKyAnficpOgotICAgICAgICAgICAgc2h1dGlsLnJtdHJlZShzZWxmLmJ1bmRsZXBhdGggKyAnficpCi0gICAgICAgIGJwID0gc2VsZi5idW5kbGVwYXRoCi0KLSAgICAgICAgIyBDcmVhdGUgdGhlIGFwcCBidW5kbGUgaW4gYSB0ZW1wb3JhcnkgbG9jYXRpb24gYW5kIHRoZW4KLSAgICAgICAgIyByZW5hbWUgdGhlIGNvbXBsZXRlZCBidW5kbGUuIFRoaXMgd2F5IHRoZSBGaW5kZXIgd2lsbAotICAgICAgICAjIG5ldmVyIHNlZSBhbiBpbmNvbXBsZXRlIGJ1bmRsZSAod2hlcmUgaXQgbWlnaHQgcGljayB1cAotICAgICAgICAjIGFuZCBjYWNoZSB0aGUgd3JvbmcgbWV0YSBkYXRhKQotICAgICAgICBzZWxmLmJ1bmRsZXBhdGggPSBicCArICd+JwotICAgICAgICB0cnk6Ci0gICAgICAgICAgICBvcy5ta2RpcihzZWxmLmJ1bmRsZXBhdGgpCi0gICAgICAgICAgICBzZWxmLnByZVByb2Nlc3MoKQotICAgICAgICAgICAgc2VsZi5fY29weUZpbGVzKCkKLSAgICAgICAgICAgIHNlbGYuX2FkZE1ldGFGaWxlcygpCi0gICAgICAgICAgICBzZWxmLnBvc3RQcm9jZXNzKCkKLSAgICAgICAgICAgIG9zLnJlbmFtZShzZWxmLmJ1bmRsZXBhdGgsIGJwKQotICAgICAgICBmaW5hbGx5OgotICAgICAgICAgICAgc2VsZi5idW5kbGVwYXRoID0gYnAKLSAgICAgICAgc2VsZi5tZXNzYWdlKCJEb25lLiIsIDEpCi0KLSAgICBkZWYgcHJlUHJvY2VzcyhzZWxmKToKLSAgICAgICAgIiIiSG9vayBmb3Igc3ViY2xhc3Nlcy4iIiIKLSAgICAgICAgcGFzcwotICAgIGRlZiBwb3N0UHJvY2VzcyhzZWxmKToKLSAgICAgICAgIiIiSG9vayBmb3Igc3ViY2xhc3Nlcy4iIiIKLSAgICAgICAgcGFzcwotCi0gICAgZGVmIF9hZGRNZXRhRmlsZXMoc2VsZik6Ci0gICAgICAgIGNvbnRlbnRzID0gcGF0aGpvaW4oc2VsZi5idW5kbGVwYXRoLCAiQ29udGVudHMiKQotICAgICAgICBtYWtlZGlycyhjb250ZW50cykKLSAgICAgICAgIwotICAgICAgICAjIFdyaXRlIENvbnRlbnRzL1BrZ0luZm8KLSAgICAgICAgYXNzZXJ0IGxlbihzZWxmLnR5cGUpID09IGxlbihzZWxmLmNyZWF0b3IpID09IDQsIFwKLSAgICAgICAgICAgICAgICAidHlwZSBhbmQgY3JlYXRvciBtdXN0IGJlIDQtYnl0ZSBzdHJpbmdzLiIKLSAgICAgICAgcGtnaW5mbyA9IHBhdGhqb2luKGNvbnRlbnRzLCAiUGtnSW5mbyIpCi0gICAgICAgIGYgPSBvcGVuKHBrZ2luZm8sICJ3YiIpCi0gICAgICAgIGYud3JpdGUoKHNlbGYudHlwZSArIHNlbGYuY3JlYXRvcikuZW5jb2RlKCdsYXRpbjEnKSkKLSAgICAgICAgZi5jbG9zZSgpCi0gICAgICAgICMKLSAgICAgICAgIyBXcml0ZSBDb250ZW50cy9JbmZvLnBsaXN0Ci0gICAgICAgIGluZm9wbGlzdCA9IHBhdGhqb2luKGNvbnRlbnRzLCAiSW5mby5wbGlzdCIpCi0gICAgICAgIHNlbGYucGxpc3Qud3JpdGUoaW5mb3BsaXN0KQotCi0gICAgZGVmIF9jb3B5RmlsZXMoc2VsZik6Ci0gICAgICAgIGZpbGVzID0gc2VsZi5maWxlc1s6XQotICAgICAgICBmb3IgcGF0aCBpbiBzZWxmLnJlc291cmNlczoKLSAgICAgICAgICAgIGZpbGVzLmFwcGVuZCgocGF0aCwgcGF0aGpvaW4oIkNvbnRlbnRzIiwgIlJlc291cmNlcyIsCi0gICAgICAgICAgICAgICAgb3MucGF0aC5iYXNlbmFtZShwYXRoKSkpKQotICAgICAgICBmb3IgcGF0aCBpbiBzZWxmLmxpYnM6Ci0gICAgICAgICAgICBmaWxlcy5hcHBlbmQoKHBhdGgsIHBhdGhqb2luKCJDb250ZW50cyIsICJGcmFtZXdvcmtzIiwKLSAgICAgICAgICAgICAgICBvcy5wYXRoLmJhc2VuYW1lKHBhdGgpKSkpCi0gICAgICAgIGlmIHNlbGYuc3ltbGluazoKLSAgICAgICAgICAgIHNlbGYubWVzc2FnZSgiTWFraW5nIHN5bWJvbGljIGxpbmtzIiwgMSkKLSAgICAgICAgICAgIG1zZyA9ICJNYWtpbmcgc3ltbGluayBmcm9tIgotICAgICAgICBlbHNlOgotICAgICAgICAgICAgc2VsZi5tZXNzYWdlKCJDb3B5aW5nIGZpbGVzIiwgMSkKLSAgICAgICAgICAgIG1zZyA9ICJDb3B5aW5nIgotICAgICAgICBmaWxlcy5zb3J0KCkKLSAgICAgICAgZm9yIHNyYywgZHN0IGluIGZpbGVzOgotICAgICAgICAgICAgaWYgb3MucGF0aC5pc2RpcihzcmMpOgotICAgICAgICAgICAgICAgIHNlbGYubWVzc2FnZSgiJXMgJXMvIHRvICVzLyIgJSAobXNnLCBzcmMsIGRzdCksIDIpCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIHNlbGYubWVzc2FnZSgiJXMgJXMgdG8gJXMiICUgKG1zZywgc3JjLCBkc3QpLCAyKQotICAgICAgICAgICAgZHN0ID0gcGF0aGpvaW4oc2VsZi5idW5kbGVwYXRoLCBkc3QpCi0gICAgICAgICAgICBpZiBzZWxmLnN5bWxpbms6Ci0gICAgICAgICAgICAgICAgc3ltbGluayhzcmMsIGRzdCwgbWtkaXJzPTEpCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIGNvcHkoc3JjLCBkc3QsIG1rZGlycz0xKQotCi0gICAgZGVmIG1lc3NhZ2Uoc2VsZiwgbXNnLCBsZXZlbD0wKToKLSAgICAgICAgaWYgbGV2ZWwgPD0gc2VsZi52ZXJib3NpdHk6Ci0gICAgICAgICAgICBpbmRlbnQgPSAiIgotICAgICAgICAgICAgaWYgbGV2ZWwgPiAxOgotICAgICAgICAgICAgICAgIGluZGVudCA9IChsZXZlbCAtIDEpICogIiAgIgotICAgICAgICAgICAgc3lzLnN0ZGVyci53cml0ZShpbmRlbnQgKyBtc2cgKyAiXG4iKQotCi0gICAgZGVmIHJlcG9ydChzZWxmKToKLSAgICAgICAgIyBYWFggc29tZXRoaW5nIGRlY2VudAotICAgICAgICBwYXNzCi0KLQotaWYgX19kZWJ1Z19fOgotICAgIFBZQ19FWFQgPSAiLnB5YyIKLWVsc2U6Ci0gICAgUFlDX0VYVCA9ICIucHlvIgotCi1NQUdJQyA9IGltcC5nZXRfbWFnaWMoKQotVVNFX1pJUElNUE9SVCA9ICJ6aXBpbXBvcnQiIGluIHN5cy5idWlsdGluX21vZHVsZV9uYW1lcwotCi0jIEZvciBzdGFuZGFsb25lIGFwcHMsIHdlIGhhdmUgb3VyIG93biBtaW5pbWFsIHNpdGUucHkuIFdlIGRvbid0IG5lZWQKLSMgYWxsIHRoZSBjcnVmdCBvZiB0aGUgcmVhbCBzaXRlLnB5LgotU0lURV9QWSA9ICIiIlwKLWltcG9ydCBzeXMKLWlmIG5vdCAlKHNlbWlfc3RhbmRhbG9uZSlzOgotICAgIGRlbCBzeXMucGF0aFsxOl0gICMgc3lzLnBhdGhbMF0gaXMgQ29udGVudHMvUmVzb3VyY2VzLwotIiIiCi0KLWlmIFVTRV9aSVBJTVBPUlQ6Ci0gICAgWklQX0FSQ0hJVkUgPSAiTW9kdWxlcy56aXAiCi0gICAgU0lURV9QWSArPSAic3lzLnBhdGguYXBwZW5kKHN5cy5wYXRoWzBdICsgJy8lcycpXG4iICUgWklQX0FSQ0hJVkUKLSAgICBkZWYgZ2V0UHljRGF0YShmdWxsbmFtZSwgY29kZSwgaXNwa2cpOgotICAgICAgICBpZiBpc3BrZzoKLSAgICAgICAgICAgIGZ1bGxuYW1lICs9ICIuX19pbml0X18iCi0gICAgICAgIHBhdGggPSBmdWxsbmFtZS5yZXBsYWNlKCIuIiwgb3Muc2VwKSArIFBZQ19FWFQKLSAgICAgICAgcmV0dXJuIHBhdGgsIE1BR0lDICsgJ1wwXDBcMFwwJyArIG1hcnNoYWwuZHVtcHMoY29kZSkKLQotIwotIyBFeHRlbnNpb24gbW9kdWxlcyBjYW4ndCBiZSBpbiB0aGUgbW9kdWxlcyB6aXAgYXJjaGl2ZSwgc28gYSBwbGFjZWhvbGRlcgotIyBpcyBhZGRlZCBpbnN0ZWFkLCB0aGF0IGxvYWRzIHRoZSBleHRlbnNpb24gZnJvbSBhIHNwZWNpZmllZCBsb2NhdGlvbi4KLSMKLUVYVF9MT0FERVIgPSAiIiJcCi1kZWYgX19sb2FkKCk6Ci0gICAgaW1wb3J0IGltcCwgc3lzLCBvcwotICAgIGZvciBwIGluIHN5cy5wYXRoOgotICAgICAgICBwYXRoID0gb3MucGF0aC5qb2luKHAsICIlKGZpbGVuYW1lKXMiKQotICAgICAgICBpZiBvcy5wYXRoLmV4aXN0cyhwYXRoKToKLSAgICAgICAgICAgIGJyZWFrCi0gICAgZWxzZToKLSAgICAgICAgYXNzZXJ0IDAsICJmaWxlIG5vdCBmb3VuZDogJShmaWxlbmFtZSlzIgotICAgIG1vZCA9IGltcC5sb2FkX2R5bmFtaWMoIiUobmFtZSlzIiwgcGF0aCkKLQotX19sb2FkKCkKLWRlbCBfX2xvYWQKLSIiIgotCi1NQVlNSVNTX01PRFVMRVMgPSBbJ21hYycsICdudCcsICdudHBhdGgnLCAnZG9zJywgJ2Rvc3BhdGgnLAotICAgICd3aW4zMmFwaScsICdjZScsICdfd2lucmVnJywgJ250dXJsMnBhdGgnLCAnc2l0ZWN1c3RvbWl6ZScsCi0gICAgJ29yZy5weXRob24uY29yZScsICdyaXNjb3MnLCAncmlzY29zZW52aXJvbicsICdyaXNjb3NwYXRoJwotXQotCi1TVFJJUF9FWEVDID0gIi91c3IvYmluL3N0cmlwIgotCi0jCi0jIFdlJ3JlIHVzaW5nIGEgc3RvY2sgaW50ZXJwcmV0ZXIgdG8gcnVuIHRoZSBhcHAsIHlldCB3ZSBuZWVkCi0jIGEgd2F5IHRvIHBhc3MgdGhlIFB5dGhvbiBtYWluIHByb2dyYW0gdG8gdGhlIGludGVycHJldGVyLiBUaGUKLSMgYm9vdHN0cmFwcGluZyBzY3JpcHQgZmlyZXMgdXAgdGhlIGludGVycHJldGVyIHdpdGggdGhlIHJpZ2h0Ci0jIGFyZ3VtZW50cy4gb3MuZXhlY3ZlKCkgaXMgdXNlZCBhcyBPU1ggZG9lc24ndCBsaWtlIHVzIHRvCi0jIHN0YXJ0IGEgcmVhbCBuZXcgcHJvY2Vzcy4gQWxzbywgdGhlIGV4ZWN1dGFibGUgbmFtZSBtdXN0IG1hdGNoCi0jIHRoZSBDRkJ1bmRsZUV4ZWN1dGFibGUgdmFsdWUgaW4gdGhlIEluZm8ucGxpc3QsIHNvIHdlIGxpZQotIyBkZWxpYmVyYXRlbHkgd2l0aCBhcmd2WzBdLiBUaGUgYWN0dWFsIFB5dGhvbiBleGVjdXRhYmxlIGlzCi0jIHBhc3NlZCBpbiBhbiBlbnZpcm9ubWVudCB2YXJpYWJsZSBzbyB3ZSBjYW4gInJlcGFpciIKLSMgc3lzLmV4ZWN1dGFibGUgbGF0ZXIuCi0jCi1CT09UU1RSQVBfU0NSSVBUID0gIiIiXAotIyElKGhhc2hiYW5nKXMKLQotaW1wb3J0IHN5cywgb3MKLWV4ZWNkaXIgPSBvcy5wYXRoLmRpcm5hbWUoc3lzLmFyZ3ZbMF0pCi1leGVjdXRhYmxlID0gb3MucGF0aC5qb2luKGV4ZWNkaXIsICIlKGV4ZWN1dGFibGUpcyIpCi1yZXNkaXIgPSBvcy5wYXRoLmpvaW4ob3MucGF0aC5kaXJuYW1lKGV4ZWNkaXIpLCAiUmVzb3VyY2VzIikKLWxpYmRpciA9IG9zLnBhdGguam9pbihvcy5wYXRoLmRpcm5hbWUoZXhlY2RpciksICJGcmFtZXdvcmtzIikKLW1haW5wcm9ncmFtID0gb3MucGF0aC5qb2luKHJlc2RpciwgIiUobWFpbnByb2dyYW0pcyIpCi0KLXN5cy5hcmd2Lmluc2VydCgxLCBtYWlucHJvZ3JhbSkKLWlmICUoc3RhbmRhbG9uZSlzIG9yICUoc2VtaV9zdGFuZGFsb25lKXM6Ci0gICAgb3MuZW52aXJvblsiUFlUSE9OUEFUSCJdID0gcmVzZGlyCi0gICAgaWYgJShzdGFuZGFsb25lKXM6Ci0gICAgICAgIG9zLmVudmlyb25bIlBZVEhPTkhPTUUiXSA9IHJlc2RpcgotZWxzZToKLSAgICBweXBhdGggPSBvcy5nZXRlbnYoIlBZVEhPTlBBVEgiLCAiIikKLSAgICBpZiBweXBhdGg6Ci0gICAgICAgIHB5cGF0aCA9ICI6IiArIHB5cGF0aAotICAgIG9zLmVudmlyb25bIlBZVEhPTlBBVEgiXSA9IHJlc2RpciArIHB5cGF0aAotb3MuZW52aXJvblsiUFlUSE9ORVhFQ1VUQUJMRSJdID0gZXhlY3V0YWJsZQotb3MuZW52aXJvblsiRFlMRF9MSUJSQVJZX1BBVEgiXSA9IGxpYmRpcgotb3MuZW52aXJvblsiRFlMRF9GUkFNRVdPUktfUEFUSCJdID0gbGliZGlyCi1vcy5leGVjdmUoZXhlY3V0YWJsZSwgc3lzLmFyZ3YsIG9zLmVudmlyb24pCi0iIiIKLQotCi0jCi0jIE9wdGlvbmFsIHdyYXBwZXIgdGhhdCBjb252ZXJ0cyAiZHJvcHBlZCBmaWxlcyIgaW50byBzeXMuYXJndiB2YWx1ZXMuCi0jCi1BUkdWX0VNVUxBVE9SID0gIiIiXAotaW1wb3J0IGFyZ3ZlbXVsYXRvciwgb3MKLQotYXJndmVtdWxhdG9yLkFyZ3ZDb2xsZWN0b3IoKS5tYWlubG9vcCgpCi1leGVjZmlsZShvcy5wYXRoLmpvaW4ob3MucGF0aC5zcGxpdChfX2ZpbGVfXylbMF0sICIlKHJlYWxtYWlucHJvZ3JhbSlzIikpCi0iIiIKLQotIwotIyBXaGVuIGJ1aWxkaW5nIGEgc3RhbmRhbG9uZSBhcHAgd2l0aCBQeXRob24uZnJhbWV3b3JrLCB3ZSBuZWVkIHRvIGNvcHkKLSMgYSBzdWJzZXQgZnJvbSBQeXRob24uZnJhbWV3b3JrIHRvIHRoZSBidW5kbGUuIFRoZSBmb2xsb3dpbmcgbGlzdAotIyBzcGVjaWZpZXMgZXhhY3RseSB3aGF0IGl0ZW1zIHdlJ2xsIGNvcHkuCi0jCi1QWVRIT05GUkFNRVdPUktHT09ESUVTID0gWwotICAgICJQeXRob24iLCAgIyB0aGUgUHl0aG9uIGNvcmUgbGlicmFyeQotICAgICJSZXNvdXJjZXMvRW5nbGlzaC5scHJvaiIsCi0gICAgIlJlc291cmNlcy9JbmZvLnBsaXN0IiwKLSAgICAiUmVzb3VyY2VzL3ZlcnNpb24ucGxpc3QiLAotXQotCi1kZWYgaXNGcmFtZXdvcmsoKToKLSAgICByZXR1cm4gc3lzLmV4ZWNfcHJlZml4LmZpbmQoIlB5dGhvbi5mcmFtZXdvcmsiKSA+IDAKLQotCi1MSUIgPSBvcy5wYXRoLmpvaW4oc3lzLnByZWZpeCwgImxpYiIsICJweXRob24iICsgc3lzLnZlcnNpb25bOjNdKQotU0lURV9QQUNLQUdFUyA9IG9zLnBhdGguam9pbihMSUIsICJzaXRlLXBhY2thZ2VzIikKLQotCi1jbGFzcyBBcHBCdWlsZGVyKEJ1bmRsZUJ1aWxkZXIpOgotCi0gICAgIyBPdmVycmlkZSB0eXBlIG9mIHRoZSBidW5kbGUuCi0gICAgdHlwZSA9ICJBUFBMIgotCi0gICAgIyBwbGF0Zm9ybSwgbmFtZSBvZiB0aGUgc3ViZm9sZGVyIG9mIENvbnRlbnRzIHRoYXQgY29udGFpbnMgdGhlIGV4ZWN1dGFibGUuCi0gICAgcGxhdGZvcm0gPSAiTWFjT1MiCi0KLSAgICAjIEEgUHl0aG9uIG1haW4gcHJvZ3JhbS4gSWYgdGhpcyBhcmd1bWVudCBpcyBnaXZlbiwgdGhlIG1haW4KLSAgICAjIGV4ZWN1dGFibGUgaW4gdGhlIGJ1bmRsZSB3aWxsIGJlIGEgc21hbGwgd3JhcHBlciB0aGF0IGludm9rZXMKLSAgICAjIHRoZSBtYWluIHByb2dyYW0uIChYWFggRGlzY3VzcyB3aHkuKQotICAgIG1haW5wcm9ncmFtID0gTm9uZQotCi0gICAgIyBUaGUgbWFpbiBleGVjdXRhYmxlLiBJZiBhIFB5dGhvbiBtYWluIHByb2dyYW0gaXMgc3BlY2lmaWVkCi0gICAgIyB0aGUgZXhlY3V0YWJsZSB3aWxsIGJlIGNvcGllZCB0byBSZXNvdXJjZXMgYW5kIGJlIGludm9rZWQKLSAgICAjIGJ5IHRoZSB3cmFwcGVyIHByb2dyYW0gbWVudGlvbmVkIGFib3ZlLiBPdGhlcndpc2UgaXQgd2lsbAotICAgICMgc2ltcGx5IGJlIHVzZWQgYXMgdGhlIG1haW4gZXhlY3V0YWJsZS4KLSAgICBleGVjdXRhYmxlID0gTm9uZQotCi0gICAgIyBUaGUgbmFtZSBvZiB0aGUgbWFpbiBuaWIsIGZvciBDb2NvYSBhcHBzLiAqTXVzdCogYmUgc3BlY2lmaWVkCi0gICAgIyB3aGVuIGJ1aWxkaW5nIGEgQ29jb2EgYXBwLgotICAgIG5pYm5hbWUgPSBOb25lCi0KLSAgICAjIFRoZSBuYW1lIG9mIHRoZSBpY29uIGZpbGUgdG8gYmUgY29waWVkIHRvIFJlc291cmNlcyBhbmQgdXNlZCBmb3IKLSAgICAjIHRoZSBGaW5kZXIgaWNvbi4KLSAgICBpY29uZmlsZSA9IE5vbmUKLQotICAgICMgU3ltbGluayB0aGUgZXhlY3V0YWJsZSBpbnN0ZWFkIG9mIGNvcHlpbmcgaXQuCi0gICAgc3ltbGlua19leGVjID0gMAotCi0gICAgIyBJZiBUcnVlLCBidWlsZCBzdGFuZGFsb25lIGFwcC4KLSAgICBzdGFuZGFsb25lID0gMAotCi0gICAgIyBJZiBUcnVlLCBidWlsZCBzZW1pLXN0YW5kYWxvbmUgYXBwIChvbmx5IGluY2x1ZGVzIHRoaXJkLXBhcnR5IG1vZHVsZXMpLgotICAgIHNlbWlfc3RhbmRhbG9uZSA9IDAKLQotICAgICMgSWYgc2V0LCB1c2UgdGhpcyBmb3IgIyEgbGluZXMgaW4gc3RlYWQgb2Ygc3lzLmV4ZWN1dGFibGUKLSAgICBweXRob24gPSBOb25lCi0KLSAgICAjIElmIFRydWUsIGFkZCBhIHJlYWwgbWFpbiBwcm9ncmFtIHRoYXQgZW11bGF0ZXMgc3lzLmFyZ3YgYmVmb3JlIGNhbGxpbmcKLSAgICAjIG1haW5wcm9ncmFtCi0gICAgYXJndl9lbXVsYXRpb24gPSAwCi0KLSAgICAjIFRoZSBmb2xsb3dpbmcgYXR0cmlidXRlcyBhcmUgb25seSB1c2VkIHdoZW4gYnVpbGRpbmcgYSBzdGFuZGFsb25lIGFwcC4KLQotICAgICMgRXhjbHVkZSB0aGVzZSBtb2R1bGVzLgotICAgIGV4Y2x1ZGVNb2R1bGVzID0gW10KLQotICAgICMgSW5jbHVkZSB0aGVzZSBtb2R1bGVzLgotICAgIGluY2x1ZGVNb2R1bGVzID0gW10KLQotICAgICMgSW5jbHVkZSB0aGVzZSBwYWNrYWdlcy4KLSAgICBpbmNsdWRlUGFja2FnZXMgPSBbXQotCi0gICAgIyBTdHJpcCBiaW5hcmllcyBmcm9tIGRlYnVnIGluZm8uCi0gICAgc3RyaXAgPSAwCi0KLSAgICAjIEZvdW5kIFB5dGhvbiBtb2R1bGVzOiBbKG5hbWUsIGNvZGVvYmplY3QsIGlzcGtnKSwgLi4uXQotICAgIHB5bW9kdWxlcyA9IFtdCi0KLSAgICAjIE1vZHVsZXMgdGhhdCBtb2R1bGVmaW5kZXIgY291bGRuJ3QgZmluZDoKLSAgICBtaXNzaW5nTW9kdWxlcyA9IFtdCi0gICAgbWF5YmVNaXNzaW5nTW9kdWxlcyA9IFtdCi0KLSAgICBkZWYgc2V0dXAoc2VsZik6Ci0gICAgICAgIGlmICgoc2VsZi5zdGFuZGFsb25lIG9yIHNlbGYuc2VtaV9zdGFuZGFsb25lKQotICAgICAgICAgICAgYW5kIHNlbGYubWFpbnByb2dyYW0gaXMgTm9uZSk6Ci0gICAgICAgICAgICByYWlzZSBCdW5kbGVCdWlsZGVyRXJyb3IoIm11c3Qgc3BlY2lmeSAnbWFpbnByb2dyYW0nIHdoZW4gIgotICAgICAgICAgICAgICAgICAgICAiYnVpbGRpbmcgYSBzdGFuZGFsb25lIGFwcGxpY2F0aW9uLiIpCi0gICAgICAgIGlmIHNlbGYubWFpbnByb2dyYW0gaXMgTm9uZSBhbmQgc2VsZi5leGVjdXRhYmxlIGlzIE5vbmU6Ci0gICAgICAgICAgICByYWlzZSBCdW5kbGVCdWlsZGVyRXJyb3IoIm11c3Qgc3BlY2lmeSBlaXRoZXIgb3IgYm90aCBvZiAiCi0gICAgICAgICAgICAgICAgICAgICInZXhlY3V0YWJsZScgYW5kICdtYWlucHJvZ3JhbSciKQotCi0gICAgICAgIHNlbGYuZXhlY2RpciA9IHBhdGhqb2luKCJDb250ZW50cyIsIHNlbGYucGxhdGZvcm0pCi0KLSAgICAgICAgaWYgc2VsZi5uYW1lIGlzIG5vdCBOb25lOgotICAgICAgICAgICAgcGFzcwotICAgICAgICBlbGlmIHNlbGYubWFpbnByb2dyYW0gaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICBzZWxmLm5hbWUgPSBvcy5wYXRoLnNwbGl0ZXh0KG9zLnBhdGguYmFzZW5hbWUoc2VsZi5tYWlucHJvZ3JhbSkpWzBdCi0gICAgICAgIGVsaWYgZXhlY3V0YWJsZSBpcyBub3QgTm9uZToKLSAgICAgICAgICAgIHNlbGYubmFtZSA9IG9zLnBhdGguc3BsaXRleHQob3MucGF0aC5iYXNlbmFtZShzZWxmLmV4ZWN1dGFibGUpKVswXQotICAgICAgICBpZiBzZWxmLm5hbWVbLTQ6XSAhPSAiLmFwcCI6Ci0gICAgICAgICAgICBzZWxmLm5hbWUgKz0gIi5hcHAiCi0KLSAgICAgICAgaWYgc2VsZi5leGVjdXRhYmxlIGlzIE5vbmU6Ci0gICAgICAgICAgICBpZiBub3Qgc2VsZi5zdGFuZGFsb25lIGFuZCBub3QgaXNGcmFtZXdvcmsoKToKLSAgICAgICAgICAgICAgICBzZWxmLnN5bWxpbmtfZXhlYyA9IDEKLSAgICAgICAgICAgIGlmIHNlbGYucHl0aG9uOgotICAgICAgICAgICAgICAgIHNlbGYuZXhlY3V0YWJsZSA9IHNlbGYucHl0aG9uCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIHNlbGYuZXhlY3V0YWJsZSA9IHN5cy5leGVjdXRhYmxlCi0KLSAgICAgICAgaWYgc2VsZi5uaWJuYW1lOgotICAgICAgICAgICAgc2VsZi5wbGlzdC5OU01haW5OaWJGaWxlID0gc2VsZi5uaWJuYW1lCi0gICAgICAgICAgICBpZiBub3QgaGFzYXR0cihzZWxmLnBsaXN0LCAiTlNQcmluY2lwYWxDbGFzcyIpOgotICAgICAgICAgICAgICAgIHNlbGYucGxpc3QuTlNQcmluY2lwYWxDbGFzcyA9ICJOU0FwcGxpY2F0aW9uIgotCi0gICAgICAgIGlmIHNlbGYuc3RhbmRhbG9uZSBhbmQgaXNGcmFtZXdvcmsoKToKLSAgICAgICAgICAgIHNlbGYuYWRkUHl0aG9uRnJhbWV3b3JrKCkKLQotICAgICAgICBCdW5kbGVCdWlsZGVyLnNldHVwKHNlbGYpCi0KLSAgICAgICAgc2VsZi5wbGlzdC5DRkJ1bmRsZUV4ZWN1dGFibGUgPSBzZWxmLm5hbWUKLQotICAgICAgICBpZiBzZWxmLnN0YW5kYWxvbmUgb3Igc2VsZi5zZW1pX3N0YW5kYWxvbmU6Ci0gICAgICAgICAgICBzZWxmLmZpbmREZXBlbmRlbmNpZXMoKQotCi0gICAgZGVmIHByZVByb2Nlc3Moc2VsZik6Ci0gICAgICAgIHJlc2RpciA9ICJDb250ZW50cy9SZXNvdXJjZXMiCi0gICAgICAgIGlmIHNlbGYuZXhlY3V0YWJsZSBpcyBub3QgTm9uZToKLSAgICAgICAgICAgIGlmIHNlbGYubWFpbnByb2dyYW0gaXMgTm9uZToKLSAgICAgICAgICAgICAgICBleGVjbmFtZSA9IHNlbGYubmFtZQotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBleGVjbmFtZSA9IG9zLnBhdGguYmFzZW5hbWUoc2VsZi5leGVjdXRhYmxlKQotICAgICAgICAgICAgZXhlY3BhdGggPSBwYXRoam9pbihzZWxmLmV4ZWNkaXIsIGV4ZWNuYW1lKQotICAgICAgICAgICAgaWYgbm90IHNlbGYuc3ltbGlua19leGVjOgotICAgICAgICAgICAgICAgIHNlbGYuZmlsZXMuYXBwZW5kKChzZWxmLmRlc3Ryb290ICsgc2VsZi5leGVjdXRhYmxlLCBleGVjcGF0aCkpCi0gICAgICAgICAgICBzZWxmLmV4ZWNwYXRoID0gZXhlY3BhdGgKLQotICAgICAgICBpZiBzZWxmLm1haW5wcm9ncmFtIGlzIG5vdCBOb25lOgotICAgICAgICAgICAgbWFpbnByb2dyYW0gPSBvcy5wYXRoLmJhc2VuYW1lKHNlbGYubWFpbnByb2dyYW0pCi0gICAgICAgICAgICBzZWxmLmZpbGVzLmFwcGVuZCgoc2VsZi5tYWlucHJvZ3JhbSwgcGF0aGpvaW4ocmVzZGlyLCBtYWlucHJvZ3JhbSkpKQotICAgICAgICAgICAgaWYgc2VsZi5hcmd2X2VtdWxhdGlvbjoKLSAgICAgICAgICAgICAgICAjIENoYW5nZSB0aGUgbWFpbiBwcm9ncmFtLCBhbmQgY3JlYXRlIHRoZSBoZWxwZXIgbWFpbiBwcm9ncmFtICh3aGljaAotICAgICAgICAgICAgICAgICMgZG9lcyBhcmd2IGNvbGxlY3Rpb24gYW5kIHRoZW4gY2FsbHMgdGhlIHJlYWwgbWFpbikuCi0gICAgICAgICAgICAgICAgIyBBbHNvIHVwZGF0ZSB0aGUgaW5jbHVkZWQgbW9kdWxlcyAoaWYgd2UncmUgY3JlYXRpbmcgYSBzdGFuZGFsb25lCi0gICAgICAgICAgICAgICAgIyBwcm9ncmFtKSBhbmQgdGhlIHBsaXN0Ci0gICAgICAgICAgICAgICAgcmVhbG1haW5wcm9ncmFtID0gbWFpbnByb2dyYW0KLSAgICAgICAgICAgICAgICBtYWlucHJvZ3JhbSA9ICdfX2FyZ3ZlbXVsYXRvcl8nICsgbWFpbnByb2dyYW0KLSAgICAgICAgICAgICAgICByZXNkaXJwYXRoID0gcGF0aGpvaW4oc2VsZi5idW5kbGVwYXRoLCByZXNkaXIpCi0gICAgICAgICAgICAgICAgbWFpbnByb2dyYW1wYXRoID0gcGF0aGpvaW4ocmVzZGlycGF0aCwgbWFpbnByb2dyYW0pCi0gICAgICAgICAgICAgICAgbWFrZWRpcnMocmVzZGlycGF0aCkKLSAgICAgICAgICAgICAgICBvcGVuKG1haW5wcm9ncmFtcGF0aCwgInciKS53cml0ZShBUkdWX0VNVUxBVE9SICUgbG9jYWxzKCkpCi0gICAgICAgICAgICAgICAgaWYgc2VsZi5zdGFuZGFsb25lIG9yIHNlbGYuc2VtaV9zdGFuZGFsb25lOgotICAgICAgICAgICAgICAgICAgICBzZWxmLmluY2x1ZGVNb2R1bGVzLmFwcGVuZCgiYXJndmVtdWxhdG9yIikKLSAgICAgICAgICAgICAgICAgICAgc2VsZi5pbmNsdWRlTW9kdWxlcy5hcHBlbmQoIm9zIikKLSAgICAgICAgICAgICAgICBpZiAiQ0ZCdW5kbGVEb2N1bWVudFR5cGVzIiBub3QgaW4gc2VsZi5wbGlzdDoKLSAgICAgICAgICAgICAgICAgICAgc2VsZi5wbGlzdFsiQ0ZCdW5kbGVEb2N1bWVudFR5cGVzIl0gPSBbCi0gICAgICAgICAgICAgICAgICAgICAgICB7ICJDRkJ1bmRsZVR5cGVPU1R5cGVzIiA6IFsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiKioqKiIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImZvbGQiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkaXNrIl0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICJDRkJ1bmRsZVR5cGVSb2xlIjogIlZpZXdlciJ9XQotICAgICAgICAgICAgIyBXcml0ZSBib290c3RyYXAgc2NyaXB0Ci0gICAgICAgICAgICBleGVjdXRhYmxlID0gb3MucGF0aC5iYXNlbmFtZShzZWxmLmV4ZWN1dGFibGUpCi0gICAgICAgICAgICBleGVjZGlyID0gcGF0aGpvaW4oc2VsZi5idW5kbGVwYXRoLCBzZWxmLmV4ZWNkaXIpCi0gICAgICAgICAgICBib290c3RyYXBwYXRoID0gcGF0aGpvaW4oZXhlY2Rpciwgc2VsZi5uYW1lKQotICAgICAgICAgICAgbWFrZWRpcnMoZXhlY2RpcikKLSAgICAgICAgICAgIGlmIHNlbGYuc3RhbmRhbG9uZSBvciBzZWxmLnNlbWlfc3RhbmRhbG9uZToKLSAgICAgICAgICAgICAgICAjIFhYWCB3ZSdyZSBzY3Jld2VkIHdoZW4gdGhlIGVuZCB1c2VyIGhhcyBkZWxldGVkCi0gICAgICAgICAgICAgICAgIyAvdXNyL2Jpbi9weXRob24KLSAgICAgICAgICAgICAgICBoYXNoYmFuZyA9ICIvdXNyL2Jpbi9weXRob24iCi0gICAgICAgICAgICBlbGlmIHNlbGYucHl0aG9uOgotICAgICAgICAgICAgICAgIGhhc2hiYW5nID0gc2VsZi5weXRob24KLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgaGFzaGJhbmcgPSBvcy5wYXRoLnJlYWxwYXRoKHN5cy5leGVjdXRhYmxlKQotICAgICAgICAgICAgc3RhbmRhbG9uZSA9IHNlbGYuc3RhbmRhbG9uZQotICAgICAgICAgICAgc2VtaV9zdGFuZGFsb25lID0gc2VsZi5zZW1pX3N0YW5kYWxvbmUKLSAgICAgICAgICAgIG9wZW4oYm9vdHN0cmFwcGF0aCwgInciKS53cml0ZShCT09UU1RSQVBfU0NSSVBUICUgbG9jYWxzKCkpCi0gICAgICAgICAgICBvcy5jaG1vZChib290c3RyYXBwYXRoLCAwbzc3NSkKLQotICAgICAgICBpZiBzZWxmLmljb25maWxlIGlzIG5vdCBOb25lOgotICAgICAgICAgICAgaWNvbmJhc2UgPSBvcy5wYXRoLmJhc2VuYW1lKHNlbGYuaWNvbmZpbGUpCi0gICAgICAgICAgICBzZWxmLnBsaXN0LkNGQnVuZGxlSWNvbkZpbGUgPSBpY29uYmFzZQotICAgICAgICAgICAgc2VsZi5maWxlcy5hcHBlbmQoKHNlbGYuaWNvbmZpbGUsIHBhdGhqb2luKHJlc2RpciwgaWNvbmJhc2UpKSkKLQotICAgIGRlZiBwb3N0UHJvY2VzcyhzZWxmKToKLSAgICAgICAgaWYgc2VsZi5zdGFuZGFsb25lIG9yIHNlbGYuc2VtaV9zdGFuZGFsb25lOgotICAgICAgICAgICAgc2VsZi5hZGRQeXRob25Nb2R1bGVzKCkKLSAgICAgICAgaWYgc2VsZi5zdHJpcCBhbmQgbm90IHNlbGYuc3ltbGluazoKLSAgICAgICAgICAgIHNlbGYuc3RyaXBCaW5hcmllcygpCi0KLSAgICAgICAgaWYgc2VsZi5zeW1saW5rX2V4ZWMgYW5kIHNlbGYuZXhlY3V0YWJsZToKLSAgICAgICAgICAgIHNlbGYubWVzc2FnZSgiU3ltbGlua2luZyBleGVjdXRhYmxlICVzIHRvICVzIiAlIChzZWxmLmV4ZWN1dGFibGUsCi0gICAgICAgICAgICAgICAgICAgIHNlbGYuZXhlY3BhdGgpLCAyKQotICAgICAgICAgICAgZHN0ID0gcGF0aGpvaW4oc2VsZi5idW5kbGVwYXRoLCBzZWxmLmV4ZWNwYXRoKQotICAgICAgICAgICAgbWFrZWRpcnMob3MucGF0aC5kaXJuYW1lKGRzdCkpCi0gICAgICAgICAgICBvcy5zeW1saW5rKG9zLnBhdGguYWJzcGF0aChzZWxmLmV4ZWN1dGFibGUpLCBkc3QpCi0KLSAgICAgICAgaWYgc2VsZi5taXNzaW5nTW9kdWxlcyBvciBzZWxmLm1heWJlTWlzc2luZ01vZHVsZXM6Ci0gICAgICAgICAgICBzZWxmLnJlcG9ydE1pc3NpbmcoKQotCi0gICAgZGVmIGFkZFB5dGhvbkZyYW1ld29yayhzZWxmKToKLSAgICAgICAgIyBJZiB3ZSdyZSBidWlsZGluZyBhIHN0YW5kYWxvbmUgYXBwIHdpdGggUHl0aG9uLmZyYW1ld29yaywKLSAgICAgICAgIyBpbmNsdWRlIGEgbWluaW1hbCBzdWJzZXQgb2YgUHl0aG9uLmZyYW1ld29yaywgKnVubGVzcyoKLSAgICAgICAgIyBQeXRob24uZnJhbWV3b3JrIHdhcyBzcGVjaWZpZWQgbWFudWFsbHkgaW4gc2VsZi5saWJzLgotICAgICAgICBmb3IgbGliIGluIHNlbGYubGliczoKLSAgICAgICAgICAgIGlmIG9zLnBhdGguYmFzZW5hbWUobGliKSA9PSAiUHl0aG9uLmZyYW1ld29yayI6Ci0gICAgICAgICAgICAgICAgIyBhIFB5dGhvbi5mcmFtZXdvcmsgd2FzIHNwZWNpZmllZCBhcyBhIGxpYnJhcnkKLSAgICAgICAgICAgICAgICByZXR1cm4KLQotICAgICAgICBmcmFtZXdvcmtwYXRoID0gc3lzLmV4ZWNfcHJlZml4WzpzeXMuZXhlY19wcmVmaXguZmluZCgKLSAgICAgICAgICAgICJQeXRob24uZnJhbWV3b3JrIikgKyBsZW4oIlB5dGhvbi5mcmFtZXdvcmsiKV0KLQotICAgICAgICB2ZXJzaW9uID0gc3lzLnZlcnNpb25bOjNdCi0gICAgICAgIGZyYW1ld29ya3BhdGggPSBwYXRoam9pbihmcmFtZXdvcmtwYXRoLCAiVmVyc2lvbnMiLCB2ZXJzaW9uKQotICAgICAgICBkZXN0YmFzZSA9IHBhdGhqb2luKCJDb250ZW50cyIsICJGcmFtZXdvcmtzIiwgIlB5dGhvbi5mcmFtZXdvcmsiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJWZXJzaW9ucyIsIHZlcnNpb24pCi0gICAgICAgIGZvciBpdGVtIGluIFBZVEhPTkZSQU1FV09SS0dPT0RJRVM6Ci0gICAgICAgICAgICBzcmMgPSBwYXRoam9pbihmcmFtZXdvcmtwYXRoLCBpdGVtKQotICAgICAgICAgICAgZHN0ID0gcGF0aGpvaW4oZGVzdGJhc2UsIGl0ZW0pCi0gICAgICAgICAgICBzZWxmLmZpbGVzLmFwcGVuZCgoc3JjLCBkc3QpKQotCi0gICAgZGVmIF9nZXRTaXRlQ29kZShzZWxmKToKLSAgICAgICAgcmV0dXJuIGNvbXBpbGUoU0lURV9QWSAlIHsic2VtaV9zdGFuZGFsb25lIjogc2VsZi5zZW1pX3N0YW5kYWxvbmV9LAotICAgICAgICAgICAgICAgICAgICAgIjwtYnVuZGxlYnVpbGRlci5weS0+IiwgImV4ZWMiKQotCi0gICAgZGVmIGFkZFB5dGhvbk1vZHVsZXMoc2VsZik6Ci0gICAgICAgIHNlbGYubWVzc2FnZSgiQWRkaW5nIFB5dGhvbiBtb2R1bGVzIiwgMSkKLQotICAgICAgICBpZiBVU0VfWklQSU1QT1JUOgotICAgICAgICAgICAgIyBDcmVhdGUgYSB6aXAgZmlsZSBjb250YWluaW5nIGFsbCBtb2R1bGVzIGFzIHB5Yy4KLSAgICAgICAgICAgIGltcG9ydCB6aXBmaWxlCi0gICAgICAgICAgICByZWxwYXRoID0gcGF0aGpvaW4oIkNvbnRlbnRzIiwgIlJlc291cmNlcyIsIFpJUF9BUkNISVZFKQotICAgICAgICAgICAgYWJzcGF0aCA9IHBhdGhqb2luKHNlbGYuYnVuZGxlcGF0aCwgcmVscGF0aCkKLSAgICAgICAgICAgIHpmID0gemlwZmlsZS5aaXBGaWxlKGFic3BhdGgsICJ3IiwgemlwZmlsZS5aSVBfREVGTEFURUQpCi0gICAgICAgICAgICBmb3IgbmFtZSwgY29kZSwgaXNwa2cgaW4gc2VsZi5weW1vZHVsZXM6Ci0gICAgICAgICAgICAgICAgc2VsZi5tZXNzYWdlKCJBZGRpbmcgUHl0aG9uIG1vZHVsZSAlcyIgJSBuYW1lLCAyKQotICAgICAgICAgICAgICAgIHBhdGgsIHB5YyA9IGdldFB5Y0RhdGEobmFtZSwgY29kZSwgaXNwa2cpCi0gICAgICAgICAgICAgICAgemYud3JpdGVzdHIocGF0aCwgcHljKQotICAgICAgICAgICAgemYuY2xvc2UoKQotICAgICAgICAgICAgIyBhZGQgc2l0ZS5weWMKLSAgICAgICAgICAgIHNpdGVwYXRoID0gcGF0aGpvaW4oc2VsZi5idW5kbGVwYXRoLCAiQ29udGVudHMiLCAiUmVzb3VyY2VzIiwKLSAgICAgICAgICAgICAgICAgICAgInNpdGUiICsgUFlDX0VYVCkKLSAgICAgICAgICAgIHdyaXRlUHljKHNlbGYuX2dldFNpdGVDb2RlKCksIHNpdGVwYXRoKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgIyBDcmVhdGUgaW5kaXZpZHVhbCAucHljIGZpbGVzLgotICAgICAgICAgICAgZm9yIG5hbWUsIGNvZGUsIGlzcGtnIGluIHNlbGYucHltb2R1bGVzOgotICAgICAgICAgICAgICAgIGlmIGlzcGtnOgotICAgICAgICAgICAgICAgICAgICBuYW1lICs9ICIuX19pbml0X18iCi0gICAgICAgICAgICAgICAgcGF0aCA9IG5hbWUuc3BsaXQoIi4iKQotICAgICAgICAgICAgICAgIHBhdGggPSBwYXRoam9pbigiQ29udGVudHMiLCAiUmVzb3VyY2VzIiwgKnBhdGgpICsgUFlDX0VYVAotCi0gICAgICAgICAgICAgICAgaWYgaXNwa2c6Ci0gICAgICAgICAgICAgICAgICAgIHNlbGYubWVzc2FnZSgiQWRkaW5nIFB5dGhvbiBwYWNrYWdlICVzIiAlIHBhdGgsIDIpCi0gICAgICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgc2VsZi5tZXNzYWdlKCJBZGRpbmcgUHl0aG9uIG1vZHVsZSAlcyIgJSBwYXRoLCAyKQotCi0gICAgICAgICAgICAgICAgYWJzcGF0aCA9IHBhdGhqb2luKHNlbGYuYnVuZGxlcGF0aCwgcGF0aCkKLSAgICAgICAgICAgICAgICBtYWtlZGlycyhvcy5wYXRoLmRpcm5hbWUoYWJzcGF0aCkpCi0gICAgICAgICAgICAgICAgd3JpdGVQeWMoY29kZSwgYWJzcGF0aCkKLQotICAgIGRlZiBzdHJpcEJpbmFyaWVzKHNlbGYpOgotICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMoU1RSSVBfRVhFQyk6Ci0gICAgICAgICAgICBzZWxmLm1lc3NhZ2UoIkVycm9yOiBjYW4ndCBzdHJpcCBiaW5hcmllczogbm8gc3RyaXAgcHJvZ3JhbSBhdCAiCi0gICAgICAgICAgICAgICAgIiVzIiAlIFNUUklQX0VYRUMsIDApCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBpbXBvcnQgc3RhdAotICAgICAgICAgICAgc2VsZi5tZXNzYWdlKCJTdHJpcHBpbmcgYmluYXJpZXMiLCAxKQotICAgICAgICAgICAgZGVmIHdhbGsodG9wKToKLSAgICAgICAgICAgICAgICBmb3IgbmFtZSBpbiBvcy5saXN0ZGlyKHRvcCk6Ci0gICAgICAgICAgICAgICAgICAgIHBhdGggPSBwYXRoam9pbih0b3AsIG5hbWUpCi0gICAgICAgICAgICAgICAgICAgIGlmIG9zLnBhdGguaXNsaW5rKHBhdGgpOgotICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWUKLSAgICAgICAgICAgICAgICAgICAgaWYgb3MucGF0aC5pc2RpcihwYXRoKToKLSAgICAgICAgICAgICAgICAgICAgICAgIHdhbGsocGF0aCkKLSAgICAgICAgICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgICAgIG1vZCA9IG9zLnN0YXQocGF0aClbc3RhdC5TVF9NT0RFXQotICAgICAgICAgICAgICAgICAgICAgICAgaWYgbm90IChtb2QgJiAwbzEwMCk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWUKLSAgICAgICAgICAgICAgICAgICAgICAgIHJlbHBhdGggPSBwYXRoW2xlbihzZWxmLmJ1bmRsZXBhdGgpOl0KLSAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYubWVzc2FnZSgiU3RyaXBwaW5nICVzIiAlIHJlbHBhdGgsIDIpCi0gICAgICAgICAgICAgICAgICAgICAgICBpbmYsIG91dGYgPSBvcy5wb3BlbjQoIiVzIC1TIFwiJXNcIiIgJQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChTVFJJUF9FWEVDLCBwYXRoKSkKLSAgICAgICAgICAgICAgICAgICAgICAgIG91dHB1dCA9IG91dGYucmVhZCgpLnN0cmlwKCkKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIG91dHB1dDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIHVzdWFsbHkgbm90IGEgcmVhbCBwcm9ibGVtLCBsaWtlIHdoZW4gd2UncmUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIHRyeWluZyB0byBzdHJpcCBhIHNjcmlwdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYubWVzc2FnZSgiUHJvYmxlbSBzdHJpcHBpbmcgJXM6IiAlIHJlbHBhdGgsIDMpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5tZXNzYWdlKG91dHB1dCwgMykKLSAgICAgICAgICAgIHdhbGsoc2VsZi5idW5kbGVwYXRoKQotCi0gICAgZGVmIGZpbmREZXBlbmRlbmNpZXMoc2VsZik6Ci0gICAgICAgIHNlbGYubWVzc2FnZSgiRmluZGluZyBtb2R1bGUgZGVwZW5kZW5jaWVzIiwgMSkKLSAgICAgICAgaW1wb3J0IG1vZHVsZWZpbmRlcgotICAgICAgICBtZiA9IG1vZHVsZWZpbmRlci5Nb2R1bGVGaW5kZXIoZXhjbHVkZXM9c2VsZi5leGNsdWRlTW9kdWxlcykKLSAgICAgICAgaWYgVVNFX1pJUElNUE9SVDoKLSAgICAgICAgICAgICMgemlwaW1wb3J0IGltcG9ydHMgemxpYiwgbXVzdCBhZGQgaXQgbWFudWFsbHkKLSAgICAgICAgICAgIG1mLmltcG9ydF9ob29rKCJ6bGliIikKLSAgICAgICAgIyBtYW51YWxseSBhZGQgb3VyIG93biBzaXRlLnB5Ci0gICAgICAgIHNpdGUgPSBtZi5hZGRfbW9kdWxlKCJzaXRlIikKLSAgICAgICAgc2l0ZS5fX2NvZGVfXyA9IHNlbGYuX2dldFNpdGVDb2RlKCkKLSAgICAgICAgbWYuc2Nhbl9jb2RlKHNpdGUuX19jb2RlX18sIHNpdGUpCi0KLSAgICAgICAgIyB3YXJuaW5ncy5weSBnZXRzIGltcG9ydGVkIGltcGxpY2l0bHkgZnJvbSBDCi0gICAgICAgIG1mLmltcG9ydF9ob29rKCJ3YXJuaW5ncyIpCi0KLSAgICAgICAgaW5jbHVkZU1vZHVsZXMgPSBzZWxmLmluY2x1ZGVNb2R1bGVzWzpdCi0gICAgICAgIGZvciBuYW1lIGluIHNlbGYuaW5jbHVkZVBhY2thZ2VzOgotICAgICAgICAgICAgaW5jbHVkZU1vZHVsZXMuZXh0ZW5kKGxpc3QoZmluZFBhY2thZ2VDb250ZW50cyhuYW1lKS5rZXlzKCkpKQotICAgICAgICBmb3IgbmFtZSBpbiBpbmNsdWRlTW9kdWxlczoKLSAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICBtZi5pbXBvcnRfaG9vayhuYW1lKQotICAgICAgICAgICAgZXhjZXB0IEltcG9ydEVycm9yOgotICAgICAgICAgICAgICAgIHNlbGYubWlzc2luZ01vZHVsZXMuYXBwZW5kKG5hbWUpCi0KLSAgICAgICAgbWYucnVuX3NjcmlwdChzZWxmLm1haW5wcm9ncmFtKQotICAgICAgICBtb2R1bGVzID0gbGlzdChtZi5tb2R1bGVzLml0ZW1zKCkpCi0gICAgICAgIG1vZHVsZXMuc29ydCgpCi0gICAgICAgIGZvciBuYW1lLCBtb2QgaW4gbW9kdWxlczoKLSAgICAgICAgICAgIHBhdGggPSBtb2QuX19maWxlX18KLSAgICAgICAgICAgIGlmIHBhdGggYW5kIHNlbGYuc2VtaV9zdGFuZGFsb25lOgotICAgICAgICAgICAgICAgICMgc2tpcCB0aGUgc3RhbmRhcmQgbGlicmFyeQotICAgICAgICAgICAgICAgIGlmIHBhdGguc3RhcnRzd2l0aChMSUIpIGFuZCBub3QgcGF0aC5zdGFydHN3aXRoKFNJVEVfUEFDS0FHRVMpOgotICAgICAgICAgICAgICAgICAgICBjb250aW51ZQotICAgICAgICAgICAgaWYgcGF0aCBhbmQgbW9kLl9fY29kZV9fIGlzIE5vbmU6Ci0gICAgICAgICAgICAgICAgIyBDIGV4dGVuc2lvbgotICAgICAgICAgICAgICAgIGZpbGVuYW1lID0gb3MucGF0aC5iYXNlbmFtZShwYXRoKQotICAgICAgICAgICAgICAgIHBhdGhpdGVtcyA9IG5hbWUuc3BsaXQoIi4iKVs6LTFdICsgW2ZpbGVuYW1lXQotICAgICAgICAgICAgICAgIGRzdHBhdGggPSBwYXRoam9pbigqcGF0aGl0ZW1zKQotICAgICAgICAgICAgICAgIGlmIFVTRV9aSVBJTVBPUlQ6Ci0gICAgICAgICAgICAgICAgICAgIGlmIG5hbWUgIT0gInpsaWIiOgotICAgICAgICAgICAgICAgICAgICAgICAgIyBuZWF0bHkgcGFjayBhbGwgZXh0ZW5zaW9uIG1vZHVsZXMgaW4gYSBzdWJkaXJlY3RvcnksCi0gICAgICAgICAgICAgICAgICAgICAgICAjIGV4Y2VwdCB6bGliLCBzaW5jZSBpdCdzIG5lY2Vzc2FyeSBmb3IgYm9vdHN0cmFwcGluZy4KLSAgICAgICAgICAgICAgICAgICAgICAgIGRzdHBhdGggPSBwYXRoam9pbigiRXh0ZW5zaW9uTW9kdWxlcyIsIGRzdHBhdGgpCi0gICAgICAgICAgICAgICAgICAgICMgUHl0aG9uIG1vZHVsZXMgYXJlIHN0b3JlZCBpbiBhIFppcCBhcmNoaXZlLCBidXQgcHV0Ci0gICAgICAgICAgICAgICAgICAgICMgZXh0ZW5zaW9ucyBpbiBDb250ZW50cy9SZXNvdXJjZXMvLiBBZGQgYSB0aW55ICJsb2FkZXIiCi0gICAgICAgICAgICAgICAgICAgICMgcHJvZ3JhbSBpbiB0aGUgWmlwIGFyY2hpdmUuIER1ZSB0byBUaG9tYXMgSGVsbGVyLgotICAgICAgICAgICAgICAgICAgICBzb3VyY2UgPSBFWFRfTE9BREVSICUgeyJuYW1lIjogbmFtZSwgImZpbGVuYW1lIjogZHN0cGF0aH0KLSAgICAgICAgICAgICAgICAgICAgY29kZSA9IGNvbXBpbGUoc291cmNlLCAiPGR5bmxvYWRlciBmb3IgJXM+IiAlIG5hbWUsICJleGVjIikKLSAgICAgICAgICAgICAgICAgICAgbW9kLl9fY29kZV9fID0gY29kZQotICAgICAgICAgICAgICAgIHNlbGYuZmlsZXMuYXBwZW5kKChwYXRoLCBwYXRoam9pbigiQ29udGVudHMiLCAiUmVzb3VyY2VzIiwgZHN0cGF0aCkpKQotICAgICAgICAgICAgaWYgbW9kLl9fY29kZV9fIGlzIG5vdCBOb25lOgotICAgICAgICAgICAgICAgIGlzcGtnID0gbW9kLl9fcGF0aF9fIGlzIG5vdCBOb25lCi0gICAgICAgICAgICAgICAgaWYgbm90IFVTRV9aSVBJTVBPUlQgb3IgbmFtZSAhPSAic2l0ZSI6Ci0gICAgICAgICAgICAgICAgICAgICMgT3VyIHNpdGUucHkgaXMgZG9pbmcgdGhlIGJvb3RzdHJhcHBpbmcsIHNvIHdlIG11c3QKLSAgICAgICAgICAgICAgICAgICAgIyBpbmNsdWRlIGEgcmVhbCAucHljIGZpbGUgaWYgVVNFX1pJUElNUE9SVCBpcyBUcnVlLgotICAgICAgICAgICAgICAgICAgICBzZWxmLnB5bW9kdWxlcy5hcHBlbmQoKG5hbWUsIG1vZC5fX2NvZGVfXywgaXNwa2cpKQotCi0gICAgICAgIGlmIGhhc2F0dHIobWYsICJhbnlfbWlzc2luZ19tYXliZSIpOgotICAgICAgICAgICAgbWlzc2luZywgbWF5YmUgPSBtZi5hbnlfbWlzc2luZ19tYXliZSgpCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBtaXNzaW5nID0gbWYuYW55X21pc3NpbmcoKQotICAgICAgICAgICAgbWF5YmUgPSBbXQotICAgICAgICBzZWxmLm1pc3NpbmdNb2R1bGVzLmV4dGVuZChtaXNzaW5nKQotICAgICAgICBzZWxmLm1heWJlTWlzc2luZ01vZHVsZXMuZXh0ZW5kKG1heWJlKQotCi0gICAgZGVmIHJlcG9ydE1pc3Npbmcoc2VsZik6Ci0gICAgICAgIG1pc3NpbmcgPSBbbmFtZSBmb3IgbmFtZSBpbiBzZWxmLm1pc3NpbmdNb2R1bGVzCi0gICAgICAgICAgICAgICAgaWYgbmFtZSBub3QgaW4gTUFZTUlTU19NT0RVTEVTXQotICAgICAgICBpZiBzZWxmLm1heWJlTWlzc2luZ01vZHVsZXM6Ci0gICAgICAgICAgICBtYXliZSA9IHNlbGYubWF5YmVNaXNzaW5nTW9kdWxlcwotICAgICAgICBlbHNlOgotICAgICAgICAgICAgbWF5YmUgPSBbbmFtZSBmb3IgbmFtZSBpbiBtaXNzaW5nIGlmICIuIiBpbiBuYW1lXQotICAgICAgICAgICAgbWlzc2luZyA9IFtuYW1lIGZvciBuYW1lIGluIG1pc3NpbmcgaWYgIi4iIG5vdCBpbiBuYW1lXQotICAgICAgICBtaXNzaW5nLnNvcnQoKQotICAgICAgICBtYXliZS5zb3J0KCkKLSAgICAgICAgaWYgbWF5YmU6Ci0gICAgICAgICAgICBzZWxmLm1lc3NhZ2UoIldhcm5pbmc6IGNvdWxkbid0IGZpbmQgdGhlIGZvbGxvd2luZyBzdWJtb2R1bGVzOiIsIDEpCi0gICAgICAgICAgICBzZWxmLm1lc3NhZ2UoIiAgICAoTm90ZSB0aGF0IHRoZXNlIGNvdWxkIGJlIGZhbHNlIGFsYXJtcyAtLSAiCi0gICAgICAgICAgICAgICAgICAgICAgICAgIml0J3Mgbm90IGFsd2F5cyIsIDEpCi0gICAgICAgICAgICBzZWxmLm1lc3NhZ2UoIiAgICBwb3NzaWJsZSB0byBkaXN0aW5ndWlzaCBiZXR3ZWVuIFwiZnJvbSBwYWNrYWdlICIKLSAgICAgICAgICAgICAgICAgICAgICAgICAiaW1wb3J0IHN1Ym1vZHVsZVwiICIsIDEpCi0gICAgICAgICAgICBzZWxmLm1lc3NhZ2UoIiAgICBhbmQgXCJmcm9tIHBhY2thZ2UgaW1wb3J0IG5hbWVcIikiLCAxKQotICAgICAgICAgICAgZm9yIG5hbWUgaW4gbWF5YmU6Ci0gICAgICAgICAgICAgICAgc2VsZi5tZXNzYWdlKCIgID8gIiArIG5hbWUsIDEpCi0gICAgICAgIGlmIG1pc3Npbmc6Ci0gICAgICAgICAgICBzZWxmLm1lc3NhZ2UoIldhcm5pbmc6IGNvdWxkbid0IGZpbmQgdGhlIGZvbGxvd2luZyBtb2R1bGVzOiIsIDEpCi0gICAgICAgICAgICBmb3IgbmFtZSBpbiBtaXNzaW5nOgotICAgICAgICAgICAgICAgIHNlbGYubWVzc2FnZSgiICA/ICIgKyBuYW1lLCAxKQotCi0gICAgZGVmIHJlcG9ydChzZWxmKToKLSAgICAgICAgIyBYWFggc29tZXRoaW5nIGRlY2VudAotICAgICAgICBpbXBvcnQgcHByaW50Ci0gICAgICAgIHBwcmludC5wcHJpbnQoc2VsZi5fX2RpY3RfXykKLSAgICAgICAgaWYgc2VsZi5zdGFuZGFsb25lIG9yIHNlbGYuc2VtaV9zdGFuZGFsb25lOgotICAgICAgICAgICAgc2VsZi5yZXBvcnRNaXNzaW5nKCkKLQotIwotIyBVdGlsaXRpZXMuCi0jCi0KLVNVRkZJWEVTID0gW19zdWYgZm9yIF9zdWYsIF9tb2RlLCBfdHAgaW4gaW1wLmdldF9zdWZmaXhlcygpXQotaWRlbnRpZmllclJFID0gcmUuY29tcGlsZShyIltfYS16QS16XVtfYS16QS1aMC05XSokIikKLQotZGVmIGZpbmRQYWNrYWdlQ29udGVudHMobmFtZSwgc2VhcmNocGF0aD1Ob25lKToKLSAgICBoZWFkID0gbmFtZS5zcGxpdCgiLiIpWy0xXQotICAgIGlmIGlkZW50aWZpZXJSRS5tYXRjaChoZWFkKSBpcyBOb25lOgotICAgICAgICByZXR1cm4ge30KLSAgICB0cnk6Ci0gICAgICAgIGZwLCBwYXRoLCAoZXh0LCBtb2RlLCB0cCkgPSBpbXAuZmluZF9tb2R1bGUoaGVhZCwgc2VhcmNocGF0aCkKLSAgICBleGNlcHQgSW1wb3J0RXJyb3I6Ci0gICAgICAgIHJldHVybiB7fQotICAgIG1vZHVsZXMgPSB7bmFtZTogTm9uZX0KLSAgICBpZiB0cCA9PSBpbXAuUEtHX0RJUkVDVE9SWSBhbmQgcGF0aDoKLSAgICAgICAgZmlsZXMgPSBvcy5saXN0ZGlyKHBhdGgpCi0gICAgICAgIGZvciBzdWIgaW4gZmlsZXM6Ci0gICAgICAgICAgICBzdWIsIGV4dCA9IG9zLnBhdGguc3BsaXRleHQoc3ViKQotICAgICAgICAgICAgZnVsbG5hbWUgPSBuYW1lICsgIi4iICsgc3ViCi0gICAgICAgICAgICBpZiBzdWIgIT0gIl9faW5pdF9fIiBhbmQgZnVsbG5hbWUgbm90IGluIG1vZHVsZXM6Ci0gICAgICAgICAgICAgICAgbW9kdWxlcy51cGRhdGUoZmluZFBhY2thZ2VDb250ZW50cyhmdWxsbmFtZSwgW3BhdGhdKSkKLSAgICByZXR1cm4gbW9kdWxlcwotCi1kZWYgd3JpdGVQeWMoY29kZSwgcGF0aCk6Ci0gICAgZiA9IG9wZW4ocGF0aCwgIndiIikKLSAgICBmLndyaXRlKE1BR0lDKQotICAgIGYud3JpdGUoIlwwIiAqIDQpICAjIGRvbid0IGJvdGhlciBhYm91dCBhIHRpbWUgc3RhbXAKLSAgICBtYXJzaGFsLmR1bXAoY29kZSwgZikKLSAgICBmLmNsb3NlKCkKLQotZGVmIGNvcHkoc3JjLCBkc3QsIG1rZGlycz0wKToKLSAgICAiIiJDb3B5IGEgZmlsZSBvciBhIGRpcmVjdG9yeS4iIiIKLSAgICBpZiBta2RpcnM6Ci0gICAgICAgIG1ha2VkaXJzKG9zLnBhdGguZGlybmFtZShkc3QpKQotICAgIGlmIG9zLnBhdGguaXNkaXIoc3JjKToKLSAgICAgICAgc2h1dGlsLmNvcHl0cmVlKHNyYywgZHN0LCBzeW1saW5rcz0xKQotICAgIGVsc2U6Ci0gICAgICAgIHNodXRpbC5jb3B5MihzcmMsIGRzdCkKLQotZGVmIGNvcHl0b2RpcihzcmMsIGRzdGRpcik6Ci0gICAgIiIiQ29weSBhIGZpbGUgb3IgYSBkaXJlY3RvcnkgdG8gYW4gZXhpc3RpbmcgZGlyZWN0b3J5LiIiIgotICAgIGRzdCA9IHBhdGhqb2luKGRzdGRpciwgb3MucGF0aC5iYXNlbmFtZShzcmMpKQotICAgIGNvcHkoc3JjLCBkc3QpCi0KLWRlZiBtYWtlZGlycyhkaXIpOgotICAgICIiIk1ha2UgYWxsIGRpcmVjdG9yaWVzIGxlYWRpbmcgdXAgdG8gJ2RpcicgaW5jbHVkaW5nIHRoZSBsZWFmCi0gICAgZGlyZWN0b3J5LiBEb24ndCBtb2FuIGlmIGFueSBwYXRoIGVsZW1lbnQgYWxyZWFkeSBleGlzdHMuIiIiCi0gICAgdHJ5OgotICAgICAgICBvcy5tYWtlZGlycyhkaXIpCi0gICAgZXhjZXB0IE9TRXJyb3IgYXMgd2h5OgotICAgICAgICBpZiB3aHkuZXJybm8gIT0gZXJybm8uRUVYSVNUOgotICAgICAgICAgICAgcmFpc2UKLQotZGVmIHN5bWxpbmsoc3JjLCBkc3QsIG1rZGlycz0wKToKLSAgICAiIiJDb3B5IGEgZmlsZSBvciBhIGRpcmVjdG9yeS4iIiIKLSAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMoc3JjKToKLSAgICAgICAgcmFpc2UgSU9FcnJvcigiTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeTogJyVzJyIgJSBzcmMpCi0gICAgaWYgbWtkaXJzOgotICAgICAgICBtYWtlZGlycyhvcy5wYXRoLmRpcm5hbWUoZHN0KSkKLSAgICBvcy5zeW1saW5rKG9zLnBhdGguYWJzcGF0aChzcmMpLCBkc3QpCi0KLWRlZiBwYXRoam9pbigqYXJncyk6Ci0gICAgIiIiU2FmZSB3cmFwcGVyIGZvciBvcy5wYXRoLmpvaW46IGFzc2VydHMgdGhhdCBhbGwgYnV0IHRoZSBmaXJzdAotICAgIGFyZ3VtZW50IGFyZSByZWxhdGl2ZSBwYXRocy4iIiIKLSAgICBmb3Igc2VnIGluIGFyZ3NbMTpdOgotICAgICAgICBhc3NlcnQgc2VnWzBdICE9ICIvIgotICAgIHJldHVybiBvcy5wYXRoLmpvaW4oKmFyZ3MpCi0KLQotY21kbGluZV9kb2MgPSAiIiJcCi1Vc2FnZToKLSAgcHl0aG9uIGJ1bmRsZWJ1aWxkZXIucHkgW29wdGlvbnNdIGNvbW1hbmQKLSAgcHl0aG9uIG15YnVpbGRzY3JpcHQucHkgW29wdGlvbnNdIGNvbW1hbmQKLQotQ29tbWFuZHM6Ci0gIGJ1aWxkICAgICAgYnVpbGQgdGhlIGFwcGxpY2F0aW9uCi0gIHJlcG9ydCAgICAgcHJpbnQgYSByZXBvcnQKLQotT3B0aW9uczoKLSAgLWIsIC0tYnVpbGRkaXI9RElSICAgICB0aGUgYnVpbGQgZGlyZWN0b3J5OyBkZWZhdWx0cyB0byAiYnVpbGQiCi0gIC1uLCAtLW5hbWU9TkFNRSAgICAgICAgYXBwbGljYXRpb24gbmFtZQotICAtciwgLS1yZXNvdXJjZT1GSUxFICAgIGV4dHJhIGZpbGUgb3IgZm9sZGVyIHRvIGJlIGNvcGllZCB0byBSZXNvdXJjZXMKLSAgLWYsIC0tZmlsZT1TUkM6RFNUICAgICBleHRyYSBmaWxlIG9yIGZvbGRlciB0byBiZSBjb3BpZWQgaW50byB0aGUgYnVuZGxlOwotICAgICAgICAgICAgICAgICAgICAgICAgIERTVCBtdXN0IGJlIGEgcGF0aCByZWxhdGl2ZSB0byB0aGUgYnVuZGxlIHJvb3QKLSAgLWUsIC0tZXhlY3V0YWJsZT1GSUxFICB0aGUgZXhlY3V0YWJsZSB0byBiZSB1c2VkCi0gIC1tLCAtLW1haW5wcm9ncmFtPUZJTEUgdGhlIFB5dGhvbiBtYWluIHByb2dyYW0KLSAgLWEsIC0tYXJndiAgICAgICAgICAgICBhZGQgYSB3cmFwcGVyIG1haW4gcHJvZ3JhbSB0byBjcmVhdGUgc3lzLmFyZ3YKLSAgLXAsIC0tcGxpc3Q9RklMRSAgICAgICAucGxpc3QgZmlsZSAoZGVmYXVsdDogZ2VuZXJhdGUgb25lKQotICAgICAgLS1uaWI9TkFNRSAgICAgICAgIG1haW4gbmliIG5hbWUKLSAgLWMsIC0tY3JlYXRvcj1DQ0NDICAgICA0LWNoYXIgY3JlYXRvciBjb2RlIChkZWZhdWx0OiAnPz8/PycpCi0gICAgICAtLWljb25maWxlPUZJTEUgICAgZmlsZW5hbWUgb2YgdGhlIGljb24gKGFuIC5pY25zIGZpbGUpIHRvIGJlIHVzZWQKLSAgICAgICAgICAgICAgICAgICAgICAgICBhcyB0aGUgRmluZGVyIGljb24KLSAgICAgIC0tYnVuZGxlLWlkPUlEICAgICB0aGUgQ0ZCdW5kbGVJZGVudGlmaWVyLCBpbiByZXZlcnNlLWRucyBmb3JtYXQKLSAgICAgICAgICAgICAgICAgICAgICAgICAoZWcuIG9yZy5weXRob24uQnVpbGRBcHBsZXQ7IHRoaXMgaXMgdXNlZCBmb3IKLSAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgcHJlZmVyZW5jZXMgZmlsZSBuYW1lKQotICAtbCwgLS1saW5rICAgICAgICAgICAgIHN5bWxpbmsgZmlsZXMvZm9sZGVyIGluc3RlYWQgb2YgY29weWluZyB0aGVtCi0gICAgICAtLWxpbmstZXhlYyAgICAgICAgc3ltbGluayB0aGUgZXhlY3V0YWJsZSBpbnN0ZWFkIG9mIGNvcHlpbmcgaXQKLSAgICAgIC0tc3RhbmRhbG9uZSAgICAgICBidWlsZCBhIHN0YW5kYWxvbmUgYXBwbGljYXRpb24sIHdoaWNoIGlzIGZ1bGx5Ci0gICAgICAgICAgICAgICAgICAgICAgICAgaW5kZXBlbmRlbnQgb2YgYSBQeXRob24gaW5zdGFsbGF0aW9uCi0gICAgICAtLXNlbWktc3RhbmRhbG9uZSAgYnVpbGQgYSBzdGFuZGFsb25lIGFwcGxpY2F0aW9uLCB3aGljaCBkZXBlbmRzIG9uCi0gICAgICAgICAgICAgICAgICAgICAgICAgYW4gaW5zdGFsbGVkIFB5dGhvbiwgeWV0IGluY2x1ZGVzIGFsbCB0aGlyZC1wYXJ0eQotICAgICAgICAgICAgICAgICAgICAgICAgIG1vZHVsZXMuCi0gICAgICAtLXB5dGhvbj1GSUxFICAgICAgUHl0aG9uIHRvIHVzZSBpbiAjISBsaW5lIGluIHN0ZWFkIG9mIGN1cnJlbnQgUHl0aG9uCi0gICAgICAtLWxpYj1GSUxFICAgICAgICAgc2hhcmVkIGxpYnJhcnkgb3IgZnJhbWV3b3JrIHRvIGJlIGNvcGllZCBpbnRvCi0gICAgICAgICAgICAgICAgICAgICAgICAgdGhlIGJ1bmRsZQotICAteCwgLS1leGNsdWRlPU1PRFVMRSAgIGV4Y2x1ZGUgbW9kdWxlICh3aXRoIC0tKHNlbWktKXN0YW5kYWxvbmUpCi0gIC1pLCAtLWluY2x1ZGU9TU9EVUxFICAgaW5jbHVkZSBtb2R1bGUgKHdpdGggLS0oc2VtaS0pc3RhbmRhbG9uZSkKLSAgICAgIC0tcGFja2FnZT1QQUNLQUdFICBpbmNsdWRlIGEgd2hvbGUgcGFja2FnZSAod2l0aCAtLShzZW1pLSlzdGFuZGFsb25lKQotICAgICAgLS1zdHJpcCAgICAgICAgICAgIHN0cmlwIGJpbmFyaWVzIChyZW1vdmUgZGVidWcgaW5mbykKLSAgLXYsIC0tdmVyYm9zZSAgICAgICAgICBpbmNyZWFzZSB2ZXJib3NpdHkgbGV2ZWwKLSAgLXEsIC0tcXVpZXQgICAgICAgICAgICBkZWNyZWFzZSB2ZXJib3NpdHkgbGV2ZWwKLSAgLWgsIC0taGVscCAgICAgICAgICAgICBwcmludCB0aGlzIG1lc3NhZ2UKLSIiIgotCi1kZWYgdXNhZ2UobXNnPU5vbmUpOgotICAgIGlmIG1zZzoKLSAgICAgICAgcHJpbnQobXNnKQotICAgIHByaW50KGNtZGxpbmVfZG9jKQotICAgIHN5cy5leGl0KDEpCi0KLWRlZiBtYWluKGJ1aWxkZXI9Tm9uZSk6Ci0gICAgaWYgYnVpbGRlciBpcyBOb25lOgotICAgICAgICBidWlsZGVyID0gQXBwQnVpbGRlcih2ZXJib3NpdHk9MSkKLQotICAgIHNob3J0b3B0cyA9ICJiOm46cjpmOmU6bTpjOnA6bHg6aTpodnFhIgotICAgIGxvbmdvcHRzID0gKCJidWlsZGRpcj0iLCAibmFtZT0iLCAicmVzb3VyY2U9IiwgImZpbGU9IiwgImV4ZWN1dGFibGU9IiwKLSAgICAgICAgIm1haW5wcm9ncmFtPSIsICJjcmVhdG9yPSIsICJuaWI9IiwgInBsaXN0PSIsICJsaW5rIiwKLSAgICAgICAgImxpbmstZXhlYyIsICJoZWxwIiwgInZlcmJvc2UiLCAicXVpZXQiLCAiYXJndiIsICJzdGFuZGFsb25lIiwKLSAgICAgICAgImV4Y2x1ZGU9IiwgImluY2x1ZGU9IiwgInBhY2thZ2U9IiwgInN0cmlwIiwgImljb25maWxlPSIsCi0gICAgICAgICJsaWI9IiwgInB5dGhvbj0iLCAic2VtaS1zdGFuZGFsb25lIiwgImJ1bmRsZS1pZD0iLCAiZGVzdHJvb3Q9IikKLQotICAgIHRyeToKLSAgICAgICAgb3B0aW9ucywgYXJncyA9IGdldG9wdC5nZXRvcHQoc3lzLmFyZ3ZbMTpdLCBzaG9ydG9wdHMsIGxvbmdvcHRzKQotICAgIGV4Y2VwdCBnZXRvcHQuZXJyb3I6Ci0gICAgICAgIHVzYWdlKCkKLQotICAgIGZvciBvcHQsIGFyZyBpbiBvcHRpb25zOgotICAgICAgICBpZiBvcHQgaW4gKCctYicsICctLWJ1aWxkZGlyJyk6Ci0gICAgICAgICAgICBidWlsZGVyLmJ1aWxkZGlyID0gYXJnCi0gICAgICAgIGVsaWYgb3B0IGluICgnLW4nLCAnLS1uYW1lJyk6Ci0gICAgICAgICAgICBidWlsZGVyLm5hbWUgPSBhcmcKLSAgICAgICAgZWxpZiBvcHQgaW4gKCctcicsICctLXJlc291cmNlJyk6Ci0gICAgICAgICAgICBidWlsZGVyLnJlc291cmNlcy5hcHBlbmQob3MucGF0aC5ub3JtcGF0aChhcmcpKQotICAgICAgICBlbGlmIG9wdCBpbiAoJy1mJywgJy0tZmlsZScpOgotICAgICAgICAgICAgc3JjZHN0ID0gYXJnLnNwbGl0KCc6JykKLSAgICAgICAgICAgIGlmIGxlbihzcmNkc3QpICE9IDI6Ci0gICAgICAgICAgICAgICAgdXNhZ2UoIi1mIG9yIC0tZmlsZSBhcmd1bWVudCBtdXN0IGJlIHR3byBwYXRocywgIgotICAgICAgICAgICAgICAgICAgICAgICJzZXBhcmF0ZWQgYnkgYSBjb2xvbiIpCi0gICAgICAgICAgICBidWlsZGVyLmZpbGVzLmFwcGVuZChzcmNkc3QpCi0gICAgICAgIGVsaWYgb3B0IGluICgnLWUnLCAnLS1leGVjdXRhYmxlJyk6Ci0gICAgICAgICAgICBidWlsZGVyLmV4ZWN1dGFibGUgPSBhcmcKLSAgICAgICAgZWxpZiBvcHQgaW4gKCctbScsICctLW1haW5wcm9ncmFtJyk6Ci0gICAgICAgICAgICBidWlsZGVyLm1haW5wcm9ncmFtID0gYXJnCi0gICAgICAgIGVsaWYgb3B0IGluICgnLWEnLCAnLS1hcmd2Jyk6Ci0gICAgICAgICAgICBidWlsZGVyLmFyZ3ZfZW11bGF0aW9uID0gMQotICAgICAgICBlbGlmIG9wdCBpbiAoJy1jJywgJy0tY3JlYXRvcicpOgotICAgICAgICAgICAgYnVpbGRlci5jcmVhdG9yID0gYXJnCi0gICAgICAgIGVsaWYgb3B0ID09ICctLWJ1bmRsZS1pZCc6Ci0gICAgICAgICAgICBidWlsZGVyLmJ1bmRsZV9pZCA9IGFyZwotICAgICAgICBlbGlmIG9wdCA9PSAnLS1pY29uZmlsZSc6Ci0gICAgICAgICAgICBidWlsZGVyLmljb25maWxlID0gYXJnCi0gICAgICAgIGVsaWYgb3B0ID09ICItLWxpYiI6Ci0gICAgICAgICAgICBidWlsZGVyLmxpYnMuYXBwZW5kKG9zLnBhdGgubm9ybXBhdGgoYXJnKSkKLSAgICAgICAgZWxpZiBvcHQgPT0gIi0tbmliIjoKLSAgICAgICAgICAgIGJ1aWxkZXIubmlibmFtZSA9IGFyZwotICAgICAgICBlbGlmIG9wdCBpbiAoJy1wJywgJy0tcGxpc3QnKToKLSAgICAgICAgICAgIGJ1aWxkZXIucGxpc3QgPSBQbGlzdC5mcm9tRmlsZShhcmcpCi0gICAgICAgIGVsaWYgb3B0IGluICgnLWwnLCAnLS1saW5rJyk6Ci0gICAgICAgICAgICBidWlsZGVyLnN5bWxpbmsgPSAxCi0gICAgICAgIGVsaWYgb3B0ID09ICctLWxpbmstZXhlYyc6Ci0gICAgICAgICAgICBidWlsZGVyLnN5bWxpbmtfZXhlYyA9IDEKLSAgICAgICAgZWxpZiBvcHQgaW4gKCctaCcsICctLWhlbHAnKToKLSAgICAgICAgICAgIHVzYWdlKCkKLSAgICAgICAgZWxpZiBvcHQgaW4gKCctdicsICctLXZlcmJvc2UnKToKLSAgICAgICAgICAgIGJ1aWxkZXIudmVyYm9zaXR5ICs9IDEKLSAgICAgICAgZWxpZiBvcHQgaW4gKCctcScsICctLXF1aWV0Jyk6Ci0gICAgICAgICAgICBidWlsZGVyLnZlcmJvc2l0eSAtPSAxCi0gICAgICAgIGVsaWYgb3B0ID09ICctLXN0YW5kYWxvbmUnOgotICAgICAgICAgICAgYnVpbGRlci5zdGFuZGFsb25lID0gMQotICAgICAgICBlbGlmIG9wdCA9PSAnLS1zZW1pLXN0YW5kYWxvbmUnOgotICAgICAgICAgICAgYnVpbGRlci5zZW1pX3N0YW5kYWxvbmUgPSAxCi0gICAgICAgIGVsaWYgb3B0ID09ICctLXB5dGhvbic6Ci0gICAgICAgICAgICBidWlsZGVyLnB5dGhvbiA9IGFyZwotICAgICAgICBlbGlmIG9wdCBpbiAoJy14JywgJy0tZXhjbHVkZScpOgotICAgICAgICAgICAgYnVpbGRlci5leGNsdWRlTW9kdWxlcy5hcHBlbmQoYXJnKQotICAgICAgICBlbGlmIG9wdCBpbiAoJy1pJywgJy0taW5jbHVkZScpOgotICAgICAgICAgICAgYnVpbGRlci5pbmNsdWRlTW9kdWxlcy5hcHBlbmQoYXJnKQotICAgICAgICBlbGlmIG9wdCA9PSAnLS1wYWNrYWdlJzoKLSAgICAgICAgICAgIGJ1aWxkZXIuaW5jbHVkZVBhY2thZ2VzLmFwcGVuZChhcmcpCi0gICAgICAgIGVsaWYgb3B0ID09ICctLXN0cmlwJzoKLSAgICAgICAgICAgIGJ1aWxkZXIuc3RyaXAgPSAxCi0gICAgICAgIGVsaWYgb3B0ID09ICctLWRlc3Ryb290JzoKLSAgICAgICAgICAgIGJ1aWxkZXIuZGVzdHJvb3QgPSBhcmcKLQotICAgIGlmIGxlbihhcmdzKSAhPSAxOgotICAgICAgICB1c2FnZSgiTXVzdCBzcGVjaWZ5IG9uZSBjb21tYW5kICgnYnVpbGQnLCAncmVwb3J0JyBvciAnaGVscCcpIikKLSAgICBjb21tYW5kID0gYXJnc1swXQotCi0gICAgaWYgY29tbWFuZCA9PSAiYnVpbGQiOgotICAgICAgICBidWlsZGVyLnNldHVwKCkKLSAgICAgICAgYnVpbGRlci5idWlsZCgpCi0gICAgZWxpZiBjb21tYW5kID09ICJyZXBvcnQiOgotICAgICAgICBidWlsZGVyLnNldHVwKCkKLSAgICAgICAgYnVpbGRlci5yZXBvcnQoKQotICAgIGVsaWYgY29tbWFuZCA9PSAiaGVscCI6Ci0gICAgICAgIHVzYWdlKCkKLSAgICBlbHNlOgotICAgICAgICB1c2FnZSgiVW5rbm93biBjb21tYW5kICclcyciICUgY29tbWFuZCkKLQotCi1kZWYgYnVpbGRhcHAoKiprd2FyZ3MpOgotICAgIGJ1aWxkZXIgPSBBcHBCdWlsZGVyKCoqa3dhcmdzKQotICAgIG1haW4oYnVpbGRlcikKLQotCi1pZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgotICAgIG1haW4oKQpkaWZmIC0tZ2l0IGEvTWFrZWZpbGUucHJlLmluIGIvTWFrZWZpbGUucHJlLmluCmluZGV4IDc2YWVmMjguLmQ5ZWU3NzcgMTAwNjQ0Ci0tLSBhL01ha2VmaWxlLnByZS5pbgorKysgYi9NYWtlZmlsZS5wcmUuaW4KQEAgLTMyOCw2ICszMjgsMTMgQEAKIFBHRU5PQkpTPQkkKFBPQkpTKSAkKFBHT0JKUykKIAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMgb3Bjb2RlLmggZ2VuZXJhdGlvbgorT1BDT0RFX0hfRElSPSAJJChzcmNkaXIpL0luY2x1ZGUKK09QQ09ERV9IX1NDUklQVD0gJChzcmNkaXIpL1Rvb2xzL3NjcmlwdHMvZ2VuZXJhdGVfb3Bjb2RlX2gucHkKK09QQ09ERV9IPQkkKE9QQ09ERV9IX0RJUikvb3Bjb2RlLmgKK09QQ09ERV9IX0dFTj0JQE9QQ09ERUhHRU5AICAkKE9QQ09ERV9IX1NDUklQVCkgJChzcmNkaXIpL0xpYi9vcGNvZGUucHkgJChPUENPREVfSCkKKyMKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAjIEFTVAogQVNUX0hfRElSPQlJbmNsdWRlCiBBU1RfSD0JCSQoQVNUX0hfRElSKS9QeXRob24tYXN0LmgKQEAgLTM4Miw2ICszODksNyBAQAogCQlQeXRob24vcHljdHlwZS5vIFwKIAkJUHl0aG9uL3B5ZnBlLm8gXAogCQlQeXRob24vcHloYXNoLm8gXAorCQlQeXRob24vcHlsaWZlY3ljbGUubyBcCiAJCVB5dGhvbi9weW1hdGgubyBcCiAJCVB5dGhvbi9weXN0YXRlLm8gXAogCQlQeXRob24vcHl0aG9ucnVuLm8gXApAQCAtNDY1LDcgKzQ3Myw3IEBACiAKICMgRGVmYXVsdCB0YXJnZXQKIGFsbDoJCWJ1aWxkX2FsbAotYnVpbGRfYWxsOgkkKEJVSUxEUFlUSE9OKSBvbGRzaGFyZWRtb2RzIHNoYXJlZG1vZHMgZ2RiaG9va3MgTW9kdWxlcy9fdGVzdGVtYmVkIHB5dGhvbi1jb25maWcKK2J1aWxkX2FsbDoJJChCVUlMRFBZVEhPTikgb2xkc2hhcmVkbW9kcyBzaGFyZWRtb2RzIGdkYmhvb2tzIFByb2dyYW1zL190ZXN0ZW1iZWQgcHl0aG9uLWNvbmZpZwogCiAjIENvbXBpbGUgYSBiaW5hcnkgd2l0aCBnY2MgcHJvZmlsZSBndWlkZWQgb3B0aW1pemF0aW9uLgogcHJvZmlsZS1vcHQ6CkBAIC01MzgsOCArNTQ2LDggQEAKIAkkKFJVTlNIQVJFRCkgJChQWVRIT05fRk9SX0JVSUxEKSAuL1Rvb2xzL2NsaW5pYy9jbGluaWMucHkgLS1tYWtlCiAKICMgQnVpbGQgdGhlIGludGVycHJldGVyCi0kKEJVSUxEUFlUSE9OKToJTW9kdWxlcy9weXRob24ubyAkKExJQlJBUlkpICQoTERMSUJSQVJZKSAkKFBZM0xJQlJBUlkpCi0JJChMSU5LQ0MpICQoUFlfTERGTEFHUykgJChMSU5LRk9SU0hBUkVEKSAtbyAkQCBNb2R1bGVzL3B5dGhvbi5vICQoQkxETElCUkFSWSkgJChMSUJTKSAkKE1PRExJQlMpICQoU1lTTElCUykgJChMRExBU1QpCiskKEJVSUxEUFlUSE9OKToJUHJvZ3JhbXMvcHl0aG9uLm8gJChMSUJSQVJZKSAkKExETElCUkFSWSkgJChQWTNMSUJSQVJZKQorCSQoTElOS0NDKSAkKFBZX0xERkxBR1MpICQoTElOS0ZPUlNIQVJFRCkgLW8gJEAgUHJvZ3JhbXMvcHl0aG9uLm8gJChCTERMSUJSQVJZKSAkKExJQlMpICQoTU9ETElCUykgJChTWVNMSUJTKSAkKExETEFTVCkKIAogcGxhdGZvcm06ICQoQlVJTERQWVRIT04pIHB5YnVpbGRkaXIudHh0CiAJJChSVU5TSEFSRUQpICQoUFlUSE9OX0ZPUl9CVUlMRCkgLWMgJ2ltcG9ydCBzeXMgOyBmcm9tIHN5c2NvbmZpZyBpbXBvcnQgZ2V0X3BsYXRmb3JtIDsgcHJpbnQoZ2V0X3BsYXRmb3JtKCkrIi0iK3N5cy52ZXJzaW9uWzA6M10pJyA+cGxhdGZvcm0KQEAgLTY3NCwxOCArNjgyLDE5IEBACiAJCWVjaG8gIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIjsgXAogCWZpCiAKLU1vZHVsZXMvX3Rlc3RlbWJlZDogTW9kdWxlcy9fdGVzdGVtYmVkLm8gJChMSUJSQVJZKSAkKExETElCUkFSWSkgJChQWTNMSUJSQVJZKQotCSQoTElOS0NDKSAkKFBZX0xERkxBR1MpICQoTElOS0ZPUlNIQVJFRCkgLW8gJEAgTW9kdWxlcy9fdGVzdGVtYmVkLm8gJChCTERMSUJSQVJZKSAkKExJQlMpICQoTU9ETElCUykgJChTWVNMSUJTKSAkKExETEFTVCkKK1Byb2dyYW1zL190ZXN0ZW1iZWQ6IFByb2dyYW1zL190ZXN0ZW1iZWQubyAkKExJQlJBUlkpICQoTERMSUJSQVJZKSAkKFBZM0xJQlJBUlkpCisJJChMSU5LQ0MpICQoUFlfTERGTEFHUykgJChMSU5LRk9SU0hBUkVEKSAtbyAkQCBQcm9ncmFtcy9fdGVzdGVtYmVkLm8gJChCTERMSUJSQVJZKSAkKExJQlMpICQoTU9ETElCUykgJChTWVNMSUJTKSAkKExETEFTVCkKIAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogIyBJbXBvcnRsaWIKIAotTW9kdWxlcy9fZnJlZXplX2ltcG9ydGxpYjogTW9kdWxlcy9fZnJlZXplX2ltcG9ydGxpYi5vICQoTElCUkFSWV9PQkpTX09NSVRfRlJPWkVOKQotCSQoTElOS0NDKSAkKFBZX0xERkxBR1MpIC1vICRAIE1vZHVsZXMvX2ZyZWV6ZV9pbXBvcnRsaWIubyAkKExJQlJBUllfT0JKU19PTUlUX0ZST1pFTikgJChMSUJTKSAkKE1PRExJQlMpICQoU1lTTElCUykgJChMRExBU1QpCitQcm9ncmFtcy9fZnJlZXplX2ltcG9ydGxpYi5vOiBQcm9ncmFtcy9fZnJlZXplX2ltcG9ydGxpYi5jCiAKLVB5dGhvbi9pbXBvcnRsaWIuaDogJChzcmNkaXIpL0xpYi9pbXBvcnRsaWIvX2Jvb3RzdHJhcC5weSBNb2R1bGVzL19mcmVlemVfaW1wb3J0bGliLmMKLQkkKE1BS0UpIE1vZHVsZXMvX2ZyZWV6ZV9pbXBvcnRsaWIKLQkuL01vZHVsZXMvX2ZyZWV6ZV9pbXBvcnRsaWIgXAorUHJvZ3JhbXMvX2ZyZWV6ZV9pbXBvcnRsaWI6IFByb2dyYW1zL19mcmVlemVfaW1wb3J0bGliLm8gJChMSUJSQVJZX09CSlNfT01JVF9GUk9aRU4pCisJJChMSU5LQ0MpICQoUFlfTERGTEFHUykgLW8gJEAgUHJvZ3JhbXMvX2ZyZWV6ZV9pbXBvcnRsaWIubyAkKExJQlJBUllfT0JKU19PTUlUX0ZST1pFTikgJChMSUJTKSAkKE1PRExJQlMpICQoU1lTTElCUykgJChMRExBU1QpCisKK1B5dGhvbi9pbXBvcnRsaWIuaDogJChzcmNkaXIpL0xpYi9pbXBvcnRsaWIvX2Jvb3RzdHJhcC5weSBQcm9ncmFtcy9fZnJlZXplX2ltcG9ydGxpYgorCS4vUHJvZ3JhbXMvX2ZyZWV6ZV9pbXBvcnRsaWIgXAogCQkkKHNyY2RpcikvTGliL2ltcG9ydGxpYi9fYm9vdHN0cmFwLnB5IFB5dGhvbi9pbXBvcnRsaWIuaAogCiAKQEAgLTcxMywxMSArNzIyLDExIEBACiAJCS1EVlBBVEg9JyIkKFZQQVRIKSInIFwKIAkJLW8gJEAgJChzcmNkaXIpL01vZHVsZXMvZ2V0cGF0aC5jCiAKLU1vZHVsZXMvcHl0aG9uLm86ICQoc3JjZGlyKS9Nb2R1bGVzL3B5dGhvbi5jCi0JJChNQUlOQ0MpIC1jICQoUFlfQ09SRV9DRkxBR1MpIC1vICRAICQoc3JjZGlyKS9Nb2R1bGVzL3B5dGhvbi5jCitQcm9ncmFtcy9weXRob24ubzogJChzcmNkaXIpL1Byb2dyYW1zL3B5dGhvbi5jCisJJChNQUlOQ0MpIC1jICQoUFlfQ09SRV9DRkxBR1MpIC1vICRAICQoc3JjZGlyKS9Qcm9ncmFtcy9weXRob24uYwogCi1Nb2R1bGVzL190ZXN0ZW1iZWQubzogJChzcmNkaXIpL01vZHVsZXMvX3Rlc3RlbWJlZC5jCi0JJChNQUlOQ0MpIC1jICQoUFlfQ09SRV9DRkxBR1MpIC1vICRAICQoc3JjZGlyKS9Nb2R1bGVzL190ZXN0ZW1iZWQuYworUHJvZ3JhbXMvX3Rlc3RlbWJlZC5vOiAkKHNyY2RpcikvUHJvZ3JhbXMvX3Rlc3RlbWJlZC5jCisJJChNQUlOQ0MpIC1jICQoUFlfQ09SRV9DRkxBR1MpIC1vICRAICQoc3JjZGlyKS9Qcm9ncmFtcy9fdGVzdGVtYmVkLmMKIAogTW9kdWxlcy9fc3JlLm86ICQoc3JjZGlyKS9Nb2R1bGVzL19zcmUuYyAkKHNyY2RpcikvTW9kdWxlcy9zcmUuaCAkKHNyY2RpcikvTW9kdWxlcy9zcmVfY29uc3RhbnRzLmggJChzcmNkaXIpL01vZHVsZXMvc3JlX2xpYi5oCiAKQEAgLTc0NiwxNSArNzU1LDEzIEBACiAKICQoSU9fT0JKUyk6ICQoSU9fSCkKIAotJChHUkFNTUFSX0gpOiAkKEdSQU1NQVJfSU5QVVQpICQoUEdFTlNSQ1MpCiskKEdSQU1NQVJfSCk6ICQoR1JBTU1BUl9JTlBVVCkgJChQR0VOKQogCQlAJChNS0RJUl9QKSBJbmNsdWRlCi0JCSQoTUFLRSkgJChQR0VOKQogCQkkKFBHRU4pICQoR1JBTU1BUl9JTlBVVCkgJChHUkFNTUFSX0gpICQoR1JBTU1BUl9DKQotJChHUkFNTUFSX0MpOiAkKEdSQU1NQVJfSCkgJChHUkFNTUFSX0lOUFVUKSAkKFBHRU5TUkNTKQotCQkkKE1BS0UpICQoR1JBTU1BUl9IKQorJChHUkFNTUFSX0MpOiAkKEdSQU1NQVJfSCkKIAkJdG91Y2ggJChHUkFNTUFSX0MpCiAKLSQoUEdFTik6CSQoUEdFTk9CSlMpCiskKFBHRU4pOiAkKFBHRU5PQkpTKQogCQkkKENDKSAkKE9QVCkgJChQWV9MREZMQUdTKSAkKFBHRU5PQkpTKSAkKExJQlMpIC1vICQoUEdFTikKIAogUGFyc2VyL2dyYW1tYXIubzoJJChzcmNkaXIpL1BhcnNlci9ncmFtbWFyLmMgXApAQCAtNzc2LDYgKzc4Myw5IEBACiAJJChNS0RJUl9QKSAkKEFTVF9DX0RJUikKIAkkKEFTRExHRU4pIC1jICQoQVNUX0NfRElSKSAkKEFTVF9BU0RMKQogCiskKE9QQ09ERV9IKTogJChzcmNkaXIpL0xpYi9vcGNvZGUucHkgJChPUENPREVfSF9TQ1JJUFQpCisJJChPUENPREVfSF9HRU4pCisKIFB5dGhvbi9jb21waWxlLm8gUHl0aG9uL3N5bXRhYmxlLm8gUHl0aG9uL2FzdC5vOiAkKEdSQU1NQVJfSCkgJChBU1RfSCkKIAogUHl0aG9uL2dldHBsYXRmb3JtLm86ICQoc3JjZGlyKS9QeXRob24vZ2V0cGxhdGZvcm0uYwpAQCAtODg3LDcgKzg5Nyw3IEBACiAJCSQoc3JjZGlyKS9JbmNsdWRlL25vZGUuaCBcCiAJCSQoc3JjZGlyKS9JbmNsdWRlL29iamVjdC5oIFwKIAkJJChzcmNkaXIpL0luY2x1ZGUvb2JqaW1wbC5oIFwKLQkJJChzcmNkaXIpL0luY2x1ZGUvb3Bjb2RlLmggXAorCQkkKE9QQ09ERV9IKSBcCiAJCSQoc3JjZGlyKS9JbmNsdWRlL29zZGVmcy5oIFwKIAkJJChzcmNkaXIpL0luY2x1ZGUvcGF0Y2hsZXZlbC5oIFwKIAkJJChzcmNkaXIpL0luY2x1ZGUvcGdlbi5oIFwKQEAgLTkwMCw2ICs5MTAsNyBAQAogCQkkKHNyY2RpcikvSW5jbHVkZS9weWVycm9ycy5oIFwKIAkJJChzcmNkaXIpL0luY2x1ZGUvcHlmcGUuaCBcCiAJCSQoc3JjZGlyKS9JbmNsdWRlL3B5aGFzaC5oIFwKKwkJJChzcmNkaXIpL0luY2x1ZGUvcHlsaWZlY3ljbGUuaCBcCiAJCSQoc3JjZGlyKS9JbmNsdWRlL3B5bWF0aC5oIFwKIAkJJChzcmNkaXIpL0luY2x1ZGUvcHlnZXRvcHQuaCBcCiAJCSQoc3JjZGlyKS9JbmNsdWRlL3B5bWFjcm8uaCBcCkBAIC05MjgsNyArOTM5LDcgQEAKIAkJJChQQVJTRVJfSEVBREVSUykgXAogCQkkKEFTVF9IKQogCi0kKExJQlJBUllfT0JKUykgJChNT0RPQkpTKSBNb2R1bGVzL3B5dGhvbi5vOiAkKFBZVEhPTl9IRUFERVJTKQorJChMSUJSQVJZX09CSlMpICQoTU9ET0JKUykgUHJvZ3JhbXMvcHl0aG9uLm86ICQoUFlUSE9OX0hFQURFUlMpCiAKIAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpAQCAtMTEzMiw5ICsxMTQzLDE0IEBACiAJCXRlc3QvYXVkaW9kYXRhIFwKIAkJdGVzdC9jYXBhdGggdGVzdC9kYXRhIFwKIAkJdGVzdC9jamtlbmNvZGluZ3MgdGVzdC9kZWNpbWFsdGVzdGRhdGEgdGVzdC94bWx0ZXN0ZGF0YSBcCisJCXRlc3QvZWludHJkYXRhIFwKIAkJdGVzdC9pbWdoZHJkYXRhIFwKIAkJdGVzdC9zdWJwcm9jZXNzZGF0YSB0ZXN0L3NuZGhkcmRhdGEgdGVzdC9zdXBwb3J0IFwKIAkJdGVzdC90cmFjZWRtb2R1bGVzIHRlc3QvZW5jb2RlZF9tb2R1bGVzIFwKKwkJdGVzdC90ZXN0X2ltcG9ydCBcCisJCXRlc3QvdGVzdF9pbXBvcnQvZGF0YSBcCisJCXRlc3QvdGVzdF9pbXBvcnQvZGF0YS9jaXJjdWxhcl9pbXBvcnRzIFwKKwkJdGVzdC90ZXN0X2ltcG9ydC9kYXRhL2NpcmN1bGFyX2ltcG9ydHMvc3VicGtnIFwKIAkJdGVzdC90ZXN0X2ltcG9ydGxpYi9uYW1lc3BhY2VfcGtncyBcCiAJCXRlc3QvdGVzdF9pbXBvcnRsaWIvbmFtZXNwYWNlX3BrZ3MvYm90aF9wb3J0aW9ucyBcCiAJCXRlc3QvdGVzdF9pbXBvcnRsaWIvbmFtZXNwYWNlX3BrZ3MvYm90aF9wb3J0aW9ucy9mb28gXApAQCAtMTMzOCw3ICsxMzU0LDcgQEAKIAkJZmk7IFwKIAlmaQogCSQoSU5TVEFMTF9EQVRBKSBNb2R1bGVzL2NvbmZpZy5jICQoREVTVERJUikkKExJQlBMKS9jb25maWcuYwotCSQoSU5TVEFMTF9EQVRBKSBNb2R1bGVzL3B5dGhvbi5vICQoREVTVERJUikkKExJQlBMKS9weXRob24ubworCSQoSU5TVEFMTF9EQVRBKSBQcm9ncmFtcy9weXRob24ubyAkKERFU1RESVIpJChMSUJQTCkvcHl0aG9uLm8KIAkkKElOU1RBTExfREFUQSkgJChzcmNkaXIpL01vZHVsZXMvY29uZmlnLmMuaW4gJChERVNURElSKSQoTElCUEwpL2NvbmZpZy5jLmluCiAJJChJTlNUQUxMX0RBVEEpIE1ha2VmaWxlICQoREVTVERJUikkKExJQlBMKS9NYWtlZmlsZQogCSQoSU5TVEFMTF9EQVRBKSBNb2R1bGVzL1NldHVwICQoREVTVERJUikkKExJQlBMKS9TZXR1cApAQCAtMTM0OSwxMCArMTM2NSwxMCBAQAogCSQoSU5TVEFMTF9TQ1JJUFQpICQoc3JjZGlyKS9pbnN0YWxsLXNoICQoREVTVERJUikkKExJQlBMKS9pbnN0YWxsLXNoCiAJJChJTlNUQUxMX1NDUklQVCkgcHl0aG9uLWNvbmZpZy5weSAkKERFU1RESVIpJChMSUJQTCkvcHl0aG9uLWNvbmZpZy5weQogCSQoSU5TVEFMTF9TQ1JJUFQpIHB5dGhvbi1jb25maWcgJChERVNURElSKSQoQklORElSKS9weXRob24kKExEVkVSU0lPTiktY29uZmlnCi0JQGlmIFsgLXMgTW9kdWxlcy9weXRob24uZXhwIC1hIFwKKwlAaWYgWyAtcyBQcm9ncmFtcy9weXRob24uZXhwIC1hIFwKIAkJImBlY2hvICQoTUFDSERFUCkgfCBzZWQgJ3MvXlwoLi4uXCkuKi9cMS8nYCIgPSAiYWl4IiBdOyB0aGVuIFwKIAkJZWNobzsgZWNobyAiSW5zdGFsbGluZyBzdXBwb3J0IGZpbGVzIGZvciBidWlsZGluZyBzaGFyZWQgZXh0ZW5zaW9uIG1vZHVsZXMgb24gQUlYOiI7IFwKLQkJJChJTlNUQUxMX0RBVEEpIE1vZHVsZXMvcHl0aG9uLmV4cAkJXAorCQkkKElOU1RBTExfREFUQSkgUHJvZ3JhbXMvcHl0aG9uLmV4cAkJXAogCQkJCSQoREVTVERJUikkKExJQlBMKS9weXRob24uZXhwOwkJXAogCQllY2hvOyBlY2hvICIkKExJQlBMKS9weXRob24uZXhwIjsJCVwKIAkJJChJTlNUQUxMX1NDUklQVCkgJChzcmNkaXIpL01vZHVsZXMvbWFrZXhwX2FpeAlcCkBAIC0xNTM1LDcgKzE1NTEsNyBAQAogCWZpbmQgYnVpbGQgLW5hbWUgJyoucHlbY29dJyAtZXhlYyBybSAtZiB7fSAnOycgfHwgdHJ1ZQogCS1ybSAtZiBweWJ1aWxkZGlyLnR4dAogCS1ybSAtZiBMaWIvbGliMnRvMy8qR3JhbW1hcioucGlja2xlCi0JLXJtIC1mIE1vZHVsZXMvX3Rlc3RlbWJlZCBNb2R1bGVzL19mcmVlemVfaW1wb3J0bGliCisJLXJtIC1mIFByb2dyYW1zL190ZXN0ZW1iZWQgUHJvZ3JhbXMvX2ZyZWV6ZV9pbXBvcnRsaWIKIAogcHJvZmlsZS1yZW1vdmFsOgogCWZpbmQgLiAtbmFtZSAnKi5nYz8/JyAtZXhlYyBybSAtZiB7fSAnOycKQEAgLTE1NTksNyArMTU3NSw3IEBACiAJZG9uZQogCS1ybSAtZiBjb3JlIE1ha2VmaWxlIE1ha2VmaWxlLnByZSBjb25maWcuc3RhdHVzIFwKIAkJTW9kdWxlcy9TZXR1cCBNb2R1bGVzL1NldHVwLmxvY2FsIE1vZHVsZXMvU2V0dXAuY29uZmlnIFwKLQkJTW9kdWxlcy9sZF9zb19haXggTW9kdWxlcy9weXRob24uZXhwIE1pc2MvcHl0aG9uLnBjCisJCU1vZHVsZXMvbGRfc29fYWl4IFByb2dyYW1zL3B5dGhvbi5leHAgTWlzYy9weXRob24ucGMKIAktcm0gLWYgcHl0aG9uKi1nZGIucHkKIAlmaW5kICQoc3JjZGlyKS9bYS16QS1aXSogJygnIC1uYW1lICcqLmZkYycgLW8gLW5hbWUgJyp+JyBcCiAJCQkJICAgICAtbyAtbmFtZSAnW0AsI10qJyAtbyAtbmFtZSAnKi5vbGQnIFwKZGlmZiAtLWdpdCBhL01pc2MvQUNLUyBiL01pc2MvQUNLUwppbmRleCAyMDU5OGFiLi43NzA3ZjY3IDEwMDY0NAotLS0gYS9NaXNjL0FDS1MKKysrIGIvTWlzYy9BQ0tTCkBAIC00Niw2ICs0Niw3IEBACiBFcmlrIEFuZGVyc8OpbgogT2xpdmVyIEFuZHJpY2gKIFJvc3MgQW5kcnVzCitGYWJyaWNlIEFuZWNoZQogSnVhbmNhcmxvIEHDsWV6CiBDaHJpcyBBbmdlbGljbwogSsOpcsOpbXkgQW5nZXIKQEAgLTg5LDYgKzkwLDcgQEAKIENlc2FyIEVkdWFyZG8gQmFycm9zCiBEZXMgQmFycnkKIFVsZiBCYXJ0ZWx0CitDYW1wYmVsbCBCYXJ0b24KIERvbiBCYXNoZm9yZAogUGlvciBCYXN0aWRhCiBOaWNrIEJhc3RpbgpAQCAtMTAwLDYgKzEwMiw3IEBACiBTYW11ZWwgTC4gQmF5ZXIKIERvbmFsZCBCZWF1ZHJ5CiBEYXZpZCBCZWF6bGV5CitJbmdvbGYgQmVja2VyCiBOZWFsIEJlY2tlcgogUm9iaW4gQmVja2VyCiBUb3JzdGVuIEJlY2tlcgpAQCAtMjE2LDYgKzIxOSw3IEBACiBUZXJyeSBDYXJyb2xsCiBFZHdhcmQgQ2F0bXVyCiBMb3JlbnpvIE0uIENhdHVjY2kKK0JydW5vIENhdWV0CiBEb25uIENhdmUKIENoYXJsZXMgQ2F6YWJvbgogSmVzw7pzIENlYSBBdmnDs24KQEAgLTIzMyw2ICsyMzcsNyBAQAogQnJhZCBDaGFwbWFuCiBHcmVnIENoYXBtYW4KIE1pdGNoIENoYXBtYW4KK01hdHQgQ2hhcHV0CiBZb2dlc2ggQ2hhdWRoYXJpCiBEYXZpZCBDaGF1bQogTmljb2xhcyBDaGF1dmF0CkBAIC00NjksNiArNDc0LDcgQEAKIFhhdmllciBkZSBHYXllCiBIYXJyeSBIZW5yeSBHZWJlbAogTWFyaXVzIEdlZG1pbmFzCitKYW4tUGhpbGlwIEdlaHJja2UKIFRob21hcyBHZWxsZWt1bQogR2FicmllbCBHZW5lbGxpbmEKIENocmlzdG9zIEdlb3JnaW91CkBAIC00OTUsNiArNTAxLDcgQEAKIERhdmlkIEdvb2RnZXIKIEhhbnMgZGUgR3JhYWZmCiBUaW0gR3JhaGFtCitLaW0gR3LDpHNtYW4KIE5hdGhhbmllbCBHcmF5CiBFZGR5IERlIEdyZWVmCiBHcmFudCBHcmlmZmluCkBAIC01NjgsNiArNTc1LDcgQEAKIFdvdXRlciB2YW4gSGV5c3QKIEtlbHNleSBIaWdodG93ZXIKIEphc29uIEhpbGRlYnJhbmQKK0Fhcm9uIEhpbGwKIFJpY2hpZSBIaW5kbGUKIEtvbnJhZCBIaW5zZW4KIERhdmlkIEhvYmxleQpAQCAtNjAyLDYgKzYxMCw3IEBACiBLZW4gSG93YXJkCiBCcmFkIEhvd2VzCiBNaWtlIEhveQorQmVuIEhveXQKIENoaWgtSGFvIEh1YW5nCiBDaHJpc3RpYW4gSHVkb24KIExhd3JlbmNlIEh1ZHNvbgpAQCAtNjIxLDYgKzYzMCw3IEBACiBBYXJvbiBJbGVzCiBMYXJzIEltbWlzY2gKIEJvYmJ5IEltcG9sbG9uaWEKK05hb2tpIEluYWRhCiBNZWFkb3IgSW5nZQogUGV0ZXIgSW5nZWJyZXRzb24KIFRvbnkgSW5ncmFsZGkKQEAgLTY0NCw2ICs2NTQsNyBAQAogUmFqYWdvcGFsYXNhcm1hIEpheWFrcmlzaG5hbgogWmJpZ25pZXcgSsSZZHJ6ZWpld3NraS1Tem1lawogSnVsaWVuIEplaGFubmV0CitNdWhhbW1hZCBKZWhhbnplYgogRHJldyBKZW5raW5zCiBGbGVtbWluZyBLasOmciBKZW5zZW4KIFBoaWxpcCBILiBKZW5zZW4KQEAgLTY2Myw2ICs2NzQsNyBAQAogTmljb2xhcyBKb2x5CiBCcmlhbiBLLiBKb25lcwogRXZhbiBKb25lcworR2xlbm4gSm9uZXMKIEplcmVteSBKb25lcwogUmljaGFyZCBKb25lcwogSXJtZW4gZGUgSm9uZwpAQCAtNjkwLDYgKzcwMiw3IEBACiBBbnRvbiBLYXN5YW5vdgogTG91IEthdGVzCiBIaXJvYWtpIEthd2FpCitCcmlhbiBLZWFybnMKIFNlYmFzdGllbiBLZWltCiBSeWFuIEtlbGx5CiBEYW4gS2VuaWdzYmVyZwpAQCAtNzA1LDYgKzcxOCw3IEBACiBKYW4gS2ltCiBUYWVrIEpvbyBLaW0KIFNhbSBLaW1icmVsCitKYW1lcyBLaW5nCiBXLiBUcmV2b3IgS2luZwogUGF1bCBLaXBwZXMKIFN0ZXZlIEtpcnNjaApAQCAtNzc1LDYgKzc4OSw3IEBACiBTaW1vbiBMYXcKIEp1bGlhIExhd2FsbAogQ2hyaXMgTGF3cmVuY2UKK01hcmsgTGF3cmVuY2UKIEJyaWFuIExlYWlyCiBNYXRoaWV1IExlZHVjLUhhbWVsCiBBbWFuZGluZSBMZWUKQEAgLTgxMiw2ICs4MjcsNyBAQAogU2hhd24gTGlnb2NraQogTWFydGluIExpZ3IKIEdlZGltaW5hcyBMaWt0YXJhcworVml0b3IgZGUgTGltYQogR3JhbnQgTGltYmVyZwogQ2hyaXN0b3BoZXIgTGluZGJsYWQKIFVsZiBBLiBMaW5kZ3JlbgpAQCAtODgxLDYgKzg5Nyw3IEBACiBMdWNhcyBNYXlzdHJlCiBBcm5hdWQgTWF6aW4KIE1hdHQgTWNDbHVyZQorSmFjayBNY0NyYWNrZW4KIFJlYmVjY2EgTWNDcmVhcnkKIEtpcmsgTWNEb25hbGQKIENocmlzIE1jRG9ub3VnaApAQCAtOTg3LDYgKzEwMDQsNyBAQAogSm9obiBPJ0Nvbm5vcgogS2V2aW4gTydDb25ub3IKIFRpbSBPJ01hbGxleQorRGFuIE8nUmVpbGx5CiBab29rbyBPJ1doaWVsYWNyb254CiBBYXJvbiBPYWtsZXkKIEphbWVzIE9ha2xleQpAQCAtMTAyNiw2ICsxMDQ0LDcgQEAKIEFsZXhhbmRyZSBQYXJlbnRlYXUKIERhbiBQYXJpc2llbgogV2lsbGlhbSBQYXJrCitDbGF1ZGUgUGFyb3oKIEhlaWtraSBQYXJ0YW5lbgogSGFycmkgUGFzYW5lbgogR2HDq2wgUGFzZ3JpbWF1ZApAQCAtMTA5OCw2ICsxMTE3LDcgQEAKIFJhbSBSYWNodW0KIErDqXLDtG1lIFJhZGl4CiBCdXJ0b24gUmFkb25zCitTaG9yeWEgUmFqCiBKZWZmIFJhbW5hbmkKIEJyb2RpZSBSYW8KIFNlbmtvIFJhc2ljCkBAIC0xMTM5LDYgKzExNTksNyBAQAogRGF2aWRlIFJpenpvCiBBbnRob255IFJvYWNoCiBDYXJsIFJvYmJlbgorQmVuIFJvYmVydHMKIE1hcmsgUm9iZXJ0cwogQW5keSBSb2JpbnNvbgogSmltIFJvYmluc29uCkBAIC0xMTU0LDEyICsxMTc1LDE0IEBACiBDYXNlIFJvb2xlCiBUaW1vdGh5IFJvc2NvZQogRXJpayBSb3NlCitKb3NoIFJvc2VuYmVyZwogSmltIFJvc2tpbmQKIEJyaWFuIFJvc25lcgogR3VpZG8gdmFuIFJvc3N1bQogSnVzdCB2YW4gUm9zc3VtCiBIdWdvIHZhbiBSb3NzdW0KIFNhc2tpYSB2YW4gUm9zc3VtCitDbGVtZW50IFJvdWF1bHQKIERvbmFsZCBXYWxsYWNlIFJvdXNlIElJCiBMaWFtIFJvdXR0CiBUb2RkIFJvdml0bwpAQCAtMTE4Myw2ICsxMjA2LDcgQEAKIFN1bWFuIFNhaGEKIEhhamltZSBTYWl0b3UKIEdlb3JnZSBTYWtraXMKK1ZpY3RvciBTYWxnYWRvCiBSaWNoIFNhbHoKIEtldmluIFNhbWJvcm4KIEFkcmlhbiBTYW1wc29uCkBAIC0xMjgzLDYgKzEzMDcsNyBAQAogRXZnZW55IFNvbG9ndWJvdgogQ29keSBTb21lcnZpbGxlCiBFZG9hcmRvIFNwYWRvbGluaQorR2VvZmZyZXkgU3BlYXIKIENsYXkgU3BlbmNlCiBTdGVmYW4gU3BlcmxpbmcKIE5pY2hvbGFzIFNwaWVzCkBAIC0xMzQwLDYgKzEzNjUsNyBAQAogQW15IFRheWxvcgogTW9udHkgVGF5bG9yCiBBbmF0b2x5IFRlY2h0b25paworR3VzdGF2byBUZW1wbGUKIE1pa2hhaWwgVGVyZWtob3YKIFZpY3RvciBUZXJyw7NuCiBSaWNoYXJkIE0uIFRldwpAQCAtMTM3Miw2ICsxMzk4LDcgQEAKIE5hdGhhbiBUcmFwdXp6YW5vCiBMYXVyZW5jZSBUcmF0dAogQWxiZXJ0byBUcmV2aW5vCitNYXlhbmsgVHJpcGF0aGkKIE1hdHRoaWFzIFRyb2ZmYWVzCiBUb20gVHJvbWV5CiBKb2huIFRyb21wCkBAIC0xMzkzLDYgKzE0MjAsNyBAQAogRGFuaWVsIFVyYmFuCiBNaWNoYWVsIFVybWFuCiBIZWN0b3IgVXJ0dWJpYQorTHVrYXMgVmFjZWsKIFZpbGxlIFZhaW5pbwogQW5kaSBWYWpkYQogQ2FzZSBWYW4gSG9yc2VuCkBAIC0xNDE3LDYgKzE0NDUsNyBAQAogUGF1bGkgVmlydGFuZW4KIEZyYW5rIFZpc3NlcgogSm9oYW5uZXMgVm9nZWwKK1JhZHUgVm9pY2lsYXMKIEFsZXggVm9sa292CiBNYXJ0aWpuIFZyaWVzCiBTam9lcmQgZGUgVnJpZXMKQEAgLTE0MzksNiArMTQ2OCw3IEBACiBEYXZpZCBXYXRzb24KIEFhcm9uIFdhdHRlcnMKIEhlbnJpayBXZWJlcgorTGVvbiBXZWJlcgogQ29ycmFuIFdlYnN0ZXIKIEdseW4gV2Vic3RlcgogUGhpbCBXZWJzdGVyCkBAIC0xNDY3LDYgKzE0OTcsNyBAQAogQ2Fyb2wgV2lsbGluZwogU3RldmVuIFdpbGxpcwogRnJhbmsgV2lsbGlzb24KK0RhdmlkIFdpbHNvbgogR2VvZmYgV2lsc29uCiBHcmVnIFYuIFdpbHNvbgogSiBEZXJlayBXaWxzb24KQEAgLTE0OTIsNiArMTUyMyw3IEBACiBEYXJyZW4gV29ycmFsbAogVGhvbWFzIFdvdXRlcnMKIERhbmllbCBXb3puaWFrCitXZWkgV3UKIEhlaWtvIFd1bmRyYW0KIERvdWcgV3lhdHQKIFJvYmVydCBYaWFvCmRpZmYgLS1naXQgYS9NaXNjL0hJU1RPUlkgYi9NaXNjL0hJU1RPUlkKaW5kZXggODM3MGQ4ZS4uMmI0NzYwZCAxMDA2NDQKLS0tIGEvTWlzYy9ISVNUT1JZCisrKyBiL01pc2MvSElTVE9SWQpAQCAtMTgsMTMgKzE4LDEzIEBACiAKIC0gSXNzdWUgIzE2MDQ2OiBGaXggbG9hZGluZyBzb3VyY2VsZXNzIGxlZ2FjeSAucHlvIGZpbGVzLgogCi0tIElzc3VlICMxNjA2MDogRml4IHJlZmNvdW50aW5nIGJ1ZyB3aGVuIF9fdHJ1bmNfXyByZXR1cm5zIGFuIG9iamVjdAotICB3aG9zZSBfX2ludF9fIGdpdmVzIGEgbm9uLWludGVnZXIuICBQYXRjaCBieSBTZXJoaXkgU3RvcmNoYWthLgorLSBJc3N1ZSAjMTYwNjA6IEZpeCByZWZjb3VudGluZyBidWcgd2hlbiBgX190cnVuY19fKClgIHJldHVybnMgYW4gb2JqZWN0IHdob3NlCisgIGBfX2ludF9fKClgIGdpdmVzIGEgbm9uLWludGVnZXIuICBQYXRjaCBieSBTZXJoaXkgU3RvcmNoYWthLgogCiBFeHRlbnNpb24gTW9kdWxlcwogLS0tLS0tLS0tLS0tLS0tLS0KIAotLSBJc3N1ZSAjMTYwMTI6IEZpeCBhIHJlZ3Jlc3Npb24gaW4gcHlleHBhdC4gVGhlIHBhcnNlcidzIFVzZUZvcmVpZ25EVEQoKQorLSBJc3N1ZSAjMTYwMTI6IEZpeCBhIHJlZ3Jlc3Npb24gaW4gcHlleHBhdC4gVGhlIHBhcnNlcidzIGBVc2VGb3JlaWduRFREKClgCiAgIG1ldGhvZCBkb2Vzbid0IHJlcXVpcmUgYW4gYXJndW1lbnQgYWdhaW4uCiAKIApAQCAtMzYsMjYgKzM2LDI2IEBACiBDb3JlIGFuZCBCdWlsdGlucwogLS0tLS0tLS0tLS0tLS0tLS0KIAotLSBJc3N1ZSAjMTU5MDA6IEZpeCByZWZlcmVuY2UgbGVhayBpbiBQeVVuaWNvZGVfVHJhbnNsYXRlQ2hhcm1hcCgpLgorLSBJc3N1ZSAjMTU5MDA6IEZpeCByZWZlcmVuY2UgbGVhayBpbiBgUHlVbmljb2RlX1RyYW5zbGF0ZUNoYXJtYXAoKWAuCiAKIC0gSXNzdWUgIzE1OTI2OiBGaXggY3Jhc2ggYWZ0ZXIgbXVsdGlwbGUgcmVpbml0aWFsaXphdGlvbnMgb2YgdGhlIGludGVycHJldGVyLgogCiAtIElzc3VlICMxNTg5NTogRml4IEZJTEUgcG9pbnRlciBsZWFrIGluIG9uZSBlcnJvciBicmFuY2ggb2YKLSAgUHlSdW5fU2ltcGxlRmlsZUV4RmxhZ3MoKSB3aGVuIGZpbGVuYW1lIHBvaW50cyB0byBhIHB5Yy9weW8gZmlsZSwgY2xvc2VpdAotICBpcyBmYWxzZSBhbiBhbmQgc2V0X21haW5fbG9hZGVyKCkgZmFpbHMuCisgIGBQeVJ1bl9TaW1wbGVGaWxlRXhGbGFncygpYCB3aGVuIGZpbGVuYW1lIHBvaW50cyB0byBhIHB5Yy9weW8gZmlsZSwgY2xvc2VpdCBpcworICBmYWxzZSBhbiBhbmQgc2V0X21haW5fbG9hZGVyKCkgZmFpbHMuCiAKIC0gRml4ZXMgZm9yIGEgZmV3IGNyYXNoIGFuZCBtZW1vcnkgbGVhayByZWdyZXNzaW9ucyBmb3VuZCBieSBDb3Zlcml0eS4KIAogTGlicmFyeQogLS0tLS0tLQogCi0tIElzc3VlICMxNTg4MjogQ2hhbmdlIF9kZWNpbWFsIHRvIGFjY2VwdCBhbnkgY29lZmZpY2llbnQgdHVwbGUgd2hlbgotICBjb25zdHJ1Y3RpbmcgaW5maW5pdGllcy4gVGhpcyBpcyBkb25lIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eQotICB3aXRoIGRlY2ltYWwucHk6IEluZmluaXR5IGNvZWZmaWNpZW50cyBhcmUgdW5kZWZpbmVkIGluIF9kZWNpbWFsCi0gIChpbiBhY2NvcmRhbmNlIHdpdGggdGhlIHNwZWNpZmljYXRpb24pLgorLSBJc3N1ZSAjMTU4ODI6IENoYW5nZSBgX2RlY2ltYWxgIHRvIGFjY2VwdCBhbnkgY29lZmZpY2llbnQgdHVwbGUgd2hlbgorICBjb25zdHJ1Y3RpbmcgaW5maW5pdGllcy4gVGhpcyBpcyBkb25lIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSB3aXRoCisgIGRlY2ltYWwucHk6IEluZmluaXR5IGNvZWZmaWNpZW50cyBhcmUgdW5kZWZpbmVkIGluIF9kZWNpbWFsIChpbiBhY2NvcmRhbmNlCisgIHdpdGggdGhlIHNwZWNpZmljYXRpb24pLgogCi0tIElzc3VlICMxNTkyNTogRml4IGEgcmVncmVzc2lvbiBpbiBlbWFpbC51dGlsIHdoZXJlIHRoZSBwYXJzZWRhdGUoKSBhbmQKLSAgcGFyc2VkYXRlX3R6KCkgZnVuY3Rpb25zIGRpZCBub3QgcmV0dXJuIE5vbmUgYW55bW9yZSB3aGVuIHRoZSBhcmd1bWVudCBjb3VsZAorLSBJc3N1ZSAjMTU5MjU6IEZpeCBhIHJlZ3Jlc3Npb24gaW4gYGVtYWlsLnV0aWxgIHdoZXJlIHRoZSBgcGFyc2VkYXRlKClgIGFuZAorICBgcGFyc2VkYXRlX3R6KClgIGZ1bmN0aW9ucyBkaWQgbm90IHJldHVybiBOb25lIGFueW1vcmUgd2hlbiB0aGUgYXJndW1lbnQgY291bGQKICAgbm90IGJlIHBhcnNlZC4KIAogRXh0ZW5zaW9uIE1vZHVsZXMKQEAgLTY3LDcgKzY3LDcgQEAKIC0gSXNzdWUgIzE1OTc3OiBGaXggbWVtb3J5IGxlYWsgaW4gTW9kdWxlcy9fc3NsLmMgd2hlbiB0aGUgZnVuY3Rpb24KICAgX3NldF9ucG5fcHJvdG9jb2xzKCkgaXMgY2FsbGVkIG11bHRpcGxlIHRpbWVzLCB0aGFua3MgdG8gRGFuaWVsIFNvbW1lcm1hbm4uCiAKLS0gSXNzdWUgIzE1OTY5OiBmYXVsdGhhbmRsZXIgbW9kdWxlOiByZW5hbWUgZHVtcF90cmFjZWJhY2tzX2xhdGVyKCkgdG8KKy0gSXNzdWUgIzE1OTY5OiBgZmF1bHRoYW5kbGVyYCBtb2R1bGU6IHJlbmFtZSBkdW1wX3RyYWNlYmFja3NfbGF0ZXIoKSB0bwogICBkdW1wX3RyYWNlYmFja19sYXRlcigpIGFuZCBjYW5jZWxfZHVtcF90cmFjZWJhY2tzX2xhdGVyKCkgdG8KICAgY2FuY2VsX2R1bXBfdHJhY2ViYWNrX2xhdGVyKCkuCiAKQEAgLTgzLDM1ICs4MywzNyBAQAogLS0tLS0tLS0tLS0tLS0tLS0KIAogLSBJc3N1ZSAjMTM5OTI6IFRoZSB0cmFzaGNhbiBtZWNoYW5pc20gaXMgbm93IHRocmVhZC1zYWZlLiAgVGhpcyBlbGltaW5hdGVzCi0gIHNwb3JhZGljIGNyYXNoZXMgaW4gbXVsdGktdGhyZWFkIHByb2dyYW1zIHdoZW4gc2V2ZXJhbCBsb25nIGRlYWxsb2NhdG9yCi0gIGNoYWlucyByYW4gY29uY3VycmVudGx5IGFuZCBpbnZvbHZlZCBzdWJjbGFzc2VzIG9mIGJ1aWx0LWluIGNvbnRhaW5lcgotICB0eXBlcy4KKyAgc3BvcmFkaWMgY3Jhc2hlcyBpbiBtdWx0aS10aHJlYWQgcHJvZ3JhbXMgd2hlbiBzZXZlcmFsIGxvbmcgZGVhbGxvY2F0b3IgY2hhaW5zCisgIHJhbiBjb25jdXJyZW50bHkgYW5kIGludm9sdmVkIHN1YmNsYXNzZXMgb2YgYnVpbHQtaW4gY29udGFpbmVyIHR5cGVzLgogCi0tIElzc3VlICMxNTc4NDogTW9kaWZ5IE9TRXJyb3IuX19zdHJfXygpIHRvIGJldHRlciBkaXN0aW5ndWlzaCBiZXR3ZWVuCi0gIGVycm5vIGVycm9yIG51bWJlcnMgYW5kIFdpbmRvd3MgZXJyb3IgbnVtYmVycy4KKy0gSXNzdWUgIzE1Nzg0OiBNb2RpZnkgYE9TRXJyb3JgLl9fc3RyX18oKSB0byBiZXR0ZXIgZGlzdGluZ3Vpc2ggYmV0d2VlbiBlcnJubworICBlcnJvciBudW1iZXJzIGFuZCBXaW5kb3dzIGVycm9yIG51bWJlcnMuCiAKIC0gSXNzdWUgIzE1NzgxOiBGaXggdHdvIHNtYWxsIHJhY2UgY29uZGl0aW9ucyBpbiBpbXBvcnQncyBtb2R1bGUgbG9ja2luZy4KIAogTGlicmFyeQogLS0tLS0tLQogCi0tIElzc3VlICMxNTg0NzogRml4IGEgcmVncmVzc2lvbiBpbiBhcmdwYXJzZSwgd2hpY2ggZGlkIG5vdCBhY2NlcHQgdHVwbGVzCi0gIGFzIGFyZ3VtZW50IGxpc3RzIGFueW1vcmUuCistIElzc3VlICMxNzE1ODogQWRkICdzeW1ib2xzJyB0byBoZWxwKCkgd2VsY29tZSBtZXNzYWdlOyBjbGFyaWZ5CisgICdtb2R1bGVzIHNwYW0nIG1lc3NhZ2VzLgogCi0tIElzc3VlICMxNTgyODogUmVzdG9yZSBzdXBwb3J0IGZvciBDIGV4dGVuc2lvbnMgaW4gaW1wLmxvYWRfbW9kdWxlKCkuCistIElzc3VlICMxNTg0NzogRml4IGEgcmVncmVzc2lvbiBpbiBhcmdwYXJzZSwgd2hpY2ggZGlkIG5vdCBhY2NlcHQgdHVwbGVzIGFzCisgIGFyZ3VtZW50IGxpc3RzIGFueW1vcmUuCiAKLS0gSXNzdWUgIzE1MzQwOiBGaXggaW1wb3J0aW5nIHRoZSByYW5kb20gbW9kdWxlIHdoZW4gL2Rldi91cmFuZG9tIGNhbm5vdAotICBiZSBvcGVuZWQuICBUaGlzIHdhcyBhIHJlZ3Jlc3Npb24gY2F1c2VkIGJ5IHRoZSBoYXNoIHJhbmRvbWl6YXRpb24gcGF0Y2guCistIElzc3VlICMxNTgyODogUmVzdG9yZSBzdXBwb3J0IGZvciBDIGV4dGVuc2lvbnMgaW4gYGltcC5sb2FkX21vZHVsZSgpYC4KIAotLSBJc3N1ZSAjMTA2NTA6IERlcHJlY2F0ZSB0aGUgd2F0Y2hleHAgcGFyYW1ldGVyIG9mIHRoZSBEZWNpbWFsLnF1YW50aXplKCkKKy0gSXNzdWUgIzE1MzQwOiBGaXggaW1wb3J0aW5nIHRoZSByYW5kb20gbW9kdWxlIHdoZW4gYGAvZGV2L3VyYW5kb21gYCBjYW5ub3QgYmUKKyAgb3BlbmVkLiAgVGhpcyB3YXMgYSByZWdyZXNzaW9uIGNhdXNlZCBieSB0aGUgaGFzaCByYW5kb21pemF0aW9uIHBhdGNoLgorCistIElzc3VlICMxMDY1MDogRGVwcmVjYXRlIHRoZSB3YXRjaGV4cCBwYXJhbWV0ZXIgb2YgdGhlIGBEZWNpbWFsLnF1YW50aXplKClgCiAgIG1ldGhvZC4KIAotLSBJc3N1ZSAjMTU3ODU6IE1vZGlmeSB3aW5kb3cuZ2V0X3djaCgpIEFQSSBvZiB0aGUgY3Vyc2VzIG1vZHVsZTogcmV0dXJuCi0gIGEgY2hhcmFjdGVyIGZvciBtb3N0IGtleXMsIGFuZCBhbiBpbnRlZ2VyIGZvciBzcGVjaWFsIGtleXMsIGluc3RlYWQgb2YKLSAgYWx3YXlzIHJldHVybmluZyBhbiBpbnRlZ2VyLiBTbyBpdCBpcyBub3cgcG9zc2libGUgdG8gZGlzdGluZ3Vpc2ggc3BlY2lhbAotICBrZXlzIGxpa2Uga2V5cGFkIGtleXMuCistIElzc3VlICMxNTc4NTogTW9kaWZ5IGB3aW5kb3cuZ2V0X3djaCgpYCBBUEkgb2YgdGhlIGN1cnNlcyBtb2R1bGU6IHJldHVybiBhCisgIGNoYXJhY3RlciBmb3IgbW9zdCBrZXlzLCBhbmQgYW4gaW50ZWdlciBmb3Igc3BlY2lhbCBrZXlzLCBpbnN0ZWFkIG9mIGFsd2F5cworICByZXR1cm5pbmcgYW4gaW50ZWdlci4gU28gaXQgaXMgbm93IHBvc3NpYmxlIHRvIGRpc3Rpbmd1aXNoIHNwZWNpYWwga2V5cyBsaWtlCisgIGtleXBhZCBrZXlzLgogCi0tIElzc3VlICMxNDIyMzogRml4IHdpbmRvdy5hZGRjaCgpIG9mIHRoZSBjdXJzZXMgbW9kdWxlIGZvciBzcGVjaWFsIGNoYXJhY3RlcnMKKy0gSXNzdWUgIzE0MjIzOiBGaXggYHdpbmRvdy5hZGRjaCgpYCBvZiB0aGUgY3Vyc2VzIG1vZHVsZSBmb3Igc3BlY2lhbCBjaGFyYWN0ZXJzCiAgIGxpa2UgY3Vyc2VzLkFDU19ITElORTogdGhlIFB5dGhvbiBmdW5jdGlvbiBhZGRjaChpbnQpIGFuZCBhZGRjaChieXRlcykgaXMgbm93CiAgIGNhbGxpbmcgdGhlIEMgZnVuY3Rpb24gd2FkZGNoKCkvbXZ3YWRkY2goKSAoYXMgaXQgd2FzIGRvbmUgaW4gUHl0aG9uIDMuMiksCiAgIGluc3RlYWQgb2Ygd2FkZF93Y2goKS9tdndhZGRfd2NoKCkuIFRoZSBQeXRob24gZnVuY3Rpb24gYWRkY2goc3RyKSBpcyBzdGlsbApAQCAtMTI3LDEwICsxMjksMTAgQEAKIERvY3VtZW50YXRpb24KIC0tLS0tLS0tLS0tLS0KIAotLSBJc3N1ZSAjMTU4MTQ6IFRoZSBtZW1vcnl2aWV3IGVuaGFuY2VtZW50cyBpbiAzLjMuMCBhY2NpZGVudGFsbHkgcGVybWl0dGVkCi0gIHRoZSBoYXNoaW5nIG9mIG11bHRpLWRpbWVuc2lvbmFsIG1lbW9ydmlld3MgYW5kIG1lbW9yeXZpZXdzIHdpdGggbXVsdGktYnl0ZQotICBpdGVtIGZvcm1hdHMuIFRoZSBpbnRlbmRlZCByZXN0cmljdGlvbnMgaGF2ZSBub3cgYmVlbiBkb2N1bWVudGVkIC0gdGhleQotICB3aWxsIGJlIGNvcnJlY3RseSBlbmZvcmNlZCBpbiAzLjMuMQorLSBJc3N1ZSAjMTU4MTQ6IFRoZSBtZW1vcnl2aWV3IGVuaGFuY2VtZW50cyBpbiAzLjMuMCBhY2NpZGVudGFsbHkgcGVybWl0dGVkIHRoZQorICBoYXNoaW5nIG9mIG11bHRpLWRpbWVuc2lvbmFsIG1lbW9ydmlld3MgYW5kIG1lbW9yeXZpZXdzIHdpdGggbXVsdGktYnl0ZSBpdGVtCisgIGZvcm1hdHMuIFRoZSBpbnRlbmRlZCByZXN0cmljdGlvbnMgaGF2ZSBub3cgYmVlbiBkb2N1bWVudGVkIC0gdGhleSB3aWxsIGJlCisgIGNvcnJlY3RseSBlbmZvcmNlZCBpbiAzLjMuMS4KIAogCiBXaGF0J3MgTmV3IGluIFB5dGhvbiAzLjMuMCBSZWxlYXNlIENhbmRpZGF0ZSAxPwpAQCAtMTQ0LDEzMSArMTQ2LDEyMyBAQAogLSBJc3N1ZSAjMTU1NzM6IG1lbW9yeXZpZXcgY29tcGFyaXNvbnMgYXJlIG5vdyBwZXJmb3JtZWQgYnkgdmFsdWUgd2l0aCBmdWxsCiAgIHN1cHBvcnQgZm9yIGFueSB2YWxpZCBzdHJ1Y3QgbW9kdWxlIGZvcm1hdCBkZWZpbml0aW9uLgogCi0tIElzc3VlICMxNTMxNjogV2hlbiBhbiBpdGVtIGluIHRoZSBmcm9tbGlzdCBmb3IgX19pbXBvcnRfXyBkb2Vzbid0IGV4aXN0LAorLSBJc3N1ZSAjMTUzMTY6IFdoZW4gYW4gaXRlbSBpbiB0aGUgZnJvbWxpc3QgZm9yIGBfX2ltcG9ydF9fKClgIGRvZXNuJ3QgZXhpc3QsCiAgIGRvbid0IHJhaXNlIGFuIGVycm9yLCBidXQgaWYgYW4gZXhjZXB0aW9uIGlzIHJhaXNlZCBhcyBwYXJ0IG9mIGFuIGltcG9ydCBkbwogICBsZXQgdGhhdCBwcm9wYWdhdGUuCiAKLS0gSXNzdWUgIzE1Nzc4OiBlbnN1cmUgdGhhdCBzdHIoSW1wb3J0RXJyb3IobXNnKSkgcmV0dXJucyBhIHN0cgotICBldmVuIHdoZW4gbXNnIGlzbid0IGEgc3RyLgorLSBJc3N1ZSAjMTU3Nzg6IEVuc3VyZSB0aGF0IGBgc3RyKEltcG9ydEVycm9yKG1zZykpYGAgcmV0dXJucyBhIHN0ciBldmVuIHdoZW4KKyAgbXNnIGlzbid0IGEgc3RyLgogCi0tIElzc3VlICMyMDUxOiBTb3VyY2UgZmlsZSBwZXJtaXNzaW9uIGJpdHMgYXJlIG9uY2UgYWdhaW4gY29ycmVjdGx5Ci0gIGNvcGllZCB0byB0aGUgY2FjaGVkIGJ5dGVjb2RlIGZpbGUuIChUaGUgbWlncmF0aW9uIHRvIGltcG9ydGxpYgotICByZWludHJvZHVjZWQgdGhpcyBwcm9ibGVtIGJlY2F1c2UgdGhlc2Ugd2FzIG5vIHJlZ3Jlc3Npb24gdGVzdC4gQSB0ZXN0Ci0gIGhhcyBiZWVuIGFkZGVkIGFzIHBhcnQgb2YgdGhpcyBwYXRjaCkKKy0gSXNzdWUgIzIwNTE6IFNvdXJjZSBmaWxlIHBlcm1pc3Npb24gYml0cyBhcmUgb25jZSBhZ2FpbiBjb3JyZWN0bHkgY29waWVkIHRvCisgIHRoZSBjYWNoZWQgYnl0ZWNvZGUgZmlsZS4gKFRoZSBtaWdyYXRpb24gdG8gaW1wb3J0bGliIHJlaW50cm9kdWNlZCB0aGlzCisgIHByb2JsZW0gYmVjYXVzZSB0aGVzZSB3YXMgbm8gcmVncmVzc2lvbiB0ZXN0LiBBIHRlc3QgaGFzIGJlZW4gYWRkZWQgYXMgcGFydCBvZgorICB0aGlzIHBhdGNoKQogCi0tIElzc3VlICMxNTc2MTogRml4IGNyYXNoIHdoZW4gUFlUSE9ORVhFQ1VUQUJMRSBpcyBzZXQgb24gTWFjIE9TIFguCistIElzc3VlICMxNTc2MTogRml4IGNyYXNoIHdoZW4gYGBQWVRIT05FWEVDVVRBQkxFYGAgaXMgc2V0IG9uIE1hYyBPUyBYLgogCi0tIElzc3VlICMxNTcyNjogRml4IGluY29ycmVjdCBib3VuZHMgY2hlY2tpbmcgaW4gUHlTdGF0ZV9GaW5kTW9kdWxlLgotICBQYXRjaCBieSBSb2JpbiBTY2hyZWliZXIuCistIElzc3VlICMxNTcyNjogRml4IGluY29ycmVjdCBib3VuZHMgY2hlY2tpbmcgaW4gUHlTdGF0ZV9GaW5kTW9kdWxlLiAgUGF0Y2ggYnkKKyAgUm9iaW4gU2NocmVpYmVyLgogCi0tIElzc3VlICMxNTYwNDogVXBkYXRlIHVzZXMgb2YgUHlPYmplY3RfSXNUcnVlKCkgdG8gY2hlY2sgZm9yIGFuZCBoYW5kbGUKKy0gSXNzdWUgIzE1NjA0OiBVcGRhdGUgdXNlcyBvZiBgUHlPYmplY3RfSXNUcnVlKClgIHRvIGNoZWNrIGZvciBhbmQgaGFuZGxlCiAgIGVycm9ycyBjb3JyZWN0bHkuICBQYXRjaCBieSBTZXJoaXkgU3RvcmNoYWthLgogCi0tIElzc3VlICMxNDg0NjogaW1wb3J0bGliLkZpbGVGaW5kZXIgbm93IGhhbmRsZXMgdGhlIGNhc2Ugd2hlcmUgdGhlCi0gIGRpcmVjdG9yeSBiZWluZyBzZWFyY2hlZCBpcyByZW1vdmVkIGFmdGVyIGEgcHJldmlvdXMgaW1wb3J0IGF0dGVtcHQKKy0gSXNzdWUgIzE0ODQ2OiBgaW1wb3J0bGliLkZpbGVGaW5kZXJgIG5vdyBoYW5kbGVzIHRoZSBjYXNlIHdoZXJlIHRoZSBkaXJlY3RvcnkKKyAgYmVpbmcgc2VhcmNoZWQgaXMgcmVtb3ZlZCBhZnRlciBhIHByZXZpb3VzIGltcG9ydCBhdHRlbXB0LgogCiBMaWJyYXJ5CiAtLS0tLS0tCiAKLS0gSXNzdWUgIzEzMzcwOiBFbnN1cmUgdGhhdCBjdHlwZXMgd29ya3Mgb24gTWFjIE9TIFggd2hlbiBQeXRob24gaXMKLSAgY29tcGlsZWQgdXNpbmcgdGhlIGNsYW5nIGNvbXBpbGVyCistIElzc3VlICMxMzM3MDogRW5zdXJlIHRoYXQgY3R5cGVzIHdvcmtzIG9uIE1hYyBPUyBYIHdoZW4gUHl0aG9uIGlzIGNvbXBpbGVkCisgIHVzaW5nIHRoZSBjbGFuZyBjb21waWxlci4KIAotLSBJc3N1ZSAjMTMwNzI6IFRoZSBhcnJheSBtb2R1bGUncyAndScgZm9ybWF0IGNvZGUgaXMgbm93IGRlcHJlY2F0ZWQgYW5kCi0gIHdpbGwgYmUgcmVtb3ZlZCBpbiBQeXRob24gNC4wLgorLSBJc3N1ZSAjMTMwNzI6IFRoZSBhcnJheSBtb2R1bGUncyAndScgZm9ybWF0IGNvZGUgaXMgbm93IGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUKKyAgcmVtb3ZlZCBpbiBQeXRob24gNC4wLgogCiAtIElzc3VlICMxNTU0NDogRml4IERlY2ltYWwuX19mbG9hdF9fIHRvIHdvcmsgd2l0aCBwYXlsb2FkLWNhcnJ5aW5nIE5hTnMuCiAKLS0gSXNzdWUgIzE1MjQ5OiBCeXRlc0dlbmVyYXRvciBub3cgY29ycmVjdGx5IG1hbmdsZXMgRnJvbSBsaW5lcyAod2hlbgorLSBJc3N1ZSAjMTU3NzY6IEFsbG93IHB5dmVudiB0byB3b3JrIGluIGV4aXN0aW5nIGRpcmVjdG9yeSB3aXRoIC0tY2xlYW4uCisKKy0gSXNzdWUgIzE1MjQ5OiBlbWFpbCdzIEJ5dGVzR2VuZXJhdG9yIG5vdyBjb3JyZWN0bHkgbWFuZ2xlcyBGcm9tIGxpbmVzICh3aGVuCiAgIHJlcXVlc3RlZCkgZXZlbiBpZiB0aGUgYm9keSBjb250YWlucyB1bmRlY29kYWJsZSBieXRlcy4KIAogLSBJc3N1ZSAjMTU3Nzc6IEZpeCBhIHJlZmxlYWsgaW4gX3Bvc2l4c3VicHJvY2Vzcy4KIAotLSBJc3N1ZSAjIzY2NTE5NDogVXBkYXRlIGVtYWlsLnV0aWxzLmxvY2FsdGltZSB0byB1c2UgZGF0ZXRpbWUuYXN0aW1lem9uZSBhbmQKKy0gSXNzdWUgIyM2NjUxOTQ6IFVwZGF0ZSBgZW1haWwudXRpbHMubG9jYWx0aW1lYCB0byB1c2UgZGF0ZXRpbWUuYXN0aW1lem9uZSBhbmQKICAgY29ycmVjdGx5IGhhbmRsZSBoaXN0b3JpYyBjaGFuZ2VzIGluIFVUQyBvZmZzZXRzLgogCiAtIElzc3VlICMxNTE5OTogRml4IEphdmFTY3JpcHQncyBkZWZhdWx0IE1JTUUgdHlwZSB0byBhcHBsaWNhdGlvbi9qYXZhc2NyaXB0LgogICBQYXRjaCBieSBCb2h1c2xhdiBLYWJyZGEuCiAKLS0gSXNzdWUgIzEyNjQzOiBjb2RlLkludGVyYWN0aXZlQ29uc29sZSBub3cgcmVzcGVjdHMgc3lzLmV4Y2VwdGhvb2sgd2hlbgotICBkaXNwbGF5aW5nIGV4Y2VwdGlvbnMgKFBhdGNoIGJ5IEFhcm9uIElsZXMpCistIElzc3VlICMxMjY0MzogYGNvZGUuSW50ZXJhY3RpdmVDb25zb2xlYCBub3cgcmVzcGVjdHMgYHN5cy5leGNlcHRob29rYCB3aGVuCisgIGRpc3BsYXlpbmcgZXhjZXB0aW9ucy4gIFBhdGNoIGJ5IEFhcm9uIElsZXMuCiAKLS0gSXNzdWUgIzEzNTc5OiBzdHJpbmcuRm9ybWF0dGVyIG5vdyB1bmRlcnN0YW5kcyB0aGUgJ2EnIGNvbnZlcnNpb24gc3BlY2lmaWVyLgorLSBJc3N1ZSAjMTM1Nzk6IGBzdHJpbmcuRm9ybWF0dGVyYCBub3cgdW5kZXJzdGFuZHMgdGhlICdhJyBjb252ZXJzaW9uIHNwZWNpZmllci4KIAotLSBJc3N1ZSAjMTU3OTM6IFN0YWNrIGNvcnJ1cHRpb24gaW4gc3NsLlJBTkRfZWdkKCkuCi0gIFBhdGNoIGJ5IFNlcmhpeSBTdG9yY2hha2EuCi0KLS0gSXNzdWUgIzE1NTk1OiBGaXggc3VicHJvY2Vzcy5Qb3Blbih1bml2ZXJzYWxfbmV3bGluZXM9VHJ1ZSkKLSAgZm9yIGNlcnRhaW4gbG9jYWxlcyAodXRmLTE2IGFuZCB1dGYtMzIgZmFtaWx5KS4gUGF0Y2ggYnkgQ2hyaXMgSmVyZG9uZWsuCistIElzc3VlICMxNTU5NTogRml4IGBgc3VicHJvY2Vzcy5Qb3Blbih1bml2ZXJzYWxfbmV3bGluZXM9VHJ1ZSlgYCBmb3IgY2VydGFpbgorICBsb2NhbGVzICh1dGYtMTYgYW5kIHV0Zi0zMiBmYW1pbHkpLiBQYXRjaCBieSBDaHJpcyBKZXJkb25lay4KIAogLSBJc3N1ZSAjMTU0Nzc6IEluIGNtYXRoIGFuZCBtYXRoIG1vZHVsZXMsIGFkZCB3b3JrYXJvdW5kIGZvciBwbGF0Zm9ybXMgd2hvc2UKICAgc3lzdGVtLXN1cHBsaWVkIGxvZzFwIGZ1bmN0aW9uIGRvZXNuJ3QgcmVzcGVjdCBzaWducyBvZiB6ZXJvcy4KIAotLSBJc3N1ZSAjMTU3MTU6IGltcG9ydGxpYi5fX2ltcG9ydF9fKCkgd2lsbCBzaWxlbmNlIGFuIEltcG9ydEVycm9yIHdoZW4gdGhlIHVzZQotICBvZiBmcm9tbGlzdCBsZWFkcyB0byBhIGZhaWxlZCBpbXBvcnQuCistIElzc3VlICMxNTcxNTogYGltcG9ydGxpYi5fX2ltcG9ydF9fKClgIHdpbGwgc2lsZW5jZSBhbiBJbXBvcnRFcnJvciB3aGVuIHRoZQorICB1c2Ugb2YgZnJvbWxpc3QgbGVhZHMgdG8gYSBmYWlsZWQgaW1wb3J0LgogCi0tIElzc3VlICMxNDY2OTogRml4IHBpY2tsaW5nIG9mIGNvbm5lY3Rpb25zIGFuZCBzb2NrZXRzIG9uIE1hY09TWAotICBieSBzZW5kaW5nL3JlY2VpdmluZyBhbiBhY2tub3dsZWRnbWVudCBhZnRlciBmaWxlIGRlc2NyaXB0b3IgdHJhbnNmZXIuCi0gIFRlc3RQaWNrbGluZ0Nvbm5lY3Rpb24gaGFzIGJlZW4gcmVlbmFibGVkIGZvciBNYWNPU1guCistIElzc3VlICMxNDY2OTogRml4IHBpY2tsaW5nIG9mIGNvbm5lY3Rpb25zIGFuZCBzb2NrZXRzIG9uIE1hYyBPUyBYIGJ5CisgIHNlbmRpbmcvcmVjZWl2aW5nIGFuIGFja25vd2xlZGdtZW50IGFmdGVyIGZpbGUgZGVzY3JpcHRvciB0cmFuc2Zlci4KKyAgVGVzdFBpY2tsaW5nQ29ubmVjdGlvbiBoYXMgYmVlbiByZWVuYWJsZWQgZm9yIE1hYyBPUyBYLgogCiAtIElzc3VlICMxMTA2MjogRml4IGFkZGluZyBhIG1lc3NhZ2UgZnJvbSBmaWxlIHRvIEJhYnlsIG1haWxib3guCiAKLS0gSXNzdWUgIzE1NjQ2OiBQcmV2ZW50IGVxdWl2YWxlbnQgb2YgYSBmb3JrIGJvbWIgd2hlbiB1c2luZwotICBtdWx0aXByb2Nlc3Npbmcgb24gV2luZG93cyB3aXRob3V0IHRoZSAiaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJyIKLSAgaWRpb20uCistIElzc3VlICMxNTY0NjogUHJldmVudCBlcXVpdmFsZW50IG9mIGEgZm9yayBib21iIHdoZW4gdXNpbmcgYG11bHRpcHJvY2Vzc2luZ2AKKyAgb24gV2luZG93cyB3aXRob3V0IHRoZSBgYGlmIF9fbmFtZV9fID09ICdfX21haW5fXydgYCBpZGlvbS4KIAotLSBJc3N1ZSAjMTU2Nzg6IEZpeCBJRExFIG1lbnVzIHdoZW4gc3RhcnRlZCBmcm9tIE9TIFggY29tbWFuZCBsaW5lCi0gICgzLjMuMGIyIHJlZ3Jlc3Npb24pLgorSURMRQorLS0tLQogCi1DIEFQSQotLS0tLS0KLQotRXh0ZW5zaW9uIE1vZHVsZXMKLS0tLS0tLS0tLS0tLS0tLS0tCi0KLVRvb2xzL0RlbW9zCi0tLS0tLS0tLS0tLQorLSBJc3N1ZSAjMTU2Nzg6IEZpeCBJRExFIG1lbnVzIHdoZW4gc3RhcnRlZCBmcm9tIE9TIFggY29tbWFuZCBsaW5lICgzLjMuMGIyCisgIHJlZ3Jlc3Npb24pLgogCiBEb2N1bWVudGF0aW9uCiAtLS0tLS0tLS0tLS0tCiAKLS0gSXNzdWUgIzE0Njc0OiBBZGQgYSBkaXNjdXNzaW9uIG9mIHRoZSBqc29uIG1vZHVsZSdzIHN0YW5kYXJkIGNvbXBsaWFuY2UuCistIFRvdWNoZWQgdXAgdGhlIFB5dGhvbiAyIHRvIDMgcG9ydGluZyBndWlkZS4KKworLSBJc3N1ZSAjMTQ2NzQ6IEFkZCBhIGRpc2N1c3Npb24gb2YgdGhlIGBqc29uYCBtb2R1bGUncyBzdGFuZGFyZCBjb21wbGlhbmNlLgogICBQYXRjaCBieSBDaHJpcyBSZWJlcnQuCiAKIC0gQ3JlYXRlIGEgJ0NvbmN1cnJlbnQgRXhlY3V0aW9uJyBzZWN0aW9uIGluIHRoZSBkb2NzLCBhbmQgc3BsaXQgdXAgdGhlCiAgICdPcHRpb25hbCBPcGVyYXRpbmcgU3lzdGVtIFNlcnZpY2VzJyBzZWN0aW9uIHRvIHVzZSBhIG1vcmUgdXNlci1jZW50cmljCi0gIGNsYXNzaWZpY2F0aW9uIHNjaGVtZSAoc3BsaXR0aW5nIHRoZW0gYWNyb3NzIHRoZSBuZXcgQ0Ugc2VjdGlvbiwgSVBDIGFuZAotICB0ZXh0IHByb2Nlc3NpbmcpLiBPcGVyYXRpbmcgc3lzdGVtIGxpbWl0YXRvbnMgY2FuIGJlIHJlZmxlY3RlZCB3aXRoCi0gIHRoZSBTcGhpbnggYGA6cGxhdGZvcm06YGAgdGFnLCBpdCBkb2Vzbid0IG1ha2Ugc2Vuc2UgYXMgcGFydCBvZiB0aGUgVGFibGUgb2YKLSAgQ29udGVudHMuCisgIGNsYXNzaWZpY2F0aW9uIHNjaGVtZSAoc3BsaXR0aW5nIHRoZW0gYWNyb3NzIHRoZSBuZXcgQ0Ugc2VjdGlvbiwgSVBDIGFuZCB0ZXh0CisgIHByb2Nlc3NpbmcpLiBPcGVyYXRpbmcgc3lzdGVtIGxpbWl0YXRpb25zIGNhbiBiZSByZWZsZWN0ZWQgd2l0aCB0aGUgU3BoaW54CisgIGBgOnBsYXRmb3JtOmBgIHRhZywgaXQgZG9lc24ndCBtYWtlIHNlbnNlIGFzIHBhcnQgb2YgdGhlIFRhYmxlIG9mIENvbnRlbnRzLgogCi0tIElzc3VlICM0OTY2OiBCcmluZyB0aGUgc2VxdWVuY2UgZG9jcyB1cCB0byBkYXRlIGZvciB0aGUgUHkzayB0cmFuc2l0aW9uCi0gIGFuZCB0aGUgbWFueSBsYW5ndWFnZSBlbmhhbmNlbWVudHMgc2luY2UgdGhleSB3ZXJlIG9yaWdpbmFsIHdyaXR0ZW4KKy0gSXNzdWUgIzQ5NjY6IEJyaW5nIHRoZSBzZXF1ZW5jZSBkb2NzIHVwIHRvIGRhdGUgZm9yIHRoZSBQeTNrIHRyYW5zaXRpb24gYW5kCisgIHRoZSBtYW55IGxhbmd1YWdlIGVuaGFuY2VtZW50cyBzaW5jZSB0aGV5IHdlcmUgb3JpZ2luYWwgd3JpdHRlbi4KIAogLSBUaGUgInBhdGggaW1wb3J0ZXIiIG1pc25vbWVyIGhhcyBiZWVuIHJlcGxhY2VkIHdpdGggRXJpYyBTbm93J3MKLSAgbW9yZS1hd2t3YXJkLWJ1dC1hdC1sZWFzdC1ub3Qtd3Jvbmcgc3VnZ2VzdGlvbiBvZiAicGF0aCBiYXNlZCBmaW5kZXIiIGluCi0gIHRoZSBpbXBvcnQgc3lzdGVtIHJlZmVyZW5jZSBkb2NzCisgIG1vcmUtYXdrd2FyZC1idXQtYXQtbGVhc3Qtbm90LXdyb25nIHN1Z2dlc3Rpb24gb2YgInBhdGggYmFzZWQgZmluZGVyIiBpbiB0aGUKKyAgaW1wb3J0IHN5c3RlbSByZWZlcmVuY2UgZG9jcy4KIAotLSBJc3N1ZSAjMTU2NDA6IERvY3VtZW50IGltcG9ydGxpYi5hYmMuRmluZGVyIGFzIGRlcHJlY2F0ZWQuCistIElzc3VlICMxNTY0MDogRG9jdW1lbnQgYGltcG9ydGxpYi5hYmMuRmluZGVyYCBhcyBkZXByZWNhdGVkLgogCi0tIElzc3VlICMxNTYzMDogQWRkIGFuIGV4YW1wbGUgZm9yICJjb250aW51ZSIgc3RtdCBpbiB0aGUgdHV0b3JpYWwuIFBhdGNoIGJ5CistIElzc3VlICMxNTYzMDogQWRkIGFuIGV4YW1wbGUgZm9yICJjb250aW51ZSIgc3RtdCBpbiB0aGUgdHV0b3JpYWwuICBQYXRjaCBieQogICBEYW5pZWwgRWxsaXMuCiAKIFRlc3RzCiAtLS0tLQogCiAtIElzc3VlICMxNTc0NzogWkZTIGFsd2F5cyByZXR1cm5zIEVPUE5PVFNVUFAgd2hlbiBhdHRlbXB0aW5nIHRvIHNldCB0aGUKLSAgVUZfSU1NVVRBQkxFIGZsYWcgKHZpYSBlaXRoZXIgY2hmbGFncyBvciBsY2hmbGFncyk7IHJlZmFjdG9yIGFmZmVjdGVkCi0gIHRlc3RzIGluIHRlc3RfcG9zaXgucHkgdG8gYWNjb3VudCBmb3IgdGhpcy4KKyAgVUZfSU1NVVRBQkxFIGZsYWcgKHZpYSBlaXRoZXIgY2hmbGFncyBvciBsY2hmbGFncyk7IHJlZmFjdG9yIGFmZmVjdGVkIHRlc3RzIGluCisgIHRlc3RfcG9zaXgucHkgdG8gYWNjb3VudCBmb3IgdGhpcy4KIAotLSBJc3N1ZSAjMTUyODU6IFJlZmFjdG9yIHRoZSBhcHByb2FjaCBmb3IgdGVzdGluZyBjb25uZWN0IHRpbWVvdXRzIHVzaW5nCi0gIHR3byBleHRlcm5hbCBob3N0cyB0aGF0IGhhdmUgYmVlbiBjb25maWd1cmVkIHNwZWNpZmljYWxseSBmb3IgdGhpcyB0eXBlCi0gIG9mIHRlc3QuCistIElzc3VlICMxNTI4NTogUmVmYWN0b3IgdGhlIGFwcHJvYWNoIGZvciB0ZXN0aW5nIGNvbm5lY3QgdGltZW91dHMgdXNpbmcgdHdvCisgIGV4dGVybmFsIGhvc3RzIHRoYXQgaGF2ZSBiZWVuIGNvbmZpZ3VyZWQgc3BlY2lmaWNhbGx5IGZvciB0aGlzIHR5cGUgb2YgdGVzdC4KIAotLSBJc3N1ZSAjMTU3NDM6IFJlbW92ZSB0aGUgZGVwcmVjYXRlZCBtZXRob2QgdXNhZ2UgaW4gdXJsbGliIHRlc3RzLiBQYXRjaCBieQorLSBJc3N1ZSAjMTU3NDM6IFJlbW92ZSB0aGUgZGVwcmVjYXRlZCBtZXRob2QgdXNhZ2UgaW4gYHVybGxpYmAgdGVzdHMuIFBhdGNoIGJ5CiAgIEplZmYgS251cHAuCiAKLS0gSXNzdWUgIzE1NjE1OiBBZGQgc29tZSB0ZXN0cyBmb3IgdGhlIGpzb24gbW9kdWxlJ3MgaGFuZGxpbmcgb2YgaW52YWxpZAotICBpbnB1dCBkYXRhLiAgUGF0Y2ggYnkgS3VzaGFsIERhcy4KKy0gSXNzdWUgIzE1NjE1OiBBZGQgc29tZSB0ZXN0cyBmb3IgdGhlIGBqc29uYCBtb2R1bGUncyBoYW5kbGluZyBvZiBpbnZhbGlkIGlucHV0CisgIGRhdGEuICBQYXRjaCBieSBLdXNoYWwgRGFzLgogCiBCdWlsZAogLS0tLS0KQEAgLTI3NywxMSArMjcxLDExIEBACiAKIC0gUGljayB1cCAzMi1iaXQgbGF1bmNoZXIgZnJvbSBQR08gZGlyZWN0b3J5IG9uIDY0LWJpdCBQR08gYnVpbGQuCiAKLS0gRHJvcCBQQ1xweXRob25fbnQuaCBhcyBpdCdzIG5vdCB1c2VkLiBBZGQgaW5wdXQgZGVwZW5kZW5jeSBvbiBjdXN0b20KKy0gRHJvcCBgYFBDXHB5dGhvbl9udC5oYGAgYXMgaXQncyBub3QgdXNlZC4gIEFkZCBpbnB1dCBkZXBlbmRlbmN5IG9uIGN1c3RvbQogICBidWlsZCBzdGVwLgogCi0tIElzc3VlICMxNTUxMTogRHJvcCBleHBsaWNpdCBkZXBlbmRlbmN5IG9uIHB5dGhvbnh5LmxpYiBmcm9tIF9kZWNpbWFsCi0gIGFtZDY0IGNvbmZpZ3VyYXRpb24uCistIElzc3VlICMxNTUxMTogRHJvcCBleHBsaWNpdCBkZXBlbmRlbmN5IG9uIHB5dGhvbnh5LmxpYiBmcm9tIF9kZWNpbWFsIGFtZDY0CisgIGNvbmZpZ3VyYXRpb24uCiAKIC0gQWRkIG1pc3NpbmcgUEdJL1BHTyBjb25maWd1cmF0aW9ucyBmb3IgcHl3bGF1bmNoZXIuCiAKQEAgLTI5NiwxNSArMjkwLDE1IEBACiBDb3JlIGFuZCBCdWlsdGlucwogLS0tLS0tLS0tLS0tLS0tLS0KIAotLSBJc3N1ZSAjMTU1Njg6IEZpeCB0aGUgcmV0dXJuIHZhbHVlIG9mICJ5aWVsZCBmcm9tIiB3aGVuIFN0b3BJdGVyYXRpb24gaXMKKy0gSXNzdWUgIzE1NTY4OiBGaXggdGhlIHJldHVybiB2YWx1ZSBvZiBgYHlpZWxkIGZyb21gYCB3aGVuIFN0b3BJdGVyYXRpb24gaXMKICAgcmFpc2VkIGJ5IGEgY3VzdG9tIGl0ZXJhdG9yLgogCi0tIElzc3VlICMxMzExOTogc3lzLnN0ZG91dCBhbmQgc3lzLnN0ZGVyciBhcmUgbm93IHVzaW5nICJcclxuIiBuZXdsaW5lIG9uCistIElzc3VlICMxMzExOTogYHN5cy5zdGRvdXRgIGFuZCBgc3lzLnN0ZGVycmAgYXJlIG5vdyB1c2luZyAiXHJcbiIgbmV3bGluZSBvbgogICBXaW5kb3dzLCBhcyBQeXRob24gMi4KIAogLSBJc3N1ZSAjMTU1MzQ6IEZpeCB0aGUgZmFzdC1zZWFyY2ggZnVuY3Rpb24gZm9yIG5vbi1BU0NJSSBVbmljb2RlIHN0cmluZ3MuCiAKLS0gSXNzdWUgIzE1NTA4OiBGaXggdGhlIGRvY3N0cmluZyBmb3IgX19pbXBvcnRfXyB0byBoYXZlIHRoZSBwcm9wZXIgZGVmYXVsdAorLSBJc3N1ZSAjMTU1MDg6IEZpeCB0aGUgZG9jc3RyaW5nIGZvciBgX19pbXBvcnRfXygpYCB0byBoYXZlIHRoZSBwcm9wZXIgZGVmYXVsdAogICB2YWx1ZSBvZiAwIGZvciAnbGV2ZWwnIGFuZCB0byBub3QgbWVudGlvbiBuZWdhdGl2ZSBsZXZlbHMgc2luY2UgdGhleSBhcmUgbm90CiAgIHN1cHBvcnRlZC4KIApAQCAtMzE3LDE3ICszMTEsMTcgQEAKICAgYnl0ZSBjb2RlIGZpbGVzKSBlcXVhbCBiZXR3ZWVuIDMyLWJpdCBhbmQgNjQtYml0IHN5c3RlbXMuCiAKIC0gSXNzdWUgIzE2OTIzMzU6IE1vdmUgaW5pdGlhbCBleGNlcHRpb24gYXJncyBhc3NpZ25tZW50IHRvCi0gICJCYXNlRXhjZXB0aW9uLl9fbmV3X18iIHRvIGhlbHAgcGlja2xpbmcgb2YgbmFpdmUgc3ViY2xhc3Nlcy4KKyAgYEJhc2VFeGNlcHRpb24uX19uZXdfXygpYCB0byBoZWxwIHBpY2tsaW5nIG9mIG5haXZlIHN1YmNsYXNzZXMuCiAKLS0gSXNzdWUgIzEyODM0OiBGaXggUHlCdWZmZXJfVG9Db250aWd1b3VzKCkgZm9yIG5vbi1jb250aWd1b3VzIGFycmF5cy4KKy0gSXNzdWUgIzEyODM0OiBGaXggYFB5QnVmZmVyX1RvQ29udGlndW91cygpYCBmb3Igbm9uLWNvbnRpZ3VvdXMgYXJyYXlzLgogCi0tIElzc3VlICMxNTQ1NjogRml4IGNvZGUgX19zaXplb2ZfXyBhZnRlciAjMTIzOTkgY2hhbmdlLiAgUGF0Y2ggYnkgU2VyaGl5CistIElzc3VlICMxNTQ1NjogRml4IGNvZGUgYF9fc2l6ZW9mX18oKWAgYWZ0ZXIgIzEyMzk5IGNoYW5nZS4gIFBhdGNoIGJ5IFNlcmhpeQogICBTdG9yY2hha2EuCiAKIC0gSXNzdWUgIzE1NDA0OiBSZWZsZWFrIGluIFB5TWV0aG9kT2JqZWN0IHJlcHIuCiAKLS0gSXNzdWUgIzE1Mzk0OiBBbiBpc3N1ZSBpbiBQeU1vZHVsZV9DcmVhdGUgdGhhdCBjYXVzZWQgcmVmZXJlbmNlcyB0byBiZSBsZWFrZWQKLSAgb24gc29tZSBlcnJvciBwYXRocyBoYXMgYmVlbiBmaXhlZC4gIFBhdGNoIGJ5IEp1bGlhIExhd2FsbC4KKy0gSXNzdWUgIzE1Mzk0OiBBbiBpc3N1ZSBpbiBgUHlNb2R1bGVfQ3JlYXRlKClgIHRoYXQgY2F1c2VkIHJlZmVyZW5jZXMgdG8gYmUKKyAgbGVha2VkIG9uIHNvbWUgZXJyb3IgcGF0aHMgaGFzIGJlZW4gZml4ZWQuICBQYXRjaCBieSBKdWxpYSBMYXdhbGwuCiAKIC0gSXNzdWUgIzE1MzY4OiBBbiBpc3N1ZSB0aGF0IGNhdXNlZCBieXRlY29kZSBnZW5lcmF0aW9uIHRvIGJlIG5vbi1kZXRlcm1pbmlzdGljCiAgIGhhcyBiZWVuIGZpeGVkLgpAQCAtMzM1LDcgKzMyOSw3IEBACiAtIElzc3VlICMxNTIwMjogQ29uc2lzdGVudGx5IHVzZSB0aGUgbmFtZSAiZm9sbG93X3N5bWxpbmtzIiBmb3IgbmV3IHBhcmFtZXRlcnMKICAgaW4gb3MgYW5kIHNodXRpbCBmdW5jdGlvbnMuCiAKLS0gSXNzdWUgIzE1MzE0OiBfX21haW5fXy5fX2xvYWRlcl9fIGlzIG5vdyBzZXQgY29ycmVjdGx5IGR1cmluZyBpbnRlcnByZXRlcgorLSBJc3N1ZSAjMTUzMTQ6IGBgX19tYWluX18uX19sb2FkZXJfX2BgIGlzIG5vdyBzZXQgY29ycmVjdGx5IGR1cmluZyBpbnRlcnByZXRlcgogICBzdGFydHVwLgogCiAtIElzc3VlICMxNTExMTogV2hlbiBhIG1vZHVsZSBpbXBvcnRlZCB1c2luZyAnZnJvbSBpbXBvcnQnIGhhcyBhbiBJbXBvcnRFcnJvcgpAQCAtMzUwLDU3ICszNDQsNjIgQEAKIC0gSXNzdWUgIzE1MTEwOiBGaXggdGhlIHRyYWNlYmFja3MgZ2VuZXJhdGVkIGJ5ICJpbXBvcnQgeHh4IiB0byBub3Qgc2hvdyB0aGUKICAgaW1wb3J0bGliIHN0YWNrIGZyYW1lcy4KIAorLSBJc3N1ZSAjMTYzNjk6IEdsb2JhbCBQeVR5cGVPYmplY3RzIG5vdCBpbml0aWFsaXplZCB3aXRoIFB5VHlwZV9SZWFkeSguLi4pLgorCiAtIElzc3VlICMxNTAyMDogVGhlIHByb2dyYW0gbmFtZSB1c2VkIHRvIHNlYXJjaCBmb3IgUHl0aG9uJ3MgcGF0aCBpcyBub3cKICAgInB5dGhvbjMiIHVuZGVyIFVuaXgsIG5vdCAicHl0aG9uIi4KIAotLSBJc3N1ZSAjMTUwMzM6IEZpeCB0aGUgZXhpdCBzdGF0dXMgYnVnIHdoZW4gbW9kdWxlcyBpbnZva2VkIHVzaW5nIC1tIHN3aXRoLAorLSBJc3N1ZSAjMTU4OTc6IHppcGltcG9ydC5jIGRvZXNuJ3QgY2hlY2sgcmV0dXJuIHZhbHVlIG9mIGZzZWVrKCkuCisgIFBhdGNoIGJ5IEZlbGlwZSBDcnV6LgorCistIElzc3VlICMxNTAzMzogRml4IHRoZSBleGl0IHN0YXR1cyBidWcgd2hlbiBtb2R1bGVzIGludm9rZWQgdXNpbmcgLW0gc3dpdGNoLAogICByZXR1cm4gdGhlIHByb3BlciBmYWlsdXJlIHJldHVybiB2YWx1ZSAoMSkuIFBhdGNoIGNvbnRyaWJ1dGVkIGJ5IEplZmYgS251cHAuCiAKLS0gSXNzdWUgIzE1MjI5OiBBbiBPU0Vycm9yIHN1YmNsYXNzIHdob3NlIF9faW5pdF9fIGRvZXNuJ3QgY2FsbCBiYWNrCistIElzc3VlICMxNTIyOTogQW4gYE9TRXJyb3JgIHN1YmNsYXNzIHdob3NlIF9faW5pdF9fIGRvZXNuJ3QgY2FsbCBiYWNrCiAgIE9TRXJyb3IuX19pbml0X18gY291bGQgcHJvZHVjZSBpbmNvbXBsZXRlIGluc3RhbmNlcywgbGVhZGluZyB0byBjcmFzaGVzIHdoZW4KICAgY2FsbGluZyBzdHIoKSBvbiB0aGVtLgogCi0tIElzc3VlIDE1MzA3OiBWaXJ0dWFsIGVudmlyb25tZW50cyBub3cgdXNlIHN5bWxpbmtzIHdpdGggZnJhbWV3b3JrIGJ1aWxkcyBvbgorLSBJc3N1ZSAjMTUzMDc6IFZpcnR1YWwgZW52aXJvbm1lbnRzIG5vdyB1c2Ugc3ltbGlua3Mgd2l0aCBmcmFtZXdvcmsgYnVpbGRzIG9uCiAgIE1hYyBPUyBYLCBsaWtlIG90aGVyIFBPU0lYIGJ1aWxkcy4KIAogTGlicmFyeQogLS0tLS0tLQogCi0tIElzc3VlICMxNTQyNDogQWRkIGEgX19zaXplb2ZfXyBpbXBsZW1lbnRhdGlvbiBmb3IgYXJyYXkgb2JqZWN0cy4gIFBhdGNoIGJ5CistIElzc3VlICMxNDU5MDogY29uZmlncGFyc2VyIG5vdyBjb3JyZWN0bHkgc3RyaXBzIGlubGluZSBjb21tZW50cyB3aGVuIGRlbGltaXRlcgorICBvY2N1cnMgZWFybGllciB3aXRob3V0IHByZWNlZGluZyBzcGFjZS4KKworLSBJc3N1ZSAjMTU0MjQ6IEFkZCBhIGBfX3NpemVvZl9fKClgIGltcGxlbWVudGF0aW9uIGZvciBhcnJheSBvYmplY3RzLiAgUGF0Y2ggYnkKICAgTHVkd2lnIEjDpGhuZS4KIAogLSBJc3N1ZSAjMTU1NzY6IEFsbG93IGV4dGVuc2lvbiBtb2R1bGVzIHRvIGFjdCBhcyBhIHBhY2thZ2UncyBfX2luaXRfXyBtb2R1bGUuCiAKLS0gSXNzdWUgIzE1NTAyOiBIYXZlIGltcG9ydGxpYi5pbnZhbGlkYXRlX2NhY2hlcygpIHdvcmsgb24gc3lzLm1ldGFfcGF0aCBpbnN0ZWFkCi0gIG9mIHN5cy5wYXRoX2ltcG9ydGVyX2NhY2hlLgorLSBJc3N1ZSAjMTU1MDI6IEhhdmUgYGltcG9ydGxpYi5pbnZhbGlkYXRlX2NhY2hlcygpYCB3b3JrIG9uIGBzeXMubWV0YV9wYXRoYAorICBpbnN0ZWFkIG9mIGBzeXMucGF0aF9pbXBvcnRlcl9jYWNoZWAuCiAKIC0gSXNzdWUgIzE1MTYzOiBQeWRvYyBzaG91bGRuJ3QgbGlzdCBfX2xvYWRlcl9fIGFzIG1vZHVsZSBkYXRhLgogCiAtIElzc3VlICMxNTQ3MTogRG8gbm90IHVzZSBtdXRhYmxlIG9iamVjdHMgYXMgZGVmYXVsdHMgZm9yCi0gIGltcG9ydGxpYi5fX2ltcG9ydF9fKCkuCisgIGBpbXBvcnRsaWIuX19pbXBvcnRfXygpYC4KIAogLSBJc3N1ZSAjMTU1NTk6IFRvIGF2b2lkIGEgcHJvYmxlbWF0aWMgZmFpbHVyZSBtb2RlIHdoZW4gcGFzc2VkIHRvIHRoZSBieXRlcwotICBjb25zdHJ1Y3Rvciwgb2JqZWN0cyBpbiB0aGUgaXBhZGRyZXNzIG1vZHVsZSBubyBsb25nZXIgaW1wbGVtZW50IF9faW5kZXhfXwotICAodGhleSBzdGlsbCBpbXBsZW1lbnQgX19pbnRfXyBhcyBhcHByb3ByaWF0ZSkKKyAgY29uc3RydWN0b3IsIG9iamVjdHMgaW4gdGhlIGlwYWRkcmVzcyBtb2R1bGUgbm8gbG9uZ2VyIGltcGxlbWVudCBgX19pbmRleF9fKClgCisgICh0aGV5IHN0aWxsIGltcGxlbWVudCBgX19pbnRfXygpYCBhcyBhcHByb3ByaWF0ZSkuCiAKIC0gSXNzdWUgIzE1NTQ2OiBGaXggaGFuZGxpbmcgb2YgcGF0aG9sb2dpY2FsIGlucHV0IGRhdGEgaW4gdGhlIHBlZWsoKSBhbmQKICAgcmVhZDEoKSBtZXRob2RzIG9mIHRoZSBCWjJGaWxlLCBHemlwRmlsZSBhbmQgTFpNQUZpbGUgY2xhc3Nlcy4KIAotLSBJc3N1ZSAjMTMwNTI6IEZpeCBJRExFIGNyYXNoaW5nIHdoZW4gcmVwbGFjZSBzdHJpbmcgaW4gU2VhcmNoL1JlcGxhY2UgZGlhbG9nCi0gIGVuZGVkIHdpdGggJ1wnLiBQYXRjaCBieSBSb2dlciBTZXJ3eS4KKy0gSXNzdWUgIzEyNjU1OiBJbnN0ZWFkIG9mIHJlcXVpcmluZyBhIGN1c3RvbSB0eXBlLCBgb3Muc2NoZWRfZ2V0YWZmaW5pdHkoKWAgYW5kCisgIGBvcy5zY2hlZF9zZXRhZmZpbml0eSgpYCBub3cgdXNlIHJlZ3VsYXIgc2V0cyBvZiBpbnRlZ2VycyB0byByZXByZXNlbnQgdGhlCisgIENQVXMgYSBwcm9jZXNzIGlzIHJlc3RyaWN0ZWQgdG8uCiAKLS0gSXNzdWUgIzEyNjU1OiBJbnN0ZWFkIG9mIHJlcXVpcmluZyBhIGN1c3RvbSB0eXBlLCBvcy5zY2hlZF9nZXRhZmZpbml0eSBhbmQKLSAgb3Muc2NoZWRfc2V0YWZmaW5pdHkgbm93IHVzZSByZWd1bGFyIHNldHMgb2YgaW50ZWdlcnMgdG8gcmVwcmVzZW50IHRoZSBDUFVzIGEKLSAgcHJvY2VzcyBpcyByZXN0cmljdGVkIHRvLgotCi0tIElzc3VlICMxNTUzODogRml4IGNvbXBpbGF0aW9uIG9mIHRoZSBnZXRuYW1laW5mbygpIC8gZ2V0YWRkcmluZm8oKSBlbXVsYXRpb24KLSAgY29kZS4gIFBhdGNoIGJ5IFBoaWxpcHAgSGFnZW1laXN0ZXIuCistIElzc3VlICMxNTUzODogRml4IGNvbXBpbGF0aW9uIG9mIHRoZSBgc29ja2V0LmdldG5hbWVpbmZvKClgIC8KKyAgYHNvY2tldC5nZXRhZGRyaW5mbygpYCBlbXVsYXRpb24gY29kZS4gIFBhdGNoIGJ5IFBoaWxpcHAgSGFnZW1laXN0ZXIuCiAKIC0gSXNzdWUgIzE1NTE5OiBQcm9wZXJseSBleHBvc2UgV2luZG93c1JlZ2lzdHJ5RmluZGVyIGluIGltcG9ydGxpYiAoYW5kIHVzZSB0aGUKLSAgY29ycmVjdCB0ZXJtIGZvciBpdCkuIE9yaWdpbmFsIHBhdGNoIGJ5IEVyaWMgU25vdy4KKyAgY29ycmVjdCB0ZXJtIGZvciBpdCkuICBPcmlnaW5hbCBwYXRjaCBieSBFcmljIFNub3cuCiAKIC0gSXNzdWUgIzE1NTAyOiBCcmluZyB0aGUgaW1wb3J0bGliIEFCQ3MgaW50byBsaW5lIHdpdGggdGhlIGN1cnJlbnQgc3RhdGUgb2YgdGhlCi0gIGltcG9ydCBwcm90b2NvbHMgZ2l2ZW4gUEVQIDQyMC4gT3JpZ2luYWwgcGF0Y2ggYnkgRXJpYyBTbm93LgorICBpbXBvcnQgcHJvdG9jb2xzIGdpdmVuIFBFUCA0MjAuICBPcmlnaW5hbCBwYXRjaCBieSBFcmljIFNub3cuCiAKIC0gSXNzdWUgIzE1NDk5OiBMYXVuY2hpbmcgYSB3ZWJicm93c2VyIGluIFVuaXggdXNlZCB0byBzbGVlcCBmb3IgYSBmZXcgc2Vjb25kcy4KICAgT3JpZ2luYWwgcGF0Y2ggYnkgQW50b24gQmFya292c2t5LgpAQCAtNDA4LDM3ICs0MDcsMzYgQEAKIC0gSXNzdWUgIzE1NDYzOiBUaGUgZmF1bHRoYW5kbGVyIG1vZHVsZSB0cnVuY2F0ZXMgc3RyaW5ncyB0byA1MDAgY2hhcmFjdGVycywKICAgaW5zdGVhZCBvZiAxMDAsIHRvIGJlIGFibGUgdG8gZGlzcGxheSBsb25nIGZpbGUgcGF0aHMuCiAKLS0gSXNzdWUgIzYwNTY6IE1ha2UgbXVsdGlwcm9jZXNzaW5nIHVzZSBzZXRibG9ja2luZyhUcnVlKSBvbiB0aGUgc29ja2V0cyBpdAorLSBJc3N1ZSAjNjA1NjogTWFrZSBgbXVsdGlwcm9jZXNzaW5nYCB1c2Ugc2V0YmxvY2tpbmcoVHJ1ZSkgb24gdGhlIHNvY2tldHMgaXQKICAgdXNlcy4gIE9yaWdpbmFsIHBhdGNoIGJ5IEogRGVyZWsgV2lsc29uLgogCiAtIElzc3VlICMxNTM2NDogRml4IHN5c2NvbmZpZy5nZXRfY29uZmlnX3Zhcignc3JjZGlyJykgdG8gYmUgYW4gYWJzb2x1dGUgcGF0aC4KIAotLSBJc3N1ZSAjMTUwNDE6IFVwZGF0ZSAic2VlIGFsc28iIGxpc3QgaW4gdGtpbnRlciBkb2N1bWVudGF0aW9uLgorLSBJc3N1ZSAjMTU0MTM6IGBvcy50aW1lcygpYCBoYWQgZGlzYXBwZWFyZWQgdW5kZXIgV2luZG93cy4KIAotLSBJc3N1ZSAjMTU0MTM6IG9zLnRpbWVzKCkgaGFkIGRpc2FwcGVhcmVkIHVuZGVyIFdpbmRvd3MuCi0KLS0gSXNzdWUgIzE1NDAyOiBBbiBpc3N1ZSBpbiB0aGUgc3RydWN0IG1vZHVsZSB0aGF0IGNhdXNlZCBzeXMuZ2V0c2l6ZW9mIHRvCistIElzc3VlICMxNTQwMjogQW4gaXNzdWUgaW4gdGhlIHN0cnVjdCBtb2R1bGUgdGhhdCBjYXVzZWQgYHN5cy5nZXRzaXplb2YoKWAgdG8KICAgcmV0dXJuIGluY29ycmVjdCByZXN1bHRzIGZvciBzdHJ1Y3QuU3RydWN0IGluc3RhbmNlcyBoYXMgYmVlbiBmaXhlZC4gIEluaXRpYWwKICAgcGF0Y2ggYnkgU2VyaGl5IFN0b3JjaGFrYS4KIAotLSBJc3N1ZSAjMTUyMzI6IFdoZW4gbWFuZ2xlX2Zyb20gaXMgVHJ1ZSwgZW1haWwuR2VuZXJhdG9yIG5vdyBjb3JyZWN0bHkgbWFuZ2xlcwotICBsaW5lcyB0aGF0IHN0YXJ0IHdpdGggJ0Zyb20gJyB0aGF0IG9jY3VyIGluIGEgTUlNRSBwcmVhbWJsZSBvciBlcGlsb2d1ZS4KKy0gSXNzdWUgIzE1MjMyOiBXaGVuIG1hbmdsZV9mcm9tIGlzIFRydWUsIGBlbWFpbC5HZW5lcmF0b3JgIG5vdyBjb3JyZWN0bHkKKyAgbWFuZ2xlcyBsaW5lcyB0aGF0IHN0YXJ0IHdpdGggJ0Zyb20gJyB0aGF0IG9jY3VyIGluIGEgTUlNRSBwcmVhbWJsZSBvcgorICBlcGlsb2d1ZS4KIAogLSBJc3N1ZSAjMTUwOTQ6IEluY29ycmVjdGx5IHBsYWNlZCAjZW5kaWYgaW4gX3RraW50ZXIuYy4gIFBhdGNoIGJ5IFNlcmhpeQogICBTdG9yY2hha2EuCiAKLS0gSXNzdWUgIzEzOTIyOiBhcmdwYXJzZSBubyBsb25nZXIgaW5jb3JyZWN0bHkgc3RyaXBzICctLSdzIHRoYXQgYXBwZWFyIGFmdGVyCistIElzc3VlICMxMzkyMjogYGFyZ3BhcnNlYCBubyBsb25nZXIgaW5jb3JyZWN0bHkgc3RyaXBzICctLSdzIHRoYXQgYXBwZWFyIGFmdGVyCiAgIHRoZSBmaXJzdCBvbmUuCiAKLS0gSXNzdWUgIzEyMzUzOiBhcmdwYXJzZSBub3cgY29ycmVjdGx5IGhhbmRsZXMgbnVsbCBhcmd1bWVudCB2YWx1ZXMuCistIElzc3VlICMxMjM1MzogYGFyZ3BhcnNlYCBub3cgY29ycmVjdGx5IGhhbmRsZXMgbnVsbCBhcmd1bWVudCB2YWx1ZXMuCiAKIC0gSXNzdWUgIzEwMDE3LCBpc3N1ZSAjMTQ5OTg6IEZpeCBUeXBlRXJyb3IgdXNpbmcgcHByaW50IG9uIGRpY3Rpb25hcmllcyB3aXRoCiAgIHVzZXItZGVmaW5lZCB0eXBlcyBhcyBrZXlzIG9yIG90aGVyIHVub3JkZXJhYmxlIGtleXMuCiAKLS0gSXNzdWUgIzE1Mzk3OiBpbnNwZWN0LmdldG1vZHVsZW5hbWUoKSBpcyBub3cgYmFzZWQgZGlyZWN0bHkgb24gaW1wb3J0bGliIHZpYSBhCi0gIG5ldyBpbXBvcnRsaWIubWFjaGluZXJ5LmFsbF9zdWZmaXhlcygpIEFQSS4KKy0gSXNzdWUgIzE1Mzk3OiBgaW5zcGVjdC5nZXRtb2R1bGVuYW1lKClgIGlzIG5vdyBiYXNlZCBkaXJlY3RseSBvbiBpbXBvcnRsaWIgdmlhCisgIGEgbmV3IGBpbXBvcnRsaWIubWFjaGluZXJ5LmFsbF9zdWZmaXhlcygpYCBBUEkuCiAKLS0gSXNzdWUgIzE0NjM1OiB0ZWxuZXRsaWIgd2lsbCB1c2UgcG9sbCgpIHJhdGhlciB0aGFuIHNlbGVjdCgpIHdoZW4gcG9zc2libGUgdG8KKy0gSXNzdWUgIzE0NjM1OiBgdGVsbmV0bGliYCB3aWxsIHVzZSBwb2xsKCkgcmF0aGVyIHRoYW4gc2VsZWN0KCkgd2hlbiBwb3NzaWJsZSB0bwogICBhdm9pZCBmYWlsaW5nIGR1ZSB0byB0aGUgc2VsZWN0KCkgZmlsZSBkZXNjcmlwdG9yIGxpbWl0LgogCiAtIElzc3VlICMxNTE4MDogQ2xhcmlmeSBwb3NpeHBhdGguam9pbigpIGVycm9yIG1lc3NhZ2Ugd2hlbiBtaXhpbmcgc3RyICYgYnl0ZXMuCkBAIC00NTUsNyArNDUzLDcgQEAKIC0gSXNzdWUgIzE1MjMzOiBQeXRob24gbm93IGd1YXJhbnRlZXMgdGhhdCBjYWxsYWJsZXMgcmVnaXN0ZXJlZCB3aXRoIHRoZSBhdGV4aXQKICAgbW9kdWxlIHdpbGwgYmUgY2FsbGVkIGluIGEgZGV0ZXJtaW5pc3RpYyBvcmRlci4KIAotLSBJc3N1ZSAjMTUyMzg6IHNodXRpbC5jb3B5c3RhdCBub3cgY29waWVzIExpbnV4ICJleHRlbmRlZCBhdHRyaWJ1dGVzIi4KKy0gSXNzdWUgIzE1MjM4OiBgc2h1dGlsLmNvcHlzdGF0KClgIG5vdyBjb3BpZXMgTGludXggImV4dGVuZGVkIGF0dHJpYnV0ZXMiLgogCiAtIElzc3VlICMxNTIzMDogcnVucHkucnVuX3BhdGggbm93IGNvcnJlY3RseSBzZXRzIF9fcGFja2FnZV9fIGFzIGRlc2NyaWJlZCBpbgogICB0aGUgZG9jdW1lbnRhdGlvbi4KQEAgLTQ2NSw0MiArNDYzLDQyIEBACiAtIElzc3VlICMxNTI5NDogRml4IGEgcmVncmVzc2lvbiBpbiBwa2d1dGlsLmV4dGVuZF9wYXRoKCkncyBoYW5kbGluZyBvZiBuZXN0ZWQKICAgbmFtZXNwYWNlIHBhY2thZ2VzLgogCi0tIElzc3VlICMxNTA1NjogaW1wLmNhY2hlX2Zyb21fc291cmNlKCkgYW5kIHNvdXJjZV9mcm9tX2NhY2hlKCkgcmFpc2UKLSAgTm90SW1wbGVtZW50ZWRFcnJvciB3aGVuIHN5cy5pbXBsZW1lbnRhdGlvbi5jYWNoZV90YWcgaXMgc2V0IHRvIE5vbmUuCistIElzc3VlICMxNTA1NjogYGltcC5jYWNoZV9mcm9tX3NvdXJjZSgpYCBhbmQgYGltcC5zb3VyY2VfZnJvbV9jYWNoZSgpYCByYWlzZQorICBOb3RJbXBsZW1lbnRlZEVycm9yIHdoZW4gYHN5cy5pbXBsZW1lbnRhdGlvbi5jYWNoZV90YWdgIGlzIHNldCB0byBOb25lLgogCi0tIElzc3VlICMxNTI1NjogR3JhbW1hdGljYWwgbWlzdGFrZSBpbiBleGNlcHRpb24gcmFpc2VkIGJ5IGltcC5maW5kX21vZHVsZSgpLgorLSBJc3N1ZSAjMTUyNTY6IEdyYW1tYXRpY2FsIG1pc3Rha2UgaW4gZXhjZXB0aW9uIHJhaXNlZCBieSBgaW1wLmZpbmRfbW9kdWxlKClgLgogCi0tIElzc3VlICM1OTMxOiB3c2dpcmVmIGVudmlyb24gdmFyaWFibGUgU0VSVkVSX1NPRlRXQVJFIHdpbGwgc3BlY2lmeSBhbgorLSBJc3N1ZSAjNTkzMTogYHdzZ2lyZWZgIGVudmlyb24gdmFyaWFibGUgU0VSVkVSX1NPRlRXQVJFIHdpbGwgc3BlY2lmeSBhbgogICBpbXBsZW1lbnRhdGlvbiBzcGVjaWZpYyB0ZXJtIGxpa2UgQ1B5dGhvbiwgSnl0aG9uIGluc3RlYWQgb2YgZ2VuZXJpYyAiUHl0aG9uIi4KIAogLSBJc3N1ZSAjMTMyNDg6IFJlbW92ZSBvYnNvbGV0ZSBhcmd1bWVudCAibWF4X2J1ZmZlcl9zaXplIiBvZiBCdWZmZXJlZFdyaXRlciBhbmQKICAgQnVmZmVyZWRSV1BhaXIsIGZyb20gdGhlIGlvIG1vZHVsZS4KIAotLSBJc3N1ZSAjMTMyNDg6IFJlbW92ZSBvYnNvbGV0ZSBhcmd1bWVudCAidmVyc2lvbiIgb2YgYXJncGFyc2UuQXJndW1lbnRQYXJzZXIuCistIElzc3VlICMxMzI0ODogUmVtb3ZlIG9ic29sZXRlIGFyZ3VtZW50ICJ2ZXJzaW9uIiBvZiBgYXJncGFyc2UuQXJndW1lbnRQYXJzZXJgLgogCiAtIElzc3VlICMxNDgxNDogSW1wbGVtZW50IG1vcmUgY29uc2lzdGVudCBvcmRlcmluZyBhbmQgc29ydGluZyBiZWhhdmlvdXIgZm9yCiAgIGlwYWRkcmVzcyBvYmplY3RzLgogCi0tIElzc3VlICMxNDgxNDogaXBhZGRyZXNzIG5ldHdvcmsgb2JqZWN0cyBjb3JyZWN0bHkgcmV0dXJuIE5vdEltcGxlbWVudGVkIHdoZW4KKy0gSXNzdWUgIzE0ODE0OiBgaXBhZGRyZXNzYCBuZXR3b3JrIG9iamVjdHMgY29ycmVjdGx5IHJldHVybiBOb3RJbXBsZW1lbnRlZCB3aGVuCiAgIGNvbXBhcmVkIHRvIGFyYml0cmFyeSBvYmplY3RzIGluc3RlYWQgb2YgcmFpc2luZyBUeXBlRXJyb3IuCiAKIC0gSXNzdWUgIzE0OTkwOiBDb3JyZWN0bHkgZmFpbCB3aXRoIFN5bnRheEVycm9yIG9uIGludmFsaWQgZW5jb2RpbmcgZGVjbGFyYXRpb24uCiAKLS0gSXNzdWUgIzE0ODE0OiBpcGFkZHJlc3Mgbm93IHByb3ZpZGVzIG1vcmUgaW5mb3JtYXRpdmUgZXJyb3IgbWVzc2FnZXMgd2hlbgorLSBJc3N1ZSAjMTQ4MTQ6IGBpcGFkZHJlc3NgIG5vdyBwcm92aWRlcyBtb3JlIGluZm9ybWF0aXZlIGVycm9yIG1lc3NhZ2VzIHdoZW4KICAgY29uc3RydWN0aW5nIGluc3RhbmNlcyBkaXJlY3RseSAoY2hhbmdlcyBwZXJtaXR0ZWQgZHVyaW5nIGJldGEgZHVlIHRvCiAgIHByb3Zpc2lvbmFsIEFQSSBzdGF0dXMpLgogCi0tIElzc3VlICMxNTI0NzogRmlsZUlPIG5vdyByYWlzZXMgYW4gZXJyb3Igd2hlbiBnaXZlbiBhIGZpbGUgZGVzY3JpcHRvciBwb2ludGluZwotICB0byBhIGRpcmVjdG9yeS4KKy0gSXNzdWUgIzE1MjQ3OiBgaW8uRmlsZUlPYCBub3cgcmFpc2VzIGFuIGVycm9yIHdoZW4gZ2l2ZW4gYSBmaWxlIGRlc2NyaXB0b3IKKyAgcG9pbnRpbmcgdG8gYSBkaXJlY3RvcnkuCiAKIC0gSXNzdWUgIzE1MjYxOiBTdG9wIG9zLnN0YXQoZmQpIGNyYXNoaW5nIG9uIFdpbmRvd3Mgd2hlbiBmZCBub3Qgb3Blbi4KIAotLSBJc3N1ZSAjMTUxNjY6IEltcGxlbWVudCBpbXAuZ2V0X3RhZygpIHVzaW5nIHN5cy5pbXBsZW1lbnRhdGlvbi5jYWNoZV90YWcuCistIElzc3VlICMxNTE2NjogSW1wbGVtZW50IGBpbXAuZ2V0X3RhZygpYCB1c2luZyBgc3lzLmltcGxlbWVudGF0aW9uLmNhY2hlX3RhZ2AuCiAKLS0gSXNzdWUgIzE1MjEwOiBDYXRjaCBLZXlFcnJvciB3aGVuIGltcG9ydGxpYi5fX2luaXRfXyBjYW4ndCBmaW5kCistIElzc3VlICMxNTIxMDogQ2F0Y2ggS2V5RXJyb3Igd2hlbiBgaW1wb3J0bGliLl9faW5pdF9fKClgIGNhbid0IGZpbmQKICAgX2Zyb3plbl9pbXBvcnRsaWIgaW4gc3lzLm1vZHVsZXMsIG5vdCBJbXBvcnRFcnJvci4KIAotLSBJc3N1ZSAjMTUwMzA6IGltcG9ydGxpYi5hYmMuUHlQeWNMb2FkZXIgbm93IHN1cHBvcnRzIHRoZSBuZXcgc291cmNlIHNpemUKKy0gSXNzdWUgIzE1MDMwOiBgaW1wb3J0bGliLmFiYy5QeVB5Y0xvYWRlcmAgbm93IHN1cHBvcnRzIHRoZSBuZXcgc291cmNlIHNpemUKICAgaGVhZGVyIGZpZWxkIGluIC5weWMgZmlsZXMuCiAKIC0gSXNzdWUgIzUzNDY6IFByZXNlcnZlIHBlcm1pc3Npb25zIG9mIG1ib3gsIE1NREYgYW5kIEJhYnlsIG1haWxib3ggZmlsZXMgb24KQEAgLTUxMyw3ICs1MTEsNyBAQAogICByZW5hbWVkIG92ZXIgdGhlIG9sZCBmaWxlIHdoZW4gZmx1c2goKSBpcyBjYWxsZWQgb24gYW4gbWJveCwgTU1ERiBvciBCYWJ5bAogICBtYWlsYm94LgogCi0tIElzc3VlIDEwOTI0OiBGaXhlZCBjcnlwdC5ta3NhbHQoKSB0byB1c2UgYSBSTkcgdGhhdCBpcyBzdWl0YWJsZSBmb3IKKy0gSXNzdWUgIzEwOTI0OiBGaXhlZCBgY3J5cHQubWtzYWx0KClgIHRvIHVzZSBhIFJORyB0aGF0IGlzIHN1aXRhYmxlIGZvcgogICBjcnlwdG9ncmFwaGljIHB1cnBvc2UuCiAKIC0gSXNzdWUgIzE1MTg0OiBFbnN1cmUgY29uc2lzdGVudCByZXN1bHRzIG9mIE9TIFggY29uZmlndXJhdGlvbiB0YWlsb3JpbmcgZm9yCkBAIC01MjQsMTAgKzUyMiwxMCBAQAogQyBBUEkKIC0tLS0tCiAKLS0gSXNzdWUgIzE1NjEwOiBQeUltcG9ydF9JbXBvcnRNb2R1bGVFeCgpIG5vdyB1c2VzIGEgJ2xldmVsJyBvZiAwIGluc3RlYWQgb2YgLTEuCistIElzc3VlICMxNTYxMDogYFB5SW1wb3J0X0ltcG9ydE1vZHVsZUV4KClgIG5vdyB1c2VzIGEgJ2xldmVsJyBvZiAwIGluc3RlYWQgb2YgLTEuCiAKLS0gSXNzdWVzICMxNTE2OSwgIzE0NTk5OiBTdHJpcCBvdXQgdGhlIEMgaW1wbGVtZW50YXRpb24gb2YKLSAgaW1wLnNvdXJjZV9mcm9tX2NhY2hlKCkgdXNlZCBieSBQeUltcG9ydF9FeGVjQ29kZU1vZHVsZVdpdGhQYXRobmFtZXMoKSBhbmQKKy0gSXNzdWUgIzE1MTY5LCBpc3N1ZSAjMTQ1OTk6IFN0cmlwIG91dCB0aGUgQyBpbXBsZW1lbnRhdGlvbiBvZgorICBgaW1wLnNvdXJjZV9mcm9tX2NhY2hlKClgIHVzZWQgYnkgUHlJbXBvcnRfRXhlY0NvZGVNb2R1bGVXaXRoUGF0aG5hbWVzKCkgYW5kCiAgIHVzZWQgdGhlIFB5dGhvbiBjb2RlIGluc3RlYWQuIExlYWRzIHRvIFB5SW1wb3J0X0V4ZWNDb2RlTW9kdWxlT2JqZWN0KCkgdG8gbm90CiAgIHRyeSB0byBpbmZlciB0aGUgc291cmNlIHBhdGggZnJvbSB0aGUgYnl0ZWNvZGUgcGF0aCBhcwogICBQeUltcG9ydF9FeGVjQ29kZU1vZHVsZVdpdGhQYXRobmFtZXMoKSBkb2VzLgpAQCAtNTM1LDE0ICs1MzMsMTcgQEAKIEV4dGVuc2lvbiBNb2R1bGVzCiAtLS0tLS0tLS0tLS0tLS0tLQogCi0tIElzc3VlICMxNTY3NjogTm93ICJtbWFwIiBjaGVjayBmb3IgZW1wdHkgZmlsZXMgYmVmb3JlIGRvaW5nIHRoZQotICBvZmZzZXQgY2hlY2suICBQYXRjaCBieSBTdGV2ZW4gV2lsbGlzLgotCi0tIElzc3VlICM2NDkzOiBBbiBpc3N1ZSBpbiBjdHlwZXMgb24gV2luZG93cyB0aGF0IGNhdXNlZCBzdHJ1Y3R1cmUgYml0ZmllbGRzCi0gIG9mIHR5cGUgY3R5cGVzLmNfdWludDMyIGFuZCB3aWR0aCAzMiB0byBpbmNvcnJlY3RseSBiZSBzZXQgaGFzIGJlZW4gZml4ZWQuCistIElzc3VlICM2NDkzOiBBbiBpc3N1ZSBpbiBjdHlwZXMgb24gV2luZG93cyB0aGF0IGNhdXNlZCBzdHJ1Y3R1cmUgYml0ZmllbGRzIG9mCisgIHR5cGUgYGN0eXBlcy5jX3VpbnQzMmAgYW5kIHdpZHRoIDMyIHRvIGluY29ycmVjdGx5IGJlIHNldCBoYXMgYmVlbiBmaXhlZC4KIAogLSBJc3N1ZSAjMTUxOTQ6IFVwZGF0ZSBsaWJmZmkgdG8gdGhlIDMuMC4xMSByZWxlYXNlLgogCitJRExFCistLS0tCisKKy0gSXNzdWUgIzEzMDUyOiBGaXggSURMRSBjcmFzaGluZyB3aGVuIHJlcGxhY2Ugc3RyaW5nIGluIFNlYXJjaC9SZXBsYWNlIGRpYWxvZworICBlbmRlZCB3aXRoIGBgXGBgLiAgUGF0Y2ggYnkgUm9nZXIgU2Vyd3kuCisKIFRvb2xzL0RlbW9zCiAtLS0tLS0tLS0tLQogCkBAIC01NjIsOCArNTYzLDEwIEBACiBEb2N1bWVudGF0aW9uCiAtLS0tLS0tLS0tLS0tCiAKLS0gSXNzdWUgIzE1NDQ0OiBVc2UgcHJvcGVyIHNwZWxsaW5nIGZvciBub24tQVNDSUkgY29udHJpYnV0b3IgbmFtZXMuICBQYXRjaAotICBieSBTZXJoaXkgU3RvcmNoYWthLgorLSBJc3N1ZSAjMTUwNDE6IFVwZGF0ZSAic2VlIGFsc28iIGxpc3QgaW4gdGtpbnRlciBkb2N1bWVudGF0aW9uLgorCistIElzc3VlICMxNTQ0NDogVXNlIHByb3BlciBzcGVsbGluZyBmb3Igbm9uLUFTQ0lJIGNvbnRyaWJ1dG9yIG5hbWVzLiAgUGF0Y2ggYnkKKyAgU2VyaGl5IFN0b3JjaGFrYS4KIAogLSBJc3N1ZSAjMTUyOTU6IFJlb3JnYW5pemUgYW5kIHJld3JpdGUgdGhlIGRvY3VtZW50YXRpb24gb24gdGhlIGltcG9ydCBzeXN0ZW0uCiAKQEAgLTU3OCwyNSArNTgxLDI5IEBACiAgICJjaGFuZ2VkIiBzaW5jZSB0aGV5IHdpbGwgbm8gbG9uZ2VyIHdvcmsgd2l0aCBtb2R1bGVzIGRpcmVjdGx5IGltcG9ydGVkIGJ5CiAgIGltcG9ydCBpdHNlbGYuCiAKLS0gSXNzdWUgIzEzNTU3OiBDbGFyaWZ5IGVmZmVjdCBvZiBnaXZpbmcgdHdvIGRpZmZlcmVudCBuYW1lc3BhY2VzIHRvIGV4ZWMgb3IKLSAgZXhlY2ZpbGUoKS4KKy0gSXNzdWUgIzEzNTU3OiBDbGFyaWZ5IGVmZmVjdCBvZiBnaXZpbmcgdHdvIGRpZmZlcmVudCBuYW1lc3BhY2VzIHRvIGBleGVjKClgIG9yCisgIGBleGVjZmlsZSgpYC4KIAotLSBJc3N1ZSAjMTUyNTA6IERvY3VtZW50IHRoYXQgZmlsZWNtcC5kaXJjbXAgY29tcGFyZXMgZmlsZXMgc2hhbGxvd2x5LiBQYXRjaAorLSBJc3N1ZSAjMTUyNTA6IERvY3VtZW50IHRoYXQgYGZpbGVjbXAuZGlyY21wKClgIGNvbXBhcmVzIGZpbGVzIHNoYWxsb3dseS4gUGF0Y2gKICAgY29udHJpYnV0ZWQgYnkgQ2hyaXMgSmVyZG9uZWsuCiAKKy0gSXNzdWUgIzE1NDQyOiBFeHBvc2UgdGhlIGRlZmF1bHQgbGlzdCBvZiBkaXJlY3RvcmllcyBpZ25vcmVkIGJ5CisgIGBmaWxlY21wLmRpcmNtcCgpYCBhcyBhIG1vZHVsZSBhdHRyaWJ1dGUsIGFuZCBleHBhbmQgdGhlIGxpc3QgdG8gbW9yZSBtb2Rlcm4KKyAgdmFsdWVzLgorCiBUZXN0cwogLS0tLS0KIAotLSBJc3N1ZSAjMTU0Njc6IE1vdmUgaGVscGVycyBmb3IgX19zaXplb2ZfXyB0ZXN0cyBpbnRvIHRlc3Rfc3VwcG9ydC4gIFBhdGNoIGJ5Ci0gIFNlcmhpeSBTdG9yY2hha2EuCistIElzc3VlICMxNTQ2NzogTW92ZSBoZWxwZXJzIGZvciBgX19zaXplb2ZfXygpYCB0ZXN0cyBpbnRvIHRlc3Rfc3VwcG9ydC4gIFBhdGNoCisgIGJ5IFNlcmhpeSBTdG9yY2hha2EuCiAKIC0gSXNzdWUgIzE1MzIwOiBNYWtlIGl0ZXJhdGluZyB0aGUgbGlzdCBvZiB0ZXN0cyB0aHJlYWQtc2FmZSB3aGVuIHJ1bm5pbmcgdGVzdHMKICAgaW4gbXVsdGlwcm9jZXNzIG1vZGUuIFBhdGNoIGJ5IENocmlzIEplcmRvbmVrLgogCi0tIElzc3VlICMxNTE2ODogTW92ZSBpbXBvcnRsaWIudGVzdCB0byB0ZXN0LnRlc3RfaW1wb3J0bGliLgorLSBJc3N1ZSAjMTUxNjg6IE1vdmUgYGltcG9ydGxpYi50ZXN0YCB0byBgdGVzdC50ZXN0X2ltcG9ydGxpYmAuCiAKIC0gSXNzdWUgIzE1MDkxOiBSZWFjdGl2YXRlIGEgdGVzdCBvbiBVTklYIHdoaWNoIHdhcyBmYWlsaW5nIHRoYW5rcyB0byBhCi0gIGZvcmdvdHRlbiBpbXBvcnRsaWIuaW52YWxpZGF0ZV9jYWNoZXMoKSBjYWxsLgorICBmb3Jnb3R0ZW4gYGltcG9ydGxpYi5pbnZhbGlkYXRlX2NhY2hlcygpYCBjYWxsLgogCiAtIElzc3VlICMxNTIzMDogQWRvcHRlZCBhIG1vcmUgc3lzdGVtYXRpYyBhcHByb2FjaCBpbiB0aGUgcnVucHkgdGVzdHMuCiAKQEAgLTYyOSw2ICs2MzYsOCBAQAogCiAtIElzc3VlICMxNDAxODogRml4IE9TIFggVGNsL1RrIGZyYW1ld29yayBjaGVja2luZyB3aGVuIHVzaW5nIE9TIFggU0RLcy4KIAorLSBJc3N1ZSAjMTYyNTY6IE9TIFggaW5zdGFsbGVyIG5vdyBzZXRzIGNvcnJlY3QgcGVybWlzc2lvbnMgZm9yIGRvYyBkaXJlY3RvcnkuCisKIC0gSXNzdWUgIzE1NDMxOiBBZGQgX2ZyZWV6ZV9pbXBvcnRsaWIgcHJvamVjdCB0byByZWdlbmVyYXRlIGltcG9ydGxpYi5oIG9uCiAgIFdpbmRvd3MuIFBhdGNoIGJ5IEtyaXN0asOhbiBWYWx1ciBKw7Nuc3Nvbi4KIApAQCAtNjY0LDE0ICs2NzMsOSBAQAogCiAtIElzc3VlICMxMTYyNjogQWRkIF9TaXplVCBmdW5jdGlvbnMgdG8gc3RhYmxlIEFCSS4KIAotLSBJc3N1ZSAjMTUxNDY6IEFkZCBQeVR5cGVfRnJvbVNwZWNXaXRoQmFzZXMuIFBhdGNoIGJ5IFJvYmluIFNjaHJlaWJlci4KLQogLSBJc3N1ZSAjMTUxNDI6IEZpeCByZWZlcmVuY2UgbGVhayB3aGVuIGRlYWxsb2NhdGluZyBpbnN0YW5jZXMgb2YgdHlwZXMKICAgY3JlYXRlZCB1c2luZyBQeVR5cGVfRnJvbVNwZWMoKS4KIAotLSBJc3N1ZSAjMTUwNDI6IEFkZCBQeVN0YXRlX0FkZE1vZHVsZSBhbmQgUHlTdGF0ZV9SZW1vdmVNb2R1bGUuIEFkZCB2ZXJzaW9uCi0gIGd1YXJkIGZvciBQeV9MSU1JVEVEX0FQSSBhZGRpdGlvbnMuIFBhdGNoIGJ5IFJvYmluIFNjaHJlaWJlci4KLQogLSBJc3N1ZSAjMTAwNTM6IERvbid0IGNsb3NlIEZEcyB3aGVuIEZpbGVJTy5fX2luaXRfXyBmYWlscy4gTG9vc2VseSBiYXNlZCBvbgogICB0aGUgd29yayBieSBIaXJva2F6dSBZYW1hbW90by4KIApAQCAtNjk5LDkgKzcwMyw2IEBACiBMaWJyYXJ5CiAtLS0tLS0tCiAKLS0gSXNzdWUgIzk4MDM6IERvbid0IGNsb3NlIElETEUgb24gc2F2aW5nIGlmIGJyZWFrcG9pbnQgaXMgb3Blbi4KLSAgUGF0Y2ggYnkgUm9nZXIgU2Vyd3kuCi0KIC0gSXNzdWUgIzEyMjg4OiBDb25zaWRlciAnMCcgYW5kICcwLjAnIGFzIHZhbGlkIGluaXRpYWx2YWx1ZQogICBmb3IgdGtpbnRlciBTaW1wbGVEaWFsb2cuCiAKQEAgLTcyMCwxNCArNzIxLDggQEAKIC0gSXNzdWUgIzE1NTE0OiBDb3JyZWN0IF9fc2l6ZW9mX18gc3VwcG9ydCBmb3IgY3B1X3NldC4KICAgUGF0Y2ggYnkgU2VyaGl5IFN0b3JjaGFrYS4KIAotLSBJc3N1ZSAjMTUxODc6IEJ1Z2ZpeDogcmVtb3ZlIHRlbXBvcmFyeSBkaXJlY3RvcmllcyB0ZXN0X3NodXRpbCB3YXMgbGVhdmluZwotICBiZWhpbmQuCi0KIC0gSXNzdWUgIzE1MTc3OiBBZGRlZCBkaXJfZmQgcGFyYW1ldGVyIHRvIG9zLmZ3YWxrKCkuCiAKLS0gSXNzdWUgIzE1MTc2OiBDbGFyaWZpZWQgYmVoYXZpb3IsIGRvY3VtZW50YXRpb24sIGFuZCBpbXBsZW1lbnRhdGlvbgotICBvZiBvcy5saXN0ZGlyKCkuCi0KIC0gSXNzdWUgIzE1MDYxOiBSZS1pbXBsZW1lbnRlZCBobWFjLmNvbXBhcmVfZGlnZXN0KCkgaW4gQyB0byBwcmV2ZW50IGZ1cnRoZXIKICAgdGltaW5nIGFuYWx5c2lzIGFuZCB0byBzdXBwb3J0IGFsbCBidWZmZXIgcHJvdG9jb2wgYXdhcmUgb2JqZWN0cyBhcyB3ZWxsIGFzCiAgIEFTQ0lJIG9ubHkgc3RyIGluc3RhbmNlcyBzYWZlbHkuCkBAIC04MjcsMTAgKzgyMiw2IEBACiAtIElzc3VlICMxNTAwNjogQWxsb3cgZXF1YWxpdHkgY29tcGFyaXNvbiBiZXR3ZWVuIG5haXZlIGFuZCBhd2FyZQogICB0aW1lIG9yIGRhdGV0aW1lIG9iamVjdHMuCiAKLS0gSXNzdWUgIzE0OTgyOiBEb2N1bWVudCB0aGF0IHBrZ3V0aWwncyBpdGVyYXRpb24gZnVuY3Rpb25zIHJlcXVpcmUgdGhlCi0gIG5vbi1zdGFuZGFyZCBpdGVyX21vZHVsZXMoKSBtZXRob2QgdG8gYmUgZGVmaW5lZCBieSBhbiBpbXBvcnRlciAoc29tZXRoaW5nCi0gIHRoZSBpbXBvcnRsaWIgaW1wb3J0ZXJzIGRvIG5vdCBkZWZpbmUpLgotCiAtIElzc3VlICMxNTAzNjogTWFpbGJveCBubyBsb25nZXIgdGhyb3dzIGFuIGVycm9yIGlmIGEgZmx1c2ggaXMgZG9uZQogICBiZXR3ZWVuIG9wZXJhdGlvbnMgd2hlbiByZW1vdmluZyBvciBjaGFuZ2luZyBtdWx0aXBsZSBpdGVtcyBpbiBtYm94LAogICBNTURGLCBvciBCYWJ5bCBtYWlsYm94ZXMuCkBAIC04OTgsOSArODg5LDYgQEAKIAogLSBJc3N1ZSAjMTQ5Njk6IEJldHRlciBoYW5kbGluZyBvZiBleGNlcHRpb24gY2hhaW5pbmcgaW4gY29udGV4dGxpYi5FeGl0U3RhY2sKIAotLSBJc3N1ZSAjMTQ5NjI6IFVwZGF0ZSB0ZXh0IGNvbG9yaW5nIGluIElETEUgc2hlbGwgd2luZG93IGFmdGVyIGNoYW5naW5nCi0gIG9wdGlvbnMuICBQYXRjaCBieSBSb2dlciBTZXJ3eS4KLQogLSBJc3N1ZSAjMTQ5NjM6IENvbnZlcnQgY29udGV4dGxpYi5FeGl0U3RhY2suX19leGl0X18gdG8gdXNlIGFuIGl0ZXJhdGl2ZQogICBhbGdvcml0aG0gKFBhdGNoIGJ5IEFsb24gSG9yZXYpCiAKQEAgLTkxMyw2ICs5MDEsMTEgQEAKIEMtQVBJCiAtLS0tLQogCistIElzc3VlICMxNTE0NjogQWRkIFB5VHlwZV9Gcm9tU3BlY1dpdGhCYXNlcy4gUGF0Y2ggYnkgUm9iaW4gU2NocmVpYmVyLgorCistIElzc3VlICMxNTA0MjogQWRkIFB5U3RhdGVfQWRkTW9kdWxlIGFuZCBQeVN0YXRlX1JlbW92ZU1vZHVsZS4gQWRkIHZlcnNpb24KKyAgZ3VhcmQgZm9yIFB5X0xJTUlURURfQVBJIGFkZGl0aW9ucy4gUGF0Y2ggYnkgUm9iaW4gU2NocmVpYmVyLgorCiAtIElzc3VlICMxMzc4MzogSW5hZHZlcnRlbnQgYWRkaXRpb25zIHRvIHRoZSBwdWJsaWMgQyBBUEkgaW4gdGhlIFBFUCAzODAKICAgaW1wbGVtZW50YXRpb24gaGF2ZSBlaXRoZXIgYmVlbiByZW1vdmVkIG9yIG1hcmtlZCBhcyBwcml2YXRlIGludGVyZmFjZXMuCiAKQEAgLTkyMSw5ICs5MTQsMjUgQEAKIAogLSBJc3N1ZSAjMTUwMDA6IFN1cHBvcnQgdGhlICJ1bmlxdWUiIHgzMiBhcmNoaXRlY3R1cmUgaW4gX3Bvc2l4c3VicHJvY2Vzcy5jLgogCitJRExFCistLS0tCisKKy0gSXNzdWUgIzk4MDM6IERvbid0IGNsb3NlIElETEUgb24gc2F2aW5nIGlmIGJyZWFrcG9pbnQgaXMgb3Blbi4KKyAgUGF0Y2ggYnkgUm9nZXIgU2Vyd3kuCisKKy0gSXNzdWUgIzE0OTYyOiBVcGRhdGUgdGV4dCBjb2xvcmluZyBpbiBJRExFIHNoZWxsIHdpbmRvdyBhZnRlciBjaGFuZ2luZworICBvcHRpb25zLiAgUGF0Y2ggYnkgUm9nZXIgU2Vyd3kuCisKIERvY3VtZW50YXRpb24KIC0tLS0tLS0tLS0tLS0KIAorLSBJc3N1ZSAjMTUxNzY6IENsYXJpZmllZCBiZWhhdmlvciwgZG9jdW1lbnRhdGlvbiwgYW5kIGltcGxlbWVudGF0aW9uCisgIG9mIG9zLmxpc3RkaXIoKS4KKworLSBJc3N1ZSAjMTQ5ODI6IERvY3VtZW50IHRoYXQgcGtndXRpbCdzIGl0ZXJhdGlvbiBmdW5jdGlvbnMgcmVxdWlyZSB0aGUKKyAgbm9uLXN0YW5kYXJkIGl0ZXJfbW9kdWxlcygpIG1ldGhvZCB0byBiZSBkZWZpbmVkIGJ5IGFuIGltcG9ydGVyIChzb21ldGhpbmcKKyAgdGhlIGltcG9ydGxpYiBpbXBvcnRlcnMgZG8gbm90IGRlZmluZSkuCisKIC0gSXNzdWUgIzE1MDgxOiBEb2N1bWVudCBQeVN0YXRlX0ZpbmRNb2R1bGUuCiAgIFBhdGNoIGJ5IFJvYmluIFNjaHJlaWJlci4KIApAQCAtOTMyLDYgKzk0MSw5IEBACiBUZXN0cwogLS0tLS0KIAorLSBJc3N1ZSAjMTUxODc6IEJ1Z2ZpeDogcmVtb3ZlIHRlbXBvcmFyeSBkaXJlY3RvcmllcyB0ZXN0X3NodXRpbCB3YXMgbGVhdmluZworICBiZWhpbmQuCisKIC0gSXNzdWUgIzE0NzY5OiB0ZXN0X2NhcGkgbm93IGhhcyBTa2lwaXRlbVRlc3QsIHdoaWNoIGNsZXZlcmx5IGNoZWNrcwogICBmb3IgInBhcml0eSIgYmV0d2VlbiBQeUFyZ19QYXJzZVR1cGxlKCkgYW5kIHRoZSBQeXRob24vZ2V0YXJncy5jIHN0YXRpYwogICBmdW5jdGlvbiBza2lwaXRlbSgpIGZvciBhbGwgcG9zc2libGUgImZvcm1hdCB1bml0cyIuCkBAIC0xMDIwLDM0ICsxMDMyLDE4IEBACiAtIElzc3VlICMxNDcwMDogRml4IHR3byBicm9rZW4gYW5kIHVuZGVmaW5lZC1iZWhhdmlvdXItaW5kdWNpbmcgb3ZlcmZsb3cgY2hlY2tzCiAgIGluIG9sZC1zdHlsZSBzdHJpbmcgZm9ybWF0dGluZy4KIAotLSBJc3N1ZSAjMTQ3MDU6IFRoZSBQeUFyZ19QYXJzZSgpIGZhbWlseSBvZiBmdW5jdGlvbnMgbm93IHN1cHBvcnQgdGhlICdwJyBmb3JtYXQKLSAgdW5pdCwgd2hpY2ggYWNjZXB0cyBhICJib29sZWFuIHByZWRpY2F0ZSIgYXJndW1lbnQuICBJdCBjb252ZXJ0cyBhbnkgUHl0aG9uCi0gIHZhbHVlIGludG8gYW4gaW50ZWdlci0tMCBpZiBpdCBpcyAiZmFsc2UiLCBhbmQgMSBvdGhlcndpc2UuCi0KIExpYnJhcnkKIC0tLS0tLS0KIAogLSBJc3N1ZSAjMTQ2OTA6IFVzZSBtb25vdG9uaWMgY2xvY2sgaW5zdGVhZCBvZiBzeXN0ZW0gY2xvY2sgaW4gdGhlIHNjaGVkLAogICBzdWJwcm9jZXNzIGFuZCB0cmFjZSBtb2R1bGVzLgogCi0tIElzc3VlICMxNDk1ODogQ2hhbmdlIElETEUgc3lzdGF4IGhpZ2hsaWdodGluZyB0byByZWNvZ25pemUgYWxsIHN0cmluZyBhbmQKLSAgYnl0ZSBsaXRlcmFscyBzdXBwb3J0ZWQgaW4gUHl0aG9uIDMuMy4KLQotLSBJc3N1ZSAjMTA5OTc6IFByZXZlbnQgYSBkdXBsaWNhdGUgZW50cnkgaW4gSURMRSdzICJSZWNlbnQgRmlsZXMiIG1lbnUuCi0KIC0gSXNzdWUgIzE0NDQzOiBUZWxsIHJwbWJ1aWxkIHRvIHVzZSB0aGUgY29ycmVjdCB2ZXJzaW9uIG9mIFB5dGhvbiBpbgogICBiZGlzdF9ycG0uIEluaXRpYWwgcGF0Y2ggYnkgUm9zcyBMYWdlcndhbGwuCiAKLS0gSXNzdWUgIzE0OTI5OiBTdG9wIElkbGUgMy54IGZyb20gY2xvc2luZyBvbiBVbmljb2RlIGRlY29kZSBlcnJvcnMgd2hlbgotICBncmVwcGluZy4gUGF0Y2ggYnkgUm9nZXIgU2Vyd3kuCi0KIC0gSXNzdWUgIzEyNTE1OiBlbWFpbCBub3cgcmVnaXN0ZXJzIGEgZGVmZWN0IGlmIGl0IGdldHMgdG8gRU9GIHdoaWxlIHBhcnNpbmcKICAgYSBNSU1FIHBhcnQgd2l0aG91dCBzZWVpbmcgdGhlIGNsb3NpbmcgTUlNRSBib3VuZGFyeS4KIAotLSBJc3N1ZSAjMTI1MTA6IEF0dGVtcHRpbmcgdG8gZ2V0IGludmFsaWQgdG9vbHRpcCBubyBsb25nZXIgY2xvc2VzIElkbGUuCi0gIE90aGVyIHRvb2x0aXBzcyBoYXZlIGJlZW4gY29ycmVjdGVkIG9yIGltcHJvdmVkIGFuZCB0aGUgbnVtYmVyIG9mIHRlc3RzCi0gIGhhcyBiZWVuIHRyaXBsZWQuIE9yaWdpbmFsIHBhdGNoIGJ5IFJvZ2VyIFNlcnd5LgotCiAtIElzc3VlICMxNjcyNTY4OiBlbWFpbCBub3cgYWx3YXlzIGRlY29kZXMgYmFzZTY0IHBheWxvYWRzLCBhZGRpbmcgcGFkZGluZyBhbmQKICAgaWdub3Jpbmcgbm9uLWJhc2U2NC1hbHBoYWJldCBjaGFyYWN0ZXJzIGlmIG5lZWRlZCwgYW5kIHJlZ2lzdGVyaW5nIGRlZmVjdHMKICAgZm9yIGFueSBzdWNoIHByb2JsZW1zLgpAQCAtMTA4MSw5ICsxMDc3LDYgQEAKIC0gSXNzdWUgIzE0NTQ4OiBNYWtlIG11bHRpcHJvY2Vzc2luZyBmaW5hbGl6ZXJzIGNoZWNrIHBpZCBiZWZvcmUKICAgcnVubmluZyB0byBjb3BlIHdpdGggcG9zc2liaWxpdHkgb2YgZ2MgcnVubmluZyBqdXN0IGFmdGVyIGZvcmsuCiAKLS0gSXNzdWUgIzE0ODYzOiBVcGRhdGUgdGhlIGRvY3VtZW50YXRpb24gb2Ygb3MuZmRvcGVuKCkgdG8gcmVmbGVjdCB0aGUKLSAgZmFjdCB0aGF0IGl0J3Mgb25seSBhIHRoaW4gd3JhcHBlciBhcm91bmQgb3BlbigpIGFueW1vcmUuCi0KIC0gSXNzdWUgIzE0MDM2OiBBZGQgYW4gYWRkaXRpb25hbCBjaGVjayB0byB2YWxpZGF0ZSB0aGF0IHBvcnQgaW4gdXJscGFyc2UgZG9lcwogICBub3QgZ28gaW4gaWxsZWdhbCByYW5nZSBhbmQgcmV0dXJucyBOb25lLgogCkBAIC0xMjEwLDYgKzEyMDMsMjEgQEAKIC0gSXNzdWUgIzE0MTI3IGFuZCAjMTAxNDg6IHNodXRpbC5jb3B5c3RhdCBub3cgcHJlc2VydmVzIGV4YWN0IG10aW1lIGFuZCBhdGltZQogICBvbiBmaWxlc3lzdGVtcyBwcm92aWRpbmcgbmFub3NlY29uZCByZXNvbHV0aW9uLgogCitJRExFCistLS0tCisKKy0gSXNzdWUgIzE0OTU4OiBDaGFuZ2UgSURMRSBzeXN0YXggaGlnaGxpZ2h0aW5nIHRvIHJlY29nbml6ZSBhbGwgc3RyaW5nIGFuZAorICBieXRlIGxpdGVyYWxzIHN1cHBvcnRlZCBpbiBQeXRob24gMy4zLgorCistIElzc3VlICMxMDk5NzogUHJldmVudCBhIGR1cGxpY2F0ZSBlbnRyeSBpbiBJRExFJ3MgIlJlY2VudCBGaWxlcyIgbWVudS4KKworLSBJc3N1ZSAjMTQ5Mjk6IFN0b3AgSURMRSAzLnggZnJvbSBjbG9zaW5nIG9uIFVuaWNvZGUgZGVjb2RlIGVycm9ycyB3aGVuCisgIGdyZXBwaW5nLiBQYXRjaCBieSBSb2dlciBTZXJ3eS4KKworLSBJc3N1ZSAjMTI1MTA6IEF0dGVtcHRpbmcgdG8gZ2V0IGludmFsaWQgdG9vbHRpcCBubyBsb25nZXIgY2xvc2VzIElETEUuCisgIE90aGVyIHRvb2x0aXBzcyBoYXZlIGJlZW4gY29ycmVjdGVkIG9yIGltcHJvdmVkIGFuZCB0aGUgbnVtYmVyIG9mIHRlc3RzCisgIGhhcyBiZWVuIHRyaXBsZWQuIE9yaWdpbmFsIHBhdGNoIGJ5IFJvZ2VyIFNlcnd5LgorCiBUb29scy9EZW1vcwogLS0tLS0tLS0tLS0KIApAQCAtMTIyOCw5ICsxMjM2LDE5IEBACiAKIC0gSXNzdWUgIzEzMjEwOiBXaW5kb3dzIGJ1aWxkIG5vdyB1c2VzIFZTMjAxMCwgcG9ydGVkIGZyb20gVlMyMDA4LgogCitDLUFQSQorLS0tLS0KKworLSBJc3N1ZSAjMTQ3MDU6IFRoZSBQeUFyZ19QYXJzZSgpIGZhbWlseSBvZiBmdW5jdGlvbnMgbm93IHN1cHBvcnQgdGhlICdwJyBmb3JtYXQKKyAgdW5pdCwgd2hpY2ggYWNjZXB0cyBhICJib29sZWFuIHByZWRpY2F0ZSIgYXJndW1lbnQuICBJdCBjb252ZXJ0cyBhbnkgUHl0aG9uCisgIHZhbHVlIGludG8gYW4gaW50ZWdlci0tMCBpZiBpdCBpcyAiZmFsc2UiLCBhbmQgMSBvdGhlcndpc2UuCisKIERvY3VtZW50YXRpb24KIC0tLS0tLS0tLS0tLS0KIAorLSBJc3N1ZSAjMTQ4NjM6IFVwZGF0ZSB0aGUgZG9jdW1lbnRhdGlvbiBvZiBvcy5mZG9wZW4oKSB0byByZWZsZWN0IHRoZQorICBmYWN0IHRoYXQgaXQncyBvbmx5IGEgdGhpbiB3cmFwcGVyIGFyb3VuZCBvcGVuKCkgYW55bW9yZS4KKwogLSBJc3N1ZSAjMTQ1ODg6IFRoZSBsYW5ndWFnZSByZWZlcmVuY2Ugbm93IGFjY3VyYXRlbHkgZG9jdW1lbnRzIHRoZSBQeXRob24gMwogICBjbGFzcyBkZWZpbml0aW9uIHByb2Nlc3MuIFBhdGNoIGJ5IE5pY2sgQ29naGxhbi4KIApAQCAtMTI3OSw5ICsxMjk3LDYgQEAKIC0gSXNzdWUgIzE0MzM5OiBTcGVlZCBpbXByb3ZlbWVudHMgdG8gYmluLCBvY3QgYW5kIGhleCBmdW5jdGlvbnMuICBQYXRjaCBieQogICBTZXJoaXkgU3RvcmNoYWthLgogCi0tIElzc3VlICMxNDA5ODogTmV3IGZ1bmN0aW9ucyBQeUVycl9HZXRFeGNJbmZvIGFuZCBQeUVycl9TZXRFeGNJbmZvLgotICBQYXRjaCBieSBTdGVmYW4gQmVobmVsLgotCiAtIElzc3VlICMxNDM4NTogSXQgaXMgbm93IHBvc3NpYmxlIHRvIHVzZSBhIGN1c3RvbSB0eXBlIGZvciB0aGUgX19idWlsdGluc19fCiAgIG5hbWVzcGFjZSwgaW5zdGVhZCBvZiBhIGRpY3QuIEl0IGNhbiBiZSB1c2VkIGZvciBzYW5kYm94aW5nIGZvciBleGFtcGxlLgogICBSYWlzZSBhbHNvIGEgTmFtZUVycm9yIGluc3RlYWQgb2YgSW1wb3J0RXJyb3IgaWYgX19idWlsZF9jbGFzc19fIG5hbWUgaWYgbm90CkBAIC0xNDMxLDEyICsxNDQ2LDYgQEAKIAogLSBEb24ndCBQeV9ERUNSRUYgTlVMTCB2YXJpYWJsZSBpbiBpby5JbmNyZW1lbnRhbE5ld2xpbmVEZWNvZGVyLgogCi0tIElzc3VlICM4NTE1OiBTZXQgX19maWxlX18gd2hlbiBydW4gZmlsZSBpbiBJRExFLgotICBJbml0aWFsIHBhdGNoIGJ5IEJydWNlIEZyZWRlcmlrc2VuLgotCi0tIElzc3VlICMxNDQ5NjogRml4IHdyb25nIG5hbWUgaW4gaWRsZWxpYi90YWJiZWRwYWdlcy5weS4KLSAgUGF0Y2ggYnkgUG9wYSBDbGF1ZGl1LgotCiAtIElzc3VlICMzMDMzOiBBZGQgZGlzcGxheW9mIHBhcmFtZXRlciB0byB0a2ludGVyIGZvbnQuIFBhdGNoIGJ5IEd1aWxoZXJtZSBQb2xvLgogCiAtIElzc3VlICMxNDQ4MjogUmFpc2UgYSBWYWx1ZUVycm9yLCBub3QgYSBOYW1lRXJyb3IsIHdoZW4gdHJ5aW5nIHRvIGNyZWF0ZQpAQCAtMTQ3Miw2ICsxNDgxLDE1IEBACiAtIElzc3VlICMxNDM1NTogUmVncnRlc3Qgbm93IHN1cHBvcnRzIHRoZSBzdGFuZGFyZCB1bml0dGVzdCB0ZXN0IGxvYWRpbmcsIGFuZAogICB3aWxsIHVzZSBpdCBpZiBhIHRlc3QgZmlsZSBjb250YWlucyBubyBgdGVzdF9tYWluYCBtZXRob2QuCiAKK0lETEUKKy0tLS0KKworLSBJc3N1ZSAjODUxNTogU2V0IF9fZmlsZV9fIHdoZW4gcnVuIGZpbGUgaW4gSURMRS4KKyAgSW5pdGlhbCBwYXRjaCBieSBCcnVjZSBGcmVkZXJpa3Nlbi4KKworLSBJc3N1ZSAjMTQ0OTY6IEZpeCB3cm9uZyBuYW1lIGluIGlkbGVsaWIvdGFiYmVkcGFnZXMucHkuCisgIFBhdGNoIGJ5IFBvcGEgQ2xhdWRpdS4KKwogVG9vbHMgLyBEZW1vcwogLS0tLS0tLS0tLS0tLQogCkBAIC0xNDgxLDYgKzE0OTksMTIgQEAKIC0gSXNzdWUgIzEzMTY1OiBzdHJpbmdiZW5jaCBpcyBub3cgYXZhaWxhYmxlIGluIHRoZSBUb29scy9zdHJpbmdiZW5jaCBmb2xkZXIuCiAgIEl0IHVzZWQgdG8gbGl2ZSBpbiBpdHMgb3duIFNWTiBwcm9qZWN0LgogCitDLUFQSQorLS0tLS0KKworLSBJc3N1ZSAjMTQwOTg6IE5ldyBmdW5jdGlvbnMgUHlFcnJfR2V0RXhjSW5mbyBhbmQgUHlFcnJfU2V0RXhjSW5mby4KKyAgUGF0Y2ggYnkgU3RlZmFuIEJlaG5lbC4KKwogCiBXaGF0J3MgTmV3IGluIFB5dGhvbiAzLjMuMCBBbHBoYSAyPwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KQEAgLTE1MzIsMTYgKzE1NTYsOSBAQAogCiAtIElzc3VlICM1MTM2OiBkZXByZWNhdGUgb2xkLCB1bnVzZWQgZnVuY3Rpb25zIGZyb20gdGtpbnRlci4KIAotLSBJc3N1ZSAjMTQ0MDk6IElETEUgbm93IHByb3Blcmx5IGV4ZWN1dGVzIGNvbW1hbmRzIGluIHRoZSBTaGVsbCB3aW5kb3cKLSAgd2hlbiBpdCBjYW5ub3QgcmVhZCB0aGUgbm9ybWFsIGNvbmZpZyBmaWxlcyBvbiBzdGFydHVwIGFuZAotICBoYXMgdG8gdXNlIHRoZSBidWlsdC1pbiBkZWZhdWx0IGtleSBiaW5kaW5ncy4KLSAgVGhlcmUgd2FzIHByZXZpb3VzbHkgYSBidWcgaW4gb25lIG9mIHRoZSBkZWZhdWx0cy4KLQogLSBJc3N1ZSAjMTQ0MTY6IHN5c2xvZyBub3cgZGVmaW5lcyB0aGUgTE9HX09ERUxBWSBhbmQgTE9HX0FVVEhQUklWIGNvbnN0YW50cwogICBpZiB0aGV5IGFyZSBkZWZpbmVkIGluIDxzeXNsb2cuaD4uCiAKLS0gSURMRSBjYW4gYmUgbGF1bmNoZWQgYXMgcHl0aG9uIC1tIGlkbGVsaWIKLQogLSBJc3N1ZSAjMTQyOTU6IEFkZCB1bml0dGVzdC5tb2NrCiAKIC0gSXNzdWUgIzc2NTI6IEFkZCAtLXdpdGgtc3lzdGVtLWxpYm1wZGVjIG9wdGlvbiB0byBjb25maWd1cmUgZm9yIGxpbmtpbmcKQEAgLTE1NjcsOSArMTU4NCw2IEBACiAgIHVwIHRoZSBkZWNpbWFsIG1vZHVsZS4gUGVyZm9ybWFuY2UgZ2FpbnMgb2YgdGhlIG5ldyBDIGltcGxlbWVudGF0aW9uIGFyZQogICBiZXR3ZWVuIDEweCBhbmQgMTAweCwgZGVwZW5kaW5nIG9uIHRoZSBhcHBsaWNhdGlvbi4KIAotLSBJc3N1ZSAjMzU3MzogSURMRSBoYW5ncyB3aGVuIHBhc3NpbmcgaW52YWxpZCBjb21tYW5kIGxpbmUgYXJncwotICAoZGlyZWN0b3J5KGllcykgaW5zdGVhZCBvZiBmaWxlKHMpKSAoUGF0Y2ggYnkgR3VpbGhlcm1lIFBvbG8pCi0KIC0gSXNzdWUgIzE0MjY5OiBTTVRQRCBub3cgY29uZm9ybXMgdG8gdGhlIFJGQyBhbmQgcmVxdWlyZXMgYSBIRUxPIGNvbW1hbmQKICAgYmVmb3JlIE1BSUwsIFJDUFQsIG9yIERBVEEuCiAKQEAgLTE2MDEsOCArMTYxNSw2IEBACiAgIGRlbmlhbCBvZiBzZXJ2aWNlIGR1ZSB0byBoYXNoIGNvbGxpc2lvbnMuICBQYXRjaCBieSBEYXZpZCBNYWxjb2xtIHdpdGggc29tZQogICBtb2RpZmljYXRpb25zIGJ5IHRoZSBleHBhdCBwcm9qZWN0LgogCi0tIElzc3VlICMxNDIwMDogSWRsZSBzaGVsbCBjcmFzaCBvbiBwcmludGluZyBub24tQk1QIHVuaWNvZGUgY2hhcmFjdGVyLgotCiAtIElzc3VlICMxMjgxODogZm9ybWF0IGFkZHJlc3Mgbm8gbG9uZ2VyIG5lZWRsZXNzbHkgXCBlc2NhcGVzICgpcyBpbiBuYW1lcyB3aGVuCiAgIHRoZSBuYW1lIGVuZHMgdXAgYmVpbmcgcXVvdGVkLgogCkBAIC0xNjE4LDggKzE2MzAsNiBAQAogCiAtIElzc3VlICM5ODk3MTI6IFN1cHBvcnQgdXNpbmcgVGsgd2l0aG91dCBhIG1haW5sb29wLgogCi0tIElzc3VlICM1MjE5OiBQcmV2ZW50IGV2ZW50IGhhbmRsZXIgY2FzY2FkZSBpbiBJRExFLgotCiAtIElzc3VlICMzODM1OiBSZWZ1c2UgdG8gdXNlIHVudGhyZWFkZWQgVGNsIGluIHRocmVhZGVkIFB5dGhvbi4KIAogLSBJc3N1ZSAjMjg0MzogQWRkIG5ldyBUayBBUEkgdG8gVGtpbnRlci4KQEAgLTE4NDgsMTAgKzE4NTgsNiBAQAogICBvbiBQT1NJWCBzeXN0ZW1zIHN1cHBvcnRpbmcgYW5vbnltb3VzIG1lbW9yeSBtYXBwaW5ncy4gIFBhdGNoIGJ5CiAgIENoYXJsZXMtRnJhbsOnb2lzIE5hdGFsaS4KIAotLSBJc3N1ZSAjMTM0NTI6IFB5VW5pY29kZV9FbmNvZGVEZWNpbWFsKCkgZG9lc24ndCBzdXBwb3J0IGVycm9yIGhhbmRsZXJzCi0gIGRpZmZlcmVudCB0aGFuICJzdHJpY3QiIGFueW1vcmUuIFRoZSBjYWxsZXIgd2FzIHVuYWJsZSB0byBjb21wdXRlIHRoZQotICBzaXplIG9mIHRoZSBvdXRwdXQgYnVmZmVyOiBpdCBkZXBlbmRzIG9uIHRoZSBlcnJvciBoYW5kbGVyLgotCiAtIFBFUCAzMTU1IC8gaXNzdWUgIzEzNDQ4OiBRdWFsaWZpZWQgbmFtZSBmb3IgY2xhc3NlcyBhbmQgZnVuY3Rpb25zLgogCiAtIElzc3VlICMxMzQzNjogRml4IGEgYm9ndXMgZXJyb3IgbWVzc2FnZSB3aGVuIGFuIEFTVCBvYmplY3Qgd2FzIHBhc3NlZApAQCAtMTk0MiwxMCArMTk0OCw2IEBACiAKIC0gUEVQIDMxNTEgLyBpc3N1ZSAjMTI1NTU6IHJld29ya2luZyB0aGUgT1MgYW5kIElPIGV4Y2VwdGlvbiBoaWVyYXJjaHkuCiAKLS0gSXNzdWUgIzEzNTYwOiBBZGQgUHlVbmljb2RlX0RlY29kZUxvY2FsZSgpLCBQeVVuaWNvZGVfRGVjb2RlTG9jYWxlQW5kU2l6ZSgpCi0gIGFuZCBQeVVuaWNvZGVfRW5jb2RlTG9jYWxlKCkgZnVuY3Rpb25zIHRvIHRoZSBDIEFQSSB0byBkZWNvZGUvZW5jb2RlIGZyb20vdG8KLSAgdGhlIGN1cnJlbnQgbG9jYWxlIGVuY29kaW5nLgotCiAtIEFkZCBpbnRlcm5hbCBBUEkgZm9yIHN0YXRpYyBzdHJpbmdzIChfUHlfaWRlbnRpZmllciBldCBhbC4pLgogCiAtIElzc3VlICMxMzA2MzogdGhlIFdpbmRvd3MgZXJyb3IgRVJST1JfTk9fREFUQSAobnVtYmVyZWQgMjMyIGFuZCBkZXNjcmliZWQKQEAgLTIwMjgsNyArMjAzMCw3IEBACiAgIGRlYWxsb2NhdG9yIGNhbGxzIG9uZSBvZiB0aGUgbWV0aG9kcyBvbiB0aGUgdHlwZSAoZS5nLiB3aGVuIHN1YmNsYXNzaW5nCiAgIElPQmFzZSkuICBEaWFnbm9zaXMgYW5kIHBhdGNoIGJ5IERhdmlkZSBSaXp6by4KIAotLSBJc3N1ZSAjOTYxMSwgIzkwMTU6IEZpbGVJTy5yZWFkKCkgY2xhbXBzIHRoZSBsZW5ndGggdG8gSU5UX01BWCBvbiBXaW5kb3dzLgorLSBJc3N1ZSAjOTYxMSwgSXNzdWUgIzkwMTU6IEZpbGVJTy5yZWFkKCkgY2xhbXBzIHRoZSBsZW5ndGggdG8gSU5UX01BWCBvbiBXaW5kb3dzLgogCiAtIElzc3VlICM5NjQyOiBVbmlmb3JtaXplIHRoZSB0ZXN0cyBvbiB0aGUgYXZhaWxhYmlsaXR5IG9mIHRoZSBtYmNzIGNvZGVjLCBhZGQKICAgYSBuZXcgSEFWRV9NQkNTIGRlZmluZS4KQEAgLTIxOTEsMTcgKzIxOTMsMTEgQEAKICAgUHlVbmljb2RlX0FzVVRGOFN0cmluZygpIGFuZCBQeVVuaWNvZGVfQXNFbmNvZGVkU3RyaW5nKHVuaWNvZGUsICJ1dGYtOCIsCiAgIE5VTEwpLgogCi0tIElzc3VlICMxMDgzMTogUHlVbmljb2RlX0Zyb21Gb3JtYXQoKSBzdXBwb3J0cyAlbGksICVsbGkgYW5kICV6aSBmb3JtYXRzLgotCiAtIElzc3VlICMxMDgyOTogUmVmYWN0b3IgUHlVbmljb2RlX0Zyb21Gb3JtYXQoKSwgdXNlIHRoZSBzYW1lIGZ1bmN0aW9uIHRvIHBhcnNlCiAgIHRoZSBmb3JtYXQgc3RyaW5nIGluIHRoZSAzIHN0ZXBzLCBmaXggY3Jhc2hzIG9uIGludmFsaWQgZm9ybWF0IHN0cmluZ3MuCiAKIC0gSXNzdWUgIzEzMDA3OiB3aGljaGRiIHNob3VsZCByZWNvZ25pemUgZ2RibSAxLjkgbWFnaWMgbnVtYmVycy4KIAotLSBJc3N1ZSAjMTEyNDY6IEZpeCBQeVVuaWNvZGVfRnJvbUZvcm1hdCgiJVYiKSB0byBkZWNvZGUgdGhlIGJ5dGUgc3RyaW5nIGZyb20KLSAgVVRGLTggKHdpdGggcmVwbGFjZSBlcnJvciBoYW5kbGVyKSBpbnN0ZWFkIG9mIElTTy04ODU5LTEgKGluIHN0cmljdCBtb2RlKS4KLSAgUGF0Y2ggd3JpdHRlbiBieSBSYXkgQWxsZW4uCi0KIC0gSXNzdWUgIzExMjg2OiBSYWlzZSBhIFZhbHVlRXJyb3IgZnJvbSBjYWxsaW5nIFB5TWVtb3J5Vmlld19Gcm9tQnVmZmVyIHdpdGgKICAgYSBidWZmZXIgc3RydWN0IGhhdmluZyBhIE5VTEwgZGF0YSBwb2ludGVyLgogCkBAIC0yMjExLDkgKzIyMDcsNiBAQAogLSBJc3N1ZSAjMTE4Mjg6IHN0YXJ0c3dpdGggYW5kIGVuZHN3aXRoIG5vdyBhY2NlcHQgTm9uZSBhcyBzbGljZSBpbmRleC4KICAgUGF0Y2ggYnkgVG9yc3RlbiBCZWNrZXIuCiAKLS0gSXNzdWUgIzEwODMwOiBGaXggUHlVbmljb2RlX0Zyb21Gb3JtYXRWKCIlYyIpIGZvciBub24tQk1QIGNoYXJhY3RlcnMgb24KLSAgbmFycm93IGJ1aWxkLgotCiAtIElzc3VlICMxMTE2ODogUmVtb3ZlIGZpbGVuYW1lIGRlYnVnIHZhcmlhYmxlIGZyb20gUHlFdmFsX0V2YWxGcmFtZUV4KCkuCiAgIEl0IGVuY29kZWQgdGhlIFVuaWNvZGUgZmlsZW5hbWUgdG8gVVRGLTgsIGJ1dCB0aGUgZW5jb2RpbmcgZmFpbHMgb24KICAgdW5kZWNvZGFibGUgZmlsZW5hbWUgKG9uIHN1cnJvZ2F0ZSBjaGFyYWN0ZXJzKSB3aGljaCByYWlzZXMgYW4gdW5leHBlY3RlZApAQCAtMjI1NSwxNSArMjI0OCw5IEBACiAgIGFyZSBkZWFkIG9yIGR5aW5nLiAgTW9yZW92ZXIsIHRoZSBpbXBsZW1lbnRhdGlvbiBpcyBub3cgTygxKSByYXRoZXIgdGhhbgogICBPKG4pLgogCi0tIElzc3VlICMxMzEyNTogU2lsZW5jZSBzcHVyaW91cyB0ZXN0X2xpYjJ0bzMgb3V0cHV0IHdoZW4gaW4gbm9uLXZlcmJvc2UgbW9kZS4KLSAgUGF0Y2ggYnkgTWlraGFpbCBOb3Zpa292LgotCiAtIElzc3VlICMxMTg0MTogRml4IGNvbXBhcmlzb24gYnVnIHdpdGggJ3JjJyB2ZXJzaW9ucyBpbiBwYWNrYWdpbmcudmVyc2lvbi4KICAgUGF0Y2ggYnkgRmlsaXAgR3J1c3pjennFhHNraS4KIAotLSBJc3N1ZSAjMTM0NDc6IEFkZCBhIHRlc3QgZmlsZSB0byBob3N0IHJlZ3Jlc3Npb24gdGVzdHMgZm9yIGJ1Z3MgaW4gdGhlCi0gIHNjcmlwdHMgZm91bmQgaW4gdGhlIFRvb2xzIGRpcmVjdG9yeS4KLQogLSBJc3N1ZSAjNjg4NDogRml4IGxvbmctc3RhbmRpbmcgYnVncyB3aXRoIE1BTklGRVNULmluIHBhcnNpbmcgaW4gZGlzdHV0aWxzCiAgIG9uIFdpbmRvd3MuICBBbHNvIGZpeGVkIGluIHBhY2thZ2luZy4KIApAQCAtMjMxOSw5ICsyMzA2LDYgQEAKICAgYXV0aGVudGljYXRpbmcgKHNpbmNlIHRoZSByZXN1bHQgbWF5IGNoYW5nZSwgYWNjb3JkaW5nIHRvIFJGQyA0NjQzKS4KICAgUGF0Y2ggYnkgSHluZWsgU2NobGF3YWNrLgogCi0tIElzc3VlICMxMzk4OTogRG9jdW1lbnQgdGhhdCBHemlwRmlsZSBkb2VzIG5vdCBzdXBwb3J0IHRleHQgbW9kZSwgYW5kIGdpdmUgYQotICBtb3JlIGhlbHBmdWwgZXJyb3IgbWVzc2FnZSB3aGVuIG9wZW5lZCB3aXRoIGFuIGludmFsaWQgbW9kZSBzdHJpbmcuCi0KIC0gSXNzdWUgIzEzNTkwOiBPbiBPUyBYIDEwLjcgYW5kIDEwLjYgd2l0aCBYY29kZSA0LjIsIGJ1aWxkaW5nCiAgIERpc3R1dGlscy1iYXNlZCBwYWNrYWdlcyB3aXRoIEMgZXh0ZW5zaW9uIG1vZHVsZXMgbWF5IGZhaWwgYmVjYXVzZQogICBBcHBsZSBoYXMgcmVtb3ZlZCBnY2MtNC4yLCB0aGUgdmVyc2lvbiB1c2VkIHRvIGJ1aWxkIHB5dGhvbi5vcmcKQEAgLTIzMzgsMTAgKzIzMjIsNiBAQAogLSBJc3N1ZSAjMTM5NjA6IEhUTUxQYXJzZXIgaXMgbm93IGFibGUgdG8gaGFuZGxlIGJyb2tlbiBjb21tZW50cyB3aGVuCiAgIHN0cmljdD1GYWxzZS4KIAotLSBJc3N1ZSAjMTM5MjE6IFVuZG9jdW1lbnQgYW5kIGNsZWFuIHVwIHNxbGl0ZTMuT3B0aW1pemVkVW5pY29kZSwKLSAgd2hpY2ggaXMgb2Jzb2xldGUgaW4gUHl0aG9uIDMueC4gSXQncyBub3cgYWxpYXNlZCB0byBzdHIgZm9yCi0gIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5LgotCiAtIFdoZW4gJycgaXMgYSBwYXRoIChlLmcuIGluIHN5cy5wYXRoKSwgbWFrZSBzdXJlIF9fZmlsZV9fIHVzZXMgdGhlIGN1cnJlbnQKICAgd29ya2luZyBkaXJlY3RvcnkgaW5zdGVhZCBvZiAnJyBpbiBpbXBvcnRsaWIuCiAKQEAgLTIzNjMsMTEgKzIzNDMsNiBAQAogLSBJc3N1ZSAjMTA4MTE6IEZpeCByZWN1cnNpdmUgdXNhZ2Ugb2YgY3Vyc29ycy4gSW5zdGVhZCBvZiBjcmFzaGluZywKICAgcmFpc2UgYSBQcm9ncmFtbWluZ0Vycm9yIG5vdy4KIAotLSBJc3N1ZSAjMTA4ODE6IEZpeCB0ZXN0X3NpdGUgZmFpbHVyZSB3aXRoIE9TIFggZnJhbWV3b3JrIGJ1aWxkcy4KLQotLSBJc3N1ZSAjOTY0NDM3OiBNYWtlIElETEUgaGVscCB3aW5kb3cgbm9uLW1vZGFsLgotICBQYXRjaCBieSBHdWlsaGVybWUgUG9sbyBhbmQgUm9nZXIgU2Vyd3kuCi0KIC0gSXNzdWUgIzEzNzM0OiBBZGQgb3MuZndhbGsoKSwgYSBkaXJlY3Rvcnkgd2Fsa2luZyBmdW5jdGlvbiB5aWVsZGluZyBmaWxlCiAgIGRlc2NyaXB0b3JzLgogCkBAIC0yMzc3LDE2ICsyMzUyLDggQEAKIAogLSBJc3N1ZSAjMTE4MDU6IHBhY2thZ2VfZGF0YSBpbiBzZXR1cC5jZmcgc2hvdWxkIGFsbG93IG1vcmUgdGhhbiBvbmUgdmFsdWUuCiAKLS0gSXNzdWUgIzEzOTMzOiBJRExFIGF1dG8tY29tcGxldGUgZGlkIG5vdCB3b3JrIHdpdGggc29tZSBpbXBvcnRlZAotICBtb2R1bGUsIGxpa2UgaGFzaGxpYi4gIChQYXRjaCBieSBSb2dlciBTZXJ3eSkKLQotLSBJc3N1ZSAjMTM5MDE6IFByZXZlbnQgdGVzdF9kaXN0dXRpbHMgZmFpbHVyZXMgb24gT1MgWCB3aXRoIC0tZW5hYmxlLXNoYXJlZC4KLQogLSBJc3N1ZSAjMTM2NzY6IEhhbmRsZSBzdHJpbmdzIHdpdGggZW1iZWRkZWQgemVyb3MgY29ycmVjdGx5IGluIHNxbGl0ZTMuCiAKLS0gSXNzdWUgIzEzNTA2OiBBZGQgJycgdG8gcGF0aCBmb3IgSURMRSBTaGVsbCB3aGVuIHN0YXJ0ZWQgYW5kIHJlc3RhcnRlZCB3aXRoIFJlc3RhcnQgU2hlbGwuCi0gIE9yaWdpbmFsIHBhdGNoZXMgYnkgTWFyY28gU2NhdGFnbGluaSBhbmQgUm9nZXIgU2Vyd3kuCi0KIC0gSXNzdWUgIzg4Mjg6IEFkZCBuZXcgZnVuY3Rpb24gb3MucmVwbGFjZSgpLCBmb3IgY3Jvc3MtcGxhdGZvcm0gcmVuYW1pbmcKICAgd2l0aCBvdmVyd3JpdGluZy4KIApAQCAtMjQwNywxMiArMjM3NCw2IEBACiAgIE9TRXJyb3IgaWYgbG9jYWx0aW1lKCkgZmFpbGVkLiB0aW1lLmNsb2NrKCkgbm93IHJhaXNlcyBhIFJ1bnRpbWVFcnJvciBpZiB0aGUKICAgcHJvY2Vzc29yIHRpbWUgdXNlZCBpcyBub3QgYXZhaWxhYmxlIG9yIGl0cyB2YWx1ZSBjYW5ub3QgYmUgcmVwcmVzZW50ZWQKIAotLSBJc3N1ZSAjMTM4NjI6IEZpeCBzcHVyaW91cyBmYWlsdXJlIGluIHRlc3RfemxpYiBkdWUgdG8gcnVudGltZS9jb21waWxlIHRpbWUKLSAgbWlub3IgdmVyc2lvbnMgbm90IG1hdGNoaW5nLgotCi0tIElzc3VlICMxMjgwNDogRml4IHRlc3Rfc29ja2V0IGFuZCB0ZXN0X3VybGxpYjJuZXQgZmFpbHVyZXMgd2hlbiBydW5uaW5nIHRlc3RzCi0gIG9uIGEgc3lzdGVtIHdpdGhvdXQgaW50ZXJuZXQgYWNjZXNzLgotCiAtIElzc3VlICMxMzc3MjogSW4gb3Muc3ltbGluaygpIHVuZGVyIFdpbmRvd3MsIGRvIG5vdCB0cnkgdG8gZ3Vlc3MgdGhlIGxpbmsKICAgdGFyZ2V0J3MgdHlwZSAoZmlsZSBvciBkaXJlY3RvcnkpLiAgVGhlIGRldGVjdGlvbiB3YXMgYnVnZ3kgYW5kIG1hZGUgdGhlCiAgIGNhbGwgbm9uLWF0b21pYyAodGhlcmVmb3JlIHByb25lIHRvIHJhY2UgY29uZGl0aW9ucykuCkBAIC0yNDM5LDkgKzI0MDAsNiBAQAogLSBJc3N1ZSAjMTM2NDI6IFVucXVvdGUgYmVmb3JlIGI2NGVuY29kaW5nIHVzZXI6cGFzc3dvcmQgZHVyaW5nIEJhc2ljCiAgIEF1dGhlbnRpY2F0aW9uLiBQYXRjaCBjb250cmlidXRlZCBieSBKb29uYXMgS3VvcmlsZWh0by4KIAotLSBJc3N1ZSAjMTM3MjY6IEZpeCB0aGUgYW1iaWd1b3VzIC1TIGZsYWcgaW4gcmVncnRlc3QuIEl0IGlzIC1vLy0tc2xvdyBmb3Igc2xvdwotICB0ZXN0cy4KLQogLSBJc3N1ZSAjMTIzNjQ6IEZpeCBhIGhhbmcgaW4gY29uY3VycmVudC5mdXR1cmVzLlByb2Nlc3NQb29sRXhlY3V0b3IuCiAgIFRoZSBoYW5nIHdvdWxkIG9jY3VyIHdoZW4gcmV0cmlldmluZyB0aGUgcmVzdWx0IG9mIGEgc2NoZWR1bGVkIGZ1dHVyZSBhZnRlcgogICB0aGUgZXhlY3V0b3IgaGFkIGJlZW4gc2h1dCBkb3duLgpAQCAtMjUyNCwxMCArMjQ4Miw2IEBACiAtIElzc3VlICMxMzU5MTogQSBidWcgaW4gaW1wb3J0bGliIGhhcyBiZWVuIGZpeGVkIHRoYXQgY2F1c2VkIGltcG9ydF9tb2R1bGUKICAgdG8gbG9hZCBhIG1vZHVsZSB0d2ljZS4KIAotLSBJc3N1ZSAjNDYyNTogSWYgSURMRSBjYW5ub3Qgd3JpdGUgdG8gaXRzIHJlY2VudCBmaWxlIG9yIGJyZWFrcG9pbnQgZmlsZXMsCi0gIGRpc3BsYXkgYSBtZXNzYWdlIHBvcHVwIGFuZCBjb250aW51ZSByYXRoZXIgdGhhbiBjcmFzaC4gIE9yaWdpbmFsIHBhdGNoIGJ5Ci0gIFJvZ2VyIFNlcnd5LgotCiAtIElzc3VlICMxMzQ0OSBzY2hlZC5zY2hlZHVsZXIucnVuKCkgbWV0aG9kIGhhcyBhIG5ldyAiYmxvY2tpbmciIHBhcmFtZXRlciB3aGljaAogICB3aGVuIHNldCB0byBGYWxzZSBtYWtlcyBydW4oKSBleGVjdXRlIHRoZSBzY2hlZHVsZWQgZXZlbnRzIGR1ZSB0byBleHBpcmUKICAgc29vbmVzdCAoaWYgYW55KSBhbmQgdGhlbiByZXR1cm4uICBQYXRjaCBieSBHaWFtcGFvbG8gUm9kb2zDoC4KQEAgLTI1NDQsMTIgKzI0OTgsOSBAQAogICAnaW1wb3J0bGliLmFiYy5QeVB5Y0xvYWRlcicsICdubnRwbGliLk5OVFAueGd0aXRsZScsICdubnRwbGliLk5OVFAueHBhdGgnLAogICBhbmQgcHJpdmF0ZSBhdHRyaWJ1dGVzIG9mICdzbXRwZC5TTVRQQ2hhbm5lbCcuCiAKLS0gSXNzdWUgIzU5MDUsICMxMzU2MDogdGltZS5zdHJmdGltZSgpIGlzIG5vdyB1c2luZyB0aGUgY3VycmVudCBsb2NhbGUKKy0gSXNzdWUgIzU5MDUsIElzc3VlICMxMzU2MDogdGltZS5zdHJmdGltZSgpIGlzIG5vdyB1c2luZyB0aGUgY3VycmVudCBsb2NhbGUKICAgZW5jb2RpbmcsIGluc3RlYWQgb2YgVVRGLTgsIGlmIHRoZSB3Y3NmdGltZSgpIGZ1bmN0aW9uIGlzIG5vdCBhdmFpbGFibGUuCiAKLS0gSXNzdWUgIzg2NDE6IFVwZGF0ZSBJRExFIDMgc3ludGF4IGNvbG9yaW5nIHRvIHJlY29nbml6ZSBiIi4uIiBhbmQgbm90IHUiLi4iLgotICBQYXRjaCBieSBUYWwgRWluYXQuCi0KIC0gSXNzdWUgIzEzNDY0OiBBZGQgYSByZWFkaW50bygpIG1ldGhvZCB0byBodHRwLmNsaWVudC5IVFRQUmVzcG9uc2UuICBQYXRjaAogICBieSBKb24gS3Vobi4KIApAQCAtMjY2MSw5ICsyNjEyLDYgQEAKIC0gSXNzdWUgIzEwODE3OiBGaXggdXJscmV0cmlldmUgZnVuY3Rpb24gdG8gcmFpc2UgQ29udGVudFRvb1Nob3J0RXJyb3IgZXZlbgogICB3aGVuIHJlcG9ydGhvb2sgaXMgTm9uZS4gUGF0Y2ggYnkgSnlya2kgUHVsbGlhaW5lbi4KIAotLSBJc3N1ZSAjMTMyOTY6IEZpeCBJRExFIHRvIGNsZWFyIGNvbXBpbGUgX19mdXR1cmVfXyBmbGFncyBvbiBzaGVsbCByZXN0YXJ0LgotICAoUGF0Y2ggYnkgUm9nZXIgU2Vyd3kpCi0KIC0gRml4IHRoZSB4bWxycGMuY2xpZW50IHVzZXIgYWdlbnQgdG8gcmV0dXJuIHNvbWV0aGluZyBzaW1pbGFyIHRvCiAgIHVybGxpYi5yZXF1ZXN0IHVzZXIgYWdlbnQ6ICJQeXRob24teG1scnBjLzMuMyIuCiAKQEAgLTI3NjYsMTAgKzI3MTQsNiBAQAogLSBJc3N1ZSAjMTMwMzQ6IFdoZW4gZGVjb2Rpbmcgc29tZSBTU0wgY2VydGlmaWNhdGVzLCB0aGUgc3ViamVjdEFsdE5hbWUKICAgZXh0ZW5zaW9uIGNvdWxkIGJlIHVucmVwb3J0ZWQuCiAKLS0gSXNzdWUgIzk4NzE6IFByZXZlbnQgSURMRSAzIGNyYXNoIHdoZW4gZ2l2ZW4gYnl0ZSBzdGluZ3MKLSAgd2l0aCBpbnZhbGlkIGhleCBlc2NhcGUgc2VxdWVuY2VzLCBsaWtlIGInXHgwJy4KLSAgKE9yaWdpbmFsIHBhdGNoIGJ5IENsYXVkaXUgUG9wYS4pCi0KIC0gSXNzdWUgIzEyMzA2OiBFeHBvc2UgdGhlIHJ1bnRpbWUgdmVyc2lvbiBvZiB0aGUgemxpYiBDIGxpYnJhcnkgYXMgYSBjb25zdGFudCwKICAgWkxJQl9SVU5USU1FX1ZFUlNJT04sIGluIHRoZSB6bGliIG1vZHVsZS4gUGF0Y2ggYnkgVG9yc3RlbiBMYW5kc2Nob2ZmLgogCkBAIC0yNzk4LDggKzI3NDIsNiBAQAogCiAtIElzc3VlICMxMjg3ODogRXhwb3NlIGEgX19kaWN0X18gYXR0cmlidXRlIG9uIGlvLklPQmFzZSBhbmQgaXRzIHN1YmNsYXNzZXMuCiAKLS0gSXNzdWUgIzEyNjM2OiBJRExFIHJlYWRzIHRoZSBjb2RpbmcgY29va2llIHdoZW4gZXhlY3V0aW5nIGEgUHl0aG9uIHNjcmlwdC4KLQogLSBJc3N1ZSAjMTI0OTQ6IE9uIGVycm9yLCBjYWxsKCksIGNoZWNrX2NhbGwoKSwgY2hlY2tfb3V0cHV0KCkgYW5kCiAgIGdldHN0YXR1c291dHB1dCgpIGZ1bmN0aW9ucyBvZiB0aGUgc3VicHJvY2VzcyBtb2R1bGUgbm93IGtpbGwgdGhlIHByb2Nlc3MsCiAgIHJlYWQgaXRzIHN0YXR1cyAodG8gYXZvaWQgem9tYmlzKSBhbmQgY2xvc2UgcGlwZXMuCkBAIC0yODY5LDkgKzI4MTEsNiBAQAogCiAtIElzc3VlICMxMDA4NzogRml4IHRoZSBodG1sIG91dHB1dCBmb3JtYXQgb2YgdGhlIGNhbGVuZGFyIG1vZHVsZS4KIAotLSBJc3N1ZSAjMTI1NDA6IFByZXZlbnQgem9tYmllIElETEUgcHJvY2Vzc2VzIG9uIFdpbmRvd3MgZHVlIHRvIGNoYW5nZXMKLSAgaW4gb3Mua2lsbCgpLgotCiAtIElzc3VlICMxMzEyMTogYWRkIHN1cHBvcnQgZm9yIGlucGxhY2UgbWF0aCBvcGVyYXRvcnMgdG8gY29sbGVjdGlvbnMuQ291bnRlci4KIAogLSBBZGQgc3VwcG9ydCBmb3IgdW5hcnkgcGx1cyBhbmQgdW5hcnkgbWludXMgdG8gY29sbGVjdGlvbnMuQ291bnRlci4KQEAgLTI5MDMsNyArMjg0Miw3IEBACiAgIENvbmRpdGlvbiwgZXRjLikgdXNlZCB0byBiZSBmYWN0b3J5IGZ1bmN0aW9ucyByZXR1cm5pbmcgaW5zdGFuY2VzIG9mIGhpZGRlbgogICBjbGFzc2VzIChfRXZlbnQsIF9Db25kaXRpb24sIGV0Yy4pLCBiZWNhdXNlIChpZiBHdWlkbyByZWNhbGxzIGNvcnJlY3RseSkgdGhpcwogICBjb2RlIHByZS1kYXRlcyB0aGUgYWJpbGl0eSB0byBzdWJjbGFzcyBleHRlbnNpb24gdHlwZXMuICBJdCBpcyBub3cgcG9zc2libGUKLSAgdG8gaW5oZXJpdCBmcm9tIHRoZXNlIGNsYXNzZXMgd2l0aG91dCBoYXZpbmcgdG8gaW1wb3J0IHRoZSBwcml2YXRlCisgIHRvIGluaGVyaXQgZnJvbSB0aGVzZSBjbGFzc2VzLCB3aXRob3V0IGhhdmluZyB0byBpbXBvcnQgdGhlIHByaXZhdGUKICAgdW5kZXJzY29yZWQgbmFtZXMgbGlrZSBtdWx0aXByb2Nlc3NpbmcgZGlkLgogCiAtIElzc3VlICM5NzIzOiBBZGQgc2hsZXgucXVvdGUgZnVuY3Rpb25zLCB0byBlc2NhcGUgZmlsZW5hbWVzIGFuZCBjb21tYW5kCkBAIC0yOTE3LDE0ICsyODU2LDggQEAKIC0gSXNzdWUgIzEyNjA3OiBJbiBzdWJwcm9jZXNzLCBmaXggaXNzdWUgd2hlcmUgaWYgc3RkaW4sIHN0ZG91dCBvciBzdGRlcnIgaXMKICAgZ2l2ZW4gYXMgYSBsb3cgZmQsIGl0IGdldHMgb3ZlcndyaXR0ZW4uCiAKLS0gSXNzdWUgIzEyNTkwOiBJRExFIGVkaXRvciB3aW5kb3cgbm93IGFsd2F5cyBkaXNwbGF5cyB0aGUgZmlyc3QgbGluZQotICB3aGVuIG9wZW5pbmcgYSBsb25nIGZpbGUuICBXaXRoIFRrIDguNSwgdGhlIGZpcnN0IGxpbmUgd2FzIGhpZGRlbi4KLQogLSBJc3N1ZSAjMTI1NzY6IEZpeCB1cmxvcGVuIGJlaGF2aW9yIG9uIHNpdGVzIHdoaWNoIGRvIG5vdCBzZW5kIChvciBvYmZ1c2NhdGVzKQotICBDb25uZWN0aW9uOmNsb3NlIGhlYWRlci4KLQotLSBJc3N1ZSAjMTIxMDI6IERvY3VtZW50IHRoYXQgYnVmZmVyZWQgZmlsZXMgbXVzdCBiZSBmbHVzaGVkIGJlZm9yZSBiZWluZyB1c2VkCi0gIHdpdGggbW1hcC4gUGF0Y2ggYnkgU3RlZmZlbiBEYW9kZSBOdXJwbWVzby4KKyAgYGBDb25uZWN0aW9uOiBjbG9zZWBgIGhlYWRlci4KIAogLSBJc3N1ZSAjMTI1NjA6IEJ1aWxkIGxpYnB5dGhvbi5zbyBvbiBPcGVuQlNELiBQYXRjaCBieSBTdGVmYW4gU3BlcmxpbmcuCiAKQEAgLTMxNzksNyArMzExMiw3IEBACiAtIElzc3VlICMxMjE3NTogRmlsZUlPLnJlYWRhbGwoKSBub3cgcmFpc2VzIGEgVmFsdWVFcnJvciBpbnN0ZWFkIG9mIGFuIElPRXJyb3IKICAgaWYgdGhlIGZpbGUgaXMgY2xvc2VkLgogCi0tIElzc3VlICMxMTEwOTogTmV3IHNlcnZpY2VfYWN0aW9uIG1ldGhvZCBmb3IgQmFzZVNlcnZlciwgdXNlZCBieSBGb3JraW5nTWl4SW4KKy0gSXNzdWUgIzExMTA5OiBOZXcgc2VydmljZV9hY3Rpb24gbWV0aG9kIGZvciBCYXNlU2VydmVyLCB1c2VkIGJ5IEZvcmtpbmdNaXhpbgogICBjbGFzcyBmb3IgY2xlYW51cC4gSW5pdGlhbCBQYXRjaCBieSBKdXN0aW4gV2Fya2VudGluLgogCiAtIElzc3VlICMxMjA0NTogQXZvaWQgZHVwbGljYXRlIGV4ZWN1dGlvbiBvZiBjb21tYW5kIGluCkBAIC0zMjI0LDkgKzMxNTcsNiBAQAogICBwYXNzaW5nIGEgYGBjb250ZXh0YGAgYXJndW1lbnQgcG9pbnRpbmcgdG8gYW4gc3NsLlNTTENvbnRleHQgaW5zdGFuY2UuCiAgIFBhdGNoIGJ5IEthc3VuIEhlcmF0aC4KIAotLSBJc3N1ZSAjMTEwODg6IGRvbid0IGNyYXNoIHdoZW4gdXNpbmcgRjUgdG8gcnVuIGEgc2NyaXB0IGluIElETEUgb24gTWFjT1NYCi0gIHdpdGggVGsgOC41LgotCiAtIElzc3VlICM5NTE2OiBJc3N1ZSAjOTUxNjogYXZvaWQgZXJyb3JzIGluIHN5c2NvbmZpZyB3aGVuIE1BQ09TWF9ERVBMT1lNRU5UX1RBUkdFVAogICBpcyBzZXQgaW4gc2hlbGwuCiAKQEAgLTMyNDYsMTAgKzMxNzYsNiBAQAogLSBJc3N1ZSAjOTk3MTogV3JpdGUgYW4gb3B0aW1pemVkIGltcGxlbWVudGF0aW9uIG9mIEJ1ZmZlcmVkUmVhZGVyLnJlYWRpbnRvKCkuCiAgIFBhdGNoIGJ5IEpvaG4gTydDb25ub3IuCiAKLS0gSXNzdWUgIzEwMjg6IFRrIHJldHVybnMgaW52YWxpZCBVbmljb2RlIG51bGwgaW4gJUE6IFVuaWNvZGVEZWNvZGVFcnJvci4KLSAgV2l0aCBUayA8IDguNSBfdGtpbnRlci5jOlB5dGhvbkNtZCgpIHJhaXNlZCBVbmljb2RlRGVjb2RlRXJyb3IsIGNhdXNlZAotICBJRExFIHRvIGV4aXQuICBDb252ZXJ0ZWQgdG8gdmFsaWQgVW5pY29kZSBudWxsIGluIFB5dGhvbkNtZCgpLgotCiAtIElzc3VlICMxMTc5OTogdXJsbGliLnJlcXVlc3QgQXV0aGVudGljYXRpb24gSGFuZGxlcnMgd2lsbCByYWlzZSBhIFZhbHVlRXJyb3IKICAgd2hlbiBwcmVzZW50ZWQgd2l0aCBhbiB1bnN1cHBvcnRlZCBBdXRoZW50aWNhdGlvbiBTY2hlbWUuIFBhdGNoIGNvbnRyaWJ1dGVkCiAgIGJ5IFl1dmFsIEdyZWVuZmllbGQuCkBAIC0zNDg2LDEyICszNDEyLDEyIEBACiAKIC0gSXNzdWUgIzc2Mzk6IEZpeCBzaG9ydCBmaWxlIG5hbWUgZ2VuZXJhdGlvbiBpbiBiZGlzdF9tc2kKIAotLSBJc3N1ZSAjMTE2NTk6IEZpeCBSZXNvdXJjZVdhcm5pbmcgaW4gdGVzdF9zdWJwcm9jZXNzIGludHJvZHVjZWQgYnkgIzExNDU5LgotICBQYXRjaCBieSBCZW4gSGF5ZGVuLgotCiAtIElzc3VlICMxMTYzNTogRG9uJ3QgdXNlIHBvbGxpbmcgaW4gd29ya2VyIHRocmVhZHMgYW5kIHByb2Nlc3NlcyBsYXVuY2hlZCBieQogICBjb25jdXJyZW50LmZ1dHVyZXMuCiAKKy0gSXNzdWUgIzU4NDU6IEF1dG9tYXRpY2FsbHkgcmVhZCByZWFkbGluZSBjb25maWd1cmF0aW9uIHRvIGVuYWJsZSBjb21wbGV0aW9uCisgIGluIGludGVyYWN0aXZlIG1vZGUuCisKIC0gSXNzdWUgIzY4MTE6IEFsbG93IGltcG9ydGxpYiB0byBjaGFuZ2UgYSBjb2RlIG9iamVjdCdzIGNvX2ZpbGVuYW1lIGF0dHJpYnV0ZQogICB0byBtYXRjaCB0aGUgcGF0aCB0byB3aGVyZSB0aGUgc291cmNlIGNvZGUgY3VycmVudGx5IGlzLCBub3Qgd2hlcmUgdGhlIGNvZGUKICAgb2JqZWN0IG9yaWdpbmFsbHkgY2FtZSBmcm9tLgpAQCAtMzUyNiw3ICszNDUyLDcgQEAKIAogLSBJc3N1ZSAjMTExMjc6IFJhaXNlIGEgVHlwZUVycm9yIHdoZW4gdHJ5aW5nIHRvIHBpY2tsZSBhIHNvY2tldCBvYmplY3QuCiAKLS0gSXNzdWUgIzExNTYzOiBDb25uZWN0aW9uOmNsb3NlIGhlYWRlciBpcyBzZW50IGJ5IHJlcXVlc3RzIHVzaW5nIFVSTE9wZW5lcgorLSBJc3N1ZSAjMTE1NjM6IGBgQ29ubmVjdGlvbjogY2xvc2VgYCBoZWFkZXIgaXMgc2VudCBieSByZXF1ZXN0cyB1c2luZyBVUkxPcGVuZXIKICAgY2xhc3Mgd2hpY2ggaGVscHMgaW4gY2xvc2luZyBvZiBzb2NrZXRzIGFmdGVyIGNvbm5lY3Rpb24gaXMgb3Zlci4gUGF0Y2gKICAgY29udHJpYnV0aW9ucyBieSBKZWZmIE1jTmVpbCBhbmQgTmFkZWVtIFZhd2RhLgogCkBAIC0zNTQxLDggKzM0NjcsNiBAQAogLSBJc3N1ZSAjMTA5Nzk6IHVuaXR0ZXN0IHN0ZG91dCBidWZmZXJpbmcgbm93IHdvcmtzIHdpdGggY2xhc3MgYW5kIG1vZHVsZQogICBzZXR1cCBhbmQgdGVhcmRvd24uCiAKLS0gSXNzdWUgIzExNTc3OiBmaXggUmVzb3VyY2VXYXJuaW5nIHRyaWdnZXJlZCBieSBpbXByb3ZlZCBiaW5oZXggdGVzdCBjb3ZlcmFnZQotCiAtIElzc3VlICMxMTI0MzogZml4IHRoZSBwYXJhbWV0ZXIgcXVlcnlpbmcgbWV0aG9kcyBvZiBNZXNzYWdlIHRvIHdvcmsgaWYKICAgdGhlIGhlYWRlcnMgY29udGFpbiB1bi1lbmNvZGVkIG5vbi1BU0NJSSBkYXRhLgogCkBAIC0zNTc1LDkgKzM0OTksNiBAQAogLSBJc3N1ZSAjMTE1NTQ6IEZpeGVkIHN1cHBvcnQgZm9yIEphcGFuZXNlIGNvZGVjczsgcHJldmlvdXNseSB0aGUgYm9keSBvdXRwdXQKICAgZW5jb2Rpbmcgd2FzIG5vdCBkb25lIGlmIGV1Yy1qcCBvciBzaGlmdC1qaXMgd2FzIHNwZWNpZmllZCBhcyB0aGUgY2hhcnNldC4KIAotLSBJc3N1ZSAjMTE1MDk6IFNpZ25pZmljYW50bHkgaW5jcmVhc2UgdGVzdCBjb3ZlcmFnZSBvZiBmaWxlaW5wdXQuCi0gIFBhdGNoIGJ5IERlbnZlciBDb25leWJlYXJlIGF0IFB5Q29uIDIwMTEgU3ByaW50cy4KLQogLSBJc3N1ZSAjMTE0MDc6IGBUZXN0Q2FzZS5ydW5gIHJldHVybnMgdGhlIHJlc3VsdCBvYmplY3QgdXNlZCBvciBjcmVhdGVkLgogICBDb250cmlidXRlZCBieSBKYW5hdGhhbiBIYXJ0bGV5LgogCkBAIC0zNzAwLDExICszNjIxLDYgQEAKIAogLSBJc3N1ZSAjOTM0ODogUmFpc2UgYW4gZWFybHkgZXJyb3IgaWYgYXJncGFyc2UgbmFyZ3MgYW5kIG1ldGF2YXIgZG9uJ3QgbWF0Y2guCiAKLS0gSXNzdWUgIzg5ODI6IEltcHJvdmUgdGhlIGRvY3VtZW50YXRpb24gZm9yIHRoZSBhcmdwYXJzZSBOYW1lc3BhY2Ugb2JqZWN0LgotCi0tIElzc3VlICM5MzQzOiBEb2N1bWVudCB0aGF0IGFyZ3BhcnNlIHBhcmVudCBwYXJzZXJzIG11c3QgYmUgY29uZmlndXJlZCBiZWZvcmUKLSAgdGhlaXIgY2hpbGRyZW4uCi0KIC0gSXNzdWUgIzkwMjY6IEZpeCBvcmRlciBvZiBhcmdwYXJzZSBzdWItY29tbWFuZHMgaW4gaGVscCBtZXNzYWdlcy4KIAogLSBJc3N1ZSAjOTM0NzogRml4IGZvcm1hdHRpbmcgZm9yIHR1cGxlcyBpbiBhcmdwYXJzZSB0eXBlPSBlcnJvciBtZXNzYWdlcy4KQEAgLTM3NTcsMTAgKzM2NzMsNjEgQEAKIAogLSBJc3N1ZSAjMTE0OTU6IE9TRiBzdXBwb3J0IGlzIGVsaW1pbmF0ZWQuIEl0IHdhcyBkZXByZWNhdGVkIGluIFB5dGhvbiAzLjIuCiAKLQogSURMRQogLS0tLQogCistIElzc3VlICMxNDQwOTogSURMRSBub3cgcHJvcGVybHkgZXhlY3V0ZXMgY29tbWFuZHMgaW4gdGhlIFNoZWxsIHdpbmRvdworICB3aGVuIGl0IGNhbm5vdCByZWFkIHRoZSBub3JtYWwgY29uZmlnIGZpbGVzIG9uIHN0YXJ0dXAgYW5kCisgIGhhcyB0byB1c2UgdGhlIGJ1aWx0LWluIGRlZmF1bHQga2V5IGJpbmRpbmdzLgorICBUaGVyZSB3YXMgcHJldmlvdXNseSBhIGJ1ZyBpbiBvbmUgb2YgdGhlIGRlZmF1bHRzLgorCistIElETEUgY2FuIGJlIGxhdW5jaGVkIGFzIHB5dGhvbiAtbSBpZGxlbGliCisKKy0gSXNzdWUgIzM1NzM6IElETEUgaGFuZ3Mgd2hlbiBwYXNzaW5nIGludmFsaWQgY29tbWFuZCBsaW5lIGFyZ3MKKyAgKGRpcmVjdG9yeShpZXMpIGluc3RlYWQgb2YgZmlsZShzKSkgKFBhdGNoIGJ5IEd1aWxoZXJtZSBQb2xvKQorCistIElzc3VlICMxNDIwMDogSURMRSBzaGVsbCBjcmFzaCBvbiBwcmludGluZyBub24tQk1QIHVuaWNvZGUgY2hhcmFjdGVyLgorCistIElzc3VlICM1MjE5OiBQcmV2ZW50IGV2ZW50IGhhbmRsZXIgY2FzY2FkZSBpbiBJRExFLgorCistIElzc3VlICM5NjQ0Mzc6IE1ha2UgSURMRSBoZWxwIHdpbmRvdyBub24tbW9kYWwuCisgIFBhdGNoIGJ5IEd1aWxoZXJtZSBQb2xvIGFuZCBSb2dlciBTZXJ3eS4KKworLSBJc3N1ZSAjMTM5MzM6IElETEUgYXV0by1jb21wbGV0ZSBkaWQgbm90IHdvcmsgd2l0aCBzb21lIGltcG9ydGVkCisgIG1vZHVsZSwgbGlrZSBoYXNobGliLiAgKFBhdGNoIGJ5IFJvZ2VyIFNlcnd5KQorCistIElzc3VlICMxMzUwNjogQWRkICcnIHRvIHBhdGggZm9yIElETEUgU2hlbGwgd2hlbiBzdGFydGVkIGFuZCByZXN0YXJ0ZWQgd2l0aCBSZXN0YXJ0IFNoZWxsLgorICBPcmlnaW5hbCBwYXRjaGVzIGJ5IE1hcmNvIFNjYXRhZ2xpbmkgYW5kIFJvZ2VyIFNlcnd5LgorCistIElzc3VlICM0NjI1OiBJZiBJRExFIGNhbm5vdCB3cml0ZSB0byBpdHMgcmVjZW50IGZpbGUgb3IgYnJlYWtwb2ludCBmaWxlcywKKyAgZGlzcGxheSBhIG1lc3NhZ2UgcG9wdXAgYW5kIGNvbnRpbnVlIHJhdGhlciB0aGFuIGNyYXNoLiAgT3JpZ2luYWwgcGF0Y2ggYnkKKyAgUm9nZXIgU2Vyd3kuCisKKy0gSXNzdWUgIzg2NDE6IFVwZGF0ZSBJRExFIDMgc3ludGF4IGNvbG9yaW5nIHRvIHJlY29nbml6ZSBiIi4uIiBhbmQgbm90IHUiLi4iLgorICBQYXRjaCBieSBUYWwgRWluYXQuCisKKy0gSXNzdWUgIzEzMjk2OiBGaXggSURMRSB0byBjbGVhciBjb21waWxlIF9fZnV0dXJlX18gZmxhZ3Mgb24gc2hlbGwgcmVzdGFydC4KKyAgKFBhdGNoIGJ5IFJvZ2VyIFNlcnd5KQorCistIElzc3VlICM5ODcxOiBQcmV2ZW50IElETEUgMyBjcmFzaCB3aGVuIGdpdmVuIGJ5dGUgc3RpbmdzCisgIHdpdGggaW52YWxpZCBoZXggZXNjYXBlIHNlcXVlbmNlcywgbGlrZSBiJ1x4MCcuCisgIChPcmlnaW5hbCBwYXRjaCBieSBDbGF1ZGl1IFBvcGEuKQorCistIElzc3VlICMxMjYzNjogSURMRSByZWFkcyB0aGUgY29kaW5nIGNvb2tpZSB3aGVuIGV4ZWN1dGluZyBhIFB5dGhvbiBzY3JpcHQuCisKKy0gSXNzdWUgIzEyNTQwOiBQcmV2ZW50IHpvbWJpZSBJRExFIHByb2Nlc3NlcyBvbiBXaW5kb3dzIGR1ZSB0byBjaGFuZ2VzCisgIGluIG9zLmtpbGwoKS4KKworLSBJc3N1ZSAjMTI1OTA6IElETEUgZWRpdG9yIHdpbmRvdyBub3cgYWx3YXlzIGRpc3BsYXlzIHRoZSBmaXJzdCBsaW5lCisgIHdoZW4gb3BlbmluZyBhIGxvbmcgZmlsZS4gIFdpdGggVGsgOC41LCB0aGUgZmlyc3QgbGluZSB3YXMgaGlkZGVuLgorCistIElzc3VlICMxMTA4ODogZG9uJ3QgY3Jhc2ggd2hlbiB1c2luZyBGNSB0byBydW4gYSBzY3JpcHQgaW4gSURMRSBvbiBNYWNPU1gKKyAgd2l0aCBUayA4LjUuCisKKy0gSXNzdWUgIzEwMjg6IFRrIHJldHVybnMgaW52YWxpZCBVbmljb2RlIG51bGwgaW4gJUE6IFVuaWNvZGVEZWNvZGVFcnJvci4KKyAgV2l0aCBUayA8IDguNSBfdGtpbnRlci5jOlB5dGhvbkNtZCgpIHJhaXNlZCBVbmljb2RlRGVjb2RlRXJyb3IsIGNhdXNlZAorICBJRExFIHRvIGV4aXQuICBDb252ZXJ0ZWQgdG8gdmFsaWQgVW5pY29kZSBudWxsIGluIFB5dGhvbkNtZCgpLgorCiAtIElzc3VlICMxMTcxODogSURMRSdzIG9wZW4gbW9kdWxlIGRpYWxvZyBjb3VsZG4ndCBmaW5kIHRoZSBfX2luaXRfXy5weQogICBmaWxlIGluIGEgcGFja2FnZS4KIApAQCAtMzc5MCw2ICszNzU3LDEwIEBACiBFeHRlbnNpb24gTW9kdWxlcwogLS0tLS0tLS0tLS0tLS0tLS0KIAorLSBJc3N1ZSAjMTY4NDc6IEZpeGVkIGltcHJvcGVyIHVzZSBvZiBfUHlVbmljb2RlX0NoZWNrQ29uc2lzdGVuY3koKSBpbgorICBub24tcHlkZWJ1ZyBidWlsZHMuIFNldmVyYWwgZXh0ZW5zaW9uIG1vZHVsZXMgbm93IGNvbXBpbGUgY2xlYW5seSB3aGVuCisgIGFzc2VydCgpcyBhcmUgZW5hYmxlZCBpbiBzdGFuZGFyZCBidWlsZHMgKC1EREVCVUcgZmxhZykuCisKIC0gSXNzdWUgIzEzODQwOiBUaGUgZXJyb3IgbWVzc2FnZSBwcm9kdWNlZCBieSBjdHlwZXMuY3JlYXRlX3N0cmluZ19idWZmZXIKICAgd2hlbiBnaXZlbiBhIFVuaWNvZGUgc3RyaW5nIGhhcyBiZWVuIGZpeGVkLgogCkBAIC0zODUyLDYgKzM4MjMsMzMgQEAKIFRlc3RzCiAtLS0tLQogCistIElzc3VlICMxMzEyNTogU2lsZW5jZSBzcHVyaW91cyB0ZXN0X2xpYjJ0bzMgb3V0cHV0IHdoZW4gaW4gbm9uLXZlcmJvc2UgbW9kZS4KKyAgUGF0Y2ggYnkgTWlraGFpbCBOb3Zpa292LgorCistIElzc3VlICMxMzQ0NzogQWRkIGEgdGVzdCBmaWxlIHRvIGhvc3QgcmVncmVzc2lvbiB0ZXN0cyBmb3IgYnVncyBpbiB0aGUKKyAgc2NyaXB0cyBmb3VuZCBpbiB0aGUgVG9vbHMgZGlyZWN0b3J5LgorCistIElzc3VlICMxMDg4MTogRml4IHRlc3Rfc2l0ZSBmYWlsdXJlIHdpdGggT1MgWCBmcmFtZXdvcmsgYnVpbGRzLgorCistIElzc3VlICMxMzkwMTogUHJldmVudCB0ZXN0X2Rpc3R1dGlscyBmYWlsdXJlcyBvbiBPUyBYIHdpdGggLS1lbmFibGUtc2hhcmVkLgorCistIElzc3VlICMxMzg2MjogRml4IHNwdXJpb3VzIGZhaWx1cmUgaW4gdGVzdF96bGliIGR1ZSB0byBydW50aW1lL2NvbXBpbGUgdGltZQorICBtaW5vciB2ZXJzaW9ucyBub3QgbWF0Y2hpbmcuCisKKy0gSXNzdWUgIzEyODA0OiBGaXggdGVzdF9zb2NrZXQgYW5kIHRlc3RfdXJsbGliMm5ldCBmYWlsdXJlcyB3aGVuIHJ1bm5pbmcgdGVzdHMKKyAgb24gYSBzeXN0ZW0gd2l0aG91dCBpbnRlcm5ldCBhY2Nlc3MuCisKKy0gSXNzdWUgIzEzNzI2OiBGaXggdGhlIGFtYmlndW91cyAtUyBmbGFnIGluIHJlZ3J0ZXN0LiBJdCBpcyAtby8tLXNsb3cgZm9yIHNsb3cKKyAgdGVzdHMuCisKKy0gSXNzdWUgIzExNjU5OiBGaXggUmVzb3VyY2VXYXJuaW5nIGluIHRlc3Rfc3VicHJvY2VzcyBpbnRyb2R1Y2VkIGJ5ICMxMTQ1OS4KKyAgUGF0Y2ggYnkgQmVuIEhheWRlbi4KKworLSBJc3N1ZSAjMTE1Nzc6IGZpeCBSZXNvdXJjZVdhcm5pbmcgdHJpZ2dlcmVkIGJ5IGltcHJvdmVkIGJpbmhleCB0ZXN0IGNvdmVyYWdlCisKKy0gSXNzdWUgIzExNTA5OiBTaWduaWZpY2FudGx5IGluY3JlYXNlIHRlc3QgY292ZXJhZ2Ugb2YgZmlsZWlucHV0LgorICBQYXRjaCBieSBEZW52ZXIgQ29uZXliZWFyZSBhdCBQeUNvbiAyMDExIFNwcmludHMuCisKIC0gSXNzdWUgIzExNjg5OiBGaXggYSB2YXJpYWJsZSBzY29waW5nIGVycm9yIGluIGFuIHNxbGl0ZTMgdGVzdAogCiAtIElzc3VlICMxMzc4NjogUmVtb3ZlIHVuaW1wbGVtZW50ZWQgJ3RyYWNlJyBsb25nIG9wdGlvbiBmcm9tIHJlZ3J0ZXN0LnB5LgpAQCAtNDAzMCw3ICs0MDI4LDcgQEAKIC0gSXNzdWUgIzExNTA1OiBpbXByb3ZlcyB0ZXN0IGNvdmVyYWdlIG9mIHN0cmluZy5weS4gUGF0Y2ggYnkgQWxpY2lhCiAgIEFybGVuCiAKLS0gSXNzdWUgIzExNDkwOiB0ZXN0X3N1YnByb2Nlc3M6dGVzdF9sZWFraW5nX2Zkc19vbl9lcnJvciBubyBsb25nZXIgZ2l2ZXMgYQorLSBJc3N1ZSAjMTE0OTA6IHRlc3Rfc3VicHJvY2Vzcy50ZXN0X2xlYWtpbmdfZmRzX29uX2Vycm9yIG5vIGxvbmdlciBnaXZlcyBhCiAgIGZhbHNlIHBvc2l0aXZlIGlmIHRoZSBsYXN0IGRpcmVjdG9yeSBpbiB0aGUgcGF0aCBpcyBpbmFjY2Vzc2libGUuCiAKIC0gSXNzdWUgIzExMjIzOiBGaXggdGVzdF90aHJlYWRzaWduYWxzIHRvIGZhaWwsIG5vdCBoYW5nLCB3aGVuIHRoZQpAQCAtNDA1NCw2ICs0MDUyLDIzIEBACiBDLUFQSQogLS0tLS0KIAorLSBJc3N1ZSAjMTM0NTI6IFB5VW5pY29kZV9FbmNvZGVEZWNpbWFsKCkgZG9lc24ndCBzdXBwb3J0IGVycm9yIGhhbmRsZXJzCisgIGRpZmZlcmVudCB0aGFuICJzdHJpY3QiIGFueW1vcmUuIFRoZSBjYWxsZXIgd2FzIHVuYWJsZSB0byBjb21wdXRlIHRoZQorICBzaXplIG9mIHRoZSBvdXRwdXQgYnVmZmVyOiBpdCBkZXBlbmRzIG9uIHRoZSBlcnJvciBoYW5kbGVyLgorCistIElzc3VlICMxMzU2MDogQWRkIFB5VW5pY29kZV9EZWNvZGVMb2NhbGUoKSwgUHlVbmljb2RlX0RlY29kZUxvY2FsZUFuZFNpemUoKQorICBhbmQgUHlVbmljb2RlX0VuY29kZUxvY2FsZSgpIGZ1bmN0aW9ucyB0byB0aGUgQyBBUEkgdG8gZGVjb2RlL2VuY29kZSBmcm9tL3RvCisgIHRoZSBjdXJyZW50IGxvY2FsZSBlbmNvZGluZy4KKworLSBJc3N1ZSAjMTA4MzE6IFB5VW5pY29kZV9Gcm9tRm9ybWF0KCkgc3VwcG9ydHMgJWxpLCAlbGxpIGFuZCAlemkgZm9ybWF0cy4KKworLSBJc3N1ZSAjMTEyNDY6IEZpeCBQeVVuaWNvZGVfRnJvbUZvcm1hdCgiJVYiKSB0byBkZWNvZGUgdGhlIGJ5dGUgc3RyaW5nIGZyb20KKyAgVVRGLTggKHdpdGggcmVwbGFjZSBlcnJvciBoYW5kbGVyKSBpbnN0ZWFkIG9mIElTTy04ODU5LTEgKGluIHN0cmljdCBtb2RlKS4KKyAgUGF0Y2ggd3JpdHRlbiBieSBSYXkgQWxsZW4uCisKKy0gSXNzdWUgIzEwODMwOiBGaXggUHlVbmljb2RlX0Zyb21Gb3JtYXRWKCIlYyIpIGZvciBub24tQk1QIGNoYXJhY3RlcnMgb24KKyAgbmFycm93IGJ1aWxkLgorCiAtIEFkZCBQeU9iamVjdF9HZW5lcmljR2V0RGljdCBhbmQgUHlPYmplY3RfR2VuZXJpU2V0RGljdC4gVGhleSBhcmUgZ2VuZXJpYwogICBpbXBsZW1lbnRhdGlvbnMgZm9yIHRoZSBnZXR0ZXIgYW5kIHNldHRlciBvZiBhIGBgX19kaWN0X19gYCBkZXNjcmlwdG9yIG9mIEMKICAgdHlwZXMuCkBAIC00MDc5LDYgKzQwOTQsMjQgQEAKIERvY3VtZW50YXRpb24KIC0tLS0tLS0tLS0tLS0KIAorLSBJc3N1ZSAjMTM5ODk6IERvY3VtZW50IHRoYXQgR3ppcEZpbGUgZG9lcyBub3Qgc3VwcG9ydCB0ZXh0IG1vZGUsIGFuZCBnaXZlIGEKKyAgbW9yZSBoZWxwZnVsIGVycm9yIG1lc3NhZ2Ugd2hlbiBvcGVuZWQgd2l0aCBhbiBpbnZhbGlkIG1vZGUgc3RyaW5nLgorCistIElzc3VlICMxMzkyMTogVW5kb2N1bWVudCBhbmQgY2xlYW4gdXAgc3FsaXRlMy5PcHRpbWl6ZWRVbmljb2RlLAorICB3aGljaCBpcyBvYnNvbGV0ZSBpbiBQeXRob24gMy54LiBJdCdzIG5vdyBhbGlhc2VkIHRvIHN0ciBmb3IKKyAgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkuCisKKy0gSXNzdWUgIzEyMTAyOiBEb2N1bWVudCB0aGF0IGJ1ZmZlcmVkIGZpbGVzIG11c3QgYmUgZmx1c2hlZCBiZWZvcmUgYmVpbmcgdXNlZAorICB3aXRoIG1tYXAuIFBhdGNoIGJ5IFN0ZWZmZW4gRGFvZGUgTnVycG1lc28uCisKKy0gSXNzdWUgIzg5ODI6IEltcHJvdmUgdGhlIGRvY3VtZW50YXRpb24gZm9yIHRoZSBhcmdwYXJzZSBOYW1lc3BhY2Ugb2JqZWN0LgorCistIElzc3VlICM5MzQzOiBEb2N1bWVudCB0aGF0IGFyZ3BhcnNlIHBhcmVudCBwYXJzZXJzIG11c3QgYmUgY29uZmlndXJlZCBiZWZvcmUKKyAgdGhlaXIgY2hpbGRyZW4uCisKKy0gSXNzdWUgIzEzNDk4OiBDbGFyaWZ5IGRvY3Mgb2Ygb3MubWFrZWRpcnMoKSdzIGV4aXN0X29rIGFyZ3VtZW50LiAgRG9uZSB3aXRoCisgIGdyZWF0IG5hdGl2ZS1zcGVha2VyIGhlbHAgZnJvbSBSLiBEYXZpZCBNdXJyYXkuCisKIC0gSXNzdWVzICMxMzQ5MSBhbmQgIzEzOTk1OiBGaXggbWFueSBlcnJvcnMgaW4gc3FsaXRlMyBkb2N1bWVudGF0aW9uLgogICBJbml0aWFsIHBhdGNoIGZvciAjMTM0OTEgYnkgSm9oYW5uZXMgVm9nZWwuCiAKQEAgLTk2NTIsNyArOTY4NSw3IEBACiAKIC0gSXNzdWUgIzEyMTA6IEZpeGVkIGltYXBsaWIgYW5kIGl0cyBkb2N1bWVudGF0aW9uLgogCi0tIElzc3VlICM0MjMzOiBDaGFuZ2VkIHNlbWFudGljIG9mIGBgX2ZpbGVpby5GaWxlSU9gYCdzIGBgY2xvc2UoKWBgIAorLSBJc3N1ZSAjNDIzMzogQ2hhbmdlZCBzZW1hbnRpYyBvZiBgYF9maWxlaW8uRmlsZUlPYGAncyBgYGNsb3NlKClgYAogICBtZXRob2Qgb24gZmlsZSBvYmplY3RzIHdpdGggY2xvc2VmZD1GYWxzZS4gVGhlIGZpbGUgZGVzY3JpcHRvciBpcyBzdGlsbAogICBrZXB0IG9wZW4gYnV0IHRoZSBmaWxlIG9iamVjdCBiZWhhdmVzIGxpa2UgYSBjbG9zZWQgZmlsZS4gVGhlIGBgRmlsZUlPYGAKICAgb2JqZWN0IGFsc28gZ290IGEgbmV3IHJlYWRvbmx5IGF0dHJpYnV0ZSBgYGNsb3NlZmRgYC4KQEAgLTk3OTYsMTMgKzk4MjksMTMgQEAKICAgY3ljbGljIGdhcmJhZ2UgY29sbGVjdGlvbi4KIAogLSBJc3N1ZSAjMzY2ODogRml4IGEgbWVtb3J5IGxlYWsgd2l0aCB0aGUgInMqIiBhcmd1bWVudCBwYXJzZXIgaW4KLSAgUHlBcmdfUGFyc2VUdXBsZSBhbmQgZnJpZW5kcywgd2hpY2ggb2NjdXJyZWQgd2hlbiB0aGUgYXJndW1lbnQgZm9yICJzKiIgCisgIFB5QXJnX1BhcnNlVHVwbGUgYW5kIGZyaWVuZHMsIHdoaWNoIG9jY3VycmVkIHdoZW4gdGhlIGFyZ3VtZW50IGZvciAicyoiCiAgIHdhcyBjb3JyZWN0bHkgcGFyc2VkIGJ1dCBwYXJzaW5nIG9mIHN1YnNlcXVlbnQgYXJndW1lbnRzIGZhaWxlZC4KIAogLSBJc3N1ZSAjMzYxMTogQW4gZXhjZXB0aW9uIF9fY29udGV4dF9fIGNvdWxkIGJlIGNsZWFyZWQgaW4gYSBjb21wbGV4IHBhdHRlcm4KICAgaW52b2x2aW5nIGEgX19kZWxfXyBtZXRob2QgcmUtcmFpc2luZyBhbiBleGNlcHRpb24uCiAKLS0gSXNzdWUgIzI1MzQ6IHNwZWVkIHVwIGlzaW5zdGFuY2UoKSBhbmQgaXNzdWJjbGFzcygpIGJ5IDUwLTcwJSwgc28gYXMgdG8gCistIElzc3VlICMyNTM0OiBzcGVlZCB1cCBpc2luc3RhbmNlKCkgYW5kIGlzc3ViY2xhc3MoKSBieSA1MC03MCUsIHNvIGFzIHRvCiAgIG1hdGNoIFB5dGhvbiAyLjUgc3BlZWQgZGVzcGl0ZSB0aGUgX19pbnN0YW5jZWNoZWNrX18gLyBfX3N1YmNsYXNzY2hlY2tfXwogICBtZWNoYW5pc20uIEluIHRoZSBwcm9jZXNzLCBmaXggYSBidWcgd2hlcmUgaXNpbnN0YW5jZSgpIGFuZCBpc3N1YmNsYXNzKCksCiAgIHdoZW4gZ2l2ZW4gYSB0dXBsZSBvZiBjbGFzc2VzIGFzIHNlY29uZCBhcmd1bWVudCwgd2VyZSBsb29raW5nIHVwCkBAIC05ODgwLDcgKzk5MTMsNyBAQAogCiAtIFRoZSBkZXByZWNhdGlvbiB3YXJuaW5ncyBmb3IgdGhlIGNhbWVsQ2FzZSB0aHJlYWRpbmcgQVBJIG5hbWVzIHdlcmUgcmVtb3ZlZC4KIAotLSBJc3N1ZSAjMzExMDogbXVsdGlwcm9jZXNzaW5nIGZhaWxzIHRvIGNvbXBpZWwgb24gc29sYXJpcyAxMCBkdWUgdG8gbWlzc2luZyAKKy0gSXNzdWUgIzMxMTA6IG11bHRpcHJvY2Vzc2luZyBmYWlscyB0byBjb21waWVsIG9uIHNvbGFyaXMgMTAgZHVlIHRvIG1pc3NpbmcKICAgU0VNX1ZBTFVFX01BWC4KIAogRXh0ZW5zaW9uIE1vZHVsZXMKQEAgLTIxNTkzLDcgKzIxNjI2LDcgQEAKIAogLSBJbXByb3ZlZCBCZU9TIHN1cHBvcnQuCiAKLS0gU3VwcG9ydCBkeW5hbWljIGxvYWRpbmcgb2Ygc2hhcmVkIGxpYnJhcmllcyBvbiBOZXRCU0QgcGxhdGZvcm1zIHRoYXQgCistIFN1cHBvcnQgZHluYW1pYyBsb2FkaW5nIG9mIHNoYXJlZCBsaWJyYXJpZXMgb24gTmV0QlNEIHBsYXRmb3JtcyB0aGF0CiB1c2UgRUxGIChpLmUuLCBNSVBTIGFuZCBBbHBoYSBzeXN0ZW1zKS4KIAogQ29uZmlndXJhdGlvbi9idWlsZCBjaGFuZ2VzCkBAIC0yMTgxMCw3ICsyMTg0Myw3IEBACiBoaWdoZXItbGV2ZWwgY2xhc3NlcyBpbiBjb2RlLnB5LgogCiAtIHR1cnRsZS5weSBpcyBhIG5ldyBtb2R1bGUgZm9yIHNpbXBsZSB0dXJ0bGUgZ3JhcGhpY3MuICBJJ20gc3RpbGwKLXdvcmtpbmcgb24gaXQ7IGxldCBtZSBrbm93IGlmIHlvdSB1c2UgdGhpcyB0byB0ZWFjaCBQeXRob24gdG8gY2hpbGRyZW4gCit3b3JraW5nIG9uIGl0OyBsZXQgbWUga25vdyBpZiB5b3UgdXNlIHRoaXMgdG8gdGVhY2ggUHl0aG9uIHRvIGNoaWxkcmVuCiBvciBvdGhlciBub3ZpY2VzIHdpdGhvdXQgcHJpb3IgcHJvZ3JhbW1pbmcgZXhwZXJpZW5jZS4KIAogT2Jzb2xldGVkIGxpYnJhcnkgbW9kdWxlcwpAQCAtMjE5NDIsNyArMjE5NzUsNyBAQAogQ2hhbmdlcyB0byB0b29scwogLS0tLS0tLS0tLS0tLS0tLQogCi0tIE5ldywgaW1wcm92ZWQgdmVyc2lvbiBvZiBCYXJyeSBXYXJzYXcncyBNaXNjL3B5dGhvbi1tb2RlLmVsIChlZGl0aW5nIAorLSBOZXcsIGltcHJvdmVkIHZlcnNpb24gb2YgQmFycnkgV2Fyc2F3J3MgTWlzYy9weXRob24tbW9kZS5lbCAoZWRpdGluZwogc3VwcG9ydCBmb3IgRW1hY3MpLgogCiAtIHRhYm5hbm55LnB5OiBhZGRlZCBhIC1xICgncXVpZXQnKSBvcHRpb24gdG8gdGFibmFubnksIHdoaWNoIGNhdXNlcwpAQCAtMjIyMTcsNyArMjIyNTAsNyBAQAogLS0tLS0tLS0tLS0tLS0tLS0KIAogLSBJbnN0YWxsIHpsaWIuZGxsIGluIHRoZSBETExzIGRpcmVjdG9yeSBpbnN0ZWFkIG9mIGluIHRoZSB3aW4zMgotc3lzdGVtIGRpcmVjdG9yeSwgdG8gYXZvaWQgY29uZmxpY3RzIHdpdGggb3RoZXIgYXBwbGljYXRpb25zIHRoYXQgaGF2ZSAKK3N5c3RlbSBkaXJlY3RvcnksIHRvIGF2b2lkIGNvbmZsaWN0cyB3aXRoIG90aGVyIGFwcGxpY2F0aW9ucyB0aGF0IGhhdmUKIHRoZWlyIG93biB6bGliLmRsbC4KIAogVGVzdCBTdWl0ZQpAQCAtMjIyOTcsNyArMjIzMzAsNyBAQAogc28gdGhhdCBhIHN5bWxpbmsgdG8gYSBzeW1saW5rIGNhbiB3b3JrLgogCiAtIEFkZGVkIGEgaGFjayBzbyB0aGF0IHdoZW4geW91IHR5cGUgJ3F1aXQnIG9yICdleGl0JyBhdCB0aGUKLWludGVycHJldGVyLCB5b3UgZ2V0IGEgZnJpZW5kbHkgZXhwbGFuYXRpb24gb2YgaG93IHRvIHByZXNzIEN0cmwtRCAob3IgCitpbnRlcnByZXRlciwgeW91IGdldCBhIGZyaWVuZGx5IGV4cGxhbmF0aW9uIG9mIGhvdyB0byBwcmVzcyBDdHJsLUQgKG9yCiBDdHJsLVopIHRvIGV4aXQuCiAKIC0gTmV3IGFuZCBpbXByb3ZlZCBNaXNjL3B5dGhvbi1tb2RlLmVsIChQeXRob24gbW9kZSBmb3IgRW1hY3MpLgpAQCAtMjI0NzAsMTMgKzIyNTAzLDEzIEBACiByYW5nZS4gIEFsc28sIHJhbmRpbnQoYSwgYikgaXMgbm93IHJlZGVmaW5lZCBhcyByYW5kcmFuZ2UoYSwgYisxKSwKIGFkZGluZyBleHRyYSByYW5nZSBhbmQgdHlwZSBjaGVja2luZyB0byBpdHMgYXJndW1lbnRzIQogCi0tIEFkZCBzb21lIHNlbWktdGhyZWFkLXNhZmV0eSB0byByYW5kb20uZ2F1c3MoKSAoaXQgdXNlZCB0byBiZSBhYmxlIHRvIAorLSBBZGQgc29tZSBzZW1pLXRocmVhZC1zYWZldHkgdG8gcmFuZG9tLmdhdXNzKCkgKGl0IHVzZWQgdG8gYmUgYWJsZSB0bwogY3Jhc2ggd2hlbiBpbnZva2VkIGZyb20gc2VwYXJhdGUgdGhyZWFkczsgbm93IHRoZSB3b3JzdCBpdCBjYW4gZG8gaXMKIGdpdmUgYSBkdXBsaWNhdGUgcmVzdWx0IG9jY2FzaW9uYWxseSkuCiAKIC0gU29tZSByZXN0cnVjdHVyaW5nIGFuZCBnZW5lcmFsaXphdGlvbiBkb25lIHRvIGNtZC5weS4KIAotLSBNYWpvciB1cGdyYWRlIHRvIENvbmZpZ1BhcnNlci5weTsgY29udmVydGVkIHRvIHVzaW5nICdyZScsIGFkZGVkIG5ldyAKKy0gTWFqb3IgdXBncmFkZSB0byBDb25maWdQYXJzZXIucHk7IGNvbnZlcnRlZCB0byB1c2luZyAncmUnLCBhZGRlZCBuZXcKIGV4Y2VwdGlvbnMsIHN1cHBvcnQgdW5kZXJzY29yZSBpbiBzZWN0aW9uIGhlYWRlciBhbmQgb3B0aW9uIG5hbWUuICBObwogbG9uZ2VyIGFkZCAnbmFtZScgb3B0aW9uIHRvIGV2ZXJ5IHNlY3Rpb247IGluc3RlYWQsIGFkZCAnX19uYW1lX18nLgogCkBAIC0yMjY3Myw3ICsyMjcwNiw3IEBACiAtLS0tLS0tLS0tLS0tLS0tLQogCiAtIFRoZSByZWdpc3RyeSBrZXkgdXNlZCBpcyBub3cgIjEuNSIgaW5zdGVhZCBvZiAiMS41LngiIC0tIHNvIGZ1dHVyZQotdmVyc2lvbnMgb2YgMS41IGFuZCBNYXJrIEhhbW1vbmQncyB3aW4zMmFsbCBpbnN0YWxsZXIgZG9uJ3QgbmVlZCB0byBiZSAKK3ZlcnNpb25zIG9mIDEuNSBhbmQgTWFyayBIYW1tb25kJ3Mgd2luMzJhbGwgaW5zdGFsbGVyIGRvbid0IG5lZWQgdG8gYmUKIHJlc3luY2hyb25pemVkLgogCiBXaW5kb3dzIFRvb2xzCkBAIC0yMjc0MCw3ICsyMjc3Myw3IEBACiBkeW5hbWljYWxseSBhZGQgb25lIG9yIG1hbnkgZW50cmllcyB0byB0aGUgdGFibGUgb2YgYnVpbHQtaW4gbW9kdWxlcy4KIAogLSBOZXcgbWFjcm8gUHlfSW5pdE1vZHVsZTMobmFtZSwgbWV0aG9kcywgZG9jKSB3aGljaCBjYWxscwotUHlfSW5pdE1vZHVsZTQoKSB3aXRoIGFwcHJvcHJpYXRlIGFyZ3VtZW50cy4gIChUaGUgLTQgdmFyaWFudCByZXF1aXJlcyAKK1B5X0luaXRNb2R1bGU0KCkgd2l0aCBhcHByb3ByaWF0ZSBhcmd1bWVudHMuICAoVGhlIC00IHZhcmlhbnQgcmVxdWlyZXMKIHlvdSB0byBwYXNzIGFuIG9ic2N1cmUgdmVyc2lvbiBudW1iZXIgY29uc3RhbnQgd2hpY2ggaXMgYWx3YXlzIHRoZSBzYW1lLikKIAogLSBOZXcgQVBJcyBQeVN5c19Xcml0ZVN0ZG91dCgpIGFuZCBQeVN5c19Xcml0ZVN0ZGVycigpIHRvIHdyaXRlIHRvCkBAIC0yMjgxMiw3ICsyMjg0NSw3IEBACiBTeW50YXggY2hhbmdlCiAtLS0tLS0tLS0tLS0tCiAKLS0gVGhlIHJhaXNlIHN0YXRlbWVudCBjYW4gbm93IGJlIHVzZWQgd2l0aG91dCBhcmd1bWVudHMsIHRvIHJlLXJhaXNlIAorLSBUaGUgcmFpc2Ugc3RhdGVtZW50IGNhbiBub3cgYmUgdXNlZCB3aXRob3V0IGFyZ3VtZW50cywgdG8gcmUtcmFpc2UKIGEgcHJldmlvdXNseSBzZXQgZXhjZXB0aW9uLiAgVGhpcyBzaG91bGQgYmUgdXNlZCBhZnRlciBjYXRjaGluZyBhbgogZXhjZXB0aW9uIHdpdGggYW4gZXhjZXB0IGNsYXVzZSBvbmx5LCBlaXRoZXIgaW4gdGhlIGV4Y2VwdCBjbGF1c2Ugb3IKIGxhdGVyIGluIHRoZSBzYW1lIGZ1bmN0aW9uLgpAQCAtMjI4NzEsNyArMjI5MDQsNyBAQAogCiAJRGVtby90a2ludGVyL2d1aWRvL3BhaW50LnB5IC0tIERhdmUgTWl0Y2hlbGwKIAlEZW1vL3NvY2tldHMvdW5peHNlcnZlci5weSAtLSBQaWV0IHZhbiBPb3N0cnVtCi0JCisKIAogLSBNdWNoIGJldHRlciBmcmVlemUgc3VwcG9ydC4gIFRoZSBmcmVlemUgc2NyaXB0IGNhbiBub3cgZnJlZXplCiBoaWVyYXJjaGljYWwgbW9kdWxlIG5hbWVzICh3aXRoIGEgY29ycmVzcG9uZGluZyBjaGFuZ2UgdG8gaW1wb3J0LmMpLApAQCAtMjMwMTAsNyArMjMwNDMsNyBAQAogLSBOZXcgY29tbWFuZCBzdXBwb3J0ZWQgYnkgdGhlIGZ0cGxpYiBtb2R1bGU6IHJtZCgpOyBhbHNvIGZpeGVkIHNvbWUKIG1pbm9yIGJ1Z3MuCiAKLS0gVGhlIHByb2ZpbGUgbW9kdWxlIG5vdyB1c2VzIGEgZGlmZmVyZW50IHRpbWVyIGZ1bmN0aW9uIGJ5IGRlZmF1bHQgLS0gCistIFRoZSBwcm9maWxlIG1vZHVsZSBub3cgdXNlcyBhIGRpZmZlcmVudCB0aW1lciBmdW5jdGlvbiBieSBkZWZhdWx0IC0tCiB0aW1lLmNsb2NrKCkgaXMgZ2VuZXJhbGx5IGJldHRlciB0aGFuIG9zLnRpbWVzKCkuICBUaGlzIG1ha2VzIGl0IHdvcmsKIGJldHRlciBvbiBXaW5kb3dzIE5ULCB0b28uCiAKQEAgLTIzMDQ5LDE0ICsyMzA4MiwxNCBAQAogLSBJbiB0aGUgbXVsdGlmaWxlIG1vZHVsZSwgc3VwcG9ydCB0aGUgb3B0aW9uYWwgc2Vjb25kIHBhcmFtZXRlciB0bwogc2VlaygpIHdoZW4gcG9zc2libGUuCiAKLS0gU2V2ZXJhbCBmaXhlcyB0byB0aGUgZ29waGVybGliIG1vZHVsZSBieSBMYXJzIE1hcml1cyBHYXJzaG9sLiAgQWxzbywgCistIFNldmVyYWwgZml4ZXMgdG8gdGhlIGdvcGhlcmxpYiBtb2R1bGUgYnkgTGFycyBNYXJpdXMgR2Fyc2hvbC4gIEFsc28sCiB1cmxwYXJzZSBub3cgY29ycmVjdGx5IGhhbmRsZXMgR29waGVyIFVSTHMgd2l0aCBxdWVyeSBzdHJpbmdzLgogCiAtIEZpeGVkIGEgdGlueSBidWcgaW4gZm9ybWF0X2V4Y2VwdGlvbigpIGluIHRoZSB0cmFjZWJhY2sgbW9kdWxlLgogQWxzbyByZXdyaXRlIHRiX2xpbmVubygpIHRvIGJlIGNvbXBhdGlibGUgd2l0aCBKUHl0aG9uIChhbmQgbm90CiBkaXN0dXJiIHRoZSBjdXJyZW50IGV4Y2VwdGlvbiEpOyBieSBKaW0gSHVndW5pbi4KIAotLSBUaGUgaHR0cGxpYiBtb2R1bGUgaXMgbW9yZSByb2J1c3Qgd2hlbiBzZXJ2ZXJzIHNlbmQgYSBzaG9ydCByZXNwb25zZSAKKy0gVGhlIGh0dHBsaWIgbW9kdWxlIGlzIG1vcmUgcm9idXN0IHdoZW4gc2VydmVycyBzZW5kIGEgc2hvcnQgcmVzcG9uc2UKIC0tIGNvdXJ0ZXN5IFRpbSBPJ01hbGxleS4KIAogVGtpbnRlciBhbmQgZnJpZW5kcwpAQCAtMjMwNzEsNyArMjMxMDQsNyBAQAogbm8gbG9uZ2VyIHVzZSB0aGUgZGVmYXVsdCByb290LgogCiAtIFRoZSBpbnRlcmZhY2VzIGZvciB0aGUgYmluZCooKSBhbmQgdW5iaW5kKCkgd2lkZ2V0IG1ldGhvZHMgaGF2ZSBiZWVuCi1yZWRlc2lnbmVkOyB0aGUgYmluZCooKSBtZXRob2RzIG5vdyByZXR1cm4gdGhlIG5hbWUgb2YgdGhlIFRjbCBjb21tYW5kIAorcmVkZXNpZ25lZDsgdGhlIGJpbmQqKCkgbWV0aG9kcyBub3cgcmV0dXJuIHRoZSBuYW1lIG9mIHRoZSBUY2wgY29tbWFuZAogY3JlYXRlZCBmb3IgdGhlIGNhbGxiYWNrLCBhbmQgdGhpcyBjYW4gYmUgcGFzc2VkIGFzIGEgb3B0aW9uYWwKIGFyZ3VtZW50IHRvIHVuYmluZCgpIGluIG9yZGVyIHRvIGRlbGV0ZSB0aGUgY29tbWFuZCAobm9ybWFsbHksIHN1Y2gKIGNvbW1hbmRzIGFyZSBhdXRvbWF0aWNhbGx5IHVuYm91bmQgd2hlbiB0aGUgd2lkZ2V0IGlzIGRlc3Ryb3llZCwgYnV0CkBAIC0yMzEwNyw3ICsyMzE0MCw3IEBACiBkaWN0aW9uYXJ5IHRvIGFsbG93IHJlY3Vyc2l2ZSBjb250YWluZXIgdHlwZXMgdG8gZGV0ZWN0IHJlY3Vyc2lvbiBpbgogdGhlaXIgcmVwcigpLCBzdHIoKSBhbmQgcHJpbnQgaW1wbGVtZW50YXRpb25zLgogCi0tIE5ldyBmdW5jdGlvbiBQeU9iamVjdF9Ob3QoeCkgY2FsY3VsYXRlcyAobm90IHgpIGFjY29yZGluZyB0byBQeXRob24ncyAKKy0gTmV3IGZ1bmN0aW9uIFB5T2JqZWN0X05vdCh4KSBjYWxjdWxhdGVzIChub3QgeCkgYWNjb3JkaW5nIHRvIFB5dGhvbidzCiBzdGFuZGFyZCBydWxlcyAoYmFzaWNhbGx5LCBpdCBuZWdhdGVzIHRoZSBvdXRjb21lIFB5T2JqZWN0X0lzVHJ1ZSh4KS4KIAogLSBOZXcgZnVuY3Rpb24gX1B5TW9kdWxlX0NsZWFyKCksIHdoaWNoIGNsZWFycyBhIG1vZHVsZSdzIGRpY3Rpb25hcnkKQEAgLTIzMjY4LDcgKzIzMzAxLDcgQEAKIGluc3RhbmNlcyB3aXRoIGNvcHkucHkuICBUaGUgY1BpY2tsZS5jIGNoYW5nZXMgYW5kIHNvbWUgcGlja2xlLnB5CiBjaGFuZ2VzIGFyZSBjb3VydGVzeSBKaW0gRnVsdG9uLgogCi0tIExvY2FsZSBzdXBwb3J0IGluIGhlICJyZSIgKFBlcmwgcmVndWxhciBleHByZXNzaW9ucykgbW9kdWxlLiAgVXNlIAorLSBMb2NhbGUgc3VwcG9ydCBpbiBoZSAicmUiIChQZXJsIHJlZ3VsYXIgZXhwcmVzc2lvbnMpIG1vZHVsZS4gIFVzZQogdGhlIGZsYWcgcmUuTCAob3IgcmUuTE9DQUxFKSB0byBlbmFibGUgbG9jYWxlLXNwZWNpZmljIG1hdGNoaW5nCiBydWxlcyBmb3IgXHcgYW5kIFxiLiAgVGhlIGluLWxpbmUgc3ludGF4IGZvciB0aGlzIGZsYWcgaXMgKD9MKS4KIApAQCAtMjMzMzQsNyArMjMzNjcsNyBAQAogCiAtIFNvbWUgaW1wcm92ZW1lbnRzIHRvIHRoZSBfdGtpbnRlciBidWlsZCBsaW5lIHN1Z2dlc3RlZCBieSBDYXNlIFJvb2xlLgogCi0tIEEgZnVsbCBzdWl0ZSBvZiBwbGF0Zm9ybSBzcGVjaWZpYyBmaWxlcyBmb3IgTmV0QlNEIDEueCwgc3VibWl0dGVkIGJ5IAorLSBBIGZ1bGwgc3VpdGUgb2YgcGxhdGZvcm0gc3BlY2lmaWMgZmlsZXMgZm9yIE5ldEJTRCAxLngsIHN1Ym1pdHRlZCBieQogQW5kZXJzIEFuZGVyc2VuLgogCiAtIE5ldyBTb2xhcmlzIHNwZWNpZmljIGhlYWRlciBTVFJPUFRTLnB5LgpAQCAtMjM0MDQsNyArMjM0MzcsNyBAQAogaWYgdGhlcmUgYXJlIGxvdHMgb2YgZHVwbGljYXRlcywgYW5kIG90aGVyd2lzZSBhdCBsZWFzdCBhcyBnb29kLgogCiAtIEFkZGVkICJ1dWUiIGFzIGFuIGFsaWFzIGZvciAidXVlbmNvZGUiIHRvIG1pbWV0b29scy5weS4gIChIbSwgdGhlCi11dWRlY29kZSBidWcgd2hlcmUgaXQgY29tcGxhaW50cyBhYm91dCB0cmFpbGluZyBnYXJiYWdlIGlzIHN0aWxsIHRoZXJlIAordXVkZWNvZGUgYnVnIHdoZXJlIGl0IGNvbXBsYWludHMgYWJvdXQgdHJhaWxpbmcgZ2FyYmFnZSBpcyBzdGlsbCB0aGVyZQogOi0oICkuCiAKIC0gcGlja2xlLnB5IHJlcXVpcmVzIGludGVnZXJzIGluIHRleHQgbW9kZSB0byBiZSBpbiBkZWNpbWFsIG5vdGF0aW9uCkBAIC0yNDE4MCw3ICsyNDIxMyw3IEBACiBUaGUgUHl0aG9uL0MgQVBJIGZvciBmcmFtZXMgaXMgY2hhbmdlZCAoeW91IHNob3VsZG4ndCBiZSB1c2luZyB0aGlzCiBhbnl3YXkpLgogCi0tIFNpZ25pZmljYW50IHNwZWVkdXAgYnkgaW5saW5pbmcgc29tZSBjb21tb24gb3Bjb2RlcyBmb3IgY29tbW9uIG9wZXJhbmQgCistIFNpZ25pZmljYW50IHNwZWVkdXAgYnkgaW5saW5pbmcgc29tZSBjb21tb24gb3Bjb2RlcyBmb3IgY29tbW9uIG9wZXJhbmQKIHR5cGVzIChlLmcuICBpK2ksIGktaSwgYW5kIGxpc3RbaV0pLiAgRnJlZHJpayBMdW5kaC4KIAogLSBTbWFsbCBzcGVlZHVwIGJ5IHJlb3JkZXJpbmcgdGhlIG1ldGhvZCB0YWJsZXMgb2Ygc29tZSBjb21tb24KQEAgLTI0MjA2LDM0ICsyNDIzOSwzNCBAQAogcHJpbnRpbmcgdGhlIGRvY3VtZW50YXRpb24gbm93IGtpbGxzIGZld2VyIHRyZWVzIC0tIHRoZSBtYXJnaW5zIGhhdmUKIGJlZW4gcmVkdWNlZC4KIAotLSBJIGhhdmUgc3RhcnRlZCBkb2N1bWVudGluZyB0aGUgUHl0aG9uL0MgQVBJLiBVbmZvcnR1bmF0ZWx5IHRoaXMgcHJvamVjdCAKLWhhc24ndCBiZWVuIGNvbXBsZXRlZCB5ZXQuICBJdCB3aWxsIGJlIGNvbXBsZXRlIGJlZm9yZSB0aGUgZmluYWwgcmVsZWFzZSBvZiAKLVB5dGhvbiAxLjUsIHRob3VnaC4gIEF0IHRoZSBtb21lbnQsIGl0J3MgYmV0dGVyIHRvIHJlYWQgdGhlIExhVGVYIHNvdXJjZSAKKy0gSSBoYXZlIHN0YXJ0ZWQgZG9jdW1lbnRpbmcgdGhlIFB5dGhvbi9DIEFQSS4gVW5mb3J0dW5hdGVseSB0aGlzIHByb2plY3QKK2hhc24ndCBiZWVuIGNvbXBsZXRlZCB5ZXQuICBJdCB3aWxsIGJlIGNvbXBsZXRlIGJlZm9yZSB0aGUgZmluYWwgcmVsZWFzZSBvZgorUHl0aG9uIDEuNSwgdGhvdWdoLiAgQXQgdGhlIG1vbWVudCwgaXQncyBiZXR0ZXIgdG8gcmVhZCB0aGUgTGFUZVggc291cmNlCiB0aGFuIHRvIGF0dGVtcHQgdG8gcnVuIGl0IHRocm91Z2ggTGFUZVggYW5kIHByaW50IHRoZSByZXN1bHRpbmcgZHZpIGZpbGUuCiAKLS0gVGhlIHBvc2l4IG1vZHVsZSAoYW5kIGhlbmNlIG9zLnB5KSBub3cgaGFzIGRvYyBzdHJpbmdzISAgVGhhbmtzIHRvIE5laWwgCi1TY2hlbWVuYXVlci4gIEkgcmVjZWl2ZWQgYSBmZXcgb3RoZXIgY29udHJpYnV0aW9ucyBvZiBkb2Mgc3RyaW5ncy4gIEluIG1vc3QgCistIFRoZSBwb3NpeCBtb2R1bGUgKGFuZCBoZW5jZSBvcy5weSkgbm93IGhhcyBkb2Mgc3RyaW5ncyEgIFRoYW5rcyB0byBOZWlsCitTY2hlbWVuYXVlci4gIEkgcmVjZWl2ZWQgYSBmZXcgb3RoZXIgY29udHJpYnV0aW9ucyBvZiBkb2Mgc3RyaW5ncy4gIEluIG1vc3QKIG90aGVyIHBsYWNlcywgZG9jIHN0cmluZ3MgYXJlIHN0aWxsIHdpc2hmdWwgdGhpbmtpbmcuLi4KIAogCiBMYW5ndWFnZSBjaGFuZ2VzCiAtLS0tLS0tLS0tLS0tLS0tCiAKLS0gUHJpdmF0ZSB2YXJpYWJsZXMgd2l0aCBsZWFkaW5nIGRvdWJsZSB1bmRlcnNjb3JlIGFyZSBub3cgYSBwZXJtYW5lbnQgCi1mZWF0dXJlIG9mIHRoZSBsYW5ndWFnZS4gIChUaGVzZSB3ZXJlIGV4cGVyaW1lbnRhbCBpbiByZWxlYXNlIDEuNC4gIEkgaGF2ZSAKLWZhdm9yYWJsZSBleHBlcmllbmNlIHVzaW5nIHRoZW07IEkgY2FuJ3QgbGFiZWwgdGhlbSAiZXhwZXJpbWVudGFsIiAKKy0gUHJpdmF0ZSB2YXJpYWJsZXMgd2l0aCBsZWFkaW5nIGRvdWJsZSB1bmRlcnNjb3JlIGFyZSBub3cgYSBwZXJtYW5lbnQKK2ZlYXR1cmUgb2YgdGhlIGxhbmd1YWdlLiAgKFRoZXNlIHdlcmUgZXhwZXJpbWVudGFsIGluIHJlbGVhc2UgMS40LiAgSSBoYXZlCitmYXZvcmFibGUgZXhwZXJpZW5jZSB1c2luZyB0aGVtOyBJIGNhbid0IGxhYmVsIHRoZW0gImV4cGVyaW1lbnRhbCIKIGZvcmV2ZXIuKQogCi0tIFRoZXJlJ3MgbmV3IHN0cmluZyBsaXRlcmFsIHN5bnRheCBmb3IgInJhdyBzdHJpbmdzIi4gIFByZWZpeGluZyBhIHN0cmluZyAKLWxpdGVyYWwgd2l0aCB0aGUgbGV0dGVyIHIgKG9yIFIpIGRpc2FibGVzIGFsbCBlc2NhcGUgcHJvY2Vzc2luZyBpbiB0aGUgCi1zdHJpbmc7IGZvciBleGFtcGxlLCByJ1xuJyBpcyBhIHR3by1jaGFyYWN0ZXIgc3RyaW5nIGNvbnNpc3Rpbmcgb2YgYSAKLWJhY2tzbGFzaCBmb2xsb3dlZCBieSB0aGUgbGV0dGVyIG4uICBUaGlzIGNvbWJpbmVzIHdpdGggYWxsIGZvcm1zIG9mIHN0cmluZyAKLXF1b3RlczsgaXQgaXMgYWN0dWFsbHkgdXNlZnVsIGZvciB0cmlwbGUgcXVvdGVkIGRvYyBzdHJpbmdzIHdoaWNoIG1pZ2h0IAotY29udGFpbiByZWZlcmVuY2VzIHRvIFxuIG9yIFx0LiAgQW4gZW1iZWRkZWQgcXVvdGUgcHJlZml4ZWQgd2l0aCBhIAotYmFja3NsYXNoIGRvZXMgbm90IHRlcm1pbmF0ZSB0aGUgc3RyaW5nLCBidXQgdGhlIGJhY2tzbGFzaCBpcyBzdGlsbCAKLWluY2x1ZGVkIGluIHRoZSBzdHJpbmc7IGZvciBleGFtcGxlLCByJ1wnJyBpcyBhIHR3by1jaGFyYWN0ZXIgc3RyaW5nIAotY29uc2lzdGluZyBvZiBhIGJhY2tzbGFzaCBhbmQgYSBxdW90ZS4gIChSYXcgc3RyaW5ncyBhcmUgYWxzbyAKLWFmZmVjdGlvbmF0ZWx5IGtub3duIGFzIFJvYmluIHN0cmluZ3MsIGFmdGVyIHRoZWlyIGludmVudG9yLCBSb2JpbiAKKy0gVGhlcmUncyBuZXcgc3RyaW5nIGxpdGVyYWwgc3ludGF4IGZvciAicmF3IHN0cmluZ3MiLiAgUHJlZml4aW5nIGEgc3RyaW5nCitsaXRlcmFsIHdpdGggdGhlIGxldHRlciByIChvciBSKSBkaXNhYmxlcyBhbGwgZXNjYXBlIHByb2Nlc3NpbmcgaW4gdGhlCitzdHJpbmc7IGZvciBleGFtcGxlLCByJ1xuJyBpcyBhIHR3by1jaGFyYWN0ZXIgc3RyaW5nIGNvbnNpc3Rpbmcgb2YgYQorYmFja3NsYXNoIGZvbGxvd2VkIGJ5IHRoZSBsZXR0ZXIgbi4gIFRoaXMgY29tYmluZXMgd2l0aCBhbGwgZm9ybXMgb2Ygc3RyaW5nCitxdW90ZXM7IGl0IGlzIGFjdHVhbGx5IHVzZWZ1bCBmb3IgdHJpcGxlIHF1b3RlZCBkb2Mgc3RyaW5ncyB3aGljaCBtaWdodAorY29udGFpbiByZWZlcmVuY2VzIHRvIFxuIG9yIFx0LiAgQW4gZW1iZWRkZWQgcXVvdGUgcHJlZml4ZWQgd2l0aCBhCitiYWNrc2xhc2ggZG9lcyBub3QgdGVybWluYXRlIHRoZSBzdHJpbmcsIGJ1dCB0aGUgYmFja3NsYXNoIGlzIHN0aWxsCitpbmNsdWRlZCBpbiB0aGUgc3RyaW5nOyBmb3IgZXhhbXBsZSwgcidcJycgaXMgYSB0d28tY2hhcmFjdGVyIHN0cmluZworY29uc2lzdGluZyBvZiBhIGJhY2tzbGFzaCBhbmQgYSBxdW90ZS4gIChSYXcgc3RyaW5ncyBhcmUgYWxzbworYWZmZWN0aW9uYXRlbHkga25vd24gYXMgUm9iaW4gc3RyaW5ncywgYWZ0ZXIgdGhlaXIgaW52ZW50b3IsIFJvYmluCiBGcmllZHJpY2guKQogCiAtIFRoZXJlJ3MgYSBzaW1wbGUgYXNzZXJ0IHN0YXRlbWVudCwgYW5kIGEgbmV3IGV4Y2VwdGlvbgpAQCAtMjQyNjIsMTAgKzI0Mjk1LDEwIEBACiAtIFRoZSBvYnNvbGV0ZSBleGNlcHRpb24gQ29uZmxpY3RFcnJvciAocHJlc3VtYWJseSB1c2VkIGJ5IHRoZSBsb25nCiBvYnNvbGV0ZSBhY2Nlc3Mgc3RhdGVtZW50KSBoYXMgYmVlbiBkZWxldGVkLgogCi0tIFRoZXJlJ3MgYSBuZXcgZnVuY3Rpb24gc3lzLmV4Y19pbmZvKCkgd2hpY2ggcmV0dXJucyB0aGUgdHVwbGUgCistIFRoZXJlJ3MgYSBuZXcgZnVuY3Rpb24gc3lzLmV4Y19pbmZvKCkgd2hpY2ggcmV0dXJucyB0aGUgdHVwbGUKIChzeXMuZXhjX3R5cGUsIHN5cy5leGNfdmFsdWUsIHN5cy5leGNfdHJhY2ViYWNrKSBpbiBhIHRocmVhZC1zYWZlIHdheS4KIAotLSBUaGVyZSdzIGEgbmV3IHZhcmlhYmxlIHN5cy5leGVjdXRhYmxlLCBwb2ludGluZyB0byB0aGUgZXhlY3V0YWJsZSBmaWxlIAorLSBUaGVyZSdzIGEgbmV3IHZhcmlhYmxlIHN5cy5leGVjdXRhYmxlLCBwb2ludGluZyB0byB0aGUgZXhlY3V0YWJsZSBmaWxlCiBmb3IgdGhlIFB5dGhvbiBpbnRlcnByZXRlci4KIAogLSBUaGUgc29ydCgpIG1ldGhvZHMgZm9yIGxpc3RzIG5vIGxvbmdlciB1c2VzIHRoZSBDIGxpYnJhcnkgcXNvcnQoKTsgSQpAQCAtMjQyOTEsMTEgKzI0MzI0LDExIEBACiByZXR1cm5pbmcgZnJvbSBhIGZ1bmN0aW9uIHRoYXQgY2F1Z2h0IGFuIGV4Y2VwdGlvbi4KIAogLSBUaGVyZSdzIGEgbmV3ICJidWZmZXIiIGludGVyZmFjZS4gIENlcnRhaW4gb2JqZWN0cyAoZS5nLiBzdHJpbmdzIGFuZAotYXJyYXlzKSBub3cgc3VwcG9ydCB0aGUgImJ1ZmZlciIgcHJvdG9jb2wuICBCdWZmZXIgb2JqZWN0cyBhcmUgYWNjZXB0YWJsZSAKLXdoZW5ldmVyIGZvcm1lcmx5IGEgc3RyaW5nIHdhcyByZXF1aXJlZCBmb3IgYSB3cml0ZSBvcGVyYXRpb247IG11dGFibGUgCithcnJheXMpIG5vdyBzdXBwb3J0IHRoZSAiYnVmZmVyIiBwcm90b2NvbC4gIEJ1ZmZlciBvYmplY3RzIGFyZSBhY2NlcHRhYmxlCit3aGVuZXZlciBmb3JtZXJseSBhIHN0cmluZyB3YXMgcmVxdWlyZWQgZm9yIGEgd3JpdGUgb3BlcmF0aW9uOyBtdXRhYmxlCiBidWZmZXIgb2JqZWN0cyBjYW4gYmUgdGhlIHRhcmdldCBvZiBhIHJlYWQgb3BlcmF0aW9uIHVzaW5nIHRoZSBjYWxsCi1mLnJlYWRpbnRvKGJ1ZmZlcikuICBBIGNvb2wgZmVhdHVyZSBpcyB0aGF0IHJlZ3VsYXIgZXhwcmVzc2lvbiBtYXRjaGluZyBub3cgCi1hbHNvIHdvcmsgb24gYXJyYXkgb2JqZWN0cy4gIENvbnRyaWJ1dGlvbiBieSBKYWNrIEphbnNlbi4gIChOZWVkcyAKK2YucmVhZGludG8oYnVmZmVyKS4gIEEgY29vbCBmZWF0dXJlIGlzIHRoYXQgcmVndWxhciBleHByZXNzaW9uIG1hdGNoaW5nIG5vdworYWxzbyB3b3JrIG9uIGFycmF5IG9iamVjdHMuICBDb250cmlidXRpb24gYnkgSmFjayBKYW5zZW4uICAoTmVlZHMKIGRvY3VtZW50YXRpb24uKQogCiAtIFN0cmluZyBpbnRlcm5pbmc6IGRpY3Rpb25hcnkgbG9va3VwcyBhcmUgZmFzdGVyIHdoZW4gdGhlIGxvb2t1cApAQCAtMjQ1ODcsNyArMjQ2MjAsNyBAQAogb2YgbWVzc2FnZSBzZXF1ZW5jZSBzcGVjaWZpZXJzIHdpdGhvdXQgaW52b2tpbmcgYSBzdWJwcm9jZXNzLiAgQWxzbwogYWRkZWQgYSBjcmVhdGVtZXNzYWdlKCkgbWV0aG9kIGJ5IExhcnMgV2lyemVuaXVzLgogCi0tIFRoZSBTdHJpbmdJTy5TdHJpbmdJTyBjbGFzcyBub3cgc3VwcG9ydHMgcmVhZGxpbmUobmJ5dGVzKS4gIChMYXJzIAorLSBUaGUgU3RyaW5nSU8uU3RyaW5nSU8gY2xhc3Mgbm93IHN1cHBvcnRzIHJlYWRsaW5lKG5ieXRlcykuICAoTGFycwogV2lyemVuaXVzLikgIChPZiBjb3Vyc2UsIHlvdSBzaG91bGQgYmUgdXNpbmcgY1N0cmluZ0lPIGZvciBwZXJmb3JtYW5jZS4pCiAKIC0gVXNlckRpY3QucHkgc3VwcG9ydHMgdGhlIG5ldyBkaWN0aW9uYXJ5IG1ldGhvZHMgYXMgd2VsbC4KQEAgLTI0NjM1LDggKzI0NjY4LDggQEAKIC0gVmFyaW91cyBzbWFsbCBmaXhlcyB0byB0aGUgbm50cGxpYi5weSBtb2R1bGUgdGhhdCBJIGNhbid0IGJvdGhlciB0bwogZG9jdW1lbnQgaW4gZGV0YWlsLgogCi0tIFNqb2VyZCBNdWxsZW5kZXIncyBtaW1pZnkucHkgbW9kdWxlIG5vdyBzdXBwb3J0cyBiYXNlNjQgZW5jb2RpbmcgYW5kIAotaW5jbHVkZXMgZnVuY3Rpb25zIHRvIGhhbmRsZSB0aGUgZnVubnkgZW5jb2RpbmcgeW91IHNvbWV0aW1lcyBzZWUgaW4gbWFpbCAKKy0gU2pvZXJkIE11bGxlbmRlcidzIG1pbWlmeS5weSBtb2R1bGUgbm93IHN1cHBvcnRzIGJhc2U2NCBlbmNvZGluZyBhbmQKK2luY2x1ZGVzIGZ1bmN0aW9ucyB0byBoYW5kbGUgdGhlIGZ1bm55IGVuY29kaW5nIHlvdSBzb21ldGltZXMgc2VlIGluIG1haWwKIGhlYWRlcnMuICBJdCBpcyBub3cgZG9jdW1lbnRlZC4KIAogLSBtYWlsYm94LnB5OiBBZGRlZCBCYWJ5bE1haWxib3guICBJbXByb3ZlZCB0aGUgd2F5IHRoZSBtYWlsYm94IGlzCkBAIC0yNDk4NywyMyArMjUwMjAsMjMgQEAKIE5UICh0aGUgb2xkIFZDKysgNC4yIE1ha2VmaWxlIGlzIGFsc28gc3RpbGwgc3VwcG9ydGVkLCBidXQgd2lsbAogZXZlbnR1YWxseSBiZSB3aXRoZHJhd24gZHVlIHRvIGl0cyBidWxraW5lc3MpLgogCi0tIFNlZSB0aGUgbm90ZSBvbiB0aGUgbmV3IG1vZHVsZSBzZWFyY2ggcGF0aCBpbiB0aGUgIk1pc2NlbGxhbmVvdXMiIHNlY3Rpb24gCistIFNlZSB0aGUgbm90ZSBvbiB0aGUgbmV3IG1vZHVsZSBzZWFyY2ggcGF0aCBpbiB0aGUgIk1pc2NlbGxhbmVvdXMiIHNlY3Rpb24KIGFib3ZlLgogCiAtIFN1cHBvcnQgZm9yIFdpbjMycyAodGhlIDMyLWJpdCBXaW5kb3dzIEFQSSB1bmRlciBXaW5kb3dzIDMuMSkgaXMKIGJhc2ljYWxseSB3aXRoZHJhd24uICBJZiBpdCBzdGlsbCB3b3JrcyBmb3IgeW91LCB5b3UncmUgbHVja3kuCiAKLS0gVGhlcmUncyBhIG5ldyBleHRlbnNpb24gbW9kdWxlLCBtc3ZjcnQuYywgd2hpY2ggcHJvdmlkZXMgdmFyaW91cyAKLWxvdy1sZXZlbCBvcGVyYXRpb25zIGRlZmluZWQgaW4gdGhlIE1pY3Jvc29mdCBWaXN1YWwgQysrIFJ1bnRpbWUgTGlicmFyeS4gIAotVGhlc2UgaW5jbHVkZSBsb2NraW5nKCksIHNldG1vZGUoKSwgZ2V0X29zZmhhbmRsZSgpLCBzZXRfb3NmaGFuZGxlKCksIGFuZCAKKy0gVGhlcmUncyBhIG5ldyBleHRlbnNpb24gbW9kdWxlLCBtc3ZjcnQuYywgd2hpY2ggcHJvdmlkZXMgdmFyaW91cworbG93LWxldmVsIG9wZXJhdGlvbnMgZGVmaW5lZCBpbiB0aGUgTWljcm9zb2Z0IFZpc3VhbCBDKysgUnVudGltZSBMaWJyYXJ5LgorVGhlc2UgaW5jbHVkZSBsb2NraW5nKCksIHNldG1vZGUoKSwgZ2V0X29zZmhhbmRsZSgpLCBzZXRfb3NmaGFuZGxlKCksIGFuZAogY29uc29sZSBJL08gZnVuY3Rpb25zIGxpa2Uga2JoaXQoKSwgZ2V0Y2goKSBhbmQgcHV0Y2goKS4KIAogLSBUaGUgLXUgb3B0aW9uIG5vdCBvbmx5IHNldHMgdGhlIHN0YW5kYXJkIEkvTyBzdHJlYW1zIHRvIHVuYnVmZmVyZWQKIHN0YXR1cywgYnV0IGFsc28gc2V0cyB0aGVtIGluIGJpbmFyeSBtb2RlLiAgKFRoaXMgY2FuIGFsc28gYmUgZG9uZQogdXNpbmcgbXN2Y3J0LnNldG1vZGUoKSwgYnkgdGhlIHdheS4pCiAKLS0gVGhlLCBzeXMucHJlZml4IGFuZCBzeXMuZXhlY19wcmVmaXggdmFyaWFibGVzIHBvaW50IHRvIHRoZSBkaXJlY3RvcnkgCi13aGVyZSBQeXRob24gaXMgaW5zdGFsbGVkLCBvciB0byB0aGUgdG9wIG9mIHRoZSBzb3VyY2UgdHJlZSwgaWYgaXQgd2FzIHJ1biAKKy0gVGhlLCBzeXMucHJlZml4IGFuZCBzeXMuZXhlY19wcmVmaXggdmFyaWFibGVzIHBvaW50IHRvIHRoZSBkaXJlY3RvcnkKK3doZXJlIFB5dGhvbiBpcyBpbnN0YWxsZWQsIG9yIHRvIHRoZSB0b3Agb2YgdGhlIHNvdXJjZSB0cmVlLCBpZiBpdCB3YXMgcnVuCiBmcm9tIHRoZXJlLgogCiAtIFRoZSB2YXJpb3VzIG9zLnBhdGggbW9kdWxlcyAocG9zaXhwYXRoLCBudHBhdGgsIG1hY3BhdGgpIG5vdyBzdXBwb3J0CkBAIC0yNTAxMSw3ICsyNTA0NCw3IEBACiBvcy5wYXRoLmpvaW4oYSwgYiwgYykgaXMgdGhlIHNhbWUgYXMgb3MucGF0aC5qb2luKGEsIG9zLnBhdGguam9pbihiLAogYykpLgogCi0tIFRoZSBudHBhdGggbW9kdWxlIChub3JtYWxseSB1c2VkIGFzIG9zLnBhdGgpIHN1cHBvcnRzIH4gdG8gJEhPTUUgCistIFRoZSBudHBhdGggbW9kdWxlIChub3JtYWxseSB1c2VkIGFzIG9zLnBhdGgpIHN1cHBvcnRzIH4gdG8gJEhPTUUKIGV4cGFuc2lvbiBpbiBleHBhbmR1c2VyKCkuCiAKIC0gVGhlIGZyZWV6ZSB0b29sIG5vdyB3b3JrcyBvbiBXaW5kb3dzLgpAQCAtMjUzMDksNDcgKzI1MzQyLDQ3IEBACiAKIC0gTmV3IG1vZHVsZSB3aGljaGRiIHJlY29nbml6ZXMgZGJtLCBnZGJtIGFuZCBic2RkYi9kYmhhc2ggZmlsZXMuCiAKLS0gVGhlIERvYy9NYWtlZmlsZSB0YXJnZXRzIGhhdmUgYmVlbiByZW9yZ2FuaXplZCBzb21ld2hhdCB0byByZW1vdmUgdGhlIAorLSBUaGUgRG9jL01ha2VmaWxlIHRhcmdldHMgaGF2ZSBiZWVuIHJlb3JnYW5pemVkIHNvbWV3aGF0IHRvIHJlbW92ZSB0aGUKIGluc2lzdGVuY2Ugb24gYWx3YXlzIGdlbmVyYXRpbmcgUG9zdFNjcmlwdC4KIAogLSBUaGUgdGV4aW5mbyB0byBodG1sIGZpbHRlciAoRG9jL3RleGkyaHRtbC5weSkgaGFzIGJlZW4gaW1wcm92ZWQgc29tZXdoYXQuCiAKLS0gImVycm9ycy5oIiBoYXMgYmVlbiByZW5hbWVkIHRvICJweWVycm9ycy5oIiB0byByZXNvbHZlIGEgbG9uZy1zdGFuZGluZyAKKy0gImVycm9ycy5oIiBoYXMgYmVlbiByZW5hbWVkIHRvICJweWVycm9ycy5oIiB0byByZXNvbHZlIGEgbG9uZy1zdGFuZGluZwogbmFtZSBjb25mbGljdCBvbiB0aGUgTWFjLgogCi0tIExpbmtpbmcgYSBtb2R1bGUgY29tcGlsZWQgd2l0aCBhIGRpZmZlcmVudCBzZXR0aW5nIGZvciBQeV9UUkFDRV9SRUZTIG5vdyAKKy0gTGlua2luZyBhIG1vZHVsZSBjb21waWxlZCB3aXRoIGEgZGlmZmVyZW50IHNldHRpbmcgZm9yIFB5X1RSQUNFX1JFRlMgbm93CiBnZW5lcmF0ZXMgYSBsaW5rZXIgZXJyb3IgcmF0aGVyIHRoYW4gYSBjb3JlIGR1bXAuCiAKLS0gVGhlIGNnaSBtb2R1bGUgaGFzIGEgbmV3IGNvbnZlbmllbmNlIGZ1bmN0aW9uIHByaW50X2V4Y2VwdGlvbigpLCB3aGljaCAKLWZvcm1hdHMgYSBweXRob24gZXhjZXB0aW9uIHVzaW5nIEhUTUwuICBJdCBhbHNvIGZpeGVzIGEgYnVnIGluIHRoZSAKLWNvbXBhdGliaWxpdHkgY29kZSBhbmQgYWRkcyBhIGR1YmlvdXMgZmVhdHVyZSB3aGljaCBtYWtlcyBpdCBwb3NzaWJsZSB0byAKKy0gVGhlIGNnaSBtb2R1bGUgaGFzIGEgbmV3IGNvbnZlbmllbmNlIGZ1bmN0aW9uIHByaW50X2V4Y2VwdGlvbigpLCB3aGljaAorZm9ybWF0cyBhIHB5dGhvbiBleGNlcHRpb24gdXNpbmcgSFRNTC4gIEl0IGFsc28gZml4ZXMgYSBidWcgaW4gdGhlCitjb21wYXRpYmlsaXR5IGNvZGUgYW5kIGFkZHMgYSBkdWJpb3VzIGZlYXR1cmUgd2hpY2ggbWFrZXMgaXQgcG9zc2libGUgdG8KIGhhdmUgdHdvIHF1ZXJ5IHN0cmluZ3MsIG9uZSBpbiB0aGUgVVJMIGFuZCBvbmUgaW4gdGhlIFBPU1QgZGF0YS4KIAotLSBBIHN1YnRsZSBjaGFuZ2UgaW4gdGhlIHVucGlja2xpbmcgb2YgY2xhc3MgaW5zdGFuY2VzIG1ha2VzIGl0IHBvc3NpYmxlIAotdG8gdW5waWNrbGUgaW4gcmVzdHJpY3RlZCBleGVjdXRpb24gbW9kZSwgd2hlcmUgdGhlIF9fZGljdF9fIGF0dHJpYnV0ZSBpcyAKKy0gQSBzdWJ0bGUgY2hhbmdlIGluIHRoZSB1bnBpY2tsaW5nIG9mIGNsYXNzIGluc3RhbmNlcyBtYWtlcyBpdCBwb3NzaWJsZQordG8gdW5waWNrbGUgaW4gcmVzdHJpY3RlZCBleGVjdXRpb24gbW9kZSwgd2hlcmUgdGhlIF9fZGljdF9fIGF0dHJpYnV0ZSBpcwogbm90IGF2YWlsYWJsZSAoYnV0IHNldGF0dHIoKSBpcykuCiAKLS0gRG9jdW1lbnRhdGlvbiBmb3Igb3MucGF0aC5zcGxpdGV4dCgpICg9PSBwb3NpeHBhdGguc3BsaXRleHQoKSkgaGFzIGJlZW4gCistIERvY3VtZW50YXRpb24gZm9yIG9zLnBhdGguc3BsaXRleHQoKSAoPT0gcG9zaXhwYXRoLnNwbGl0ZXh0KCkpIGhhcyBiZWVuCiBjbGVhcmVkIHVwLiAgSXQgc3BsaXRzIGF0IHRoZSAqbGFzdCogZG90LgogCiAtIHBvc2l4ZmlsZSBsb2NraW5nIGlzIG5vdyBhbHNvIGNvcnJlY3RseSBzdXBwb3J0ZWQgb24gQUlYLgogCi0tIFRoZSB0ZW1wZmlsZSBtb2R1bGUgb25jZSBhZ2FpbiBob25vcnMgYW4gaW5pdGlhbCBzZXR0aW5nIG9mIHRtcGRpci4gIEl0IAorLSBUaGUgdGVtcGZpbGUgbW9kdWxlIG9uY2UgYWdhaW4gaG9ub3JzIGFuIGluaXRpYWwgc2V0dGluZyBvZiB0bXBkaXIuICBJdAogbm93IHdvcmtzIG9uIFdpbmRvd3MsIHRvby4KIAotLSBUaGUgdHJhY2ViYWNrIG1vZHVsZSBoYXMgc29tZSBuZXcgZnVuY3Rpb25zIHRvIGV4dHJhY3QsIGZvcm1hdCBhbmQgcHJpbnQgCistIFRoZSB0cmFjZWJhY2sgbW9kdWxlIGhhcyBzb21lIG5ldyBmdW5jdGlvbnMgdG8gZXh0cmFjdCwgZm9ybWF0IGFuZCBwcmludAogdGhlIGFjdGl2ZSBzdGFjay4KIAotLSBTb21lIHRyYW5zbGF0aW9uIGZ1bmN0aW9ucyBpbiB0aGUgdXJsbGliIG1vZHVsZSBoYXZlIGJlZW4gbWFkZSBhIGxpdHRsZSAKKy0gU29tZSB0cmFuc2xhdGlvbiBmdW5jdGlvbnMgaW4gdGhlIHVybGxpYiBtb2R1bGUgaGF2ZSBiZWVuIG1hZGUgYSBsaXR0bGUKIGxlc3Mgc2x1Z2dpc2guCiAKLS0gVGhlIGFkZHRhZ18qIG1ldGhvZHMgZm9yIENhbnZhcyB3aWRnZXRzIGluIFRraW50ZXIgYXMgd2VsbCBhcyBpbiB0aGUgCi1zZXBhcmF0ZSBDYW52YXMgY2xhc3MgaGF2ZSBiZWVuIGZpeGVkIHNvIHRoZXkgYWN0dWFsbHkgZG8gc29tZXRoaW5nIAorLSBUaGUgYWRkdGFnXyogbWV0aG9kcyBmb3IgQ2FudmFzIHdpZGdldHMgaW4gVGtpbnRlciBhcyB3ZWxsIGFzIGluIHRoZQorc2VwYXJhdGUgQ2FudmFzIGNsYXNzIGhhdmUgYmVlbiBmaXhlZCBzbyB0aGV5IGFjdHVhbGx5IGRvIHNvbWV0aGluZwogbWVhbmluZ2Z1bC4KIAogLSBBIHRpbnkgX3Rlc3QoKSBmdW5jdGlvbiBoYXMgYmVlbiBhZGRlZCB0byBUa2ludGVyLnB5LgogCi0tIEEgZ2VuZXJpYyBNYWtlZmlsZSBmb3IgZHluYW1pY2FsbHkgbG9hZGVkIG1vZHVsZXMgaXMgcHJvdmlkZWQgaW4gdGhlIE1pc2MgCistIEEgZ2VuZXJpYyBNYWtlZmlsZSBmb3IgZHluYW1pY2FsbHkgbG9hZGVkIG1vZHVsZXMgaXMgcHJvdmlkZWQgaW4gdGhlIE1pc2MKIHN1YmRpcmVjdG9yeSAoTWlzYy9nTWFrZWZpbGUpLgogCiAtIEEgbmV3IHZlcnNpb24gb2YgcHl0aG9uLW1vZGUuZWwgZm9yIEVtYWNzIGlzIHByb3ZpZGVkLiAgU2VlCkBAIC0yNTM1NywyNSArMjUzOTAsMjUgQEAKIHNlcGFyYXRlIGZpbGUgcHlpbWVudS5lbCBpcyBubyBsb25nZXIgbmVlZGVkLCBpbWVudSBzdXBwb3J0IGlzIGZvbGRlZAogaW50byBweXRob24tbW9kZS5lbC4KIAotLSBUaGUgY29uZmlndXJlIHNjcmlwdCBjYW4gZmluYWxseSBjb3JyZWN0bHkgZmluZCB0aGUgcmVhZGxpbmUgbGlicmFyeSBpbiBhIAotbm9uLXN0YW5kYXJkIGxvY2F0aW9uLiAgVGhlIExERkxBR1MgdmFyaWFibGUgaXMgcGFzc2VkIG9uIHRoZSBNYWtlZmlsZXMgCistIFRoZSBjb25maWd1cmUgc2NyaXB0IGNhbiBmaW5hbGx5IGNvcnJlY3RseSBmaW5kIHRoZSByZWFkbGluZSBsaWJyYXJ5IGluIGEKK25vbi1zdGFuZGFyZCBsb2NhdGlvbi4gIFRoZSBMREZMQUdTIHZhcmlhYmxlIGlzIHBhc3NlZCBvbiB0aGUgTWFrZWZpbGVzCiBmcm9tIHRoZSBjb25maWd1cmUgc2NyaXB0LgogCi0tIFNoYXJlZCBsaWJyYXJpZXMgYXJlIG5vdyBpbnN0YWxsZWQgYXMgcHJvZ3JhbXMgKGkuZS4gd2l0aCBleGVjdXRhYmxlIAorLSBTaGFyZWQgbGlicmFyaWVzIGFyZSBub3cgaW5zdGFsbGVkIGFzIHByb2dyYW1zIChpLmUuIHdpdGggZXhlY3V0YWJsZQogcGVybWlzc2lvbikuICBUaGlzIGlzIHJlcXVpcmVkIG9uIEhQLVVYIGFuZCB3b24ndCBodXJ0IG9uIG90aGVyIHN5c3RlbXMuCiAKLS0gVGhlIG9iamMuYyBtb2R1bGUgaXMgbm8gbG9uZ2VyIHBhcnQgb2YgdGhlIGRpc3RyaWJ1dGlvbi4gIE9iamVjdGl2ZS1DIAorLSBUaGUgb2JqYy5jIG1vZHVsZSBpcyBubyBsb25nZXIgcGFydCBvZiB0aGUgZGlzdHJpYnV0aW9uLiAgT2JqZWN0aXZlLUMKIHN1cHBvcnQgbWF5IGJlY29tZSBhdmFpbGFibGUgYXMgY29udHJpYnV0ZWQgc29mdHdhcmUgb24gdGhlIGZ0cCBzaXRlLgogCiAtIFRoZSBzeWJhc2UgbW9kdWxlIGlzIG5vIGxvbmdlciBwYXJ0IG9mIHRoZSBkaXN0cmlidXRpb24uICBBIG11Y2gKIGltcHJvdmVkIHN5YmFzZSBtb2R1bGUgaXMgYXZhaWxhYmxlIGFzIGNvbnRyaWJ1dGVkIHNvZnR3YXJlIGZyb20gdGhlCiBmdHAgc2l0ZS4KIAotLSBfdGtpbnRlciBpcyBub3cgY29tcGF0aWJsZSB3aXRoIFRjbCA3LjUgLyBUayA0LjEgcGF0Y2gxIG9uIFdpbmRvd3MgYW5kIAotTWFjIChkb24ndCB1c2UgdW5wYXRjaGVkIFRjbC9UayEpLiAgVGhlIGRlZmF1bHQgbGluZSBpbiB0aGUgU2V0dXAuaW4gZmlsZSAKKy0gX3RraW50ZXIgaXMgbm93IGNvbXBhdGlibGUgd2l0aCBUY2wgNy41IC8gVGsgNC4xIHBhdGNoMSBvbiBXaW5kb3dzIGFuZAorTWFjIChkb24ndCB1c2UgdW5wYXRjaGVkIFRjbC9UayEpLiAgVGhlIGRlZmF1bHQgbGluZSBpbiB0aGUgU2V0dXAuaW4gZmlsZQogbm93IGxpbmtzIHdpdGggVGNsIDcuNSAvIFRrIDQuMSByYXRoZXIgdGhhbiA3LjQvNC4wLgogCi0tIEluIFNldHVwLCB5b3UgY2FuIG5vdyB3cml0ZSAiKnNoYXJlZCoiIGluc3RlYWQgb2YgIipub2NvbmZpZyoiLCBhbmQgeW91IAorLSBJbiBTZXR1cCwgeW91IGNhbiBub3cgd3JpdGUgIipzaGFyZWQqIiBpbnN0ZWFkIG9mICIqbm9jb25maWcqIiwgYW5kIHlvdQogY2FuIHVzZSAqLnNvIGFuZCAqLnNsIGFzIHNoYXJlZCBsaWJyYXJpZXMuCiAKIC0gU29tZSBtb3JlIGZpZGdldGluZyBmb3IgQUlYIHNoYXJlZCBsaWJyYXJpZXMuCkBAIC0yNTM4NCw4MSArMjU0MTcsODEgQEAKIChOb3RlIC0tIGEgY29tcGxldGUgcmVwbGFjZW1lbnQgYnkgTmllbHMgTW8ibGxlciwgY2FsbGVkIGdwbW9kdWxlLCBpcwogYXZhaWxhYmxlIGZyb20gdGhlIGNvbnRyaWIgZGlyZWN0b3J5IG9uIHRoZSBmdHAgc2l0ZS4pCiAKLS0gQSB3YXJuaW5nIGlzIHdyaXR0ZW4gdG8gc3lzLnN0ZGVyciB3aGVuIGEgX19kZWxfXyBtZXRob2QgcmFpc2VzIGFuIAorLSBBIHdhcm5pbmcgaXMgd3JpdHRlbiB0byBzeXMuc3RkZXJyIHdoZW4gYSBfX2RlbF9fIG1ldGhvZCByYWlzZXMgYW4KIGV4Y2VwdGlvbiAoZm9ybWVybHksIHN1Y2ggZXhjZXB0aW9ucyB3ZXJlIGNvbXBsZXRlbHkgaWdub3JlZCkuCiAKLS0gVGhlIGNvbmZpZ3VyZSBzY3JpcHQgbm93IGRlZmluZXMgSEFWRV9PTERfQ1BQIGlmIHRoZSBDIHByZXByb2Nlc3NvciBpcyAKKy0gVGhlIGNvbmZpZ3VyZSBzY3JpcHQgbm93IGRlZmluZXMgSEFWRV9PTERfQ1BQIGlmIHRoZSBDIHByZXByb2Nlc3NvciBpcwogaW5jYXBhYmxlIG9mIEFOU0kgc3R5bGUgdG9rZW4gY29uY2F0ZW5hdGlvbiBhbmQgc3RyaW5naWZpY2F0aW9uLgogCi0tIEFsbCBzb3VyY2UgZmlsZXMgKGV4Y2VwdCBhIGZldyBwbGF0Zm9ybSBzcGVjaWZpYyBtb2R1bGVzKSBhcmUgb25jZSBhZ2FpbiAKKy0gQWxsIHNvdXJjZSBmaWxlcyAoZXhjZXB0IGEgZmV3IHBsYXRmb3JtIHNwZWNpZmljIG1vZHVsZXMpIGFyZSBvbmNlIGFnYWluCiBjb21wYXRpYmxlIHdpdGggSyZSIEMgY29tcGlsZXJzIGFzIHdlbGwgYXMgQU5TSSBjb21waWxlcnMuICBJbiBwYXJ0aWN1bGFyLAotQU5TSS1pc21zIGhhdmUgYmVlbiByZW1vdmVkIG9yIG1hZGUgY29uZGl0aW9uYWwgaW4gY29tcGxleG9iamVjdC5jLCAKK0FOU0ktaXNtcyBoYXZlIGJlZW4gcmVtb3ZlZCBvciBtYWRlIGNvbmRpdGlvbmFsIGluIGNvbXBsZXhvYmplY3QuYywKIGdldGFyZ3MuYyBhbmQgb3BlcmF0b3IuYy4KIAotLSBUaGUgYWJzdHJhY3Qgb2JqZWN0IEFQSSBoYXMgdGhyZWUgbmV3IGZ1bmN0aW9ucywgUHlPYmplY3RfRGVsSXRlbSwgCistIFRoZSBhYnN0cmFjdCBvYmplY3QgQVBJIGhhcyB0aHJlZSBuZXcgZnVuY3Rpb25zLCBQeU9iamVjdF9EZWxJdGVtLAogUHlTZXF1ZW5jZV9EZWxJdGVtLCBhbmQgUHlTZXF1ZW5jZV9EZWxTbGljZS4KIAotLSBUaGUgb3BlcmF0b3IgbW9kdWxlIGhhcyBuZXcgZnVuY3Rpb25zIGRlbGl0ZW0gYW5kIGRlbHNsaWNlLCBhbmQgdGhlIAotZnVuY3Rpb25zICJvciIgYW5kICJhbmQiIGFyZSByZW5hbWVkIHRvICJvcl8iIGFuZCAiYW5kXyIgKHNpbmNlICJvciIgYW5kIAorLSBUaGUgb3BlcmF0b3IgbW9kdWxlIGhhcyBuZXcgZnVuY3Rpb25zIGRlbGl0ZW0gYW5kIGRlbHNsaWNlLCBhbmQgdGhlCitmdW5jdGlvbnMgIm9yIiBhbmQgImFuZCIgYXJlIHJlbmFtZWQgdG8gIm9yXyIgYW5kICJhbmRfIiAoc2luY2UgIm9yIiBhbmQKICJhbmQiIGFyZSByZXNlcnZlZCB3b3JkcykuICAoIl9fb3JfXyIgYW5kICJfX2FuZF9fIiBhcmUgdW5jaGFuZ2VkLikKIAotLSBUaGUgZW52aXJvbm1lbnQgbW9kdWxlIGlzIG5vIGxvbmdlciBzdXBwb3J0ZWQ7IHB1dGVudigpIGlzIG5vdyBhIGZ1bmN0aW9uIAorLSBUaGUgZW52aXJvbm1lbnQgbW9kdWxlIGlzIG5vIGxvbmdlciBzdXBwb3J0ZWQ7IHB1dGVudigpIGlzIG5vdyBhIGZ1bmN0aW9uCiBpbiBwb3NpeG1vZHVsZSAoYWxzbyB1bmRlciBOVCkuCiAKIC0gRXJyb3IgaW4gZmlsdGVyKDxmdW5jdGlvbj4sICIiKSBoYXMgYmVlbiBmaXhlZC4KIAogLSBVbnJlY29nbml6ZWQga2V5d29yZCBhcmd1bWVudHMgcmFpc2UgVHlwZUVycm9yLCBub3QgS2V5RXJyb3IuCiAKLS0gQmV0dGVyIHBvcnRhYmlsaXR5LCBmZXdlciBidWdzIGFuZCBtZW1vcnkgbGVha3MsIGZld2VyIGNvbXBpbGVyIHdhcm5pbmdzLCAKKy0gQmV0dGVyIHBvcnRhYmlsaXR5LCBmZXdlciBidWdzIGFuZCBtZW1vcnkgbGVha3MsIGZld2VyIGNvbXBpbGVyIHdhcm5pbmdzLAogc29tZSBtb3JlIGRvY3VtZW50YXRpb24uCiAKLS0gQnVnIGluIGZsb2F0IHBvd2VyIGJvdW5kYXJ5IGNhc2UgKDAuMCB0byB0aGUgbmVnYXRpdmUgaW50ZWdlciBwb3dlcikgCistIEJ1ZyBpbiBmbG9hdCBwb3dlciBib3VuZGFyeSBjYXNlICgwLjAgdG8gdGhlIG5lZ2F0aXZlIGludGVnZXIgcG93ZXIpCiBmaXhlZC4KIAotLSBUaGUgdGVzdCBvZiBuZWdhdGl2ZSBudW1iZXIgdG8gdGhlIGZsb2F0IHBvd2VyIGhhcyBiZWVuIG1vdmVkIGZyb20gdGhlIAotYnVpbHQtaW4gcG93KCkgZnVuY3RpbiB0byBmbG9hdG9iamVjdC5jIChzbyBjb21wbGV4IG51bWJlcnMgY2FuIHlpZWxkIHRoZSAKKy0gVGhlIHRlc3Qgb2YgbmVnYXRpdmUgbnVtYmVyIHRvIHRoZSBmbG9hdCBwb3dlciBoYXMgYmVlbiBtb3ZlZCBmcm9tIHRoZQorYnVpbHQtaW4gcG93KCkgZnVuY3RpbiB0byBmbG9hdG9iamVjdC5jIChzbyBjb21wbGV4IG51bWJlcnMgY2FuIHlpZWxkIHRoZQogY29ycmVjdCByZXN1bHQpLgogCi0tIFRoZSBidWcgaW50cm9kdWNlZCBpbiBiZXRhMiB3aGVyZSBzaGFyZWQgbGlicmFyaWVzIGxvYWRlZCAodXNpbmcgCistIFRoZSBidWcgaW50cm9kdWNlZCBpbiBiZXRhMiB3aGVyZSBzaGFyZWQgbGlicmFyaWVzIGxvYWRlZCAodXNpbmcKIGRsb3BlbigpKSBmcm9tIHRoZSBjdXJyZW50IGRpcmVjdG9yeSB3b3VsZCBmYWlsLCBoYXMgYmVlbiBmaXhlZC4KIAotLSBNb2R1bGVzIGltcG9ydGVkIGFzIHNoYXJlZCBsaWJyYXJpZXMgbm93IGFsc28gaGF2ZSBhIF9fZmlsZV9fIGF0dHJpYnV0ZSwgCi1naXZpbmcgdGhlIGZpbGVuYW1lIGZyb20gd2hpY2ggdGhleSB3ZXJlIGxvYWRlZC4gIFRoZSBvbmx5IG1vZHVsZXMgd2l0aG91dCAKKy0gTW9kdWxlcyBpbXBvcnRlZCBhcyBzaGFyZWQgbGlicmFyaWVzIG5vdyBhbHNvIGhhdmUgYSBfX2ZpbGVfXyBhdHRyaWJ1dGUsCitnaXZpbmcgdGhlIGZpbGVuYW1lIGZyb20gd2hpY2ggdGhleSB3ZXJlIGxvYWRlZC4gIFRoZSBvbmx5IG1vZHVsZXMgd2l0aG91dAogYSBfX2ZpbGVfXyBhdHRyaWJ1dGUgbm93IGFyZSBidWlsdC1pbiBtb2R1bGVzLgogCi0tIE9uIHRoZSBNYWMsIGR5bmFtaWNhbGx5IGxvYWRlZCBtb2R1bGVzIGNhbiBlbmQgaW4gZWl0aGVyICIuc2xiIiBvciAKLSIuPHBsYXRmb3JtPi5zbGIiIHdoZXJlIDxwbGF0Zm9ybT4gaXMgZWl0aGVyICJDRk02OEsiIG9yICJwcGMiLiAgVGhlICIuc2xiIiAKKy0gT24gdGhlIE1hYywgZHluYW1pY2FsbHkgbG9hZGVkIG1vZHVsZXMgY2FuIGVuZCBpbiBlaXRoZXIgIi5zbGIiIG9yCisiLjxwbGF0Zm9ybT4uc2xiIiB3aGVyZSA8cGxhdGZvcm0+IGlzIGVpdGhlciAiQ0ZNNjhLIiBvciAicHBjIi4gIFRoZSAiLnNsYiIKIGV4dGVuc2lvbiBzaG91bGQgb25seSBiZSB1c2VkIGZvciAiZmF0IiBiaW5hcmllcy4KIAotLSBDIEFQSSBhZGRpdGlvbjogbWFyc2hhbC5jIG5vdyBzdXBwb3J0cyAKKy0gQyBBUEkgYWRkaXRpb246IG1hcnNoYWwuYyBub3cgc3VwcG9ydHMKIFB5TWFyc2hhbF9Xcml0ZU9iamVjdFRvU3RyaW5nKG9iamVjdCkuCiAKIC0gQyBBUEkgYWRkaXRpb246IGdldGFyZ3MuYyBub3cgc3VwcG9ydHMKIFB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2RpY3QsIGZvcm1hdCwga3duYW1lcywgLi4uKQogdG8gcGFyc2Uga2V5d29yZCBhcmd1bWVudHMuCiAKLS0gVGhlIFBDIHZlcnNpb25pbmcgc2NoZW1lIChzeXMud2ludmVyKSBoYXMgY2hhbmdlZCBvbmNlIGFnYWluLiAgdGhlIAotdmVyc2lvbiBudW1iZXIgaXMgbm93ICI8ZGlnaXQ+LjxkaWdpdD4uPGRpZ2l0Pi48YXBpdmVyc2lvbj4iLCB3aGVyZSB0aGUgCi1maXJzdCB0aHJlZSA8ZGlnaXQ+cyBhcmUgdGhlIFB5dGhvbiB2ZXJzaW9uIChlLmcuICIxLjQuMCIgZm9yIFB5dGhvbiAxLjQsIAotIjEuNC4xIiBmb3IgUHl0aG9uIDEuNC4xIC0tIHRoZSBiZXRhIGxldmVsIGlzIG5vdCBpbmNsdWRlZCkgYW5kIAorLSBUaGUgUEMgdmVyc2lvbmluZyBzY2hlbWUgKHN5cy53aW52ZXIpIGhhcyBjaGFuZ2VkIG9uY2UgYWdhaW4uICB0aGUKK3ZlcnNpb24gbnVtYmVyIGlzIG5vdyAiPGRpZ2l0Pi48ZGlnaXQ+LjxkaWdpdD4uPGFwaXZlcnNpb24+Iiwgd2hlcmUgdGhlCitmaXJzdCB0aHJlZSA8ZGlnaXQ+cyBhcmUgdGhlIFB5dGhvbiB2ZXJzaW9uIChlLmcuICIxLjQuMCIgZm9yIFB5dGhvbiAxLjQsCisiMS40LjEiIGZvciBQeXRob24gMS40LjEgLS0gdGhlIGJldGEgbGV2ZWwgaXMgbm90IGluY2x1ZGVkKSBhbmQKIDxhcGl2ZXJzaW9uPiBpcyB0aGUgZm91ci1kaWdpdCBQWVRIT05fQVBJX1ZFUlNJT04gKGN1cnJlbnRseSAxMDA1KS4KIAogLSBoMnB5LnB5IGFjY2VwdHMgd2hpdGVzcGFjZSBiZWZvcmUgdGhlICMgaW4gQ1BQIGRpcmVjdGl2ZXMKIAotLSBPbiBTb2xhcmlzIDIuNSwgaXQgc2hvdWxkIG5vdyBiZSBwb3NzaWJsZSB0byB1c2UgZWl0aGVyIFBvc2l4IHRocmVhZHMgb3IgCi1Tb2xhcmlzIHRocmVhZHMgKFhYWDogaG93IGRvIHlvdSBzZWxlY3Qgd2hpY2ggaXMgdXNlZD8/PykuICAoTm90ZTogdGhlIAotUHl0aG9uIHB0aHJlYWRzIGludGVyZmFjZSBkb2Vzbid0IGZ1bGx5IHN1cHBvcnQgc2VtYXBob3JlcyB5ZXQgLS0gYW55b25lIAorLSBPbiBTb2xhcmlzIDIuNSwgaXQgc2hvdWxkIG5vdyBiZSBwb3NzaWJsZSB0byB1c2UgZWl0aGVyIFBvc2l4IHRocmVhZHMgb3IKK1NvbGFyaXMgdGhyZWFkcyAoWFhYOiBob3cgZG8geW91IHNlbGVjdCB3aGljaCBpcyB1c2VkPz8/KS4gIChOb3RlOiB0aGUKK1B5dGhvbiBwdGhyZWFkcyBpbnRlcmZhY2UgZG9lc24ndCBmdWxseSBzdXBwb3J0IHNlbWFwaG9yZXMgeWV0IC0tIGFueW9uZQogY2FyZSB0byBmaXggdGhpcz8pCiAKLS0gVGhyZWFkIHN1cHBvcnQgc2hvdWxkIG5vdyB3b3JrIG9uIEFJWCwgdXNpbmcgZWl0aGVyIERDRSB0aHJlYWRzIG9yIAorLSBUaHJlYWQgc3VwcG9ydCBzaG91bGQgbm93IHdvcmsgb24gQUlYLCB1c2luZyBlaXRoZXIgRENFIHRocmVhZHMgb3IKIHB0aHJlYWRzLgogCiAtIE5ldyBmaWxlIERlbW8vc29ja2V0cy91bmljYXN0LnB5CiAKLS0gV29ya2luZyBNYWMgcG9ydCwgd2l0aCBDRk02OEsgc3VwcG9ydCwgd2l0aCBUayA0LjEgc3VwcG9ydCAodGhvdWdoIG5vdCAKKy0gV29ya2luZyBNYWMgcG9ydCwgd2l0aCBDRk02OEsgc3VwcG9ydCwgd2l0aCBUayA0LjEgc3VwcG9ydCAodGhvdWdoIG5vdAogYm90aCkgKFhYWCkKIAotLSBOZXcgcHJvamVjdCBzZXR1cCBmb3IgUEMgcG9ydCwgbm93IGNvbXBhdGlibGUgd2l0aCBQeXRob25XaW4sIHdpdGggCistIE5ldyBwcm9qZWN0IHNldHVwIGZvciBQQyBwb3J0LCBub3cgY29tcGF0aWJsZSB3aXRoIFB5dGhvbldpbiwgd2l0aAogX3RraW50ZXIgYW5kIE51bVB5IHN1cHBvcnQgKFhYWCkKIAogLSBOZXcgbW9kdWxlIHNpdGUucHkgKFhYWCkKQEAgLTI1NDc1LDcgKzI1NTA4LDcgQEAKIAogLSBzdHJpbmcuYXRvaSBjLnMuIG5vdyByYWlzZSBhbiBleGNlcHRpb24gZm9yIGFuIGVtcHR5IGlucHV0IHN0cmluZy4KIAotLSBBdCBsYXN0LCBpdCBpcyBubyBsb25nZXIgbmVjZXNzYXJ5IHRvIGRlZmluZSBIQVZFX0NPTkZJR19IIGluIG9yZGVyIHRvIAorLSBBdCBsYXN0LCBpdCBpcyBubyBsb25nZXIgbmVjZXNzYXJ5IHRvIGRlZmluZSBIQVZFX0NPTkZJR19IIGluIG9yZGVyIHRvCiBoYXZlIGNvbmZpZy5oIGluY2x1ZGVkIGF0IHZhcmlvdXMgcGxhY2VzLgogCiAtIFVucmVjb2duaXplZCBrZXl3b3JkIGFyZ3VtZW50cyBub3cgcmFpc2UgVHlwZUVycm9yIHJhdGhlciB0aGFuIEtleUVycm9yLgpAQCAtMjU0ODMsMjUgKzI1NTE2LDI1IEBACiAtIFRoZSBtYWtlc2V0dXAgc2NyaXB0IHJlY29nbml6ZXMgZmlsZXMgd2l0aCBleHRlbnNpb24gLnNvIG9yIC5zbCBhcwogKHNoYXJlZCkgbGlicmFyaWVzLgogCi0tICdhY2Nlc3MnIGlzIG5vIGxvbmdlciBhIHJlc2VydmVkIHdvcmQsIGFuZCBhbGwgY29kZSByZWxhdGVkIHRvIGl0cyAKLWltcGxlbWVudGF0aW9uIGlzIGdvbmUgKG9yIGF0IGxlYXN0ICNpZmRlZidlZCBvdXQpLiAgVGhpcyBzaG91bGQgbWFrZSAKKy0gJ2FjY2VzcycgaXMgbm8gbG9uZ2VyIGEgcmVzZXJ2ZWQgd29yZCwgYW5kIGFsbCBjb2RlIHJlbGF0ZWQgdG8gaXRzCitpbXBsZW1lbnRhdGlvbiBpcyBnb25lIChvciBhdCBsZWFzdCAjaWZkZWYnZWQgb3V0KS4gIFRoaXMgc2hvdWxkIG1ha2UKIFB5dGhvbiBhIGxpdHRsZSBzcGVlZGllciB0b28hCiAKLS0gUGVyZm9ybWFuY2UgZW5oYW5jZW1lbnRzIHN1Z2dlc3RlZCBieSBTam9lcmQgTXVsbGVuZGVyLiAgVGhpcyBpbmNsdWRlcyAKLXRoZSBpbnRyb2R1Y3Rpb24gb2YgdHdvIG5ldyBvcHRpb25hbCBmdW5jdGlvbiBwb2ludGVycyBpbiB0eXBlIG9iamVjdCwgCi1nZXRhdHRybyBhbmQgc2V0YXR0cm8sIHdoaWNoIGFyZSBsaWtlIGdldGF0dHIgYW5kIHNldGF0dHIgYnV0IHRha2UgYSAKKy0gUGVyZm9ybWFuY2UgZW5oYW5jZW1lbnRzIHN1Z2dlc3RlZCBieSBTam9lcmQgTXVsbGVuZGVyLiAgVGhpcyBpbmNsdWRlcwordGhlIGludHJvZHVjdGlvbiBvZiB0d28gbmV3IG9wdGlvbmFsIGZ1bmN0aW9uIHBvaW50ZXJzIGluIHR5cGUgb2JqZWN0LAorZ2V0YXR0cm8gYW5kIHNldGF0dHJvLCB3aGljaCBhcmUgbGlrZSBnZXRhdHRyIGFuZCBzZXRhdHRyIGJ1dCB0YWtlIGEKIHN0cmluZyBvYmplY3QgaW5zdGVhZCBvZiBhIEMgc3RyaW5nIHBvaW50ZXIuCiAKLS0gTmV3IG9wZXJhdGlvbnMgaW4gc3RyaW5nIG1vZHVsZTogbHN0cmlwKHMpIGFuZCByc3RyaXAocykgc3RyaXAgd2hpdGVzcGFjZSAKLW9ubHkgb24gdGhlIGxlZnQgb3Igb25seSBvbiB0aGUgcmlnaHQsIEEgbmV3IG9wdGlvbmFsIHRoaXJkIGFyZ3VtZW50IHRvIAotc3BsaXQoKSBzcGVjaWZpZXMgdGhlIG1heGltdW0gbnVtYmVyIG9mIHNlcGFyYXRvcnMgaG9ub3JlZCAoc28gCi1zcGxpdGZpZWxkcyhzLCBzZXAsIG4pIHJldHVybnMgYSBsaXN0IG9mIGF0IG1vc3QgbisxIGVsZW1lbnRzKS4gIChTaW5jZSAKKy0gTmV3IG9wZXJhdGlvbnMgaW4gc3RyaW5nIG1vZHVsZTogbHN0cmlwKHMpIGFuZCByc3RyaXAocykgc3RyaXAgd2hpdGVzcGFjZQorb25seSBvbiB0aGUgbGVmdCBvciBvbmx5IG9uIHRoZSByaWdodCwgQSBuZXcgb3B0aW9uYWwgdGhpcmQgYXJndW1lbnQgdG8KK3NwbGl0KCkgc3BlY2lmaWVzIHRoZSBtYXhpbXVtIG51bWJlciBvZiBzZXBhcmF0b3JzIGhvbm9yZWQgKHNvCitzcGxpdGZpZWxkcyhzLCBzZXAsIG4pIHJldHVybnMgYSBsaXN0IG9mIGF0IG1vc3QgbisxIGVsZW1lbnRzKS4gIChTaW5jZQogMS4zLCBzcGxpdGZpZWxkcyhzLCBOb25lKSBpcyB0b3RhbGx5IGVxdWl2YWxlbnQgdG8gc3BsaXQocykuKQotc3RyaW5nLmNhcHdvcmRzKCkgaGFzIGFuIG9wdGlvbmFsIHNlY29uZCBhcmd1bWVudCBzcGVjaWZ5aW5nIHRoZSAKK3N0cmluZy5jYXB3b3JkcygpIGhhcyBhbiBvcHRpb25hbCBzZWNvbmQgYXJndW1lbnQgc3BlY2lmeWluZyB0aGUKIHNlcGFyYXRvciAod2hpY2ggaXMgcGFzc2VkIHRvIHNwbGl0KCkpLgogCi0tIHJlZ3N1Yi5zcGxpdCgpIGhhcyB0aGUgc2FtZSBhZGRpdGlvbiBhcyBzdHJpbmcuc3BsaXQoKS4gIHJlZ3N1Yi5zcGxpdHgocywgCi1zZXAsIG1heHNlcCkgaW1wbGVtZW50cyB0aGUgZnVuY3Rpb25hbGl0eSB0aGF0IHdhcyByZWdzdWIuc3BsaXQocywgMSkgaW4gCistIHJlZ3N1Yi5zcGxpdCgpIGhhcyB0aGUgc2FtZSBhZGRpdGlvbiBhcyBzdHJpbmcuc3BsaXQoKS4gIHJlZ3N1Yi5zcGxpdHgocywKK3NlcCwgbWF4c2VwKSBpbXBsZW1lbnRzIHRoZSBmdW5jdGlvbmFsaXR5IHRoYXQgd2FzIHJlZ3N1Yi5zcGxpdChzLCAxKSBpbgogMS40YmV0YTIgKHJldHVybiBhIGxpc3QgY29udGFpbmluZyB0aGUgZGVsaW1pdGVycyBhcyB3ZWxsIGFzIHRoZSB3b3JkcykuCiAKIC0gRmluYWwgdG91Y2ggZm9yIEFJWCBsb2FkaW5nLCByZXdyaXR0ZW4gTWlzYy9BSVgtTk9URVMuCkBAIC0yNTU0NSwxMSArMjU1NzgsMTEgQEAKIG1lYW5pbmdmdWwgdmFsdWUgKGEgZmV3IHRoaW5ncyB3ZXJlIGJvdGNoZWQgaW4gYmV0YSAxKS4gIExpYi9kb3NfOHgzCiBpcyBub3cgYSBzdGFuZGFyZCBwYXJ0IG9mIHRoZSBkaXN0cmlidXRpb24gKGFsYXMpLgogCi0tIE1vcmUgaW1wcm92ZW1lbnRzIHRvIHRoZSBpbnN0YWxsYXRpb24gcHJvY2VkdXJlLiAgVHlwaW5nICJtYWtlIGluc3RhbGwiIAotbm93IGluc2VydHMgdGhlIHZlcnNpb24gbnVtYmVyIGluIHRoZSBwYXRobmFtZXMgb2YgYWxtb3N0IGV2ZXJ5dGhpbmcgCi1pbnN0YWxsZWQsIGFuZCBjcmVhdGVzIHRoZSBtYWNoaW5lIGRlcGVuZGVudCBtb2R1bGVzIChGQ05UTC5weSBldGMuKSBpZiBub3QgCi1zdXBwbGllZCBieSB0aGUgZGlzdHJpYnV0aW9uLiAgKFhYWCBUaGVyZSdzIHN0aWxsIGEgcHJvYmxlbSB3aXRoIHRoZSBsYXR0ZXIgCi1iZWNhdXNlIHRoZSAicmVnZW4iIHNjcmlwdCByZXF1aXJlcyB0aGF0IFB5dGhvbiBpcyBpbnN0YWxsZWQuICBTb21lIG1hbnVhbCAKKy0gTW9yZSBpbXByb3ZlbWVudHMgdG8gdGhlIGluc3RhbGxhdGlvbiBwcm9jZWR1cmUuICBUeXBpbmcgIm1ha2UgaW5zdGFsbCIKK25vdyBpbnNlcnRzIHRoZSB2ZXJzaW9uIG51bWJlciBpbiB0aGUgcGF0aG5hbWVzIG9mIGFsbW9zdCBldmVyeXRoaW5nCitpbnN0YWxsZWQsIGFuZCBjcmVhdGVzIHRoZSBtYWNoaW5lIGRlcGVuZGVudCBtb2R1bGVzIChGQ05UTC5weSBldGMuKSBpZiBub3QKK3N1cHBsaWVkIGJ5IHRoZSBkaXN0cmlidXRpb24uICAoWFhYIFRoZXJlJ3Mgc3RpbGwgYSBwcm9ibGVtIHdpdGggdGhlIGxhdHRlcgorYmVjYXVzZSB0aGUgInJlZ2VuIiBzY3JpcHQgcmVxdWlyZXMgdGhhdCBQeXRob24gaXMgaW5zdGFsbGVkLiAgU29tZSBtYW51YWwKIGludGVydmVudGlvbiBtYXkgc3RpbGwgYmUgcmVxdWlyZWQuKSAoVGhpcyBoYXMgYmVlbiBmaXhlZCBpbiAxLjRiZXRhMy4pCiAKIC0gTmV3IG1vZHVsZXM6IGVycm5vLCBvcGVyYXRvciAoWFhYKS4KQEAgLTI1NjEyLDggKzI1NjQ1LDggQEAKIAogLSBBZGRlZCBzeXMucGxhdGZvcm0gYW5kIHN5cy5leGVjX3BsYXRmb3JtIGZvciBCaWxsIEphbnNzZW4uCiAKLS0gSW5zdGFsbGF0aW9uIGhhcyBiZWVuIGNvbXBsZXRlbHkgb3ZlcmhhdWxlZC4gICJtYWtlIGluc3RhbGwiIG5vdyBpbnN0YWxscyAKLWV2ZXJ5dGhpbmcsIG5vdCBqdXN0IHRoZSBweXRob24gYmluYXJ5LiAgSW5zdGFsbGF0aW9uIHVzZXMgdGhlIGluc3RhbGwtc2ggCistIEluc3RhbGxhdGlvbiBoYXMgYmVlbiBjb21wbGV0ZWx5IG92ZXJoYXVsZWQuICAibWFrZSBpbnN0YWxsIiBub3cgaW5zdGFsbHMKK2V2ZXJ5dGhpbmcsIG5vdCBqdXN0IHRoZSBweXRob24gYmluYXJ5LiAgSW5zdGFsbGF0aW9uIHVzZXMgdGhlIGluc3RhbGwtc2gKIHNjcmlwdCAoYm9ycm93ZWQgZnJvbSBYMTEpIHRvIGluc3RhbGwgZWFjaCBmaWxlLgogCiAtIE5ldyBmdW5jdGlvbnMgaW4gdGhlIHBvc2l4IG1vZHVsZTogbWtmaWZvLCBwbG9jaywgcmVtb3ZlICg9PSB1bmxpbmspLApAQCAtMjU2MjMsNTkgKzI1NjU2LDU5IEBACiAKIC0gU2hhcmVkIGxpYnJhcnkgc3VwcG9ydCBmb3IgRnJlZUJTRC4KIAotLSBUaGUgLS13aXRoLXJlYWRsaW5lIG9wdGlvbiBjYW4gbm93IGJlIHVzZWQgd2l0aG91dCBhIERJUkVDVE9SWSBhcmd1bWVudCwgCi1mb3Igc3lzdGVtcyB3aGVyZSBsaWJyZWFkbGluZS4qIGlzIGluIG9uZSBvZiB0aGUgc3RhbmRhcmQgcGxhY2VzLiAgSXQgaXMgCistIFRoZSAtLXdpdGgtcmVhZGxpbmUgb3B0aW9uIGNhbiBub3cgYmUgdXNlZCB3aXRob3V0IGEgRElSRUNUT1JZIGFyZ3VtZW50LAorZm9yIHN5c3RlbXMgd2hlcmUgbGlicmVhZGxpbmUuKiBpcyBpbiBvbmUgb2YgdGhlIHN0YW5kYXJkIHBsYWNlcy4gIEl0IGlzCiBhbHNvIHBvc3NpYmxlIGZvciBpdCB0byBiZSBhIHNoYXJlZCBsaWJyYXJ5LgogCi0tIFRoZSBleHRlbnNpb24gdGtpbnRlciBoYXMgYmVlbiByZW5hbWVkIHRvIF90a2ludGVyLCB0byBhdm9pZCBjb25mdXNpb24gCi13aXRoIFRraW50ZXIucHkgb25jYXNlIGluc2Vuc2l0aXZlIGZpbGUgc3lzdGVtcy4gIEl0IG5vdyBzdXBwb3J0cyBUayA0LjEgYXMgCistIFRoZSBleHRlbnNpb24gdGtpbnRlciBoYXMgYmVlbiByZW5hbWVkIHRvIF90a2ludGVyLCB0byBhdm9pZCBjb25mdXNpb24KK3dpdGggVGtpbnRlci5weSBvbmNhc2UgaW5zZW5zaXRpdmUgZmlsZSBzeXN0ZW1zLiAgSXQgbm93IHN1cHBvcnRzIFRrIDQuMSBhcwogd2VsbCBhcyA0LjAuCiAKLS0gQXV0aG9yJ3MgY2hhbmdlIG9mIGFkZHJlc3MgZnJvbSBDV0kgaW4gQW1zdGVyZGFtLCBUaGUgTmV0aGVybGFuZHMsIHRvIAorLSBBdXRob3IncyBjaGFuZ2Ugb2YgYWRkcmVzcyBmcm9tIENXSSBpbiBBbXN0ZXJkYW0sIFRoZSBOZXRoZXJsYW5kcywgdG8KIENOUkkgaW4gUmVzdG9uLCBWQSwgVVNBLgogCi0tIFRoZSBtYXRoLmh5cG90KCkgZnVuY3Rpb24gaXMgbm93IGFsd2F5cyBhdmFpbGFibGUgKGlmIGl0IGlzbid0IGZvdW5kIGluIAorLSBUaGUgbWF0aC5oeXBvdCgpIGZ1bmN0aW9uIGlzIG5vdyBhbHdheXMgYXZhaWxhYmxlIChpZiBpdCBpc24ndCBmb3VuZCBpbgogdGhlIEMgbWF0aCBsaWJyYXJ5LCBQeXRob24gcHJvdmlkZXMgaXRzIG93biBpbXBsZW1lbnRhdGlvbikuCiAKLS0gVGhlIGxhdGV4IGRvY3VtZW50YXRpb24gaXMgbm93IGNvbXBhdGlibGUgd2l0aCBsYXRleDJlLCB0aGFua3MgdG8gRGF2aWQgCistIFRoZSBsYXRleCBkb2N1bWVudGF0aW9uIGlzIG5vdyBjb21wYXRpYmxlIHdpdGggbGF0ZXgyZSwgdGhhbmtzIHRvIERhdmlkCiBBc2NoZXIuCiAKIC0gVGhlIGV4cHJlc3Npb24geCoqeSBpcyBub3cgZXF1aXZhbGVudCB0byBwb3coeCwgeSkuCiAKIC0gVGhlIGluZGV4aW5nIGV4cHJlc3Npb24geFthLCBiLCBjXSBpcyBub3cgZXF1aXZhbGVudCB0byB4WyhhLCBiLCBjKV0uCiAKLS0gQ29tcGxleCBudW1iZXJzIGFyZSBub3cgc3VwcG9ydGVkLiAgSW1hZ2luYXJ5IGNvbnN0YW50cyBhcmUgd3JpdHRlbiB3aXRoIAotYSAnaicgb3IgJ0onIHByZWZpeCwgZ2VuZXJhbCBjb21wbGV4IG51bWJlcnMgY2FuIGJlIGZvcm1lZCBieSBhZGRpbmcgYSByZWFsIAotcGFydCB0byBhbiBpbWFnaW5hcnkgcGFydCwgbGlrZSAzKzRqLiAgQ29tcGxleCBudW1iZXJzIGFyZSBhbHdheXMgc3RvcmVkIGluIAotZmxvYXRpbmcgcG9pbnQgZm9ybSwgc28gdGhpcyBpcyBlcXVpdmFsZW50IHRvIDMuMCs0LjBqLiAgSXQgaXMgYWxzbyAKLXBvc3NpYmxlIHRvIGNyZWF0ZSBjb21wbGV4IG51bWJlcnMgd2l0aCB0aGUgbmV3IGJ1aWx0LWluIGZ1bmN0aW9uIAotY29tcGxleChyZSwgW2ltXSkuICBGb3IgdGhlIGZvb3RwcmludC1jb25zY2lvdXMsIGNvbXBsZXggbnVtYmVyIHN1cHBvcnQgY2FuIAorLSBDb21wbGV4IG51bWJlcnMgYXJlIG5vdyBzdXBwb3J0ZWQuICBJbWFnaW5hcnkgY29uc3RhbnRzIGFyZSB3cml0dGVuIHdpdGgKK2EgJ2onIG9yICdKJyBwcmVmaXgsIGdlbmVyYWwgY29tcGxleCBudW1iZXJzIGNhbiBiZSBmb3JtZWQgYnkgYWRkaW5nIGEgcmVhbAorcGFydCB0byBhbiBpbWFnaW5hcnkgcGFydCwgbGlrZSAzKzRqLiAgQ29tcGxleCBudW1iZXJzIGFyZSBhbHdheXMgc3RvcmVkIGluCitmbG9hdGluZyBwb2ludCBmb3JtLCBzbyB0aGlzIGlzIGVxdWl2YWxlbnQgdG8gMy4wKzQuMGouICBJdCBpcyBhbHNvCitwb3NzaWJsZSB0byBjcmVhdGUgY29tcGxleCBudW1iZXJzIHdpdGggdGhlIG5ldyBidWlsdC1pbiBmdW5jdGlvbgorY29tcGxleChyZSwgW2ltXSkuICBGb3IgdGhlIGZvb3RwcmludC1jb25zY2lvdXMsIGNvbXBsZXggbnVtYmVyIHN1cHBvcnQgY2FuCiBiZSBkaXNhYmxlZCBieSBkZWZpbmluZyB0aGUgc3ltYm9sIFdJVEhPVVRfQ09NUExFWC4KIAogLSBOZXcgYnVpbHQtaW4gZnVuY3Rpb24gbGlzdCgpIGlzIHRoZSBsb25nLWF3YWl0ZWQgY291bnRlcnBhcnQgb2YgdHVwbGUoKS4KIAotLSBUaGVyZSdzIGEgbmV3ICJjbWF0aCIgbW9kdWxlIHdoaWNoIHByb3ZpZGVzIHRoZSBzYW1lIGZ1bmN0aW9ucyBhcyB0aGUgCi0ibWF0aCIgbGlicmFyeSBidXQgd2l0aCBjb21wbGV4IGFyZ3VtZW50cyBhbmQgcmVzdWx0cy4gIChUaGVyZSBhcmUgdmVyeSAKLWdvb2QgcmVhc29ucyB3aHkgbWF0aC5zcXJ0KC0xKSBzdGlsbCByYWlzZXMgYW4gZXhjZXB0aW9uIC0tIHlvdSBoYXZlIHRvIHVzZSAKKy0gVGhlcmUncyBhIG5ldyAiY21hdGgiIG1vZHVsZSB3aGljaCBwcm92aWRlcyB0aGUgc2FtZSBmdW5jdGlvbnMgYXMgdGhlCisibWF0aCIgbGlicmFyeSBidXQgd2l0aCBjb21wbGV4IGFyZ3VtZW50cyBhbmQgcmVzdWx0cy4gIChUaGVyZSBhcmUgdmVyeQorZ29vZCByZWFzb25zIHdoeSBtYXRoLnNxcnQoLTEpIHN0aWxsIHJhaXNlcyBhbiBleGNlcHRpb24gLS0geW91IGhhdmUgdG8gdXNlCiBjbWF0aC5zcXJ0KC0xKSB0byBnZXQgMWogZm9yIGFuIGFuc3dlci4pCiAKLS0gVGhlIFB5dGhvbi5oIGhlYWRlciBmaWxlICh3aGljaCBpcyByZWFsbHkgdGhlIHNhbWUgYXMgYWxsb2JqZWN0cy5oIGV4Y2VwdCAKLWl0IGRpc2FibGVzIHN1cHBvcnQgZm9yIG9sZCBzdHlsZSBuYW1lcykgbm93IGluY2x1ZGVzIHNldmVyYWwgbW9yZSBmaWxlcywgCistIFRoZSBQeXRob24uaCBoZWFkZXIgZmlsZSAod2hpY2ggaXMgcmVhbGx5IHRoZSBzYW1lIGFzIGFsbG9iamVjdHMuaCBleGNlcHQKK2l0IGRpc2FibGVzIHN1cHBvcnQgZm9yIG9sZCBzdHlsZSBuYW1lcykgbm93IGluY2x1ZGVzIHNldmVyYWwgbW9yZSBmaWxlcywKIHNvIHlvdSBoYXZlIHRvIGhhdmUgZmV3ZXIgI2luY2x1ZGUgc3RhdGVtZW50cyBpbiB0aGUgYXZlcmFnZSBleHRlbnNpb24uCiAKLS0gVGhlIE5ERUJVRyBzeW1ib2wgaXMgbm8gbG9uZ2VyIHVzZWQuICBDb2RlIHRoYXQgdXNlZCB0byBiZSBkZXBlbmRlbnQgb24gCi10aGUgcHJlc2VuY2Ugb2YgTkRFQlVHIGlzIG5vdyBwcmVzZW50IG9uIHRoZSBhYnNlbmNlIG9mIERFQlVHLiAgVFJBQ0VfUkVGUyAKLWFuZCBSRUZfREVCVUcgaGF2ZSBiZWVuIHJlbmFtZWQgdG8gUHlfVFJBQ0VfUkVGUyBhbmQgUHlfUkVGX0RFQlVHLCAKLXJlc3BlY3RpdmVseS4gIEF0IGxvbmcgbGFzdCwgdGhlIHNvdXJjZSBhY3R1YWxseSBjb21waWxlcyBhbmQgbGlua3Mgd2l0aG91dCAKKy0gVGhlIE5ERUJVRyBzeW1ib2wgaXMgbm8gbG9uZ2VyIHVzZWQuICBDb2RlIHRoYXQgdXNlZCB0byBiZSBkZXBlbmRlbnQgb24KK3RoZSBwcmVzZW5jZSBvZiBOREVCVUcgaXMgbm93IHByZXNlbnQgb24gdGhlIGFic2VuY2Ugb2YgREVCVUcuICBUUkFDRV9SRUZTCithbmQgUkVGX0RFQlVHIGhhdmUgYmVlbiByZW5hbWVkIHRvIFB5X1RSQUNFX1JFRlMgYW5kIFB5X1JFRl9ERUJVRywKK3Jlc3BlY3RpdmVseS4gIEF0IGxvbmcgbGFzdCwgdGhlIHNvdXJjZSBhY3R1YWxseSBjb21waWxlcyBhbmQgbGlua3Mgd2l0aG91dAogZXJyb3JzIHdoZW4gdGhpcyBzeW1ib2wgaXMgZGVmaW5lZC4KIAotLSBTZXZlcmFsIHN5bWJvbHMgdGhhdCBkaWRuJ3QgZm9sbG93IHRoZSBuZXcgbmFtaW5nIHNjaGVtZSBoYXZlIGJlZW4gCi1yZW5hbWVkICh1c3VhbGx5IGJ5IGFkZGluZyB0byByZW5hbWUyLmgpIHRvIHVzZSBhIFB5IG9yIF9QeSBwcmVmaXguICBUaGVyZSAKLWFyZSBubyBleHRlcm5hbCBzeW1ib2xzIGxlZnQgd2l0aG91dCBhIFB5IG9yIF9QeSBwcmVmaXgsIG5vdCBldmVuIHRob3NlIAotZGVmaW5lZCBieSBzb3VyY2VzIHRoYXQgd2VyZSBpbmNvcnBvcmF0ZWQgZnJvbSBlbHNld2hlcmUgKHJlZ2V4cHIuYywgCistIFNldmVyYWwgc3ltYm9scyB0aGF0IGRpZG4ndCBmb2xsb3cgdGhlIG5ldyBuYW1pbmcgc2NoZW1lIGhhdmUgYmVlbgorcmVuYW1lZCAodXN1YWxseSBieSBhZGRpbmcgdG8gcmVuYW1lMi5oKSB0byB1c2UgYSBQeSBvciBfUHkgcHJlZml4LiAgVGhlcmUKK2FyZSBubyBleHRlcm5hbCBzeW1ib2xzIGxlZnQgd2l0aG91dCBhIFB5IG9yIF9QeSBwcmVmaXgsIG5vdCBldmVuIHRob3NlCitkZWZpbmVkIGJ5IHNvdXJjZXMgdGhhdCB3ZXJlIGluY29ycG9yYXRlZCBmcm9tIGVsc2V3aGVyZSAocmVnZXhwci5jLAogbWQ1Yy5jKS4gIChNYWNyb3MgYXJlIGEgZGlmZmVyZW50IHN0b3J5Li4uKQogCi0tIFRoZXJlIGFyZSBub3cgdHlwZWRlZnMgZm9yIHRoZSBzdHJ1Y3R1cmVzIGRlZmluZWQgaW4gY29uZmlnLmMgYW5kIAorLSBUaGVyZSBhcmUgbm93IHR5cGVkZWZzIGZvciB0aGUgc3RydWN0dXJlcyBkZWZpbmVkIGluIGNvbmZpZy5jIGFuZAogZnJvemVuLmMuCiAKIC0gTmV3IFBZVEhPTl9BUElfVkVSU0lPTiB2YWx1ZSBhbmQgLnB5YyBmaWxlIG1hZ2ljIG51bWJlci4KQEAgLTI1Njg5LDEyNSArMjU3MjIsMTI1IEBACiAtIFRoZSBiaW5oZXggYW5kIGJpbmFzY2lpIG1vZHVsZXMgbm93IGFjdHVhbGx5IHdvcmsuCiAKIC0gVGhlIGNnaSBtb2R1bGUgaGFzIGJlZW4gYWxtb3N0IHRvdGFsbHkgcmV3cml0dGVuIGFuZCBkb2N1bWVudGVkLgotSXQgbm93IHN1cHBvcnRzIGZpbGUgdXBsb2FkIGFuZCBhIG5ldyBkYXRhIHR5cGUgdG8gaGFuZGxlIGZvcm1zIG1vcmUgCitJdCBub3cgc3VwcG9ydHMgZmlsZSB1cGxvYWQgYW5kIGEgbmV3IGRhdGEgdHlwZSB0byBoYW5kbGUgZm9ybXMgbW9yZQogZmxleGlibHkuCiAKIC0gVGhlIGZvcm1hdHRlciBtb2R1bGUgKGZvciB1c2Ugd2l0aCBodG1sbGliKSBoYXMgYmVlbiBvdmVyaGF1bGVkIChhZ2FpbikuCiAKIC0gVGhlIGZ0cGxpYiBtb2R1bGUgbm93IHN1cHBvcnRzIHBhc3NpdmUgbW9kZSBhbmQgaGFzIGRvYyBzdHJpbmdzLgogCi0tIEluIChpZGVhbGx5KSBhbGwgcGxhY2VzIHdoZXJlIGJpbmFyeSBmaWxlcyBhcmUgcmVhZCBvciB3cml0dGVuLCB0aGUgZmlsZSAKLWlzIG5vdyBjb3JyZWN0bHkgb3BlbmVkIGluIGJpbmFyeSBtb2RlICgncmInIG9yICd3YicpIHNvIHRoZSBjb2RlIHdpbGwgd29yayAKKy0gSW4gKGlkZWFsbHkpIGFsbCBwbGFjZXMgd2hlcmUgYmluYXJ5IGZpbGVzIGFyZSByZWFkIG9yIHdyaXR0ZW4sIHRoZSBmaWxlCitpcyBub3cgY29ycmVjdGx5IG9wZW5lZCBpbiBiaW5hcnkgbW9kZSAoJ3JiJyBvciAnd2InKSBzbyB0aGUgY29kZSB3aWxsIHdvcmsKIG9uIE1hYyBvciBQQy4KIAotLSBEdW1teSB2ZXJzaW9ucyBvZiBvcy5wYXRoLmV4cGFuZHZhcnMoKSBhbmQgZXhwYW5kdXNlcigpIGFyZSBub3cgcHJvdmlkZWQgCistIER1bW15IHZlcnNpb25zIG9mIG9zLnBhdGguZXhwYW5kdmFycygpIGFuZCBleHBhbmR1c2VyKCkgYXJlIG5vdyBwcm92aWRlZAogb24gbm9uLVVuaXggcGxhdGZvcm1zLgogCi0tIE1vZHVsZSB1cmxsaWIgbm93IGhhcyB0d28gbmV3IGZ1bmN0aW9ucyB1cmwycGF0aG5hbWUgYW5kIHBhdGhuYW1lMnVybCAKLXdoaWNoIHR1cm4gbG9jYWwgZmlsZW5hbWVzIGludG8gImZpbGU6Li4uIiBVUkxzIHVzaW5nIHRoZSBzYW1lIHJ1bGVzIGFzIAotTmV0c2NhcGUgKHdoeSBiZSBkaWZmZXJlbnQpLiAgaXQgYWxzbyBzdXBwb3J0cyB1cmxyZXRyaWV2ZSgpIHdpdGggYSAKLXBhdGhuYW1lIHBhcmFtZXRlciwgYW5kIGhvbm9ycyB0aGUgcHJveHkgZW52aXJvbm1lbnQgdmFyaWFibGVzIChodHRwX3Byb3h5IAorLSBNb2R1bGUgdXJsbGliIG5vdyBoYXMgdHdvIG5ldyBmdW5jdGlvbnMgdXJsMnBhdGhuYW1lIGFuZCBwYXRobmFtZTJ1cmwKK3doaWNoIHR1cm4gbG9jYWwgZmlsZW5hbWVzIGludG8gImZpbGU6Li4uIiBVUkxzIHVzaW5nIHRoZSBzYW1lIHJ1bGVzIGFzCitOZXRzY2FwZSAod2h5IGJlIGRpZmZlcmVudCkuICBpdCBhbHNvIHN1cHBvcnRzIHVybHJldHJpZXZlKCkgd2l0aCBhCitwYXRobmFtZSBwYXJhbWV0ZXIsIGFuZCBob25vcnMgdGhlIHByb3h5IGVudmlyb25tZW50IHZhcmlhYmxlcyAoaHR0cF9wcm94eQogZXRjLikuICBUaGUgVVJMIHBhcnNpbmcgaGFzIGJlZW4gaW1wcm92ZWQgc29tZXdoYXQsIHRvby4KIAotLSBNaWNybyBpbXByb3ZlbWVudHMgdG8gdXJscGFyc2UuICBBZGRlZCB1cmxwYXJzZS51cmxkZWZyYWcoKSB3aGljaCAKKy0gTWljcm8gaW1wcm92ZW1lbnRzIHRvIHVybHBhcnNlLiAgQWRkZWQgdXJscGFyc2UudXJsZGVmcmFnKCkgd2hpY2gKIHJlbW92ZXMgYSB0cmFpbGluZyBgYCNmcmFnbWVudCcnIGlmIGFueS4KIAogLSBUaGUgbWFpbGJveCBtb2R1bGUgbm93IHN1cHBvcnRzIE1IIHN0eWxlIG1lc3NhZ2UgZGVsaW1pdGVycyBhcyB3ZWxsLgogCi0tIFRoZSBtaGxpYiBtb2R1bGUgY29udGFpbnMgc29tZSBuZXcgZnVuY3Rpb25hbGl0eTogc2V0Y29udGV4dCgpIHRvIHNldCB0aGUgCi1jdXJyZW50IGZvbGRlciBhbmQgcGFyc2VzZXF1ZW5jZSgpIHRvIHBhcnNlIGEgc2VxdWVuY2UgYXMgY29tbW9ubHkgcGFzc2VkIAorLSBUaGUgbWhsaWIgbW9kdWxlIGNvbnRhaW5zIHNvbWUgbmV3IGZ1bmN0aW9uYWxpdHk6IHNldGNvbnRleHQoKSB0byBzZXQgdGhlCitjdXJyZW50IGZvbGRlciBhbmQgcGFyc2VzZXF1ZW5jZSgpIHRvIHBhcnNlIGEgc2VxdWVuY2UgYXMgY29tbW9ubHkgcGFzc2VkCiB0byBNSCBjb21tYW5kcyAoZS5nLiAxLTEwIG9yIGxhc3Q6NSkuCiAKLS0gTmV3IG1vZHVsZSBtaW1pZnkgZm9yIGNvbnZlcnNpb24gdG8gYW5kIGZyb20gTUlNRSBmb3JtYXQgb2YgZW1haWwgCistIE5ldyBtb2R1bGUgbWltaWZ5IGZvciBjb252ZXJzaW9uIHRvIGFuZCBmcm9tIE1JTUUgZm9ybWF0IG9mIGVtYWlsCiBtZXNzYWdlcy4KIAotLSBNb2R1bGUgbmkgbm93IGF1dG9tYXRpY2FsbHkgaW5zdGFsbHMgaXRzZWxmIHdoZW4gZmlyc3QgaW1wb3J0ZWQgLS0gdGhpcyAKLWlzIGFnYWluc3QgdGhlIG5vcm1hbCBydWxlIHRoYXQgbW9kdWxlcyBzaG91bGQgZGVmaW5lIGNsYXNzZXMgYW5kIGZ1bmN0aW9ucyAKLWJ1dCBub3QgaW52b2tlIHRoZW0sIGJ1dCBhcHBlYXJzIG1vcmUgdXNlZnVsIGluIHRoZSBjYXNlIHRoYXQgdHdvIAorLSBNb2R1bGUgbmkgbm93IGF1dG9tYXRpY2FsbHkgaW5zdGFsbHMgaXRzZWxmIHdoZW4gZmlyc3QgaW1wb3J0ZWQgLS0gdGhpcworaXMgYWdhaW5zdCB0aGUgbm9ybWFsIHJ1bGUgdGhhdCBtb2R1bGVzIHNob3VsZCBkZWZpbmUgY2xhc3NlcyBhbmQgZnVuY3Rpb25zCitidXQgbm90IGludm9rZSB0aGVtLCBidXQgYXBwZWFycyBtb3JlIHVzZWZ1bCBpbiB0aGUgY2FzZSB0aGF0IHR3bwogZGlmZmVyZW50LCBpbmRlcGVuZGVudCBtb2R1bGVzIHdhbnQgdG8gdXNlIG5pJ3MgZmVhdHVyZXMuCiAKIC0gU29tZSBzbWFsbCBwZXJmb3JtYW5jZSBlbmhhbmNlbWVudHMgaW4gbW9kdWxlIHBpY2tsZS4KIAotLSBTbWFsbCBpbnRlcmZhY2UgY2hhbmdlIHRvIHRoZSBwcm9maWxlLnJ1biooKSBmYW1pbHkgb2YgZnVuY3Rpb25zIC0tIG1vcmUgCistIFNtYWxsIGludGVyZmFjZSBjaGFuZ2UgdG8gdGhlIHByb2ZpbGUucnVuKigpIGZhbWlseSBvZiBmdW5jdGlvbnMgLS0gbW9yZQogc2Vuc2libGUgaGFuZGxpbmcgb2YgcmV0dXJuIHZhbHVlcy4KIAotLSBUaGUgb2ZmaWNpYWxseSByZWdpc3RlcmVkIE1hYyBjcmVhdG9yIGZvciBQeXRob24gZmlsZXMgaXMgJ1B5dGgnLiAgVGhpcyAKKy0gVGhlIG9mZmljaWFsbHkgcmVnaXN0ZXJlZCBNYWMgY3JlYXRvciBmb3IgUHl0aG9uIGZpbGVzIGlzICdQeXRoJy4gIFRoaXMKIHJlcGxhY2VzICdQWVRIJyB3aGljaCB3YXMgdXNlZCBiZWZvcmUgYnV0IG5ldmVyIHJlZ2lzdGVyZWQuCiAKIC0gQWRkZWQgcmVnc3ViLmNhcHdvcmRzKCkuICAoWFhYKQogCi0tIEFkZGVkIHN0cmluZy5jYXB3b3JkcygpLCBzdHJpbmcuY2FwaXRhbGl6ZSgpIGFuZCBzdHJpbmcudHJhbnNsYXRlKCkuICAKKy0gQWRkZWQgc3RyaW5nLmNhcHdvcmRzKCksIHN0cmluZy5jYXBpdGFsaXplKCkgYW5kIHN0cmluZy50cmFuc2xhdGUoKS4KIChYWFgpCiAKLS0gRml4ZWQgYW4gaW50ZXJmYWNlIGJ1ZyBpbiB0aGUgcmV4ZWMgbW9kdWxlOiBpdCB3YXMgaW1wb3NzaWJsZSB0byBwYXNzIGEgCi1ob29rcyBpbnN0YW5jZSB0byB0aGUgUkV4ZWMgY2xhc3MuICByZXhlYyBub3cgYWxzbyBzdXBwb3J0cyB0aGUgZHluYW1pYyAKLWxvYWRpbmcgb2YgbW9kdWxlcyBmcm9tIHNoYXJlZCBsaWJyYXJpZXMuICBTb21lIG90aGVyIGludGVyZmFjZXMgaGF2ZSBiZWVuIAorLSBGaXhlZCBhbiBpbnRlcmZhY2UgYnVnIGluIHRoZSByZXhlYyBtb2R1bGU6IGl0IHdhcyBpbXBvc3NpYmxlIHRvIHBhc3MgYQoraG9va3MgaW5zdGFuY2UgdG8gdGhlIFJFeGVjIGNsYXNzLiAgcmV4ZWMgbm93IGFsc28gc3VwcG9ydHMgdGhlIGR5bmFtaWMKK2xvYWRpbmcgb2YgbW9kdWxlcyBmcm9tIHNoYXJlZCBsaWJyYXJpZXMuICBTb21lIG90aGVyIGludGVyZmFjZXMgaGF2ZSBiZWVuCiBhZGRlZCB0b28uCiAKLS0gTW9kdWxlIHJmYzgyMiBub3cgY2FjaGVzIHRoZSBoZWFkZXJzIGluIGEgZGljdGlvbmFyeSBmb3IgbW9yZSBlZmZpY2llbnQgCistIE1vZHVsZSByZmM4MjIgbm93IGNhY2hlcyB0aGUgaGVhZGVycyBpbiBhIGRpY3Rpb25hcnkgZm9yIG1vcmUgZWZmaWNpZW50CiBsb29rdXAuCiAKLS0gVGhlIHNnbWxsaWIgbW9kdWxlIG5vdyB1bmRlcnN0YW5kcyBhIGxpbWl0ZWQgbnVtYmVyIG9mIFNHTUwgInNob3J0aGFuZHMiIAorLSBUaGUgc2dtbGxpYiBtb2R1bGUgbm93IHVuZGVyc3RhbmRzIGEgbGltaXRlZCBudW1iZXIgb2YgU0dNTCAic2hvcnRoYW5kcyIKIGxpa2UgPEEvLi4uLyBmb3IgPEE+Li4uPC9BPi4gIChJdCdzIG5vdCBjbGVhciB0aGF0IHRoaXMgd2FzIGEgZ29vZCBpZGVhLi4uKQogCi0tIFRoZSB0ZW1wZmlsZSBtb2R1bGUgYWN0dWFsbHkgdHJpZXMgYSBudW1iZXIgb2YgZGlmZmVyZW50IHBsYWNlcyB0byBmaW5kIGEgCi11c2FibGUgdGVtcG9yYXJ5IGRpcmVjdG9yeS4gIChUaGlzIHdhcyBwcm9tcHRlZCBieSBjZXJ0YWluIExpbnV4IAotaW5zdGFsbGF0aW9ucyB0aGF0IGFwcGVhciB0byBiZSBtaXNzaW5nIGEgL3Vzci90bXAgZGlyZWN0b3J5LikgW0EgYnVnIGluIAotdGhlIGltcGxlbWVudGF0aW9uIHRoYXQgd291bGQgaWdub3JlIGEgcHJlLWV4aXN0aW5nIHRtcGRpciBnbG9iYWwgaGFzIGJlZW4gCistIFRoZSB0ZW1wZmlsZSBtb2R1bGUgYWN0dWFsbHkgdHJpZXMgYSBudW1iZXIgb2YgZGlmZmVyZW50IHBsYWNlcyB0byBmaW5kIGEKK3VzYWJsZSB0ZW1wb3JhcnkgZGlyZWN0b3J5LiAgKFRoaXMgd2FzIHByb21wdGVkIGJ5IGNlcnRhaW4gTGludXgKK2luc3RhbGxhdGlvbnMgdGhhdCBhcHBlYXIgdG8gYmUgbWlzc2luZyBhIC91c3IvdG1wIGRpcmVjdG9yeS4pIFtBIGJ1ZyBpbgordGhlIGltcGxlbWVudGF0aW9uIHRoYXQgd291bGQgaWdub3JlIGEgcHJlLWV4aXN0aW5nIHRtcGRpciBnbG9iYWwgaGFzIGJlZW4KIGZpeGVkIGluIGJldGEzLl0KIAogLSBNdWNoIGltcHJvdmVkIGFuZCBlbmhhbnZlZCBGaWxlRGlhbG9nIG1vZHVsZSBmb3IgVGtpbnRlci4KIAotLSBNYW55IHNtYWxsIGNoYW5nZXMgdG8gVGtpbnRlciwgdG8gYnJpbmcgaXQgbW9yZSBpbiBsaW5lIHdpdGggVGsgNC4wIChhcyAKKy0gTWFueSBzbWFsbCBjaGFuZ2VzIHRvIFRraW50ZXIsIHRvIGJyaW5nIGl0IG1vcmUgaW4gbGluZSB3aXRoIFRrIDQuMCAoYXMKIHdlbGwgYXMgVGsgNC4xKS4KIAotLSBOZXcgc29ja2V0IGludGVyZmFjZXMgaW5jbHVkZSBudG9ocygpLCBudG9obCgpLCBodG9ucygpLCBodG9ubCgpLCBhbmQgCi1zLmR1cCgpLiAgU29ja2V0cyBub3cgd29yayBjb3JyZWN0bHkgb24gV2luZG93cy4gIE9uIFdpbmRvd3MsIHRoZSBidWlsdC1pbiAKLWV4dGVuc2lvbiBpcyBjYWxsZWQgX3NvY2tldCBhbmQgYSB3cmFwcGVyIG1vZHVsZSB3aW4vc29ja2V0LnB5IHByb3ZpZGVzIAotIm1ha2VmaWxlKCkiIGFuZCAiZHVwKCkiIGZ1bmN0aW9uYWxpdHkuICBPbiBXaW5kb3dzLCB0aGUgc2VsZWN0IG1vZHVsZSAKKy0gTmV3IHNvY2tldCBpbnRlcmZhY2VzIGluY2x1ZGUgbnRvaHMoKSwgbnRvaGwoKSwgaHRvbnMoKSwgaHRvbmwoKSwgYW5kCitzLmR1cCgpLiAgU29ja2V0cyBub3cgd29yayBjb3JyZWN0bHkgb24gV2luZG93cy4gIE9uIFdpbmRvd3MsIHRoZSBidWlsdC1pbgorZXh0ZW5zaW9uIGlzIGNhbGxlZCBfc29ja2V0IGFuZCBhIHdyYXBwZXIgbW9kdWxlIHdpbi9zb2NrZXQucHkgcHJvdmlkZXMKKyJtYWtlZmlsZSgpIiBhbmQgImR1cCgpIiBmdW5jdGlvbmFsaXR5LiAgT24gV2luZG93cywgdGhlIHNlbGVjdCBtb2R1bGUKIHdvcmtzIG9ubHkgd2l0aCBzb2NrZXQgb2JqZWN0cy4KIAogLSBCdWdzIGluIGJzZGRiIG1vZHVsZSBmaXhlZCAoZS5nLiBtaXNzaW5nIGRlZmF1bHQgYXJndW1lbnQgdmFsdWVzKS4KIAogLSBUaGUgY3Vyc2VzIGV4dGVuc2lvbiBub3cgaW5jbHVkZXMgPG5jdXJzZXMuaD4gd2hlbiBhdmFpbGFibGUuCiAKLS0gVGhlIGdkYm0gbW9kdWxlIG5vdyBzdXBwb3J0cyBvcGVuaW5nIGRhdGFiYXNlcyBpbiAiZmFzdCIgbW9kZSBieSAKKy0gVGhlIGdkYm0gbW9kdWxlIG5vdyBzdXBwb3J0cyBvcGVuaW5nIGRhdGFiYXNlcyBpbiAiZmFzdCIgbW9kZSBieQogc3BlY2lmeWluZyAnZicgYXMgdGhlIHNlY29uZCBjaGFyYWN0ZXIgb3IgdGhlIG1vZGUgc3RyaW5nLgogCi0tIG5ldyB2YXJpYWJsZXMgc3lzLnByZWZpeCBhbmQgc3lzLmV4ZWNfcHJlZml4IHBhc3MgY29ycmVzcG9uZGluZyAKKy0gbmV3IHZhcmlhYmxlcyBzeXMucHJlZml4IGFuZCBzeXMuZXhlY19wcmVmaXggcGFzcyBjb3JyZXNwb25kaW5nCiBjb25maWd1cmF0aW9uIG9wdGlvbnMgLyBNYWtlZmlsZSB2YXJpYWJsZXMgdG8gdGhlIFB5dGhvbiBwcm9ncmFtbWVyLgogCi0tIFRoZSBgYG5ldycnIG1vZHVsZSBub3cgc3VwcG9ydHMgY3JlYXRpbmcgbmV3IHVzZXItZGVmaW5lZCBjbGFzc2VzIGFzIHdlbGwgCistIFRoZSBgYG5ldycnIG1vZHVsZSBub3cgc3VwcG9ydHMgY3JlYXRpbmcgbmV3IHVzZXItZGVmaW5lZCBjbGFzc2VzIGFzIHdlbGwKIGFzIGluc3RhbmNlcyB0aGVyZW9mLgogCi0tIFRoZSBzb3VuZGV4IG1vZHVsZSBub3cgc3BvcnRzIGdldF9zb3VuZGV4KCkgdG8gZ2V0IHRoZSBzb3VuZGV4IHZhbHVlIGZvciBhbiAKLWFyYml0cmFyeSBzdHJpbmcgKGZvcm1lcmx5IGl0IHdvdWxkIG9ubHkgZG8gc291bmRleC1iYXNlZCBzdHJpbmcgCistIFRoZSBzb3VuZGV4IG1vZHVsZSBub3cgc3BvcnRzIGdldF9zb3VuZGV4KCkgdG8gZ2V0IHRoZSBzb3VuZGV4IHZhbHVlIGZvciBhbgorYXJiaXRyYXJ5IHN0cmluZyAoZm9ybWVybHkgaXQgd291bGQgb25seSBkbyBzb3VuZGV4LWJhc2VkIHN0cmluZwogY29tcGFyaXNvbikgYXMgd2VsbCBhcyBkb2Mgc3RyaW5ncy4KIAotLSBOZXcgb2JqZWN0IHR5cGUgImNvYmplY3QiIHRvIHNhZmVseSB3cmFwIHZvaWQgcG9pbnRlcnMgZm9yIHBhc3NpbmcgdGhlbSAKKy0gTmV3IG9iamVjdCB0eXBlICJjb2JqZWN0IiB0byBzYWZlbHkgd3JhcCB2b2lkIHBvaW50ZXJzIGZvciBwYXNzaW5nIHRoZW0KIGJldHdlZW4gdmFyaW91cyBleHRlbnNpb24gbW9kdWxlcy4KIAogLSBNb3JlIGVmZmljaWVudCBjb21wdXRhdGlvbiBvZiBmbG9hdCoqc21hbGxpbnQuCiAKLS0gVGhlIG15c3RlcmlvdXMgYnVnIHdoZXJlYnkgIngueCIgKHR3byBvY2N1cnJlbmNlcyBvZiB0aGUgc2FtZSAKLW9uZS1jaGFyYWN0ZXIgbmFtZSkgdHlwZWQgZnJvbSB0aGUgY29tbWFuZGxpbmUgd291bGQgc29tZXRpbWVzIGZhaWwgCistIFRoZSBteXN0ZXJpb3VzIGJ1ZyB3aGVyZWJ5ICJ4LngiICh0d28gb2NjdXJyZW5jZXMgb2YgdGhlIHNhbWUKK29uZS1jaGFyYWN0ZXIgbmFtZSkgdHlwZWQgZnJvbSB0aGUgY29tbWFuZGxpbmUgd291bGQgc29tZXRpbWVzIGZhaWwKIG15c3RlcmlvdXNseS4KIAotLSBUaGUgaW5pdGlhbGl6YXRpb24gb2YgdGhlIHJlYWRsaW5lIGZ1bmN0aW9uIGNhbiBub3cgYmUgaW52b2tlZCBieSBhIEMgCistIFRoZSBpbml0aWFsaXphdGlvbiBvZiB0aGUgcmVhZGxpbmUgZnVuY3Rpb24gY2FuIG5vdyBiZSBpbnZva2VkIGJ5IGEgQwogZXh0ZW5zaW9uIHRocm91Z2ggUHlPU19SZWFkbGluZUluaXQoKS4KIAotLSBUaGVyZSdzIG5vdyBhbiBleHRlcm5hbGx5IHZpc2libGUgcG9pbnRlciBQeUltcG9ydF9Gcm96ZW5Nb2R1bGVzIHdoaWNoIAorLSBUaGVyZSdzIG5vdyBhbiBleHRlcm5hbGx5IHZpc2libGUgcG9pbnRlciBQeUltcG9ydF9Gcm96ZW5Nb2R1bGVzIHdoaWNoCiBjYW4gYmUgY2hhbmdlZCBieSBhbiBlbWJlZGRpbmcgYXBwbGljYXRpb24uCiAKLS0gVGhlIGFyZ3VtZW50IHBhcnNpbmcgZnVuY3Rpb25zIG5vdyBzdXBwb3J0IGEgbmV3IGZvcm1hdCBjaGFyYWN0ZXIgJ0QnIHRvIAorLSBUaGUgYXJndW1lbnQgcGFyc2luZyBmdW5jdGlvbnMgbm93IHN1cHBvcnQgYSBuZXcgZm9ybWF0IGNoYXJhY3RlciAnRCcgdG8KIHNwZWNpZnkgY29tcGxleCBudW1iZXJzLgogCiAtIFZhcmlvdXMgbWVtb3J5IGxlYWtzIHBsdWdnZWQgYW5kIGJ1Z3MgZml4ZWQuCiAKLS0gSW1wcm92ZWQgc3VwcG9ydCBmb3IgcG9zaXggdGhyZWFkcyAobm93IHRoYXQgcmVhbCBpbXBsZW1lbnRhdGlvbnMgYXJlIAorLSBJbXByb3ZlZCBzdXBwb3J0IGZvciBwb3NpeCB0aHJlYWRzIChub3cgdGhhdCByZWFsIGltcGxlbWVudGF0aW9ucyBhcmUKIGJlZ2lubmluZyB0byBhcGVwYXIpLiAgU3RpbGwgbm8gZnVsbHkgZnVuY3Rpb25pbmcgc2VtYXBob3Jlcy4KIAotLSBTb21lIHZhcmlvdXMgYW5kIHN1bmRyeSBpbXByb3ZlbWVudHMgYW5kIG5ldyBlbnRyaWVzIGluIHRoZSBUb29scyAKKy0gU29tZSB2YXJpb3VzIGFuZCBzdW5kcnkgaW1wcm92ZW1lbnRzIGFuZCBuZXcgZW50cmllcyBpbiB0aGUgVG9vbHMKIGRpcmVjdG9yeS4KIAogCkBAIC0yNzQxNyw3ICsyNzQ1MCw3IEBACiBUaGUgbGltaXQgb24gdGhlIHNpemUgb2YgdGhlICpydW4tdGltZSogc3RhY2sgaGFzIGNvbXBsZXRlbHkgYmVlbgogcmVtb3ZlZCAtLSB0aGlzIG1lYW5zIHRoYXQgdHVwbGUgb3IgbGlzdCBkaXNwbGF5cyBjYW4gY29udGFpbiBhbnkKIG51bWJlciBvZiBlbGVtZW50cyAoZm9ybWVybHkgbW9yZSB0aGFuIDUwIHdvdWxkIGNyYXNoIHRoZQotaW50ZXJwcmV0ZXIpLiAKK2ludGVycHJldGVyKS4KIAogCiBDaGFuZ2VzIHRvIGV4aXN0aW5nIGJ1aWx0LWluIGZ1bmN0aW9ucyBhbmQgbWV0aG9kcwpkaWZmIC0tZ2l0IGEvTWlzYy9ORVdTIGIvTWlzYy9ORVdTCmluZGV4IDE5N2U4N2QuLjRlOWIyZjAgMTAwNjQ0Ci0tLSBhL01pc2MvTkVXUworKysgYi9NaXNjL05FV1MKQEAgLTIsMTcgKzIsMjYgQEAKIFB5dGhvbiBOZXdzCiArKysrKysrKysrKwogCi1XaGF0J3MgTmV3IGluIFB5dGhvbiAzLjQuNHJjMT8KLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorV2hhdCdzIE5ldyBpbiBQeXRob24gMy41IGFscGhhIDI/Cis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIAotUmVsZWFzZSBkYXRlOiB0YmEKK1JlbGVhc2UgZGF0ZTogMjAxNS0wMy0wOAogCiBDb3JlIGFuZCBCdWlsdGlucwogLS0tLS0tLS0tLS0tLS0tLS0KIAorLSBJc3N1ZSAjMjM1NzE6IFB5T2JqZWN0X0NhbGwoKSBhbmQgUHlDRnVuY3Rpb25fQ2FsbCgpIG5vdyByYWlzZSBhIFN5c3RlbUVycm9yCisgIGlmIGEgZnVuY3Rpb24gcmV0dXJucyBhIHJlc3VsdCBhbmQgcmFpc2VzIGFuIGV4Y2VwdGlvbi4gVGhlIFN5c3RlbUVycm9yIGlzCisgIGNoYWluZWQgdG8gdGhlIHByZXZpb3VzIGV4Y2VwdGlvbi4KKwogTGlicmFyeQogLS0tLS0tLQogCistIElzc3VlICMyMzEwMzogUmVkdWNlZCB0aGUgbWVtb3J5IGNvbnN1bXB0aW9uIG9mIElQdjRBZGRyZXNzIGFuZCBJUHY2QWRkcmVzcy4KKworLSBJc3N1ZSAjMjE3OTM6IEJhc2VIVFRQUmVxdWVzdEhhbmRsZXIgYWdhaW4gbG9ncyByZXNwb25zZSBjb2RlIGFzIG51bWVyaWMsCisgIG5vdCBhcyBzdHJpbmdpZmllZCBlbnVtLiAgUGF0Y2ggYnkgRGVtaWFuIEJyZWNodC4KKwogLSBJc3N1ZSAjMjM0NzY6IEluIHRoZSBzc2wgbW9kdWxlLCBlbmFibGUgT3BlblNTTCdzIFg1MDlfVl9GTEFHX1RSVVNURURfRklSU1QKICAgZmxhZyBvbiBjZXJ0aWZpY2F0ZSBzdG9yZXMgd2hlbiBpdCBpcyBhdmFpbGFibGUuCiAKQEAgLTIxLDggKzMwLDE2IEBACiAKIC0gSXNzdWUgIzIzNTA0OiBBZGRlZCBhbiBfX2FsbF9fIHRvIHRoZSB0eXBlcyBtb2R1bGUuCiAKKy0gSXNzdWUgIzIzNTYzOiBPcHRpbWl6ZWQgdXRpbGl0eSBmdW5jdGlvbnMgaW4gdXJsbGliLnBhcnNlLgorCistIElzc3VlICM3ODMwOiBGbGF0dGVuIG5lc3RlZCBmdW5jdG9vbHMucGFydGlhbC4KKwogLSBJc3N1ZSAjMjAyMDQ6IEFkZGVkIHRoZSBfX21vZHVsZV9fIGF0dHJpYnV0ZSB0byBfdGtpbnRlciBjbGFzc2VzLgogCistIElzc3VlICMxOTk4MDogSW1wcm92ZWQgaGVscCgpIGZvciBub24tcmVjb2duaXplZCBzdHJpbmdzLiAgaGVscCgnJykgbm93CisgIHNob3dzIHRoZSBoZWxwIG9uIHN0ci4gIGhlbHAoJ2hlbHAnKSBub3cgc2hvd3MgdGhlIGhlbHAgb24gaGVscCgpLgorICBPcmlnaW5hbCBwYXRjaCBieSBNYXJrIExhd3JlbmNlLgorCiAtIElzc3VlICMyMzUyMTogQ29ycmVjdGVkIHB1cmUgcHl0aG9uIGltcGxlbWVudGF0aW9uIG9mIHRpbWVkZWx0YSBkaXZpc2lvbi4KIAogICogRWxpbWluYXRlZCBPdmVyZmxvd0Vycm9yIGZyb20gdGltZWRlbHRhICogZmxvYXQgZm9yIHNvbWUgZmxvYXRzOwpAQCAtMzEsMTIgKzQ4LDE3IEBACiAtIElzc3VlICMyMTYxOTogUG9wZW4gb2JqZWN0cyBubyBsb25nZXIgbGVhdmUgYSB6b21iaWUgYWZ0ZXIgZXhpdCBpbiB0aGUgd2l0aAogICBzdGF0ZW1lbnQgaWYgdGhlIHBpcGUgd2FzIGJyb2tlbi4gIFBhdGNoIGJ5IE1hcnRpbiBQYW50ZXIuCiAKKy0gSXNzdWUgIzIyOTM2OiBNYWtlIGl0IHBvc3NpYmxlIHRvIHNob3cgbG9jYWwgdmFyaWFibGVzIGluIHRyYWNlYmFja3MgZm9yCisgIGJvdGggdGhlIHRyYWNlYmFjayBtb2R1bGUgYW5kIHVuaXR0ZXN0LgorCistIElzc3VlICMxNTk1NTogQWRkIGFuIG9wdGlvbiB0byBsaW1pdCB0aGUgb3V0cHV0IHNpemUgaW4gYnoyLmRlY29tcHJlc3MoKS4KKyAgUGF0Y2ggYnkgTmlrb2xhdXMgUmF0aC4KKwogLSBJc3N1ZSAjNjYzOTogTW9kdWxlLWxldmVsIHR1cnRsZSBmdW5jdGlvbnMgbm8gbG9uZ2VyIHJhaXNlIFRjbEVycm9yIGFmdGVyCiAgIGNsb3NpbmcgdGhlIHdpbmRvdy4KIAotLSBJc3N1ZXMgIzgxNDI1MywgIzkxNzk6IFdhcm5pbmdzIG5vdyBhcmUgcmFpc2VkIHdoZW4gZ3JvdXAgcmVmZXJlbmNlcyBhbmQKLSAgY29uZGl0aW9uYWwgZ3JvdXAgcmVmZXJlbmNlcyBhcmUgdXNlZCBpbiBsb29rYmVoaW5kIGFzc2VydGlvbnMgaW4gcmVndWxhcgotICBleHByZXNzaW9ucy4KKy0gSXNzdWVzICM4MTQyNTMsICM5MTc5OiBHcm91cCByZWZlcmVuY2VzIGFuZCBjb25kaXRpb25hbCBncm91cCByZWZlcmVuY2VzIG5vdworICB3b3JrIGluIGxvb2tiZWhpbmQgYXNzZXJ0aW9ucyBpbiByZWd1bGFyIGV4cHJlc3Npb25zLgogCiAtIElzc3VlICMyMzIxNTogTXVsdGlieXRlIGNvZGVjcyB3aXRoIGN1c3RvbSBlcnJvciBoYW5kbGVycyB0aGF0IGlnbm9yZXMgZXJyb3JzCiAgIGNvbnN1bWVkIHRvbyBtdWNoIG1lbW9yeSBhbmQgcmFpc2VkIFN5c3RlbUVycm9yIG9yIE1lbW9yeUVycm9yLgpAQCAtNTYsMTUgKzc4LDM5IEBACiAtIElzc3VlICMyMjg4NTogRml4ZWQgYXJiaXRyYXJ5IGNvZGUgZXhlY3V0aW9uIHZ1bG5lcmFiaWxpdHkgaW4gdGhlIGRibS5kdW1iCiAgIG1vZHVsZS4gIE9yaWdpbmFsIHBhdGNoIGJ5IENsYXVkaXUgUG9wYS4KIAorLSBJc3N1ZSAjMjMyMzk6IHNzbC5tYXRjaF9ob3N0bmFtZSgpIG5vdyBzdXBwb3J0cyBtYXRjaGluZyBvZiBJUCBhZGRyZXNzZXMuCisKIC0gSXNzdWUgIzIzMTQ2OiBGaXggbWlzaGFuZGxpbmcgb2YgYWJzb2x1dGUgV2luZG93cyBwYXRocyB3aXRoIGZvcndhcmQKICAgc2xhc2hlcyBpbiBwYXRobGliLgogCistIElzc3VlICMyMzA5NjogUGlja2xlIHJlcHJlc2VudGF0aW9uIG9mIGZsb2F0cyB3aXRoIHByb3RvY29sIDAgbm93IGlzIHRoZSBzYW1lCisgIGZvciBib3RoIFB5dGhvbiBhbmQgQyBpbXBsZW1lbnRhdGlvbnMuCisKKy0gSXNzdWUgIzE5MTA1OiBwcHJpbnQgbm93IG1vcmUgZWZmaWNpZW50bHkgdXNlcyBmcmVlIHNwYWNlIGF0IHRoZSByaWdodC4KKworLSBJc3N1ZSAjMTQ5MTA6IEFkZCBhbGxvd19hYmJyZXYgcGFyYW1ldGVyIHRvIGFyZ3BhcnNlLkFyZ3VtZW50UGFyc2VyLiBQYXRjaCBieQorICBKb25hdGhhbiBQYXVnaCwgU3RldmVuIEJldGhhcmQsIHBhdWwgajMgYW5kIERhbmllbCBFcmlrc3Nvbi4KKworLSBJc3N1ZSAjMjE3MTc6IHRhcmZpbGUub3BlbigpIG5vdyBzdXBwb3J0cyAneCcgKGV4Y2x1c2l2ZSBjcmVhdGlvbikgbW9kZS4KKworLSBJc3N1ZSAjMjMzNDQ6IG1hcnNoYWwuZHVtcHMoKSBpcyBub3cgMjAtMjUlIGZhc3RlciBvbiBhdmVyYWdlLgorCistIElzc3VlICMyMDQxNjogbWFyc2hhbC5kdW1wcygpIHdpdGggcHJvdG9jb2xzIDMgYW5kIDQgaXMgbm93IDQwLTUwJSBmYXN0ZXIgb24KKyAgYXZlcmFnZS4KKwogLSBJc3N1ZSAjMjM0MjE6IEZpeGVkIGNvbXByZXNzaW9uIGluIHRhcmZpbGUgQ0xJLiAgUGF0Y2ggYnkgd2R2NDc1OGguCiAKIC0gSXNzdWUgIzIzMzY3OiBGaXggcG9zc2libGUgb3ZlcmZsb3dzIGluIHRoZSB1bmljb2RlZGF0YSBtb2R1bGUuCiAKIC0gSXNzdWUgIzIzMzYxOiBGaXggcG9zc2libGUgb3ZlcmZsb3cgaW4gV2luZG93cyBzdWJwcm9jZXNzIGNyZWF0aW9uIGNvZGUuCiAKKy0gbG9nZ2luZy5oYW5kbGVycy5RdWV1ZUxpc3RlbmVyIG5vdyB0YWtlcyBhIHJlc3BlY3RfaGFuZGxlcl9sZXZlbCBrZXl3b3JkCisgIGFyZ3VtZW50IHdoaWNoLCBpZiBzZXQgdG8gVHJ1ZSwgd2lsbCBwYXNzIG1lc3NhZ2VzIHRvIGhhbmRsZXJzIHRha2luZyBoYW5kbGVyCisgIGxldmVscyBpbnRvIGFjY291bnQuCisKKy0gSXNzdWUgIzE5NzA1OiB0dXJ0bGVkZW1vIG5vdyBoYXMgYSB2aXN1YWwgc29ydGluZyBhbGdvcml0aG0gZGVtby4gIE9yaWdpbmFsCisgIHBhdGNoIGZyb20gSmFzb24gWWVvLgorCiBCdWlsZAogLS0tLS0KIApAQCAtNzMsMTUgKzExOSwzMiBAQAogCiAtIElzc3VlICMyMzU5MzogVXBkYXRlIE9TIFggMTAuNSBpbnN0YWxsZXIgYnVpbGQgdG8gdXNlIE9wZW5TU0wgMS4wLjIuCiAKK0MgQVBJCistLS0tLQogCi1XaGF0J3MgTmV3IGluIFB5dGhvbiAzLjQuMz8KLT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLSBJc3N1ZSAjMjAyMDQ6IERlcHJlY2F0aW9uIHdhcm5pbmcgaXMgbm93IHJhaXNlZCBmb3IgYnVpbHRpbiB0eXBlIHdpdGhvdXQgdGhlCisgIF9fbW9kdWxlX18gYXR0cmlidXRlLgogCi1SZWxlYXNlIGRhdGU6IDIwMTUtMDItMjMKK1dpbmRvd3MKKy0tLS0tLS0KKworLSBJc3N1ZSAjMjM0NjU6IEltcGxlbWVudCBQRVAgNDg2IC0gTWFrZSB0aGUgUHl0aG9uIExhdW5jaGVyIGF3YXJlIG9mIHZpcnR1YWwKKyAgZW52aXJvbm1lbnRzLiBQYXRjaCBieSBQYXVsIE1vb3JlLgorCistIElzc3VlICMyMzQzNzogTWFrZSB1c2VyIHNjcmlwdHMgZGlyZWN0b3J5IHZlcnNpb25lZCBvbiBXaW5kb3dzLiBQYXRjaCBieSBQYXVsCisgIE1vb3JlLgorCisKK1doYXQncyBOZXcgaW4gUHl0aG9uIDMuNSBhbHBoYSAxPworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisKK1JlbGVhc2UgZGF0ZTogMjAxNS0wMi0wOAogCiBDb3JlIGFuZCBCdWlsdGlucwogLS0tLS0tLS0tLS0tLS0tLS0KIAorLSBJc3N1ZSAjMjMyODU6IFBFUCA0NzUgLSBFSU5UUiBoYW5kbGluZy4KKwogLSBJc3N1ZSAjMjI3MzU6IEZpeCBtYW55IGVkZ2UgY2FzZXMgKGluY2x1ZGluZyBjcmFzaGVzKSBpbnZvbHZpbmcgY3VzdG9tIG1ybygpCiAgIGltcGxlbWVudGF0aW9ucy4KIApAQCAtOTEsMTcgKzE1NCw0NiBAQAogLSBJc3N1ZSAjMjEyOTU6IFJldmVydCBzb21lIGNoYW5nZXMgKGlzc3VlICMxNjc5NSkgdG8gQVNUIGxpbmUgbnVtYmVycyBhbmQKICAgY29sdW1uIG9mZnNldHMgdGhhdCBjb25zdGl0dXRlZCBhIHJlZ3Jlc3Npb24uCiAKKy0gSXNzdWUgIzIyOTg2OiBBbGxvdyBjaGFuZ2luZyBhbiBvYmplY3QncyBfX2NsYXNzX18gYmV0d2VlbiBhIGR5bmFtaWMgdHlwZSBhbmQKKyAgc3RhdGljIHR5cGUgaW4gc29tZSBjYXNlcy4KKworLSBJc3N1ZSAjMTU4NTk6IFB5VW5pY29kZV9FbmNvZGVGU0RlZmF1bHQoKSwgUHlVbmljb2RlX0VuY29kZU1CQ1MoKSBhbmQKKyAgUHlVbmljb2RlX0VuY29kZUNvZGVQYWdlKCkgbm93IHJhaXNlIGFuIGV4Y2VwdGlvbiBpZiB0aGUgb2JqZWN0IGlzIG5vdCBhbgorICBVbmljb2RlIG9iamVjdC4gRm9yIFB5VW5pY29kZV9FbmNvZGVGU0RlZmF1bHQoKSwgaXQgd2FzIGFscmVhZHkgdGhlIGNhc2Ugb24KKyAgcGxhdGZvcm1zIG90aGVyIHRoYW4gV2luZG93cy4gUGF0Y2ggd3JpdHRlbiBieSBDYW1wYmVsbCBCYXJ0b24uCisKIC0gSXNzdWUgIzIxNDA4OiBUaGUgZGVmYXVsdCBfX25lX18oKSBub3cgcmV0dXJucyBOb3RJbXBsZW1lbnRlZCBpZiBfX2VxX18oKQogICByZXR1cm5lZCBOb3RJbXBsZW1lbnRlZC4gIE9yaWdpbmFsIHBhdGNoIGJ5IE1hcnRpbiBQYW50ZXIuCiAKIC0gSXNzdWUgIzIzMzIxOiBGaXhlZCBhIGNyYXNoIGluIHN0ci5kZWNvZGUoKSB3aGVuIGVycm9yIGhhbmRsZXIgcmV0dXJuZWQKICAgcmVwbGFjbWVudCBzdHJpbmcgbG9uZ2VyIHRoYW4gbWFpbGZvcm1lZCBpbnB1dCBkYXRhLgogCistIElzc3VlICMyMjI4NjogVGhlICJiYWNrc2xhc2hyZXBsYWNlIiBlcnJvciBoYW5kbGVycyBub3cgd29ya3Mgd2l0aAorICBkZWNvZGluZyBhbmQgdHJhbnNsYXRpbmcuCisKKy0gSXNzdWUgIzIzMjUzOiBEZWxheS1sb2FkIFNoZWxsRXhlY3V0ZVtBV10gaW4gb3Muc3RhcnRmaWxlIGZvciByZWR1Y2VkCisgIHN0YXJ0dXAgb3ZlcmhlYWQgb24gV2luZG93cy4KKworLSBJc3N1ZSAjMjIwMzg6IHB5YXRvbWljLmggbm93IHVzZXMgc3RkYXRvbWljLmggb3IgR0NDIGJ1aWx0LWluIGZ1bmN0aW9ucyBmb3IKKyAgYXRvbWljIG1lbW9yeSBhY2Nlc3MgaWYgYXZhaWxhYmxlLiBQYXRjaCB3cml0dGVuIGJ5IFZpdG9yIGRlIExpbWEgYW5kIEd1c3Rhdm8KKyAgVGVtcGxlLgorCistIElzc3VlICMyMDI4NDogJS1pbnRlcnBvbGF0aW9uIChha2EgcHJpbnRmKSBmb3JtYXR0aW5nIGFkZGVkIGZvciBieXRlcyBhbmQKKyAgYnl0ZWFycmF5LgorCiAtIElzc3VlICMyMzA0ODogRml4IGp1bXBpbmcgb3V0IG9mIGFuIGluZmluaXRlIHdoaWxlIGxvb3AgaW4gdGhlIHBkYi4KIAogLSBJc3N1ZSAjMjAzMzU6IGJ5dGVzIGNvbnN0cnVjdG9yIG5vdyByYWlzZXMgVHlwZUVycm9yIHdoZW4gZW5jb2Rpbmcgb3IgZXJyb3JzCiAgIGlzIHNwZWNpZmllZCB3aXRoIG5vbi1zdHJpbmcgYXJndW1lbnQuICBCYXNlZCBvbiBwYXRjaCBieSBSZW5hdWQgQmxhbmNoLgogCistIElzc3VlICMyMjgzNDogSWYgdGhlIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkgZW5kcyB1cCBiZWluZyBzZXQgdG8gYQorICBub24tZXhpc3RlbnQgZGlyZWN0b3J5IHRoZW4gaW1wb3J0IHdpbGwgbm8gbG9uZ2VyIHJhaXNlIEZpbGVOb3RGb3VuZEVycm9yLgorCistIElzc3VlICMyMjg2OTogTW92ZSB0aGUgaW50ZXJwcmV0ZXIgc3RhcnR1cCAmIHNodXRkb3duIGNvZGUgdG8gYSBuZXcKKyAgZGVkaWNhdGVkIHB5bGlmZWN5Y2xlLmMgbW9kdWxlCisKKy0gSXNzdWUgIzIyODQ3OiBJbXByb3ZlIG1ldGhvZCBjYWNoZSBlZmZpY2llbmN5LgorCiAtIElzc3VlICMyMjMzNTogRml4IGNyYXNoIHdoZW4gdHJ5aW5nIHRvIGVubGFyZ2UgYSBieXRlYXJyYXkgdG8gMHg3ZmZmZmZmZgogICBieXRlcyBvbiBhIDMyLWJpdCBwbGF0Zm9ybS4KIApAQCAtMTExLDEyICsyMDMsMjggQEAKIC0gSXNzdWUgIzIyNjQzOiBGaXggaW50ZWdlciBvdmVyZmxvdyBpbiBVbmljb2RlIGNhc2Ugb3BlcmF0aW9ucyAodXBwZXIsIGxvd2VyLAogICB0aXRsZSwgc3dhcGNhc2UsIGNhc2Vmb2xkKS4KIAorLSBJc3N1ZSAjMTc2MzY6IENpcmN1bGFyIGltcG9ydHMgaW52b2x2aW5nIHJlbGF0aXZlIGltcG9ydHMgYXJlIG5vdworICBzdXBwb3J0ZWQuCisKIC0gSXNzdWUgIzIyNjA0OiBGaXggYXNzZXJ0aW9uIGVycm9yIGluIGRlYnVnIG1vZGUgd2hlbiBkaXZpZGluZyBhIGNvbXBsZXgKICAgbnVtYmVyIGJ5IChuYW4rMGopLgogCistIElzc3VlICMyMTA1MjogRG8gbm90IHJhaXNlIEltcG9ydFdhcm5pbmcgd2hlbiBzeXMucGF0aF9ob29rcyBvciBzeXMubWV0YV9wYXRoCisgIGFyZSBzZXQgdG8gTm9uZS4KKworLSBJc3N1ZSAjMTY1MTg6IFVzZSAnYnl0ZXMtbGlrZSBvYmplY3QgcmVxdWlyZWQnIGluIGVycm9yIG1lc3NhZ2VzIHRoYXQKKyAgcHJldmlvdXNseSB1c2VkIHRoZSBmYXIgbW9yZSBjcnlwdGljICIneCcgZG9lcyBub3Qgc3VwcG9ydCB0aGUgYnVmZmVyCisgIHByb3RvY29sLgorCiAtIElzc3VlICMyMjQ3MDogRml4ZWQgaW50ZWdlciBvdmVyZmxvdyBpc3N1ZXMgaW4gImJhY2tzbGFzaHJlcGxhY2UiLAogICAieG1sY2hhcnJlZnJlcGxhY2UiLCBhbmQgInN1cnJvZ2F0ZXBhc3MiIGVycm9yIGhhbmRsZXJzLgogCistIElzc3VlICMyMjU0MDogc3BlZWQgdXAgYFB5T2JqZWN0X0lzSW5zdGFuY2VgIGFuZCBgUHlPYmplY3RfSXNTdWJjbGFzc2AgaW4gdGhlCisgIGNvbW1vbiBjYXNlIHRoYXQgdGhlIHNlY29uZCBhcmd1bWVudCBoYXMgbWV0YWNsYXNzIGB0eXBlYC4KKworLSBJc3N1ZSAjMTg3MTE6IEFkZCBhIG5ldyBgUHlFcnJfRm9ybWF0VmAgZnVuY3Rpb24sIHNpbWlsYXIgdG8gYFB5RXJyX0Zvcm1hdGAKKyAgYnV0IGFjY2VwdGluZyBhIGB2YV9saXN0YCBhcmd1bWVudC4KKwogLSBJc3N1ZSAjMjI1MjA6IEZpeCBvdmVyZmxvdyBjaGVja2luZyB3aGVuIGdlbmVyYXRpbmcgdGhlIHJlcHIgb2YgYSB1bmljb2RlCiAgIG9iamVjdC4KIApAQCAtMTI0LDYgKzIzMiwxMzggQEAKIAogLSBJc3N1ZSAjMjI1MTg6IEZpeCBpbnRlZ2VyIG92ZXJmbG93IGlzc3VlcyBpbiBsYXRpbi0xIGVuY29kaW5nLgogCistIElzc3VlICMxNjMyNDogX2NoYXJzZXQgcGFyYW1ldGVyIG9mIE1JTUVUZXh0IG5vdyBhbHNvIGFjY2VwdHMKKyAgZW1haWwuY2hhcnNldC5DaGFyc2V0IGluc3RhbmNlcy4gSW5pdGlhbCBwYXRjaCBieSBDbGF1ZGUgUGFyb3ouCisKKy0gSXNzdWUgIzE3NjQyODY6IEZpeCBpbnNwZWN0LmdldHNvdXJjZSgpIHRvIHN1cHBvcnQgZGVjb3JhdGVkIGZ1bmN0aW9ucy4KKyAgUGF0Y2ggYnkgQ2xhdWRpdSBQb3BhLgorCistIElzc3VlICMxODU1NDogb3MuX19hbGxfXyBpbmNsdWRlcyBwb3NpeCBmdW5jdGlvbnMuCisKKy0gSXNzdWUgIzIxMzkxOiBVc2Ugb3MucGF0aC5hYnNwYXRoIGluIHRoZSBzaHV0aWwgbW9kdWxlLgorCistIElzc3VlICMxMTQ3MTogYXZvaWQgZ2VuZXJhdGluZyBhIEpVTVBfRk9SV0FSRCBpbnN0cnVjdGlvbiBhdCB0aGUgZW5kIG9mCisgIGFuIGlmLWJsb2NrIGlmIHRoZXJlIGlzIG5vIGVsc2UtY2xhdXNlLiAgT3JpZ2luYWwgcGF0Y2ggYnkgRXVnZW5lIFRvZGVyLgorCistIElzc3VlICMyMjIxNTogTm93IFZhbHVlRXJyb3IgaXMgcmFpc2VkIGluc3RlYWQgb2YgVHlwZUVycm9yIHdoZW4gc3RyIG9yIGJ5dGVzCisgIGFyZ3VtZW50IGNvbnRhaW5zIG5vdCBwZXJtaXR0ZWQgbnVsbCBjaGFyYWN0ZXIgb3IgYnl0ZS4KKworLSBJc3N1ZSAjMjIyNTg6IEZpeCB0aGUgaW50ZXJuYWwgZnVuY3Rpb24gc2V0X2luaGVyaXRhYmxlKCkgb24gSWxsdW1vcy4KKyAgVGhpcyBwbGF0Zm9ybSBleHBvc2VzIHRoZSBmdW5jdGlvbiBgYGlvY3RsKEZJT0NMRVgpYGAsIGJ1dCBjYWxsaW5nIGl0IGZhaWxzCisgIHdpdGggZXJybm8gaXMgRU5PVFRZOiAiSW5hcHByb3ByaWF0ZSBpb2N0bCBmb3IgZGV2aWNlIi4gc2V0X2luaGVyaXRhYmxlKCkKKyAgbm93IGZhbGxzIGJhY2sgdG8gdGhlIHNsb3dlciBgYGZjbnRsKClgYCAoYGBGX0dFVEZEYGAgYW5kIHRoZW4gYGBGX1NFVEZEYGApLgorCistIElzc3VlICMyMTM4OTogRGlzcGxheWluZyB0aGUgX19xdWFsbmFtZV9fIG9mIHRoZSB1bmRlcmx5aW5nIGZ1bmN0aW9uIGluIHRoZQorICByZXByIG9mIGEgYm91bmQgbWV0aG9kLgorCistIElzc3VlICMyMjIwNjogVXNpbmcgcHRocmVhZCwgUHlUaHJlYWRfY3JlYXRlX2tleSgpIG5vdyBzZXRzIGVycm5vIHRvIEVOT01FTQorICBhbmQgcmV0dXJucyAtMSAoZXJyb3IpIG9uIGludGVnZXIgb3ZlcmZsb3cuCisKKy0gSXNzdWUgIzIwMTg0OiBBcmd1bWVudCBDbGluaWMgYmFzZWQgc2lnbmF0dXJlIGludHJvc3BlY3Rpb24gYWRkZWQgZm9yCisgIDMwIG9mIHRoZSBidWlsdGluIGZ1bmN0aW9ucy4KKworLSBJc3N1ZSAjMjIxMTY6IEMgZnVuY3Rpb25zIGFuZCBtZXRob2RzIChvZiB0aGUgJ2J1aWx0aW5fZnVuY3Rpb25fb3JfbWV0aG9kJworICB0eXBlKSBjYW4gbm93IGJlIHdlYWtyZWYnZWQuICBQYXRjaCBieSBXZWkgV3UuCisKKy0gSXNzdWUgIzIyMDc3OiBJbXByb3ZlIGluZGV4IGVycm9yIG1lc3NhZ2VzIGZvciBieXRlYXJyYXlzLCBieXRlcywgbGlzdHMsCisgIGFuZCB0dXBsZXMgYnkgYWRkaW5nICdvciBzbGljZXMnLiBBZGRlZCAnLCBub3QgPHR5cGVuYW1lJyBmb3IgYnl0ZWFycmF5cy4KKyAgT3JpZ2luYWwgcGF0Y2ggYnkgQ2xhdWRpdSBQb3BhLgorCistIElzc3VlICMyMDE3OTogQXBwbHkgQXJndW1lbnQgQ2xpbmljIHRvIGJ5dGVzIGFuZCBieXRlYXJyYXkuCisgIFBhdGNoIGJ5IFRhbCBFaW5hdC4KKworLSBJc3N1ZSAjMjIwODI6IENsZWFyIGludGVybmVkIHN0cmluZ3MgaW4gc2xvdGRlZnMuCisKKy0gVXBncmFkZSBVbmljb2RlIGRhdGFiYXNlIHRvIFVuaWNvZGUgNy4wLjAuCisKKy0gSXNzdWUgIzIxODk3OiBGaXggYSBjcmFzaCB3aXRoIHRoZSBmX2xvY2FscyBhdHRyaWJ1dGUgd2l0aCBjbG9zdXJlCisgIHZhcmlhYmxlcyB3aGVuIGZyYW1lLmNsZWFyKCkgaGFzIGJlZW4gY2FsbGVkLgorCistIElzc3VlICMyMTIwNTogQWRkIGEgbmV3IGBgX19xdWFsbmFtZV9fYGAgYXR0cmlidXRlIHRvIGdlbmVyYXRvciwgdGhlCisgIHF1YWxpZmllZCBuYW1lLCBhbmQgdXNlIGl0IGluIHRoZSByZXByZXNlbnRhdGlvbiBvZiBhIGdlbmVyYXRvcgorICAoYGByZXByKGdlbilgYCkuIFRoZSBkZWZhdWx0IG5hbWUgb2YgdGhlIGdlbmVyYXRvciAoYGBfX25hbWVfX2BgIGF0dHJpYnV0ZSkKKyAgaXMgbm93IGdldCBmcm9tIHRoZSBmdW5jdGlvbiBpbnN0ZWFkIG9mIHRoZSBjb2RlLiBVc2UgYGBnZW4uZ2lfY29kZS5jb19uYW1lYGAKKyAgdG8gZ2V0IHRoZSBuYW1lIG9mIHRoZSBjb2RlLgorCistIElzc3VlICMyMTY2OTogV2l0aCB0aGUgYWlkIG9mIGhldXJpc3RpY3MgaW4gU3ludGF4RXJyb3IuX19pbml0X18sIHRoZQorICBwYXJzZXIgbm93IGF0dGVtcHRzIHRvIGdlbmVyYXRlIG1vcmUgbWVhbmluZ2Z1bCAob3IgYXQgbGVhc3QgbW9yZSBzZWFyY2gKKyAgZW5naW5lIGZyaWVuZGx5KSBlcnJvciBtZXNzYWdlcyB3aGVuICJleGVjIiBhbmQgInByaW50IiBhcmUgdXNlZCBhcworICBzdGF0ZW1lbnRzLgorCistIElzc3VlICMyMTY0MjogSWYgdGhlIGNvbmRpdGlvbmFsIGlmLWVsc2UgZXhwcmVzc2lvbiwgYWxsb3cgYW4gaW50ZWdlciB3cml0dGVuCisgIHdpdGggbm8gc3BhY2UgYmV0d2VlbiBpdHNlbGYgYW5kIHRoZSBgYGVsc2VgYCBrZXl3b3JkIChlLmcuIGBgVHJ1ZSBpZiA0MmVsc2UKKyAgRmFsc2VgYCkgdG8gYmUgdmFsaWQgc3ludGF4LgorCistIElzc3VlICMyMTUyMzogRml4IG92ZXItcGVzc2ltaXN0aWMgY29tcHV0YXRpb24gb2YgdGhlIHN0YWNrIGVmZmVjdCBvZgorICBzb21lIG9wY29kZXMgaW4gdGhlIGNvbXBpbGVyLiAgVGhpcyBhbHNvIGZpeGVzIGEgcXVhZHJhdGljIGNvbXBpbGF0aW9uCisgIHRpbWUgaXNzdWUgbm90aWNlYWJsZSB3aGVuIGNvbXBpbGluZyBjb2RlIHdpdGggYSBsYXJnZSBudW1iZXIgb2YgImFuZCIKKyAgYW5kICJvciIgb3BlcmF0b3JzLgorCistIElzc3VlICMyMTQxODogRml4IGEgY3Jhc2ggaW4gdGhlIGJ1aWx0aW4gZnVuY3Rpb24gc3VwZXIoKSB3aGVuIGNhbGxlZCB3aXRob3V0CisgIGFyZ3VtZW50IGFuZCB3aXRob3V0IGN1cnJlbnQgZnJhbWUgKGV4OiBlbWJlZGRlZCBQeXRob24pLgorCistIElzc3VlICMyMTQyNTogRml4IGZsdXNoaW5nIG9mIHN0YW5kYXJkIHN0cmVhbXMgaW4gdGhlIGludGVyYWN0aXZlCisgIGludGVycHJldGVyLgorCistIElzc3VlICMyMTQzNTogSW4gcmFyZSBjYXNlcywgd2hlbiBydW5uaW5nIGZpbmFsaXplcnMgb24gb2JqZWN0cyBpbiBjeWNsaWMKKyAgdHJhc2ggYSBiYWQgcG9pbnRlciBkZXJlZmVyZW5jZSBjb3VsZCBvY2N1ciBkdWUgdG8gYSBzdWJ0bGUgZmxhdyBpbgorICBpbnRlcm5hbCBpdGVyYXRpb24gbG9naWMuCisKKy0gSXNzdWUgIzIxMzc3OiBQeUJ5dGVzX0NvbmNhdCgpIG5vdyB0cmllcyB0byBjb25jYXRlbmF0ZSBpbi1wbGFjZSB3aGVuIHRoZQorICBmaXJzdCBhcmd1bWVudCBoYXMgYSByZWZlcmVuY2UgY291bnQgb2YgMS4gIFBhdGNoIGJ5IE5pa29sYXVzIFJhdGguCisKKy0gSXNzdWUgIzIwMzU1OiAtVyBjb21tYW5kIGxpbmUgb3B0aW9ucyBub3cgaGF2ZSBoaWdoZXIgcHJpb3JpdHkgdGhhbiB0aGUKKyAgUFlUSE9OV0FSTklOR1MgZW52aXJvbm1lbnQgdmFyaWFibGUuICBQYXRjaCBieSBBcmZyZXZlci4KKworLSBJc3N1ZSAjMjEyNzQ6IERlZmluZSBQQVRIX01BWCBmb3IgR05VL0h1cmQgaW4gUHl0aG9uL3B5dGhvbnJ1bi5jLgorCistIElzc3VlICMyMDkwNDogU3VwcG9ydCBzZXR0aW5nIEZQVSBwcmVjaXNpb24gb24gbTY4ay4KKworLSBJc3N1ZSAjMjEyMDk6IEZpeCBzZW5kaW5nIHR1cGxlcyB0byBjdXN0b20gZ2VuZXJhdG9yIG9iamVjdHMgd2l0aCB0aGUgeWllbGQKKyAgZnJvbSBzeW50YXguCisKKy0gSXNzdWUgIzIxMTkzOiBwb3coYSwgYiwgYykgbm93IHJhaXNlcyBWYWx1ZUVycm9yIHJhdGhlciB0aGFuIFR5cGVFcnJvciB3aGVuIGIKKyAgaXMgbmVnYXRpdmUuICBQYXRjaCBieSBKb3NoIFJvc2VuYmVyZy4KKworLSBQRVAgNDY1IGFuZCBJc3N1ZSAjMjExNzY6IEFkZCB0aGUgJ0AnIG9wZXJhdG9yIGZvciBtYXRyaXggbXVsdGlwbGljYXRpb24uCisKKy0gSXNzdWUgIzIxMTM0OiBGaXggc2VnZmF1bHQgd2hlbiBzdHIgaXMgY2FsbGVkIG9uIGFuIHVuaW5pdGlhbGl6ZWQKKyAgVW5pY29kZUVuY29kZUVycm9yLCBVbmljb2RlRGVjb2RlRXJyb3IsIG9yIFVuaWNvZGVUcmFuc2xhdGVFcnJvciBvYmplY3QuCisKKy0gSXNzdWUgIzE5NTM3OiBGaXggUHlVbmljb2RlX0RBVEEoKSBhbGlnbm1lbnQgdW5kZXIgbTY4ay4gIFBhdGNoIGJ5CisgIEFuZHJlYXMgU2Nod2FiLgorCistIElzc3VlICMyMDkyOTogQWRkIGEgdHlwZSBjYXN0IHRvIGF2b2lkIHNoaWZ0aW5nIGEgbmVnYXRpdmUgbnVtYmVyLgorCistIElzc3VlICMyMDczMTogUHJvcGVybHkgcG9zaXRpb24gaW4gc291cmNlIGNvZGUgZmlsZXMgZXZlbiBpZiB0aGV5CisgIGFyZSBvcGVuZWQgaW4gdGV4dCBtb2RlLiBQYXRjaCBieSBTZXJoaXkgU3RvcmNoYWthLgorCistIElzc3VlICMyMDYzNzogS2V5LXNoYXJpbmcgbm93IGFsc28gd29ya3MgZm9yIGluc3RhbmNlIGRpY3Rpb25hcmllcyBvZgorICBzdWJjbGFzc2VzLiAgUGF0Y2ggYnkgUGV0ZXIgSW5nZWJyZXRzb24uCisKKy0gSXNzdWUgIzgyOTc6IEF0dHJpYnV0ZXMgbWlzc2luZyBmcm9tIG1vZHVsZXMgbm93IGluY2x1ZGUgdGhlIG1vZHVsZSBuYW1lCisgIGluIHRoZSBlcnJvciB0ZXh0LiAgT3JpZ2luYWwgcGF0Y2ggYnkgeXNqLnJheS4KKworLSBJc3N1ZSAjMTk5OTU6ICVjLCAlbywgJXgsIGFuZCAlWCBub3cgcmFpc2UgVHlwZUVycm9yIG9uIG5vbi1pbnRlZ2VyIGlucHV0LgorCistIElzc3VlICMxOTY1NTogVGhlIEFTREwgcGFyc2VyIC0gdXNlZCBieSB0aGUgYnVpbGQgcHJvY2VzcyB0byBnZW5lcmF0ZSBjb2RlIGZvcgorICBtYW5hZ2luZyB0aGUgUHl0aG9uIEFTVCBpbiBDIC0gd2FzIHJld3JpdHRlbi4gVGhlIG5ldyBwYXJzZXIgaXMgc2VsZiBjb250YWluZWQKKyAgYW5kIGRvZXMgbm90IHJlcXVpcmUgdG8gY2FycnkgbG9uZyB0aGUgc3BhcmsucHkgcGFyc2VyLWdlbmVyYXRvciBsaWJyYXJ5OworICBzcGFyay5weSB3YXMgcmVtb3ZlZCBmcm9tIHRoZSBzb3VyY2UgYmFzZS4KKworLSBJc3N1ZSAjMTI1NDY6IEFsbG93IFx4MDAgdG8gYmUgdXNlZCBhcyBhIGZpbGwgY2hhcmFjdGVyIHdoZW4gdXNpbmcgc3RyLCBpbnQsCisgIGZsb2F0LCBhbmQgY29tcGxleCBfX2Zvcm1hdF9fIG1ldGhvZHMuCisKKy0gSXNzdWUgIzIwNDgwOiBBZGQgaXBhZGRyZXNzLnJldmVyc2VfcG9pbnRlci4gUGF0Y2ggYnkgTGVvbiBXZWJlci4KKworLSBJc3N1ZSAjMTM1OTg6IE1vZGlmeSBzdHJpbmcuRm9ybWF0dGVyIHRvIHN1cHBvcnQgYXV0by1udW1iZXJpbmcgb2YKKyAgcmVwbGFjZW1lbnQgZmllbGRzLiBJdCBub3cgbWF0Y2hlcyB0aGUgYmVoYXZpb3Igb2Ygc3RyLmZvcm1hdCgpIGluCisgIHRoaXMgcmVnYXJkLiBQYXRjaGVzIGJ5IFBoaWwgRWxzb24gYW5kIFJhbWNoYW5kcmEgQXB0ZS4KKworLSBJc3N1ZSAjODkzMTogTWFrZSBhbHRlcm5hdGUgZm9ybWF0dGluZyAoJyMnKSBmb3IgdHlwZSAnYycgcmFpc2UgYW4KKyAgZXhjZXB0aW9uLiBJbiB2ZXJzaW9ucyBwcmlvciB0byAzLjUsICcjJyB3aXRoICdjJyBoYWQgbm8gZWZmZWN0LiBOb3cKKyAgc3BlY2lmeWluZyBpdCBpcyBhbiBlcnJvci4gIFBhdGNoIGJ5IFRvcnN0ZW4gTGFuZHNjaG9mZi4KKwogLSBJc3N1ZSAjMjMxNjU6IFBlcmZvcm0gb3ZlcmZsb3cgY2hlY2tzIGJlZm9yZSBhbGxvY2F0aW5nIG1lbW9yeSBpbiB0aGUKICAgX1B5X2NoYXIyd2NoYXIgZnVuY3Rpb24uCiAKQEAgLTEzMiw5ICszNzIsMjQgQEAKIAogLSBJc3N1ZSAjMjMzOTk6IHB5dmVudiBjcmVhdGVzIHJlbGF0aXZlIHN5bWxpbmtzIHdoZXJlIHBvc3NpYmxlLgogCistIElzc3VlICMyMDI4OTogY2dpLkZpZWxkU3RvcmFnZSgpIG5vdyBzdXBwb3J0cyB0aGUgY29udGV4dCBtYW5hZ2VtZW50CisgIHByb3RvY29sLgorCistIElzc3VlICMxMzEyODogUHJpbnQgcmVzcG9uc2UgaGVhZGVycyBmb3IgQ09OTkVDVCByZXF1ZXN0cyB3aGVuIGRlYnVnbGV2ZWwKKyAgPiAwLiBQYXRjaCBieSBEZW1pYW4gQnJlY2h0LgorCistIElzc3VlICMxNTM4MTogT3B0aW1pemVkIGlvLkJ5dGVzSU8gdG8gbWFrZSBsZXNzIGFsbG9jYXRpb25zIGFuZCBjb3B5aW5ncy4KKworLSBJc3N1ZSAjMjI4MTg6IFNwbGl0dGluZyBvbiBhIHBhdHRlcm4gdGhhdCBjb3VsZCBtYXRjaCBhbiBlbXB0eSBzdHJpbmcgbm93CisgIHJhaXNlcyBhIHdhcm5pbmcuICBQYXR0ZXJucyB0aGF0IGNhbiBvbmx5IG1hdGNoIGVtcHR5IHN0cmluZ3MgYXJlIG5vdworICByZWplY3RlZC4KKwogLSBJc3N1ZSAjMjMwOTk6IENsb3NpbmcgaW8uQnl0ZXNJTyB3aXRoIGV4cG9ydGVkIGJ1ZmZlciBpcyByZWplY3RlZCBub3cgdG8KICAgcHJldmVudCBjb3JydXB0aW5nIGV4cG9ydGVkIGJ1ZmZlci4KIAorLSBJc3N1ZSAjMjMzMjY6IFJlbW92ZWQgX19uZV9fIGltcGxlbWVudGF0aW9ucy4gIFNpbmNlIGZpeGluZyBkZWZhdWx0IF9fbmVfXworICBpbXBsZW1lbnRhdGlvbiBpbiBpc3N1ZSAjMjE0MDggdGhleSBhcmUgcmVkdW5kYW50LgorCiAtIElzc3VlICMyMzM2MzogRml4IHBvc3NpYmxlIG92ZXJmbG93IGluIGl0ZXJ0b29scy5wZXJtdXRhdGlvbnMuCiAKIC0gSXNzdWUgIzIzMzY0OiBGaXggcG9zc2libGUgb3ZlcmZsb3cgaW4gaXRlcnRvb2xzLnByb2R1Y3QuCkBAIC0xNTAsNiArNDA1LDE0IEBACiAgIGlzIG5vdyBhbHdheXMgcmVzdG9yZWQgb3Igc3dhcHBlZCwgbm90IG9ubHkgaWYgd2h5IGlzIFdIWV9ZSUVMRCBvcgogICBXSFlfUkVUVVJOLiBQYXRjaCBjby13cml0dGVuIHdpdGggQW50b2luZSBQaXRyb3UuCiAKKy0gSXNzdWUgIzE0MDk5OiBSZXN0b3JlZCBzdXBwb3J0IG9mIHdyaXRpbmcgWklQIGZpbGVzIHRvIHRlbGxhYmxlIGJ1dAorICBub24tc2Vla2FibGUgc3RyZWFtcy4KKworLSBJc3N1ZSAjMTQwOTk6IFdyaXRpbmcgdG8gWmlwRmlsZSBhbmQgcmVhZGluZyBtdWx0aXBsZSBaaXBFeHRGaWxlcyBpcworICB0aHJlYWRzYWZlIG5vdy4KKworLSBJc3N1ZSAjMTkzNjE6IEpTT04gZGVjb2RlciBub3cgcmFpc2VzIEpTT05EZWNvZGVFcnJvciBpbnN0ZWFkIG9mIFZhbHVlRXJyb3IuCisKIC0gSXNzdWUgIzE4NTE4OiB0aW1laXQgbm93IHJlamVjdHMgc3RhdGVtZW50cyB3aGljaCBjYW4ndCBiZSBjb21waWxlZCBvdXRzaWRlCiAgIGEgZnVuY3Rpb24gb3IgYSBsb29wIChlLmcuICJyZXR1cm4iIG9yICJicmVhayIpLgogCkBAIC0xNjQsNDcgKzQyNyw4NSBAQAogLSBJc3N1ZSAjMTk5OTY6IDpjbGFzczpgZW1haWwuZmVlZHBhcnNlci5GZWVkUGFyc2VyYCBub3cgaGFuZGxlcyAobWFsZm9ybWVkKQogICBoZWFkZXJzIHdpdGggbm8ga2V5IHJhdGhlciB0aGFuIGFzc3VtaW5nIHRoZSBib2R5IGhhcyBzdGFydGVkLgogCistIElzc3VlICMyMDE4ODogU3VwcG9ydCBBcHBsaWNhdGlvbi1MYXllciBQcm90b2NvbCBOZWdvdGlhdGlvbiAoQUxQTikgaW4gdGhlIHNzbAorICBtb2R1bGUuCisKKy0gSXNzdWUgIzIzMTMzOiBQaWNrbGluZyBvZiBpcGFkZHJlc3Mgb2JqZWN0cyBub3cgcHJvZHVjZXMgbW9yZSBjb21wYWN0IGFuZAorICBwb3J0YWJsZSByZXByZXNlbnRhdGlvbi4KKwogLSBJc3N1ZSAjMjMyNDg6IFVwZGF0ZSBzc2wgZXJyb3IgY29kZXMgZnJvbSBsYXRlc3QgT3BlblNTTCBnaXQgbWFzdGVyLgogCistIElzc3VlICMyMzI2NjogTXVjaCBmYXN0ZXIgaW1wbGVtZW50YXRpb24gb2YgaXBhZGRyZXNzLmNvbGxhcHNlX2FkZHJlc3NlcygpCisgIHdoZW4gdGhlcmUgYXJlIG1hbnkgbm9uLWNvbnNlY3V0aXZlIGFkZHJlc3Nlcy4KKwogLSBJc3N1ZSAjMjMwOTg6IDY0LWJpdCBkZXZfdCBpcyBub3cgc3VwcG9ydGVkIGluIHRoZSBvcyBtb2R1bGUuCiAKKy0gSXNzdWUgIzIxODE3OiBXaGVuIGFuIGV4Y2VwdGlvbiBpcyByYWlzZWQgaW4gYSB0YXNrIHN1Ym1pdHRlZCB0byBhCisgIFByb2Nlc3NQb29sRXhlY3V0b3IsIHRoZSByZW1vdGUgdHJhY2ViYWNrIGlzIG5vdyBkaXNwbGF5ZWQgaW4gdGhlCisgIHBhcmVudCBwcm9jZXNzLiAgUGF0Y2ggYnkgQ2xhdWRpdSBQb3BhLgorCistIElzc3VlICMxNTk1NTogQWRkIGFuIG9wdGlvbiB0byBsaW1pdCBvdXRwdXQgc2l6ZSB3aGVuIGRlY29tcHJlc3NpbmcgTFpNQQorICBkYXRhLiAgUGF0Y2ggYnkgTmlrb2xhdXMgUmF0aCBhbmQgTWFydGluIFBhbnRlci4KKwogLSBJc3N1ZSAjMjMyNTA6IEluIHRoZSBodHRwLmNvb2tpZXMgbW9kdWxlLCBjYXBpdGFsaXplICJIdHRwT25seSIgYW5kICJTZWN1cmUiCiAgIGFzIHRoZXkgYXJlIHdyaXR0ZW4gaW4gdGhlIHN0YW5kYXJkLgogCiAtIElzc3VlICMyMzA2MzogSW4gdGhlIGRpc3V0aWxzJyBjaGVjayBjb21tYW5kLCBmaXggcGFyc2luZyBvZiByZVNUIHdpdGggY29kZSBvcgogICBjb2RlLWJsb2NrIGRpcmVjdGl2ZXMuCiAKLS0gSXNzdWUgIzIzMjA5LCAjMjMyMjU6IHNlbGVjdG9ycy5CYXNlU2VsZWN0b3IuY2xvc2UoKSBub3cgY2xlYXJzIGl0cyBpbnRlcm5hbAotICByZWZlcmVuY2UgdG8gdGhlIHNlbGVjdG9yIG1hcHBpbmcgdG8gYnJlYWsgYSByZWZlcmVuY2UgY3ljbGUuIEluaXRpYWwgcGF0Y2gKLSAgd3JpdHRlbiBieSBNYXJ0aW4gUmljaGFyZC4KKy0gSXNzdWUgIzIzMjA5LCAjMjMyMjU6IHNlbGVjdG9ycy5CYXNlU2VsZWN0b3IuZ2V0X2tleSgpIG5vdyByYWlzZXMgYQorICBSdW50aW1lRXJyb3IgaWYgdGhlIHNlbGVjdG9yIGlzIGNsb3NlZC4gQW5kIHNlbGVjdG9ycy5CYXNlU2VsZWN0b3IuY2xvc2UoKQorICBub3cgY2xlYXJzIGl0cyBpbnRlcm5hbCByZWZlcmVuY2UgdG8gdGhlIHNlbGVjdG9yIG1hcHBpbmcgdG8gYnJlYWsgYQorICByZWZlcmVuY2UgY3ljbGUuIEluaXRpYWwgcGF0Y2ggd3JpdHRlbiBieSBNYXJ0aW4gUmljaGFyZC4KIAotLSBJc3N1ZSAjMjEzNTY6IE1ha2Ugc3NsLlJBTkRfZWdkKCkgb3B0aW9uYWwgdG8gc3VwcG9ydCBMaWJyZVNTTC4gVGhlCi0gIGF2YWlsYWJpbGl0eSBvZiB0aGUgZnVuY3Rpb24gaXMgY2hlY2tlZCBkdXJpbmcgdGhlIGNvbXBpbGF0aW9uLiBQYXRjaCB3cml0dGVuCi0gIGJ5IEJlcm5hcmQgU3BpbC4KKy0gSXNzdWUgIzE3OTExOiBQcm92aWRlIGEgd2F5IHRvIHNlZWQgdGhlIGxpbmVjYWNoZSBmb3IgYSBQRVAtMzAyIG1vZHVsZQorICB3aXRob3V0IGFjdHVhbGx5IGxvYWRpbmcgdGhlIGNvZGUuCiAKLS0gSXNzdWUgIzIwODk2LCAjMjI5MzU6IFRoZSA6ZnVuYzpgc3NsLmdldF9zZXJ2ZXJfY2VydGlmaWNhdGVgIGZ1bmN0aW9uIG5vdwotICB1c2VzIHRoZSA6ZGF0YTpgfnNzbC5QUk9UT0NPTF9TU0x2MjNgIHByb3RvY29sIGJ5IGRlZmF1bHQsIG5vdAotICA6ZGF0YTpgfnNzbC5QUk9UT0NPTF9TU0x2M2AsIGZvciBtYXhpbXVtIGNvbXBhdGliaWxpdHkgYW5kIHN1cHBvcnQgcGxhdGZvcm1zCi0gIHdoZXJlIDpkYXRhOmB+c3NsLlBST1RPQ09MX1NTTHYzYCBzdXBwb3J0IGlzIGRpc2FibGVkLgorLSBJc3N1ZSAjMTc5MTE6IFByb3ZpZGUgYSBuZXcgb2JqZWN0IEFQSSBmb3IgdHJhY2ViYWNrLCBpbmNsdWRpbmcgdGhlIGFiaWxpdHkKKyAgdG8gbm90IGxvb2t1cCBsaW5lcyBhdCBhbGwgdW50aWwgdGhlIHRyYWNlYmFjayBpcyBhY3R1YWxseSByZW5kZXJlZCwgd2l0aG91dAorICBhbnkgdHJhY2Ugb2YgdGhlIG9yaWdpbmFsIG9iamVjdHMgYmVpbmcga2VwdCBhbGl2ZS4KIAotLSBJc3N1ZSAjMjMxMTE6IEluIHRoZSBmdHBsaWIsIG1ha2Ugc3NsLlBST1RPQ09MX1NTTHYyMyB0aGUgZGVmYXVsdCBwcm90b2NvbAotICB2ZXJzaW9uLgorLSBJc3N1ZSAjMTk3Nzc6IFByb3ZpZGUgYSBob21lKCkgY2xhc3NtZXRob2Qgb24gUGF0aCBvYmplY3RzLiAgQ29udHJpYnV0ZWQKKyAgYnkgVmljdG9yIFNhbGdhZG8gYW5kIE1heWFuayBUcmlwYXRoaS4KIAotLSBJc3N1ZSAjMjMxMzI6IE1pdGlnYXRlIHJlZ3Jlc3Npb24gaW4gc3BlZWQgYW5kIGNsYXJpdHkgaW4gZnVuY3Rvb2xzLnRvdGFsX29yZGVyaW5nLgorLSBJc3N1ZSAjMjMyMDY6IE1ha2UgYGBqc29uLmR1bXBzKC4uLiwgZW5zdXJlX2FzY2lpPUZhbHNlKWBgIGFzIGZhc3QgYXMgdGhlCisgIGRlZmF1bHQgY2FzZSBvZiBgYGVuc3VyZV9hc2NpaT1UcnVlYGAuICBQYXRjaCBieSBOYW9raSBJbmFkYS4KIAotLSBJc3N1ZSAjMjI1ODU6IE9uIE9wZW5CU0QgNS42IGFuZCBuZXdlciwgb3MudXJhbmRvbSgpIG5vdyBjYWxscyBnZXRlbnRyb3B5KCksCi0gIGluc3RlYWQgb2YgcmVhZGluZyAvZGV2L3VyYW5kb20sIHRvIGdldCBwc2V1ZG8tcmFuZG9tIGJ5dGVzLgorLSBJc3N1ZSAjMjMxODU6IEFkZCBtYXRoLmluZiBhbmQgbWF0aC5uYW4gY29uc3RhbnRzLgorCistIElzc3VlICMyMzE4NjogQWRkIHNzbC5TU0xPYmplY3Quc2hhcmVkX2NpcGhlcnMoKSBhbmQKKyAgc3NsLlNTTFNvY2tldC5zaGFyZWRfY2lwaGVycygpIHRvIGZldGNoIHRoZSBjbGllbnQncyBsaXN0IGNpcGhlcnMgc2VudCBhdAorICBoYW5kc2hha2UuCisKKy0gSXNzdWUgIzIzMTQzOiBSZW1vdmUgY29tcGF0aWJpbGl0eSB3aXRoIE9wZW5TU0xzIG9sZGVyIHRoYW4gMC45LjguCisKKy0gSXNzdWUgIzIzMTMyOiBJbXByb3ZlIHBlcmZvcm1hbmNlIGFuZCBpbnRyb3NwZWN0aW9uIHN1cHBvcnQgb2YgY29tcGFyaXNvbgorICBtZXRob2RzIGNyZWF0ZWQgYnkgZnVuY3Rvb2wudG90YWxfb3JkZXJpbmcuCisKKy0gSXNzdWUgIzE5Nzc2OiBBZGQgYSBleHBhbmR1c2VyKCkgbWV0aG9kIG9uIFBhdGggb2JqZWN0cy4KIAogLSBJc3N1ZSAjMjMxMTI6IEZpeCBTaW1wbGVIVFRQU2VydmVyIHRvIGNvcnJlY3RseSBjYXJyeSB0aGUgcXVlcnkgc3RyaW5nIGFuZAogICBmcmFnbWVudCB3aGVuIGl0IHJlZGlyZWN0cyB0byBhZGQgYSB0cmFpbGluZyBzbGFzaC4KIAorLSBJc3N1ZSAjMjE3OTM6IEFkZGVkIGh0dHAuSFRUUFN0YXR1cyBlbnVtcyAoaS5lLiBIVFRQU3RhdHVzLk9LLAorICBIVFRQU3RhdHVzLk5PVF9GT1VORCkuICBQYXRjaCBieSBEZW1pYW4gQnJlY2h0LgorCiAtIElzc3VlICMyMzA5MzogSW4gdGhlIGlvLCBtb2R1bGUgYWxsb3cgbW9yZSBvcGVyYXRpb25zIHRvIHdvcmsgb24gZGV0YWNoZWQKICAgc3RyZWFtcy4KIAorLSBJc3N1ZSAjMjMxMTE6IEluIHRoZSBmdHBsaWIsIG1ha2Ugc3NsLlBST1RPQ09MX1NTTHYyMyB0aGUgZGVmYXVsdCBwcm90b2NvbAorICB2ZXJzaW9uLgorCistIElzc3VlICMyMjU4NTogT24gT3BlbkJTRCA1LjYgYW5kIG5ld2VyLCBvcy51cmFuZG9tKCkgbm93IGNhbGxzIGdldGVudHJvcHkoKSwKKyAgaW5zdGVhZCBvZiByZWFkaW5nIC9kZXYvdXJhbmRvbSwgdG8gZ2V0IHBzZXVkby1yYW5kb20gYnl0ZXMuCisKIC0gSXNzdWUgIzE5MTA0OiBwcHJpbnQgbm93IHByb2R1Y2VzIGV2YWx1YWJsZSBvdXRwdXQgZm9yIHdyYXBwZWQgc3RyaW5ncy4KIAogLSBJc3N1ZSAjMjMwNzE6IEFkZGVkIG1pc3NpbmcgbmFtZXMgdG8gY29kZWNzLl9fYWxsX18uICBQYXRjaCBieSBNYXJ0aW4gUGFudGVyLgogCistIElzc3VlICMyMjc4MzogUGlja2xpbmcgbm93IHVzZXMgdGhlIE5FV09CSiBvcGNvZGUgaW5zdGVhZCBvZiB0aGUgTkVXT0JKX0VYCisgIG9wY29kZSBpZiBwb3NzaWJsZS4KKwogLSBJc3N1ZSAjMTU1MTM6IEFkZGVkIGEgX19zaXplb2ZfXyBpbXBsZW1lbnRhdGlvbiBmb3IgcGlja2xlIGNsYXNzZXMuCiAKIC0gSXNzdWUgIzE5ODU4OiBwaWNrbGV0b29scy5vcHRpbWl6ZSgpIG5vdyBhd2FyZSBvZiB0aGUgTUVNT0laRSBvcGNvZGUsIGNhbgpAQCAtMjI2LDEyICs1MjcsMjUgQEAKIC0gSXNzdWUgIzEyMTgyMzQ6IEZpeCBpbnNwZWN0LmdldHNvdXJjZSgpIHRvIGxvYWQgdXBkYXRlZCBzb3VyY2Ugb2YKICAgcmVsb2FkZWQgbW9kdWxlLiBJbml0aWFsIHBhdGNoIGJ5IEJlcmtlciBQZWtzYWcuCiAKKy0gSXNzdWUgIzIxNzQwOiBTdXBwb3J0IHdyYXBwZWQgY2FsbGFibGVzIGluIGRvY3Rlc3QuIFBhdGNoIGJ5IENsYXVkaXUgUG9wYS4KKworLSBJc3N1ZSAjMjMwMDk6IE1ha2Ugc3VyZSBzZWxlY3RvcnMuRXBvbGxTZWxlY3J0b3Iuc2VsZWN0KCkgd29ya3Mgd2hlbiBubworICBGRCBpcyByZWdpc3RlcmVkLgorCiAtIElzc3VlICMyMjk1OTogSW4gdGhlIGNvbnN0cnVjdG9yIG9mIGh0dHAuY2xpZW50LkhUVFBTQ29ubmVjdGlvbiwgcHJlZmVyIHRoZQogICBjb250ZXh0J3MgY2hlY2tfaG9zdG5hbWUgYXR0cmlidXRlIG92ZXIgdGhlICpjaGVja19ob3N0bmFtZSogcGFyYW1ldGVyLgogCistIElzc3VlICMyMjY5NjogQWRkIGZ1bmN0aW9uIDpmdW5jOmBzeXMuaXNfZmluYWxpemluZ2AgdG8ga25vdyBhYm91dAorICBpbnRlcnByZXRlciBzaHV0ZG93bi4KKwogLSBJc3N1ZSAjMTYwNDM6IEFkZCBhIGRlZmF1bHQgbGltaXQgZm9yIHRoZSBhbW91bnQgb2YgZGF0YSB4bWxycGNsaWIuZ3ppcF9kZWNvZGUKICAgd2lsbCByZXR1cm4uIFRoaXMgcmVzb2x2ZXMgQ1ZFLTIwMTMtMTc1My4KIAorLSBJc3N1ZSAjMTQwOTk6IFppcEZpbGUub3BlbigpIG5vIGxvbmdlciByZW9wZW4gdGhlIHVuZGVybHlpbmcgZmlsZS4gIE9iamVjdHMKKyAgcmV0dXJuZWQgYnkgWmlwRmlsZS5vcGVuKCkgY2FuIG5vdyBvcGVyYXRlIGluZGVwZW5kZW50bHkgb2YgdGhlIFppcEZpbGUgZXZlbgorICBpZiB0aGUgWmlwRmlsZSB3YXMgY3JlYXRlZCBieSBwYXNzaW5nIGluIGEgZmlsZS1saWtlIG9iamVjdCBhcyB0aGUgZmlyc3QKKyAgYXJndW1lbnQgdG8gdGhlIGNvbnN0cnVjdG9yLgorCiAtIElzc3VlICMyMjk2NjogRml4IF9fcHljYWNoZV9fIHB5YyBmaWxlIG5hbWUgY2xvYmJlciB3aGVuIHB5Y19jb21waWxlIGlzCiAgIGFza2VkIHRvIGNvbXBpbGUgYSBzb3VyY2UgZmlsZSBjb250YWluaW5nIG11bHRpcGxlIGRvdHMgaW4gdGhlIHNvdXJjZSBmaWxlCiAgIG5hbWUuCkBAIC0yNDEsMTQgKzU1NSwzMCBAQAogLSBJc3N1ZSAjMjEwMzIuIEZpeGVkIHNvY2tldCBsZWFrIGlmIEhUVFBDb25uZWN0aW9uLmdldHJlc3BvbnNlKCkgZmFpbHMuCiAgIE9yaWdpbmFsIHBhdGNoIGJ5IE1hcnRpbiBQYW50ZXIuCiAKKy0gSXNzdWUgIzIyNDA3OiBEZXByZWNhdGVkIHRoZSB1c2Ugb2YgcmUuTE9DQUxFIGZsYWcgd2l0aCBzdHIgcGF0dGVybnMgb3IKKyAgcmUuQVNDSUkuIEl0IHdhcyBuZXdlciB3b3JrZWQuCisKKy0gSXNzdWUgIzIyOTAyOiBUaGUgImlwIiBjb21tYW5kIGlzIG5vdyB1c2VkIG9uIExpbnV4IHRvIGRldGVybWluZSBNQUMgYWRkcmVzcworICBpbiB1dWlkLmdldG5vZGUoKS4gIFBhY2ggYnkgQnJ1bm8gQ2F1ZXQuCisKIC0gSXNzdWUgIzIyOTYwOiBBZGQgYSBjb250ZXh0IGFyZ3VtZW50IHRvIHhtbHJwY2xpYi5TZXJ2ZXJQcm94eSBjb25zdHJ1Y3Rvci4KIAorLSBJc3N1ZSAjMjIzODk6IEFkZCBjb250ZXh0bGliLnJlZGlyZWN0X3N0ZGVycigpLgorCistIElzc3VlICMyMTM1NjogTWFrZSBzc2wuUkFORF9lZ2QoKSBvcHRpb25hbCB0byBzdXBwb3J0IExpYnJlU1NMLiBUaGUKKyAgYXZhaWxhYmlsaXR5IG9mIHRoZSBmdW5jdGlvbiBpcyBjaGVja2VkIGR1cmluZyB0aGUgY29tcGlsYXRpb24uIFBhdGNoIHdyaXR0ZW4KKyAgYnkgQmVybmFyZCBTcGlsLgorCiAtIElzc3VlICMyMjkxNTogU0FYIHBhcnNlciBub3cgc3VwcG9ydHMgZmlsZXMgb3BlbmVkIHdpdGggZmlsZSBkZXNjcmlwdG9yIG9yCiAgIGJ5dGVzIHBhdGguCiAKIC0gSXNzdWUgIzIyNjA5OiBDb25zdHJ1Y3RvcnMgYW5kIHVwZGF0ZSBtZXRob2RzIG9mIG1hcHBpbmcgY2xhc3NlcyBpbiB0aGUKICAgY29sbGVjdGlvbnMgbW9kdWxlIG5vdyBhY2NlcHQgdGhlIHNlbGYga2V5d29yZCBhcmd1bWVudC4KIAorLSBJc3N1ZSAjMjI5NDA6IEFkZCByZWFkbGluZS5hcHBlbmRfaGlzdG9yeV9maWxlLgorCistIElzc3VlICMxOTY3NjogQWRkZWQgdGhlICJuYW1lcmVwbGFjZSIgZXJyb3IgaGFuZGxlci4KKwogLSBJc3N1ZSAjMjI3ODg6IEFkZCAqY29udGV4dCogcGFyYW1ldGVyIHRvIGxvZ2dpbmcuaGFuZGxlcnMuSFRUUEhhbmRsZXIuCiAKIC0gSXNzdWUgIzIyOTIxOiBBbGxvdyBTU0xDb250ZXh0IHRvIHRha2UgdGhlICpob3N0bmFtZSogcGFyYW1ldGVyIGV2ZW4gaWYKQEAgLTI1NywxNCArNTg3LDE5IEBACiAtIElzc3VlICMyMjg5NDogVGVzdENhc2Uuc3ViVGVzdCgpIHdvdWxkIGNhdXNlIHRoZSB0ZXN0IHN1aXRlIHRvIGJlIHN0b3BwZWQKICAgd2hlbiBpbiBmYWlsZmFzdCBtb2RlLCBldmVuIGluIHRoZSBhYnNlbmNlIG9mIGZhaWx1cmVzLgogCi0tIElzc3VlICMyMjYzODogU1NMdjMgaXMgbm93IGRpc2FibGVkIHRocm91Z2hvdXQgdGhlIHN0YW5kYXJkIGxpYnJhcnkuCi0gIEl0IGNhbiBzdGlsbCBiZSBlbmFibGVkIGJ5IGluc3RhbnRpYXRpbmcgYSBTU0xDb250ZXh0IG1hbnVhbGx5LgorLSBJc3N1ZSAjMjI3OTY6IEhUVFAgY29va2llIHBhcnNpbmcgaXMgbm93IHN0cmljdGVyLCBpbiBvcmRlciB0byBwcm90ZWN0CisgIGFnYWluc3QgcG90ZW50aWFsIGluamVjdGlvbiBhdHRhY2tzLgogCiAtIElzc3VlICMyMjM3MDogV2luZG93cyBkZXRlY3Rpb24gaW4gcGF0aGxpYiBpcyBub3cgbW9yZSByb2J1c3QuCiAKIC0gSXNzdWUgIzIyODQxOiBSZWplY3QgY29yb3V0aW5lcyBpbiBhc3luY2lvIGFkZF9zaWduYWxfaGFuZGxlcigpLgogICBQYXRjaCBieSBMdWRvdmljLkdhc2MuCiAKKy0gSXNzdWUgIzE5NDk0OiBBZGRlZCB1cmxsaWIucmVxdWVzdC5IVFRQQmFzaWNQcmlvckF1dGhIYW5kbGVyLiBQYXRjaCBieQorICBNYXRlaiBDZXBsLgorCistIElzc3VlICMyMjU3ODogQWRkZWQgYXR0cmlidXRlcyB0byB0aGUgcmUuZXJyb3IgY2xhc3MuCisKIC0gSXNzdWUgIzIyODQ5OiBGaXggcG9zc2libGUgZG91YmxlIGZyZWUgaW4gdGhlIGlvLlRleHRJT1dyYXBwZXIgY29uc3RydWN0b3IuCiAKIC0gSXNzdWUgIzEyNzI4OiBEaWZmZXJlbnQgVW5pY29kZSBjaGFyYWN0ZXJzIGhhdmluZyB0aGUgc2FtZSB1cHBlcmNhc2UgYnV0CkBAIC0yNzMsNiArNjA4LDE0IEBACiAtIElzc3VlICMyMjgyMTogRml4ZWQgZmNudGwoKSB3aXRoIGludGVnZXIgYXJndW1lbnQgb24gNjQtYml0IGJpZy1lbmRpYW4KICAgcGxhdGZvcm1zLgogCistIElzc3VlICMyMTY1MDogQWRkIGFuIGAtLXNvcnQta2V5c2Agb3B0aW9uIHRvIGpzb24udG9vbCBDTEkuCisKKy0gSXNzdWUgIzIyODI0OiAgVXBkYXRlZCByZXBybGliIG91dHB1dCBmb3JtYXQgZm9yIHNldHMgdG8gdXNlIHNldCBsaXRlcmFscy4KKyAgUGF0Y2ggY29udHJpYnV0ZWQgYnkgQmVya2VyIFBla3NhZy4KKworLSBJc3N1ZSAjMjI4MjQ6ICBVcGRhdGVkIHJlcHJsaWIgb3V0cHV0IGZvcm1hdCBmb3IgYXJyYXlzIHRvIGRpc3BsYXkgZW1wdHkKKyAgYXJyYXlzIHdpdGhvdXQgYW4gdW5uZWNlc3NhcnkgZW1wdHkgbGlzdC4gIFN1Z2dlc3RlZCBieSBTZXJoaXkgU3RvcmNoYWthLgorCiAtIElzc3VlICMyMjQwNjogRml4ZWQgdGhlIHV1X2NvZGVjIGNvZGVjIGluY29ycmVjdGx5IHBvcnRlZCB0byAzLnguCiAgIEJhc2VkIG9uIHBhdGNoIGJ5IE1hcnRpbiBQYW50ZXIuCiAKQEAgLTI4NiwxNiArNjI5LDE1IEBACiAtIElzc3VlICMyMjc3NTogRml4ZWQgdW5waWNrbGluZyBvZiBodHRwLmNvb2tpZXMuU2ltcGxlQ29va2llIHdpdGggcHJvdG9jb2wgMgogICBhbmQgYWJvdmUuICBQYXRjaCBieSBUaW0gR3JhaGFtLgogCi0tIElzc3VlICMyMjM2NjogdXJsbGliLnJlcXVlc3QudXJsb3BlbiB3aWxsIGFjY2VwdCBhIGNvbnRleHQgb2JqZWN0Ci0gIChTU0xDb250ZXh0KSBhcyBhbiBhcmd1bWVudCB3aGljaCB3aWxsIHRoZW4gdXNlZCBiZSBmb3IgSFRUUFMgY29ubmVjdGlvbi4KLSAgUGF0Y2ggYnkgQWxleCBHYXlub3IuCi0KIC0gSXNzdWUgIzIyNzc2OiBCcm91Z2h0IGV4Y2x1ZGVkIGNvZGUgaW50byB0aGUgc2NvcGUgb2YgYSB0cnkgYmxvY2sgaW4KICAgU3lzTG9nSGFuZGxlci5lbWl0KCkuCiAKIC0gSXNzdWUgIzIyNjY1OiBBZGQgbWlzc2luZyBnZXRfdGVybWluYWxfc2l6ZSBhbmQgU2FtZUZpbGVFcnJvciB0bwogICBzaHV0aWwuX19hbGxfXy4KIAorLSBJc3N1ZSAjNjYyMzogUmVtb3ZlIGRlcHJlY2F0ZWQgTmV0cmMgY2xhc3MgaW4gdGhlIGZ0cGxpYiBtb2R1bGUuIFBhdGNoIGJ5CisgIE1hdHQgQ2hhcHV0LgorCiAtIElzc3VlICMxNzM4MTogRml4ZWQgaGFuZGxpbmcgb2YgY2FzZS1pbnNlbnNpdGl2ZSByYW5nZXMgaW4gcmVndWxhcgogICBleHByZXNzaW9ucy4KIApAQCAtMzA5LDE4ICs2NTEsNTMgQEAKICAgZG9lc24ndCB3b3JrLiAgVGhpcyBhbGxvd3MgdXNlIHdpdGggc3BlY2lhbCBmaWxlc3lzdGVtcyBzdWNoIGFzIFZpcnR1YWxCb3gKICAgc2hhcmVkIGZvbGRlcnMuCiAKKy0gSXNzdWUgIzIyMjE3OiBJbXBsZW1lbnRlZCByZXBycyBvZiBjbGFzc2VzIGluIHRoZSB6aXBmaWxlIG1vZHVsZS4KKworLSBJc3N1ZSAjMjI0NTc6IEhvbm91ciBsb2FkX3Rlc3RzIGluIHRoZSBzdGFydF9kaXIgb2YgZGlzY292ZXJ5LgorCistIElzc3VlICMxODIxNjogZ2V0dGV4dCBub3cgcmFpc2VzIGFuIGVycm9yIHdoZW4gYSAubW8gZmlsZSBoYXMgYW4KKyAgdW5zdXBwb3J0ZWQgbWFqb3IgdmVyc2lvbiBudW1iZXIuICBQYXRjaCBieSBBYXJvbiBIaWxsLgorCistIElzc3VlICMxMzkxODogUHJvdmlkZSBhIGxvY2FsZS5kZWxvY2FsaXplKCkgZnVuY3Rpb24gd2hpY2ggY2FuIHJlbW92ZQorICBsb2NhbGUtc3BlY2lmaWMgbnVtYmVyIGZvcm1hdHRpbmcgZnJvbSBhIHN0cmluZyByZXByZXNlbnRpbmcgYSBudW1iZXIsCisgIHdpdGhvdXQgdGhlbiBjb252ZXJ0aW5nIGl0IHRvIGEgc3BlY2lmaWMgdHlwZS4gIFBhdGNoIGJ5IEPDqWRyaWMgS3JpZXIuCisKKy0gSXNzdWUgIzIyNjc2OiBNYWtlIHRoZSBwaWNrbGluZyBvZiBnbG9iYWwgb2JqZWN0cyB3aGljaCBkb24ndCBoYXZlIGEKKyAgX19tb2R1bGVfXyBhdHRyaWJ1dGUgbGVzcyBzbG93LgorCiAtIElzc3VlICMxODg1MzogRml4ZWQgUmVzb3VyY2VXYXJuaW5nIGluIHNobGV4Ll9fbmFpbl9fLgogCiAtIElzc3VlICM5MzUxOiBEZWZhdWx0cyBzZXQgd2l0aCBzZXRfZGVmYXVsdHMgb24gYW4gYXJncGFyc2Ugc3VicGFyc2VyCiAgIGFyZSBubyBsb25nZXIgaWdub3JlZCB3aGVuIGFsc28gc2V0IG9uIHRoZSBwYXJlbnQgcGFyc2VyLgogCistIElzc3VlICM3NTU5OiB1bml0dGVzdCB0ZXN0IGxvYWRpbmcgSW1wb3J0RXJyb3JzIGFyZSByZXBvcnRlZCBhcyBpbXBvcnQgZXJyb3JzCisgIHdpdGggdGhlaXIgaW1wb3J0IGV4Y2VwdGlvbiByYXRoZXIgdGhhbiBhcyBhdHRyaWJ1dGUgZXJyb3JzIGFmdGVyIHRoZSBpbXBvcnQKKyAgaGFzIGFscmVhZHkgZmFpbGVkLgorCistIElzc3VlICMxOTc0NjogTWFrZSBpdCBwb3NzaWJsZSB0byBleGFtaW5lIHRoZSBlcnJvcnMgZnJvbSB1bml0dGVzdAorICBkaXNjb3Zlcnkgd2l0aG91dCBleGVjdXRpbmcgdGhlIHRlc3Qgc3VpdGUuIFRoZSBuZXcgYGVycm9yc2AgYXR0cmlidXRlCisgIG9uIFRlc3RMb2FkZXIgZXhwb3NlcyB0aGVzZSBub24tZmF0YWwgZXJyb3JzIGVuY291bnRlcmVkIGR1cmluZyBkaXNjb3ZlcnkuCisKIC0gSXNzdWUgIzIxOTkxOiBNYWtlIGVtYWlsLmhlYWRlcnJlZ2lzdHJ5J3MgaGVhZGVyICdwYXJhbXMnIGF0dHJpYnV0ZXMKICAgYmUgcmVhZC1vbmx5IChNYXBwaW5nUHJveHlUeXBlKS4gIFByZXZpb3VzbHkgdGhlIGRpY3Rpb25hcnkgd2FzIG1vZGlmaWFibGUKICAgYnV0IGEgbmV3IG9uZSB3YXMgY3JlYXRlZCBvbiBlYWNoIGFjY2VzcyBvZiB0aGUgYXR0cmlidXRlLgogCistIElzc3VlICMyMjYzODogU1NMdjMgaXMgbm93IGRpc2FibGVkIHRocm91Z2hvdXQgdGhlIHN0YW5kYXJkIGxpYnJhcnkuCisgIEl0IGNhbiBzdGlsbCBiZSBlbmFibGVkIGJ5IGluc3RhbnRpYXRpbmcgYSBTU0xDb250ZXh0IG1hbnVhbGx5LgorCiAtIElzc3VlICMyMjY0MTogSW4gYXN5bmNpbywgdGhlIGRlZmF1bHQgU1NMIGNvbnRleHQgZm9yIGNsaWVudCBjb25uZWN0aW9ucwogICBpcyBub3cgY3JlYXRlZCB1c2luZyBzc2wuY3JlYXRlX2RlZmF1bHRfY29udGV4dCgpLCBmb3Igc3Ryb25nZXIgc2VjdXJpdHkuCiAKKy0gSXNzdWUgIzE3NDAxOiBJbmNsdWRlIGNsb3NlZmQgaW4gaW8uRmlsZUlPIHJlcHIuCisKKy0gSXNzdWUgIzIxMzM4OiBBZGQgc2lsZW50IG1vZGUgZm9yIGNvbXBpbGVhbGwuIHF1aWV0IHBhcmFtZXRlcnMgb2YKKyAgY29tcGlsZV97ZGlyLCBmaWxlLCBwYXRofSBmdW5jdGlvbnMgbm93IGhhdmUgYSBtdWx0aWxldmVsIHZhbHVlLiBBbHNvLAorICAtcSBvcHRpb24gb2YgdGhlIENMSSBub3cgaGF2ZSBhIG11bHRpbGV2ZWwgdmFsdWUuIFBhdGNoIGJ5IFRob21hcyBLbHV5dmVyLgorCistIElzc3VlICMyMDE1MjogQ29udmVydCB0aGUgYXJyYXkgYW5kIGNtYXRoIG1vZHVsZXMgdG8gQXJndW1lbnQgQ2xpbmljLgorCistIElzc3VlICMxODY0MzogQWRkIHNvY2tldC5zb2NrZXRwYWlyKCkgb24gV2luZG93cy4KKwogLSBJc3N1ZSAjMjI0MzU6IEZpeCBhIGZpbGUgZGVzY3JpcHRvciBsZWFrIHdoZW4gU29ja2V0U2VydmVyIGJpbmQgZmFpbHMuCiAKIC0gSXNzdWUgIzEzMDk2OiBGaXhlZCBzZWdmYXVsdCBpbiBDVHlwZXMgUE9JTlRFUiBoYW5kbGluZyBvZiBsYXJnZQpAQCAtMzI5LDkgKzcwNiwxOSBAQAogLSBJc3N1ZSAjMTE2OTQ6IFJhaXNlIENvbnZlcnNpb25FcnJvciBpbiB4ZHJsaWIgYXMgZG9jdW1lbnRlZC4gIFBhdGNoCiAgIGJ5IEZpbGlwIEdydXN6Y3p5xYRza2kgYW5kIENsYXVkaXUgUG9wYS4KIAorLSBJc3N1ZSAjMTkzODA6IE9wdGltaXplZCBwYXJzaW5nIG9mIHJlZ3VsYXIgZXhwcmVzc2lvbnMuCisKKy0gSXNzdWUgIzE1MTk2Mzg6IE5vdyB1bm1hdGNoZWQgZ3JvdXBzIGFyZSByZXBsYWNlZCB3aXRoIGVtcHR5IHN0cmluZ3MgaW4gcmUuc3ViKCkKKyAgYW5kIHJlLnN1Ym4oKS4KKworLSBJc3N1ZSAjMTg2MTU6IHNuZGhkci53aGF0L3doYXRoZHIgbm93IHJldHVybiBhIG5hbWVkdHVwbGUuCisKIC0gSXNzdWUgIzIyNDYyOiBGaXggcHlleHBhdCdzIGNyZWF0aW9uIG9mIGEgZHVtbXkgZnJhbWUgdG8gbWFrZSBpdAogICBhcHBlYXIgaW4gZXhjZXB0aW9uIHRyYWNlYmFja3MuCiAKKy0gSXNzdWUgIzIxOTY1OiBBZGQgc3VwcG9ydCBmb3IgaW4tbWVtb3J5IFNTTCB0byB0aGUgc3NsIG1vZHVsZS4gIFBhdGNoCisgIGJ5IEdlZXJ0IEphbnNlbi4KKwogLSBJc3N1ZSAjMjExNzM6IEZpeCBsZW4oKSBvbiBhIFdlYWtLZXlEaWN0aW9uYXJ5IHdoZW4gLmNsZWFyKCkgd2FzIGNhbGxlZAogICB3aXRoIGFuIGl0ZXJhdG9yIGFsaXZlLgogCkBAIC0zNDEsMTY1ICs3MjgsNjUgQEAKIC0gSXNzdWUgIzIxOTA1OiBBdm9pZCBSdW50aW1lRXJyb3IgaW4gcGlja2xlLndoaWNobW9kdWxlKCkgd2hlbiBzeXMubW9kdWxlcwogICBpcyBtdXRhdGVkIHdoaWxlIGl0ZXJhdGluZy4gIFBhdGNoIGJ5IE9saXZpZXIgR3Jpc2VsLgogCistIElzc3VlICMxMTI3MTogY29uY3VycmVudC5mdXR1cmVzLkV4ZWN1dG9yLm1hcCgpIG5vdyB0YWtlcyBhICpjaHVua3NpemUqCisgIGFyZ3VtZW50IHRvIGFsbG93IGJhdGNoaW5nIG9mIHRhc2tzIGluIGNoaWxkIHByb2Nlc3NlcyBhbmQgaW1wcm92ZQorICBwZXJmb3JtYW5jZSBvZiBQcm9jZXNzUG9vbEV4ZWN1dG9yLiAgUGF0Y2ggYnkgRGFuIE8nUmVpbGx5LgorCistIElzc3VlICMyMTg4Mzogb3MucGF0aC5qb2luKCkgYW5kIG9zLnBhdGgucmVscGF0aCgpIG5vdyByYWlzZSBhIFR5cGVFcnJvciB3aXRoCisgIG1vcmUgaGVscGZ1bCBlcnJvciBtZXNzYWdlIGZvciB1bnN1cHBvcnRlZCBvciBtaXNtYXRjaGVkIHR5cGVzIG9mIGFyZ3VtZW50cy4KKwogLSBJc3N1ZSAjMjIyMTk6IFRoZSB6aXBmaWxlIG1vZHVsZSBDTEkgbm93IGFkZHMgZW50cmllcyBmb3IgZGlyZWN0b3JpZXMKICAgKGluY2x1ZGluZyBlbXB0eSBkaXJlY3RvcmllcykgaW4gWklQIGZpbGUuCiAKIC0gSXNzdWUgIzIyNDQ5OiBJbiB0aGUgc3NsLlNTTENvbnRleHQubG9hZF9kZWZhdWx0X2NlcnRzLCBjb25zdWx0IHRoZQogICBlbnZpcm9tZW50YWwgdmFyaWFibGVzIFNTTF9DRVJUX0RJUiBhbmQgU1NMX0NFUlRfRklMRSBvbiBXaW5kb3dzLgogCistIElzc3VlICMyMjUwODogVGhlIGVtYWlsLl9fdmVyc2lvbl9fIHZhcmlhYmxlIGhhcyBiZWVuIHJlbW92ZWQ7IHRoZSBlbWFpbAorICBjb2RlIGlzIG5vIGxvbmdlciBzaGlwcGVkIHNlcGFyYXRlbHkgZnJvbSB0aGUgc3RkbGliLCBhbmQgX192ZXJzaW9uX18KKyAgaGFzbid0IGJlZW4gdXBkYXRlZCBpbiBzZXZlcmFsIHJlbGVhc2VzLgorCiAtIElzc3VlICMyMDA3NjogQWRkZWQgbm9uIGRlcml2ZWQgVVRGLTggYWxpYXNlcyB0byBsb2NhbGUgYWxpYXNlcyB0YWJsZS4KIAogLSBJc3N1ZSAjMjAwNzk6IEFkZGVkIGxvY2FsZXMgc3VwcG9ydGVkIGluIGdsaWJjIDIuMTggdG8gbG9jYWxlIGFsaWFzIHRhYmxlLgogCi0tIElzc3VlICMyMjM5NjogT24gMzItYml0IEFJWCBwbGF0Zm9ybSwgZG9uJ3QgZXhwb3NlIG9zLnBvc2l4X2ZhZHZpc2UoKSBub3IKLSAgb3MucG9zaXhfZmFsbG9jYXRlKCkgYmVjYXVzZSB0aGVpciBwcm90b3R5cGVzIGluIHN5c3RlbSBoZWFkZXJzIGFyZSB3cm9uZy4KKy0gSXNzdWUgIzIwMjE4OiBBZGRlZCBjb252ZW5pZW5jZSBtZXRob2RzIHJlYWRfdGV4dC93cml0ZV90ZXh0IGFuZCByZWFkX2J5dGVzLworICB3cml0ZV9ieXRlcyB0byBwYXRobGliLlBhdGggb2JqZWN0cy4KIAotLSBJc3N1ZSAjMjI1MTc6IFdoZW4gYSBpby5CdWZmZXJlZFJXUGFpciBvYmplY3QgaXMgZGVhbGxvY2F0ZWQsIGNsZWFyIGl0cwotICB3ZWFrcmVmcy4KKy0gSXNzdWUgIzIyNDM3OiBOdW1iZXIgb2YgY2FwdHVyaW5nIGdyb3VwcyBpbiByZWd1bGFyIGV4cHJlc3Npb24gaXMgbm8gbG9uZ2VyCisgIGxpbWl0ZWQgYnkgMTAwLgogCi0tIElzc3VlICMyMjQ0ODogSW1wcm92ZSBjYW5jZWxlZCB0aW1lciBoYW5kbGVzIGNsZWFudXAgdG8gcHJldmVudAotICB1bmJvdW5kIG1lbW9yeSB1c2FnZS4gUGF0Y2ggYnkgSm9zaHVhIE1vb3JlLU9saXZhLgotCi0tIElzc3VlICMyMzAwOTogTWFrZSBzdXJlIHNlbGVjdG9ycy5FcG9sbFNlbGVjcnRvci5zZWxlY3QoKSB3b3JrcyB3aGVuIG5vCi0gIEZEIGlzIHJlZ2lzdGVyZWQuCi0KLUlETEUKLS0tLS0KLQotLSBJc3N1ZSAjMjA1Nzc6IENvbmZpZ3VyYXRpb24gb2YgdGhlIG1heCBsaW5lIGxlbmd0aCBmb3IgdGhlIEZvcm1hdFBhcmFncmFwaAotICBleHRlbnNpb24gaGFzIGJlZW4gbW92ZWQgZnJvbSB0aGUgR2VuZXJhbCB0YWIgb2YgdGhlIElkbGUgcHJlZmVyZW5jZXMgZGlhbG9nCi0gIHRvIHRoZSBGb3JtYXRQYXJhZ3JhcGggdGFiIG9mIHRoZSBDb25maWcgRXh0ZW5zaW9ucyBkaWFsb2cuCi0gIFBhdGNoIGJ5IFRhbCBFaW5hdC4KLQotLSBJc3N1ZSAjMTY4OTM6IFVwZGF0ZSBJZGxlIGRvYyBjaGFwdGVyIHRvIG1hdGNoIGN1cnJlbnQgSWRsZSBhbmQgYWRkIG5ldwotICBpbmZvcm1hdGlvbi4KLQotLSBJc3N1ZSAjMzA2ODogQWRkIElkbGUgZXh0ZW5zaW9uIGNvbmZpZ3VyYXRpb24gZGlhbG9nIHRvIE9wdGlvbnMgbWVudS4KLSAgQ2hhbmdlcyBhcmUgd3JpdHRlbiB0byBIT01FLy5pZGxlcmMvY29uZmlnLWV4dGVuc2lvbnMuY2ZnLgotICBPcmlnaW5hbCBwYXRjaCBieSBUYWwgRWluYXQuCi0KLS0gSXNzdWUgIzE2MjMzOiBBIG1vZHVsZSBicm93c2VyIChGaWxlIDogQ2xhc3MgQnJvd3NlciwgQWx0K0MpIHJlcXVpcmVzIGEKLSAgZWRpdG9yIHdpbmRvdyB3aXRoIGEgZmlsZW5hbWUuICBXaGVuIENsYXNzIEJyb3dzZXIgaXMgcmVxdWVzdGVkIG90aGVyd2lzZSwKLSAgZnJvbSBhIHNoZWxsLCBvdXRwdXQgd2luZG93LCBvciAnVW50aXRsZWQnIGVkaXRvciwgSWRsZSBubyBsb25nZXIgZGlzcGxheXMKLSAgYW4gZXJyb3IgYm94LiAgSXQgbm93IHBvcHMgdXAgYW4gIE9wZW4gTW9kdWxlIGJveCAoQWx0K00pLiBJZiBhIHZhbGlkIG5hbWUKLSAgaXMgZW50ZXJlZCBhbmQgYSBtb2R1bGUgaXMgb3BlbmVkLCBhIGNvcnJlc3BvbmRpbmcgYnJvd3NlciBpcyBhbHNvIG9wZW5lZC4KLQotLSBJc3N1ZSAjNDgzMjogU2F2ZSBBcyB0byB0eXBlIFB5dGhvbiBmaWxlcyBhdXRvbWF0aWNhbGx5IGFkZHMgLnB5IHRvIHRoZQotICBuYW1lIHlvdSBlbnRlciAoZXZlbiBpZiB5b3VyIHN5c3RlbSBkb2VzIG5vdCBkaXNwbGF5IGl0KS4gIFNvbWUgc3lzdGVtcwotICBhdXRvbWF0aWNhbGx5IGFkZCAudHh0IHdoZW4gdHlwZSBpcyBUZXh0IGZpbGVzLgotCi0tIElzc3VlICMyMTk4NjogQ29kZSBvYmplY3RzIGFyZSBub3Qgbm9ybWFsbHkgcGlja2xlZCBieSB0aGUgcGlja2xlIG1vZHVsZS4KLSAgVG8gbWF0Y2ggdGhpcywgdGhleSBhcmUgbm8gbG9uZ2VyIHBpY2tsZWQgd2hlbiBydW5uaW5nIHVuZGVyIElkbGUuCi0KLS0gSXNzdWUgIzIzMTgwOiBSZW5hbWUgSURMRSAiV2luZG93cyIgbWVudSBpdGVtIHRvICJXaW5kb3ciLgotICBQYXRjaCBieSBBbCBTd2VpZ2FydC4KLQotVGVzdHMKLS0tLS0tCistIElzc3VlICMxNzQ0MjogSW50ZXJhY3RpdmVJbnRlcnByZXRlciBub3cgZGlzcGxheXMgdGhlIGZ1bGwgY2hhaW5lZCB0cmFjZWJhY2sKKyAgaW4gaXRzIHNob3d0cmFjZWJhY2sgbWV0aG9kLCB0byBtYXRjaCB0aGUgYnVpbHQgaW4gaW50ZXJhY3RpdmUgaW50ZXJwcmV0ZXIuCiAKIC0gSXNzdWUgIzIzMzkyOiBBZGRlZCB0ZXN0cyBmb3IgbWFyc2hhbCBDIEFQSSB0aGF0IHdvcmtzIHdpdGggRklMRSouCiAKLS0gSXNzdWUgIzE4OTgyOiBBZGQgdGVzdHMgZm9yIENMSSBvZiB0aGUgY2FsZW5kYXIgbW9kdWxlLgotCi0tIElzc3VlICMxOTU0ODogQWRkZWQgc29tZSBhZGRpdGlvbmFsIGNoZWNrcyB0byB0ZXN0X2NvZGVjcyB0byBlbnN1cmUgdGhhdAotICBzdGF0ZW1lbnRzIGluIHRoZSB1cGRhdGVkIGRvY3VtZW50YXRpb24gcmVtYWluIGFjY3VyYXRlLiBQYXRjaCBieSBNYXJ0aW4KLSAgUGFudGVyLgotCi0tIElzc3VlICMyMjgzODogQWxsIHRlc3RfcmUgdGVzdHMgbm93IHdvcmsgd2l0aCB1bml0dGVzdCB0ZXN0IGRpc2NvdmVyeS4KLQotLSBJc3N1ZSAjMjIxNzM6IFVwZGF0ZSBsaWIydG8zIHRlc3RzIHRvIHVzZSB1bml0dGVzdCB0ZXN0IGRpc2NvdmVyeS4KLQotLSBJc3N1ZSAjMTYwMDA6IENvbnZlcnQgdGVzdF9jdXJzZXMgdG8gdXNlIHVuaXR0ZXN0LgotCi0tIElzc3VlICMyMTQ1NjogU2tpcCB0d28gdGVzdHMgaW4gdGVzdF91cmxsaWIybmV0LnB5IGlmIF9zc2wgbW9kdWxlIG5vdAotICBwcmVzZW50LiBQYXRjaCBieSBSZW1pIFBvaW50ZWwuCi0KLS0gSXNzdWUgIzIyNzcwOiBQcmV2ZW50IHNvbWUgVGsgc2VnZmF1bHRzIG9uIE9TIFggd2hlbiBydW5uaW5nIGd1aSB0ZXN0cy4KLQotLSBJc3N1ZSAjMjMyMTE6IFdvcmthcm91bmQgdGVzdF9sb2dnaW5nIGZhaWx1cmUgb24gc29tZSBPUyBYIDEwLjYgc3lzdGVtcy4KLQotLSBJc3N1ZSAjMjMzNDU6IFByZXZlbnQgdGVzdF9zc2wgZmFpbHVyZXMgd2l0aCBsYXJnZSBPcGVuU1NMIHBhdGNoIGxldmVsCi0gIHZhbHVlcyAobGlrZSAwLjkuOHpjKS4KLQotQnVpbGQKLS0tLS0tCi0KLS0gSXNzdWUgIzE1NTA2OiBVc2Ugc3RhbmRhcmQgUEtHX1BST0dfUEtHX0NPTkZJRyBhdXRvY29uZiBtYWNybyBpbiB0aGUgY29uZmlndXJlCi0gIHNjcmlwdC4KLQotLSBJc3N1ZSAjMjI5MzU6IEFsbG93IHRoZSBzc2wgbW9kdWxlIHRvIGJlIGNvbXBpbGVkIGlmIG9wZW5zc2wgZG9lc24ndCBzdXBwb3J0Ci0gIFNTTCAzLgotCi0tIElzc3VlICMxNjUzNzogQ2hlY2sgd2hldGhlciBzZWxmLmV4dGVuc2lvbnMgaXMgZW1wdHkgaW4gc2V0dXAucHkuIFBhdGNoIGJ5Ci0gIEpvbmF0aGFuIEhvc21lci4KLQotLSBJc3N1ZSAjMTgwOTY6IEZpeCBsaWJyYXJ5IG9yZGVyIHJldHVybmVkIGJ5IHB5dGhvbi1jb25maWcuCi0KLS0gSXNzdWUgIzE3MjE5OiBBZGQgbGlicmFyeSBidWlsZCBkaXIgZm9yIFB5dGhvbiBleHRlbnNpb24gY3Jvc3MtYnVpbGRzLgotCi0tIElzc3VlICMxNzEyODogVXNlIHByaXZhdGUgdmVyc2lvbiBvZiBPcGVuU1NMIGZvciAzLjQuMyBPUyBYIDEwLjUrIGluc3RhbGxlci4KLQotQyBBUEkKLS0tLS0tCi0KLS0gSXNzdWUgIzIyMDc5OiBQeVR5cGVfUmVhZHkoKSBub3cgY2hlY2tzIHRoYXQgc3RhdGljYWxseSBhbGxvY2F0ZWQgdHlwZSBoYXMKLSAgbm8gZHluYW1pY2FsbHkgYWxsb2NhdGVkIGJhc2VzLgotCi1Eb2N1bWVudGF0aW9uCi0tLS0tLS0tLS0tLS0tCi0KLS0gSXNzdWUgIzE5NTQ4OiBVcGRhdGUgdGhlIGNvZGVjcyBtb2R1bGUgZG9jdW1lbnRhdGlvbiB0byBiZXR0ZXIgY292ZXIgdGhlCi0gIGRpc3RpbmN0aW9uIGJldHdlZW4gdGV4dCBlbmNvZGluZ3MgYW5kIG90aGVyIGNvZGVjcywgdG9nZXRoZXIgd2l0aCBvdGhlcgotICBjbGFyaWZpY2F0aW9ucy4gUGF0Y2ggYnkgTWFydGluIFBhbnRlci4KLQotLSBJc3N1ZSAjMjI5MTQ6IFVwZGF0ZSB0aGUgUHl0aG9uIDIvMyBwb3J0aW5nIEhPV1RPIHRvIGRlc2NyaWJlIGEgbW9yZSBhdXRvbWF0ZWQKLSAgYXBwcm9hY2guCi0KLS0gSXNzdWUgIzIxNTE0OiBUaGUgZG9jdW1lbnRhdGlvbiBvZiB0aGUganNvbiBtb2R1bGUgbm93IHJlZmVycyB0byBuZXcgSlNPTiBSRkMKLSAgNzE1OSBpbnN0ZWFkIG9mIG9ic29sZXRlZCBSRkMgNDYyNy4KLQotVG9vbHMvRGVtb3MKLS0tLS0tLS0tLS0tCi0KLS0gSXNzdWUgIzIyMzE0OiBweWRvYyBub3cgd29ya3Mgd2hlbiB0aGUgTElORVMgZW52aXJvbm1lbnQgdmFyaWFibGUgaXMgc2V0LgotCi1XaW5kb3dzCi0tLS0tLS0tCi0KLS0gSXNzdWUgIzE3ODk2OiBUaGUgV2luZG93cyBidWlsZCBzY3JpcHRzIG5vdyBleHBlY3QgZXh0ZXJuYWwgbGlicmFyeSBzb3VyY2VzCi0gIHRvIGJlIGluIGBgUENidWlsZFwuLlxleHRlcm5hbHNgYCByYXRoZXIgdGhhbiBgYFBDYnVpbGRcLi5cLi5gYC4KLQotLSBJc3N1ZSAjMTc3MTc6IFRoZSBXaW5kb3dzIGJ1aWxkIHNjcmlwdHMgbm93IHVzZSBhIGNvcHkgb2YgTkFTTSBwdWxsZWQgZnJvbQotICBzdm4ucHl0aG9uLm9yZyB0byBidWlsZCBPcGVuU1NMLgotCi0tIElzc3VlICMyMjY0NDogVGhlIGJ1bmRsZWQgdmVyc2lvbiBvZiBPcGVuU1NMIGhhcyBiZWVuIHVwZGF0ZWQgdG8gMS4wLjFqLgotCi1XaGF0J3MgTmV3IGluIFB5dGhvbiAzLjQuMj8KLT09PT09PT09PT09PT09PT09PT09PT09PT09PQotCi1SZWxlYXNlIGRhdGU6IDIwMTQtMTAtMDYKLQotQ29yZSBhbmQgQnVpbHRpbnMKLS0tLS0tLS0tLS0tLS0tLS0tCi0KLUxpYnJhcnkKLS0tLS0tLS0KLQogLSBJc3N1ZSAjMTA1MTA6IGRpc3R1dGlscyByZWdpc3RlciBhbmQgdXBsb2FkIG1ldGhvZHMgbm93IHVzZSBIVE1MIHN0YW5kYXJkcwogICBjb21wbGlhbnQgQ1JMRiBsaW5lIGVuZGluZ3MuCiAKIC0gSXNzdWUgIzk4NTA6IEZpeGVkIG1hY3BhdGguam9pbigpIGZvciBlbXB0eSBmaXJzdCBjb21wb25lbnQuICBQYXRjaCBieQogICBPbGVnIE9zaG15YW4uCiAKKy0gSXNzdWUgIzUzMDk6IGRpc3R1dGlscycgYnVpbGQgYW5kIGJ1aWxkX2V4dCBjb21tYW5kcyBub3cgYWNjZXB0IGEgYGAtamBgCisgIG9wdGlvbiB0byBlbmFibGUgcGFyYWxsZWwgYnVpbGRpbmcgb2YgZXh0ZW5zaW9uIG1vZHVsZXMuCisKKy0gSXNzdWUgIzIyNDQ4OiBJbXByb3ZlIGNhbmNlbGVkIHRpbWVyIGhhbmRsZXMgY2xlYW51cCB0byBwcmV2ZW50CisgIHVuYm91bmQgbWVtb3J5IHVzYWdlLiBQYXRjaCBieSBKb3NodWEgTW9vcmUtT2xpdmEuCisKIC0gSXNzdWUgIzIyNDI3OiBUZW1wb3JhcnlEaXJlY3Rvcnkgbm8gbG9uZ2VyIGF0dGVtcHRzIHRvIGNsZWFuIHVwIHR3aWNlIHdoZW4KICAgdXNlZCBpbiB0aGUgd2l0aCBzdGF0ZW1lbnQgaW4gZ2VuZXJhdG9yLgogCistIElzc3VlICMyMjM2MjogRm9yYmlkZGVuIGFtYmlndW91cyBvY3RhbCBlc2NhcGVzIG91dCBvZiByYW5nZSAwLTBvMzc3IGluCisgIHJlZ3VsYXIgZXhwcmVzc2lvbnMuCisKIC0gSXNzdWUgIzIwOTEyOiBOb3cgZGlyZWN0b3JpZXMgYWRkZWQgdG8gWklQIGZpbGUgaGF2ZSBjb3JyZWN0IFVuaXggYW5kIE1TLURPUwogICBkaXJlY3RvcnkgYXR0cmlidXRlcy4KIAogLSBJc3N1ZSAjMjE4NjY6IFppcEZpbGUuY2xvc2UoKSBubyBsb25nZXIgd3JpdGVzIFpJUDY0IGNlbnRyYWwgZGlyZWN0b3J5CiAgIHJlY29yZHMgaWYgYWxsb3daaXA2NCBpcyBmYWxzZS4KIAorLSBJc3N1ZSAjMjIyNzg6IEZpeCB1cmxqb2luIHByb2JsZW0gd2l0aCByZWxhdGl2ZSB1cmxzLCBhIHJlZ3Jlc3Npb24gb2JzZXJ2ZWQKKyAgYWZ0ZXIgY2hhbmdlcyB0byBpc3N1ZTIyMTE4IHdlcmUgc3VibWl0dGVkLgorCiAtIElzc3VlICMyMjQxNTogRml4ZWQgZGVidWdnaW5nIG91dHB1dCBvZiB0aGUgR1JPVVBSRUZfRVhJU1RTIG9wY29kZSBpbiB0aGUgcmUKICAgbW9kdWxlLiAgUmVtb3ZlZCB0cmFpbGluZyBzcGFjZXMgaW4gZGVidWdnaW5nIG91dHB1dC4KIApAQCAtNTA5LDQ3ICs3OTYsMTggQEAKIC0gSXNzdWUgIzIxMzMyOiBFbnN1cmUgdGhhdCBgYGJ1ZnNpemU9MWBgIGluIHN1YnByb2Nlc3MuUG9wZW4oKSBzZWxlY3RzCiAgIGxpbmUgYnVmZmVyaW5nLCByYXRoZXIgdGhhbiBibG9jayBidWZmZXJpbmcuICBQYXRjaCBieSBBa2lyYSBMaS4KIAotCi1XaGF0J3MgTmV3IGluIFB5dGhvbiAzLjQuMnJjMT8KLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotCi1SZWxlYXNlIGRhdGU6IDIwMTQtMDktMjIKLQotQ29yZSBhbmQgQnVpbHRpbnMKLS0tLS0tLS0tLS0tLS0tLS0tCi0KLS0gSXNzdWUgIzIyMjU4OiBGaXggdGhlIHRoZSBpbnRlcm5hbCBmdW5jdGlvbiBzZXRfaW5oZXJpdGFibGUoKSBvbiBJbGx1bW9zLgotICBUaGlzIHBsYXRmb3JtIGV4cG9zZXMgdGhlIGZ1bmN0aW9uIGBgaW9jdGwoRklPQ0xFWClgYCwgYnV0IGNhbGxpbmcgaXQgZmFpbHMKLSAgd2l0aCBlcnJubyBpcyBFTk9UVFk6ICJJbmFwcHJvcHJpYXRlIGlvY3RsIGZvciBkZXZpY2UiLiBzZXRfaW5oZXJpdGFibGUoKQotICBub3cgZmFsbHMgYmFjayB0byB0aGUgc2xvd2VyIGBgZmNudGwoKWBgIChgYEZfR0VURkRgYCBhbmQgdGhlbiBgYEZfU0VURkRgYCkuCi0KLS0gSXNzdWUgIzIxNjY5OiBXaXRoIHRoZSBhaWQgb2YgaGV1cmlzdGljcyBpbiBTeW50YXhFcnJvci5fX2luaXRfXywgdGhlCi0gIHBhcnNlciBub3cgYXR0ZW1wdHMgdG8gZ2VuZXJhdGUgbW9yZSBtZWFuaW5nZnVsIChvciBhdCBsZWFzdCBtb3JlIHNlYXJjaAotICBlbmdpbmUgZnJpZW5kbHkpIGVycm9yIG1lc3NhZ2VzIHdoZW4gImV4ZWMiIGFuZCAicHJpbnQiIGFyZSB1c2VkIGFzCi0gIHN0YXRlbWVudHMuCi0KLS0gSXNzdWUgIzIxNjQyOiBJZiB0aGUgY29uZGl0aW9uYWwgaWYtZWxzZSBleHByZXNzaW9uLCBhbGxvdyBhbiBpbnRlZ2VyIHdyaXR0ZW4KLSAgd2l0aCBubyBzcGFjZSBiZXR3ZWVuIGl0c2VsZiBhbmQgdGhlIGBgZWxzZWBgIGtleXdvcmQgKGUuZy4gYGBUcnVlIGlmIDQyZWxzZQotICBGYWxzZWBgKSB0byBiZSB2YWxpZCBzeW50YXguCi0KLS0gSXNzdWUgIzIxNTIzOiBGaXggb3Zlci1wZXNzaW1pc3RpYyBjb21wdXRhdGlvbiBvZiB0aGUgc3RhY2sgZWZmZWN0IG9mCi0gIHNvbWUgb3Bjb2RlcyBpbiB0aGUgY29tcGlsZXIuICBUaGlzIGFsc28gZml4ZXMgYSBxdWFkcmF0aWMgY29tcGlsYXRpb24KLSAgdGltZSBpc3N1ZSBub3RpY2VhYmxlIHdoZW4gY29tcGlsaW5nIGNvZGUgd2l0aCBhIGxhcmdlIG51bWJlciBvZiAiYW5kIgotICBhbmQgIm9yIiBvcGVyYXRvcnMuCi0KLUxpYnJhcnkKLS0tLS0tLS0KLQogLSBJc3N1ZSAjMjEwOTE6IEZpeCBBUEkgYnVnOiBlbWFpbC5tZXNzYWdlLkVtYWlsTWVzc2FnZS5pc19hdHRhY2htZW50IGlzIG5vdwotICBhIG1ldGhvZC4gIFNpbmNlIEVtYWlsTWVzc2FnZSBpcyBwcm92aXNpb25hbCwgd2UgY2FuIGNoYW5nZSB0aGUgQVBJIGluIGEKLSAgbWFpbnRlbmFuY2UgcmVsZWFzZSwgYnV0IHdlIHVzZSBhIHRyaWNrIHRvIHJlbWFpbiBiYWNrd2FyZCBjb21wYXRpYmxlIHdpdGgKLSAgMy40LjAvMS4KKyAgYSBtZXRob2QuCiAKIC0gSXNzdWUgIzIxMDc5OiBGaXggZW1haWwubWVzc2FnZS5FbWFpbE1lc3NhZ2UuaXNfYXR0YWNobWVudCB0byByZXR1cm4gdGhlCiAgIGNvcnJlY3QgcmVzdWx0IHdoZW4gdGhlIGhlYWRlciBoYXMgcGFyYW1ldGVycyBhcyB3ZWxsIGFzIGEgdmFsdWUuCiAKIC0gSXNzdWUgIzIyMjQ3OiBBZGQgTk5UUEVycm9yIHRvIG5udHBsaWIuX19hbGxfXy4KIAorLSBJc3N1ZSAjMjIzNjY6IHVybGxpYi5yZXF1ZXN0LnVybG9wZW4gd2lsbCBhY2NlcHQgYSBjb250ZXh0IG9iamVjdAorICAoU1NMQ29udGV4dCkgYXMgYW4gYXJndW1lbnQgd2hpY2ggd2lsbCB0aGVuIHVzZWQgYmUgZm9yIEhUVFBTIGNvbm5lY3Rpb24uCisgIFBhdGNoIGJ5IEFsZXggR2F5bm9yLgorCiAtIElzc3VlICM0MTgwOiBUaGUgd2FybmluZ3MgcmVnaXN0cmllcyBhcmUgbm93IHJlc2V0IHdoZW4gdGhlIGZpbHRlcnMKICAgYXJlIG1vZGlmaWVkLgogCkBAIC01NjEsNiArODE5LDkgQEAKICAgd2l0aCBub24tc3RhbmRhcmQgY29va2llIGhhbmRsaW5nIGluIHNvbWUgV2ViIGJyb3dzZXJzLiAgUmVwb3J0ZWQgYnkKICAgU2VyZ2V5IEJvYnJvdi4KIAorLSBJc3N1ZSAjMjA1Mzc6IGxvZ2dpbmcgbWV0aG9kcyBub3cgYWNjZXB0IGFuIGV4Y2VwdGlvbiBpbnN0YW5jZSBhcyB3ZWxsIGFzIGEKKyAgQm9vbGVhbiB2YWx1ZSBvciBleGNlcHRpb24gdHVwbGUuIFRoYW5rcyB0byBZdXJ5IFNlbGl2YW5vdiBmb3IgdGhlIHBhdGNoLgorCiAtIElzc3VlICMyMjM4NDogQW4gZXhjZXB0aW9uIGluIFRraW50ZXIgY2FsbGJhY2sgbm8gbG9uZ2VyIGNyYXNoZXMgdGhlIHByb2dyYW0KICAgd2hlbiBpdCBpcyBydW4gd2l0aCBweXRob253LmV4ZS4KIApAQCAtNTY5LDYgKzgzMCw5IEBACiAtIElzc3VlICMyMTE0Nzogc3FsaXRlMyBub3cgcmFpc2VzIGFuIGV4Y2VwdGlvbiBpZiB0aGUgcmVxdWVzdCBjb250YWlucyBhIG51bGwKICAgY2hhcmFjdGVyIGluc3RlYWQgb2YgdHJ1bmNhdGUgaXQuICBCYXNlZCBvbiBwYXRjaCBieSBWaWN0b3IgU3Rpbm5lci4KIAorLSBJc3N1ZSAjMTM5Njg6IFRoZSBnbG9iIG1vZHVsZSBub3cgc3VwcG9ydHMgcmVjdXJzaXZlIHNlYXJjaCBpbgorICBzdWJkaXJlY3RvcmllcyB1c2luZyB0aGUgIioqIiBwYXR0ZXJuLgorCiAtIElzc3VlICMyMTk1MTogRml4ZWQgYSBjcmFzaCBpbiBUa2ludGVyIG9uIEFJWCB3aGVuIGNhbGxlZCBUY2wgY29tbWFuZCB3aXRoCiAgIGVtcHR5IHN0cmluZyBvciB0dXBsZSBhcmd1bWVudC4KIApAQCAtNTc3LDEyICs4NDEsMzEgQEAKIAogLSBJc3N1ZSAjMjIzMzg6IEZpeCBhIGNyYXNoIGluIHRoZSBqc29uIG1vZHVsZSBvbiBtZW1vcnkgYWxsb2NhdGlvbiBmYWlsdXJlLgogCistIElzc3VlICMxMjQxMDogaW1hcGxpYi5JTUFQNCBub3cgc3VwcG9ydHMgdGhlIGNvbnRleHQgbWFuYWdlbWVudCBwcm90b2NvbC4KKyAgT3JpZ2luYWwgcGF0Y2ggYnkgVGFyZWsgWmlhZMOpLgorCistIElzc3VlICMyMTI3MDogV2Ugbm93IG92ZXJyaWRlIHR1cGxlIG1ldGhvZHMgaW4gbW9jay5jYWxsIG9iamVjdHMgc28gdGhhdAorICB0aGV5IGNhbiBiZSB1c2VkIGFzIG5vcm1hbCBjYWxsIGF0dHJpYnV0ZXMuCisKKy0gSXNzdWUgIzE2NjYyOiBsb2FkX3Rlc3RzKCkgaXMgbm93IHVuY29uZGl0aW9uYWxseSBydW4gd2hlbiBpdCBpcyBwcmVzZW50IGluCisgIGEgcGFja2FnZSdzIF9faW5pdF9fLnB5LiAgVGVzdExvYWRlci5sb2FkVGVzdHNGcm9tTW9kdWxlKCkgc3RpbGwgYWNjZXB0cworICB1c2VfbG9hZF90ZXN0cywgYnV0IGl0IGlzIGRlcHJlY2F0ZWQgYW5kIGlnbm9yZWQuICBBIG5ldyBrZXl3b3JkLW9ubHkKKyAgYXR0cmlidXRlIGBwYXR0ZXJuYCBpcyBhZGRlZCBhbmQgZG9jdW1lbnRlZC4gIFBhdGNoIGdpdmVuIGJ5IFJvYmVydCBDb2xsaW5zLAorICB0d2Vha2VkIGJ5IEJhcnJ5IFdhcnNhdy4KKwogLSBJc3N1ZSAjMjIyMjY6IEZpcnN0IGxldHRlciBubyBsb25nZXIgaXMgc3RyaXBwZWQgZnJvbSB0aGUgInN0YXR1cyIga2V5IGluCiAgIHRoZSByZXN1bHQgb2YgVHJlZXZpZXcuaGVhZGluZygpLgogCiAtIElzc3VlICMxOTUyNDogRml4ZWQgcmVzb3VyY2UgbGVhayBpbiB0aGUgSFRUUCBjb25uZWN0aW9uIHdoZW4gYW4gaW52YWxpZAogICByZXNwb25zZSBpcyByZWNlaXZlZC4gIFBhdGNoIGJ5IE1hcnRpbiBQYW50ZXIuCiAKKy0gSXNzdWUgIzIwNDIxOiBBZGQgYSAudmVyc2lvbigpIG1ldGhvZCB0byBTU0wgc29ja2V0cyBleHBvc2luZyB0aGUgYWN0dWFsCisgIHByb3RvY29sIHZlcnNpb24gaW4gdXNlLgorCistIElzc3VlICMxOTU0NjogY29uZmlncGFyc2VyIGV4Y2VwdGlvbnMgbm8gbG9uZ2VyIGV4cG9zZSBpbXBsZW1lbnRhdGlvbiBkZXRhaWxzLgorICBDaGFpbmVkIEtleUVycm9ycyBhcmUgcmVtb3ZlZCwgd2hpY2ggbGVhZHMgdG8gY2xlYW5lciB0cmFjZWJhY2tzLiAgUGF0Y2ggYnkKKyAgQ2xhdWRpdSBQb3BhLgorCiAtIElzc3VlICMyMjA1MTogdHVydGxlZGVtbyBubyBsb25nZXIgcmVsb2FkcyBleGFtcGxlcyB0byByZS1ydW4gdGhlbS4KICAgSW5pdGlhbGl6YXRpb24gb2YgdmFyaWFibGVzIGFuZCBndWkgc2V0dXAgc2hvdWxkIGJlIGRvbmUgaW4gbWFpbigpLAogICB3aGljaCBpcyBjYWxsZWQgZWFjaCB0aW1lIGEgZGVtbyBpcyBydW4sIGJ1dCBub3Qgb24gaW1wb3J0LgpAQCAtNTk5LDIzICs4ODIsNTcgQEAKIC0gSXNzdWUgIzE4MTMyOiBUdXJ0bGVkZW1vIGJ1dHRvbnMgbm8gbG9uZ2VyIGRpc2FwcGVhciB3aGVuIHRoZSB3aW5kb3cgaXMKICAgc2hydW5rLiAgT3JpZ2luYWwgcGF0Y2hlcyBieSBKYW4gS2FuaXMgYW5kIExpdGEgQ2hvLgogCistIElzc3VlICMyMjA0MzogdGltZS5tb25vdG9uaWMoKSBpcyBub3cgYWx3YXlzIGF2YWlsYWJsZS4KKyAgYGB0aHJlYWRpbmcuTG9jay5hY3F1aXJlKClgYCwgYGB0aHJlYWRpbmcuUkxvY2suYWNxdWlyZSgpYGAgYW5kIHNvY2tldAorICBvcGVyYXRpb25zIG5vdyB1c2UgYSBtb25vdG9uaWMgY2xvY2ssIGluc3RlYWQgb2YgdGhlIHN5c3RlbSBjbG9jaywgd2hlbiBhCisgIHRpbWVvdXQgaXMgdXNlZC4KKworLSBJc3N1ZSAjMjE1Mjc6IEFkZCBhIGRlZmF1bHQgbnVtYmVyIG9mIHdvcmtlcnMgdG8gVGhyZWFkUG9vbEV4ZWN1dG9yIGVxdWFsCisgIHRvIDUgdGltZXMgdGhlIG51bWJlciBvZiBDUFVzLiAgUGF0Y2ggYnkgQ2xhdWRpdSBQb3BhLgorCiAtIElzc3VlICMyMjIxNjogc210cGxpYiBub3cgcmVzZXRzIGl0cyBzdGF0ZSBtb3JlIGNvbXBsZXRlbHkgYWZ0ZXIgYSBxdWl0LiAgVGhlCiAgIG1vc3Qgb2J2aW91cyBjb25zZXF1ZW5jZSBvZiB0aGUgcHJldmlvdXMgYmVoYXZpb3Igd2FzIGEgU1RBUlRUTFMgZmFpbHVyZQogICBkdXJpbmcgYSBjb25uZWN0L3N0YXJ0dGxzL3F1aXQvY29ubmVjdC9zdGFydHRscyBzZXF1ZW5jZS4KIAorLSBJc3N1ZSAjMjIwOTg6IGN0eXBlcycgQmlnRW5kaWFuU3RydWN0dXJlIGFuZCBMaXR0bGVFbmRpYW5TdHJ1Y3R1cmUgbm93CisgIGRlZmluZSBhbiBlbXB0eSBfX3Nsb3RzX18gc28gdGhhdCBzdWJjbGFzc2VzIGRvbid0IGFsd2F5cyBnZXQgYW4gaW5zdGFuY2UKKyAgZGljdC4gIFBhdGNoIGJ5IENsYXVkaXUgUG9wYS4KKwogLSBJc3N1ZSAjMjIxODU6IEZpeCBhbiBvY2Nhc2lvbmFsIFJ1bnRpbWVFcnJvciBpbiB0aHJlYWRpbmcuQ29uZGl0aW9uLndhaXQoKQogICBjYXVzZWQgYnkgbXV0YXRpb24gb2YgdGhlIHdhaXRlcnMgcXVldWUgd2l0aG91dCBob2xkaW5nIHRoZSBsb2NrLiAgUGF0Y2gKICAgYnkgRG91ZyBab25na2VyLgogCistIElzc3VlICMyMjI4NzogT24gVU5JWCwgX1B5VGltZV9nZXR0aW1lb2ZkYXkoKSBub3cgdXNlcworICBjbG9ja19nZXR0aW1lKENMT0NLX1JFQUxUSU1FKSBpZiBhdmFpbGFibGUuIEFzIGEgc2lkZSBlZmZlY3QsIFB5dGhvbiBub3cKKyAgZGVwZW5kcyBvbiB0aGUgbGlicnQgbGlicmFyeSBvbiBTb2xhcmlzIGFuZCBvbiBMaW51eCAob25seSB3aXRoIGdsaWJjIG9sZGVyCisgIHRoYW4gMi4xNykuCisKIC0gSXNzdWUgIzIyMTgyOiBVc2UgZS5hcmdzIHRvIHVucGFjayBleGNlcHRpb25zIGNvcnJlY3RseSBpbgogICBkaXN0dXRpbHMuZmlsZV91dGlsLm1vdmVfZmlsZS4gUGF0Y2ggYnkgQ2xhdWRpdSBQb3BhLgogCiAtIFRoZSB3ZWJicm93c2VyIG1vZHVsZSBub3cgdXNlcyBzdWJwcm9jZXNzJ3Mgc3RhcnRfbmV3X3Nlc3Npb249VHJ1ZSByYXRoZXIKICAgdGhhbiBhIHBvdGVudGlhbGx5IHJpc2t5IHByZWV4ZWNfZm49b3Muc2V0c2lkIGNhbGwuCiAKKy0gSXNzdWUgIzIyMDQyOiBzaWduYWwuc2V0X3dha2V1cF9mZChmZCkgbm93IHJhaXNlcyBhbiBleGNlcHRpb24gaWYgdGhlIGZpbGUKKyAgZGVzY3JpcHRvciBpcyBpbiBibG9ja2luZyBtb2RlLgorCistIElzc3VlICMxNjgwODogaW5zcGVjdC5zdGFjaygpIG5vdyByZXR1cm5zIGEgbmFtZWQgdHVwbGUgaW5zdGVhZCBvZiBhIHR1cGxlLgorICBQYXRjaCBieSBEYW5pZWwgU2hhaGFmLgorCiAtIElzc3VlICMyMjIzNjogRml4ZWQgVGtpbnRlciBpbWFnZXMgY29weWluZyBvcGVyYXRpb25zIGluIE5vRGVmYXVsdFJvb3QgbW9kZS4KIAotLSBJc3N1ZSAjMjIxOTE6IEZpeCB3YXJuaW5ncy5fX2FsbF9fLgorLSBJc3N1ZSAjMjUyNzogQWRkIGEgKmdsb2JhbHMqIGFyZ3VtZW50IHRvIHRpbWVpdCBmdW5jdGlvbnMsIGluIG9yZGVyIHRvCisgIG92ZXJyaWRlIHRoZSBnbG9iYWxzIG5hbWVzcGFjZSBpbiB3aGljaCB0aGUgdGltZWQgY29kZSBpcyBleGVjdXRlZC4KKyAgUGF0Y2ggYnkgQmVuIFJvYmVydHMuCisKKy0gSXNzdWUgIzIyMTE4OiBTd2l0Y2ggdXJsbGliLnBhcnNlIHRvIHVzZSBSRkMgMzk4NiBzZW1hbnRpY3MgZm9yIHRoZQorICByZXNvbHV0aW9uIG9mIHJlbGF0aXZlIFVSTHMsIHJhdGhlciB0aGFuIFJGQ3MgMTgwOCBhbmQgMjM5Ni4KKyAgUGF0Y2ggYnkgRGVtaWFuIEJyZWNodC4KKworLSBJc3N1ZSAjMjE1NDk6IEFkZGVkIHRoZSAibWVtYmVycyIgcGFyYW1ldGVyIHRvIFRhckZpbGUubGlzdCgpLgorCistIElzc3VlICMxOTYyODogQWxsb3cgY29tcGlsZWFsbCByZWN1cnNpb24gZGVwdGggdG8gYmUgc3BlY2lmaWVkIHdpdGggYSAtcgorICBvcHRpb24uCiAKIC0gSXNzdWUgIzE1Njk2OiBBZGQgYSBfX3NpemVvZl9fIGltcGxlbWVudGF0aW9uIGZvciBtbWFwIG9iamVjdHMgb24gV2luZG93cy4KIApAQCAtNjIzLDYgKzk0MCw4IEBACiAKIC0gSXNzdWUgIzIyMTY1OiBTaW1wbGVIVFRQUmVxdWVzdEhhbmRsZXIgbm93IHN1cHBvcnRzIHVuZGVjb2RhYmxlIGZpbGUgbmFtZXMuCiAKKy0gSXNzdWUgIzE1MzgxOiBPcHRpbWl6ZWQgbGluZSByZWFkaW5nIGluIGlvLkJ5dGVzSU8uCisKIC0gSXNzdWUgIzg3OTc6IFJhaXNlIEhUVFBFcnJvciBvbiBmYWlsZWQgQmFzaWMgQXV0aGVudGljYXRpb24gaW1tZWRpYXRlbHkuCiAgIEluaXRpYWwgcGF0Y2ggYnkgU2FtIEJ1bGwuCiAKQEAgLTYzOCw2ICs5NTcsMTQgQEAKIC0gSXNzdWUgIzE3OTIzOiBnbG9iKCkgcGF0dGVybnMgZW5kaW5nIHdpdGggYSBzbGFzaCBubyBsb25nZXIgbWF0Y2ggbm9uLWRpcnMgb24KICAgQUlYLiAgQmFzZWQgb24gcGF0Y2ggYnkgRGVsaGFsbHQuCiAKKy0gSXNzdWUgIzIxNzI1OiBBZGRlZCBzdXBwb3J0IGZvciBSRkMgNjUzMSAoU01UUFVURjgpIGluIHNtdHBkLgorCistIElzc3VlICMyMjE3NjogVXBkYXRlIHRoZSBjdHlwZXMgbW9kdWxlJ3MgbGliZmZpIHRvIHYzLjEuICBUaGlzIHJlbGVhc2UKKyAgYWRkcyBzdXBwb3J0IGZvciB0aGUgTGludXggQUFyY2g2NCBhbmQgUE9XRVJQQyBFTEYgQUJJdjIgbGl0dGxlIGVuZGlhbgorICBhcmNoaXRlY3R1cmVzLgorCistIElzc3VlICM1NDExOiBBZGRlZCBzdXBwb3J0IGZvciB0aGUgInh6dGFyIiBmb3JtYXQgaW4gdGhlIHNodXRpbCBtb2R1bGUuCisKIC0gSXNzdWUgIzIxMTIxOiBEb24ndCBmb3JjZSAzcmQgcGFydHkgQyBleHRlbnNpb25zIHRvIGJlIGJ1aWx0IHdpdGgKICAgLVdlcnJvcj1kZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQuCiAKQEAgLTY0NSwxOCArOTcyLDU3IEBACiAgIHdoZW4gdW5waWNrbGluZyBwaWNrbGVkIHNxbGl0ZTMuUm93KS4gIHNxbGl0ZTMuUm93IGlzIG5vdyBpbml0aWFsaXplZCBpbiB0aGUKICAgX19uZXdfXygpIG1ldGhvZC4KIAorLSBJc3N1ZSAjMjAxNzA6IENvbnZlcnQgcG9zaXhtb2R1bGUgdG8gdXNlIEFyZ3VtZW50IENsaW5pYy4KKworLSBJc3N1ZSAjMjE1Mzk6IEFkZCBhICpleGlzdHNfb2sqIGFyZ3VtZW50IHRvIGBQYXRobGliLm1rZGlyKClgIHRvIG1pbWljCisgIGBta2RpciAtcGAgYW5kIGBvcy5tYWtlZGlycygpYCBmdW5jdGlvbmFsaXR5LiAgV2hlbiB0cnVlLCBpZ25vcmUKKyAgRmlsZUV4aXN0c0Vycm9ycy4gIFBhdGNoIGJ5IEJlcmtlciBQZWtzYWcuCisKKy0gSXNzdWUgIzIyMTI3OiBCeXBhc3MgSUROQSBmb3IgcHVyZS1BU0NJSSBob3N0IG5hbWVzIGluIHRoZSBzb2NrZXQgbW9kdWxlCisgIChpbiBwYXJ0aWN1bGFyIGZvciBudW1lcmljIElQcykuCisKKy0gSXNzdWUgIzIxMDQ3OiBzZXQgdGhlIGRlZmF1bHQgdmFsdWUgZm9yIHRoZSAqY29udmVydF9jaGFycmVmcyogYXJndW1lbnQKKyAgb2YgSFRNTFBhcnNlciB0byBUcnVlLiAgUGF0Y2ggYnkgQmVya2VyIFBla3NhZy4KKworLSBBZGQgYW4gX19hbGxfXyB0byBodG1sLmVudGl0aWVzLgorCistIElzc3VlICMxNTExNDogdGhlIHN0cmljdCBtb2RlIGFuZCBhcmd1bWVudCBvZiBIVE1MUGFyc2VyLCBIVE1MUGFyc2VyLmVycm9yLAorICBhbmQgdGhlIEhUTUxQYXJzZXJFcnJvciBleGNlcHRpb24gaGF2ZSBiZWVuIHJlbW92ZWQuCisKKy0gSXNzdWUgIzIyMDg1OiBEcm9wcGVkIHN1cHBvcnQgb2YgVGsgOC4zIGluIFRraW50ZXIuCisKIC0gSXNzdWUgIzIxNTgwOiBOb3cgVGtpbnRlciBjb3JyZWN0bHkgaGFuZGxlcyBieXRlcyBhcmd1bWVudHMgcGFzc2VkIHRvIFRrLgogICBJbiBwYXJ0aWN1bGFyIHRoaXMgYWxsb3dzIHRvIGluaXRpYWxpemUgaW1hZ2VzIGZyb20gYmluYXJ5IGRhdGEuCiAKKy0gSXNzdWUgIzIyMDAzOiBXaGVuIGluaXRpYWxpemVkIGZyb20gYSBieXRlcyBvYmplY3QsIGlvLkJ5dGVzSU8oKSBub3cKKyAgZGVmZXJzIG1ha2luZyBhIGNvcHkgdW50aWwgaXQgaXMgbXV0YXRlZCwgaW1wcm92aW5nIHBlcmZvcm1hbmNlIGFuZAorICBtZW1vcnkgdXNlIG9uIHNvbWUgdXNlIGNhc2VzLiAgUGF0Y2ggYnkgRGF2aWQgV2lsc29uLgorCistIElzc3VlICMyMjAxODogT24gV2luZG93cywgc2lnbmFsLnNldF93YWtldXBfZmQoKSBub3cgYWxzbyBzdXBwb3J0cyBzb2NrZXRzLgorICBBIHNpZGUgZWZmZWN0IGlzIHRoYXQgUHl0aG9uIGRlcGVuZHMgdG8gdGhlIFdpblNvY2sgbGlicmFyeS4KKworLSBJc3N1ZSAjMjIwNTQ6IEFkZCBvcy5nZXRfYmxvY2tpbmcoKSBhbmQgb3Muc2V0X2Jsb2NraW5nKCkgZnVuY3Rpb25zIHRvIGdldAorICBhbmQgc2V0IHRoZSBibG9ja2luZyBtb2RlIG9mIGEgZmlsZSBkZXNjcmlwdG9yIChGYWxzZSBpZiB0aGUgT19OT05CTE9DSyBmbGFnCisgIGlzIHNldCwgVHJ1ZSBvdGhlcndpc2UpLiBUaGVzZSBmdW5jdGlvbnMgYXJlIG5vdCBhdmFpbGFibGUgb24gV2luZG93cy4KKwogLSBJc3N1ZSAjMTcxNzI6IE1ha2UgdHVydGxlZGVtbyBzdGFydCBhcyBhY3RpdmUgb24gT1MgWCBldmVuIHdoZW4gcnVuIHdpdGgKICAgc3VicHJvY2Vzcy4gIFBhdGNoIGJ5IExpdGEgQ2hvLgogCiAtIElzc3VlICMyMTcwNDogRml4IGJ1aWxkIGVycm9yIGZvciBfbXVsdGlwcm9jZXNzaW5nIHdoZW4gc2VtYXBob3JlcwogICBhcmUgbm90IGF2YWlsYWJsZS4gIFBhdGNoIGJ5IEFyZnJldmVyIEZyZWh0ZXMgVGFpZmVyc2FyIEFyYWhlc2lzLgogCistIElzc3VlICMyMDE3MzogQ29udmVydCBzaGExLCBzaGEyNTYsIHNoYTUxMiBhbmQgbWQ1IHRvIEFyZ3VtZW50Q2xpbmljLgorICBQYXRjaCBieSBWYWpyYXNreSBLb2suCisKIC0gRml4IHJlcHIoX3NvY2tldC5zb2NrZXQpIG9uIFdpbmRvd3MgNjQtYml0OiBkb24ndCBmYWlsIHdpdGggT3ZlcmZsb3dFcnJvcgogICBvbiBjbG9zZWQgc29ja2V0LiByZXByKHNvY2tldC5zb2NrZXQpIGFscmVhZHkgd29ya3MgZmluZS4KIAorLSBJc3N1ZSAjMjIwMzM6IFJlcHJzIG9mIG1vc3QgUHl0aG9uIGltcGxlbWVuZWQgY2xhc3NlcyBub3cgY29udGFpbiBhY3R1YWwKKyAgY2xhc3MgbmFtZSBpbnN0ZWFkIG9mIGhhcmRjb2RlZCBvbmUuCisKKy0gSXNzdWUgIzIxOTQ3OiBUaGUgZGlzIG1vZHVsZSBjYW4gbm93IGRpc2Fzc2VtYmxlIGdlbmVyYXRvci1pdGVyYXRvcgorICBvYmplY3RzIGJhc2VkIG9uIHRoZWlyIGdpX2NvZGUgYXR0cmlidXRlLiBQYXRjaCBieSBDbGVtZW50IFJvdWF1bHQuCisKIC0gSXNzdWUgIzE2MTMzOiBUaGUgYXN5bmNoYXQuYXN5bmNfY2hhdC5oYW5kbGVfcmVhZCgpIG1ldGhvZCBub3cgaWdub3JlcwogICBCbG9ja2luZ0lPRXJyb3IgZXhjZXB0aW9ucy4KIApAQCAtNjY4LDE2ICsxMDM0LDQyIEBACiAgIHNlcXVlbmNlIGlzIHVzZWQgb24gc29tZSB0ZXJtaW5hbCAoZXg6IFRFUk09eHRlcm0tMjU2Y29sb3IiKSB0byBlbmFibGUKICAgc3VwcG9ydCBvZiA4IGJpdCBjaGFyYWN0ZXJzLgogCistIElzc3VlICM0MzUwOiBSZW1vdmVkIGEgbnVtYmVyIG9mIG91dC1vZi1kYXRlZCBhbmQgbm9uLXdvcmtpbmcgZm9yIGEgbG9uZyB0aW1lCisgIFRraW50ZXIgbWV0aG9kcy4KKworLSBJc3N1ZSAjNjE2NzogU2Nyb2xsYmFyLmFjdGl2YXRlKCkgbm93IHJldHVybnMgdGhlIG5hbWUgb2YgYWN0aXZlIGVsZW1lbnQgaWYKKyAgdGhlIGFyZ3VtZW50IGlzIG5vdCBzcGVjaWZpZWQuICBTY3JvbGxiYXIuc2V0KCkgbm93IGFsd2F5cyBhY2NlcHRzIG9ubHkgMgorICBhcmd1bWVudHMuCisKKy0gSXNzdWUgIzE1Mjc1OiBDbGVhbiB1cCBhbmQgc3BlZWQgdXAgdGhlIG50cGF0aCBtb2R1bGUuCisKIC0gSXNzdWUgIzIxODg4OiBwbGlzdGxpYidzIGxvYWQoKSBhbmQgbG9hZHMoKSBub3cgd29yayBpZiB0aGUgZm10IHBhcmFtZXRlciBpcwogICBzcGVjaWZpZWQuCiAKKy0gSXNzdWUgIzIyMDMyOiBfX3F1YWxuYW1lX18gaW5zdGVhZCBvZiBfX25hbWVfXyBpcyBub3cgYWx3YXlzIHVzZWQgdG8gZm9ybWF0CisgIGZ1bGx5IHF1YWxpZmllZCBjbGFzcyBuYW1lcyBvZiBQeXRob24gaW1wbGVtZW50ZWQgY2xhc3Nlcy4KKworLSBJc3N1ZSAjMjIwMzE6IFJlcHJzIG5vdyBhbHdheXMgdXNlIGhleGFkZWNpbWFsIGZvcm1hdCB3aXRoIHRoZSAiMHgiIHByZWZpeAorICB3aGVuIGNvbnRhaW4gYW4gaWQgaW4gZm9ybSAiIGF0IDB4Li4uIi4KKworLSBJc3N1ZSAjMjIwMTg6IHNpZ25hbC5zZXRfd2FrZXVwX2ZkKCkgbm93IHJhaXNlcyBhbiBPU0Vycm9yIGluc3RlYWQgb2YgYQorICBWYWx1ZUVycm9yIG9uIGBgZnN0YXQoKWBgIGZhaWx1cmUuCisKIC0gSXNzdWUgIzIxMDQ0OiB0YXJmaWxlLm9wZW4oKSBub3cgaGFuZGxlcyBmaWxlb2JqIHdpdGggYW4gaW50ZWdlciAnbmFtZScKICAgYXR0cmlidXRlLiAgQmFzZWQgb24gcGF0Y2ggYnkgQW50b2luZSBQaWV0cmkuCiAKLS0gSXNzdWUgIzIxODY3OiAgUHJldmVudCB0dXJ0bGUgY3Jhc2ggZHVlIHRvIGludmFsaWQgdW5kbyBidWZmZXIgc2l6ZS4KKy0gSXNzdWUgIzIxOTY2OiBSZXNwZWN0IC1xIGNvbW1hbmQtbGluZSBvcHRpb24gd2hlbiBjb2RlIG1vZHVsZSBpcyByYW4uCiAKIC0gSXNzdWUgIzE5MDc2OiBEb24ndCBwYXNzIHRoZSByZWR1bmRhbnQgJ2ZpbGUnIGFyZ3VtZW50IHRvIHNlbGYuZXJyb3IoKS4KIAorLSBJc3N1ZSAjMTYzODI6IEltcHJvdmUgZXhjZXB0aW9uIG1lc3NhZ2Ugb2Ygd2FybmluZ3Mud2FybigpIGZvciBiYWQKKyAgY2F0ZWdvcnkuIEluaXRpYWwgcGF0Y2ggYnkgUGhpbCBFbHNvbi4KKworLSBJc3N1ZSAjMjE5MzI6IG9zLnJlYWQoKSBub3cgdXNlcyBhIDpjOmZ1bmM6YFB5X3NzaXplX3RgIHR5cGUgaW5zdGVhZCBvZgorICA6Yzp0eXBlOmBpbnRgIGZvciB0aGUgc2l6ZSB0byBzdXBwb3J0IHJlYWRpbmcgbW9yZSB0aGFuIDIgR0IgYXQgb25jZS4gT24KKyAgV2luZG93cywgdGhlIHNpemUgaXMgdHJ1bmN0ZWQgdG8gSU5UX01BWC4gQXMgYW55IGNhbGwgdG8gb3MucmVhZCgpLCB0aGUgT1MKKyAgbWF5IHJlYWQgbGVzcyBieXRlcyB0aGFuIHRoZSBudW1iZXIgb2YgcmVxdWVzdGVkIGJ5dGVzLgorCiAtIElzc3VlICMyMTk0MjogRml4ZWQgc291cmNlIGZpbGUgdmlld2luZyBpbiBweWRvYydzIHNlcnZlciBtb2RlIG9uIFdpbmRvd3MuCiAKIC0gSXNzdWUgIzExMjU5OiBhc3luY2hhdC5hc3luY19jaGF0KCkuc2V0X3Rlcm1pbmF0b3IoKSBub3cgcmFpc2VzIGEgVmFsdWVFcnJvcgpAQCAtNjk1LDggKzEwODcsOCBAQAogLSBJc3N1ZSAjMjE3MTQ6IERpc2FsbG93IHRoZSBjb25zdHJ1Y3Rpb24gb2YgaW52YWxpZCBwYXRocyB1c2luZwogICBQYXRoLndpdGhfbmFtZSgpLiAgT3JpZ2luYWwgcGF0Y2ggYnkgQW50b255IExlZS4KIAotLSBJc3N1ZSAjMjE4OTc6IEZpeCBhIGNyYXNoIHdpdGggdGhlIGZfbG9jYWxzIGF0dHJpYnV0ZSB3aXRoIGNsb3N1cmUKLSAgdmFyaWFibGVzIHdoZW4gZnJhbWUuY2xlYXIoKSBoYXMgYmVlbiBjYWxsZWQuCistIElzc3VlICMxNTAxNDogQWRkZWQgJ2F1dGgnIG1ldGhvZCB0byBzbXRwbGliIHRvIG1ha2UgaW1wbGVtZW50aW5nIGF1dGgKKyAgbWVjaGFuaXNtcyBzaW1wbGVyLCBhbmQgdXNlZCBpdCBpbnRlcm5hbGx5IGluIHRoZSBsb2dpbiBtZXRob2QuCiAKIC0gSXNzdWUgIzIxMTUxOiBGaXhlZCBhIHNlZ2ZhdWx0IGluIHRoZSB3aW5yZWcgbW9kdWxlIHdoZW4gYGBOb25lYGAgaXMgcGFzc2VkCiAgIGFzIGEgYGBSRUdfQklOQVJZYGAgdmFsdWUgdG8gU2V0VmFsdWVFeC4gIFBhdGNoIGJ5IEpvaG4gRWhyZXNtYW4uCkBAIC03MDQsOCArMTA5NiwxNyBAQAogLSBJc3N1ZSAjMjEwOTA6IGlvLkZpbGVJTy5yZWFkYWxsKCkgZG9lcyBub3QgaWdub3JlIEkvTyBlcnJvcnMgYW55bW9yZS4gQmVmb3JlLAogICBpdCBpZ25vcmVkIEkvTyBlcnJvcnMgaWYgYXQgbGVhc3QgdGhlIGZpcnN0IEMgY2FsbCByZWFkKCkgc3VjY2VlZC4KIAorLSBJc3N1ZSAjNTgwMDogaGVhZGVycyBwYXJhbWV0ZXIgb2Ygd3NnaXJlZi5oZWFkZXJzLkhlYWRlcnMgaXMgbm93IG9wdGlvbmFsLgorICBJbml0aWFsIHBhdGNoIGJ5IFBhYmxvIFRvcnJlcyBOYXZhcnJldGUgYW5kIFNpbGVudEdob3N0LgorCiAtIElzc3VlICMyMTc4MTogc3NsLlJBTkRfYWRkKCkgbm93IHN1cHBvcnRzIHN0cmluZ3MgbG9uZ2VyIHRoYW4gMiBHQi4KIAorLSBJc3N1ZSAjMjE2Nzk6IFByZXZlbnQgZXh0cmFuZW91cyBmc3RhdCgpIGNhbGxzIGR1cmluZyBvcGVuKCkuICBQYXRjaCBieQorICBCb2h1c2xhdiBLYWJyZGEuCisKKy0gSXNzdWUgIzIxODYzOiBjUHJvZmlsZSBub3cgZGlzcGxheXMgdGhlIG1vZHVsZSBuYW1lIG9mIEMgZXh0ZW5zaW9uIGZ1bmN0aW9ucywKKyAgaW4gYWRkaXRpb24gdG8gdGhlaXIgb3duIG5hbWUuCisKIC0gSXNzdWUgIzExNDUzOiBhc3luY29yZTogZW1pdCBhIFJlc291cmNlV2FybmluZyB3aGVuIGFuIHVuY2xvc2VkIGZpbGVfd3JhcHBlcgogICBvYmplY3QgaXMgZGVzdHJveWVkLiBUaGUgZGVzdHJ1Y3RvciBub3cgY2xvc2VzIHRoZSBmaWxlIGlmIG5lZWRlZC4gVGhlCiAgIGNsb3NlKCkgbWV0aG9kIGNhbiBub3cgYmUgY2FsbGVkIHR3aWNlOiB0aGUgc2Vjb25kIGNhbGwgZG9lcyBub3RoaW5nLgpAQCAtNzE1LDQ4ICsxMTE2LDUzIEBACiAtIElzc3VlICMyMTQ3NjogTWFrZSBzdXJlIHRoZSBlbWFpbC5wYXJzZXIuQnl0ZXNQYXJzZXIgVGV4dElPV3JhcHBlciBpcwogICBkaXNjYXJkZWQgYWZ0ZXIgcGFyc2luZywgc28gdGhlIGlucHV0IGZpbGUgaXNuJ3QgdW5leHBlY3RlZGx5IGNsb3NlZC4KIAorLSBJc3N1ZSAjMjAyOTU6IGltZ2hkciBub3cgcmVjb2duaXplcyBPcGVuRVhSIGZvcm1hdCBpbWFnZXMuCisKIC0gSXNzdWUgIzIxNzI5OiBVc2VkIHRoZSAid2l0aCIgc3RhdGVtZW50IGluIHRoZSBkYm0uZHVtYiBtb2R1bGUgdG8gZW5zdXJlCiAgIGZpbGVzIGNsb3NpbmcuICBQYXRjaCBieSBDbGF1ZGl1IFBvcGEuCiAKIC0gSXNzdWUgIzIxNDkxOiBzb2NrZXRzZXJ2ZXI6IEZpeCBhIHJhY2UgY29uZGl0aW9uIGluIGNoaWxkIHByb2Nlc3NlcyByZWFwaW5nLgogCistIElzc3VlICMyMTcxOTogQWRkZWQgdGhlIGBgc3RfZmlsZV9hdHRyaWJ1dGVzYGAgZmllbGQgdG8gb3Muc3RhdF9yZXN1bHQgb24KKyAgV2luZG93cy4KKwogLSBJc3N1ZSAjMjE4MzI6ICBSZXF1aXJlIG5hbWVkIHR1cGxlIGlucHV0cyB0byBiZSBleGFjdCBzdHJpbmdzLgogCi0tIElzc3VlICMxOTE0NTogIFRoZSB0aW1lcyBhcmd1bWVudCBmb3IgaXRlcnRvb2xzLnJlcGVhdCBub3cgaGFuZGxlcwotICBuZWdhdGl2ZSB2YWx1ZXMgdGhlIHNhbWUgd2F5IGZvciBrZXl3b3JkIGFyZ3VtZW50cyBhcyBpdCBkb2VzIGZvcgotICBwb3NpdGlvbmFsIGFyZ3VtZW50cy4KLQotLSBJc3N1ZSAjMjE4MTI6IHR1cnRsZS5zaGFwZXRyYW5zZm9ybSBkaWQgbm90IHRyYW5mb3JtIHRoZSB0dXJ0bGUgb24gdGhlCi0gIGZpcnN0IGNhbGwuICAoSXNzdWUgaWRlbnRpZmllZCBhbmQgZml4ZWQgYnkgTGl0YSBDaG8uKQotCi0tIElzc3VlICMyMTYzNTogIFRoZSBkaWZmbGliIFNlcXVlbmNlTWF0Y2hlci5nZXRfbWF0Y2hpbmdfYmxvY2tzKCkgbWV0aG9kCi0gIGNhY2hlIGRpZG4ndCBtYXRjaCB0aGUgYWN0dWFsIHJlc3VsdC4gIFRoZSBmb3JtZXIgd2FzIGEgbGlzdCBvZiB0dXBsZXMKLSAgYW5kIHRoZSBsYXR0ZXIgd2FzIGEgbGlzdCBvZiBuYW1lZCB0dXBsZXMuCi0KIC0gSXNzdWUgIzIxNzIyOiBUaGUgZGlzdHV0aWxzICJ1cGxvYWQiIGNvbW1hbmQgbm93IGV4aXRzIHdpdGggYSBub24temVybwogICByZXR1cm4gY29kZSB3aGVuIHVwbG9hZGluZyBmYWlscy4gIFBhdGNoIGJ5IE1hcnRpbiBEZW5nbGVyLgogCiAtIElzc3VlICMyMTcyMzogYXN5bmNpby5RdWV1ZTogc3VwcG9ydCBhbnkgdHlwZSBvZiBudW1iZXIgKGV4OiBmbG9hdCkgZm9yIHRoZQogICBtYXhpbXVtIHNpemUuIFBhdGNoIHdyaXR0ZW4gYnkgVmFqcmFza3kgS29rLgogCistIElzc3VlICMyMTcxMTogc3VwcG9ydCBmb3IgInNpdGUtcHl0aG9uIiBkaXJlY3RvcmllcyBoYXMgbm93IGJlZW4gcmVtb3ZlZAorICBmcm9tIHRoZSBzaXRlIG1vZHVsZSAoaXQgd2FzIGRlcHJlY2F0ZWQgaW4gMy40KS4KKworLSBJc3N1ZSAjMTc1NTI6IG5ldyBzb2NrZXQuc2VuZGZpbGUoKSBtZXRob2QgYWxsb3dpbmcgdG8gc2VuZCBhIGZpbGUgb3ZlciBhCisgIHNvY2tldCBieSB1c2luZyBoaWdoLXBlcmZvcm1hbmNlIG9zLnNlbmRmaWxlKCkgb24gVU5JWC4KKyAgUGF0Y2ggYnkgR2lhbXBhb2xvIFJvZG9sYScuCisKKy0gSXNzdWUgIzE4MDM5OiBkYm0uZHVtcC5vcGVuKCkgbm93IGFsd2F5cyBjcmVhdGVzIGEgbmV3IGRhdGFiYXNlIHdoZW4gdGhlCisgIGZsYWcgaGFzIHRoZSB2YWx1ZSAnbicuICBQYXRjaCBieSBDbGF1ZGl1IFBvcGEuCisKIC0gSXNzdWUgIzIxMzI2OiBBZGQgYSBuZXcgaXNfY2xvc2VkKCkgbWV0aG9kIHRvIGFzeW5jaW8uQmFzZUV2ZW50TG9vcC4KICAgcnVuX2ZvcmV2ZXIoKSBhbmQgcnVuX3VudGlsX2NvbXBsZXRlKCkgbWV0aG9kcyBvZiBhc3luY2lvLkJhc2VFdmVudExvb3Agbm93CiAgIHJhaXNlIGFuIGV4Y2VwdGlvbiBpZiB0aGUgZXZlbnQgbG9vcCB3YXMgY2xvc2VkLgogCi0tIElzc3VlICMyMTc3NDogRml4ZWQgTmFtZUVycm9yIGZvciBhbiBpbmNvcnJlY3QgdmFyaWFibGUgcmVmZXJlbmNlIGluIHRoZQotICBYTUwgTWluaWRvbSBjb2RlIGZvciBjcmVhdGluZyBwcm9jZXNzaW5nIGluc3RydWN0aW9ucy4KLSAgKEZvdW5kIGFuZCBmaXhlZCBieSBDbGF1ZGl1IFBvcGEuKQotCiAtIElzc3VlICMyMTc2NjogUHJldmVudCBhIHNlY3VyaXR5IGhvbGUgaW4gQ0dJSFRUUFNlcnZlciBieSBVUkwgdW5xdW90aW5nIHBhdGhzCiAgIGJlZm9yZSBjaGVja2luZyBmb3IgYSBDR0kgc2NyaXB0IGF0IHRoYXQgcGF0aC4KIAogLSBJc3N1ZSAjMjEzMTA6IEZpeGVkIHBvc3NpYmxlIHJlc291cmNlIGxlYWsgaW4gZmFpbGVkIG9wZW4oKS4KIAorLSBJc3N1ZSAjMjEyNTY6IFByaW50b3V0IG9mIGtleXdvcmQgYXJncyBzaG91bGQgYmUgaW4gZGV0ZXJtaW5pc3RpYyBvcmRlciBpbgorICBhIG1vY2sgZnVuY3Rpb24gY2FsbC4gVGhpcyB3aWxsIGhlbHAgdG8gd3JpdGUgYmV0dGVyIGRvY3Rlc3RzLgorCiAtIElzc3VlICMyMTY3NzogRml4ZWQgY2hhaW5pbmcgbm9ubm9ybWFsaXplZCBleGNlcHRpb25zIGluIGlvIGNsb3NlKCkgbWV0aG9kcy4KIAogLSBJc3N1ZSAjMTE3MDk6IEZpeCB0aGUgcHlkb2MuaGVscCBmdW5jdGlvbiB0byBub3QgZmFpbCB3aGVuIHN5cy5zdGRpbiBpcyBub3QgYQogICB2YWxpZCBmaWxlLgogCistIElzc3VlICMyMTUxNTogdGVtcGZpbGUuVGVtcG9yYXJ5RmlsZSBub3cgdXNlcyBvcy5PX1RNUEZJTEUgZmxhZyBpcyBhdmFpbGFibGUuCisKIC0gSXNzdWUgIzEzMjIzOiBGaXggcHlkb2Mud3JpdGVkb2Mgc28gdGhhdCB0aGUgSFRNTCBkb2N1bWVudGF0aW9uIGZvciBtZXRob2RzCiAgIHRoYXQgdXNlICdzZWxmJyBpbiB0aGUgZXhhbXBsZSBjb2RlIGlzIGdlbmVyYXRlZCBjb3JyZWN0bHkuCiAKQEAgLTc2Nyw2ICsxMTczLDkgQEAKICAgbGltaXRzIHdvdWxkIG90aGVyd2lzZSBhbGxvdy4gIE9uIHN5c3RlbXMgd2l0aCBhIGZ1bmN0aW9uaW5nIC9wcm9jL3NlbGYvZmQKICAgb3IgL2Rldi9mZCBpbnRlcmZhY2UgdGhlIG1heCBpcyBub3cgaWdub3JlZCBhbmQgYWxsIGZkcyBhcmUgY2xvc2VkLgogCistIElzc3VlICMyMDM4MzogSW50cm9kdWNlIGltcG9ydGxpYi51dGlsLm1vZHVsZV9mcm9tX3NwZWMoKSBhcyB0aGUgcHJlZmVycmVkIHdheQorICB0byBjcmVhdGUgYSBuZXcgbW9kdWxlLgorCiAtIElzc3VlICMyMTU1MjogRml4ZWQgcG9zc2libGUgaW50ZWdlciBvdmVyZmxvdyBvZiB0b28gbG9uZyBzdHJpbmcgbGVuZ3RocyBpbgogICB0aGUgdGtpbnRlciBtb2R1bGUgb24gNjQtYml0IHBsYXRmb3Jtcy4KIApAQCAtNzc1LDggKzExODQsMTQgQEAKICAgZXJyb3IgYnViYmxlIHVwIGFzIHRoaXMgImJhZCBkYXRhIiBhcHBlYXJzIGluIG1hbnkgcmVhbCB3b3JsZCB6aXAgZmlsZXMgaW4KICAgdGhlIHdpbGQgYW5kIGlzIGlnbm9yZWQgYnkgb3RoZXIgemlwIHRvb2xzLgogCistIElzc3VlICMxMzc0MjogIEFkZGVkICJrZXkiIGFuZCAicmV2ZXJzZSIgcGFyYW1ldGVycyB0byBoZWFwcS5tZXJnZSgpLgorICAoRmlyc3QgZHJhZnQgb2YgcGF0Y2ggY29udHJpYnV0ZWQgYnkgU2ltb24gU2FwaW4uKQorCiAtIElzc3VlICMyMTQwMjogdGtpbnRlci50dGsgbm93IHdvcmtzIHdoZW4gZGVmYXVsdCByb290IHdpbmRvdyBpcyBub3Qgc2V0LgogCistIElzc3VlICMzMDE1OiBfdGtpbnRlci5jcmVhdGUoKSBub3cgY3JlYXRlcyB0a2FwcCBvYmplY3Qgd2l0aCB3YW50b2JqZWN0PTEgYnkKKyAgZGVmYXVsdC4KKwogLSBJc3N1ZSAjMTAyMDM6IHNxbGl0ZTMuUm93IG5vdyB0cnVseSBzdXBwb3J0cyBzZXF1ZW5jZSBwcm90b2NvbC4gIEluIHBhcnRpY3VscgogICBpdCBzdXBwb3J0cyByZXZlcnNlKCkgYW5kIG5lZ2F0aXZlIGluZGljZXMuICBPcmlnaW5hbCBwYXRjaCBieSBDbGF1ZGl1IFBvcGEuCiAKQEAgLTc4NCw5NyArMTE5OSwyMSBAQAogICBpbnRlcnByZXRlciBhbGlhc2VzIChweXRob24sIHB5dGhvbjMpIGFyZSBub3cgY3JlYXRlZCBieSBjb3B5aW5nIHJhdGhlciB0aGFuCiAgIHN5bWxpbmtpbmcuCiAKLS0gSXNzdWUgIzE0NzEwOiBwa2d1dGlsLmdldF9sb2FkZXIoKSBubyBsb25nZXIgcmFpc2VzIGFuIGV4Y2VwdGlvbiB3aGVuIE5vbmUgaXMKLSAgZm91bmQgaW4gc3lzLm1vZHVsZXMuCistIElzc3VlICMyMDE5NzogQWRkZWQgc3VwcG9ydCBmb3IgdGhlIFdlYlAgaW1hZ2UgdHlwZSBpbiB0aGUgaW1naGRyIG1vZHVsZS4KKyAgUGF0Y2ggYnkgRmFicmljZSBBbmVjaGUgYW5kIENsYXVkaXUgUG9wYS4KIAotLSBJc3N1ZSAjMTQ3MTA6IHBrZ3V0aWwuZmluZF9sb2FkZXIoKSBubyBsb25nZXIgcmFpc2VzIGFuIGV4Y2VwdGlvbiB3aGVuIGEKLSAgbW9kdWxlIGRvZXNuJ3QgZXhpc3QuCistIElzc3VlICMyMTUxMzogU3BlZWR1cCBzb21lIHByb3BlcnRpZXMgb2YgSVAgYWRkcmVzc2VzIChJUHY0QWRkcmVzcywKKyAgSVB2NkFkZHJlc3MpIHN1Y2ggYXMgLmlzX3ByaXZhdGUgb3IgLmlzX211bHRpY2FzdC4KIAotLSBJc3N1ZSAjMjE0ODE6ICBBcmdwYXJzZSBlcXVhbGl0eSBhbmQgaW5lcXVhbGl0eSB0ZXN0cyBub3cgcmV0dXJuCi0gIE5vdEltcGxlbWVudGVkIHdoZW4gY29tcGFyaW5nIHRvIGFuIHVua25vd24gdHlwZS4KLQotLSBJc3N1ZSAjODc0MzogRml4IGludGVyb3BlcmFiaWxpdHkgYmV0d2VlbiBzZXQgb2JqZWN0cyBhbmQgdGhlCi0gIGNvbGxlY3Rpb25zLlNldCgpIGFic3RyYWN0IGJhc2UgY2xhc3MuCi0KLS0gSXNzdWUgIzEzMzU1OiByYW5kb20udHJpYW5ndWxhcigpIG5vIGxvbmdlciBmYWlscyB3aXRoIGEgWmVyb0RpdmlzaW9uRXJyb3IKLSAgd2hlbiBsb3cgZXF1YWxzIGhpZ2guCistIElzc3VlICMyMTEzNzogSW1wcm92ZSB0aGUgcmVwciBmb3IgdGhyZWFkaW5nLkxvY2soKSBhbmQgaXRzIHZhcmlhbnRzCisgIGJ5IHNob3dpbmcgdGhlICJsb2NrZWQiIG9yICJ1bmxvY2tlZCIgc3RhdHVzLiAgUGF0Y2ggYnkgQmVya2VyIFBla3NhZy4KIAogLSBJc3N1ZSAjMjE1Mzg6IFRoZSBwbGlzdGxpYiBtb2R1bGUgbm93IHN1cHBvcnRzIGxvYWRpbmcgb2YgYmluYXJ5IHBsaXN0IGZpbGVzCiAgIHdoZW4gcmVmZXJlbmNlIG9yIG9mZnNldCBzaXplIGlzIG5vdCBhIHBvd2VyIG9mIHR3by4KIAotLSBJc3N1ZSAjMjE4MDE6IFZhbGlkYXRlIHRoYXQgX19zaWduYXR1cmVfXyBpcyBOb25lIG9yIGFuIGluc3RhbmNlIG9mIFNpZ25hdHVyZS4KKy0gSXNzdWUgIzIxNDU1OiBBZGQgYSBkZWZhdWx0IGJhY2tsb2cgdG8gc29ja2V0Lmxpc3RlbigpLgogCi0tIElzc3VlICMyMTkyMzogUHJldmVudCBBdHRyaWJ1dGVFcnJvciBpbiBkaXN0dXRpbHMuc3lzY29uZmlnLmN1c3RvbWl6ZV9jb21waWxlcgotICBkdWUgdG8gcG9zc2libGUgdW5pbml0aWFsaXplZCBfY29uZmlnX3ZhcnMuCi0KLS0gSXNzdWUgIzIxMzIzOiBGaXggaHR0cC5zZXJ2ZXIgdG8gYWdhaW4gaGFuZGxlIHNjcmlwdHMgaW4gQ0dJIHN1YmRpcmVjdG9yaWVzLAotICBicm9rZW4gYnkgdGhlIGZpeCBmb3Igc2VjdXJpdHkgaXNzdWUgIzE5NDM1LiAgUGF0Y2ggYnkgWmFjaCBCeXJuZS4KLQotRXh0ZW5zaW9uIE1vZHVsZXMKLS0tLS0tLS0tLS0tLS0tLS0tCi0KLS0gSXNzdWUgIzIyMTc2OiBVcGRhdGUgdGhlIGN0eXBlcyBtb2R1bGUncyBsaWJmZmkgdG8gdjMuMS4gIFRoaXMgcmVsZWFzZQotICBhZGRzIHN1cHBvcnQgZm9yIHRoZSBMaW51eCBBQXJjaDY0IGFuZCBQT1dFUlBDIEVMRiBBQkl2MiBsaXR0bGUgZW5kaWFuCi0gIGFyY2hpdGVjdHVyZXMuCi0KLUJ1aWxkCi0tLS0tLQotCi0tIElzc3VlICMxNTY2MTogcHl0aG9uLm9yZyBPUyBYIGluc3RhbGxlcnMgYXJlIG5vdyBkaXN0cmlidXRlZCBhcyBzaWduZWQKLSAgaW5zdGFsbGVyIHBhY2thZ2VzIGNvbXBhdGlibGUgd2l0aCB0aGUgR2F0ZWtlZXBlciBzZWN1cml0eSBmZWF0dXJlLgotCi0tIElzc3VlICMyMTk1ODogRGVmaW5lIEhBVkVfUk9VTkQgd2hlbiBidWlsZGluZyB3aXRoIFZpc3VhbCBTdHVkaW8gMjAxMyBhbmQKLSAgYWJvdmUuICBQYXRjaCBieSBaYWNoYXJ5IFR1cm5lci4KLQotLSBJc3N1ZSAjMTU3NTk6ICJtYWtlIHN1c3BpY2lvdXMiLCAibWFrZSBsaW5rY2hlY2siIGFuZCAibWFrZSBkb2N0ZXN0IiBpbiBEb2MvCi0gIG5vdyBkaXNwbGF5IHNwZWNpYWwgbWVzc2FnZSB3aGVuIGFuZCBvbmx5IHdoZW4gdGhlcmUgYXJlIGZhaWx1cmVzLgotCi0tIElzc3VlICMxNzA5NTogRml4IE1vZHVsZXMvU2V0dXAgKnNoYXJlZCogc3VwcG9ydC4KLQotLSBJc3N1ZSAjMjE4MTE6IEFudGljaXBhdGVkIGZpeGVzIHRvIHN1cHBvcnQgT1MgWCB2ZXJzaW9ucyA+IDEwLjkuCi0KLS0gSXNzdWUgIzIxMTY2OiBQcmV2ZW50IHBvc3NpYmxlIHNlZ2ZhdWx0cyBhbmQgb3RoZXIgcmFuZG9tIGZhaWx1cmVzIG9mCi0gIHB5dGhvbiAtLWdlbmVyYXRlLXBvc2l4LXZhcnMgaW4gcHlidWlsZGRpci50eHQgYnVpbGQgdGFyZ2V0LgotCi1JRExFCi0tLS0tCi0KLS0gSXNzdWUgIzE3MzkwOiBBZGp1c3QgRWRpdG9yIHdpbmRvdyB0aXRsZTsgcmVtb3ZlICdQeXRob24nLAotICBtb3ZlIHZlcnNpb24gdG8gZW5kLgotCi0tIElzc3VlICMxNDEwNTogSWRsZSBkZWJ1Z2dlciBicmVha3BvaW50cyBubyBsb25nZXIgZGlzYXBwZWFyCi0gIHdoZW4gaW5zZXRpbmcgb3IgZGVsZXRpbmcgbGluZXMuCi0KLS0gSXNzdWUgIzE3MTcyOiBUdXJ0bGVkZW1vIGNhbiBub3cgYmUgcnVuIGZyb20gSWRsZS4KLSAgQ3VycmVudGx5LCB0aGUgZW50cnkgaXMgb24gdGhlIEhlbHAgbWVudSwgYnV0IGl0IG1heSBtb3ZlIHRvIFJ1bi4KLSAgUGF0Y2ggYnkgUmFtY2hhbmRyYSBBcHQgYW5kIExpdGEgQ2hvLgotCi0tIElzc3VlICMyMTc2NTogQWRkIHN1cHBvcnQgZm9yIG5vbi1hc2NpaSBpZGVudGlmaWVycyB0byBIeXBlclBhcnNlci4KLQotLSBJc3N1ZSAjMjE5NDA6IEFkZCB1bml0dGVzdCBmb3IgV2lkZ2V0UmVkaXJlY3Rvci4gSW5pdGlhbCBwYXRjaCBieSBTYWltYWRoYXYKLSAgSGVibGlrYXIuCi0KLS0gSXNzdWUgIzE4NTkyOiBBZGQgdW5pdHRlc3QgZm9yIFNlYXJjaERpYWxvZ0Jhc2UuIFBhdGNoIGJ5IFBoaWwgV2Vic3Rlci4KLQotLSBJc3N1ZSAjMjE2OTQ6IEFkZCB1bml0dGVzdCBmb3IgUGFyZW5NYXRjaC4gUGF0Y2ggYnkgU2FpbWFkaGF2IEhlYmxpa2FyLgotCi0tIElzc3VlICMyMTY4NjogYWRkIHVuaXR0ZXN0IGZvciBIeXBlclBhcnNlci4gT3JpZ2luYWwgcGF0Y2ggYnkgU2FpbWFkaGF2Ci0gIEhlYmxpa2FyLgotCi0tIElzc3VlICMxMjM4NzogQWRkIG1pc3NpbmcgdXBwZXIobG93ZXIpY2FzZSB2ZXJzaW9ucyBvZiBkZWZhdWx0IFdpbmRvd3Mga2V5Ci0gIGJpbmRpbmdzIGZvciBJZGxlIHNvIENhcHMgTG9jayBkb2VzIG5vdCBkaXNhYmxlIHRoZW0uIFBhdGNoIGJ5IFJvZ2VyIFNlcnd5LgotCi0tIElzc3VlICMyMTY5NTogQ2xvc2luZyBhIEZpbmQtaW4tZmlsZXMgb3V0cHV0IHdpbmRvdyB3aGlsZSB0aGUgc2VhcmNoIGlzCi0gIHN0aWxsIGluIHByb2dyZXNzIG5vIGxvbmdlciBjbG9zZXMgSWRsZS4KLQotLSBJc3N1ZSAjMTg5MTA6IEFkZCB1bml0dGVzdCBmb3IgdGV4dFZpZXcuIFBhdGNoIGJ5IFBoaWwgV2Vic3Rlci4KLQotLSBJc3N1ZSAjMTgyOTI6IEFkZCB1bml0dGVzdCBmb3IgQXV0b0V4cGFuZC4gUGF0Y2ggYnkgU2FpaGFkaGF2IEhlYmxpa2FyLgotCi0tIElzc3VlICMxODQwOTogQWRkIHVuaXR0ZXN0IGZvciBBdXRvQ29tcGxldGUuIFBhdGNoIGJ5IFBoaWwgV2Vic3Rlci4KLQotVGVzdHMKLS0tLS0tCistIElzc3VlICMyMTUyNTogTW9zdCBUa2ludGVyIG1ldGhvZHMgd2hpY2ggYWNjZXB0ZWQgdHVwbGVzIG5vdyBhY2NlcHQgbGlzdHMgdG9vLgogCiAtIElzc3VlICMyMjE2NjogIHdpdGggdGhlIGFzc2lzdGFuY2Ugb2YgYSBuZXcgaW50ZXJuYWwgX2NvZGVjcy5fZm9yZ2V0X2NvZGVjCiAgIGhlbHBpbmcgZnVuY3Rpb24sIHRlc3RfY29kZWNzIG5vdyBjbGVhcnMgdGhlIGVuY29kaW5nIGNhY2hlcyB0byBhdm9pZCB0aGUKQEAgLTg4MywxODEgKzEyMjIsOTMgQEAKIC0gSXNzdWUgIzIyMjM2OiBUa2ludGVyIHRlc3RzIG5vdyBkb24ndCByZXVzZSBkZWZhdWx0IHJvb3Qgd2luZG93LiAgTmV3IHJvb3QKICAgd2luZG93IGlzIGNyZWF0ZWQgZm9yIGV2ZXJ5IHRlc3QgY2xhc3MuCiAKLS0gSXNzdWUgIzIwNzQ2OiBGaXggdGVzdF9wZGIgdG8gcnVuIGluIHJlZmxlYWsgbW9kZSAoLVIpLiAgUGF0Y2ggYnkgWGF2aWVyCi0gIGRlIEdheWUuCi0KLS0gSXNzdWUgIzIyMDYwOiB0ZXN0X2N0eXBlcyBoYXMgYmVlbiBzb21ld2hhdCBjbGVhbmVkIHVwIGFuZCBzaW1wbGlmaWVkOyBpdAotICBub3cgdXNlcyB1bml0dGVzdCB0ZXN0IGRpc2NvdmVyeSB0byBmaW5kIGl0cyB0ZXN0cy4KLQotLSBJc3N1ZSAjMjIxMDQ6IHJlZ3J0ZXN0LnB5IG5vIGxvbmdlciBob2xkcyBhIHJlZmVyZW5jZSB0byB0aGUgc3VpdGUgb2YgdGVzdHMKLSAgbG9hZGVkIGZyb20gdGVzdCBtb2R1bGVzIHRoYXQgZG9uJ3QgZGVmaW5lIHRlc3RfbWFpbigpLgotCi0tIElzc3VlICMyMjAwMjogQWRkZWQgYGBsb2FkX3BhY2thZ2VfdGVzdHNgYCBmdW5jdGlvbiB0byB0ZXN0LnN1cHBvcnQgYW5kIHVzZWQKLSAgaXQgdG8gaW1wbGVtZW50L2F1Z21lbnQgdGVzdCBkaXNjb3ZlcnkgaW4gdGVzdF9hc3luY2lvLCB0ZXN0X2VtYWlsLAotICB0ZXN0X2ltcG9ydGxpYiwgdGVzdF9qc29uLCBhbmQgdGVzdF90b29scy4KLQotLSBJc3N1ZSAjMjE5NzY6IEZpeCB0ZXN0X3NzbCB0byBhY2NlcHQgTGlicmVTU0wgdmVyc2lvbiBzdHJpbmdzLiAgVGhhbmtzCi0gIHRvIFdpbGxpYW0gT3JyLgotCi0tIElzc3VlICMyMTkxODogQ29udmVydGVkIHRlc3RfdG9vbHMgZnJvbSBhIG1vZHVsZSB0byBhIHBhY2thZ2UgY29udGFpbmluZwotICBzZXBhcmF0ZSB0ZXN0IGZpbGVzIGZvciBlYWNoIHRlc3RlZCBzY3JpcHQuCi0KLS0gSXNzdWUgIzIwMTU1OiBDaGFuZ2VkIEhUVFAgbWV0aG9kIG5hbWVzIGluIGZhaWxpbmcgdGVzdHMgaW4gdGVzdF9odHRwc2VydmVycwotICBzbyB0aGF0IHBhY2tldCBmaWx0ZXJpbmcgc29mdHdhcmUgKHNwZWNpZmljYWxseSBXaW5kb3dzIEJhc2UgRmlsdGVyaW5nIEVuZ2luZSkKLSAgZG9lcyBub3QgaW50ZXJmZXJlIHdpdGggdGhlIHRyYW5zYWN0aW9uIHNlbWFudGljcyBleHBlY3RlZCBieSB0aGUgdGVzdHMuCi0KLS0gSXNzdWUgIzE5NDkzOiBSZWZhY3RvcmVkIHRoZSBjdHlwZXMgdGVzdCBwYWNrYWdlIHRvIHNraXAgdGVzdHMgZXhwbGljaXRseQotICByYXRoZXIgdGhhbiBzaWxlbnRseS4KLQotLSBJc3N1ZSAjMTg0OTI6IEFsbCByZXNvdXJjZXMgYXJlIG5vdyBhbGxvd2VkIHdoZW4gdGVzdHMgYXJlIG5vdCBydW4gYnkKLSAgcmVncnRlc3QucHkuCi0KLS0gSXNzdWUgIzIxNjM0OiBGaXggcHlzdG9uZSBtaWNyby1iZW5jaG1hcms6IHVzZSBmbG9vciBkaXZpc2lvbiBpbnN0ZWFkIG9mIHRydWUKLSAgZGl2aXNpb24gdG8gYmVuY2htYXJrIGludGVnZXJzIGluc3RlYWQgb2YgZmxvYXRpbmcgcG9pbnQgbnVtYmVycy4gU2V0IHB5c3RvbmUKLSAgdmVyc2lvbiB0byAxLjIuIFBhdGNoIHdyaXR0ZW4gYnkgTGVubmFydCBSZWdlYnJvLgotCi0tIElzc3VlICMyMTYwNTogQWRkZWQgdGVzdHMgZm9yIFRraW50ZXIgaW1hZ2VzLgotCi0tIElzc3VlICMyMTQ5MzogQWRkZWQgdGVzdCBmb3IgbnRwYXRoLmV4cGFuZHVzZXIoKS4gIE9yaWdpbmFsIHBhdGNoIGJ5Ci0gIENsYXVkaXUgUG9wYS4KLQotLSBJc3N1ZSAjMTk5MjU6IEFkZGVkIHRlc3RzIGZvciB0aGUgc3B3ZCBtb2R1bGUuIE9yaWdpbmFsIHBhdGNoIGJ5IFZhanJhc2t5IEtvay4KLQotLSBJc3N1ZSAjMjE1MjI6IEFkZGVkIFRraW50ZXIgdGVzdHMgZm9yIExpc3Rib3guaXRlbWNvbmZpZ3VyZSgpLAotICBQYW5lZFdpbmRvdy5wYW5lY29uZmlndXJlKCksIGFuZCBNZW51LmVudHJ5Y29uZmlndXJlKCkuCi0KLURvY3VtZW50YXRpb24KLS0tLS0tLS0tLS0tLS0KLQotLSBJc3N1ZSAjMjE3Nzc6IFRoZSBiaW5hcnkgc2VxdWVuY2UgbWV0aG9kcyBvbiBieXRlcyBhbmQgYnl0ZWFycmF5IGFyZSBub3cKLSAgZG9jdW1lbnRlZCBleHBsaWNpdGx5LCByYXRoZXIgdGhhbiBhc3N1bWluZyB1c2VycyB3aWxsIGJlIGFibGUgdG8gZGVyaXZlCi0gIHRoZSBleHBlY3RlZCBiZWhhdmlvdXIgZnJvbSB0aGUgYmVoYXZpb3VyIG9mIHRoZSBjb3JyZXNwb25kaW5nIHN0ciBtZXRob2RzLgotCi1XaW5kb3dzCi0tLS0tLS0tCi0KLS0gSXNzdWUgIzIxNjcxLCAjMjIxNjAsIENWRS0yMDE0LTAyMjQ6IFRoZSBidW5kbGVkIHZlcnNpb24gb2YgT3BlblNTTCBoYXMgYmVlbgotICB1cGRhdGVkIHRvIDEuMC4xaS4KLQotLSBJc3N1ZSAjMTA3NDc6IFVzZSB2ZXJzaW9uZWQgbGFiZWxzIGluIHRoZSBXaW5kb3dzIHN0YXJ0IG1lbnUuCi0gIFBhdGNoIGJ5IE9saXZlIEtpbGJ1cm4uCi0KLVRvb2xzL0RlbW9zCi0tLS0tLS0tLS0tLQotCi0tIElzc3VlICMyMjIwMTogQ29tbWFuZC1saW5lIGludGVyZmFjZSBvZiB0aGUgemlwZmlsZSBtb2R1bGUgbm93IGNvcnJlY3RseQotICBleHRyYWN0cyBaSVAgZmlsZXMgd2l0aCBkaXJlY3RvcnkgZW50cmllcy4gIFBhdGNoIGJ5IFJ5YW4gV2lsc29uLgotCi0tIElzc3VlICMyMTkwNjogTWFrZSBUb29scy9zY3JpcHRzL21kNXN1bS5weSB3b3JrIGluIFB5dGhvbiAzLgotICBQYXRjaCBieSBaYWNoYXJ5IFdhcmUuCi0KLS0gSXNzdWUgIzIxNjI5OiBGaXggQXJndW1lbnQgQ2xpbmljJ3MgIi0tY29udmVydGVycyIgZmVhdHVyZS4KLQotCi1XaGF0J3MgTmV3IGluIFB5dGhvbiAzLjQuMT8KLT09PT09PT09PT09PT09PT09PT09PT09PT09PQotCi1SZWxlYXNlIGRhdGU6IDIwMTQtMDUtMTgKLQotQ29yZSBhbmQgQnVpbHRpbnMKLS0tLS0tLS0tLS0tLS0tLS0tCi0KLS0gSXNzdWUgIzIxNDE4OiBGaXggYSBjcmFzaCBpbiB0aGUgYnVpbHRpbiBmdW5jdGlvbiBzdXBlcigpIHdoZW4gY2FsbGVkIHdpdGhvdXQKLSAgYXJndW1lbnQgYW5kIHdpdGhvdXQgY3VycmVudCBmcmFtZSAoZXg6IGVtYmVkZGVkIFB5dGhvbikuCi0KLS0gSXNzdWUgIzIxNDI1OiBGaXggZmx1c2hpbmcgb2Ygc3RhbmRhcmQgc3RyZWFtcyBpbiB0aGUgaW50ZXJhY3RpdmUKLSAgaW50ZXJwcmV0ZXIuCi0KLS0gSXNzdWUgIzIxNDM1OiBJbiByYXJlIGNhc2VzLCB3aGVuIHJ1bm5pbmcgZmluYWxpemVycyBvbiBvYmplY3RzIGluIGN5Y2xpYwotICB0cmFzaCBhIGJhZCBwb2ludGVyIGRlcmVmZXJlbmNlIGNvdWxkIG9jY3VyIGR1ZSB0byBhIHN1YnRsZSBmbGF3IGluCi0gIGludGVybmFsIGl0ZXJhdGlvbiBsb2dpYy4KLQotTGlicmFyeQotLS0tLS0tLQotCiAtIElzc3VlICMxMDc0NDogRml4IFBFUCAzMTE4IGZvcm1hdCBzdHJpbmdzIG9uIGN0eXBlcyBvYmplY3RzIHdpdGggYSBub250cml2aWFsCiAgIHNoYXBlLgogCistIElzc3VlICMyMDgyNjogT3B0aW1pemUgaXBhZGRyZXNzLmNvbGxhcHNlX2FkZHJlc3NlcygpLgorCistIElzc3VlICMyMTQ4NzogT3B0aW1pemUgaXBhZGRyZXNzLnN1bW1hcml6ZV9hZGRyZXNzX3JhbmdlKCkgYW5kCisgIGlwYWRkcmVzcy57SVB2NE5ldHdvcmssSVB2Nk5ldHdvcmt9LnN1Ym5ldHMoKS4KKworLSBJc3N1ZSAjMjE0ODY6IE9wdGltaXplIHBhcnNpbmcgb2YgbmV0bWFza3MgaW4gaXBhZGRyZXNzLklQdjROZXR3b3JrIGFuZAorICBpcGFkZHJlc3MuSVB2Nk5ldHdvcmsuCisKKy0gSXNzdWUgIzEzOTE2OiBEaXNhbGxvd2VkIHRoZSBzdXJyb2dhdGVwYXNzIGVycm9yIGhhbmRsZXIgZm9yIG5vbiBVVEYtKgorICBlbmNvZGluZ3MuCisKIC0gSXNzdWUgIzIwOTk4OiBGaXhlZCByZS5mdWxsbWF0Y2goKSBvZiByZXBlYXRlZCBzaW5nbGUgY2hhcmFjdGVyIHBhdHRlcm4KICAgd2l0aCBpZ25vcmUgY2FzZS4gIE9yaWdpbmFsIHBhdGNoIGJ5IE1hdHRoZXcgQmFybmV0dC4KIAogLSBJc3N1ZSAjMjEwNzU6IGZpbGVpbnB1dC5GaWxlSW5wdXQgbm93IHJlYWRzIGJ5dGVzIGZyb20gc3RhbmRhcmQgc3RyZWFtIGlmCiAgIGJpbmFyeSBtb2RlIGlzIHNwZWNpZmllZC4gIFBhdGNoIGJ5IFNhbSBLaW1icmVsLgogCi0tIElzc3VlICMyMTM5NjogRml4IFRleHRJT1dyYXBwZXIoLi4uLCB3cml0ZV90aHJvdWdoPVRydWUpIHRvIG5vdCBmb3JjZSBhCi0gIGZsdXNoKCkgb24gdGhlIHVuZGVybHlpbmcgYmluYXJ5IHN0cmVhbS4gIFBhdGNoIGJ5IGFraXJhLgorLSBJc3N1ZSAjMTk3NzU6IEFkZCBhIHNhbWVmaWxlKCkgbWV0aG9kIHRvIHBhdGhsaWIgUGF0aCBvYmplY3RzLiAgSW5pdGlhbAorICBwYXRjaCBieSBWYWpyYXNreSBLb2suCiAKLS0gSXNzdWUgIzIxNDcwOiBEbyBhIGJldHRlciBqb2Igc2VlZGluZyB0aGUgcmFuZG9tIG51bWJlciBnZW5lcmF0b3IgYnkKLSAgdXNpbmcgZW5vdWdoIGJ5dGVzIHRvIHNwYW4gdGhlIGZ1bGwgc3RhdGUgc3BhY2Ugb2YgdGhlIE1lcnNlbm5lIFR3aXN0ZXIuCistIElzc3VlICMyMTIyNjogU2V0IHVwIG1vZHVsZXMgcHJvcGVybHkgaW4gUHlJbXBvcnRfRXhlY0NvZGVNb2R1bGVPYmplY3QKKyAgKGFuZCBmcmllbmRzKS4KIAogLSBJc3N1ZSAjMjEzOTg6IEZpeCBhbiB1bmljb2RlIGVycm9yIGluIHRoZSBweWRvYyBwYWdlciB3aGVuIHRoZSBkb2N1bWVudGF0aW9uCiAgIGNvbnRhaW5zIGNoYXJhY3RlcnMgbm90IGVuY29kYWJsZSB0byB0aGUgc3Rkb3V0IGVuY29kaW5nLgogCi1UZXN0cwotLS0tLS0KKy0gSXNzdWUgIzE2NTMxOiBpcGFkZHJlc3MuSVB2NE5ldHdvcmsgYW5kIGlwYWRkcmVzcy5JUHY2TmV0d29yayBub3cgYWNjZXB0CisgIGFuIChhZGRyZXNzLCBuZXRtYXNrKSB0dXBsZSBhcmd1bWVudCwgc28gYXMgdG8gZWFzaWx5IGNvbnN0cnVjdCBuZXR3b3JrCisgIG9iamVjdHMgZnJvbSBleGlzdGluZyBhZGRyZXNzZXMuCiAKLS0gSXNzdWUgIzE3NzU2OiBGaXggdGVzdF9jb2RlIHRlc3Qgd2hlbiBydW4gZnJvbSB0aGUgaW5zdGFsbGVkIGxvY2F0aW9uLgorLSBJc3N1ZSAjMjExNTY6IGltcG9ydGxpYi5hYmMuSW5zcGVjdExvYWRlci5zb3VyY2VfdG9fY29kZSgpIGlzIG5vdyBhCisgIHN0YXRpY21ldGhvZC4KIAotLSBJc3N1ZSAjMTc3NTI6IEZpeCBkaXN0dXRpbHMgdGVzdHMgd2hlbiBydW4gZnJvbSB0aGUgaW5zdGFsbGVkIGxvY2F0aW9uLgorLSBJc3N1ZSAjMjE0MjQ6IFNpbXBsaWZpZWQgYW5kIG9wdGltaXplZCBoZWFxcC5ubGFyZ2VzdCgpIGFuZCBubXNtYWxsZXN0KCkKKyAgdG8gbWFrZSBmZXdlciB0dXBsZSBjb21wYXJpc29ucy4KIAotSURMRQotLS0tLQorLSBJc3N1ZSAjMjEzOTY6IEZpeCBUZXh0SU9XcmFwcGVyKC4uLiwgd3JpdGVfdGhyb3VnaD1UcnVlKSB0byBub3QgZm9yY2UgYQorICBmbHVzaCgpIG9uIHRoZSB1bmRlcmx5aW5nIGJpbmFyeSBzdHJlYW0uICBQYXRjaCBieSBha2lyYS4KIAotLSBJc3N1ZSAjMTgxMDQ6IEFkZCBpZGxlbGliL2lkbGVfdGVzdC9odGVzdC5weSB3aXRoIGEgZmV3IHNhbXBsZSB0ZXN0cyB0byBiZWdpbgotICBjb25zb2xpZGF0aW5nIGFuZCBpbXByb3ZpbmcgaHVtYW4tdmFsaWRhdGVkIHRlc3RzIG9mIElkbGUuIENoYW5nZSBvdGhlciBmaWxlcwotICBhcyBuZWVkZWQgdG8gd29yayB3aXRoIGh0ZXN0LiAgUnVubmluZyB0aGUgbW9kdWxlIGFzIF9fbWFpbl9fIHJ1bnMgYWxsIHRlc3RzLgotCi0KLVdoYXQncyBOZXcgaW4gUHl0aG9uIDMuNC4xcmMxPwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0KLVJlbGVhc2UgZGF0ZTogMjAxNC0wNS0wNQotCi1Db3JlIGFuZCBCdWlsdGlucwotLS0tLS0tLS0tLS0tLS0tLS0KLQotLSBJc3N1ZSAjMjEyNzQ6IERlZmluZSBQQVRIX01BWCBmb3IgR05VL0h1cmQgaW4gUHl0aG9uL3B5dGhvbnJ1bi5jLgotCi0tIElzc3VlICMyMTIwOTogRml4IHNlbmRpbmcgdHVwbGVzIHRvIGN1c3RvbSBnZW5lcmF0b3Igb2JqZWN0cyB3aXRoIHRoZSB5aWVsZAotICBmcm9tIHN5bnRheC4KLQotLSBJc3N1ZSAjMjExMzQ6IEZpeCBzZWdmYXVsdCB3aGVuIHN0ciBpcyBjYWxsZWQgb24gYW4gdW5pbml0aWFsaXplZAotICBVbmljb2RlRW5jb2RlRXJyb3IsIFVuaWNvZGVEZWNvZGVFcnJvciwgb3IgVW5pY29kZVRyYW5zbGF0ZUVycm9yIG9iamVjdC4KLQotLSBJc3N1ZSAjMTk1Mzc6IEZpeCBQeVVuaWNvZGVfREFUQSgpIGFsaWdubWVudCB1bmRlciBtNjhrLiAgUGF0Y2ggYnkKLSAgQW5kcmVhcyBTY2h3YWIuCi0KLS0gSXNzdWUgIzIwOTI5OiBBZGQgYSB0eXBlIGNhc3QgdG8gYXZvaWQgc2hpZnRpbmcgYSBuZWdhdGl2ZSBudW1iZXIuCi0KLS0gSXNzdWUgIzIwNzMxOiBQcm9wZXJseSBwb3NpdGlvbiBpbiBzb3VyY2UgY29kZSBmaWxlcyBldmVuIGlmIHRoZXkKLSAgYXJlIG9wZW5lZCBpbiB0ZXh0IG1vZGUuIFBhdGNoIGJ5IFNlcmhpeSBTdG9yY2hha2EuCi0KLS0gSXNzdWUgIzIwNjM3OiBLZXktc2hhcmluZyBub3cgYWxzbyB3b3JrcyBmb3IgaW5zdGFuY2UgZGljdGlvbmFyaWVzIG9mCi0gIHN1YmNsYXNzZXMuICBQYXRjaCBieSBQZXRlciBJbmdlYnJldHNvbi4KLQotLSBJc3N1ZSAjMTI1NDY6IEFsbG93IFx4MDAgdG8gYmUgdXNlZCBhcyBhIGZpbGwgY2hhcmFjdGVyIHdoZW4gdXNpbmcgc3RyLCBpbnQsCi0gIGZsb2F0LCBhbmQgY29tcGxleCBfX2Zvcm1hdF9fIG1ldGhvZHMuCi0KLS0gSXNzdWUgIzEzNTk4OiBNb2RpZnkgc3RyaW5nLkZvcm1hdHRlciB0byBzdXBwb3J0IGF1dG8tbnVtYmVyaW5nIG9mCi0gIHJlcGxhY2VtZW50IGZpZWxkcy4gSXQgbm93IG1hdGNoZXMgdGhlIGJlaGF2aW9yIG9mIHN0ci5mb3JtYXQoKSBpbgotICB0aGlzIHJlZ2FyZC4gUGF0Y2hlcyBieSBQaGlsIEVsc29uIGFuZCBSYW1jaGFuZHJhIEFwdGUuCi0KLUxpYnJhcnkKLS0tLS0tLS0KKy0gSXNzdWUgIzE4MzE0OiBVbmxpbmsgbm93IHJlbW92ZXMganVuY3Rpb25zIG9uIFdpbmRvd3MuIFBhdGNoIGJ5IEtpbSBHcsOkc21hbgogCiAtIElzc3VlICMyMTA4ODogQnVnZml4IGZvciBjdXJzZXMud2luZG93LmFkZGNoKCkgcmVncmVzc2lvbiBpbiAzLjQuMC4KICAgSW4gcG9ydGluZyB0byBBcmd1bWVudCBDbGluaWMsIHRoZSBmaXJzdCB0d28gYXJndW1lbnRzIHdlcmUgcmV2ZXJzZWQuCiAKKy0gSXNzdWUgIzIxNDA3OiBfZGVjaW1hbDogVGhlIG1vZHVsZSBub3cgc3VwcG9ydHMgZnVuY3Rpb24gc2lnbmF0dXJlcy4KKworLSBJc3N1ZSAjMTA2NTA6IFJlbW92ZSB0aGUgbm9uLXN0YW5kYXJkICd3YXRjaGV4cCcgcGFyYW1ldGVyIGZyb20gdGhlCisgIERlY2ltYWwucXVhbnRpemUoKSBtZXRob2QgaW4gdGhlIFB5dGhvbiB2ZXJzaW9uLiAgSXQgaGFkIG5ldmVyIGJlZW4KKyAgcHJlc2VudCBpbiB0aGUgQyB2ZXJzaW9uLgorCiAtIElzc3VlICMyMTQ2OTogIFJlZHVjZWQgdGhlIHJpc2sgb2YgZmFsc2UgcG9zaXRpdmVzIGluIHJvYm90cGFyc2VyIGJ5CiAgIGNoZWNraW5nIHRvIG1ha2Ugc3VyZSB0aGF0IHJvYm90cy50eHQgaGFzIGJlZW4gcmVhZCBvciBkb2VzIG5vdCBleGlzdAogICBwcmlvciB0byByZXR1cm5pbmcgVHJ1ZSBpbiBjYW5fZmV0Y2goKS4KIAorLSBJc3N1ZSAjMTk0MTQ6IEhhdmUgdGhlIE9yZGVyZWREaWN0IG1hcmsgZGVsZXRlZCBsaW5rcyBhcyB1bnVzYWJsZS4KKyAgVGhpcyBnaXZlcyBhbiBlYXJseSBmYWlsdXJlIGlmIHRoZSBsaW5rIGlzIGRlbGV0ZWQgZHVyaW5nIGl0ZXJhdGlvbi4KKworLSBJc3N1ZSAjMjE0MjE6IEFkZCBfX3Nsb3RzX18gdG8gdGhlIE1hcHBpbmdWaWV3cyBBQkMuCisgIFBhdGNoIGJ5IEpvc2ggUm9zZW5iZXJnLgorCistIElzc3VlICMyMTEwMTogRWxpbWluYXRlIGRvdWJsZSBoYXNoaW5nIGluIHRoZSBDIHNwZWVkLXVwIGNvZGUgZm9yCisgIGNvbGxlY3Rpb25zLkNvdW50ZXIoKS4KKwogLSBJc3N1ZSAjMjEzMjE6IGl0ZXJ0b29scy5pc2xpY2UoKSBub3cgcmVsZWFzZXMgdGhlIHJlZmVyZW5jZSB0byB0aGUgc291cmNlCiAgIGl0ZXJhdG9yIHdoZW4gdGhlIHNsaWNlIGlzIGV4aGF1c3RlZC4gIFBhdGNoIGJ5IEFudG9uIEFmYW5hc3lldi4KIAorLSBJc3N1ZSAjMjEwNTc6IFRleHRJT1dyYXBwZXIgbm93IGFsbG93cyB0aGUgdW5kZXJseWluZyBiaW5hcnkgc3RyZWFtJ3MKKyAgcmVhZCgpIG9yIHJlYWQxKCkgbWV0aG9kIHRvIHJldHVybiBhbiBhcmJpdHJhcnkgYnl0ZXMtbGlrZSBvYmplY3QKKyAgKHN1Y2ggYXMgYSBtZW1vcnl2aWV3KS4gIFBhdGNoIGJ5IE5pa29sYXVzIFJhdGguCisKKy0gSXNzdWUgIzIwOTUxOiBTU0xTb2NrZXQuc2VuZCgpIG5vdyByYWlzZXMgZWl0aGVyIFNTTFdhbnRSZWFkRXJyb3Igb3IKKyAgU1NMV2FudFdyaXRlRXJyb3Igb24gYSBub24tYmxvY2tpbmcgc29ja2V0IGlmIHRoZSBvcGVyYXRpb24gd291bGQgYmxvY2suCisgIFByZXZpb3VzbHksIGl0IHdvdWxkIHJldHVybiAwLiAgUGF0Y2ggYnkgTmlrb2xhdXMgUmF0aC4KKworLSBJc3N1ZSAjMTMyNDg6IHJlbW92ZWQgcHJldmlvdXNseSBkZXByZWNhdGVkIGFzeW5jb3JlLmRpc3BhdGNoZXIgX19nZXRhdHRyX18KKyAgY2hlYXAgaW5oZXJpdGFuY2UgaGFjay4KKwogLSBJc3N1ZSAjOTgxNTogYXNzZXJ0UmFpc2VzIG5vdyB0cmllcyB0byBjbGVhciByZWZlcmVuY2VzIHRvIGxvY2FsIHZhcmlhYmxlcwogICBpbiB0aGUgZXhjZXB0aW9uJ3MgdHJhY2ViYWNrLgogCistIElzc3VlICMxOTk0MDogc3NsLmNlcnRfdGltZV90b19zZWNvbmRzKCkgbm93IGludGVycHJldHMgdGhlIGdpdmVuIHRpbWUKKyAgc3RyaW5nIGluIHRoZSBVVEMgdGltZXpvbmUgKGFzIHNwZWNpZmllZCBpbiBSRkMgNTI4MCksIG5vdCB0aGUgbG9jYWwKKyAgdGltZXpvbmUuCisKIC0gSXNzdWUgIzEzMjA0OiBDYWxsaW5nIHN5cy5mbGFncy5fX25ld19fIHdvdWxkIGNyYXNoIHRoZSBpbnRlcnByZXRlciwKICAgbm93IGl0IHJhaXNlcyBhIFR5cGVFcnJvci4KIApAQCAtMTA4MSw5ICsxMzMyLDI1IEBACiAtIElzc3VlICMxMjIyMDogbWluZG9tIG5vdyByYWlzZXMgYSBjdXN0b20gVmFsdWVFcnJvciBpbmRpY2F0aW5nIGl0IGRvZXNuJ3QKICAgc3VwcG9ydCBzcGFjZXMgaW4gVVJJcyBpbnN0ZWFkIG9mIGxldHRpbmcgYSAnc3BsaXQnIFZhbHVlRXJyb3IgYnViYmxlIHVwLgogCistIElzc3VlICMyMTA2ODogVGhlIHNzbC5QUk9UT0NPTCogY29uc3RhbnRzIGFyZSBub3cgZW51bSBtZW1iZXJzLgorCistIElzc3VlICMyMTI3NjogcG9zaXhtb2R1bGU6IERvbid0IGRlZmluZSBVU0VfWEFUVFJTIG9uIEtGcmVlQlNEIGFuZCB0aGUgSHVyZC4KKworLSBJc3N1ZSAjMjEyNjI6IE5ldyBtZXRob2QgYXNzZXJ0X25vdF9jYWxsZWQgZm9yIE1vY2suCisgIEl0IHJhaXNlcyBBc3NlcnRpb25FcnJvciBpZiB0aGUgbW9jayBoYXMgYmVlbiBjYWxsZWQuCisKKy0gSXNzdWUgIzIxMjM4OiBOZXcga2V5d29yZCBhcmd1bWVudCBgdW5zYWZlYCB0byBNb2NrLiBJdCByYWlzZXMKKyAgYEF0dHJpYnV0ZUVycm9yYCBpbmNhc2Ugb2YgYW4gYXR0cmlidXRlIHN0YXJ0c3dpdGggYXNzZXJ0IG9yIGFzc3JldC4KKworLSBJc3N1ZSAjMjA4OTY6IHNzbC5nZXRfc2VydmVyX2NlcnRpZmljYXRlKCkgbm93IHVzZXMgUFJPVE9DT0xfU1NMdjIzLCBub3QKKyAgUFJPVE9DT0xfU1NMdjMsIGZvciBtYXhpbXVtIGNvbXBhdGliaWxpdHkuCisKIC0gSXNzdWUgIzIxMjM5OiBwYXRjaC5zdG9wYWxsKCkgZGlkbid0IHdvcmsgZGV0ZXJtaW5pc3RpY2FsbHkgd2hlbiB0aGUgc2FtZQogICBuYW1lIHdhcyBwYXRjaGVkIG1vcmUgdGhhbiBvbmNlLgogCistIElzc3VlICMyMTIwMzogVXBkYXRlZCBmaWxlQ29uZmlnIGFuZCBkaWN0Q29uZmlnIHRvIHJlbW92ZSBpbmNvbnNpc3RlbmNpZXMuCisgIFRoYW5rcyB0byBKdXJlIEtvcmVuIGZvciB0aGUgcGF0Y2guCisKIC0gSXNzdWUgIzIxMjIyOiBQYXNzaW5nIG5hbWUga2V5d29yZCBhcmd1bWVudCB0byBtb2NrLmNyZWF0ZV9hdXRvc3BlYyBub3cKICAgd29ya3MuCiAKQEAgLTExMTMsMTcgKzEzODAsMzEgQEAKIC0gSXNzdWUgIzIxMTcxOiBGaXhlZCB1bmRvY3VtZW50ZWQgZmlsdGVyIEFQSSBvZiB0aGUgcm90MTMgY29kZWMuCiAgIFBhdGNoIGJ5IEJlcmtlciBQZWtzYWcuCiAKKy0gSXNzdWUgIzIwNTM5OiBJbXByb3ZlZCBtYXRoLmZhY3RvcmlhbCBlcnJvciBtZXNzYWdlIGZvciBsYXJnZSBwb3NpdGl2ZSBpbnB1dHMKKyAgYW5kIGNoYW5nZWQgZXhjZXB0aW9uIHR5cGUgKE92ZXJmbG93RXJyb3IgLT4gVmFsdWVFcnJvcikgZm9yIGxhcmdlIG5lZ2F0aXZlCisgIGlucHV0cy4KKwogLSBJc3N1ZSAjMjExNzI6IGlzaW5zdGFuY2UgY2hlY2sgcmVsYXhlZCBmcm9tIGRpY3QgdG8gY29sbGVjdGlvbnMuTWFwcGluZy4KIAogLSBJc3N1ZSAjMjExNTU6IGFzeW5jaW8uRXZlbnRMb29wLmNyZWF0ZV91bml4X3NlcnZlcigpIG5vdyByYWlzZXMgYSBWYWx1ZUVycm9yCiAgIGlmIHBhdGggYW5kIHNvY2sgYXJlIHNwZWNpZmllZCBhdCB0aGUgc2FtZSB0aW1lLgogCistIElzc3VlICMyMTEzNjogQXZvaWQgdW5uZWNlc3Nhcnkgbm9ybWFsaXphdGlvbiBvZiBGcmFjdGlvbnMgcmVzdWx0aW5nIGZyb20KKyAgcG93ZXIgYW5kIG90aGVyIG9wZXJhdGlvbnMuICBQYXRjaCBieSBSYXltb25kIEhldHRpbmdlci4KKworLSBJc3N1ZSAjMTc2MjE6IEludHJvZHVjZSBpbXBvcnRsaWIudXRpbC5MYXp5TG9hZGVyLgorCistIElzc3VlICMyMTA3Njogc2lnbmFsIG1vZHVsZSBjb25zdGFudHMgd2VyZSB0dXJuZWQgaW50byBlbnVtcy4KKyAgUGF0Y2ggYnkgR2lhbXBhb2xvIFJvZG9sYScuCisKKy0gSXNzdWUgIzIwNjM2OiBJbXByb3ZlZCB0aGUgcmVwciBvZiBUa2ludGVyIHdpZGdldHMuCisKKy0gSXNzdWUgIzE5NTA1OiBUaGUgaXRlbXMsIGtleXMsIGFuZCB2YWx1ZXMgdmlld3Mgb2YgT3JkZXJlZERpY3Qgbm93IHN1cHBvcnQKKyAgcmV2ZXJzZSBpdGVyYXRpb24gdXNpbmcgcmV2ZXJzZWQoKS4KKwogLSBJc3N1ZSAjMjExNDk6IEltcHJvdmVkIHRocmVhZC1zYWZldHkgaW4gbG9nZ2luZyBjbGVhbnVwIGR1cmluZyBpbnRlcnByZXRlcgogICBzaHV0ZG93bi4gVGhhbmtzIHRvIERldmluIEplYW5waWVycmUgZm9yIHRoZSBwYXRjaC4KIAotLSBJc3N1ZSAjMjAxNDU6IGBhc3NlcnRSYWlzZXNSZWdleGAgYW5kIGBhc3NlcnRXYXJuc1JlZ2V4YCBub3cgcmFpc2UgYQotICBUeXBlRXJyb3IgaWYgdGhlIHNlY29uZCBhcmd1bWVudCBpcyBub3QgYSBzdHJpbmcgb3IgY29tcGlsZWQgcmVnZXguCi0KIC0gSXNzdWUgIzIxMDU4OiBGaXggYSBsZWFrIG9mIGZpbGUgZGVzY3JpcHRvciBpbgogICA6ZnVuYzpgdGVtcGZpbGUuTmFtZWRUZW1wb3JhcnlGaWxlYCwgY2xvc2UgdGhlIGZpbGUgZGVzY3JpcHRvciBpZgogICA6ZnVuYzpgaW8ub3BlbmAgZmFpbHMKQEAgLTExMzMsNiArMTQxNCw5IEBACiAtIElzc3VlICMyMTAxMzogRW5oYW5jZSBzc2wuY3JlYXRlX2RlZmF1bHRfY29udGV4dCgpIHdoZW4gdXNlZCBmb3Igc2VydmVyIHNpZGUKICAgc29ja2V0cyB0byBwcm92aWRlIGJldHRlciBzZWN1cml0eSBieSBkZWZhdWx0LgogCistIElzc3VlICMyMDE0NTogYGFzc2VydFJhaXNlc1JlZ2V4YCBhbmQgYGFzc2VydFdhcm5zUmVnZXhgIG5vdyByYWlzZSBhCisgIFR5cGVFcnJvciBpZiB0aGUgc2Vjb25kIGFyZ3VtZW50IGlzIG5vdCBhIHN0cmluZyBvciBjb21waWxlZCByZWdleC4KKwogLSBJc3N1ZSAjMjA2MzM6IFJlcGxhY2UgcmVsYXRpdmUgaW1wb3J0IGJ5IGFic29sdXRlIGltcG9ydC4KIAogLSBJc3N1ZSAjMjA5ODA6IFN0b3Agd3JhcHBpbmcgZXhjZXB0aW9uIHdoZW4gdXNpbmcgVGhyZWFkUG9vbC4KQEAgLTExNDYsNiArMTQzMCw4IEBACiAgIGN1cnZlIGZvciBFQ0RIIGtleSBleGNoYW5nZSBvbiBPcGVuU1NMIDEuMC4yIGFuZCBsYXRlciwgYW5kIG90aGVyd2lzZQogICBkZWZhdWx0IHRvICJwcmltZTI1NnYxIi4KIAorLSBJc3N1ZSAjMjEwMDA6IEltcHJvdmUgdGhlIGNvbW1hbmQtbGluZSBpbnRlcmZhY2Ugb2YganNvbi50b29sLgorCiAtIElzc3VlICMyMDk5NTogRW5oYW5jZSBkZWZhdWx0IGNpcGhlcnMgdXNlZCBieSB0aGUgc3NsIG1vZHVsZSB0byBlbmFibGUKICAgYmV0dGVyIHNlY3VyaXR5IGFuIHByaW9yaXRpemUgcGVyZmVjdCBmb3J3YXJkIHNlY3JlY3kuCiAKQEAgLTExNTMsNiArMTQzOSwyNCBAQAogCiAtIElzc3VlICMyMTQ5OTogSWdub3JlIF9fYnVpbHRpbnNfXyBpbiBzZXZlcmFsIHRlc3RfaW1wb3J0bGliLnRlc3RfYXBpIHRlc3RzLgogCistIElzc3VlICMyMDYyNzogeG1scnBjLmNsaWVudC5TZXJ2ZXJQcm94eSBpcyBub3cgYSBjb250ZXh0IG1hbmFnZXIuCisKKy0gSXNzdWUgIzE5MTY1OiBUaGUgZm9ybWF0dGVyIG1vZHVsZSBub3cgcmFpc2VzIERlcHJlY2F0aW9uV2FybmluZyBpbnN0ZWFkIG9mCisgIFBlbmRpbmdEZXByZWNhdGlvbldhcm5pbmcuCisKKy0gSXNzdWUgIzEzOTM2OiBSZW1vdmUgdGhlIGFiaWxpdHkgb2YgZGF0ZXRpbWUudGltZSBpbnN0YW5jZXMgdG8gYmUgY29uc2lkZXJlZAorICBmYWxzZSBpbiBib29sZWFuIGNvbnRleHRzLgorCistIElzc3VlIDE4OTMxOiBzZWxlY3RvcnMgbW9kdWxlIG5vdyBzdXBwb3J0cyAvZGV2L3BvbGwgb24gU29sYXJpcy4KKyAgUGF0Y2ggYnkgR2lhbXBhb2xvIFJvZG9sYScuCisKKy0gSXNzdWUgIzE5OTc3OiBXaGVuIHRoZSBgYExDX1RZUEVgYCBsb2NhbGUgaXMgdGhlIFBPU0lYIGxvY2FsZSAoYGBDYGAgbG9jYWxlKSwKKyAgOnB5OmRhdGE6YHN5cy5zdGRpbmAgYW5kIDpweTpkYXRhOmBzeXMuc3Rkb3V0YCBhcmUgbm93IHVzaW5nIHRoZQorICBgYHN1cnJvZ2F0ZWVzY2FwZWBgIGVycm9yIGhhbmRsZXIsIGluc3RlYWQgb2YgdGhlIGBgc3RyaWN0YGAgZXJyb3IgaGFuZGxlci4KKworLSBJc3N1ZSAjMjA1NzQ6IEltcGxlbWVudCBpbmNyZW1lbnRhbCBkZWNvZGVyIGZvciBjcDY1MDAxIGNvZGUgKFdpbmRvd3MgY29kZQorICBwYWdlIDY1MDAxLCBNaWNyb3NvZnQgVVRGLTgpLgorCiAtIElzc3VlICMyMDg3OTogRGVsYXkgdGhlIGluaXRpYWxpemF0aW9uIG9mIGVuY29kaW5nIGFuZCBkZWNvZGluZyB0YWJsZXMgZm9yCiAgIGJhc2UzMiwgYXNjaWk4NSBhbmQgYmFzZTg1IGNvZGVjcyBpbiB0aGUgYmFzZTY0IG1vZHVsZSwgYW5kIGRlbGF5IHRoZQogICBpbml0aWFsaXphdGlvbiBvZiB0aGUgdW5xdW90ZV90b19ieXRlcygpIHRhYmxlIG9mIHRoZSB1cmxsaWIucGFyc2UgbW9kdWxlLCB0bwpAQCAtMTE4Nyw2ICsxNDkxLDE0IEBACiAtIElzc3VlICMxOTc0ODogT24gQUlYLCB0aW1lLm1rdGltZSgpIG5vdyByYWlzZXMgYW4gT3ZlcmZsb3dFcnJvciBmb3IgeWVhcgogICBvdXRzaXplIHJhbmdlIFsxOTAyOyAyMDM3XS4KIAorLSBJc3N1ZSAjMTk1NzM6IGluc3BlY3Quc2lnbmF0dXJlOiBVc2UgZW51bSBmb3IgcGFyYW1ldGVyIGtpbmQgY29uc3RhbnRzLgorCistIElzc3VlICMyMDcyNjogaW5zcGVjdC5zaWduYXR1cmU6IE1ha2UgU2lnbmF0dXJlIGFuZCBQYXJhbWV0ZXIgcGlja2xhYmxlLgorCistIElzc3VlICMxNzM3MzogQWRkIGluc3BlY3QuU2lnbmF0dXJlLmZyb21fY2FsbGFibGUgbWV0aG9kLgorCistIElzc3VlICMyMDM3ODogSW1wcm92ZSByZXByIG9mIGluc3BlY3QuU2lnbmF0dXJlIGFuZCBpbnNwZWN0LlBhcmFtZXRlci4KKwogLSBJc3N1ZSAjMjA4MTY6IEZpeCBpbnNwZWN0LmdldGNhbGxhcmdzKCkgdG8gcmFpc2UgY29ycmVjdCBUeXBlRXJyb3IgZm9yCiAgIG1pc3Npbmcga2V5d29yZC1vbmx5IGFyZ3VtZW50cy4gUGF0Y2ggYnkgSmVyZW1pYWggTG93aW4uCiAKQEAgLTEyMDMsNiArMTUxNSwxMiBAQAogICBwb3NpdGlvbmFsLW9yLWtleXdvcmQgYXJndW1lbnRzIHBhc3NlZCBhcyBrZXl3b3JkIGFyZ3VtZW50cyBiZWNvbWUKICAga2V5d29yZC1vbmx5LgogCistIElzc3VlICMyMDMzNDogaW5zcGVjdC5TaWduYXR1cmUgYW5kIGluc3BlY3QuUGFyYW1ldGVyIGFyZSBub3cgaGFzaGFibGUuCisgIFRoYW5rcyB0byBBbnRvbnkgTGVlIGZvciBidWcgcmVwb3J0cyBhbmQgc3VnZ2VzdGlvbnMuCisKKy0gSXNzdWUgIzE1OTE2OiBkb2N0ZXN0LkRvY1Rlc3RTdWl0ZSByZXR1cm5zIGFuIGVtcHR5IHVuaXR0ZXN0LlRlc3RTdWl0ZSBpbnN0ZWFkCisgIG9mIHJhaXNpbmcgVmFsdWVFcnJvciBpZiBpdCBmaW5kcyBubyB0ZXN0cworCiAtIElzc3VlICMyMTIwOTogRml4IGFzeW5jaW8udGFza3MuQ29yb1dyYXBwZXIgdG8gd29ya2Fyb3VuZCBhIGJ1ZwogICBpbiB5aWVsZC1mcm9tIGltcGxlbWVudGF0aW9uIGluIENQeXRob25zIHByaW9yIHRvIDMuNC4xLgogCkBAIC0xMjE1LDE2ICsxNTMzLDkwIEBACiAtIElzc3VlICMxMTU3MTogRW5zdXJlIHRoYXQgdGhlIHR1cnRsZSB3aW5kb3cgYmVjb21lcyB0aGUgdG9wbW9zdCB3aW5kb3cKICAgd2hlbiBsYXVuY2hlZCBvbiBPUyBYLgogCi1FeHRlbnNpb24gTW9kdWxlcwotLS0tLS0tLS0tLS0tLS0tLS0KKy0gSXNzdWUgIzIxODAxOiBWYWxpZGF0ZSB0aGF0IF9fc2lnbmF0dXJlX18gaXMgTm9uZSBvciBhbiBpbnN0YW5jZSBvZiBTaWduYXR1cmUuCiAKLS0gSXNzdWUgIzIxMjc2OiBwb3NpeG1vZHVsZTogRG9uJ3QgZGVmaW5lIFVTRV9YQVRUUlMgb24gS0ZyZWVCU0QgYW5kIHRoZSBIdXJkLgotLSBJc3N1ZSAjMjEyMjY6IFNldCB1cCBtb2R1bGVzIHByb3Blcmx5IGluIFB5SW1wb3J0X0V4ZWNDb2RlTW9kdWxlT2JqZWN0Ci0gIChhbmQgZnJpZW5kcykuCistIElzc3VlICMyMTkyMzogUHJldmVudCBBdHRyaWJ1dGVFcnJvciBpbiBkaXN0dXRpbHMuc3lzY29uZmlnLmN1c3RvbWl6ZV9jb21waWxlcgorICBkdWUgdG8gcG9zc2libGUgdW5pbml0aWFsaXplZCBfY29uZmlnX3ZhcnMuCisKKy0gSXNzdWUgIzIxMzIzOiBGaXggaHR0cC5zZXJ2ZXIgdG8gYWdhaW4gaGFuZGxlIHNjcmlwdHMgaW4gQ0dJIHN1YmRpcmVjdG9yaWVzLAorICBicm9rZW4gYnkgdGhlIGZpeCBmb3Igc2VjdXJpdHkgaXNzdWUgIzE5NDM1LiAgUGF0Y2ggYnkgWmFjaCBCeXJuZS4KKworLSBJc3N1ZSAjMjI3MzM6IEZpeCBmZmlfcHJlcF9hcmdzIG5vdCB6ZXJvLWV4dGVuZGluZyBhcmd1bWVudCB2YWx1ZXMgY29ycmVjdGx5CisgIG9uIDY0LWJpdCBXaW5kb3dzLgorCistIElzc3VlICMyMzMwMjogRGVmYXVsdCB0byBUQ1BfTk9ERUxBWT0xIHVwb24gZXN0YWJsaXNoaW5nIGFuIEhUVFBDb25uZWN0aW9uLgorICBSZW1vdmVkIHVzZSBvZiBoYXJkLWNvZGVkIE1TUyBhcyBpdCdzIGFuIG9wdGltaXphdGlvbiB0aGF0J3Mgbm8gbG9uZ2VyIG5lZWRlZAorICB3aXRoIE5hZ2xlIGRpc2FibGVkLgogCiBJRExFCiAtLS0tCiAKKy0gSXNzdWUgIzIwNTc3OiBDb25maWd1cmF0aW9uIG9mIHRoZSBtYXggbGluZSBsZW5ndGggZm9yIHRoZSBGb3JtYXRQYXJhZ3JhcGgKKyAgZXh0ZW5zaW9uIGhhcyBiZWVuIG1vdmVkIGZyb20gdGhlIEdlbmVyYWwgdGFiIG9mIHRoZSBJZGxlIHByZWZlcmVuY2VzIGRpYWxvZworICB0byB0aGUgRm9ybWF0UGFyYWdyYXBoIHRhYiBvZiB0aGUgQ29uZmlnIEV4dGVuc2lvbnMgZGlhbG9nLgorICBQYXRjaCBieSBUYWwgRWluYXQuCisKKy0gSXNzdWUgIzE2ODkzOiBVcGRhdGUgSWRsZSBkb2MgY2hhcHRlciB0byBtYXRjaCBjdXJyZW50IElkbGUgYW5kIGFkZCBuZXcKKyAgaW5mb3JtYXRpb24uCisKKy0gSXNzdWUgIzMwNjg6IEFkZCBJZGxlIGV4dGVuc2lvbiBjb25maWd1cmF0aW9uIGRpYWxvZyB0byBPcHRpb25zIG1lbnUuCisgIENoYW5nZXMgYXJlIHdyaXR0ZW4gdG8gSE9NRS8uaWRsZXJjL2NvbmZpZy1leHRlbnNpb25zLmNmZy4KKyAgT3JpZ2luYWwgcGF0Y2ggYnkgVGFsIEVpbmF0LgorCistIElzc3VlICMxNjIzMzogQSBtb2R1bGUgYnJvd3NlciAoRmlsZSA6IENsYXNzIEJyb3dzZXIsIEFsdCtDKSByZXF1aXJlcyBhCisgIGVkaXRvciB3aW5kb3cgd2l0aCBhIGZpbGVuYW1lLiAgV2hlbiBDbGFzcyBCcm93c2VyIGlzIHJlcXVlc3RlZCBvdGhlcndpc2UsCisgIGZyb20gYSBzaGVsbCwgb3V0cHV0IHdpbmRvdywgb3IgJ1VudGl0bGVkJyBlZGl0b3IsIElkbGUgbm8gbG9uZ2VyIGRpc3BsYXlzCisgIGFuIGVycm9yIGJveC4gIEl0IG5vdyBwb3BzIHVwIGFuICBPcGVuIE1vZHVsZSBib3ggKEFsdCtNKS4gSWYgYSB2YWxpZCBuYW1lCisgIGlzIGVudGVyZWQgYW5kIGEgbW9kdWxlIGlzIG9wZW5lZCwgYSBjb3JyZXNwb25kaW5nIGJyb3dzZXIgaXMgYWxzbyBvcGVuZWQuCisKKy0gSXNzdWUgIzQ4MzI6IFNhdmUgQXMgdG8gdHlwZSBQeXRob24gZmlsZXMgYXV0b21hdGljYWxseSBhZGRzIC5weSB0byB0aGUKKyAgbmFtZSB5b3UgZW50ZXIgKGV2ZW4gaWYgeW91ciBzeXN0ZW0gZG9lcyBub3QgZGlzcGxheSBpdCkuICBTb21lIHN5c3RlbXMKKyAgYXV0b21hdGljYWxseSBhZGQgLnR4dCB3aGVuIHR5cGUgaXMgVGV4dCBmaWxlcy4KKworLSBJc3N1ZSAjMjE5ODY6IENvZGUgb2JqZWN0cyBhcmUgbm90IG5vcm1hbGx5IHBpY2tsZWQgYnkgdGhlIHBpY2tsZSBtb2R1bGUuCisgIFRvIG1hdGNoIHRoaXMsIHRoZXkgYXJlIG5vIGxvbmdlciBwaWNrbGVkIHdoZW4gcnVubmluZyB1bmRlciBJZGxlLgorCistIElzc3VlICMxNzM5MDogQWRqdXN0IEVkaXRvciB3aW5kb3cgdGl0bGU7IHJlbW92ZSAnUHl0aG9uJywKKyAgbW92ZSB2ZXJzaW9uIHRvIGVuZC4KKworLSBJc3N1ZSAjMTQxMDU6IElkbGUgZGVidWdnZXIgYnJlYWtwb2ludHMgbm8gbG9uZ2VyIGRpc2FwcGVhcgorICB3aGVuIGluc2V0aW5nIG9yIGRlbGV0aW5nIGxpbmVzLgorCistIElzc3VlICMxNzE3MjogVHVydGxlZGVtbyBjYW4gbm93IGJlIHJ1biBmcm9tIElkbGUuCisgIEN1cnJlbnRseSwgdGhlIGVudHJ5IGlzIG9uIHRoZSBIZWxwIG1lbnUsIGJ1dCBpdCBtYXkgbW92ZSB0byBSdW4uCisgIFBhdGNoIGJ5IFJhbWNoYW5kcmEgQXB0IGFuZCBMaXRhIENoby4KKworLSBJc3N1ZSAjMjE3NjU6IEFkZCBzdXBwb3J0IGZvciBub24tYXNjaWkgaWRlbnRpZmllcnMgdG8gSHlwZXJQYXJzZXIuCisKKy0gSXNzdWUgIzIxOTQwOiBBZGQgdW5pdHRlc3QgZm9yIFdpZGdldFJlZGlyZWN0b3IuIEluaXRpYWwgcGF0Y2ggYnkgU2FpbWFkaGF2CisgIEhlYmxpa2FyLgorCistIElzc3VlICMxODU5MjogQWRkIHVuaXR0ZXN0IGZvciBTZWFyY2hEaWFsb2dCYXNlLiBQYXRjaCBieSBQaGlsIFdlYnN0ZXIuCisKKy0gSXNzdWUgIzIxNjk0OiBBZGQgdW5pdHRlc3QgZm9yIFBhcmVuTWF0Y2guIFBhdGNoIGJ5IFNhaW1hZGhhdiBIZWJsaWthci4KKworLSBJc3N1ZSAjMjE2ODY6IGFkZCB1bml0dGVzdCBmb3IgSHlwZXJQYXJzZXIuIE9yaWdpbmFsIHBhdGNoIGJ5IFNhaW1hZGhhdgorICBIZWJsaWthci4KKworLSBJc3N1ZSAjMTIzODc6IEFkZCBtaXNzaW5nIHVwcGVyKGxvd2VyKWNhc2UgdmVyc2lvbnMgb2YgZGVmYXVsdCBXaW5kb3dzIGtleQorICBiaW5kaW5ncyBmb3IgSWRsZSBzbyBDYXBzIExvY2sgZG9lcyBub3QgZGlzYWJsZSB0aGVtLiBQYXRjaCBieSBSb2dlciBTZXJ3eS4KKworLSBJc3N1ZSAjMjE2OTU6IENsb3NpbmcgYSBGaW5kLWluLWZpbGVzIG91dHB1dCB3aW5kb3cgd2hpbGUgdGhlIHNlYXJjaCBpcworICBzdGlsbCBpbiBwcm9ncmVzcyBubyBsb25nZXIgY2xvc2VzIElkbGUuCisKKy0gSXNzdWUgIzE4OTEwOiBBZGQgdW5pdHRlc3QgZm9yIHRleHRWaWV3LiBQYXRjaCBieSBQaGlsIFdlYnN0ZXIuCisKKy0gSXNzdWUgIzE4MjkyOiBBZGQgdW5pdHRlc3QgZm9yIEF1dG9FeHBhbmQuIFBhdGNoIGJ5IFNhaWhhZGhhdiBIZWJsaWthci4KKworLSBJc3N1ZSAjMTg0MDk6IEFkZCB1bml0dGVzdCBmb3IgQXV0b0NvbXBsZXRlLiBQYXRjaCBieSBQaGlsIFdlYnN0ZXIuCisKKy0gSXNzdWUgIzIxNDc3OiBodGVzdC5weSAtIEltcHJvdmUgZnJhbWV3b3JrLCBjb21wbGV0ZSBzZXQgb2YgdGVzdHMuCisgIFBhdGNoZXMgYnkgU2FpbWFkaGF2IEhlYmxpa2FyCisKKy0gSXNzdWUgIzE4MTA0OiBBZGQgaWRsZWxpYi9pZGxlX3Rlc3QvaHRlc3QucHkgd2l0aCBhIGZldyBzYW1wbGUgdGVzdHMgdG8gYmVnaW4KKyAgY29uc29saWRhdGluZyBhbmQgaW1wcm92aW5nIGh1bWFuLXZhbGlkYXRlZCB0ZXN0cyBvZiBJZGxlLiBDaGFuZ2Ugb3RoZXIgZmlsZXMKKyAgYXMgbmVlZGVkIHRvIHdvcmsgd2l0aCBodGVzdC4gIFJ1bm5pbmcgdGhlIG1vZHVsZSBhcyBfX21haW5fXyBydW5zIGFsbCB0ZXN0cy4KKwogLSBJc3N1ZSAjMjExMzk6IENoYW5nZSBkZWZhdWx0IHBhcmFncmFwaCB3aWR0aCB0byA3MiwgdGhlIFBFUCA4IHJlY29tbWVuZGF0aW9uLgogCiAtIElzc3VlICMyMTI4NDogUGFyYWdyYXBoIHJlZm9ybWF0IHRlc3QgcGFzc2VzIGFmdGVyIHVzZXIgY2hhbmdlcyByZWZvcm1hdCB3aWR0aC4KQEAgLTEyMzIsMTAgKzE2MjQsNTIgQEAKIC0gSXNzdWUgIzE3NjU0OiBFbnN1cmUgSURMRSBtZW51cyBhcmUgY3VzdG9taXplZCBwcm9wZXJseSBvbiBPUyBYIGZvcgogICBub24tZnJhbWV3b3JrIGJ1aWxkcyBhbmQgZm9yIGFsbCB2YXJpYW50cyBvZiBUay4KIAorLSBJc3N1ZSAjMjMxODA6IFJlbmFtZSBJRExFICJXaW5kb3dzIiBtZW51IGl0ZW0gdG8gIldpbmRvdyIuCisgIFBhdGNoIGJ5IEFsIFN3ZWlnYXJ0LgorCiBCdWlsZAogLS0tLS0KIAotLSBUaGUgV2luZG93cyBidWlsZCBub3cgaW5jbHVkZXMgT3BlblNTTCAxLjAuMWcKKy0gSXNzdWUgIzE1NTA2OiBVc2Ugc3RhbmRhcmQgUEtHX1BST0dfUEtHX0NPTkZJRyBhdXRvY29uZiBtYWNybyBpbiB0aGUgY29uZmlndXJlCisgIHNjcmlwdC4KKworLSBJc3N1ZSAjMjI5MzU6IEFsbG93IHRoZSBzc2wgbW9kdWxlIHRvIGJlIGNvbXBpbGVkIGlmIG9wZW5zc2wgZG9lc24ndCBzdXBwb3J0CisgIFNTTCAzLgorCistIElzc3VlICMyMjU5MjogRHJvcCBzdXBwb3J0IG9mIHRoZSBCb3JsYW5kIEMgY29tcGlsZXIgdG8gYnVpbGQgUHl0aG9uLiBUaGUKKyAgZGlzdHV0aWxzIG1vZHVsZSBzdGlsbCBzdXBwb3J0cyBpdCB0byBidWlsZCBleHRlbnNpb25zLgorCistIElzc3VlICMyMjU5MTogRHJvcCBzdXBwb3J0IG9mIE1TLURPUywgZXNwZWNpYWxseSBvZiB0aGUgREpHUFAgY29tcGlsZXIKKyAgKE1TLURPUyBwb3J0IG9mIEdDQykuCisKKy0gSXNzdWUgIzE2NTM3OiBDaGVjayB3aGV0aGVyIHNlbGYuZXh0ZW5zaW9ucyBpcyBlbXB0eSBpbiBzZXR1cC5weS4gUGF0Y2ggYnkKKyAgSm9uYXRoYW4gSG9zbWVyLgorCistIElzc3VlICMyMjM1OTogUmVtb3ZlIGluY29ycmVjdCB1c2VzIG9mIHJlY3Vyc2l2ZSBtYWtlLiAgUGF0Y2ggYnkgSm9uYXMKKyAgV2FnbmVyLgorCistIElzc3VlICMyMTk1ODogRGVmaW5lIEhBVkVfUk9VTkQgd2hlbiBidWlsZGluZyB3aXRoIFZpc3VhbCBTdHVkaW8gMjAxMyBhbmQKKyAgYWJvdmUuICBQYXRjaCBieSBaYWNoYXJ5IFR1cm5lci4KKworLSBJc3N1ZSAjMTgwOTM6IHRoZSBwcm9ncmFtcyB0aGF0IGVtYmVkIHRoZSBDUHl0aG9uIHJ1bnRpbWUgYXJlIG5vdyBpbiBhCisgIHNlcGFyYXRlICJQcm9ncmFtcyIgZGlyZWN0b3J5LCByYXRoZXIgdGhhbiBiZWluZyBrZXB0IGluIHRoZSBNb2R1bGVzCisgIGRpcmVjdG9yeS4KKworLSBJc3N1ZSAjMTU3NTk6ICJtYWtlIHN1c3BpY2lvdXMiLCAibWFrZSBsaW5rY2hlY2siIGFuZCAibWFrZSBkb2N0ZXN0IiBpbiBEb2MvCisgIG5vdyBkaXNwbGF5IHNwZWNpYWwgbWVzc2FnZSB3aGVuIGFuZCBvbmx5IHdoZW4gdGhlcmUgYXJlIGZhaWx1cmVzLgorCistIElzc3VlICMyMTE0MTogVGhlIFdpbmRvd3MgYnVpbGQgcHJvY2VzcyBubyBsb25nZXIgYXR0ZW1wdHMgdG8gZmluZCBQZXJsLAorICBpbnN0ZWFkIHJlbHlpbmcgb24gT3BlblNTTCBzb3VyY2UgYmVpbmcgY29uZmlndXJlZCBhbmQgcmVhZHkgdG8gYnVpbGQuICBUaGUKKyAgYGBQQ2J1aWxkXGJ1aWxkX3NzbC5weWBgIHNjcmlwdCBoYXMgYmVlbiByZS13cml0dGVuIGFuZCByZS1uYW1lZCB0bworICBgYFBDYnVpbGRccHJlcGFyZV9zc2wucHlgYCwgYW5kIHRha2VzIGNhcmUgb2YgY29uZmlndXJpbmcgT3BlblNTTCBzb3VyY2UKKyAgZm9yIGJvdGggMzIgYW5kIDY0IGJpdCBwbGF0Zm9ybXMuICBPcGVuU1NMIHNvdXJjZXMgb2J0YWluZWQgZnJvbQorICBzdm4ucHl0aG9uLm9yZyB3aWxsIGFsd2F5cyBiZSBwcmUtY29uZmlndXJlZCBhbmQgcmVhZHkgdG8gYnVpbGQuCisKKy0gSXNzdWUgIzIxMDM3OiBBZGQgYSBidWlsZCBvcHRpb24gdG8gZW5hYmxlIEFkZHJlc3NTYW5pdGl6ZXIgc3VwcG9ydC4KKworLSBJc3N1ZSAjMTk5NjI6IFRoZSBXaW5kb3dzIGJ1aWxkIHByb2Nlc3Mgbm93IGNyZWF0ZXMgInB5dGhvbi5iYXQiIGluIHRoZQorICByb290IG9mIHRoZSBzb3VyY2UgdHJlZSwgd2hpY2ggcGFzc2VzIGFsbCBhcmd1bWVudHMgdGhyb3VnaCB0byB0aGUgbW9zdAorICByZWNlbnRseSBidWlsdCBpbnRlcnByZXRlci4KIAogLSBJc3N1ZSAjMjEyODU6IFJlZmFjdG9yIGFuZCBmaXggY3Vyc2VzIGNvbmZpZ3VyZSBjaGVjayB0byBhbHdheXMgc2VhcmNoCiAgIGluIGEgbmN1cnNlc3cgZGlyZWN0b3J5LgpAQCAtMTI0NCwxMiArMTY3OCw2MCBAQAogICBpbmNsdWRlIGRpcmVjdG9yaWVzIGlmIHRoZXkgYXJlbid0IGFscmVhZHkgYmVpbmcgc2VhcmNoZWQuIFRoaXMgYXZvaWRzCiAgIGFuIGV4cGxpY2l0IHJ1bnRpbWUgbGlicmFyeSBkZXBlbmRlbmN5LgogCistIElzc3VlICMxNzg2MTogVG9vbHMvc2NyaXB0cy9nZW5lcmF0ZV9vcGNvZGVfaC5weSBhdXRvbWF0aWNhbGx5IHJlZ2VuZXJhdGVzCisgIEluY2x1ZGUvb3Bjb2RlLmggZnJvbSBMaWIvb3Bjb2RlLnB5IGlmIHRoZSBsYXRlciBnZXRzIGFueSBjaGFuZ2UuCisKIC0gSXNzdWUgIzIwNjQ0OiBPUyBYIGluc3RhbGxlciBidWlsZCBzdXBwb3J0IGZvciBkb2N1bWVudGF0aW9uIGJ1aWxkIGNoYW5nZXMKICAgaW4gMy40LjE6IGFzc3VtZSBleHRlcm5hbGx5IHN1cHBsaWVkIHNwaGlueC1idWlsZCBpcyBhdmFpbGFibGUgaW4gL3Vzci9iaW4uCiAKKy0gSXNzdWUgIzIwMDIyOiBFbGltaW5hdGUgdXNlIG9mIGRlcHJlY2F0ZWQgYnVuZGxlYnVpbGRlciBpbiBPUyBYIGJ1aWxkcy4KKworLSBJc3N1ZSAjMTU5Njg6IEluY29ycG9yYXRlZCBUY2wsIFRrLCBhbmQgVGl4IGJ1aWxkcyBpbnRvIHRoZSBXaW5kb3dzIGJ1aWxkCisgIHNvbHV0aW9uLgorCistIElzc3VlICMxNzA5NTogRml4IE1vZHVsZXMvU2V0dXAgKnNoYXJlZCogc3VwcG9ydC4KKworLSBJc3N1ZSAjMjE4MTE6IEFudGljaXBhdGVkIGZpeGVzIHRvIHN1cHBvcnQgT1MgWCB2ZXJzaW9ucyA+IDEwLjkuCisKKy0gSXNzdWUgIzIxMTY2OiBQcmV2ZW50IHBvc3NpYmxlIHNlZ2ZhdWx0cyBhbmQgb3RoZXIgcmFuZG9tIGZhaWx1cmVzIG9mCisgIHB5dGhvbiAtLWdlbmVyYXRlLXBvc2l4LXZhcnMgaW4gcHlidWlsZGRpci50eHQgYnVpbGQgdGFyZ2V0LgorCistIElzc3VlICMxODA5NjogRml4IGxpYnJhcnkgb3JkZXIgcmV0dXJuZWQgYnkgcHl0aG9uLWNvbmZpZy4KKworLSBJc3N1ZSAjMTcyMTk6IEFkZCBsaWJyYXJ5IGJ1aWxkIGRpciBmb3IgUHl0aG9uIGV4dGVuc2lvbiBjcm9zcy1idWlsZHMuCisKKy0gSXNzdWUgIzIyOTE5OiBXaW5kb3dzIGJ1aWxkIHVwZGF0ZWQgdG8gc3VwcG9ydCBWQyAxNC4wIChWaXN1YWwgU3R1ZGlvIDIwMTUpLAorICB3aGljaCB3aWxsIGJlIHVzZWQgZm9yIHRoZSBvZmZpY2lhbCByZWxlYXNlLgorCistIElzc3VlICMyMTIzNjogQnVpbGQgX21zaS5weWQgd2l0aCBjYWJpbmV0LmxpYiBpbnN0ZWFkIG9mIGZjaS5saWIKKworLSBJc3N1ZSAjMTcxMjg6IFVzZSBwcml2YXRlIHZlcnNpb24gb2YgT3BlblNTTCBmb3IgT1MgWCAxMC41KyBpbnN0YWxsZXIuCisKIEMgQVBJCiAtLS0tLQogCistIElzc3VlICMxNDIwMzogUmVtb3ZlIG9ic29sZXRlIHN1cHBvcnQgZm9yIHZpZXc9PU5VTEwgaW4gUHlCdWZmZXJfRmlsbEluZm8oKSwKKyAgYnl0ZWFycmF5X2dldGJ1ZmZlcigpLCBieXRlc2lvYnVmX2dldGJ1ZmZlcigpIGFuZCBhcnJheV9idWZmZXJfZ2V0YnVmKCkuCisgIEFsbCBmdW5jdGlvbnMgbm93IHJhaXNlIEJ1ZmZlckVycm9yIGluIHRoYXQgY2FzZS4KKworLSBJc3N1ZSAjMjI0NDU6IFB5QnVmZmVyX0lzQ29udGlndW91cygpIG5vdyBpbXBsZW1lbnRzIHByZWNpc2UgY29udGlndWl0eQorICB0ZXN0cywgY29tcGF0aWJsZSB3aXRoIE51bVB5J3MgTlBZX1JFTEFYRURfU1RSSURFU19DSEVDS0lORyBjb21waWxhdGlvbgorICBmbGFnLiAgUHJldmlvdXNseSB0aGUgZnVuY3Rpb24gcmVwb3J0ZWQgZmFsc2UgbmVnYXRpdmVzIGZvciBjb3JuZXIgY2FzZXMuCisKKy0gSXNzdWUgIzIyMDc5OiBQeVR5cGVfUmVhZHkoKSBub3cgY2hlY2tzIHRoYXQgc3RhdGljYWxseSBhbGxvY2F0ZWQgdHlwZSBoYXMKKyAgbm8gZHluYW1pY2FsbHkgYWxsb2NhdGVkIGJhc2VzLgorCistIElzc3VlICMyMjQ1MzogUmVtb3ZlZCBub24tZG9jdW1lbnRlZCBtYWNybyBQeU9iamVjdF9SRVBSKCkuCisKKy0gSXNzdWUgIzE4Mzk1OiBSZW5hbWUgYGBfUHlfY2hhcjJ3Y2hhcigpYGAgdG8gOmM6ZnVuYzpgUHlfRGVjb2RlTG9jYWxlYCwKKyAgcmVuYW1lIGBgX1B5X3djaGFyMmNoYXIoKWBgIHRvIDpjOmZ1bmM6YFB5X0VuY29kZUxvY2FsZWAsIGFuZCBkb2N1bWVudAorICB0aGVzZSBmdW5jdGlvbnMuCisKKy0gSXNzdWUgIzIxMjMzOiBBZGQgbmV3IEMgZnVuY3Rpb25zOiBQeU1lbV9SYXdDYWxsb2MoKSwgUHlNZW1fQ2FsbG9jKCksCisgIFB5T2JqZWN0X0NhbGxvYygpLCBfUHlPYmplY3RfR0NfQ2FsbG9jKCkuIGJ5dGVzKGludCkgaXMgbm93IHVzaW5nCisgIGBgY2FsbG9jKClgYCBpbnN0ZWFkIG9mIGBgbWFsbG9jKClgYCBmb3IgbGFyZ2Ugb2JqZWN0cyB3aGljaCBpcyBmYXN0ZXIgYW5kCisgIHVzZSBsZXNzIG1lbW9yeS4KKwogLSBJc3N1ZSAjMjA5NDI6IFB5SW1wb3J0X0ltcG9ydEZyb3plbk1vZHVsZU9iamVjdCgpIG5vIGxvbmdlciBzZXRzIF9fZmlsZV9fIHRvCiAgIG1hdGNoIHdoYXQgaW1wb3J0bGliIGRvZXM7IHRoaXMgYWZmZWN0cyBfZnJvemVuX2ltcG9ydGxpYiBhcyB3ZWxsIGFzIGFueQogICBtb2R1bGUgbG9hZGVkIHVzaW5nIGltcC5pbml0X2Zyb3plbigpLgpAQCAtMTI1Nyw5ICsxNzM5LDI5IEBACiBEb2N1bWVudGF0aW9uCiAtLS0tLS0tLS0tLS0tCiAKKy0gSXNzdWUgIzE5NTQ4OiBVcGRhdGUgdGhlIGNvZGVjcyBtb2R1bGUgZG9jdW1lbnRhdGlvbiB0byBiZXR0ZXIgY292ZXIgdGhlCisgIGRpc3RpbmN0aW9uIGJldHdlZW4gdGV4dCBlbmNvZGluZ3MgYW5kIG90aGVyIGNvZGVjcywgdG9nZXRoZXIgd2l0aCBvdGhlcgorICBjbGFyaWZpY2F0aW9ucy4gUGF0Y2ggYnkgTWFydGluIFBhbnRlci4KKworLSBJc3N1ZSAjMjIzOTQ6IERvYy9NYWtlZmlsZSBub3cgc3VwcG9ydHMgYGBtYWtlIHZlbnYgUFlUSE9OPS4uL3B5dGhvbmBgIHRvCisgIGNyZWF0ZSBhIHZlbnYgZm9yIGdlbmVyYXRpbmcgdGhlIGRvY3VtZW50YXRpb24sIGUuZy4sCisgIGBgbWFrZSBodG1sIFBZVEhPTj12ZW52L2Jpbi9weXRob24zYGAuCisKKy0gSXNzdWUgIzIxNTE0OiBUaGUgZG9jdW1lbnRhdGlvbiBvZiB0aGUganNvbiBtb2R1bGUgbm93IHJlZmVycyB0byBuZXcgSlNPTiBSRkMKKyAgNzE1OSBpbnN0ZWFkIG9mIG9ic29sZXRlZCBSRkMgNDYyNy4KKworLSBJc3N1ZSAjMjE3Nzc6IFRoZSBiaW5hcnkgc2VxdWVuY2UgbWV0aG9kcyBvbiBieXRlcyBhbmQgYnl0ZWFycmF5IGFyZSBub3cKKyAgZG9jdW1lbnRlZCBleHBsaWNpdGx5LCByYXRoZXIgdGhhbiBhc3N1bWluZyB1c2VycyB3aWxsIGJlIGFibGUgdG8gZGVyaXZlCisgIHRoZSBleHBlY3RlZCBiZWhhdmlvdXIgZnJvbSB0aGUgYmVoYXZpb3VyIG9mIHRoZSBjb3JyZXNwb25kaW5nIHN0ciBtZXRob2RzLgorCistIElzc3VlICM2OTE2OiB1bmRvY3VtZW50IGRlcHJlY2F0ZWQgYXN5bmNoYXQuZmlmbyBjbGFzcy4KKwogLSBJc3N1ZSAjMTczODY6IEV4cGFuZGVkIGZ1bmN0aW9uYWxpdHkgb2YgdGhlIGBgRG9jL21ha2UuYmF0YGAgc2NyaXB0IHRvIG1ha2UKICAgaXQgbXVjaCBtb3JlIGNvbXBhcmFibGUgdG8gYGBEb2MvTWFrZWZpbGVgYC4KIAorLSBJc3N1ZSAjMjEzMTI6IFVwZGF0ZSB0aGUgdGhyZWFkX2Zvb2Jhci5oIHRlbXBsYXRlIGZpbGUgdG8gaW5jbHVkZSBuZXdlcgorICB0aHJlYWRpbmcgQVBJcy4gIFBhdGNoIGJ5IEphY2sgTWNDcmFja2VuLgorCiAtIElzc3VlICMyMTA0MzogUmVtb3ZlIHRoZSByZWNvbW1lbmRhdGlvbiBmb3Igc3BlY2lmaWMgQ0Egb3JnYW5pemF0aW9ucyBhbmQgdG8KICAgbWVudGlvbiB0aGUgYWJpbGl0eSB0byBsb2FkIHRoZSBPUyBjZXJ0aWZpY2F0ZXMuCiAKQEAgLTEyNzcsNiArMTc3OSw3MyBAQAogVGVzdHMKIC0tLS0tCiAKKy0gSXNzdWUgIzE4OTgyOiBBZGQgdGVzdHMgZm9yIENMSSBvZiB0aGUgY2FsZW5kYXIgbW9kdWxlLgorCistIElzc3VlICMxOTU0ODogQWRkZWQgc29tZSBhZGRpdGlvbmFsIGNoZWNrcyB0byB0ZXN0X2NvZGVjcyB0byBlbnN1cmUgdGhhdAorICBzdGF0ZW1lbnRzIGluIHRoZSB1cGRhdGVkIGRvY3VtZW50YXRpb24gcmVtYWluIGFjY3VyYXRlLiBQYXRjaCBieSBNYXJ0aW4KKyAgUGFudGVyLgorCistIElzc3VlICMyMjgzODogQWxsIHRlc3RfcmUgdGVzdHMgbm93IHdvcmsgd2l0aCB1bml0dGVzdCB0ZXN0IGRpc2NvdmVyeS4KKworLSBJc3N1ZSAjMjIxNzM6IFVwZGF0ZSBsaWIydG8zIHRlc3RzIHRvIHVzZSB1bml0dGVzdCB0ZXN0IGRpc2NvdmVyeS4KKworLSBJc3N1ZSAjMTYwMDA6IENvbnZlcnQgdGVzdF9jdXJzZXMgdG8gdXNlIHVuaXR0ZXN0LgorCistIElzc3VlICMyMTQ1NjogU2tpcCB0d28gdGVzdHMgaW4gdGVzdF91cmxsaWIybmV0LnB5IGlmIF9zc2wgbW9kdWxlIG5vdAorICBwcmVzZW50LiBQYXRjaCBieSBSZW1pIFBvaW50ZWwuCisKKy0gSXNzdWUgIzIwNzQ2OiBGaXggdGVzdF9wZGIgdG8gcnVuIGluIHJlZmxlYWsgbW9kZSAoLVIpLiAgUGF0Y2ggYnkgWGF2aWVyCisgIGRlIEdheWUuCisKKy0gSXNzdWUgIzIyMDYwOiB0ZXN0X2N0eXBlcyBoYXMgYmVlbiBzb21ld2hhdCBjbGVhbmVkIHVwIGFuZCBzaW1wbGlmaWVkOyBpdAorICBub3cgdXNlcyB1bml0dGVzdCB0ZXN0IGRpc2NvdmVyeSB0byBmaW5kIGl0cyB0ZXN0cy4KKworLSBJc3N1ZSAjMjIxMDQ6IHJlZ3J0ZXN0LnB5IG5vIGxvbmdlciBob2xkcyBhIHJlZmVyZW5jZSB0byB0aGUgc3VpdGUgb2YgdGVzdHMKKyAgbG9hZGVkIGZyb20gdGVzdCBtb2R1bGVzIHRoYXQgZG9uJ3QgZGVmaW5lIHRlc3RfbWFpbigpLgorCistIElzc3VlICMyMjExMTogQXNzb3J0ZWQgY2xlYW51cHMgaW4gdGVzdF9pbWFwbGliLiAgUGF0Y2ggYnkgTWlsYW4gT2JlcmtpcmNoLgorCistIElzc3VlICMyMjAwMjogQWRkZWQgYGBsb2FkX3BhY2thZ2VfdGVzdHNgYCBmdW5jdGlvbiB0byB0ZXN0LnN1cHBvcnQgYW5kIHVzZWQKKyAgaXQgdG8gaW1wbGVtZW50L2F1Z21lbnQgdGVzdCBkaXNjb3ZlcnkgaW4gdGVzdF9hc3luY2lvLCB0ZXN0X2VtYWlsLAorICB0ZXN0X2ltcG9ydGxpYiwgdGVzdF9qc29uLCBhbmQgdGVzdF90b29scy4KKworLSBJc3N1ZSAjMjE5NzY6IEZpeCB0ZXN0X3NzbCB0byBhY2NlcHQgTGlicmVTU0wgdmVyc2lvbiBzdHJpbmdzLiAgVGhhbmtzCisgIHRvIFdpbGxpYW0gT3JyLgorCistIElzc3VlICMyMTkxODogQ29udmVydGVkIHRlc3RfdG9vbHMgZnJvbSBhIG1vZHVsZSB0byBhIHBhY2thZ2UgY29udGFpbmluZworICBzZXBhcmF0ZSB0ZXN0IGZpbGVzIGZvciBlYWNoIHRlc3RlZCBzY3JpcHQuCisKKy0gSXNzdWUgIzk1NTQ6IFVzZSBtb2Rlcm4gdW5pdHRlc3QgZmVhdHVyZXMgaW4gdGVzdF9hcmdwYXJzZS4gSW5pdGlhbCBwYXRjaCBieQorICBEZW52ZXIgQ29uZXliZWFyZSBhbmQgUmFkdSBWb2ljaWxhcy4KKworLSBJc3N1ZSAjMjAxNTU6IENoYW5nZWQgSFRUUCBtZXRob2QgbmFtZXMgaW4gZmFpbGluZyB0ZXN0cyBpbiB0ZXN0X2h0dHBzZXJ2ZXJzCisgIHNvIHRoYXQgcGFja2V0IGZpbHRlcmluZyBzb2Z0d2FyZSAoc3BlY2lmaWNhbGx5IFdpbmRvd3MgQmFzZSBGaWx0ZXJpbmcgRW5naW5lKQorICBkb2VzIG5vdCBpbnRlcmZlcmUgd2l0aCB0aGUgdHJhbnNhY3Rpb24gc2VtYW50aWNzIGV4cGVjdGVkIGJ5IHRoZSB0ZXN0cy4KKworLSBJc3N1ZSAjMTk0OTM6IFJlZmFjdG9yZWQgdGhlIGN0eXBlcyB0ZXN0IHBhY2thZ2UgdG8gc2tpcCB0ZXN0cyBleHBsaWNpdGx5CisgIHJhdGhlciB0aGFuIHNpbGVudGx5LgorCistIElzc3VlICMxODQ5MjogQWxsIHJlc291cmNlcyBhcmUgbm93IGFsbG93ZWQgd2hlbiB0ZXN0cyBhcmUgbm90IHJ1biBieQorICByZWdydGVzdC5weS4KKworLSBJc3N1ZSAjMjE2MzQ6IEZpeCBweXN0b25lIG1pY3JvLWJlbmNobWFyazogdXNlIGZsb29yIGRpdmlzaW9uIGluc3RlYWQgb2YgdHJ1ZQorICBkaXZpc2lvbiB0byBiZW5jaG1hcmsgaW50ZWdlcnMgaW5zdGVhZCBvZiBmbG9hdGluZyBwb2ludCBudW1iZXJzLiBTZXQgcHlzdG9uZQorICB2ZXJzaW9uIHRvIDEuMi4gUGF0Y2ggd3JpdHRlbiBieSBMZW5uYXJ0IFJlZ2Vicm8uCisKKy0gSXNzdWUgIzIxNjA1OiBBZGRlZCB0ZXN0cyBmb3IgVGtpbnRlciBpbWFnZXMuCisKKy0gSXNzdWUgIzIxNDkzOiBBZGRlZCB0ZXN0IGZvciBudHBhdGguZXhwYW5kdXNlcigpLiAgT3JpZ2luYWwgcGF0Y2ggYnkKKyAgQ2xhdWRpdSBQb3BhLgorCistIElzc3VlICMxOTkyNTogQWRkZWQgdGVzdHMgZm9yIHRoZSBzcHdkIG1vZHVsZS4gT3JpZ2luYWwgcGF0Y2ggYnkgVmFqcmFza3kgS29rLgorCistIElzc3VlICMyMTUyMjogQWRkZWQgVGtpbnRlciB0ZXN0cyBmb3IgTGlzdGJveC5pdGVtY29uZmlndXJlKCksCisgIFBhbmVkV2luZG93LnBhbmVjb25maWd1cmUoKSwgYW5kIE1lbnUuZW50cnljb25maWd1cmUoKS4KKworLSBJc3N1ZSAjMTc3NTY6IEZpeCB0ZXN0X2NvZGUgdGVzdCB3aGVuIHJ1biBmcm9tIHRoZSBpbnN0YWxsZWQgbG9jYXRpb24uCisKKy0gSXNzdWUgIzE3NzUyOiBGaXggZGlzdHV0aWxzIHRlc3RzIHdoZW4gcnVuIGZyb20gdGhlIGluc3RhbGxlZCBsb2NhdGlvbi4KKwogLSBJc3N1ZSAjMTg2MDQ6IENvbnNvbGlkYXRlZCBjaGVja3MgZm9yIEdVSSBhdmFpbGFiaWxpdHkuICBBbGwgcGxhdGZvcm1zIG5vdwogICBhdCBsZWFzdCBjaGVjayB3aGV0aGVyIFRrIGNhbiBiZSBpbnN0YW50aWF0ZWQgd2hlbiB0aGUgR1VJIHJlc291cmNlIGlzCiAgIHJlcXVlc3RlZC4KQEAgLTEyOTQsNiArMTg2Myw4IEBACiAKIC0gSXNzdWUgIzIxMDk3OiBNb3ZlIHRlc3RfbmFtZXNwYWNlX3BrZ3MgaW50byB0ZXN0X2ltcG9ydGxpYi4KIAorLSBJc3N1ZSAjMjE1MDM6IFVzZSB0ZXN0X2JvdGgoKSBjb25zaXN0ZW50bHkgaW4gdGVzdF9pbXBvcnRsaWIuCisKIC0gSXNzdWUgIzIwOTM5OiBBdm9pZCB2YXJpb3VzIG5ldHdvcmsgdGVzdCBmYWlsdXJlcyBkdWUgdG8gbmV3CiAgIHJlZGlyZWN0IG9mIGh0dHA6Ly93d3cucHl0aG9uLm9yZy8gdG8gaHR0cHM6Ly93d3cucHl0aG9uLm9yZzoKICAgdXNlIGh0dHA6Ly93d3cuZXhhbXBsZS5jb20gaW5zdGVhZC4KQEAgLTEzMDQsOSArMTg3NSw0MSBAQAogLSBJc3N1ZSAjMjEwOTM6IFByZXZlbnQgZmFpbHVyZXMgb2YgY3R5cGVzIHRlc3RfbWFjaG9saWIgb24gT1MgWCBpZiBhCiAgIGNvcHkgb2YgbGlieiBleGlzdHMgaW4gJEhPTUUvbGliIG9yIC91c3IvbG9jYWwvbGliLgogCistIElzc3VlICMyMjc3MDogUHJldmVudCBzb21lIFRrIHNlZ2ZhdWx0cyBvbiBPUyBYIHdoZW4gcnVubmluZyBndWkgdGVzdHMuCisKKy0gSXNzdWUgIzIzMjExOiBXb3JrYXJvdW5kIHRlc3RfbG9nZ2luZyBmYWlsdXJlIG9uIHNvbWUgT1MgWCAxMC42IHN5c3RlbXMuCisKKy0gSXNzdWUgIzIzMzQ1OiBQcmV2ZW50IHRlc3Rfc3NsIGZhaWx1cmVzIHdpdGggbGFyZ2UgT3BlblNTTCBwYXRjaCBsZXZlbAorICB2YWx1ZXMgKGxpa2UgMC45Ljh6YykuCisKIFRvb2xzL0RlbW9zCiAtLS0tLS0tLS0tLQogCistIElzc3VlICMyMjMxNDogcHlkb2Mgbm93IHdvcmtzIHdoZW4gdGhlIExJTkVTIGVudmlyb25tZW50IHZhcmlhYmxlIGlzIHNldC4KKworLSBJc3N1ZSAjMjI2MTU6IEFyZ3VtZW50IENsaW5pYyBub3cgc3VwcG9ydHMgdGhlICJ0eXBlIiBhcmd1bWVudCBmb3IgdGhlCisgIGludCBjb252ZXJ0ZXIuICBUaGlzIHBlcm1pdHMgdXNpbmcgdGhlIGludCBjb252ZXJ0ZXIgd2l0aCBlbnVtcyBhbmQKKyAgdHlwZWRlZnMuCisKKy0gSXNzdWUgIzIwMDc2OiBUaGUgbWFrZWxvY2FsZWFsaWFzLnB5IHNjcmlwdCBubyBsb25nZXIgaWdub3JlcyBVVEYtOCBtYXBwaW5nLgorCistIElzc3VlICMyMDA3OTogVGhlIG1ha2Vsb2NhbGVhbGlhcy5weSBzY3JpcHQgbm93IGNhbiBwYXJzZSB0aGUgU1VQUE9SVEVEIGZpbGUKKyAgZnJvbSBnbGliYyBzb3VyY2VzIGFuZCBzdXBwb3J0cyBjb21tYW5kIGxpbmUgb3B0aW9ucyBmb3Igc291cmNlIHBhdGhzLgorCistIElzc3VlICMyMjIwMTogQ29tbWFuZC1saW5lIGludGVyZmFjZSBvZiB0aGUgemlwZmlsZSBtb2R1bGUgbm93IGNvcnJlY3RseQorICBleHRyYWN0cyBaSVAgZmlsZXMgd2l0aCBkaXJlY3RvcnkgZW50cmllcy4gIFBhdGNoIGJ5IFJ5YW4gV2lsc29uLgorCistIElzc3VlICMyMjEyMDogRm9yIGZ1bmN0aW9ucyB1c2luZyBhbiB1bnNpZ25lZCBpbnRlZ2VyIHJldHVybiBjb252ZXJ0ZXIsCisgIEFyZ3VtZW50IENsaW5pYyBub3cgZ2VuZXJhdGVzIGEgY2FzdCB0byB0aGF0IHR5cGUgZm9yIHRoZSBjb21wYXJpc29uCisgIHRvIC0xIGluIHRoZSBnZW5lcmF0ZWQgY29kZS4gIChUaGlzIHN1cHJlc3NlcyBhIGNvbXBpbGF0aW9uIHdhcm5pbmcuKQorCistIElzc3VlICMxODk3NDogVG9vbHMvc2NyaXB0cy9kaWZmLnB5IG5vdyB1c2VzIGFyZ3BhcnNlIGluc3RlYWQgb2Ygb3B0cGFyc2UuCisKKy0gSXNzdWUgIzIxOTA2OiBNYWtlIFRvb2xzL3NjcmlwdHMvbWQ1c3VtLnB5IHdvcmsgaW4gUHl0aG9uIDMuCisgIFBhdGNoIGJ5IFphY2hhcnkgV2FyZS4KKworLSBJc3N1ZSAjMjE2Mjk6IEZpeCBBcmd1bWVudCBDbGluaWMncyAiLS1jb252ZXJ0ZXJzIiBmZWF0dXJlLgorCiAtIEFkZCBzdXBwb3J0IGZvciBgYHlpZWxkIGZyb21gYCB0byAydG8zLgogCiAtIEFkZCBzdXBwb3J0IGZvciB0aGUgUEVQIDQ2NSBtYXRyaXggbXVsdGlwbGljYXRpb24gb3BlcmF0b3IgdG8gMnRvMy4KQEAgLTEzMTksNiArMTkyMiwzMSBAQAogLSBJc3N1ZSAjMjA1MzU6IFBZVEhPTldBUk5JTkcgbm8gbG9uZ2VyIGFmZmVjdHMgdGhlIHJ1bl90ZXN0cy5weSBzY3JpcHQuCiAgIFBhdGNoIGJ5IEFyZnJldmVyIEZyZWh0ZXMgVGFpZmVyc2FyIEFyYWhlc2lzLgogCitXaW5kb3dzCistLS0tLS0tCisKKy0gSXNzdWUgIzIzMjYwOiBVcGRhdGUgV2luZG93cyBpbnN0YWxsZXIKKworLSBUaGUgYnVuZGxlZCB2ZXJzaW9uIG9mIFRjbC9UayBoYXMgYmVlbiB1cGRhdGVkIHRvIDguNi4zLiAgVGhlIG1vc3QgdmlzaWJsZQorICByZXN1bHQgb2YgdGhpcyBjaGFuZ2UgaXMgdGhlIGFkZGl0aW9uIG9mIG5ldyBuYXRpdmUgZmlsZSBkaWFsb2dzIHdoZW4KKyAgcnVubmluZyBvbiBXaW5kb3dzIFZpc3RhIG9yIG5ld2VyLiAgU2VlIFRjbC9UaydzIFRJUCA0MzIgZm9yIG1vcmUKKyAgaW5mb3JtYXRpb24uICBBbHNvLCB0aGlzIHZlcnNpb24gb2YgVGNsL1RrIGluY2x1ZGVzIHN1cHBvcnQgZm9yIFdpbmRvd3MgMTAuCisKKy0gSXNzdWUgIzE3ODk2OiBUaGUgV2luZG93cyBidWlsZCBzY3JpcHRzIG5vdyBleHBlY3QgZXh0ZXJuYWwgbGlicmFyeSBzb3VyY2VzCisgIHRvIGJlIGluIGBgUENidWlsZFwuLlxleHRlcm5hbHNgYCByYXRoZXIgdGhhbiBgYFBDYnVpbGRcLi5cLi5gYC4KKworLSBJc3N1ZSAjMTc3MTc6IFRoZSBXaW5kb3dzIGJ1aWxkIHNjcmlwdHMgbm93IHVzZSBhIGNvcHkgb2YgTkFTTSBwdWxsZWQgZnJvbQorICBzdm4ucHl0aG9uLm9yZyB0byBidWlsZCBPcGVuU1NMLgorCistIElzc3VlICMyMTkwNzogSW1wcm92ZWQgdGhlIGJhdGNoIHNjcmlwdHMgcHJvdmlkZWQgZm9yIGJ1aWxkaW5nIFB5dGhvbi4KKworLSBJc3N1ZSAjMjI2NDQ6IFRoZSBidW5kbGVkIHZlcnNpb24gb2YgT3BlblNTTCBoYXMgYmVlbiB1cGRhdGVkIHRvIDEuMC4xai4KKworLSBJc3N1ZSAjMTA3NDc6IFVzZSB2ZXJzaW9uZWQgbGFiZWxzIGluIHRoZSBXaW5kb3dzIHN0YXJ0IG1lbnUuCisgIFBhdGNoIGJ5IE9saXZlIEtpbGJ1cm4uCisKKy0gSXNzdWUgIzIyOTgwOiAucHlkIGZpbGVzIHdpdGggYSB2ZXJzaW9uIGFuZCBwbGF0Zm9ybSB0YWcgKGZvciBleGFtcGxlLAorICAiLmNwMzUtd2luMzIucHlkIikgd2lsbCBub3cgYmUgbG9hZGVkIGluIHByZWZlcmVuY2UgdG8gdGhvc2Ugd2l0aG91dCB0YWdzLgogCiBXaGF0J3MgTmV3IGluIFB5dGhvbiAzLjQuMD8KID09PT09PT09PT09PT09PT09PT09PT09PT09PQpAQCAtNTQzMiw2ICs2MDYwLDEwIEBACiBEb2N1bWVudGF0aW9uCiAtLS0tLS0tLS0tLS0tCiAKKy0gSXNzdWUgIzIzMDA2OiBJbXByb3ZlIHRoZSBkb2N1bWVudGF0aW9uIGFuZCBpbmRleGluZyBvZiBkaWN0Ll9fbWlzc2luZ19fLgorICBBZGQgYW4gZW50cnkgaW4gdGhlIGxhbmd1YWdlIGRhdGFtb2RlbCBzcGVjaWFsIG1ldGhvZHMgc2VjdGlvbi4KKyAgUmV2aXNlIGFuZCBpbmRleCBpdHMgZGlzY3Vzc2lvbiBpbiB0aGUgc3RkdHlwZXMgbWFwcGluZy9kaWN0IHNlY3Rpb24uCisKIC0gSXNzdWUgIzE3NzAxOiBJbXByb3Zpbmcgc3RyZnRpbWUgZG9jdW1lbnRhdGlvbi4KIAogLSBJc3N1ZSAjMTg0NDA6IENsYXJpZnkgdGhhdCBgaGFzaCgpYCBjYW4gdHJ1bmNhdGUgdGhlIHZhbHVlIHJldHVybmVkIGZyb20gYW4KQEAgLTU1OTQsNDE0MSArNjIyNiw0IEBACiAtIElzc3VlICMxODU2OTogVGhlIGluc3RhbGxlciBub3cgYWRkcyAucHkgdG8gdGhlIFBBVEhFWFQgdmFyaWFibGUgd2hlbiBleHRlbnNpb25zCiAgIGFyZSByZWdpc3RlcmVkLiBQYXRjaCBieSBQYXVsIE1vb3JlLgogCi0KLVdoYXQncyBOZXcgaW4gUHl0aG9uIDMuMy4wPwotPT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0KLSpSZWxlYXNlIGRhdGU6IDI5LVNlcC0yMDEyKgotCi1Db3JlIGFuZCBCdWlsdGlucwotLS0tLS0tLS0tLS0tLS0tLS0KLQotLSBJc3N1ZSAjMTYwNDY6IEZpeCBsb2FkaW5nIHNvdXJjZWxlc3MgbGVnYWN5IC5weW8gZmlsZXMuCi0KLS0gSXNzdWUgIzE2MDYwOiBGaXggcmVmY291bnRpbmcgYnVnIHdoZW4gYF9fdHJ1bmNfXygpYCByZXR1cm5zIGFuIG9iamVjdCB3aG9zZQotICBgX19pbnRfXygpYCBnaXZlcyBhIG5vbi1pbnRlZ2VyLiAgUGF0Y2ggYnkgU2VyaGl5IFN0b3JjaGFrYS4KLQotRXh0ZW5zaW9uIE1vZHVsZXMKLS0tLS0tLS0tLS0tLS0tLS0tCi0KLS0gSXNzdWUgIzE2MDEyOiBGaXggYSByZWdyZXNzaW9uIGluIHB5ZXhwYXQuIFRoZSBwYXJzZXIncyBgVXNlRm9yZWlnbkRURCgpYAotICBtZXRob2QgZG9lc24ndCByZXF1aXJlIGFuIGFyZ3VtZW50IGFnYWluLgotCi0KLVdoYXQncyBOZXcgaW4gUHl0aG9uIDMuMy4wIFJlbGVhc2UgQ2FuZGlkYXRlIDM/Ci09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotCi0qUmVsZWFzZSBkYXRlOiAyMy1TZXAtMjAxMioKLQotQ29yZSBhbmQgQnVpbHRpbnMKLS0tLS0tLS0tLS0tLS0tLS0tCi0KLS0gSXNzdWUgIzE1OTAwOiBGaXggcmVmZXJlbmNlIGxlYWsgaW4gYFB5VW5pY29kZV9UcmFuc2xhdGVDaGFybWFwKClgLgotCi0tIElzc3VlICMxNTkyNjogRml4IGNyYXNoIGFmdGVyIG11bHRpcGxlIHJlaW5pdGlhbGl6YXRpb25zIG9mIHRoZSBpbnRlcnByZXRlci4KLQotLSBJc3N1ZSAjMTU4OTU6IEZpeCBGSUxFIHBvaW50ZXIgbGVhayBpbiBvbmUgZXJyb3IgYnJhbmNoIG9mCi0gIGBQeVJ1bl9TaW1wbGVGaWxlRXhGbGFncygpYCB3aGVuIGZpbGVuYW1lIHBvaW50cyB0byBhIHB5Yy9weW8gZmlsZSwgY2xvc2VpdCBpcwotICBmYWxzZSBhbiBhbmQgc2V0X21haW5fbG9hZGVyKCkgZmFpbHMuCi0KLS0gRml4ZXMgZm9yIGEgZmV3IGNyYXNoIGFuZCBtZW1vcnkgbGVhayByZWdyZXNzaW9ucyBmb3VuZCBieSBDb3Zlcml0eS4KLQotTGlicmFyeQotLS0tLS0tLQotCi0tIElzc3VlICMxNTg4MjogQ2hhbmdlIGBfZGVjaW1hbGAgdG8gYWNjZXB0IGFueSBjb2VmZmljaWVudCB0dXBsZSB3aGVuCi0gIGNvbnN0cnVjdGluZyBpbmZpbml0aWVzLiBUaGlzIGlzIGRvbmUgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IHdpdGgKLSAgZGVjaW1hbC5weTogSW5maW5pdHkgY29lZmZpY2llbnRzIGFyZSB1bmRlZmluZWQgaW4gX2RlY2ltYWwgKGluIGFjY29yZGFuY2UKLSAgd2l0aCB0aGUgc3BlY2lmaWNhdGlvbikuCi0KLS0gSXNzdWUgIzE1OTI1OiBGaXggYSByZWdyZXNzaW9uIGluIGBlbWFpbC51dGlsYCB3aGVyZSB0aGUgYHBhcnNlZGF0ZSgpYCBhbmQKLSAgYHBhcnNlZGF0ZV90eigpYCBmdW5jdGlvbnMgZGlkIG5vdCByZXR1cm4gTm9uZSBhbnltb3JlIHdoZW4gdGhlIGFyZ3VtZW50IGNvdWxkCi0gIG5vdCBiZSBwYXJzZWQuCi0KLUV4dGVuc2lvbiBNb2R1bGVzCi0tLS0tLS0tLS0tLS0tLS0tLQotCi0tIElzc3VlICMxNTk3MzogRml4IGEgc2VnbWVudGF0aW9uIGZhdWx0IHdoZW4gY29tcGFyaW5nIGRhdGV0aW1lIHRpbWV6b25lCi0gIG9iamVjdHMuCi0KLS0gSXNzdWUgIzE1OTc3OiBGaXggbWVtb3J5IGxlYWsgaW4gTW9kdWxlcy9fc3NsLmMgd2hlbiB0aGUgZnVuY3Rpb24KLSAgX3NldF9ucG5fcHJvdG9jb2xzKCkgaXMgY2FsbGVkIG11bHRpcGxlIHRpbWVzLCB0aGFua3MgdG8gRGFuaWVsIFNvbW1lcm1hbm4uCi0KLS0gSXNzdWUgIzE1OTY5OiBgZmF1bHRoYW5kbGVyYCBtb2R1bGU6IHJlbmFtZSBkdW1wX3RyYWNlYmFja3NfbGF0ZXIoKSB0bwotICBkdW1wX3RyYWNlYmFja19sYXRlcigpIGFuZCBjYW5jZWxfZHVtcF90cmFjZWJhY2tzX2xhdGVyKCkgdG8KLSAgY2FuY2VsX2R1bXBfdHJhY2ViYWNrX2xhdGVyKCkuCi0KLS0gX2RlY2ltYWwgbW9kdWxlOiB1c2Ugb25seSBDIDg5IHN0eWxlIGNvbW1lbnRzLgotCi0KLVdoYXQncyBOZXcgaW4gUHl0aG9uIDMuMy4wIFJlbGVhc2UgQ2FuZGlkYXRlIDI/Ci09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotCi0qUmVsZWFzZSBkYXRlOiAwOS1TZXAtMjAxMioKLQotQ29yZSBhbmQgQnVpbHRpbnMKLS0tLS0tLS0tLS0tLS0tLS0tCi0KLS0gSXNzdWUgIzEzOTkyOiBUaGUgdHJhc2hjYW4gbWVjaGFuaXNtIGlzIG5vdyB0aHJlYWQtc2FmZS4gIFRoaXMgZWxpbWluYXRlcwotICBzcG9yYWRpYyBjcmFzaGVzIGluIG11bHRpLXRocmVhZCBwcm9ncmFtcyB3aGVuIHNldmVyYWwgbG9uZyBkZWFsbG9jYXRvciBjaGFpbnMKLSAgcmFuIGNvbmN1cnJlbnRseSBhbmQgaW52b2x2ZWQgc3ViY2xhc3NlcyBvZiBidWlsdC1pbiBjb250YWluZXIgdHlwZXMuCi0KLS0gSXNzdWUgIzE1Nzg0OiBNb2RpZnkgYE9TRXJyb3JgLl9fc3RyX18oKSB0byBiZXR0ZXIgZGlzdGluZ3Vpc2ggYmV0d2VlbiBlcnJubwotICBlcnJvciBudW1iZXJzIGFuZCBXaW5kb3dzIGVycm9yIG51bWJlcnMuCi0KLS0gSXNzdWUgIzE1NzgxOiBGaXggdHdvIHNtYWxsIHJhY2UgY29uZGl0aW9ucyBpbiBpbXBvcnQncyBtb2R1bGUgbG9ja2luZy4KLQotTGlicmFyeQotLS0tLS0tLQotCi0tIElzc3VlICMxNzE1ODogQWRkICdzeW1ib2xzJyB0byBoZWxwKCkgd2VsY29tZSBtZXNzYWdlOyBjbGFyaWZ5Ci0gICdtb2R1bGVzIHNwYW0nIG1lc3NhZ2VzLgotCi0tIElzc3VlICMxNTg0NzogRml4IGEgcmVncmVzc2lvbiBpbiBhcmdwYXJzZSwgd2hpY2ggZGlkIG5vdCBhY2NlcHQgdHVwbGVzIGFzCi0gIGFyZ3VtZW50IGxpc3RzIGFueW1vcmUuCi0KLS0gSXNzdWUgIzE1ODI4OiBSZXN0b3JlIHN1cHBvcnQgZm9yIEMgZXh0ZW5zaW9ucyBpbiBgaW1wLmxvYWRfbW9kdWxlKClgLgotCi0tIElzc3VlICMxNTM0MDogRml4IGltcG9ydGluZyB0aGUgcmFuZG9tIG1vZHVsZSB3aGVuIGBgL2Rldi91cmFuZG9tYGAgY2Fubm90IGJlCi0gIG9wZW5lZC4gIFRoaXMgd2FzIGEgcmVncmVzc2lvbiBjYXVzZWQgYnkgdGhlIGhhc2ggcmFuZG9taXphdGlvbiBwYXRjaC4KLQotLSBJc3N1ZSAjMTA2NTA6IERlcHJlY2F0ZSB0aGUgd2F0Y2hleHAgcGFyYW1ldGVyIG9mIHRoZSBgRGVjaW1hbC5xdWFudGl6ZSgpYAotICBtZXRob2QuCi0KLS0gSXNzdWUgIzE1Nzg1OiBNb2RpZnkgYHdpbmRvdy5nZXRfd2NoKClgIEFQSSBvZiB0aGUgY3Vyc2VzIG1vZHVsZTogcmV0dXJuIGEKLSAgY2hhcmFjdGVyIGZvciBtb3N0IGtleXMsIGFuZCBhbiBpbnRlZ2VyIGZvciBzcGVjaWFsIGtleXMsIGluc3RlYWQgb2YgYWx3YXlzCi0gIHJldHVybmluZyBhbiBpbnRlZ2VyLiBTbyBpdCBpcyBub3cgcG9zc2libGUgdG8gZGlzdGluZ3Vpc2ggc3BlY2lhbCBrZXlzIGxpa2UKLSAga2V5cGFkIGtleXMuCi0KLS0gSXNzdWUgIzE0MjIzOiBGaXggYHdpbmRvdy5hZGRjaCgpYCBvZiB0aGUgY3Vyc2VzIG1vZHVsZSBmb3Igc3BlY2lhbCBjaGFyYWN0ZXJzCi0gIGxpa2UgY3Vyc2VzLkFDU19ITElORTogdGhlIFB5dGhvbiBmdW5jdGlvbiBhZGRjaChpbnQpIGFuZCBhZGRjaChieXRlcykgaXMgbm93Ci0gIGNhbGxpbmcgdGhlIEMgZnVuY3Rpb24gd2FkZGNoKCkvbXZ3YWRkY2goKSAoYXMgaXQgd2FzIGRvbmUgaW4gUHl0aG9uIDMuMiksCi0gIGluc3RlYWQgb2Ygd2FkZF93Y2goKS9tdndhZGRfd2NoKCkuIFRoZSBQeXRob24gZnVuY3Rpb24gYWRkY2goc3RyKSBpcyBzdGlsbAotICBjYWxsaW5nIHRoZSBDIGZ1bmN0aW9uIHdhZGRfd2NoKCkvbXZ3YWRkX3djaCgpIGlmIHRoZSBQeXRob24gY3Vyc2VzIGlzIGxpbmtlZAotICB0byBsaWJuY3Vyc2Vzdy4KLQotQnVpbGQKLS0tLS0tCi0KLS0gSXNzdWUgIzE1ODIyOiBSZWFsbHkgZW5zdXJlIDJ0bzMgZ3JhbW1hciBwaWNrbGVzIGFyZSBwcm9wZXJseSBpbnN0YWxsZWQKLSAgKHJlcGxhY2VzIGZpeGVzIGZvciBJc3N1ZSAjMTU2NDUpLgotCi1Eb2N1bWVudGF0aW9uCi0tLS0tLS0tLS0tLS0tCi0KLS0gSXNzdWUgIzE1ODE0OiBUaGUgbWVtb3J5dmlldyBlbmhhbmNlbWVudHMgaW4gMy4zLjAgYWNjaWRlbnRhbGx5IHBlcm1pdHRlZCB0aGUKLSAgaGFzaGluZyBvZiBtdWx0aS1kaW1lbnNpb25hbCBtZW1vcnZpZXdzIGFuZCBtZW1vcnl2aWV3cyB3aXRoIG11bHRpLWJ5dGUgaXRlbQotICBmb3JtYXRzLiBUaGUgaW50ZW5kZWQgcmVzdHJpY3Rpb25zIGhhdmUgbm93IGJlZW4gZG9jdW1lbnRlZCAtIHRoZXkgd2lsbCBiZQotICBjb3JyZWN0bHkgZW5mb3JjZWQgaW4gMy4zLjEuCi0KLQotV2hhdCdzIE5ldyBpbiBQeXRob24gMy4zLjAgUmVsZWFzZSBDYW5kaWRhdGUgMT8KLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0KLSpSZWxlYXNlIGRhdGU6IDI1LUF1Zy0yMDEyKgotCi1Db3JlIGFuZCBCdWlsdGlucwotLS0tLS0tLS0tLS0tLS0tLS0KLQotLSBJc3N1ZSAjMTU1NzM6IG1lbW9yeXZpZXcgY29tcGFyaXNvbnMgYXJlIG5vdyBwZXJmb3JtZWQgYnkgdmFsdWUgd2l0aCBmdWxsCi0gIHN1cHBvcnQgZm9yIGFueSB2YWxpZCBzdHJ1Y3QgbW9kdWxlIGZvcm1hdCBkZWZpbml0aW9uLgotCi0tIElzc3VlICMxNTMxNjogV2hlbiBhbiBpdGVtIGluIHRoZSBmcm9tbGlzdCBmb3IgYF9faW1wb3J0X18oKWAgZG9lc24ndCBleGlzdCwKLSAgZG9uJ3QgcmFpc2UgYW4gZXJyb3IsIGJ1dCBpZiBhbiBleGNlcHRpb24gaXMgcmFpc2VkIGFzIHBhcnQgb2YgYW4gaW1wb3J0IGRvCi0gIGxldCB0aGF0IHByb3BhZ2F0ZS4KLQotLSBJc3N1ZSAjMTU3Nzg6IEVuc3VyZSB0aGF0IGBgc3RyKEltcG9ydEVycm9yKG1zZykpYGAgcmV0dXJucyBhIHN0ciBldmVuIHdoZW4KLSAgbXNnIGlzbid0IGEgc3RyLgotCi0tIElzc3VlICMyMDUxOiBTb3VyY2UgZmlsZSBwZXJtaXNzaW9uIGJpdHMgYXJlIG9uY2UgYWdhaW4gY29ycmVjdGx5IGNvcGllZCB0bwotICB0aGUgY2FjaGVkIGJ5dGVjb2RlIGZpbGUuIChUaGUgbWlncmF0aW9uIHRvIGltcG9ydGxpYiByZWludHJvZHVjZWQgdGhpcwotICBwcm9ibGVtIGJlY2F1c2UgdGhlc2Ugd2FzIG5vIHJlZ3Jlc3Npb24gdGVzdC4gQSB0ZXN0IGhhcyBiZWVuIGFkZGVkIGFzIHBhcnQgb2YKLSAgdGhpcyBwYXRjaCkKLQotLSBJc3N1ZSAjMTU3NjE6IEZpeCBjcmFzaCB3aGVuIGBgUFlUSE9ORVhFQ1VUQUJMRWBgIGlzIHNldCBvbiBNYWMgT1MgWC4KLQotLSBJc3N1ZSAjMTU3MjY6IEZpeCBpbmNvcnJlY3QgYm91bmRzIGNoZWNraW5nIGluIFB5U3RhdGVfRmluZE1vZHVsZS4gIFBhdGNoIGJ5Ci0gIFJvYmluIFNjaHJlaWJlci4KLQotLSBJc3N1ZSAjMTU2MDQ6IFVwZGF0ZSB1c2VzIG9mIGBQeU9iamVjdF9Jc1RydWUoKWAgdG8gY2hlY2sgZm9yIGFuZCBoYW5kbGUKLSAgZXJyb3JzIGNvcnJlY3RseS4gIFBhdGNoIGJ5IFNlcmhpeSBTdG9yY2hha2EuCi0KLS0gSXNzdWUgIzE0ODQ2OiBgaW1wb3J0bGliLkZpbGVGaW5kZXJgIG5vdyBoYW5kbGVzIHRoZSBjYXNlIHdoZXJlIHRoZSBkaXJlY3RvcnkKLSAgYmVpbmcgc2VhcmNoZWQgaXMgcmVtb3ZlZCBhZnRlciBhIHByZXZpb3VzIGltcG9ydCBhdHRlbXB0LgotCi1MaWJyYXJ5Ci0tLS0tLS0tCi0KLS0gSXNzdWUgIzEzMzcwOiBFbnN1cmUgdGhhdCBjdHlwZXMgd29ya3Mgb24gTWFjIE9TIFggd2hlbiBQeXRob24gaXMgY29tcGlsZWQKLSAgdXNpbmcgdGhlIGNsYW5nIGNvbXBpbGVyLgotCi0tIElzc3VlICMxMzA3MjogVGhlIGFycmF5IG1vZHVsZSdzICd1JyBmb3JtYXQgY29kZSBpcyBub3cgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZQotICByZW1vdmVkIGluIFB5dGhvbiA0LjAuCi0KLS0gSXNzdWUgIzE1NTQ0OiBGaXggRGVjaW1hbC5fX2Zsb2F0X18gdG8gd29yayB3aXRoIHBheWxvYWQtY2FycnlpbmcgTmFOcy4KLQotLSBJc3N1ZSAjMTU3NzY6IEFsbG93IHB5dmVudiB0byB3b3JrIGluIGV4aXN0aW5nIGRpcmVjdG9yeSB3aXRoIC0tY2xlYW4uCi0KLS0gSXNzdWUgIzE1MjQ5OiBlbWFpbCdzIEJ5dGVzR2VuZXJhdG9yIG5vdyBjb3JyZWN0bHkgbWFuZ2xlcyBGcm9tIGxpbmVzICh3aGVuCi0gIHJlcXVlc3RlZCkgZXZlbiBpZiB0aGUgYm9keSBjb250YWlucyB1bmRlY29kYWJsZSBieXRlcy4KLQotLSBJc3N1ZSAjMTU3Nzc6IEZpeCBhIHJlZmxlYWsgaW4gX3Bvc2l4c3VicHJvY2Vzcy4KLQotLSBJc3N1ZSAjIzY2NTE5NDogVXBkYXRlIGBlbWFpbC51dGlscy5sb2NhbHRpbWVgIHRvIHVzZSBkYXRldGltZS5hc3RpbWV6b25lIGFuZAotICBjb3JyZWN0bHkgaGFuZGxlIGhpc3RvcmljIGNoYW5nZXMgaW4gVVRDIG9mZnNldHMuCi0KLS0gSXNzdWUgIzE1MTk5OiBGaXggSmF2YVNjcmlwdCdzIGRlZmF1bHQgTUlNRSB0eXBlIHRvIGFwcGxpY2F0aW9uL2phdmFzY3JpcHQuCi0gIFBhdGNoIGJ5IEJvaHVzbGF2IEthYnJkYS4KLQotLSBJc3N1ZSAjMTI2NDM6IGBjb2RlLkludGVyYWN0aXZlQ29uc29sZWAgbm93IHJlc3BlY3RzIGBzeXMuZXhjZXB0aG9va2Agd2hlbgotICBkaXNwbGF5aW5nIGV4Y2VwdGlvbnMuICBQYXRjaCBieSBBYXJvbiBJbGVzLgotCi0tIElzc3VlICMxMzU3OTogYHN0cmluZy5Gb3JtYXR0ZXJgIG5vdyB1bmRlcnN0YW5kcyB0aGUgJ2EnIGNvbnZlcnNpb24gc3BlY2lmaWVyLgotCi0tIElzc3VlICMxNTU5NTogRml4IGBgc3VicHJvY2Vzcy5Qb3Blbih1bml2ZXJzYWxfbmV3bGluZXM9VHJ1ZSlgYCBmb3IgY2VydGFpbgotICBsb2NhbGVzICh1dGYtMTYgYW5kIHV0Zi0zMiBmYW1pbHkpLiBQYXRjaCBieSBDaHJpcyBKZXJkb25lay4KLQotLSBJc3N1ZSAjMTU0Nzc6IEluIGNtYXRoIGFuZCBtYXRoIG1vZHVsZXMsIGFkZCB3b3JrYXJvdW5kIGZvciBwbGF0Zm9ybXMgd2hvc2UKLSAgc3lzdGVtLXN1cHBsaWVkIGxvZzFwIGZ1bmN0aW9uIGRvZXNuJ3QgcmVzcGVjdCBzaWducyBvZiB6ZXJvcy4KLQotLSBJc3N1ZSAjMTU3MTU6IGBpbXBvcnRsaWIuX19pbXBvcnRfXygpYCB3aWxsIHNpbGVuY2UgYW4gSW1wb3J0RXJyb3Igd2hlbiB0aGUKLSAgdXNlIG9mIGZyb21saXN0IGxlYWRzIHRvIGEgZmFpbGVkIGltcG9ydC4KLQotLSBJc3N1ZSAjMTQ2Njk6IEZpeCBwaWNrbGluZyBvZiBjb25uZWN0aW9ucyBhbmQgc29ja2V0cyBvbiBNYWMgT1MgWCBieQotICBzZW5kaW5nL3JlY2VpdmluZyBhbiBhY2tub3dsZWRnbWVudCBhZnRlciBmaWxlIGRlc2NyaXB0b3IgdHJhbnNmZXIuCi0gIFRlc3RQaWNrbGluZ0Nvbm5lY3Rpb24gaGFzIGJlZW4gcmVlbmFibGVkIGZvciBNYWMgT1MgWC4KLQotLSBJc3N1ZSAjMTEwNjI6IEZpeCBhZGRpbmcgYSBtZXNzYWdlIGZyb20gZmlsZSB0byBCYWJ5bCBtYWlsYm94LgotCi0tIElzc3VlICMxNTY0NjogUHJldmVudCBlcXVpdmFsZW50IG9mIGEgZm9yayBib21iIHdoZW4gdXNpbmcgYG11bHRpcHJvY2Vzc2luZ2AKLSAgb24gV2luZG93cyB3aXRob3V0IHRoZSBgYGlmIF9fbmFtZV9fID09ICdfX21haW5fXydgYCBpZGlvbS4KLQotSURMRQotLS0tLQotCi0tIElzc3VlICMxNTY3ODogRml4IElETEUgbWVudXMgd2hlbiBzdGFydGVkIGZyb20gT1MgWCBjb21tYW5kIGxpbmUgKDMuMy4wYjIKLSAgcmVncmVzc2lvbikuCi0KLURvY3VtZW50YXRpb24KLS0tLS0tLS0tLS0tLS0KLQotLSBUb3VjaGVkIHVwIHRoZSBQeXRob24gMiB0byAzIHBvcnRpbmcgZ3VpZGUuCi0KLS0gSXNzdWUgIzE0Njc0OiBBZGQgYSBkaXNjdXNzaW9uIG9mIHRoZSBganNvbmAgbW9kdWxlJ3Mgc3RhbmRhcmQgY29tcGxpYW5jZS4KLSAgUGF0Y2ggYnkgQ2hyaXMgUmViZXJ0LgotCi0tIENyZWF0ZSBhICdDb25jdXJyZW50IEV4ZWN1dGlvbicgc2VjdGlvbiBpbiB0aGUgZG9jcywgYW5kIHNwbGl0IHVwIHRoZQotICAnT3B0aW9uYWwgT3BlcmF0aW5nIFN5c3RlbSBTZXJ2aWNlcycgc2VjdGlvbiB0byB1c2UgYSBtb3JlIHVzZXItY2VudHJpYwotICBjbGFzc2lmaWNhdGlvbiBzY2hlbWUgKHNwbGl0dGluZyB0aGVtIGFjcm9zcyB0aGUgbmV3IENFIHNlY3Rpb24sIElQQyBhbmQgdGV4dAotICBwcm9jZXNzaW5nKS4gT3BlcmF0aW5nIHN5c3RlbSBsaW1pdGF0aW9ucyBjYW4gYmUgcmVmbGVjdGVkIHdpdGggdGhlIFNwaGlueAotICBgYDpwbGF0Zm9ybTpgYCB0YWcsIGl0IGRvZXNuJ3QgbWFrZSBzZW5zZSBhcyBwYXJ0IG9mIHRoZSBUYWJsZSBvZiBDb250ZW50cy4KLQotLSBJc3N1ZSAjNDk2NjogQnJpbmcgdGhlIHNlcXVlbmNlIGRvY3MgdXAgdG8gZGF0ZSBmb3IgdGhlIFB5M2sgdHJhbnNpdGlvbiBhbmQKLSAgdGhlIG1hbnkgbGFuZ3VhZ2UgZW5oYW5jZW1lbnRzIHNpbmNlIHRoZXkgd2VyZSBvcmlnaW5hbCB3cml0dGVuLgotCi0tIFRoZSAicGF0aCBpbXBvcnRlciIgbWlzbm9tZXIgaGFzIGJlZW4gcmVwbGFjZWQgd2l0aCBFcmljIFNub3cncwotICBtb3JlLWF3a3dhcmQtYnV0LWF0LWxlYXN0LW5vdC13cm9uZyBzdWdnZXN0aW9uIG9mICJwYXRoIGJhc2VkIGZpbmRlciIgaW4gdGhlCi0gIGltcG9ydCBzeXN0ZW0gcmVmZXJlbmNlIGRvY3MuCi0KLS0gSXNzdWUgIzE1NjQwOiBEb2N1bWVudCBgaW1wb3J0bGliLmFiYy5GaW5kZXJgIGFzIGRlcHJlY2F0ZWQuCi0KLS0gSXNzdWUgIzE1NjMwOiBBZGQgYW4gZXhhbXBsZSBmb3IgImNvbnRpbnVlIiBzdG10IGluIHRoZSB0dXRvcmlhbC4gIFBhdGNoIGJ5Ci0gIERhbmllbCBFbGxpcy4KLQotVGVzdHMKLS0tLS0tCi0KLS0gSXNzdWUgIzE1NzQ3OiBaRlMgYWx3YXlzIHJldHVybnMgRU9QTk9UU1VQUCB3aGVuIGF0dGVtcHRpbmcgdG8gc2V0IHRoZQotICBVRl9JTU1VVEFCTEUgZmxhZyAodmlhIGVpdGhlciBjaGZsYWdzIG9yIGxjaGZsYWdzKTsgcmVmYWN0b3IgYWZmZWN0ZWQgdGVzdHMgaW4KLSAgdGVzdF9wb3NpeC5weSB0byBhY2NvdW50IGZvciB0aGlzLgotCi0tIElzc3VlICMxNTI4NTogUmVmYWN0b3IgdGhlIGFwcHJvYWNoIGZvciB0ZXN0aW5nIGNvbm5lY3QgdGltZW91dHMgdXNpbmcgdHdvCi0gIGV4dGVybmFsIGhvc3RzIHRoYXQgaGF2ZSBiZWVuIGNvbmZpZ3VyZWQgc3BlY2lmaWNhbGx5IGZvciB0aGlzIHR5cGUgb2YgdGVzdC4KLQotLSBJc3N1ZSAjMTU3NDM6IFJlbW92ZSB0aGUgZGVwcmVjYXRlZCBtZXRob2QgdXNhZ2UgaW4gYHVybGxpYmAgdGVzdHMuIFBhdGNoIGJ5Ci0gIEplZmYgS251cHAuCi0KLS0gSXNzdWUgIzE1NjE1OiBBZGQgc29tZSB0ZXN0cyBmb3IgdGhlIGBqc29uYCBtb2R1bGUncyBoYW5kbGluZyBvZiBpbnZhbGlkIGlucHV0Ci0gIGRhdGEuICBQYXRjaCBieSBLdXNoYWwgRGFzLgotCi1CdWlsZAotLS0tLS0KLQotLSBPdXRwdXQgbGliIGZpbGVzIGZvciBQR08gYnVpbGQgaW50byBQR08gZGlyZWN0b3J5LgotCi0tIFBpY2sgdXAgMzItYml0IGxhdW5jaGVyIGZyb20gUEdPIGRpcmVjdG9yeSBvbiA2NC1iaXQgUEdPIGJ1aWxkLgotCi0tIERyb3AgYGBQQ1xweXRob25fbnQuaGBgIGFzIGl0J3Mgbm90IHVzZWQuICBBZGQgaW5wdXQgZGVwZW5kZW5jeSBvbiBjdXN0b20KLSAgYnVpbGQgc3RlcC4KLQotLSBJc3N1ZSAjMTU1MTE6IERyb3AgZXhwbGljaXQgZGVwZW5kZW5jeSBvbiBweXRob254eS5saWIgZnJvbSBfZGVjaW1hbCBhbWQ2NAotICBjb25maWd1cmF0aW9uLgotCi0tIEFkZCBtaXNzaW5nIFBHSS9QR08gY29uZmlndXJhdGlvbnMgZm9yIHB5d2xhdW5jaGVyLgotCi0tIElzc3VlICMxNTY0NTogRW5zdXJlIDJ0bzMgZ3JhbW1hciBwaWNrbGVzIGFyZSBwcm9wZXJseSBpbnN0YWxsZWQuCi0KLQotV2hhdCdzIE5ldyBpbiBQeXRob24gMy4zLjAgQmV0YSAyPwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotCi0qUmVsZWFzZSBkYXRlOiAxMi1BdWctMjAxMioKLQotQ29yZSBhbmQgQnVpbHRpbnMKLS0tLS0tLS0tLS0tLS0tLS0tCi0KLS0gSXNzdWUgIzE1NTY4OiBGaXggdGhlIHJldHVybiB2YWx1ZSBvZiBgYHlpZWxkIGZyb21gYCB3aGVuIFN0b3BJdGVyYXRpb24gaXMKLSAgcmFpc2VkIGJ5IGEgY3VzdG9tIGl0ZXJhdG9yLgotCi0tIElzc3VlICMxMzExOTogYHN5cy5zdGRvdXRgIGFuZCBgc3lzLnN0ZGVycmAgYXJlIG5vdyB1c2luZyAiXHJcbiIgbmV3bGluZSBvbgotICBXaW5kb3dzLCBhcyBQeXRob24gMi4KLQotLSBJc3N1ZSAjMTU1MzQ6IEZpeCB0aGUgZmFzdC1zZWFyY2ggZnVuY3Rpb24gZm9yIG5vbi1BU0NJSSBVbmljb2RlIHN0cmluZ3MuCi0KLS0gSXNzdWUgIzE1NTA4OiBGaXggdGhlIGRvY3N0cmluZyBmb3IgYF9faW1wb3J0X18oKWAgdG8gaGF2ZSB0aGUgcHJvcGVyIGRlZmF1bHQKLSAgdmFsdWUgb2YgMCBmb3IgJ2xldmVsJyBhbmQgdG8gbm90IG1lbnRpb24gbmVnYXRpdmUgbGV2ZWxzIHNpbmNlIHRoZXkgYXJlIG5vdAotICBzdXBwb3J0ZWQuCi0KLS0gSXNzdWUgIzE1NDI1OiBFbGltaW5hdGVkIHRyYWNlYmFjayBub2lzZSBmcm9tIG1vcmUgc2l0dWF0aW9ucyBpbnZvbHZpbmcKLSAgaW1wb3J0bGliLgotCi0tIElzc3VlICMxNDU3ODogU3VwcG9ydCBtb2R1bGVzIHJlZ2lzdGVyZWQgaW4gdGhlIFdpbmRvd3MgcmVnaXN0cnkgYWdhaW4uCi0KLS0gSXNzdWUgIzE1NDY2OiBTdG9wIHVzaW5nIFRZUEVfSU5UNjQgaW4gbWFyc2hhbCwgdG8gbWFrZSBpbXBvcnRsaWIuaCAoYW5kIG90aGVyCi0gIGJ5dGUgY29kZSBmaWxlcykgZXF1YWwgYmV0d2VlbiAzMi1iaXQgYW5kIDY0LWJpdCBzeXN0ZW1zLgotCi0tIElzc3VlICMxNjkyMzM1OiBNb3ZlIGluaXRpYWwgZXhjZXB0aW9uIGFyZ3MgYXNzaWdubWVudCB0bwotICBgQmFzZUV4Y2VwdGlvbi5fX25ld19fKClgIHRvIGhlbHAgcGlja2xpbmcgb2YgbmFpdmUgc3ViY2xhc3Nlcy4KLQotLSBJc3N1ZSAjMTI4MzQ6IEZpeCBgUHlCdWZmZXJfVG9Db250aWd1b3VzKClgIGZvciBub24tY29udGlndW91cyBhcnJheXMuCi0KLS0gSXNzdWUgIzE1NDU2OiBGaXggY29kZSBgX19zaXplb2ZfXygpYCBhZnRlciAjMTIzOTkgY2hhbmdlLiAgUGF0Y2ggYnkgU2VyaGl5Ci0gIFN0b3JjaGFrYS4KLQotLSBJc3N1ZSAjMTU0MDQ6IFJlZmxlYWsgaW4gUHlNZXRob2RPYmplY3QgcmVwci4KLQotLSBJc3N1ZSAjMTUzOTQ6IEFuIGlzc3VlIGluIGBQeU1vZHVsZV9DcmVhdGUoKWAgdGhhdCBjYXVzZWQgcmVmZXJlbmNlcyB0byBiZQotICBsZWFrZWQgb24gc29tZSBlcnJvciBwYXRocyBoYXMgYmVlbiBmaXhlZC4gIFBhdGNoIGJ5IEp1bGlhIExhd2FsbC4KLQotLSBJc3N1ZSAjMTUzNjg6IEFuIGlzc3VlIHRoYXQgY2F1c2VkIGJ5dGVjb2RlIGdlbmVyYXRpb24gdG8gYmUgbm9uLWRldGVybWluaXN0aWMKLSAgaGFzIGJlZW4gZml4ZWQuCi0KLS0gSXNzdWUgIzE1MjAyOiBDb25zaXN0ZW50bHkgdXNlIHRoZSBuYW1lICJmb2xsb3dfc3ltbGlua3MiIGZvciBuZXcgcGFyYW1ldGVycwotICBpbiBvcyBhbmQgc2h1dGlsIGZ1bmN0aW9ucy4KLQotLSBJc3N1ZSAjMTUzMTQ6IGBgX19tYWluX18uX19sb2FkZXJfX2BgIGlzIG5vdyBzZXQgY29ycmVjdGx5IGR1cmluZyBpbnRlcnByZXRlcgotICBzdGFydHVwLgotCi0tIElzc3VlICMxNTExMTogV2hlbiBhIG1vZHVsZSBpbXBvcnRlZCB1c2luZyAnZnJvbSBpbXBvcnQnIGhhcyBhbiBJbXBvcnRFcnJvcgotICBpbnNpZGUgaXRzZWxmLCBkb24ndCBtYXNrIHRoYXQgZmFjdCBiZWhpbmQgYSBnZW5lcmljIEltcG9ydEVycm9yIGZvciB0aGUKLSAgbW9kdWxlIGl0c2VsZi4KLQotLSBJc3N1ZSAjMTUyOTM6IEFkZCBHQyBzdXBwb3J0IHRvIHRoZSBBU1QgYmFzZSBub2RlIHR5cGUuCi0KLS0gSXNzdWUgIzE1MjkxOiBGaXggYSBtZW1vcnkgbGVhayB3aGVyZSBBU1Qgbm9kZXMgd2hlcmUgbm90IHByb3Blcmx5Ci0gIGRlYWxsb2NhdGVkLgotCi0tIElzc3VlICMxNTExMDogRml4IHRoZSB0cmFjZWJhY2tzIGdlbmVyYXRlZCBieSAiaW1wb3J0IHh4eCIgdG8gbm90IHNob3cgdGhlCi0gIGltcG9ydGxpYiBzdGFjayBmcmFtZXMuCi0KLS0gSXNzdWUgIzE2MzY5OiBHbG9iYWwgUHlUeXBlT2JqZWN0cyBub3QgaW5pdGlhbGl6ZWQgd2l0aCBQeVR5cGVfUmVhZHkoLi4uKS4KLQotLSBJc3N1ZSAjMTUwMjA6IFRoZSBwcm9ncmFtIG5hbWUgdXNlZCB0byBzZWFyY2ggZm9yIFB5dGhvbidzIHBhdGggaXMgbm93Ci0gICJweXRob24zIiB1bmRlciBVbml4LCBub3QgInB5dGhvbiIuCi0KLS0gSXNzdWUgIzE1ODk3OiB6aXBpbXBvcnQuYyBkb2Vzbid0IGNoZWNrIHJldHVybiB2YWx1ZSBvZiBmc2VlaygpLgotICBQYXRjaCBieSBGZWxpcGUgQ3J1ei4KLQotLSBJc3N1ZSAjMTUwMzM6IEZpeCB0aGUgZXhpdCBzdGF0dXMgYnVnIHdoZW4gbW9kdWxlcyBpbnZva2VkIHVzaW5nIC1tIHN3aXRjaCwKLSAgcmV0dXJuIHRoZSBwcm9wZXIgZmFpbHVyZSByZXR1cm4gdmFsdWUgKDEpLiBQYXRjaCBjb250cmlidXRlZCBieSBKZWZmIEtudXBwLgotCi0tIElzc3VlICMxNTIyOTogQW4gYE9TRXJyb3JgIHN1YmNsYXNzIHdob3NlIF9faW5pdF9fIGRvZXNuJ3QgY2FsbCBiYWNrCi0gIE9TRXJyb3IuX19pbml0X18gY291bGQgcHJvZHVjZSBpbmNvbXBsZXRlIGluc3RhbmNlcywgbGVhZGluZyB0byBjcmFzaGVzIHdoZW4KLSAgY2FsbGluZyBzdHIoKSBvbiB0aGVtLgotCi0tIElzc3VlICMxNTMwNzogVmlydHVhbCBlbnZpcm9ubWVudHMgbm93IHVzZSBzeW1saW5rcyB3aXRoIGZyYW1ld29yayBidWlsZHMgb24KLSAgTWFjIE9TIFgsIGxpa2Ugb3RoZXIgUE9TSVggYnVpbGRzLgotCi1MaWJyYXJ5Ci0tLS0tLS0tCi0KLS0gSXNzdWUgIzE0NTkwOiBjb25maWdwYXJzZXIgbm93IGNvcnJlY3RseSBzdHJpcHMgaW5saW5lIGNvbW1lbnRzIHdoZW4gZGVsaW1pdGVyCi0gIG9jY3VycyBlYXJsaWVyIHdpdGhvdXQgcHJlY2VkaW5nIHNwYWNlLgotCi0tIElzc3VlICMxNTQyNDogQWRkIGEgYF9fc2l6ZW9mX18oKWAgaW1wbGVtZW50YXRpb24gZm9yIGFycmF5IG9iamVjdHMuICBQYXRjaCBieQotICBMdWR3aWcgSMOkaG5lLgotCi0tIElzc3VlICMxNTU3NjogQWxsb3cgZXh0ZW5zaW9uIG1vZHVsZXMgdG8gYWN0IGFzIGEgcGFja2FnZSdzIF9faW5pdF9fIG1vZHVsZS4KLQotLSBJc3N1ZSAjMTU1MDI6IEhhdmUgYGltcG9ydGxpYi5pbnZhbGlkYXRlX2NhY2hlcygpYCB3b3JrIG9uIGBzeXMubWV0YV9wYXRoYAotICBpbnN0ZWFkIG9mIGBzeXMucGF0aF9pbXBvcnRlcl9jYWNoZWAuCi0KLS0gSXNzdWUgIzE1MTYzOiBQeWRvYyBzaG91bGRuJ3QgbGlzdCBfX2xvYWRlcl9fIGFzIG1vZHVsZSBkYXRhLgotCi0tIElzc3VlICMxNTQ3MTogRG8gbm90IHVzZSBtdXRhYmxlIG9iamVjdHMgYXMgZGVmYXVsdHMgZm9yCi0gIGBpbXBvcnRsaWIuX19pbXBvcnRfXygpYC4KLQotLSBJc3N1ZSAjMTU1NTk6IFRvIGF2b2lkIGEgcHJvYmxlbWF0aWMgZmFpbHVyZSBtb2RlIHdoZW4gcGFzc2VkIHRvIHRoZSBieXRlcwotICBjb25zdHJ1Y3Rvciwgb2JqZWN0cyBpbiB0aGUgaXBhZGRyZXNzIG1vZHVsZSBubyBsb25nZXIgaW1wbGVtZW50IGBfX2luZGV4X18oKWAKLSAgKHRoZXkgc3RpbGwgaW1wbGVtZW50IGBfX2ludF9fKClgIGFzIGFwcHJvcHJpYXRlKS4KLQotLSBJc3N1ZSAjMTU1NDY6IEZpeCBoYW5kbGluZyBvZiBwYXRob2xvZ2ljYWwgaW5wdXQgZGF0YSBpbiB0aGUgcGVlaygpIGFuZAotICByZWFkMSgpIG1ldGhvZHMgb2YgdGhlIEJaMkZpbGUsIEd6aXBGaWxlIGFuZCBMWk1BRmlsZSBjbGFzc2VzLgotCi0tIElzc3VlICMxMjY1NTogSW5zdGVhZCBvZiByZXF1aXJpbmcgYSBjdXN0b20gdHlwZSwgYG9zLnNjaGVkX2dldGFmZmluaXR5KClgIGFuZAotICBgb3Muc2NoZWRfc2V0YWZmaW5pdHkoKWAgbm93IHVzZSByZWd1bGFyIHNldHMgb2YgaW50ZWdlcnMgdG8gcmVwcmVzZW50IHRoZQotICBDUFVzIGEgcHJvY2VzcyBpcyByZXN0cmljdGVkIHRvLgotCi0tIElzc3VlICMxNTUzODogRml4IGNvbXBpbGF0aW9uIG9mIHRoZSBgc29ja2V0LmdldG5hbWVpbmZvKClgIC8KLSAgYHNvY2tldC5nZXRhZGRyaW5mbygpYCBlbXVsYXRpb24gY29kZS4gIFBhdGNoIGJ5IFBoaWxpcHAgSGFnZW1laXN0ZXIuCi0KLS0gSXNzdWUgIzE1NTE5OiBQcm9wZXJseSBleHBvc2UgV2luZG93c1JlZ2lzdHJ5RmluZGVyIGluIGltcG9ydGxpYiAoYW5kIHVzZSB0aGUKLSAgY29ycmVjdCB0ZXJtIGZvciBpdCkuICBPcmlnaW5hbCBwYXRjaCBieSBFcmljIFNub3cuCi0KLS0gSXNzdWUgIzE1NTAyOiBCcmluZyB0aGUgaW1wb3J0bGliIEFCQ3MgaW50byBsaW5lIHdpdGggdGhlIGN1cnJlbnQgc3RhdGUgb2YgdGhlCi0gIGltcG9ydCBwcm90b2NvbHMgZ2l2ZW4gUEVQIDQyMC4gIE9yaWdpbmFsIHBhdGNoIGJ5IEVyaWMgU25vdy4KLQotLSBJc3N1ZSAjMTU0OTk6IExhdW5jaGluZyBhIHdlYmJyb3dzZXIgaW4gVW5peCB1c2VkIHRvIHNsZWVwIGZvciBhIGZldyBzZWNvbmRzLgotICBPcmlnaW5hbCBwYXRjaCBieSBBbnRvbiBCYXJrb3Zza3kuCi0KLS0gSXNzdWUgIzE1NDYzOiBUaGUgZmF1bHRoYW5kbGVyIG1vZHVsZSB0cnVuY2F0ZXMgc3RyaW5ncyB0byA1MDAgY2hhcmFjdGVycywKLSAgaW5zdGVhZCBvZiAxMDAsIHRvIGJlIGFibGUgdG8gZGlzcGxheSBsb25nIGZpbGUgcGF0aHMuCi0KLS0gSXNzdWUgIzYwNTY6IE1ha2UgYG11bHRpcHJvY2Vzc2luZ2AgdXNlIHNldGJsb2NraW5nKFRydWUpIG9uIHRoZSBzb2NrZXRzIGl0Ci0gIHVzZXMuICBPcmlnaW5hbCBwYXRjaCBieSBKIERlcmVrIFdpbHNvbi4KLQotLSBJc3N1ZSAjMTUzNjQ6IEZpeCBzeXNjb25maWcuZ2V0X2NvbmZpZ192YXIoJ3NyY2RpcicpIHRvIGJlIGFuIGFic29sdXRlIHBhdGguCi0KLS0gSXNzdWUgIzE1NDEzOiBgb3MudGltZXMoKWAgaGFkIGRpc2FwcGVhcmVkIHVuZGVyIFdpbmRvd3MuCi0KLS0gSXNzdWUgIzE1NDAyOiBBbiBpc3N1ZSBpbiB0aGUgc3RydWN0IG1vZHVsZSB0aGF0IGNhdXNlZCBgc3lzLmdldHNpemVvZigpYCB0bwotICByZXR1cm4gaW5jb3JyZWN0IHJlc3VsdHMgZm9yIHN0cnVjdC5TdHJ1Y3QgaW5zdGFuY2VzIGhhcyBiZWVuIGZpeGVkLiAgSW5pdGlhbAotICBwYXRjaCBieSBTZXJoaXkgU3RvcmNoYWthLgotCi0tIElzc3VlICMxNTIzMjogV2hlbiBtYW5nbGVfZnJvbSBpcyBUcnVlLCBgZW1haWwuR2VuZXJhdG9yYCBub3cgY29ycmVjdGx5Ci0gIG1hbmdsZXMgbGluZXMgdGhhdCBzdGFydCB3aXRoICdGcm9tICcgdGhhdCBvY2N1ciBpbiBhIE1JTUUgcHJlYW1ibGUgb3IKLSAgZXBpbG9ndWUuCi0KLS0gSXNzdWUgIzE1MDk0OiBJbmNvcnJlY3RseSBwbGFjZWQgI2VuZGlmIGluIF90a2ludGVyLmMuICBQYXRjaCBieSBTZXJoaXkKLSAgU3RvcmNoYWthLgotCi0tIElzc3VlICMxMzkyMjogYGFyZ3BhcnNlYCBubyBsb25nZXIgaW5jb3JyZWN0bHkgc3RyaXBzICctLSdzIHRoYXQgYXBwZWFyIGFmdGVyCi0gIHRoZSBmaXJzdCBvbmUuCi0KLS0gSXNzdWUgIzEyMzUzOiBgYXJncGFyc2VgIG5vdyBjb3JyZWN0bHkgaGFuZGxlcyBudWxsIGFyZ3VtZW50IHZhbHVlcy4KLQotLSBJc3N1ZSAjMTAwMTcsIGlzc3VlICMxNDk5ODogRml4IFR5cGVFcnJvciB1c2luZyBwcHJpbnQgb24gZGljdGlvbmFyaWVzIHdpdGgKLSAgdXNlci1kZWZpbmVkIHR5cGVzIGFzIGtleXMgb3Igb3RoZXIgdW5vcmRlcmFibGUga2V5cy4KLQotLSBJc3N1ZSAjMTUzOTc6IGBpbnNwZWN0LmdldG1vZHVsZW5hbWUoKWAgaXMgbm93IGJhc2VkIGRpcmVjdGx5IG9uIGltcG9ydGxpYiB2aWEKLSAgYSBuZXcgYGltcG9ydGxpYi5tYWNoaW5lcnkuYWxsX3N1ZmZpeGVzKClgIEFQSS4KLQotLSBJc3N1ZSAjMTQ2MzU6IGB0ZWxuZXRsaWJgIHdpbGwgdXNlIHBvbGwoKSByYXRoZXIgdGhhbiBzZWxlY3QoKSB3aGVuIHBvc3NpYmxlIHRvCi0gIGF2b2lkIGZhaWxpbmcgZHVlIHRvIHRoZSBzZWxlY3QoKSBmaWxlIGRlc2NyaXB0b3IgbGltaXQuCi0KLS0gSXNzdWUgIzE1MTgwOiBDbGFyaWZ5IHBvc2l4cGF0aC5qb2luKCkgZXJyb3IgbWVzc2FnZSB3aGVuIG1peGluZyBzdHIgJiBieXRlcy4KLQotLSBJc3N1ZSAjMTUzNDM6IHBrZ3V0aWwgbm93IGluY2x1ZGVzIGFuIGl0ZXJfaW1wb3J0ZXJfbW9kdWxlcyBpbXBsZW1lbnRhdGlvbiBmb3IKLSAgaW1wb3J0bGliLm1hY2hpbmVyeS5GaWxlRmluZGVyIChzaW1pbGFyIHRvIHRoZSB3YXkgaXQgYWxyZWFkeSBoYW5kbGVkCi0gIHppcGltcG9ydC56aXBpbXBvcnRlcikuCi0KLS0gSXNzdWUgIzE1MzE0OiBydW5weSBub3cgc2V0cyBfX21haW5fXy5fX2xvYWRlcl9fIGNvcnJlY3RseS4KLQotLSBJc3N1ZSAjMTUzNTc6IFRoZSBpbXBvcnQgZW11bGF0aW9uIGluIHBrZ3V0aWwgaXMgbm93IGRlcHJlY2F0ZWQuIHBrZ3V0aWwgdXNlcwotICBpbXBvcnRsaWIgaW50ZXJuYWxseSByYXRoZXIgdGhhbiB0aGUgZW11bGF0aW9uLgotCi0tIElzc3VlICMxNTIzMzogUHl0aG9uIG5vdyBndWFyYW50ZWVzIHRoYXQgY2FsbGFibGVzIHJlZ2lzdGVyZWQgd2l0aCB0aGUgYXRleGl0Ci0gIG1vZHVsZSB3aWxsIGJlIGNhbGxlZCBpbiBhIGRldGVybWluaXN0aWMgb3JkZXIuCi0KLS0gSXNzdWUgIzE1MjM4OiBgc2h1dGlsLmNvcHlzdGF0KClgIG5vdyBjb3BpZXMgTGludXggImV4dGVuZGVkIGF0dHJpYnV0ZXMiLgotCi0tIElzc3VlICMxNTIzMDogcnVucHkucnVuX3BhdGggbm93IGNvcnJlY3RseSBzZXRzIF9fcGFja2FnZV9fIGFzIGRlc2NyaWJlZCBpbgotICB0aGUgZG9jdW1lbnRhdGlvbi4KLQotLSBJc3N1ZSAjMTUzMTU6IFN1cHBvcnQgVlMgMjAxMCBpbiBkaXN0dXRpbHMgY3lnd2luY29tcGlsZXIuCi0KLS0gSXNzdWUgIzE1Mjk0OiBGaXggYSByZWdyZXNzaW9uIGluIHBrZ3V0aWwuZXh0ZW5kX3BhdGgoKSdzIGhhbmRsaW5nIG9mIG5lc3RlZAotICBuYW1lc3BhY2UgcGFja2FnZXMuCi0KLS0gSXNzdWUgIzE1MDU2OiBgaW1wLmNhY2hlX2Zyb21fc291cmNlKClgIGFuZCBgaW1wLnNvdXJjZV9mcm9tX2NhY2hlKClgIHJhaXNlCi0gIE5vdEltcGxlbWVudGVkRXJyb3Igd2hlbiBgc3lzLmltcGxlbWVudGF0aW9uLmNhY2hlX3RhZ2AgaXMgc2V0IHRvIE5vbmUuCi0KLS0gSXNzdWUgIzE1MjU2OiBHcmFtbWF0aWNhbCBtaXN0YWtlIGluIGV4Y2VwdGlvbiByYWlzZWQgYnkgYGltcC5maW5kX21vZHVsZSgpYC4KLQotLSBJc3N1ZSAjNTkzMTogYHdzZ2lyZWZgIGVudmlyb24gdmFyaWFibGUgU0VSVkVSX1NPRlRXQVJFIHdpbGwgc3BlY2lmeSBhbgotICBpbXBsZW1lbnRhdGlvbiBzcGVjaWZpYyB0ZXJtIGxpa2UgQ1B5dGhvbiwgSnl0aG9uIGluc3RlYWQgb2YgZ2VuZXJpYyAiUHl0aG9uIi4KLQotLSBJc3N1ZSAjMTMyNDg6IFJlbW92ZSBvYnNvbGV0ZSBhcmd1bWVudCAibWF4X2J1ZmZlcl9zaXplIiBvZiBCdWZmZXJlZFdyaXRlciBhbmQKLSAgQnVmZmVyZWRSV1BhaXIsIGZyb20gdGhlIGlvIG1vZHVsZS4KLQotLSBJc3N1ZSAjMTMyNDg6IFJlbW92ZSBvYnNvbGV0ZSBhcmd1bWVudCAidmVyc2lvbiIgb2YgYGFyZ3BhcnNlLkFyZ3VtZW50UGFyc2VyYC4KLQotLSBJc3N1ZSAjMTQ4MTQ6IEltcGxlbWVudCBtb3JlIGNvbnNpc3RlbnQgb3JkZXJpbmcgYW5kIHNvcnRpbmcgYmVoYXZpb3VyIGZvcgotICBpcGFkZHJlc3Mgb2JqZWN0cy4KLQotLSBJc3N1ZSAjMTQ4MTQ6IGBpcGFkZHJlc3NgIG5ldHdvcmsgb2JqZWN0cyBjb3JyZWN0bHkgcmV0dXJuIE5vdEltcGxlbWVudGVkIHdoZW4KLSAgY29tcGFyZWQgdG8gYXJiaXRyYXJ5IG9iamVjdHMgaW5zdGVhZCBvZiByYWlzaW5nIFR5cGVFcnJvci4KLQotLSBJc3N1ZSAjMTQ5OTA6IENvcnJlY3RseSBmYWlsIHdpdGggU3ludGF4RXJyb3Igb24gaW52YWxpZCBlbmNvZGluZyBkZWNsYXJhdGlvbi4KLQotLSBJc3N1ZSAjMTQ4MTQ6IGBpcGFkZHJlc3NgIG5vdyBwcm92aWRlcyBtb3JlIGluZm9ybWF0aXZlIGVycm9yIG1lc3NhZ2VzIHdoZW4KLSAgY29uc3RydWN0aW5nIGluc3RhbmNlcyBkaXJlY3RseSAoY2hhbmdlcyBwZXJtaXR0ZWQgZHVyaW5nIGJldGEgZHVlIHRvCi0gIHByb3Zpc2lvbmFsIEFQSSBzdGF0dXMpLgotCi0tIElzc3VlICMxNTI0NzogYGlvLkZpbGVJT2Agbm93IHJhaXNlcyBhbiBlcnJvciB3aGVuIGdpdmVuIGEgZmlsZSBkZXNjcmlwdG9yCi0gIHBvaW50aW5nIHRvIGEgZGlyZWN0b3J5LgotCi0tIElzc3VlICMxNTI2MTogU3RvcCBvcy5zdGF0KGZkKSBjcmFzaGluZyBvbiBXaW5kb3dzIHdoZW4gZmQgbm90IG9wZW4uCi0KLS0gSXNzdWUgIzE1MTY2OiBJbXBsZW1lbnQgYGltcC5nZXRfdGFnKClgIHVzaW5nIGBzeXMuaW1wbGVtZW50YXRpb24uY2FjaGVfdGFnYC4KLQotLSBJc3N1ZSAjMTUyMTA6IENhdGNoIEtleUVycm9yIHdoZW4gYGltcG9ydGxpYi5fX2luaXRfXygpYCBjYW4ndCBmaW5kCi0gIF9mcm96ZW5faW1wb3J0bGliIGluIHN5cy5tb2R1bGVzLCBub3QgSW1wb3J0RXJyb3IuCi0KLS0gSXNzdWUgIzE1MDMwOiBgaW1wb3J0bGliLmFiYy5QeVB5Y0xvYWRlcmAgbm93IHN1cHBvcnRzIHRoZSBuZXcgc291cmNlIHNpemUKLSAgaGVhZGVyIGZpZWxkIGluIC5weWMgZmlsZXMuCi0KLS0gSXNzdWUgIzUzNDY6IFByZXNlcnZlIHBlcm1pc3Npb25zIG9mIG1ib3gsIE1NREYgYW5kIEJhYnlsIG1haWxib3ggZmlsZXMgb24KLSAgZmx1c2goKS4KLQotLSBJc3N1ZSAjMTA1NzE6IEZpeCB0aGUgIi0tc2lnbiIgb3B0aW9uIG9mIGRpc3R1dGlscycgdXBsb2FkIGNvbW1hbmQuICBQYXRjaCBieQotICBKYWt1YiBXaWxrLgotCi0tIElzc3VlICM5NTU5OiBJZiBtZXNzYWdlcyB3ZXJlIG9ubHkgYWRkZWQsIGEgbmV3IGZpbGUgaXMgbm8gbG9uZ2VyIGNyZWF0ZWQgYW5kCi0gIHJlbmFtZWQgb3ZlciB0aGUgb2xkIGZpbGUgd2hlbiBmbHVzaCgpIGlzIGNhbGxlZCBvbiBhbiBtYm94LCBNTURGIG9yIEJhYnlsCi0gIG1haWxib3guCi0KLS0gSXNzdWUgIzEwOTI0OiBGaXhlZCBgY3J5cHQubWtzYWx0KClgIHRvIHVzZSBhIFJORyB0aGF0IGlzIHN1aXRhYmxlIGZvcgotICBjcnlwdG9ncmFwaGljIHB1cnBvc2UuCi0KLS0gSXNzdWUgIzE1MTg0OiBFbnN1cmUgY29uc2lzdGVudCByZXN1bHRzIG9mIE9TIFggY29uZmlndXJhdGlvbiB0YWlsb3JpbmcgZm9yCi0gIHVuaXZlcnNhbCBidWlsZHMgYnkgZmFjdG9yaW5nIG91dCBjb21tb24gT1MgWC1zcGVjaWZpYyBjdXN0b21pemF0aW9ucyBmcm9tCi0gIHN5c2NvbmZpZywgZGlzdHV0aWxzLnN5c2NvbmZpZywgZGlzdHV0aWxzLnV0aWwsIGFuZCBkaXN0dXRpbHMudW5peGNjb21waWxlcgotICBpbnRvIGEgbmV3IG1vZHVsZSBfb3N4X3N1cHBvcnQuCi0KLUMgQVBJCi0tLS0tLQotCi0tIElzc3VlICMxNTYxMDogYFB5SW1wb3J0X0ltcG9ydE1vZHVsZUV4KClgIG5vdyB1c2VzIGEgJ2xldmVsJyBvZiAwIGluc3RlYWQgb2YgLTEuCi0KLS0gSXNzdWUgIzE1MTY5LCBpc3N1ZSAjMTQ1OTk6IFN0cmlwIG91dCB0aGUgQyBpbXBsZW1lbnRhdGlvbiBvZgotICBgaW1wLnNvdXJjZV9mcm9tX2NhY2hlKClgIHVzZWQgYnkgUHlJbXBvcnRfRXhlY0NvZGVNb2R1bGVXaXRoUGF0aG5hbWVzKCkgYW5kCi0gIHVzZWQgdGhlIFB5dGhvbiBjb2RlIGluc3RlYWQuIExlYWRzIHRvIFB5SW1wb3J0X0V4ZWNDb2RlTW9kdWxlT2JqZWN0KCkgdG8gbm90Ci0gIHRyeSB0byBpbmZlciB0aGUgc291cmNlIHBhdGggZnJvbSB0aGUgYnl0ZWNvZGUgcGF0aCBhcwotICBQeUltcG9ydF9FeGVjQ29kZU1vZHVsZVdpdGhQYXRobmFtZXMoKSBkb2VzLgotCi1FeHRlbnNpb24gTW9kdWxlcwotLS0tLS0tLS0tLS0tLS0tLS0KLQotLSBJc3N1ZSAjNjQ5MzogQW4gaXNzdWUgaW4gY3R5cGVzIG9uIFdpbmRvd3MgdGhhdCBjYXVzZWQgc3RydWN0dXJlIGJpdGZpZWxkcyBvZgotICB0eXBlIGBjdHlwZXMuY191aW50MzJgIGFuZCB3aWR0aCAzMiB0byBpbmNvcnJlY3RseSBiZSBzZXQgaGFzIGJlZW4gZml4ZWQuCi0KLS0gSXNzdWUgIzE1MTk0OiBVcGRhdGUgbGliZmZpIHRvIHRoZSAzLjAuMTEgcmVsZWFzZS4KLQotSURMRQotLS0tLQotCi0tIElzc3VlICMxMzA1MjogRml4IElETEUgY3Jhc2hpbmcgd2hlbiByZXBsYWNlIHN0cmluZyBpbiBTZWFyY2gvUmVwbGFjZSBkaWFsb2cKLSAgZW5kZWQgd2l0aCBgYFxgYC4gIFBhdGNoIGJ5IFJvZ2VyIFNlcnd5LgotCi1Ub29scy9EZW1vcwotLS0tLS0tLS0tLS0KLQotLSBJc3N1ZSAjMTU0NTg6IHB5dGhvbi1jb25maWcgZ2V0cyBhIG5ldyBvcHRpb24gLS1jb25maWdkaXIgdG8gcHJpbnQgdGhlICRMSUJQTAotICB2YWx1ZS4KLQotLSBNb3ZlIGltcG9ydGxpYi50ZXN0LmJlbmNobWFyayB0byBUb29scy9pbXBvcnRiZW5jaC4KLQotLSBJc3N1ZSAjMTI2MDU6IFRoZSBnZGIgaG9va3MgZm9yIGRlYnVnZ2luZyBDUHl0aG9uICh3aXRoaW4gVG9vbHMvZ2RiKSBoYXZlIGJlZW4KLSAgZW5oYW5jZWQgdG8gc2hvdyBpbmZvcm1hdGlvbiBvbiBtb3JlIEMgZnJhbWVzIHJlbGV2YW50IHRvIENQeXRob24gd2l0aGluIHRoZQotICAicHktYnQiIGFuZCAicHktYnQtZnVsbCIgY29tbWFuZHM6Ci0KLSAgKiBDIGZyYW1lcyB0aGF0IGFyZSB3YWl0aW5nIG9uIHRoZSBHSUwKLSAgKiBDIGZyYW1lcyB0aGF0IGFyZSBnYXJiYWdlLWNvbGxlY3RpbmcKLSAgKiBDIGZyYW1lcyB0aGF0IGFyZSBkdWUgdG8gdGhlIGludm9jYXRpb24gb2YgYSBQeUNGdW5jdGlvbgotCi1Eb2N1bWVudGF0aW9uCi0tLS0tLS0tLS0tLS0tCi0KLS0gSXNzdWUgIzE1MDQxOiBVcGRhdGUgInNlZSBhbHNvIiBsaXN0IGluIHRraW50ZXIgZG9jdW1lbnRhdGlvbi4KLQotLSBJc3N1ZSAjMTU0NDQ6IFVzZSBwcm9wZXIgc3BlbGxpbmcgZm9yIG5vbi1BU0NJSSBjb250cmlidXRvciBuYW1lcy4gIFBhdGNoIGJ5Ci0gIFNlcmhpeSBTdG9yY2hha2EuCi0KLS0gSXNzdWUgIzE1Mjk1OiBSZW9yZ2FuaXplIGFuZCByZXdyaXRlIHRoZSBkb2N1bWVudGF0aW9uIG9uIHRoZSBpbXBvcnQgc3lzdGVtLgotCi0tIElzc3VlICMxNTIzMDogQ2xlYXJseSBkb2N1bWVudCBzb21lIG9mIHRoZSBsaW1pdGF0aW9ucyBvZiB0aGUgcnVucHkgbW9kdWxlIGFuZAotICBudWRnZSByZWFkZXJzIHRvd2FyZHMgaW1wb3J0bGliIHdoZW4gYXBwcm9wcmlhdGUuCi0KLS0gSXNzdWUgIzE1MDUzOiBDb3B5IFB5dGhvbiAzLjMgaW1wb3J0IGxvY2sgY2hhbmdlIG5vdGljZSB0byBhbGwgcmVsZXZhbnQKLSAgZnVuY3Rpb25zIGluIGltcCBpbnN0ZWFkIG9mIGp1c3QgYXQgdGhlIHRvcCBvZiB0aGUgcmVsZXZhbnQgc2VjdGlvbi4KLQotLSBJc3N1ZSAjMTUyODg6IExpbmsgdG8gdGhlIHRlcm0gImxvYWRlciIgaW4gbm90ZXMgaW4gcGtndXRpbCBhYm91dCBob3cgdGhpbmdzCi0gIHdvbid0IHdvcmsgYXMgZXhwZWN0ZWQgaW4gUHl0aG9uIDMuMyBhbmQgbWFyayB0aGUgcmVxdWlzaXRlIGZ1bmN0aW9ucyBhcwotICAiY2hhbmdlZCIgc2luY2UgdGhleSB3aWxsIG5vIGxvbmdlciB3b3JrIHdpdGggbW9kdWxlcyBkaXJlY3RseSBpbXBvcnRlZCBieQotICBpbXBvcnQgaXRzZWxmLgotCi0tIElzc3VlICMxMzU1NzogQ2xhcmlmeSBlZmZlY3Qgb2YgZ2l2aW5nIHR3byBkaWZmZXJlbnQgbmFtZXNwYWNlcyB0byBgZXhlYygpYCBvcgotICBgZXhlY2ZpbGUoKWAuCi0KLS0gSXNzdWUgIzE1MjUwOiBEb2N1bWVudCB0aGF0IGBmaWxlY21wLmRpcmNtcCgpYCBjb21wYXJlcyBmaWxlcyBzaGFsbG93bHkuIFBhdGNoCi0gIGNvbnRyaWJ1dGVkIGJ5IENocmlzIEplcmRvbmVrLgotCi0tIElzc3VlICMxNTQ0MjogRXhwb3NlIHRoZSBkZWZhdWx0IGxpc3Qgb2YgZGlyZWN0b3JpZXMgaWdub3JlZCBieQotICBgZmlsZWNtcC5kaXJjbXAoKWAgYXMgYSBtb2R1bGUgYXR0cmlidXRlLCBhbmQgZXhwYW5kIHRoZSBsaXN0IHRvIG1vcmUgbW9kZXJuCi0gIHZhbHVlcy4KLQotVGVzdHMKLS0tLS0tCi0KLS0gSXNzdWUgIzE1NDY3OiBNb3ZlIGhlbHBlcnMgZm9yIGBfX3NpemVvZl9fKClgIHRlc3RzIGludG8gdGVzdF9zdXBwb3J0LiAgUGF0Y2gKLSAgYnkgU2VyaGl5IFN0b3JjaGFrYS4KLQotLSBJc3N1ZSAjMTUzMjA6IE1ha2UgaXRlcmF0aW5nIHRoZSBsaXN0IG9mIHRlc3RzIHRocmVhZC1zYWZlIHdoZW4gcnVubmluZyB0ZXN0cwotICBpbiBtdWx0aXByb2Nlc3MgbW9kZS4gUGF0Y2ggYnkgQ2hyaXMgSmVyZG9uZWsuCi0KLS0gSXNzdWUgIzE1MTY4OiBNb3ZlIGBpbXBvcnRsaWIudGVzdGAgdG8gYHRlc3QudGVzdF9pbXBvcnRsaWJgLgotCi0tIElzc3VlICMxNTA5MTogUmVhY3RpdmF0ZSBhIHRlc3Qgb24gVU5JWCB3aGljaCB3YXMgZmFpbGluZyB0aGFua3MgdG8gYQotICBmb3Jnb3R0ZW4gYGltcG9ydGxpYi5pbnZhbGlkYXRlX2NhY2hlcygpYCBjYWxsLgotCi0tIElzc3VlICMxNTIzMDogQWRvcHRlZCBhIG1vcmUgc3lzdGVtYXRpYyBhcHByb2FjaCBpbiB0aGUgcnVucHkgdGVzdHMuCi0KLS0gSXNzdWUgIzE1MzAwOiBFbnN1cmUgdGhlIHRlbXBvcmFyeSB0ZXN0IHdvcmtpbmcgZGlyZWN0b3JpZXMgYXJlIGluIHRoZSBzYW1lCi0gIHBhcmVudCBmb2xkZXIgd2hlbiBydW5uaW5nIHRlc3RzIGluIG11bHRpcHJvY2VzcyBtb2RlIGZyb20gYSBQeXRob24gYnVpbGQuCi0gIFBhdGNoIGJ5IENocmlzIEplcmRvbmVrLgotCi0tIElzc3VlICMxNTI4NDogU2tpcCB7c2VuZCxyZWN2fW1zZyB0ZXN0cyBpbiB0ZXN0X3NvY2tldCB3aGVuIElQdjYgaXMgbm90Ci0gIGVuYWJsZWQuIFBhdGNoIGJ5IEJyaWFuIEJyYXppbC4KLQotLSBJc3N1ZSAjMTUyNzc6IEZpeCBhIHJlc291cmNlIGxlYWsgaW4gc3VwcG9ydC5weSB3aGVuIElQdjYgaXMgZGlzYWJsZWQuICBQYXRjaAotICBieSBCcmlhbiBCcmF6aWwuCi0KLUJ1aWxkCi0tLS0tLQotCi0tIElzc3VlICMxMTcxNTogRml4IG11bHRpYXJjaCBkZXRlY3Rpb24gd2l0aG91dCBoYXZpbmcgRGViaWFuIGRldmVsb3BtZW50IHRvb2xzCi0gIChkcGtnLWRldikgaW5zdGFsbGVkLgotCi0tIElzc3VlICMxNTAzNzogQnVpbGQgT1MgWCBpbnN0YWxsZXJzIHdpdGggbG9jYWwgY29weSBvZiBuY3Vyc2VzIDUuOSBsaWJyYXJpZXMKLSAgdG8gYXZvaWQgY3Vyc2VzLnVuZ2V0X3djaCBidWcgcHJlc2VudCBpbiBvbGRlciB2ZXJzaW9ucyBvZiBuY3Vyc2VzIHN1Y2ggYXMKLSAgdGhvc2Ugc2hpcHBlZCB3aXRoIE9TIFguCi0KLS0gSXNzdWUgIzE1NTYwOiBGaXggYnVpbGRpbmcgX3NxbGl0ZTMgZXh0ZW5zaW9uIG9uIE9TIFggd2l0aCBhbiBTREsuICBBbHNvLCBmb3IKLSAgT1MgWCBpbnN0YWxsZXJzLCBlbnN1cmUgY29uc2lzdGVudCBzcWxpdGUzIGJlaGF2aW9yIGFuZCBmZWF0dXJlIGF2YWlsYWJpbGl0eQotICBieSBidWlsZGluZyBhIGxvY2FsIGNvcHkgb2YgbGlic3FsaXRlMyByYXRoZXIgdGhhbiBkZXBlbmRpbmcgb24gdGhlIHdpZGUgcmFuZ2UKLSAgb2YgdmVyc2lvbnMgc3VwcGxpZWQgd2l0aCB2YXJpb3VzIE9TIFggcmVsZWFzZXMuCi0KLS0gSXNzdWUgIzg4NDc6IERpc2FibGUgQ09NREFUIGZvbGRpbmcgaW4gV2luZG93cyBQR08gYnVpbGRzLgotCi0tIElzc3VlICMxNDAxODogRml4IE9TIFggVGNsL1RrIGZyYW1ld29yayBjaGVja2luZyB3aGVuIHVzaW5nIE9TIFggU0RLcy4KLQotLSBJc3N1ZSAjMTYyNTY6IE9TIFggaW5zdGFsbGVyIG5vdyBzZXRzIGNvcnJlY3QgcGVybWlzc2lvbnMgZm9yIGRvYyBkaXJlY3RvcnkuCi0KLS0gSXNzdWUgIzE1NDMxOiBBZGQgX2ZyZWV6ZV9pbXBvcnRsaWIgcHJvamVjdCB0byByZWdlbmVyYXRlIGltcG9ydGxpYi5oIG9uCi0gIFdpbmRvd3MuIFBhdGNoIGJ5IEtyaXN0asOhbiBWYWx1ciBKw7Nuc3Nvbi4KLQotLSBJc3N1ZSAjMTQxOTc6IEZvciBPUyBYIGZyYW1ld29yayBidWlsZHMsIGVuc3VyZSBsaW5rcyB0byB0aGUgc2hhcmVkIGxpYnJhcnkKLSAgYXJlIGNyZWF0ZWQgd2l0aCB0aGUgcHJvcGVyIEFCSSBzdWZmaXguCi0KLS0gSXNzdWUgIzE0MzMwOiBGb3IgY3Jvc3MgYnVpbGRzLCBkb24ndCB1c2UgaG9zdCBweXRob24sIHVzZSBob3N0IHNlYXJjaCBwYXRocwotICBmb3IgaG9zdCBjb21waWxlci4KLQotLSBJc3N1ZSAjMTUyMzU6IEFsbG93IEJlcmtsZXkgREIgdmVyc2lvbnMgdXAgdG8gNS4zIHRvIGJ1aWxkIHRoZSBkYm0gbW9kdWxlLgotCi0tIElzc3VlICMxNTI2ODogU2VhcmNoIGN1cnNlcy5oIGluIC91c3IvaW5jbHVkZS9uY3Vyc2Vzdy4KLQotCi1XaGF0J3MgTmV3IGluIFB5dGhvbiAzLjMuMCBCZXRhIDE/Ci09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0KLSpSZWxlYXNlIGRhdGU6IDI3LUp1bi0yMDEyKgotCi1Db3JlIGFuZCBCdWlsdGlucwotLS0tLS0tLS0tLS0tLS0tLS0KLQotLSBGaXggYSAobW9zdCBsaWtlbHkpIHZlcnkgcmFyZSBtZW1vcnkgbGVhayB3aGVuIGNhbGxpbmcgbWFpbigpIGFuZCBub3QgYmVpbmcKLSAgYWJsZSB0byBkZWNvZGUgYSBjb21tYW5kLWxpbmUgYXJndW1lbnQuCi0KLS0gSXNzdWUgIzE0ODE1OiBVc2UgUHlfc3NpemVfdCBpbnN0ZWFkIG9mIGxvbmcgZm9yIHRoZSBvYmplY3QgaGFzaCwgdG8KLSAgcHJlc2VydmUgYWxsIDY0IGJpdHMgb2YgaGFzaCBvbiBXaW42NC4KLQotLSBJc3N1ZSAjMTIyNjg6IEZpbGUgcmVhZGxpbmUsIHJlYWRsaW5lcyBhbmQgcmVhZCgpIG9yIHJlYWRhbGwoKSBtZXRob2RzCi0gIG5vIGxvbmdlciBsb3NlIGRhdGEgd2hlbiBhbiB1bmRlcmx5aW5nIHJlYWQgc3lzdGVtIGNhbGwgaXMgaW50ZXJydXB0ZWQuCi0gIElPRXJyb3IgaXMgbm8gbG9uZ2VyIHJhaXNlZCBkdWUgdG8gYSByZWFkIHN5c3RlbSBjYWxsIHJldHVybmluZyBFSU5UUgotICBmcm9tIHdpdGhpbiB0aGVzZSBtZXRob2RzLgotCi0tIElzc3VlICMxMTYyNjogQWRkIF9TaXplVCBmdW5jdGlvbnMgdG8gc3RhYmxlIEFCSS4KLQotLSBJc3N1ZSAjMTUxNDI6IEZpeCByZWZlcmVuY2UgbGVhayB3aGVuIGRlYWxsb2NhdGluZyBpbnN0YW5jZXMgb2YgdHlwZXMKLSAgY3JlYXRlZCB1c2luZyBQeVR5cGVfRnJvbVNwZWMoKS4KLQotLSBJc3N1ZSAjMTAwNTM6IERvbid0IGNsb3NlIEZEcyB3aGVuIEZpbGVJTy5fX2luaXRfXyBmYWlscy4gTG9vc2VseSBiYXNlZCBvbgotICB0aGUgd29yayBieSBIaXJva2F6dSBZYW1hbW90by4KLQotLSBJc3N1ZSAjMTUwOTY6IFJlbW92ZWQgc3VwcG9ydCBmb3IgdXInJyBhcyB0aGUgcmF3IG5vdGF0aW9uIGlzbid0Ci0gIGNvbXBhdGlibGUgd2l0aCBQeXRob24gMi54J3MgcmF3IHVuaWNvZGUgc3RyaW5ncy4KLQotLSBJc3N1ZSAjMTM3ODM6IEdlbmVyYXRvciBvYmplY3RzIG5vdyB1c2UgdGhlIGlkZW50aWZpZXIgQVBJcyBpbnRlcm5hbGx5Ci0KLS0gSXNzdWUgIzE0ODc0OiBSZXN0b3JlIGNoYXJtYXAgZGVjb2Rpbmcgc3BlZWQgdG8gcHJlLVBFUCAzOTMgbGV2ZWxzLgotICBQYXRjaCBieSBTZXJoaXkgU3RvcmNoYWthLgotCi0tIElzc3VlICMxNTAyNjogdXRmLTE2IGVuY29kaW5nIGlzIG5vdyBzaWduaWZpY2FudGx5IGZhc3RlciAodXAgdG8gMTB4KS4KLSAgUGF0Y2ggYnkgU2VyaGl5IFN0b3JjaGFrYS4KLQotLSBJc3N1ZSAjMTEwMjI6IG9wZW4oKSBhbmQgaW8uVGV4dElPV3JhcHBlciBhcmUgbm93IGNhbGxpbmcKLSAgbG9jYWxlLmdldHByZWZlcnJlZGVuY29kaW5nKEZhbHNlKSBpbnN0ZWFkIG9mIGxvY2FsZS5nZXRwcmVmZXJyZWRlbmNvZGluZygpCi0gIGluIHRleHQgbW9kZSBpZiB0aGUgZW5jb2RpbmcgaXMgbm90IHNwZWNpZmllZC4gRG9uJ3QgY2hhbmdlIHRlbXBvcmFyeSB0aGUKLSAgbG9jYWxlIGVuY29kaW5nIHVzaW5nIGxvY2FsZS5zZXRsb2NhbGUoKSwgdXNlIHRoZSBjdXJyZW50IGxvY2FsZSBlbmNvZGluZwotICBpbnN0ZWFkIG9mIHRoZSB1c2VyIHByZWZlcnJlZCBlbmNvZGluZy4KLQotLSBJc3N1ZSAjMTQ2NzM6IEFkZCBFcmljIFNub3cncyBzeXMuaW1wbGVtZW50YXRpb24gaW1wbGVtZW50YXRpb24uCi0KLS0gSXNzdWUgIzE1MDM4OiBPcHRpbWl6ZSBweXRob24gTG9ja3Mgb24gV2luZG93cy4KLQotTGlicmFyeQotLS0tLS0tLQotCi0tIElzc3VlICMxMjI4ODogQ29uc2lkZXIgJzAnIGFuZCAnMC4wJyBhcyB2YWxpZCBpbml0aWFsdmFsdWUKLSAgZm9yIHRraW50ZXIgU2ltcGxlRGlhbG9nLgotCi0tIElzc3VlICMxNTUxMjogQWRkIGEgX19zaXplb2ZfXyBpbXBsZW1lbnRhdGlvbiBmb3IgcGFyc2VyLgotICBQYXRjaCBieSBTZXJoaXkgU3RvcmNoYWthLgotCi0tIElzc3VlICMxNTQ2OTogQWRkIGEgX19zaXplb2ZfXyBpbXBsZW1lbnRhdGlvbiBmb3IgZGVxdWUgb2JqZWN0cy4KLSAgUGF0Y2ggYnkgU2VyaGl5IFN0b3JjaGFrYS4KLQotLSBJc3N1ZSAjMTU0ODk6IEFkZCBhIF9fc2l6ZW9mX18gaW1wbGVtZW50YXRpb24gZm9yIEJ5dGVzSU8gb2JqZWN0cy4KLSAgUGF0Y2ggYnkgU2VyaGl5IFN0b3JjaGFrYS4KLQotLSBJc3N1ZSAjMTU0ODc6IEFkZCBhIF9fc2l6ZW9mX18gaW1wbGVtZW50YXRpb24gZm9yIGJ1ZmZlcmVkIEkvTyBvYmplY3RzLgotICBQYXRjaCBieSBTZXJoaXkgU3RvcmNoYWthLgotCi0tIElzc3VlICMxNTUxNDogQ29ycmVjdCBfX3NpemVvZl9fIHN1cHBvcnQgZm9yIGNwdV9zZXQuCi0gIFBhdGNoIGJ5IFNlcmhpeSBTdG9yY2hha2EuCi0KLS0gSXNzdWUgIzE1MTc3OiBBZGRlZCBkaXJfZmQgcGFyYW1ldGVyIHRvIG9zLmZ3YWxrKCkuCi0KLS0gSXNzdWUgIzE1MDYxOiBSZS1pbXBsZW1lbnRlZCBobWFjLmNvbXBhcmVfZGlnZXN0KCkgaW4gQyB0byBwcmV2ZW50IGZ1cnRoZXIKLSAgdGltaW5nIGFuYWx5c2lzIGFuZCB0byBzdXBwb3J0IGFsbCBidWZmZXIgcHJvdG9jb2wgYXdhcmUgb2JqZWN0cyBhcyB3ZWxsIGFzCi0gIEFTQ0lJIG9ubHkgc3RyIGluc3RhbmNlcyBzYWZlbHkuCi0KLS0gSXNzdWUgIzE1MTY0OiBDaGFuZ2UgcmV0dXJuIHZhbHVlIG9mIHBsYXRmb3JtLnVuYW1lKCkgZnJvbSBhCi0gIHBsYWluIHR1cGxlIHRvIGEgY29sbGVjdGlvbnMubmFtZWR0dXBsZS4KLQotLSBTdXBwb3J0IE1hZ2VpYSBMaW51eCBpbiB0aGUgcGxhdGZvcm0gbW9kdWxlLgotCi0tIElzc3VlICMxMTY3ODogU3VwcG9ydCBBcmNoIGxpbnV4IGluIHRoZSBwbGF0Zm9ybSBtb2R1bGUuCi0KLS0gSXNzdWUgIzE1MTE4OiBDaGFuZ2UgcmV0dXJuIHZhbHVlIG9mIG9zLnVuYW1lKCkgYW5kIG9zLnRpbWVzKCkgZnJvbQotICBwbGFpbiB0dXBsZXMgdG8gaW1tdXRhYmxlIGl0ZXJhYmxlIG9iamVjdHMgd2l0aCBuYW1lZCBhdHRyaWJ1dGVzCi0gIChzdHJ1Y3RzZXEgb2JqZWN0cykuCi0KLS0gU3BlZWQgdXAgX2RlY2ltYWwgYnkgYW5vdGhlciAxMC0xNSUgYnkgY2FjaGluZyB0aGUgdGhyZWFkIGxvY2FsIGNvbnRleHQKLSAgdGhhdCB3YXMgbGFzdCBhY2Nlc3NlZC4gSW4gdGhlIHBpIGJlbmNobWFyayAoNjQtYml0IHBsYXRmb3JtLCBwcmVjPTkpLAotICBfZGVjaW1hbCBpcyBub3cgb25seSAxLjV4IHNsb3dlciB0aGFuIGZsb2F0LgotCi0tIFJlbW92ZSB0aGUgcGFja2FnaW5nIG1vZHVsZSwgd2hpY2ggaXMgbm90IHJlYWR5IGZvciBwcmltZSB0aW1lLgotCi0tIElzc3VlICMxNTE1NDogQWRkICJkaXJfZmQiIHBhcmFtZXRlciB0byBvcy5ybWRpciwgcmVtb3ZlICJybWRpciIKLSAgcGFyYW1ldGVyIGZyb20gb3MucmVtb3ZlIC8gb3MudW5saW5rLgotCi0tIElzc3VlICM0NDg5OiBBZGQgYSBzaHV0aWwucm10cmVlIHRoYXQgaXNuJ3Qgc3VzY2VwdGlibGUgdG8gc3ltbGluayBhdHRhY2tzLgotICBJdCBpcyB1c2VkIGF1dG9tYXRpY2FsbHkgb24gcGxhdGZvcm1zIHN1cHBvcnRpbmcgdGhlIG5lY2Vzc2FyeSBvcy5vcGVuYXQoKQotICBhbmQgb3MudW5saW5rYXQoKSBmdW5jdGlvbnMuIE1haW4gY29kZSBieSBNYXJ0aW4gdm9uIEzDtndpcy4KLQotLSBJc3N1ZSAjMTUxNTY6IEhUTUxQYXJzZXIgbm93IHVzZXMgdGhlIG5ldyAiaHRtbC5lbnRpdGllcy5odG1sNSIgZGljdGlvbmFyeS4KLQotLSBJc3N1ZSAjMTExMTM6IGFkZCBhIG5ldyAiaHRtbDUiIGRpY3Rpb25hcnkgY29udGFpbmluZyB0aGUgbmFtZWQgY2hhcmFjdGVyCi0gIHJlZmVyZW5jZXMgZGVmaW5lZCBieSB0aGUgSFRNTDUgc3RhbmRhcmQgYW5kIHRoZSBlcXVpdmFsZW50IFVuaWNvZGUKLSAgY2hhcmFjdGVyKHMpIHRvIHRoZSBodG1sLmVudGl0aWVzIG1vZHVsZS4KLQotLSBJc3N1ZSAjMTUxMTQ6IHRoZSBzdHJpY3QgbW9kZSBvZiBIVE1MUGFyc2VyIGFuZCB0aGUgSFRNTFBhcnNlRXJyb3IgZXhjZXB0aW9uCi0gIGFyZSBkZXByZWNhdGVkIG5vdyB0aGF0IHRoZSBwYXJzZXIgaXMgYWJsZSB0byBwYXJzZSBpbnZhbGlkIG1hcmt1cC4KLQotLSBJc3N1ZSAjMzY2NTogXHUgYW5kIFxVIGVzY2FwZXMgYXJlIG5vdyBzdXBwb3J0ZWQgaW4gdW5pY29kZSByZWd1bGFyCi0gIGV4cHJlc3Npb25zLiAgUGF0Y2ggYnkgU2VyaGl5IFN0b3JjaGFrYS4KLQotLSBJc3N1ZSAjMTUxNTM6IEFkZGVkIGluc3BlY3QuZ2V0Z2VuZXJhdG9ybG9jYWxzIHRvIHNpbXBsaWZ5IHdoaXRlIGJveAotICB0ZXN0aW5nIG9mIGdlbmVyYXRvciBzdGF0ZSB1cGRhdGVzCi0KLS0gSXNzdWUgIzEzMDYyOiBBZGRlZCBpbnNwZWN0LmdldGNsb3N1cmV2YXJzIHRvIHNpbXBsaWZ5IHRlc3Rpbmcgc3RhdGVmdWwKLSAgY2xvc3VyZXMKLQotLSBJc3N1ZSAjMTEwMjQ6IEZpeGVzIGFuZCBhZGRpdGlvbmFsIHRlc3RzIGZvciBUaW1lMkludGVybmFsZGF0ZS4KLQotLSBJc3N1ZSAjMTQ2MjY6IExhcmdlIHJlZmFjdG9yaW5nIG9mIGZ1bmN0aW9ucyAvIHBhcmFtZXRlcnMgaW4gdGhlIG9zIG1vZHVsZS4KLSAgTWFueSBmdW5jdGlvbnMgbm93IHN1cHBvcnQgImRpcl9mZCIgYW5kICJmb2xsb3dfc3ltbGlua3MiIHBhcmFtZXRlcnM7Ci0gIHNvbWUgYWxzbyBzdXBwb3J0IGFjY2VwdGluZyBhbiBvcGVuIGZpbGUgZGVzY3JpcHRvciBpbiBwbGFjZSBvZiBhIHBhdGgKLSAgc3RyaW5nLiAgQWRkZWQgb3Muc3VwcG9ydF8qIGNvbGxlY3Rpb25zIGFzIExCWUwgaGVscGVycy4gIFJlbW92ZWQgbWFueQotICBmdW5jdGlvbnMgb25seSBwcmV2aW91c2x5IHNlZW4gaW4gMy4zIGFscGhhIHJlbGVhc2VzIChvZnRlbiBzdGFydGluZyB3aXRoCi0gICJmIiBvciAibCIsIG9yIGVuZGluZyB3aXRoICJhdCIpLiAgT3JpZ2luYWxseSBzdWdnZXN0ZWQgYnkgU2VyaGl5IFN0b3JjaGFrYTsKLSAgaW1wbGVtZW50ZWQgYnkgTGFycnkgSGFzdGluZ3MuCi0KLS0gSXNzdWUgIzE1MDA4OiBJbXBsZW1lbnQgUEVQIDM2MiAiU2lnbmF0dXJlIE9iamVjdHMiLgotICBQYXRjaCBieSBZdXJ5IFNlbGl2YW5vdi4KLQotLSBJc3N1ZTogIzE1MTM4OiBiYXNlNjQudXJsc2FmZV97ZW4sZGV9Y29kZSgpIGFyZSBub3cgMy00eCBmYXN0ZXIuCi0KLS0gSXNzdWUgIzQ0NDU4MjogQWRkIHNodXRpbC53aGljaCwgZm9yIGZpbmRpbmcgcHJvZ3JhbXMgb24gdGhlIHN5c3RlbSBwYXRoLgotICBPcmlnaW5hbCBwYXRjaCBieSBFcmlrIERlbWFpbmUsIHdpdGggbGF0ZXIgaXRlcmF0aW9ucyBieSBKYW4gS2lsbGlhbgotICBhbmQgQnJpYW4gQ3VydGluLgotCi0tIElzc3VlICMxNDgzNzogU1NMIGVycm9ycyBub3cgaGF2ZSBgYGxpYnJhcnlgYCBhbmQgYGByZWFzb25gYCBhdHRyaWJ1dGVzCi0gIGRlc2NyaWJpbmcgcHJlY2lzZWx5IHdoYXQgaGFwcGVuZWQgYW5kIGluIHdoaWNoIE9wZW5TU0wgc3VibW9kdWxlLiAgVGhlCi0gIHN0cigpIG9mIGEgU1NMRXJyb3IgaXMgYWxzbyBlbmhhbmNlZCBhY2NvcmRpbmdseS4KLQotLSBJc3N1ZSAjOTUyNzogZGF0ZXRpbWUuYXN0aW1lem9uZSgpIG1ldGhvZCB3aWxsIG5vdyBzdXBwbHkgYSBjbGFzcwotICB0aW1lem9uZSBpbnN0YW5jZSBjb3JyZXNwb25kaW5nIHRvIHRoZSBzeXN0ZW0gbG9jYWwgdGltZXpvbmUgd2hlbgotICBjYWxsZWQgd2l0aCBubyBhcmd1bWVudHMuCi0KLS0gSXNzdWUgIzE0NjUzOiBlbWFpbC51dGlscy5ta3RpbWVfdHooKSBubyBsb25nZXIgcmVsaWVzIG9uIHN5c3RlbQotICBta3RpbWUoKSB3aGVuIHRpbWV6b25lIG9mZmVzdCBpcyBzdXBwbGllZC4KLQotLSBJc3N1ZSAjMTQ2ODQ6IHpsaWIuY29tcHJlc3NvYmooKSBhbmQgemxpYi5kZWNvbXByZXNzb2JqKCkgbm93IHN1cHBvcnQgdGhlIHVzZQotICBvZiBwcmVkZWZpbmVkIGNvbXByZXNzaW9uIGRpY3Rpb25hcmllcy4gT3JpZ2luYWwgcGF0Y2ggYnkgU2FtIFJ1c2hpbmcuCi0KLS0gRml4IEd6aXBGaWxlJ3MgaGFuZGxpbmcgb2YgZmlsZW5hbWVzIGdpdmVuIGFzIGJ5dGVzIG9iamVjdHMuCi0KLS0gSXNzdWUgIzE0NzcyOiBSZXR1cm4gZGVzdGluYXRpb24gdmFsdWVzIGZyb20gc29tZSBzaHV0aWwgZnVuY3Rpb25zLgotCi0tIElzc3VlICMxNTA2NDogSW1wbGVtZW50IGNvbnRleHQgbWFuYWdlciBwcm90b2NvbCBmb3IgbXVsdGlwcm9jZXNzaW5nIHR5cGVzCi0KLS0gSXNzdWUgIzE1MTAxOiBNYWtlIHBvb2wgZmluYWxpemVyIGF2b2lkIGpvaW5pbmcgY3VycmVudCB0aHJlYWQuCi0KLS0gSXNzdWUgIzE0NjU3OiBUaGUgZnJvemVuIGluc3RhbmNlIG9mIGltcG9ydGxpYiB1c2VkIGZvciBib290c3RyYXAgaXMgbm93Ci0gIGFsc28gdGhlIG1vZHVsZSBpbXBvcnRlZCBhcyBpbXBvcnRsaWIuX2Jvb3RzdHJhcC4KLQotLSBJc3N1ZSAjMTQwNTU6IEFkZCBfX3NpemVvZl9fIHN1cHBvcnQgdG8gX2VsZW1lbnR0cmVlLgotCi0tIElzc3VlICMxNTA1NDogQSBidWcgaW4gdG9rZW5pemUudG9rZW5pemUgdGhhdCBjYXVzZWQgc3RyaW5nIGxpdGVyYWxzCi0gIHdpdGggJ2InIHByZWZpeGVzIHRvIGJlIGluY29ycmVjdGx5IHRva2VuaXplZCBoYXMgYmVlbiBmaXhlZC4KLSAgUGF0Y2ggYnkgU2VyaGl5IFN0b3JjaGFrYS4KLQotLSBJc3N1ZSAjMTUwMDY6IEFsbG93IGVxdWFsaXR5IGNvbXBhcmlzb24gYmV0d2VlbiBuYWl2ZSBhbmQgYXdhcmUKLSAgdGltZSBvciBkYXRldGltZSBvYmplY3RzLgotCi0tIElzc3VlICMxNTAzNjogTWFpbGJveCBubyBsb25nZXIgdGhyb3dzIGFuIGVycm9yIGlmIGEgZmx1c2ggaXMgZG9uZQotICBiZXR3ZWVuIG9wZXJhdGlvbnMgd2hlbiByZW1vdmluZyBvciBjaGFuZ2luZyBtdWx0aXBsZSBpdGVtcyBpbiBtYm94LAotICBNTURGLCBvciBCYWJ5bCBtYWlsYm94ZXMuCi0KLS0gSXNzdWUgIzE0MDU5OiBJbXBsZW1lbnQgbXVsdGlwcm9jZXNzaW5nLkJhcnJpZXIuCi0KLS0gSXNzdWUgIzE1MDYxOiBUaGUgaW5hcHByb3ByaWF0ZWx5IG5hbWVkIGhtYWMuc2VjdXJlX2NvbXBhcmUgaGFzIGJlZW4KLSAgcmVuYW1lZCB0byBobWFjLmNvbXBhcmVfZGlnZXN0LCByZXN0cmljdGVkIHRvIG9wZXJhdGluZyBvbiBieXRlcyBpbnB1dHMKLSAgb25seSBhbmQgaGFkIGl0cyBkb2N1bWVudGF0aW9uIHVwZGF0ZWQgdG8gbW9yZSBhY2N1cmF0ZWx5IHJlZmxlY3QgYm90aCBpdHMKLSAgaW50ZW50IGFuZCBpdHMgbGltaXRhdGlvbnMKLQotLSBJc3N1ZSAjMTM4NDE6IE1ha2UgY2hpbGQgcHJvY2Vzc2VzIGV4aXQgdXNpbmcgc3lzLmV4aXQoKSBvbiBXaW5kb3dzLgotCi0tIElzc3VlICMxNDkzNjogY3Vyc2VzX3BhbmVsIHdhcyBjb252ZXJ0ZWQgdG8gUEVQIDMxMjEgYW5kIFBFUCAzODQgQVBJLgotICBQYXRjaCBieSBSb2JpbiBTY2hyZWliZXIuCi0KLS0gSXNzdWUgIzE2Njc1NDY6IE9uIHBsYXRmb3JtcyBzdXBwb3J0aW5nIHRtX3pvbmUgYW5kIHRtX2dtdG9mZiBmaWVsZHMKLSAgaW4gc3RydWN0IHRtLCB0aW1lLnN0cnVjdF90aW1lIG9iamVjdHMgcmV0dXJuZWQgYnkgdGltZS5nbXRpbWUoKSwKLSAgdGltZS5sb2NhbHRpbWUoKSBhbmQgdGltZS5zdHJwdGltZSgpIGZ1bmN0aW9ucyBub3cgaGF2ZSB0bV96b25lIGFuZAotICB0bV9nbXRvZmYgYXR0cmlidXRlcy4gIE9yaWdpbmFsIHBhdGNoIGJ5IFBhdWwgQm9kZGllLgotCi0tIFJlbmFtZSBhZGp1c3RlZCBhdHRyaWJ1dGUgdG8gYWRqdXN0YWJsZSBpbiB0aW1lLmdldF9jbG9ja19pbmZvKCkgcmVzdWx0LgotCi0tIElzc3VlICMzNTE4OiBSZW1vdmUgcmVmZXJlbmNlcyB0byBub24tZXhpc3RlbnQgQmFzZU1hbmFnZXIuZnJvbV9hZGRyZXNzKCkKLSAgbWV0aG9kLgotCi0tIElzc3VlICMxMzg1NzogQWRkZWQgdGV4dHdyYXAuaW5kZW50KCkgZnVuY3Rpb24gKGluaXRpYWwgcGF0Y2ggYnkgRXpyYQotICBCZXJjaCkKLQotLSBJc3N1ZSAjMjczNjogQWRkZWQgZGF0ZXRpbWUudGltZXN0YW1wKCkgbWV0aG9kLgotCi0tIElzc3VlICMxMzg1NDogTWFrZSBtdWx0aXByb2Nlc3NpbmcgcHJvcGVybHkgaGFuZGxlIG5vbi1pbnRlZ2VyCi0gIG5vbi1zdHJpbmcgYXJndW1lbnQgdG8gU3lzdGVtRXhpdC4KLQotLSBJc3N1ZSAjMTIxNTc6IE1ha2UgcG9vbC5tYXAoKSBlbXB0eSBpdGVyYWJsZXMgY29ycmVjdGx5LiAgSW5pdGlhbAotICBwYXRjaCBieSBtb3VhZC4KLQotLSBJc3N1ZSAjMTE4MjM6IGRpc2Fzc2VtYmx5IG5vdyBzaG93cyBhcmd1bWVudCBjb3VudHMgb24gY2FsbHMgd2l0aCBrZXl3b3JkIGFyZ3MuCi0KLS0gSXNzdWUgIzE0NzExOiBvcy5zdGF0X2Zsb2F0X3RpbWVzKCkgaGFzIGJlZW4gZGVwcmVjYXRlZC4KLQotLSBMWk1BRmlsZSBub3cgYWNjZXB0cyB0aGUgbW9kZXMgInJiIi8id2IiLyJhYiIgYXMgc3lub255bXMgb2YgInIiLyJ3Ii8iYSIuCi0KLS0gVGhlIGJ6MiBhbmQgbHptYSBtb2R1bGVzIG5vdyBlYWNoIGNvbnRhaW4gYW4gb3BlbigpIGZ1bmN0aW9uLCBhbGxvd2luZwotICBjb21wcmVzc2VkIGZpbGVzIHRvIHJlYWRpbHkgYmUgb3BlbmVkIGluIHRleHQgbW9kZSBhcyB3ZWxsIGFzIGJpbmFyeSBtb2RlLgotCi0tIEJaMkZpbGUuX19pbml0X18oKSBhbmQgTFpNQUZpbGUuX19pbml0X18oKSBub3cgYWNjZXB0IGEgZmlsZSBvYmplY3QgYXMgdGhlaXIKLSAgZmlyc3QgYXJndW1lbnQsIHJhdGhlciB0aGFuIHJlcXVpcmluZyBhIHNlcGFyYXRlICJmaWxlb2JqIiBhcmd1bWVudC4KLQotLSBnemlwLm9wZW4oKSBub3cgYWNjZXB0cyBmaWxlIG9iamVjdHMgYXMgd2VsbCBhcyBmaWxlbmFtZXMuCi0KLS0gSXNzdWUgIzE0OTkyOiBvcy5tYWtlZGlycyhwYXRoLCBleGlzdF9vaz1UcnVlKSB3b3VsZCByYWlzZSBhbiBPU0Vycm9yCi0gIHdoZW4gdGhlIHBhdGggZXhpc3RlZCBhbmQgaGFkIHRoZSBTX0lTR0lEIG1vZGUgYml0IHNldCB3aGVuIGl0IHdhcwotICBub3QgZXhwbGljaXRseSBhc2tlZCBmb3IuICBUaGlzIGlzIG5vIGxvbmdlciBhbiBleGNlcHRpb24gYXMgbWtkaXIKLSAgY2Fubm90IGNvbnRyb2wgaWYgdGhlIE9TIHNldHMgdGhhdCBiaXQgZm9yIGl0IG9yIG5vdC4KLQotLSBJc3N1ZSAjMTQ5ODk6IE1ha2UgdGhlIENHSSBlbmFibGUgb3B0aW9uIHRvIGh0dHAuc2VydmVyIGF2YWlsYWJsZSB2aWEgY29tbWFuZAotICBsaW5lLgotCi0tIElzc3VlICMxNDk4NzogQWRkIGEgbWlzc2luZyBpbXBvcnQgc3RhdGVtZW50IHRvIGluc3BlY3QuCi0KLS0gSXNzdWUgIzEwNzk6IGVtYWlsLmhlYWRlci5kZWNvZGVfaGVhZGVyIG5vdyBjb3JyZWN0bHkgcGFyc2VzIGFsbCB0aGUgZXhhbXBsZXMKLSAgaW4gUkZDMjA0Ny4gIFRoZXJlIGlzIGEgbmVjZXNzYXJ5IHZpc2libGUgYmVoYXZpb3IgY2hhbmdlOiB0aGUgbGVhZGluZyBhbmQvb3IKLSAgdHJhaWxpbmcgd2hpdGVzcGFjZSBvbiBBU0NJSSBwYXJ0cyBpcyBub3cgcHJlc2VydmVkLgotCi0tIElzc3VlICMxNDk2OTogQmV0dGVyIGhhbmRsaW5nIG9mIGV4Y2VwdGlvbiBjaGFpbmluZyBpbiBjb250ZXh0bGliLkV4aXRTdGFjawotCi0tIElzc3VlICMxNDk2MzogQ29udmVydCBjb250ZXh0bGliLkV4aXRTdGFjay5fX2V4aXRfXyB0byB1c2UgYW4gaXRlcmF0aXZlCi0gIGFsZ29yaXRobSAoUGF0Y2ggYnkgQWxvbiBIb3JldikKLQotLSBJc3N1ZSAjMTQ3ODU6IEFkZCBzeXMuX2RlYnVnbWFsbG9jc3RhdHMoKSB0byBoZWxwIGRlYnVnIGxvdy1sZXZlbCBtZW1vcnkKLSAgYWxsb2NhdGlvbiBpc3N1ZXMKLQotLSBJc3N1ZSAjMTQ0NDM6IEVuc3VyZSB0aGF0IC5weSBmaWxlcyBhcmUgYnl0ZS1jb21waWxlZCB3aXRoIHRoZSBjb3JyZWN0IFB5dGhvbgotICBleGVjdXRhYmxlIHdpdGhpbiBiZGlzdF9ycG0gZXZlbiBvbiBvbGRlciB2ZXJzaW9ucyBvZiBSUE0KLQotQy1BUEkKLS0tLS0tCi0KLS0gSXNzdWUgIzE1MTQ2OiBBZGQgUHlUeXBlX0Zyb21TcGVjV2l0aEJhc2VzLiBQYXRjaCBieSBSb2JpbiBTY2hyZWliZXIuCi0KLS0gSXNzdWUgIzE1MDQyOiBBZGQgUHlTdGF0ZV9BZGRNb2R1bGUgYW5kIFB5U3RhdGVfUmVtb3ZlTW9kdWxlLiBBZGQgdmVyc2lvbgotICBndWFyZCBmb3IgUHlfTElNSVRFRF9BUEkgYWRkaXRpb25zLiBQYXRjaCBieSBSb2JpbiBTY2hyZWliZXIuCi0KLS0gSXNzdWUgIzEzNzgzOiBJbmFkdmVydGVudCBhZGRpdGlvbnMgdG8gdGhlIHB1YmxpYyBDIEFQSSBpbiB0aGUgUEVQIDM4MAotICBpbXBsZW1lbnRhdGlvbiBoYXZlIGVpdGhlciBiZWVuIHJlbW92ZWQgb3IgbWFya2VkIGFzIHByaXZhdGUgaW50ZXJmYWNlcy4KLQotRXh0ZW5zaW9uIE1vZHVsZXMKLS0tLS0tLS0tLS0tLS0tLS0tCi0KLS0gSXNzdWUgIzE1MDAwOiBTdXBwb3J0IHRoZSAidW5pcXVlIiB4MzIgYXJjaGl0ZWN0dXJlIGluIF9wb3NpeHN1YnByb2Nlc3MuYy4KLQotSURMRQotLS0tLQotCi0tIElzc3VlICM5ODAzOiBEb24ndCBjbG9zZSBJRExFIG9uIHNhdmluZyBpZiBicmVha3BvaW50IGlzIG9wZW4uCi0gIFBhdGNoIGJ5IFJvZ2VyIFNlcnd5LgotCi0tIElzc3VlICMxNDk2MjogVXBkYXRlIHRleHQgY29sb3JpbmcgaW4gSURMRSBzaGVsbCB3aW5kb3cgYWZ0ZXIgY2hhbmdpbmcKLSAgb3B0aW9ucy4gIFBhdGNoIGJ5IFJvZ2VyIFNlcnd5LgotCi1Eb2N1bWVudGF0aW9uCi0tLS0tLS0tLS0tLS0tCi0KLS0gSXNzdWUgIzE1MTc2OiBDbGFyaWZpZWQgYmVoYXZpb3IsIGRvY3VtZW50YXRpb24sIGFuZCBpbXBsZW1lbnRhdGlvbgotICBvZiBvcy5saXN0ZGlyKCkuCi0KLS0gSXNzdWUgIzE0OTgyOiBEb2N1bWVudCB0aGF0IHBrZ3V0aWwncyBpdGVyYXRpb24gZnVuY3Rpb25zIHJlcXVpcmUgdGhlCi0gIG5vbi1zdGFuZGFyZCBpdGVyX21vZHVsZXMoKSBtZXRob2QgdG8gYmUgZGVmaW5lZCBieSBhbiBpbXBvcnRlciAoc29tZXRoaW5nCi0gIHRoZSBpbXBvcnRsaWIgaW1wb3J0ZXJzIGRvIG5vdCBkZWZpbmUpLgotCi0tIElzc3VlICMxNTA4MTogRG9jdW1lbnQgUHlTdGF0ZV9GaW5kTW9kdWxlLgotICBQYXRjaCBieSBSb2JpbiBTY2hyZWliZXIuCi0KLS0gSXNzdWUgIzE0ODE0OiBBZGRlZCBmaXJzdCBkcmFmdCBvZiBpcGFkZHJlc3MgbW9kdWxlIEFQSSByZWZlcmVuY2UKLQotVGVzdHMKLS0tLS0tCi0KLS0gSXNzdWUgIzE1MTg3OiBCdWdmaXg6IHJlbW92ZSB0ZW1wb3JhcnkgZGlyZWN0b3JpZXMgdGVzdF9zaHV0aWwgd2FzIGxlYXZpbmcKLSAgYmVoaW5kLgotCi0tIElzc3VlICMxNDc2OTogdGVzdF9jYXBpIG5vdyBoYXMgU2tpcGl0ZW1UZXN0LCB3aGljaCBjbGV2ZXJseSBjaGVja3MKLSAgZm9yICJwYXJpdHkiIGJldHdlZW4gUHlBcmdfUGFyc2VUdXBsZSgpIGFuZCB0aGUgUHl0aG9uL2dldGFyZ3MuYyBzdGF0aWMKLSAgZnVuY3Rpb24gc2tpcGl0ZW0oKSBmb3IgYWxsIHBvc3NpYmxlICJmb3JtYXQgdW5pdHMiLgotCi0tIHRlc3Rfbm50cGxpYiBub3cgdG9sZXJhdGVzIGJlaW5nIHJ1biBmcm9tIGJlaGluZCBOTlRQIGdhdGV3YXlzIHRoYXQgYWRkCi0gICJYLUFudGl2aXJ1cyIgaGVhZGVycyB0byBhcnRpY2xlcwotCi0tIElzc3VlICMxNTA0MzogdGVzdF9nZGIgaXMgbm93IHNraXBwZWQgZW50aXJlbHkgaWYgZ2RiIHNlY3VyaXR5IHNldHRpbmdzCi0gIGJsb2NrIGxvYWRpbmcgb2YgdGhlIGdkYiBob29rcwotCi0tIElzc3VlICMxNDk2MzogQWRkIHRlc3QgY2FzZXMgZm9yIGV4Y2VwdGlvbiBoYW5kbGluZyBiZWhhdmlvdXIKLSAgaW4gY29udGV4dGxpYi5FeGl0U3RhY2sgKEluaXRpYWwgcGF0Y2ggYnkgQWxvbiBIb3JldikKLQotQnVpbGQKLS0tLS0tCi0KLS0gSXNzdWUgIzEzNTkwOiBJbXByb3ZlIHN1cHBvcnQgZm9yIE9TIFggWGNvZGUgNDoKLSAgICAqIFRyeSB0byBhdm9pZCBidWlsZGluZyBQeXRob24gb3IgZXh0ZW5zaW9uIG1vZHVsZXMgd2l0aCBwcm9ibGVtYXRpYwotICAgICAgbGx2bS1nY2MgY29tcGlsZXIuCi0gICAgKiBTaW5jZSBYY29kZSA0IHJlbW92ZXMgcHBjIHN1cHBvcnQsIGV4dGVuc2lvbiBtb2R1bGUgYnVpbGRzIG5vdwotICAgICAgY2hlY2sgZm9yIHBwYyBjb21waWxlciBzdXBwb3J0IGFuZCBhdXRvbWF0aWNhbGx5IHJlbW92ZSBwcGMgYW5kCi0gICAgICBwcGM2NCBhcmNocyB3aGVuIG5vdCBhdmFpbGFibGUuCi0gICAgKiBTaW5jZSBYY29kZSA0IG5vIGxvbmdlciBpbnN0YWxsIFNES3MgaW4gZGVmYXVsdCBsb2NhdGlvbnMsCi0gICAgICBleHRlbnNpb24gbW9kdWxlIGJ1aWxkcyBub3cgcmV2ZXJ0IHRvIHVzaW5nIGluc3RhbGxlZCBoZWFkZXJzCi0gICAgICBhbmQgbGlicyBpZiB0aGUgU0RLIHVzZWQgdG8gYnVpbGQgdGhlIGludGVycHJldGVyIGlzIG5vdAotICAgICAgYXZhaWxhYmxlLgotICAgICogVXBkYXRlIC4vY29uZmlndXJlIHRvIHVzZSBiZXR0ZXIgZGVmYXVsdHMgZm9yIHVuaXZlcnNhbCBidWlsZHM7Ci0gICAgICBpbiBwYXJ0aWN1bGFyLCAtLWVuYWJsZS11bml2ZXJzYWxzZGs9eWVzIHVzZXMgdGhlIFhjb2RlIGRlZmF1bHQKLSAgICAgIFNESyBhbmQgLS13aXRoLXVuaXZlcnNhbC1hcmNocyBub3cgZGVmYXVsdHMgdG8gImludGVsIiBpZiBwcGMKLSAgICAgIG5vdCBhdmFpbGFibGUuCi0KLS0gSXNzdWUgIzE0MjI1OiBGaXggVW5pY29kZSBzdXBwb3J0IGZvciBjdXJzZXMgKCMxMjU2Nykgb24gT1MgWAotCi0tIElzc3VlICMxNDkyODogRml4IGltcG9ydGxpYiBib290c3RyYXAgaXNzdWVzIGJ5IHVzaW5nIGEgY3VzdG9tIGV4ZWN1dGFibGUKLSAgKE1vZHVsZXMvX2ZyZWV6ZV9pbXBvcnRsaWIpIHRvIGJ1aWxkIFB5dGhvbi9pbXBvcnRsaWIuaC4KLQotCi1XaGF0J3MgTmV3IGluIFB5dGhvbiAzLjMuMCBBbHBoYSA0PwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLQotKlJlbGVhc2UgZGF0ZTogMzEtTWF5LTIwMTIqCi0KLUNvcmUgYW5kIEJ1aWx0aW5zCi0tLS0tLS0tLS0tLS0tLS0tLQotCi0tIElzc3VlICMxNDgzNTogTWFrZSBwbGlzdGxpYiBvdXRwdXQgZW1wdHkgYXJyYXlzICYgZGljdHMgbGlrZSBPUyBYLgotICBQYXRjaCBieSBTaWRuZXkgU2FuIE1hcnTDrW4uCi0KLS0gSXNzdWUgIzE0NzQ0OiBVc2UgdGhlIG5ldyBfUHlVbmljb2RlV3JpdGVyIGludGVybmFsIEFQSSB0byBzcGVlZCB1cAotICBzdHIlYXJncyBhbmQgc3RyLmZvcm1hdChhcmdzKS4KLQotLSBJc3N1ZSAjMTQ5MzA6IE1ha2UgbWVtb3J5dmlldyBvYmplY3RzIHdlYWtyZWZhYmxlLgotCi0tIElzc3VlICMxNDc3NTogRml4IGEgcG90ZW50aWFsIHF1YWRyYXRpYyBkaWN0IGJ1aWxkLXVwIGR1ZSB0byB0aGUgZ2FyYmFnZQotICBjb2xsZWN0b3IgcmVwZWF0ZWRseSB0cnlpbmcgdG8gdW50cmFjayBkaWN0cy4KLQotLSBJc3N1ZSAjMTQ4NTc6IGZpeCByZWdyZXNzaW9uIGluIHJlZmVyZW5jZXMgdG8gUEVQIDMxMzUgaW1wbGljaXQgX19jbGFzc19fCi0gIGNsb3N1cmUgdmFyaWFibGUgKFJlb3BlbnMgaXNzdWUgIzEyMzcwKQotCi0tIElzc3VlICMxNDcxMiAoUEVQIDQwNSk6IFZpcnR1YWwgZW52aXJvbm1lbnRzLiBJbXBsZW1lbnRlZCBieSBWaW5heSBTYWppcC4KLQotLSBJc3N1ZSAjMTQ2NjAgKFBFUCA0MjApOiBOYW1lc3BhY2UgcGFja2FnZXMuIEltcGxlbWVudGVkIGJ5IEVyaWMgU21pdGguCi0KLS0gSXNzdWUgIzE0NDk0OiBGaXggX19mdXR1cmVfXy5weSBhbmQgaXRzIGRvY3VtZW50YXRpb24gdG8gbm90ZSB0aGF0Ci0gIGFic29sdXRlIGltcG9ydHMgYXJlIHRoZSBkZWZhdWx0IGJlaGF2aW9yIGluIDMuMCBpbnN0ZWFkIG9mIDIuNy4KLSAgUGF0Y2ggYnkgU3ZlbiBNYXJuYWNoLgotCi0tIElzc3VlICM5MjYwOiBBIGZpbmVyLWdyYWluZWQgaW1wb3J0IGxvY2suICBNb3N0IG9mIHRoZSBpbXBvcnQgc2VxdWVuY2UKLSAgbm93IHVzZXMgcGVyLW1vZHVsZSBsb2NrcyByYXRoZXIgdGhhbiB0aGUgZ2xvYmFsIGltcG9ydCBsb2NrLCBlbGltaW5hdGluZwotICB3ZWxsLWtub3duIGlzc3VlcyB3aXRoIHRocmVhZHMgYW5kIGltcG9ydHMuCi0KLS0gSXNzdWUgIzE0NjI0OiBVVEYtMTYgZGVjb2RpbmcgaXMgbm93IDN4IHRvIDR4IGZhc3RlciBvbiB2YXJpb3VzIGlucHV0cy4KLSAgUGF0Y2ggYnkgU2VyaGl5IFN0b3JjaGFrYS4KLQotLSBhc2RsX3NlcSBhbmQgYXNkbF9pbnRfc2VxIGFyZSBub3cgUHlfc3NpemVfdCBzaXplZC4KLQotLSBJc3N1ZSAjMTQxMzMgKFBFUCA0MTUpOiBJbXBsZW1lbnQgc3VwcHJlc3Npb24gb2YgX19jb250ZXh0X18gZGlzcGxheSB3aXRoIGFuCi0gIGF0dHJpYnV0ZSBvbiBCYXNlRXhjZXB0aW9uLiBUaGlzIHJlcGxhY2VzIHRoZSBvcmlnaW5hbCBtZWNoYW5pc20gb2YgUEVQIDQwOS4KLQotLSBJc3N1ZSAjMTQ0MTc6IE11dGF0aW5nIGEgZGljdCBkdXJpbmcgbG9va3VwIG5vdyByZXN0YXJ0cyB0aGUgbG9va3VwIGluc3RlYWQKLSAgb2YgcmFpc2luZyBhIFJ1bnRpbWVFcnJvciAodW5kb2VzIGlzc3VlICMxNDIwNSkuCi0KLS0gSXNzdWUgIzE0NzM4OiBTcGVlZC11cCBVVEYtOCBkZWNvZGluZyBvbiBub24tQVNDSUkgZGF0YS4gIFBhdGNoIGJ5IFNlcmhpeQotICBTdG9yY2hha2EuCi0KLS0gSXNzdWUgIzE0NzAwOiBGaXggdHdvIGJyb2tlbiBhbmQgdW5kZWZpbmVkLWJlaGF2aW91ci1pbmR1Y2luZyBvdmVyZmxvdyBjaGVja3MKLSAgaW4gb2xkLXN0eWxlIHN0cmluZyBmb3JtYXR0aW5nLgotCi1MaWJyYXJ5Ci0tLS0tLS0tCi0KLS0gSXNzdWUgIzE0NjkwOiBVc2UgbW9ub3RvbmljIGNsb2NrIGluc3RlYWQgb2Ygc3lzdGVtIGNsb2NrIGluIHRoZSBzY2hlZCwKLSAgc3VicHJvY2VzcyBhbmQgdHJhY2UgbW9kdWxlcy4KLQotLSBJc3N1ZSAjMTQ0NDM6IFRlbGwgcnBtYnVpbGQgdG8gdXNlIHRoZSBjb3JyZWN0IHZlcnNpb24gb2YgUHl0aG9uIGluCi0gIGJkaXN0X3JwbS4gSW5pdGlhbCBwYXRjaCBieSBSb3NzIExhZ2Vyd2FsbC4KLQotLSBJc3N1ZSAjMTI1MTU6IGVtYWlsIG5vdyByZWdpc3RlcnMgYSBkZWZlY3QgaWYgaXQgZ2V0cyB0byBFT0Ygd2hpbGUgcGFyc2luZwotICBhIE1JTUUgcGFydCB3aXRob3V0IHNlZWluZyB0aGUgY2xvc2luZyBNSU1FIGJvdW5kYXJ5LgotCi0tIElzc3VlICMxNjcyNTY4OiBlbWFpbCBub3cgYWx3YXlzIGRlY29kZXMgYmFzZTY0IHBheWxvYWRzLCBhZGRpbmcgcGFkZGluZyBhbmQKLSAgaWdub3Jpbmcgbm9uLWJhc2U2NC1hbHBoYWJldCBjaGFyYWN0ZXJzIGlmIG5lZWRlZCwgYW5kIHJlZ2lzdGVyaW5nIGRlZmVjdHMKLSAgZm9yIGFueSBzdWNoIHByb2JsZW1zLgotCi0tIElzc3VlICMxNDkyNTogZW1haWwgbm93IHJlZ2lzdGVycyBhIGRlZmVjdCB3aGVuIHRoZSBwYXJzZXIgZGVjaWRlcyB0aGF0IHRoZXJlCi0gIGlzIGEgbWlzc2luZyBoZWFkZXIvYm9keSBzZXBhcmF0b3IgbGluZS4gIE1hbGZvcm1lZEhlYWRlckRlZmVjdCwgd2hpY2ggdGhlCi0gIGV4aXN0aW5nIGNvZGUgd291bGQgbmV2ZXIgYWN0dWFsbHkgZ2VuZXJhdGUsIGlzIGRlcHJlY2F0ZWQuCi0KLS0gSXNzdWUgIzEwMzY1OiBGaWxlIG9wZW4gZGlhbG9nIG5vdyB3b3JrcyBpbnN0ZWFkIG9mIGNyYXNoaW5nIGV2ZW4gd2hlbgotICB0aGUgcGFyZW50IHdpbmRvdyBpcyBjbG9zZWQgYmVmb3JlIHRoZSBkaWFsb2cuIFBhdGNoIGJ5IFJvZ2VyIFNlcnd5LgotCi0tIElzc3VlICM4NzM5OiBVcGRhdGVkIHNtdHBkIHRvIHN1cHBvcnQgUkZDIDUzMjEsIGFuZCBhZGRlZCBzdXBwb3J0IGZvciB0aGUKLSAgUkZDIDE4NzAgU0laRSBleHRlbnNpb24uCi0KLS0gSXNzdWUgIzY2NTE5NDogQWRkZWQgYSBsb2NhbHRpbWUgZnVuY3Rpb24gdG8gZW1haWwudXRpbHMgdG8gcHJvdmlkZSBhbgotICBhd2FyZSBsb2NhbCBkYXRldGltZSBmb3IgdXNlIGluIHNldHRpbmcgRGF0ZSBoZWFkZXJzLgotCi0tIElzc3VlICMxMjU4NjogQWRkZWQgbmV3IHByb3Zpc2lvbmFsIHBvbGljaWVzIHRoYXQgaW1wbGVtZW50IGNvbnZlbmllbnQKLSAgdW5pY29kZSBzdXBwb3J0IGZvciBlbWFpbCBoZWFkZXJzLiAgU2VlIFdoYXQncyBOZXcgZm9yIGRldGFpbHMuCi0KLS0gSXNzdWUgIzE0NzMxOiBSZWZhY3RvcmVkIGVtYWlsIFBvbGljeSBmcmFtZXdvcmsgdG8gc3VwcG9ydCBmdWxsIGJhY2t3YXJkCi0gIGNvbXBhdGliaWxpdHkgd2l0aCBQeXRob24gMy4yIGJ5IGRlZmF1bHQgeWV0IGFsbG93IGZvciB0aGUgaW50cm9kdWN0aW9uIG9mCi0gIG5ldyBmZWF0dXJlcyB0aHJvdWdoIG5ldyBwb2xpY2llcy4gIE5vdGUgdGhhdCBQb2xpY3kubXVzdF9iZV83Yml0IGlzIHJlbmFtZWQKLSAgdG8gY3RlX3R5cGUuCi0KLS0gSXNzdWUgIzE0ODc2OiBVc2UgdXNlci1zZWxlY3RlZCBmb250IGZvciBoaWdobGlnaHQgY29uZmlndXJhdGlvbi4KLQotLSBJc3N1ZSAjMTQ5MjA6IEZpeCB0aGUgaGVscCh1cmxsaWIucGFyc2UpIGZhaWx1cmUgb24gbG9jYWxlIEMgb24gdGVybWluYWxzLgotICBIYXZlIGFzY2lpIGNoYXJhY3RlcnMgaW4gaGVscC4KLQotLSBJc3N1ZSAjMTQ1NDg6IE1ha2UgbXVsdGlwcm9jZXNzaW5nIGZpbmFsaXplcnMgY2hlY2sgcGlkIGJlZm9yZQotICBydW5uaW5nIHRvIGNvcGUgd2l0aCBwb3NzaWJpbGl0eSBvZiBnYyBydW5uaW5nIGp1c3QgYWZ0ZXIgZm9yay4KLQotLSBJc3N1ZSAjMTQwMzY6IEFkZCBhbiBhZGRpdGlvbmFsIGNoZWNrIHRvIHZhbGlkYXRlIHRoYXQgcG9ydCBpbiB1cmxwYXJzZSBkb2VzCi0gIG5vdCBnbyBpbiBpbGxlZ2FsIHJhbmdlIGFuZCByZXR1cm5zIE5vbmUuCi0KLS0gSXNzdWUgIzE0ODYyOiBBZGQgbWlzc2luZyBuYW1lcyB0byBvcy5fX2FsbF9fCi0KLS0gSXNzdWUgIzE0ODc1OiBVc2UgZmxvYXQoJ2luZicpIGluc3RlYWQgb2YgZmxvYXQoJzFlNjY2NjYnKSBpbiB0aGUganNvbiBtb2R1bGUuCi0KLS0gSXNzdWUgIzEzNTg1OiBBZGRlZCBjb250ZXh0bGliLkV4aXRTdGFjawotCi0tIFBFUCAzMTQ0LCBJc3N1ZSAjMTQ4MTQ6IEFkZGVkIHRoZSBpcGFkZHJlc3MgbW9kdWxlCi0KLS0gSXNzdWUgIzE0NDI2OiBDb3JyZWN0IHRoZSBEYXRlIGZvcm1hdCBpbiBFeHBpcmVzIGF0dHJpYnV0ZSBvZiBTZXQtQ29va2llCi0gIEhlYWRlciBpbiBDb29raWUucHkuCi0KLS0gSXNzdWUgIzE0NTg4OiBUaGUgdHlwZXMgbW9kdWxlIG5vdyBwcm92aWRlIG5ld19jbGFzcygpIGFuZCBwcmVwYXJlX2NsYXNzKCkKLSAgZnVuY3Rpb25zIHRvIHN1cHBvcnQgUEVQIDMxMTUgY29tcGxpYW50IGR5bmFtaWMgY2xhc3MgY3JlYXRpb24uIFBhdGNoIGJ5Ci0gIERhbmllbCBVcmJhbiBhbmQgTmljayBDb2dobGFuLgotCi0tIElzc3VlICMxMzE1MjogQWxsb3cgdG8gc3BlY2lmeSBhIGN1c3RvbSB0YWJzaXplIGZvciBleHBhbmRpbmcgdGFicyBpbgotICB0ZXh0d3JhcC4gUGF0Y2ggYnkgSm9obiBGZXVlcnN0ZWluLgotCi0tIElzc3VlICMxNDcyMTogU2VuZCB0aGUgY29ycmVjdCAnQ29udGVudC1sZW5ndGg6IDAnIGhlYWRlciB3aGVuIHRoZSBib2R5IGlzIGFuCi0gIGVtcHR5IHN0cmluZyAnJy4gSW5pdGlhbCBQYXRjaCBjb250cmlidXRlZCBieSBBcnZlIEtudWRzZW4uCi0KLS0gSXNzdWUgIzE0MDcyOiBGaXggcGFyc2luZyBvZiAndGVsJyBVUklzIGluIHVybHBhcnNlIGJ5IG1ha2luZyB0aGUgY2hlY2sgZm9yCi0gIHBvcnRzIHN0cmljdGVyLgotCi0tIElzc3VlICM5Mzc0OiBHZW5lcmljIHBhcnNpbmcgb2YgcXVlcnkgYW5kIGZyYWdtZW50IHBvcnRpb25zIG9mIHVybCBmb3IgYW55Ci0gIHNjaGVtZS4gU3VwcG9ydGVkIGJvdGggYnkgUkZDMzk4NiBhbmQgUkZDMjM5Ni4KLQotLSBJc3N1ZSAjMTQ3OTg6IEZpeCB0aGUgZnVuY3Rpb25zIGluIHB5Y2xiciB0byByYWlzZSBhbiBJbXBvcnRFcnJvcgotICB3aGVuIHRoZSBmaXJzdCBwYXJ0IG9mIGEgZG90dGVkIG5hbWUgaXMgbm90IGEgcGFja2FnZS4gUGF0Y2ggYnkKLSAgWGF2aWVyIGRlIEdheWUuCi0KLS0gSXNzdWUgIzEyMDk4OiBtdWx0aXByb2Nlc3Npbmcgb24gV2luZG93cyBub3cgc3RhcnRzIGNoaWxkIHByb2Nlc3NlcwotICB1c2luZyB0aGUgc2FtZSBzeXMuZmxhZ3MgYXMgdGhlIGN1cnJlbnQgcHJvY2Vzcy4gIEluaXRpYWwgcGF0Y2ggYnkKLSAgU2VyZ2V5IE1lemVudHNldi4KLQotLSBJc3N1ZSAjMTMwMzE6IFNtYWxsIHNwZWVkLXVwIGZvciB0YXJmaWxlIHdoZW4gdW56aXBwaW5nIHRhcmZpbGVzLgotICBQYXRjaCBieSBKdXN0aW4gUGVlbC4KLQotLSBJc3N1ZSAjMTQ3ODA6IHVybGxpYi5yZXF1ZXN0LnVybG9wZW4oKSBub3cgaGFzIGEgYGBjYWRlZmF1bHRgYCBhcmd1bWVudAotICB0byB1c2UgdGhlIGRlZmF1bHQgY2VydGlmaWNhdGUgc3RvcmUuICBJbml0aWFsIHBhdGNoIGJ5IEphbWVzIE9ha2xleS4KLQotLSBJc3N1ZSAjMTQ4Mjk6IEZpeCBiaXNlY3QgYW5kIHJhbmdlKCkgaW5kZXhpbmcgd2l0aCBsYXJnZSBpbmRpY2VzCi0gICg+PSAyICoqIDMyKSB1bmRlciA2NC1iaXQgV2luZG93cy4KLQotLSBJc3N1ZSAjMTQ3MzI6IFRoZSBfY3N2IG1vZHVsZSBub3cgdXNlcyBQRVAgMzEyMSBtb2R1bGUgaW5pdGlhbGl6YXRpb24uCi0gIFBhdGNoIGJ5IFJvYmluIFNjaHJlaWJlci4KLQotLSBJc3N1ZSAjMTQ4MDk6IEFkZCBIVFRQIHN0YXR1cyBjb2RlcyBpbnRyb2R1Y2VkIGJ5IFJGQyA2NTg1IHRvIGh0dHAuc2VydmVyCi0gIGFuZCBodHRwLmNsaWVudC4gUGF0Y2ggYnkgRXVuZ0p1biBZaS4KLQotLSBJc3N1ZSAjMTQ3Nzc6IHRraW50ZXIgbWF5IHJldHVybiB1bmRlY29kZWQgVVRGLTggYnl0ZXMgYXMgYSBzdHJpbmcgd2hlbgotICBhY2Nlc3NpbmcgdGhlIFRrIGNsaXBib2FyZC4gIE1vZGlmeSBjbGlwYm9hZF9nZXQoKSB0byBmaXJzdCByZXF1ZXN0IHR5cGUKLSAgVVRGOF9TVFJJTkcgd2hlbiBubyBzcGVjaWZpYyB0eXBlIGlzIHJlcXVlc3RlZCBpbiBhbiBYMTEgd2luZG93aW5nCi0gIGVudmlyb25tZW50LCBmYWxsaW5nIGJhY2sgdG8gdGhlIGN1cnJlbnQgZGVmYXVsdCB0eXBlIFNUUklORyBpZiB0aGF0IGZhaWxzLgotICBPcmlnaW5hbCBwYXRjaCBieSBUaG9tYXMgS2x1eXZlci4KLQotLSBJc3N1ZSAjMTQ3NzM6IEZpeCBvcy5md2FsaygpIGZhaWxpbmcgb24gZGFuZ2xpbmcgc3ltbGlua3MuCi0KLS0gSXNzdWUgIzEyNTQxOiBCZSBsZW5pZW50IHdpdGggcXVvdGVzIGFyb3VuZCBSZWFsbSBmaWVsZCBvZiBIVFRQIEJhc2ljCi0gIEF1dGhlbnRhdGlvbiBpbiB1cmxsaWIyLgotCi0tIElzc3VlICMxNDgwNzogbW92ZSB1bmRvY3VtZW50ZWQgdGFyZmlsZS5maWxlbW9kZSgpIHRvIHN0YXQuZmlsZW1vZGUoKSBhbmQgYWRkCi0gIGRvYyBlbnRyeS4gQWRkIHRhcmZpbGUuZmlsZW1vZGUgYWxpYXMgd2l0aCBkZXByZWNhdGlvbiB3YXJuaW5nLgotCi0tIElzc3VlICMxMzgxNTogVGFyRmlsZS5leHRyYWN0ZmlsZSgpIG5vdyByZXR1cm5zIGlvLkJ1ZmZlcmVkUmVhZGVyIG9iamVjdHMuCi0KLS0gSXNzdWUgIzE0NTMyOiBBZGQgYSBzZWN1cmVfY29tcGFyZSgpIGhlbHBlciB0byB0aGUgaG1hYyBtb2R1bGUsIHRvIG1pdGlnYXRlCi0gIHRpbWluZyBhdHRhY2tzLiBQYXRjaCBieSBKb24gT2JlcmhlaWRlLgotCi0tIEFkZCBpbXBvcnRsaWIudXRpbC5yZXNvbHZlX25hbWUoKS4KLQotLSBJc3N1ZSAjMTQzNjY6IFN1cHBvcnQgbHptYSBjb21wcmVzc2lvbiBpbiB6aXAgZmlsZXMuCi0gIFBhdGNoIGJ5IFNlcmhpeSBTdG9yY2hha2EuCi0KLS0gSXNzdWUgIzEzOTU5OiBJbnRyb2R1Y2UgaW1wb3J0bGliLmZpbmRfbG9hZGVyKCkgYW5kIGRvY3VtZW50Ci0gIGltcC5maW5kX21vZHVsZS9sb2FkX21vZHVsZSBhcyBkZXByZWNhdGVkLgotCi0tIElzc3VlICMxNDA4Mjogc2h1dGlsLmNvcHkyKCkgbm93IGNvcGllcyBleHRlbmRlZCBhdHRyaWJ1dGVzLCBpZiBwb3NzaWJsZS4KLSAgUGF0Y2ggYnkgSHluZWsgU2NobGF3YWNrLgotCi0tIElzc3VlICMxMzk1OTogTWFrZSBpbXBvcnRsaWIuYWJjLkZpbGVMb2FkZXIubG9hZF9tb2R1bGUoKS9nZXRfZmlsZW5hbWUoKSBhbmQKLSAgaW1wb3J0bGliLm1hY2hpbmVyeS5FeHRlbnNpb25GaWxlTG9hZGVyLmxvYWRfbW9kdWxlKCkgaGF2ZSB0aGVpciBzaW5nbGUKLSAgYXJndW1lbnQgYmUgb3B0aW9uYWwuIEFsbG93cyBmb3IgdGhlIHJlcGxhY2VtZW50IChhbmQgdGh1cyBkZXByZWNhdGlvbikgb2YKLSAgaW1wLmxvYWRfc291cmNlKCkvbG9hZF9wYWNrYWdlKCkvbG9hZF9jb21waWxlZCgpLgotCi0tIElzc3VlICMxMzk1OTogaW1wLmdldF9zdWZmaXhlcygpIGhhcyBiZWVuIGRlcHJlY2F0ZWQgaW4gZmF2b3VyIG9mIHRoZSBuZXcKLSAgYXR0cmlidXRlcyBvbiBpbXBvcnRsaWIubWFjaGluZXJ5OiBTT1VSQ0VfU1VGRklYRVMsIERFQlVHX0JZVEVDT0RFX1NVRkZJWEVTLAotICBPUFRJTUlaRURfQllURUNPREVfU1VGRklYRVMsIEJZVEVDT0RFX1NVRkZJWEVTLCBhbmQgRVhURU5TSU9OX1NVRkZJWEVTLiBUaGlzCi0gIGxlZCB0byBhbiBpbmRpcmVjdCBkZXByZWNhdGlvbiBvZiBpbnNwZWN0LmdldG1vZHVsZWluZm8oKS4KLQotLSBJc3N1ZSAjMTQ2NjI6IFByZXZlbnQgc2h1dGlsIGZhaWx1cmVzIG9uIE9TIFggd2hlbiBkZXN0aW5hdGlvbiBkb2VzIG5vdAotICBzdXBwb3J0IGNoZmxhZyBvcGVyYXRpb25zLiAgUGF0Y2ggYnkgSHluZWsgU2NobGF3YWNrLgotCi0tIElzc3VlICMxNDE1NzogRml4IHRpbWUuc3RycHRpbWUgZmFpbGluZyB3aXRob3V0IGEgeWVhciBvbiBGZWJydWFyeSAyOXRoLgotICBQYXRjaCBieSBIeW5layBTY2hsYXdhY2suCi0KLS0gSXNzdWUgIzE0NzUzOiBNYWtlIG11bHRpcHJvY2Vzc2luZydzIGhhbmRsaW5nIG9mIG5lZ2F0aXZlIHRpbWVvdXRzCi0gIHRoZSBzYW1lIGFzIGl0IHdhcyBpbiBQeXRob24gMy4yLgotCi0tIElzc3VlICMxNDU4MzogRml4IGltcG9ydGxpYiBidWcgd2hlbiBhIHBhY2thZ2UncyBfX2luaXRfXy5weSB3b3VsZCBmaXJzdAotICBpbXBvcnQgb25lIG9mIGl0cyBtb2R1bGVzIHRoZW4gcmFpc2UgYW4gZXJyb3IuCi0KLS0gSXNzdWUgIzE0NzQxOiBGaXggbWlzc2luZyBzdXBwb3J0IGZvciBFbGxpcHNpcyAoJy4uLicpIGluIHBhcnNlciBtb2R1bGUuCi0KLS0gSXNzdWUgIzE0Njk3OiBGaXggbWlzc2luZyBzdXBwb3J0IGZvciBzZXQgZGlzcGxheXMgYW5kIHNldCBjb21wcmVoZW5zaW9ucyBpbgotICBwYXJzZXIgbW9kdWxlLgotCi0tIElzc3VlICMxNDcwMTogRml4IG1pc3Npbmcgc3VwcG9ydCBmb3IgJ3JhaXNlIC4uLiBmcm9tJyBpbiBwYXJzZXIgbW9kdWxlLgotCi0tIEFkZCBzdXBwb3J0IGZvciB0aW1lb3V0cyB0byB0aGUgYWNxdWlyZSgpIG1ldGhvZHMgb2YKLSAgbXVsdGlwcm9jZXNzaW5nJ3MgbG9jay9zZW1hcGhvcmUvY29uZGl0aW9uIHByb3hpZXMuCi0KLS0gSXNzdWUgIzEzOTg5OiBBZGQgc3VwcG9ydCBmb3IgdGV4dCBtb2RlIHRvIGd6aXAub3BlbigpLgotCi0tIElzc3VlICMxNDEyNzogVGhlIG9zLnN0YXQoKSByZXN1bHQgb2JqZWN0IG5vdyBwcm92aWRlcyB0aHJlZSBhZGRpdGlvbmFsCi0gIGZpZWxkczogc3RfY3RpbWVfbnMsIHN0X210aW1lX25zLCBhbmQgc3RfYXRpbWVfbnMsIHByb3ZpZGluZyB0aG9zZSB0aW1lcyBhcyBhbgotICBpbnRlZ2VyIHdpdGggbmFub3NlY29uZCByZXNvbHV0aW9uLiAgVGhlIGZ1bmN0aW9ucyBvcy51dGltZSgpLCBvcy5sdXRpbWVzKCksCi0gIGFuZCBvcy5mdXRpbWVzKCkgbm93IGFjY2VwdCBhIG5ldyBwYXJhbWV0ZXIsIG5zLCB3aGljaCBhY2NlcHRzIG10aW1lIGFuZCBhdGltZQotICBhcyBpbnRlZ2VycyB3aXRoIG5hbm9zZWNvbmQgcmVzb2x1dGlvbi4KLQotLSBJc3N1ZSAjMTQxMjcgYW5kICMxMDE0ODogc2h1dGlsLmNvcHlzdGF0IG5vdyBwcmVzZXJ2ZXMgZXhhY3QgbXRpbWUgYW5kIGF0aW1lCi0gIG9uIGZpbGVzeXN0ZW1zIHByb3ZpZGluZyBuYW5vc2Vjb25kIHJlc29sdXRpb24uCi0KLUlETEUKLS0tLS0KLQotLSBJc3N1ZSAjMTQ5NTg6IENoYW5nZSBJRExFIHN5c3RheCBoaWdobGlnaHRpbmcgdG8gcmVjb2duaXplIGFsbCBzdHJpbmcgYW5kCi0gIGJ5dGUgbGl0ZXJhbHMgc3VwcG9ydGVkIGluIFB5dGhvbiAzLjMuCi0KLS0gSXNzdWUgIzEwOTk3OiBQcmV2ZW50IGEgZHVwbGljYXRlIGVudHJ5IGluIElETEUncyAiUmVjZW50IEZpbGVzIiBtZW51LgotCi0tIElzc3VlICMxNDkyOTogU3RvcCBJRExFIDMueCBmcm9tIGNsb3Npbmcgb24gVW5pY29kZSBkZWNvZGUgZXJyb3JzIHdoZW4KLSAgZ3JlcHBpbmcuIFBhdGNoIGJ5IFJvZ2VyIFNlcnd5LgotCi0tIElzc3VlICMxMjUxMDogQXR0ZW1wdGluZyB0byBnZXQgaW52YWxpZCB0b29sdGlwIG5vIGxvbmdlciBjbG9zZXMgSURMRS4KLSAgT3RoZXIgdG9vbHRpcHNzIGhhdmUgYmVlbiBjb3JyZWN0ZWQgb3IgaW1wcm92ZWQgYW5kIHRoZSBudW1iZXIgb2YgdGVzdHMKLSAgaGFzIGJlZW4gdHJpcGxlZC4gT3JpZ2luYWwgcGF0Y2ggYnkgUm9nZXIgU2Vyd3kuCi0KLVRvb2xzL0RlbW9zCi0tLS0tLS0tLS0tLQotCi0tIElzc3VlICMxNDY5NTogQnJpbmcgVG9vbHMvcGFyc2VyL3VucGFyc2UucHkgc3VwcG9ydCB1cCB0byBkYXRlIHdpdGgKLSAgdGhlIFB5dGhvbiAzLjMgR3JhbW1hci4KLQotQnVpbGQKLS0tLS0tCi0KLS0gSXNzdWUgIzE0NDcyOiBVcGRhdGUgLmdpdGlnbm9yZS4gUGF0Y2ggYnkgTWF0ZWogQ2VwbC4KLQotLSBVcGdyYWRlIFdpbmRvd3MgbGlicmFyeSB2ZXJzaW9uczogYnppcCAxLjAuNiwgT3BlblNTTCAxLjAuMWMuCi0KLS0gSXNzdWUgIzE0NjkzOiBVbmRlciBub24tV2luZG93cyBwbGF0Zm9ybXMsIGhhc2hsaWIncyBmYWxsYmFjayBtb2R1bGVzIGFyZQotICBhbHdheXMgY29tcGlsZWQsIGV2ZW4gaWYgT3BlblNTTCBpcyBwcmVzZW50IGF0IGJ1aWxkIHRpbWUuCi0KLS0gSXNzdWUgIzEzMjEwOiBXaW5kb3dzIGJ1aWxkIG5vdyB1c2VzIFZTMjAxMCwgcG9ydGVkIGZyb20gVlMyMDA4LgotCi1DLUFQSQotLS0tLS0KLQotLSBJc3N1ZSAjMTQ3MDU6IFRoZSBQeUFyZ19QYXJzZSgpIGZhbWlseSBvZiBmdW5jdGlvbnMgbm93IHN1cHBvcnQgdGhlICdwJyBmb3JtYXQKLSAgdW5pdCwgd2hpY2ggYWNjZXB0cyBhICJib29sZWFuIHByZWRpY2F0ZSIgYXJndW1lbnQuICBJdCBjb252ZXJ0cyBhbnkgUHl0aG9uCi0gIHZhbHVlIGludG8gYW4gaW50ZWdlci0tMCBpZiBpdCBpcyAiZmFsc2UiLCBhbmQgMSBvdGhlcndpc2UuCi0KLURvY3VtZW50YXRpb24KLS0tLS0tLS0tLS0tLS0KLQotLSBJc3N1ZSAjMTQ4NjM6IFVwZGF0ZSB0aGUgZG9jdW1lbnRhdGlvbiBvZiBvcy5mZG9wZW4oKSB0byByZWZsZWN0IHRoZQotICBmYWN0IHRoYXQgaXQncyBvbmx5IGEgdGhpbiB3cmFwcGVyIGFyb3VuZCBvcGVuKCkgYW55bW9yZS4KLQotLSBJc3N1ZSAjMTQ1ODg6IFRoZSBsYW5ndWFnZSByZWZlcmVuY2Ugbm93IGFjY3VyYXRlbHkgZG9jdW1lbnRzIHRoZSBQeXRob24gMwotICBjbGFzcyBkZWZpbml0aW9uIHByb2Nlc3MuIFBhdGNoIGJ5IE5pY2sgQ29naGxhbi4KLQotLSBJc3N1ZSAjMTQ5NDM6IENvcnJlY3QgYSBkZWZhdWx0IGFyZ3VtZW50IHZhbHVlIGZvciB3aW5yZWcuT3BlbktleQotICBhbmQgY29ycmVjdGx5IGxpc3QgdGhlIGFyZ3VtZW50IG5hbWVzIGluIHRoZSBmdW5jdGlvbidzIGV4cGxhbmF0aW9uLgotCi0KLVdoYXQncyBOZXcgaW4gUHl0aG9uIDMuMy4wIEFscGhhIDM/Ci09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotCi0qUmVsZWFzZSBkYXRlOiAwMS1NYXktMjAxMioKLQotQ29yZSBhbmQgQnVpbHRpbnMKLS0tLS0tLS0tLS0tLS0tLS0tCi0KLS0gSXNzdWUgIzE0Njk5OiBGaXggY2FsbGluZyB0aGUgY2xhc3NtZXRob2QgZGVzY3JpcHRvciBkaXJlY3RseS4KLQotLSBJc3N1ZSAjMTQ0MzM6IFByZXZlbnQgbXN2Y3J0IGNyYXNoIGluIGludGVyYWN0aXZlIHByb21wdCB3aGVuIHN0ZGluIGlzIGNsb3NlZC4KLQotLSBJc3N1ZSAjMTQ1MjE6IE1ha2UgcmVzdWx0IG9mIGZsb2F0KCduYW4nKSBhbmQgZmxvYXQoJy1uYW4nKSBtb3JlIGNvbnNpc3RlbnQKLSAgYWNyb3NzIHBsYXRmb3Jtcy4KLQotLSBJc3N1ZSAjMTQ2NDY6IF9faW1wb3J0X18oKSBzZXRzIF9fbG9hZGVyX18gaWYgdGhlIGxvYWRlciBkaWQgbm90LgotCi0tIElzc3VlICMxNDYwNTogTm8gbG9uZ2VyIGhhdmUgaW1wbGljaXQgZW50cmllcyBpbiBzeXMubWV0YV9wYXRoLiBJZgotICBzeXMubWV0YV9wYXRoIGlzIGZvdW5kIHRvIGJlIGVtcHR5LCByYWlzZSBJbXBvcnRXYXJuaW5nLgotCi0tIElzc3VlICMxNDYwNTogTm8gbG9uZ2VyIGhhdmUgaW1wbGljaXQgZW50cmllcyBpbiBzeXMucGF0aF9ob29rcy4gSWYKLSAgc3lzLnBhdGhfaG9va3MgaXMgZm91bmQgdG8gYmUgZW1wdHksIGEgd2FybmluZyB3aWxsIGJlIHJhaXNlZC4gTm9uZSBpcyBub3cKLSAgaW5zZXJ0ZWQgaW50byBzeXMucGF0aF9pbXBvcnRlcl9jYWNoZSBpZiBubyBmaW5kZXIgd2FzIGRpc2NvdmVyZWQuIFRoaXMgYWxzbwotICBtZWFucyBpbXAuTnVsbEltcG9ydGVyIGlzIG5vIGxvbmdlciBpbXBsaWNpdGx5IHVzZWQuCi0KLS0gSXNzdWUgIzEzOTAzOiBJbXBsZW1lbnQgUEVQIDQxMi4gSW5kaXZpZHVhbCBkaWN0aW9uYXJ5IGluc3RhbmNlcyBjYW4gbm93IHNoYXJlCi0gIHRoZWlyIGtleXMgd2l0aCBvdGhlciBkaWN0aW9uYXJpZXMuIENsYXNzZXMgdGFrZSBhZHZhbnRhZ2Ugb2YgdGhpcyB0byBzaGFyZQotICB0aGVpciBpbnN0YW5jZSBkaWN0aW9uYXJ5IGtleXMgZm9yIGltcHJvdmVkIG1lbW9yeSBhbmQgcGVyZm9ybWFuY2UuCi0KLS0gSXNzdWUgIzExNjAzIChhZ2Fpbik6IFNldHRpbmcgX19yZXByX18gdG8gX19zdHJfXyBub3cgcmFpc2VzIGEgUnVudGltZUVycm9yCi0gIHdoZW4gcmVwcigpIG9yIHN0cigpIGlzIGNhbGxlZCBvbiBzdWNoIGFuIG9iamVjdC4KLQotLSBJc3N1ZSAjMTQ2NTg6IEZpeCBiaW5kaW5nIGEgc3BlY2lhbCBtZXRob2QgdG8gYSBidWlsdGluIGltcGxlbWVudGF0aW9uIG9mIGEKLSAgc3BlY2lhbCBtZXRob2Qgd2l0aCBhIGRpZmZlcmVudCBuYW1lLgotCi0tIElzc3VlICMxNDYzMDogRml4IGEgbWVtb3J5IGFjY2VzcyBidWcgZm9yIGluc3RhbmNlcyBvZiBhIHN1YmNsYXNzIG9mIGludAotICB3aXRoIHZhbHVlIDAuCi0KLS0gSXNzdWUgIzE0MzM5OiBTcGVlZCBpbXByb3ZlbWVudHMgdG8gYmluLCBvY3QgYW5kIGhleCBmdW5jdGlvbnMuICBQYXRjaCBieQotICBTZXJoaXkgU3RvcmNoYWthLgotCi0tIElzc3VlICMxNDM4NTogSXQgaXMgbm93IHBvc3NpYmxlIHRvIHVzZSBhIGN1c3RvbSB0eXBlIGZvciB0aGUgX19idWlsdGluc19fCi0gIG5hbWVzcGFjZSwgaW5zdGVhZCBvZiBhIGRpY3QuIEl0IGNhbiBiZSB1c2VkIGZvciBzYW5kYm94aW5nIGZvciBleGFtcGxlLgotICBSYWlzZSBhbHNvIGEgTmFtZUVycm9yIGluc3RlYWQgb2YgSW1wb3J0RXJyb3IgaWYgX19idWlsZF9jbGFzc19fIG5hbWUgaWYgbm90Ci0gIGZvdW5kIGluIF9fYnVpbHRpbnNfXy4KLQotLSBJc3N1ZSAjMTI1OTk6IEJlIG1vcmUgc3RyaWN0IGluIGFjY2VwdGluZyBOb25lIGNvbXBhcmVkIHRvIGEgZmFsc2UtbGlrZQotICBvYmplY3QgZm9yIGltcG9ydGxpYi51dGlsLm1vZHVsZV9mb3JfbG9hZGVyIGFuZAotICBpbXBvcnRsaWIubWFjaGluZXJ5LlBhdGhGaW5kZXIuCi0KLS0gSXNzdWUgIzE0NjEyOiBGaXgganVtcGluZyBhcm91bmQgd2l0aCBibG9ja3MgYnkgc2V0dGluZyBmX2xpbmVuby4KLQotLSBJc3N1ZSAjMTQ1OTI6IEF0dGVtcHRpbmcgYSByZWxhdGl2ZSBpbXBvcnQgdy9vIF9fcGFja2FnZV9fIG9yIF9fbmFtZV9fIHNldCBpbgotICBnbG9iYWxzIHJhaXNlcyBhIEtleUVycm9yLgotCi0tIElzc3VlICMxNDYwNzogRml4IGtleXdvcmQtb25seSBhcmd1bWVudHMgd2hpY2ggc3RhcnRlZCB3aXRoIGBgX19gYC4KLQotLSBJc3N1ZSAjMTA4NTQ6IFRoZSBJbXBvcnRFcnJvciByYWlzZWQgd2hlbiBhbiBleHRlbnNpb24gbW9kdWxlIG9uIFdpbmRvd3MKLSAgZmFpbHMgdG8gaW1wb3J0IG5vdyB1c2VzIHRoZSBuZXcgcGF0aCBhbmQgbmFtZSBhdHRyaWJ1dGVzIGZyb20KLSAgSXNzdWUgIzE1NTk1NDkuCi0KLS0gSXNzdWUgIzEzODg5OiBDaGVjayBhbmQgKGlmIG5lY2Vzc2FyeSkgc2V0IEZQVSBjb250cm9sIHdvcmQgYmVmb3JlIGNhbGxpbmcKLSAgYW55IG9mIHRoZSBkdG9hLmMgc3RyaW5nIDwtPiBmbG9hdCBjb252ZXJzaW9uIGZ1bmN0aW9ucywgb24gTVNWQyBidWlsZHMgb2YKLSAgUHl0aG9uLiAgVGhpcyBmaXhlcyBpc3N1ZXMgd2hlbiBlbWJlZGRpbmcgUHl0aG9uIGluIGEgRGVscGhpIGFwcC4KLQotLSBfX2ltcG9ydF9fKCkgbm93IG1hdGNoZXMgUEVQIDMyOCBhbmQgZG9jdW1lbnRhdGlvbiBieSBkZWZhdWx0aW5nICdpbmRleCcgdG8gMAotICBpbnN0ZWFkIG9mIC0xIGFuZCByZW1vdmluZyBzdXBwb3J0IGZvciBuZWdhdGl2ZSB2YWx1ZXMuCi0KLS0gSXNzdWUgIzIzNzc6IE1ha2UgaW1wb3J0bGliIHRoZSBpbXBsZW1lbnRhdGlvbiBvZiBfX2ltcG9ydF9fKCkuCi0KLS0gSXNzdWUgIzE1NTk1NDk6IEltcG9ydEVycm9yIG5vdyBoYXMgJ25hbWUnIGFuZCAncGF0aCcgYXR0cmlidXRlcyB0aGF0IGFyZSBzZXQKLSAgdXNpbmcga2V5d29yZCBhcmd1bWVudHMgdG8gaXRzIGNvbnN0cnVjdG9yLiBUaGV5IGFyZSBjdXJyZW50bHkgbm90IHNldCBieQotICBpbXBvcnQgYXMgdGhleSBhcmUgbWVhbnQgZm9yIHVzZSBieSBpbXBvcnRsaWIuCi0KLS0gSXNzdWUgIzE0NDc0OiBTYXZlIGFuZCByZXN0b3JlIGV4Y2VwdGlvbiBzdGF0ZSBpbiB0aHJlYWQuc3RhcnRfbmV3X3RocmVhZCgpCi0gIHdoaWxlIHdyaXRpbmcgZXJyb3IgbWVzc2FnZSBpZiB0aGUgdGhyZWFkIGxlYXZlcyBhIHVuaGFuZGxlZCBleGNlcHRpb24uCi0KLS0gSXNzdWUgIzEzMDE5OiBGaXggcG90ZW50aWFsIHJlZmVyZW5jZSBsZWFrcyBpbiBieXRlYXJyYXkuZXh0ZW5kKCkuICBQYXRjaAotICBieSBTdW1hbiBTYWhhLgotCi1MaWJyYXJ5Ci0tLS0tLS0tCi0KLS0gSXNzdWUgIzE0NzY4OiBvcy5wYXRoLmV4cGFuZHVzZXIoJ34vYScpIGRvZXNuJ3Qgd29ya3MgY29ycmVjdGx5IHdoZW4gSE9NRSBpcyAnLycuCi0KLS0gSXNzdWUgIzE0MzcxOiBTdXBwb3J0IGJ6aXAyIGluIHppcGZpbGUgbW9kdWxlLiAgUGF0Y2ggYnkgU2VyaGl5IFN0b3JjaGFrYS4KLQotLSBJc3N1ZSAjMTMxODM6IEZpeCBwZGIgc2tpcHBpbmcgZnJhbWVzIGFmdGVyIGhpdHRpbmcgYSBicmVha3BvaW50IGFuZCBydW5uaW5nCi0gIHN0ZXAuICBQYXRjaCBieSBYYXZpZXIgZGUgR2F5ZS4KLQotLSBJc3N1ZSAjMTQ2OTY6IEZpeCBwYXJzZXIgbW9kdWxlIHRvIHVuZGVyc3RhbmQgJ25vbmxvY2FsJyBkZWNsYXJhdGlvbnMuCi0KLS0gSXNzdWUgIzEwOTQxOiBGaXggaW1hcGxpYi5JbnRlcm5hbGRhdGUydHVwbGUgdG8gcHJvZHVjZSBjb3JyZWN0IHJlc3VsdCBuZWFyCi0gIHRoZSBEU1QgdHJhbnNpdGlvbi4gIFBhdGNoIGJ5IEpvZSBQZXRlcnNvbi4KLQotLSBJc3N1ZSAjOTE1NDogRml4IHBhcnNlciBtb2R1bGUgdG8gdW5kZXJzdGFuZCBmdW5jdGlvbiBhbm5vdGF0aW9ucy4KLQotLSBJc3N1ZSAjNjA4NTogSW4gaHR0cC5zZXJ2ZXIucHkgU2ltcGxlSFRUUFNlcnZlci5hZGRyZXNzX3N0cmluZyByZXR1cm5zIHRoZQotICBjbGllbnQgaXAgYWRkcmVzcyBpbnN0ZWFkIGNsaWVudCBob3N0bmFtZS4gUGF0Y2ggYnkgQ2hhcmxlcy1GcmFuw6dvaXMgTmF0YWxpLgotCi0tIElzc3VlICMxNDMwOTogRGVwcmVjYXRlIHRpbWUuY2xvY2soKSwgdXNlIHRpbWUucGVyZl9jb3VudGVyKCkgb3IKLSAgdGltZS5wcm9jZXNzX3RpbWUoKSBpbnN0ZWFkLgotCi0tIElzc3VlICMxNDQyODogSW1wbGVtZW50IHRoZSBQRVAgNDE4LiBBZGQgdGltZS5nZXRfY2xvY2tfaW5mbygpLAotICB0aW1lLnBlcmZfY291bnRlcigpIGFuZCB0aW1lLnByb2Nlc3NfdGltZSgpIGZ1bmN0aW9ucywgYW5kIHJlbmFtZQotICB0aW1lLnN0ZWFkeSgpIHRvIHRpbWUubW9ub3RvbmljKCkuCi0KLS0gSXNzdWUgIzE0NjQ2OiBpbXBvcnRsaWIudXRpbC5tb2R1bGVfZm9yX2xvYWRlcigpIG5vdyBzZXRzIF9fbG9hZGVyX18gYW5kCi0gIF9fcGFja2FnZV9fICh3aGVuIHBvc3NpYmxlKS4KLQotLSBJc3N1ZSAjMTQ2NjQ6IEl0IGlzIG5vdyBwb3NzaWJsZSB0byB1c2UgQHVuaXR0ZXN0LnNraXB7SWYsVW5sZXNzfSBvbiBhCi0gIHRlc3QgY2xhc3MgdGhhdCBkb2Vzbid0IGluaGVyaXQgZnJvbSBUZXN0Q2FzZSAoaS5lLiBhIG1peGluKS4KLQotLSBJc3N1ZSAjNDg5MjogbXVsdGlwcm9jZXNzaW5nIENvbm5lY3Rpb25zIGNhbiBub3cgYmUgdHJhbnNmZXJyZWQgb3ZlcgotICBtdWx0aXByb2Nlc3NpbmcgQ29ubmVjdGlvbnMuICBQYXRjaCBieSBSaWNoYXJkIE91ZGtlcmsgKHNidCkuCi0KLS0gSXNzdWUgIzE0MTYwOiBUYXJGaWxlLmV4dHJhY3RmaWxlKCkgZmFpbGVkIHRvIHJlc29sdmUgc3ltYm9saWMgbGlua3Mgd2hlbgotICB0aGUgbGlua3Mgd2VyZSBub3QgbG9jYXRlZCBpbiBhbiBhcmNoaXZlIHN1YmRpcmVjdG9yeS4KLQotLSBJc3N1ZSAjMTQ2Mzg6IHB5ZG9jIG5vdyB0cmVhdHMgbm9uLXN0cmluZyBfX25hbWVfXyB2YWx1ZXMgYXMgaWYgdGhleQotICB3ZXJlIG1pc3NpbmcsIGluc3RlYWQgb2YgcmFpc2luZyBhbiBlcnJvci4KLQotLSBJc3N1ZSAjMTM2ODQ6IEZpeCBodHRwbGliIHR1bm5lbCBpc3N1ZSBvZiBpbmZpbml0ZSBsb29wcyBmb3IgY2VydGFpbiBzaXRlcwotICB3aGljaCBzZW5kIEVPRiB3aXRob3V0IHRyYWlsaW5nIFxyXG4uCi0KLS0gSXNzdWUgIzE0NjA1OiBBZGQgaW1wb3J0bGliLmFiYy5GaWxlTG9hZGVyLCBpbXBvcnRsaWIubWFjaGluZXJ5LihGaWxlRmluZGVyLAotICBTb3VyY2VGaWxlTG9hZGVyLCBTb3VyY2VsZXNzRmlsZUxvYWRlciwgRXh0ZW5zaW9uRmlsZUxvYWRlcikuCi0KLS0gSXNzdWUgIzEzOTU5OiBpbXAuY2FjaGVfZnJvbV9zb3VyY2UoKS9zb3VyY2VfZnJvbV9jYWNoZSgpIG5vdyBmb2xsb3cKLSAgb3MucGF0aC5qb2luKCkvc3BsaXQoKSBzZW1hbnRpY3MgZm9yIHBhdGggbWFuaXB1bGF0aW9uIGluc3RlYWQgb2YgaXRzIHByaW9yLAotICBjdXN0b20gc2VtYW50aWNzIG9mIGNhcmluZyB0aGUgcmlnaHQtbW9zdCBwYXRoIHNlcGFyYXRvciBmb3J3YXJkIGluIHBhdGgKLSAgam9pbmluZy4KLQotLSBJc3N1ZSAjMjE5MzogQWxsb3cgIjoiIGNoYXJhY3RlciBpbiBDb29raWUgTkFNRSB2YWx1ZXMuCi0KLS0gSXNzdWUgIzE0NjI5OiB0b2tlbml6ZXIuZGV0ZWN0X2VuY29kaW5nIHdpbGwgc3BlY2lmeSB0aGUgZmlsZW5hbWUgaW4gdGhlCi0gIFN5bnRheEVycm9yIGV4Y2VwdGlvbiBpZiBmb3VuZCBhdCByZWFkbGluZS5fX3NlbGZfXy5uYW1lLgotCi0tIElzc3VlICMxNDYyOTogUmFpc2UgU3ludGF4RXJyb3IgaW4gdG9rZW5pemVyLmRldGVjdF9lbmNvZGluZyBpZiB0aGUKLSAgZmlyc3QgdHdvIGxpbmVzIGhhdmUgbm9uLVVURi04IGNoYXJhY3RlcnMgd2l0aG91dCBhbiBlbmNvZGluZyBkZWNsYXJhdGlvbi4KLQotLSBJc3N1ZSAjMTQzMDg6IEZpeCBhbiBleGNlcHRpb24gd2hlbiBhICJkdW1teSIgdGhyZWFkIGlzIGluIHRoZSB0aHJlYWRpbmcKLSAgbW9kdWxlJ3MgYWN0aXZlIGxpc3QgYWZ0ZXIgYSBmb3JrKCkuCi0KLS0gSXNzdWUgIzExNzUwOiBUaGUgV2luZG93cyBBUEkgZnVuY3Rpb25zIHNjYXR0ZXJlZCBpbiB0aGUgX3N1YnByb2Nlc3MgYW5kCi0gIF9tdWx0aXByb2Nlc3Npbmcud2luMzIgbW9kdWxlcyBub3cgbGl2ZSBpbiBhIHNpbmdsZSBtb2R1bGUgIl93aW5hcGkiLgotICBQYXRjaCBieSBzYnQuCi0KLS0gSXNzdWUgIzE0MDg3OiBtdWx0aXByb2Nlc3Npbmc6IGFkZCBDb25kaXRpb24ud2FpdF9mb3IoKS4gUGF0Y2ggYnkgc2J0LgotCi0tIElzc3VlICMxNDUzODogSFRNTFBhcnNlciBjYW4gbm93IHBhcnNlIGNvcnJlY3RseSBzdGFydCB0YWdzIHRoYXQgY29udGFpbgotICBhIGJhcmUgJy8nLgotCi0tIElzc3VlICMxNDQ1MjogU3lzTG9nSGFuZGxlciBubyBsb25nZXIgaW5zZXJ0cyBhIFVURi04IEJPTSBpbnRvIHRoZSBtZXNzYWdlLgotCi0tIElzc3VlICMxNDM4NjogRXhwb3NlIHRoZSBkaWN0X3Byb3h5IGludGVybmFsIHR5cGUgYXMgdHlwZXMuTWFwcGluZ1Byb3h5VHlwZS4KLQotLSBJc3N1ZSAjMTM5NTk6IE1ha2UgaW1wLnJlbG9hZCgpIGFsd2F5cyB1c2UgYSBtb2R1bGUncyBfX2xvYWRlcl9fIHRvIHBlcmZvcm0KLSAgdGhlIHJlbG9hZC4KLQotLSBJc3N1ZSAjMTM5NTk6IEFkZCBpbXAucHkgYW5kIHJlbmFtZSB0aGUgYnVpbHQtaW4gbW9kdWxlIHRvIF9pbXAsIGFsbG93aW5nIGZvcgotICByZS1pbXBsZW1lbnRpbmcgcGFydHMgb2YgdGhlIG1vZHVsZSBpbiBwdXJlIFB5dGhvbi4KLQotLSBJc3N1ZSAjMTM0OTY6IEZpeCBwb3RlbnRpYWwgb3ZlcmZsb3cgaW4gYmlzZWN0LmJpc2VjdCBhbGdvcml0aG0gd2hlbiBhcHBsaWVkCi0gIHRvIGEgY29sbGVjdGlvbiBvZiBzaXplID4gc3lzLm1heHNpemUgLyAyLgotCi0tIEhhdmUgaW1wb3J0bGliIHRha2UgYWR2YW50YWdlIG9mIEltcG9ydEVycm9yJ3MgbmV3ICduYW1lJyBhbmQgJ3BhdGgnCi0gIGF0dHJpYnV0ZXMuCi0KLS0gSXNzdWUgIzE0Mzk5OiB6aXBmaWxlIG5vdyByZWNvZ25pemVzIHRoYXQgdGhlIGFyY2hpdmUgaGFzIGJlZW4gbW9kaWZpZWQgZXZlbgotICBpZiBvbmx5IHRoZSBjb21tZW50IGlzIGNoYW5nZWQuICBJbiBhZGRpdGlvbiwgdGhlIFR5cGVFcnJvciB0aGF0IHJlc3VsdHMgZnJvbQotICB0cnlpbmcgdG8gc2V0IGEgbm9uLWJpbmFyeSB2YWx1ZSBhcyBhIGNvbW1lbnQgaXMgbm93IHJhaXNlZCBhdCB0aGUgdGltZQotICB0aGUgY29tbWVudCBpcyBzZXQgcmF0aGVyIHRoYW4gYXQgdGhlIHRpbWUgdGhlIHppcGZpbGUgaXMgd3JpdHRlbi4KLQotLSB0cmFjZS5Db3ZlcmFnZVJlc3VsdHMuaXNfaWdub3JlZF9maWxlbmFtZSgpIG5vdyBpZ25vcmVzIGFueSBuYW1lIHRoYXQgc3RhcnRzCi0gIHdpdGggIjwiIGFuZCBlbmRzIHdpdGggIj4iIGluc3RlYWQgb2Ygc3BlY2lhbC1jYXNpbmcgIjxzdHJpbmc+IiBhbmQKLSAgIjxkb2N0ZXN0ICIuCi0KLS0gSXNzdWUgIzEyNTM3OiBUaGUgbWFpbGJveCBtb2R1bGUgbm8gbG9uZ2VyIGRlcGVuZHMgb24ga25vd2xlZGdlIG9mIGludGVybmFsCi0gIGltcGxlbWVudGF0aW9uIGRldGFpbHMgb2YgdGhlIGVtYWlsIHBhY2thZ2UgTWVzc2FnZSBvYmplY3QuCi0KLS0gSXNzdWUgIzc5Nzg6IHNvY2tldHNlcnZlciBub3cgcmVzdGFydHMgdGhlIHNlbGVjdCgpIGNhbGwgd2hlbiBFSU5UUiBpcwotICByZXR1cm5lZC4gIFRoaXMgYXZvaWRzIGNyYXNoaW5nIHRoZSBzZXJ2ZXIgbG9vcCB3aGVuIGEgc2lnbmFsIGlzIHJlY2VpdmVkLgotICBQYXRjaCBieSBKZXJ6eSBLb3plcmEuCi0KLS0gSXNzdWUgIzE0NTIyOiBBdm9pZCBkdXBsaWNhdGluZyBzb2NrZXQgaGFuZGxlcyBpbiBtdWx0aXByb2Nlc3NpbmcuY29ubmVjdGlvbi4KLSAgUGF0Y2ggYnkgc2J0LgotCi0tIERvbid0IFB5X0RFQ1JFRiBOVUxMIHZhcmlhYmxlIGluIGlvLkluY3JlbWVudGFsTmV3bGluZURlY29kZXIuCi0KLS0gSXNzdWUgIzMwMzM6IEFkZCBkaXNwbGF5b2YgcGFyYW1ldGVyIHRvIHRraW50ZXIgZm9udC4gUGF0Y2ggYnkgR3VpbGhlcm1lIFBvbG8uCi0KLS0gSXNzdWUgIzE0NDgyOiBSYWlzZSBhIFZhbHVlRXJyb3IsIG5vdCBhIE5hbWVFcnJvciwgd2hlbiB0cnlpbmcgdG8gY3JlYXRlCi0gIGEgbXVsdGlwcm9jZXNzaW5nIENsaWVudCBvciBMaXN0ZW5lciB3aXRoIGFuIEFGX1VOSVggdHlwZSBhZGRyZXNzIHVuZGVyCi0gIFdpbmRvd3MuICBQYXRjaCBieSBQb3BhIENsYXVkaXUuCi0KLS0gSXNzdWUgIzgwMjMxMDogR2VuZXJhdGUgYWx3YXlzIHVuaXF1ZSB0a2ludGVyIGZvbnQgbmFtZXMgaWYgbm90IGRpcmVjdGx5IHBhc3NlZC4KLQotLSBJc3N1ZSAjMTQxNTE6IFJhaXNlIGEgVmFsdWVFcnJvciwgbm90IGEgTmFtZUVycm9yLCB3aGVuIHRyeWluZyB0byBjcmVhdGUKLSAgYSBtdWx0aXByb2Nlc3NpbmcgQ2xpZW50IG9yIExpc3RlbmVyIHdpdGggYW4gQUZfUElQRSB0eXBlIGFkZHJlc3MgdW5kZXIKLSAgbm9uLVdpbmRvd3MgcGxhdGZvcm1zLiAgUGF0Y2ggYnkgUG9wYSBDbGF1ZGl1LgotCi0tIElzc3VlICMxNDQ5MzogVXNlIGd2ZnMtb3BlbiBvciB4ZGctb3BlbiBpbiB3ZWJicm93c2VyLgotCi1CdWlsZAotLS0tLS0KLQotLSAibWFrZSB0b3VjaCIgd2lsbCBub3cgdG91Y2ggZ2VuZXJhdGVkIGZpbGVzIHRoYXQgYXJlIGNoZWNrZWQgaW50byBNZXJjdXJpYWwsCi0gIGFmdGVyIGEgImhnIHVwZGF0ZSIgd2hpY2ggZmFpbGVkIHRvIGJyaW5nIHRoZSB0aW1lc3RhbXBzIGludG8gdGhlIHJpZ2h0IG9yZGVyLgotCi1UZXN0cwotLS0tLS0KLQotLSBJc3N1ZSAjMTQwMjY6IEluIHRlc3RfY21kX2xpbmVfc2NyaXB0LCBjaGVjayB0aGF0IHN5cy5hcmd2IGlzIHBvcHVsYXRlZAotICBjb3JyZWN0bHkgZm9yIHRoZSB2YXJpb3VzIGludm9jYXRpb24gYXBwcm9hY2hlcyAoUGF0Y2ggYnkgSmFzb24gWWVvKQotCi0tIElzc3VlICMxNDAzMjogRml4IGluY29ycmVjdCB2YXJpYWJsZSBuYW1lIGluIHRlc3RfY21kX2xpbmVfc2NyaXB0IGRlYnVnZ2luZwotICBtZXNzYWdlIChQYXRjaCBieSBKYXNvbiBZZW8pCi0KLS0gSXNzdWUgIzE0NTg5OiBVcGRhdGUgY2VydGlmaWNhdGUgY2hhaW4gZm9yIHNoYTI1Ni50YnMtaW50ZXJuZXQuY29tLCBmaXhpbmcKLSAgYSB0ZXN0IGZhaWx1cmUgaW4gdGVzdF9zc2wuCi0KLS0gSXNzdWUgIzE0MzU1OiBSZWdydGVzdCBub3cgc3VwcG9ydHMgdGhlIHN0YW5kYXJkIHVuaXR0ZXN0IHRlc3QgbG9hZGluZywgYW5kCi0gIHdpbGwgdXNlIGl0IGlmIGEgdGVzdCBmaWxlIGNvbnRhaW5zIG5vIGB0ZXN0X21haW5gIG1ldGhvZC4KLQotSURMRQotLS0tLQotCi0tIElzc3VlICM4NTE1OiBTZXQgX19maWxlX18gd2hlbiBydW4gZmlsZSBpbiBJRExFLgotICBJbml0aWFsIHBhdGNoIGJ5IEJydWNlIEZyZWRlcmlrc2VuLgotCi0tIElzc3VlICMxNDQ5NjogRml4IHdyb25nIG5hbWUgaW4gaWRsZWxpYi90YWJiZWRwYWdlcy5weS4KLSAgUGF0Y2ggYnkgUG9wYSBDbGF1ZGl1LgotCi1Ub29scyAvIERlbW9zCi0tLS0tLS0tLS0tLS0tCi0KLS0gSXNzdWUgIzM1NjE6IFRoZSBXaW5kb3dzIGluc3RhbGxlciBub3cgaGFzIGFuIG9wdGlvbiwgb2ZmIGJ5IGRlZmF1bHQsIGZvcgotICBwbGFjaW5nIHRoZSBQeXRob24gaW5zdGFsbGF0aW9uIGludG8gdGhlIHN5c3RlbSAiUGF0aCIgZW52aXJvbm1lbnQgdmFyaWFibGUuCi0KLS0gSXNzdWUgIzEzMTY1OiBzdHJpbmdiZW5jaCBpcyBub3cgYXZhaWxhYmxlIGluIHRoZSBUb29scy9zdHJpbmdiZW5jaCBmb2xkZXIuCi0gIEl0IHVzZWQgdG8gbGl2ZSBpbiBpdHMgb3duIFNWTiBwcm9qZWN0LgotCi1DLUFQSQotLS0tLS0KLQotLSBJc3N1ZSAjMTQwOTg6IE5ldyBmdW5jdGlvbnMgUHlFcnJfR2V0RXhjSW5mbyBhbmQgUHlFcnJfU2V0RXhjSW5mby4KLSAgUGF0Y2ggYnkgU3RlZmFuIEJlaG5lbC4KLQotCi1XaGF0J3MgTmV3IGluIFB5dGhvbiAzLjMuMCBBbHBoYSAyPwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLQotKlJlbGVhc2UgZGF0ZTogMDEtQXByLTIwMTIqCi0KLUNvcmUgYW5kIEJ1aWx0aW5zCi0tLS0tLS0tLS0tLS0tLS0tLQotCi0tIElzc3VlICMxNjgzMzY4OiBvYmplY3QuX19uZXdfXyBhbmQgb2JqZWN0Ll9faW5pdF9fIHJhaXNlIGEgVHlwZUVycm9yIGlmIHRoZXkKLSAgYXJlIHBhc3NlZCBhcmd1bWVudHMgYW5kIHRoZWlyIGNvbXBsZW1lbnRhcnkgbWV0aG9kIGlzIG5vdCBvdmVycmlkZGVuLgotCi0tIElzc3VlICMxNDM3ODogRml4IGNvbXBpbGluZyBhc3QuSW1wb3J0RnJvbSBub2RlcyB3aXRoIGEgIl9fZnV0dXJlX18iIHN0cmluZyBhcwotICB0aGUgbW9kdWxlIG5hbWUgdGhhdCB3YXMgbm90IGludGVybmVkLgotCi0tIElzc3VlICMxNDMzMTogVXNlIHNpZ25pZmljYW50bHkgbGVzcyBzdGFjayBzcGFjZSB3aGVuIGltcG9ydGluZyBtb2R1bGVzIGJ5Ci0gIGFsbG9jYXRpbmcgcGF0aCBidWZmZXJzIG9uIHRoZSBoZWFwIGluc3RlYWQgb2YgdGhlIHN0YWNrLgotCi0tIElzc3VlICMxNDMzNDogUHJldmVudCBpbiBhIHNlZ2ZhdWx0IGluIHR5cGUuX19nZXRhdHRyaWJ1dGVfXyB3aGVuIGl0IHdhcyBub3QKLSAgcGFzc2VkIHN0cmluZ3MuCi0KLS0gSXNzdWUgIzE0Njk2Mjk6IEFsbG93IGN5Y2xlcyB0aHJvdWdoIGFuIG9iamVjdCdzIF9fZGljdF9fIHNsb3QgdG8gYmUKLSAgY29sbGVjdGVkLiAoRm9yIGV4YW1wbGUgaWYgYGB4Ll9fZGljdF9fIGlzIHhgYCkuCi0KLS0gSXNzdWUgIzE0MjA1OiBkaWN0IGxvb2t1cCByYWlzZXMgYSBSdW50aW1lRXJyb3IgaWYgdGhlIGRpY3QgaXMgbW9kaWZpZWQKLSAgZHVyaW5nIGEgbG9va3VwLgotCi0tIElzc3VlICMxNDIyMDogV2hlbiBhIGdlbmVyYXRvciBpcyBkZWxlZ2F0aW5nIHRvIGFub3RoZXIgaXRlcmF0b3Igd2l0aCB0aGUKLSAgeWllbGQgZnJvbSBzeW50YXgsIGl0IG5lZWRzIHRvIGhhdmUgaXRzIGBgZ2lfcnVubmluZ2BgIGZsYWcgc2V0IHRvIFRydWUuCi0KLS0gSXNzdWUgIzE0NDM1OiBSZW1vdmUgZGVkaWNhdGVkIGJsb2NrIGFsbG9jYXRvciBmcm9tIGZsb2F0b2JqZWN0LmMgYW5kIHJlbHkKLSAgb24gdGhlIFB5T2JqZWN0X01hbGxvYygpIGFwaSBsaWtlIGFsbCBvdGhlciBvYmplY3RzLgotCi0tIElzc3VlICMxNDQ3MTogRml4IGEgcG9zc2libGUgYnVmZmVyIG92ZXJydW4gaW4gdGhlIHdpbnJlZyBtb2R1bGUuCi0KLS0gSXNzdWUgIzE0Mjg4OiBBbGxvdyB0aGUgc2VyaWFsaXphdGlvbiBvZiBidWlsdGluIGl0ZXJhdG9ycwotCi1MaWJyYXJ5Ci0tLS0tLS0tCi0KLS0gSXNzdWUgIzE0MzAwOiBVbmRlciBXaW5kb3dzLCBzb2NrZXRzIGNyZWF0ZWQgdXNpbmcgc29ja2V0LmR1cCgpIG5vdyBhbGxvdwotICBvdmVybGFwcGVkIEkvTy4gIFBhdGNoIGJ5IHNidC4KLQotLSBJc3N1ZSAjMTM4NzI6IHNvY2tldC5kZXRhY2goKSBub3cgbWFya3MgdGhlIHNvY2tldCBjbG9zZWQgKGFzIG1pcnJvcmVkCi0gIGluIHRoZSBzb2NrZXQgcmVwcigpKS4gIFBhdGNoIGJ5IE1hdHQgSm9pbmVyLgotCi0tIElzc3VlICMxNDQwNjogRml4IGEgcmFjZSBjb25kaXRpb24gd2hlbiB1c2luZyBgYGNvbmN1cnJlbnQuZnV0dXJlcy53YWl0KAotICByZXR1cm5fd2hlbj1BTExfQ09NUExFVEVEKWBgLiAgUGF0Y2ggYnkgTWF0dCBKb2luZXIuCi0KLS0gSXNzdWUgIzUxMzY6IGRlcHJlY2F0ZSBvbGQsIHVudXNlZCBmdW5jdGlvbnMgZnJvbSB0a2ludGVyLgotCi0tIElzc3VlICMxNDQxNjogc3lzbG9nIG5vdyBkZWZpbmVzIHRoZSBMT0dfT0RFTEFZIGFuZCBMT0dfQVVUSFBSSVYgY29uc3RhbnRzCi0gIGlmIHRoZXkgYXJlIGRlZmluZWQgaW4gPHN5c2xvZy5oPi4KLQotLSBJc3N1ZSAjMTQyOTU6IEFkZCB1bml0dGVzdC5tb2NrCi0KLS0gSXNzdWUgIzc2NTI6IEFkZCAtLXdpdGgtc3lzdGVtLWxpYm1wZGVjIG9wdGlvbiB0byBjb25maWd1cmUgZm9yIGxpbmtpbmcKLSAgdGhlIF9kZWNpbWFsIG1vZHVsZSBhZ2FpbnN0IGFuIGluc3RhbGxlZCBsaWJtcGRlYy4KLQotLSBJc3N1ZSAjMTQzODA6IE1JTUVUZXh0IG5vdyBkZWZhdWx0cyB0byB1dGYtOCB3aGVuIHBhc3NlZCBub24tQVNDSUkgdW5pY29kZQotICB3aXRoIG5vIGNoYXJzZXQgc3BlY2lmaWVkLgotCi0tIElzc3VlICMxMDM0MDogYXN5bmNvcmUgLSBwcm9wZXJseSBoYW5kbGUgRUlOVkFMIGluIGRpc3BhdGNoZXIgY29uc3RydWN0b3Igb24KLSAgT1NYOyBhdm9pZCB0byBjYWxsIGhhbmRsZV9jb25uZWN0IGluIGNhc2Ugb2YgYSBkaXNjb25uZWN0ZWQgc29ja2V0IHdoaWNoCi0gIHdhcyBub3QgbWVhbnQgdG8gY29ubmVjdC4KLQotLSBJc3N1ZSAjMTQyMDQ6IFRoZSBzc2wgbW9kdWxlIG5vdyBoYXMgc3VwcG9ydCBmb3IgdGhlIE5leHQgUHJvdG9jb2wKLSAgTmVnb3RpYXRpb24gZXh0ZW5zaW9uLCBpZiBhdmFpbGFibGUgaW4gdGhlIHVuZGVybHlpbmcgT3BlblNTTCBsaWJyYXJ5LgotICBQYXRjaCBieSBDb2xpbiBNYXJjLgotCi0tIElzc3VlICMzMDM1OiBVbnVzZWQgZnVuY3Rpb25zIGZyb20gdGtpbnRlciBhcmUgbWFya2VkIGFzIHBlbmRpbmcgZGVwcmVjYXRlZC4KLQotLSBJc3N1ZSAjMTI3NTc6IEZpeCB0aGUgc2tpcHBpbmcgb2YgZG9jdGVzdHMgd2hlbiBweXRob24gaXMgcnVuIHdpdGggLU9PIHNvCi0gIHRoYXQgaXQgd29ya3MgaW4gdW5pdHRlc3QncyB2ZXJib3NlIG1vZGUgYXMgd2VsbCBhcyBub24tdmVyYm9zZSBtb2RlLgotCi0tIElzc3VlICM3NjUyOiBJbnRlZ3JhdGUgdGhlIGRlY2ltYWwgZmxvYXRpbmcgcG9pbnQgbGlibXBkZWMgbGlicmFyeSB0byBzcGVlZAotICB1cCB0aGUgZGVjaW1hbCBtb2R1bGUuIFBlcmZvcm1hbmNlIGdhaW5zIG9mIHRoZSBuZXcgQyBpbXBsZW1lbnRhdGlvbiBhcmUKLSAgYmV0d2VlbiAxMHggYW5kIDEwMHgsIGRlcGVuZGluZyBvbiB0aGUgYXBwbGljYXRpb24uCi0KLS0gSXNzdWUgIzE0MjY5OiBTTVRQRCBub3cgY29uZm9ybXMgdG8gdGhlIFJGQyBhbmQgcmVxdWlyZXMgYSBIRUxPIGNvbW1hbmQKLSAgYmVmb3JlIE1BSUwsIFJDUFQsIG9yIERBVEEuCi0KLS0gSXNzdWUgIzEzNjk0OiBhc3luY2hyb25vdXMgY29ubmVjdCBpbiBhc3luY29yZS5kaXNwYXRjaGVyIGRvZXMgbm90IHNldCBhZGRyCi0gIGF0dHJpYnV0ZS4KLQotLSBJc3N1ZSAjMTQzNDQ6IGZpeGVkIHRoZSByZXByIG9mIGVtYWlsLnBvbGljeSBvYmplY3RzLgotCi0tIElzc3VlICMxMTY4NjogQWRkZWQgbWlzc2luZyBlbnRyaWVzIHRvIGVtYWlsIHBhY2thZ2UgX19hbGxfXyBsaXN0cwotICAobW9zdGx5IHRoZSBuZXcgQnl0ZXMgY2xhc3NlcykuCi0KLS0gSXNzdWUgIzE0MzM1OiBtdWx0aXByb2Nlc3NpbmcncyBjdXN0b20gUGlja2xlciBzdWJjbGFzcyBub3cgaW5oZXJpdHMgZnJvbQotICB0aGUgQy1hY2NlbGVyYXRlZCBpbXBsZW1lbnRhdGlvbi4gIFBhdGNoIGJ5IHNidC4KLQotLSBJc3N1ZSAjMTA0ODQ6IEZpeCB0aGUgQ0dJSFRUUFNlcnZlcidzIFBBVEhfSU5GTyBoYW5kbGluZyBwcm9ibGVtLgotCi0tIElzc3VlICMxMTE5OTogRml4IHRoZSB3aXRoIHVybGxpYiB3aGljaCBoYW5ncyBvbiBwYXJ0aWN1bGFyIGZ0cCB1cmxzLgotCi0tIEltcHJvdmUgdGhlIG1lbW9yeSB1dGlsaXphdGlvbiBhbmQgc3BlZWQgb2YgZnVuY3Rvb2xzLmxydV9jYWNoZS4KLQotLSBJc3N1ZSAjMTQyMjI6IFVzZSB0aGUgbmV3IHRpbWUuc3RlYWR5KCkgZnVuY3Rpb24gaW5zdGVhZCBvZiB0aW1lLnRpbWUoKSBmb3IKLSAgdGltZW91dCBpbiBxdWV1ZSBhbmQgdGhyZWFkaW5nIG1vZHVsZXMgdG8gbm90IGJlIGFmZmVjdGVkIG9mIHN5c3RlbSB0aW1lCi0gIHVwZGF0ZS4KLQotLSBJc3N1ZSAjMTMyNDg6IFJlbW92ZSBsaWIydG8zLnB5dHJlZS5CYXNlLmdldF9wcmVmaXgvc2V0X3ByZWZpeC4KLQotLSBJc3N1ZSAjMTQyMzQ6IENWRS0yMDEyLTA4NzY6IFJhbmRvbWl6ZSBoYXNoZXMgb2YgeG1sIGF0dHJpYnV0ZXMgaW4gdGhlIGhhc2gKLSAgdGFibGUgaW50ZXJuYWwgdG8gdGhlIHB5ZXhwYXQgbW9kdWxlJ3MgY29weSBvZiB0aGUgZXhwYXQgbGlicmFyeSB0byBhdm9pZCBhCi0gIGRlbmlhbCBvZiBzZXJ2aWNlIGR1ZSB0byBoYXNoIGNvbGxpc2lvbnMuICBQYXRjaCBieSBEYXZpZCBNYWxjb2xtIHdpdGggc29tZQotICBtb2RpZmljYXRpb25zIGJ5IHRoZSBleHBhdCBwcm9qZWN0LgotCi0tIElzc3VlICMxMjgxODogZm9ybWF0IGFkZHJlc3Mgbm8gbG9uZ2VyIG5lZWRsZXNzbHkgXCBlc2NhcGVzICgpcyBpbiBuYW1lcyB3aGVuCi0gIHRoZSBuYW1lIGVuZHMgdXAgYmVpbmcgcXVvdGVkLgotCi0tIElzc3VlICMxNDA2MjogQnl0ZXNHZW5lcmF0b3Igbm93IGNvcnJlY3RseSBmb2xkcyBIZWFkZXIgb2JqZWN0cywKLSAgaW5jbHVkaW5nIHVzaW5nIGxpbmVzZXAgd2hlbiBmb2xkaW5nLgotCi0tIElzc3VlICMxMzgzOTogV2hlbiBpbnZva2VkIG9uIHRoZSBjb21tYW5kLWxpbmUsIHRoZSBwc3RhdHMgbW9kdWxlIG5vdwotICBhY2NlcHRzIHNldmVyYWwgZmlsZW5hbWVzIG9mIHByb2ZpbGUgc3RhdCBmaWxlcyBhbmQgbWVyZ2VzIHRoZW0gYWxsLgotICBQYXRjaCBieSBNYXR0IEpvaW5lci4KLQotLSBJc3N1ZSAjMTQyOTE6IEVtYWlsIG5vdyBkZWZhdWx0cyB0byB1dGYtOCBmb3Igbm9uLUFTQ0lJIHVuaWNvZGUgaGVhZGVycwotICBpbnN0ZWFkIG9mIHJhaXNpbmcgYW4gZXJyb3IuICBUaGlzIGZpeGVzIGEgcmVncmVzc2lvbiByZWxhdGl2ZSB0byAyLjcuCi0KLS0gSXNzdWUgIzk4OTcxMjogU3VwcG9ydCB1c2luZyBUayB3aXRob3V0IGEgbWFpbmxvb3AuCi0KLS0gSXNzdWUgIzM4MzU6IFJlZnVzZSB0byB1c2UgdW50aHJlYWRlZCBUY2wgaW4gdGhyZWFkZWQgUHl0aG9uLgotCi0tIElzc3VlICMyODQzOiBBZGQgbmV3IFRrIEFQSSB0byBUa2ludGVyLgotCi0tIElzc3VlICMxNDE4NDogSW5jcmVhc2UgdGhlIGRlZmF1bHQgc3RhY2sgc2l6ZSBmb3Igc2Vjb25kYXJ5IHRocmVhZHMgb24KLSAgTWFjIE9TIFggdG8gYXZvaWQgaW50ZXJwcmV0ZXIgY3Jhc2hlcyB3aGVuIHVzaW5nIHRocmVhZHMgb24gMTAuNy4KLQotLSBJc3N1ZSAjMTQxODA6IGRhdGV0aW1lLmRhdGUuZnJvbXRpbWVzdGFtcCgpLAotICBkYXRldGltZS5kYXRldGltZS5mcm9tdGltZXN0YW1wKCkgYW5kIGRhdGV0aW1lLmRhdGV0aW1lLnV0Y2Zyb210aW1lc3RhbXAoKQotICBub3cgcmFpc2UgYW4gT1NFcnJvciBpbnN0ZWFkIG9mIFZhbHVlRXJyb3IgaWYgbG9jYWx0aW1lKCkgb3IgZ210aW1lKCkgZmFpbGVkLgotCi0tIElzc3VlICMxNDE4MDogdGltZS5jdGltZSgpLCBnbXRpbWUoKSwgdGltZS5sb2NhbHRpbWUoKSwKLSAgZGF0ZXRpbWUuZGF0ZS5mcm9tdGltZXN0YW1wKCksIGRhdGV0aW1lLmRhdGV0aW1lLmZyb210aW1lc3RhbXAoKSBhbmQKLSAgZGF0ZXRpbWUuZGF0ZXRpbWUudXRjZnJvbXRpbWVzdGFtcCgpIG5vdyByYWlzZXMgYW4gT3ZlcmZsb3dFcnJvciwgaW5zdGVhZCBvZgotICBhIFZhbHVlRXJyb3IsIGlmIHRoZSB0aW1lc3RhbXAgZG9lcyBub3QgZml0IGluIHRpbWVfdC4KLQotLSBJc3N1ZSAjMTQxODA6IGRhdGV0aW1lLmRhdGV0aW1lLmZyb210aW1lc3RhbXAoKSBhbmQKLSAgZGF0ZXRpbWUuZGF0ZXRpbWUudXRjZnJvbXRpbWVzdGFtcCgpIG5vdyByb3VuZCBtaWNyb3NlY29uZHMgdG93YXJkcyB6ZXJvCi0gIGluc3RlYWQgb2Ygcm91bmRpbmcgdG8gbmVhcmVzdCB3aXRoIHRpZXMgZ29pbmcgYXdheSBmcm9tIHplcm8uCi0KLS0gSXNzdWUgIzEwNTQzOiBGaXggdW5pdHRlc3QgdGVzdCBkaXNjb3Zlcnkgd2l0aCBKeXRob24gYnl0ZWNvZGUgZmlsZXMuCi0KLS0gSXNzdWUgIzExNzg4NjM6IFNlcGFyYXRlIGluaXRpYWxpc2F0aW9uIGZyb20gc2V0dGluZyB3aGVuIGluaXRpYWxpemluZwotICBUa2ludGVyLlZhcmlhYmxlczsgaGFybW9uaXplIGV4Y2VwdGlvbnMgdG8gVmFsdWVFcnJvcjsgb25seSBkZWxldGUgdmFyaWFibGVzCi0gIHRoYXQgaGF2ZSBub3QgYmVlbiBkZWxldGVkOyBhc3NlcnQgdGhhdCB2YXJpYWJsZSBuYW1lcyBhcmUgc3RyaW5ncy4KLQotLSBJc3N1ZSAjMTQxMDQ6IEltcGxlbWVudCB0aW1lLm1vbm90b25pYygpIG9uIE1hYyBPUyBYLCBwYXRjaCB3cml0dGVuIGJ5Ci0gIE5pY2hvbGFzIFJpbGV5LgotCi0tIElzc3VlICMxMzM5NDogdGhlIGFpZmMgbW9kdWxlIG5vdyB1c2VzIHdhcm5pbmdzLndhcm4oKSB0byBzaWduYWwgd2FybmluZ3MuCi0KLS0gSXNzdWUgIzE0MjUyOiBGaXggc3VicHJvY2Vzcy5Qb3Blbi50ZXJtaW5hdGUoKSB0byBub3QgcmFpc2UgYW4gZXJyb3IgdW5kZXIKLSAgV2luZG93cyB3aGVuIHRoZSBjaGlsZCBwcm9jZXNzIGhhcyBhbHJlYWR5IGV4aXRlZC4KLQotLSBJc3N1ZSAjMTQyMjM6IGN1cnNlcy5hZGRjaCgpIGlzIG5vIG1vcmUgbGltaXRlZCB0byB0aGUgcmFuZ2UgMC0yNTUgd2hlbiB0aGUKLSAgUHl0aG9uIGN1cnNlcyBpcyBub3QgbGlua2VkIHRvIGxpYm5jdXJzZXN3LiBJdCB3YXMgYSByZWdyZXNzaW9uIGludHJvZHVjZWQKLSAgaW4gUHl0aG9uIDMuM2ExLgotCi0tIElzc3VlICMxNDE2ODogQ2hlY2sgZm9yIHByZXNlbmNlIG9mIEVsZW1lbnQuX2F0dHJzIGluIG1pbmlkb20gYmVmb3JlCi0gIGFjY2Vzc2luZyBpdC4KLQotLSBJc3N1ZSAjMTIzMjg6IEZpeCBtdWx0aXByb2Nlc3NpbmcncyB1c2Ugb2Ygb3ZlcmxhcHBlZCBJL08gb24gV2luZG93cy4KLSAgQWxzbywgYWRkIGEgbXVsdGlwcm9jZXNzaW5nLmNvbm5lY3Rpb24ud2FpdChybGlzdCwgdGltZW91dD1Ob25lKSBmdW5jdGlvbgotICBmb3IgcG9sbGluZyBtdWx0aXBsZSBvYmplY3RzIGF0IG9uY2UuICBQYXRjaCBieSBzYnQuCi0KLS0gSXNzdWUgIzE0MDA3OiBBY2NlcHQgaW5jb21wbGV0ZSBUcmVlQnVpbGRlciBvYmplY3RzIChtaXNzaW5nIHN0YXJ0LCBlbmQsCi0gIGRhdGEgb3IgY2xvc2UgbWV0aG9kKSBmb3IgdGhlIFB5dGhvbiBpbXBsZW1lbnRhdGlvbiBhcyB3ZWxsLgotICBEcm9wIHRoZSBuby1vcCBUcmVlQnVpbGRlcigpLnhtbCgpIG1ldGhvZCBmcm9tIHRoZSBDIGltcGxlbWVudGF0aW9uLgotCi0tIElzc3VlICMxNDIxMDogcGRiIG5vdyBoYXMgdGFiLWNvbXBsZXRpb24gbm90IG9ubHkgZm9yIGNvbW1hbmQgbmFtZXMsIGJ1dAotICBhbHNvIGZvciB0aGVpciBhcmd1bWVudHMsIHdoZXJldmVyIHBvc3NpYmxlLgotCi0tIElzc3VlICMxNDMxMDogU29ja2V0cyBjYW4gbm93IGJlIHdpdGggb3RoZXIgcHJvY2Vzc2VzIG9uIFdpbmRvd3MgdXNpbmcKLSAgdGhlIGFwaSBzb2NrZXQuc29ja2V0LnNoYXJlKCkgYW5kIHNvY2tldC5mcm9tc2hhcmUoKS4KLQotLSBJc3N1ZSAjMTA1NzY6IFRoZSBnYyBtb2R1bGUgbm93IGhhcyBhICdjYWxsYmFja3MnIG1lbWJlciB0aGF0IHdpbGwgZ2V0Ci0gIGNhbGxlZCB3aGVuIGdhcmJhZ2UgY29sbGVjdGlvbiB0YWtlcyBwbGFjZS4KLQotQnVpbGQKLS0tLS0tCi0KLS0gSXNzdWUgIzE0NTU3OiBGaXggZXh0ZW5zaW9ucyBidWlsZCBvbiBIUC1VWC4gUGF0Y2ggYnkgQWRpIFJvaWJhbi4KLQotLSBJc3N1ZSAjMTQzODc6IERvIG5vdCBpbmNsdWRlIGFjY3UuaCBmcm9tIFB5dGhvbi5oLgotCi0tIElzc3VlICMxNDM1OTogT25seSB1c2UgT19DTE9FWEVDIGluIF9wb3NpeG1vZHVsZS5jIGlmIGl0IGlzIGRlZmluZWQuCi0gIEJhc2VkIG9uIHBhdGNoIGZyb20gSGVydsOpIENvYXRhbmhheS4KLQotLSBJc3N1ZSAjMTQzMjE6IERvIG5vdCBydW4gcGdlbiBkdXJpbmcgdGhlIGJ1aWxkIGlmIGZpbGVzIGFyZSB1cCB0byBkYXRlLgotCi1Eb2N1bWVudGF0aW9uCi0tLS0tLS0tLS0tLS0tCi0KLS0gSXNzdWUgIzE0MDM0OiBhZGRlZCB0aGUgYXJncGFyc2UgdHV0b3JpYWwuCi0KLS0gSXNzdWUgIzE0MzI0OiBGaXggY29uZmlndXJlIHRlc3RzIGZvciBjcm9zcyBidWlsZHMuCi0KLS0gSXNzdWUgIzE0MzI3OiBDYWxsIEFDX0NBTk9OSUNBTF9IT1NUIGluIGNvbmZpZ3VyZS5hYyBhbmQgY2hlY2sgaW4KLSAgY29uZmlnLntndWVzcyxzdWJ9LiBEb24ndCB1c2UgdW5hbWUgY2FsbHMgZm9yIGNyb3NzIGJ1aWxkcy4KLQotRXh0ZW5zaW9uIE1vZHVsZXMKLS0tLS0tLS0tLS0tLS0tLS0tCi0KLS0gSXNzdWUgIzkwNDE6IEFuIGlzc3VlIGluIGN0eXBlcy5jX2xvbmdkb3VibGUsIGN0eXBlcy5jX2RvdWJsZSwgYW5kCi0gIGN0eXBlcy5jX2Zsb2F0IHRoYXQgY2F1c2VkIGFuIGluY29ycmVjdCBleGNlcHRpb24gdG8gYmUgcmV0dXJuZWQgaW4gdGhlCi0gIGNhc2Ugb2Ygb3ZlcmZsb3cgaGFzIGJlZW4gZml4ZWQuCi0KLS0gSXNzdWUgIzE0MjEyOiBUaGUgcmUgbW9kdWxlIGRpZG4ndCByZXRhaW4gYSByZWZlcmVuY2UgdG8gYnVmZmVycyBpdCB3YXMKLSAgc2Nhbm5pbmcsIHJlc3VsdGluZyBpbiBzZWdmYXVsdHMuCi0KLS0gSXNzdWUgIzE0MjU5OiBUaGUgZmluZGl0ZXIoKSBtZXRob2Qgb2YgcmUgb2JqZWN0cyBkaWQgbm90IHRha2UgYW55Ci0gIGtleXdvcmQgYXJndW1lbnRzLCBjb250cmFyeSB0byB0aGUgZG9jdW1lbnRhdGlvbi4KLQotLSBJc3N1ZSAjMTAxNDI6IFN1cHBvcnQgZm9yIFNFRUtfSE9MRS9TRUVLX0RBVEEgKGZvciBleGFtcGxlLCB1bmRlciBaRlMpLgotCi1UZXN0cwotLS0tLS0KLQotLSBJc3N1ZSAjMTQ0NDI6IEFkZCBtaXNzaW5nIGVycm5vIGltcG9ydCBpbiB0ZXN0X3NtdHBsaWIuCi0KLS0gSXNzdWUgIzgzMTU6IChwYXJ0aWFsIGZpeCkgcHl0aG9uIC1tIHVuaXR0ZXN0IHRlc3QudGVzdF9lbWFpbCBub3cgd29ya3MuCi0KLQotV2hhdCdzIE5ldyBpbiBQeXRob24gMy4zLjAgQWxwaGEgMT8KLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0KLSpSZWxlYXNlIGRhdGU6IDA1LU1hci0yMDEyKgotCi1Db3JlIGFuZCBCdWlsdGlucwotLS0tLS0tLS0tLS0tLS0tLS0KLQotLSBJc3N1ZSAjMTQxNzI6IEZpeCByZWZlcmVuY2UgbGVhayB3aGVuIG1hcnNoYWxsaW5nIGEgYnVmZmVyLWxpa2Ugb2JqZWN0Ci0gIChvdGhlciB0aGFuIGEgYnl0ZXMgb2JqZWN0KS4KLQotLSBJc3N1ZSAjMTM1MjE6IGRpY3Quc2V0ZGVmYXVsdCgpIG5vdyBkb2VzIG9ubHkgb25lIGxvb2t1cCBmb3IgdGhlIGdpdmVuIGtleSwKLSAgbWFraW5nIGl0ICJhdG9taWMiIGZvciBtYW55IHB1cnBvc2VzLiAgUGF0Y2ggYnkgRmlsaXAgR3J1c3pjennFhHNraS4KLQotLSBQRVAgNDA5LCBJc3N1ZSAjNjIxMDogInJhaXNlIFggZnJvbSBOb25lIiBpcyBub3cgc3VwcG9ydGVkIGFzIGEgbWVhbnMgb2YKLSAgc3VwcHJlc3NpbmcgdGhlIGRpc3BsYXkgb2YgdGhlIGNoYWluZWQgZXhjZXB0aW9uIGNvbnRleHQuIFRoZSBjaGFpbmVkCi0gIGNvbnRleHQgc3RpbGwgcmVtYWlucyBhdmFpbGFibGUgYXMgdGhlIF9fY29udGV4dF9fIGF0dHJpYnV0ZS4KLQotLSBJc3N1ZSAjMTAxODE6IE5ldyBtZW1vcnl2aWV3IGltcGxlbWVudGF0aW9uIGZpeGVzIG11bHRpcGxlIG93bmVyc2hpcAotICBhbmQgbGlmZXRpbWUgaXNzdWVzIG9mIGR5bmFtaWNhbGx5IGFsbG9jYXRlZCBQeV9idWZmZXIgbWVtYmVycyAoIzk5OTApCi0gIGFzIHdlbGwgYXMgY3Jhc2hlcyAoIzgzMDUsICM3NDMzKS4gTWFueSBuZXcgZmVhdHVyZXMgaGF2ZSBiZWVuIGFkZGVkCi0gIChTZWUgd2hhdHNuZXcvMy4zKSwgYW5kIHRoZSBkb2N1bWVudGF0aW9uIGhhcyBiZWVuIHVwZGF0ZWQgZXh0ZW5zaXZlbHkuCi0gIFRoZSBuZGFycmF5IHRlc3Qgb2JqZWN0IGZyb20gX3Rlc3RidWZmZXIuYyBpbXBsZW1lbnRzIGFsbCBhc3BlY3RzIG9mCi0gIFBFUC0zMTE4LCBzbyBmdXJ0aGVyIGRldmVsb3BtZW50IHRvd2FyZHMgdGhlIGNvbXBsZXRlIGltcGxlbWVudGF0aW9uCi0gIG9mIHRoZSBQRVAgY2FuIHByb2NlZWQgaW4gYSB0ZXN0LWRyaXZlbiBtYW5uZXIuCi0KLSAgVGhhbmtzIHRvIE5pY2sgQ29naGxhbiwgQW50b2luZSBQaXRyb3UgYW5kIFBhdWxpIFZpcnRhbmVuIGZvciByZXZpZXcKLSAgYW5kIG1hbnkgaWRlYXMuCi0KLS0gSXNzdWUgIzEyODM0OiBGaXggaW5jb3JyZWN0IHJlc3VsdHMgb2YgbWVtb3J5dmlldy50b2J5dGVzKCkgZm9yCi0gIG5vbi1jb250aWd1b3VzIGFycmF5cy4KLQotLSBJc3N1ZSAjNTIzMTogSW50cm9kdWNlIG1lbW9yeXZpZXcuY2FzdCgpIG1ldGhvZCB0aGF0IGFsbG93cyBjaGFuZ2luZwotICBmb3JtYXQgYW5kIHNoYXBlIHdpdGhvdXQgbWFraW5nIGEgY29weSBvZiB0aGUgdW5kZXJseWluZyBtZW1vcnkuCi0KLS0gSXNzdWUgIzE0MDg0OiBGaXggYSBmaWxlIGRlc2NyaXB0b3IgbGVhayB3aGVuIGltcG9ydGluZyBhIG1vZHVsZSB3aXRoIGEKLSAgYmFkIGVuY29kaW5nLgotCi0tIFVwZ3JhZGUgVW5pY29kZSBkYXRhIHRvIFVuaWNvZGUgNi4xLgotCi0tIElzc3VlICMxNDA0MDogUmVtb3ZlIHJhcmVseSB1c2VkIGZpbGUgbmFtZSBzdWZmaXhlcyBmb3IgQyBleHRlbnNpb25zCi0gICh1bmRlciBQT1NJWCBtYWlubHkpLgotCi0tIElzc3VlICMxNDA1MTogQWxsb3cgYXJiaXRyYXJ5IGF0dHJpYnV0ZXMgdG8gYmUgc2V0IG9mIGNsYXNzbWV0aG9kIGFuZAotICBzdGF0aWNtZXRob2QuCi0KLS0gSXNzdWUgIzEzNzAzOiBvQ0VSVC0yMDExLTAwMzogUmFuZG9taXplIGhhc2hlcyBvZiBzdHIgYW5kIGJ5dGVzIHRvIHByb3RlY3QKLSAgYWdhaW5zdCBkZW5pYWwgb2Ygc2VydmljZSBhdHRhY2tzIGR1ZSB0byBoYXNoIGNvbGxpc2lvbnMgd2l0aGluIHRoZSBkaWN0IGFuZAotICBzZXQgdHlwZXMuICBQYXRjaCBieSBEYXZpZCBNYWxjb2xtLCBiYXNlZCBvbiB3b3JrIGJ5IFZpY3RvciBTdGlubmVyLgotCi0tIElzc3VlICMxMzAyMDogRml4IGEgcmVmZXJlbmNlIGxlYWsgd2hlbiBhbGxvY2F0aW5nIGEgc3RydWN0c2VxdWVuY2Ugb2JqZWN0Ci0gIGZhaWxzLiAgUGF0Y2ggYnkgU3VtYW4gU2FoYS4KLQotLSBJc3N1ZSAjMTM5MDg6IFJlYWR5IHR5cGVzIHJldHVybmVkIGZyb20gUHlUeXBlX0Zyb21TcGVjLgotCi0tIElzc3VlICMxMTIzNTogRml4IE92ZXJmbG93RXJyb3Igd2hlbiB0cnlpbmcgdG8gaW1wb3J0IGEgc291cmNlIGZpbGUgd2hvc2UKLSAgbW9kaWZpY2F0aW9uIHRpbWUgZG9lc24ndCBmaXQgaW4gYSAzMi1iaXQgdGltZXN0YW1wLgotCi0tIElzc3VlICMxMjcwNTogQSBTeW50YXhFcnJvciBleGNlcHRpb24gaXMgbm93IHJhaXNlZCB3aGVuIGF0dGVtcHRpbmcgdG8KLSAgY29tcGlsZSBtdWx0aXBsZSBzdGF0ZW1lbnRzIGFzIGEgc2luZ2xlIGludGVyYWN0aXZlIHN0YXRlbWVudC4KLQotLSBGaXggdGhlIGJ1aWx0aW4gbW9kdWxlIGluaXRpYWxpemF0aW9uIGNvZGUgdG8gc3RvcmUgdGhlIGluaXQgZnVuY3Rpb24gZm9yCi0gIGZ1dHVyZSByZWluaXRpYWxpemF0aW9uLgotCi0tIElzc3VlICM4MDUyOiBUaGUgcG9zaXggc3VicHJvY2VzcyBtb2R1bGUgd291bGQgdGFrZSBhIGxvbmcgdGltZSBjbG9zaW5nCi0gIGFsbCBwb3NzaWJsZSBmaWxlIGRlc2NyaXB0b3JzIGluIHRoZSBjaGlsZCBwcm9jZXNzIHJhdGhlciB0aGFuIGp1c3Qgb3BlbgotICBmaWxlIGRlc2NyaXB0b3JzLiAgSXQgbm93IGNsb3NlcyBvbmx5IHRoZSBvcGVuIGZkcyBpZiBwb3NzaWJsZSBmb3IgdGhlCi0gIGRlZmF1bHQgY2xvc2VfZmRzPVRydWUgYmVoYXZpb3IuCi0KLS0gSXNzdWUgIzEzNjI5OiBSZW51bWJlciB0aGUgdG9rZW5zIGluIHRva2VuLmggc28gdGhhdCB0aGV5IG1hdGNoIHRoZSBpbmRleGVzCi0gIGludG8gX1B5UGFyc2VyX1Rva2VuTmFtZXMuCi0KLS0gSXNzdWUgIzEzNzUyOiBBZGQgYSBjYXNlZm9sZCgpIG1ldGhvZCB0byBzdHIuCi0KLS0gSXNzdWUgIzEzNzYxOiBBZGQgYSAiZmx1c2giIGtleXdvcmQgYXJndW1lbnQgdG8gdGhlIHByaW50KCkgZnVuY3Rpb24sCi0gIHVzZWQgdG8gZW5zdXJlIGZsdXNoaW5nIHRoZSBvdXRwdXQgc3RyZWFtLgotCi0tIElzc3VlICMxMzY0NTogcHljIGZpbGVzIG5vdyBjb250YWluIHRoZSBzaXplIG9mIHRoZSBjb3JyZXNwb25kaW5nIHNvdXJjZQotICBjb2RlLCB0byBhdm9pZCB0aW1lc3RhbXAgY29sbGlzaW9ucyAoZXNwZWNpYWxseSBvbiBmaWxlc3lzdGVtcyB3aXRoIGEgbG93Ci0gIHRpbWVzdGFtcCByZXNvbHV0aW9uKSB3aGVuIGNoZWNraW5nIGZvciBmcmVzaG5lc3Mgb2YgdGhlIGJ5dGVjb2RlLgotCi0tIFBFUCAzODAsIElzc3VlICMxMTY4MjogQWRkICJ5aWVsZCBmcm9tIDx4PiIgdG8gc3VwcG9ydCBlYXN5IGRlbGVnYXRpb24gdG8KLSAgc3ViZ2VuZXJhdG9ycyAoaW5pdGlhbCBwYXRjaCBieSBHcmVnIEV3aW5nLCBpbnRlZ3JhdGlvbiBpbnRvIDMuMyBieQotICBSZW5hdWQgQmxhbmNoLCBSeWFuIEtlbGx5LCBaYmlnbmlldyBKxJlkcnplamV3c2tpLVN6bWVrIGFuZCBOaWNrIENvZ2hsYW4pCi0KLS0gSXNzdWUgIzEzNzQ4OiBSYXcgYnl0ZXMgbGl0ZXJhbHMgY2FuIG5vdyBiZSB3cml0dGVuIHdpdGggdGhlIGBgcmJgYCBwcmVmaXgKLSAgYXMgd2VsbCBhcyBgYGJyYGAuCi0KLS0gSXNzdWUgIzEyNzM2OiBVc2UgZnVsbCB1bmljb2RlIGNhc2UgbWFwcGluZ3MgZm9yIHVwcGVyLCBsb3dlciwgYW5kIHRpdGxlIGNhc2UuCi0KLS0gSXNzdWUgIzEyNzYwOiBBZGQgYSBjcmVhdGUgbW9kZSB0byBvcGVuKCkuIFBhdGNoIGJ5IERhdmlkIFRvd25zaGVuZC4KLQotLSBJc3N1ZSAjMTM3Mzg6IFNpbXBsaWZ5IGltcGxlbWVudGF0aW9uIG9mIGJ5dGVzLmxvd2VyKCkgYW5kIGJ5dGVzLnVwcGVyKCkuCi0KLS0gSXNzdWUgIzEzNTc3OiBCdWlsdC1pbiBtZXRob2RzIGFuZCBmdW5jdGlvbnMgbm93IGhhdmUgYSBfX3F1YWxuYW1lX18uCi0gIFBhdGNoIGJ5IHNidC4KLQotLSBJc3N1ZSAjNjY5NTogRnVsbCBnYXJiYWdlIGNvbGxlY3Rpb24gcnVucyBub3cgY2xlYXIgdGhlIGZyZWVsaXN0IG9mIHNldAotICBvYmplY3RzLiAgSW5pdGlhbCBwYXRjaCBieSBNYXR0aGlhcyBUcm9mZmFlcy4KLQotLSBGaXggT1NFcnJvci5fX2luaXRfXyBhbmQgT1NFcnJvci5fX25ld19fIHNvIHRoYXQgZWFjaCBvZiB0aGVtIGNhbiBiZQotICBvdmVycmlkZW4gYW5kIHRha2UgYWRkaXRpb25hbCBhcmd1bWVudHMgKGZvbGxvd3VwIHRvIGlzc3VlICMxMjU1NSkuCi0KLS0gRml4IHRoZSBmaXggZm9yIGlzc3VlICMxMjE0OTogaXQgd2FzIGluY29ycmVjdCwgYWx0aG91Z2ggaXQgaGFkIHRoZSBzaWRlCi0gIGVmZmVjdCBvZiBhcHBlYXJpbmcgdG8gcmVzb2x2ZSB0aGUgaXNzdWUuICBUaGFua3MgdG8gTWFyayBTaGFubm9uIGZvcgotICBub3RpY2luZy4KLQotLSBJc3N1ZSAjMTM1MDU6IFBpY2tsZSBieXRlcyBvYmplY3RzIGluIGEgd2F5IHRoYXQgaXMgY29tcGF0aWJsZSB3aXRoCi0gIFB5dGhvbiAyIHdoZW4gdXNpbmcgcHJvdG9jb2xzIDw9IDIuCi0KLS0gSXNzdWUgIzExMTQ3OiBGaXggYW4gdW51c2VkIGFyZ3VtZW50IGluIF9QeV9BTk5PVEFURV9NRU1PUllfT1JERVIuICAoRml4Ci0gIGdpdmVuIGJ5IENhbXBiZWxsIEJhcnRvbikuCi0KLS0gSXNzdWUgIzEzNTAzOiBVc2UgYSBtb3JlIGVmZmljaWVudCByZWR1Y3Rpb24gZm9ybWF0IGZvciBieXRlYXJyYXlzIHdpdGgKLSAgcGlja2xlIHByb3RvY29sID49IDMuICBUaGUgb2xkIHJlZHVjdGlvbiBmb3JtYXQgaXMga2VwdCB3aXRoIG9sZGVyIHByb3RvY29scwotICBpbiBvcmRlciB0byBhbGxvdyB1bnBpY2tsaW5nIHVuZGVyIFB5dGhvbiAyLiAgUGF0Y2ggYnkgSXJtZW4gZGUgSm9uZy4KLQotLSBJc3N1ZSAjNzExMTogUHl0aG9uIGNhbiBub3cgYmUgcnVuIHdpdGhvdXQgYSBzdGRpbiwgc3Rkb3V0IG9yIHN0ZGVycgotICBzdHJlYW0uICBJdCB3YXMgYWxyZWFkeSB0aGUgY2FzZSB3aXRoIFB5dGhvbiAyLiAgSG93ZXZlciwgdGhlIGNvcnJlc3BvbmRpbmcKLSAgc3lzIG1vZHVsZSBlbnRyaWVzIGFyZSBub3cgc2V0IHRvIE5vbmUgKGluc3RlYWQgb2YgYW4gdW51c2FibGUgZmlsZSBvYmplY3QpLgotCi0tIElzc3VlICMxMTg0OTogRW5zdXJlIHRoYXQgZnJlZSgpZCBtZW1vcnkgYXJlbmFzIGFyZSByZWFsbHkgcmVsZWFzZWQKLSAgb24gUE9TSVggc3lzdGVtcyBzdXBwb3J0aW5nIGFub255bW91cyBtZW1vcnkgbWFwcGluZ3MuICBQYXRjaCBieQotICBDaGFybGVzLUZyYW7Dp29pcyBOYXRhbGkuCi0KLS0gUEVQIDMxNTUgLyBpc3N1ZSAjMTM0NDg6IFF1YWxpZmllZCBuYW1lIGZvciBjbGFzc2VzIGFuZCBmdW5jdGlvbnMuCi0KLS0gSXNzdWUgIzEzNDM2OiBGaXggYSBib2d1cyBlcnJvciBtZXNzYWdlIHdoZW4gYW4gQVNUIG9iamVjdCB3YXMgcGFzc2VkCi0gIGFuIGludmFsaWQgaW50ZWdlciB2YWx1ZS4KLQotLSBJc3N1ZSAjMTM0MTE6IG1lbW9yeXZpZXcgb2JqZWN0cyBhcmUgbm93IGhhc2hhYmxlIHdoZW4gdGhlIHVuZGVybHlpbmcKLSAgb2JqZWN0IGlzIGhhc2hhYmxlLgotCi0tIElzc3VlICMxMzMzODogSGFuZGxlIGFsbCBlbnVtZXJhdGlvbnMgaW4gX1B5X0FOTk9UQVRFX01FTU9SWV9PUkRFUgotICB0byBhbGxvdyBjb21waWxpbmcgZXh0ZW5zaW9uIG1vZHVsZXMgd2l0aCAtV3N3aXRjaC1lbnVtIG9uIGdjYy4KLSAgSW5pdGlhbCBwYXRjaCBieSBGbG9yaXMgQnJ1eW5vb2doZS4KLQotLSBJc3N1ZSAjMTAyMjc6IEFkZCBhbiBhbGxvY2F0aW9uIGNhY2hlIGZvciBhIHNpbmdsZSBzbGljZSBvYmplY3QuICBQYXRjaCBieQotICBTdGVmYW4gQmVobmVsLgotCi0tIElzc3VlICMxMzM5MzogQnVmZmVyZWRSZWFkZXIucmVhZDEoKSBub3cgYXNrcyB0aGUgZnVsbCByZXF1ZXN0ZWQgc2l6ZSB0bwotICB0aGUgcmF3IHN0cmVhbSBpbnN0ZWFkIG9mIGxpbWl0aW5nIGl0c2VsZiB0byB0aGUgYnVmZmVyIHNpemUuCi0KLS0gSXNzdWUgIzEzMzkyOiBXcml0aW5nIGEgcHljIGZpbGUgc2hvdWxkIG5vdyBiZSBhdG9taWMgdW5kZXIgV2luZG93cyBhcyB3ZWxsLgotCi0tIElzc3VlICMxMzMzMzogVGhlIFVURi03IGRlY29kZXIgbm93IGFjY2VwdHMgbG9uZSBzdXJyb2dhdGVzICh0aGUgZW5jb2RlcgotICBhbHJlYWR5IGFjY2VwdHMgdGhlbSkuCi0KLS0gSXNzdWUgIzEzMzg5OiBGdWxsIGdhcmJhZ2UgY29sbGVjdGlvbiBwYXNzZXMgbm93IGNsZWFyIHRoZSBmcmVlbGlzdHMgZm9yCi0gIGxpc3QgYW5kIGRpY3Qgb2JqZWN0cy4gIFRoZXkgYWxyZWFkeSBjbGVhcmVkIG90aGVyIGZyZWVsaXN0cyBpbiB0aGUKLSAgaW50ZXJwcmV0ZXIuCi0KLS0gSXNzdWUgIzEzMzI3OiBSZW1vdmUgdGhlIG5lZWQgZm9yIGFuIGV4cGxpY2l0IE5vbmUgYXMgdGhlIHNlY29uZCBhcmd1bWVudAotICB0byBvcy51dGltZSwgb3MubHV0aW1lcywgb3MuZnV0aW1lcywgb3MuZnV0aW1lbnMsIG9zLmZ1dGltZXNhdCwgaW4KLSAgb3JkZXIgdG8gdXBkYXRlIHRvIHRoZSBjdXJyZW50IHRpbWUuIEFsc28gYWRkZWQga2V5d29yZCBhcmd1bWVudAotICBoYW5kbGluZyB0byBvcy51dGltZW5zYXQgaW4gb3JkZXIgdG8gcmVtb3ZlIHRoZSBuZWVkIGZvciBleHBsaWNpdCBOb25lLgotCi0tIElzc3VlICMxMzM1MDogU2ltcGxpZnkgc29tZSBDIGNvZGUgYnkgcmVwbGFjaW5nIG1vc3QgdXNhZ2VzIG9mCi0gIFB5VW5pY29kZV9Gb3JtYXQgYnkgUHlVbmljb2RlX0Zyb21Gb3JtYXQuCi0KLS0gSXNzdWUgIzEzMzQyOiBpbnB1dCgpIHVzZWQgdG8gaWdub3JlIHN5cy5zdGRpbidzIGFuZCBzeXMuc3Rkb3V0J3MgdW5pY29kZQotICBlcnJvciBoYW5kbGVyIGluIGludGVyYWN0aXZlIG1vZGUgKHdoZW4gY2FsbGluZyBpbnRvIFB5T1NfUmVhZGxpbmUoKSkuCi0KLS0gSXNzdWUgIzk4OTY6IEFkZCBzdGFydCwgc3RvcCwgYW5kIHN0ZXAgYXR0cmlidXRlcyB0byByYW5nZSBvYmplY3RzLgotCi0tIElzc3VlICMxMzM0MzogRml4IGEgU3lzdGVtRXJyb3Igd2hlbiBhIGxhbWJkYSBleHByZXNzaW9uIHVzZXMgYSBnbG9iYWwKLSAgdmFyaWFibGUgaW4gdGhlIGRlZmF1bHQgdmFsdWUgb2YgYSBrZXl3b3JkLW9ubHkgYXJndW1lbnQ6IGBgbGFtYmRhICosCi0gIGFyZz1HTE9CQUxfTkFNRTogTm9uZWBgCi0KLS0gSXNzdWUgIzEyNzk3OiBBZGRlZCBjdXN0b20gb3BlbmVyIHBhcmFtZXRlciB0byBidWlsdGluIG9wZW4oKSBhbmQKLSAgRmlsZUlPLm9wZW4oKS4KLQotLSBJc3N1ZSAjMTA1MTk6IEF2b2lkIHVubmVjZXNzYXJ5IHJlY3Vyc2l2ZSBmdW5jdGlvbiBjYWxscyBpbgotICBzZXRvYmplY3QuYy4KLQotLSBJc3N1ZSAjMTAzNjM6IERlYWxsb2NhdGUgZ2xvYmFsIGxvY2tzIGluIFB5X0ZpbmFsaXplKCkuCi0KLS0gSXNzdWUgIzEzMDE4OiBGaXggcmVmZXJlbmNlIGxlYWtzIGluIGVycm9yIHBhdGhzIGluIGRpY3RvYmplY3QuYy4KLSAgUGF0Y2ggYnkgU3VtYW4gU2FoYS4KLQotLSBJc3N1ZSAjMTMyMDE6IERlZmluZSAnPT0nIGFuZCAnIT0nIHRvIGNvbXBhcmUgcmFuZ2Ugb2JqZWN0cyBiYXNlZCBvbgotICB0aGUgc2VxdWVuY2Ugb2YgdmFsdWVzIHRoZXkgZGVmaW5lIChpbnN0ZWFkIG9mIGNvbXBhcmluZyBiYXNlZCBvbgotICBvYmplY3QgaWRlbnRpdHkpLgotCi0tIElzc3VlICMxMjk0MjMyOiBJbiBhIGZldyBjYXNlcyBpbnZvbHZpbmcgbWV0YWNsYXNzIGluaGVyaXRhbmNlLCB0aGUKLSAgaW50ZXJwcmV0ZXIgd291bGQgc29tZXRpbWVzIGludm9rZSB0aGUgd3JvbmcgbWV0YWNsYXNzIHdoZW4gYnVpbGRpbmcgYSBuZXcKLSAgY2xhc3Mgb2JqZWN0LiBUaGVzZSBjYXNlcyBub3cgYmVoYXZlIGNvcnJlY3RseS4gUGF0Y2ggYnkgRGFuaWVsIFVyYmFuLgotCi0tIElzc3VlICMxMjc1MzogQWRkIHN1cHBvcnQgZm9yIFVuaWNvZGUgbmFtZSBhbGlhc2VzIGFuZCBuYW1lZCBzZXF1ZW5jZXMuCi0gIEJvdGggYGB1bmljb2RlZGF0YS5sb29rdXAoKWBgIGFuZCAnXE57Li4ufScgbm93IHJlc29sdmUgYWxpYXNlcywKLSAgYW5kIGBgdW5pY29kZWRhdGEubG9va3VwKClgYCByZXNvbHZlcyBuYW1lZCBzZXF1ZW5jZXMgdG9vLgotCi0tIElzc3VlICMxMjE3MDogVGhlIGNvdW50KCksIGZpbmQoKSwgcmZpbmQoKSwgaW5kZXgoKSBhbmQgcmluZGV4KCkgbWV0aG9kcwotICBvZiBieXRlcyBhbmQgYnl0ZWFycmF5IG9iamVjdHMgbm93IGFjY2VwdCBhbiBpbnRlZ2VyIGJldHdlZW4gMCBhbmQgMjU1Ci0gIGFzIHRoZWlyIGZpcnN0IGFyZ3VtZW50LiAgUGF0Y2ggYnkgUGV0cmkgTGVodGluZW4uCi0KLS0gSXNzdWUgIzEyNjA0OiBWVFJBQ0UgbWFjcm8gZXhwYW5kZWQgdG8gbm8tb3AgaW4gX3NyZS5jIHRvIGF2b2lkIGNvbXBpbGVyCi0gIHdhcm5pbmdzLiBQYXRjaCBieSBKb3NoIFRyaXBsZXR0IGFuZCBQZXRyaSBMZWh0aW5lbi4KLQotLSBJc3N1ZSAjMTIyODE6IFJld3JpdGUgdGhlIE1CQ1MgY29kZWMgdG8gaGFuZGxlIGNvcnJlY3RseSByZXBsYWNlIGFuZCBpZ25vcmUKLSAgZXJyb3IgaGFuZGxlcnMgb24gYWxsIFdpbmRvd3MgdmVyc2lvbnMuIFRoZSBNQkNTIGNvZGVjIGlzIG5vdyBzdXBwb3J0aW5nIGFsbAotICBlcnJvciBoYW5kbGVycywgaW5zdGVhZCBvZiBvbmx5IHJlcGxhY2UgdG8gZW5jb2RlIGFuZCBpZ25vcmUgdG8gZGVjb2RlLgotCi0tIElzc3VlICMxMzE4ODogV2hlbiBjYWxsZWQgd2l0aG91dCBhbiBleHBsaWNpdCB0cmFjZWJhY2sgYXJndW1lbnQsCi0gIGdlbmVyYXRvci50aHJvdygpIG5vdyBnZXRzIHRoZSB0cmFjZWJhY2sgZnJvbSB0aGUgcGFzc2VkIGV4Y2VwdGlvbidzCi0gIGBgX190cmFjZWJhY2tfX2BgIGF0dHJpYnV0ZS4gIFBhdGNoIGJ5IFBldHJpIExlaHRpbmVuLgotCi0tIElzc3VlICMxMzE0NjogV3JpdGluZyBhIHB5YyBmaWxlIGlzIG5vdyBhdG9taWMgdW5kZXIgUE9TSVguCi0KLS0gSXNzdWUgIzc4MzM6IEV4dGVuc2lvbiBtb2R1bGVzIGJ1aWx0IHVzaW5nIGRpc3R1dGlscyBvbiBXaW5kb3dzIHdpbGwgbm8KLSAgbG9uZ2VyIGluY2x1ZGUgYSAibWFuaWZlc3QiIHRvIHByZXZlbnQgdGhlbSBmYWlsaW5nIGF0IGltcG9ydCB0aW1lIGluIHNvbWUKLSAgZW1iZWRkZWQgc2l0dWF0aW9ucy4KLQotLSBQRVAgMzE1MSAvIGlzc3VlICMxMjU1NTogcmV3b3JraW5nIHRoZSBPUyBhbmQgSU8gZXhjZXB0aW9uIGhpZXJhcmNoeS4KLQotLSBBZGQgaW50ZXJuYWwgQVBJIGZvciBzdGF0aWMgc3RyaW5ncyAoX1B5X2lkZW50aWZpZXIgZXQgYWwuKS4KLQotLSBJc3N1ZSAjMTMwNjM6IHRoZSBXaW5kb3dzIGVycm9yIEVSUk9SX05PX0RBVEEgKG51bWJlcmVkIDIzMiBhbmQgZGVzY3JpYmVkCi0gIGFzICJUaGUgcGlwZSBpcyBiZWluZyBjbG9zZWQiKSBpcyBub3cgbWFwcGVkIHRvIFBPU0lYIGVycm5vIEVQSVBFCi0gIChwcmV2aW91c2x5IEVJTlZBTCkuCi0KLS0gSXNzdWUgIzEyOTExOiBGaXggbWVtb3J5IGNvbnN1bXB0aW9uIHdoZW4gY2FsY3VsYXRpbmcgdGhlIHJlcHIoKSBvZiBodWdlCi0gIHR1cGxlcyBvciBsaXN0cy4KLQotLSBQRVAgMzkzOiBmbGV4aWJsZSBzdHJpbmcgcmVwcmVzZW50YXRpb24uIFRoYW5rcyB0byBUb3JzdGVuIEJlY2tlciBmb3IgdGhlCi0gIGluaXRpYWwgaW1wbGVtZW50YXRpb24sIGFuZCBWaWN0b3IgU3Rpbm5lciBmb3IgdmFyaW91cyBidWcgZml4ZXMuCi0KLS0gSXNzdWUgIzE0MDgxOiBUaGUgJ3NlcCcgYW5kICdtYXhzcGxpdCcgcGFyYW1ldGVyIHRvIHN0ci5zcGxpdCwgYnl0ZXMuc3BsaXQsCi0gIGFuZCBieXRlYXJyYXkuc3BsaXQgbWF5IG5vdyBiZSBwYXNzZWQgYXMga2V5d29yZCBhcmd1bWVudHMuCi0KLS0gSXNzdWUgIzEzMDEyOiBUaGUgJ2tlZXBlbmRzJyBwYXJhbWV0ZXIgdG8gc3RyLnNwbGl0bGluZXMgbWF5IG5vdyBiZSBwYXNzZWQKLSAgYXMgYSBrZXl3b3JkIGFyZ3VtZW50OiAgIm15X3N0cmluZy5zcGxpdGxpbmVzKGtlZXBlbmRzPVRydWUpIi4gIFRoZSBzYW1lCi0gIGNoYW5nZSBhbHNvIGFwcGxpZXMgdG8gYnl0ZXMuc3BsaXRsaW5lcyBhbmQgYnl0ZWFycmF5LnNwbGl0bGluZXMuCi0KLS0gSXNzdWUgIzc3MzI6IERvbid0IG9wZW4gYSBkaXJlY3RvcnkgYXMgYSBmaWxlIGFueW1vcmUgd2hpbGUgaW1wb3J0aW5nIGEKLSAgbW9kdWxlLiBJZ25vcmUgdGhlIGRpcmVjb3RyeSBpZiBpdHMgbmFtZSBtYXRjaHMgdGhlIG1vZHVsZSBuYW1lIChlLmcuCi0gICJfX2luaXRfXy5weSIpIGFuZCByYWlzZSBhIEltcG9ydEVycm9yIGluc3RlYWQuCi0KLS0gSXNzdWUgIzEzMDIxOiBNaXNzaW5nIGRlY3JlZiBvbiBhbiBlcnJvciBwYXRoLiAgVGhhbmtzIHRvIFN1bWFuIFNhaGEgZm9yCi0gIGZpbmRpbmcgdGhlIGJ1ZyBhbmQgcHJvdmlkaW5nIGEgcGF0Y2guCi0KLS0gSXNzdWUgIzEyOTczOiBGaXggb3ZlcmZsb3cgY2hlY2tzIHRoYXQgcmVsaWVkIG9uIHVuZGVmaW5lZCBiZWhhdmlvdXIgaW4KLSAgbGlzdF9yZXBlYXQgKGxpc3RvYmplY3QuYykgYW5kIGlzbGljZV9uZXh0IChpdGVydG9vbHNtb2R1bGUuYykuICBUaGVzZSBidWdzCi0gIGNhdXNlZCB0ZXN0IGZhaWx1cmVzIHdpdGggcmVjZW50IHZlcnNpb25zIG9mIENsYW5nLgotCi0tIElzc3VlICMxMjkwNDogb3MudXRpbWUsIG9zLmZ1dGltZXMsIG9zLmx1dGltZXMsIGFuZCBvcy5mdXRpbWVzYXQgbm93IHdyaXRlCi0gIGF0aW1lIGFuZCBtdGltZSB3aXRoIG5hbm9zZWNvbmQgcHJlY2lzaW9uIG9uIG1vZGVybiBQT1NJWCBwbGF0Zm9ybXMuCi0KLS0gSXNzdWUgIzEyODAyOiB0aGUgV2luZG93cyBlcnJvciBFUlJPUl9ESVJFQ1RPUlkgKG51bWJlcmVkIDI2NykgaXMgbm93Ci0gIG1hcHBlZCB0byBQT1NJWCBlcnJubyBFTk9URElSIChwcmV2aW91c2x5IEVJTlZBTCkuCi0KLS0gSXNzdWUgIzkyMDA6IFRoZSBzdHIuaXMqIG1ldGhvZHMgbm93IHdvcmsgd2l0aCBzdHJpbmdzIHRoYXQgY29udGFpbiBub24tQk1QCi0gIGNoYXJhY3RlcnMgZXZlbiBpbiBuYXJyb3cgVW5pY29kZSBidWlsZHMuCi0KLS0gSXNzdWUgIzEyNzkxOiBCcmVhayByZWZlcmVuY2UgY3ljbGVzIGVhcmx5IHdoZW4gYSBnZW5lcmF0b3IgZXhpdHMgd2l0aAotICBhbiBleGNlcHRpb24uCi0KLS0gSXNzdWUgIzEyNzczOiBNYWtlIF9fZG9jX18gbXV0YWJsZSBvbiB1c2VyLWRlZmluZWQgY2xhc3Nlcy4KLQotLSBJc3N1ZSAjMTI3NjY6IFJhaXNlIGEgVmFsdWVFcnJvciB3aGVuIGNyZWF0aW5nIGEgY2xhc3Mgd2l0aCBhIGNsYXNzIHZhcmlhYmxlCi0gIHRoYXQgY29uZmxpY3RzIHdpdGggYSBuYW1lIGluIF9fc2xvdHNfXy4KLQotLSBJc3N1ZSAjMTIyNjY6IEZpeCBzdHIuY2FwaXRhbGl6ZSgpIHRvIGNvcnJlY3RseSB1cHBlcmNhc2UvbG93ZXJjYXNlCi0gIHRpdGxlY2FzZWQgYW5kIGNhc2VkIG5vbi1sZXR0ZXIgY2hhcmFjdGVycy4KLQotLSBJc3N1ZSAjMTI3MzI6IEluIG5hcnJvdyB1bmljb2RlIGJ1aWxkcywgYWxsb3cgVW5pY29kZSBpZGVudGlmaWVycyB3aGljaCBmYWxsCi0gIG91dHNpZGUgdGhlIEJNUC4KLQotLSBJc3N1ZSAjMTI1NzU6IFZhbGlkYXRlIHVzZXItZ2VuZXJhdGVkIEFTVCBiZWZvcmUgaXQgaXMgY29tcGlsZWQuCi0KLS0gTWFrZSB0eXBlKE5vbmUpLCB0eXBlKEVsbGlwc2lzKSwgYW5kIHR5cGUoTm90SW1wbGVtZW50ZWQpIGNhbGxhYmxlLiBUaGV5Ci0gIHJldHVybiB0aGUgcmVzcGVjdGl2ZSBzaW5nbGV0b24gaW5zdGFuY2VzLgotCi0tIEZvcmJpZCBzdW1taW5nIGJ5dGVzIHdpdGggc3VtKCkuCi0KLS0gVmVyaWZ5IHRoZSB0eXBlcyBvZiBBU1Qgc3RyaW5ncyBhbmQgaWRlbnRpZmllcnMgcHJvdmlkZWQgYnkgdGhlIHVzZXIgYmVmb3JlCi0gIGNvbXBpbGluZyB0aGVtLgotCi0tIElzc3VlICMxMjY0NzogVGhlIE5vbmUgb2JqZWN0IG5vdyBoYXMgYSBfX2Jvb2xfXygpIG1ldGhvZCB0aGF0IHJldHVybnMgRmFsc2UuCi0gIEZvcm1lcmx5LCBib29sKE5vbmUpIHJldHVybmVkIEZhbHNlIG9ubHkgYmVjYXVzZSBvZiBzcGVjaWFsIGNhc2UgbG9naWMKLSAgaW4gUHlPYmplY3RfSXNUcnVlKCkuCi0KLS0gSXNzdWUgIzEyNTc5OiBzdHIuZm9ybWF0X21hcCgpIG5vdyByYWlzZXMgYSBWYWx1ZUVycm9yIGlmIHVzZWQgb24gYQotICBmb3JtYXQgc3RyaW5nIHRoYXQgY29udGFpbnMgcG9zaXRpb25hbCBmaWVsZHMuIEluaXRpYWwgcGF0Y2ggYnkKLSAgSnVsaWFuIEJlcm1hbi4KLQotLSBJc3N1ZSAjMTAyNzE6IEFsbG93IHdhcm5pbmdzLnNob3d3YXJuaW5nKCkgYmUgYW55IGNhbGxhYmxlLgotCi0tIElzc3VlICMxMTYyNzogRml4IHNlZ2ZhdWx0IHdoZW4gX19uZXdfXyBvbiBhIGV4Y2VwdGlvbiByZXR1cm5zIGEKLSAgbm9uLWV4Y2VwdGlvbiBjbGFzcy4KLQotLSBJc3N1ZSAjMTIxNDk6IFVwZGF0ZSB0aGUgbWV0aG9kIGNhY2hlIGFmdGVyIGEgdHlwZSdzIGRpY3Rpb25hcnkgZ2V0cwotICBjbGVhcmVkIGJ5IHRoZSBnYXJiYWdlIGNvbGxlY3Rvci4gIFRoaXMgZml4ZXMgYSBzZWdmYXVsdCB3aGVuIGFuIGluc3RhbmNlCi0gIGFuZCBpdHMgdHlwZSBnZXQgY2F1Z2h0IGluIGEgcmVmZXJlbmNlIGN5Y2xlLCBhbmQgdGhlIGluc3RhbmNlJ3MKLSAgZGVhbGxvY2F0b3IgY2FsbHMgb25lIG9mIHRoZSBtZXRob2RzIG9uIHRoZSB0eXBlIChlLmcuIHdoZW4gc3ViY2xhc3NpbmcKLSAgSU9CYXNlKS4gIERpYWdub3NpcyBhbmQgcGF0Y2ggYnkgRGF2aWRlIFJpenpvLgotCi0tIElzc3VlICM5NjExLCBJc3N1ZSAjOTAxNTogRmlsZUlPLnJlYWQoKSBjbGFtcHMgdGhlIGxlbmd0aCB0byBJTlRfTUFYIG9uIFdpbmRvd3MuCi0KLS0gSXNzdWUgIzk2NDI6IFVuaWZvcm1pemUgdGhlIHRlc3RzIG9uIHRoZSBhdmFpbGFiaWxpdHkgb2YgdGhlIG1iY3MgY29kZWMsIGFkZAotICBhIG5ldyBIQVZFX01CQ1MgZGVmaW5lLgotCi0tIElzc3VlICM5NjQyOiBGaXggZmlsZXN5c3RlbSBlbmNvZGluZyBpbml0aWFsaXphdGlvbjogdXNlIHRoZSBBTlNJIGNvZGUgcGFnZQotICBvbiBXaW5kb3dzIGlmIHRoZSBtYmNzIGNvZGVjIGlzIG5vdCBhdmFpbGFibGUsIGFuZCBmYWlsIHdpdGggYSBmYXRhbCBlcnJvciBpZgotICB3ZSBjYW5ub3QgZ2V0IHRoZSBsb2NhbGUgZW5jb2RpbmcgKGlmIG5sX2xhbmdpbmZvKENPREVTRVQpIGlzIG5vdCBhdmFpbGFibGUpCi0gIGluc3RlYWQgb2YgdXNpbmcgVVRGLTguCi0KLS0gV2hlbiBhIGdlbmVyYXRvciB5aWVsZHMsIGRvIG5vdCByZXRhaW4gdGhlIGNhbGxlcidzIGV4Y2VwdGlvbiBzdGF0ZSBvbiB0aGUKLSAgZ2VuZXJhdG9yLgotCi0tIElzc3VlICMxMjQ3NTogUHJldmVudCBnZW5lcmF0b3JzIGZyb20gbGVha2luZyB0aGVpciBleGNlcHRpb24gc3RhdGUgaW50byB0aGUKLSAgY2FsbGVyJ3MgZnJhbWUgYXMgdGhleSByZXR1cm4gZm9yIHRoZSBsYXN0IHRpbWUuCi0KLS0gSXNzdWUgIzEyMjkxOiBZb3UgY2FuIG5vdyBsb2FkIG11bHRpcGxlIG1hcnNoYWxsZWQgb2JqZWN0cyBmcm9tIGEgc3RyZWFtLAotICB3aXRoIG90aGVyIGRhdGEgaW50ZXJsZWF2ZWQgYmV0d2VlbiBtYXJzaGFsbGVkIG9iamVjdHMuCi0KLS0gSXNzdWUgIzEyMzU2OiBXaGVuIHJlcXVpcmVkIHBvc2l0aW9uYWwgb3Iga2V5d29yZC1vbmx5IGFyZ3VtZW50cyBhcmUgbm90Ci0gIGdpdmVuLCBwcm9kdWNlIGEgaW5mb3JtYXRpdmUgZXJyb3IgbWVzc2FnZSB3aGljaCBpbmNsdWRlcyB0aGUgbmFtZShzKSBvZiB0aGUKLSAgbWlzc2luZyBhcmd1bWVudHMuCi0KLS0gSXNzdWUgIzEyMzcwOiBGaXggc3VwZXIgd2l0aCBubyBhcmd1bWVudHMgd2hlbiBfX2NsYXNzX18gaXMgb3ZlcnJpZGVuIGluIHRoZQotICBjbGFzcyBib2R5LgotCi0tIElzc3VlICMxMjA4NDogb3Muc3RhdCBvbiBXaW5kb3dzIG5vdyB3b3JrcyBwcm9wZXJseSB3aXRoIHJlbGF0aXZlIHN5bWJvbGljCi0gIGxpbmtzIHdoZW4gY2FsbGVkIGZyb20gYW55IGRpcmVjdG9yeS4KLQotLSBMb29zZW4gdHlwZSByZXN0cmljdGlvbnMgb24gdGhlIF9fZGlyX18gbWV0aG9kLiBfX2Rpcl9fIGNhbiBub3cgcmV0dXJuIGFueQotICBzZXF1ZW5jZSwgd2hpY2ggd2lsbCBiZSBjb252ZXJ0ZWQgdG8gYSBsaXN0IGFuZCBzb3J0ZWQgYnkgZGlyKCkuCi0KLS0gSXNzdWUgIzEyMjY1OiBNYWtlIGVycm9yIG1lc3NhZ2VzIHByb2R1Y2VkIGJ5IHBhc3NpbmcgYW4gaW52YWxpZCBzZXQgb2YKLSAgYXJndW1lbnRzIHRvIGEgZnVuY3Rpb24gbW9yZSBpbmZvcm1hdGl2ZS4KLQotLSBJc3N1ZSAjMTIyMjU6IFN0aWxsIGFsbG93IFB5dGhvbiB0byBidWlsZCBpZiBQeXRob24gaXMgbm90IGluIGl0cyBoZyByZXBvIG9yCi0gIG1lcmN1cmlhbCBpcyBub3QgaW5zdGFsbGVkLgotCi0tIElzc3VlICMxMTk1OiBteV9mZ2V0cygpIG5vdyBhbHdheXMgY2xlYXJzIGVycm9ycyBiZWZvcmUgY2FsbGluZyBmZ2V0cygpLiBGaXgKLSAgdGhlIGZvbGxvd2luZyBjYXNlOiBzeXMuc3RkaW4ucmVhZCgpIHN0b3BwZWQgd2l0aCBDVFJMK2QgKGVuZCBvZiBmaWxlKSwKLSAgcmF3X2lucHV0KCkgaW50ZXJydXB0ZWQgYnkgQ1RSTCtjLgotCi0tIElzc3VlICMxMjIxNjogQWxsb3cgdW5leHBlY3RlZCBFT0YgZXJyb3JzIHRvIGhhcHBlbiBvbiBhbnkgbGluZSBvZiB0aGUgZmlsZS4KLQotLSBJc3N1ZSAjMTIxOTk6IFRoZSBUcnlFeGNlcHQgYW5kIFRyeUZpbmFsbHkgYW5kIEFTVCBub2RlcyBoYXZlIGJlZW4gdW5pZmllZAotICBpbnRvIGEgVHJ5IG5vZGUuCi0KLS0gSXNzdWUgIzk2NzA6IEluY3JlYXNlIHRoZSBkZWZhdWx0IHN0YWNrIHNpemUgZm9yIHNlY29uZGFyeSB0aHJlYWRzIG9uCi0gIE1hYyBPUyBYIGFuZCBGcmVlQlNEIHRvIHJlZHVjZSB0aGUgY2hhbmNlcyBvZiBhIGNyYXNoIGluc3RlYWQgb2YgYQotICAibWF4aW11bSByZWN1cnNpb24gZGVwdGgiIFJ1bnRpbWVFcnJvciBleGNlcHRpb24uCi0gIChwYXRjaCBieSBSb25hbGQgT3Vzc29yZW4pCi0KLS0gSXNzdWUgIzEyMTA2OiBUaGUgdXNlIG9mIHRoZSBtdWx0aXBsZS13aXRoIHNob3J0aGFuZCBzeW50YXggaXMgbm93IHJlZmxlY3RlZAotICBpbiB0aGUgQVNULgotCi0tIElzc3VlICMxMjE5MDogVHJ5IHRvIHVzZSB0aGUgc2FtZSBmaWxlbmFtZSBvYmplY3Qgd2hlbiBjb21waWxpbmcgdW5tYXJzaGFsbGluZwotICBhIGNvZGUgb2JqZWN0cyBpbiB0aGUgc2FtZSBmaWxlLgotCi0tIElzc3VlICMxMjE2NjogTW92ZSBpbXBsZW1lbnRhdGlvbnMgb2YgZGlyKCkgc3BlY2lhbGl6ZWQgZm9yIHZhcmlvdXMgdHlwZXMgaW50bwotICB0aGUgX19kaXJfXygpIG1ldGhvZHMgb2YgdGhvc2UgdHlwZXMuCi0KLS0gSXNzdWUgIzU3MTU6IEluIHNvY2tldHNlcnZlciwgY2xvc2UgdGhlIHNlcnZlciBzb2NrZXQgaW4gdGhlIGNoaWxkIHByb2Nlc3MuCi0KLS0gQ29ycmVjdCBsb29rdXAgb2YgX19kaXJfXyBvbiBvYmplY3RzLiBBbW9uZyBvdGhlciB0aGluZ3MsIHRoaXMgY2F1c2VzIGVycm9ycwotICBiZXNpZGVzIEF0dHJpYnV0ZUVycm9yIGZvdW5kIG9uIGxvb2t1cCB0byBiZSBwcm9wYWdhdGVkLgotCi0tIElzc3VlICMxMjA2MDogVXNlIHNpZ19hdG9taWNfdCB0eXBlIGFuZCB2b2xhdGlsZSBrZXl3b3JkIGluIHRoZSBzaWduYWwKLSAgbW9kdWxlLiBQYXRjaCB3cml0dGVuIGJ5IENoYXJsZXMtRnJhbsOnb2lzIE5hdGFsaS4KLQotLSBJc3N1ZSAjMTc0NjY1NjogQWRkZWQgdGhlIGlmX25hbWVpbmRleCwgaWZfaW5kZXh0b25hbWUsIGlmX25hbWV0b2luZGV4Ci0gIG1ldGhvZHMgdG8gdGhlIHNvY2tldCBtb2R1bGUuCi0KLS0gSXNzdWUgIzEyMDQ0OiBGaXhlZCBzdWJwcm9jZXNzLlBvcGVuIHdoZW4gdXNlZCBhcyBhIGNvbnRleHQgbWFuYWdlciB0bwotICB3YWl0IGZvciB0aGUgcHJvY2VzcyB0byBlbmQgd2hlbiBleGl0aW5nIHRoZSBjb250ZXh0IHRvIGF2b2lkIHVuaW50ZW50aW9uYWxseQotICBsZWF2aW5nIHpvbWJpZSBwcm9jZXNzZXMgYXJvdW5kLgotCi0tIElzc3VlICMxMTk1OiBGaXggaW5wdXQoKSBpZiBpdCBpcyBpbnRlcnJ1cHRlZCBieSBDVFJMK2QgYW5kIHRoZW4gQ1RSTCtjLAotICBjbGVhciB0aGUgZW5kLW9mLWZpbGUgaW5kaWNhdG9yIGFmdGVyIENUUkwrZC4KLQotLSBJc3N1ZSAjMTg1NjogQXZvaWQgY3Jhc2hlcyBhbmQgbG9ja3VwcyB3aGVuIGRhZW1vbiB0aHJlYWRzIHJ1biB3aGlsZSB0aGUKLSAgaW50ZXJwcmV0ZXIgaXMgc2h1dHRpbmcgZG93bjsgaW5zdGVhZCwgdGhlc2UgdGhyZWFkcyBhcmUgbm93IGtpbGxlZCB3aGVuCi0gIHRoZXkgdHJ5IHRvIHRha2UgdGhlIEdJTC4KLQotLSBJc3N1ZSAjOTc1NjogV2hlbiBjYWxsaW5nIGEgbWV0aG9kIGRlc2NyaXB0b3Igb3IgYSBzbG90IHdyYXBwZXIgZGVzY3JpcHRvciwKLSAgdGhlIGNoZWNrIG9mIHRoZSBvYmplY3QgdHlwZSBkb2Vzbid0IHJlYWQgdGhlIF9fY2xhc3NfXyBhdHRyaWJ1dGUgYW55bW9yZS4KLSAgRml4IGEgY3Jhc2ggaWYgYSBjbGFzcyBvdmVycmlkZSBpdHMgX19jbGFzc19fIGF0dHJpYnV0ZSAoZS5nLiBhIHByb3h5IG9mIHRoZQotICBzdHIgdHlwZSkuIFBhdGNoIHdyaXR0ZW4gYnkgQW5kcmVhcyBTdMO8aHJrLgotCi0tIElzc3VlICMxMDUxNzogQWZ0ZXIgZm9yaygpLCByZWluaXRpYWxpemUgdGhlIFRMUyB1c2VkIGJ5IHRoZSBQeUdJTFN0YXRlXyoKLSAgQVBJcywgdG8gYXZvaWQgYSBjcmFzaCB3aXRoIHRoZSBwdGhyZWFkIGltcGxlbWVudGF0aW9uIGluIFJIRUwgNS4gIFBhdGNoCi0gIGJ5IENoYXJsZXMtRnJhbsOnb2lzIE5hdGFsaS4KLQotLSBJc3N1ZSAjMTA5MTQ6IEluaXRpYWxpemUgY29ycmVjdGx5IHRoZSBmaWxlc3lzdGVtIGNvZGVjIHdoZW4gY3JlYXRpbmcgYSBuZXcKLSAgc3ViaW50ZXJwcmV0ZXIgdG8gZml4IGEgYm9vdHN0cmFwIGlzc3VlIHdpdGggY29kZWNzIGltcGxlbWVudGVkIGluIFB5dGhvbiwgYXMKLSAgdGhlIElTTy04ODU5LTE1IGNvZGVjLgotCi0tIElzc3VlICMxMTkxODogT1MvMiBhbmQgVk1TIGFyZSBubyBtb3JlIHN1cHBvcnRlZCBiZWNhdXNlIG9mIHRoZSBsYWNrIG9mCi0gIG1haW50YWluZXIuCi0KLS0gSXNzdWUgIzY3ODA6IGZpeCBzdGFydHMvZW5kc3dpdGggZXJyb3IgbWVzc2FnZSB0byBtZW50aW9uIHRoYXQgdHVwbGVzIGFyZQotICBhY2NlcHRlZCB0b28uCi0KLS0gSXNzdWUgIzUwNTc6IGZpeCBhIGJ1ZyBpbiB0aGUgcGVlcGhvbGVyIHRoYXQgbGVkIHRvIG5vbi1wb3J0YWJsZSBweWMgZmlsZXMKLSAgYmV0d2VlbiBuYXJyb3cgYW5kIHdpZGUgYnVpbGRzIHdoaWxlIG9wdGltaXppbmcgQklOQVJZX1NVQlNDUiBvbiBub24tQk1QCi0gIGNoYXJzIChlLmcuICJcVTAwMDEyMzQ1IlswXSkuCi0KLS0gSXNzdWUgIzExODQ1OiBGaXggdHlwbyBpbiByYW5nZW9iamVjdC5jIHRoYXQgY2F1c2VkIGEgY3Jhc2ggaW4KLSAgY29tcHV0ZV9zbGljZV9pbmRpY2VzLiAgUGF0Y2ggYnkgRGFuaWVsIFVyYmFuLgotCi0tIElzc3VlICM1NjczOiBBZGRlZCBhIGB0aW1lb3V0YCBrZXl3b3JkIGFyZ3VtZW50IHRvIHN1YnByb2Nlc3MuUG9wZW4ud2FpdCwKLSAgc3VicHJvY2Vzcy5Qb3Blbi5jb21tdW5pY2F0ZWQsIHN1YnByb2Nlc3MuY2FsbCwgc3VicHJvY2Vzcy5jaGVja19jYWxsLCBhbmQKLSAgc3VicHJvY2Vzcy5jaGVja19vdXRwdXQuICBJZiB0aGUgYmxvY2tpbmcgb3BlcmF0aW9uIHRha2VzIG1vcmUgdGhhbiBgdGltZW91dGAKLSAgc2Vjb25kcywgdGhlIGBzdWJwcm9jZXNzLlRpbWVvdXRFeHBpcmVkYCBleGNlcHRpb24gaXMgcmFpc2VkLgotCi0tIElzc3VlICMxMTY1MDogUHlPU19TdGRpb1JlYWRsaW5lKCkgcmV0cmllcyBmZ2V0cygpIGlmIGl0IHdhcyBpbnRlcnJ1cHRlZAotICAoRUlOVFIpLCBmb3IgZXhhbXBsZSBpZiB0aGUgcHJvZ3JhbSBpcyBzdG9wcGVkIHdpdGggQ1RSTCt6IG9uIE1hYyBPUyBYLiBQYXRjaAotICB3cml0dGVuIGJ5IENoYXJsZXMtRnJhbmNvaXMgTmF0YWxpLgotCi0tIElzc3VlICM5MzE5OiBJbmNsdWRlIHRoZSBmaWxlbmFtZSBpbiAiTm9uLVVURjggY29kZSAuLi4iIHN5bnRheCBlcnJvci4KLQotLSBJc3N1ZSAjMTA3ODU6IFN0b3JlIHRoZSBmaWxlbmFtZSBhcyBVbmljb2RlIGluIHRoZSBQeXRob24gcGFyc2VyLgotCi0tIElzc3VlICMxMTYxOTogX1B5SW1wb3J0X0xvYWREeW5hbWljTW9kdWxlKCkgZG9lc24ndCBlbmNvZGUgdGhlIHBhdGggdG8gYnl0ZXMKLSAgb24gV2luZG93cy4KLQotLSBJc3N1ZSAjMTA5OTg6IFJlbW92ZSBtZW50aW9ucyBvZiAtUSwgc3lzLmZsYWdzLmRpdmlzaW9uX3dhcm5pbmcgYW5kCi0gIFB5X0RpdmlzaW9uV2FybmluZ0ZsYWcgbGVmdCBvdmVyIGZyb20gUHl0aG9uIDIuCi0KLS0gSXNzdWUgIzExMjQ0OiBSZW1vdmUgYW4gdW5uZWNlc3NhcnkgcGVlcGhvbGVyIGNoZWNrIHRoYXQgd2FzIHByZXZlbnRpbmcKLSAgbmVnYXRpdmUgemVyb3MgZnJvbSBiZWluZyBjb25zdGFudC1mb2xkZWQgcHJvcGVybHkuCi0KLS0gSXNzdWUgIzExMzk1OiBpby5GaWxlSU8oKS53cml0ZSgpIGNsYW1wcyB0aGUgZGF0YSBsZW5ndGggdG8gMzIsNzY3IGJ5dGVzIG9uCi0gIFdpbmRvd3MgaWYgdGhlIGZpbGUgaXMgYSBUVFkgdG8gd29ya2Fyb3VuZCBhIFdpbmRvd3MgYnVnLiBUaGUgV2luZG93cyBjb25zb2xlCi0gIHJldHVybnMgYW4gZXJyb3IgKDEyOiBub3QgZW5vdWdoIHNwYWNlIGVycm9yKSBvbiB3cml0aW5nIGludG8gc3Rkb3V0IGlmCi0gIHN0ZG91dCBtb2RlIGlzIGJpbmFyeSBhbmQgdGhlIGxlbmd0aCBpcyBncmVhdGVyIHRoYW4gNjYsMDAwIGJ5dGVzIChvciBsZXNzLAotICBkZXBlbmRpbmcgb24gaGVhcCB1c2FnZSkuCi0KLS0gSXNzdWUgIzExMzIwOiBmaXggYm9ndXMgbWVtb3J5IG1hbmFnZW1lbnQgaW4gTW9kdWxlcy9nZXRwYXRoLmMsIGxlYWRpbmcgdG8KLSAgYSBwb3NzaWJsZSBjcmFzaCB3aGVuIGNhbGxpbmcgUHlfU2V0UGF0aCgpLgotCi0tIElzc3VlICMxMTQzMjogQSBidWcgd2FzIGludHJvZHVjZWQgaW4gc3VicHJvY2Vzcy5Qb3BlbiBvbiBwb3NpeCBzeXN0ZW1zIHdpdGgKLSAgMy4yLjAgd2hlcmUgdGhlIHN0ZG91dCBvciBzdGRlcnIgZmlsZSBkZXNjcmlwdG9yIGJlaW5nIHRoZSBzYW1lIGFzIHRoZSBzdGRpbgotICBmaWxlIGRlc2NyaXB0b3Igd291bGQgcmFpc2UgYW4gZXhjZXB0aW9uLiB3ZWJicm93c2VyLm9wZW4gd291bGQgZmFpbC4gZml4ZWQuCi0KLS0gSXNzdWUgIzk4NTY6IENoYW5nZSBvYmplY3QuX19mb3JtYXRfXyB3aXRoIGEgbm9uLWVtcHR5IGZvcm1hdCBzdHJpbmcKLSAgdG8gYmUgYSBEZXByZWNhdGlvbldhcm5pbmcuIEluIDMuMiBpdCB3YXMgYSBQZW5kaW5nRGVwcmVjYXRpb25XYXJuaW5nLgotICBJbiAzLjQgaXQgd2lsbCBiZSBhIFR5cGVFcnJvci4KLQotLSBJc3N1ZSAjMTEyNDQ6IFRoZSBwZWVwaG9sZSBvcHRpbWl6ZXIgaXMgbm93IGFibGUgdG8gY29uc3RhbnQtZm9sZAotICBhcmJpdHJhcmlseSBjb21wbGV4IGV4cHJlc3Npb25zLiAgVGhpcyBhbHNvIGZpeGVzIGEgMy4yIHJlZ3Jlc3Npb24gd2hlcmUKLSAgb3BlcmF0aW9ucyBpbnZvbHZpbmcgbmVnYXRpdmUgbnVtYmVycyB3ZXJlIG5vdCBjb25zdGFudC1mb2xkZWQuCi0KLS0gSXNzdWUgIzExNDUwOiBEb24ndCB0cnVuY2F0ZSBoZyB2ZXJzaW9uIGluZm8gaW4gUHlfR2V0QnVpbGRJbmZvKCkgd2hlbgotICB0aGVyZSBhcmUgbWFueSB0YWdzIChlLmcuIHdoZW4gdXNpbmcgbXEpLiAgUGF0Y2ggYnkgTmFkZWVtIFZhd2RhLgotCi0tIElzc3VlICMxMTMzNTogRml4ZWQgYSBtZW1vcnkgbGVhayBpbiBsaXN0LnNvcnQgd2hlbiB0aGUga2V5IGZ1bmN0aW9uCi0gIHRocm93cyBhbiBleGNlcHRpb24uCi0KLS0gSXNzdWUgIzg5MjM6IFdoZW4gYSBzdHJpbmcgaXMgZW5jb2RlZCB0byBVVEYtOCBpbiBzdHJpY3QgbW9kZSwgdGhlIHJlc3VsdCBpcwotICBjYWNoZWQgaW50byB0aGUgb2JqZWN0LiBFeGFtcGxlczogc3RyLmVuY29kZSgpLCBzdHIuZW5jb2RlKCd1dGYtOCcpLAotICBQeVVuaWNvZGVfQXNVVEY4U3RyaW5nKCkgYW5kIFB5VW5pY29kZV9Bc0VuY29kZWRTdHJpbmcodW5pY29kZSwgInV0Zi04IiwKLSAgTlVMTCkuCi0KLS0gSXNzdWUgIzEwODI5OiBSZWZhY3RvciBQeVVuaWNvZGVfRnJvbUZvcm1hdCgpLCB1c2UgdGhlIHNhbWUgZnVuY3Rpb24gdG8gcGFyc2UKLSAgdGhlIGZvcm1hdCBzdHJpbmcgaW4gdGhlIDMgc3RlcHMsIGZpeCBjcmFzaHMgb24gaW52YWxpZCBmb3JtYXQgc3RyaW5ncy4KLQotLSBJc3N1ZSAjMTMwMDc6IHdoaWNoZGIgc2hvdWxkIHJlY29nbml6ZSBnZGJtIDEuOSBtYWdpYyBudW1iZXJzLgotCi0tIElzc3VlICMxMTI4NjogUmFpc2UgYSBWYWx1ZUVycm9yIGZyb20gY2FsbGluZyBQeU1lbW9yeVZpZXdfRnJvbUJ1ZmZlciB3aXRoCi0gIGEgYnVmZmVyIHN0cnVjdCBoYXZpbmcgYSBOVUxMIGRhdGEgcG9pbnRlci4KLQotLSBJc3N1ZSAjMTEyNzI6IE9uIFdpbmRvd3MsIGlucHV0KCkgc3RyaXBzICdccicgKGFuZCBub3Qgb25seSAnXG4nKSwgYW5kCi0gIHN5cy5zdGRpbiB1c2VzIHVuaXZlcnNhbCBuZXdsaW5lIChyZXBsYWNlICdcclxuJyBieSAnXG4nKS4KLQotLSBJc3N1ZSAjMTE4Mjg6IHN0YXJ0c3dpdGggYW5kIGVuZHN3aXRoIG5vdyBhY2NlcHQgTm9uZSBhcyBzbGljZSBpbmRleC4KLSAgUGF0Y2ggYnkgVG9yc3RlbiBCZWNrZXIuCi0KLS0gSXNzdWUgIzExMTY4OiBSZW1vdmUgZmlsZW5hbWUgZGVidWcgdmFyaWFibGUgZnJvbSBQeUV2YWxfRXZhbEZyYW1lRXgoKS4KLSAgSXQgZW5jb2RlZCB0aGUgVW5pY29kZSBmaWxlbmFtZSB0byBVVEYtOCwgYnV0IHRoZSBlbmNvZGluZyBmYWlscyBvbgotICB1bmRlY29kYWJsZSBmaWxlbmFtZSAob24gc3Vycm9nYXRlIGNoYXJhY3RlcnMpIHdoaWNoIHJhaXNlcyBhbiB1bmV4cGVjdGVkCi0gIFVuaWNvZGVFbmNvZGVFcnJvciBvbiByZWN1cnNpb24gbGltaXQuCi0KLS0gSXNzdWUgIzExMTg3OiBSZW1vdmUgYm9vdHN0cmFwIGNvZGUgKHVzZSBBU0NJSSkgb2YKLSAgUHlVbmljb2RlX0FzRW5jb2RlZFN0cmluZygpLCBpdCB3YXMgcmVwbGFjZWQgYnkgYSBiZXR0ZXIgZmFsbGJhY2sgKHVzZSB0aGUKLSAgbG9jYWxlIGVuY29kaW5nKSBpbiBQeVVuaWNvZGVfRW5jb2RlRlNEZWZhdWx0KCkuCi0KLS0gQ2hlY2sgZm9yIE5VTEwgcmVzdWx0IGluIFB5VHlwZV9Gcm9tU3BlYy4KLQotLSBJc3N1ZSAjMTA1MTY6IE5ldyBjb3B5KCkgYW5kIGNsZWFyKCkgbWV0aG9kcyBmb3IgbGlzdHMgYW5kIGJ5dGVhcnJheXMuCi0KLS0gSXNzdWUgIzExMzg2OiBieXRlYXJyYXkucG9wKCkgbm93IHRocm93cyBJbmRleEVycm9yIHdoZW4gdGhlIGJ5dGVhcnJheSBpcwotICBlbXB0eSwgaW5zdGVhZCBvZiBPdmVyZmxvd0Vycm9yLgotCi0tIElzc3VlICMxMjM4MDogVGhlIHJqdXN0LCBsanVzdCBhbmQgY2VudGVyIG1ldGhvZHMgb2YgYnl0ZXMgYW5kIGJ5dGVhcnJheQotICBub3cgYWNjZXB0IGEgYnl0ZWFycmF5IGFyZ3VtZW50LgotCi1MaWJyYXJ5Ci0tLS0tLS0tCi0KLS0gSXNzdWUgIzE0MTk1OiBBbiBpc3N1ZSB0aGF0IGNhdXNlZCB3ZWFrcmVmLldlYWtTZXQgaW5zdGFuY2VzIHRvIGluY29ycmVjdGx5Ci0gIHJldHVybiBUcnVlIGZvciBhIFdlYWtTZXQgaW5zdGFuY2UgJ2EnIGluIGJvdGggJ2EgPCBhJyBhbmQgJ2EgPiBhJyBoYXMgYmVlbgotICBmaXhlZC4KLQotLSBJc3N1ZSAjMTQxNjY6IFBpY2tsZXIgb2JqZWN0cyBub3cgaGF2ZSBhbiBvcHRpb25hbCBgYGRpc3BhdGNoX3RhYmxlYGAKLSAgYXR0cmlidXRlIHdoaWNoIGFsbG93cyB0byBzZXQgY3VzdG9tIHBlci1waWNrbGVyIHJlZHVjdGlvbiBmdW5jdGlvbnMuCi0gIFBhdGNoIGJ5IHNidC4KLQotLSBJc3N1ZSAjMTQxNzc6IG1hcnNoYWwubG9hZHMoKSBub3cgcmFpc2VzIFR5cGVFcnJvciB3aGVuIGdpdmVuIGFuIHVuaWNvZGUKLSAgc3RyaW5nLiAgUGF0Y2ggYnkgR3VpbGhlcm1lIEdvbsOnYWx2ZXMuCi0KLS0gSXNzdWUgIzEzNTUwOiBSZW1vdmUgdGhlIGRlYnVnIG1hY2hpbmVyeSBmcm9tIHRoZSB0aHJlYWRpbmcgbW9kdWxlOiByZW1vdmUKLSAgdmVyYm9zZSBhcmd1bWVudHMgZnJvbSBhbGwgdGhyZWFkaW5nIGNsYXNzZXMgYW5kIGZ1bmN0aW9ucy4KLQotLSBJc3N1ZSAjMTQxNTk6IEZpeCB0aGUgbGVuKCkgb2Ygd2VhayBjb250YWluZXJzIChXZWFrU2V0LCBXZWFrS2V5RGljdGlvbmFyeSwKLSAgV2Vha1ZhbHVlRGljdGlvbmFyeSkgdG8gcmV0dXJuIGEgYmV0dGVyIGFwcHJveGltYXRpb24gd2hlbiBzb21lIG9iamVjdHMKLSAgYXJlIGRlYWQgb3IgZHlpbmcuICBNb3Jlb3ZlciwgdGhlIGltcGxlbWVudGF0aW9uIGlzIG5vdyBPKDEpIHJhdGhlciB0aGFuCi0gIE8obikuCi0KLS0gSXNzdWUgIzExODQxOiBGaXggY29tcGFyaXNvbiBidWcgd2l0aCAncmMnIHZlcnNpb25zIGluIHBhY2thZ2luZy52ZXJzaW9uLgotICBQYXRjaCBieSBGaWxpcCBHcnVzemN6ecWEc2tpLgotCi0tIElzc3VlICM2ODg0OiBGaXggbG9uZy1zdGFuZGluZyBidWdzIHdpdGggTUFOSUZFU1QuaW4gcGFyc2luZyBpbiBkaXN0dXRpbHMKLSAgb24gV2luZG93cy4gIEFsc28gZml4ZWQgaW4gcGFja2FnaW5nLgotCi0tIElzc3VlICM4MDMzOiBzcWxpdGUzOiBGaXggNjQtYml0IGludGVnZXIgaGFuZGxpbmcgaW4gdXNlciBmdW5jdGlvbnMKLSAgb24gMzItYml0IGFyY2hpdGVjdHVyZXMuIEluaXRpYWwgcGF0Y2ggYnkgUGhpbGlwcGUgRGV2YWxrZW5lZXIuCi0KLS0gSFRNTFBhcnNlciBpcyBub3cgYWJsZSB0byBoYW5kbGUgc2xhc2hlcyBpbiB0aGUgc3RhcnQgdGFnLgotCi0tIElzc3VlICMxMzY0MTogRGVjb2RpbmcgZnVuY3Rpb25zIGluIHRoZSBiYXNlNjQgbW9kdWxlIG5vdyBhY2NlcHQgQVNDSUktb25seQotICB1bmljb2RlIHN0cmluZ3MuICBQYXRjaCBieSBDYXRhbGluIElhY29iLgotCi0tIElzc3VlICMxNDA0MzogU3BlZWQgdXAgaW1wb3J0bGliJ3MgX0ZpbGVGaW5kZXIgYnkgYXQgbGVhc3QgOHgsIGFuZCBhZGQgYQotICBuZXcgaW1wb3J0bGliLmludmFsaWRhdGVfY2FjaGVzKCkgZnVuY3Rpb24uCi0KLS0gSXNzdWUgIzE0MDAxOiBDVkUtMjAxMi0wODQ1OiB4bWxycGM6IEZpeCBhbiBlbmRsZXNzIGxvb3AgaW4KLSAgU2ltcGxlWE1MUlBDU2VydmVyIHVwb24gbWFsZm9ybWVkIFBPU1QgcmVxdWVzdC4KLQotLSBJc3N1ZSAjMTM5NjE6IE1vdmUgaW1wb3J0bGliIG92ZXIgdG8gdXNpbmcgb3MucmVwbGFjZSgpIGZvciBhdG9taWMgcmVuYW1pbmcuCi0KLS0gRG8gYXdheSB3aXRoIGFtYmlndW91cyBsZXZlbCB2YWx1ZXMgKGFzIHN1Z2dlc3RlZCBieSBQRVAgMzI4KSBpbgotICBpbXBvcnRsaWIuX19pbXBvcnRfXygpIGJ5IHJhaXNpbmcgVmFsdWVFcnJvciB3aGVuIGxldmVsIDwgMC4KLQotLSBJc3N1ZSAjMjQ4OTogcHR5LnNwYXduIGNvdWxkIGNvbnN1bWUgMTAwJSBjcHUgd2hlbiBpdCBlbmNvdW50ZXJlZCBhbiBFT0YuCi0KLS0gSXNzdWUgIzEzMDE0OiBGaXggYSBwb3NzaWJsZSByZWZlcmVuY2UgbGVhayBpbiBTU0xTb2NrZXQuZ2V0cGVlcmNlcnQoKS4KLQotLSBJc3N1ZSAjMTM3Nzc6IEFkZCBQRl9TWVNURU0gc29ja2V0cyBvbiBPUyBYLgotICBQYXRjaCBieSBNaWNoYWVsIEdvZGVyYmF1ZXIuCi0KLS0gSXNzdWUgIzEzMDE1OiBGaXggYSBwb3NzaWJsZSByZWZlcmVuY2UgbGVhayBpbiBkZWZhdWx0ZGljdC5fX3JlcHJfXy4KLSAgUGF0Y2ggYnkgU3VtYW4gU2FoYS4KLQotLSBJc3N1ZSAjMTMyNjExMzogZGlzdHV0aWxzJyBhbmQgcGFja2FnaW5nJ3MgYnVpbGRfZXh0IGNvbW1hbmRzIG9wdGlvbiBub3cKLSAgY29ycmVjdGx5IHBhcnNlcyBtdWx0aXBsZSB2YWx1ZXMgKHNlcGFyYXRlZCBieSB3aGl0ZXNwYWNlIG9yIGNvbW1hcykgZ2l2ZW4KLSAgdG8gdGhlaXIgLS1saWJyYXJpZXMgb3B0aW9uLgotCi0tIElzc3VlICMxMDI4Nzogbm50cGxpYiBub3cgcXVlcmllcyB0aGUgc2VydmVyJ3MgQ0FQQUJJTElUSUVTIGZpcnN0IGJlZm9yZQotICBzZW5kaW5nIE1PREUgUkVBREVSLCBhbmQgb25seSBzZW5kcyBpdCBpZiBub3QgYWxyZWFkeSBpbiBSRUFERVIgbW9kZS4KLSAgUGF0Y2ggYnkgSHluZWsgU2NobGF3YWNrLgotCi0tIElzc3VlICMxMzk5MzogSFRNTFBhcnNlciBpcyBub3cgYWJsZSB0byBoYW5kbGUgYnJva2VuIGVuZCB0YWdzIHdoZW4KLSAgc3RyaWN0PUZhbHNlLgotCi0tIElzc3VlICMxMzkzMDogbGliMnRvMyBub3cgc3VwcG9ydHMgd3JpdGluZyBjb252ZXJ0ZWQgb3V0cHV0IGZpbGVzIHRvIGFub3RoZXIKLSAgZGlyZWN0b3J5IHRyZWUgYXMgd2VsbCBhcyBjb3B5aW5nIHVuY2hhbmdlZCBmaWxlcyBhbmQgYWx0ZXJpbmcgdGhlIGZpbGUKLSAgc3VmZml4LgotCi0tIElzc3VlICM5NzUwOiBGaXggc3FsaXRlMy5Db25uZWN0aW9uLml0ZXJkdW1wIG9uIHRhYmxlcyBhbmQgZmllbGRzCi0gIHdpdGggYSBuYW1lIHRoYXQgaXMgYSBrZXl3b3JkIG9yIGNvbnRhaW5zIHF1b3Rlcy4gUGF0Y2ggYnkgTWFya28KLSAgS29odGFsYS4KLQotLSBJc3N1ZSAjMTAyODc6IG5udHBsaWIgbm93IHF1ZXJpZXMgdGhlIHNlcnZlcidzIENBUEFCSUxJVElFUyBhZ2FpbiBhZnRlcgotICBhdXRoZW50aWNhdGluZyAoc2luY2UgdGhlIHJlc3VsdCBtYXkgY2hhbmdlLCBhY2NvcmRpbmcgdG8gUkZDIDQ2NDMpLgotICBQYXRjaCBieSBIeW5layBTY2hsYXdhY2suCi0KLS0gSXNzdWUgIzEzNTkwOiBPbiBPUyBYIDEwLjcgYW5kIDEwLjYgd2l0aCBYY29kZSA0LjIsIGJ1aWxkaW5nCi0gIERpc3R1dGlscy1iYXNlZCBwYWNrYWdlcyB3aXRoIEMgZXh0ZW5zaW9uIG1vZHVsZXMgbWF5IGZhaWwgYmVjYXVzZQotICBBcHBsZSBoYXMgcmVtb3ZlZCBnY2MtNC4yLCB0aGUgdmVyc2lvbiB1c2VkIHRvIGJ1aWxkIHB5dGhvbi5vcmcKLSAgNjQtYml0LzMyLWJpdCBQeXRob25zLiAgSWYgdGhlIHVzZXIgZG9lcyBub3QgZXhwbGljaXRseSBvdmVycmlkZQotICB0aGUgZGVmYXVsdCBDIGNvbXBpbGVyIGJ5IHNldHRpbmcgdGhlIENDIGVudmlyb25tZW50IHZhcmlhYmxlLAotICBEaXN0dXRpbHMgd2lsbCBub3cgYXR0ZW1wdCB0byBjb21waWxlIGV4dGVuc2lvbiBtb2R1bGVzIHdpdGggY2xhbmcKLSAgaWYgZ2NjLTQuMiBpcyByZXF1aXJlZCBidXQgbm90IGZvdW5kLiBBbHNvIGFzIGEgY29udmVuaWVuY2UsIGlmCi0gIHRoZSB1c2VyIGRvZXMgZXhwbGljaXRseSBzZXQgQ0MsIHN1YnN0aXR1dGUgaXRzIHZhbHVlIGFzIHRoZSBkZWZhdWx0Ci0gIGNvbXBpbGVyIGluIHRoZSBEaXN0dXRpbHMgTERTSEFSRUQgY29uZmlndXJhdGlvbiB2YXJpYWJsZSBmb3IgT1MgWC4KLSAgKE5vdGUsIHRoZSBweXRob24ub3JnIDMyLWJpdC1vbmx5IFB5dGhvbnMgdXNlIGdjYy00LjAgYW5kIHRoZSAxMC40dQotICBTREssIG5laXRoZXIgb2Ygd2hpY2ggYXJlIGF2YWlsYWJsZSBpbiBYY29kZSA0LiAgVGhpcyBjaGFuZ2UgZG9lcyBub3QKLSAgYXR0ZW1wdCB0byBvdmVycmlkZSBzZXR0aW5ncyB0byBzdXBwb3J0IHRoZWlyIHVzZSB3aXRoIFhjb2RlIDQuKQotCi0tIElzc3VlICMxMzk2MDogSFRNTFBhcnNlciBpcyBub3cgYWJsZSB0byBoYW5kbGUgYnJva2VuIGNvbW1lbnRzIHdoZW4KLSAgc3RyaWN0PUZhbHNlLgotCi0tIFdoZW4gJycgaXMgYSBwYXRoIChlLmcuIGluIHN5cy5wYXRoKSwgbWFrZSBzdXJlIF9fZmlsZV9fIHVzZXMgdGhlIGN1cnJlbnQKLSAgd29ya2luZyBkaXJlY3RvcnkgaW5zdGVhZCBvZiAnJyBpbiBpbXBvcnRsaWIuCi0KLS0gSXNzdWUgIzEzNjA5OiBBZGQgdHdvIGZ1bmN0aW9ucyB0byBxdWVyeSB0aGUgdGVybWluYWwgc2l6ZToKLSAgb3MuZ2V0X3Rlcm1pbmFsX3NpemUgKGxvdyBsZXZlbCkgYW5kIHNodXRpbC5nZXRfdGVybWluYWxfc2l6ZSAoaGlnaCBsZXZlbCkuCi0gIFBhdGNoIGJ5IFpiaWduaWV3IErEmWRyemVqZXdza2ktU3ptZWsuCi0KLS0gSXNzdWUgIzEzODQ1OiBPbiBXaW5kb3dzLCB0aW1lLnRpbWUoKSBub3cgdXNlcyBHZXRTeXN0ZW1UaW1lQXNGaWxlVGltZSgpCi0gIGluc3RlYWQgb2YgZnRpbWUoKSB0byBoYXZlIGEgcmVzb2x1dGlvbiBvZiAxMDAgbnMgaW5zdGVhZCBvZiAxIG1zICh0aGUgY2xvY2sKLSAgYWNjdXJhY3kgaXMgYmV0d2VlbiAwLjUgbXMgYW5kIDE1IG1zKS4KLQotLSBJc3N1ZSAjMTM4NDY6IEFkZCB0aW1lLm1vbm90b25pYygpLCBtb25vdG9uaWMgY2xvY2suCi0KLS0gSXNzdWUgIzgxODQ6IG11bHRpcHJvY2Vzc2luZzogT24gV2luZG93cywgZG9uJ3Qgc2V0IFNPX1JFVVNFQUREUiBvbgotICBDb25uZWN0aW9uIHNvY2tldHMsIGFuZCBzZXQgRklMRV9GTEFHX0ZJUlNUX1BJUEVfSU5TVEFOQ0Ugb24gbmFtZWQgcGlwZXMsIHRvCi0gIG1ha2Ugc3VyZSB0d28gbGlzdGVuZXJzIGNhbid0IGJpbmQgdG8gdGhlIHNhbWUgc29ja2V0L3BpcGUgKG9yIGFueSBleGlzdGluZwotICBzb2NrZXQvcGlwZSkuCi0KLS0gSXNzdWUgIzEwODExOiBGaXggcmVjdXJzaXZlIHVzYWdlIG9mIGN1cnNvcnMuIEluc3RlYWQgb2YgY3Jhc2hpbmcsCi0gIHJhaXNlIGEgUHJvZ3JhbW1pbmdFcnJvciBub3cuCi0KLS0gSXNzdWUgIzEzNzM0OiBBZGQgb3MuZndhbGsoKSwgYSBkaXJlY3Rvcnkgd2Fsa2luZyBmdW5jdGlvbiB5aWVsZGluZyBmaWxlCi0gIGRlc2NyaXB0b3JzLgotCi0tIElzc3VlICMyOTQ1OiBNYWtlIHRoZSBkaXN0dXRpbHMgdXBsb2FkIGNvbW1hbmQgYXdhcmUgb2YgYmRpc3RfcnBtIHByb2R1Y3RzLgotCi0tIElzc3VlICMxMzcxMjogcHlzZXR1cCBjcmVhdGUgc2hvdWxkIG5vdCBjb252ZXJ0IHBhY2thZ2VfZGF0YSB0byBleHRyYV9maWxlcy4KLQotLSBJc3N1ZSAjMTE4MDU6IHBhY2thZ2VfZGF0YSBpbiBzZXR1cC5jZmcgc2hvdWxkIGFsbG93IG1vcmUgdGhhbiBvbmUgdmFsdWUuCi0KLS0gSXNzdWUgIzEzNjc2OiBIYW5kbGUgc3RyaW5ncyB3aXRoIGVtYmVkZGVkIHplcm9zIGNvcnJlY3RseSBpbiBzcWxpdGUzLgotCi0tIElzc3VlICM4ODI4OiBBZGQgbmV3IGZ1bmN0aW9uIG9zLnJlcGxhY2UoKSwgZm9yIGNyb3NzLXBsYXRmb3JtIHJlbmFtaW5nCi0gIHdpdGggb3ZlcndyaXRpbmcuCi0KLS0gSXNzdWUgIzEzODQ4OiBvcGVuKCkgYW5kIHRoZSBGaWxlSU8gY29uc3RydWN0b3Igbm93IGNoZWNrIGZvciBOVUwKLSAgY2hhcmFjdGVycyBpbiB0aGUgZmlsZSBuYW1lLiAgUGF0Y2ggYnkgSHluZWsgU2NobGF3YWNrLgotCi0tIElzc3VlICMxMzgwNjogVGhlIHNpemUgY2hlY2sgaW4gYXVkaW9vcCBkZWNvbXByZXNzaW9uIGZ1bmN0aW9ucyB3YXMgdG9vCi0gIHN0cmljdCBhbmQgY291bGQgcmVqZWN0IHZhbGlkIGNvbXByZXNzZWQgZGF0YS4gIFBhdGNoIGJ5IE9sZWcgUGxha2hvdG55dWsuCi0KLS0gSXNzdWUgIzEzODEyOiBXaGVuIGEgbXVsdGlwcm9jZXNzaW5nIFByb2Nlc3MgY2hpbGQgcmFpc2VzIGFuIGV4Y2VwdGlvbiwKLSAgZmx1c2ggc3RkZXJyIGFmdGVyIHByaW50aW5nIHRoZSBleGNlcHRpb24gdHJhY2ViYWNrLgotCi0tIElzc3VlICMxMzg4NTogQ1ZFLTIwMTEtMzM4OTogdGhlIF9zc2wgbW9kdWxlIHdvdWxkIGFsd2F5cyBkaXNhYmxlIHRoZSBDQkMKLSAgSVYgYXR0YWNrIGNvdW50ZXJtZWFzdXJlLgotCi0tIElzc3VlICMxMzg0NzogdGltZS5sb2NhbHRpbWUoKSBhbmQgdGltZS5nbXRpbWUoKSBub3cgcmFpc2UgYW4gT1NFcnJvciBpbnN0ZWFkCi0gIG9mIFZhbHVlRXJyb3Igb24gZmFpbHVyZS4gdGltZS5jdGltZSgpIGFuZCB0aW1lLmFzY3RpbWUoKSBub3cgcmFpc2VzIGFuCi0gIE9TRXJyb3IgaWYgbG9jYWx0aW1lKCkgZmFpbGVkLiB0aW1lLmNsb2NrKCkgbm93IHJhaXNlcyBhIFJ1bnRpbWVFcnJvciBpZiB0aGUKLSAgcHJvY2Vzc29yIHRpbWUgdXNlZCBpcyBub3QgYXZhaWxhYmxlIG9yIGl0cyB2YWx1ZSBjYW5ub3QgYmUgcmVwcmVzZW50ZWQKLQotLSBJc3N1ZSAjMTM3NzI6IEluIG9zLnN5bWxpbmsoKSB1bmRlciBXaW5kb3dzLCBkbyBub3QgdHJ5IHRvIGd1ZXNzIHRoZSBsaW5rCi0gIHRhcmdldCdzIHR5cGUgKGZpbGUgb3IgZGlyZWN0b3J5KS4gIFRoZSBkZXRlY3Rpb24gd2FzIGJ1Z2d5IGFuZCBtYWRlIHRoZQotICBjYWxsIG5vbi1hdG9taWMgKHRoZXJlZm9yZSBwcm9uZSB0byByYWNlIGNvbmRpdGlvbnMpLgotCi0tIElzc3VlICM2NjMxOiBEaXNhbGxvdyByZWxhdGl2ZSBmaWxlIHBhdGhzIGluIHVybGxpYiB1cmxvcGVuIG1ldGhvZHMuCi0KLS0gSXNzdWUgIzEzNzIyOiBBdm9pZCBzaWxlbmNpbmcgSW1wb3J0RXJyb3JzIHdoZW4gaW5pdGlhbGl6aW5nIHRoZSBjb2RlY3MKLSAgcmVnaXN0cnkuCi0KLS0gSXNzdWUgIzEzNzgxOiBGaXggR3ppcEZpbGUgYnVnIHRoYXQgY2F1c2VkIGFuIGV4Y2VwdGlvbiB0byBiZSByYWlzZWQgd2hlbgotICBvcGVuaW5nIGZvciB3cml0aW5nIHVzaW5nIGEgZmlsZW9iaiByZXR1cm5lZCBieSBvcy5mZG9wZW4oKS4KLQotLSBJc3N1ZSAjMTM4MDM6IFVuZGVyIFNvbGFyaXMsIGRpc3R1dGlscyBkb2Vzbid0IGluY2x1ZGUgYml0bmVzcwotICBpbiB0aGUgZGlyZWN0b3J5IG5hbWUuCi0KLS0gSXNzdWUgIzEwMjc4OiBBZGQgdGltZS53YWxsY2xvY2soKSBmdW5jdGlvbiwgbW9ub3RvbmljIGNsb2NrLgotCi0tIElzc3VlICMxMzgwOTogRml4IHJlZ3Jlc3Npb24gd2hlcmUgYnoyIG1vZHVsZSB3b3VsZG4ndCB3b3JrIHdoZW4gdGhyZWFkcyBhcmUKLSAgZGlzYWJsZWQuIE9yaWdpbmFsIHBhdGNoIGJ5IEFtYXVyeSBGb3JnZW90IGQnQXJjLgotCi0tIElzc3VlICMxMzU4OTogRml4IHNvbWUgc2VyaWFsaXphdGlvbiBwcmltaXRpdmVzIGluIHRoZSBhaWZjIG1vZHVsZS4KLSAgUGF0Y2ggYnkgT2xlZyBQbGFraG90bnl1ay4KLQotLSBJc3N1ZSAjMTM2NDI6IFVucXVvdGUgYmVmb3JlIGI2NGVuY29kaW5nIHVzZXI6cGFzc3dvcmQgZHVyaW5nIEJhc2ljCi0gIEF1dGhlbnRpY2F0aW9uLiBQYXRjaCBjb250cmlidXRlZCBieSBKb29uYXMgS3VvcmlsZWh0by4KLQotLSBJc3N1ZSAjMTIzNjQ6IEZpeCBhIGhhbmcgaW4gY29uY3VycmVudC5mdXR1cmVzLlByb2Nlc3NQb29sRXhlY3V0b3IuCi0gIFRoZSBoYW5nIHdvdWxkIG9jY3VyIHdoZW4gcmV0cmlldmluZyB0aGUgcmVzdWx0IG9mIGEgc2NoZWR1bGVkIGZ1dHVyZSBhZnRlcgotICB0aGUgZXhlY3V0b3IgaGFkIGJlZW4gc2h1dCBkb3duLgotCi0tIElzc3VlICMxMzUwMjogdGhyZWFkaW5nOiBGaXggYSByYWNlIGNvbmRpdGlvbiBpbiBFdmVudC53YWl0KCkgdGhhdCBtYWRlIGl0Ci0gIHJldHVybiBGYWxzZSB3aGVuIHRoZSBldmVudCB3YXMgc2V0IGFuZCBjbGVhcmVkIHJpZ2h0IGFmdGVyLgotCi0tIElzc3VlICM5OTkzOiBXaGVuIHRoZSBzb3VyY2UgYW5kIGRlc3RpbmF0aW9uIGFyZSBvbiBkaWZmZXJlbnQgZmlsZXN5c3RlbXMsCi0gIGFuZCB0aGUgc291cmNlIGlzIGEgc3ltbGluaywgc2h1dGlsLm1vdmUoKSBub3cgcmVjcmVhdGVzIGEgc3ltbGluayBvbiB0aGUKLSAgZGVzdGluYXRpb24gaW5zdGVhZCBvZiBjb3B5aW5nIHRoZSBmaWxlIGNvbnRlbnRzLiAgUGF0Y2ggYnkgSm9uYXRoYW4gTmllaG9mCi0gIGFuZCBIeW5layBTY2hsYXdhY2suCi0KLS0gSXNzdWUgIzEyOTI2OiBGaXggYSBidWcgaW4gdGFyZmlsZSdzIGxpbmsgZXh0cmFjdGlvbi4KLQotLSBJc3N1ZSAjMTM2OTY6IEZpeCB0aGUgMzAyIFJlbGF0aXZlIFVSTCBSZWRpcmVjdGlvbiBwcm9ibGVtLgotCi0tIElzc3VlICMxMzYzNjogV2VhayBjaXBoZXJzIGFyZSBub3cgZGlzYWJsZWQgYnkgZGVmYXVsdCBpbiB0aGUgc3NsIG1vZHVsZQotICAoZXhjZXB0IHdoZW4gU1NMdjIgaXMgZXhwbGljaXRseSBhc2tlZCBmb3IpLgotCi0tIElzc3VlICMxMjcxNTogQWRkIGFuIG9wdGlvbmFsIHN5bWxpbmtzIGFyZ3VtZW50IHRvIHNodXRpbCBmdW5jdGlvbnMKLSAgKGNvcHlmaWxlLCBjb3B5bW9kZSwgY29weXN0YXQsIGNvcHksIGNvcHkyKS4gIFdoZW4gdGhhdCBwYXJhbWV0ZXIgaXMKLSAgdHJ1ZSwgc3ltbGlua3MgYXJlbid0IGRlcmVmZXJlbmNlZCBhbmQgdGhlIG9wZXJhdGlvbiBpbnN0ZWFkIGFjdHMgb24gdGhlCi0gIHN5bWxpbmsgaXRzZWxmIChvciBjcmVhdGVzIG9uZSwgaWYgcmVsZXZhbnQpLiAgUGF0Y2ggYnkgSHluZWsgU2NobGF3YWNrLgotCi0tIEFkZCBhIGZsYWdzIHBhcmFtZXRlciB0byBzZWxlY3QuZXBvbGwuCi0KLS0gSXNzdWUgIzEzNjI2OiBBZGQgc3VwcG9ydCBmb3IgU1NMIERpZmZpZS1IZWxsbWFuIGtleSBleGNoYW5nZSwgdGhyb3VnaCB0aGUKLSAgU1NMQ29udGV4dC5sb2FkX2RoX3BhcmFtcygpIG1ldGhvZCBhbmQgdGhlIHNzbC5PUF9TSU5HTEVfREhfVVNFIG9wdGlvbi4KLQotLSBJc3N1ZSAjMTEwMDY6IERvbid0IGlzc3VlIGxvdyBsZXZlbCB3YXJuaW5nIGluIHN1YnByb2Nlc3Mgd2hlbiBwaXBlMigpIGZhaWxzLgotCi0tIElzc3VlICMxMzYyMDogU3VwcG9ydCBmb3IgQ2hyb21lIGJyb3dzZXIgaW4gd2ViYnJvd3Nlci4gIFBhdGNoIGNvbnRyaWJ1dGVkCi0gIGJ5IEFybmF1ZCBDYWxtZXR0ZXMuCi0KLS0gSXNzdWUgIzExODI5OiBGaXggY29kZSBleGVjdXRpb24gaG9sZXMgaW4gaW5zcGVjdC5nZXRhdHRyX3N0YXRpYyBmb3IKLSAgbWV0YWNsYXNzZXMgd2l0aCBtZXRhY2xhc3Nlcy4gUGF0Y2ggYnkgQW5kcmVhcyBTdMO8aHJrLgotCi0tIElzc3VlICMxMjcwODogQWRkIHN0YXJtYXAoKSBhbmQgc3Rhcm1hcF9hc3luYygpIG1ldGhvZHMgKHNpbWlsYXIgdG8KLSAgaXRlcnRvb2xzLnN0YXJtYXAoKSkgdG8gbXVsdGlwcm9jZXNzaW5nLlBvb2wuICBQYXRjaCBieSBIeW5layBTY2hsYXdhY2suCi0KLS0gSXNzdWUgIzE3ODU6IEZpeCBpbnNwZWN0IGFuZCBweWRvYyB3aXRoIG1pc2JlaGF2aW5nIGRlc2NyaXB0b3JzLgotCi0tIElzc3VlICMxMzYzNzogImEyYiIgZnVuY3Rpb25zIGluIHRoZSBiaW5hc2NpaSBtb2R1bGUgbm93IGFjY2VwdCBBU0NJSS1vbmx5Ci0gIHVuaWNvZGUgc3RyaW5ncy4KLQotLSBJc3N1ZSAjMTM2MzQ6IEFkZCBzdXBwb3J0IGZvciBxdWVyeWluZyBhbmQgZGlzYWJsaW5nIFNTTCBjb21wcmVzc2lvbi4KLQotLSBJc3N1ZSAjMTM2Mjc6IEFkZCBzdXBwb3J0IGZvciBTU0wgRWxsaXB0aWMgQ3VydmUtYmFzZWQgRGlmZmllLUhlbGxtYW4KLSAga2V5IGV4Y2hhbmdlLCB0aHJvdWdoIHRoZSBTU0xDb250ZXh0LnNldF9lY2RoX2N1cnZlKCkgbWV0aG9kIGFuZCB0aGUKLSAgc3NsLk9QX1NJTkdMRV9FQ0RIX1VTRSBvcHRpb24uCi0KLS0gSXNzdWUgIzEzNjM1OiBBZGQgc3NsLk9QX0NJUEhFUl9TRVJWRVJfUFJFRkVSRU5DRSwgc28gdGhhdCBTU0wgc2VydmVycwotICBjaG9vc2UgdGhlIGNpcGhlciBiYXNlZCBvbiB0aGVpciBvd24gcHJlZmVyZW5jZXMsIHJhdGhlciB0aGFuIG9uIHRoZQotICBjbGllbnQncy4KLQotLSBJc3N1ZSAjMTE4MTM6IEZpeCBpbnNwZWN0LmdldGF0dHJfc3RhdGljIGZvciBtb2R1bGVzLiBQYXRjaCBieSBBbmRyZWFzCi0gIFN0w7xocmsuCi0KLS0gSXNzdWUgIzc1MDI6IEZpeCBlcXVhbGl0eSBjb21wYXJpc29uIGZvciBEb2NUZXN0Q2FzZSBpbnN0YW5jZXMuICBQYXRjaCBieQotICBDw6lkcmljIEtyaWVyLgotCi0tIElzc3VlICMxMTg3MDogdGhyZWFkaW5nOiBQcm9wZXJseSByZWluaXRpYWxpemUgdGhyZWFkcyBpbnRlcm5hbCBsb2NrcyBhbmQKLSAgY29uZGl0aW9uIHZhcmlhYmxlcyB0byBhdm9pZCBkZWFkbG9ja3MgaW4gY2hpbGQgcHJvY2Vzc2VzLgotCi0tIElzc3VlICM4MDM1OiB1cmxsaWI6IEZpeCBhIGJ1ZyB3aGVyZSB0aGUgY2xpZW50IGNvdWxkIHJlbWFpbiBzdHVjayBhZnRlciBhCi0gIHJlZGlyZWN0aW9uIG9yIGFuIGVycm9yLgotCi0tIElzc3VlICMxMzU2MDogb3Muc3RyZXJyb3IoKSBub3cgdXNlcyB0aGUgY3VycmVudCBsb2NhbGUgZW5jb2RpbmcgaW5zdGVhZCBvZgotICBVVEYtOC4KLQotLSBJc3N1ZSAjODM3MzogVGhlIGZpbGVzeXN0ZW0gcGF0aCBvZiBBRl9VTklYIHNvY2tldHMgbm93IHVzZXMgdGhlIGZpbGVzeXN0ZW0KLSAgZW5jb2RpbmcgYW5kIHRoZSBzdXJyb2dhdGVlc2NhcGUgZXJyb3IgaGFuZGxlciwgcmF0aGVyIHRoYW4gVVRGLTguICBQYXRjaAotICBieSBEYXZpZCBXYXRzb24uCi0KLS0gSXNzdWUgIzEwMzUwOiBSZWFkIGFuZCBzYXZlIGVycm5vIGJlZm9yZSBjYWxsaW5nIGEgZnVuY3Rpb24gd2hpY2ggbWlnaHQKLSAgb3ZlcndyaXRlIGl0LiAgT3JpZ2luYWwgcGF0Y2ggYnkgSGFsbHZhcmQgQiBGdXJ1c2V0aC4KLQotLSBJc3N1ZSAjMTE2MTA6IEludHJvZHVjZSBhIG1vcmUgZ2VuZXJhbCB3YXkgdG8gZGVjbGFyZSBhYnN0cmFjdCBwcm9wZXJ0aWVzLgotCi0tIElzc3VlICMxMzU5MTogQSBidWcgaW4gaW1wb3J0bGliIGhhcyBiZWVuIGZpeGVkIHRoYXQgY2F1c2VkIGltcG9ydF9tb2R1bGUKLSAgdG8gbG9hZCBhIG1vZHVsZSB0d2ljZS4KLQotLSBJc3N1ZSAjMTM0NDkgc2NoZWQuc2NoZWR1bGVyLnJ1bigpIG1ldGhvZCBoYXMgYSBuZXcgImJsb2NraW5nIiBwYXJhbWV0ZXIgd2hpY2gKLSAgd2hlbiBzZXQgdG8gRmFsc2UgbWFrZXMgcnVuKCkgZXhlY3V0ZSB0aGUgc2NoZWR1bGVkIGV2ZW50cyBkdWUgdG8gZXhwaXJlCi0gIHNvb25lc3QgKGlmIGFueSkgYW5kIHRoZW4gcmV0dXJuLiAgUGF0Y2ggYnkgR2lhbXBhb2xvIFJvZG9sw6AuCi0KLS0gSXNzdWUgIzg2ODQgc2NoZWQuc2NoZWR1bGVyIGNsYXNzIGNhbiBiZSBzYWZlbHkgdXNlZCBpbiBtdWx0aS10aHJlYWRlZAotICBlbnZpcm9ubWVudHMuICBQYXRjaCBieSBKb3NpYWggQ2FybHNvbiBhbmQgR2lhbXBhb2xvIFJvZG9sw6AuCi0KLS0gQWxpYXMgcmVzb3VyY2UuZXJyb3IgdG8gT1NFcnJvciBhbGEgUEVQIDMxNTEuCi0KLS0gSXNzdWUgIzU2ODk6IEFkZCBzdXBwb3J0IGZvciBsem1hIGNvbXByZXNzaW9uIHRvIHRoZSB0YXJmaWxlIG1vZHVsZS4KLQotLSBJc3N1ZSAjMTMyNDg6IFR1cm4gMy4yJ3MgUGVuZGluZ0RlcHJlY2F0aW9uV2FybmluZyBpbnRvIDMuMydzCi0gIERlcHJlY2F0aW9uV2FybmluZy4gIEl0IGNvdmVycyAnY2dpLmVzY2FwZScsICdpbXBvcnRsaWIuYWJjLlB5TG9hZGVyJywKLSAgJ2ltcG9ydGxpYi5hYmMuUHlQeWNMb2FkZXInLCAnbm50cGxpYi5OTlRQLnhndGl0bGUnLCAnbm50cGxpYi5OTlRQLnhwYXRoJywKLSAgYW5kIHByaXZhdGUgYXR0cmlidXRlcyBvZiAnc210cGQuU01UUENoYW5uZWwnLgotCi0tIElzc3VlICM1OTA1LCBJc3N1ZSAjMTM1NjA6IHRpbWUuc3RyZnRpbWUoKSBpcyBub3cgdXNpbmcgdGhlIGN1cnJlbnQgbG9jYWxlCi0gIGVuY29kaW5nLCBpbnN0ZWFkIG9mIFVURi04LCBpZiB0aGUgd2NzZnRpbWUoKSBmdW5jdGlvbiBpcyBub3QgYXZhaWxhYmxlLgotCi0tIElzc3VlICMxMzQ2NDogQWRkIGEgcmVhZGludG8oKSBtZXRob2QgdG8gaHR0cC5jbGllbnQuSFRUUFJlc3BvbnNlLiAgUGF0Y2gKLSAgYnkgSm9uIEt1aG4uCi0KLS0gdGFyZmlsZS5weTogQ29ycmVjdGx5IGRldGVjdCBiemlwMiBjb21wcmVzc2VkIHN0cmVhbXMgd2l0aCBibG9ja3NpemVzCi0gIG90aGVyIHRoYW4gOTAway4KLQotLSBJc3N1ZSAjMTM0Mzk6IEZpeCBtYW55IGVycm9ycyBpbiB0dXJ0bGUgZG9jc3RyaW5ncy4KLQotLSBJc3N1ZSAjNjcxNTogQWRkIGEgbW9kdWxlICdsem1hJyBmb3IgY29tcHJlc3Npb24gdXNpbmcgdGhlIExaTUEgYWxnb3JpdGhtLgotICBUaGFua3MgdG8gUGVyIMOYeXZpbmQgS2FybHNlbiBmb3IgdGhlIGluaXRpYWwgaW1wbGVtZW50YXRpb24uCi0KLS0gSXNzdWUgIzEzNDg3OiBNYWtlIGluc3BlY3QuZ2V0bW9kdWxlIHJvYnVzdCBhZ2FpbnN0IGNoYW5nZXMgZG9uZSB0bwotICBzeXMubW9kdWxlcyB3aGlsZSBpdCBpcyBpdGVyYXRpbmcgb3ZlciBpdC4KLQotLSBJc3N1ZSAjMTI2MTg6IEZpeCBhIGJ1ZyB0aGF0IHByZXZlbnRlZCBweV9jb21waWxlIGZyb20gY3JlYXRpbmcgYnl0ZQotICBjb21waWxlZCBmaWxlcyBpbiB0aGUgY3VycmVudCBkaXJlY3RvcnkuICBJbml0aWFsIHBhdGNoIGJ5IFNqb2VyZCBkZSBWcmllcy4KLQotLSBJc3N1ZSAjMTM0NDQ6IFdoZW4gc3Rkb3V0IGhhcyBiZWVuIGNsb3NlZCBleHBsaWNpdGx5LCB3ZSBzaG91bGQgbm90IGF0dGVtcHQKLSAgdG8gZmx1c2ggaXQgYXQgc2h1dGRvd24gYW5kIHByaW50IGFuIGVycm9yLgotCi0tIElzc3VlICMxMjU2NzogVGhlIGN1cnNlcyBtb2R1bGUgdXNlcyBVbmljb2RlIGZ1bmN0aW9ucyBmb3IgVW5pY29kZSBhcmd1bWVudHMKLSAgd2hlbiBpdCBpcyBsaW5rZWQgdG8gdGhlIG5jdXJzZXMgbGlicmFyeS4gSXQgZW5jb2RlcyBhbHNvIFVuaWNvZGUgc3RyaW5ncyB0bwotICB0aGUgbG9jYWxlIGVuY29kaW5nIGluc3RlYWQgb2YgVVRGLTguCi0KLS0gSXNzdWUgIzEyODU2OiBFbnN1cmUgY2hpbGQgcHJvY2Vzc2VzIGRvIG5vdCBpbmhlcml0IHRoZSBwYXJlbnQncyByYW5kb20KLSAgc2VlZCBmb3IgZmlsZW5hbWUgZ2VuZXJhdGlvbiBpbiB0aGUgdGVtcGZpbGUgbW9kdWxlLiAgUGF0Y2ggYnkgQnJpYW4KLSAgSGFycmluZy4KLQotLSBJc3N1ZSAjOTk1NzogU3Bvb2xlZFRlbXBvcmFyeUZpbGUudHJ1bmNhdGUoKSBub3cgYWNjZXB0cyBhbiBvcHRpb25hbCBzaXplCi0gIHBhcmFtZXRlciwgYXMgb3RoZXIgZmlsZS1saWtlIG9iamVjdHMuICBQYXRjaCBieSBSeWFuIEtlbGx5LgotCi0tIElzc3VlICMxMzQ1ODogRml4IGEgbWVtb3J5IGxlYWsgaW4gdGhlIHNzbCBtb2R1bGUgd2hlbiBkZWNvZGluZyBhCi0gIGNlcnRpZmljYXRlIHdpdGggYSBzdWJqZWN0QWx0TmFtZS4gIFBhdGNoIGJ5IFJvYmVydCBYaWFvLgotCi0tIElzc3VlICMxMzQxNTogb3MudW5zZXRlbnYoKSBkb2Vzbid0IGlnbm9yZSBlcnJvcnMgYW55bW9yZS4KLQotLSBJc3N1ZSAjMTMyNDU6IHNjaGVkLnNjaGVkdWxlciBjbGFzcyBjb25zdHJ1Y3RvcidzIHRpbWVmdW5jIGFuZAotICBkZWxheWZ1bmN0IHBhcmFtZXRlcnMgYXJlIG5vdyBvcHRpb25hbC4KLSAgc2NoZWR1bGVyLmVudGVyIGFuZCBzY2hlZHVsZXIuZW50ZXJhYnMgbWV0aG9kcyBnYWluZWQgYSBuZXcga3dhcmdzIHBhcmFtZXRlci4KLSAgUGF0Y2ggY29udHJpYnV0ZWQgYnkgQ2hyaXMgQ2xhcmsuCi0KLS0gSXNzdWUgIzEyMzI4OiBVbmRlciBXaW5kb3dzLCByZWZhY3RvciBoYW5kbGluZyBvZiBDdHJsLUMgZXZlbnRzIGFuZAotICBtYWtlIF9tdWx0aXByb2Nlc3Npbmcud2luMzIuV2FpdEZvck11bHRpcGxlT2JqZWN0cyBpbnRlcnJ1cHRpYmxlIHdoZW4KLSAgdGhlIHdhaXRfZmxhZyBwYXJhbWV0ZXIgaXMgZmFsc2UuICBQYXRjaCBieSBzYnQuCi0KLS0gSXNzdWUgIzEzMzIyOiBGaXggQnVmZmVyZWRXcml0ZXIud3JpdGUoKSB0byBlbnN1cmUgdGhhdCBCbG9ja2luZ0lPRXJyb3IgaXMKLSAgcmFpc2VkIHdoZW4gdGhlIHdyYXBwZWQgcmF3IGZpbGUgaXMgbm9uLWJsb2NraW5nIGFuZCB0aGUgd3JpdGUgd291bGQgYmxvY2suCi0gIFByZXZpb3VzIGNvZGUgYXNzdW1lZCB0aGF0IHRoZSByYXcgd3JpdGUoKSB3b3VsZCByYWlzZSBCbG9ja2luZ0lPRXJyb3IsIGJ1dAotICBSYXdJT0Jhc2Uud3JpdGUoKSBpcyBkZWZpbmVkIHRvIHJldHVybmVkIE5vbmUgd2hlbiB0aGUgY2FsbCB3b3VsZCBibG9jay4KLSAgUGF0Y2ggYnkgc2J0LgotCi0tIElzc3VlICMxMzM1ODogSFRNTFBhcnNlciBub3cgY2FsbHMgaGFuZGxlX2RhdGEgb25seSBvbmNlIGZvciBlYWNoIENEQVRBLgotCi0tIElzc3VlICM0MTQ3OiBtaW5pZG9tJ3MgdG9wcmV0dHl4bWwgbm8gbG9uZ2VyIGFkZHMgd2hpdGVzcGFjZSBhcm91bmQgYSB0ZXh0Ci0gIG5vZGUgd2hlbiBpdCBpcyB0aGUgb25seSBjaGlsZCBvZiBhbiBlbGVtZW50LiAgSW5pdGlhbCBwYXRjaCBieSBEYW4KLSAgS2VuaWdzYmVyZy4KLQotLSBJc3N1ZSAjMTMzNzQ6IFRoZSBXaW5kb3dzIGJ5dGVzIEFQSSBoYXMgYmVlbiBkZXByZWNhdGVkIGluIHRoZSBvcyBtb2R1bGUuIFVzZQotICBVbmljb2RlIGZpbGVuYW1lcyBpbnN0ZWFkIG9mIGJ5dGVzIGZpbGVuYW1lcyB0byBub3QgZGVwZW5kIG9uIHRoZSBBTlNJIGNvZGUKLSAgcGFnZSBhbnltb3JlIGFuZCB0byBzdXBwb3J0IGFueSBmaWxlbmFtZS4KLQotLSBJc3N1ZSAjMTMyOTc6IFVzZSBieXRlcyB0eXBlIHRvIHNlbmQgYW5kIHJlY2VpdmUgYmluYXJ5IGRhdGEgdGhyb3VnaCBYTUxSUEMuCi0KLS0gSXNzdWUgIzYzOTc6IFN1cHBvcnQgIi9kZXYvcG9sbCIgcG9sbGluZyBvYmplY3RzIGluIHNlbGVjdCBtb2R1bGUsCi0gIHVuZGVyIFNvbGFyaXMgJiBkZXJpdmF0aXZlcy4KLQotLSBJc3N1ZXMgIzE3NDU3NjEsICM3NTU2NzAsICMxMzM1NywgIzEyNjI5LCAjMTIwMDMxMzogSFRNTFBhcnNlciBub3cgY29ycmVjdGx5Ci0gIGhhbmRsZXMgbm9uLXZhbGlkIGF0dHJpYnV0ZXMsIGluY2x1ZGluZyBhZGphY2VudCBhbmQgdW5xdW90ZWQgYXR0cmlidXRlcy4KLQotLSBJc3N1ZSAjMTMxOTM6IEZpeCBkaXN0dXRpbHMuZmlsZWxpc3QuRmlsZUxpc3QgYW5kIHBhY2thZ2luZy5tYW5pZmVzdC5NYW5pZmVzdAotICB1bmRlciBXaW5kb3dzLgotCi0tIElzc3VlICMxMzM4NDogUmVtb3ZlIHVubmVjZXNzYXJ5IF9fZnV0dXJlX18gaW1wb3J0IGluIExpYi9yYW5kb20ucHkKLQotLSBJc3N1ZSAjMTMxNDk6IFNwZWVkIHVwIGFwcGVuZC1vbmx5IFN0cmluZ0lPIG9iamVjdHMuCi0KLS0gSXNzdWUgIzEzMzczOiBtdWx0aXByb2Nlc3NpbmcuUXVldWUuZ2V0KCkgY291bGQgc29tZXRpbWVzIGJsb2NrIGluZGVmaW5pdGVseQotICB3aGVuIGNhbGxlZCB3aXRoIGEgdGltZW91dC4gIFBhdGNoIGJ5IEFybmF1ZCBZc21hbC4KLQotLSBJc3N1ZSAjMTMyNTQ6IEZpeCBNYWlsZGlyIGluaXRpYWxpemF0aW9uIHNvIHRoYXQgbWFpbGRpciBjb250ZW50cwotICBhcmUgcmVhZCBjb3JyZWN0bHkuCi0KLS0gSXNzdWUgIzMwNjc6IGxvY2FsZS5zZXRsb2NhbGUoKSBub3cgcmFpc2VzIFR5cGVFcnJvciBpZiB0aGUgc2Vjb25kCi0gIGFyZ3VtZW50IGlzIGFuIGludmFsaWQgaXRlcmFibGUuIEl0cyBkb2N1bWVudGF0aW9uIGFuZCBkb2NzdHJpbmcKLSAgd2VyZSBhbHNvIHVwZGF0ZWQuIEluaXRpYWwgcGF0Y2ggYnkgSnlya2kgUHVsbGlhaW5lbi4KLQotLSBJc3N1ZSAjMTMxNDA6IEZpeCB0aGUgZGFlbW9uX3RocmVhZHMgYXR0cmlidXRlIG9mIFRocmVhZGluZ01peEluLgotCi0tIElzc3VlICMxMzMzOTogRml4IGNvbXBpbGUgZXJyb3IgaW4gcG9zaXhtb2R1bGUuYyBkdWUgdG8gbWlzc2luZyBzZW1pY29sb24uCi0gIFRoYW5rcyB0byBSb2JlcnQgWGlhby4KLQotLSBCeXRlIGNvbXBpbGF0aW9uIGluIHBhY2thZ2luZyBpcyBub3cgaXNvbGF0ZWQgZnJvbSB0aGUgY2FsbGluZyBQeXRob24gLUIgb3IKLSAgLU8gb3B0aW9ucywgaW5zdGVhZCBvZiBiZWluZyBkaXNhbGxvd2VkIHVuZGVyIC1CIG9yIGJ1Z2d5IHVuZGVyIC1PLgotCi0tIElzc3VlICMxMDU3MDogY3Vyc2VzLnB1dHAoKSBhbmQgY3Vyc2VzLnRwYXJtKCkgYXJlIG5vdyBleHBlY3RpbmcgYSBieXRlCi0gIHN0cmluZywgaW5zdGVhZCBvZiBhIFVuaWNvZGUgc3RyaW5nLgotCi0tIElzc3VlICMxMzI5NTogaHR0cC5zZXJ2ZXIgbm93IHByb2R1Y2VzIHZhbGlkIEhUTUwgNC4wMSBzdHJpY3QuCi0KLS0gSXNzdWUgIzI4OTI6IHByZXNlcnZlIGl0ZXJwYXJzZSBldmVudHMgaW4gY2FzZSBvZiBTeW50YXhFcnJvci4KLQotLSBJc3N1ZSAjMTMyODc6IHVybGxpYi5yZXF1ZXN0IGFuZCB1cmxsaWIuZXJyb3Igbm93IGNvbnRhaW5zIGFuIF9fYWxsX18KLSAgYXR0cmlidXRlIHRvIGV4cG9zZSBvbmx5IHJlbGV2YW50IGNsYXNzZXMgYW5kIGZ1bmN0aW9ucy4gIFBhdGNoIGJ5IEZsb3JlbnQKLSAgWGljbHVuYS4KLQotLSBJc3N1ZSAjNjcwNjY0OiBGaXggSFRNTFBhcnNlciB0byBjb3JyZWN0bHkgaGFuZGxlIHRoZSBjb250ZW50IG9mCi0gIGBgPHNjcmlwdD4uLi48L3NjcmlwdD5gYCBhbmQgYGA8c3R5bGU+Li4uPC9zdHlsZT5gYC4KLQotLSBJc3N1ZSAjMTA4MTc6IEZpeCB1cmxyZXRyaWV2ZSBmdW5jdGlvbiB0byByYWlzZSBDb250ZW50VG9vU2hvcnRFcnJvciBldmVuCi0gIHdoZW4gcmVwb3J0aG9vayBpcyBOb25lLiBQYXRjaCBieSBKeXJraSBQdWxsaWFpbmVuLgotCi0tIEZpeCB0aGUgeG1scnBjLmNsaWVudCB1c2VyIGFnZW50IHRvIHJldHVybiBzb21ldGhpbmcgc2ltaWxhciB0bwotICB1cmxsaWIucmVxdWVzdCB1c2VyIGFnZW50OiAiUHl0aG9uLXhtbHJwYy8zLjMiLgotCi0tIElzc3VlICMxMzI5MzogQmV0dGVyIGVycm9yIG1lc3NhZ2Ugd2hlbiB0cnlpbmcgdG8gbWFyc2hhbCBieXRlcyB1c2luZwotICB4bWxycGMuY2xpZW50LgotCi0tIElzc3VlICMxMzI5MTogTmFtZUVycm9yIGluIHhtbHJwYyBwYWNrYWdlLgotCi0tIElzc3VlICMxMzI1ODogVXNlIGNhbGxhYmxlKCkgYnVpbHQtaW4gaW4gdGhlIHN0YW5kYXJkIGxpYnJhcnkuCi0KLS0gSXNzdWUgIzEzMjczOiBmaXggYSBidWcgdGhhdCBwcmV2ZW50ZWQgSFRNTFBhcnNlciB0byBwcm9wZXJseSBkZXRlY3Qgc29tZQotICB0YWdzIHdoZW4gc3RyaWN0PUZhbHNlLgotCi0tIElzc3VlICMxMTE4MzogQWRkIGZpbmVyLWdyYWluZWQgZXhjZXB0aW9ucyB0byB0aGUgc3NsIG1vZHVsZSwgc28gdGhhdAotICB5b3UgZG9uJ3QgaGF2ZSB0byBpbnNwZWN0IHRoZSBleGNlcHRpb24ncyBhdHRyaWJ1dGVzIGluIHRoZSBjb21tb24gY2FzZS4KLQotLSBJc3N1ZSAjMTMyMTY6IEFkZCBjcDY1MDAxIGNvZGVjLCB0aGUgV2luZG93cyBVVEYtOCAoQ1BfVVRGOCkuCi0KLS0gSXNzdWUgIzEzMjI2OiBBZGQgUlRMRF94eHggY29uc3RhbnRzIHRvIHRoZSBvcyBtb2R1bGUuIFRoZXNlIGNvbnN0YW50cyBjYW4gYmUKLSAgdXNlZCB3aXRoIHN5cy5zZXRkbG9wZW5mbGFncygpLgotCi0tIElzc3VlICMxMDI3ODogQWRkIGNsb2NrX2dldHJlcygpLCBjbG9ja19nZXR0aW1lKCkgYW5kIENMT0NLX3h4eCBjb25zdGFudHMgdG8KLSAgdGhlIHRpbWUgbW9kdWxlLiB0aW1lLmNsb2NrX2dldHRpbWUodGltZS5DTE9DS19NT05PVE9OSUMpIHByb3ZpZGVzIGEKLSAgbW9ub3RvbmljIGNsb2NrCi0KLS0gSXNzdWUgIzEwMzMyOiBtdWx0aXByb2Nlc3Npbmc6IGZpeCBhIHJhY2UgY29uZGl0aW9uIHdoZW4gYSBQb29sIGlzIGNsb3NlZAotICBiZWZvcmUgYWxsIHRhc2tzIGhhdmUgY29tcGxldGVkLgotCi0tIElzc3VlICMxMzI1NTogd3JvbmcgZG9jc3RyaW5ncyBpbiBhcnJheSBtb2R1bGUuCi0KLS0gSXNzdWUgIzg1NDA6IFJlbW92ZSBkZXByZWNhdGVkIENvbnRleHQuX2NsYW1wIGF0dHJpYnV0ZSBpbiBEZWNpbWFsIG1vZHVsZS4KLQotLSBJc3N1ZSAjMTMyMzU6IEFkZGVkIERlcHJlY2F0aW9uV2FybmluZyB0byBsb2dnaW5nLndhcm4oKSBtZXRob2QgYW5kIGZ1bmN0aW9uLgotCi0tIElzc3VlICM5MTY4OiBub3cgc210cGQgaXMgYWJsZSB0byBiaW5kIHByaXZpbGVnZWQgcG9ydC4KLQotLSBJc3N1ZSAjMTI1Mjk6IGZpeCBjZ2kucGFyc2VfaGVhZGVyIGlzc3VlIG9uIHN0cmluZ3Mgd2l0aCBkb3VibGUtcXVvdGVzIGFuZAotICBzZW1pY29sb25zIHRvZ2V0aGVyLiBQYXRjaCBieSBCZW4gRGFybmVsbCBhbmQgUGV0cmkgTGVodGluZW4uCi0KLS0gSXNzdWUgIzEzMjI3OiBmdW5jdG9vbHMubHJ1X2NhY2hlKCkgbm93IGhhcyBhIG9wdGlvbiB0byBkaXN0aW5ndWlzaAotICBjYWxscyB3aXRoIGRpZmZlcmVudCBhcmd1bWVudCB0eXBlcy4KLQotLSBJc3N1ZSAjNjA5MDogemlwZmlsZSByYWlzZXMgYSBWYWx1ZUVycm9yIHdoZW4gYSBkb2N1bWVudCB3aXRoIGEgdGltZXN0YW1wCi0gIGVhcmxpZXIgdGhhbiAxOTgwIGlzIHByb3ZpZGVkLiBQYXRjaCBjb250cmlidXRlZCBieSBQZXRyaSBMZWh0aW5lbi4KLQotLSBJc3N1ZSAjMTMxNTA6IHN5c2NvbmZpZyBubyBsb25nZXIgcGFyc2VzIHRoZSBNYWtlZmlsZSBhbmQgY29uZmlnLmggZmlsZXMKLSAgd2hlbiBpbXBvcnRlZCwgaW5zdGVhZCBkb2luZyBpdCBhdCBidWlsZCB0aW1lLiAgVGhpcyBtYWtlcyBpbXBvcnRpbmcKLSAgc3lzY29uZmlnIGZhc3RlciBhbmQgcmVkdWNlcyBQeXRob24gc3RhcnR1cCB0aW1lIGJ5IDIwJS4KLQotLSBJc3N1ZSAjMTI0NDg6IHNtdHBsaWIgbm93IGZsdXNoZXMgc3Rkb3V0IHdoaWxlIHJ1bm5pbmcgYGBweXRob24gLW0gc210cGxpYmBgCi0gIGluIG9yZGVyIHRvIGRpc3BsYXkgdGhlIHByb21wdCBjb3JyZWN0bHkuCi0KLS0gSXNzdWUgIzEyNDU0OiBUaGUgbWFpbGJveCBtb2R1bGUgaXMgbm93IHVzaW5nIEFTQ0lJLCBpbnN0ZWFkIG9mIHRoZSBsb2NhbGUKLSAgZW5jb2RpbmcsIHRvIHJlYWQgYW5kIHdyaXRlIC5taF9zZXF1ZW5jZXMgZmlsZXMuCi0KLS0gSXNzdWUgIzEzMTk0OiB6bGliLmNvbXByZXNzb2JqKCkuY29weSgpIGFuZCB6bGliLmRlY29tcHJlc3NvYmooKS5jb3B5KCkgYXJlCi0gIG5vdyBhdmFpbGFibGUgb24gV2luZG93cy4KLQotLSBJc3N1ZSAjMTY3MzAwNzogdXJsbGliLnJlcXVlc3Qgbm93IHN1cHBvcnRzIEhFQUQgcmVxdWVzdCB2aWEgbmV3IG1ldGhvZCBhcmd1bWVudC4KLSAgUGF0Y2ggY29udHJpYnV0aW9ucyBieSBEYXZpZCBTdGFuZWssIFBhdHJpY2sgV2VzdGVyaG9mZiBhbmQgRXppbyBNZWxvdHRpLgotCi0tIElzc3VlICMxMjM4NjogcGFja2FnaW5nIGRvZXMgbm90IGZhaWwgYW55bW9yZSB3aGVuIHdyaXRpbmcgdGhlIFJFU09VUkNFUwotICBmaWxlLgotCi0tIElzc3VlICMxMzE1ODogRml4IGRlY29kaW5nIGFuZCBlbmNvZGluZyBvZiBHTlUgdGFyIHNwZWNpZmljIGJhc2UtMjU2IG51bWJlcgotICBmaWVsZHMgaW4gdGFyZmlsZS4KLQotLSBJc3N1ZSAjMTMwMjU6IG1pbWV0eXBlcyBpcyBub3cgcmVhZGluZyBNSU1FIHR5cGVzIHVzaW5nIHRoZSBVVEYtOCBlbmNvZGluZywKLSAgaW5zdGVhZCBvZiB0aGUgbG9jYWxlIGVuY29kaW5nLgotCi0tIElzc3VlICMxMDY1MzogT24gV2luZG93cywgdXNlIHN0cmZ0aW1lKCkgaW5zdGVhZCBvZiB3Y3NmdGltZSgpIGJlY2F1c2UKLSAgd2NzZnRpbWUoKSBkb2Vzbid0IGZvcm1hdCB0aW1lIHpvbmUgY29ycmVjdGx5LgotCi0tIElzc3VlICMxMzE1MDogVGhlIHRva2VuaXplIG1vZHVsZSBkb2Vzbid0IGNvbXBpbGUgbGFyZ2UgcmVndWxhciBleHByZXNzaW9ucwotICBhdCBzdGFydHVwIGFueW1vcmUuCi0KLS0gSXNzdWUgIzExMTcxOiBGaXggZGlzdHV0aWxzLnN5c2NvbmZpZy5nZXRfbWFrZWZpbGVfZmlsZW5hbWUgd2hlbiBQeXRob24gd2FzCi0gIGNvbmZpZ3VyZWQgd2l0aCBkaWZmZXJlbnQgcHJlZml4IGFuZCBleGVjLXByZWZpeC4KLQotLSBJc3N1ZSAjMTEyNTQ6IFRlYWNoIGRpc3R1dGlscyBhbmQgcGFja2FnaW5nIHRvIGNvbXBpbGUgLnB5YyBhbmQgLnB5byBmaWxlcyBpbgotICBQRVAgMzE0Ny1jb21wbGlhbnQgX19weWNhY2hlX18gZGlyZWN0b3JpZXMuCi0KLS0gSXNzdWUgIzczNjc6IEZpeCBwa2d1dGlsLndhbGtfcGF0aHMgdG8gc2tpcCBkaXJlY3RvcmllcyB3aG9zZQotICBjb250ZW50cyBjYW5ub3QgYmUgcmVhZC4KLQotLSBJc3N1ZSAjMzE2MzogVGhlIHN0cnVjdCBtb2R1bGUgZ2V0cyBuZXcgZm9ybWF0IGNoYXJhY3RlcnMgJ24nIGFuZCAnTicKLSAgc3VwcG9ydGluZyBDIGludGVnZXIgdHlwZXMgYGBzc2l6ZV90YGAgYW5kIGBgc2l6ZV90YGAsIHJlc3BlY3RpdmVseS4KLQotLSBJc3N1ZSAjMTMwOTk6IEZpeCBzcWxpdGUzLkN1cnNvci5sYXN0cm93aWQgdW5kZXIgYSBUdXJraXNoIGxvY2FsZS4KLSAgUmVwb3J0ZWQgYW5kIGRpYWdub3NlZCBieSBUaG9tYXMgS2x1eXZlci4KLQotLSBJc3N1ZSAjMTMwODc6IEJ1ZmZlcmVkUmVhZGVyLnNlZWsoKSBub3cgYWx3YXlzIHJhaXNlcyBVbnN1cHBvcnRlZE9wZXJhdGlvbgotICBpZiB0aGUgdW5kZXJseWluZyByYXcgc3RyZWFtIGlzIHVuc2Vla2FibGUsIGV2ZW4gaWYgdGhlIHNlZWsgY291bGQgYmUKLSAgc2F0aXNmaWVkIHVzaW5nIHRoZSBpbnRlcm5hbCBidWZmZXIuICBQYXRjaCBieSBKb2huIE8nQ29ubm9yLgotCi0tIElzc3VlICM3Njg5OiBBbGxvdyBwaWNrbGluZyBvZiBkeW5hbWljYWxseSBjcmVhdGVkIGNsYXNzZXMgd2hlbiB0aGVpcgotICBtZXRhY2xhc3MgaXMgcmVnaXN0ZXJlZCB3aXRoIGNvcHlyZWcuICBQYXRjaCBieSBOaWNvbGFzIE0uIFRoacOpcnkgYW5kIENyYWlnCi0gIENpdHJvLgotCi0tIElzc3VlICMxMzAzNDogV2hlbiBkZWNvZGluZyBzb21lIFNTTCBjZXJ0aWZpY2F0ZXMsIHRoZSBzdWJqZWN0QWx0TmFtZQotICBleHRlbnNpb24gY291bGQgYmUgdW5yZXBvcnRlZC4KLQotLSBJc3N1ZSAjMTIzMDY6IEV4cG9zZSB0aGUgcnVudGltZSB2ZXJzaW9uIG9mIHRoZSB6bGliIEMgbGlicmFyeSBhcyBhIGNvbnN0YW50LAotICBaTElCX1JVTlRJTUVfVkVSU0lPTiwgaW4gdGhlIHpsaWIgbW9kdWxlLiBQYXRjaCBieSBUb3JzdGVuIExhbmRzY2hvZmYuCi0KLS0gSXNzdWUgIzEyOTU5OiBBZGQgY29sbGVjdGlvbnMuQ2hhaW5NYXAgdG8gY29sbGVjdGlvbnMuX19hbGxfXy4KLQotLSBJc3N1ZSAjODkzMzogZGlzdHV0aWxzJyBQS0ctSU5GTyBmaWxlcyBhbmQgcGFja2FnaW5nJ3MgTUVUQURBVEEgZmlsZXMgd2lsbAotICBub3cgY29ycmVjdGx5IHJlcG9ydCBNZXRhZGF0YS1WZXJzaW9uOiAxLjEgaW5zdGVhZCBvZiAxLjAgaWYgYSBDbGFzc2lmaWVyIG9yCi0gIERvd25sb2FkLVVSTCBmaWVsZCBpcyBwcmVzZW50LgotCi0tIElzc3VlICMxMjU2NzogQWRkIGN1cnNlcy51bmdldF93Y2goKSBmdW5jdGlvbi4gUHVzaCBhIGNoYXJhY3RlciBzbyB0aGUgbmV4dAotICBnZXRfd2NoKCkgd2lsbCByZXR1cm4gaXQuCi0KLS0gSXNzdWUgIzk1NjE6IGRpc3R1dGlscyBhbmQgcGFja2FnaW5nIG5vdyB3cml0ZXMgZWdnLWluZm8gZmlsZXMgdXNpbmcgVVRGLTgsCi0gIGluc3RlYWQgb2YgdGhlIGxvY2FsZSBlbmNvZGluZy4KLQotLSBJc3N1ZSAjODI4NjogVGhlIGRpc3R1dGlscyBjb21tYW5kIHNkaXN0IHdpbGwgcHJpbnQgYSB3YXJuaW5nIG1lc3NhZ2UgaW5zdGVhZAotICBvZiBjcmFzaGluZyB3aGVuIGFuIGludmFsaWQgcGF0aCBpcyBnaXZlbiBpbiB0aGUgbWFuaWZlc3QgdGVtcGxhdGUuCi0KLS0gSXNzdWUgIzEyODQxOiB0YXJmaWxlIHVubmVjZXNzYXJpbHkgY2hlY2tlZCB0aGUgZXhpc3RlbmNlIG9mIG51bWVyaWNhbCB1c2VyCi0gIGFuZCBncm91cCBpZHMgb24gZXh0cmFjdGlvbi4gSWYgb25lIG9mIHRoZW0gZGlkIG5vdCBleGlzdCB0aGUgcmVzcGVjdGl2ZSBpZAotICBvZiB0aGUgY3VycmVudCB1c2VyIChpLmUuIHJvb3QpIHdhcyB1c2VkIGZvciB0aGUgZmlsZSBhbmQgb3duZXJzaGlwCi0gIGluZm9ybWF0aW9uIHdhcyBsb3N0LgotCi0tIElzc3VlICMxMjg4ODogRml4IGEgYnVnIGluIEhUTUxQYXJzZXIudW5lc2NhcGUgdGhhdCBwcmV2ZW50ZWQgaXQgdG8gZXNjYXBlCi0gIG1vcmUgdGhhbiAxMjggZW50aXRpZXMuICBQYXRjaCBieSBQZXRlciBPdHRlbi4KLQotLSBJc3N1ZSAjMTI4Nzg6IEV4cG9zZSBhIF9fZGljdF9fIGF0dHJpYnV0ZSBvbiBpby5JT0Jhc2UgYW5kIGl0cyBzdWJjbGFzc2VzLgotCi0tIElzc3VlICMxMjQ5NDogT24gZXJyb3IsIGNhbGwoKSwgY2hlY2tfY2FsbCgpLCBjaGVja19vdXRwdXQoKSBhbmQKLSAgZ2V0c3RhdHVzb3V0cHV0KCkgZnVuY3Rpb25zIG9mIHRoZSBzdWJwcm9jZXNzIG1vZHVsZSBub3cga2lsbCB0aGUgcHJvY2VzcywKLSAgcmVhZCBpdHMgc3RhdHVzICh0byBhdm9pZCB6b21iaXMpIGFuZCBjbG9zZSBwaXBlcy4KLQotLSBJc3N1ZSAjMTI3MjA6IEV4cG9zZSBsb3ctbGV2ZWwgTGludXggZXh0ZW5kZWQgZmlsZSBhdHRyaWJ1dGUgZnVuY3Rpb25zIGluIG9zLgotCi0tIElzc3VlICMxMDk0NjogVGhlIGRpc3R1dGlscyBjb21tYW5kcyBiZGlzdF9kdW1iLCBiZGlzdF93aW5pbnN0IGFuZCBiZGlzdF9tc2kKLSAgbm93IHJlc3BlY3QgYSAtLXNraXAtYnVpbGQgb3B0aW9uIGdpdmVuIHRvIGJkaXN0LiAgVGhlIHBhY2thZ2luZyBjb21tYW5kcwotICB3ZXJlIGZpeGVkIHRvby4KLQotLSBJc3N1ZSAjMTI4NDc6IEZpeCBhIGNyYXNoIHdpdGggbmVnYXRpdmUgUFVUIGFuZCBMT05HX0JJTlBVVCBhcmd1bWVudHMgaW4KLSAgdGhlIEMgcGlja2xlIGltcGxlbWVudGF0aW9uLgotCi0tIElzc3VlICMxMTU2NDogQXZvaWQgY3Jhc2hlcyB3aGVuIHRyeWluZyB0byBwaWNrbGUgaHVnZSBvYmplY3RzIG9yIGNvbnRhaW5lcnMKLSAgKG1vcmUgdGhhbiAyKiozMSBpdGVtcykuICBJbnN0ZWFkLCBpbiBtb3N0IGNhc2VzLCBhbiBPdmVyZmxvd0Vycm9yIGlzIHJhaXNlZC4KLQotLSBJc3N1ZSAjMTIyODc6IEZpeCBhIHN0YWNrIGNvcnJ1cHRpb24gaW4gb3NzYXVkaW9kZXYgbW9kdWxlIHdoZW4gdGhlIEZEIGlzCi0gIGdyZWF0ZXIgdGhhbiBGRF9TRVRTSVpFLgotCi0tIElzc3VlICMxMjgzOTogRml4IGNyYXNoIGluIHpsaWIgbW9kdWxlIGR1ZSB0byB2ZXJzaW9uIG1pc21hdGNoLgotICBGaXggYnkgUmljaGFyZCBNLiBUZXcuCi0KLS0gSXNzdWUgIzk5MjM6IFRoZSBtYWlsY2FwIG1vZHVsZSBub3cgY29ycmVjdGx5IHVzZXMgdGhlIHBsYXRmb3JtIHBhdGgKLSAgc2VwYXJhdG9yIGZvciB0aGUgTUFJTENBUCBlbnZpcm9ubWVudCB2YXJpYWJsZSBvbiBub24tUE9TSVggcGxhdGZvcm1zLgotCi0tIElzc3VlICMxMjgzNTogRm9sbG93IHVwIHRvICM2NTYwIHRoYXQgdW5jb25kaXRpb25hbGx5IHByZXZlbnRzIHVzZSBvZiB0aGUKLSAgdW5lbmNyeXB0ZWQgc2VuZG1zZy9yZWN2bXNnIEFQSXMgb24gU1NMIHdyYXBwZWQgc29ja2V0cy4gUGF0Y2ggYnkgRGF2aWQKLSAgV2F0c29uLgotCi0tIElzc3VlICMxMjgwMzogU1NMQ29udGV4dC5sb2FkX2NlcnRfY2hhaW4oKSBub3cgYWNjZXB0cyBhIHBhc3N3b3JkIGFyZ3VtZW50Ci0gIHRvIGJlIHVzZWQgaWYgdGhlIHByaXZhdGUga2V5IGlzIGVuY3J5cHRlZC4gIFBhdGNoIGJ5IEFkYW0gU2ltcGtpbnMuCi0KLS0gSXNzdWUgIzExNjU3OiBGaXggc2VuZGluZyBmaWxlIGRlc2NyaXB0b3JzIG92ZXIgMjU1IG92ZXIgYSBtdWx0aXByb2Nlc3NpbmcKLSAgUGlwZS4KLQotLSBJc3N1ZSAjMTI4MTE6IHRhYm5hbm55LmNoZWNrKCkgbm93IHByb21wdGx5IGNsb3NlcyBjaGVja2VkIGZpbGVzLiBQYXRjaCBieQotICBBbnRob255IEJyaWdncy4KLQotLSBJc3N1ZSAjNjU2MDogVGhlIHNlbmRtc2cvcmVjdm1zZyBBUEkgaXMgbm93IGV4cG9zZWQgYnkgdGhlIHNvY2tldCBtb2R1bGUKLSAgd2hlbiBwcm92aWRlZCBieSB0aGUgdW5kZXJseWluZyBwbGF0Zm9ybSwgc3VwcG9ydGluZyBwcm9jZXNzaW5nIG9mCi0gIGFuY2lsbGFyeSBkYXRhIGluIHB1cmUgUHl0aG9uIGNvZGUuIFBhdGNoIGJ5IERhdmlkIFdhdHNvbiBhbmQgSGVpa28gV3VuZHJhbS4KLQotLSBJc3N1ZSAjMTIzMjY6IE9uIExpbnV4LCBzeXMucGxhdGZvcm0gZG9lc24ndCBjb250YWluIHRoZSBtYWpvciB2ZXJzaW9uCi0gIGFueW1vcmUuIEl0IGlzIG5vdyBhbHdheXMgJ2xpbnV4JywgaW5zdGVhZCBvZiAnbGludXgyJyBvciAnbGludXgzJyBkZXBlbmRpbmcKLSAgb24gdGhlIExpbnV4IHZlcnNpb24gdXNlZCB0byBidWlsZCBQeXRob24uCi0KLS0gSXNzdWUgIzEyMjEzOiBGaXggYSBidWZmZXJpbmcgYnVnIHdpdGggaW50ZXJsZWF2ZWQgcmVhZHMgYW5kIHdyaXRlcyB0aGF0Ci0gIGNvdWxkIGFwcGVhciBvbiBCdWZmZXJlZFJhbmRvbSBzdHJlYW1zLgotCi0tIElzc3VlICMxMjc3ODogUmVkdWNlIG1lbW9yeSBjb25zdW1wdGlvbiB3aGVuIEpTT04tZW5jb2RpbmcgYSBsYXJnZQotICBjb250YWluZXIgb2YgbWFueSBzbWFsbCBvYmplY3RzLgotCi0tIElzc3VlICMxMjY1MDogRml4IGEgcmFjZSBjb25kaXRpb24gd2hlcmUgYSBzdWJwcm9jZXNzLlBvcGVuIGNvdWxkIGxlYWsKLSAgcmVzb3VyY2VzIChGRC96b21iaWUpIHdoZW4ga2lsbGVkIGF0IHRoZSB3cm9uZyB0aW1lLgotCi0tIElzc3VlICMxMjc0NDogRml4IGluZWZmaWNpZW50IHJlcHJlc2VudGF0aW9uIG9mIGludGVnZXJzIGJldHdlZW4gMioqMzEgYW5kCi0gIDIqKjYzIG9uIHN5c3RlbXMgd2l0aCBhIDY0LWJpdCBDICJsb25nIi4KLQotLSBJc3N1ZSAjMTI2NDY6IEFkZCBhbiAnZW9mJyBhdHRyaWJ1dGUgdG8gemxpYi5EZWNvbXByZXNzLCB0byBtYWtlIGl0IGVhc2llciB0bwotICBkZXRlY3QgdHJ1bmNhdGVkIGlucHV0IHN0cmVhbXMuCi0KLS0gSXNzdWUgIzExNTEzOiBGaXggZXhjZXB0aW9uIGhhbmRsaW5nIGBgdGFyZmlsZS5UYXJGaWxlLmd6b3BlbigpYGAgd2hlbgotICB0aGUgZmlsZSBjYW5ub3QgYmUgb3BlbmVkLgotCi0tIElzc3VlICMxMjY4NzogRml4IGEgcG9zc2libGUgYnVmZmVyaW5nIGJ1ZyB3aGVuIHVucGlja2xpbmcgdGV4dCBtb2RlCi0gIChwcm90b2NvbCAwLCBtb3N0bHkpIHBpY2tsZXMuCi0KLS0gSXNzdWUgIzEwMDg3OiBGaXggdGhlIGh0bWwgb3V0cHV0IGZvcm1hdCBvZiB0aGUgY2FsZW5kYXIgbW9kdWxlLgotCi0tIElzc3VlICMxMzEyMTogYWRkIHN1cHBvcnQgZm9yIGlucGxhY2UgbWF0aCBvcGVyYXRvcnMgdG8gY29sbGVjdGlvbnMuQ291bnRlci4KLQotLSBBZGQgc3VwcG9ydCBmb3IgdW5hcnkgcGx1cyBhbmQgdW5hcnkgbWludXMgdG8gY29sbGVjdGlvbnMuQ291bnRlci4KLQotLSBJc3N1ZSAjMTI2ODM6IHVybHBhcnNlIHVwZGF0ZWQgdG8gaW5jbHVkZSBzdm4gYXMgc2NoZW1lcyB0aGF0IHVzZXMgcmVsYXRpdmUKLSAgcGF0aHMuIChzdm4gZnJvbSAxLjUgb253YXJkcyBzdXBwb3J0IHJlbGF0aXZlIHBhdGgpLgotCi0tIElzc3VlICMxMjY1NTogRXhwb3NlIGZ1bmN0aW9ucyBmcm9tIHNjaGVkLmggaW4gdGhlIG9zIG1vZHVsZTogc2NoZWRfeWllbGQoKSwKLSAgc2NoZWRfc2V0c2NoZWR1bGVyKCksIHNjaGVkX2dldHNjaGVkdWxlcigpLCBzY2hlZF9zZXRwYXJhbSgpLAotICBzY2hlZF9nZXRfbWluX3ByaW9yaXR5KCksIHNjaGVkX2dldF9tYXhfcHJpb3JpdHkoKSwgc2NoZWRfcnJfZ2V0X2ludGVydmFsKCksCi0gIHNjaGVkX2dldGFmZmluaXR5KCksIHNjaGVkX3NldGFmZmluaXR5KCkuCi0KLS0gQWRkIFRocmVhZEVycm9yIHRvIHRocmVhZGluZy5fX2FsbF9fLgotCi0tIElzc3VlcyAjMTExMDQsICM4Njg4OiBGaXggdGhlIGJlaGF2aW9yIG9mIGRpc3R1dGlscycgc2Rpc3QgY29tbWFuZCB3aXRoCi0gIG1hbnVhbGx5LW1haW50YWluZWQgTUFOSUZFU1QgZmlsZXMuCi0KLS0gSXNzdWUgIzExMjgxOiBzbXRwbGliLlNUTVAgZ2V0cyBzb3VyY2VfYWRkcmVzcyBwYXJhbWV0ZXIsIHdoaWNoIGFkZHMgdGhlCi0gIGFiaWxpdHkgdG8gYmluZCB0byBzcGVjaWZpYyBzb3VyY2UgYWRkcmVzcyBvbiBhIG1hY2hpbmUgd2l0aCBtdWx0aXBsZQotICBpbnRlcmZhY2VzLiBQYXRjaCBieSBQYXVsbyBTY2FyZGluZS4KLQotLSBJc3N1ZSAjMTI0NjQ6IHRlbXBmaWxlLlRlbXBvcmFyeURpcmVjdG9yeS5jbGVhbnVwKCkgc2hvdWxkIG5vdCBmb2xsb3cKLSAgc3ltbGlua3M6IGZpeCBpdC4gUGF0Y2ggYnkgUGV0cmkgTGVodGluZW4uCi0KLS0gSXNzdWUgIzg4ODc6ICJweWRvYyBzb21lYnVpbHRpbi5zb21lbWV0aG9kIiAob3IgaGVscCgnc29tZWJ1aWx0aW4uc29tZW1ldGhvZCcpCi0gIGluIFB5dGhvbiBjb2RlKSBub3cgZmluZHMgdGhlIGRvYyBvZiB0aGUgbWV0aG9kLgotCi0tIElzc3VlICMxMDk2ODogUmVtb3ZlIGluZGlyZWN0aW9uIGluIHRocmVhZGluZy4gIFRoZSBwdWJsaWMgbmFtZXMgKEV2ZW50LAotICBDb25kaXRpb24sIGV0Yy4pIHVzZWQgdG8gYmUgZmFjdG9yeSBmdW5jdGlvbnMgcmV0dXJuaW5nIGluc3RhbmNlcyBvZiBoaWRkZW4KLSAgY2xhc3NlcyAoX0V2ZW50LCBfQ29uZGl0aW9uLCBldGMuKSwgYmVjYXVzZSAoaWYgR3VpZG8gcmVjYWxscyBjb3JyZWN0bHkpIHRoaXMKLSAgY29kZSBwcmUtZGF0ZXMgdGhlIGFiaWxpdHkgdG8gc3ViY2xhc3MgZXh0ZW5zaW9uIHR5cGVzLiAgSXQgaXMgbm93IHBvc3NpYmxlCi0gIHRvIGluaGVyaXQgZnJvbSB0aGVzZSBjbGFzc2VzLCB3aXRob3V0IGhhdmluZyB0byBpbXBvcnQgdGhlIHByaXZhdGUKLSAgdW5kZXJzY29yZWQgbmFtZXMgbGlrZSBtdWx0aXByb2Nlc3NpbmcgZGlkLgotCi0tIElzc3VlICM5NzIzOiBBZGQgc2hsZXgucXVvdGUgZnVuY3Rpb25zLCB0byBlc2NhcGUgZmlsZW5hbWVzIGFuZCBjb21tYW5kCi0gIGxpbmVzLgotCi0tIElzc3VlICMxMjYwMzogRml4IHB5ZG9jLnN5bm9wc2lzKCkgb24gZmlsZXMgd2l0aCBub24tbmVnYXRpdmUgc3RfbXRpbWUuCi0KLS0gSXNzdWUgIzEyNTE0OiBVc2UgdHJ5L2ZpbmFsbHkgdG8gYXNzdXJlIHRoZSB0aW1laXQgbW9kdWxlIHJlc3RvcmVzIGdhcmJhZ2UKLSAgY29sbGVjdGlvbnMgd2hlbiBpdCBpcyBkb25lLgotCi0tIElzc3VlICMxMjYwNzogSW4gc3VicHJvY2VzcywgZml4IGlzc3VlIHdoZXJlIGlmIHN0ZGluLCBzdGRvdXQgb3Igc3RkZXJyIGlzCi0gIGdpdmVuIGFzIGEgbG93IGZkLCBpdCBnZXRzIG92ZXJ3cml0dGVuLgotCi0tIElzc3VlICMxMjU3NjogRml4IHVybG9wZW4gYmVoYXZpb3Igb24gc2l0ZXMgd2hpY2ggZG8gbm90IHNlbmQgKG9yIG9iZnVzY2F0ZXMpCi0gIGBgQ29ubmVjdGlvbjogY2xvc2VgYCBoZWFkZXIuCi0KLS0gSXNzdWUgIzEyNTYwOiBCdWlsZCBsaWJweXRob24uc28gb24gT3BlbkJTRC4gUGF0Y2ggYnkgU3RlZmFuIFNwZXJsaW5nLgotCi0tIElzc3VlICMxODEzOiBGaXggY29kZWMgbG9va3VwIHVuZGVyIFR1cmtpc2ggbG9jYWxlcy4KLQotLSBJc3N1ZSAjMTI1OTE6IEltcHJvdmUgc3VwcG9ydCBvZiAidW5pdmVyc2FsIG5ld2xpbmVzIiBpbiB0aGUgc3VicHJvY2VzcwotICBtb2R1bGU6IHRoZSBwaXBlZCBzdHJlYW1zIGNhbiBub3cgYmUgcHJvcGVybHkgcmVhZCBmcm9tIG9yIHdyaXR0ZW4gdG8uCi0KLS0gSXNzdWUgIzEyNTkxOiBBbGxvdyBpby5UZXh0SU9XcmFwcGVyIHRvIHdvcmsgd2l0aCByYXcgSU8gb2JqZWN0cyAod2l0aG91dAotICBhIHJlYWQxKCkgbWV0aG9kKSwgYW5kIGFkZCBhICp3cml0ZV90aHJvdWdoKiBwYXJhbWV0ZXIgdG8gbWFuZGF0ZQotICB1bmJ1ZmZlcmVkIHdyaXRlcy4KLQotLSBJc3N1ZSAjMTA4ODM6IEZpeCBzb2NrZXQgbGVha3MgaW4gdXJsbGliLnJlcXVlc3Qgd2hlbiB1c2luZyBGVFAuCi0KLS0gSXNzdWUgIzEyNTkyOiBNYWtlIFB5dGhvbiBidWlsZCBvbiBPcGVuQlNEIDUgKGFuZCBmdXR1cmUgbWFqb3IgcmVsZWFzZXMpLgotCi0tIElzc3VlICMxMjM3MjogUE9TSVggc2VtYXBob3JlcyBhcmUgYnJva2VuIG9uIEFJWDogZG9uJ3QgdXNlIHRoZW0uCi0KLS0gSXNzdWUgIzEyNTUxOiBQcm92aWRlIGEgZ2V0X2NoYW5uZWxfYmluZGluZygpIG1ldGhvZCBvbiBTU0wgc29ja2V0cyBzbyBhcwotICB0byBnZXQgY2hhbm5lbCBiaW5kaW5nIGRhdGEgZm9yIHRoZSBjdXJyZW50IFNTTCBzZXNzaW9uIChvbmx5IHRoZQotICAidGxzLXVuaXF1ZSIgY2hhbm5lbCBiaW5kaW5nIGlzIGltcGxlbWVudGVkKS4gIFRoaXMgYWxsb3dzIHRoZSBpbXBsZW1lbnRhdGlvbgotICBvZiBjZXJ0YWluIGF1dGhlbnRpY2F0aW9uIG1lY2hhbmlzbXMgc3VjaCBhcyBTQ1JBTS1TSEEtMS1QTFVTLiAgUGF0Y2ggYnkKLSAgSmFjZWsgS29uaWVjem55LgotCi0tIElzc3VlICM2NjUxOTQ6IGVtYWlsLnV0aWxzIG5vdyBoYXMgZm9ybWF0X2RhdGV0aW1lIGFuZCBwYXJzZWRhdGVfdG9fZGF0ZXRpbWUKLSAgZnVuY3Rpb25zLCBhbGxvd2luZyBmb3Igcm91bmQgdHJpcHBpbmcgb2YgUkZDMjgyMiBmb3JtYXQgZGF0ZXMuCi0KLS0gSXNzdWUgIzEyNTcxOiBBZGQgYSBwbGF0LWxpbnV4MyBkaXJlY3RvcnkgbWlycm9yaW5nIHRoZSBwbGF0LWxpbnV4MgotICBkaXJlY3RvcnksIHNvIHRoYXQgImltcG9ydCBETEZDTiIgYW5kIG90aGVyIHNpbWlsYXIgaW1wb3J0cyB3b3JrIG9uCi0gIExpbnV4IDMuMC4KLQotLSBJc3N1ZSAjNzQ4NDogc210cGxpYiBubyBsb25nZXIgcHV0cyA8PiBhcm91bmQgYWRkcmVzc2VzIGluIFZSRlkgYW5kIEVYUE4KLSAgY29tbWFuZHM7IHRoZXkgYXJlbid0IHJlcXVpcmVkIGFuZCBpbiBmYWN0IHBvc3RmaXggZG9lc24ndCBzdXBwb3J0IHRoYXQgZm9ybS4KLQotLSBJc3N1ZSAjMTIyNzM6IFJlbW92ZSBhc3QuX192ZXJzaW9uX18uIEFTVCBjaGFuZ2VzIGNhbiBiZSBhY2NvdW50ZWQgZm9yIGJ5Ci0gIGNoZWNraW5nIHN5cy52ZXJzaW9uX2luZm8gb3Igc3lzLl9tZXJjdXJpYWwuCi0KLS0gU2lsZW5jZSBzcHVyaW91cyAiYnJva2VuIHBpcGUiIHRyYWNlYmFja3Mgd2hlbiBzaHV0dGluZyBkb3duIGEKLSAgUHJvY2Vzc1Bvb2xFeGVjdXRvci4KLQotLSBGaXggcG90ZW50aWFsIHJlc291cmNlIGxlYWtzIGluIGNvbmN1cnJlbnQuZnV0dXJlcy5Qcm9jZXNzUG9vbEV4ZWN1dG9yCi0gIGJ5IGpvaW5pbmcgYWxsIHF1ZXVlcyBhbmQgcHJvY2Vzc2VzIHdoZW4gc2h1dGRvd24oKSBpcyBjYWxsZWQuCi0KLS0gSXNzdWUgIzExNjAzOiBGaXggYSBjcmFzaCB3aGVuIF9fc3RyX18gaXMgcmVib3VuZCBhcyBfX3JlcHJfXy4gIFBhdGNoIGJ5Ci0gIEFuZHJlYXMgU3TDvGhyay4KLQotLSBJc3N1ZSAjMTEzMjE6IEZpeCBhIGNyYXNoIHdpdGggbXVsdGlwbGUgaW1wb3J0cyBvZiB0aGUgX3BpY2tsZSBtb2R1bGUgd2hlbgotICBlbWJlZGRpbmcgUHl0aG9uLiAgUGF0Y2ggYnkgQW5kcmVhcyBTdMO8aHJrLgotCi0tIElzc3VlICM2NzU1OiBBZGQgZ2V0X3djaCgpIG1ldGhvZCB0byBjdXJzZXMud2luZG93IGNsYXNzLiBQYXRjaCBieSBJw7FpZ28KLSAgU2VybmEuCi0KLS0gQWRkIGNnaS5jbG9zZWxvZygpIGZ1bmN0aW9uIHRvIGNsb3NlIHRoZSBsb2cgZmlsZS4KLQotLSBJc3N1ZSAjMTI1MDI6IGFzeW5jb3JlOiBmaXggcG9sbGluZyBsb29wIHdpdGggQUZfVU5JWCBzb2NrZXRzLgotCi0tIElzc3VlICM0Mzc2OiBjdHlwZXMgbm93IHN1cHBvcnRzIG5lc3RlZCBzdHJ1Y3R1cmVzIGluIGEgZW5kaWFuIGRpZmZlcmVudCB0aGFuCi0gIHRoZSBwYXJlbnQgc3RydWN0dXJlLiBQYXRjaCBieSBWbGFkIFJpc2N1dGlhLgotCi0tIFJhaXNlIFZhbHVlRXJyb3Igd2hlbiBhdHRlbXB0aW5nIHRvIHNldCB0aGUgX0NIVU5LX1NJWkUgYXR0cmlidXRlIG9mIGEKLSAgVGV4dElPV3JhcHBlciB0byBhIGh1Z2UgdmFsdWUsIG5vdCBUeXBlRXJyb3IuCi0KLS0gSXNzdWUgIzEyNTA0OiBDbG9zZSBmaWxlIGhhbmRsZXMgaW4gYSB0aW1lbHkgbWFubmVyIGluIHBhY2thZ2luZy5kYXRhYmFzZS4KLSAgVGhpcyBmaXhlcyBhIGJ1ZyB3aXRoIHRoZSByZW1vdmUgKHVuaW5zdGFsbCkgZmVhdHVyZSBvbiBXaW5kb3dzLgotCi0tIElzc3VlcyAjMTIxNjkgYW5kICMxMDUxMDogRmFjdG9yIG91dCBjb2RlIHVzZWQgYnkgdmFyaW91cyBwYWNrYWdpbmcgY29tbWFuZHMKLSAgdG8gbWFrZSBIVFRQIFBPU1QgcmVxdWVzdHMsIGFuZCBtYWtlIHN1cmUgaXQgdXNlcyBDUkxGLgotCi0tIElzc3VlICMxMjAxNjogTXVsdGlieXRlIENKSyBkZWNvZGVycyBub3cgcmVzeW5jaHJvbml6ZSBmYXN0ZXIuIFRoZXkgb25seQotICBpZ25vcmUgdGhlIGZpcnN0IGJ5dGUgb2YgYW4gaW52YWxpZCBieXRlIHNlcXVlbmNlLiBGb3IgZXhhbXBsZSwKLSAgYidceGZmXG4nLmRlY29kZSgnZ2IyMzEyJywgJ3JlcGxhY2UnKSBnaXZlcyAnXHVmZmZkXG4nIGluc3RlYWQgb2YgJ1x1ZmZmZCcuCi0KLS0gSXNzdWUgIzEyNDU5OiB0aW1lLnNsZWVwKCkgbm93IHJhaXNlcyBhIFZhbHVlRXJyb3IgaWYgdGhlIHNsZWVwIGxlbmd0aCBpcwotICBuZWdhdGl2ZSwgaW5zdGVhZCBvZiBhbiBpbmZpbml0ZSBzbGVlcCBvbiBXaW5kb3dzIG9yIHJhaXNpbmcgYW4gSU9FcnJvciBvbgotICBMaW51eCBmb3IgZXhhbXBsZSwgdG8gaGF2ZSB0aGUgc2FtZSBiZWhhdmlvdXIgb24gYWxsIHBsYXRmb3Jtcy4KLQotLSBJc3N1ZSAjMTI0NTE6IHB5ZG9jOiBodG1sX2dldGZpbGUoKSBub3cgdXNlcyB0b2tlbml6ZS5vcGVuKCkgdG8gc3VwcG9ydAotICBQeXRob24gc2NyaXB0cyB1c2luZyBhIGVuY29kaW5nIGRpZmZlcmVudCB0aGFuIFVURi04IChyZWFkIHRoZSBjb2RpbmcgY29va2llCi0gIG9mIHRoZSBzY3JpcHQpLgotCi0tIElzc3VlICMxMjQ5Mzogc3VicHJvY2VzczogUG9wZW4uY29tbXVuaWNhdGUoKSBub3cgYWxzbyBoYW5kbGVzIEVJTlRSIGVycm9ycwotICBpZiB0aGUgcHJvY2VzcyBoYXMgb25seSBvbmUgcGlwZS4KLQotLSBJc3N1ZSAjMTI0Njc6IHdhcm5pbmdzOiBmaXggYSByYWNlIGNvbmRpdGlvbiBpZiBhIHdhcm5pbmcgaXMgZW1pdHRlZCBhdAotICBzaHV0ZG93biwgaWYgZ2xvYmFscygpWydfX2ZpbGVfXyddIGlzIE5vbmUuCi0KLS0gSXNzdWUgIzEyNDUxOiBweWRvYzogaW1wb3J0ZmlsZSgpIG5vdyBvcGVucyB0aGUgUHl0aG9uIHNjcmlwdCBpbiBiaW5hcnkgbW9kZSwKLSAgaW5zdGVhZCBvZiB0ZXh0IG1vZGUgdXNpbmcgdGhlIGxvY2FsZSBlbmNvZGluZywgdG8gYXZvaWQgZW5jb2RpbmcgaXNzdWVzLgotCi0tIElzc3VlICMxMjQ1MTogcnVucHk6IHJ1bl9wYXRoKCkgbm93IG9wZW5zIHRoZSBQeXRob24gc2NyaXB0IGluIGJpbmFyeSBtb2RlLAotICBpbnN0ZWFkIG9mIHRleHQgbW9kZSB1c2luZyB0aGUgbG9jYWxlIGVuY29kaW5nLCB0byBzdXBwb3J0IG90aGVyIGVuY29kaW5ncwotICB0aGFuIFVURi04IChzY3JpcHRzIHVzaW5nIHRoZSBjb2RpbmcgY29va2llKS4KLQotLSBJc3N1ZSAjMTI0NTE6IHhtbC5kb20ucHVsbGRvbTogcGFyc2UoKSBub3cgb3BlbnMgZmlsZXMgaW4gYmluYXJ5IG1vZGUgaW5zdGVhZAotICBvZiB0aGUgdGV4dCBtb2RlICh1c2luZyB0aGUgbG9jYWxlIGVuY29kaW5nKSB0byBhdm9pZCBlbmNvZGluZyBpc3N1ZXMuCi0KLS0gSXNzdWUgIzEyMTQ3OiBBZGp1c3QgdGhlIG5ldy1pbi0zLjIgc210cGxpYi5zZW5kX21lc3NhZ2UgbWV0aG9kIGZvciBiZXR0ZXIKLSAgY29uZm9ybWFuY2UgdG8gdGhlIFJGQ3M6ICBjb3JyZWN0bHkgaGFuZGxlIFNlbmRlciBhbmQgUmVzZW50LSBoZWFkZXJzLgotCi0tIElzc3VlICMxMjM1MjogRml4IGEgZGVhZGxvY2sgaW4gbXVsdGlwcm9jZXNzaW5nLkhlYXAgd2hlbiBhIGJsb2NrIGlzIGZyZWVkIGJ5Ci0gIHRoZSBnYXJiYWdlIGNvbGxlY3RvciB3aGlsZSB0aGUgSGVhcCBsb2NrIGlzIGhlbGQuCi0KLS0gSXNzdWUgIzEyNDYyOiB0aW1lLnNsZWVwKCkgbm93IGltbWVkaWF0ZWx5IGNhbGxzIHRoZSAoUHl0aG9uKSBzaWduYWwgaGFuZGxlcgotICBpZiBpdCBpcyBpbnRlcnJ1cHRlZCBieSBhIHNpZ25hbCwgaW5zdGVhZCBvZiBoYXZpbmcgdG8gd2FpdCB1bnRpbCB0aGUgbmV4dAotICBpbnN0cnVjdGlvbi4KLQotLSBJc3N1ZSAjMTI0NDI6IG5ldyBzaHV0aWwuZGlza191c2FnZSBmdW5jdGlvbiwgcHJvdmlkaW5nIHRvdGFsLCB1c2VkIGFuZCBmcmVlCi0gIGRpc2sgc3BhY2Ugc3RhdGlzdGljcy4KLQotLSBJc3N1ZSAjMTI0NTE6IFRoZSBYSW5jbHVkZSBkZWZhdWx0IGxvYWRlciBvZiB4bWwuZXRyZWUgbm93IGRlY29kZXMgZmlsZXMgZnJvbQotICBVVEYtOCBpbnN0ZWFkIG9mIHRoZSBsb2NhbGUgZW5jb2RpbmcgaWYgdGhlIGVuY29kaW5nIGlzIG5vdCBzcGVjaWZpZWQuIEl0IG5vdwotICBhbHNvIG9wZW5zIFhNTCBmaWxlcyBmb3IgdGhlIHBhcnNlciBpbiBiaW5hcnkgbW9kZSBpbnN0ZWFkIG9mIHRoZSB0ZXh0IG1vZGUKLSAgdG8gYXZvaWQgZW5jb2RpbmcgaXNzdWVzLgotCi0tIElzc3VlICMxMjQ1MTogZG9jdGVzdC5kZWJ1Z19zY3JpcHQoKSBkb2Vzbid0IGNyZWF0ZSBhIHRlbXBvcmFyeSBmaWxlCi0gIGFueW1vcmUgdG8gYXZvaWQgZW5jb2RpbmcgaXNzdWVzLgotCi0tIElzc3VlICMxMjQ1MTogcHlkb2Muc3lub3BzaXMoKSBub3cgcmVhZHMgdGhlIGVuY29kaW5nIGNvb2tpZSBpZiBhdmFpbGFibGUsCi0gIHRvIHJlYWQgdGhlIFB5dGhvbiBzY3JpcHQgZnJvbSB0aGUgcmlnaHQgZW5jb2RpbmcuCi0KLS0gSXNzdWUgIzEyNDUxOiBkaXN0dXRpbHMgbm93IG9wZW5zIHRoZSBzZXR1cCBzY3JpcHQgaW4gYmluYXJ5IG1vZGUgdG8gcmVhZCB0aGUKLSAgZW5jb2RpbmcgY29va2llLCBpbnN0ZWFkIG9mIG9wZW5pbmcgaXQgaW4gVVRGLTguCi0KLS0gSXNzdWUgIzk1MTY6IE9uIE1hYyBPUyBYLCBjaGFuZ2UgRGlzdHV0aWxzIHRvIG5vIGxvbmdlciBnbG9iYWxseSBhdHRlbXB0IHRvCi0gIGNoZWNrIG9yIHNldCB0aGUgTUFDT1NYX0RFUExPWU1FTlRfVEFSR0VUIGVudmlyb25tZW50IHZhcmlhYmxlIGZvciB0aGUKLSAgaW50ZXJwcmV0ZXIgcHJvY2Vzcy4gIFRoaXMgY291bGQgY2F1c2UgZmFpbHVyZXMgaW4gbm9uLURpc3R1dGlscyBzdWJwcm9jZXNzZXMKLSAgYW5kIHdhcyB1bnJlbGlhYmxlIHNpbmNlIHRlc3RzIG9yIHVzZXIgcHJvZ3JhbXMgY291bGQgbW9kaWZ5IHRoZSBpbnRlcnByZXRlcgotICBlbnZpcm9ubWVudCBhZnRlciBEaXN0dXRpbHMgc2V0IGl0LiAgSW5zdGVhZCwgaGF2ZSBEaXN0dXRpbHMgc2V0IHRoZQotICBkZXBsb3ltZW50IHRhcmdldCBvbmx5IGluIHRoZSBlbnZpcm9ubWVudCBvZiBlYWNoIGJ1aWxkIHN1YnByb2Nlc3MuICBJdCBpcwotICBzdGlsbCBwb3NzaWJsZSB0byBnbG9iYWxseSBvdmVycmlkZSB0aGUgZGVmYXVsdCBieSBzZXR0aW5nCi0gIE1BQ09TWF9ERVBMT1lNRU5UX1RBUkdFVCBiZWZvcmUgbGF1bmNoaW5nIHRoZSBpbnRlcnByZXRlcjsgaXRzIHZhbHVlIG11c3QgYmUKLSAgZ3JlYXRlciBvciBlcXVhbCB0byB0aGUgZGVmYXVsdCB2YWx1ZSwgdGhlIHZhbHVlIHdpdGggd2hpY2ggdGhlIGludGVycHJldGVyCi0gIHdhcyBidWlsdC4gIEFsc28sIGltcGxlbWVudCB0aGUgc2FtZSBoYW5kbGluZyBpbiBwYWNrYWdpbmcuCi0KLS0gSXNzdWUgIzEyNDIyOiBJbiB0aGUgY29weSBtb2R1bGUsIGRvbid0IHN0b3JlIG9iamVjdHMgdGhhdCBhcmUgdGhlaXIgb3duIGNvcHkKLSAgaW4gdGhlIG1lbW8gZGljdC4KLQotLSBJc3N1ZSAjMTIzMDM6IEFkZCBzaWd3YWl0aW5mbygpIGFuZCBzaWd0aW1lZHdhaXQoKSB0byB0aGUgc2lnbmFsIG1vZHVsZS4KLQotLSBJc3N1ZSAjMTI0MDQ6IFJlbW92ZSBDODkgaW5jb21wYXRpYmxlIGNvZGUgZnJvbSBtbWFwIG1vZHVsZS4gUGF0Y2ggYnkgQWtpcmEKLSAgS2l0YWRhLgotCi0tIElzc3VlICMxODc0OiBlbWFpbCBub3cgZGV0ZWN0cyBhbmQgcmVwb3J0cyBhcyBhIGRlZmVjdCB0aGUgcHJlc2VuY2Ugb2YKLSAgYW55IENURSBvdGhlciB0aGFuIDdiaXQsIDhiaXQsIG9yIGJpbmFyeSBvbiBhIG11bHRpcGFydC4KLQotLSBJc3N1ZSAjMTIzODM6IEZpeCBzdWJwcm9jZXNzIG1vZHVsZSB3aXRoIGVudj17fTogZG9uJ3QgY29weSB0aGUgZW52aXJvbm1lbnQKLSAgdmFyaWFibGVzLCBzdGFydCB3aXRoIGFuIGVtcHR5IGVudmlyb25tZW50LgotCi0tIElzc3VlICMxMTYzNzogRml4IHN1cHBvcnQgZm9yIGltcG9ydGluZyBwYWNrYWdpbmcgc2V0dXAgaG9va3MgZnJvbSB0aGUKLSAgcHJvamVjdCBkaXJlY3RvcnkuCi0KLS0gSXNzdWUgIzY3NzE6IE1vdmVkIHRoZSBjdXJzZXMud3JhcHBlciBmdW5jdGlvbiBmcm9tIHRoZSBzaW5nbGUtZnVuY3Rpb24KLSAgd3JhcHBlciBtb2R1bGUgaW50byBfX2luaXRfXywgZWxpbWluYXRpbmcgdGhlIG1vZHVsZS4gIFNpbmNlIF9faW5pdF9fIHdhcwotICBhbHJlYWR5IGltcG9ydGluZyB0aGUgZnVuY3Rpb24gdG8gY3Vyc2VzLndyYXBwZXIsIHRoZXJlIGlzIG5vIEFQSSBjaGFuZ2UuCi0KLS0gSXNzdWUgIzExNTg0OiBlbWFpbC5oZWFkZXIuZGVjb2RlX2hlYWRlciBubyBsb25nZXIgZmFpbHMgaWYgdGhlIGhlYWRlcgotICBwYXNzZWQgdG8gaXQgaXMgYSBIZWFkZXIgb2JqZWN0LCBhbmQgSGVhZGVyL21ha2VfaGVhZGVyIG5vIGxvbmdlciBmYWlsCi0gIGlmIGdpdmVuIGJpbmFyeSB1bmtub3duLThiaXQgaW5wdXQuCi0KLS0gSXNzdWUgIzExNzAwOiBtYWlsYm94IHByb3h5IG9iamVjdCBjbG9zZSBtZXRob2RzIGNhbiBub3cgYmUgY2FsbGVkIG11bHRpcGxlCi0gIHRpbWVzIHdpdGhvdXQgZXJyb3IuCi0KLS0gSXNzdWUgIzExNzY3OiBDb3JyZWN0IGZpbGUgZGVzY3JpcHRvciBsZWFrIGluIG1haWxib3gncyBfX2dldGl0ZW1fXyBtZXRob2QuCi0KLS0gSXNzdWUgIzEyMTMzOiBBYnN0cmFjdEhUVFBIYW5kbGVyLmRvX29wZW4oKSBvZiB1cmxsaWIucmVxdWVzdCBjbG9zZXMgdGhlIEhUVFAKLSAgY29ubmVjdGlvbiBpZiBpdHMgZ2V0cmVzcG9uc2UoKSBtZXRob2QgZmFpbHMgd2l0aCBhIHNvY2tldCBlcnJvci4gUGF0Y2gKLSAgd3JpdHRlbiBieSBFemlvIE1lbG90dGkuCi0KLS0gSXNzdWUgIzEyMjQwOiBBbGxvdyBtdWx0aXBsZSBzZXR1cCBob29rcyBpbiBwYWNrYWdpbmcncyBzZXR1cC5jZmcgZmlsZXMuCi0gIE9yaWdpbmFsIHBhdGNoIGJ5IEVyaWsgQnJheS4KLQotLSBJc3N1ZSAjOTI4NDogQWxsb3cgaW5zcGVjdC5maW5kc291cmNlKCkgdG8gZmluZCB0aGUgc291cmNlIG9mIGRvY3Rlc3QKLSAgZnVuY3Rpb25zLgotCi0tIElzc3VlICMxMTU5NTogRml4IGFzc29ydGVkIGJ1Z3MgaW4gcGFja2FnaW5nLnV0aWwuY2ZnX3RvX2FyZ3MsIGEKLSAgY29tcGF0aWJpbGl0eSBoZWxwZXIgZm9yIHRoZSBkaXN0dXRpbHMtcGFja2FnaW5nIHRyYW5zaXRpb24uICBPcmlnaW5hbCBwYXRjaAotICBieSBFcmlrIEJyYXkuCi0KLS0gSXNzdWUgIzEyMjg3OiBJbiBvc3NhdWRpb2RldiwgY2hlY2sgdGhhdCB0aGUgZGV2aWNlIGlzbid0IGNsb3NlZCBpbiBzZXZlcmFsCi0gIG1ldGhvZHMuCi0KLS0gSXNzdWUgIzEyMDA5OiBGaXhlZCByZWdyZXNzaW9uIGluIG5ldHJjIGZpbGUgY29tbWVudCBoYW5kbGluZy4KLQotLSBJc3N1ZSAjMTIyNDY6IFdhcm4gYW5kIGZhaWwgd2hlbiB0cnlpbmcgdG8gaW5zdGFsbCBhIHRoaXJkLXBhcnR5IHByb2plY3QgZnJvbQotICBhbiB1bmluc3RhbGxlZCBQeXRob24gKGJ1aWx0IGluIGEgc291cmNlIGNoZWNrb3V0KS4gIE9yaWdpbmFsIHBhdGNoIGJ5Ci0gIFRzaGVwYW5nIExla2hvbmtob2JlLgotCi0tIElzc3VlICMxMDY5NDogemlwZmlsZSBub3cgaWdub3JlcyBnYXJiYWdlIGF0IHRoZSBlbmQgb2YgYSB6aXBmaWxlLgotCi0tIElzc3VlICMxMjI4MzogRml4ZWQgcmVncmVzc2lvbiBpbiBzbXRwbGliIHF1b3Rpbmcgb2YgbGVhZGluZyBkb3RzIGluIERBVEEuCi0KLS0gSXNzdWUgIzEwNDI0OiBBcmdwYXJzZSBub3cgaW5jbHVkZXMgdGhlIG5hbWVzIG9mIHRoZSBtaXNzaW5nIHJlcXVpcmVkCi0gIGFyZ3VtZW50cyBpbiB0aGUgbWlzc2luZyBhcmd1bWVudHMgZXJyb3IgbWVzc2FnZS4KLQotLSBJc3N1ZSAjMTIxNjg6IFN5c0xvZ0hhbmRsZXIgbm93IGFsbG93cyBOVUwgdGVybWluYXRpb24gdG8gYmUgY29udHJvbGxlZCB1c2luZwotICBhIG5ldyAnYXBwZW5kX251bCcgYXR0cmlidXRlIG9uIHRoZSBoYW5kbGVyLgotCi0tIElzc3VlICMxMTU4MzogU3BlZWQgdXAgb3MucGF0aC5pc2RpciBvbiBXaW5kb3dzIGJ5IHVzaW5nIEdldEZpbGVBdHRyaWJ1dGVzCi0gIGluc3RlYWQgb2Ygb3Muc3RhdC4KLQotLSBJc3N1ZSAjMTIwMjE6IE1ha2UgbW1hcCdzIHJlYWQoKSBtZXRob2QgYXJndW1lbnQgb3B0aW9uYWwuIFBhdGNoIGJ5IFBldHJpCi0gIExlaHRpbmVuLgotCi0tIElzc3VlICM5MjA1OiBjb25jdXJyZW50LmZ1dHVyZXMuUHJvY2Vzc1Bvb2xFeGVjdXRvciBub3cgZGV0ZWN0cyBraWxsZWQKLSAgY2hpbGRyZW4gYW5kIHJhaXNlcyBCcm9rZW5Qcm9jZXNzUG9vbCBpbiBzdWNoIGEgc2l0dWF0aW9uLiAgUHJldmlvdXNseSBpdAotICB3b3VsZCByZWxpYWJseSBmcmVlemUvZGVhZGxvY2suCi0KLS0gSXNzdWUgIzEyMDQwOiBFeHBvc2UgYSBuZXcgYXR0cmlidXRlIGBgc2VudGluZWxgYCBvbiBpbnN0YW5jZXMgb2YKLSAgYGBtdWx0aXByb2Nlc3NpbmcuUHJvY2Vzc2BgLiAgQWxzbywgZml4IFByb2Nlc3Muam9pbigpIHRvIG5vdCB1c2UgcG9sbGluZwotICBhbnltb3JlLCB3aGVuIGdpdmVuIGEgdGltZW91dC4KLQotLSBJc3N1ZSAjMTE4OTM6IFJlbW92ZSBvYnNvbGV0ZSBpbnRlcm5hbCB3cmFwcGVyIGNsYXNzIGBgU1NMRmFrZUZpbGVgYCBpbiB0aGUKLSAgc210cGxpYiBtb2R1bGUuICBQYXRjaCBieSBDYXRhbGluIElhY29iLgotCi0tIElzc3VlICMxMjA4MDogRml4IGEgRGVjaW1hbC5wb3dlcigpIGNhc2UgdGhhdCB0b29rIGFuIHVucmVhc29uYWJseSBsb25nIHRpbWUKLSAgdG8gY29tcHV0ZS4KLQotLSBJc3N1ZSAjMTIyMjE6IFJlbW92ZSBfX3ZlcnNpb25fXyBhdHRyaWJ1dGVzIGZyb20gcHlleHBhdCwgcGlja2xlLCB0YXJmaWxlLAotICBweWRvYywgdGtpbnRlciwgYW5kIHhtbC5wYXJzZXJzLmV4cGF0LiBUaGlzIHdlcmUgdXNlbGVzcyB2ZXJzaW9uIGNvbnN0YW50cwotICBsZWZ0IG92ZXIgZnJvbSB0aGUgTWVyY3VyaWFsIHRyYW5zaXRpb24KLQotLSBOYW1lZCB0dXBsZXMgbm93IHdvcmsgY29ycmVjdGx5IHdpdGggdmFycygpLgotCi0tIElzc3VlICMxMjA4NTogRml4IGFuIGF0dHJpYnV0ZSBlcnJvciBpbiBzdWJwcm9jZXNzLlBvcGVuIGRlc3RydWN0b3IgaWYgdGhlCi0gIGNvbnN0cnVjdG9yIGhhcyBmYWlsZWQsIGUuZy4gYmVjYXVzZSBvZiBhbiB1bmRlY2xhcmVkIGtleXdvcmQgYXJndW1lbnQuIFBhdGNoCi0gIHdyaXR0ZW4gYnkgT2xlZyBPc2hteWFuLgotCi0tIElzc3VlICMxMjAyODogTWFrZSB0aHJlYWRpbmcuX2dldF9pZGVudCgpIHB1YmxpYywgcmVuYW1lIGl0IHRvCi0gIHRocmVhZGluZy5nZXRfaWRlbnQoKSBhbmQgZG9jdW1lbnQgaXQuIFRoaXMgZnVuY3Rpb24gd2FzIGFscmVhZHkgdXNlZCB1c2luZwotICBfdGhyZWFkLmdldF9pZGVudCgpLgotCi0tIElzc3VlICMxMjE3MTogSW5jcmVtZW50YWxFbmNvZGVyLnJlc2V0KCkgb2YgQ0pLIGNvZGVjcyAobXVsdGlieXRlY29kZWMpIGNhbGxzCi0gIGVuY3Jlc2V0KCkgaW5zdGVhZCBvZiBkZWNyZXNldCgpLgotCi0tIElzc3VlICMxMjIxODogUmVtb3ZlZCB3c2dpcmVmLmVnZy1pbmZvLgotCi0tIElzc3VlICMxMjE5NjogQWRkIHBpcGUyKCkgdG8gdGhlIG9zIG1vZHVsZS4KLQotLSBJc3N1ZSAjOTg1MDY0OiBNYWtlIHBsaXN0bGliIG1vcmUgcmVzaWxpZW50IHRvIGZhdWx0eSBpbnB1dCBwbGlzdHMuCi0gIFBhdGNoIGJ5IE1oZXIgTW92c2lzeWFuLgotCi0tIElzc3VlICMxNjI1OiBCWjJGaWxlIGFuZCBiejIuZGVjb21wcmVzcygpIG5vdyBzdXBwb3J0IG11bHRpLXN0cmVhbSBmaWxlcy4KLSAgSW5pdGlhbCBwYXRjaCBieSBOaXIgQWlkZXMuCi0KLS0gSXNzdWUgIzEyMTc1OiBCdWZmZXJlZFJlYWRlci5yZWFkKC0xKSBub3cgY2FsbHMgcmF3LnJlYWRhbGwoKSBpZiBhdmFpbGFibGUuCi0KLS0gSXNzdWUgIzEyMTc1OiBGaWxlSU8ucmVhZGFsbCgpIG5vdyBvbmx5IHJlYWRzIHRoZSBmaWxlIHBvc2l0aW9uIGFuZCBzaXplCi0gIG9uY2UuCi0KLS0gSXNzdWUgIzEyMTc1OiBSYXdJT0Jhc2UucmVhZGFsbCgpIG5vdyByZXR1cm5zIE5vbmUgaWYgcmVhZCgpIHJldHVybnMgTm9uZS4KLQotLSBJc3N1ZSAjMTIxNzU6IEZpbGVJTy5yZWFkYWxsKCkgbm93IHJhaXNlcyBhIFZhbHVlRXJyb3IgaW5zdGVhZCBvZiBhbiBJT0Vycm9yCi0gIGlmIHRoZSBmaWxlIGlzIGNsb3NlZC4KLQotLSBJc3N1ZSAjMTExMDk6IE5ldyBzZXJ2aWNlX2FjdGlvbiBtZXRob2QgZm9yIEJhc2VTZXJ2ZXIsIHVzZWQgYnkgRm9ya2luZ01peGluCi0gIGNsYXNzIGZvciBjbGVhbnVwLiBJbml0aWFsIFBhdGNoIGJ5IEp1c3RpbiBXYXJrZW50aW4uCi0KLS0gSXNzdWUgIzEyMDQ1OiBBdm9pZCBkdXBsaWNhdGUgZXhlY3V0aW9uIG9mIGNvbW1hbmQgaW4KLSAgY3R5cGVzLnV0aWwuX2dldF9zb25hbWUoKS4gIFBhdGNoIGJ5IFNpamluIEpvc2VwaC4KLQotLSBJc3N1ZSAjMTA4MTg6IFJlbW92ZSB0aGUgVGsgR1VJIGFuZCB0aGUgc2VydmUoKSBmdW5jdGlvbiBvZiB0aGUgcHlkb2MgbW9kdWxlLAotICBweWRvYyAtZyBoYXMgYmVlbiBkZXByZWNhdGVkIGluIFB5dGhvbiAzLjIgYW5kIGl0IGhhcyBhIG5ldyBlbmhhbmNlZCB3ZWIKLSAgc2VydmVyLgotCi0tIElzc3VlICMxNDQxNTMwOiBJbiBpbWFwbGliLCByZWFkIHRoZSBkYXRhIGluIG9uZSBjaHVuayB0byBzcGVlZCB1cCBsYXJnZQotICByZWFkcyBhbmQgc2ltcGxpZnkgY29kZS4KLQotLSBJc3N1ZSAjMTIwNzA6IEZpeCB0aGUgTWFrZWZpbGUgcGFyc2VyIG9mIHRoZSBzeXNjb25maWcgbW9kdWxlIHRvIGhhbmRsZQotICBjb3JyZWN0bHkgcmVmZXJlbmNlcyB0byAiYm9ndXMgdmFyaWFibGUiIChlLmcuICJwcmVmaXg9JC9vcHQvcHl0aG9uIikuCi0KLS0gSXNzdWUgIzEyMTAwOiBEb24ndCByZXNldCBpbmNyZW1lbnRhbCBlbmNvZGVycyBvZiBDSksgY29kZWNzIGF0IGVhY2ggY2FsbCB0bwotICB0aGVpciBlbmNvZGUoKSBtZXRob2QgYW55bW9yZSwgYnV0IGNvbnRpbnVlIHRvIGNhbGwgdGhlIHJlc2V0KCkgbWV0aG9kIGlmIHRoZQotICBmaW5hbCBhcmd1bWVudCBpcyBUcnVlLgotCi0tIElzc3VlICMxMjA0OTogQWRkIFJBTkRfYnl0ZXMoKSBhbmQgUkFORF9wc2V1ZG9fYnl0ZXMoKSBmdW5jdGlvbnMgdG8gdGhlIHNzbAotICBtb2R1bGUuCi0KLS0gSXNzdWUgIzY1MDE6IG9zLmRldmljZV9lbmNvZGluZygpIHJldHVybnMgTm9uZSBvbiBXaW5kb3dzIGlmIHRoZSBhcHBsaWNhdGlvbgotICBoYXMgbm8gY29uc29sZS4KLQotLSBJc3N1ZSAjMTIxMDU6IEFkZCBPX0NMT0VYRUMgdG8gdGhlIG9zIG1vZHVsZS4KLQotLSBJc3N1ZSAjMTIwNzk6IERlY2ltYWwoJ0luZmluaXR5JykuZm1hKERlY2ltYWwoJzAnKSwgKDMuOTEyMjQzMTgxMjY3ODZlKzE5KzBqKSkKLSAgbm93IHJhaXNlcyBUeXBlRXJyb3IgKHJlZmxlY3RpbmcgdGhlIGludmFsaWQgdHlwZSBvZiB0aGUgM3JkIGFyZ3VtZW50KSByYXRoZXIKLSAgdGhhbiBEZWNpbWFsLkludmFsaWRPcGVyYXRpb24uCi0KLS0gSXNzdWUgIzEyMTI0OiB6aXBpbXBvcnQgZG9lc24ndCBrZWVwIGEgcmVmZXJlbmNlIHRvIHpsaWIuZGVjb21wcmVzcygpIGFueW1vcmUKLSAgdG8gYmUgYWJsZSB0byB1bmxvYWQgdGhlIG1vZHVsZS4KLQotLSBBZGQgdGhlIHBhY2thZ2luZyBtb2R1bGUsIGFuIGltcHJvdmVkIGZvcmsgb2YgZGlzdHV0aWxzIChhbHNvIGtub3duIGFzCi0gIGRpc3R1dGlsczIpLgotCi0tIElzc3VlICMxMjA2NTogY29ubmVjdF9leCgpIG9uIGFuIFNTTCBzb2NrZXQgbm93IHJldHVybnMgdGhlIG9yaWdpbmFsIGVycm5vCi0gIHdoZW4gdGhlIHNvY2tldCdzIHRpbWVvdXQgZXhwaXJlcyAoaXQgdXNlZCB0byByZXR1cm4gTm9uZSkuCi0KLS0gSXNzdWUgIzg4MDk6IFRoZSBTTVRQX1NTTCBjb25zdHJ1Y3RvciBhbmQgU01UUC5zdGFydHRscygpIG5vdyBzdXBwb3J0Ci0gIHBhc3NpbmcgYSBgYGNvbnRleHRgYCBhcmd1bWVudCBwb2ludGluZyB0byBhbiBzc2wuU1NMQ29udGV4dCBpbnN0YW5jZS4KLSAgUGF0Y2ggYnkgS2FzdW4gSGVyYXRoLgotCi0tIElzc3VlICM5NTE2OiBJc3N1ZSAjOTUxNjogYXZvaWQgZXJyb3JzIGluIHN5c2NvbmZpZyB3aGVuIE1BQ09TWF9ERVBMT1lNRU5UX1RBUkdFVAotICBpcyBzZXQgaW4gc2hlbGwuCi0KLS0gSXNzdWUgIzg2NTA6IE1ha2UgemxpYiBtb2R1bGUgNjQtYml0IGNsZWFuLiBjb21wcmVzcygpLCBkZWNvbXByZXNzKCkgYW5kCi0gIHRoZWlyIGluY3JlbWVudGFsIGNvdW50ZXJwYXJ0cyBub3cgcmFpc2UgT3ZlcmZsb3dFcnJvciBpZiBnaXZlbiBhbiBpbnB1dAotICBsYXJnZXIgdGhhbiA0R0IsIGluc3RlYWQgb2Ygc2lsZW50bHkgdHJ1bmNhdGluZyB0aGUgaW5wdXQgYW5kIHJldHVybmluZwotICBhbiBpbmNvcnJlY3QgcmVzdWx0LgotCi0tIElzc3VlICMxMjA1MDogemxpYi5kZWNvbXByZXNzb2JqKCkuZGVjb21wcmVzcygpIG5vdyBjbGVhcnMgdGhlIHVuY29uc3VtZWRfdGFpbAotICBhdHRyaWJ1dGUgd2hlbiBjYWxsZWQgd2l0aG91dCBhIG1heF9sZW5ndGggYXJndW1lbnQuCi0KLS0gSXNzdWUgIzEyMDYyOiBGaXggYSBmbHVzaGluZyBidWcgd2hlbiBkb2luZyBhIGNlcnRhaW4gdHlwZSBvZiBJL08gc2VxdWVuY2UKLSAgb24gYSBmaWxlIG9wZW5lZCBpbiByZWFkK3dyaXRlIG1vZGUgKG5hbWVseTogcmVhZGluZywgc2Vla2luZyBhIGJpdCBmb3J3YXJkLAotICB3cml0aW5nLCB0aGVuIHNlZWtpbmcgYmVmb3JlIHRoZSBwcmV2aW91cyB3cml0ZSBidXQgc3RpbGwgd2l0aGluIGJ1ZmZlcmVkCi0gIGRhdGEsIGFuZCB3cml0aW5nIGFnYWluKS4KLQotLSBJc3N1ZSAjOTk3MTogV3JpdGUgYW4gb3B0aW1pemVkIGltcGxlbWVudGF0aW9uIG9mIEJ1ZmZlcmVkUmVhZGVyLnJlYWRpbnRvKCkuCi0gIFBhdGNoIGJ5IEpvaG4gTydDb25ub3IuCi0KLS0gSXNzdWUgIzExNzk5OiB1cmxsaWIucmVxdWVzdCBBdXRoZW50aWNhdGlvbiBIYW5kbGVycyB3aWxsIHJhaXNlIGEgVmFsdWVFcnJvcgotICB3aGVuIHByZXNlbnRlZCB3aXRoIGFuIHVuc3VwcG9ydGVkIEF1dGhlbnRpY2F0aW9uIFNjaGVtZS4gUGF0Y2ggY29udHJpYnV0ZWQKLSAgYnkgWXV2YWwgR3JlZW5maWVsZC4KLQotLSBJc3N1ZSAjMTA0MTksICM2MDExOiBidWlsZF9zY3JpcHRzIGNvbW1hbmQgb2YgZGlzdHV0aWxzIGhhbmRsZXMgY29ycmVjdGx5Ci0gIG5vbi1BU0NJSSBwYXRoIChwYXRoIHRvIHRoZSBQeXRob24gZXhlY3V0YWJsZSkuIE9wZW4gYW5kIHdyaXRlIHRoZSBzY3JpcHQgaW4KLSAgYmluYXJ5IG1vZGUsIGJ1dCBlbnN1cmUgdGhhdCB0aGUgc2hlYmFuZyBpcyBkZWNvZGFibGUgZnJvbSBVVEYtOCBhbmQgZnJvbSB0aGUKLSAgZW5jb2Rpbmcgb2YgdGhlIHNjcmlwdC4KLQotLSBJc3N1ZSAjODQ5ODogSW4gc29ja2V0LmFjY2VwdCgpLCBhbGxvdyB0byBzcGVjaWZ5IDAgYXMgYSBiYWNrbG9nIHZhbHVlIGluCi0gIG9yZGVyIHRvIGFjY2VwdCBleGFjdGx5IG9uZSBjb25uZWN0aW9uLiAgUGF0Y2ggYnkgRGFuaWVsIEV2ZXJzLgotCi0tIElzc3VlICMxMjAxMTogc2lnbmFsLnNpZ25hbCgpIGFuZCBzaWduYWwuc2lnaW50ZXJydXB0KCkgcmFpc2UgYW4gT1NFcnJvciwKLSAgaW5zdGVhZCBvZiBhIFJ1bnRpbWVFcnJvcjogT1NFcnJvciBoYXMgYW4gZXJybm8gYXR0cmlidXRlLgotCi0tIElzc3VlICMzNzA5OiBhZGQgYSBmbHVzaF9oZWFkZXJzIG1ldGhvZCB0byBCYXNlSFRUUFJlcXVlc3RIYW5kbGVyLCB3aGljaAotICBtYW5hZ2VzIHRoZSBzZW5kaW5nIG9mIGhlYWRlcnMgdG8gb3V0cHV0IHN0cmVhbSBhbmQgZmx1c2hpbmcgdGhlIGludGVybmFsCi0gIGhlYWRlcnMgYnVmZmVyLiBQYXRjaCBjb250cmlidXRpb24gYnkgQW5kcmV3IFNjaGFhZgotCi0tIElzc3VlICMxMTc0MzogUmV3cml0ZSBtdWx0aXByb2Nlc3NpbmcgY29ubmVjdGlvbiBjbGFzc2VzIGluIHB1cmUgUHl0aG9uLgotCi0tIElzc3VlICMxMTE2NDogU3RvcCB0cnlpbmcgdG8gdXNlIF94bWxwbHVzIGluIHRoZSB4bWwgbW9kdWxlLgotCi0tIElzc3VlICMxMTg4ODogQWRkIGxvZzIgZnVuY3Rpb24gdG8gbWF0aCBtb2R1bGUuIFBhdGNoIHdyaXR0ZW4gYnkgTWFyawotICBEaWNraW5zb24uCi0KLS0gSXNzdWUgIzEyMDEyOiBzc2wuUFJPVE9DT0xfU1NMdjIgYmVjb21lcyBvcHRpb25hbC4KLQotLSBJc3N1ZSAjODQwNzogVGhlIHNpZ25hbCBoYW5kbGVyIHdyaXRlcyB0aGUgc2lnbmFsIG51bWJlciBhcyBhIHNpbmdsZSBieXRlCi0gIGluc3RlYWQgb2YgYSBudWwgYnl0ZSBpbnRvIHRoZSB3YWtldXAgZmlsZSBkZXNjcmlwdG9yLiBTbyBpdCBpcyBwb3NzaWJsZSB0bwotICB3YWl0IG1vcmUgdGhhbiBvbmUgc2lnbmFsIGFuZCBrbm93IHdoaWNoIHNpZ25hbHMgd2VyZSByYWlzZWQuCi0KLS0gSXNzdWUgIzg0MDc6IEFkZCBwdGhyZWFkX2tpbGwoKSwgc2lncGVuZGluZygpIGFuZCBzaWd3YWl0KCkgZnVuY3Rpb25zIHRvIHRoZQotICBzaWduYWwgbW9kdWxlLgotCi0tIElzc3VlICMxMTkyNzogU01UUF9TU0wgbm93IHVzZXMgcG9ydCA0NjUgYnkgZGVmYXVsdCBhcyBkb2N1bWVudGVkLiAgUGF0Y2gKLSAgYnkgS2FzdW4gSGVyYXRoLgotCi0tIElzc3VlICMxMjAwMjogZnRwbGliJ3MgYWJvcnQoKSBtZXRob2QgcmFpc2VzIFR5cGVFcnJvci4KLQotLSBJc3N1ZSAjMTE5MTY6IEFkZCBhIG51bWJlciBvZiBNYWNPU1ggc3BlY2lmaWMgZGVmaW5pdGlvbnMgdG8gdGhlIGVycm5vIG1vZHVsZS4KLSAgUGF0Y2ggYnkgUGllcnJlIENhcnJpZXIuCi0KLS0gSXNzdWUgIzExOTk5OiBmaXhlZCBzcG9yYWRpYyBzeW5jIGZhaWx1cmUgbWFpbGJveC5NYWlsZGlyIGR1ZSB0byBpdHMgdHJ5aW5nIHRvCi0gIGRldGVjdCBtdGltZSBjaGFuZ2VzIGJ5IGNvbXBhcmluZyB0byB0aGUgc3lzdGVtIGNsb2NrIGluc3RlYWQgb2YgdG8gdGhlCi0gIHByZXZpb3VzIHZhbHVlIG9mIHRoZSBtdGltZS4KLQotLSBJc3N1ZSAjMTEwNzI6IGFkZGVkIE1MU0QgY29tbWFuZCAoUkZDLTM2NTkpIHN1cHBvcnQgdG8gZnRwbGliLgotCi0tIElzc3VlICM4ODA4OiBUaGUgSU1BUDRfU1NMIGNvbnN0cnVjdG9yIG5vdyBhbGxvd3MgcGFzc2luZyBhbiBTU0xDb250ZXh0Ci0gIHBhcmFtZXRlciB0byBjb250cm9sIHBhcmFtZXRlcnMgb2YgdGhlIHNlY3VyZSBjaGFubmVsLiAgUGF0Y2ggYnkgU2lqaW4KLSAgSm9zZXBoLgotCi0tIG50cGF0aC5zYW1lZmlsZSBmYWlsZWQgdG8gbm90aWNlIHRoYXQgImEudHh0IiBhbmQgIkEuVFhUIiByZWZlciB0byB0aGUgc2FtZQotICBmaWxlIG9uIFdpbmRvd3MgWFAuIEFzIG5vdGljZWQgaW4gaXNzdWUgIzEwNjg0LgotCi0tIElzc3VlICMxMjAwMDogV2hlbiBhIFNTTCBjZXJ0aWZpY2F0ZSBoYXMgYSBzdWJqZWN0QWx0TmFtZSB3aXRob3V0IGFueQotICBkTlNOYW1lIGVudHJ5LCBzc2wubWF0Y2hfaG9zdG5hbWUoKSBzaG91bGQgdXNlIHRoZSBzdWJqZWN0J3MgY29tbW9uTmFtZS4KLSAgUGF0Y2ggYnkgTmljb2xhcyBCYXJlaWwuCi0KLS0gSXNzdWUgIzEwNzc1OiBhc3NlcnRSYWlzZXMsIGFzc2VydFJhaXNlc1JlZ2V4LCBhc3NlcnRXYXJucywgYW5kCi0gIGFzc2VydFdhcm5zUmVnZXggbm93IGFjY2VwdCBhIGtleXdvcmQgYXJndW1lbnQgJ21zZycgd2hlbiB1c2VkIGFzIGNvbnRleHQKLSAgbWFuYWdlcnMuICBJbml0aWFsIHBhdGNoIGJ5IFdpbnN0b24gRXdlcnQuCi0KLS0gSXNzdWUgIzEwNjg0OiBzaHV0aWwubW92ZSB1c2VkIHRvIGRlbGV0ZSBhIGZvbGRlciBvbiBjYXNlIGluc2Vuc2l0aXZlCi0gIGZpbGVzeXN0ZW1zIHdoZW4gdGhlIHNvdXJjZSBhbmQgZGVzdGluYXRpb24gbmFtZSB3aGVyZSB0aGUgc2FtZSBleGNlcHQKLSAgZm9yIHRoZSBjYXNlLgotCi0tIElzc3VlICMxMTY0Nzogb2JqZWN0cyBjcmVhdGVkIHVzaW5nIGNvbnRleHRsaWIuY29udGV4dG1hbmFnZXIgbm93IHN1cHBvcnQKLSAgbW9yZSB0aGFuIG9uZSBjYWxsIHRvIHRoZSBmdW5jdGlvbiB3aGVuIHVzZWQgYXMgYSBkZWNvcmF0b3IuIEluaXRpYWwgcGF0Y2gKLSAgYnkgWXNqIFJheS4KLQotLSBJc3N1ZSAjMTE5MzA6IFJlbW92ZWQgZGVwcmVjYXRlZCB0aW1lLmFjY2VwdDJkeWVhciB2YXJpYWJsZS4KLSAgUmVtb3ZlZCB5ZWFyID49IDEwMDAgcmVzdHJpY3Rpb24gZnJvbSBkYXRldGltZS5zdHJmdGltZS4KLQotLSBsb2dnaW5nOiBkb24ndCBkZWZpbmUgUXVldWVMaXN0ZW5lciBpZiBQeXRob24gaGFzIG5vIHRocmVhZCBzdXBwb3J0LgotCi0tIGZ1bmN0b29scy5jbXBfdG9fa2V5KCkgbm93IHdvcmtzIHdpdGggY29sbGVjdGlvbnMuSGFzaGFibGUoKS4KLQotLSBJc3N1ZSAjMTEyNzc6IG1tYXAubW1hcCgpIGNhbGxzIGZjbnRsKGZkLCBGX0ZVTExGU1lOQykgb24gTWFjIE9TIFggdG8gZ2V0Ci0gIGFyb3VuZCBhIG1tYXAgYnVnIHdpdGggc3BhcnNlIGZpbGVzLiBQYXRjaCB3cml0dGVuIGJ5IFN0ZWZmZW4gRGFvZGUgTnVycG1lc28uCi0KLS0gSXNzdWUgIzg0MDc6IEFkZCBzaWduYWwucHRocmVhZF9zaWdtYXNrKCkgZnVuY3Rpb24gdG8gZmV0Y2ggYW5kL29yIGNoYW5nZSB0aGUKLSAgc2lnbmFsIG1hc2sgb2YgdGhlIGNhbGxpbmcgdGhyZWFkLgotCi0tIElzc3VlICMxMTg1ODogY29uZmlncGFyc2VyLkV4dGVuZGVkSW50ZXJwb2xhdGlvbiBleHBlY3RlZCBsb3dlci1jYXNlIHNlY3Rpb24KLSAgbmFtZXMuCi0KLS0gSXNzdWUgIzExMzI0OiBDb25maWdQYXJzZXIoaW50ZXJwb2xhdGlvbj1Ob25lKSBub3cgd29ya3MgY29ycmVjdGx5LgotCi0tIElzc3VlICMxMTgxMTogc3NsLmdldF9zZXJ2ZXJfY2VydGlmaWNhdGUoKSBpcyBub3cgSVB2Ni1jb21wYXRpYmxlLiAgUGF0Y2gKLSAgYnkgQ2hhcmxlcy1GcmFuw6dvaXMgTmF0YWxpLgotCi0tIElzc3VlICMxMTc2MzogZG9uJ3QgdXNlIGRpZmZsaWIgaW4gVGVzdENhc2UuYXNzZXJ0TXVsdGlMaW5lRXF1YWwgaWYgdGhlCi0gIHN0cmluZ3MgYXJlIHRvbyBsb25nLgotCi0tIElzc3VlICMxMTIzNjogZ2V0cGFzcy5nZXRwYXNzIHJlc3BvbmRzIHRvIGN0cmwtYyBvciBjdHJsLXogb24gdGVybWluYWwuCi0KLS0gSXNzdWUgIzExODU2OiBTcGVlZCB1cCBwYXJzaW5nIG9mIEpTT04gbnVtYmVycy4KLQotLSBJc3N1ZSAjMTEwMDU6IHRocmVhZGluZy5STG9jaygpLl9yZWxlYXNlX3NhdmUoKSByYWlzZXMgYSBSdW50aW1lRXJyb3IgaWYgdGhlCi0gIGxvY2sgd2FzIG5vdCBhY3F1aXJlZC4KLQotLSBJc3N1ZSAjMTEyNTg6IFNwZWVkIHVwIGN0eXBlcy51dGlsLmZpbmRfbGlicmFyeSgpIHVuZGVyIExpbnV4IGJ5IGEgZmFjdG9yCi0gIG9mIDUgdG8gMTAuICBJbml0aWFsIHBhdGNoIGJ5IEpvbmFzIEguCi0KLS0gSXNzdWUgIzExMzgyOiBUcml2aWFsIHN5c3RlbSBjYWxscywgc3VjaCBhcyBkdXAoKSBvciBwaXBlKCksIG5lZWRuJ3QKLSAgcmVsZWFzZSB0aGUgR0lMLiAgUGF0Y2ggYnkgQ2hhcmxlcy1GcmFuw6dvaXMgTmF0YWxpLgotCi0tIElzc3VlICMxMTIyMzogQWRkIHRocmVhZGluZy5faW5mbygpIGZ1bmN0aW9uIHByb3ZpZGluZyBpbmZvcm1hdGlvbnMgYWJvdXQKLSAgdGhlIHRocmVhZCBpbXBsZW1lbnRhdGlvbi4KLQotLSBJc3N1ZSAjMTE3MzE6IHNpbXBsaWZ5L2VuaGFuY2UgZW1haWwgcGFyc2VyL2dlbmVyYXRvciBBUEkgYnkgaW50cm9kdWNpbmcKLSAgcG9saWN5IG9iamVjdHMuCi0KLS0gSXNzdWUgIzExNzY4OiBUaGUgc2lnbmFsIGhhbmRsZXIgb2YgdGhlIHNpZ25hbCBtb2R1bGUgb25seSBjYWxscwotICBQeV9BZGRQZW5kaW5nQ2FsbCgpIGZvciB0aGUgZmlyc3Qgc2lnbmFsIHRvIGZpeCBhIGRlYWRsb2NrIG9uIHJlZW50cmFudCBvcgotICBwYXJhbGxlbCBjYWxscy4gUHlFcnJfU2V0SW50ZXJydXB0KCkgd3JpdGVzIGFsc28gaW50byB0aGUgd2FrZSB1cCBmaWxlLgotCi0tIElzc3VlICMxMTQ5MjogZml4IHNldmVyYWwgaXNzdWVzIHdpdGggaGVhZGVyIGZvbGRpbmcgaW4gdGhlIGVtYWlsIHBhY2thZ2UuCi0KLS0gSXNzdWUgIzExODUyOiBBZGQgbWlzc2luZyBpbXBvcnRzIGFuZCB1cGRhdGUgdGVzdHMuCi0KLS0gSXNzdWUgIzExODc1OiBjb2xsZWN0aW9ucy5PcmRlcmVkRGljdCdzIF9fcmVkdWNlX18gd2FzIHRlbXBvcmFyaWx5Ci0gIG11dGF0aW5nIHRoZSBvYmplY3QgaW5zdGVhZCBvZiBqdXN0IHdvcmtpbmcgb24gYSBjb3B5LgotCi0tIElzc3VlICMxMTQ2NzogRml4IHVybHBhcnNlIGJlaGF2aW9yIHdoZW4gaGFuZGxpbmcgdXJscyB3aGljaCBjb250YWlucyBzY2hlbWUKLSAgc3BlY2lmaWMgcGFydCBvbmx5IGRpZ2l0cy4gUGF0Y2ggYnkgU2FudG9zbyBXaWpheWEuCi0KLS0gY29sbGVjdGlvbnMuQ291bnRlcigpLmNvcHkoKSBub3cgd29ya3MgY29ycmVjdGx5IGZvciBzdWJjbGFzc2VzLgotCi0tIElzc3VlICMxMTQ3NDogRml4IHRoZSBidWcgd2l0aCB1cmwycGF0aG5hbWUoKSBoYW5kbGluZyBvZiAnL0N8Lycgb24gV2luZG93cy4KLSAgUGF0Y2ggYnkgU2FudG9zbyBXaWpheWEuCi0KLS0gSXNzdWUgIzExNjg0OiBjb21wbGV0ZSBlbWFpbC5wYXJzZXIgYnl0ZXMgQVBJIGJ5IGFkZGluZyBCeXRlc0hlYWRlclBhcnNlci4KLQotLSBUaGUgYnoyIG1vZHVsZSBub3cgaGFuZGxlcyA0R2lCKyBpbnB1dCBidWZmZXJzIGNvcnJlY3RseS4KLQotLSBJc3N1ZSAjOTIzMzogRml4IGpzb24ubG9hZHMoJ3t9JykgdG8gcmV0dXJuIGEgZGljdCAoaW5zdGVhZCBvZiBhIGxpc3QpLCB3aGVuCi0gIF9qc29uIGlzIG5vdCBhdmFpbGFibGUuCi0KLS0gSXNzdWUgIzExODMwOiBSZW1vdmUgdW5uZWNlc3NhcnkgaW50cm9zcGVjdGlvbiBjb2RlIGluIHRoZSBkZWNpbWFsIG1vZHVsZS4KLQotLSBJc3N1ZSAjMTE3MDM6IHVybGxpYjIuZ2V0dXJsKCkgZG9lcyBub3QgcmV0dXJuIGNvcnJlY3QgdXJsIHdoZW4gdGhlIG9yaWdpbmFsCi0gIHVybCBjb250YWlucyAjZnJhZ21lbnQuCi0KLS0gSXNzdWUgIzEwMDE5OiBGaXhlZCByZWdyZXNzaW9uIGluIGpzb24gbW9kdWxlIHdoZXJlIGFuIGluZGVudCBvZiAwIHN0b3BwZWQKLSAgYWRkaW5nIG5ld2xpbmVzIGFuZCBhY3RlZCBpbnN0ZWFkIGxpa2UgJ05vbmUnLgotCi0tIElzc3VlICMxMTE4NjogcHlkb2MgaWdub3JlcyBhIG1vZHVsZSBpZiBpdHMgbmFtZSBjb250YWlucyBhIHN1cnJvZ2F0ZQotICBjaGFyYWN0ZXIgaW4gdGhlIGluZGV4IG9mIG1vZHVsZXMuCi0KLS0gSXNzdWUgIzExODE1OiBVc2UgYSBsaWdodC13ZWlnaHQgU2ltcGxlUXVldWUgZm9yIHRoZSByZXN1bHQgcXVldWUgaW4KLSAgY29uY3VycmVudC5mdXR1cmVzLlByb2Nlc3NQb29sRXhlY3V0b3IuCi0KLS0gSXNzdWUgIzUxNjI6IFRyZWF0IHNlcnZpY2VzIGxpa2UgZnJvemVuIGV4ZWN1dGFibGVzIHRvIGFsbG93IGNoaWxkIHNwYXduaW5nCi0gIGZyb20gbXVsdGlwcm9jZXNzaW5nLmZvcmtpbmcgb24gV2luZG93cy4KLQotLSBsb2dnaW5nLmJhc2ljQ29uZmlnIG5vdyBzdXBwb3J0cyBhbiBvcHRpb25hbCAnaGFuZGxlcnMnIGFyZ3VtZW50IHRha2luZyBhbgotICBpdGVyYWJsZSBvZiBoYW5kbGVycyB0byBiZSBhZGRlZCB0byB0aGUgcm9vdCBsb2dnZXIuIEFkZGl0aW9uYWwgcGFyYW1ldGVyCi0gIGNoZWNrcyB3ZXJlIGFsc28gYWRkZWQgdG8gYmFzaWNDb25maWcuCi0KLS0gSXNzdWUgIzExODE0OiBGaXggbGlrZWx5IHR5cG8gaW4gbXVsdGlwcm9jZXNzaW5nLlBvb2wuX3Rlcm1pbmF0ZSgpLgotCi0tIElzc3VlICMxMTc0NzogRml4IHJhbmdlIGZvcm1hdHRpbmcgaW4gZGlmZmxpYi5jb250ZXh0X2RpZmYoKSBhbmQKLSAgZGlmZmxpYi51bmlmaWVkX2RpZmYoKS4KLQotLSBJc3N1ZSAjODQyODogRml4IGEgcmFjZSBjb25kaXRpb24gaW4gbXVsdGlwcm9jZXNzaW5nLlBvb2wgd2hlbiB0ZXJtaW5hdGluZwotICB3b3JrZXIgcHJvY2Vzc2VzOiBuZXcgcHJvY2Vzc2VzIHdvdWxkIGJlIHNwYXduZWQgd2hpbGUgdGhlIHBvb2wgaXMgYmVpbmcKLSAgc2h1dCBkb3duLiAgUGF0Y2ggYnkgQ2hhcmxlcy1GcmFuw6dvaXMgTmF0YWxpLgotCi0tIElzc3VlICMyNjUwOiByZS5lc2NhcGUoKSBubyBsb25nZXIgZXNjYXBlcyB0aGUgJ18nLgotCi0tIElzc3VlICMxMTc1Nzogc2VsZWN0LnNlbGVjdCgpIG5vdyByYWlzZXMgVmFsdWVFcnJvciB3aGVuIGEgbmVnYXRpdmUgdGltZW91dAotICBpcyBwYXNzZWQgKHByZXZpb3VzbHksIGEgc2VsZWN0LmVycm9yIHdpdGggRUlOVkFMIHdvdWxkIGJlIHJhaXNlZCkuICBQYXRjaAotICBieSBDaGFybGVzLUZyYW7Dp29pcyBOYXRhbGkuCi0KLS0gSXNzdWUgIzczMTE6IGZpeCBodG1sLnBhcnNlciB0byBhY2NlcHQgbm9uLUFTQ0lJIGF0dHJpYnV0ZSB2YWx1ZXMuCi0KLS0gSXNzdWUgIzExNjA1OiBlbWFpbC5wYXJzZXIuQnl0ZXNGZWVkUGFyc2VyIHdhcyBpbmNvcnJlY3RseSBjb252ZXJ0aW5nCi0gIG11bHRpcGFydCBzdWJwYXJ0cyB3aXRoIGFuIDgtYml0IENURSBpbnRvIHVuaWNvZGUgaW5zdGVhZCBvZiBwcmVzZXJ2aW5nIHRoZQotICBieXRlcy4KLQotLSBJc3N1ZSAjMTY5MDYwODogZW1haWwudXRpbC5mb3JtYXRhZGRyIGlzIG5vdyBSRkMgMjA0NyBhd2FyZTogIGl0IG5vdyBoYXMgYQotICBjaGFyc2V0IHBhcmFtZXRlciB0aGF0IGRlZmF1bHRzIHRvIHV0Zi04IGFuZCBpcyB1c2VkIGFzIHRoZSBjaGFyc2V0IGZvciBSRkMKLSAgMjA0NyBlbmNvZGluZyB3aGVuIHRoZSByZWFsbmFtZSBjb250YWlucyBub24tQVNDSUkgY2hhcmFjdGVycy4KLQotLSBJc3N1ZSAjMTA5NjM6IEVuc3VyZSB0aGF0IHN1YnByb2Nlc3MuY29tbXVuaWNhdGUoKSBuZXZlciByYWlzZXMgRVBJUEUuCi0KLS0gSXNzdWUgIzEwNzkxOiBJbXBsZW1lbnQgbWlzc2luZyBtZXRob2QgR3ppcEZpbGUucmVhZDEoKSwgYWxsb3dpbmcgR3ppcEZpbGUKLSAgdG8gYmUgd3JhcHBlZCBpbiBhIFRleHRJT1dyYXBwZXIuICBQYXRjaCBieSBOYWRlZW0gVmF3ZGEuCi0KLS0gSXNzdWUgIzExNzA3OiBBZGRlZCBhIGZhc3QgQyB2ZXJzaW9uIG9mIGZ1bmN0b29scy5jbXBfdG9fa2V5KCkuCi0gIFBhdGNoIGJ5IEZpbGlwIEdydXN6Y3p5xYRza2kuCi0KLS0gSXNzdWUgIzExNjg4OiBBZGQgc3FsaXRlMy5Db25uZWN0aW9uLnNldF90cmFjZV9jYWxsYmFjaygpLiAgUGF0Y2ggYnkKLSAgVG9yc3RlbiBMYW5kc2Nob2ZmLgotCi0tIElzc3VlICMxMTc0NjogRml4IFNTTENvbnRleHQubG9hZF9jZXJ0X2NoYWluKCkgdG8gYWNjZXB0IGVsbGlwdGljIGN1cnZlCi0gIHByaXZhdGUga2V5cy4KLQotLSBJc3N1ZSAjNTg2MzogUmV3cml0ZSBCWjJGaWxlIGluIHB1cmUgUHl0aG9uLCBhbmQgYWxsb3cgaXQgdG8gYWNjZXB0Ci0gIGZpbGUtbGlrZSBvYmplY3RzIHVzaW5nIGEgbmV3IGBgZmlsZW9iamBgIGNvbnN0cnVjdG9yIGFyZ3VtZW50LiAgUGF0Y2ggYnkKLSAgTmFkZWVtIFZhd2RhLgotCi0tIHVuaXR0ZXN0LlRlc3RDYXNlLmFzc2VydFNhbWVFbGVtZW50cyBoYXMgYmVlbiByZW1vdmVkLgotCi0tIHN5cy5nZXRmaWxlc3lzdGVtZW5jb2RpbmcoKSByYWlzZXMgYSBSdW50aW1lRXJyb3IgaWYgaW5pdGZzZW5jb2RpbmcoKSB3YXMgbm90Ci0gIGNhbGxlZCB5ZXQ6IGRldGVjdCBib290c3RyYXAgKHN0YXJ0dXApIGlzc3VlcyBlYXJsaWVyLgotCi0tIElzc3VlICMxMTM5MzogQWRkIHRoZSBuZXcgZmF1bHRoYW5kbGVyIG1vZHVsZS4KLQotLSBJc3N1ZSAjMTE2MTg6IEZpeCB0aGUgdGltZW91dCBsb2dpYyBpbiB0aHJlYWRpbmcuTG9jay5hY3F1aXJlKCkgdW5kZXIgV2luZG93cy4KLQotLSBSZW1vdmVkIHRoZSAnc3RyaWN0JyBhcmd1bWVudCB0byBlbWFpbC5wYXJzZXIuUGFyc2VyLCB3aGljaCBoYXMgYmVlbgotICBkZXByZWNhdGVkIHNpbmNlIFB5dGhvbiAyLjQuCi0KLS0gSXNzdWUgIzExMjU2OiBGaXggaW5zcGVjdC5nZXRjYWxsYXJncyBvbiBmdW5jdGlvbnMgdGhhdCB0YWtlIG9ubHkga2V5d29yZAotICBhcmd1bWVudHMuCi0KLS0gSXNzdWUgIzExNjk2OiBGaXggSUQgZ2VuZXJhdGlvbiBpbiBtc2lsaWIuCi0KLS0gaXRlcnRvb2xzLmFjY3VtdWxhdGUgbm93IHN1cHBvcnRzIGFuIG9wdGlvbmFsICpmdW5jKiBhcmd1bWVudCBmb3IKLSAgYSB1c2VyLXN1cHBsaWVkIGJpbmFyeSBmdW5jdGlvbi4KLQotLSBJc3N1ZSAjMTE2OTI6IFJlbW92ZSB1bm5lY2Vzc2FyeSBkZW1vIGZ1bmN0aW9ucyBpbiBzdWJwcm9jZXNzIG1vZHVsZS4KLQotLSBJc3N1ZSAjOTY5NjogRml4IGV4Y2VwdGlvbiBpbmNvcnJlY3RseSByYWlzZWQgYnkgeGRybGliLlBhY2tlci5wYWNrX2ludCB3aGVuCi0gIHRyeWluZyB0byBwYWNrIGEgbmVnYXRpdmUgKGluLXJhbmdlKSBpbnRlZ2VyLgotCi0tIElzc3VlICMxMTY3NTogbXVsdGlwcm9jZXNzaW5nLltSYXddQXJyYXkgb2JqZWN0cyBjcmVhdGVkIGZyb20gYW4gaW50ZWdlciBzaXplCi0gIGFyZSBub3cgemVyb2VkIG9uIGNyZWF0aW9uLiAgVGhpcyBtYXRjaGVzIHRoZSBiZWhhdmlvdXIgc3BlY2lmaWVkIGJ5IHRoZQotICBkb2N1bWVudGF0aW9uLgotCi0tIElzc3VlICM3NjM5OiBGaXggc2hvcnQgZmlsZSBuYW1lIGdlbmVyYXRpb24gaW4gYmRpc3RfbXNpCi0KLS0gSXNzdWUgIzExNjM1OiBEb24ndCB1c2UgcG9sbGluZyBpbiB3b3JrZXIgdGhyZWFkcyBhbmQgcHJvY2Vzc2VzIGxhdW5jaGVkIGJ5Ci0gIGNvbmN1cnJlbnQuZnV0dXJlcy4KLQotLSBJc3N1ZSAjNTg0NTogQXV0b21hdGljYWxseSByZWFkIHJlYWRsaW5lIGNvbmZpZ3VyYXRpb24gdG8gZW5hYmxlIGNvbXBsZXRpb24KLSAgaW4gaW50ZXJhY3RpdmUgbW9kZS4KLQotLSBJc3N1ZSAjNjgxMTogQWxsb3cgaW1wb3J0bGliIHRvIGNoYW5nZSBhIGNvZGUgb2JqZWN0J3MgY29fZmlsZW5hbWUgYXR0cmlidXRlCi0gIHRvIG1hdGNoIHRoZSBwYXRoIHRvIHdoZXJlIHRoZSBzb3VyY2UgY29kZSBjdXJyZW50bHkgaXMsIG5vdCB3aGVyZSB0aGUgY29kZQotICBvYmplY3Qgb3JpZ2luYWxseSBjYW1lIGZyb20uCi0KLS0gSXNzdWUgIzg3NTQ6IEhhdmUgaW1wb3J0bGliIHVzZSB0aGUgcmVwciBvZiBhIG1vZHVsZSBuYW1lIGluIGVycm9yIG1lc3NhZ2VzLgotCi0tIElzc3VlICMxMTU5MTogUHJldmVudCAiaW1wb3J0IHNpdGUiIGZyb20gbW9kaWZ5aW5nIHN5cy5wYXRoIHdoZW4gcHl0aG9uCi0gIHdhcyBzdGFydGVkIHdpdGggLVMuCi0KLS0gY29sbGVjdGlvbnMubmFtZWR0dXBsZSgpIG5vdyBhZGRzIGEgX3NvdXJjZSBhdHRyaWJ1dGUgdG8gdGhlIGdlbmVyYXRlZAotICBjbGFzcy4gIFRoaXMgbWFrZSB0aGUgc291cmNlIG1vcmUgYWNjZXNzaWJsZSB0aGFuIHRoZSBvdXRkYXRlZAotICAidmVyYm9zZSIgb3B0aW9uIHdoaWNoIHByaW50cyB0byBzdGRvdXQgYnV0IGRvZXNuJ3QgbWFrZSB0aGUgc291cmNlCi0gIHN0cmluZyBhdmFpbGFibGUuCi0KLS0gSXNzdWUgIzExMzcxOiBNYXJrIGdldG9wdCBlcnJvciBtZXNzYWdlcyBhcyBsb2NhbGl6YWJsZS4gIFBhdGNoIGJ5IEZpbGlwCi0gIEdydXN6Y3p5xYRza2kuCi0KLS0gSXNzdWUgIzExMzMzOiBBZGQgX19zbG90c19fIHRvIGNvbGxlY3Rpb25zIEFCQ3MuCi0KLS0gSXNzdWUgIzExNjI4OiBjbXBfdG9fa2V5IGdlbmVyYXRlZCBjbGFzcyBzaG91bGQgdXNlIF9fc2xvdHNfXy4KLQotLSBJc3N1ZSAjMTE2NjY6IGxldCBoZWxwKCkgZGlzcGxheSBuYW1lZCB0dXBsZSBhdHRyaWJ1dGVzIGFuZCBtZXRob2RzCi0gIHRoYXQgc3RhcnQgd2l0aCBhIGxlYWRpbmcgdW5kZXJzY29yZS4KLQotLSBJc3N1ZSAjMTE2NjI6IE1ha2UgdXJsbGliIGFuZCB1cmxsaWIyIGlnbm9yZSByZWRpcmVjdGlvbnMgaWYgdGhlCi0gIHNjaGVtZSBpcyBub3QgSFRUUCwgSFRUUFMgb3IgRlRQIChDVkUtMjAxMS0xNTIxKS4KLQotLSBJc3N1ZSAjNTUzNzogRml4IHRpbWUyaXNveigpIGFuZCB0aW1lMm5ldHNjYXBlKCkgZnVuY3Rpb25zIG9mCi0gIGh0dHBsaWIuY29va2llamFyIGZvciBleHBpcmF0aW9uIHllYXIgZ3JlYXRlciB0aGFuIDIwMzggb24gMzItYml0IHN5c3RlbXMuCi0KLS0gSXNzdWUgIzQzOTE6IFVzZSBwcm9wZXIgZ2V0dGV4dCBwbHVyYWwgZm9ybXMgaW4gb3B0cGFyc2UuCi0KLS0gSXNzdWUgIzExMTI3OiBSYWlzZSBhIFR5cGVFcnJvciB3aGVuIHRyeWluZyB0byBwaWNrbGUgYSBzb2NrZXQgb2JqZWN0LgotCi0tIElzc3VlICMxMTU2MzogYGBDb25uZWN0aW9uOiBjbG9zZWBgIGhlYWRlciBpcyBzZW50IGJ5IHJlcXVlc3RzIHVzaW5nIFVSTE9wZW5lcgotICBjbGFzcyB3aGljaCBoZWxwcyBpbiBjbG9zaW5nIG9mIHNvY2tldHMgYWZ0ZXIgY29ubmVjdGlvbiBpcyBvdmVyLiBQYXRjaAotICBjb250cmlidXRpb25zIGJ5IEplZmYgTWNOZWlsIGFuZCBOYWRlZW0gVmF3ZGEuCi0KLS0gSXNzdWUgIzExNDU5OiBBIGBgYnVmc2l6ZWBgIHZhbHVlIG9mIDAgaW4gc3VicHJvY2Vzcy5Qb3BlbigpIHJlYWxseSBjcmVhdGVzCi0gIHVuYnVmZmVyZWQgcGlwZXMsIHN1Y2ggdGhhdCBzZWxlY3QoKSB3b3JrcyBwcm9wZXJseSBvbiB0aGVtLgotCi0tIElzc3VlICM1NDIxOiBGaXggbWlzbGVhZGluZyBlcnJvciBtZXNzYWdlIHdoZW4gb25lIG9mIHNvY2tldC5zZW5kdG8oKSdzCi0gIGFyZ3VtZW50cyBoYXMgdGhlIHdyb25nIHR5cGUuICBQYXRjaCBieSBOaWtpdGEgVmV0b3Noa2luLgotCi0tIElzc3VlICMxMDgxMjogQWRkIHNvbWUgZXh0cmEgcG9zaXggZnVuY3Rpb25zIHRvIHRoZSBvcyBtb2R1bGUuCi0KLS0gSXNzdWUgIzEwOTc5OiB1bml0dGVzdCBzdGRvdXQgYnVmZmVyaW5nIG5vdyB3b3JrcyB3aXRoIGNsYXNzIGFuZCBtb2R1bGUKLSAgc2V0dXAgYW5kIHRlYXJkb3duLgotCi0tIElzc3VlICMxMTI0MzogZml4IHRoZSBwYXJhbWV0ZXIgcXVlcnlpbmcgbWV0aG9kcyBvZiBNZXNzYWdlIHRvIHdvcmsgaWYKLSAgdGhlIGhlYWRlcnMgY29udGFpbiB1bi1lbmNvZGVkIG5vbi1BU0NJSSBkYXRhLgotCi0tIElzc3VlICMxMTQwMTogZml4IGhhbmRsaW5nIG9mIGhlYWRlcnMgd2l0aCBubyB2YWx1ZTsgdGhpcyBmaXhlcyBhIHJlZ3Jlc3Npb24KLSAgcmVsYXRpdmUgdG8gUHl0aG9uMiBhbmQgdGhlIHJlc3VsdCBpcyBub3cgdGhlIHNhbWUgYXMgaXQgd2FzIGluIFB5dGhvbjIuCi0KLS0gSXNzdWUgIzkyOTg6IGJhc2U2NCBib2RpZXMgd2VyZW4ndCBiZWluZyBmb2xkZWQgdG8gbGluZSBsZW5ndGhzIGxlc3MgdGhhbiA3OCwKLSAgd2hpY2ggd2FzIGEgcmVncmVzc2lvbiByZWxhdGl2ZSB0byBQeXRob24yLiAgVW5saWtlIFB5dGhvbjIsIHRoZSBsYXN0IGxpbmUKLSAgb2YgdGhlIGZvbGRlZCBib2R5IG5vdyBlbmRzIHdpdGggYSBjYXJyaWFnZSByZXR1cm4uCi0KLS0gSXNzdWUgIzExNTYwOiBzaHV0aWwudW5wYWNrX2FyY2hpdmUgbm93IGNvcnJlY3RseSBoYW5kbGVzIHRoZSBmb3JtYXQKLSAgcGFyYW1ldGVyLiBQYXRjaCBieSBFdmFuIERhbmRyZWEuCi0KLS0gSXNzdWUgIzU4NzA6IEFkZCBgc3VicHJvY2Vzcy5ERVZOVUxMYCBjb25zdGFudC4KLQotLSBJc3N1ZSAjMTExMzM6IGZpeCB0d28gY2FzZXMgd2hlcmUgaW5zcGVjdC5nZXRhdHRyX3N0YXRpYyBjYW4gdHJpZ2dlciBjb2RlCi0gIGV4ZWN1dGlvbi4gUGF0Y2ggYnkgQW5kcmVhcyBTdMO8aHJrLgotCi0tIElzc3VlICMxMTU2OTogdXNlIGFic29sdXRlIHBhdGggdG8gdGhlIHN5c2N0bCBjb21tYW5kIGluIG11bHRpcHJvY2Vzc2luZyB0bwotICBlbnN1cmUgdGhhdCBpdCB3aWxsIGJlIGZvdW5kIHJlZ2FyZGxlc3Mgb2YgdGhlIHNoZWxsIFBBVEguIFRoaXMgZW5zdXJlcwotICB0aGF0IG11bHRpcHJvY2Vzc2luZy5jcHVfY291bnQgd29ya3Mgb24gZGVmYXVsdCBpbnN0YWxscyBvZiBNYWNPU1guCi0KLS0gSXNzdWUgIzExNTAxOiBkaXN1dGlscy5hcmNoaXZlX3V0aWxzLm1ha2VfemlwZmlsZSBubyBsb25nZXIgZmFpbHMgaWYgemxpYiBpcwotICBub3QgaW5zdGFsbGVkLiBJbnN0ZWFkLCB0aGUgemlwZmlsZS5aSVBfU1RPUkVEIGNvbXByZXNzaW9uIGlzIHVzZWQgdG8gY3JlYXRlCi0gIHRoZSBaaXBGaWxlLiBQYXRjaCBieSBOYXRhbGlhIEIuIEJpZGFydC4KLQotLSBJc3N1ZSAjMTEyODk6IGBzbXRwLlNNVFBgIGNsYXNzIGlzIG5vdyBhIGNvbnRleHQgbWFuYWdlciBzbyBpdCBjYW4gYmUgdXNlZAotICBpbiBhIGB3aXRoYCBzdGF0ZW1lbnQuICBDb250cmlidXRlZCBieSBHaWFtcGFvbG8gUm9kb2xhLgotCi0tIElzc3VlICMxMTU1NDogRml4ZWQgc3VwcG9ydCBmb3IgSmFwYW5lc2UgY29kZWNzOyBwcmV2aW91c2x5IHRoZSBib2R5IG91dHB1dAotICBlbmNvZGluZyB3YXMgbm90IGRvbmUgaWYgZXVjLWpwIG9yIHNoaWZ0LWppcyB3YXMgc3BlY2lmaWVkIGFzIHRoZSBjaGFyc2V0LgotCi0tIElzc3VlICMxMTQwNzogYFRlc3RDYXNlLnJ1bmAgcmV0dXJucyB0aGUgcmVzdWx0IG9iamVjdCB1c2VkIG9yIGNyZWF0ZWQuCi0gIENvbnRyaWJ1dGVkIGJ5IEphbmF0aGFuIEhhcnRsZXkuCi0KLS0gSXNzdWUgIzExNTAwOiBGaXhlZCBhIGJ1ZyBpbiB0aGUgT1MgWCBwcm94eSBieXBhc3MgY29kZSBmb3IgZnVsbHkgcXVhbGlmaWVkCi0gIElQIGFkZHJlc3NlcyBpbiB0aGUgcHJveHkgZXhjZXB0aW9uIGxpc3QuCi0KLS0gSXNzdWUgIzExNDkxOiBkYm0uZXJyb3IgaXMgbm8gbG9uZ2VyIHJhaXNlZCB3aGVuIGRibS5vcGVuIGlzIGNhbGxlZCB3aXRoCi0gIHRoZSAibiIgYXMgdGhlIGZsYWcgYXJndW1lbnQgYW5kIHRoZSBmaWxlIGV4aXN0cy4gVGhlIGJlaGF2aW9yIG1hdGNoZXMKLSAgdGhlIGRvY3VtZW50YXRpb24gYW5kIGdlbmVyYWwgbG9naWMuCi0KLS0gSXNzdWUgIzExNjI0Nzc6IFBvc3RlbCBQcmluY2lwbGUgYWRqdXN0bWVudCB0byBlbWFpbCBkYXRlIHBhcnNpbmc6IGhhbmRsZSB0aGUKLSAgZmFjdCB0aGF0IHNvbWUgbm9uLWNvbXBsaWFudCBNVUFzIHVzZSAnLicgaW5zdGVhZCBvZiAnOicgaW4gdGltZSBzcGVjcy4KLQotLSBJc3N1ZSAjMTExMzE6IEZpeCBzaWduIG9mIHplcm8gaW4gZGVjaW1hbC5EZWNpbWFsIHBsdXMgYW5kIG1pbnVzCi0gIG9wZXJhdGlvbnMgd2hlbiB0aGUgcm91bmRpbmcgbW9kZSBpcyBST1VORF9GTE9PUi4KLQotLSBJc3N1ZSAjOTkzNTogU3BlZWQgdXAgcGlja2xpbmcgb2YgaW5zdGFuY2VzIG9mIHVzZXItZGVmaW5lZCBjbGFzc2VzLgotCi0tIElzc3VlICM1NjIyOiBGaXggY3Vyc2VzLndyYXBwZXIgdG8gcmFpc2UgY29ycmVjdCBleGNlcHRpb24gaWYgY3Vyc2VzCi0gIGluaXRpYWxpemF0aW9uIGZhaWxzLgotCi0tIElzc3VlICMxMTQwODogSW4gdGhyZWFkaW5nLkxvY2suYWNxdWlyZSgpLCBvbmx5IGNhbGwgZ2V0dGltZW9mZGF5KCkgd2hlbgotICByZWFsbHkgbmVjZXNzYXJ5LiAgUGF0Y2ggYnkgQ2hhcmxlcy1GcmFuw6dvaXMgTmF0YWxpLgotCi0tIElzc3VlICMxMTM5MTogV3JpdGluZyB0byBhIG1tYXAgb2JqZWN0IGNyZWF0ZWQgd2l0aAotICBgYG1tYXAuUFJPVF9SRUFEfG1tYXAuUFJPVF9FWEVDYGAgd291bGQgc2VnZmF1bHQgaW5zdGVhZCBvZiByYWlzaW5nIGEKLSAgVHlwZUVycm9yLiAgUGF0Y2ggYnkgQ2hhcmxlcy1GcmFuw6dvaXMgTmF0YWxpLgotCi0tIElzc3VlICM5Nzk1OiBhZGQgY29udGV4dCBtYW5hZ2VyIHByb3RvY29sIHN1cHBvcnQgZm9yIG5udHBsaWIuTk5UUCBjbGFzcy4KLQotLSBJc3N1ZSAjMTEzMDY6IG1haWxib3ggaW4gY2VydGFpbiBjYXNlcyBhZGFwdHMgdG8gYW4gaW5hYmlsaXR5IHRvIG9wZW4KLSAgY2VydGFpbiBmaWxlcyBpbiByZWFkLXdyaXRlIG1vZGUuICBQcmV2aW91c2x5IGl0IGRldGVjdGVkIHRoaXMgYnkKLSAgY2hlY2tpbmcgZm9yIEVBQ0NFUywgbm93IGl0IGFsc28gY2hlY2tzIGZvciBFUk9GUy4KLQotLSBJc3N1ZSAjMTEyNjU6IGFzeW5jb3JlIG5vdyBjb3JyZWN0bHkgaGFuZGxlcyBFUElQRSwgRUJBREYgYW5kIEVBR0FJTiBlcnJvcnMKLSAgb24gYWNjZXB0KCksIHNlbmQoKSBhbmQgcmVjdigpLgotCi0tIElzc3VlICMxMTM3NzogRGVwcmVjYXRlIHBsYXRmb3JtLnBvcGVuKCkgYW5kIHJlaW1wbGVtZW50IGl0IHdpdGggb3MucG9wZW4oKS4KLQotLSBJc3N1ZSAjODUxMzogT24gVU5JWCwgc3VicHJvY2VzcyBzdXBwb3J0cyBieXRlcyBjb21tYW5kIHN0cmluZy4KLQotLSBJc3N1ZSAjMTA4NjY6IEFkZCBzb2NrZXQuc2V0aG9zdG5hbWUoKS4gIEluaXRpYWwgcGF0Y2ggYnkgUm9zcyBMYWdlcndhbGwuCi0KLS0gSXNzdWUgIzExMTQwOiBMb2NrLnJlbGVhc2UoKSBub3cgcmFpc2VzIGEgUnVudGltZUVycm9yIHdoZW4gYXR0ZW1wdGluZwotICB0byByZWxlYXNlIGFuIHVuYWNxdWlyZWQgbG9jaywgYXMgY2xhaW1lZCBpbiB0aGUgdGhyZWFkaW5nIGRvY3VtZW50YXRpb24uCi0gIFRoZSBfdGhyZWFkLmVycm9yIGV4Y2VwdGlvbiBpcyBub3cgYW4gYWxpYXMgb2YgUnVudGltZUVycm9yLiAgUGF0Y2ggYnkKLSAgRmlsaXAgR3J1c3pjennFhHNraS4gIFBhdGNoIGZvciBfZHVtbXlfdGhyZWFkIGJ5IEF5bWVyaWMgQXVndXN0aW4uCi0KLS0gSXNzdWUgIzg1OTQ6IGZ0cGxpYiBub3cgcHJvdmlkZXMgYSBzb3VyY2VfYWRkcmVzcyBwYXJhbWV0ZXIgdG8gc3BlY2lmeSB3aGljaAotICAoYWRkcmVzcywgcG9ydCkgdG8gYmluZCB0byBiZWZvcmUgY29ubmVjdGluZy4KLQotLSBJc3N1ZSAjMTEzMjY6IEFkZCB0aGUgbWlzc2luZyBjb25uZWN0X2V4KCkgaW1wbGVtZW50YXRpb24gZm9yIFNTTCBzb2NrZXRzLAotICBhbmQgbWFrZSBpdCB3b3JrIGZvciBub24tYmxvY2tpbmcgY29ubmVjdHMuCi0KLS0gSXNzdWUgIzExMjk3OiBBZGQgY29sbGVjdGlvbnMuQ2hhaW5NYXAoKS4KLQotLSBJc3N1ZSAjMTA3NTU6IEFkZCB0aGUgcG9zaXguZmxpc3RkaXIoKSBmdW5jdGlvbi4gIFBhdGNoIGJ5IFJvc3MgTGFnZXJ3YWxsLgotCi0tIElzc3VlICM0NzYxOiBBZGQgdGhlIGBgKmF0KClgYCBmYW1pbHkgb2YgZnVuY3Rpb25zIChvcGVuYXQoKSwgZXRjLikgdG8gdGhlCi0gIHBvc2l4IG1vZHVsZS4gIFBhdGNoIGJ5IFJvc3MgTGFnZXJ3YWxsLgotCi0tIElzc3VlICM3MzIyOiBUcnlpbmcgdG8gcmVhZCBmcm9tIGEgc29ja2V0J3MgZmlsZS1saWtlIG9iamVjdCBhZnRlciBhIHRpbWVvdXQKLSAgb2NjdXJyZWQgbm93IHJhaXNlcyBhbiBlcnJvciBpbnN0ZWFkIG9mIHNpbGVudGx5IGxvc2luZyBkYXRhLgotCi0tIElzc3VlICMxMTI5MTogcG9wbGliLlBPUCBubyBsb25nZXIgc3VwcHJlc3NlcyBlcnJvcnMgb24gcXVpdCgpLgotCi0tIElzc3VlICMxMTE3NzogYXN5bmNvcmUncyBjcmVhdGVfc29ja2V0KCkgYXJndW1lbnRzIGNhbiBub3cgYmUgb21pdHRlZC4KLQotLSBJc3N1ZSAjNjA2NDogQWRkIGEgYGBkYWVtb25gYCBrZXl3b3JkIGFyZ3VtZW50IHRvIHRoZSB0aHJlYWRpbmcuVGhyZWFkCi0gIGFuZCBtdWx0aXByb2Nlc3NpbmcuUHJvY2VzcyBjb25zdHJ1Y3RvcnMgaW4gb3JkZXIgdG8gb3ZlcnJpZGUgdGhlCi0gIGRlZmF1bHQgYmVoYXZpb3VyIG9mIGluaGVyaXRpbmcgdGhlIGRhZW1vbmljIHByb3BlcnR5IGZyb20gdGhlIGN1cnJlbnQKLSAgdGhyZWFkL3Byb2Nlc3MuCi0KLS0gSXNzdWUgIzEwOTU2OiBCdWZmZXJlZCBJL08gY2xhc3NlcyByZXRyeSByZWFkaW5nIG9yIHdyaXRpbmcgYWZ0ZXIgYSBzaWduYWwKLSAgaGFzIGFycml2ZWQgYW5kIHRoZSBoYW5kbGVyIHJldHVybmVkIHN1Y2Nlc3NmdWxseS4KLQotLSBJc3N1ZSAjMTA3ODQ6IE5ldyBvcy5nZXRwcmlvcml0eSgpIGFuZCBvcy5zZXRwcmlvcml0eSgpIGZ1bmN0aW9ucy4KLQotLSBJc3N1ZSAjMTExMTQ6IEZpeCBjYXRhc3Ryb3BoaWMgcGVyZm9ybWFuY2Ugb2YgdGVsbCgpIG9uIHRleHQgZmlsZXMgKHVwCi0gIHRvIDEwMDB4IGZhc3RlciBpbiBzb21lIGNhc2VzKS4gIEl0IGlzIHN0aWxsIG9uZSB0byB0d28gb3JkZXIgb2YgbWFnbml0dWRlcwotICBzbG93ZXIgdGhhbiBiaW5hcnkgdGVsbCgpLgotCi0tIElzc3VlICMxMDg4MjogQWRkIG9zLnNlbmRmaWxlIGZ1bmN0aW9uLgotCi0tIElzc3VlICMxMDg2ODogQWxsb3cgdXNhZ2Ugb2YgdGhlIHJlZ2lzdGVyIG1ldGhvZCBvZiBhbiBBQkMgYXMgYSBjbGFzcwotICBkZWNvcmF0b3IuCi0KLS0gSXNzdWUgIzExMjI0OiBGaXhlZCBhIHJlZ3Jlc3Npb24gaW4gdGFyZmlsZSB0aGF0IGFmZmVjdGVkIHRoZSBmaWxlLWxpa2UKLSAgb2JqZWN0cyByZXR1cm5lZCBieSBUYXJGaWxlLmV4dHJhY3RmaWxlKCkgcmVnYXJkaW5nIHBlcmZvcm1hbmNlLCBtZW1vcnkKLSAgY29uc3VtcHRpb24gYW5kIGZhaWx1cmVzIHdpdGggdGhlIHN0cmVhbSBpbnRlcmZhY2UuCi0KLS0gSXNzdWUgIzEwOTI0OiBBZGRpbmcgc2FsdCBhbmQgTW9kdWxhciBDcnlwdCBGb3JtYXQgdG8gY3J5cHQgbGlicmFyeS4KLSAgTW92ZWQgb2xkIEMgd3JhcHBlciB0byBfY3J5cHQsIGFuZCBhZGRlZCBhIFB5dGhvbiB3cmFwcGVyIHdpdGgKLSAgZW5oYW5jZWQgc2FsdCBnZW5lcmF0aW9uIGFuZCBzaW1wbGVyIEFQSSBmb3IgcGFzc3dvcmQgZ2VuZXJhdGlvbi4KLQotLSBJc3N1ZSAjMTEwNzQ6IE1ha2UgJ3Rva2VuaXplJyBzbyBpdCBjYW4gYmUgcmVsb2FkZWQuCi0KLS0gSXNzdWUgIzExMDg1OiBNb3ZlZCBjb2xsZWN0aW9ucyBhYnN0cmFjdCBiYXNlIGNsYXNzZXMgaW50byBhIHNlcGFyYXRlCi0gIG1vZHVsZSBjYWxsZWQgY29sbGVjdGlvbnMuYWJjLCBmb2xsb3dpbmcgdGhlIHBhdHRlcm4gdXNlZCBieSBpbXBvcnRsaWIuYWJjLgotICBGb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHksIHRoZSBuYW1lcyBhcmUgaW1wb3J0ZWQgaW50byB0aGUgY29sbGVjdGlvbnMKLSAgbW9kdWxlLgotCi0tIElzc3VlICM0NjgxOiBBbGxvdyBtbWFwKCkgdG8gd29yayBvbiBmaWxlIHNpemVzIGFuZCBvZmZzZXRzIGxhcmdlciB0aGFuCi0gIDRHQiwgZXZlbiBvbiAzMi1iaXQgYnVpbGRzLiAgSW5pdGlhbCBwYXRjaCBieSBSb3NzIExhZ2Vyd2FsbCwgYWRhcHRlZCBmb3IKLSAgMzItYml0IFdpbmRvd3MuCi0KLS0gSXNzdWUgIzExMTY5OiBjb21waWxlYWxsIG1vZHVsZSB1c2VzIHJlcHIoKSB0byBmb3JtYXQgZmlsZW5hbWVzIGFuZCBwYXRocyB0bwotICBlc2NhcGUgc3Vycm9nYXRlIGNoYXJhY3RlcnMgYW5kIHNob3cgc3BhY2VzLgotCi0tIElzc3VlICMxMTA4OTogRml4IHBlcmZvcm1hbmNlIGlzc3VlIGxpbWl0aW5nIHRoZSB1c2Ugb2YgQ29uZmlnUGFyc2VyKCkKLSAgd2l0aCBsYXJnZSBjb25maWcgZmlsZXMuCi0KLS0gSXNzdWUgIzEwMjc2OiBGaXggdGhlIHJlc3VsdHMgb2YgemxpYi5jcmMzMigpIGFuZCB6bGliLmFkbGVyMzIoKSBvbiBidWZmZXJzCi0gIGxhcmdlciB0aGFuIDRHQi4gIFBhdGNoIGJ5IE5hZGVlbSBWYXdkYS4KLQotLSBJc3N1ZSAjMTEzODg6IEFkZGVkIGEgY2xlYXIoKSBtZXRob2QgdG8gTXV0YWJsZVNlcXVlbmNlCi0KLS0gSXNzdWUgIzExMTc0OiBBZGQgYXJncGFyc2UuTWV0YXZhclR5cGVIZWxwRm9ybWF0dGVyLCB3aGljaCB1c2VzIHR5cGUgbmFtZXMKLSAgZm9yIHRoZSBuYW1lcyBvZiBvcHRpb25hbCBhbmQgcG9zaXRpb25hbCBhcmd1bWVudHMgaW4gaGVscCBtZXNzYWdlcy4KLQotLSBJc3N1ZSAjOTM0ODogUmFpc2UgYW4gZWFybHkgZXJyb3IgaWYgYXJncGFyc2UgbmFyZ3MgYW5kIG1ldGF2YXIgZG9uJ3QgbWF0Y2guCi0KLS0gSXNzdWUgIzkwMjY6IEZpeCBvcmRlciBvZiBhcmdwYXJzZSBzdWItY29tbWFuZHMgaW4gaGVscCBtZXNzYWdlcy4KLQotLSBJc3N1ZSAjOTM0NzogRml4IGZvcm1hdHRpbmcgZm9yIHR1cGxlcyBpbiBhcmdwYXJzZSB0eXBlPSBlcnJvciBtZXNzYWdlcy4KLQotLSBJc3N1ZSAjMTIxOTE6IEFkZGVkIHNodXRpbC5jaG93bigpIHRvIGNoYW5nZSB1c2VyIGFuZC9vciBncm91cCBvd25lciBvZiBhCi0gIGdpdmVuIHBhdGggYWxzbyBzcGVjaWZ5aW5nIHRoZWlyIG5hbWVzLgotCi0tIElzc3VlICMxMzk4ODogVGhlIF9lbGVtZW50dHJlZSBhY2NlbGVyYXRvciBpcyB1c2VkIHdoZW5ldmVyIGF2YWlsYWJsZS4KLSAgTm93IHhtbC5ldHJlZS5jRWxlbWVudFRyZWUgYmVjb21lcyBhIGRlcHJlY2F0ZWQgYWxpYXMgdG8gRWxlbWVudFRyZWUuCi0KLUJ1aWxkCi0tLS0tLQotCi0tIElzc3VlICM2ODA3OiBSdW4gbXNpc3VwcG9ydC5tYWsgZWFybGllci4KLQotLSBJc3N1ZSAjMTA1ODA6IE1pbm9yIGdyYW1tYXIgY2hhbmdlIGluIFdpbmRvd3MgaW5zdGFsbGVyLgotCi0tIElzc3VlICMxMzMyNjogQ2xlYW4gX19weWNhY2hlX18gZGlyZWN0b3JpZXMgY29ycmVjdGx5IG9uIE9wZW5CU0QuCi0KLS0gUEVQIDM5MzogdGhlIGNvbmZpZ3VyZSBvcHRpb24gLS13aXRoLXdpZGUtdW5pY29kZSBpcyByZW1vdmVkLgotCi0tIElzc3VlICMxMjg1MjogU2V0IF9YT1BFTl9TT1VSQ0UgdG8gNzAwLCBpbnN0ZWFkIG9mIDYwMCwgdG8gZ2V0IFBPU0lYIDIwMDgKLSAgZnVuY3Rpb25zIG9uIE9wZW5CU0QgKGUuZy4gZmRvcGVuZGlyKS4KLQotLSBJc3N1ZSAjMTE4NjM6IFJlbW92ZSBzdXBwb3J0IGZvciBsZWdhY3kgc3lzdGVtcyBkZXByZWNhdGVkIGluIFB5dGhvbiAzLjIKLSAgKGZvbGxvd2luZyBQRVAgMTEpLiAgVGhlc2Ugc3lzdGVtcyBhcmUgc3lzdGVtcyB1c2luZyBNYWNoIEMgVGhyZWFkcywKLSAgU3VuT1MgbGlnaHR3ZWlnaHQgcHJvY2Vzc2VzLCBHTlUgcHRoIHRocmVhZHMgYW5kIElSSVggdGhyZWFkcy4KLQotLSBJc3N1ZSAjODc0NjogQ29ycmVjdCBmYXVsdHkgY29uZmlndXJlIGNoZWNrcyBzbyB0aGF0IG9zLmNoZmxhZ3MoKSBhbmQKLSAgb3MubGNoZmxhZ3MoKSBhcmUgb25jZSBhZ2FpbiBidWlsdCBvbiBzeXN0ZW1zIHRoYXQgc3VwcG9ydCB0aGVzZQotICBmdW5jdGlvbnMgKEJTRCBhbmQgT1MgWCkuICBBbHNvIGFkZCBuZXcgc3RhdCBmaWxlIGZsYWdzIGZvciBPUyBYCi0gIChVRl9ISURERU4gYW5kIFVGX0NPTVBSRVNTRUQpLgotCi0tIElzc3VlICMxMDY0NTogSW5zdGFsbGluZyBQeXRob24gbm8gbG9uZ2VyIGNyZWF0ZXMgYQotICBQeXRob24tWC5ZLlotcHlYLlkuZWdnLWluZm8gZmlsZSBpbiB0aGUgbGliLWR5bmxvYWQgZGlyZWN0b3J5LgotCi0tIERvIG5vdCBhY2NpZGVudGFsbHkgaW5jbHVkZSB0aGUgZGlyZWN0b3J5IGNvbnRhaW5pbmcgc3FsaXRlLmggdHdpY2Ugd2hlbgotICBidWlsZGluZyBzcWxpdGUzLgotCi0tIElzc3VlICMxMTIxNzogRm9yIDY0LWJpdC8zMi1iaXQgTWFjIE9TIFggdW5pdmVyc2FsIGZyYW1ld29yayBidWlsZHMsCi0gIGVuc3VyZSAibWFrZSBpbnN0YWxsIiBjcmVhdGVzIHN5bWxpbmtzIGluIC0tcHJlZml4IGJpbiBmb3IgdGhlICItMzIiCi0gIGZpbGVzIGluIHRoZSBmcmFtZXdvcmsgYmluIGRpcmVjdG9yeSBsaWtlIHRoZSBpbnN0YWxsZXIgZG9lcy4KLQotLSBJc3N1ZSAjMTEzNDc6IFVzZSAtLW5vLWFzLW5lZWRlZCB3aGVuIGxpbmtpbmcgbGlicHl0aG9uMy5zby4KLQotLSBJc3N1ZSAjMTE0MTE6IEZpeCAnbWFrZSBERVNURElSPScgd2l0aCBhIHJlbGF0aXZlIGRlc3RpbmF0aW9uLgotCi0tIElzc3VlICMxMTI2ODogUHJldmVudCBNYWMgT1MgWCBJbnN0YWxsZXIgZmFpbHVyZSBpZiBEb2N1bWVudGF0aW9uCi0gIHBhY2thZ2UgaGFkIHByZXZpb3VzbHkgYmVlbiBpbnN0YWxsZWQuCi0KLS0gSXNzdWUgIzExNDk1OiBPU0Ygc3VwcG9ydCBpcyBlbGltaW5hdGVkLiBJdCB3YXMgZGVwcmVjYXRlZCBpbiBQeXRob24gMy4yLgotCi1JRExFCi0tLS0tCi0KLS0gSXNzdWUgIzE0NDA5OiBJRExFIG5vdyBwcm9wZXJseSBleGVjdXRlcyBjb21tYW5kcyBpbiB0aGUgU2hlbGwgd2luZG93Ci0gIHdoZW4gaXQgY2Fubm90IHJlYWQgdGhlIG5vcm1hbCBjb25maWcgZmlsZXMgb24gc3RhcnR1cCBhbmQKLSAgaGFzIHRvIHVzZSB0aGUgYnVpbHQtaW4gZGVmYXVsdCBrZXkgYmluZGluZ3MuCi0gIFRoZXJlIHdhcyBwcmV2aW91c2x5IGEgYnVnIGluIG9uZSBvZiB0aGUgZGVmYXVsdHMuCi0KLS0gSURMRSBjYW4gYmUgbGF1bmNoZWQgYXMgcHl0aG9uIC1tIGlkbGVsaWIKLQotLSBJc3N1ZSAjMzU3MzogSURMRSBoYW5ncyB3aGVuIHBhc3NpbmcgaW52YWxpZCBjb21tYW5kIGxpbmUgYXJncwotICAoZGlyZWN0b3J5KGllcykgaW5zdGVhZCBvZiBmaWxlKHMpKSAoUGF0Y2ggYnkgR3VpbGhlcm1lIFBvbG8pCi0KLS0gSXNzdWUgIzE0MjAwOiBJRExFIHNoZWxsIGNyYXNoIG9uIHByaW50aW5nIG5vbi1CTVAgdW5pY29kZSBjaGFyYWN0ZXIuCi0KLS0gSXNzdWUgIzUyMTk6IFByZXZlbnQgZXZlbnQgaGFuZGxlciBjYXNjYWRlIGluIElETEUuCi0KLS0gSXNzdWUgIzk2NDQzNzogTWFrZSBJRExFIGhlbHAgd2luZG93IG5vbi1tb2RhbC4KLSAgUGF0Y2ggYnkgR3VpbGhlcm1lIFBvbG8gYW5kIFJvZ2VyIFNlcnd5LgotCi0tIElzc3VlICMxMzkzMzogSURMRSBhdXRvLWNvbXBsZXRlIGRpZCBub3Qgd29yayB3aXRoIHNvbWUgaW1wb3J0ZWQKLSAgbW9kdWxlLCBsaWtlIGhhc2hsaWIuICAoUGF0Y2ggYnkgUm9nZXIgU2Vyd3kpCi0KLS0gSXNzdWUgIzEzNTA2OiBBZGQgJycgdG8gcGF0aCBmb3IgSURMRSBTaGVsbCB3aGVuIHN0YXJ0ZWQgYW5kIHJlc3RhcnRlZCB3aXRoIFJlc3RhcnQgU2hlbGwuCi0gIE9yaWdpbmFsIHBhdGNoZXMgYnkgTWFyY28gU2NhdGFnbGluaSBhbmQgUm9nZXIgU2Vyd3kuCi0KLS0gSXNzdWUgIzQ2MjU6IElmIElETEUgY2Fubm90IHdyaXRlIHRvIGl0cyByZWNlbnQgZmlsZSBvciBicmVha3BvaW50IGZpbGVzLAotICBkaXNwbGF5IGEgbWVzc2FnZSBwb3B1cCBhbmQgY29udGludWUgcmF0aGVyIHRoYW4gY3Jhc2guICBPcmlnaW5hbCBwYXRjaCBieQotICBSb2dlciBTZXJ3eS4KLQotLSBJc3N1ZSAjODY0MTogVXBkYXRlIElETEUgMyBzeW50YXggY29sb3JpbmcgdG8gcmVjb2duaXplIGIiLi4iIGFuZCBub3QgdSIuLiIuCi0gIFBhdGNoIGJ5IFRhbCBFaW5hdC4KLQotLSBJc3N1ZSAjMTMyOTY6IEZpeCBJRExFIHRvIGNsZWFyIGNvbXBpbGUgX19mdXR1cmVfXyBmbGFncyBvbiBzaGVsbCByZXN0YXJ0LgotICAoUGF0Y2ggYnkgUm9nZXIgU2Vyd3kpCi0KLS0gSXNzdWUgIzk4NzE6IFByZXZlbnQgSURMRSAzIGNyYXNoIHdoZW4gZ2l2ZW4gYnl0ZSBzdGluZ3MKLSAgd2l0aCBpbnZhbGlkIGhleCBlc2NhcGUgc2VxdWVuY2VzLCBsaWtlIGInXHgwJy4KLSAgKE9yaWdpbmFsIHBhdGNoIGJ5IENsYXVkaXUgUG9wYS4pCi0KLS0gSXNzdWUgIzEyNjM2OiBJRExFIHJlYWRzIHRoZSBjb2RpbmcgY29va2llIHdoZW4gZXhlY3V0aW5nIGEgUHl0aG9uIHNjcmlwdC4KLQotLSBJc3N1ZSAjMTI1NDA6IFByZXZlbnQgem9tYmllIElETEUgcHJvY2Vzc2VzIG9uIFdpbmRvd3MgZHVlIHRvIGNoYW5nZXMKLSAgaW4gb3Mua2lsbCgpLgotCi0tIElzc3VlICMxMjU5MDogSURMRSBlZGl0b3Igd2luZG93IG5vdyBhbHdheXMgZGlzcGxheXMgdGhlIGZpcnN0IGxpbmUKLSAgd2hlbiBvcGVuaW5nIGEgbG9uZyBmaWxlLiAgV2l0aCBUayA4LjUsIHRoZSBmaXJzdCBsaW5lIHdhcyBoaWRkZW4uCi0KLS0gSXNzdWUgIzExMDg4OiBkb24ndCBjcmFzaCB3aGVuIHVzaW5nIEY1IHRvIHJ1biBhIHNjcmlwdCBpbiBJRExFIG9uIE1hY09TWAotICB3aXRoIFRrIDguNS4KLQotLSBJc3N1ZSAjMTAyODogVGsgcmV0dXJucyBpbnZhbGlkIFVuaWNvZGUgbnVsbCBpbiAlQTogVW5pY29kZURlY29kZUVycm9yLgotICBXaXRoIFRrIDwgOC41IF90a2ludGVyLmM6UHl0aG9uQ21kKCkgcmFpc2VkIFVuaWNvZGVEZWNvZGVFcnJvciwgY2F1c2VkCi0gIElETEUgdG8gZXhpdC4gIENvbnZlcnRlZCB0byB2YWxpZCBVbmljb2RlIG51bGwgaW4gUHl0aG9uQ21kKCkuCi0KLS0gSXNzdWUgIzExNzE4OiBJRExFJ3Mgb3BlbiBtb2R1bGUgZGlhbG9nIGNvdWxkbid0IGZpbmQgdGhlIF9faW5pdF9fLnB5Ci0gIGZpbGUgaW4gYSBwYWNrYWdlLgotCi1Ub29scy9EZW1vcwotLS0tLS0tLS0tLS0KLQotLSBJc3N1ZSAjMTQwNTM6IHBhdGNoY2hlY2sucHkgKCJtYWtlIHBhdGNoY2hlY2siKSBub3cgd29ya3Mgd2l0aCBNUSBwYXRjaGVzLgotICBQYXRjaCBieSBGcmFuY2lzY28gTWFydMOtbiBCcnVndcOpLgotCi0tIElzc3VlICMxMzkzMDogMnRvMyBpcyBub3cgYWJsZSB0byB3cml0ZSBpdHMgY29udmVydGVkIG91dHB1dCBmaWxlcyB0byBhbm90aGVyCi0gIGRpcmVjdG9yeSB0cmVlIGFzIHdlbGwgYXMgY29weWluZyB1bmNoYW5nZWQgZmlsZXMgYW5kIGFsdGVyaW5nIHRoZSBmaWxlCi0gIHN1ZmZpeC4gIFNlZSBpdHMgbmV3IC1vLCAtVyBhbmQgLS1hZGQtc3VmZml4IG9wdGlvbnMuICBUaGlzIG1ha2VzIGl0IG1vcmUKLSAgdXNlZnVsIGluIG1hbnkgYXV0b21hdGVkIGNvZGUgdHJhbnNsYXRpb24gd29ya2Zsb3dzLgotCi0tIElzc3VlICMxMzYyODogcHl0aG9uLWdkYi5weSBpcyBub3cgYWJsZSB0byByZXRyaWV2ZSBtb3JlIGZyYW1lcyBpbiB0aGUgUHl0aG9uCi0gIHRyYWNlYmFjayBpZiBQeXRob24gaXMgb3B0aW1pemVkLgotCi0tIElzc3VlICMxMTk5NjogbGlicHl0aG9uIChnZGIpLCByZXBsYWNlICJweS1idCIgY29tbWFuZCBieSAicHktYnQtZnVsbCIgYW5kCi0gIGFkZCBhIHNtYXJ0ZXIgInB5LWJ0IiBjb21tYW5kIHByaW50aW5nIGEgY2xhc3NpYyBQeXRob24gdHJhY2ViYWNrLgotCi0tIElzc3VlICMxMTE3OTogTWFrZSBjY2JlbmNoIHdvcmsgdW5kZXIgUHl0aG9uIDMuMSBhbmQgMi43IGFnYWluLgotCi0tIElzc3VlICMxMDYzOTogcmVpbmRlbnQucHkgbm8gbG9uZ2VyIGNvbnZlcnRzIG5ld2xpbmVzIGFuZCB3aWxsIHJhaXNlCi0gIGFuIGVycm9yIGlmIGF0dGVtcHRpbmcgdG8gY29udmVydCBhIGZpbGUgd2l0aCBtaXhlZCBuZXdsaW5lcy4KLSAgIi0tbmV3bGluZSIgb3B0aW9uIGFkZGVkIHRvIHNwZWNpZnkgbmV3IGxpbmUgY2hhcmFjdGVyLgotCi1FeHRlbnNpb24gTW9kdWxlcwotLS0tLS0tLS0tLS0tLS0tLS0KLQotLSBJc3N1ZSAjMTY4NDc6IEZpeGVkIGltcHJvcGVyIHVzZSBvZiBfUHlVbmljb2RlX0NoZWNrQ29uc2lzdGVuY3koKSBpbgotICBub24tcHlkZWJ1ZyBidWlsZHMuIFNldmVyYWwgZXh0ZW5zaW9uIG1vZHVsZXMgbm93IGNvbXBpbGUgY2xlYW5seSB3aGVuCi0gIGFzc2VydCgpcyBhcmUgZW5hYmxlZCBpbiBzdGFuZGFyZCBidWlsZHMgKC1EREVCVUcgZmxhZykuCi0KLS0gSXNzdWUgIzEzODQwOiBUaGUgZXJyb3IgbWVzc2FnZSBwcm9kdWNlZCBieSBjdHlwZXMuY3JlYXRlX3N0cmluZ19idWZmZXIKLSAgd2hlbiBnaXZlbiBhIFVuaWNvZGUgc3RyaW5nIGhhcyBiZWVuIGZpeGVkLgotCi0tIElzc3VlICM5OTc1OiBzb2NrZXQ6IEZpeCBpbmNvcnJlY3QgdXNlIG9mIGZsb3dpbmZvIGFuZCBzY29wZV9pZC4gUGF0Y2ggYnkKLSAgVmlsbW9zIE5lYmVoYWouCi0KLS0gSXNzdWUgIzc3Nzc6IHNvY2tldDogQWRkIFJlbGlhYmxlIERhdGFncmFtIFNvY2tldHMgKFBGX1JEUykgc3VwcG9ydC4KLQotLSBJc3N1ZSAjMTMxNTk6IEZpbGVJTyBhbmQgQloyQ29tcHJlc3Nvci9CWjJEZWNvbXByZXNzb3Igbm93IHVzZSBhIGxpbmVhci10aW1lCi0gIGJ1ZmZlciBncm93dGggc3RyYXRlZ3kgaW5zdGVhZCBvZiBhIHF1YWRyYXRpYy10aW1lIG9uZS4KLQotLSBJc3N1ZSAjMTAxNDE6IHNvY2tldDogQWRkIFNvY2tldENBTiAoUEZfQ0FOKSBzdXBwb3J0LiBJbml0aWFsIHBhdGNoIGJ5Ci0gIE1hdHRoaWFzIEZ1Y2hzLCB1cGRhdGVkIGJ5IFRpYWdvIEdvbsOnYWx2ZXMuCi0KLS0gSXNzdWUgIzEzMDcwOiBGaXggYSBjcmFzaCB3aGVuIGEgVGV4dElPV3JhcHBlciBjYXVnaHQgaW4gYSByZWZlcmVuY2UgY3ljbGUKLSAgd291bGQgYmUgZmluYWxpemVkIGFmdGVyIHRoZSByZWZlcmVuY2UgdG8gaXRzIHVuZGVybHlpbmcgQnVmZmVyZWRSV1BhaXIncwotICB3cml0ZXIgZ290IGNsZWFyZWQgYnkgdGhlIEdDLgotCi0tIElzc3VlICMxMjg4MTogY3R5cGVzOiBGaXggc2VnZmF1bHQgd2l0aCBsYXJnZSBzdHJ1Y3R1cmUgZmllbGQgbmFtZXMuCi0KLS0gSXNzdWUgIzEzMDU4OiBvc3NhdWRpb2RldjogZml4IGEgZmlsZSBkZXNjcmlwdG9yIGxlYWsgb24gZXJyb3IuIFBhdGNoIGJ5Ci0gIFRob21hcyBKYXJvc2NoLgotCi0tIElzc3VlICMxMzAxMzogY3R5cGVzOiBGaXggYSByZWZlcmVuY2UgbGVhayBpbiBQeUNBcnJheVR5cGVfZnJvbV9jdHlwZS4KLSAgVGhhbmtzIHRvIFN1bWFuIFNhaGEgZm9yIGZpbmRpbmcgdGhlIGJ1ZyBhbmQgcHJvdmlkaW5nIGEgcGF0Y2guCi0KLS0gSXNzdWUgIzEzMDIyOiBGaXg6IF9tdWx0aXByb2Nlc3NpbmcucmVjdmZkKCkgZG9lc24ndCBjaGVjayB0aGF0Ci0gIGZpbGUgZGVzY3JpcHRvciB3YXMgYWN0dWFsbHkgcmVjZWl2ZWQuCi0KLS0gSXNzdWUgIzExNzI3MTE6IEFkZCAnbG9uZyBsb25nJyBzdXBwb3J0IHRvIHRoZSBhcnJheSBtb2R1bGUuCi0gIEluaXRpYWwgcGF0Y2ggYnkgT3JlbiBUaXJvc2ggYW5kIEhpcm9rYXp1IFlhbWFtb3RvLgotCi0tIElzc3VlICMxMjQ4MzogY3R5cGVzOiBGaXggYSBjcmFzaCB3aGVuIHRoZSBkZXN0cnVjdGlvbiBvZiBhIGNhbGxiYWNrCi0gIG9iamVjdCB0cmlnZ2VycyB0aGUgZ2FyYmFnZSBjb2xsZWN0b3IuCi0KLS0gSXNzdWUgIzEyOTUwOiBGaXggcGFzc2luZyBmaWxlIGRlc2NyaXB0b3JzIGluIG11bHRpcHJvY2Vzc2luZywgdW5kZXIKLSAgT3BlbkluZGlhbmEvSWxsdW1vcy4KLQotLSBJc3N1ZSAjMTI3NjQ6IEZpeCBhIGNyYXNoIGluIGN0eXBlcyB3aGVuIHRoZSBuYW1lIG9mIGEgU3RydWN0dXJlIGZpZWxkIGlzIG5vdAotICBhIHN0cmluZy4KLQotLSBJc3N1ZSAjMTEyNDE6IHN1YmNsYXNzZXMgb2YgY3R5cGVzLkFycmF5IGNhbiBub3cgYmUgc3ViY2xhc3NlZC4KLQotLSBJc3N1ZSAjOTY1MTogRml4IGEgY3Jhc2ggd2hlbiBjdHlwZXMuY3JlYXRlX3N0cmluZ19idWZmZXIoMCkgd2FzIHBhc3NlZCB0bwotICBzb21lIGZ1bmN0aW9ucyBsaWtlIGZpbGUud3JpdGUoKS4KLQotLSBJc3N1ZSAjMTAzMDk6IERlZmluZSBfR05VX1NPVVJDRSBzbyB0aGF0IG1yZW1hcCgpIGdldHMgdGhlIHByb3BlcgotICBzaWduYXR1cmUuICBXaXRob3V0IHRoaXMsIGFyY2hpdGVjdHVyZXMgd2hlcmUgc2l6ZW9mIHZvaWQqICE9IHNpemVvZiBpbnQgYXJlCi0gIGJyb2tlbi4gIFBhdGNoIGdpdmVuIGJ5IEhhbGx2YXJkIEIgRnVydXNldGguCi0KLS0gSXNzdWUgIzEyMDUxOiBGaXggc2VnZmF1bHQgaW4ganNvbi5kdW1wcygpIHdoaWxlIGVuY29kaW5nIGhpZ2hseS1uZXN0ZWQKLSAgb2JqZWN0cyB1c2luZyB0aGUgQyBhY2NlbGVyYXRpb25zLgotCi0tIElzc3VlICMxMjAxNzogRml4IHNlZ2ZhdWx0IGluIGpzb24ubG9hZHMoKSB3aGlsZSBkZWNvZGluZyBoaWdobHktbmVzdGVkCi0gIG9iamVjdHMgdXNpbmcgdGhlIEMgYWNjZWxlcmF0aW9ucy4KLQotLSBJc3N1ZSAjMTgzODogUHJldmVudCBzZWdmYXVsdCBpbiBjdHlwZXMsIHdoZW4gX2FzX3BhcmFtZXRlcl8gb24gYSBjbGFzcyBpcyBzZXQKLSAgdG8gYW4gaW5zdGFuY2Ugb2YgdGhlIGNsYXNzLgotCi1UZXN0cwotLS0tLS0KLQotLSBJc3N1ZSAjMTMxMjU6IFNpbGVuY2Ugc3B1cmlvdXMgdGVzdF9saWIydG8zIG91dHB1dCB3aGVuIGluIG5vbi12ZXJib3NlIG1vZGUuCi0gIFBhdGNoIGJ5IE1pa2hhaWwgTm92aWtvdi4KLQotLSBJc3N1ZSAjMTM0NDc6IEFkZCBhIHRlc3QgZmlsZSB0byBob3N0IHJlZ3Jlc3Npb24gdGVzdHMgZm9yIGJ1Z3MgaW4gdGhlCi0gIHNjcmlwdHMgZm91bmQgaW4gdGhlIFRvb2xzIGRpcmVjdG9yeS4KLQotLSBJc3N1ZSAjMTA4ODE6IEZpeCB0ZXN0X3NpdGUgZmFpbHVyZSB3aXRoIE9TIFggZnJhbWV3b3JrIGJ1aWxkcy4KLQotLSBJc3N1ZSAjMTM5MDE6IFByZXZlbnQgdGVzdF9kaXN0dXRpbHMgZmFpbHVyZXMgb24gT1MgWCB3aXRoIC0tZW5hYmxlLXNoYXJlZC4KLQotLSBJc3N1ZSAjMTM4NjI6IEZpeCBzcHVyaW91cyBmYWlsdXJlIGluIHRlc3RfemxpYiBkdWUgdG8gcnVudGltZS9jb21waWxlIHRpbWUKLSAgbWlub3IgdmVyc2lvbnMgbm90IG1hdGNoaW5nLgotCi0tIElzc3VlICMxMjgwNDogRml4IHRlc3Rfc29ja2V0IGFuZCB0ZXN0X3VybGxpYjJuZXQgZmFpbHVyZXMgd2hlbiBydW5uaW5nIHRlc3RzCi0gIG9uIGEgc3lzdGVtIHdpdGhvdXQgaW50ZXJuZXQgYWNjZXNzLgotCi0tIElzc3VlICMxMzcyNjogRml4IHRoZSBhbWJpZ3VvdXMgLVMgZmxhZyBpbiByZWdydGVzdC4gSXQgaXMgLW8vLS1zbG93IGZvciBzbG93Ci0gIHRlc3RzLgotCi0tIElzc3VlICMxMTY1OTogRml4IFJlc291cmNlV2FybmluZyBpbiB0ZXN0X3N1YnByb2Nlc3MgaW50cm9kdWNlZCBieSAjMTE0NTkuCi0gIFBhdGNoIGJ5IEJlbiBIYXlkZW4uCi0KLS0gSXNzdWUgIzExNTc3OiBmaXggUmVzb3VyY2VXYXJuaW5nIHRyaWdnZXJlZCBieSBpbXByb3ZlZCBiaW5oZXggdGVzdCBjb3ZlcmFnZQotCi0tIElzc3VlICMxMTUwOTogU2lnbmlmaWNhbnRseSBpbmNyZWFzZSB0ZXN0IGNvdmVyYWdlIG9mIGZpbGVpbnB1dC4KLSAgUGF0Y2ggYnkgRGVudmVyIENvbmV5YmVhcmUgYXQgUHlDb24gMjAxMSBTcHJpbnRzLgotCi0tIElzc3VlICMxMTY4OTogRml4IGEgdmFyaWFibGUgc2NvcGluZyBlcnJvciBpbiBhbiBzcWxpdGUzIHRlc3QKLQotLSBJc3N1ZSAjMTM3ODY6IFJlbW92ZSB1bmltcGxlbWVudGVkICd0cmFjZScgbG9uZyBvcHRpb24gZnJvbSByZWdydGVzdC5weS4KLQotLSBJc3N1ZSAjMTM3MjU6IEZpeCByZWdydGVzdCB0byByZWNvZ25pemUgdGhlIGRvY3VtZW50ZWQgLWQgZmxhZy4KLSAgUGF0Y2ggYnkgRXJubyBUdWtpYS4KLQotLSBJc3N1ZSAjMTMzMDQ6IFNraXAgdGVzdCBjYXNlIGlmIHVzZXIgc2l0ZS1wYWNrYWdlcyBkaXNhYmxlZCAoLXMgb3IKLSAgUFlUSE9OTk9VU0VSU0lURSkuICAoUGF0Y2ggYnkgQ2FybCBNZXllcikKLQotLSBJc3N1ZSAjNTY2MTogQWRkIGEgdGVzdCBmb3IgRUNPTk5SRVNFVC9FUElQRSBoYW5kbGluZyB0byB0ZXN0X2FzeW5jb3JlLiBQYXRjaAotICBieSBYYXZpZXIgZGUgR2F5ZS4KLQotLSBJc3N1ZSAjMTMyMTg6IEZpeCB0ZXN0X3NzbCBmYWlsdXJlcyBvbiBEZWJpYW4vVWJ1bnR1LgotCi0tIFJlLWVuYWJsZSBsaWIydG8zJ3MgdGVzdF9wYXJzZXIucHkgdGVzdHMsIHRob3VnaCB3aXRoIGFuIGV4cGVjdGVkIGZhaWx1cmUKLSAgKHNlZSBpc3N1ZSAxMzEyNSkuCi0KLS0gSXNzdWUgIzEyNjU2OiBBZGQgdGVzdHMgZm9yIElQdjYgYW5kIFVuaXggc29ja2V0cyB0byB0ZXN0X2FzeW5jb3JlLgotCi0tIElzc3VlICM2NDg0OiBBZGQgdW5pdCB0ZXN0cyBmb3IgbWFpbGNhcCBtb2R1bGUgKHBhdGNoIGJ5IEdyZWdvcnkgTm9maSkKLQotLSBJc3N1ZSAjMTE2NTE6IEltcHJvdmUgdGhlIE1ha2VmaWxlIHRlc3QgdGFyZ2V0cyB0byBydW4gbW9yZSBvZiB0aGUgdGVzdCBzdWl0ZQotICBtb3JlIHF1aWNrbHkuIFRoZSAtLW11bHRpcHJvY2VzcyBvcHRpb24gaXMgbm93IGVuYWJsZWQgYnkgZGVmYXVsdCwgcmVkdWNpbmcKLSAgdGhlIGFtb3VudCBvZiB0aW1lIG5lZWRlZCB0byBydW4gdGhlIHRlc3RzLiAibWFrZSB0ZXN0IiBhbmQgIm1ha2UgcXVpY2t0ZXN0IgotICBub3cgaW5jbHVkZSBzb21lIHJlc291cmNlLWludGVuc2l2ZSB0ZXN0cywgYnV0IG5vIGxvbmdlciBydW4gdGhlIHRlc3Qgc3VpdGUKLSAgdHdpY2UgdG8gY2hlY2sgZm9yIGJ1Z3MgaW4gLnB5YyBnZW5lcmF0aW9uLiBUb29scy9zY3JpcHRzL3J1bl90ZXN0LnB5IHByb3ZpZGVzCi0gIGFuIGVhc3kgcGxhdGZvcm0taW5kZXBlbmRlbnQgd2F5IHRvIHJ1biB0ZXN0IHN1aXRlIHdpdGggc2Vuc2libGUgZGVmYXVsdHMuCi0KLS0gSXNzdWUgIzEyMzMxOiBUaGUgdGVzdCBzdWl0ZSBmb3IgdGhlIHBhY2thZ2luZyBtb2R1bGUgY2FuIG5vdyBydW4gZnJvbSBhbgotICBpbnN0YWxsZWQgUHl0aG9uLgotCi0tIElzc3VlICMxMjMzMTogVGhlIHRlc3Qgc3VpdGUgZm9yIGxpYjJ0bzMgY2FuIG5vdyBydW4gZnJvbSBhbiBpbnN0YWxsZWQKLSAgUHl0aG9uLgotCi0tIElzc3VlICMxMjYyNjogSW4gcmVncnRlc3QsIGFsbG93IHRvIGZpbHRlciB0ZXN0cyB1c2luZyBhIGdsb2IgZmlsdGVyCi0gIHdpdGggdGhlIGBgLW1gYCAob3IgYGAtLW1hdGNoYGApIG9wdGlvbi4gIFRoaXMgd29ya3Mgd2l0aCBhbGwgdGVzdCBjYXNlcwotICB1c2luZyB0aGUgdW5pdHRlc3QgbW9kdWxlLiAgVGhpcyBpcyB1c2VmdWwgd2l0aCBsb25nIHRlc3Qgc3VpdGVzCi0gIHN1Y2ggYXMgdGVzdF9pbyBvciB0ZXN0X3N1YnByb2Nlc3MuCi0KLS0gSXNzdWUgIzEyNjI0OiBJdCBpcyBub3cgcG9zc2libGUgdG8gZmFpbCBhZnRlciB0aGUgZmlyc3QgZmFpbHVyZSB3aGVuCi0gIHJ1bm5pbmcgaW4gdmVyYm9zZSBtb2RlIChgYC12YGAgb3IgYGAtV2BgKSwgYnkgdXNpbmcgdGhlIGBgLS1mYWlsZmFzdGBgCi0gIChvciBgYC1HYGApIG9wdGlvbiB0byByZWdydGVzdC4gIFRoaXMgaXMgdXNlZnVsIHdpdGggbG9uZyB0ZXN0IHN1aXRlcwotICBzdWNoIGFzIHRlc3RfaW8gb3IgdGVzdF9zdWJwcm9jZXNzLgotCi0tIElzc3VlICMxMjU4NzogQ29ycmVjdCBmYXVsdHkgdGVzdCBmaWxlIGFuZCByZWZlcmVuY2UgaW4gdGVzdF90b2tlbml6ZS4KLSAgKFBhdGNoIGJ5IFJvYmVydCBYaWFvKQotCi0tIElzc3VlICMxMjU3MzogQWRkIHJlc291cmNlIGNoZWNrcyBmb3IgZGFuZ2xpbmcgVGhyZWFkIGFuZCBQcm9jZXNzIG9iamVjdHMuCi0KLS0gSXNzdWUgIzEyNTQ5OiBDb3JyZWN0IHRlc3RfcGxhdGZvcm0gdG8gbm90IGZhaWwgd2hlbiBPUyBYIHJldHVybnMgJ3g4Nl82NCcKLSAgYXMgdGhlIHByb2Nlc3NvciB0eXBlIG9uIHNvbWUgTWFjIHN5c3RlbXMuCi0KLS0gU2tpcCBuZXR3b3JrIHRlc3RzIHdoZW4gZ2V0YWRkcmluZm8oKSByZXR1cm5zIEVBSV9BR0FJTiwgbWVhbmluZyBhIHRlbXBvcmFyeQotICBmYWlsdXJlIGluIG5hbWUgcmVzb2x1dGlvbi4KLQotLSBJc3N1ZSAjMTE4MTI6IFNvbHZlIHRyYW5zaWVudCBzb2NrZXQgZmFpbHVyZSB0byBjb25uZWN0IHRvICdsb2NhbGhvc3QnCi0gIGluIHRlc3RfdGVsbmV0bGliLnB5LgotCi0tIFNvbHZlZCBhIHBvdGVudGlhbCBkZWFkbG9jayBpbiB0ZXN0X3RlbG5ldGxpYi5weS4gUmVsYXRlZCB0byBpc3N1ZSAjMTE4MTIuCi0KLS0gQXZvaWQgZmFpbGluZyBpbiB0ZXN0X3JvYm90cGFyc2VyIHdoZW4gbXVlYmxlc21vcmFsZWRhLmNvbSBpcyBmbGFreSBhbmQKLSAgYW4gb3ZlcnplYWxvdXMgRE5TIHNlcnZpY2UgKGUuZy4gT3BlbkROUykgcmVkaXJlY3RzIHRvIGEgcGxhY2Vob2xkZXIKLSAgV2ViIHNpdGUuCi0KLS0gQXZvaWQgZmFpbGluZyBpbiB0ZXN0X3VybGxpYm5ldC50ZXN0X2JhZF9hZGRyZXNzIHdoZW4gc29tZSBvdmVyemVhbG91cwotICBETlMgc2VydmljZSAoZS5nLiBPcGVuRE5TKSByZXNvbHZlcyBhIG5vbi1leGlzdGVudCBkb21haW4gbmFtZS4gIFRoZSB0ZXN0Ci0gIGlzIG5vdyBza2lwcGVkIGluc3RlYWQuCi0KLS0gSXNzdWUgIzEyNDQwOiBXaGVuIHRlc3Rpbmcgd2hldGhlciBzb21lIGJpdHMgaW4gU1NMQ29udGV4dC5vcHRpb25zIGNhbiBiZQotICByZXNldCwgY2hlY2sgdGhlIHZlcnNpb24gb2YgdGhlIE9wZW5TU0wgaGVhZGVycyBQeXRob24gd2FzIGNvbXBpbGVkIGFnYWluc3QsCi0gIHJhdGhlciB0aGFuIHRoZSBydW50aW1lIHZlcnNpb24gb2YgdGhlIE9wZW5TU0wgbGlicmFyeS4KLQotLSBJc3N1ZSAjMTE1MTI6IEFkZCBhIHRlc3Qgc3VpdGUgZm9yIHRoZSBjZ2l0YiBtb2R1bGUuIFBhdGNoIGJ5IFJvYmJpZSBDbGVtb25zLgotCi0tIElzc3VlICMxMjQ5NzogSW5zdGFsbCB0ZXN0L2RhdGEgdG8gcHJldmVudCBmYWlsdXJlcyBvZiB0aGUgdmFyaW91cyBjb2RlY21hcHMKLSAgdGVzdHMuCi0KLS0gSXNzdWUgIzEyNDk2OiBJbnN0YWxsIHRlc3QvY2FwYXRoIGRpcmVjdG9yeSB0byBwcmV2ZW50IHRlc3RfY29ubmVjdF9jYXBhdGgKLSAgdGVzdGNhc2UgZmFpbHVyZSBpbiB0ZXN0X3NzbC4KLQotLSBJc3N1ZSAjMTI0Njk6IFJ1biB3YWtldXAgYW5kIHBlbmRpbmcgc2lnbmFsIHRlc3RzIGluIGEgc3VicHJvY2VzcyB0byBydW4gdGhlCi0gIHRlc3QgaW4gYSBmcmVzaCBwcm9jZXNzIHdpdGggb25seSBvbmUgdGhyZWFkIGFuZCB0byBub3QgY2hhbmdlIHNpZ25hbAotICBoYW5kbGluZyBvZiB0aGUgcGFyZW50IHByb2Nlc3MuCi0KLS0gSXNzdWUgIzg3MTY6IEF2b2lkIGNyYXNoZXMgY2F1c2VkIGJ5IEFxdWEgVGsgb24gT1NYIHdoZW4gYXR0ZW1wdGluZyB0byBydW4KLSAgdGVzdF90ayBvciB0ZXN0X3R0a19ndWlvbmx5IHVuZGVyIGEgdXNlcm5hbWUgdGhhdCBpcyBub3QgY3VycmVudGx5IGxvZ2dlZAotICBpbiB0byB0aGUgY29uc29sZSB3aW5kb3dzZXJ2ZXIgKGFzIG1heSBiZSB0aGUgY2FzZSB1bmRlciBidWlsZGJvdCBvciBzc2gpLgotCi0tIElzc3VlICMxMjQwNzogRXhwbGljaXRseSBza2lwIHRlc3RfY2FwaS5FbWJlZGRpbmdUZXN0IHVuZGVyIFdpbmRvd3MuCi0KLS0gSXNzdWUgIzEyNDAwOiByZWdydGVzdCAtVyBkb2Vzbid0IHJlcnVuIHRoZSB0ZXN0cyB0d2ljZSBhbnltb3JlLCBidXQgY2FwdHVyZXMKLSAgdGhlIG91dHB1dCBhbmQgZGlzcGxheXMgaXQgb24gZmFpbHVyZSBpbnN0ZWFkLiByZWdydGVzdCAtdiBkb2Vzbid0IHByaW50IHRoZQotICBlcnJvciB0d2ljZSBhbnltb3JlIGlmIHRoZXJlIGlzIG9ubHkgb25lIGVycm9yLgotCi0tIElzc3VlICMxMjE0MTogSW5zdGFsbCBjb3BpZXMgb2YgdGVtcGxhdGUgQyBtb2R1bGUgZmlsZSBzbyB0aGF0Ci0gIHRlc3RfYnVpbGRfZXh0IG9mIHRlc3RfZGlzdHV0aWxzIGFuZCB0ZXN0X2NvbW1hbmRfYnVpbGRfZXh0IG9mCi0gIHRlc3RfcGFja2FnaW5nIGFyZSBubyBsb25nZXIgc2lsZW50bHkgc2tpcHBlZCB3aGVuCi0gIHJ1biBvdXRzaWRlIG9mIGEgYnVpbGQgZGlyZWN0b3J5LgotCi0tIElzc3VlICM4NzQ2OiBBZGQgYWRkaXRpb25hbCB0ZXN0cyBmb3Igb3MuY2hmbGFncygpIGFuZCBvcy5sY2hmbGFncygpLgotICBQYXRjaCBieSBHYXJyZXR0IENvb3Blci4KLQotLSBJc3N1ZSAjMTA3MzY6IEZpeCB0ZXN0X3R0ayB0ZXN0X3dpZGdldHMgZmFpbHVyZXMgd2l0aCBDb2NvYSBUayA4LjUuOQotICAyLjggKyAgb24gTWFjIE9TIFguICAoUGF0Y2ggYnkgUm9uYWxkIE91c3NvcmVuKQotCi0tIElzc3VlICMxMjA1NzogQWRkIHRlc3RzIGZvciBJU08gMjAyMiBjb2RlY3MgKGlzbzIwMjJfanAsIGlzbzIwMjJfanBfMiwKLSAgaXNvMjAyMl9rcikuCi0KLS0gSXNzdWUgIzEyMDk2OiBGaXggYSByYWNlIGNvbmRpdGlvbiBpbiB0ZXN0X3RocmVhZGluZy50ZXN0X3dhaXRmb3IoKS4gUGF0Y2gKLSAgd3JpdHRlbiBieSBDaGFybGVzLUZyYW7Dp29pcyBOYXRhbGkuCi0KLS0gSXNzdWUgIzExNjE0OiBpbXBvcnQgX19oZWxsb19fIHByaW50cyAiSGVsbG8gV29ybGQhIi4gUGF0Y2ggd3JpdHRlbiBieQotICBBbmRyZWFzIFN0w7xocmsuCi0KLS0gSXNzdWUgIzU3MjM6IEltcHJvdmUganNvbiB0ZXN0cyB0byBiZSBleGVjdXRlZCB3aXRoIGFuZCB3aXRob3V0IGFjY2VsZXJhdGlvbnMuCi0KLS0gSXNzdWUgIzEyMDQxOiBNYWtlIHRlc3Rfd2FpdDMgbW9yZSByb2J1c3QuCi0KLS0gSXNzdWUgIzExODczOiBDaGFuZ2UgcmVnZXggaW4gdGVzdF9jb21waWxlYWxsIHRvIGZpeCBvY2Nhc2lvbmFsIGZhaWx1cmVzIHdoZW4KLSAgd2hlbiB0aGUgcmFuZG9tbHkgZ2VuZXJhdGVkIHRlbXBvcmFyeSBwYXRoIGhhcHBlbmVkIHRvIG1hdGNoIHRoZSByZWdleC4KLQotLSBJc3N1ZSAjMTE5NTg6IEZpeCBGVFAgdGVzdHMgZm9yIElQdjYsIGJpbmQgdG8gIjo6MSIgaW5zdGVhZCBvZiAibG9jYWxob3N0Ii4KLSAgUGF0Y2ggd3JpdHRlbiBieSBDaGFybGVzLUZyYW5jb2lzIE5hdGFsaS4KLQotLSBJc3N1ZSAjODQwNywgIzExODU5OiBGaXggdGVzdHMgb2YgdGVzdF9pbyB1c2luZyB0aHJlYWRzIGFuZCBhbiBhbGFybTogdXNlCi0gIHB0aHJlYWRfc2lnbWFzaygpIHRvIGVuc3VyZSB0aGF0IHRoZSBTSUdBTFJNIHNpZ25hbCBpcyByZWNlaXZlZCBieSB0aGUgbWFpbgotICB0aHJlYWQuCi0KLS0gSXNzdWUgIzExODExOiBGYWN0b3Igb3V0IGRldGVjdGlvbiBvZiBJUHY2IHN1cHBvcnQgb24gdGhlIGN1cnJlbnQgaG9zdAotICBhbmQgbWFrZSBpdCBhdmFpbGFibGUgYXMgYGB0ZXN0LnN1cHBvcnQuSVBWNl9FTkFCTEVEYGAuICBQYXRjaCBieQotICBDaGFybGVzLUZyYW7Dp29pcyBOYXRhbGkuCi0KLS0gSXNzdWUgIzEwOTE0OiBBZGQgYSBtaW5pbWFsIGVtYmVkZGluZyB0ZXN0IHRvIHRlc3RfY2FwaS4KLQotLSBJc3N1ZSAjMTEyMjM6IFNraXAgdGVzdF9sb2NrX2FjcXVpcmVfaW50ZXJydXB0aW9uKCkgYW5kCi0gIHRlc3RfcmxvY2tfYWNxdWlyZV9pbnRlcnJ1cHRpb24oKSBvZiB0ZXN0X3RocmVhZHNpZ25hbHMgaWYgYSB0aHJlYWQgbG9jayBpcwotICBpbXBsZW1lbnRlZCB1c2luZyBhIFBPU0lYIG11dGV4IGFuZCBhIFBPU0lYIGNvbmRpdGlvbiB2YXJpYWJsZS4gQSBQT1NJWAotICBjb25kaXRpb24gdmFyaWFibGUgY2Fubm90IGJlIGludGVycnVwdGVkIGJ5IGEgc2lnbmFsIChlLmcuIG9uIExpbnV4LCB0aGUKLSAgZnV0ZXggc3lzdGVtIGNhbGwgaXMgcmVzdGFydGVkKS4KLQotLSBJc3N1ZSAjMTE3OTA6IEZpeCBzcG9yYWRpYyBmYWlsdXJlcyBpbiB0ZXN0X211bHRpcHJvY2Vzc2luZy5XaXRoUHJvY2Vzc2VzVGVzdENvbmRpdGlvbi4KLQotLSBGaXggcG9zc2libGUgImZpbGUgYWxyZWFkeSBleGlzdHMiIGVycm9yIHdoZW4gcnVubmluZyB0aGUgdGVzdHMgaW4gcGFyYWxsZWwuCi0KLS0gSXNzdWUgIzExNzE5OiBGaXggbWVzc2FnZSBhYm91dCB1bmV4cGVjdGVkIHRlc3RfbXNpbGliIHNraXAgb24gbm9uLVdpbmRvd3MKLSAgcGxhdGZvcm1zLiBQYXRjaCBieSBOYWRlZW0gVmF3ZGEuCi0KLS0gSXNzdWUgIzExNzI3OiBBZGQgYSAtLXRpbWVvdXQgb3B0aW9uIHRvIHJlZ3J0ZXN0OiBpZiBhIHRlc3QgdGFrZXMgbW9yZSB0aGFuCi0gIFRJTUVPVVQgc2Vjb25kcywgZHVtcHMgdGhlIHRyYWNlYmFjayBvZiBhbGwgdGhyZWFkcyBhbmQgZXhpdHMuCi0KLS0gSXNzdWUgIzExNjUzOiBmaXggLVcgd2l0aCAtaiBpbiByZWdydGVzdC4KLQotLSBUaGUgZW1haWwgdGVzdCBzdWl0ZSBub3cgbGl2ZXMgaW4gdGhlIExpYi90ZXN0L3Rlc3RfZW1haWwgcGFja2FnZS4gIFRoZSB0ZXN0Ci0gIGhhcm5lc3MgY29kZSBoYXMgYWxzbyBiZWVuIG1vZGVybml6ZWQgdG8gYWxsb3cgdXNlIG9mIG5ldyB1bml0dGVzdCBmZWF0dXJlcy4KLQotLSByZWdydGVzdCBub3cgZGlzY292ZXJzIHRlc3QgcGFja2FnZXMgYXMgd2VsbCBhcyB0ZXN0IG1vZHVsZXMuCi0KLS0gSXNzdWUgIzExNTc3OiBpbXByb3ZlIHRlc3QgY292ZXJhZ2Ugb2YgYmluaGV4LnB5LiBQYXRjaCBieSBBcmthZHkgS29wbHlhcm92LgotCi0tIE5ldyB0ZXN0X2NyYXNoZXJzIGFkZGVkIHRvIGV4ZXJjaXNlIHRoZSBzY3JpcHRzIGluIHRoZSBMaWIvdGVzdC9jcmFzaGVycwotICBkaXJlY3RvcnkgYW5kIGNvbmZpcm0gdGhleSBmYWlsIGFzIGV4cGVjdGVkCi0KLS0gSXNzdWUgIzExNTc4OiBhZGRlZCB0ZXN0IGZvciB0aGUgdGltZWl0IG1vZHVsZS4gIFBhdGNoIGJ5IE1pY2hhZWwgSGVucnkuCi0KLS0gSXNzdWUgIzExNTAzOiBpbXByb3ZlIHRlc3QgY292ZXJhZ2Ugb2YgcG9zaXhwYXRoLnB5LiBQYXRjaCBieSBFdmFuIERhbmRyZWEuCi0KLS0gSXNzdWUgIzExNTA1OiBpbXByb3ZlcyB0ZXN0IGNvdmVyYWdlIG9mIHN0cmluZy5weSwgaW5jcmVhc2VzIGdyYW51bGFyaXR5IG9mCi0gIHN0cmluZy5Gb3JtYXR0ZXIgdGVzdHMuIEluaXRpYWwgcGF0Y2ggYnkgQWxpY2lhIEFybGVuLgotCi0tIElzc3VlICMxMTU0ODogSW1wcm92ZSB0ZXN0IGNvdmVyYWdlIG9mIHRoZSBzaHV0aWwgbW9kdWxlLiBQYXRjaCBieQotICBFdmFuIERhbmRyZWEuCi0KLS0gSXNzdWUgIzExNTU0OiBSZWFjdGl2YXRlZCB0ZXN0X2VtYWlsX2NvZGVjcy4KLQotLSBJc3N1ZSAjMTE1MDU6IGltcHJvdmVzIHRlc3QgY292ZXJhZ2Ugb2Ygc3RyaW5nLnB5LiBQYXRjaCBieSBBbGljaWEKLSAgQXJsZW4KLQotLSBJc3N1ZSAjMTE0OTA6IHRlc3Rfc3VicHJvY2Vzcy50ZXN0X2xlYWtpbmdfZmRzX29uX2Vycm9yIG5vIGxvbmdlciBnaXZlcyBhCi0gIGZhbHNlIHBvc2l0aXZlIGlmIHRoZSBsYXN0IGRpcmVjdG9yeSBpbiB0aGUgcGF0aCBpcyBpbmFjY2Vzc2libGUuCi0KLS0gSXNzdWUgIzExMjIzOiBGaXggdGVzdF90aHJlYWRzaWduYWxzIHRvIGZhaWwsIG5vdCBoYW5nLCB3aGVuIHRoZQotICBub24tc2VtYXBob3JlIGltcGxlbWVudGF0aW9uIG9mIGxvY2tzIGlzIHVzZWQgdW5kZXIgUE9TSVguCi0KLS0gSXNzdWUgIzEwOTExOiBBZGQgdGVzdHMgb24gQ0dJIHdpdGggbm9uLUFTQ0lJIGNoYXJhY3RlcnMuIFBhdGNoIHdyaXR0ZW4gYnkKLSAgUGllcnJlIFF1ZW50ZWwuCi0KLS0gSXNzdWUgIzk5MzE6IEZpeCBoYW5ncyBpbiBHVUkgdGVzdHMgdW5kZXIgV2luZG93cyBpbiBjZXJ0YWluIGNvbmRpdGlvbnMuCi0gIFBhdGNoIGJ5IEhpcm9rYXp1IFlhbWFtb3RvLgotCi0tIElzc3VlICMxMDUxMjogUHJvcGVybHkgY2xvc2Ugc29ja2V0cyB1bmRlciB0ZXN0LnRlc3RfY2dpLgotCi0tIElzc3VlICMxMDk5MjogTWFrZSB0ZXN0cyBwYXNzIHVuZGVyIGNvdmVyYWdlLgotCi0tIElzc3VlICMxMDgyNjogUHJldmVudCBzcG9yYWRpYyBmYWlsdXJlIGluIHRlc3Rfc3VicHJvY2VzcyBvbiBTb2xhcmlzIGR1ZQotICB0byBvcGVuIGRvb3IgZmlsZXMuCi0KLS0gSXNzdWUgIzEwOTkwOiBQcmV2ZW50IHRlc3RzIGZyb20gY2xvYmJlcmluZyBhIHNldCB0cmFjZSBmdW5jdGlvbi4KLQotQy1BUEkKLS0tLS0tCi0KLS0gSXNzdWUgIzEzNDUyOiBQeVVuaWNvZGVfRW5jb2RlRGVjaW1hbCgpIGRvZXNuJ3Qgc3VwcG9ydCBlcnJvciBoYW5kbGVycwotICBkaWZmZXJlbnQgdGhhbiAic3RyaWN0IiBhbnltb3JlLiBUaGUgY2FsbGVyIHdhcyB1bmFibGUgdG8gY29tcHV0ZSB0aGUKLSAgc2l6ZSBvZiB0aGUgb3V0cHV0IGJ1ZmZlcjogaXQgZGVwZW5kcyBvbiB0aGUgZXJyb3IgaGFuZGxlci4KLQotLSBJc3N1ZSAjMTM1NjA6IEFkZCBQeVVuaWNvZGVfRGVjb2RlTG9jYWxlKCksIFB5VW5pY29kZV9EZWNvZGVMb2NhbGVBbmRTaXplKCkKLSAgYW5kIFB5VW5pY29kZV9FbmNvZGVMb2NhbGUoKSBmdW5jdGlvbnMgdG8gdGhlIEMgQVBJIHRvIGRlY29kZS9lbmNvZGUgZnJvbS90bwotICB0aGUgY3VycmVudCBsb2NhbGUgZW5jb2RpbmcuCi0KLS0gSXNzdWUgIzEwODMxOiBQeVVuaWNvZGVfRnJvbUZvcm1hdCgpIHN1cHBvcnRzICVsaSwgJWxsaSBhbmQgJXppIGZvcm1hdHMuCi0KLS0gSXNzdWUgIzExMjQ2OiBGaXggUHlVbmljb2RlX0Zyb21Gb3JtYXQoIiVWIikgdG8gZGVjb2RlIHRoZSBieXRlIHN0cmluZyBmcm9tCi0gIFVURi04ICh3aXRoIHJlcGxhY2UgZXJyb3IgaGFuZGxlcikgaW5zdGVhZCBvZiBJU08tODg1OS0xIChpbiBzdHJpY3QgbW9kZSkuCi0gIFBhdGNoIHdyaXR0ZW4gYnkgUmF5IEFsbGVuLgotCi0tIElzc3VlICMxMDgzMDogRml4IFB5VW5pY29kZV9Gcm9tRm9ybWF0VigiJWMiKSBmb3Igbm9uLUJNUCBjaGFyYWN0ZXJzIG9uCi0gIG5hcnJvdyBidWlsZC4KLQotLSBBZGQgUHlPYmplY3RfR2VuZXJpY0dldERpY3QgYW5kIFB5T2JqZWN0X0dlbmVyaVNldERpY3QuIFRoZXkgYXJlIGdlbmVyaWMKLSAgaW1wbGVtZW50YXRpb25zIGZvciB0aGUgZ2V0dGVyIGFuZCBzZXR0ZXIgb2YgYSBgYF9fZGljdF9fYGAgZGVzY3JpcHRvciBvZiBDCi0gIHR5cGVzLgotCi0tIElzc3VlICMxMzcyNzogQWRkIDMgbWFjcm9zIHRvIGFjY2VzcyBQeURhdGVUaW1lX0RlbHRhIG1lbWJlcnM6Ci0gIFB5RGF0ZVRpbWVfREVMVEFfR0VUX0RBWVMsIFB5RGF0ZVRpbWVfREVMVEFfR0VUX1NFQ09ORFMsCi0gIFB5RGF0ZVRpbWVfREVMVEFfR0VUX01JQ1JPU0VDT05EUy4KLQotLSBJc3N1ZSAjMTA1NDI6IEFkZCA0IG1hY3JvcyB0byB3b3JrIHdpdGggc3Vycm9nYXRlczogUHlfVU5JQ09ERV9JU19TVVJST0dBVEUsCi0gIFB5X1VOSUNPREVfSVNfSElHSF9TVVJST0dBVEUsIFB5X1VOSUNPREVfSVNfTE9XX1NVUlJPR0FURSwKLSAgUHlfVU5JQ09ERV9KT0lOX1NVUlJPR0FURVMuCi0KLS0gSXNzdWUgIzEyNzI0OiBBZGQgUHlfUkVUVVJOX05PVElNUExFTUVOVEVEIG1hY3JvIGZvciByZXR1cm5pbmcgTm90SW1wbGVtZW50ZWQuCi0KLS0gUFlfUEFUQ0hMRVZFTF9SRVZJU0lPTiBoYXMgYmVlbiByZW1vdmVkLCBzaW5jZSBpdCdzIG1lYW5pbmdsZXNzIHdpdGgKLSAgTWVyY3VyaWFsLgotCi0tIElzc3VlICMxMjE3MzogVGhlIGZpcnN0IGFyZ3VtZW50IG9mIFB5SW1wb3J0X0ltcG9ydE1vZHVsZUxldmVsIGlzIG5vdyBgY29uc3QKLSAgY2hhciAqYCBpbnN0ZWFkIG9mIGBjaGFyICpgLgotCi0tIElzc3VlICMxMjM4MDogUHlBcmdfUGFyc2VUdXBsZSBub3cgYWNjZXB0cyBhIGJ5dGVhcnJheSBmb3IgdGhlICdjJyBmb3JtYXQuCi0KLURvY3VtZW50YXRpb24KLS0tLS0tLS0tLS0tLS0KLQotLSBJc3N1ZSAjMjMwMDY6IEltcHJvdmUgdGhlIGRvY3VtZW50YXRpb24gYW5kIGluZGV4aW5nIG9mIGRpY3QuX19taXNzaW5nX18uCi0gIEFkZCBhbiBlbnRyeSBpbiB0aGUgbGFuZ3VhZ2UgZGF0YW1vZGVsIHNwZWNpYWwgbWV0aG9kcyBzZWN0aW9uLgotICBSZXZpc2UgYW5kIGluZGV4IGl0cyBkaXNjdXNzaW9uIGluIHRoZSBzdGR0eXBlcyBtYXBwaW5nL2RpY3Qgc2VjdGlvbi4KLQotLSBJc3N1ZSAjMTM5ODk6IERvY3VtZW50IHRoYXQgR3ppcEZpbGUgZG9lcyBub3Qgc3VwcG9ydCB0ZXh0IG1vZGUsIGFuZCBnaXZlIGEKLSAgbW9yZSBoZWxwZnVsIGVycm9yIG1lc3NhZ2Ugd2hlbiBvcGVuZWQgd2l0aCBhbiBpbnZhbGlkIG1vZGUgc3RyaW5nLgotCi0tIElzc3VlICMxMzkyMTogVW5kb2N1bWVudCBhbmQgY2xlYW4gdXAgc3FsaXRlMy5PcHRpbWl6ZWRVbmljb2RlLAotICB3aGljaCBpcyBvYnNvbGV0ZSBpbiBQeXRob24gMy54LiBJdCdzIG5vdyBhbGlhc2VkIHRvIHN0ciBmb3IKLSAgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkuCi0KLS0gSXNzdWUgIzEyMTAyOiBEb2N1bWVudCB0aGF0IGJ1ZmZlcmVkIGZpbGVzIG11c3QgYmUgZmx1c2hlZCBiZWZvcmUgYmVpbmcgdXNlZAotICB3aXRoIG1tYXAuIFBhdGNoIGJ5IFN0ZWZmZW4gRGFvZGUgTnVycG1lc28uCi0KLS0gSXNzdWUgIzg5ODI6IEltcHJvdmUgdGhlIGRvY3VtZW50YXRpb24gZm9yIHRoZSBhcmdwYXJzZSBOYW1lc3BhY2Ugb2JqZWN0LgotCi0tIElzc3VlICM5MzQzOiBEb2N1bWVudCB0aGF0IGFyZ3BhcnNlIHBhcmVudCBwYXJzZXJzIG11c3QgYmUgY29uZmlndXJlZCBiZWZvcmUKLSAgdGhlaXIgY2hpbGRyZW4uCi0KLS0gSXNzdWUgIzEzNDk4OiBDbGFyaWZ5IGRvY3Mgb2Ygb3MubWFrZWRpcnMoKSdzIGV4aXN0X29rIGFyZ3VtZW50LiAgRG9uZSB3aXRoCi0gIGdyZWF0IG5hdGl2ZS1zcGVha2VyIGhlbHAgZnJvbSBSLiBEYXZpZCBNdXJyYXkuCi0KLS0gSXNzdWVzICMxMzQ5MSBhbmQgIzEzOTk1OiBGaXggbWFueSBlcnJvcnMgaW4gc3FsaXRlMyBkb2N1bWVudGF0aW9uLgotICBJbml0aWFsIHBhdGNoIGZvciAjMTM0OTEgYnkgSm9oYW5uZXMgVm9nZWwuCi0KLS0gSXNzdWUgIzEzNDAyOiBEb2N1bWVudCBhYnNvbHV0ZW5lc3Mgb2Ygc3lzLmV4ZWN1dGFibGUuCi0KLS0gSXNzdWUgIzEzODgzOiBQWVRIT05DQVNFT0sgYWxzbyB3b3JrcyBvbiBPUyBYLgotCi0tIElzc3VlICM5MDIxOiBBZGQgYW4gaW50cm9kdWN0aW9uIHRvIHRoZSBjb3B5IG1vZHVsZSBkb2N1bWVudGF0aW9uLgotCi0tIElzc3VlICM2MDA1OiBFeGFtcGxlcyBpbiB0aGUgc29ja2V0IGxpYnJhcnkgZG9jdW1lbnRhdGlvbiB1c2Ugc2VuZGFsbCwgd2hlcmUKLSAgcmVsZXZhbnQsIGluc3RlYWQgc2VuZCBtZXRob2QuCi0KLS0gSXNzdWUgIzEyNzk4OiBVcGRhdGVkIHRoZSBtaW1ldHlwZXMgZG9jdW1lbnRhdGlvbi4KLQotLSBJc3N1ZSAjMTI5NDk6IERvY3VtZW50IHRoZSBrd29ubHlhcmdjb3VudCBhcmd1bWVudCBmb3IgdGhlIFB5Q29kZV9OZXcKLSAgQyBBUEkgZnVuY3Rpb24uCi0KLS0gSXNzdWUgIzEzNTEzOiBGaXggaW8uSU9CYXNlIGRvY3VtZW50YXRpb24gdG8gY29ycmVjdGx5IGxpbmsgdG8gdGhlCi0gIGlvLklPQmFzZS5yZWFkbGluZSBtZXRob2QgaW5zdGVhZCBvZiB0aGUgcmVhZGxpbmUgbW9kdWxlLgotCi0tIElzc3VlICMxMzIzNzogUmVvcmdhbmlzZSBzdWJwcm9jZXNzIGRvY3VtZW50YXRpb24gdG8gZW1waGFzaXNlIGNvbnZlbmllbmNlCi0gIGZ1bmN0aW9ucyBhbmQgdGhlIG1vc3QgY29tbW9ubHkgbmVlZGVkIGFyZ3VtZW50cyB0byBQb3Blbi4KLQotLSBJc3N1ZSAjMTMxNDE6IERlbW9uc3RyYXRlIHJlY29tbWVuZGVkIHN0eWxlIGZvciBzb2NrZXRzZXJ2ZXIgZXhhbXBsZXMuCi0KLS0gSXNzdWUgIzExODE4OiBGaXggdGVtcGZpbGUgZXhhbXBsZXMgZm9yIFB5dGhvbiAzLgotCi0KICoqKEZvciBpbmZvcm1hdGlvbiBhYm91dCBvbGRlciB2ZXJzaW9ucywgY29uc3VsdCB0aGUgSElTVE9SWSBmaWxlLikqKgpkaWZmIC0tZ2l0IGEvTWlzYy9jb3Zlcml0eV9tb2RlbC5jIGIvTWlzYy9jb3Zlcml0eV9tb2RlbC5jCmluZGV4IDU3ZjNhZWIuLjQyMWQ1NGQgMTAwNjQ0Ci0tLSBhL01pc2MvY292ZXJpdHlfbW9kZWwuYworKysgYi9NaXNjL2NvdmVyaXR5X21vZGVsLmMKQEAgLTg1LDcgKzg1LDcgQEAKIH0KIAogLyogUHl0aG9uL2ZpbGV1dGlscy5jICovCi13Y2hhcl90ICpfUHlfY2hhcjJ3Y2hhcihjb25zdCBjaGFyKiBhcmcsIHNpemVfdCAqc2l6ZSkKK3djaGFyX3QgKlB5X0RlY29kZUxvY2FsZShjb25zdCBjaGFyKiBhcmcsIHNpemVfdCAqc2l6ZSkKIHsKICAgIHdjaGFyX3QgKnc7CiAgICAgX19jb3Zlcml0eV90YWludGVkX2RhdGFfc2lua19fKGFyZyk7CmRpZmYgLS1naXQgYS9Nb2R1bGVzL1JFQURNRSBiL01vZHVsZXMvUkVBRE1FCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjliNzlmNTMKLS0tIC9kZXYvbnVsbAorKysgYi9Nb2R1bGVzL1JFQURNRQpAQCAtMCwwICsxLDIgQEAKK1NvdXJjZSBmaWxlcyBmb3Igc3RhbmRhcmQgbGlicmFyeSBleHRlbnNpb24gbW9kdWxlcywKK2FuZCBmb3JtZXIgZXh0ZW5zaW9uIG1vZHVsZXMgdGhhdCBhcmUgbm93IGJ1aWx0aW4gbW9kdWxlcy4KZGlmZiAtLWdpdCBhL01vZHVsZXMvU2V0dXAuY29uZmlnLmluIGIvTW9kdWxlcy9TZXR1cC5jb25maWcuaW4KaW5kZXggNWFjMjQwNC4uYWRhYzAzMCAxMDA2NDQKLS0tIGEvTW9kdWxlcy9TZXR1cC5jb25maWcuaW4KKysrIGIvTW9kdWxlcy9TZXR1cC5jb25maWcuaW4KQEAgLTcsNyArNyw3IEBACiBAVVNFX1RIUkVBRF9NT0RVTEVAX3RocmVhZCBfdGhyZWFkbW9kdWxlLmMKIAogIyBUaGUgc2lnbmFsIG1vZHVsZQotQFVTRV9TSUdOQUxfTU9EVUxFQHNpZ25hbCBzaWduYWxtb2R1bGUuYworQFVTRV9TSUdOQUxfTU9EVUxFQF9zaWduYWwgc2lnbmFsbW9kdWxlLmMKIAogIyBUaGUgcmVzdCBvZiB0aGUgbW9kdWxlcyBwcmV2aW91c2x5IGxpc3RlZCBpbiB0aGlzIGZpbGUgYXJlIGJ1aWx0CiAjIGJ5IHRoZSBzZXR1cC5weSBzY3JpcHQgaW4gUHl0aG9uIDIuMSBhbmQgbGF0ZXIuCmRpZmYgLS1naXQgYS9Nb2R1bGVzL1NldHVwLmRpc3QgYi9Nb2R1bGVzL1NldHVwLmRpc3QKaW5kZXggMDFmYjg1Zi4uZWU4NGRmNCAxMDA2NDQKLS0tIGEvTW9kdWxlcy9TZXR1cC5kaXN0CisrKyBiL01vZHVsZXMvU2V0dXAuZGlzdApAQCAtMTE4LDYgKzExOCw3IEBACiBpdGVydG9vbHMgaXRlcnRvb2xzbW9kdWxlLmMgICAgIyBGdW5jdGlvbnMgY3JlYXRpbmcgaXRlcmF0b3JzIGZvciBlZmZpY2llbnQgbG9vcGluZwogYXRleGl0IGF0ZXhpdG1vZHVsZS5jICAgICAgIyBSZWdpc3RlciBmdW5jdGlvbnMgdG8gYmUgcnVuIGF0IGludGVycHJldGVyLXNodXRkb3duCiBfc3RhdCBfc3RhdC5jCQkJIyBzdGF0LmggaW50ZXJmYWNlCit0aW1lIHRpbWVtb2R1bGUuYwkJIyB0aW1lIG1vZHVsZQogCiAjIGFjY2VzcyB0byBJU08gQyBsb2NhbGUgc3VwcG9ydAogX2xvY2FsZSBfbG9jYWxlbW9kdWxlLmMgICMgLWxpbnRsCmRpZmYgLS1naXQgYS9Nb2R1bGVzL19iejJtb2R1bGUuYyBiL01vZHVsZXMvX2J6Mm1vZHVsZS5jCmluZGV4IGU2NTJmNGQuLmYyODRjZDYgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvX2J6Mm1vZHVsZS5jCisrKyBiL01vZHVsZXMvX2J6Mm1vZHVsZS5jCkBAIC01MSw2ICs1MSwxNCBAQAogICAgIGJ6X3N0cmVhbSBienM7CiAgICAgY2hhciBlb2Y7ICAgICAgICAgICAvKiBUX0JPT0wgZXhwZWN0cyBhIGNoYXIgKi8KICAgICBQeU9iamVjdCAqdW51c2VkX2RhdGE7CisgICAgY2hhciBuZWVkc19pbnB1dDsKKyAgICBjaGFyICppbnB1dF9idWZmZXI7CisgICAgc2l6ZV90IGlucHV0X2J1ZmZlcl9zaXplOworCisgICAgLyogYnpzLT5hdmFpbF9pbiBpcyBvbmx5IDMyIGJpdCwgc28gd2Ugc3RvcmUgdGhlIHRydWUgbGVuZ3RoCisgICAgICAgc2VwYXJhdGVseS4gQ29udmVyc2lvbiBhbmQgbG9vcGluZyBpcyBlbmNhcHN1bGF0ZWQgaW4KKyAgICAgICBkZWNvbXByZXNzX2J1ZigpICovCisgICAgc2l6ZV90IGJ6c19hdmFpbF9pbl9yZWFsOwogI2lmZGVmIFdJVEhfVEhSRUFECiAgICAgUHlUaHJlYWRfdHlwZV9sb2NrIGxvY2s7CiAjZW5kaWYKQEAgLTExMSwxOSArMTE5LDIzIEBACiB9CiAKICNpZiBCVUZTSVogPCA4MTkyCi0jZGVmaW5lIFNNQUxMQ0hVTksgODE5MgorI2RlZmluZSBJTklUSUFMX0JVRkZFUl9TSVpFIDgxOTIKICNlbHNlCi0jZGVmaW5lIFNNQUxMQ0hVTksgQlVGU0laCisjZGVmaW5lIElOSVRJQUxfQlVGRkVSX1NJWkUgQlVGU0laCiAjZW5kaWYKIAogc3RhdGljIGludAotZ3Jvd19idWZmZXIoUHlPYmplY3QgKipidWYpCitncm93X2J1ZmZlcihQeU9iamVjdCAqKmJ1ZiwgUHlfc3NpemVfdCBtYXhfbGVuZ3RoKQogewogICAgIC8qIEV4cGFuZCB0aGUgYnVmZmVyIGJ5IGFuIGFtb3VudCBwcm9wb3J0aW9uYWwgdG8gdGhlIGN1cnJlbnQgc2l6ZSwKICAgICAgICBnaXZpbmcgdXMgYW1vcnRpemVkIGxpbmVhci10aW1lIGJlaGF2aW9yLiBVc2UgYSBsZXNzLXRoYW4tZG91YmxlCiAgICAgICAgZ3Jvd3RoIGZhY3RvciB0byBhdm9pZCBleGNlc3NpdmUgYWxsb2NhdGlvbi4gKi8KICAgICBzaXplX3Qgc2l6ZSA9IFB5Qnl0ZXNfR0VUX1NJWkUoKmJ1Zik7CiAgICAgc2l6ZV90IG5ld19zaXplID0gc2l6ZSArIChzaXplID4+IDMpICsgNjsKKworICAgIGlmIChtYXhfbGVuZ3RoID4gMCAmJiBuZXdfc2l6ZSA+IChzaXplX3QpIG1heF9sZW5ndGgpCisgICAgICAgIG5ld19zaXplID0gKHNpemVfdCkgbWF4X2xlbmd0aDsKKwogICAgIGlmIChuZXdfc2l6ZSA+IHNpemUpIHsKICAgICAgICAgcmV0dXJuIF9QeUJ5dGVzX1Jlc2l6ZShidWYsIG5ld19zaXplKTsKICAgICB9IGVsc2UgeyAgLyogb3ZlcmZsb3cgKi8KQEAgLTE0MiwxNCArMTU0LDE0IEBACiAgICAgc2l6ZV90IGRhdGFfc2l6ZSA9IDA7CiAgICAgUHlPYmplY3QgKnJlc3VsdDsKIAotICAgIHJlc3VsdCA9IFB5Qnl0ZXNfRnJvbVN0cmluZ0FuZFNpemUoTlVMTCwgU01BTExDSFVOSyk7CisgICAgcmVzdWx0ID0gUHlCeXRlc19Gcm9tU3RyaW5nQW5kU2l6ZShOVUxMLCBJTklUSUFMX0JVRkZFUl9TSVpFKTsKICAgICBpZiAocmVzdWx0ID09IE5VTEwpCiAgICAgICAgIHJldHVybiBOVUxMOwogCiAgICAgYy0+YnpzLm5leHRfaW4gPSBkYXRhOwogICAgIGMtPmJ6cy5hdmFpbF9pbiA9IDA7CiAgICAgYy0+YnpzLm5leHRfb3V0ID0gUHlCeXRlc19BU19TVFJJTkcocmVzdWx0KTsKLSAgICBjLT5ienMuYXZhaWxfb3V0ID0gU01BTExDSFVOSzsKKyAgICBjLT5ienMuYXZhaWxfb3V0ID0gSU5JVElBTF9CVUZGRVJfU0laRTsKICAgICBmb3IgKDs7KSB7CiAgICAgICAgIGNoYXIgKnRoaXNfb3V0OwogICAgICAgICBpbnQgYnplcnJvcjsKQEAgLTE2OCw3ICsxODAsNyBAQAogICAgICAgICBpZiAoYy0+YnpzLmF2YWlsX291dCA9PSAwKSB7CiAgICAgICAgICAgICBzaXplX3QgYnVmZmVyX2xlZnQgPSBQeUJ5dGVzX0dFVF9TSVpFKHJlc3VsdCkgLSBkYXRhX3NpemU7CiAgICAgICAgICAgICBpZiAoYnVmZmVyX2xlZnQgPT0gMCkgewotICAgICAgICAgICAgICAgIGlmIChncm93X2J1ZmZlcigmcmVzdWx0KSA8IDApCisgICAgICAgICAgICAgICAgaWYgKGdyb3dfYnVmZmVyKCZyZXN1bHQsIC0xKSA8IDApCiAgICAgICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7CiAgICAgICAgICAgICAgICAgYy0+YnpzLm5leHRfb3V0ID0gUHlCeXRlc19BU19TVFJJTkcocmVzdWx0KSArIGRhdGFfc2l6ZTsKICAgICAgICAgICAgICAgICBidWZmZXJfbGVmdCA9IFB5Qnl0ZXNfR0VUX1NJWkUocmVzdWx0KSAtIGRhdGFfc2l6ZTsKQEAgLTE4OCw3ICsyMDAsNyBAQAogICAgICAgICBpZiAoYWN0aW9uID09IEJaX0ZJTklTSCAmJiBiemVycm9yID09IEJaX1NUUkVBTV9FTkQpCiAgICAgICAgICAgICBicmVhazsKICAgICB9Ci0gICAgaWYgKGRhdGFfc2l6ZSAhPSBQeUJ5dGVzX0dFVF9TSVpFKHJlc3VsdCkpCisgICAgaWYgKGRhdGFfc2l6ZSAhPSAoc2l6ZV90KVB5Qnl0ZXNfR0VUX1NJWkUocmVzdWx0KSkKICAgICAgICAgaWYgKF9QeUJ5dGVzX1Jlc2l6ZSgmcmVzdWx0LCBkYXRhX3NpemUpIDwgMCkKICAgICAgICAgICAgIGdvdG8gZXJyb3I7CiAgICAgcmV0dXJuIHJlc3VsdDsKQEAgLTQwMiw2NCArNDE0LDE3NiBAQAogCiAvKiBCWjJEZWNvbXByZXNzb3IgY2xhc3MuICovCiAKLXN0YXRpYyBQeU9iamVjdCAqCi1kZWNvbXByZXNzKEJaMkRlY29tcHJlc3NvciAqZCwgY2hhciAqZGF0YSwgc2l6ZV90IGxlbikKKy8qIERlY29tcHJlc3MgZGF0YSBvZiBsZW5ndGggZC0+YnpzX2F2YWlsX2luX3JlYWwgaW4gZC0+YnpzLm5leHRfaW4uICBUaGUgb3V0cHV0CisgICBidWZmZXIgaXMgYWxsb2NhdGVkIGR5bmFtaWNhbGx5IGFuZCByZXR1cm5lZC4gIEF0IG1vc3QgbWF4X2xlbmd0aCBieXRlcyBhcmUKKyAgIHJldHVybmVkLCBzbyBzb21lIG9mIHRoZSBpbnB1dCBtYXkgbm90IGJlIGNvbnN1bWVkLiBkLT5ienMubmV4dF9pbiBhbmQKKyAgIGQtPmJ6c19hdmFpbF9pbl9yZWFsIGFyZSB1cGRhdGVkIHRvIHJlZmxlY3QgdGhlIGNvbnN1bWVkIGlucHV0LiAqLworc3RhdGljIFB5T2JqZWN0KgorZGVjb21wcmVzc19idWYoQloyRGVjb21wcmVzc29yICpkLCBQeV9zc2l6ZV90IG1heF9sZW5ndGgpCiB7Ci0gICAgc2l6ZV90IGRhdGFfc2l6ZSA9IDA7CisgICAgLyogZGF0YV9zaXplIGlzIHN0cmljdGx5IHBvc2l0aXZlLCBidXQgYmVjYXVzZSB3ZSByZXBlYXRlZGx5IGhhdmUgdG8KKyAgICAgICBjb21wYXJlIGFnYWluc3QgbWF4X2xlbmd0aCBhbmQgUHlCeXRlc19HRVRfU0laRSB3ZSBkZWNsYXJlIGl0IGFzCisgICAgICAgc2lnbmVkICovCisgICAgUHlfc3NpemVfdCBkYXRhX3NpemUgPSAwOwogICAgIFB5T2JqZWN0ICpyZXN1bHQ7CisgICAgYnpfc3RyZWFtICpienMgPSAmZC0+YnpzOwogCi0gICAgcmVzdWx0ID0gUHlCeXRlc19Gcm9tU3RyaW5nQW5kU2l6ZShOVUxMLCBTTUFMTENIVU5LKTsKKyAgICBpZiAobWF4X2xlbmd0aCA8IDAgfHwgbWF4X2xlbmd0aCA+PSBJTklUSUFMX0JVRkZFUl9TSVpFKQorICAgICAgICByZXN1bHQgPSBQeUJ5dGVzX0Zyb21TdHJpbmdBbmRTaXplKE5VTEwsIElOSVRJQUxfQlVGRkVSX1NJWkUpOworICAgIGVsc2UKKyAgICAgICAgcmVzdWx0ID0gUHlCeXRlc19Gcm9tU3RyaW5nQW5kU2l6ZShOVUxMLCBtYXhfbGVuZ3RoKTsKICAgICBpZiAocmVzdWx0ID09IE5VTEwpCi0gICAgICAgIHJldHVybiByZXN1bHQ7Ci0gICAgZC0+YnpzLm5leHRfaW4gPSBkYXRhOwotICAgIC8qIE9uIGEgNjQtYml0IHN5c3RlbSwgbGVuIG1pZ2h0IG5vdCBmaXQgaW4gYXZhaWxfaW4gKGFuIHVuc2lnbmVkIGludCkuCi0gICAgICAgRG8gZGVjb21wcmVzc2lvbiBpbiBjaHVua3Mgb2Ygbm8gbW9yZSB0aGFuIFVJTlRfTUFYIGJ5dGVzIGVhY2guICovCi0gICAgZC0+YnpzLmF2YWlsX2luID0gKHVuc2lnbmVkIGludClQeV9NSU4obGVuLCBVSU5UX01BWCk7Ci0gICAgbGVuIC09IGQtPmJ6cy5hdmFpbF9pbjsKLSAgICBkLT5ienMubmV4dF9vdXQgPSBQeUJ5dGVzX0FTX1NUUklORyhyZXN1bHQpOwotICAgIGQtPmJ6cy5hdmFpbF9vdXQgPSBTTUFMTENIVU5LOworICAgICAgICByZXR1cm4gTlVMTDsKKworICAgIGJ6cy0+bmV4dF9vdXQgPSBQeUJ5dGVzX0FTX1NUUklORyhyZXN1bHQpOwogICAgIGZvciAoOzspIHsKLSAgICAgICAgY2hhciAqdGhpc19vdXQ7Ci0gICAgICAgIGludCBiemVycm9yOworICAgICAgICBpbnQgYnpyZXQ7CisgICAgICAgIHNpemVfdCBhdmFpbDsKKworICAgICAgICAvKiBPbiBhIDY0LWJpdCBzeXN0ZW0sIGJ1ZmZlciBsZW5ndGggbWlnaHQgbm90IGZpdCBpbiBhdmFpbF9vdXQsIHNvIHdlCisgICAgICAgICAgIGRvIGRlY29tcHJlc3Npb24gaW4gY2h1bmtzIG9mIG5vIG1vcmUgdGhhbiBVSU5UX01BWCBieXRlcworICAgICAgICAgICBlYWNoLiBOb3RlIHRoYXQgdGhlIGV4cHJlc3Npb24gZm9yIGBhdmFpbGAgaXMgZ3VhcmFudGVlZCB0byBiZQorICAgICAgICAgICBwb3NpdGl2ZSwgc28gdGhlIGNhc3QgaXMgc2FmZS4gKi8KKyAgICAgICAgYXZhaWwgPSAoc2l6ZV90KSAoUHlCeXRlc19HRVRfU0laRShyZXN1bHQpIC0gZGF0YV9zaXplKTsKKyAgICAgICAgYnpzLT5hdmFpbF9vdXQgPSAodW5zaWduZWQgaW50KVB5X01JTihhdmFpbCwgVUlOVF9NQVgpOworICAgICAgICBienMtPmF2YWlsX2luID0gKHVuc2lnbmVkIGludClQeV9NSU4oZC0+YnpzX2F2YWlsX2luX3JlYWwsIFVJTlRfTUFYKTsKKyAgICAgICAgZC0+YnpzX2F2YWlsX2luX3JlYWwgLT0gYnpzLT5hdmFpbF9pbjsKIAogICAgICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCi0gICAgICAgIHRoaXNfb3V0ID0gZC0+YnpzLm5leHRfb3V0OwotICAgICAgICBiemVycm9yID0gQloyX2J6RGVjb21wcmVzcygmZC0+YnpzKTsKLSAgICAgICAgZGF0YV9zaXplICs9IGQtPmJ6cy5uZXh0X291dCAtIHRoaXNfb3V0OworICAgICAgICBienJldCA9IEJaMl9iekRlY29tcHJlc3MoYnpzKTsKKyAgICAgICAgZGF0YV9zaXplID0gYnpzLT5uZXh0X291dCAtIFB5Qnl0ZXNfQVNfU1RSSU5HKHJlc3VsdCk7CisgICAgICAgIGQtPmJ6c19hdmFpbF9pbl9yZWFsICs9IGJ6cy0+YXZhaWxfaW47CiAgICAgICAgIFB5X0VORF9BTExPV19USFJFQURTCi0gICAgICAgIGlmIChjYXRjaF9iejJfZXJyb3IoYnplcnJvcikpCisgICAgICAgIGlmIChjYXRjaF9iejJfZXJyb3IoYnpyZXQpKQogICAgICAgICAgICAgZ290byBlcnJvcjsKLSAgICAgICAgaWYgKGJ6ZXJyb3IgPT0gQlpfU1RSRUFNX0VORCkgeworICAgICAgICBpZiAoYnpyZXQgPT0gQlpfU1RSRUFNX0VORCkgewogICAgICAgICAgICAgZC0+ZW9mID0gMTsKLSAgICAgICAgICAgIGxlbiArPSBkLT5ienMuYXZhaWxfaW47Ci0gICAgICAgICAgICBpZiAobGVuID4gMCkgeyAvKiBTYXZlIGxlZnRvdmVyIGlucHV0IHRvIHVudXNlZF9kYXRhICovCi0gICAgICAgICAgICAgICAgUHlfQ0xFQVIoZC0+dW51c2VkX2RhdGEpOwotICAgICAgICAgICAgICAgIGQtPnVudXNlZF9kYXRhID0gUHlCeXRlc19Gcm9tU3RyaW5nQW5kU2l6ZShkLT5ienMubmV4dF9pbiwgbGVuKTsKLSAgICAgICAgICAgICAgICBpZiAoZC0+dW51c2VkX2RhdGEgPT0gTlVMTCkKLSAgICAgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKLSAgICAgICAgICAgIH0KICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAgICAgIGlmIChkLT5ienMuYXZhaWxfaW4gPT0gMCkgewotICAgICAgICAgICAgaWYgKGxlbiA9PSAwKQorICAgICAgICB9IGVsc2UgaWYgKGQtPmJ6c19hdmFpbF9pbl9yZWFsID09IDApIHsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9IGVsc2UgaWYgKGJ6cy0+YXZhaWxfb3V0ID09IDApIHsKKyAgICAgICAgICAgIGlmIChkYXRhX3NpemUgPT0gbWF4X2xlbmd0aCkKICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGQtPmJ6cy5hdmFpbF9pbiA9ICh1bnNpZ25lZCBpbnQpUHlfTUlOKGxlbiwgVUlOVF9NQVgpOwotICAgICAgICAgICAgbGVuIC09IGQtPmJ6cy5hdmFpbF9pbjsKLSAgICAgICAgfQotICAgICAgICBpZiAoZC0+YnpzLmF2YWlsX291dCA9PSAwKSB7Ci0gICAgICAgICAgICBzaXplX3QgYnVmZmVyX2xlZnQgPSBQeUJ5dGVzX0dFVF9TSVpFKHJlc3VsdCkgLSBkYXRhX3NpemU7Ci0gICAgICAgICAgICBpZiAoYnVmZmVyX2xlZnQgPT0gMCkgewotICAgICAgICAgICAgICAgIGlmIChncm93X2J1ZmZlcigmcmVzdWx0KSA8IDApCi0gICAgICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7Ci0gICAgICAgICAgICAgICAgZC0+YnpzLm5leHRfb3V0ID0gUHlCeXRlc19BU19TVFJJTkcocmVzdWx0KSArIGRhdGFfc2l6ZTsKLSAgICAgICAgICAgICAgICBidWZmZXJfbGVmdCA9IFB5Qnl0ZXNfR0VUX1NJWkUocmVzdWx0KSAtIGRhdGFfc2l6ZTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGQtPmJ6cy5hdmFpbF9vdXQgPSAodW5zaWduZWQgaW50KVB5X01JTihidWZmZXJfbGVmdCwgVUlOVF9NQVgpOworICAgICAgICAgICAgaWYgKGRhdGFfc2l6ZSA9PSBQeUJ5dGVzX0dFVF9TSVpFKHJlc3VsdCkgJiYKKyAgICAgICAgICAgICAgICBncm93X2J1ZmZlcigmcmVzdWx0LCBtYXhfbGVuZ3RoKSA9PSAtMSkKKyAgICAgICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICAgICAgYnpzLT5uZXh0X291dCA9IFB5Qnl0ZXNfQVNfU1RSSU5HKHJlc3VsdCkgKyBkYXRhX3NpemU7CiAgICAgICAgIH0KICAgICB9CiAgICAgaWYgKGRhdGFfc2l6ZSAhPSBQeUJ5dGVzX0dFVF9TSVpFKHJlc3VsdCkpCi0gICAgICAgIGlmIChfUHlCeXRlc19SZXNpemUoJnJlc3VsdCwgZGF0YV9zaXplKSA8IDApCisgICAgICAgIGlmIChfUHlCeXRlc19SZXNpemUoJnJlc3VsdCwgZGF0YV9zaXplKSA9PSAtMSkKICAgICAgICAgICAgIGdvdG8gZXJyb3I7CisKKyAgICByZXR1cm4gcmVzdWx0OworCitlcnJvcjoKKyAgICBQeV9YREVDUkVGKHJlc3VsdCk7CisgICAgcmV0dXJuIE5VTEw7Cit9CisKKworc3RhdGljIFB5T2JqZWN0ICoKK2RlY29tcHJlc3MoQloyRGVjb21wcmVzc29yICpkLCBjaGFyICpkYXRhLCBzaXplX3QgbGVuLCBQeV9zc2l6ZV90IG1heF9sZW5ndGgpCit7CisgICAgY2hhciBpbnB1dF9idWZmZXJfaW5fdXNlOworICAgIFB5T2JqZWN0ICpyZXN1bHQ7CisgICAgYnpfc3RyZWFtICpienMgPSAmZC0+YnpzOworCisgICAgLyogUHJlcGVuZCB1bmNvbnN1bWVkIGlucHV0IGlmIG5lY2Vzc2FyeSAqLworICAgIGlmIChienMtPm5leHRfaW4gIT0gTlVMTCkgeworICAgICAgICBzaXplX3QgYXZhaWxfbm93LCBhdmFpbF90b3RhbDsKKworICAgICAgICAvKiBOdW1iZXIgb2YgYnl0ZXMgd2UgY2FuIGFwcGVuZCB0byBpbnB1dCBidWZmZXIgKi8KKyAgICAgICAgYXZhaWxfbm93ID0gKGQtPmlucHV0X2J1ZmZlciArIGQtPmlucHV0X2J1ZmZlcl9zaXplKQorICAgICAgICAgICAgLSAoYnpzLT5uZXh0X2luICsgZC0+YnpzX2F2YWlsX2luX3JlYWwpOworCisgICAgICAgIC8qIE51bWJlciBvZiBieXRlcyB3ZSBjYW4gYXBwZW5kIGlmIHdlIG1vdmUgZXhpc3RpbmcKKyAgICAgICAgICAgY29udGVudHMgdG8gYmVnaW5uaW5nIG9mIGJ1ZmZlciAob3ZlcndyaXRpbmcKKyAgICAgICAgICAgY29uc3VtZWQgaW5wdXQpICovCisgICAgICAgIGF2YWlsX3RvdGFsID0gZC0+aW5wdXRfYnVmZmVyX3NpemUgLSBkLT5ienNfYXZhaWxfaW5fcmVhbDsKKworICAgICAgICBpZiAoYXZhaWxfdG90YWwgPCBsZW4pIHsKKyAgICAgICAgICAgIHNpemVfdCBvZmZzZXQgPSBienMtPm5leHRfaW4gLSBkLT5pbnB1dF9idWZmZXI7CisgICAgICAgICAgICBjaGFyICp0bXA7CisgICAgICAgICAgICBzaXplX3QgbmV3X3NpemUgPSBkLT5pbnB1dF9idWZmZXJfc2l6ZSArIGxlbiAtIGF2YWlsX25vdzsKKworICAgICAgICAgICAgLyogQXNzaWduIHRvIHRlbXBvcmFyeSB2YXJpYWJsZSBmaXJzdCwgc28gd2UgZG9uJ3QKKyAgICAgICAgICAgICAgIGxvc2UgYWRkcmVzcyBvZiBhbGxvY2F0ZWQgYnVmZmVyIGlmIHJlYWxsb2MgZmFpbHMgKi8KKyAgICAgICAgICAgIHRtcCA9IFB5TWVtX1JlYWxsb2MoZC0+aW5wdXRfYnVmZmVyLCBuZXdfc2l6ZSk7CisgICAgICAgICAgICBpZiAodG1wID09IE5VTEwpIHsKKyAgICAgICAgICAgICAgICBQeUVycl9TZXROb25lKFB5RXhjX01lbW9yeUVycm9yKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGQtPmlucHV0X2J1ZmZlciA9IHRtcDsKKyAgICAgICAgICAgIGQtPmlucHV0X2J1ZmZlcl9zaXplID0gbmV3X3NpemU7CisKKyAgICAgICAgICAgIGJ6cy0+bmV4dF9pbiA9IGQtPmlucHV0X2J1ZmZlciArIG9mZnNldDsKKyAgICAgICAgfQorICAgICAgICBlbHNlIGlmIChhdmFpbF9ub3cgPCBsZW4pIHsKKyAgICAgICAgICAgIG1lbW1vdmUoZC0+aW5wdXRfYnVmZmVyLCBienMtPm5leHRfaW4sCisgICAgICAgICAgICAgICAgICAgIGQtPmJ6c19hdmFpbF9pbl9yZWFsKTsKKyAgICAgICAgICAgIGJ6cy0+bmV4dF9pbiA9IGQtPmlucHV0X2J1ZmZlcjsKKyAgICAgICAgfQorICAgICAgICBtZW1jcHkoKHZvaWQqKShienMtPm5leHRfaW4gKyBkLT5ienNfYXZhaWxfaW5fcmVhbCksIGRhdGEsIGxlbik7CisgICAgICAgIGQtPmJ6c19hdmFpbF9pbl9yZWFsICs9IGxlbjsKKyAgICAgICAgaW5wdXRfYnVmZmVyX2luX3VzZSA9IDE7CisgICAgfQorICAgIGVsc2UgeworICAgICAgICBienMtPm5leHRfaW4gPSBkYXRhOworICAgICAgICBkLT5ienNfYXZhaWxfaW5fcmVhbCA9IGxlbjsKKyAgICAgICAgaW5wdXRfYnVmZmVyX2luX3VzZSA9IDA7CisgICAgfQorCisgICAgcmVzdWx0ID0gZGVjb21wcmVzc19idWYoZCwgbWF4X2xlbmd0aCk7CisgICAgaWYocmVzdWx0ID09IE5VTEwpCisgICAgICAgIHJldHVybiBOVUxMOworCisgICAgaWYgKGQtPmVvZikgeworICAgICAgICBkLT5uZWVkc19pbnB1dCA9IDA7CisgICAgICAgIGlmIChkLT5ienNfYXZhaWxfaW5fcmVhbCA+IDApIHsKKyAgICAgICAgICAgIFB5X0NMRUFSKGQtPnVudXNlZF9kYXRhKTsKKyAgICAgICAgICAgIGQtPnVudXNlZF9kYXRhID0gUHlCeXRlc19Gcm9tU3RyaW5nQW5kU2l6ZSgKKyAgICAgICAgICAgICAgICBienMtPm5leHRfaW4sIGQtPmJ6c19hdmFpbF9pbl9yZWFsKTsKKyAgICAgICAgICAgIGlmIChkLT51bnVzZWRfZGF0YSA9PSBOVUxMKQorICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgIH0KKyAgICB9CisgICAgZWxzZSBpZiAoZC0+YnpzX2F2YWlsX2luX3JlYWwgPT0gMCkgeworICAgICAgICBienMtPm5leHRfaW4gPSBOVUxMOworICAgICAgICBkLT5uZWVkc19pbnB1dCA9IDE7CisgICAgfQorICAgIGVsc2UgeworICAgICAgICBkLT5uZWVkc19pbnB1dCA9IDA7CisKKyAgICAgICAgLyogSWYgd2UgZGlkIG5vdCB1c2UgdGhlIGlucHV0IGJ1ZmZlciwgd2Ugbm93IGhhdmUKKyAgICAgICAgICAgdG8gY29weSB0aGUgdGFpbCBmcm9tIHRoZSBjYWxsZXIncyBidWZmZXIgaW50byB0aGUKKyAgICAgICAgICAgaW5wdXQgYnVmZmVyICovCisgICAgICAgIGlmICghaW5wdXRfYnVmZmVyX2luX3VzZSkgeworCisgICAgICAgICAgICAvKiBEaXNjYXJkIGJ1ZmZlciBpZiBpdCdzIHRvbyBzbWFsbAorICAgICAgICAgICAgICAgKHJlc2l6aW5nIGl0IG1heSBuZWVkbGVzc2x5IGNvcHkgdGhlIGN1cnJlbnQgY29udGVudHMpICovCisgICAgICAgICAgICBpZiAoZC0+aW5wdXRfYnVmZmVyICE9IE5VTEwgJiYKKyAgICAgICAgICAgICAgICBkLT5pbnB1dF9idWZmZXJfc2l6ZSA8IGQtPmJ6c19hdmFpbF9pbl9yZWFsKSB7CisgICAgICAgICAgICAgICAgUHlNZW1fRnJlZShkLT5pbnB1dF9idWZmZXIpOworICAgICAgICAgICAgICAgIGQtPmlucHV0X2J1ZmZlciA9IE5VTEw7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIC8qIEFsbG9jYXRlIGlmIG5lY2Vzc2FyeSAqLworICAgICAgICAgICAgaWYgKGQtPmlucHV0X2J1ZmZlciA9PSBOVUxMKSB7CisgICAgICAgICAgICAgICAgZC0+aW5wdXRfYnVmZmVyID0gUHlNZW1fTWFsbG9jKGQtPmJ6c19hdmFpbF9pbl9yZWFsKTsKKyAgICAgICAgICAgICAgICBpZiAoZC0+aW5wdXRfYnVmZmVyID09IE5VTEwpIHsKKyAgICAgICAgICAgICAgICAgICAgUHlFcnJfU2V0Tm9uZShQeUV4Y19NZW1vcnlFcnJvcik7CisgICAgICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGQtPmlucHV0X2J1ZmZlcl9zaXplID0gZC0+YnpzX2F2YWlsX2luX3JlYWw7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIC8qIENvcHkgdGFpbCAqLworICAgICAgICAgICAgbWVtY3B5KGQtPmlucHV0X2J1ZmZlciwgYnpzLT5uZXh0X2luLCBkLT5ienNfYXZhaWxfaW5fcmVhbCk7CisgICAgICAgICAgICBienMtPm5leHRfaW4gPSBkLT5pbnB1dF9idWZmZXI7CisgICAgICAgIH0KKyAgICB9CisKICAgICByZXR1cm4gcmVzdWx0OwogCiBlcnJvcjoKQEAgLTQ3MCwyMSArNTk0LDI5IEBACiAvKltjbGluaWMgaW5wdXRdCiBfYnoyLkJaMkRlY29tcHJlc3Nvci5kZWNvbXByZXNzCiAKKyAgICBzZWxmOiBzZWxmKHR5cGU9IkJaMkRlY29tcHJlc3NvciAqIikKICAgICBkYXRhOiBQeV9idWZmZXIKLSAgICAvCisgICAgbWF4X2xlbmd0aDogUHlfc3NpemVfdD0tMQogCi1Qcm92aWRlIGRhdGEgdG8gdGhlIGRlY29tcHJlc3NvciBvYmplY3QuCitEZWNvbXByZXNzICpkYXRhKiwgcmV0dXJuaW5nIHVuY29tcHJlc3NlZCBkYXRhIGFzIGJ5dGVzLgogCi1SZXR1cm5zIGEgY2h1bmsgb2YgZGVjb21wcmVzc2VkIGRhdGEgaWYgcG9zc2libGUsIG9yIGInJyBvdGhlcndpc2UuCitJZiAqbWF4X2xlbmd0aCogaXMgbm9ubmVnYXRpdmUsIHJldHVybnMgYXQgbW9zdCAqbWF4X2xlbmd0aCogYnl0ZXMgb2YKK2RlY29tcHJlc3NlZCBkYXRhLiBJZiB0aGlzIGxpbWl0IGlzIHJlYWNoZWQgYW5kIGZ1cnRoZXIgb3V0cHV0IGNhbiBiZQorcHJvZHVjZWQsICpzZWxmLm5lZWRzX2lucHV0KiB3aWxsIGJlIHNldCB0byBgYEZhbHNlYGAuIEluIHRoaXMgY2FzZSwgdGhlIG5leHQKK2NhbGwgdG8gKmRlY29tcHJlc3MoKSogbWF5IHByb3ZpZGUgKmRhdGEqIGFzIGInJyB0byBvYnRhaW4gbW9yZSBvZiB0aGUgb3V0cHV0LgogCi1BdHRlbXB0aW5nIHRvIGRlY29tcHJlc3MgZGF0YSBhZnRlciB0aGUgZW5kIG9mIHN0cmVhbSBpcyByZWFjaGVkCi1yYWlzZXMgYW4gRU9GRXJyb3IuICBBbnkgZGF0YSBmb3VuZCBhZnRlciB0aGUgZW5kIG9mIHRoZSBzdHJlYW0KLWlzIGlnbm9yZWQgYW5kIHNhdmVkIGluIHRoZSB1bnVzZWRfZGF0YSBhdHRyaWJ1dGUuCitJZiBhbGwgb2YgdGhlIGlucHV0IGRhdGEgd2FzIGRlY29tcHJlc3NlZCBhbmQgcmV0dXJuZWQgKGVpdGhlciBiZWNhdXNlIHRoaXMKK3dhcyBsZXNzIHRoYW4gKm1heF9sZW5ndGgqIGJ5dGVzLCBvciBiZWNhdXNlICptYXhfbGVuZ3RoKiB3YXMgbmVnYXRpdmUpLAorKnNlbGYubmVlZHNfaW5wdXQqIHdpbGwgYmUgc2V0IHRvIFRydWUuCisKK0F0dGVtcHRpbmcgdG8gZGVjb21wcmVzcyBkYXRhIGFmdGVyIHRoZSBlbmQgb2Ygc3RyZWFtIGlzIHJlYWNoZWQgcmFpc2VzIGFuCitFT0ZFcnJvci4gIEFueSBkYXRhIGZvdW5kIGFmdGVyIHRoZSBlbmQgb2YgdGhlIHN0cmVhbSBpcyBpZ25vcmVkIGFuZCBzYXZlZCBpbgordGhlIHVudXNlZF9kYXRhIGF0dHJpYnV0ZS4KIFtjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KIAogc3RhdGljIFB5T2JqZWN0ICoKLV9iejJfQloyRGVjb21wcmVzc29yX2RlY29tcHJlc3NfaW1wbChCWjJEZWNvbXByZXNzb3IgKnNlbGYsIFB5X2J1ZmZlciAqZGF0YSkKLS8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD0wODZlNGI5OWU2MGNiM2Y2IGlucHV0PTYxNmMyYTZkYjUyNjk5NjFdKi8KK19iejJfQloyRGVjb21wcmVzc29yX2RlY29tcHJlc3NfaW1wbChCWjJEZWNvbXByZXNzb3IgKnNlbGYsIFB5X2J1ZmZlciAqZGF0YSwgUHlfc3NpemVfdCBtYXhfbGVuZ3RoKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTdlZWI1Nzk0MDM1YTJjYTMgaW5wdXQ9OTU1OGI0MjRjOGIwMDUxNl0qLwogewogICAgIFB5T2JqZWN0ICpyZXN1bHQgPSBOVUxMOwogCkBAIC00OTIsNyArNjI0LDcgQEAKICAgICBpZiAoc2VsZi0+ZW9mKQogICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfRU9GRXJyb3IsICJFbmQgb2Ygc3RyZWFtIGFscmVhZHkgcmVhY2hlZCIpOwogICAgIGVsc2UKLSAgICAgICAgcmVzdWx0ID0gZGVjb21wcmVzcyhzZWxmLCBkYXRhLT5idWYsIGRhdGEtPmxlbik7CisgICAgICAgIHJlc3VsdCA9IGRlY29tcHJlc3Moc2VsZiwgZGF0YS0+YnVmLCBkYXRhLT5sZW4sIG1heF9sZW5ndGgpOwogICAgIFJFTEVBU0VfTE9DSyhzZWxmKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQpAQCAtNTI3LDEwICs2NTksMTQgQEAKICAgICB9CiAjZW5kaWYKIAotICAgIHNlbGYtPnVudXNlZF9kYXRhID0gUHlCeXRlc19Gcm9tU3RyaW5nQW5kU2l6ZSgiIiwgMCk7CisgICAgc2VsZi0+bmVlZHNfaW5wdXQgPSAxOworICAgIHNlbGYtPmJ6c19hdmFpbF9pbl9yZWFsID0gMDsKKyAgICBzZWxmLT5pbnB1dF9idWZmZXIgPSBOVUxMOworICAgIHNlbGYtPmlucHV0X2J1ZmZlcl9zaXplID0gMDsKKyAgICBzZWxmLT51bnVzZWRfZGF0YSA9IFB5Qnl0ZXNfRnJvbVN0cmluZ0FuZFNpemUoTlVMTCwgMCk7CiAgICAgaWYgKHNlbGYtPnVudXNlZF9kYXRhID09IE5VTEwpCiAgICAgICAgIGdvdG8gZXJyb3I7Ci0KKyAgICAKICAgICBiemVycm9yID0gQloyX2J6RGVjb21wcmVzc0luaXQoJnNlbGYtPmJ6cywgMCwgMCk7CiAgICAgaWYgKGNhdGNoX2J6Ml9lcnJvcihiemVycm9yKSkKICAgICAgICAgZ290byBlcnJvcjsKQEAgLTU0OSw2ICs2ODUsOCBAQAogc3RhdGljIHZvaWQKIEJaMkRlY29tcHJlc3Nvcl9kZWFsbG9jKEJaMkRlY29tcHJlc3NvciAqc2VsZikKIHsKKyAgICBpZihzZWxmLT5pbnB1dF9idWZmZXIgIT0gTlVMTCkKKyAgICAgICAgUHlNZW1fRnJlZShzZWxmLT5pbnB1dF9idWZmZXIpOwogICAgIEJaMl9iekRlY29tcHJlc3NFbmQoJnNlbGYtPmJ6cyk7CiAgICAgUHlfQ0xFQVIoc2VsZi0+dW51c2VkX2RhdGEpOwogI2lmZGVmIFdJVEhfVEhSRUFECkBAIC01NzAsMTEgKzcwOCwxNiBAQAogUHlEb2NfU1RSVkFSKEJaMkRlY29tcHJlc3Nvcl91bnVzZWRfZGF0YV9fZG9jX18sCiAiRGF0YSBmb3VuZCBhZnRlciB0aGUgZW5kIG9mIHRoZSBjb21wcmVzc2VkIHN0cmVhbS4iKTsKIAorUHlEb2NfU1RSVkFSKEJaMkRlY29tcHJlc3Nvcl9uZWVkc19pbnB1dF9kb2MsCisiVHJ1ZSBpZiBtb3JlIGlucHV0IGlzIG5lZWRlZCBiZWZvcmUgbW9yZSBkZWNvbXByZXNzZWQgZGF0YSBjYW4gYmUgcHJvZHVjZWQuIik7CisKIHN0YXRpYyBQeU1lbWJlckRlZiBCWjJEZWNvbXByZXNzb3JfbWVtYmVyc1tdID0gewogICAgIHsiZW9mIiwgVF9CT09MLCBvZmZzZXRvZihCWjJEZWNvbXByZXNzb3IsIGVvZiksCiAgICAgIFJFQURPTkxZLCBCWjJEZWNvbXByZXNzb3JfZW9mX19kb2NfX30sCiAgICAgeyJ1bnVzZWRfZGF0YSIsIFRfT0JKRUNUX0VYLCBvZmZzZXRvZihCWjJEZWNvbXByZXNzb3IsIHVudXNlZF9kYXRhKSwKICAgICAgUkVBRE9OTFksIEJaMkRlY29tcHJlc3Nvcl91bnVzZWRfZGF0YV9fZG9jX199LAorICAgIHsibmVlZHNfaW5wdXQiLCBUX0JPT0wsIG9mZnNldG9mKEJaMkRlY29tcHJlc3NvciwgbmVlZHNfaW5wdXQpLCBSRUFET05MWSwKKyAgICAgQloyRGVjb21wcmVzc29yX25lZWRzX2lucHV0X2RvY30sCiAgICAge05VTEx9CiB9OwogCmRpZmYgLS1naXQgYS9Nb2R1bGVzL19jb2RlY3Ntb2R1bGUuYyBiL01vZHVsZXMvX2NvZGVjc21vZHVsZS5jCmluZGV4IDUyZjM0NzkuLmJmNDA4YWYgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvX2NvZGVjc21vZHVsZS5jCisrKyBiL01vZHVsZXMvX2NvZGVjc21vZHVsZS5jCkBAIC05NSwxMyArOTUsMTUgQEAKIGNvZGVjcy5yZWdpc3Rlcl9lcnJvciB0aGF0IGNhbiBoYW5kbGUgVmFsdWVFcnJvcnMuIik7CiAKIHN0YXRpYyBQeU9iamVjdCAqCi1jb2RlY19lbmNvZGUoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorY29kZWNfZW5jb2RlKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKIHsKKyAgICBzdGF0aWMgY2hhciAqa3dsaXN0W10gPSB7Im9iaiIsICJlbmNvZGluZyIsICJlcnJvcnMiLCBOVUxMfTsKICAgICBjb25zdCBjaGFyICplbmNvZGluZyA9IE5VTEw7CiAgICAgY29uc3QgY2hhciAqZXJyb3JzID0gTlVMTDsKICAgICBQeU9iamVjdCAqdjsKIAotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiT3xzczplbmNvZGUiLCAmdiwgJmVuY29kaW5nLCAmZXJyb3JzKSkKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsICJPfHNzOmVuY29kZSIsIGt3bGlzdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmdiwgJmVuY29kaW5nLCAmZXJyb3JzKSkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAKICAgICBpZiAoZW5jb2RpbmcgPT0gTlVMTCkKQEAgLTEyMiwxMyArMTI0LDE1IEBACiBhYmxlIHRvIGhhbmRsZSBWYWx1ZUVycm9ycy4iKTsKIAogc3RhdGljIFB5T2JqZWN0ICoKLWNvZGVjX2RlY29kZShQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitjb2RlY19kZWNvZGUoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQogeworICAgIHN0YXRpYyBjaGFyICprd2xpc3RbXSA9IHsib2JqIiwgImVuY29kaW5nIiwgImVycm9ycyIsIE5VTEx9OwogICAgIGNvbnN0IGNoYXIgKmVuY29kaW5nID0gTlVMTDsKICAgICBjb25zdCBjaGFyICplcnJvcnMgPSBOVUxMOwogICAgIFB5T2JqZWN0ICp2OwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJPfHNzOmRlY29kZSIsICZ2LCAmZW5jb2RpbmcsICZlcnJvcnMpKQorICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywgIk98c3M6ZGVjb2RlIiwga3dsaXN0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZ2LCAmZW5jb2RpbmcsICZlcnJvcnMpKQogICAgICAgICByZXR1cm4gTlVMTDsKIAogICAgIGlmIChlbmNvZGluZyA9PSBOVUxMKQpAQCAtNzUwLDcgKzc1NCw3IEBACiAgICAgICAgIHUgPSBQeVVuaWNvZGVfQXNVbmljb2RlQW5kU2l6ZShvYmosICZsZW4pOwogICAgICAgICBpZiAodSA9PSBOVUxMKQogICAgICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgICAgIGlmIChsZW4gPiBQWV9TU0laRV9UX01BWCAvIHNpemVvZihQeV9VTklDT0RFKSkKKyAgICAgICAgaWYgKChzaXplX3QpbGVuID4gKHNpemVfdClQWV9TU0laRV9UX01BWCAvIHNpemVvZihQeV9VTklDT0RFKSkKICAgICAgICAgICAgIHJldHVybiBQeUVycl9Ob01lbW9yeSgpOwogICAgICAgICBzaXplID0gbGVuICogc2l6ZW9mKFB5X1VOSUNPREUpOwogICAgICAgICByZXR1cm4gY29kZWNfdHVwbGUoUHlCeXRlc19Gcm9tU3RyaW5nQW5kU2l6ZSgoY29uc3QgY2hhciopdSwgc2l6ZSksCkBAIC0xMTc5LDkgKzExODMsOSBAQAogICAgICAgICByZWdpc3Rlcl9fZG9jX199LAogICAgIHsibG9va3VwIiwgICAgICAgICAgICAgICAgICBjb2RlY19sb29rdXAsICAgICAgICAgICAgICAgICAgIE1FVEhfVkFSQVJHUywKICAgICAgICAgbG9va3VwX19kb2NfX30sCi0gICAgeyJlbmNvZGUiLCAgICAgICAgICAgICAgICAgIGNvZGVjX2VuY29kZSwgICAgICAgICAgICAgICAgICAgTUVUSF9WQVJBUkdTLAorICAgIHsiZW5jb2RlIiwgICAgIChQeUNGdW5jdGlvbiljb2RlY19lbmNvZGUsICAgICBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywKICAgICAgICAgZW5jb2RlX19kb2NfX30sCi0gICAgeyJkZWNvZGUiLCAgICAgICAgICAgICAgICAgIGNvZGVjX2RlY29kZSwgICAgICAgICAgICAgICAgICAgTUVUSF9WQVJBUkdTLAorICAgIHsiZGVjb2RlIiwgICAgIChQeUNGdW5jdGlvbiljb2RlY19kZWNvZGUsICAgICBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywKICAgICAgICAgZGVjb2RlX19kb2NfX30sCiAgICAgeyJlc2NhcGVfZW5jb2RlIiwgICAgICAgICAgIGVzY2FwZV9lbmNvZGUsICAgICAgICAgICAgICAgICAgTUVUSF9WQVJBUkdTfSwKICAgICB7ImVzY2FwZV9kZWNvZGUiLCAgICAgICAgICAgZXNjYXBlX2RlY29kZSwgICAgICAgICAgICAgICAgICBNRVRIX1ZBUkFSR1N9LApkaWZmIC0tZ2l0IGEvTW9kdWxlcy9fY29sbGVjdGlvbnNtb2R1bGUuYyBiL01vZHVsZXMvX2NvbGxlY3Rpb25zbW9kdWxlLmMKaW5kZXggYzFhYTlhMy4uZDQ3OTRiZSAxMDA2NDQKLS0tIGEvTW9kdWxlcy9fY29sbGVjdGlvbnNtb2R1bGUuYworKysgYi9Nb2R1bGVzL19jb2xsZWN0aW9uc21vZHVsZS5jCkBAIC0xLDIzICsxLDI2IEBACiAjaW5jbHVkZSAiUHl0aG9uLmgiCiAjaW5jbHVkZSAic3RydWN0bWVtYmVyLmgiCiAKKyNpZmRlZiBTVERDX0hFQURFUlMKKyNpbmNsdWRlIDxzdGRkZWYuaD4KKyNlbHNlCisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+ICAgICAgICAgIC8qIEZvciBzaXplX3QgKi8KKyNlbmRpZgorCiAvKiBjb2xsZWN0aW9ucyBtb2R1bGUgaW1wbGVtZW50YXRpb24gb2YgYSBkZXF1ZSgpIGRhdGF0eXBlCiAgICBXcml0dGVuIGFuZCBtYWludGFpbmVkIGJ5IFJheW1vbmQgRC4gSGV0dGluZ2VyIDxweXRob25AcmNuLmNvbT4KLSAgIENvcHlyaWdodCAoYykgMjAwNC0yMDEzIFB5dGhvbiBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorICAgQ29weXJpZ2h0IChjKSAyMDA0LTIwMTUgUHl0aG9uIFNvZnR3YXJlIEZvdW5kYXRpb24uCiAgICBBbGwgcmlnaHRzIHJlc2VydmVkLgogKi8KIAogLyogVGhlIGJsb2NrIGxlbmd0aCBtYXkgYmUgc2V0IHRvIGFueSBudW1iZXIgb3ZlciAxLiAgTGFyZ2VyIG51bWJlcnMKICAqIHJlZHVjZSB0aGUgbnVtYmVyIG9mIGNhbGxzIHRvIHRoZSBtZW1vcnkgYWxsb2NhdG9yLCBnaXZlIGZhc3RlcgotICogaW5kZXhpbmcgYW5kIHJvdGF0aW9uLCBhbmQgcmVkdWNlIHRoZSBsaW5rOjpkYXRhIG92ZXJoZWFkIHJhdGlvLgotICoKLSAqIElkZWFsbHksIHRoZSBibG9jayBsZW5ndGggd2lsbCBiZSBzZXQgdG8gdHdvIGxlc3MgdGhhbiBzb21lCi0gKiBtdWx0aXBsZSBvZiB0aGUgY2FjaGUtbGluZSBsZW5ndGggKHNvIHRoYXQgdGhlIGZ1bGwgYmxvY2sKLSAqIGluY2x1ZGluZyB0aGUgbGVmdGxpbmsgYW5kIHJpZ2h0bGluayB3aWxsIGZpdCBuZWF0bHkgaW50bwotICogY2FjaGUgbGluZXMpLgorICogaW5kZXhpbmcgYW5kIHJvdGF0aW9uLCBhbmQgcmVkdWNlIHRoZSBsaW5rIHRvIGRhdGEgb3ZlcmhlYWQgcmF0aW8uCisgKiBNYWtpbmcgdGhlIGJsb2NrIGxlbmd0aCBhIHBvd2VyIG9mIHR3byBzcGVlZHMtdXAgdGhlIG1vZHVsbworICogYW5kIGRpdmlzaW9uIGNhbGN1bGF0aW9ucyBpbiBkZXF1ZV9pdGVtKCkgYW5kIGRlcXVlX2Fzc19pdGVtKCkuCiAgKi8KIAotI2RlZmluZSBCTE9DS0xFTiA2MgorI2RlZmluZSBCTE9DS0xFTiA2NAogI2RlZmluZSBDRU5URVIgKChCTE9DS0xFTiAtIDEpIC8gMikKIAogLyogQSBgZGVxdWVvYmplY3RgIGlzIGNvbXBvc2VkIG9mIGEgZG91Ymx5LWxpbmtlZCBsaXN0IG9mIGBibG9ja2Agbm9kZXMuCkBAIC01Myw2ICs1NiwxOSBAQAogICAgIHN0cnVjdCBCTE9DSyAqcmlnaHRsaW5rOwogfSBibG9jazsKIAordHlwZWRlZiBzdHJ1Y3QgeworICAgIFB5T2JqZWN0X1ZBUl9IRUFECisgICAgYmxvY2sgKmxlZnRibG9jazsKKyAgICBibG9jayAqcmlnaHRibG9jazsKKyAgICBQeV9zc2l6ZV90IGxlZnRpbmRleDsgICAgICAgLyogaW4gcmFuZ2UoQkxPQ0tMRU4pICovCisgICAgUHlfc3NpemVfdCByaWdodGluZGV4OyAgICAgIC8qIGluIHJhbmdlKEJMT0NLTEVOKSAqLworICAgIHNpemVfdCBzdGF0ZTsgICAgICAgICAgICAgICAvKiBpbmNyZW1lbnRlZCB3aGVuZXZlciB0aGUgaW5kaWNlcyBtb3ZlICovCisgICAgUHlfc3NpemVfdCBtYXhsZW47CisgICAgUHlPYmplY3QgKndlYWtyZWZsaXN0OyAvKiBMaXN0IG9mIHdlYWsgcmVmZXJlbmNlcyAqLworfSBkZXF1ZW9iamVjdDsKKworc3RhdGljIFB5VHlwZU9iamVjdCBkZXF1ZV90eXBlOworCiAvKiBGb3IgZGVidWcgYnVpbGRzLCBhZGQgZXJyb3IgY2hlY2tpbmcgdG8gdHJhY2sgdGhlIGVuZHBvaW50cwogICogaW4gdGhlIGNoYWluIG9mIGxpbmtzLiAgVGhlIGdvYWwgaXMgdG8gbWFrZSBzdXJlIHRoYXQgbGluawogICogYXNzaWdubWVudHMgb25seSB0YWtlIHBsYWNlIGF0IGVuZHBvaW50cyBzbyB0aGF0IGxpbmtzIGFscmVhZHkKQEAgLTExNiwzNCArMTMyLDExIEBACiAgICAgfQogfQogCi10eXBlZGVmIHN0cnVjdCB7Ci0gICAgUHlPYmplY3RfVkFSX0hFQUQKLSAgICBibG9jayAqbGVmdGJsb2NrOwotICAgIGJsb2NrICpyaWdodGJsb2NrOwotICAgIFB5X3NzaXplX3QgbGVmdGluZGV4OyAgICAgICAvKiBpbiByYW5nZShCTE9DS0xFTikgKi8KLSAgICBQeV9zc2l6ZV90IHJpZ2h0aW5kZXg7ICAgICAgLyogaW4gcmFuZ2UoQkxPQ0tMRU4pICovCi0gICAgbG9uZyBzdGF0ZTsgICAgICAgICAgICAgICAgIC8qIGluY3JlbWVudGVkIHdoZW5ldmVyIHRoZSBpbmRpY2VzIG1vdmUgKi8KLSAgICBQeV9zc2l6ZV90IG1heGxlbjsKLSAgICBQeU9iamVjdCAqd2Vha3JlZmxpc3Q7IC8qIExpc3Qgb2Ygd2VhayByZWZlcmVuY2VzICovCi19IGRlcXVlb2JqZWN0OwotCi0vKiBUaGUgZGVxdWUncyBzaXplIGxpbWl0IGlzIGQubWF4bGVuLiAgVGhlIGxpbWl0IGNhbiBiZSB6ZXJvIG9yIHBvc2l0aXZlLgotICogSWYgdGhlcmUgaXMgbm8gbGltaXQsIHRoZW4gZC5tYXhsZW4gPT0gLTEuCi0gKgotICogQWZ0ZXIgYW4gaXRlbSBpcyBhZGRlZCB0byBhIGRlcXVlLCB3ZSBjaGVjayB0byBzZWUgaWYgdGhlIHNpemUgaGFzIGdyb3duIHBhc3QKLSAqIHRoZSBsaW1pdC4gSWYgaXQgaGFzLCB3ZSBnZXQgdGhlIHNpemUgYmFjayBkb3duIHRvIHRoZSBsaW1pdCBieSBwb3BwaW5nIGFuCi0gKiBpdGVtIG9mZiBvZiB0aGUgb3Bwb3NpdGUgZW5kLiAgVGhlIG1ldGhvZHMgdGhhdCBjYW4gdHJpZ2dlciB0aGlzIGFyZSBhcHBlbmQoKSwKLSAqIGFwcGVuZGxlZnQoKSwgZXh0ZW5kKCksIGFuZCBleHRlbmRsZWZ0KCkuCi0gKi8KLQotI2RlZmluZSBUUklNKGQsIHBvcGZ1bmN0aW9uKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBpZiAoZC0+bWF4bGVuICE9IC0xICYmIFB5X1NJWkUoZCkgPiBkLT5tYXhsZW4pIHsgICAgICAgXAotICAgICAgICBQeU9iamVjdCAqcnYgPSBwb3BmdW5jdGlvbihkLCBOVUxMKTsgICAgICAgICAgICAgICAgXAotICAgICAgICBhc3NlcnQocnYgIT0gTlVMTCAgJiYgIFB5X1NJWkUoZCkgPD0gZC0+bWF4bGVuKTsgICAgXAotICAgICAgICBQeV9ERUNSRUYocnYpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIH0KLQotc3RhdGljIFB5VHlwZU9iamVjdCBkZXF1ZV90eXBlOworLyogWFhYIFRvZG86CisgICBJZiBhbGlnbmVkIG1lbW9yeSBhbGxvY2F0aW9ucyBiZWNvbWUgYXZhaWxhYmxlLCBtYWtlIHRoZQorICAgZGVxdWUgb2JqZWN0IDY0IGJ5dGUgYWxpZ25lZCBzbyB0aGF0IGFsbCBvZiB0aGUgZmllbGRzCisgICBjYW4gYmUgcmV0cmlldmVkIG9yIHVwZGF0ZWQgaW4gYSBzaW5nbGUgY2FjaGUgbGluZS4KKyovCiAKIHN0YXRpYyBQeU9iamVjdCAqCiBkZXF1ZV9uZXcoUHlUeXBlT2JqZWN0ICp0eXBlLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3ZHMpCkBAIC0xNjUsMTQgKzE1OCwxNCBAQAogICAgIE1BUktfRU5EKGItPnJpZ2h0bGluayk7CiAKICAgICBhc3NlcnQoQkxPQ0tMRU4gPj0gMik7CisgICAgUHlfU0laRShkZXF1ZSkgPSAwOwogICAgIGRlcXVlLT5sZWZ0YmxvY2sgPSBiOwogICAgIGRlcXVlLT5yaWdodGJsb2NrID0gYjsKICAgICBkZXF1ZS0+bGVmdGluZGV4ID0gQ0VOVEVSICsgMTsKICAgICBkZXF1ZS0+cmlnaHRpbmRleCA9IENFTlRFUjsKLSAgICBQeV9TSVpFKGRlcXVlKSA9IDA7CiAgICAgZGVxdWUtPnN0YXRlID0gMDsKLSAgICBkZXF1ZS0+d2Vha3JlZmxpc3QgPSBOVUxMOwogICAgIGRlcXVlLT5tYXhsZW4gPSAtMTsKKyAgICBkZXF1ZS0+d2Vha3JlZmxpc3QgPSBOVUxMOwogCiAgICAgcmV0dXJuIChQeU9iamVjdCAqKWRlcXVlOwogfQpAQCAtMjUyLDYgKzI0NSwzNyBAQAogCiBQeURvY19TVFJWQVIocG9wbGVmdF9kb2MsICJSZW1vdmUgYW5kIHJldHVybiB0aGUgbGVmdG1vc3QgZWxlbWVudC4iKTsKIAorLyogVGhlIGRlcXVlJ3Mgc2l6ZSBsaW1pdCBpcyBkLm1heGxlbi4gIFRoZSBsaW1pdCBjYW4gYmUgemVybyBvciBwb3NpdGl2ZS4KKyAqIElmIHRoZXJlIGlzIG5vIGxpbWl0LCB0aGVuIGQubWF4bGVuID09IC0xLgorICoKKyAqIEFmdGVyIGFuIGl0ZW0gaXMgYWRkZWQgdG8gYSBkZXF1ZSwgd2UgY2hlY2sgdG8gc2VlIGlmIHRoZSBzaXplIGhhcyBncm93biBwYXN0CisgKiB0aGUgbGltaXQuIElmIGl0IGhhcywgd2UgZ2V0IHRoZSBzaXplIGJhY2sgZG93biB0byB0aGUgbGltaXQgYnkgcG9wcGluZyBhbgorICogaXRlbSBvZmYgb2YgdGhlIG9wcG9zaXRlIGVuZC4gIFRoZSBtZXRob2RzIHRoYXQgY2FuIHRyaWdnZXIgdGhpcyBhcmUgYXBwZW5kKCksCisgKiBhcHBlbmRsZWZ0KCksIGV4dGVuZCgpLCBhbmQgZXh0ZW5kbGVmdCgpLgorICovCisKK3N0YXRpYyB2b2lkCitkZXF1ZV90cmltX3JpZ2h0KGRlcXVlb2JqZWN0ICpkZXF1ZSkKK3sKKyAgICBpZiAoZGVxdWUtPm1heGxlbiAhPSAtMSAmJiBQeV9TSVpFKGRlcXVlKSA+IGRlcXVlLT5tYXhsZW4pIHsKKyAgICAgICAgUHlPYmplY3QgKnJ2ID0gZGVxdWVfcG9wKGRlcXVlLCBOVUxMKTsKKyAgICAgICAgYXNzZXJ0KHJ2ICE9IE5VTEwpOworICAgICAgICBhc3NlcnQoUHlfU0laRShkZXF1ZSkgPD0gZGVxdWUtPm1heGxlbik7CisgICAgICAgIFB5X0RFQ1JFRihydik7CisgICAgfQorfQorCitzdGF0aWMgdm9pZAorZGVxdWVfdHJpbV9sZWZ0KGRlcXVlb2JqZWN0ICpkZXF1ZSkKK3sKKyAgICBpZiAoZGVxdWUtPm1heGxlbiAhPSAtMSAmJiBQeV9TSVpFKGRlcXVlKSA+IGRlcXVlLT5tYXhsZW4pIHsKKyAgICAgICAgUHlPYmplY3QgKnJ2ID0gZGVxdWVfcG9wbGVmdChkZXF1ZSwgTlVMTCk7CisgICAgICAgIGFzc2VydChydiAhPSBOVUxMKTsKKyAgICAgICAgYXNzZXJ0KFB5X1NJWkUoZGVxdWUpIDw9IGRlcXVlLT5tYXhsZW4pOworICAgICAgICBQeV9ERUNSRUYocnYpOworICAgIH0KK30KKwogc3RhdGljIFB5T2JqZWN0ICoKIGRlcXVlX2FwcGVuZChkZXF1ZW9iamVjdCAqZGVxdWUsIFB5T2JqZWN0ICppdGVtKQogewpAQCAtMjcxLDcgKzI5NSw3IEBACiAgICAgUHlfU0laRShkZXF1ZSkrKzsKICAgICBkZXF1ZS0+cmlnaHRpbmRleCsrOwogICAgIGRlcXVlLT5yaWdodGJsb2NrLT5kYXRhW2RlcXVlLT5yaWdodGluZGV4XSA9IGl0ZW07Ci0gICAgVFJJTShkZXF1ZSwgZGVxdWVfcG9wbGVmdCk7CisgICAgZGVxdWVfdHJpbV9sZWZ0KGRlcXVlKTsKICAgICBQeV9SRVRVUk5fTk9ORTsKIH0KIApAQCAtMjk2LDcgKzMyMCw3IEBACiAgICAgUHlfU0laRShkZXF1ZSkrKzsKICAgICBkZXF1ZS0+bGVmdGluZGV4LS07CiAgICAgZGVxdWUtPmxlZnRibG9jay0+ZGF0YVtkZXF1ZS0+bGVmdGluZGV4XSA9IGl0ZW07Ci0gICAgVFJJTShkZXF1ZSwgZGVxdWVfcG9wKTsKKyAgICBkZXF1ZV90cmltX3JpZ2h0KGRlcXVlKTsKICAgICBQeV9SRVRVUk5fTk9ORTsKIH0KIApAQCAtMzY5LDcgKzM5Myw3IEBACiAgICAgICAgIFB5X1NJWkUoZGVxdWUpKys7CiAgICAgICAgIGRlcXVlLT5yaWdodGluZGV4Kys7CiAgICAgICAgIGRlcXVlLT5yaWdodGJsb2NrLT5kYXRhW2RlcXVlLT5yaWdodGluZGV4XSA9IGl0ZW07Ci0gICAgICAgIFRSSU0oZGVxdWUsIGRlcXVlX3BvcGxlZnQpOworICAgICAgICBkZXF1ZV90cmltX2xlZnQoZGVxdWUpOwogICAgIH0KICAgICBQeV9ERUNSRUYoaXQpOwogICAgIGlmIChQeUVycl9PY2N1cnJlZCgpKQpAQCAtNDMwLDcgKzQ1NCw3IEBACiAgICAgICAgIFB5X1NJWkUoZGVxdWUpKys7CiAgICAgICAgIGRlcXVlLT5sZWZ0aW5kZXgtLTsKICAgICAgICAgZGVxdWUtPmxlZnRibG9jay0+ZGF0YVtkZXF1ZS0+bGVmdGluZGV4XSA9IGl0ZW07Ci0gICAgICAgIFRSSU0oZGVxdWUsIGRlcXVlX3BvcCk7CisgICAgICAgIGRlcXVlX3RyaW1fcmlnaHQoZGVxdWUpOwogICAgIH0KICAgICBQeV9ERUNSRUYoaXQpOwogICAgIGlmIChQeUVycl9PY2N1cnJlZCgpKQpAQCAtNDU0LDYgKzQ3OCwzMSBAQAogICAgIHJldHVybiAoUHlPYmplY3QgKilkZXF1ZTsKIH0KIAorLyogVGhlIHJvdGF0ZSgpIG1ldGhvZCBpcyBwYXJ0IG9mIHRoZSBwdWJsaWMgQVBJIGFuZCBpcyB1c2VkIGludGVybmFsbHkKK2FzIGEgcHJpbWl0aXZlIGZvciBvdGhlciBtZXRob2RzLgorCitSb3RhdGlvbiBieSAxIG9yIC0xIGlzIGEgY29tbW9uIGNhc2UsIHNvIGFueSBvcHRpbWl6YXRpb25zIGZvciBoaWdoCit2b2x1bWUgcm90YXRpb25zIHNob3VsZCB0YWtlIGNhcmUgbm90IHRvIHBlbmFsaXplIHRoZSBjb21tb24gY2FzZS4KKworQ29uY2VwdHVhbGx5LCBhIHJvdGF0ZSBieSBvbmUgaXMgZXF1aXZhbGVudCB0byBhIHBvcCBvbiBvbmUgc2lkZSBhbmQgYW4KK2FwcGVuZCBvbiB0aGUgb3RoZXIuICBIb3dldmVyLCBhIHBvcC9hcHBlbmQgcGFpciBpcyB1bm5lY2Vzc2FyaWx5IHNsb3cKK2JlY2F1c2UgaXQgcmVxdWlyZXMgYSBpbmNyZWYvZGVjcmVmIHBhaXIgZm9yIGFuIG9iamVjdCBsb2NhdGVkIHJhbmRvbWx5CitpbiBtZW1vcnkuICBJdCBpcyBiZXR0ZXIgdG8ganVzdCBtb3ZlIHRoZSBvYmplY3QgcG9pbnRlciBmcm9tIG9uZSBibG9jawordG8gdGhlIG5leHQgd2l0aG91dCBjaGFuZ2luZyB0aGUgcmVmZXJlbmNlIGNvdW50LgorCitXaGVuIG1vdmluZyBiYXRjaGVzIG9mIHBvaW50ZXJzLCBpdCBpcyB0ZW1wdGluZyB0byB1c2UgbWVtY3B5KCkgYnV0IHRoYXQKK3Byb3ZlZCB0byBiZSBzbG93ZXIgdGhhbiBhIHNpbXBsZSBsb29wIGZvciBhIHZhcmlldHkgb2YgcmVhc29ucy4KK01lbWNweSgpIGNhbm5vdCBrbm93IGluIGFkdmFuY2UgdGhhdCB3ZSdyZSBjb3B5aW5nIHBvaW50ZXJzIGluc3RlYWQgb2YKK2J5dGVzLCB0aGF0IHRoZSBzb3VyY2UgYW5kIGRlc3RpbmF0aW9uIGFyZSBwb2ludGVyIGFsaWduZWQgYW5kCitub24tb3ZlcmxhcHBpbmcsIHRoYXQgbW92aW5nIGp1c3Qgb25lIHBvaW50ZXIgaXMgYSBjb21tb24gY2FzZSwgdGhhdCB3ZQorbmV2ZXIgbmVlZCB0byBtb3ZlIG1vcmUgdGhhbiBCTE9DS0xFTiBwb2ludGVycywgYW5kIHRoYXQgYXQgbGVhc3Qgb25lCitwb2ludGVyIGlzIGFsd2F5cyBtb3ZlZC4KKworRm9yIGhpZ2ggdm9sdW1lIHJvdGF0aW9ucywgbmV3YmxvY2soKSBhbmQgZnJlZWJsb2NrKCkgYXJlIG5ldmVyIGNhbGxlZAorbW9yZSB0aGFuIG9uY2UuICBQcmV2aW91c2x5IGVtcHRpZWQgYmxvY2tzIGFyZSBpbW1lZGlhdGVseSByZXVzZWQgYXMgYQorZGVzdGluYXRpb24gYmxvY2suICBJZiBhIGJsb2NrIGlzIGxlZnQtb3ZlciBhdCB0aGUgZW5kLCBpdCBpcyBmcmVlZC4KKyovCisKIHN0YXRpYyBpbnQKIF9kZXF1ZV9yb3RhdGUoZGVxdWVvYmplY3QgKmRlcXVlLCBQeV9zc2l6ZV90IG4pCiB7CkBAIC01MDMsMTMgKzU1MiwxMyBAQAogICAgICAgICAgICAgaWYgKG0gPiBsZWZ0aW5kZXgpCiAgICAgICAgICAgICAgICAgbSA9IGxlZnRpbmRleDsKICAgICAgICAgICAgIGFzc2VydCAobSA+IDAgJiYgbSA8PSBsZW4pOwotICAgICAgICAgICAgc3JjID0gJnJpZ2h0YmxvY2stPmRhdGFbcmlnaHRpbmRleF07Ci0gICAgICAgICAgICBkZXN0ID0gJmxlZnRibG9jay0+ZGF0YVtsZWZ0aW5kZXggLSAxXTsKICAgICAgICAgICAgIHJpZ2h0aW5kZXggLT0gbTsKICAgICAgICAgICAgIGxlZnRpbmRleCAtPSBtOworICAgICAgICAgICAgc3JjID0gJnJpZ2h0YmxvY2stPmRhdGFbcmlnaHRpbmRleCArIDFdOworICAgICAgICAgICAgZGVzdCA9ICZsZWZ0YmxvY2stPmRhdGFbbGVmdGluZGV4XTsKICAgICAgICAgICAgIG4gLT0gbTsKICAgICAgICAgICAgIGRvIHsKLSAgICAgICAgICAgICAgICAqKGRlc3QtLSkgPSAqKHNyYy0tKTsKKyAgICAgICAgICAgICAgICAqKGRlc3QrKykgPSAqKHNyYysrKTsKICAgICAgICAgICAgIH0gd2hpbGUgKC0tbSk7CiAgICAgICAgIH0KICAgICAgICAgaWYgKHJpZ2h0aW5kZXggPT0gLTEpIHsKQEAgLTY0Myw4ICs2OTIsOCBAQAogICAgIFB5X3NzaXplX3QgbiA9IFB5X1NJWkUoZGVxdWUpOwogICAgIFB5X3NzaXplX3QgaTsKICAgICBQeV9zc2l6ZV90IGNvdW50ID0gMDsKKyAgICBzaXplX3Qgc3RhcnRfc3RhdGUgPSBkZXF1ZS0+c3RhdGU7CiAgICAgUHlPYmplY3QgKml0ZW07Ci0gICAgbG9uZyBzdGFydF9zdGF0ZSA9IGRlcXVlLT5zdGF0ZTsKICAgICBpbnQgY21wOwogCiAgICAgZm9yIChpPTAgOyBpPG4gOyBpKyspIHsKQEAgLTcyNiw5ICs3NzUsMTcgQEAKICAgICAgICAgYXNzZXJ0IChpdGVtICE9IE5VTEwpOwogICAgICAgICBQeV9ERUNSRUYoaXRlbSk7CiAgICAgfQotICAgIGFzc2VydChkZXF1ZS0+bGVmdGJsb2NrID09IGRlcXVlLT5yaWdodGJsb2NrICYmCi0gICAgICAgICAgIGRlcXVlLT5sZWZ0aW5kZXggLSAxID09IGRlcXVlLT5yaWdodGluZGV4ICYmCi0gICAgICAgICAgIFB5X1NJWkUoZGVxdWUpID09IDApOworICAgIGFzc2VydChkZXF1ZS0+bGVmdGJsb2NrID09IGRlcXVlLT5yaWdodGJsb2NrKTsKKyAgICBhc3NlcnQoZGVxdWUtPmxlZnRpbmRleCAtIDEgPT0gZGVxdWUtPnJpZ2h0aW5kZXgpOworICAgIGFzc2VydChQeV9TSVpFKGRlcXVlKSA9PSAwKTsKK30KKworc3RhdGljIGludAordmFsaWRfaW5kZXgoUHlfc3NpemVfdCBpLCBQeV9zc2l6ZV90IGxpbWl0KQoreworICAgIC8qIFRoZSBjYXN0IHRvIHNpemVfdCBsZXQgdXMgdXNlIGp1c3QgYSBzaW5nbGUgY29tcGFyaXNvbgorICAgICAgIHRvIGNoZWNrIHdoZXRoZXIgaSBpcyBpbiB0aGUgcmFuZ2U6IDAgPD0gaSA8IGxpbWl0ICovCisgICAgcmV0dXJuIChzaXplX3QpIGkgPCAoc2l6ZV90KSBsaW1pdDsKIH0KIAogc3RhdGljIFB5T2JqZWN0ICoKQEAgLTczOCw5ICs3OTUsOCBAQAogICAgIFB5T2JqZWN0ICppdGVtOwogICAgIFB5X3NzaXplX3QgbiwgaW5kZXg9aTsKIAotICAgIGlmIChpIDwgMCB8fCBpID49IFB5X1NJWkUoZGVxdWUpKSB7Ci0gICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19JbmRleEVycm9yLAotICAgICAgICAgICAgICAgICAgICAgICAgImRlcXVlIGluZGV4IG91dCBvZiByYW5nZSIpOworICAgIGlmICghdmFsaWRfaW5kZXgoaSwgUHlfU0laRShkZXF1ZSkpKSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19JbmRleEVycm9yLCAiZGVxdWUgaW5kZXggb3V0IG9mIHJhbmdlIik7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KIApAQCAtNzUyLDE0ICs4MDgsMTYgQEAKICAgICAgICAgYiA9IGRlcXVlLT5yaWdodGJsb2NrOwogICAgIH0gZWxzZSB7CiAgICAgICAgIGkgKz0gZGVxdWUtPmxlZnRpbmRleDsKLSAgICAgICAgbiA9IGkgLyBCTE9DS0xFTjsKLSAgICAgICAgaSAlPSBCTE9DS0xFTjsKKyAgICAgICAgbiA9IChQeV9zc2l6ZV90KSgoc2l6ZV90KSBpIC8gQkxPQ0tMRU4pOworICAgICAgICBpID0gKFB5X3NzaXplX3QpKChzaXplX3QpIGkgJSBCTE9DS0xFTik7CiAgICAgICAgIGlmIChpbmRleCA8IChQeV9TSVpFKGRlcXVlKSA+PiAxKSkgewogICAgICAgICAgICAgYiA9IGRlcXVlLT5sZWZ0YmxvY2s7CiAgICAgICAgICAgICB3aGlsZSAobi0tKQogICAgICAgICAgICAgICAgIGIgPSBiLT5yaWdodGxpbms7CiAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICBuID0gKGRlcXVlLT5sZWZ0aW5kZXggKyBQeV9TSVpFKGRlcXVlKSAtIDEpIC8gQkxPQ0tMRU4gLSBuOworICAgICAgICAgICAgbiA9IChQeV9zc2l6ZV90KSgKKyAgICAgICAgICAgICAgICAgICAgKChzaXplX3QpKGRlcXVlLT5sZWZ0aW5kZXggKyBQeV9TSVpFKGRlcXVlKSAtIDEpKQorICAgICAgICAgICAgICAgICAgICAvIEJMT0NLTEVOIC0gbik7CiAgICAgICAgICAgICBiID0gZGVxdWUtPnJpZ2h0YmxvY2s7CiAgICAgICAgICAgICB3aGlsZSAobi0tKQogICAgICAgICAgICAgICAgIGIgPSBiLT5sZWZ0bGluazsKQEAgLTgwMCwyMyArODU4LDI0IEBACiAgICAgYmxvY2sgKmI7CiAgICAgUHlfc3NpemVfdCBuLCBsZW49UHlfU0laRShkZXF1ZSksIGhhbGZsZW49KGxlbisxKT4+MSwgaW5kZXg9aTsKIAotICAgIGlmIChpIDwgMCB8fCBpID49IGxlbikgewotICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfSW5kZXhFcnJvciwKLSAgICAgICAgICAgICAgICAgICAgICAgICJkZXF1ZSBpbmRleCBvdXQgb2YgcmFuZ2UiKTsKKyAgICBpZiAoIXZhbGlkX2luZGV4KGksIGxlbikpIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX0luZGV4RXJyb3IsICJkZXF1ZSBpbmRleCBvdXQgb2YgcmFuZ2UiKTsKICAgICAgICAgcmV0dXJuIC0xOwogICAgIH0KICAgICBpZiAodiA9PSBOVUxMKQogICAgICAgICByZXR1cm4gZGVxdWVfZGVsX2l0ZW0oZGVxdWUsIGkpOwogCiAgICAgaSArPSBkZXF1ZS0+bGVmdGluZGV4OwotICAgIG4gPSBpIC8gQkxPQ0tMRU47Ci0gICAgaSAlPSBCTE9DS0xFTjsKKyAgICBuID0gKFB5X3NzaXplX3QpKChzaXplX3QpIGkgLyBCTE9DS0xFTik7CisgICAgaSA9IChQeV9zc2l6ZV90KSgoc2l6ZV90KSBpICUgQkxPQ0tMRU4pOwogICAgIGlmIChpbmRleCA8PSBoYWxmbGVuKSB7CiAgICAgICAgIGIgPSBkZXF1ZS0+bGVmdGJsb2NrOwogICAgICAgICB3aGlsZSAobi0tKQogICAgICAgICAgICAgYiA9IGItPnJpZ2h0bGluazsKICAgICB9IGVsc2UgewotICAgICAgICBuID0gKGRlcXVlLT5sZWZ0aW5kZXggKyBsZW4gLSAxKSAvIEJMT0NLTEVOIC0gbjsKKyAgICAgICAgbiA9IChQeV9zc2l6ZV90KSgKKyAgICAgICAgICAgICAgICAoKHNpemVfdCkoZGVxdWUtPmxlZnRpbmRleCArIFB5X1NJWkUoZGVxdWUpIC0gMSkpCisgICAgICAgICAgICAgICAgLyBCTE9DS0xFTiAtIG4pOwogICAgICAgICBiID0gZGVxdWUtPnJpZ2h0YmxvY2s7CiAgICAgICAgIHdoaWxlIChuLS0pCiAgICAgICAgICAgICBiID0gYi0+bGVmdGxpbms7CkBAIC0xMDkzLDEwICsxMTUyLDEwIEBACiAgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogc3FfcmVwZWF0ICovCiAgICAgKHNzaXplYXJnZnVuYylkZXF1ZV9pdGVtLCAgICAgICAgICAgLyogc3FfaXRlbSAqLwogICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHNxX3NsaWNlICovCi0gICAgKHNzaXplb2JqYXJncHJvYylkZXF1ZV9hc3NfaXRlbSwgICAgICAgICAgICAvKiBzcV9hc3NfaXRlbSAqLworICAgIChzc2l6ZW9iamFyZ3Byb2MpZGVxdWVfYXNzX2l0ZW0sICAgIC8qIHNxX2Fzc19pdGVtICovCiAgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogc3FfYXNzX3NsaWNlICovCiAgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogc3FfY29udGFpbnMgKi8KLSAgICAoYmluYXJ5ZnVuYylkZXF1ZV9pbnBsYWNlX2NvbmNhdCwgICAgICAgICAgIC8qIHNxX2lucGxhY2VfY29uY2F0ICovCisgICAgKGJpbmFyeWZ1bmMpZGVxdWVfaW5wbGFjZV9jb25jYXQsICAgLyogc3FfaW5wbGFjZV9jb25jYXQgKi8KICAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBzcV9pbnBsYWNlX3JlcGVhdCAqLwogCiB9OwpAQCAtMTE5NSwxMCArMTI1NCwxMCBAQAogCiB0eXBlZGVmIHN0cnVjdCB7CiAgICAgUHlPYmplY3RfSEVBRAotICAgIFB5X3NzaXplX3QgaW5kZXg7CiAgICAgYmxvY2sgKmI7CisgICAgUHlfc3NpemVfdCBpbmRleDsKICAgICBkZXF1ZW9iamVjdCAqZGVxdWU7Ci0gICAgbG9uZyBzdGF0ZTsgICAgICAgICAvKiBzdGF0ZSB3aGVuIHRoZSBpdGVyYXRvciBpcyBjcmVhdGVkICovCisgICAgc2l6ZV90IHN0YXRlOyAgICAgICAgICAvKiBzdGF0ZSB3aGVuIHRoZSBpdGVyYXRvciBpcyBjcmVhdGVkICovCiAgICAgUHlfc3NpemVfdCBjb3VudGVyOyAgICAvKiBudW1iZXIgb2YgaXRlbXMgcmVtYWluaW5nIGZvciBpdGVyYXRpb24gKi8KIH0gZGVxdWVpdGVyb2JqZWN0OwogCkBAIC0xMzE1LDcgKzEzNzQsNyBAQAogCiBzdGF0aWMgUHlUeXBlT2JqZWN0IGRlcXVlaXRlcl90eXBlID0gewogICAgIFB5VmFyT2JqZWN0X0hFQURfSU5JVChOVUxMLCAwKQotICAgICJfY29sbGVjdGlvbnMuX2RlcXVlX2l0ZXJhdG9yIiwgICAgICAgICAgICAgIC8qIHRwX25hbWUgKi8KKyAgICAiX2NvbGxlY3Rpb25zLl9kZXF1ZV9pdGVyYXRvciIsICAgICAgICAgICAgIC8qIHRwX25hbWUgKi8KICAgICBzaXplb2YoZGVxdWVpdGVyb2JqZWN0KSwgICAgICAgICAgICAgICAgICAgIC8qIHRwX2Jhc2ljc2l6ZSAqLwogICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfaXRlbXNpemUgKi8KICAgICAvKiBtZXRob2RzICovCkBAIC0xMzM0LDcgKzEzOTMsNyBAQAogICAgIFB5T2JqZWN0X0dlbmVyaWNHZXRBdHRyLCAgICAgICAgICAgICAgICAgICAgLyogdHBfZ2V0YXR0cm8gKi8KICAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX3NldGF0dHJvICovCiAgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9hc19idWZmZXIgKi8KLSAgICBQeV9UUEZMQUdTX0RFRkFVTFQgfCBQeV9UUEZMQUdTX0hBVkVfR0MsLyogdHBfZmxhZ3MgKi8KKyAgICBQeV9UUEZMQUdTX0RFRkFVTFQgfCBQeV9UUEZMQUdTX0hBVkVfR0MsICAgIC8qIHRwX2ZsYWdzICovCiAgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9kb2MgKi8KICAgICAodHJhdmVyc2Vwcm9jKWRlcXVlaXRlcl90cmF2ZXJzZSwgICAgICAgICAgIC8qIHRwX3RyYXZlcnNlICovCiAgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9jbGVhciAqLwpAQCAtMTQzNyw3ICsxNDk2LDcgQEAKIAogc3RhdGljIFB5VHlwZU9iamVjdCBkZXF1ZXJldml0ZXJfdHlwZSA9IHsKICAgICBQeVZhck9iamVjdF9IRUFEX0lOSVQoTlVMTCwgMCkKLSAgICAiX2NvbGxlY3Rpb25zLl9kZXF1ZV9yZXZlcnNlX2l0ZXJhdG9yIiwgICAgICAvKiB0cF9uYW1lICovCisgICAgIl9jb2xsZWN0aW9ucy5fZGVxdWVfcmV2ZXJzZV9pdGVyYXRvciIsICAgICAvKiB0cF9uYW1lICovCiAgICAgc2l6ZW9mKGRlcXVlaXRlcm9iamVjdCksICAgICAgICAgICAgICAgICAgICAvKiB0cF9iYXNpY3NpemUgKi8KICAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2l0ZW1zaXplICovCiAgICAgLyogbWV0aG9kcyAqLwpAQCAtMTQ1Niw3ICsxNTE1LDcgQEAKICAgICBQeU9iamVjdF9HZW5lcmljR2V0QXR0ciwgICAgICAgICAgICAgICAgICAgIC8qIHRwX2dldGF0dHJvICovCiAgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9zZXRhdHRybyAqLwogICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfYXNfYnVmZmVyICovCi0gICAgUHlfVFBGTEFHU19ERUZBVUxUIHwgUHlfVFBGTEFHU19IQVZFX0dDLC8qIHRwX2ZsYWdzICovCisgICAgUHlfVFBGTEFHU19ERUZBVUxUIHwgUHlfVFBGTEFHU19IQVZFX0dDLCAgICAvKiB0cF9mbGFncyAqLwogICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfZG9jICovCiAgICAgKHRyYXZlcnNlcHJvYylkZXF1ZWl0ZXJfdHJhdmVyc2UsICAgICAgICAgICAvKiB0cF90cmF2ZXJzZSAqLwogICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfY2xlYXIgKi8KQEAgLTE4MDAsMTkgKzE4NTksNDAgQEAKICAgICBpZiAobWFwcGluZ19nZXQgIT0gTlVMTCAmJiBtYXBwaW5nX2dldCA9PSBkaWN0X2dldCAmJgogICAgICAgICBtYXBwaW5nX3NldGl0ZW0gIT0gTlVMTCAmJiBtYXBwaW5nX3NldGl0ZW0gPT0gZGljdF9zZXRpdGVtKSB7CiAgICAgICAgIHdoaWxlICgxKSB7CisgICAgICAgICAgICAvKiBGYXN0IHBhdGggYWR2YW50YWdlczoKKyAgICAgICAgICAgICAgICAgICAxLiBFbGltaW5hdGUgZG91YmxlIGhhc2hpbmcKKyAgICAgICAgICAgICAgICAgICAgICAoYnkgcmUtdXNpbmcgdGhlIHNhbWUgaGFzaCBmb3IgYm90aCB0aGUgZ2V0IGFuZCBzZXQpCisgICAgICAgICAgICAgICAgICAgMi4gQXZvaWQgYXJndW1lbnQgb3ZlcmhlYWQgb2YgUHlPYmplY3RfQ2FsbEZ1bmN0aW9uT2JqQXJncworICAgICAgICAgICAgICAgICAgICAgIChhcmd1bWVudCB0dXBsZSBjcmVhdGlvbiBhbmQgcGFyc2luZykKKyAgICAgICAgICAgICAgICAgICAzLiBBdm9pZCBpbmRpcmVjdGlvbiB0aHJvdWdoIGEgYm91bmQgbWV0aG9kIG9iamVjdAorICAgICAgICAgICAgICAgICAgICAgIChjcmVhdGVzIGFub3RoZXIgYXJndW1lbnQgdHVwbGUpCisgICAgICAgICAgICAgICAgICAgNC4gQXZvaWQgaW5pdGlhbCBpbmNyZW1lbnQgZnJvbSB6ZXJvCisgICAgICAgICAgICAgICAgICAgICAgKHJldXNlIGFuIGV4aXN0aW5nIG9uZS1vYmplY3QgaW5zdGVhZCkKKyAgICAgICAgICAgICovCisgICAgICAgICAgICBQeV9oYXNoX3QgaGFzaDsKKwogICAgICAgICAgICAga2V5ID0gUHlJdGVyX05leHQoaXQpOwogICAgICAgICAgICAgaWYgKGtleSA9PSBOVUxMKQogICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgb2xkdmFsID0gUHlEaWN0X0dldEl0ZW0obWFwcGluZywga2V5KTsKKworICAgICAgICAgICAgaWYgKCFQeVVuaWNvZGVfQ2hlY2tFeGFjdChrZXkpIHx8CisgICAgICAgICAgICAgICAgKGhhc2ggPSAoKFB5QVNDSUlPYmplY3QgKikga2V5KS0+aGFzaCkgPT0gLTEpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgaGFzaCA9IFB5T2JqZWN0X0hhc2goa2V5KTsKKyAgICAgICAgICAgICAgICBpZiAoaGFzaCA9PSAtMSkKKyAgICAgICAgICAgICAgICAgICAgZ290byBkb25lOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBvbGR2YWwgPSBfUHlEaWN0X0dldEl0ZW1fS25vd25IYXNoKG1hcHBpbmcsIGtleSwgaGFzaCk7CiAgICAgICAgICAgICBpZiAob2xkdmFsID09IE5VTEwpIHsKLSAgICAgICAgICAgICAgICBpZiAoUHlEaWN0X1NldEl0ZW0obWFwcGluZywga2V5LCBvbmUpID09IC0xKQotICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICBpZiAoX1B5RGljdF9TZXRJdGVtX0tub3duSGFzaChtYXBwaW5nLCBrZXksIG9uZSwgaGFzaCkgPT0gLTEpCisgICAgICAgICAgICAgICAgICAgIGdvdG8gZG9uZTsKICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgbmV3dmFsID0gUHlOdW1iZXJfQWRkKG9sZHZhbCwgb25lKTsKICAgICAgICAgICAgICAgICBpZiAobmV3dmFsID09IE5VTEwpCi0gICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAgIGlmIChQeURpY3RfU2V0SXRlbShtYXBwaW5nLCBrZXksIG5ld3ZhbCkgPT0gLTEpCi0gICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgICAgICBnb3RvIGRvbmU7CisgICAgICAgICAgICAgICAgaWYgKF9QeURpY3RfU2V0SXRlbV9Lbm93bkhhc2gobWFwcGluZywga2V5LCBuZXd2YWwsIGhhc2gpID09IC0xKQorICAgICAgICAgICAgICAgICAgICBnb3RvIGRvbmU7CiAgICAgICAgICAgICAgICAgUHlfQ0xFQVIobmV3dmFsKTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIFB5X0RFQ1JFRihrZXkpOwpkaWZmIC0tZ2l0IGEvTW9kdWxlcy9fY3N2LmMgYi9Nb2R1bGVzL19jc3YuYwppbmRleCBjODc2N2QxLi5hZGUzNWU1IDEwMDY0NAotLS0gYS9Nb2R1bGVzL19jc3YuYworKysgYi9Nb2R1bGVzL19jc3YuYwpAQCAtMjQ4LDcgKzI0OCw3IEBACiAgICAgICAgICAgICBsZW4gPSBQeVVuaWNvZGVfR2V0TGVuZ3RoKHNyYyk7CiAgICAgICAgICAgICBpZiAobGVuID4gMSkgewogICAgICAgICAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19UeXBlRXJyb3IsCi0gICAgICAgICAgICAgICAgICAgICJcIiVzXCIgbXVzdCBiZSBhbiAxLWNoYXJhY3RlciBzdHJpbmciLAorICAgICAgICAgICAgICAgICAgICAiXCIlc1wiIG11c3QgYmUgYSAxLWNoYXJhY3RlciBzdHJpbmciLAogICAgICAgICAgICAgICAgICAgICBuYW1lKTsKICAgICAgICAgICAgICAgICByZXR1cm4gLTE7CiAgICAgICAgICAgICB9CkBAIC0yOTAsNyArMjkwLDcgQEAKICAgICBTdHlsZURlc2MgKnFzOwogCiAgICAgZm9yIChxcyA9IHF1b3RlX3N0eWxlczsgcXMtPm5hbWU7IHFzKyspIHsKLSAgICAgICAgaWYgKHFzLT5zdHlsZSA9PSBxdW90aW5nKQorICAgICAgICBpZiAoKGludClxcy0+c3R5bGUgPT0gcXVvdGluZykKICAgICAgICAgICAgIHJldHVybiAwOwogICAgIH0KICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVHlwZUVycm9yLCAiYmFkIFwicXVvdGluZ1wiIHZhbHVlIik7CkBAIC00MzIsNyArNDMyLDcgQEAKICAgICAgICAgZ290byBlcnI7CiAgICAgaWYgKHNlbGYtPmRlbGltaXRlciA9PSAwKSB7CiAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsCi0gICAgICAgICAgICAgICAgICAgICAgICAiXCJkZWxpbWl0ZXJcIiBtdXN0IGJlIGFuIDEtY2hhcmFjdGVyIHN0cmluZyIpOworICAgICAgICAgICAgICAgICAgICAgICAgIlwiZGVsaW1pdGVyXCIgbXVzdCBiZSBhIDEtY2hhcmFjdGVyIHN0cmluZyIpOwogICAgICAgICBnb3RvIGVycjsKICAgICB9CiAgICAgaWYgKHF1b3RlY2hhciA9PSBQeV9Ob25lICYmIHF1b3RpbmcgPT0gTlVMTCkKZGlmZiAtLWdpdCBhL01vZHVsZXMvX2N0eXBlcy9fY3R5cGVzLmMgYi9Nb2R1bGVzL19jdHlwZXMvX2N0eXBlcy5jCmluZGV4IDE0ZWM0Y2UuLjY1MzFhZWMgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvX2N0eXBlcy9fY3R5cGVzLmMKKysrIGIvTW9kdWxlcy9fY3R5cGVzL19jdHlwZXMuYwpAQCAtMzAxLDcgKzMwMSw3IEBACiAgICAgY2hhciAqbmV3X3ByZWZpeDsKICAgICBjaGFyICpyZXN1bHQ7CiAgICAgY2hhciBidWZbMzJdOwotICAgIGludCBwcmVmaXhfbGVuOworICAgIFB5X3NzaXplX3QgcHJlZml4X2xlbjsKICAgICBpbnQgazsKIAogICAgIHByZWZpeF9sZW4gPSAzMiAqIG5kaW0gKyAzOwpAQCAtMjgxOSw4ICsyODE5LDkgQEAKICAgICAgICAgICAgICAgIHNyYy0+Yl9wdHIsCiAgICAgICAgICAgICAgICBzaXplKTsKIAotICAgICAgICBpZiAoUHlDUG9pbnRlclR5cGVPYmplY3RfQ2hlY2sodHlwZSkpCi0gICAgICAgICAgICAvKiBYWFggKi87CisgICAgICAgIGlmIChQeUNQb2ludGVyVHlwZU9iamVjdF9DaGVjayh0eXBlKSkgeworICAgICAgICAgICAgLyogWFhYICovCisgICAgICAgIH0KIAogICAgICAgICB2YWx1ZSA9IEdldEtlZXBlZE9iamVjdHMoc3JjKTsKICAgICAgICAgaWYgKHZhbHVlID09IE5VTEwpCmRpZmYgLS1naXQgYS9Nb2R1bGVzL19jdHlwZXMvY2FsbHByb2MuYyBiL01vZHVsZXMvX2N0eXBlcy9jYWxscHJvYy5jCmluZGV4IDhkYWVmZmMuLjAzYTkxMWYgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvX2N0eXBlcy9jYWxscHJvYy5jCisrKyBiL01vZHVsZXMvX2N0eXBlcy9jYWxscHJvYy5jCkBAIC0xNjAzLDcgKzE2MDMsNyBAQAogICAgICAgICAgICAgICAgICAgICAgIk1lbW9yeSBjYW5ub3QgYmUgcmVzaXplZCBiZWNhdXNlIHRoaXMgb2JqZWN0IGRvZXNuJ3Qgb3duIGl0Iik7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KLSAgICBpZiAoc2l6ZSA8PSBzaXplb2Yob2JqLT5iX3ZhbHVlKSkgeworICAgIGlmICgoc2l6ZV90KXNpemUgPD0gc2l6ZW9mKG9iai0+Yl92YWx1ZSkpIHsKICAgICAgICAgLyogaW50ZXJuYWwgZGVmYXVsdCBidWZmZXIgaXMgbGFyZ2UgZW5vdWdoICovCiAgICAgICAgIG9iai0+Yl9zaXplID0gc2l6ZTsKICAgICAgICAgZ290byBkb25lOwpkaWZmIC0tZ2l0IGEvTW9kdWxlcy9fY3R5cGVzL2xpYmZmaV9tc3ZjL2ZmaS5jIGIvTW9kdWxlcy9fY3R5cGVzL2xpYmZmaV9tc3ZjL2ZmaS5jCmluZGV4IDc2Y2IwM2UuLmI3NTg2YzcgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvX2N0eXBlcy9saWJmZmlfbXN2Yy9mZmkuYworKysgYi9Nb2R1bGVzL19jdHlwZXMvbGliZmZpX21zdmMvZmZpLmMKQEAgLTY1LDM3ICs2NSw1NiBAQAogCWFyZ3AgPSAoY2hhciAqKSBBTElHTihhcmdwLCBzaXplb2Yodm9pZCAqKSk7CiAKICAgICAgIHogPSAoKnBfYXJnKS0+c2l6ZTsKLSAgICAgIGlmICh6IDwgc2l6ZW9mKGludCkpCisgICAgICBpZiAoeiA8IHNpemVvZihpbnRwdHJfdCkpCiAJewotCSAgeiA9IHNpemVvZihpbnQpOworCSAgeiA9IHNpemVvZihpbnRwdHJfdCk7CiAJICBzd2l0Y2ggKCgqcF9hcmcpLT50eXBlKQogCSAgICB7CiAJICAgIGNhc2UgRkZJX1RZUEVfU0lOVDg6Ci0JICAgICAgKihzaWduZWQgaW50ICopIGFyZ3AgPSAoc2lnbmVkIGludCkqKFNJTlQ4ICopKCogcF9hcmd2KTsKKwkgICAgICAqKGludHB0cl90ICopIGFyZ3AgPSAoaW50cHRyX3QpKihTSU5UOCAqKSgqIHBfYXJndik7CiAJICAgICAgYnJlYWs7CiAKIAkgICAgY2FzZSBGRklfVFlQRV9VSU5UODoKLQkgICAgICAqKHVuc2lnbmVkIGludCAqKSBhcmdwID0gKHVuc2lnbmVkIGludCkqKFVJTlQ4ICopKCogcF9hcmd2KTsKKwkgICAgICAqKHVpbnRwdHJfdCAqKSBhcmdwID0gKHVpbnRwdHJfdCkqKFVJTlQ4ICopKCogcF9hcmd2KTsKIAkgICAgICBicmVhazsKIAogCSAgICBjYXNlIEZGSV9UWVBFX1NJTlQxNjoKLQkgICAgICAqKHNpZ25lZCBpbnQgKikgYXJncCA9IChzaWduZWQgaW50KSooU0lOVDE2ICopKCogcF9hcmd2KTsKKwkgICAgICAqKGludHB0cl90ICopIGFyZ3AgPSAoaW50cHRyX3QpKihTSU5UMTYgKikoKiBwX2FyZ3YpOwogCSAgICAgIGJyZWFrOwogCiAJICAgIGNhc2UgRkZJX1RZUEVfVUlOVDE2OgotCSAgICAgICoodW5zaWduZWQgaW50ICopIGFyZ3AgPSAodW5zaWduZWQgaW50KSooVUlOVDE2ICopKCogcF9hcmd2KTsKKwkgICAgICAqKHVpbnRwdHJfdCAqKSBhcmdwID0gKHVpbnRwdHJfdCkqKFVJTlQxNiAqKSgqIHBfYXJndik7CiAJICAgICAgYnJlYWs7CiAKIAkgICAgY2FzZSBGRklfVFlQRV9TSU5UMzI6Ci0JICAgICAgKihzaWduZWQgaW50ICopIGFyZ3AgPSAoc2lnbmVkIGludCkqKFNJTlQzMiAqKSgqIHBfYXJndik7CisJICAgICAgKihpbnRwdHJfdCAqKSBhcmdwID0gKGludHB0cl90KSooU0lOVDMyICopKCogcF9hcmd2KTsKIAkgICAgICBicmVhazsKIAogCSAgICBjYXNlIEZGSV9UWVBFX1VJTlQzMjoKLQkgICAgICAqKHVuc2lnbmVkIGludCAqKSBhcmdwID0gKHVuc2lnbmVkIGludCkqKFVJTlQzMiAqKSgqIHBfYXJndik7CisJICAgICAgKih1aW50cHRyX3QgKikgYXJncCA9ICh1aW50cHRyX3QpKihVSU5UMzIgKikoKiBwX2FyZ3YpOworCSAgICAgIGJyZWFrOworCisJICAgIGNhc2UgRkZJX1RZUEVfRkxPQVQ6CisJICAgICAgKih1aW50cHRyX3QgKikgYXJncCA9IDA7CisJICAgICAgKihmbG9hdCAqKSBhcmdwID0gKihmbG9hdCAqKSgqIHBfYXJndik7CisJICAgICAgYnJlYWs7CisKKwkgICAgLy8gNjQtYml0IHZhbHVlIGNhc2VzIHNob3VsZCBuZXZlciBiZSB1c2VkIGZvciB4ODYgYW5kIEFNRDY0IGJ1aWxkcworCSAgICBjYXNlIEZGSV9UWVBFX1NJTlQ2NDoKKwkgICAgICAqKGludHB0cl90ICopIGFyZ3AgPSAoaW50cHRyX3QpKihTSU5UNjQgKikoKiBwX2FyZ3YpOworCSAgICAgIGJyZWFrOworCisJICAgIGNhc2UgRkZJX1RZUEVfVUlOVDY0OgorCSAgICAgICoodWludHB0cl90ICopIGFyZ3AgPSAodWludHB0cl90KSooVUlOVDY0ICopKCogcF9hcmd2KTsKIAkgICAgICBicmVhazsKIAogCSAgICBjYXNlIEZGSV9UWVBFX1NUUlVDVDoKLQkgICAgICAqKHVuc2lnbmVkIGludCAqKSBhcmdwID0gKHVuc2lnbmVkIGludCkqKFVJTlQzMiAqKSgqIHBfYXJndik7CisJICAgICAgKih1aW50cHRyX3QgKikgYXJncCA9ICh1aW50cHRyX3QpKihVSU5UMzIgKikoKiBwX2FyZ3YpOworCSAgICAgIGJyZWFrOworCisJICAgIGNhc2UgRkZJX1RZUEVfRE9VQkxFOgorCSAgICAgICoodWludHB0cl90ICopIGFyZ3AgPSAwOworCSAgICAgICooZG91YmxlICopIGFyZ3AgPSAqKGRvdWJsZSAqKSgqIHBfYXJndik7CiAJICAgICAgYnJlYWs7CiAKIAkgICAgZGVmYXVsdDoKZGlmZiAtLWdpdCBhL01vZHVsZXMvX2N1cnNlc21vZHVsZS5jIGIvTW9kdWxlcy9fY3Vyc2VzbW9kdWxlLmMKaW5kZXggNWZmY2UyZi4uNmI3Nzg2OCAxMDA2NDQKLS0tIGEvTW9kdWxlcy9fY3Vyc2VzbW9kdWxlLmMKKysrIGIvTW9kdWxlcy9fY3Vyc2VzbW9kdWxlLmMKQEAgLTI2NzUsNyArMjY3NSw3IEBACiAgICAgfQogICAgIGtucCA9IGtleW5hbWUoY2gpOwogCi0gICAgcmV0dXJuIFB5Qnl0ZXNfRnJvbVN0cmluZygoa25wID09IE5VTEwpID8gIiIgOiAoY2hhciAqKWtucCk7CisgICAgcmV0dXJuIFB5Qnl0ZXNfRnJvbVN0cmluZygoa25wID09IE5VTEwpID8gIiIgOiBrbnApOwogfQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL01vZHVsZXMvX2RhdGV0aW1lbW9kdWxlLmMgYi9Nb2R1bGVzL19kYXRldGltZW1vZHVsZS5jCmluZGV4IGQ4MjI1YmEuLjA5Mjg1ZDkgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvX2RhdGV0aW1lbW9kdWxlLmMKKysrIGIvTW9kdWxlcy9fZGF0ZXRpbWVtb2R1bGUuYwpAQCAtMzgwNSwyOSArMzgwNSw2IEBACiAgICAgcmV0dXJuIGNsb25lOwogfQogCi1zdGF0aWMgaW50Ci10aW1lX2Jvb2woUHlPYmplY3QgKnNlbGYpCi17Ci0gICAgUHlPYmplY3QgKm9mZnNldCwgKnR6aW5mbzsKLSAgICBpbnQgb2Zmc2VjcyA9IDA7Ci0KLSAgICBpZiAoVElNRV9HRVRfU0VDT05EKHNlbGYpIHx8IFRJTUVfR0VUX01JQ1JPU0VDT05EKHNlbGYpKSB7Ci0gICAgICAgIC8qIFNpbmNlIHV0Y29mZnNldCBpcyBpbiB3aG9sZSBtaW51dGVzLCBub3RoaW5nIGNhbgotICAgICAgICAgKiBhbHRlciB0aGUgY29uY2x1c2lvbiB0aGF0IHRoaXMgaXMgbm9uemVyby4KLSAgICAgICAgICovCi0gICAgICAgIHJldHVybiAxOwotICAgIH0KLSAgICB0emluZm8gPSBHRVRfVElNRV9UWklORk8oc2VsZik7Ci0gICAgaWYgKHR6aW5mbyAhPSBQeV9Ob25lKSB7Ci0gICAgICAgIG9mZnNldCA9IGNhbGxfdXRjb2Zmc2V0KHR6aW5mbywgUHlfTm9uZSk7Ci0gICAgICAgIGlmIChvZmZzZXQgPT0gTlVMTCkKLSAgICAgICAgICAgIHJldHVybiAtMTsKLSAgICAgICAgb2Zmc2VjcyA9IEdFVF9URF9EQVlTKG9mZnNldCkqODY0MDAgKyBHRVRfVERfU0VDT05EUyhvZmZzZXQpOwotICAgICAgICBQeV9ERUNSRUYob2Zmc2V0KTsKLSAgICB9Ci0gICAgcmV0dXJuIChUSU1FX0dFVF9NSU5VVEUoc2VsZikqNjAgLSBvZmZzZWNzICsgVElNRV9HRVRfSE9VUihzZWxmKSozNjAwKSAhPSAwOwotfQotCiAvKiBQaWNrbGUgc3VwcG9ydCwgYSBzaW1wbGUgdXNlIG9mIF9fcmVkdWNlX18uICovCiAKIC8qIExldCBiYXNlc3RhdGUgYmUgdGhlIG5vbi10emluZm8gZGF0YSBzdHJpbmcuCkBAIC0zODk1LDE5ICszODcyLDYgQEAKIEFsbCBhcmd1bWVudHMgYXJlIG9wdGlvbmFsLiB0emluZm8gbWF5IGJlIE5vbmUsIG9yIGFuIGluc3RhbmNlIG9mXG5cCiBhIHR6aW5mbyBzdWJjbGFzcy4gVGhlIHJlbWFpbmluZyBhcmd1bWVudHMgbWF5IGJlIGludHMuXG4iKTsKIAotc3RhdGljIFB5TnVtYmVyTWV0aG9kcyB0aW1lX2FzX251bWJlciA9IHsKLSAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIG5iX2FkZCAqLwotICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogbmJfc3VidHJhY3QgKi8KLSAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIG5iX211bHRpcGx5ICovCi0gICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBuYl9yZW1haW5kZXIgKi8KLSAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIG5iX2Rpdm1vZCAqLwotICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogbmJfcG93ZXIgKi8KLSAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIG5iX25lZ2F0aXZlICovCi0gICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBuYl9wb3NpdGl2ZSAqLwotICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogbmJfYWJzb2x1dGUgKi8KLSAgICAoaW5xdWlyeSl0aW1lX2Jvb2wsICAgICAgICAgICAgICAgICAgICAgICAgIC8qIG5iX2Jvb2wgKi8KLX07Ci0KIHN0YXRpYyBQeVR5cGVPYmplY3QgUHlEYXRlVGltZV9UaW1lVHlwZSA9IHsKICAgICBQeVZhck9iamVjdF9IRUFEX0lOSVQoTlVMTCwgMCkKICAgICAiZGF0ZXRpbWUudGltZSIsICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX25hbWUgKi8KQEAgLTM5MTksNyArMzg4Myw3IEBACiAgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9zZXRhdHRyICovCiAgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9yZXNlcnZlZCAqLwogICAgIChyZXByZnVuYyl0aW1lX3JlcHIsICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfcmVwciAqLwotICAgICZ0aW1lX2FzX251bWJlciwgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfYXNfbnVtYmVyICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9hc19udW1iZXIgKi8KICAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2FzX3NlcXVlbmNlICovCiAgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9hc19tYXBwaW5nICovCiAgICAgKGhhc2hmdW5jKXRpbWVfaGFzaCwgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9oYXNoICovCkBAIC01MDU2LDggKzUwMjAsNyBAQAogCiAgICAgeyJ1dGNmcm9tdGltZXN0YW1wIiwgKFB5Q0Z1bmN0aW9uKWRhdGV0aW1lX3V0Y2Zyb210aW1lc3RhbXAsCiAgICAgIE1FVEhfVkFSQVJHUyB8IE1FVEhfQ0xBU1MsCi0gICAgIFB5RG9jX1NUUigidGltZXN0YW1wIC0+IFVUQyBkYXRldGltZSBmcm9tIGEgUE9TSVggdGltZXN0YW1wICIKLSAgICAgICAgICAgICAgICIobGlrZSB0aW1lLnRpbWUoKSkuIil9LAorICAgICBQeURvY19TVFIoIkNvbnN0cnVjdCBhIG5haXZlIFVUQyBkYXRldGltZSBmcm9tIGEgUE9TSVggdGltZXN0YW1wLiIpfSwKIAogICAgIHsic3RycHRpbWUiLCAoUHlDRnVuY3Rpb24pZGF0ZXRpbWVfc3RycHRpbWUsCiAgICAgIE1FVEhfVkFSQVJHUyB8IE1FVEhfQ0xBU1MsCmRpZmYgLS1naXQgYS9Nb2R1bGVzL19kZWNpbWFsL19kZWNpbWFsLmMgYi9Nb2R1bGVzL19kZWNpbWFsL19kZWNpbWFsLmMKaW5kZXggZjAwMDg4Ny4uMTY5OTE0YyAxMDA2NDQKLS0tIGEvTW9kdWxlcy9fZGVjaW1hbC9fZGVjaW1hbC5jCisrKyBiL01vZHVsZXMvX2RlY2ltYWwvX2RlY2ltYWwuYwpAQCAtNTY0MCw3ICs1NjQwLDcgQEAKICAgICAgICAgICAgIGdvdG8gZXJyb3I7IC8qIEdDT1ZfTk9UX1JFQUNIRUQgKi8KICAgICAgICAgfQogCi0gICAgICAgIEFTU0lHTl9QVFIoY20tPmV4LCBQeUVycl9OZXdFeGNlcHRpb24oKGNoYXIgKiljbS0+ZnFuYW1lLCBiYXNlLCBOVUxMKSk7CisgICAgICAgIEFTU0lHTl9QVFIoY20tPmV4LCBQeUVycl9OZXdFeGNlcHRpb24oY20tPmZxbmFtZSwgYmFzZSwgTlVMTCkpOwogICAgICAgICBQeV9ERUNSRUYoYmFzZSk7CiAKICAgICAgICAgLyogYWRkIHRvIG1vZHVsZSAqLwpAQCAtNTY3Miw3ICs1NjcyLDcgQEAKICAgICAgICAgICAgIGdvdG8gZXJyb3I7IC8qIEdDT1ZfTk9UX1JFQUNIRUQgKi8KICAgICAgICAgfQogCi0gICAgICAgIEFTU0lHTl9QVFIoY20tPmV4LCBQeUVycl9OZXdFeGNlcHRpb24oKGNoYXIgKiljbS0+ZnFuYW1lLCBiYXNlLCBOVUxMKSk7CisgICAgICAgIEFTU0lHTl9QVFIoY20tPmV4LCBQeUVycl9OZXdFeGNlcHRpb24oY20tPmZxbmFtZSwgYmFzZSwgTlVMTCkpOwogICAgICAgICBQeV9ERUNSRUYoYmFzZSk7CiAKICAgICAgICAgUHlfSU5DUkVGKGNtLT5leCk7CmRpZmYgLS1naXQgYS9Nb2R1bGVzL19kZWNpbWFsL2RvY3N0cmluZ3MuaCBiL01vZHVsZXMvX2RlY2ltYWwvZG9jc3RyaW5ncy5oCmluZGV4IGE2NDkwYjkuLjcxMDI5YTkgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvX2RlY2ltYWwvZG9jc3RyaW5ncy5oCisrKyBiL01vZHVsZXMvX2RlY2ltYWwvZG9jc3RyaW5ncy5oCkBAIC0xOSwyNiArMTksMzAgQEAKIFB5RG9jX1NUUlZBUihkb2NfX2RlY2ltYWwsCiAiQyBkZWNpbWFsIGFyaXRobWV0aWMgbW9kdWxlIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfZ2V0Y29udGV4dCwiXG5cCi1nZXRjb250ZXh0KCkgLSBHZXQgdGhlIGN1cnJlbnQgZGVmYXVsdCBjb250ZXh0LlxuXAorUHlEb2NfU1RSVkFSKGRvY19nZXRjb250ZXh0LAorImdldGNvbnRleHQoJG1vZHVsZSwgLylcbi0tXG5cblwKK0dldCB0aGUgY3VycmVudCBkZWZhdWx0IGNvbnRleHQuXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX3NldGNvbnRleHQsIlxuXAotc2V0Y29udGV4dChjKSAtIFNldCBhIG5ldyBkZWZhdWx0IGNvbnRleHQuXG5cCitQeURvY19TVFJWQVIoZG9jX3NldGNvbnRleHQsCisic2V0Y29udGV4dCgkbW9kdWxlLCBjb250ZXh0LCAvKVxuLS1cblxuXAorU2V0IGEgbmV3IGRlZmF1bHQgY29udGV4dC5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfbG9jYWxjb250ZXh0LCJcblwKLWxvY2FsY29udGV4dChjdHg9Tm9uZSkgLSBSZXR1cm4gYSBjb250ZXh0IG1hbmFnZXIgdGhhdCB3aWxsIHNldCB0aGUgZGVmYXVsdFxuXAotY29udGV4dCB0byBhIGNvcHkgb2YgY3R4IG9uIGVudHJ5IHRvIHRoZSB3aXRoLXN0YXRlbWVudCBhbmQgcmVzdG9yZSB0aGVcblwKLXByZXZpb3VzIGRlZmF1bHQgY29udGV4dCB3aGVuIGV4aXRpbmcgdGhlIHdpdGgtc3RhdGVtZW50LiBJZiBubyBjb250ZXh0IGlzXG5cCi1zcGVjaWZpZWQsIGEgY29weSBvZiB0aGUgY3VycmVudCBkZWZhdWx0IGNvbnRleHQgaXMgdXNlZC5cblwKK1B5RG9jX1NUUlZBUihkb2NfbG9jYWxjb250ZXh0LAorImxvY2FsY29udGV4dCgkbW9kdWxlLCAvLCBjdHg9Tm9uZSlcbi0tXG5cblwKK1JldHVybiBhIGNvbnRleHQgbWFuYWdlciB0aGF0IHdpbGwgc2V0IHRoZSBkZWZhdWx0IGNvbnRleHQgdG8gYSBjb3B5IG9mIGN0eFxuXAorb24gZW50cnkgdG8gdGhlIHdpdGgtc3RhdGVtZW50IGFuZCByZXN0b3JlIHRoZSBwcmV2aW91cyBkZWZhdWx0IGNvbnRleHQgd2hlblxuXAorZXhpdGluZyB0aGUgd2l0aC1zdGF0ZW1lbnQuIElmIG5vIGNvbnRleHQgaXMgc3BlY2lmaWVkLCBhIGNvcHkgb2YgdGhlIGN1cnJlbnRcblwKK2RlZmF1bHQgY29udGV4dCBpcyB1c2VkLlxuXAogXG4iKTsKIAogI2lmZGVmIEVYVFJBX0ZVTkNUSU9OQUxJVFkKLVB5RG9jX1NUUlZBUihkb2NfaWVlZV9jb250ZXh0LCJcblwKLUlFRUVDb250ZXh0KGJpdHMpIC0gUmV0dXJuIGEgY29udGV4dCBvYmplY3QgaW5pdGlhbGl6ZWQgdG8gdGhlIHByb3BlciB2YWx1ZXMgZm9yXG5cCi1vbmUgb2YgdGhlIElFRUUgaW50ZXJjaGFuZ2UgZm9ybWF0cy4gVGhlIGFyZ3VtZW50IG11c3QgYmUgYSBtdWx0aXBsZSBvZiAzMiBhbmRcblwKLWxlc3MgdGhhbiBJRUVFX0NPTlRFWFRfTUFYX0JJVFMuIEZvciB0aGUgbW9zdCBjb21tb24gdmFsdWVzLCB0aGUgY29uc3RhbnRzXG5cCitQeURvY19TVFJWQVIoZG9jX2llZWVfY29udGV4dCwKKyJJRUVFQ29udGV4dCgkbW9kdWxlLCBiaXRzLCAvKVxuLS1cblxuXAorUmV0dXJuIGEgY29udGV4dCBvYmplY3QgaW5pdGlhbGl6ZWQgdG8gdGhlIHByb3BlciB2YWx1ZXMgZm9yIG9uZSBvZiB0aGVcblwKK0lFRUUgaW50ZXJjaGFuZ2UgZm9ybWF0cy4gIFRoZSBhcmd1bWVudCBtdXN0IGJlIGEgbXVsdGlwbGUgb2YgMzIgYW5kIGxlc3NcblwKK3RoYW4gSUVFRV9DT05URVhUX01BWF9CSVRTLiAgRm9yIHRoZSBtb3N0IGNvbW1vbiB2YWx1ZXMsIHRoZSBjb25zdGFudHNcblwKIERFQ0lNQUwzMiwgREVDSU1BTDY0IGFuZCBERUNJTUFMMTI4IGFyZSBwcm92aWRlZC5cblwKIFxuIik7CiAjZW5kaWYKQEAgLTQ4LDMyICs1MiwzNCBAQAogLyogICAgICAgICAgICAgICAgICAgICAgIERlY2ltYWwgT2JqZWN0IGFuZCBNZXRob2RzICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAKLVB5RG9jX1NUUlZBUihkb2NfZGVjaW1hbCwiXG5cCi1EZWNpbWFsKHZhbHVlPVwiMFwiLCBjb250ZXh0PU5vbmUpOiBDb25zdHJ1Y3QgYSBuZXcgRGVjaW1hbCBvYmplY3QuXG5cCi12YWx1ZSBjYW4gYmUgYW4gaW50ZWdlciwgc3RyaW5nLCB0dXBsZSwgb3IgYW5vdGhlciBEZWNpbWFsIG9iamVjdC5cblwKLUlmIG5vIHZhbHVlIGlzIGdpdmVuLCByZXR1cm4gRGVjaW1hbCgnMCcpLiBUaGUgY29udGV4dCBkb2VzIG5vdCBhZmZlY3RcblwKLXRoZSBjb252ZXJzaW9uIGFuZCBpcyBvbmx5IHBhc3NlZCB0byBkZXRlcm1pbmUgaWYgdGhlIEludmFsaWRPcGVyYXRpb25cblwKLXRyYXAgaXMgYWN0aXZlLlxuXAorUHlEb2NfU1RSVkFSKGRvY19kZWNpbWFsLAorIkRlY2ltYWwodmFsdWU9XCIwXCIsIGNvbnRleHQ9Tm9uZSlcbi0tXG5cblwKK0NvbnN0cnVjdCBhIG5ldyBEZWNpbWFsIG9iamVjdC4gJ3ZhbHVlJyBjYW4gYmUgYW4gaW50ZWdlciwgc3RyaW5nLCB0dXBsZSxcblwKK29yIGFub3RoZXIgRGVjaW1hbCBvYmplY3QuIElmIG5vIHZhbHVlIGlzIGdpdmVuLCByZXR1cm4gRGVjaW1hbCgnMCcpLiBUaGVcblwKK2NvbnRleHQgZG9lcyBub3QgYWZmZWN0IHRoZSBjb252ZXJzaW9uIGFuZCBpcyBvbmx5IHBhc3NlZCB0byBkZXRlcm1pbmUgaWZcblwKK3RoZSBJbnZhbGlkT3BlcmF0aW9uIHRyYXAgaXMgYWN0aXZlLlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19hZGp1c3RlZCwiXG5cCi1hZGp1c3RlZCgpIC0gUmV0dXJuIHRoZSBhZGp1c3RlZCBleHBvbmVudCBvZiB0aGUgbnVtYmVyLlxuXAotXG5cCi1EZWZpbmVkIGFzIGV4cCArIGRpZ2l0cyAtIDEuXG5cCitQeURvY19TVFJWQVIoZG9jX2FkanVzdGVkLAorImFkanVzdGVkKCRzZWxmLCAvKVxuLS1cblxuXAorUmV0dXJuIHRoZSBhZGp1c3RlZCBleHBvbmVudCBvZiB0aGUgbnVtYmVyLiAgRGVmaW5lZCBhcyBleHAgKyBkaWdpdHMgLSAxLlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19hc190dXBsZSwiXG5cCi1hc190dXBsZSgpIC0gUmV0dXJuIGEgdHVwbGUgcmVwcmVzZW50YXRpb24gb2YgdGhlIG51bWJlci5cblwKK1B5RG9jX1NUUlZBUihkb2NfYXNfdHVwbGUsCisiYXNfdHVwbGUoJHNlbGYsIC8pXG4tLVxuXG5cCitSZXR1cm4gYSB0dXBsZSByZXByZXNlbnRhdGlvbiBvZiB0aGUgbnVtYmVyLlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19jYW5vbmljYWwsIlxuXAotY2Fub25pY2FsKCkgLSBSZXR1cm4gdGhlIGNhbm9uaWNhbCBlbmNvZGluZyBvZiB0aGUgYXJndW1lbnQuIEN1cnJlbnRseSxcblwKLXRoZSBlbmNvZGluZyBvZiBhIERlY2ltYWwgaW5zdGFuY2UgaXMgYWx3YXlzIGNhbm9uaWNhbCwgc28gdGhpcyBvcGVyYXRpb25cblwKLXJldHVybnMgaXRzIGFyZ3VtZW50IHVuY2hhbmdlZC5cblwKK1B5RG9jX1NUUlZBUihkb2NfY2Fub25pY2FsLAorImNhbm9uaWNhbCgkc2VsZiwgLylcbi0tXG5cblwKK1JldHVybiB0aGUgY2Fub25pY2FsIGVuY29kaW5nIG9mIHRoZSBhcmd1bWVudC4gIEN1cnJlbnRseSwgdGhlIGVuY29kaW5nXG5cCitvZiBhIERlY2ltYWwgaW5zdGFuY2UgaXMgYWx3YXlzIGNhbm9uaWNhbCwgc28gdGhpcyBvcGVyYXRpb24gcmV0dXJucyBpdHNcblwKK2FyZ3VtZW50IHVuY2hhbmdlZC5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfY29tcGFyZSwiXG5cCi1jb21wYXJlKG90aGVyLCBjb250ZXh0PU5vbmUpIC0gQ29tcGFyZSBzZWxmIHRvIG90aGVyLiBSZXR1cm4gYSBkZWNpbWFsIHZhbHVlOlxuXAorUHlEb2NfU1RSVkFSKGRvY19jb21wYXJlLAorImNvbXBhcmUoJHNlbGYsIC8sIG90aGVyLCBjb250ZXh0PU5vbmUpXG4tLVxuXG5cCitDb21wYXJlIHNlbGYgdG8gb3RoZXIuICBSZXR1cm4gYSBkZWNpbWFsIHZhbHVlOlxuXAogXG5cCiAgICAgYSBvciBiIGlzIGEgTmFOID09PiBEZWNpbWFsKCdOYU4nKVxuXAogICAgIGEgPCBiICAgICAgICAgICA9PT4gRGVjaW1hbCgnLTEnKVxuXApAQCAtODEsMTcgKzg3LDE4IEBACiAgICAgYSA+IGIgICAgICAgICAgID09PiBEZWNpbWFsKCcxJylcblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfY29tcGFyZV9zaWduYWwsIlxuXAotY29tcGFyZV9zaWduYWwob3RoZXIsIGNvbnRleHQ9Tm9uZSkgLSBJZGVudGljYWwgdG8gY29tcGFyZSwgZXhjZXB0IHRoYXRcblwKLWFsbCBOYU5zIHNpZ25hbC5cblwKK1B5RG9jX1NUUlZBUihkb2NfY29tcGFyZV9zaWduYWwsCisiY29tcGFyZV9zaWduYWwoJHNlbGYsIC8sIG90aGVyLCBjb250ZXh0PU5vbmUpXG4tLVxuXG5cCitJZGVudGljYWwgdG8gY29tcGFyZSwgZXhjZXB0IHRoYXQgYWxsIE5hTnMgc2lnbmFsLlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19jb21wYXJlX3RvdGFsLCJcblwKLWNvbXBhcmVfdG90YWwob3RoZXIsIGNvbnRleHQ9Tm9uZSkgLSBDb21wYXJlIHR3byBvcGVyYW5kcyB1c2luZyB0aGVpclxuXAotYWJzdHJhY3QgcmVwcmVzZW50YXRpb24gcmF0aGVyIHRoYW4gdGhlaXIgbnVtZXJpY2FsIHZhbHVlLiBTaW1pbGFyIHRvIHRoZVxuXAotY29tcGFyZSgpIG1ldGhvZCwgYnV0IHRoZSByZXN1bHQgZ2l2ZXMgYSB0b3RhbCBvcmRlcmluZyBvbiBEZWNpbWFsIGluc3RhbmNlcy5cblwKLVR3byBEZWNpbWFsIGluc3RhbmNlcyB3aXRoIHRoZSBzYW1lIG51bWVyaWMgdmFsdWUgYnV0IGRpZmZlcmVudCByZXByZXNlbnRhdGlvbnNcblwKLWNvbXBhcmUgdW5lcXVhbCBpbiB0aGlzIG9yZGVyaW5nOlxuXAorUHlEb2NfU1RSVkFSKGRvY19jb21wYXJlX3RvdGFsLAorImNvbXBhcmVfdG90YWwoJHNlbGYsIC8sIG90aGVyLCBjb250ZXh0PU5vbmUpXG4tLVxuXG5cCitDb21wYXJlIHR3byBvcGVyYW5kcyB1c2luZyB0aGVpciBhYnN0cmFjdCByZXByZXNlbnRhdGlvbiByYXRoZXIgdGhhblxuXAordGhlaXIgbnVtZXJpY2FsIHZhbHVlLiAgU2ltaWxhciB0byB0aGUgY29tcGFyZSgpIG1ldGhvZCwgYnV0IHRoZSByZXN1bHRcblwKK2dpdmVzIGEgdG90YWwgb3JkZXJpbmcgb24gRGVjaW1hbCBpbnN0YW5jZXMuICBUd28gRGVjaW1hbCBpbnN0YW5jZXMgd2l0aFxuXAordGhlIHNhbWUgbnVtZXJpYyB2YWx1ZSBidXQgZGlmZmVyZW50IHJlcHJlc2VudGF0aW9ucyBjb21wYXJlIHVuZXF1YWxcblwKK2luIHRoaXMgb3JkZXJpbmc6XG5cCiBcblwKICAgICA+Pj4gRGVjaW1hbCgnMTIuMCcpLmNvbXBhcmVfdG90YWwoRGVjaW1hbCgnMTInKSlcblwKICAgICBEZWNpbWFsKCctMScpXG5cCkBAIC0xMDcsMzYgKzExNCwzOSBAQAogSW52YWxpZE9wZXJhdGlvbiBpZiB0aGUgc2Vjb25kIG9wZXJhbmQgY2Fubm90IGJlIGNvbnZlcnRlZCBleGFjdGx5LlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19jb21wYXJlX3RvdGFsX21hZywiXG5cCi1jb21wYXJlX3RvdGFsX21hZyhvdGhlciwgY29udGV4dD1Ob25lKSAtIENvbXBhcmUgdHdvIG9wZXJhbmRzIHVzaW5nIHRoZWlyXG5cCi1hYnN0cmFjdCByZXByZXNlbnRhdGlvbiByYXRoZXIgdGhhbiB0aGVpciB2YWx1ZSBhcyBpbiBjb21wYXJlX3RvdGFsKCksIGJ1dFxuXAotaWdub3JpbmcgdGhlIHNpZ24gb2YgZWFjaCBvcGVyYW5kLiB4LmNvbXBhcmVfdG90YWxfbWFnKHkpIGlzIGVxdWl2YWxlbnQgdG9cblwKLXguY29weV9hYnMoKS5jb21wYXJlX3RvdGFsKHkuY29weV9hYnMoKSkuXG5cCitQeURvY19TVFJWQVIoZG9jX2NvbXBhcmVfdG90YWxfbWFnLAorImNvbXBhcmVfdG90YWxfbWFnKCRzZWxmLCAvLCBvdGhlciwgY29udGV4dD1Ob25lKVxuLS1cblxuXAorQ29tcGFyZSB0d28gb3BlcmFuZHMgdXNpbmcgdGhlaXIgYWJzdHJhY3QgcmVwcmVzZW50YXRpb24gcmF0aGVyIHRoYW4gdGhlaXJcblwKK3ZhbHVlIGFzIGluIGNvbXBhcmVfdG90YWwoKSwgYnV0IGlnbm9yaW5nIHRoZSBzaWduIG9mIGVhY2ggb3BlcmFuZC5cblwKK1xuXAoreC5jb21wYXJlX3RvdGFsX21hZyh5KSBpcyBlcXVpdmFsZW50IHRvIHguY29weV9hYnMoKS5jb21wYXJlX3RvdGFsKHkuY29weV9hYnMoKSkuXG5cCiBcblwKIFRoaXMgb3BlcmF0aW9uIGlzIHVuYWZmZWN0ZWQgYnkgY29udGV4dCBhbmQgaXMgcXVpZXQ6IG5vIGZsYWdzIGFyZSBjaGFuZ2VkXG5cCiBhbmQgbm8gcm91bmRpbmcgaXMgcGVyZm9ybWVkLiBBcyBhbiBleGNlcHRpb24sIHRoZSBDIHZlcnNpb24gbWF5IHJhaXNlXG5cCiBJbnZhbGlkT3BlcmF0aW9uIGlmIHRoZSBzZWNvbmQgb3BlcmFuZCBjYW5ub3QgYmUgY29udmVydGVkIGV4YWN0bHkuXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX2Nvbmp1Z2F0ZSwiXG5cCi1jb25qdWdhdGUoKSAtIFJldHVybiBzZWxmLlxuXAorUHlEb2NfU1RSVkFSKGRvY19jb25qdWdhdGUsCisiY29uanVnYXRlKCRzZWxmLCAvKVxuLS1cblxuXAorUmV0dXJuIHNlbGYuXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX2NvcHlfYWJzLCJcblwKLWNvcHlfYWJzKCkgLSBSZXR1cm4gdGhlIGFic29sdXRlIHZhbHVlIG9mIHRoZSBhcmd1bWVudC4gVGhpcyBvcGVyYXRpb25cblwKLWlzIHVuYWZmZWN0ZWQgYnkgY29udGV4dCBhbmQgaXMgcXVpZXQ6IG5vIGZsYWdzIGFyZSBjaGFuZ2VkIGFuZCBubyByb3VuZGluZ1xuXAotaXMgcGVyZm9ybWVkLlxuXAorUHlEb2NfU1RSVkFSKGRvY19jb3B5X2FicywKKyJjb3B5X2Ficygkc2VsZiwgLylcbi0tXG5cblwKK1JldHVybiB0aGUgYWJzb2x1dGUgdmFsdWUgb2YgdGhlIGFyZ3VtZW50LiAgVGhpcyBvcGVyYXRpb24gaXMgdW5hZmZlY3RlZCBieVxuXAorY29udGV4dCBhbmQgaXMgcXVpZXQ6IG5vIGZsYWdzIGFyZSBjaGFuZ2VkIGFuZCBubyByb3VuZGluZyBpcyBwZXJmb3JtZWQuXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX2NvcHlfbmVnYXRlLCJcblwKLWNvcHlfbmVnYXRlKCkgLSBSZXR1cm4gdGhlIG5lZ2F0aW9uIG9mIHRoZSBhcmd1bWVudC4gVGhpcyBvcGVyYXRpb24gaXNcblwKLXVuYWZmZWN0ZWQgYnkgY29udGV4dCBhbmQgaXMgcXVpZXQ6IG5vIGZsYWdzIGFyZSBjaGFuZ2VkIGFuZCBubyByb3VuZGluZ1xuXAotaXMgcGVyZm9ybWVkLlxuXAorUHlEb2NfU1RSVkFSKGRvY19jb3B5X25lZ2F0ZSwKKyJjb3B5X25lZ2F0ZSgkc2VsZiwgLylcbi0tXG5cblwKK1JldHVybiB0aGUgbmVnYXRpb24gb2YgdGhlIGFyZ3VtZW50LiAgVGhpcyBvcGVyYXRpb24gaXMgdW5hZmZlY3RlZCBieSBjb250ZXh0XG5cCithbmQgaXMgcXVpZXQ6IG5vIGZsYWdzIGFyZSBjaGFuZ2VkIGFuZCBubyByb3VuZGluZyBpcyBwZXJmb3JtZWQuXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX2NvcHlfc2lnbiwiXG5cCi1jb3B5X3NpZ24ob3RoZXIsIGNvbnRleHQ9Tm9uZSkgLSBSZXR1cm4gYSBjb3B5IG9mIHRoZSBmaXJzdCBvcGVyYW5kIHdpdGhcblwKLXRoZSBzaWduIHNldCB0byBiZSB0aGUgc2FtZSBhcyB0aGUgc2lnbiBvZiB0aGUgc2Vjb25kIG9wZXJhbmQuIEZvciBleGFtcGxlOlxuXAorUHlEb2NfU1RSVkFSKGRvY19jb3B5X3NpZ24sCisiY29weV9zaWduKCRzZWxmLCAvLCBvdGhlciwgY29udGV4dD1Ob25lKVxuLS1cblxuXAorUmV0dXJuIGEgY29weSBvZiB0aGUgZmlyc3Qgb3BlcmFuZCB3aXRoIHRoZSBzaWduIHNldCB0byBiZSB0aGUgc2FtZSBhcyB0aGVcblwKK3NpZ24gb2YgdGhlIHNlY29uZCBvcGVyYW5kLiBGb3IgZXhhbXBsZTpcblwKIFxuXAogICAgID4+PiBEZWNpbWFsKCcyLjMnKS5jb3B5X3NpZ24oRGVjaW1hbCgnLTEuNScpKVxuXAogICAgIERlY2ltYWwoJy0yLjMnKVxuXApAQCAtMTQ2LDE0ICsxNTYsMTYgQEAKIEludmFsaWRPcGVyYXRpb24gaWYgdGhlIHNlY29uZCBvcGVyYW5kIGNhbm5vdCBiZSBjb252ZXJ0ZWQgZXhhY3RseS5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfZXhwLCJcblwKLWV4cChjb250ZXh0PU5vbmUpIC0gUmV0dXJuIHRoZSB2YWx1ZSBvZiB0aGUgKG5hdHVyYWwpIGV4cG9uZW50aWFsIGZ1bmN0aW9uXG5cCi1lKip4IGF0IHRoZSBnaXZlbiBudW1iZXIuIFRoZSBmdW5jdGlvbiBhbHdheXMgdXNlcyB0aGUgUk9VTkRfSEFMRl9FVkVOIG1vZGVcblwKLWFuZCB0aGUgcmVzdWx0IGlzIGNvcnJlY3RseSByb3VuZGVkLlxuXAorUHlEb2NfU1RSVkFSKGRvY19leHAsCisiZXhwKCRzZWxmLCAvLCBjb250ZXh0PU5vbmUpXG4tLVxuXG5cCitSZXR1cm4gdGhlIHZhbHVlIG9mIHRoZSAobmF0dXJhbCkgZXhwb25lbnRpYWwgZnVuY3Rpb24gZSoqeCBhdCB0aGUgZ2l2ZW5cblwKK251bWJlci4gIFRoZSBmdW5jdGlvbiBhbHdheXMgdXNlcyB0aGUgUk9VTkRfSEFMRl9FVkVOIG1vZGUgYW5kIHRoZSByZXN1bHRcblwKK2lzIGNvcnJlY3RseSByb3VuZGVkLlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19mcm9tX2Zsb2F0LCJcblwKLWZyb21fZmxvYXQoZikgLSBDbGFzcyBtZXRob2QgdGhhdCBjb252ZXJ0cyBhIGZsb2F0IHRvIGEgZGVjaW1hbCBudW1iZXIsIGV4YWN0bHkuXG5cCitQeURvY19TVFJWQVIoZG9jX2Zyb21fZmxvYXQsCisiZnJvbV9mbG9hdCgkdHlwZSwgZiwgLylcbi0tXG5cblwKK0NsYXNzIG1ldGhvZCB0aGF0IGNvbnZlcnRzIGEgZmxvYXQgdG8gYSBkZWNpbWFsIG51bWJlciwgZXhhY3RseS5cblwKIFNpbmNlIDAuMSBpcyBub3QgZXhhY3RseSByZXByZXNlbnRhYmxlIGluIGJpbmFyeSBmbG9hdGluZyBwb2ludCxcblwKIERlY2ltYWwuZnJvbV9mbG9hdCgwLjEpIGlzIG5vdCB0aGUgc2FtZSBhcyBEZWNpbWFsKCcwLjEnKS5cblwKIFxuXApAQCAtMTY4LDE1NSArMTgwLDE3NiBAQAogXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX2ZtYSwiXG5cCi1mbWEob3RoZXIsIHRoaXJkLCBjb250ZXh0PU5vbmUpIC0gRnVzZWQgbXVsdGlwbHktYWRkLiBSZXR1cm4gc2VsZipvdGhlcit0aGlyZFxuXAotd2l0aCBubyByb3VuZGluZyBvZiB0aGUgaW50ZXJtZWRpYXRlIHByb2R1Y3Qgc2VsZipvdGhlci5cblwKK1B5RG9jX1NUUlZBUihkb2NfZm1hLAorImZtYSgkc2VsZiwgLywgb3RoZXIsIHRoaXJkLCBjb250ZXh0PU5vbmUpXG4tLVxuXG5cCitGdXNlZCBtdWx0aXBseS1hZGQuICBSZXR1cm4gc2VsZipvdGhlcit0aGlyZCB3aXRoIG5vIHJvdW5kaW5nIG9mIHRoZVxuXAoraW50ZXJtZWRpYXRlIHByb2R1Y3Qgc2VsZipvdGhlci5cblwKIFxuXAogICAgID4+PiBEZWNpbWFsKDIpLmZtYSgzLCA1KVxuXAogICAgIERlY2ltYWwoJzExJylcblwKIFxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19pc19jYW5vbmljYWwsIlxuXAotaXNfY2Fub25pY2FsKCkgLSBSZXR1cm4gVHJ1ZSBpZiB0aGUgYXJndW1lbnQgaXMgY2Fub25pY2FsIGFuZCBGYWxzZSBvdGhlcndpc2UuXG5cCi1DdXJyZW50bHksIGEgRGVjaW1hbCBpbnN0YW5jZSBpcyBhbHdheXMgY2Fub25pY2FsLCBzbyB0aGlzIG9wZXJhdGlvbiBhbHdheXNcblwKLXJldHVybnMgVHJ1ZS5cblwKK1B5RG9jX1NUUlZBUihkb2NfaXNfY2Fub25pY2FsLAorImlzX2Nhbm9uaWNhbCgkc2VsZiwgLylcbi0tXG5cblwKK1JldHVybiBUcnVlIGlmIHRoZSBhcmd1bWVudCBpcyBjYW5vbmljYWwgYW5kIEZhbHNlIG90aGVyd2lzZS4gIEN1cnJlbnRseSxcblwKK2EgRGVjaW1hbCBpbnN0YW5jZSBpcyBhbHdheXMgY2Fub25pY2FsLCBzbyB0aGlzIG9wZXJhdGlvbiBhbHdheXMgcmV0dXJuc1xuXAorVHJ1ZS5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfaXNfZmluaXRlLCJcblwKLWlzX2Zpbml0ZSgpIC0gUmV0dXJuIFRydWUgaWYgdGhlIGFyZ3VtZW50IGlzIGEgZmluaXRlIG51bWJlciwgYW5kIEZhbHNlIGlmIHRoZVxuXAotYXJndW1lbnQgaXMgaW5maW5pdGUgb3IgYSBOYU4uXG5cCitQeURvY19TVFJWQVIoZG9jX2lzX2Zpbml0ZSwKKyJpc19maW5pdGUoJHNlbGYsIC8pXG4tLVxuXG5cCitSZXR1cm4gVHJ1ZSBpZiB0aGUgYXJndW1lbnQgaXMgYSBmaW5pdGUgbnVtYmVyLCBhbmQgRmFsc2UgaWYgdGhlIGFyZ3VtZW50XG5cCitpcyBpbmZpbml0ZSBvciBhIE5hTi5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfaXNfaW5maW5pdGUsIlxuXAotaXNfaW5maW5pdGUoKSAtIFJldHVybiBUcnVlIGlmIHRoZSBhcmd1bWVudCBpcyBlaXRoZXIgcG9zaXRpdmUgb3IgbmVnYXRpdmVcblwKLWluZmluaXR5IGFuZCBGYWxzZSBvdGhlcndpc2UuXG5cCi1cbiIpOwotCi1QeURvY19TVFJWQVIoZG9jX2lzX25hbiwiXG5cCi1pc19uYW4oKSAtIFJldHVybiBUcnVlIGlmIHRoZSBhcmd1bWVudCBpcyBhIChxdWlldCBvciBzaWduYWxpbmcpIE5hTiBhbmRcblwKK1B5RG9jX1NUUlZBUihkb2NfaXNfaW5maW5pdGUsCisiaXNfaW5maW5pdGUoJHNlbGYsIC8pXG4tLVxuXG5cCitSZXR1cm4gVHJ1ZSBpZiB0aGUgYXJndW1lbnQgaXMgZWl0aGVyIHBvc2l0aXZlIG9yIG5lZ2F0aXZlIGluZmluaXR5IGFuZFxuXAogRmFsc2Ugb3RoZXJ3aXNlLlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19pc19ub3JtYWwsIlxuXAotaXNfbm9ybWFsKGNvbnRleHQ9Tm9uZSkgLSBSZXR1cm4gVHJ1ZSBpZiB0aGUgYXJndW1lbnQgaXMgYSBub3JtYWwgZmluaXRlXG5cCi1ub24temVybyBudW1iZXIgd2l0aCBhbiBhZGp1c3RlZCBleHBvbmVudCBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gRW1pbi5cblwKLVJldHVybiBGYWxzZSBpZiB0aGUgYXJndW1lbnQgaXMgemVybywgc3Vibm9ybWFsLCBpbmZpbml0ZSBvciBhIE5hTi5cblwKK1B5RG9jX1NUUlZBUihkb2NfaXNfbmFuLAorImlzX25hbigkc2VsZiwgLylcbi0tXG5cblwKK1JldHVybiBUcnVlIGlmIHRoZSBhcmd1bWVudCBpcyBhIChxdWlldCBvciBzaWduYWxpbmcpIE5hTiBhbmQgRmFsc2VcblwKK290aGVyd2lzZS5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfaXNfcW5hbiwiXG5cCi1pc19xbmFuKCkgLSBSZXR1cm4gVHJ1ZSBpZiB0aGUgYXJndW1lbnQgaXMgYSBxdWlldCBOYU4sIGFuZCBGYWxzZSBvdGhlcndpc2UuXG5cCitQeURvY19TVFJWQVIoZG9jX2lzX25vcm1hbCwKKyJpc19ub3JtYWwoJHNlbGYsIC8sIGNvbnRleHQ9Tm9uZSlcbi0tXG5cblwKK1JldHVybiBUcnVlIGlmIHRoZSBhcmd1bWVudCBpcyBhIG5vcm1hbCBmaW5pdGUgbm9uLXplcm8gbnVtYmVyIHdpdGggYW5cblwKK2FkanVzdGVkIGV4cG9uZW50IGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byBFbWluLiBSZXR1cm4gRmFsc2UgaWYgdGhlXG5cCithcmd1bWVudCBpcyB6ZXJvLCBzdWJub3JtYWwsIGluZmluaXRlIG9yIGEgTmFOLlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19pc19zaWduZWQsIlxuXAotaXNfc2lnbmVkKCkgLSBSZXR1cm4gVHJ1ZSBpZiB0aGUgYXJndW1lbnQgaGFzIGEgbmVnYXRpdmUgc2lnbiBhbmRcblwKLUZhbHNlIG90aGVyd2lzZS4gTm90ZSB0aGF0IGJvdGggemVyb3MgYW5kIE5hTnMgY2FuIGNhcnJ5IHNpZ25zLlxuXAorUHlEb2NfU1RSVkFSKGRvY19pc19xbmFuLAorImlzX3FuYW4oJHNlbGYsIC8pXG4tLVxuXG5cCitSZXR1cm4gVHJ1ZSBpZiB0aGUgYXJndW1lbnQgaXMgYSBxdWlldCBOYU4sIGFuZCBGYWxzZSBvdGhlcndpc2UuXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX2lzX3NuYW4sIlxuXAotaXNfc25hbigpIC0gUmV0dXJuIFRydWUgaWYgdGhlIGFyZ3VtZW50IGlzIGEgc2lnbmFsaW5nIE5hTiBhbmQgRmFsc2Ugb3RoZXJ3aXNlLlxuXAorUHlEb2NfU1RSVkFSKGRvY19pc19zaWduZWQsCisiaXNfc2lnbmVkKCRzZWxmLCAvKVxuLS1cblxuXAorUmV0dXJuIFRydWUgaWYgdGhlIGFyZ3VtZW50IGhhcyBhIG5lZ2F0aXZlIHNpZ24gYW5kIEZhbHNlIG90aGVyd2lzZS5cblwKK05vdGUgdGhhdCBib3RoIHplcm9zIGFuZCBOYU5zIGNhbiBjYXJyeSBzaWducy5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfaXNfc3Vibm9ybWFsLCJcblwKLWlzX3N1Ym5vcm1hbChjb250ZXh0PU5vbmUpIC0gUmV0dXJuIFRydWUgaWYgdGhlIGFyZ3VtZW50IGlzIHN1Ym5vcm1hbCwgYW5kXG5cCi1GYWxzZSBvdGhlcndpc2UuIEEgbnVtYmVyIGlzIHN1Ym5vcm1hbCBpZiBpdCBpcyBub24temVybywgZmluaXRlLCBhbmQgaGFzIGFuXG5cCi1hZGp1c3RlZCBleHBvbmVudCBsZXNzIHRoYW4gRW1pbi5cblwKK1B5RG9jX1NUUlZBUihkb2NfaXNfc25hbiwKKyJpc19zbmFuKCRzZWxmLCAvKVxuLS1cblxuXAorUmV0dXJuIFRydWUgaWYgdGhlIGFyZ3VtZW50IGlzIGEgc2lnbmFsaW5nIE5hTiBhbmQgRmFsc2Ugb3RoZXJ3aXNlLlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19pc196ZXJvLCJcblwKLWlzX3plcm8oKSAtIFJldHVybiBUcnVlIGlmIHRoZSBhcmd1bWVudCBpcyBhIChwb3NpdGl2ZSBvciBuZWdhdGl2ZSkgemVybyBhbmRcblwKLUZhbHNlIG90aGVyd2lzZS5cblwKK1B5RG9jX1NUUlZBUihkb2NfaXNfc3Vibm9ybWFsLAorImlzX3N1Ym5vcm1hbCgkc2VsZiwgLywgY29udGV4dD1Ob25lKVxuLS1cblxuXAorUmV0dXJuIFRydWUgaWYgdGhlIGFyZ3VtZW50IGlzIHN1Ym5vcm1hbCwgYW5kIEZhbHNlIG90aGVyd2lzZS4gQSBudW1iZXIgaXNcblwKK3N1Ym5vcm1hbCBpZiBpdCBpcyBub24temVybywgZmluaXRlLCBhbmQgaGFzIGFuIGFkanVzdGVkIGV4cG9uZW50IGxlc3NcblwKK3RoYW4gRW1pbi5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfbG4sIlxuXAotbG4oY29udGV4dD1Ob25lKSAtIFJldHVybiB0aGUgbmF0dXJhbCAoYmFzZSBlKSBsb2dhcml0aG0gb2YgdGhlIG9wZXJhbmQuXG5cCi1UaGUgZnVuY3Rpb24gYWx3YXlzIHVzZXMgdGhlIFJPVU5EX0hBTEZfRVZFTiBtb2RlIGFuZCB0aGUgcmVzdWx0IGlzXG5cCi1jb3JyZWN0bHkgcm91bmRlZC5cblwKK1B5RG9jX1NUUlZBUihkb2NfaXNfemVybywKKyJpc196ZXJvKCRzZWxmLCAvKVxuLS1cblxuXAorUmV0dXJuIFRydWUgaWYgdGhlIGFyZ3VtZW50IGlzIGEgKHBvc2l0aXZlIG9yIG5lZ2F0aXZlKSB6ZXJvIGFuZCBGYWxzZVxuXAorb3RoZXJ3aXNlLlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19sb2cxMCwiXG5cCi1sb2cxMChjb250ZXh0PU5vbmUpIC0gUmV0dXJuIHRoZSBiYXNlIHRlbiBsb2dhcml0aG0gb2YgdGhlIG9wZXJhbmQuXG5cCi1UaGUgZnVuY3Rpb24gYWx3YXlzIHVzZXMgdGhlIFJPVU5EX0hBTEZfRVZFTiBtb2RlIGFuZCB0aGUgcmVzdWx0IGlzXG5cCi1jb3JyZWN0bHkgcm91bmRlZC5cblwKK1B5RG9jX1NUUlZBUihkb2NfbG4sCisibG4oJHNlbGYsIC8sIGNvbnRleHQ9Tm9uZSlcbi0tXG5cblwKK1JldHVybiB0aGUgbmF0dXJhbCAoYmFzZSBlKSBsb2dhcml0aG0gb2YgdGhlIG9wZXJhbmQuIFRoZSBmdW5jdGlvbiBhbHdheXNcblwKK3VzZXMgdGhlIFJPVU5EX0hBTEZfRVZFTiBtb2RlIGFuZCB0aGUgcmVzdWx0IGlzIGNvcnJlY3RseSByb3VuZGVkLlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19sb2diLCJcblwKLWxvZ2IoY29udGV4dD1Ob25lKSAtIEZvciBhIG5vbi16ZXJvIG51bWJlciwgcmV0dXJuIHRoZSBhZGp1c3RlZCBleHBvbmVudFxuXAotb2YgdGhlIG9wZXJhbmQgYXMgYSBEZWNpbWFsIGluc3RhbmNlLiBJZiB0aGUgb3BlcmFuZCBpcyBhIHplcm8sIHRoZW5cblwKLURlY2ltYWwoJy1JbmZpbml0eScpIGlzIHJldHVybmVkIGFuZCB0aGUgRGl2aXNpb25CeVplcm8gY29uZGl0aW9uIGlzXG5cCi1yYWlzZWQuIElmIHRoZSBvcGVyYW5kIGlzIGFuIGluZmluaXR5IHRoZW4gRGVjaW1hbCgnSW5maW5pdHknKSBpcyByZXR1cm5lZC5cblwKK1B5RG9jX1NUUlZBUihkb2NfbG9nMTAsCisibG9nMTAoJHNlbGYsIC8sIGNvbnRleHQ9Tm9uZSlcbi0tXG5cblwKK1JldHVybiB0aGUgYmFzZSB0ZW4gbG9nYXJpdGhtIG9mIHRoZSBvcGVyYW5kLiBUaGUgZnVuY3Rpb24gYWx3YXlzIHVzZXMgdGhlXG5cCitST1VORF9IQUxGX0VWRU4gbW9kZSBhbmQgdGhlIHJlc3VsdCBpcyBjb3JyZWN0bHkgcm91bmRlZC5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfbG9naWNhbF9hbmQsIlxuXAotbG9naWNhbF9hbmQob3RoZXIsIGNvbnRleHQ9Tm9uZSkgLSBSZXR1cm4gdGhlIGRpZ2l0LXdpc2UgYW5kIG9mIHRoZSB0d29cblwKLShsb2dpY2FsKSBvcGVyYW5kcy5cblwKK1B5RG9jX1NUUlZBUihkb2NfbG9nYiwKKyJsb2diKCRzZWxmLCAvLCBjb250ZXh0PU5vbmUpXG4tLVxuXG5cCitGb3IgYSBub24temVybyBudW1iZXIsIHJldHVybiB0aGUgYWRqdXN0ZWQgZXhwb25lbnQgb2YgdGhlIG9wZXJhbmQgYXMgYVxuXAorRGVjaW1hbCBpbnN0YW5jZS4gIElmIHRoZSBvcGVyYW5kIGlzIGEgemVybywgdGhlbiBEZWNpbWFsKCctSW5maW5pdHknKSBpc1xuXAorcmV0dXJuZWQgYW5kIHRoZSBEaXZpc2lvbkJ5WmVybyBjb25kaXRpb24gaXMgcmFpc2VkLiBJZiB0aGUgb3BlcmFuZCBpc1xuXAorYW4gaW5maW5pdHkgdGhlbiBEZWNpbWFsKCdJbmZpbml0eScpIGlzIHJldHVybmVkLlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19sb2dpY2FsX2ludmVydCwiXG5cCi1sb2dpY2FsX2ludmVydChjb250ZXh0PU5vbmUpIC0gUmV0dXJuIHRoZSBkaWdpdC13aXNlIGludmVyc2lvbiBvZiB0aGVcblwKLShsb2dpY2FsKSBvcGVyYW5kLlxuXAorUHlEb2NfU1RSVkFSKGRvY19sb2dpY2FsX2FuZCwKKyJsb2dpY2FsX2FuZCgkc2VsZiwgLywgb3RoZXIsIGNvbnRleHQ9Tm9uZSlcbi0tXG5cblwKK1JldHVybiB0aGUgZGlnaXQtd2lzZSAnYW5kJyBvZiB0aGUgdHdvIChsb2dpY2FsKSBvcGVyYW5kcy5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfbG9naWNhbF9vciwiXG5cCi1sb2dpY2FsX29yKG90aGVyLCBjb250ZXh0PU5vbmUpIC0gUmV0dXJuIHRoZSBkaWdpdC13aXNlIG9yIG9mIHRoZSB0d29cblwKLShsb2dpY2FsKSBvcGVyYW5kcy5cblwKK1B5RG9jX1NUUlZBUihkb2NfbG9naWNhbF9pbnZlcnQsCisibG9naWNhbF9pbnZlcnQoJHNlbGYsIC8sIGNvbnRleHQ9Tm9uZSlcbi0tXG5cblwKK1JldHVybiB0aGUgZGlnaXQtd2lzZSBpbnZlcnNpb24gb2YgdGhlIChsb2dpY2FsKSBvcGVyYW5kLlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19sb2dpY2FsX3hvciwiXG5cCi1sb2dpY2FsX3hvcihvdGhlciwgY29udGV4dD1Ob25lKSAtIFJldHVybiB0aGUgZGlnaXQtd2lzZSBleGNsdXNpdmUgb3Igb2YgdGhlXG5cCi10d28gKGxvZ2ljYWwpIG9wZXJhbmRzLlxuXAorUHlEb2NfU1RSVkFSKGRvY19sb2dpY2FsX29yLAorImxvZ2ljYWxfb3IoJHNlbGYsIC8sIG90aGVyLCBjb250ZXh0PU5vbmUpXG4tLVxuXG5cCitSZXR1cm4gdGhlIGRpZ2l0LXdpc2UgJ29yJyBvZiB0aGUgdHdvIChsb2dpY2FsKSBvcGVyYW5kcy5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfbWF4LCJcblwKLW1heChvdGhlciwgY29udGV4dD1Ob25lKSAtIE1heGltdW0gb2Ygc2VsZiBhbmQgb3RoZXIuIElmIG9uZSBvcGVyYW5kIGlzIGFcblwKLXF1aWV0IE5hTiBhbmQgdGhlIG90aGVyIGlzIG51bWVyaWMsIHRoZSBudW1lcmljIG9wZXJhbmQgaXMgcmV0dXJuZWQuXG5cCitQeURvY19TVFJWQVIoZG9jX2xvZ2ljYWxfeG9yLAorImxvZ2ljYWxfeG9yKCRzZWxmLCAvLCBvdGhlciwgY29udGV4dD1Ob25lKVxuLS1cblxuXAorUmV0dXJuIHRoZSBkaWdpdC13aXNlICdleGNsdXNpdmUgb3InIG9mIHRoZSB0d28gKGxvZ2ljYWwpIG9wZXJhbmRzLlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19tYXhfbWFnLCJcblwKLW1heF9tYWcob3RoZXIsIGNvbnRleHQ9Tm9uZSkgLSBTaW1pbGFyIHRvIHRoZSBtYXgoKSBtZXRob2QsIGJ1dCB0aGVcblwKLWNvbXBhcmlzb24gaXMgZG9uZSB1c2luZyB0aGUgYWJzb2x1dGUgdmFsdWVzIG9mIHRoZSBvcGVyYW5kcy5cblwKK1B5RG9jX1NUUlZBUihkb2NfbWF4LAorIm1heCgkc2VsZiwgLywgb3RoZXIsIGNvbnRleHQ9Tm9uZSlcbi0tXG5cblwKK01heGltdW0gb2Ygc2VsZiBhbmQgb3RoZXIuICBJZiBvbmUgb3BlcmFuZCBpcyBhIHF1aWV0IE5hTiBhbmQgdGhlIG90aGVyIGlzXG5cCitudW1lcmljLCB0aGUgbnVtZXJpYyBvcGVyYW5kIGlzIHJldHVybmVkLlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19taW4sIlxuXAotbWluKG90aGVyLCBjb250ZXh0PU5vbmUpIC0gTWluaW11bSBvZiBzZWxmIGFuZCBvdGhlci4gSWYgb25lIG9wZXJhbmQgaXMgYVxuXAotcXVpZXQgTmFOIGFuZCB0aGUgb3RoZXIgaXMgbnVtZXJpYywgdGhlIG51bWVyaWMgb3BlcmFuZCBpcyByZXR1cm5lZC5cblwKK1B5RG9jX1NUUlZBUihkb2NfbWF4X21hZywKKyJtYXhfbWFnKCRzZWxmLCAvLCBvdGhlciwgY29udGV4dD1Ob25lKVxuLS1cblxuXAorU2ltaWxhciB0byB0aGUgbWF4KCkgbWV0aG9kLCBidXQgdGhlIGNvbXBhcmlzb24gaXMgZG9uZSB1c2luZyB0aGUgYWJzb2x1dGVcblwKK3ZhbHVlcyBvZiB0aGUgb3BlcmFuZHMuXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX21pbl9tYWcsIlxuXAotbWluX21hZyhvdGhlciwgY29udGV4dD1Ob25lKSAtIFNpbWlsYXIgdG8gdGhlIG1pbigpIG1ldGhvZCwgYnV0IHRoZVxuXAotY29tcGFyaXNvbiBpcyBkb25lIHVzaW5nIHRoZSBhYnNvbHV0ZSB2YWx1ZXMgb2YgdGhlIG9wZXJhbmRzLlxuXAorUHlEb2NfU1RSVkFSKGRvY19taW4sCisibWluKCRzZWxmLCAvLCBvdGhlciwgY29udGV4dD1Ob25lKVxuLS1cblxuXAorTWluaW11bSBvZiBzZWxmIGFuZCBvdGhlci4gSWYgb25lIG9wZXJhbmQgaXMgYSBxdWlldCBOYU4gYW5kIHRoZSBvdGhlciBpc1xuXAorbnVtZXJpYywgdGhlIG51bWVyaWMgb3BlcmFuZCBpcyByZXR1cm5lZC5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfbmV4dF9taW51cywiXG5cCi1uZXh0X21pbnVzKGNvbnRleHQ9Tm9uZSkgLSBSZXR1cm4gdGhlIGxhcmdlc3QgbnVtYmVyIHJlcHJlc2VudGFibGUgaW4gdGhlXG5cCi1naXZlbiBjb250ZXh0IChvciBpbiB0aGUgY3VycmVudCBkZWZhdWx0IGNvbnRleHQgaWYgbm8gY29udGV4dCBpcyBnaXZlbikgdGhhdFxuXAotaXMgc21hbGxlciB0aGFuIHRoZSBnaXZlbiBvcGVyYW5kLlxuXAorUHlEb2NfU1RSVkFSKGRvY19taW5fbWFnLAorIm1pbl9tYWcoJHNlbGYsIC8sIG90aGVyLCBjb250ZXh0PU5vbmUpXG4tLVxuXG5cCitTaW1pbGFyIHRvIHRoZSBtaW4oKSBtZXRob2QsIGJ1dCB0aGUgY29tcGFyaXNvbiBpcyBkb25lIHVzaW5nIHRoZSBhYnNvbHV0ZVxuXAordmFsdWVzIG9mIHRoZSBvcGVyYW5kcy5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfbmV4dF9wbHVzLCJcblwKLW5leHRfcGx1cyhjb250ZXh0PU5vbmUpIC0gUmV0dXJuIHRoZSBzbWFsbGVzdCBudW1iZXIgcmVwcmVzZW50YWJsZSBpbiB0aGVcblwKLWdpdmVuIGNvbnRleHQgKG9yIGluIHRoZSBjdXJyZW50IGRlZmF1bHQgY29udGV4dCBpZiBubyBjb250ZXh0IGlzIGdpdmVuKSB0aGF0XG5cCi1pcyBsYXJnZXIgdGhhbiB0aGUgZ2l2ZW4gb3BlcmFuZC5cblwKK1B5RG9jX1NUUlZBUihkb2NfbmV4dF9taW51cywKKyJuZXh0X21pbnVzKCRzZWxmLCAvLCBjb250ZXh0PU5vbmUpXG4tLVxuXG5cCitSZXR1cm4gdGhlIGxhcmdlc3QgbnVtYmVyIHJlcHJlc2VudGFibGUgaW4gdGhlIGdpdmVuIGNvbnRleHQgKG9yIGluIHRoZVxuXAorY3VycmVudCBkZWZhdWx0IGNvbnRleHQgaWYgbm8gY29udGV4dCBpcyBnaXZlbikgdGhhdCBpcyBzbWFsbGVyIHRoYW4gdGhlXG5cCitnaXZlbiBvcGVyYW5kLlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19uZXh0X3Rvd2FyZCwiXG5cCi1uZXh0X3Rvd2FyZChvdGhlciwgY29udGV4dD1Ob25lKSAtIElmIHRoZSB0d28gb3BlcmFuZHMgYXJlIHVuZXF1YWwsIHJldHVyblxuXAotdGhlIG51bWJlciBjbG9zZXN0IHRvIHRoZSBmaXJzdCBvcGVyYW5kIGluIHRoZSBkaXJlY3Rpb24gb2YgdGhlIHNlY29uZCBvcGVyYW5kLlxuXAotSWYgYm90aCBvcGVyYW5kcyBhcmUgbnVtZXJpY2FsbHkgZXF1YWwsIHJldHVybiBhIGNvcHkgb2YgdGhlIGZpcnN0IG9wZXJhbmRcblwKLXdpdGggdGhlIHNpZ24gc2V0IHRvIGJlIHRoZSBzYW1lIGFzIHRoZSBzaWduIG9mIHRoZSBzZWNvbmQgb3BlcmFuZC5cblwKK1B5RG9jX1NUUlZBUihkb2NfbmV4dF9wbHVzLAorIm5leHRfcGx1cygkc2VsZiwgLywgY29udGV4dD1Ob25lKVxuLS1cblxuXAorUmV0dXJuIHRoZSBzbWFsbGVzdCBudW1iZXIgcmVwcmVzZW50YWJsZSBpbiB0aGUgZ2l2ZW4gY29udGV4dCAob3IgaW4gdGhlXG5cCitjdXJyZW50IGRlZmF1bHQgY29udGV4dCBpZiBubyBjb250ZXh0IGlzIGdpdmVuKSB0aGF0IGlzIGxhcmdlciB0aGFuIHRoZVxuXAorZ2l2ZW4gb3BlcmFuZC5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2Nfbm9ybWFsaXplLCJcblwKLW5vcm1hbGl6ZShjb250ZXh0PU5vbmUpIC0gTm9ybWFsaXplIHRoZSBudW1iZXIgYnkgc3RyaXBwaW5nIHRoZSByaWdodG1vc3RcblwKLXRyYWlsaW5nIHplcm9zIGFuZCBjb252ZXJ0aW5nIGFueSByZXN1bHQgZXF1YWwgdG8gRGVjaW1hbCgnMCcpIHRvIERlY2ltYWwoJzBlMCcpLlxuXAotVXNlZCBmb3IgcHJvZHVjaW5nIGNhbm9uaWNhbCB2YWx1ZXMgZm9yIG1lbWJlcnMgb2YgYW4gZXF1aXZhbGVuY2UgY2xhc3MuIEZvclxuXAotZXhhbXBsZSwgRGVjaW1hbCgnMzIuMTAwJykgYW5kIERlY2ltYWwoJzAuMzIxMDAwZSsyJykgYm90aCBub3JtYWxpemUgdG8gdGhlXG5cCi1lcXVpdmFsZW50IHZhbHVlIERlY2ltYWwoJzMyLjEnKS5cblwKK1B5RG9jX1NUUlZBUihkb2NfbmV4dF90b3dhcmQsCisibmV4dF90b3dhcmQoJHNlbGYsIC8sIG90aGVyLCBjb250ZXh0PU5vbmUpXG4tLVxuXG5cCitJZiB0aGUgdHdvIG9wZXJhbmRzIGFyZSB1bmVxdWFsLCByZXR1cm4gdGhlIG51bWJlciBjbG9zZXN0IHRvIHRoZSBmaXJzdFxuXAorb3BlcmFuZCBpbiB0aGUgZGlyZWN0aW9uIG9mIHRoZSBzZWNvbmQgb3BlcmFuZC4gIElmIGJvdGggb3BlcmFuZHMgYXJlXG5cCitudW1lcmljYWxseSBlcXVhbCwgcmV0dXJuIGEgY29weSBvZiB0aGUgZmlyc3Qgb3BlcmFuZCB3aXRoIHRoZSBzaWduIHNldFxuXAordG8gYmUgdGhlIHNhbWUgYXMgdGhlIHNpZ24gb2YgdGhlIHNlY29uZCBvcGVyYW5kLlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19udW1iZXJfY2xhc3MsIlxuXAotbnVtYmVyX2NsYXNzKGNvbnRleHQ9Tm9uZSkgLSBSZXR1cm4gYSBzdHJpbmcgZGVzY3JpYmluZyB0aGUgY2xhc3Mgb2YgdGhlXG5cCi1vcGVyYW5kLiBUaGUgcmV0dXJuZWQgdmFsdWUgaXMgb25lIG9mIHRoZSBmb2xsb3dpbmcgdGVuIHN0cmluZ3M6XG5cCitQeURvY19TVFJWQVIoZG9jX25vcm1hbGl6ZSwKKyJub3JtYWxpemUoJHNlbGYsIC8sIGNvbnRleHQ9Tm9uZSlcbi0tXG5cblwKK05vcm1hbGl6ZSB0aGUgbnVtYmVyIGJ5IHN0cmlwcGluZyB0aGUgcmlnaHRtb3N0IHRyYWlsaW5nIHplcm9zIGFuZFxuXAorY29udmVydGluZyBhbnkgcmVzdWx0IGVxdWFsIHRvIERlY2ltYWwoJzAnKSB0byBEZWNpbWFsKCcwZTAnKS4gIFVzZWRcblwKK2ZvciBwcm9kdWNpbmcgY2Fub25pY2FsIHZhbHVlcyBmb3IgbWVtYmVycyBvZiBhbiBlcXVpdmFsZW5jZSBjbGFzcy5cblwKK0ZvciBleGFtcGxlLCBEZWNpbWFsKCczMi4xMDAnKSBhbmQgRGVjaW1hbCgnMC4zMjEwMDBlKzInKSBib3RoIG5vcm1hbGl6ZVxuXAordG8gdGhlIGVxdWl2YWxlbnQgdmFsdWUgRGVjaW1hbCgnMzIuMScpLlxuXAorXG4iKTsKKworUHlEb2NfU1RSVkFSKGRvY19udW1iZXJfY2xhc3MsCisibnVtYmVyX2NsYXNzKCRzZWxmLCAvLCBjb250ZXh0PU5vbmUpXG4tLVxuXG5cCitSZXR1cm4gYSBzdHJpbmcgZGVzY3JpYmluZyB0aGUgY2xhc3Mgb2YgdGhlIG9wZXJhbmQuICBUaGUgcmV0dXJuZWQgdmFsdWVcblwKK2lzIG9uZSBvZiB0aGUgZm9sbG93aW5nIHRlbiBzdHJpbmdzOlxuXAogXG5cCiAgICAgKiAnLUluZmluaXR5JywgaW5kaWNhdGluZyB0aGF0IHRoZSBvcGVyYW5kIGlzIG5lZ2F0aXZlIGluZmluaXR5LlxuXAogICAgICogJy1Ob3JtYWwnLCBpbmRpY2F0aW5nIHRoYXQgdGhlIG9wZXJhbmQgaXMgYSBuZWdhdGl2ZSBub3JtYWwgbnVtYmVyLlxuXApAQCAtMzMxLDkgKzM2NCwxMCBAQAogXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX3F1YW50aXplLCJcblwKLXF1YW50aXplKGV4cCwgcm91bmRpbmc9Tm9uZSwgY29udGV4dD1Ob25lKSAtIFJldHVybiBhIHZhbHVlIGVxdWFsIHRvIHRoZVxuXAotZmlyc3Qgb3BlcmFuZCBhZnRlciByb3VuZGluZyBhbmQgaGF2aW5nIHRoZSBleHBvbmVudCBvZiB0aGUgc2Vjb25kIG9wZXJhbmQuXG5cCitQeURvY19TVFJWQVIoZG9jX3F1YW50aXplLAorInF1YW50aXplKCRzZWxmLCAvLCBleHAsIHJvdW5kaW5nPU5vbmUsIGNvbnRleHQ9Tm9uZSlcbi0tXG5cblwKK1JldHVybiBhIHZhbHVlIGVxdWFsIHRvIHRoZSBmaXJzdCBvcGVyYW5kIGFmdGVyIHJvdW5kaW5nIGFuZCBoYXZpbmcgdGhlXG5cCitleHBvbmVudCBvZiB0aGUgc2Vjb25kIG9wZXJhbmQuXG5cCiBcblwKICAgICA+Pj4gRGVjaW1hbCgnMS40MTQyMTM1NicpLnF1YW50aXplKERlY2ltYWwoJzEuMDAwJykpXG5cCiAgICAgRGVjaW1hbCgnMS40MTQnKVxuXApAQCAtMzUyLDEwMyArMzg2LDEwOSBAQAogYXJndW1lbnQgaXMgZ2l2ZW4sIHRoZSByb3VuZGluZyBtb2RlIG9mIHRoZSBjdXJyZW50IHRocmVhZCdzIGNvbnRleHQgaXMgdXNlZC5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfcmFkaXgsIlxuXAotcmFkaXgoKSAtIFJldHVybiBEZWNpbWFsKDEwKSwgdGhlIHJhZGl4IChiYXNlKSBpbiB3aGljaCB0aGUgRGVjaW1hbCBjbGFzcyBkb2VzXG5cCitQeURvY19TVFJWQVIoZG9jX3JhZGl4LAorInJhZGl4KCRzZWxmLCAvKVxuLS1cblxuXAorUmV0dXJuIERlY2ltYWwoMTApLCB0aGUgcmFkaXggKGJhc2UpIGluIHdoaWNoIHRoZSBEZWNpbWFsIGNsYXNzIGRvZXNcblwKIGFsbCBpdHMgYXJpdGhtZXRpYy4gSW5jbHVkZWQgZm9yIGNvbXBhdGliaWxpdHkgd2l0aCB0aGUgc3BlY2lmaWNhdGlvbi5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfcmVtYWluZGVyX25lYXIsIlxuXAotcmVtYWluZGVyX25lYXIob3RoZXIsIGNvbnRleHQ9Tm9uZSkgLSBSZXR1cm4gdGhlIHJlbWFpbmRlciBmcm9tIGRpdmlkaW5nXG5cCi1zZWxmIGJ5IG90aGVyLiBUaGlzIGRpZmZlcnMgZnJvbSBzZWxmICUgb3RoZXIgaW4gdGhhdCB0aGUgc2lnbiBvZiB0aGVcblwKLXJlbWFpbmRlciBpcyBjaG9zZW4gc28gYXMgdG8gbWluaW1pemUgaXRzIGFic29sdXRlIHZhbHVlLiBNb3JlIHByZWNpc2VseSwgdGhlXG5cCi1yZXR1cm4gdmFsdWUgaXMgc2VsZiAtIG4gKiBvdGhlciB3aGVyZSBuIGlzIHRoZSBpbnRlZ2VyIG5lYXJlc3QgdG8gdGhlIGV4YWN0XG5cCi12YWx1ZSBvZiBzZWxmIC8gb3RoZXIsIGFuZCBpZiB0d28gaW50ZWdlcnMgYXJlIGVxdWFsbHkgbmVhciB0aGVuIHRoZSBldmVuIG9uZVxuXAotaXMgY2hvc2VuLlxuXAorUHlEb2NfU1RSVkFSKGRvY19yZW1haW5kZXJfbmVhciwKKyJyZW1haW5kZXJfbmVhcigkc2VsZiwgLywgb3RoZXIsIGNvbnRleHQ9Tm9uZSlcbi0tXG5cblwKK1JldHVybiB0aGUgcmVtYWluZGVyIGZyb20gZGl2aWRpbmcgc2VsZiBieSBvdGhlci4gIFRoaXMgZGlmZmVycyBmcm9tXG5cCitzZWxmICUgb3RoZXIgaW4gdGhhdCB0aGUgc2lnbiBvZiB0aGUgcmVtYWluZGVyIGlzIGNob3NlbiBzbyBhcyB0byBtaW5pbWl6ZVxuXAoraXRzIGFic29sdXRlIHZhbHVlLiBNb3JlIHByZWNpc2VseSwgdGhlIHJldHVybiB2YWx1ZSBpcyBzZWxmIC0gbiAqIG90aGVyXG5cCit3aGVyZSBuIGlzIHRoZSBpbnRlZ2VyIG5lYXJlc3QgdG8gdGhlIGV4YWN0IHZhbHVlIG9mIHNlbGYgLyBvdGhlciwgYW5kXG5cCitpZiB0d28gaW50ZWdlcnMgYXJlIGVxdWFsbHkgbmVhciB0aGVuIHRoZSBldmVuIG9uZSBpcyBjaG9zZW4uXG5cCiBcblwKIElmIHRoZSByZXN1bHQgaXMgemVybyB0aGVuIGl0cyBzaWduIHdpbGwgYmUgdGhlIHNpZ24gb2Ygc2VsZi5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2Nfcm90YXRlLCJcblwKLXJvdGF0ZShvdGhlciwgY29udGV4dD1Ob25lKSAtIFJldHVybiB0aGUgcmVzdWx0IG9mIHJvdGF0aW5nIHRoZSBkaWdpdHMgb2YgdGhlXG5cCi1maXJzdCBvcGVyYW5kIGJ5IGFuIGFtb3VudCBzcGVjaWZpZWQgYnkgdGhlIHNlY29uZCBvcGVyYW5kLiBUaGUgc2Vjb25kIG9wZXJhbmRcblwKLW11c3QgYmUgYW4gaW50ZWdlciBpbiB0aGUgcmFuZ2UgLXByZWNpc2lvbiB0aHJvdWdoIHByZWNpc2lvbi4gVGhlIGFic29sdXRlXG5cCi12YWx1ZSBvZiB0aGUgc2Vjb25kIG9wZXJhbmQgZ2l2ZXMgdGhlIG51bWJlciBvZiBwbGFjZXMgdG8gcm90YXRlLiBJZiB0aGUgc2Vjb25kXG5cCi1vcGVyYW5kIGlzIHBvc2l0aXZlIHRoZW4gcm90YXRpb24gaXMgdG8gdGhlIGxlZnQ7IG90aGVyd2lzZSByb3RhdGlvbiBpcyB0byB0aGVcblwKLXJpZ2h0LiBUaGUgY29lZmZpY2llbnQgb2YgdGhlIGZpcnN0IG9wZXJhbmQgaXMgcGFkZGVkIG9uIHRoZSBsZWZ0IHdpdGggemVyb3MgdG9cblwKK1B5RG9jX1NUUlZBUihkb2Nfcm90YXRlLAorInJvdGF0ZSgkc2VsZiwgLywgb3RoZXIsIGNvbnRleHQ9Tm9uZSlcbi0tXG5cblwKK1JldHVybiB0aGUgcmVzdWx0IG9mIHJvdGF0aW5nIHRoZSBkaWdpdHMgb2YgdGhlIGZpcnN0IG9wZXJhbmQgYnkgYW4gYW1vdW50XG5cCitzcGVjaWZpZWQgYnkgdGhlIHNlY29uZCBvcGVyYW5kLiAgVGhlIHNlY29uZCBvcGVyYW5kIG11c3QgYmUgYW4gaW50ZWdlciBpblxuXAordGhlIHJhbmdlIC1wcmVjaXNpb24gdGhyb3VnaCBwcmVjaXNpb24uIFRoZSBhYnNvbHV0ZSB2YWx1ZSBvZiB0aGUgc2Vjb25kXG5cCitvcGVyYW5kIGdpdmVzIHRoZSBudW1iZXIgb2YgcGxhY2VzIHRvIHJvdGF0ZS4gSWYgdGhlIHNlY29uZCBvcGVyYW5kIGlzXG5cCitwb3NpdGl2ZSB0aGVuIHJvdGF0aW9uIGlzIHRvIHRoZSBsZWZ0OyBvdGhlcndpc2Ugcm90YXRpb24gaXMgdG8gdGhlIHJpZ2h0LlxuXAorVGhlIGNvZWZmaWNpZW50IG9mIHRoZSBmaXJzdCBvcGVyYW5kIGlzIHBhZGRlZCBvbiB0aGUgbGVmdCB3aXRoIHplcm9zIHRvXG5cCiBsZW5ndGggcHJlY2lzaW9uIGlmIG5lY2Vzc2FyeS4gVGhlIHNpZ24gYW5kIGV4cG9uZW50IG9mIHRoZSBmaXJzdCBvcGVyYW5kIGFyZVxuXAogdW5jaGFuZ2VkLlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19zYW1lX3F1YW50dW0sIlxuXAotc2FtZV9xdWFudHVtKG90aGVyLCBjb250ZXh0PU5vbmUpIC0gVGVzdCB3aGV0aGVyIHNlbGYgYW5kIG90aGVyIGhhdmUgdGhlXG5cCi1zYW1lIGV4cG9uZW50IG9yIHdoZXRoZXIgYm90aCBhcmUgTmFOLlxuXAorUHlEb2NfU1RSVkFSKGRvY19zYW1lX3F1YW50dW0sCisic2FtZV9xdWFudHVtKCRzZWxmLCAvLCBvdGhlciwgY29udGV4dD1Ob25lKVxuLS1cblxuXAorVGVzdCB3aGV0aGVyIHNlbGYgYW5kIG90aGVyIGhhdmUgdGhlIHNhbWUgZXhwb25lbnQgb3Igd2hldGhlciBib3RoIGFyZSBOYU4uXG5cCiBcblwKIFRoaXMgb3BlcmF0aW9uIGlzIHVuYWZmZWN0ZWQgYnkgY29udGV4dCBhbmQgaXMgcXVpZXQ6IG5vIGZsYWdzIGFyZSBjaGFuZ2VkXG5cCiBhbmQgbm8gcm91bmRpbmcgaXMgcGVyZm9ybWVkLiBBcyBhbiBleGNlcHRpb24sIHRoZSBDIHZlcnNpb24gbWF5IHJhaXNlXG5cCiBJbnZhbGlkT3BlcmF0aW9uIGlmIHRoZSBzZWNvbmQgb3BlcmFuZCBjYW5ub3QgYmUgY29udmVydGVkIGV4YWN0bHkuXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX3NjYWxlYiwiXG5cCi1zY2FsZWIob3RoZXIsIGNvbnRleHQ9Tm9uZSkgLSBSZXR1cm4gdGhlIGZpcnN0IG9wZXJhbmQgd2l0aCB0aGUgZXhwb25lbnRcblwKLWFkanVzdGVkIHRoZSBzZWNvbmQuIEVxdWl2YWxlbnRseSwgcmV0dXJuIHRoZSBmaXJzdCBvcGVyYW5kIG11bHRpcGxpZWQgYnlcblwKLTEwKipvdGhlci4gVGhlIHNlY29uZCBvcGVyYW5kIG11c3QgYmUgYW4gaW50ZWdlci5cblwKK1B5RG9jX1NUUlZBUihkb2Nfc2NhbGViLAorInNjYWxlYigkc2VsZiwgLywgb3RoZXIsIGNvbnRleHQ9Tm9uZSlcbi0tXG5cblwKK1JldHVybiB0aGUgZmlyc3Qgb3BlcmFuZCB3aXRoIHRoZSBleHBvbmVudCBhZGp1c3RlZCB0aGUgc2Vjb25kLiAgRXF1aXZhbGVudGx5LFxuXAorcmV0dXJuIHRoZSBmaXJzdCBvcGVyYW5kIG11bHRpcGxpZWQgYnkgMTAqKm90aGVyLiBUaGUgc2Vjb25kIG9wZXJhbmQgbXVzdCBiZVxuXAorYW4gaW50ZWdlci5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2Nfc2hpZnQsIlxuXAotc2hpZnQob3RoZXIsIGNvbnRleHQ9Tm9uZSkgLSBSZXR1cm4gdGhlIHJlc3VsdCBvZiBzaGlmdGluZyB0aGUgZGlnaXRzIG9mXG5cCi10aGUgZmlyc3Qgb3BlcmFuZCBieSBhbiBhbW91bnQgc3BlY2lmaWVkIGJ5IHRoZSBzZWNvbmQgb3BlcmFuZC4gVGhlIHNlY29uZFxuXAotb3BlcmFuZCBtdXN0IGJlIGFuIGludGVnZXIgaW4gdGhlIHJhbmdlIC1wcmVjaXNpb24gdGhyb3VnaCBwcmVjaXNpb24uIFRoZVxuXAotYWJzb2x1dGUgdmFsdWUgb2YgdGhlIHNlY29uZCBvcGVyYW5kIGdpdmVzIHRoZSBudW1iZXIgb2YgcGxhY2VzIHRvIHNoaWZ0LlxuXAotSWYgdGhlIHNlY29uZCBvcGVyYW5kIGlzIHBvc2l0aXZlLCB0aGVuIHRoZSBzaGlmdCBpcyB0byB0aGUgbGVmdDsgb3RoZXJ3aXNlXG5cCi10aGUgc2hpZnQgaXMgdG8gdGhlIHJpZ2h0LiBEaWdpdHMgc2hpZnRlZCBpbnRvIHRoZSBjb2VmZmljaWVudCBhcmUgemVyb3MuXG5cCi1UaGUgc2lnbiBhbmQgZXhwb25lbnQgb2YgdGhlIGZpcnN0IG9wZXJhbmQgYXJlIHVuY2hhbmdlZC5cblwKK1B5RG9jX1NUUlZBUihkb2Nfc2hpZnQsCisic2hpZnQoJHNlbGYsIC8sIG90aGVyLCBjb250ZXh0PU5vbmUpXG4tLVxuXG5cCitSZXR1cm4gdGhlIHJlc3VsdCBvZiBzaGlmdGluZyB0aGUgZGlnaXRzIG9mIHRoZSBmaXJzdCBvcGVyYW5kIGJ5IGFuIGFtb3VudFxuXAorc3BlY2lmaWVkIGJ5IHRoZSBzZWNvbmQgb3BlcmFuZC4gIFRoZSBzZWNvbmQgb3BlcmFuZCBtdXN0IGJlIGFuIGludGVnZXIgaW5cblwKK3RoZSByYW5nZSAtcHJlY2lzaW9uIHRocm91Z2ggcHJlY2lzaW9uLiBUaGUgYWJzb2x1dGUgdmFsdWUgb2YgdGhlIHNlY29uZFxuXAorb3BlcmFuZCBnaXZlcyB0aGUgbnVtYmVyIG9mIHBsYWNlcyB0byBzaGlmdC4gSWYgdGhlIHNlY29uZCBvcGVyYW5kIGlzXG5cCitwb3NpdGl2ZSwgdGhlbiB0aGUgc2hpZnQgaXMgdG8gdGhlIGxlZnQ7IG90aGVyd2lzZSB0aGUgc2hpZnQgaXMgdG8gdGhlXG5cCityaWdodC4gRGlnaXRzIHNoaWZ0ZWQgaW50byB0aGUgY29lZmZpY2llbnQgYXJlIHplcm9zLiBUaGUgc2lnbiBhbmQgZXhwb25lbnRcblwKK29mIHRoZSBmaXJzdCBvcGVyYW5kIGFyZSB1bmNoYW5nZWQuXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX3NxcnQsIlxuXAotc3FydChjb250ZXh0PU5vbmUpIC0gUmV0dXJuIHRoZSBzcXVhcmUgcm9vdCBvZiB0aGUgYXJndW1lbnQgdG8gZnVsbCBwcmVjaXNpb24uXG5cCi1UaGUgcmVzdWx0IGlzIGNvcnJlY3RseSByb3VuZGVkIHVzaW5nIHRoZSBST1VORF9IQUxGX0VWRU4gcm91bmRpbmcgbW9kZS5cblwKK1B5RG9jX1NUUlZBUihkb2Nfc3FydCwKKyJzcXJ0KCRzZWxmLCAvLCBjb250ZXh0PU5vbmUpXG4tLVxuXG5cCitSZXR1cm4gdGhlIHNxdWFyZSByb290IG9mIHRoZSBhcmd1bWVudCB0byBmdWxsIHByZWNpc2lvbi4gVGhlIHJlc3VsdCBpc1xuXAorY29ycmVjdGx5IHJvdW5kZWQgdXNpbmcgdGhlIFJPVU5EX0hBTEZfRVZFTiByb3VuZGluZyBtb2RlLlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY190b19lbmdfc3RyaW5nLCJcblwKLXRvX2VuZ19zdHJpbmcoY29udGV4dD1Ob25lKSAtIENvbnZlcnQgdG8gYW4gZW5naW5lZXJpbmctdHlwZSBzdHJpbmcuXG5cCi1FbmdpbmVlcmluZyBub3RhdGlvbiBoYXMgYW4gZXhwb25lbnQgd2hpY2ggaXMgYSBtdWx0aXBsZSBvZiAzLCBzbyB0aGVyZVxuXAotYXJlIHVwIHRvIDMgZGlnaXRzIGxlZnQgb2YgdGhlIGRlY2ltYWwgcGxhY2UuIEZvciBleGFtcGxlLCBEZWNpbWFsKCcxMjNFKzEnKVxuXAotaXMgY29udmVydGVkIHRvIERlY2ltYWwoJzEuMjNFKzMnKS5cblwKK1B5RG9jX1NUUlZBUihkb2NfdG9fZW5nX3N0cmluZywKKyJ0b19lbmdfc3RyaW5nKCRzZWxmLCAvLCBjb250ZXh0PU5vbmUpXG4tLVxuXG5cCitDb252ZXJ0IHRvIGFuIGVuZ2luZWVyaW5nLXR5cGUgc3RyaW5nLiAgRW5naW5lZXJpbmcgbm90YXRpb24gaGFzIGFuIGV4cG9uZW50XG5cCit3aGljaCBpcyBhIG11bHRpcGxlIG9mIDMsIHNvIHRoZXJlIGFyZSB1cCB0byAzIGRpZ2l0cyBsZWZ0IG9mIHRoZSBkZWNpbWFsXG5cCitwbGFjZS4gRm9yIGV4YW1wbGUsIERlY2ltYWwoJzEyM0UrMScpIGlzIGNvbnZlcnRlZCB0byBEZWNpbWFsKCcxLjIzRSszJykuXG5cCiBcblwKIFRoZSB2YWx1ZSBvZiBjb250ZXh0LmNhcGl0YWxzIGRldGVybWluZXMgd2hldGhlciB0aGUgZXhwb25lbnQgc2lnbiBpcyBsb3dlclxuXAogb3IgdXBwZXIgY2FzZS4gT3RoZXJ3aXNlLCB0aGUgY29udGV4dCBkb2VzIG5vdCBhZmZlY3QgdGhlIG9wZXJhdGlvbi5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfdG9faW50ZWdyYWwsIlxuXAotdG9faW50ZWdyYWwocm91bmRpbmc9Tm9uZSwgY29udGV4dD1Ob25lKSAtIElkZW50aWNhbCB0byB0aGVcblwKLXRvX2ludGVncmFsX3ZhbHVlKCkgbWV0aG9kLiBUaGUgdG9faW50ZWdyYWwoKSBuYW1lIGhhcyBiZWVuIGtlcHRcblwKLWZvciBjb21wYXRpYmlsaXR5IHdpdGggb2xkZXIgdmVyc2lvbnMuXG5cCitQeURvY19TVFJWQVIoZG9jX3RvX2ludGVncmFsLAorInRvX2ludGVncmFsKCRzZWxmLCAvLCByb3VuZGluZz1Ob25lLCBjb250ZXh0PU5vbmUpXG4tLVxuXG5cCitJZGVudGljYWwgdG8gdGhlIHRvX2ludGVncmFsX3ZhbHVlKCkgbWV0aG9kLiAgVGhlIHRvX2ludGVncmFsKCkgbmFtZSBoYXMgYmVlblxuXAora2VwdCBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIG9sZGVyIHZlcnNpb25zLlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY190b19pbnRlZ3JhbF9leGFjdCwiXG5cCi10b19pbnRlZ3JhbF9leGFjdChyb3VuZGluZz1Ob25lLCBjb250ZXh0PU5vbmUpIC0gUm91bmQgdG8gdGhlIG5lYXJlc3RcblwKLWludGVnZXIsIHNpZ25hbGluZyBJbmV4YWN0IG9yIFJvdW5kZWQgYXMgYXBwcm9wcmlhdGUgaWYgcm91bmRpbmcgb2NjdXJzLlxuXAotVGhlIHJvdW5kaW5nIG1vZGUgaXMgZGV0ZXJtaW5lZCBieSB0aGUgcm91bmRpbmcgcGFyYW1ldGVyIGlmIGdpdmVuLCBlbHNlXG5cCi1ieSB0aGUgZ2l2ZW4gY29udGV4dC4gSWYgbmVpdGhlciBwYXJhbWV0ZXIgaXMgZ2l2ZW4sIHRoZW4gdGhlIHJvdW5kaW5nIG1vZGVcblwKK1B5RG9jX1NUUlZBUihkb2NfdG9faW50ZWdyYWxfZXhhY3QsCisidG9faW50ZWdyYWxfZXhhY3QoJHNlbGYsIC8sIHJvdW5kaW5nPU5vbmUsIGNvbnRleHQ9Tm9uZSlcbi0tXG5cblwKK1JvdW5kIHRvIHRoZSBuZWFyZXN0IGludGVnZXIsIHNpZ25hbGluZyBJbmV4YWN0IG9yIFJvdW5kZWQgYXMgYXBwcm9wcmlhdGUgaWZcblwKK3JvdW5kaW5nIG9jY3Vycy4gIFRoZSByb3VuZGluZyBtb2RlIGlzIGRldGVybWluZWQgYnkgdGhlIHJvdW5kaW5nIHBhcmFtZXRlclxuXAoraWYgZ2l2ZW4sIGVsc2UgYnkgdGhlIGdpdmVuIGNvbnRleHQuIElmIG5laXRoZXIgcGFyYW1ldGVyIGlzIGdpdmVuLCB0aGVuIHRoZVxuXAorcm91bmRpbmcgbW9kZSBvZiB0aGUgY3VycmVudCBkZWZhdWx0IGNvbnRleHQgaXMgdXNlZC5cblwKK1xuIik7CisKK1B5RG9jX1NUUlZBUihkb2NfdG9faW50ZWdyYWxfdmFsdWUsCisidG9faW50ZWdyYWxfdmFsdWUoJHNlbGYsIC8sIHJvdW5kaW5nPU5vbmUsIGNvbnRleHQ9Tm9uZSlcbi0tXG5cblwKK1JvdW5kIHRvIHRoZSBuZWFyZXN0IGludGVnZXIgd2l0aG91dCBzaWduYWxpbmcgSW5leGFjdCBvciBSb3VuZGVkLiAgVGhlXG5cCityb3VuZGluZyBtb2RlIGlzIGRldGVybWluZWQgYnkgdGhlIHJvdW5kaW5nIHBhcmFtZXRlciBpZiBnaXZlbiwgZWxzZSBieVxuXAordGhlIGdpdmVuIGNvbnRleHQuIElmIG5laXRoZXIgcGFyYW1ldGVyIGlzIGdpdmVuLCB0aGVuIHRoZSByb3VuZGluZyBtb2RlXG5cCiBvZiB0aGUgY3VycmVudCBkZWZhdWx0IGNvbnRleHQgaXMgdXNlZC5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfdG9faW50ZWdyYWxfdmFsdWUsIlxuXAotdG9faW50ZWdyYWxfdmFsdWUocm91bmRpbmc9Tm9uZSwgY29udGV4dD1Ob25lKSAtIFJvdW5kIHRvIHRoZSBuZWFyZXN0XG5cCi1pbnRlZ2VyIHdpdGhvdXQgc2lnbmFsaW5nIEluZXhhY3Qgb3IgUm91bmRlZC4gVGhlIHJvdW5kaW5nIG1vZGUgaXMgZGV0ZXJtaW5lZFxuXAotYnkgdGhlIHJvdW5kaW5nIHBhcmFtZXRlciBpZiBnaXZlbiwgZWxzZSBieSB0aGUgZ2l2ZW4gY29udGV4dC4gSWYgbmVpdGhlclxuXAotcGFyYW1ldGVyIGlzIGdpdmVuLCB0aGVuIHRoZSByb3VuZGluZyBtb2RlIG9mIHRoZSBjdXJyZW50IGRlZmF1bHQgY29udGV4dCBpc1xuXAotdXNlZC5cblwKLVxuIik7Ci0KIAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KIC8qICAgICAgICAgICAgICAgICAgICAgICBDb250ZXh0IE9iamVjdCBhbmQgTWV0aG9kcyAgICAgICAgICAgICAgICAgICAgICAgICAgICovCiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogCi1QeURvY19TVFJWQVIoZG9jX2NvbnRleHQsIlxuXAorUHlEb2NfU1RSVkFSKGRvY19jb250ZXh0LAorIkNvbnRleHQocHJlYz1Ob25lLCByb3VuZGluZz1Ob25lLCBFbWluPU5vbmUsIEVtYXg9Tm9uZSwgY2FwaXRhbHM9Tm9uZSwgY2xhbXA9Tm9uZSwgZmxhZ3M9Tm9uZSwgdHJhcHM9Tm9uZSlcbi0tXG5cblwKIFRoZSBjb250ZXh0IGFmZmVjdHMgYWxtb3N0IGFsbCBvcGVyYXRpb25zIGFuZCBjb250cm9scyByb3VuZGluZyxcblwKLU92ZXIvVW5kZXJmbG93LCByYWlzaW5nIG9mIGV4Y2VwdGlvbnMgYW5kIG11Y2ggbW9yZS4gQSBuZXcgY29udGV4dFxuXAorT3Zlci9VbmRlcmZsb3csIHJhaXNpbmcgb2YgZXhjZXB0aW9ucyBhbmQgbXVjaCBtb3JlLiAgQSBuZXcgY29udGV4dFxuXAogY2FuIGJlIGNvbnN0cnVjdGVkIGFzIGZvbGxvd3M6XG5cCiBcblwKICAgICA+Pj4gYyA9IENvbnRleHQocHJlYz0yOCwgRW1pbj0tNDI1MDAwMDAwLCBFbWF4PTQyNTAwMDAwMCxcblwKQEAgLTQ2MCwzMDggKzUwMCwzNzIgQEAKIFxuIik7CiAKICNpZmRlZiBFWFRSQV9GVU5DVElPTkFMSVRZCi1QeURvY19TVFJWQVIoZG9jX2N0eF9hcHBseSwiXG5cCi1hcHBseSh4KSAtIEFwcGx5IHNlbGYgdG8gRGVjaW1hbCB4LlxuXAorUHlEb2NfU1RSVkFSKGRvY19jdHhfYXBwbHksCisiYXBwbHkoJHNlbGYsIHgsIC8pXG4tLVxuXG5cCitBcHBseSBzZWxmIHRvIERlY2ltYWwgeC5cblwKIFxuIik7CiAjZW5kaWYKIAotUHlEb2NfU1RSVkFSKGRvY19jdHhfY2xlYXJfZmxhZ3MsIlxuXAotY2xlYXJfZmxhZ3MoKSAtIFJlc2V0IGFsbCBmbGFncyB0byBGYWxzZS5cblwKK1B5RG9jX1NUUlZBUihkb2NfY3R4X2NsZWFyX2ZsYWdzLAorImNsZWFyX2ZsYWdzKCRzZWxmLCAvKVxuLS1cblxuXAorUmVzZXQgYWxsIGZsYWdzIHRvIEZhbHNlLlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19jdHhfY2xlYXJfdHJhcHMsIlxuXAotY2xlYXJfdHJhcHMoKSAtIFNldCBhbGwgdHJhcHMgdG8gRmFsc2UuXG5cCitQeURvY19TVFJWQVIoZG9jX2N0eF9jbGVhcl90cmFwcywKKyJjbGVhcl90cmFwcygkc2VsZiwgLylcbi0tXG5cblwKK1NldCBhbGwgdHJhcHMgdG8gRmFsc2UuXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX2N0eF9jb3B5LCJcblwKLWNvcHkoKSAtIFJldHVybiBhIGR1cGxpY2F0ZSBvZiB0aGUgY29udGV4dCB3aXRoIGFsbCBmbGFncyBjbGVhcmVkLlxuXAorUHlEb2NfU1RSVkFSKGRvY19jdHhfY29weSwKKyJjb3B5KCRzZWxmLCAvKVxuLS1cblxuXAorUmV0dXJuIGEgZHVwbGljYXRlIG9mIHRoZSBjb250ZXh0IHdpdGggYWxsIGZsYWdzIGNsZWFyZWQuXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX2N0eF9jb3B5X2RlY2ltYWwsIlxuXAotY29weV9kZWNpbWFsKHgpIC0gUmV0dXJuIGEgY29weSBvZiBEZWNpbWFsIHguXG5cCitQeURvY19TVFJWQVIoZG9jX2N0eF9jb3B5X2RlY2ltYWwsCisiY29weV9kZWNpbWFsKCRzZWxmLCB4LCAvKVxuLS1cblxuXAorUmV0dXJuIGEgY29weSBvZiBEZWNpbWFsIHguXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX2N0eF9jcmVhdGVfZGVjaW1hbCwiXG5cCi1jcmVhdGVfZGVjaW1hbCh4KSAtIENyZWF0ZSBhIG5ldyBEZWNpbWFsIGluc3RhbmNlIGZyb20geCwgdXNpbmcgc2VsZiBhcyB0aGVcblwKLWNvbnRleHQuIFVubGlrZSB0aGUgRGVjaW1hbCBjb25zdHJ1Y3RvciwgdGhpcyBmdW5jdGlvbiBvYnNlcnZlcyB0aGUgY29udGV4dFxuXAotbGltaXRzLlxuXAorUHlEb2NfU1RSVkFSKGRvY19jdHhfY3JlYXRlX2RlY2ltYWwsCisiY3JlYXRlX2RlY2ltYWwoJHNlbGYsIG51bT1cIjBcIiwgLylcbi0tXG5cblwKK0NyZWF0ZSBhIG5ldyBEZWNpbWFsIGluc3RhbmNlIGZyb20gbnVtLCB1c2luZyBzZWxmIGFzIHRoZSBjb250ZXh0LiBVbmxpa2UgdGhlXG5cCitEZWNpbWFsIGNvbnN0cnVjdG9yLCB0aGlzIGZ1bmN0aW9uIG9ic2VydmVzIHRoZSBjb250ZXh0IGxpbWl0cy5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfY3R4X2NyZWF0ZV9kZWNpbWFsX2Zyb21fZmxvYXQsIlxuXAotY3JlYXRlX2RlY2ltYWxfZnJvbV9mbG9hdChmKSAtIENyZWF0ZSBhIG5ldyBEZWNpbWFsIGluc3RhbmNlIGZyb20gZmxvYXQgZi5cblwKLVVubGlrZSB0aGUgRGVjaW1hbC5mcm9tX2Zsb2F0KCkgY2xhc3MgbWV0aG9kLCB0aGlzIGZ1bmN0aW9uIG9ic2VydmVzIHRoZVxuXAotY29udGV4dCBsaW1pdHMuXG5cCitQeURvY19TVFJWQVIoZG9jX2N0eF9jcmVhdGVfZGVjaW1hbF9mcm9tX2Zsb2F0LAorImNyZWF0ZV9kZWNpbWFsX2Zyb21fZmxvYXQoJHNlbGYsIGYsIC8pXG4tLVxuXG5cCitDcmVhdGUgYSBuZXcgRGVjaW1hbCBpbnN0YW5jZSBmcm9tIGZsb2F0IGYuICBVbmxpa2UgdGhlIERlY2ltYWwuZnJvbV9mbG9hdCgpXG5cCitjbGFzcyBtZXRob2QsIHRoaXMgZnVuY3Rpb24gb2JzZXJ2ZXMgdGhlIGNvbnRleHQgbGltaXRzLlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19jdHhfRXRpbnksIlxuXAotRXRpbnkoKSAtIFJldHVybiBhIHZhbHVlIGVxdWFsIHRvIEVtaW4gLSBwcmVjICsgMSwgd2hpY2ggaXMgdGhlIG1pbmltdW1cblwKLWV4cG9uZW50IHZhbHVlIGZvciBzdWJub3JtYWwgcmVzdWx0cy4gV2hlbiB1bmRlcmZsb3cgb2NjdXJzLCB0aGUgZXhwb25lbnRcblwKLWlzIHNldCB0byBFdGlueS5cblwKK1B5RG9jX1NUUlZBUihkb2NfY3R4X0V0aW55LAorIkV0aW55KCRzZWxmLCAvKVxuLS1cblxuXAorUmV0dXJuIGEgdmFsdWUgZXF1YWwgdG8gRW1pbiAtIHByZWMgKyAxLCB3aGljaCBpcyB0aGUgbWluaW11bSBleHBvbmVudCB2YWx1ZVxuXAorZm9yIHN1Ym5vcm1hbCByZXN1bHRzLiAgV2hlbiB1bmRlcmZsb3cgb2NjdXJzLCB0aGUgZXhwb25lbnQgaXMgc2V0IHRvIEV0aW55LlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19jdHhfRXRvcCwiXG5cCi1FdG9wKCkgLSBSZXR1cm4gYSB2YWx1ZSBlcXVhbCB0byBFbWF4IC0gcHJlYyArIDEuIFRoaXMgaXMgdGhlIG1heGltdW0gZXhwb25lbnRcblwKLWlmIHRoZSBfY2xhbXAgZmllbGQgb2YgdGhlIGNvbnRleHQgaXMgc2V0IHRvIDEgKElFRUUgY2xhbXAgbW9kZSkuIEV0b3AoKSBtdXN0XG5cCi1ub3QgYmUgbmVnYXRpdmUuXG5cCitQeURvY19TVFJWQVIoZG9jX2N0eF9FdG9wLAorIkV0b3AoJHNlbGYsIC8pXG4tLVxuXG5cCitSZXR1cm4gYSB2YWx1ZSBlcXVhbCB0byBFbWF4IC0gcHJlYyArIDEuICBUaGlzIGlzIHRoZSBtYXhpbXVtIGV4cG9uZW50XG5cCitpZiB0aGUgX2NsYW1wIGZpZWxkIG9mIHRoZSBjb250ZXh0IGlzIHNldCB0byAxIChJRUVFIGNsYW1wIG1vZGUpLiAgRXRvcCgpXG5cCittdXN0IG5vdCBiZSBuZWdhdGl2ZS5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfY3R4X2FicywiXG5cCi1hYnMoeCkgLSBSZXR1cm4gdGhlIGFic29sdXRlIHZhbHVlIG9mIHguXG5cCitQeURvY19TVFJWQVIoZG9jX2N0eF9hYnMsCisiYWJzKCRzZWxmLCB4LCAvKVxuLS1cblxuXAorUmV0dXJuIHRoZSBhYnNvbHV0ZSB2YWx1ZSBvZiB4LlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19jdHhfYWRkLCJcblwKLWFkZCh4LCB5KSAtIFJldHVybiB0aGUgc3VtIG9mIHggYW5kIHkuXG5cCitQeURvY19TVFJWQVIoZG9jX2N0eF9hZGQsCisiYWRkKCRzZWxmLCB4LCB5LCAvKVxuLS1cblxuXAorUmV0dXJuIHRoZSBzdW0gb2YgeCBhbmQgeS5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfY3R4X2Nhbm9uaWNhbCwiXG5cCi1jYW5vbmljYWwoeCkgLSBSZXR1cm4gYSBuZXcgaW5zdGFuY2Ugb2YgeC5cblwKK1B5RG9jX1NUUlZBUihkb2NfY3R4X2Nhbm9uaWNhbCwKKyJjYW5vbmljYWwoJHNlbGYsIHgsIC8pXG4tLVxuXG5cCitSZXR1cm4gYSBuZXcgaW5zdGFuY2Ugb2YgeC5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfY3R4X2NvbXBhcmUsIlxuXAotY29tcGFyZSh4LCB5KSAtIENvbXBhcmUgeCBhbmQgeSBudW1lcmljYWxseS5cblwKK1B5RG9jX1NUUlZBUihkb2NfY3R4X2NvbXBhcmUsCisiY29tcGFyZSgkc2VsZiwgeCwgeSwgLylcbi0tXG5cblwKK0NvbXBhcmUgeCBhbmQgeSBudW1lcmljYWxseS5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfY3R4X2NvbXBhcmVfc2lnbmFsLCJcblwKLWNvbXBhcmVfc2lnbmFsKHgsIHkpIC0gQ29tcGFyZSB4IGFuZCB5IG51bWVyaWNhbGx5LiBBbGwgTmFOcyBzaWduYWwuXG5cCitQeURvY19TVFJWQVIoZG9jX2N0eF9jb21wYXJlX3NpZ25hbCwKKyJjb21wYXJlX3NpZ25hbCgkc2VsZiwgeCwgeSwgLylcbi0tXG5cblwKK0NvbXBhcmUgeCBhbmQgeSBudW1lcmljYWxseS4gIEFsbCBOYU5zIHNpZ25hbC5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfY3R4X2NvbXBhcmVfdG90YWwsIlxuXAotY29tcGFyZV90b3RhbCh4LCB5KSAtIENvbXBhcmUgeCBhbmQgeSB1c2luZyB0aGVpciBhYnN0cmFjdCByZXByZXNlbnRhdGlvbi5cblwKK1B5RG9jX1NUUlZBUihkb2NfY3R4X2NvbXBhcmVfdG90YWwsCisiY29tcGFyZV90b3RhbCgkc2VsZiwgeCwgeSwgLylcbi0tXG5cblwKK0NvbXBhcmUgeCBhbmQgeSB1c2luZyB0aGVpciBhYnN0cmFjdCByZXByZXNlbnRhdGlvbi5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfY3R4X2NvbXBhcmVfdG90YWxfbWFnLCJcblwKLWNvbXBhcmVfdG90YWxfbWFnKHgsIHkpIC0gQ29tcGFyZSB4IGFuZCB5IHVzaW5nIHRoZWlyIGFic3RyYWN0IHJlcHJlc2VudGF0aW9uLFxuXAotaWdub3Jpbmcgc2lnbi5cblwKK1B5RG9jX1NUUlZBUihkb2NfY3R4X2NvbXBhcmVfdG90YWxfbWFnLAorImNvbXBhcmVfdG90YWxfbWFnKCRzZWxmLCB4LCB5LCAvKVxuLS1cblxuXAorQ29tcGFyZSB4IGFuZCB5IHVzaW5nIHRoZWlyIGFic3RyYWN0IHJlcHJlc2VudGF0aW9uLCBpZ25vcmluZyBzaWduLlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19jdHhfY29weV9hYnMsIlxuXAotY29weV9hYnMoeCkgLSBSZXR1cm4gYSBjb3B5IG9mIHggd2l0aCB0aGUgc2lnbiBzZXQgdG8gMC5cblwKK1B5RG9jX1NUUlZBUihkb2NfY3R4X2NvcHlfYWJzLAorImNvcHlfYWJzKCRzZWxmLCB4LCAvKVxuLS1cblxuXAorUmV0dXJuIGEgY29weSBvZiB4IHdpdGggdGhlIHNpZ24gc2V0IHRvIDAuXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX2N0eF9jb3B5X25lZ2F0ZSwiXG5cCi1jb3B5X25lZ2F0ZSh4KSAtIFJldHVybiBhIGNvcHkgb2YgeCB3aXRoIHRoZSBzaWduIGludmVydGVkLlxuXAorUHlEb2NfU1RSVkFSKGRvY19jdHhfY29weV9uZWdhdGUsCisiY29weV9uZWdhdGUoJHNlbGYsIHgsIC8pXG4tLVxuXG5cCitSZXR1cm4gYSBjb3B5IG9mIHggd2l0aCB0aGUgc2lnbiBpbnZlcnRlZC5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfY3R4X2NvcHlfc2lnbiwiXG5cCi1jb3B5X3NpZ24oeCwgeSkgLSBDb3B5IHRoZSBzaWduIGZyb20geSB0byB4LlxuXAorUHlEb2NfU1RSVkFSKGRvY19jdHhfY29weV9zaWduLAorImNvcHlfc2lnbigkc2VsZiwgeCwgeSwgLylcbi0tXG5cblwKK0NvcHkgdGhlIHNpZ24gZnJvbSB5IHRvIHguXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX2N0eF9kaXZpZGUsIlxuXAotZGl2aWRlKHgsIHkpIC0gUmV0dXJuIHggZGl2aWRlZCBieSB5LlxuXAorUHlEb2NfU1RSVkFSKGRvY19jdHhfZGl2aWRlLAorImRpdmlkZSgkc2VsZiwgeCwgeSwgLylcbi0tXG5cblwKK1JldHVybiB4IGRpdmlkZWQgYnkgeS5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfY3R4X2RpdmlkZV9pbnQsIlxuXAotZGl2aWRlX2ludCh4LCB5KSAtIFJldHVybiB4IGRpdmlkZWQgYnkgeSwgdHJ1bmNhdGVkIHRvIGFuIGludGVnZXIuXG5cCitQeURvY19TVFJWQVIoZG9jX2N0eF9kaXZpZGVfaW50LAorImRpdmlkZV9pbnQoJHNlbGYsIHgsIHksIC8pXG4tLVxuXG5cCitSZXR1cm4geCBkaXZpZGVkIGJ5IHksIHRydW5jYXRlZCB0byBhbiBpbnRlZ2VyLlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19jdHhfZGl2bW9kLCJcblwKLWRpdm1vZCh4LCB5KSAtIFJldHVybiBxdW90aWVudCBhbmQgcmVtYWluZGVyIG9mIHRoZSBkaXZpc2lvbiB4IC8geS5cblwKK1B5RG9jX1NUUlZBUihkb2NfY3R4X2Rpdm1vZCwKKyJkaXZtb2QoJHNlbGYsIHgsIHksIC8pXG4tLVxuXG5cCitSZXR1cm4gcXVvdGllbnQgYW5kIHJlbWFpbmRlciBvZiB0aGUgZGl2aXNpb24geCAvIHkuXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX2N0eF9leHAsIlxuXAotZXhwKHgpIC0gUmV0dXJuIGUgKiogeC5cblwKK1B5RG9jX1NUUlZBUihkb2NfY3R4X2V4cCwKKyJleHAoJHNlbGYsIHgsIC8pXG4tLVxuXG5cCitSZXR1cm4gZSAqKiB4LlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19jdHhfZm1hLCJcblwKLWZtYSh4LCB5LCB6KSAtIFJldHVybiB4IG11bHRpcGxpZWQgYnkgeSwgcGx1cyB6LlxuXAorUHlEb2NfU1RSVkFSKGRvY19jdHhfZm1hLAorImZtYSgkc2VsZiwgeCwgeSwgeiwgLylcbi0tXG5cblwKK1JldHVybiB4IG11bHRpcGxpZWQgYnkgeSwgcGx1cyB6LlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19jdHhfaXNfY2Fub25pY2FsLCJcblwKLWlzX2Nhbm9uaWNhbCh4KSAtIFJldHVybiBUcnVlIGlmIHggaXMgY2Fub25pY2FsLCBGYWxzZSBvdGhlcndpc2UuXG5cCitQeURvY19TVFJWQVIoZG9jX2N0eF9pc19jYW5vbmljYWwsCisiaXNfY2Fub25pY2FsKCRzZWxmLCB4LCAvKVxuLS1cblxuXAorUmV0dXJuIFRydWUgaWYgeCBpcyBjYW5vbmljYWwsIEZhbHNlIG90aGVyd2lzZS5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfY3R4X2lzX2Zpbml0ZSwiXG5cCi1pc19maW5pdGUoeCkgLSBSZXR1cm4gVHJ1ZSBpZiB4IGlzIGZpbml0ZSwgRmFsc2Ugb3RoZXJ3aXNlLlxuXAorUHlEb2NfU1RSVkFSKGRvY19jdHhfaXNfZmluaXRlLAorImlzX2Zpbml0ZSgkc2VsZiwgeCwgLylcbi0tXG5cblwKK1JldHVybiBUcnVlIGlmIHggaXMgZmluaXRlLCBGYWxzZSBvdGhlcndpc2UuXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX2N0eF9pc19pbmZpbml0ZSwiXG5cCi1pc19pbmZpbml0ZSh4KSAtIFJldHVybiBUcnVlIGlmIHggaXMgaW5maW5pdGUsIEZhbHNlIG90aGVyd2lzZS5cblwKK1B5RG9jX1NUUlZBUihkb2NfY3R4X2lzX2luZmluaXRlLAorImlzX2luZmluaXRlKCRzZWxmLCB4LCAvKVxuLS1cblxuXAorUmV0dXJuIFRydWUgaWYgeCBpcyBpbmZpbml0ZSwgRmFsc2Ugb3RoZXJ3aXNlLlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19jdHhfaXNfbmFuLCJcblwKLWlzX25hbih4KSAtIFJldHVybiBUcnVlIGlmIHggaXMgYSBxTmFOIG9yIHNOYU4sIEZhbHNlIG90aGVyd2lzZS5cblwKK1B5RG9jX1NUUlZBUihkb2NfY3R4X2lzX25hbiwKKyJpc19uYW4oJHNlbGYsIHgsIC8pXG4tLVxuXG5cCitSZXR1cm4gVHJ1ZSBpZiB4IGlzIGEgcU5hTiBvciBzTmFOLCBGYWxzZSBvdGhlcndpc2UuXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX2N0eF9pc19ub3JtYWwsIlxuXAotaXNfbm9ybWFsKHgpIC0gUmV0dXJuIFRydWUgaWYgeCBpcyBhIG5vcm1hbCBudW1iZXIsIEZhbHNlIG90aGVyd2lzZS5cblwKK1B5RG9jX1NUUlZBUihkb2NfY3R4X2lzX25vcm1hbCwKKyJpc19ub3JtYWwoJHNlbGYsIHgsIC8pXG4tLVxuXG5cCitSZXR1cm4gVHJ1ZSBpZiB4IGlzIGEgbm9ybWFsIG51bWJlciwgRmFsc2Ugb3RoZXJ3aXNlLlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19jdHhfaXNfcW5hbiwiXG5cCi1pc19xbmFuKHgpIC0gUmV0dXJuIFRydWUgaWYgeCBpcyBhIHF1aWV0IE5hTiwgRmFsc2Ugb3RoZXJ3aXNlLlxuXAorUHlEb2NfU1RSVkFSKGRvY19jdHhfaXNfcW5hbiwKKyJpc19xbmFuKCRzZWxmLCB4LCAvKVxuLS1cblxuXAorUmV0dXJuIFRydWUgaWYgeCBpcyBhIHF1aWV0IE5hTiwgRmFsc2Ugb3RoZXJ3aXNlLlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19jdHhfaXNfc2lnbmVkLCJcblwKLWlzX3NpZ25lZCh4KSAtIFJldHVybiBUcnVlIGlmIHggaXMgbmVnYXRpdmUsIEZhbHNlIG90aGVyd2lzZS5cblwKK1B5RG9jX1NUUlZBUihkb2NfY3R4X2lzX3NpZ25lZCwKKyJpc19zaWduZWQoJHNlbGYsIHgsIC8pXG4tLVxuXG5cCitSZXR1cm4gVHJ1ZSBpZiB4IGlzIG5lZ2F0aXZlLCBGYWxzZSBvdGhlcndpc2UuXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX2N0eF9pc19zbmFuLCJcblwKLWlzX3NuYW4oKSAtIFJldHVybiBUcnVlIGlmIHggaXMgYSBzaWduYWxpbmcgTmFOLCBGYWxzZSBvdGhlcndpc2UuXG5cCitQeURvY19TVFJWQVIoZG9jX2N0eF9pc19zbmFuLAorImlzX3NuYW4oJHNlbGYsIHgsIC8pXG4tLVxuXG5cCitSZXR1cm4gVHJ1ZSBpZiB4IGlzIGEgc2lnbmFsaW5nIE5hTiwgRmFsc2Ugb3RoZXJ3aXNlLlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19jdHhfaXNfc3Vibm9ybWFsLCJcblwKLWlzX3N1Ym5vcm1hbCh4KSAtIFJldHVybiBUcnVlIGlmIHggaXMgc3Vibm9ybWFsLCBGYWxzZSBvdGhlcndpc2UuXG5cCitQeURvY19TVFJWQVIoZG9jX2N0eF9pc19zdWJub3JtYWwsCisiaXNfc3Vibm9ybWFsKCRzZWxmLCB4LCAvKVxuLS1cblxuXAorUmV0dXJuIFRydWUgaWYgeCBpcyBzdWJub3JtYWwsIEZhbHNlIG90aGVyd2lzZS5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfY3R4X2lzX3plcm8sIlxuXAotaXNfemVybyh4KSAtIFJldHVybiBUcnVlIGlmIHggaXMgYSB6ZXJvLCBGYWxzZSBvdGhlcndpc2UuXG5cCitQeURvY19TVFJWQVIoZG9jX2N0eF9pc196ZXJvLAorImlzX3plcm8oJHNlbGYsIHgsIC8pXG4tLVxuXG5cCitSZXR1cm4gVHJ1ZSBpZiB4IGlzIGEgemVybywgRmFsc2Ugb3RoZXJ3aXNlLlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19jdHhfbG4sIlxuXAotbG4oeCkgLSBSZXR1cm4gdGhlIG5hdHVyYWwgKGJhc2UgZSkgbG9nYXJpdGhtIG9mIHguXG5cCitQeURvY19TVFJWQVIoZG9jX2N0eF9sbiwKKyJsbigkc2VsZiwgeCwgLylcbi0tXG5cblwKK1JldHVybiB0aGUgbmF0dXJhbCAoYmFzZSBlKSBsb2dhcml0aG0gb2YgeC5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfY3R4X2xvZzEwLCJcblwKLWxvZzEwKHgpIC0gUmV0dXJuIHRoZSBiYXNlIDEwIGxvZ2FyaXRobSBvZiB4LlxuXAorUHlEb2NfU1RSVkFSKGRvY19jdHhfbG9nMTAsCisibG9nMTAoJHNlbGYsIHgsIC8pXG4tLVxuXG5cCitSZXR1cm4gdGhlIGJhc2UgMTAgbG9nYXJpdGhtIG9mIHguXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX2N0eF9sb2diLCJcblwKLWxvZ2IoeCkgLSBSZXR1cm4gdGhlIGV4cG9uZW50IG9mIHRoZSBtYWduaXR1ZGUgb2YgdGhlIG9wZXJhbmQncyBNU0QuXG5cCitQeURvY19TVFJWQVIoZG9jX2N0eF9sb2diLAorImxvZ2IoJHNlbGYsIHgsIC8pXG4tLVxuXG5cCitSZXR1cm4gdGhlIGV4cG9uZW50IG9mIHRoZSBtYWduaXR1ZGUgb2YgdGhlIG9wZXJhbmQncyBNU0QuXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX2N0eF9sb2dpY2FsX2FuZCwiXG5cCi1sb2dpY2FsX2FuZCh4LCB5KSAtIERpZ2l0LXdpc2UgYW5kIG9mIHggYW5kIHkuXG5cCitQeURvY19TVFJWQVIoZG9jX2N0eF9sb2dpY2FsX2FuZCwKKyJsb2dpY2FsX2FuZCgkc2VsZiwgeCwgeSwgLylcbi0tXG5cblwKK0RpZ2l0LXdpc2UgYW5kIG9mIHggYW5kIHkuXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX2N0eF9sb2dpY2FsX2ludmVydCwiXG5cCi1sb2dpY2FsX2ludmVydCh4KSAtIEludmVydCBhbGwgZGlnaXRzIG9mIHguXG5cCitQeURvY19TVFJWQVIoZG9jX2N0eF9sb2dpY2FsX2ludmVydCwKKyJsb2dpY2FsX2ludmVydCgkc2VsZiwgeCwgLylcbi0tXG5cblwKK0ludmVydCBhbGwgZGlnaXRzIG9mIHguXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX2N0eF9sb2dpY2FsX29yLCJcblwKLWxvZ2ljYWxfb3IoeCwgeSkgLSBEaWdpdC13aXNlIG9yIG9mIHggYW5kIHkuXG5cCitQeURvY19TVFJWQVIoZG9jX2N0eF9sb2dpY2FsX29yLAorImxvZ2ljYWxfb3IoJHNlbGYsIHgsIHksIC8pXG4tLVxuXG5cCitEaWdpdC13aXNlIG9yIG9mIHggYW5kIHkuXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX2N0eF9sb2dpY2FsX3hvciwiXG5cCi1sb2dpY2FsX3hvcih4LCB5KSAtIERpZ2l0LXdpc2UgeG9yIG9mIHggYW5kIHkuXG5cCitQeURvY19TVFJWQVIoZG9jX2N0eF9sb2dpY2FsX3hvciwKKyJsb2dpY2FsX3hvcigkc2VsZiwgeCwgeSwgLylcbi0tXG5cblwKK0RpZ2l0LXdpc2UgeG9yIG9mIHggYW5kIHkuXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX2N0eF9tYXgsIlxuXAotbWF4KHgsIHkpIC0gQ29tcGFyZSB0aGUgdmFsdWVzIG51bWVyaWNhbGx5IGFuZCByZXR1cm4gdGhlIG1heGltdW0uXG5cCitQeURvY19TVFJWQVIoZG9jX2N0eF9tYXgsCisibWF4KCRzZWxmLCB4LCB5LCAvKVxuLS1cblxuXAorQ29tcGFyZSB0aGUgdmFsdWVzIG51bWVyaWNhbGx5IGFuZCByZXR1cm4gdGhlIG1heGltdW0uXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX2N0eF9tYXhfbWFnLCJcblwKLW1heF9tYWcoeCwgeSkgLSBDb21wYXJlIHRoZSB2YWx1ZXMgbnVtZXJpY2FsbHkgd2l0aCB0aGVpciBzaWduIGlnbm9yZWQuXG5cCitQeURvY19TVFJWQVIoZG9jX2N0eF9tYXhfbWFnLAorIm1heF9tYWcoJHNlbGYsIHgsIHksIC8pXG4tLVxuXG5cCitDb21wYXJlIHRoZSB2YWx1ZXMgbnVtZXJpY2FsbHkgd2l0aCB0aGVpciBzaWduIGlnbm9yZWQuXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX2N0eF9taW4sIlxuXAotbWluKHgsIHkpIC0gQ29tcGFyZSB0aGUgdmFsdWVzIG51bWVyaWNhbGx5IGFuZCByZXR1cm4gdGhlIG1pbmltdW0uXG5cCitQeURvY19TVFJWQVIoZG9jX2N0eF9taW4sCisibWluKCRzZWxmLCB4LCB5LCAvKVxuLS1cblxuXAorQ29tcGFyZSB0aGUgdmFsdWVzIG51bWVyaWNhbGx5IGFuZCByZXR1cm4gdGhlIG1pbmltdW0uXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX2N0eF9taW5fbWFnLCJcblwKLW1pbl9tYWcoeCwgeSkgLSBDb21wYXJlIHRoZSB2YWx1ZXMgbnVtZXJpY2FsbHkgd2l0aCB0aGVpciBzaWduIGlnbm9yZWQuXG5cCitQeURvY19TVFJWQVIoZG9jX2N0eF9taW5fbWFnLAorIm1pbl9tYWcoJHNlbGYsIHgsIHksIC8pXG4tLVxuXG5cCitDb21wYXJlIHRoZSB2YWx1ZXMgbnVtZXJpY2FsbHkgd2l0aCB0aGVpciBzaWduIGlnbm9yZWQuXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX2N0eF9taW51cywiXG5cCi1taW51cyh4KSAtIE1pbnVzIGNvcnJlc3BvbmRzIHRvIHRoZSB1bmFyeSBwcmVmaXggbWludXMgb3BlcmF0b3IgaW4gUHl0aG9uLFxuXAotYnV0IGFwcGxpZXMgdGhlIGNvbnRleHQgdG8gdGhlIHJlc3VsdC5cblwKK1B5RG9jX1NUUlZBUihkb2NfY3R4X21pbnVzLAorIm1pbnVzKCRzZWxmLCB4LCAvKVxuLS1cblxuXAorTWludXMgY29ycmVzcG9uZHMgdG8gdGhlIHVuYXJ5IHByZWZpeCBtaW51cyBvcGVyYXRvciBpbiBQeXRob24sIGJ1dCBhcHBsaWVzXG5cCit0aGUgY29udGV4dCB0byB0aGUgcmVzdWx0LlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19jdHhfbXVsdGlwbHksIlxuXAotbXVsdGlwbHkoeCwgeSkgLSBSZXR1cm4gdGhlIHByb2R1Y3Qgb2YgeCBhbmQgeS5cblwKK1B5RG9jX1NUUlZBUihkb2NfY3R4X211bHRpcGx5LAorIm11bHRpcGx5KCRzZWxmLCB4LCB5LCAvKVxuLS1cblxuXAorUmV0dXJuIHRoZSBwcm9kdWN0IG9mIHggYW5kIHkuXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX2N0eF9uZXh0X21pbnVzLCJcblwKLW5leHRfbWludXMoeCkgLSBSZXR1cm4gdGhlIGxhcmdlc3QgcmVwcmVzZW50YWJsZSBudW1iZXIgc21hbGxlciB0aGFuIHguXG5cCitQeURvY19TVFJWQVIoZG9jX2N0eF9uZXh0X21pbnVzLAorIm5leHRfbWludXMoJHNlbGYsIHgsIC8pXG4tLVxuXG5cCitSZXR1cm4gdGhlIGxhcmdlc3QgcmVwcmVzZW50YWJsZSBudW1iZXIgc21hbGxlciB0aGFuIHguXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX2N0eF9uZXh0X3BsdXMsIlxuXAotbmV4dF9wbHVzKHgpIC0gUmV0dXJuIHRoZSBzbWFsbGVzdCByZXByZXNlbnRhYmxlIG51bWJlciBsYXJnZXIgdGhhbiB4LlxuXAorUHlEb2NfU1RSVkFSKGRvY19jdHhfbmV4dF9wbHVzLAorIm5leHRfcGx1cygkc2VsZiwgeCwgLylcbi0tXG5cblwKK1JldHVybiB0aGUgc21hbGxlc3QgcmVwcmVzZW50YWJsZSBudW1iZXIgbGFyZ2VyIHRoYW4geC5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfY3R4X25leHRfdG93YXJkLCJcblwKLW5leHRfdG93YXJkKHgpIC0gUmV0dXJuIHRoZSBudW1iZXIgY2xvc2VzdCB0byB4LCBpbiB0aGUgZGlyZWN0aW9uIHRvd2FyZHMgeS5cblwKK1B5RG9jX1NUUlZBUihkb2NfY3R4X25leHRfdG93YXJkLAorIm5leHRfdG93YXJkKCRzZWxmLCB4LCB5LCAvKVxuLS1cblxuXAorUmV0dXJuIHRoZSBudW1iZXIgY2xvc2VzdCB0byB4LCBpbiB0aGUgZGlyZWN0aW9uIHRvd2FyZHMgeS5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfY3R4X25vcm1hbGl6ZSwiXG5cCi1ub3JtYWxpemUoeCkgLSBSZWR1Y2UgeCB0byBpdHMgc2ltcGxlc3QgZm9ybS4gQWxpYXMgZm9yIHJlZHVjZSh4KS5cblwKK1B5RG9jX1NUUlZBUihkb2NfY3R4X25vcm1hbGl6ZSwKKyJub3JtYWxpemUoJHNlbGYsIHgsIC8pXG4tLVxuXG5cCitSZWR1Y2UgeCB0byBpdHMgc2ltcGxlc3QgZm9ybS4gQWxpYXMgZm9yIHJlZHVjZSh4KS5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfY3R4X251bWJlcl9jbGFzcywiXG5cCi1udW1iZXJfY2xhc3MoeCkgLSBSZXR1cm4gYW4gaW5kaWNhdGlvbiBvZiB0aGUgY2xhc3Mgb2YgeC5cblwKK1B5RG9jX1NUUlZBUihkb2NfY3R4X251bWJlcl9jbGFzcywKKyJudW1iZXJfY2xhc3MoJHNlbGYsIHgsIC8pXG4tLVxuXG5cCitSZXR1cm4gYW4gaW5kaWNhdGlvbiBvZiB0aGUgY2xhc3Mgb2YgeC5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfY3R4X3BsdXMsIlxuXAotcGx1cyh4KSAtIFBsdXMgY29ycmVzcG9uZHMgdG8gdGhlIHVuYXJ5IHByZWZpeCBwbHVzIG9wZXJhdG9yIGluIFB5dGhvbixcblwKLWJ1dCBhcHBsaWVzIHRoZSBjb250ZXh0IHRvIHRoZSByZXN1bHQuXG5cCitQeURvY19TVFJWQVIoZG9jX2N0eF9wbHVzLAorInBsdXMoJHNlbGYsIHgsIC8pXG4tLVxuXG5cCitQbHVzIGNvcnJlc3BvbmRzIHRvIHRoZSB1bmFyeSBwcmVmaXggcGx1cyBvcGVyYXRvciBpbiBQeXRob24sIGJ1dCBhcHBsaWVzXG5cCit0aGUgY29udGV4dCB0byB0aGUgcmVzdWx0LlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19jdHhfcG93ZXIsIlxuXAotcG93ZXIoeCwgeSkgLSBDb21wdXRlIHgqKnkuIElmIHggaXMgbmVnYXRpdmUsIHRoZW4geSBtdXN0IGJlIGludGVncmFsLlxuXAotVGhlIHJlc3VsdCB3aWxsIGJlIGluZXhhY3QgdW5sZXNzIHkgaXMgaW50ZWdyYWwgYW5kIHRoZSByZXN1bHQgaXMgZmluaXRlXG5cCi1hbmQgY2FuIGJlIGV4cHJlc3NlZCBleGFjdGx5IGluICdwcmVjaXNpb24nIGRpZ2l0cy4gSW4gdGhlIFB5dGhvbiB2ZXJzaW9uXG5cCi10aGUgcmVzdWx0IGlzIGFsd2F5cyBjb3JyZWN0bHkgcm91bmRlZCwgaW4gdGhlIEMgdmVyc2lvbiB0aGUgcmVzdWx0IGlzXG5cCi1hbG1vc3QgYWx3YXlzIGNvcnJlY3RseSByb3VuZGVkLlxuXAorUHlEb2NfU1RSVkFSKGRvY19jdHhfcG93ZXIsCisicG93ZXIoJHNlbGYsIC8sIGEsIGIsIG1vZHVsbz1Ob25lKVxuLS1cblxuXAorQ29tcHV0ZSBhKipiLiBJZiAnYScgaXMgbmVnYXRpdmUsIHRoZW4gJ2InIG11c3QgYmUgaW50ZWdyYWwuIFRoZSByZXN1bHRcblwKK3dpbGwgYmUgaW5leGFjdCB1bmxlc3MgJ2EnIGlzIGludGVncmFsIGFuZCB0aGUgcmVzdWx0IGlzIGZpbml0ZSBhbmQgY2FuXG5cCitiZSBleHByZXNzZWQgZXhhY3RseSBpbiAncHJlY2lzaW9uJyBkaWdpdHMuICBJbiB0aGUgUHl0aG9uIHZlcnNpb24gdGhlXG5cCityZXN1bHQgaXMgYWx3YXlzIGNvcnJlY3RseSByb3VuZGVkLCBpbiB0aGUgQyB2ZXJzaW9uIHRoZSByZXN1bHQgaXMgYWxtb3N0XG5cCithbHdheXMgY29ycmVjdGx5IHJvdW5kZWQuXG5cCiBcblwKLXBvd2VyKHgsIHksIG0pIC0gQ29tcHV0ZSAoeCoqeSkgJSBtLiBUaGUgZm9sbG93aW5nIHJlc3RyaWN0aW9ucyBob2xkOlxuXAorSWYgbW9kdWxvIGlzIGdpdmVuLCBjb21wdXRlIChhKipiKSAlIG1vZHVsby4gVGhlIGZvbGxvd2luZyByZXN0cmljdGlvbnNcblwKK2hvbGQ6XG5cCiBcblwKICAgICAqIGFsbCB0aHJlZSBhcmd1bWVudHMgbXVzdCBiZSBpbnRlZ3JhbFxuXAotICAgICogeSBtdXN0IGJlIG5vbm5lZ2F0aXZlXG5cCi0gICAgKiBhdCBsZWFzdCBvbmUgb2YgeCBvciB5IG11c3QgYmUgbm9uemVyb1xuXAotICAgICogbSBtdXN0IGJlIG5vbnplcm8gYW5kIGxlc3MgdGhhbiAxMCoqcHJlYyBpbiBhYnNvbHV0ZSB2YWx1ZVxuXAorICAgICogJ2InIG11c3QgYmUgbm9ubmVnYXRpdmVcblwKKyAgICAqIGF0IGxlYXN0IG9uZSBvZiAnYScgb3IgJ2InIG11c3QgYmUgbm9uemVyb1xuXAorICAgICogbW9kdWxvIG11c3QgYmUgbm9uemVybyBhbmQgbGVzcyB0aGFuIDEwKipwcmVjIGluIGFic29sdXRlIHZhbHVlXG5cCiBcblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfY3R4X3F1YW50aXplLCJcblwKLXF1YW50aXplKHgsIHkpIC0gUmV0dXJuIGEgdmFsdWUgZXF1YWwgdG8geCAocm91bmRlZCksIGhhdmluZyB0aGUgZXhwb25lbnQgb2YgeS5cblwKK1B5RG9jX1NUUlZBUihkb2NfY3R4X3F1YW50aXplLAorInF1YW50aXplKCRzZWxmLCB4LCB5LCAvKVxuLS1cblxuXAorUmV0dXJuIGEgdmFsdWUgZXF1YWwgdG8geCAocm91bmRlZCksIGhhdmluZyB0aGUgZXhwb25lbnQgb2YgeS5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfY3R4X3JhZGl4LCJcblwKLXJhZGl4KCkgLSBSZXR1cm4gMTAuXG5cCitQeURvY19TVFJWQVIoZG9jX2N0eF9yYWRpeCwKKyJyYWRpeCgkc2VsZiwgLylcbi0tXG5cblwKK1JldHVybiAxMC5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfY3R4X3JlbWFpbmRlciwiXG5cCi1yZW1haW5kZXIoeCwgeSkgLSBSZXR1cm4gdGhlIHJlbWFpbmRlciBmcm9tIGludGVnZXIgZGl2aXNpb24uIFRoZSBzaWduIG9mXG5cCi10aGUgcmVzdWx0LCBpZiBub24temVybywgaXMgdGhlIHNhbWUgYXMgdGhhdCBvZiB0aGUgb3JpZ2luYWwgZGl2aWRlbmQuXG5cCitQeURvY19TVFJWQVIoZG9jX2N0eF9yZW1haW5kZXIsCisicmVtYWluZGVyKCRzZWxmLCB4LCB5LCAvKVxuLS1cblxuXAorUmV0dXJuIHRoZSByZW1haW5kZXIgZnJvbSBpbnRlZ2VyIGRpdmlzaW9uLiAgVGhlIHNpZ24gb2YgdGhlIHJlc3VsdCxcblwKK2lmIG5vbi16ZXJvLCBpcyB0aGUgc2FtZSBhcyB0aGF0IG9mIHRoZSBvcmlnaW5hbCBkaXZpZGVuZC5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfY3R4X3JlbWFpbmRlcl9uZWFyLCJcblwKLXJlbWFpbmRlcl9uZWFyKHgsIHkpIC0gUmV0dXJuIHggLSB5ICogbiwgd2hlcmUgbiBpcyB0aGUgaW50ZWdlciBuZWFyZXN0IHRoZVxuXAotZXhhY3QgdmFsdWUgb2YgeCAvIHkgKGlmIHRoZSByZXN1bHQgaXMgMCB0aGVuIGl0cyBzaWduIHdpbGwgYmUgdGhlIHNpZ24gb2YgeCkuXG5cCitQeURvY19TVFJWQVIoZG9jX2N0eF9yZW1haW5kZXJfbmVhciwKKyJyZW1haW5kZXJfbmVhcigkc2VsZiwgeCwgeSwgLylcbi0tXG5cblwKK1JldHVybiB4IC0geSAqIG4sIHdoZXJlIG4gaXMgdGhlIGludGVnZXIgbmVhcmVzdCB0aGUgZXhhY3QgdmFsdWUgb2YgeCAvIHlcblwKKyhpZiB0aGUgcmVzdWx0IGlzIDAgdGhlbiBpdHMgc2lnbiB3aWxsIGJlIHRoZSBzaWduIG9mIHgpLlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19jdHhfcm90YXRlLCJcblwKLXJvdGF0ZSh4LCB5KSAtIFJldHVybiBhIGNvcHkgb2YgeCwgcm90YXRlZCBieSB5IHBsYWNlcy5cblwKK1B5RG9jX1NUUlZBUihkb2NfY3R4X3JvdGF0ZSwKKyJyb3RhdGUoJHNlbGYsIHgsIHksIC8pXG4tLVxuXG5cCitSZXR1cm4gYSBjb3B5IG9mIHgsIHJvdGF0ZWQgYnkgeSBwbGFjZXMuXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX2N0eF9zYW1lX3F1YW50dW0sIlxuXAotc2FtZV9xdWFudHVtKHgsIHkpIC0gUmV0dXJuIFRydWUgaWYgdGhlIHR3byBvcGVyYW5kcyBoYXZlIHRoZSBzYW1lIGV4cG9uZW50LlxuXAorUHlEb2NfU1RSVkFSKGRvY19jdHhfc2FtZV9xdWFudHVtLAorInNhbWVfcXVhbnR1bSgkc2VsZiwgeCwgeSwgLylcbi0tXG5cblwKK1JldHVybiBUcnVlIGlmIHRoZSB0d28gb3BlcmFuZHMgaGF2ZSB0aGUgc2FtZSBleHBvbmVudC5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfY3R4X3NjYWxlYiwiXG5cCi1zY2FsZWIoeCwgeSkgLSBSZXR1cm4gdGhlIGZpcnN0IG9wZXJhbmQgYWZ0ZXIgYWRkaW5nIHRoZSBzZWNvbmQgdmFsdWVcblwKLXRvIGl0cyBleHAuXG5cCitQeURvY19TVFJWQVIoZG9jX2N0eF9zY2FsZWIsCisic2NhbGViKCRzZWxmLCB4LCB5LCAvKVxuLS1cblxuXAorUmV0dXJuIHRoZSBmaXJzdCBvcGVyYW5kIGFmdGVyIGFkZGluZyB0aGUgc2Vjb25kIHZhbHVlIHRvIGl0cyBleHAuXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX2N0eF9zaGlmdCwiXG5cCi1zaGlmdCh4LCB5KSAtIFJldHVybiBhIGNvcHkgb2YgeCwgc2hpZnRlZCBieSB5IHBsYWNlcy5cblwKK1B5RG9jX1NUUlZBUihkb2NfY3R4X3NoaWZ0LAorInNoaWZ0KCRzZWxmLCB4LCB5LCAvKVxuLS1cblxuXAorUmV0dXJuIGEgY29weSBvZiB4LCBzaGlmdGVkIGJ5IHkgcGxhY2VzLlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19jdHhfc3FydCwiXG5cCi1zcXJ0KHgpIC0gU3F1YXJlIHJvb3Qgb2YgYSBub24tbmVnYXRpdmUgbnVtYmVyIHRvIGNvbnRleHQgcHJlY2lzaW9uLlxuXAorUHlEb2NfU1RSVkFSKGRvY19jdHhfc3FydCwKKyJzcXJ0KCRzZWxmLCB4LCAvKVxuLS1cblxuXAorU3F1YXJlIHJvb3Qgb2YgYSBub24tbmVnYXRpdmUgbnVtYmVyIHRvIGNvbnRleHQgcHJlY2lzaW9uLlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19jdHhfc3VidHJhY3QsIlxuXAotc3VidHJhY3QoeCwgeSkgLSBSZXR1cm4gdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiB4IGFuZCB5LlxuXAorUHlEb2NfU1RSVkFSKGRvY19jdHhfc3VidHJhY3QsCisic3VidHJhY3QoJHNlbGYsIHgsIHksIC8pXG4tLVxuXG5cCitSZXR1cm4gdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiB4IGFuZCB5LlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19jdHhfdG9fZW5nX3N0cmluZywiXG5cCi10b19lbmdfc3RyaW5nKHgpIC0gQ29udmVydCBhIG51bWJlciB0byBhIHN0cmluZywgdXNpbmcgZW5naW5lZXJpbmcgbm90YXRpb24uXG5cCitQeURvY19TVFJWQVIoZG9jX2N0eF90b19lbmdfc3RyaW5nLAorInRvX2VuZ19zdHJpbmcoJHNlbGYsIHgsIC8pXG4tLVxuXG5cCitDb252ZXJ0IGEgbnVtYmVyIHRvIGEgc3RyaW5nLCB1c2luZyBlbmdpbmVlcmluZyBub3RhdGlvbi5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfY3R4X3RvX2ludGVncmFsLCJcblwKLXRvX2ludGVncmFsKHgpIC0gSWRlbnRpY2FsIHRvIHRvX2ludGVncmFsX3ZhbHVlKHgpLlxuXAorUHlEb2NfU1RSVkFSKGRvY19jdHhfdG9faW50ZWdyYWwsCisidG9faW50ZWdyYWwoJHNlbGYsIHgsIC8pXG4tLVxuXG5cCitJZGVudGljYWwgdG8gdG9faW50ZWdyYWxfdmFsdWUoeCkuXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX2N0eF90b19pbnRlZ3JhbF9leGFjdCwiXG5cCi10b19pbnRlZ3JhbF9leGFjdCh4KSAtIFJvdW5kIHRvIGFuIGludGVnZXIuIFNpZ25hbCBpZiB0aGUgcmVzdWx0IGlzXG5cCi1yb3VuZGVkIG9yIGluZXhhY3QuXG5cCitQeURvY19TVFJWQVIoZG9jX2N0eF90b19pbnRlZ3JhbF9leGFjdCwKKyJ0b19pbnRlZ3JhbF9leGFjdCgkc2VsZiwgeCwgLylcbi0tXG5cblwKK1JvdW5kIHRvIGFuIGludGVnZXIuIFNpZ25hbCBpZiB0aGUgcmVzdWx0IGlzIHJvdW5kZWQgb3IgaW5leGFjdC5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfY3R4X3RvX2ludGVncmFsX3ZhbHVlLCJcblwKLXRvX2ludGVncmFsX3ZhbHVlKHgpIC0gUm91bmQgdG8gYW4gaW50ZWdlci5cblwKK1B5RG9jX1NUUlZBUihkb2NfY3R4X3RvX2ludGVncmFsX3ZhbHVlLAorInRvX2ludGVncmFsX3ZhbHVlKCRzZWxmLCB4LCAvKVxuLS1cblxuXAorUm91bmQgdG8gYW4gaW50ZWdlci5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfY3R4X3RvX3NjaV9zdHJpbmcsIlxuXAotdG9fc2NpX3N0cmluZyh4KSAtIENvbnZlcnQgYSBudW1iZXIgdG8gYSBzdHJpbmcgdXNpbmcgc2NpZW50aWZpYyBub3RhdGlvbi5cblwKK1B5RG9jX1NUUlZBUihkb2NfY3R4X3RvX3NjaV9zdHJpbmcsCisidG9fc2NpX3N0cmluZygkc2VsZiwgeCwgLylcbi0tXG5cblwKK0NvbnZlcnQgYSBudW1iZXIgdG8gYSBzdHJpbmcgdXNpbmcgc2NpZW50aWZpYyBub3RhdGlvbi5cblwKIFxuIik7CiAKIApkaWZmIC0tZ2l0IGEvTW9kdWxlcy9fZGVjaW1hbC90ZXN0cy9kZWNjaGVjay5weSBiL01vZHVsZXMvX2RlY2ltYWwvdGVzdHMvZGVjY2hlY2sucHkKaW5kZXggYzRjNWE0NC4uODk0MzNjMCAxMDA2NDQKLS0tIGEvTW9kdWxlcy9fZGVjaW1hbC90ZXN0cy9kZWNjaGVjay5weQorKysgYi9Nb2R1bGVzL19kZWNpbWFsL3Rlc3RzL2RlY2NoZWNrLnB5CkBAIC0zNiw2ICszNiw3IEBACiBmcm9tIHJhbmRkZWMgaW1wb3J0IHJhbmRmbG9hdCwgYWxsX3VuYXJ5LCBhbGxfYmluYXJ5LCBhbGxfdGVybmFyeQogZnJvbSByYW5kZGVjIGltcG9ydCB1bmFyeV9vcHRhcmcsIGJpbmFyeV9vcHRhcmcsIHRlcm5hcnlfb3B0YXJnCiBmcm9tIGZvcm1hdGhlbHBlciBpbXBvcnQgcmFuZF9mb3JtYXQsIHJhbmRfbG9jYWxlCitmcm9tIF9weWRlY2ltYWwgaW1wb3J0IF9kZWNfZnJvbV90cmlwbGUKIAogQyA9IGltcG9ydF9mcmVzaF9tb2R1bGUoJ2RlY2ltYWwnLCBmcmVzaD1bJ19kZWNpbWFsJ10pCiBQID0gaW1wb3J0X2ZyZXNoX21vZHVsZSgnZGVjaW1hbCcsIGJsb2NrZWQ9WydfZGVjaW1hbCddKQpAQCAtMzcwLDcgKzM3MSw3IEBACiAgICAgICAgIHJldHVybiBhYnMoYSAtIGIpCiAKICAgICBkZWYgc3RhbmRhcmRfdWxwKHNlbGYsIGRlYywgcHJlYyk6Ci0gICAgICAgIHJldHVybiBQLl9kZWNfZnJvbV90cmlwbGUoMCwgJzEnLCBkZWMuX2V4cCtsZW4oZGVjLl9pbnQpLXByZWMpCisgICAgICAgIHJldHVybiBfZGVjX2Zyb21fdHJpcGxlKDAsICcxJywgZGVjLl9leHArbGVuKGRlYy5faW50KS1wcmVjKQogCiAgICAgZGVmIHJvdW5kaW5nX2RpcmVjdGlvbihzZWxmLCB4LCBtb2RlKToKICAgICAgICAgIiIiRGV0ZXJtaW5lIHRoZSBlZmZlY3RpdmUgZGlyZWN0aW9uIG9mIHRoZSByb3VuZGluZyB3aGVuCkBAIC00MDEsMTAgKzQwMiwxMCBAQAogICAgICAgICAjIENvbnZlcnQgaW5maW5pdGllcyB0byB0aGUgbGFyZ2VzdCByZXByZXNlbnRhYmxlIG51bWJlciArIDEuCiAgICAgICAgIHggPSBleGFjdAogICAgICAgICBpZiBleGFjdC5pc19pbmZpbml0ZSgpOgotICAgICAgICAgICAgeCA9IFAuX2RlY19mcm9tX3RyaXBsZShleGFjdC5fc2lnbiwgJzEwJywgY29udGV4dC5wLkVtYXgpCisgICAgICAgICAgICB4ID0gX2RlY19mcm9tX3RyaXBsZShleGFjdC5fc2lnbiwgJzEwJywgY29udGV4dC5wLkVtYXgpCiAgICAgICAgIHkgPSByb3VuZGVkCiAgICAgICAgIGlmIHJvdW5kZWQuaXNfaW5maW5pdGUoKToKLSAgICAgICAgICAgIHkgPSBQLl9kZWNfZnJvbV90cmlwbGUocm91bmRlZC5fc2lnbiwgJzEwJywgY29udGV4dC5wLkVtYXgpCisgICAgICAgICAgICB5ID0gX2RlY19mcm9tX3RyaXBsZShyb3VuZGVkLl9zaWduLCAnMTAnLCBjb250ZXh0LnAuRW1heCkKIAogICAgICAgICAjIGVyciA9IChyb3VuZGVkIC0gZXhhY3QpIC8gdWxwKHJvdW5kZWQpCiAgICAgICAgIHNlbGYubWF4Y3R4LnByZWMgPSBwICogMgpkaWZmIC0tZ2l0IGEvTW9kdWxlcy9fZWxlbWVudHRyZWUuYyBiL01vZHVsZXMvX2VsZW1lbnR0cmVlLmMKaW5kZXggYjNiNjk3Ni4uYmY0YmM0YSAxMDA2NDQKLS0tIGEvTW9kdWxlcy9fZWxlbWVudHRyZWUuYworKysgYi9Nb2R1bGVzL19lbGVtZW50dHJlZS5jCkBAIC0xMSw2ICsxMSw4IEBACiAgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgKi8KIAorI2RlZmluZSBQWV9TU0laRV9UX0NMRUFOCisKICNpbmNsdWRlICJQeXRob24uaCIKICNpbmNsdWRlICJzdHJ1Y3RtZW1iZXIuaCIKIApAQCAtMTg1LDggKzE4Nyw4IEBACiAgICAgUHlPYmplY3QqIGF0dHJpYjsKIAogICAgIC8qIGNoaWxkIGVsZW1lbnRzICovCi0gICAgaW50IGxlbmd0aDsgLyogYWN0dWFsIG51bWJlciBvZiBpdGVtcyAqLwotICAgIGludCBhbGxvY2F0ZWQ7IC8qIGFsbG9jYXRlZCBpdGVtcyAqLworICAgIFB5X3NzaXplX3QgbGVuZ3RoOyAvKiBhY3R1YWwgbnVtYmVyIG9mIGl0ZW1zICovCisgICAgUHlfc3NpemVfdCBhbGxvY2F0ZWQ7IC8qIGFsbG9jYXRlZCBpdGVtcyAqLwogCiAgICAgLyogdGhpcyBlaXRoZXIgcG9pbnRzIHRvIF9jaGlsZHJlbiBvciB0byBhIG1hbGxvY2VkIGJ1ZmZlciAqLwogICAgIFB5T2JqZWN0KiAqY2hpbGRyZW47CkBAIC0yNTEsNyArMjUzLDcgQEAKIGRlYWxsb2NfZXh0cmEoRWxlbWVudE9iamVjdCogc2VsZikKIHsKICAgICBFbGVtZW50T2JqZWN0RXh0cmEgKm15ZXh0cmE7Ci0gICAgaW50IGk7CisgICAgUHlfc3NpemVfdCBpOwogCiAgICAgaWYgKCFzZWxmLT5leHRyYSkKICAgICAgICAgcmV0dXJuOwpAQCAtNDI5LDkgKzQzMSw5IEBACiB9CiAKIExPQ0FMKGludCkKLWVsZW1lbnRfcmVzaXplKEVsZW1lbnRPYmplY3QqIHNlbGYsIGludCBleHRyYSkKK2VsZW1lbnRfcmVzaXplKEVsZW1lbnRPYmplY3QqIHNlbGYsIFB5X3NzaXplX3QgZXh0cmEpCiB7Ci0gICAgaW50IHNpemU7CisgICAgUHlfc3NpemVfdCBzaXplOwogICAgIFB5T2JqZWN0KiAqY2hpbGRyZW47CiAKICAgICAvKiBtYWtlIHN1cmUgc2VsZi0+Y2hpbGRyZW4gY2FuIGhvbGQgdGhlIGdpdmVuIG51bWJlciBvZiBleHRyYQpAQCAtNDQyLDcgKzQ0NCw3IEBACiAgICAgICAgICAgICByZXR1cm4gLTE7CiAgICAgfQogCi0gICAgc2l6ZSA9IHNlbGYtPmV4dHJhLT5sZW5ndGggKyBleHRyYTsKKyAgICBzaXplID0gc2VsZi0+ZXh0cmEtPmxlbmd0aCArIGV4dHJhOyAgLyogbmV2ZXIgb3ZlcmZsb3dzICovCiAKICAgICBpZiAoc2l6ZSA+IHNlbGYtPmV4dHJhLT5hbGxvY2F0ZWQpIHsKICAgICAgICAgLyogdXNlIFB5dGhvbiAyLjQncyBsaXN0IGdyb3d0aCBzdHJhdGVneSAqLwpAQCAtNDUzLDYgKzQ1NSw4IEBACiAgICAgICAgICAqIGJlIHNhZmUuCiAgICAgICAgICAqLwogICAgICAgICBzaXplID0gc2l6ZSA/IHNpemUgOiAxOworICAgICAgICBpZiAoKHNpemVfdClzaXplID4gUFlfU1NJWkVfVF9NQVgvc2l6ZW9mKFB5T2JqZWN0KikpCisgICAgICAgICAgICBnb3RvIG5vbWVtb3J5OwogICAgICAgICBpZiAoc2VsZi0+ZXh0cmEtPmNoaWxkcmVuICE9IHNlbGYtPmV4dHJhLT5fY2hpbGRyZW4pIHsKICAgICAgICAgICAgIC8qIENvdmVyaXR5IENJRCAjMTgyIHNpemVfZXJyb3I6IEFsbG9jYXRpbmcgMSBieXRlcyB0byBwb2ludGVyCiAgICAgICAgICAgICAgKiAiY2hpbGRyZW4iLCB3aGljaCBuZWVkcyBhdCBsZWFzdCA0IGJ5dGVzLiBBbHRob3VnaCBpdCdzIGEKQEAgLTYxMyw3ICs2MTcsNyBAQAogICAgIFB5X1ZJU0lUKEpPSU5fT0JKKHNlbGYtPnRhaWwpKTsKIAogICAgIGlmIChzZWxmLT5leHRyYSkgewotICAgICAgICBpbnQgaTsKKyAgICAgICAgUHlfc3NpemVfdCBpOwogICAgICAgICBQeV9WSVNJVChzZWxmLT5leHRyYS0+YXR0cmliKTsKIAogICAgICAgICBmb3IgKGkgPSAwOyBpIDwgc2VsZi0+ZXh0cmEtPmxlbmd0aDsgKytpKQpAQCAtNjg5LDcgKzY5Myw3IEBACiBzdGF0aWMgUHlPYmplY3QqCiBlbGVtZW50X2NvcHkoRWxlbWVudE9iamVjdCogc2VsZiwgUHlPYmplY3QqIGFyZ3MpCiB7Ci0gICAgaW50IGk7CisgICAgUHlfc3NpemVfdCBpOwogICAgIEVsZW1lbnRPYmplY3QqIGVsZW1lbnQ7CiAKICAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIjpfX2NvcHlfXyIpKQpAQCAtNzI4LDcgKzczMiw3IEBACiBzdGF0aWMgUHlPYmplY3QqCiBlbGVtZW50X2RlZXBjb3B5KEVsZW1lbnRPYmplY3QqIHNlbGYsIFB5T2JqZWN0KiBhcmdzKQogewotICAgIGludCBpOworICAgIFB5X3NzaXplX3QgaTsKICAgICBFbGVtZW50T2JqZWN0KiBlbGVtZW50OwogICAgIFB5T2JqZWN0KiB0YWc7CiAgICAgUHlPYmplY3QqIGF0dHJpYjsKQEAgLTgzOSw3ICs4NDMsNyBAQAogc3RhdGljIFB5T2JqZWN0ICoKIGVsZW1lbnRfZ2V0c3RhdGUoRWxlbWVudE9iamVjdCAqc2VsZikKIHsKLSAgICBpbnQgaSwgbm9hdHRyaWI7CisgICAgUHlfc3NpemVfdCBpLCBub2F0dHJpYjsKICAgICBQeU9iamVjdCAqaW5zdGFuY2VkaWN0ID0gTlVMTCwgKmNoaWxkcmVuOwogCiAgICAgLyogQnVpbGQgYSBsaXN0IG9mIGNoaWxkcmVuLiAqLwpAQCAtMTA3Nyw3ICsxMDgxLDcgQEAKIHN0YXRpYyBQeU9iamVjdCoKIGVsZW1lbnRfZmluZChFbGVtZW50T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3ZHMpCiB7Ci0gICAgaW50IGk7CisgICAgUHlfc3NpemVfdCBpOwogICAgIFB5T2JqZWN0KiB0YWc7CiAgICAgUHlPYmplY3QqIG5hbWVzcGFjZXMgPSBQeV9Ob25lOwogICAgIHN0YXRpYyBjaGFyICprd2xpc3RbXSA9IHsicGF0aCIsICJuYW1lc3BhY2VzIiwgMH07CkBAIC0xMTEyLDcgKzExMTYsNyBAQAogc3RhdGljIFB5T2JqZWN0KgogZWxlbWVudF9maW5kdGV4dChFbGVtZW50T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3ZHMpCiB7Ci0gICAgaW50IGk7CisgICAgUHlfc3NpemVfdCBpOwogICAgIFB5T2JqZWN0KiB0YWc7CiAgICAgUHlPYmplY3QqIGRlZmF1bHRfdmFsdWUgPSBQeV9Ob25lOwogICAgIFB5T2JqZWN0KiBuYW1lc3BhY2VzID0gUHlfTm9uZTsKQEAgLTExNTMsNyArMTE1Nyw3IEBACiBzdGF0aWMgUHlPYmplY3QqCiBlbGVtZW50X2ZpbmRhbGwoRWxlbWVudE9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2RzKQogewotICAgIGludCBpOworICAgIFB5X3NzaXplX3QgaTsKICAgICBQeU9iamVjdCogb3V0OwogICAgIFB5T2JqZWN0KiB0YWc7CiAgICAgUHlPYmplY3QqIG5hbWVzcGFjZXMgPSBQeV9Ob25lOwpAQCAtMTIzOCw3ICsxMjQyLDcgQEAKIHN0YXRpYyBQeU9iamVjdCoKIGVsZW1lbnRfZ2V0Y2hpbGRyZW4oRWxlbWVudE9iamVjdCogc2VsZiwgUHlPYmplY3QqIGFyZ3MpCiB7Ci0gICAgaW50IGk7CisgICAgUHlfc3NpemVfdCBpOwogICAgIFB5T2JqZWN0KiBsaXN0OwogCiAgICAgLyogRklYTUU6IHJlcG9ydCBhcyBkZXByZWNhdGVkPyAqLwpAQCAtMTMxMCwxMSArMTMxNCw5IEBACiBzdGF0aWMgUHlPYmplY3QqCiBlbGVtZW50X2luc2VydChFbGVtZW50T2JqZWN0KiBzZWxmLCBQeU9iamVjdCogYXJncykKIHsKLSAgICBpbnQgaTsKLQotICAgIGludCBpbmRleDsKKyAgICBQeV9zc2l6ZV90IGluZGV4LCBpOwogICAgIFB5T2JqZWN0KiBlbGVtZW50OwotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiaU8hOmluc2VydCIsICZpbmRleCwKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIm5PITppbnNlcnQiLCAmaW5kZXgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICZFbGVtZW50X1R5cGUsICZlbGVtZW50KSkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAKQEAgLTE0MDIsNyArMTQwNCw3IEBACiBzdGF0aWMgUHlPYmplY3QqCiBlbGVtZW50X3JlbW92ZShFbGVtZW50T2JqZWN0KiBzZWxmLCBQeU9iamVjdCogYXJncykKIHsKLSAgICBpbnQgaTsKKyAgICBQeV9zc2l6ZV90IGk7CiAKICAgICBQeU9iamVjdCogZWxlbWVudDsKICAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIk8hOnJlbW92ZSIsICZFbGVtZW50X1R5cGUsICZlbGVtZW50KSkKQEAgLTE0ODEsNyArMTQ4Myw3IEBACiBlbGVtZW50X3NldGl0ZW0oUHlPYmplY3QqIHNlbGZfLCBQeV9zc2l6ZV90IGluZGV4LCBQeU9iamVjdCogaXRlbSkKIHsKICAgICBFbGVtZW50T2JqZWN0KiBzZWxmID0gKEVsZW1lbnRPYmplY3QqKSBzZWxmXzsKLSAgICBpbnQgaTsKKyAgICBQeV9zc2l6ZV90IGk7CiAgICAgUHlPYmplY3QqIG9sZDsKIAogICAgIGlmICghc2VsZi0+ZXh0cmEgfHwgaW5kZXggPCAwIHx8IGluZGV4ID49IHNlbGYtPmV4dHJhLT5sZW5ndGgpIHsKQEAgLTI4MTksMTIgKzI4MjEsMTMgQEAKICAqIG1lc3NhZ2Ugc3RyaW5nIGlzIHRoZSBkZWZhdWx0IGZvciB0aGUgZ2l2ZW4gZXJyb3JfY29kZS4KICovCiBzdGF0aWMgdm9pZAotZXhwYXRfc2V0X2Vycm9yKGVudW0gWE1MX0Vycm9yIGVycm9yX2NvZGUsIGludCBsaW5lLCBpbnQgY29sdW1uLCBjaGFyICptZXNzYWdlKQorZXhwYXRfc2V0X2Vycm9yKGVudW0gWE1MX0Vycm9yIGVycm9yX2NvZGUsIFB5X3NzaXplX3QgbGluZSwgUHlfc3NpemVfdCBjb2x1bW4sCisgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqbWVzc2FnZSkKIHsKICAgICBQeU9iamVjdCAqZXJybXNnLCAqZXJyb3IsICpwb3NpdGlvbiwgKmNvZGU7CiAgICAgZWxlbWVudHRyZWVzdGF0ZSAqc3QgPSBFVF9TVEFURV9HTE9CQUw7CiAKLSAgICBlcnJtc2cgPSBQeVVuaWNvZGVfRnJvbUZvcm1hdCgiJXM6IGxpbmUgJWQsIGNvbHVtbiAlZCIsCisgICAgZXJybXNnID0gUHlVbmljb2RlX0Zyb21Gb3JtYXQoIiVzOiBsaW5lICV6ZCwgY29sdW1uICV6ZCIsCiAgICAgICAgICAgICAgICAgbWVzc2FnZSA/IG1lc3NhZ2UgOiBFWFBBVChFcnJvclN0cmluZykoZXJyb3JfY29kZSksCiAgICAgICAgICAgICAgICAgbGluZSwgY29sdW1uKTsKICAgICBpZiAoZXJybXNnID09IE5VTEwpCkBAIC0yODQ4LDcgKzI4NTEsNyBAQAogICAgIH0KICAgICBQeV9ERUNSRUYoY29kZSk7CiAKLSAgICBwb3NpdGlvbiA9IFB5X0J1aWxkVmFsdWUoIihpaSkiLCBsaW5lLCBjb2x1bW4pOworICAgIHBvc2l0aW9uID0gUHlfQnVpbGRWYWx1ZSgiKG5uKSIsIGxpbmUsIGNvbHVtbik7CiAgICAgaWYgKCFwb3NpdGlvbikgewogICAgICAgICBQeV9ERUNSRUYoZXJyb3IpOwogICAgICAgICByZXR1cm47CkBAIC0zNDc3LDggKzM0ODAsMTQgQEAKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAKKyAgICAgICAgaWYgKFB5Qnl0ZXNfR0VUX1NJWkUoYnVmZmVyKSA+IElOVF9NQVgpIHsKKyAgICAgICAgICAgIFB5X0RFQ1JFRihidWZmZXIpOworICAgICAgICAgICAgUHlfREVDUkVGKHJlYWRlcik7CisgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfT3ZlcmZsb3dFcnJvciwgInNpemUgZG9lcyBub3QgZml0IGluIGFuIGludCIpOworICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgIH0KICAgICAgICAgcmVzID0gZXhwYXRfcGFyc2UoCi0gICAgICAgICAgICBzZWxmLCBQeUJ5dGVzX0FTX1NUUklORyhidWZmZXIpLCBQeUJ5dGVzX0dFVF9TSVpFKGJ1ZmZlciksIDAKKyAgICAgICAgICAgIHNlbGYsIFB5Qnl0ZXNfQVNfU1RSSU5HKGJ1ZmZlciksIChpbnQpUHlCeXRlc19HRVRfU0laRShidWZmZXIpLCAwCiAgICAgICAgICAgICApOwogCiAgICAgICAgIFB5X0RFQ1JFRihidWZmZXIpOwpAQCAtMzc0MSw3ICszNzUwLDcgQEAKICAgICBpZiAoZXhwYXRfY2FwaSkgewogICAgICAgICAvKiBjaGVjayB0aGF0IGl0J3MgdXNhYmxlICovCiAgICAgICAgIGlmIChzdHJjbXAoZXhwYXRfY2FwaS0+bWFnaWMsIFB5RXhwYXRfQ0FQSV9NQUdJQykgIT0gMCB8fAotICAgICAgICAgICAgZXhwYXRfY2FwaS0+c2l6ZSA8IHNpemVvZihzdHJ1Y3QgUHlFeHBhdF9DQVBJKSB8fAorICAgICAgICAgICAgKHNpemVfdClleHBhdF9jYXBpLT5zaXplIDwgc2l6ZW9mKHN0cnVjdCBQeUV4cGF0X0NBUEkpIHx8CiAgICAgICAgICAgICBleHBhdF9jYXBpLT5NQUpPUl9WRVJTSU9OICE9IFhNTF9NQUpPUl9WRVJTSU9OIHx8CiAgICAgICAgICAgICBleHBhdF9jYXBpLT5NSU5PUl9WRVJTSU9OICE9IFhNTF9NSU5PUl9WRVJTSU9OIHx8CiAgICAgICAgICAgICBleHBhdF9jYXBpLT5NSUNST19WRVJTSU9OICE9IFhNTF9NSUNST19WRVJTSU9OKSB7CmRpZmYgLS1naXQgYS9Nb2R1bGVzL19mdW5jdG9vbHNtb2R1bGUuYyBiL01vZHVsZXMvX2Z1bmN0b29sc21vZHVsZS5jCmluZGV4IDU3ZGZiYTAuLjM0MTNiMTIgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvX2Z1bmN0b29sc21vZHVsZS5jCisrKyBiL01vZHVsZXMvX2Z1bmN0b29sc21vZHVsZS5jCkBAIC0yNSw3ICsyNSw3IEBACiBzdGF0aWMgUHlPYmplY3QgKgogcGFydGlhbF9uZXcoUHlUeXBlT2JqZWN0ICp0eXBlLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3KQogewotICAgIFB5T2JqZWN0ICpmdW5jOworICAgIFB5T2JqZWN0ICpmdW5jLCAqcGFyZ3MsICpuYXJncywgKnBrdzsKICAgICBwYXJ0aWFsb2JqZWN0ICpwdG87CiAKICAgICBpZiAoUHlUdXBsZV9HRVRfU0laRShhcmdzKSA8IDEpIHsKQEAgLTM0LDcgKzM0LDE2IEBACiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KIAorICAgIHBhcmdzID0gcGt3ID0gUHlfTm9uZTsKICAgICBmdW5jID0gUHlUdXBsZV9HRVRfSVRFTShhcmdzLCAwKTsKKyAgICBpZiAoUHlfVFlQRShmdW5jKSA9PSAmcGFydGlhbF90eXBlICYmIHR5cGUgPT0gJnBhcnRpYWxfdHlwZSkgeworICAgICAgICBwYXJ0aWFsb2JqZWN0ICpwYXJ0ID0gKHBhcnRpYWxvYmplY3QgKilmdW5jOworICAgICAgICBpZiAocGFydC0+ZGljdCA9PSBOVUxMKSB7CisgICAgICAgICAgICBwYXJncyA9IHBhcnQtPmFyZ3M7CisgICAgICAgICAgICBwa3cgPSBwYXJ0LT5rdzsKKyAgICAgICAgICAgIGZ1bmMgPSBwYXJ0LT5mbjsKKyAgICAgICAgfQorICAgIH0KICAgICBpZiAoIVB5Q2FsbGFibGVfQ2hlY2soZnVuYykpIHsKICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwKICAgICAgICAgICAgICAgICAgICAgICAgICJ0aGUgZmlyc3QgYXJndW1lbnQgbXVzdCBiZSBjYWxsYWJsZSIpOwpAQCAtNDgsMjEgKzU3LDUzIEBACiAKICAgICBwdG8tPmZuID0gZnVuYzsKICAgICBQeV9JTkNSRUYoZnVuYyk7Ci0gICAgcHRvLT5hcmdzID0gUHlUdXBsZV9HZXRTbGljZShhcmdzLCAxLCBQWV9TU0laRV9UX01BWCk7Ci0gICAgaWYgKHB0by0+YXJncyA9PSBOVUxMKSB7CisKKyAgICBuYXJncyA9IFB5VHVwbGVfR2V0U2xpY2UoYXJncywgMSwgUFlfU1NJWkVfVF9NQVgpOworICAgIGlmIChuYXJncyA9PSBOVUxMKSB7CisgICAgICAgIHB0by0+YXJncyA9IE5VTEw7CiAgICAgICAgIHB0by0+a3cgPSBOVUxMOwogICAgICAgICBQeV9ERUNSRUYocHRvKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQorICAgIGlmIChwYXJncyA9PSBQeV9Ob25lIHx8IFB5VHVwbGVfR0VUX1NJWkUocGFyZ3MpID09IDApIHsKKyAgICAgICAgcHRvLT5hcmdzID0gbmFyZ3M7CisgICAgICAgIFB5X0lOQ1JFRihuYXJncyk7CisgICAgfQorICAgIGVsc2UgaWYgKFB5VHVwbGVfR0VUX1NJWkUobmFyZ3MpID09IDApIHsKKyAgICAgICAgcHRvLT5hcmdzID0gcGFyZ3M7CisgICAgICAgIFB5X0lOQ1JFRihwYXJncyk7CisgICAgfQorICAgIGVsc2UgeworICAgICAgICBwdG8tPmFyZ3MgPSBQeVNlcXVlbmNlX0NvbmNhdChwYXJncywgbmFyZ3MpOworICAgICAgICBpZiAocHRvLT5hcmdzID09IE5VTEwpIHsKKyAgICAgICAgICAgIHB0by0+a3cgPSBOVUxMOworICAgICAgICAgICAgUHlfREVDUkVGKHB0byk7CisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgfQorICAgIH0KKyAgICBQeV9ERUNSRUYobmFyZ3MpOworCiAgICAgaWYgKGt3ICE9IE5VTEwpIHsKLSAgICAgICAgcHRvLT5rdyA9IFB5RGljdF9Db3B5KGt3KTsKKyAgICAgICAgaWYgKHBrdyA9PSBQeV9Ob25lKSB7CisgICAgICAgICAgICBwdG8tPmt3ID0gUHlEaWN0X0NvcHkoa3cpOworICAgICAgICB9CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgcHRvLT5rdyA9IFB5RGljdF9Db3B5KHBrdyk7CisgICAgICAgICAgICBpZiAocHRvLT5rdyAhPSBOVUxMKSB7CisgICAgICAgICAgICAgICAgaWYgKFB5RGljdF9NZXJnZShwdG8tPmt3LCBrdywgMSkgIT0gMCkgeworICAgICAgICAgICAgICAgICAgICBQeV9ERUNSRUYocHRvKTsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICB9CiAgICAgICAgIGlmIChwdG8tPmt3ID09IE5VTEwpIHsKICAgICAgICAgICAgIFB5X0RFQ1JFRihwdG8pOwogICAgICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgICAgIH0KLSAgICB9IGVsc2UgewotICAgICAgICBwdG8tPmt3ID0gUHlfTm9uZTsKLSAgICAgICAgUHlfSU5DUkVGKFB5X05vbmUpOworICAgIH0KKyAgICBlbHNlIHsKKyAgICAgICAgcHRvLT5rdyA9IHBrdzsKKyAgICAgICAgUHlfSU5DUkVGKHBrdyk7CiAgICAgfQogCiAgICAgcHRvLT53ZWFrcmVmbGlzdCA9IE5VTEw7CmRpZmYgLS1naXQgYS9Nb2R1bGVzL19oYXNob3BlbnNzbC5jIGIvTW9kdWxlcy9faGFzaG9wZW5zc2wuYwppbmRleCA2YTJhOWFmLi4xNTY2YjE4IDEwMDY0NAotLS0gYS9Nb2R1bGVzL19oYXNob3BlbnNzbC5jCisrKyBiL01vZHVsZXMvX2hhc2hvcGVuc3NsLmMKQEAgLTMxLDEwICszMSw2IEBACiAjZGVmaW5lIEhBU0hfT0JKX0NPTlNUUlVDVE9SIDAKICNlbmRpZgogCi0vKiBNaW5pbXVtIE9wZW5TU0wgdmVyc2lvbiBuZWVkZWQgdG8gc3VwcG9ydCBzaGEyMjQgYW5kIGhpZ2hlci4gKi8KLSNpZiBkZWZpbmVkKE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIpICYmIChPUEVOU1NMX1ZFUlNJT05fTlVNQkVSID49IDB4MDA5MDgwMDApCi0jZGVmaW5lIF9PUEVOU1NMX1NVUFBPUlRTX1NIQTIKLSNlbmRpZgogCiB0eXBlZGVmIHN0cnVjdCB7CiAgICAgUHlPYmplY3RfSEVBRApAQCAtNTYsMTIgKzUyLDEwIEBACiAKIERFRklORV9DT05TVFNfRk9SX05FVyhtZDUpCiBERUZJTkVfQ09OU1RTX0ZPUl9ORVcoc2hhMSkKLSNpZmRlZiBfT1BFTlNTTF9TVVBQT1JUU19TSEEyCiBERUZJTkVfQ09OU1RTX0ZPUl9ORVcoc2hhMjI0KQogREVGSU5FX0NPTlNUU19GT1JfTkVXKHNoYTI1NikKIERFRklORV9DT05TVFNfRk9SX05FVyhzaGEzODQpCiBERUZJTkVfQ09OU1RTX0ZPUl9ORVcoc2hhNTEyKQotI2VuZGlmCiAKIAogc3RhdGljIEVWUG9iamVjdCAqCkBAIC03OTgsMTIgKzc5MiwxMCBAQAogCiBHRU5fQ09OU1RSVUNUT1IobWQ1KQogR0VOX0NPTlNUUlVDVE9SKHNoYTEpCi0jaWZkZWYgX09QRU5TU0xfU1VQUE9SVFNfU0hBMgogR0VOX0NPTlNUUlVDVE9SKHNoYTIyNCkKIEdFTl9DT05TVFJVQ1RPUihzaGEyNTYpCiBHRU5fQ09OU1RSVUNUT1Ioc2hhMzg0KQogR0VOX0NPTlNUUlVDVE9SKHNoYTUxMikKLSNlbmRpZgogCiAvKiBMaXN0IG9mIGZ1bmN0aW9ucyBleHBvcnRlZCBieSB0aGlzIG1vZHVsZSAqLwogCkBAIC04MTUsMTIgKzgwNywxMCBAQAogI2VuZGlmCiAgICAgQ09OU1RSVUNUT1JfTUVUSF9ERUYobWQ1KSwKICAgICBDT05TVFJVQ1RPUl9NRVRIX0RFRihzaGExKSwKLSNpZmRlZiBfT1BFTlNTTF9TVVBQT1JUU19TSEEyCiAgICAgQ09OU1RSVUNUT1JfTUVUSF9ERUYoc2hhMjI0KSwKICAgICBDT05TVFJVQ1RPUl9NRVRIX0RFRihzaGEyNTYpLAogICAgIENPTlNUUlVDVE9SX01FVEhfREVGKHNoYTM4NCksCiAgICAgQ09OU1RSVUNUT1JfTUVUSF9ERUYoc2hhNTEyKSwKLSNlbmRpZgogICAgIHtOVUxMLCAgICAgIE5VTEx9ICAgICAgICAgICAgLyogU2VudGluZWwgKi8KIH07CiAKQEAgLTg3NywxMSArODY3LDkgQEAKICAgICAvKiB0aGVzZSBjb25zdGFudHMgYXJlIHVzZWQgYnkgdGhlIGNvbnZlbmllbmNlIGNvbnN0cnVjdG9ycyAqLwogICAgIElOSVRfQ09OU1RSVUNUT1JfQ09OU1RBTlRTKG1kNSk7CiAgICAgSU5JVF9DT05TVFJVQ1RPUl9DT05TVEFOVFMoc2hhMSk7Ci0jaWZkZWYgX09QRU5TU0xfU1VQUE9SVFNfU0hBMgogICAgIElOSVRfQ09OU1RSVUNUT1JfQ09OU1RBTlRTKHNoYTIyNCk7CiAgICAgSU5JVF9DT05TVFJVQ1RPUl9DT05TVEFOVFMoc2hhMjU2KTsKICAgICBJTklUX0NPTlNUUlVDVE9SX0NPTlNUQU5UUyhzaGEzODQpOwogICAgIElOSVRfQ09OU1RSVUNUT1JfQ09OU1RBTlRTKHNoYTUxMik7Ci0jZW5kaWYKICAgICByZXR1cm4gbTsKIH0KZGlmZiAtLWdpdCBhL01vZHVsZXMvX2hlYXBxbW9kdWxlLmMgYi9Nb2R1bGVzL19oZWFwcW1vZHVsZS5jCmluZGV4IGVlZTU2YTAuLjQzNzJhZDQgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvX2hlYXBxbW9kdWxlLmMKKysrIGIvTW9kdWxlcy9faGVhcHFtb2R1bGUuYwpAQCAtOSwxMiArOSwxMSBAQAogI2luY2x1ZGUgIlB5dGhvbi5oIgogCiBzdGF0aWMgaW50Ci1fc2lmdGRvd24oUHlMaXN0T2JqZWN0ICpoZWFwLCBQeV9zc2l6ZV90IHN0YXJ0cG9zLCBQeV9zc2l6ZV90IHBvcykKK3NpZnRkb3duKFB5TGlzdE9iamVjdCAqaGVhcCwgUHlfc3NpemVfdCBzdGFydHBvcywgUHlfc3NpemVfdCBwb3MpCiB7Ci0gICAgUHlPYmplY3QgKm5ld2l0ZW0sICpwYXJlbnQsICpvbGRpdGVtOworICAgIFB5T2JqZWN0ICpuZXdpdGVtLCAqcGFyZW50OworICAgIFB5X3NzaXplX3QgcGFyZW50cG9zLCBzaXplOwogICAgIGludCBjbXA7Ci0gICAgUHlfc3NpemVfdCBwYXJlbnRwb3M7Ci0gICAgUHlfc3NpemVfdCBzaXplOwogCiAgICAgYXNzZXJ0KFB5TGlzdF9DaGVjayhoZWFwKSk7CiAgICAgc2l6ZSA9IFB5TGlzdF9HRVRfU0laRShoZWFwKTsKQEAgLTIzLDYwICsyMiw0NSBAQAogICAgICAgICByZXR1cm4gLTE7CiAgICAgfQogCi0gICAgbmV3aXRlbSA9IFB5TGlzdF9HRVRfSVRFTShoZWFwLCBwb3MpOwotICAgIFB5X0lOQ1JFRihuZXdpdGVtKTsKICAgICAvKiBGb2xsb3cgdGhlIHBhdGggdG8gdGhlIHJvb3QsIG1vdmluZyBwYXJlbnRzIGRvd24gdW50aWwgZmluZGluZwogICAgICAgIGEgcGxhY2UgbmV3aXRlbSBmaXRzLiAqLwotICAgIHdoaWxlIChwb3MgPiBzdGFydHBvcyl7CisgICAgbmV3aXRlbSA9IFB5TGlzdF9HRVRfSVRFTShoZWFwLCBwb3MpOworICAgIHdoaWxlIChwb3MgPiBzdGFydHBvcykgewogICAgICAgICBwYXJlbnRwb3MgPSAocG9zIC0gMSkgPj4gMTsKICAgICAgICAgcGFyZW50ID0gUHlMaXN0X0dFVF9JVEVNKGhlYXAsIHBhcmVudHBvcyk7CiAgICAgICAgIGNtcCA9IFB5T2JqZWN0X1JpY2hDb21wYXJlQm9vbChuZXdpdGVtLCBwYXJlbnQsIFB5X0xUKTsKLSAgICAgICAgaWYgKGNtcCA9PSAtMSkgewotICAgICAgICAgICAgUHlfREVDUkVGKG5ld2l0ZW0pOworICAgICAgICBpZiAoY21wID09IC0xKQogICAgICAgICAgICAgcmV0dXJuIC0xOwotICAgICAgICB9CiAgICAgICAgIGlmIChzaXplICE9IFB5TGlzdF9HRVRfU0laRShoZWFwKSkgewotICAgICAgICAgICAgUHlfREVDUkVGKG5ld2l0ZW0pOwogICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1J1bnRpbWVFcnJvciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGlzdCBjaGFuZ2VkIHNpemUgZHVyaW5nIGl0ZXJhdGlvbiIpOwogICAgICAgICAgICAgcmV0dXJuIC0xOwogICAgICAgICB9CiAgICAgICAgIGlmIChjbXAgPT0gMCkKICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBQeV9JTkNSRUYocGFyZW50KTsKLSAgICAgICAgb2xkaXRlbSA9IFB5TGlzdF9HRVRfSVRFTShoZWFwLCBwb3MpOworICAgICAgICBwYXJlbnQgPSBQeUxpc3RfR0VUX0lURU0oaGVhcCwgcGFyZW50cG9zKTsKKyAgICAgICAgbmV3aXRlbSA9IFB5TGlzdF9HRVRfSVRFTShoZWFwLCBwb3MpOworICAgICAgICBQeUxpc3RfU0VUX0lURU0oaGVhcCwgcGFyZW50cG9zLCBuZXdpdGVtKTsKICAgICAgICAgUHlMaXN0X1NFVF9JVEVNKGhlYXAsIHBvcywgcGFyZW50KTsKLSAgICAgICAgUHlfREVDUkVGKG9sZGl0ZW0pOwogICAgICAgICBwb3MgPSBwYXJlbnRwb3M7Ci0gICAgICAgIGlmIChzaXplICE9IFB5TGlzdF9HRVRfU0laRShoZWFwKSkgewotICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1J1bnRpbWVFcnJvciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGlzdCBjaGFuZ2VkIHNpemUgZHVyaW5nIGl0ZXJhdGlvbiIpOwotICAgICAgICAgICAgcmV0dXJuIC0xOwotICAgICAgICB9CiAgICAgfQotICAgIFB5X0RFQ1JFRihQeUxpc3RfR0VUX0lURU0oaGVhcCwgcG9zKSk7Ci0gICAgUHlMaXN0X1NFVF9JVEVNKGhlYXAsIHBvcywgbmV3aXRlbSk7CiAgICAgcmV0dXJuIDA7CiB9CiAKIHN0YXRpYyBpbnQKLV9zaWZ0dXAoUHlMaXN0T2JqZWN0ICpoZWFwLCBQeV9zc2l6ZV90IHBvcykKK3NpZnR1cChQeUxpc3RPYmplY3QgKmhlYXAsIFB5X3NzaXplX3QgcG9zKQogewogICAgIFB5X3NzaXplX3Qgc3RhcnRwb3MsIGVuZHBvcywgY2hpbGRwb3MsIHJpZ2h0cG9zLCBsaW1pdDsKKyAgICBQeU9iamVjdCAqdG1wMSwgKnRtcDI7CiAgICAgaW50IGNtcDsKLSAgICBQeU9iamVjdCAqbmV3aXRlbSwgKnRtcCwgKm9sZGl0ZW07Ci0gICAgUHlfc3NpemVfdCBzaXplOwogCiAgICAgYXNzZXJ0KFB5TGlzdF9DaGVjayhoZWFwKSk7Ci0gICAgc2l6ZSA9IFB5TGlzdF9HRVRfU0laRShoZWFwKTsKLSAgICBlbmRwb3MgPSBzaXplOworICAgIGVuZHBvcyA9IFB5TGlzdF9HRVRfU0laRShoZWFwKTsKICAgICBzdGFydHBvcyA9IHBvczsKICAgICBpZiAocG9zID49IGVuZHBvcykgewogICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfSW5kZXhFcnJvciwgImluZGV4IG91dCBvZiByYW5nZSIpOwogICAgICAgICByZXR1cm4gLTE7CiAgICAgfQotICAgIG5ld2l0ZW0gPSBQeUxpc3RfR0VUX0lURU0oaGVhcCwgcG9zKTsKLSAgICBQeV9JTkNSRUYobmV3aXRlbSk7CiAKICAgICAvKiBCdWJibGUgdXAgdGhlIHNtYWxsZXIgY2hpbGQgdW50aWwgaGl0dGluZyBhIGxlYWYuICovCiAgICAgbGltaXQgPSBlbmRwb3MgLyAyOyAgICAgICAgICAvKiBzbWFsbGVzdCBwb3MgdGhhdCBoYXMgbm8gY2hpbGQgKi8KQEAgLTg5LDM4ICs3MywyNSBAQAogICAgICAgICAgICAgICAgIFB5TGlzdF9HRVRfSVRFTShoZWFwLCBjaGlsZHBvcyksCiAgICAgICAgICAgICAgICAgUHlMaXN0X0dFVF9JVEVNKGhlYXAsIHJpZ2h0cG9zKSwKICAgICAgICAgICAgICAgICBQeV9MVCk7Ci0gICAgICAgICAgICBpZiAoY21wID09IC0xKSB7Ci0gICAgICAgICAgICAgICAgUHlfREVDUkVGKG5ld2l0ZW0pOworICAgICAgICAgICAgaWYgKGNtcCA9PSAtMSkKICAgICAgICAgICAgICAgICByZXR1cm4gLTE7Ci0gICAgICAgICAgICB9CiAgICAgICAgICAgICBpZiAoY21wID09IDApCiAgICAgICAgICAgICAgICAgY2hpbGRwb3MgPSByaWdodHBvczsKLSAgICAgICAgfQotICAgICAgICBpZiAoc2l6ZSAhPSBQeUxpc3RfR0VUX1NJWkUoaGVhcCkpIHsKLSAgICAgICAgICAgIFB5X0RFQ1JFRihuZXdpdGVtKTsKLSAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19SdW50aW1lRXJyb3IsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpc3QgY2hhbmdlZCBzaXplIGR1cmluZyBpdGVyYXRpb24iKTsKLSAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgICAgIGlmIChlbmRwb3MgIT0gUHlMaXN0X0dFVF9TSVpFKGhlYXApKSB7CisgICAgICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1J1bnRpbWVFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpc3QgY2hhbmdlZCBzaXplIGR1cmluZyBpdGVyYXRpb24iKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICAgICAgLyogTW92ZSB0aGUgc21hbGxlciBjaGlsZCB1cC4gKi8KLSAgICAgICAgdG1wID0gUHlMaXN0X0dFVF9JVEVNKGhlYXAsIGNoaWxkcG9zKTsKLSAgICAgICAgUHlfSU5DUkVGKHRtcCk7Ci0gICAgICAgIG9sZGl0ZW0gPSBQeUxpc3RfR0VUX0lURU0oaGVhcCwgcG9zKTsKLSAgICAgICAgUHlMaXN0X1NFVF9JVEVNKGhlYXAsIHBvcywgdG1wKTsKLSAgICAgICAgUHlfREVDUkVGKG9sZGl0ZW0pOworICAgICAgICB0bXAxID0gUHlMaXN0X0dFVF9JVEVNKGhlYXAsIGNoaWxkcG9zKTsKKyAgICAgICAgdG1wMiA9IFB5TGlzdF9HRVRfSVRFTShoZWFwLCBwb3MpOworICAgICAgICBQeUxpc3RfU0VUX0lURU0oaGVhcCwgY2hpbGRwb3MsIHRtcDIpOworICAgICAgICBQeUxpc3RfU0VUX0lURU0oaGVhcCwgcG9zLCB0bXAxKTsKICAgICAgICAgcG9zID0gY2hpbGRwb3M7Ci0gICAgICAgIGlmIChzaXplICE9IFB5TGlzdF9HRVRfU0laRShoZWFwKSkgewotICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1J1bnRpbWVFcnJvciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGlzdCBjaGFuZ2VkIHNpemUgZHVyaW5nIGl0ZXJhdGlvbiIpOwotICAgICAgICAgICAgcmV0dXJuIC0xOwotICAgICAgICB9CiAgICAgfQotCi0gICAgLyogVGhlIGxlYWYgYXQgcG9zIGlzIGVtcHR5IG5vdy4gIFB1dCBuZXdpdGVtIHRoZXJlLCBhbmQgYnViYmxlCi0gICAgICAgaXQgdXAgdG8gaXRzIGZpbmFsIHJlc3RpbmcgcGxhY2UgKGJ5IHNpZnRpbmcgaXRzIHBhcmVudHMgZG93bikuICovCi0gICAgUHlfREVDUkVGKFB5TGlzdF9HRVRfSVRFTShoZWFwLCBwb3MpKTsKLSAgICBQeUxpc3RfU0VUX0lURU0oaGVhcCwgcG9zLCBuZXdpdGVtKTsKLSAgICByZXR1cm4gX3NpZnRkb3duKGhlYXAsIHN0YXJ0cG9zLCBwb3MpOworICAgIC8qIEJ1YmJsZSBpdCB1cCB0byBpdHMgZmluYWwgcmVzdGluZyBwbGFjZSAoYnkgc2lmdGluZyBpdHMgcGFyZW50cyBkb3duKS4gKi8KKyAgICByZXR1cm4gc2lmdGRvd24oaGVhcCwgc3RhcnRwb3MsIHBvcyk7CiB9CiAKIHN0YXRpYyBQeU9iamVjdCAqCkBAIC0xMzksMTcgKzExMCwxNiBAQAogICAgIGlmIChQeUxpc3RfQXBwZW5kKGhlYXAsIGl0ZW0pID09IC0xKQogICAgICAgICByZXR1cm4gTlVMTDsKIAotICAgIGlmIChfc2lmdGRvd24oKFB5TGlzdE9iamVjdCAqKWhlYXAsIDAsIFB5TGlzdF9HRVRfU0laRShoZWFwKS0xKSA9PSAtMSkKKyAgICBpZiAoc2lmdGRvd24oKFB5TGlzdE9iamVjdCAqKWhlYXAsIDAsIFB5TGlzdF9HRVRfU0laRShoZWFwKS0xKSA9PSAtMSkKICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgUHlfSU5DUkVGKFB5X05vbmUpOwotICAgIHJldHVybiBQeV9Ob25lOworICAgIFB5X1JFVFVSTl9OT05FOwogfQogCiBQeURvY19TVFJWQVIoaGVhcHB1c2hfZG9jLAogImhlYXBwdXNoKGhlYXAsIGl0ZW0pIC0+IE5vbmUuIFB1c2ggaXRlbSBvbnRvIGhlYXAsIG1haW50YWluaW5nIHRoZSBoZWFwIGludmFyaWFudC4iKTsKIAogc3RhdGljIFB5T2JqZWN0ICoKLWhlYXBwb3AoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpoZWFwKQoraGVhcHBvcF9pbnRlcm5hbChQeU9iamVjdCAqaGVhcCwgaW50IHNpZnR1cF9mdW5jKFB5TGlzdE9iamVjdCAqLCBQeV9zc2l6ZV90KSkKIHsKICAgICBQeU9iamVjdCAqbGFzdGVsdCwgKnJldHVybml0ZW07CiAgICAgUHlfc3NpemVfdCBuOwpAQCAtMTU5LDcgKzEyOSw3IEBACiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KIAotICAgIC8qICMgcmFpc2VzIGFwcHJvcHJpYXRlIEluZGV4RXJyb3IgaWYgaGVhcCBpcyBlbXB0eSAqLworICAgIC8qIHJhaXNlcyBJbmRleEVycm9yIGlmIHRoZSBoZWFwIGlzIGVtcHR5ICovCiAgICAgbiA9IFB5TGlzdF9HRVRfU0laRShoZWFwKTsKICAgICBpZiAobiA9PSAwKSB7CiAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19JbmRleEVycm9yLCAiaW5kZXggb3V0IG9mIHJhbmdlIik7CkBAIC0xNzgsMTggKzE0OCwyNCBAQAogICAgICAgICByZXR1cm4gbGFzdGVsdDsKICAgICByZXR1cm5pdGVtID0gUHlMaXN0X0dFVF9JVEVNKGhlYXAsIDApOwogICAgIFB5TGlzdF9TRVRfSVRFTShoZWFwLCAwLCBsYXN0ZWx0KTsKLSAgICBpZiAoX3NpZnR1cCgoUHlMaXN0T2JqZWN0ICopaGVhcCwgMCkgPT0gLTEpIHsKKyAgICBpZiAoc2lmdHVwX2Z1bmMoKFB5TGlzdE9iamVjdCAqKWhlYXAsIDApID09IC0xKSB7CiAgICAgICAgIFB5X0RFQ1JFRihyZXR1cm5pdGVtKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQogICAgIHJldHVybiByZXR1cm5pdGVtOwogfQogCitzdGF0aWMgUHlPYmplY3QgKgoraGVhcHBvcChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmhlYXApCit7CisgICAgcmV0dXJuIGhlYXBwb3BfaW50ZXJuYWwoaGVhcCwgc2lmdHVwKTsKK30KKwogUHlEb2NfU1RSVkFSKGhlYXBwb3BfZG9jLAogIlBvcCB0aGUgc21hbGxlc3QgaXRlbSBvZmYgdGhlIGhlYXAsIG1haW50YWluaW5nIHRoZSBoZWFwIGludmFyaWFudC4iKTsKIAogc3RhdGljIFB5T2JqZWN0ICoKLWhlYXByZXBsYWNlKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK2hlYXByZXBsYWNlX2ludGVybmFsKFB5T2JqZWN0ICphcmdzLCBpbnQgc2lmdHVwX2Z1bmMoUHlMaXN0T2JqZWN0ICosIFB5X3NzaXplX3QpKQogewogICAgIFB5T2JqZWN0ICpoZWFwLCAqaXRlbSwgKnJldHVybml0ZW07CiAKQEAgLTIwOSwxMyArMTg1LDE5IEBACiAgICAgcmV0dXJuaXRlbSA9IFB5TGlzdF9HRVRfSVRFTShoZWFwLCAwKTsKICAgICBQeV9JTkNSRUYoaXRlbSk7CiAgICAgUHlMaXN0X1NFVF9JVEVNKGhlYXAsIDAsIGl0ZW0pOwotICAgIGlmIChfc2lmdHVwKChQeUxpc3RPYmplY3QgKiloZWFwLCAwKSA9PSAtMSkgeworICAgIGlmIChzaWZ0dXBfZnVuYygoUHlMaXN0T2JqZWN0ICopaGVhcCwgMCkgPT0gLTEpIHsKICAgICAgICAgUHlfREVDUkVGKHJldHVybml0ZW0pOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CiAgICAgcmV0dXJuIHJldHVybml0ZW07CiB9CiAKK3N0YXRpYyBQeU9iamVjdCAqCitoZWFwcmVwbGFjZShQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgcmV0dXJuIGhlYXByZXBsYWNlX2ludGVybmFsKGFyZ3MsIHNpZnR1cCk7Cit9CisKIFB5RG9jX1NUUlZBUihoZWFwcmVwbGFjZV9kb2MsCiAiaGVhcHJlcGxhY2UoaGVhcCwgaXRlbSkgLT4gdmFsdWUuIFBvcCBhbmQgcmV0dXJuIHRoZSBjdXJyZW50IHNtYWxsZXN0IHZhbHVlLCBhbmQgYWRkIHRoZSBuZXcgaXRlbS5cblwKIFxuXApAQCAtMjU2LDcgKzIzOCw3IEBACiAgICAgcmV0dXJuaXRlbSA9IFB5TGlzdF9HRVRfSVRFTShoZWFwLCAwKTsKICAgICBQeV9JTkNSRUYoaXRlbSk7CiAgICAgUHlMaXN0X1NFVF9JVEVNKGhlYXAsIDAsIGl0ZW0pOwotICAgIGlmIChfc2lmdHVwKChQeUxpc3RPYmplY3QgKiloZWFwLCAwKSA9PSAtMSkgeworICAgIGlmIChzaWZ0dXAoKFB5TGlzdE9iamVjdCAqKWhlYXAsIDApID09IC0xKSB7CiAgICAgICAgIFB5X0RFQ1JFRihyZXR1cm5pdGVtKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQpAQCAtMjY5LDcgKzI1MSw3IEBACiBoZWFwcHVzaCgpIGZvbGxvd2VkIGJ5IGEgc2VwYXJhdGUgY2FsbCB0byBoZWFwcG9wKCkuIik7CiAKIHN0YXRpYyBQeU9iamVjdCAqCi1oZWFwaWZ5KFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqaGVhcCkKK2hlYXBpZnlfaW50ZXJuYWwoUHlPYmplY3QgKmhlYXAsIGludCBzaWZ0dXBfZnVuYyhQeUxpc3RPYmplY3QgKiwgUHlfc3NpemVfdCkpCiB7CiAgICAgUHlfc3NpemVfdCBpLCBuOwogCkBAIC0yODcsMTQxICsyNjksNjUgQEAKICAgICAgICBhbmQgdGhhdCdzIGFnYWluIG4vLzItMS4KICAgICAqLwogICAgIGZvciAoaT1uLzItMSA7IGk+PTAgOyBpLS0pCi0gICAgICAgIGlmKF9zaWZ0dXAoKFB5TGlzdE9iamVjdCAqKWhlYXAsIGkpID09IC0xKQorICAgICAgICBpZihzaWZ0dXBfZnVuYygoUHlMaXN0T2JqZWN0ICopaGVhcCwgaSkgPT0gLTEpCiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKLSAgICBQeV9JTkNSRUYoUHlfTm9uZSk7Ci0gICAgcmV0dXJuIFB5X05vbmU7CisgICAgUHlfUkVUVVJOX05PTkU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitoZWFwaWZ5KFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqaGVhcCkKK3sKKyAgICByZXR1cm4gaGVhcGlmeV9pbnRlcm5hbChoZWFwLCBzaWZ0dXApOwogfQogCiBQeURvY19TVFJWQVIoaGVhcGlmeV9kb2MsCiAiVHJhbnNmb3JtIGxpc3QgaW50byBhIGhlYXAsIGluLXBsYWNlLCBpbiBPKGxlbihoZWFwKSkgdGltZS4iKTsKIAotc3RhdGljIFB5T2JqZWN0ICoKLW5sYXJnZXN0KFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKLXsKLSAgICBQeU9iamVjdCAqaGVhcD1OVUxMLCAqZWxlbSwgKml0ZXJhYmxlLCAqc29sLCAqaXQsICpvbGRlbGVtOwotICAgIFB5X3NzaXplX3QgaSwgbjsKLSAgICBpbnQgY21wOwotCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJuTzpubGFyZ2VzdCIsICZuLCAmaXRlcmFibGUpKQotICAgICAgICByZXR1cm4gTlVMTDsKLQotICAgIGl0ID0gUHlPYmplY3RfR2V0SXRlcihpdGVyYWJsZSk7Ci0gICAgaWYgKGl0ID09IE5VTEwpCi0gICAgICAgIHJldHVybiBOVUxMOwotCi0gICAgaGVhcCA9IFB5TGlzdF9OZXcoMCk7Ci0gICAgaWYgKGhlYXAgPT0gTlVMTCkKLSAgICAgICAgZ290byBmYWlsOwotCi0gICAgZm9yIChpPTAgOyBpPG4gOyBpKysgKXsKLSAgICAgICAgZWxlbSA9IFB5SXRlcl9OZXh0KGl0KTsKLSAgICAgICAgaWYgKGVsZW0gPT0gTlVMTCkgewotICAgICAgICAgICAgaWYgKFB5RXJyX09jY3VycmVkKCkpCi0gICAgICAgICAgICAgICAgZ290byBmYWlsOwotICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIGdvdG8gc29ydGl0OwotICAgICAgICB9Ci0gICAgICAgIGlmIChQeUxpc3RfQXBwZW5kKGhlYXAsIGVsZW0pID09IC0xKSB7Ci0gICAgICAgICAgICBQeV9ERUNSRUYoZWxlbSk7Ci0gICAgICAgICAgICBnb3RvIGZhaWw7Ci0gICAgICAgIH0KLSAgICAgICAgUHlfREVDUkVGKGVsZW0pOwotICAgIH0KLSAgICBpZiAoUHlMaXN0X0dFVF9TSVpFKGhlYXApID09IDApCi0gICAgICAgIGdvdG8gc29ydGl0OwotCi0gICAgZm9yIChpPW4vMi0xIDsgaT49MCA7IGktLSkKLSAgICAgICAgaWYoX3NpZnR1cCgoUHlMaXN0T2JqZWN0ICopaGVhcCwgaSkgPT0gLTEpCi0gICAgICAgICAgICBnb3RvIGZhaWw7Ci0KLSAgICBzb2wgPSBQeUxpc3RfR0VUX0lURU0oaGVhcCwgMCk7Ci0gICAgd2hpbGUgKDEpIHsKLSAgICAgICAgZWxlbSA9IFB5SXRlcl9OZXh0KGl0KTsKLSAgICAgICAgaWYgKGVsZW0gPT0gTlVMTCkgewotICAgICAgICAgICAgaWYgKFB5RXJyX09jY3VycmVkKCkpCi0gICAgICAgICAgICAgICAgZ290byBmYWlsOwotICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIGdvdG8gc29ydGl0OwotICAgICAgICB9Ci0gICAgICAgIGNtcCA9IFB5T2JqZWN0X1JpY2hDb21wYXJlQm9vbChzb2wsIGVsZW0sIFB5X0xUKTsKLSAgICAgICAgaWYgKGNtcCA9PSAtMSkgewotICAgICAgICAgICAgUHlfREVDUkVGKGVsZW0pOwotICAgICAgICAgICAgZ290byBmYWlsOwotICAgICAgICB9Ci0gICAgICAgIGlmIChjbXAgPT0gMCkgewotICAgICAgICAgICAgUHlfREVDUkVGKGVsZW0pOwotICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgIH0KLSAgICAgICAgb2xkZWxlbSA9IFB5TGlzdF9HRVRfSVRFTShoZWFwLCAwKTsKLSAgICAgICAgUHlMaXN0X1NFVF9JVEVNKGhlYXAsIDAsIGVsZW0pOwotICAgICAgICBQeV9ERUNSRUYob2xkZWxlbSk7Ci0gICAgICAgIGlmIChfc2lmdHVwKChQeUxpc3RPYmplY3QgKiloZWFwLCAwKSA9PSAtMSkKLSAgICAgICAgICAgIGdvdG8gZmFpbDsKLSAgICAgICAgc29sID0gUHlMaXN0X0dFVF9JVEVNKGhlYXAsIDApOwotICAgIH0KLXNvcnRpdDoKLSAgICBpZiAoUHlMaXN0X1NvcnQoaGVhcCkgPT0gLTEpCi0gICAgICAgIGdvdG8gZmFpbDsKLSAgICBpZiAoUHlMaXN0X1JldmVyc2UoaGVhcCkgPT0gLTEpCi0gICAgICAgIGdvdG8gZmFpbDsKLSAgICBQeV9ERUNSRUYoaXQpOwotICAgIHJldHVybiBoZWFwOwotCi1mYWlsOgotICAgIFB5X0RFQ1JFRihpdCk7Ci0gICAgUHlfWERFQ1JFRihoZWFwKTsKLSAgICByZXR1cm4gTlVMTDsKLX0KLQotUHlEb2NfU1RSVkFSKG5sYXJnZXN0X2RvYywKLSJGaW5kIHRoZSBuIGxhcmdlc3QgZWxlbWVudHMgaW4gYSBkYXRhc2V0LlxuXAotXG5cCi1FcXVpdmFsZW50IHRvOiAgc29ydGVkKGl0ZXJhYmxlLCByZXZlcnNlPVRydWUpWzpuXVxuIik7Ci0KIHN0YXRpYyBpbnQKLV9zaWZ0ZG93bm1heChQeUxpc3RPYmplY3QgKmhlYXAsIFB5X3NzaXplX3Qgc3RhcnRwb3MsIFB5X3NzaXplX3QgcG9zKQorc2lmdGRvd25fbWF4KFB5TGlzdE9iamVjdCAqaGVhcCwgUHlfc3NpemVfdCBzdGFydHBvcywgUHlfc3NpemVfdCBwb3MpCiB7CiAgICAgUHlPYmplY3QgKm5ld2l0ZW0sICpwYXJlbnQ7CisgICAgUHlfc3NpemVfdCBwYXJlbnRwb3MsIHNpemU7CiAgICAgaW50IGNtcDsKLSAgICBQeV9zc2l6ZV90IHBhcmVudHBvczsKIAogICAgIGFzc2VydChQeUxpc3RfQ2hlY2soaGVhcCkpOwotICAgIGlmIChwb3MgPj0gUHlMaXN0X0dFVF9TSVpFKGhlYXApKSB7CisgICAgc2l6ZSA9IFB5TGlzdF9HRVRfU0laRShoZWFwKTsKKyAgICBpZiAocG9zID49IHNpemUpIHsKICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX0luZGV4RXJyb3IsICJpbmRleCBvdXQgb2YgcmFuZ2UiKTsKICAgICAgICAgcmV0dXJuIC0xOwogICAgIH0KIAotICAgIG5ld2l0ZW0gPSBQeUxpc3RfR0VUX0lURU0oaGVhcCwgcG9zKTsKLSAgICBQeV9JTkNSRUYobmV3aXRlbSk7CiAgICAgLyogRm9sbG93IHRoZSBwYXRoIHRvIHRoZSByb290LCBtb3ZpbmcgcGFyZW50cyBkb3duIHVudGlsIGZpbmRpbmcKICAgICAgICBhIHBsYWNlIG5ld2l0ZW0gZml0cy4gKi8KLSAgICB3aGlsZSAocG9zID4gc3RhcnRwb3MpeworICAgIG5ld2l0ZW0gPSBQeUxpc3RfR0VUX0lURU0oaGVhcCwgcG9zKTsKKyAgICB3aGlsZSAocG9zID4gc3RhcnRwb3MpIHsKICAgICAgICAgcGFyZW50cG9zID0gKHBvcyAtIDEpID4+IDE7CiAgICAgICAgIHBhcmVudCA9IFB5TGlzdF9HRVRfSVRFTShoZWFwLCBwYXJlbnRwb3MpOwogICAgICAgICBjbXAgPSBQeU9iamVjdF9SaWNoQ29tcGFyZUJvb2wocGFyZW50LCBuZXdpdGVtLCBQeV9MVCk7Ci0gICAgICAgIGlmIChjbXAgPT0gLTEpIHsKLSAgICAgICAgICAgIFB5X0RFQ1JFRihuZXdpdGVtKTsKKyAgICAgICAgaWYgKGNtcCA9PSAtMSkKKyAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgaWYgKHNpemUgIT0gUHlMaXN0X0dFVF9TSVpFKGhlYXApKSB7CisgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfUnVudGltZUVycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsaXN0IGNoYW5nZWQgc2l6ZSBkdXJpbmcgaXRlcmF0aW9uIik7CiAgICAgICAgICAgICByZXR1cm4gLTE7CiAgICAgICAgIH0KICAgICAgICAgaWYgKGNtcCA9PSAwKQogICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIFB5X0lOQ1JFRihwYXJlbnQpOwotICAgICAgICBQeV9ERUNSRUYoUHlMaXN0X0dFVF9JVEVNKGhlYXAsIHBvcykpOworICAgICAgICBwYXJlbnQgPSBQeUxpc3RfR0VUX0lURU0oaGVhcCwgcGFyZW50cG9zKTsKKyAgICAgICAgbmV3aXRlbSA9IFB5TGlzdF9HRVRfSVRFTShoZWFwLCBwb3MpOworICAgICAgICBQeUxpc3RfU0VUX0lURU0oaGVhcCwgcGFyZW50cG9zLCBuZXdpdGVtKTsKICAgICAgICAgUHlMaXN0X1NFVF9JVEVNKGhlYXAsIHBvcywgcGFyZW50KTsKICAgICAgICAgcG9zID0gcGFyZW50cG9zOwogICAgIH0KLSAgICBQeV9ERUNSRUYoUHlMaXN0X0dFVF9JVEVNKGhlYXAsIHBvcykpOwotICAgIFB5TGlzdF9TRVRfSVRFTShoZWFwLCBwb3MsIG5ld2l0ZW0pOwogICAgIHJldHVybiAwOwogfQogCiBzdGF0aWMgaW50Ci1fc2lmdHVwbWF4KFB5TGlzdE9iamVjdCAqaGVhcCwgUHlfc3NpemVfdCBwb3MpCitzaWZ0dXBfbWF4KFB5TGlzdE9iamVjdCAqaGVhcCwgUHlfc3NpemVfdCBwb3MpCiB7CiAgICAgUHlfc3NpemVfdCBzdGFydHBvcywgZW5kcG9zLCBjaGlsZHBvcywgcmlnaHRwb3MsIGxpbWl0OworICAgIFB5T2JqZWN0ICp0bXAxLCAqdG1wMjsKICAgICBpbnQgY21wOwotICAgIFB5T2JqZWN0ICpuZXdpdGVtLCAqdG1wOwogCiAgICAgYXNzZXJ0KFB5TGlzdF9DaGVjayhoZWFwKSk7CiAgICAgZW5kcG9zID0gUHlMaXN0X0dFVF9TSVpFKGhlYXApOwpAQCAtNDMwLDggKzMzNiw2IEBACiAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19JbmRleEVycm9yLCAiaW5kZXggb3V0IG9mIHJhbmdlIik7CiAgICAgICAgIHJldHVybiAtMTsKICAgICB9Ci0gICAgbmV3aXRlbSA9IFB5TGlzdF9HRVRfSVRFTShoZWFwLCBwb3MpOwotICAgIFB5X0lOQ1JFRihuZXdpdGVtKTsKIAogICAgIC8qIEJ1YmJsZSB1cCB0aGUgc21hbGxlciBjaGlsZCB1bnRpbCBoaXR0aW5nIGEgbGVhZi4gKi8KICAgICBsaW1pdCA9IGVuZHBvcyAvIDI7ICAgICAgICAgIC8qIHNtYWxsZXN0IHBvcyB0aGF0IGhhcyBubyBjaGlsZCAqLwpAQCAtNDQ0LDExMSArMzQ4LDUwIEBACiAgICAgICAgICAgICAgICAgUHlMaXN0X0dFVF9JVEVNKGhlYXAsIHJpZ2h0cG9zKSwKICAgICAgICAgICAgICAgICBQeUxpc3RfR0VUX0lURU0oaGVhcCwgY2hpbGRwb3MpLAogICAgICAgICAgICAgICAgIFB5X0xUKTsKLSAgICAgICAgICAgIGlmIChjbXAgPT0gLTEpIHsKLSAgICAgICAgICAgICAgICBQeV9ERUNSRUYobmV3aXRlbSk7CisgICAgICAgICAgICBpZiAoY21wID09IC0xKQogICAgICAgICAgICAgICAgIHJldHVybiAtMTsKLSAgICAgICAgICAgIH0KICAgICAgICAgICAgIGlmIChjbXAgPT0gMCkKICAgICAgICAgICAgICAgICBjaGlsZHBvcyA9IHJpZ2h0cG9zOworICAgICAgICAgICAgaWYgKGVuZHBvcyAhPSBQeUxpc3RfR0VUX1NJWkUoaGVhcCkpIHsKKyAgICAgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfUnVudGltZUVycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGlzdCBjaGFuZ2VkIHNpemUgZHVyaW5nIGl0ZXJhdGlvbiIpOworICAgICAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgICAgICAvKiBNb3ZlIHRoZSBzbWFsbGVyIGNoaWxkIHVwLiAqLwotICAgICAgICB0bXAgPSBQeUxpc3RfR0VUX0lURU0oaGVhcCwgY2hpbGRwb3MpOwotICAgICAgICBQeV9JTkNSRUYodG1wKTsKLSAgICAgICAgUHlfREVDUkVGKFB5TGlzdF9HRVRfSVRFTShoZWFwLCBwb3MpKTsKLSAgICAgICAgUHlMaXN0X1NFVF9JVEVNKGhlYXAsIHBvcywgdG1wKTsKKyAgICAgICAgdG1wMSA9IFB5TGlzdF9HRVRfSVRFTShoZWFwLCBjaGlsZHBvcyk7CisgICAgICAgIHRtcDIgPSBQeUxpc3RfR0VUX0lURU0oaGVhcCwgcG9zKTsKKyAgICAgICAgUHlMaXN0X1NFVF9JVEVNKGhlYXAsIGNoaWxkcG9zLCB0bXAyKTsKKyAgICAgICAgUHlMaXN0X1NFVF9JVEVNKGhlYXAsIHBvcywgdG1wMSk7CiAgICAgICAgIHBvcyA9IGNoaWxkcG9zOwogICAgIH0KLQotICAgIC8qIFRoZSBsZWFmIGF0IHBvcyBpcyBlbXB0eSBub3cuICBQdXQgbmV3aXRlbSB0aGVyZSwgYW5kIGJ1YmJsZQotICAgICAgIGl0IHVwIHRvIGl0cyBmaW5hbCByZXN0aW5nIHBsYWNlIChieSBzaWZ0aW5nIGl0cyBwYXJlbnRzIGRvd24pLiAqLwotICAgIFB5X0RFQ1JFRihQeUxpc3RfR0VUX0lURU0oaGVhcCwgcG9zKSk7Ci0gICAgUHlMaXN0X1NFVF9JVEVNKGhlYXAsIHBvcywgbmV3aXRlbSk7Ci0gICAgcmV0dXJuIF9zaWZ0ZG93bm1heChoZWFwLCBzdGFydHBvcywgcG9zKTsKKyAgICAvKiBCdWJibGUgaXQgdXAgdG8gaXRzIGZpbmFsIHJlc3RpbmcgcGxhY2UgKGJ5IHNpZnRpbmcgaXRzIHBhcmVudHMgZG93bikuICovCisgICAgcmV0dXJuIHNpZnRkb3duX21heChoZWFwLCBzdGFydHBvcywgcG9zKTsKIH0KIAogc3RhdGljIFB5T2JqZWN0ICoKLW5zbWFsbGVzdChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitoZWFwcG9wX21heChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmhlYXApCiB7Ci0gICAgUHlPYmplY3QgKmhlYXA9TlVMTCwgKmVsZW0sICppdGVyYWJsZSwgKmxvcywgKml0LCAqb2xkZWxlbTsKLSAgICBQeV9zc2l6ZV90IGksIG47Ci0gICAgaW50IGNtcDsKLQotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAibk86bnNtYWxsZXN0IiwgJm4sICZpdGVyYWJsZSkpCi0gICAgICAgIHJldHVybiBOVUxMOwotCi0gICAgaXQgPSBQeU9iamVjdF9HZXRJdGVyKGl0ZXJhYmxlKTsKLSAgICBpZiAoaXQgPT0gTlVMTCkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0KLSAgICBoZWFwID0gUHlMaXN0X05ldygwKTsKLSAgICBpZiAoaGVhcCA9PSBOVUxMKQotICAgICAgICBnb3RvIGZhaWw7Ci0KLSAgICBmb3IgKGk9MCA7IGk8biA7IGkrKyApewotICAgICAgICBlbGVtID0gUHlJdGVyX05leHQoaXQpOwotICAgICAgICBpZiAoZWxlbSA9PSBOVUxMKSB7Ci0gICAgICAgICAgICBpZiAoUHlFcnJfT2NjdXJyZWQoKSkKLSAgICAgICAgICAgICAgICBnb3RvIGZhaWw7Ci0gICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgZ290byBzb3J0aXQ7Ci0gICAgICAgIH0KLSAgICAgICAgaWYgKFB5TGlzdF9BcHBlbmQoaGVhcCwgZWxlbSkgPT0gLTEpIHsKLSAgICAgICAgICAgIFB5X0RFQ1JFRihlbGVtKTsKLSAgICAgICAgICAgIGdvdG8gZmFpbDsKLSAgICAgICAgfQotICAgICAgICBQeV9ERUNSRUYoZWxlbSk7Ci0gICAgfQotICAgIG4gPSBQeUxpc3RfR0VUX1NJWkUoaGVhcCk7Ci0gICAgaWYgKG4gPT0gMCkKLSAgICAgICAgZ290byBzb3J0aXQ7Ci0KLSAgICBmb3IgKGk9bi8yLTEgOyBpPj0wIDsgaS0tKQotICAgICAgICBpZihfc2lmdHVwbWF4KChQeUxpc3RPYmplY3QgKiloZWFwLCBpKSA9PSAtMSkKLSAgICAgICAgICAgIGdvdG8gZmFpbDsKLQotICAgIGxvcyA9IFB5TGlzdF9HRVRfSVRFTShoZWFwLCAwKTsKLSAgICB3aGlsZSAoMSkgewotICAgICAgICBlbGVtID0gUHlJdGVyX05leHQoaXQpOwotICAgICAgICBpZiAoZWxlbSA9PSBOVUxMKSB7Ci0gICAgICAgICAgICBpZiAoUHlFcnJfT2NjdXJyZWQoKSkKLSAgICAgICAgICAgICAgICBnb3RvIGZhaWw7Ci0gICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgZ290byBzb3J0aXQ7Ci0gICAgICAgIH0KLSAgICAgICAgY21wID0gUHlPYmplY3RfUmljaENvbXBhcmVCb29sKGVsZW0sIGxvcywgUHlfTFQpOwotICAgICAgICBpZiAoY21wID09IC0xKSB7Ci0gICAgICAgICAgICBQeV9ERUNSRUYoZWxlbSk7Ci0gICAgICAgICAgICBnb3RvIGZhaWw7Ci0gICAgICAgIH0KLSAgICAgICAgaWYgKGNtcCA9PSAwKSB7Ci0gICAgICAgICAgICBQeV9ERUNSRUYoZWxlbSk7Ci0gICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgfQotCi0gICAgICAgIG9sZGVsZW0gPSBQeUxpc3RfR0VUX0lURU0oaGVhcCwgMCk7Ci0gICAgICAgIFB5TGlzdF9TRVRfSVRFTShoZWFwLCAwLCBlbGVtKTsKLSAgICAgICAgUHlfREVDUkVGKG9sZGVsZW0pOwotICAgICAgICBpZiAoX3NpZnR1cG1heCgoUHlMaXN0T2JqZWN0ICopaGVhcCwgMCkgPT0gLTEpCi0gICAgICAgICAgICBnb3RvIGZhaWw7Ci0gICAgICAgIGxvcyA9IFB5TGlzdF9HRVRfSVRFTShoZWFwLCAwKTsKLSAgICB9Ci0KLXNvcnRpdDoKLSAgICBpZiAoUHlMaXN0X1NvcnQoaGVhcCkgPT0gLTEpCi0gICAgICAgIGdvdG8gZmFpbDsKLSAgICBQeV9ERUNSRUYoaXQpOwotICAgIHJldHVybiBoZWFwOwotCi1mYWlsOgotICAgIFB5X0RFQ1JFRihpdCk7Ci0gICAgUHlfWERFQ1JFRihoZWFwKTsKLSAgICByZXR1cm4gTlVMTDsKKyAgICByZXR1cm4gaGVhcHBvcF9pbnRlcm5hbChoZWFwLCBzaWZ0dXBfbWF4KTsKIH0KIAotUHlEb2NfU1RSVkFSKG5zbWFsbGVzdF9kb2MsCi0iRmluZCB0aGUgbiBzbWFsbGVzdCBlbGVtZW50cyBpbiBhIGRhdGFzZXQuXG5cCi1cblwKLUVxdWl2YWxlbnQgdG86ICBzb3J0ZWQoaXRlcmFibGUpWzpuXVxuIik7CitQeURvY19TVFJWQVIoaGVhcHBvcF9tYXhfZG9jLCAiTWF4aGVhcCB2YXJpYW50IG9mIGhlYXBwb3AuIik7CisKK3N0YXRpYyBQeU9iamVjdCAqCitoZWFwcmVwbGFjZV9tYXgoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQoreworICAgIHJldHVybiBoZWFwcmVwbGFjZV9pbnRlcm5hbChhcmdzLCBzaWZ0dXBfbWF4KTsKK30KKworUHlEb2NfU1RSVkFSKGhlYXByZXBsYWNlX21heF9kb2MsICJNYXhoZWFwIHZhcmlhbnQgb2YgaGVhcHJlcGxhY2UiKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK2hlYXBpZnlfbWF4KFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqaGVhcCkKK3sKKyAgICByZXR1cm4gaGVhcGlmeV9pbnRlcm5hbChoZWFwLCBzaWZ0dXBfbWF4KTsKK30KKworUHlEb2NfU1RSVkFSKGhlYXBpZnlfbWF4X2RvYywgIk1heGhlYXAgdmFyaWFudCBvZiBoZWFwaWZ5LiIpOwogCiBzdGF0aWMgUHlNZXRob2REZWYgaGVhcHFfbWV0aG9kc1tdID0gewogICAgIHsiaGVhcHB1c2giLCAgICAgICAgKFB5Q0Z1bmN0aW9uKWhlYXBwdXNoLApAQCAtNTYxLDEwICs0MDQsMTIgQEAKICAgICAgICAgTUVUSF9WQVJBUkdTLCAgICAgICAgICAgaGVhcHJlcGxhY2VfZG9jfSwKICAgICB7ImhlYXBpZnkiLCAgICAgICAgIChQeUNGdW5jdGlvbiloZWFwaWZ5LAogICAgICAgICBNRVRIX08sICAgICAgICAgICAgICAgICBoZWFwaWZ5X2RvY30sCi0gICAgeyJubGFyZ2VzdCIsICAgICAgICAoUHlDRnVuY3Rpb24pbmxhcmdlc3QsCi0gICAgICAgIE1FVEhfVkFSQVJHUywgICAgICAgICAgIG5sYXJnZXN0X2RvY30sCi0gICAgeyJuc21hbGxlc3QiLCAgICAgICAoUHlDRnVuY3Rpb24pbnNtYWxsZXN0LAotICAgICAgICBNRVRIX1ZBUkFSR1MsICAgICAgICAgICBuc21hbGxlc3RfZG9jfSwKKyAgICB7Il9oZWFwcG9wX21heCIsICAgIChQeUNGdW5jdGlvbiloZWFwcG9wX21heCwKKyAgICAgICAgTUVUSF9PLCAgICAgICAgICAgICAgICAgaGVhcHBvcF9tYXhfZG9jfSwKKyAgICB7Il9oZWFwcmVwbGFjZV9tYXgiLChQeUNGdW5jdGlvbiloZWFwcmVwbGFjZV9tYXgsCisgICAgICAgIE1FVEhfVkFSQVJHUywgICAgICAgICAgIGhlYXByZXBsYWNlX21heF9kb2N9LAorICAgIHsiX2hlYXBpZnlfbWF4IiwgICAgKFB5Q0Z1bmN0aW9uKWhlYXBpZnlfbWF4LAorICAgICAgICBNRVRIX08sICAgICAgICAgICAgICAgICBoZWFwaWZ5X21heF9kb2N9LAogICAgIHtOVUxMLCAgICAgICAgICAgICAgTlVMTH0gICAgICAgICAgIC8qIHNlbnRpbmVsICovCiB9OwogCmRpZmYgLS1naXQgYS9Nb2R1bGVzL19pby9faW9tb2R1bGUuYyBiL01vZHVsZXMvX2lvL19pb21vZHVsZS5jCmluZGV4IDQ1YzMxYTUuLmU3MGM0YjcgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvX2lvL19pb21vZHVsZS5jCisrKyBiL01vZHVsZXMvX2lvL19pb21vZHVsZS5jCkBAIC0yMzcsOCArMjM3LDggQEAKIAogICAgIFB5T2JqZWN0ICpyYXcsICptb2Rlb2JqID0gTlVMTCwgKmJ1ZmZlciwgKndyYXBwZXIsICpyZXN1bHQgPSBOVUxMOwogCisgICAgX1B5X0lERU5USUZJRVIoX2Jsa3NpemUpOwogICAgIF9QeV9JREVOVElGSUVSKGlzYXR0eSk7Ci0gICAgX1B5X0lERU5USUZJRVIoZmlsZW5vKTsKICAgICBfUHlfSURFTlRJRklFUihtb2RlKTsKICAgICBfUHlfSURFTlRJRklFUihjbG9zZSk7CiAKQEAgLTM4MCwyNCArMzgwLDE0IEBACiAgICAgICAgIGxpbmVfYnVmZmVyaW5nID0gMDsKIAogICAgIGlmIChidWZmZXJpbmcgPCAwKSB7Ci0gICAgICAgIGJ1ZmZlcmluZyA9IERFRkFVTFRfQlVGRkVSX1NJWkU7Ci0jaWZkZWYgSEFWRV9TVFJVQ1RfU1RBVF9TVF9CTEtTSVpFCi0gICAgICAgIHsKLSAgICAgICAgICAgIHN0cnVjdCBzdGF0IHN0OwotICAgICAgICAgICAgbG9uZyBmaWxlbm87Ci0gICAgICAgICAgICBQeU9iamVjdCAqcmVzID0gX1B5T2JqZWN0X0NhbGxNZXRob2RJZChyYXcsICZQeUlkX2ZpbGVubywgTlVMTCk7Ci0gICAgICAgICAgICBpZiAocmVzID09IE5VTEwpCi0gICAgICAgICAgICAgICAgZ290byBlcnJvcjsKLQotICAgICAgICAgICAgZmlsZW5vID0gUHlMb25nX0FzTG9uZyhyZXMpOwotICAgICAgICAgICAgUHlfREVDUkVGKHJlcyk7Ci0gICAgICAgICAgICBpZiAoZmlsZW5vID09IC0xICYmIFB5RXJyX09jY3VycmVkKCkpCi0gICAgICAgICAgICAgICAgZ290byBlcnJvcjsKLQotICAgICAgICAgICAgaWYgKGZzdGF0KGZpbGVubywgJnN0KSA+PSAwICYmIHN0LnN0X2Jsa3NpemUgPiAxKQotICAgICAgICAgICAgICAgIGJ1ZmZlcmluZyA9IHN0LnN0X2Jsa3NpemU7Ci0gICAgICAgIH0KLSNlbmRpZgorICAgICAgICBQeU9iamVjdCAqYmxrc2l6ZV9vYmo7CisgICAgICAgIGJsa3NpemVfb2JqID0gX1B5T2JqZWN0X0dldEF0dHJJZChyYXcsICZQeUlkX19ibGtzaXplKTsKKyAgICAgICAgaWYgKGJsa3NpemVfb2JqID09IE5VTEwpCisgICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICBidWZmZXJpbmcgPSBQeUxvbmdfQXNMb25nKGJsa3NpemVfb2JqKTsKKyAgICAgICAgUHlfREVDUkVGKGJsa3NpemVfb2JqKTsKKyAgICAgICAgaWYgKGJ1ZmZlcmluZyA9PSAtMSAmJiBQeUVycl9PY2N1cnJlZCgpKQorICAgICAgICAgICAgZ290byBlcnJvcjsKICAgICB9CiAgICAgaWYgKGJ1ZmZlcmluZyA8IDApIHsKICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsCmRpZmYgLS1naXQgYS9Nb2R1bGVzL19pby9faW9tb2R1bGUuaCBiL01vZHVsZXMvX2lvL19pb21vZHVsZS5oCmluZGV4IDg5Mjc4NjQuLjlkNTIwNWUgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvX2lvL19pb21vZHVsZS5oCisrKyBiL01vZHVsZXMvX2lvL19pb21vZHVsZS5oCkBAIC02OSw3ICs2OSw3IEBACiAgKiBPZmZzZXQgdHlwZSBmb3IgcG9zaXRpb25pbmcuCiAgKi8KIAotLyogUHJpbnRpbmcgYSB2YXJpYWJsZSBvZiB0eXBlIG9mZl90ICh3aXRoIGUuZy4sIFB5U3RyaW5nX0Zyb21Gb3JtYXQpCisvKiBQcmludGluZyBhIHZhcmlhYmxlIG9mIHR5cGUgb2ZmX3QgKHdpdGggZS5nLiwgUHlVbmljb2RlX0Zyb21Gb3JtYXQpCiAgICBjb3JyZWN0bHkgYW5kIHdpdGhvdXQgcHJvZHVjaW5nIGNvbXBpbGVyIHdhcm5pbmdzIGlzIHN1cnByaXNpbmdseSBwYWluZnVsLgogICAgV2UgaWRlbnRpZnkgYW4gaW50ZWdlciB0eXBlIHdob3NlIHNpemUgbWF0Y2hlcyBvZmZfdCBhbmQgdGhlbjogKDEpIGNhc3QgdGhlCiAgICBvZmZfdCB0byB0aGF0IGludGVnZXIgdHlwZSBhbmQgKDIpIHVzZSB0aGUgYXBwcm9wcmlhdGUgY29udmVyc2lvbgpkaWZmIC0tZ2l0IGEvTW9kdWxlcy9faW8vYnVmZmVyZWRpby5jIGIvTW9kdWxlcy9faW8vYnVmZmVyZWRpby5jCmluZGV4IDAyY2YwMzguLjM3MGJiNWUgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvX2lvL2J1ZmZlcmVkaW8uYworKysgYi9Nb2R1bGVzL19pby9idWZmZXJlZGlvLmMKQEAgLTI0LDYgKzI0LDcgQEAKIF9QeV9JREVOVElGSUVSKHJlYWQxKTsKIF9QeV9JREVOVElGSUVSKHJlYWRhYmxlKTsKIF9QeV9JREVOVElGSUVSKHJlYWRpbnRvKTsKK19QeV9JREVOVElGSUVSKHJlYWRpbnRvMSk7CiBfUHlfSURFTlRJRklFUih3cml0YWJsZSk7CiBfUHlfSURFTlRJRklFUih3cml0ZSk7CiAKQEAgLTQ3LDE3ICs0OCwyMSBAQAogICAgICk7CiAKIHN0YXRpYyBQeU9iamVjdCAqCi1idWZmZXJlZGlvYmFzZV9yZWFkaW50byhQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitfYnVmZmVyZWRpb2Jhc2VfcmVhZGludG9fZ2VuZXJpYyhQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIGNoYXIgcmVhZGludG8xKQogewogICAgIFB5X2J1ZmZlciBidWY7CiAgICAgUHlfc3NpemVfdCBsZW47CiAgICAgUHlPYmplY3QgKmRhdGE7CiAKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIncqOnJlYWRpbnRvIiwgJmJ1ZikpIHsKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgcmVhZGludG8xID8gIncqOnJlYWRpbnRvMSIgOiAidyo6cmVhZGludG8iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAmYnVmKSkgewogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CiAKLSAgICBkYXRhID0gX1B5T2JqZWN0X0NhbGxNZXRob2RJZChzZWxmLCAmUHlJZF9yZWFkLCAibiIsIGJ1Zi5sZW4pOworICAgIGRhdGEgPSBfUHlPYmplY3RfQ2FsbE1ldGhvZElkKHNlbGYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVhZGludG8xID8gJlB5SWRfcmVhZDEgOiAmUHlJZF9yZWFkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuIiwgYnVmLmxlbik7CiAgICAgaWYgKGRhdGEgPT0gTlVMTCkKICAgICAgICAgZ290byBlcnJvcjsKIApAQCAtODksNiArOTQsMTggQEAKIH0KIAogc3RhdGljIFB5T2JqZWN0ICoKK2J1ZmZlcmVkaW9iYXNlX3JlYWRpbnRvKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICByZXR1cm4gX2J1ZmZlcmVkaW9iYXNlX3JlYWRpbnRvX2dlbmVyaWMoc2VsZiwgYXJncywgMCk7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitidWZmZXJlZGlvYmFzZV9yZWFkaW50bzEoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQoreworICAgIHJldHVybiBfYnVmZmVyZWRpb2Jhc2VfcmVhZGludG9fZ2VuZXJpYyhzZWxmLCBhcmdzLCAxKTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKIGJ1ZmZlcmVkaW9iYXNlX3Vuc3VwcG9ydGVkKGNvbnN0IGNoYXIgKm1lc3NhZ2UpCiB7CiAgICAgX1B5SU9fU3RhdGUgKnN0YXRlID0gSU9fU1RBVEUoKTsKQEAgLTE2Nyw2ICsxODQsNyBAQAogICAgIHsicmVhZCIsIGJ1ZmZlcmVkaW9iYXNlX3JlYWQsIE1FVEhfVkFSQVJHUywgYnVmZmVyZWRpb2Jhc2VfcmVhZF9kb2N9LAogICAgIHsicmVhZDEiLCBidWZmZXJlZGlvYmFzZV9yZWFkMSwgTUVUSF9WQVJBUkdTLCBidWZmZXJlZGlvYmFzZV9yZWFkMV9kb2N9LAogICAgIHsicmVhZGludG8iLCBidWZmZXJlZGlvYmFzZV9yZWFkaW50bywgTUVUSF9WQVJBUkdTLCBOVUxMfSwKKyAgICB7InJlYWRpbnRvMSIsIGJ1ZmZlcmVkaW9iYXNlX3JlYWRpbnRvMSwgTUVUSF9WQVJBUkdTLCBOVUxMfSwKICAgICB7IndyaXRlIiwgYnVmZmVyZWRpb2Jhc2Vfd3JpdGUsIE1FVEhfVkFSQVJHUywgYnVmZmVyZWRpb2Jhc2Vfd3JpdGVfZG9jfSwKICAgICB7TlVMTCwgTlVMTH0KIH07CkBAIC02NjIsMTEgKzY4MCw3IEBACiBfc2V0X0Jsb2NraW5nSU9FcnJvcihjaGFyICptc2csIFB5X3NzaXplX3Qgd3JpdHRlbikKIHsKICAgICBQeU9iamVjdCAqZXJyOwotI2lmZGVmIFB5X0RFQlVHCi0gICAgLyogaW4gZGVidWcgbW9kZSwgUHlFdmFsX0V2YWxGcmFtZUV4KCkgZmFpbHMgd2l0aCBhbiBhc3NlcnRpb24gZXJyb3IKLSAgICAgICBpZiBhbiBleGNlcHRpb24gaXMgc2V0IHdoZW4gaXQgaXMgY2FsbGVkICovCiAgICAgUHlFcnJfQ2xlYXIoKTsKLSNlbmRpZgogICAgIGVyciA9IFB5T2JqZWN0X0NhbGxGdW5jdGlvbihQeUV4Y19CbG9ja2luZ0lPRXJyb3IsICJpc24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJubywgbXNnLCB3cml0dGVuKTsKICAgICBpZiAoZXJyKQpAQCAtOTc3LDcgKzk5MSw3IEBACiB9CiAKIHN0YXRpYyBQeU9iamVjdCAqCi1idWZmZXJlZF9yZWFkaW50byhidWZmZXJlZCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitfYnVmZmVyZWRfcmVhZGludG9fZ2VuZXJpYyhidWZmZXJlZCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIGNoYXIgcmVhZGludG8xKQogewogICAgIFB5X2J1ZmZlciBidWY7CiAgICAgUHlfc3NpemVfdCBuLCB3cml0dGVuID0gMCwgcmVtYWluaW5nOwpAQCAtOTg1LDcgKzk5OSw5IEBACiAKICAgICBDSEVDS19JTklUSUFMSVpFRChzZWxmKQogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJ3KjpyZWFkaW50byIsICZidWYpKQorICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkaW50bzEgPyAidyo6cmVhZGludG8xIiA6ICJ3KjpyZWFkaW50byIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICZidWYpKQogICAgICAgICByZXR1cm4gTlVMTDsKIAogICAgIG4gPSBQeV9TQUZFX0RPV05DQVNUKFJFQURBSEVBRChzZWxmKSwgUHlfb2ZmX3QsIFB5X3NzaXplX3QpOwpAQCAtMTAyMyw3ICsxMDM5LDEwIEBACiAgICAgICAgICAgICBuID0gX2J1ZmZlcmVkcmVhZGVyX3Jhd19yZWFkKHNlbGYsIChjaGFyICopIGJ1Zi5idWYgKyB3cml0dGVuLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZW1haW5pbmcpOwogICAgICAgICB9Ci0gICAgICAgIGVsc2UgeworCisgICAgICAgIC8qIEluIHJlYWRpbnRvMSBtb2RlLCB3ZSBkbyBub3Qgd2FudCB0byBmaWxsIHRoZSBpbnRlcm5hbAorICAgICAgICAgICBidWZmZXIgaWYgd2UgYWxyZWFkeSBoYXZlIHNvbWUgZGF0YSB0byByZXR1cm4gKi8KKyAgICAgICAgZWxzZSBpZiAoIShyZWFkaW50bzEgJiYgd3JpdHRlbikpIHsKICAgICAgICAgICAgIG4gPSBfYnVmZmVyZWRyZWFkZXJfZmlsbF9idWZmZXIoc2VsZik7CiAgICAgICAgICAgICBpZiAobiA+IDApIHsKICAgICAgICAgICAgICAgICBpZiAobiA+IHJlbWFpbmluZykKQEAgLTEwMzQsNiArMTA1Myw5IEBACiAgICAgICAgICAgICAgICAgY29udGludWU7IC8qIHNob3J0IGNpcmN1aXQgKi8KICAgICAgICAgICAgIH0KICAgICAgICAgfQorICAgICAgICBlbHNlCisgICAgICAgICAgICBuID0gMDsKKyAgICAgICAgCiAgICAgICAgIGlmIChuID09IDAgfHwgKG4gPT0gLTIgJiYgd3JpdHRlbiA+IDApKQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGlmIChuIDwgMCkgewpAQCAtMTA0Myw2ICsxMDY1LDEyIEBACiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBnb3RvIGVuZDsKICAgICAgICAgfQorICAgICAgICAKKyAgICAgICAgLyogQXQgbW9zdCBvbmUgcmVhZCBpbiByZWFkaW50bzEgbW9kZSAqLworICAgICAgICBpZiAocmVhZGludG8xKSB7CisgICAgICAgICAgICB3cml0dGVuICs9IG47CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQogICAgIH0KICAgICByZXMgPSBQeUxvbmdfRnJvbVNzaXplX3Qod3JpdHRlbik7CiAKQEAgLTEwNTQsNiArMTA4MiwxOSBAQAogfQogCiBzdGF0aWMgUHlPYmplY3QgKgorYnVmZmVyZWRfcmVhZGludG8oYnVmZmVyZWQgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQoreworICAgIHJldHVybiBfYnVmZmVyZWRfcmVhZGludG9fZ2VuZXJpYyhzZWxmLCBhcmdzLCAwKTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK2J1ZmZlcmVkX3JlYWRpbnRvMShidWZmZXJlZCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgcmV0dXJuIF9idWZmZXJlZF9yZWFkaW50b19nZW5lcmljKHNlbGYsIGFyZ3MsIDEpOworfQorCisKK3N0YXRpYyBQeU9iamVjdCAqCiBfYnVmZmVyZWRfcmVhZGxpbmUoYnVmZmVyZWQgKnNlbGYsIFB5X3NzaXplX3QgbGltaXQpCiB7CiAgICAgUHlPYmplY3QgKnJlcyA9IE5VTEw7CkBAIC0xNzM4LDYgKzE3NzksNyBAQAogICAgIHsicGVlayIsIChQeUNGdW5jdGlvbilidWZmZXJlZF9wZWVrLCBNRVRIX1ZBUkFSR1N9LAogICAgIHsicmVhZDEiLCAoUHlDRnVuY3Rpb24pYnVmZmVyZWRfcmVhZDEsIE1FVEhfVkFSQVJHU30sCiAgICAgeyJyZWFkaW50byIsIChQeUNGdW5jdGlvbilidWZmZXJlZF9yZWFkaW50bywgTUVUSF9WQVJBUkdTfSwKKyAgICB7InJlYWRpbnRvMSIsIChQeUNGdW5jdGlvbilidWZmZXJlZF9yZWFkaW50bzEsIE1FVEhfVkFSQVJHU30sCiAgICAgeyJyZWFkbGluZSIsIChQeUNGdW5jdGlvbilidWZmZXJlZF9yZWFkbGluZSwgTUVUSF9WQVJBUkdTfSwKICAgICB7InNlZWsiLCAoUHlDRnVuY3Rpb24pYnVmZmVyZWRfc2VlaywgTUVUSF9WQVJBUkdTfSwKICAgICB7InRlbGwiLCAoUHlDRnVuY3Rpb24pYnVmZmVyZWRfdGVsbCwgTUVUSF9OT0FSR1N9LApAQCAtMjMzOSw2ICsyMzgxLDEyIEBACiB9CiAKIHN0YXRpYyBQeU9iamVjdCAqCitidWZmZXJlZHJ3cGFpcl9yZWFkaW50bzEocndwYWlyICpzZWxmLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICByZXR1cm4gX2ZvcndhcmRfY2FsbChzZWxmLT5yZWFkZXIsICZQeUlkX3JlYWRpbnRvMSwgYXJncyk7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCiBidWZmZXJlZHJ3cGFpcl93cml0ZShyd3BhaXIgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQogewogICAgIHJldHVybiBfZm9yd2FyZF9jYWxsKHNlbGYtPndyaXRlciwgJlB5SWRfd3JpdGUsIGFyZ3MpOwpAQCAtMjQwMyw2ICsyNDUxLDcgQEAKICAgICB7InBlZWsiLCAoUHlDRnVuY3Rpb24pYnVmZmVyZWRyd3BhaXJfcGVlaywgTUVUSF9WQVJBUkdTfSwKICAgICB7InJlYWQxIiwgKFB5Q0Z1bmN0aW9uKWJ1ZmZlcmVkcndwYWlyX3JlYWQxLCBNRVRIX1ZBUkFSR1N9LAogICAgIHsicmVhZGludG8iLCAoUHlDRnVuY3Rpb24pYnVmZmVyZWRyd3BhaXJfcmVhZGludG8sIE1FVEhfVkFSQVJHU30sCisgICAgeyJyZWFkaW50bzEiLCAoUHlDRnVuY3Rpb24pYnVmZmVyZWRyd3BhaXJfcmVhZGludG8xLCBNRVRIX1ZBUkFSR1N9LAogCiAgICAgeyJ3cml0ZSIsIChQeUNGdW5jdGlvbilidWZmZXJlZHJ3cGFpcl93cml0ZSwgTUVUSF9WQVJBUkdTfSwKICAgICB7ImZsdXNoIiwgKFB5Q0Z1bmN0aW9uKWJ1ZmZlcmVkcndwYWlyX2ZsdXNoLCBNRVRIX05PQVJHU30sCkBAIC0yNTUxLDYgKzI2MDAsNyBAQAogICAgIHsicmVhZCIsIChQeUNGdW5jdGlvbilidWZmZXJlZF9yZWFkLCBNRVRIX1ZBUkFSR1N9LAogICAgIHsicmVhZDEiLCAoUHlDRnVuY3Rpb24pYnVmZmVyZWRfcmVhZDEsIE1FVEhfVkFSQVJHU30sCiAgICAgeyJyZWFkaW50byIsIChQeUNGdW5jdGlvbilidWZmZXJlZF9yZWFkaW50bywgTUVUSF9WQVJBUkdTfSwKKyAgICB7InJlYWRpbnRvMSIsIChQeUNGdW5jdGlvbilidWZmZXJlZF9yZWFkaW50bzEsIE1FVEhfVkFSQVJHU30sCiAgICAgeyJyZWFkbGluZSIsIChQeUNGdW5jdGlvbilidWZmZXJlZF9yZWFkbGluZSwgTUVUSF9WQVJBUkdTfSwKICAgICB7InBlZWsiLCAoUHlDRnVuY3Rpb24pYnVmZmVyZWRfcGVlaywgTUVUSF9WQVJBUkdTfSwKICAgICB7IndyaXRlIiwgKFB5Q0Z1bmN0aW9uKWJ1ZmZlcmVkd3JpdGVyX3dyaXRlLCBNRVRIX1ZBUkFSR1N9LApkaWZmIC0tZ2l0IGEvTW9kdWxlcy9faW8vYnl0ZXNpby5jIGIvTW9kdWxlcy9faW8vYnl0ZXNpby5jCmluZGV4IDE1MzdkOTcuLmZjNGVhNzQgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvX2lvL2J5dGVzaW8uYworKysgYi9Nb2R1bGVzL19pby9ieXRlc2lvLmMKQEAgLTQsMTAgKzQsOSBAQAogCiB0eXBlZGVmIHN0cnVjdCB7CiAgICAgUHlPYmplY3RfSEVBRAotICAgIGNoYXIgKmJ1ZjsKKyAgICBQeU9iamVjdCAqYnVmOwogICAgIFB5X3NzaXplX3QgcG9zOwogICAgIFB5X3NzaXplX3Qgc3RyaW5nX3NpemU7Ci0gICAgc2l6ZV90IGJ1Zl9zaXplOwogICAgIFB5T2JqZWN0ICpkaWN0OwogICAgIFB5T2JqZWN0ICp3ZWFrcmVmbGlzdDsKICAgICBQeV9zc2l6ZV90IGV4cG9ydHM7CkBAIC0xOCw2ICsxNywxMiBAQAogICAgIGJ5dGVzaW8gKnNvdXJjZTsKIH0gYnl0ZXNpb2J1ZjsKIAorLyogVGhlIGJ5dGVzaW8gb2JqZWN0IGNhbiBiZSBpbiB0aHJlZSBzdGF0ZXM6CisgICogUHlfUkVGQ05UKGJ1ZikgPT0gMSwgZXhwb3J0cyA9PSAwLgorICAqIFB5X1JFRkNOVChidWYpID4gMS4gIGV4cG9ydHMgPT0gMCwKKyAgICBmaXJzdCBtb2RpZmljYXRpb24gb3IgZXhwb3J0IGNhdXNlcyB0aGUgaW50ZXJuYWwgYnVmZmVyIGNvcHlpbmcuCisgICogZXhwb3J0cyA+IDAuICBQeV9SRUZDTlQoYnVmKSA9PSAxLCBhbnkgbW9kaWZpY2F0aW9ucyBhcmUgZm9yYmlkZGVuLgorKi8KIAogI2RlZmluZSBDSEVDS19DTE9TRUQoc2VsZikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIGlmICgoc2VsZiktPmJ1ZiA9PSBOVUxMKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXApAQCAtMzMsNDAgKzM4LDYwIEBACiAgICAgICAgIHJldHVybiBOVUxMOyBcCiAgICAgfQogCisjZGVmaW5lIFNIQVJFRF9CVUYoc2VsZikgKFB5X1JFRkNOVCgoc2VsZiktPmJ1ZikgPiAxKQorCiAKIC8qIEludGVybmFsIHJvdXRpbmUgdG8gZ2V0IGEgbGluZSBmcm9tIHRoZSBidWZmZXIgb2YgYSBCeXRlc0lPCiAgICBvYmplY3QuIFJldHVybnMgdGhlIGxlbmd0aCBiZXR3ZWVuIHRoZSBjdXJyZW50IHBvc2l0aW9uIHRvIHRoZQogICAgbmV4dCBuZXdsaW5lIGNoYXJhY3Rlci4gKi8KIHN0YXRpYyBQeV9zc2l6ZV90Ci1nZXRfbGluZShieXRlc2lvICpzZWxmLCBjaGFyICoqb3V0cHV0KQorc2Nhbl9lb2woYnl0ZXNpbyAqc2VsZiwgUHlfc3NpemVfdCBsZW4pCiB7Ci0gICAgY2hhciAqbjsKLSAgICBjb25zdCBjaGFyICpzdHJfZW5kOwotICAgIFB5X3NzaXplX3QgbGVuOworICAgIGNvbnN0IGNoYXIgKnN0YXJ0LCAqbjsKKyAgICBQeV9zc2l6ZV90IG1heGxlbjsKIAogICAgIGFzc2VydChzZWxmLT5idWYgIT0gTlVMTCk7CiAKICAgICAvKiBNb3ZlIHRvIHRoZSBlbmQgb2YgdGhlIGxpbmUsIHVwIHRvIHRoZSBlbmQgb2YgdGhlIHN0cmluZywgcy4gKi8KLSAgICBzdHJfZW5kID0gc2VsZi0+YnVmICsgc2VsZi0+c3RyaW5nX3NpemU7Ci0gICAgZm9yIChuID0gc2VsZi0+YnVmICsgc2VsZi0+cG9zOwotICAgICAgICAgbiA8IHN0cl9lbmQgJiYgKm4gIT0gJ1xuJzsKLSAgICAgICAgIG4rKyk7CisgICAgc3RhcnQgPSBQeUJ5dGVzX0FTX1NUUklORyhzZWxmLT5idWYpICsgc2VsZi0+cG9zOworICAgIG1heGxlbiA9IHNlbGYtPnN0cmluZ19zaXplIC0gc2VsZi0+cG9zOworICAgIGlmIChsZW4gPCAwIHx8IGxlbiA+IG1heGxlbikKKyAgICAgICAgbGVuID0gbWF4bGVuOwogCi0gICAgLyogU2tpcCB0aGUgbmV3bGluZSBjaGFyYWN0ZXIgKi8KLSAgICBpZiAobiA8IHN0cl9lbmQpCi0gICAgICAgIG4rKzsKLQotICAgIC8qIEdldCB0aGUgbGVuZ3RoIGZyb20gdGhlIGN1cnJlbnQgcG9zaXRpb24gdG8gdGhlIGVuZCBvZiB0aGUgbGluZS4gKi8KLSAgICBsZW4gPSBuIC0gKHNlbGYtPmJ1ZiArIHNlbGYtPnBvcyk7Ci0gICAgKm91dHB1dCA9IHNlbGYtPmJ1ZiArIHNlbGYtPnBvczsKLQorICAgIGlmIChsZW4pIHsKKyAgICAgICAgbiA9IG1lbWNocihzdGFydCwgJ1xuJywgbGVuKTsKKyAgICAgICAgaWYgKG4pCisgICAgICAgICAgICAvKiBHZXQgdGhlIGxlbmd0aCBmcm9tIHRoZSBjdXJyZW50IHBvc2l0aW9uIHRvIHRoZSBlbmQgb2YKKyAgICAgICAgICAgICAgIHRoZSBsaW5lLiAqLworICAgICAgICAgICAgbGVuID0gbiAtIHN0YXJ0ICsgMTsKKyAgICB9CiAgICAgYXNzZXJ0KGxlbiA+PSAwKTsKICAgICBhc3NlcnQoc2VsZi0+cG9zIDwgUFlfU1NJWkVfVF9NQVggLSBsZW4pOwotICAgIHNlbGYtPnBvcyArPSBsZW47CiAKICAgICByZXR1cm4gbGVuOwogfQogCisvKiBJbnRlcm5hbCByb3V0aW5lIGZvciBkZXRhY2hpbmcgdGhlIHNoYXJlZCBidWZmZXIgb2YgQnl0ZXNJTyBvYmplY3RzLgorICAgVGhlIGNhbGxlciBzaG91bGQgZW5zdXJlIHRoYXQgdGhlICdzaXplJyBhcmd1bWVudCBpcyBub24tbmVnYXRpdmUgYW5kCisgICBub3QgbGVzc2VyIHRoYW4gc2VsZi0+c3RyaW5nX3NpemUuICBSZXR1cm5zIDAgb24gc3VjY2VzcywgLTEgb3RoZXJ3aXNlLiAqLworc3RhdGljIGludAordW5zaGFyZV9idWZmZXIoYnl0ZXNpbyAqc2VsZiwgc2l6ZV90IHNpemUpCit7CisgICAgUHlPYmplY3QgKm5ld19idWYsICpvbGRfYnVmOworICAgIGFzc2VydChTSEFSRURfQlVGKHNlbGYpKTsKKyAgICBhc3NlcnQoc2VsZi0+ZXhwb3J0cyA9PSAwKTsKKyAgICBhc3NlcnQoc2l6ZSA+PSAoc2l6ZV90KXNlbGYtPnN0cmluZ19zaXplKTsKKyAgICBuZXdfYnVmID0gUHlCeXRlc19Gcm9tU3RyaW5nQW5kU2l6ZShOVUxMLCBzaXplKTsKKyAgICBpZiAobmV3X2J1ZiA9PSBOVUxMKQorICAgICAgICByZXR1cm4gLTE7CisgICAgbWVtY3B5KFB5Qnl0ZXNfQVNfU1RSSU5HKG5ld19idWYpLCBQeUJ5dGVzX0FTX1NUUklORyhzZWxmLT5idWYpLAorICAgICAgICAgICBzZWxmLT5zdHJpbmdfc2l6ZSk7CisgICAgb2xkX2J1ZiA9IHNlbGYtPmJ1ZjsKKyAgICBzZWxmLT5idWYgPSBuZXdfYnVmOworICAgIFB5X0RFQ1JFRihvbGRfYnVmKTsKKyAgICByZXR1cm4gMDsKK30KKwogLyogSW50ZXJuYWwgcm91dGluZSBmb3IgY2hhbmdpbmcgdGhlIHNpemUgb2YgdGhlIGJ1ZmZlciBvZiBCeXRlc0lPIG9iamVjdHMuCiAgICBUaGUgY2FsbGVyIHNob3VsZCBlbnN1cmUgdGhhdCB0aGUgJ3NpemUnIGFyZ3VtZW50IGlzIG5vbi1uZWdhdGl2ZS4gIFJldHVybnMKICAgIDAgb24gc3VjY2VzcywgLTEgb3RoZXJ3aXNlLiAqLwpAQCAtNzUsOCArMTAwLDcgQEAKIHsKICAgICAvKiBIZXJlLCB1bnNpZ25lZCB0eXBlcyBhcmUgdXNlZCB0byBhdm9pZCBkZWFsaW5nIHdpdGggc2lnbmVkIGludGVnZXIKICAgICAgICBvdmVyZmxvdywgd2hpY2ggaXMgdW5kZWZpbmVkIGluIEMuICovCi0gICAgc2l6ZV90IGFsbG9jID0gc2VsZi0+YnVmX3NpemU7Ci0gICAgY2hhciAqbmV3X2J1ZiA9IE5VTEw7CisgICAgc2l6ZV90IGFsbG9jID0gUHlCeXRlc19HRVRfU0laRShzZWxmLT5idWYpOwogCiAgICAgYXNzZXJ0KHNlbGYtPmJ1ZiAhPSBOVUxMKTsKIApAQCAtMTA0LDEzICsxMjgsMTUgQEAKIAogICAgIGlmIChhbGxvYyA+ICgoc2l6ZV90KS0xKSAvIHNpemVvZihjaGFyKSkKICAgICAgICAgZ290byBvdmVyZmxvdzsKLSAgICBuZXdfYnVmID0gKGNoYXIgKilQeU1lbV9SZWFsbG9jKHNlbGYtPmJ1ZiwgYWxsb2MgKiBzaXplb2YoY2hhcikpOwotICAgIGlmIChuZXdfYnVmID09IE5VTEwpIHsKLSAgICAgICAgUHlFcnJfTm9NZW1vcnkoKTsKLSAgICAgICAgcmV0dXJuIC0xOworCisgICAgaWYgKFNIQVJFRF9CVUYoc2VsZikpIHsKKyAgICAgICAgaWYgKHVuc2hhcmVfYnVmZmVyKHNlbGYsIGFsbG9jKSA8IDApCisgICAgICAgICAgICByZXR1cm4gLTE7CiAgICAgfQotICAgIHNlbGYtPmJ1Zl9zaXplID0gYWxsb2M7Ci0gICAgc2VsZi0+YnVmID0gbmV3X2J1ZjsKKyAgICBlbHNlIHsKKyAgICAgICAgaWYgKF9QeUJ5dGVzX1Jlc2l6ZSgmc2VsZi0+YnVmLCBhbGxvYykgPCAwKQorICAgICAgICAgICAgcmV0dXJuIC0xOworICAgIH0KIAogICAgIHJldHVybiAwOwogCkBAIC0xMjUsMTIgKzE1MSwxOCBAQAogc3RhdGljIFB5X3NzaXplX3QKIHdyaXRlX2J5dGVzKGJ5dGVzaW8gKnNlbGYsIGNvbnN0IGNoYXIgKmJ5dGVzLCBQeV9zc2l6ZV90IGxlbikKIHsKKyAgICBzaXplX3QgZW5kcG9zOwogICAgIGFzc2VydChzZWxmLT5idWYgIT0gTlVMTCk7CiAgICAgYXNzZXJ0KHNlbGYtPnBvcyA+PSAwKTsKICAgICBhc3NlcnQobGVuID49IDApOwogCi0gICAgaWYgKChzaXplX3Qpc2VsZi0+cG9zICsgbGVuID4gc2VsZi0+YnVmX3NpemUpIHsKLSAgICAgICAgaWYgKHJlc2l6ZV9idWZmZXIoc2VsZiwgKHNpemVfdClzZWxmLT5wb3MgKyBsZW4pIDwgMCkKKyAgICBlbmRwb3MgPSAoc2l6ZV90KXNlbGYtPnBvcyArIGxlbjsKKyAgICBpZiAoZW5kcG9zID4gKHNpemVfdClQeUJ5dGVzX0dFVF9TSVpFKHNlbGYtPmJ1ZikpIHsKKyAgICAgICAgaWYgKHJlc2l6ZV9idWZmZXIoc2VsZiwgZW5kcG9zKSA8IDApCisgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgfQorICAgIGVsc2UgaWYgKFNIQVJFRF9CVUYoc2VsZikpIHsKKyAgICAgICAgaWYgKHVuc2hhcmVfYnVmZmVyKHNlbGYsIFB5X01BWChlbmRwb3MsIChzaXplX3Qpc2VsZi0+c3RyaW5nX3NpemUpKSA8IDApCiAgICAgICAgICAgICByZXR1cm4gLTE7CiAgICAgfQogCkBAIC0xNDMsMTggKzE3NSwxOCBAQAogICAgICAgICAgIHwgICB8ICAgICAgICAgICAgPC0tdG8gcGFkLS0+fDwtLS10byB3cml0ZS0tLT4gICAgfAogICAgICAgICAgIDAgICBidWYgICAgICAgICAgICAgICAgICAgcG9zaXRpb24KICAgICAgICAgKi8KLSAgICAgICAgbWVtc2V0KHNlbGYtPmJ1ZiArIHNlbGYtPnN0cmluZ19zaXplLCAnXDAnLAorICAgICAgICBtZW1zZXQoUHlCeXRlc19BU19TVFJJTkcoc2VsZi0+YnVmKSArIHNlbGYtPnN0cmluZ19zaXplLCAnXDAnLAogICAgICAgICAgICAgICAgKHNlbGYtPnBvcyAtIHNlbGYtPnN0cmluZ19zaXplKSAqIHNpemVvZihjaGFyKSk7CiAgICAgfQogCiAgICAgLyogQ29weSB0aGUgZGF0YSB0byB0aGUgaW50ZXJuYWwgYnVmZmVyLCBvdmVyd3JpdGluZyBzb21lIG9mIHRoZSBleGlzdGluZwogICAgICAgIGRhdGEgaWYgc2VsZi0+cG9zIDwgc2VsZi0+c3RyaW5nX3NpemUuICovCi0gICAgbWVtY3B5KHNlbGYtPmJ1ZiArIHNlbGYtPnBvcywgYnl0ZXMsIGxlbik7Ci0gICAgc2VsZi0+cG9zICs9IGxlbjsKKyAgICBtZW1jcHkoUHlCeXRlc19BU19TVFJJTkcoc2VsZi0+YnVmKSArIHNlbGYtPnBvcywgYnl0ZXMsIGxlbik7CisgICAgc2VsZi0+cG9zID0gZW5kcG9zOwogCiAgICAgLyogU2V0IHRoZSBuZXcgbGVuZ3RoIG9mIHRoZSBpbnRlcm5hbCBzdHJpbmcgaWYgaXQgaGFzIGNoYW5nZWQuICovCi0gICAgaWYgKHNlbGYtPnN0cmluZ19zaXplIDwgc2VsZi0+cG9zKSB7Ci0gICAgICAgIHNlbGYtPnN0cmluZ19zaXplID0gc2VsZi0+cG9zOworICAgIGlmICgoc2l6ZV90KXNlbGYtPnN0cmluZ19zaXplIDwgZW5kcG9zKSB7CisgICAgICAgIHNlbGYtPnN0cmluZ19zaXplID0gZW5kcG9zOwogICAgIH0KIAogICAgIHJldHVybiBsZW47CkBAIC0yMzEsNyArMjYzLDIyIEBACiBieXRlc2lvX2dldHZhbHVlKGJ5dGVzaW8gKnNlbGYpCiB7CiAgICAgQ0hFQ0tfQ0xPU0VEKHNlbGYpOwotICAgIHJldHVybiBQeUJ5dGVzX0Zyb21TdHJpbmdBbmRTaXplKHNlbGYtPmJ1Ziwgc2VsZi0+c3RyaW5nX3NpemUpOworICAgIGlmIChzZWxmLT5zdHJpbmdfc2l6ZSA8PSAxIHx8IHNlbGYtPmV4cG9ydHMgPiAwKQorICAgICAgICByZXR1cm4gUHlCeXRlc19Gcm9tU3RyaW5nQW5kU2l6ZShQeUJ5dGVzX0FTX1NUUklORyhzZWxmLT5idWYpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLT5zdHJpbmdfc2l6ZSk7CisKKyAgICBpZiAoc2VsZi0+c3RyaW5nX3NpemUgIT0gUHlCeXRlc19HRVRfU0laRShzZWxmLT5idWYpKSB7CisgICAgICAgIGlmIChTSEFSRURfQlVGKHNlbGYpKSB7CisgICAgICAgICAgICBpZiAodW5zaGFyZV9idWZmZXIoc2VsZiwgc2VsZi0+c3RyaW5nX3NpemUpIDwgMCkKKyAgICAgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgfQorICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgIGlmIChfUHlCeXRlc19SZXNpemUoJnNlbGYtPmJ1Ziwgc2VsZi0+c3RyaW5nX3NpemUpIDwgMCkKKyAgICAgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgfQorICAgIH0KKyAgICBQeV9JTkNSRUYoc2VsZi0+YnVmKTsKKyAgICByZXR1cm4gc2VsZi0+YnVmOwogfQogCiBQeURvY19TVFJWQVIoaXNhdHR5X2RvYywKQEAgLTI1Nyw2ICszMDQsMjYgQEAKICAgICByZXR1cm4gUHlMb25nX0Zyb21Tc2l6ZV90KHNlbGYtPnBvcyk7CiB9CiAKK3N0YXRpYyBQeU9iamVjdCAqCityZWFkX2J5dGVzKGJ5dGVzaW8gKnNlbGYsIFB5X3NzaXplX3Qgc2l6ZSkKK3sKKyAgICBjaGFyICpvdXRwdXQ7CisKKyAgICBhc3NlcnQoc2VsZi0+YnVmICE9IE5VTEwpOworICAgIGFzc2VydChzaXplIDw9IHNlbGYtPnN0cmluZ19zaXplKTsKKyAgICBpZiAoc2l6ZSA+IDEgJiYKKyAgICAgICAgc2VsZi0+cG9zID09IDAgJiYgc2l6ZSA9PSBQeUJ5dGVzX0dFVF9TSVpFKHNlbGYtPmJ1ZikgJiYKKyAgICAgICAgc2VsZi0+ZXhwb3J0cyA9PSAwKSB7CisgICAgICAgIHNlbGYtPnBvcyArPSBzaXplOworICAgICAgICBQeV9JTkNSRUYoc2VsZi0+YnVmKTsKKyAgICAgICAgcmV0dXJuIHNlbGYtPmJ1ZjsKKyAgICB9CisKKyAgICBvdXRwdXQgPSBQeUJ5dGVzX0FTX1NUUklORyhzZWxmLT5idWYpICsgc2VsZi0+cG9zOworICAgIHNlbGYtPnBvcyArPSBzaXplOworICAgIHJldHVybiBQeUJ5dGVzX0Zyb21TdHJpbmdBbmRTaXplKG91dHB1dCwgc2l6ZSk7Cit9CisKIFB5RG9jX1NUUlZBUihyZWFkX2RvYywKICJyZWFkKFtzaXplXSkgLT4gcmVhZCBhdCBtb3N0IHNpemUgYnl0ZXMsIHJldHVybmVkIGFzIGEgc3RyaW5nLlxuIgogIlxuIgpAQCAtMjY3LDcgKzMzNCw2IEBACiBieXRlc2lvX3JlYWQoYnl0ZXNpbyAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCiB7CiAgICAgUHlfc3NpemVfdCBzaXplLCBuOwotICAgIGNoYXIgKm91dHB1dDsKICAgICBQeU9iamVjdCAqYXJnID0gUHlfTm9uZTsKIAogICAgIENIRUNLX0NMT1NFRChzZWxmKTsKQEAgLTI5OCwxMSArMzY0LDcgQEAKICAgICAgICAgICAgIHNpemUgPSAwOwogICAgIH0KIAotICAgIGFzc2VydChzZWxmLT5idWYgIT0gTlVMTCk7Ci0gICAgb3V0cHV0ID0gc2VsZi0+YnVmICsgc2VsZi0+cG9zOwotICAgIHNlbGYtPnBvcyArPSBzaXplOwotCi0gICAgcmV0dXJuIFB5Qnl0ZXNfRnJvbVN0cmluZ0FuZFNpemUob3V0cHV0LCBzaXplKTsKKyAgICByZXR1cm4gcmVhZF9ieXRlcyhzZWxmLCBzaXplKTsKIH0KIAogCkBAIC0zMzYsNyArMzk4LDYgQEAKIGJ5dGVzaW9fcmVhZGxpbmUoYnl0ZXNpbyAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCiB7CiAgICAgUHlfc3NpemVfdCBzaXplLCBuOwotICAgIGNoYXIgKm91dHB1dDsKICAgICBQeU9iamVjdCAqYXJnID0gUHlfTm9uZTsKIAogICAgIENIRUNLX0NMT1NFRChzZWxmKTsKQEAgLTM1OSwxNSArNDIwLDkgQEAKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQogCi0gICAgbiA9IGdldF9saW5lKHNlbGYsICZvdXRwdXQpOworICAgIG4gPSBzY2FuX2VvbChzZWxmLCBzaXplKTsKIAotICAgIGlmIChzaXplID49IDAgJiYgc2l6ZSA8IG4pIHsKLSAgICAgICAgc2l6ZSA9IG4gLSBzaXplOwotICAgICAgICBuIC09IHNpemU7Ci0gICAgICAgIHNlbGYtPnBvcyAtPSBzaXplOwotICAgIH0KLQotICAgIHJldHVybiBQeUJ5dGVzX0Zyb21TdHJpbmdBbmRTaXplKG91dHB1dCwgbik7CisgICAgcmV0dXJuIHJlYWRfYnl0ZXMoc2VsZiwgbik7CiB9CiAKIFB5RG9jX1NUUlZBUihyZWFkbGluZXNfZG9jLApAQCAtNDEwLDcgKzQ2NSw5IEBACiAgICAgaWYgKCFyZXN1bHQpCiAgICAgICAgIHJldHVybiBOVUxMOwogCi0gICAgd2hpbGUgKChuID0gZ2V0X2xpbmUoc2VsZiwgJm91dHB1dCkpICE9IDApIHsKKyAgICBvdXRwdXQgPSBQeUJ5dGVzX0FTX1NUUklORyhzZWxmLT5idWYpICsgc2VsZi0+cG9zOworICAgIHdoaWxlICgobiA9IHNjYW5fZW9sKHNlbGYsIC0xKSkgIT0gMCkgeworICAgICAgICBzZWxmLT5wb3MgKz0gbjsKICAgICAgICAgbGluZSA9IFB5Qnl0ZXNfRnJvbVN0cmluZ0FuZFNpemUob3V0cHV0LCBuKTsKICAgICAgICAgaWYgKCFsaW5lKQogICAgICAgICAgICAgZ290byBvbl9lcnJvcjsKQEAgLTQyMiw2ICs0NzksNyBAQAogICAgICAgICBzaXplICs9IG47CiAgICAgICAgIGlmIChtYXhzaXplID4gMCAmJiBzaXplID49IG1heHNpemUpCiAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgb3V0cHV0ICs9IG47CiAgICAgfQogICAgIHJldHVybiByZXN1bHQ7CiAKQEAgLTQ1Niw3ICs1MTQsNyBAQAogICAgICAgICAgICAgbGVuID0gMDsKICAgICB9CiAKLSAgICBtZW1jcHkoYnVmZmVyLmJ1Ziwgc2VsZi0+YnVmICsgc2VsZi0+cG9zLCBsZW4pOworICAgIG1lbWNweShidWZmZXIuYnVmLCBQeUJ5dGVzX0FTX1NUUklORyhzZWxmLT5idWYpICsgc2VsZi0+cG9zLCBsZW4pOwogICAgIGFzc2VydChzZWxmLT5wb3MgKyBsZW4gPCBQWV9TU0laRV9UX01BWCk7CiAgICAgYXNzZXJ0KGxlbiA+PSAwKTsKICAgICBzZWxmLT5wb3MgKz0gbGVuOwpAQCAtNTE2LDE3ICs1NzQsMTYgQEAKIHN0YXRpYyBQeU9iamVjdCAqCiBieXRlc2lvX2l0ZXJuZXh0KGJ5dGVzaW8gKnNlbGYpCiB7Ci0gICAgY2hhciAqbmV4dDsKICAgICBQeV9zc2l6ZV90IG47CiAKICAgICBDSEVDS19DTE9TRUQoc2VsZik7CiAKLSAgICBuID0gZ2V0X2xpbmUoc2VsZiwgJm5leHQpOworICAgIG4gPSBzY2FuX2VvbChzZWxmLCAtMSk7CiAKLSAgICBpZiAoIW5leHQgfHwgbiA9PSAwKQorICAgIGlmIChuID09IDApCiAgICAgICAgIHJldHVybiBOVUxMOwogCi0gICAgcmV0dXJuIFB5Qnl0ZXNfRnJvbVN0cmluZ0FuZFNpemUobmV4dCwgbik7CisgICAgcmV0dXJuIHJlYWRfYnl0ZXMoc2VsZiwgbik7CiB9CiAKIFB5RG9jX1NUUlZBUihzZWVrX2RvYywKQEAgLTY1OCwxMCArNzE1LDcgQEAKIGJ5dGVzaW9fY2xvc2UoYnl0ZXNpbyAqc2VsZikKIHsKICAgICBDSEVDS19FWFBPUlRTKHNlbGYpOwotICAgIGlmIChzZWxmLT5idWYgIT0gTlVMTCkgewotICAgICAgICBQeU1lbV9GcmVlKHNlbGYtPmJ1Zik7Ci0gICAgICAgIHNlbGYtPmJ1ZiA9IE5VTEw7Ci0gICAgfQorICAgIFB5X0NMRUFSKHNlbGYtPmJ1Zik7CiAgICAgUHlfUkVUVVJOX05PTkU7CiB9CiAKQEAgLTc5MSwxMCArODQ1LDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICJkZWFsbG9jYXRlZCBCeXRlc0lPIG9iamVjdCBoYXMgZXhwb3J0ZWQgYnVmZmVycyIpOwogICAgICAgICBQeUVycl9QcmludCgpOwogICAgIH0KLSAgICBpZiAoc2VsZi0+YnVmICE9IE5VTEwpIHsKLSAgICAgICAgUHlNZW1fRnJlZShzZWxmLT5idWYpOwotICAgICAgICBzZWxmLT5idWYgPSBOVUxMOwotICAgIH0KKyAgICBQeV9DTEVBUihzZWxmLT5idWYpOwogICAgIFB5X0NMRUFSKHNlbGYtPmRpY3QpOwogICAgIGlmIChzZWxmLT53ZWFrcmVmbGlzdCAhPSBOVUxMKQogICAgICAgICBQeU9iamVjdF9DbGVhcldlYWtSZWZzKChQeU9iamVjdCAqKSBzZWxmKTsKQEAgLTgxNCw3ICs4NjUsNyBAQAogICAgIC8qIHRwX2FsbG9jIGluaXRpYWxpemVzIGFsbCB0aGUgZmllbGRzIHRvIHplcm8uIFNvIHdlIGRvbid0IGhhdmUgdG8KICAgICAgICBpbml0aWFsaXplIHRoZW0gaGVyZS4gKi8KIAotICAgIHNlbGYtPmJ1ZiA9IChjaGFyICopUHlNZW1fTWFsbG9jKDApOworICAgIHNlbGYtPmJ1ZiA9IFB5Qnl0ZXNfRnJvbVN0cmluZ0FuZFNpemUoTlVMTCwgMCk7CiAgICAgaWYgKHNlbGYtPmJ1ZiA9PSBOVUxMKSB7CiAgICAgICAgIFB5X0RFQ1JFRihzZWxmKTsKICAgICAgICAgcmV0dXJuIFB5RXJyX05vTWVtb3J5KCk7CkBAIC04MzcsMTMgKzg4OCwyNiBAQAogICAgIHNlbGYtPnN0cmluZ19zaXplID0gMDsKICAgICBzZWxmLT5wb3MgPSAwOwogCisgICAgaWYgKHNlbGYtPmV4cG9ydHMgPiAwKSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19CdWZmZXJFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICJFeGlzdGluZyBleHBvcnRzIG9mIGRhdGE6IG9iamVjdCBjYW5ub3QgYmUgcmUtc2l6ZWQiKTsKKyAgICAgICAgcmV0dXJuIC0xOworICAgIH0KICAgICBpZiAoaW5pdHZhbHVlICYmIGluaXR2YWx1ZSAhPSBQeV9Ob25lKSB7Ci0gICAgICAgIFB5T2JqZWN0ICpyZXM7Ci0gICAgICAgIHJlcyA9IGJ5dGVzaW9fd3JpdGUoc2VsZiwgaW5pdHZhbHVlKTsKLSAgICAgICAgaWYgKHJlcyA9PSBOVUxMKQotICAgICAgICAgICAgcmV0dXJuIC0xOwotICAgICAgICBQeV9ERUNSRUYocmVzKTsKLSAgICAgICAgc2VsZi0+cG9zID0gMDsKKyAgICAgICAgaWYgKFB5Qnl0ZXNfQ2hlY2tFeGFjdChpbml0dmFsdWUpKSB7CisgICAgICAgICAgICBQeV9JTkNSRUYoaW5pdHZhbHVlKTsKKyAgICAgICAgICAgIFB5X1hERUNSRUYoc2VsZi0+YnVmKTsKKyAgICAgICAgICAgIHNlbGYtPmJ1ZiA9IGluaXR2YWx1ZTsKKyAgICAgICAgICAgIHNlbGYtPnN0cmluZ19zaXplID0gUHlCeXRlc19HRVRfU0laRShpbml0dmFsdWUpOworICAgICAgICB9CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgUHlPYmplY3QgKnJlczsKKyAgICAgICAgICAgIHJlcyA9IGJ5dGVzaW9fd3JpdGUoc2VsZiwgaW5pdHZhbHVlKTsKKyAgICAgICAgICAgIGlmIChyZXMgPT0gTlVMTCkKKyAgICAgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgICAgICBQeV9ERUNSRUYocmVzKTsKKyAgICAgICAgICAgIHNlbGYtPnBvcyA9IDA7CisgICAgICAgIH0KICAgICB9CiAKICAgICByZXR1cm4gMDsKQEAgLTg1NSw4ICs5MTksOCBAQAogICAgIFB5X3NzaXplX3QgcmVzOwogCiAgICAgcmVzID0gc2l6ZW9mKGJ5dGVzaW8pOwotICAgIGlmIChzZWxmLT5idWYpCi0gICAgICAgIHJlcyArPSBzZWxmLT5idWZfc2l6ZTsKKyAgICBpZiAoc2VsZi0+YnVmICYmICFTSEFSRURfQlVGKHNlbGYpKQorICAgICAgICByZXMgKz0gX1B5U3lzX0dldFNpemVPZihzZWxmLT5idWYpOwogICAgIHJldHVybiBQeUxvbmdfRnJvbVNzaXplX3QocmVzKTsKIH0KIApAQCAtOTY0LDE4ICsxMDI4LDI0IEBACiBzdGF0aWMgaW50CiBieXRlc2lvYnVmX2dldGJ1ZmZlcihieXRlc2lvYnVmICpvYmosIFB5X2J1ZmZlciAqdmlldywgaW50IGZsYWdzKQogewotICAgIGludCByZXQ7CiAgICAgYnl0ZXNpbyAqYiA9IChieXRlc2lvICopIG9iai0+c291cmNlOworCiAgICAgaWYgKHZpZXcgPT0gTlVMTCkgewotICAgICAgICBiLT5leHBvcnRzKys7Ci0gICAgICAgIHJldHVybiAwOworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfQnVmZmVyRXJyb3IsCisgICAgICAgICAgICAiYnl0ZXNpb2J1Zl9nZXRidWZmZXI6IHZpZXc9PU5VTEwgYXJndW1lbnQgaXMgb2Jzb2xldGUiKTsKKyAgICAgICAgcmV0dXJuIC0xOwogICAgIH0KLSAgICByZXQgPSBQeUJ1ZmZlcl9GaWxsSW5mbyh2aWV3LCAoUHlPYmplY3QqKW9iaiwgYi0+YnVmLCBiLT5zdHJpbmdfc2l6ZSwKKyAgICBpZiAoU0hBUkVEX0JVRihiKSkgeworICAgICAgICBpZiAodW5zaGFyZV9idWZmZXIoYiwgYi0+c3RyaW5nX3NpemUpIDwgMCkKKyAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICB9CisKKyAgICAvKiBjYW5ub3QgZmFpbCBpZiB2aWV3ICE9IE5VTEwgYW5kIHJlYWRvbmx5ID09IDAgKi8KKyAgICAodm9pZClQeUJ1ZmZlcl9GaWxsSW5mbyh2aWV3LCAoUHlPYmplY3QqKW9iaiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeUJ5dGVzX0FTX1NUUklORyhiLT5idWYpLCBiLT5zdHJpbmdfc2l6ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLCBmbGFncyk7Ci0gICAgaWYgKHJldCA+PSAwKSB7Ci0gICAgICAgIGItPmV4cG9ydHMrKzsKLSAgICB9Ci0gICAgcmV0dXJuIHJldDsKKyAgICBiLT5leHBvcnRzKys7CisgICAgcmV0dXJuIDA7CiB9CiAKIHN0YXRpYyB2b2lkCmRpZmYgLS1naXQgYS9Nb2R1bGVzL19pby9maWxlaW8uYyBiL01vZHVsZXMvX2lvL2ZpbGVpby5jCmluZGV4IDgwY2E5OWMuLmFiOWViOGMgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvX2lvL2ZpbGVpby5jCisrKyBiL01vZHVsZXMvX2lvL2ZpbGVpby5jCkBAIC01Myw2ICs1Myw3IEBACiAgICAgc2lnbmVkIGludCBzZWVrYWJsZSA6IDI7IC8qIC0xIG1lYW5zIHVua25vd24gKi8KICAgICB1bnNpZ25lZCBpbnQgY2xvc2VmZCA6IDE7CiAgICAgY2hhciBmaW5hbGl6aW5nOworICAgIHVuc2lnbmVkIGludCBibGtzaXplOwogICAgIFB5T2JqZWN0ICp3ZWFrcmVmbGlzdDsKICAgICBQeU9iamVjdCAqZGljdDsKIH0gZmlsZWlvOwpAQCAtMTY4LDYgKzE2OSw3IEBACiAgICAgICAgIHNlbGYtPndyaXRhYmxlID0gMDsKICAgICAgICAgc2VsZi0+YXBwZW5kaW5nID0gMDsKICAgICAgICAgc2VsZi0+c2Vla2FibGUgPSAtMTsKKyAgICAgICAgc2VsZi0+Ymxrc2l6ZSA9IDA7CiAgICAgICAgIHNlbGYtPmNsb3NlZmQgPSAxOwogICAgICAgICBzZWxmLT53ZWFrcmVmbGlzdCA9IE5VTEw7CiAgICAgfQpAQCAtMTc1LDMyICsxNzcsMTIgQEAKICAgICByZXR1cm4gKFB5T2JqZWN0ICopIHNlbGY7CiB9CiAKLS8qIE9uIFVuaXgsIG9wZW4gd2lsbCBzdWNjZWVkIGZvciBkaXJlY3Rvcmllcy4KLSAgIEluIFB5dGhvbiwgdGhlcmUgc2hvdWxkIGJlIG5vIGZpbGUgb2JqZWN0cyByZWZlcnJpbmcgdG8KLSAgIGRpcmVjdG9yaWVzLCBzbyB3ZSBuZWVkIGEgY2hlY2suICAqLwotCi1zdGF0aWMgaW50Ci1kaXJjaGVjayhmaWxlaW8qIHNlbGYsIFB5T2JqZWN0ICpuYW1lb2JqKQotewotI2lmIGRlZmluZWQoSEFWRV9GU1RBVCkgJiYgZGVmaW5lZChTX0lTRElSKSAmJiBkZWZpbmVkKEVJU0RJUikKLSAgICBzdHJ1Y3Qgc3RhdCBidWY7Ci0gICAgaWYgKHNlbGYtPmZkIDwgMCkKLSAgICAgICAgcmV0dXJuIDA7Ci0gICAgaWYgKGZzdGF0KHNlbGYtPmZkLCAmYnVmKSA9PSAwICYmIFNfSVNESVIoYnVmLnN0X21vZGUpKSB7Ci0gICAgICAgIGVycm5vID0gRUlTRElSOwotICAgICAgICBQeUVycl9TZXRGcm9tRXJybm9XaXRoRmlsZW5hbWVPYmplY3QoUHlFeGNfSU9FcnJvciwgbmFtZW9iaik7Ci0gICAgICAgIHJldHVybiAtMTsKLSAgICB9Ci0jZW5kaWYKLSAgICByZXR1cm4gMDsKLX0KLQogc3RhdGljIGludAogY2hlY2tfZmQoaW50IGZkKQogewotI2lmIGRlZmluZWQoSEFWRV9GU1RBVCkKLSAgICBzdHJ1Y3Qgc3RhdCBidWY7Ci0gICAgaWYgKCFfUHlWZXJpZnlfZmQoZmQpIHx8IChmc3RhdChmZCwgJmJ1ZikgPCAwICYmIGVycm5vID09IEVCQURGKSkgeworI2lmIGRlZmluZWQoSEFWRV9GU1RBVCkgfHwgZGVmaW5lZChNU19XSU5ET1dTKQorICAgIHN0cnVjdCBfUHlfc3RhdF9zdHJ1Y3QgYnVmOworICAgIGlmIChfUHlfZnN0YXQoZmQsICZidWYpIDwgMCAmJiBlcnJubyA9PSBFQkFERikgewogICAgICAgICBQeU9iamVjdCAqZXhjOwogICAgICAgICBjaGFyICptc2cgPSBzdHJlcnJvcihFQkFERik7CiAgICAgICAgIGV4YyA9IFB5T2JqZWN0X0NhbGxGdW5jdGlvbihQeUV4Y19PU0Vycm9yLCAiKGlzKSIsCkBAIC0yNDAsNiArMjIyLDEwIEBACiAjZWxpZiAhZGVmaW5lZChNU19XSU5ET1dTKQogICAgIGludCAqYXRvbWljX2ZsYWdfd29ya3MgPSBOVUxMOwogI2VuZGlmCisjaWYgZGVmaW5lZChIQVZFX0ZTVEFUKSB8fCBkZWZpbmVkKE1TX1dJTkRPV1MpCisgICAgc3RydWN0IF9QeV9zdGF0X3N0cnVjdCBmZGZzdGF0OworI2VuZGlmCisgICAgaW50IGFzeW5jX2VyciA9IDA7CiAKICAgICBhc3NlcnQoUHlGaWxlSU9fQ2hlY2sob3NlbGYpKTsKICAgICBpZiAoc2VsZi0+ZmQgPj0gMCkgewpAQCAtMjc4LDcgKzI2NCw3IEBACiAgICAgICAgIGludCBydiA9IF9QeVVuaWNvZGVfSGFzTlVMQ2hhcnMobmFtZW9iaik7CiAgICAgICAgIGlmIChydikgewogICAgICAgICAgICAgaWYgKHJ2ICE9IC0xKQotICAgICAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsICJlbWJlZGRlZCBOVUwgY2hhcmFjdGVyIik7CisgICAgICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsICJlbWJlZGRlZCBudWxsIGNoYXJhY3RlciIpOwogICAgICAgICAgICAgcmV0dXJuIC0xOwogICAgICAgICB9CiAgICAgICAgIHdpZGVuYW1lID0gUHlVbmljb2RlX0FzVW5pY29kZShuYW1lb2JqKTsKQEAgLTM4MiwxNSArMzY4LDIwIEBACiAKICAgICAgICAgZXJybm8gPSAwOwogICAgICAgICBpZiAob3BlbmVyID09IFB5X05vbmUpIHsKLSAgICAgICAgICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKKyAgICAgICAgICAgIGRvIHsKKyAgICAgICAgICAgICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCiAjaWZkZWYgTVNfV0lORE9XUwotICAgICAgICAgICAgaWYgKHdpZGVuYW1lICE9IE5VTEwpCi0gICAgICAgICAgICAgICAgc2VsZi0+ZmQgPSBfd29wZW4od2lkZW5hbWUsIGZsYWdzLCAwNjY2KTsKLSAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBpZiAod2lkZW5hbWUgIT0gTlVMTCkKKyAgICAgICAgICAgICAgICAgICAgc2VsZi0+ZmQgPSBfd29wZW4od2lkZW5hbWUsIGZsYWdzLCAwNjY2KTsKKyAgICAgICAgICAgICAgICBlbHNlCiAjZW5kaWYKLSAgICAgICAgICAgICAgICBzZWxmLT5mZCA9IG9wZW4obmFtZSwgZmxhZ3MsIDA2NjYpOworICAgICAgICAgICAgICAgICAgICBzZWxmLT5mZCA9IG9wZW4obmFtZSwgZmxhZ3MsIDA2NjYpOworICAgICAgICAgICAgICAgIFB5X0VORF9BTExPV19USFJFQURTCisgICAgICAgICAgICB9IHdoaWxlIChzZWxmLT5mZCA8IDAgJiYgZXJybm8gPT0gRUlOVFIgJiYKKyAgICAgICAgICAgICAgICAgICAgICEoYXN5bmNfZXJyID0gUHlFcnJfQ2hlY2tTaWduYWxzKCkpKTsKIAotICAgICAgICAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKKyAgICAgICAgICAgIGlmIChhc3luY19lcnIpCisgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKICAgICAgICAgfQogICAgICAgICBlbHNlIHsKICAgICAgICAgICAgIFB5T2JqZWN0ICpmZG9iajsKQEAgLTQyOCw4ICs0MTksMjggQEAKICAgICAgICAgICAgIGdvdG8gZXJyb3I7CiAjZW5kaWYKICAgICB9Ci0gICAgaWYgKGRpcmNoZWNrKHNlbGYsIG5hbWVvYmopIDwgMCkKKworICAgIHNlbGYtPmJsa3NpemUgPSBERUZBVUxUX0JVRkZFUl9TSVpFOworI2lmIGRlZmluZWQoSEFWRV9GU1RBVCkgfHwgZGVmaW5lZChNU19XSU5ET1dTKQorICAgIGlmIChfUHlfZnN0YXQoc2VsZi0+ZmQsICZmZGZzdGF0KSA8IDApIHsKKyAgICAgICAgUHlFcnJfU2V0RnJvbUVycm5vKFB5RXhjX09TRXJyb3IpOwogICAgICAgICBnb3RvIGVycm9yOworICAgIH0KKyNpZiBkZWZpbmVkKFNfSVNESVIpICYmIGRlZmluZWQoRUlTRElSKQorICAgIC8qIE9uIFVuaXgsIG9wZW4gd2lsbCBzdWNjZWVkIGZvciBkaXJlY3Rvcmllcy4KKyAgICAgICBJbiBQeXRob24sIHRoZXJlIHNob3VsZCBiZSBubyBmaWxlIG9iamVjdHMgcmVmZXJyaW5nIHRvCisgICAgICAgZGlyZWN0b3JpZXMsIHNvIHdlIG5lZWQgYSBjaGVjay4gICovCisgICAgaWYgKFNfSVNESVIoZmRmc3RhdC5zdF9tb2RlKSkgeworICAgICAgICBlcnJubyA9IEVJU0RJUjsKKyAgICAgICAgUHlFcnJfU2V0RnJvbUVycm5vV2l0aEZpbGVuYW1lT2JqZWN0KFB5RXhjX0lPRXJyb3IsIG5hbWVvYmopOworICAgICAgICBnb3RvIGVycm9yOworICAgIH0KKyNlbmRpZiAvKiBkZWZpbmVkKFNfSVNESVIpICovCisjaWZkZWYgSEFWRV9TVFJVQ1RfU1RBVF9TVF9CTEtTSVpFCisgICAgaWYgKGZkZnN0YXQuc3RfYmxrc2l6ZSA+IDEpCisgICAgICAgIHNlbGYtPmJsa3NpemUgPSBmZGZzdGF0LnN0X2Jsa3NpemU7CisjZW5kaWYgLyogSEFWRV9TVFJVQ1RfU1RBVF9TVF9CTEtTSVpFICovCisjZW5kaWYgLyogSEFWRV9GU1RBVCB8fCBNU19XSU5ET1dTICovCiAKICNpZiBkZWZpbmVkKE1TX1dJTkRPV1MpIHx8IGRlZmluZWQoX19DWUdXSU5fXykKICAgICAvKiBkb24ndCB0cmFuc2xhdGUgbmV3bGluZXMgKFxyXG4gPD0+IFxuKSAqLwpAQCAtNTU0LDcgKzU2NSw3IEBACiB7CiAgICAgUHlfYnVmZmVyIHBidWY7CiAgICAgUHlfc3NpemVfdCBuLCBsZW47Ci0gICAgaW50IGVycjsKKyAgICBpbnQgZXJyLCBhc3luY19lcnIgPSAwOwogCiAgICAgaWYgKHNlbGYtPmZkIDwgMCkKICAgICAgICAgcmV0dXJuIGVycl9jbG9zZWQoKTsKQEAgLTU2NiwxNiArNTc3LDI1IEBACiAKICAgICBpZiAoX1B5VmVyaWZ5X2ZkKHNlbGYtPmZkKSkgewogICAgICAgICBsZW4gPSBwYnVmLmxlbjsKLSAgICAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwotICAgICAgICBlcnJubyA9IDA7CiAjaWZkZWYgTVNfV0lORE9XUwogICAgICAgICBpZiAobGVuID4gSU5UX01BWCkKICAgICAgICAgICAgIGxlbiA9IElOVF9NQVg7Ci0gICAgICAgIG4gPSByZWFkKHNlbGYtPmZkLCBwYnVmLmJ1ZiwgKGludClsZW4pOwotI2Vsc2UKLSAgICAgICAgbiA9IHJlYWQoc2VsZi0+ZmQsIHBidWYuYnVmLCBsZW4pOwogI2VuZGlmCi0gICAgICAgIFB5X0VORF9BTExPV19USFJFQURTCisKKyAgICAgICAgZG8geworICAgICAgICAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUworICAgICAgICAgICAgZXJybm8gPSAwOworI2lmZGVmIE1TX1dJTkRPV1MKKyAgICAgICAgICAgIG4gPSByZWFkKHNlbGYtPmZkLCBwYnVmLmJ1ZiwgKGludClsZW4pOworI2Vsc2UKKyAgICAgICAgICAgIG4gPSByZWFkKHNlbGYtPmZkLCBwYnVmLmJ1ZiwgbGVuKTsKKyNlbmRpZgorICAgICAgICAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKKyAgICAgICAgfSB3aGlsZSAobiA8IDAgJiYgZXJybm8gPT0gRUlOVFIgJiYKKyAgICAgICAgICAgICAgICAgIShhc3luY19lcnIgPSBQeUVycl9DaGVja1NpZ25hbHMoKSkpOworCisgICAgICAgIGlmIChhc3luY19lcnIpCisgICAgICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9IGVsc2UKICAgICAgICAgbiA9IC0xOwogICAgIGVyciA9IGVycm5vOwpAQCAtNTkxLDE3ICs2MTEsNyBAQAogICAgIHJldHVybiBQeUxvbmdfRnJvbVNzaXplX3Qobik7CiB9CiAKLSNpZm5kZWYgSEFWRV9GU1RBVAotCi1zdGF0aWMgUHlPYmplY3QgKgotZmlsZWlvX3JlYWRhbGwoZmlsZWlvICpzZWxmKQotewotICAgIF9QeV9JREVOVElGSUVSKHJlYWRhbGwpOwotICAgIHJldHVybiBfUHlPYmplY3RfQ2FsbE1ldGhvZElkKChQeU9iamVjdCopJlB5UmF3SU9CYXNlX1R5cGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJlB5SWRfcmVhZGFsbCwgIk8iLCBzZWxmKTsKLX0KLQotI2Vsc2UKKyNpZiBkZWZpbmVkKEhBVkVfRlNUQVQpIHx8IGRlZmluZWQoTVNfV0lORE9XUykKIAogc3RhdGljIHNpemVfdAogbmV3X2J1ZmZlcnNpemUoZmlsZWlvICpzZWxmLCBzaXplX3QgY3VycmVudHNpemUpCkBAIC02MjUsMTIgKzYzNSwxMyBAQAogc3RhdGljIFB5T2JqZWN0ICoKIGZpbGVpb19yZWFkYWxsKGZpbGVpbyAqc2VsZikKIHsKLSAgICBzdHJ1Y3Qgc3RhdCBzdDsKKyAgICBzdHJ1Y3QgX1B5X3N0YXRfc3RydWN0IHN0OwogICAgIFB5X29mZl90IHBvcywgZW5kOwogICAgIFB5T2JqZWN0ICpyZXN1bHQ7CiAgICAgUHlfc3NpemVfdCBieXRlc19yZWFkID0gMDsKLSAgICBQeV9zc2l6ZV90IG47CisgICAgUHlfc3NpemVfdCBsZW4sIG47CiAgICAgc2l6ZV90IGJ1ZnNpemU7CisgICAgaW50IGFzeW5jX2VyciA9IDA7CiAKICAgICBpZiAoc2VsZi0+ZmQgPCAwKQogICAgICAgICByZXR1cm4gZXJyX2Nsb3NlZCgpOwpAQCAtNjQyLDcgKzY1Myw3IEBACiAjZWxzZQogICAgIHBvcyA9IGxzZWVrKHNlbGYtPmZkLCAwTCwgU0VFS19DVVIpOwogI2VuZGlmCi0gICAgaWYgKGZzdGF0KHNlbGYtPmZkLCAmc3QpID09IDApCisgICAgaWYgKF9QeV9mc3RhdChzZWxmLT5mZCwgJnN0KSA9PSAwKQogICAgICAgICBlbmQgPSBzdC5zdF9zaXplOwogICAgIGVsc2UKICAgICAgICAgZW5kID0gKFB5X29mZl90KS0xOwpAQCAtNjc3LDI3ICs2ODgsMjkgQEAKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KLSAgICAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwotICAgICAgICBlcnJubyA9IDA7Ci0gICAgICAgIG4gPSBidWZzaXplIC0gYnl0ZXNfcmVhZDsKKworICAgICAgICBsZW4gPSBidWZzaXplIC0gYnl0ZXNfcmVhZDsKICNpZmRlZiBNU19XSU5ET1dTCi0gICAgICAgIGlmIChuID4gSU5UX01BWCkKLSAgICAgICAgICAgIG4gPSBJTlRfTUFYOwotICAgICAgICBuID0gcmVhZChzZWxmLT5mZCwgUHlCeXRlc19BU19TVFJJTkcocmVzdWx0KSArIGJ5dGVzX3JlYWQsIChpbnQpbik7Ci0jZWxzZQotICAgICAgICBuID0gcmVhZChzZWxmLT5mZCwgUHlCeXRlc19BU19TVFJJTkcocmVzdWx0KSArIGJ5dGVzX3JlYWQsIG4pOworICAgICAgICBpZiAobGVuID4gSU5UX01BWCkKKyAgICAgICAgICAgIGxlbiA9IElOVF9NQVg7CiAjZW5kaWYKLSAgICAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKKyAgICAgICAgZG8geworICAgICAgICAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUworICAgICAgICAgICAgZXJybm8gPSAwOworI2lmZGVmIE1TX1dJTkRPV1MKKyAgICAgICAgICAgIG4gPSByZWFkKHNlbGYtPmZkLCBQeUJ5dGVzX0FTX1NUUklORyhyZXN1bHQpICsgYnl0ZXNfcmVhZCwgKGludClsZW4pOworI2Vsc2UKKyAgICAgICAgICAgIG4gPSByZWFkKHNlbGYtPmZkLCBQeUJ5dGVzX0FTX1NUUklORyhyZXN1bHQpICsgYnl0ZXNfcmVhZCwgbGVuKTsKKyNlbmRpZgorICAgICAgICAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKKyAgICAgICAgfSB3aGlsZSAobiA8IDAgJiYgZXJybm8gPT0gRUlOVFIgJiYKKyAgICAgICAgICAgICAgICAgIShhc3luY19lcnIgPSBQeUVycl9DaGVja1NpZ25hbHMoKSkpOworCisgICAgICAgIGlmIChhc3luY19lcnIpCisgICAgICAgICAgICByZXR1cm4gTlVMTDsKICAgICAgICAgaWYgKG4gPT0gMCkKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBpZiAobiA8IDApIHsKLSAgICAgICAgICAgIGlmIChlcnJubyA9PSBFSU5UUikgewotICAgICAgICAgICAgICAgIGlmIChQeUVycl9DaGVja1NpZ25hbHMoKSkgewotICAgICAgICAgICAgICAgICAgICBQeV9ERUNSRUYocmVzdWx0KTsKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgfQogICAgICAgICAgICAgaWYgKGVycm5vID09IEVBR0FJTikgewogICAgICAgICAgICAgICAgIGlmIChieXRlc19yZWFkID4gMCkKICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CkBAIC03MTksNyArNzMyLDE3IEBACiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAotI2VuZGlmIC8qIEhBVkVfRlNUQVQgKi8KKyNlbHNlCisKK3N0YXRpYyBQeU9iamVjdCAqCitmaWxlaW9fcmVhZGFsbChmaWxlaW8gKnNlbGYpCit7CisgICAgX1B5X0lERU5USUZJRVIocmVhZGFsbCk7CisgICAgcmV0dXJuIF9QeU9iamVjdF9DYWxsTWV0aG9kSWQoKFB5T2JqZWN0KikmUHlSYXdJT0Jhc2VfVHlwZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmUHlJZF9yZWFkYWxsLCAiTyIsIHNlbGYpOworfQorCisjZW5kaWYgLyogSEFWRV9GU1RBVCB8fCBNU19XSU5ET1dTICovCiAKIHN0YXRpYyBQeU9iamVjdCAqCiBmaWxlaW9fcmVhZChmaWxlaW8gKnNlbGYsIFB5T2JqZWN0ICphcmdzKQpAQCAtNzI3LDYgKzc1MCw3IEBACiAgICAgY2hhciAqcHRyOwogICAgIFB5X3NzaXplX3QgbjsKICAgICBQeV9zc2l6ZV90IHNpemUgPSAtMTsKKyAgICBpbnQgYXN5bmNfZXJyID0gMDsKICAgICBQeU9iamVjdCAqYnl0ZXM7CiAKICAgICBpZiAoc2VsZi0+ZmQgPCAwKQpAQCAtNzUxLDE0ICs3NzUsMjAgQEAKICAgICBwdHIgPSBQeUJ5dGVzX0FTX1NUUklORyhieXRlcyk7CiAKICAgICBpZiAoX1B5VmVyaWZ5X2ZkKHNlbGYtPmZkKSkgewotICAgICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCi0gICAgICAgIGVycm5vID0gMDsKKyAgICAgICAgZG8geworICAgICAgICAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUworICAgICAgICAgICAgZXJybm8gPSAwOwogI2lmZGVmIE1TX1dJTkRPV1MKLSAgICAgICAgbiA9IHJlYWQoc2VsZi0+ZmQsIHB0ciwgKGludClzaXplKTsKKyAgICAgICAgICAgIG4gPSByZWFkKHNlbGYtPmZkLCBwdHIsIChpbnQpc2l6ZSk7CiAjZWxzZQotICAgICAgICBuID0gcmVhZChzZWxmLT5mZCwgcHRyLCBzaXplKTsKKyAgICAgICAgICAgIG4gPSByZWFkKHNlbGYtPmZkLCBwdHIsIHNpemUpOwogI2VuZGlmCi0gICAgICAgIFB5X0VORF9BTExPV19USFJFQURTCisgICAgICAgICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUworICAgICAgICB9IHdoaWxlIChuIDwgMCAmJiBlcnJubyA9PSBFSU5UUiAmJgorICAgICAgICAgICAgICAgICAhKGFzeW5jX2VyciA9IFB5RXJyX0NoZWNrU2lnbmFscygpKSk7CisKKyAgICAgICAgaWYgKGFzeW5jX2VycikKKyAgICAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0gZWxzZQogICAgICAgICBuID0gLTE7CiAKQEAgLTc4Nyw3ICs4MTcsNyBAQAogewogICAgIFB5X2J1ZmZlciBwYnVmOwogICAgIFB5X3NzaXplX3QgbiwgbGVuOwotICAgIGludCBlcnI7CisgICAgaW50IGVyciwgYXN5bmNfZXJyID0gMDsKIAogICAgIGlmIChzZWxmLT5mZCA8IDApCiAgICAgICAgIHJldHVybiBlcnJfY2xvc2VkKCk7CkBAIC03OTgsOCArODI4LDYgQEAKICAgICAgICAgcmV0dXJuIE5VTEw7CiAKICAgICBpZiAoX1B5VmVyaWZ5X2ZkKHNlbGYtPmZkKSkgewotICAgICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCi0gICAgICAgIGVycm5vID0gMDsKICAgICAgICAgbGVuID0gcGJ1Zi5sZW47CiAjaWZkZWYgTVNfV0lORE9XUwogICAgICAgICBpZiAobGVuID4gMzI3NjcgJiYgaXNhdHR5KHNlbGYtPmZkKSkgewpAQCAtODA4LDE0ICs4MzYsMjQgQEAKICAgICAgICAgICAgICAgIGJpbmFyeSBhbmQgdGhlIGxlbmd0aCBpcyBncmVhdGVyIHRoYW4gNjYsMDAwIGJ5dGVzIChvciBsZXNzLAogICAgICAgICAgICAgICAgZGVwZW5kaW5nIG9uIGhlYXAgdXNhZ2UpLiAqLwogICAgICAgICAgICAgbGVuID0gMzI3Njc7Ci0gICAgICAgIH0KLSAgICAgICAgZWxzZSBpZiAobGVuID4gSU5UX01BWCkKKyAgICAgICAgfSBlbHNlIGlmIChsZW4gPiBJTlRfTUFYKQogICAgICAgICAgICAgbGVuID0gSU5UX01BWDsKLSAgICAgICAgbiA9IHdyaXRlKHNlbGYtPmZkLCBwYnVmLmJ1ZiwgKGludClsZW4pOwotI2Vsc2UKLSAgICAgICAgbiA9IHdyaXRlKHNlbGYtPmZkLCBwYnVmLmJ1ZiwgbGVuKTsKICNlbmRpZgotICAgICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUworCisgICAgICAgIGRvIHsKKyAgICAgICAgICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKKyAgICAgICAgICAgIGVycm5vID0gMDsKKyNpZmRlZiBNU19XSU5ET1dTCisgICAgICAgICAgICBuID0gd3JpdGUoc2VsZi0+ZmQsIHBidWYuYnVmLCAoaW50KWxlbik7CisjZWxzZQorICAgICAgICAgICAgbiA9IHdyaXRlKHNlbGYtPmZkLCBwYnVmLmJ1ZiwgbGVuKTsKKyNlbmRpZgorICAgICAgICAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKKyAgICAgICAgfSB3aGlsZSAobiA8IDAgJiYgZXJybm8gPT0gRUlOVFIgJiYKKyAgICAgICAgICAgICAgICAgIShhc3luY19lcnIgPSBQeUVycl9DaGVja1NpZ25hbHMoKSkpOworCisgICAgICAgIGlmIChhc3luY19lcnIpCisgICAgICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9IGVsc2UKICAgICAgICAgbiA9IC0xOwogICAgIGVyciA9IGVycm5vOwpAQCAtMTA1OCwxMiArMTA5NiwxNCBAQAogICAgICAgICAgICAgUHlFcnJfQ2xlYXIoKTsKICAgICAgICAgZWxzZQogICAgICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgICAgIHJlcyA9IFB5VW5pY29kZV9Gcm9tRm9ybWF0KCI8X2lvLkZpbGVJTyBmZD0lZCBtb2RlPSclcyc+IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi0+ZmQsIG1vZGVfc3RyaW5nKHNlbGYpKTsKKyAgICAgICAgcmVzID0gUHlVbmljb2RlX0Zyb21Gb3JtYXQoCisgICAgICAgICAgICAiPF9pby5GaWxlSU8gZmQ9JWQgbW9kZT0nJXMnIGNsb3NlZmQ9JXM+IiwKKyAgICAgICAgICAgIHNlbGYtPmZkLCBtb2RlX3N0cmluZyhzZWxmKSwgc2VsZi0+Y2xvc2VmZCA/ICJUcnVlIiA6ICJGYWxzZSIpOwogICAgIH0KICAgICBlbHNlIHsKLSAgICAgICAgcmVzID0gUHlVbmljb2RlX0Zyb21Gb3JtYXQoIjxfaW8uRmlsZUlPIG5hbWU9JVIgbW9kZT0nJXMnPiIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWVvYmosIG1vZGVfc3RyaW5nKHNlbGYpKTsKKyAgICAgICAgcmVzID0gUHlVbmljb2RlX0Zyb21Gb3JtYXQoCisgICAgICAgICAgICAiPF9pby5GaWxlSU8gbmFtZT0lUiBtb2RlPSclcycgY2xvc2VmZD0lcz4iLAorICAgICAgICAgICAgbmFtZW9iaiwgbW9kZV9zdHJpbmcoc2VsZiksIHNlbGYtPmNsb3NlZmQgPyAiVHJ1ZSIgOiAiRmFsc2UiKTsKICAgICAgICAgUHlfREVDUkVGKG5hbWVvYmopOwogICAgIH0KICAgICByZXR1cm4gcmVzOwpAQCAtMTIyNSw2ICsxMjY1LDcgQEAKIH07CiAKIHN0YXRpYyBQeU1lbWJlckRlZiBmaWxlaW9fbWVtYmVyc1tdID0geworICAgIHsiX2Jsa3NpemUiLCBUX1VJTlQsIG9mZnNldG9mKGZpbGVpbywgYmxrc2l6ZSksIDB9LAogICAgIHsiX2ZpbmFsaXppbmciLCBUX0JPT0wsIG9mZnNldG9mKGZpbGVpbywgZmluYWxpemluZyksIDB9LAogICAgIHtOVUxMfQogfTsKZGlmZiAtLWdpdCBhL01vZHVsZXMvX2lvL3RleHRpby5jIGIvTW9kdWxlcy9faW8vdGV4dGlvLmMKaW5kZXggM2YwMTk4MC4uOWZiNGVmOSAxMDA2NDQKLS0tIGEvTW9kdWxlcy9faW8vdGV4dGlvLmMKKysrIGIvTW9kdWxlcy9faW8vdGV4dGlvLmMKQEAgLTIyNCw4ICsyMjQsOCBAQAogICAgIFB5T2JqZWN0X0hFQUQKICAgICBQeU9iamVjdCAqZGVjb2RlcjsKICAgICBQeU9iamVjdCAqZXJyb3JzOwotICAgIHNpZ25lZCBpbnQgcGVuZGluZ2NyOiAxOwotICAgIHNpZ25lZCBpbnQgdHJhbnNsYXRlOiAxOworICAgIHVuc2lnbmVkIGludCBwZW5kaW5nY3I6IDE7CisgICAgdW5zaWduZWQgaW50IHRyYW5zbGF0ZTogMTsKICAgICB1bnNpZ25lZCBpbnQgc2Vlbm5sOiAzOwogfSBubGRlY29kZXJfb2JqZWN0OwogCkBAIC01NDYsNyArNTQ2LDcgQEAKICAgICBpZiAoIVB5QXJnX1BhcnNlKHN0YXRlLCAiKE9LKSIsICZidWZmZXIsICZmbGFnKSkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAKLSAgICBzZWxmLT5wZW5kaW5nY3IgPSAoaW50KSBmbGFnICYgMTsKKyAgICBzZWxmLT5wZW5kaW5nY3IgPSAoaW50KSAoZmxhZyAmIDEpOwogICAgIGZsYWcgPj49IDE7CiAKICAgICBpZiAoc2VsZi0+ZGVjb2RlciAhPSBQeV9Ob25lKQpAQCAtMTQ0MSw2ICsxNDQxLDcgQEAKICAgICBQeU9iamVjdCAqZGVjX2J1ZmZlciA9IE5VTEw7CiAgICAgUHlPYmplY3QgKmRlY19mbGFncyA9IE5VTEw7CiAgICAgUHlPYmplY3QgKmlucHV0X2NodW5rID0gTlVMTDsKKyAgICBQeV9idWZmZXIgaW5wdXRfY2h1bmtfYnVmOwogICAgIFB5T2JqZWN0ICpkZWNvZGVkX2NoYXJzLCAqY2h1bmtfc2l6ZTsKICAgICBQeV9zc2l6ZV90IG5ieXRlcywgbmNoYXJzOwogICAgIGludCBlb2Y7CkBAIC0xNDcyLDYgKzE0NzMsMTUgQEAKICAgICAgICAgICAgIFB5X0RFQ1JFRihzdGF0ZSk7CiAgICAgICAgICAgICByZXR1cm4gLTE7CiAgICAgICAgIH0KKworICAgICAgICBpZiAoIVB5Qnl0ZXNfQ2hlY2soZGVjX2J1ZmZlcikpIHsKKyAgICAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19UeXBlRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgImRlY29kZXIgZ2V0c3RhdGUoKSBzaG91bGQgaGF2ZSByZXR1cm5lZCBhIGJ5dGVzICIKKyAgICAgICAgICAgICAgICAgICAgICAgICAib2JqZWN0LCBub3QgJyUuMjAwcyciLAorICAgICAgICAgICAgICAgICAgICAgICAgIFB5X1RZUEUoZGVjX2J1ZmZlciktPnRwX25hbWUpOworICAgICAgICAgICAgUHlfREVDUkVGKHN0YXRlKTsKKyAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgfQogICAgICAgICBQeV9JTkNSRUYoZGVjX2J1ZmZlcik7CiAgICAgICAgIFB5X0lOQ1JFRihkZWNfZmxhZ3MpOwogICAgICAgICBQeV9ERUNSRUYoc3RhdGUpOwpAQCAtMTQ4NCwyMyArMTQ5NCwyNCBAQAogICAgIGNodW5rX3NpemUgPSBQeUxvbmdfRnJvbVNzaXplX3QoUHlfTUFYKHNlbGYtPmNodW5rX3NpemUsIHNpemVfaGludCkpOwogICAgIGlmIChjaHVua19zaXplID09IE5VTEwpCiAgICAgICAgIGdvdG8gZmFpbDsKKwogICAgIGlucHV0X2NodW5rID0gUHlPYmplY3RfQ2FsbE1ldGhvZE9iakFyZ3Moc2VsZi0+YnVmZmVyLAogICAgICAgICAoc2VsZi0+aGFzX3JlYWQxID8gX1B5SU9fc3RyX3JlYWQxOiBfUHlJT19zdHJfcmVhZCksCiAgICAgICAgIGNodW5rX3NpemUsIE5VTEwpOwogICAgIFB5X0RFQ1JFRihjaHVua19zaXplKTsKICAgICBpZiAoaW5wdXRfY2h1bmsgPT0gTlVMTCkKICAgICAgICAgZ290byBmYWlsOwotICAgIGlmICghUHlCeXRlc19DaGVjayhpbnB1dF9jaHVuaykpIHsKKworICAgIGlmIChQeU9iamVjdF9HZXRCdWZmZXIoaW5wdXRfY2h1bmssICZpbnB1dF9jaHVua19idWYsIDApICE9IDApIHsKICAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1R5cGVFcnJvciwKLSAgICAgICAgICAgICAgICAgICAgICJ1bmRlcmx5aW5nICVzKCkgc2hvdWxkIGhhdmUgcmV0dXJuZWQgYSBieXRlcyBvYmplY3QsICIKKyAgICAgICAgICAgICAgICAgICAgICJ1bmRlcmx5aW5nICVzKCkgc2hvdWxkIGhhdmUgcmV0dXJuZWQgYSBieXRlcy1saWtlIG9iamVjdCwgIgogICAgICAgICAgICAgICAgICAgICAgIm5vdCAnJS4yMDBzJyIsIChzZWxmLT5oYXNfcmVhZDEgPyAicmVhZDEiOiAicmVhZCIpLAogICAgICAgICAgICAgICAgICAgICAgUHlfVFlQRShpbnB1dF9jaHVuayktPnRwX25hbWUpOwogICAgICAgICBnb3RvIGZhaWw7CiAgICAgfQogCi0gICAgbmJ5dGVzID0gUHlCeXRlc19TaXplKGlucHV0X2NodW5rKTsKKyAgICBuYnl0ZXMgPSBpbnB1dF9jaHVua19idWYubGVuOwogICAgIGVvZiA9IChuYnl0ZXMgPT0gMCk7Ci0KICAgICBpZiAoUHlfVFlQRShzZWxmLT5kZWNvZGVyKSA9PSAmUHlJbmNyZW1lbnRhbE5ld2xpbmVEZWNvZGVyX1R5cGUpIHsKICAgICAgICAgZGVjb2RlZF9jaGFycyA9IF9QeUluY3JlbWVudGFsTmV3bGluZURlY29kZXJfZGVjb2RlKAogICAgICAgICAgICAgc2VsZi0+ZGVjb2RlciwgaW5wdXRfY2h1bmssIGVvZik7CkBAIC0xNTA5LDYgKzE1MjAsNyBAQAogICAgICAgICBkZWNvZGVkX2NoYXJzID0gUHlPYmplY3RfQ2FsbE1ldGhvZE9iakFyZ3Moc2VsZi0+ZGVjb2RlciwKICAgICAgICAgICAgIF9QeUlPX3N0cl9kZWNvZGUsIGlucHV0X2NodW5rLCBlb2YgPyBQeV9UcnVlIDogUHlfRmFsc2UsIE5VTEwpOwogICAgIH0KKyAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZpbnB1dF9jaHVua19idWYpOwogCiAgICAgaWYgKGNoZWNrX2RlY29kZWQoZGVjb2RlZF9jaGFycykgPCAwKQogICAgICAgICBnb3RvIGZhaWw7CkBAIC0xNTI1LDE4ICsxNTM3LDEyIEBACiAgICAgICAgIC8qIEF0IHRoZSBzbmFwc2hvdCBwb2ludCwgbGVuKGRlY19idWZmZXIpIGJ5dGVzIGJlZm9yZSB0aGUgcmVhZCwgdGhlCiAgICAgICAgICAqIG5leHQgaW5wdXQgdG8gYmUgZGVjb2RlZCBpcyBkZWNfYnVmZmVyICsgaW5wdXRfY2h1bmsuCiAgICAgICAgICAqLwotICAgICAgICBQeU9iamVjdCAqbmV4dF9pbnB1dCA9IFB5TnVtYmVyX0FkZChkZWNfYnVmZmVyLCBpbnB1dF9jaHVuayk7Ci0gICAgICAgIGlmIChuZXh0X2lucHV0ID09IE5VTEwpCi0gICAgICAgICAgICBnb3RvIGZhaWw7Ci0gICAgICAgIGlmICghUHlCeXRlc19DaGVjayhuZXh0X2lucHV0KSkgewotICAgICAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1R5cGVFcnJvciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAiZGVjb2RlciBnZXRzdGF0ZSgpIHNob3VsZCBoYXZlIHJldHVybmVkIGEgYnl0ZXMgIgotICAgICAgICAgICAgICAgICAgICAgICAgICJvYmplY3QsIG5vdCAnJS4yMDBzJyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgUHlfVFlQRShuZXh0X2lucHV0KS0+dHBfbmFtZSk7Ci0gICAgICAgICAgICBQeV9ERUNSRUYobmV4dF9pbnB1dCk7CisgICAgICAgIFB5T2JqZWN0ICpuZXh0X2lucHV0ID0gZGVjX2J1ZmZlcjsKKyAgICAgICAgUHlCeXRlc19Db25jYXQoJm5leHRfaW5wdXQsIGlucHV0X2NodW5rKTsKKyAgICAgICAgaWYgKG5leHRfaW5wdXQgPT0gTlVMTCkgeworICAgICAgICAgICAgZGVjX2J1ZmZlciA9IE5VTEw7IC8qIFJlZmVyZW5jZSBsb3N0IHRvIFB5Qnl0ZXNfQ29uY2F0ICovCiAgICAgICAgICAgICBnb3RvIGZhaWw7CiAgICAgICAgIH0KLSAgICAgICAgUHlfREVDUkVGKGRlY19idWZmZXIpOwogICAgICAgICBQeV9DTEVBUihzZWxmLT5zbmFwc2hvdCk7CiAgICAgICAgIHNlbGYtPnNuYXBzaG90ID0gUHlfQnVpbGRWYWx1ZSgiTk4iLCBkZWNfZmxhZ3MsIG5leHRfaW5wdXQpOwogICAgIH0KQEAgLTE3MjUsNyArMTczMSw3IEBACiAgICAgZWxzZSB7CiAgICAgICAgIC8qIE5vbi11bml2ZXJzYWwgbW9kZS4gKi8KICAgICAgICAgUHlfc3NpemVfdCByZWFkbmxfbGVuID0gUHlVbmljb2RlX0dFVF9MRU5HVEgocmVhZG5sKTsKLSAgICAgICAgY2hhciAqbmwgPSBQeVVuaWNvZGVfREFUQShyZWFkbmwpOworICAgICAgICBQeV9VQ1MxICpubCA9IFB5VW5pY29kZV8xQllURV9EQVRBKHJlYWRubCk7CiAgICAgICAgIC8qIEFzc3VtZSB0aGF0IHJlYWRubCBpcyBhbiBBU0NJSSBjaGFyYWN0ZXIuICovCiAgICAgICAgIGFzc2VydChQeVVuaWNvZGVfS0lORChyZWFkbmwpID09IFB5VW5pY29kZV8xQllURV9LSU5EKTsKICAgICAgICAgaWYgKHJlYWRubF9sZW4gPT0gMSkgewpkaWZmIC0tZ2l0IGEvTW9kdWxlcy9fanNvbi5jIGIvTW9kdWxlcy9fanNvbi5jCmluZGV4IGY1MjNhYWIuLjA3Njg1OWYgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvX2pzb24uYworKysgYi9Nb2R1bGVzL19qc29uLmMKQEAgLTQ3LDcgKzQ3LDcgQEAKICAgICBQeU9iamVjdCAqaXRlbV9zZXBhcmF0b3I7CiAgICAgUHlPYmplY3QgKnNvcnRfa2V5czsKICAgICBQeU9iamVjdCAqc2tpcGtleXM7Ci0gICAgaW50IGZhc3RfZW5jb2RlOworICAgIFB5Q0Z1bmN0aW9uIGZhc3RfZW5jb2RlOwogICAgIGludCBhbGxvd19uYW47CiB9IFB5RW5jb2Rlck9iamVjdDsKIApAQCAtMjI1LDI2ICsyMjUsMTE2IEBACiAgICAgcmV0dXJuIHJ2YWw7CiB9CiAKK3N0YXRpYyBQeU9iamVjdCAqCitlc2NhcGVfdW5pY29kZShQeU9iamVjdCAqcHlzdHIpCit7CisgICAgLyogVGFrZSBhIFB5VW5pY29kZSBweXN0ciBhbmQgcmV0dXJuIGEgbmV3IGVzY2FwZWQgUHlVbmljb2RlICovCisgICAgUHlfc3NpemVfdCBpOworICAgIFB5X3NzaXplX3QgaW5wdXRfY2hhcnM7CisgICAgUHlfc3NpemVfdCBvdXRwdXRfc2l6ZTsKKyAgICBQeV9zc2l6ZV90IGNoYXJzOworICAgIFB5T2JqZWN0ICpydmFsOworICAgIHZvaWQgKmlucHV0OworICAgIGludCBraW5kOworICAgIFB5X1VDUzQgbWF4Y2hhcjsKKworICAgIGlmIChQeVVuaWNvZGVfUkVBRFkocHlzdHIpID09IC0xKQorICAgICAgICByZXR1cm4gTlVMTDsKKworICAgIG1heGNoYXIgPSBQeVVuaWNvZGVfTUFYX0NIQVJfVkFMVUUocHlzdHIpOworICAgIGlucHV0X2NoYXJzID0gUHlVbmljb2RlX0dFVF9MRU5HVEgocHlzdHIpOworICAgIGlucHV0ID0gUHlVbmljb2RlX0RBVEEocHlzdHIpOworICAgIGtpbmQgPSBQeVVuaWNvZGVfS0lORChweXN0cik7CisKKyAgICAvKiBDb21wdXRlIHRoZSBvdXRwdXQgc2l6ZSAqLworICAgIGZvciAoaSA9IDAsIG91dHB1dF9zaXplID0gMjsgaSA8IGlucHV0X2NoYXJzOyBpKyspIHsKKyAgICAgICAgUHlfVUNTNCBjID0gUHlVbmljb2RlX1JFQUQoa2luZCwgaW5wdXQsIGkpOworICAgICAgICBzd2l0Y2ggKGMpIHsKKyAgICAgICAgY2FzZSAnXFwnOiBjYXNlICciJzogY2FzZSAnXGInOiBjYXNlICdcZic6CisgICAgICAgIGNhc2UgJ1xuJzogY2FzZSAnXHInOiBjYXNlICdcdCc6CisgICAgICAgICAgICBvdXRwdXRfc2l6ZSArPSAyOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICBpZiAoYyA8PSAweDFmKQorICAgICAgICAgICAgICAgIG91dHB1dF9zaXplICs9IDY7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgb3V0cHV0X3NpemUrKzsKKyAgICAgICAgfQorICAgIH0KKworICAgIHJ2YWwgPSBQeVVuaWNvZGVfTmV3KG91dHB1dF9zaXplLCBtYXhjaGFyKTsKKyAgICBpZiAocnZhbCA9PSBOVUxMKQorICAgICAgICByZXR1cm4gTlVMTDsKKworICAgIGtpbmQgPSBQeVVuaWNvZGVfS0lORChydmFsKTsKKworI2RlZmluZSBFTkNPREVfT1VUUFVUIGRvIHsgXAorICAgICAgICBjaGFycyA9IDA7IFwKKyAgICAgICAgb3V0cHV0W2NoYXJzKytdID0gJyInOyBcCisgICAgICAgIGZvciAoaSA9IDA7IGkgPCBpbnB1dF9jaGFyczsgaSsrKSB7IFwKKyAgICAgICAgICAgIFB5X1VDUzQgYyA9IFB5VW5pY29kZV9SRUFEKGtpbmQsIGlucHV0LCBpKTsgXAorICAgICAgICAgICAgc3dpdGNoIChjKSB7IFwKKyAgICAgICAgICAgIGNhc2UgJ1xcJzogb3V0cHV0W2NoYXJzKytdID0gJ1xcJzsgb3V0cHV0W2NoYXJzKytdID0gYzsgYnJlYWs7IFwKKyAgICAgICAgICAgIGNhc2UgJyInOiAgb3V0cHV0W2NoYXJzKytdID0gJ1xcJzsgb3V0cHV0W2NoYXJzKytdID0gYzsgYnJlYWs7IFwKKyAgICAgICAgICAgIGNhc2UgJ1xiJzogb3V0cHV0W2NoYXJzKytdID0gJ1xcJzsgb3V0cHV0W2NoYXJzKytdID0gJ2InOyBicmVhazsgXAorICAgICAgICAgICAgY2FzZSAnXGYnOiBvdXRwdXRbY2hhcnMrK10gPSAnXFwnOyBvdXRwdXRbY2hhcnMrK10gPSAnZic7IGJyZWFrOyBcCisgICAgICAgICAgICBjYXNlICdcbic6IG91dHB1dFtjaGFycysrXSA9ICdcXCc7IG91dHB1dFtjaGFycysrXSA9ICduJzsgYnJlYWs7IFwKKyAgICAgICAgICAgIGNhc2UgJ1xyJzogb3V0cHV0W2NoYXJzKytdID0gJ1xcJzsgb3V0cHV0W2NoYXJzKytdID0gJ3InOyBicmVhazsgXAorICAgICAgICAgICAgY2FzZSAnXHQnOiBvdXRwdXRbY2hhcnMrK10gPSAnXFwnOyBvdXRwdXRbY2hhcnMrK10gPSAndCc7IGJyZWFrOyBcCisgICAgICAgICAgICBkZWZhdWx0OiBcCisgICAgICAgICAgICAgICAgaWYgKGMgPD0gMHgxZikgeyBcCisgICAgICAgICAgICAgICAgICAgIG91dHB1dFtjaGFycysrXSA9ICdcXCc7IFwKKyAgICAgICAgICAgICAgICAgICAgb3V0cHV0W2NoYXJzKytdID0gJ3UnOyBcCisgICAgICAgICAgICAgICAgICAgIG91dHB1dFtjaGFycysrXSA9ICcwJzsgXAorICAgICAgICAgICAgICAgICAgICBvdXRwdXRbY2hhcnMrK10gPSAnMCc7IFwKKyAgICAgICAgICAgICAgICAgICAgb3V0cHV0W2NoYXJzKytdID0gUHlfaGV4ZGlnaXRzWyhjID4+IDQpICYgMHhmXTsgXAorICAgICAgICAgICAgICAgICAgICBvdXRwdXRbY2hhcnMrK10gPSBQeV9oZXhkaWdpdHNbKGMgICAgICkgJiAweGZdOyBcCisgICAgICAgICAgICAgICAgfSBlbHNlIHsgXAorICAgICAgICAgICAgICAgICAgICBvdXRwdXRbY2hhcnMrK10gPSBjOyBcCisgICAgICAgICAgICAgICAgfSBcCisgICAgICAgICAgICB9IFwKKyAgICAgICAgfSBcCisgICAgICAgIG91dHB1dFtjaGFycysrXSA9ICciJzsgXAorICAgIH0gd2hpbGUgKDApCisKKyAgICBpZiAoa2luZCA9PSBQeVVuaWNvZGVfMUJZVEVfS0lORCkgeworICAgICAgICBQeV9VQ1MxICpvdXRwdXQgPSBQeVVuaWNvZGVfMUJZVEVfREFUQShydmFsKTsKKyAgICAgICAgRU5DT0RFX09VVFBVVDsKKyAgICB9IGVsc2UgaWYgKGtpbmQgPT0gUHlVbmljb2RlXzJCWVRFX0tJTkQpIHsKKyAgICAgICAgUHlfVUNTMiAqb3V0cHV0ID0gUHlVbmljb2RlXzJCWVRFX0RBVEEocnZhbCk7CisgICAgICAgIEVOQ09ERV9PVVRQVVQ7CisgICAgfSBlbHNlIHsKKyAgICAgICAgUHlfVUNTNCAqb3V0cHV0ID0gUHlVbmljb2RlXzRCWVRFX0RBVEEocnZhbCk7CisgICAgICAgIGFzc2VydChraW5kID09IFB5VW5pY29kZV80QllURV9LSU5EKTsKKyAgICAgICAgRU5DT0RFX09VVFBVVDsKKyAgICB9CisjdW5kZWYgRU5DT0RFX09VVFBVVAorCisjaWZkZWYgUHlfREVCVUcKKyAgICBhc3NlcnQoX1B5VW5pY29kZV9DaGVja0NvbnNpc3RlbmN5KHJ2YWwsIDEpKTsKKyNlbmRpZgorICAgIHJldHVybiBydmFsOworfQorCiBzdGF0aWMgdm9pZAogcmFpc2VfZXJybXNnKGNoYXIgKm1zZywgUHlPYmplY3QgKnMsIFB5X3NzaXplX3QgZW5kKQogewotICAgIC8qIFVzZSB0aGUgUHl0aG9uIGZ1bmN0aW9uIGpzb24uZGVjb2Rlci5lcnJtc2cgdG8gcmFpc2UgYSBuaWNlCi0gICAgbG9va2luZyBWYWx1ZUVycm9yIGV4Y2VwdGlvbiAqLwotICAgIHN0YXRpYyBQeU9iamVjdCAqZXJybXNnX2ZuID0gTlVMTDsKLSAgICBQeU9iamVjdCAqcHltc2c7Ci0gICAgaWYgKGVycm1zZ19mbiA9PSBOVUxMKSB7CisgICAgLyogVXNlIEpTT05EZWNvZGVFcnJvciBleGNlcHRpb24gdG8gcmFpc2UgYSBuaWNlIGxvb2tpbmcgVmFsdWVFcnJvciBzdWJjbGFzcyAqLworICAgIHN0YXRpYyBQeU9iamVjdCAqSlNPTkRlY29kZUVycm9yID0gTlVMTDsKKyAgICBQeU9iamVjdCAqZXhjOworICAgIGlmIChKU09ORGVjb2RlRXJyb3IgPT0gTlVMTCkgewogICAgICAgICBQeU9iamVjdCAqZGVjb2RlciA9IFB5SW1wb3J0X0ltcG9ydE1vZHVsZSgianNvbi5kZWNvZGVyIik7CiAgICAgICAgIGlmIChkZWNvZGVyID09IE5VTEwpCiAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIGVycm1zZ19mbiA9IFB5T2JqZWN0X0dldEF0dHJTdHJpbmcoZGVjb2RlciwgImVycm1zZyIpOworICAgICAgICBKU09ORGVjb2RlRXJyb3IgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKGRlY29kZXIsICJKU09ORGVjb2RlRXJyb3IiKTsKICAgICAgICAgUHlfREVDUkVGKGRlY29kZXIpOwotICAgICAgICBpZiAoZXJybXNnX2ZuID09IE5VTEwpCisgICAgICAgIGlmIChKU09ORGVjb2RlRXJyb3IgPT0gTlVMTCkKICAgICAgICAgICAgIHJldHVybjsKICAgICB9Ci0gICAgcHltc2cgPSBQeU9iamVjdF9DYWxsRnVuY3Rpb24oZXJybXNnX2ZuLCAiKHpPbikiLCBtc2csIHMsIGVuZCk7Ci0gICAgaWYgKHB5bXNnKSB7Ci0gICAgICAgIFB5RXJyX1NldE9iamVjdChQeUV4Y19WYWx1ZUVycm9yLCBweW1zZyk7Ci0gICAgICAgIFB5X0RFQ1JFRihweW1zZyk7CisgICAgZXhjID0gUHlPYmplY3RfQ2FsbEZ1bmN0aW9uKEpTT05EZWNvZGVFcnJvciwgIih6T24pIiwgbXNnLCBzLCBlbmQpOworICAgIGlmIChleGMpIHsKKyAgICAgICAgUHlFcnJfU2V0T2JqZWN0KEpTT05EZWNvZGVFcnJvciwgZXhjKTsKKyAgICAgICAgUHlfREVDUkVGKGV4Yyk7CiAgICAgfQogfQogCkBAIC01MzcsNiArNjI3LDMxIEBACiAgICAgcmV0dXJuIHJ2YWw7CiB9CiAKKworUHlEb2NfU1RSVkFSKHB5ZG9jX2VuY29kZV9iYXNlc3RyaW5nLAorICAgICJlbmNvZGVfYmFzZXN0cmluZyhzdHJpbmcpIC0+IHN0cmluZ1xuIgorICAgICJcbiIKKyAgICAiUmV0dXJuIGEgSlNPTiByZXByZXNlbnRhdGlvbiBvZiBhIFB5dGhvbiBzdHJpbmciCispOworCitzdGF0aWMgUHlPYmplY3QgKgorcHlfZW5jb2RlX2Jhc2VzdHJpbmcoUHlPYmplY3QqIHNlbGYgVU5VU0VELCBQeU9iamVjdCAqcHlzdHIpCit7CisgICAgUHlPYmplY3QgKnJ2YWw7CisgICAgLyogUmV0dXJuIGEgSlNPTiByZXByZXNlbnRhdGlvbiBvZiBhIFB5dGhvbiBzdHJpbmcgKi8KKyAgICAvKiBNRVRIX08gKi8KKyAgICBpZiAoUHlVbmljb2RlX0NoZWNrKHB5c3RyKSkgeworICAgICAgICBydmFsID0gZXNjYXBlX3VuaWNvZGUocHlzdHIpOworICAgIH0KKyAgICBlbHNlIHsKKyAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1R5cGVFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICJmaXJzdCBhcmd1bWVudCBtdXN0IGJlIGEgc3RyaW5nLCBub3QgJS44MHMiLAorICAgICAgICAgICAgICAgICAgICAgUHlfVFlQRShweXN0ciktPnRwX25hbWUpOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisgICAgcmV0dXJuIHJ2YWw7Cit9CisKIHN0YXRpYyB2b2lkCiBzY2FubmVyX2RlYWxsb2MoUHlPYmplY3QgKnNlbGYpCiB7CkBAIC03MTIsNyArODI3LDcgQEAKIAogc3RhdGljIFB5T2JqZWN0ICoKIF9wYXJzZV9hcnJheV91bmljb2RlKFB5U2Nhbm5lck9iamVjdCAqcywgUHlPYmplY3QgKnB5c3RyLCBQeV9zc2l6ZV90IGlkeCwgUHlfc3NpemVfdCAqbmV4dF9pZHhfcHRyKSB7Ci0gICAgLyogUmVhZCBhIEpTT04gYXJyYXkgZnJvbSBQeVN0cmluZyBweXN0ci4KKyAgICAvKiBSZWFkIGEgSlNPTiBhcnJheSBmcm9tIFB5VW5pY29kZSBweXN0ci4KICAgICBpZHggaXMgdGhlIGluZGV4IG9mIHRoZSBmaXJzdCBjaGFyYWN0ZXIgYWZ0ZXIgdGhlIG9wZW5pbmcgYnJhY2UuCiAgICAgKm5leHRfaWR4X3B0ciBpcyBhIHJldHVybi1ieS1yZWZlcmVuY2UgaW5kZXggdG8gdGhlIGZpcnN0IGNoYXJhY3RlciBhZnRlcgogICAgICAgICB0aGUgY2xvc2luZyBicmFjZS4KQEAgLTc4NCw4ICs4OTksOCBAQAogfQogCiBzdGF0aWMgUHlPYmplY3QgKgotX3BhcnNlX2NvbnN0YW50KFB5U2Nhbm5lck9iamVjdCAqcywgY2hhciAqY29uc3RhbnQsIFB5X3NzaXplX3QgaWR4LCBQeV9zc2l6ZV90ICpuZXh0X2lkeF9wdHIpIHsKLSAgICAvKiBSZWFkIGEgSlNPTiBjb25zdGFudCBmcm9tIFB5U3RyaW5nIHB5c3RyLgorX3BhcnNlX2NvbnN0YW50KFB5U2Nhbm5lck9iamVjdCAqcywgY29uc3QgY2hhciAqY29uc3RhbnQsIFB5X3NzaXplX3QgaWR4LCBQeV9zc2l6ZV90ICpuZXh0X2lkeF9wdHIpIHsKKyAgICAvKiBSZWFkIGEgSlNPTiBjb25zdGFudC4KICAgICBjb25zdGFudCBpcyB0aGUgY29uc3RhbnQgc3RyaW5nIHRoYXQgd2FzIGZvdW5kCiAgICAgICAgICgiTmFOIiwgIkluZmluaXR5IiwgIi1JbmZpbml0eSIpLgogICAgIGlkeCBpcyB0aGUgaW5kZXggb2YgdGhlIGZpcnN0IGNoYXJhY3RlciBvZiB0aGUgY29uc3RhbnQKQEAgLTgxNyw3ICs5MzIsNyBAQAogICAgICAgICB0aGUgbnVtYmVyLgogCiAgICAgUmV0dXJucyBhIG5ldyBQeU9iamVjdCByZXByZXNlbnRhdGlvbiBvZiB0aGF0IG51bWJlcjoKLSAgICAgICAgUHlJbnQsIFB5TG9uZywgb3IgUHlGbG9hdC4KKyAgICAgICAgUHlMb25nLCBvciBQeUZsb2F0LgogICAgICAgICBNYXkgcmV0dXJuIG90aGVyIHR5cGVzIGlmIHBhcnNlX2ludCBvciBwYXJzZV9mbG9hdCBhcmUgc2V0CiAgICAgKi8KICAgICB2b2lkICpzdHI7CkBAIC0xMjMwLDcgKzEzNDUsMTQgQEAKICAgICBzLT5pdGVtX3NlcGFyYXRvciA9IGl0ZW1fc2VwYXJhdG9yOwogICAgIHMtPnNvcnRfa2V5cyA9IHNvcnRfa2V5czsKICAgICBzLT5za2lwa2V5cyA9IHNraXBrZXlzOwotICAgIHMtPmZhc3RfZW5jb2RlID0gKFB5Q0Z1bmN0aW9uX0NoZWNrKHMtPmVuY29kZXIpICYmIFB5Q0Z1bmN0aW9uX0dldEZ1bmN0aW9uKHMtPmVuY29kZXIpID09IChQeUNGdW5jdGlvbilweV9lbmNvZGVfYmFzZXN0cmluZ19hc2NpaSk7CisgICAgcy0+ZmFzdF9lbmNvZGUgPSBOVUxMOworICAgIGlmIChQeUNGdW5jdGlvbl9DaGVjayhzLT5lbmNvZGVyKSkgeworICAgICAgICBQeUNGdW5jdGlvbiBmID0gUHlDRnVuY3Rpb25fR2V0RnVuY3Rpb24ocy0+ZW5jb2Rlcik7CisgICAgICAgIGlmIChmID09IChQeUNGdW5jdGlvbilweV9lbmNvZGVfYmFzZXN0cmluZ19hc2NpaSB8fAorICAgICAgICAgICAgICAgIGYgPT0gKFB5Q0Z1bmN0aW9uKXB5X2VuY29kZV9iYXNlc3RyaW5nKSB7CisgICAgICAgICAgICBzLT5mYXN0X2VuY29kZSA9IGY7CisgICAgICAgIH0KKyAgICB9CiAgICAgcy0+YWxsb3dfbmFuID0gUHlPYmplY3RfSXNUcnVlKGFsbG93X25hbik7CiAKICAgICBQeV9JTkNSRUYocy0+bWFya2Vycyk7CkBAIC0xMzc5LDcgKzE1MDEsNyBAQAogewogICAgIC8qIFJldHVybiB0aGUgSlNPTiByZXByZXNlbnRhdGlvbiBvZiBhIHN0cmluZyAqLwogICAgIGlmIChzLT5mYXN0X2VuY29kZSkKLSAgICAgICAgcmV0dXJuIHB5X2VuY29kZV9iYXNlc3RyaW5nX2FzY2lpKE5VTEwsIG9iaik7CisgICAgICAgIHJldHVybiBzLT5mYXN0X2VuY29kZShOVUxMLCBvYmopOwogICAgIGVsc2UKICAgICAgICAgcmV0dXJuIFB5T2JqZWN0X0NhbGxGdW5jdGlvbk9iakFyZ3Mocy0+ZW5jb2Rlciwgb2JqLCBOVUxMKTsKIH0KQEAgLTE4NDcsNiArMTk2OSwxMCBAQAogICAgICAgICAoUHlDRnVuY3Rpb24pcHlfZW5jb2RlX2Jhc2VzdHJpbmdfYXNjaWksCiAgICAgICAgIE1FVEhfTywKICAgICAgICAgcHlkb2NfZW5jb2RlX2Jhc2VzdHJpbmdfYXNjaWl9LAorICAgIHsiZW5jb2RlX2Jhc2VzdHJpbmciLAorICAgICAgICAoUHlDRnVuY3Rpb24pcHlfZW5jb2RlX2Jhc2VzdHJpbmcsCisgICAgICAgIE1FVEhfTywKKyAgICAgICAgcHlkb2NfZW5jb2RlX2Jhc2VzdHJpbmd9LAogICAgIHsic2NhbnN0cmluZyIsCiAgICAgICAgIChQeUNGdW5jdGlvbilweV9zY2Fuc3RyaW5nLAogICAgICAgICBNRVRIX1ZBUkFSR1MsCmRpZmYgLS1naXQgYS9Nb2R1bGVzL19sc3Byb2YuYyBiL01vZHVsZXMvX2xzcHJvZi5jCmluZGV4IDAxMzdkOTUuLjY2ZTUzNGYgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvX2xzcHJvZi5jCisrKyBiL01vZHVsZXMvX2xzcHJvZi5jCkBAIC0yMDIsNiArMjAyLDggQEAKICAgICAgICAgKi8KICAgICAgICAgUHlPYmplY3QgKnNlbGYgPSBmbi0+bV9zZWxmOwogICAgICAgICBQeU9iamVjdCAqbmFtZSA9IFB5VW5pY29kZV9Gcm9tU3RyaW5nKGZuLT5tX21sLT5tbF9uYW1lKTsKKyAgICAgICAgUHlPYmplY3QgKm1vZG5hbWUgPSBmbi0+bV9tb2R1bGU7CisKICAgICAgICAgaWYgKG5hbWUgIT0gTlVMTCkgewogICAgICAgICAgICAgUHlPYmplY3QgKm1vID0gX1B5VHlwZV9Mb29rdXAoUHlfVFlQRShzZWxmKSwgbmFtZSk7CiAgICAgICAgICAgICBQeV9YSU5DUkVGKG1vKTsKQEAgLTIxMyw5ICsyMTUsMTQgQEAKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlczsKICAgICAgICAgICAgIH0KICAgICAgICAgfQorICAgICAgICAvKiBPdGhlcndpc2UsIHVzZSBfX21vZHVsZV9fICovCiAgICAgICAgIFB5RXJyX0NsZWFyKCk7Ci0gICAgICAgIHJldHVybiBQeVVuaWNvZGVfRnJvbUZvcm1hdCgiPGJ1aWx0LWluIG1ldGhvZCAlcz4iLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm4tPm1fbWwtPm1sX25hbWUpOworICAgICAgICBpZiAobW9kbmFtZSAhPSBOVUxMICYmIFB5VW5pY29kZV9DaGVjayhtb2RuYW1lKSkKKyAgICAgICAgICAgIHJldHVybiBQeVVuaWNvZGVfRnJvbUZvcm1hdCgiPGJ1aWx0LWluIG1ldGhvZCAlUy4lcz4iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vZG5hbWUsICBmbi0+bV9tbC0+bWxfbmFtZSk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHJldHVybiBQeVVuaWNvZGVfRnJvbUZvcm1hdCgiPGJ1aWx0LWluIG1ldGhvZCAlcz4iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZuLT5tX21sLT5tbF9uYW1lKTsKICAgICB9CiB9CiAKZGlmZiAtLWdpdCBhL01vZHVsZXMvX2x6bWFtb2R1bGUuYyBiL01vZHVsZXMvX2x6bWFtb2R1bGUuYwppbmRleCBjNDM2NzZhLi5iYWU3ZGY2IDEwMDY0NAotLS0gYS9Nb2R1bGVzL19sem1hbW9kdWxlLmMKKysrIGIvTW9kdWxlcy9fbHptYW1vZHVsZS5jCkBAIC02Niw2ICs2Niw5IEBACiAgICAgaW50IGNoZWNrOwogICAgIGNoYXIgZW9mOwogICAgIFB5T2JqZWN0ICp1bnVzZWRfZGF0YTsKKyAgICBjaGFyIG5lZWRzX2lucHV0OworICAgIHVpbnQ4X3QgKmlucHV0X2J1ZmZlcjsKKyAgICBzaXplX3QgaW5wdXRfYnVmZmVyX3NpemU7CiAjaWZkZWYgV0lUSF9USFJFQUQKICAgICBQeVRocmVhZF90eXBlX2xvY2sgbG9jazsKICNlbmRpZgpAQCAtMTQyLDEwICsxNDUsMTUgQEAKICNlbmRpZgogCiBzdGF0aWMgaW50Ci1ncm93X2J1ZmZlcihQeU9iamVjdCAqKmJ1ZikKK2dyb3dfYnVmZmVyKFB5T2JqZWN0ICoqYnVmLCBQeV9zc2l6ZV90IG1heF9sZW5ndGgpCiB7Ci0gICAgc2l6ZV90IHNpemUgPSBQeUJ5dGVzX0dFVF9TSVpFKCpidWYpOwotICAgIHJldHVybiBfUHlCeXRlc19SZXNpemUoYnVmLCBzaXplICsgKHNpemUgPj4gMykgKyA2KTsKKyAgICBQeV9zc2l6ZV90IHNpemUgPSBQeUJ5dGVzX0dFVF9TSVpFKCpidWYpOworICAgIFB5X3NzaXplX3QgbmV3c2l6ZSA9IHNpemUgKyAoc2l6ZSA+PiAzKSArIDY7CisgICAgCisgICAgaWYgKG1heF9sZW5ndGggPiAwICYmIG5ld3NpemUgPiBtYXhfbGVuZ3RoKQorICAgICAgICBuZXdzaXplID0gbWF4X2xlbmd0aDsKKyAgICAKKyAgICByZXR1cm4gX1B5Qnl0ZXNfUmVzaXplKGJ1ZiwgbmV3c2l6ZSk7CiB9CiAKIApAQCAtNTA0LDcgKzUxMiw3IEBACiBzdGF0aWMgUHlPYmplY3QgKgogY29tcHJlc3MoQ29tcHJlc3NvciAqYywgdWludDhfdCAqZGF0YSwgc2l6ZV90IGxlbiwgbHptYV9hY3Rpb24gYWN0aW9uKQogewotICAgIHNpemVfdCBkYXRhX3NpemUgPSAwOworICAgIFB5X3NzaXplX3QgZGF0YV9zaXplID0gMDsKICAgICBQeU9iamVjdCAqcmVzdWx0OwogCiAgICAgcmVzdWx0ID0gUHlCeXRlc19Gcm9tU3RyaW5nQW5kU2l6ZShOVUxMLCBJTklUSUFMX0JVRkZFUl9TSVpFKTsKQEAgLTUyNyw3ICs1MzUsNyBAQAogICAgICAgICAgICAgKGFjdGlvbiA9PSBMWk1BX0ZJTklTSCAmJiBsenJldCA9PSBMWk1BX1NUUkVBTV9FTkQpKSB7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfSBlbHNlIGlmIChjLT5senMuYXZhaWxfb3V0ID09IDApIHsKLSAgICAgICAgICAgIGlmIChncm93X2J1ZmZlcigmcmVzdWx0KSA9PSAtMSkKKyAgICAgICAgICAgIGlmIChncm93X2J1ZmZlcigmcmVzdWx0LCAtMSkgPT0gLTEpCiAgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKICAgICAgICAgICAgIGMtPmx6cy5uZXh0X291dCA9ICh1aW50OF90ICopUHlCeXRlc19BU19TVFJJTkcocmVzdWx0KSArIGRhdGFfc2l6ZTsKICAgICAgICAgICAgIGMtPmx6cy5hdmFpbF9vdXQgPSBQeUJ5dGVzX0dFVF9TSVpFKHJlc3VsdCkgLSBkYXRhX3NpemU7CkBAIC04ODgsMjUgKzg5NiwzMyBAQAogCiAvKiBMWk1BRGVjb21wcmVzc29yIGNsYXNzLiAqLwogCi1zdGF0aWMgUHlPYmplY3QgKgotZGVjb21wcmVzcyhEZWNvbXByZXNzb3IgKmQsIHVpbnQ4X3QgKmRhdGEsIHNpemVfdCBsZW4pCisvKiBEZWNvbXByZXNzIGRhdGEgb2YgbGVuZ3RoIGQtPmx6cy5hdmFpbF9pbiBpbiBkLT5senMubmV4dF9pbi4gIFRoZSBvdXRwdXQKKyAgIGJ1ZmZlciBpcyBhbGxvY2F0ZWQgZHluYW1pY2FsbHkgYW5kIHJldHVybmVkLiAgQXQgbW9zdCBtYXhfbGVuZ3RoIGJ5dGVzIGFyZQorICAgcmV0dXJuZWQsIHNvIHNvbWUgb2YgdGhlIGlucHV0IG1heSBub3QgYmUgY29uc3VtZWQuIGQtPmx6cy5uZXh0X2luIGFuZAorICAgZC0+bHpzLmF2YWlsX2luIGFyZSB1cGRhdGVkIHRvIHJlZmxlY3QgdGhlIGNvbnN1bWVkIGlucHV0LiAqLworc3RhdGljIFB5T2JqZWN0KgorZGVjb21wcmVzc19idWYoRGVjb21wcmVzc29yICpkLCBQeV9zc2l6ZV90IG1heF9sZW5ndGgpCiB7Ci0gICAgc2l6ZV90IGRhdGFfc2l6ZSA9IDA7CisgICAgUHlfc3NpemVfdCBkYXRhX3NpemUgPSAwOwogICAgIFB5T2JqZWN0ICpyZXN1bHQ7Ci0KLSAgICByZXN1bHQgPSBQeUJ5dGVzX0Zyb21TdHJpbmdBbmRTaXplKE5VTEwsIElOSVRJQUxfQlVGRkVSX1NJWkUpOworICAgIGx6bWFfc3RyZWFtICpsenMgPSAmZC0+bHpzOworICAgIAorICAgIGlmIChtYXhfbGVuZ3RoIDwgMCB8fCBtYXhfbGVuZ3RoID49IElOSVRJQUxfQlVGRkVSX1NJWkUpCisgICAgICAgIHJlc3VsdCA9IFB5Qnl0ZXNfRnJvbVN0cmluZ0FuZFNpemUoTlVMTCwgSU5JVElBTF9CVUZGRVJfU0laRSk7CisgICAgZWxzZQorICAgICAgICByZXN1bHQgPSBQeUJ5dGVzX0Zyb21TdHJpbmdBbmRTaXplKE5VTEwsIG1heF9sZW5ndGgpOwogICAgIGlmIChyZXN1bHQgPT0gTlVMTCkKICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgZC0+bHpzLm5leHRfaW4gPSBkYXRhOwotICAgIGQtPmx6cy5hdmFpbF9pbiA9IGxlbjsKLSAgICBkLT5senMubmV4dF9vdXQgPSAodWludDhfdCAqKVB5Qnl0ZXNfQVNfU1RSSU5HKHJlc3VsdCk7Ci0gICAgZC0+bHpzLmF2YWlsX291dCA9IFB5Qnl0ZXNfR0VUX1NJWkUocmVzdWx0KTsKKworICAgIGx6cy0+bmV4dF9vdXQgPSAodWludDhfdCAqKVB5Qnl0ZXNfQVNfU1RSSU5HKHJlc3VsdCk7CisgICAgbHpzLT5hdmFpbF9vdXQgPSBQeUJ5dGVzX0dFVF9TSVpFKHJlc3VsdCk7CisgICAgCiAgICAgZm9yICg7OykgewogICAgICAgICBsem1hX3JldCBsenJldDsKIAogICAgICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCi0gICAgICAgIGx6cmV0ID0gbHptYV9jb2RlKCZkLT5senMsIExaTUFfUlVOKTsKLSAgICAgICAgZGF0YV9zaXplID0gKGNoYXIgKilkLT5senMubmV4dF9vdXQgLSBQeUJ5dGVzX0FTX1NUUklORyhyZXN1bHQpOworICAgICAgICBsenJldCA9IGx6bWFfY29kZShsenMsIExaTUFfUlVOKTsKKyAgICAgICAgZGF0YV9zaXplID0gKGNoYXIgKilsenMtPm5leHRfb3V0IC0gUHlCeXRlc19BU19TVFJJTkcocmVzdWx0KTsKICAgICAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKICAgICAgICAgaWYgKGNhdGNoX2x6bWFfZXJyb3IobHpyZXQpKQogICAgICAgICAgICAgZ290byBlcnJvcjsKQEAgLTkxNCwyNiArOTMwLDEzMSBAQAogICAgICAgICAgICAgZC0+Y2hlY2sgPSBsem1hX2dldF9jaGVjaygmZC0+bHpzKTsKICAgICAgICAgaWYgKGx6cmV0ID09IExaTUFfU1RSRUFNX0VORCkgewogICAgICAgICAgICAgZC0+ZW9mID0gMTsKLSAgICAgICAgICAgIGlmIChkLT5senMuYXZhaWxfaW4gPiAwKSB7Ci0gICAgICAgICAgICAgICAgUHlfQ0xFQVIoZC0+dW51c2VkX2RhdGEpOwotICAgICAgICAgICAgICAgIGQtPnVudXNlZF9kYXRhID0gUHlCeXRlc19Gcm9tU3RyaW5nQW5kU2l6ZSgKLSAgICAgICAgICAgICAgICAgICAgICAgIChjaGFyICopZC0+bHpzLm5leHRfaW4sIGQtPmx6cy5hdmFpbF9pbik7Ci0gICAgICAgICAgICAgICAgaWYgKGQtPnVudXNlZF9kYXRhID09IE5VTEwpCi0gICAgICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7Ci0gICAgICAgICAgICB9CiAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgfSBlbHNlIGlmIChkLT5senMuYXZhaWxfaW4gPT0gMCkgeworICAgICAgICB9IGVsc2UgaWYgKGx6cy0+YXZhaWxfaW4gPT0gMCkgewogICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0gZWxzZSBpZiAoZC0+bHpzLmF2YWlsX291dCA9PSAwKSB7Ci0gICAgICAgICAgICBpZiAoZ3Jvd19idWZmZXIoJnJlc3VsdCkgPT0gLTEpCisgICAgICAgIH0gZWxzZSBpZiAobHpzLT5hdmFpbF9vdXQgPT0gMCkgeworICAgICAgICAgICAgaWYgKGRhdGFfc2l6ZSA9PSBtYXhfbGVuZ3RoKQorICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgaWYgKGdyb3dfYnVmZmVyKCZyZXN1bHQsIG1heF9sZW5ndGgpID09IC0xKQogICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7Ci0gICAgICAgICAgICBkLT5senMubmV4dF9vdXQgPSAodWludDhfdCAqKVB5Qnl0ZXNfQVNfU1RSSU5HKHJlc3VsdCkgKyBkYXRhX3NpemU7Ci0gICAgICAgICAgICBkLT5senMuYXZhaWxfb3V0ID0gUHlCeXRlc19HRVRfU0laRShyZXN1bHQpIC0gZGF0YV9zaXplOworICAgICAgICAgICAgbHpzLT5uZXh0X291dCA9ICh1aW50OF90ICopUHlCeXRlc19BU19TVFJJTkcocmVzdWx0KSArIGRhdGFfc2l6ZTsKKyAgICAgICAgICAgIGx6cy0+YXZhaWxfb3V0ID0gUHlCeXRlc19HRVRfU0laRShyZXN1bHQpIC0gZGF0YV9zaXplOwogICAgICAgICB9CiAgICAgfQogICAgIGlmIChkYXRhX3NpemUgIT0gUHlCeXRlc19HRVRfU0laRShyZXN1bHQpKQogICAgICAgICBpZiAoX1B5Qnl0ZXNfUmVzaXplKCZyZXN1bHQsIGRhdGFfc2l6ZSkgPT0gLTEpCiAgICAgICAgICAgICBnb3RvIGVycm9yOworCisgICAgcmV0dXJuIHJlc3VsdDsKKyAgICAKK2Vycm9yOgorICAgIFB5X1hERUNSRUYocmVzdWx0KTsKKyAgICByZXR1cm4gTlVMTDsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK2RlY29tcHJlc3MoRGVjb21wcmVzc29yICpkLCB1aW50OF90ICpkYXRhLCBzaXplX3QgbGVuLCBQeV9zc2l6ZV90IG1heF9sZW5ndGgpCit7CisgICAgY2hhciBpbnB1dF9idWZmZXJfaW5fdXNlOworICAgIFB5T2JqZWN0ICpyZXN1bHQ7CisgICAgbHptYV9zdHJlYW0gKmx6cyA9ICZkLT5senM7CisgICAgCisgICAgLyogUHJlcGVuZCB1bmNvbnN1bWVkIGlucHV0IGlmIG5lY2Vzc2FyeSAqLworICAgIGlmIChsenMtPm5leHRfaW4gIT0gTlVMTCkgeworICAgICAgICBzaXplX3QgYXZhaWxfbm93LCBhdmFpbF90b3RhbDsKKyAgICAgICAgCisgICAgICAgIC8qIE51bWJlciBvZiBieXRlcyB3ZSBjYW4gYXBwZW5kIHRvIGlucHV0IGJ1ZmZlciAqLworICAgICAgICBhdmFpbF9ub3cgPSAoZC0+aW5wdXRfYnVmZmVyICsgZC0+aW5wdXRfYnVmZmVyX3NpemUpCisgICAgICAgICAgICAtIChsenMtPm5leHRfaW4gKyBsenMtPmF2YWlsX2luKTsKKworICAgICAgICAvKiBOdW1iZXIgb2YgYnl0ZXMgd2UgY2FuIGFwcGVuZCBpZiB3ZSBtb3ZlIGV4aXN0aW5nCisgICAgICAgICAgIGNvbnRlbnRzIHRvIGJlZ2lubmluZyBvZiBidWZmZXIgKG92ZXJ3cml0aW5nCisgICAgICAgICAgIGNvbnN1bWVkIGlucHV0KSAqLworICAgICAgICBhdmFpbF90b3RhbCA9IGQtPmlucHV0X2J1ZmZlcl9zaXplIC0gbHpzLT5hdmFpbF9pbjsKKworICAgICAgICBpZiAoYXZhaWxfdG90YWwgPCBsZW4pIHsKKyAgICAgICAgICAgIHNpemVfdCBvZmZzZXQgPSBsenMtPm5leHRfaW4gLSBkLT5pbnB1dF9idWZmZXI7CisgICAgICAgICAgICB1aW50OF90ICp0bXA7CisgICAgICAgICAgICBzaXplX3QgbmV3X3NpemUgPSBkLT5pbnB1dF9idWZmZXJfc2l6ZSArIGxlbiAtIGF2YWlsX25vdzsKKworICAgICAgICAgICAgLyogQXNzaWduIHRvIHRlbXBvcmFyeSB2YXJpYWJsZSBmaXJzdCwgc28gd2UgZG9uJ3QKKyAgICAgICAgICAgICAgIGxvc2UgYWRkcmVzcyBvZiBhbGxvY2F0ZWQgYnVmZmVyIGlmIHJlYWxsb2MgZmFpbHMgKi8KKyAgICAgICAgICAgIHRtcCA9IFB5TWVtX1JlYWxsb2MoZC0+aW5wdXRfYnVmZmVyLCBuZXdfc2l6ZSk7CisgICAgICAgICAgICBpZiAodG1wID09IE5VTEwpIHsKKyAgICAgICAgICAgICAgICBQeUVycl9TZXROb25lKFB5RXhjX01lbW9yeUVycm9yKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGQtPmlucHV0X2J1ZmZlciA9IHRtcDsKKyAgICAgICAgICAgIGQtPmlucHV0X2J1ZmZlcl9zaXplID0gbmV3X3NpemU7CisgICAgICAgICAgICAKKyAgICAgICAgICAgIGx6cy0+bmV4dF9pbiA9IGQtPmlucHV0X2J1ZmZlciArIG9mZnNldDsKKyAgICAgICAgfQorICAgICAgICBlbHNlIGlmIChhdmFpbF9ub3cgPCBsZW4pIHsKKyAgICAgICAgICAgIG1lbW1vdmUoZC0+aW5wdXRfYnVmZmVyLCBsenMtPm5leHRfaW4sCisgICAgICAgICAgICAgICAgICAgIGx6cy0+YXZhaWxfaW4pOworICAgICAgICAgICAgbHpzLT5uZXh0X2luID0gZC0+aW5wdXRfYnVmZmVyOworICAgICAgICB9CisgICAgICAgIG1lbWNweSgodm9pZCopKGx6cy0+bmV4dF9pbiArIGx6cy0+YXZhaWxfaW4pLCBkYXRhLCBsZW4pOworICAgICAgICBsenMtPmF2YWlsX2luICs9IGxlbjsKKyAgICAgICAgaW5wdXRfYnVmZmVyX2luX3VzZSA9IDE7CisgICAgfQorICAgIGVsc2UgeworICAgICAgICBsenMtPm5leHRfaW4gPSBkYXRhOworICAgICAgICBsenMtPmF2YWlsX2luID0gbGVuOworICAgICAgICBpbnB1dF9idWZmZXJfaW5fdXNlID0gMDsKKyAgICB9CisKKyAgICByZXN1bHQgPSBkZWNvbXByZXNzX2J1ZihkLCBtYXhfbGVuZ3RoKTsKKyAgICBpZihyZXN1bHQgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisKKyAgICBpZiAoZC0+ZW9mKSB7CisgICAgICAgIGQtPm5lZWRzX2lucHV0ID0gMDsKKyAgICAgICAgaWYgKGx6cy0+YXZhaWxfaW4gPiAwKSB7CisgICAgICAgICAgICBQeV9DTEVBUihkLT51bnVzZWRfZGF0YSk7CisgICAgICAgICAgICBkLT51bnVzZWRfZGF0YSA9IFB5Qnl0ZXNfRnJvbVN0cmluZ0FuZFNpemUoCisgICAgICAgICAgICAgICAgKGNoYXIgKilsenMtPm5leHRfaW4sIGx6cy0+YXZhaWxfaW4pOworICAgICAgICAgICAgaWYgKGQtPnVudXNlZF9kYXRhID09IE5VTEwpCisgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKKyAgICAgICAgfQorICAgIH0KKyAgICBlbHNlIGlmIChsenMtPmF2YWlsX2luID09IDApIHsKKyAgICAgICAgbHpzLT5uZXh0X2luID0gTlVMTDsKKyAgICAgICAgZC0+bmVlZHNfaW5wdXQgPSAxOworICAgIH0KKyAgICBlbHNlIHsKKyAgICAgICAgZC0+bmVlZHNfaW5wdXQgPSAwOworCisgICAgICAgIC8qIElmIHdlIGRpZCBub3QgdXNlIHRoZSBpbnB1dCBidWZmZXIsIHdlIG5vdyBoYXZlCisgICAgICAgICAgIHRvIGNvcHkgdGhlIHRhaWwgZnJvbSB0aGUgY2FsbGVyJ3MgYnVmZmVyIGludG8gdGhlCisgICAgICAgICAgIGlucHV0IGJ1ZmZlciAqLworICAgICAgICBpZiAoIWlucHV0X2J1ZmZlcl9pbl91c2UpIHsKKworICAgICAgICAgICAgLyogRGlzY2FyZCBidWZmZXIgaWYgaXQncyB0b28gc21hbGwKKyAgICAgICAgICAgICAgIChyZXNpemluZyBpdCBtYXkgbmVlZGxlc3NseSBjb3B5IHRoZSBjdXJyZW50IGNvbnRlbnRzKSAqLworICAgICAgICAgICAgaWYgKGQtPmlucHV0X2J1ZmZlciAhPSBOVUxMICYmCisgICAgICAgICAgICAgICAgZC0+aW5wdXRfYnVmZmVyX3NpemUgPCBsenMtPmF2YWlsX2luKSB7CisgICAgICAgICAgICAgICAgUHlNZW1fRnJlZShkLT5pbnB1dF9idWZmZXIpOworICAgICAgICAgICAgICAgIGQtPmlucHV0X2J1ZmZlciA9IE5VTEw7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIC8qIEFsbG9jYXRlIGlmIG5lY2Vzc2FyeSAqLworICAgICAgICAgICAgaWYgKGQtPmlucHV0X2J1ZmZlciA9PSBOVUxMKSB7CisgICAgICAgICAgICAgICAgZC0+aW5wdXRfYnVmZmVyID0gUHlNZW1fTWFsbG9jKGx6cy0+YXZhaWxfaW4pOworICAgICAgICAgICAgICAgIGlmIChkLT5pbnB1dF9idWZmZXIgPT0gTlVMTCkgeworICAgICAgICAgICAgICAgICAgICBQeUVycl9TZXROb25lKFB5RXhjX01lbW9yeUVycm9yKTsKKyAgICAgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgZC0+aW5wdXRfYnVmZmVyX3NpemUgPSBsenMtPmF2YWlsX2luOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICAvKiBDb3B5IHRhaWwgKi8KKyAgICAgICAgICAgIG1lbWNweShkLT5pbnB1dF9idWZmZXIsIGx6cy0+bmV4dF9pbiwgbHpzLT5hdmFpbF9pbik7CisgICAgICAgICAgICBsenMtPm5leHRfaW4gPSBkLT5pbnB1dF9idWZmZXI7CisgICAgICAgIH0KKyAgICB9CisgICAgCiAgICAgcmV0dXJuIHJlc3VsdDsKIAogZXJyb3I6CkBAIC05NDYsMjAgKzEwNjcsMjcgQEAKIAogICAgIHNlbGY6IHNlbGYodHlwZT0iRGVjb21wcmVzc29yICoiKQogICAgIGRhdGE6IFB5X2J1ZmZlcgotICAgIC8KKyAgICBtYXhfbGVuZ3RoOiBQeV9zc2l6ZV90PS0xCiAKLVByb3ZpZGUgZGF0YSB0byB0aGUgZGVjb21wcmVzc29yIG9iamVjdC4KK0RlY29tcHJlc3MgKmRhdGEqLCByZXR1cm5pbmcgdW5jb21wcmVzc2VkIGRhdGEgYXMgYnl0ZXMuCiAKLVJldHVybnMgYSBjaHVuayBvZiBkZWNvbXByZXNzZWQgZGF0YSBpZiBwb3NzaWJsZSwgb3IgYicnIG90aGVyd2lzZS4KK0lmICptYXhfbGVuZ3RoKiBpcyBub25uZWdhdGl2ZSwgcmV0dXJucyBhdCBtb3N0ICptYXhfbGVuZ3RoKiBieXRlcyBvZgorZGVjb21wcmVzc2VkIGRhdGEuIElmIHRoaXMgbGltaXQgaXMgcmVhY2hlZCBhbmQgZnVydGhlciBvdXRwdXQgY2FuIGJlCitwcm9kdWNlZCwgKnNlbGYubmVlZHNfaW5wdXQqIHdpbGwgYmUgc2V0IHRvIGBgRmFsc2VgYC4gSW4gdGhpcyBjYXNlLCB0aGUgbmV4dAorY2FsbCB0byAqZGVjb21wcmVzcygpKiBtYXkgcHJvdmlkZSAqZGF0YSogYXMgYicnIHRvIG9idGFpbiBtb3JlIG9mIHRoZSBvdXRwdXQuCiAKLUF0dGVtcHRpbmcgdG8gZGVjb21wcmVzcyBkYXRhIGFmdGVyIHRoZSBlbmQgb2Ygc3RyZWFtIGlzIHJlYWNoZWQKLXJhaXNlcyBhbiBFT0ZFcnJvci4gIEFueSBkYXRhIGZvdW5kIGFmdGVyIHRoZSBlbmQgb2YgdGhlIHN0cmVhbQotaXMgaWdub3JlZCBhbmQgc2F2ZWQgaW4gdGhlIHVudXNlZF9kYXRhIGF0dHJpYnV0ZS4KK0lmIGFsbCBvZiB0aGUgaW5wdXQgZGF0YSB3YXMgZGVjb21wcmVzc2VkIGFuZCByZXR1cm5lZCAoZWl0aGVyIGJlY2F1c2UgdGhpcword2FzIGxlc3MgdGhhbiAqbWF4X2xlbmd0aCogYnl0ZXMsIG9yIGJlY2F1c2UgKm1heF9sZW5ndGgqIHdhcyBuZWdhdGl2ZSksCisqc2VsZi5uZWVkc19pbnB1dCogd2lsbCBiZSBzZXQgdG8gVHJ1ZS4KKworQXR0ZW1wdGluZyB0byBkZWNvbXByZXNzIGRhdGEgYWZ0ZXIgdGhlIGVuZCBvZiBzdHJlYW0gaXMgcmVhY2hlZCByYWlzZXMgYW4KK0VPRkVycm9yLiAgQW55IGRhdGEgZm91bmQgYWZ0ZXIgdGhlIGVuZCBvZiB0aGUgc3RyZWFtIGlzIGlnbm9yZWQgYW5kIHNhdmVkIGluCit0aGUgdW51c2VkX2RhdGEgYXR0cmlidXRlLgogW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLwogCiBzdGF0aWMgUHlPYmplY3QgKgotX2x6bWFfTFpNQURlY29tcHJlc3Nvcl9kZWNvbXByZXNzX2ltcGwoRGVjb21wcmVzc29yICpzZWxmLCBQeV9idWZmZXIgKmRhdGEpCi0vKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ZDg2ZTc4ZGE3ZmYwZmYyMSBpbnB1dD01MGM0NzY4YjgyMWJmMGVmXSovCitfbHptYV9MWk1BRGVjb21wcmVzc29yX2RlY29tcHJlc3NfaW1wbChEZWNvbXByZXNzb3IgKnNlbGYsIFB5X2J1ZmZlciAqZGF0YSwgUHlfc3NpemVfdCBtYXhfbGVuZ3RoKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTE1MzJhNWJiMjM2MjkwMDEgaW5wdXQ9ZjJiYjkwMmNjMWNhZjIwM10qLwogewogICAgIFB5T2JqZWN0ICpyZXN1bHQgPSBOVUxMOwogCkBAIC05NjcsNyArMTA5NSw3IEBACiAgICAgaWYgKHNlbGYtPmVvZikKICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX0VPRkVycm9yLCAiQWxyZWFkeSBhdCBlbmQgb2Ygc3RyZWFtIik7CiAgICAgZWxzZQotICAgICAgICByZXN1bHQgPSBkZWNvbXByZXNzKHNlbGYsIGRhdGEtPmJ1ZiwgZGF0YS0+bGVuKTsKKyAgICAgICAgcmVzdWx0ID0gZGVjb21wcmVzcyhzZWxmLCBkYXRhLT5idWYsIGRhdGEtPmxlbiwgbWF4X2xlbmd0aCk7CiAgICAgUkVMRUFTRV9MT0NLKHNlbGYpOwogICAgIHJldHVybiByZXN1bHQ7CiB9CkBAIC0xMDU1LDYgKzExODMsNyBAQAogICAgIHNlbGYtPmFsbG9jLmFsbG9jID0gUHlMem1hX01hbGxvYzsKICAgICBzZWxmLT5hbGxvYy5mcmVlID0gUHlMem1hX0ZyZWU7CiAgICAgc2VsZi0+bHpzLmFsbG9jYXRvciA9ICZzZWxmLT5hbGxvYzsKKyAgICBzZWxmLT5senMubmV4dF9pbiA9IE5VTEw7CiAKICNpZmRlZiBXSVRIX1RIUkVBRAogICAgIHNlbGYtPmxvY2sgPSBQeVRocmVhZF9hbGxvY2F0ZV9sb2NrKCk7CkBAIC0xMDY1LDYgKzExOTQsOSBAQAogI2VuZGlmCiAKICAgICBzZWxmLT5jaGVjayA9IExaTUFfQ0hFQ0tfVU5LTk9XTjsKKyAgICBzZWxmLT5uZWVkc19pbnB1dCA9IDE7CisgICAgc2VsZi0+aW5wdXRfYnVmZmVyID0gTlVMTDsKKyAgICBzZWxmLT5pbnB1dF9idWZmZXJfc2l6ZSA9IDA7CiAgICAgc2VsZi0+dW51c2VkX2RhdGEgPSBQeUJ5dGVzX0Zyb21TdHJpbmdBbmRTaXplKE5VTEwsIDApOwogICAgIGlmIChzZWxmLT51bnVzZWRfZGF0YSA9PSBOVUxMKQogICAgICAgICBnb3RvIGVycm9yOwpAQCAtMTExMyw2ICsxMjQ1LDkgQEAKIHN0YXRpYyB2b2lkCiBEZWNvbXByZXNzb3JfZGVhbGxvYyhEZWNvbXByZXNzb3IgKnNlbGYpCiB7CisgICAgaWYoc2VsZi0+aW5wdXRfYnVmZmVyICE9IE5VTEwpCisgICAgICAgIFB5TWVtX0ZyZWUoc2VsZi0+aW5wdXRfYnVmZmVyKTsKKyAgICAKICAgICBsem1hX2VuZCgmc2VsZi0+bHpzKTsKICAgICBQeV9DTEVBUihzZWxmLT51bnVzZWRfZGF0YSk7CiAjaWZkZWYgV0lUSF9USFJFQUQKQEAgLTExMzQsNiArMTI2OSw5IEBACiBQeURvY19TVFJWQVIoRGVjb21wcmVzc29yX2VvZl9kb2MsCiAiVHJ1ZSBpZiB0aGUgZW5kLW9mLXN0cmVhbSBtYXJrZXIgaGFzIGJlZW4gcmVhY2hlZC4iKTsKIAorUHlEb2NfU1RSVkFSKERlY29tcHJlc3Nvcl9uZWVkc19pbnB1dF9kb2MsCisiVHJ1ZSBpZiBtb3JlIGlucHV0IGlzIG5lZWRlZCBiZWZvcmUgbW9yZSBkZWNvbXByZXNzZWQgZGF0YSBjYW4gYmUgcHJvZHVjZWQuIik7CisKIFB5RG9jX1NUUlZBUihEZWNvbXByZXNzb3JfdW51c2VkX2RhdGFfZG9jLAogIkRhdGEgZm91bmQgYWZ0ZXIgdGhlIGVuZCBvZiB0aGUgY29tcHJlc3NlZCBzdHJlYW0uIik7CiAKQEAgLTExNDIsNiArMTI4MCw4IEBACiAgICAgIERlY29tcHJlc3Nvcl9jaGVja19kb2N9LAogICAgIHsiZW9mIiwgVF9CT09MLCBvZmZzZXRvZihEZWNvbXByZXNzb3IsIGVvZiksIFJFQURPTkxZLAogICAgICBEZWNvbXByZXNzb3JfZW9mX2RvY30sCisgICAgeyJuZWVkc19pbnB1dCIsIFRfQk9PTCwgb2Zmc2V0b2YoRGVjb21wcmVzc29yLCBuZWVkc19pbnB1dCksIFJFQURPTkxZLAorICAgICBEZWNvbXByZXNzb3JfbmVlZHNfaW5wdXRfZG9jfSwKICAgICB7InVudXNlZF9kYXRhIiwgVF9PQkpFQ1RfRVgsIG9mZnNldG9mKERlY29tcHJlc3NvciwgdW51c2VkX2RhdGEpLCBSRUFET05MWSwKICAgICAgRGVjb21wcmVzc29yX3VudXNlZF9kYXRhX2RvY30sCiAgICAge05VTEx9CmRpZmYgLS1naXQgYS9Nb2R1bGVzL19vcGVyYXRvci5jIGIvTW9kdWxlcy9fb3BlcmF0b3IuYwppbmRleCBhZGViOTllLi44ZjUyNGE2IDEwMDY0NAotLS0gYS9Nb2R1bGVzL19vcGVyYXRvci5jCisrKyBiL01vZHVsZXMvX29wZXJhdG9yLmMKQEAgLTY5LDYgKzY5LDcgQEAKIHNwYW0yKG9wX2FkZCAgICAgICAgICAgLCBQeU51bWJlcl9BZGQpCiBzcGFtMihvcF9zdWIgICAgICAgICAgICwgUHlOdW1iZXJfU3VidHJhY3QpCiBzcGFtMihvcF9tdWwgICAgICAgICAgICwgUHlOdW1iZXJfTXVsdGlwbHkpCitzcGFtMihvcF9tYXRtdWwgICAgICAgICwgUHlOdW1iZXJfTWF0cml4TXVsdGlwbHkpCiBzcGFtMihvcF9mbG9vcmRpdiAgICAgICwgUHlOdW1iZXJfRmxvb3JEaXZpZGUpCiBzcGFtMihvcF90cnVlZGl2ICAgICAgICwgUHlOdW1iZXJfVHJ1ZURpdmlkZSkKIHNwYW0yKG9wX21vZCAgICAgICAgICAgLCBQeU51bWJlcl9SZW1haW5kZXIpCkBAIC04Niw2ICs4Nyw3IEBACiBzcGFtMihvcF9pYWRkICAgICAgICAgICwgUHlOdW1iZXJfSW5QbGFjZUFkZCkKIHNwYW0yKG9wX2lzdWIgICAgICAgICAgLCBQeU51bWJlcl9JblBsYWNlU3VidHJhY3QpCiBzcGFtMihvcF9pbXVsICAgICAgICAgICwgUHlOdW1iZXJfSW5QbGFjZU11bHRpcGx5KQorc3BhbTIob3BfaW1hdG11bCAgICAgICAsIFB5TnVtYmVyX0luUGxhY2VNYXRyaXhNdWx0aXBseSkKIHNwYW0yKG9wX2lmbG9vcmRpdiAgICAgLCBQeU51bWJlcl9JblBsYWNlRmxvb3JEaXZpZGUpCiBzcGFtMihvcF9pdHJ1ZWRpdiAgICAgICwgUHlOdW1iZXJfSW5QbGFjZVRydWVEaXZpZGUpCiBzcGFtMihvcF9pbW9kICAgICAgICAgICwgUHlOdW1iZXJfSW5QbGFjZVJlbWFpbmRlcikKQEAgLTIzOSw3ICsyNDEsNyBAQAogIlJldHVybiAnYSA9PSBiJy4gIFRoaXMgZnVuY3Rpb24gdXNlcyBhbiBhcHByb2FjaCBkZXNpZ25lZCB0byBwcmV2ZW50XG4iCiAidGltaW5nIGFuYWx5c2lzLCBtYWtpbmcgaXQgYXBwcm9wcmlhdGUgZm9yIGNyeXB0b2dyYXBoeS5cbiIKICJhIGFuZCBiIG11c3QgYm90aCBiZSBvZiB0aGUgc2FtZSB0eXBlOiBlaXRoZXIgc3RyIChBU0NJSSBvbmx5KSxcbiIKLSJvciBhbnkgdHlwZSB0aGF0IHN1cHBvcnRzIHRoZSBidWZmZXIgcHJvdG9jb2wgKGUuZy4gYnl0ZXMpLlxuIgorIm9yIGFueSBieXRlcy1saWtlIG9iamVjdC5cbiIKICJcbiIKICJOb3RlOiBJZiBhIGFuZCBiIGFyZSBvZiBkaWZmZXJlbnQgbGVuZ3Rocywgb3IgaWYgYW4gZXJyb3Igb2NjdXJzLFxuIgogImEgdGltaW5nIGF0dGFjayBjb3VsZCB0aGVvcmV0aWNhbGx5IHJldmVhbCBpbmZvcm1hdGlvbiBhYm91dCB0aGVcbiIKQEAgLTM0Myw2ICszNDUsNyBAQAogc3BhbTIoYWRkLCAiYWRkKGEsIGIpIC0tIFNhbWUgYXMgYSArIGIuIikKIHNwYW0yKHN1YiwgInN1YihhLCBiKSAtLSBTYW1lIGFzIGEgLSBiLiIpCiBzcGFtMihtdWwsICJtdWwoYSwgYikgLS0gU2FtZSBhcyBhICogYi4iKQorc3BhbTIobWF0bXVsLCAibWF0bXVsKGEsIGIpIC0tIFNhbWUgYXMgYSBAIGIuIikKIHNwYW0yKGZsb29yZGl2LCAiZmxvb3JkaXYoYSwgYikgLS0gU2FtZSBhcyBhIC8vIGIuIikKIHNwYW0yKHRydWVkaXYsICJ0cnVlZGl2KGEsIGIpIC0tIFNhbWUgYXMgYSAvIGIuIikKIHNwYW0yKG1vZCwgIm1vZChhLCBiKSAtLSBTYW1lIGFzIGEgJSBiLiIpCkBAIC0zNjAsNiArMzYzLDcgQEAKIHNwYW0yKGlhZGQsICJhID0gaWFkZChhLCBiKSAtLSBTYW1lIGFzIGEgKz0gYi4iKQogc3BhbTIoaXN1YiwgImEgPSBpc3ViKGEsIGIpIC0tIFNhbWUgYXMgYSAtPSBiLiIpCiBzcGFtMihpbXVsLCAiYSA9IGltdWwoYSwgYikgLS0gU2FtZSBhcyBhICo9IGIuIikKK3NwYW0yKGltYXRtdWwsICJhID0gaW1hdG11bChhLCBiKSAtLSBTYW1lIGFzIGEgQD0gYi4iKQogc3BhbTIoaWZsb29yZGl2LCAiYSA9IGlmbG9vcmRpdihhLCBiKSAtLSBTYW1lIGFzIGEgLy89IGIuIikKIHNwYW0yKGl0cnVlZGl2LCAiYSA9IGl0cnVlZGl2KGEsIGIpIC0tIFNhbWUgYXMgYSAvPSBiIikKIHNwYW0yKGltb2QsICJhID0gaW1vZChhLCBiKSAtLSBTYW1lIGFzIGEgJT0gYi4iKQpkaWZmIC0tZ2l0IGEvTW9kdWxlcy9fcGlja2xlLmMgYi9Nb2R1bGVzL19waWNrbGUuYwppbmRleCAxMGViNTEzLi41MWUyZjgzIDEwMDY0NAotLS0gYS9Nb2R1bGVzL19waWNrbGUuYworKysgYi9Nb2R1bGVzL19waWNrbGUuYwpAQCAtNDIwLDIyICs0MjAsMjIgQEAKIFBkYXRhX2dyb3coUGRhdGEgKnNlbGYpCiB7CiAgICAgUHlPYmplY3QgKipkYXRhID0gc2VsZi0+ZGF0YTsKLSAgICBQeV9zc2l6ZV90IGFsbG9jYXRlZCA9IHNlbGYtPmFsbG9jYXRlZDsKLSAgICBQeV9zc2l6ZV90IG5ld19hbGxvY2F0ZWQ7CisgICAgc2l6ZV90IGFsbG9jYXRlZCA9IChzaXplX3Qpc2VsZi0+YWxsb2NhdGVkOworICAgIHNpemVfdCBuZXdfYWxsb2NhdGVkOwogCiAgICAgbmV3X2FsbG9jYXRlZCA9IChhbGxvY2F0ZWQgPj4gMykgKyA2OwogICAgIC8qIGNoZWNrIGZvciBpbnRlZ2VyIG92ZXJmbG93ICovCi0gICAgaWYgKG5ld19hbGxvY2F0ZWQgPiBQWV9TU0laRV9UX01BWCAtIGFsbG9jYXRlZCkKKyAgICBpZiAobmV3X2FsbG9jYXRlZCA+IChzaXplX3QpUFlfU1NJWkVfVF9NQVggLSBhbGxvY2F0ZWQpCiAgICAgICAgIGdvdG8gbm9tZW1vcnk7CiAgICAgbmV3X2FsbG9jYXRlZCArPSBhbGxvY2F0ZWQ7Ci0gICAgaWYgKG5ld19hbGxvY2F0ZWQgPiAoUFlfU1NJWkVfVF9NQVggLyBzaXplb2YoUHlPYmplY3QgKikpKQorICAgIGlmIChuZXdfYWxsb2NhdGVkID4gKChzaXplX3QpUFlfU1NJWkVfVF9NQVggLyBzaXplb2YoUHlPYmplY3QgKikpKQogICAgICAgICBnb3RvIG5vbWVtb3J5OwogICAgIGRhdGEgPSBQeU1lbV9SRUFMTE9DKGRhdGEsIG5ld19hbGxvY2F0ZWQgKiBzaXplb2YoUHlPYmplY3QgKikpOwogICAgIGlmIChkYXRhID09IE5VTEwpCiAgICAgICAgIGdvdG8gbm9tZW1vcnk7CiAKICAgICBzZWxmLT5kYXRhID0gZGF0YTsKLSAgICBzZWxmLT5hbGxvY2F0ZWQgPSBuZXdfYWxsb2NhdGVkOworICAgIHNlbGYtPmFsbG9jYXRlZCA9IChQeV9zc2l6ZV90KW5ld19hbGxvY2F0ZWQ7CiAgICAgcmV0dXJuIDA7CiAKICAgbm9tZW1vcnk6CkBAIC04NTAsNyArODUwLDcgQEAKIHN0YXRpYyB2b2lkCiBfd3JpdGVfc2l6ZTY0KGNoYXIgKm91dCwgc2l6ZV90IHZhbHVlKQogewotICAgIGludCBpOworICAgIHNpemVfdCBpOwogCiAgICAgYXNzZXJ0KHNpemVvZihzaXplX3QpIDw9IDgpOwogCkBAIC0xNDU2LDcgKzE0NTYsNyBAQAogICAgICAgICAgICAgcGRhdGFbMV0gPSAodW5zaWduZWQgY2hhcikoKnZhbHVlICYgMHhmZik7CiAgICAgICAgICAgICBsZW4gPSAyOwogICAgICAgICB9Ci0gICAgICAgIGVsc2UgaWYgKCp2YWx1ZSA8PSAweGZmZmZmZmZmTCkgeworICAgICAgICBlbHNlIGlmICgoc2l6ZV90KSp2YWx1ZSA8PSAweGZmZmZmZmZmVUwpIHsKICAgICAgICAgICAgIHBkYXRhWzBdID0gTE9OR19CSU5HRVQ7CiAgICAgICAgICAgICBwZGF0YVsxXSA9ICh1bnNpZ25lZCBjaGFyKSgqdmFsdWUgJiAweGZmKTsKICAgICAgICAgICAgIHBkYXRhWzJdID0gKHVuc2lnbmVkIGNoYXIpKCgqdmFsdWUgPj4gOCkgJiAweGZmKTsKQEAgLTE1MTMsNyArMTUxMyw3IEBACiAgICAgICAgICAgICBwZGF0YVsxXSA9ICh1bnNpZ25lZCBjaGFyKWlkeDsKICAgICAgICAgICAgIGxlbiA9IDI7CiAgICAgICAgIH0KLSAgICAgICAgZWxzZSBpZiAoaWR4IDw9IDB4ZmZmZmZmZmZMKSB7CisgICAgICAgIGVsc2UgaWYgKChzaXplX3QpaWR4IDw9IDB4ZmZmZmZmZmZVTCkgewogICAgICAgICAgICAgcGRhdGFbMF0gPSBMT05HX0JJTlBVVDsKICAgICAgICAgICAgIHBkYXRhWzFdID0gKHVuc2lnbmVkIGNoYXIpKGlkeCAmIDB4ZmYpOwogICAgICAgICAgICAgcGRhdGFbMl0gPSAodW5zaWduZWQgY2hhcikoKGlkeCA+PiA4KSAmIDB4ZmYpOwpAQCAtMTUzNSw2OSArMTUzNSwxMDkgQEAKIH0KIAogc3RhdGljIFB5T2JqZWN0ICoKLWdldGF0dHJpYnV0ZShQeU9iamVjdCAqb2JqLCBQeU9iamVjdCAqbmFtZSwgaW50IGFsbG93X3F1YWxuYW1lKSB7Ci0gICAgUHlPYmplY3QgKmRvdHRlZF9wYXRoOwotICAgIFB5X3NzaXplX3QgaTsKK2dldF9kb3R0ZWRfcGF0aChQeU9iamVjdCAqb2JqLCBQeU9iamVjdCAqbmFtZSwgaW50IGFsbG93X3F1YWxuYW1lKSB7CiAgICAgX1B5X3N0YXRpY19zdHJpbmcoUHlJZF9kb3QsICIuIik7CiAgICAgX1B5X3N0YXRpY19zdHJpbmcoUHlJZF9sb2NhbHMsICI8bG9jYWxzPiIpOworICAgIFB5T2JqZWN0ICpkb3R0ZWRfcGF0aDsKKyAgICBQeV9zc2l6ZV90IGksIG47CiAKICAgICBkb3R0ZWRfcGF0aCA9IFB5VW5pY29kZV9TcGxpdChuYW1lLCBfUHlVbmljb2RlX0Zyb21JZCgmUHlJZF9kb3QpLCAtMSk7Ci0gICAgaWYgKGRvdHRlZF9wYXRoID09IE5VTEwpIHsKKyAgICBpZiAoZG90dGVkX3BhdGggPT0gTlVMTCkKICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgfQotICAgIGFzc2VydChQeV9TSVpFKGRvdHRlZF9wYXRoKSA+PSAxKTsKLSAgICBpZiAoIWFsbG93X3F1YWxuYW1lICYmIFB5X1NJWkUoZG90dGVkX3BhdGgpID4gMSkgewotICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfQXR0cmlidXRlRXJyb3IsCi0gICAgICAgICAgICAgICAgICAgICAiQ2FuJ3QgZ2V0IHF1YWxpZmllZCBhdHRyaWJ1dGUgJVIgb24gJVI7IgotICAgICAgICAgICAgICAgICAgICAgInVzZSBwcm90b2NvbHMgPj0gNCB0byBlbmFibGUgc3VwcG9ydCIsCi0gICAgICAgICAgICAgICAgICAgICBuYW1lLCBvYmopOworICAgIG4gPSBQeUxpc3RfR0VUX1NJWkUoZG90dGVkX3BhdGgpOworICAgIGFzc2VydChuID49IDEpOworICAgIGlmICghYWxsb3dfcXVhbG5hbWUgJiYgbiA+IDEpIHsKKyAgICAgICAgaWYgKG9iaiA9PSBOVUxMKQorICAgICAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX0F0dHJpYnV0ZUVycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgICJDYW4ndCBwaWNrbGUgcXVhbGlmaWVkIG9iamVjdCAlUjsgIgorICAgICAgICAgICAgICAgICAgICAgICAgICJ1c2UgcHJvdG9jb2xzID49IDQgdG8gZW5hYmxlIHN1cHBvcnQiLAorICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWUpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfQXR0cmlidXRlRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgIkNhbid0IHBpY2tsZSBxdWFsaWZpZWQgYXR0cmlidXRlICVSIG9uICVSOyAiCisgICAgICAgICAgICAgICAgICAgICAgICAgInVzZSBwcm90b2NvbHMgPj0gNCB0byBlbmFibGUgc3VwcG9ydCIsCisgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZSwgb2JqKTsKICAgICAgICAgUHlfREVDUkVGKGRvdHRlZF9wYXRoKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQotICAgIFB5X0lOQ1JFRihvYmopOwotICAgIGZvciAoaSA9IDA7IGkgPCBQeV9TSVpFKGRvdHRlZF9wYXRoKTsgaSsrKSB7CisgICAgZm9yIChpID0gMDsgaSA8IG47IGkrKykgewogICAgICAgICBQeU9iamVjdCAqc3VicGF0aCA9IFB5TGlzdF9HRVRfSVRFTShkb3R0ZWRfcGF0aCwgaSk7Ci0gICAgICAgIFB5T2JqZWN0ICp0bXA7CiAgICAgICAgIFB5T2JqZWN0ICpyZXN1bHQgPSBQeVVuaWNvZGVfUmljaENvbXBhcmUoCiAgICAgICAgICAgICBzdWJwYXRoLCBfUHlVbmljb2RlX0Zyb21JZCgmUHlJZF9sb2NhbHMpLCBQeV9FUSk7CiAgICAgICAgIGludCBpc19lcXVhbCA9IChyZXN1bHQgPT0gUHlfVHJ1ZSk7CiAgICAgICAgIGFzc2VydChQeUJvb2xfQ2hlY2socmVzdWx0KSk7CiAgICAgICAgIFB5X0RFQ1JFRihyZXN1bHQpOwogICAgICAgICBpZiAoaXNfZXF1YWwpIHsKLSAgICAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19BdHRyaWJ1dGVFcnJvciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAiQ2FuJ3QgZ2V0IGxvY2FsIGF0dHJpYnV0ZSAlUiBvbiAlUiIsIG5hbWUsIG9iaik7Ci0gICAgICAgICAgICBQeV9ERUNSRUYoZG90dGVkX3BhdGgpOwotICAgICAgICAgICAgUHlfREVDUkVGKG9iaik7Ci0gICAgICAgICAgICByZXR1cm4gTlVMTDsKLSAgICAgICAgfQotICAgICAgICB0bXAgPSBQeU9iamVjdF9HZXRBdHRyKG9iaiwgc3VicGF0aCk7Ci0gICAgICAgIFB5X0RFQ1JFRihvYmopOwotICAgICAgICBpZiAodG1wID09IE5VTEwpIHsKLSAgICAgICAgICAgIGlmIChQeUVycl9FeGNlcHRpb25NYXRjaGVzKFB5RXhjX0F0dHJpYnV0ZUVycm9yKSkgewotICAgICAgICAgICAgICAgIFB5RXJyX0NsZWFyKCk7CisgICAgICAgICAgICBpZiAob2JqID09IE5VTEwpCiAgICAgICAgICAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX0F0dHJpYnV0ZUVycm9yLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiQ2FuJ3QgZ2V0IGF0dHJpYnV0ZSAlUiBvbiAlUiIsIG5hbWUsIG9iaik7Ci0gICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJDYW4ndCBwaWNrbGUgbG9jYWwgb2JqZWN0ICVSIiwgbmFtZSk7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX0F0dHJpYnV0ZUVycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiQ2FuJ3QgcGlja2xlIGxvY2FsIGF0dHJpYnV0ZSAlUiBvbiAlUiIsIG5hbWUsIG9iaik7CiAgICAgICAgICAgICBQeV9ERUNSRUYoZG90dGVkX3BhdGgpOwogICAgICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgICAgIH0KKyAgICB9CisgICAgcmV0dXJuIGRvdHRlZF9wYXRoOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorZ2V0X2RlZXBfYXR0cmlidXRlKFB5T2JqZWN0ICpvYmosIFB5T2JqZWN0ICpuYW1lcykKK3sKKyAgICBQeV9zc2l6ZV90IGksIG47CisKKyAgICBhc3NlcnQoUHlMaXN0X0NoZWNrRXhhY3QobmFtZXMpKTsKKyAgICBQeV9JTkNSRUYob2JqKTsKKyAgICBuID0gUHlMaXN0X0dFVF9TSVpFKG5hbWVzKTsKKyAgICBmb3IgKGkgPSAwOyBpIDwgbjsgaSsrKSB7CisgICAgICAgIFB5T2JqZWN0ICpuYW1lID0gUHlMaXN0X0dFVF9JVEVNKG5hbWVzLCBpKTsKKyAgICAgICAgUHlPYmplY3QgKnRtcDsKKyAgICAgICAgdG1wID0gUHlPYmplY3RfR2V0QXR0cihvYmosIG5hbWUpOworICAgICAgICBQeV9ERUNSRUYob2JqKTsKKyAgICAgICAgaWYgKHRtcCA9PSBOVUxMKQorICAgICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgICAgIG9iaiA9IHRtcDsKICAgICB9Ci0gICAgUHlfREVDUkVGKGRvdHRlZF9wYXRoKTsKICAgICByZXR1cm4gb2JqOwogfQogCitzdGF0aWMgdm9pZAorcmVmb3JtYXRfYXR0cmlidXRlX2Vycm9yKFB5T2JqZWN0ICpvYmosIFB5T2JqZWN0ICpuYW1lKQoreworICAgIGlmIChQeUVycl9FeGNlcHRpb25NYXRjaGVzKFB5RXhjX0F0dHJpYnV0ZUVycm9yKSkgeworICAgICAgICBQeUVycl9DbGVhcigpOworICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfQXR0cmlidXRlRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAiQ2FuJ3QgZ2V0IGF0dHJpYnV0ZSAlUiBvbiAlUiIsIG5hbWUsIG9iaik7CisgICAgfQorfQorCisKK3N0YXRpYyBQeU9iamVjdCAqCitnZXRhdHRyaWJ1dGUoUHlPYmplY3QgKm9iaiwgUHlPYmplY3QgKm5hbWUsIGludCBhbGxvd19xdWFsbmFtZSkKK3sKKyAgICBQeU9iamVjdCAqZG90dGVkX3BhdGgsICphdHRyOworCisgICAgZG90dGVkX3BhdGggPSBnZXRfZG90dGVkX3BhdGgob2JqLCBuYW1lLCBhbGxvd19xdWFsbmFtZSk7CisgICAgaWYgKGRvdHRlZF9wYXRoID09IE5VTEwpCisgICAgICAgIHJldHVybiBOVUxMOworICAgIGF0dHIgPSBnZXRfZGVlcF9hdHRyaWJ1dGUob2JqLCBkb3R0ZWRfcGF0aCk7CisgICAgUHlfREVDUkVGKGRvdHRlZF9wYXRoKTsKKyAgICBpZiAoYXR0ciA9PSBOVUxMKQorICAgICAgICByZWZvcm1hdF9hdHRyaWJ1dGVfZXJyb3Iob2JqLCBuYW1lKTsKKyAgICByZXR1cm4gYXR0cjsKK30KKwogc3RhdGljIFB5T2JqZWN0ICoKIHdoaWNobW9kdWxlKFB5T2JqZWN0ICpnbG9iYWwsIFB5T2JqZWN0ICpnbG9iYWxfbmFtZSwgaW50IGFsbG93X3F1YWxuYW1lKQogewogICAgIFB5T2JqZWN0ICptb2R1bGVfbmFtZTsKICAgICBQeU9iamVjdCAqbW9kdWxlc19kaWN0OwogICAgIFB5T2JqZWN0ICptb2R1bGU7Ci0gICAgUHlPYmplY3QgKm9iajsKLSAgICBQeV9zc2l6ZV90IGksIGo7CisgICAgUHlfc3NpemVfdCBpOwogICAgIF9QeV9JREVOVElGSUVSKF9fbW9kdWxlX18pOwogICAgIF9QeV9JREVOVElGSUVSKG1vZHVsZXMpOwogICAgIF9QeV9JREVOVElGSUVSKF9fbWFpbl9fKTsKKyAgICBQeU9iamVjdCAqZG90dGVkX3BhdGg7CiAKICAgICBtb2R1bGVfbmFtZSA9IF9QeU9iamVjdF9HZXRBdHRySWQoZ2xvYmFsLCAmUHlJZF9fX21vZHVsZV9fKTsKIApAQCAtMTYxNiw0MyArMTY1Niw0OSBAQAogICAgIH0KICAgICBhc3NlcnQobW9kdWxlX25hbWUgPT0gTlVMTCk7CiAKKyAgICAvKiBGYWxsYmFjayBvbiB3YWxraW5nIHN5cy5tb2R1bGVzICovCiAgICAgbW9kdWxlc19kaWN0ID0gX1B5U3lzX0dldE9iamVjdElkKCZQeUlkX21vZHVsZXMpOwogICAgIGlmIChtb2R1bGVzX2RpY3QgPT0gTlVMTCkgewogICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfUnVudGltZUVycm9yLCAidW5hYmxlIHRvIGdldCBzeXMubW9kdWxlcyIpOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CiAKKyAgICBkb3R0ZWRfcGF0aCA9IGdldF9kb3R0ZWRfcGF0aChOVUxMLCBnbG9iYWxfbmFtZSwgYWxsb3dfcXVhbG5hbWUpOworICAgIGlmIChkb3R0ZWRfcGF0aCA9PSBOVUxMKQorICAgICAgICByZXR1cm4gTlVMTDsKKwogICAgIGkgPSAwOwotICAgIHdoaWxlICgoaiA9IFB5RGljdF9OZXh0KG1vZHVsZXNfZGljdCwgJmksICZtb2R1bGVfbmFtZSwgJm1vZHVsZSkpKSB7Ci0gICAgICAgIFB5T2JqZWN0ICpyZXN1bHQgPSBQeVVuaWNvZGVfUmljaENvbXBhcmUoCi0gICAgICAgICAgICBtb2R1bGVfbmFtZSwgX1B5VW5pY29kZV9Gcm9tSWQoJlB5SWRfX19tYWluX18pLCBQeV9FUSk7Ci0gICAgICAgIGludCBpc19lcXVhbCA9IChyZXN1bHQgPT0gUHlfVHJ1ZSk7Ci0gICAgICAgIGFzc2VydChQeUJvb2xfQ2hlY2socmVzdWx0KSk7Ci0gICAgICAgIFB5X0RFQ1JFRihyZXN1bHQpOwotICAgICAgICBpZiAoaXNfZXF1YWwpCisgICAgd2hpbGUgKFB5RGljdF9OZXh0KG1vZHVsZXNfZGljdCwgJmksICZtb2R1bGVfbmFtZSwgJm1vZHVsZSkpIHsKKyAgICAgICAgUHlPYmplY3QgKmNhbmRpZGF0ZTsKKyAgICAgICAgaWYgKFB5VW5pY29kZV9DaGVjayhtb2R1bGVfbmFtZSkgJiYKKyAgICAgICAgICAgICFQeVVuaWNvZGVfQ29tcGFyZVdpdGhBU0NJSVN0cmluZyhtb2R1bGVfbmFtZSwgIl9fbWFpbl9fIikpCiAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgaWYgKG1vZHVsZSA9PSBQeV9Ob25lKQogICAgICAgICAgICAgY29udGludWU7CiAKLSAgICAgICAgb2JqID0gZ2V0YXR0cmlidXRlKG1vZHVsZSwgZ2xvYmFsX25hbWUsIGFsbG93X3F1YWxuYW1lKTsKLSAgICAgICAgaWYgKG9iaiA9PSBOVUxMKSB7Ci0gICAgICAgICAgICBpZiAoIVB5RXJyX0V4Y2VwdGlvbk1hdGNoZXMoUHlFeGNfQXR0cmlidXRlRXJyb3IpKQorICAgICAgICBjYW5kaWRhdGUgPSBnZXRfZGVlcF9hdHRyaWJ1dGUobW9kdWxlLCBkb3R0ZWRfcGF0aCk7CisgICAgICAgIGlmIChjYW5kaWRhdGUgPT0gTlVMTCkgeworICAgICAgICAgICAgaWYgKCFQeUVycl9FeGNlcHRpb25NYXRjaGVzKFB5RXhjX0F0dHJpYnV0ZUVycm9yKSkgeworICAgICAgICAgICAgICAgIFB5X0RFQ1JFRihkb3R0ZWRfcGF0aCk7CiAgICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgICAgICB9CiAgICAgICAgICAgICBQeUVycl9DbGVhcigpOwogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIH0KIAotICAgICAgICBpZiAob2JqID09IGdsb2JhbCkgewotICAgICAgICAgICAgUHlfREVDUkVGKG9iaik7CisgICAgICAgIGlmIChjYW5kaWRhdGUgPT0gZ2xvYmFsKSB7CiAgICAgICAgICAgICBQeV9JTkNSRUYobW9kdWxlX25hbWUpOworICAgICAgICAgICAgUHlfREVDUkVGKGRvdHRlZF9wYXRoKTsKKyAgICAgICAgICAgIFB5X0RFQ1JFRihjYW5kaWRhdGUpOwogICAgICAgICAgICAgcmV0dXJuIG1vZHVsZV9uYW1lOwogICAgICAgICB9Ci0gICAgICAgIFB5X0RFQ1JFRihvYmopOworICAgICAgICBQeV9ERUNSRUYoY2FuZGlkYXRlKTsKICAgICB9CiAKICAgICAvKiBJZiBubyBtb2R1bGUgaXMgZm91bmQsIHVzZSBfX21haW5fXy4gKi8KICAgICBtb2R1bGVfbmFtZSA9IF9QeVVuaWNvZGVfRnJvbUlkKCZQeUlkX19fbWFpbl9fKTsKICAgICBQeV9JTkNSRUYobW9kdWxlX25hbWUpOworICAgIFB5X0RFQ1JFRihkb3R0ZWRfcGF0aCk7CiAgICAgcmV0dXJuIG1vZHVsZV9uYW1lOwogfQogCkBAIC0xOTMzLDcgKzE5NzksNyBAQAogICAgICAgICBpZiAoX1BpY2tsZXJfV3JpdGUoc2VsZiwgJm9wLCAxKSA8IDApCiAgICAgICAgICAgICBnb3RvIGRvbmU7CiAKLSAgICAgICAgYnVmID0gUHlPU19kb3VibGVfdG9fc3RyaW5nKHgsICdnJywgMTcsIDAsIE5VTEwpOworICAgICAgICBidWYgPSBQeU9TX2RvdWJsZV90b19zdHJpbmcoeCwgJ3InLCAwLCBQeV9EVFNGX0FERF9ET1RfMCwgTlVMTCk7CiAgICAgICAgIGlmICghYnVmKSB7CiAgICAgICAgICAgICBQeUVycl9Ob01lbW9yeSgpOwogICAgICAgICAgICAgZ290byBkb25lOwpAQCAtMjAxMyw3ICsyMDU5LDcgQEAKICAgICAgICAgICAgIGhlYWRlclsxXSA9ICh1bnNpZ25lZCBjaGFyKXNpemU7CiAgICAgICAgICAgICBsZW4gPSAyOwogICAgICAgICB9Ci0gICAgICAgIGVsc2UgaWYgKHNpemUgPD0gMHhmZmZmZmZmZkwpIHsKKyAgICAgICAgZWxzZSBpZiAoKHNpemVfdClzaXplIDw9IDB4ZmZmZmZmZmZVTCkgewogICAgICAgICAgICAgaGVhZGVyWzBdID0gQklOQllURVM7CiAgICAgICAgICAgICBoZWFkZXJbMV0gPSAodW5zaWduZWQgY2hhcikoc2l6ZSAmIDB4ZmYpOwogICAgICAgICAgICAgaGVhZGVyWzJdID0gKHVuc2lnbmVkIGNoYXIpKChzaXplID4+IDgpICYgMHhmZik7CkBAIC0yMDUwLDkgKzIwOTYsMTAgQEAKIHN0YXRpYyBQeU9iamVjdCAqCiByYXdfdW5pY29kZV9lc2NhcGUoUHlPYmplY3QgKm9iaikKIHsKLSAgICBQeU9iamVjdCAqcmVwciwgKnJlc3VsdDsKKyAgICBQeU9iamVjdCAqcmVwcjsKICAgICBjaGFyICpwOwotICAgIFB5X3NzaXplX3QgaSwgc2l6ZSwgZXhwYW5kc2l6ZTsKKyAgICBQeV9zc2l6ZV90IGksIHNpemU7CisgICAgc2l6ZV90IGV4cGFuZHNpemU7CiAgICAgdm9pZCAqZGF0YTsKICAgICB1bnNpZ25lZCBpbnQga2luZDsKIApAQCAtMjA2NywxNSArMjExNCwxNiBAQAogICAgIGVsc2UKICAgICAgICAgZXhwYW5kc2l6ZSA9IDY7CiAKLSAgICBpZiAoc2l6ZSA+IFBZX1NTSVpFX1RfTUFYIC8gZXhwYW5kc2l6ZSkKKyAgICBpZiAoKHNpemVfdClzaXplID4gKHNpemVfdClQWV9TU0laRV9UX01BWCAvIGV4cGFuZHNpemUpCiAgICAgICAgIHJldHVybiBQeUVycl9Ob01lbW9yeSgpOwotICAgIHJlcHIgPSBQeUJ5dGVBcnJheV9Gcm9tU3RyaW5nQW5kU2l6ZShOVUxMLCBleHBhbmRzaXplICogc2l6ZSk7CisgICAgcmVwciA9IFB5Qnl0ZXNfRnJvbVN0cmluZ0FuZFNpemUoTlVMTCwgZXhwYW5kc2l6ZSAqIHNpemUpOwogICAgIGlmIChyZXByID09IE5VTEwpCiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIGlmIChzaXplID09IDApCi0gICAgICAgIGdvdG8gZG9uZTsKKyAgICAgICAgcmV0dXJuIHJlcHI7CisgICAgYXNzZXJ0KFB5X1JFRkNOVChyZXByKSA9PSAxKTsKIAotICAgIHAgPSBQeUJ5dGVBcnJheV9BU19TVFJJTkcocmVwcik7CisgICAgcCA9IFB5Qnl0ZXNfQVNfU1RSSU5HKHJlcHIpOwogICAgIGZvciAoaT0wOyBpIDwgc2l6ZTsgaSsrKSB7CiAgICAgICAgIFB5X1VDUzQgY2ggPSBQeVVuaWNvZGVfUkVBRChraW5kLCBkYXRhLCBpKTsKICAgICAgICAgLyogTWFwIDMyLWJpdCBjaGFyYWN0ZXJzIHRvICdcVXh4eHh4eHh4JyAqLwpAQCAtMjEwNCwxMiArMjE1MiwxMCBAQAogICAgICAgICBlbHNlCiAgICAgICAgICAgICAqcCsrID0gKGNoYXIpIGNoOwogICAgIH0KLSAgICBzaXplID0gcCAtIFB5Qnl0ZUFycmF5X0FTX1NUUklORyhyZXByKTsKLQotZG9uZToKLSAgICByZXN1bHQgPSBQeUJ5dGVzX0Zyb21TdHJpbmdBbmRTaXplKFB5Qnl0ZUFycmF5X0FTX1NUUklORyhyZXByKSwgc2l6ZSk7Ci0gICAgUHlfREVDUkVGKHJlcHIpOwotICAgIHJldHVybiByZXN1bHQ7CisgICAgc2l6ZSA9IHAgLSBQeUJ5dGVzX0FTX1NUUklORyhyZXByKTsKKyAgICBpZiAoX1B5Qnl0ZXNfUmVzaXplKCZyZXByLCBzaXplKSA8IDApCisgICAgICAgIHJldHVybiBOVUxMOworICAgIHJldHVybiByZXByOwogfQogCiBzdGF0aWMgaW50CkBAIC0yMTE4LDEyICsyMTY0LDEzIEBACiAgICAgY2hhciBoZWFkZXJbOV07CiAgICAgUHlfc3NpemVfdCBsZW47CiAKKyAgICBhc3NlcnQoc2l6ZSA+PSAwKTsKICAgICBpZiAoc2l6ZSA8PSAweGZmICYmIHNlbGYtPnByb3RvID49IDQpIHsKICAgICAgICAgaGVhZGVyWzBdID0gU0hPUlRfQklOVU5JQ09ERTsKICAgICAgICAgaGVhZGVyWzFdID0gKHVuc2lnbmVkIGNoYXIpKHNpemUgJiAweGZmKTsKICAgICAgICAgbGVuID0gMjsKICAgICB9Ci0gICAgZWxzZSBpZiAoc2l6ZSA8PSAweGZmZmZmZmZmVUwpIHsKKyAgICBlbHNlIGlmICgoc2l6ZV90KXNpemUgPD0gMHhmZmZmZmZmZlVMKSB7CiAgICAgICAgIGhlYWRlclswXSA9IEJJTlVOSUNPREU7CiAgICAgICAgIGhlYWRlclsxXSA9ICh1bnNpZ25lZCBjaGFyKShzaXplICYgMHhmZik7CiAgICAgICAgIGhlYWRlclsyXSA9ICh1bnNpZ25lZCBjaGFyKSgoc2l6ZSA+PiA4KSAmIDB4ZmYpOwpAQCAtMzQ1OSwyMCArMzUwNiwxOSBAQAogICAgICAgICAgICAgfQogICAgICAgICAgICAgUHlFcnJfQ2xlYXIoKTsKICAgICAgICAgfQotICAgICAgICBlbHNlIGlmIChzZWxmLT5wcm90byA+PSA0KSB7Ci0gICAgICAgICAgICBfUHlfSURFTlRJRklFUihfX25ld29ial9leF9fKTsKLSAgICAgICAgICAgIHVzZV9uZXdvYmpfZXggPSBQeVVuaWNvZGVfQ2hlY2sobmFtZSkgJiYKLSAgICAgICAgICAgICAgICBQeVVuaWNvZGVfQ29tcGFyZSgKLSAgICAgICAgICAgICAgICAgICAgbmFtZSwgX1B5VW5pY29kZV9Gcm9tSWQoJlB5SWRfX19uZXdvYmpfZXhfXykpID09IDA7Ci0gICAgICAgICAgICBQeV9ERUNSRUYobmFtZSk7CisgICAgICAgIGVsc2UgaWYgKFB5VW5pY29kZV9DaGVjayhuYW1lKSkgeworICAgICAgICAgICAgaWYgKHNlbGYtPnByb3RvID49IDQpIHsKKyAgICAgICAgICAgICAgICBfUHlfSURFTlRJRklFUihfX25ld29ial9leF9fKTsKKyAgICAgICAgICAgICAgICB1c2VfbmV3b2JqX2V4ID0gUHlVbmljb2RlX0NvbXBhcmUoCisgICAgICAgICAgICAgICAgICAgICAgICBuYW1lLCBfUHlVbmljb2RlX0Zyb21JZCgmUHlJZF9fX25ld29ial9leF9fKSkgPT0gMDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmICghdXNlX25ld29ial9leCkgeworICAgICAgICAgICAgICAgIF9QeV9JREVOVElGSUVSKF9fbmV3b2JqX18pOworICAgICAgICAgICAgICAgIHVzZV9uZXdvYmogPSBQeVVuaWNvZGVfQ29tcGFyZSgKKyAgICAgICAgICAgICAgICAgICAgICAgIG5hbWUsIF9QeVVuaWNvZGVfRnJvbUlkKCZQeUlkX19fbmV3b2JqX18pKSA9PSAwOworICAgICAgICAgICAgfQogICAgICAgICB9Ci0gICAgICAgIGVsc2UgewotICAgICAgICAgICAgX1B5X0lERU5USUZJRVIoX19uZXdvYmpfXyk7Ci0gICAgICAgICAgICB1c2VfbmV3b2JqID0gUHlVbmljb2RlX0NoZWNrKG5hbWUpICYmCi0gICAgICAgICAgICAgICAgUHlVbmljb2RlX0NvbXBhcmUoCi0gICAgICAgICAgICAgICAgICAgIG5hbWUsIF9QeVVuaWNvZGVfRnJvbUlkKCZQeUlkX19fbmV3b2JqX18pKSA9PSAwOwotICAgICAgICAgICAgUHlfREVDUkVGKG5hbWUpOwotICAgICAgICB9CisgICAgICAgIFB5X1hERUNSRUYobmFtZSk7CiAgICAgfQogCiAgICAgaWYgKHVzZV9uZXdvYmpfZXgpIHsKQEAgLTQ1MzMsMTAgKzQ1NzksMTAgQEAKIGNhbGNfYmluc2l6ZShjaGFyICpieXRlcywgaW50IG5ieXRlcykKIHsKICAgICB1bnNpZ25lZCBjaGFyICpzID0gKHVuc2lnbmVkIGNoYXIgKilieXRlczsKLSAgICBpbnQgaTsKKyAgICBQeV9zc2l6ZV90IGk7CiAgICAgc2l6ZV90IHggPSAwOwogCi0gICAgZm9yIChpID0gMDsgaSA8IG5ieXRlcyAmJiBpIDwgc2l6ZW9mKHNpemVfdCk7IGkrKykgeworICAgIGZvciAoaSA9IDA7IGkgPCBuYnl0ZXMgJiYgKHNpemVfdClpIDwgc2l6ZW9mKHNpemVfdCk7IGkrKykgewogICAgICAgICB4IHw9IChzaXplX3QpIHNbaV0gPDwgKDggKiBpKTsKICAgICB9CiAKQEAgLTQ1NTUsNyArNDYwMSw3IEBACiBjYWxjX2JpbmludChjaGFyICpieXRlcywgaW50IG5ieXRlcykKIHsKICAgICB1bnNpZ25lZCBjaGFyICpzID0gKHVuc2lnbmVkIGNoYXIgKilieXRlczsKLSAgICBpbnQgaTsKKyAgICBQeV9zc2l6ZV90IGk7CiAgICAgbG9uZyB4ID0gMDsKIAogICAgIGZvciAoaSA9IDA7IGkgPCBuYnl0ZXM7IGkrKykgewpkaWZmIC0tZ2l0IGEvTW9kdWxlcy9fcmFuZG9tbW9kdWxlLmMgYi9Nb2R1bGVzL19yYW5kb21tb2R1bGUuYwppbmRleCA0Mzc3ZWUwLi5hZjg2MTgyIDEwMDY0NAotLS0gYS9Nb2R1bGVzL19yYW5kb21tb2R1bGUuYworKysgYi9Nb2R1bGVzL19yYW5kb21tb2R1bGUuYwpAQCAtNzgsOCArNzgsOCBAQAogCiB0eXBlZGVmIHN0cnVjdCB7CiAgICAgUHlPYmplY3RfSEVBRAotICAgIHVuc2lnbmVkIGxvbmcgc3RhdGVbTl07CiAgICAgaW50IGluZGV4OworICAgIHVuc2lnbmVkIGxvbmcgc3RhdGVbTl07CiB9IFJhbmRvbU9iamVjdDsKIAogc3RhdGljIFB5VHlwZU9iamVjdCBSYW5kb21fVHlwZTsKZGlmZiAtLWdpdCBhL01vZHVsZXMvX3NxbGl0ZS9jb25uZWN0aW9uLmggYi9Nb2R1bGVzL19zcWxpdGUvY29ubmVjdGlvbi5oCmluZGV4IDBjOTczNGMuLmZiZDkwNjMgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvX3NxbGl0ZS9jb25uZWN0aW9uLmgKKysrIGIvTW9kdWxlcy9fc3FsaXRlL2Nvbm5lY3Rpb24uaApAQCAtNTIsNyArNTIsNyBAQAogICAgICAqIGZpcnN0IGdldCBjYWxsZWQgd2l0aCBjb3VudD0wPyAqLwogICAgIGRvdWJsZSB0aW1lb3V0X3N0YXJ0ZWQ7CiAKLSAgICAvKiBOb25lIGZvciBhdXRvY29tbWl0LCBvdGhlcndpc2UgYSBQeVN0cmluZyB3aXRoIHRoZSBpc29sYXRpb24gbGV2ZWwgKi8KKyAgICAvKiBOb25lIGZvciBhdXRvY29tbWl0LCBvdGhlcndpc2UgYSBQeVVuaWNvZGUgd2l0aCB0aGUgaXNvbGF0aW9uIGxldmVsICovCiAgICAgUHlPYmplY3QqIGlzb2xhdGlvbl9sZXZlbDsKIAogICAgIC8qIE5VTEwgZm9yIGF1dG9jb21taXQsIG90aGVyd2lzZSBhIHN0cmluZyB3aXRoIHRoZSBCRUdJTiBzdGF0ZW1lbnQ7IHdpbGwgYmUKZGlmZiAtLWdpdCBhL01vZHVsZXMvX3NxbGl0ZS9jdXJzb3IuYyBiL01vZHVsZXMvX3NxbGl0ZS9jdXJzb3IuYwppbmRleCBkYjk2YjAyLi5jMTU5OWMwIDEwMDY0NAotLS0gYS9Nb2R1bGVzL19zcWxpdGUvY3Vyc29yLmMKKysrIGIvTW9kdWxlcy9fc3FsaXRlL2N1cnNvci5jCkBAIC00Niw3ICs0Niw3IEBACiAKICAgICBkc3QgPSBidWY7CiAgICAgKmRzdCA9IDA7Ci0gICAgd2hpbGUgKFB5X0lTQUxQSEEoKnNyYykgJiYgZHN0IC0gYnVmIDwgc2l6ZW9mKGJ1ZikgLSAyKSB7CisgICAgd2hpbGUgKFB5X0lTQUxQSEEoKnNyYykgJiYgKGRzdCAtIGJ1ZikgPCAoKFB5X3NzaXplX3Qpc2l6ZW9mKGJ1ZikgLSAyKSkgewogICAgICAgICAqZHN0KysgPSBQeV9UT0xPV0VSKCpzcmMrKyk7CiAgICAgfQogCkBAIC0zMzQsMTEgKzMzNCw3IEBACiAgICAgICAgICAgICAgICAgaWYgKHNlbGYtPmNvbm5lY3Rpb24tPnRleHRfZmFjdG9yeSA9PSAoUHlPYmplY3QqKSZQeVVuaWNvZGVfVHlwZSkgewogICAgICAgICAgICAgICAgICAgICBjb252ZXJ0ZWQgPSBQeVVuaWNvZGVfRnJvbVN0cmluZ0FuZFNpemUodmFsX3N0ciwgbmJ5dGVzKTsKICAgICAgICAgICAgICAgICAgICAgaWYgKCFjb252ZXJ0ZWQpIHsKLSNpZmRlZiBQeV9ERUJVRwotICAgICAgICAgICAgICAgICAgICAgICAgLyogaW4gZGVidWcgbW9kZSwgdHlwZV9jYWxsKCkgZmFpbHMgd2l0aCBhbiBhc3NlcnRpb24KLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yIGlmIGFuIGV4Y2VwdGlvbiBpcyBzZXQgd2hlbiBpdCBpcyBjYWxsZWQgKi8KICAgICAgICAgICAgICAgICAgICAgICAgIFB5RXJyX0NsZWFyKCk7Ci0jZW5kaWYKICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG5hbWUgPSBzcWxpdGUzX2NvbHVtbl9uYW1lKHNlbGYtPnN0YXRlbWVudC0+c3QsIGkpOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFjb2xuYW1lKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sbmFtZSA9ICI8dW5rbm93biBjb2x1bW4gbmFtZT4iOwpkaWZmIC0tZ2l0IGEvTW9kdWxlcy9fc3FsaXRlL3Jvdy5jIGIvTW9kdWxlcy9fc3FsaXRlL3Jvdy5jCmluZGV4IDY0ZGZkMDYuLmVkOGFkNDcgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvX3NxbGl0ZS9yb3cuYworKysgYi9Nb2R1bGVzL19zcWxpdGUvcm93LmMKQEAgLTE1OSw3ICsxNTksNyBAQAogUHlPYmplY3QqIHB5c3FsaXRlX3Jvd19rZXlzKHB5c3FsaXRlX1Jvdyogc2VsZiwgUHlPYmplY3QqIGFyZ3MsIFB5T2JqZWN0KiBrd2FyZ3MpCiB7CiAgICAgUHlPYmplY3QqIGxpc3Q7Ci0gICAgaW50IG5pdGVtcywgaTsKKyAgICBQeV9zc2l6ZV90IG5pdGVtcywgaTsKIAogICAgIGxpc3QgPSBQeUxpc3RfTmV3KDApOwogICAgIGlmICghbGlzdCkgewpkaWZmIC0tZ2l0IGEvTW9kdWxlcy9fc3JlLmMgYi9Nb2R1bGVzL19zcmUuYwppbmRleCAzMDBkODgzLi45NTUwZDk3IDEwMDY0NAotLS0gYS9Nb2R1bGVzL19zcmUuYworKysgYi9Nb2R1bGVzL19zcmUuYwpAQCAtOTcsNDggKzk3LDI1IEBACiAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwogLyogc2VhcmNoIGVuZ2luZSBzdGF0ZSAqLwogCi0vKiBkZWZhdWx0IGNoYXJhY3RlciBwcmVkaWNhdGVzIChydW4gc3JlX2NoYXJzLnB5IHRvIHJlZ2VuZXJhdGUgdGFibGVzKSAqLwotCi0jZGVmaW5lIFNSRV9ESUdJVF9NQVNLIDEKLSNkZWZpbmUgU1JFX1NQQUNFX01BU0sgMgotI2RlZmluZSBTUkVfTElORUJSRUFLX01BU0sgNAotI2RlZmluZSBTUkVfQUxOVU1fTUFTSyA4Ci0jZGVmaW5lIFNSRV9XT1JEX01BU0sgMTYKLQotLyogRklYTUU6IHRoaXMgYXNzdW1lcyBBU0NJSS4gIGNyZWF0ZSB0YWJsZXMgaW4gaW5pdF9zcmUoKSBpbnN0ZWFkICovCi0KLXN0YXRpYyBjaGFyIHNyZV9jaGFyX2luZm9bMTI4XSA9IHsgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMiwgNiwgMiwKLTIsIDIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDIsIDAsIDAsCi0wLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsCi0yNSwgMjUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI0LCAyNCwgMjQsIDI0LCAyNCwgMjQsIDI0LCAyNCwgMjQsIDI0LAotMjQsIDI0LCAyNCwgMjQsIDI0LCAyNCwgMjQsIDI0LCAyNCwgMjQsIDI0LCAyNCwgMjQsIDI0LCAyNCwgMjQsIDAsIDAsCi0wLCAwLCAxNiwgMCwgMjQsIDI0LCAyNCwgMjQsIDI0LCAyNCwgMjQsIDI0LCAyNCwgMjQsIDI0LCAyNCwgMjQsIDI0LAotMjQsIDI0LCAyNCwgMjQsIDI0LCAyNCwgMjQsIDI0LCAyNCwgMjQsIDI0LCAyNCwgMCwgMCwgMCwgMCwgMCB9OwotCi1zdGF0aWMgY2hhciBzcmVfY2hhcl9sb3dlclsxMjhdID0geyAwLCAxLCAyLCAzLCA0LCA1LCA2LCA3LCA4LCA5LAotMTAsIDExLCAxMiwgMTMsIDE0LCAxNSwgMTYsIDE3LCAxOCwgMTksIDIwLCAyMSwgMjIsIDIzLCAyNCwgMjUsIDI2LAotMjcsIDI4LCAyOSwgMzAsIDMxLCAzMiwgMzMsIDM0LCAzNSwgMzYsIDM3LCAzOCwgMzksIDQwLCA0MSwgNDIsIDQzLAotNDQsIDQ1LCA0NiwgNDcsIDQ4LCA0OSwgNTAsIDUxLCA1MiwgNTMsIDU0LCA1NSwgNTYsIDU3LCA1OCwgNTksIDYwLAotNjEsIDYyLCA2MywgNjQsIDk3LCA5OCwgOTksIDEwMCwgMTAxLCAxMDIsIDEwMywgMTA0LCAxMDUsIDEwNiwgMTA3LAotMTA4LCAxMDksIDExMCwgMTExLCAxMTIsIDExMywgMTE0LCAxMTUsIDExNiwgMTE3LCAxMTgsIDExOSwgMTIwLCAxMjEsCi0xMjIsIDkxLCA5MiwgOTMsIDk0LCA5NSwgOTYsIDk3LCA5OCwgOTksIDEwMCwgMTAxLCAxMDIsIDEwMywgMTA0LCAxMDUsCi0xMDYsIDEwNywgMTA4LCAxMDksIDExMCwgMTExLCAxMTIsIDExMywgMTE0LCAxMTUsIDExNiwgMTE3LCAxMTgsIDExOSwKLTEyMCwgMTIxLCAxMjIsIDEyMywgMTI0LCAxMjUsIDEyNiwgMTI3IH07Ci0KICNkZWZpbmUgU1JFX0lTX0RJR0lUKGNoKVwKLSAgICAoKGNoKSA8IDEyOCA/IChzcmVfY2hhcl9pbmZvWyhjaCldICYgU1JFX0RJR0lUX01BU0spIDogMCkKKyAgICAoKGNoKSA8IDEyOCAmJiBQeV9JU0RJR0lUKGNoKSkKICNkZWZpbmUgU1JFX0lTX1NQQUNFKGNoKVwKLSAgICAoKGNoKSA8IDEyOCA/IChzcmVfY2hhcl9pbmZvWyhjaCldICYgU1JFX1NQQUNFX01BU0spIDogMCkKKyAgICAoKGNoKSA8IDEyOCAmJiBQeV9JU1NQQUNFKGNoKSkKICNkZWZpbmUgU1JFX0lTX0xJTkVCUkVBSyhjaClcCi0gICAgKChjaCkgPCAxMjggPyAoc3JlX2NoYXJfaW5mb1soY2gpXSAmIFNSRV9MSU5FQlJFQUtfTUFTSykgOiAwKQorICAgICgoY2gpID09ICdcbicpCiAjZGVmaW5lIFNSRV9JU19BTE5VTShjaClcCi0gICAgKChjaCkgPCAxMjggPyAoc3JlX2NoYXJfaW5mb1soY2gpXSAmIFNSRV9BTE5VTV9NQVNLKSA6IDApCisgICAgKChjaCkgPCAxMjggJiYgUHlfSVNBTE5VTShjaCkpCiAjZGVmaW5lIFNSRV9JU19XT1JEKGNoKVwKLSAgICAoKGNoKSA8IDEyOCA/IChzcmVfY2hhcl9pbmZvWyhjaCldICYgU1JFX1dPUkRfTUFTSykgOiAwKQorICAgICgoY2gpIDwgMTI4ICYmIChQeV9JU0FMTlVNKGNoKSB8fCAoY2gpID09ICdfJykpCiAKIHN0YXRpYyB1bnNpZ25lZCBpbnQgc3JlX2xvd2VyKHVuc2lnbmVkIGludCBjaCkKIHsKLSAgICByZXR1cm4gKChjaCkgPCAxMjggPyAodW5zaWduZWQgaW50KXNyZV9jaGFyX2xvd2VyW2NoXSA6IGNoKTsKKyAgICByZXR1cm4gKChjaCkgPCAxMjggPyBQeV9UT0xPV0VSKGNoKSA6IGNoKTsKK30KKworc3RhdGljIHVuc2lnbmVkIGludCBzcmVfdXBwZXIodW5zaWduZWQgaW50IGNoKQoreworICAgIHJldHVybiAoKGNoKSA8IDEyOCA/IFB5X1RPVVBQRVIoY2gpIDogY2gpOwogfQogCiAvKiBsb2NhbGUtc3BlY2lmaWMgY2hhcmFjdGVyIHByZWRpY2F0ZXMgKi8KQEAgLTE1Miw2ICsxMjksMTEgQEAKICAgICByZXR1cm4gKChjaCkgPCAyNTYgPyAodW5zaWduZWQgaW50KXRvbG93ZXIoKGNoKSkgOiBjaCk7CiB9CiAKK3N0YXRpYyB1bnNpZ25lZCBpbnQgc3JlX3VwcGVyX2xvY2FsZSh1bnNpZ25lZCBpbnQgY2gpCit7CisgICAgcmV0dXJuICgoY2gpIDwgMjU2ID8gKHVuc2lnbmVkIGludCl0b3VwcGVyKChjaCkpIDogY2gpOworfQorCiAvKiB1bmljb2RlLXNwZWNpZmljIGNoYXJhY3RlciBwcmVkaWNhdGVzICovCiAKICNkZWZpbmUgU1JFX1VOSV9JU19ESUdJVChjaCkgUHlfVU5JQ09ERV9JU0RFQ0lNQUwoY2gpCkBAIC0xNjUsNiArMTQ3LDExIEBACiAgICAgcmV0dXJuICh1bnNpZ25lZCBpbnQpIFB5X1VOSUNPREVfVE9MT1dFUihjaCk7CiB9CiAKK3N0YXRpYyB1bnNpZ25lZCBpbnQgc3JlX3VwcGVyX3VuaWNvZGUodW5zaWduZWQgaW50IGNoKQoreworICAgIHJldHVybiAodW5zaWduZWQgaW50KSBQeV9VTklDT0RFX1RPVVBQRVIoY2gpOworfQorCiBMT0NBTChpbnQpCiBzcmVfY2F0ZWdvcnkoU1JFX0NPREUgY2F0ZWdvcnksIHVuc2lnbmVkIGludCBjaCkKIHsKQEAgLTM1Nyw2ICszNDQsMTEgQEAKIAogICAgIG1lbXNldChzdGF0ZSwgMCwgc2l6ZW9mKFNSRV9TVEFURSkpOwogCisgICAgc3RhdGUtPm1hcmsgPSBQeU1lbV9OZXcodm9pZCAqLCBwYXR0ZXJuLT5ncm91cHMgKiAyKTsKKyAgICBpZiAoIXN0YXRlLT5tYXJrKSB7CisgICAgICAgIFB5RXJyX05vTWVtb3J5KCk7CisgICAgICAgIGdvdG8gZXJyOworICAgIH0KICAgICBzdGF0ZS0+bGFzdG1hcmsgPSAtMTsKICAgICBzdGF0ZS0+bGFzdGluZGV4ID0gLTE7CiAKQEAgLTQwMCwxNSArMzkyLDIzIEBACiAgICAgc3RhdGUtPnBvcyA9IHN0YXJ0OwogICAgIHN0YXRlLT5lbmRwb3MgPSBlbmQ7CiAKLSAgICBpZiAocGF0dGVybi0+ZmxhZ3MgJiBTUkVfRkxBR19MT0NBTEUpCisgICAgaWYgKHBhdHRlcm4tPmZsYWdzICYgU1JFX0ZMQUdfTE9DQUxFKSB7CiAgICAgICAgIHN0YXRlLT5sb3dlciA9IHNyZV9sb3dlcl9sb2NhbGU7Ci0gICAgZWxzZSBpZiAocGF0dGVybi0+ZmxhZ3MgJiBTUkVfRkxBR19VTklDT0RFKQorICAgICAgICBzdGF0ZS0+dXBwZXIgPSBzcmVfdXBwZXJfbG9jYWxlOworICAgIH0KKyAgICBlbHNlIGlmIChwYXR0ZXJuLT5mbGFncyAmIFNSRV9GTEFHX1VOSUNPREUpIHsKICAgICAgICAgc3RhdGUtPmxvd2VyID0gc3JlX2xvd2VyX3VuaWNvZGU7Ci0gICAgZWxzZQorICAgICAgICBzdGF0ZS0+dXBwZXIgPSBzcmVfdXBwZXJfdW5pY29kZTsKKyAgICB9CisgICAgZWxzZSB7CiAgICAgICAgIHN0YXRlLT5sb3dlciA9IHNyZV9sb3dlcjsKKyAgICAgICAgc3RhdGUtPnVwcGVyID0gc3JlX3VwcGVyOworICAgIH0KIAogICAgIHJldHVybiBzdHJpbmc7CiAgIGVycjoKKyAgICBQeU1lbV9EZWwoc3RhdGUtPm1hcmspOworICAgIHN0YXRlLT5tYXJrID0gTlVMTDsKICAgICBpZiAoc3RhdGUtPmJ1ZmZlci5idWYpCiAgICAgICAgIFB5QnVmZmVyX1JlbGVhc2UoJnN0YXRlLT5idWZmZXIpOwogICAgIHJldHVybiBOVUxMOwpAQCAtNDIxLDYgKzQyMSw4IEBACiAgICAgICAgIFB5QnVmZmVyX1JlbGVhc2UoJnN0YXRlLT5idWZmZXIpOwogICAgIFB5X1hERUNSRUYoc3RhdGUtPnN0cmluZyk7CiAgICAgZGF0YV9zdGFja19kZWFsbG9jKHN0YXRlKTsKKyAgICBQeU1lbV9EZWwoc3RhdGUtPm1hcmspOworICAgIHN0YXRlLT5tYXJrID0gTlVMTDsKIH0KIAogLyogY2FsY3VsYXRlIG9mZnNldCBmcm9tIHN0YXJ0IG9mIHN0cmluZyAqLwpAQCAtNTYwLDYgKzU2Miw3IEBACiAgICAgUHlPYmplY3QgKnBhdHRlcm4gPSBOVUxMOwogICAgIFNSRV9TVEFURSBzdGF0ZTsKICAgICBQeV9zc2l6ZV90IHN0YXR1czsKKyAgICBQeU9iamVjdCAqbWF0Y2g7CiAKICAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsCiAgICAgICAgICJ8T25uJE86bWF0Y2giLCBfa2V5d29yZHMsCkBAIC01NzksMTIgKzU4MiwxNCBAQAogICAgIHN0YXR1cyA9IHNyZV9tYXRjaCgmc3RhdGUsIFBhdHRlcm5PYmplY3RfR2V0Q29kZShzZWxmKSwgMCk7CiAKICAgICBUUkFDRSgoInwlcHwlcHxFTkRcbiIsIFBhdHRlcm5PYmplY3RfR2V0Q29kZShzZWxmKSwgc3RhdGUucHRyKSk7Ci0gICAgaWYgKFB5RXJyX09jY3VycmVkKCkpCisgICAgaWYgKFB5RXJyX09jY3VycmVkKCkpIHsKKyAgICAgICAgc3RhdGVfZmluaSgmc3RhdGUpOwogICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CiAKKyAgICBtYXRjaCA9IHBhdHRlcm5fbmV3X21hdGNoKHNlbGYsICZzdGF0ZSwgc3RhdHVzKTsKICAgICBzdGF0ZV9maW5pKCZzdGF0ZSk7Ci0KLSAgICByZXR1cm4gKFB5T2JqZWN0ICopcGF0dGVybl9uZXdfbWF0Y2goc2VsZiwgJnN0YXRlLCBzdGF0dXMpOworICAgIHJldHVybiBtYXRjaDsKIH0KIAogc3RhdGljIFB5T2JqZWN0KgpAQCAtNTkyLDYgKzU5Nyw3IEBACiB7CiAgICAgU1JFX1NUQVRFIHN0YXRlOwogICAgIFB5X3NzaXplX3Qgc3RhdHVzOworICAgIFB5T2JqZWN0ICptYXRjaDsKIAogICAgIFB5T2JqZWN0ICpzdHJpbmcgPSBOVUxMLCAqc3RyaW5nMiA9IE5VTEw7CiAgICAgUHlfc3NpemVfdCBzdGFydCA9IDA7CkBAIC02MTYsMTIgKzYyMiwxNCBAQAogICAgIHN0YXR1cyA9IHNyZV9tYXRjaCgmc3RhdGUsIFBhdHRlcm5PYmplY3RfR2V0Q29kZShzZWxmKSwgMSk7CiAKICAgICBUUkFDRSgoInwlcHwlcHxFTkRcbiIsIFBhdHRlcm5PYmplY3RfR2V0Q29kZShzZWxmKSwgc3RhdGUucHRyKSk7Ci0gICAgaWYgKFB5RXJyX09jY3VycmVkKCkpCisgICAgaWYgKFB5RXJyX09jY3VycmVkKCkpIHsKKyAgICAgICAgc3RhdGVfZmluaSgmc3RhdGUpOwogICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CiAKKyAgICBtYXRjaCA9IHBhdHRlcm5fbmV3X21hdGNoKHNlbGYsICZzdGF0ZSwgc3RhdHVzKTsKICAgICBzdGF0ZV9maW5pKCZzdGF0ZSk7Ci0KLSAgICByZXR1cm4gcGF0dGVybl9uZXdfbWF0Y2goc2VsZiwgJnN0YXRlLCBzdGF0dXMpOworICAgIHJldHVybiBtYXRjaDsKIH0KIAogc3RhdGljIFB5T2JqZWN0KgpAQCAtNjI5LDYgKzYzNyw3IEBACiB7CiAgICAgU1JFX1NUQVRFIHN0YXRlOwogICAgIFB5X3NzaXplX3Qgc3RhdHVzOworICAgIFB5T2JqZWN0ICptYXRjaDsKIAogICAgIFB5T2JqZWN0ICpzdHJpbmcgPSBOVUxMLCAqc3RyaW5nMiA9IE5VTEw7CiAgICAgUHlfc3NpemVfdCBzdGFydCA9IDA7CkBAIC02NTIsMTIgKzY2MSwxNCBAQAogCiAgICAgVFJBQ0UoKCJ8JXB8JXB8RU5EXG4iLCBQYXR0ZXJuT2JqZWN0X0dldENvZGUoc2VsZiksIHN0YXRlLnB0cikpOwogCi0gICAgc3RhdGVfZmluaSgmc3RhdGUpOwotCi0gICAgaWYgKFB5RXJyX09jY3VycmVkKCkpCisgICAgaWYgKFB5RXJyX09jY3VycmVkKCkpIHsKKyAgICAgICAgc3RhdGVfZmluaSgmc3RhdGUpOwogICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CiAKLSAgICByZXR1cm4gcGF0dGVybl9uZXdfbWF0Y2goc2VsZiwgJnN0YXRlLCBzdGF0dXMpOworICAgIG1hdGNoID0gcGF0dGVybl9uZXdfbWF0Y2goc2VsZiwgJnN0YXRlLCBzdGF0dXMpOworICAgIHN0YXRlX2ZpbmkoJnN0YXRlKTsKKyAgICByZXR1cm4gbWF0Y2g7CiB9CiAKIHN0YXRpYyBQeU9iamVjdCoKQEAgLTg1Miw2ICs4NjMsMTkgQEAKICAgICBpZiAoIXN0cmluZykKICAgICAgICAgcmV0dXJuIE5VTEw7CiAKKyAgICBhc3NlcnQoc2VsZi0+Y29kZXNpemUgIT0gMCk7CisgICAgaWYgKHNlbGYtPmNvZGVbMF0gIT0gU1JFX09QX0lORk8gfHwgc2VsZi0+Y29kZVszXSA9PSAwKSB7CisgICAgICAgIGlmIChzZWxmLT5jb2RlWzBdID09IFNSRV9PUF9JTkZPICYmIHNlbGYtPmNvZGVbNF0gPT0gMCkgeworICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNwbGl0KCkgcmVxdWlyZXMgYSBub24tZW1wdHkgcGF0dGVybiBtYXRjaC4iKTsKKyAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICB9CisgICAgICAgIGlmIChQeUVycl9XYXJuRXgoUHlFeGNfRnV0dXJlV2FybmluZywKKyAgICAgICAgICAgICAgICAgICAgICAgICAic3BsaXQoKSByZXF1aXJlcyBhIG5vbi1lbXB0eSBwYXR0ZXJuIG1hdGNoLiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgMSkgPCAwKQorICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorCiAgICAgc3RyaW5nID0gc3RhdGVfaW5pdCgmc3RhdGUsIHNlbGYsIHN0cmluZywgMCwgUFlfU1NJWkVfVF9NQVgpOwogICAgIGlmICghc3RyaW5nKQogICAgICAgICByZXR1cm4gTlVMTDsKQEAgLTEyMzYsNyArMTI2MCw3IEBACiAgICAgfTsKICAgICBQeU9iamVjdCAqcmVzdWx0ID0gTlVMTDsKICAgICBQeU9iamVjdCAqZmxhZ19pdGVtczsKLSAgICBpbnQgaTsKKyAgICBzaXplX3QgaTsKICAgICBpbnQgZmxhZ3MgPSBvYmotPmZsYWdzOwogCiAgICAgLyogT21pdCByZS5VTklDT0RFIGZvciB2YWxpZCBzdHJpbmcgcGF0dGVybnMuICovCkBAIC0xNDE3LDcgKzE0NDEsNyBAQAogICAgIFB5T2JqZWN0KiBncm91cGluZGV4ID0gTlVMTDsKICAgICBQeU9iamVjdCogaW5kZXhncm91cCA9IE5VTEw7CiAKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIk9pTyF8bk9PIiwgJnBhdHRlcm4sICZmbGFncywKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIk9pTyFuT08iLCAmcGF0dGVybiwgJmZsYWdzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAmUHlMaXN0X1R5cGUsICZjb2RlLCAmZ3JvdXBzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAmZ3JvdXBpbmRleCwgJmluZGV4Z3JvdXApKQogICAgICAgICByZXR1cm4gTlVMTDsKQEAgLTE1NzcsNiArMTYwMSw3IEBACiAgICAgICAgICAgICBicmVhazsKIAogICAgICAgICBjYXNlIFNSRV9PUF9SQU5HRToKKyAgICAgICAgY2FzZSBTUkVfT1BfUkFOR0VfSUdOT1JFOgogICAgICAgICAgICAgR0VUX0FSRzsKICAgICAgICAgICAgIEdFVF9BUkc7CiAgICAgICAgICAgICBicmVhazsKQEAgLTE5MzMsMTAgKzE5NTgsOSBAQAogc3RhdGljIGludAogX3ZhbGlkYXRlX291dGVyKFNSRV9DT0RFICpjb2RlLCBTUkVfQ09ERSAqZW5kLCBQeV9zc2l6ZV90IGdyb3VwcykKIHsKLSAgICBpZiAoZ3JvdXBzIDwgMCB8fCBncm91cHMgPiAxMDAgfHwgY29kZSA+PSBlbmQgfHwgZW5kWy0xXSAhPSBTUkVfT1BfU1VDQ0VTUykKKyAgICBpZiAoZ3JvdXBzIDwgMCB8fCAoc2l6ZV90KWdyb3VwcyA+IFNSRV9NQVhHUk9VUFMgfHwKKyAgICAgICAgY29kZSA+PSBlbmQgfHwgZW5kWy0xXSAhPSBTUkVfT1BfU1VDQ0VTUykKICAgICAgICAgRkFJTDsKLSAgICBpZiAoZ3JvdXBzID09IDApICAvKiBmaXggZm9yIHNpbXBsZWpzb24gKi8KLSAgICAgICAgZ3JvdXBzID0gMTAwOyAvKiAxMDAgZ3JvdXBzIHNob3VsZCBhbHdheXMgYmUgc2FmZSAqLwogICAgIHJldHVybiBfdmFsaWRhdGVfaW5uZXIoY29kZSwgZW5kLTEsIGdyb3Vwcyk7CiB9CiAKQEAgLTI3NDcsNiArMjc3MSwxMiBAQAogICAgICAgICBQeV9ERUNSRUYoeCk7CiAgICAgfQogCisgICAgeCA9IFB5TG9uZ19Gcm9tVW5zaWduZWRMb25nKFNSRV9NQVhHUk9VUFMpOworICAgIGlmICh4KSB7CisgICAgICAgIFB5RGljdF9TZXRJdGVtU3RyaW5nKGQsICJNQVhHUk9VUFMiLCB4KTsKKyAgICAgICAgUHlfREVDUkVGKHgpOworICAgIH0KKwogICAgIHggPSBQeVVuaWNvZGVfRnJvbVN0cmluZyhjb3B5cmlnaHQpOwogICAgIGlmICh4KSB7CiAgICAgICAgIFB5RGljdF9TZXRJdGVtU3RyaW5nKGQsICJjb3B5cmlnaHQiLCB4KTsKZGlmZiAtLWdpdCBhL01vZHVsZXMvX3NzbC5jIGIvTW9kdWxlcy9fc3NsLmMKaW5kZXggOWJkMDc3Ni4uODU5NjIyNSAxMDA2NDQKLS0tIGEvTW9kdWxlcy9fc3NsLmMKKysrIGIvTW9kdWxlcy9fc3NsLmMKQEAgLTY0LDYgKzY0LDcgQEAKICNpbmNsdWRlICJvcGVuc3NsL3NzbC5oIgogI2luY2x1ZGUgIm9wZW5zc2wvZXJyLmgiCiAjaW5jbHVkZSAib3BlbnNzbC9yYW5kLmgiCisjaW5jbHVkZSAib3BlbnNzbC9iaW8uaCIKIAogLyogU1NMIGVycm9yIG9iamVjdCAqLwogc3RhdGljIFB5T2JqZWN0ICpQeVNTTEVycm9yT2JqZWN0OwpAQCAtMTA4LDYgKzEwOSwxMSBAQAogIyBkZWZpbmUgSEFWRV9TTkkgMAogI2VuZGlmCiAKKy8qIEFMUE4gYWRkZWQgaW4gT3BlblNTTCAxLjAuMiAqLworI2lmICFkZWZpbmVkKExJQlJFU1NMX1ZFUlNJT05fTlVNQkVSKSAmJiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSID49IDB4MTAwMDIwMGZMICYmICFkZWZpbmVkKE9QRU5TU0xfTk9fVExTRVhUKQorIyBkZWZpbmUgSEFWRV9BTFBOCisjZW5kaWYKKwogZW51bSBweV9zc2xfZXJyb3IgewogICAgIC8qIHRoZXNlIG1pcnJvciBzc2wuaCAqLwogICAgIFBZX1NTTF9FUlJPUl9OT05FLApAQCAtMTYxLDEzICsxNjcsNiBAQAogCiAjZGVmaW5lIFg1MDlfTkFNRV9NQVhMRU4gMjU2CiAKLS8qIFJBTkRfKiBBUElzIGdvdCBhZGRlZCB0byBPcGVuU1NMIGluIDAuOS41ICovCi0jaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA+PSAweDAwOTA1MDBmTAotIyBkZWZpbmUgSEFWRV9PUEVOU1NMX1JBTkQgMQotI2Vsc2UKLSMgdW5kZWYgSEFWRV9PUEVOU1NMX1JBTkQKLSNlbmRpZgotCiAvKiBTU0xfQ1RYX2NsZWFyX29wdGlvbnMoKSBhbmQgU1NMX2NsZWFyX29wdGlvbnMoKSB3ZXJlIGZpcnN0IGFkZGVkIGluCiAgKiBPcGVuU1NMIDAuOS44bSBidXQgZG8gbm90IGFwcGVhciBpbiBzb21lIDAuOS45LWRldiB2ZXJzaW9ucyBzdWNoIHRoZQogICogMC45LjkgZnJvbSAiTWF5IDIwMDgiIHRoYXQgTmV0QlNEIDUuMCB1c2VzLiAqLwpAQCAtMTgxLDM2ICsxODAsMTggQEAKICAqIG9sZGVyIFNTTCwgYnV0IGxldCdzIGJlIHNhZmUgKi8KICNkZWZpbmUgUHlTU0xfQ0JfTUFYTEVOIDEyOAogCi0vKiBTU0xfZ2V0X2ZpbmlzaGVkIGdvdCBhZGRlZCB0byBPcGVuU1NMIGluIDAuOS41ICovCi0jaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA+PSAweDAwOTA1MDBmTAotIyBkZWZpbmUgSEFWRV9PUEVOU1NMX0ZJTklTSEVEIDEKLSNlbHNlCi0jIGRlZmluZSBIQVZFX09QRU5TU0xfRklOSVNIRUQgMAotI2VuZGlmCi0KLS8qIEVDREggc3VwcG9ydCBnb3QgYWRkZWQgdG8gT3BlblNTTCBpbiAwLjkuOCAqLwotI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDAwOTA4MDBmTCAmJiAhZGVmaW5lZChPUEVOU1NMX05PX0VDREgpCi0jIGRlZmluZSBPUEVOU1NMX05PX0VDREgKLSNlbmRpZgotCi0vKiBjb21wcmVzc2lvbiBzdXBwb3J0IGdvdCBhZGRlZCB0byBPcGVuU1NMIGluIDAuOS44ICovCi0jaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MDA5MDgwMGZMICYmICFkZWZpbmVkKE9QRU5TU0xfTk9fQ09NUCkKLSMgZGVmaW5lIE9QRU5TU0xfTk9fQ09NUAotI2VuZGlmCi0KLS8qIFg1MDlfVkVSSUZZX1BBUkFNIGdvdCBhZGRlZCB0byBPcGVuU1NMIGluIDAuOS44ICovCi0jaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA+PSAweDAwOTA4MDBmTAotIyBkZWZpbmUgSEFWRV9PUEVOU1NMX1ZFUklGWV9QQVJBTQotI2VuZGlmCi0KIAogdHlwZWRlZiBzdHJ1Y3QgewogICAgIFB5T2JqZWN0X0hFQUQKICAgICBTU0xfQ1RYICpjdHg7CiAjaWZkZWYgT1BFTlNTTF9OUE5fTkVHT1RJQVRFRAotICAgIGNoYXIgKm5wbl9wcm90b2NvbHM7CisgICAgdW5zaWduZWQgY2hhciAqbnBuX3Byb3RvY29sczsKICAgICBpbnQgbnBuX3Byb3RvY29sc19sZW47CiAjZW5kaWYKKyNpZmRlZiBIQVZFX0FMUE4KKyAgICB1bnNpZ25lZCBjaGFyICphbHBuX3Byb3RvY29sczsKKyAgICBpbnQgYWxwbl9wcm90b2NvbHNfbGVuOworI2VuZGlmCiAjaWZuZGVmIE9QRU5TU0xfTk9fVExTRVhUCiAgICAgUHlPYmplY3QgKnNldF9ob3N0bmFtZTsKICNlbmRpZgpAQCAtMjI2LDEwICsyMDcsMTkgQEAKICAgICBjaGFyIHNodXRkb3duX3NlZW5femVybzsKICAgICBjaGFyIGhhbmRzaGFrZV9kb25lOwogICAgIGVudW0gcHlfc3NsX3NlcnZlcl9vcl9jbGllbnQgc29ja2V0X3R5cGU7CisgICAgUHlPYmplY3QgKm93bmVyOyAvKiBQeXRob24gbGV2ZWwgIm93bmVyIiBwYXNzZWQgdG8gc2VydmVybmFtZSBjYWxsYmFjayAqLworICAgIFB5T2JqZWN0ICpzZXJ2ZXJfaG9zdG5hbWU7CiB9IFB5U1NMU29ja2V0OwogCit0eXBlZGVmIHN0cnVjdCB7CisgICAgUHlPYmplY3RfSEVBRAorICAgIEJJTyAqYmlvOworICAgIGludCBlb2Zfd3JpdHRlbjsKK30gUHlTU0xNZW1vcnlCSU87CisKIHN0YXRpYyBQeVR5cGVPYmplY3QgUHlTU0xDb250ZXh0X1R5cGU7CiBzdGF0aWMgUHlUeXBlT2JqZWN0IFB5U1NMU29ja2V0X1R5cGU7CitzdGF0aWMgUHlUeXBlT2JqZWN0IFB5U1NMTWVtb3J5QklPX1R5cGU7CiAKIHN0YXRpYyBQeU9iamVjdCAqUHlTU0xfU1NMd3JpdGUoUHlTU0xTb2NrZXQgKnNlbGYsIFB5T2JqZWN0ICphcmdzKTsKIHN0YXRpYyBQeU9iamVjdCAqUHlTU0xfU1NMcmVhZChQeVNTTFNvY2tldCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpOwpAQCAtMjQwLDYgKzIzMCw3IEBACiAKICNkZWZpbmUgUHlTU0xDb250ZXh0X0NoZWNrKHYpICAgKFB5X1RZUEUodikgPT0gJlB5U1NMQ29udGV4dF9UeXBlKQogI2RlZmluZSBQeVNTTFNvY2tldF9DaGVjayh2KSAgICAoUHlfVFlQRSh2KSA9PSAmUHlTU0xTb2NrZXRfVHlwZSkKKyNkZWZpbmUgUHlTU0xNZW1vcnlCSU9fQ2hlY2sodikgICAgKFB5X1RZUEUodikgPT0gJlB5U1NMTWVtb3J5QklPX1R5cGUpCiAKIHR5cGVkZWYgZW51bSB7CiAgICAgU09DS0VUX0lTX05PTkJMT0NLSU5HLApAQCAtMjUxLDExICsyNDIsMTIgQEAKIH0gdGltZW91dF9zdGF0ZTsKIAogLyogV3JhcCBlcnJvciBzdHJpbmdzIHdpdGggZmlsZW5hbWUgYW5kIGxpbmUgIyAqLwotI2RlZmluZSBTVFJJTkdJRlkxKHgpICN4Ci0jZGVmaW5lIFNUUklOR0lGWTIoeCkgU1RSSU5HSUZZMSh4KQogI2RlZmluZSBFUlJTVFIxKHgseSx6KSAoeCAiOiIgeSAiOiAiIHopCi0jZGVmaW5lIEVSUlNUUih4KSBFUlJTVFIxKCJfc3NsLmMiLCBTVFJJTkdJRlkyKF9fTElORV9fKSwgeCkKKyNkZWZpbmUgRVJSU1RSKHgpIEVSUlNUUjEoIl9zc2wuYyIsIFB5X1NUUklOR0lGWShfX0xJTkVfXyksIHgpCiAKKy8qIEdldCB0aGUgc29ja2V0IGZyb20gYSBQeVNTTFNvY2tldCwgaWYgaXQgaGFzIG9uZSAqLworI2RlZmluZSBHRVRfU09DS0VUKG9iaikgKChvYmopLT5Tb2NrZXQgPyBcCisgICAgKFB5U29ja2V0U29ja09iamVjdCAqKSBQeVdlYWtyZWZfR2V0T2JqZWN0KChvYmopLT5Tb2NrZXQpIDogTlVMTCkKIAogLyoKICAqIFNTTCBlcnJvcnMuCkBAIC00MTksMTMgKzQxMSwxMiBAQAogICAgICAgICBjYXNlIFNTTF9FUlJPUl9TWVNDQUxMOgogICAgICAgICB7CiAgICAgICAgICAgICBpZiAoZSA9PSAwKSB7Ci0gICAgICAgICAgICAgICAgUHlTb2NrZXRTb2NrT2JqZWN0ICpzCi0gICAgICAgICAgICAgICAgICA9IChQeVNvY2tldFNvY2tPYmplY3QgKikgUHlXZWFrcmVmX0dldE9iamVjdChvYmotPlNvY2tldCk7CisgICAgICAgICAgICAgICAgUHlTb2NrZXRTb2NrT2JqZWN0ICpzID0gR0VUX1NPQ0tFVChvYmopOwogICAgICAgICAgICAgICAgIGlmIChyZXQgPT0gMCB8fCAoKChQeU9iamVjdCAqKXMpID09IFB5X05vbmUpKSB7CiAgICAgICAgICAgICAgICAgICAgIHAgPSBQWV9TU0xfRVJST1JfRU9GOwogICAgICAgICAgICAgICAgICAgICB0eXBlID0gUHlTU0xFT0ZFcnJvck9iamVjdDsKICAgICAgICAgICAgICAgICAgICAgZXJyc3RyID0gIkVPRiBvY2N1cnJlZCBpbiB2aW9sYXRpb24gb2YgcHJvdG9jb2wiOwotICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAocmV0ID09IC0xKSB7CisgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChzICYmIHJldCA9PSAtMSkgewogICAgICAgICAgICAgICAgICAgICAvKiB1bmRlcmx5aW5nIEJJTyByZXBvcnRlZCBhbiBJL08gZXJyb3IgKi8KICAgICAgICAgICAgICAgICAgICAgUHlfSU5DUkVGKHMpOwogICAgICAgICAgICAgICAgICAgICBFUlJfY2xlYXJfZXJyb3IoKTsKQEAgLTQ3OSwxMCArNDcwLDEyIEBACiBzdGF0aWMgUHlTU0xTb2NrZXQgKgogbmV3UHlTU0xTb2NrZXQoUHlTU0xDb250ZXh0ICpzc2xjdHgsIFB5U29ja2V0U29ja09iamVjdCAqc29jaywKICAgICAgICAgICAgICAgIGVudW0gcHlfc3NsX3NlcnZlcl9vcl9jbGllbnQgc29ja2V0X3R5cGUsCi0gICAgICAgICAgICAgICBjaGFyICpzZXJ2ZXJfaG9zdG5hbWUpCisgICAgICAgICAgICAgICBjaGFyICpzZXJ2ZXJfaG9zdG5hbWUsCisgICAgICAgICAgICAgICBQeVNTTE1lbW9yeUJJTyAqaW5iaW8sIFB5U1NMTWVtb3J5QklPICpvdXRiaW8pCiB7CiAgICAgUHlTU0xTb2NrZXQgKnNlbGY7CiAgICAgU1NMX0NUWCAqY3R4ID0gc3NsY3R4LT5jdHg7CisgICAgUHlPYmplY3QgKmhvc3RuYW1lOwogICAgIGxvbmcgbW9kZTsKIAogICAgIHNlbGYgPSBQeU9iamVjdF9OZXcoUHlTU0xTb2NrZXQsICZQeVNTTFNvY2tldF9UeXBlKTsKQEAgLTQ5NSw2ICs0ODgsMTggQEAKICAgICBzZWxmLT5jdHggPSBzc2xjdHg7CiAgICAgc2VsZi0+c2h1dGRvd25fc2Vlbl96ZXJvID0gMDsKICAgICBzZWxmLT5oYW5kc2hha2VfZG9uZSA9IDA7CisgICAgc2VsZi0+b3duZXIgPSBOVUxMOworICAgIGlmIChzZXJ2ZXJfaG9zdG5hbWUgIT0gTlVMTCkgeworICAgICAgICBob3N0bmFtZSA9IFB5VW5pY29kZV9EZWNvZGUoc2VydmVyX2hvc3RuYW1lLCBzdHJsZW4oc2VydmVyX2hvc3RuYW1lKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbmEiLCAic3RyaWN0Iik7CisgICAgICAgIGlmIChob3N0bmFtZSA9PSBOVUxMKSB7CisgICAgICAgICAgICBQeV9ERUNSRUYoc2VsZik7CisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgfQorICAgICAgICBzZWxmLT5zZXJ2ZXJfaG9zdG5hbWUgPSBob3N0bmFtZTsKKyAgICB9IGVsc2UKKyAgICAgICAgc2VsZi0+c2VydmVyX2hvc3RuYW1lID0gTlVMTDsKKwogICAgIFB5X0lOQ1JFRihzc2xjdHgpOwogCiAgICAgLyogTWFrZSBzdXJlIHRoZSBTU0wgZXJyb3Igc3RhdGUgaXMgaW5pdGlhbGl6ZWQgKi8KQEAgLTUwNCw4ICs1MDksMTcgQEAKICAgICBQeVNTTF9CRUdJTl9BTExPV19USFJFQURTCiAgICAgc2VsZi0+c3NsID0gU1NMX25ldyhjdHgpOwogICAgIFB5U1NMX0VORF9BTExPV19USFJFQURTCi0gICAgU1NMX3NldF9hcHBfZGF0YShzZWxmLT5zc2wsc2VsZik7Ci0gICAgU1NMX3NldF9mZChzZWxmLT5zc2wsIFB5X1NBRkVfRE9XTkNBU1Qoc29jay0+c29ja19mZCwgU09DS0VUX1QsIGludCkpOworICAgIFNTTF9zZXRfYXBwX2RhdGEoc2VsZi0+c3NsLCBzZWxmKTsKKyAgICBpZiAoc29jaykgeworICAgICAgICBTU0xfc2V0X2ZkKHNlbGYtPnNzbCwgUHlfU0FGRV9ET1dOQ0FTVChzb2NrLT5zb2NrX2ZkLCBTT0NLRVRfVCwgaW50KSk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgLyogQklPcyBhcmUgcmVmZXJlbmNlIGNvdW50ZWQgYW5kIFNTTF9zZXRfYmlvIGJvcnJvd3Mgb3VyIHJlZmVyZW5jZS4KKyAgICAgICAgICogVG8gcHJldmVudCBhIGRvdWJsZSBmcmVlIGluIG1lbW9yeV9iaW9fZGVhbGxvYygpIHdlIG5lZWQgdG8gdGFrZSBhbgorICAgICAgICAgKiBleHRyYSByZWZlcmVuY2UgaGVyZS4gKi8KKyAgICAgICAgQ1JZUFRPX2FkZCgmaW5iaW8tPmJpby0+cmVmZXJlbmNlcywgMSwgQ1JZUFRPX0xPQ0tfQklPKTsKKyAgICAgICAgQ1JZUFRPX2FkZCgmb3V0YmlvLT5iaW8tPnJlZmVyZW5jZXMsIDEsIENSWVBUT19MT0NLX0JJTyk7CisgICAgICAgIFNTTF9zZXRfYmlvKHNlbGYtPnNzbCwgaW5iaW8tPmJpbywgb3V0YmlvLT5iaW8pOworICAgIH0KICAgICBtb2RlID0gU1NMX01PREVfQUNDRVBUX01PVklOR19XUklURV9CVUZGRVI7CiAjaWZkZWYgU1NMX01PREVfQVVUT19SRVRSWQogICAgIG1vZGUgfD0gU1NMX01PREVfQVVUT19SRVRSWTsKQEAgLTUyMCw3ICs1MzQsNyBAQAogICAgIC8qIElmIHRoZSBzb2NrZXQgaXMgaW4gbm9uLWJsb2NraW5nIG1vZGUgb3IgdGltZW91dCBtb2RlLCBzZXQgdGhlIEJJTwogICAgICAqIHRvIG5vbi1ibG9ja2luZyBtb2RlIChibG9ja2luZyBpcyB0aGUgZGVmYXVsdCkKICAgICAgKi8KLSAgICBpZiAoc29jay0+c29ja190aW1lb3V0ID49IDAuMCkgeworICAgIGlmIChzb2NrICYmIHNvY2stPnNvY2tfdGltZW91dCA+PSAwLjApIHsKICAgICAgICAgQklPX3NldF9uYmlvKFNTTF9nZXRfcmJpbyhzZWxmLT5zc2wpLCAxKTsKICAgICAgICAgQklPX3NldF9uYmlvKFNTTF9nZXRfd2JpbyhzZWxmLT5zc2wpLCAxKTsKICAgICB9CkBAIC01MzMsMTAgKzU0NywxMyBAQAogICAgIFB5U1NMX0VORF9BTExPV19USFJFQURTCiAKICAgICBzZWxmLT5zb2NrZXRfdHlwZSA9IHNvY2tldF90eXBlOwotICAgIHNlbGYtPlNvY2tldCA9IFB5V2Vha3JlZl9OZXdSZWYoKFB5T2JqZWN0ICopIHNvY2ssIE5VTEwpOwotICAgIGlmIChzZWxmLT5Tb2NrZXQgPT0gTlVMTCkgewotICAgICAgICBQeV9ERUNSRUYoc2VsZik7Ci0gICAgICAgIHJldHVybiBOVUxMOworICAgIGlmIChzb2NrICE9IE5VTEwpIHsKKyAgICAgICAgc2VsZi0+U29ja2V0ID0gUHlXZWFrcmVmX05ld1JlZigoUHlPYmplY3QgKikgc29jaywgTlVMTCk7CisgICAgICAgIGlmIChzZWxmLT5Tb2NrZXQgPT0gTlVMTCkgeworICAgICAgICAgICAgUHlfREVDUkVGKHNlbGYpOworICAgICAgICAgICAgUHlfWERFQ1JFRihzZWxmLT5zZXJ2ZXJfaG9zdG5hbWUpOworICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgIH0KICAgICB9CiAgICAgcmV0dXJuIHNlbGY7CiB9CkBAIC01NDgsMjAgKzU2NSwyMSBAQAogICAgIGludCByZXQ7CiAgICAgaW50IGVycjsKICAgICBpbnQgc29ja3N0YXRlLCBub25ibG9ja2luZzsKLSAgICBQeVNvY2tldFNvY2tPYmplY3QgKnNvY2sKLSAgICAgID0gKFB5U29ja2V0U29ja09iamVjdCAqKSBQeVdlYWtyZWZfR2V0T2JqZWN0KHNlbGYtPlNvY2tldCk7CisgICAgUHlTb2NrZXRTb2NrT2JqZWN0ICpzb2NrID0gR0VUX1NPQ0tFVChzZWxmKTsKIAotICAgIGlmICgoKFB5T2JqZWN0Kilzb2NrKSA9PSBQeV9Ob25lKSB7Ci0gICAgICAgIF9zZXRTU0xFcnJvcigiVW5kZXJseWluZyBzb2NrZXQgY29ubmVjdGlvbiBnb25lIiwKLSAgICAgICAgICAgICAgICAgICAgIFBZX1NTTF9FUlJPUl9OT19TT0NLRVQsIF9fRklMRV9fLCBfX0xJTkVfXyk7Ci0gICAgICAgIHJldHVybiBOVUxMOworICAgIGlmIChzb2NrKSB7CisgICAgICAgIGlmICgoKFB5T2JqZWN0Kilzb2NrKSA9PSBQeV9Ob25lKSB7CisgICAgICAgICAgICBfc2V0U1NMRXJyb3IoIlVuZGVybHlpbmcgc29ja2V0IGNvbm5lY3Rpb24gZ29uZSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgUFlfU1NMX0VSUk9SX05PX1NPQ0tFVCwgX19GSUxFX18sIF9fTElORV9fKTsKKyAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICB9CisgICAgICAgIFB5X0lOQ1JFRihzb2NrKTsKKworICAgICAgICAvKiBqdXN0IGluIGNhc2UgdGhlIGJsb2NraW5nIHN0YXRlIG9mIHRoZSBzb2NrZXQgaGFzIGJlZW4gY2hhbmdlZCAqLworICAgICAgICBub25ibG9ja2luZyA9IChzb2NrLT5zb2NrX3RpbWVvdXQgPj0gMC4wKTsKKyAgICAgICAgQklPX3NldF9uYmlvKFNTTF9nZXRfcmJpbyhzZWxmLT5zc2wpLCBub25ibG9ja2luZyk7CisgICAgICAgIEJJT19zZXRfbmJpbyhTU0xfZ2V0X3diaW8oc2VsZi0+c3NsKSwgbm9uYmxvY2tpbmcpOwogICAgIH0KLSAgICBQeV9JTkNSRUYoc29jayk7Ci0KLSAgICAvKiBqdXN0IGluIGNhc2UgdGhlIGJsb2NraW5nIHN0YXRlIG9mIHRoZSBzb2NrZXQgaGFzIGJlZW4gY2hhbmdlZCAqLwotICAgIG5vbmJsb2NraW5nID0gKHNvY2stPnNvY2tfdGltZW91dCA+PSAwLjApOwotICAgIEJJT19zZXRfbmJpbyhTU0xfZ2V0X3JiaW8oc2VsZi0+c3NsKSwgbm9uYmxvY2tpbmcpOwotICAgIEJJT19zZXRfbmJpbyhTU0xfZ2V0X3diaW8oc2VsZi0+c3NsKSwgbm9uYmxvY2tpbmcpOwogCiAgICAgLyogQWN0dWFsbHkgbmVnb3RpYXRlIFNTTCBjb25uZWN0aW9uICovCiAgICAgLyogWFhYIElmIFNTTF9kb19oYW5kc2hha2UoKSByZXR1cm5zIDAsIGl0J3MgYWxzbyBhIGZhaWx1cmUuICovCkBAIC01OTUsNyArNjEzLDcgQEAKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAgICAgfSB3aGlsZSAoZXJyID09IFNTTF9FUlJPUl9XQU5UX1JFQUQgfHwgZXJyID09IFNTTF9FUlJPUl9XQU5UX1dSSVRFKTsKLSAgICBQeV9ERUNSRUYoc29jayk7CisgICAgUHlfWERFQ1JFRihzb2NrKTsKICAgICBpZiAocmV0IDwgMSkKICAgICAgICAgcmV0dXJuIFB5U1NMX1NldEVycm9yKHNlbGYsIHJldCwgX19GSUxFX18sIF9fTElORV9fKTsKIApAQCAtNjEwLDcgKzYyOCw3IEBACiAgICAgcmV0dXJuIFB5X05vbmU7CiAKIGVycm9yOgotICAgIFB5X0RFQ1JFRihzb2NrKTsKKyAgICBQeV9YREVDUkVGKHNvY2spOwogICAgIHJldHVybiBOVUxMOwogfQogCkBAIC03NzksMTIgKzc5Nyw3IEBACiAgICAgY2hhciBidWZbMjA0OF07CiAgICAgY2hhciAqdnB0cjsKICAgICBpbnQgbGVuOwotICAgIC8qIElzc3VlICMyOTczOiBBU04xX2l0ZW1fZDJpKCkgQVBJIGNoYW5nZWQgaW4gT3BlblNTTCAwLjkuNm0gKi8KLSNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSID49IDB4MDA5MDYwZGZMCiAgICAgY29uc3QgdW5zaWduZWQgY2hhciAqcDsKLSNlbHNlCi0gICAgdW5zaWduZWQgY2hhciAqcDsKLSNlbmRpZgogCiAgICAgaWYgKGNlcnRpZmljYXRlID09IE5VTEwpCiAgICAgICAgIHJldHVybiBwZWVyX2FsdF9uYW1lczsKQEAgLTEzNTYsNTQgKzEzNjksOTYgQEAKIHBlZXIgY2VydGlmaWNhdGUsIG9yIE5vbmUgaWYgbm8gY2VydGlmaWNhdGUgd2FzIHByb3ZpZGVkLiAgVGhpcyB3aWxsXG5cCiByZXR1cm4gdGhlIGNlcnRpZmljYXRlIGV2ZW4gaWYgaXQgd2Fzbid0IHZhbGlkYXRlZC4iKTsKIAotc3RhdGljIFB5T2JqZWN0ICpQeVNTTF9jaXBoZXIgKFB5U1NMU29ja2V0ICpzZWxmKSB7Ci0KLSAgICBQeU9iamVjdCAqcmV0dmFsLCAqdjsKLSAgICBjb25zdCBTU0xfQ0lQSEVSICpjdXJyZW50OwotICAgIGNoYXIgKmNpcGhlcl9uYW1lOwotICAgIGNoYXIgKmNpcGhlcl9wcm90b2NvbDsKLQotICAgIGlmIChzZWxmLT5zc2wgPT0gTlVMTCkKLSAgICAgICAgUHlfUkVUVVJOX05PTkU7Ci0gICAgY3VycmVudCA9IFNTTF9nZXRfY3VycmVudF9jaXBoZXIoc2VsZi0+c3NsKTsKLSAgICBpZiAoY3VycmVudCA9PSBOVUxMKQotICAgICAgICBQeV9SRVRVUk5fTk9ORTsKLQotICAgIHJldHZhbCA9IFB5VHVwbGVfTmV3KDMpOworc3RhdGljIFB5T2JqZWN0ICoKK2NpcGhlcl90b190dXBsZShjb25zdCBTU0xfQ0lQSEVSICpjaXBoZXIpCit7CisgICAgY29uc3QgY2hhciAqY2lwaGVyX25hbWUsICpjaXBoZXJfcHJvdG9jb2w7CisgICAgUHlPYmplY3QgKnYsICpyZXR2YWwgPSBQeVR1cGxlX05ldygzKTsKICAgICBpZiAocmV0dmFsID09IE5VTEwpCiAgICAgICAgIHJldHVybiBOVUxMOwogCi0gICAgY2lwaGVyX25hbWUgPSAoY2hhciAqKSBTU0xfQ0lQSEVSX2dldF9uYW1lKGN1cnJlbnQpOworICAgIGNpcGhlcl9uYW1lID0gU1NMX0NJUEhFUl9nZXRfbmFtZShjaXBoZXIpOwogICAgIGlmIChjaXBoZXJfbmFtZSA9PSBOVUxMKSB7CiAgICAgICAgIFB5X0lOQ1JFRihQeV9Ob25lKTsKICAgICAgICAgUHlUdXBsZV9TRVRfSVRFTShyZXR2YWwsIDAsIFB5X05vbmUpOwogICAgIH0gZWxzZSB7CiAgICAgICAgIHYgPSBQeVVuaWNvZGVfRnJvbVN0cmluZyhjaXBoZXJfbmFtZSk7CiAgICAgICAgIGlmICh2ID09IE5VTEwpCi0gICAgICAgICAgICBnb3RvIGZhaWwwOworICAgICAgICAgICAgZ290byBmYWlsOwogICAgICAgICBQeVR1cGxlX1NFVF9JVEVNKHJldHZhbCwgMCwgdik7CiAgICAgfQotICAgIGNpcGhlcl9wcm90b2NvbCA9IChjaGFyICopIFNTTF9DSVBIRVJfZ2V0X3ZlcnNpb24oY3VycmVudCk7CisKKyAgICBjaXBoZXJfcHJvdG9jb2wgPSBTU0xfQ0lQSEVSX2dldF92ZXJzaW9uKGNpcGhlcik7CiAgICAgaWYgKGNpcGhlcl9wcm90b2NvbCA9PSBOVUxMKSB7CiAgICAgICAgIFB5X0lOQ1JFRihQeV9Ob25lKTsKICAgICAgICAgUHlUdXBsZV9TRVRfSVRFTShyZXR2YWwsIDEsIFB5X05vbmUpOwogICAgIH0gZWxzZSB7CiAgICAgICAgIHYgPSBQeVVuaWNvZGVfRnJvbVN0cmluZyhjaXBoZXJfcHJvdG9jb2wpOwogICAgICAgICBpZiAodiA9PSBOVUxMKQotICAgICAgICAgICAgZ290byBmYWlsMDsKKyAgICAgICAgICAgIGdvdG8gZmFpbDsKICAgICAgICAgUHlUdXBsZV9TRVRfSVRFTShyZXR2YWwsIDEsIHYpOwogICAgIH0KLSAgICB2ID0gUHlMb25nX0Zyb21Mb25nKFNTTF9DSVBIRVJfZ2V0X2JpdHMoY3VycmVudCwgTlVMTCkpOworCisgICAgdiA9IFB5TG9uZ19Gcm9tTG9uZyhTU0xfQ0lQSEVSX2dldF9iaXRzKGNpcGhlciwgTlVMTCkpOwogICAgIGlmICh2ID09IE5VTEwpCi0gICAgICAgIGdvdG8gZmFpbDA7CisgICAgICAgIGdvdG8gZmFpbDsKICAgICBQeVR1cGxlX1NFVF9JVEVNKHJldHZhbCwgMiwgdik7CisKICAgICByZXR1cm4gcmV0dmFsOwogCi0gIGZhaWwwOgorICBmYWlsOgogICAgIFB5X0RFQ1JFRihyZXR2YWwpOwogICAgIHJldHVybiBOVUxMOwogfQogCitzdGF0aWMgUHlPYmplY3QgKlB5U1NMX3NoYXJlZF9jaXBoZXJzKFB5U1NMU29ja2V0ICpzZWxmKQoreworICAgIFNTTF9TRVNTSU9OICpzZXNzID0gU1NMX2dldF9zZXNzaW9uKHNlbGYtPnNzbCk7CisgICAgU1RBQ0tfT0YoU1NMX0NJUEhFUikgKmNpcGhlcnM7CisgICAgaW50IGk7CisgICAgUHlPYmplY3QgKnJlczsKKworICAgIGlmICghc2VzcyB8fCAhc2Vzcy0+Y2lwaGVycykKKyAgICAgICAgUHlfUkVUVVJOX05PTkU7CisgICAgY2lwaGVycyA9IHNlc3MtPmNpcGhlcnM7CisgICAgcmVzID0gUHlMaXN0X05ldyhza19TU0xfQ0lQSEVSX251bShjaXBoZXJzKSk7CisgICAgaWYgKCFyZXMpCisgICAgICAgIHJldHVybiBOVUxMOworICAgIGZvciAoaSA9IDA7IGkgPCBza19TU0xfQ0lQSEVSX251bShjaXBoZXJzKTsgaSsrKSB7CisgICAgICAgIFB5T2JqZWN0ICp0dXAgPSBjaXBoZXJfdG9fdHVwbGUoc2tfU1NMX0NJUEhFUl92YWx1ZShjaXBoZXJzLCBpKSk7CisgICAgICAgIGlmICghdHVwKSB7CisgICAgICAgICAgICBQeV9ERUNSRUYocmVzKTsKKyAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICB9CisgICAgICAgIFB5TGlzdF9TRVRfSVRFTShyZXMsIGksIHR1cCk7CisgICAgfQorICAgIHJldHVybiByZXM7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqUHlTU0xfY2lwaGVyIChQeVNTTFNvY2tldCAqc2VsZikKK3sKKyAgICBjb25zdCBTU0xfQ0lQSEVSICpjdXJyZW50OworCisgICAgaWYgKHNlbGYtPnNzbCA9PSBOVUxMKQorICAgICAgICBQeV9SRVRVUk5fTk9ORTsKKyAgICBjdXJyZW50ID0gU1NMX2dldF9jdXJyZW50X2NpcGhlcihzZWxmLT5zc2wpOworICAgIGlmIChjdXJyZW50ID09IE5VTEwpCisgICAgICAgIFB5X1JFVFVSTl9OT05FOworICAgIHJldHVybiBjaXBoZXJfdG9fdHVwbGUoY3VycmVudCk7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqUHlTU0xfdmVyc2lvbihQeVNTTFNvY2tldCAqc2VsZikKK3sKKyAgICBjb25zdCBjaGFyICp2ZXJzaW9uOworCisgICAgaWYgKHNlbGYtPnNzbCA9PSBOVUxMKQorICAgICAgICBQeV9SRVRVUk5fTk9ORTsKKyAgICB2ZXJzaW9uID0gU1NMX2dldF92ZXJzaW9uKHNlbGYtPnNzbCk7CisgICAgaWYgKCFzdHJjbXAodmVyc2lvbiwgInVua25vd24iKSkKKyAgICAgICAgUHlfUkVUVVJOX05PTkU7CisgICAgcmV0dXJuIFB5VW5pY29kZV9Gcm9tU3RyaW5nKHZlcnNpb24pOworfQorCiAjaWZkZWYgT1BFTlNTTF9OUE5fTkVHT1RJQVRFRAogc3RhdGljIFB5T2JqZWN0ICpQeVNTTF9zZWxlY3RlZF9ucG5fcHJvdG9jb2woUHlTU0xTb2NrZXQgKnNlbGYpIHsKICAgICBjb25zdCB1bnNpZ25lZCBjaGFyICpvdXQ7CkBAIC0xNDE0LDcgKzE0NjksMjAgQEAKIAogICAgIGlmIChvdXQgPT0gTlVMTCkKICAgICAgICAgUHlfUkVUVVJOX05PTkU7Ci0gICAgcmV0dXJuIFB5VW5pY29kZV9Gcm9tU3RyaW5nQW5kU2l6ZSgoY2hhciAqKSBvdXQsIG91dGxlbik7CisgICAgcmV0dXJuIFB5VW5pY29kZV9Gcm9tU3RyaW5nQW5kU2l6ZSgoY2hhciAqKW91dCwgb3V0bGVuKTsKK30KKyNlbmRpZgorCisjaWZkZWYgSEFWRV9BTFBOCitzdGF0aWMgUHlPYmplY3QgKlB5U1NMX3NlbGVjdGVkX2FscG5fcHJvdG9jb2woUHlTU0xTb2NrZXQgKnNlbGYpIHsKKyAgICBjb25zdCB1bnNpZ25lZCBjaGFyICpvdXQ7CisgICAgdW5zaWduZWQgaW50IG91dGxlbjsKKworICAgIFNTTF9nZXQwX2FscG5fc2VsZWN0ZWQoc2VsZi0+c3NsLCAmb3V0LCAmb3V0bGVuKTsKKworICAgIGlmIChvdXQgPT0gTlVMTCkKKyAgICAgICAgUHlfUkVUVVJOX05PTkU7CisgICAgcmV0dXJuIFB5VW5pY29kZV9Gcm9tU3RyaW5nQW5kU2l6ZSgoY2hhciAqKW91dCwgb3V0bGVuKTsKIH0KICNlbmRpZgogCkBAIC0xNDczLDYgKzE1NDEsNTQgQEAKIFNTTFNvY2tldCBiZWZvcmUgdGhlIGNyeXB0b2dyYXBoaWMgZXhjaGFuZ2UgaGFuZHNoYWtlIG1lc3NhZ2VzXG4iKTsKIAogCitzdGF0aWMgUHlPYmplY3QgKgorUHlTU0xfZ2V0X3NlcnZlcl9zaWRlKFB5U1NMU29ja2V0ICpzZWxmLCB2b2lkICpjKQoreworICAgIHJldHVybiBQeUJvb2xfRnJvbUxvbmcoc2VsZi0+c29ja2V0X3R5cGUgPT0gUFlfU1NMX1NFUlZFUik7Cit9CisKK1B5RG9jX1NUUlZBUihQeVNTTF9nZXRfc2VydmVyX3NpZGVfZG9jLAorIldoZXRoZXIgdGhpcyBpcyBhIHNlcnZlci1zaWRlIHNvY2tldC4iKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK1B5U1NMX2dldF9zZXJ2ZXJfaG9zdG5hbWUoUHlTU0xTb2NrZXQgKnNlbGYsIHZvaWQgKmMpCit7CisgICAgaWYgKHNlbGYtPnNlcnZlcl9ob3N0bmFtZSA9PSBOVUxMKQorICAgICAgICBQeV9SRVRVUk5fTk9ORTsKKyAgICBQeV9JTkNSRUYoc2VsZi0+c2VydmVyX2hvc3RuYW1lKTsKKyAgICByZXR1cm4gc2VsZi0+c2VydmVyX2hvc3RuYW1lOworfQorCitQeURvY19TVFJWQVIoUHlTU0xfZ2V0X3NlcnZlcl9ob3N0bmFtZV9kb2MsCisiVGhlIGN1cnJlbnRseSBzZXQgc2VydmVyIGhvc3RuYW1lIChmb3IgU05JKS4iKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK1B5U1NMX2dldF9vd25lcihQeVNTTFNvY2tldCAqc2VsZiwgdm9pZCAqYykKK3sKKyAgICBQeU9iamVjdCAqb3duZXI7CisKKyAgICBpZiAoc2VsZi0+b3duZXIgPT0gTlVMTCkKKyAgICAgICAgUHlfUkVUVVJOX05PTkU7CisKKyAgICBvd25lciA9IFB5V2Vha3JlZl9HZXRPYmplY3Qoc2VsZi0+b3duZXIpOworICAgIFB5X0lOQ1JFRihvd25lcik7CisgICAgcmV0dXJuIG93bmVyOworfQorCitzdGF0aWMgaW50CitQeVNTTF9zZXRfb3duZXIoUHlTU0xTb2NrZXQgKnNlbGYsIFB5T2JqZWN0ICp2YWx1ZSwgdm9pZCAqYykKK3sKKyAgICBQeV9YREVDUkVGKHNlbGYtPm93bmVyKTsKKyAgICBzZWxmLT5vd25lciA9IFB5V2Vha3JlZl9OZXdSZWYodmFsdWUsIE5VTEwpOworICAgIGlmIChzZWxmLT5vd25lciA9PSBOVUxMKQorICAgICAgICByZXR1cm4gLTE7CisgICAgcmV0dXJuIDA7Cit9CisKK1B5RG9jX1NUUlZBUihQeVNTTF9nZXRfb3duZXJfZG9jLAorIlRoZSBQeXRob24tbGV2ZWwgb3duZXIgb2YgdGhpcyBvYmplY3QuXAorUGFzc2VkIGFzIFwic2VsZlwiIGluIHNlcnZlcm5hbWUgY2FsbGJhY2suIik7CisKIAogc3RhdGljIHZvaWQgUHlTU0xfZGVhbGxvYyhQeVNTTFNvY2tldCAqc2VsZikKIHsKQEAgLTE0ODIsNiArMTU5OCw4IEBACiAgICAgICAgIFNTTF9mcmVlKHNlbGYtPnNzbCk7CiAgICAgUHlfWERFQ1JFRihzZWxmLT5Tb2NrZXQpOwogICAgIFB5X1hERUNSRUYoc2VsZi0+Y3R4KTsKKyAgICBQeV9YREVDUkVGKHNlbGYtPnNlcnZlcl9ob3N0bmFtZSk7CisgICAgUHlfWERFQ1JFRihzZWxmLT5vd25lcik7CiAgICAgUHlPYmplY3RfRGVsKHNlbGYpOwogfQogCkBAIC0xNDk4LDEwICsxNjE2LDEwIEBACiAgICAgaW50IHJjOwogCiAgICAgLyogTm90aGluZyB0byBkbyB1bmxlc3Mgd2UncmUgaW4gdGltZW91dCBtb2RlIChub3Qgbm9uLWJsb2NraW5nKSAqLwotICAgIGlmIChzLT5zb2NrX3RpbWVvdXQgPCAwLjApCi0gICAgICAgIHJldHVybiBTT0NLRVRfSVNfQkxPQ0tJTkc7Ci0gICAgZWxzZSBpZiAocy0+c29ja190aW1lb3V0ID09IDAuMCkKKyAgICBpZiAoKHMgPT0gTlVMTCkgfHwgKHMtPnNvY2tfdGltZW91dCA9PSAwLjApKQogICAgICAgICByZXR1cm4gU09DS0VUX0lTX05PTkJMT0NLSU5HOworICAgIGVsc2UgaWYgKHMtPnNvY2tfdGltZW91dCA8IDAuMCkKKyAgICAgICAgcmV0dXJuIFNPQ0tFVF9JU19CTE9DS0lORzsKIAogICAgIC8qIEd1YXJkIGFnYWluc3QgY2xvc2VkIHNvY2tldCAqLwogICAgIGlmIChzLT5zb2NrX2ZkIDwgMCkKQEAgLTE1NjIsMTggKzE2ODAsMTkgQEAKICAgICBpbnQgc29ja3N0YXRlOwogICAgIGludCBlcnI7CiAgICAgaW50IG5vbmJsb2NraW5nOwotICAgIFB5U29ja2V0U29ja09iamVjdCAqc29jawotICAgICAgPSAoUHlTb2NrZXRTb2NrT2JqZWN0ICopIFB5V2Vha3JlZl9HZXRPYmplY3Qoc2VsZi0+U29ja2V0KTsKKyAgICBQeVNvY2tldFNvY2tPYmplY3QgKnNvY2sgPSBHRVRfU09DS0VUKHNlbGYpOwogCi0gICAgaWYgKCgoUHlPYmplY3QqKXNvY2spID09IFB5X05vbmUpIHsKLSAgICAgICAgX3NldFNTTEVycm9yKCJVbmRlcmx5aW5nIHNvY2tldCBjb25uZWN0aW9uIGdvbmUiLAotICAgICAgICAgICAgICAgICAgICAgUFlfU1NMX0VSUk9SX05PX1NPQ0tFVCwgX19GSUxFX18sIF9fTElORV9fKTsKLSAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgaWYgKHNvY2sgIT0gTlVMTCkgeworICAgICAgICBpZiAoKChQeU9iamVjdCopc29jaykgPT0gUHlfTm9uZSkgeworICAgICAgICAgICAgX3NldFNTTEVycm9yKCJVbmRlcmx5aW5nIHNvY2tldCBjb25uZWN0aW9uIGdvbmUiLAorICAgICAgICAgICAgICAgICAgICAgICAgIFBZX1NTTF9FUlJPUl9OT19TT0NLRVQsIF9fRklMRV9fLCBfX0xJTkVfXyk7CisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgfQorICAgICAgICBQeV9JTkNSRUYoc29jayk7CiAgICAgfQotICAgIFB5X0lOQ1JFRihzb2NrKTsKIAogICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAieSo6d3JpdGUiLCAmYnVmKSkgewotICAgICAgICBQeV9ERUNSRUYoc29jayk7CisgICAgICAgIFB5X1hERUNSRUYoc29jayk7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KIApAQCAtMTU4MywxMCArMTcwMiwxMiBAQAogICAgICAgICBnb3RvIGVycm9yOwogICAgIH0KIAotICAgIC8qIGp1c3QgaW4gY2FzZSB0aGUgYmxvY2tpbmcgc3RhdGUgb2YgdGhlIHNvY2tldCBoYXMgYmVlbiBjaGFuZ2VkICovCi0gICAgbm9uYmxvY2tpbmcgPSAoc29jay0+c29ja190aW1lb3V0ID49IDAuMCk7Ci0gICAgQklPX3NldF9uYmlvKFNTTF9nZXRfcmJpbyhzZWxmLT5zc2wpLCBub25ibG9ja2luZyk7Ci0gICAgQklPX3NldF9uYmlvKFNTTF9nZXRfd2JpbyhzZWxmLT5zc2wpLCBub25ibG9ja2luZyk7CisgICAgaWYgKHNvY2sgIT0gTlVMTCkgeworICAgICAgICAvKiBqdXN0IGluIGNhc2UgdGhlIGJsb2NraW5nIHN0YXRlIG9mIHRoZSBzb2NrZXQgaGFzIGJlZW4gY2hhbmdlZCAqLworICAgICAgICBub25ibG9ja2luZyA9IChzb2NrLT5zb2NrX3RpbWVvdXQgPj0gMC4wKTsKKyAgICAgICAgQklPX3NldF9uYmlvKFNTTF9nZXRfcmJpbyhzZWxmLT5zc2wpLCBub25ibG9ja2luZyk7CisgICAgICAgIEJJT19zZXRfbmJpbyhTU0xfZ2V0X3diaW8oc2VsZi0+c3NsKSwgbm9uYmxvY2tpbmcpOworICAgIH0KIAogICAgIHNvY2tzdGF0ZSA9IGNoZWNrX3NvY2tldF9hbmRfd2FpdF9mb3JfdGltZW91dChzb2NrLCAxKTsKICAgICBpZiAoc29ja3N0YXRlID09IFNPQ0tFVF9IQVNfVElNRURfT1VUKSB7CkBAIC0xNjMwLDcgKzE3NTEsNyBAQAogICAgICAgICB9CiAgICAgfSB3aGlsZSAoZXJyID09IFNTTF9FUlJPUl9XQU5UX1JFQUQgfHwgZXJyID09IFNTTF9FUlJPUl9XQU5UX1dSSVRFKTsKIAotICAgIFB5X0RFQ1JFRihzb2NrKTsKKyAgICBQeV9YREVDUkVGKHNvY2spOwogICAgIFB5QnVmZmVyX1JlbGVhc2UoJmJ1Zik7CiAgICAgaWYgKGxlbiA+IDApCiAgICAgICAgIHJldHVybiBQeUxvbmdfRnJvbUxvbmcobGVuKTsKQEAgLTE2MzgsNyArMTc1OSw3IEBACiAgICAgICAgIHJldHVybiBQeVNTTF9TZXRFcnJvcihzZWxmLCBsZW4sIF9fRklMRV9fLCBfX0xJTkVfXyk7CiAKIGVycm9yOgotICAgIFB5X0RFQ1JFRihzb2NrKTsKKyAgICBQeV9YREVDUkVGKHNvY2spOwogICAgIFB5QnVmZmVyX1JlbGVhc2UoJmJ1Zik7CiAgICAgcmV0dXJuIE5VTEw7CiB9CkBAIC0xNjc4LDE1ICsxNzk5LDE2IEBACiAgICAgaW50IHNvY2tzdGF0ZTsKICAgICBpbnQgZXJyOwogICAgIGludCBub25ibG9ja2luZzsKLSAgICBQeVNvY2tldFNvY2tPYmplY3QgKnNvY2sKLSAgICAgID0gKFB5U29ja2V0U29ja09iamVjdCAqKSBQeVdlYWtyZWZfR2V0T2JqZWN0KHNlbGYtPlNvY2tldCk7CisgICAgUHlTb2NrZXRTb2NrT2JqZWN0ICpzb2NrID0gR0VUX1NPQ0tFVChzZWxmKTsKIAotICAgIGlmICgoKFB5T2JqZWN0Kilzb2NrKSA9PSBQeV9Ob25lKSB7Ci0gICAgICAgIF9zZXRTU0xFcnJvcigiVW5kZXJseWluZyBzb2NrZXQgY29ubmVjdGlvbiBnb25lIiwKLSAgICAgICAgICAgICAgICAgICAgIFBZX1NTTF9FUlJPUl9OT19TT0NLRVQsIF9fRklMRV9fLCBfX0xJTkVfXyk7Ci0gICAgICAgIHJldHVybiBOVUxMOworICAgIGlmIChzb2NrICE9IE5VTEwpIHsKKyAgICAgICAgaWYgKCgoUHlPYmplY3QqKXNvY2spID09IFB5X05vbmUpIHsKKyAgICAgICAgICAgIF9zZXRTU0xFcnJvcigiVW5kZXJseWluZyBzb2NrZXQgY29ubmVjdGlvbiBnb25lIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICBQWV9TU0xfRVJST1JfTk9fU09DS0VULCBfX0ZJTEVfXywgX19MSU5FX18pOworICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgIH0KKyAgICAgICAgUHlfSU5DUkVGKHNvY2spOwogICAgIH0KLSAgICBQeV9JTkNSRUYoc29jayk7CiAKICAgICBidWYub2JqID0gTlVMTDsKICAgICBidWYuYnVmID0gTlVMTDsKQEAgLTE3MTIsMTAgKzE4MzQsMTIgQEAKICAgICAgICAgfQogICAgIH0KIAotICAgIC8qIGp1c3QgaW4gY2FzZSB0aGUgYmxvY2tpbmcgc3RhdGUgb2YgdGhlIHNvY2tldCBoYXMgYmVlbiBjaGFuZ2VkICovCi0gICAgbm9uYmxvY2tpbmcgPSAoc29jay0+c29ja190aW1lb3V0ID49IDAuMCk7Ci0gICAgQklPX3NldF9uYmlvKFNTTF9nZXRfcmJpbyhzZWxmLT5zc2wpLCBub25ibG9ja2luZyk7Ci0gICAgQklPX3NldF9uYmlvKFNTTF9nZXRfd2JpbyhzZWxmLT5zc2wpLCBub25ibG9ja2luZyk7CisgICAgaWYgKHNvY2sgIT0gTlVMTCkgeworICAgICAgICAvKiBqdXN0IGluIGNhc2UgdGhlIGJsb2NraW5nIHN0YXRlIG9mIHRoZSBzb2NrZXQgaGFzIGJlZW4gY2hhbmdlZCAqLworICAgICAgICBub25ibG9ja2luZyA9IChzb2NrLT5zb2NrX3RpbWVvdXQgPj0gMC4wKTsKKyAgICAgICAgQklPX3NldF9uYmlvKFNTTF9nZXRfcmJpbyhzZWxmLT5zc2wpLCBub25ibG9ja2luZyk7CisgICAgICAgIEJJT19zZXRfbmJpbyhTU0xfZ2V0X3diaW8oc2VsZi0+c3NsKSwgbm9uYmxvY2tpbmcpOworICAgIH0KIAogICAgIGRvIHsKICAgICAgICAgUHlTU0xfQkVHSU5fQUxMT1dfVEhSRUFEUwpAQCAtMTc1MSw3ICsxODc1LDcgQEAKICAgICB9CiAKIGRvbmU6Ci0gICAgUHlfREVDUkVGKHNvY2spOworICAgIFB5X1hERUNSRUYoc29jayk7CiAgICAgaWYgKCFidWZfcGFzc2VkKSB7CiAgICAgICAgIF9QeUJ5dGVzX1Jlc2l6ZSgmZGVzdCwgY291bnQpOwogICAgICAgICByZXR1cm4gZGVzdDsKQEAgLTE3NjIsNyArMTg4Niw3IEBACiAgICAgfQogCiBlcnJvcjoKLSAgICBQeV9ERUNSRUYoc29jayk7CisgICAgUHlfWERFQ1JFRihzb2NrKTsKICAgICBpZiAoIWJ1Zl9wYXNzZWQpCiAgICAgICAgIFB5X1hERUNSRUYoZGVzdCk7CiAgICAgZWxzZQpAQCAtMTc3OSwyMSArMTkwMywyMiBAQAogewogICAgIGludCBlcnIsIHNzbF9lcnIsIHNvY2tzdGF0ZSwgbm9uYmxvY2tpbmc7CiAgICAgaW50IHplcm9zID0gMDsKLSAgICBQeVNvY2tldFNvY2tPYmplY3QgKnNvY2sKLSAgICAgID0gKFB5U29ja2V0U29ja09iamVjdCAqKSBQeVdlYWtyZWZfR2V0T2JqZWN0KHNlbGYtPlNvY2tldCk7CisgICAgUHlTb2NrZXRTb2NrT2JqZWN0ICpzb2NrID0gR0VUX1NPQ0tFVChzZWxmKTsKIAotICAgIC8qIEd1YXJkIGFnYWluc3QgY2xvc2VkIHNvY2tldCAqLwotICAgIGlmICgoKChQeU9iamVjdCopc29jaykgPT0gUHlfTm9uZSkgfHwgKHNvY2stPnNvY2tfZmQgPCAwKSkgewotICAgICAgICBfc2V0U1NMRXJyb3IoIlVuZGVybHlpbmcgc29ja2V0IGNvbm5lY3Rpb24gZ29uZSIsCi0gICAgICAgICAgICAgICAgICAgICBQWV9TU0xfRVJST1JfTk9fU09DS0VULCBfX0ZJTEVfXywgX19MSU5FX18pOwotICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBpZiAoc29jayAhPSBOVUxMKSB7CisgICAgICAgIC8qIEd1YXJkIGFnYWluc3QgY2xvc2VkIHNvY2tldCAqLworICAgICAgICBpZiAoKCgoUHlPYmplY3QqKXNvY2spID09IFB5X05vbmUpIHx8IChzb2NrLT5zb2NrX2ZkIDwgMCkpIHsKKyAgICAgICAgICAgIF9zZXRTU0xFcnJvcigiVW5kZXJseWluZyBzb2NrZXQgY29ubmVjdGlvbiBnb25lIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICBQWV9TU0xfRVJST1JfTk9fU09DS0VULCBfX0ZJTEVfXywgX19MSU5FX18pOworICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgIH0KKyAgICAgICAgUHlfSU5DUkVGKHNvY2spOworCisgICAgICAgIC8qIEp1c3QgaW4gY2FzZSB0aGUgYmxvY2tpbmcgc3RhdGUgb2YgdGhlIHNvY2tldCBoYXMgYmVlbiBjaGFuZ2VkICovCisgICAgICAgIG5vbmJsb2NraW5nID0gKHNvY2stPnNvY2tfdGltZW91dCA+PSAwLjApOworICAgICAgICBCSU9fc2V0X25iaW8oU1NMX2dldF9yYmlvKHNlbGYtPnNzbCksIG5vbmJsb2NraW5nKTsKKyAgICAgICAgQklPX3NldF9uYmlvKFNTTF9nZXRfd2JpbyhzZWxmLT5zc2wpLCBub25ibG9ja2luZyk7CiAgICAgfQotICAgIFB5X0lOQ1JFRihzb2NrKTsKLQotICAgIC8qIEp1c3QgaW4gY2FzZSB0aGUgYmxvY2tpbmcgc3RhdGUgb2YgdGhlIHNvY2tldCBoYXMgYmVlbiBjaGFuZ2VkICovCi0gICAgbm9uYmxvY2tpbmcgPSAoc29jay0+c29ja190aW1lb3V0ID49IDAuMCk7Ci0gICAgQklPX3NldF9uYmlvKFNTTF9nZXRfcmJpbyhzZWxmLT5zc2wpLCBub25ibG9ja2luZyk7Ci0gICAgQklPX3NldF9uYmlvKFNTTF9nZXRfd2JpbyhzZWxmLT5zc2wpLCBub25ibG9ja2luZyk7CiAKICAgICB3aGlsZSAoMSkgewogICAgICAgICBQeVNTTF9CRUdJTl9BTExPV19USFJFQURTCkBAIC0xODUxLDE1ICsxOTc2LDE3IEBACiAgICAgfQogCiAgICAgaWYgKGVyciA8IDApIHsKLSAgICAgICAgUHlfREVDUkVGKHNvY2spOworICAgICAgICBQeV9YREVDUkVGKHNvY2spOwogICAgICAgICByZXR1cm4gUHlTU0xfU2V0RXJyb3Ioc2VsZiwgZXJyLCBfX0ZJTEVfXywgX19MSU5FX18pOwogICAgIH0KLSAgICBlbHNlCisgICAgaWYgKHNvY2spCiAgICAgICAgIC8qIEl0J3MgYWxyZWFkeSBJTkNSRUYnZWQgKi8KICAgICAgICAgcmV0dXJuIChQeU9iamVjdCAqKSBzb2NrOworICAgIGVsc2UKKyAgICAgICAgUHlfUkVUVVJOX05PTkU7CiAKIGVycm9yOgotICAgIFB5X0RFQ1JFRihzb2NrKTsKKyAgICBQeV9YREVDUkVGKHNvY2spOwogICAgIHJldHVybiBOVUxMOwogfQogCkBAIC0xODY5LDcgKzE5OTYsNiBAQAogRG9lcyB0aGUgU1NMIHNodXRkb3duIGhhbmRzaGFrZSB3aXRoIHRoZSByZW1vdGUgZW5kLCBhbmQgcmV0dXJuc1xuXAogdGhlIHVuZGVybHlpbmcgc29ja2V0IG9iamVjdC4iKTsKIAotI2lmIEhBVkVfT1BFTlNTTF9GSU5JU0hFRAogc3RhdGljIFB5T2JqZWN0ICoKIFB5U1NMX3Rsc191bmlxdWVfY2IoUHlTU0xTb2NrZXQgKnNlbGYpCiB7CkBAIC0xOTAyLDExICsyMDI4LDE1IEBACiBcblwKIElmIHRoZSBUTFMgaGFuZHNoYWtlIGlzIG5vdCB5ZXQgY29tcGxldGUsIE5vbmUgaXMgcmV0dXJuZWQiKTsKIAotI2VuZGlmIC8qIEhBVkVfT1BFTlNTTF9GSU5JU0hFRCAqLwotCiBzdGF0aWMgUHlHZXRTZXREZWYgc3NsX2dldHNldGxpc3RbXSA9IHsKICAgICB7ImNvbnRleHQiLCAoZ2V0dGVyKSBQeVNTTF9nZXRfY29udGV4dCwKICAgICAgICAgICAgICAgICAoc2V0dGVyKSBQeVNTTF9zZXRfY29udGV4dCwgUHlTU0xfc2V0X2NvbnRleHRfZG9jfSwKKyAgICB7InNlcnZlcl9zaWRlIiwgKGdldHRlcikgUHlTU0xfZ2V0X3NlcnZlcl9zaWRlLCBOVUxMLAorICAgICAgICAgICAgICAgICAgICBQeVNTTF9nZXRfc2VydmVyX3NpZGVfZG9jfSwKKyAgICB7InNlcnZlcl9ob3N0bmFtZSIsIChnZXR0ZXIpIFB5U1NMX2dldF9zZXJ2ZXJfaG9zdG5hbWUsIE5VTEwsCisgICAgICAgICAgICAgICAgICAgICAgICBQeVNTTF9nZXRfc2VydmVyX2hvc3RuYW1lX2RvY30sCisgICAgeyJvd25lciIsIChnZXR0ZXIpIFB5U1NMX2dldF9vd25lciwgKHNldHRlcikgUHlTU0xfc2V0X293bmVyLAorICAgICAgICAgICAgICBQeVNTTF9nZXRfb3duZXJfZG9jfSwKICAgICB7TlVMTH0sICAgICAgICAgICAgLyogc2VudGluZWwgKi8KIH07CiAKQEAgLTE5MjEsMTYgKzIwNTEsMTkgQEAKICAgICB7InBlZXJfY2VydGlmaWNhdGUiLCAoUHlDRnVuY3Rpb24pUHlTU0xfcGVlcmNlcnQsIE1FVEhfVkFSQVJHUywKICAgICAgUHlTU0xfcGVlcmNlcnRfZG9jfSwKICAgICB7ImNpcGhlciIsIChQeUNGdW5jdGlvbilQeVNTTF9jaXBoZXIsIE1FVEhfTk9BUkdTfSwKKyAgICB7InNoYXJlZF9jaXBoZXJzIiwgKFB5Q0Z1bmN0aW9uKVB5U1NMX3NoYXJlZF9jaXBoZXJzLCBNRVRIX05PQVJHU30sCisgICAgeyJ2ZXJzaW9uIiwgKFB5Q0Z1bmN0aW9uKVB5U1NMX3ZlcnNpb24sIE1FVEhfTk9BUkdTfSwKICNpZmRlZiBPUEVOU1NMX05QTl9ORUdPVElBVEVECiAgICAgeyJzZWxlY3RlZF9ucG5fcHJvdG9jb2wiLCAoUHlDRnVuY3Rpb24pUHlTU0xfc2VsZWN0ZWRfbnBuX3Byb3RvY29sLCBNRVRIX05PQVJHU30sCiAjZW5kaWYKKyNpZmRlZiBIQVZFX0FMUE4KKyAgICB7InNlbGVjdGVkX2FscG5fcHJvdG9jb2wiLCAoUHlDRnVuY3Rpb24pUHlTU0xfc2VsZWN0ZWRfYWxwbl9wcm90b2NvbCwgTUVUSF9OT0FSR1N9LAorI2VuZGlmCiAgICAgeyJjb21wcmVzc2lvbiIsIChQeUNGdW5jdGlvbilQeVNTTF9jb21wcmVzc2lvbiwgTUVUSF9OT0FSR1N9LAogICAgIHsic2h1dGRvd24iLCAoUHlDRnVuY3Rpb24pUHlTU0xfU1NMc2h1dGRvd24sIE1FVEhfTk9BUkdTLAogICAgICBQeVNTTF9TU0xzaHV0ZG93bl9kb2N9LAotI2lmIEhBVkVfT1BFTlNTTF9GSU5JU0hFRAogICAgIHsidGxzX3VuaXF1ZV9jYiIsIChQeUNGdW5jdGlvbilQeVNTTF90bHNfdW5pcXVlX2NiLCBNRVRIX05PQVJHUywKICAgICAgUHlTU0xfdGxzX3VuaXF1ZV9jYl9kb2N9LAotI2VuZGlmCiAgICAge05VTEwsIE5VTEx9CiB9OwogCkBAIC0yMDMxLDYgKzIxNjQsOSBAQAogI2lmZGVmIE9QRU5TU0xfTlBOX05FR09USUFURUQKICAgICBzZWxmLT5ucG5fcHJvdG9jb2xzID0gTlVMTDsKICNlbmRpZgorI2lmZGVmIEhBVkVfQUxQTgorICAgIHNlbGYtPmFscG5fcHJvdG9jb2xzID0gTlVMTDsKKyNlbmRpZgogI2lmbmRlZiBPUEVOU1NMX05PX1RMU0VYVAogICAgIHNlbGYtPnNldF9ob3N0bmFtZSA9IE5VTEw7CiAjZW5kaWYKQEAgLTIwOTksNyArMjIzNSwxMCBAQAogICAgIGNvbnRleHRfY2xlYXIoc2VsZik7CiAgICAgU1NMX0NUWF9mcmVlKHNlbGYtPmN0eCk7CiAjaWZkZWYgT1BFTlNTTF9OUE5fTkVHT1RJQVRFRAotICAgIFB5TWVtX0ZyZWUoc2VsZi0+bnBuX3Byb3RvY29scyk7CisgICAgUHlNZW1fRlJFRShzZWxmLT5ucG5fcHJvdG9jb2xzKTsKKyNlbmRpZgorI2lmZGVmIEhBVkVfQUxQTgorICAgIFB5TWVtX0ZSRUUoc2VsZi0+YWxwbl9wcm90b2NvbHMpOwogI2VuZGlmCiAgICAgUHlfVFlQRShzZWxmKS0+dHBfZnJlZShzZWxmKTsKIH0KQEAgLTIxMjYsNiArMjI2NSwzMCBAQAogfQogCiAjaWZkZWYgT1BFTlNTTF9OUE5fTkVHT1RJQVRFRAorc3RhdGljIGludAorZG9fcHJvdG9jb2xfc2VsZWN0aW9uKGludCBhbHBuLCB1bnNpZ25lZCBjaGFyICoqb3V0LCB1bnNpZ25lZCBjaGFyICpvdXRsZW4sCisgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdW5zaWduZWQgY2hhciAqc2VydmVyX3Byb3RvY29scywgdW5zaWduZWQgaW50IHNlcnZlcl9wcm90b2NvbHNfbGVuLAorICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmNsaWVudF9wcm90b2NvbHMsIHVuc2lnbmVkIGludCBjbGllbnRfcHJvdG9jb2xzX2xlbikKK3sKKyAgICBpbnQgcmV0OworICAgIGlmIChjbGllbnRfcHJvdG9jb2xzID09IE5VTEwpIHsKKyAgICAgICAgY2xpZW50X3Byb3RvY29scyA9ICh1bnNpZ25lZCBjaGFyICopIiI7CisgICAgICAgIGNsaWVudF9wcm90b2NvbHNfbGVuID0gMDsKKyAgICB9CisgICAgaWYgKHNlcnZlcl9wcm90b2NvbHMgPT0gTlVMTCkgeworICAgICAgICBzZXJ2ZXJfcHJvdG9jb2xzID0gKHVuc2lnbmVkIGNoYXIgKikiIjsKKyAgICAgICAgc2VydmVyX3Byb3RvY29sc19sZW4gPSAwOworICAgIH0KKworICAgIHJldCA9IFNTTF9zZWxlY3RfbmV4dF9wcm90byhvdXQsIG91dGxlbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VydmVyX3Byb3RvY29scywgc2VydmVyX3Byb3RvY29sc19sZW4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsaWVudF9wcm90b2NvbHMsIGNsaWVudF9wcm90b2NvbHNfbGVuKTsKKyAgICBpZiAoYWxwbiAmJiByZXQgIT0gT1BFTlNTTF9OUE5fTkVHT1RJQVRFRCkKKyAgICAgICAgcmV0dXJuIFNTTF9UTFNFWFRfRVJSX05PQUNLOworCisgICAgcmV0dXJuIFNTTF9UTFNFWFRfRVJSX09LOworfQorCiAvKiB0aGlzIGNhbGxiYWNrIGdldHMgcGFzc2VkIHRvIFNTTF9DVFhfc2V0X25leHRfcHJvdG9zX2FkdmVydGlzZV9jYiAqLwogc3RhdGljIGludAogX2FkdmVydGlzZU5QTl9jYihTU0wgKnMsCkBAIC0yMTM1LDEwICsyMjk4LDEwIEBACiAgICAgUHlTU0xDb250ZXh0ICpzc2xfY3R4ID0gKFB5U1NMQ29udGV4dCAqKSBhcmdzOwogCiAgICAgaWYgKHNzbF9jdHgtPm5wbl9wcm90b2NvbHMgPT0gTlVMTCkgewotICAgICAgICAqZGF0YSA9ICh1bnNpZ25lZCBjaGFyICopICIiOworICAgICAgICAqZGF0YSA9ICh1bnNpZ25lZCBjaGFyICopIiI7CiAgICAgICAgICpsZW4gPSAwOwogICAgIH0gZWxzZSB7Ci0gICAgICAgICpkYXRhID0gKHVuc2lnbmVkIGNoYXIgKikgc3NsX2N0eC0+bnBuX3Byb3RvY29sczsKKyAgICAgICAgKmRhdGEgPSBzc2xfY3R4LT5ucG5fcHJvdG9jb2xzOwogICAgICAgICAqbGVuID0gc3NsX2N0eC0+bnBuX3Byb3RvY29sc19sZW47CiAgICAgfQogCkBAIC0yMTUxLDIzICsyMzE0LDkgQEAKICAgICAgICAgICAgICAgY29uc3QgdW5zaWduZWQgY2hhciAqc2VydmVyLCB1bnNpZ25lZCBpbnQgc2VydmVyX2xlbiwKICAgICAgICAgICAgICAgdm9pZCAqYXJncykKIHsKLSAgICBQeVNTTENvbnRleHQgKnNzbF9jdHggPSAoUHlTU0xDb250ZXh0ICopIGFyZ3M7Ci0KLSAgICB1bnNpZ25lZCBjaGFyICpjbGllbnQgPSAodW5zaWduZWQgY2hhciAqKSBzc2xfY3R4LT5ucG5fcHJvdG9jb2xzOwotICAgIGludCBjbGllbnRfbGVuOwotCi0gICAgaWYgKGNsaWVudCA9PSBOVUxMKSB7Ci0gICAgICAgIGNsaWVudCA9ICh1bnNpZ25lZCBjaGFyICopICIiOwotICAgICAgICBjbGllbnRfbGVuID0gMDsKLSAgICB9IGVsc2UgewotICAgICAgICBjbGllbnRfbGVuID0gc3NsX2N0eC0+bnBuX3Byb3RvY29sc19sZW47Ci0gICAgfQotCi0gICAgU1NMX3NlbGVjdF9uZXh0X3Byb3RvKG91dCwgb3V0bGVuLAotICAgICAgICAgICAgICAgICAgICAgICAgICBzZXJ2ZXIsIHNlcnZlcl9sZW4sCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGNsaWVudCwgY2xpZW50X2xlbik7Ci0KLSAgICByZXR1cm4gU1NMX1RMU0VYVF9FUlJfT0s7CisgICAgUHlTU0xDb250ZXh0ICpjdHggPSAoUHlTU0xDb250ZXh0ICopYXJnczsKKyAgICByZXR1cm4gZG9fcHJvdG9jb2xfc2VsZWN0aW9uKDAsIG91dCwgb3V0bGVuLCBzZXJ2ZXIsIHNlcnZlcl9sZW4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdHgtPm5wbl9wcm90b2NvbHMsIGN0eC0+bnBuX3Byb3RvY29sc19sZW4pOwogfQogI2VuZGlmCiAKQEAgLTIyMTAsNiArMjM1OSw1MCBAQAogI2VuZGlmCiB9CiAKKyNpZmRlZiBIQVZFX0FMUE4KK3N0YXRpYyBpbnQKK19zZWxlY3RBTFBOX2NiKFNTTCAqcywKKyAgICAgICAgICAgICAgY29uc3QgdW5zaWduZWQgY2hhciAqKm91dCwgdW5zaWduZWQgY2hhciAqb3V0bGVuLAorICAgICAgICAgICAgICBjb25zdCB1bnNpZ25lZCBjaGFyICpjbGllbnRfcHJvdG9jb2xzLCB1bnNpZ25lZCBpbnQgY2xpZW50X3Byb3RvY29sc19sZW4sCisgICAgICAgICAgICAgIHZvaWQgKmFyZ3MpCit7CisgICAgUHlTU0xDb250ZXh0ICpjdHggPSAoUHlTU0xDb250ZXh0ICopYXJnczsKKyAgICByZXR1cm4gZG9fcHJvdG9jb2xfc2VsZWN0aW9uKDEsICh1bnNpZ25lZCBjaGFyICoqKW91dCwgb3V0bGVuLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3R4LT5hbHBuX3Byb3RvY29scywgY3R4LT5hbHBuX3Byb3RvY29sc19sZW4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGllbnRfcHJvdG9jb2xzLCBjbGllbnRfcHJvdG9jb2xzX2xlbik7Cit9CisjZW5kaWYKKworc3RhdGljIFB5T2JqZWN0ICoKK19zZXRfYWxwbl9wcm90b2NvbHMoUHlTU0xDb250ZXh0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK3sKKyNpZmRlZiBIQVZFX0FMUE4KKyAgICBQeV9idWZmZXIgcHJvdG9zOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJ5KjpzZXRfbnBuX3Byb3RvY29scyIsICZwcm90b3MpKQorICAgICAgICByZXR1cm4gTlVMTDsKKworICAgIFB5TWVtX0ZSRUUoc2VsZi0+YWxwbl9wcm90b2NvbHMpOworICAgIHNlbGYtPmFscG5fcHJvdG9jb2xzID0gUHlNZW1fTWFsbG9jKHByb3Rvcy5sZW4pOworICAgIGlmICghc2VsZi0+YWxwbl9wcm90b2NvbHMpCisgICAgICAgIHJldHVybiBQeUVycl9Ob01lbW9yeSgpOworICAgIG1lbWNweShzZWxmLT5hbHBuX3Byb3RvY29scywgcHJvdG9zLmJ1ZiwgcHJvdG9zLmxlbik7CisgICAgc2VsZi0+YWxwbl9wcm90b2NvbHNfbGVuID0gcHJvdG9zLmxlbjsKKyAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZwcm90b3MpOworCisgICAgaWYgKFNTTF9DVFhfc2V0X2FscG5fcHJvdG9zKHNlbGYtPmN0eCwgc2VsZi0+YWxwbl9wcm90b2NvbHMsIHNlbGYtPmFscG5fcHJvdG9jb2xzX2xlbikpCisgICAgICAgIHJldHVybiBQeUVycl9Ob01lbW9yeSgpOworICAgIFNTTF9DVFhfc2V0X2FscG5fc2VsZWN0X2NiKHNlbGYtPmN0eCwgX3NlbGVjdEFMUE5fY2IsIHNlbGYpOworCisgICAgUHlCdWZmZXJfUmVsZWFzZSgmcHJvdG9zKTsKKyAgICBQeV9SRVRVUk5fTk9ORTsKKyNlbHNlCisgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX05vdEltcGxlbWVudGVkRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICJUaGUgQUxQTiBleHRlbnNpb24gcmVxdWlyZXMgT3BlblNTTCAxLjAuMiBvciBsYXRlci4iKTsKKyAgICByZXR1cm4gTlVMTDsKKyNlbmRpZgorfQorCiBzdGF0aWMgUHlPYmplY3QgKgogZ2V0X3ZlcmlmeV9tb2RlKFB5U1NMQ29udGV4dCAqc2VsZiwgdm9pZCAqYykKIHsKQEAgLTIyNTMsNyArMjQ0Niw2IEBACiAgICAgcmV0dXJuIDA7CiB9CiAKLSNpZmRlZiBIQVZFX09QRU5TU0xfVkVSSUZZX1BBUkFNCiBzdGF0aWMgUHlPYmplY3QgKgogZ2V0X3ZlcmlmeV9mbGFncyhQeVNTTENvbnRleHQgKnNlbGYsIHZvaWQgKmMpCiB7CkBAIC0yMjkxLDcgKzI0ODMsNiBAQAogICAgIH0KICAgICByZXR1cm4gMDsKIH0KLSNlbmRpZgogCiBzdGF0aWMgUHlPYmplY3QgKgogZ2V0X29wdGlvbnMoUHlTU0xDb250ZXh0ICpzZWxmLCB2b2lkICpjKQpAQCAtMjc5OSwxNCArMjk5MCw0MyBAQAogICAgICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQogCi0gICAgcmVzID0gKFB5T2JqZWN0ICopIG5ld1B5U1NMU29ja2V0KHNlbGYsIHNvY2ssIHNlcnZlcl9zaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBob3N0bmFtZSk7CisgICAgcmVzID0gKFB5T2JqZWN0ICopIG5ld1B5U1NMU29ja2V0KHNlbGYsIHNvY2ssIHNlcnZlcl9zaWRlLCBob3N0bmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwgTlVMTCk7CiAgICAgaWYgKGhvc3RuYW1lICE9IE5VTEwpCiAgICAgICAgIFB5TWVtX0ZyZWUoaG9zdG5hbWUpOwogICAgIHJldHVybiByZXM7CiB9CiAKIHN0YXRpYyBQeU9iamVjdCAqCitjb250ZXh0X3dyYXBfYmlvKFB5U1NMQ29udGV4dCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2RzKQoreworICAgIGNoYXIgKmt3bGlzdFtdID0geyJpbmNvbWluZyIsICJvdXRnb2luZyIsICJzZXJ2ZXJfc2lkZSIsCisgICAgICAgICAgICAgICAgICAgICAgInNlcnZlcl9ob3N0bmFtZSIsIE5VTEx9OworICAgIGludCBzZXJ2ZXJfc2lkZTsKKyAgICBjaGFyICpob3N0bmFtZSA9IE5VTEw7CisgICAgUHlPYmplY3QgKmhvc3RuYW1lX29iaiA9IFB5X05vbmUsICpyZXM7CisgICAgUHlTU0xNZW1vcnlCSU8gKmluY29taW5nLCAqb3V0Z29pbmc7CisKKyAgICAvKiBzZXJ2ZXJfaG9zdG5hbWUgaXMgZWl0aGVyIE5vbmUgKG9yIGFic2VudCksIG9yIHRvIGJlIGVuY29kZWQKKyAgICAgICB1c2luZyB0aGUgaWRuYSBlbmNvZGluZy4gKi8KKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2RzLCAiTyFPIWl8Tzpfd3JhcF9iaW8iLCBrd2xpc3QsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJlB5U1NMTWVtb3J5QklPX1R5cGUsICZpbmNvbWluZywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmUHlTU0xNZW1vcnlCSU9fVHlwZSwgJm91dGdvaW5nLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZzZXJ2ZXJfc2lkZSwgJmhvc3RuYW1lX29iaikpCisgICAgICAgIHJldHVybiBOVUxMOworICAgIGlmIChob3N0bmFtZV9vYmogIT0gUHlfTm9uZSkgeworICAgICAgICBpZiAoIVB5QXJnX1BhcnNlKGhvc3RuYW1lX29iaiwgImV0IiwgImlkbmEiLCAmaG9zdG5hbWUpKQorICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorCisgICAgcmVzID0gKFB5T2JqZWN0ICopIG5ld1B5U1NMU29ja2V0KHNlbGYsIE5VTEwsIHNlcnZlcl9zaWRlLCBob3N0bmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5jb21pbmcsIG91dGdvaW5nKTsKKworICAgIFB5TWVtX0ZyZWUoaG9zdG5hbWUpOworICAgIHJldHVybiByZXM7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCiBzZXNzaW9uX3N0YXRzKFB5U1NMQ29udGV4dCAqc2VsZiwgUHlPYmplY3QgKnVudXNlZCkKIHsKICAgICBpbnQgcjsKQEAgLTI5MTIsMTEgKzMxMzIsMjUgQEAKIAogICAgIHNzbCA9IFNTTF9nZXRfYXBwX2RhdGEocyk7CiAgICAgYXNzZXJ0KFB5U1NMU29ja2V0X0NoZWNrKHNzbCkpOwotICAgIHNzbF9zb2NrZXQgPSBQeVdlYWtyZWZfR2V0T2JqZWN0KHNzbC0+U29ja2V0KTsKKworICAgIC8qIFRoZSBzZXJ2ZXJuYW1lIGNhbGxiYWNrIGV4cGVjdHMgYSBhcmd1bWVudCB0aGF0IHJlcHJlc2VudHMgdGhlIGN1cnJlbnQKKyAgICAgKiBTU0wgY29ubmVjdGlvbiBhbmQgdGhhdCBoYXMgYSAuY29udGV4dCBhdHRyaWJ1dGUgdGhhdCBjYW4gYmUgY2hhbmdlZCB0bworICAgICAqIGlkZW50aWZ5IHRoZSByZXF1ZXN0ZWQgaG9zdG5hbWUuIFNpbmNlIHRoZSBvZmZpY2lhbCBBUEkgaXMgdGhlIFB5dGhvbgorICAgICAqIGxldmVsIEFQSSB3ZSB3YW50IHRvIHBhc3MgdGhlIGNhbGxiYWNrIGEgUHl0aG9uIGxldmVsIG9iamVjdCByYXRoZXIgdGhhbgorICAgICAqIGEgX3NzbC5TU0xTb2NrZXQgaW5zdGFuY2UuIElmIHRoZXJlJ3MgYW4gIm93bmVyIiAodHlwaWNhbGx5IGFuCisgICAgICogU1NMT2JqZWN0KSB0aGF0IHdpbGwgYmUgcGFzc2VkLiBPdGhlcndpc2UgaWYgdGhlcmUncyBhIHNvY2tldCB0aGVuIHRoYXQKKyAgICAgKiB3aWxsIGJlIHBhc3NlZC4gSWYgYm90aCBkbyBub3QgZXhpc3Qgb25seSB0aGVuIHRoZSBDLWxldmVsIG9iamVjdCBpcworICAgICAqIHBhc3NlZC4gKi8KKyAgICBpZiAoc3NsLT5vd25lcikKKyAgICAgICAgc3NsX3NvY2tldCA9IFB5V2Vha3JlZl9HZXRPYmplY3Qoc3NsLT5vd25lcik7CisgICAgZWxzZSBpZiAoc3NsLT5Tb2NrZXQpCisgICAgICAgIHNzbF9zb2NrZXQgPSBQeVdlYWtyZWZfR2V0T2JqZWN0KHNzbC0+U29ja2V0KTsKKyAgICBlbHNlCisgICAgICAgIHNzbF9zb2NrZXQgPSAoUHlPYmplY3QgKikgc3NsOworCiAgICAgUHlfSU5DUkVGKHNzbF9zb2NrZXQpOwotICAgIGlmIChzc2xfc29ja2V0ID09IFB5X05vbmUpIHsKKyAgICBpZiAoc3NsX3NvY2tldCA9PSBQeV9Ob25lKQogICAgICAgICBnb3RvIGVycm9yOwotICAgIH0KIAogICAgIGlmIChzZXJ2ZXJuYW1lID09IE5VTEwpIHsKICAgICAgICAgcmVzdWx0ID0gUHlPYmplY3RfQ2FsbEZ1bmN0aW9uT2JqQXJncyhzc2xfY3R4LT5zZXRfaG9zdG5hbWUsIHNzbF9zb2NrZXQsCkBAIC0zMTMzLDEwICszMzY3LDggQEAKICAgICAgICAgICAgICAgICAgICAgICAgKHNldHRlcikgc2V0X2NoZWNrX2hvc3RuYW1lLCBOVUxMfSwKICAgICB7Im9wdGlvbnMiLCAoZ2V0dGVyKSBnZXRfb3B0aW9ucywKICAgICAgICAgICAgICAgICAoc2V0dGVyKSBzZXRfb3B0aW9ucywgTlVMTH0sCi0jaWZkZWYgSEFWRV9PUEVOU1NMX1ZFUklGWV9QQVJBTQogICAgIHsidmVyaWZ5X2ZsYWdzIiwgKGdldHRlcikgZ2V0X3ZlcmlmeV9mbGFncywKICAgICAgICAgICAgICAgICAgICAgIChzZXR0ZXIpIHNldF92ZXJpZnlfZmxhZ3MsIE5VTEx9LAotI2VuZGlmCiAgICAgeyJ2ZXJpZnlfbW9kZSIsIChnZXR0ZXIpIGdldF92ZXJpZnlfbW9kZSwKICAgICAgICAgICAgICAgICAgICAgKHNldHRlcikgc2V0X3ZlcmlmeV9tb2RlLCBOVUxMfSwKICAgICB7TlVMTH0sICAgICAgICAgICAgLyogc2VudGluZWwgKi8KQEAgLTMxNDUsOCArMzM3NywxMiBAQAogc3RhdGljIHN0cnVjdCBQeU1ldGhvZERlZiBjb250ZXh0X21ldGhvZHNbXSA9IHsKICAgICB7Il93cmFwX3NvY2tldCIsIChQeUNGdW5jdGlvbikgY29udGV4dF93cmFwX3NvY2tldCwKICAgICAgICAgICAgICAgICAgICAgICAgTUVUSF9WQVJBUkdTIHwgTUVUSF9LRVlXT1JEUywgTlVMTH0sCisgICAgeyJfd3JhcF9iaW8iLCAoUHlDRnVuY3Rpb24pIGNvbnRleHRfd3JhcF9iaW8sCisgICAgICAgICAgICAgICAgICBNRVRIX1ZBUkFSR1MgfCBNRVRIX0tFWVdPUkRTLCBOVUxMfSwKICAgICB7InNldF9jaXBoZXJzIiwgKFB5Q0Z1bmN0aW9uKSBzZXRfY2lwaGVycywKICAgICAgICAgICAgICAgICAgICAgTUVUSF9WQVJBUkdTLCBOVUxMfSwKKyAgICB7Il9zZXRfYWxwbl9wcm90b2NvbHMiLCAoUHlDRnVuY3Rpb24pIF9zZXRfYWxwbl9wcm90b2NvbHMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBNRVRIX1ZBUkFSR1MsIE5VTEx9LAogICAgIHsiX3NldF9ucG5fcHJvdG9jb2xzIiwgKFB5Q0Z1bmN0aW9uKSBfc2V0X25wbl9wcm90b2NvbHMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBNRVRIX1ZBUkFSR1MsIE5VTEx9LAogICAgIHsibG9hZF9jZXJ0X2NoYWluIiwgKFB5Q0Z1bmN0aW9uKSBsb2FkX2NlcnRfY2hhaW4sCkBAIC0zMjE0LDggKzM0NTAsMjI1IEBACiB9OwogCiAKKy8qCisgKiBNZW1vcnlCSU8gb2JqZWN0cworICovCiAKLSNpZmRlZiBIQVZFX09QRU5TU0xfUkFORAorc3RhdGljIFB5T2JqZWN0ICoKK21lbW9yeV9iaW9fbmV3KFB5VHlwZU9iamVjdCAqdHlwZSwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2RzKQoreworICAgIGNoYXIgKmt3bGlzdFtdID0ge05VTEx9OworICAgIEJJTyAqYmlvOworICAgIFB5U1NMTWVtb3J5QklPICpzZWxmOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dkcywgIjpNZW1vcnlCSU8iLCBrd2xpc3QpKQorICAgICAgICByZXR1cm4gTlVMTDsKKworICAgIGJpbyA9IEJJT19uZXcoQklPX3NfbWVtKCkpOworICAgIGlmIChiaW8gPT0gTlVMTCkgeworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlTU0xFcnJvck9iamVjdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICJmYWlsZWQgdG8gYWxsb2NhdGUgQklPIik7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKyAgICAvKiBTaW5jZSBvdXIgQklPIGlzIG5vbi1ibG9ja2luZyBhbiBlbXB0eSByZWFkKCkgZG9lcyBub3QgaW5kaWNhdGUgRU9GLAorICAgICAqIGp1c3QgdGhhdCBubyBkYXRhIGlzIGN1cnJlbnRseSBhdmFpbGFibGUuIFRoZSBTU0wgcm91dGluZXMgc2hvdWxkIHJldHJ5CisgICAgICogdGhlIHJlYWQsIHdoaWNoIHdlIGNhbiBhY2hpZXZlIGJ5IGNhbGxpbmcgQklPX3NldF9yZXRyeV9yZWFkKCkuICovCisgICAgQklPX3NldF9yZXRyeV9yZWFkKGJpbyk7CisgICAgQklPX3NldF9tZW1fZW9mX3JldHVybihiaW8sIC0xKTsKKworICAgIGFzc2VydCh0eXBlICE9IE5VTEwgJiYgdHlwZS0+dHBfYWxsb2MgIT0gTlVMTCk7CisgICAgc2VsZiA9IChQeVNTTE1lbW9yeUJJTyAqKSB0eXBlLT50cF9hbGxvYyh0eXBlLCAwKTsKKyAgICBpZiAoc2VsZiA9PSBOVUxMKSB7CisgICAgICAgIEJJT19mcmVlKGJpbyk7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKyAgICBzZWxmLT5iaW8gPSBiaW87CisgICAgc2VsZi0+ZW9mX3dyaXR0ZW4gPSAwOworCisgICAgcmV0dXJuIChQeU9iamVjdCAqKSBzZWxmOworfQorCitzdGF0aWMgdm9pZAorbWVtb3J5X2Jpb19kZWFsbG9jKFB5U1NMTWVtb3J5QklPICpzZWxmKQoreworICAgIEJJT19mcmVlKHNlbGYtPmJpbyk7CisgICAgUHlfVFlQRShzZWxmKS0+dHBfZnJlZShzZWxmKTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK21lbW9yeV9iaW9fZ2V0X3BlbmRpbmcoUHlTU0xNZW1vcnlCSU8gKnNlbGYsIHZvaWQgKmMpCit7CisgICAgcmV0dXJuIFB5TG9uZ19Gcm9tTG9uZyhCSU9fY3RybF9wZW5kaW5nKHNlbGYtPmJpbykpOworfQorCitQeURvY19TVFJWQVIoUHlTU0xfbWVtb3J5X2Jpb19wZW5kaW5nX2RvYywKKyJUaGUgbnVtYmVyIG9mIGJ5dGVzIHBlbmRpbmcgaW4gdGhlIG1lbW9yeSBCSU8uIik7CisKK3N0YXRpYyBQeU9iamVjdCAqCittZW1vcnlfYmlvX2dldF9lb2YoUHlTU0xNZW1vcnlCSU8gKnNlbGYsIHZvaWQgKmMpCit7CisgICAgcmV0dXJuIFB5Qm9vbF9Gcm9tTG9uZygoQklPX2N0cmxfcGVuZGluZyhzZWxmLT5iaW8pID09IDApCisgICAgICAgICAgICAgICAgICAgICAgICAgICAmJiBzZWxmLT5lb2Zfd3JpdHRlbik7Cit9CisKK1B5RG9jX1NUUlZBUihQeVNTTF9tZW1vcnlfYmlvX2VvZl9kb2MsCisiV2hldGhlciB0aGUgbWVtb3J5IEJJTyBpcyBhdCBFT0YuIik7CisKK3N0YXRpYyBQeU9iamVjdCAqCittZW1vcnlfYmlvX3JlYWQoUHlTU0xNZW1vcnlCSU8gKnNlbGYsIFB5T2JqZWN0ICphcmdzKQoreworICAgIGludCBsZW4gPSAtMSwgYXZhaWwsIG5ieXRlczsKKyAgICBQeU9iamVjdCAqcmVzdWx0OworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJ8aTpyZWFkIiwgJmxlbikpCisgICAgICAgIHJldHVybiBOVUxMOworCisgICAgYXZhaWwgPSBCSU9fY3RybF9wZW5kaW5nKHNlbGYtPmJpbyk7CisgICAgaWYgKChsZW4gPCAwKSB8fCAobGVuID4gYXZhaWwpKQorICAgICAgICBsZW4gPSBhdmFpbDsKKworICAgIHJlc3VsdCA9IFB5Qnl0ZXNfRnJvbVN0cmluZ0FuZFNpemUoTlVMTCwgbGVuKTsKKyAgICBpZiAoKHJlc3VsdCA9PSBOVUxMKSB8fCAobGVuID09IDApKQorICAgICAgICByZXR1cm4gcmVzdWx0OworCisgICAgbmJ5dGVzID0gQklPX3JlYWQoc2VsZi0+YmlvLCBQeUJ5dGVzX0FTX1NUUklORyhyZXN1bHQpLCBsZW4pOworICAgIC8qIFRoZXJlIHNob3VsZCBuZXZlciBiZSBhbnkgc2hvcnQgcmVhZHMgYnV0IGNoZWNrIGFueXdheS4gKi8KKyAgICBpZiAoKG5ieXRlcyA8IGxlbikgJiYgKF9QeUJ5dGVzX1Jlc2l6ZSgmcmVzdWx0LCBsZW4pIDwgMCkpIHsKKyAgICAgICAgUHlfREVDUkVGKHJlc3VsdCk7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKworICAgIHJldHVybiByZXN1bHQ7Cit9CisKK1B5RG9jX1NUUlZBUihQeVNTTF9tZW1vcnlfYmlvX3JlYWRfZG9jLAorInJlYWQoW2xlbl0pIC0+IGJ5dGVzXG5cCitcblwKK1JlYWQgdXAgdG8gbGVuIGJ5dGVzIGZyb20gdGhlIG1lbW9yeSBCSU8uXG5cCitcblwKK0lmIGxlbiBpcyBub3Qgc3BlY2lmaWVkLCByZWFkIHRoZSBlbnRpcmUgYnVmZmVyLlxuXAorSWYgdGhlIHJldHVybiB2YWx1ZSBpcyBhbiBlbXB0eSBieXRlcyBpbnN0YW5jZSwgdGhpcyBtZWFucyBlaXRoZXJcblwKK0VPRiBvciB0aGF0IG5vIGRhdGEgaXMgYXZhaWxhYmxlLiBVc2UgdGhlIFwiZW9mXCIgcHJvcGVydHkgdG9cblwKK2Rpc3Rpbmd1aXNoIGJldHdlZW4gdGhlIHR3by4iKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK21lbW9yeV9iaW9fd3JpdGUoUHlTU0xNZW1vcnlCSU8gKnNlbGYsIFB5T2JqZWN0ICphcmdzKQoreworICAgIFB5X2J1ZmZlciBidWY7CisgICAgaW50IG5ieXRlczsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAieSo6d3JpdGUiLCAmYnVmKSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisKKyAgICBpZiAoYnVmLmxlbiA+IElOVF9NQVgpIHsKKyAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX092ZXJmbG93RXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAic3RyaW5nIGxvbmdlciB0aGFuICVkIGJ5dGVzIiwgSU5UX01BWCk7CisgICAgICAgIGdvdG8gZXJyb3I7CisgICAgfQorCisgICAgaWYgKHNlbGYtPmVvZl93cml0dGVuKSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeVNTTEVycm9yT2JqZWN0LAorICAgICAgICAgICAgICAgICAgICAgICAgImNhbm5vdCB3cml0ZSgpIGFmdGVyIHdyaXRlX2VvZigpIik7CisgICAgICAgIGdvdG8gZXJyb3I7CisgICAgfQorCisgICAgbmJ5dGVzID0gQklPX3dyaXRlKHNlbGYtPmJpbywgYnVmLmJ1ZiwgYnVmLmxlbik7CisgICAgaWYgKG5ieXRlcyA8IDApIHsKKyAgICAgICAgX3NldFNTTEVycm9yKE5VTEwsIDAsIF9fRklMRV9fLCBfX0xJTkVfXyk7CisgICAgICAgIGdvdG8gZXJyb3I7CisgICAgfQorCisgICAgUHlCdWZmZXJfUmVsZWFzZSgmYnVmKTsKKyAgICByZXR1cm4gUHlMb25nX0Zyb21Mb25nKG5ieXRlcyk7CisKK2Vycm9yOgorICAgIFB5QnVmZmVyX1JlbGVhc2UoJmJ1Zik7CisgICAgcmV0dXJuIE5VTEw7Cit9CisKK1B5RG9jX1NUUlZBUihQeVNTTF9tZW1vcnlfYmlvX3dyaXRlX2RvYywKKyJ3cml0ZShiKSAtPiBsZW5cblwKK1xuXAorV3JpdGVzIHRoZSBieXRlcyBiIGludG8gdGhlIG1lbW9yeSBCSU8uIFJldHVybnMgdGhlIG51bWJlclxuXAorb2YgYnl0ZXMgd3JpdHRlbi4iKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK21lbW9yeV9iaW9fd3JpdGVfZW9mKFB5U1NMTWVtb3J5QklPICpzZWxmLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBzZWxmLT5lb2Zfd3JpdHRlbiA9IDE7CisgICAgLyogQWZ0ZXIgYW4gRU9GIGlzIHdyaXR0ZW4sIGEgemVybyByZXR1cm4gZnJvbSByZWFkKCkgc2hvdWxkIGJlIGEgcmVhbCBFT0YKKyAgICAgKiBpLmUuIGl0IHNob3VsZCBub3QgYmUgcmV0cmllZC4gQ2xlYXIgdGhlIFNIT1VMRF9SRVRSWSBmbGFnLiAqLworICAgIEJJT19jbGVhcl9yZXRyeV9mbGFncyhzZWxmLT5iaW8pOworICAgIEJJT19zZXRfbWVtX2VvZl9yZXR1cm4oc2VsZi0+YmlvLCAwKTsKKworICAgIFB5X1JFVFVSTl9OT05FOworfQorCitQeURvY19TVFJWQVIoUHlTU0xfbWVtb3J5X2Jpb193cml0ZV9lb2ZfZG9jLAorIndyaXRlX2VvZigpXG5cCitcblwKK1dyaXRlIGFuIEVPRiBtYXJrZXIgdG8gdGhlIG1lbW9yeSBCSU8uXG5cCitXaGVuIGFsbCBkYXRhIGhhcyBiZWVuIHJlYWQsIHRoZSBcImVvZlwiIHByb3BlcnR5IHdpbGwgYmUgVHJ1ZS4iKTsKKworc3RhdGljIFB5R2V0U2V0RGVmIG1lbW9yeV9iaW9fZ2V0c2V0bGlzdFtdID0geworICAgIHsicGVuZGluZyIsIChnZXR0ZXIpIG1lbW9yeV9iaW9fZ2V0X3BlbmRpbmcsIE5VTEwsCisgICAgICAgICAgICAgICAgUHlTU0xfbWVtb3J5X2Jpb19wZW5kaW5nX2RvY30sCisgICAgeyJlb2YiLCAoZ2V0dGVyKSBtZW1vcnlfYmlvX2dldF9lb2YsIE5VTEwsCisgICAgICAgICAgICBQeVNTTF9tZW1vcnlfYmlvX2VvZl9kb2N9LAorICAgIHtOVUxMfSwgICAgICAgICAgICAvKiBzZW50aW5lbCAqLworfTsKKworc3RhdGljIHN0cnVjdCBQeU1ldGhvZERlZiBtZW1vcnlfYmlvX21ldGhvZHNbXSA9IHsKKyAgICB7InJlYWQiLCAoUHlDRnVuY3Rpb24pIG1lbW9yeV9iaW9fcmVhZCwKKyAgICAgICAgICAgICBNRVRIX1ZBUkFSR1MsIFB5U1NMX21lbW9yeV9iaW9fcmVhZF9kb2N9LAorICAgIHsid3JpdGUiLCAoUHlDRnVuY3Rpb24pIG1lbW9yeV9iaW9fd3JpdGUsCisgICAgICAgICAgICAgIE1FVEhfVkFSQVJHUywgUHlTU0xfbWVtb3J5X2Jpb193cml0ZV9kb2N9LAorICAgIHsid3JpdGVfZW9mIiwgKFB5Q0Z1bmN0aW9uKSBtZW1vcnlfYmlvX3dyaXRlX2VvZiwKKyAgICAgICAgICAgICAgICAgIE1FVEhfTk9BUkdTLCBQeVNTTF9tZW1vcnlfYmlvX3dyaXRlX2VvZl9kb2N9LAorICAgIHtOVUxMLCBOVUxMfSAgICAgICAgLyogc2VudGluZWwgKi8KK307CisKK3N0YXRpYyBQeVR5cGVPYmplY3QgUHlTU0xNZW1vcnlCSU9fVHlwZSA9IHsKKyAgICBQeVZhck9iamVjdF9IRUFEX0lOSVQoTlVMTCwgMCkKKyAgICAiX3NzbC5NZW1vcnlCSU8iLCAgICAgICAgICAgICAgICAgICAgICAgICAvKnRwX25hbWUqLworICAgIHNpemVvZihQeVNTTE1lbW9yeUJJTyksICAgICAgICAgICAgICAgICAgICAvKnRwX2Jhc2ljc2l6ZSovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qdHBfaXRlbXNpemUqLworICAgIChkZXN0cnVjdG9yKW1lbW9yeV9iaW9fZGVhbGxvYywgICAgICAgICAgICAvKnRwX2RlYWxsb2MqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKnRwX3ByaW50Ki8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyp0cF9nZXRhdHRyKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyp0cF9zZXRhdHRyKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyp0cF9yZXNlcnZlZCovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qdHBfcmVwciovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qdHBfYXNfbnVtYmVyKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyp0cF9hc19zZXF1ZW5jZSovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qdHBfYXNfbWFwcGluZyovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qdHBfaGFzaCovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qdHBfY2FsbCovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qdHBfc3RyKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyp0cF9nZXRhdHRybyovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qdHBfc2V0YXR0cm8qLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKnRwX2FzX2J1ZmZlciovCisgICAgUHlfVFBGTEFHU19ERUZBVUxULCAgICAgICAgICAgICAgICAgICAgICAgIC8qdHBfZmxhZ3MqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKnRwX2RvYyovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qdHBfdHJhdmVyc2UqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKnRwX2NsZWFyKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyp0cF9yaWNoY29tcGFyZSovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qdHBfd2Vha2xpc3RvZmZzZXQqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKnRwX2l0ZXIqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKnRwX2l0ZXJuZXh0Ki8KKyAgICBtZW1vcnlfYmlvX21ldGhvZHMsICAgICAgICAgICAgICAgICAgICAgICAgLyp0cF9tZXRob2RzKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyp0cF9tZW1iZXJzKi8KKyAgICBtZW1vcnlfYmlvX2dldHNldGxpc3QsICAgICAgICAgICAgICAgICAgICAgLyp0cF9nZXRzZXQqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKnRwX2Jhc2UqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKnRwX2RpY3QqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKnRwX2Rlc2NyX2dldCovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qdHBfZGVzY3Jfc2V0Ki8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyp0cF9kaWN0b2Zmc2V0Ki8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyp0cF9pbml0Ki8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyp0cF9hbGxvYyovCisgICAgbWVtb3J5X2Jpb19uZXcsICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qdHBfbmV3Ki8KK307CisKIAogLyogaGVscGVyIHJvdXRpbmVzIGZvciBzZWVkaW5nIHRoZSBTU0wgUFJORyAqLwogc3RhdGljIFB5T2JqZWN0ICoKQEAgLTMzNTQsOCArMzgwNyw2IEBACiBmYWlscyBvciBpZiBpdCBkb2VzIG5vdCBwcm92aWRlIGVub3VnaCBkYXRhIHRvIHNlZWQgUFJORy4iKTsKICNlbmRpZiAvKiBIQVZFX1JBTkRfRUdEICovCiAKLSNlbmRpZiAvKiBIQVZFX09QRU5TU0xfUkFORCAqLwotCiAKIFB5RG9jX1NUUlZBUihQeVNTTF9nZXRfZGVmYXVsdF92ZXJpZnlfcGF0aHNfZG9jLAogImdldF9kZWZhdWx0X3ZlcmlmeV9wYXRocygpIC0+IHR1cGxlXG5cCkBAIC0zNzQxLDcgKzQxOTIsNiBAQAogc3RhdGljIFB5TWV0aG9kRGVmIFB5U1NMX21ldGhvZHNbXSA9IHsKICAgICB7Il90ZXN0X2RlY29kZV9jZXJ0IiwgICAgICAgUHlTU0xfdGVzdF9kZWNvZGVfY2VydGlmaWNhdGUsCiAgICAgIE1FVEhfVkFSQVJHU30sCi0jaWZkZWYgSEFWRV9PUEVOU1NMX1JBTkQKICAgICB7IlJBTkRfYWRkIiwgICAgICAgICAgICBQeVNTTF9SQU5EX2FkZCwgTUVUSF9WQVJBUkdTLAogICAgICBQeVNTTF9SQU5EX2FkZF9kb2N9LAogICAgIHsiUkFORF9ieXRlcyIsICAgICAgICAgIFB5U1NMX1JBTkRfYnl0ZXMsIE1FVEhfVkFSQVJHUywKQEAgLTM3NTQsNyArNDIwNCw2IEBACiAjZW5kaWYKICAgICB7IlJBTkRfc3RhdHVzIiwgICAgICAgICAoUHlDRnVuY3Rpb24pUHlTU0xfUkFORF9zdGF0dXMsIE1FVEhfTk9BUkdTLAogICAgICBQeVNTTF9SQU5EX3N0YXR1c19kb2N9LAotI2VuZGlmCiAgICAgeyJnZXRfZGVmYXVsdF92ZXJpZnlfcGF0aHMiLCAoUHlDRnVuY3Rpb24pUHlTU0xfZ2V0X2RlZmF1bHRfdmVyaWZ5X3BhdGhzLAogICAgICBNRVRIX05PQVJHUywgUHlTU0xfZ2V0X2RlZmF1bHRfdmVyaWZ5X3BhdGhzX2RvY30sCiAjaWZkZWYgX01TQ19WRVIKQEAgLTM5MDYsNiArNDM1NSw4IEBACiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIGlmIChQeVR5cGVfUmVhZHkoJlB5U1NMU29ja2V0X1R5cGUpIDwgMCkKICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgaWYgKFB5VHlwZV9SZWFkeSgmUHlTU0xNZW1vcnlCSU9fVHlwZSkgPCAwKQorICAgICAgICByZXR1cm4gTlVMTDsKIAogICAgIG0gPSBQeU1vZHVsZV9DcmVhdGUoJl9zc2xtb2R1bGUpOwogICAgIGlmIChtID09IE5VTEwpCkBAIC0zOTY5LDYgKzQ0MjAsOSBAQAogICAgIGlmIChQeURpY3RfU2V0SXRlbVN0cmluZyhkLCAiX1NTTFNvY2tldCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChQeU9iamVjdCAqKSZQeVNTTFNvY2tldF9UeXBlKSAhPSAwKQogICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBpZiAoUHlEaWN0X1NldEl0ZW1TdHJpbmcoZCwgIk1lbW9yeUJJTyIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChQeU9iamVjdCAqKSZQeVNTTE1lbW9yeUJJT19UeXBlKSAhPSAwKQorICAgICAgICByZXR1cm4gTlVMTDsKICAgICBQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiU1NMX0VSUk9SX1pFUk9fUkVUVVJOIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQWV9TU0xfRVJST1JfWkVST19SRVRVUk4pOwogICAgIFB5TW9kdWxlX0FkZEludENvbnN0YW50KG0sICJTU0xfRVJST1JfV0FOVF9SRUFEIiwKQEAgLTQxMDksMTEgKzQ1NjMsNyBAQAogICAgIFB5X0lOQ1JFRihyKTsKICAgICBQeU1vZHVsZV9BZGRPYmplY3QobSwgIkhBU19TTkkiLCByKTsKIAotI2lmIEhBVkVfT1BFTlNTTF9GSU5JU0hFRAogICAgIHIgPSBQeV9UcnVlOwotI2Vsc2UKLSAgICByID0gUHlfRmFsc2U7Ci0jZW5kaWYKICAgICBQeV9JTkNSRUYocik7CiAgICAgUHlNb2R1bGVfQWRkT2JqZWN0KG0sICJIQVNfVExTX1VOSVFVRSIsIHIpOwogCkBAIC00MTMzLDYgKzQ1ODMsMTQgQEAKICAgICBQeV9JTkNSRUYocik7CiAgICAgUHlNb2R1bGVfQWRkT2JqZWN0KG0sICJIQVNfTlBOIiwgcik7CiAKKyNpZmRlZiBIQVZFX0FMUE4KKyAgICByID0gUHlfVHJ1ZTsKKyNlbHNlCisgICAgciA9IFB5X0ZhbHNlOworI2VuZGlmCisgICAgUHlfSU5DUkVGKHIpOworICAgIFB5TW9kdWxlX0FkZE9iamVjdChtLCAiSEFTX0FMUE4iLCByKTsKKwogICAgIC8qIE1hcHBpbmdzIGZvciBlcnJvciBjb2RlcyAqLwogICAgIGVycl9jb2Rlc190b19uYW1lcyA9IFB5RGljdF9OZXcoKTsKICAgICBlcnJfbmFtZXNfdG9fY29kZXMgPSBQeURpY3RfTmV3KCk7CmRpZmYgLS1naXQgYS9Nb2R1bGVzL19zdGF0LmMgYi9Nb2R1bGVzL19zdGF0LmMKaW5kZXggYTMwMWZhOC4uZjZjYjMwMyAxMDA2NDQKLS0tIGEvTW9kdWxlcy9fc3RhdC5jCisrKyBiL01vZHVsZXMvX3N0YXQuYwpAQCAtMjcsOSArMjcsMjEgQEAKICNlbmRpZiAvKiBIQVZFX1NZU19TVEFUX0ggKi8KIAogI2lmZGVmIE1TX1dJTkRPV1MKKyNpbmNsdWRlIDx3aW5kb3dzLmg+CiB0eXBlZGVmIHVuc2lnbmVkIHNob3J0IG1vZGVfdDsKKworLyogRklMRV9BVFRSSUJVVEVfSU5URUdSSVRZX1NUUkVBTSBhbmQgRklMRV9BVFRSSUJVVEVfTk9fU0NSVUJfREFUQQorICAgYXJlIG5vdCBwcmVzZW50IGluIFZDMjAxMCwgc28gZGVmaW5lIHRoZW0gbWFudWFsbHkgKi8KKyNpZm5kZWYgRklMRV9BVFRSSUJVVEVfSU5URUdSSVRZX1NUUkVBTQorIyAgZGVmaW5lIEZJTEVfQVRUUklCVVRFX0lOVEVHUklUWV9TVFJFQU0gMHg4MDAwCiAjZW5kaWYKIAorI2lmbmRlZiBGSUxFX0FUVFJJQlVURV9OT19TQ1JVQl9EQVRBCisjICBkZWZpbmUgRklMRV9BVFRSSUJVVEVfTk9fU0NSVUJfREFUQSAweDIwMDAwCisjZW5kaWYKKworI2VuZGlmIC8qIE1TX1dJTkRPV1MgKi8KKwogLyogRnJvbSBQeXRob24ncyBzdGF0LnB5ICovCiAjaWZuZGVmIFNfSU1PREUKICMgIGRlZmluZSBTX0lNT0RFIDA3Nzc3CkBAIC00NzMsNiArNDg1LDEwIEBACiBTVF9BVElNRVxuXAogU1RfTVRJTUVcblwKIFNUX0NUSU1FXG5cCitcbiIKKworIkZJTEVfQVRUUklCVVRFXyo6IFdpbmRvd3MgZmlsZSBhdHRyaWJ1dGUgY29uc3RhbnRzXG5cCisgICAgICAgICAgICAgICAgICAgKG9ubHkgcHJlc2VudCBvbiBXaW5kb3dzKVxuXAogIik7CiAKIApAQCAtNTU1LDYgKzU3MSwyNiBAQAogICAgIGlmIChQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiU1RfTVRJTUUiLCA4KSkgcmV0dXJuIE5VTEw7CiAgICAgaWYgKFB5TW9kdWxlX0FkZEludENvbnN0YW50KG0sICJTVF9DVElNRSIsIDkpKSByZXR1cm4gTlVMTDsKIAorI2lmZGVmIE1TX1dJTkRPV1MKKyAgICBpZiAoUHlNb2R1bGVfQWRkSW50TWFjcm8obSwgRklMRV9BVFRSSUJVVEVfQVJDSElWRSkpIHJldHVybiBOVUxMOworICAgIGlmIChQeU1vZHVsZV9BZGRJbnRNYWNybyhtLCBGSUxFX0FUVFJJQlVURV9DT01QUkVTU0VEKSkgcmV0dXJuIE5VTEw7CisgICAgaWYgKFB5TW9kdWxlX0FkZEludE1hY3JvKG0sIEZJTEVfQVRUUklCVVRFX0RFVklDRSkpIHJldHVybiBOVUxMOworICAgIGlmIChQeU1vZHVsZV9BZGRJbnRNYWNybyhtLCBGSUxFX0FUVFJJQlVURV9ESVJFQ1RPUlkpKSByZXR1cm4gTlVMTDsKKyAgICBpZiAoUHlNb2R1bGVfQWRkSW50TWFjcm8obSwgRklMRV9BVFRSSUJVVEVfRU5DUllQVEVEKSkgcmV0dXJuIE5VTEw7CisgICAgaWYgKFB5TW9kdWxlX0FkZEludE1hY3JvKG0sIEZJTEVfQVRUUklCVVRFX0hJRERFTikpIHJldHVybiBOVUxMOworICAgIGlmIChQeU1vZHVsZV9BZGRJbnRNYWNybyhtLCBGSUxFX0FUVFJJQlVURV9JTlRFR1JJVFlfU1RSRUFNKSkgcmV0dXJuIE5VTEw7CisgICAgaWYgKFB5TW9kdWxlX0FkZEludE1hY3JvKG0sIEZJTEVfQVRUUklCVVRFX05PUk1BTCkpIHJldHVybiBOVUxMOworICAgIGlmIChQeU1vZHVsZV9BZGRJbnRNYWNybyhtLCBGSUxFX0FUVFJJQlVURV9OT1RfQ09OVEVOVF9JTkRFWEVEKSkgcmV0dXJuIE5VTEw7CisgICAgaWYgKFB5TW9kdWxlX0FkZEludE1hY3JvKG0sIEZJTEVfQVRUUklCVVRFX05PX1NDUlVCX0RBVEEpKSByZXR1cm4gTlVMTDsKKyAgICBpZiAoUHlNb2R1bGVfQWRkSW50TWFjcm8obSwgRklMRV9BVFRSSUJVVEVfT0ZGTElORSkpIHJldHVybiBOVUxMOworICAgIGlmIChQeU1vZHVsZV9BZGRJbnRNYWNybyhtLCBGSUxFX0FUVFJJQlVURV9SRUFET05MWSkpIHJldHVybiBOVUxMOworICAgIGlmIChQeU1vZHVsZV9BZGRJbnRNYWNybyhtLCBGSUxFX0FUVFJJQlVURV9SRVBBUlNFX1BPSU5UKSkgcmV0dXJuIE5VTEw7CisgICAgaWYgKFB5TW9kdWxlX0FkZEludE1hY3JvKG0sIEZJTEVfQVRUUklCVVRFX1NQQVJTRV9GSUxFKSkgcmV0dXJuIE5VTEw7CisgICAgaWYgKFB5TW9kdWxlX0FkZEludE1hY3JvKG0sIEZJTEVfQVRUUklCVVRFX1NZU1RFTSkpIHJldHVybiBOVUxMOworICAgIGlmIChQeU1vZHVsZV9BZGRJbnRNYWNybyhtLCBGSUxFX0FUVFJJQlVURV9URU1QT1JBUlkpKSByZXR1cm4gTlVMTDsKKyAgICBpZiAoUHlNb2R1bGVfQWRkSW50TWFjcm8obSwgRklMRV9BVFRSSUJVVEVfVklSVFVBTCkpIHJldHVybiBOVUxMOworI2VuZGlmCisKICAgICByZXR1cm4gbTsKIH0KIApkaWZmIC0tZ2l0IGEvTW9kdWxlcy9fc3RydWN0LmMgYi9Nb2R1bGVzL19zdHJ1Y3QuYwppbmRleCBhZDk5NTllLi4wNjhjNWQxIDEwMDY0NAotLS0gYS9Nb2R1bGVzL19zdHJ1Y3QuYworKysgYi9Nb2R1bGVzL19zdHJ1Y3QuYwpAQCAtODUsOCArODUsNiBAQAogI2RlZmluZSBCT09MX0FMSUdOIDAKICNlbmRpZgogCi0jZGVmaW5lIFNUUklOR0lGWSh4KSAgICAjeAotCiAjaWZkZWYgX19wb3dlcmMKICNwcmFnbWEgb3B0aW9ucyBhbGlnbj1yZXNldAogI2VuZGlmCkBAIC01NDYsOCArNTQ0LDggQEAKICAgICAgICAgcmV0dXJuIC0xOwogICAgIGlmICh4IDwgU0hSVF9NSU4gfHwgeCA+IFNIUlRfTUFYKXsKICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFN0cnVjdEVycm9yLAotICAgICAgICAgICAgICAgICAgICAgICAgInNob3J0IGZvcm1hdCByZXF1aXJlcyAiIFNUUklOR0lGWShTSFJUX01JTikKLSAgICAgICAgICAgICAgICAgICAgICAgICIgPD0gbnVtYmVyIDw9ICIgU1RSSU5HSUZZKFNIUlRfTUFYKSk7CisgICAgICAgICAgICAgICAgICAgICAgICAic2hvcnQgZm9ybWF0IHJlcXVpcmVzICIgUHlfU1RSSU5HSUZZKFNIUlRfTUlOKQorICAgICAgICAgICAgICAgICAgICAgICAgIiA8PSBudW1iZXIgPD0gIiBQeV9TVFJJTkdJRlkoU0hSVF9NQVgpKTsKICAgICAgICAgcmV0dXJuIC0xOwogICAgIH0KICAgICB5ID0gKHNob3J0KXg7CkBAIC01NjQsNyArNTYyLDggQEAKICAgICAgICAgcmV0dXJuIC0xOwogICAgIGlmICh4IDwgMCB8fCB4ID4gVVNIUlRfTUFYKXsKICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFN0cnVjdEVycm9yLAotICAgICAgICAgICAgICAgICAgICAgICAgInVzaG9ydCBmb3JtYXQgcmVxdWlyZXMgMCA8PSBudW1iZXIgPD0gIiBTVFJJTkdJRlkoVVNIUlRfTUFYKSk7CisgICAgICAgICAgICAgICAgICAgICAgICAidXNob3J0IGZvcm1hdCByZXF1aXJlcyAwIDw9IG51bWJlciA8PSAiCisgICAgICAgICAgICAgICAgICAgICAgICBQeV9TVFJJTkdJRlkoVVNIUlRfTUFYKSk7CiAgICAgICAgIHJldHVybiAtMTsKICAgICB9CiAgICAgeSA9ICh1bnNpZ25lZCBzaG9ydCl4OwpAQCAtMTI2NCw3ICsxMjYzLDggQEAKICAgICBjb25zdCBjaGFyICpzOwogICAgIGNvbnN0IGNoYXIgKmZtdDsKICAgICBjaGFyIGM7Ci0gICAgUHlfc3NpemVfdCBzaXplLCBsZW4sIG5jb2RlcywgbnVtLCBpdGVtc2l6ZTsKKyAgICBQeV9zc2l6ZV90IHNpemUsIGxlbiwgbnVtLCBpdGVtc2l6ZTsKKyAgICBzaXplX3QgbmNvZGVzOwogCiAgICAgZm10ID0gUHlCeXRlc19BU19TVFJJTkcoc2VsZi0+c19mb3JtYXQpOwogCkBAIC0xMzIwLDcgKzEzMjAsNyBAQAogICAgIH0KIAogICAgIC8qIGNoZWNrIGZvciBvdmVyZmxvdyAqLwotICAgIGlmICgobmNvZGVzICsgMSkgPiAoUFlfU1NJWkVfVF9NQVggLyBzaXplb2YoZm9ybWF0Y29kZSkpKSB7CisgICAgaWYgKChuY29kZXMgKyAxKSA+ICgoc2l6ZV90KVBZX1NTSVpFX1RfTUFYIC8gc2l6ZW9mKGZvcm1hdGNvZGUpKSkgewogICAgICAgICBQeUVycl9Ob01lbW9yeSgpOwogICAgICAgICByZXR1cm4gLTE7CiAgICAgfQpkaWZmIC0tZ2l0IGEvTW9kdWxlcy9fdGVzdGJ1ZmZlci5jIGIvTW9kdWxlcy9fdGVzdGJ1ZmZlci5jCmluZGV4IDE3NmRmN2MuLmRlN2I1NjcgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvX3Rlc3RidWZmZXIuYworKysgYi9Nb2R1bGVzL190ZXN0YnVmZmVyLmMKQEAgLTE1MTAsNiArMTUxMCwxOSBAQAogICAgICAgICB2aWV3LT5zaGFwZSA9IE5VTEw7CiAgICAgfQogCisgICAgLyogQXNjZXJ0YWluIHRoYXQgdGhlIG5ldyBidWZmZXIgaGFzIHRoZSBzYW1lIGNvbnRpZ3VpdHkgYXMgdGhlIGV4cG9ydGVyICovCisgICAgaWYgKE5EX0NfQ09OVElHVU9VUyhiYXNlZmxhZ3MpICE9IFB5QnVmZmVyX0lzQ29udGlndW91cyh2aWV3LCAnQycpIHx8CisgICAgICAgIC8qIHNraXAgY2FzdCB0byAxLWQgKi8KKyAgICAgICAgKHZpZXctPmZvcm1hdCAhPSBOVUxMICYmIHZpZXctPnNoYXBlICE9IE5VTEwgJiYKKyAgICAgICAgIE5EX0ZPUlRSQU5fQ09OVElHVU9VUyhiYXNlZmxhZ3MpICE9IFB5QnVmZmVyX0lzQ29udGlndW91cyh2aWV3LCAnRicpKSB8fAorICAgICAgICAvKiBjYXN0IHRvIDEtZCAqLworICAgICAgICAodmlldy0+Zm9ybWF0ID09IE5VTEwgJiYgdmlldy0+c2hhcGUgPT0gTlVMTCAmJgorICAgICAgICAgIVB5QnVmZmVyX0lzQ29udGlndW91cyh2aWV3LCAnRicpKSkgeworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfQnVmZmVyRXJyb3IsCisgICAgICAgICAgICAibmRhcnJheTogY29udGlndWl0eSBtaXNtYXRjaCBpbiBnZXRidWYoKSIpOworICAgICAgICAgICAgcmV0dXJuIC0xOworICAgIH0KKwogICAgIHZpZXctPm9iaiA9IChQeU9iamVjdCAqKXNlbGY7CiAgICAgUHlfSU5DUkVGKHZpZXctPm9iaik7CiAgICAgc2VsZi0+aGVhZC0+ZXhwb3J0cysrOwpAQCAtMjIwNiw2ICsyMjE5LDggQEAKICAgICBmb3IgKGkgPSAwOyBpIDwgYmFzZS0+bmRpbTsgaSsrKQogICAgICAgICBiYXNlLT5zdWJvZmZzZXRzW2ldID0gLTE7CiAKKyAgICBuZC0+aGVhZC0+ZmxhZ3MgJj0gfihORF9DfE5EX0ZPUlRSQU4pOworCiAgICAgUHlfUkVUVVJOX05PTkU7CiB9CiAKQEAgLTI0NjksMTMgKzI0ODQsMTIgQEAKIHsKICAgICBQeV9zc2l6ZV90IGk7CiAKLSAgICBpZiAobmRpbSA9PSAxICYmIHNoYXBlICYmIHNoYXBlWzBdID09IDEpIHsKLSAgICAgICAgLyogVGhpcyBpcyBmb3IgY29tcGFyaW5nIHN0cmlkZXM6IEZvciBleGFtcGxlLCB0aGUgYXJyYXkKLSAgICAgICAgICAgWzE3NV0sIHNoYXBlPVsxXSwgc3RyaWRlcz1bLTVdIGlzIGNvbnNpZGVyZWQgY29udGlndW91cy4gKi8KLSAgICAgICAgcmV0dXJuIDE7Ci0gICAgfQogCiAgICAgZm9yIChpID0gMDsgaSA8IG5kaW07IGkrKykgeworICAgICAgICBpZiAoc2hhcGUgJiYgc2hhcGVbaV0gPD0gMSkgeworICAgICAgICAgICAgLyogc3RyaWRlcyBjYW4gZGlmZmVyIGlmIHRoZSBkaW1lbnNpb24gaXMgbGVzcyB0aGFuIDIgKi8KKyAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICB9CiAgICAgICAgIGlmIChhMVtpXSAhPSBhMltpXSkgewogICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgIH0KQEAgLTI1NTUsMzAgKzI1NjksMzUgQEAKICAgICBQeU9iamVjdCAqb2JqOwogICAgIFB5T2JqZWN0ICpvcmRlcjsKICAgICBQeU9iamVjdCAqcmV0ID0gTlVMTDsKLSAgICBQeV9idWZmZXIgdmlldzsKKyAgICBQeV9idWZmZXIgdmlldywgKmJhc2U7CiAgICAgY2hhciBvcmQ7CiAKICAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIk9PIiwgJm9iaiwgJm9yZGVyKSkgewogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CiAKLSAgICBpZiAoUHlPYmplY3RfR2V0QnVmZmVyKG9iaiwgJnZpZXcsIFB5QlVGX0ZVTExfUk8pIDwgMCkgewotICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLAotICAgICAgICAgICAgImlzX2NvbnRpZ3VvdXM6IG9iamVjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGJ1ZmZlciAiCi0gICAgICAgICAgICAicHJvdG9jb2wiKTsKKyAgICBvcmQgPSBnZXRfYXNjaWlfb3JkZXIob3JkZXIpOworICAgIGlmIChvcmQgPT0gQ0hBUl9NQVgpIHsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQogCi0gICAgb3JkID0gZ2V0X2FzY2lpX29yZGVyKG9yZGVyKTsKLSAgICBpZiAob3JkID09IENIQVJfTUFYKSB7Ci0gICAgICAgIGdvdG8gcmVsZWFzZTsKKyAgICBpZiAoTkRBcnJheV9DaGVjayhvYmopKSB7CisgICAgICAgIC8qIFNraXAgdGhlIGJ1ZmZlciBwcm90b2NvbCB0byBjaGVjayBzaW1wbGUgZXRjLiBidWZmZXJzIGRpcmVjdGx5LiAqLworICAgICAgICBiYXNlID0gJigoTkRBcnJheU9iamVjdCAqKW9iaiktPmhlYWQtPmJhc2U7CisgICAgICAgIHJldCA9IFB5QnVmZmVyX0lzQ29udGlndW91cyhiYXNlLCBvcmQpID8gUHlfVHJ1ZSA6IFB5X0ZhbHNlOworICAgIH0KKyAgICBlbHNlIHsKKyAgICAgICAgaWYgKFB5T2JqZWN0X0dldEJ1ZmZlcihvYmosICZ2aWV3LCBQeUJVRl9GVUxMX1JPKSA8IDApIHsKKyAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsCisgICAgICAgICAgICAgICAgImlzX2NvbnRpZ3VvdXM6IG9iamVjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGJ1ZmZlciAiCisgICAgICAgICAgICAgICAgInByb3RvY29sIik7CisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgfQorICAgICAgICByZXQgPSBQeUJ1ZmZlcl9Jc0NvbnRpZ3VvdXMoJnZpZXcsIG9yZCkgPyBQeV9UcnVlIDogUHlfRmFsc2U7CisgICAgICAgIFB5QnVmZmVyX1JlbGVhc2UoJnZpZXcpOwogICAgIH0KIAotICAgIHJldCA9IFB5QnVmZmVyX0lzQ29udGlndW91cygmdmlldywgb3JkKSA/IFB5X1RydWUgOiBQeV9GYWxzZTsKICAgICBQeV9JTkNSRUYocmV0KTsKLQotcmVsZWFzZToKLSAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZ2aWV3KTsKICAgICByZXR1cm4gcmV0OwogfQogCmRpZmYgLS1naXQgYS9Nb2R1bGVzL190ZXN0Y2FwaW1vZHVsZS5jIGIvTW9kdWxlcy9fdGVzdGNhcGltb2R1bGUuYwppbmRleCBjZjRiMGUxLi5hOGNlMGRjIDEwMDY0NAotLS0gYS9Nb2R1bGVzL190ZXN0Y2FwaW1vZHVsZS5jCisrKyBiL01vZHVsZXMvX3Rlc3RjYXBpbW9kdWxlLmMKQEAgLTEyLDYgKzEyLDcgQEAKICNpbmNsdWRlICJzdHJ1Y3RtZW1iZXIuaCIKICNpbmNsdWRlICJkYXRldGltZS5oIgogI2luY2x1ZGUgIm1hcnNoYWwuaCIKKyNpbmNsdWRlIDxzaWduYWwuaD4KIAogI2lmZGVmIFdJVEhfVEhSRUFECiAjaW5jbHVkZSAicHl0aHJlYWQuaCIKQEAgLTY4LDYgKzY5LDEwIEBACiBzdGF0aWMgUHlPYmplY3QqCiB0ZXN0X3NpemVvZl9jX3R5cGVzKFB5T2JqZWN0ICpzZWxmKQogeworI2lmIGRlZmluZWQoX19HTlVDX18pICYmICgoX19HTlVDX18gPiA0KSB8fCAoKF9fR05VQ19fID09IDQpICYmIChfX0dOVUNfTUlOT1JfXyA+IDUpKSkKKyNwcmFnbWEgR0NDIGRpYWdub3N0aWMgcHVzaAorI3ByYWdtYSBHQ0MgZGlhZ25vc3RpYyBpZ25vcmVkICItV3R5cGUtbGltaXRzIgorI2VuZGlmCiAjZGVmaW5lIENIRUNLX1NJWkVPRihUWVBFLCBFWFBFQ1RFRCkgICAgICAgICBcCiAgICAgaWYgKEVYUEVDVEVEICE9IHNpemVvZihUWVBFKSkgIHsgICAgICAgICBcCiAgICAgICAgIFB5RXJyX0Zvcm1hdChUZXN0RXJyb3IsICAgICAgICAgICAgICBcCkBAIC0xMjUsNiArMTMwLDkgQEAKICN1bmRlZiBJU19TSUdORUQKICN1bmRlZiBDSEVDS19TSUdORVNTCiAjdW5kZWYgQ0hFQ0tfU0laRU9GCisjaWYgZGVmaW5lZChfX0dOVUNfXykgJiYgKChfX0dOVUNfXyA+IDQpIHx8ICgoX19HTlVDX18gPT0gNCkgJiYgKF9fR05VQ19NSU5PUl9fID4gNSkpKQorI3ByYWdtYSBHQ0MgZGlhZ25vc3RpYyBwb3AKKyNlbmRpZgogfQogCiAKQEAgLTE3MTksNyArMTcyNyw3IEBACiAgICAgICAgICAgICAgey0weGZmZmZMLCAxNiwgLTF9LAogICAgICAgICAgICAgIHsweGZmZmZmZmZMLCAyOCwgMX0sCiAgICAgICAgICAgICAgey0weGZmZmZmZmZMLCAyOCwgLTF9fTsKLSAgICBpbnQgaTsKKyAgICBzaXplX3QgaTsKIAogICAgIGZvciAoaSA9IDA7IGkgPCBQeV9BUlJBWV9MRU5HVEgodGVzdGNhc2VzKTsgKytpKSB7CiAgICAgICAgIHNpemVfdCBuYml0czsKQEAgLTI1MTksNiArMjUyNyw1OCBAQAogICAgIFB5X1JFVFVSTl9OT05FOwogfQogCisjaWYgKGRlZmluZWQoX19saW51eF9fKSB8fCBkZWZpbmVkKF9fRnJlZUJTRF9fKSkgJiYgZGVmaW5lZChfX0dOVUNfXykKK2V4dGVybiBQeVR5cGVPYmplY3QgX1B5Qnl0ZXNJT0J1ZmZlcl9UeXBlOworCitzdGF0aWMgUHlPYmplY3QgKgordGVzdF9wZXAzMTE4X29ic29sZXRlX3dyaXRlX2xvY2tzKFB5T2JqZWN0KiBzZWxmLCBQeU9iamVjdCAqbm9hcmdzKQoreworICAgIFB5VHlwZU9iamVjdCAqdHlwZSA9ICZfUHlCeXRlc0lPQnVmZmVyX1R5cGU7CisgICAgUHlPYmplY3QgKmI7CisgICAgY2hhciAqZHVtbXlbMV07CisgICAgaW50IHJldCwgbWF0Y2g7CisKKyAgICAvKiBQeUJ1ZmZlcl9GaWxsSW5mbygpICovCisgICAgcmV0ID0gUHlCdWZmZXJfRmlsbEluZm8oTlVMTCwgTlVMTCwgZHVtbXksIDEsIDAsIFB5QlVGX1NJTVBMRSk7CisgICAgbWF0Y2ggPSBQeUVycl9PY2N1cnJlZCgpICYmIFB5RXJyX0V4Y2VwdGlvbk1hdGNoZXMoUHlFeGNfQnVmZmVyRXJyb3IpOworICAgIFB5RXJyX0NsZWFyKCk7CisgICAgaWYgKHJldCAhPSAtMSB8fCBtYXRjaCA9PSAwKQorICAgICAgICBnb3RvIGVycm9yOworCisgICAgLyogYnl0ZXNpb2J1Zl9nZXRidWZmZXIoKSAqLworICAgIGIgPSB0eXBlLT50cF9hbGxvYyh0eXBlLCAwKTsKKyAgICBpZiAoYiA9PSBOVUxMKSB7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKworICAgIHJldCA9IFB5T2JqZWN0X0dldEJ1ZmZlcihiLCBOVUxMLCBQeUJVRl9TSU1QTEUpOworICAgIFB5X0RFQ1JFRihiKTsKKyAgICBtYXRjaCA9IFB5RXJyX09jY3VycmVkKCkgJiYgUHlFcnJfRXhjZXB0aW9uTWF0Y2hlcyhQeUV4Y19CdWZmZXJFcnJvcik7CisgICAgUHlFcnJfQ2xlYXIoKTsKKyAgICBpZiAocmV0ICE9IC0xIHx8IG1hdGNoID09IDApCisgICAgICAgIGdvdG8gZXJyb3I7CisKKyAgICBQeV9SRVRVUk5fTk9ORTsKKworZXJyb3I6CisgICAgUHlFcnJfU2V0U3RyaW5nKFRlc3RFcnJvciwKKyAgICAgICAgInRlc3RfcGVwMzExOF9vYnNvbGV0ZV93cml0ZV9sb2NrczogZmFpbHVyZSIpOworICAgIHJldHVybiBOVUxMOworfQorI2VuZGlmCisKKy8qIFRoaXMgdGVzdHMgZnVuY3Rpb25zIHRoYXQgaGlzdG9yaWNhbGx5IHN1cHBvcnRlZCB3cml0ZSBsb2Nrcy4gIEl0IGlzCisgICB3cm9uZyB0byBjYWxsIGdldGJ1ZmZlcigpIHdpdGggdmlldz09TlVMTCBhbmQgYSBjb21wbGlhbnQgZ2V0YnVmZmVycHJvYworICAgaXMgZW50aXRsZWQgdG8gc2VnZmF1bHQgaW4gdGhhdCBjYXNlLiAqLworc3RhdGljIFB5T2JqZWN0ICoKK2dldGJ1ZmZlcl93aXRoX251bGxfdmlldyhQeU9iamVjdCogc2VsZiwgUHlPYmplY3QgKm9iaikKK3sKKyAgICBpZiAoUHlPYmplY3RfR2V0QnVmZmVyKG9iaiwgTlVMTCwgUHlCVUZfU0lNUExFKSA8IDApCisgICAgICAgIHJldHVybiBOVUxMOworCisgICAgUHlfUkVUVVJOX05PTkU7Cit9CisKIC8qIFRlc3QgdGhhdCB0aGUgZmF0YWwgZXJyb3IgZnJvbSBub3QgaGF2aW5nIGEgY3VycmVudCB0aHJlYWQgZG9lc24ndAogICAgY2F1c2UgYW4gaW5maW5pdGUgbG9vcC4gIFJ1biB2aWEgTGliL3Rlc3QvdGVzdF9jYXBpLnB5ICovCiBzdGF0aWMgUHlPYmplY3QgKgpAQCAtMjcwMyw2ICsyNzYzLDIxIEBACiAgICAgcmV0dXJuIG9iajsKIH0KIAorc3RhdGljIFB5TWV0aG9kRGVmIG1sOworCitzdGF0aWMgUHlPYmplY3QgKgorY3JlYXRlX2NmdW5jdGlvbihQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgcmV0dXJuIFB5Q0Z1bmN0aW9uX05ld0V4KCZtbCwgc2VsZiwgTlVMTCk7Cit9CisKK3N0YXRpYyBQeU1ldGhvZERlZiBtbCA9IHsKKyAgICAiY3JlYXRlX2NmdW5jdGlvbiIsCisgICAgY3JlYXRlX2NmdW5jdGlvbiwKKyAgICBNRVRIX05PQVJHUywKKyAgICBOVUxMCit9OworCiBzdGF0aWMgUHlPYmplY3QgKgogX3Rlc3RfaW5jcmVmKFB5T2JqZWN0ICpvYikKIHsKQEAgLTI3NjEsNiArMjgzNiwyMCBAQAogewogICAgIHZvaWQgKnB0cjsKIAorICAgIHB0ciA9IFB5TWVtX1Jhd01hbGxvYygwKTsKKyAgICBpZiAocHRyID09IE5VTEwpIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1J1bnRpbWVFcnJvciwgIlB5TWVtX1Jhd01hbGxvYygwKSByZXR1cm5zIE5VTEwiKTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorICAgIFB5TWVtX1Jhd0ZyZWUocHRyKTsKKworICAgIHB0ciA9IFB5TWVtX1Jhd0NhbGxvYygwLCAwKTsKKyAgICBpZiAocHRyID09IE5VTEwpIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1J1bnRpbWVFcnJvciwgIlB5TWVtX1Jhd0NhbGxvYygwLCAwKSByZXR1cm5zIE5VTEwiKTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorICAgIFB5TWVtX1Jhd0ZyZWUocHRyKTsKKwogICAgIHB0ciA9IFB5TWVtX01hbGxvYygwKTsKICAgICBpZiAocHRyID09IE5VTEwpIHsKICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1J1bnRpbWVFcnJvciwgIlB5TWVtX01hbGxvYygwKSByZXR1cm5zIE5VTEwiKTsKQEAgLTI3NjgsNiArMjg1NywxMyBAQAogICAgIH0KICAgICBQeU1lbV9GcmVlKHB0cik7CiAKKyAgICBwdHIgPSBQeU1lbV9DYWxsb2MoMCwgMCk7CisgICAgaWYgKHB0ciA9PSBOVUxMKSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19SdW50aW1lRXJyb3IsICJQeU1lbV9DYWxsb2MoMCwgMCkgcmV0dXJucyBOVUxMIik7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKyAgICBQeU1lbV9GcmVlKHB0cik7CisKICAgICBwdHIgPSBQeU9iamVjdF9NYWxsb2MoMCk7CiAgICAgaWYgKHB0ciA9PSBOVUxMKSB7CiAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19SdW50aW1lRXJyb3IsICJQeU9iamVjdF9NYWxsb2MoMCkgcmV0dXJucyBOVUxMIik7CkBAIC0yNzc1LDEzICsyODcxLDIyIEBACiAgICAgfQogICAgIFB5T2JqZWN0X0ZyZWUocHRyKTsKIAorICAgIHB0ciA9IFB5T2JqZWN0X0NhbGxvYygwLCAwKTsKKyAgICBpZiAocHRyID09IE5VTEwpIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1J1bnRpbWVFcnJvciwgIlB5T2JqZWN0X0NhbGxvYygwLCAwKSByZXR1cm5zIE5VTEwiKTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorICAgIFB5T2JqZWN0X0ZyZWUocHRyKTsKKwogICAgIFB5X1JFVFVSTl9OT05FOwogfQogCiB0eXBlZGVmIHN0cnVjdCB7Ci0gICAgUHlNZW1BbGxvY2F0b3IgYWxsb2M7CisgICAgUHlNZW1BbGxvY2F0b3JFeCBhbGxvYzsKIAogICAgIHNpemVfdCBtYWxsb2Nfc2l6ZTsKKyAgICBzaXplX3QgY2FsbG9jX25lbGVtOworICAgIHNpemVfdCBjYWxsb2NfZWxzaXplOwogICAgIHZvaWQgKnJlYWxsb2NfcHRyOwogICAgIHNpemVfdCByZWFsbG9jX25ld19zaXplOwogICAgIHZvaWQgKmZyZWVfcHRyOwpAQCAtMjc5NCw2ICsyODk5LDE0IEBACiAgICAgcmV0dXJuIGhvb2stPmFsbG9jLm1hbGxvYyhob29rLT5hbGxvYy5jdHgsIHNpemUpOwogfQogCitzdGF0aWMgdm9pZCogaG9va19jYWxsb2MgKHZvaWQqIGN0eCwgc2l6ZV90IG5lbGVtLCBzaXplX3QgZWxzaXplKQoreworICAgIGFsbG9jX2hvb2tfdCAqaG9vayA9IChhbGxvY19ob29rX3QgKiljdHg7CisgICAgaG9vay0+Y2FsbG9jX25lbGVtID0gbmVsZW07CisgICAgaG9vay0+Y2FsbG9jX2Vsc2l6ZSA9IGVsc2l6ZTsKKyAgICByZXR1cm4gaG9vay0+YWxsb2MuY2FsbG9jKGhvb2stPmFsbG9jLmN0eCwgbmVsZW0sIGVsc2l6ZSk7Cit9CisKIHN0YXRpYyB2b2lkKiBob29rX3JlYWxsb2MgKHZvaWQqIGN0eCwgdm9pZCogcHRyLCBzaXplX3QgbmV3X3NpemUpCiB7CiAgICAgYWxsb2NfaG9va190ICpob29rID0gKGFsbG9jX2hvb2tfdCAqKWN0eDsKQEAgLTI4MTUsMTcgKzI5MjgsMTUgQEAKICAgICBQeU9iamVjdCAqcmVzID0gTlVMTDsKICAgICBjb25zdCBjaGFyICplcnJvcl9tc2c7CiAgICAgYWxsb2NfaG9va190IGhvb2s7Ci0gICAgUHlNZW1BbGxvY2F0b3IgYWxsb2M7Ci0gICAgc2l6ZV90IHNpemUsIHNpemUyOworICAgIFB5TWVtQWxsb2NhdG9yRXggYWxsb2M7CisgICAgc2l6ZV90IHNpemUsIHNpemUyLCBuZWxlbSwgZWxzaXplOwogICAgIHZvaWQgKnB0ciwgKnB0cjI7CiAKLSAgICBob29rLm1hbGxvY19zaXplID0gMDsKLSAgICBob29rLnJlYWxsb2NfcHRyID0gTlVMTDsKLSAgICBob29rLnJlYWxsb2NfbmV3X3NpemUgPSAwOwotICAgIGhvb2suZnJlZV9wdHIgPSBOVUxMOworICAgIG1lbXNldCgmaG9vaywgMCwgc2l6ZW9mKGhvb2spKTsKIAogICAgIGFsbG9jLmN0eCA9ICZob29rOwogICAgIGFsbG9jLm1hbGxvYyA9ICZob29rX21hbGxvYzsKKyAgICBhbGxvYy5jYWxsb2MgPSAmaG9va19jYWxsb2M7CiAgICAgYWxsb2MucmVhbGxvYyA9ICZob29rX3JlYWxsb2M7CiAgICAgYWxsb2MuZnJlZSA9ICZob29rX2ZyZWU7CiAgICAgUHlNZW1fR2V0QWxsb2NhdG9yKGRvbWFpbiwgJmhvb2suYWxsb2MpOwpAQCAtMjg4Miw2ICsyOTkzLDMzIEBACiAgICAgICAgIGdvdG8gZmFpbDsKICAgICB9CiAKKyAgICBuZWxlbSA9IDI7CisgICAgZWxzaXplID0gNTsKKyAgICBzd2l0Y2goZG9tYWluKQorICAgIHsKKyAgICBjYXNlIFBZTUVNX0RPTUFJTl9SQVc6IHB0ciA9IFB5TWVtX1Jhd0NhbGxvYyhuZWxlbSwgZWxzaXplKTsgYnJlYWs7CisgICAgY2FzZSBQWU1FTV9ET01BSU5fTUVNOiBwdHIgPSBQeU1lbV9DYWxsb2MobmVsZW0sIGVsc2l6ZSk7IGJyZWFrOworICAgIGNhc2UgUFlNRU1fRE9NQUlOX09CSjogcHRyID0gUHlPYmplY3RfQ2FsbG9jKG5lbGVtLCBlbHNpemUpOyBicmVhazsKKyAgICBkZWZhdWx0OiBwdHIgPSBOVUxMOyBicmVhazsKKyAgICB9CisKKyAgICBpZiAocHRyID09IE5VTEwpIHsKKyAgICAgICAgZXJyb3JfbXNnID0gImNhbGxvYyBmYWlsZWQiOworICAgICAgICBnb3RvIGZhaWw7CisgICAgfQorCisgICAgaWYgKGhvb2suY2FsbG9jX25lbGVtICE9IG5lbGVtIHx8IGhvb2suY2FsbG9jX2Vsc2l6ZSAhPSBlbHNpemUpIHsKKyAgICAgICAgZXJyb3JfbXNnID0gImNhbGxvYyBpbnZhbGlkIG5lbGVtIG9yIGVsc2l6ZSI7CisgICAgICAgIGdvdG8gZmFpbDsKKyAgICB9CisKKyAgICBzd2l0Y2goZG9tYWluKQorICAgIHsKKyAgICBjYXNlIFBZTUVNX0RPTUFJTl9SQVc6IFB5TWVtX1Jhd0ZyZWUocHRyKTsgYnJlYWs7CisgICAgY2FzZSBQWU1FTV9ET01BSU5fTUVNOiBQeU1lbV9GcmVlKHB0cik7IGJyZWFrOworICAgIGNhc2UgUFlNRU1fRE9NQUlOX09CSjogUHlPYmplY3RfRnJlZShwdHIpOyBicmVhazsKKyAgICB9CisKICAgICBQeV9JTkNSRUYoUHlfTm9uZSk7CiAgICAgcmVzID0gUHlfTm9uZTsKICAgICBnb3RvIGZpbmFsbHk7CkBAIC0zMDUxLDYgKzMxODksMjQgQEAKIH0KICNlbmRpZiAgIC8qIFdJVEhfVEhSRUFEICovCiAKK3N0YXRpYyBQeU9iamVjdCoKK3Rlc3RfcmFpc2Vfc2lnbmFsKFB5T2JqZWN0KiBzZWxmLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBpbnQgc2lnbnVtLCBlcnI7CisKKyAgICBpZiAoUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiaTpyYWlzZV9zaWduYWwiLCAmc2lnbnVtKSA8IDApCisgICAgICAgIHJldHVybiBOVUxMOworCisgICAgZXJyID0gcmFpc2Uoc2lnbnVtKTsKKyAgICBpZiAoZXJyKQorICAgICAgICByZXR1cm4gUHlFcnJfU2V0RnJvbUVycm5vKFB5RXhjX09TRXJyb3IpOworCisgICAgaWYgKFB5RXJyX0NoZWNrU2lnbmFscygpIDwgMCkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisKKyAgICBQeV9SRVRVUk5fTk9ORTsKK30KKwogLyogbWFyc2hhbCAqLwogCiBzdGF0aWMgUHlPYmplY3QqCkBAIC0zMjM2LDYgKzMzOTIsMTAgQEAKICAgICB7InRlc3RfdW5pY29kZV9jb21wYXJlX3dpdGhfYXNjaWkiLCAoUHlDRnVuY3Rpb24pdGVzdF91bmljb2RlX2NvbXBhcmVfd2l0aF9hc2NpaSwgTUVUSF9OT0FSR1N9LAogICAgIHsidGVzdF9jYXBzdWxlIiwgKFB5Q0Z1bmN0aW9uKXRlc3RfY2Fwc3VsZSwgTUVUSF9OT0FSR1N9LAogICAgIHsidGVzdF9mcm9tX2NvbnRpZ3VvdXMiLCAoUHlDRnVuY3Rpb24pdGVzdF9mcm9tX2NvbnRpZ3VvdXMsIE1FVEhfTk9BUkdTfSwKKyNpZiAoZGVmaW5lZChfX2xpbnV4X18pIHx8IGRlZmluZWQoX19GcmVlQlNEX18pKSAmJiBkZWZpbmVkKF9fR05VQ19fKQorICAgIHsidGVzdF9wZXAzMTE4X29ic29sZXRlX3dyaXRlX2xvY2tzIiwgKFB5Q0Z1bmN0aW9uKXRlc3RfcGVwMzExOF9vYnNvbGV0ZV93cml0ZV9sb2NrcywgTUVUSF9OT0FSR1N9LAorI2VuZGlmCisgICAgeyJnZXRidWZmZXJfd2l0aF9udWxsX3ZpZXciLCBnZXRidWZmZXJfd2l0aF9udWxsX3ZpZXcsIE1FVEhfT30sCiAgICAgeyJnZXRhcmdzX3R1cGxlIiwgICAgICAgICAgIGdldGFyZ3NfdHVwbGUsICAgICAgICAgICAgICAgICAgIE1FVEhfVkFSQVJHU30sCiAgICAgeyJnZXRhcmdzX2tleXdvcmRzIiwgKFB5Q0Z1bmN0aW9uKWdldGFyZ3Nfa2V5d29yZHMsCiAgICAgICBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEU30sCkBAIC0zMzA5LDYgKzM0NjksNyBAQAogICAgIHsicHl0aW1lX29iamVjdF90b190aW1ldmFsIiwgdGVzdF9weXRpbWVfb2JqZWN0X3RvX3RpbWV2YWwsICBNRVRIX1ZBUkFSR1N9LAogICAgIHsicHl0aW1lX29iamVjdF90b190aW1lc3BlYyIsIHRlc3RfcHl0aW1lX29iamVjdF90b190aW1lc3BlYywgIE1FVEhfVkFSQVJHU30sCiAgICAgeyJ3aXRoX3RwX2RlbCIsICAgICAgICAgICAgIHdpdGhfdHBfZGVsLCAgICAgICAgICAgICAgICAgICAgIE1FVEhfVkFSQVJHU30sCisgICAgeyJjcmVhdGVfY2Z1bmN0aW9uIiwgICAgICAgIGNyZWF0ZV9jZnVuY3Rpb24sICAgICAgICAgICAgICAgIE1FVEhfTk9BUkdTfSwKICAgICB7InRlc3RfcHltZW1fYWxsb2MwIiwKICAgICAgKFB5Q0Z1bmN0aW9uKXRlc3RfcHltZW1fYWxsb2MwLCBNRVRIX05PQVJHU30sCiAgICAgeyJ0ZXN0X3B5bWVtX3NldHJhd2FsbG9jYXRvcnMiLApAQCAtMzM0MCw2ICszNTAxLDggQEAKICAgICB7ImRvY3N0cmluZ193aXRoX3NpZ25hdHVyZV93aXRoX2RlZmF1bHRzIiwKICAgICAgICAgKFB5Q0Z1bmN0aW9uKXRlc3Rfd2l0aF9kb2NzdHJpbmcsIE1FVEhfTk9BUkdTLAogICAgICAgICBkb2NzdHJpbmdfd2l0aF9zaWduYXR1cmVfd2l0aF9kZWZhdWx0c30sCisgICAgeyJyYWlzZV9zaWduYWwiLAorICAgICAoUHlDRnVuY3Rpb24pdGVzdF9yYWlzZV9zaWduYWwsIE1FVEhfVkFSQVJHU30sCiAjaWZkZWYgV0lUSF9USFJFQUQKICAgICB7ImNhbGxfaW5fdGVtcG9yYXJ5X2NfdGhyZWFkIiwgY2FsbF9pbl90ZW1wb3JhcnlfY190aHJlYWQsIE1FVEhfTywKICAgICAgUHlEb2NfU1RSKCJzZXRfZXJyb3JfY2xhc3MoZXJyb3JfY2xhc3MpIC0+IE5vbmUiKX0sCkBAIC0zNTE1LDYgKzM2NzgsMTA5IEBACiB9OwogCiAKK3R5cGVkZWYgc3RydWN0IHsKKyAgICBQeU9iamVjdF9IRUFECit9IG1hdG11bE9iamVjdDsKKworc3RhdGljIFB5T2JqZWN0ICoKK21hdG11bFR5cGVfbWF0bXVsKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqb3RoZXIpCit7CisgICAgcmV0dXJuIFB5X0J1aWxkVmFsdWUoIihzT08pIiwgIm1hdG11bCIsIHNlbGYsIG90aGVyKTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK21hdG11bFR5cGVfaW1hdG11bChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKm90aGVyKQoreworICAgIHJldHVybiBQeV9CdWlsZFZhbHVlKCIoc09PKSIsICJpbWF0bXVsIiwgc2VsZiwgb3RoZXIpOworfQorCitzdGF0aWMgdm9pZAorbWF0bXVsVHlwZV9kZWFsbG9jKFB5T2JqZWN0ICpzZWxmKQoreworICAgIFB5X1RZUEUoc2VsZiktPnRwX2ZyZWUoc2VsZik7Cit9CisKK3N0YXRpYyBQeU51bWJlck1ldGhvZHMgbWF0bXVsVHlwZV9hc19udW1iZXIgPSB7CisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIG5iX2FkZCAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBuYl9zdWJ0cmFjdCAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBuYl9tdWx0aXBseSAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBuYl9yZW1haW5kZSByKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLyogbmJfZGl2bW9kICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIG5iX3Bvd2VyICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIG5iX25lZ2F0aXZlICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX3Bvc2l0aXZlICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2Fic29sdXRlICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2Jvb2wgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLyogbmJfaW52ZXJ0ICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIG5iX2xzaGlmdCAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBuYl9yc2hpZnQgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLyogbmJfYW5kICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIG5iX3hvciAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBuYl9vciAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBuYl9pbnQgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLyogbmJfcmVzZXJ2ZWQgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLyogbmJfZmxvYXQgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLyogbmJfaW5wbGFjZV9hZGQgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLyogbmJfaW5wbGFjZV9zdWJ0cmFjdCAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBuYl9pbnBsYWNlX211bHRpcGx5ICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIG5iX2lucGxhY2VfcmVtYWluZGVyICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIG5iX2lucGxhY2VfcG93ZXIgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLyogbmJfaW5wbGFjZV9sc2hpZnQgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLyogbmJfaW5wbGFjZV9yc2hpZnQgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLyogbmJfaW5wbGFjZV9hbmQgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLyogbmJfaW5wbGFjZV94b3IgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLyogbmJfaW5wbGFjZV9vciAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBuYl9mbG9vcl9kaXZpZGUgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLyogbmJfdHJ1ZV9kaXZpZGUgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLyogbmJfaW5wbGFjZV9mbG9vcl9kaXZpZGUgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLyogbmJfaW5wbGFjZV90cnVlX2RpdmlkZSAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBuYl9pbmRleCAqLworICAgIG1hdG11bFR5cGVfbWF0bXVsLCAgICAgICAgLyogbmJfbWF0cml4X211bHRpcGx5ICovCisgICAgbWF0bXVsVHlwZV9pbWF0bXVsICAgICAgICAvKiBuYl9tYXRyaXhfaW5wbGFjZV9tdWx0aXBseSAqLworfTsKKworc3RhdGljIFB5VHlwZU9iamVjdCBtYXRtdWxUeXBlID0geworICAgIFB5VmFyT2JqZWN0X0hFQURfSU5JVChOVUxMLCAwKQorICAgICJtYXRtdWxUeXBlIiwKKyAgICBzaXplb2YobWF0bXVsT2JqZWN0KSwgICAgICAgICAgICAgICAvKiB0cF9iYXNpY3NpemUgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9pdGVtc2l6ZSAqLworICAgIG1hdG11bFR5cGVfZGVhbGxvYywgICAgICAgICAgICAgICAgIC8qIGRlc3RydWN0b3IgdHBfZGVhbGxvYyAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX3ByaW50ICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfZ2V0YXR0ciAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX3NldGF0dHIgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9yZXNlcnZlZCAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX3JlcHIgKi8KKyAgICAmbWF0bXVsVHlwZV9hc19udW1iZXIsICAgICAgICAgICAgICAvKiB0cF9hc19udW1iZXIgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9hc19zZXF1ZW5jZSAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2FzX21hcHBpbmcgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9oYXNoICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfY2FsbCAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX3N0ciAqLworICAgIFB5T2JqZWN0X0dlbmVyaWNHZXRBdHRyLCAgICAgICAgICAgIC8qIHRwX2dldGF0dHJvICovCisgICAgUHlPYmplY3RfR2VuZXJpY1NldEF0dHIsICAgICAgICAgICAgLyogdHBfc2V0YXR0cm8gKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9hc19idWZmZXIgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9mbGFncyAqLworICAgICJDIGxldmVsIHR5cGUgd2l0aCBtYXRyaXggb3BlcmF0aW9ucyBkZWZpbmVkIiwKKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cmF2ZXJzZXByb2MgdHBfdHJhdmVyc2UgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9jbGVhciAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX3JpY2hjb21wYXJlICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfd2Vha2xpc3RvZmZzZXQgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9pdGVyICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfaXRlcm5leHQgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9tZXRob2RzICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfbWVtYmVycyAqLworICAgIDAsCisgICAgMCwKKyAgICAwLAorICAgIDAsCisgICAgMCwKKyAgICAwLAorICAgIDAsCisgICAgMCwKKyAgICBQeVR5cGVfR2VuZXJpY05ldywgICAgICAgICAgICAgICAgICAvKiB0cF9uZXcgKi8KKyAgICBQeU9iamVjdF9EZWwsICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9mcmVlICovCit9OworCiAKIHN0YXRpYyBzdHJ1Y3QgUHlNb2R1bGVEZWYgX3Rlc3RjYXBpbW9kdWxlID0gewogICAgIFB5TW9kdWxlRGVmX0hFQURfSU5JVCwKQEAgLTM1NDQsNiArMzgxMCwxMCBAQAogICAgIC8qIGRvbid0IHVzZSBhIG5hbWUgc3RhcnRpbmcgd2l0aCAidGVzdCIsIHNpbmNlIHdlIGRvbid0IHdhbnQKICAgICAgICB0ZXN0X2NhcGkgdG8gYXV0b21hdGljYWxseSBjYWxsIHRoaXMgKi8KICAgICBQeU1vZHVsZV9BZGRPYmplY3QobSwgIl90ZXN0X3N0cnVjdG1lbWJlcnNUeXBlIiwgKFB5T2JqZWN0ICopJnRlc3Rfc3RydWN0bWVtYmVyc1R5cGUpOworICAgIGlmIChQeVR5cGVfUmVhZHkoJm1hdG11bFR5cGUpIDwgMCkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgUHlfSU5DUkVGKCZtYXRtdWxUeXBlKTsKKyAgICBQeU1vZHVsZV9BZGRPYmplY3QobSwgIm1hdG11bFR5cGUiLCAoUHlPYmplY3QgKikmbWF0bXVsVHlwZSk7CiAKICAgICBQeU1vZHVsZV9BZGRPYmplY3QobSwgIkNIQVJfTUFYIiwgUHlMb25nX0Zyb21Mb25nKENIQVJfTUFYKSk7CiAgICAgUHlNb2R1bGVfQWRkT2JqZWN0KG0sICJDSEFSX01JTiIsIFB5TG9uZ19Gcm9tTG9uZyhDSEFSX01JTikpOwpkaWZmIC0tZ2l0IGEvTW9kdWxlcy9fdGhyZWFkbW9kdWxlLmMgYi9Nb2R1bGVzL190aHJlYWRtb2R1bGUuYwppbmRleCA5OTI1YjBlLi44ZjU5ZTAzIDEwMDY0NAotLS0gYS9Nb2R1bGVzL190aHJlYWRtb2R1bGUuYworKysgYi9Nb2R1bGVzL190aHJlYWRtb2R1bGUuYwpAQCAtNTcsNyArNTcsNyBAQAogCiAKICAgICBpZiAobWljcm9zZWNvbmRzID4gMCkgewotICAgICAgICBfUHlUaW1lX2dldHRpbWVvZmRheSgmZW5kdGltZSk7CisgICAgICAgIF9QeVRpbWVfbW9ub3RvbmljKCZlbmR0aW1lKTsKICAgICAgICAgZW5kdGltZS50dl9zZWMgKz0gbWljcm9zZWNvbmRzIC8gKDEwMDAgKiAxMDAwKTsKICAgICAgICAgZW5kdGltZS50dl91c2VjICs9IG1pY3Jvc2Vjb25kcyAlICgxMDAwICogMTAwMCk7CiAgICAgfQpAQCAtODMsNyArODMsNyBAQAogICAgICAgICAgICAgLyogSWYgd2UncmUgdXNpbmcgYSB0aW1lb3V0LCByZWNvbXB1dGUgdGhlIHRpbWVvdXQgYWZ0ZXIgcHJvY2Vzc2luZwogICAgICAgICAgICAgICogc2lnbmFscywgc2luY2UgdGhvc2UgY2FuIHRha2UgdGltZS4gICovCiAgICAgICAgICAgICBpZiAobWljcm9zZWNvbmRzID4gMCkgewotICAgICAgICAgICAgICAgIF9QeVRpbWVfZ2V0dGltZW9mZGF5KCZjdXJ0aW1lKTsKKyAgICAgICAgICAgICAgICBfUHlUaW1lX21vbm90b25pYygmY3VydGltZSk7CiAgICAgICAgICAgICAgICAgbWljcm9zZWNvbmRzID0gKChlbmR0aW1lLnR2X3NlYyAtIGN1cnRpbWUudHZfc2VjKSAqIDEwMDAwMDAgKwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZW5kdGltZS50dl91c2VjIC0gY3VydGltZS50dl91c2VjKSk7CiAKQEAgLTE5Miw2ICsxOTIsMTMgQEAKIFxuXAogUmV0dXJuIHdoZXRoZXIgdGhlIGxvY2sgaXMgaW4gdGhlIGxvY2tlZCBzdGF0ZS4iKTsKIAorc3RhdGljIFB5T2JqZWN0ICoKK2xvY2tfcmVwcihsb2Nrb2JqZWN0ICpzZWxmKQoreworICAgIHJldHVybiBQeVVuaWNvZGVfRnJvbUZvcm1hdCgiPCVzICVzIG9iamVjdCBhdCAlcD4iLAorICAgICAgICBzZWxmLT5sb2NrZWQgPyAibG9ja2VkIiA6ICJ1bmxvY2tlZCIsIFB5X1RZUEUoc2VsZiktPnRwX25hbWUsIHNlbGYpOworfQorCiBzdGF0aWMgUHlNZXRob2REZWYgbG9ja19tZXRob2RzW10gPSB7CiAgICAgeyJhY3F1aXJlX2xvY2siLCAoUHlDRnVuY3Rpb24pbG9ja19QeVRocmVhZF9hY3F1aXJlX2xvY2ssCiAgICAgIE1FVEhfVkFSQVJHUyB8IE1FVEhfS0VZV09SRFMsIGFjcXVpcmVfZG9jfSwKQEAgLTIyMyw3ICsyMzAsNyBAQAogICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qdHBfZ2V0YXR0ciovCiAgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyp0cF9zZXRhdHRyKi8KICAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKnRwX3Jlc2VydmVkKi8KLSAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKnRwX3JlcHIqLworICAgIChyZXByZnVuYylsb2NrX3JlcHIsICAgICAgICAgICAgICAgIC8qdHBfcmVwciovCiAgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyp0cF9hc19udW1iZXIqLwogICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qdHBfYXNfc2VxdWVuY2UqLwogICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qdHBfYXNfbWFwcGluZyovCkBAIC00NzUsOCArNDgyLDEwIEBACiBzdGF0aWMgUHlPYmplY3QgKgogcmxvY2tfcmVwcihybG9ja29iamVjdCAqc2VsZikKIHsKLSAgICByZXR1cm4gUHlVbmljb2RlX0Zyb21Gb3JtYXQoIjwlcyBvd25lcj0lbGQgY291bnQ9JWx1PiIsCi0gICAgICAgIFB5X1RZUEUoc2VsZiktPnRwX25hbWUsIHNlbGYtPnJsb2NrX293bmVyLCBzZWxmLT5ybG9ja19jb3VudCk7CisgICAgcmV0dXJuIFB5VW5pY29kZV9Gcm9tRm9ybWF0KCI8JXMgJXMgb2JqZWN0IG93bmVyPSVsZCBjb3VudD0lbHUgYXQgJXA+IiwKKyAgICAgICAgc2VsZi0+cmxvY2tfY291bnQgPyAibG9ja2VkIiA6ICJ1bmxvY2tlZCIsCisgICAgICAgIFB5X1RZUEUoc2VsZiktPnRwX25hbWUsIHNlbGYtPnJsb2NrX293bmVyLAorICAgICAgICBzZWxmLT5ybG9ja19jb3VudCwgc2VsZik7CiB9CiAKIApkaWZmIC0tZ2l0IGEvTW9kdWxlcy9fdGtpbnRlci5jIGIvTW9kdWxlcy9fdGtpbnRlci5jCmluZGV4IDE0MjQxZTUuLjUyMDY5ZWMgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvX3RraW50ZXIuYworKysgYi9Nb2R1bGVzL190a2ludGVyLmMKQEAgLTksOCArOSw4IEBACiAKIC8qIFRDTC9USyBWRVJTSU9OIElORk86CiAKLSAgICBPbmx5IFRjbC9UayA4LjMuMSBhbmQgbGF0ZXIgYXJlIHN1cHBvcnRlZC4gIE9sZGVyIHZlcnNpb25zIGFyZSBub3QKLSAgICBzdXBwb3J0ZWQuIFVzZSBQeXRob24gMi42IG9yIG9sZGVyIGlmIHlvdSBjYW5ub3QgdXBncmFkZSB5b3VyCisgICAgT25seSBUY2wvVGsgOC40IGFuZCBsYXRlciBhcmUgc3VwcG9ydGVkLiAgT2xkZXIgdmVyc2lvbnMgYXJlIG5vdAorICAgIHN1cHBvcnRlZC4gVXNlIFB5dGhvbiAzLjQgb3Igb2xkZXIgaWYgeW91IGNhbm5vdCB1cGdyYWRlIHlvdXIKICAgICBUY2wvVGsgbGlicmFyaWVzLgogKi8KIApAQCAtMjEsNiArMjEsNyBAQAogCiAqLwogCisjZGVmaW5lIFBZX1NTSVpFX1RfQ0xFQU4KIAogI2luY2x1ZGUgIlB5dGhvbi5oIgogI2luY2x1ZGUgPGN0eXBlLmg+CkBAIC0zNiwxMyArMzcsNiBAQAogI2RlZmluZSBDSEVDS19TSVpFKHNpemUsIGVsZW1zaXplKSBcCiAgICAgKChzaXplX3QpKHNpemUpIDw9IFB5X01JTigoc2l6ZV90KUlOVF9NQVgsIFVJTlRfTUFYIC8gKHNpemVfdCkoZWxlbXNpemUpKSkKIAotLyogU3RhcnRpbmcgd2l0aCBUY2wgOC40LCBtYW55IEFQSXMgb2ZmZXIgY29uc3QtY29ycmVjdG5lc3MuICBVbmZvcnR1bmF0ZWx5LAotICAgbWFraW5nIF90a2ludGVyIGNvcnJlY3QgZm9yIHRoaXMgQVBJIG1lYW5zIHRvIGJyZWFrIGVhcmxpZXIKLSAgIHZlcnNpb25zLiBVU0VfQ09NUEFUX0NPTlNUIGFsbG93cyB0byBtYWtlIF90a2ludGVyIHdvcmsgd2l0aCBib3RoIDguNCBhbmQKLSAgIGVhcmxpZXIgdmVyc2lvbnMuIE9uY2UgVGNsIHJlbGVhc2VzIGJlZm9yZSA4LjQgZG9uJ3QgbmVlZCB0byBiZSBzdXBwb3J0ZWQKLSAgIGFueW1vcmUsIHRoaXMgc2hvdWxkIGdvLiAqLwotI2RlZmluZSBVU0VfQ09NUEFUX0NPTlNUCi0KIC8qIElmIFRjbCBpcyBjb21waWxlZCBmb3IgdGhyZWFkcywgd2UgbXVzdCBhbHNvIGRlZmluZSBUQ0xfVEhSRUFELiBXZSBkZWZpbmUKICAgIGl0IGFsd2F5czsgaWYgVGNsIGlzIG5vdCB0aHJlYWRlZCwgdGhlIHRocmVhZCBmdW5jdGlvbnMgaW4KICAgIFRjbCBhcmUgZW1wdHkuICAqLwpAQCAtNTgsMTUgKzUyLDggQEAKIAogI2luY2x1ZGUgInRraW50ZXIuaCIKIAotLyogRm9yIFRjbCA4LjIgYW5kIDguMywgQ09OU1QqIGlzIG5vdCBkZWZpbmVkIChleGNlcHQgb24gQ3lnd2luKS4gKi8KLSNpZm5kZWYgQ09OU1Q4NF9SRVRVUk4KLSNkZWZpbmUgQ09OU1Q4NF9SRVRVUk4KLSN1bmRlZiBDT05TVAotI2RlZmluZSBDT05TVAotI2VuZGlmCi0KLSNpZiBUS19WRVJTSU9OX0hFWCA8IDB4MDgwMzAxMDIKLSNlcnJvciAiVGsgb2xkZXIgdGhhbiA4LjMuMSBub3Qgc3VwcG9ydGVkIgorI2lmIFRLX1ZFUlNJT05fSEVYIDwgMHgwODA0MDAwMgorI2Vycm9yICJUayBvbGRlciB0aGFuIDguNCBub3Qgc3VwcG9ydGVkIgogI2VuZGlmCiAKICNpZiAhKGRlZmluZWQoTVNfV0lORE9XUykgfHwgZGVmaW5lZChfX0NZR1dJTl9fKSkKQEAgLTI0MiwxMyArMjI5LDEzIEBACiAgICAgaW50IGRpc3BhdGNoaW5nOwogICAgIC8qIFdlIGNhbm5vdCBpbmNsdWRlIHRjbEludC5oLCBhcyB0aGlzIGlzIGludGVybmFsLgogICAgICAgIFNvIHdlIGNhY2hlIGludGVyZXN0aW5nIHR5cGVzIGhlcmUuICovCi0gICAgVGNsX09ialR5cGUgKkJvb2xlYW5UeXBlOwotICAgIFRjbF9PYmpUeXBlICpCeXRlQXJyYXlUeXBlOwotICAgIFRjbF9PYmpUeXBlICpEb3VibGVUeXBlOwotICAgIFRjbF9PYmpUeXBlICpJbnRUeXBlOwotICAgIFRjbF9PYmpUeXBlICpMaXN0VHlwZTsKLSAgICBUY2xfT2JqVHlwZSAqUHJvY0JvZHlUeXBlOwotICAgIFRjbF9PYmpUeXBlICpTdHJpbmdUeXBlOworICAgIGNvbnN0IFRjbF9PYmpUeXBlICpCb29sZWFuVHlwZTsKKyAgICBjb25zdCBUY2xfT2JqVHlwZSAqQnl0ZUFycmF5VHlwZTsKKyAgICBjb25zdCBUY2xfT2JqVHlwZSAqRG91YmxlVHlwZTsKKyAgICBjb25zdCBUY2xfT2JqVHlwZSAqSW50VHlwZTsKKyAgICBjb25zdCBUY2xfT2JqVHlwZSAqTGlzdFR5cGU7CisgICAgY29uc3QgVGNsX09ialR5cGUgKlByb2NCb2R5VHlwZTsKKyAgICBjb25zdCBUY2xfT2JqVHlwZSAqU3RyaW5nVHlwZTsKIH0gVGthcHBPYmplY3Q7CiAKICNkZWZpbmUgVGthcHBfSW50ZXJwKHYpICgoKFRrYXBwT2JqZWN0ICopICh2KSktPmludGVycCkKQEAgLTM3NiwxMCArMzYzLDEwIEBACiAKIAogc3RhdGljIFB5T2JqZWN0ICoKLVNwbGl0KGNoYXIgKmxpc3QpCitTcGxpdChjb25zdCBjaGFyICpsaXN0KQogewogICAgIGludCBhcmdjOwotICAgIGNoYXIgKiphcmd2OworICAgIGNvbnN0IGNoYXIgKiphcmd2OwogICAgIFB5T2JqZWN0ICp2OwogCiAgICAgaWYgKGxpc3QgPT0gTlVMTCkgewpAQCAtNDIzLDcgKzQxMCw3IEBACiBTcGxpdE9iaihQeU9iamVjdCAqYXJnKQogewogICAgIGlmIChQeVR1cGxlX0NoZWNrKGFyZykpIHsKLSAgICAgICAgaW50IGksIHNpemU7CisgICAgICAgIFB5X3NzaXplX3QgaSwgc2l6ZTsKICAgICAgICAgUHlPYmplY3QgKmVsZW0sICpuZXdlbGVtLCAqcmVzdWx0OwogCiAgICAgICAgIHNpemUgPSBQeVR1cGxlX1NpemUoYXJnKTsKQEAgLTQzOSw3ICs0MjYsNyBAQAogICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgaWYgKCFyZXN1bHQpIHsKLSAgICAgICAgICAgICAgICBpbnQgazsKKyAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IGs7CiAgICAgICAgICAgICAgICAgaWYgKG5ld2VsZW0gPT0gZWxlbSkgewogICAgICAgICAgICAgICAgICAgICBQeV9ERUNSRUYobmV3ZWxlbSk7CiAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwpAQCAtNDU5LDkgKzQ0NiwyOSBAQAogICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICAgICAgLyogRmFsbCB0aHJvdWdoLCByZXR1cm5pbmcgYXJnLiAqLwogICAgIH0KKyAgICBlbHNlIGlmIChQeUxpc3RfQ2hlY2soYXJnKSkgeworICAgICAgICBQeV9zc2l6ZV90IGksIHNpemU7CisgICAgICAgIFB5T2JqZWN0ICplbGVtLCAqbmV3ZWxlbSwgKnJlc3VsdDsKKworICAgICAgICBzaXplID0gUHlMaXN0X0dFVF9TSVpFKGFyZyk7CisgICAgICAgIHJlc3VsdCA9IFB5VHVwbGVfTmV3KHNpemUpOworICAgICAgICBpZiAoIXJlc3VsdCkKKyAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICAvKiBSZWN1cnNpdmVseSBpbnZva2UgU3BsaXRPYmogZm9yIGFsbCBsaXN0IGl0ZW1zLiAqLworICAgICAgICBmb3IoaSA9IDA7IGkgPCBzaXplOyBpKyspIHsKKyAgICAgICAgICAgIGVsZW0gPSBQeUxpc3RfR0VUX0lURU0oYXJnLCBpKTsKKyAgICAgICAgICAgIG5ld2VsZW0gPSBTcGxpdE9iaihlbGVtKTsKKyAgICAgICAgICAgIGlmICghbmV3ZWxlbSkgeworICAgICAgICAgICAgICAgIFB5X1hERUNSRUYocmVzdWx0KTsKKyAgICAgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIFB5VHVwbGVfU2V0SXRlbShyZXN1bHQsIGksIG5ld2VsZW0pOworICAgICAgICB9CisgICAgICAgIHJldHVybiByZXN1bHQ7CisgICAgfQogICAgIGVsc2UgaWYgKFB5VW5pY29kZV9DaGVjayhhcmcpKSB7CiAgICAgICAgIGludCBhcmdjOwotICAgICAgICBjaGFyICoqYXJndjsKKyAgICAgICAgY29uc3QgY2hhciAqKmFyZ3Y7CiAgICAgICAgIGNoYXIgKmxpc3QgPSBQeVVuaWNvZGVfQXNVVEY4KGFyZyk7CiAKICAgICAgICAgaWYgKGxpc3QgPT0gTlVMTCB8fApAQCAtNDc2LDcgKzQ4Myw3IEBACiAgICAgfQogICAgIGVsc2UgaWYgKFB5Qnl0ZXNfQ2hlY2soYXJnKSkgewogICAgICAgICBpbnQgYXJnYzsKLSAgICAgICAgY2hhciAqKmFyZ3Y7CisgICAgICAgIGNvbnN0IGNoYXIgKiphcmd2OwogICAgICAgICBjaGFyICpsaXN0ID0gUHlCeXRlc19Bc1N0cmluZyhhcmcpOwogCiAgICAgICAgIGlmIChUY2xfU3BsaXRMaXN0KChUY2xfSW50ZXJwICopTlVMTCwgbGlzdCwgJmFyZ2MsICZhcmd2KSAhPSBUQ0xfT0spIHsKQEAgLTU0Myw4ICs1NTAsOSBAQAogc3RhdGljIHZvaWQgRGlzYWJsZUV2ZW50SG9vayh2b2lkKTsgLyogRm9yd2FyZCAqLwogCiBzdGF0aWMgVGthcHBPYmplY3QgKgotVGthcHBfTmV3KGNoYXIgKnNjcmVlbk5hbWUsIGNoYXIgKmNsYXNzTmFtZSwKLSAgICAgICAgICBpbnQgaW50ZXJhY3RpdmUsIGludCB3YW50b2JqZWN0cywgaW50IHdhbnRUaywgaW50IHN5bmMsIGNoYXIgKnVzZSkKK1RrYXBwX05ldyhjb25zdCBjaGFyICpzY3JlZW5OYW1lLCBjb25zdCBjaGFyICpjbGFzc05hbWUsCisgICAgICAgICAgaW50IGludGVyYWN0aXZlLCBpbnQgd2FudG9iamVjdHMsIGludCB3YW50VGssIGludCBzeW5jLAorICAgICAgICAgIGNvbnN0IGNoYXIgKnVzZSkKIHsKICAgICBUa2FwcE9iamVjdCAqdjsKICAgICBjaGFyICphcmd2MDsKQEAgLTU5OCw3ICs2MDYsNyBAQAogICAgICAgICBUY2xfU2V0VmFyKHYtPmludGVycCwgInRjbF9pbnRlcmFjdGl2ZSIsICIwIiwgVENMX0dMT0JBTF9PTkxZKTsKIAogICAgIC8qIFRoaXMgaXMgdXNlZCB0byBnZXQgdGhlIGFwcGxpY2F0aW9uIGNsYXNzIGZvciBUayA0LjEgYW5kIHVwICovCi0gICAgYXJndjAgPSAoY2hhciopYXR0ZW1wdGNrYWxsb2Moc3RybGVuKGNsYXNzTmFtZSkgKyAxKTsKKyAgICBhcmd2MCA9IChjaGFyKilQeU1lbV9NYWxsb2Moc3RybGVuKGNsYXNzTmFtZSkgKyAxKTsKICAgICBpZiAoIWFyZ3YwKSB7CiAgICAgICAgIFB5RXJyX05vTWVtb3J5KCk7CiAgICAgICAgIFB5X0RFQ1JFRih2KTsKQEAgLTYwOSw3ICs2MTcsNyBAQAogICAgIGlmIChQeV9JU1VQUEVSKFB5X0NIQVJNQVNLKGFyZ3YwWzBdKSkpCiAgICAgICAgIGFyZ3YwWzBdID0gUHlfVE9MT1dFUihQeV9DSEFSTUFTSyhhcmd2MFswXSkpOwogICAgIFRjbF9TZXRWYXIodi0+aW50ZXJwLCAiYXJndjAiLCBhcmd2MCwgVENMX0dMT0JBTF9PTkxZKTsKLSAgICBja2ZyZWUoYXJndjApOworICAgIFB5TWVtX0ZyZWUoYXJndjApOwogCiAgICAgaWYgKCEgd2FudFRrKSB7CiAgICAgICAgIFRjbF9TZXRWYXIodi0+aW50ZXJwLApAQCAtNjI1LDE0ICs2MzMsMTQgQEAKICAgICAvKiBzb21lIGluaXRpYWwgYXJndW1lbnRzIG5lZWQgdG8gYmUgaW4gYXJndiAqLwogICAgIGlmIChzeW5jIHx8IHVzZSkgewogICAgICAgICBjaGFyICphcmdzOwotICAgICAgICBpbnQgbGVuID0gMDsKKyAgICAgICAgUHlfc3NpemVfdCBsZW4gPSAwOwogCiAgICAgICAgIGlmIChzeW5jKQogICAgICAgICAgICAgbGVuICs9IHNpemVvZiAiLXN5bmMiOwogICAgICAgICBpZiAodXNlKQotICAgICAgICAgICAgbGVuICs9IHN0cmxlbih1c2UpICsgc2l6ZW9mICItdXNlICI7CisgICAgICAgICAgICBsZW4gKz0gc3RybGVuKHVzZSkgKyBzaXplb2YgIi11c2UgIjsgIC8qIG5ldmVyIG92ZXJmbG93cyAqLwogCi0gICAgICAgIGFyZ3MgPSAoY2hhciopYXR0ZW1wdGNrYWxsb2MobGVuKTsKKyAgICAgICAgYXJncyA9IChjaGFyKilQeU1lbV9NYWxsb2MobGVuKTsKICAgICAgICAgaWYgKCFhcmdzKSB7CiAgICAgICAgICAgICBQeUVycl9Ob01lbW9yeSgpOwogICAgICAgICAgICAgUHlfREVDUkVGKHYpOwpAQCAtNjUwLDcgKzY1OCw3IEBACiAgICAgICAgIH0KIAogICAgICAgICBUY2xfU2V0VmFyKHYtPmludGVycCwgImFyZ3YiLCBhcmdzLCBUQ0xfR0xPQkFMX09OTFkpOwotICAgICAgICBja2ZyZWUoYXJncyk7CisgICAgICAgIFB5TWVtX0ZyZWUoYXJncyk7CiAgICAgfQogCiAgICAgaWYgKFRjbF9BcHBJbml0KHYtPmludGVycCkgIT0gVENMX09LKSB7CkBAIC04ODAsOSArODg4LDE0IEBACiAgICAgbG9uZyBsb25nVmFsOwogICAgIGludCBvdmVyZmxvdzsKIAotICAgIGlmIChQeUJ5dGVzX0NoZWNrKHZhbHVlKSkKKyAgICBpZiAoUHlCeXRlc19DaGVjayh2YWx1ZSkpIHsKKyAgICAgICAgaWYgKFB5Qnl0ZXNfR0VUX1NJWkUodmFsdWUpID49IElOVF9NQVgpIHsKKyAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19PdmVyZmxvd0Vycm9yLCAiYnl0ZXMgb2JqZWN0IGlzIHRvbyBsb25nIik7CisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgfQogICAgICAgICByZXR1cm4gVGNsX05ld0J5dGVBcnJheU9iaigodW5zaWduZWQgY2hhciAqKVB5Qnl0ZXNfQVNfU1RSSU5HKHZhbHVlKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlCeXRlc19HRVRfU0laRSh2YWx1ZSkpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoaW50KVB5Qnl0ZXNfR0VUX1NJWkUodmFsdWUpKTsKKyAgICB9CiAgICAgZWxzZSBpZiAoUHlCb29sX0NoZWNrKHZhbHVlKSkKICAgICAgICAgcmV0dXJuIFRjbF9OZXdCb29sZWFuT2JqKFB5T2JqZWN0X0lzVHJ1ZSh2YWx1ZSkpOwogICAgIGVsc2UgaWYgKFB5TG9uZ19DaGVja0V4YWN0KHZhbHVlKSAmJgpAQCAtODk0LDI0ICs5MDcsMjggQEAKICAgICB9CiAgICAgZWxzZSBpZiAoUHlGbG9hdF9DaGVjayh2YWx1ZSkpCiAgICAgICAgIHJldHVybiBUY2xfTmV3RG91YmxlT2JqKFB5RmxvYXRfQVNfRE9VQkxFKHZhbHVlKSk7Ci0gICAgZWxzZSBpZiAoUHlUdXBsZV9DaGVjayh2YWx1ZSkpIHsKKyAgICBlbHNlIGlmIChQeVR1cGxlX0NoZWNrKHZhbHVlKSB8fCBQeUxpc3RfQ2hlY2sodmFsdWUpKSB7CiAgICAgICAgIFRjbF9PYmogKiphcmd2OwogICAgICAgICBQeV9zc2l6ZV90IHNpemUsIGk7CiAKLSAgICAgICAgc2l6ZSA9IFB5VHVwbGVfU2l6ZSh2YWx1ZSk7CisgICAgICAgIHNpemUgPSBQeVNlcXVlbmNlX0Zhc3RfR0VUX1NJWkUodmFsdWUpOwogICAgICAgICBpZiAoc2l6ZSA9PSAwKQogICAgICAgICAgICAgcmV0dXJuIFRjbF9OZXdMaXN0T2JqKDAsIE5VTEwpOwogICAgICAgICBpZiAoIUNIRUNLX1NJWkUoc2l6ZSwgc2l6ZW9mKFRjbF9PYmogKikpKSB7Ci0gICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfT3ZlcmZsb3dFcnJvciwgInR1cGxlIGlzIHRvbyBsb25nIik7CisgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfT3ZlcmZsb3dFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeVR1cGxlX0NoZWNrKHZhbHVlKSA/ICJ0dXBsZSBpcyB0b28gbG9uZyIgOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpc3QgaXMgdG9vIGxvbmciKTsKICAgICAgICAgICAgIHJldHVybiBOVUxMOwogICAgICAgICB9Ci0gICAgICAgIGFyZ3YgPSAoVGNsX09iaiAqKikgYXR0ZW1wdGNrYWxsb2MoKChzaXplX3Qpc2l6ZSkgKiBzaXplb2YoVGNsX09iaiAqKSk7Ci0gICAgICAgIGlmKCFhcmd2KQotICAgICAgICAgIHJldHVybiAwOworICAgICAgICBhcmd2ID0gKFRjbF9PYmogKiopIFB5TWVtX01hbGxvYygoKHNpemVfdClzaXplKSAqIHNpemVvZihUY2xfT2JqICopKTsKKyAgICAgICAgaWYgKCFhcmd2KSB7CisgICAgICAgICAgUHlFcnJfTm9NZW1vcnkoKTsKKyAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgfQogICAgICAgICBmb3IgKGkgPSAwOyBpIDwgc2l6ZTsgaSsrKQotICAgICAgICAgIGFyZ3ZbaV0gPSBBc09iaihQeVR1cGxlX0dldEl0ZW0odmFsdWUsaSkpOwotICAgICAgICByZXN1bHQgPSBUY2xfTmV3TGlzdE9iaihQeVR1cGxlX1NpemUodmFsdWUpLCBhcmd2KTsKLSAgICAgICAgY2tmcmVlKEZSRUVDQVNUIGFyZ3YpOworICAgICAgICAgIGFyZ3ZbaV0gPSBBc09iaihQeVNlcXVlbmNlX0Zhc3RfR0VUX0lURU0odmFsdWUsaSkpOworICAgICAgICByZXN1bHQgPSBUY2xfTmV3TGlzdE9iaigoaW50KXNpemUsIGFyZ3YpOworICAgICAgICBQeU1lbV9GcmVlKGFyZ3YpOwogICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgIH0KICAgICBlbHNlIGlmIChQeVVuaWNvZGVfQ2hlY2sodmFsdWUpKSB7CkBAIC05MzUsOSArOTUyLDkgQEAKICAgICAgICAgfQogICAgICAgICBraW5kID0gUHlVbmljb2RlX0tJTkQodmFsdWUpOwogICAgICAgICBpZiAoa2luZCA9PSBzaXplb2YoVGNsX1VuaUNoYXIpKQotICAgICAgICAgICAgcmV0dXJuIFRjbF9OZXdVbmljb2RlT2JqKGluYnVmLCBzaXplKTsKKyAgICAgICAgICAgIHJldHVybiBUY2xfTmV3VW5pY29kZU9iaihpbmJ1ZiwgKGludClzaXplKTsKICAgICAgICAgYWxsb2NzaXplID0gKChzaXplX3Qpc2l6ZSkgKiBzaXplb2YoVGNsX1VuaUNoYXIpOwotICAgICAgICBvdXRidWYgPSAoVGNsX1VuaUNoYXIqKWF0dGVtcHRja2FsbG9jKGFsbG9jc2l6ZSk7CisgICAgICAgIG91dGJ1ZiA9IChUY2xfVW5pQ2hhciopUHlNZW1fTWFsbG9jKGFsbG9jc2l6ZSk7CiAgICAgICAgIC8qIEVsc2Ugb3ZlcmZsb3cgb2NjdXJyZWQsIGFuZCB3ZSB0YWtlIHRoZSBuZXh0IGV4aXQgKi8KICAgICAgICAgaWYgKCFvdXRidWYpIHsKICAgICAgICAgICAgIFB5RXJyX05vTWVtb3J5KCk7CkBAIC05NTQsMTQgKzk3MSwxNCBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY2hhcmFjdGVyIFUrJXggaXMgYWJvdmUgdGhlIHJhbmdlICIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIihVKzAwMDAtVStGRkZGKSBhbGxvd2VkIGJ5IFRjbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoKTsKLSAgICAgICAgICAgICAgICBja2ZyZWUoRlJFRUNBU1Qgb3V0YnVmKTsKKyAgICAgICAgICAgICAgICBQeU1lbV9GcmVlKG91dGJ1Zik7CiAgICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgICAgICAgICB9CiAjZW5kaWYKICAgICAgICAgICAgIG91dGJ1ZltpXSA9IGNoOwogICAgICAgICB9Ci0gICAgICAgIHJlc3VsdCA9IFRjbF9OZXdVbmljb2RlT2JqKG91dGJ1Ziwgc2l6ZSk7Ci0gICAgICAgIGNrZnJlZShGUkVFQ0FTVCBvdXRidWYpOworICAgICAgICByZXN1bHQgPSBUY2xfTmV3VW5pY29kZU9iaihvdXRidWYsIChpbnQpc2l6ZSk7CisgICAgICAgIFB5TWVtX0ZyZWUob3V0YnVmKTsKICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICB9CiAgICAgZWxzZSBpZihQeVRjbE9iamVjdF9DaGVjayh2YWx1ZSkpIHsKQEAgLTEwNzMsNyArMTA5MCw3IEBACiAgICAgZm9yIChpID0gMDsgaSA8IG9iamM7IGkrKykKICAgICAgICAgVGNsX0RlY3JSZWZDb3VudChvYmp2W2ldKTsKICAgICBpZiAob2JqdiAhPSBvYmpTdG9yZSkKLSAgICAgICAgY2tmcmVlKEZSRUVDQVNUIG9ianYpOworICAgICAgICBQeU1lbV9GcmVlKG9ianYpOwogfQogCiAvKiBDb252ZXJ0IFB5dGhvbiBvYmplY3RzIHRvIFRjbCBvYmplY3RzLiBUaGlzIG11c3QgaGFwcGVuIGluIHRoZQpAQCAtMTA4Nyw3ICsxMTA0LDcgQEAKICAgICBpZiAoYXJncyA9PSBOVUxMKQogICAgICAgICAvKiBkbyBub3RoaW5nICovOwogCi0gICAgZWxzZSBpZiAoIVB5VHVwbGVfQ2hlY2soYXJncykpIHsKKyAgICBlbHNlIGlmICghKFB5VHVwbGVfQ2hlY2soYXJncykgfHwgUHlMaXN0X0NoZWNrKGFyZ3MpKSkgewogICAgICAgICBvYmp2WzBdID0gQXNPYmooYXJncyk7CiAgICAgICAgIGlmIChvYmp2WzBdID09IDApCiAgICAgICAgICAgICBnb3RvIGZpbmFsbHk7CkBAIC0xMDk1LDE0ICsxMTEyLDE2IEBACiAgICAgICAgIFRjbF9JbmNyUmVmQ291bnQob2JqdlswXSk7CiAgICAgfQogICAgIGVsc2UgewotICAgICAgICBvYmpjID0gUHlUdXBsZV9TaXplKGFyZ3MpOworICAgICAgICBvYmpjID0gUHlTZXF1ZW5jZV9GYXN0X0dFVF9TSVpFKGFyZ3MpOwogCiAgICAgICAgIGlmIChvYmpjID4gQVJHU1opIHsKICAgICAgICAgICAgIGlmICghQ0hFQ0tfU0laRShvYmpjLCBzaXplb2YoVGNsX09iaiAqKSkpIHsKLSAgICAgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfT3ZlcmZsb3dFcnJvciwgInR1cGxlIGlzIHRvbyBsb25nIik7CisgICAgICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX092ZXJmbG93RXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5VHVwbGVfQ2hlY2soYXJncykgPyAidHVwbGUgaXMgdG9vIGxvbmciIDoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsaXN0IGlzIHRvbyBsb25nIik7CiAgICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBvYmp2ID0gKFRjbF9PYmogKiopYXR0ZW1wdGNrYWxsb2MoKChzaXplX3Qpb2JqYykgKiBzaXplb2YoVGNsX09iaiAqKSk7CisgICAgICAgICAgICBvYmp2ID0gKFRjbF9PYmogKiopUHlNZW1fTWFsbG9jKCgoc2l6ZV90KW9iamMpICogc2l6ZW9mKFRjbF9PYmogKikpOwogICAgICAgICAgICAgaWYgKG9ianYgPT0gTlVMTCkgewogICAgICAgICAgICAgICAgIFB5RXJyX05vTWVtb3J5KCk7CiAgICAgICAgICAgICAgICAgb2JqYyA9IDA7CkBAIC0xMTExLDcgKzExMzAsNyBAQAogICAgICAgICB9CiAKICAgICAgICAgZm9yIChpID0gMDsgaSA8IG9iamM7IGkrKykgewotICAgICAgICAgICAgUHlPYmplY3QgKnYgPSBQeVR1cGxlX0dldEl0ZW0oYXJncywgaSk7CisgICAgICAgICAgICBQeU9iamVjdCAqdiA9IFB5U2VxdWVuY2VfRmFzdF9HRVRfSVRFTShhcmdzLCBpKTsKICAgICAgICAgICAgIGlmICh2ID09IFB5X05vbmUpIHsKICAgICAgICAgICAgICAgICBvYmpjID0gaTsKICAgICAgICAgICAgICAgICBicmVhazsKQEAgLTExMjYsMTAgKzExNDUsMTAgQEAKICAgICAgICAgICAgIFRjbF9JbmNyUmVmQ291bnQob2JqdltpXSk7CiAgICAgICAgIH0KICAgICB9Ci0gICAgKnBvYmpjID0gb2JqYzsKKyAgICAqcG9iamMgPSAoaW50KW9iamM7CiAgICAgcmV0dXJuIG9ianY7CiBmaW5hbGx5OgotICAgIFRrYXBwX0NhbGxEZWFsbG9jQXJncyhvYmp2LCBvYmpTdG9yZSwgb2JqYyk7CisgICAgVGthcHBfQ2FsbERlYWxsb2NBcmdzKG9ianYsIG9ialN0b3JlLCAoaW50KW9iamMpOwogICAgIHJldHVybiBOVUxMOwogfQogCkBAIC0xNDExLDggKzE0MzAsOCBAQAogICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgIH0KICAgICAgICAgcyA9IFB5Qnl0ZXNfQXNTdHJpbmcoaW4pOwotICAgICAgICBpZiAoc3RybGVuKHMpICE9IFB5Qnl0ZXNfU2l6ZShpbikpIHsKLSAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLCAibnVsbCBieXRlIGluIGJ5dGVzIG9iamVjdCIpOworICAgICAgICBpZiAoc3RybGVuKHMpICE9IChzaXplX3QpUHlCeXRlc19TaXplKGluKSkgeworICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsICJlbWJlZGRlZCBudWxsIGJ5dGUiKTsKICAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgICB9CiAgICAgICAgICpvdXQgPSBzOwpAQCAtMTQyOCw4ICsxNDQ3LDggQEAKICAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19PdmVyZmxvd0Vycm9yLCAic3RyaW5nIGlzIHRvbyBsb25nIik7CiAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAgfQotICAgICAgICBpZiAoc3RybGVuKHMpICE9IHNpemUpIHsKLSAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLCAibnVsbCBjaGFyYWN0ZXIgaW4gc3RyaW5nIik7CisgICAgICAgIGlmIChzdHJsZW4ocykgIT0gKHNpemVfdClzaXplKSB7CisgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwgImVtYmVkZGVkIG51bGwgY2hhcmFjdGVyIik7CiAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAgfQogICAgICAgICAqb3V0ID0gczsKQEAgLTE0ODIsNyArMTUwMSw2IEBACiAjaWZkZWYgV0lUSF9USFJFQUQKICAgICBUa2FwcE9iamVjdCAqc2VsZiA9IChUa2FwcE9iamVjdCopc2VsZnB0cjsKICAgICBpZiAoc2VsZi0+dGhyZWFkZWQgJiYgc2VsZi0+dGhyZWFkX2lkICE9IFRjbF9HZXRDdXJyZW50VGhyZWFkKCkpIHsKLSAgICAgICAgVGthcHBPYmplY3QgKnNlbGYgPSAoVGthcHBPYmplY3QqKXNlbGZwdHI7CiAgICAgICAgIFZhckV2ZW50ICpldjsKICAgICAgICAgUHlPYmplY3QgKnJlcywgKmV4Y190eXBlLCAqZXhjX3ZhbDsKICAgICAgICAgVGNsX0NvbmRpdGlvbiBjb25kID0gTlVMTDsKQEAgLTE4NDQsNyArMTg2Miw3IEBACiB7CiAgICAgY2hhciAqbGlzdDsKICAgICBpbnQgYXJnYzsKLSAgICBjaGFyICoqYXJndjsKKyAgICBjb25zdCBjaGFyICoqYXJndjsKICAgICBQeU9iamVjdCAqYXJnLCAqdjsKICAgICBpbnQgaTsKIApAQCAtMTg3Myw2ICsxODkxLDkgQEAKICAgICAgICAgUHlfSU5DUkVGKGFyZyk7CiAgICAgICAgIHJldHVybiBhcmc7CiAgICAgfQorICAgIGlmIChQeUxpc3RfQ2hlY2soYXJnKSkgeworICAgICAgICByZXR1cm4gUHlTZXF1ZW5jZV9UdXBsZShhcmcpOworICAgIH0KIAogICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiZXQ6c3BsaXRsaXN0IiwgInV0Zi04IiwgJmxpc3QpKQogICAgICAgICByZXR1cm4gTlVMTDsKQEAgLTE5MzQsNyArMTk1NSw3IEBACiAgICAgICAgIH0KICAgICAgICAgcmV0dXJuIHY7CiAgICAgfQotICAgIGlmIChQeVR1cGxlX0NoZWNrKGFyZykpCisgICAgaWYgKFB5VHVwbGVfQ2hlY2soYXJnKSB8fCBQeUxpc3RfQ2hlY2soYXJnKSkKICAgICAgICAgcmV0dXJuIFNwbGl0T2JqKGFyZyk7CiAKICAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgImV0OnNwbGl0IiwgInV0Zi04IiwgJmxpc3QpKQpAQCAtMTk2OCw3ICsxOTg5LDcgQEAKICAqIGZ1bmN0aW9uIG9yIG1ldGhvZC4KICAqLwogc3RhdGljIGludAotUHl0aG9uQ21kKENsaWVudERhdGEgY2xpZW50RGF0YSwgVGNsX0ludGVycCAqaW50ZXJwLCBpbnQgYXJnYywgY2hhciAqYXJndltdKQorUHl0aG9uQ21kKENsaWVudERhdGEgY2xpZW50RGF0YSwgVGNsX0ludGVycCAqaW50ZXJwLCBpbnQgYXJnYywgY29uc3QgY2hhciAqYXJndltdKQogewogICAgIFB5dGhvbkNtZF9DbGllbnREYXRhICpkYXRhID0gKFB5dGhvbkNtZF9DbGllbnREYXRhICopY2xpZW50RGF0YTsKICAgICBQeU9iamVjdCAqZnVuYywgKmFyZywgKnJlczsKQEAgLTI3MDUsMjAgKzI3MjYsMjAgQEAKIAogdHlwZWRlZiBzdHJ1Y3QgewogICAgIFB5T2JqZWN0KiB0dXBsZTsKLSAgICBpbnQgc2l6ZTsgLyogY3VycmVudCBzaXplICovCi0gICAgaW50IG1heHNpemU7IC8qIGFsbG9jYXRlZCBzaXplICovCisgICAgUHlfc3NpemVfdCBzaXplOyAvKiBjdXJyZW50IHNpemUgKi8KKyAgICBQeV9zc2l6ZV90IG1heHNpemU7IC8qIGFsbG9jYXRlZCBzaXplICovCiB9IEZsYXR0ZW5Db250ZXh0OwogCiBzdGF0aWMgaW50Ci1fYnVtcChGbGF0dGVuQ29udGV4dCogY29udGV4dCwgaW50IHNpemUpCitfYnVtcChGbGF0dGVuQ29udGV4dCogY29udGV4dCwgUHlfc3NpemVfdCBzaXplKQogewogICAgIC8qIGV4cGFuZCB0dXBsZSB0byBob2xkIChhdCBsZWFzdCkgc2l6ZSBuZXcgaXRlbXMuCiAgICAgICAgcmV0dXJuIHRydWUgaWYgc3VjY2Vzc2Z1bCwgZmFsc2UgaWYgYW4gZXhjZXB0aW9uIHdhcyByYWlzZWQgKi8KIAotICAgIGludCBtYXhzaXplID0gY29udGV4dC0+bWF4c2l6ZSAqIDI7CisgICAgUHlfc3NpemVfdCBtYXhzaXplID0gY29udGV4dC0+bWF4c2l6ZSAqIDI7ICAvKiBuZXZlciBvdmVyZmxvd3MgKi8KIAogICAgIGlmIChtYXhzaXplIDwgY29udGV4dC0+c2l6ZSArIHNpemUpCi0gICAgICAgIG1heHNpemUgPSBjb250ZXh0LT5zaXplICsgc2l6ZTsKKyAgICAgICAgbWF4c2l6ZSA9IGNvbnRleHQtPnNpemUgKyBzaXplOyAgLyogbmV2ZXIgb3ZlcmZsb3dzICovCiAKICAgICBjb250ZXh0LT5tYXhzaXplID0gbWF4c2l6ZTsKIApAQCAtMjczMCw0MSArMjc1MSwyMSBAQAogewogICAgIC8qIGFkZCB0dXBsZSBvciBsaXN0IHRvIGFyZ3VtZW50IHR1cGxlIChyZWN1cnNpdmVseSkgKi8KIAotICAgIGludCBpLCBzaXplOworICAgIFB5X3NzaXplX3QgaSwgc2l6ZTsKIAogICAgIGlmIChkZXB0aCA+IDEwMDApIHsKICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsCiAgICAgICAgICAgICAgICAgICAgICAgICAibmVzdGluZyB0b28gZGVlcCBpbiBfZmxhdHRlbiIpOwogICAgICAgICByZXR1cm4gMDsKLSAgICB9IGVsc2UgaWYgKFB5TGlzdF9DaGVjayhpdGVtKSkgewotICAgICAgICBzaXplID0gUHlMaXN0X0dFVF9TSVpFKGl0ZW0pOworICAgIH0gZWxzZSBpZiAoUHlUdXBsZV9DaGVjayhpdGVtKSB8fCBQeUxpc3RfQ2hlY2soaXRlbSkpIHsKKyAgICAgICAgc2l6ZSA9IFB5U2VxdWVuY2VfRmFzdF9HRVRfU0laRShpdGVtKTsKICAgICAgICAgLyogcHJlYWxsb2NhdGUgKGFzc3VtZSBubyBuZXN0aW5nKSAqLwogICAgICAgICBpZiAoY29udGV4dC0+c2l6ZSArIHNpemUgPiBjb250ZXh0LT5tYXhzaXplICYmCiAgICAgICAgICAgICAhX2J1bXAoY29udGV4dCwgc2l6ZSkpCiAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAgLyogY29weSBpdGVtcyB0byBvdXRwdXQgdHVwbGUgKi8KICAgICAgICAgZm9yIChpID0gMDsgaSA8IHNpemU7IGkrKykgewotICAgICAgICAgICAgUHlPYmplY3QgKm8gPSBQeUxpc3RfR0VUX0lURU0oaXRlbSwgaSk7Ci0gICAgICAgICAgICBpZiAoUHlMaXN0X0NoZWNrKG8pIHx8IFB5VHVwbGVfQ2hlY2sobykpIHsKLSAgICAgICAgICAgICAgICBpZiAoIV9mbGF0dGVuMShjb250ZXh0LCBvLCBkZXB0aCArIDEpKQotICAgICAgICAgICAgICAgICAgICByZXR1cm4gMDsKLSAgICAgICAgICAgIH0gZWxzZSBpZiAobyAhPSBQeV9Ob25lKSB7Ci0gICAgICAgICAgICAgICAgaWYgKGNvbnRleHQtPnNpemUgKyAxID4gY29udGV4dC0+bWF4c2l6ZSAmJgotICAgICAgICAgICAgICAgICAgICAhX2J1bXAoY29udGV4dCwgMSkpCi0gICAgICAgICAgICAgICAgICAgIHJldHVybiAwOwotICAgICAgICAgICAgICAgIFB5X0lOQ1JFRihvKTsKLSAgICAgICAgICAgICAgICBQeVR1cGxlX1NFVF9JVEVNKGNvbnRleHQtPnR1cGxlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGV4dC0+c2l6ZSsrLCBvKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotICAgIH0gZWxzZSBpZiAoUHlUdXBsZV9DaGVjayhpdGVtKSkgewotICAgICAgICAvKiBzYW1lLCBmb3IgdHVwbGVzICovCi0gICAgICAgIHNpemUgPSBQeVR1cGxlX0dFVF9TSVpFKGl0ZW0pOwotICAgICAgICBpZiAoY29udGV4dC0+c2l6ZSArIHNpemUgPiBjb250ZXh0LT5tYXhzaXplICYmCi0gICAgICAgICAgICAhX2J1bXAoY29udGV4dCwgc2l6ZSkpCi0gICAgICAgICAgICByZXR1cm4gMDsKLSAgICAgICAgZm9yIChpID0gMDsgaSA8IHNpemU7IGkrKykgewotICAgICAgICAgICAgUHlPYmplY3QgKm8gPSBQeVR1cGxlX0dFVF9JVEVNKGl0ZW0sIGkpOworICAgICAgICAgICAgUHlPYmplY3QgKm8gPSBQeVNlcXVlbmNlX0Zhc3RfR0VUX0lURU0oaXRlbSwgaSk7CiAgICAgICAgICAgICBpZiAoUHlMaXN0X0NoZWNrKG8pIHx8IFB5VHVwbGVfQ2hlY2sobykpIHsKICAgICAgICAgICAgICAgICBpZiAoIV9mbGF0dGVuMShjb250ZXh0LCBvLCBkZXB0aCArIDEpKQogICAgICAgICAgICAgICAgICAgICByZXR1cm4gMDsKQEAgLTI4MjIsNyArMjgyMyw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cnkgZ2V0dGluZyByaWQgb2YgaXQuICovCiAgICAgY2hhciAqY2xhc3NOYW1lID0gTlVMTDsKICAgICBpbnQgaW50ZXJhY3RpdmUgPSAwOwotICAgIGludCB3YW50b2JqZWN0cyA9IDA7CisgICAgaW50IHdhbnRvYmplY3RzID0gMTsKICAgICBpbnQgd2FudFRrID0gMTsgICAgIC8qIElmIGZhbHNlLCB0aGVuIFRrX0luaXQoKSBkb2Vzbid0IGdldCBjYWxsZWQgKi8KICAgICBpbnQgc3luYyA9IDA7IC8qIHBhc3MgLXN5bmMgdG8gd2lzaCAqLwogICAgIGNoYXIgKnVzZSA9IE5VTEw7IC8qIHBhc3MgLXVzZSB0byB3aXNoICovCmRpZmYgLS1naXQgYS9Nb2R1bGVzL190cmFjZW1hbGxvYy5jIGIvTW9kdWxlcy9fdHJhY2VtYWxsb2MuYwppbmRleCBiYmU3MjU5Li4xMmUzMmViIDEwMDY0NAotLS0gYS9Nb2R1bGVzL190cmFjZW1hbGxvYy5jCisrKyBiL01vZHVsZXMvX3RyYWNlbWFsbG9jLmMKQEAgLTE2LDE0ICsxNiwxMSBAQAogIyAgZGVmaW5lIFRSQUNFX0RFQlVHCiAjZW5kaWYKIAotI2RlZmluZSBfU1RSKFZBTCkgI1ZBTAotI2RlZmluZSBTVFIoVkFMKSBfU1RSKFZBTCkKLQogLyogUHJvdGVjdGVkIGJ5IHRoZSBHSUwgKi8KIHN0YXRpYyBzdHJ1Y3QgewotICAgIFB5TWVtQWxsb2NhdG9yIG1lbTsKLSAgICBQeU1lbUFsbG9jYXRvciByYXc7Ci0gICAgUHlNZW1BbGxvY2F0b3Igb2JqOworICAgIFB5TWVtQWxsb2NhdG9yRXggbWVtOworICAgIFB5TWVtQWxsb2NhdG9yRXggcmF3OworICAgIFB5TWVtQWxsb2NhdG9yRXggb2JqOwogfSBhbGxvY2F0b3JzOwogCiBzdGF0aWMgc3RydWN0IHsKQEAgLTgyLDcgKzc5LDcgQEAKICAgICAgICAgKHNpemVvZih0cmFjZWJhY2tfdCkgKyBzaXplb2YoZnJhbWVfdCkgKiAoTkZSQU1FIC0gMSkpCiAKICNkZWZpbmUgTUFYX05GUkFNRSBcCi0gICAgICAgICgoSU5UX01BWCAtIHNpemVvZih0cmFjZWJhY2tfdCkpIC8gc2l6ZW9mKGZyYW1lX3QpICsgMSkKKyAgICAgICAgKChJTlRfTUFYIC0gKGludClzaXplb2YodHJhY2ViYWNrX3QpKSAvIChpbnQpc2l6ZW9mKGZyYW1lX3QpICsgMSkKIAogc3RhdGljIFB5T2JqZWN0ICp1bmtub3duX2ZpbGVuYW1lID0gTlVMTDsKIHN0YXRpYyB0cmFjZWJhY2tfdCB0cmFjZW1hbGxvY19lbXB0eV90cmFjZWJhY2s7CkBAIC00NzYsMTcgKzQ3MywyMiBAQAogfQogCiBzdGF0aWMgdm9pZCoKLXRyYWNlbWFsbG9jX21hbGxvYyh2b2lkICpjdHgsIHNpemVfdCBzaXplKQordHJhY2VtYWxsb2NfYWxsb2MoaW50IHVzZV9jYWxsb2MsIHZvaWQgKmN0eCwgc2l6ZV90IG5lbGVtLCBzaXplX3QgZWxzaXplKQogewotICAgIFB5TWVtQWxsb2NhdG9yICphbGxvYyA9IChQeU1lbUFsbG9jYXRvciAqKWN0eDsKKyAgICBQeU1lbUFsbG9jYXRvckV4ICphbGxvYyA9IChQeU1lbUFsbG9jYXRvckV4ICopY3R4OwogICAgIHZvaWQgKnB0cjsKIAotICAgIHB0ciA9IGFsbG9jLT5tYWxsb2MoYWxsb2MtPmN0eCwgc2l6ZSk7CisgICAgYXNzZXJ0KGVsc2l6ZSA9PSAwIHx8IG5lbGVtIDw9IFBZX1NJWkVfTUFYIC8gZWxzaXplKTsKKworICAgIGlmICh1c2VfY2FsbG9jKQorICAgICAgICBwdHIgPSBhbGxvYy0+Y2FsbG9jKGFsbG9jLT5jdHgsIG5lbGVtLCBlbHNpemUpOworICAgIGVsc2UKKyAgICAgICAgcHRyID0gYWxsb2MtPm1hbGxvYyhhbGxvYy0+Y3R4LCBuZWxlbSAqIGVsc2l6ZSk7CiAgICAgaWYgKHB0ciA9PSBOVUxMKQogICAgICAgICByZXR1cm4gTlVMTDsKIAogICAgIFRBQkxFU19MT0NLKCk7Ci0gICAgaWYgKHRyYWNlbWFsbG9jX2FkZF90cmFjZShwdHIsIHNpemUpIDwgMCkgeworICAgIGlmICh0cmFjZW1hbGxvY19hZGRfdHJhY2UocHRyLCBuZWxlbSAqIGVsc2l6ZSkgPCAwKSB7CiAgICAgICAgIC8qIEZhaWxlZCB0byBhbGxvY2F0ZSBhIHRyYWNlIGZvciB0aGUgbmV3IG1lbW9yeSBibG9jayAqLwogICAgICAgICBUQUJMRVNfVU5MT0NLKCk7CiAgICAgICAgIGFsbG9jLT5mcmVlKGFsbG9jLT5jdHgsIHB0cik7CkBAIC00OTksNyArNTAxLDcgQEAKIHN0YXRpYyB2b2lkKgogdHJhY2VtYWxsb2NfcmVhbGxvYyh2b2lkICpjdHgsIHZvaWQgKnB0ciwgc2l6ZV90IG5ld19zaXplKQogewotICAgIFB5TWVtQWxsb2NhdG9yICphbGxvYyA9IChQeU1lbUFsbG9jYXRvciAqKWN0eDsKKyAgICBQeU1lbUFsbG9jYXRvckV4ICphbGxvYyA9IChQeU1lbUFsbG9jYXRvckV4ICopY3R4OwogICAgIHZvaWQgKnB0cjI7CiAKICAgICBwdHIyID0gYWxsb2MtPnJlYWxsb2MoYWxsb2MtPmN0eCwgcHRyLCBuZXdfc2l6ZSk7CkBAIC01NDQsNyArNTQ2LDcgQEAKIHN0YXRpYyB2b2lkCiB0cmFjZW1hbGxvY19mcmVlKHZvaWQgKmN0eCwgdm9pZCAqcHRyKQogewotICAgIFB5TWVtQWxsb2NhdG9yICphbGxvYyA9IChQeU1lbUFsbG9jYXRvciAqKWN0eDsKKyAgICBQeU1lbUFsbG9jYXRvckV4ICphbGxvYyA9IChQeU1lbUFsbG9jYXRvckV4ICopY3R4OwogCiAgICAgaWYgKHB0ciA9PSBOVUxMKQogICAgICAgICByZXR1cm47CkBAIC01NjAsMTMgKzU2MiwxNiBAQAogfQogCiBzdGF0aWMgdm9pZCoKLXRyYWNlbWFsbG9jX21hbGxvY19naWwodm9pZCAqY3R4LCBzaXplX3Qgc2l6ZSkKK3RyYWNlbWFsbG9jX2FsbG9jX2dpbChpbnQgdXNlX2NhbGxvYywgdm9pZCAqY3R4LCBzaXplX3QgbmVsZW0sIHNpemVfdCBlbHNpemUpCiB7CiAgICAgdm9pZCAqcHRyOwogCiAgICAgaWYgKGdldF9yZWVudHJhbnQoKSkgewotICAgICAgICBQeU1lbUFsbG9jYXRvciAqYWxsb2MgPSAoUHlNZW1BbGxvY2F0b3IgKiljdHg7Ci0gICAgICAgIHJldHVybiBhbGxvYy0+bWFsbG9jKGFsbG9jLT5jdHgsIHNpemUpOworICAgICAgICBQeU1lbUFsbG9jYXRvckV4ICphbGxvYyA9IChQeU1lbUFsbG9jYXRvckV4ICopY3R4OworICAgICAgICBpZiAodXNlX2NhbGxvYykKKyAgICAgICAgICAgIHJldHVybiBhbGxvYy0+Y2FsbG9jKGFsbG9jLT5jdHgsIG5lbGVtLCBlbHNpemUpOworICAgICAgICBlbHNlCisgICAgICAgICAgICByZXR1cm4gYWxsb2MtPm1hbGxvYyhhbGxvYy0+Y3R4LCBuZWxlbSAqIGVsc2l6ZSk7CiAgICAgfQogCiAgICAgLyogSWdub3JlIHJlZW50cmFudCBjYWxsLiBQeU9iamV0X01hbGxvYygpIGNhbGxzIFB5TWVtX01hbGxvYygpIGZvcgpAQCAtNTc0LDEzICs1NzksMjUgQEAKICAgICAgICBhbGxvY2F0aW9uIHR3aWNlLiAqLwogICAgIHNldF9yZWVudHJhbnQoMSk7CiAKLSAgICBwdHIgPSB0cmFjZW1hbGxvY19tYWxsb2MoY3R4LCBzaXplKTsKKyAgICBwdHIgPSB0cmFjZW1hbGxvY19hbGxvYyh1c2VfY2FsbG9jLCBjdHgsIG5lbGVtLCBlbHNpemUpOwogCiAgICAgc2V0X3JlZW50cmFudCgwKTsKICAgICByZXR1cm4gcHRyOwogfQogCiBzdGF0aWMgdm9pZCoKK3RyYWNlbWFsbG9jX21hbGxvY19naWwodm9pZCAqY3R4LCBzaXplX3Qgc2l6ZSkKK3sKKyAgICByZXR1cm4gdHJhY2VtYWxsb2NfYWxsb2NfZ2lsKDAsIGN0eCwgMSwgc2l6ZSk7Cit9CisKK3N0YXRpYyB2b2lkKgordHJhY2VtYWxsb2NfY2FsbG9jX2dpbCh2b2lkICpjdHgsIHNpemVfdCBuZWxlbSwgc2l6ZV90IGVsc2l6ZSkKK3sKKyAgICByZXR1cm4gdHJhY2VtYWxsb2NfYWxsb2NfZ2lsKDEsIGN0eCwgbmVsZW0sIGVsc2l6ZSk7Cit9CisKK3N0YXRpYyB2b2lkKgogdHJhY2VtYWxsb2NfcmVhbGxvY19naWwodm9pZCAqY3R4LCB2b2lkICpwdHIsIHNpemVfdCBuZXdfc2l6ZSkKIHsKICAgICB2b2lkICpwdHIyOwpAQCAtNTkwLDcgKzYwNyw3IEBACiAgICAgICAgICAgIEV4YW1wbGU6IFB5TWVtX1Jhd1JlYWxsb2MoKSBpcyBjYWxsZWQgaW50ZXJuYWxseSBieSBweW1hbGxvYwogICAgICAgICAgICAoX1B5T2JqZWN0X01hbGxvYygpIGFuZCAgX1B5T2JqZWN0X1JlYWxsb2MoKSkgdG8gYWxsb2NhdGUgYSBuZXcKICAgICAgICAgICAgYXJlbmEgKG5ld19hcmVuYSgpKS4gKi8KLSAgICAgICAgUHlNZW1BbGxvY2F0b3IgKmFsbG9jID0gKFB5TWVtQWxsb2NhdG9yICopY3R4OworICAgICAgICBQeU1lbUFsbG9jYXRvckV4ICphbGxvYyA9IChQeU1lbUFsbG9jYXRvckV4ICopY3R4OwogCiAgICAgICAgIHB0cjIgPSBhbGxvYy0+cmVhbGxvYyhhbGxvYy0+Y3R4LCBwdHIsIG5ld19zaXplKTsKICAgICAgICAgaWYgKHB0cjIgIT0gTlVMTCAmJiBwdHIgIT0gTlVMTCkgewpAQCAtNjE0LDcgKzYzMSw3IEBACiAKICNpZmRlZiBUUkFDRV9SQVdfTUFMTE9DCiBzdGF0aWMgdm9pZCoKLXRyYWNlbWFsbG9jX3Jhd19tYWxsb2Modm9pZCAqY3R4LCBzaXplX3Qgc2l6ZSkKK3RyYWNlbWFsbG9jX3Jhd19hbGxvYyhpbnQgdXNlX2NhbGxvYywgdm9pZCAqY3R4LCBzaXplX3QgbmVsZW0sIHNpemVfdCBlbHNpemUpCiB7CiAjaWZkZWYgV0lUSF9USFJFQUQKICAgICBQeUdJTFN0YXRlX1NUQVRFIGdpbF9zdGF0ZTsKQEAgLTYyMiw4ICs2MzksMTEgQEAKICAgICB2b2lkICpwdHI7CiAKICAgICBpZiAoZ2V0X3JlZW50cmFudCgpKSB7Ci0gICAgICAgIFB5TWVtQWxsb2NhdG9yICphbGxvYyA9IChQeU1lbUFsbG9jYXRvciAqKWN0eDsKLSAgICAgICAgcmV0dXJuIGFsbG9jLT5tYWxsb2MoYWxsb2MtPmN0eCwgc2l6ZSk7CisgICAgICAgIFB5TWVtQWxsb2NhdG9yRXggKmFsbG9jID0gKFB5TWVtQWxsb2NhdG9yRXggKiljdHg7CisgICAgICAgIGlmICh1c2VfY2FsbG9jKQorICAgICAgICAgICAgcmV0dXJuIGFsbG9jLT5jYWxsb2MoYWxsb2MtPmN0eCwgbmVsZW0sIGVsc2l6ZSk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHJldHVybiBhbGxvYy0+bWFsbG9jKGFsbG9jLT5jdHgsIG5lbGVtICogZWxzaXplKTsKICAgICB9CiAKICAgICAvKiBJZ25vcmUgcmVlbnRyYW50IGNhbGwuIFB5R0lMU3RhdGVfRW5zdXJlKCkgbWF5IGNhbGwgUHlNZW1fUmF3TWFsbG9jKCkKQEAgLTYzMywxMCArNjUzLDEwIEBACiAKICNpZmRlZiBXSVRIX1RIUkVBRAogICAgIGdpbF9zdGF0ZSA9IFB5R0lMU3RhdGVfRW5zdXJlKCk7Ci0gICAgcHRyID0gdHJhY2VtYWxsb2NfbWFsbG9jKGN0eCwgc2l6ZSk7CisgICAgcHRyID0gdHJhY2VtYWxsb2NfYWxsb2ModXNlX2NhbGxvYywgY3R4LCBuZWxlbSwgZWxzaXplKTsKICAgICBQeUdJTFN0YXRlX1JlbGVhc2UoZ2lsX3N0YXRlKTsKICNlbHNlCi0gICAgcHRyID0gdHJhY2VtYWxsb2NfbWFsbG9jKGN0eCwgc2l6ZSk7CisgICAgcHRyID0gdHJhY2VtYWxsb2NfYWxsb2ModXNlX2NhbGxvYywgY3R4LCBuZWxlbSwgZWxzaXplKTsKICNlbmRpZgogCiAgICAgc2V0X3JlZW50cmFudCgwKTsKQEAgLTY0NCw2ICs2NjQsMTggQEAKIH0KIAogc3RhdGljIHZvaWQqCit0cmFjZW1hbGxvY19yYXdfbWFsbG9jKHZvaWQgKmN0eCwgc2l6ZV90IHNpemUpCit7CisgICAgcmV0dXJuIHRyYWNlbWFsbG9jX3Jhd19hbGxvYygwLCBjdHgsIDEsIHNpemUpOworfQorCitzdGF0aWMgdm9pZCoKK3RyYWNlbWFsbG9jX3Jhd19jYWxsb2Modm9pZCAqY3R4LCBzaXplX3QgbmVsZW0sIHNpemVfdCBlbHNpemUpCit7CisgICAgcmV0dXJuIHRyYWNlbWFsbG9jX3Jhd19hbGxvYygxLCBjdHgsIG5lbGVtLCBlbHNpemUpOworfQorCitzdGF0aWMgdm9pZCoKIHRyYWNlbWFsbG9jX3Jhd19yZWFsbG9jKHZvaWQgKmN0eCwgdm9pZCAqcHRyLCBzaXplX3QgbmV3X3NpemUpCiB7CiAjaWZkZWYgV0lUSF9USFJFQUQKQEAgLTY1Myw3ICs2ODUsNyBAQAogCiAgICAgaWYgKGdldF9yZWVudHJhbnQoKSkgewogICAgICAgICAvKiBSZWVudHJhbnQgY2FsbCB0byBQeU1lbV9SYXdSZWFsbG9jKCkuICovCi0gICAgICAgIFB5TWVtQWxsb2NhdG9yICphbGxvYyA9IChQeU1lbUFsbG9jYXRvciAqKWN0eDsKKyAgICAgICAgUHlNZW1BbGxvY2F0b3JFeCAqYWxsb2MgPSAoUHlNZW1BbGxvY2F0b3JFeCAqKWN0eDsKIAogICAgICAgICBwdHIyID0gYWxsb2MtPnJlYWxsb2MoYWxsb2MtPmN0eCwgcHRyLCBuZXdfc2l6ZSk7CiAKQEAgLTgzMSw3ICs4NjMsNyBAQAogc3RhdGljIGludAogdHJhY2VtYWxsb2Nfc3RhcnQoaW50IG1heF9uZnJhbWUpCiB7Ci0gICAgUHlNZW1BbGxvY2F0b3IgYWxsb2M7CisgICAgUHlNZW1BbGxvY2F0b3JFeCBhbGxvYzsKICAgICBzaXplX3Qgc2l6ZTsKIAogICAgIGlmICh0cmFjZW1hbGxvY19pbml0KCkgPCAwKQpAQCAtODU2LDYgKzg4OCw3IEBACiAKICNpZmRlZiBUUkFDRV9SQVdfTUFMTE9DCiAgICAgYWxsb2MubWFsbG9jID0gdHJhY2VtYWxsb2NfcmF3X21hbGxvYzsKKyAgICBhbGxvYy5jYWxsb2MgPSB0cmFjZW1hbGxvY19yYXdfY2FsbG9jOwogICAgIGFsbG9jLnJlYWxsb2MgPSB0cmFjZW1hbGxvY19yYXdfcmVhbGxvYzsKICAgICBhbGxvYy5mcmVlID0gdHJhY2VtYWxsb2NfZnJlZTsKIApAQCAtODY1LDYgKzg5OCw3IEBACiAjZW5kaWYKIAogICAgIGFsbG9jLm1hbGxvYyA9IHRyYWNlbWFsbG9jX21hbGxvY19naWw7CisgICAgYWxsb2MuY2FsbG9jID0gdHJhY2VtYWxsb2NfY2FsbG9jX2dpbDsKICAgICBhbGxvYy5yZWFsbG9jID0gdHJhY2VtYWxsb2NfcmVhbGxvY19naWw7CiAgICAgYWxsb2MuZnJlZSA9IHRyYWNlbWFsbG9jX2ZyZWU7CiAKQEAgLTExOTUsNyArMTIyOSw3IEBACiAgICAgaWYgKG5mcmFtZSA8IDEgfHwgbmZyYW1lID4gTUFYX05GUkFNRSkgewogICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVmFsdWVFcnJvciwKICAgICAgICAgICAgICAgICAgICAgICJ0aGUgbnVtYmVyIG9mIGZyYW1lcyBtdXN0IGJlIGluIHJhbmdlIFsxOyAlaV0iLAotICAgICAgICAgICAgICAgICAgICAgKGludClNQVhfTkZSQU1FKTsKKyAgICAgICAgICAgICAgICAgICAgIE1BWF9ORlJBTUUpOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CiAgICAgbmZyYW1lX2ludCA9IFB5X1NBRkVfRE9XTkNBU1QobmZyYW1lLCBQeV9zc2l6ZV90LCBpbnQpOwpkaWZmIC0tZ2l0IGEvTW9kdWxlcy9fd2luYXBpLmMgYi9Nb2R1bGVzL193aW5hcGkuYwppbmRleCBkNDcyYzllLi4wMjc0ODc0IDEwMDY0NAotLS0gYS9Nb2R1bGVzL193aW5hcGkuYworKysgYi9Nb2R1bGVzL193aW5hcGkuYwpAQCAtNDAsNiArNDAsNyBAQAogI2RlZmluZSBXSU5ET1dTX0xFQU5fQU5EX01FQU4KICNpbmNsdWRlICJ3aW5kb3dzLmgiCiAjaW5jbHVkZSA8Y3J0ZGJnLmg+CisjaW5jbHVkZSAid2lucmVwYXJzZS5oIgogCiAjaWYgZGVmaW5lZChNU19XSU4zMikgJiYgIWRlZmluZWQoTVNfV0lONjQpCiAjZGVmaW5lIEhBTkRMRV9UT19QWU5VTShoYW5kbGUpIFwKQEAgLTQwMSw2ICs0MDIsMTQwIEBACiB9CiAKIHN0YXRpYyBQeU9iamVjdCAqCit3aW5hcGlfQ3JlYXRlSnVuY3Rpb24oUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQoreworICAgIC8qIElucHV0IGFyZ3VtZW50cyAqLworICAgIExQV1NUUiBzcmNfcGF0aCA9IE5VTEw7CisgICAgTFBXU1RSIGRzdF9wYXRoID0gTlVMTDsKKworICAgIC8qIFByaXZpbGVnZSBhZGp1c3RtZW50ICovCisgICAgSEFORExFIHRva2VuID0gTlVMTDsKKyAgICBUT0tFTl9QUklWSUxFR0VTIHRwOworCisgICAgLyogUmVwYXJzZSBkYXRhIGJ1ZmZlciAqLworICAgIGNvbnN0IFVTSE9SVCBwcmVmaXhfbGVuID0gNDsKKyAgICBVU0hPUlQgcHJpbnRfbGVuID0gMDsKKyAgICBVU0hPUlQgcmRiX3NpemUgPSAwOworICAgIFBSRVBBUlNFX0RBVEFfQlVGRkVSIHJkYiA9IE5VTEw7CisKKyAgICAvKiBKdW5jdGlvbiBwb2ludCBjcmVhdGlvbiAqLworICAgIEhBTkRMRSBqdW5jdGlvbiA9IE5VTEw7CisgICAgRFdPUkQgcmV0ID0gMDsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAidXUiLCAmc3JjX3BhdGgsICZkc3RfcGF0aCkpCisgICAgICAgIHJldHVybiBOVUxMOworCisgICAgaWYgKHNyY19wYXRoID09IE5VTEwgfHwgZHN0X3BhdGggPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIFB5RXJyX1NldEZyb21XaW5kb3dzRXJyKEVSUk9SX0lOVkFMSURfUEFSQU1FVEVSKTsKKworICAgIGlmICh3Y3NuY21wKHNyY19wYXRoLCBMIlxcPz9cXCIsIHByZWZpeF9sZW4pID09IDApCisgICAgICAgIHJldHVybiBQeUVycl9TZXRGcm9tV2luZG93c0VycihFUlJPUl9JTlZBTElEX1BBUkFNRVRFUik7CisKKyAgICAvKiBBZGp1c3QgcHJpdmlsZWdlcyB0byBhbGxvdyByZXdyaXRpbmcgZGlyZWN0b3J5IGVudHJ5IGFzIGEKKyAgICAgICBqdW5jdGlvbiBwb2ludC4gKi8KKyAgICBpZiAoIU9wZW5Qcm9jZXNzVG9rZW4oR2V0Q3VycmVudFByb2Nlc3MoKSwgVE9LRU5fQURKVVNUX1BSSVZJTEVHRVMsICZ0b2tlbikpCisgICAgICAgIGdvdG8gY2xlYW51cDsKKworICAgIGlmICghTG9va3VwUHJpdmlsZWdlVmFsdWUoTlVMTCwgU0VfUkVTVE9SRV9OQU1FLCAmdHAuUHJpdmlsZWdlc1swXS5MdWlkKSkKKyAgICAgICAgZ290byBjbGVhbnVwOworCisgICAgdHAuUHJpdmlsZWdlQ291bnQgPSAxOworICAgIHRwLlByaXZpbGVnZXNbMF0uQXR0cmlidXRlcyA9IFNFX1BSSVZJTEVHRV9FTkFCTEVEOworICAgIGlmICghQWRqdXN0VG9rZW5Qcml2aWxlZ2VzKHRva2VuLCBGQUxTRSwgJnRwLCBzaXplb2YoVE9LRU5fUFJJVklMRUdFUyksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwgTlVMTCkpCisgICAgICAgIGdvdG8gY2xlYW51cDsKKworICAgIGlmIChHZXRGaWxlQXR0cmlidXRlc1coc3JjX3BhdGgpID09IElOVkFMSURfRklMRV9BVFRSSUJVVEVTKQorICAgICAgICBnb3RvIGNsZWFudXA7CisKKyAgICAvKiBTdG9yZSB0aGUgYWJzb2x1dGUgbGluayB0YXJnZXQgcGF0aCBsZW5ndGggaW4gcHJpbnRfbGVuLiAqLworICAgIHByaW50X2xlbiA9IChVU0hPUlQpR2V0RnVsbFBhdGhOYW1lVyhzcmNfcGF0aCwgMCwgTlVMTCwgTlVMTCk7CisgICAgaWYgKHByaW50X2xlbiA9PSAwKQorICAgICAgICBnb3RvIGNsZWFudXA7CisKKyAgICAvKiBOVUwgdGVybWluYXRvciBzaG91bGQgbm90IGJlIHBhcnQgb2YgcHJpbnRfbGVuLiAqLworICAgIC0tcHJpbnRfbGVuOworCisgICAgLyogUkVQQVJTRV9EQVRBX0JVRkZFUiB1c2FnZSBpcyBoZWF2aWx5IHVuZGVyLWRvY3VtZW50ZWQsIGVzcGVjaWFsbHkgZm9yCisgICAgICAganVuY3Rpb24gcG9pbnRzLiBIZXJlJ3Mgd2hhdCBJJ3ZlIGxlYXJuZWQgYWxvbmcgdGhlIHdheToKKyAgICAgICAtIEEganVuY3Rpb24gcG9pbnQgaGFzIHR3byBjb21wb25lbnRzOiBhIHByaW50IG5hbWUgYW5kIGEgc3Vic3RpdHV0ZQorICAgICAgICAgbmFtZS4gVGhleSBib3RoIGRlc2NyaWJlIHRoZSBsaW5rIHRhcmdldCwgYnV0IHRoZSBzdWJzdGl0dXRlIG5hbWUgaXMKKyAgICAgICAgIHRoZSBwaHlzaWNhbCB0YXJnZXQgYW5kIHRoZSBwcmludCBuYW1lIGlzIHNob3duIGluIGRpcmVjdG9yeSBsaXN0aW5ncy4KKyAgICAgICAtIFRoZSBwcmludCBuYW1lIG11c3QgYmUgYSBuYXRpdmUgbmFtZSwgcHJlZml4ZWQgd2l0aCAiXD8/XCIuCisgICAgICAgLSBCb3RoIG5hbWVzIGFyZSBzdG9yZWQgYWZ0ZXIgZWFjaCBvdGhlciBpbiB0aGUgc2FtZSBidWZmZXIgKHRoZQorICAgICAgICAgUGF0aEJ1ZmZlcikgYW5kIGJvdGggbXVzdCBiZSBOVUwtdGVybWluYXRlZC4KKyAgICAgICAtIFRoZXJlIGFyZSBmb3VyIG1lbWJlcnMgZGVmaW5pbmcgdGhlaXIgcmVzcGVjdGl2ZSBvZmZzZXQgYW5kIGxlbmd0aAorICAgICAgICAgaW5zaWRlIFBhdGhCdWZmZXI6IFN1YnN0aXR1dGVOYW1lT2Zmc2V0LCBTdWJzdGl0dXRlTmFtZUxlbmd0aCwKKyAgICAgICAgIFByaW50TmFtZU9mZnNldCBhbmQgUHJpbnROYW1lTGVuZ3RoLgorICAgICAgIC0gVGhlIHRvdGFsIHNpemUgd2UgbmVlZCB0byBhbGxvY2F0ZSBmb3IgdGhlIFJFUEFSU0VfREFUQV9CVUZGRVIsIHRodXMsCisgICAgICAgICBpcyB0aGUgc3VtIG9mOgorICAgICAgICAgLSB0aGUgZml4ZWQgaGVhZGVyIHNpemUgKFJFUEFSU0VfREFUQV9CVUZGRVJfSEVBREVSX1NJWkUpCisgICAgICAgICAtIHRoZSBzaXplIG9mIHRoZSBNb3VudFBvaW50UmVwYXJzZUJ1ZmZlciBtZW1iZXIgd2l0aG91dCB0aGUgUGF0aEJ1ZmZlcgorICAgICAgICAgLSB0aGUgc2l6ZSBvZiB0aGUgcHJlZml4ICgiXD8/XCIpIGluIGJ5dGVzCisgICAgICAgICAtIHRoZSBzaXplIG9mIHRoZSBwcmludCBuYW1lIGluIGJ5dGVzCisgICAgICAgICAtIHRoZSBzaXplIG9mIHRoZSBzdWJzdGl0dXRlIG5hbWUgaW4gYnl0ZXMKKyAgICAgICAgIC0gdGhlIHNpemUgb2YgdHdvIE5VTCB0ZXJtaW5hdG9ycyBpbiBieXRlcyAqLworICAgIHJkYl9zaXplID0gUkVQQVJTRV9EQVRBX0JVRkZFUl9IRUFERVJfU0laRSArCisgICAgICAgIHNpemVvZihyZGItPk1vdW50UG9pbnRSZXBhcnNlQnVmZmVyKSAtCisgICAgICAgIHNpemVvZihyZGItPk1vdW50UG9pbnRSZXBhcnNlQnVmZmVyLlBhdGhCdWZmZXIpICsKKyAgICAgICAgLyogVHdvICsxJ3MgZm9yIE5VTCB0ZXJtaW5hdG9ycy4gKi8KKyAgICAgICAgKHByZWZpeF9sZW4gKyBwcmludF9sZW4gKyAxICsgcHJpbnRfbGVuICsgMSkgKiBzaXplb2YoV0NIQVIpOworICAgIHJkYiA9IChQUkVQQVJTRV9EQVRBX0JVRkZFUilQeU1lbV9SYXdNYWxsb2MocmRiX3NpemUpOworICAgIGlmIChyZGIgPT0gTlVMTCkKKyAgICAgICAgZ290byBjbGVhbnVwOworCisgICAgbWVtc2V0KHJkYiwgMCwgcmRiX3NpemUpOworICAgIHJkYi0+UmVwYXJzZVRhZyA9IElPX1JFUEFSU0VfVEFHX01PVU5UX1BPSU5UOworICAgIHJkYi0+UmVwYXJzZURhdGFMZW5ndGggPSByZGJfc2l6ZSAtIFJFUEFSU0VfREFUQV9CVUZGRVJfSEVBREVSX1NJWkU7CisgICAgcmRiLT5Nb3VudFBvaW50UmVwYXJzZUJ1ZmZlci5TdWJzdGl0dXRlTmFtZU9mZnNldCA9IDA7CisgICAgcmRiLT5Nb3VudFBvaW50UmVwYXJzZUJ1ZmZlci5TdWJzdGl0dXRlTmFtZUxlbmd0aCA9CisgICAgICAgIChwcmVmaXhfbGVuICsgcHJpbnRfbGVuKSAqIHNpemVvZihXQ0hBUik7CisgICAgcmRiLT5Nb3VudFBvaW50UmVwYXJzZUJ1ZmZlci5QcmludE5hbWVPZmZzZXQgPQorICAgICAgICByZGItPk1vdW50UG9pbnRSZXBhcnNlQnVmZmVyLlN1YnN0aXR1dGVOYW1lTGVuZ3RoICsgc2l6ZW9mKFdDSEFSKTsKKyAgICByZGItPk1vdW50UG9pbnRSZXBhcnNlQnVmZmVyLlByaW50TmFtZUxlbmd0aCA9IHByaW50X2xlbiAqIHNpemVvZihXQ0hBUik7CisKKyAgICAvKiBTdG9yZSB0aGUgZnVsbCBuYXRpdmUgcGF0aCBvZiBsaW5rIHRhcmdldCBhdCB0aGUgc3Vic3RpdHV0ZSBuYW1lCisgICAgICAgb2Zmc2V0ICgwKS4gKi8KKyAgICB3Y3NjcHkocmRiLT5Nb3VudFBvaW50UmVwYXJzZUJ1ZmZlci5QYXRoQnVmZmVyLCBMIlxcPz9cXCIpOworICAgIGlmIChHZXRGdWxsUGF0aE5hbWVXKHNyY19wYXRoLCBwcmludF9sZW4gKyAxLAorICAgICAgICAgICAgICAgICAgICAgICAgIHJkYi0+TW91bnRQb2ludFJlcGFyc2VCdWZmZXIuUGF0aEJ1ZmZlciArIHByZWZpeF9sZW4sCisgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCkgPT0gMCkKKyAgICAgICAgZ290byBjbGVhbnVwOworCisgICAgLyogQ29weSBldmVyeXRoaW5nIGJ1dCB0aGUgbmF0aXZlIHByZWZpeCB0byB0aGUgcHJpbnQgbmFtZSBvZmZzZXQuICovCisgICAgd2NzY3B5KHJkYi0+TW91bnRQb2ludFJlcGFyc2VCdWZmZXIuUGF0aEJ1ZmZlciArCisgICAgICAgICAgICAgcHJlZml4X2xlbiArIHByaW50X2xlbiArIDEsCisgICAgICAgICAgICAgcmRiLT5Nb3VudFBvaW50UmVwYXJzZUJ1ZmZlci5QYXRoQnVmZmVyICsgcHJlZml4X2xlbik7CisKKyAgICAvKiBDcmVhdGUgYSBkaXJlY3RvcnkgZm9yIHRoZSBqdW5jdGlvbiBwb2ludC4gKi8KKyAgICBpZiAoIUNyZWF0ZURpcmVjdG9yeVcoZHN0X3BhdGgsIE5VTEwpKQorICAgICAgICBnb3RvIGNsZWFudXA7CisKKyAgICBqdW5jdGlvbiA9IENyZWF0ZUZpbGVXKGRzdF9wYXRoLCBHRU5FUklDX1JFQUQgfCBHRU5FUklDX1dSSVRFLCAwLCBOVUxMLAorICAgICAgICBPUEVOX0VYSVNUSU5HLAorICAgICAgICBGSUxFX0ZMQUdfT1BFTl9SRVBBUlNFX1BPSU5UIHwgRklMRV9GTEFHX0JBQ0tVUF9TRU1BTlRJQ1MsIE5VTEwpOworICAgIGlmIChqdW5jdGlvbiA9PSBJTlZBTElEX0hBTkRMRV9WQUxVRSkKKyAgICAgICAgZ290byBjbGVhbnVwOworCisgICAgLyogTWFrZSB0aGUgZGlyZWN0b3J5IGVudHJ5IGEganVuY3Rpb24gcG9pbnQuICovCisgICAgaWYgKCFEZXZpY2VJb0NvbnRyb2woanVuY3Rpb24sIEZTQ1RMX1NFVF9SRVBBUlNFX1BPSU5ULCByZGIsIHJkYl9zaXplLAorICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsIDAsICZyZXQsIE5VTEwpKQorICAgICAgICBnb3RvIGNsZWFudXA7CisKK2NsZWFudXA6CisgICAgcmV0ID0gR2V0TGFzdEVycm9yKCk7CisKKyAgICBDbG9zZUhhbmRsZSh0b2tlbik7CisgICAgQ2xvc2VIYW5kbGUoanVuY3Rpb24pOworICAgIFB5TWVtX1Jhd0ZyZWUocmRiKTsKKworICAgIGlmIChyZXQgIT0gMCkKKyAgICAgICAgcmV0dXJuIFB5RXJyX1NldEZyb21XaW5kb3dzRXJyKHJldCk7CisKKyAgICBQeV9SRVRVUk5fTk9ORTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKIHdpbmFwaV9DcmVhdGVOYW1lZFBpcGUoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQogewogICAgIExQQ1RTVFIgbHBOYW1lOwpAQCAtODY2LDYgKzEwMDEsMTIgQEAKIFxuXAogUmV0dXJuIHRoZSB2ZXJzaW9uIG51bWJlciBvZiB0aGUgY3VycmVudCBvcGVyYXRpbmcgc3lzdGVtLiIpOwogCisvKiBEaXNhYmxlIGRlcHJlY2F0aW9uIHdhcm5pbmdzIGFib3V0IEdldFZlcnNpb25FeCBhcyB0aGUgcmVzdWx0IGlzCisgICBiZWluZyBwYXNzZWQgc3RyYWlnaHQgdGhyb3VnaCB0byB0aGUgY2FsbGVyLCB3aG8gaXMgcmVzcG9uc2libGUgZm9yCisgICB1c2luZyBpdCBjb3JyZWN0bHkuICovCisjcHJhZ21hIHdhcm5pbmcocHVzaCkKKyNwcmFnbWEgd2FybmluZyhkaXNhYmxlOjQ5OTYpCisKIHN0YXRpYyBQeU9iamVjdCAqCiB3aW5hcGlfR2V0VmVyc2lvbihQeU9iamVjdCogc2VsZiwgUHlPYmplY3QqIGFyZ3MpCiB7CkBAIC04NzUsNiArMTAxNiw4IEBACiAgICAgcmV0dXJuIFB5TG9uZ19Gcm9tVW5zaWduZWRMb25nKEdldFZlcnNpb24oKSk7CiB9CiAKKyNwcmFnbWEgd2FybmluZyhwb3ApCisKIHN0YXRpYyBQeU9iamVjdCAqCiB3aW5hcGlfT3BlblByb2Nlc3MoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQogewpAQCAtMTIzNSw2ICsxMzc4LDggQEAKICAgICAgTUVUSF9WQVJBUkdTIHwgTUVUSF9LRVlXT1JEUywgIiJ9LAogICAgIHsiQ3JlYXRlRmlsZSIsIHdpbmFwaV9DcmVhdGVGaWxlLCBNRVRIX1ZBUkFSR1MsCiAgICAgICIifSwKKyAgICB7IkNyZWF0ZUp1bmN0aW9uIiwgd2luYXBpX0NyZWF0ZUp1bmN0aW9uLCBNRVRIX1ZBUkFSR1MsCisgICAgICIifSwKICAgICB7IkNyZWF0ZU5hbWVkUGlwZSIsIHdpbmFwaV9DcmVhdGVOYW1lZFBpcGUsIE1FVEhfVkFSQVJHUywKICAgICAgIiJ9LAogICAgIHsiQ3JlYXRlUGlwZSIsIHdpbmFwaV9DcmVhdGVQaXBlLCBNRVRIX1ZBUkFSR1MsCmRpZmYgLS1naXQgYS9Nb2R1bGVzL2FycmF5bW9kdWxlLmMgYi9Nb2R1bGVzL2FycmF5bW9kdWxlLmMKaW5kZXggNWFiMWFiNi4uNmU3NTVmNCAxMDA2NDQKLS0tIGEvTW9kdWxlcy9hcnJheW1vZHVsZS5jCisrKyBiL01vZHVsZXMvYXJyYXltb2R1bGUuYwpAQCAtMTUsNiArMTUsMTIgQEAKICNlbmRpZiAvKiBIQVZFX1NZU19UWVBFU19IICovCiAjZW5kaWYgLyogIVNURENfSEVBREVSUyAqLwogCisvKltjbGluaWMgaW5wdXRdCitvdXRwdXQgcHJlc2V0IGZpbGUKK21vZHVsZSBhcnJheQorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWRhMzlhM2VlNWU2YjRiMGQgaW5wdXQ9MDkwOWMxYTE0OGM2OTkzMV0qLworCiBzdHJ1Y3QgYXJyYXlvYmplY3Q7IC8qIEZvcndhcmQgKi8KIAogLyogQWxsIHBvc3NpYmxlIGFycmF5ZGVzY3IgdmFsdWVzIGFyZSBkZWZpbmVkIGluIHRoZSB2ZWN0b3IgImRlc2NyaXB0b3JzIgpAQCAtNDIsNiArNDgsNjMgQEAKIAogc3RhdGljIFB5VHlwZU9iamVjdCBBcnJheXR5cGU7CiAKK3R5cGVkZWYgc3RydWN0IHsKKyAgICBQeU9iamVjdF9IRUFECisgICAgUHlfc3NpemVfdCBpbmRleDsKKyAgICBhcnJheW9iamVjdCAqYW87CisgICAgUHlPYmplY3QqICgqZ2V0aXRlbSkoc3RydWN0IGFycmF5b2JqZWN0ICosIFB5X3NzaXplX3QpOworfSBhcnJheWl0ZXJvYmplY3Q7CisKK3N0YXRpYyBQeVR5cGVPYmplY3QgUHlBcnJheUl0ZXJfVHlwZTsKKworI2RlZmluZSBQeUFycmF5SXRlcl9DaGVjayhvcCkgUHlPYmplY3RfVHlwZUNoZWNrKG9wLCAmUHlBcnJheUl0ZXJfVHlwZSkKKworZW51bSBtYWNoaW5lX2Zvcm1hdF9jb2RlIHsKKyAgICBVTktOT1dOX0ZPUk1BVCA9IC0xLAorICAgIC8qIFVOS05PV05fRk9STUFUIGlzIHVzZWQgdG8gaW5kaWNhdGUgdGhhdCB0aGUgbWFjaGluZSBmb3JtYXQgZm9yIGFuCisgICAgICogYXJyYXkgdHlwZSBjb2RlIGNhbm5vdCBiZSBpbnRlcnByZXRlZC4gV2hlbiB0aGlzIG9jY3VycywgYSBsaXN0IG9mCisgICAgICogUHl0aG9uIG9iamVjdHMgaXMgdXNlZCB0byByZXByZXNlbnQgdGhlIGNvbnRlbnQgb2YgdGhlIGFycmF5CisgICAgICogaW5zdGVhZCBvZiB1c2luZyB0aGUgbWVtb3J5IGNvbnRlbnQgb2YgdGhlIGFycmF5IGRpcmVjdGx5LiBJbiB0aGF0CisgICAgICogY2FzZSwgdGhlIGFycmF5X3JlY29uc3RydWN0b3IgbWVjaGFuaXNtIGlzIGJ5cGFzc2VkIGNvbXBsZXRlbHksIGFuZAorICAgICAqIHRoZSBzdGFuZGFyZCBhcnJheSBjb25zdHJ1Y3RvciBpcyB1c2VkIGluc3RlYWQuCisgICAgICoKKyAgICAgKiBUaGlzIGlzIHdpbGwgbW9zdCBsaWtlbHkgb2NjdXIgd2hlbiB0aGUgbWFjaGluZSBkb2Vzbid0IHVzZSBJRUVFCisgICAgICogZmxvYXRpbmctcG9pbnQgbnVtYmVycy4KKyAgICAgKi8KKworICAgIFVOU0lHTkVEX0lOVDggPSAwLAorICAgIFNJR05FRF9JTlQ4ID0gMSwKKyAgICBVTlNJR05FRF9JTlQxNl9MRSA9IDIsCisgICAgVU5TSUdORURfSU5UMTZfQkUgPSAzLAorICAgIFNJR05FRF9JTlQxNl9MRSA9IDQsCisgICAgU0lHTkVEX0lOVDE2X0JFID0gNSwKKyAgICBVTlNJR05FRF9JTlQzMl9MRSA9IDYsCisgICAgVU5TSUdORURfSU5UMzJfQkUgPSA3LAorICAgIFNJR05FRF9JTlQzMl9MRSA9IDgsCisgICAgU0lHTkVEX0lOVDMyX0JFID0gOSwKKyAgICBVTlNJR05FRF9JTlQ2NF9MRSA9IDEwLAorICAgIFVOU0lHTkVEX0lOVDY0X0JFID0gMTEsCisgICAgU0lHTkVEX0lOVDY0X0xFID0gMTIsCisgICAgU0lHTkVEX0lOVDY0X0JFID0gMTMsCisgICAgSUVFRV83NTRfRkxPQVRfTEUgPSAxNCwKKyAgICBJRUVFXzc1NF9GTE9BVF9CRSA9IDE1LAorICAgIElFRUVfNzU0X0RPVUJMRV9MRSA9IDE2LAorICAgIElFRUVfNzU0X0RPVUJMRV9CRSA9IDE3LAorICAgIFVURjE2X0xFID0gMTgsCisgICAgVVRGMTZfQkUgPSAxOSwKKyAgICBVVEYzMl9MRSA9IDIwLAorICAgIFVURjMyX0JFID0gMjEKK307CisjZGVmaW5lIE1BQ0hJTkVfRk9STUFUX0NPREVfTUlOIDAKKyNkZWZpbmUgTUFDSElORV9GT1JNQVRfQ09ERV9NQVggMjEKKworCisvKgorICogTXVzdCBjb21lIGFmdGVyIGFycmF5b2JqZWN0LCBhcnJheWl0ZXJvYmplY3QsCisgKiBhbmQgZW51bSBtYWNoaW5lX2NvZGVfdHlwZSBkZWZpbml0aW9ucy4KKyAqLworI2luY2x1ZGUgImNsaW5pYy9hcnJheW1vZHVsZS5jLmgiCisKICNkZWZpbmUgYXJyYXlfQ2hlY2sob3ApIFB5T2JqZWN0X1R5cGVDaGVjayhvcCwgJkFycmF5dHlwZSkKICNkZWZpbmUgYXJyYXlfQ2hlY2tFeGFjdChvcCkgKFB5X1RZUEUob3ApID09ICZBcnJheXR5cGUpCiAKQEAgLTQ3MSw2ICs1MzQsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiBJbXBsZW1lbnRhdGlvbnMgb2YgYXJyYXkgb2JqZWN0IG1ldGhvZHMuCiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLypbY2xpbmljIGlucHV0XQorY2xhc3MgYXJyYXkuYXJyYXkgImFycmF5b2JqZWN0ICoiICImQXJyYXl0eXBlIgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWRhMzlhM2VlNWU2YjRiMGQgaW5wdXQ9YWQ0M2QzN2U5NDJhODg1NF0qLwogCiBzdGF0aWMgUHlPYmplY3QgKgogbmV3YXJyYXlvYmplY3QoUHlUeXBlT2JqZWN0ICp0eXBlLCBQeV9zc2l6ZV90IHNpemUsIHN0cnVjdCBhcnJheWRlc2NyICpkZXNjcikKQEAgLTY4NCwxNiArNzUxLDM1IEBACiAgICAgcmV0dXJuIChQeU9iamVjdCAqKW5wOwogfQogCisKKy8qW2NsaW5pYyBpbnB1dF0KK2FycmF5LmFycmF5Ll9fY29weV9fCisKK1JldHVybiBhIGNvcHkgb2YgdGhlIGFycmF5LgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCiBzdGF0aWMgUHlPYmplY3QgKgotYXJyYXlfY29weShhcnJheW9iamVjdCAqYSwgUHlPYmplY3QgKnVudXNlZCkKK2FycmF5X2FycmF5X19fY29weV9fX2ltcGwoYXJyYXlvYmplY3QgKnNlbGYpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ZGVjN2MzZjkyNWQ5NjE5ZSBpbnB1dD1hZDFlZTViMDg2OTY1ZjA5XSovCiB7Ci0gICAgcmV0dXJuIGFycmF5X3NsaWNlKGEsIDAsIFB5X1NJWkUoYSkpOworICAgIHJldHVybiBhcnJheV9zbGljZShzZWxmLCAwLCBQeV9TSVpFKHNlbGYpKTsKIH0KIAotUHlEb2NfU1RSVkFSKGNvcHlfZG9jLAotImNvcHkoYXJyYXkpXG5cCi1cblwKLSBSZXR1cm4gYSBjb3B5IG9mIHRoZSBhcnJheS4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK2FycmF5LmFycmF5Ll9fZGVlcGNvcHlfXworCisgICAgdW51c2VkOiBvYmplY3QKKyAgICAvCisKK1JldHVybiBhIGNvcHkgb2YgdGhlIGFycmF5LgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitzdGF0aWMgUHlPYmplY3QgKgorYXJyYXlfYXJyYXlfX19kZWVwY29weV9fKGFycmF5b2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqdW51c2VkKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTFlYzc0OGQ4ZTE0YTlmYWEgaW5wdXQ9MjQwNWVjYjQ5MzM3NDhjNF0qLworeworICAgIHJldHVybiBhcnJheV9hcnJheV9fX2NvcHlfX19pbXBsKHNlbGYpOworfQogCiBzdGF0aWMgUHlPYmplY3QgKgogYXJyYXlfY29uY2F0KGFycmF5b2JqZWN0ICphLCBQeU9iamVjdCAqYmIpCkBAIC05NjEsOCArMTA0NywxOCBAQAogICAgIHJldHVybiBQeV9Ob25lOwogfQogCisvKltjbGluaWMgaW5wdXRdCithcnJheS5hcnJheS5jb3VudAorCisgICAgdjogb2JqZWN0CisgICAgLworCitSZXR1cm4gbnVtYmVyIG9mIG9jY3VycmVuY2VzIG9mIHYgaW4gdGhlIGFycmF5LgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCiBzdGF0aWMgUHlPYmplY3QgKgotYXJyYXlfY291bnQoYXJyYXlvYmplY3QgKnNlbGYsIFB5T2JqZWN0ICp2KQorYXJyYXlfYXJyYXlfY291bnQoYXJyYXlvYmplY3QgKnNlbGYsIFB5T2JqZWN0ICp2KQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTNkZDM2MjRiZjcxMzVhM2EgaW5wdXQ9ZDliY2U5ZDY1ZTM5ZDFmNV0qLwogewogICAgIFB5X3NzaXplX3QgY291bnQgPSAwOwogICAgIFB5X3NzaXplX3QgaTsKQEAgLTk4NCwxMyArMTA4MCwxOSBAQAogICAgIHJldHVybiBQeUxvbmdfRnJvbVNzaXplX3QoY291bnQpOwogfQogCi1QeURvY19TVFJWQVIoY291bnRfZG9jLAotImNvdW50KHgpXG5cCi1cblwKLVJldHVybiBudW1iZXIgb2Ygb2NjdXJyZW5jZXMgb2YgeCBpbiB0aGUgYXJyYXkuIik7CisKKy8qW2NsaW5pYyBpbnB1dF0KK2FycmF5LmFycmF5LmluZGV4CisKKyAgICB2OiBvYmplY3QKKyAgICAvCisKK1JldHVybiBpbmRleCBvZiBmaXJzdCBvY2N1cnJlbmNlIG9mIHYgaW4gdGhlIGFycmF5LgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLwogCiBzdGF0aWMgUHlPYmplY3QgKgotYXJyYXlfaW5kZXgoYXJyYXlvYmplY3QgKnNlbGYsIFB5T2JqZWN0ICp2KQorYXJyYXlfYXJyYXlfaW5kZXgoYXJyYXlvYmplY3QgKnNlbGYsIFB5T2JqZWN0ICp2KQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWQ0ODQ5OGQzMjU2MDIxNjcgaW5wdXQ9Y2Y2MTk4OThjNjY0OWQwOF0qLwogewogICAgIFB5X3NzaXplX3QgaTsKIApAQCAtMTAxMywxMSArMTExNSw2IEBACiAgICAgcmV0dXJuIE5VTEw7CiB9CiAKLVB5RG9jX1NUUlZBUihpbmRleF9kb2MsCi0iaW5kZXgoeClcblwKLVxuXAotUmV0dXJuIGluZGV4IG9mIGZpcnN0IG9jY3VycmVuY2Ugb2YgeCBpbiB0aGUgYXJyYXkuIik7Ci0KIHN0YXRpYyBpbnQKIGFycmF5X2NvbnRhaW5zKGFycmF5b2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqdikKIHsKQEAgLTEwMzQsOCArMTEzMSwxOCBAQAogICAgIHJldHVybiBjbXA7CiB9CiAKKy8qW2NsaW5pYyBpbnB1dF0KK2FycmF5LmFycmF5LnJlbW92ZQorCisgICAgdjogb2JqZWN0CisgICAgLworCitSZW1vdmUgdGhlIGZpcnN0IG9jY3VycmVuY2Ugb2YgdiBpbiB0aGUgYXJyYXkuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKIHN0YXRpYyBQeU9iamVjdCAqCi1hcnJheV9yZW1vdmUoYXJyYXlvYmplY3QgKnNlbGYsIFB5T2JqZWN0ICp2KQorYXJyYXlfYXJyYXlfcmVtb3ZlKGFycmF5b2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqdikKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1iZWYwNmJlOWZkZjlkY2ViIGlucHV0PTBiMWU1YWVkMjU1OTAwMjddKi8KIHsKICAgICBpbnQgaTsKIApAQCAtMTA2MiwxOCArMTE2OSwyMyBAQAogICAgIHJldHVybiBOVUxMOwogfQogCi1QeURvY19TVFJWQVIocmVtb3ZlX2RvYywKLSJyZW1vdmUoeClcblwKLVxuXAotUmVtb3ZlIHRoZSBmaXJzdCBvY2N1cnJlbmNlIG9mIHggaW4gdGhlIGFycmF5LiIpOworLypbY2xpbmljIGlucHV0XQorYXJyYXkuYXJyYXkucG9wCisKKyAgICBpOiBQeV9zc2l6ZV90ID0gLTEKKyAgICAvCisKK1JldHVybiB0aGUgaS10aCBlbGVtZW50IGFuZCBkZWxldGUgaXQgZnJvbSB0aGUgYXJyYXkuCisKK2kgZGVmYXVsdHMgdG8gLTEuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1hcnJheV9wb3AoYXJyYXlvYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorYXJyYXlfYXJyYXlfcG9wX2ltcGwoYXJyYXlvYmplY3QgKnNlbGYsIFB5X3NzaXplX3QgaSkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1iYzFmMGM1NGZlNTMwOGU0IGlucHV0PThlNWZlYjRjMWExMWNkNDRdKi8KIHsKLSAgICBQeV9zc2l6ZV90IGkgPSAtMTsKICAgICBQeU9iamVjdCAqdjsKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgInxuOnBvcCIsICZpKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7CisKICAgICBpZiAoUHlfU0laRShzZWxmKSA9PSAwKSB7CiAgICAgICAgIC8qIFNwZWNpYWwtY2FzZSBtb3N0IGNvbW1vbiBmYWlsdXJlIGNhdXNlICovCiAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19JbmRleEVycm9yLCAicG9wIGZyb20gZW1wdHkgYXJyYXkiKTsKQEAgLTEwOTUsMTMgKzEyMDcsMTggQEAKICAgICByZXR1cm4gdjsKIH0KIAotUHlEb2NfU1RSVkFSKHBvcF9kb2MsCi0icG9wKFtpXSlcblwKLVxuXAotUmV0dXJuIHRoZSBpLXRoIGVsZW1lbnQgYW5kIGRlbGV0ZSBpdCBmcm9tIHRoZSBhcnJheS4gaSBkZWZhdWx0cyB0byAtMS4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK2FycmF5LmFycmF5LmV4dGVuZAorCisgICAgYmI6IG9iamVjdAorICAgIC8KKworQXBwZW5kIGl0ZW1zIHRvIHRoZSBlbmQgb2YgdGhlIGFycmF5LgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLwogCiBzdGF0aWMgUHlPYmplY3QgKgotYXJyYXlfZXh0ZW5kKGFycmF5b2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYmIpCithcnJheV9hcnJheV9leHRlbmQoYXJyYXlvYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpiYikKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1iYmRkYmM4ZThiZWY4NzFkIGlucHV0PTQzYmU4NmFiYTVjMzFlNDRdKi8KIHsKICAgICBpZiAoYXJyYXlfZG9fZXh0ZW5kKHNlbGYsIGJiKSA9PSAtMSkKICAgICAgICAgcmV0dXJuIE5VTEw7CkBAIC0xMTA5LDI5ICsxMjI2LDM1IEBACiAgICAgcmV0dXJuIFB5X05vbmU7CiB9CiAKLVB5RG9jX1NUUlZBUihleHRlbmRfZG9jLAotImV4dGVuZChhcnJheSBvciBpdGVyYWJsZSlcblwKLVxuXAotIEFwcGVuZCBpdGVtcyB0byB0aGUgZW5kIG9mIHRoZSBhcnJheS4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK2FycmF5LmFycmF5Lmluc2VydAorCisgICAgaTogUHlfc3NpemVfdAorICAgIHY6IG9iamVjdAorICAgIC8KKworSW5zZXJ0IGEgbmV3IGl0ZW0gdiBpbnRvIHRoZSBhcnJheSBiZWZvcmUgcG9zaXRpb24gaS4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KIAogc3RhdGljIFB5T2JqZWN0ICoKLWFycmF5X2luc2VydChhcnJheW9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCithcnJheV9hcnJheV9pbnNlcnRfaW1wbChhcnJheW9iamVjdCAqc2VsZiwgUHlfc3NpemVfdCBpLCBQeU9iamVjdCAqdikKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD01YTM2NDhlMjc4MzQ4NTY0IGlucHV0PTU1NzdkMWI0MzgzZTkzMTNdKi8KIHsKLSAgICBQeV9zc2l6ZV90IGk7Ci0gICAgUHlPYmplY3QgKnY7Ci0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJuTzppbnNlcnQiLCAmaSwgJnYpKQotICAgICAgICByZXR1cm4gTlVMTDsKICAgICByZXR1cm4gaW5zKHNlbGYsIGksIHYpOwogfQogCi1QeURvY19TVFJWQVIoaW5zZXJ0X2RvYywKLSJpbnNlcnQoaSx4KVxuXAotXG5cCi1JbnNlcnQgYSBuZXcgaXRlbSB4IGludG8gdGhlIGFycmF5IGJlZm9yZSBwb3NpdGlvbiBpLiIpOworLypbY2xpbmljIGlucHV0XQorYXJyYXkuYXJyYXkuYnVmZmVyX2luZm8KIAorUmV0dXJuIGEgdHVwbGUgKGFkZHJlc3MsIGxlbmd0aCkgZ2l2aW5nIHRoZSBjdXJyZW50IG1lbW9yeSBhZGRyZXNzIGFuZCB0aGUgbGVuZ3RoIGluIGl0ZW1zIG9mIHRoZSBidWZmZXIgdXNlZCB0byBob2xkIGFycmF5J3MgY29udGVudHMuCisKK1RoZSBsZW5ndGggc2hvdWxkIGJlIG11bHRpcGxpZWQgYnkgdGhlIGl0ZW1zaXplIGF0dHJpYnV0ZSB0byBjYWxjdWxhdGUKK3RoZSBidWZmZXIgbGVuZ3RoIGluIGJ5dGVzLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLwogCiBzdGF0aWMgUHlPYmplY3QgKgotYXJyYXlfYnVmZmVyX2luZm8oYXJyYXlvYmplY3QgKnNlbGYsIFB5T2JqZWN0ICp1bnVzZWQpCithcnJheV9hcnJheV9idWZmZXJfaW5mb19pbXBsKGFycmF5b2JqZWN0ICpzZWxmKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTliMmE0ZWMzYWU3ZTk4ZTcgaW5wdXQ9YTU4YmFlNWM2ZTFhYzZhNl0qLwogewogICAgIFB5T2JqZWN0ICpyZXR2YWwgPSBOVUxMLCAqdjsKIApAQCAtMTE1NiwyOSArMTI3OSwzNCBAQAogICAgIHJldHVybiByZXR2YWw7CiB9CiAKLVB5RG9jX1NUUlZBUihidWZmZXJfaW5mb19kb2MsCi0iYnVmZmVyX2luZm8oKSAtPiAoYWRkcmVzcywgbGVuZ3RoKVxuXAotXG5cCi1SZXR1cm4gYSB0dXBsZSAoYWRkcmVzcywgbGVuZ3RoKSBnaXZpbmcgdGhlIGN1cnJlbnQgbWVtb3J5IGFkZHJlc3MgYW5kXG5cCi10aGUgbGVuZ3RoIGluIGl0ZW1zIG9mIHRoZSBidWZmZXIgdXNlZCB0byBob2xkIGFycmF5J3MgY29udGVudHNcblwKLVRoZSBsZW5ndGggc2hvdWxkIGJlIG11bHRpcGxpZWQgYnkgdGhlIGl0ZW1zaXplIGF0dHJpYnV0ZSB0byBjYWxjdWxhdGVcblwKLXRoZSBidWZmZXIgbGVuZ3RoIGluIGJ5dGVzLiIpOworLypbY2xpbmljIGlucHV0XQorYXJyYXkuYXJyYXkuYXBwZW5kCiAKKyAgICB2OiBvYmplY3QKKyAgICAvCisKK0FwcGVuZCBuZXcgdmFsdWUgdiB0byB0aGUgZW5kIG9mIHRoZSBhcnJheS4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KIAogc3RhdGljIFB5T2JqZWN0ICoKLWFycmF5X2FwcGVuZChhcnJheW9iamVjdCAqc2VsZiwgUHlPYmplY3QgKnYpCithcnJheV9hcnJheV9hcHBlbmQoYXJyYXlvYmplY3QgKnNlbGYsIFB5T2JqZWN0ICp2KQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTc0NWEwNjY5YmY4ZGIwZTIgaW5wdXQ9MGI5OGQ5ZDc4ZTc4ZjBmYV0qLwogewogICAgIHJldHVybiBpbnMoc2VsZiwgUHlfU0laRShzZWxmKSwgdik7CiB9CiAKLVB5RG9jX1NUUlZBUihhcHBlbmRfZG9jLAotImFwcGVuZCh4KVxuXAotXG5cCi1BcHBlbmQgbmV3IHZhbHVlIHggdG8gdGhlIGVuZCBvZiB0aGUgYXJyYXkuIik7CisvKltjbGluaWMgaW5wdXRdCithcnJheS5hcnJheS5ieXRlc3dhcAogCitCeXRlc3dhcCBhbGwgaXRlbXMgb2YgdGhlIGFycmF5LgorCitJZiB0aGUgaXRlbXMgaW4gdGhlIGFycmF5IGFyZSBub3QgMSwgMiwgNCwgb3IgOCBieXRlcyBpbiBzaXplLCBSdW50aW1lRXJyb3IgaXMKK3JhaXNlZC4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KIAogc3RhdGljIFB5T2JqZWN0ICoKLWFycmF5X2J5dGVzd2FwKGFycmF5b2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqdW51c2VkKQorYXJyYXlfYXJyYXlfYnl0ZXN3YXBfaW1wbChhcnJheW9iamVjdCAqc2VsZikKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD01ZjgyMzZjYmRmMGQ5MGI1IGlucHV0PTZhODU1OTFiOTUwYTAxODZdKi8KIHsKICAgICBjaGFyICpwOwogICAgIFB5X3NzaXplX3QgaTsKQEAgLTEyMjgsMTQgKzEzNTYsMTUgQEAKICAgICByZXR1cm4gUHlfTm9uZTsKIH0KIAotUHlEb2NfU1RSVkFSKGJ5dGVzd2FwX2RvYywKLSJieXRlc3dhcCgpXG5cCi1cblwKLUJ5dGVzd2FwIGFsbCBpdGVtcyBvZiB0aGUgYXJyYXkuICBJZiB0aGUgaXRlbXMgaW4gdGhlIGFycmF5IGFyZSBub3QgMSwgMixcblwKLTQsIG9yIDggYnl0ZXMgaW4gc2l6ZSwgUnVudGltZUVycm9yIGlzIHJhaXNlZC4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK2FycmF5LmFycmF5LnJldmVyc2UKKworUmV2ZXJzZSB0aGUgb3JkZXIgb2YgdGhlIGl0ZW1zIGluIHRoZSBhcnJheS4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KIAogc3RhdGljIFB5T2JqZWN0ICoKLWFycmF5X3JldmVyc2UoYXJyYXlvYmplY3QgKnNlbGYsIFB5T2JqZWN0ICp1bnVzZWQpCithcnJheV9hcnJheV9yZXZlcnNlX2ltcGwoYXJyYXlvYmplY3QgKnNlbGYpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9YzA0ODY4YjM2ZjZmNDA4OSBpbnB1dD1jZDkwNGYwMWIyN2Q5NjZhXSovCiB7CiAgICAgUHlfc3NpemVfdCBpdGVtc2l6ZSA9IHNlbGYtPm9iX2Rlc2NyLT5pdGVtc2l6ZTsKICAgICBjaGFyICpwLCAqcTsKQEAgLTEyNjEsMjcgKzEzOTAsMjYgQEAKICAgICByZXR1cm4gUHlfTm9uZTsKIH0KIAotUHlEb2NfU1RSVkFSKHJldmVyc2VfZG9jLAotInJldmVyc2UoKVxuXAotXG5cCi1SZXZlcnNlIHRoZSBvcmRlciBvZiB0aGUgaXRlbXMgaW4gdGhlIGFycmF5LiIpOworLypbY2xpbmljIGlucHV0XQorYXJyYXkuYXJyYXkuZnJvbWZpbGUKIAorICAgIGY6IG9iamVjdAorICAgIG46IFB5X3NzaXplX3QKKyAgICAvCiAKLS8qIEZvcndhcmQgKi8KLXN0YXRpYyBQeU9iamVjdCAqYXJyYXlfZnJvbWJ5dGVzKGFycmF5b2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncyk7CitSZWFkIG4gb2JqZWN0cyBmcm9tIHRoZSBmaWxlIG9iamVjdCBmIGFuZCBhcHBlbmQgdGhlbSB0byB0aGUgZW5kIG9mIHRoZSBhcnJheS4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KIAogc3RhdGljIFB5T2JqZWN0ICoKLWFycmF5X2Zyb21maWxlKGFycmF5b2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK2FycmF5X2FycmF5X2Zyb21maWxlX2ltcGwoYXJyYXlvYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpmLCBQeV9zc2l6ZV90IG4pCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ZWM5ZjYwMGUxMGY1MzUxMCBpbnB1dD1lMTg4YWZlOGU1OGFkZjQwXSovCiB7Ci0gICAgUHlPYmplY3QgKmYsICpiLCAqcmVzOworICAgIFB5T2JqZWN0ICphcmdzLCAqYiwgKnJlczsKICAgICBQeV9zc2l6ZV90IGl0ZW1zaXplID0gc2VsZi0+b2JfZGVzY3ItPml0ZW1zaXplOwotICAgIFB5X3NzaXplX3QgbiwgbmJ5dGVzOworICAgIFB5X3NzaXplX3QgbmJ5dGVzOwogICAgIF9QeV9JREVOVElGSUVSKHJlYWQpOwogICAgIGludCBub3RfZW5vdWdoX2J5dGVzOwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJPbjpmcm9tZmlsZSIsICZmLCAmbikpCi0gICAgICAgIHJldHVybiBOVUxMOwotCiAgICAgaWYgKG4gPCAwKSB7CiAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLCAibmVnYXRpdmUgY291bnQiKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CkBAIC0xMzEwLDcgKzE0MzgsNyBAQAogICAgIGlmIChhcmdzID09IE5VTEwpCiAgICAgICAgIHJldHVybiBOVUxMOwogCi0gICAgcmVzID0gYXJyYXlfZnJvbWJ5dGVzKHNlbGYsIGFyZ3MpOworICAgIHJlcyA9IGFycmF5X2FycmF5X2Zyb21ieXRlcyhzZWxmLCBhcmdzKTsKICAgICBQeV9ERUNSRUYoYXJncyk7CiAgICAgaWYgKHJlcyA9PSBOVUxMKQogICAgICAgICByZXR1cm4gTlVMTDsKQEAgLTEzMjUsMTUgKzE0NTMsMTggQEAKICAgICByZXR1cm4gcmVzOwogfQogCi1QeURvY19TVFJWQVIoZnJvbWZpbGVfZG9jLAotImZyb21maWxlKGYsIG4pXG5cCi1cblwKLVJlYWQgbiBvYmplY3RzIGZyb20gdGhlIGZpbGUgb2JqZWN0IGYgYW5kIGFwcGVuZCB0aGVtIHRvIHRoZSBlbmQgb2YgdGhlXG5cCi1hcnJheS4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK2FycmF5LmFycmF5LnRvZmlsZQogCisgICAgZjogb2JqZWN0CisgICAgLworCitXcml0ZSBhbGwgaXRlbXMgKGFzIG1hY2hpbmUgdmFsdWVzKSB0byB0aGUgZmlsZSBvYmplY3QgZi4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KIAogc3RhdGljIFB5T2JqZWN0ICoKLWFycmF5X3RvZmlsZShhcnJheW9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmYpCithcnJheV9hcnJheV90b2ZpbGUoYXJyYXlvYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpmKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTNhMmNmYTgxMjhkZjA3NzcgaW5wdXQ9YjA2NjlhNDg0YWFiMDgzMV0qLwogewogICAgIFB5X3NzaXplX3QgbmJ5dGVzID0gUHlfU0laRShzZWxmKSAqIHNlbGYtPm9iX2Rlc2NyLT5pdGVtc2l6ZTsKICAgICAvKiBXcml0ZSA2NEsgYmxvY2tzIGF0IGEgdGltZSAqLwpAQCAtMTM2OCwxNCArMTQ5OSwxOCBAQAogICAgIHJldHVybiBQeV9Ob25lOwogfQogCi1QeURvY19TVFJWQVIodG9maWxlX2RvYywKLSJ0b2ZpbGUoZilcblwKLVxuXAotV3JpdGUgYWxsIGl0ZW1zIChhcyBtYWNoaW5lIHZhbHVlcykgdG8gdGhlIGZpbGUgb2JqZWN0IGYuIik7CisvKltjbGluaWMgaW5wdXRdCithcnJheS5hcnJheS5mcm9tbGlzdAogCisgICAgbGlzdDogb2JqZWN0CisgICAgLworCitBcHBlbmQgaXRlbXMgdG8gYXJyYXkgZnJvbSBsaXN0LgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLwogCiBzdGF0aWMgUHlPYmplY3QgKgotYXJyYXlfZnJvbWxpc3QoYXJyYXlvYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpsaXN0KQorYXJyYXlfYXJyYXlfZnJvbWxpc3QoYXJyYXlvYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpsaXN0KQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTI2NDExYzJkMjI4YTNlM2YgaW5wdXQ9YmUyNjA1YTk2YzQ5NjgwZl0qLwogewogICAgIFB5X3NzaXplX3QgbjsKIApAQCAtMTQwMiwxMyArMTUzNywxNSBAQAogICAgIHJldHVybiBQeV9Ob25lOwogfQogCi1QeURvY19TVFJWQVIoZnJvbWxpc3RfZG9jLAotImZyb21saXN0KGxpc3QpXG5cCi1cblwKLUFwcGVuZCBpdGVtcyB0byBhcnJheSBmcm9tIGxpc3QuIik7CisvKltjbGluaWMgaW5wdXRdCithcnJheS5hcnJheS50b2xpc3QKKworQ29udmVydCBhcnJheSB0byBhbiBvcmRpbmFyeSBsaXN0IHdpdGggdGhlIHNhbWUgaXRlbXMuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1hcnJheV90b2xpc3QoYXJyYXlvYmplY3QgKnNlbGYsIFB5T2JqZWN0ICp1bnVzZWQpCithcnJheV9hcnJheV90b2xpc3RfaW1wbChhcnJheW9iamVjdCAqc2VsZikKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD0wMGI2MGNjOWVhYjhlZjg5IGlucHV0PWE4ZDc3ODRhOTRmODZiNTNdKi8KIHsKICAgICBQeU9iamVjdCAqbGlzdCA9IFB5TGlzdF9OZXcoUHlfU0laRShzZWxmKSk7CiAgICAgUHlfc3NpemVfdCBpOwpAQCAtMTQyOSwxMSArMTU2Niw2IEBACiAgICAgcmV0dXJuIE5VTEw7CiB9CiAKLVB5RG9jX1NUUlZBUih0b2xpc3RfZG9jLAotInRvbGlzdCgpIC0+IGxpc3RcblwKLVxuXAotQ29udmVydCBhcnJheSB0byBhbiBvcmRpbmFyeSBsaXN0IHdpdGggdGhlIHNhbWUgaXRlbXMuIik7Ci0KIHN0YXRpYyBQeU9iamVjdCAqCiBmcm9tYnl0ZXMoYXJyYXlvYmplY3QgKnNlbGYsIFB5X2J1ZmZlciAqYnVmZmVyKQogewpAQCAtMTQ3MSw0NyArMTYwMyw1MiBAQAogICAgIHJldHVybiBQeV9Ob25lOwogfQogCisvKltjbGluaWMgaW5wdXRdCithcnJheS5hcnJheS5mcm9tc3RyaW5nCisKKyAgICBidWZmZXI6IFB5X2J1ZmZlcih0eXBlcz0nc3RyIGJ5dGVzIGJ5dGVhcnJheSBidWZmZXInKQorICAgIC8KKworQXBwZW5kcyBpdGVtcyBmcm9tIHRoZSBzdHJpbmcsIGludGVycHJldGluZyBpdCBhcyBhbiBhcnJheSBvZiBtYWNoaW5lIHZhbHVlcywgYXMgaWYgaXQgaGFkIGJlZW4gcmVhZCBmcm9tIGEgZmlsZSB1c2luZyB0aGUgZnJvbWZpbGUoKSBtZXRob2QpLgorCitUaGlzIG1ldGhvZCBpcyBkZXByZWNhdGVkLiBVc2UgZnJvbWJ5dGVzIGluc3RlYWQuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKIHN0YXRpYyBQeU9iamVjdCAqCi1hcnJheV9mcm9tc3RyaW5nKGFycmF5b2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK2FycmF5X2FycmF5X2Zyb21zdHJpbmdfaW1wbChhcnJheW9iamVjdCAqc2VsZiwgUHlfYnVmZmVyICpidWZmZXIpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9MzFjNGJhYTc3OWRmODRjZSBpbnB1dD0xMzAyZDk0Yzk3Njk2Yjg0XSovCiB7Ci0gICAgUHlfYnVmZmVyIGJ1ZmZlcjsKICAgICBpZiAoUHlFcnJfV2FybkV4KFB5RXhjX0RlcHJlY2F0aW9uV2FybmluZywKICAgICAgICAgICAgICJmcm9tc3RyaW5nKCkgaXMgZGVwcmVjYXRlZC4gVXNlIGZyb21ieXRlcygpIGluc3RlYWQuIiwgMikgIT0gMCkKICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJzKjpmcm9tc3RyaW5nIiwgJmJ1ZmZlcikpCi0gICAgICAgIHJldHVybiBOVUxMOwotICAgIGVsc2UKLSAgICAgICAgcmV0dXJuIGZyb21ieXRlcyhzZWxmLCAmYnVmZmVyKTsKKyAgICByZXR1cm4gZnJvbWJ5dGVzKHNlbGYsIGJ1ZmZlcik7CiB9CiAKLVB5RG9jX1NUUlZBUihmcm9tc3RyaW5nX2RvYywKLSJmcm9tc3RyaW5nKHN0cmluZylcblwKLVxuXAotQXBwZW5kcyBpdGVtcyBmcm9tIHRoZSBzdHJpbmcsIGludGVycHJldGluZyBpdCBhcyBhbiBhcnJheSBvZiBtYWNoaW5lXG5cCi12YWx1ZXMsIGFzIGlmIGl0IGhhZCBiZWVuIHJlYWQgZnJvbSBhIGZpbGUgdXNpbmcgdGhlIGZyb21maWxlKCkgbWV0aG9kKS5cblwKLVxuXAotVGhpcyBtZXRob2QgaXMgZGVwcmVjYXRlZC4gVXNlIGZyb21ieXRlcyBpbnN0ZWFkLiIpOworLypbY2xpbmljIGlucHV0XQorYXJyYXkuYXJyYXkuZnJvbWJ5dGVzCiAKKyAgICBidWZmZXI6IFB5X2J1ZmZlcgorICAgIC8KKworQXBwZW5kcyBpdGVtcyBmcm9tIHRoZSBzdHJpbmcsIGludGVycHJldGluZyBpdCBhcyBhbiBhcnJheSBvZiBtYWNoaW5lIHZhbHVlcywgYXMgaWYgaXQgaGFkIGJlZW4gcmVhZCBmcm9tIGEgZmlsZSB1c2luZyB0aGUgZnJvbWZpbGUoKSBtZXRob2QpLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLwogCiBzdGF0aWMgUHlPYmplY3QgKgotYXJyYXlfZnJvbWJ5dGVzKGFycmF5b2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK2FycmF5X2FycmF5X2Zyb21ieXRlc19pbXBsKGFycmF5b2JqZWN0ICpzZWxmLCBQeV9idWZmZXIgKmJ1ZmZlcikKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1kOTg0MmM4Zjc1MTBhNTE2IGlucHV0PTJiYmYyYjUzZWJmY2M5ODhdKi8KIHsKLSAgICBQeV9idWZmZXIgYnVmZmVyOwotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAieSo6ZnJvbWJ5dGVzIiwgJmJ1ZmZlcikpCi0gICAgICAgIHJldHVybiBOVUxMOwotICAgIGVsc2UKLSAgICAgICAgcmV0dXJuIGZyb21ieXRlcyhzZWxmLCAmYnVmZmVyKTsKKyAgICByZXR1cm4gZnJvbWJ5dGVzKHNlbGYsIGJ1ZmZlcik7CiB9CiAKLVB5RG9jX1NUUlZBUihmcm9tYnl0ZXNfZG9jLAotImZyb21ieXRlcyhieXRlc3RyaW5nKVxuXAotXG5cCi1BcHBlbmRzIGl0ZW1zIGZyb20gdGhlIHN0cmluZywgaW50ZXJwcmV0aW5nIGl0IGFzIGFuIGFycmF5IG9mIG1hY2hpbmVcblwKLXZhbHVlcywgYXMgaWYgaXQgaGFkIGJlZW4gcmVhZCBmcm9tIGEgZmlsZSB1c2luZyB0aGUgZnJvbWZpbGUoKSBtZXRob2QpLiIpOworLypbY2xpbmljIGlucHV0XQorYXJyYXkuYXJyYXkudG9ieXRlcwogCitDb252ZXJ0IHRoZSBhcnJheSB0byBhbiBhcnJheSBvZiBtYWNoaW5lIHZhbHVlcyBhbmQgcmV0dXJuIHRoZSBieXRlcyByZXByZXNlbnRhdGlvbi4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KIAogc3RhdGljIFB5T2JqZWN0ICoKLWFycmF5X3RvYnl0ZXMoYXJyYXlvYmplY3QgKnNlbGYsIFB5T2JqZWN0ICp1bnVzZWQpCithcnJheV9hcnJheV90b2J5dGVzX2ltcGwoYXJyYXlvYmplY3QgKnNlbGYpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ODczMThlNGVkY2RjMmJiNiBpbnB1dD05MGVlNDk1Zjk2ZGUzNGY1XSovCiB7CiAgICAgaWYgKFB5X1NJWkUoc2VsZikgPD0gUFlfU1NJWkVfVF9NQVggLyBzZWxmLT5vYl9kZXNjci0+aXRlbXNpemUpIHsKICAgICAgICAgcmV0dXJuIFB5Qnl0ZXNfRnJvbVN0cmluZ0FuZFNpemUoc2VsZi0+b2JfaXRlbSwKQEAgLTE1MjEsNDAgKzE2NTgsNDMgQEAKICAgICB9CiB9CiAKLVB5RG9jX1NUUlZBUih0b2J5dGVzX2RvYywKLSJ0b2J5dGVzKCkgLT4gYnl0ZXNcblwKLVxuXAotQ29udmVydCB0aGUgYXJyYXkgdG8gYW4gYXJyYXkgb2YgbWFjaGluZSB2YWx1ZXMgYW5kIHJldHVybiB0aGUgYnl0ZXNcblwKLXJlcHJlc2VudGF0aW9uLiIpOworLypbY2xpbmljIGlucHV0XQorYXJyYXkuYXJyYXkudG9zdHJpbmcKIAorQ29udmVydCB0aGUgYXJyYXkgdG8gYW4gYXJyYXkgb2YgbWFjaGluZSB2YWx1ZXMgYW5kIHJldHVybiB0aGUgYnl0ZXMgcmVwcmVzZW50YXRpb24uCisKK1RoaXMgbWV0aG9kIGlzIGRlcHJlY2F0ZWQuIFVzZSB0b2J5dGVzIGluc3RlYWQuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1hcnJheV90b3N0cmluZyhhcnJheW9iamVjdCAqc2VsZiwgUHlPYmplY3QgKnVudXNlZCkKK2FycmF5X2FycmF5X3Rvc3RyaW5nX2ltcGwoYXJyYXlvYmplY3QgKnNlbGYpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9N2Q2YmQ5Mjc0NWEyYzhmMyBpbnB1dD1iNmMwZGRlZTdiMzA0NTdlXSovCiB7CiAgICAgaWYgKFB5RXJyX1dhcm5FeChQeUV4Y19EZXByZWNhdGlvbldhcm5pbmcsCiAgICAgICAgICAgICAidG9zdHJpbmcoKSBpcyBkZXByZWNhdGVkLiBVc2UgdG9ieXRlcygpIGluc3RlYWQuIiwgMikgIT0gMCkKICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgcmV0dXJuIGFycmF5X3RvYnl0ZXMoc2VsZiwgdW51c2VkKTsKKyAgICByZXR1cm4gYXJyYXlfYXJyYXlfdG9ieXRlc19pbXBsKHNlbGYpOwogfQogCi1QeURvY19TVFJWQVIodG9zdHJpbmdfZG9jLAotInRvc3RyaW5nKCkgLT4gYnl0ZXNcblwKLVxuXAotQ29udmVydCB0aGUgYXJyYXkgdG8gYW4gYXJyYXkgb2YgbWFjaGluZSB2YWx1ZXMgYW5kIHJldHVybiB0aGUgYnl0ZXNcblwKLXJlcHJlc2VudGF0aW9uLlxuXAotXG5cCi1UaGlzIG1ldGhvZCBpcyBkZXByZWNhdGVkLiBVc2UgdG9ieXRlcyBpbnN0ZWFkLiIpOworLypbY2xpbmljIGlucHV0XQorYXJyYXkuYXJyYXkuZnJvbXVuaWNvZGUKIAorICAgIHVzdHI6IFB5X1VOSUNPREUobGVuZ3RoPVRydWUpCisgICAgLworCitFeHRlbmRzIHRoaXMgYXJyYXkgd2l0aCBkYXRhIGZyb20gdGhlIHVuaWNvZGUgc3RyaW5nIHVzdHIuCisKK1RoZSBhcnJheSBtdXN0IGJlIGEgdW5pY29kZSB0eXBlIGFycmF5OyBvdGhlcndpc2UgYSBWYWx1ZUVycm9yIGlzIHJhaXNlZC4KK1VzZSBhcnJheS5mcm9tYnl0ZXModXN0ci5lbmNvZGUoLi4uKSkgdG8gYXBwZW5kIFVuaWNvZGUgZGF0YSB0byBhbiBhcnJheSBvZgorc29tZSBvdGhlciB0eXBlLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLwogCiBzdGF0aWMgUHlPYmplY3QgKgotYXJyYXlfZnJvbXVuaWNvZGUoYXJyYXlvYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorYXJyYXlfYXJyYXlfZnJvbXVuaWNvZGVfaW1wbChhcnJheW9iamVjdCAqc2VsZiwgUHlfVU5JQ09ERSAqdXN0ciwgUHlfc3NpemVfY2xlYW5fdCB1c3RyX2xlbmd0aCkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD0zYjNmNGYxMzNiYWM3MjVlIGlucHV0PTU2YmNlZGI1ZWY3MDEzOWZdKi8KIHsKLSAgICBQeV9VTklDT0RFICp1c3RyOwotICAgIFB5X3NzaXplX3QgbjsKICAgICBjaGFyIHR5cGVjb2RlOwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJ1Izpmcm9tdW5pY29kZSIsICZ1c3RyLCAmbikpCi0gICAgICAgIHJldHVybiBOVUxMOwogICAgIHR5cGVjb2RlID0gc2VsZi0+b2JfZGVzY3ItPnR5cGVjb2RlOwogICAgIGlmICh0eXBlY29kZSAhPSAndScpIHsKICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsCkBAIC0xNTYyLDI5ICsxNzAyLDMwIEBACiAgICAgICAgICAgICAidW5pY29kZSB0eXBlIGFycmF5cyIpOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9Ci0gICAgaWYgKG4gPiAwKSB7CisgICAgaWYgKHVzdHJfbGVuZ3RoID4gMCkgewogICAgICAgICBQeV9zc2l6ZV90IG9sZF9zaXplID0gUHlfU0laRShzZWxmKTsKLSAgICAgICAgaWYgKGFycmF5X3Jlc2l6ZShzZWxmLCBvbGRfc2l6ZSArIG4pID09IC0xKQorICAgICAgICBpZiAoYXJyYXlfcmVzaXplKHNlbGYsIG9sZF9zaXplICsgdXN0cl9sZW5ndGgpID09IC0xKQogICAgICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgICAgIG1lbWNweShzZWxmLT5vYl9pdGVtICsgb2xkX3NpemUgKiBzaXplb2YoUHlfVU5JQ09ERSksCi0gICAgICAgICAgICAgICB1c3RyLCBuICogc2l6ZW9mKFB5X1VOSUNPREUpKTsKKyAgICAgICAgICAgICAgIHVzdHIsIHVzdHJfbGVuZ3RoICogc2l6ZW9mKFB5X1VOSUNPREUpKTsKICAgICB9CiAKLSAgICBQeV9JTkNSRUYoUHlfTm9uZSk7Ci0gICAgcmV0dXJuIFB5X05vbmU7CisgICAgUHlfUkVUVVJOX05PTkU7CiB9CiAKLVB5RG9jX1NUUlZBUihmcm9tdW5pY29kZV9kb2MsCi0iZnJvbXVuaWNvZGUodXN0cilcblwKLVxuXAotRXh0ZW5kcyB0aGlzIGFycmF5IHdpdGggZGF0YSBmcm9tIHRoZSB1bmljb2RlIHN0cmluZyB1c3RyLlxuXAotVGhlIGFycmF5IG11c3QgYmUgYSB1bmljb2RlIHR5cGUgYXJyYXk7IG90aGVyd2lzZSBhIFZhbHVlRXJyb3JcblwKLWlzIHJhaXNlZC4gIFVzZSBhcnJheS5mcm9tYnl0ZXModXN0ci5lbmNvZGUoLi4uKSkgdG9cblwKLWFwcGVuZCBVbmljb2RlIGRhdGEgdG8gYW4gYXJyYXkgb2Ygc29tZSBvdGhlciB0eXBlLiIpOworLypbY2xpbmljIGlucHV0XQorYXJyYXkuYXJyYXkudG91bmljb2RlCiAKK0V4dGVuZHMgdGhpcyBhcnJheSB3aXRoIGRhdGEgZnJvbSB0aGUgdW5pY29kZSBzdHJpbmcgdXN0ci4KKworQ29udmVydCB0aGUgYXJyYXkgdG8gYSB1bmljb2RlIHN0cmluZy4gIFRoZSBhcnJheSBtdXN0IGJlIGEgdW5pY29kZSB0eXBlIGFycmF5Oworb3RoZXJ3aXNlIGEgVmFsdWVFcnJvciBpcyByYWlzZWQuICBVc2UgYXJyYXkudG9ieXRlcygpLmRlY29kZSgpIHRvIG9idGFpbiBhCit1bmljb2RlIHN0cmluZyBmcm9tIGFuIGFycmF5IG9mIHNvbWUgb3RoZXIgdHlwZS4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KIAogc3RhdGljIFB5T2JqZWN0ICoKLWFycmF5X3RvdW5pY29kZShhcnJheW9iamVjdCAqc2VsZiwgUHlPYmplY3QgKnVudXNlZCkKK2FycmF5X2FycmF5X3RvdW5pY29kZV9pbXBsKGFycmF5b2JqZWN0ICpzZWxmKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTA4ZTQ0MjM3ODMzNmUxZWYgaW5wdXQ9MTI3MjQyZWViZTcwYjY2ZF0qLwogewogICAgIGNoYXIgdHlwZWNvZGU7CiAgICAgdHlwZWNvZGUgPSBzZWxmLT5vYl9kZXNjci0+dHlwZWNvZGU7CkBAIC0xNTk2LDcwICsxNzM3LDI0IEBACiAgICAgcmV0dXJuIFB5VW5pY29kZV9Gcm9tVW5pY29kZSgoUHlfVU5JQ09ERSAqKSBzZWxmLT5vYl9pdGVtLCBQeV9TSVpFKHNlbGYpKTsKIH0KIAotUHlEb2NfU1RSVkFSKHRvdW5pY29kZV9kb2MsCi0idG91bmljb2RlKCkgLT4gdW5pY29kZVxuXAotXG5cCi1Db252ZXJ0IHRoZSBhcnJheSB0byBhIHVuaWNvZGUgc3RyaW5nLiAgVGhlIGFycmF5IG11c3QgYmVcblwKLWEgdW5pY29kZSB0eXBlIGFycmF5OyBvdGhlcndpc2UgYSBWYWx1ZUVycm9yIGlzIHJhaXNlZC4gIFVzZVxuXAotYXJyYXkudG9ieXRlcygpLmRlY29kZSgpIHRvIG9idGFpbiBhIHVuaWNvZGUgc3RyaW5nIGZyb21cblwKLWFuIGFycmF5IG9mIHNvbWUgb3RoZXIgdHlwZS4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK2FycmF5LmFycmF5Ll9fc2l6ZW9mX18KIAorU2l6ZSBvZiB0aGUgYXJyYXkgaW4gbWVtb3J5LCBpbiBieXRlcy4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KIAogc3RhdGljIFB5T2JqZWN0ICoKLWFycmF5X3NpemVvZihhcnJheW9iamVjdCAqc2VsZiwgUHlPYmplY3QgKnVudXNlZCkKK2FycmF5X2FycmF5X19fc2l6ZW9mX19faW1wbChhcnJheW9iamVjdCAqc2VsZikKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1kOGUxYzYxZWJiZTNlYWVkIGlucHV0PTgwNTU4NjU2NWJmMmIzYzZdKi8KIHsKICAgICBQeV9zc2l6ZV90IHJlczsKICAgICByZXMgPSBzaXplb2YoYXJyYXlvYmplY3QpICsgc2VsZi0+YWxsb2NhdGVkICogc2VsZi0+b2JfZGVzY3ItPml0ZW1zaXplOwogICAgIHJldHVybiBQeUxvbmdfRnJvbVNzaXplX3QocmVzKTsKIH0KIAotUHlEb2NfU1RSVkFSKHNpemVvZl9kb2MsCi0iX19zaXplb2ZfXygpIC0+IGludFxuXAotXG5cCi1TaXplIG9mIHRoZSBhcnJheSBpbiBtZW1vcnksIGluIGJ5dGVzLiIpOwotCiAKIC8qKioqKioqKioqKioqKioqKioqKioqKiBQaWNrbGluZyBzdXBwb3J0ICoqKioqKioqKioqKioqKioqKioqKioqKi8KIAotZW51bSBtYWNoaW5lX2Zvcm1hdF9jb2RlIHsKLSAgICBVTktOT1dOX0ZPUk1BVCA9IC0xLAotICAgIC8qIFVOS05PV05fRk9STUFUIGlzIHVzZWQgdG8gaW5kaWNhdGUgdGhhdCB0aGUgbWFjaGluZSBmb3JtYXQgZm9yIGFuCi0gICAgICogYXJyYXkgdHlwZSBjb2RlIGNhbm5vdCBiZSBpbnRlcnByZXRlZC4gV2hlbiB0aGlzIG9jY3VycywgYSBsaXN0IG9mCi0gICAgICogUHl0aG9uIG9iamVjdHMgaXMgdXNlZCB0byByZXByZXNlbnQgdGhlIGNvbnRlbnQgb2YgdGhlIGFycmF5Ci0gICAgICogaW5zdGVhZCBvZiB1c2luZyB0aGUgbWVtb3J5IGNvbnRlbnQgb2YgdGhlIGFycmF5IGRpcmVjdGx5LiBJbiB0aGF0Ci0gICAgICogY2FzZSwgdGhlIGFycmF5X3JlY29uc3RydWN0b3IgbWVjaGFuaXNtIGlzIGJ5cGFzc2VkIGNvbXBsZXRlbHksIGFuZAotICAgICAqIHRoZSBzdGFuZGFyZCBhcnJheSBjb25zdHJ1Y3RvciBpcyB1c2VkIGluc3RlYWQuCi0gICAgICoKLSAgICAgKiBUaGlzIGlzIHdpbGwgbW9zdCBsaWtlbHkgb2NjdXIgd2hlbiB0aGUgbWFjaGluZSBkb2Vzbid0IHVzZSBJRUVFCi0gICAgICogZmxvYXRpbmctcG9pbnQgbnVtYmVycy4KLSAgICAgKi8KLQotICAgIFVOU0lHTkVEX0lOVDggPSAwLAotICAgIFNJR05FRF9JTlQ4ID0gMSwKLSAgICBVTlNJR05FRF9JTlQxNl9MRSA9IDIsCi0gICAgVU5TSUdORURfSU5UMTZfQkUgPSAzLAotICAgIFNJR05FRF9JTlQxNl9MRSA9IDQsCi0gICAgU0lHTkVEX0lOVDE2X0JFID0gNSwKLSAgICBVTlNJR05FRF9JTlQzMl9MRSA9IDYsCi0gICAgVU5TSUdORURfSU5UMzJfQkUgPSA3LAotICAgIFNJR05FRF9JTlQzMl9MRSA9IDgsCi0gICAgU0lHTkVEX0lOVDMyX0JFID0gOSwKLSAgICBVTlNJR05FRF9JTlQ2NF9MRSA9IDEwLAotICAgIFVOU0lHTkVEX0lOVDY0X0JFID0gMTEsCi0gICAgU0lHTkVEX0lOVDY0X0xFID0gMTIsCi0gICAgU0lHTkVEX0lOVDY0X0JFID0gMTMsCi0gICAgSUVFRV83NTRfRkxPQVRfTEUgPSAxNCwKLSAgICBJRUVFXzc1NF9GTE9BVF9CRSA9IDE1LAotICAgIElFRUVfNzU0X0RPVUJMRV9MRSA9IDE2LAotICAgIElFRUVfNzU0X0RPVUJMRV9CRSA9IDE3LAotICAgIFVURjE2X0xFID0gMTgsCi0gICAgVVRGMTZfQkUgPSAxOSwKLSAgICBVVEYzMl9MRSA9IDIwLAotICAgIFVURjMyX0JFID0gMjEKLX07Ci0jZGVmaW5lIE1BQ0hJTkVfRk9STUFUX0NPREVfTUlOIDAKLSNkZWZpbmUgTUFDSElORV9GT1JNQVRfQ09ERV9NQVggMjEKLQogc3RhdGljIGNvbnN0IHN0cnVjdCBtZm9ybWF0ZGVzY3IgewogICAgIHNpemVfdCBzaXplOwogICAgIGludCBpc19zaWduZWQ7CkBAIC0xODM1LDIxICsxOTMwLDI2IEBACiAgKiBUaGlzIGZ1bmN0aW9ucyBpcyBhIHNwZWNpYWwgY29uc3RydWN0b3IgdXNlZCB3aGVuIHVucGlja2xpbmcgYW4gYXJyYXkuIEl0CiAgKiBwcm92aWRlcyBhIHBvcnRhYmxlIHdheSB0byByZWJ1aWxkIGFuIGFycmF5IGZyb20gaXRzIG1lbW9yeSByZXByZXNlbnRhdGlvbi4KICAqLworLypbY2xpbmljIGlucHV0XQorYXJyYXkuX2FycmF5X3JlY29uc3RydWN0b3IKKworICAgIGFycmF5dHlwZTogb2JqZWN0KHR5cGU9IlB5VHlwZU9iamVjdCAqIikKKyAgICB0eXBlY29kZTogaW50KHR5cGVzPSdzdHInKQorICAgIG1mb3JtYXRfY29kZTogaW50KHR5cGU9ImVudW0gbWFjaGluZV9mb3JtYXRfY29kZSIpCisgICAgaXRlbXM6IG9iamVjdAorICAgIC8KKworSW50ZXJuYWwuIFVzZWQgZm9yIHBpY2tsaW5nIHN1cHBvcnQuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKIHN0YXRpYyBQeU9iamVjdCAqCi1hcnJheV9yZWNvbnN0cnVjdG9yKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK2FycmF5X19hcnJheV9yZWNvbnN0cnVjdG9yX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlUeXBlT2JqZWN0ICphcnJheXR5cGUsIGludCB0eXBlY29kZSwgZW51bSBtYWNoaW5lX2Zvcm1hdF9jb2RlIG1mb3JtYXRfY29kZSwgUHlPYmplY3QgKml0ZW1zKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWM1MTA4MWVjOTFjYWY3ZTkgaW5wdXQ9ZjcyNDkyNzA4YzBhMWQ1MF0qLwogewotICAgIFB5VHlwZU9iamVjdCAqYXJyYXl0eXBlOwotICAgIFB5T2JqZWN0ICppdGVtczsKICAgICBQeU9iamVjdCAqY29udmVydGVkX2l0ZW1zOwogICAgIFB5T2JqZWN0ICpyZXN1bHQ7Ci0gICAgaW50IHR5cGVjb2RlOwotICAgIGVudW0gbWFjaGluZV9mb3JtYXRfY29kZSBtZm9ybWF0X2NvZGU7CiAgICAgc3RydWN0IGFycmF5ZGVzY3IgKmRlc2NyOwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJPQ2lPOmFycmF5Ll9hcnJheV9yZWNvbnN0cnVjdG9yIiwKLSAgICAgICAgICAgICAgICAgICAgJmFycmF5dHlwZSwgJnR5cGVjb2RlLCAmbWZvcm1hdF9jb2RlLCAmaXRlbXMpKQotICAgICAgICByZXR1cm4gTlVMTDsKLQogICAgIGlmICghUHlUeXBlX0NoZWNrKGFycmF5dHlwZSkpIHsKICAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1R5cGVFcnJvciwKICAgICAgICAgICAgICJmaXJzdCBhcmd1bWVudCBtdXN0IGEgdHlwZSBvYmplY3QsIG5vdCAlLjIwMHMiLApAQCAtMjAwMCw3ICsyMTAwLDcgQEAKICAgICAgICAgICovCiAgICAgICAgIGZvciAoZGVzY3IgPSBkZXNjcmlwdG9yczsgZGVzY3ItPnR5cGVjb2RlICE9ICdcMCc7IGRlc2NyKyspIHsKICAgICAgICAgICAgIGlmIChkZXNjci0+aXNfaW50ZWdlcl90eXBlICYmCi0gICAgICAgICAgICAgICAgZGVzY3ItPml0ZW1zaXplID09IG1mX2Rlc2NyLnNpemUgJiYKKyAgICAgICAgICAgICAgICAoc2l6ZV90KWRlc2NyLT5pdGVtc2l6ZSA9PSBtZl9kZXNjci5zaXplICYmCiAgICAgICAgICAgICAgICAgZGVzY3ItPmlzX3NpZ25lZCA9PSBtZl9kZXNjci5pc19zaWduZWQpCiAgICAgICAgICAgICAgICAgdHlwZWNvZGUgPSBkZXNjci0+dHlwZWNvZGU7CiAgICAgICAgIH0KQEAgLTIwMzgsMTMgKzIxMzgsMjMgQEAKICAgICByZXR1cm4gcmVzdWx0OwogfQogCisvKltjbGluaWMgaW5wdXRdCithcnJheS5hcnJheS5fX3JlZHVjZV9leF9fCisKKyAgICB2YWx1ZTogb2JqZWN0CisgICAgLworCitSZXR1cm4gc3RhdGUgaW5mb3JtYXRpb24gZm9yIHBpY2tsaW5nLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCiBzdGF0aWMgUHlPYmplY3QgKgotYXJyYXlfcmVkdWNlX2V4KGFycmF5b2JqZWN0ICphcnJheSwgUHlPYmplY3QgKnZhbHVlKQorYXJyYXlfYXJyYXlfX19yZWR1Y2VfZXhfXyhhcnJheW9iamVjdCAqc2VsZiwgUHlPYmplY3QgKnZhbHVlKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTA1MWUwYTYxNzVkMGVkZGIgaW5wdXQ9YzM2YzNmODVkZTdkZjZjZF0qLwogewogICAgIFB5T2JqZWN0ICpkaWN0OwogICAgIFB5T2JqZWN0ICpyZXN1bHQ7CiAgICAgUHlPYmplY3QgKmFycmF5X3N0cjsKLSAgICBpbnQgdHlwZWNvZGUgPSBhcnJheS0+b2JfZGVzY3ItPnR5cGVjb2RlOworICAgIGludCB0eXBlY29kZSA9IHNlbGYtPm9iX2Rlc2NyLT50eXBlY29kZTsKICAgICBpbnQgbWZvcm1hdF9jb2RlOwogICAgIHN0YXRpYyBQeU9iamVjdCAqYXJyYXlfcmVjb25zdHJ1Y3RvciA9IE5VTEw7CiAgICAgbG9uZyBwcm90b2NvbDsKQEAgLTIwNzIsNyArMjE4Miw3IEBACiAgICAgaWYgKHByb3RvY29sID09IC0xICYmIFB5RXJyX09jY3VycmVkKCkpCiAgICAgICAgIHJldHVybiBOVUxMOwogCi0gICAgZGljdCA9IF9QeU9iamVjdF9HZXRBdHRySWQoKFB5T2JqZWN0ICopYXJyYXksICZQeUlkX19fZGljdF9fKTsKKyAgICBkaWN0ID0gX1B5T2JqZWN0X0dldEF0dHJJZCgoUHlPYmplY3QgKilzZWxmLCAmUHlJZF9fX2RpY3RfXyk7CiAgICAgaWYgKGRpY3QgPT0gTlVMTCkgewogICAgICAgICBpZiAoIVB5RXJyX0V4Y2VwdGlvbk1hdGNoZXMoUHlFeGNfQXR0cmlidXRlRXJyb3IpKQogICAgICAgICAgICAgcmV0dXJuIE5VTEw7CkBAIC0yMDk1LDMyICsyMjA1LDMwIEBACiAgICAgICAgICAqIGNvZXJjaW5nIHVuaWNvZGUgb2JqZWN0cyB0byBieXRlcyBpbiBhcnJheV9yZWNvbnN0cnVjdG9yLgogICAgICAgICAgKi8KICAgICAgICAgUHlPYmplY3QgKmxpc3Q7Ci0gICAgICAgIGxpc3QgPSBhcnJheV90b2xpc3QoYXJyYXksIE5VTEwpOworICAgICAgICBsaXN0ID0gYXJyYXlfYXJyYXlfdG9saXN0X2ltcGwoc2VsZik7CiAgICAgICAgIGlmIChsaXN0ID09IE5VTEwpIHsKICAgICAgICAgICAgIFB5X0RFQ1JFRihkaWN0KTsKICAgICAgICAgICAgIHJldHVybiBOVUxMOwogICAgICAgICB9CiAgICAgICAgIHJlc3VsdCA9IFB5X0J1aWxkVmFsdWUoCi0gICAgICAgICAgICAiTyhDTylPIiwgUHlfVFlQRShhcnJheSksIHR5cGVjb2RlLCBsaXN0LCBkaWN0KTsKKyAgICAgICAgICAgICJPKENPKU8iLCBQeV9UWVBFKHNlbGYpLCB0eXBlY29kZSwgbGlzdCwgZGljdCk7CiAgICAgICAgIFB5X0RFQ1JFRihsaXN0KTsKICAgICAgICAgUHlfREVDUkVGKGRpY3QpOwogICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgIH0KIAotICAgIGFycmF5X3N0ciA9IGFycmF5X3RvYnl0ZXMoYXJyYXksIE5VTEwpOworICAgIGFycmF5X3N0ciA9IGFycmF5X2FycmF5X3RvYnl0ZXNfaW1wbChzZWxmKTsKICAgICBpZiAoYXJyYXlfc3RyID09IE5VTEwpIHsKICAgICAgICAgUHlfREVDUkVGKGRpY3QpOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CiAgICAgcmVzdWx0ID0gUHlfQnVpbGRWYWx1ZSgKLSAgICAgICAgIk8oT0NpTilPIiwgYXJyYXlfcmVjb25zdHJ1Y3RvciwgUHlfVFlQRShhcnJheSksIHR5cGVjb2RlLAorICAgICAgICAiTyhPQ2lOKU8iLCBhcnJheV9yZWNvbnN0cnVjdG9yLCBQeV9UWVBFKHNlbGYpLCB0eXBlY29kZSwKICAgICAgICAgbWZvcm1hdF9jb2RlLCBhcnJheV9zdHIsIGRpY3QpOwogICAgIFB5X0RFQ1JFRihkaWN0KTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogCi1QeURvY19TVFJWQVIocmVkdWNlX2RvYywgIlJldHVybiBzdGF0ZSBpbmZvcm1hdGlvbiBmb3IgcGlja2xpbmcuIik7Ci0KIHN0YXRpYyBQeU9iamVjdCAqCiBhcnJheV9nZXRfdHlwZWNvZGUoYXJyYXlvYmplY3QgKmEsIHZvaWQgKmNsb3N1cmUpCiB7CkBAIC0yMTQzLDU1ICsyMjUxLDMxIEBACiB9OwogCiBzdGF0aWMgUHlNZXRob2REZWYgYXJyYXlfbWV0aG9kc1tdID0gewotICAgIHsiYXBwZW5kIiwgICAgICAgICAgKFB5Q0Z1bmN0aW9uKWFycmF5X2FwcGVuZCwgICAgICBNRVRIX08sCi0gICAgIGFwcGVuZF9kb2N9LAotICAgIHsiYnVmZmVyX2luZm8iLCAgICAgKFB5Q0Z1bmN0aW9uKWFycmF5X2J1ZmZlcl9pbmZvLCBNRVRIX05PQVJHUywKLSAgICAgYnVmZmVyX2luZm9fZG9jfSwKLSAgICB7ImJ5dGVzd2FwIiwgICAgICAgIChQeUNGdW5jdGlvbilhcnJheV9ieXRlc3dhcCwgICAgTUVUSF9OT0FSR1MsCi0gICAgIGJ5dGVzd2FwX2RvY30sCi0gICAgeyJfX2NvcHlfXyIsICAgICAgICAoUHlDRnVuY3Rpb24pYXJyYXlfY29weSwgICAgICAgIE1FVEhfTk9BUkdTLAotICAgICBjb3B5X2RvY30sCi0gICAgeyJjb3VudCIsICAgICAgICAgICAoUHlDRnVuY3Rpb24pYXJyYXlfY291bnQsICAgICAgIE1FVEhfTywKLSAgICAgY291bnRfZG9jfSwKLSAgICB7Il9fZGVlcGNvcHlfXyIsICAgIChQeUNGdW5jdGlvbilhcnJheV9jb3B5LCAgICAgICAgTUVUSF9PLAotICAgICBjb3B5X2RvY30sCi0gICAgeyJleHRlbmQiLCAgICAgICAgICAoUHlDRnVuY3Rpb24pYXJyYXlfZXh0ZW5kLCAgICAgIE1FVEhfTywKLSAgICAgZXh0ZW5kX2RvY30sCi0gICAgeyJmcm9tZmlsZSIsICAgICAgICAoUHlDRnVuY3Rpb24pYXJyYXlfZnJvbWZpbGUsICAgIE1FVEhfVkFSQVJHUywKLSAgICAgZnJvbWZpbGVfZG9jfSwKLSAgICB7ImZyb21saXN0IiwgICAgICAgIChQeUNGdW5jdGlvbilhcnJheV9mcm9tbGlzdCwgICAgTUVUSF9PLAotICAgICBmcm9tbGlzdF9kb2N9LAotICAgIHsiZnJvbXN0cmluZyIsICAgICAgKFB5Q0Z1bmN0aW9uKWFycmF5X2Zyb21zdHJpbmcsICBNRVRIX1ZBUkFSR1MsCi0gICAgIGZyb21zdHJpbmdfZG9jfSwKLSAgICB7ImZyb21ieXRlcyIsICAgICAgIChQeUNGdW5jdGlvbilhcnJheV9mcm9tYnl0ZXMsICAgTUVUSF9WQVJBUkdTLAotICAgICBmcm9tYnl0ZXNfZG9jfSwKLSAgICB7ImZyb211bmljb2RlIiwgICAgIChQeUNGdW5jdGlvbilhcnJheV9mcm9tdW5pY29kZSwgTUVUSF9WQVJBUkdTLAotICAgICBmcm9tdW5pY29kZV9kb2N9LAotICAgIHsiaW5kZXgiLCAgICAgICAgICAgKFB5Q0Z1bmN0aW9uKWFycmF5X2luZGV4LCAgICAgICBNRVRIX08sCi0gICAgIGluZGV4X2RvY30sCi0gICAgeyJpbnNlcnQiLCAgICAgICAgICAoUHlDRnVuY3Rpb24pYXJyYXlfaW5zZXJ0LCAgICAgIE1FVEhfVkFSQVJHUywKLSAgICAgaW5zZXJ0X2RvY30sCi0gICAgeyJwb3AiLCAgICAgICAgICAgICAoUHlDRnVuY3Rpb24pYXJyYXlfcG9wLCAgICAgICAgIE1FVEhfVkFSQVJHUywKLSAgICAgcG9wX2RvY30sCi0gICAgeyJfX3JlZHVjZV9leF9fIiwgICAoUHlDRnVuY3Rpb24pYXJyYXlfcmVkdWNlX2V4LCAgIE1FVEhfTywKLSAgICAgcmVkdWNlX2RvY30sCi0gICAgeyJyZW1vdmUiLCAgICAgICAgICAoUHlDRnVuY3Rpb24pYXJyYXlfcmVtb3ZlLCAgICAgIE1FVEhfTywKLSAgICAgcmVtb3ZlX2RvY30sCi0gICAgeyJyZXZlcnNlIiwgICAgICAgICAoUHlDRnVuY3Rpb24pYXJyYXlfcmV2ZXJzZSwgICAgIE1FVEhfTk9BUkdTLAotICAgICByZXZlcnNlX2RvY30sCi0gICAgeyJ0b2ZpbGUiLCAgICAgICAgICAoUHlDRnVuY3Rpb24pYXJyYXlfdG9maWxlLCAgICAgIE1FVEhfTywKLSAgICAgdG9maWxlX2RvY30sCi0gICAgeyJ0b2xpc3QiLCAgICAgICAgICAoUHlDRnVuY3Rpb24pYXJyYXlfdG9saXN0LCAgICAgIE1FVEhfTk9BUkdTLAotICAgICB0b2xpc3RfZG9jfSwKLSAgICB7InRvc3RyaW5nIiwgICAgICAgIChQeUNGdW5jdGlvbilhcnJheV90b3N0cmluZywgICAgTUVUSF9OT0FSR1MsCi0gICAgIHRvc3RyaW5nX2RvY30sCi0gICAgeyJ0b2J5dGVzIiwgICAgICAgICAoUHlDRnVuY3Rpb24pYXJyYXlfdG9ieXRlcywgICAgIE1FVEhfTk9BUkdTLAotICAgICB0b2J5dGVzX2RvY30sCi0gICAgeyJ0b3VuaWNvZGUiLCAgICAgICAoUHlDRnVuY3Rpb24pYXJyYXlfdG91bmljb2RlLCAgIE1FVEhfTk9BUkdTLAotICAgICB0b3VuaWNvZGVfZG9jfSwKLSAgICB7Il9fc2l6ZW9mX18iLCAgICAgIChQeUNGdW5jdGlvbilhcnJheV9zaXplb2YsICAgICAgTUVUSF9OT0FSR1MsCi0gICAgIHNpemVvZl9kb2N9LAotICAgIHtOVUxMLCAgICAgICAgICAgICAgTlVMTH0gICAgICAgICAgIC8qIHNlbnRpbmVsICovCisgICAgQVJSQVlfQVJSQVlfQVBQRU5EX01FVEhPRERFRgorICAgIEFSUkFZX0FSUkFZX0JVRkZFUl9JTkZPX01FVEhPRERFRgorICAgIEFSUkFZX0FSUkFZX0JZVEVTV0FQX01FVEhPRERFRgorICAgIEFSUkFZX0FSUkFZX19fQ09QWV9fX01FVEhPRERFRgorICAgIEFSUkFZX0FSUkFZX0NPVU5UX01FVEhPRERFRgorICAgIEFSUkFZX0FSUkFZX19fREVFUENPUFlfX19NRVRIT0RERUYKKyAgICBBUlJBWV9BUlJBWV9FWFRFTkRfTUVUSE9EREVGCisgICAgQVJSQVlfQVJSQVlfRlJPTUZJTEVfTUVUSE9EREVGCisgICAgQVJSQVlfQVJSQVlfRlJPTUxJU1RfTUVUSE9EREVGCisgICAgQVJSQVlfQVJSQVlfRlJPTVNUUklOR19NRVRIT0RERUYKKyAgICBBUlJBWV9BUlJBWV9GUk9NQllURVNfTUVUSE9EREVGCisgICAgQVJSQVlfQVJSQVlfRlJPTVVOSUNPREVfTUVUSE9EREVGCisgICAgQVJSQVlfQVJSQVlfSU5ERVhfTUVUSE9EREVGCisgICAgQVJSQVlfQVJSQVlfSU5TRVJUX01FVEhPRERFRgorICAgIEFSUkFZX0FSUkFZX1BPUF9NRVRIT0RERUYKKyAgICBBUlJBWV9BUlJBWV9fX1JFRFVDRV9FWF9fX01FVEhPRERFRgorICAgIEFSUkFZX0FSUkFZX1JFTU9WRV9NRVRIT0RERUYKKyAgICBBUlJBWV9BUlJBWV9SRVZFUlNFX01FVEhPRERFRgorICAgIEFSUkFZX0FSUkFZX1RPRklMRV9NRVRIT0RERUYKKyAgICBBUlJBWV9BUlJBWV9UT0xJU1RfTUVUSE9EREVGCisgICAgQVJSQVlfQVJSQVlfVE9TVFJJTkdfTUVUSE9EREVGCisgICAgQVJSQVlfQVJSQVlfVE9CWVRFU19NRVRIT0RERUYKKyAgICBBUlJBWV9BUlJBWV9UT1VOSUNPREVfTUVUSE9EREVGCisgICAgQVJSQVlfQVJSQVlfX19TSVpFT0ZfX19NRVRIT0RERUYKKyAgICB7TlVMTCwgTlVMTH0gIC8qIHNlbnRpbmVsICovCiB9OwogCiBzdGF0aWMgUHlPYmplY3QgKgpAQCAtMjIwNyw5ICsyMjkxLDkgQEAKICAgICAgICAgcmV0dXJuIFB5VW5pY29kZV9Gcm9tRm9ybWF0KCJhcnJheSgnJWMnKSIsIChpbnQpdHlwZWNvZGUpOwogICAgIH0KICAgICBpZiAodHlwZWNvZGUgPT0gJ3UnKSB7Ci0gICAgICAgIHYgPSBhcnJheV90b3VuaWNvZGUoYSwgTlVMTCk7CisgICAgICAgIHYgPSBhcnJheV9hcnJheV90b3VuaWNvZGVfaW1wbChhKTsKICAgICB9IGVsc2UgewotICAgICAgICB2ID0gYXJyYXlfdG9saXN0KGEsIE5VTEwpOworICAgICAgICB2ID0gYXJyYXlfYXJyYXlfdG9saXN0X2ltcGwoYSk7CiAgICAgfQogICAgIGlmICh2ID09IE5VTEwpCiAgICAgICAgIHJldHVybiBOVUxMOwpAQCAtMjQ0Niw3ICsyNTMwLDExIEBACiBzdGF0aWMgaW50CiBhcnJheV9idWZmZXJfZ2V0YnVmKGFycmF5b2JqZWN0ICpzZWxmLCBQeV9idWZmZXIgKnZpZXcsIGludCBmbGFncykKIHsKLSAgICBpZiAodmlldz09TlVMTCkgZ290byBmaW5pc2g7CisgICAgaWYgKHZpZXcgPT0gTlVMTCkgeworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfQnVmZmVyRXJyb3IsCisgICAgICAgICAgICAiYXJyYXlfYnVmZmVyX2dldGJ1Zjogdmlldz09TlVMTCBhcmd1bWVudCBpcyBvYnNvbGV0ZSIpOworICAgICAgICByZXR1cm4gLTE7CisgICAgfQogCiAgICAgdmlldy0+YnVmID0gKHZvaWQgKilzZWxmLT5vYl9pdGVtOwogICAgIHZpZXctPm9iaiA9IChQeU9iamVjdCopc2VsZjsKQEAgLTI0NzYsNyArMjU2NCw2IEBACiAjZW5kaWYKICAgICB9CiAKLSBmaW5pc2g6CiAgICAgc2VsZi0+b2JfZXhwb3J0cysrOwogICAgIHJldHVybiAwOwogfQpAQCAtMjU5Miw4ICsyNjc5LDggQEAKICAgICAgICAgICAgICAgICAgICAgUHlfREVDUkVGKGEpOwogICAgICAgICAgICAgICAgICAgICByZXR1cm4gTlVMTDsKICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgdiA9IGFycmF5X2Zyb21ieXRlcygoYXJyYXlvYmplY3QgKilhLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0X2luaXRpYWwpOworICAgICAgICAgICAgICAgIHYgPSBhcnJheV9hcnJheV9mcm9tYnl0ZXMoKGFycmF5b2JqZWN0ICopYSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRfaW5pdGlhbCk7CiAgICAgICAgICAgICAgICAgUHlfREVDUkVGKHRfaW5pdGlhbCk7CiAgICAgICAgICAgICAgICAgaWYgKHYgPT0gTlVMTCkgewogICAgICAgICAgICAgICAgICAgICBQeV9ERUNSRUYoYSk7CkBAIC0yNzY2LDE2ICsyODUzLDEwIEBACiAKIC8qKioqKioqKioqKioqKioqKioqKioqKiBBcnJheSBJdGVyYXRvciAqKioqKioqKioqKioqKioqKioqKioqKioqKi8KIAotdHlwZWRlZiBzdHJ1Y3QgewotICAgIFB5T2JqZWN0X0hFQUQKLSAgICBQeV9zc2l6ZV90ICAgICAgICAgICAgICAgICAgICAgICAgICBpbmRleDsKLSAgICBhcnJheW9iamVjdCAgICAgICAgICAgICAgICAgKmFvOwotICAgIFB5T2JqZWN0ICAgICAgICAgICAgICAgICAgICAqICgqZ2V0aXRlbSkoc3RydWN0IGFycmF5b2JqZWN0ICosIFB5X3NzaXplX3QpOwotfSBhcnJheWl0ZXJvYmplY3Q7Ci0KLXN0YXRpYyBQeVR5cGVPYmplY3QgUHlBcnJheUl0ZXJfVHlwZTsKLQotI2RlZmluZSBQeUFycmF5SXRlcl9DaGVjayhvcCkgUHlPYmplY3RfVHlwZUNoZWNrKG9wLCAmUHlBcnJheUl0ZXJfVHlwZSkKKy8qW2NsaW5pYyBpbnB1dF0KK2NsYXNzIGFycmF5LmFycmF5aXRlcmF0b3IgImFycmF5aXRlcm9iamVjdCAqIiAiJlB5QXJyYXlJdGVyX1R5cGUiCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ZGEzOWEzZWU1ZTZiNGIwZCBpbnB1dD01YWVmZDJkNzRkOGM4ZTMwXSovCiAKIHN0YXRpYyBQeU9iamVjdCAqCiBhcnJheV9pdGVyKGFycmF5b2JqZWN0ICphbykKQEAgLTI4MjMsMzMgKzI5MDQsNDcgQEAKICAgICByZXR1cm4gMDsKIH0KIAotc3RhdGljIFB5T2JqZWN0ICoKLWFycmF5aXRlcl9yZWR1Y2UoYXJyYXlpdGVyb2JqZWN0ICppdCkKLXsKLSAgICByZXR1cm4gUHlfQnVpbGRWYWx1ZSgiTihPKW4iLCBfUHlPYmplY3RfR2V0QnVpbHRpbigiaXRlciIpLAotICAgICAgICAgICAgICAgICAgICAgICAgIGl0LT5hbywgaXQtPmluZGV4KTsKLX0KKy8qW2NsaW5pYyBpbnB1dF0KK2FycmF5LmFycmF5aXRlcmF0b3IuX19yZWR1Y2VfXworCitSZXR1cm4gc3RhdGUgaW5mb3JtYXRpb24gZm9yIHBpY2tsaW5nLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLwogCiBzdGF0aWMgUHlPYmplY3QgKgotYXJyYXlpdGVyX3NldHN0YXRlKGFycmF5aXRlcm9iamVjdCAqaXQsIFB5T2JqZWN0ICpzdGF0ZSkKK2FycmF5X2FycmF5aXRlcmF0b3JfX19yZWR1Y2VfX19pbXBsKGFycmF5aXRlcm9iamVjdCAqc2VsZikKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD03ODk4YTUyZThlNjZlMDE2IGlucHV0PWEwNjJlYTFlOTk1MTQxN2FdKi8KK3sKKyAgICByZXR1cm4gUHlfQnVpbGRWYWx1ZSgiTihPKW4iLCBfUHlPYmplY3RfR2V0QnVpbHRpbigiaXRlciIpLAorICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYtPmFvLCBzZWxmLT5pbmRleCk7Cit9CisKKy8qW2NsaW5pYyBpbnB1dF0KK2FycmF5LmFycmF5aXRlcmF0b3IuX19zZXRzdGF0ZV9fCisKKyAgICBzdGF0ZTogb2JqZWN0CisgICAgLworCitTZXQgc3RhdGUgaW5mb3JtYXRpb24gZm9yIHVucGlja2xpbmcuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK3N0YXRpYyBQeU9iamVjdCAqCithcnJheV9hcnJheWl0ZXJhdG9yX19fc2V0c3RhdGVfXyhhcnJheWl0ZXJvYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpzdGF0ZSkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD0zOTdkYTk5MDRlNDQzY2JlIGlucHV0PWY0N2Q1Y2VkYTE5ZTc4N2JdKi8KIHsKICAgICBQeV9zc2l6ZV90IGluZGV4ID0gUHlMb25nX0FzU3NpemVfdChzdGF0ZSk7CiAgICAgaWYgKGluZGV4ID09IC0xICYmIFB5RXJyX09jY3VycmVkKCkpCiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIGlmIChpbmRleCA8IDApCiAgICAgICAgIGluZGV4ID0gMDsKLSAgICBlbHNlIGlmIChpbmRleCA+IFB5X1NJWkUoaXQtPmFvKSkKLSAgICAgICAgaW5kZXggPSBQeV9TSVpFKGl0LT5hbyk7IC8qIGl0ZXJhdG9yIGV4aGF1c3RlZCAqLwotICAgIGl0LT5pbmRleCA9IGluZGV4OworICAgIGVsc2UgaWYgKGluZGV4ID4gUHlfU0laRShzZWxmLT5hbykpCisgICAgICAgIGluZGV4ID0gUHlfU0laRShzZWxmLT5hbyk7IC8qIGl0ZXJhdG9yIGV4aGF1c3RlZCAqLworICAgIHNlbGYtPmluZGV4ID0gaW5kZXg7CiAgICAgUHlfUkVUVVJOX05PTkU7CiB9CiAKLVB5RG9jX1NUUlZBUihzZXRzdGF0ZV9kb2MsICJTZXQgc3RhdGUgaW5mb3JtYXRpb24gZm9yIHVucGlja2xpbmcuIik7CiBzdGF0aWMgUHlNZXRob2REZWYgYXJyYXlpdGVyX21ldGhvZHNbXSA9IHsKLSAgICB7Il9fcmVkdWNlX18iLCAgICAgIChQeUNGdW5jdGlvbilhcnJheWl0ZXJfcmVkdWNlLCBNRVRIX05PQVJHUywKLSAgICAgcmVkdWNlX2RvY30sCi0gICAgeyJfX3NldHN0YXRlX18iLCAgICAoUHlDRnVuY3Rpb24pYXJyYXlpdGVyX3NldHN0YXRlLCBNRVRIX08sCi0gICAgIHNldHN0YXRlX2RvY30sCisgICAgQVJSQVlfQVJSQVlJVEVSQVRPUl9fX1JFRFVDRV9fX01FVEhPRERFRgorICAgIEFSUkFZX0FSUkFZSVRFUkFUT1JfX19TRVRTVEFURV9fX01FVEhPRERFRgogICAgIHtOVUxMLCBOVUxMfSAvKiBzZW50aW5lbCAqLwogfTsKIApAQCAtMjg5MCw4ICsyOTg1LDcgQEAKIAogLyogTm8gZnVuY3Rpb25zIGluIGFycmF5IG1vZHVsZS4gKi8KIHN0YXRpYyBQeU1ldGhvZERlZiBhX21ldGhvZHNbXSA9IHsKLSAgICB7Il9hcnJheV9yZWNvbnN0cnVjdG9yIiwgYXJyYXlfcmVjb25zdHJ1Y3RvciwgTUVUSF9WQVJBUkdTLAotICAgICBQeURvY19TVFIoIkludGVybmFsLiBVc2VkIGZvciBwaWNrbGluZyBzdXBwb3J0LiIpfSwKKyAgICBBUlJBWV9fQVJSQVlfUkVDT05TVFJVQ1RPUl9NRVRIT0RERUYKICAgICB7TlVMTCwgTlVMTCwgMCwgTlVMTH0gICAgICAgIC8qIFNlbnRpbmVsICovCiB9OwogCmRpZmYgLS1naXQgYS9Nb2R1bGVzL2F0ZXhpdG1vZHVsZS5jIGIvTW9kdWxlcy9hdGV4aXRtb2R1bGUuYwppbmRleCA5ODg3MDE0Li43OWU5OTYyIDEwMDY0NAotLS0gYS9Nb2R1bGVzL2F0ZXhpdG1vZHVsZS5jCisrKyBiL01vZHVsZXMvYXRleGl0bW9kdWxlLmMKQEAgLTYwLDcgKzYwLDcgQEAKICAgICBtb2RzdGF0ZS0+bmNhbGxiYWNrcyA9IDA7CiB9CiAKLS8qIEluc3RhbGxlZCBpbnRvIHB5dGhvbnJ1bi5jJ3MgYXRleGl0IG1lY2hhbmlzbSAqLworLyogSW5zdGFsbGVkIGludG8gcHlsaWZlY3ljbGUuYydzIGF0ZXhpdCBtZWNoYW5pc20gKi8KIAogc3RhdGljIHZvaWQKIGF0ZXhpdF9jYWxsZnVuY3Modm9pZCkKZGlmZiAtLWdpdCBhL01vZHVsZXMvY2prY29kZWNzL19jb2RlY3NfaXNvMjAyMi5jIGIvTW9kdWxlcy9jamtjb2RlY3MvX2NvZGVjc19pc28yMDIyLmMKaW5kZXggNWM0MDFhYS4uMWNlNDIxOCAxMDA2NDQKLS0tIGEvTW9kdWxlcy9jamtjb2RlY3MvX2NvZGVjc19pc28yMDIyLmMKKysrIGIvTW9kdWxlcy9jamtjb2RlY3MvX2NvZGVjc19pc28yMDIyLmMKQEAgLTI5Miw3ICsyOTIsNyBAQAogICAgICAgICAgICAgICAgICAgY29uc3QgdW5zaWduZWQgY2hhciAqKmluYnVmLCBQeV9zc2l6ZV90ICppbmxlZnQpCiB7CiAgICAgdW5zaWduZWQgY2hhciBjaGFyc2V0LCBkZXNpZ25hdGlvbjsKLSAgICBQeV9zc2l6ZV90IGksIGVzY2xlbjsKKyAgICBQeV9zc2l6ZV90IGksIGVzY2xlbiA9IDA7CiAKICAgICBmb3IgKGkgPSAxO2kgPCBNQVhfRVNDU0VRTEVOO2krKykgewogICAgICAgICBpZiAoaSA+PSAqaW5sZWZ0KQpAQCAtMzA3LDEwICszMDcsOSBAQAogICAgICAgICB9CiAgICAgfQogCi0gICAgaWYgKGkgPj0gTUFYX0VTQ1NFUUxFTikKLSAgICAgICAgcmV0dXJuIDE7IC8qIHVudGVybWluYXRlZCBlc2NhcGUgc2VxdWVuY2UgKi8KLQogICAgIHN3aXRjaCAoZXNjbGVuKSB7CisgICAgY2FzZSAwOgorICAgICAgICByZXR1cm4gMTsgLyogdW50ZXJtaW5hdGVkIGVzY2FwZSBzZXF1ZW5jZSAqLwogICAgIGNhc2UgMzoKICAgICAgICAgaWYgKElOQllURTIgPT0gJyQnKSB7CiAgICAgICAgICAgICBjaGFyc2V0ID0gSU5CWVRFMyB8IENIQVJTRVRfREJDUzsKZGlmZiAtLWdpdCBhL01vZHVsZXMvY2prY29kZWNzL2Nqa2NvZGVjcy5oIGIvTW9kdWxlcy9jamtjb2RlY3MvY2prY29kZWNzLmgKaW5kZXggZDE1Y2NmYi4uYTQ1ZWQxMiAxMDA2NDQKLS0tIGEvTW9kdWxlcy9jamtjb2RlY3MvY2prY29kZWNzLmgKKysrIGIvTW9kdWxlcy9jamtjb2RlY3MvY2prY29kZWNzLmgKQEAgLTM2Miw3ICszNjIsNyBAQAogICAgIGlmIChtb2QgPT0gTlVMTCkKICAgICAgICAgcmV0dXJuIC0xOwogCi0gICAgbyA9IFB5T2JqZWN0X0dldEF0dHJTdHJpbmcobW9kLCAoY2hhciopc3ltYm9sKTsKKyAgICBvID0gUHlPYmplY3RfR2V0QXR0clN0cmluZyhtb2QsIHN5bWJvbCk7CiAgICAgaWYgKG8gPT0gTlVMTCkKICAgICAgICAgZ290byBlcnJvcmV4aXQ7CiAgICAgZWxzZSBpZiAoIVB5Q2Fwc3VsZV9Jc1ZhbGlkKG8sIFB5TXVsdGlieXRlQ29kZWNfQ0FQU1VMRV9OQU1FKSkgewpkaWZmIC0tZ2l0IGEvTW9kdWxlcy9jamtjb2RlY3MvY2xpbmljL211bHRpYnl0ZWNvZGVjLmMuaCBiL01vZHVsZXMvY2prY29kZWNzL2NsaW5pYy9tdWx0aWJ5dGVjb2RlYy5jLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmY5Y2I2MwotLS0gL2Rldi9udWxsCisrKyBiL01vZHVsZXMvY2prY29kZWNzL2NsaW5pYy9tdWx0aWJ5dGVjb2RlYy5jLmgKQEAgLTAsMCArMSwzMDEgQEAKKy8qW2NsaW5pYyBpbnB1dF0KK3ByZXNlcnZlCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihfbXVsdGlieXRlY29kZWNfTXVsdGlieXRlQ29kZWNfZW5jb2RlX19kb2NfXywKKyJlbmNvZGUoJHNlbGYsIC8sIGlucHV0LCBlcnJvcnM9Tm9uZSlcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiBhbiBlbmNvZGVkIHN0cmluZyB2ZXJzaW9uIG9mIGBpbnB1dFwnLlxuIgorIlxuIgorIlwnZXJyb3JzXCcgbWF5IGJlIGdpdmVuIHRvIHNldCBhIGRpZmZlcmVudCBlcnJvciBoYW5kbGluZyBzY2hlbWUuIERlZmF1bHQgaXNcbiIKKyJcJ3N0cmljdFwnIG1lYW5pbmcgdGhhdCBlbmNvZGluZyBlcnJvcnMgcmFpc2UgYSBVbmljb2RlRW5jb2RlRXJyb3IuIE90aGVyIHBvc3NpYmxlXG4iCisidmFsdWVzIGFyZSBcJ2lnbm9yZVwnLCBcJ3JlcGxhY2VcJyBhbmQgXCd4bWxjaGFycmVmcmVwbGFjZVwnIGFzIHdlbGwgYXMgYW55IG90aGVyIG5hbWVcbiIKKyJyZWdpc3RlcmVkIHdpdGggY29kZWNzLnJlZ2lzdGVyX2Vycm9yIHRoYXQgY2FuIGhhbmRsZSBVbmljb2RlRW5jb2RlRXJyb3JzLiIpOworCisjZGVmaW5lIF9NVUxUSUJZVEVDT0RFQ19NVUxUSUJZVEVDT0RFQ19FTkNPREVfTUVUSE9EREVGICAgIFwKKyAgICB7ImVuY29kZSIsIChQeUNGdW5jdGlvbilfbXVsdGlieXRlY29kZWNfTXVsdGlieXRlQ29kZWNfZW5jb2RlLCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgX211bHRpYnl0ZWNvZGVjX011bHRpYnl0ZUNvZGVjX2VuY29kZV9fZG9jX199LAorCitzdGF0aWMgUHlPYmplY3QgKgorX211bHRpYnl0ZWNvZGVjX011bHRpYnl0ZUNvZGVjX2VuY29kZV9pbXBsKE11bHRpYnl0ZUNvZGVjT2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqaW5wdXQsIGNvbnN0IGNoYXIgKmVycm9ycyk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitfbXVsdGlieXRlY29kZWNfTXVsdGlieXRlQ29kZWNfZW5jb2RlKE11bHRpYnl0ZUNvZGVjT2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKK3sKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBzdGF0aWMgY2hhciAqX2tleXdvcmRzW10gPSB7ImlucHV0IiwgImVycm9ycyIsIE5VTEx9OworICAgIFB5T2JqZWN0ICppbnB1dDsKKyAgICBjb25zdCBjaGFyICplcnJvcnMgPSBOVUxMOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLAorICAgICAgICAiT3x6OmVuY29kZSIsIF9rZXl3b3JkcywKKyAgICAgICAgJmlucHV0LCAmZXJyb3JzKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IF9tdWx0aWJ5dGVjb2RlY19NdWx0aWJ5dGVDb2RlY19lbmNvZGVfaW1wbChzZWxmLCBpbnB1dCwgZXJyb3JzKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitQeURvY19TVFJWQVIoX211bHRpYnl0ZWNvZGVjX011bHRpYnl0ZUNvZGVjX2RlY29kZV9fZG9jX18sCisiZGVjb2RlKCRzZWxmLCAvLCBpbnB1dCwgZXJyb3JzPU5vbmUpXG4iCisiLS1cbiIKKyJcbiIKKyJEZWNvZGVzIFwnaW5wdXRcJy5cbiIKKyJcbiIKKyJcJ2Vycm9yc1wnIG1heSBiZSBnaXZlbiB0byBzZXQgYSBkaWZmZXJlbnQgZXJyb3IgaGFuZGxpbmcgc2NoZW1lLiBEZWZhdWx0IGlzXG4iCisiXCdzdHJpY3RcJyBtZWFuaW5nIHRoYXQgZW5jb2RpbmcgZXJyb3JzIHJhaXNlIGEgVW5pY29kZURlY29kZUVycm9yLiBPdGhlciBwb3NzaWJsZVxuIgorInZhbHVlcyBhcmUgXCdpZ25vcmVcJyBhbmQgXCdyZXBsYWNlXCcgYXMgd2VsbCBhcyBhbnkgb3RoZXIgbmFtZSByZWdpc3RlcmVkIHdpdGhcbiIKKyJjb2RlY3MucmVnaXN0ZXJfZXJyb3IgdGhhdCBpcyBhYmxlIHRvIGhhbmRsZSBVbmljb2RlRGVjb2RlRXJyb3JzLlwiIik7CisKKyNkZWZpbmUgX01VTFRJQllURUNPREVDX01VTFRJQllURUNPREVDX0RFQ09ERV9NRVRIT0RERUYgICAgXAorICAgIHsiZGVjb2RlIiwgKFB5Q0Z1bmN0aW9uKV9tdWx0aWJ5dGVjb2RlY19NdWx0aWJ5dGVDb2RlY19kZWNvZGUsIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBfbXVsdGlieXRlY29kZWNfTXVsdGlieXRlQ29kZWNfZGVjb2RlX19kb2NfX30sCisKK3N0YXRpYyBQeU9iamVjdCAqCitfbXVsdGlieXRlY29kZWNfTXVsdGlieXRlQ29kZWNfZGVjb2RlX2ltcGwoTXVsdGlieXRlQ29kZWNPYmplY3QgKnNlbGYsIFB5X2J1ZmZlciAqaW5wdXQsIGNvbnN0IGNoYXIgKmVycm9ycyk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitfbXVsdGlieXRlY29kZWNfTXVsdGlieXRlQ29kZWNfZGVjb2RlKE11bHRpYnl0ZUNvZGVjT2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKK3sKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBzdGF0aWMgY2hhciAqX2tleXdvcmRzW10gPSB7ImlucHV0IiwgImVycm9ycyIsIE5VTEx9OworICAgIFB5X2J1ZmZlciBpbnB1dCA9IHtOVUxMLCBOVUxMfTsKKyAgICBjb25zdCBjaGFyICplcnJvcnMgPSBOVUxMOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLAorICAgICAgICAieSp8ejpkZWNvZGUiLCBfa2V5d29yZHMsCisgICAgICAgICZpbnB1dCwgJmVycm9ycykpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBfbXVsdGlieXRlY29kZWNfTXVsdGlieXRlQ29kZWNfZGVjb2RlX2ltcGwoc2VsZiwgJmlucHV0LCBlcnJvcnMpOworCitleGl0OgorICAgIC8qIENsZWFudXAgZm9yIGlucHV0ICovCisgICAgaWYgKGlucHV0Lm9iaikKKyAgICAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZpbnB1dCk7CisKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitQeURvY19TVFJWQVIoX211bHRpYnl0ZWNvZGVjX011bHRpYnl0ZUluY3JlbWVudGFsRW5jb2Rlcl9lbmNvZGVfX2RvY19fLAorImVuY29kZSgkc2VsZiwgLywgaW5wdXQsIGZpbmFsPTApXG4iCisiLS0iKTsKKworI2RlZmluZSBfTVVMVElCWVRFQ09ERUNfTVVMVElCWVRFSU5DUkVNRU5UQUxFTkNPREVSX0VOQ09ERV9NRVRIT0RERUYgICAgXAorICAgIHsiZW5jb2RlIiwgKFB5Q0Z1bmN0aW9uKV9tdWx0aWJ5dGVjb2RlY19NdWx0aWJ5dGVJbmNyZW1lbnRhbEVuY29kZXJfZW5jb2RlLCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgX211bHRpYnl0ZWNvZGVjX011bHRpYnl0ZUluY3JlbWVudGFsRW5jb2Rlcl9lbmNvZGVfX2RvY19ffSwKKworc3RhdGljIFB5T2JqZWN0ICoKK19tdWx0aWJ5dGVjb2RlY19NdWx0aWJ5dGVJbmNyZW1lbnRhbEVuY29kZXJfZW5jb2RlX2ltcGwoTXVsdGlieXRlSW5jcmVtZW50YWxFbmNvZGVyT2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqaW5wdXQsIGludCBmaW5hbCk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitfbXVsdGlieXRlY29kZWNfTXVsdGlieXRlSW5jcmVtZW50YWxFbmNvZGVyX2VuY29kZShNdWx0aWJ5dGVJbmNyZW1lbnRhbEVuY29kZXJPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQoreworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIHN0YXRpYyBjaGFyICpfa2V5d29yZHNbXSA9IHsiaW5wdXQiLCAiZmluYWwiLCBOVUxMfTsKKyAgICBQeU9iamVjdCAqaW5wdXQ7CisgICAgaW50IGZpbmFsID0gMDsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywKKyAgICAgICAgIk98aTplbmNvZGUiLCBfa2V5d29yZHMsCisgICAgICAgICZpbnB1dCwgJmZpbmFsKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IF9tdWx0aWJ5dGVjb2RlY19NdWx0aWJ5dGVJbmNyZW1lbnRhbEVuY29kZXJfZW5jb2RlX2ltcGwoc2VsZiwgaW5wdXQsIGZpbmFsKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitQeURvY19TVFJWQVIoX211bHRpYnl0ZWNvZGVjX011bHRpYnl0ZUluY3JlbWVudGFsRW5jb2Rlcl9yZXNldF9fZG9jX18sCisicmVzZXQoJHNlbGYsIC8pXG4iCisiLS0iKTsKKworI2RlZmluZSBfTVVMVElCWVRFQ09ERUNfTVVMVElCWVRFSU5DUkVNRU5UQUxFTkNPREVSX1JFU0VUX01FVEhPRERFRiAgICBcCisgICAgeyJyZXNldCIsIChQeUNGdW5jdGlvbilfbXVsdGlieXRlY29kZWNfTXVsdGlieXRlSW5jcmVtZW50YWxFbmNvZGVyX3Jlc2V0LCBNRVRIX05PQVJHUywgX211bHRpYnl0ZWNvZGVjX011bHRpYnl0ZUluY3JlbWVudGFsRW5jb2Rlcl9yZXNldF9fZG9jX199LAorCitzdGF0aWMgUHlPYmplY3QgKgorX211bHRpYnl0ZWNvZGVjX011bHRpYnl0ZUluY3JlbWVudGFsRW5jb2Rlcl9yZXNldF9pbXBsKE11bHRpYnl0ZUluY3JlbWVudGFsRW5jb2Rlck9iamVjdCAqc2VsZik7CisKK3N0YXRpYyBQeU9iamVjdCAqCitfbXVsdGlieXRlY29kZWNfTXVsdGlieXRlSW5jcmVtZW50YWxFbmNvZGVyX3Jlc2V0KE11bHRpYnl0ZUluY3JlbWVudGFsRW5jb2Rlck9iamVjdCAqc2VsZiwgUHlPYmplY3QgKlB5X1VOVVNFRChpZ25vcmVkKSkKK3sKKyAgICByZXR1cm4gX211bHRpYnl0ZWNvZGVjX011bHRpYnl0ZUluY3JlbWVudGFsRW5jb2Rlcl9yZXNldF9pbXBsKHNlbGYpOworfQorCitQeURvY19TVFJWQVIoX211bHRpYnl0ZWNvZGVjX011bHRpYnl0ZUluY3JlbWVudGFsRGVjb2Rlcl9kZWNvZGVfX2RvY19fLAorImRlY29kZSgkc2VsZiwgLywgaW5wdXQsIGZpbmFsPTApXG4iCisiLS0iKTsKKworI2RlZmluZSBfTVVMVElCWVRFQ09ERUNfTVVMVElCWVRFSU5DUkVNRU5UQUxERUNPREVSX0RFQ09ERV9NRVRIT0RERUYgICAgXAorICAgIHsiZGVjb2RlIiwgKFB5Q0Z1bmN0aW9uKV9tdWx0aWJ5dGVjb2RlY19NdWx0aWJ5dGVJbmNyZW1lbnRhbERlY29kZXJfZGVjb2RlLCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgX211bHRpYnl0ZWNvZGVjX011bHRpYnl0ZUluY3JlbWVudGFsRGVjb2Rlcl9kZWNvZGVfX2RvY19ffSwKKworc3RhdGljIFB5T2JqZWN0ICoKK19tdWx0aWJ5dGVjb2RlY19NdWx0aWJ5dGVJbmNyZW1lbnRhbERlY29kZXJfZGVjb2RlX2ltcGwoTXVsdGlieXRlSW5jcmVtZW50YWxEZWNvZGVyT2JqZWN0ICpzZWxmLCBQeV9idWZmZXIgKmlucHV0LCBpbnQgZmluYWwpOworCitzdGF0aWMgUHlPYmplY3QgKgorX211bHRpYnl0ZWNvZGVjX011bHRpYnl0ZUluY3JlbWVudGFsRGVjb2Rlcl9kZWNvZGUoTXVsdGlieXRlSW5jcmVtZW50YWxEZWNvZGVyT2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKK3sKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBzdGF0aWMgY2hhciAqX2tleXdvcmRzW10gPSB7ImlucHV0IiwgImZpbmFsIiwgTlVMTH07CisgICAgUHlfYnVmZmVyIGlucHV0ID0ge05VTEwsIE5VTEx9OworICAgIGludCBmaW5hbCA9IDA7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsCisgICAgICAgICJ5KnxpOmRlY29kZSIsIF9rZXl3b3JkcywKKyAgICAgICAgJmlucHV0LCAmZmluYWwpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gX211bHRpYnl0ZWNvZGVjX011bHRpYnl0ZUluY3JlbWVudGFsRGVjb2Rlcl9kZWNvZGVfaW1wbChzZWxmLCAmaW5wdXQsIGZpbmFsKTsKKworZXhpdDoKKyAgICAvKiBDbGVhbnVwIGZvciBpbnB1dCAqLworICAgIGlmIChpbnB1dC5vYmopCisgICAgICAgUHlCdWZmZXJfUmVsZWFzZSgmaW5wdXQpOworCisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworUHlEb2NfU1RSVkFSKF9tdWx0aWJ5dGVjb2RlY19NdWx0aWJ5dGVJbmNyZW1lbnRhbERlY29kZXJfcmVzZXRfX2RvY19fLAorInJlc2V0KCRzZWxmLCAvKVxuIgorIi0tIik7CisKKyNkZWZpbmUgX01VTFRJQllURUNPREVDX01VTFRJQllURUlOQ1JFTUVOVEFMREVDT0RFUl9SRVNFVF9NRVRIT0RERUYgICAgXAorICAgIHsicmVzZXQiLCAoUHlDRnVuY3Rpb24pX211bHRpYnl0ZWNvZGVjX011bHRpYnl0ZUluY3JlbWVudGFsRGVjb2Rlcl9yZXNldCwgTUVUSF9OT0FSR1MsIF9tdWx0aWJ5dGVjb2RlY19NdWx0aWJ5dGVJbmNyZW1lbnRhbERlY29kZXJfcmVzZXRfX2RvY19ffSwKKworc3RhdGljIFB5T2JqZWN0ICoKK19tdWx0aWJ5dGVjb2RlY19NdWx0aWJ5dGVJbmNyZW1lbnRhbERlY29kZXJfcmVzZXRfaW1wbChNdWx0aWJ5dGVJbmNyZW1lbnRhbERlY29kZXJPYmplY3QgKnNlbGYpOworCitzdGF0aWMgUHlPYmplY3QgKgorX211bHRpYnl0ZWNvZGVjX011bHRpYnl0ZUluY3JlbWVudGFsRGVjb2Rlcl9yZXNldChNdWx0aWJ5dGVJbmNyZW1lbnRhbERlY29kZXJPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpQeV9VTlVTRUQoaWdub3JlZCkpCit7CisgICAgcmV0dXJuIF9tdWx0aWJ5dGVjb2RlY19NdWx0aWJ5dGVJbmNyZW1lbnRhbERlY29kZXJfcmVzZXRfaW1wbChzZWxmKTsKK30KKworUHlEb2NfU1RSVkFSKF9tdWx0aWJ5dGVjb2RlY19NdWx0aWJ5dGVTdHJlYW1SZWFkZXJfcmVhZF9fZG9jX18sCisicmVhZCgkc2VsZiwgc2l6ZW9iaj1Ob25lLCAvKVxuIgorIi0tIik7CisKKyNkZWZpbmUgX01VTFRJQllURUNPREVDX01VTFRJQllURVNUUkVBTVJFQURFUl9SRUFEX01FVEhPRERFRiAgICBcCisgICAgeyJyZWFkIiwgKFB5Q0Z1bmN0aW9uKV9tdWx0aWJ5dGVjb2RlY19NdWx0aWJ5dGVTdHJlYW1SZWFkZXJfcmVhZCwgTUVUSF9WQVJBUkdTLCBfbXVsdGlieXRlY29kZWNfTXVsdGlieXRlU3RyZWFtUmVhZGVyX3JlYWRfX2RvY19ffSwKKworc3RhdGljIFB5T2JqZWN0ICoKK19tdWx0aWJ5dGVjb2RlY19NdWx0aWJ5dGVTdHJlYW1SZWFkZXJfcmVhZF9pbXBsKE11bHRpYnl0ZVN0cmVhbVJlYWRlck9iamVjdCAqc2VsZiwgUHlPYmplY3QgKnNpemVvYmopOworCitzdGF0aWMgUHlPYmplY3QgKgorX211bHRpYnl0ZWNvZGVjX011bHRpYnl0ZVN0cmVhbVJlYWRlcl9yZWFkKE11bHRpYnl0ZVN0cmVhbVJlYWRlck9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgUHlPYmplY3QgKnNpemVvYmogPSBQeV9Ob25lOworCisgICAgaWYgKCFQeUFyZ19VbnBhY2tUdXBsZShhcmdzLCAicmVhZCIsCisgICAgICAgIDAsIDEsCisgICAgICAgICZzaXplb2JqKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IF9tdWx0aWJ5dGVjb2RlY19NdWx0aWJ5dGVTdHJlYW1SZWFkZXJfcmVhZF9pbXBsKHNlbGYsIHNpemVvYmopOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK1B5RG9jX1NUUlZBUihfbXVsdGlieXRlY29kZWNfTXVsdGlieXRlU3RyZWFtUmVhZGVyX3JlYWRsaW5lX19kb2NfXywKKyJyZWFkbGluZSgkc2VsZiwgc2l6ZW9iaj1Ob25lLCAvKVxuIgorIi0tIik7CisKKyNkZWZpbmUgX01VTFRJQllURUNPREVDX01VTFRJQllURVNUUkVBTVJFQURFUl9SRUFETElORV9NRVRIT0RERUYgICAgXAorICAgIHsicmVhZGxpbmUiLCAoUHlDRnVuY3Rpb24pX211bHRpYnl0ZWNvZGVjX011bHRpYnl0ZVN0cmVhbVJlYWRlcl9yZWFkbGluZSwgTUVUSF9WQVJBUkdTLCBfbXVsdGlieXRlY29kZWNfTXVsdGlieXRlU3RyZWFtUmVhZGVyX3JlYWRsaW5lX19kb2NfX30sCisKK3N0YXRpYyBQeU9iamVjdCAqCitfbXVsdGlieXRlY29kZWNfTXVsdGlieXRlU3RyZWFtUmVhZGVyX3JlYWRsaW5lX2ltcGwoTXVsdGlieXRlU3RyZWFtUmVhZGVyT2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqc2l6ZW9iaik7CisKK3N0YXRpYyBQeU9iamVjdCAqCitfbXVsdGlieXRlY29kZWNfTXVsdGlieXRlU3RyZWFtUmVhZGVyX3JlYWRsaW5lKE11bHRpYnl0ZVN0cmVhbVJlYWRlck9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgUHlPYmplY3QgKnNpemVvYmogPSBQeV9Ob25lOworCisgICAgaWYgKCFQeUFyZ19VbnBhY2tUdXBsZShhcmdzLCAicmVhZGxpbmUiLAorICAgICAgICAwLCAxLAorICAgICAgICAmc2l6ZW9iaikpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBfbXVsdGlieXRlY29kZWNfTXVsdGlieXRlU3RyZWFtUmVhZGVyX3JlYWRsaW5lX2ltcGwoc2VsZiwgc2l6ZW9iaik7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworUHlEb2NfU1RSVkFSKF9tdWx0aWJ5dGVjb2RlY19NdWx0aWJ5dGVTdHJlYW1SZWFkZXJfcmVhZGxpbmVzX19kb2NfXywKKyJyZWFkbGluZXMoJHNlbGYsIHNpemVoaW50b2JqPU5vbmUsIC8pXG4iCisiLS0iKTsKKworI2RlZmluZSBfTVVMVElCWVRFQ09ERUNfTVVMVElCWVRFU1RSRUFNUkVBREVSX1JFQURMSU5FU19NRVRIT0RERUYgICAgXAorICAgIHsicmVhZGxpbmVzIiwgKFB5Q0Z1bmN0aW9uKV9tdWx0aWJ5dGVjb2RlY19NdWx0aWJ5dGVTdHJlYW1SZWFkZXJfcmVhZGxpbmVzLCBNRVRIX1ZBUkFSR1MsIF9tdWx0aWJ5dGVjb2RlY19NdWx0aWJ5dGVTdHJlYW1SZWFkZXJfcmVhZGxpbmVzX19kb2NfX30sCisKK3N0YXRpYyBQeU9iamVjdCAqCitfbXVsdGlieXRlY29kZWNfTXVsdGlieXRlU3RyZWFtUmVhZGVyX3JlYWRsaW5lc19pbXBsKE11bHRpYnl0ZVN0cmVhbVJlYWRlck9iamVjdCAqc2VsZiwgUHlPYmplY3QgKnNpemVoaW50b2JqKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK19tdWx0aWJ5dGVjb2RlY19NdWx0aWJ5dGVTdHJlYW1SZWFkZXJfcmVhZGxpbmVzKE11bHRpYnl0ZVN0cmVhbVJlYWRlck9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgUHlPYmplY3QgKnNpemVoaW50b2JqID0gUHlfTm9uZTsKKworICAgIGlmICghUHlBcmdfVW5wYWNrVHVwbGUoYXJncywgInJlYWRsaW5lcyIsCisgICAgICAgIDAsIDEsCisgICAgICAgICZzaXplaGludG9iaikpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBfbXVsdGlieXRlY29kZWNfTXVsdGlieXRlU3RyZWFtUmVhZGVyX3JlYWRsaW5lc19pbXBsKHNlbGYsIHNpemVoaW50b2JqKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitQeURvY19TVFJWQVIoX211bHRpYnl0ZWNvZGVjX011bHRpYnl0ZVN0cmVhbVJlYWRlcl9yZXNldF9fZG9jX18sCisicmVzZXQoJHNlbGYsIC8pXG4iCisiLS0iKTsKKworI2RlZmluZSBfTVVMVElCWVRFQ09ERUNfTVVMVElCWVRFU1RSRUFNUkVBREVSX1JFU0VUX01FVEhPRERFRiAgICBcCisgICAgeyJyZXNldCIsIChQeUNGdW5jdGlvbilfbXVsdGlieXRlY29kZWNfTXVsdGlieXRlU3RyZWFtUmVhZGVyX3Jlc2V0LCBNRVRIX05PQVJHUywgX211bHRpYnl0ZWNvZGVjX011bHRpYnl0ZVN0cmVhbVJlYWRlcl9yZXNldF9fZG9jX199LAorCitzdGF0aWMgUHlPYmplY3QgKgorX211bHRpYnl0ZWNvZGVjX011bHRpYnl0ZVN0cmVhbVJlYWRlcl9yZXNldF9pbXBsKE11bHRpYnl0ZVN0cmVhbVJlYWRlck9iamVjdCAqc2VsZik7CisKK3N0YXRpYyBQeU9iamVjdCAqCitfbXVsdGlieXRlY29kZWNfTXVsdGlieXRlU3RyZWFtUmVhZGVyX3Jlc2V0KE11bHRpYnl0ZVN0cmVhbVJlYWRlck9iamVjdCAqc2VsZiwgUHlPYmplY3QgKlB5X1VOVVNFRChpZ25vcmVkKSkKK3sKKyAgICByZXR1cm4gX211bHRpYnl0ZWNvZGVjX011bHRpYnl0ZVN0cmVhbVJlYWRlcl9yZXNldF9pbXBsKHNlbGYpOworfQorCitQeURvY19TVFJWQVIoX211bHRpYnl0ZWNvZGVjX011bHRpYnl0ZVN0cmVhbVdyaXRlcl93cml0ZV9fZG9jX18sCisid3JpdGUoJHNlbGYsIHN0cm9iaiwgLylcbiIKKyItLSIpOworCisjZGVmaW5lIF9NVUxUSUJZVEVDT0RFQ19NVUxUSUJZVEVTVFJFQU1XUklURVJfV1JJVEVfTUVUSE9EREVGICAgIFwKKyAgICB7IndyaXRlIiwgKFB5Q0Z1bmN0aW9uKV9tdWx0aWJ5dGVjb2RlY19NdWx0aWJ5dGVTdHJlYW1Xcml0ZXJfd3JpdGUsIE1FVEhfTywgX211bHRpYnl0ZWNvZGVjX011bHRpYnl0ZVN0cmVhbVdyaXRlcl93cml0ZV9fZG9jX199LAorCitQeURvY19TVFJWQVIoX211bHRpYnl0ZWNvZGVjX011bHRpYnl0ZVN0cmVhbVdyaXRlcl93cml0ZWxpbmVzX19kb2NfXywKKyJ3cml0ZWxpbmVzKCRzZWxmLCBsaW5lcywgLylcbiIKKyItLSIpOworCisjZGVmaW5lIF9NVUxUSUJZVEVDT0RFQ19NVUxUSUJZVEVTVFJFQU1XUklURVJfV1JJVEVMSU5FU19NRVRIT0RERUYgICAgXAorICAgIHsid3JpdGVsaW5lcyIsIChQeUNGdW5jdGlvbilfbXVsdGlieXRlY29kZWNfTXVsdGlieXRlU3RyZWFtV3JpdGVyX3dyaXRlbGluZXMsIE1FVEhfTywgX211bHRpYnl0ZWNvZGVjX011bHRpYnl0ZVN0cmVhbVdyaXRlcl93cml0ZWxpbmVzX19kb2NfX30sCisKK1B5RG9jX1NUUlZBUihfbXVsdGlieXRlY29kZWNfTXVsdGlieXRlU3RyZWFtV3JpdGVyX3Jlc2V0X19kb2NfXywKKyJyZXNldCgkc2VsZiwgLylcbiIKKyItLSIpOworCisjZGVmaW5lIF9NVUxUSUJZVEVDT0RFQ19NVUxUSUJZVEVTVFJFQU1XUklURVJfUkVTRVRfTUVUSE9EREVGICAgIFwKKyAgICB7InJlc2V0IiwgKFB5Q0Z1bmN0aW9uKV9tdWx0aWJ5dGVjb2RlY19NdWx0aWJ5dGVTdHJlYW1Xcml0ZXJfcmVzZXQsIE1FVEhfTk9BUkdTLCBfbXVsdGlieXRlY29kZWNfTXVsdGlieXRlU3RyZWFtV3JpdGVyX3Jlc2V0X19kb2NfX30sCisKK3N0YXRpYyBQeU9iamVjdCAqCitfbXVsdGlieXRlY29kZWNfTXVsdGlieXRlU3RyZWFtV3JpdGVyX3Jlc2V0X2ltcGwoTXVsdGlieXRlU3RyZWFtV3JpdGVyT2JqZWN0ICpzZWxmKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK19tdWx0aWJ5dGVjb2RlY19NdWx0aWJ5dGVTdHJlYW1Xcml0ZXJfcmVzZXQoTXVsdGlieXRlU3RyZWFtV3JpdGVyT2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqUHlfVU5VU0VEKGlnbm9yZWQpKQoreworICAgIHJldHVybiBfbXVsdGlieXRlY29kZWNfTXVsdGlieXRlU3RyZWFtV3JpdGVyX3Jlc2V0X2ltcGwoc2VsZik7Cit9CisKK1B5RG9jX1NUUlZBUihfbXVsdGlieXRlY29kZWNfX19jcmVhdGVfY29kZWNfX2RvY19fLAorIl9fY3JlYXRlX2NvZGVjKCRtb2R1bGUsIGFyZywgLylcbiIKKyItLSIpOworCisjZGVmaW5lIF9NVUxUSUJZVEVDT0RFQ19fX0NSRUFURV9DT0RFQ19NRVRIT0RERUYgICAgXAorICAgIHsiX19jcmVhdGVfY29kZWMiLCAoUHlDRnVuY3Rpb24pX211bHRpYnl0ZWNvZGVjX19fY3JlYXRlX2NvZGVjLCBNRVRIX08sIF9tdWx0aWJ5dGVjb2RlY19fX2NyZWF0ZV9jb2RlY19fZG9jX199LAorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWRmZjE0NTlkZWM0NjQ3OTYgaW5wdXQ9YTkwNDkwNTQwMTNhMWI3N10qLwpkaWZmIC0tZ2l0IGEvTW9kdWxlcy9jamtjb2RlY3MvbXVsdGlieXRlY29kZWMuYyBiL01vZHVsZXMvY2prY29kZWNzL211bHRpYnl0ZWNvZGVjLmMKaW5kZXggNDM1NTI5Zi4uZmU1YjM2MiAxMDA2NDQKLS0tIGEvTW9kdWxlcy9jamtjb2RlY3MvbXVsdGlieXRlY29kZWMuYworKysgYi9Nb2R1bGVzL2Nqa2NvZGVjcy9tdWx0aWJ5dGVjb2RlYy5jCkBAIC04LDYgKzgsMTggQEAKICNpbmNsdWRlICJQeXRob24uaCIKICNpbmNsdWRlICJzdHJ1Y3RtZW1iZXIuaCIKICNpbmNsdWRlICJtdWx0aWJ5dGVjb2RlYy5oIgorI2luY2x1ZGUgImNsaW5pYy9tdWx0aWJ5dGVjb2RlYy5jLmgiCisKKy8qW2NsaW5pYyBpbnB1dF0KK291dHB1dCBwcmVzZXQgZmlsZQorbW9kdWxlIF9tdWx0aWJ5dGVjb2RlYworW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWRhMzlhM2VlNWU2YjRiMGQgaW5wdXQ9ZTBjZjFiN2YzYzQ3MmQxN10qLworCisvKltjbGluaWMgaW5wdXRdCitjbGFzcyBfbXVsdGlieXRlY29kZWMuTXVsdGlieXRlQ29kZWMgIk11bHRpYnl0ZUNvZGVjT2JqZWN0ICoiICImTXVsdGlieXRlQ29kZWNfVHlwZSIKK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1kYTM5YTNlZTVlNmI0YjBkIGlucHV0PWQ1YjFmYzFmZWM4ZWIwMDNdKi8KIAogdHlwZWRlZiBzdHJ1Y3QgewogICAgIFB5T2JqZWN0ICAgICAgICAgICAgKmlub2JqOwpAQCAtMjIsMjcgKzM0LDcgQEAKICAgICBfUHlVbmljb2RlV3JpdGVyICAgIHdyaXRlcjsKIH0gTXVsdGlieXRlRGVjb2RlQnVmZmVyOwogCi1QeURvY19TVFJWQVIoTXVsdGlieXRlQ29kZWNfRW5jb2RlX19kb2NfXywKLSJJLmVuY29kZSh1bmljb2RlWywgZXJyb3JzXSkgLT4gKHN0cmluZywgbGVuZ3RoIGNvbnN1bWVkKVxuXAotXG5cCi1SZXR1cm4gYW4gZW5jb2RlZCBzdHJpbmcgdmVyc2lvbiBvZiBgdW5pY29kZScuIGVycm9ycyBtYXkgYmUgZ2l2ZW4gdG9cblwKLXNldCBhIGRpZmZlcmVudCBlcnJvciBoYW5kbGluZyBzY2hlbWUuIERlZmF1bHQgaXMgJ3N0cmljdCcgbWVhbmluZyB0aGF0XG5cCi1lbmNvZGluZyBlcnJvcnMgcmFpc2UgYSBVbmljb2RlRW5jb2RlRXJyb3IuIE90aGVyIHBvc3NpYmxlIHZhbHVlcyBhcmVcblwKLSdpZ25vcmUnLCAncmVwbGFjZScgYW5kICd4bWxjaGFycmVmcmVwbGFjZScgYXMgd2VsbCBhcyBhbnkgb3RoZXIgbmFtZVxuXAotcmVnaXN0ZXJlZCB3aXRoIGNvZGVjcy5yZWdpc3Rlcl9lcnJvciB0aGF0IGNhbiBoYW5kbGUgVW5pY29kZUVuY29kZUVycm9ycy4iKTsKLQotUHlEb2NfU1RSVkFSKE11bHRpYnl0ZUNvZGVjX0RlY29kZV9fZG9jX18sCi0iSS5kZWNvZGUoc3RyaW5nWywgZXJyb3JzXSkgLT4gKHVuaWNvZGVvYmplY3QsIGxlbmd0aCBjb25zdW1lZClcblwKLVxuXAotRGVjb2RlcyBgc3RyaW5nJyB1c2luZyBJLCBhbiBNdWx0aWJ5dGVDb2RlYyBpbnN0YW5jZS4gZXJyb3JzIG1heSBiZSBnaXZlblxuXAotdG8gc2V0IGEgZGlmZmVyZW50IGVycm9yIGhhbmRsaW5nIHNjaGVtZS4gRGVmYXVsdCBpcyAnc3RyaWN0JyBtZWFuaW5nXG5cCi10aGF0IGVuY29kaW5nIGVycm9ycyByYWlzZSBhIFVuaWNvZGVEZWNvZGVFcnJvci4gT3RoZXIgcG9zc2libGUgdmFsdWVzXG5cCi1hcmUgJ2lnbm9yZScgYW5kICdyZXBsYWNlJyBhcyB3ZWxsIGFzIGFueSBvdGhlciBuYW1lIHJlZ2lzdGVyZWQgd2l0aFxuXAotY29kZWNzLnJlZ2lzdGVyX2Vycm9yIHRoYXQgaXMgYWJsZSB0byBoYW5kbGUgVW5pY29kZURlY29kZUVycm9ycy4iKTsKLQotc3RhdGljIGNoYXIgKmNvZGVja3dhcmdsaXN0W10gPSB7ImlucHV0IiwgImVycm9ycyIsIE5VTEx9Owogc3RhdGljIGNoYXIgKmluY25ld2t3YXJnbGlzdFtdID0geyJlcnJvcnMiLCBOVUxMfTsKLXN0YXRpYyBjaGFyICppbmNyZW1lbnRhbGt3YXJnbGlzdFtdID0geyJpbnB1dCIsICJmaW5hbCIsIE5VTEx9Owogc3RhdGljIGNoYXIgKnN0cmVhbWt3YXJnbGlzdFtdID0geyJzdHJlYW0iLCAiZXJyb3JzIiwgTlVMTH07CiAKIHN0YXRpYyBQeU9iamVjdCAqbXVsdGlieXRlY29kZWNfZW5jb2RlKE11bHRpYnl0ZUNvZGVjICosCkBAIC01NTMsMjYgKzU0NSwzNSBAQAogICAgIHJldHVybiBOVUxMOwogfQogCisvKltjbGluaWMgaW5wdXRdCitfbXVsdGlieXRlY29kZWMuTXVsdGlieXRlQ29kZWMuZW5jb2RlCisKKyAgaW5wdXQ6IG9iamVjdAorICBlcnJvcnM6IHN0cihudWxsYWJsZT1UcnVlKSA9IE5VTEwKKworUmV0dXJuIGFuIGVuY29kZWQgc3RyaW5nIHZlcnNpb24gb2YgYGlucHV0Jy4KKworJ2Vycm9ycycgbWF5IGJlIGdpdmVuIHRvIHNldCBhIGRpZmZlcmVudCBlcnJvciBoYW5kbGluZyBzY2hlbWUuIERlZmF1bHQgaXMKKydzdHJpY3QnIG1lYW5pbmcgdGhhdCBlbmNvZGluZyBlcnJvcnMgcmFpc2UgYSBVbmljb2RlRW5jb2RlRXJyb3IuIE90aGVyIHBvc3NpYmxlCit2YWx1ZXMgYXJlICdpZ25vcmUnLCAncmVwbGFjZScgYW5kICd4bWxjaGFycmVmcmVwbGFjZScgYXMgd2VsbCBhcyBhbnkgb3RoZXIgbmFtZQorcmVnaXN0ZXJlZCB3aXRoIGNvZGVjcy5yZWdpc3Rlcl9lcnJvciB0aGF0IGNhbiBoYW5kbGUgVW5pY29kZUVuY29kZUVycm9ycy4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKwogc3RhdGljIFB5T2JqZWN0ICoKLU11bHRpYnl0ZUNvZGVjX0VuY29kZShNdWx0aWJ5dGVDb2RlY09iamVjdCAqc2VsZiwKLSAgICAgICAgICAgICAgICAgICAgICBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKK19tdWx0aWJ5dGVjb2RlY19NdWx0aWJ5dGVDb2RlY19lbmNvZGVfaW1wbChNdWx0aWJ5dGVDb2RlY09iamVjdCAqc2VsZiwgUHlPYmplY3QgKmlucHV0LCBjb25zdCBjaGFyICplcnJvcnMpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9YTM2YmZhMDg3ODNhMGQwYiBpbnB1dD0yNTJlN2VlNjk1ODY3YjJkXSovCiB7CiAgICAgTXVsdGlieXRlQ29kZWNfU3RhdGUgc3RhdGU7Ci0gICAgUHlPYmplY3QgKmVycm9yY2IsICpyLCAqYXJnLCAqdWN2dDsKLSAgICBjb25zdCBjaGFyICplcnJvcnMgPSBOVUxMOworICAgIFB5T2JqZWN0ICplcnJvcmNiLCAqciwgKnVjdnQ7CiAgICAgUHlfc3NpemVfdCBkYXRhbGVuOwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLCAiT3x6OmVuY29kZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29kZWNrd2FyZ2xpc3QsICZhcmcsICZlcnJvcnMpKQotICAgICAgICByZXR1cm4gTlVMTDsKLQotICAgIGlmIChQeVVuaWNvZGVfQ2hlY2soYXJnKSkKKyAgICBpZiAoUHlVbmljb2RlX0NoZWNrKGlucHV0KSkKICAgICAgICAgdWN2dCA9IE5VTEw7CiAgICAgZWxzZSB7Ci0gICAgICAgIGFyZyA9IHVjdnQgPSBQeU9iamVjdF9TdHIoYXJnKTsKLSAgICAgICAgaWYgKGFyZyA9PSBOVUxMKQorICAgICAgICBpbnB1dCA9IHVjdnQgPSBQeU9iamVjdF9TdHIoaW5wdXQpOworICAgICAgICBpZiAoaW5wdXQgPT0gTlVMTCkKICAgICAgICAgICAgIHJldHVybiBOVUxMOwotICAgICAgICBlbHNlIGlmICghUHlVbmljb2RlX0NoZWNrKGFyZykpIHsKKyAgICAgICAgZWxzZSBpZiAoIVB5VW5pY29kZV9DaGVjayhpbnB1dCkpIHsKICAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsCiAgICAgICAgICAgICAgICAgImNvdWxkbid0IGNvbnZlcnQgdGhlIG9iamVjdCB0byB1bmljb2RlLiIpOwogICAgICAgICAgICAgUHlfREVDUkVGKHVjdnQpOwpAQCAtNTgwLDExICs1ODEsMTEgQEAKICAgICAgICAgfQogICAgIH0KIAotICAgIGlmIChQeVVuaWNvZGVfUkVBRFkoYXJnKSA8IDApIHsKKyAgICBpZiAoUHlVbmljb2RlX1JFQURZKGlucHV0KSA8IDApIHsKICAgICAgICAgUHlfWERFQ1JFRih1Y3Z0KTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQotICAgIGRhdGFsZW4gPSBQeVVuaWNvZGVfR0VUX0xFTkdUSChhcmcpOworICAgIGRhdGFsZW4gPSBQeVVuaWNvZGVfR0VUX0xFTkdUSChpbnB1dCk7CiAKICAgICBlcnJvcmNiID0gaW50ZXJuYWxfZXJyb3JfY2FsbGJhY2soZXJyb3JzKTsKICAgICBpZiAoZXJyb3JjYiA9PSBOVUxMKSB7CkBAIC01OTYsNyArNTk3LDcgQEAKICAgICAgICAgc2VsZi0+Y29kZWMtPmVuY2luaXQoJnN0YXRlLCBzZWxmLT5jb2RlYy0+Y29uZmlnKSAhPSAwKQogICAgICAgICBnb3RvIGVycm9yZXhpdDsKICAgICByID0gbXVsdGlieXRlY29kZWNfZW5jb2RlKHNlbGYtPmNvZGVjLCAmc3RhdGUsCi0gICAgICAgICAgICAgICAgICAgIGFyZywgTlVMTCwgZXJyb3JjYiwKKyAgICAgICAgICAgICAgICAgICAgaW5wdXQsIE5VTEwsIGVycm9yY2IsCiAgICAgICAgICAgICAgICAgICAgIE1CRU5DX0ZMVVNIIHwgTUJFTkNfUkVTRVQpOwogICAgIGlmIChyID09IE5VTEwpCiAgICAgICAgIGdvdG8gZXJyb3JleGl0OwpAQCAtNjExLDMxICs2MTIsMzkgQEAKICAgICByZXR1cm4gTlVMTDsKIH0KIAorLypbY2xpbmljIGlucHV0XQorX211bHRpYnl0ZWNvZGVjLk11bHRpYnl0ZUNvZGVjLmRlY29kZQorCisgIGlucHV0OiBQeV9idWZmZXIKKyAgZXJyb3JzOiBzdHIobnVsbGFibGU9VHJ1ZSkgPSBOVUxMCisKK0RlY29kZXMgJ2lucHV0Jy4KKworJ2Vycm9ycycgbWF5IGJlIGdpdmVuIHRvIHNldCBhIGRpZmZlcmVudCBlcnJvciBoYW5kbGluZyBzY2hlbWUuIERlZmF1bHQgaXMKKydzdHJpY3QnIG1lYW5pbmcgdGhhdCBlbmNvZGluZyBlcnJvcnMgcmFpc2UgYSBVbmljb2RlRGVjb2RlRXJyb3IuIE90aGVyIHBvc3NpYmxlCit2YWx1ZXMgYXJlICdpZ25vcmUnIGFuZCAncmVwbGFjZScgYXMgd2VsbCBhcyBhbnkgb3RoZXIgbmFtZSByZWdpc3RlcmVkIHdpdGgKK2NvZGVjcy5yZWdpc3Rlcl9lcnJvciB0aGF0IGlzIGFibGUgdG8gaGFuZGxlIFVuaWNvZGVEZWNvZGVFcnJvcnMuIgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCiBzdGF0aWMgUHlPYmplY3QgKgotTXVsdGlieXRlQ29kZWNfRGVjb2RlKE11bHRpYnl0ZUNvZGVjT2JqZWN0ICpzZWxmLAotICAgICAgICAgICAgICAgICAgICAgIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQorX211bHRpYnl0ZWNvZGVjX011bHRpYnl0ZUNvZGVjX2RlY29kZV9pbXBsKE11bHRpYnl0ZUNvZGVjT2JqZWN0ICpzZWxmLCBQeV9idWZmZXIgKmlucHV0LCBjb25zdCBjaGFyICplcnJvcnMpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9NGM4ZWU4YjI5MzFiMDE0ZSBpbnB1dD0zN2UxZDkyMzZlM2NlOGYzXSovCiB7CiAgICAgTXVsdGlieXRlQ29kZWNfU3RhdGUgc3RhdGU7CiAgICAgTXVsdGlieXRlRGVjb2RlQnVmZmVyIGJ1ZjsKICAgICBQeU9iamVjdCAqZXJyb3JjYiwgKnJlczsKLSAgICBQeV9idWZmZXIgcGRhdGE7Ci0gICAgY29uc3QgY2hhciAqZGF0YSwgKmVycm9ycyA9IE5VTEw7CisgICAgY29uc3QgY2hhciAqZGF0YTsKICAgICBQeV9zc2l6ZV90IGRhdGFsZW47CiAKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsICJ5Knx6OmRlY29kZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29kZWNrd2FyZ2xpc3QsICZwZGF0YSwgJmVycm9ycykpCi0gICAgICAgIHJldHVybiBOVUxMOwotICAgIGRhdGEgPSBwZGF0YS5idWY7Ci0gICAgZGF0YWxlbiA9IHBkYXRhLmxlbjsKKyAgICBkYXRhID0gaW5wdXQtPmJ1ZjsKKyAgICBkYXRhbGVuID0gaW5wdXQtPmxlbjsKIAogICAgIGVycm9yY2IgPSBpbnRlcm5hbF9lcnJvcl9jYWxsYmFjayhlcnJvcnMpOwogICAgIGlmIChlcnJvcmNiID09IE5VTEwpIHsKLSAgICAgICAgUHlCdWZmZXJfUmVsZWFzZSgmcGRhdGEpOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CiAKICAgICBpZiAoZGF0YWxlbiA9PSAwKSB7Ci0gICAgICAgIFB5QnVmZmVyX1JlbGVhc2UoJnBkYXRhKTsKICAgICAgICAgRVJST1JfREVDUkVGKGVycm9yY2IpOwogICAgICAgICByZXR1cm4gbWFrZV90dXBsZShQeVVuaWNvZGVfTmV3KDAsIDApLCAwKTsKICAgICB9CkBAIC02NjgsMTMgKzY3NywxMSBAQAogICAgIGlmIChyZXMgPT0gTlVMTCkKICAgICAgICAgZ290byBlcnJvcmV4aXQ7CiAKLSAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZwZGF0YSk7CiAgICAgUHlfWERFQ1JFRihidWYuZXhjb2JqKTsKICAgICBFUlJPUl9ERUNSRUYoZXJyb3JjYik7CiAgICAgcmV0dXJuIG1ha2VfdHVwbGUocmVzLCBkYXRhbGVuKTsKIAogZXJyb3JleGl0OgotICAgIFB5QnVmZmVyX1JlbGVhc2UoJnBkYXRhKTsKICAgICBFUlJPUl9ERUNSRUYoZXJyb3JjYik7CiAgICAgUHlfWERFQ1JFRihidWYuZXhjb2JqKTsKICAgICBfUHlVbmljb2RlV3JpdGVyX0RlYWxsb2MoJmJ1Zi53cml0ZXIpOwpAQCAtNjgzLDEzICs2OTAsOSBAQAogfQogCiBzdGF0aWMgc3RydWN0IFB5TWV0aG9kRGVmIG11bHRpYnl0ZWNvZGVjX21ldGhvZHNbXSA9IHsKLSAgICB7ImVuY29kZSIsICAgICAgICAgIChQeUNGdW5jdGlvbilNdWx0aWJ5dGVDb2RlY19FbmNvZGUsCi0gICAgICAgICAgICAgICAgICAgIE1FVEhfVkFSQVJHUyB8IE1FVEhfS0VZV09SRFMsCi0gICAgICAgICAgICAgICAgICAgIE11bHRpYnl0ZUNvZGVjX0VuY29kZV9fZG9jX199LAotICAgIHsiZGVjb2RlIiwgICAgICAgICAgKFB5Q0Z1bmN0aW9uKU11bHRpYnl0ZUNvZGVjX0RlY29kZSwKLSAgICAgICAgICAgICAgICAgICAgTUVUSF9WQVJBUkdTIHwgTUVUSF9LRVlXT1JEUywKLSAgICAgICAgICAgICAgICAgICAgTXVsdGlieXRlQ29kZWNfRGVjb2RlX19kb2NfX30sCi0gICAge05VTEwsICAgICAgICAgICAgICBOVUxMfSwKKyAgICBfTVVMVElCWVRFQ09ERUNfTVVMVElCWVRFQ09ERUNfRU5DT0RFX01FVEhPRERFRgorICAgIF9NVUxUSUJZVEVDT0RFQ19NVUxUSUJZVEVDT0RFQ19ERUNPREVfTUVUSE9EREVGCisgICAge05VTEwsIE5VTEx9LAogfTsKIAogc3RhdGljIHZvaWQKQEAgLTg3MywyNiArODc2LDMyIEBACiB9CiAKIAotLyoqCi0gKiBNdWx0aWJ5dGVJbmNyZW1lbnRhbEVuY29kZXIgb2JqZWN0Ci0gKi8KKy8qW2NsaW5pYyBpbnB1dF0KKyBjbGFzcyBfbXVsdGlieXRlY29kZWMuTXVsdGlieXRlSW5jcmVtZW50YWxFbmNvZGVyICJNdWx0aWJ5dGVJbmNyZW1lbnRhbEVuY29kZXJPYmplY3QgKiIgIiZNdWx0aWJ5dGVJbmNyZW1lbnRhbEVuY29kZXJfVHlwZSIKK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1kYTM5YTNlZTVlNmI0YjBkIGlucHV0PTNiZTgyOTA5Y2QwODkyNGRdKi8KKworLypbY2xpbmljIGlucHV0XQorX211bHRpYnl0ZWNvZGVjLk11bHRpYnl0ZUluY3JlbWVudGFsRW5jb2Rlci5lbmNvZGUKKworICAgIGlucHV0OiBvYmplY3QKKyAgICBmaW5hbDogaW50ID0gMAorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLwogCiBzdGF0aWMgUHlPYmplY3QgKgotbWJpZW5jb2Rlcl9lbmNvZGUoTXVsdGlieXRlSW5jcmVtZW50YWxFbmNvZGVyT2JqZWN0ICpzZWxmLAotICAgICAgICAgICAgICAgICAgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCitfbXVsdGlieXRlY29kZWNfTXVsdGlieXRlSW5jcmVtZW50YWxFbmNvZGVyX2VuY29kZV9pbXBsKE11bHRpYnl0ZUluY3JlbWVudGFsRW5jb2Rlck9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmlucHV0LCBpbnQgZmluYWwpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9M2NkODc4MGM4YTcxOWJiZiBpbnB1dD00NTZiNzZkNzNlNDY0NjYxXSovCiB7Ci0gICAgUHlPYmplY3QgKmRhdGE7Ci0gICAgaW50IGZpbmFsID0gMDsKLQotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywgIk98aTplbmNvZGUiLAotICAgICAgICAgICAgICAgICAgICBpbmNyZW1lbnRhbGt3YXJnbGlzdCwgJmRhdGEsICZmaW5hbCkpCi0gICAgICAgIHJldHVybiBOVUxMOwotCi0gICAgcmV0dXJuIGVuY29kZXJfZW5jb2RlX3N0YXRlZnVsKFNUQVRFRlVMX0VDVFgoc2VsZiksIGRhdGEsIGZpbmFsKTsKKyAgICByZXR1cm4gZW5jb2Rlcl9lbmNvZGVfc3RhdGVmdWwoU1RBVEVGVUxfRUNUWChzZWxmKSwgaW5wdXQsIGZpbmFsKTsKIH0KIAorLypbY2xpbmljIGlucHV0XQorX211bHRpYnl0ZWNvZGVjLk11bHRpYnl0ZUluY3JlbWVudGFsRW5jb2Rlci5yZXNldAorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCiBzdGF0aWMgUHlPYmplY3QgKgotbWJpZW5jb2Rlcl9yZXNldChNdWx0aWJ5dGVJbmNyZW1lbnRhbEVuY29kZXJPYmplY3QgKnNlbGYpCitfbXVsdGlieXRlY29kZWNfTXVsdGlieXRlSW5jcmVtZW50YWxFbmNvZGVyX3Jlc2V0X2ltcGwoTXVsdGlieXRlSW5jcmVtZW50YWxFbmNvZGVyT2JqZWN0ICpzZWxmKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWI0MTI1ZDhmNTM3YTI1M2YgaW5wdXQ9OTMwZjA2NzYwNzA3YjZlYV0qLwogewogICAgIC8qIExvbmdlc3Qgb3V0cHV0OiA0IGJ5dGVzIChiJ1x4MEZceDFGKEInKSB3aXRoIElTTyAyMDIyICovCiAgICAgdW5zaWduZWQgY2hhciBidWZmZXJbNF0sICpvdXRidWY7CkBAIC05MDksMTEgKzkxOCw5IEBACiB9CiAKIHN0YXRpYyBzdHJ1Y3QgUHlNZXRob2REZWYgbWJpZW5jb2Rlcl9tZXRob2RzW10gPSB7Ci0gICAgeyJlbmNvZGUiLCAgICAgICAgICAoUHlDRnVuY3Rpb24pbWJpZW5jb2Rlcl9lbmNvZGUsCi0gICAgICAgICAgICAgICAgICAgIE1FVEhfVkFSQVJHUyB8IE1FVEhfS0VZV09SRFMsIE5VTEx9LAotICAgIHsicmVzZXQiLCAgICAgICAgICAgKFB5Q0Z1bmN0aW9uKW1iaWVuY29kZXJfcmVzZXQsCi0gICAgICAgICAgICAgICAgICAgIE1FVEhfTk9BUkdTLCBOVUxMfSwKLSAgICB7TlVMTCwgICAgICAgICAgICAgIE5VTEx9LAorICAgIF9NVUxUSUJZVEVDT0RFQ19NVUxUSUJZVEVJTkNSRU1FTlRBTEVOQ09ERVJfRU5DT0RFX01FVEhPRERFRgorICAgIF9NVUxUSUJZVEVDT0RFQ19NVUxUSUJZVEVJTkNSRU1FTlRBTEVOQ09ERVJfUkVTRVRfTUVUSE9EREVGCisgICAge05VTEwsIE5VTEx9LAogfTsKIAogc3RhdGljIFB5T2JqZWN0ICoKQEAgLTEwMjQsMjYgKzEwMzEsMjkgQEAKIH07CiAKIAotLyoqCi0gKiBNdWx0aWJ5dGVJbmNyZW1lbnRhbERlY29kZXIgb2JqZWN0Ci0gKi8KKy8qW2NsaW5pYyBpbnB1dF0KKyBjbGFzcyBfbXVsdGlieXRlY29kZWMuTXVsdGlieXRlSW5jcmVtZW50YWxEZWNvZGVyICJNdWx0aWJ5dGVJbmNyZW1lbnRhbERlY29kZXJPYmplY3QgKiIgIiZNdWx0aWJ5dGVJbmNyZW1lbnRhbERlY29kZXJfVHlwZSIKK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1kYTM5YTNlZTVlNmI0YjBkIGlucHV0PWY2MDAzZmFhZjJjZWE2OTJdKi8KKworLypbY2xpbmljIGlucHV0XQorX211bHRpYnl0ZWNvZGVjLk11bHRpYnl0ZUluY3JlbWVudGFsRGVjb2Rlci5kZWNvZGUKKworICAgIGlucHV0OiBQeV9idWZmZXIKKyAgICBmaW5hbDogaW50ID0gMAorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLwogCiBzdGF0aWMgUHlPYmplY3QgKgotbWJpZGVjb2Rlcl9kZWNvZGUoTXVsdGlieXRlSW5jcmVtZW50YWxEZWNvZGVyT2JqZWN0ICpzZWxmLAotICAgICAgICAgICAgICAgICAgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCitfbXVsdGlieXRlY29kZWNfTXVsdGlieXRlSW5jcmVtZW50YWxEZWNvZGVyX2RlY29kZV9pbXBsKE11bHRpYnl0ZUluY3JlbWVudGFsRGVjb2Rlck9iamVjdCAqc2VsZiwgUHlfYnVmZmVyICppbnB1dCwgaW50IGZpbmFsKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWEwZjNmOTJhYTczMDNjZjcgaW5wdXQ9ZWIxOGMyZjZlODM1ODllMV0qLwogewogICAgIE11bHRpYnl0ZURlY29kZUJ1ZmZlciBidWY7CiAgICAgY2hhciAqZGF0YSwgKndkYXRhID0gTlVMTDsKLSAgICBQeV9idWZmZXIgcGRhdGE7CiAgICAgUHlfc3NpemVfdCB3c2l6ZSwgc2l6ZSwgb3JpZ3BlbmRpbmc7Ci0gICAgaW50IGZpbmFsID0gMDsKICAgICBQeU9iamVjdCAqcmVzOwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLCAieSp8aTpkZWNvZGUiLAotICAgICAgICAgICAgICAgICAgICBpbmNyZW1lbnRhbGt3YXJnbGlzdCwgJnBkYXRhLCAmZmluYWwpKQotICAgICAgICByZXR1cm4gTlVMTDsKLSAgICBkYXRhID0gcGRhdGEuYnVmOwotICAgIHNpemUgPSBwZGF0YS5sZW47CisgICAgZGF0YSA9IGlucHV0LT5idWY7CisgICAgc2l6ZSA9IGlucHV0LT5sZW47CiAKICAgICBfUHlVbmljb2RlV3JpdGVyX0luaXQoJmJ1Zi53cml0ZXIpOwogICAgIGJ1Zi5leGNvYmogPSBOVUxMOwpAQCAtMTA5NCwxNCArMTEwNCwxMiBAQAogICAgIGlmIChyZXMgPT0gTlVMTCkKICAgICAgICAgZ290byBlcnJvcmV4aXQ7CiAKLSAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZwZGF0YSk7CiAgICAgaWYgKHdkYXRhICE9IGRhdGEpCiAgICAgICAgIFB5TWVtX0RlbCh3ZGF0YSk7CiAgICAgUHlfWERFQ1JFRihidWYuZXhjb2JqKTsKICAgICByZXR1cm4gcmVzOwogCiBlcnJvcmV4aXQ6Ci0gICAgUHlCdWZmZXJfUmVsZWFzZSgmcGRhdGEpOwogICAgIGlmICh3ZGF0YSAhPSBOVUxMICYmIHdkYXRhICE9IGRhdGEpCiAgICAgICAgIFB5TWVtX0RlbCh3ZGF0YSk7CiAgICAgUHlfWERFQ1JFRihidWYuZXhjb2JqKTsKQEAgLTExMDksOCArMTExNywxMyBAQAogICAgIHJldHVybiBOVUxMOwogfQogCisvKltjbGluaWMgaW5wdXRdCitfbXVsdGlieXRlY29kZWMuTXVsdGlieXRlSW5jcmVtZW50YWxEZWNvZGVyLnJlc2V0CitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKIHN0YXRpYyBQeU9iamVjdCAqCi1tYmlkZWNvZGVyX3Jlc2V0KE11bHRpYnl0ZUluY3JlbWVudGFsRGVjb2Rlck9iamVjdCAqc2VsZikKK19tdWx0aWJ5dGVjb2RlY19NdWx0aWJ5dGVJbmNyZW1lbnRhbERlY29kZXJfcmVzZXRfaW1wbChNdWx0aWJ5dGVJbmNyZW1lbnRhbERlY29kZXJPYmplY3QgKnNlbGYpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ZGE0MjNiMTc4MmMyM2VkMSBpbnB1dD0zYjYzYjNiZTg1YjJmYjQ1XSovCiB7CiAgICAgaWYgKHNlbGYtPmNvZGVjLT5kZWNyZXNldCAhPSBOVUxMICYmCiAgICAgICAgIHNlbGYtPmNvZGVjLT5kZWNyZXNldCgmc2VsZi0+c3RhdGUsIHNlbGYtPmNvZGVjLT5jb25maWcpICE9IDApCkBAIC0xMTIxLDExICsxMTM0LDkgQEAKIH0KIAogc3RhdGljIHN0cnVjdCBQeU1ldGhvZERlZiBtYmlkZWNvZGVyX21ldGhvZHNbXSA9IHsKLSAgICB7ImRlY29kZSIsICAgICAgICAgIChQeUNGdW5jdGlvbiltYmlkZWNvZGVyX2RlY29kZSwKLSAgICAgICAgICAgICAgICAgICAgTUVUSF9WQVJBUkdTIHwgTUVUSF9LRVlXT1JEUywgTlVMTH0sCi0gICAgeyJyZXNldCIsICAgICAgICAgICAoUHlDRnVuY3Rpb24pbWJpZGVjb2Rlcl9yZXNldCwKLSAgICAgICAgICAgICAgICAgICAgTUVUSF9OT0FSR1MsIE5VTEx9LAotICAgIHtOVUxMLCAgICAgICAgICAgICAgTlVMTH0sCisgICAgX01VTFRJQllURUNPREVDX01VTFRJQllURUlOQ1JFTUVOVEFMREVDT0RFUl9ERUNPREVfTUVUSE9EREVGCisgICAgX01VTFRJQllURUNPREVDX01VTFRJQllURUlOQ1JFTUVOVEFMREVDT0RFUl9SRVNFVF9NRVRIT0RERUYKKyAgICB7TlVMTCwgTlVMTH0sCiB9OwogCiBzdGF0aWMgUHlPYmplY3QgKgpAQCAtMTIzNiw5ICsxMjQ3LDEwIEBACiB9OwogCiAKLS8qKgotICogTXVsdGlieXRlU3RyZWFtUmVhZGVyIG9iamVjdAotICovCisvKltjbGluaWMgaW5wdXRdCisgY2xhc3MgX211bHRpYnl0ZWNvZGVjLk11bHRpYnl0ZVN0cmVhbVJlYWRlciAiTXVsdGlieXRlU3RyZWFtUmVhZGVyT2JqZWN0ICoiICJNdWx0aWJ5dGVTdHJlYW1SZWFkZXJfVHlwZSIKK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1kYTM5YTNlZTVlNmI0YjBkIGlucHV0PWQzMjM2MzRiNzQ5NzZmMDldKi8KIAogc3RhdGljIFB5T2JqZWN0ICoKIG1ic3RyZWFtcmVhZGVyX2lyZWFkKE11bHRpYnl0ZVN0cmVhbVJlYWRlck9iamVjdCAqc2VsZiwKQEAgLTEyNjAsMTAgKzEyNzIsMTAgQEAKIAogICAgICAgICBpZiAoc2l6ZWhpbnQgPCAwKQogICAgICAgICAgICAgY3JlcyA9IFB5T2JqZWN0X0NhbGxNZXRob2Qoc2VsZi0+c3RyZWFtLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjaGFyICopbWV0aG9kLCBOVUxMKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXRob2QsIE5VTEwpOwogICAgICAgICBlbHNlCiAgICAgICAgICAgICBjcmVzID0gUHlPYmplY3RfQ2FsbE1ldGhvZChzZWxmLT5zdHJlYW0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNoYXIgKiltZXRob2QsICJpIiwgc2l6ZWhpbnQpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1ldGhvZCwgImkiLCBzaXplaGludCk7CiAgICAgICAgIGlmIChjcmVzID09IE5VTEwpCiAgICAgICAgICAgICBnb3RvIGVycm9yZXhpdDsKIApAQCAtMTM0NSwxNiArMTM1NywyMCBAQAogICAgIHJldHVybiBOVUxMOwogfQogCisvKltjbGluaWMgaW5wdXRdCisgX211bHRpYnl0ZWNvZGVjLk11bHRpYnl0ZVN0cmVhbVJlYWRlci5yZWFkCisKKyAgICBzaXplb2JqOiBvYmplY3QgPSBOb25lCisgICAgLworW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCiBzdGF0aWMgUHlPYmplY3QgKgotbWJzdHJlYW1yZWFkZXJfcmVhZChNdWx0aWJ5dGVTdHJlYW1SZWFkZXJPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorX211bHRpYnl0ZWNvZGVjX011bHRpYnl0ZVN0cmVhbVJlYWRlcl9yZWFkX2ltcGwoTXVsdGlieXRlU3RyZWFtUmVhZGVyT2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqc2l6ZW9iaikKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1mMjk4ZWE2ZTFiZDIwODNjIGlucHV0PTAxNWIwZDNmZjJmY2E0ODVdKi8KIHsKLSAgICBQeU9iamVjdCAqc2l6ZW9iaiA9IE5VTEw7CiAgICAgUHlfc3NpemVfdCBzaXplOwogCi0gICAgaWYgKCFQeUFyZ19VbnBhY2tUdXBsZShhcmdzLCAicmVhZCIsIDAsIDEsICZzaXplb2JqKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0KLSAgICBpZiAoc2l6ZW9iaiA9PSBQeV9Ob25lIHx8IHNpemVvYmogPT0gTlVMTCkKKyAgICBpZiAoc2l6ZW9iaiA9PSBQeV9Ob25lKQogICAgICAgICBzaXplID0gLTE7CiAgICAgZWxzZSBpZiAoUHlMb25nX0NoZWNrKHNpemVvYmopKQogICAgICAgICBzaXplID0gUHlMb25nX0FzU3NpemVfdChzaXplb2JqKTsKQEAgLTEzNjksMTYgKzEzODUsMjAgQEAKICAgICByZXR1cm4gbWJzdHJlYW1yZWFkZXJfaXJlYWQoc2VsZiwgInJlYWQiLCBzaXplKTsKIH0KIAorLypbY2xpbmljIGlucHV0XQorIF9tdWx0aWJ5dGVjb2RlYy5NdWx0aWJ5dGVTdHJlYW1SZWFkZXIucmVhZGxpbmUKKworICAgIHNpemVvYmo6IG9iamVjdCA9IE5vbmUKKyAgICAvCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKIHN0YXRpYyBQeU9iamVjdCAqCi1tYnN0cmVhbXJlYWRlcl9yZWFkbGluZShNdWx0aWJ5dGVTdHJlYW1SZWFkZXJPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorX211bHRpYnl0ZWNvZGVjX011bHRpYnl0ZVN0cmVhbVJlYWRlcl9yZWFkbGluZV9pbXBsKE11bHRpYnl0ZVN0cmVhbVJlYWRlck9iamVjdCAqc2VsZiwgUHlPYmplY3QgKnNpemVvYmopCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ZTVhYzMwMmE2ZDA5OTlkZSBpbnB1dD00MWNjYzY0ZjliYjBjZWMzXSovCiB7Ci0gICAgUHlPYmplY3QgKnNpemVvYmogPSBOVUxMOwogICAgIFB5X3NzaXplX3Qgc2l6ZTsKIAotICAgIGlmICghUHlBcmdfVW5wYWNrVHVwbGUoYXJncywgInJlYWRsaW5lIiwgMCwgMSwgJnNpemVvYmopKQotICAgICAgICByZXR1cm4gTlVMTDsKLQotICAgIGlmIChzaXplb2JqID09IFB5X05vbmUgfHwgc2l6ZW9iaiA9PSBOVUxMKQorICAgIGlmIChzaXplb2JqID09IFB5X05vbmUpCiAgICAgICAgIHNpemUgPSAtMTsKICAgICBlbHNlIGlmIChQeUxvbmdfQ2hlY2soc2l6ZW9iaikpCiAgICAgICAgIHNpemUgPSBQeUxvbmdfQXNTc2l6ZV90KHNpemVvYmopOwpAQCAtMTM5MywxNiArMTQxMywyMSBAQAogICAgIHJldHVybiBtYnN0cmVhbXJlYWRlcl9pcmVhZChzZWxmLCAicmVhZGxpbmUiLCBzaXplKTsKIH0KIAorLypbY2xpbmljIGlucHV0XQorIF9tdWx0aWJ5dGVjb2RlYy5NdWx0aWJ5dGVTdHJlYW1SZWFkZXIucmVhZGxpbmVzCisKKyAgICBzaXplaGludG9iajogb2JqZWN0ID0gTm9uZQorICAgIC8KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKwogc3RhdGljIFB5T2JqZWN0ICoKLW1ic3RyZWFtcmVhZGVyX3JlYWRsaW5lcyhNdWx0aWJ5dGVTdHJlYW1SZWFkZXJPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorX211bHRpYnl0ZWNvZGVjX011bHRpYnl0ZVN0cmVhbVJlYWRlcl9yZWFkbGluZXNfaW1wbChNdWx0aWJ5dGVTdHJlYW1SZWFkZXJPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpzaXplaGludG9iaikKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD02OGYwMjQxNzhiNzdjYjBmIGlucHV0PTU0OTMyZjVkNGQ4OGU4ODBdKi8KIHsKLSAgICBQeU9iamVjdCAqc2l6ZWhpbnRvYmogPSBOVUxMLCAqciwgKnNyOworICAgIFB5T2JqZWN0ICpyLCAqc3I7CiAgICAgUHlfc3NpemVfdCBzaXplaGludDsKIAotICAgIGlmICghUHlBcmdfVW5wYWNrVHVwbGUoYXJncywgInJlYWRsaW5lcyIsIDAsIDEsICZzaXplaGludG9iaikpCi0gICAgICAgIHJldHVybiBOVUxMOwotCi0gICAgaWYgKHNpemVoaW50b2JqID09IFB5X05vbmUgfHwgc2l6ZWhpbnRvYmogPT0gTlVMTCkKKyAgICBpZiAoc2l6ZWhpbnRvYmogPT0gUHlfTm9uZSkKICAgICAgICAgc2l6ZWhpbnQgPSAtMTsKICAgICBlbHNlIGlmIChQeUxvbmdfQ2hlY2soc2l6ZWhpbnRvYmopKQogICAgICAgICBzaXplaGludCA9IFB5TG9uZ19Bc1NzaXplX3Qoc2l6ZWhpbnRvYmopOwpAQCAtMTQyMyw4ICsxNDQ4LDEzIEBACiAgICAgcmV0dXJuIHNyOwogfQogCisvKltjbGluaWMgaW5wdXRdCisgX211bHRpYnl0ZWNvZGVjLk11bHRpYnl0ZVN0cmVhbVJlYWRlci5yZXNldAorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCiBzdGF0aWMgUHlPYmplY3QgKgotbWJzdHJlYW1yZWFkZXJfcmVzZXQoTXVsdGlieXRlU3RyZWFtUmVhZGVyT2JqZWN0ICpzZWxmKQorX211bHRpYnl0ZWNvZGVjX011bHRpYnl0ZVN0cmVhbVJlYWRlcl9yZXNldF9pbXBsKE11bHRpYnl0ZVN0cmVhbVJlYWRlck9iamVjdCAqc2VsZikKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD0xMzg0OTAzNzBhNjgwYWJjIGlucHV0PTVkNDE0MGRiODRiNWUxZTJdKi8KIHsKICAgICBpZiAoc2VsZi0+Y29kZWMtPmRlY3Jlc2V0ICE9IE5VTEwgJiYKICAgICAgICAgc2VsZi0+Y29kZWMtPmRlY3Jlc2V0KCZzZWxmLT5zdGF0ZSwgc2VsZi0+Y29kZWMtPmNvbmZpZykgIT0gMCkKQEAgLTE0MzUsMTQgKzE0NjUsMTAgQEAKIH0KIAogc3RhdGljIHN0cnVjdCBQeU1ldGhvZERlZiBtYnN0cmVhbXJlYWRlcl9tZXRob2RzW10gPSB7Ci0gICAgeyJyZWFkIiwgICAgICAgICAgICAoUHlDRnVuY3Rpb24pbWJzdHJlYW1yZWFkZXJfcmVhZCwKLSAgICAgICAgICAgICAgICAgICAgTUVUSF9WQVJBUkdTLCBOVUxMfSwKLSAgICB7InJlYWRsaW5lIiwgICAgICAgIChQeUNGdW5jdGlvbiltYnN0cmVhbXJlYWRlcl9yZWFkbGluZSwKLSAgICAgICAgICAgICAgICAgICAgTUVUSF9WQVJBUkdTLCBOVUxMfSwKLSAgICB7InJlYWRsaW5lcyIsICAgICAgIChQeUNGdW5jdGlvbiltYnN0cmVhbXJlYWRlcl9yZWFkbGluZXMsCi0gICAgICAgICAgICAgICAgICAgIE1FVEhfVkFSQVJHUywgTlVMTH0sCi0gICAgeyJyZXNldCIsICAgICAgICAgICAoUHlDRnVuY3Rpb24pbWJzdHJlYW1yZWFkZXJfcmVzZXQsCi0gICAgICAgICAgICAgICAgICAgIE1FVEhfTk9BUkdTLCBOVUxMfSwKKyAgICBfTVVMVElCWVRFQ09ERUNfTVVMVElCWVRFU1RSRUFNUkVBREVSX1JFQURfTUVUSE9EREVGCisgICAgX01VTFRJQllURUNPREVDX01VTFRJQllURVNUUkVBTVJFQURFUl9SRUFETElORV9NRVRIT0RERUYKKyAgICBfTVVMVElCWVRFQ09ERUNfTVVMVElCWVRFU1RSRUFNUkVBREVSX1JFQURMSU5FU19NRVRIT0RERUYKKyAgICBfTVVMVElCWVRFQ09ERUNfTVVMVElCWVRFU1RSRUFNUkVBREVSX1JFU0VUX01FVEhPRERFRgogICAgIHtOVUxMLCAgICAgICAgICAgICAgTlVMTH0sCiB9OwogCkBAIC0xNTY1LDkgKzE1OTEsMTAgQEAKIH07CiAKIAotLyoqCi0gKiBNdWx0aWJ5dGVTdHJlYW1Xcml0ZXIgb2JqZWN0Ci0gKi8KKy8qW2NsaW5pYyBpbnB1dF0KKyBjbGFzcyBfbXVsdGlieXRlY29kZWMuTXVsdGlieXRlU3RyZWFtV3JpdGVyICJNdWx0aWJ5dGVTdHJlYW1Xcml0ZXJPYmplY3QgKiIgIiZNdWx0aWJ5dGVTdHJlYW1Xcml0ZXJfVHlwZSIKK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1kYTM5YTNlZTVlNmI0YjBkIGlucHV0PWNkZTIyNzgwYTIxNWQ2YWNdKi8KIAogc3RhdGljIGludAogbWJzdHJlYW13cml0ZXJfaXdyaXRlKE11bHRpYnl0ZVN0cmVhbVdyaXRlck9iamVjdCAqc2VsZiwKQEAgLTE1ODgsOCArMTYxNSwxNiBAQAogICAgIHJldHVybiAwOwogfQogCisvKltjbGluaWMgaW5wdXRdCisgX211bHRpYnl0ZWNvZGVjLk11bHRpYnl0ZVN0cmVhbVdyaXRlci53cml0ZQorCisgICAgc3Ryb2JqOiBvYmplY3QKKyAgICAvCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKIHN0YXRpYyBQeU9iamVjdCAqCi1tYnN0cmVhbXdyaXRlcl93cml0ZShNdWx0aWJ5dGVTdHJlYW1Xcml0ZXJPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpzdHJvYmopCitfbXVsdGlieXRlY29kZWNfTXVsdGlieXRlU3RyZWFtV3JpdGVyX3dyaXRlKE11bHRpYnl0ZVN0cmVhbVdyaXRlck9iamVjdCAqc2VsZiwgUHlPYmplY3QgKnN0cm9iaikKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD00NGU5ZWIwZGIwMzc0Y2IxIGlucHV0PTU1MWRjNGMwMThjMTBhMmJdKi8KIHsKICAgICBpZiAobWJzdHJlYW13cml0ZXJfaXdyaXRlKHNlbGYsIHN0cm9iaikpCiAgICAgICAgIHJldHVybiBOVUxMOwpAQCAtMTU5Nyw4ICsxNjMyLDE2IEBACiAgICAgICAgIFB5X1JFVFVSTl9OT05FOwogfQogCisvKltjbGluaWMgaW5wdXRdCisgX211bHRpYnl0ZWNvZGVjLk11bHRpYnl0ZVN0cmVhbVdyaXRlci53cml0ZWxpbmVzCisKKyAgICBsaW5lczogb2JqZWN0CisgICAgLworW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCiBzdGF0aWMgUHlPYmplY3QgKgotbWJzdHJlYW13cml0ZXJfd3JpdGVsaW5lcyhNdWx0aWJ5dGVTdHJlYW1Xcml0ZXJPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpsaW5lcykKK19tdWx0aWJ5dGVjb2RlY19NdWx0aWJ5dGVTdHJlYW1Xcml0ZXJfd3JpdGVsaW5lcyhNdWx0aWJ5dGVTdHJlYW1Xcml0ZXJPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpsaW5lcykKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD00ZmFjYmIwNjM4ZGRlMTcyIGlucHV0PTU3Nzk3ZmU3MDA4ZDRlOTZdKi8KIHsKICAgICBQeU9iamVjdCAqc3Ryb2JqOwogICAgIGludCBpLCByOwpAQCAtMTYyNCw4ICsxNjY3LDEzIEBACiAgICAgUHlfUkVUVVJOX05PTkU7CiB9CiAKKy8qW2NsaW5pYyBpbnB1dF0KKyBfbXVsdGlieXRlY29kZWMuTXVsdGlieXRlU3RyZWFtV3JpdGVyLnJlc2V0CitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKIHN0YXRpYyBQeU9iamVjdCAqCi1tYnN0cmVhbXdyaXRlcl9yZXNldChNdWx0aWJ5dGVTdHJlYW1Xcml0ZXJPYmplY3QgKnNlbGYpCitfbXVsdGlieXRlY29kZWNfTXVsdGlieXRlU3RyZWFtV3JpdGVyX3Jlc2V0X2ltcGwoTXVsdGlieXRlU3RyZWFtV3JpdGVyT2JqZWN0ICpzZWxmKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PThmNTRhNGQ5YjAzZGI1ZmYgaW5wdXQ9YjU2ZGJjYmFmMzVjYzEwY10qLwogewogICAgIFB5T2JqZWN0ICpwd3J0OwogCkBAIC0xNzI0LDEzICsxNzcyLDEwIEBACiB9CiAKIHN0YXRpYyBzdHJ1Y3QgUHlNZXRob2REZWYgbWJzdHJlYW13cml0ZXJfbWV0aG9kc1tdID0gewotICAgIHsid3JpdGUiLCAgICAgICAgICAgKFB5Q0Z1bmN0aW9uKW1ic3RyZWFtd3JpdGVyX3dyaXRlLAotICAgICAgICAgICAgICAgICAgICBNRVRIX08sIE5VTEx9LAotICAgIHsid3JpdGVsaW5lcyIsICAgICAgKFB5Q0Z1bmN0aW9uKW1ic3RyZWFtd3JpdGVyX3dyaXRlbGluZXMsCi0gICAgICAgICAgICAgICAgICAgIE1FVEhfTywgTlVMTH0sCi0gICAgeyJyZXNldCIsICAgICAgICAgICAoUHlDRnVuY3Rpb24pbWJzdHJlYW13cml0ZXJfcmVzZXQsCi0gICAgICAgICAgICAgICAgICAgIE1FVEhfTk9BUkdTLCBOVUxMfSwKLSAgICB7TlVMTCwgICAgICAgICAgICAgIE5VTEx9LAorICAgIF9NVUxUSUJZVEVDT0RFQ19NVUxUSUJZVEVTVFJFQU1XUklURVJfV1JJVEVfTUVUSE9EREVGCisgICAgX01VTFRJQllURUNPREVDX01VTFRJQllURVNUUkVBTVdSSVRFUl9XUklURUxJTkVTX01FVEhPRERFRgorICAgIF9NVUxUSUJZVEVDT0RFQ19NVUxUSUJZVEVTVFJFQU1XUklURVJfUkVTRVRfTUVUSE9EREVGCisgICAge05VTEwsIE5VTEx9LAogfTsKIAogc3RhdGljIFB5TWVtYmVyRGVmIG1ic3RyZWFtd3JpdGVyX21lbWJlcnNbXSA9IHsKQEAgLTE3ODQsMTIgKzE4MjksMTYgQEAKIH07CiAKIAotLyoqCi0gKiBFeHBvc2VkIGZhY3RvcnkgZnVuY3Rpb24KLSAqLworLypbY2xpbmljIGlucHV0XQorX211bHRpYnl0ZWNvZGVjLl9fY3JlYXRlX2NvZGVjCisKKyAgICBhcmc6IG9iamVjdAorICAgIC8KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KIAogc3RhdGljIFB5T2JqZWN0ICoKLV9fY3JlYXRlX2NvZGVjKFB5T2JqZWN0ICppZ25vcmUsIFB5T2JqZWN0ICphcmcpCitfbXVsdGlieXRlY29kZWNfX19jcmVhdGVfY29kZWMoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZykKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1mYmU3NGY2NTEwNjQwMTYzIGlucHV0PTY4NDBiMmE2YjE4M2ZjZmFdKi8KIHsKICAgICBNdWx0aWJ5dGVDb2RlY09iamVjdCAqc2VsZjsKICAgICBNdWx0aWJ5dGVDb2RlYyAqY29kZWM7CkBAIC0xODEyLDcgKzE4NjEsNyBAQAogfQogCiBzdGF0aWMgc3RydWN0IFB5TWV0aG9kRGVmIF9fbWV0aG9kc1tdID0gewotICAgIHsiX19jcmVhdGVfY29kZWMiLCAoUHlDRnVuY3Rpb24pX19jcmVhdGVfY29kZWMsIE1FVEhfT30sCisgICAgX01VTFRJQllURUNPREVDX19fQ1JFQVRFX0NPREVDX01FVEhPRERFRgogICAgIHtOVUxMLCBOVUxMfSwKIH07CiAKZGlmZiAtLWdpdCBhL01vZHVsZXMvY2xpbmljL19iejJtb2R1bGUuYy5oIGIvTW9kdWxlcy9jbGluaWMvX2J6Mm1vZHVsZS5jLmgKaW5kZXggOGEyMDFhMC4uNTIwMTQzMiAxMDA2NDQKLS0tIGEvTW9kdWxlcy9jbGluaWMvX2J6Mm1vZHVsZS5jLmgKKysrIGIvTW9kdWxlcy9jbGluaWMvX2J6Mm1vZHVsZS5jLmgKQEAgLTk1LDM0ICs5NSw0MyBAQAogfQogCiBQeURvY19TVFJWQVIoX2J6Ml9CWjJEZWNvbXByZXNzb3JfZGVjb21wcmVzc19fZG9jX18sCi0iZGVjb21wcmVzcygkc2VsZiwgZGF0YSwgLylcbiIKKyJkZWNvbXByZXNzKCRzZWxmLCAvLCBkYXRhLCBtYXhfbGVuZ3RoPS0xKVxuIgogIi0tXG4iCiAiXG4iCi0iUHJvdmlkZSBkYXRhIHRvIHRoZSBkZWNvbXByZXNzb3Igb2JqZWN0LlxuIgorIkRlY29tcHJlc3MgKmRhdGEqLCByZXR1cm5pbmcgdW5jb21wcmVzc2VkIGRhdGEgYXMgYnl0ZXMuXG4iCiAiXG4iCi0iUmV0dXJucyBhIGNodW5rIG9mIGRlY29tcHJlc3NlZCBkYXRhIGlmIHBvc3NpYmxlLCBvciBiXCdcJyBvdGhlcndpc2UuXG4iCisiSWYgKm1heF9sZW5ndGgqIGlzIG5vbm5lZ2F0aXZlLCByZXR1cm5zIGF0IG1vc3QgKm1heF9sZW5ndGgqIGJ5dGVzIG9mXG4iCisiZGVjb21wcmVzc2VkIGRhdGEuIElmIHRoaXMgbGltaXQgaXMgcmVhY2hlZCBhbmQgZnVydGhlciBvdXRwdXQgY2FuIGJlXG4iCisicHJvZHVjZWQsICpzZWxmLm5lZWRzX2lucHV0KiB3aWxsIGJlIHNldCB0byBgYEZhbHNlYGAuIEluIHRoaXMgY2FzZSwgdGhlIG5leHRcbiIKKyJjYWxsIHRvICpkZWNvbXByZXNzKCkqIG1heSBwcm92aWRlICpkYXRhKiBhcyBiXCdcJyB0byBvYnRhaW4gbW9yZSBvZiB0aGUgb3V0cHV0LlxuIgogIlxuIgotIkF0dGVtcHRpbmcgdG8gZGVjb21wcmVzcyBkYXRhIGFmdGVyIHRoZSBlbmQgb2Ygc3RyZWFtIGlzIHJlYWNoZWRcbiIKLSJyYWlzZXMgYW4gRU9GRXJyb3IuICBBbnkgZGF0YSBmb3VuZCBhZnRlciB0aGUgZW5kIG9mIHRoZSBzdHJlYW1cbiIKLSJpcyBpZ25vcmVkIGFuZCBzYXZlZCBpbiB0aGUgdW51c2VkX2RhdGEgYXR0cmlidXRlLiIpOworIklmIGFsbCBvZiB0aGUgaW5wdXQgZGF0YSB3YXMgZGVjb21wcmVzc2VkIGFuZCByZXR1cm5lZCAoZWl0aGVyIGJlY2F1c2UgdGhpc1xuIgorIndhcyBsZXNzIHRoYW4gKm1heF9sZW5ndGgqIGJ5dGVzLCBvciBiZWNhdXNlICptYXhfbGVuZ3RoKiB3YXMgbmVnYXRpdmUpLFxuIgorIipzZWxmLm5lZWRzX2lucHV0KiB3aWxsIGJlIHNldCB0byBUcnVlLlxuIgorIlxuIgorIkF0dGVtcHRpbmcgdG8gZGVjb21wcmVzcyBkYXRhIGFmdGVyIHRoZSBlbmQgb2Ygc3RyZWFtIGlzIHJlYWNoZWQgcmFpc2VzIGFuXG4iCisiRU9GRXJyb3IuICBBbnkgZGF0YSBmb3VuZCBhZnRlciB0aGUgZW5kIG9mIHRoZSBzdHJlYW0gaXMgaWdub3JlZCBhbmQgc2F2ZWQgaW5cbiIKKyJ0aGUgdW51c2VkX2RhdGEgYXR0cmlidXRlLiIpOwogCiAjZGVmaW5lIF9CWjJfQloyREVDT01QUkVTU09SX0RFQ09NUFJFU1NfTUVUSE9EREVGICAgIFwKLSAgICB7ImRlY29tcHJlc3MiLCAoUHlDRnVuY3Rpb24pX2J6Ml9CWjJEZWNvbXByZXNzb3JfZGVjb21wcmVzcywgTUVUSF9WQVJBUkdTLCBfYnoyX0JaMkRlY29tcHJlc3Nvcl9kZWNvbXByZXNzX19kb2NfX30sCisgICAgeyJkZWNvbXByZXNzIiwgKFB5Q0Z1bmN0aW9uKV9iejJfQloyRGVjb21wcmVzc29yX2RlY29tcHJlc3MsIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBfYnoyX0JaMkRlY29tcHJlc3Nvcl9kZWNvbXByZXNzX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1fYnoyX0JaMkRlY29tcHJlc3Nvcl9kZWNvbXByZXNzX2ltcGwoQloyRGVjb21wcmVzc29yICpzZWxmLCBQeV9idWZmZXIgKmRhdGEpOworX2J6Ml9CWjJEZWNvbXByZXNzb3JfZGVjb21wcmVzc19pbXBsKEJaMkRlY29tcHJlc3NvciAqc2VsZiwgUHlfYnVmZmVyICpkYXRhLCBQeV9zc2l6ZV90IG1heF9sZW5ndGgpOwogCiBzdGF0aWMgUHlPYmplY3QgKgotX2J6Ml9CWjJEZWNvbXByZXNzb3JfZGVjb21wcmVzcyhCWjJEZWNvbXByZXNzb3IgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorX2J6Ml9CWjJEZWNvbXByZXNzb3JfZGVjb21wcmVzcyhCWjJEZWNvbXByZXNzb3IgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQogewogICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIHN0YXRpYyBjaGFyICpfa2V5d29yZHNbXSA9IHsiZGF0YSIsICJtYXhfbGVuZ3RoIiwgTlVMTH07CiAgICAgUHlfYnVmZmVyIGRhdGEgPSB7TlVMTCwgTlVMTH07CisgICAgUHlfc3NpemVfdCBtYXhfbGVuZ3RoID0gLTE7CiAKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKLSAgICAgICAgInkqOmRlY29tcHJlc3MiLAotICAgICAgICAmZGF0YSkpCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLAorICAgICAgICAieSp8bjpkZWNvbXByZXNzIiwgX2tleXdvcmRzLAorICAgICAgICAmZGF0YSwgJm1heF9sZW5ndGgpKQogICAgICAgICBnb3RvIGV4aXQ7Ci0gICAgcmV0dXJuX3ZhbHVlID0gX2J6Ml9CWjJEZWNvbXByZXNzb3JfZGVjb21wcmVzc19pbXBsKHNlbGYsICZkYXRhKTsKKyAgICByZXR1cm5fdmFsdWUgPSBfYnoyX0JaMkRlY29tcHJlc3Nvcl9kZWNvbXByZXNzX2ltcGwoc2VsZiwgJmRhdGEsIG1heF9sZW5ndGgpOwogCiBleGl0OgogICAgIC8qIENsZWFudXAgZm9yIGRhdGEgKi8KQEAgLTE1OSw0ICsxNjgsNCBAQAogZXhpdDoKICAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOwogfQotLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTIxY2E0NDA1NTE5YTA5MzEgaW5wdXQ9YTkwNDkwNTQwMTNhMWI3N10qLworLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PThlNjVlMzk1MzQzMGJjM2QgaW5wdXQ9YTkwNDkwNTQwMTNhMWI3N10qLwpkaWZmIC0tZ2l0IGEvTW9kdWxlcy9jbGluaWMvX2x6bWFtb2R1bGUuYy5oIGIvTW9kdWxlcy9jbGluaWMvX2x6bWFtb2R1bGUuYy5oCmluZGV4IGMxYWQ4ODIuLjYzNjQyNzEgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvY2xpbmljL19sem1hbW9kdWxlLmMuaAorKysgYi9Nb2R1bGVzL2NsaW5pYy9fbHptYW1vZHVsZS5jLmgKQEAgLTYyLDM0ICs2Miw0MyBAQAogfQogCiBQeURvY19TVFJWQVIoX2x6bWFfTFpNQURlY29tcHJlc3Nvcl9kZWNvbXByZXNzX19kb2NfXywKLSJkZWNvbXByZXNzKCRzZWxmLCBkYXRhLCAvKVxuIgorImRlY29tcHJlc3MoJHNlbGYsIC8sIGRhdGEsIG1heF9sZW5ndGg9LTEpXG4iCiAiLS1cbiIKICJcbiIKLSJQcm92aWRlIGRhdGEgdG8gdGhlIGRlY29tcHJlc3NvciBvYmplY3QuXG4iCisiRGVjb21wcmVzcyAqZGF0YSosIHJldHVybmluZyB1bmNvbXByZXNzZWQgZGF0YSBhcyBieXRlcy5cbiIKICJcbiIKLSJSZXR1cm5zIGEgY2h1bmsgb2YgZGVjb21wcmVzc2VkIGRhdGEgaWYgcG9zc2libGUsIG9yIGJcJ1wnIG90aGVyd2lzZS5cbiIKKyJJZiAqbWF4X2xlbmd0aCogaXMgbm9ubmVnYXRpdmUsIHJldHVybnMgYXQgbW9zdCAqbWF4X2xlbmd0aCogYnl0ZXMgb2ZcbiIKKyJkZWNvbXByZXNzZWQgZGF0YS4gSWYgdGhpcyBsaW1pdCBpcyByZWFjaGVkIGFuZCBmdXJ0aGVyIG91dHB1dCBjYW4gYmVcbiIKKyJwcm9kdWNlZCwgKnNlbGYubmVlZHNfaW5wdXQqIHdpbGwgYmUgc2V0IHRvIGBgRmFsc2VgYC4gSW4gdGhpcyBjYXNlLCB0aGUgbmV4dFxuIgorImNhbGwgdG8gKmRlY29tcHJlc3MoKSogbWF5IHByb3ZpZGUgKmRhdGEqIGFzIGJcJ1wnIHRvIG9idGFpbiBtb3JlIG9mIHRoZSBvdXRwdXQuXG4iCiAiXG4iCi0iQXR0ZW1wdGluZyB0byBkZWNvbXByZXNzIGRhdGEgYWZ0ZXIgdGhlIGVuZCBvZiBzdHJlYW0gaXMgcmVhY2hlZFxuIgotInJhaXNlcyBhbiBFT0ZFcnJvci4gIEFueSBkYXRhIGZvdW5kIGFmdGVyIHRoZSBlbmQgb2YgdGhlIHN0cmVhbVxuIgotImlzIGlnbm9yZWQgYW5kIHNhdmVkIGluIHRoZSB1bnVzZWRfZGF0YSBhdHRyaWJ1dGUuIik7CisiSWYgYWxsIG9mIHRoZSBpbnB1dCBkYXRhIHdhcyBkZWNvbXByZXNzZWQgYW5kIHJldHVybmVkIChlaXRoZXIgYmVjYXVzZSB0aGlzXG4iCisid2FzIGxlc3MgdGhhbiAqbWF4X2xlbmd0aCogYnl0ZXMsIG9yIGJlY2F1c2UgKm1heF9sZW5ndGgqIHdhcyBuZWdhdGl2ZSksXG4iCisiKnNlbGYubmVlZHNfaW5wdXQqIHdpbGwgYmUgc2V0IHRvIFRydWUuXG4iCisiXG4iCisiQXR0ZW1wdGluZyB0byBkZWNvbXByZXNzIGRhdGEgYWZ0ZXIgdGhlIGVuZCBvZiBzdHJlYW0gaXMgcmVhY2hlZCByYWlzZXMgYW5cbiIKKyJFT0ZFcnJvci4gIEFueSBkYXRhIGZvdW5kIGFmdGVyIHRoZSBlbmQgb2YgdGhlIHN0cmVhbSBpcyBpZ25vcmVkIGFuZCBzYXZlZCBpblxuIgorInRoZSB1bnVzZWRfZGF0YSBhdHRyaWJ1dGUuIik7CiAKICNkZWZpbmUgX0xaTUFfTFpNQURFQ09NUFJFU1NPUl9ERUNPTVBSRVNTX01FVEhPRERFRiAgICBcCi0gICAgeyJkZWNvbXByZXNzIiwgKFB5Q0Z1bmN0aW9uKV9sem1hX0xaTUFEZWNvbXByZXNzb3JfZGVjb21wcmVzcywgTUVUSF9WQVJBUkdTLCBfbHptYV9MWk1BRGVjb21wcmVzc29yX2RlY29tcHJlc3NfX2RvY19ffSwKKyAgICB7ImRlY29tcHJlc3MiLCAoUHlDRnVuY3Rpb24pX2x6bWFfTFpNQURlY29tcHJlc3Nvcl9kZWNvbXByZXNzLCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgX2x6bWFfTFpNQURlY29tcHJlc3Nvcl9kZWNvbXByZXNzX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1fbHptYV9MWk1BRGVjb21wcmVzc29yX2RlY29tcHJlc3NfaW1wbChEZWNvbXByZXNzb3IgKnNlbGYsIFB5X2J1ZmZlciAqZGF0YSk7CitfbHptYV9MWk1BRGVjb21wcmVzc29yX2RlY29tcHJlc3NfaW1wbChEZWNvbXByZXNzb3IgKnNlbGYsIFB5X2J1ZmZlciAqZGF0YSwgUHlfc3NpemVfdCBtYXhfbGVuZ3RoKTsKIAogc3RhdGljIFB5T2JqZWN0ICoKLV9sem1hX0xaTUFEZWNvbXByZXNzb3JfZGVjb21wcmVzcyhEZWNvbXByZXNzb3IgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorX2x6bWFfTFpNQURlY29tcHJlc3Nvcl9kZWNvbXByZXNzKERlY29tcHJlc3NvciAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCiB7CiAgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgc3RhdGljIGNoYXIgKl9rZXl3b3Jkc1tdID0geyJkYXRhIiwgIm1heF9sZW5ndGgiLCBOVUxMfTsKICAgICBQeV9idWZmZXIgZGF0YSA9IHtOVUxMLCBOVUxMfTsKKyAgICBQeV9zc2l6ZV90IG1heF9sZW5ndGggPSAtMTsKIAotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAotICAgICAgICAieSo6ZGVjb21wcmVzcyIsCi0gICAgICAgICZkYXRhKSkKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsCisgICAgICAgICJ5KnxuOmRlY29tcHJlc3MiLCBfa2V5d29yZHMsCisgICAgICAgICZkYXRhLCAmbWF4X2xlbmd0aCkpCiAgICAgICAgIGdvdG8gZXhpdDsKLSAgICByZXR1cm5fdmFsdWUgPSBfbHptYV9MWk1BRGVjb21wcmVzc29yX2RlY29tcHJlc3NfaW1wbChzZWxmLCAmZGF0YSk7CisgICAgcmV0dXJuX3ZhbHVlID0gX2x6bWFfTFpNQURlY29tcHJlc3Nvcl9kZWNvbXByZXNzX2ltcGwoc2VsZiwgJmRhdGEsIG1heF9sZW5ndGgpOwogCiBleGl0OgogICAgIC8qIENsZWFudXAgZm9yIGRhdGEgKi8KQEAgLTI0Miw0ICsyNTEsNCBAQAogCiAgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKIH0KLS8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD04MDhmZWM4MjE2YWM3MTJiIGlucHV0PWE5MDQ5MDU0MDEzYTFiNzddKi8KKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1kYzQyYjczODkwNjA5MzY5IGlucHV0PWE5MDQ5MDU0MDEzYTFiNzddKi8KZGlmZiAtLWdpdCBhL01vZHVsZXMvY2xpbmljL2FycmF5bW9kdWxlLmMuaCBiL01vZHVsZXMvY2xpbmljL2FycmF5bW9kdWxlLmMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41N2Q3NjkwCi0tLSAvZGV2L251bGwKKysrIGIvTW9kdWxlcy9jbGluaWMvYXJyYXltb2R1bGUuYy5oCkBAIC0wLDAgKzEsNTA1IEBACisvKltjbGluaWMgaW5wdXRdCitwcmVzZXJ2ZQorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIoYXJyYXlfYXJyYXlfX19jb3B5X19fX2RvY19fLAorIl9fY29weV9fKCRzZWxmLCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIGEgY29weSBvZiB0aGUgYXJyYXkuIik7CisKKyNkZWZpbmUgQVJSQVlfQVJSQVlfX19DT1BZX19fTUVUSE9EREVGICAgIFwKKyAgICB7Il9fY29weV9fIiwgKFB5Q0Z1bmN0aW9uKWFycmF5X2FycmF5X19fY29weV9fLCBNRVRIX05PQVJHUywgYXJyYXlfYXJyYXlfX19jb3B5X19fX2RvY19ffSwKKworc3RhdGljIFB5T2JqZWN0ICoKK2FycmF5X2FycmF5X19fY29weV9fX2ltcGwoYXJyYXlvYmplY3QgKnNlbGYpOworCitzdGF0aWMgUHlPYmplY3QgKgorYXJyYXlfYXJyYXlfX19jb3B5X18oYXJyYXlvYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpQeV9VTlVTRUQoaWdub3JlZCkpCit7CisgICAgcmV0dXJuIGFycmF5X2FycmF5X19fY29weV9fX2ltcGwoc2VsZik7Cit9CisKK1B5RG9jX1NUUlZBUihhcnJheV9hcnJheV9fX2RlZXBjb3B5X19fX2RvY19fLAorIl9fZGVlcGNvcHlfXygkc2VsZiwgdW51c2VkLCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIGEgY29weSBvZiB0aGUgYXJyYXkuIik7CisKKyNkZWZpbmUgQVJSQVlfQVJSQVlfX19ERUVQQ09QWV9fX01FVEhPRERFRiAgICBcCisgICAgeyJfX2RlZXBjb3B5X18iLCAoUHlDRnVuY3Rpb24pYXJyYXlfYXJyYXlfX19kZWVwY29weV9fLCBNRVRIX08sIGFycmF5X2FycmF5X19fZGVlcGNvcHlfX19fZG9jX199LAorCitQeURvY19TVFJWQVIoYXJyYXlfYXJyYXlfY291bnRfX2RvY19fLAorImNvdW50KCRzZWxmLCB2LCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIG51bWJlciBvZiBvY2N1cnJlbmNlcyBvZiB2IGluIHRoZSBhcnJheS4iKTsKKworI2RlZmluZSBBUlJBWV9BUlJBWV9DT1VOVF9NRVRIT0RERUYgICAgXAorICAgIHsiY291bnQiLCAoUHlDRnVuY3Rpb24pYXJyYXlfYXJyYXlfY291bnQsIE1FVEhfTywgYXJyYXlfYXJyYXlfY291bnRfX2RvY19ffSwKKworUHlEb2NfU1RSVkFSKGFycmF5X2FycmF5X2luZGV4X19kb2NfXywKKyJpbmRleCgkc2VsZiwgdiwgLylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiBpbmRleCBvZiBmaXJzdCBvY2N1cnJlbmNlIG9mIHYgaW4gdGhlIGFycmF5LiIpOworCisjZGVmaW5lIEFSUkFZX0FSUkFZX0lOREVYX01FVEhPRERFRiAgICBcCisgICAgeyJpbmRleCIsIChQeUNGdW5jdGlvbilhcnJheV9hcnJheV9pbmRleCwgTUVUSF9PLCBhcnJheV9hcnJheV9pbmRleF9fZG9jX199LAorCitQeURvY19TVFJWQVIoYXJyYXlfYXJyYXlfcmVtb3ZlX19kb2NfXywKKyJyZW1vdmUoJHNlbGYsIHYsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZW1vdmUgdGhlIGZpcnN0IG9jY3VycmVuY2Ugb2YgdiBpbiB0aGUgYXJyYXkuIik7CisKKyNkZWZpbmUgQVJSQVlfQVJSQVlfUkVNT1ZFX01FVEhPRERFRiAgICBcCisgICAgeyJyZW1vdmUiLCAoUHlDRnVuY3Rpb24pYXJyYXlfYXJyYXlfcmVtb3ZlLCBNRVRIX08sIGFycmF5X2FycmF5X3JlbW92ZV9fZG9jX199LAorCitQeURvY19TVFJWQVIoYXJyYXlfYXJyYXlfcG9wX19kb2NfXywKKyJwb3AoJHNlbGYsIGk9LTEsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gdGhlIGktdGggZWxlbWVudCBhbmQgZGVsZXRlIGl0IGZyb20gdGhlIGFycmF5LlxuIgorIlxuIgorImkgZGVmYXVsdHMgdG8gLTEuIik7CisKKyNkZWZpbmUgQVJSQVlfQVJSQVlfUE9QX01FVEhPRERFRiAgICBcCisgICAgeyJwb3AiLCAoUHlDRnVuY3Rpb24pYXJyYXlfYXJyYXlfcG9wLCBNRVRIX1ZBUkFSR1MsIGFycmF5X2FycmF5X3BvcF9fZG9jX199LAorCitzdGF0aWMgUHlPYmplY3QgKgorYXJyYXlfYXJyYXlfcG9wX2ltcGwoYXJyYXlvYmplY3QgKnNlbGYsIFB5X3NzaXplX3QgaSk7CisKK3N0YXRpYyBQeU9iamVjdCAqCithcnJheV9hcnJheV9wb3AoYXJyYXlvYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQoreworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIFB5X3NzaXplX3QgaSA9IC0xOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICJ8bjpwb3AiLAorICAgICAgICAmaSkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBhcnJheV9hcnJheV9wb3BfaW1wbChzZWxmLCBpKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitQeURvY19TVFJWQVIoYXJyYXlfYXJyYXlfZXh0ZW5kX19kb2NfXywKKyJleHRlbmQoJHNlbGYsIGJiLCAvKVxuIgorIi0tXG4iCisiXG4iCisiQXBwZW5kIGl0ZW1zIHRvIHRoZSBlbmQgb2YgdGhlIGFycmF5LiIpOworCisjZGVmaW5lIEFSUkFZX0FSUkFZX0VYVEVORF9NRVRIT0RERUYgICAgXAorICAgIHsiZXh0ZW5kIiwgKFB5Q0Z1bmN0aW9uKWFycmF5X2FycmF5X2V4dGVuZCwgTUVUSF9PLCBhcnJheV9hcnJheV9leHRlbmRfX2RvY19ffSwKKworUHlEb2NfU1RSVkFSKGFycmF5X2FycmF5X2luc2VydF9fZG9jX18sCisiaW5zZXJ0KCRzZWxmLCBpLCB2LCAvKVxuIgorIi0tXG4iCisiXG4iCisiSW5zZXJ0IGEgbmV3IGl0ZW0gdiBpbnRvIHRoZSBhcnJheSBiZWZvcmUgcG9zaXRpb24gaS4iKTsKKworI2RlZmluZSBBUlJBWV9BUlJBWV9JTlNFUlRfTUVUSE9EREVGICAgIFwKKyAgICB7Imluc2VydCIsIChQeUNGdW5jdGlvbilhcnJheV9hcnJheV9pbnNlcnQsIE1FVEhfVkFSQVJHUywgYXJyYXlfYXJyYXlfaW5zZXJ0X19kb2NfX30sCisKK3N0YXRpYyBQeU9iamVjdCAqCithcnJheV9hcnJheV9pbnNlcnRfaW1wbChhcnJheW9iamVjdCAqc2VsZiwgUHlfc3NpemVfdCBpLCBQeU9iamVjdCAqdik7CisKK3N0YXRpYyBQeU9iamVjdCAqCithcnJheV9hcnJheV9pbnNlcnQoYXJyYXlvYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQoreworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIFB5X3NzaXplX3QgaTsKKyAgICBQeU9iamVjdCAqdjsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAibk86aW5zZXJ0IiwKKyAgICAgICAgJmksICZ2KSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IGFycmF5X2FycmF5X2luc2VydF9pbXBsKHNlbGYsIGksIHYpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK1B5RG9jX1NUUlZBUihhcnJheV9hcnJheV9idWZmZXJfaW5mb19fZG9jX18sCisiYnVmZmVyX2luZm8oJHNlbGYsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gYSB0dXBsZSAoYWRkcmVzcywgbGVuZ3RoKSBnaXZpbmcgdGhlIGN1cnJlbnQgbWVtb3J5IGFkZHJlc3MgYW5kIHRoZSBsZW5ndGggaW4gaXRlbXMgb2YgdGhlIGJ1ZmZlciB1c2VkIHRvIGhvbGQgYXJyYXlcJ3MgY29udGVudHMuXG4iCisiXG4iCisiVGhlIGxlbmd0aCBzaG91bGQgYmUgbXVsdGlwbGllZCBieSB0aGUgaXRlbXNpemUgYXR0cmlidXRlIHRvIGNhbGN1bGF0ZVxuIgorInRoZSBidWZmZXIgbGVuZ3RoIGluIGJ5dGVzLiIpOworCisjZGVmaW5lIEFSUkFZX0FSUkFZX0JVRkZFUl9JTkZPX01FVEhPRERFRiAgICBcCisgICAgeyJidWZmZXJfaW5mbyIsIChQeUNGdW5jdGlvbilhcnJheV9hcnJheV9idWZmZXJfaW5mbywgTUVUSF9OT0FSR1MsIGFycmF5X2FycmF5X2J1ZmZlcl9pbmZvX19kb2NfX30sCisKK3N0YXRpYyBQeU9iamVjdCAqCithcnJheV9hcnJheV9idWZmZXJfaW5mb19pbXBsKGFycmF5b2JqZWN0ICpzZWxmKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK2FycmF5X2FycmF5X2J1ZmZlcl9pbmZvKGFycmF5b2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqUHlfVU5VU0VEKGlnbm9yZWQpKQoreworICAgIHJldHVybiBhcnJheV9hcnJheV9idWZmZXJfaW5mb19pbXBsKHNlbGYpOworfQorCitQeURvY19TVFJWQVIoYXJyYXlfYXJyYXlfYXBwZW5kX19kb2NfXywKKyJhcHBlbmQoJHNlbGYsIHYsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJBcHBlbmQgbmV3IHZhbHVlIHYgdG8gdGhlIGVuZCBvZiB0aGUgYXJyYXkuIik7CisKKyNkZWZpbmUgQVJSQVlfQVJSQVlfQVBQRU5EX01FVEhPRERFRiAgICBcCisgICAgeyJhcHBlbmQiLCAoUHlDRnVuY3Rpb24pYXJyYXlfYXJyYXlfYXBwZW5kLCBNRVRIX08sIGFycmF5X2FycmF5X2FwcGVuZF9fZG9jX199LAorCitQeURvY19TVFJWQVIoYXJyYXlfYXJyYXlfYnl0ZXN3YXBfX2RvY19fLAorImJ5dGVzd2FwKCRzZWxmLCAvKVxuIgorIi0tXG4iCisiXG4iCisiQnl0ZXN3YXAgYWxsIGl0ZW1zIG9mIHRoZSBhcnJheS5cbiIKKyJcbiIKKyJJZiB0aGUgaXRlbXMgaW4gdGhlIGFycmF5IGFyZSBub3QgMSwgMiwgNCwgb3IgOCBieXRlcyBpbiBzaXplLCBSdW50aW1lRXJyb3IgaXNcbiIKKyJyYWlzZWQuIik7CisKKyNkZWZpbmUgQVJSQVlfQVJSQVlfQllURVNXQVBfTUVUSE9EREVGICAgIFwKKyAgICB7ImJ5dGVzd2FwIiwgKFB5Q0Z1bmN0aW9uKWFycmF5X2FycmF5X2J5dGVzd2FwLCBNRVRIX05PQVJHUywgYXJyYXlfYXJyYXlfYnl0ZXN3YXBfX2RvY19ffSwKKworc3RhdGljIFB5T2JqZWN0ICoKK2FycmF5X2FycmF5X2J5dGVzd2FwX2ltcGwoYXJyYXlvYmplY3QgKnNlbGYpOworCitzdGF0aWMgUHlPYmplY3QgKgorYXJyYXlfYXJyYXlfYnl0ZXN3YXAoYXJyYXlvYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpQeV9VTlVTRUQoaWdub3JlZCkpCit7CisgICAgcmV0dXJuIGFycmF5X2FycmF5X2J5dGVzd2FwX2ltcGwoc2VsZik7Cit9CisKK1B5RG9jX1NUUlZBUihhcnJheV9hcnJheV9yZXZlcnNlX19kb2NfXywKKyJyZXZlcnNlKCRzZWxmLCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmV2ZXJzZSB0aGUgb3JkZXIgb2YgdGhlIGl0ZW1zIGluIHRoZSBhcnJheS4iKTsKKworI2RlZmluZSBBUlJBWV9BUlJBWV9SRVZFUlNFX01FVEhPRERFRiAgICBcCisgICAgeyJyZXZlcnNlIiwgKFB5Q0Z1bmN0aW9uKWFycmF5X2FycmF5X3JldmVyc2UsIE1FVEhfTk9BUkdTLCBhcnJheV9hcnJheV9yZXZlcnNlX19kb2NfX30sCisKK3N0YXRpYyBQeU9iamVjdCAqCithcnJheV9hcnJheV9yZXZlcnNlX2ltcGwoYXJyYXlvYmplY3QgKnNlbGYpOworCitzdGF0aWMgUHlPYmplY3QgKgorYXJyYXlfYXJyYXlfcmV2ZXJzZShhcnJheW9iamVjdCAqc2VsZiwgUHlPYmplY3QgKlB5X1VOVVNFRChpZ25vcmVkKSkKK3sKKyAgICByZXR1cm4gYXJyYXlfYXJyYXlfcmV2ZXJzZV9pbXBsKHNlbGYpOworfQorCitQeURvY19TVFJWQVIoYXJyYXlfYXJyYXlfZnJvbWZpbGVfX2RvY19fLAorImZyb21maWxlKCRzZWxmLCBmLCBuLCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmVhZCBuIG9iamVjdHMgZnJvbSB0aGUgZmlsZSBvYmplY3QgZiBhbmQgYXBwZW5kIHRoZW0gdG8gdGhlIGVuZCBvZiB0aGUgYXJyYXkuIik7CisKKyNkZWZpbmUgQVJSQVlfQVJSQVlfRlJPTUZJTEVfTUVUSE9EREVGICAgIFwKKyAgICB7ImZyb21maWxlIiwgKFB5Q0Z1bmN0aW9uKWFycmF5X2FycmF5X2Zyb21maWxlLCBNRVRIX1ZBUkFSR1MsIGFycmF5X2FycmF5X2Zyb21maWxlX19kb2NfX30sCisKK3N0YXRpYyBQeU9iamVjdCAqCithcnJheV9hcnJheV9mcm9tZmlsZV9pbXBsKGFycmF5b2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqZiwgUHlfc3NpemVfdCBuKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK2FycmF5X2FycmF5X2Zyb21maWxlKGFycmF5b2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBQeU9iamVjdCAqZjsKKyAgICBQeV9zc2l6ZV90IG47CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgIk9uOmZyb21maWxlIiwKKyAgICAgICAgJmYsICZuKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IGFycmF5X2FycmF5X2Zyb21maWxlX2ltcGwoc2VsZiwgZiwgbik7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworUHlEb2NfU1RSVkFSKGFycmF5X2FycmF5X3RvZmlsZV9fZG9jX18sCisidG9maWxlKCRzZWxmLCBmLCAvKVxuIgorIi0tXG4iCisiXG4iCisiV3JpdGUgYWxsIGl0ZW1zIChhcyBtYWNoaW5lIHZhbHVlcykgdG8gdGhlIGZpbGUgb2JqZWN0IGYuIik7CisKKyNkZWZpbmUgQVJSQVlfQVJSQVlfVE9GSUxFX01FVEhPRERFRiAgICBcCisgICAgeyJ0b2ZpbGUiLCAoUHlDRnVuY3Rpb24pYXJyYXlfYXJyYXlfdG9maWxlLCBNRVRIX08sIGFycmF5X2FycmF5X3RvZmlsZV9fZG9jX199LAorCitQeURvY19TVFJWQVIoYXJyYXlfYXJyYXlfZnJvbWxpc3RfX2RvY19fLAorImZyb21saXN0KCRzZWxmLCBsaXN0LCAvKVxuIgorIi0tXG4iCisiXG4iCisiQXBwZW5kIGl0ZW1zIHRvIGFycmF5IGZyb20gbGlzdC4iKTsKKworI2RlZmluZSBBUlJBWV9BUlJBWV9GUk9NTElTVF9NRVRIT0RERUYgICAgXAorICAgIHsiZnJvbWxpc3QiLCAoUHlDRnVuY3Rpb24pYXJyYXlfYXJyYXlfZnJvbWxpc3QsIE1FVEhfTywgYXJyYXlfYXJyYXlfZnJvbWxpc3RfX2RvY19ffSwKKworUHlEb2NfU1RSVkFSKGFycmF5X2FycmF5X3RvbGlzdF9fZG9jX18sCisidG9saXN0KCRzZWxmLCAvKVxuIgorIi0tXG4iCisiXG4iCisiQ29udmVydCBhcnJheSB0byBhbiBvcmRpbmFyeSBsaXN0IHdpdGggdGhlIHNhbWUgaXRlbXMuIik7CisKKyNkZWZpbmUgQVJSQVlfQVJSQVlfVE9MSVNUX01FVEhPRERFRiAgICBcCisgICAgeyJ0b2xpc3QiLCAoUHlDRnVuY3Rpb24pYXJyYXlfYXJyYXlfdG9saXN0LCBNRVRIX05PQVJHUywgYXJyYXlfYXJyYXlfdG9saXN0X19kb2NfX30sCisKK3N0YXRpYyBQeU9iamVjdCAqCithcnJheV9hcnJheV90b2xpc3RfaW1wbChhcnJheW9iamVjdCAqc2VsZik7CisKK3N0YXRpYyBQeU9iamVjdCAqCithcnJheV9hcnJheV90b2xpc3QoYXJyYXlvYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpQeV9VTlVTRUQoaWdub3JlZCkpCit7CisgICAgcmV0dXJuIGFycmF5X2FycmF5X3RvbGlzdF9pbXBsKHNlbGYpOworfQorCitQeURvY19TVFJWQVIoYXJyYXlfYXJyYXlfZnJvbXN0cmluZ19fZG9jX18sCisiZnJvbXN0cmluZygkc2VsZiwgYnVmZmVyLCAvKVxuIgorIi0tXG4iCisiXG4iCisiQXBwZW5kcyBpdGVtcyBmcm9tIHRoZSBzdHJpbmcsIGludGVycHJldGluZyBpdCBhcyBhbiBhcnJheSBvZiBtYWNoaW5lIHZhbHVlcywgYXMgaWYgaXQgaGFkIGJlZW4gcmVhZCBmcm9tIGEgZmlsZSB1c2luZyB0aGUgZnJvbWZpbGUoKSBtZXRob2QpLlxuIgorIlxuIgorIlRoaXMgbWV0aG9kIGlzIGRlcHJlY2F0ZWQuIFVzZSBmcm9tYnl0ZXMgaW5zdGVhZC4iKTsKKworI2RlZmluZSBBUlJBWV9BUlJBWV9GUk9NU1RSSU5HX01FVEhPRERFRiAgICBcCisgICAgeyJmcm9tc3RyaW5nIiwgKFB5Q0Z1bmN0aW9uKWFycmF5X2FycmF5X2Zyb21zdHJpbmcsIE1FVEhfVkFSQVJHUywgYXJyYXlfYXJyYXlfZnJvbXN0cmluZ19fZG9jX199LAorCitzdGF0aWMgUHlPYmplY3QgKgorYXJyYXlfYXJyYXlfZnJvbXN0cmluZ19pbXBsKGFycmF5b2JqZWN0ICpzZWxmLCBQeV9idWZmZXIgKmJ1ZmZlcik7CisKK3N0YXRpYyBQeU9iamVjdCAqCithcnJheV9hcnJheV9mcm9tc3RyaW5nKGFycmF5b2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBQeV9idWZmZXIgYnVmZmVyID0ge05VTEwsIE5VTEx9OworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICJzKjpmcm9tc3RyaW5nIiwKKyAgICAgICAgJmJ1ZmZlcikpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBhcnJheV9hcnJheV9mcm9tc3RyaW5nX2ltcGwoc2VsZiwgJmJ1ZmZlcik7CisKK2V4aXQ6CisgICAgLyogQ2xlYW51cCBmb3IgYnVmZmVyICovCisgICAgaWYgKGJ1ZmZlci5vYmopCisgICAgICAgUHlCdWZmZXJfUmVsZWFzZSgmYnVmZmVyKTsKKworICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK1B5RG9jX1NUUlZBUihhcnJheV9hcnJheV9mcm9tYnl0ZXNfX2RvY19fLAorImZyb21ieXRlcygkc2VsZiwgYnVmZmVyLCAvKVxuIgorIi0tXG4iCisiXG4iCisiQXBwZW5kcyBpdGVtcyBmcm9tIHRoZSBzdHJpbmcsIGludGVycHJldGluZyBpdCBhcyBhbiBhcnJheSBvZiBtYWNoaW5lIHZhbHVlcywgYXMgaWYgaXQgaGFkIGJlZW4gcmVhZCBmcm9tIGEgZmlsZSB1c2luZyB0aGUgZnJvbWZpbGUoKSBtZXRob2QpLiIpOworCisjZGVmaW5lIEFSUkFZX0FSUkFZX0ZST01CWVRFU19NRVRIT0RERUYgICAgXAorICAgIHsiZnJvbWJ5dGVzIiwgKFB5Q0Z1bmN0aW9uKWFycmF5X2FycmF5X2Zyb21ieXRlcywgTUVUSF9WQVJBUkdTLCBhcnJheV9hcnJheV9mcm9tYnl0ZXNfX2RvY19ffSwKKworc3RhdGljIFB5T2JqZWN0ICoKK2FycmF5X2FycmF5X2Zyb21ieXRlc19pbXBsKGFycmF5b2JqZWN0ICpzZWxmLCBQeV9idWZmZXIgKmJ1ZmZlcik7CisKK3N0YXRpYyBQeU9iamVjdCAqCithcnJheV9hcnJheV9mcm9tYnl0ZXMoYXJyYXlvYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQoreworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIFB5X2J1ZmZlciBidWZmZXIgPSB7TlVMTCwgTlVMTH07CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgInkqOmZyb21ieXRlcyIsCisgICAgICAgICZidWZmZXIpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gYXJyYXlfYXJyYXlfZnJvbWJ5dGVzX2ltcGwoc2VsZiwgJmJ1ZmZlcik7CisKK2V4aXQ6CisgICAgLyogQ2xlYW51cCBmb3IgYnVmZmVyICovCisgICAgaWYgKGJ1ZmZlci5vYmopCisgICAgICAgUHlCdWZmZXJfUmVsZWFzZSgmYnVmZmVyKTsKKworICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK1B5RG9jX1NUUlZBUihhcnJheV9hcnJheV90b2J5dGVzX19kb2NfXywKKyJ0b2J5dGVzKCRzZWxmLCAvKVxuIgorIi0tXG4iCisiXG4iCisiQ29udmVydCB0aGUgYXJyYXkgdG8gYW4gYXJyYXkgb2YgbWFjaGluZSB2YWx1ZXMgYW5kIHJldHVybiB0aGUgYnl0ZXMgcmVwcmVzZW50YXRpb24uIik7CisKKyNkZWZpbmUgQVJSQVlfQVJSQVlfVE9CWVRFU19NRVRIT0RERUYgICAgXAorICAgIHsidG9ieXRlcyIsIChQeUNGdW5jdGlvbilhcnJheV9hcnJheV90b2J5dGVzLCBNRVRIX05PQVJHUywgYXJyYXlfYXJyYXlfdG9ieXRlc19fZG9jX199LAorCitzdGF0aWMgUHlPYmplY3QgKgorYXJyYXlfYXJyYXlfdG9ieXRlc19pbXBsKGFycmF5b2JqZWN0ICpzZWxmKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK2FycmF5X2FycmF5X3RvYnl0ZXMoYXJyYXlvYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpQeV9VTlVTRUQoaWdub3JlZCkpCit7CisgICAgcmV0dXJuIGFycmF5X2FycmF5X3RvYnl0ZXNfaW1wbChzZWxmKTsKK30KKworUHlEb2NfU1RSVkFSKGFycmF5X2FycmF5X3Rvc3RyaW5nX19kb2NfXywKKyJ0b3N0cmluZygkc2VsZiwgLylcbiIKKyItLVxuIgorIlxuIgorIkNvbnZlcnQgdGhlIGFycmF5IHRvIGFuIGFycmF5IG9mIG1hY2hpbmUgdmFsdWVzIGFuZCByZXR1cm4gdGhlIGJ5dGVzIHJlcHJlc2VudGF0aW9uLlxuIgorIlxuIgorIlRoaXMgbWV0aG9kIGlzIGRlcHJlY2F0ZWQuIFVzZSB0b2J5dGVzIGluc3RlYWQuIik7CisKKyNkZWZpbmUgQVJSQVlfQVJSQVlfVE9TVFJJTkdfTUVUSE9EREVGICAgIFwKKyAgICB7InRvc3RyaW5nIiwgKFB5Q0Z1bmN0aW9uKWFycmF5X2FycmF5X3Rvc3RyaW5nLCBNRVRIX05PQVJHUywgYXJyYXlfYXJyYXlfdG9zdHJpbmdfX2RvY19ffSwKKworc3RhdGljIFB5T2JqZWN0ICoKK2FycmF5X2FycmF5X3Rvc3RyaW5nX2ltcGwoYXJyYXlvYmplY3QgKnNlbGYpOworCitzdGF0aWMgUHlPYmplY3QgKgorYXJyYXlfYXJyYXlfdG9zdHJpbmcoYXJyYXlvYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpQeV9VTlVTRUQoaWdub3JlZCkpCit7CisgICAgcmV0dXJuIGFycmF5X2FycmF5X3Rvc3RyaW5nX2ltcGwoc2VsZik7Cit9CisKK1B5RG9jX1NUUlZBUihhcnJheV9hcnJheV9mcm9tdW5pY29kZV9fZG9jX18sCisiZnJvbXVuaWNvZGUoJHNlbGYsIHVzdHIsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJFeHRlbmRzIHRoaXMgYXJyYXkgd2l0aCBkYXRhIGZyb20gdGhlIHVuaWNvZGUgc3RyaW5nIHVzdHIuXG4iCisiXG4iCisiVGhlIGFycmF5IG11c3QgYmUgYSB1bmljb2RlIHR5cGUgYXJyYXk7IG90aGVyd2lzZSBhIFZhbHVlRXJyb3IgaXMgcmFpc2VkLlxuIgorIlVzZSBhcnJheS5mcm9tYnl0ZXModXN0ci5lbmNvZGUoLi4uKSkgdG8gYXBwZW5kIFVuaWNvZGUgZGF0YSB0byBhbiBhcnJheSBvZlxuIgorInNvbWUgb3RoZXIgdHlwZS4iKTsKKworI2RlZmluZSBBUlJBWV9BUlJBWV9GUk9NVU5JQ09ERV9NRVRIT0RERUYgICAgXAorICAgIHsiZnJvbXVuaWNvZGUiLCAoUHlDRnVuY3Rpb24pYXJyYXlfYXJyYXlfZnJvbXVuaWNvZGUsIE1FVEhfVkFSQVJHUywgYXJyYXlfYXJyYXlfZnJvbXVuaWNvZGVfX2RvY19ffSwKKworc3RhdGljIFB5T2JqZWN0ICoKK2FycmF5X2FycmF5X2Zyb211bmljb2RlX2ltcGwoYXJyYXlvYmplY3QgKnNlbGYsIFB5X1VOSUNPREUgKnVzdHIsIFB5X3NzaXplX2NsZWFuX3QgdXN0cl9sZW5ndGgpOworCitzdGF0aWMgUHlPYmplY3QgKgorYXJyYXlfYXJyYXlfZnJvbXVuaWNvZGUoYXJyYXlvYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQoreworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIFB5X1VOSUNPREUgKnVzdHI7CisgICAgUHlfc3NpemVfY2xlYW5fdCB1c3RyX2xlbmd0aDsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAidSM6ZnJvbXVuaWNvZGUiLAorICAgICAgICAmdXN0ciwgJnVzdHJfbGVuZ3RoKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IGFycmF5X2FycmF5X2Zyb211bmljb2RlX2ltcGwoc2VsZiwgdXN0ciwgdXN0cl9sZW5ndGgpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK1B5RG9jX1NUUlZBUihhcnJheV9hcnJheV90b3VuaWNvZGVfX2RvY19fLAorInRvdW5pY29kZSgkc2VsZiwgLylcbiIKKyItLVxuIgorIlxuIgorIkV4dGVuZHMgdGhpcyBhcnJheSB3aXRoIGRhdGEgZnJvbSB0aGUgdW5pY29kZSBzdHJpbmcgdXN0ci5cbiIKKyJcbiIKKyJDb252ZXJ0IHRoZSBhcnJheSB0byBhIHVuaWNvZGUgc3RyaW5nLiAgVGhlIGFycmF5IG11c3QgYmUgYSB1bmljb2RlIHR5cGUgYXJyYXk7XG4iCisib3RoZXJ3aXNlIGEgVmFsdWVFcnJvciBpcyByYWlzZWQuICBVc2UgYXJyYXkudG9ieXRlcygpLmRlY29kZSgpIHRvIG9idGFpbiBhXG4iCisidW5pY29kZSBzdHJpbmcgZnJvbSBhbiBhcnJheSBvZiBzb21lIG90aGVyIHR5cGUuIik7CisKKyNkZWZpbmUgQVJSQVlfQVJSQVlfVE9VTklDT0RFX01FVEhPRERFRiAgICBcCisgICAgeyJ0b3VuaWNvZGUiLCAoUHlDRnVuY3Rpb24pYXJyYXlfYXJyYXlfdG91bmljb2RlLCBNRVRIX05PQVJHUywgYXJyYXlfYXJyYXlfdG91bmljb2RlX19kb2NfX30sCisKK3N0YXRpYyBQeU9iamVjdCAqCithcnJheV9hcnJheV90b3VuaWNvZGVfaW1wbChhcnJheW9iamVjdCAqc2VsZik7CisKK3N0YXRpYyBQeU9iamVjdCAqCithcnJheV9hcnJheV90b3VuaWNvZGUoYXJyYXlvYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpQeV9VTlVTRUQoaWdub3JlZCkpCit7CisgICAgcmV0dXJuIGFycmF5X2FycmF5X3RvdW5pY29kZV9pbXBsKHNlbGYpOworfQorCitQeURvY19TVFJWQVIoYXJyYXlfYXJyYXlfX19zaXplb2ZfX19fZG9jX18sCisiX19zaXplb2ZfXygkc2VsZiwgLylcbiIKKyItLVxuIgorIlxuIgorIlNpemUgb2YgdGhlIGFycmF5IGluIG1lbW9yeSwgaW4gYnl0ZXMuIik7CisKKyNkZWZpbmUgQVJSQVlfQVJSQVlfX19TSVpFT0ZfX19NRVRIT0RERUYgICAgXAorICAgIHsiX19zaXplb2ZfXyIsIChQeUNGdW5jdGlvbilhcnJheV9hcnJheV9fX3NpemVvZl9fLCBNRVRIX05PQVJHUywgYXJyYXlfYXJyYXlfX19zaXplb2ZfX19fZG9jX199LAorCitzdGF0aWMgUHlPYmplY3QgKgorYXJyYXlfYXJyYXlfX19zaXplb2ZfX19pbXBsKGFycmF5b2JqZWN0ICpzZWxmKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK2FycmF5X2FycmF5X19fc2l6ZW9mX18oYXJyYXlvYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpQeV9VTlVTRUQoaWdub3JlZCkpCit7CisgICAgcmV0dXJuIGFycmF5X2FycmF5X19fc2l6ZW9mX19faW1wbChzZWxmKTsKK30KKworUHlEb2NfU1RSVkFSKGFycmF5X19hcnJheV9yZWNvbnN0cnVjdG9yX19kb2NfXywKKyJfYXJyYXlfcmVjb25zdHJ1Y3RvcigkbW9kdWxlLCBhcnJheXR5cGUsIHR5cGVjb2RlLCBtZm9ybWF0X2NvZGUsIGl0ZW1zLFxuIgorIiAgICAgICAgICAgICAgICAgICAgIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJJbnRlcm5hbC4gVXNlZCBmb3IgcGlja2xpbmcgc3VwcG9ydC4iKTsKKworI2RlZmluZSBBUlJBWV9fQVJSQVlfUkVDT05TVFJVQ1RPUl9NRVRIT0RERUYgICAgXAorICAgIHsiX2FycmF5X3JlY29uc3RydWN0b3IiLCAoUHlDRnVuY3Rpb24pYXJyYXlfX2FycmF5X3JlY29uc3RydWN0b3IsIE1FVEhfVkFSQVJHUywgYXJyYXlfX2FycmF5X3JlY29uc3RydWN0b3JfX2RvY19ffSwKKworc3RhdGljIFB5T2JqZWN0ICoKK2FycmF5X19hcnJheV9yZWNvbnN0cnVjdG9yX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlUeXBlT2JqZWN0ICphcnJheXR5cGUsIGludCB0eXBlY29kZSwgZW51bSBtYWNoaW5lX2Zvcm1hdF9jb2RlIG1mb3JtYXRfY29kZSwgUHlPYmplY3QgKml0ZW1zKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK2FycmF5X19hcnJheV9yZWNvbnN0cnVjdG9yKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQoreworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIFB5VHlwZU9iamVjdCAqYXJyYXl0eXBlOworICAgIGludCB0eXBlY29kZTsKKyAgICBlbnVtIG1hY2hpbmVfZm9ybWF0X2NvZGUgbWZvcm1hdF9jb2RlOworICAgIFB5T2JqZWN0ICppdGVtczsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAiT0NpTzpfYXJyYXlfcmVjb25zdHJ1Y3RvciIsCisgICAgICAgICZhcnJheXR5cGUsICZ0eXBlY29kZSwgJm1mb3JtYXRfY29kZSwgJml0ZW1zKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IGFycmF5X19hcnJheV9yZWNvbnN0cnVjdG9yX2ltcGwobW9kdWxlLCBhcnJheXR5cGUsIHR5cGVjb2RlLCBtZm9ybWF0X2NvZGUsIGl0ZW1zKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitQeURvY19TVFJWQVIoYXJyYXlfYXJyYXlfX19yZWR1Y2VfZXhfX19fZG9jX18sCisiX19yZWR1Y2VfZXhfXygkc2VsZiwgdmFsdWUsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gc3RhdGUgaW5mb3JtYXRpb24gZm9yIHBpY2tsaW5nLiIpOworCisjZGVmaW5lIEFSUkFZX0FSUkFZX19fUkVEVUNFX0VYX19fTUVUSE9EREVGICAgIFwKKyAgICB7Il9fcmVkdWNlX2V4X18iLCAoUHlDRnVuY3Rpb24pYXJyYXlfYXJyYXlfX19yZWR1Y2VfZXhfXywgTUVUSF9PLCBhcnJheV9hcnJheV9fX3JlZHVjZV9leF9fX19kb2NfX30sCisKK1B5RG9jX1NUUlZBUihhcnJheV9hcnJheWl0ZXJhdG9yX19fcmVkdWNlX19fX2RvY19fLAorIl9fcmVkdWNlX18oJHNlbGYsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gc3RhdGUgaW5mb3JtYXRpb24gZm9yIHBpY2tsaW5nLiIpOworCisjZGVmaW5lIEFSUkFZX0FSUkFZSVRFUkFUT1JfX19SRURVQ0VfX19NRVRIT0RERUYgICAgXAorICAgIHsiX19yZWR1Y2VfXyIsIChQeUNGdW5jdGlvbilhcnJheV9hcnJheWl0ZXJhdG9yX19fcmVkdWNlX18sIE1FVEhfTk9BUkdTLCBhcnJheV9hcnJheWl0ZXJhdG9yX19fcmVkdWNlX19fX2RvY19ffSwKKworc3RhdGljIFB5T2JqZWN0ICoKK2FycmF5X2FycmF5aXRlcmF0b3JfX19yZWR1Y2VfX19pbXBsKGFycmF5aXRlcm9iamVjdCAqc2VsZik7CisKK3N0YXRpYyBQeU9iamVjdCAqCithcnJheV9hcnJheWl0ZXJhdG9yX19fcmVkdWNlX18oYXJyYXlpdGVyb2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqUHlfVU5VU0VEKGlnbm9yZWQpKQoreworICAgIHJldHVybiBhcnJheV9hcnJheWl0ZXJhdG9yX19fcmVkdWNlX19faW1wbChzZWxmKTsKK30KKworUHlEb2NfU1RSVkFSKGFycmF5X2FycmF5aXRlcmF0b3JfX19zZXRzdGF0ZV9fX19kb2NfXywKKyJfX3NldHN0YXRlX18oJHNlbGYsIHN0YXRlLCAvKVxuIgorIi0tXG4iCisiXG4iCisiU2V0IHN0YXRlIGluZm9ybWF0aW9uIGZvciB1bnBpY2tsaW5nLiIpOworCisjZGVmaW5lIEFSUkFZX0FSUkFZSVRFUkFUT1JfX19TRVRTVEFURV9fX01FVEhPRERFRiAgICBcCisgICAgeyJfX3NldHN0YXRlX18iLCAoUHlDRnVuY3Rpb24pYXJyYXlfYXJyYXlpdGVyYXRvcl9fX3NldHN0YXRlX18sIE1FVEhfTywgYXJyYXlfYXJyYXlpdGVyYXRvcl9fX3NldHN0YXRlX19fX2RvY19ffSwKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1lMWRlYjYxYzZhM2JjOGM4IGlucHV0PWE5MDQ5MDU0MDEzYTFiNzddKi8KZGlmZiAtLWdpdCBhL01vZHVsZXMvY2xpbmljL2JpbmFzY2lpLmMuaCBiL01vZHVsZXMvY2xpbmljL2JpbmFzY2lpLmMuaAppbmRleCBmNjQ3MDMyLi5iMmI2ZTZiIDEwMDY0NAotLS0gYS9Nb2R1bGVzL2NsaW5pYy9iaW5hc2NpaS5jLmgKKysrIGIvTW9kdWxlcy9jbGluaWMvYmluYXNjaWkuYy5oCkBAIC0zMjAsNyArMzIwLDcgQEAKICAgICAgICAgJmRhdGEsICZjcmMpKQogICAgICAgICBnb3RvIGV4aXQ7CiAgICAgX3JldHVybl92YWx1ZSA9IGJpbmFzY2lpX2NyYzMyX2ltcGwobW9kdWxlLCAmZGF0YSwgY3JjKTsKLSAgICBpZiAoKF9yZXR1cm5fdmFsdWUgPT0gLTEpICYmIFB5RXJyX09jY3VycmVkKCkpCisgICAgaWYgKChfcmV0dXJuX3ZhbHVlID09ICh1bnNpZ25lZCBpbnQpLTEpICYmIFB5RXJyX09jY3VycmVkKCkpCiAgICAgICAgIGdvdG8gZXhpdDsKICAgICByZXR1cm5fdmFsdWUgPSBQeUxvbmdfRnJvbVVuc2lnbmVkTG9uZygodW5zaWduZWQgbG9uZylfcmV0dXJuX3ZhbHVlKTsKIApAQCAtNTQzLDQgKzU0Myw0IEBACiAKICAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOwogfQotLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWU0NmQyOWY4YzlhZGFlN2UgaW5wdXQ9YTkwNDkwNTQwMTNhMWI3N10qLworLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTc3MTEyNmY4ZjUzZTg0ZTcgaW5wdXQ9YTkwNDkwNTQwMTNhMWI3N10qLwpkaWZmIC0tZ2l0IGEvTW9kdWxlcy9jbGluaWMvY21hdGhtb2R1bGUuYy5oIGIvTW9kdWxlcy9jbGluaWMvY21hdGhtb2R1bGUuYy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQwYzQ4ZDMKLS0tIC9kZXYvbnVsbAorKysgYi9Nb2R1bGVzL2NsaW5pYy9jbWF0aG1vZHVsZS5jLmgKQEAgLTAsMCArMSw4NTEgQEAKKy8qW2NsaW5pYyBpbnB1dF0KK3ByZXNlcnZlCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihjbWF0aF9hY29zX19kb2NfXywKKyJhY29zKCRtb2R1bGUsIHosIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gdGhlIGFyYyBjb3NpbmUgb2Ygei4iKTsKKworI2RlZmluZSBDTUFUSF9BQ09TX01FVEhPRERFRiAgICBcCisgICAgeyJhY29zIiwgKFB5Q0Z1bmN0aW9uKWNtYXRoX2Fjb3MsIE1FVEhfVkFSQVJHUywgY21hdGhfYWNvc19fZG9jX199LAorCitzdGF0aWMgUHlfY29tcGxleAorY21hdGhfYWNvc19pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5X2NvbXBsZXggeik7CisKK3N0YXRpYyBQeU9iamVjdCAqCitjbWF0aF9hY29zKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQoreworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIFB5X2NvbXBsZXggejsKKyAgICBQeV9jb21wbGV4IF9yZXR1cm5fdmFsdWU7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgIkQ6YWNvcyIsCisgICAgICAgICZ6KSkKKyAgICAgICAgZ290byBleGl0OworICAgIC8qIG1vZGlmaWNhdGlvbnMgZm9yIHogKi8KKyAgICBlcnJubyA9IDA7IFB5RlBFX1NUQVJUX1BST1RFQ1QoImNvbXBsZXggZnVuY3Rpb24iLCBnb3RvIGV4aXQpOworICAgIF9yZXR1cm5fdmFsdWUgPSBjbWF0aF9hY29zX2ltcGwobW9kdWxlLCB6KTsKKyAgICBQeUZQRV9FTkRfUFJPVEVDVChfcmV0dXJuX3ZhbHVlKTsKKyAgICBpZiAoZXJybm8gPT0gRURPTSkgeworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwgIm1hdGggZG9tYWluIGVycm9yIik7CisgICAgICAgIGdvdG8gZXhpdDsKKyAgICB9CisgICAgZWxzZSBpZiAoZXJybm8gPT0gRVJBTkdFKSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19PdmVyZmxvd0Vycm9yLCAibWF0aCByYW5nZSBlcnJvciIpOworICAgICAgICBnb3RvIGV4aXQ7CisgICAgfQorICAgIGVsc2UgeworICAgICAgICByZXR1cm5fdmFsdWUgPSBQeUNvbXBsZXhfRnJvbUNDb21wbGV4KF9yZXR1cm5fdmFsdWUpOworICAgIH0KKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitQeURvY19TVFJWQVIoY21hdGhfYWNvc2hfX2RvY19fLAorImFjb3NoKCRtb2R1bGUsIHosIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gdGhlIGludmVyc2UgaHlwZXJib2xpYyBjb3NpbmUgb2Ygei4iKTsKKworI2RlZmluZSBDTUFUSF9BQ09TSF9NRVRIT0RERUYgICAgXAorICAgIHsiYWNvc2giLCAoUHlDRnVuY3Rpb24pY21hdGhfYWNvc2gsIE1FVEhfVkFSQVJHUywgY21hdGhfYWNvc2hfX2RvY19ffSwKKworc3RhdGljIFB5X2NvbXBsZXgKK2NtYXRoX2Fjb3NoX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlfY29tcGxleCB6KTsKKworc3RhdGljIFB5T2JqZWN0ICoKK2NtYXRoX2Fjb3NoKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQoreworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIFB5X2NvbXBsZXggejsKKyAgICBQeV9jb21wbGV4IF9yZXR1cm5fdmFsdWU7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgIkQ6YWNvc2giLAorICAgICAgICAmeikpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICAvKiBtb2RpZmljYXRpb25zIGZvciB6ICovCisgICAgZXJybm8gPSAwOyBQeUZQRV9TVEFSVF9QUk9URUNUKCJjb21wbGV4IGZ1bmN0aW9uIiwgZ290byBleGl0KTsKKyAgICBfcmV0dXJuX3ZhbHVlID0gY21hdGhfYWNvc2hfaW1wbChtb2R1bGUsIHopOworICAgIFB5RlBFX0VORF9QUk9URUNUKF9yZXR1cm5fdmFsdWUpOworICAgIGlmIChlcnJubyA9PSBFRE9NKSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLCAibWF0aCBkb21haW4gZXJyb3IiKTsKKyAgICAgICAgZ290byBleGl0OworICAgIH0KKyAgICBlbHNlIGlmIChlcnJubyA9PSBFUkFOR0UpIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX092ZXJmbG93RXJyb3IsICJtYXRoIHJhbmdlIGVycm9yIik7CisgICAgICAgIGdvdG8gZXhpdDsKKyAgICB9CisgICAgZWxzZSB7CisgICAgICAgIHJldHVybl92YWx1ZSA9IFB5Q29tcGxleF9Gcm9tQ0NvbXBsZXgoX3JldHVybl92YWx1ZSk7CisgICAgfQorCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK1B5RG9jX1NUUlZBUihjbWF0aF9hc2luX19kb2NfXywKKyJhc2luKCRtb2R1bGUsIHosIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gdGhlIGFyYyBzaW5lIG9mIHouIik7CisKKyNkZWZpbmUgQ01BVEhfQVNJTl9NRVRIT0RERUYgICAgXAorICAgIHsiYXNpbiIsIChQeUNGdW5jdGlvbiljbWF0aF9hc2luLCBNRVRIX1ZBUkFSR1MsIGNtYXRoX2FzaW5fX2RvY19ffSwKKworc3RhdGljIFB5X2NvbXBsZXgKK2NtYXRoX2FzaW5faW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeV9jb21wbGV4IHopOworCitzdGF0aWMgUHlPYmplY3QgKgorY21hdGhfYXNpbihQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBQeV9jb21wbGV4IHo7CisgICAgUHlfY29tcGxleCBfcmV0dXJuX3ZhbHVlOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICJEOmFzaW4iLAorICAgICAgICAmeikpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICAvKiBtb2RpZmljYXRpb25zIGZvciB6ICovCisgICAgZXJybm8gPSAwOyBQeUZQRV9TVEFSVF9QUk9URUNUKCJjb21wbGV4IGZ1bmN0aW9uIiwgZ290byBleGl0KTsKKyAgICBfcmV0dXJuX3ZhbHVlID0gY21hdGhfYXNpbl9pbXBsKG1vZHVsZSwgeik7CisgICAgUHlGUEVfRU5EX1BST1RFQ1QoX3JldHVybl92YWx1ZSk7CisgICAgaWYgKGVycm5vID09IEVET00pIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsICJtYXRoIGRvbWFpbiBlcnJvciIpOworICAgICAgICBnb3RvIGV4aXQ7CisgICAgfQorICAgIGVsc2UgaWYgKGVycm5vID09IEVSQU5HRSkgeworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfT3ZlcmZsb3dFcnJvciwgIm1hdGggcmFuZ2UgZXJyb3IiKTsKKyAgICAgICAgZ290byBleGl0OworICAgIH0KKyAgICBlbHNlIHsKKyAgICAgICAgcmV0dXJuX3ZhbHVlID0gUHlDb21wbGV4X0Zyb21DQ29tcGxleChfcmV0dXJuX3ZhbHVlKTsKKyAgICB9CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworUHlEb2NfU1RSVkFSKGNtYXRoX2FzaW5oX19kb2NfXywKKyJhc2luaCgkbW9kdWxlLCB6LCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIHRoZSBpbnZlcnNlIGh5cGVyYm9saWMgc2luZSBvZiB6LiIpOworCisjZGVmaW5lIENNQVRIX0FTSU5IX01FVEhPRERFRiAgICBcCisgICAgeyJhc2luaCIsIChQeUNGdW5jdGlvbiljbWF0aF9hc2luaCwgTUVUSF9WQVJBUkdTLCBjbWF0aF9hc2luaF9fZG9jX199LAorCitzdGF0aWMgUHlfY29tcGxleAorY21hdGhfYXNpbmhfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeV9jb21wbGV4IHopOworCitzdGF0aWMgUHlPYmplY3QgKgorY21hdGhfYXNpbmgoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgUHlfY29tcGxleCB6OworICAgIFB5X2NvbXBsZXggX3JldHVybl92YWx1ZTsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAiRDphc2luaCIsCisgICAgICAgICZ6KSkKKyAgICAgICAgZ290byBleGl0OworICAgIC8qIG1vZGlmaWNhdGlvbnMgZm9yIHogKi8KKyAgICBlcnJubyA9IDA7IFB5RlBFX1NUQVJUX1BST1RFQ1QoImNvbXBsZXggZnVuY3Rpb24iLCBnb3RvIGV4aXQpOworICAgIF9yZXR1cm5fdmFsdWUgPSBjbWF0aF9hc2luaF9pbXBsKG1vZHVsZSwgeik7CisgICAgUHlGUEVfRU5EX1BST1RFQ1QoX3JldHVybl92YWx1ZSk7CisgICAgaWYgKGVycm5vID09IEVET00pIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsICJtYXRoIGRvbWFpbiBlcnJvciIpOworICAgICAgICBnb3RvIGV4aXQ7CisgICAgfQorICAgIGVsc2UgaWYgKGVycm5vID09IEVSQU5HRSkgeworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfT3ZlcmZsb3dFcnJvciwgIm1hdGggcmFuZ2UgZXJyb3IiKTsKKyAgICAgICAgZ290byBleGl0OworICAgIH0KKyAgICBlbHNlIHsKKyAgICAgICAgcmV0dXJuX3ZhbHVlID0gUHlDb21wbGV4X0Zyb21DQ29tcGxleChfcmV0dXJuX3ZhbHVlKTsKKyAgICB9CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworUHlEb2NfU1RSVkFSKGNtYXRoX2F0YW5fX2RvY19fLAorImF0YW4oJG1vZHVsZSwgeiwgLylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiB0aGUgYXJjIHRhbmdlbnQgb2Ygei4iKTsKKworI2RlZmluZSBDTUFUSF9BVEFOX01FVEhPRERFRiAgICBcCisgICAgeyJhdGFuIiwgKFB5Q0Z1bmN0aW9uKWNtYXRoX2F0YW4sIE1FVEhfVkFSQVJHUywgY21hdGhfYXRhbl9fZG9jX199LAorCitzdGF0aWMgUHlfY29tcGxleAorY21hdGhfYXRhbl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5X2NvbXBsZXggeik7CisKK3N0YXRpYyBQeU9iamVjdCAqCitjbWF0aF9hdGFuKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQoreworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIFB5X2NvbXBsZXggejsKKyAgICBQeV9jb21wbGV4IF9yZXR1cm5fdmFsdWU7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgIkQ6YXRhbiIsCisgICAgICAgICZ6KSkKKyAgICAgICAgZ290byBleGl0OworICAgIC8qIG1vZGlmaWNhdGlvbnMgZm9yIHogKi8KKyAgICBlcnJubyA9IDA7IFB5RlBFX1NUQVJUX1BST1RFQ1QoImNvbXBsZXggZnVuY3Rpb24iLCBnb3RvIGV4aXQpOworICAgIF9yZXR1cm5fdmFsdWUgPSBjbWF0aF9hdGFuX2ltcGwobW9kdWxlLCB6KTsKKyAgICBQeUZQRV9FTkRfUFJPVEVDVChfcmV0dXJuX3ZhbHVlKTsKKyAgICBpZiAoZXJybm8gPT0gRURPTSkgeworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwgIm1hdGggZG9tYWluIGVycm9yIik7CisgICAgICAgIGdvdG8gZXhpdDsKKyAgICB9CisgICAgZWxzZSBpZiAoZXJybm8gPT0gRVJBTkdFKSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19PdmVyZmxvd0Vycm9yLCAibWF0aCByYW5nZSBlcnJvciIpOworICAgICAgICBnb3RvIGV4aXQ7CisgICAgfQorICAgIGVsc2UgeworICAgICAgICByZXR1cm5fdmFsdWUgPSBQeUNvbXBsZXhfRnJvbUNDb21wbGV4KF9yZXR1cm5fdmFsdWUpOworICAgIH0KKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitQeURvY19TVFJWQVIoY21hdGhfYXRhbmhfX2RvY19fLAorImF0YW5oKCRtb2R1bGUsIHosIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gdGhlIGludmVyc2UgaHlwZXJib2xpYyB0YW5nZW50IG9mIHouIik7CisKKyNkZWZpbmUgQ01BVEhfQVRBTkhfTUVUSE9EREVGICAgIFwKKyAgICB7ImF0YW5oIiwgKFB5Q0Z1bmN0aW9uKWNtYXRoX2F0YW5oLCBNRVRIX1ZBUkFSR1MsIGNtYXRoX2F0YW5oX19kb2NfX30sCisKK3N0YXRpYyBQeV9jb21wbGV4CitjbWF0aF9hdGFuaF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5X2NvbXBsZXggeik7CisKK3N0YXRpYyBQeU9iamVjdCAqCitjbWF0aF9hdGFuaChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBQeV9jb21wbGV4IHo7CisgICAgUHlfY29tcGxleCBfcmV0dXJuX3ZhbHVlOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICJEOmF0YW5oIiwKKyAgICAgICAgJnopKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgLyogbW9kaWZpY2F0aW9ucyBmb3IgeiAqLworICAgIGVycm5vID0gMDsgUHlGUEVfU1RBUlRfUFJPVEVDVCgiY29tcGxleCBmdW5jdGlvbiIsIGdvdG8gZXhpdCk7CisgICAgX3JldHVybl92YWx1ZSA9IGNtYXRoX2F0YW5oX2ltcGwobW9kdWxlLCB6KTsKKyAgICBQeUZQRV9FTkRfUFJPVEVDVChfcmV0dXJuX3ZhbHVlKTsKKyAgICBpZiAoZXJybm8gPT0gRURPTSkgeworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwgIm1hdGggZG9tYWluIGVycm9yIik7CisgICAgICAgIGdvdG8gZXhpdDsKKyAgICB9CisgICAgZWxzZSBpZiAoZXJybm8gPT0gRVJBTkdFKSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19PdmVyZmxvd0Vycm9yLCAibWF0aCByYW5nZSBlcnJvciIpOworICAgICAgICBnb3RvIGV4aXQ7CisgICAgfQorICAgIGVsc2UgeworICAgICAgICByZXR1cm5fdmFsdWUgPSBQeUNvbXBsZXhfRnJvbUNDb21wbGV4KF9yZXR1cm5fdmFsdWUpOworICAgIH0KKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitQeURvY19TVFJWQVIoY21hdGhfY29zX19kb2NfXywKKyJjb3MoJG1vZHVsZSwgeiwgLylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiB0aGUgY29zaW5lIG9mIHouIik7CisKKyNkZWZpbmUgQ01BVEhfQ09TX01FVEhPRERFRiAgICBcCisgICAgeyJjb3MiLCAoUHlDRnVuY3Rpb24pY21hdGhfY29zLCBNRVRIX1ZBUkFSR1MsIGNtYXRoX2Nvc19fZG9jX199LAorCitzdGF0aWMgUHlfY29tcGxleAorY21hdGhfY29zX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlfY29tcGxleCB6KTsKKworc3RhdGljIFB5T2JqZWN0ICoKK2NtYXRoX2NvcyhQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBQeV9jb21wbGV4IHo7CisgICAgUHlfY29tcGxleCBfcmV0dXJuX3ZhbHVlOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICJEOmNvcyIsCisgICAgICAgICZ6KSkKKyAgICAgICAgZ290byBleGl0OworICAgIC8qIG1vZGlmaWNhdGlvbnMgZm9yIHogKi8KKyAgICBlcnJubyA9IDA7IFB5RlBFX1NUQVJUX1BST1RFQ1QoImNvbXBsZXggZnVuY3Rpb24iLCBnb3RvIGV4aXQpOworICAgIF9yZXR1cm5fdmFsdWUgPSBjbWF0aF9jb3NfaW1wbChtb2R1bGUsIHopOworICAgIFB5RlBFX0VORF9QUk9URUNUKF9yZXR1cm5fdmFsdWUpOworICAgIGlmIChlcnJubyA9PSBFRE9NKSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLCAibWF0aCBkb21haW4gZXJyb3IiKTsKKyAgICAgICAgZ290byBleGl0OworICAgIH0KKyAgICBlbHNlIGlmIChlcnJubyA9PSBFUkFOR0UpIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX092ZXJmbG93RXJyb3IsICJtYXRoIHJhbmdlIGVycm9yIik7CisgICAgICAgIGdvdG8gZXhpdDsKKyAgICB9CisgICAgZWxzZSB7CisgICAgICAgIHJldHVybl92YWx1ZSA9IFB5Q29tcGxleF9Gcm9tQ0NvbXBsZXgoX3JldHVybl92YWx1ZSk7CisgICAgfQorCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK1B5RG9jX1NUUlZBUihjbWF0aF9jb3NoX19kb2NfXywKKyJjb3NoKCRtb2R1bGUsIHosIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gdGhlIGh5cGVyYm9saWMgY29zaW5lIG9mIHouIik7CisKKyNkZWZpbmUgQ01BVEhfQ09TSF9NRVRIT0RERUYgICAgXAorICAgIHsiY29zaCIsIChQeUNGdW5jdGlvbiljbWF0aF9jb3NoLCBNRVRIX1ZBUkFSR1MsIGNtYXRoX2Nvc2hfX2RvY19ffSwKKworc3RhdGljIFB5X2NvbXBsZXgKK2NtYXRoX2Nvc2hfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeV9jb21wbGV4IHopOworCitzdGF0aWMgUHlPYmplY3QgKgorY21hdGhfY29zaChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBQeV9jb21wbGV4IHo7CisgICAgUHlfY29tcGxleCBfcmV0dXJuX3ZhbHVlOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICJEOmNvc2giLAorICAgICAgICAmeikpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICAvKiBtb2RpZmljYXRpb25zIGZvciB6ICovCisgICAgZXJybm8gPSAwOyBQeUZQRV9TVEFSVF9QUk9URUNUKCJjb21wbGV4IGZ1bmN0aW9uIiwgZ290byBleGl0KTsKKyAgICBfcmV0dXJuX3ZhbHVlID0gY21hdGhfY29zaF9pbXBsKG1vZHVsZSwgeik7CisgICAgUHlGUEVfRU5EX1BST1RFQ1QoX3JldHVybl92YWx1ZSk7CisgICAgaWYgKGVycm5vID09IEVET00pIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsICJtYXRoIGRvbWFpbiBlcnJvciIpOworICAgICAgICBnb3RvIGV4aXQ7CisgICAgfQorICAgIGVsc2UgaWYgKGVycm5vID09IEVSQU5HRSkgeworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfT3ZlcmZsb3dFcnJvciwgIm1hdGggcmFuZ2UgZXJyb3IiKTsKKyAgICAgICAgZ290byBleGl0OworICAgIH0KKyAgICBlbHNlIHsKKyAgICAgICAgcmV0dXJuX3ZhbHVlID0gUHlDb21wbGV4X0Zyb21DQ29tcGxleChfcmV0dXJuX3ZhbHVlKTsKKyAgICB9CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworUHlEb2NfU1RSVkFSKGNtYXRoX2V4cF9fZG9jX18sCisiZXhwKCRtb2R1bGUsIHosIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gdGhlIGV4cG9uZW50aWFsIHZhbHVlIGUqKnouIik7CisKKyNkZWZpbmUgQ01BVEhfRVhQX01FVEhPRERFRiAgICBcCisgICAgeyJleHAiLCAoUHlDRnVuY3Rpb24pY21hdGhfZXhwLCBNRVRIX1ZBUkFSR1MsIGNtYXRoX2V4cF9fZG9jX199LAorCitzdGF0aWMgUHlfY29tcGxleAorY21hdGhfZXhwX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlfY29tcGxleCB6KTsKKworc3RhdGljIFB5T2JqZWN0ICoKK2NtYXRoX2V4cChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBQeV9jb21wbGV4IHo7CisgICAgUHlfY29tcGxleCBfcmV0dXJuX3ZhbHVlOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICJEOmV4cCIsCisgICAgICAgICZ6KSkKKyAgICAgICAgZ290byBleGl0OworICAgIC8qIG1vZGlmaWNhdGlvbnMgZm9yIHogKi8KKyAgICBlcnJubyA9IDA7IFB5RlBFX1NUQVJUX1BST1RFQ1QoImNvbXBsZXggZnVuY3Rpb24iLCBnb3RvIGV4aXQpOworICAgIF9yZXR1cm5fdmFsdWUgPSBjbWF0aF9leHBfaW1wbChtb2R1bGUsIHopOworICAgIFB5RlBFX0VORF9QUk9URUNUKF9yZXR1cm5fdmFsdWUpOworICAgIGlmIChlcnJubyA9PSBFRE9NKSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLCAibWF0aCBkb21haW4gZXJyb3IiKTsKKyAgICAgICAgZ290byBleGl0OworICAgIH0KKyAgICBlbHNlIGlmIChlcnJubyA9PSBFUkFOR0UpIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX092ZXJmbG93RXJyb3IsICJtYXRoIHJhbmdlIGVycm9yIik7CisgICAgICAgIGdvdG8gZXhpdDsKKyAgICB9CisgICAgZWxzZSB7CisgICAgICAgIHJldHVybl92YWx1ZSA9IFB5Q29tcGxleF9Gcm9tQ0NvbXBsZXgoX3JldHVybl92YWx1ZSk7CisgICAgfQorCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK1B5RG9jX1NUUlZBUihjbWF0aF9sb2cxMF9fZG9jX18sCisibG9nMTAoJG1vZHVsZSwgeiwgLylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiB0aGUgYmFzZS0xMCBsb2dhcml0aG0gb2Ygei4iKTsKKworI2RlZmluZSBDTUFUSF9MT0cxMF9NRVRIT0RERUYgICAgXAorICAgIHsibG9nMTAiLCAoUHlDRnVuY3Rpb24pY21hdGhfbG9nMTAsIE1FVEhfVkFSQVJHUywgY21hdGhfbG9nMTBfX2RvY19ffSwKKworc3RhdGljIFB5X2NvbXBsZXgKK2NtYXRoX2xvZzEwX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlfY29tcGxleCB6KTsKKworc3RhdGljIFB5T2JqZWN0ICoKK2NtYXRoX2xvZzEwKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQoreworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIFB5X2NvbXBsZXggejsKKyAgICBQeV9jb21wbGV4IF9yZXR1cm5fdmFsdWU7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgIkQ6bG9nMTAiLAorICAgICAgICAmeikpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICAvKiBtb2RpZmljYXRpb25zIGZvciB6ICovCisgICAgZXJybm8gPSAwOyBQeUZQRV9TVEFSVF9QUk9URUNUKCJjb21wbGV4IGZ1bmN0aW9uIiwgZ290byBleGl0KTsKKyAgICBfcmV0dXJuX3ZhbHVlID0gY21hdGhfbG9nMTBfaW1wbChtb2R1bGUsIHopOworICAgIFB5RlBFX0VORF9QUk9URUNUKF9yZXR1cm5fdmFsdWUpOworICAgIGlmIChlcnJubyA9PSBFRE9NKSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLCAibWF0aCBkb21haW4gZXJyb3IiKTsKKyAgICAgICAgZ290byBleGl0OworICAgIH0KKyAgICBlbHNlIGlmIChlcnJubyA9PSBFUkFOR0UpIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX092ZXJmbG93RXJyb3IsICJtYXRoIHJhbmdlIGVycm9yIik7CisgICAgICAgIGdvdG8gZXhpdDsKKyAgICB9CisgICAgZWxzZSB7CisgICAgICAgIHJldHVybl92YWx1ZSA9IFB5Q29tcGxleF9Gcm9tQ0NvbXBsZXgoX3JldHVybl92YWx1ZSk7CisgICAgfQorCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK1B5RG9jX1NUUlZBUihjbWF0aF9zaW5fX2RvY19fLAorInNpbigkbW9kdWxlLCB6LCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIHRoZSBzaW5lIG9mIHouIik7CisKKyNkZWZpbmUgQ01BVEhfU0lOX01FVEhPRERFRiAgICBcCisgICAgeyJzaW4iLCAoUHlDRnVuY3Rpb24pY21hdGhfc2luLCBNRVRIX1ZBUkFSR1MsIGNtYXRoX3Npbl9fZG9jX199LAorCitzdGF0aWMgUHlfY29tcGxleAorY21hdGhfc2luX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlfY29tcGxleCB6KTsKKworc3RhdGljIFB5T2JqZWN0ICoKK2NtYXRoX3NpbihQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBQeV9jb21wbGV4IHo7CisgICAgUHlfY29tcGxleCBfcmV0dXJuX3ZhbHVlOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICJEOnNpbiIsCisgICAgICAgICZ6KSkKKyAgICAgICAgZ290byBleGl0OworICAgIC8qIG1vZGlmaWNhdGlvbnMgZm9yIHogKi8KKyAgICBlcnJubyA9IDA7IFB5RlBFX1NUQVJUX1BST1RFQ1QoImNvbXBsZXggZnVuY3Rpb24iLCBnb3RvIGV4aXQpOworICAgIF9yZXR1cm5fdmFsdWUgPSBjbWF0aF9zaW5faW1wbChtb2R1bGUsIHopOworICAgIFB5RlBFX0VORF9QUk9URUNUKF9yZXR1cm5fdmFsdWUpOworICAgIGlmIChlcnJubyA9PSBFRE9NKSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLCAibWF0aCBkb21haW4gZXJyb3IiKTsKKyAgICAgICAgZ290byBleGl0OworICAgIH0KKyAgICBlbHNlIGlmIChlcnJubyA9PSBFUkFOR0UpIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX092ZXJmbG93RXJyb3IsICJtYXRoIHJhbmdlIGVycm9yIik7CisgICAgICAgIGdvdG8gZXhpdDsKKyAgICB9CisgICAgZWxzZSB7CisgICAgICAgIHJldHVybl92YWx1ZSA9IFB5Q29tcGxleF9Gcm9tQ0NvbXBsZXgoX3JldHVybl92YWx1ZSk7CisgICAgfQorCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK1B5RG9jX1NUUlZBUihjbWF0aF9zaW5oX19kb2NfXywKKyJzaW5oKCRtb2R1bGUsIHosIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gdGhlIGh5cGVyYm9saWMgc2luZSBvZiB6LiIpOworCisjZGVmaW5lIENNQVRIX1NJTkhfTUVUSE9EREVGICAgIFwKKyAgICB7InNpbmgiLCAoUHlDRnVuY3Rpb24pY21hdGhfc2luaCwgTUVUSF9WQVJBUkdTLCBjbWF0aF9zaW5oX19kb2NfX30sCisKK3N0YXRpYyBQeV9jb21wbGV4CitjbWF0aF9zaW5oX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlfY29tcGxleCB6KTsKKworc3RhdGljIFB5T2JqZWN0ICoKK2NtYXRoX3NpbmgoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgUHlfY29tcGxleCB6OworICAgIFB5X2NvbXBsZXggX3JldHVybl92YWx1ZTsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAiRDpzaW5oIiwKKyAgICAgICAgJnopKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgLyogbW9kaWZpY2F0aW9ucyBmb3IgeiAqLworICAgIGVycm5vID0gMDsgUHlGUEVfU1RBUlRfUFJPVEVDVCgiY29tcGxleCBmdW5jdGlvbiIsIGdvdG8gZXhpdCk7CisgICAgX3JldHVybl92YWx1ZSA9IGNtYXRoX3NpbmhfaW1wbChtb2R1bGUsIHopOworICAgIFB5RlBFX0VORF9QUk9URUNUKF9yZXR1cm5fdmFsdWUpOworICAgIGlmIChlcnJubyA9PSBFRE9NKSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLCAibWF0aCBkb21haW4gZXJyb3IiKTsKKyAgICAgICAgZ290byBleGl0OworICAgIH0KKyAgICBlbHNlIGlmIChlcnJubyA9PSBFUkFOR0UpIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX092ZXJmbG93RXJyb3IsICJtYXRoIHJhbmdlIGVycm9yIik7CisgICAgICAgIGdvdG8gZXhpdDsKKyAgICB9CisgICAgZWxzZSB7CisgICAgICAgIHJldHVybl92YWx1ZSA9IFB5Q29tcGxleF9Gcm9tQ0NvbXBsZXgoX3JldHVybl92YWx1ZSk7CisgICAgfQorCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK1B5RG9jX1NUUlZBUihjbWF0aF9zcXJ0X19kb2NfXywKKyJzcXJ0KCRtb2R1bGUsIHosIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gdGhlIHNxdWFyZSByb290IG9mIHouIik7CisKKyNkZWZpbmUgQ01BVEhfU1FSVF9NRVRIT0RERUYgICAgXAorICAgIHsic3FydCIsIChQeUNGdW5jdGlvbiljbWF0aF9zcXJ0LCBNRVRIX1ZBUkFSR1MsIGNtYXRoX3NxcnRfX2RvY19ffSwKKworc3RhdGljIFB5X2NvbXBsZXgKK2NtYXRoX3NxcnRfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeV9jb21wbGV4IHopOworCitzdGF0aWMgUHlPYmplY3QgKgorY21hdGhfc3FydChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBQeV9jb21wbGV4IHo7CisgICAgUHlfY29tcGxleCBfcmV0dXJuX3ZhbHVlOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICJEOnNxcnQiLAorICAgICAgICAmeikpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICAvKiBtb2RpZmljYXRpb25zIGZvciB6ICovCisgICAgZXJybm8gPSAwOyBQeUZQRV9TVEFSVF9QUk9URUNUKCJjb21wbGV4IGZ1bmN0aW9uIiwgZ290byBleGl0KTsKKyAgICBfcmV0dXJuX3ZhbHVlID0gY21hdGhfc3FydF9pbXBsKG1vZHVsZSwgeik7CisgICAgUHlGUEVfRU5EX1BST1RFQ1QoX3JldHVybl92YWx1ZSk7CisgICAgaWYgKGVycm5vID09IEVET00pIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsICJtYXRoIGRvbWFpbiBlcnJvciIpOworICAgICAgICBnb3RvIGV4aXQ7CisgICAgfQorICAgIGVsc2UgaWYgKGVycm5vID09IEVSQU5HRSkgeworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfT3ZlcmZsb3dFcnJvciwgIm1hdGggcmFuZ2UgZXJyb3IiKTsKKyAgICAgICAgZ290byBleGl0OworICAgIH0KKyAgICBlbHNlIHsKKyAgICAgICAgcmV0dXJuX3ZhbHVlID0gUHlDb21wbGV4X0Zyb21DQ29tcGxleChfcmV0dXJuX3ZhbHVlKTsKKyAgICB9CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworUHlEb2NfU1RSVkFSKGNtYXRoX3Rhbl9fZG9jX18sCisidGFuKCRtb2R1bGUsIHosIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gdGhlIHRhbmdlbnQgb2Ygei4iKTsKKworI2RlZmluZSBDTUFUSF9UQU5fTUVUSE9EREVGICAgIFwKKyAgICB7InRhbiIsIChQeUNGdW5jdGlvbiljbWF0aF90YW4sIE1FVEhfVkFSQVJHUywgY21hdGhfdGFuX19kb2NfX30sCisKK3N0YXRpYyBQeV9jb21wbGV4CitjbWF0aF90YW5faW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeV9jb21wbGV4IHopOworCitzdGF0aWMgUHlPYmplY3QgKgorY21hdGhfdGFuKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQoreworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIFB5X2NvbXBsZXggejsKKyAgICBQeV9jb21wbGV4IF9yZXR1cm5fdmFsdWU7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgIkQ6dGFuIiwKKyAgICAgICAgJnopKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgLyogbW9kaWZpY2F0aW9ucyBmb3IgeiAqLworICAgIGVycm5vID0gMDsgUHlGUEVfU1RBUlRfUFJPVEVDVCgiY29tcGxleCBmdW5jdGlvbiIsIGdvdG8gZXhpdCk7CisgICAgX3JldHVybl92YWx1ZSA9IGNtYXRoX3Rhbl9pbXBsKG1vZHVsZSwgeik7CisgICAgUHlGUEVfRU5EX1BST1RFQ1QoX3JldHVybl92YWx1ZSk7CisgICAgaWYgKGVycm5vID09IEVET00pIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsICJtYXRoIGRvbWFpbiBlcnJvciIpOworICAgICAgICBnb3RvIGV4aXQ7CisgICAgfQorICAgIGVsc2UgaWYgKGVycm5vID09IEVSQU5HRSkgeworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfT3ZlcmZsb3dFcnJvciwgIm1hdGggcmFuZ2UgZXJyb3IiKTsKKyAgICAgICAgZ290byBleGl0OworICAgIH0KKyAgICBlbHNlIHsKKyAgICAgICAgcmV0dXJuX3ZhbHVlID0gUHlDb21wbGV4X0Zyb21DQ29tcGxleChfcmV0dXJuX3ZhbHVlKTsKKyAgICB9CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworUHlEb2NfU1RSVkFSKGNtYXRoX3RhbmhfX2RvY19fLAorInRhbmgoJG1vZHVsZSwgeiwgLylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiB0aGUgaHlwZXJib2xpYyB0YW5nZW50IG9mIHouIik7CisKKyNkZWZpbmUgQ01BVEhfVEFOSF9NRVRIT0RERUYgICAgXAorICAgIHsidGFuaCIsIChQeUNGdW5jdGlvbiljbWF0aF90YW5oLCBNRVRIX1ZBUkFSR1MsIGNtYXRoX3RhbmhfX2RvY19ffSwKKworc3RhdGljIFB5X2NvbXBsZXgKK2NtYXRoX3RhbmhfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeV9jb21wbGV4IHopOworCitzdGF0aWMgUHlPYmplY3QgKgorY21hdGhfdGFuaChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBQeV9jb21wbGV4IHo7CisgICAgUHlfY29tcGxleCBfcmV0dXJuX3ZhbHVlOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICJEOnRhbmgiLAorICAgICAgICAmeikpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICAvKiBtb2RpZmljYXRpb25zIGZvciB6ICovCisgICAgZXJybm8gPSAwOyBQeUZQRV9TVEFSVF9QUk9URUNUKCJjb21wbGV4IGZ1bmN0aW9uIiwgZ290byBleGl0KTsKKyAgICBfcmV0dXJuX3ZhbHVlID0gY21hdGhfdGFuaF9pbXBsKG1vZHVsZSwgeik7CisgICAgUHlGUEVfRU5EX1BST1RFQ1QoX3JldHVybl92YWx1ZSk7CisgICAgaWYgKGVycm5vID09IEVET00pIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsICJtYXRoIGRvbWFpbiBlcnJvciIpOworICAgICAgICBnb3RvIGV4aXQ7CisgICAgfQorICAgIGVsc2UgaWYgKGVycm5vID09IEVSQU5HRSkgeworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfT3ZlcmZsb3dFcnJvciwgIm1hdGggcmFuZ2UgZXJyb3IiKTsKKyAgICAgICAgZ290byBleGl0OworICAgIH0KKyAgICBlbHNlIHsKKyAgICAgICAgcmV0dXJuX3ZhbHVlID0gUHlDb21wbGV4X0Zyb21DQ29tcGxleChfcmV0dXJuX3ZhbHVlKTsKKyAgICB9CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworUHlEb2NfU1RSVkFSKGNtYXRoX2xvZ19fZG9jX18sCisibG9nKCRtb2R1bGUsIHgsIHlfb2JqPU5vbmUsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJUaGUgbG9nYXJpdGhtIG9mIHogdG8gdGhlIGdpdmVuIGJhc2UuXG4iCisiXG4iCisiSWYgdGhlIGJhc2Ugbm90IHNwZWNpZmllZCwgcmV0dXJucyB0aGUgbmF0dXJhbCBsb2dhcml0aG0gKGJhc2UgZSkgb2Ygei4iKTsKKworI2RlZmluZSBDTUFUSF9MT0dfTUVUSE9EREVGICAgIFwKKyAgICB7ImxvZyIsIChQeUNGdW5jdGlvbiljbWF0aF9sb2csIE1FVEhfVkFSQVJHUywgY21hdGhfbG9nX19kb2NfX30sCisKK3N0YXRpYyBQeU9iamVjdCAqCitjbWF0aF9sb2dfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeV9jb21wbGV4IHgsIFB5T2JqZWN0ICp5X29iaik7CisKK3N0YXRpYyBQeU9iamVjdCAqCitjbWF0aF9sb2coUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgUHlfY29tcGxleCB4OworICAgIFB5T2JqZWN0ICp5X29iaiA9IE5VTEw7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgIkR8Tzpsb2ciLAorICAgICAgICAmeCwgJnlfb2JqKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IGNtYXRoX2xvZ19pbXBsKG1vZHVsZSwgeCwgeV9vYmopOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK1B5RG9jX1NUUlZBUihjbWF0aF9waGFzZV9fZG9jX18sCisicGhhc2UoJG1vZHVsZSwgeiwgLylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiBhcmd1bWVudCwgYWxzbyBrbm93biBhcyB0aGUgcGhhc2UgYW5nbGUsIG9mIGEgY29tcGxleC4iKTsKKworI2RlZmluZSBDTUFUSF9QSEFTRV9NRVRIT0RERUYgICAgXAorICAgIHsicGhhc2UiLCAoUHlDRnVuY3Rpb24pY21hdGhfcGhhc2UsIE1FVEhfVkFSQVJHUywgY21hdGhfcGhhc2VfX2RvY19ffSwKKworc3RhdGljIFB5T2JqZWN0ICoKK2NtYXRoX3BoYXNlX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlfY29tcGxleCB6KTsKKworc3RhdGljIFB5T2JqZWN0ICoKK2NtYXRoX3BoYXNlKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQoreworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIFB5X2NvbXBsZXggejsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAiRDpwaGFzZSIsCisgICAgICAgICZ6KSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IGNtYXRoX3BoYXNlX2ltcGwobW9kdWxlLCB6KTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitQeURvY19TVFJWQVIoY21hdGhfcG9sYXJfX2RvY19fLAorInBvbGFyKCRtb2R1bGUsIHosIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJDb252ZXJ0IGEgY29tcGxleCBmcm9tIHJlY3Rhbmd1bGFyIGNvb3JkaW5hdGVzIHRvIHBvbGFyIGNvb3JkaW5hdGVzLlxuIgorIlxuIgorInIgaXMgdGhlIGRpc3RhbmNlIGZyb20gMCBhbmQgcGhpIHRoZSBwaGFzZSBhbmdsZS4iKTsKKworI2RlZmluZSBDTUFUSF9QT0xBUl9NRVRIT0RERUYgICAgXAorICAgIHsicG9sYXIiLCAoUHlDRnVuY3Rpb24pY21hdGhfcG9sYXIsIE1FVEhfVkFSQVJHUywgY21hdGhfcG9sYXJfX2RvY19ffSwKKworc3RhdGljIFB5T2JqZWN0ICoKK2NtYXRoX3BvbGFyX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlfY29tcGxleCB6KTsKKworc3RhdGljIFB5T2JqZWN0ICoKK2NtYXRoX3BvbGFyKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQoreworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIFB5X2NvbXBsZXggejsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAiRDpwb2xhciIsCisgICAgICAgICZ6KSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IGNtYXRoX3BvbGFyX2ltcGwobW9kdWxlLCB6KTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitQeURvY19TVFJWQVIoY21hdGhfcmVjdF9fZG9jX18sCisicmVjdCgkbW9kdWxlLCByLCBwaGksIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJDb252ZXJ0IGZyb20gcG9sYXIgY29vcmRpbmF0ZXMgdG8gcmVjdGFuZ3VsYXIgY29vcmRpbmF0ZXMuIik7CisKKyNkZWZpbmUgQ01BVEhfUkVDVF9NRVRIT0RERUYgICAgXAorICAgIHsicmVjdCIsIChQeUNGdW5jdGlvbiljbWF0aF9yZWN0LCBNRVRIX1ZBUkFSR1MsIGNtYXRoX3JlY3RfX2RvY19ffSwKKworc3RhdGljIFB5T2JqZWN0ICoKK2NtYXRoX3JlY3RfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBkb3VibGUgciwgZG91YmxlIHBoaSk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitjbWF0aF9yZWN0KFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQoreworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIGRvdWJsZSByOworICAgIGRvdWJsZSBwaGk7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgImRkOnJlY3QiLAorICAgICAgICAmciwgJnBoaSkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBjbWF0aF9yZWN0X2ltcGwobW9kdWxlLCByLCBwaGkpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK1B5RG9jX1NUUlZBUihjbWF0aF9pc2Zpbml0ZV9fZG9jX18sCisiaXNmaW5pdGUoJG1vZHVsZSwgeiwgLylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiBUcnVlIGlmIGJvdGggdGhlIHJlYWwgYW5kIGltYWdpbmFyeSBwYXJ0cyBvZiB6IGFyZSBmaW5pdGUsIGVsc2UgRmFsc2UuIik7CisKKyNkZWZpbmUgQ01BVEhfSVNGSU5JVEVfTUVUSE9EREVGICAgIFwKKyAgICB7ImlzZmluaXRlIiwgKFB5Q0Z1bmN0aW9uKWNtYXRoX2lzZmluaXRlLCBNRVRIX1ZBUkFSR1MsIGNtYXRoX2lzZmluaXRlX19kb2NfX30sCisKK3N0YXRpYyBQeU9iamVjdCAqCitjbWF0aF9pc2Zpbml0ZV9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5X2NvbXBsZXggeik7CisKK3N0YXRpYyBQeU9iamVjdCAqCitjbWF0aF9pc2Zpbml0ZShQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBQeV9jb21wbGV4IHo7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgIkQ6aXNmaW5pdGUiLAorICAgICAgICAmeikpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBjbWF0aF9pc2Zpbml0ZV9pbXBsKG1vZHVsZSwgeik7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworUHlEb2NfU1RSVkFSKGNtYXRoX2lzbmFuX19kb2NfXywKKyJpc25hbigkbW9kdWxlLCB6LCAvKVxuIgorIi0tXG4iCisiXG4iCisiQ2hlY2tzIGlmIHRoZSByZWFsIG9yIGltYWdpbmFyeSBwYXJ0IG9mIHogbm90IGEgbnVtYmVyIChOYU4pLiIpOworCisjZGVmaW5lIENNQVRIX0lTTkFOX01FVEhPRERFRiAgICBcCisgICAgeyJpc25hbiIsIChQeUNGdW5jdGlvbiljbWF0aF9pc25hbiwgTUVUSF9WQVJBUkdTLCBjbWF0aF9pc25hbl9fZG9jX199LAorCitzdGF0aWMgUHlPYmplY3QgKgorY21hdGhfaXNuYW5faW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeV9jb21wbGV4IHopOworCitzdGF0aWMgUHlPYmplY3QgKgorY21hdGhfaXNuYW4oUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgUHlfY29tcGxleCB6OworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICJEOmlzbmFuIiwKKyAgICAgICAgJnopKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gY21hdGhfaXNuYW5faW1wbChtb2R1bGUsIHopOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK1B5RG9jX1NUUlZBUihjbWF0aF9pc2luZl9fZG9jX18sCisiaXNpbmYoJG1vZHVsZSwgeiwgLylcbiIKKyItLVxuIgorIlxuIgorIkNoZWNrcyBpZiB0aGUgcmVhbCBvciBpbWFnaW5hcnkgcGFydCBvZiB6IGlzIGluZmluaXRlLiIpOworCisjZGVmaW5lIENNQVRIX0lTSU5GX01FVEhPRERFRiAgICBcCisgICAgeyJpc2luZiIsIChQeUNGdW5jdGlvbiljbWF0aF9pc2luZiwgTUVUSF9WQVJBUkdTLCBjbWF0aF9pc2luZl9fZG9jX199LAorCitzdGF0aWMgUHlPYmplY3QgKgorY21hdGhfaXNpbmZfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeV9jb21wbGV4IHopOworCitzdGF0aWMgUHlPYmplY3QgKgorY21hdGhfaXNpbmYoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgUHlfY29tcGxleCB6OworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICJEOmlzaW5mIiwKKyAgICAgICAgJnopKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gY21hdGhfaXNpbmZfaW1wbChtb2R1bGUsIHopOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9OWI2ZDgxNzExZTRlM2M0YiBpbnB1dD1hOTA0OTA1NDAxM2ExYjc3XSovCmRpZmYgLS1naXQgYS9Nb2R1bGVzL2NsaW5pYy9mY250bG1vZHVsZS5jLmggYi9Nb2R1bGVzL2NsaW5pYy9mY250bG1vZHVsZS5jLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzc3ZTU1ZAotLS0gL2Rldi9udWxsCisrKyBiL01vZHVsZXMvY2xpbmljL2ZjbnRsbW9kdWxlLmMuaApAQCAtMCwwICsxLDE4OCBAQAorLypbY2xpbmljIGlucHV0XQorcHJlc2VydmUKK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKGZjbnRsX2ZjbnRsX19kb2NfXywKKyJmY250bCgkbW9kdWxlLCBmZCwgY29kZSwgYXJnPU5vbmUsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJQZXJmb3JtIHRoZSBvcGVyYXRpb24gYGNvZGVgIG9uIGZpbGUgZGVzY3JpcHRvciBmZC5cbiIKKyJcbiIKKyJUaGUgdmFsdWVzIHVzZWQgZm9yIGBjb2RlYCBhcmUgb3BlcmF0aW5nIHN5c3RlbSBkZXBlbmRlbnQsIGFuZCBhcmUgYXZhaWxhYmxlXG4iCisiYXMgY29uc3RhbnRzIGluIHRoZSBmY250bCBtb2R1bGUsIHVzaW5nIHRoZSBzYW1lIG5hbWVzIGFzIHVzZWQgaW5cbiIKKyJ0aGUgcmVsZXZhbnQgQyBoZWFkZXIgZmlsZXMuICBUaGUgYXJndW1lbnQgYXJnIGlzIG9wdGlvbmFsLCBhbmRcbiIKKyJkZWZhdWx0cyB0byAwOyBpdCBtYXkgYmUgYW4gaW50IG9yIGEgc3RyaW5nLiAgSWYgYXJnIGlzIGdpdmVuIGFzIGEgc3RyaW5nLFxuIgorInRoZSByZXR1cm4gdmFsdWUgb2YgZmNudGwgaXMgYSBzdHJpbmcgb2YgdGhhdCBsZW5ndGgsIGNvbnRhaW5pbmcgdGhlXG4iCisicmVzdWx0aW5nIHZhbHVlIHB1dCBpbiB0aGUgYXJnIGJ1ZmZlciBieSB0aGUgb3BlcmF0aW5nIHN5c3RlbS4gIFRoZSBsZW5ndGhcbiIKKyJvZiB0aGUgYXJnIHN0cmluZyBpcyBub3QgYWxsb3dlZCB0byBleGNlZWQgMTAyNCBieXRlcy4gIElmIHRoZSBhcmcgZ2l2ZW5cbiIKKyJpcyBhbiBpbnRlZ2VyIG9yIGlmIG5vbmUgaXMgc3BlY2lmaWVkLCB0aGUgcmVzdWx0IHZhbHVlIGlzIGFuIGludGVnZXJcbiIKKyJjb3JyZXNwb25kaW5nIHRvIHRoZSByZXR1cm4gdmFsdWUgb2YgdGhlIGZjbnRsIGNhbGwgaW4gdGhlIEMgY29kZS4iKTsKKworI2RlZmluZSBGQ05UTF9GQ05UTF9NRVRIT0RERUYgICAgXAorICAgIHsiZmNudGwiLCAoUHlDRnVuY3Rpb24pZmNudGxfZmNudGwsIE1FVEhfVkFSQVJHUywgZmNudGxfZmNudGxfX2RvY19ffSwKKworc3RhdGljIFB5T2JqZWN0ICoKK2ZjbnRsX2ZjbnRsX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IGZkLCBpbnQgY29kZSwgUHlPYmplY3QgKmFyZyk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitmY250bF9mY250bChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBpbnQgZmQ7CisgICAgaW50IGNvZGU7CisgICAgUHlPYmplY3QgKmFyZyA9IE5VTEw7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgIk8maXxPOmZjbnRsIiwKKyAgICAgICAgY29udl9kZXNjcmlwdG9yLCAmZmQsICZjb2RlLCAmYXJnKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IGZjbnRsX2ZjbnRsX2ltcGwobW9kdWxlLCBmZCwgY29kZSwgYXJnKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitQeURvY19TVFJWQVIoZmNudGxfaW9jdGxfX2RvY19fLAorImlvY3RsKCRtb2R1bGUsIGZkLCBvcCwgYXJnPU5vbmUsIG11dGF0ZV9mbGFnPVRydWUsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJQZXJmb3JtIHRoZSBvcGVyYXRpb24gb3Agb24gZmlsZSBkZXNjcmlwdG9yIGZkLlxuIgorIlxuIgorIlRoZSB2YWx1ZXMgdXNlZCBmb3Igb3AgYXJlIG9wZXJhdGluZyBzeXN0ZW0gZGVwZW5kZW50LCBhbmQgYXJlIGF2YWlsYWJsZSBhc1xuIgorImNvbnN0YW50cyBpbiB0aGUgZmNudGwgb3IgdGVybWlvcyBsaWJyYXJ5IG1vZHVsZXMsIHVzaW5nIHRoZSBzYW1lIG5hbWVzIGFzXG4iCisidXNlZCBpbiB0aGUgcmVsZXZhbnQgQyBoZWFkZXIgZmlsZXMuXG4iCisiXG4iCisiVGhlIGFyZ3VtZW50IGBhcmdgIGlzIG9wdGlvbmFsLCBhbmQgZGVmYXVsdHMgdG8gMDsgaXQgbWF5IGJlIGFuIGludCBvciBhXG4iCisiYnVmZmVyIGNvbnRhaW5pbmcgY2hhcmFjdGVyIGRhdGEgKG1vc3QgbGlrZWx5IGEgc3RyaW5nIG9yIGFuIGFycmF5KS5cbiIKKyJcbiIKKyJJZiB0aGUgYXJndW1lbnQgaXMgYSBtdXRhYmxlIGJ1ZmZlciAoc3VjaCBhcyBhbiBhcnJheSkgYW5kIGlmIHRoZVxuIgorIm11dGF0ZV9mbGFnIGFyZ3VtZW50ICh3aGljaCBpcyBvbmx5IGFsbG93ZWQgaW4gdGhpcyBjYXNlKSBpcyB0cnVlIHRoZW4gdGhlXG4iCisiYnVmZmVyIGlzIChpbiBlZmZlY3QpIHBhc3NlZCB0byB0aGUgb3BlcmF0aW5nIHN5c3RlbSBhbmQgY2hhbmdlcyBtYWRlIGJ5XG4iCisidGhlIE9TIHdpbGwgYmUgcmVmbGVjdGVkIGluIHRoZSBjb250ZW50cyBvZiB0aGUgYnVmZmVyIGFmdGVyIHRoZSBjYWxsIGhhc1xuIgorInJldHVybmVkLiAgVGhlIHJldHVybiB2YWx1ZSBpcyB0aGUgaW50ZWdlciByZXR1cm5lZCBieSB0aGUgaW9jdGwgc3lzdGVtXG4iCisiY2FsbC5cbiIKKyJcbiIKKyJJZiB0aGUgYXJndW1lbnQgaXMgYSBtdXRhYmxlIGJ1ZmZlciBhbmQgdGhlIG11dGFibGVfZmxhZyBhcmd1bWVudCBpcyBub3RcbiIKKyJwYXNzZWQgb3IgaXMgZmFsc2UsIHRoZSBiZWhhdmlvciBpcyBhcyBpZiBhIHN0cmluZyBoYWQgYmVlbiBwYXNzZWQuICBUaGlzXG4iCisiYmVoYXZpb3Igd2lsbCBjaGFuZ2UgaW4gZnV0dXJlIHJlbGVhc2VzIG9mIFB5dGhvbi5cbiIKKyJcbiIKKyJJZiB0aGUgYXJndW1lbnQgaXMgYW4gaW1tdXRhYmxlIGJ1ZmZlciAobW9zdCBsaWtlbHkgYSBzdHJpbmcpIHRoZW4gYSBjb3B5XG4iCisib2YgdGhlIGJ1ZmZlciBpcyBwYXNzZWQgdG8gdGhlIG9wZXJhdGluZyBzeXN0ZW0gYW5kIHRoZSByZXR1cm4gdmFsdWUgaXMgYVxuIgorInN0cmluZyBvZiB0aGUgc2FtZSBsZW5ndGggY29udGFpbmluZyB3aGF0ZXZlciB0aGUgb3BlcmF0aW5nIHN5c3RlbSBwdXQgaW5cbiIKKyJ0aGUgYnVmZmVyLiAgVGhlIGxlbmd0aCBvZiB0aGUgYXJnIGJ1ZmZlciBpbiB0aGlzIGNhc2UgaXMgbm90IGFsbG93ZWQgdG9cbiIKKyJleGNlZWQgMTAyNCBieXRlcy5cbiIKKyJcbiIKKyJJZiB0aGUgYXJnIGdpdmVuIGlzIGFuIGludGVnZXIgb3IgaWYgbm9uZSBpcyBzcGVjaWZpZWQsIHRoZSByZXN1bHQgdmFsdWUgaXNcbiIKKyJhbiBpbnRlZ2VyIGNvcnJlc3BvbmRpbmcgdG8gdGhlIHJldHVybiB2YWx1ZSBvZiB0aGUgaW9jdGwgY2FsbCBpbiB0aGUgQ1xuIgorImNvZGUuIik7CisKKyNkZWZpbmUgRkNOVExfSU9DVExfTUVUSE9EREVGICAgIFwKKyAgICB7ImlvY3RsIiwgKFB5Q0Z1bmN0aW9uKWZjbnRsX2lvY3RsLCBNRVRIX1ZBUkFSR1MsIGZjbnRsX2lvY3RsX19kb2NfX30sCisKK3N0YXRpYyBQeU9iamVjdCAqCitmY250bF9pb2N0bF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCBmZCwgdW5zaWduZWQgaW50IGNvZGUsIFB5T2JqZWN0ICpvYl9hcmcsIGludCBtdXRhdGVfYXJnKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK2ZjbnRsX2lvY3RsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQoreworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIGludCBmZDsKKyAgICB1bnNpZ25lZCBpbnQgY29kZTsKKyAgICBQeU9iamVjdCAqb2JfYXJnID0gTlVMTDsKKyAgICBpbnQgbXV0YXRlX2FyZyA9IDE7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgIk8mSXxPcDppb2N0bCIsCisgICAgICAgIGNvbnZfZGVzY3JpcHRvciwgJmZkLCAmY29kZSwgJm9iX2FyZywgJm11dGF0ZV9hcmcpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gZmNudGxfaW9jdGxfaW1wbChtb2R1bGUsIGZkLCBjb2RlLCBvYl9hcmcsIG11dGF0ZV9hcmcpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK1B5RG9jX1NUUlZBUihmY250bF9mbG9ja19fZG9jX18sCisiZmxvY2soJG1vZHVsZSwgZmQsIGNvZGUsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJQZXJmb3JtIHRoZSBsb2NrIG9wZXJhdGlvbiBvcCBvbiBmaWxlIGRlc2NyaXB0b3IgZmQuXG4iCisiXG4iCisiU2VlIHRoZSBVbml4IG1hbnVhbCBwYWdlIGZvciBmbG9jaygyKSBmb3IgZGV0YWlscyAoT24gc29tZSBzeXN0ZW1zLCB0aGlzXG4iCisiZnVuY3Rpb24gaXMgZW11bGF0ZWQgdXNpbmcgZmNudGwoKSkuIik7CisKKyNkZWZpbmUgRkNOVExfRkxPQ0tfTUVUSE9EREVGICAgIFwKKyAgICB7ImZsb2NrIiwgKFB5Q0Z1bmN0aW9uKWZjbnRsX2Zsb2NrLCBNRVRIX1ZBUkFSR1MsIGZjbnRsX2Zsb2NrX19kb2NfX30sCisKK3N0YXRpYyBQeU9iamVjdCAqCitmY250bF9mbG9ja19pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCBmZCwgaW50IGNvZGUpOworCitzdGF0aWMgUHlPYmplY3QgKgorZmNudGxfZmxvY2soUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgaW50IGZkOworICAgIGludCBjb2RlOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICJPJmk6ZmxvY2siLAorICAgICAgICBjb252X2Rlc2NyaXB0b3IsICZmZCwgJmNvZGUpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gZmNudGxfZmxvY2tfaW1wbChtb2R1bGUsIGZkLCBjb2RlKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitQeURvY19TVFJWQVIoZmNudGxfbG9ja2ZfX2RvY19fLAorImxvY2tmKCRtb2R1bGUsIGZkLCBjb2RlLCBsZW5vYmo9Tm9uZSwgc3RhcnRvYmo9Tm9uZSwgd2hlbmNlPTAsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJBIHdyYXBwZXIgYXJvdW5kIHRoZSBmY250bCgpIGxvY2tpbmcgY2FsbHMuXG4iCisiXG4iCisiZmQgaXMgdGhlIGZpbGUgZGVzY3JpcHRvciBvZiB0aGUgZmlsZSB0byBsb2NrIG9yIHVubG9jaywgYW5kIG9wZXJhdGlvbiBpcyBvbmVcbiIKKyJvZiB0aGUgZm9sbG93aW5nIHZhbHVlczpcbiIKKyJcbiIKKyIgICAgTE9DS19VTiAtIHVubG9ja1xuIgorIiAgICBMT0NLX1NIIC0gYWNxdWlyZSBhIHNoYXJlZCBsb2NrXG4iCisiICAgIExPQ0tfRVggLSBhY3F1aXJlIGFuIGV4Y2x1c2l2ZSBsb2NrXG4iCisiXG4iCisiV2hlbiBvcGVyYXRpb24gaXMgTE9DS19TSCBvciBMT0NLX0VYLCBpdCBjYW4gYWxzbyBiZSBiaXR3aXNlIE9SZWQgd2l0aFxuIgorIkxPQ0tfTkIgdG8gYXZvaWQgYmxvY2tpbmcgb24gbG9jayBhY3F1aXNpdGlvbi4gIElmIExPQ0tfTkIgaXMgdXNlZCBhbmQgdGhlXG4iCisibG9jayBjYW5ub3QgYmUgYWNxdWlyZWQsIGFuIElPRXJyb3Igd2lsbCBiZSByYWlzZWQgYW5kIHRoZSBleGNlcHRpb24gd2lsbFxuIgorImhhdmUgYW4gZXJybm8gYXR0cmlidXRlIHNldCB0byBFQUNDRVMgb3IgRUFHQUlOIChkZXBlbmRpbmcgb24gdGhlIG9wZXJhdGluZ1xuIgorInN5c3RlbSAtLSBmb3IgcG9ydGFiaWxpdHksIGNoZWNrIGZvciBlaXRoZXIgdmFsdWUpLlxuIgorIlxuIgorImxlbmd0aCBpcyB0aGUgbnVtYmVyIG9mIGJ5dGVzIHRvIGxvY2ssIHdpdGggdGhlIGRlZmF1bHQgbWVhbmluZyB0byBsb2NrIHRvXG4iCisiRU9GLiAgc3RhcnQgaXMgdGhlIGJ5dGUgb2Zmc2V0LCByZWxhdGl2ZSB0byB3aGVuY2UsIHRvIHRoYXQgdGhlIGxvY2tcbiIKKyJzdGFydHMuICB3aGVuY2UgaXMgYXMgd2l0aCBmaWxlb2JqLnNlZWsoKSwgc3BlY2lmaWNhbGx5OlxuIgorIlxuIgorIiAgICAwIC0gcmVsYXRpdmUgdG8gdGhlIHN0YXJ0IG9mIHRoZSBmaWxlIChTRUVLX1NFVClcbiIKKyIgICAgMSAtIHJlbGF0aXZlIHRvIHRoZSBjdXJyZW50IGJ1ZmZlciBwb3NpdGlvbiAoU0VFS19DVVIpXG4iCisiICAgIDIgLSByZWxhdGl2ZSB0byB0aGUgZW5kIG9mIHRoZSBmaWxlIChTRUVLX0VORCkiKTsKKworI2RlZmluZSBGQ05UTF9MT0NLRl9NRVRIT0RERUYgICAgXAorICAgIHsibG9ja2YiLCAoUHlDRnVuY3Rpb24pZmNudGxfbG9ja2YsIE1FVEhfVkFSQVJHUywgZmNudGxfbG9ja2ZfX2RvY19ffSwKKworc3RhdGljIFB5T2JqZWN0ICoKK2ZjbnRsX2xvY2tmX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IGZkLCBpbnQgY29kZSwgUHlPYmplY3QgKmxlbm9iaiwgUHlPYmplY3QgKnN0YXJ0b2JqLCBpbnQgd2hlbmNlKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK2ZjbnRsX2xvY2tmKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQoreworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIGludCBmZDsKKyAgICBpbnQgY29kZTsKKyAgICBQeU9iamVjdCAqbGVub2JqID0gTlVMTDsKKyAgICBQeU9iamVjdCAqc3RhcnRvYmogPSBOVUxMOworICAgIGludCB3aGVuY2UgPSAwOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICJPJml8T09pOmxvY2tmIiwKKyAgICAgICAgY29udl9kZXNjcmlwdG9yLCAmZmQsICZjb2RlLCAmbGVub2JqLCAmc3RhcnRvYmosICZ3aGVuY2UpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gZmNudGxfbG9ja2ZfaW1wbChtb2R1bGUsIGZkLCBjb2RlLCBsZW5vYmosIHN0YXJ0b2JqLCB3aGVuY2UpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ODRiZGRlNzNhOTJmN2M2MSBpbnB1dD1hOTA0OTA1NDAxM2ExYjc3XSovCmRpZmYgLS1naXQgYS9Nb2R1bGVzL2NsaW5pYy9ncnBtb2R1bGUuYy5oIGIvTW9kdWxlcy9jbGluaWMvZ3JwbW9kdWxlLmMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42ODE4MzA5Ci0tLSAvZGV2L251bGwKKysrIGIvTW9kdWxlcy9jbGluaWMvZ3JwbW9kdWxlLmMuaApAQCAtMCwwICsxLDg3IEBACisvKltjbGluaWMgaW5wdXRdCitwcmVzZXJ2ZQorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIoZ3JwX2dldGdyZ2lkX19kb2NfXywKKyJnZXRncmdpZCgkbW9kdWxlLCAvLCBpZClcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiB0aGUgZ3JvdXAgZGF0YWJhc2UgZW50cnkgZm9yIHRoZSBnaXZlbiBudW1lcmljIGdyb3VwIElELlxuIgorIlxuIgorIklmIGlkIGlzIG5vdCB2YWxpZCwgcmFpc2UgS2V5RXJyb3IuIik7CisKKyNkZWZpbmUgR1JQX0dFVEdSR0lEX01FVEhPRERFRiAgICBcCisgICAgeyJnZXRncmdpZCIsIChQeUNGdW5jdGlvbilncnBfZ2V0Z3JnaWQsIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBncnBfZ2V0Z3JnaWRfX2RvY19ffSwKKworc3RhdGljIFB5T2JqZWN0ICoKK2dycF9nZXRncmdpZF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICppZCk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitncnBfZ2V0Z3JnaWQoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCit7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgc3RhdGljIGNoYXIgKl9rZXl3b3Jkc1tdID0geyJpZCIsIE5VTEx9OworICAgIFB5T2JqZWN0ICppZDsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywKKyAgICAgICAgIk86Z2V0Z3JnaWQiLCBfa2V5d29yZHMsCisgICAgICAgICZpZCkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBncnBfZ2V0Z3JnaWRfaW1wbChtb2R1bGUsIGlkKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitQeURvY19TVFJWQVIoZ3JwX2dldGdybmFtX19kb2NfXywKKyJnZXRncm5hbSgkbW9kdWxlLCAvLCBuYW1lKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIHRoZSBncm91cCBkYXRhYmFzZSBlbnRyeSBmb3IgdGhlIGdpdmVuIGdyb3VwIG5hbWUuXG4iCisiXG4iCisiSWYgbmFtZSBpcyBub3QgdmFsaWQsIHJhaXNlIEtleUVycm9yLiIpOworCisjZGVmaW5lIEdSUF9HRVRHUk5BTV9NRVRIT0RERUYgICAgXAorICAgIHsiZ2V0Z3JuYW0iLCAoUHlDRnVuY3Rpb24pZ3JwX2dldGdybmFtLCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgZ3JwX2dldGdybmFtX19kb2NfX30sCisKK3N0YXRpYyBQeU9iamVjdCAqCitncnBfZ2V0Z3JuYW1faW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqbmFtZSk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitncnBfZ2V0Z3JuYW0oUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCit7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgc3RhdGljIGNoYXIgKl9rZXl3b3Jkc1tdID0geyJuYW1lIiwgTlVMTH07CisgICAgUHlPYmplY3QgKm5hbWU7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsCisgICAgICAgICJVOmdldGdybmFtIiwgX2tleXdvcmRzLAorICAgICAgICAmbmFtZSkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBncnBfZ2V0Z3JuYW1faW1wbChtb2R1bGUsIG5hbWUpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK1B5RG9jX1NUUlZBUihncnBfZ2V0Z3JhbGxfX2RvY19fLAorImdldGdyYWxsKCRtb2R1bGUsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gYSBsaXN0IG9mIGFsbCBhdmFpbGFibGUgZ3JvdXAgZW50cmllcywgaW4gYXJiaXRyYXJ5IG9yZGVyLlxuIgorIlxuIgorIkFuIGVudHJ5IHdob3NlIG5hbWUgc3RhcnRzIHdpdGggXCcrXCcgb3IgXCctXCcgcmVwcmVzZW50cyBhbiBpbnN0cnVjdGlvblxuIgorInRvIHVzZSBZUC9OSVMgYW5kIG1heSBub3QgYmUgYWNjZXNzaWJsZSB2aWEgZ2V0Z3JuYW0gb3IgZ2V0Z3JnaWQuIik7CisKKyNkZWZpbmUgR1JQX0dFVEdSQUxMX01FVEhPRERFRiAgICBcCisgICAgeyJnZXRncmFsbCIsIChQeUNGdW5jdGlvbilncnBfZ2V0Z3JhbGwsIE1FVEhfTk9BUkdTLCBncnBfZ2V0Z3JhbGxfX2RvY19ffSwKKworc3RhdGljIFB5T2JqZWN0ICoKK2dycF9nZXRncmFsbF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUpOworCitzdGF0aWMgUHlPYmplY3QgKgorZ3JwX2dldGdyYWxsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpQeV9VTlVTRUQoaWdub3JlZCkpCit7CisgICAgcmV0dXJuIGdycF9nZXRncmFsbF9pbXBsKG1vZHVsZSk7Cit9CisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9NDcwOWE2YmE0MGJiOGRmOSBpbnB1dD1hOTA0OTA1NDAxM2ExYjc3XSovCmRpZmYgLS1naXQgYS9Nb2R1bGVzL2NsaW5pYy9wd2Rtb2R1bGUuYy5oIGIvTW9kdWxlcy9jbGluaWMvcHdkbW9kdWxlLmMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YTQwMDQyCi0tLSAvZGV2L251bGwKKysrIGIvTW9kdWxlcy9jbGluaWMvcHdkbW9kdWxlLmMuaApAQCAtMCwwICsxLDczIEBACisvKltjbGluaWMgaW5wdXRdCitwcmVzZXJ2ZQorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIocHdkX2dldHB3dWlkX19kb2NfXywKKyJnZXRwd3VpZCgkbW9kdWxlLCB1aWRvYmosIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gdGhlIHBhc3N3b3JkIGRhdGFiYXNlIGVudHJ5IGZvciB0aGUgZ2l2ZW4gbnVtZXJpYyB1c2VyIElELlxuIgorIlxuIgorIlNlZSBgaGVscChwd2QpYCBmb3IgbW9yZSBvbiBwYXNzd29yZCBkYXRhYmFzZSBlbnRyaWVzLiIpOworCisjZGVmaW5lIFBXRF9HRVRQV1VJRF9NRVRIT0RERUYgICAgXAorICAgIHsiZ2V0cHd1aWQiLCAoUHlDRnVuY3Rpb24pcHdkX2dldHB3dWlkLCBNRVRIX08sIHB3ZF9nZXRwd3VpZF9fZG9jX199LAorCitQeURvY19TVFJWQVIocHdkX2dldHB3bmFtX19kb2NfXywKKyJnZXRwd25hbSgkbW9kdWxlLCBhcmcsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gdGhlIHBhc3N3b3JkIGRhdGFiYXNlIGVudHJ5IGZvciB0aGUgZ2l2ZW4gdXNlciBuYW1lLlxuIgorIlxuIgorIlNlZSBgaGVscChwd2QpYCBmb3IgbW9yZSBvbiBwYXNzd29yZCBkYXRhYmFzZSBlbnRyaWVzLiIpOworCisjZGVmaW5lIFBXRF9HRVRQV05BTV9NRVRIT0RERUYgICAgXAorICAgIHsiZ2V0cHduYW0iLCAoUHlDRnVuY3Rpb24pcHdkX2dldHB3bmFtLCBNRVRIX1ZBUkFSR1MsIHB3ZF9nZXRwd25hbV9fZG9jX199LAorCitzdGF0aWMgUHlPYmplY3QgKgorcHdkX2dldHB3bmFtX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZyk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitwd2RfZ2V0cHduYW0oUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgUHlPYmplY3QgKmFyZzsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAiVTpnZXRwd25hbSIsCisgICAgICAgICZhcmcpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gcHdkX2dldHB3bmFtX2ltcGwobW9kdWxlLCBhcmcpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKKyNpZiBkZWZpbmVkKEhBVkVfR0VUUFdFTlQpCisKK1B5RG9jX1NUUlZBUihwd2RfZ2V0cHdhbGxfX2RvY19fLAorImdldHB3YWxsKCRtb2R1bGUsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gYSBsaXN0IG9mIGFsbCBhdmFpbGFibGUgcGFzc3dvcmQgZGF0YWJhc2UgZW50cmllcywgaW4gYXJiaXRyYXJ5IG9yZGVyLlxuIgorIlxuIgorIlNlZSBoZWxwKHB3ZCkgZm9yIG1vcmUgb24gcGFzc3dvcmQgZGF0YWJhc2UgZW50cmllcy4iKTsKKworI2RlZmluZSBQV0RfR0VUUFdBTExfTUVUSE9EREVGICAgIFwKKyAgICB7ImdldHB3YWxsIiwgKFB5Q0Z1bmN0aW9uKXB3ZF9nZXRwd2FsbCwgTUVUSF9OT0FSR1MsIHB3ZF9nZXRwd2FsbF9fZG9jX199LAorCitzdGF0aWMgUHlPYmplY3QgKgorcHdkX2dldHB3YWxsX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitwd2RfZ2V0cHdhbGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKlB5X1VOVVNFRChpZ25vcmVkKSkKK3sKKyAgICByZXR1cm4gcHdkX2dldHB3YWxsX2ltcGwobW9kdWxlKTsKK30KKworI2VuZGlmIC8qIGRlZmluZWQoSEFWRV9HRVRQV0VOVCkgKi8KKworI2lmbmRlZiBQV0RfR0VUUFdBTExfTUVUSE9EREVGCisgICAgI2RlZmluZSBQV0RfR0VUUFdBTExfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoUFdEX0dFVFBXQUxMX01FVEhPRERFRikgKi8KKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD0yZTIzZjkyMDAyMGE3NTBhIGlucHV0PWE5MDQ5MDU0MDEzYTFiNzddKi8KZGlmZiAtLWdpdCBhL01vZHVsZXMvY2xpbmljL3Nwd2Rtb2R1bGUuYy5oIGIvTW9kdWxlcy9jbGluaWMvc3B3ZG1vZHVsZS5jLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjA5MWZjOQotLS0gL2Rldi9udWxsCisrKyBiL01vZHVsZXMvY2xpbmljL3Nwd2Rtb2R1bGUuYy5oCkBAIC0wLDAgKzEsNzAgQEAKKy8qW2NsaW5pYyBpbnB1dF0KK3ByZXNlcnZlCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKKyNpZiBkZWZpbmVkKEhBVkVfR0VUU1BOQU0pCisKK1B5RG9jX1NUUlZBUihzcHdkX2dldHNwbmFtX19kb2NfXywKKyJnZXRzcG5hbSgkbW9kdWxlLCBhcmcsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gdGhlIHNoYWRvdyBwYXNzd29yZCBkYXRhYmFzZSBlbnRyeSBmb3IgdGhlIGdpdmVuIHVzZXIgbmFtZS5cbiIKKyJcbiIKKyJTZWUgYGhlbHAoc3B3ZClgIGZvciBtb3JlIG9uIHNoYWRvdyBwYXNzd29yZCBkYXRhYmFzZSBlbnRyaWVzLiIpOworCisjZGVmaW5lIFNQV0RfR0VUU1BOQU1fTUVUSE9EREVGICAgIFwKKyAgICB7ImdldHNwbmFtIiwgKFB5Q0Z1bmN0aW9uKXNwd2RfZ2V0c3BuYW0sIE1FVEhfVkFSQVJHUywgc3B3ZF9nZXRzcG5hbV9fZG9jX199LAorCitzdGF0aWMgUHlPYmplY3QgKgorc3B3ZF9nZXRzcG5hbV9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmcpOworCitzdGF0aWMgUHlPYmplY3QgKgorc3B3ZF9nZXRzcG5hbShQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBQeU9iamVjdCAqYXJnOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICJVOmdldHNwbmFtIiwKKyAgICAgICAgJmFyZykpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBzcHdkX2dldHNwbmFtX2ltcGwobW9kdWxlLCBhcmcpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKKyNlbmRpZiAvKiBkZWZpbmVkKEhBVkVfR0VUU1BOQU0pICovCisKKyNpZm5kZWYgU1BXRF9HRVRTUE5BTV9NRVRIT0RERUYKKyAgICAjZGVmaW5lIFNQV0RfR0VUU1BOQU1fTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoU1BXRF9HRVRTUE5BTV9NRVRIT0RERUYpICovCisKKyNpZiBkZWZpbmVkKEhBVkVfR0VUU1BFTlQpCisKK1B5RG9jX1NUUlZBUihzcHdkX2dldHNwYWxsX19kb2NfXywKKyJnZXRzcGFsbCgkbW9kdWxlLCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIGEgbGlzdCBvZiBhbGwgYXZhaWxhYmxlIHNoYWRvdyBwYXNzd29yZCBkYXRhYmFzZSBlbnRyaWVzLCBpbiBhcmJpdHJhcnkgb3JkZXIuXG4iCisiXG4iCisiU2VlIGBoZWxwKHNwd2QpYCBmb3IgbW9yZSBvbiBzaGFkb3cgcGFzc3dvcmQgZGF0YWJhc2UgZW50cmllcy4iKTsKKworI2RlZmluZSBTUFdEX0dFVFNQQUxMX01FVEhPRERFRiAgICBcCisgICAgeyJnZXRzcGFsbCIsIChQeUNGdW5jdGlvbilzcHdkX2dldHNwYWxsLCBNRVRIX05PQVJHUywgc3B3ZF9nZXRzcGFsbF9fZG9jX199LAorCitzdGF0aWMgUHlPYmplY3QgKgorc3B3ZF9nZXRzcGFsbF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUpOworCitzdGF0aWMgUHlPYmplY3QgKgorc3B3ZF9nZXRzcGFsbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqUHlfVU5VU0VEKGlnbm9yZWQpKQoreworICAgIHJldHVybiBzcHdkX2dldHNwYWxsX2ltcGwobW9kdWxlKTsKK30KKworI2VuZGlmIC8qIGRlZmluZWQoSEFWRV9HRVRTUEVOVCkgKi8KKworI2lmbmRlZiBTUFdEX0dFVFNQQUxMX01FVEhPRERFRgorICAgICNkZWZpbmUgU1BXRF9HRVRTUEFMTF9NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChTUFdEX0dFVFNQQUxMX01FVEhPRERFRikgKi8KKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD00MWZlYzRhMTViMGNkMmEwIGlucHV0PWE5MDQ5MDU0MDEzYTFiNzddKi8KZGlmZiAtLWdpdCBhL01vZHVsZXMvY21hdGhtb2R1bGUuYyBiL01vZHVsZXMvY21hdGhtb2R1bGUuYwppbmRleCBlYjI4NTNjLi42NzE2MWFkIDEwMDY0NAotLS0gYS9Nb2R1bGVzL2NtYXRobW9kdWxlLmMKKysrIGIvTW9kdWxlcy9jbWF0aG1vZHVsZS5jCkBAIC04LDYgKzgsNDEgQEAKICAgIGZsb2F0LmguICBXZSBhc3N1bWUgdGhhdCBGTFRfUkFESVggaXMgZWl0aGVyIDIgb3IgMTYuICovCiAjaW5jbHVkZSA8ZmxvYXQuaD4KIAorI2luY2x1ZGUgImNsaW5pYy9jbWF0aG1vZHVsZS5jLmgiCisvKltjbGluaWMgaW5wdXRdCitvdXRwdXQgcHJlc2V0IGZpbGUKK21vZHVsZSBjbWF0aAorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWRhMzlhM2VlNWU2YjRiMGQgaW5wdXQ9ZWY3ZTBmZGQ4YTE0M2MwM10qLworCisvKltweXRob24gaW5wdXRdCitjbGFzcyBQeV9jb21wbGV4X3Byb3RlY3RlZF9jb252ZXJ0ZXIoUHlfY29tcGxleF9jb252ZXJ0ZXIpOgorICAgIGRlZiBtb2RpZnkoc2VsZik6CisgICAgICAgIHJldHVybiAnZXJybm8gPSAwOyBQeUZQRV9TVEFSVF9QUk9URUNUKCJjb21wbGV4IGZ1bmN0aW9uIiwgZ290byBleGl0KTsnCisKKworY2xhc3MgUHlfY29tcGxleF9wcm90ZWN0ZWRfcmV0dXJuX2NvbnZlcnRlcihDUmV0dXJuQ29udmVydGVyKToKKyAgICB0eXBlID0gIlB5X2NvbXBsZXgiCisKKyAgICBkZWYgcmVuZGVyKHNlbGYsIGZ1bmN0aW9uLCBkYXRhKToKKyAgICAgICAgc2VsZi5kZWNsYXJlKGRhdGEpCisgICAgICAgIGRhdGEucmV0dXJuX2NvbnZlcnNpb24uYXBwZW5kKCIiIgorUHlGUEVfRU5EX1BST1RFQ1QoX3JldHVybl92YWx1ZSk7CitpZiAoZXJybm8gPT0gRURPTSkge3sKKyAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwgIm1hdGggZG9tYWluIGVycm9yIik7CisgICAgZ290byBleGl0OworfX0KK2Vsc2UgaWYgKGVycm5vID09IEVSQU5HRSkge3sKKyAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfT3ZlcmZsb3dFcnJvciwgIm1hdGggcmFuZ2UgZXJyb3IiKTsKKyAgICBnb3RvIGV4aXQ7Cit9fQorZWxzZSB7eworICAgIHJldHVybl92YWx1ZSA9IFB5Q29tcGxleF9Gcm9tQ0NvbXBsZXgoX3JldHVybl92YWx1ZSk7Cit9fQorIiIiLnN0cmlwKCkpCitbcHl0aG9uIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisvKltweXRob24gZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ZGEzOWEzZWU1ZTZiNGIwZCBpbnB1dD0yMzEwMTkwMzlhNmZiYjlhXSovCisKICNpZiAoRkxUX1JBRElYICE9IDIgJiYgRkxUX1JBRElYICE9IDE2KQogI2Vycm9yICJNb2R1bGVzL2NtYXRobW9kdWxlLmMgZXhwZWN0cyBGTFRfUkFESVggdG8gYmUgMiBvciAxNiIKICNlbmRpZgpAQCAtNDgsMTIgKzgzLDEyIEBACiAjZGVmaW5lIENNX1NDQUxFX0RPV04gKC0oQ01fU0NBTEVfVVArMSkvMikKIAogLyogZm9yd2FyZCBkZWNsYXJhdGlvbnMgKi8KLXN0YXRpYyBQeV9jb21wbGV4IGNfYXNpbmgoUHlfY29tcGxleCk7Ci1zdGF0aWMgUHlfY29tcGxleCBjX2F0YW5oKFB5X2NvbXBsZXgpOwotc3RhdGljIFB5X2NvbXBsZXggY19jb3NoKFB5X2NvbXBsZXgpOwotc3RhdGljIFB5X2NvbXBsZXggY19zaW5oKFB5X2NvbXBsZXgpOwotc3RhdGljIFB5X2NvbXBsZXggY19zcXJ0KFB5X2NvbXBsZXgpOwotc3RhdGljIFB5X2NvbXBsZXggY190YW5oKFB5X2NvbXBsZXgpOworc3RhdGljIFB5X2NvbXBsZXggY21hdGhfYXNpbmhfaW1wbChQeU1vZHVsZURlZiAqLCBQeV9jb21wbGV4KTsKK3N0YXRpYyBQeV9jb21wbGV4IGNtYXRoX2F0YW5oX2ltcGwoUHlNb2R1bGVEZWYgKiwgUHlfY29tcGxleCk7CitzdGF0aWMgUHlfY29tcGxleCBjbWF0aF9jb3NoX2ltcGwoUHlNb2R1bGVEZWYgKiwgUHlfY29tcGxleCk7CitzdGF0aWMgUHlfY29tcGxleCBjbWF0aF9zaW5oX2ltcGwoUHlNb2R1bGVEZWYgKiwgUHlfY29tcGxleCk7CitzdGF0aWMgUHlfY29tcGxleCBjbWF0aF9zcXJ0X2ltcGwoUHlNb2R1bGVEZWYgKiwgUHlfY29tcGxleCk7CitzdGF0aWMgUHlfY29tcGxleCBjbWF0aF90YW5oX2ltcGwoUHlNb2R1bGVEZWYgKiwgUHlfY29tcGxleCk7CiBzdGF0aWMgUHlPYmplY3QgKiBtYXRoX2Vycm9yKHZvaWQpOwogCiAvKiBDb2RlIHRvIGRlYWwgd2l0aCBzcGVjaWFsIHZhbHVlcyAoaW5maW5pdGllcywgTmFOcywgZXRjLikuICovCkBAIC0xMjMsOCArMTU4LDE4IEBACiAKIHN0YXRpYyBQeV9jb21wbGV4IGFjb3Nfc3BlY2lhbF92YWx1ZXNbN11bN107CiAKKy8qW2NsaW5pYyBpbnB1dF0KK2NtYXRoLmFjb3MgLT4gUHlfY29tcGxleF9wcm90ZWN0ZWQKKworICAgIHo6IFB5X2NvbXBsZXhfcHJvdGVjdGVkCisgICAgLworCitSZXR1cm4gdGhlIGFyYyBjb3NpbmUgb2Ygei4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKwogc3RhdGljIFB5X2NvbXBsZXgKLWNfYWNvcyhQeV9jb21wbGV4IHopCitjbWF0aF9hY29zX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlfY29tcGxleCB6KQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTdjMWRkMjFmZjgxOGRiNmIgaW5wdXQ9YmQ2Y2JkNzhhZTg1MTkyN10qLwogewogICAgIFB5X2NvbXBsZXggczEsIHMyLCByOwogCkBAIC0xNDUsMTAgKzE5MCwxMCBAQAogICAgIH0gZWxzZSB7CiAgICAgICAgIHMxLnJlYWwgPSAxLi16LnJlYWw7CiAgICAgICAgIHMxLmltYWcgPSAtei5pbWFnOwotICAgICAgICBzMSA9IGNfc3FydChzMSk7CisgICAgICAgIHMxID0gY21hdGhfc3FydF9pbXBsKG1vZHVsZSwgczEpOwogICAgICAgICBzMi5yZWFsID0gMS4rei5yZWFsOwogICAgICAgICBzMi5pbWFnID0gei5pbWFnOwotICAgICAgICBzMiA9IGNfc3FydChzMik7CisgICAgICAgIHMyID0gY21hdGhfc3FydF9pbXBsKG1vZHVsZSwgczIpOwogICAgICAgICByLnJlYWwgPSAyLiphdGFuMihzMS5yZWFsLCBzMi5yZWFsKTsKICAgICAgICAgci5pbWFnID0gbV9hc2luaChzMi5yZWFsKnMxLmltYWcgLSBzMi5pbWFnKnMxLnJlYWwpOwogICAgIH0KQEAgLTE1NiwxNiArMjAxLDE4IEBACiAgICAgcmV0dXJuIHI7CiB9CiAKLVB5RG9jX1NUUlZBUihjX2Fjb3NfZG9jLAotImFjb3MoeClcbiIKLSJcbiIKLSJSZXR1cm4gdGhlIGFyYyBjb3NpbmUgb2YgeC4iKTsKLQogCiBzdGF0aWMgUHlfY29tcGxleCBhY29zaF9zcGVjaWFsX3ZhbHVlc1s3XVs3XTsKIAorLypbY2xpbmljIGlucHV0XQorY21hdGguYWNvc2ggPSBjbWF0aC5hY29zCisKK1JldHVybiB0aGUgaW52ZXJzZSBoeXBlcmJvbGljIGNvc2luZSBvZiB6LgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCiBzdGF0aWMgUHlfY29tcGxleAotY19hY29zaChQeV9jb21wbGV4IHopCitjbWF0aF9hY29zaF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5X2NvbXBsZXggeikKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1jMjNjNzc2NDI5ZGVmOTgxIGlucHV0PTNmNjFiZWU3ZDcwM2U1M2NdKi8KIHsKICAgICBQeV9jb21wbGV4IHMxLCBzMiwgcjsKIApAQCAtMTc4LDEwICsyMjUsMTAgQEAKICAgICB9IGVsc2UgewogICAgICAgICBzMS5yZWFsID0gei5yZWFsIC0gMS47CiAgICAgICAgIHMxLmltYWcgPSB6LmltYWc7Ci0gICAgICAgIHMxID0gY19zcXJ0KHMxKTsKKyAgICAgICAgczEgPSBjbWF0aF9zcXJ0X2ltcGwobW9kdWxlLCBzMSk7CiAgICAgICAgIHMyLnJlYWwgPSB6LnJlYWwgKyAxLjsKICAgICAgICAgczIuaW1hZyA9IHouaW1hZzsKLSAgICAgICAgczIgPSBjX3NxcnQoczIpOworICAgICAgICBzMiA9IGNtYXRoX3NxcnRfaW1wbChtb2R1bGUsIHMyKTsKICAgICAgICAgci5yZWFsID0gbV9hc2luaChzMS5yZWFsKnMyLnJlYWwgKyBzMS5pbWFnKnMyLmltYWcpOwogICAgICAgICByLmltYWcgPSAyLiphdGFuMihzMS5pbWFnLCBzMi5yZWFsKTsKICAgICB9CkBAIC0xODksMzUgKzIzNiwzOCBAQAogICAgIHJldHVybiByOwogfQogCi1QeURvY19TVFJWQVIoY19hY29zaF9kb2MsCi0iYWNvc2goeClcbiIKLSJcbiIKLSJSZXR1cm4gdGhlIGludmVyc2UgaHlwZXJib2xpYyBjb3NpbmUgb2YgeC4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK2NtYXRoLmFzaW4gPSBjbWF0aC5hY29zCiAKK1JldHVybiB0aGUgYXJjIHNpbmUgb2Ygei4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KIAogc3RhdGljIFB5X2NvbXBsZXgKLWNfYXNpbihQeV9jb21wbGV4IHopCitjbWF0aF9hc2luX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlfY29tcGxleCB6KQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTQyZDIzNDZkNDY2OTA4MjYgaW5wdXQ9YmUwYmYwY2ZkZDUyMzljNV0qLwogewogICAgIC8qIGFzaW4oeikgPSAtaSBhc2luaChpeikgKi8KICAgICBQeV9jb21wbGV4IHMsIHI7CiAgICAgcy5yZWFsID0gLXouaW1hZzsKICAgICBzLmltYWcgPSB6LnJlYWw7Ci0gICAgcyA9IGNfYXNpbmgocyk7CisgICAgcyA9IGNtYXRoX2FzaW5oX2ltcGwobW9kdWxlLCBzKTsKICAgICByLnJlYWwgPSBzLmltYWc7CiAgICAgci5pbWFnID0gLXMucmVhbDsKICAgICByZXR1cm4gcjsKIH0KIAotUHlEb2NfU1RSVkFSKGNfYXNpbl9kb2MsCi0iYXNpbih4KVxuIgotIlxuIgotIlJldHVybiB0aGUgYXJjIHNpbmUgb2YgeC4iKTsKLQogCiBzdGF0aWMgUHlfY29tcGxleCBhc2luaF9zcGVjaWFsX3ZhbHVlc1s3XVs3XTsKIAorLypbY2xpbmljIGlucHV0XQorY21hdGguYXNpbmggPSBjbWF0aC5hY29zCisKK1JldHVybiB0aGUgaW52ZXJzZSBoeXBlcmJvbGljIHNpbmUgb2Ygei4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKwogc3RhdGljIFB5X2NvbXBsZXgKLWNfYXNpbmgoUHlfY29tcGxleCB6KQorY21hdGhfYXNpbmhfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeV9jb21wbGV4IHopCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9MGM2NjY0ODIzYzdiMWIzNSBpbnB1dD01YzA5NDQ4ZmNmYzg5YTc5XSovCiB7CiAgICAgUHlfY29tcGxleCBzMSwgczIsIHI7CiAKQEAgLTIzNSwxMCArMjg1LDEwIEBACiAgICAgfSBlbHNlIHsKICAgICAgICAgczEucmVhbCA9IDEuK3ouaW1hZzsKICAgICAgICAgczEuaW1hZyA9IC16LnJlYWw7Ci0gICAgICAgIHMxID0gY19zcXJ0KHMxKTsKKyAgICAgICAgczEgPSBjbWF0aF9zcXJ0X2ltcGwobW9kdWxlLCBzMSk7CiAgICAgICAgIHMyLnJlYWwgPSAxLi16LmltYWc7CiAgICAgICAgIHMyLmltYWcgPSB6LnJlYWw7Ci0gICAgICAgIHMyID0gY19zcXJ0KHMyKTsKKyAgICAgICAgczIgPSBjbWF0aF9zcXJ0X2ltcGwobW9kdWxlLCBzMik7CiAgICAgICAgIHIucmVhbCA9IG1fYXNpbmgoczEucmVhbCpzMi5pbWFnLXMyLnJlYWwqczEuaW1hZyk7CiAgICAgICAgIHIuaW1hZyA9IGF0YW4yKHouaW1hZywgczEucmVhbCpzMi5yZWFsLXMxLmltYWcqczIuaW1hZyk7CiAgICAgfQpAQCAtMjQ2LDIwICsyOTYsMjIgQEAKICAgICByZXR1cm4gcjsKIH0KIAotUHlEb2NfU1RSVkFSKGNfYXNpbmhfZG9jLAotImFzaW5oKHgpXG4iCi0iXG4iCi0iUmV0dXJuIHRoZSBpbnZlcnNlIGh5cGVyYm9saWMgc2luZSBvZiB4LiIpOwogCisvKltjbGluaWMgaW5wdXRdCitjbWF0aC5hdGFuID0gY21hdGguYWNvcworCitSZXR1cm4gdGhlIGFyYyB0YW5nZW50IG9mIHouCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCiAKIHN0YXRpYyBQeV9jb21wbGV4Ci1jX2F0YW4oUHlfY29tcGxleCB6KQorY21hdGhfYXRhbl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5X2NvbXBsZXggeikKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1iN2Q0NGYwMmM2YTVjM2I1IGlucHV0PTNiMjFmZjdkNWVhYzYzMmFdKi8KIHsKICAgICAvKiBhdGFuKHopID0gLWkgYXRhbmgoaXopICovCiAgICAgUHlfY29tcGxleCBzLCByOwogICAgIHMucmVhbCA9IC16LmltYWc7CiAgICAgcy5pbWFnID0gei5yZWFsOwotICAgIHMgPSBjX2F0YW5oKHMpOworICAgIHMgPSBjbWF0aF9hdGFuaF9pbXBsKG1vZHVsZSwgcyk7CiAgICAgci5yZWFsID0gcy5pbWFnOwogICAgIHIuaW1hZyA9IC1zLnJlYWw7CiAgICAgcmV0dXJuIHI7CkBAIC0yOTUsMTYgKzM0NywxOCBAQAogICAgIHJldHVybiBhdGFuMih6LmltYWcsIHoucmVhbCk7CiB9CiAKLVB5RG9jX1NUUlZBUihjX2F0YW5fZG9jLAotImF0YW4oeClcbiIKLSJcbiIKLSJSZXR1cm4gdGhlIGFyYyB0YW5nZW50IG9mIHguIik7Ci0KIAogc3RhdGljIFB5X2NvbXBsZXggYXRhbmhfc3BlY2lhbF92YWx1ZXNbN11bN107CiAKKy8qW2NsaW5pYyBpbnB1dF0KK2NtYXRoLmF0YW5oID0gY21hdGguYWNvcworCitSZXR1cm4gdGhlIGludmVyc2UgaHlwZXJib2xpYyB0YW5nZW50IG9mIHouCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKIHN0YXRpYyBQeV9jb21wbGV4Ci1jX2F0YW5oKFB5X2NvbXBsZXggeikKK2NtYXRoX2F0YW5oX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlfY29tcGxleCB6KQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTI3OWUwYjlmZWZjOGRhN2MgaW5wdXQ9MmIzZmRiODJmYjM0NDg3Yl0qLwogewogICAgIFB5X2NvbXBsZXggcjsKICAgICBkb3VibGUgYXksIGg7CkBAIC0zMTMsNyArMzY3LDcgQEAKIAogICAgIC8qIFJlZHVjZSB0byBjYXNlIHdoZXJlIHoucmVhbCA+PSAwLiwgdXNpbmcgYXRhbmgoeikgPSAtYXRhbmgoLXopLiAqLwogICAgIGlmICh6LnJlYWwgPCAwLikgewotICAgICAgICByZXR1cm4gY19uZWcoY19hdGFuaChjX25lZyh6KSkpOworICAgICAgICByZXR1cm4gX1B5X2NfbmVnKGNtYXRoX2F0YW5oX2ltcGwobW9kdWxlLCBfUHlfY19uZWcoeikpKTsKICAgICB9CiAKICAgICBheSA9IGZhYnMoei5pbWFnKTsKQEAgLTM1MCwzNCArNDA0LDM4IEBACiAgICAgcmV0dXJuIHI7CiB9CiAKLVB5RG9jX1NUUlZBUihjX2F0YW5oX2RvYywKLSJhdGFuaCh4KVxuIgotIlxuIgotIlJldHVybiB0aGUgaW52ZXJzZSBoeXBlcmJvbGljIHRhbmdlbnQgb2YgeC4iKTsKIAorLypbY2xpbmljIGlucHV0XQorY21hdGguY29zID0gY21hdGguYWNvcworCitSZXR1cm4gdGhlIGNvc2luZSBvZiB6LgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLwogCiBzdGF0aWMgUHlfY29tcGxleAotY19jb3MoUHlfY29tcGxleCB6KQorY21hdGhfY29zX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlfY29tcGxleCB6KQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTlkMWNkYzFiNWU3NjE2NjcgaW5wdXQ9NjAyMmUzOWI3NzEyN2FjN10qLwogewogICAgIC8qIGNvcyh6KSA9IGNvc2goaXopICovCiAgICAgUHlfY29tcGxleCByOwogICAgIHIucmVhbCA9IC16LmltYWc7CiAgICAgci5pbWFnID0gei5yZWFsOwotICAgIHIgPSBjX2Nvc2gocik7CisgICAgciA9IGNtYXRoX2Nvc2hfaW1wbChtb2R1bGUsIHIpOwogICAgIHJldHVybiByOwogfQogCi1QeURvY19TVFJWQVIoY19jb3NfZG9jLAotImNvcyh4KVxuIgotIlxuIgotIlJldHVybiB0aGUgY29zaW5lIG9mIHguIik7Ci0KIAogLyogY29zaChpbmZpbml0eSArIGkqeSkgbmVlZHMgdG8gYmUgZGVhbHQgd2l0aCBzcGVjaWFsbHkgKi8KIHN0YXRpYyBQeV9jb21wbGV4IGNvc2hfc3BlY2lhbF92YWx1ZXNbN11bN107CiAKKy8qW2NsaW5pYyBpbnB1dF0KK2NtYXRoLmNvc2ggPSBjbWF0aC5hY29zCisKK1JldHVybiB0aGUgaHlwZXJib2xpYyBjb3NpbmUgb2Ygei4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKwogc3RhdGljIFB5X2NvbXBsZXgKLWNfY29zaChQeV9jb21wbGV4IHopCitjbWF0aF9jb3NoX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlfY29tcGxleCB6KQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWYzYjVkMzI4MmIzMDI0ZDMgaW5wdXQ9ZDZiNjYzMzllOWNjMzMyYl0qLwogewogICAgIFB5X2NvbXBsZXggcjsKICAgICBkb3VibGUgeF9taW51c19vbmU7CkBAIC00MjYsMTggKzQ4NCwyMCBAQAogICAgIHJldHVybiByOwogfQogCi1QeURvY19TVFJWQVIoY19jb3NoX2RvYywKLSJjb3NoKHgpXG4iCi0iXG4iCi0iUmV0dXJuIHRoZSBoeXBlcmJvbGljIGNvc2luZSBvZiB4LiIpOwotCiAKIC8qIGV4cChpbmZpbml0eSArIGkqeSkgYW5kIGV4cCgtaW5maW5pdHkgKyBpKnkpIG5lZWQgc3BlY2lhbCB0cmVhdG1lbnQgZm9yCiAgICBmaW5pdGUgeSAqLwogc3RhdGljIFB5X2NvbXBsZXggZXhwX3NwZWNpYWxfdmFsdWVzWzddWzddOwogCisvKltjbGluaWMgaW5wdXRdCitjbWF0aC5leHAgPSBjbWF0aC5hY29zCisKK1JldHVybiB0aGUgZXhwb25lbnRpYWwgdmFsdWUgZSoqei4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKwogc3RhdGljIFB5X2NvbXBsZXgKLWNfZXhwKFB5X2NvbXBsZXggeikKK2NtYXRoX2V4cF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5X2NvbXBsZXggeikKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD02Zjg4MjVlYjJiY2FkOWJhIGlucHV0PThiOWU2Y2Y4YTkyMTc0YzNdKi8KIHsKICAgICBQeV9jb21wbGV4IHI7CiAgICAgZG91YmxlIGw7CkBAIC00ODYsMTIgKzU0Niw2IEBACiAgICAgcmV0dXJuIHI7CiB9CiAKLVB5RG9jX1NUUlZBUihjX2V4cF9kb2MsCi0iZXhwKHgpXG4iCi0iXG4iCi0iUmV0dXJuIHRoZSBleHBvbmVudGlhbCB2YWx1ZSBlKip4LiIpOwotCi0KIHN0YXRpYyBQeV9jb21wbGV4IGxvZ19zcGVjaWFsX3ZhbHVlc1s3XVs3XTsKIAogc3RhdGljIFB5X2NvbXBsZXgKQEAgLTU2NCw4ICs2MTgsMTUgQEAKIH0KIAogCisvKltjbGluaWMgaW5wdXRdCitjbWF0aC5sb2cxMCA9IGNtYXRoLmFjb3MKKworUmV0dXJuIHRoZSBiYXNlLTEwIGxvZ2FyaXRobSBvZiB6LgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCiBzdGF0aWMgUHlfY29tcGxleAotY19sb2cxMChQeV9jb21wbGV4IHopCitjbWF0aF9sb2cxMF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5X2NvbXBsZXggeikKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1jN2M0MjZjYTBlNzgyMzQxIGlucHV0PWNmZjU2NDRmNzNjMTUxOWNdKi8KIHsKICAgICBQeV9jb21wbGV4IHI7CiAgICAgaW50IGVycm5vX3NhdmU7CkBAIC01NzgsMzYgKzYzOSw0MCBAQAogICAgIHJldHVybiByOwogfQogCi1QeURvY19TVFJWQVIoY19sb2cxMF9kb2MsCi0ibG9nMTAoeClcbiIKLSJcbiIKLSJSZXR1cm4gdGhlIGJhc2UtMTAgbG9nYXJpdGhtIG9mIHguIik7CiAKKy8qW2NsaW5pYyBpbnB1dF0KK2NtYXRoLnNpbiA9IGNtYXRoLmFjb3MKKworUmV0dXJuIHRoZSBzaW5lIG9mIHouCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCiAKIHN0YXRpYyBQeV9jb21wbGV4Ci1jX3NpbihQeV9jb21wbGV4IHopCitjbWF0aF9zaW5faW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeV9jb21wbGV4IHopCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ZTdmNWUyYjI1MzgyNWFjNyBpbnB1dD0yZDM1MTk4NDJhOGI0Yjg1XSovCiB7CiAgICAgLyogc2luKHopID0gLWkgc2luKGl6KSAqLwogICAgIFB5X2NvbXBsZXggcywgcjsKICAgICBzLnJlYWwgPSAtei5pbWFnOwogICAgIHMuaW1hZyA9IHoucmVhbDsKLSAgICBzID0gY19zaW5oKHMpOworICAgIHMgPSBjbWF0aF9zaW5oX2ltcGwobW9kdWxlLCBzKTsKICAgICByLnJlYWwgPSBzLmltYWc7CiAgICAgci5pbWFnID0gLXMucmVhbDsKICAgICByZXR1cm4gcjsKIH0KIAotUHlEb2NfU1RSVkFSKGNfc2luX2RvYywKLSJzaW4oeClcbiIKLSJcbiIKLSJSZXR1cm4gdGhlIHNpbmUgb2YgeC4iKTsKLQogCiAvKiBzaW5oKGluZmluaXR5ICsgaSp5KSBuZWVkcyB0byBiZSBkZWFsdCB3aXRoIHNwZWNpYWxseSAqLwogc3RhdGljIFB5X2NvbXBsZXggc2luaF9zcGVjaWFsX3ZhbHVlc1s3XVs3XTsKIAorLypbY2xpbmljIGlucHV0XQorY21hdGguc2luaCA9IGNtYXRoLmFjb3MKKworUmV0dXJuIHRoZSBoeXBlcmJvbGljIHNpbmUgb2Ygei4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKwogc3RhdGljIFB5X2NvbXBsZXgKLWNfc2luaChQeV9jb21wbGV4IHopCitjbWF0aF9zaW5oX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlfY29tcGxleCB6KQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWQ3MWZmZjgyOTgwNDNhOTUgaW5wdXQ9ZDJkM2ZjOGMxZGRmZDJkZF0qLwogewogICAgIFB5X2NvbXBsZXggcjsKICAgICBkb3VibGUgeF9taW51c19vbmU7CkBAIC02NTUsMTYgKzcyMCwxOCBAQAogICAgIHJldHVybiByOwogfQogCi1QeURvY19TVFJWQVIoY19zaW5oX2RvYywKLSJzaW5oKHgpXG4iCi0iXG4iCi0iUmV0dXJuIHRoZSBoeXBlcmJvbGljIHNpbmUgb2YgeC4iKTsKLQogCiBzdGF0aWMgUHlfY29tcGxleCBzcXJ0X3NwZWNpYWxfdmFsdWVzWzddWzddOwogCisvKltjbGluaWMgaW5wdXRdCitjbWF0aC5zcXJ0ID0gY21hdGguYWNvcworCitSZXR1cm4gdGhlIHNxdWFyZSByb290IG9mIHouCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKIHN0YXRpYyBQeV9jb21wbGV4Ci1jX3NxcnQoUHlfY29tcGxleCB6KQorY21hdGhfc3FydF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5X2NvbXBsZXggeikKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1iNmJkYTI4M2QwYzVhN2I0IGlucHV0PTcwODhiMTY2ZmM5YTU4YzddKi8KIHsKICAgICAvKgogICAgICAgIE1ldGhvZDogdXNlIHN5bW1ldHJpZXMgdG8gcmVkdWNlIHRvIHRoZSBjYXNlIHdoZW4geCA9IHoucmVhbCBhbmQgeQpAQCAtNzMwLDM2ICs3OTcsNDAgQEAKICAgICByZXR1cm4gcjsKIH0KIAotUHlEb2NfU1RSVkFSKGNfc3FydF9kb2MsCi0ic3FydCh4KVxuIgotIlxuIgotIlJldHVybiB0aGUgc3F1YXJlIHJvb3Qgb2YgeC4iKTsKIAorLypbY2xpbmljIGlucHV0XQorY21hdGgudGFuID0gY21hdGguYWNvcworCitSZXR1cm4gdGhlIHRhbmdlbnQgb2Ygei4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KIAogc3RhdGljIFB5X2NvbXBsZXgKLWNfdGFuKFB5X2NvbXBsZXggeikKK2NtYXRoX3Rhbl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5X2NvbXBsZXggeikKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1kZjM3NGJhY2YzNmQ5OWI0IGlucHV0PWZjMTY3ZTUyODc2Nzg4OGVdKi8KIHsKICAgICAvKiB0YW4oeikgPSAtaSB0YW5oKGl6KSAqLwogICAgIFB5X2NvbXBsZXggcywgcjsKICAgICBzLnJlYWwgPSAtei5pbWFnOwogICAgIHMuaW1hZyA9IHoucmVhbDsKLSAgICBzID0gY190YW5oKHMpOworICAgIHMgPSBjbWF0aF90YW5oX2ltcGwobW9kdWxlLCBzKTsKICAgICByLnJlYWwgPSBzLmltYWc7CiAgICAgci5pbWFnID0gLXMucmVhbDsKICAgICByZXR1cm4gcjsKIH0KIAotUHlEb2NfU1RSVkFSKGNfdGFuX2RvYywKLSJ0YW4oeClcbiIKLSJcbiIKLSJSZXR1cm4gdGhlIHRhbmdlbnQgb2YgeC4iKTsKLQogCiAvKiB0YW5oKGluZmluaXR5ICsgaSp5KSBuZWVkcyB0byBiZSBkZWFsdCB3aXRoIHNwZWNpYWxseSAqLwogc3RhdGljIFB5X2NvbXBsZXggdGFuaF9zcGVjaWFsX3ZhbHVlc1s3XVs3XTsKIAorLypbY2xpbmljIGlucHV0XQorY21hdGgudGFuaCA9IGNtYXRoLmFjb3MKKworUmV0dXJuIHRoZSBoeXBlcmJvbGljIHRhbmdlbnQgb2Ygei4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKwogc3RhdGljIFB5X2NvbXBsZXgKLWNfdGFuaChQeV9jb21wbGV4IHopCitjbWF0aF90YW5oX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlfY29tcGxleCB6KQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWY1Nzg3NzNkMjdhMThlOTYgaW5wdXQ9MjJmNjdmOWRjNmQyOTY4NV0qLwogewogICAgIC8qIEZvcm11bGE6CiAKQEAgLTgyMiwyNyArODkzLDM1IEBACiAgICAgcmV0dXJuIHI7CiB9CiAKLVB5RG9jX1NUUlZBUihjX3RhbmhfZG9jLAotInRhbmgoeClcbiIKLSJcbiIKLSJSZXR1cm4gdGhlIGh5cGVyYm9saWMgdGFuZ2VudCBvZiB4LiIpOwogCisvKltjbGluaWMgaW5wdXRdCitjbWF0aC5sb2cKKworICAgIHg6IFB5X2NvbXBsZXgKKyAgICB5X29iajogb2JqZWN0ID0gTlVMTAorICAgIC8KKworVGhlIGxvZ2FyaXRobSBvZiB6IHRvIHRoZSBnaXZlbiBiYXNlLgorCitJZiB0aGUgYmFzZSBub3Qgc3BlY2lmaWVkLCByZXR1cm5zIHRoZSBuYXR1cmFsIGxvZ2FyaXRobSAoYmFzZSBlKSBvZiB6LgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLwogCiBzdGF0aWMgUHlPYmplY3QgKgotY21hdGhfbG9nKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK2NtYXRoX2xvZ19pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5X2NvbXBsZXggeCwgUHlPYmplY3QgKnlfb2JqKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTM1ZTJhMWU1MjI5YjVhNDYgaW5wdXQ9ZWUwZTgyM2E3YzZlNjhlYV0qLwogewotICAgIFB5X2NvbXBsZXggeDsKICAgICBQeV9jb21wbGV4IHk7CiAKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIkR8RCIsICZ4LCAmeSkpCi0gICAgICAgIHJldHVybiBOVUxMOwotCiAgICAgZXJybm8gPSAwOwogICAgIFB5RlBFX1NUQVJUX1BST1RFQ1QoImNvbXBsZXggZnVuY3Rpb24iLCByZXR1cm4gMCkKICAgICB4ID0gY19sb2coeCk7Ci0gICAgaWYgKFB5VHVwbGVfR0VUX1NJWkUoYXJncykgPT0gMikgeworICAgIGlmICh5X29iaiAhPSBOVUxMKSB7CisgICAgICAgIHkgPSBQeUNvbXBsZXhfQXNDQ29tcGxleCh5X29iaik7CisgICAgICAgIGlmIChQeUVycl9PY2N1cnJlZCgpKSB7CisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgfQogICAgICAgICB5ID0gY19sb2coeSk7Ci0gICAgICAgIHggPSBjX3F1b3QoeCwgeSk7CisgICAgICAgIHggPSBfUHlfY19xdW90KHgsIHkpOwogICAgIH0KICAgICBQeUZQRV9FTkRfUFJPVEVDVCh4KQogICAgIGlmIChlcnJubyAhPSAwKQpAQCAtODUwLDEwICs5MjksNiBAQAogICAgIHJldHVybiBQeUNvbXBsZXhfRnJvbUNDb21wbGV4KHgpOwogfQogCi1QeURvY19TVFJWQVIoY21hdGhfbG9nX2RvYywKLSJsb2coeFssIGJhc2VdKSAtPiB0aGUgbG9nYXJpdGhtIG9mIHggdG8gdGhlIGdpdmVuIGJhc2UuXG5cCi1JZiB0aGUgYmFzZSBub3Qgc3BlY2lmaWVkLCByZXR1cm5zIHRoZSBuYXR1cmFsIGxvZ2FyaXRobSAoYmFzZSBlKSBvZiB4LiIpOwotCiAKIC8qIEFuZCBub3cgdGhlIGdsdWUgdG8gbWFrZSB0aGVtIGF2YWlsYWJsZSBmcm9tIFB5dGhvbjogKi8KIApAQCAtODY5LDU3ICs5NDQsMjIgQEAKICAgICByZXR1cm4gTlVMTDsKIH0KIAotc3RhdGljIFB5T2JqZWN0ICoKLW1hdGhfMShQeU9iamVjdCAqYXJncywgUHlfY29tcGxleCAoKmZ1bmMpKFB5X2NvbXBsZXgpKQotewotICAgIFB5X2NvbXBsZXggeCxyIDsKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIkQiLCAmeCkpCi0gICAgICAgIHJldHVybiBOVUxMOwotICAgIGVycm5vID0gMDsKLSAgICBQeUZQRV9TVEFSVF9QUk9URUNUKCJjb21wbGV4IGZ1bmN0aW9uIiwgcmV0dXJuIDApOwotICAgIHIgPSAoKmZ1bmMpKHgpOwotICAgIFB5RlBFX0VORF9QUk9URUNUKHIpOwotICAgIGlmIChlcnJubyA9PSBFRE9NKSB7Ci0gICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLCAibWF0aCBkb21haW4gZXJyb3IiKTsKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgfQotICAgIGVsc2UgaWYgKGVycm5vID09IEVSQU5HRSkgewotICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfT3ZlcmZsb3dFcnJvciwgIm1hdGggcmFuZ2UgZXJyb3IiKTsKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgfQotICAgIGVsc2UgewotICAgICAgICByZXR1cm4gUHlDb21wbGV4X0Zyb21DQ29tcGxleChyKTsKLSAgICB9Ci19CiAKLSNkZWZpbmUgRlVOQzEoc3R1Ym5hbWUsIGZ1bmMpIFwKLSAgICBzdGF0aWMgUHlPYmplY3QgKiBzdHVibmFtZShQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpIHsgXAotICAgICAgICByZXR1cm4gbWF0aF8xKGFyZ3MsIGZ1bmMpOyBcCi0gICAgfQorLypbY2xpbmljIGlucHV0XQorY21hdGgucGhhc2UKIAotRlVOQzEoY21hdGhfYWNvcywgY19hY29zKQotRlVOQzEoY21hdGhfYWNvc2gsIGNfYWNvc2gpCi1GVU5DMShjbWF0aF9hc2luLCBjX2FzaW4pCi1GVU5DMShjbWF0aF9hc2luaCwgY19hc2luaCkKLUZVTkMxKGNtYXRoX2F0YW4sIGNfYXRhbikKLUZVTkMxKGNtYXRoX2F0YW5oLCBjX2F0YW5oKQotRlVOQzEoY21hdGhfY29zLCBjX2NvcykKLUZVTkMxKGNtYXRoX2Nvc2gsIGNfY29zaCkKLUZVTkMxKGNtYXRoX2V4cCwgY19leHApCi1GVU5DMShjbWF0aF9sb2cxMCwgY19sb2cxMCkKLUZVTkMxKGNtYXRoX3NpbiwgY19zaW4pCi1GVU5DMShjbWF0aF9zaW5oLCBjX3NpbmgpCi1GVU5DMShjbWF0aF9zcXJ0LCBjX3NxcnQpCi1GVU5DMShjbWF0aF90YW4sIGNfdGFuKQotRlVOQzEoY21hdGhfdGFuaCwgY190YW5oKQorICAgIHo6IFB5X2NvbXBsZXgKKyAgICAvCisKK1JldHVybiBhcmd1bWVudCwgYWxzbyBrbm93biBhcyB0aGUgcGhhc2UgYW5nbGUsIG9mIGEgY29tcGxleC4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KIAogc3RhdGljIFB5T2JqZWN0ICoKLWNtYXRoX3BoYXNlKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK2NtYXRoX3BoYXNlX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlfY29tcGxleCB6KQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWUwOWVhZjM3M2NiNjI0YzMgaW5wdXQ9NWNmNzUyMjhiYTk0YjY5ZF0qLwogewotICAgIFB5X2NvbXBsZXggejsKICAgICBkb3VibGUgcGhpOwotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiRDpwaGFzZSIsICZ6KSkKLSAgICAgICAgcmV0dXJuIE5VTEw7CisKICAgICBlcnJubyA9IDA7CiAgICAgUHlGUEVfU1RBUlRfUFJPVEVDVCgiYXJnIGZ1bmN0aW9uIiwgcmV0dXJuIDApCiAgICAgcGhpID0gY19hdGFuMih6KTsKQEAgLTkzMCwyMCArOTcwLDI2IEBACiAgICAgICAgIHJldHVybiBQeUZsb2F0X0Zyb21Eb3VibGUocGhpKTsKIH0KIAotUHlEb2NfU1RSVkFSKGNtYXRoX3BoYXNlX2RvYywKLSJwaGFzZSh6KSAtPiBmbG9hdFxuXG5cCi1SZXR1cm4gYXJndW1lbnQsIGFsc28ga25vd24gYXMgdGhlIHBoYXNlIGFuZ2xlLCBvZiBhIGNvbXBsZXguIik7CisvKltjbGluaWMgaW5wdXRdCitjbWF0aC5wb2xhcgorCisgICAgejogUHlfY29tcGxleAorICAgIC8KKworQ29udmVydCBhIGNvbXBsZXggZnJvbSByZWN0YW5ndWxhciBjb29yZGluYXRlcyB0byBwb2xhciBjb29yZGluYXRlcy4KKworciBpcyB0aGUgZGlzdGFuY2UgZnJvbSAwIGFuZCBwaGkgdGhlIHBoYXNlIGFuZ2xlLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLwogCiBzdGF0aWMgUHlPYmplY3QgKgotY21hdGhfcG9sYXIoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorY21hdGhfcG9sYXJfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeV9jb21wbGV4IHopCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9MDdkNDFiMTZjODc3ODc1YSBpbnB1dD0yNmMzNTM1NzRmZDFhODYxXSovCiB7Ci0gICAgUHlfY29tcGxleCB6OwogICAgIGRvdWJsZSByLCBwaGk7Ci0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJEOnBvbGFyIiwgJnopKQotICAgICAgICByZXR1cm4gTlVMTDsKKwogICAgIFB5RlBFX1NUQVJUX1BST1RFQ1QoInBvbGFyIGZ1bmN0aW9uIiwgcmV0dXJuIDApCiAgICAgcGhpID0gY19hdGFuMih6KTsgLyogc2hvdWxkIG5vdCBjYXVzZSBhbnkgZXhjZXB0aW9uICovCi0gICAgciA9IGNfYWJzKHopOyAvKiBzZXRzIGVycm5vIHRvIEVSQU5HRSBvbiBvdmVyZmxvdzsgIG90aGVyd2lzZSAwICovCisgICAgciA9IF9QeV9jX2Ficyh6KTsgLyogc2V0cyBlcnJubyB0byBFUkFOR0Ugb24gb3ZlcmZsb3c7ICBvdGhlcndpc2UgMCAqLwogICAgIFB5RlBFX0VORF9QUk9URUNUKHIpCiAgICAgaWYgKGVycm5vICE9IDApCiAgICAgICAgIHJldHVybiBtYXRoX2Vycm9yKCk7CkBAIC05NTEsMTEgKzk5Nyw2IEBACiAgICAgICAgIHJldHVybiBQeV9CdWlsZFZhbHVlKCJkZCIsIHIsIHBoaSk7CiB9CiAKLVB5RG9jX1NUUlZBUihjbWF0aF9wb2xhcl9kb2MsCi0icG9sYXIoeikgLT4gcjogZmxvYXQsIHBoaTogZmxvYXRcblxuXAotQ29udmVydCBhIGNvbXBsZXggZnJvbSByZWN0YW5ndWxhciBjb29yZGluYXRlcyB0byBwb2xhciBjb29yZGluYXRlcy4gciBpc1xuXAotdGhlIGRpc3RhbmNlIGZyb20gMCBhbmQgcGhpIHRoZSBwaGFzZSBhbmdsZS4iKTsKLQogLyoKICAgcmVjdCgpIGlzbid0IGNvdmVyZWQgYnkgdGhlIEM5OSBzdGFuZGFyZCwgYnV0IGl0J3Mgbm90IHRvbyBoYXJkIHRvCiAgIGZpZ3VyZSBvdXQgJ3NwaXJpdCBvZiBDOTknIHJ1bGVzIGZvciBzcGVjaWFsIHZhbHVlIGhhbmRpbmc6CkBAIC05NjksMTMgKzEwMTAsMjEgQEAKIAogc3RhdGljIFB5X2NvbXBsZXggcmVjdF9zcGVjaWFsX3ZhbHVlc1s3XVs3XTsKIAorLypbY2xpbmljIGlucHV0XQorY21hdGgucmVjdAorCisgICAgcjogZG91YmxlCisgICAgcGhpOiBkb3VibGUKKyAgICAvCisKK0NvbnZlcnQgZnJvbSBwb2xhciBjb29yZGluYXRlcyB0byByZWN0YW5ndWxhciBjb29yZGluYXRlcy4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKwogc3RhdGljIFB5T2JqZWN0ICoKLWNtYXRoX3JlY3QoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorY21hdGhfcmVjdF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGRvdWJsZSByLCBkb3VibGUgcGhpKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWQ5N2E4NzQ5YmQ2M2U5ZDUgaW5wdXQ9MjRjNTY0NmQxNDdlZmQ2OV0qLwogewogICAgIFB5X2NvbXBsZXggejsKLSAgICBkb3VibGUgciwgcGhpOwotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiZGQ6cmVjdCIsICZyLCAmcGhpKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgZXJybm8gPSAwOwogICAgIFB5RlBFX1NUQVJUX1BST1RFQ1QoInJlY3QgZnVuY3Rpb24iLCByZXR1cm4gMCkKIApAQCAtMTAyNiw3OSArMTA3NSw3NSBAQAogICAgICAgICByZXR1cm4gUHlDb21wbGV4X0Zyb21DQ29tcGxleCh6KTsKIH0KIAotUHlEb2NfU1RSVkFSKGNtYXRoX3JlY3RfZG9jLAotInJlY3QociwgcGhpKSAtPiB6OiBjb21wbGV4XG5cblwKLUNvbnZlcnQgZnJvbSBwb2xhciBjb29yZGluYXRlcyB0byByZWN0YW5ndWxhciBjb29yZGluYXRlcy4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK2NtYXRoLmlzZmluaXRlID0gY21hdGgucG9sYXIKKworUmV0dXJuIFRydWUgaWYgYm90aCB0aGUgcmVhbCBhbmQgaW1hZ2luYXJ5IHBhcnRzIG9mIHogYXJlIGZpbml0ZSwgZWxzZSBGYWxzZS4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KIAogc3RhdGljIFB5T2JqZWN0ICoKLWNtYXRoX2lzZmluaXRlKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK2NtYXRoX2lzZmluaXRlX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlfY29tcGxleCB6KQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PThmNjY4MmZhOTNkZTQ1ZDYgaW5wdXQ9ODQ4ZTdlZTcwMTg5NTgxNV0qLwogewotICAgIFB5X2NvbXBsZXggejsKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIkQ6aXNmaW5pdGUiLCAmeikpCi0gICAgICAgIHJldHVybiBOVUxMOwogICAgIHJldHVybiBQeUJvb2xfRnJvbUxvbmcoUHlfSVNfRklOSVRFKHoucmVhbCkgJiYgUHlfSVNfRklOSVRFKHouaW1hZykpOwogfQogCi1QeURvY19TVFJWQVIoY21hdGhfaXNmaW5pdGVfZG9jLAotImlzZmluaXRlKHopIC0+IGJvb2xcblwKLVJldHVybiBUcnVlIGlmIGJvdGggdGhlIHJlYWwgYW5kIGltYWdpbmFyeSBwYXJ0cyBvZiB6IGFyZSBmaW5pdGUsIGVsc2UgRmFsc2UuIik7CisvKltjbGluaWMgaW5wdXRdCitjbWF0aC5pc25hbiA9IGNtYXRoLnBvbGFyCisKK0NoZWNrcyBpZiB0aGUgcmVhbCBvciBpbWFnaW5hcnkgcGFydCBvZiB6IG5vdCBhIG51bWJlciAoTmFOKS4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KIAogc3RhdGljIFB5T2JqZWN0ICoKLWNtYXRoX2lzbmFuKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK2NtYXRoX2lzbmFuX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlfY29tcGxleCB6KQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWI4NWZlOGMyMDQ3NzE4ZWUgaW5wdXQ9NzE3OTlmNWQyODRjOWJhZl0qLwogewotICAgIFB5X2NvbXBsZXggejsKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIkQ6aXNuYW4iLCAmeikpCi0gICAgICAgIHJldHVybiBOVUxMOwogICAgIHJldHVybiBQeUJvb2xfRnJvbUxvbmcoUHlfSVNfTkFOKHoucmVhbCkgfHwgUHlfSVNfTkFOKHouaW1hZykpOwogfQogCi1QeURvY19TVFJWQVIoY21hdGhfaXNuYW5fZG9jLAotImlzbmFuKHopIC0+IGJvb2xcblwKLUNoZWNrcyBpZiB0aGUgcmVhbCBvciBpbWFnaW5hcnkgcGFydCBvZiB6IG5vdCBhIG51bWJlciAoTmFOKSIpOworLypbY2xpbmljIGlucHV0XQorY21hdGguaXNpbmYgPSBjbWF0aC5wb2xhcgorCitDaGVja3MgaWYgdGhlIHJlYWwgb3IgaW1hZ2luYXJ5IHBhcnQgb2YgeiBpcyBpbmZpbml0ZS4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KIAogc3RhdGljIFB5T2JqZWN0ICoKLWNtYXRoX2lzaW5mKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK2NtYXRoX2lzaW5mX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlfY29tcGxleCB6KQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PThjYTljNjEwOWU0NjhiZjQgaW5wdXQ9MzYzZGYxNTVjNzE4MTMyOV0qLwogewotICAgIFB5X2NvbXBsZXggejsKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIkQ6aXNpbmYiLCAmeikpCi0gICAgICAgIHJldHVybiBOVUxMOwogICAgIHJldHVybiBQeUJvb2xfRnJvbUxvbmcoUHlfSVNfSU5GSU5JVFkoei5yZWFsKSB8fAogICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlfSVNfSU5GSU5JVFkoei5pbWFnKSk7CiB9CiAKLVB5RG9jX1NUUlZBUihjbWF0aF9pc2luZl9kb2MsCi0iaXNpbmYoeikgLT4gYm9vbFxuXAotQ2hlY2tzIGlmIHRoZSByZWFsIG9yIGltYWdpbmFyeSBwYXJ0IG9mIHogaXMgaW5maW5pdGUuIik7Ci0KIAogUHlEb2NfU1RSVkFSKG1vZHVsZV9kb2MsCiAiVGhpcyBtb2R1bGUgaXMgYWx3YXlzIGF2YWlsYWJsZS4gSXQgcHJvdmlkZXMgYWNjZXNzIHRvIG1hdGhlbWF0aWNhbFxuIgogImZ1bmN0aW9ucyBmb3IgY29tcGxleCBudW1iZXJzLiIpOwogCiBzdGF0aWMgUHlNZXRob2REZWYgY21hdGhfbWV0aG9kc1tdID0gewotICAgIHsiYWNvcyIsICAgY21hdGhfYWNvcywgIE1FVEhfVkFSQVJHUywgY19hY29zX2RvY30sCi0gICAgeyJhY29zaCIsICBjbWF0aF9hY29zaCwgTUVUSF9WQVJBUkdTLCBjX2Fjb3NoX2RvY30sCi0gICAgeyJhc2luIiwgICBjbWF0aF9hc2luLCAgTUVUSF9WQVJBUkdTLCBjX2FzaW5fZG9jfSwKLSAgICB7ImFzaW5oIiwgIGNtYXRoX2FzaW5oLCBNRVRIX1ZBUkFSR1MsIGNfYXNpbmhfZG9jfSwKLSAgICB7ImF0YW4iLCAgIGNtYXRoX2F0YW4sICBNRVRIX1ZBUkFSR1MsIGNfYXRhbl9kb2N9LAotICAgIHsiYXRhbmgiLCAgY21hdGhfYXRhbmgsIE1FVEhfVkFSQVJHUywgY19hdGFuaF9kb2N9LAotICAgIHsiY29zIiwgICAgY21hdGhfY29zLCAgIE1FVEhfVkFSQVJHUywgY19jb3NfZG9jfSwKLSAgICB7ImNvc2giLCAgIGNtYXRoX2Nvc2gsICBNRVRIX1ZBUkFSR1MsIGNfY29zaF9kb2N9LAotICAgIHsiZXhwIiwgICAgY21hdGhfZXhwLCAgIE1FVEhfVkFSQVJHUywgY19leHBfZG9jfSwKLSAgICB7ImlzZmluaXRlIiwgY21hdGhfaXNmaW5pdGUsIE1FVEhfVkFSQVJHUywgY21hdGhfaXNmaW5pdGVfZG9jfSwKLSAgICB7ImlzaW5mIiwgIGNtYXRoX2lzaW5mLCBNRVRIX1ZBUkFSR1MsIGNtYXRoX2lzaW5mX2RvY30sCi0gICAgeyJpc25hbiIsICBjbWF0aF9pc25hbiwgTUVUSF9WQVJBUkdTLCBjbWF0aF9pc25hbl9kb2N9LAotICAgIHsibG9nIiwgICAgY21hdGhfbG9nLCAgIE1FVEhfVkFSQVJHUywgY21hdGhfbG9nX2RvY30sCi0gICAgeyJsb2cxMCIsICBjbWF0aF9sb2cxMCwgTUVUSF9WQVJBUkdTLCBjX2xvZzEwX2RvY30sCi0gICAgeyJwaGFzZSIsICBjbWF0aF9waGFzZSwgTUVUSF9WQVJBUkdTLCBjbWF0aF9waGFzZV9kb2N9LAotICAgIHsicG9sYXIiLCAgY21hdGhfcG9sYXIsIE1FVEhfVkFSQVJHUywgY21hdGhfcG9sYXJfZG9jfSwKLSAgICB7InJlY3QiLCAgIGNtYXRoX3JlY3QsICBNRVRIX1ZBUkFSR1MsIGNtYXRoX3JlY3RfZG9jfSwKLSAgICB7InNpbiIsICAgIGNtYXRoX3NpbiwgICBNRVRIX1ZBUkFSR1MsIGNfc2luX2RvY30sCi0gICAgeyJzaW5oIiwgICBjbWF0aF9zaW5oLCAgTUVUSF9WQVJBUkdTLCBjX3NpbmhfZG9jfSwKLSAgICB7InNxcnQiLCAgIGNtYXRoX3NxcnQsICBNRVRIX1ZBUkFSR1MsIGNfc3FydF9kb2N9LAotICAgIHsidGFuIiwgICAgY21hdGhfdGFuLCAgIE1FVEhfVkFSQVJHUywgY190YW5fZG9jfSwKLSAgICB7InRhbmgiLCAgIGNtYXRoX3RhbmgsICBNRVRIX1ZBUkFSR1MsIGNfdGFuaF9kb2N9LAotICAgIHtOVUxMLCAgICAgICAgICAgICAgTlVMTH0gICAgICAgICAgIC8qIHNlbnRpbmVsICovCisgICAgQ01BVEhfQUNPU19NRVRIT0RERUYKKyAgICBDTUFUSF9BQ09TSF9NRVRIT0RERUYKKyAgICBDTUFUSF9BU0lOX01FVEhPRERFRgorICAgIENNQVRIX0FTSU5IX01FVEhPRERFRgorICAgIENNQVRIX0FUQU5fTUVUSE9EREVGCisgICAgQ01BVEhfQVRBTkhfTUVUSE9EREVGCisgICAgQ01BVEhfQ09TX01FVEhPRERFRgorICAgIENNQVRIX0NPU0hfTUVUSE9EREVGCisgICAgQ01BVEhfRVhQX01FVEhPRERFRgorICAgIENNQVRIX0lTRklOSVRFX01FVEhPRERFRgorICAgIENNQVRIX0lTSU5GX01FVEhPRERFRgorICAgIENNQVRIX0lTTkFOX01FVEhPRERFRgorICAgIENNQVRIX0xPR19NRVRIT0RERUYKKyAgICBDTUFUSF9MT0cxMF9NRVRIT0RERUYKKyAgICBDTUFUSF9QSEFTRV9NRVRIT0RERUYKKyAgICBDTUFUSF9QT0xBUl9NRVRIT0RERUYKKyAgICBDTUFUSF9SRUNUX01FVEhPRERFRgorICAgIENNQVRIX1NJTl9NRVRIT0RERUYKKyAgICBDTUFUSF9TSU5IX01FVEhPRERFRgorICAgIENNQVRIX1NRUlRfTUVUSE9EREVGCisgICAgQ01BVEhfVEFOX01FVEhPRERFRgorICAgIENNQVRIX1RBTkhfTUVUSE9EREVGCisgICAge05VTEwsIE5VTEx9ICAvKiBzZW50aW5lbCAqLwogfTsKIAogCmRpZmYgLS1naXQgYS9Nb2R1bGVzL2ZhdWx0aGFuZGxlci5jIGIvTW9kdWxlcy9mYXVsdGhhbmRsZXIuYwppbmRleCAwMWU3YmViLi40NjQzYzBlIDEwMDY0NAotLS0gYS9Nb2R1bGVzL2ZhdWx0aGFuZGxlci5jCisrKyBiL01vZHVsZXMvZmF1bHRoYW5kbGVyLmMKQEAgLTUsNyArNSwxMyBAQAogI2luY2x1ZGUgPGZyYW1lb2JqZWN0Lmg+CiAjaW5jbHVkZSA8c2lnbmFsLmg+CiAjaWYgZGVmaW5lZChIQVZFX1BUSFJFQURfU0lHTUFTSykgJiYgIWRlZmluZWQoSEFWRV9CUk9LRU5fUFRIUkVBRF9TSUdNQVNLKQotI2luY2x1ZGUgPHB0aHJlYWQuaD4KKyMgIGluY2x1ZGUgPHB0aHJlYWQuaD4KKyNlbmRpZgorI2lmZGVmIE1TX1dJTkRPV1MKKyMgIGluY2x1ZGUgPHdpbmRvd3MuaD4KKyNlbmRpZgorI2lmZGVmIEhBVkVfU1lTX1JFU09VUkNFX0gKKyMgIGluY2x1ZGUgPHN5cy9yZXNvdXJjZS5oPgogI2VuZGlmCiAKIC8qIEFsbG9jYXRlIGF0IG1heGltdW0gMTAwIE1CIG9mIHRoZSBzdGFjayB0byByYWlzZSB0aGUgc3RhY2sgb3ZlcmZsb3cgKi8KQEAgLTQ1Miw3ICs0NTgsNyBAQAogICAgICAgICBhc3NlcnQoc3QgPT0gUFlfTE9DS19GQUlMVVJFKTsKIAogICAgICAgICAvKiBnZXQgdGhlIHRocmVhZCBob2xkaW5nIHRoZSBHSUwsIE5VTEwgaWYgbm8gdGhyZWFkIGhvbGQgdGhlIEdJTCAqLwotICAgICAgICBjdXJyZW50ID0gX1B5X2F0b21pY19sb2FkX3JlbGF4ZWQoJl9QeVRocmVhZFN0YXRlX0N1cnJlbnQpOworICAgICAgICBjdXJyZW50ID0gKFB5VGhyZWFkU3RhdGUqKV9QeV9hdG9taWNfbG9hZF9yZWxheGVkKCZfUHlUaHJlYWRTdGF0ZV9DdXJyZW50KTsKIAogICAgICAgICB3cml0ZSh0aHJlYWQuZmQsIHRocmVhZC5oZWFkZXIsIChpbnQpdGhyZWFkLmhlYWRlcl9sZW4pOwogCkBAIC04MDQsMTIgKzgxMCw0MSBAQAogI2VuZGlmICAgLyogRkFVTFRIQU5ETEVSX1VTRVIgKi8KIAogCitzdGF0aWMgdm9pZAorZmF1bHRoYW5kbGVyX3N1cHByZXNzX2NyYXNoX3JlcG9ydCh2b2lkKQoreworI2lmZGVmIE1TX1dJTkRPV1MKKyAgICBVSU5UIG1vZGU7CisKKyAgICAvKiBDb25maWd1cmUgV2luZG93cyB0byBub3QgZGlzcGxheSB0aGUgV2luZG93cyBFcnJvciBSZXBvcnRpbmcgZGlhbG9nICovCisgICAgbW9kZSA9IFNldEVycm9yTW9kZShTRU1fTk9HUEZBVUxURVJST1JCT1gpOworICAgIFNldEVycm9yTW9kZShtb2RlIHwgU0VNX05PR1BGQVVMVEVSUk9SQk9YKTsKKyNlbmRpZgorCisjaWZkZWYgSEFWRV9TWVNfUkVTT1VSQ0VfSAorICAgIHN0cnVjdCBybGltaXQgcmw7CisKKyAgICAvKiBEaXNhYmxlIGNyZWF0aW9uIG9mIGNvcmUgZHVtcCAqLworICAgIGlmIChnZXRybGltaXQoUkxJTUlUX0NPUkUsICZybCkgIT0gMCkgeworICAgICAgICBybC5ybGltX2N1ciA9IDA7CisgICAgICAgIHNldHJsaW1pdChSTElNSVRfQ09SRSwgJnJsKTsKKyAgICB9CisjZW5kaWYKKworI2lmZGVmIF9NU0NfVkVSCisgICAgLyogVmlzdWFsIFN0dWRpbzogY29uZmlndXJlIGFib3J0KCkgdG8gbm90IGRpc3BsYXkgYW4gZXJyb3IgbWVzc2FnZSBub3IKKyAgICAgICBvcGVuIGEgcG9wdXAgYXNraW5nIHRvIHJlcG9ydCB0aGUgZmF1bHQuICovCisgICAgX3NldF9hYm9ydF9iZWhhdmlvcigwLCBfV1JJVEVfQUJPUlRfTVNHIHwgX0NBTExfUkVQT1JURkFVTFQpOworI2VuZGlmCit9CisKIHN0YXRpYyBQeU9iamVjdCAqCiBmYXVsdGhhbmRsZXJfcmVhZF9udWxsKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKIHsKICAgICB2b2xhdGlsZSBpbnQgKng7CiAgICAgdm9sYXRpbGUgaW50IHk7CiAKKyAgICBmYXVsdGhhbmRsZXJfc3VwcHJlc3NfY3Jhc2hfcmVwb3J0KCk7CiAgICAgeCA9IE5VTEw7CiAgICAgeSA9ICp4OwogICAgIHJldHVybiBQeUxvbmdfRnJvbUxvbmcoeSk7CkBAIC04MTksNiArODU0LDcgQEAKIHN0YXRpYyB2b2lkCiBmYXVsdGhhbmRsZXJfcmFpc2Vfc2lnc2Vndih2b2lkKQogeworICAgIGZhdWx0aGFuZGxlcl9zdXBwcmVzc19jcmFzaF9yZXBvcnQoKTsKICNpZiBkZWZpbmVkKE1TX1dJTkRPV1MpCiAgICAgLyogRm9yIFNJR1NFR1YsIGZhdWx0aGFuZGxlcl9mYXRhbF9lcnJvcigpIHJlc3RvcmVzIHRoZSBwcmV2aW91cyBzaWduYWwKICAgICAgICBoYW5kbGVyIGFuZCB0aGVuIGdpdmVzIGJhY2sgdGhlIGV4ZWN1dGlvbiBmbG93IHRvIHRoZSBwcm9ncmFtICh3aXRob3V0CkBAIC04NjEsNiArODk3LDcgQEAKICAgICAvKiBEbyBhbiBpbnRlZ2VyIGRpdmlzaW9uIGJ5IHplcm86IHJhaXNlIGEgU0lHRlBFIG9uIEludGVsIENQVSwgYnV0IG5vdCBvbgogICAgICAgIFBvd2VyUEMuIFVzZSB2b2xhdGlsZSB0byBkaXNhYmxlIGNvbXBpbGUtdGltZSBvcHRpbWl6YXRpb25zLiAqLwogICAgIHZvbGF0aWxlIGludCB4ID0gMSwgeSA9IDAsIHo7CisgICAgZmF1bHRoYW5kbGVyX3N1cHByZXNzX2NyYXNoX3JlcG9ydCgpOwogICAgIHogPSB4IC8geTsKICAgICAvKiBJZiB0aGUgZGl2aXNpb24gYnkgemVybyBkaWRuJ3QgcmFpc2UgYSBTSUdGUEUgKGUuZy4gb24gUG93ZXJQQyksCiAgICAgICAgcmFpc2UgaXQgbWFudWFsbHkuICovCkBAIC04NzMsMzkgKzkxMCwxOCBAQAogc3RhdGljIFB5T2JqZWN0ICoKIGZhdWx0aGFuZGxlcl9zaWdhYnJ0KFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKIHsKLSNpZmRlZiBfTVNDX1ZFUgotICAgIC8qIFZpc3VhbCBTdHVkaW86IGNvbmZpZ3VyZSBhYm9ydCgpIHRvIG5vdCBkaXNwbGF5IGFuIGVycm9yIG1lc3NhZ2Ugbm9yCi0gICAgICAgb3BlbiBhIHBvcHVwIGFza2luZyB0byByZXBvcnQgdGhlIGZhdWx0LiAqLwotICAgIF9zZXRfYWJvcnRfYmVoYXZpb3IoMCwgX1dSSVRFX0FCT1JUX01TRyB8IF9DQUxMX1JFUE9SVEZBVUxUKTsKLSNlbmRpZgorICAgIGZhdWx0aGFuZGxlcl9zdXBwcmVzc19jcmFzaF9yZXBvcnQoKTsKICAgICBhYm9ydCgpOwogICAgIFB5X1JFVFVSTl9OT05FOwogfQogCi0jaWZkZWYgU0lHQlVTCi1zdGF0aWMgUHlPYmplY3QgKgotZmF1bHRoYW5kbGVyX3NpZ2J1cyhQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCi17Ci0gICAgcmFpc2UoU0lHQlVTKTsKLSAgICBQeV9SRVRVUk5fTk9ORTsKLX0KLSNlbmRpZgotCi0jaWZkZWYgU0lHSUxMCi1zdGF0aWMgUHlPYmplY3QgKgotZmF1bHRoYW5kbGVyX3NpZ2lsbChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCi17Ci0gICAgcmFpc2UoU0lHSUxMKTsKLSAgICBQeV9SRVRVUk5fTk9ORTsKLX0KLSNlbmRpZgotCiBzdGF0aWMgUHlPYmplY3QgKgogZmF1bHRoYW5kbGVyX2ZhdGFsX2Vycm9yX3B5KFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKIHsKICAgICBjaGFyICptZXNzYWdlOwogICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAieTpmYXRhbF9lcnJvciIsICZtZXNzYWdlKSkKICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgZmF1bHRoYW5kbGVyX3N1cHByZXNzX2NyYXNoX3JlcG9ydCgpOwogICAgIFB5X0ZhdGFsRXJyb3IobWVzc2FnZSk7CiAgICAgUHlfUkVUVVJOX05PTkU7CiB9CkBAIC05MzIsNiArOTQ4LDcgQEAKICAgICBQeV91aW50cHRyX3Qgc3AgPSAoUHlfdWludHB0cl90KSZkZXB0aDsKICAgICBQeV91aW50cHRyX3Qgc3RvcDsKIAorICAgIGZhdWx0aGFuZGxlcl9zdXBwcmVzc19jcmFzaF9yZXBvcnQoKTsKICAgICBkZXB0aCA9IDA7CiAgICAgc3RvcCA9IHN0YWNrX292ZXJmbG93KHNwIC0gU1RBQ0tfT1ZFUkZMT1dfTUFYX1NJWkUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHNwICsgU1RBQ0tfT1ZFUkZMT1dfTUFYX1NJWkUsCkBAIC0xMDIxLDE0ICsxMDM4LDYgQEAKICAgICAgUHlEb2NfU1RSKCJfc2lnYWJydCgpOiByYWlzZSBhIFNJR0FCUlQgc2lnbmFsIil9LAogICAgIHsiX3NpZ2ZwZSIsIChQeUNGdW5jdGlvbilmYXVsdGhhbmRsZXJfc2lnZnBlLCBNRVRIX05PQVJHUywKICAgICAgUHlEb2NfU1RSKCJfc2lnZnBlKCk6IHJhaXNlIGEgU0lHRlBFIHNpZ25hbCIpfSwKLSNpZmRlZiBTSUdCVVMKLSAgICB7Il9zaWdidXMiLCAoUHlDRnVuY3Rpb24pZmF1bHRoYW5kbGVyX3NpZ2J1cywgTUVUSF9OT0FSR1MsCi0gICAgIFB5RG9jX1NUUigiX3NpZ2J1cygpOiByYWlzZSBhIFNJR0JVUyBzaWduYWwiKX0sCi0jZW5kaWYKLSNpZmRlZiBTSUdJTEwKLSAgICB7Il9zaWdpbGwiLCAoUHlDRnVuY3Rpb24pZmF1bHRoYW5kbGVyX3NpZ2lsbCwgTUVUSF9OT0FSR1MsCi0gICAgIFB5RG9jX1NUUigiX3NpZ2lsbCgpOiByYWlzZSBhIFNJR0lMTCBzaWduYWwiKX0sCi0jZW5kaWYKICAgICB7Il9mYXRhbF9lcnJvciIsIGZhdWx0aGFuZGxlcl9mYXRhbF9lcnJvcl9weSwgTUVUSF9WQVJBUkdTLAogICAgICBQeURvY19TVFIoIl9mYXRhbF9lcnJvcihtZXNzYWdlKTogY2FsbCBQeV9GYXRhbEVycm9yKG1lc3NhZ2UpIil9LAogI2lmIGRlZmluZWQoSEFWRV9TSUdBTFRTVEFDSykgJiYgZGVmaW5lZChIQVZFX1NJR0FDVElPTikKZGlmZiAtLWdpdCBhL01vZHVsZXMvZmNudGxtb2R1bGUuYyBiL01vZHVsZXMvZmNudGxtb2R1bGUuYwppbmRleCA5MzI1OTQwLi43ODBlMjIyIDEwMDY0NAotLS0gYS9Nb2R1bGVzL2ZjbnRsbW9kdWxlLmMKKysrIGIvTW9kdWxlcy9mY250bG1vZHVsZS5jCkBAIC0xNSw2ICsxNSwxMiBAQAogI2luY2x1ZGUgPHN0cm9wdHMuaD4KICNlbmRpZgogCisvKltjbGluaWMgaW5wdXRdCitvdXRwdXQgcHJlc2V0IGZpbGUKK21vZHVsZSBmY250bAorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWRhMzlhM2VlNWU2YjRiMGQgaW5wdXQ9YzczNTZmZGIxMjZhOTA0YV0qLworCiBzdGF0aWMgaW50CiBjb252X2Rlc2NyaXB0b3IoUHlPYmplY3QgKm9iamVjdCwgaW50ICp0YXJnZXQpCiB7CkBAIC0yNiw0OCArMzIsNzIgQEAKICAgICByZXR1cm4gMTsKIH0KIAorLyogTXVzdCBjb21lIGFmdGVyIGNvbnZfZGVzY3JpcHRvciBkZWZpbml0aW9uLiAqLworI2luY2x1ZGUgImNsaW5pYy9mY250bG1vZHVsZS5jLmgiCiAKLS8qIGZjbnRsKGZkLCBvcCwgW2FyZ10pICovCisvKltjbGluaWMgaW5wdXRdCitmY250bC5mY250bAorCisgICAgZmQ6IG9iamVjdCh0eXBlPSdpbnQnLCBjb252ZXJ0ZXI9J2NvbnZfZGVzY3JpcHRvcicpCisgICAgY29kZTogaW50CisgICAgYXJnOiBvYmplY3QgPSBOVUxMCisgICAgLworCitQZXJmb3JtIHRoZSBvcGVyYXRpb24gYGNvZGVgIG9uIGZpbGUgZGVzY3JpcHRvciBmZC4KKworVGhlIHZhbHVlcyB1c2VkIGZvciBgY29kZWAgYXJlIG9wZXJhdGluZyBzeXN0ZW0gZGVwZW5kZW50LCBhbmQgYXJlIGF2YWlsYWJsZQorYXMgY29uc3RhbnRzIGluIHRoZSBmY250bCBtb2R1bGUsIHVzaW5nIHRoZSBzYW1lIG5hbWVzIGFzIHVzZWQgaW4KK3RoZSByZWxldmFudCBDIGhlYWRlciBmaWxlcy4gIFRoZSBhcmd1bWVudCBhcmcgaXMgb3B0aW9uYWwsIGFuZAorZGVmYXVsdHMgdG8gMDsgaXQgbWF5IGJlIGFuIGludCBvciBhIHN0cmluZy4gIElmIGFyZyBpcyBnaXZlbiBhcyBhIHN0cmluZywKK3RoZSByZXR1cm4gdmFsdWUgb2YgZmNudGwgaXMgYSBzdHJpbmcgb2YgdGhhdCBsZW5ndGgsIGNvbnRhaW5pbmcgdGhlCityZXN1bHRpbmcgdmFsdWUgcHV0IGluIHRoZSBhcmcgYnVmZmVyIGJ5IHRoZSBvcGVyYXRpbmcgc3lzdGVtLiAgVGhlIGxlbmd0aAorb2YgdGhlIGFyZyBzdHJpbmcgaXMgbm90IGFsbG93ZWQgdG8gZXhjZWVkIDEwMjQgYnl0ZXMuICBJZiB0aGUgYXJnIGdpdmVuCitpcyBhbiBpbnRlZ2VyIG9yIGlmIG5vbmUgaXMgc3BlY2lmaWVkLCB0aGUgcmVzdWx0IHZhbHVlIGlzIGFuIGludGVnZXIKK2NvcnJlc3BvbmRpbmcgdG8gdGhlIHJldHVybiB2YWx1ZSBvZiB0aGUgZmNudGwgY2FsbCBpbiB0aGUgQyBjb2RlLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLwogCiBzdGF0aWMgUHlPYmplY3QgKgotZmNudGxfZmNudGwoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorZmNudGxfZmNudGxfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgZmQsIGludCBjb2RlLCBQeU9iamVjdCAqYXJnKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWFmYzViZmE3NGEwM2VmMGQgaW5wdXQ9NDg1MGMxM2E0MWU4NjkzMF0qLwogewotICAgIGludCBmZDsKLSAgICBpbnQgY29kZTsKLSAgICBpbnQgYXJnOworICAgIHVuc2lnbmVkIGludCBpbnRfYXJnID0gMDsKICAgICBpbnQgcmV0OwogICAgIGNoYXIgKnN0cjsKICAgICBQeV9zc2l6ZV90IGxlbjsKICAgICBjaGFyIGJ1ZlsxMDI0XTsKIAotICAgIGlmIChQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJPJmlzIzpmY250bCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgY29udl9kZXNjcmlwdG9yLCAmZmQsICZjb2RlLCAmc3RyLCAmbGVuKSkgewotICAgICAgICBpZiAobGVuID4gc2l6ZW9mIGJ1ZikgewotICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImZjbnRsIHN0cmluZyBhcmcgdG9vIGxvbmciKTsKLSAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgIGlmIChhcmcgIT0gTlVMTCkgeworICAgICAgICBpbnQgcGFyc2VfcmVzdWx0OworCisgICAgICAgIGlmIChQeUFyZ19QYXJzZShhcmcsICJzIyIsICZzdHIsICZsZW4pKSB7CisgICAgICAgICAgICBpZiAoKHNpemVfdClsZW4gPiBzaXplb2YgYnVmKSB7CisgICAgICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJmY250bCBzdHJpbmcgYXJnIHRvbyBsb25nIik7CisgICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBtZW1jcHkoYnVmLCBzdHIsIGxlbik7CisgICAgICAgICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCisgICAgICAgICAgICByZXQgPSBmY250bChmZCwgY29kZSwgYnVmKTsKKyAgICAgICAgICAgIFB5X0VORF9BTExPV19USFJFQURTCisgICAgICAgICAgICBpZiAocmV0IDwgMCkgeworICAgICAgICAgICAgICAgIFB5RXJyX1NldEZyb21FcnJubyhQeUV4Y19JT0Vycm9yKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHJldHVybiBQeUJ5dGVzX0Zyb21TdHJpbmdBbmRTaXplKGJ1ZiwgbGVuKTsKICAgICAgICAgfQotICAgICAgICBtZW1jcHkoYnVmLCBzdHIsIGxlbik7Ci0gICAgICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKLSAgICAgICAgcmV0ID0gZmNudGwoZmQsIGNvZGUsIGJ1Zik7Ci0gICAgICAgIFB5X0VORF9BTExPV19USFJFQURTCi0gICAgICAgIGlmIChyZXQgPCAwKSB7Ci0gICAgICAgICAgICBQeUVycl9TZXRGcm9tRXJybm8oUHlFeGNfSU9FcnJvcik7Ci0gICAgICAgICAgICByZXR1cm4gTlVMTDsKKworICAgICAgICBQeUVycl9DbGVhcigpOworICAgICAgICBwYXJzZV9yZXN1bHQgPSBQeUFyZ19QYXJzZShhcmcsCisgICAgICAgICAgICAiSTtmY250bCByZXF1aXJlcyBhIGZpbGUgb3IgZmlsZSBkZXNjcmlwdG9yLCIKKyAgICAgICAgICAgICIgYW4gaW50ZWdlciBhbmQgb3B0aW9uYWxseSBhIHRoaXJkIGludGVnZXIgb3IgYSBzdHJpbmciLAorICAgICAgICAgICAgJmludF9hcmcpOworICAgICAgICBpZiAoIXBhcnNlX3Jlc3VsdCkgeworICAgICAgICAgIHJldHVybiBOVUxMOwogICAgICAgICB9Ci0gICAgICAgIHJldHVybiBQeUJ5dGVzX0Zyb21TdHJpbmdBbmRTaXplKGJ1ZiwgbGVuKTsKICAgICB9CiAKLSAgICBQeUVycl9DbGVhcigpOwotICAgIGFyZyA9IDA7Ci0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCi0gICAgICAgICAiTyZpfEk7ZmNudGwgcmVxdWlyZXMgYSBmaWxlIG9yIGZpbGUgZGVzY3JpcHRvciwiCi0gICAgICAgICAiIGFuIGludGVnZXIgYW5kIG9wdGlvbmFsbHkgYSB0aGlyZCBpbnRlZ2VyIG9yIGEgc3RyaW5nIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgY29udl9kZXNjcmlwdG9yLCAmZmQsICZjb2RlLCAmYXJnKSkgewotICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgfQogICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKLSAgICByZXQgPSBmY250bChmZCwgY29kZSwgYXJnKTsKKyAgICByZXQgPSBmY250bChmZCwgY29kZSwgKGludClpbnRfYXJnKTsKICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUwogICAgIGlmIChyZXQgPCAwKSB7CiAgICAgICAgIFB5RXJyX1NldEZyb21FcnJubyhQeUV4Y19JT0Vycm9yKTsKQEAgLTc2LDMzICsxMDYsNTQgQEAKICAgICByZXR1cm4gUHlMb25nX0Zyb21Mb25nKChsb25nKXJldCk7CiB9CiAKLVB5RG9jX1NUUlZBUihmY250bF9kb2MsCi0iZmNudGwoZmQsIG9wLCBbYXJnXSlcblwKLVxuXAotUGVyZm9ybSB0aGUgb3BlcmF0aW9uIG9wIG9uIGZpbGUgZGVzY3JpcHRvciBmZC4gIFRoZSB2YWx1ZXMgdXNlZFxuXAotZm9yIG9wIGFyZSBvcGVyYXRpbmcgc3lzdGVtIGRlcGVuZGVudCwgYW5kIGFyZSBhdmFpbGFibGVcblwKLWFzIGNvbnN0YW50cyBpbiB0aGUgZmNudGwgbW9kdWxlLCB1c2luZyB0aGUgc2FtZSBuYW1lcyBhcyB1c2VkIGluXG5cCi10aGUgcmVsZXZhbnQgQyBoZWFkZXIgZmlsZXMuICBUaGUgYXJndW1lbnQgYXJnIGlzIG9wdGlvbmFsLCBhbmRcblwKLWRlZmF1bHRzIHRvIDA7IGl0IG1heSBiZSBhbiBpbnQgb3IgYSBzdHJpbmcuICBJZiBhcmcgaXMgZ2l2ZW4gYXMgYSBzdHJpbmcsXG5cCi10aGUgcmV0dXJuIHZhbHVlIG9mIGZjbnRsIGlzIGEgc3RyaW5nIG9mIHRoYXQgbGVuZ3RoLCBjb250YWluaW5nIHRoZVxuXAotcmVzdWx0aW5nIHZhbHVlIHB1dCBpbiB0aGUgYXJnIGJ1ZmZlciBieSB0aGUgb3BlcmF0aW5nIHN5c3RlbS4gIFRoZSBsZW5ndGhcblwKLW9mIHRoZSBhcmcgc3RyaW5nIGlzIG5vdCBhbGxvd2VkIHRvIGV4Y2VlZCAxMDI0IGJ5dGVzLiAgSWYgdGhlIGFyZyBnaXZlblxuXAotaXMgYW4gaW50ZWdlciBvciBpZiBub25lIGlzIHNwZWNpZmllZCwgdGhlIHJlc3VsdCB2YWx1ZSBpcyBhbiBpbnRlZ2VyXG5cCi1jb3JyZXNwb25kaW5nIHRvIHRoZSByZXR1cm4gdmFsdWUgb2YgdGhlIGZjbnRsIGNhbGwgaW4gdGhlIEMgY29kZS4iKTsKIAorLypbY2xpbmljIGlucHV0XQorZmNudGwuaW9jdGwKIAotLyogaW9jdGwoZmQsIG9wLCBbYXJnXSkgKi8KKyAgICBmZDogb2JqZWN0KHR5cGU9J2ludCcsIGNvbnZlcnRlcj0nY29udl9kZXNjcmlwdG9yJykKKyAgICBvcCBhcyBjb2RlOiB1bnNpZ25lZF9pbnQoYml0d2lzZT1UcnVlKQorICAgIGFyZyBhcyBvYl9hcmc6IG9iamVjdCA9IE5VTEwKKyAgICBtdXRhdGVfZmxhZyBhcyBtdXRhdGVfYXJnOiBib29sID0gVHJ1ZQorICAgIC8KKworUGVyZm9ybSB0aGUgb3BlcmF0aW9uIG9wIG9uIGZpbGUgZGVzY3JpcHRvciBmZC4KKworVGhlIHZhbHVlcyB1c2VkIGZvciBvcCBhcmUgb3BlcmF0aW5nIHN5c3RlbSBkZXBlbmRlbnQsIGFuZCBhcmUgYXZhaWxhYmxlIGFzCitjb25zdGFudHMgaW4gdGhlIGZjbnRsIG9yIHRlcm1pb3MgbGlicmFyeSBtb2R1bGVzLCB1c2luZyB0aGUgc2FtZSBuYW1lcyBhcwordXNlZCBpbiB0aGUgcmVsZXZhbnQgQyBoZWFkZXIgZmlsZXMuCisKK1RoZSBhcmd1bWVudCBgYXJnYCBpcyBvcHRpb25hbCwgYW5kIGRlZmF1bHRzIHRvIDA7IGl0IG1heSBiZSBhbiBpbnQgb3IgYQorYnVmZmVyIGNvbnRhaW5pbmcgY2hhcmFjdGVyIGRhdGEgKG1vc3QgbGlrZWx5IGEgc3RyaW5nIG9yIGFuIGFycmF5KS4KKworSWYgdGhlIGFyZ3VtZW50IGlzIGEgbXV0YWJsZSBidWZmZXIgKHN1Y2ggYXMgYW4gYXJyYXkpIGFuZCBpZiB0aGUKK211dGF0ZV9mbGFnIGFyZ3VtZW50ICh3aGljaCBpcyBvbmx5IGFsbG93ZWQgaW4gdGhpcyBjYXNlKSBpcyB0cnVlIHRoZW4gdGhlCitidWZmZXIgaXMgKGluIGVmZmVjdCkgcGFzc2VkIHRvIHRoZSBvcGVyYXRpbmcgc3lzdGVtIGFuZCBjaGFuZ2VzIG1hZGUgYnkKK3RoZSBPUyB3aWxsIGJlIHJlZmxlY3RlZCBpbiB0aGUgY29udGVudHMgb2YgdGhlIGJ1ZmZlciBhZnRlciB0aGUgY2FsbCBoYXMKK3JldHVybmVkLiAgVGhlIHJldHVybiB2YWx1ZSBpcyB0aGUgaW50ZWdlciByZXR1cm5lZCBieSB0aGUgaW9jdGwgc3lzdGVtCitjYWxsLgorCitJZiB0aGUgYXJndW1lbnQgaXMgYSBtdXRhYmxlIGJ1ZmZlciBhbmQgdGhlIG11dGFibGVfZmxhZyBhcmd1bWVudCBpcyBub3QKK3Bhc3NlZCBvciBpcyBmYWxzZSwgdGhlIGJlaGF2aW9yIGlzIGFzIGlmIGEgc3RyaW5nIGhhZCBiZWVuIHBhc3NlZC4gIFRoaXMKK2JlaGF2aW9yIHdpbGwgY2hhbmdlIGluIGZ1dHVyZSByZWxlYXNlcyBvZiBQeXRob24uCisKK0lmIHRoZSBhcmd1bWVudCBpcyBhbiBpbW11dGFibGUgYnVmZmVyIChtb3N0IGxpa2VseSBhIHN0cmluZykgdGhlbiBhIGNvcHkKK29mIHRoZSBidWZmZXIgaXMgcGFzc2VkIHRvIHRoZSBvcGVyYXRpbmcgc3lzdGVtIGFuZCB0aGUgcmV0dXJuIHZhbHVlIGlzIGEKK3N0cmluZyBvZiB0aGUgc2FtZSBsZW5ndGggY29udGFpbmluZyB3aGF0ZXZlciB0aGUgb3BlcmF0aW5nIHN5c3RlbSBwdXQgaW4KK3RoZSBidWZmZXIuICBUaGUgbGVuZ3RoIG9mIHRoZSBhcmcgYnVmZmVyIGluIHRoaXMgY2FzZSBpcyBub3QgYWxsb3dlZCB0bworZXhjZWVkIDEwMjQgYnl0ZXMuCisKK0lmIHRoZSBhcmcgZ2l2ZW4gaXMgYW4gaW50ZWdlciBvciBpZiBub25lIGlzIHNwZWNpZmllZCwgdGhlIHJlc3VsdCB2YWx1ZSBpcworYW4gaW50ZWdlciBjb3JyZXNwb25kaW5nIHRvIHRoZSByZXR1cm4gdmFsdWUgb2YgdGhlIGlvY3RsIGNhbGwgaW4gdGhlIEMKK2NvZGUuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1mY250bF9pb2N0bChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitmY250bF9pb2N0bF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCBmZCwgdW5zaWduZWQgaW50IGNvZGUsIFB5T2JqZWN0ICpvYl9hcmcsIGludCBtdXRhdGVfYXJnKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWFkNDc3MzhjMTE4NjIyYmYgaW5wdXQ9YTU1YTZlZThlNDk0YzQ0OV0qLwogewogI2RlZmluZSBJT0NUTF9CVUZTWiAxMDI0Ci0gICAgaW50IGZkOwotICAgIC8qIEluIFB5QXJnX1BhcnNlVHVwbGUgYmVsb3csIHdlIHVzZSB0aGUgdW5zaWduZWQgbm9uLWNoZWNrZWQgJ0knCi0gICAgICAgZm9ybWF0IGZvciB0aGUgJ2NvZGUnIHBhcmFtZXRlciBiZWNhdXNlIFB5dGhvbiB0dXJucyAweDgwMDAwMDAKLSAgICAgICBpbnRvIGVpdGhlciBhIGxhcmdlIHBvc2l0aXZlIG51bWJlciAoUHlMb25nIG9yIFB5SW50IG9uIDY0LWJpdAotICAgICAgIHBsYXRmb3Jtcykgb3IgYSBuZWdhdGl2ZSBudW1iZXIgb24gb3RoZXJzICgzMi1iaXQgUHlJbnQpCi0gICAgICAgd2hlcmVhcyB0aGUgc3lzdGVtIGV4cGVjdHMgaXQgdG8gYmUgYSAzMmJpdCBiaXQgZmllbGQgdmFsdWUKKyAgICAvKiBXZSB1c2UgdGhlIHVuc2lnbmVkIG5vbi1jaGVja2VkICdJJyBmb3JtYXQgZm9yIHRoZSAnY29kZScgcGFyYW1ldGVyCisgICAgICAgYmVjYXVzZSB0aGUgc3lzdGVtIGV4cGVjdHMgaXQgdG8gYmUgYSAzMmJpdCBiaXQgZmllbGQgdmFsdWUKICAgICAgICByZWdhcmRsZXNzIG9mIGl0IGJlaW5nIHBhc3NlZCBhcyBhbiBpbnQgb3IgdW5zaWduZWQgbG9uZyBvbgogICAgICAgIHZhcmlvdXMgcGxhdGZvcm1zLiAgU2VlIHRoZSB0ZXJtaW9zLlRJT0NTV0lOU1ogY29uc3RhbnQgYWNyb3NzCiAgICAgICAgcGxhdGZvcm1zIGZvciBhbiBleGFtcGxlIG9mIHRoaXMuCkBAIC0xMTEsMTAxICsxNjIsOTggQEAKICAgICAgICBpbiB0aGVpciB1bnNpZ25lZCBsb25nIGlvY3RsIGNvZGVzIHRoaXMgd2lsbCBicmVhayBhbmQgbmVlZAogICAgICAgIHNwZWNpYWwgY2FzaW5nIGJhc2VkIG9uIHRoZSBwbGF0Zm9ybSBiZWluZyBidWlsdCBvbi4KICAgICAgKi8KLSAgICB1bnNpZ25lZCBpbnQgY29kZTsKLSAgICBpbnQgYXJnOworICAgIGludCBhcmcgPSAwOwogICAgIGludCByZXQ7CiAgICAgUHlfYnVmZmVyIHBzdHI7CiAgICAgY2hhciAqc3RyOwogICAgIFB5X3NzaXplX3QgbGVuOwotICAgIGludCBtdXRhdGVfYXJnID0gMTsKICAgICBjaGFyIGJ1ZltJT0NUTF9CVUZTWisxXTsgIC8qIGFyZ3VtZW50IHBsdXMgTlVMIGJ5dGUgKi8KIAotICAgIGlmIChQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJPJkl3KnxpOmlvY3RsIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICBjb252X2Rlc2NyaXB0b3IsICZmZCwgJmNvZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgJnBzdHIsICZtdXRhdGVfYXJnKSkgewotICAgICAgICBjaGFyICphcmc7Ci0gICAgICAgIHN0ciA9IHBzdHIuYnVmOwotICAgICAgICBsZW4gPSBwc3RyLmxlbjsKKyAgICBpZiAob2JfYXJnICE9IE5VTEwpIHsKKyAgICAgICAgaWYgKFB5QXJnX1BhcnNlKG9iX2FyZywgIncqOmlvY3RsIiwgJnBzdHIpKSB7CisgICAgICAgICAgICBjaGFyICphcmc7CisgICAgICAgICAgICBzdHIgPSBwc3RyLmJ1ZjsKKyAgICAgICAgICAgIGxlbiA9IHBzdHIubGVuOwogCi0gICAgICAgIGlmIChtdXRhdGVfYXJnKSB7Ci0gICAgICAgICAgICBpZiAobGVuIDw9IElPQ1RMX0JVRlNaKSB7Ci0gICAgICAgICAgICAgICAgbWVtY3B5KGJ1Ziwgc3RyLCBsZW4pOwotICAgICAgICAgICAgICAgIGJ1ZltsZW5dID0gJ1wwJzsKLSAgICAgICAgICAgICAgICBhcmcgPSBidWY7CisgICAgICAgICAgICBpZiAobXV0YXRlX2FyZykgeworICAgICAgICAgICAgICAgIGlmIChsZW4gPD0gSU9DVExfQlVGU1opIHsKKyAgICAgICAgICAgICAgICAgICAgbWVtY3B5KGJ1Ziwgc3RyLCBsZW4pOworICAgICAgICAgICAgICAgICAgICBidWZbbGVuXSA9ICdcMCc7CisgICAgICAgICAgICAgICAgICAgIGFyZyA9IGJ1ZjsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgZWxzZSB7CisgICAgICAgICAgICAgICAgICAgIGFyZyA9IHN0cjsKKyAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgICAgICBhcmcgPSBzdHI7CisgICAgICAgICAgICAgICAgaWYgKGxlbiA+IElPQ1RMX0JVRlNaKSB7CisgICAgICAgICAgICAgICAgICAgIFB5QnVmZmVyX1JlbGVhc2UoJnBzdHIpOworICAgICAgICAgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICJpb2N0bCBzdHJpbmcgYXJnIHRvbyBsb25nIik7CisgICAgICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgbWVtY3B5KGJ1Ziwgc3RyLCBsZW4pOworICAgICAgICAgICAgICAgICAgICBidWZbbGVuXSA9ICdcMCc7CisgICAgICAgICAgICAgICAgICAgIGFyZyA9IGJ1ZjsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgICAgICBpZiAoYnVmID09IGFyZykgeworICAgICAgICAgICAgICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMgLyogdGhpbmsgYXJyYXkucmVzaXplKCkgKi8KKyAgICAgICAgICAgICAgICByZXQgPSBpb2N0bChmZCwgY29kZSwgYXJnKTsKKyAgICAgICAgICAgICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUworICAgICAgICAgICAgfQorICAgICAgICAgICAgZWxzZSB7CisgICAgICAgICAgICAgICAgcmV0ID0gaW9jdGwoZmQsIGNvZGUsIGFyZyk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBpZiAobXV0YXRlX2FyZyAmJiAobGVuIDw9IElPQ1RMX0JVRlNaKSkgeworICAgICAgICAgICAgICAgIG1lbWNweShzdHIsIGJ1ZiwgbGVuKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIFB5QnVmZmVyX1JlbGVhc2UoJnBzdHIpOyAvKiBObyBmdXJ0aGVyIGFjY2VzcyB0byBzdHIgYmVsb3cgdGhpcyBwb2ludCAqLworICAgICAgICAgICAgaWYgKHJldCA8IDApIHsKKyAgICAgICAgICAgICAgICBQeUVycl9TZXRGcm9tRXJybm8oUHlFeGNfSU9FcnJvcik7CisgICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBpZiAobXV0YXRlX2FyZykgeworICAgICAgICAgICAgICAgIHJldHVybiBQeUxvbmdfRnJvbUxvbmcocmV0KTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGVsc2UgeworICAgICAgICAgICAgICAgIHJldHVybiBQeUJ5dGVzX0Zyb21TdHJpbmdBbmRTaXplKGJ1ZiwgbGVuKTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQotICAgICAgICBlbHNlIHsKKworICAgICAgICBQeUVycl9DbGVhcigpOworICAgICAgICBpZiAoUHlBcmdfUGFyc2Uob2JfYXJnLCAicyo6aW9jdGwiLCAmcHN0cikpIHsKKyAgICAgICAgICAgIHN0ciA9IHBzdHIuYnVmOworICAgICAgICAgICAgbGVuID0gcHN0ci5sZW47CiAgICAgICAgICAgICBpZiAobGVuID4gSU9DVExfQlVGU1opIHsKICAgICAgICAgICAgICAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZwc3RyKTsKICAgICAgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwKLSAgICAgICAgICAgICAgICAgICAgImlvY3RsIHN0cmluZyBhcmcgdG9vIGxvbmciKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImlvY3RsIHN0cmluZyBhcmcgdG9vIGxvbmciKTsKICAgICAgICAgICAgICAgICByZXR1cm4gTlVMTDsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGVsc2UgewotICAgICAgICAgICAgICAgIG1lbWNweShidWYsIHN0ciwgbGVuKTsKLSAgICAgICAgICAgICAgICBidWZbbGVuXSA9ICdcMCc7Ci0gICAgICAgICAgICAgICAgYXJnID0gYnVmOwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAgICAgIGlmIChidWYgPT0gYXJnKSB7Ci0gICAgICAgICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTIC8qIHRoaW5rIGFycmF5LnJlc2l6ZSgpICovCi0gICAgICAgICAgICByZXQgPSBpb2N0bChmZCwgY29kZSwgYXJnKTsKKyAgICAgICAgICAgIG1lbWNweShidWYsIHN0ciwgbGVuKTsKKyAgICAgICAgICAgIGJ1ZltsZW5dID0gJ1wwJzsKKyAgICAgICAgICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKKyAgICAgICAgICAgIHJldCA9IGlvY3RsKGZkLCBjb2RlLCBidWYpOwogICAgICAgICAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKLSAgICAgICAgfQotICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgIHJldCA9IGlvY3RsKGZkLCBjb2RlLCBhcmcpOwotICAgICAgICB9Ci0gICAgICAgIGlmIChtdXRhdGVfYXJnICYmIChsZW4gPD0gSU9DVExfQlVGU1opKSB7Ci0gICAgICAgICAgICBtZW1jcHkoc3RyLCBidWYsIGxlbik7Ci0gICAgICAgIH0KLSAgICAgICAgUHlCdWZmZXJfUmVsZWFzZSgmcHN0cik7IC8qIE5vIGZ1cnRoZXIgYWNjZXNzIHRvIHN0ciBiZWxvdyB0aGlzIHBvaW50ICovCi0gICAgICAgIGlmIChyZXQgPCAwKSB7Ci0gICAgICAgICAgICBQeUVycl9TZXRGcm9tRXJybm8oUHlFeGNfSU9FcnJvcik7Ci0gICAgICAgICAgICByZXR1cm4gTlVMTDsKLSAgICAgICAgfQotICAgICAgICBpZiAobXV0YXRlX2FyZykgewotICAgICAgICAgICAgcmV0dXJuIFB5TG9uZ19Gcm9tTG9uZyhyZXQpOwotICAgICAgICB9Ci0gICAgICAgIGVsc2UgeworICAgICAgICAgICAgaWYgKHJldCA8IDApIHsKKyAgICAgICAgICAgICAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZwc3RyKTsKKyAgICAgICAgICAgICAgICBQeUVycl9TZXRGcm9tRXJybm8oUHlFeGNfSU9FcnJvcik7CisgICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZwc3RyKTsKICAgICAgICAgICAgIHJldHVybiBQeUJ5dGVzX0Zyb21TdHJpbmdBbmRTaXplKGJ1ZiwgbGVuKTsKICAgICAgICAgfQotICAgIH0KIAotICAgIFB5RXJyX0NsZWFyKCk7Ci0gICAgaWYgKFB5QXJnX1BhcnNlVHVwbGUoYXJncywgIk8mSXMqOmlvY3RsIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICBjb252X2Rlc2NyaXB0b3IsICZmZCwgJmNvZGUsICZwc3RyKSkgewotICAgICAgICBzdHIgPSBwc3RyLmJ1ZjsKLSAgICAgICAgbGVuID0gcHN0ci5sZW47Ci0gICAgICAgIGlmIChsZW4gPiBJT0NUTF9CVUZTWikgewotICAgICAgICAgICAgUHlCdWZmZXJfUmVsZWFzZSgmcHN0cik7Ci0gICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaW9jdGwgc3RyaW5nIGFyZyB0b28gbG9uZyIpOwotICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgIFB5RXJyX0NsZWFyKCk7CisgICAgICAgIGlmICghUHlBcmdfUGFyc2Uob2JfYXJnLAorICAgICAgICAgICAgICJpO2lvY3RsIHJlcXVpcmVzIGEgZmlsZSBvciBmaWxlIGRlc2NyaXB0b3IsIgorICAgICAgICAgICAgICIgYW4gaW50ZWdlciBhbmQgb3B0aW9uYWxseSBhbiBpbnRlZ2VyIG9yIGJ1ZmZlciBhcmd1bWVudCIsCisgICAgICAgICAgICAgJmFyZykpIHsKKyAgICAgICAgICByZXR1cm4gTlVMTDsKICAgICAgICAgfQotICAgICAgICBtZW1jcHkoYnVmLCBzdHIsIGxlbik7Ci0gICAgICAgIGJ1ZltsZW5dID0gJ1wwJzsKLSAgICAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwotICAgICAgICByZXQgPSBpb2N0bChmZCwgY29kZSwgYnVmKTsKLSAgICAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKLSAgICAgICAgaWYgKHJldCA8IDApIHsKLSAgICAgICAgICAgIFB5QnVmZmVyX1JlbGVhc2UoJnBzdHIpOwotICAgICAgICAgICAgUHlFcnJfU2V0RnJvbUVycm5vKFB5RXhjX0lPRXJyb3IpOwotICAgICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgICAgIH0KLSAgICAgICAgUHlCdWZmZXJfUmVsZWFzZSgmcHN0cik7Ci0gICAgICAgIHJldHVybiBQeUJ5dGVzX0Zyb21TdHJpbmdBbmRTaXplKGJ1ZiwgbGVuKTsKLSAgICB9Ci0KLSAgICBQeUVycl9DbGVhcigpOwotICAgIGFyZyA9IDA7Ci0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCi0gICAgICAgICAiTyZJfGk7aW9jdGwgcmVxdWlyZXMgYSBmaWxlIG9yIGZpbGUgZGVzY3JpcHRvciwiCi0gICAgICAgICAiIGFuIGludGVnZXIgYW5kIG9wdGlvbmFsbHkgYW4gaW50ZWdlciBvciBidWZmZXIgYXJndW1lbnQiLAotICAgICAgICAgICAgICAgICAgICAgICAgICBjb252X2Rlc2NyaXB0b3IsICZmZCwgJmNvZGUsICZhcmcpKSB7Ci0gICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgLy8gRmFsbC10aHJvdWdoIHRvIG91dHNpZGUgdGhlICdpZicgc3RhdGVtZW50LgogICAgIH0KICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCiAgICAgcmV0ID0gaW9jdGwoZmQsIGNvZGUsIGFyZyk7CkBAIC0yMTgsNTIgKzI2NiwyNSBAQAogI3VuZGVmIElPQ1RMX0JVRlNaCiB9CiAKLVB5RG9jX1NUUlZBUihpb2N0bF9kb2MsCi0iaW9jdGwoZmQsIG9wWywgYXJnWywgbXV0YXRlX2ZsYWddXSlcblwKLVxuXAotUGVyZm9ybSB0aGUgb3BlcmF0aW9uIG9wIG9uIGZpbGUgZGVzY3JpcHRvciBmZC4gIFRoZSB2YWx1ZXMgdXNlZCBmb3Igb3BcblwKLWFyZSBvcGVyYXRpbmcgc3lzdGVtIGRlcGVuZGVudCwgYW5kIGFyZSBhdmFpbGFibGUgYXMgY29uc3RhbnRzIGluIHRoZVxuXAotZmNudGwgb3IgdGVybWlvcyBsaWJyYXJ5IG1vZHVsZXMsIHVzaW5nIHRoZSBzYW1lIG5hbWVzIGFzIHVzZWQgaW4gdGhlXG5cCi1yZWxldmFudCBDIGhlYWRlciBmaWxlcy5cblwKLVxuXAotVGhlIGFyZ3VtZW50IGFyZyBpcyBvcHRpb25hbCwgYW5kIGRlZmF1bHRzIHRvIDA7IGl0IG1heSBiZSBhbiBpbnQgb3IgYVxuXAotYnVmZmVyIGNvbnRhaW5pbmcgY2hhcmFjdGVyIGRhdGEgKG1vc3QgbGlrZWx5IGEgc3RyaW5nIG9yIGFuIGFycmF5KS4gXG5cCi1cblwKLUlmIHRoZSBhcmd1bWVudCBpcyBhIG11dGFibGUgYnVmZmVyIChzdWNoIGFzIGFuIGFycmF5KSBhbmQgaWYgdGhlXG5cCi1tdXRhdGVfZmxhZyBhcmd1bWVudCAod2hpY2ggaXMgb25seSBhbGxvd2VkIGluIHRoaXMgY2FzZSkgaXMgdHJ1ZSB0aGVuIHRoZVxuXAotYnVmZmVyIGlzIChpbiBlZmZlY3QpIHBhc3NlZCB0byB0aGUgb3BlcmF0aW5nIHN5c3RlbSBhbmQgY2hhbmdlcyBtYWRlIGJ5XG5cCi10aGUgT1Mgd2lsbCBiZSByZWZsZWN0ZWQgaW4gdGhlIGNvbnRlbnRzIG9mIHRoZSBidWZmZXIgYWZ0ZXIgdGhlIGNhbGwgaGFzXG5cCi1yZXR1cm5lZC4gIFRoZSByZXR1cm4gdmFsdWUgaXMgdGhlIGludGVnZXIgcmV0dXJuZWQgYnkgdGhlIGlvY3RsIHN5c3RlbVxuXAotY2FsbC5cblwKLVxuXAotSWYgdGhlIGFyZ3VtZW50IGlzIGEgbXV0YWJsZSBidWZmZXIgYW5kIHRoZSBtdXRhYmxlX2ZsYWcgYXJndW1lbnQgaXMgbm90XG5cCi1wYXNzZWQgb3IgaXMgZmFsc2UsIHRoZSBiZWhhdmlvciBpcyBhcyBpZiBhIHN0cmluZyBoYWQgYmVlbiBwYXNzZWQuICBUaGlzXG5cCi1iZWhhdmlvciB3aWxsIGNoYW5nZSBpbiBmdXR1cmUgcmVsZWFzZXMgb2YgUHl0aG9uLlxuXAotXG5cCi1JZiB0aGUgYXJndW1lbnQgaXMgYW4gaW1tdXRhYmxlIGJ1ZmZlciAobW9zdCBsaWtlbHkgYSBzdHJpbmcpIHRoZW4gYSBjb3B5XG5cCi1vZiB0aGUgYnVmZmVyIGlzIHBhc3NlZCB0byB0aGUgb3BlcmF0aW5nIHN5c3RlbSBhbmQgdGhlIHJldHVybiB2YWx1ZSBpcyBhXG5cCi1zdHJpbmcgb2YgdGhlIHNhbWUgbGVuZ3RoIGNvbnRhaW5pbmcgd2hhdGV2ZXIgdGhlIG9wZXJhdGluZyBzeXN0ZW0gcHV0IGluXG5cCi10aGUgYnVmZmVyLiAgVGhlIGxlbmd0aCBvZiB0aGUgYXJnIGJ1ZmZlciBpbiB0aGlzIGNhc2UgaXMgbm90IGFsbG93ZWQgdG9cblwKLWV4Y2VlZCAxMDI0IGJ5dGVzLlxuXAotXG5cCi1JZiB0aGUgYXJnIGdpdmVuIGlzIGFuIGludGVnZXIgb3IgaWYgbm9uZSBpcyBzcGVjaWZpZWQsIHRoZSByZXN1bHQgdmFsdWUgaXNcblwKLWFuIGludGVnZXIgY29ycmVzcG9uZGluZyB0byB0aGUgcmV0dXJuIHZhbHVlIG9mIHRoZSBpb2N0bCBjYWxsIGluIHRoZSBDXG5cCi1jb2RlLiIpOworLypbY2xpbmljIGlucHV0XQorZmNudGwuZmxvY2sKIAorICAgIGZkOiBvYmplY3QodHlwZT0naW50JywgY29udmVydGVyPSdjb252X2Rlc2NyaXB0b3InKQorICAgIGNvZGU6IGludAorICAgIC8KIAotLyogZmxvY2soZmQsIG9wZXJhdGlvbikgKi8KK1BlcmZvcm0gdGhlIGxvY2sgb3BlcmF0aW9uIG9wIG9uIGZpbGUgZGVzY3JpcHRvciBmZC4KKworU2VlIHRoZSBVbml4IG1hbnVhbCBwYWdlIGZvciBmbG9jaygyKSBmb3IgZGV0YWlscyAoT24gc29tZSBzeXN0ZW1zLCB0aGlzCitmdW5jdGlvbiBpcyBlbXVsYXRlZCB1c2luZyBmY250bCgpKS4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KIAogc3RhdGljIFB5T2JqZWN0ICoKLWZjbnRsX2Zsb2NrKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK2ZjbnRsX2Zsb2NrX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IGZkLCBpbnQgY29kZSkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1jOTAzNTEzM2E3ZGJmYzk2IGlucHV0PWI3NjJhYTk0NDhkMDVlNDNdKi8KIHsKLSAgICBpbnQgZmQ7Ci0gICAgaW50IGNvZGU7CiAgICAgaW50IHJldDsKIAotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiTyZpOmZsb2NrIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgY29udl9kZXNjcmlwdG9yLCAmZmQsICZjb2RlKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0KICNpZmRlZiBIQVZFX0ZMT0NLCiAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwogICAgIHJldCA9IGZsb2NrKGZkLCBjb2RlKTsKQEAgLTI5OSwyOSArMzIwLDQ5IEBACiAgICAgICAgIFB5RXJyX1NldEZyb21FcnJubyhQeUV4Y19JT0Vycm9yKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQotICAgIFB5X0lOQ1JFRihQeV9Ob25lKTsKLSAgICByZXR1cm4gUHlfTm9uZTsKKyAgICBQeV9SRVRVUk5fTk9ORTsKIH0KIAotUHlEb2NfU1RSVkFSKGZsb2NrX2RvYywKLSJmbG9jayhmZCwgb3BlcmF0aW9uKVxuXAotXG5cCi1QZXJmb3JtIHRoZSBsb2NrIG9wZXJhdGlvbiBvcCBvbiBmaWxlIGRlc2NyaXB0b3IgZmQuICBTZWUgdGhlIFVuaXggXG5cCi1tYW51YWwgcGFnZSBmb3IgZmxvY2soMikgZm9yIGRldGFpbHMuICAoT24gc29tZSBzeXN0ZW1zLCB0aGlzIGZ1bmN0aW9uIGlzXG5cCi1lbXVsYXRlZCB1c2luZyBmY250bCgpLikiKTsKIAorLypbY2xpbmljIGlucHV0XQorZmNudGwubG9ja2YKIAotLyogbG9ja2YoZmQsIG9wZXJhdGlvbikgKi8KKyAgICBmZDogb2JqZWN0KHR5cGU9J2ludCcsIGNvbnZlcnRlcj0nY29udl9kZXNjcmlwdG9yJykKKyAgICBjb2RlOiBpbnQKKyAgICBsZW5vYmo6IG9iamVjdCA9IE5VTEwKKyAgICBzdGFydG9iajogb2JqZWN0ID0gTlVMTAorICAgIHdoZW5jZTogaW50ID0gMAorICAgIC8KKworQSB3cmFwcGVyIGFyb3VuZCB0aGUgZmNudGwoKSBsb2NraW5nIGNhbGxzLgorCitmZCBpcyB0aGUgZmlsZSBkZXNjcmlwdG9yIG9mIHRoZSBmaWxlIHRvIGxvY2sgb3IgdW5sb2NrLCBhbmQgb3BlcmF0aW9uIGlzIG9uZQorb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXM6CisKKyAgICBMT0NLX1VOIC0gdW5sb2NrCisgICAgTE9DS19TSCAtIGFjcXVpcmUgYSBzaGFyZWQgbG9jaworICAgIExPQ0tfRVggLSBhY3F1aXJlIGFuIGV4Y2x1c2l2ZSBsb2NrCisKK1doZW4gb3BlcmF0aW9uIGlzIExPQ0tfU0ggb3IgTE9DS19FWCwgaXQgY2FuIGFsc28gYmUgYml0d2lzZSBPUmVkIHdpdGgKK0xPQ0tfTkIgdG8gYXZvaWQgYmxvY2tpbmcgb24gbG9jayBhY3F1aXNpdGlvbi4gIElmIExPQ0tfTkIgaXMgdXNlZCBhbmQgdGhlCitsb2NrIGNhbm5vdCBiZSBhY3F1aXJlZCwgYW4gSU9FcnJvciB3aWxsIGJlIHJhaXNlZCBhbmQgdGhlIGV4Y2VwdGlvbiB3aWxsCitoYXZlIGFuIGVycm5vIGF0dHJpYnV0ZSBzZXQgdG8gRUFDQ0VTIG9yIEVBR0FJTiAoZGVwZW5kaW5nIG9uIHRoZSBvcGVyYXRpbmcKK3N5c3RlbSAtLSBmb3IgcG9ydGFiaWxpdHksIGNoZWNrIGZvciBlaXRoZXIgdmFsdWUpLgorCitsZW5ndGggaXMgdGhlIG51bWJlciBvZiBieXRlcyB0byBsb2NrLCB3aXRoIHRoZSBkZWZhdWx0IG1lYW5pbmcgdG8gbG9jayB0bworRU9GLiAgc3RhcnQgaXMgdGhlIGJ5dGUgb2Zmc2V0LCByZWxhdGl2ZSB0byB3aGVuY2UsIHRvIHRoYXQgdGhlIGxvY2sKK3N0YXJ0cy4gIHdoZW5jZSBpcyBhcyB3aXRoIGZpbGVvYmouc2VlaygpLCBzcGVjaWZpY2FsbHk6CisKKyAgICAwIC0gcmVsYXRpdmUgdG8gdGhlIHN0YXJ0IG9mIHRoZSBmaWxlIChTRUVLX1NFVCkKKyAgICAxIC0gcmVsYXRpdmUgdG8gdGhlIGN1cnJlbnQgYnVmZmVyIHBvc2l0aW9uIChTRUVLX0NVUikKKyAgICAyIC0gcmVsYXRpdmUgdG8gdGhlIGVuZCBvZiB0aGUgZmlsZSAoU0VFS19FTkQpCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKIHN0YXRpYyBQeU9iamVjdCAqCi1mY250bF9sb2NrZihQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitmY250bF9sb2NrZl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCBmZCwgaW50IGNvZGUsIFB5T2JqZWN0ICpsZW5vYmosIFB5T2JqZWN0ICpzdGFydG9iaiwgaW50IHdoZW5jZSkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD01NTM2ZGYyODkyYmYzY2U5IGlucHV0PTQ0ODU2ZmEwNmRiMzYxODRdKi8KIHsKLSAgICBpbnQgZmQsIGNvZGUsIHJldCwgd2hlbmNlID0gMDsKLSAgICBQeU9iamVjdCAqbGVub2JqID0gTlVMTCwgKnN0YXJ0b2JqID0gTlVMTDsKLQotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiTyZpfE9PaTpsb2NrZiIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnZfZGVzY3JpcHRvciwgJmZkLCAmY29kZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgJmxlbm9iaiwgJnN0YXJ0b2JqLCAmd2hlbmNlKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgaW50IHJldDsKIAogI2lmbmRlZiBMT0NLX1NICiAjZGVmaW5lIExPQ0tfU0ggICAgICAgICAxICAgICAgIC8qIHNoYXJlZCBsb2NrICovCkBAIC0zNzQsNDMgKzQxNSwxNyBAQAogICAgICAgICBQeUVycl9TZXRGcm9tRXJybm8oUHlFeGNfSU9FcnJvcik7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KLSAgICBQeV9JTkNSRUYoUHlfTm9uZSk7Ci0gICAgcmV0dXJuIFB5X05vbmU7CisgICAgUHlfUkVUVVJOX05PTkU7CiB9CiAKLVB5RG9jX1NUUlZBUihsb2NrZl9kb2MsCi0ibG9ja2YgKGZkLCBvcGVyYXRpb24sIGxlbmd0aD0wLCBzdGFydD0wLCB3aGVuY2U9MClcblwKLVxuXAotVGhpcyBpcyBlc3NlbnRpYWxseSBhIHdyYXBwZXIgYXJvdW5kIHRoZSBmY250bCgpIGxvY2tpbmcgY2FsbHMuICBmZCBpcyB0aGVcblwKLWZpbGUgZGVzY3JpcHRvciBvZiB0aGUgZmlsZSB0byBsb2NrIG9yIHVubG9jaywgYW5kIG9wZXJhdGlvbiBpcyBvbmUgb2YgdGhlXG5cCi1mb2xsb3dpbmcgdmFsdWVzOlxuXAotXG5cCi0gICAgTE9DS19VTiAtIHVubG9ja1xuXAotICAgIExPQ0tfU0ggLSBhY3F1aXJlIGEgc2hhcmVkIGxvY2tcblwKLSAgICBMT0NLX0VYIC0gYWNxdWlyZSBhbiBleGNsdXNpdmUgbG9ja1xuXAotXG5cCi1XaGVuIG9wZXJhdGlvbiBpcyBMT0NLX1NIIG9yIExPQ0tfRVgsIGl0IGNhbiBhbHNvIGJlIGJpdHdpc2UgT1JlZCB3aXRoXG5cCi1MT0NLX05CIHRvIGF2b2lkIGJsb2NraW5nIG9uIGxvY2sgYWNxdWlzaXRpb24uICBJZiBMT0NLX05CIGlzIHVzZWQgYW5kIHRoZVxuXAotbG9jayBjYW5ub3QgYmUgYWNxdWlyZWQsIGFuIElPRXJyb3Igd2lsbCBiZSByYWlzZWQgYW5kIHRoZSBleGNlcHRpb24gd2lsbFxuXAotaGF2ZSBhbiBlcnJubyBhdHRyaWJ1dGUgc2V0IHRvIEVBQ0NFUyBvciBFQUdBSU4gKGRlcGVuZGluZyBvbiB0aGUgb3BlcmF0aW5nXG5cCi1zeXN0ZW0gLS0gZm9yIHBvcnRhYmlsaXR5LCBjaGVjayBmb3IgZWl0aGVyIHZhbHVlKS5cblwKLVxuXAotbGVuZ3RoIGlzIHRoZSBudW1iZXIgb2YgYnl0ZXMgdG8gbG9jaywgd2l0aCB0aGUgZGVmYXVsdCBtZWFuaW5nIHRvIGxvY2sgdG9cblwKLUVPRi4gIHN0YXJ0IGlzIHRoZSBieXRlIG9mZnNldCwgcmVsYXRpdmUgdG8gd2hlbmNlLCB0byB0aGF0IHRoZSBsb2NrXG5cCi1zdGFydHMuICB3aGVuY2UgaXMgYXMgd2l0aCBmaWxlb2JqLnNlZWsoKSwgc3BlY2lmaWNhbGx5OlxuXAotXG5cCi0gICAgMCAtIHJlbGF0aXZlIHRvIHRoZSBzdGFydCBvZiB0aGUgZmlsZSAoU0VFS19TRVQpXG5cCi0gICAgMSAtIHJlbGF0aXZlIHRvIHRoZSBjdXJyZW50IGJ1ZmZlciBwb3NpdGlvbiAoU0VFS19DVVIpXG5cCi0gICAgMiAtIHJlbGF0aXZlIHRvIHRoZSBlbmQgb2YgdGhlIGZpbGUgKFNFRUtfRU5EKSIpOwotCiAvKiBMaXN0IG9mIGZ1bmN0aW9ucyAqLwogCiBzdGF0aWMgUHlNZXRob2REZWYgZmNudGxfbWV0aG9kc1tdID0gewotICAgIHsiZmNudGwiLCAgICAgICAgICAgZmNudGxfZmNudGwsIE1FVEhfVkFSQVJHUywgZmNudGxfZG9jfSwKLSAgICB7ImlvY3RsIiwgICAgICAgICAgIGZjbnRsX2lvY3RsLCBNRVRIX1ZBUkFSR1MsIGlvY3RsX2RvY30sCi0gICAgeyJmbG9jayIsICAgICAgICAgICBmY250bF9mbG9jaywgTUVUSF9WQVJBUkdTLCBmbG9ja19kb2N9LAotICAgIHsibG9ja2YiLCAgICAgICBmY250bF9sb2NrZiwgTUVUSF9WQVJBUkdTLCBsb2NrZl9kb2N9LAotICAgIHtOVUxMLCAgICAgICAgICAgICAgTlVMTH0gICAgICAgICAgIC8qIHNlbnRpbmVsICovCisgICAgRkNOVExfRkNOVExfTUVUSE9EREVGCisgICAgRkNOVExfSU9DVExfTUVUSE9EREVGCisgICAgRkNOVExfRkxPQ0tfTUVUSE9EREVGCisgICAgRkNOVExfTE9DS0ZfTUVUSE9EREVGCisgICAge05VTEwsIE5VTEx9ICAvKiBzZW50aW5lbCAqLwogfTsKIAogCmRpZmYgLS1naXQgYS9Nb2R1bGVzL2djbW9kdWxlLmMgYi9Nb2R1bGVzL2djbW9kdWxlLmMKaW5kZXggOWJiMzY2Ni4uMTQyNjg3YiAxMDA2NDQKLS0tIGEvTW9kdWxlcy9nY21vZHVsZS5jCisrKyBiL01vZHVsZXMvZ2Ntb2R1bGUuYwpAQCAtMjUsNiArMjUsNyBAQAogCiAjaW5jbHVkZSAiUHl0aG9uLmgiCiAjaW5jbHVkZSAiZnJhbWVvYmplY3QuaCIgICAgICAgIC8qIGZvciBQeUZyYW1lX0NsZWFyRnJlZUxpc3QgKi8KKyNpbmNsdWRlICJweXRpbWUuaCIgICAgICAgICAgICAgLyogZm9yIF9QeVRpbWVfbW9ub3RvbmljLCBfUHlUaW1lX0lOVEVSVkFMICovCiAKIC8qIEdldCBhbiBvYmplY3QncyBHQyBoZWFkICovCiAjZGVmaW5lIEFTX0dDKG8pICgoUHlHQ19IZWFkICopKG8pLTEpCkBAIC0xNjYsNyArMTY3LDYgQEAKICAgICAgICAgICAgICAgICBERUJVR19VTkNPTExFQ1RBQkxFIHwgXAogICAgICAgICAgICAgICAgIERFQlVHX1NBVkVBTEwKIHN0YXRpYyBpbnQgZGVidWc7Ci1zdGF0aWMgUHlPYmplY3QgKnRtb2QgPSBOVUxMOwogCiAvKiBSdW5uaW5nIHN0YXRzIHBlciBnZW5lcmF0aW9uICovCiBzdHJ1Y3QgZ2NfZ2VuZXJhdGlvbl9zdGF0cyB7CkBAIC04OTQsMjYgKzg5NCw2IEBACiAgICAgKHZvaWQpUHlTZXRfQ2xlYXJGcmVlTGlzdCgpOwogfQogCi1zdGF0aWMgZG91YmxlCi1nZXRfdGltZSh2b2lkKQotewotICAgIGRvdWJsZSByZXN1bHQgPSAwOwotICAgIGlmICh0bW9kICE9IE5VTEwpIHsKLSAgICAgICAgX1B5X0lERU5USUZJRVIodGltZSk7Ci0KLSAgICAgICAgUHlPYmplY3QgKmYgPSBfUHlPYmplY3RfQ2FsbE1ldGhvZElkKHRtb2QsICZQeUlkX3RpbWUsIE5VTEwpOwotICAgICAgICBpZiAoZiA9PSBOVUxMKSB7Ci0gICAgICAgICAgICBQeUVycl9DbGVhcigpOwotICAgICAgICB9Ci0gICAgICAgIGVsc2UgewotICAgICAgICAgICAgaWYgKFB5RmxvYXRfQ2hlY2soZikpCi0gICAgICAgICAgICAgICAgcmVzdWx0ID0gUHlGbG9hdF9Bc0RvdWJsZShmKTsKLSAgICAgICAgICAgIFB5X0RFQ1JFRihmKTsKLSAgICAgICAgfQotICAgIH0KLSAgICByZXR1cm4gcmVzdWx0OwotfQotCiAvKiBUaGlzIGlzIHRoZSBtYWluIGZ1bmN0aW9uLiAgUmVhZCB0aGlzIHRvIHVuZGVyc3RhbmQgaG93IHRoZQogICogY29sbGVjdGlvbiBwcm9jZXNzIHdvcmtzLiAqLwogc3RhdGljIFB5X3NzaXplX3QKQEAgLTkyOCw3ICs5MDgsOCBAQAogICAgIFB5R0NfSGVhZCB1bnJlYWNoYWJsZTsgLyogbm9uLXByb2JsZW1hdGljIHVucmVhY2hhYmxlIHRyYXNoICovCiAgICAgUHlHQ19IZWFkIGZpbmFsaXplcnM7ICAvKiBvYmplY3RzIHdpdGgsICYgcmVhY2hhYmxlIGZyb20sIF9fZGVsX18gKi8KICAgICBQeUdDX0hlYWQgKmdjOwotICAgIGRvdWJsZSB0MSA9IDAuMDsKKyAgICBfUHlUaW1lX3RpbWV2YWwgdDE7CisKICAgICBzdHJ1Y3QgZ2NfZ2VuZXJhdGlvbl9zdGF0cyAqc3RhdHMgPSAmZ2VuZXJhdGlvbl9zdGF0c1tnZW5lcmF0aW9uXTsKIAogICAgIGlmIChkZWJ1ZyAmIERFQlVHX1NUQVRTKSB7CkBAIC05MzYsOSArOTE3LDEwIEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgIGdlbmVyYXRpb24pOwogICAgICAgICBQeVN5c19Xcml0ZVN0ZGVycigiZ2M6IG9iamVjdHMgaW4gZWFjaCBnZW5lcmF0aW9uOiIpOwogICAgICAgICBmb3IgKGkgPSAwOyBpIDwgTlVNX0dFTkVSQVRJT05TOyBpKyspCi0gICAgICAgICAgICBQeVN5c19Xcml0ZVN0ZGVycigiICUiIFBZX0ZPUk1BVF9TSVpFX1QgImQiLAorICAgICAgICAgICAgUHlTeXNfRm9ybWF0U3RkZXJyKCIgJXpkIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdjX2xpc3Rfc2l6ZShHRU5fSEVBRChpKSkpOwotICAgICAgICB0MSA9IGdldF90aW1lKCk7CisgICAgICAgIF9QeVRpbWVfbW9ub3RvbmljKCZ0MSk7CisKICAgICAgICAgUHlTeXNfV3JpdGVTdGRlcnIoIlxuIik7CiAgICAgfQogCkBAIC0xMDQyLDE5ICsxMDI0LDE2IEBACiAgICAgICAgICAgICBkZWJ1Z19jeWNsZSgidW5jb2xsZWN0YWJsZSIsIEZST01fR0MoZ2MpKTsKICAgICB9CiAgICAgaWYgKGRlYnVnICYgREVCVUdfU1RBVFMpIHsKLSAgICAgICAgZG91YmxlIHQyID0gZ2V0X3RpbWUoKTsKKyAgICAgICAgX1B5VGltZV90aW1ldmFsIHQyOworICAgICAgICBfUHlUaW1lX21vbm90b25pYygmdDIpOworCiAgICAgICAgIGlmIChtID09IDAgJiYgbiA9PSAwKQogICAgICAgICAgICAgUHlTeXNfV3JpdGVTdGRlcnIoImdjOiBkb25lIik7CiAgICAgICAgIGVsc2UKLSAgICAgICAgICAgIFB5U3lzX1dyaXRlU3RkZXJyKAotICAgICAgICAgICAgICAgICJnYzogZG9uZSwgIgotICAgICAgICAgICAgICAgICIlIiBQWV9GT1JNQVRfU0laRV9UICJkIHVucmVhY2hhYmxlLCAiCi0gICAgICAgICAgICAgICAgIiUiIFBZX0ZPUk1BVF9TSVpFX1QgImQgdW5jb2xsZWN0YWJsZSIsCisgICAgICAgICAgICBQeVN5c19Gb3JtYXRTdGRlcnIoCisgICAgICAgICAgICAgICAgImdjOiBkb25lLCAlemQgdW5yZWFjaGFibGUsICV6ZCB1bmNvbGxlY3RhYmxlIiwKICAgICAgICAgICAgICAgICBuK20sIG4pOwotICAgICAgICBpZiAodDEgJiYgdDIpIHsKLSAgICAgICAgICAgIFB5U3lzX1dyaXRlU3RkZXJyKCIsICUuNGZzIGVsYXBzZWQiLCB0Mi10MSk7Ci0gICAgICAgIH0KLSAgICAgICAgUHlTeXNfV3JpdGVTdGRlcnIoIi5cbiIpOworICAgICAgICBQeVN5c19Xcml0ZVN0ZGVycigiLCAlLjRmcyBlbGFwc2VkXG4iLCBfUHlUaW1lX0lOVEVSVkFMKHQxLCB0MikpOwogICAgIH0KIAogICAgIC8qIEFwcGVuZCBpbnN0YW5jZXMgaW4gdGhlIHVuY29sbGVjdGFibGUgc2V0IHRvIGEgUHl0aG9uCkBAIC0xNTgxLDE4ICsxNTYwLDYgQEAKICAgICBpZiAoUHlNb2R1bGVfQWRkT2JqZWN0KG0sICJjYWxsYmFja3MiLCBjYWxsYmFja3MpIDwgMCkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAKLSAgICAvKiBJbXBvcnRpbmcgY2FuJ3QgYmUgZG9uZSBpbiBjb2xsZWN0KCkgYmVjYXVzZSBjb2xsZWN0KCkKLSAgICAgKiBjYW4gYmUgY2FsbGVkIHZpYSBQeUdDX0NvbGxlY3QoKSBpbiBQeV9GaW5hbGl6ZSgpLgotICAgICAqIFRoaXMgd291bGRuJ3QgYmUgYSBwcm9ibGVtLCBleGNlcHQgdGhhdCA8aW5pdGlhbGl6ZWQ+IGlzCi0gICAgICogcmVzZXQgdG8gMCBiZWZvcmUgY2FsbGluZyBjb2xsZWN0IHdoaWNoIHRyaXBzIHVwCi0gICAgICogdGhlIGltcG9ydCBhbmQgdHJpZ2dlcnMgYW4gYXNzZXJ0aW9uLgotICAgICAqLwotICAgIGlmICh0bW9kID09IE5VTEwpIHsKLSAgICAgICAgdG1vZCA9IFB5SW1wb3J0X0ltcG9ydE1vZHVsZU5vQmxvY2soInRpbWUiKTsKLSAgICAgICAgaWYgKHRtb2QgPT0gTlVMTCkKLSAgICAgICAgICAgIFB5RXJyX0NsZWFyKCk7Ci0gICAgfQotCiAjZGVmaW5lIEFERF9JTlQoTkFNRSkgaWYgKFB5TW9kdWxlX0FkZEludENvbnN0YW50KG0sICNOQU1FLCBOQU1FKSA8IDApIHJldHVybiBOVUxMCiAgICAgQUREX0lOVChERUJVR19TVEFUUyk7CiAgICAgQUREX0lOVChERUJVR19DT0xMRUNUQUJMRSk7CkBAIC0xNjgxLDcgKzE2NDgsNiBAQAogX1B5R0NfRmluaSh2b2lkKQogewogICAgIFB5X0NMRUFSKGNhbGxiYWNrcyk7Ci0gICAgUHlfQ0xFQVIodG1vZCk7CiB9CiAKIC8qIGZvciBkZWJ1Z2dpbmcgKi8KQEAgLTE3MTUsMTUgKzE2ODEsMTkgQEAKICAgICAgICAgX1B5T2JqZWN0X0dDX1VOVFJBQ0sob3ApOwogfQogCi1QeU9iamVjdCAqCi1fUHlPYmplY3RfR0NfTWFsbG9jKHNpemVfdCBiYXNpY3NpemUpCitzdGF0aWMgUHlPYmplY3QgKgorX1B5T2JqZWN0X0dDX0FsbG9jKGludCB1c2VfY2FsbG9jLCBzaXplX3QgYmFzaWNzaXplKQogewogICAgIFB5T2JqZWN0ICpvcDsKICAgICBQeUdDX0hlYWQgKmc7CisgICAgc2l6ZV90IHNpemU7CiAgICAgaWYgKGJhc2ljc2l6ZSA+IFBZX1NTSVpFX1RfTUFYIC0gc2l6ZW9mKFB5R0NfSGVhZCkpCiAgICAgICAgIHJldHVybiBQeUVycl9Ob01lbW9yeSgpOwotICAgIGcgPSAoUHlHQ19IZWFkICopUHlPYmplY3RfTUFMTE9DKAotICAgICAgICBzaXplb2YoUHlHQ19IZWFkKSArIGJhc2ljc2l6ZSk7CisgICAgc2l6ZSA9IHNpemVvZihQeUdDX0hlYWQpICsgYmFzaWNzaXplOworICAgIGlmICh1c2VfY2FsbG9jKQorICAgICAgICBnID0gKFB5R0NfSGVhZCAqKVB5T2JqZWN0X0NhbGxvYygxLCBzaXplKTsKKyAgICBlbHNlCisgICAgICAgIGcgPSAoUHlHQ19IZWFkICopUHlPYmplY3RfTWFsbG9jKHNpemUpOwogICAgIGlmIChnID09IE5VTEwpCiAgICAgICAgIHJldHVybiBQeUVycl9Ob01lbW9yeSgpOwogICAgIGctPmdjLmdjX3JlZnMgPSAwOwpAQCAtMTc0Myw2ICsxNzEzLDE4IEBACiB9CiAKIFB5T2JqZWN0ICoKK19QeU9iamVjdF9HQ19NYWxsb2Moc2l6ZV90IGJhc2ljc2l6ZSkKK3sKKyAgICByZXR1cm4gX1B5T2JqZWN0X0dDX0FsbG9jKDAsIGJhc2ljc2l6ZSk7Cit9CisKK1B5T2JqZWN0ICoKK19QeU9iamVjdF9HQ19DYWxsb2Moc2l6ZV90IGJhc2ljc2l6ZSkKK3sKKyAgICByZXR1cm4gX1B5T2JqZWN0X0dDX0FsbG9jKDEsIGJhc2ljc2l6ZSk7Cit9CisKK1B5T2JqZWN0ICoKIF9QeU9iamVjdF9HQ19OZXcoUHlUeXBlT2JqZWN0ICp0cCkKIHsKICAgICBQeU9iamVjdCAqb3AgPSBfUHlPYmplY3RfR0NfTWFsbG9jKF9QeU9iamVjdF9TSVpFKHRwKSk7CmRpZmYgLS1naXQgYS9Nb2R1bGVzL2dldHBhdGguYyBiL01vZHVsZXMvZ2V0cGF0aC5jCmluZGV4IDEzZTM4MTcuLjM1NjRkNzIgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvZ2V0cGF0aC5jCisrKyBiL01vZHVsZXMvZ2V0cGF0aC5jCkBAIC0zMzYsNyArMzM2LDcgQEAKICAgICBqb2lucGF0aChwcmVmaXgsIEwiTW9kdWxlcy9TZXR1cCIpOwogICAgIGlmIChpc2ZpbGUocHJlZml4KSkgewogICAgICAgICAvKiBDaGVjayBWUEFUSCB0byBzZWUgaWYgYXJndjBfcGF0aCBpcyBpbiB0aGUgYnVpbGQgZGlyZWN0b3J5LiAqLwotICAgICAgICB2cGF0aCA9IF9QeV9jaGFyMndjaGFyKFZQQVRILCBOVUxMKTsKKyAgICAgICAgdnBhdGggPSBQeV9EZWNvZGVMb2NhbGUoVlBBVEgsIE5VTEwpOwogICAgICAgICBpZiAodnBhdGggIT0gTlVMTCkgewogICAgICAgICAgICAgd2NzbmNweShwcmVmaXgsIGFyZ3YwX3BhdGgsIE1BWFBBVEhMRU4pOwogICAgICAgICAgICAgcHJlZml4W01BWFBBVEhMRU5dID0gTCdcMCc7CkBAIC00OTEsMTAgKzQ5MSwxMCBAQAogICAgIHdjaGFyX3QgKl9weXRob25wYXRoLCAqX3ByZWZpeCwgKl9leGVjX3ByZWZpeDsKICAgICB3Y2hhcl90ICpsaWJfcHl0aG9uOwogCi0gICAgX3B5dGhvbnBhdGggPSBfUHlfY2hhcjJ3Y2hhcihQWVRIT05QQVRILCBOVUxMKTsKLSAgICBfcHJlZml4ID0gX1B5X2NoYXIyd2NoYXIoUFJFRklYLCBOVUxMKTsKLSAgICBfZXhlY19wcmVmaXggPSBfUHlfY2hhcjJ3Y2hhcihFWEVDX1BSRUZJWCwgTlVMTCk7Ci0gICAgbGliX3B5dGhvbiA9IF9QeV9jaGFyMndjaGFyKCJsaWIvcHl0aG9uIiBWRVJTSU9OLCBOVUxMKTsKKyAgICBfcHl0aG9ucGF0aCA9IFB5X0RlY29kZUxvY2FsZShQWVRIT05QQVRILCBOVUxMKTsKKyAgICBfcHJlZml4ID0gUHlfRGVjb2RlTG9jYWxlKFBSRUZJWCwgTlVMTCk7CisgICAgX2V4ZWNfcHJlZml4ID0gUHlfRGVjb2RlTG9jYWxlKEVYRUNfUFJFRklYLCBOVUxMKTsKKyAgICBsaWJfcHl0aG9uID0gUHlfRGVjb2RlTG9jYWxlKCJsaWIvcHl0aG9uIiBWRVJTSU9OLCBOVUxMKTsKIAogICAgIGlmICghX3B5dGhvbnBhdGggfHwgIV9wcmVmaXggfHwgIV9leGVjX3ByZWZpeCB8fCAhbGliX3B5dGhvbikgewogICAgICAgICBQeV9GYXRhbEVycm9yKApAQCAtNTAzLDcgKzUwMyw3IEBACiAgICAgfQogCiAgICAgaWYgKF9wYXRoKSB7Ci0gICAgICAgIHBhdGhfYnVmZmVyID0gX1B5X2NoYXIyd2NoYXIoX3BhdGgsIE5VTEwpOworICAgICAgICBwYXRoX2J1ZmZlciA9IFB5X0RlY29kZUxvY2FsZShfcGF0aCwgTlVMTCk7CiAgICAgICAgIHBhdGggPSBwYXRoX2J1ZmZlcjsKICAgICB9CiAKQEAgLTU4NCw3ICs1ODQsNyBAQAogICAgICAgICAqKiBiZSBydW5uaW5nIHRoZSBpbnRlcnByZXRlciBpbiB0aGUgYnVpbGQgZGlyZWN0b3J5LCBzbyB3ZSB1c2UgdGhlCiAgICAgICAgICoqIGJ1aWxkLWRpcmVjdG9yeS1zcGVjaWZpYyBsb2dpYyB0byBmaW5kIExpYiBhbmQgc3VjaC4KICAgICAgICAgKi8KLSAgICAgICAgd2NoYXJfdCogd2J1ZiA9IF9QeV9jaGFyMndjaGFyKG1vZFBhdGgsIE5VTEwpOworICAgICAgICB3Y2hhcl90KiB3YnVmID0gUHlfRGVjb2RlTG9jYWxlKG1vZFBhdGgsIE5VTEwpOwogICAgICAgICBpZiAod2J1ZiA9PSBOVUxMKSB7CiAgICAgICAgICAgICBQeV9GYXRhbEVycm9yKCJDYW5ub3QgZGVjb2RlIGZyYW1ld29yayBsb2NhdGlvbiIpOwogICAgICAgICB9CkBAIC03MDksNyArNzA5LDcgQEAKIAogICAgIGlmIChfcnRweXBhdGggJiYgX3J0cHlwYXRoWzBdICE9ICdcMCcpIHsKICAgICAgICAgc2l6ZV90IHJ0cHlwYXRoX2xlbjsKLSAgICAgICAgcnRweXBhdGggPSBfUHlfY2hhcjJ3Y2hhcihfcnRweXBhdGgsICZydHB5cGF0aF9sZW4pOworICAgICAgICBydHB5cGF0aCA9IFB5X0RlY29kZUxvY2FsZShfcnRweXBhdGgsICZydHB5cGF0aF9sZW4pOwogICAgICAgICBpZiAocnRweXBhdGggIT0gTlVMTCkKICAgICAgICAgICAgIGJ1ZnN6ICs9IHJ0cHlwYXRoX2xlbiArIDE7CiAgICAgfQpkaWZmIC0tZ2l0IGEvTW9kdWxlcy9ncnBtb2R1bGUuYyBiL01vZHVsZXMvZ3JwbW9kdWxlLmMKaW5kZXggZGE3ODI1My4uZjc5NzliZSAxMDA2NDQKLS0tIGEvTW9kdWxlcy9ncnBtb2R1bGUuYworKysgYi9Nb2R1bGVzL2dycG1vZHVsZS5jCkBAIC02LDYgKzYsMTMgQEAKIAogI2luY2x1ZGUgPGdycC5oPgogCisjaW5jbHVkZSAiY2xpbmljL2dycG1vZHVsZS5jLmgiCisvKltjbGluaWMgaW5wdXRdCitvdXRwdXQgcHJlc2V0IGZpbGUKK21vZHVsZSBncnAKK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1kYTM5YTNlZTVlNmI0YjBkIGlucHV0PTY4MTgwYTlhOWVmYjg1MDZdKi8KKwogc3RhdGljIFB5U3RydWN0U2VxdWVuY2VfRmllbGQgc3RydWN0X2dyb3VwX3R5cGVfZmllbGRzW10gPSB7CiAgICB7ImdyX25hbWUiLCAiZ3JvdXAgbmFtZSJ9LAogICAgeyJncl9wYXNzd2QiLCAicGFzc3dvcmQifSwKQEAgLTc2LDE0ICs4MywyNSBAQAogICAgIHJldHVybiB2OwogfQogCisvKltjbGluaWMgaW5wdXRdCitncnAuZ2V0Z3JnaWQKKworICAgIGlkOiBvYmplY3QKKworUmV0dXJuIHRoZSBncm91cCBkYXRhYmFzZSBlbnRyeSBmb3IgdGhlIGdpdmVuIG51bWVyaWMgZ3JvdXAgSUQuCisKK0lmIGlkIGlzIG5vdCB2YWxpZCwgcmFpc2UgS2V5RXJyb3IuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKIHN0YXRpYyBQeU9iamVjdCAqCi1ncnBfZ2V0Z3JnaWQoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpweW9faWQpCitncnBfZ2V0Z3JnaWRfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqaWQpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9OGExMWY1ZmRlYjhjNzhhMCBpbnB1dD0xNWZhMGUyY2NmNWNkYTI1XSovCiB7CiAgICAgUHlPYmplY3QgKnB5X2ludF9pZDsKICAgICBnaWRfdCBnaWQ7CiAgICAgc3RydWN0IGdyb3VwICpwOwogCi0gICAgcHlfaW50X2lkID0gUHlOdW1iZXJfTG9uZyhweW9faWQpOworICAgIHB5X2ludF9pZCA9IFB5TnVtYmVyX0xvbmcoaWQpOwogICAgIGlmICghcHlfaW50X2lkKQogICAgICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgaWYgKCFfUHlfR2lkX0NvbnZlcnRlcihweV9pbnRfaWQsICZnaWQpKSB7CkBAIC0xMDMsMjIgKzEyMSwzMSBAQAogICAgIHJldHVybiBta2dyZW50KHApOwogfQogCi1zdGF0aWMgUHlPYmplY3QgKgotZ3JwX2dldGdybmFtKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKLXsKLSAgICBjaGFyICpuYW1lOwotICAgIHN0cnVjdCBncm91cCAqcDsKLSAgICBQeU9iamVjdCAqYXJnLCAqYnl0ZXMsICpyZXR2YWwgPSBOVUxMOworLypbY2xpbmljIGlucHV0XQorZ3JwLmdldGdybmFtCiAKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIlU6Z2V0Z3JuYW0iLCAmYXJnKSkKKyAgICBuYW1lOiB1bmljb2RlCisKK1JldHVybiB0aGUgZ3JvdXAgZGF0YWJhc2UgZW50cnkgZm9yIHRoZSBnaXZlbiBncm91cCBuYW1lLgorCitJZiBuYW1lIGlzIG5vdCB2YWxpZCwgcmFpc2UgS2V5RXJyb3IuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK3N0YXRpYyBQeU9iamVjdCAqCitncnBfZ2V0Z3JuYW1faW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqbmFtZSkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1jZDQ3NTExZjQ4NTRkYThlIGlucHV0PTA4ZGVkMjlhZmZhM2M4NjNdKi8KK3sKKyAgICBjaGFyICpuYW1lX2NoYXJzOworICAgIHN0cnVjdCBncm91cCAqcDsKKyAgICBQeU9iamVjdCAqYnl0ZXMsICpyZXR2YWwgPSBOVUxMOworCisgICAgaWYgKChieXRlcyA9IFB5VW5pY29kZV9FbmNvZGVGU0RlZmF1bHQobmFtZSkpID09IE5VTEwpCiAgICAgICAgIHJldHVybiBOVUxMOwotICAgIGlmICgoYnl0ZXMgPSBQeVVuaWNvZGVfRW5jb2RlRlNEZWZhdWx0KGFyZykpID09IE5VTEwpCi0gICAgICAgIHJldHVybiBOVUxMOwotICAgIGlmIChQeUJ5dGVzX0FzU3RyaW5nQW5kU2l6ZShieXRlcywgJm5hbWUsIE5VTEwpID09IC0xKQorICAgIGlmIChQeUJ5dGVzX0FzU3RyaW5nQW5kU2l6ZShieXRlcywgJm5hbWVfY2hhcnMsIE5VTEwpID09IC0xKQogICAgICAgICBnb3RvIG91dDsKIAotICAgIGlmICgocCA9IGdldGdybmFtKG5hbWUpKSA9PSBOVUxMKSB7Ci0gICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19LZXlFcnJvciwgImdldGdybmFtKCk6IG5hbWUgbm90IGZvdW5kOiAlcyIsIG5hbWUpOworICAgIGlmICgocCA9IGdldGdybmFtKG5hbWVfY2hhcnMpKSA9PSBOVUxMKSB7CisgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19LZXlFcnJvciwgImdldGdybmFtKCk6IG5hbWUgbm90IGZvdW5kOiAlcyIsIG5hbWVfY2hhcnMpOwogICAgICAgICBnb3RvIG91dDsKICAgICB9CiAgICAgcmV0dmFsID0gbWtncmVudChwKTsKQEAgLTEyNyw4ICsxNTQsMTggQEAKICAgICByZXR1cm4gcmV0dmFsOwogfQogCisvKltjbGluaWMgaW5wdXRdCitncnAuZ2V0Z3JhbGwKKworUmV0dXJuIGEgbGlzdCBvZiBhbGwgYXZhaWxhYmxlIGdyb3VwIGVudHJpZXMsIGluIGFyYml0cmFyeSBvcmRlci4KKworQW4gZW50cnkgd2hvc2UgbmFtZSBzdGFydHMgd2l0aCAnKycgb3IgJy0nIHJlcHJlc2VudHMgYW4gaW5zdHJ1Y3Rpb24KK3RvIHVzZSBZUC9OSVMgYW5kIG1heSBub3QgYmUgYWNjZXNzaWJsZSB2aWEgZ2V0Z3JuYW0gb3IgZ2V0Z3JnaWQuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKIHN0YXRpYyBQeU9iamVjdCAqCi1ncnBfZ2V0Z3JhbGwoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICppZ25vcmUpCitncnBfZ2V0Z3JhbGxfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWFkZDkwMzdhMjBjMjAyZGUgaW5wdXQ9ZDdkZjc2YzgyNWMzNjdkZl0qLwogewogICAgIFB5T2JqZWN0ICpkOwogICAgIHN0cnVjdCBncm91cCAqcDsKQEAgLTE1MSwyMCArMTg4LDEwIEBACiB9CiAKIHN0YXRpYyBQeU1ldGhvZERlZiBncnBfbWV0aG9kc1tdID0gewotICAgIHsiZ2V0Z3JnaWQiLCAgICAgICAgZ3JwX2dldGdyZ2lkLCAgIE1FVEhfTywKLSAgICAgImdldGdyZ2lkKGlkKSAtPiAoZ3JfbmFtZSxncl9wYXNzd2QsZ3JfZ2lkLGdyX21lbSlcblwKLVJldHVybiB0aGUgZ3JvdXAgZGF0YWJhc2UgZW50cnkgZm9yIHRoZSBnaXZlbiBudW1lcmljIGdyb3VwIElELiAgSWZcblwKLWlkIGlzIG5vdCB2YWxpZCwgcmFpc2UgS2V5RXJyb3IuIn0sCi0gICAgeyJnZXRncm5hbSIsICAgICAgICBncnBfZ2V0Z3JuYW0sICAgTUVUSF9WQVJBUkdTLAotICAgICAiZ2V0Z3JuYW0obmFtZSkgLT4gKGdyX25hbWUsZ3JfcGFzc3dkLGdyX2dpZCxncl9tZW0pXG5cCi1SZXR1cm4gdGhlIGdyb3VwIGRhdGFiYXNlIGVudHJ5IGZvciB0aGUgZ2l2ZW4gZ3JvdXAgbmFtZS4gIElmXG5cCi1uYW1lIGlzIG5vdCB2YWxpZCwgcmFpc2UgS2V5RXJyb3IuIn0sCi0gICAgeyJnZXRncmFsbCIsICAgICAgICBncnBfZ2V0Z3JhbGwsICAgTUVUSF9OT0FSR1MsCi0gICAgICJnZXRncmFsbCgpIC0+IGxpc3Qgb2YgdHVwbGVzXG5cCi1SZXR1cm4gYSBsaXN0IG9mIGFsbCBhdmFpbGFibGUgZ3JvdXAgZW50cmllcywgaW4gYXJiaXRyYXJ5IG9yZGVyLlxuXAotQW4gZW50cnkgd2hvc2UgbmFtZSBzdGFydHMgd2l0aCAnKycgb3IgJy0nIHJlcHJlc2VudHMgYW4gaW5zdHJ1Y3Rpb25cblwKLXRvIHVzZSBZUC9OSVMgYW5kIG1heSBub3QgYmUgYWNjZXNzaWJsZSB2aWEgZ2V0Z3JuYW0gb3IgZ2V0Z3JnaWQuIn0sCi0gICAge05VTEwsICAgICAgICAgICAgICBOVUxMfSAgICAgICAgICAgLyogc2VudGluZWwgKi8KKyAgICBHUlBfR0VUR1JHSURfTUVUSE9EREVGCisgICAgR1JQX0dFVEdSTkFNX01FVEhPRERFRgorICAgIEdSUF9HRVRHUkFMTF9NRVRIT0RERUYKKyAgICB7TlVMTCwgTlVMTH0KIH07CiAKIFB5RG9jX1NUUlZBUihncnBfX2RvY19fLApkaWZmIC0tZ2l0IGEvTW9kdWxlcy9pdGVydG9vbHNtb2R1bGUuYyBiL01vZHVsZXMvaXRlcnRvb2xzbW9kdWxlLmMKaW5kZXggMWY0MjAyMi4uYWZmZjdlNCAxMDA2NDQKLS0tIGEvTW9kdWxlcy9pdGVydG9vbHNtb2R1bGUuYworKysgYi9Nb2R1bGVzL2l0ZXJ0b29sc21vZHVsZS5jCkBAIC0zODc0LDcgKzM4NzQsNyBAQAogCiBmYXN0X21vZGU6ICB3aGVuIGNudCBhbiBpbnRlZ2VyIDwgUFlfU1NJWkVfVF9NQVggYW5kIG5vIHN0ZXAgaXMgc3BlY2lmaWVkLgogCi0gICAgYXNzZXJ0KGNudCAhPSBQWV9TU0laRV9UX01BWCAmJiBsb25nX2NudCA9PSBOVUxMICYmIGxvbmdfc3RlcD09UHlJbnQoMSkpOworICAgIGFzc2VydChjbnQgIT0gUFlfU1NJWkVfVF9NQVggJiYgbG9uZ19jbnQgPT0gTlVMTCAmJiBsb25nX3N0ZXA9PVB5TG9uZygxKSk7CiAgICAgQWR2YW5jZXMgd2l0aDogIGNudCArPSAxCiAgICAgV2hlbiBjb3VudCBoaXRzIFlfU1NJWkVfVF9NQVgsIHN3aXRjaCB0byBzbG93X21vZGUuCiAKZGlmZiAtLWdpdCBhL01vZHVsZXMvbWFpbi5jIGIvTW9kdWxlcy9tYWluLmMKaW5kZXggODdhMjFkNy4uNzRlNTEyYiAxMDA2NDQKLS0tIGEvTW9kdWxlcy9tYWluLmMKKysrIGIvTW9kdWxlcy9tYWluLmMKQEAgLTksNyArOSw2IEBACiAjaW5jbHVkZSA8d2luZG93cy5oPgogI2lmZGVmIEhBVkVfRkNOVExfSAogI2luY2x1ZGUgPGZjbnRsLmg+Ci0jZGVmaW5lIFBBVEhfTUFYIE1BWFBBVEhMRU4KICNlbmRpZgogI2VuZGlmCiAKQEAgLTM0Myw2ICszNDIsOCBAQAogICAgIGludCB2ZXJzaW9uID0gMDsKICAgICBpbnQgc2F3X3VuYnVmZmVyZWRfZmxhZyA9IDA7CiAgICAgUHlDb21waWxlckZsYWdzIGNmOworICAgIFB5T2JqZWN0ICp3YXJuaW5nX29wdGlvbiA9IE5VTEw7CisgICAgUHlPYmplY3QgKndhcm5pbmdfb3B0aW9ucyA9IE5VTEw7CiAKICAgICBjZi5jZl9mbGFncyA9IDA7CiAKQEAgLTQ2NSw3ICs0NjYsMTUgQEAKICAgICAgICAgICAgIGJyZWFrOwogCiAgICAgICAgIGNhc2UgJ1cnOgotICAgICAgICAgICAgUHlTeXNfQWRkV2Fybk9wdGlvbihfUHlPU19vcHRhcmcpOworICAgICAgICAgICAgaWYgKHdhcm5pbmdfb3B0aW9ucyA9PSBOVUxMKQorICAgICAgICAgICAgICAgIHdhcm5pbmdfb3B0aW9ucyA9IFB5TGlzdF9OZXcoMCk7CisgICAgICAgICAgICBpZiAod2FybmluZ19vcHRpb25zID09IE5VTEwpCisgICAgICAgICAgICAgICAgUHlfRmF0YWxFcnJvcigiZmFpbHVyZSBpbiBoYW5kbGluZyBvZiAtVyBhcmd1bWVudCIpOworICAgICAgICAgICAgd2FybmluZ19vcHRpb24gPSBQeVVuaWNvZGVfRnJvbVdpZGVDaGFyKF9QeU9TX29wdGFyZywgLTEpOworICAgICAgICAgICAgaWYgKHdhcm5pbmdfb3B0aW9uID09IE5VTEwpCisgICAgICAgICAgICAgICAgUHlfRmF0YWxFcnJvcigiZmFpbHVyZSBpbiBoYW5kbGluZyBvZiAtVyBhcmd1bWVudCIpOworICAgICAgICAgICAgUHlMaXN0X0FwcGVuZCh3YXJuaW5nX29wdGlvbnMsIHdhcm5pbmdfb3B0aW9uKTsKKyAgICAgICAgICAgIFB5X0RFQ1JFRih3YXJuaW5nX29wdGlvbik7CiAgICAgICAgICAgICBicmVhazsKIAogICAgICAgICBjYXNlICdYJzoKQEAgLTUxMSwxNiArNTIwLDE2IEBACiAjaWZkZWYgTVNfV0lORE9XUwogICAgIGlmICghUHlfSWdub3JlRW52aXJvbm1lbnRGbGFnICYmICh3cCA9IF93Z2V0ZW52KEwiUFlUSE9OV0FSTklOR1MiKSkgJiYKICAgICAgICAgKndwICE9IEwnXDAnKSB7Ci0gICAgICAgIHdjaGFyX3QgKmJ1ZiwgKndhcm5pbmc7CisgICAgICAgIHdjaGFyX3QgKmJ1ZiwgKndhcm5pbmcsICpjb250ZXh0ID0gTlVMTDsKIAogICAgICAgICBidWYgPSAod2NoYXJfdCAqKVB5TWVtX1Jhd01hbGxvYygod2NzbGVuKHdwKSArIDEpICogc2l6ZW9mKHdjaGFyX3QpKTsKICAgICAgICAgaWYgKGJ1ZiA9PSBOVUxMKQogICAgICAgICAgICAgUHlfRmF0YWxFcnJvcigKICAgICAgICAgICAgICAgICJub3QgZW5vdWdoIG1lbW9yeSB0byBjb3B5IFBZVEhPTldBUk5JTkdTIik7CiAgICAgICAgIHdjc2NweShidWYsIHdwKTsKLSAgICAgICAgZm9yICh3YXJuaW5nID0gd2NzdG9rKGJ1ZiwgTCIsIik7CisgICAgICAgIGZvciAod2FybmluZyA9IHdjc3Rva19zKGJ1ZiwgTCIsIiwgJmNvbnRleHQpOwogICAgICAgICAgICAgIHdhcm5pbmcgIT0gTlVMTDsKLSAgICAgICAgICAgICB3YXJuaW5nID0gd2NzdG9rKE5VTEwsIEwiLCIpKSB7CisgICAgICAgICAgICAgd2FybmluZyA9IHdjc3Rva19zKE5VTEwsIEwiLCIsICZjb250ZXh0KSkgewogICAgICAgICAgICAgUHlTeXNfQWRkV2Fybk9wdGlvbih3YXJuaW5nKTsKICAgICAgICAgfQogICAgICAgICBQeU1lbV9SYXdGcmVlKGJ1Zik7CkBAIC01NTksNiArNTY4LDEyIEBACiAgICAgICAgIFB5TWVtX1Jhd0ZyZWUoYnVmKTsKICAgICB9CiAjZW5kaWYKKyAgICBpZiAod2FybmluZ19vcHRpb25zICE9IE5VTEwpIHsKKyAgICAgICAgUHlfc3NpemVfdCBpOworICAgICAgICBmb3IgKGkgPSAwOyBpIDwgUHlMaXN0X0dFVF9TSVpFKHdhcm5pbmdfb3B0aW9ucyk7IGkrKykgeworICAgICAgICAgICAgUHlTeXNfQWRkV2Fybk9wdGlvblVuaWNvZGUoUHlMaXN0X0dFVF9JVEVNKHdhcm5pbmdfb3B0aW9ucywgaSkpOworICAgICAgICB9CisgICAgfQogCiAgICAgaWYgKGNvbW1hbmQgPT0gTlVMTCAmJiBtb2R1bGUgPT0gTlVMTCAmJiBfUHlPU19vcHRpbmQgPCBhcmdjICYmCiAgICAgICAgIHdjc2NtcChhcmd2W19QeU9TX29wdGluZF0sIEwiLSIpICE9IDApCkBAIC02MzEsNyArNjQ2LDcgQEAKICAgICAgICAgICAgIC8qIFVzZWQgYnkgTWFjL1Rvb2xzL3B5dGhvbncuYyB0byBmb3J3YXJkCiAgICAgICAgICAgICAgKiB0aGUgYXJndjAgb2YgdGhlIHN0dWIgZXhlY3V0YWJsZQogICAgICAgICAgICAgICovCi0gICAgICAgICAgICB3Y2hhcl90KiB3YnVmID0gX1B5X2NoYXIyd2NoYXIocHl2ZW52X2xhdW5jaGVyLCBOVUxMKTsKKyAgICAgICAgICAgIHdjaGFyX3QqIHdidWYgPSBQeV9EZWNvZGVMb2NhbGUocHl2ZW52X2xhdW5jaGVyLCBOVUxMKTsKIAogICAgICAgICAgICAgaWYgKHdidWYgPT0gTlVMTCkgewogICAgICAgICAgICAgICAgIFB5X0ZhdGFsRXJyb3IoIkNhbm5vdCBkZWNvZGUgX19QWVZFTlZfTEFVTkNIRVJfXyIpOwpAQCAtNjUyLDYgKzY2Nyw3IEBACiAgICAgUHlfU2V0UHJvZ3JhbU5hbWUoYXJndlswXSk7CiAjZW5kaWYKICAgICBQeV9Jbml0aWFsaXplKCk7CisgICAgUHlfWERFQ1JFRih3YXJuaW5nX29wdGlvbnMpOwogCiAgICAgaWYgKCFQeV9RdWlldEZsYWcgJiYgKFB5X1ZlcmJvc2VGbGFnIHx8CiAgICAgICAgICAgICAgICAgICAgICAgICAoY29tbWFuZCA9PSBOVUxMICYmIGZpbGVuYW1lID09IE5VTEwgJiYKQEAgLTcxMyw3ICs3MjksNyBAQAogICAgICAgICAgICAgICAgIGNoYXIgKmNmaWxlbmFtZV9idWZmZXI7CiAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqY2ZpbGVuYW1lOwogICAgICAgICAgICAgICAgIGludCBlcnIgPSBlcnJubzsKLSAgICAgICAgICAgICAgICBjZmlsZW5hbWVfYnVmZmVyID0gX1B5X3djaGFyMmNoYXIoZmlsZW5hbWUsIE5VTEwpOworICAgICAgICAgICAgICAgIGNmaWxlbmFtZV9idWZmZXIgPSBQeV9FbmNvZGVMb2NhbGUoZmlsZW5hbWUsIE5VTEwpOwogICAgICAgICAgICAgICAgIGlmIChjZmlsZW5hbWVfYnVmZmVyICE9IE5VTEwpCiAgICAgICAgICAgICAgICAgICAgIGNmaWxlbmFtZSA9IGNmaWxlbmFtZV9idWZmZXI7CiAgICAgICAgICAgICAgICAgZWxzZQpAQCAtNzM2LDkgKzc1Miw4IEBACiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQogICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIC8qIFhYWDogZG9lcyB0aGlzIHdvcmsgb24gV2luL1dpbjY0PyAoc2VlIHBvc2l4X2ZzdGF0KSAqLwotICAgICAgICAgICAgICAgIHN0cnVjdCBzdGF0IHNiOwotICAgICAgICAgICAgICAgIGlmIChmc3RhdChmaWxlbm8oZnApLCAmc2IpID09IDAgJiYKKyAgICAgICAgICAgICAgICBzdHJ1Y3QgX1B5X3N0YXRfc3RydWN0IHNiOworICAgICAgICAgICAgICAgIGlmIChfUHlfZnN0YXQoZmlsZW5vKGZwKSwgJnNiKSA9PSAwICYmCiAgICAgICAgICAgICAgICAgICAgIFNfSVNESVIoc2Iuc3RfbW9kZSkpIHsKICAgICAgICAgICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICIlbHM6ICclbHMnIGlzIGEgZGlyZWN0b3J5LCBjYW5ub3QgY29udGludWVcbiIsIGFyZ3ZbMF0sIGZpbGVuYW1lKTsKICAgICAgICAgICAgICAgICAgICAgZmNsb3NlKGZwKTsKZGlmZiAtLWdpdCBhL01vZHVsZXMvbWF0aG1vZHVsZS5jIGIvTW9kdWxlcy9tYXRobW9kdWxlLmMKaW5kZXggOTEwZDVlYS4uOWM5N2EyYSAxMDA2NDQKLS0tIGEvTW9kdWxlcy9tYXRobW9kdWxlLmMKKysrIGIvTW9kdWxlcy9tYXRobW9kdWxlLmMKQEAgLTIyMyw2ICsyMjMsMzUgQEAKICAgICByZXR1cm4gbnVtL2RlbjsKIH0KIAorLyogQ29uc3RhbnQgZm9yICtpbmZpbml0eSwgZ2VuZXJhdGVkIGluIHRoZSBzYW1lIHdheSBhcyBmbG9hdCgnaW5mJykuICovCisKK3N0YXRpYyBkb3VibGUKK21faW5mKHZvaWQpCit7CisjaWZuZGVmIFBZX05PX1NIT1JUX0ZMT0FUX1JFUFIKKyAgICByZXR1cm4gX1B5X2RnX2luZmluaXR5KDApOworI2Vsc2UKKyAgICByZXR1cm4gUHlfSFVHRV9WQUw7CisjZW5kaWYKK30KKworLyogQ29uc3RhbnQgbmFuIHZhbHVlLCBnZW5lcmF0ZWQgaW4gdGhlIHNhbWUgd2F5IGFzIGZsb2F0KCduYW4nKS4gKi8KKy8qIFdlIGRvbid0IGN1cnJlbnRseSBhc3N1bWUgdGhhdCBQeV9OQU4gaXMgZGVmaW5lZCBldmVyeXdoZXJlLiAqLworCisjaWYgIWRlZmluZWQoUFlfTk9fU0hPUlRfRkxPQVRfUkVQUikgfHwgZGVmaW5lZChQeV9OQU4pCisKK3N0YXRpYyBkb3VibGUKK21fbmFuKHZvaWQpCit7CisjaWZuZGVmIFBZX05PX1NIT1JUX0ZMT0FUX1JFUFIKKyAgICByZXR1cm4gX1B5X2RnX3N0ZG5hbigwKTsKKyNlbHNlCisgICAgcmV0dXJuIFB5X05BTjsKKyNlbmRpZgorfQorCisjZW5kaWYKKwogc3RhdGljIGRvdWJsZQogbV90Z2FtbWEoZG91YmxlIHgpCiB7CkBAIC0xMDEwLDcgKzEwMzksNyBAQAogICAgIFB5X3NzaXplX3QgbSA9ICptX3B0cjsKIAogICAgIG0gKz0gbTsgIC8qIGRvdWJsZSAqLwotICAgIGlmIChuIDwgbSAmJiBtIDwgKFBZX1NTSVpFX1RfTUFYIC8gc2l6ZW9mKGRvdWJsZSkpKSB7CisgICAgaWYgKG4gPCBtICYmIChzaXplX3QpbSA8ICgoc2l6ZV90KVBZX1NTSVpFX1RfTUFYIC8gc2l6ZW9mKGRvdWJsZSkpKSB7CiAgICAgICAgIGRvdWJsZSAqcCA9ICpwX3B0cjsKICAgICAgICAgaWYgKHAgPT0gcHMpIHsKICAgICAgICAgICAgIHYgPSBQeU1lbV9NYWxsb2Moc2l6ZW9mKGRvdWJsZSkgKiBtKTsKQEAgLTE0MDgsNiArMTQzNyw3IEBACiBtYXRoX2ZhY3RvcmlhbChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZykKIHsKICAgICBsb25nIHg7CisgICAgaW50IG92ZXJmbG93OwogICAgIFB5T2JqZWN0ICpyZXN1bHQsICpvZGRfcGFydCwgKnR3b192YWx1YXRpb247CiAKICAgICBpZiAoUHlGbG9hdF9DaGVjayhhcmcpKSB7CkBAIC0xNDIxLDE1ICsxNDUxLDIyIEBACiAgICAgICAgIGx4ID0gUHlMb25nX0Zyb21Eb3VibGUoZHgpOwogICAgICAgICBpZiAobHggPT0gTlVMTCkKICAgICAgICAgICAgIHJldHVybiBOVUxMOwotICAgICAgICB4ID0gUHlMb25nX0FzTG9uZyhseCk7CisgICAgICAgIHggPSBQeUxvbmdfQXNMb25nQW5kT3ZlcmZsb3cobHgsICZvdmVyZmxvdyk7CiAgICAgICAgIFB5X0RFQ1JFRihseCk7CiAgICAgfQogICAgIGVsc2UKLSAgICAgICAgeCA9IFB5TG9uZ19Bc0xvbmcoYXJnKTsKKyAgICAgICAgeCA9IFB5TG9uZ19Bc0xvbmdBbmRPdmVyZmxvdyhhcmcsICZvdmVyZmxvdyk7CiAKLSAgICBpZiAoeCA9PSAtMSAmJiBQeUVycl9PY2N1cnJlZCgpKQorICAgIGlmICh4ID09IC0xICYmIFB5RXJyX09jY3VycmVkKCkpIHsKICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgaWYgKHggPCAwKSB7CisgICAgfQorICAgIGVsc2UgaWYgKG92ZXJmbG93ID09IDEpIHsKKyAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX092ZXJmbG93RXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAiZmFjdG9yaWFsKCkgYXJndW1lbnQgc2hvdWxkIG5vdCBleGNlZWQgJWxkIiwKKyAgICAgICAgICAgICAgICAgICAgIExPTkdfTUFYKTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorICAgIGVsc2UgaWYgKG92ZXJmbG93ID09IC0xIHx8IHggPCAwKSB7CiAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLAogICAgICAgICAgICAgICAgICAgICAgICAgImZhY3RvcmlhbCgpIG5vdCBkZWZpbmVkIGZvciBuZWdhdGl2ZSB2YWx1ZXMiKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CkBAIC0yMDAxLDcgKzIwMzgsMTEgQEAKIAogICAgIFB5TW9kdWxlX0FkZE9iamVjdChtLCAicGkiLCBQeUZsb2F0X0Zyb21Eb3VibGUoUHlfTUFUSF9QSSkpOwogICAgIFB5TW9kdWxlX0FkZE9iamVjdChtLCAiZSIsIFB5RmxvYXRfRnJvbURvdWJsZShQeV9NQVRIX0UpKTsKKyAgICBQeU1vZHVsZV9BZGRPYmplY3QobSwgImluZiIsIFB5RmxvYXRfRnJvbURvdWJsZShtX2luZigpKSk7CisjaWYgIWRlZmluZWQoUFlfTk9fU0hPUlRfRkxPQVRfUkVQUikgfHwgZGVmaW5lZChQeV9OQU4pCisgICAgUHlNb2R1bGVfQWRkT2JqZWN0KG0sICJuYW4iLCBQeUZsb2F0X0Zyb21Eb3VibGUobV9uYW4oKSkpOworI2VuZGlmCiAKLSAgICBmaW5hbGx5OgorICBmaW5hbGx5OgogICAgIHJldHVybiBtOwogfQpkaWZmIC0tZ2l0IGEvTW9kdWxlcy9tZDVtb2R1bGUuYyBiL01vZHVsZXMvbWQ1bW9kdWxlLmMKaW5kZXggNWNiM2QzNi4uNjVmNWMzNSAxMDA2NDQKLS0tIGEvTW9kdWxlcy9tZDVtb2R1bGUuYworKysgYi9Nb2R1bGVzL21kNW1vZHVsZS5jCkBAIC0xOSw2ICsxOSwxMSBAQAogI2luY2x1ZGUgIlB5dGhvbi5oIgogI2luY2x1ZGUgImhhc2hsaWIuaCIKIAorLypbY2xpbmljIGlucHV0XQorbW9kdWxlIF9tZDUKK2NsYXNzIE1ENVR5cGUgIk1ENW9iamVjdCAqIiAiJlB5VHlwZV9UeXBlIgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWRhMzlhM2VlNWU2YjRiMGQgaW5wdXQ9NmU1MjYxNzE5OTU3YTkxMl0qLwogCiAvKiBTb21lIHVzZWZ1bCB0eXBlcyAqLwogCkBAIC0zMzIsMTAgKzMzNywzMyBAQAogCiAvKiBFeHRlcm5hbCBtZXRob2RzIGZvciBhIGhhc2ggb2JqZWN0ICovCiAKLVB5RG9jX1NUUlZBUihNRDVfY29weV9fZG9jX18sICJSZXR1cm4gYSBjb3B5IG9mIHRoZSBoYXNoIG9iamVjdC4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK01ENVR5cGUuY29weQorCitSZXR1cm4gYSBjb3B5IG9mIHRoZSBoYXNoIG9iamVjdC4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKE1ENVR5cGVfY29weV9fZG9jX18sCisiY29weSgkc2VsZiwgLylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiBhIGNvcHkgb2YgdGhlIGhhc2ggb2JqZWN0LiIpOworCisjZGVmaW5lIE1ENVRZUEVfQ09QWV9NRVRIT0RERUYgICAgXAorICAgIHsiY29weSIsIChQeUNGdW5jdGlvbilNRDVUeXBlX2NvcHksIE1FVEhfTk9BUkdTLCBNRDVUeXBlX2NvcHlfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLU1ENV9jb3B5KE1ENW9iamVjdCAqc2VsZiwgUHlPYmplY3QgKnVudXNlZCkKK01ENVR5cGVfY29weV9pbXBsKE1ENW9iamVjdCAqc2VsZik7CisKK3N0YXRpYyBQeU9iamVjdCAqCitNRDVUeXBlX2NvcHkoTUQ1b2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqUHlfVU5VU0VEKGlnbm9yZWQpKQoreworICAgIHJldHVybiBNRDVUeXBlX2NvcHlfaW1wbChzZWxmKTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK01ENVR5cGVfY29weV9pbXBsKE1ENW9iamVjdCAqc2VsZikKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD0zYjNhODg5MjBiM2RjN2Y0IGlucHV0PTJjMDllNmQyNDkzZjMwNzldKi8KIHsKICAgICBNRDVvYmplY3QgKm5ld29iajsKIApAQCAtMzUxLDExICszNzksMzMgQEAKICAgICByZXR1cm4gKFB5T2JqZWN0ICopbmV3b2JqOwogfQogCi1QeURvY19TVFJWQVIoTUQ1X2RpZ2VzdF9fZG9jX18sCisvKltjbGluaWMgaW5wdXRdCitNRDVUeXBlLmRpZ2VzdAorCitSZXR1cm4gdGhlIGRpZ2VzdCB2YWx1ZSBhcyBhIHN0cmluZyBvZiBiaW5hcnkgZGF0YS4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKE1ENVR5cGVfZGlnZXN0X19kb2NfXywKKyJkaWdlc3QoJHNlbGYsIC8pXG4iCisiLS1cbiIKKyJcbiIKICJSZXR1cm4gdGhlIGRpZ2VzdCB2YWx1ZSBhcyBhIHN0cmluZyBvZiBiaW5hcnkgZGF0YS4iKTsKIAorI2RlZmluZSBNRDVUWVBFX0RJR0VTVF9NRVRIT0RERUYgICAgXAorICAgIHsiZGlnZXN0IiwgKFB5Q0Z1bmN0aW9uKU1ENVR5cGVfZGlnZXN0LCBNRVRIX05PQVJHUywgTUQ1VHlwZV9kaWdlc3RfX2RvY19ffSwKKwogc3RhdGljIFB5T2JqZWN0ICoKLU1ENV9kaWdlc3QoTUQ1b2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqdW51c2VkKQorTUQ1VHlwZV9kaWdlc3RfaW1wbChNRDVvYmplY3QgKnNlbGYpOworCitzdGF0aWMgUHlPYmplY3QgKgorTUQ1VHlwZV9kaWdlc3QoTUQ1b2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqUHlfVU5VU0VEKGlnbm9yZWQpKQoreworICAgIHJldHVybiBNRDVUeXBlX2RpZ2VzdF9pbXBsKHNlbGYpOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorTUQ1VHlwZV9kaWdlc3RfaW1wbChNRDVvYmplY3QgKnNlbGYpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9N2E3OTZiMjhmYTg5NDg1ZiBpbnB1dD03Yjk2ZTY1Mzg5NDEyYTM0XSovCiB7CiAgICAgdW5zaWduZWQgY2hhciBkaWdlc3RbTUQ1X0RJR0VTVFNJWkVdOwogICAgIHN0cnVjdCBtZDVfc3RhdGUgdGVtcDsKQEAgLTM2NSwxMSArNDE1LDMzIEBACiAgICAgcmV0dXJuIFB5Qnl0ZXNfRnJvbVN0cmluZ0FuZFNpemUoKGNvbnN0IGNoYXIgKilkaWdlc3QsIE1ENV9ESUdFU1RTSVpFKTsKIH0KIAotUHlEb2NfU1RSVkFSKE1ENV9oZXhkaWdlc3RfX2RvY19fLAorLypbY2xpbmljIGlucHV0XQorTUQ1VHlwZS5oZXhkaWdlc3QKKworUmV0dXJuIHRoZSBkaWdlc3QgdmFsdWUgYXMgYSBzdHJpbmcgb2YgaGV4YWRlY2ltYWwgZGlnaXRzLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIoTUQ1VHlwZV9oZXhkaWdlc3RfX2RvY19fLAorImhleGRpZ2VzdCgkc2VsZiwgLylcbiIKKyItLVxuIgorIlxuIgogIlJldHVybiB0aGUgZGlnZXN0IHZhbHVlIGFzIGEgc3RyaW5nIG9mIGhleGFkZWNpbWFsIGRpZ2l0cy4iKTsKIAorI2RlZmluZSBNRDVUWVBFX0hFWERJR0VTVF9NRVRIT0RERUYgICAgXAorICAgIHsiaGV4ZGlnZXN0IiwgKFB5Q0Z1bmN0aW9uKU1ENVR5cGVfaGV4ZGlnZXN0LCBNRVRIX05PQVJHUywgTUQ1VHlwZV9oZXhkaWdlc3RfX2RvY19ffSwKKwogc3RhdGljIFB5T2JqZWN0ICoKLU1ENV9oZXhkaWdlc3QoTUQ1b2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqdW51c2VkKQorTUQ1VHlwZV9oZXhkaWdlc3RfaW1wbChNRDVvYmplY3QgKnNlbGYpOworCitzdGF0aWMgUHlPYmplY3QgKgorTUQ1VHlwZV9oZXhkaWdlc3QoTUQ1b2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqUHlfVU5VU0VEKGlnbm9yZWQpKQoreworICAgIHJldHVybiBNRDVUeXBlX2hleGRpZ2VzdF9pbXBsKHNlbGYpOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorTUQ1VHlwZV9oZXhkaWdlc3RfaW1wbChNRDVvYmplY3QgKnNlbGYpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ZGFhNzM2MDlmOTRmOTJlMSBpbnB1dD1iNjBiMTlkZTY0NDc5OGRkXSovCiB7CiAgICAgdW5zaWduZWQgY2hhciBkaWdlc3RbTUQ1X0RJR0VTVFNJWkVdOwogICAgIHN0cnVjdCBtZDVfc3RhdGUgdGVtcDsKQEAgLTQwMSwxOCArNDczLDMwIEBACiAgICAgcmV0dXJuIHJldHZhbDsKIH0KIAotUHlEb2NfU1RSVkFSKE1ENV91cGRhdGVfX2RvY19fLAotIlVwZGF0ZSB0aGlzIGhhc2ggb2JqZWN0J3Mgc3RhdGUgd2l0aCB0aGUgcHJvdmlkZWQgc3RyaW5nLiIpOworLypbY2xpbmljIGlucHV0XQorTUQ1VHlwZS51cGRhdGUKKworICAgIG9iajogb2JqZWN0CisgICAgLworCitVcGRhdGUgdGhpcyBoYXNoIG9iamVjdCdzIHN0YXRlIHdpdGggdGhlIHByb3ZpZGVkIHN0cmluZy4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKE1ENVR5cGVfdXBkYXRlX19kb2NfXywKKyJ1cGRhdGUoJHNlbGYsIG9iaiwgLylcbiIKKyItLVxuIgorIlxuIgorIlVwZGF0ZSB0aGlzIGhhc2ggb2JqZWN0XCdzIHN0YXRlIHdpdGggdGhlIHByb3ZpZGVkIHN0cmluZy4iKTsKKworI2RlZmluZSBNRDVUWVBFX1VQREFURV9NRVRIT0RERUYgICAgXAorICAgIHsidXBkYXRlIiwgKFB5Q0Z1bmN0aW9uKU1ENVR5cGVfdXBkYXRlLCBNRVRIX08sIE1ENVR5cGVfdXBkYXRlX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1NRDVfdXBkYXRlKE1ENW9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitNRDVUeXBlX3VwZGF0ZShNRDVvYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpvYmopCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9OWQwOWI2YzZjZGM2Y2FjMyBpbnB1dD02ZTFlZmNkOWVjZjE3MDMyXSovCiB7Ci0gICAgUHlPYmplY3QgKm9iajsKICAgICBQeV9idWZmZXIgYnVmOwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJPOnVwZGF0ZSIsICZvYmopKQotICAgICAgICByZXR1cm4gTlVMTDsKLQogICAgIEdFVF9CVUZGRVJfVklFV19PUl9FUlJPVVQob2JqLCAmYnVmKTsKIAogICAgIG1kNV9wcm9jZXNzKCZzZWxmLT5oYXNoX3N0YXRlLCBidWYuYnVmLCBidWYubGVuKTsKQEAgLTQyMywxMCArNTA3LDEwIEBACiB9CiAKIHN0YXRpYyBQeU1ldGhvZERlZiBNRDVfbWV0aG9kc1tdID0gewotICAgIHsiY29weSIsICAgICAgKFB5Q0Z1bmN0aW9uKU1ENV9jb3B5LCAgICAgIE1FVEhfTk9BUkdTLCAgTUQ1X2NvcHlfX2RvY19ffSwKLSAgICB7ImRpZ2VzdCIsICAgIChQeUNGdW5jdGlvbilNRDVfZGlnZXN0LCAgICBNRVRIX05PQVJHUywgIE1ENV9kaWdlc3RfX2RvY19ffSwKLSAgICB7ImhleGRpZ2VzdCIsIChQeUNGdW5jdGlvbilNRDVfaGV4ZGlnZXN0LCBNRVRIX05PQVJHUywgIE1ENV9oZXhkaWdlc3RfX2RvY19ffSwKLSAgICB7InVwZGF0ZSIsICAgIChQeUNGdW5jdGlvbilNRDVfdXBkYXRlLCAgICBNRVRIX1ZBUkFSR1MsIE1ENV91cGRhdGVfX2RvY19ffSwKKyAgICBNRDVUWVBFX0NPUFlfTUVUSE9EREVGCisgICAgTUQ1VFlQRV9ESUdFU1RfTUVUSE9EREVGCisgICAgTUQ1VFlQRV9IRVhESUdFU1RfTUVUSE9EREVGCisgICAgTUQ1VFlQRV9VUERBVEVfTUVUSE9EREVGCiAgICAge05VTEwsICAgICAgICBOVUxMfSAgICAgICAgIC8qIHNlbnRpbmVsICovCiB9OwogCkBAIC01MDIsMjcgKzU4Niw1NSBAQAogCiAvKiBUaGUgc2luZ2xlIG1vZHVsZS1sZXZlbCBmdW5jdGlvbjogbmV3KCkgKi8KIAotUHlEb2NfU1RSVkFSKE1ENV9uZXdfX2RvY19fLAorLypbY2xpbmljIGlucHV0XQorX21kNS5tZDUKKworICAgIHN0cmluZzogb2JqZWN0KGNfZGVmYXVsdD0iTlVMTCIpID0gYicnCisKK1JldHVybiBhIG5ldyBNRDUgaGFzaCBvYmplY3Q7IG9wdGlvbmFsbHkgaW5pdGlhbGl6ZWQgd2l0aCBhIHN0cmluZy4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKF9tZDVfbWQ1X19kb2NfXywKKyJtZDUoJG1vZHVsZSwgLywgc3RyaW5nPWJcJ1wnKVxuIgorIi0tXG4iCisiXG4iCiAiUmV0dXJuIGEgbmV3IE1ENSBoYXNoIG9iamVjdDsgb3B0aW9uYWxseSBpbml0aWFsaXplZCB3aXRoIGEgc3RyaW5nLiIpOwogCisjZGVmaW5lIF9NRDVfTUQ1X01FVEhPRERFRiAgICBcCisgICAgeyJtZDUiLCAoUHlDRnVuY3Rpb24pX21kNV9tZDUsIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBfbWQ1X21kNV9fZG9jX199LAorCiBzdGF0aWMgUHlPYmplY3QgKgotTUQ1X25ldyhQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2RpY3QpCitfbWQ1X21kNV9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpzdHJpbmcpOworCitzdGF0aWMgUHlPYmplY3QgKgorX21kNV9tZDUoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCiB7Ci0gICAgc3RhdGljIGNoYXIgKmt3bGlzdFtdID0geyJzdHJpbmciLCBOVUxMfTsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBzdGF0aWMgY2hhciAqX2tleXdvcmRzW10gPSB7InN0cmluZyIsIE5VTEx9OworICAgIFB5T2JqZWN0ICpzdHJpbmcgPSBOVUxMOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLAorICAgICAgICAifE86bWQ1IiwgX2tleXdvcmRzLAorICAgICAgICAmc3RyaW5nKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IF9tZDVfbWQ1X2ltcGwobW9kdWxlLCBzdHJpbmcpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitfbWQ1X21kNV9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpzdHJpbmcpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9MTAzOWU5MTJkOTE5ODgwZSBpbnB1dD1kMTJlZjhmNzJkNjg0ZjdiXSovCit7CiAgICAgTUQ1b2JqZWN0ICpuZXc7Ci0gICAgUHlPYmplY3QgKmRhdGFfb2JqID0gTlVMTDsKICAgICBQeV9idWZmZXIgYnVmOwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dkaWN0LCAifE86bmV3Iiwga3dsaXN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZkYXRhX29iaikpIHsKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgfQotCi0gICAgaWYgKGRhdGFfb2JqKQotICAgICAgICBHRVRfQlVGRkVSX1ZJRVdfT1JfRVJST1VUKGRhdGFfb2JqLCAmYnVmKTsKKyAgICBpZiAoc3RyaW5nKQorICAgICAgICBHRVRfQlVGRkVSX1ZJRVdfT1JfRVJST1VUKHN0cmluZywgJmJ1Zik7CiAKICAgICBpZiAoKG5ldyA9IG5ld01ENW9iamVjdCgpKSA9PSBOVUxMKSB7Ci0gICAgICAgIGlmIChkYXRhX29iaikKKyAgICAgICAgaWYgKHN0cmluZykKICAgICAgICAgICAgIFB5QnVmZmVyX1JlbGVhc2UoJmJ1Zik7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KQEAgLTUzMSwxMSArNjQzLDExIEBACiAKICAgICBpZiAoUHlFcnJfT2NjdXJyZWQoKSkgewogICAgICAgICBQeV9ERUNSRUYobmV3KTsKLSAgICAgICAgaWYgKGRhdGFfb2JqKQorICAgICAgICBpZiAoc3RyaW5nKQogICAgICAgICAgICAgUHlCdWZmZXJfUmVsZWFzZSgmYnVmKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQotICAgIGlmIChkYXRhX29iaikgeworICAgIGlmIChzdHJpbmcpIHsKICAgICAgICAgbWQ1X3Byb2Nlc3MoJm5ldy0+aGFzaF9zdGF0ZSwgYnVmLmJ1ZiwgYnVmLmxlbik7CiAgICAgICAgIFB5QnVmZmVyX1JlbGVhc2UoJmJ1Zik7CiAgICAgfQpAQCAtNTQ3LDcgKzY1OSw3IEBACiAvKiBMaXN0IG9mIGZ1bmN0aW9ucyBleHBvcnRlZCBieSB0aGlzIG1vZHVsZSAqLwogCiBzdGF0aWMgc3RydWN0IFB5TWV0aG9kRGVmIE1ENV9mdW5jdGlvbnNbXSA9IHsKLSAgICB7Im1kNSIsIChQeUNGdW5jdGlvbilNRDVfbmV3LCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgTUQ1X25ld19fZG9jX199LAorICAgIF9NRDVfTUQ1X01FVEhPRERFRgogICAgIHtOVUxMLCAgICAgIE5VTEx9ICAgICAgICAgICAgLyogU2VudGluZWwgKi8KIH07CiAKZGlmZiAtLWdpdCBhL01vZHVsZXMvbW1hcG1vZHVsZS5jIGIvTW9kdWxlcy9tbWFwbW9kdWxlLmMKaW5kZXggMTM3MTQyNC4uYWMxMzRiOCAxMDA2NDQKLS0tIGEvTW9kdWxlcy9tbWFwbW9kdWxlLmMKKysrIGIvTW9kdWxlcy9tbWFwbW9kdWxlLmMKQEAgLTQ1OSw4ICs0NTksOCBAQAogCiAjaWZkZWYgVU5JWAogICAgIHsKLSAgICAgICAgc3RydWN0IHN0YXQgYnVmOwotICAgICAgICBpZiAoLTEgPT0gZnN0YXQoc2VsZi0+ZmQsICZidWYpKSB7CisgICAgICAgIHN0cnVjdCBfUHlfc3RhdF9zdHJ1Y3QgYnVmOworICAgICAgICBpZiAoLTEgPT0gX1B5X2ZzdGF0KHNlbGYtPmZkLCAmYnVmKSkgewogICAgICAgICAgICAgUHlFcnJfU2V0RnJvbUVycm5vKFB5RXhjX09TRXJyb3IpOwogICAgICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgICAgIH0KQEAgLTExMDcsNyArMTEwNyw3IEBACiBuZXdfbW1hcF9vYmplY3QoUHlUeXBlT2JqZWN0ICp0eXBlLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3ZGljdCkKIHsKICNpZmRlZiBIQVZFX0ZTVEFUCi0gICAgc3RydWN0IHN0YXQgc3Q7CisgICAgc3RydWN0IF9QeV9zdGF0X3N0cnVjdCBzdDsKICNlbmRpZgogICAgIG1tYXBfb2JqZWN0ICptX29iajsKICAgICBQeU9iamVjdCAqbWFwX3NpemVfb2JqID0gTlVMTDsKQEAgLTExNzQsNyArMTE3NCw3IEBACiAgICAgICAgICh2b2lkKWZjbnRsKGZkLCBGX0ZVTExGU1lOQyk7CiAjZW5kaWYKICNpZmRlZiBIQVZFX0ZTVEFUCi0gICAgaWYgKGZkICE9IC0xICYmIGZzdGF0KGZkLCAmc3QpID09IDAgJiYgU19JU1JFRyhzdC5zdF9tb2RlKSkgeworICAgIGlmIChmZCAhPSAtMSAmJiBfUHlfZnN0YXQoZmQsICZzdCkgPT0gMCAmJiBTX0lTUkVHKHN0LnN0X21vZGUpKSB7CiAgICAgICAgIGlmIChtYXBfc2l6ZSA9PSAwKSB7CiAgICAgICAgICAgICBpZiAoc3Quc3Rfc2l6ZSA9PSAwKSB7CiAgICAgICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsCmRpZmYgLS1naXQgYS9Nb2R1bGVzL3Bvc2l4bW9kdWxlLmMgYi9Nb2R1bGVzL3Bvc2l4bW9kdWxlLmMKaW5kZXggZDQ1ZjU5ZS4uNjc5ZmM4ZiAxMDA2NDQKLS0tIGEvTW9kdWxlcy9wb3NpeG1vZHVsZS5jCisrKyBiL01vZHVsZXMvcG9zaXhtb2R1bGUuYwpAQCAtNiw3ICs2LDcgQEAKICAgIGZ1bmN0aW9ucyBhcmUgZWl0aGVyIHVuaW1wbGVtZW50ZWQgb3IgaW1wbGVtZW50ZWQgZGlmZmVyZW50bHkuICBUaGUgc291cmNlCiAgICBhc3N1bWVzIHRoYXQgZm9yIFdpbmRvd3MgTlQsIHRoZSBtYWNybyAnTVNfV0lORE9XUycgaXMgZGVmaW5lZCBpbmRlcGVuZGVudAogICAgb2YgdGhlIGNvbXBpbGVyIHVzZWQuICBEaWZmZXJlbnQgY29tcGlsZXJzIGRlZmluZSB0aGVpciBvd24gZmVhdHVyZQotICAgdGVzdCBtYWNybywgZS5nLiAnX19CT1JMQU5EQ19fJyBvciAnX01TQ19WRVInLiAqLworICAgdGVzdCBtYWNybywgZS5nLiAnX01TQ19WRVInLiAqLwogCiAKIApAQCAtMjcsNiArMjcsOCBAQAogI2luY2x1ZGUgIlB5dGhvbi5oIgogI2lmbmRlZiBNU19XSU5ET1dTCiAjaW5jbHVkZSAicG9zaXhtb2R1bGUuaCIKKyNlbHNlCisjaW5jbHVkZSAid2lucmVwYXJzZS5oIgogI2VuZGlmCiAKICNpZmRlZiBfX2NwbHVzcGx1cwpAQCAtMTQxLDEzICsxNDMsNiBAQAogI2RlZmluZSBIQVZFX1NZU1RFTSAgICAgMQogI2luY2x1ZGUgPHByb2Nlc3MuaD4KICNlbHNlCi0jaWZkZWYgX19CT1JMQU5EQ19fICAgICAgICAgICAgIC8qIEJvcmxhbmQgY29tcGlsZXIgKi8KLSNkZWZpbmUgSEFWRV9FWEVDViAgICAgIDEKLSNkZWZpbmUgSEFWRV9PUEVORElSICAgIDEKLSNkZWZpbmUgSEFWRV9QSVBFICAgICAgIDEKLSNkZWZpbmUgSEFWRV9TWVNURU0gICAgIDEKLSNkZWZpbmUgSEFWRV9XQUlUICAgICAgIDEKLSNlbHNlCiAjaWZkZWYgX01TQ19WRVIgICAgICAgICAvKiBNaWNyb3NvZnQgY29tcGlsZXIgKi8KICNkZWZpbmUgSEFWRV9HRVRQUElEICAgIDEKICNkZWZpbmUgSEFWRV9HRVRMT0dJTiAgIDEKQEAgLTE3NywxNCArMTcyLDE0IEBACiAjZGVmaW5lIEhBVkVfV0FJVCAgICAgICAxCiAjZGVmaW5lIEhBVkVfVFRZTkFNRSAgICAxCiAjZW5kaWYgIC8qIF9NU0NfVkVSICovCi0jZW5kaWYgIC8qIF9fQk9STEFORENfXyAqLwogI2VuZGlmICAvKiAhIF9fV0FUQ09NQ19fIHx8IF9fUU5YX18gKi8KIAogCiAvKltjbGluaWMgaW5wdXRdCisjIG9uZSBvZiB0aGUgZmV3IHRpbWVzIHdlIGxpZSBhYm91dCB0aGlzIG5hbWUhCiBtb2R1bGUgb3MKIFtjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KLS8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1kYTM5YTNlZTVlNmI0YjBkIGlucHV0PThjZmYwOTZkMTEzMzI4OGZdKi8KKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1kYTM5YTNlZTVlNmI0YjBkIGlucHV0PTk0YTBmMGY5NzhhY2FlMTddKi8KIAogI2lmbmRlZiBfTVNDX1ZFUgogCkBAIC0yMTEsMTEgKzIwNiw3IEBACiBleHRlcm4gaW50IGNoZGlyKGNvbnN0IGNoYXIgKik7CiBleHRlcm4gaW50IHJtZGlyKGNvbnN0IGNoYXIgKik7CiAjZW5kaWYKLSNpZmRlZiBfX0JPUkxBTkRDX18KLWV4dGVybiBpbnQgY2htb2QoY29uc3QgY2hhciAqLCBpbnQpOwotI2Vsc2UKIGV4dGVybiBpbnQgY2htb2QoY29uc3QgY2hhciAqLCBtb2RlX3QpOwotI2VuZGlmCiAvKiNpZmRlZiBIQVZFX0ZDSE1PRAogZXh0ZXJuIGludCBmY2htb2QoaW50LCBtb2RlX3QpOwogI2VuZGlmKi8KQEAgLTMwMSw2ICsyOTIsOSBAQAogI2lmbmRlZiBJT19SRVBBUlNFX1RBR19TWU1MSU5LCiAjZGVmaW5lIElPX1JFUEFSU0VfVEFHX1NZTUxJTksgKDB4QTAwMDAwMENMKQogI2VuZGlmCisjaWZuZGVmIElPX1JFUEFSU0VfVEFHX01PVU5UX1BPSU5UCisjZGVmaW5lIElPX1JFUEFSU0VfVEFHX01PVU5UX1BPSU5UICgweEEwMDAwMDAzTCkKKyNlbmRpZgogI2luY2x1ZGUgIm9zZGVmcy5oIgogI2luY2x1ZGUgPG1hbGxvYy5oPgogI2luY2x1ZGUgPHdpbmRvd3MuaD4KQEAgLTM1Niw4ICszNTAsOCBAQAogI2lmZGVmIE1TX1dJTkRPV1MKICMgICAgICAgZGVmaW5lIFNUQVQgd2luMzJfc3RhdAogIyAgICAgICBkZWZpbmUgTFNUQVQgd2luMzJfbHN0YXQKLSMgICAgICAgZGVmaW5lIEZTVEFUIHdpbjMyX2ZzdGF0Ci0jICAgICAgIGRlZmluZSBTVFJVQ1RfU1RBVCBzdHJ1Y3Qgd2luMzJfc3RhdAorIyAgICAgICBkZWZpbmUgRlNUQVQgX1B5X2ZzdGF0CisjICAgICAgIGRlZmluZSBTVFJVQ1RfU1RBVCBzdHJ1Y3QgX1B5X3N0YXRfc3RydWN0CiAjZWxzZQogIyAgICAgICBkZWZpbmUgU1RBVCBzdGF0CiAjICAgICAgIGRlZmluZSBMU1RBVCBsc3RhdApAQCAtMzc4LDYgKzM3MiwxMiBAQAogCiAjZGVmaW5lIERXT1JEX01BWCA0Mjk0OTY3Mjk1VQogCisjaWZkZWYgTVNfV0lORE9XUworLyogZGVmaW5lZCBpbiBmaWxldXRpbHMuYyAqLworUHlBUElfRlVOQyh2b2lkKSBfUHlfdGltZV90X3RvX0ZJTEVfVElNRSh0aW1lX3QsIGludCwgRklMRVRJTUUgKik7CitQeUFQSV9GVU5DKHZvaWQpIF9QeV9hdHRyaWJ1dGVfZGF0YV90b19zdGF0KEJZX0hBTkRMRV9GSUxFX0lORk9STUFUSU9OICosCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVMT05HLCBzdHJ1Y3QgX1B5X3N0YXRfc3RydWN0ICopOworI2VuZGlmCiAKICNpZmRlZiBNU19XSU5ET1dTCiBzdGF0aWMgaW50CkBAIC03MDEsNyArNzAxLDYgQEAKIH0KIAogCi0KIC8qCiAgKiBBIFB5QXJnX1BhcnNlVHVwbGUgImNvbnZlcnRlciIgZnVuY3Rpb24KICAqIHRoYXQgaGFuZGxlcyBmaWxlc3lzdGVtIHBhdGhzIGluIHRoZSBtYW5uZXIKQEAgLTc5Nyw4ICs3OTYsOCBAQAogICAgIFB5T2JqZWN0ICpjbGVhbnVwOwogfSBwYXRoX3Q7CiAKLSNkZWZpbmUgUEFUSF9UX0lOSVRJQUxJWkUoZnVuY3Rpb25fbmFtZSwgbnVsbGFibGUsIGFsbG93X2ZkKSBcCi0gICAge2Z1bmN0aW9uX25hbWUsIE5VTEwsIG51bGxhYmxlLCBhbGxvd19mZCwgTlVMTCwgTlVMTCwgMCwgMCwgTlVMTCwgTlVMTH0KKyNkZWZpbmUgUEFUSF9UX0lOSVRJQUxJWkUoZnVuY3Rpb25fbmFtZSwgYXJndW1lbnRfbmFtZSwgbnVsbGFibGUsIGFsbG93X2ZkKSBcCisgICAge2Z1bmN0aW9uX25hbWUsIGFyZ3VtZW50X25hbWUsIG51bGxhYmxlLCBhbGxvd19mZCwgTlVMTCwgTlVMTCwgLTEsIDAsIE5VTEwsIE5VTEx9CiAKIHN0YXRpYyB2b2lkCiBwYXRoX2NsZWFudXAocGF0aF90ICpwYXRoKSB7CkBAIC05MjAsOCArOTE5LDggQEAKICNlbmRpZgogCiAgICAgbmFycm93ID0gUHlCeXRlc19BU19TVFJJTkcoYnl0ZXMpOwotICAgIGlmIChsZW5ndGggIT0gc3RybGVuKG5hcnJvdykpIHsKLSAgICAgICAgRk9STUFUX0VYQ0VQVElPTihQeUV4Y19WYWx1ZUVycm9yLCAiZW1iZWRkZWQgTlVMIGNoYXJhY3RlciBpbiAlcyIpOworICAgIGlmICgoc2l6ZV90KWxlbmd0aCAhPSBzdHJsZW4obmFycm93KSkgeworICAgICAgICBGT1JNQVRfRVhDRVBUSU9OKFB5RXhjX1ZhbHVlRXJyb3IsICJlbWJlZGRlZCBudWxsIGNoYXJhY3RlciBpbiAlcyIpOwogICAgICAgICBQeV9ERUNSRUYoYnl0ZXMpOwogICAgICAgICByZXR1cm4gMDsKICAgICB9CkBAIC0xMDIyLDk3ICsxMDIxLDQ2IEBACiAgICAgcmV0dXJuIDA7CiB9CiAKLS8qIEEgaGVscGVyIHVzZWQgYnkgYSBudW1iZXIgb2YgUE9TSVgtb25seSBmdW5jdGlvbnMgKi8KLSNpZm5kZWYgTVNfV0lORE9XUwotc3RhdGljIGludAotX3BhcnNlX29mZl90KFB5T2JqZWN0KiBhcmcsIHZvaWQqIGFkZHIpCi17Ci0jaWYgIWRlZmluZWQoSEFWRV9MQVJHRUZJTEVfU1VQUE9SVCkKLSAgICAqKChvZmZfdCopYWRkcikgPSBQeUxvbmdfQXNMb25nKGFyZyk7CisjaWZkZWYgTVNfV0lORE9XUworICAgIHR5cGVkZWYgUFlfTE9OR19MT05HIFB5X29mZl90OwogI2Vsc2UKLSAgICAqKChvZmZfdCopYWRkcikgPSBQeUxvbmdfQXNMb25nTG9uZyhhcmcpOworICAgIHR5cGVkZWYgb2ZmX3QgUHlfb2ZmX3Q7CisjZW5kaWYKKworc3RhdGljIGludAorUHlfb2ZmX3RfY29udmVydGVyKFB5T2JqZWN0ICphcmcsIHZvaWQgKmFkZHIpCit7CisjaWZkZWYgSEFWRV9MQVJHRUZJTEVfU1VQUE9SVAorICAgICooKFB5X29mZl90ICopYWRkcikgPSBQeUxvbmdfQXNMb25nTG9uZyhhcmcpOworI2Vsc2UKKyAgICAqKChQeV9vZmZfdCAqKWFkZHIpID0gUHlMb25nX0FzTG9uZyhhcmcpOwogI2VuZGlmCiAgICAgaWYgKFB5RXJyX09jY3VycmVkKCkpCiAgICAgICAgIHJldHVybiAwOwogICAgIHJldHVybiAxOwogfQotI2VuZGlmCiAKLSNpZiBkZWZpbmVkIF9NU0NfVkVSICYmIF9NU0NfVkVSID49IDE0MDAKLS8qIE1pY3Jvc29mdCBDUlQgaW4gVlMyMDA1IGFuZCBoaWdoZXIgd2lsbCB2ZXJpZnkgdGhhdCBhIGZpbGVoYW5kbGUgaXMKLSAqIHZhbGlkIGFuZCByYWlzZSBhbiBhc3NlcnRpb24gaWYgaXQgaXNuJ3QuCi0gKiBOb3JtYWxseSwgYW4gaW52YWxpZCBmZCBpcyBsaWtlbHkgdG8gYmUgYSBDIHByb2dyYW0gZXJyb3IgYW5kIHRoZXJlZm9yZQotICogYW4gYXNzZXJ0aW9uIGNhbiBiZSB1c2VmdWwsIGJ1dCBpdCBkb2VzIGNvbnRyYWRpY3QgdGhlIFBPU0lYIHN0YW5kYXJkCi0gKiB3aGljaCBmb3Igd3JpdGUoMikgc3RhdGVzOgotICogICAgIk90aGVyd2lzZSwgLTEgc2hhbGwgYmUgcmV0dXJuZWQgYW5kIGVycm5vIHNldCB0byBpbmRpY2F0ZSB0aGUgZXJyb3IuIgotICogICAgIltFQkFERl0gVGhlIGZpbGRlcyBhcmd1bWVudCBpcyBub3QgYSB2YWxpZCBmaWxlIGRlc2NyaXB0b3Igb3BlbiBmb3IKLSAqICAgICB3cml0aW5nLiIKLSAqIEZ1cnRoZXJtb3JlLCBweXRob24gYWxsb3dzIHRoZSB1c2VyIHRvIGVudGVyIGFueSBvbGQgaW50ZWdlcgotICogYXMgYSBmZCBhbmQgc2hvdWxkIG1lcmVseSByYWlzZSBhIHB5dGhvbiBleGNlcHRpb24gb24gZXJyb3IuCi0gKiBUaGUgTWljcm9zb2Z0IENSVCBkb2Vzbid0IHByb3ZpZGUgYW4gb2ZmaWNpYWwgd2F5IHRvIGNoZWNrIGZvciB0aGUKLSAqIHZhbGlkaXR5IG9mIGEgZmlsZSBkZXNjcmlwdG9yLCBidXQgd2UgY2FuIGVtdWxhdGUgaXRzIGludGVybmFsIGJlaGF2aW91cgotICogYnkgdXNpbmcgdGhlIGV4cG9ydGVkIF9fcGluZm8gZGF0YSBtZW1iZXIgYW5kIGtub3dsZWRnZSBvZiB0aGUKLSAqIGludGVybmFsIHN0cnVjdHVyZXMgaW52b2x2ZWQuCi0gKiBUaGUgc3RydWN0dXJlcyBiZWxvdyBtdXN0IGJlIHVwZGF0ZWQgZm9yIGVhY2ggdmVyc2lvbiBvZiB2aXN1YWwgc3R1ZGlvCi0gKiBhY2NvcmRpbmcgdG8gdGhlIGZpbGUgaW50ZXJuYWwuaCBpbiB0aGUgQ1JUIHNvdXJjZSwgdW50aWwgTVMgY29tZXMKLSAqIHVwIHdpdGggYSBsZXNzIGhhY2t5IHdheSB0byBkbyB0aGlzLgotICogKGFsbCBvZiB0aGlzIGlzIHRvIGF2b2lkIGdsb2JhbGx5IG1vZGlmeWluZyB0aGUgQ1JUIGJlaGF2aW91ciB1c2luZwotICogX3NldF9pbnZhbGlkX3BhcmFtZXRlcl9oYW5kbGVyKCkgYW5kIF9DcnRTZXRSZXBvcnRNb2RlKCkpCi0gKi8KLS8qIFRoZSBhY3R1YWwgc2l6ZSBvZiB0aGUgc3RydWN0dXJlIGlzIGRldGVybWluZWQgYXQgcnVudGltZS4KLSAqIE9ubHkgdGhlIGZpcnN0IGl0ZW1zIG11c3QgYmUgcHJlc2VudC4KLSAqLwotdHlwZWRlZiBzdHJ1Y3QgewotICAgIGludHB0cl90IG9zZmhuZDsKLSAgICBjaGFyIG9zZmlsZTsKLX0gbXlfaW9pbmZvOwotCi1leHRlcm4gX19kZWNsc3BlYyhkbGxpbXBvcnQpIGNoYXIgKiBfX3Bpb2luZm9bXTsKLSNkZWZpbmUgSU9JTkZPX0wyRSA1Ci0jZGVmaW5lIElPSU5GT19BUlJBWV9FTFRTICAgKDEgPDwgSU9JTkZPX0wyRSkKLSNkZWZpbmUgSU9JTkZPX0FSUkFZUyA2NAotI2RlZmluZSBfTkhBTkRMRV8gICAgICAgICAgIChJT0lORk9fQVJSQVlTICogSU9JTkZPX0FSUkFZX0VMVFMpCi0jZGVmaW5lIEZPUEVOIDB4MDEKLSNkZWZpbmUgX05PX0NPTlNPTEVfRklMRU5PIChpbnRwdHJfdCktMgotCi0vKiBUaGlzIGZ1bmN0aW9uIGVtdWxhdGVzIHdoYXQgdGhlIHdpbmRvd3MgQ1JUIGRvZXMgdG8gdmFsaWRhdGUgZmlsZSBoYW5kbGVzICovCi1pbnQKLV9QeVZlcmlmeV9mZChpbnQgZmQpCitzdGF0aWMgUHlPYmplY3QgKgorUHlMb25nX0Zyb21QeV9vZmZfdChQeV9vZmZfdCBvZmZzZXQpCiB7Ci0gICAgY29uc3QgaW50IGkxID0gZmQgPj4gSU9JTkZPX0wyRTsKLSAgICBjb25zdCBpbnQgaTIgPSBmZCAmICgoMSA8PCBJT0lORk9fTDJFKSAtIDEpOwotCi0gICAgc3RhdGljIHNpemVfdCBzaXplb2ZfaW9pbmZvID0gMDsKLQotICAgIC8qIERldGVybWluZSB0aGUgYWN0dWFsIHNpemUgb2YgdGhlIGlvaW5mbyBzdHJ1Y3R1cmUsCi0gICAgICogYXMgdXNlZCBieSB0aGUgQ1JUIGxvYWRlZCBpbiBtZW1vcnkKLSAgICAgKi8KLSAgICBpZiAoc2l6ZW9mX2lvaW5mbyA9PSAwICYmIF9fcGlvaW5mb1swXSAhPSBOVUxMKSB7Ci0gICAgICAgIHNpemVvZl9pb2luZm8gPSBfbXNpemUoX19waW9pbmZvWzBdKSAvIElPSU5GT19BUlJBWV9FTFRTOwotICAgIH0KLSAgICBpZiAoc2l6ZW9mX2lvaW5mbyA9PSAwKSB7Ci0gICAgICAgIC8qIFRoaXMgc2hvdWxkIG5vdCBoYXBwZW4uLi4gKi8KLSAgICAgICAgZ290byBmYWlsOwotICAgIH0KLQotICAgIC8qIFNlZSB0aGF0IGl0IGlzbid0IGEgc3BlY2lhbCBDTEVBUiBmaWxlbm8gKi8KLSAgICBpZiAoZmQgIT0gX05PX0NPTlNPTEVfRklMRU5PKSB7Ci0gICAgICAgIC8qIE1pY3Jvc29mdCBDUlQgd291bGQgY2hlY2sgdGhhdCAwPD1mZDxfbmhhbmRsZSBidXQgd2UgY2FuJ3QgZG8gdGhhdC4gIEluc3RlYWQKLSAgICAgICAgICogd2UgY2hlY2sgcG9pbnRlciB2YWxpZGl0eSBhbmQgb3RoZXIgaW5mbwotICAgICAgICAgKi8KLSAgICAgICAgaWYgKDAgPD0gaTEgJiYgaTEgPCBJT0lORk9fQVJSQVlTICYmIF9fcGlvaW5mb1tpMV0gIT0gTlVMTCkgewotICAgICAgICAgICAgLyogZmluYWxseSwgY2hlY2sgdGhhdCB0aGUgZmlsZSBpcyBvcGVuICovCi0gICAgICAgICAgICBteV9pb2luZm8qIGluZm8gPSAobXlfaW9pbmZvKikoX19waW9pbmZvW2kxXSArIGkyICogc2l6ZW9mX2lvaW5mbyk7Ci0gICAgICAgICAgICBpZiAoaW5mby0+b3NmaWxlICYgRk9QRU4pIHsKLSAgICAgICAgICAgICAgICByZXR1cm4gMTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotICAgIH0KLSAgZmFpbDoKLSAgICBlcnJubyA9IEVCQURGOwotICAgIHJldHVybiAwOworI2lmZGVmIEhBVkVfTEFSR0VGSUxFX1NVUFBPUlQKKyAgICByZXR1cm4gUHlMb25nX0Zyb21Mb25nTG9uZyhvZmZzZXQpOworI2Vsc2UKKyAgICByZXR1cm4gUHlMb25nX0Zyb21Mb25nKG9mZnNldCk7CisjZW5kaWYKIH0KIAorCisjaWYgZGVmaW5lZCBfTVNDX1ZFUiAmJiBfTVNDX1ZFUiA+PSAxNDAwICYmIF9NU0NfVkVSIDwgMTkwMAorLyogTGVnYWN5IGltcGxlbWVudGF0aW9uIG9mIF9QeVZlcmlmeV9mZF9kdXAyIHdoaWxlIHRyYW5zaXRpb25pbmcgdG8KKyAqIE1TVkMgMTQuMC4gVGhpcyBzaG91bGQgZXZlbnR1YWxseSBiZSByZW1vdmVkLiAoaXNzdWUyMzUyNCkKKyAqLworI2RlZmluZSBJT0lORk9fTDJFIDUKKyNkZWZpbmUgSU9JTkZPX0FSUkFZUyA2NAorI2RlZmluZSBJT0lORk9fQVJSQVlfRUxUUyAgICgxIDw8IElPSU5GT19MMkUpCisjZGVmaW5lIF9OSEFORExFXyAgICAgICAgICAgKElPSU5GT19BUlJBWVMgKiBJT0lORk9fQVJSQVlfRUxUUykKKyNkZWZpbmUgX05PX0NPTlNPTEVfRklMRU5PIChpbnRwdHJfdCktMgorCiAvKiB0aGUgc3BlY2lhbCBjYXNlIG9mIGNoZWNraW5nIGR1cDIuICBUaGUgdGFyZ2V0IGZkIG11c3QgYmUgaW4gYSBzZW5zaWJsZSByYW5nZSAqLwogc3RhdGljIGludAogX1B5VmVyaWZ5X2ZkX2R1cDIoaW50IGZkMSwgaW50IGZkMikKQEAgLTExMjcsNDYgKzEwNzUsMTAgQEAKICAgICAgICAgcmV0dXJuIDA7CiB9CiAjZWxzZQotLyogZHVtbXkgdmVyc2lvbi4gX1B5VmVyaWZ5X2ZkKCkgaXMgYWxyZWFkeSBkZWZpbmVkIGluIGZpbGVvYmplY3QuaCAqLwotI2RlZmluZSBfUHlWZXJpZnlfZmRfZHVwMihBLCBCKSAoMSkKKyNkZWZpbmUgX1B5VmVyaWZ5X2ZkX2R1cDIoZmQxLCBmZDIpIChfUHlWZXJpZnlfZmQoZmQxKSAmJiAoZmQyKSA+PSAwKQogI2VuZGlmCiAKICNpZmRlZiBNU19XSU5ET1dTCi0vKiBUaGUgZm9sbG93aW5nIHN0cnVjdHVyZSB3YXMgY29waWVkIGZyb20KLSAgIGh0dHA6Ly9tc2RuLm1pY3Jvc29mdC5jb20vZW4tdXMvbGlicmFyeS9tczc5MTUxNC5hc3B4IGFzIHRoZSByZXF1aXJlZAotICAgaW5jbHVkZSBkb2Vzbid0IHNlZW0gdG8gYmUgcHJlc2VudCBpbiB0aGUgV2luZG93cyBTREsgKGF0IGxlYXN0IGFzIGluY2x1ZGVkCi0gICB3aXRoIFZpc3VhbCBTdHVkaW8gRXhwcmVzcykuICovCi10eXBlZGVmIHN0cnVjdCBfUkVQQVJTRV9EQVRBX0JVRkZFUiB7Ci0gICAgVUxPTkcgUmVwYXJzZVRhZzsKLSAgICBVU0hPUlQgUmVwYXJzZURhdGFMZW5ndGg7Ci0gICAgVVNIT1JUIFJlc2VydmVkOwotICAgIHVuaW9uIHsKLSAgICAgICAgc3RydWN0IHsKLSAgICAgICAgICAgIFVTSE9SVCBTdWJzdGl0dXRlTmFtZU9mZnNldDsKLSAgICAgICAgICAgIFVTSE9SVCBTdWJzdGl0dXRlTmFtZUxlbmd0aDsKLSAgICAgICAgICAgIFVTSE9SVCBQcmludE5hbWVPZmZzZXQ7Ci0gICAgICAgICAgICBVU0hPUlQgUHJpbnROYW1lTGVuZ3RoOwotICAgICAgICAgICAgVUxPTkcgRmxhZ3M7Ci0gICAgICAgICAgICBXQ0hBUiBQYXRoQnVmZmVyWzFdOwotICAgICAgICB9IFN5bWJvbGljTGlua1JlcGFyc2VCdWZmZXI7Ci0KLSAgICAgICAgc3RydWN0IHsKLSAgICAgICAgICAgIFVTSE9SVCBTdWJzdGl0dXRlTmFtZU9mZnNldDsKLSAgICAgICAgICAgIFVTSE9SVCAgU3Vic3RpdHV0ZU5hbWVMZW5ndGg7Ci0gICAgICAgICAgICBVU0hPUlQgIFByaW50TmFtZU9mZnNldDsKLSAgICAgICAgICAgIFVTSE9SVCAgUHJpbnROYW1lTGVuZ3RoOwotICAgICAgICAgICAgV0NIQVIgIFBhdGhCdWZmZXJbMV07Ci0gICAgICAgIH0gTW91bnRQb2ludFJlcGFyc2VCdWZmZXI7Ci0KLSAgICAgICAgc3RydWN0IHsKLSAgICAgICAgICAgIFVDSEFSICBEYXRhQnVmZmVyWzFdOwotICAgICAgICB9IEdlbmVyaWNSZXBhcnNlQnVmZmVyOwotICAgIH07Ci19IFJFUEFSU0VfREFUQV9CVUZGRVIsICpQUkVQQVJTRV9EQVRBX0JVRkZFUjsKLQotI2RlZmluZSBSRVBBUlNFX0RBVEFfQlVGRkVSX0hFQURFUl9TSVpFICBGSUVMRF9PRkZTRVQoUkVQQVJTRV9EQVRBX0JVRkZFUixcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHZW5lcmljUmVwYXJzZUJ1ZmZlcikKLSNkZWZpbmUgTUFYSU1VTV9SRVBBUlNFX0RBVEFfQlVGRkVSX1NJWkUgICggMTYgKiAxMDI0ICkKIAogc3RhdGljIGludAogd2luMzJfZ2V0X3JlcGFyc2VfdGFnKEhBTkRMRSByZXBhcnNlX3BvaW50X2hhbmRsZSwgVUxPTkcgKnJlcGFyc2VfdGFnKQpAQCAtMTM1MSw0NyArMTI2MywzNiBAQAogCiAvKiBQT1NJWCBnZW5lcmljIG1ldGhvZHMgKi8KIAotc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X2ZpbGRlcyhQeU9iamVjdCAqZmRvYmosIGludCAoKmZ1bmMpKGludCkpCitzdGF0aWMgaW50CitmaWxkZXNfY29udmVydGVyKFB5T2JqZWN0ICpvLCB2b2lkICpwKQogewogICAgIGludCBmZDsKLSAgICBpbnQgcmVzOwotICAgIGZkID0gUHlPYmplY3RfQXNGaWxlRGVzY3JpcHRvcihmZG9iaik7CisgICAgaW50ICpwb2ludGVyID0gKGludCAqKXA7CisgICAgZmQgPSBQeU9iamVjdF9Bc0ZpbGVEZXNjcmlwdG9yKG8pOwogICAgIGlmIChmZCA8IDApCi0gICAgICAgIHJldHVybiBOVUxMOwotICAgIGlmICghX1B5VmVyaWZ5X2ZkKGZkKSkKLSAgICAgICAgcmV0dXJuIHBvc2l4X2Vycm9yKCk7Ci0gICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwotICAgIHJlcyA9ICgqZnVuYykoZmQpOwotICAgIFB5X0VORF9BTExPV19USFJFQURTCi0gICAgaWYgKHJlcyA8IDApCi0gICAgICAgIHJldHVybiBwb3NpeF9lcnJvcigpOwotICAgIFB5X0lOQ1JFRihQeV9Ob25lKTsKLSAgICByZXR1cm4gUHlfTm9uZTsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgaWYgKCFfUHlWZXJpZnlfZmQoZmQpKSB7CisgICAgICAgIHBvc2l4X2Vycm9yKCk7CisgICAgICAgIHJldHVybiAwOworICAgIH0KKyAgICAqcG9pbnRlciA9IGZkOworICAgIHJldHVybiAxOwogfQogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfMXN0cihjb25zdCBjaGFyICpmdW5jX25hbWUsIFB5T2JqZWN0ICphcmdzLCBjaGFyICpmb3JtYXQsCi0gICAgICAgICAgIGludCAoKmZ1bmMpKGNvbnN0IGNoYXIqKSkKK3Bvc2l4X2ZpbGRlc19mZChpbnQgZmQsIGludCAoKmZ1bmMpKGludCkpCiB7Ci0gICAgcGF0aF90IHBhdGg7CiAgICAgaW50IHJlczsKLSAgICBtZW1zZXQoJnBhdGgsIDAsIHNpemVvZihwYXRoKSk7Ci0gICAgcGF0aC5mdW5jdGlvbl9uYW1lID0gZnVuY19uYW1lOwotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCBmb3JtYXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIHBhdGhfY29udmVydGVyLCAmcGF0aCkpCi0gICAgICAgIHJldHVybiBOVUxMOwotICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKLSAgICByZXMgPSAoKmZ1bmMpKHBhdGgubmFycm93KTsKLSAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUwotICAgIGlmIChyZXMgPCAwKSB7Ci0gICAgICAgIHBhdGhfZXJyb3IoJnBhdGgpOwotICAgICAgICBwYXRoX2NsZWFudXAoJnBhdGgpOwotICAgICAgICByZXR1cm4gTlVMTDsKLSAgICB9Ci0gICAgcGF0aF9jbGVhbnVwKCZwYXRoKTsKLSAgICBQeV9JTkNSRUYoUHlfTm9uZSk7Ci0gICAgcmV0dXJuIFB5X05vbmU7CisgICAgaW50IGFzeW5jX2VyciA9IDA7CisKKyAgICBkbyB7CisgICAgICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKKyAgICAgICAgcmVzID0gKCpmdW5jKShmZCk7CisgICAgICAgIFB5X0VORF9BTExPV19USFJFQURTCisgICAgfSB3aGlsZSAocmVzICE9IDAgJiYgZXJybm8gPT0gRUlOVFIgJiYgIShhc3luY19lcnIgPSBQeUVycl9DaGVja1NpZ25hbHMoKSkpOworICAgIGlmIChyZXMgIT0gMCkKKyAgICAgICAgcmV0dXJuICghYXN5bmNfZXJyKSA/IHBvc2l4X2Vycm9yKCkgOiBOVUxMOworICAgIFB5X1JFVFVSTl9OT05FOwogfQogCiAKQEAgLTE0NzAsODkgKzEzNzEsNyBAQAogICAgVGhlcmVmb3JlLCB3ZSBpbXBsZW1lbnQgb3VyIG93biBzdGF0LCBiYXNlZCBvbiB0aGUgV2luMzIgQVBJIGRpcmVjdGx5LgogKi8KICNkZWZpbmUgSEFWRV9TVEFUX05TRUMgMQotCi1zdHJ1Y3Qgd2luMzJfc3RhdHsKLSAgICB1bnNpZ25lZCBsb25nIHN0X2RldjsKLSAgICBfX2ludDY0IHN0X2lubzsKLSAgICB1bnNpZ25lZCBzaG9ydCBzdF9tb2RlOwotICAgIGludCBzdF9ubGluazsKLSAgICBpbnQgc3RfdWlkOwotICAgIGludCBzdF9naWQ7Ci0gICAgdW5zaWduZWQgbG9uZyBzdF9yZGV2OwotICAgIF9faW50NjQgc3Rfc2l6ZTsKLSAgICB0aW1lX3Qgc3RfYXRpbWU7Ci0gICAgaW50IHN0X2F0aW1lX25zZWM7Ci0gICAgdGltZV90IHN0X210aW1lOwotICAgIGludCBzdF9tdGltZV9uc2VjOwotICAgIHRpbWVfdCBzdF9jdGltZTsKLSAgICBpbnQgc3RfY3RpbWVfbnNlYzsKLX07Ci0KLXN0YXRpYyBfX2ludDY0IHNlY3NfYmV0d2Vlbl9lcG9jaHMgPSAxMTY0NDQ3MzYwMDsgLyogU2Vjb25kcyBiZXR3ZWVuIDEuMS4xNjAxIGFuZCAxLjEuMTk3MCAqLwotCi1zdGF0aWMgdm9pZAotRklMRV9USU1FX3RvX3RpbWVfdF9uc2VjKEZJTEVUSU1FICppbl9wdHIsIHRpbWVfdCAqdGltZV9vdXQsIGludCogbnNlY19vdXQpCi17Ci0gICAgLyogWFhYIGVuZGlhbm5lc3MuIFNob3VsZG4ndCBtYXR0ZXIsIGFzIGFsbCBXaW5kb3dzIGltcGxlbWVudGF0aW9ucyBhcmUgbGl0dGxlLWVuZGlhbiAqLwotICAgIC8qIENhbm5vdCBzaW1wbHkgY2FzdCBhbmQgZGVyZWZlcmVuY2UgaW5fcHRyLAotICAgICAgIHNpbmNlIGl0IG1pZ2h0IG5vdCBiZSBhbGlnbmVkIHByb3Blcmx5ICovCi0gICAgX19pbnQ2NCBpbjsKLSAgICBtZW1jcHkoJmluLCBpbl9wdHIsIHNpemVvZihpbikpOwotICAgICpuc2VjX291dCA9IChpbnQpKGluICUgMTAwMDAwMDApICogMTAwOyAvKiBGSUxFVElNRSBpcyBpbiB1bml0cyBvZiAxMDAgbnNlYy4gKi8KLSAgICAqdGltZV9vdXQgPSBQeV9TQUZFX0RPV05DQVNUKChpbiAvIDEwMDAwMDAwKSAtIHNlY3NfYmV0d2Vlbl9lcG9jaHMsIF9faW50NjQsIHRpbWVfdCk7Ci19Ci0KLXN0YXRpYyB2b2lkCi10aW1lX3RfdG9fRklMRV9USU1FKHRpbWVfdCB0aW1lX2luLCBpbnQgbnNlY19pbiwgRklMRVRJTUUgKm91dF9wdHIpCi17Ci0gICAgLyogWFhYIGVuZGlhbm5lc3MgKi8KLSAgICBfX2ludDY0IG91dDsKLSAgICBvdXQgPSB0aW1lX2luICsgc2Vjc19iZXR3ZWVuX2Vwb2NoczsKLSAgICBvdXQgPSBvdXQgKiAxMDAwMDAwMCArIG5zZWNfaW4gLyAxMDA7Ci0gICAgbWVtY3B5KG91dF9wdHIsICZvdXQsIHNpemVvZihvdXQpKTsKLX0KLQotLyogQmVsb3csIHdlICprbm93KiB0aGF0IHVnbytyIGlzIDA0NDQgKi8KLSNpZiBfU19JUkVBRCAhPSAwNDAwCi0jZXJyb3IgVW5zdXBwb3J0ZWQgQyBsaWJyYXJ5Ci0jZW5kaWYKLXN0YXRpYyBpbnQKLWF0dHJpYnV0ZXNfdG9fbW9kZShEV09SRCBhdHRyKQotewotICAgIGludCBtID0gMDsKLSAgICBpZiAoYXR0ciAmIEZJTEVfQVRUUklCVVRFX0RJUkVDVE9SWSkKLSAgICAgICAgbSB8PSBfU19JRkRJUiB8IDAxMTE7IC8qIElGRVhFQyBmb3IgdXNlcixncm91cCxvdGhlciAqLwotICAgIGVsc2UKLSAgICAgICAgbSB8PSBfU19JRlJFRzsKLSAgICBpZiAoYXR0ciAmIEZJTEVfQVRUUklCVVRFX1JFQURPTkxZKQotICAgICAgICBtIHw9IDA0NDQ7Ci0gICAgZWxzZQotICAgICAgICBtIHw9IDA2NjY7Ci0gICAgcmV0dXJuIG07Ci19Ci0KLXN0YXRpYyBpbnQKLWF0dHJpYnV0ZV9kYXRhX3RvX3N0YXQoQllfSEFORExFX0ZJTEVfSU5GT1JNQVRJT04gKmluZm8sIFVMT05HIHJlcGFyc2VfdGFnLCBzdHJ1Y3Qgd2luMzJfc3RhdCAqcmVzdWx0KQotewotICAgIG1lbXNldChyZXN1bHQsIDAsIHNpemVvZigqcmVzdWx0KSk7Ci0gICAgcmVzdWx0LT5zdF9tb2RlID0gYXR0cmlidXRlc190b19tb2RlKGluZm8tPmR3RmlsZUF0dHJpYnV0ZXMpOwotICAgIHJlc3VsdC0+c3Rfc2l6ZSA9ICgoKF9faW50NjQpaW5mby0+bkZpbGVTaXplSGlnaCk8PDMyKSArIGluZm8tPm5GaWxlU2l6ZUxvdzsKLSAgICByZXN1bHQtPnN0X2RldiA9IGluZm8tPmR3Vm9sdW1lU2VyaWFsTnVtYmVyOwotICAgIHJlc3VsdC0+c3RfcmRldiA9IHJlc3VsdC0+c3RfZGV2OwotICAgIEZJTEVfVElNRV90b190aW1lX3RfbnNlYygmaW5mby0+ZnRDcmVhdGlvblRpbWUsICZyZXN1bHQtPnN0X2N0aW1lLCAmcmVzdWx0LT5zdF9jdGltZV9uc2VjKTsKLSAgICBGSUxFX1RJTUVfdG9fdGltZV90X25zZWMoJmluZm8tPmZ0TGFzdFdyaXRlVGltZSwgJnJlc3VsdC0+c3RfbXRpbWUsICZyZXN1bHQtPnN0X210aW1lX25zZWMpOwotICAgIEZJTEVfVElNRV90b190aW1lX3RfbnNlYygmaW5mby0+ZnRMYXN0QWNjZXNzVGltZSwgJnJlc3VsdC0+c3RfYXRpbWUsICZyZXN1bHQtPnN0X2F0aW1lX25zZWMpOwotICAgIHJlc3VsdC0+c3RfbmxpbmsgPSBpbmZvLT5uTnVtYmVyT2ZMaW5rczsKLSAgICByZXN1bHQtPnN0X2lubyA9ICgoKF9faW50NjQpaW5mby0+bkZpbGVJbmRleEhpZ2gpPDwzMikgKyBpbmZvLT5uRmlsZUluZGV4TG93OwotICAgIGlmIChyZXBhcnNlX3RhZyA9PSBJT19SRVBBUlNFX1RBR19TWU1MSU5LKSB7Ci0gICAgICAgIC8qIGZpcnN0IGNsZWFyIHRoZSBTX0lGTVQgYml0cyAqLwotICAgICAgICByZXN1bHQtPnN0X21vZGUgXj0gKHJlc3VsdC0+c3RfbW9kZSAmIFNfSUZNVCk7Ci0gICAgICAgIC8qIG5vdyBzZXQgdGhlIGJpdHMgdGhhdCBtYWtlIHRoaXMgYSBzeW1saW5rICovCi0gICAgICAgIHJlc3VsdC0+c3RfbW9kZSB8PSBTX0lGTE5LOwotICAgIH0KLQotICAgIHJldHVybiAwOwotfQorI2RlZmluZSBIQVZFX1NUUlVDVF9TVEFUX1NUX0ZJTEVfQVRUUklCVVRFUyAxCiAKIHN0YXRpYyBCT09MCiBhdHRyaWJ1dGVzX2Zyb21fZGlyKExQQ1NUUiBwc3pGaWxlLCBCWV9IQU5ETEVfRklMRV9JTkZPUk1BVElPTiAqaW5mbywgVUxPTkcgKnJlcGFyc2VfdGFnKQpAQCAtMTY2NCwxMCArMTQ4MywxMCBAQAogfQogCiBzdGF0aWMgaW50Ci13aW4zMl94c3RhdF9pbXBsX3coY29uc3Qgd2NoYXJfdCAqcGF0aCwgc3RydWN0IHdpbjMyX3N0YXQgKnJlc3VsdCwKK3dpbjMyX3hzdGF0X2ltcGxfdyhjb25zdCB3Y2hhcl90ICpwYXRoLCBzdHJ1Y3QgX1B5X3N0YXRfc3RydWN0ICpyZXN1bHQsCiAgICAgICAgICAgICAgICAgICAgQk9PTCB0cmF2ZXJzZSk7CiBzdGF0aWMgaW50Ci13aW4zMl94c3RhdF9pbXBsKGNvbnN0IGNoYXIgKnBhdGgsIHN0cnVjdCB3aW4zMl9zdGF0ICpyZXN1bHQsCit3aW4zMl94c3RhdF9pbXBsKGNvbnN0IGNoYXIgKnBhdGgsIHN0cnVjdCBfUHlfc3RhdF9zdHJ1Y3QgKnJlc3VsdCwKICAgICAgICAgICAgICAgICAgQk9PTCB0cmF2ZXJzZSkKIHsKICAgICBpbnQgY29kZTsKQEAgLTE3NTAsNyArMTU2OSw3IEBACiAgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgQ2xvc2VIYW5kbGUoaEZpbGUpOwogICAgIH0KLSAgICBhdHRyaWJ1dGVfZGF0YV90b19zdGF0KCZpbmZvLCByZXBhcnNlX3RhZywgcmVzdWx0KTsKKyAgICBfUHlfYXR0cmlidXRlX2RhdGFfdG9fc3RhdCgmaW5mbywgcmVwYXJzZV90YWcsIHJlc3VsdCk7CiAKICAgICAvKiBTZXQgU19JRVhFQyBpZiBpdCBpcyBhbiAuZXhlLCAuYmF0LCAuLi4gKi8KICAgICBkb3QgPSBzdHJyY2hyKHBhdGgsICcuJyk7CkBAIC0xNzYzLDcgKzE1ODIsNyBAQAogfQogCiBzdGF0aWMgaW50Ci13aW4zMl94c3RhdF9pbXBsX3coY29uc3Qgd2NoYXJfdCAqcGF0aCwgc3RydWN0IHdpbjMyX3N0YXQgKnJlc3VsdCwKK3dpbjMyX3hzdGF0X2ltcGxfdyhjb25zdCB3Y2hhcl90ICpwYXRoLCBzdHJ1Y3QgX1B5X3N0YXRfc3RydWN0ICpyZXN1bHQsCiAgICAgICAgICAgICAgICAgICAgQk9PTCB0cmF2ZXJzZSkKIHsKICAgICBpbnQgY29kZTsKQEAgLTE4NDYsNyArMTY2NSw3IEBACiAgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgQ2xvc2VIYW5kbGUoaEZpbGUpOwogICAgIH0KLSAgICBhdHRyaWJ1dGVfZGF0YV90b19zdGF0KCZpbmZvLCByZXBhcnNlX3RhZywgcmVzdWx0KTsKKyAgICBfUHlfYXR0cmlidXRlX2RhdGFfdG9fc3RhdCgmaW5mbywgcmVwYXJzZV90YWcsIHJlc3VsdCk7CiAKICAgICAvKiBTZXQgU19JRVhFQyBpZiBpdCBpcyBhbiAuZXhlLCAuYmF0LCAuLi4gKi8KICAgICBkb3QgPSB3Y3NyY2hyKHBhdGgsICcuJyk7CkBAIC0xODU5LDcgKzE2NzgsNyBAQAogfQogCiBzdGF0aWMgaW50Ci13aW4zMl94c3RhdChjb25zdCBjaGFyICpwYXRoLCBzdHJ1Y3Qgd2luMzJfc3RhdCAqcmVzdWx0LCBCT09MIHRyYXZlcnNlKQord2luMzJfeHN0YXQoY29uc3QgY2hhciAqcGF0aCwgc3RydWN0IF9QeV9zdGF0X3N0cnVjdCAqcmVzdWx0LCBCT09MIHRyYXZlcnNlKQogewogICAgIC8qIFByb3RvY29sIHZpb2xhdGlvbjogd2UgZXhwbGljaXRseSBjbGVhciBlcnJubywgaW5zdGVhZCBvZgogICAgICAgIHNldHRpbmcgaXQgdG8gYSBQT1NJWCBlcnJvci4gQ2FsbGVycyBzaG91bGQgdXNlIEdldExhc3RFcnJvci4gKi8KQEAgLTE4NjksNyArMTY4OCw3IEBACiB9CiAKIHN0YXRpYyBpbnQKLXdpbjMyX3hzdGF0X3coY29uc3Qgd2NoYXJfdCAqcGF0aCwgc3RydWN0IHdpbjMyX3N0YXQgKnJlc3VsdCwgQk9PTCB0cmF2ZXJzZSkKK3dpbjMyX3hzdGF0X3coY29uc3Qgd2NoYXJfdCAqcGF0aCwgc3RydWN0IF9QeV9zdGF0X3N0cnVjdCAqcmVzdWx0LCBCT09MIHRyYXZlcnNlKQogewogICAgIC8qIFByb3RvY29sIHZpb2xhdGlvbjogd2UgZXhwbGljaXRseSBjbGVhciBlcnJubywgaW5zdGVhZCBvZgogICAgICAgIHNldHRpbmcgaXQgdG8gYSBQT1NJWCBlcnJvci4gQ2FsbGVycyBzaG91bGQgdXNlIEdldExhc3RFcnJvci4gKi8KQEAgLTE4OTEsODAgKzE3MTAsMjkgQEAKICAgIFRoZSBfdyByZXByZXNlbnQgVW5pY29kZSBlcXVpdmFsZW50cyBvZiB0aGUgYWZvcmVtZW50aW9uZWQgQU5TSSBmdW5jdGlvbnMuICovCiAKIHN0YXRpYyBpbnQKLXdpbjMyX2xzdGF0KGNvbnN0IGNoYXIqIHBhdGgsIHN0cnVjdCB3aW4zMl9zdGF0ICpyZXN1bHQpCit3aW4zMl9sc3RhdChjb25zdCBjaGFyKiBwYXRoLCBzdHJ1Y3QgX1B5X3N0YXRfc3RydWN0ICpyZXN1bHQpCiB7CiAgICAgcmV0dXJuIHdpbjMyX3hzdGF0KHBhdGgsIHJlc3VsdCwgRkFMU0UpOwogfQogCiBzdGF0aWMgaW50Ci13aW4zMl9sc3RhdF93KGNvbnN0IHdjaGFyX3QqIHBhdGgsIHN0cnVjdCB3aW4zMl9zdGF0ICpyZXN1bHQpCit3aW4zMl9sc3RhdF93KGNvbnN0IHdjaGFyX3QqIHBhdGgsIHN0cnVjdCBfUHlfc3RhdF9zdHJ1Y3QgKnJlc3VsdCkKIHsKICAgICByZXR1cm4gd2luMzJfeHN0YXRfdyhwYXRoLCByZXN1bHQsIEZBTFNFKTsKIH0KIAogc3RhdGljIGludAotd2luMzJfc3RhdChjb25zdCBjaGFyKiBwYXRoLCBzdHJ1Y3Qgd2luMzJfc3RhdCAqcmVzdWx0KQord2luMzJfc3RhdChjb25zdCBjaGFyKiBwYXRoLCBzdHJ1Y3QgX1B5X3N0YXRfc3RydWN0ICpyZXN1bHQpCiB7CiAgICAgcmV0dXJuIHdpbjMyX3hzdGF0KHBhdGgsIHJlc3VsdCwgVFJVRSk7CiB9CiAKIHN0YXRpYyBpbnQKLXdpbjMyX3N0YXRfdyhjb25zdCB3Y2hhcl90KiBwYXRoLCBzdHJ1Y3Qgd2luMzJfc3RhdCAqcmVzdWx0KQord2luMzJfc3RhdF93KGNvbnN0IHdjaGFyX3QqIHBhdGgsIHN0cnVjdCBfUHlfc3RhdF9zdHJ1Y3QgKnJlc3VsdCkKIHsKICAgICByZXR1cm4gd2luMzJfeHN0YXRfdyhwYXRoLCByZXN1bHQsIFRSVUUpOwogfQogCi1zdGF0aWMgaW50Ci13aW4zMl9mc3RhdChpbnQgZmlsZV9udW1iZXIsIHN0cnVjdCB3aW4zMl9zdGF0ICpyZXN1bHQpCi17Ci0gICAgQllfSEFORExFX0ZJTEVfSU5GT1JNQVRJT04gaW5mbzsKLSAgICBIQU5ETEUgaDsKLSAgICBpbnQgdHlwZTsKLQotICAgIGlmICghX1B5VmVyaWZ5X2ZkKGZpbGVfbnVtYmVyKSkKLSAgICAgICAgaCA9IElOVkFMSURfSEFORExFX1ZBTFVFOwotICAgIGVsc2UKLSAgICAgICAgaCA9IChIQU5ETEUpX2dldF9vc2ZoYW5kbGUoZmlsZV9udW1iZXIpOwotCi0gICAgLyogUHJvdG9jb2wgdmlvbGF0aW9uOiB3ZSBleHBsaWNpdGx5IGNsZWFyIGVycm5vLCBpbnN0ZWFkIG9mCi0gICAgICAgc2V0dGluZyBpdCB0byBhIFBPU0lYIGVycm9yLiBDYWxsZXJzIHNob3VsZCB1c2UgR2V0TGFzdEVycm9yLiAqLwotICAgIGVycm5vID0gMDsKLQotICAgIGlmIChoID09IElOVkFMSURfSEFORExFX1ZBTFVFKSB7Ci0gICAgICAgIC8qIFRoaXMgaXMgcmVhbGx5IGEgQyBsaWJyYXJ5IGVycm9yIChpbnZhbGlkIGZpbGUgaGFuZGxlKS4KLSAgICAgICAgICAgV2Ugc2V0IHRoZSBXaW4zMiBlcnJvciB0byB0aGUgY2xvc2VzIG9uZSBtYXRjaGluZy4gKi8KLSAgICAgICAgU2V0TGFzdEVycm9yKEVSUk9SX0lOVkFMSURfSEFORExFKTsKLSAgICAgICAgcmV0dXJuIC0xOwotICAgIH0KLSAgICBtZW1zZXQocmVzdWx0LCAwLCBzaXplb2YoKnJlc3VsdCkpOwotCi0gICAgdHlwZSA9IEdldEZpbGVUeXBlKGgpOwotICAgIGlmICh0eXBlID09IEZJTEVfVFlQRV9VTktOT1dOKSB7Ci0gICAgICAgIERXT1JEIGVycm9yID0gR2V0TGFzdEVycm9yKCk7Ci0gICAgICAgIGlmIChlcnJvciAhPSAwKSB7Ci0gICAgICAgICAgICByZXR1cm4gLTE7Ci0gICAgICAgIH0KLSAgICAgICAgLyogZWxzZTogdmFsaWQgYnV0IHVua25vd24gZmlsZSAqLwotICAgIH0KLQotICAgIGlmICh0eXBlICE9IEZJTEVfVFlQRV9ESVNLKSB7Ci0gICAgICAgIGlmICh0eXBlID09IEZJTEVfVFlQRV9DSEFSKQotICAgICAgICAgICAgcmVzdWx0LT5zdF9tb2RlID0gX1NfSUZDSFI7Ci0gICAgICAgIGVsc2UgaWYgKHR5cGUgPT0gRklMRV9UWVBFX1BJUEUpCi0gICAgICAgICAgICByZXN1bHQtPnN0X21vZGUgPSBfU19JRklGTzsKLSAgICAgICAgcmV0dXJuIDA7Ci0gICAgfQotCi0gICAgaWYgKCFHZXRGaWxlSW5mb3JtYXRpb25CeUhhbmRsZShoLCAmaW5mbykpIHsKLSAgICAgICAgcmV0dXJuIC0xOwotICAgIH0KLQotICAgIGF0dHJpYnV0ZV9kYXRhX3RvX3N0YXQoJmluZm8sIDAsIHJlc3VsdCk7Ci0gICAgLyogc3BlY2lmaWMgdG8gZnN0YXQoKSAqLwotICAgIHJlc3VsdC0+c3RfaW5vID0gKCgoX19pbnQ2NClpbmZvLm5GaWxlSW5kZXhIaWdoKTw8MzIpICsgaW5mby5uRmlsZUluZGV4TG93OwotICAgIHJldHVybiAwOwotfQotCiAjZW5kaWYgLyogTVNfV0lORE9XUyAqLwogCiBQeURvY19TVFJWQVIoc3RhdF9yZXN1bHRfX2RvY19fLApAQCAtMjAxNCw2ICsxNzgyLDkgQEAKICNpZmRlZiBIQVZFX1NUUlVDVF9TVEFUX1NUX0JJUlRIVElNRQogICAgIHsic3RfYmlydGh0aW1lIiwgICAidGltZSBvZiBjcmVhdGlvbiJ9LAogI2VuZGlmCisjaWZkZWYgSEFWRV9TVFJVQ1RfU1RBVF9TVF9GSUxFX0FUVFJJQlVURVMKKyAgICB7InN0X2ZpbGVfYXR0cmlidXRlcyIsICJXaW5kb3dzIGZpbGUgYXR0cmlidXRlIGJpdHMifSwKKyNlbmRpZgogICAgIHswfQogfTsKIApAQCAtMjA1Myw2ICsxODI0LDEyIEBACiAjZGVmaW5lIFNUX0JJUlRIVElNRV9JRFggU1RfR0VOX0lEWAogI2VuZGlmCiAKKyNpZmRlZiBIQVZFX1NUUlVDVF9TVEFUX1NUX0ZJTEVfQVRUUklCVVRFUworI2RlZmluZSBTVF9GSUxFX0FUVFJJQlVURVNfSURYIChTVF9CSVJUSFRJTUVfSURYKzEpCisjZWxzZQorI2RlZmluZSBTVF9GSUxFX0FUVFJJQlVURVNfSURYIFNUX0JJUlRIVElNRV9JRFgKKyNlbmRpZgorCiBzdGF0aWMgUHlTdHJ1Y3RTZXF1ZW5jZV9EZXNjIHN0YXRfcmVzdWx0X2Rlc2MgPSB7CiAgICAgInN0YXRfcmVzdWx0IiwgLyogbmFtZSAqLwogICAgIHN0YXRfcmVzdWx0X19kb2NfXywgLyogZG9jICovCkBAIC0yMTU0LDEwICsxOTMxLDEyIEBACiBQeURvY19TVFJWQVIoc3RhdF9mbG9hdF90aW1lc19fZG9jX18sCiAic3RhdF9mbG9hdF90aW1lcyhbbmV3dmFsXSkgLT4gb2xkdmFsXG5cblwKIERldGVybWluZSB3aGV0aGVyIG9zLltsZl1zdGF0IHJlcHJlc2VudHMgdGltZSBzdGFtcHMgYXMgZmxvYXQgb2JqZWN0cy5cblwKLUlmIG5ld3ZhbCBpcyBUcnVlLCBmdXR1cmUgY2FsbHMgdG8gc3RhdCgpIHJldHVybiBmbG9hdHMsIGlmIGl0IGlzIEZhbHNlLFxuXAotZnV0dXJlIGNhbGxzIHJldHVybiBpbnRzLiBcblwKLUlmIG5ld3ZhbCBpcyBvbWl0dGVkLCByZXR1cm4gdGhlIGN1cnJlbnQgc2V0dGluZy5cbiIpOworXG5cCitJZiB2YWx1ZSBpcyBUcnVlLCBmdXR1cmUgY2FsbHMgdG8gc3RhdCgpIHJldHVybiBmbG9hdHM7IGlmIGl0IGlzIEZhbHNlLFxuXAorZnV0dXJlIGNhbGxzIHJldHVybiBpbnRzLlxuXAorSWYgdmFsdWUgaXMgb21pdHRlZCwgcmV0dXJuIHRoZSBjdXJyZW50IHNldHRpbmcuXG4iKTsKIAorLyogQUMgMy41OiB0aGUgcHVibGljIGRlZmF1bHQgdmFsdWUgc2hvdWxkIGJlIE5vbmUsIG5vdCByZWFkeSBmb3IgdGhhdCB5ZXQgKi8KIHN0YXRpYyBQeU9iamVjdCoKIHN0YXRfZmxvYXRfdGltZXMoUHlPYmplY3QqIHNlbGYsIFB5T2JqZWN0ICphcmdzKQogewpAQCAtMjMxNyw2ICsyMDk2LDEwIEBACiAgICAgUHlTdHJ1Y3RTZXF1ZW5jZV9TRVRfSVRFTSh2LCBTVF9GTEFHU19JRFgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeUxvbmdfRnJvbUxvbmcoKGxvbmcpc3QtPnN0X2ZsYWdzKSk7CiAjZW5kaWYKKyNpZmRlZiBIQVZFX1NUUlVDVF9TVEFUX1NUX0ZJTEVfQVRUUklCVVRFUworICAgIFB5U3RydWN0U2VxdWVuY2VfU0VUX0lURU0odiwgU1RfRklMRV9BVFRSSUJVVEVTX0lEWCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5TG9uZ19Gcm9tVW5zaWduZWRMb25nKHN0LT5zdF9maWxlX2F0dHJpYnV0ZXMpKTsKKyNlbmRpZgogCiAgICAgaWYgKFB5RXJyX09jY3VycmVkKCkpIHsKICAgICAgICAgUHlfREVDUkVGKHYpOwpAQCAtMjM4MCwxMSArMjE2MywxNzYgQEAKICAgICByZXR1cm4gX3B5c3RhdF9mcm9tc3RydWN0c3RhdCgmc3QpOwogfQogCi0jaWZkZWYgSEFWRV9GU1RBVEFUCi0gICAgI2RlZmluZSBPU19TVEFUX0RJUl9GRF9DT05WRVJURVIgZGlyX2ZkX2NvbnZlcnRlcgorLypbcHl0aG9uIGlucHV0XQorCitmb3IgcyBpbiAiIiIKKworRkFDQ0VTU0FUCitGQ0hNT0RBVAorRkNIT1dOQVQKK0ZTVEFUQVQKK0xJTktBVAorTUtESVJBVAorTUtGSUZPQVQKK01LTk9EQVQKK09QRU5BVAorUkVBRExJTktBVAorU1lNTElOS0FUCitVTkxJTktBVAorCisiIiIuc3RyaXAoKS5zcGxpdCgpOgorICAgIHMgPSBzLnN0cmlwKCkKKyAgICBwcmludCgiIiIKKyNpZmRlZiBIQVZFX3tzfQorICAgICNkZWZpbmUge3N9X0RJUl9GRF9DT05WRVJURVIgZGlyX2ZkX2NvbnZlcnRlcgogI2Vsc2UKLSAgICAjZGVmaW5lIE9TX1NUQVRfRElSX0ZEX0NPTlZFUlRFUiBkaXJfZmRfdW5hdmFpbGFibGUKKyAgICAjZGVmaW5lIHtzfV9ESVJfRkRfQ09OVkVSVEVSIGRpcl9mZF91bmF2YWlsYWJsZQogI2VuZGlmCisiIiIucnN0cmlwKCkuZm9ybWF0KHM9cykpCisKK2ZvciBzIGluICIiIgorCitGQ0hESVIKK0ZDSE1PRAorRkNIT1dOCitGRE9QRU5ESVIKK0ZFWEVDVkUKK0ZQQVRIQ09ORgorRlNUQVRWRlMKK0ZUUlVOQ0FURQorCisiIiIuc3RyaXAoKS5zcGxpdCgpOgorICAgIHMgPSBzLnN0cmlwKCkKKyAgICBwcmludCgiIiIKKyNpZmRlZiBIQVZFX3tzfQorICAgICNkZWZpbmUgUEFUSF9IQVZFX3tzfSAxCisjZWxzZQorICAgICNkZWZpbmUgUEFUSF9IQVZFX3tzfSAwCisjZW5kaWYKKworIiIiLnJzdHJpcCgpLmZvcm1hdChzPXMpKQorW3B5dGhvbiBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCisjaWZkZWYgSEFWRV9GQUNDRVNTQVQKKyAgICAjZGVmaW5lIEZBQ0NFU1NBVF9ESVJfRkRfQ09OVkVSVEVSIGRpcl9mZF9jb252ZXJ0ZXIKKyNlbHNlCisgICAgI2RlZmluZSBGQUNDRVNTQVRfRElSX0ZEX0NPTlZFUlRFUiBkaXJfZmRfdW5hdmFpbGFibGUKKyNlbmRpZgorCisjaWZkZWYgSEFWRV9GQ0hNT0RBVAorICAgICNkZWZpbmUgRkNITU9EQVRfRElSX0ZEX0NPTlZFUlRFUiBkaXJfZmRfY29udmVydGVyCisjZWxzZQorICAgICNkZWZpbmUgRkNITU9EQVRfRElSX0ZEX0NPTlZFUlRFUiBkaXJfZmRfdW5hdmFpbGFibGUKKyNlbmRpZgorCisjaWZkZWYgSEFWRV9GQ0hPV05BVAorICAgICNkZWZpbmUgRkNIT1dOQVRfRElSX0ZEX0NPTlZFUlRFUiBkaXJfZmRfY29udmVydGVyCisjZWxzZQorICAgICNkZWZpbmUgRkNIT1dOQVRfRElSX0ZEX0NPTlZFUlRFUiBkaXJfZmRfdW5hdmFpbGFibGUKKyNlbmRpZgorCisjaWZkZWYgSEFWRV9GU1RBVEFUCisgICAgI2RlZmluZSBGU1RBVEFUX0RJUl9GRF9DT05WRVJURVIgZGlyX2ZkX2NvbnZlcnRlcgorI2Vsc2UKKyAgICAjZGVmaW5lIEZTVEFUQVRfRElSX0ZEX0NPTlZFUlRFUiBkaXJfZmRfdW5hdmFpbGFibGUKKyNlbmRpZgorCisjaWZkZWYgSEFWRV9MSU5LQVQKKyAgICAjZGVmaW5lIExJTktBVF9ESVJfRkRfQ09OVkVSVEVSIGRpcl9mZF9jb252ZXJ0ZXIKKyNlbHNlCisgICAgI2RlZmluZSBMSU5LQVRfRElSX0ZEX0NPTlZFUlRFUiBkaXJfZmRfdW5hdmFpbGFibGUKKyNlbmRpZgorCisjaWZkZWYgSEFWRV9NS0RJUkFUCisgICAgI2RlZmluZSBNS0RJUkFUX0RJUl9GRF9DT05WRVJURVIgZGlyX2ZkX2NvbnZlcnRlcgorI2Vsc2UKKyAgICAjZGVmaW5lIE1LRElSQVRfRElSX0ZEX0NPTlZFUlRFUiBkaXJfZmRfdW5hdmFpbGFibGUKKyNlbmRpZgorCisjaWZkZWYgSEFWRV9NS0ZJRk9BVAorICAgICNkZWZpbmUgTUtGSUZPQVRfRElSX0ZEX0NPTlZFUlRFUiBkaXJfZmRfY29udmVydGVyCisjZWxzZQorICAgICNkZWZpbmUgTUtGSUZPQVRfRElSX0ZEX0NPTlZFUlRFUiBkaXJfZmRfdW5hdmFpbGFibGUKKyNlbmRpZgorCisjaWZkZWYgSEFWRV9NS05PREFUCisgICAgI2RlZmluZSBNS05PREFUX0RJUl9GRF9DT05WRVJURVIgZGlyX2ZkX2NvbnZlcnRlcgorI2Vsc2UKKyAgICAjZGVmaW5lIE1LTk9EQVRfRElSX0ZEX0NPTlZFUlRFUiBkaXJfZmRfdW5hdmFpbGFibGUKKyNlbmRpZgorCisjaWZkZWYgSEFWRV9PUEVOQVQKKyAgICAjZGVmaW5lIE9QRU5BVF9ESVJfRkRfQ09OVkVSVEVSIGRpcl9mZF9jb252ZXJ0ZXIKKyNlbHNlCisgICAgI2RlZmluZSBPUEVOQVRfRElSX0ZEX0NPTlZFUlRFUiBkaXJfZmRfdW5hdmFpbGFibGUKKyNlbmRpZgorCisjaWZkZWYgSEFWRV9SRUFETElOS0FUCisgICAgI2RlZmluZSBSRUFETElOS0FUX0RJUl9GRF9DT05WRVJURVIgZGlyX2ZkX2NvbnZlcnRlcgorI2Vsc2UKKyAgICAjZGVmaW5lIFJFQURMSU5LQVRfRElSX0ZEX0NPTlZFUlRFUiBkaXJfZmRfdW5hdmFpbGFibGUKKyNlbmRpZgorCisjaWZkZWYgSEFWRV9TWU1MSU5LQVQKKyAgICAjZGVmaW5lIFNZTUxJTktBVF9ESVJfRkRfQ09OVkVSVEVSIGRpcl9mZF9jb252ZXJ0ZXIKKyNlbHNlCisgICAgI2RlZmluZSBTWU1MSU5LQVRfRElSX0ZEX0NPTlZFUlRFUiBkaXJfZmRfdW5hdmFpbGFibGUKKyNlbmRpZgorCisjaWZkZWYgSEFWRV9VTkxJTktBVAorICAgICNkZWZpbmUgVU5MSU5LQVRfRElSX0ZEX0NPTlZFUlRFUiBkaXJfZmRfY29udmVydGVyCisjZWxzZQorICAgICNkZWZpbmUgVU5MSU5LQVRfRElSX0ZEX0NPTlZFUlRFUiBkaXJfZmRfdW5hdmFpbGFibGUKKyNlbmRpZgorCisjaWZkZWYgSEFWRV9GQ0hESVIKKyAgICAjZGVmaW5lIFBBVEhfSEFWRV9GQ0hESVIgMQorI2Vsc2UKKyAgICAjZGVmaW5lIFBBVEhfSEFWRV9GQ0hESVIgMAorI2VuZGlmCisKKyNpZmRlZiBIQVZFX0ZDSE1PRAorICAgICNkZWZpbmUgUEFUSF9IQVZFX0ZDSE1PRCAxCisjZWxzZQorICAgICNkZWZpbmUgUEFUSF9IQVZFX0ZDSE1PRCAwCisjZW5kaWYKKworI2lmZGVmIEhBVkVfRkNIT1dOCisgICAgI2RlZmluZSBQQVRIX0hBVkVfRkNIT1dOIDEKKyNlbHNlCisgICAgI2RlZmluZSBQQVRIX0hBVkVfRkNIT1dOIDAKKyNlbmRpZgorCisjaWZkZWYgSEFWRV9GRE9QRU5ESVIKKyAgICAjZGVmaW5lIFBBVEhfSEFWRV9GRE9QRU5ESVIgMQorI2Vsc2UKKyAgICAjZGVmaW5lIFBBVEhfSEFWRV9GRE9QRU5ESVIgMAorI2VuZGlmCisKKyNpZmRlZiBIQVZFX0ZFWEVDVkUKKyAgICAjZGVmaW5lIFBBVEhfSEFWRV9GRVhFQ1ZFIDEKKyNlbHNlCisgICAgI2RlZmluZSBQQVRIX0hBVkVfRkVYRUNWRSAwCisjZW5kaWYKKworI2lmZGVmIEhBVkVfRlBBVEhDT05GCisgICAgI2RlZmluZSBQQVRIX0hBVkVfRlBBVEhDT05GIDEKKyNlbHNlCisgICAgI2RlZmluZSBQQVRIX0hBVkVfRlBBVEhDT05GIDAKKyNlbmRpZgorCisjaWZkZWYgSEFWRV9GU1RBVFZGUworICAgICNkZWZpbmUgUEFUSF9IQVZFX0ZTVEFUVkZTIDEKKyNlbHNlCisgICAgI2RlZmluZSBQQVRIX0hBVkVfRlNUQVRWRlMgMAorI2VuZGlmCisKKyNpZmRlZiBIQVZFX0ZUUlVOQ0FURQorICAgICNkZWZpbmUgUEFUSF9IQVZFX0ZUUlVOQ0FURSAxCisjZWxzZQorICAgICNkZWZpbmUgUEFUSF9IQVZFX0ZUUlVOQ0FURSAwCisjZW5kaWYKKy8qW3B5dGhvbiBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD00YmQ0ZjZmN2Q0MTI2N2YxIGlucHV0PTgwYjRjODkwYjY3NzRlYTVdKi8KIAogCiAvKltweXRob24gaW5wdXRdCkBAIC0yNDAwLDIyICsyMzQ4LDI1IEBACiAgICAgZGVmIGNvbnZlcnRlcl9pbml0KHNlbGYsICosIGFsbG93X2ZkPUZhbHNlLCBudWxsYWJsZT1GYWxzZSk6CiAgICAgICAgICMgcmlnaHQgbm93IHBhdGhfdCBkb2Vzbid0IHN1cHBvcnQgZGVmYXVsdCB2YWx1ZXMuCiAgICAgICAgICMgdG8gc3VwcG9ydCBhIGRlZmF1bHQgdmFsdWUsIHlvdSdsbCBuZWVkIHRvIG92ZXJyaWRlIGluaXRpYWxpemUoKS4KLSAgICAgICAgaWYgc2VsZi5kZWZhdWx0IGlzIG5vdCB1bnNwZWNpZmllZDoKKyAgICAgICAgaWYgc2VsZi5kZWZhdWx0IG5vdCBpbiAodW5zcGVjaWZpZWQsIE5vbmUpOgogICAgICAgICAgICAgZmFpbCgiQ2FuJ3Qgc3BlY2lmeSBhIGRlZmF1bHQgdG8gdGhlIHBhdGhfdCBjb252ZXJ0ZXIhIikKIAotICAgICAgICBpZiBzZWxmLmNfZGVmYXVsdCBpcyBub3QgTm9uZToKLSAgICAgICAgICAgIGZhaWwoIkNhbid0IHNwZWNpZnkgYSBjX2RlZmF1bHQgdG8gdGhlIHBhdGhfdCBjb252ZXJ0ZXIhIikKKyAgICAgICAgaWYgc2VsZi5jX2RlZmF1bHQgbm90IGluIChOb25lLCAnUHlfTm9uZScpOgorICAgICAgICAgICAgcmFpc2UgUnVudGltZUVycm9yKCJDYW4ndCBzcGVjaWZ5IGEgY19kZWZhdWx0IHRvIHRoZSBwYXRoX3QgY29udmVydGVyISIpCiAKICAgICAgICAgc2VsZi5udWxsYWJsZSA9IG51bGxhYmxlCiAgICAgICAgIHNlbGYuYWxsb3dfZmQgPSBhbGxvd19mZAogCiAgICAgZGVmIHByZV9yZW5kZXIoc2VsZik6CiAgICAgICAgIGRlZiBzdHJpZnkodmFsdWUpOgorICAgICAgICAgICAgaWYgaXNpbnN0YW5jZSh2YWx1ZSwgc3RyKToKKyAgICAgICAgICAgICAgICByZXR1cm4gdmFsdWUKICAgICAgICAgICAgIHJldHVybiBzdHIoaW50KGJvb2wodmFsdWUpKSkKIAogICAgICAgICAjIGFkZCBzZWxmLnB5X25hbWUgaGVyZSB3aGVuIG1lcmdpbmcgd2l0aCBwb3NpeG1vZHVsZSBjb252ZXJzaW9uCi0gICAgICAgIHNlbGYuY19kZWZhdWx0ID0gJ1BBVEhfVF9JTklUSUFMSVpFKCJ7fSIsIHt9LCB7fSknLmZvcm1hdCgKKyAgICAgICAgc2VsZi5jX2RlZmF1bHQgPSAnUEFUSF9UX0lOSVRJQUxJWkUoInt9IiwgInt9Iiwge30sIHt9KScuZm9ybWF0KAogICAgICAgICAgICAgc2VsZi5mdW5jdGlvbi5uYW1lLAorICAgICAgICAgICAgc2VsZi5uYW1lLAogICAgICAgICAgICAgc3RyaWZ5KHNlbGYubnVsbGFibGUpLAogICAgICAgICAgICAgc3RyaWZ5KHNlbGYuYWxsb3dfZmQpLAogICAgICAgICAgICAgKQpAQCAtMjQyNiwxNSArMjM3Nyw4NyBAQAogCiBjbGFzcyBkaXJfZmRfY29udmVydGVyKENDb252ZXJ0ZXIpOgogICAgIHR5cGUgPSAnaW50JwotICAgIGNvbnZlcnRlciA9ICdPU19TVEFUX0RJUl9GRF9DT05WRVJURVInCiAKLSAgICBkZWYgY29udmVydGVyX2luaXQoc2VsZik6CisgICAgZGVmIGNvbnZlcnRlcl9pbml0KHNlbGYsIHJlcXVpcmVzPU5vbmUpOgogICAgICAgICBpZiBzZWxmLmRlZmF1bHQgaW4gKHVuc3BlY2lmaWVkLCBOb25lKToKICAgICAgICAgICAgIHNlbGYuY19kZWZhdWx0ID0gJ0RFRkFVTFRfRElSX0ZEJworICAgICAgICBpZiBpc2luc3RhbmNlKHJlcXVpcmVzLCBzdHIpOgorICAgICAgICAgICAgc2VsZi5jb252ZXJ0ZXIgPSByZXF1aXJlcy51cHBlcigpICsgJ19ESVJfRkRfQ09OVkVSVEVSJworICAgICAgICBlbHNlOgorICAgICAgICAgICAgc2VsZi5jb252ZXJ0ZXIgPSAnZGlyX2ZkX2NvbnZlcnRlcicKIAorY2xhc3MgZmlsZGVzX2NvbnZlcnRlcihDQ29udmVydGVyKToKKyAgICB0eXBlID0gJ2ludCcKKyAgICBjb252ZXJ0ZXIgPSAnZmlsZGVzX2NvbnZlcnRlcicKKworY2xhc3MgdWlkX3RfY29udmVydGVyKENDb252ZXJ0ZXIpOgorICAgIHR5cGUgPSAidWlkX3QiCisgICAgY29udmVydGVyID0gJ19QeV9VaWRfQ29udmVydGVyJworCitjbGFzcyBnaWRfdF9jb252ZXJ0ZXIoQ0NvbnZlcnRlcik6CisgICAgdHlwZSA9ICJnaWRfdCIKKyAgICBjb252ZXJ0ZXIgPSAnX1B5X0dpZF9Db252ZXJ0ZXInCisKK2NsYXNzIGRldl90X2NvbnZlcnRlcihDQ29udmVydGVyKToKKyAgICB0eXBlID0gJ2Rldl90JworICAgIGNvbnZlcnRlciA9ICdfUHlfRGV2X0NvbnZlcnRlcicKKworY2xhc3MgZGV2X3RfcmV0dXJuX2NvbnZlcnRlcih1bnNpZ25lZF9sb25nX3JldHVybl9jb252ZXJ0ZXIpOgorICAgIHR5cGUgPSAnZGV2X3QnCisgICAgY29udmVyc2lvbl9mbiA9ICdfUHlMb25nX0Zyb21EZXYnCisgICAgdW5zaWduZWRfY2FzdCA9ICcoZGV2X3QpJworCitjbGFzcyBGU0NvbnZlcnRlcl9jb252ZXJ0ZXIoQ0NvbnZlcnRlcik6CisgICAgdHlwZSA9ICdQeU9iamVjdCAqJworICAgIGNvbnZlcnRlciA9ICdQeVVuaWNvZGVfRlNDb252ZXJ0ZXInCisgICAgZGVmIGNvbnZlcnRlcl9pbml0KHNlbGYpOgorICAgICAgICBpZiBzZWxmLmRlZmF1bHQgaXMgbm90IHVuc3BlY2lmaWVkOgorICAgICAgICAgICAgZmFpbCgiRlNDb252ZXJ0ZXJfY29udmVydGVyIGRvZXMgbm90IHN1cHBvcnQgZGVmYXVsdCB2YWx1ZXMiKQorICAgICAgICBzZWxmLmNfZGVmYXVsdCA9ICdOVUxMJworCisgICAgZGVmIGNsZWFudXAoc2VsZik6CisgICAgICAgIHJldHVybiAiUHlfWERFQ1JFRigiICsgc2VsZi5uYW1lICsgIik7XG4iCisKK2NsYXNzIHBpZF90X2NvbnZlcnRlcihDQ29udmVydGVyKToKKyAgICB0eXBlID0gJ3BpZF90JworICAgIGZvcm1hdF91bml0ID0gJyIgX1B5X1BBUlNFX1BJRCAiJworCitjbGFzcyBpZHR5cGVfdF9jb252ZXJ0ZXIoaW50X2NvbnZlcnRlcik6CisgICAgdHlwZSA9ICdpZHR5cGVfdCcKKworY2xhc3MgaWRfdF9jb252ZXJ0ZXIoQ0NvbnZlcnRlcik6CisgICAgdHlwZSA9ICdpZF90JworICAgIGZvcm1hdF91bml0ID0gJyIgX1B5X1BBUlNFX1BJRCAiJworCitjbGFzcyBQeV9pbnRwdHJfdF9jb252ZXJ0ZXIoQ0NvbnZlcnRlcik6CisgICAgdHlwZSA9ICdQeV9pbnRwdHJfdCcKKyAgICBmb3JtYXRfdW5pdCA9ICciIF9QeV9QQVJTRV9JTlRQVFIgIicKKworY2xhc3MgUHlfb2ZmX3RfY29udmVydGVyKENDb252ZXJ0ZXIpOgorICAgIHR5cGUgPSAnUHlfb2ZmX3QnCisgICAgY29udmVydGVyID0gJ1B5X29mZl90X2NvbnZlcnRlcicKKworY2xhc3MgUHlfb2ZmX3RfcmV0dXJuX2NvbnZlcnRlcihsb25nX3JldHVybl9jb252ZXJ0ZXIpOgorICAgIHR5cGUgPSAnUHlfb2ZmX3QnCisgICAgY29udmVyc2lvbl9mbiA9ICdQeUxvbmdfRnJvbVB5X29mZl90JworCitjbGFzcyBwYXRoX2NvbmZuYW1lX2NvbnZlcnRlcihDQ29udmVydGVyKToKKyAgICB0eXBlPSJpbnQiCisgICAgY29udmVydGVyPSJjb252X3BhdGhfY29uZm5hbWUiCisKK2NsYXNzIGNvbmZzdHJfY29uZm5hbWVfY29udmVydGVyKHBhdGhfY29uZm5hbWVfY29udmVydGVyKToKKyAgICBjb252ZXJ0ZXI9J2NvbnZfY29uZnN0cl9jb25mbmFtZScKKworY2xhc3Mgc3lzY29uZl9jb25mbmFtZV9jb252ZXJ0ZXIocGF0aF9jb25mbmFtZV9jb252ZXJ0ZXIpOgorICAgIGNvbnZlcnRlcj0iY29udl9zeXNjb25mX2NvbmZuYW1lIgorCitjbGFzcyBzY2hlZF9wYXJhbV9jb252ZXJ0ZXIoQ0NvbnZlcnRlcik6CisgICAgdHlwZSA9ICdzdHJ1Y3Qgc2NoZWRfcGFyYW0nCisgICAgY29udmVydGVyID0gJ2NvbnZlcnRfc2NoZWRfcGFyYW0nCisgICAgaW1wbF9ieV9yZWZlcmVuY2UgPSBUcnVlOwogCiBbcHl0aG9uIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCi0vKltweXRob24gZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ZGEzOWEzZWU1ZTZiNGIwZCBpbnB1dD01YzlmNDU2ZjUzMjQ0ZmMzXSovCisvKltweXRob24gZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ZGEzOWEzZWU1ZTZiNGIwZCBpbnB1dD1hZmZlNjgzMTZmMTYwNDAxXSovCiAKIC8qW2NsaW5pYyBpbnB1dF0KIApAQCAtMjQ0NSw3ICsyNDY4LDcgQEAKIAogICAgICoKIAotICAgIGRpcl9mZCA6IGRpcl9mZCA9IE5vbmUKKyAgICBkaXJfZmQgOiBkaXJfZmQocmVxdWlyZXM9J2ZzdGF0YXQnKSA9IE5vbmUKICAgICAgICAgSWYgbm90IE5vbmUsIGl0IHNob3VsZCBiZSBhIGZpbGUgZGVzY3JpcHRvciBvcGVuIHRvIGEgZGlyZWN0b3J5LAogICAgICAgICBhbmQgcGF0aCBzaG91bGQgYmUgYSByZWxhdGl2ZSBzdHJpbmc7IHBhdGggd2lsbCB0aGVuIGJlIHJlbGF0aXZlIHRvCiAgICAgICAgIHRoYXQgZGlyZWN0b3J5LgpAQCAtMjUwMSwxMyArMjUyNCwxMyBAQAogewogICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOwogICAgIHN0YXRpYyBjaGFyICpfa2V5d29yZHNbXSA9IHsicGF0aCIsICJkaXJfZmQiLCAiZm9sbG93X3N5bWxpbmtzIiwgTlVMTH07Ci0gICAgcGF0aF90IHBhdGggPSBQQVRIX1RfSU5JVElBTElaRSgic3RhdCIsIDAsIDEpOworICAgIHBhdGhfdCBwYXRoID0gUEFUSF9UX0lOSVRJQUxJWkUoInN0YXQiLCAicGF0aCIsIDAsIDEpOwogICAgIGludCBkaXJfZmQgPSBERUZBVUxUX0RJUl9GRDsKICAgICBpbnQgZm9sbG93X3N5bWxpbmtzID0gMTsKIAogICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywKICAgICAgICAgIk8mfCRPJnA6c3RhdCIsIF9rZXl3b3JkcywKLSAgICAgICAgcGF0aF9jb252ZXJ0ZXIsICZwYXRoLCBPU19TVEFUX0RJUl9GRF9DT05WRVJURVIsICZkaXJfZmQsICZmb2xsb3dfc3ltbGlua3MpKQorICAgICAgICBwYXRoX2NvbnZlcnRlciwgJnBhdGgsIEZTVEFUQVRfRElSX0ZEX0NPTlZFUlRFUiwgJmRpcl9mZCwgJmZvbGxvd19zeW1saW5rcykpCiAgICAgICAgIGdvdG8gZXhpdDsKICAgICByZXR1cm5fdmFsdWUgPSBvc19zdGF0X2ltcGwobW9kdWxlLCAmcGF0aCwgZGlyX2ZkLCBmb2xsb3dfc3ltbGlua3MpOwogCkBAIC0yNTIwLDQ5ICsyNTQzLDc0IEBACiAKIHN0YXRpYyBQeU9iamVjdCAqCiBvc19zdGF0X2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgcGF0aF90ICpwYXRoLCBpbnQgZGlyX2ZkLCBpbnQgZm9sbG93X3N5bWxpbmtzKQotLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWYxZGNhYTVlMjRkYjk4ODIgaW5wdXQ9NWFlMTU1YmQ0NzVmZDIwYV0qLworLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTBlOWY5NTA4ZmEwYzA2MDcgaW5wdXQ9MDk5ZDM1NmMzMDZmYTI0YV0qLwogewogICAgIHJldHVybiBwb3NpeF9kb19zdGF0KCJzdGF0IiwgcGF0aCwgZGlyX2ZkLCBmb2xsb3dfc3ltbGlua3MpOwogfQogCi1QeURvY19TVFJWQVIocG9zaXhfbHN0YXRfX2RvY19fLAotImxzdGF0KHBhdGgsICosIGRpcl9mZD1Ob25lKSAtPiBzdGF0IHJlc3VsdFxuXG5cCi1MaWtlIHN0YXQoKSwgYnV0IGRvIG5vdCBmb2xsb3cgc3ltYm9saWMgbGlua3MuXG5cCi1FcXVpdmFsZW50IHRvIHN0YXQocGF0aCwgZm9sbG93X3N5bWxpbmtzPUZhbHNlKS4iKTsKKworLypbY2xpbmljIGlucHV0XQorb3MubHN0YXQKKworICAgIHBhdGggOiBwYXRoX3QKKworICAgICoKKworICAgIGRpcl9mZCA6IGRpcl9mZChyZXF1aXJlcz0nZnN0YXRhdCcpID0gTm9uZQorCitQZXJmb3JtIGEgc3RhdCBzeXN0ZW0gY2FsbCBvbiB0aGUgZ2l2ZW4gcGF0aCwgd2l0aG91dCBmb2xsb3dpbmcgc3ltYm9saWMgbGlua3MuCisKK0xpa2Ugc3RhdCgpLCBidXQgZG8gbm90IGZvbGxvdyBzeW1ib2xpYyBsaW5rcy4KK0VxdWl2YWxlbnQgdG8gc3RhdChwYXRoLCBmb2xsb3dfc3ltbGlua3M9RmFsc2UpLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3NfbHN0YXRfX2RvY19fLAorImxzdGF0KCRtb2R1bGUsIC8sIHBhdGgsICosIGRpcl9mZD1Ob25lKVxuIgorIi0tXG4iCisiXG4iCisiUGVyZm9ybSBhIHN0YXQgc3lzdGVtIGNhbGwgb24gdGhlIGdpdmVuIHBhdGgsIHdpdGhvdXQgZm9sbG93aW5nIHN5bWJvbGljIGxpbmtzLlxuIgorIlxuIgorIkxpa2Ugc3RhdCgpLCBidXQgZG8gbm90IGZvbGxvdyBzeW1ib2xpYyBsaW5rcy5cbiIKKyJFcXVpdmFsZW50IHRvIHN0YXQocGF0aCwgZm9sbG93X3N5bWxpbmtzPUZhbHNlKS4iKTsKKworI2RlZmluZSBPU19MU1RBVF9NRVRIT0RERUYgICAgXAorICAgIHsibHN0YXQiLCAoUHlDRnVuY3Rpb24pb3NfbHN0YXQsIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBvc19sc3RhdF9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfbHN0YXQoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQotewotICAgIHN0YXRpYyBjaGFyICprZXl3b3Jkc1tdID0geyJwYXRoIiwgImRpcl9mZCIsIE5VTEx9OwotICAgIHBhdGhfdCBwYXRoOwotICAgIGludCBkaXJfZmQgPSBERUZBVUxUX0RJUl9GRDsKLSAgICBpbnQgZm9sbG93X3N5bWxpbmtzID0gMDsKLSAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlOworb3NfbHN0YXRfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBwYXRoX3QgKnBhdGgsIGludCBkaXJfZmQpOwogCi0gICAgbWVtc2V0KCZwYXRoLCAwLCBzaXplb2YocGF0aCkpOwotICAgIHBhdGguZnVuY3Rpb25fbmFtZSA9ICJsc3RhdCI7Ci0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLCAiTyZ8JE8mOmxzdGF0Iiwga2V5d29yZHMsCi0gICAgICAgIHBhdGhfY29udmVydGVyLCAmcGF0aCwKLSNpZmRlZiBIQVZFX0ZTVEFUQVQKLSAgICAgICAgZGlyX2ZkX2NvbnZlcnRlciwgJmRpcl9mZAotI2Vsc2UKLSAgICAgICAgZGlyX2ZkX3VuYXZhaWxhYmxlLCAmZGlyX2ZkCi0jZW5kaWYKLSAgICAgICAgKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgcmV0dXJuX3ZhbHVlID0gcG9zaXhfZG9fc3RhdCgibHN0YXQiLCAmcGF0aCwgZGlyX2ZkLCBmb2xsb3dfc3ltbGlua3MpOworc3RhdGljIFB5T2JqZWN0ICoKK29zX2xzdGF0KFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQoreworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIHN0YXRpYyBjaGFyICpfa2V5d29yZHNbXSA9IHsicGF0aCIsICJkaXJfZmQiLCBOVUxMfTsKKyAgICBwYXRoX3QgcGF0aCA9IFBBVEhfVF9JTklUSUFMSVpFKCJsc3RhdCIsICJwYXRoIiwgMCwgMCk7CisgICAgaW50IGRpcl9mZCA9IERFRkFVTFRfRElSX0ZEOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLAorICAgICAgICAiTyZ8JE8mOmxzdGF0IiwgX2tleXdvcmRzLAorICAgICAgICBwYXRoX2NvbnZlcnRlciwgJnBhdGgsIEZTVEFUQVRfRElSX0ZEX0NPTlZFUlRFUiwgJmRpcl9mZCkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBvc19sc3RhdF9pbXBsKG1vZHVsZSwgJnBhdGgsIGRpcl9mZCk7CisKK2V4aXQ6CisgICAgLyogQ2xlYW51cCBmb3IgcGF0aCAqLwogICAgIHBhdGhfY2xlYW51cCgmcGF0aCk7CisKICAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOwogfQogCitzdGF0aWMgUHlPYmplY3QgKgorb3NfbHN0YXRfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBwYXRoX3QgKnBhdGgsIGludCBkaXJfZmQpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ODU3MDIyNDcyMjRhMmIxYyBpbnB1dD0wYjc0NzQ3NjU5MjdiOTI1XSovCit7CisgICAgaW50IGZvbGxvd19zeW1saW5rcyA9IDA7CisgICAgcmV0dXJuIHBvc2l4X2RvX3N0YXQoImxzdGF0IiwgcGF0aCwgZGlyX2ZkLCBmb2xsb3dfc3ltbGlua3MpOworfQogCi0jaWZkZWYgSEFWRV9GQUNDRVNTQVQKLSAgICAjZGVmaW5lIE9TX0FDQ0VTU19ESVJfRkRfQ09OVkVSVEVSIGRpcl9mZF9jb252ZXJ0ZXIKLSNlbHNlCi0gICAgI2RlZmluZSBPU19BQ0NFU1NfRElSX0ZEX0NPTlZFUlRFUiBkaXJfZmRfdW5hdmFpbGFibGUKLSNlbmRpZgorCiAvKltjbGluaWMgaW5wdXRdCi1vcy5hY2Nlc3MKK29zLmFjY2VzcyAtPiBib29sCiAKICAgICBwYXRoOiBwYXRoX3QoYWxsb3dfZmQ9VHJ1ZSkKICAgICAgICAgUGF0aCB0byBiZSB0ZXN0ZWQ7IGNhbiBiZSBzdHJpbmcsIGJ5dGVzLCBvciBvcGVuLWZpbGUtZGVzY3JpcHRvciBpbnQuCkBAIC0yNTczLDcgKzI2MjEsNyBAQAogCiAgICAgKgogCi0gICAgZGlyX2ZkIDogZGlyX2ZkID0gTm9uZQorICAgIGRpcl9mZCA6IGRpcl9mZChyZXF1aXJlcz0nZmFjY2Vzc2F0JykgPSBOb25lCiAgICAgICAgIElmIG5vdCBOb25lLCBpdCBzaG91bGQgYmUgYSBmaWxlIGRlc2NyaXB0b3Igb3BlbiB0byBhIGRpcmVjdG9yeSwKICAgICAgICAgYW5kIHBhdGggc2hvdWxkIGJlIHJlbGF0aXZlOyBwYXRoIHdpbGwgdGhlbiBiZSByZWxhdGl2ZSB0byB0aGF0CiAgICAgICAgIGRpcmVjdG9yeS4KQEAgLTI2MzUsNyArMjY4Myw3IEBACiAjZGVmaW5lIE9TX0FDQ0VTU19NRVRIT0RERUYgICAgXAogICAgIHsiYWNjZXNzIiwgKFB5Q0Z1bmN0aW9uKW9zX2FjY2VzcywgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIG9zX2FjY2Vzc19fZG9jX199LAogCi1zdGF0aWMgUHlPYmplY3QgKgorc3RhdGljIGludAogb3NfYWNjZXNzX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgcGF0aF90ICpwYXRoLCBpbnQgbW9kZSwgaW50IGRpcl9mZCwgaW50IGVmZmVjdGl2ZV9pZHMsIGludCBmb2xsb3dfc3ltbGlua3MpOwogCiBzdGF0aWMgUHlPYmplY3QgKgpAQCAtMjY0MywxNyArMjY5MSwyMSBAQAogewogICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOwogICAgIHN0YXRpYyBjaGFyICpfa2V5d29yZHNbXSA9IHsicGF0aCIsICJtb2RlIiwgImRpcl9mZCIsICJlZmZlY3RpdmVfaWRzIiwgImZvbGxvd19zeW1saW5rcyIsIE5VTEx9OwotICAgIHBhdGhfdCBwYXRoID0gUEFUSF9UX0lOSVRJQUxJWkUoImFjY2VzcyIsIDAsIDEpOworICAgIHBhdGhfdCBwYXRoID0gUEFUSF9UX0lOSVRJQUxJWkUoImFjY2VzcyIsICJwYXRoIiwgMCwgMSk7CiAgICAgaW50IG1vZGU7CiAgICAgaW50IGRpcl9mZCA9IERFRkFVTFRfRElSX0ZEOwogICAgIGludCBlZmZlY3RpdmVfaWRzID0gMDsKICAgICBpbnQgZm9sbG93X3N5bWxpbmtzID0gMTsKKyAgICBpbnQgX3JldHVybl92YWx1ZTsKIAogICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywKICAgICAgICAgIk8maXwkTyZwcDphY2Nlc3MiLCBfa2V5d29yZHMsCi0gICAgICAgIHBhdGhfY29udmVydGVyLCAmcGF0aCwgJm1vZGUsIE9TX1NUQVRfRElSX0ZEX0NPTlZFUlRFUiwgJmRpcl9mZCwgJmVmZmVjdGl2ZV9pZHMsICZmb2xsb3dfc3ltbGlua3MpKQorICAgICAgICBwYXRoX2NvbnZlcnRlciwgJnBhdGgsICZtb2RlLCBGQUNDRVNTQVRfRElSX0ZEX0NPTlZFUlRFUiwgJmRpcl9mZCwgJmVmZmVjdGl2ZV9pZHMsICZmb2xsb3dfc3ltbGlua3MpKQogICAgICAgICBnb3RvIGV4aXQ7Ci0gICAgcmV0dXJuX3ZhbHVlID0gb3NfYWNjZXNzX2ltcGwobW9kdWxlLCAmcGF0aCwgbW9kZSwgZGlyX2ZkLCBlZmZlY3RpdmVfaWRzLCBmb2xsb3dfc3ltbGlua3MpOworICAgIF9yZXR1cm5fdmFsdWUgPSBvc19hY2Nlc3NfaW1wbChtb2R1bGUsICZwYXRoLCBtb2RlLCBkaXJfZmQsIGVmZmVjdGl2ZV9pZHMsIGZvbGxvd19zeW1saW5rcyk7CisgICAgaWYgKChfcmV0dXJuX3ZhbHVlID09IC0xKSAmJiBQeUVycl9PY2N1cnJlZCgpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gUHlCb29sX0Zyb21Mb25nKChsb25nKV9yZXR1cm5fdmFsdWUpOwogCiBleGl0OgogICAgIC8qIENsZWFudXAgZm9yIHBhdGggKi8KQEAgLTI2NjIsMTEgKzI3MTQsMTEgQEAKICAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOwogfQogCi1zdGF0aWMgUHlPYmplY3QgKgorc3RhdGljIGludAogb3NfYWNjZXNzX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgcGF0aF90ICpwYXRoLCBpbnQgbW9kZSwgaW50IGRpcl9mZCwgaW50IGVmZmVjdGl2ZV9pZHMsIGludCBmb2xsb3dfc3ltbGlua3MpCi0vKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9YTZlZDRmMTUxYmU5ZGYwZiBpbnB1dD0yZTJlNzU5NDM3MWY1YjdlXSovCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ZGZkNDA0NjY2OTA2ZjAxMiBpbnB1dD1iNzVhNzU2Nzk3YWY0NWVjXSovCiB7Ci0gICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgaW50IHJldHVybl92YWx1ZTsKIAogI2lmZGVmIE1TX1dJTkRPV1MKICAgICBEV09SRCBhdHRyOwpAQCAtMjY3NiwxMSArMjcyOCwxMSBAQAogCiAjaWZuZGVmIEhBVkVfRkFDQ0VTU0FUCiAgICAgaWYgKGZvbGxvd19zeW1saW5rc19zcGVjaWZpZWQoImFjY2VzcyIsIGZvbGxvd19zeW1saW5rcykpCi0gICAgICAgIGdvdG8gZXhpdDsKKyAgICAgICAgcmV0dXJuIC0xOwogCiAgICAgaWYgKGVmZmVjdGl2ZV9pZHMpIHsKICAgICAgICAgYXJndW1lbnRfdW5hdmFpbGFibGVfZXJyb3IoImFjY2VzcyIsICJlZmZlY3RpdmVfaWRzIik7Ci0gICAgICAgIGdvdG8gZXhpdDsKKyAgICAgICAgcmV0dXJuIC0xOwogICAgIH0KICNlbmRpZgogCkBAIC0yNzAwLDExICsyNzUyLDEwIEBACiAgICAgICogICAgICogb3IgaXQncyBhIGRpcmVjdG9yeS4KICAgICAgKiAoRGlyZWN0b3JpZXMgY2Fubm90IGJlIHJlYWQtb25seSBvbiBXaW5kb3dzLikKICAgICAqLwotICAgIHJldHVybl92YWx1ZSA9IFB5Qm9vbF9Gcm9tTG9uZygKLSAgICAgICAgKGF0dHIgIT0gSU5WQUxJRF9GSUxFX0FUVFJJQlVURVMpICYmCisgICAgcmV0dXJuX3ZhbHVlID0gKGF0dHIgIT0gSU5WQUxJRF9GSUxFX0FUVFJJQlVURVMpICYmCiAgICAgICAgICAgICAoIShtb2RlICYgMikgfHwKICAgICAgICAgICAgICEoYXR0ciAmIEZJTEVfQVRUUklCVVRFX1JFQURPTkxZKSB8fAotICAgICAgICAgICAgKGF0dHIgJiBGSUxFX0FUVFJJQlVURV9ESVJFQ1RPUlkpKSk7CisgICAgICAgICAgICAoYXR0ciAmIEZJTEVfQVRUUklCVVRFX0RJUkVDVE9SWSkpOwogI2Vsc2UKIAogICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKQEAgLTI3MjMsMTIgKzI3NzQsOSBAQAogI2VuZGlmCiAgICAgICAgIHJlc3VsdCA9IGFjY2VzcyhwYXRoLT5uYXJyb3csIG1vZGUpOwogICAgIFB5X0VORF9BTExPV19USFJFQURTCi0gICAgcmV0dXJuX3ZhbHVlID0gUHlCb29sX0Zyb21Mb25nKCFyZXN1bHQpOworICAgIHJldHVybl92YWx1ZSA9ICFyZXN1bHQ7CiAjZW5kaWYKIAotI2lmbmRlZiBIQVZFX0ZBQ0NFU1NBVAotZXhpdDoKLSNlbmRpZgogICAgIHJldHVybiByZXR1cm5fdmFsdWU7CiB9CiAKQEAgLTI3NDcsNyArMjc5NSw2IEBACiAKIAogI2lmZGVmIEhBVkVfVFRZTkFNRQotCiAvKltjbGluaWMgaW5wdXRdCiBvcy50dHluYW1lIC0+IERlY29kZUZTRGVmYXVsdAogCkBAIC0yODA1LDE3ICsyODUyLDM2IEBACiAgICAgICAgIHBvc2l4X2Vycm9yKCk7CiAgICAgcmV0dXJuIHJldDsKIH0KLSNlbHNlCi0jZGVmaW5lIE9TX1RUWU5BTUVfTUVUSE9EREVGCiAjZW5kaWYKIAogI2lmZGVmIEhBVkVfQ1RFUk1JRAotUHlEb2NfU1RSVkFSKHBvc2l4X2N0ZXJtaWRfX2RvY19fLAotImN0ZXJtaWQoKSAtPiBzdHJpbmdcblxuXAotUmV0dXJuIHRoZSBuYW1lIG9mIHRoZSBjb250cm9sbGluZyB0ZXJtaW5hbCBmb3IgdGhpcyBwcm9jZXNzLiIpOworLypbY2xpbmljIGlucHV0XQorb3MuY3Rlcm1pZAorCitSZXR1cm4gdGhlIG5hbWUgb2YgdGhlIGNvbnRyb2xsaW5nIHRlcm1pbmFsIGZvciB0aGlzIHByb2Nlc3MuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19jdGVybWlkX19kb2NfXywKKyJjdGVybWlkKCRtb2R1bGUsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gdGhlIG5hbWUgb2YgdGhlIGNvbnRyb2xsaW5nIHRlcm1pbmFsIGZvciB0aGlzIHByb2Nlc3MuIik7CisKKyNkZWZpbmUgT1NfQ1RFUk1JRF9NRVRIT0RERUYgICAgXAorICAgIHsiY3Rlcm1pZCIsIChQeUNGdW5jdGlvbilvc19jdGVybWlkLCBNRVRIX05PQVJHUywgb3NfY3Rlcm1pZF9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfY3Rlcm1pZChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKm5vYXJncykKK29zX2N0ZXJtaWRfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX2N0ZXJtaWQoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKlB5X1VOVVNFRChpZ25vcmVkKSkKK3sKKyAgICByZXR1cm4gb3NfY3Rlcm1pZF9pbXBsKG1vZHVsZSk7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19jdGVybWlkX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD0yNzdiZjc5NjRlYzJkNzgyIGlucHV0PTNiODdmZGQ1MjU1NjM4MmRdKi8KIHsKICAgICBjaGFyICpyZXQ7CiAgICAgY2hhciBidWZmZXJbTF9jdGVybWlkXTsKQEAgLTI4MjksMTA2ICsyODk1LDIzNCBAQAogICAgICAgICByZXR1cm4gcG9zaXhfZXJyb3IoKTsKICAgICByZXR1cm4gUHlVbmljb2RlX0RlY29kZUZTRGVmYXVsdChidWZmZXIpOwogfQotI2VuZGlmCisjZW5kaWYgLyogSEFWRV9DVEVSTUlEICovCiAKLVB5RG9jX1NUUlZBUihwb3NpeF9jaGRpcl9fZG9jX18sCi0iY2hkaXIocGF0aClcblxuXAotQ2hhbmdlIHRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5IHRvIHRoZSBzcGVjaWZpZWQgcGF0aC5cblwKLVxuXAotcGF0aCBtYXkgYWx3YXlzIGJlIHNwZWNpZmllZCBhcyBhIHN0cmluZy5cblwKLU9uIHNvbWUgcGxhdGZvcm1zLCBwYXRoIG1heSBhbHNvIGJlIHNwZWNpZmllZCBhcyBhbiBvcGVuIGZpbGUgZGVzY3JpcHRvci5cblwKLSAgSWYgdGhpcyBmdW5jdGlvbmFsaXR5IGlzIHVuYXZhaWxhYmxlLCB1c2luZyBpdCByYWlzZXMgYW4gZXhjZXB0aW9uLiIpOworCisvKltjbGluaWMgaW5wdXRdCitvcy5jaGRpcgorCisgICAgcGF0aDogcGF0aF90KGFsbG93X2ZkPSdQQVRIX0hBVkVfRkNIRElSJykKKworQ2hhbmdlIHRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5IHRvIHRoZSBzcGVjaWZpZWQgcGF0aC4KKworcGF0aCBtYXkgYWx3YXlzIGJlIHNwZWNpZmllZCBhcyBhIHN0cmluZy4KK09uIHNvbWUgcGxhdGZvcm1zLCBwYXRoIG1heSBhbHNvIGJlIHNwZWNpZmllZCBhcyBhbiBvcGVuIGZpbGUgZGVzY3JpcHRvci4KKyAgSWYgdGhpcyBmdW5jdGlvbmFsaXR5IGlzIHVuYXZhaWxhYmxlLCB1c2luZyBpdCByYWlzZXMgYW4gZXhjZXB0aW9uLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3NfY2hkaXJfX2RvY19fLAorImNoZGlyKCRtb2R1bGUsIC8sIHBhdGgpXG4iCisiLS1cbiIKKyJcbiIKKyJDaGFuZ2UgdGhlIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkgdG8gdGhlIHNwZWNpZmllZCBwYXRoLlxuIgorIlxuIgorInBhdGggbWF5IGFsd2F5cyBiZSBzcGVjaWZpZWQgYXMgYSBzdHJpbmcuXG4iCisiT24gc29tZSBwbGF0Zm9ybXMsIHBhdGggbWF5IGFsc28gYmUgc3BlY2lmaWVkIGFzIGFuIG9wZW4gZmlsZSBkZXNjcmlwdG9yLlxuIgorIiAgSWYgdGhpcyBmdW5jdGlvbmFsaXR5IGlzIHVuYXZhaWxhYmxlLCB1c2luZyBpdCByYWlzZXMgYW4gZXhjZXB0aW9uLiIpOworCisjZGVmaW5lIE9TX0NIRElSX01FVEhPRERFRiAgICBcCisgICAgeyJjaGRpciIsIChQeUNGdW5jdGlvbilvc19jaGRpciwgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIG9zX2NoZGlyX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9jaGRpcihQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCi17Ci0gICAgcGF0aF90IHBhdGg7Ci0gICAgaW50IHJlc3VsdDsKLSAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKLSAgICBzdGF0aWMgY2hhciAqa2V5d29yZHNbXSA9IHsicGF0aCIsIE5VTEx9Oworb3NfY2hkaXJfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBwYXRoX3QgKnBhdGgpOwogCi0gICAgbWVtc2V0KCZwYXRoLCAwLCBzaXplb2YocGF0aCkpOwotICAgIHBhdGguZnVuY3Rpb25fbmFtZSA9ICJjaGRpciI7Ci0jaWZkZWYgSEFWRV9GQ0hESVIKLSAgICBwYXRoLmFsbG93X2ZkID0gMTsKLSNlbmRpZgotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywgIk8mOmNoZGlyIiwga2V5d29yZHMsCi0gICAgICAgIHBhdGhfY29udmVydGVyLCAmcGF0aAotICAgICAgICApKQotICAgICAgICByZXR1cm4gTlVMTDsKK3N0YXRpYyBQeU9iamVjdCAqCitvc19jaGRpcihQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKK3sKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBzdGF0aWMgY2hhciAqX2tleXdvcmRzW10gPSB7InBhdGgiLCBOVUxMfTsKKyAgICBwYXRoX3QgcGF0aCA9IFBBVEhfVF9JTklUSUFMSVpFKCJjaGRpciIsICJwYXRoIiwgMCwgUEFUSF9IQVZFX0ZDSERJUik7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsCisgICAgICAgICJPJjpjaGRpciIsIF9rZXl3b3JkcywKKyAgICAgICAgcGF0aF9jb252ZXJ0ZXIsICZwYXRoKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IG9zX2NoZGlyX2ltcGwobW9kdWxlLCAmcGF0aCk7CisKK2V4aXQ6CisgICAgLyogQ2xlYW51cCBmb3IgcGF0aCAqLworICAgIHBhdGhfY2xlYW51cCgmcGF0aCk7CisKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3NfY2hkaXJfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBwYXRoX3QgKnBhdGgpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9Y2MwNzU5MmRkMjNjYTllMCBpbnB1dD0xYTRhMTViNGQxMmNiMTVkXSovCit7CisgICAgaW50IHJlc3VsdDsKIAogICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKICNpZmRlZiBNU19XSU5ET1dTCi0gICAgaWYgKHBhdGgud2lkZSkKLSAgICAgICAgcmVzdWx0ID0gd2luMzJfd2NoZGlyKHBhdGgud2lkZSk7CisgICAgaWYgKHBhdGgtPndpZGUpCisgICAgICAgIHJlc3VsdCA9IHdpbjMyX3djaGRpcihwYXRoLT53aWRlKTsKICAgICBlbHNlCi0gICAgICAgIHJlc3VsdCA9IHdpbjMyX2NoZGlyKHBhdGgubmFycm93KTsKKyAgICAgICAgcmVzdWx0ID0gd2luMzJfY2hkaXIocGF0aC0+bmFycm93KTsKICAgICByZXN1bHQgPSAhcmVzdWx0OyAvKiBvbiB1bml4LCBzdWNjZXNzID0gMCwgb24gd2luZG93cywgc3VjY2VzcyA9ICEwICovCiAjZWxzZQogI2lmZGVmIEhBVkVfRkNIRElSCi0gICAgaWYgKHBhdGguZmQgIT0gLTEpCi0gICAgICAgIHJlc3VsdCA9IGZjaGRpcihwYXRoLmZkKTsKKyAgICBpZiAocGF0aC0+ZmQgIT0gLTEpCisgICAgICAgIHJlc3VsdCA9IGZjaGRpcihwYXRoLT5mZCk7CiAgICAgZWxzZQogI2VuZGlmCi0gICAgICAgIHJlc3VsdCA9IGNoZGlyKHBhdGgubmFycm93KTsKKyAgICAgICAgcmVzdWx0ID0gY2hkaXIocGF0aC0+bmFycm93KTsKICNlbmRpZgogICAgIFB5X0VORF9BTExPV19USFJFQURTCiAKICAgICBpZiAocmVzdWx0KSB7Ci0gICAgICAgIHJldHVybl92YWx1ZSA9IHBhdGhfZXJyb3IoJnBhdGgpOwotICAgICAgICBnb3RvIGV4aXQ7CisgICAgICAgIHJldHVybiBwYXRoX2Vycm9yKHBhdGgpOwogICAgIH0KIAotICAgIHJldHVybl92YWx1ZSA9IFB5X05vbmU7Ci0gICAgUHlfSU5DUkVGKFB5X05vbmUpOworICAgIFB5X1JFVFVSTl9OT05FOworfQorCisKKyNpZmRlZiBIQVZFX0ZDSERJUgorLypbY2xpbmljIGlucHV0XQorb3MuZmNoZGlyCisKKyAgICBmZDogZmlsZGVzCisKK0NoYW5nZSB0byB0aGUgZGlyZWN0b3J5IG9mIHRoZSBnaXZlbiBmaWxlIGRlc2NyaXB0b3IuCisKK2ZkIG11c3QgYmUgb3BlbmVkIG9uIGEgZGlyZWN0b3J5LCBub3QgYSBmaWxlLgorRXF1aXZhbGVudCB0byBvcy5jaGRpcihmZCkuCisKK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX2ZjaGRpcl9fZG9jX18sCisiZmNoZGlyKCRtb2R1bGUsIC8sIGZkKVxuIgorIi0tXG4iCisiXG4iCisiQ2hhbmdlIHRvIHRoZSBkaXJlY3Rvcnkgb2YgdGhlIGdpdmVuIGZpbGUgZGVzY3JpcHRvci5cbiIKKyJcbiIKKyJmZCBtdXN0IGJlIG9wZW5lZCBvbiBhIGRpcmVjdG9yeSwgbm90IGEgZmlsZS5cbiIKKyJFcXVpdmFsZW50IHRvIG9zLmNoZGlyKGZkKS4iKTsKKworI2RlZmluZSBPU19GQ0hESVJfTUVUSE9EREVGICAgIFwKKyAgICB7ImZjaGRpciIsIChQeUNGdW5jdGlvbilvc19mY2hkaXIsIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBvc19mY2hkaXJfX2RvY19ffSwKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX2ZjaGRpcl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCBmZCk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19mY2hkaXIoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCit7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgc3RhdGljIGNoYXIgKl9rZXl3b3Jkc1tdID0geyJmZCIsIE5VTEx9OworICAgIGludCBmZDsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywKKyAgICAgICAgIk8mOmZjaGRpciIsIF9rZXl3b3JkcywKKyAgICAgICAgZmlsZGVzX2NvbnZlcnRlciwgJmZkKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IG9zX2ZjaGRpcl9pbXBsKG1vZHVsZSwgZmQpOwogCiBleGl0OgotICAgIHBhdGhfY2xlYW51cCgmcGF0aCk7CiAgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKIH0KIAotI2lmZGVmIEhBVkVfRkNIRElSCi1QeURvY19TVFJWQVIocG9zaXhfZmNoZGlyX19kb2NfXywKLSJmY2hkaXIoZmQpXG5cblwKLUNoYW5nZSB0byB0aGUgZGlyZWN0b3J5IG9mIHRoZSBnaXZlbiBmaWxlIGRlc2NyaXB0b3IuICBmZCBtdXN0IGJlXG5cCi1vcGVuZWQgb24gYSBkaXJlY3RvcnksIG5vdCBhIGZpbGUuICBFcXVpdmFsZW50IHRvIG9zLmNoZGlyKGZkKS4iKTsKLQogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X2ZjaGRpcihQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmZkb2JqKQorb3NfZmNoZGlyX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IGZkKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTlmNmRiYzg5YjI3Nzg4MzQgaW5wdXQ9MThlODE2NDc5YTJmYTk4NV0qLwogewotICAgIHJldHVybiBwb3NpeF9maWxkZXMoZmRvYmosIGZjaGRpcik7CisgICAgcmV0dXJuIHBvc2l4X2ZpbGRlc19mZChmZCwgZmNoZGlyKTsKIH0KICNlbmRpZiAvKiBIQVZFX0ZDSERJUiAqLwogCiAKLVB5RG9jX1NUUlZBUihwb3NpeF9jaG1vZF9fZG9jX18sCi0iY2htb2QocGF0aCwgbW9kZSwgKiwgZGlyX2ZkPU5vbmUsIGZvbGxvd19zeW1saW5rcz1UcnVlKVxuXG5cCi1DaGFuZ2UgdGhlIGFjY2VzcyBwZXJtaXNzaW9ucyBvZiBhIGZpbGUuXG5cCi1cblwKLXBhdGggbWF5IGFsd2F5cyBiZSBzcGVjaWZpZWQgYXMgYSBzdHJpbmcuXG5cCi1PbiBzb21lIHBsYXRmb3JtcywgcGF0aCBtYXkgYWxzbyBiZSBzcGVjaWZpZWQgYXMgYW4gb3BlbiBmaWxlIGRlc2NyaXB0b3IuXG5cCi0gIElmIHRoaXMgZnVuY3Rpb25hbGl0eSBpcyB1bmF2YWlsYWJsZSwgdXNpbmcgaXQgcmFpc2VzIGFuIGV4Y2VwdGlvbi5cblwKLUlmIGRpcl9mZCBpcyBub3QgTm9uZSwgaXQgc2hvdWxkIGJlIGEgZmlsZSBkZXNjcmlwdG9yIG9wZW4gdG8gYSBkaXJlY3RvcnksXG5cCi0gIGFuZCBwYXRoIHNob3VsZCBiZSByZWxhdGl2ZTsgcGF0aCB3aWxsIHRoZW4gYmUgcmVsYXRpdmUgdG8gdGhhdCBkaXJlY3RvcnkuXG5cCi1JZiBmb2xsb3dfc3ltbGlua3MgaXMgRmFsc2UsIGFuZCB0aGUgbGFzdCBlbGVtZW50IG9mIHRoZSBwYXRoIGlzIGEgc3ltYm9saWNcblwKLSAgbGluaywgY2htb2Qgd2lsbCBtb2RpZnkgdGhlIHN5bWJvbGljIGxpbmsgaXRzZWxmIGluc3RlYWQgb2YgdGhlIGZpbGUgdGhlXG5cCi0gIGxpbmsgcG9pbnRzIHRvLlxuXAotSXQgaXMgYW4gZXJyb3IgdG8gdXNlIGRpcl9mZCBvciBmb2xsb3dfc3ltbGlua3Mgd2hlbiBzcGVjaWZ5aW5nIHBhdGggYXNcblwKLSAgYW4gb3BlbiBmaWxlIGRlc2NyaXB0b3IuXG5cCi1kaXJfZmQgYW5kIGZvbGxvd19zeW1saW5rcyBtYXkgbm90IGJlIGltcGxlbWVudGVkIG9uIHlvdXIgcGxhdGZvcm0uXG5cCi0gIElmIHRoZXkgYXJlIHVuYXZhaWxhYmxlLCB1c2luZyB0aGVtIHdpbGwgcmFpc2UgYSBOb3RJbXBsZW1lbnRlZEVycm9yLiIpOworLypbY2xpbmljIGlucHV0XQorb3MuY2htb2QKKworICAgIHBhdGg6IHBhdGhfdChhbGxvd19mZD0nUEFUSF9IQVZFX0ZDSE1PRCcpCisgICAgICAgIFBhdGggdG8gYmUgbW9kaWZpZWQuICBNYXkgYWx3YXlzIGJlIHNwZWNpZmllZCBhcyBhIHN0ciBvciBieXRlcy4KKyAgICAgICAgT24gc29tZSBwbGF0Zm9ybXMsIHBhdGggbWF5IGFsc28gYmUgc3BlY2lmaWVkIGFzIGFuIG9wZW4gZmlsZSBkZXNjcmlwdG9yLgorICAgICAgICBJZiB0aGlzIGZ1bmN0aW9uYWxpdHkgaXMgdW5hdmFpbGFibGUsIHVzaW5nIGl0IHJhaXNlcyBhbiBleGNlcHRpb24uCisKKyAgICBtb2RlOiBpbnQKKyAgICAgICAgT3BlcmF0aW5nLXN5c3RlbSBtb2RlIGJpdGZpZWxkLgorCisgICAgKgorCisgICAgZGlyX2ZkIDogZGlyX2ZkKHJlcXVpcmVzPSdmY2htb2RhdCcpID0gTm9uZQorICAgICAgICBJZiBub3QgTm9uZSwgaXQgc2hvdWxkIGJlIGEgZmlsZSBkZXNjcmlwdG9yIG9wZW4gdG8gYSBkaXJlY3RvcnksCisgICAgICAgIGFuZCBwYXRoIHNob3VsZCBiZSByZWxhdGl2ZTsgcGF0aCB3aWxsIHRoZW4gYmUgcmVsYXRpdmUgdG8gdGhhdAorICAgICAgICBkaXJlY3RvcnkuCisKKyAgICBmb2xsb3dfc3ltbGlua3M6IGJvb2wgPSBUcnVlCisgICAgICAgIElmIEZhbHNlLCBhbmQgdGhlIGxhc3QgZWxlbWVudCBvZiB0aGUgcGF0aCBpcyBhIHN5bWJvbGljIGxpbmssCisgICAgICAgIGNobW9kIHdpbGwgbW9kaWZ5IHRoZSBzeW1ib2xpYyBsaW5rIGl0c2VsZiBpbnN0ZWFkIG9mIHRoZSBmaWxlCisgICAgICAgIHRoZSBsaW5rIHBvaW50cyB0by4KKworQ2hhbmdlIHRoZSBhY2Nlc3MgcGVybWlzc2lvbnMgb2YgYSBmaWxlLgorCitJdCBpcyBhbiBlcnJvciB0byB1c2UgZGlyX2ZkIG9yIGZvbGxvd19zeW1saW5rcyB3aGVuIHNwZWNpZnlpbmcgcGF0aCBhcworICBhbiBvcGVuIGZpbGUgZGVzY3JpcHRvci4KK2Rpcl9mZCBhbmQgZm9sbG93X3N5bWxpbmtzIG1heSBub3QgYmUgaW1wbGVtZW50ZWQgb24geW91ciBwbGF0Zm9ybS4KKyAgSWYgdGhleSBhcmUgdW5hdmFpbGFibGUsIHVzaW5nIHRoZW0gd2lsbCByYWlzZSBhIE5vdEltcGxlbWVudGVkRXJyb3IuCisKK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX2NobW9kX19kb2NfXywKKyJjaG1vZCgkbW9kdWxlLCAvLCBwYXRoLCBtb2RlLCAqLCBkaXJfZmQ9Tm9uZSwgZm9sbG93X3N5bWxpbmtzPVRydWUpXG4iCisiLS1cbiIKKyJcbiIKKyJDaGFuZ2UgdGhlIGFjY2VzcyBwZXJtaXNzaW9ucyBvZiBhIGZpbGUuXG4iCisiXG4iCisiICBwYXRoXG4iCisiICAgIFBhdGggdG8gYmUgbW9kaWZpZWQuICBNYXkgYWx3YXlzIGJlIHNwZWNpZmllZCBhcyBhIHN0ciBvciBieXRlcy5cbiIKKyIgICAgT24gc29tZSBwbGF0Zm9ybXMsIHBhdGggbWF5IGFsc28gYmUgc3BlY2lmaWVkIGFzIGFuIG9wZW4gZmlsZSBkZXNjcmlwdG9yLlxuIgorIiAgICBJZiB0aGlzIGZ1bmN0aW9uYWxpdHkgaXMgdW5hdmFpbGFibGUsIHVzaW5nIGl0IHJhaXNlcyBhbiBleGNlcHRpb24uXG4iCisiICBtb2RlXG4iCisiICAgIE9wZXJhdGluZy1zeXN0ZW0gbW9kZSBiaXRmaWVsZC5cbiIKKyIgIGRpcl9mZFxuIgorIiAgICBJZiBub3QgTm9uZSwgaXQgc2hvdWxkIGJlIGEgZmlsZSBkZXNjcmlwdG9yIG9wZW4gdG8gYSBkaXJlY3RvcnksXG4iCisiICAgIGFuZCBwYXRoIHNob3VsZCBiZSByZWxhdGl2ZTsgcGF0aCB3aWxsIHRoZW4gYmUgcmVsYXRpdmUgdG8gdGhhdFxuIgorIiAgICBkaXJlY3RvcnkuXG4iCisiICBmb2xsb3dfc3ltbGlua3NcbiIKKyIgICAgSWYgRmFsc2UsIGFuZCB0aGUgbGFzdCBlbGVtZW50IG9mIHRoZSBwYXRoIGlzIGEgc3ltYm9saWMgbGluayxcbiIKKyIgICAgY2htb2Qgd2lsbCBtb2RpZnkgdGhlIHN5bWJvbGljIGxpbmsgaXRzZWxmIGluc3RlYWQgb2YgdGhlIGZpbGVcbiIKKyIgICAgdGhlIGxpbmsgcG9pbnRzIHRvLlxuIgorIlxuIgorIkl0IGlzIGFuIGVycm9yIHRvIHVzZSBkaXJfZmQgb3IgZm9sbG93X3N5bWxpbmtzIHdoZW4gc3BlY2lmeWluZyBwYXRoIGFzXG4iCisiICBhbiBvcGVuIGZpbGUgZGVzY3JpcHRvci5cbiIKKyJkaXJfZmQgYW5kIGZvbGxvd19zeW1saW5rcyBtYXkgbm90IGJlIGltcGxlbWVudGVkIG9uIHlvdXIgcGxhdGZvcm0uXG4iCisiICBJZiB0aGV5IGFyZSB1bmF2YWlsYWJsZSwgdXNpbmcgdGhlbSB3aWxsIHJhaXNlIGEgTm90SW1wbGVtZW50ZWRFcnJvci4iKTsKKworI2RlZmluZSBPU19DSE1PRF9NRVRIT0RERUYgICAgXAorICAgIHsiY2htb2QiLCAoUHlDRnVuY3Rpb24pb3NfY2htb2QsIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBvc19jaG1vZF9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfY2htb2QoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQorb3NfY2htb2RfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBwYXRoX3QgKnBhdGgsIGludCBtb2RlLCBpbnQgZGlyX2ZkLCBpbnQgZm9sbG93X3N5bWxpbmtzKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX2NobW9kKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQogewotICAgIHBhdGhfdCBwYXRoOworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIHN0YXRpYyBjaGFyICpfa2V5d29yZHNbXSA9IHsicGF0aCIsICJtb2RlIiwgImRpcl9mZCIsICJmb2xsb3dfc3ltbGlua3MiLCBOVUxMfTsKKyAgICBwYXRoX3QgcGF0aCA9IFBBVEhfVF9JTklUSUFMSVpFKCJjaG1vZCIsICJwYXRoIiwgMCwgUEFUSF9IQVZFX0ZDSE1PRCk7CiAgICAgaW50IG1vZGU7CiAgICAgaW50IGRpcl9mZCA9IERFRkFVTFRfRElSX0ZEOwogICAgIGludCBmb2xsb3dfc3ltbGlua3MgPSAxOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLAorICAgICAgICAiTyZpfCRPJnA6Y2htb2QiLCBfa2V5d29yZHMsCisgICAgICAgIHBhdGhfY29udmVydGVyLCAmcGF0aCwgJm1vZGUsIEZDSE1PREFUX0RJUl9GRF9DT05WRVJURVIsICZkaXJfZmQsICZmb2xsb3dfc3ltbGlua3MpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gb3NfY2htb2RfaW1wbChtb2R1bGUsICZwYXRoLCBtb2RlLCBkaXJfZmQsIGZvbGxvd19zeW1saW5rcyk7CisKK2V4aXQ6CisgICAgLyogQ2xlYW51cCBmb3IgcGF0aCAqLworICAgIHBhdGhfY2xlYW51cCgmcGF0aCk7CisKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3NfY2htb2RfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBwYXRoX3QgKnBhdGgsIGludCBtb2RlLCBpbnQgZGlyX2ZkLCBpbnQgZm9sbG93X3N5bWxpbmtzKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTFlOWRiMDMxYWVhNDY0MjIgaW5wdXQ9N2YxNjE4ZTVlMTVjYzE5Nl0qLworewogICAgIGludCByZXN1bHQ7Ci0gICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7Ci0gICAgc3RhdGljIGNoYXIgKmtleXdvcmRzW10gPSB7InBhdGgiLCAibW9kZSIsICJkaXJfZmQiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJmb2xsb3dfc3ltbGlua3MiLCBOVUxMfTsKIAogI2lmZGVmIE1TX1dJTkRPV1MKICAgICBEV09SRCBhdHRyOwpAQCAtMjkzOCwzMyArMzEzMiwxNyBAQAogICAgIGludCBmY2htb2RhdF9ub2ZvbGxvd191bnN1cHBvcnRlZCA9IDA7CiAjZW5kaWYKIAotICAgIG1lbXNldCgmcGF0aCwgMCwgc2l6ZW9mKHBhdGgpKTsKLSAgICBwYXRoLmZ1bmN0aW9uX25hbWUgPSAiY2htb2QiOwotI2lmZGVmIEhBVkVfRkNITU9ECi0gICAgcGF0aC5hbGxvd19mZCA9IDE7Ci0jZW5kaWYKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsICJPJml8JE8mcDpjaG1vZCIsIGtleXdvcmRzLAotICAgICAgICBwYXRoX2NvbnZlcnRlciwgJnBhdGgsCi0gICAgICAgICZtb2RlLAotI2lmZGVmIEhBVkVfRkNITU9EQVQKLSAgICAgICAgZGlyX2ZkX2NvbnZlcnRlciwgJmRpcl9mZCwKLSNlbHNlCi0gICAgICAgIGRpcl9mZF91bmF2YWlsYWJsZSwgJmRpcl9mZCwKLSNlbmRpZgotICAgICAgICAmZm9sbG93X3N5bWxpbmtzKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0KICNpZiAhKGRlZmluZWQoSEFWRV9GQ0hNT0RBVCkgfHwgZGVmaW5lZChIQVZFX0xDSE1PRCkpCiAgICAgaWYgKGZvbGxvd19zeW1saW5rc19zcGVjaWZpZWQoImNobW9kIiwgZm9sbG93X3N5bWxpbmtzKSkKLSAgICAgICAgZ290byBleGl0OworICAgICAgICByZXR1cm4gTlVMTDsKICNlbmRpZgogCiAjaWZkZWYgTVNfV0lORE9XUwogICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKLSAgICBpZiAocGF0aC53aWRlKQotICAgICAgICBhdHRyID0gR2V0RmlsZUF0dHJpYnV0ZXNXKHBhdGgud2lkZSk7CisgICAgaWYgKHBhdGgtPndpZGUpCisgICAgICAgIGF0dHIgPSBHZXRGaWxlQXR0cmlidXRlc1cocGF0aC0+d2lkZSk7CiAgICAgZWxzZQotICAgICAgICBhdHRyID0gR2V0RmlsZUF0dHJpYnV0ZXNBKHBhdGgubmFycm93KTsKKyAgICAgICAgYXR0ciA9IEdldEZpbGVBdHRyaWJ1dGVzQShwYXRoLT5uYXJyb3cpOwogICAgIGlmIChhdHRyID09IElOVkFMSURfRklMRV9BVFRSSUJVVEVTKQogICAgICAgICByZXN1bHQgPSAwOwogICAgIGVsc2UgewpAQCAtMjk3MiwyNyArMzE1MCwyNiBAQAogICAgICAgICAgICAgYXR0ciAmPSB+RklMRV9BVFRSSUJVVEVfUkVBRE9OTFk7CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIGF0dHIgfD0gRklMRV9BVFRSSUJVVEVfUkVBRE9OTFk7Ci0gICAgICAgIGlmIChwYXRoLndpZGUpCi0gICAgICAgICAgICByZXN1bHQgPSBTZXRGaWxlQXR0cmlidXRlc1cocGF0aC53aWRlLCBhdHRyKTsKKyAgICAgICAgaWYgKHBhdGgtPndpZGUpCisgICAgICAgICAgICByZXN1bHQgPSBTZXRGaWxlQXR0cmlidXRlc1cocGF0aC0+d2lkZSwgYXR0cik7CiAgICAgICAgIGVsc2UKLSAgICAgICAgICAgIHJlc3VsdCA9IFNldEZpbGVBdHRyaWJ1dGVzQShwYXRoLm5hcnJvdywgYXR0cik7CisgICAgICAgICAgICByZXN1bHQgPSBTZXRGaWxlQXR0cmlidXRlc0EocGF0aC0+bmFycm93LCBhdHRyKTsKICAgICB9CiAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKIAogICAgIGlmICghcmVzdWx0KSB7Ci0gICAgICAgIHJldHVybl92YWx1ZSA9IHBhdGhfZXJyb3IoJnBhdGgpOwotICAgICAgICBnb3RvIGV4aXQ7CisgICAgICAgIHJldHVybiBwYXRoX2Vycm9yKHBhdGgpOwogICAgIH0KICNlbHNlIC8qIE1TX1dJTkRPV1MgKi8KICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCiAjaWZkZWYgSEFWRV9GQ0hNT0QKLSAgICBpZiAocGF0aC5mZCAhPSAtMSkKLSAgICAgICAgcmVzdWx0ID0gZmNobW9kKHBhdGguZmQsIG1vZGUpOworICAgIGlmIChwYXRoLT5mZCAhPSAtMSkKKyAgICAgICAgcmVzdWx0ID0gZmNobW9kKHBhdGgtPmZkLCBtb2RlKTsKICAgICBlbHNlCiAjZW5kaWYKICNpZmRlZiBIQVZFX0xDSE1PRAogICAgIGlmICgoIWZvbGxvd19zeW1saW5rcykgJiYgKGRpcl9mZCA9PSBERUZBVUxUX0RJUl9GRCkpCi0gICAgICAgIHJlc3VsdCA9IGxjaG1vZChwYXRoLm5hcnJvdywgbW9kZSk7CisgICAgICAgIHJlc3VsdCA9IGxjaG1vZChwYXRoLT5uYXJyb3csIG1vZGUpOwogICAgIGVsc2UKICNlbmRpZgogI2lmZGVmIEhBVkVfRkNITU9EQVQKQEAgLTMwMDcsNyArMzE4NCw3IEBACiAgICAgICAgICAqIHN1cHBvcnQgZGlyX2ZkIGFuZCBmb2xsb3dfc3ltbGlua3M9RmFsc2UuICAoSG9wZWZ1bGx5LikKICAgICAgICAgICogVW50aWwgdGhlbiwgd2UgbmVlZCB0byBiZSBjYXJlZnVsIHdoYXQgZXhjZXB0aW9uIHdlIHJhaXNlLgogICAgICAgICAgKi8KLSAgICAgICAgcmVzdWx0ID0gZmNobW9kYXQoZGlyX2ZkLCBwYXRoLm5hcnJvdywgbW9kZSwKKyAgICAgICAgcmVzdWx0ID0gZmNobW9kYXQoZGlyX2ZkLCBwYXRoLT5uYXJyb3csIG1vZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbGxvd19zeW1saW5rcyA/IDAgOiBBVF9TWU1MSU5LX05PRk9MTE9XKTsKICAgICAgICAgLyoKICAgICAgICAgICogQnV0IHdhaXQhICBXZSBjYW4ndCB0aHJvdyB0aGUgZXhjZXB0aW9uIHdpdGhvdXQgYWxsb3dpbmcgdGhyZWFkcywKQEAgLTMwMjAsNyArMzE5Nyw3IEBACiAgICAgfQogICAgIGVsc2UKICNlbmRpZgotICAgICAgICByZXN1bHQgPSBjaG1vZChwYXRoLm5hcnJvdywgbW9kZSk7CisgICAgICAgIHJlc3VsdCA9IGNobW9kKHBhdGgtPm5hcnJvdywgbW9kZSk7CiAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKIAogICAgIGlmIChyZXN1bHQpIHsKQEAgLTMwMzQsMjcyICszMjExLDU5OSBAQAogICAgICAgICB9CiAgICAgICAgIGVsc2UKICNlbmRpZgotICAgICAgICAgICAgcmV0dXJuX3ZhbHVlID0gcGF0aF9lcnJvcigmcGF0aCk7Ci0gICAgICAgIGdvdG8gZXhpdDsKKyAgICAgICAgcmV0dXJuIHBhdGhfZXJyb3IocGF0aCk7CiAgICAgfQogI2VuZGlmCiAKLSAgICBQeV9JTkNSRUYoUHlfTm9uZSk7Ci0gICAgcmV0dXJuX3ZhbHVlID0gUHlfTm9uZTsKLWV4aXQ6Ci0gICAgcGF0aF9jbGVhbnVwKCZwYXRoKTsKLSAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworICAgIFB5X1JFVFVSTl9OT05FOwogfQogCiAKICNpZmRlZiBIQVZFX0ZDSE1PRAotUHlEb2NfU1RSVkFSKHBvc2l4X2ZjaG1vZF9fZG9jX18sCi0iZmNobW9kKGZkLCBtb2RlKVxuXG5cCi1DaGFuZ2UgdGhlIGFjY2VzcyBwZXJtaXNzaW9ucyBvZiB0aGUgZmlsZSBnaXZlbiBieSBmaWxlXG5cCi1kZXNjcmlwdG9yIGZkLiAgRXF1aXZhbGVudCB0byBvcy5jaG1vZChmZCwgbW9kZSkuIik7CisvKltjbGluaWMgaW5wdXRdCitvcy5mY2htb2QKKworICAgIGZkOiBpbnQKKyAgICBtb2RlOiBpbnQKKworQ2hhbmdlIHRoZSBhY2Nlc3MgcGVybWlzc2lvbnMgb2YgdGhlIGZpbGUgZ2l2ZW4gYnkgZmlsZSBkZXNjcmlwdG9yIGZkLgorCitFcXVpdmFsZW50IHRvIG9zLmNobW9kKGZkLCBtb2RlKS4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX2ZjaG1vZF9fZG9jX18sCisiZmNobW9kKCRtb2R1bGUsIC8sIGZkLCBtb2RlKVxuIgorIi0tXG4iCisiXG4iCisiQ2hhbmdlIHRoZSBhY2Nlc3MgcGVybWlzc2lvbnMgb2YgdGhlIGZpbGUgZ2l2ZW4gYnkgZmlsZSBkZXNjcmlwdG9yIGZkLlxuIgorIlxuIgorIkVxdWl2YWxlbnQgdG8gb3MuY2htb2QoZmQsIG1vZGUpLiIpOworCisjZGVmaW5lIE9TX0ZDSE1PRF9NRVRIT0RERUYgICAgXAorICAgIHsiZmNobW9kIiwgKFB5Q0Z1bmN0aW9uKW9zX2ZjaG1vZCwgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIG9zX2ZjaG1vZF9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfZmNobW9kKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK29zX2ZjaG1vZF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCBmZCwgaW50IG1vZGUpOworCitzdGF0aWMgUHlPYmplY3QgKgorb3NfZmNobW9kKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQogewotICAgIGludCBmZCwgbW9kZSwgcmVzOwotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiaWk6ZmNobW9kIiwgJmZkLCAmbW9kZSkpCi0gICAgICAgIHJldHVybiBOVUxMOwotICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKLSAgICByZXMgPSBmY2htb2QoZmQsIG1vZGUpOwotICAgIFB5X0VORF9BTExPV19USFJFQURTCi0gICAgaWYgKHJlcyA8IDApCi0gICAgICAgIHJldHVybiBwb3NpeF9lcnJvcigpOworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIHN0YXRpYyBjaGFyICpfa2V5d29yZHNbXSA9IHsiZmQiLCAibW9kZSIsIE5VTEx9OworICAgIGludCBmZDsKKyAgICBpbnQgbW9kZTsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywKKyAgICAgICAgImlpOmZjaG1vZCIsIF9rZXl3b3JkcywKKyAgICAgICAgJmZkLCAmbW9kZSkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBvc19mY2htb2RfaW1wbChtb2R1bGUsIGZkLCBtb2RlKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3NfZmNobW9kX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IGZkLCBpbnQgbW9kZSkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD0zYzE5ZmJmZDcyNGE4ZTBmIGlucHV0PThhYjExOTc1Y2EwMWVlNWJdKi8KK3sKKyAgICBpbnQgcmVzOworICAgIGludCBhc3luY19lcnIgPSAwOworCisgICAgZG8geworICAgICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCisgICAgICAgIHJlcyA9IGZjaG1vZChmZCwgbW9kZSk7CisgICAgICAgIFB5X0VORF9BTExPV19USFJFQURTCisgICAgfSB3aGlsZSAocmVzICE9IDAgJiYgZXJybm8gPT0gRUlOVFIgJiYgIShhc3luY19lcnIgPSBQeUVycl9DaGVja1NpZ25hbHMoKSkpOworICAgIGlmIChyZXMgIT0gMCkKKyAgICAgICAgcmV0dXJuICghYXN5bmNfZXJyKSA/IHBvc2l4X2Vycm9yKCkgOiBOVUxMOworCiAgICAgUHlfUkVUVVJOX05PTkU7CiB9CiAjZW5kaWYgLyogSEFWRV9GQ0hNT0QgKi8KIAorCiAjaWZkZWYgSEFWRV9MQ0hNT0QKLVB5RG9jX1NUUlZBUihwb3NpeF9sY2htb2RfX2RvY19fLAotImxjaG1vZChwYXRoLCBtb2RlKVxuXG5cCi1DaGFuZ2UgdGhlIGFjY2VzcyBwZXJtaXNzaW9ucyBvZiBhIGZpbGUuIElmIHBhdGggaXMgYSBzeW1saW5rLCB0aGlzXG5cCi1hZmZlY3RzIHRoZSBsaW5rIGl0c2VsZiByYXRoZXIgdGhhbiB0aGUgdGFyZ2V0LlxuXAotRXF1aXZhbGVudCB0byBjaG1vZChwYXRoLCBtb2RlLCBmb2xsb3dfc3ltbGlua3M9RmFsc2UpLiIpOworLypbY2xpbmljIGlucHV0XQorb3MubGNobW9kCisKKyAgICBwYXRoOiBwYXRoX3QKKyAgICBtb2RlOiBpbnQKKworQ2hhbmdlIHRoZSBhY2Nlc3MgcGVybWlzc2lvbnMgb2YgYSBmaWxlLCB3aXRob3V0IGZvbGxvd2luZyBzeW1ib2xpYyBsaW5rcy4KKworSWYgcGF0aCBpcyBhIHN5bWxpbmssIHRoaXMgYWZmZWN0cyB0aGUgbGluayBpdHNlbGYgcmF0aGVyIHRoYW4gdGhlIHRhcmdldC4KK0VxdWl2YWxlbnQgdG8gY2htb2QocGF0aCwgbW9kZSwgZm9sbG93X3N5bWxpbmtzPUZhbHNlKS4iCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19sY2htb2RfX2RvY19fLAorImxjaG1vZCgkbW9kdWxlLCAvLCBwYXRoLCBtb2RlKVxuIgorIi0tXG4iCisiXG4iCisiQ2hhbmdlIHRoZSBhY2Nlc3MgcGVybWlzc2lvbnMgb2YgYSBmaWxlLCB3aXRob3V0IGZvbGxvd2luZyBzeW1ib2xpYyBsaW5rcy5cbiIKKyJcbiIKKyJJZiBwYXRoIGlzIGEgc3ltbGluaywgdGhpcyBhZmZlY3RzIHRoZSBsaW5rIGl0c2VsZiByYXRoZXIgdGhhbiB0aGUgdGFyZ2V0LlxuIgorIkVxdWl2YWxlbnQgdG8gY2htb2QocGF0aCwgbW9kZSwgZm9sbG93X3N5bWxpbmtzPUZhbHNlKS5cIiIpOworCisjZGVmaW5lIE9TX0xDSE1PRF9NRVRIT0RERUYgICAgXAorICAgIHsibGNobW9kIiwgKFB5Q0Z1bmN0aW9uKW9zX2xjaG1vZCwgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIG9zX2xjaG1vZF9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfbGNobW9kKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK29zX2xjaG1vZF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIHBhdGhfdCAqcGF0aCwgaW50IG1vZGUpOworCitzdGF0aWMgUHlPYmplY3QgKgorb3NfbGNobW9kKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQogewotICAgIHBhdGhfdCBwYXRoOwotICAgIGludCBpOworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIHN0YXRpYyBjaGFyICpfa2V5d29yZHNbXSA9IHsicGF0aCIsICJtb2RlIiwgTlVMTH07CisgICAgcGF0aF90IHBhdGggPSBQQVRIX1RfSU5JVElBTElaRSgibGNobW9kIiwgInBhdGgiLCAwLCAwKTsKKyAgICBpbnQgbW9kZTsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywKKyAgICAgICAgIk8maTpsY2htb2QiLCBfa2V5d29yZHMsCisgICAgICAgIHBhdGhfY29udmVydGVyLCAmcGF0aCwgJm1vZGUpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gb3NfbGNobW9kX2ltcGwobW9kdWxlLCAmcGF0aCwgbW9kZSk7CisKK2V4aXQ6CisgICAgLyogQ2xlYW51cCBmb3IgcGF0aCAqLworICAgIHBhdGhfY2xlYW51cCgmcGF0aCk7CisKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3NfbGNobW9kX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgcGF0aF90ICpwYXRoLCBpbnQgbW9kZSkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD0yODQ5OTc3ZDY1ZjhjNjhjIGlucHV0PTkwYzU2NjNjNzQ2NWQyNGZdKi8KK3sKICAgICBpbnQgcmVzOwotICAgIG1lbXNldCgmcGF0aCwgMCwgc2l6ZW9mKHBhdGgpKTsKLSAgICBwYXRoLmZ1bmN0aW9uX25hbWUgPSAibGNobW9kIjsKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIk8maTpsY2htb2QiLAotICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRoX2NvbnZlcnRlciwgJnBhdGgsICZpKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwotICAgIHJlcyA9IGxjaG1vZChwYXRoLm5hcnJvdywgaSk7CisgICAgcmVzID0gbGNobW9kKHBhdGgtPm5hcnJvdywgbW9kZSk7CiAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKICAgICBpZiAocmVzIDwgMCkgewotICAgICAgICBwYXRoX2Vycm9yKCZwYXRoKTsKLSAgICAgICAgcGF0aF9jbGVhbnVwKCZwYXRoKTsKKyAgICAgICAgcGF0aF9lcnJvcihwYXRoKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQotICAgIHBhdGhfY2xlYW51cCgmcGF0aCk7CiAgICAgUHlfUkVUVVJOX05PTkU7CiB9CiAjZW5kaWYgLyogSEFWRV9MQ0hNT0QgKi8KIAogCiAjaWZkZWYgSEFWRV9DSEZMQUdTCi1QeURvY19TVFJWQVIocG9zaXhfY2hmbGFnc19fZG9jX18sCi0iY2hmbGFncyhwYXRoLCBmbGFncywgKiwgZm9sbG93X3N5bWxpbmtzPVRydWUpXG5cblwKLVNldCBmaWxlIGZsYWdzLlxuXAotXG5cCi1JZiBmb2xsb3dfc3ltbGlua3MgaXMgRmFsc2UsIGFuZCB0aGUgbGFzdCBlbGVtZW50IG9mIHRoZSBwYXRoIGlzIGEgc3ltYm9saWNcblwKLSAgbGluaywgY2hmbGFncyB3aWxsIGNoYW5nZSBmbGFncyBvbiB0aGUgc3ltYm9saWMgbGluayBpdHNlbGYgaW5zdGVhZCBvZiB0aGVcblwKLSAgZmlsZSB0aGUgbGluayBwb2ludHMgdG8uXG5cCi1mb2xsb3dfc3ltbGlua3MgbWF5IG5vdCBiZSBpbXBsZW1lbnRlZCBvbiB5b3VyIHBsYXRmb3JtLiAgSWYgaXQgaXNcblwKLXVuYXZhaWxhYmxlLCB1c2luZyBpdCB3aWxsIHJhaXNlIGEgTm90SW1wbGVtZW50ZWRFcnJvci4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK29zLmNoZmxhZ3MKKworICAgIHBhdGg6IHBhdGhfdAorICAgIGZsYWdzOiB1bnNpZ25lZF9sb25nKGJpdHdpc2U9VHJ1ZSkKKyAgICBmb2xsb3dfc3ltbGlua3M6IGJvb2w9VHJ1ZQorCitTZXQgZmlsZSBmbGFncy4KKworSWYgZm9sbG93X3N5bWxpbmtzIGlzIEZhbHNlLCBhbmQgdGhlIGxhc3QgZWxlbWVudCBvZiB0aGUgcGF0aCBpcyBhIHN5bWJvbGljCisgIGxpbmssIGNoZmxhZ3Mgd2lsbCBjaGFuZ2UgZmxhZ3Mgb24gdGhlIHN5bWJvbGljIGxpbmsgaXRzZWxmIGluc3RlYWQgb2YgdGhlCisgIGZpbGUgdGhlIGxpbmsgcG9pbnRzIHRvLgorZm9sbG93X3N5bWxpbmtzIG1heSBub3QgYmUgaW1wbGVtZW50ZWQgb24geW91ciBwbGF0Zm9ybS4gIElmIGl0IGlzCit1bmF2YWlsYWJsZSwgdXNpbmcgaXQgd2lsbCByYWlzZSBhIE5vdEltcGxlbWVudGVkRXJyb3IuCisKK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX2NoZmxhZ3NfX2RvY19fLAorImNoZmxhZ3MoJG1vZHVsZSwgLywgcGF0aCwgZmxhZ3MsIGZvbGxvd19zeW1saW5rcz1UcnVlKVxuIgorIi0tXG4iCisiXG4iCisiU2V0IGZpbGUgZmxhZ3MuXG4iCisiXG4iCisiSWYgZm9sbG93X3N5bWxpbmtzIGlzIEZhbHNlLCBhbmQgdGhlIGxhc3QgZWxlbWVudCBvZiB0aGUgcGF0aCBpcyBhIHN5bWJvbGljXG4iCisiICBsaW5rLCBjaGZsYWdzIHdpbGwgY2hhbmdlIGZsYWdzIG9uIHRoZSBzeW1ib2xpYyBsaW5rIGl0c2VsZiBpbnN0ZWFkIG9mIHRoZVxuIgorIiAgZmlsZSB0aGUgbGluayBwb2ludHMgdG8uXG4iCisiZm9sbG93X3N5bWxpbmtzIG1heSBub3QgYmUgaW1wbGVtZW50ZWQgb24geW91ciBwbGF0Zm9ybS4gIElmIGl0IGlzXG4iCisidW5hdmFpbGFibGUsIHVzaW5nIGl0IHdpbGwgcmFpc2UgYSBOb3RJbXBsZW1lbnRlZEVycm9yLiIpOworCisjZGVmaW5lIE9TX0NIRkxBR1NfTUVUSE9EREVGICAgIFwKKyAgICB7ImNoZmxhZ3MiLCAoUHlDRnVuY3Rpb24pb3NfY2hmbGFncywgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIG9zX2NoZmxhZ3NfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X2NoZmxhZ3MoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQorb3NfY2hmbGFnc19pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIHBhdGhfdCAqcGF0aCwgdW5zaWduZWQgbG9uZyBmbGFncywgaW50IGZvbGxvd19zeW1saW5rcyk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19jaGZsYWdzKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQogewotICAgIHBhdGhfdCBwYXRoOworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIHN0YXRpYyBjaGFyICpfa2V5d29yZHNbXSA9IHsicGF0aCIsICJmbGFncyIsICJmb2xsb3dfc3ltbGlua3MiLCBOVUxMfTsKKyAgICBwYXRoX3QgcGF0aCA9IFBBVEhfVF9JTklUSUFMSVpFKCJjaGZsYWdzIiwgInBhdGgiLCAwLCAwKTsKICAgICB1bnNpZ25lZCBsb25nIGZsYWdzOwogICAgIGludCBmb2xsb3dfc3ltbGlua3MgPSAxOwotICAgIGludCByZXN1bHQ7Ci0gICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7Ci0gICAgc3RhdGljIGNoYXIgKmtleXdvcmRzW10gPSB7InBhdGgiLCAiZmxhZ3MiLCAiZm9sbG93X3N5bWxpbmtzIiwgTlVMTH07CiAKLSAgICBtZW1zZXQoJnBhdGgsIDAsIHNpemVvZihwYXRoKSk7Ci0gICAgcGF0aC5mdW5jdGlvbl9uYW1lID0gImNoZmxhZ3MiOwotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywgIk8ma3wkaTpjaGZsYWdzIiwga2V5d29yZHMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIHBhdGhfY29udmVydGVyLCAmcGF0aCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgJmZsYWdzLCAmZm9sbG93X3N5bWxpbmtzKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLAorICAgICAgICAiTyZrfHA6Y2hmbGFncyIsIF9rZXl3b3JkcywKKyAgICAgICAgcGF0aF9jb252ZXJ0ZXIsICZwYXRoLCAmZmxhZ3MsICZmb2xsb3dfc3ltbGlua3MpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gb3NfY2hmbGFnc19pbXBsKG1vZHVsZSwgJnBhdGgsIGZsYWdzLCBmb2xsb3dfc3ltbGlua3MpOworCitleGl0OgorICAgIC8qIENsZWFudXAgZm9yIHBhdGggKi8KKyAgICBwYXRoX2NsZWFudXAoJnBhdGgpOworCisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX2NoZmxhZ3NfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBwYXRoX3QgKnBhdGgsIHVuc2lnbmVkIGxvbmcgZmxhZ3MsIGludCBmb2xsb3dfc3ltbGlua3MpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9Mjc2NzkyN2JmMDcxZTNjZiBpbnB1dD0wMzI3ZTI5ZmViODc2MjM2XSovCit7CisgICAgaW50IHJlc3VsdDsKIAogI2lmbmRlZiBIQVZFX0xDSEZMQUdTCiAgICAgaWYgKGZvbGxvd19zeW1saW5rc19zcGVjaWZpZWQoImNoZmxhZ3MiLCBmb2xsb3dfc3ltbGlua3MpKQotICAgICAgICBnb3RvIGV4aXQ7CisgICAgICAgIHJldHVybiBOVUxMOwogI2VuZGlmCiAKICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCiAjaWZkZWYgSEFWRV9MQ0hGTEFHUwogICAgIGlmICghZm9sbG93X3N5bWxpbmtzKQotICAgICAgICByZXN1bHQgPSBsY2hmbGFncyhwYXRoLm5hcnJvdywgZmxhZ3MpOworICAgICAgICByZXN1bHQgPSBsY2hmbGFncyhwYXRoLT5uYXJyb3csIGZsYWdzKTsKICAgICBlbHNlCiAjZW5kaWYKLSAgICAgICAgcmVzdWx0ID0gY2hmbGFncyhwYXRoLm5hcnJvdywgZmxhZ3MpOworICAgICAgICByZXN1bHQgPSBjaGZsYWdzKHBhdGgtPm5hcnJvdywgZmxhZ3MpOwogICAgIFB5X0VORF9BTExPV19USFJFQURTCiAKLSAgICBpZiAocmVzdWx0KSB7Ci0gICAgICAgIHJldHVybl92YWx1ZSA9IHBhdGhfZXJyb3IoJnBhdGgpOwotICAgICAgICBnb3RvIGV4aXQ7Ci0gICAgfQorICAgIGlmIChyZXN1bHQpCisgICAgICAgIHJldHVybiBwYXRoX2Vycm9yKHBhdGgpOwogCi0gICAgcmV0dXJuX3ZhbHVlID0gUHlfTm9uZTsKLSAgICBQeV9JTkNSRUYoUHlfTm9uZSk7Ci0KLWV4aXQ6Ci0gICAgcGF0aF9jbGVhbnVwKCZwYXRoKTsKLSAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworICAgIFB5X1JFVFVSTl9OT05FOwogfQogI2VuZGlmIC8qIEhBVkVfQ0hGTEFHUyAqLwogCisKICNpZmRlZiBIQVZFX0xDSEZMQUdTCi1QeURvY19TVFJWQVIocG9zaXhfbGNoZmxhZ3NfX2RvY19fLAotImxjaGZsYWdzKHBhdGgsIGZsYWdzKVxuXG5cCi1TZXQgZmlsZSBmbGFncy5cblwKLVRoaXMgZnVuY3Rpb24gd2lsbCBub3QgZm9sbG93IHN5bWJvbGljIGxpbmtzLlxuXAotRXF1aXZhbGVudCB0byBjaGZsYWdzKHBhdGgsIGZsYWdzLCBmb2xsb3dfc3ltbGlua3M9RmFsc2UpLiIpOworLypbY2xpbmljIGlucHV0XQorb3MubGNoZmxhZ3MKKworICAgIHBhdGg6IHBhdGhfdAorICAgIGZsYWdzOiB1bnNpZ25lZF9sb25nKGJpdHdpc2U9VHJ1ZSkKKworU2V0IGZpbGUgZmxhZ3MuCisKK1RoaXMgZnVuY3Rpb24gd2lsbCBub3QgZm9sbG93IHN5bWJvbGljIGxpbmtzLgorRXF1aXZhbGVudCB0byBjaGZsYWdzKHBhdGgsIGZsYWdzLCBmb2xsb3dfc3ltbGlua3M9RmFsc2UpLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3NfbGNoZmxhZ3NfX2RvY19fLAorImxjaGZsYWdzKCRtb2R1bGUsIC8sIHBhdGgsIGZsYWdzKVxuIgorIi0tXG4iCisiXG4iCisiU2V0IGZpbGUgZmxhZ3MuXG4iCisiXG4iCisiVGhpcyBmdW5jdGlvbiB3aWxsIG5vdCBmb2xsb3cgc3ltYm9saWMgbGlua3MuXG4iCisiRXF1aXZhbGVudCB0byBjaGZsYWdzKHBhdGgsIGZsYWdzLCBmb2xsb3dfc3ltbGlua3M9RmFsc2UpLiIpOworCisjZGVmaW5lIE9TX0xDSEZMQUdTX01FVEhPRERFRiAgICBcCisgICAgeyJsY2hmbGFncyIsIChQeUNGdW5jdGlvbilvc19sY2hmbGFncywgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIG9zX2xjaGZsYWdzX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9sY2hmbGFncyhQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitvc19sY2hmbGFnc19pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIHBhdGhfdCAqcGF0aCwgdW5zaWduZWQgbG9uZyBmbGFncyk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19sY2hmbGFncyhQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKIHsKLSAgICBwYXRoX3QgcGF0aDsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBzdGF0aWMgY2hhciAqX2tleXdvcmRzW10gPSB7InBhdGgiLCAiZmxhZ3MiLCBOVUxMfTsKKyAgICBwYXRoX3QgcGF0aCA9IFBBVEhfVF9JTklUSUFMSVpFKCJsY2hmbGFncyIsICJwYXRoIiwgMCwgMCk7CiAgICAgdW5zaWduZWQgbG9uZyBmbGFnczsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywKKyAgICAgICAgIk8mazpsY2hmbGFncyIsIF9rZXl3b3JkcywKKyAgICAgICAgcGF0aF9jb252ZXJ0ZXIsICZwYXRoLCAmZmxhZ3MpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gb3NfbGNoZmxhZ3NfaW1wbChtb2R1bGUsICZwYXRoLCBmbGFncyk7CisKK2V4aXQ6CisgICAgLyogQ2xlYW51cCBmb3IgcGF0aCAqLworICAgIHBhdGhfY2xlYW51cCgmcGF0aCk7CisKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3NfbGNoZmxhZ3NfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBwYXRoX3QgKnBhdGgsIHVuc2lnbmVkIGxvbmcgZmxhZ3MpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9YmI5M2I2YjhhNWU0NWFhNyBpbnB1dD1mOWY4MmVhOGI1ODVjYTlkXSovCit7CiAgICAgaW50IHJlczsKLSAgICBtZW1zZXQoJnBhdGgsIDAsIHNpemVvZihwYXRoKSk7Ci0gICAgcGF0aC5mdW5jdGlvbl9uYW1lID0gImxjaGZsYWdzIjsKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIk8mazpsY2hmbGFncyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIHBhdGhfY29udmVydGVyLCAmcGF0aCwgJmZsYWdzKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwotICAgIHJlcyA9IGxjaGZsYWdzKHBhdGgubmFycm93LCBmbGFncyk7CisgICAgcmVzID0gbGNoZmxhZ3MocGF0aC0+bmFycm93LCBmbGFncyk7CiAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKICAgICBpZiAocmVzIDwgMCkgewotICAgICAgICBwYXRoX2Vycm9yKCZwYXRoKTsKLSAgICAgICAgcGF0aF9jbGVhbnVwKCZwYXRoKTsKLSAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgIHJldHVybiBwYXRoX2Vycm9yKHBhdGgpOwogICAgIH0KLSAgICBwYXRoX2NsZWFudXAoJnBhdGgpOwogICAgIFB5X1JFVFVSTl9OT05FOwogfQogI2VuZGlmIC8qIEhBVkVfTENIRkxBR1MgKi8KIAorCiAjaWZkZWYgSEFWRV9DSFJPT1QKLVB5RG9jX1NUUlZBUihwb3NpeF9jaHJvb3RfX2RvY19fLAotImNocm9vdChwYXRoKVxuXG5cCi1DaGFuZ2Ugcm9vdCBkaXJlY3RvcnkgdG8gcGF0aC4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK29zLmNocm9vdAorICAgIHBhdGg6IHBhdGhfdAorCitDaGFuZ2Ugcm9vdCBkaXJlY3RvcnkgdG8gcGF0aC4KKworW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3NfY2hyb290X19kb2NfXywKKyJjaHJvb3QoJG1vZHVsZSwgLywgcGF0aClcbiIKKyItLVxuIgorIlxuIgorIkNoYW5nZSByb290IGRpcmVjdG9yeSB0byBwYXRoLiIpOworCisjZGVmaW5lIE9TX0NIUk9PVF9NRVRIT0RERUYgICAgXAorICAgIHsiY2hyb290IiwgKFB5Q0Z1bmN0aW9uKW9zX2Nocm9vdCwgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIG9zX2Nocm9vdF9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfY2hyb290KFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK29zX2Nocm9vdF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIHBhdGhfdCAqcGF0aCk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19jaHJvb3QoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCiB7Ci0gICAgcmV0dXJuIHBvc2l4XzFzdHIoImNocm9vdCIsIGFyZ3MsICJPJjpjaHJvb3QiLCBjaHJvb3QpOworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIHN0YXRpYyBjaGFyICpfa2V5d29yZHNbXSA9IHsicGF0aCIsIE5VTEx9OworICAgIHBhdGhfdCBwYXRoID0gUEFUSF9UX0lOSVRJQUxJWkUoImNocm9vdCIsICJwYXRoIiwgMCwgMCk7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsCisgICAgICAgICJPJjpjaHJvb3QiLCBfa2V5d29yZHMsCisgICAgICAgIHBhdGhfY29udmVydGVyLCAmcGF0aCkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBvc19jaHJvb3RfaW1wbChtb2R1bGUsICZwYXRoKTsKKworZXhpdDoKKyAgICAvKiBDbGVhbnVwIGZvciBwYXRoICovCisgICAgcGF0aF9jbGVhbnVwKCZwYXRoKTsKKworICAgIHJldHVybiByZXR1cm5fdmFsdWU7CiB9Ci0jZW5kaWYKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX2Nocm9vdF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIHBhdGhfdCAqcGF0aCkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD0xNWIxMjU2Y2JlNGYyNGExIGlucHV0PTE0ODIyOTY1NjUyYzNkYzNdKi8KK3sKKyAgICBpbnQgcmVzOworICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKKyAgICByZXMgPSBjaHJvb3QocGF0aC0+bmFycm93KTsKKyAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUworICAgIGlmIChyZXMgPCAwKQorICAgICAgICByZXR1cm4gcGF0aF9lcnJvcihwYXRoKTsKKyAgICBQeV9SRVRVUk5fTk9ORTsKK30KKyNlbmRpZiAvKiBIQVZFX0NIUk9PVCAqLworCiAKICNpZmRlZiBIQVZFX0ZTWU5DCi1QeURvY19TVFJWQVIocG9zaXhfZnN5bmNfX2RvY19fLAotImZzeW5jKGZpbGRlcylcblxuXAotZm9yY2Ugd3JpdGUgb2YgZmlsZSB3aXRoIGZpbGVkZXNjcmlwdG9yIHRvIGRpc2suIik7CisvKltjbGluaWMgaW5wdXRdCitvcy5mc3luYworCisgICAgZmQ6IGZpbGRlcworCitGb3JjZSB3cml0ZSBvZiBmZCB0byBkaXNrLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3NfZnN5bmNfX2RvY19fLAorImZzeW5jKCRtb2R1bGUsIC8sIGZkKVxuIgorIi0tXG4iCisiXG4iCisiRm9yY2Ugd3JpdGUgb2YgZmQgdG8gZGlzay4iKTsKKworI2RlZmluZSBPU19GU1lOQ19NRVRIT0RERUYgICAgXAorICAgIHsiZnN5bmMiLCAoUHlDRnVuY3Rpb24pb3NfZnN5bmMsIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBvc19mc3luY19fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfZnN5bmMoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpmZG9iaikKK29zX2ZzeW5jX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IGZkKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX2ZzeW5jKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQogewotICAgIHJldHVybiBwb3NpeF9maWxkZXMoZmRvYmosIGZzeW5jKTsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBzdGF0aWMgY2hhciAqX2tleXdvcmRzW10gPSB7ImZkIiwgTlVMTH07CisgICAgaW50IGZkOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLAorICAgICAgICAiTyY6ZnN5bmMiLCBfa2V5d29yZHMsCisgICAgICAgIGZpbGRlc19jb252ZXJ0ZXIsICZmZCkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBvc19mc3luY19pbXBsKG1vZHVsZSwgZmQpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19mc3luY19pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCBmZCkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD01OWYzMmQzYTBiMzYwMTMzIGlucHV0PTIxYzM2NDVjMDU2OTY3ZjJdKi8KK3sKKyAgICByZXR1cm4gcG9zaXhfZmlsZGVzX2ZkKGZkLCBmc3luYyk7CiB9CiAjZW5kaWYgLyogSEFWRV9GU1lOQyAqLwogCisKICNpZmRlZiBIQVZFX1NZTkMKLVB5RG9jX1NUUlZBUihwb3NpeF9zeW5jX19kb2NfXywKLSJzeW5jKClcblxuXAotRm9yY2Ugd3JpdGUgb2YgZXZlcnl0aGluZyB0byBkaXNrLiIpOworLypbY2xpbmljIGlucHV0XQorb3Muc3luYworCitGb3JjZSB3cml0ZSBvZiBldmVyeXRoaW5nIHRvIGRpc2suCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19zeW5jX19kb2NfXywKKyJzeW5jKCRtb2R1bGUsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJGb3JjZSB3cml0ZSBvZiBldmVyeXRoaW5nIHRvIGRpc2suIik7CisKKyNkZWZpbmUgT1NfU1lOQ19NRVRIT0RERUYgICAgXAorICAgIHsic3luYyIsIChQeUNGdW5jdGlvbilvc19zeW5jLCBNRVRIX05PQVJHUywgb3Nfc3luY19fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfc3luYyhQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKm5vYXJncykKK29zX3N5bmNfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3N5bmMoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKlB5X1VOVVNFRChpZ25vcmVkKSkKK3sKKyAgICByZXR1cm4gb3Nfc3luY19pbXBsKG1vZHVsZSk7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19zeW5jX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD01MjZjNDk1NjgzZDBiYjM4IGlucHV0PTg0NzQ5ZmU1ZTliNDA0ZmZdKi8KIHsKICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCiAgICAgc3luYygpOwogICAgIFB5X0VORF9BTExPV19USFJFQURTCiAgICAgUHlfUkVUVVJOX05PTkU7CiB9Ci0jZW5kaWYKKyNlbmRpZiAvKiBIQVZFX1NZTkMgKi8KKwogCiAjaWZkZWYgSEFWRV9GREFUQVNZTkMKLQogI2lmZGVmIF9faHB1eAogZXh0ZXJuIGludCBmZGF0YXN5bmMoaW50KTsgLyogT24gSFAtVVgsIGluIGxpYmMgYnV0IG5vdCBpbiB1bmlzdGQuaCAqLwogI2VuZGlmCiAKLVB5RG9jX1NUUlZBUihwb3NpeF9mZGF0YXN5bmNfX2RvY19fLAotImZkYXRhc3luYyhmaWxkZXMpXG5cblwKLWZvcmNlIHdyaXRlIG9mIGZpbGUgd2l0aCBmaWxlZGVzY3JpcHRvciB0byBkaXNrLlxuXAotIGRvZXMgbm90IGZvcmNlIHVwZGF0ZSBvZiBtZXRhZGF0YS4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK29zLmZkYXRhc3luYworCisgICAgZmQ6IGZpbGRlcworCitGb3JjZSB3cml0ZSBvZiBmZCB0byBkaXNrIHdpdGhvdXQgZm9yY2luZyB1cGRhdGUgb2YgbWV0YWRhdGEuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19mZGF0YXN5bmNfX2RvY19fLAorImZkYXRhc3luYygkbW9kdWxlLCAvLCBmZClcbiIKKyItLVxuIgorIlxuIgorIkZvcmNlIHdyaXRlIG9mIGZkIHRvIGRpc2sgd2l0aG91dCBmb3JjaW5nIHVwZGF0ZSBvZiBtZXRhZGF0YS4iKTsKKworI2RlZmluZSBPU19GREFUQVNZTkNfTUVUSE9EREVGICAgIFwKKyAgICB7ImZkYXRhc3luYyIsIChQeUNGdW5jdGlvbilvc19mZGF0YXN5bmMsIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBvc19mZGF0YXN5bmNfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X2ZkYXRhc3luYyhQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmZkb2JqKQorb3NfZmRhdGFzeW5jX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IGZkKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX2ZkYXRhc3luYyhQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKIHsKLSAgICByZXR1cm4gcG9zaXhfZmlsZGVzKGZkb2JqLCBmZGF0YXN5bmMpOworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIHN0YXRpYyBjaGFyICpfa2V5d29yZHNbXSA9IHsiZmQiLCBOVUxMfTsKKyAgICBpbnQgZmQ7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsCisgICAgICAgICJPJjpmZGF0YXN5bmMiLCBfa2V5d29yZHMsCisgICAgICAgIGZpbGRlc19jb252ZXJ0ZXIsICZmZCkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBvc19mZGF0YXN5bmNfaW1wbChtb2R1bGUsIGZkKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3NfZmRhdGFzeW5jX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IGZkKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTIzMzVmZGZkMzdjOTIxODAgaW5wdXQ9YmM3NDc5MWVlNTRkZDI5MV0qLworeworICAgIHJldHVybiBwb3NpeF9maWxkZXNfZmQoZmQsIGZkYXRhc3luYyk7CiB9CiAjZW5kaWYgLyogSEFWRV9GREFUQVNZTkMgKi8KIAogCiAjaWZkZWYgSEFWRV9DSE9XTgotUHlEb2NfU1RSVkFSKHBvc2l4X2Nob3duX19kb2NfXywKLSJjaG93bihwYXRoLCB1aWQsIGdpZCwgKiwgZGlyX2ZkPU5vbmUsIGZvbGxvd19zeW1saW5rcz1UcnVlKVxuXG5cCi1DaGFuZ2UgdGhlIG93bmVyIGFuZCBncm91cCBpZCBvZiBwYXRoIHRvIHRoZSBudW1lcmljIHVpZCBhbmQgZ2lkLlxuXAotXG5cCi1wYXRoIG1heSBhbHdheXMgYmUgc3BlY2lmaWVkIGFzIGEgc3RyaW5nLlxuXAotT24gc29tZSBwbGF0Zm9ybXMsIHBhdGggbWF5IGFsc28gYmUgc3BlY2lmaWVkIGFzIGFuIG9wZW4gZmlsZSBkZXNjcmlwdG9yLlxuXAotICBJZiB0aGlzIGZ1bmN0aW9uYWxpdHkgaXMgdW5hdmFpbGFibGUsIHVzaW5nIGl0IHJhaXNlcyBhbiBleGNlcHRpb24uXG5cCi1JZiBkaXJfZmQgaXMgbm90IE5vbmUsIGl0IHNob3VsZCBiZSBhIGZpbGUgZGVzY3JpcHRvciBvcGVuIHRvIGEgZGlyZWN0b3J5LFxuXAotICBhbmQgcGF0aCBzaG91bGQgYmUgcmVsYXRpdmU7IHBhdGggd2lsbCB0aGVuIGJlIHJlbGF0aXZlIHRvIHRoYXQgZGlyZWN0b3J5LlxuXAotSWYgZm9sbG93X3N5bWxpbmtzIGlzIEZhbHNlLCBhbmQgdGhlIGxhc3QgZWxlbWVudCBvZiB0aGUgcGF0aCBpcyBhIHN5bWJvbGljXG5cCi0gIGxpbmssIGNob3duIHdpbGwgbW9kaWZ5IHRoZSBzeW1ib2xpYyBsaW5rIGl0c2VsZiBpbnN0ZWFkIG9mIHRoZSBmaWxlIHRoZVxuXAotICBsaW5rIHBvaW50cyB0by5cblwKLUl0IGlzIGFuIGVycm9yIHRvIHVzZSBkaXJfZmQgb3IgZm9sbG93X3N5bWxpbmtzIHdoZW4gc3BlY2lmeWluZyBwYXRoIGFzXG5cCi0gIGFuIG9wZW4gZmlsZSBkZXNjcmlwdG9yLlxuXAotZGlyX2ZkIGFuZCBmb2xsb3dfc3ltbGlua3MgbWF5IG5vdCBiZSBpbXBsZW1lbnRlZCBvbiB5b3VyIHBsYXRmb3JtLlxuXAotICBJZiB0aGV5IGFyZSB1bmF2YWlsYWJsZSwgdXNpbmcgdGhlbSB3aWxsIHJhaXNlIGEgTm90SW1wbGVtZW50ZWRFcnJvci4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK29zLmNob3duCisKKyAgICBwYXRoIDogcGF0aF90KGFsbG93X2ZkPSdQQVRIX0hBVkVfRkNIT1dOJykKKyAgICAgICAgUGF0aCB0byBiZSBleGFtaW5lZDsgY2FuIGJlIHN0cmluZywgYnl0ZXMsIG9yIG9wZW4tZmlsZS1kZXNjcmlwdG9yIGludC4KKworICAgIHVpZDogdWlkX3QKKworICAgIGdpZDogZ2lkX3QKKworICAgICoKKworICAgIGRpcl9mZCA6IGRpcl9mZChyZXF1aXJlcz0nZmNob3duYXQnKSA9IE5vbmUKKyAgICAgICAgSWYgbm90IE5vbmUsIGl0IHNob3VsZCBiZSBhIGZpbGUgZGVzY3JpcHRvciBvcGVuIHRvIGEgZGlyZWN0b3J5LAorICAgICAgICBhbmQgcGF0aCBzaG91bGQgYmUgcmVsYXRpdmU7IHBhdGggd2lsbCB0aGVuIGJlIHJlbGF0aXZlIHRvIHRoYXQKKyAgICAgICAgZGlyZWN0b3J5LgorCisgICAgZm9sbG93X3N5bWxpbmtzOiBib29sID0gVHJ1ZQorICAgICAgICBJZiBGYWxzZSwgYW5kIHRoZSBsYXN0IGVsZW1lbnQgb2YgdGhlIHBhdGggaXMgYSBzeW1ib2xpYyBsaW5rLAorICAgICAgICBzdGF0IHdpbGwgZXhhbWluZSB0aGUgc3ltYm9saWMgbGluayBpdHNlbGYgaW5zdGVhZCBvZiB0aGUgZmlsZQorICAgICAgICB0aGUgbGluayBwb2ludHMgdG8uCisKK0NoYW5nZSB0aGUgb3duZXIgYW5kIGdyb3VwIGlkIG9mIHBhdGggdG8gdGhlIG51bWVyaWMgdWlkIGFuZCBnaWQuXAorCitwYXRoIG1heSBhbHdheXMgYmUgc3BlY2lmaWVkIGFzIGEgc3RyaW5nLgorT24gc29tZSBwbGF0Zm9ybXMsIHBhdGggbWF5IGFsc28gYmUgc3BlY2lmaWVkIGFzIGFuIG9wZW4gZmlsZSBkZXNjcmlwdG9yLgorICBJZiB0aGlzIGZ1bmN0aW9uYWxpdHkgaXMgdW5hdmFpbGFibGUsIHVzaW5nIGl0IHJhaXNlcyBhbiBleGNlcHRpb24uCitJZiBkaXJfZmQgaXMgbm90IE5vbmUsIGl0IHNob3VsZCBiZSBhIGZpbGUgZGVzY3JpcHRvciBvcGVuIHRvIGEgZGlyZWN0b3J5LAorICBhbmQgcGF0aCBzaG91bGQgYmUgcmVsYXRpdmU7IHBhdGggd2lsbCB0aGVuIGJlIHJlbGF0aXZlIHRvIHRoYXQgZGlyZWN0b3J5LgorSWYgZm9sbG93X3N5bWxpbmtzIGlzIEZhbHNlLCBhbmQgdGhlIGxhc3QgZWxlbWVudCBvZiB0aGUgcGF0aCBpcyBhIHN5bWJvbGljCisgIGxpbmssIGNob3duIHdpbGwgbW9kaWZ5IHRoZSBzeW1ib2xpYyBsaW5rIGl0c2VsZiBpbnN0ZWFkIG9mIHRoZSBmaWxlIHRoZQorICBsaW5rIHBvaW50cyB0by4KK0l0IGlzIGFuIGVycm9yIHRvIHVzZSBkaXJfZmQgb3IgZm9sbG93X3N5bWxpbmtzIHdoZW4gc3BlY2lmeWluZyBwYXRoIGFzCisgIGFuIG9wZW4gZmlsZSBkZXNjcmlwdG9yLgorZGlyX2ZkIGFuZCBmb2xsb3dfc3ltbGlua3MgbWF5IG5vdCBiZSBpbXBsZW1lbnRlZCBvbiB5b3VyIHBsYXRmb3JtLgorICBJZiB0aGV5IGFyZSB1bmF2YWlsYWJsZSwgdXNpbmcgdGhlbSB3aWxsIHJhaXNlIGEgTm90SW1wbGVtZW50ZWRFcnJvci4KKworW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3NfY2hvd25fX2RvY19fLAorImNob3duKCRtb2R1bGUsIC8sIHBhdGgsIHVpZCwgZ2lkLCAqLCBkaXJfZmQ9Tm9uZSwgZm9sbG93X3N5bWxpbmtzPVRydWUpXG4iCisiLS1cbiIKKyJcbiIKKyJDaGFuZ2UgdGhlIG93bmVyIGFuZCBncm91cCBpZCBvZiBwYXRoIHRvIHRoZSBudW1lcmljIHVpZCBhbmQgZ2lkLlxcXG4iCisiXG4iCisiICBwYXRoXG4iCisiICAgIFBhdGggdG8gYmUgZXhhbWluZWQ7IGNhbiBiZSBzdHJpbmcsIGJ5dGVzLCBvciBvcGVuLWZpbGUtZGVzY3JpcHRvciBpbnQuXG4iCisiICBkaXJfZmRcbiIKKyIgICAgSWYgbm90IE5vbmUsIGl0IHNob3VsZCBiZSBhIGZpbGUgZGVzY3JpcHRvciBvcGVuIHRvIGEgZGlyZWN0b3J5LFxuIgorIiAgICBhbmQgcGF0aCBzaG91bGQgYmUgcmVsYXRpdmU7IHBhdGggd2lsbCB0aGVuIGJlIHJlbGF0aXZlIHRvIHRoYXRcbiIKKyIgICAgZGlyZWN0b3J5LlxuIgorIiAgZm9sbG93X3N5bWxpbmtzXG4iCisiICAgIElmIEZhbHNlLCBhbmQgdGhlIGxhc3QgZWxlbWVudCBvZiB0aGUgcGF0aCBpcyBhIHN5bWJvbGljIGxpbmssXG4iCisiICAgIHN0YXQgd2lsbCBleGFtaW5lIHRoZSBzeW1ib2xpYyBsaW5rIGl0c2VsZiBpbnN0ZWFkIG9mIHRoZSBmaWxlXG4iCisiICAgIHRoZSBsaW5rIHBvaW50cyB0by5cbiIKKyJcbiIKKyJwYXRoIG1heSBhbHdheXMgYmUgc3BlY2lmaWVkIGFzIGEgc3RyaW5nLlxuIgorIk9uIHNvbWUgcGxhdGZvcm1zLCBwYXRoIG1heSBhbHNvIGJlIHNwZWNpZmllZCBhcyBhbiBvcGVuIGZpbGUgZGVzY3JpcHRvci5cbiIKKyIgIElmIHRoaXMgZnVuY3Rpb25hbGl0eSBpcyB1bmF2YWlsYWJsZSwgdXNpbmcgaXQgcmFpc2VzIGFuIGV4Y2VwdGlvbi5cbiIKKyJJZiBkaXJfZmQgaXMgbm90IE5vbmUsIGl0IHNob3VsZCBiZSBhIGZpbGUgZGVzY3JpcHRvciBvcGVuIHRvIGEgZGlyZWN0b3J5LFxuIgorIiAgYW5kIHBhdGggc2hvdWxkIGJlIHJlbGF0aXZlOyBwYXRoIHdpbGwgdGhlbiBiZSByZWxhdGl2ZSB0byB0aGF0IGRpcmVjdG9yeS5cbiIKKyJJZiBmb2xsb3dfc3ltbGlua3MgaXMgRmFsc2UsIGFuZCB0aGUgbGFzdCBlbGVtZW50IG9mIHRoZSBwYXRoIGlzIGEgc3ltYm9saWNcbiIKKyIgIGxpbmssIGNob3duIHdpbGwgbW9kaWZ5IHRoZSBzeW1ib2xpYyBsaW5rIGl0c2VsZiBpbnN0ZWFkIG9mIHRoZSBmaWxlIHRoZVxuIgorIiAgbGluayBwb2ludHMgdG8uXG4iCisiSXQgaXMgYW4gZXJyb3IgdG8gdXNlIGRpcl9mZCBvciBmb2xsb3dfc3ltbGlua3Mgd2hlbiBzcGVjaWZ5aW5nIHBhdGggYXNcbiIKKyIgIGFuIG9wZW4gZmlsZSBkZXNjcmlwdG9yLlxuIgorImRpcl9mZCBhbmQgZm9sbG93X3N5bWxpbmtzIG1heSBub3QgYmUgaW1wbGVtZW50ZWQgb24geW91ciBwbGF0Zm9ybS5cbiIKKyIgIElmIHRoZXkgYXJlIHVuYXZhaWxhYmxlLCB1c2luZyB0aGVtIHdpbGwgcmFpc2UgYSBOb3RJbXBsZW1lbnRlZEVycm9yLiIpOworCisjZGVmaW5lIE9TX0NIT1dOX01FVEhPRERFRiAgICBcCisgICAgeyJjaG93biIsIChQeUNGdW5jdGlvbilvc19jaG93biwgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIG9zX2Nob3duX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9jaG93bihQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCitvc19jaG93bl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIHBhdGhfdCAqcGF0aCwgdWlkX3QgdWlkLCBnaWRfdCBnaWQsIGludCBkaXJfZmQsIGludCBmb2xsb3dfc3ltbGlua3MpOworCitzdGF0aWMgUHlPYmplY3QgKgorb3NfY2hvd24oUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCiB7Ci0gICAgcGF0aF90IHBhdGg7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgc3RhdGljIGNoYXIgKl9rZXl3b3Jkc1tdID0geyJwYXRoIiwgInVpZCIsICJnaWQiLCAiZGlyX2ZkIiwgImZvbGxvd19zeW1saW5rcyIsIE5VTEx9OworICAgIHBhdGhfdCBwYXRoID0gUEFUSF9UX0lOSVRJQUxJWkUoImNob3duIiwgInBhdGgiLCAwLCBQQVRIX0hBVkVfRkNIT1dOKTsKICAgICB1aWRfdCB1aWQ7CiAgICAgZ2lkX3QgZ2lkOwogICAgIGludCBkaXJfZmQgPSBERUZBVUxUX0RJUl9GRDsKICAgICBpbnQgZm9sbG93X3N5bWxpbmtzID0gMTsKLSAgICBpbnQgcmVzdWx0OwotICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOwotICAgIHN0YXRpYyBjaGFyICprZXl3b3Jkc1tdID0geyJwYXRoIiwgInVpZCIsICJnaWQiLCAiZGlyX2ZkIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZm9sbG93X3N5bWxpbmtzIiwgTlVMTH07CiAKLSAgICBtZW1zZXQoJnBhdGgsIDAsIHNpemVvZihwYXRoKSk7Ci0gICAgcGF0aC5mdW5jdGlvbl9uYW1lID0gImNob3duIjsKLSNpZmRlZiBIQVZFX0ZDSE9XTgotICAgIHBhdGguYWxsb3dfZmQgPSAxOwotI2VuZGlmCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLCAiTyZPJk8mfCRPJnA6Y2hvd24iLCBrZXl3b3JkcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRoX2NvbnZlcnRlciwgJnBhdGgsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX1B5X1VpZF9Db252ZXJ0ZXIsICZ1aWQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX1B5X0dpZF9Db252ZXJ0ZXIsICZnaWQsCi0jaWZkZWYgSEFWRV9GQ0hPV05BVAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpcl9mZF9jb252ZXJ0ZXIsICZkaXJfZmQsCi0jZWxzZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpcl9mZF91bmF2YWlsYWJsZSwgJmRpcl9mZCwKLSNlbmRpZgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZmb2xsb3dfc3ltbGlua3MpKQotICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsCisgICAgICAgICJPJk8mTyZ8JE8mcDpjaG93biIsIF9rZXl3b3JkcywKKyAgICAgICAgcGF0aF9jb252ZXJ0ZXIsICZwYXRoLCBfUHlfVWlkX0NvbnZlcnRlciwgJnVpZCwgX1B5X0dpZF9Db252ZXJ0ZXIsICZnaWQsIEZDSE9XTkFUX0RJUl9GRF9DT05WRVJURVIsICZkaXJfZmQsICZmb2xsb3dfc3ltbGlua3MpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gb3NfY2hvd25faW1wbChtb2R1bGUsICZwYXRoLCB1aWQsIGdpZCwgZGlyX2ZkLCBmb2xsb3dfc3ltbGlua3MpOworCitleGl0OgorICAgIC8qIENsZWFudXAgZm9yIHBhdGggKi8KKyAgICBwYXRoX2NsZWFudXAoJnBhdGgpOworCisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX2Nob3duX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgcGF0aF90ICpwYXRoLCB1aWRfdCB1aWQsIGdpZF90IGdpZCwgaW50IGRpcl9mZCwgaW50IGZvbGxvd19zeW1saW5rcykKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD0yMmYwMTFlM2I0ZjlmZjQ5IGlucHV0PWE2MWNjMzU1NzQ4MTRkNWRdKi8KK3sKKyAgICBpbnQgcmVzdWx0OwogCiAjaWYgIShkZWZpbmVkKEhBVkVfTENIT1dOKSB8fCBkZWZpbmVkKEhBVkVfRkNIT1dOQVQpKQogICAgIGlmIChmb2xsb3dfc3ltbGlua3Nfc3BlY2lmaWVkKCJjaG93biIsIGZvbGxvd19zeW1saW5rcykpCi0gICAgICAgIGdvdG8gZXhpdDsKKyAgICAgICAgcmV0dXJuIE5VTEw7CiAjZW5kaWYKLSAgICBpZiAoZGlyX2ZkX2FuZF9mZF9pbnZhbGlkKCJjaG93biIsIGRpcl9mZCwgcGF0aC5mZCkgfHwKLSAgICAgICAgZmRfYW5kX2ZvbGxvd19zeW1saW5rc19pbnZhbGlkKCJjaG93biIsIHBhdGguZmQsIGZvbGxvd19zeW1saW5rcykpCi0gICAgICAgIGdvdG8gZXhpdDsKKyAgICBpZiAoZGlyX2ZkX2FuZF9mZF9pbnZhbGlkKCJjaG93biIsIGRpcl9mZCwgcGF0aC0+ZmQpIHx8CisgICAgICAgIGZkX2FuZF9mb2xsb3dfc3ltbGlua3NfaW52YWxpZCgiY2hvd24iLCBwYXRoLT5mZCwgZm9sbG93X3N5bWxpbmtzKSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CiAKICNpZmRlZiBfX0FQUExFX18KICAgICAvKgpAQCAtMzMxMCwxMDIgKzM4MTQsMTY4IEBACiAgICAgICovCiAgICAgaWYgKCghZm9sbG93X3N5bWxpbmtzKSAmJiAobGNob3duID09IE5VTEwpKSB7CiAgICAgICAgIGZvbGxvd19zeW1saW5rc19zcGVjaWZpZWQoImNob3duIiwgZm9sbG93X3N5bWxpbmtzKTsKLSAgICAgICAgZ290byBleGl0OworICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CiAjZW5kaWYKIAogICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKICNpZmRlZiBIQVZFX0ZDSE9XTgotICAgIGlmIChwYXRoLmZkICE9IC0xKQotICAgICAgICByZXN1bHQgPSBmY2hvd24ocGF0aC5mZCwgdWlkLCBnaWQpOworICAgIGlmIChwYXRoLT5mZCAhPSAtMSkKKyAgICAgICAgcmVzdWx0ID0gZmNob3duKHBhdGgtPmZkLCB1aWQsIGdpZCk7CiAgICAgZWxzZQogI2VuZGlmCiAjaWZkZWYgSEFWRV9MQ0hPV04KICAgICBpZiAoKCFmb2xsb3dfc3ltbGlua3MpICYmIChkaXJfZmQgPT0gREVGQVVMVF9ESVJfRkQpKQotICAgICAgICByZXN1bHQgPSBsY2hvd24ocGF0aC5uYXJyb3csIHVpZCwgZ2lkKTsKKyAgICAgICAgcmVzdWx0ID0gbGNob3duKHBhdGgtPm5hcnJvdywgdWlkLCBnaWQpOwogICAgIGVsc2UKICNlbmRpZgogI2lmZGVmIEhBVkVfRkNIT1dOQVQKICAgICBpZiAoKGRpcl9mZCAhPSBERUZBVUxUX0RJUl9GRCkgfHwgKCFmb2xsb3dfc3ltbGlua3MpKQotICAgICAgICByZXN1bHQgPSBmY2hvd25hdChkaXJfZmQsIHBhdGgubmFycm93LCB1aWQsIGdpZCwKKyAgICAgICAgcmVzdWx0ID0gZmNob3duYXQoZGlyX2ZkLCBwYXRoLT5uYXJyb3csIHVpZCwgZ2lkLAogICAgICAgICAgICAgICAgICAgICAgICAgICBmb2xsb3dfc3ltbGlua3MgPyAwIDogQVRfU1lNTElOS19OT0ZPTExPVyk7CiAgICAgZWxzZQogI2VuZGlmCi0gICAgICAgIHJlc3VsdCA9IGNob3duKHBhdGgubmFycm93LCB1aWQsIGdpZCk7CisgICAgICAgIHJlc3VsdCA9IGNob3duKHBhdGgtPm5hcnJvdywgdWlkLCBnaWQpOwogICAgIFB5X0VORF9BTExPV19USFJFQURTCiAKLSAgICBpZiAocmVzdWx0KSB7Ci0gICAgICAgIHJldHVybl92YWx1ZSA9IHBhdGhfZXJyb3IoJnBhdGgpOwotICAgICAgICBnb3RvIGV4aXQ7Ci0gICAgfQorICAgIGlmIChyZXN1bHQpCisgICAgICAgIHJldHVybiBwYXRoX2Vycm9yKHBhdGgpOwogCi0gICAgcmV0dXJuX3ZhbHVlID0gUHlfTm9uZTsKLSAgICBQeV9JTkNSRUYoUHlfTm9uZSk7Ci0KLWV4aXQ6Ci0gICAgcGF0aF9jbGVhbnVwKCZwYXRoKTsKLSAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworICAgIFB5X1JFVFVSTl9OT05FOwogfQogI2VuZGlmIC8qIEhBVkVfQ0hPV04gKi8KIAorCiAjaWZkZWYgSEFWRV9GQ0hPV04KLVB5RG9jX1NUUlZBUihwb3NpeF9mY2hvd25fX2RvY19fLAotImZjaG93bihmZCwgdWlkLCBnaWQpXG5cblwKLUNoYW5nZSB0aGUgb3duZXIgYW5kIGdyb3VwIGlkIG9mIHRoZSBmaWxlIGdpdmVuIGJ5IGZpbGUgZGVzY3JpcHRvclxuXAotZmQgdG8gdGhlIG51bWVyaWMgdWlkIGFuZCBnaWQuICBFcXVpdmFsZW50IHRvIG9zLmNob3duKGZkLCB1aWQsIGdpZCkuIik7CisvKltjbGluaWMgaW5wdXRdCitvcy5mY2hvd24KKworICAgIGZkOiBpbnQKKyAgICB1aWQ6IHVpZF90CisgICAgZ2lkOiBnaWRfdAorCitDaGFuZ2UgdGhlIG93bmVyIGFuZCBncm91cCBpZCBvZiB0aGUgZmlsZSBzcGVjaWZpZWQgYnkgZmlsZSBkZXNjcmlwdG9yLgorCitFcXVpdmFsZW50IHRvIG9zLmNob3duKGZkLCB1aWQsIGdpZCkuCisKK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX2ZjaG93bl9fZG9jX18sCisiZmNob3duKCRtb2R1bGUsIC8sIGZkLCB1aWQsIGdpZClcbiIKKyItLVxuIgorIlxuIgorIkNoYW5nZSB0aGUgb3duZXIgYW5kIGdyb3VwIGlkIG9mIHRoZSBmaWxlIHNwZWNpZmllZCBieSBmaWxlIGRlc2NyaXB0b3IuXG4iCisiXG4iCisiRXF1aXZhbGVudCB0byBvcy5jaG93bihmZCwgdWlkLCBnaWQpLiIpOworCisjZGVmaW5lIE9TX0ZDSE9XTl9NRVRIT0RERUYgICAgXAorICAgIHsiZmNob3duIiwgKFB5Q0Z1bmN0aW9uKW9zX2ZjaG93biwgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIG9zX2ZjaG93bl9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfZmNob3duKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK29zX2ZjaG93bl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCBmZCwgdWlkX3QgdWlkLCBnaWRfdCBnaWQpOworCitzdGF0aWMgUHlPYmplY3QgKgorb3NfZmNob3duKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQogeworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIHN0YXRpYyBjaGFyICpfa2V5d29yZHNbXSA9IHsiZmQiLCAidWlkIiwgImdpZCIsIE5VTEx9OwogICAgIGludCBmZDsKICAgICB1aWRfdCB1aWQ7CiAgICAgZ2lkX3QgZ2lkOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLAorICAgICAgICAiaU8mTyY6ZmNob3duIiwgX2tleXdvcmRzLAorICAgICAgICAmZmQsIF9QeV9VaWRfQ29udmVydGVyLCAmdWlkLCBfUHlfR2lkX0NvbnZlcnRlciwgJmdpZCkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBvc19mY2hvd25faW1wbChtb2R1bGUsIGZkLCB1aWQsIGdpZCk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX2ZjaG93bl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCBmZCwgdWlkX3QgdWlkLCBnaWRfdCBnaWQpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9Njg3NzgxY2I3ZDg5NzRkNiBpbnB1dD0zYWY1NDRiYTFiMTNhMGQ3XSovCit7CiAgICAgaW50IHJlczsKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgImlPJk8mOmZjaG93biIsICZmZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgX1B5X1VpZF9Db252ZXJ0ZXIsICZ1aWQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIF9QeV9HaWRfQ29udmVydGVyLCAmZ2lkKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwotICAgIHJlcyA9IGZjaG93bihmZCwgdWlkLCBnaWQpOwotICAgIFB5X0VORF9BTExPV19USFJFQURTCi0gICAgaWYgKHJlcyA8IDApCi0gICAgICAgIHJldHVybiBwb3NpeF9lcnJvcigpOworICAgIGludCBhc3luY19lcnIgPSAwOworCisgICAgZG8geworICAgICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCisgICAgICAgIHJlcyA9IGZjaG93bihmZCwgdWlkLCBnaWQpOworICAgICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUworICAgIH0gd2hpbGUgKHJlcyAhPSAwICYmIGVycm5vID09IEVJTlRSICYmICEoYXN5bmNfZXJyID0gUHlFcnJfQ2hlY2tTaWduYWxzKCkpKTsKKyAgICBpZiAocmVzICE9IDApCisgICAgICAgIHJldHVybiAoIWFzeW5jX2VycikgPyBwb3NpeF9lcnJvcigpIDogTlVMTDsKKwogICAgIFB5X1JFVFVSTl9OT05FOwogfQogI2VuZGlmIC8qIEhBVkVfRkNIT1dOICovCiAKKwogI2lmZGVmIEhBVkVfTENIT1dOCi1QeURvY19TVFJWQVIocG9zaXhfbGNob3duX19kb2NfXywKLSJsY2hvd24ocGF0aCwgdWlkLCBnaWQpXG5cblwKLUNoYW5nZSB0aGUgb3duZXIgYW5kIGdyb3VwIGlkIG9mIHBhdGggdG8gdGhlIG51bWVyaWMgdWlkIGFuZCBnaWQuXG5cCi1UaGlzIGZ1bmN0aW9uIHdpbGwgbm90IGZvbGxvdyBzeW1ib2xpYyBsaW5rcy5cblwKLUVxdWl2YWxlbnQgdG8gb3MuY2hvd24ocGF0aCwgdWlkLCBnaWQsIGZvbGxvd19zeW1saW5rcz1GYWxzZSkuIik7CisvKltjbGluaWMgaW5wdXRdCitvcy5sY2hvd24KKworICAgIHBhdGggOiBwYXRoX3QKKyAgICB1aWQ6IHVpZF90CisgICAgZ2lkOiBnaWRfdAorCitDaGFuZ2UgdGhlIG93bmVyIGFuZCBncm91cCBpZCBvZiBwYXRoIHRvIHRoZSBudW1lcmljIHVpZCBhbmQgZ2lkLgorCitUaGlzIGZ1bmN0aW9uIHdpbGwgbm90IGZvbGxvdyBzeW1ib2xpYyBsaW5rcy4KK0VxdWl2YWxlbnQgdG8gb3MuY2hvd24ocGF0aCwgdWlkLCBnaWQsIGZvbGxvd19zeW1saW5rcz1GYWxzZSkuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19sY2hvd25fX2RvY19fLAorImxjaG93bigkbW9kdWxlLCAvLCBwYXRoLCB1aWQsIGdpZClcbiIKKyItLVxuIgorIlxuIgorIkNoYW5nZSB0aGUgb3duZXIgYW5kIGdyb3VwIGlkIG9mIHBhdGggdG8gdGhlIG51bWVyaWMgdWlkIGFuZCBnaWQuXG4iCisiXG4iCisiVGhpcyBmdW5jdGlvbiB3aWxsIG5vdCBmb2xsb3cgc3ltYm9saWMgbGlua3MuXG4iCisiRXF1aXZhbGVudCB0byBvcy5jaG93bihwYXRoLCB1aWQsIGdpZCwgZm9sbG93X3N5bWxpbmtzPUZhbHNlKS4iKTsKKworI2RlZmluZSBPU19MQ0hPV05fTUVUSE9EREVGICAgIFwKKyAgICB7ImxjaG93biIsIChQeUNGdW5jdGlvbilvc19sY2hvd24sIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBvc19sY2hvd25fX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X2xjaG93bihQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitvc19sY2hvd25faW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBwYXRoX3QgKnBhdGgsIHVpZF90IHVpZCwgZ2lkX3QgZ2lkKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX2xjaG93bihQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKIHsKLSAgICBwYXRoX3QgcGF0aDsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBzdGF0aWMgY2hhciAqX2tleXdvcmRzW10gPSB7InBhdGgiLCAidWlkIiwgImdpZCIsIE5VTEx9OworICAgIHBhdGhfdCBwYXRoID0gUEFUSF9UX0lOSVRJQUxJWkUoImxjaG93biIsICJwYXRoIiwgMCwgMCk7CiAgICAgdWlkX3QgdWlkOwogICAgIGdpZF90IGdpZDsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywKKyAgICAgICAgIk8mTyZPJjpsY2hvd24iLCBfa2V5d29yZHMsCisgICAgICAgIHBhdGhfY29udmVydGVyLCAmcGF0aCwgX1B5X1VpZF9Db252ZXJ0ZXIsICZ1aWQsIF9QeV9HaWRfQ29udmVydGVyLCAmZ2lkKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IG9zX2xjaG93bl9pbXBsKG1vZHVsZSwgJnBhdGgsIHVpZCwgZ2lkKTsKKworZXhpdDoKKyAgICAvKiBDbGVhbnVwIGZvciBwYXRoICovCisgICAgcGF0aF9jbGVhbnVwKCZwYXRoKTsKKworICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19sY2hvd25faW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBwYXRoX3QgKnBhdGgsIHVpZF90IHVpZCwgZ2lkX3QgZ2lkKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWJmMjVmZGIwZDI1MTMwZTIgaW5wdXQ9YjFjNjAxNGQ1NjNhNzE2MV0qLworewogICAgIGludCByZXM7Ci0gICAgbWVtc2V0KCZwYXRoLCAwLCBzaXplb2YocGF0aCkpOwotICAgIHBhdGguZnVuY3Rpb25fbmFtZSA9ICJsY2hvd24iOwotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiTyZPJk8mOmxjaG93biIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIHBhdGhfY29udmVydGVyLCAmcGF0aCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgX1B5X1VpZF9Db252ZXJ0ZXIsICZ1aWQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIF9QeV9HaWRfQ29udmVydGVyLCAmZ2lkKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwotICAgIHJlcyA9IGxjaG93bihwYXRoLm5hcnJvdywgdWlkLCBnaWQpOworICAgIHJlcyA9IGxjaG93bihwYXRoLT5uYXJyb3csIHVpZCwgZ2lkKTsKICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUwogICAgIGlmIChyZXMgPCAwKSB7Ci0gICAgICAgIHBhdGhfZXJyb3IoJnBhdGgpOwotICAgICAgICBwYXRoX2NsZWFudXAoJnBhdGgpOwotICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgcmV0dXJuIHBhdGhfZXJyb3IocGF0aCk7CiAgICAgfQotICAgIHBhdGhfY2xlYW51cCgmcGF0aCk7Ci0gICAgUHlfSU5DUkVGKFB5X05vbmUpOwotICAgIHJldHVybiBQeV9Ob25lOworICAgIFB5X1JFVFVSTl9OT05FOwogfQogI2VuZGlmIC8qIEhBVkVfTENIT1dOICovCiAKQEAgLTM0NjIsMTQ4ICs0MDMyLDIwOSBAQAogICAgIHJldHVybiBQeVVuaWNvZGVfRGVjb2RlRlNEZWZhdWx0KGJ1Zik7CiB9CiAKLVB5RG9jX1NUUlZBUihwb3NpeF9nZXRjd2RfX2RvY19fLAotImdldGN3ZCgpIC0+IHBhdGhcblxuXAotUmV0dXJuIGEgdW5pY29kZSBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5LiIpOworCisvKltjbGluaWMgaW5wdXRdCitvcy5nZXRjd2QKKworUmV0dXJuIGEgdW5pY29kZSBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5LgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3NfZ2V0Y3dkX19kb2NfXywKKyJnZXRjd2QoJG1vZHVsZSwgLylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiBhIHVuaWNvZGUgc3RyaW5nIHJlcHJlc2VudGluZyB0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeS4iKTsKKworI2RlZmluZSBPU19HRVRDV0RfTUVUSE9EREVGICAgIFwKKyAgICB7ImdldGN3ZCIsIChQeUNGdW5jdGlvbilvc19nZXRjd2QsIE1FVEhfTk9BUkdTLCBvc19nZXRjd2RfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X2dldGN3ZF91bmljb2RlKFB5T2JqZWN0ICpzZWxmKQorb3NfZ2V0Y3dkX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19nZXRjd2QoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKlB5X1VOVVNFRChpZ25vcmVkKSkKK3sKKyAgICByZXR1cm4gb3NfZ2V0Y3dkX2ltcGwobW9kdWxlKTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX2dldGN3ZF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ZDcwYjI4MWRiNWM3OGZmNyBpbnB1dD1mMDY5MjExYmI3MGUzZDM5XSovCiB7CiAgICAgcmV0dXJuIHBvc2l4X2dldGN3ZCgwKTsKIH0KIAotUHlEb2NfU1RSVkFSKHBvc2l4X2dldGN3ZGJfX2RvY19fLAotImdldGN3ZGIoKSAtPiBwYXRoXG5cblwKLVJldHVybiBhIGJ5dGVzIHN0cmluZyByZXByZXNlbnRpbmcgdGhlIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkuIik7CisKKy8qW2NsaW5pYyBpbnB1dF0KK29zLmdldGN3ZGIKKworUmV0dXJuIGEgYnl0ZXMgc3RyaW5nIHJlcHJlc2VudGluZyB0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeS4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX2dldGN3ZGJfX2RvY19fLAorImdldGN3ZGIoJG1vZHVsZSwgLylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiBhIGJ5dGVzIHN0cmluZyByZXByZXNlbnRpbmcgdGhlIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkuIik7CisKKyNkZWZpbmUgT1NfR0VUQ1dEQl9NRVRIT0RERUYgICAgXAorICAgIHsiZ2V0Y3dkYiIsIChQeUNGdW5jdGlvbilvc19nZXRjd2RiLCBNRVRIX05PQVJHUywgb3NfZ2V0Y3dkYl9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfZ2V0Y3dkX2J5dGVzKFB5T2JqZWN0ICpzZWxmKQorb3NfZ2V0Y3dkYl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUpOworCitzdGF0aWMgUHlPYmplY3QgKgorb3NfZ2V0Y3dkYihQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqUHlfVU5VU0VEKGlnbm9yZWQpKQoreworICAgIHJldHVybiBvc19nZXRjd2RiX2ltcGwobW9kdWxlKTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX2dldGN3ZGJfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTc1ZGE0N2YyZDc1ZjkxNjYgaW5wdXQ9ZjZmNmEzNzhkYWQzZDljYl0qLwogewogICAgIHJldHVybiBwb3NpeF9nZXRjd2QoMSk7CiB9CiAKKwogI2lmICgoIWRlZmluZWQoSEFWRV9MSU5LKSkgJiYgZGVmaW5lZChNU19XSU5ET1dTKSkKICNkZWZpbmUgSEFWRV9MSU5LIDEKICNlbmRpZgogCiAjaWZkZWYgSEFWRV9MSU5LCi1QeURvY19TVFJWQVIocG9zaXhfbGlua19fZG9jX18sCi0ibGluayhzcmMsIGRzdCwgKiwgc3JjX2Rpcl9mZD1Ob25lLCBkc3RfZGlyX2ZkPU5vbmUsIGZvbGxvd19zeW1saW5rcz1UcnVlKVxuXG5cCi1DcmVhdGUgYSBoYXJkIGxpbmsgdG8gYSBmaWxlLlxuXAotXG5cCi1JZiBlaXRoZXIgc3JjX2Rpcl9mZCBvciBkc3RfZGlyX2ZkIGlzIG5vdCBOb25lLCBpdCBzaG91bGQgYmUgYSBmaWxlXG5cCi0gIGRlc2NyaXB0b3Igb3BlbiB0byBhIGRpcmVjdG9yeSwgYW5kIHRoZSByZXNwZWN0aXZlIHBhdGggc3RyaW5nIChzcmMgb3IgZHN0KVxuXAotICBzaG91bGQgYmUgcmVsYXRpdmU7IHRoZSBwYXRoIHdpbGwgdGhlbiBiZSByZWxhdGl2ZSB0byB0aGF0IGRpcmVjdG9yeS5cblwKLUlmIGZvbGxvd19zeW1saW5rcyBpcyBGYWxzZSwgYW5kIHRoZSBsYXN0IGVsZW1lbnQgb2Ygc3JjIGlzIGEgc3ltYm9saWNcblwKLSAgbGluaywgbGluayB3aWxsIGNyZWF0ZSBhIGxpbmsgdG8gdGhlIHN5bWJvbGljIGxpbmsgaXRzZWxmIGluc3RlYWQgb2YgdGhlXG5cCi0gIGZpbGUgdGhlIGxpbmsgcG9pbnRzIHRvLlxuXAotc3JjX2Rpcl9mZCwgZHN0X2Rpcl9mZCwgYW5kIGZvbGxvd19zeW1saW5rcyBtYXkgbm90IGJlIGltcGxlbWVudGVkIG9uIHlvdXJcblwKLSAgcGxhdGZvcm0uICBJZiB0aGV5IGFyZSB1bmF2YWlsYWJsZSwgdXNpbmcgdGhlbSB3aWxsIHJhaXNlIGFcblwKLSAgTm90SW1wbGVtZW50ZWRFcnJvci4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KKworb3MubGluaworCisgICAgc3JjIDogcGF0aF90CisgICAgZHN0IDogcGF0aF90CisgICAgKgorICAgIHNyY19kaXJfZmQgOiBkaXJfZmQgPSBOb25lCisgICAgZHN0X2Rpcl9mZCA6IGRpcl9mZCA9IE5vbmUKKyAgICBmb2xsb3dfc3ltbGlua3M6IGJvb2wgPSBUcnVlCisKK0NyZWF0ZSBhIGhhcmQgbGluayB0byBhIGZpbGUuCisKK0lmIGVpdGhlciBzcmNfZGlyX2ZkIG9yIGRzdF9kaXJfZmQgaXMgbm90IE5vbmUsIGl0IHNob3VsZCBiZSBhIGZpbGUKKyAgZGVzY3JpcHRvciBvcGVuIHRvIGEgZGlyZWN0b3J5LCBhbmQgdGhlIHJlc3BlY3RpdmUgcGF0aCBzdHJpbmcgKHNyYyBvciBkc3QpCisgIHNob3VsZCBiZSByZWxhdGl2ZTsgdGhlIHBhdGggd2lsbCB0aGVuIGJlIHJlbGF0aXZlIHRvIHRoYXQgZGlyZWN0b3J5LgorSWYgZm9sbG93X3N5bWxpbmtzIGlzIEZhbHNlLCBhbmQgdGhlIGxhc3QgZWxlbWVudCBvZiBzcmMgaXMgYSBzeW1ib2xpYworICBsaW5rLCBsaW5rIHdpbGwgY3JlYXRlIGEgbGluayB0byB0aGUgc3ltYm9saWMgbGluayBpdHNlbGYgaW5zdGVhZCBvZiB0aGUKKyAgZmlsZSB0aGUgbGluayBwb2ludHMgdG8uCitzcmNfZGlyX2ZkLCBkc3RfZGlyX2ZkLCBhbmQgZm9sbG93X3N5bWxpbmtzIG1heSBub3QgYmUgaW1wbGVtZW50ZWQgb24geW91cgorICBwbGF0Zm9ybS4gIElmIHRoZXkgYXJlIHVuYXZhaWxhYmxlLCB1c2luZyB0aGVtIHdpbGwgcmFpc2UgYQorICBOb3RJbXBsZW1lbnRlZEVycm9yLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3NfbGlua19fZG9jX18sCisibGluaygkbW9kdWxlLCAvLCBzcmMsIGRzdCwgKiwgc3JjX2Rpcl9mZD1Ob25lLCBkc3RfZGlyX2ZkPU5vbmUsXG4iCisiICAgICBmb2xsb3dfc3ltbGlua3M9VHJ1ZSlcbiIKKyItLVxuIgorIlxuIgorIkNyZWF0ZSBhIGhhcmQgbGluayB0byBhIGZpbGUuXG4iCisiXG4iCisiSWYgZWl0aGVyIHNyY19kaXJfZmQgb3IgZHN0X2Rpcl9mZCBpcyBub3QgTm9uZSwgaXQgc2hvdWxkIGJlIGEgZmlsZVxuIgorIiAgZGVzY3JpcHRvciBvcGVuIHRvIGEgZGlyZWN0b3J5LCBhbmQgdGhlIHJlc3BlY3RpdmUgcGF0aCBzdHJpbmcgKHNyYyBvciBkc3QpXG4iCisiICBzaG91bGQgYmUgcmVsYXRpdmU7IHRoZSBwYXRoIHdpbGwgdGhlbiBiZSByZWxhdGl2ZSB0byB0aGF0IGRpcmVjdG9yeS5cbiIKKyJJZiBmb2xsb3dfc3ltbGlua3MgaXMgRmFsc2UsIGFuZCB0aGUgbGFzdCBlbGVtZW50IG9mIHNyYyBpcyBhIHN5bWJvbGljXG4iCisiICBsaW5rLCBsaW5rIHdpbGwgY3JlYXRlIGEgbGluayB0byB0aGUgc3ltYm9saWMgbGluayBpdHNlbGYgaW5zdGVhZCBvZiB0aGVcbiIKKyIgIGZpbGUgdGhlIGxpbmsgcG9pbnRzIHRvLlxuIgorInNyY19kaXJfZmQsIGRzdF9kaXJfZmQsIGFuZCBmb2xsb3dfc3ltbGlua3MgbWF5IG5vdCBiZSBpbXBsZW1lbnRlZCBvbiB5b3VyXG4iCisiICBwbGF0Zm9ybS4gIElmIHRoZXkgYXJlIHVuYXZhaWxhYmxlLCB1c2luZyB0aGVtIHdpbGwgcmFpc2UgYVxuIgorIiAgTm90SW1wbGVtZW50ZWRFcnJvci4iKTsKKworI2RlZmluZSBPU19MSU5LX01FVEhPRERFRiAgICBcCisgICAgeyJsaW5rIiwgKFB5Q0Z1bmN0aW9uKW9zX2xpbmssIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBvc19saW5rX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9saW5rKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKK29zX2xpbmtfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBwYXRoX3QgKnNyYywgcGF0aF90ICpkc3QsIGludCBzcmNfZGlyX2ZkLCBpbnQgZHN0X2Rpcl9mZCwgaW50IGZvbGxvd19zeW1saW5rcyk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19saW5rKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQogewotICAgIHBhdGhfdCBzcmMsIGRzdDsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBzdGF0aWMgY2hhciAqX2tleXdvcmRzW10gPSB7InNyYyIsICJkc3QiLCAic3JjX2Rpcl9mZCIsICJkc3RfZGlyX2ZkIiwgImZvbGxvd19zeW1saW5rcyIsIE5VTEx9OworICAgIHBhdGhfdCBzcmMgPSBQQVRIX1RfSU5JVElBTElaRSgibGluayIsICJzcmMiLCAwLCAwKTsKKyAgICBwYXRoX3QgZHN0ID0gUEFUSF9UX0lOSVRJQUxJWkUoImxpbmsiLCAiZHN0IiwgMCwgMCk7CiAgICAgaW50IHNyY19kaXJfZmQgPSBERUZBVUxUX0RJUl9GRDsKICAgICBpbnQgZHN0X2Rpcl9mZCA9IERFRkFVTFRfRElSX0ZEOwogICAgIGludCBmb2xsb3dfc3ltbGlua3MgPSAxOwotICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOwotICAgIHN0YXRpYyBjaGFyICprZXl3b3Jkc1tdID0geyJzcmMiLCAiZHN0IiwgInNyY19kaXJfZmQiLCAiZHN0X2Rpcl9mZCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImZvbGxvd19zeW1saW5rcyIsIE5VTEx9OworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLAorICAgICAgICAiTyZPJnwkTyZPJnA6bGluayIsIF9rZXl3b3JkcywKKyAgICAgICAgcGF0aF9jb252ZXJ0ZXIsICZzcmMsIHBhdGhfY29udmVydGVyLCAmZHN0LCBkaXJfZmRfY29udmVydGVyLCAmc3JjX2Rpcl9mZCwgZGlyX2ZkX2NvbnZlcnRlciwgJmRzdF9kaXJfZmQsICZmb2xsb3dfc3ltbGlua3MpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gb3NfbGlua19pbXBsKG1vZHVsZSwgJnNyYywgJmRzdCwgc3JjX2Rpcl9mZCwgZHN0X2Rpcl9mZCwgZm9sbG93X3N5bWxpbmtzKTsKKworZXhpdDoKKyAgICAvKiBDbGVhbnVwIGZvciBzcmMgKi8KKyAgICBwYXRoX2NsZWFudXAoJnNyYyk7CisgICAgLyogQ2xlYW51cCBmb3IgZHN0ICovCisgICAgcGF0aF9jbGVhbnVwKCZkc3QpOworCisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX2xpbmtfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBwYXRoX3QgKnNyYywgcGF0aF90ICpkc3QsIGludCBzcmNfZGlyX2ZkLCBpbnQgZHN0X2Rpcl9mZCwgaW50IGZvbGxvd19zeW1saW5rcykKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD01MzQ3NzY2MmZlMDJlMTgzIGlucHV0PWIwMDk1ZWJiY2JhYTdlMDRdKi8KK3sKICNpZmRlZiBNU19XSU5ET1dTCiAgICAgQk9PTCByZXN1bHQ7CiAjZWxzZQogICAgIGludCByZXN1bHQ7CiAjZW5kaWYKIAotICAgIG1lbXNldCgmc3JjLCAwLCBzaXplb2Yoc3JjKSk7Ci0gICAgbWVtc2V0KCZkc3QsIDAsIHNpemVvZihkc3QpKTsKLSAgICBzcmMuZnVuY3Rpb25fbmFtZSA9ICJsaW5rIjsKLSAgICBkc3QuZnVuY3Rpb25fbmFtZSA9ICJsaW5rIjsKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsICJPJk8mfE8mTyZwOmxpbmsiLCBrZXl3b3JkcywKLSAgICAgICAgICAgIHBhdGhfY29udmVydGVyLCAmc3JjLAotICAgICAgICAgICAgcGF0aF9jb252ZXJ0ZXIsICZkc3QsCi0gICAgICAgICAgICBkaXJfZmRfY29udmVydGVyLCAmc3JjX2Rpcl9mZCwKLSAgICAgICAgICAgIGRpcl9mZF9jb252ZXJ0ZXIsICZkc3RfZGlyX2ZkLAotICAgICAgICAgICAgJmZvbGxvd19zeW1saW5rcykpCi0gICAgICAgIHJldHVybiBOVUxMOwotCiAjaWZuZGVmIEhBVkVfTElOS0FUCiAgICAgaWYgKChzcmNfZGlyX2ZkICE9IERFRkFVTFRfRElSX0ZEKSB8fCAoZHN0X2Rpcl9mZCAhPSBERUZBVUxUX0RJUl9GRCkpIHsKICAgICAgICAgYXJndW1lbnRfdW5hdmFpbGFibGVfZXJyb3IoImxpbmsiLCAic3JjX2Rpcl9mZCBhbmQgZHN0X2Rpcl9mZCIpOwotICAgICAgICBnb3RvIGV4aXQ7CisgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KICNlbmRpZgogCi0gICAgaWYgKChzcmMubmFycm93ICYmIGRzdC53aWRlKSB8fCAoc3JjLndpZGUgJiYgZHN0Lm5hcnJvdykpIHsKKyAgICBpZiAoKHNyYy0+bmFycm93ICYmIGRzdC0+d2lkZSkgfHwgKHNyYy0+d2lkZSAmJiBkc3QtPm5hcnJvdykpIHsKICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX05vdEltcGxlbWVudGVkRXJyb3IsCiAgICAgICAgICAgICAgICAgICAgICAgICAibGluazogc3JjIGFuZCBkc3QgbXVzdCBiZSB0aGUgc2FtZSB0eXBlIik7Ci0gICAgICAgIGdvdG8gZXhpdDsKKyAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQogCiAjaWZkZWYgTVNfV0lORE9XUwogICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKLSAgICBpZiAoc3JjLndpZGUpCi0gICAgICAgIHJlc3VsdCA9IENyZWF0ZUhhcmRMaW5rVyhkc3Qud2lkZSwgc3JjLndpZGUsIE5VTEwpOworICAgIGlmIChzcmMtPndpZGUpCisgICAgICAgIHJlc3VsdCA9IENyZWF0ZUhhcmRMaW5rVyhkc3QtPndpZGUsIHNyYy0+d2lkZSwgTlVMTCk7CiAgICAgZWxzZQotICAgICAgICByZXN1bHQgPSBDcmVhdGVIYXJkTGlua0EoZHN0Lm5hcnJvdywgc3JjLm5hcnJvdywgTlVMTCk7CisgICAgICAgIHJlc3VsdCA9IENyZWF0ZUhhcmRMaW5rQShkc3QtPm5hcnJvdywgc3JjLT5uYXJyb3csIE5VTEwpOwogICAgIFB5X0VORF9BTExPV19USFJFQURTCiAKLSAgICBpZiAoIXJlc3VsdCkgewotICAgICAgICByZXR1cm5fdmFsdWUgPSBwYXRoX2Vycm9yMigmc3JjLCAmZHN0KTsKLSAgICAgICAgZ290byBleGl0OwotICAgIH0KKyAgICBpZiAoIXJlc3VsdCkKKyAgICAgICAgcmV0dXJuIHBhdGhfZXJyb3IyKHNyYywgZHN0KTsKICNlbHNlCiAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwogI2lmZGVmIEhBVkVfTElOS0FUCiAgICAgaWYgKChzcmNfZGlyX2ZkICE9IERFRkFVTFRfRElSX0ZEKSB8fAogICAgICAgICAoZHN0X2Rpcl9mZCAhPSBERUZBVUxUX0RJUl9GRCkgfHwKICAgICAgICAgKCFmb2xsb3dfc3ltbGlua3MpKQotICAgICAgICByZXN1bHQgPSBsaW5rYXQoc3JjX2Rpcl9mZCwgc3JjLm5hcnJvdywKLSAgICAgICAgICAgIGRzdF9kaXJfZmQsIGRzdC5uYXJyb3csCisgICAgICAgIHJlc3VsdCA9IGxpbmthdChzcmNfZGlyX2ZkLCBzcmMtPm5hcnJvdywKKyAgICAgICAgICAgIGRzdF9kaXJfZmQsIGRzdC0+bmFycm93LAogICAgICAgICAgICAgZm9sbG93X3N5bWxpbmtzID8gQVRfU1lNTElOS19GT0xMT1cgOiAwKTsKICAgICBlbHNlCiAjZW5kaWYKLSAgICAgICAgcmVzdWx0ID0gbGluayhzcmMubmFycm93LCBkc3QubmFycm93KTsKKyAgICAgICAgcmVzdWx0ID0gbGluayhzcmMtPm5hcnJvdywgZHN0LT5uYXJyb3cpOwogICAgIFB5X0VORF9BTExPV19USFJFQURTCiAKLSAgICBpZiAocmVzdWx0KSB7Ci0gICAgICAgIHJldHVybl92YWx1ZSA9IHBhdGhfZXJyb3IyKCZzcmMsICZkc3QpOwotICAgICAgICBnb3RvIGV4aXQ7Ci0gICAgfQorICAgIGlmIChyZXN1bHQpCisgICAgICAgIHJldHVybiBwYXRoX2Vycm9yMihzcmMsIGRzdCk7CiAjZW5kaWYKIAotICAgIHJldHVybl92YWx1ZSA9IFB5X05vbmU7Ci0gICAgUHlfSU5DUkVGKFB5X05vbmUpOwotCi1leGl0OgotICAgIHBhdGhfY2xlYW51cCgmc3JjKTsKLSAgICBwYXRoX2NsZWFudXAoJmRzdCk7Ci0gICAgcmV0dXJuIHJldHVybl92YWx1ZTsKKyAgICBQeV9SRVRVUk5fTk9ORTsKIH0KICNlbmRpZgogCiAKLQotUHlEb2NfU1RSVkFSKHBvc2l4X2xpc3RkaXJfX2RvY19fLAotImxpc3RkaXIocGF0aD0nLicpIC0+IGxpc3Rfb2ZfZmlsZW5hbWVzXG5cblwKLVJldHVybiBhIGxpc3QgY29udGFpbmluZyB0aGUgbmFtZXMgb2YgdGhlIGZpbGVzIGluIHRoZSBkaXJlY3RvcnkuXG5cCi1UaGUgbGlzdCBpcyBpbiBhcmJpdHJhcnkgb3JkZXIuICBJdCBkb2VzIG5vdCBpbmNsdWRlIHRoZSBzcGVjaWFsXG5cCi1lbnRyaWVzICcuJyBhbmQgJy4uJyBldmVuIGlmIHRoZXkgYXJlIHByZXNlbnQgaW4gdGhlIGRpcmVjdG9yeS5cblwKLVxuXAotcGF0aCBjYW4gYmUgc3BlY2lmaWVkIGFzIGVpdGhlciBzdHIgb3IgYnl0ZXMuICBJZiBwYXRoIGlzIGJ5dGVzLFxuXAotICB0aGUgZmlsZW5hbWVzIHJldHVybmVkIHdpbGwgYWxzbyBiZSBieXRlczsgaW4gYWxsIG90aGVyIGNpcmN1bXN0YW5jZXNcblwKLSAgdGhlIGZpbGVuYW1lcyByZXR1cm5lZCB3aWxsIGJlIHN0ci5cblwKLU9uIHNvbWUgcGxhdGZvcm1zLCBwYXRoIG1heSBhbHNvIGJlIHNwZWNpZmllZCBhcyBhbiBvcGVuIGZpbGUgZGVzY3JpcHRvcjtcblwKLSAgdGhlIGZpbGUgZGVzY3JpcHRvciBtdXN0IHJlZmVyIHRvIGEgZGlyZWN0b3J5LlxuXAotICBJZiB0aGlzIGZ1bmN0aW9uYWxpdHkgaXMgdW5hdmFpbGFibGUsIHVzaW5nIGl0IHJhaXNlcyBOb3RJbXBsZW1lbnRlZEVycm9yLiIpOwotCiAjaWYgZGVmaW5lZChNU19XSU5ET1dTKSAmJiAhZGVmaW5lZChIQVZFX09QRU5ESVIpCiBzdGF0aWMgUHlPYmplY3QgKgogX2xpc3RkaXJfd2luZG93c19ub19vcGVuZGlyKHBhdGhfdCAqcGF0aCwgUHlPYmplY3QgKmxpc3QpCiB7Ci0gICAgc3RhdGljIGNoYXIgKmtleXdvcmRzW10gPSB7InBhdGgiLCBOVUxMfTsKICAgICBQeU9iamVjdCAqdjsKICAgICBIQU5ETEUgaEZpbmRGaWxlID0gSU5WQUxJRF9IQU5ETEVfVkFMVUU7CiAgICAgQk9PTCByZXN1bHQ7CkBAIC0zODYyLDM4ICs0NDkzLDg1IEBACiB9ICAvKiBlbmQgb2YgX3Bvc2l4X2xpc3RkaXIgKi8KICNlbmRpZiAgLyogd2hpY2ggT1MgKi8KIAorCisvKltjbGluaWMgaW5wdXRdCitvcy5saXN0ZGlyCisKKyAgICBwYXRoIDogcGF0aF90KG51bGxhYmxlPVRydWUsIGFsbG93X2ZkPSdQQVRIX0hBVkVfRkRPUEVORElSJykgPSBOb25lCisKK1JldHVybiBhIGxpc3QgY29udGFpbmluZyB0aGUgbmFtZXMgb2YgdGhlIGZpbGVzIGluIHRoZSBkaXJlY3RvcnkuCisKK3BhdGggY2FuIGJlIHNwZWNpZmllZCBhcyBlaXRoZXIgc3RyIG9yIGJ5dGVzLiAgSWYgcGF0aCBpcyBieXRlcywKKyAgdGhlIGZpbGVuYW1lcyByZXR1cm5lZCB3aWxsIGFsc28gYmUgYnl0ZXM7IGluIGFsbCBvdGhlciBjaXJjdW1zdGFuY2VzCisgIHRoZSBmaWxlbmFtZXMgcmV0dXJuZWQgd2lsbCBiZSBzdHIuCitJZiBwYXRoIGlzIE5vbmUsIHVzZXMgdGhlIHBhdGg9Jy4nLgorT24gc29tZSBwbGF0Zm9ybXMsIHBhdGggbWF5IGFsc28gYmUgc3BlY2lmaWVkIGFzIGFuIG9wZW4gZmlsZSBkZXNjcmlwdG9yO1wKKyAgdGhlIGZpbGUgZGVzY3JpcHRvciBtdXN0IHJlZmVyIHRvIGEgZGlyZWN0b3J5LgorICBJZiB0aGlzIGZ1bmN0aW9uYWxpdHkgaXMgdW5hdmFpbGFibGUsIHVzaW5nIGl0IHJhaXNlcyBOb3RJbXBsZW1lbnRlZEVycm9yLgorCitUaGUgbGlzdCBpcyBpbiBhcmJpdHJhcnkgb3JkZXIuICBJdCBkb2VzIG5vdCBpbmNsdWRlIHRoZSBzcGVjaWFsCitlbnRyaWVzICcuJyBhbmQgJy4uJyBldmVuIGlmIHRoZXkgYXJlIHByZXNlbnQgaW4gdGhlIGRpcmVjdG9yeS4KKworCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19saXN0ZGlyX19kb2NfXywKKyJsaXN0ZGlyKCRtb2R1bGUsIC8sIHBhdGg9Tm9uZSlcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiBhIGxpc3QgY29udGFpbmluZyB0aGUgbmFtZXMgb2YgdGhlIGZpbGVzIGluIHRoZSBkaXJlY3RvcnkuXG4iCisiXG4iCisicGF0aCBjYW4gYmUgc3BlY2lmaWVkIGFzIGVpdGhlciBzdHIgb3IgYnl0ZXMuICBJZiBwYXRoIGlzIGJ5dGVzLFxuIgorIiAgdGhlIGZpbGVuYW1lcyByZXR1cm5lZCB3aWxsIGFsc28gYmUgYnl0ZXM7IGluIGFsbCBvdGhlciBjaXJjdW1zdGFuY2VzXG4iCisiICB0aGUgZmlsZW5hbWVzIHJldHVybmVkIHdpbGwgYmUgc3RyLlxuIgorIklmIHBhdGggaXMgTm9uZSwgdXNlcyB0aGUgcGF0aD1cJy5cJy5cbiIKKyJPbiBzb21lIHBsYXRmb3JtcywgcGF0aCBtYXkgYWxzbyBiZSBzcGVjaWZpZWQgYXMgYW4gb3BlbiBmaWxlIGRlc2NyaXB0b3I7XFxcbiIKKyIgIHRoZSBmaWxlIGRlc2NyaXB0b3IgbXVzdCByZWZlciB0byBhIGRpcmVjdG9yeS5cbiIKKyIgIElmIHRoaXMgZnVuY3Rpb25hbGl0eSBpcyB1bmF2YWlsYWJsZSwgdXNpbmcgaXQgcmFpc2VzIE5vdEltcGxlbWVudGVkRXJyb3IuXG4iCisiXG4iCisiVGhlIGxpc3QgaXMgaW4gYXJiaXRyYXJ5IG9yZGVyLiAgSXQgZG9lcyBub3QgaW5jbHVkZSB0aGUgc3BlY2lhbFxuIgorImVudHJpZXMgXCcuXCcgYW5kIFwnLi5cJyBldmVuIGlmIHRoZXkgYXJlIHByZXNlbnQgaW4gdGhlIGRpcmVjdG9yeS4iKTsKKworI2RlZmluZSBPU19MSVNURElSX01FVEhPRERFRiAgICBcCisgICAgeyJsaXN0ZGlyIiwgKFB5Q0Z1bmN0aW9uKW9zX2xpc3RkaXIsIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBvc19saXN0ZGlyX19kb2NfX30sCisKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9saXN0ZGlyKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKK29zX2xpc3RkaXJfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBwYXRoX3QgKnBhdGgpOworCitzdGF0aWMgUHlPYmplY3QgKgorb3NfbGlzdGRpcihQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKIHsKLSAgICBwYXRoX3QgcGF0aDsKLSAgICBQeU9iamVjdCAqbGlzdCA9IE5VTEw7Ci0gICAgc3RhdGljIGNoYXIgKmtleXdvcmRzW10gPSB7InBhdGgiLCBOVUxMfTsKLSAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlOworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIHN0YXRpYyBjaGFyICpfa2V5d29yZHNbXSA9IHsicGF0aCIsIE5VTEx9OworICAgIHBhdGhfdCBwYXRoID0gUEFUSF9UX0lOSVRJQUxJWkUoImxpc3RkaXIiLCAicGF0aCIsIDEsIFBBVEhfSEFWRV9GRE9QRU5ESVIpOwogCi0gICAgbWVtc2V0KCZwYXRoLCAwLCBzaXplb2YocGF0aCkpOwotICAgIHBhdGguZnVuY3Rpb25fbmFtZSA9ICJsaXN0ZGlyIjsKLSAgICBwYXRoLm51bGxhYmxlID0gMTsKLSNpZmRlZiBIQVZFX0ZET1BFTkRJUgotICAgIHBhdGguYWxsb3dfZmQgPSAxOwotICAgIHBhdGguZmQgPSAtMTsKLSNlbmRpZgorICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywKKyAgICAgICAgInxPJjpsaXN0ZGlyIiwgX2tleXdvcmRzLAorICAgICAgICBwYXRoX2NvbnZlcnRlciwgJnBhdGgpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gb3NfbGlzdGRpcl9pbXBsKG1vZHVsZSwgJnBhdGgpOwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLCAifE8mOmxpc3RkaXIiLCBrZXl3b3JkcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRoX2NvbnZlcnRlciwgJnBhdGgpKSB7Ci0gICAgICAgIHJldHVybiBOVUxMOwotICAgIH0KLQotI2lmIGRlZmluZWQoTVNfV0lORE9XUykgJiYgIWRlZmluZWQoSEFWRV9PUEVORElSKQotICAgIHJldHVybl92YWx1ZSA9IF9saXN0ZGlyX3dpbmRvd3Nfbm9fb3BlbmRpcigmcGF0aCwgbGlzdCk7Ci0jZWxzZQotICAgIHJldHVybl92YWx1ZSA9IF9wb3NpeF9saXN0ZGlyKCZwYXRoLCBsaXN0KTsKLSNlbmRpZgorZXhpdDoKKyAgICAvKiBDbGVhbnVwIGZvciBwYXRoICovCiAgICAgcGF0aF9jbGVhbnVwKCZwYXRoKTsKKwogICAgIHJldHVybiByZXR1cm5fdmFsdWU7CiB9CiAKK3N0YXRpYyBQeU9iamVjdCAqCitvc19saXN0ZGlyX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgcGF0aF90ICpwYXRoKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWUxNTliZDliZTY5MDkwMTggaW5wdXQ9MDllMzAwNDE2ZTNjZDcyOV0qLworeworI2lmIGRlZmluZWQoTVNfV0lORE9XUykgJiYgIWRlZmluZWQoSEFWRV9PUEVORElSKQorICAgIHJldHVybiBfbGlzdGRpcl93aW5kb3dzX25vX29wZW5kaXIocGF0aCwgTlVMTCk7CisjZWxzZQorICAgIHJldHVybiBfcG9zaXhfbGlzdGRpcihwYXRoLCBOVUxMKTsKKyNlbmRpZgorfQorCiAjaWZkZWYgTVNfV0lORE9XUwogLyogQSBoZWxwZXIgZnVuY3Rpb24gZm9yIGFic3BhdGggb24gd2luMzIgKi8KKy8qIEFDIDMuNTogcHJvYmFibHkganVzdCBjb252ZXJ0IHRvIHVzaW5nIHBhdGggY29udmVydGVyICovCiBzdGF0aWMgUHlPYmplY3QgKgogcG9zaXhfX2dldGZ1bGxwYXRobmFtZShQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCiB7CkBAIC0zOTQ5LDI1ICs0NjI3LDU5IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5X0ZpbGVTeXN0ZW1EZWZhdWx0RW5jb2RpbmcsIE5VTEwpOwogICAgIH0KICAgICByZXR1cm4gUHlCeXRlc19Gcm9tU3RyaW5nKG91dGJ1Zik7Ci19IC8qIGVuZCBvZiBwb3NpeF9fZ2V0ZnVsbHBhdGhuYW1lICovCit9CiAKIAorLypbY2xpbmljIGlucHV0XQorb3MuX2dldGZpbmFscGF0aG5hbWUKIAotLyogQSBoZWxwZXIgZnVuY3Rpb24gZm9yIHNhbWVwYXRoIG9uIHdpbmRvd3MgKi8KKyAgICBwYXRoOiB1bmljb2RlCisgICAgLworCitBIGhlbHBlciBmdW5jdGlvbiBmb3Igc2FtZXBhdGggb24gd2luZG93cy4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX19nZXRmaW5hbHBhdGhuYW1lX19kb2NfXywKKyJfZ2V0ZmluYWxwYXRobmFtZSgkbW9kdWxlLCBwYXRoLCAvKVxuIgorIi0tXG4iCisiXG4iCisiQSBoZWxwZXIgZnVuY3Rpb24gZm9yIHNhbWVwYXRoIG9uIHdpbmRvd3MuIik7CisKKyNkZWZpbmUgT1NfX0dFVEZJTkFMUEFUSE5BTUVfTUVUSE9EREVGICAgIFwKKyAgICB7Il9nZXRmaW5hbHBhdGhuYW1lIiwgKFB5Q0Z1bmN0aW9uKW9zX19nZXRmaW5hbHBhdGhuYW1lLCBNRVRIX1ZBUkFSR1MsIG9zX19nZXRmaW5hbHBhdGhuYW1lX19kb2NfX30sCisKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9fZ2V0ZmluYWxwYXRobmFtZShQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitvc19fZ2V0ZmluYWxwYXRobmFtZV9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpwYXRoKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX19nZXRmaW5hbHBhdGhuYW1lKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQoreworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIFB5T2JqZWN0ICpwYXRoOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICJVOl9nZXRmaW5hbHBhdGhuYW1lIiwKKyAgICAgICAgJnBhdGgpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gb3NfX2dldGZpbmFscGF0aG5hbWVfaW1wbChtb2R1bGUsIHBhdGgpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19fZ2V0ZmluYWxwYXRobmFtZV9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpwYXRoKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTQ1NjNjNmVhY2YxYjA4ODEgaW5wdXQ9NzFkNWU4OTMzNDg5MWJmNF0qLwogewogICAgIEhBTkRMRSBoRmlsZTsKICAgICBpbnQgYnVmX3NpemU7CiAgICAgd2NoYXJfdCAqdGFyZ2V0X3BhdGg7CiAgICAgaW50IHJlc3VsdF9sZW5ndGg7Ci0gICAgUHlPYmplY3QgKnBvLCAqcmVzdWx0OwotICAgIHdjaGFyX3QgKnBhdGg7CisgICAgUHlPYmplY3QgKnJlc3VsdDsKKyAgICB3Y2hhcl90ICpwYXRoX3djaGFyOwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJVfDpfZ2V0ZmluYWxwYXRobmFtZSIsICZwbykpCi0gICAgICAgIHJldHVybiBOVUxMOwotICAgIHBhdGggPSBQeVVuaWNvZGVfQXNVbmljb2RlKHBvKTsKLSAgICBpZiAocGF0aCA9PSBOVUxMKQorICAgIHBhdGhfd2NoYXIgPSBQeVVuaWNvZGVfQXNVbmljb2RlKHBhdGgpOworICAgIGlmIChwYXRoX3djaGFyID09IE5VTEwpCiAgICAgICAgIHJldHVybiBOVUxMOwogCiAgICAgaWYoIWNoZWNrX0dldEZpbmFsUGF0aE5hbWVCeUhhbmRsZSgpKSB7CkBAIC0zOTc4LDcgKzQ2OTAsNyBAQAogICAgIH0KIAogICAgIGhGaWxlID0gQ3JlYXRlRmlsZVcoCi0gICAgICAgIHBhdGgsCisgICAgICAgIHBhdGhfd2NoYXIsCiAgICAgICAgIDAsIC8qIGRlc2lyZWQgYWNjZXNzICovCiAgICAgICAgIDAsIC8qIHNoYXJlIG1vZGUgKi8KICAgICAgICAgTlVMTCwgLyogc2VjdXJpdHkgYXR0cmlidXRlcyAqLwpAQCAtMzk4OCwxNCArNDcwMCwxNCBAQAogICAgICAgICBOVUxMKTsKIAogICAgIGlmKGhGaWxlID09IElOVkFMSURfSEFORExFX1ZBTFVFKQotICAgICAgICByZXR1cm4gd2luMzJfZXJyb3Jfb2JqZWN0KCJDcmVhdGVGaWxlVyIsIHBvKTsKKyAgICAgICAgcmV0dXJuIHdpbjMyX2Vycm9yX29iamVjdCgiQ3JlYXRlRmlsZVciLCBwYXRoKTsKIAogICAgIC8qIFdlIGhhdmUgYSBnb29kIGhhbmRsZSB0byB0aGUgdGFyZ2V0LCB1c2UgaXQgdG8gZGV0ZXJtaW5lIHRoZQogICAgICAgIHRhcmdldCBwYXRoIG5hbWUuICovCiAgICAgYnVmX3NpemUgPSBQeV9HZXRGaW5hbFBhdGhOYW1lQnlIYW5kbGVXKGhGaWxlLCAwLCAwLCBWT0xVTUVfTkFNRV9OVCk7CiAKICAgICBpZighYnVmX3NpemUpCi0gICAgICAgIHJldHVybiB3aW4zMl9lcnJvcl9vYmplY3QoIkdldEZpbmFsUGF0aE5hbWVCeUhhbmRsZSIsIHBvKTsKKyAgICAgICAgcmV0dXJuIHdpbjMyX2Vycm9yX29iamVjdCgiR2V0RmluYWxQYXRoTmFtZUJ5SGFuZGxlIiwgcGF0aCk7CiAKICAgICB0YXJnZXRfcGF0aCA9IFB5TWVtX05ldyh3Y2hhcl90LCBidWZfc2l6ZSsxKTsKICAgICBpZighdGFyZ2V0X3BhdGgpCkBAIC00MDA0LDIxICs0NzE2LDIxIEBACiAgICAgcmVzdWx0X2xlbmd0aCA9IFB5X0dldEZpbmFsUGF0aE5hbWVCeUhhbmRsZVcoaEZpbGUsIHRhcmdldF9wYXRoLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1Zl9zaXplLCBWT0xVTUVfTkFNRV9ET1MpOwogICAgIGlmKCFyZXN1bHRfbGVuZ3RoKQotICAgICAgICByZXR1cm4gd2luMzJfZXJyb3Jfb2JqZWN0KCJHZXRGaW5hbFBhdGhOYW15QnlIYW5kbGUiLCBwbyk7CisgICAgICAgIHJldHVybiB3aW4zMl9lcnJvcl9vYmplY3QoIkdldEZpbmFsUGF0aE5hbXlCeUhhbmRsZSIsIHBhdGgpOwogCiAgICAgaWYoIUNsb3NlSGFuZGxlKGhGaWxlKSkKLSAgICAgICAgcmV0dXJuIHdpbjMyX2Vycm9yX29iamVjdCgiQ2xvc2VIYW5kbGUiLCBwbyk7CisgICAgICAgIHJldHVybiB3aW4zMl9lcnJvcl9vYmplY3QoIkNsb3NlSGFuZGxlIiwgcGF0aCk7CiAKICAgICB0YXJnZXRfcGF0aFtyZXN1bHRfbGVuZ3RoXSA9IDA7CiAgICAgcmVzdWx0ID0gUHlVbmljb2RlX0Zyb21XaWRlQ2hhcih0YXJnZXRfcGF0aCwgcmVzdWx0X2xlbmd0aCk7CiAgICAgUHlNZW1fRnJlZSh0YXJnZXRfcGF0aCk7CiAgICAgcmV0dXJuIHJlc3VsdDsKLQotfSAvKiBlbmQgb2YgcG9zaXhfX2dldGZpbmFscGF0aG5hbWUgKi8KK30KIAogUHlEb2NfU1RSVkFSKHBvc2l4X19pc2Rpcl9fZG9jX18sCiAiUmV0dXJuIHRydWUgaWYgdGhlIHBhdGhuYW1lIHJlZmVycyB0byBhbiBleGlzdGluZyBkaXJlY3RvcnkuIik7CiAKKy8qIEFDIDMuNTogY29udmVydCB1c2luZyBwYXRoIGNvbnZlcnRlciAqLwogc3RhdGljIFB5T2JqZWN0ICoKIHBvc2l4X19pc2RpcihQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCiB7CkBAIC00MDU1LDIyICs0NzY3LDU1IEBACiAgICAgICAgIFB5X1JFVFVSTl9GQUxTRTsKIH0KIAotUHlEb2NfU1RSVkFSKHBvc2l4X19nZXR2b2x1bWVwYXRobmFtZV9fZG9jX18sCi0iUmV0dXJuIHZvbHVtZSBtb3VudCBwb2ludCBvZiB0aGUgc3BlY2lmaWVkIHBhdGguIik7CiAKLS8qIEEgaGVscGVyIGZ1bmN0aW9uIGZvciBpc21vdW50IG9uIHdpbmRvd3MgKi8KKy8qW2NsaW5pYyBpbnB1dF0KK29zLl9nZXR2b2x1bWVwYXRobmFtZQorCisgICAgcGF0aDogdW5pY29kZQorCitBIGhlbHBlciBmdW5jdGlvbiBmb3IgaXNtb3VudCBvbiBXaW4zMi4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX19nZXR2b2x1bWVwYXRobmFtZV9fZG9jX18sCisiX2dldHZvbHVtZXBhdGhuYW1lKCRtb2R1bGUsIC8sIHBhdGgpXG4iCisiLS1cbiIKKyJcbiIKKyJBIGhlbHBlciBmdW5jdGlvbiBmb3IgaXNtb3VudCBvbiBXaW4zMi4iKTsKKworI2RlZmluZSBPU19fR0VUVk9MVU1FUEFUSE5BTUVfTUVUSE9EREVGICAgIFwKKyAgICB7Il9nZXR2b2x1bWVwYXRobmFtZSIsIChQeUNGdW5jdGlvbilvc19fZ2V0dm9sdW1lcGF0aG5hbWUsIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBvc19fZ2V0dm9sdW1lcGF0aG5hbWVfX2RvY19ffSwKKwogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X19nZXR2b2x1bWVwYXRobmFtZShQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitvc19fZ2V0dm9sdW1lcGF0aG5hbWVfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqcGF0aCk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19fZ2V0dm9sdW1lcGF0aG5hbWUoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCiB7Ci0gICAgUHlPYmplY3QgKnBvLCAqcmVzdWx0OwotICAgIHdjaGFyX3QgKnBhdGgsICptb3VudHBhdGg9TlVMTDsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBzdGF0aWMgY2hhciAqX2tleXdvcmRzW10gPSB7InBhdGgiLCBOVUxMfTsKKyAgICBQeU9iamVjdCAqcGF0aDsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywKKyAgICAgICAgIlU6X2dldHZvbHVtZXBhdGhuYW1lIiwgX2tleXdvcmRzLAorICAgICAgICAmcGF0aCkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBvc19fZ2V0dm9sdW1lcGF0aG5hbWVfaW1wbChtb2R1bGUsIHBhdGgpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19fZ2V0dm9sdW1lcGF0aG5hbWVfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqcGF0aCkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1hYzA4MzNiNmQ2ZGE3NjU3IGlucHV0PTdlYWNhZGM0MGFjYmRhNmJdKi8KK3sKKyAgICBQeU9iamVjdCAqcmVzdWx0OworICAgIHdjaGFyX3QgKnBhdGhfd2NoYXIsICptb3VudHBhdGg9TlVMTDsKICAgICBzaXplX3QgYnVmbGVuOwogICAgIEJPT0wgcmV0OwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJVfDpfZ2V0dm9sdW1lcGF0aG5hbWUiLCAmcG8pKQotICAgICAgICByZXR1cm4gTlVMTDsKLSAgICBwYXRoID0gUHlVbmljb2RlX0FzVW5pY29kZUFuZFNpemUocG8sICZidWZsZW4pOwotICAgIGlmIChwYXRoID09IE5VTEwpCisgICAgcGF0aF93Y2hhciA9IFB5VW5pY29kZV9Bc1VuaWNvZGVBbmRTaXplKHBhdGgsICZidWZsZW4pOworICAgIGlmIChwYXRoX3djaGFyID09IE5VTEwpCiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIGJ1ZmxlbiArPSAxOwogCkBAIC00MDg3LDEyICs0ODMyLDEyIEBACiAgICAgICAgIHJldHVybiBQeUVycl9Ob01lbW9yeSgpOwogCiAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwotICAgIHJldCA9IEdldFZvbHVtZVBhdGhOYW1lVyhwYXRoLCBtb3VudHBhdGgsCisgICAgcmV0ID0gR2V0Vm9sdW1lUGF0aE5hbWVXKHBhdGhfd2NoYXIsIG1vdW50cGF0aCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlfU0FGRV9ET1dOQ0FTVChidWZsZW4sIHNpemVfdCwgRFdPUkQpKTsKICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUwogCiAgICAgaWYgKCFyZXQpIHsKLSAgICAgICAgcmVzdWx0ID0gd2luMzJfZXJyb3Jfb2JqZWN0KCJfZ2V0dm9sdW1lcGF0aG5hbWUiLCBwbyk7CisgICAgICAgIHJlc3VsdCA9IHdpbjMyX2Vycm9yX29iamVjdCgiX2dldHZvbHVtZXBhdGhuYW1lIiwgcGF0aCk7CiAgICAgICAgIGdvdG8gZXhpdDsKICAgICB9CiAgICAgcmVzdWx0ID0gUHlVbmljb2RlX0Zyb21XaWRlQ2hhcihtb3VudHBhdGgsIHdjc2xlbihtb3VudHBhdGgpKTsKQEAgLTQxMDEsNzggKzQ4NDYsMTA3IEBACiAgICAgUHlNZW1fRnJlZShtb3VudHBhdGgpOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci0vKiBlbmQgb2YgcG9zaXhfX2dldHZvbHVtZXBhdGhuYW1lICovCiAKICNlbmRpZiAvKiBNU19XSU5ET1dTICovCiAKLVB5RG9jX1NUUlZBUihwb3NpeF9ta2Rpcl9fZG9jX18sCi0ibWtkaXIocGF0aCwgbW9kZT0wbzc3NywgKiwgZGlyX2ZkPU5vbmUpXG5cblwKLUNyZWF0ZSBhIGRpcmVjdG9yeS5cblwKLVxuXAotSWYgZGlyX2ZkIGlzIG5vdCBOb25lLCBpdCBzaG91bGQgYmUgYSBmaWxlIGRlc2NyaXB0b3Igb3BlbiB0byBhIGRpcmVjdG9yeSxcblwKLSAgYW5kIHBhdGggc2hvdWxkIGJlIHJlbGF0aXZlOyBwYXRoIHdpbGwgdGhlbiBiZSByZWxhdGl2ZSB0byB0aGF0IGRpcmVjdG9yeS5cblwKLWRpcl9mZCBtYXkgbm90IGJlIGltcGxlbWVudGVkIG9uIHlvdXIgcGxhdGZvcm0uXG5cCi0gIElmIGl0IGlzIHVuYXZhaWxhYmxlLCB1c2luZyBpdCB3aWxsIHJhaXNlIGEgTm90SW1wbGVtZW50ZWRFcnJvci5cblwKLVxuXAotVGhlIG1vZGUgYXJndW1lbnQgaXMgaWdub3JlZCBvbiBXaW5kb3dzLiIpOworCisvKltjbGluaWMgaW5wdXRdCitvcy5ta2RpcgorCisgICAgcGF0aCA6IHBhdGhfdAorCisgICAgbW9kZTogaW50ID0gMG83NzcKKworICAgICoKKworICAgIGRpcl9mZCA6IGRpcl9mZChyZXF1aXJlcz0nbWtkaXJhdCcpID0gTm9uZQorCisjICJta2RpcihwYXRoLCBtb2RlPTBvNzc3LCAqLCBkaXJfZmQ9Tm9uZSlcblxuXAorCitDcmVhdGUgYSBkaXJlY3RvcnkuCisKK0lmIGRpcl9mZCBpcyBub3QgTm9uZSwgaXQgc2hvdWxkIGJlIGEgZmlsZSBkZXNjcmlwdG9yIG9wZW4gdG8gYSBkaXJlY3RvcnksCisgIGFuZCBwYXRoIHNob3VsZCBiZSByZWxhdGl2ZTsgcGF0aCB3aWxsIHRoZW4gYmUgcmVsYXRpdmUgdG8gdGhhdCBkaXJlY3RvcnkuCitkaXJfZmQgbWF5IG5vdCBiZSBpbXBsZW1lbnRlZCBvbiB5b3VyIHBsYXRmb3JtLgorICBJZiBpdCBpcyB1bmF2YWlsYWJsZSwgdXNpbmcgaXQgd2lsbCByYWlzZSBhIE5vdEltcGxlbWVudGVkRXJyb3IuCisKK1RoZSBtb2RlIGFyZ3VtZW50IGlzIGlnbm9yZWQgb24gV2luZG93cy4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX21rZGlyX19kb2NfXywKKyJta2RpcigkbW9kdWxlLCAvLCBwYXRoLCBtb2RlPTUxMSwgKiwgZGlyX2ZkPU5vbmUpXG4iCisiLS1cbiIKKyJcbiIKKyJDcmVhdGUgYSBkaXJlY3RvcnkuXG4iCisiXG4iCisiSWYgZGlyX2ZkIGlzIG5vdCBOb25lLCBpdCBzaG91bGQgYmUgYSBmaWxlIGRlc2NyaXB0b3Igb3BlbiB0byBhIGRpcmVjdG9yeSxcbiIKKyIgIGFuZCBwYXRoIHNob3VsZCBiZSByZWxhdGl2ZTsgcGF0aCB3aWxsIHRoZW4gYmUgcmVsYXRpdmUgdG8gdGhhdCBkaXJlY3RvcnkuXG4iCisiZGlyX2ZkIG1heSBub3QgYmUgaW1wbGVtZW50ZWQgb24geW91ciBwbGF0Zm9ybS5cbiIKKyIgIElmIGl0IGlzIHVuYXZhaWxhYmxlLCB1c2luZyBpdCB3aWxsIHJhaXNlIGEgTm90SW1wbGVtZW50ZWRFcnJvci5cbiIKKyJcbiIKKyJUaGUgbW9kZSBhcmd1bWVudCBpcyBpZ25vcmVkIG9uIFdpbmRvd3MuIik7CisKKyNkZWZpbmUgT1NfTUtESVJfTUVUSE9EREVGICAgIFwKKyAgICB7Im1rZGlyIiwgKFB5Q0Z1bmN0aW9uKW9zX21rZGlyLCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgb3NfbWtkaXJfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X21rZGlyKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKLXsKLSAgICBwYXRoX3QgcGF0aDsKLSAgICBpbnQgbW9kZSA9IDA3Nzc7Ci0gICAgaW50IGRpcl9mZCA9IERFRkFVTFRfRElSX0ZEOwotICAgIHN0YXRpYyBjaGFyICprZXl3b3Jkc1tdID0geyJwYXRoIiwgIm1vZGUiLCAiZGlyX2ZkIiwgTlVMTH07Ci0gICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7Ci0gICAgaW50IHJlc3VsdDsKK29zX21rZGlyX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgcGF0aF90ICpwYXRoLCBpbnQgbW9kZSwgaW50IGRpcl9mZCk7CiAKLSAgICBtZW1zZXQoJnBhdGgsIDAsIHNpemVvZihwYXRoKSk7Ci0gICAgcGF0aC5mdW5jdGlvbl9uYW1lID0gIm1rZGlyIjsKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsICJPJnxpJE8mOm1rZGlyIiwga2V5d29yZHMsCi0gICAgICAgIHBhdGhfY29udmVydGVyLCAmcGF0aCwgJm1vZGUsCi0jaWZkZWYgSEFWRV9NS0RJUkFUCi0gICAgICAgIGRpcl9mZF9jb252ZXJ0ZXIsICZkaXJfZmQKLSNlbHNlCi0gICAgICAgIGRpcl9mZF91bmF2YWlsYWJsZSwgJmRpcl9mZAotI2VuZGlmCi0gICAgICAgICkpCi0gICAgICAgIHJldHVybiBOVUxMOworc3RhdGljIFB5T2JqZWN0ICoKK29zX21rZGlyKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQoreworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIHN0YXRpYyBjaGFyICpfa2V5d29yZHNbXSA9IHsicGF0aCIsICJtb2RlIiwgImRpcl9mZCIsIE5VTEx9OworICAgIHBhdGhfdCBwYXRoID0gUEFUSF9UX0lOSVRJQUxJWkUoIm1rZGlyIiwgInBhdGgiLCAwLCAwKTsKKyAgICBpbnQgbW9kZSA9IDUxMTsKKyAgICBpbnQgZGlyX2ZkID0gREVGQVVMVF9ESVJfRkQ7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsCisgICAgICAgICJPJnxpJE8mOm1rZGlyIiwgX2tleXdvcmRzLAorICAgICAgICBwYXRoX2NvbnZlcnRlciwgJnBhdGgsICZtb2RlLCBNS0RJUkFUX0RJUl9GRF9DT05WRVJURVIsICZkaXJfZmQpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gb3NfbWtkaXJfaW1wbChtb2R1bGUsICZwYXRoLCBtb2RlLCBkaXJfZmQpOworCitleGl0OgorICAgIC8qIENsZWFudXAgZm9yIHBhdGggKi8KKyAgICBwYXRoX2NsZWFudXAoJnBhdGgpOworCisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX21rZGlyX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgcGF0aF90ICpwYXRoLCBpbnQgbW9kZSwgaW50IGRpcl9mZCkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD01NWM2ZWYyYmMxYjIwN2U2IGlucHV0PWU5NjVmNjgzNzdlOWIxY2VdKi8KK3sKKyAgICBpbnQgcmVzdWx0OwogCiAjaWZkZWYgTVNfV0lORE9XUwogICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKLSAgICBpZiAocGF0aC53aWRlKQotICAgICAgICByZXN1bHQgPSBDcmVhdGVEaXJlY3RvcnlXKHBhdGgud2lkZSwgTlVMTCk7CisgICAgaWYgKHBhdGgtPndpZGUpCisgICAgICAgIHJlc3VsdCA9IENyZWF0ZURpcmVjdG9yeVcocGF0aC0+d2lkZSwgTlVMTCk7CiAgICAgZWxzZQotICAgICAgICByZXN1bHQgPSBDcmVhdGVEaXJlY3RvcnlBKHBhdGgubmFycm93LCBOVUxMKTsKKyAgICAgICAgcmVzdWx0ID0gQ3JlYXRlRGlyZWN0b3J5QShwYXRoLT5uYXJyb3csIE5VTEwpOwogICAgIFB5X0VORF9BTExPV19USFJFQURTCiAKLSAgICBpZiAoIXJlc3VsdCkgewotICAgICAgICByZXR1cm5fdmFsdWUgPSBwYXRoX2Vycm9yKCZwYXRoKTsKLSAgICAgICAgZ290byBleGl0OwotICAgIH0KKyAgICBpZiAoIXJlc3VsdCkKKyAgICAgICAgcmV0dXJuIHBhdGhfZXJyb3IocGF0aCk7CiAjZWxzZQogICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKICNpZiBIQVZFX01LRElSQVQKICAgICBpZiAoZGlyX2ZkICE9IERFRkFVTFRfRElSX0ZEKQotICAgICAgICByZXN1bHQgPSBta2RpcmF0KGRpcl9mZCwgcGF0aC5uYXJyb3csIG1vZGUpOworICAgICAgICByZXN1bHQgPSBta2RpcmF0KGRpcl9mZCwgcGF0aC0+bmFycm93LCBtb2RlKTsKICAgICBlbHNlCiAjZW5kaWYKICNpZiAoIGRlZmluZWQoX19XQVRDT01DX18pIHx8IGRlZmluZWQoUFlDQ19WQUNQUCkgKSAmJiAhZGVmaW5lZChfX1FOWF9fKQotICAgICAgICByZXN1bHQgPSBta2RpcihwYXRoLm5hcnJvdyk7CisgICAgICAgIHJlc3VsdCA9IG1rZGlyKHBhdGgtPm5hcnJvdyk7CiAjZWxzZQotICAgICAgICByZXN1bHQgPSBta2RpcihwYXRoLm5hcnJvdywgbW9kZSk7CisgICAgICAgIHJlc3VsdCA9IG1rZGlyKHBhdGgtPm5hcnJvdywgbW9kZSk7CiAjZW5kaWYKICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUwotICAgIGlmIChyZXN1bHQgPCAwKSB7Ci0gICAgICAgIHJldHVybl92YWx1ZSA9IHBhdGhfZXJyb3IoJnBhdGgpOwotICAgICAgICBnb3RvIGV4aXQ7Ci0gICAgfQorICAgIGlmIChyZXN1bHQgPCAwKQorICAgICAgICByZXR1cm4gcGF0aF9lcnJvcihwYXRoKTsKICNlbmRpZgotICAgIHJldHVybl92YWx1ZSA9IFB5X05vbmU7Ci0gICAgUHlfSU5DUkVGKFB5X05vbmUpOwotZXhpdDoKLSAgICBwYXRoX2NsZWFudXAoJnBhdGgpOwotICAgIHJldHVybiByZXR1cm5fdmFsdWU7CisgICAgUHlfUkVUVVJOX05PTkU7CiB9CiAKIApAQCAtNDE4MywxNyArNDk1Nyw0OCBAQAogCiAKICNpZmRlZiBIQVZFX05JQ0UKLVB5RG9jX1NUUlZBUihwb3NpeF9uaWNlX19kb2NfXywKLSJuaWNlKGluYykgLT4gbmV3X3ByaW9yaXR5XG5cblwKLURlY3JlYXNlIHRoZSBwcmlvcml0eSBvZiBwcm9jZXNzIGJ5IGluYyBhbmQgcmV0dXJuIHRoZSBuZXcgcHJpb3JpdHkuIik7CisvKltjbGluaWMgaW5wdXRdCitvcy5uaWNlCisKKyAgICBpbmNyZW1lbnQ6IGludAorICAgIC8KKworQWRkIGluY3JlbWVudCB0byB0aGUgcHJpb3JpdHkgb2YgcHJvY2VzcyBhbmQgcmV0dXJuIHRoZSBuZXcgcHJpb3JpdHkuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19uaWNlX19kb2NfXywKKyJuaWNlKCRtb2R1bGUsIGluY3JlbWVudCwgLylcbiIKKyItLVxuIgorIlxuIgorIkFkZCBpbmNyZW1lbnQgdG8gdGhlIHByaW9yaXR5IG9mIHByb2Nlc3MgYW5kIHJldHVybiB0aGUgbmV3IHByaW9yaXR5LiIpOworCisjZGVmaW5lIE9TX05JQ0VfTUVUSE9EREVGICAgIFwKKyAgICB7Im5pY2UiLCAoUHlDRnVuY3Rpb24pb3NfbmljZSwgTUVUSF9WQVJBUkdTLCBvc19uaWNlX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9uaWNlKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKLXsKLSAgICBpbnQgaW5jcmVtZW50LCB2YWx1ZTsKK29zX25pY2VfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgaW5jcmVtZW50KTsKIAotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiaTpuaWNlIiwgJmluY3JlbWVudCkpCi0gICAgICAgIHJldHVybiBOVUxMOworc3RhdGljIFB5T2JqZWN0ICoKK29zX25pY2UoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgaW50IGluY3JlbWVudDsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAiaTpuaWNlIiwKKyAgICAgICAgJmluY3JlbWVudCkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBvc19uaWNlX2ltcGwobW9kdWxlLCBpbmNyZW1lbnQpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19uaWNlX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IGluY3JlbWVudCkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1jMzYwZGMyYTNiZDhlM2QwIGlucHV0PTg2NGJlMmQ0MDJhMjFkYTJdKi8KK3sKKyAgICBpbnQgdmFsdWU7CiAKICAgICAvKiBUaGVyZSBhcmUgdHdvIGZsYXZvdXJzIG9mICduaWNlJzogb25lIHRoYXQgcmV0dXJucyB0aGUgbmV3CiAgICAgICAgcHJpb3JpdHkgKGFzIHJlcXVpcmVkIGJ5IGFsbW9zdCBhbGwgc3RhbmRhcmRzIG91dCB0aGVyZSkgYW5kIHRoZQpAQCAtNDIyMCwxNyArNTAyNSw1MSBAQAogCiAKICNpZmRlZiBIQVZFX0dFVFBSSU9SSVRZCi1QeURvY19TVFJWQVIocG9zaXhfZ2V0cHJpb3JpdHlfX2RvY19fLAotImdldHByaW9yaXR5KHdoaWNoLCB3aG8pIC0+IGN1cnJlbnRfcHJpb3JpdHlcblxuXAotR2V0IHByb2dyYW0gc2NoZWR1bGluZyBwcmlvcml0eS4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK29zLmdldHByaW9yaXR5CisKKyAgICB3aGljaDogaW50CisgICAgd2hvOiBpbnQKKworUmV0dXJuIHByb2dyYW0gc2NoZWR1bGluZyBwcmlvcml0eS4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX2dldHByaW9yaXR5X19kb2NfXywKKyJnZXRwcmlvcml0eSgkbW9kdWxlLCAvLCB3aGljaCwgd2hvKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIHByb2dyYW0gc2NoZWR1bGluZyBwcmlvcml0eS4iKTsKKworI2RlZmluZSBPU19HRVRQUklPUklUWV9NRVRIT0RERUYgICAgXAorICAgIHsiZ2V0cHJpb3JpdHkiLCAoUHlDRnVuY3Rpb24pb3NfZ2V0cHJpb3JpdHksIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBvc19nZXRwcmlvcml0eV9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfZ2V0cHJpb3JpdHkoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQotewotICAgIGludCB3aGljaCwgd2hvLCByZXR2YWw7Citvc19nZXRwcmlvcml0eV9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCB3aGljaCwgaW50IHdobyk7CiAKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgImlpIiwgJndoaWNoLCAmd2hvKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7CitzdGF0aWMgUHlPYmplY3QgKgorb3NfZ2V0cHJpb3JpdHkoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCit7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgc3RhdGljIGNoYXIgKl9rZXl3b3Jkc1tdID0geyJ3aGljaCIsICJ3aG8iLCBOVUxMfTsKKyAgICBpbnQgd2hpY2g7CisgICAgaW50IHdobzsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywKKyAgICAgICAgImlpOmdldHByaW9yaXR5IiwgX2tleXdvcmRzLAorICAgICAgICAmd2hpY2gsICZ3aG8pKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gb3NfZ2V0cHJpb3JpdHlfaW1wbChtb2R1bGUsIHdoaWNoLCB3aG8pOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19nZXRwcmlvcml0eV9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCB3aGljaCwgaW50IHdobykKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD04MTYzOWNmNzY1ZjA1ZGFlIGlucHV0PTliZTYxNWQ0MGUyNTQ0ZWZdKi8KK3sKKyAgICBpbnQgcmV0dmFsOworCiAgICAgZXJybm8gPSAwOwogICAgIHJldHZhbCA9IGdldHByaW9yaXR5KHdoaWNoLCB3aG8pOwogICAgIGlmIChlcnJubyAhPSAwKQpAQCAtNDI0MSwxOCArNTA4MCw1NCBAQAogCiAKICNpZmRlZiBIQVZFX1NFVFBSSU9SSVRZCi1QeURvY19TVFJWQVIocG9zaXhfc2V0cHJpb3JpdHlfX2RvY19fLAotInNldHByaW9yaXR5KHdoaWNoLCB3aG8sIHByaW8pIC0+IE5vbmVcblxuXAotU2V0IHByb2dyYW0gc2NoZWR1bGluZyBwcmlvcml0eS4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK29zLnNldHByaW9yaXR5CisKKyAgICB3aGljaDogaW50CisgICAgd2hvOiBpbnQKKyAgICBwcmlvcml0eTogaW50CisKK1NldCBwcm9ncmFtIHNjaGVkdWxpbmcgcHJpb3JpdHkuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19zZXRwcmlvcml0eV9fZG9jX18sCisic2V0cHJpb3JpdHkoJG1vZHVsZSwgLywgd2hpY2gsIHdobywgcHJpb3JpdHkpXG4iCisiLS1cbiIKKyJcbiIKKyJTZXQgcHJvZ3JhbSBzY2hlZHVsaW5nIHByaW9yaXR5LiIpOworCisjZGVmaW5lIE9TX1NFVFBSSU9SSVRZX01FVEhPRERFRiAgICBcCisgICAgeyJzZXRwcmlvcml0eSIsIChQeUNGdW5jdGlvbilvc19zZXRwcmlvcml0eSwgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIG9zX3NldHByaW9yaXR5X19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9zZXRwcmlvcml0eShQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCi17Ci0gICAgaW50IHdoaWNoLCB3aG8sIHByaW8sIHJldHZhbDsKK29zX3NldHByaW9yaXR5X2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IHdoaWNoLCBpbnQgd2hvLCBpbnQgcHJpb3JpdHkpOwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJpaWkiLCAmd2hpY2gsICZ3aG8sICZwcmlvKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgcmV0dmFsID0gc2V0cHJpb3JpdHkod2hpY2gsIHdobywgcHJpbyk7CitzdGF0aWMgUHlPYmplY3QgKgorb3Nfc2V0cHJpb3JpdHkoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCit7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgc3RhdGljIGNoYXIgKl9rZXl3b3Jkc1tdID0geyJ3aGljaCIsICJ3aG8iLCAicHJpb3JpdHkiLCBOVUxMfTsKKyAgICBpbnQgd2hpY2g7CisgICAgaW50IHdobzsKKyAgICBpbnQgcHJpb3JpdHk7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsCisgICAgICAgICJpaWk6c2V0cHJpb3JpdHkiLCBfa2V5d29yZHMsCisgICAgICAgICZ3aGljaCwgJndobywgJnByaW9yaXR5KSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IG9zX3NldHByaW9yaXR5X2ltcGwobW9kdWxlLCB3aGljaCwgd2hvLCBwcmlvcml0eSk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3NldHByaW9yaXR5X2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IHdoaWNoLCBpbnQgd2hvLCBpbnQgcHJpb3JpdHkpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ZGRhZDYyNjUxZmIyMTIwYyBpbnB1dD03MTBjY2JmNjViOWRjNTEzXSovCit7CisgICAgaW50IHJldHZhbDsKKworICAgIHJldHZhbCA9IHNldHByaW9yaXR5KHdoaWNoLCB3aG8sIHByaW9yaXR5KTsKICAgICBpZiAocmV0dmFsID09IC0xKQogICAgICAgICByZXR1cm4gcG9zaXhfZXJyb3IoKTsKICAgICBQeV9SRVRVUk5fTk9ORTsKQEAgLTQyNjEsMTcgKzUxMzYsMTAgQEAKIAogCiBzdGF0aWMgUHlPYmplY3QgKgotaW50ZXJuYWxfcmVuYW1lKFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzLCBpbnQgaXNfcmVwbGFjZSkKK2ludGVybmFsX3JlbmFtZShwYXRoX3QgKnNyYywgcGF0aF90ICpkc3QsIGludCBzcmNfZGlyX2ZkLCBpbnQgZHN0X2Rpcl9mZCwgaW50IGlzX3JlcGxhY2UpCiB7CiAgICAgY2hhciAqZnVuY3Rpb25fbmFtZSA9IGlzX3JlcGxhY2UgPyAicmVwbGFjZSIgOiAicmVuYW1lIjsKLSAgICBwYXRoX3Qgc3JjOwotICAgIHBhdGhfdCBkc3Q7Ci0gICAgaW50IHNyY19kaXJfZmQgPSBERUZBVUxUX0RJUl9GRDsKLSAgICBpbnQgZHN0X2Rpcl9mZCA9IERFRkFVTFRfRElSX0ZEOwogICAgIGludCBkaXJfZmRfc3BlY2lmaWVkOwotICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOwotICAgIGNoYXIgZm9ybWF0WzI0XTsKLSAgICBzdGF0aWMgY2hhciAqa2V5d29yZHNbXSA9IHsic3JjIiwgImRzdCIsICJzcmNfZGlyX2ZkIiwgImRzdF9kaXJfZmQiLCBOVUxMfTsKIAogI2lmZGVmIE1TX1dJTkRPV1MKICAgICBCT09MIHJlc3VsdDsKQEAgLTQyODAsMjEwICs1MTQ4LDQxOSBAQAogICAgIGludCByZXN1bHQ7CiAjZW5kaWYKIAotICAgIG1lbXNldCgmc3JjLCAwLCBzaXplb2Yoc3JjKSk7Ci0gICAgbWVtc2V0KCZkc3QsIDAsIHNpemVvZihkc3QpKTsKLSAgICBzcmMuZnVuY3Rpb25fbmFtZSA9IGZ1bmN0aW9uX25hbWU7Ci0gICAgZHN0LmZ1bmN0aW9uX25hbWUgPSBmdW5jdGlvbl9uYW1lOwotICAgIHN0cmNweShmb3JtYXQsICJPJk8mfCRPJk8mOiIpOwotICAgIHN0cmNhdChmb3JtYXQsIGZ1bmN0aW9uX25hbWUpOwotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywgZm9ybWF0LCBrZXl3b3JkcywKLSAgICAgICAgcGF0aF9jb252ZXJ0ZXIsICZzcmMsCi0gICAgICAgIHBhdGhfY29udmVydGVyLCAmZHN0LAotICAgICAgICBkaXJfZmRfY29udmVydGVyLCAmc3JjX2Rpcl9mZCwKLSAgICAgICAgZGlyX2ZkX2NvbnZlcnRlciwgJmRzdF9kaXJfZmQpKQotICAgICAgICByZXR1cm4gTlVMTDsKLQogICAgIGRpcl9mZF9zcGVjaWZpZWQgPSAoc3JjX2Rpcl9mZCAhPSBERUZBVUxUX0RJUl9GRCkgfHwKICAgICAgICAgICAgICAgICAgICAgICAgKGRzdF9kaXJfZmQgIT0gREVGQVVMVF9ESVJfRkQpOwogI2lmbmRlZiBIQVZFX1JFTkFNRUFUCiAgICAgaWYgKGRpcl9mZF9zcGVjaWZpZWQpIHsKICAgICAgICAgYXJndW1lbnRfdW5hdmFpbGFibGVfZXJyb3IoZnVuY3Rpb25fbmFtZSwgInNyY19kaXJfZmQgYW5kIGRzdF9kaXJfZmQiKTsKLSAgICAgICAgZ290byBleGl0OworICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CiAjZW5kaWYKIAotICAgIGlmICgoc3JjLm5hcnJvdyAmJiBkc3Qud2lkZSkgfHwgKHNyYy53aWRlICYmIGRzdC5uYXJyb3cpKSB7CisgICAgaWYgKChzcmMtPm5hcnJvdyAmJiBkc3QtPndpZGUpIHx8IChzcmMtPndpZGUgJiYgZHN0LT5uYXJyb3cpKSB7CiAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19WYWx1ZUVycm9yLAogICAgICAgICAgICAgICAgICAgICAgIiVzOiBzcmMgYW5kIGRzdCBtdXN0IGJlIHRoZSBzYW1lIHR5cGUiLCBmdW5jdGlvbl9uYW1lKTsKLSAgICAgICAgZ290byBleGl0OworICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CiAKICNpZmRlZiBNU19XSU5ET1dTCiAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwotICAgIGlmIChzcmMud2lkZSkKLSAgICAgICAgcmVzdWx0ID0gTW92ZUZpbGVFeFcoc3JjLndpZGUsIGRzdC53aWRlLCBmbGFncyk7CisgICAgaWYgKHNyYy0+d2lkZSkKKyAgICAgICAgcmVzdWx0ID0gTW92ZUZpbGVFeFcoc3JjLT53aWRlLCBkc3QtPndpZGUsIGZsYWdzKTsKICAgICBlbHNlCi0gICAgICAgIHJlc3VsdCA9IE1vdmVGaWxlRXhBKHNyYy5uYXJyb3csIGRzdC5uYXJyb3csIGZsYWdzKTsKKyAgICAgICAgcmVzdWx0ID0gTW92ZUZpbGVFeEEoc3JjLT5uYXJyb3csIGRzdC0+bmFycm93LCBmbGFncyk7CiAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKIAotICAgIGlmICghcmVzdWx0KSB7Ci0gICAgICAgIHJldHVybl92YWx1ZSA9IHBhdGhfZXJyb3IyKCZzcmMsICZkc3QpOwotICAgICAgICBnb3RvIGV4aXQ7Ci0gICAgfQorICAgIGlmICghcmVzdWx0KQorICAgICAgICByZXR1cm4gcGF0aF9lcnJvcjIoc3JjLCBkc3QpOwogCiAjZWxzZQogICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKICNpZmRlZiBIQVZFX1JFTkFNRUFUCiAgICAgaWYgKGRpcl9mZF9zcGVjaWZpZWQpCi0gICAgICAgIHJlc3VsdCA9IHJlbmFtZWF0KHNyY19kaXJfZmQsIHNyYy5uYXJyb3csIGRzdF9kaXJfZmQsIGRzdC5uYXJyb3cpOworICAgICAgICByZXN1bHQgPSByZW5hbWVhdChzcmNfZGlyX2ZkLCBzcmMtPm5hcnJvdywgZHN0X2Rpcl9mZCwgZHN0LT5uYXJyb3cpOwogICAgIGVsc2UKICNlbmRpZgotICAgICAgICByZXN1bHQgPSByZW5hbWUoc3JjLm5hcnJvdywgZHN0Lm5hcnJvdyk7CisgICAgICAgIHJlc3VsdCA9IHJlbmFtZShzcmMtPm5hcnJvdywgZHN0LT5uYXJyb3cpOwogICAgIFB5X0VORF9BTExPV19USFJFQURTCiAKLSAgICBpZiAocmVzdWx0KSB7Ci0gICAgICAgIHJldHVybl92YWx1ZSA9IHBhdGhfZXJyb3IyKCZzcmMsICZkc3QpOwotICAgICAgICBnb3RvIGV4aXQ7Ci0gICAgfQorICAgIGlmIChyZXN1bHQpCisgICAgICAgIHJldHVybiBwYXRoX2Vycm9yMihzcmMsIGRzdCk7CiAjZW5kaWYKKyAgICBQeV9SRVRVUk5fTk9ORTsKK30KIAotICAgIFB5X0lOQ1JFRihQeV9Ob25lKTsKLSAgICByZXR1cm5fdmFsdWUgPSBQeV9Ob25lOworCisvKltjbGluaWMgaW5wdXRdCitvcy5yZW5hbWUKKworICAgIHNyYyA6IHBhdGhfdAorICAgIGRzdCA6IHBhdGhfdAorICAgICoKKyAgICBzcmNfZGlyX2ZkIDogZGlyX2ZkID0gTm9uZQorICAgIGRzdF9kaXJfZmQgOiBkaXJfZmQgPSBOb25lCisKK1JlbmFtZSBhIGZpbGUgb3IgZGlyZWN0b3J5LgorCitJZiBlaXRoZXIgc3JjX2Rpcl9mZCBvciBkc3RfZGlyX2ZkIGlzIG5vdCBOb25lLCBpdCBzaG91bGQgYmUgYSBmaWxlCisgIGRlc2NyaXB0b3Igb3BlbiB0byBhIGRpcmVjdG9yeSwgYW5kIHRoZSByZXNwZWN0aXZlIHBhdGggc3RyaW5nIChzcmMgb3IgZHN0KQorICBzaG91bGQgYmUgcmVsYXRpdmU7IHRoZSBwYXRoIHdpbGwgdGhlbiBiZSByZWxhdGl2ZSB0byB0aGF0IGRpcmVjdG9yeS4KK3NyY19kaXJfZmQgYW5kIGRzdF9kaXJfZmQsIG1heSBub3QgYmUgaW1wbGVtZW50ZWQgb24geW91ciBwbGF0Zm9ybS4KKyAgSWYgdGhleSBhcmUgdW5hdmFpbGFibGUsIHVzaW5nIHRoZW0gd2lsbCByYWlzZSBhIE5vdEltcGxlbWVudGVkRXJyb3IuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19yZW5hbWVfX2RvY19fLAorInJlbmFtZSgkbW9kdWxlLCAvLCBzcmMsIGRzdCwgKiwgc3JjX2Rpcl9mZD1Ob25lLCBkc3RfZGlyX2ZkPU5vbmUpXG4iCisiLS1cbiIKKyJcbiIKKyJSZW5hbWUgYSBmaWxlIG9yIGRpcmVjdG9yeS5cbiIKKyJcbiIKKyJJZiBlaXRoZXIgc3JjX2Rpcl9mZCBvciBkc3RfZGlyX2ZkIGlzIG5vdCBOb25lLCBpdCBzaG91bGQgYmUgYSBmaWxlXG4iCisiICBkZXNjcmlwdG9yIG9wZW4gdG8gYSBkaXJlY3RvcnksIGFuZCB0aGUgcmVzcGVjdGl2ZSBwYXRoIHN0cmluZyAoc3JjIG9yIGRzdClcbiIKKyIgIHNob3VsZCBiZSByZWxhdGl2ZTsgdGhlIHBhdGggd2lsbCB0aGVuIGJlIHJlbGF0aXZlIHRvIHRoYXQgZGlyZWN0b3J5LlxuIgorInNyY19kaXJfZmQgYW5kIGRzdF9kaXJfZmQsIG1heSBub3QgYmUgaW1wbGVtZW50ZWQgb24geW91ciBwbGF0Zm9ybS5cbiIKKyIgIElmIHRoZXkgYXJlIHVuYXZhaWxhYmxlLCB1c2luZyB0aGVtIHdpbGwgcmFpc2UgYSBOb3RJbXBsZW1lbnRlZEVycm9yLiIpOworCisjZGVmaW5lIE9TX1JFTkFNRV9NRVRIT0RERUYgICAgXAorICAgIHsicmVuYW1lIiwgKFB5Q0Z1bmN0aW9uKW9zX3JlbmFtZSwgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIG9zX3JlbmFtZV9fZG9jX199LAorCitzdGF0aWMgUHlPYmplY3QgKgorb3NfcmVuYW1lX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgcGF0aF90ICpzcmMsIHBhdGhfdCAqZHN0LCBpbnQgc3JjX2Rpcl9mZCwgaW50IGRzdF9kaXJfZmQpOworCitzdGF0aWMgUHlPYmplY3QgKgorb3NfcmVuYW1lKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQoreworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIHN0YXRpYyBjaGFyICpfa2V5d29yZHNbXSA9IHsic3JjIiwgImRzdCIsICJzcmNfZGlyX2ZkIiwgImRzdF9kaXJfZmQiLCBOVUxMfTsKKyAgICBwYXRoX3Qgc3JjID0gUEFUSF9UX0lOSVRJQUxJWkUoInJlbmFtZSIsICJzcmMiLCAwLCAwKTsKKyAgICBwYXRoX3QgZHN0ID0gUEFUSF9UX0lOSVRJQUxJWkUoInJlbmFtZSIsICJkc3QiLCAwLCAwKTsKKyAgICBpbnQgc3JjX2Rpcl9mZCA9IERFRkFVTFRfRElSX0ZEOworICAgIGludCBkc3RfZGlyX2ZkID0gREVGQVVMVF9ESVJfRkQ7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsCisgICAgICAgICJPJk8mfCRPJk8mOnJlbmFtZSIsIF9rZXl3b3JkcywKKyAgICAgICAgcGF0aF9jb252ZXJ0ZXIsICZzcmMsIHBhdGhfY29udmVydGVyLCAmZHN0LCBkaXJfZmRfY29udmVydGVyLCAmc3JjX2Rpcl9mZCwgZGlyX2ZkX2NvbnZlcnRlciwgJmRzdF9kaXJfZmQpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gb3NfcmVuYW1lX2ltcGwobW9kdWxlLCAmc3JjLCAmZHN0LCBzcmNfZGlyX2ZkLCBkc3RfZGlyX2ZkKTsKKwogZXhpdDoKKyAgICAvKiBDbGVhbnVwIGZvciBzcmMgKi8KICAgICBwYXRoX2NsZWFudXAoJnNyYyk7CisgICAgLyogQ2xlYW51cCBmb3IgZHN0ICovCiAgICAgcGF0aF9jbGVhbnVwKCZkc3QpOworCiAgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKIH0KIAotUHlEb2NfU1RSVkFSKHBvc2l4X3JlbmFtZV9fZG9jX18sCi0icmVuYW1lKHNyYywgZHN0LCAqLCBzcmNfZGlyX2ZkPU5vbmUsIGRzdF9kaXJfZmQ9Tm9uZSlcblxuXAotUmVuYW1lIGEgZmlsZSBvciBkaXJlY3RvcnkuXG5cCi1cblwKLUlmIGVpdGhlciBzcmNfZGlyX2ZkIG9yIGRzdF9kaXJfZmQgaXMgbm90IE5vbmUsIGl0IHNob3VsZCBiZSBhIGZpbGVcblwKLSAgZGVzY3JpcHRvciBvcGVuIHRvIGEgZGlyZWN0b3J5LCBhbmQgdGhlIHJlc3BlY3RpdmUgcGF0aCBzdHJpbmcgKHNyYyBvciBkc3QpXG5cCi0gIHNob3VsZCBiZSByZWxhdGl2ZTsgdGhlIHBhdGggd2lsbCB0aGVuIGJlIHJlbGF0aXZlIHRvIHRoYXQgZGlyZWN0b3J5LlxuXAotc3JjX2Rpcl9mZCBhbmQgZHN0X2Rpcl9mZCwgbWF5IG5vdCBiZSBpbXBsZW1lbnRlZCBvbiB5b3VyIHBsYXRmb3JtLlxuXAotICBJZiB0aGV5IGFyZSB1bmF2YWlsYWJsZSwgdXNpbmcgdGhlbSB3aWxsIHJhaXNlIGEgTm90SW1wbGVtZW50ZWRFcnJvci4iKTsKLQogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X3JlbmFtZShQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCitvc19yZW5hbWVfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBwYXRoX3QgKnNyYywgcGF0aF90ICpkc3QsIGludCBzcmNfZGlyX2ZkLCBpbnQgZHN0X2Rpcl9mZCkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1jOTM2YmRjODFmNDYwYTFlIGlucHV0PWZhYTYxYzg0NzkxMmM4NTBdKi8KIHsKLSAgICByZXR1cm4gaW50ZXJuYWxfcmVuYW1lKGFyZ3MsIGt3YXJncywgMCk7CisgICAgcmV0dXJuIGludGVybmFsX3JlbmFtZShzcmMsIGRzdCwgc3JjX2Rpcl9mZCwgZHN0X2Rpcl9mZCwgMCk7CiB9CiAKLVB5RG9jX1NUUlZBUihwb3NpeF9yZXBsYWNlX19kb2NfXywKLSJyZXBsYWNlKHNyYywgZHN0LCAqLCBzcmNfZGlyX2ZkPU5vbmUsIGRzdF9kaXJfZmQ9Tm9uZSlcblxuXAotUmVuYW1lIGEgZmlsZSBvciBkaXJlY3RvcnksIG92ZXJ3cml0aW5nIHRoZSBkZXN0aW5hdGlvbi5cblwKLVxuXAotSWYgZWl0aGVyIHNyY19kaXJfZmQgb3IgZHN0X2Rpcl9mZCBpcyBub3QgTm9uZSwgaXQgc2hvdWxkIGJlIGEgZmlsZVxuXAotICBkZXNjcmlwdG9yIG9wZW4gdG8gYSBkaXJlY3RvcnksIGFuZCB0aGUgcmVzcGVjdGl2ZSBwYXRoIHN0cmluZyAoc3JjIG9yIGRzdClcblwKLSAgc2hvdWxkIGJlIHJlbGF0aXZlOyB0aGUgcGF0aCB3aWxsIHRoZW4gYmUgcmVsYXRpdmUgdG8gdGhhdCBkaXJlY3RvcnkuXG5cCi1zcmNfZGlyX2ZkIGFuZCBkc3RfZGlyX2ZkLCBtYXkgbm90IGJlIGltcGxlbWVudGVkIG9uIHlvdXIgcGxhdGZvcm0uXG5cCi0gIElmIHRoZXkgYXJlIHVuYXZhaWxhYmxlLCB1c2luZyB0aGVtIHdpbGwgcmFpc2UgYSBOb3RJbXBsZW1lbnRlZEVycm9yLiIpOworCisvKltjbGluaWMgaW5wdXRdCitvcy5yZXBsYWNlID0gb3MucmVuYW1lCisKK1JlbmFtZSBhIGZpbGUgb3IgZGlyZWN0b3J5LCBvdmVyd3JpdGluZyB0aGUgZGVzdGluYXRpb24uCisKK0lmIGVpdGhlciBzcmNfZGlyX2ZkIG9yIGRzdF9kaXJfZmQgaXMgbm90IE5vbmUsIGl0IHNob3VsZCBiZSBhIGZpbGUKKyAgZGVzY3JpcHRvciBvcGVuIHRvIGEgZGlyZWN0b3J5LCBhbmQgdGhlIHJlc3BlY3RpdmUgcGF0aCBzdHJpbmcgKHNyYyBvciBkc3QpCisgIHNob3VsZCBiZSByZWxhdGl2ZTsgdGhlIHBhdGggd2lsbCB0aGVuIGJlIHJlbGF0aXZlIHRvIHRoYXQgZGlyZWN0b3J5Lgorc3JjX2Rpcl9mZCBhbmQgZHN0X2Rpcl9mZCwgbWF5IG5vdCBiZSBpbXBsZW1lbnRlZCBvbiB5b3VyIHBsYXRmb3JtLgorICBJZiB0aGV5IGFyZSB1bmF2YWlsYWJsZSwgdXNpbmcgdGhlbSB3aWxsIHJhaXNlIGEgTm90SW1wbGVtZW50ZWRFcnJvci4iCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19yZXBsYWNlX19kb2NfXywKKyJyZXBsYWNlKCRtb2R1bGUsIC8sIHNyYywgZHN0LCAqLCBzcmNfZGlyX2ZkPU5vbmUsIGRzdF9kaXJfZmQ9Tm9uZSlcbiIKKyItLVxuIgorIlxuIgorIlJlbmFtZSBhIGZpbGUgb3IgZGlyZWN0b3J5LCBvdmVyd3JpdGluZyB0aGUgZGVzdGluYXRpb24uXG4iCisiXG4iCisiSWYgZWl0aGVyIHNyY19kaXJfZmQgb3IgZHN0X2Rpcl9mZCBpcyBub3QgTm9uZSwgaXQgc2hvdWxkIGJlIGEgZmlsZVxuIgorIiAgZGVzY3JpcHRvciBvcGVuIHRvIGEgZGlyZWN0b3J5LCBhbmQgdGhlIHJlc3BlY3RpdmUgcGF0aCBzdHJpbmcgKHNyYyBvciBkc3QpXG4iCisiICBzaG91bGQgYmUgcmVsYXRpdmU7IHRoZSBwYXRoIHdpbGwgdGhlbiBiZSByZWxhdGl2ZSB0byB0aGF0IGRpcmVjdG9yeS5cbiIKKyJzcmNfZGlyX2ZkIGFuZCBkc3RfZGlyX2ZkLCBtYXkgbm90IGJlIGltcGxlbWVudGVkIG9uIHlvdXIgcGxhdGZvcm0uXG4iCisiICBJZiB0aGV5IGFyZSB1bmF2YWlsYWJsZSwgdXNpbmcgdGhlbSB3aWxsIHJhaXNlIGEgTm90SW1wbGVtZW50ZWRFcnJvci5cIiIpOworCisjZGVmaW5lIE9TX1JFUExBQ0VfTUVUSE9EREVGICAgIFwKKyAgICB7InJlcGxhY2UiLCAoUHlDRnVuY3Rpb24pb3NfcmVwbGFjZSwgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIG9zX3JlcGxhY2VfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X3JlcGxhY2UoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQotewotICAgIHJldHVybiBpbnRlcm5hbF9yZW5hbWUoYXJncywga3dhcmdzLCAxKTsKLX0KLQotUHlEb2NfU1RSVkFSKHBvc2l4X3JtZGlyX19kb2NfXywKLSJybWRpcihwYXRoLCAqLCBkaXJfZmQ9Tm9uZSlcblxuXAotUmVtb3ZlIGEgZGlyZWN0b3J5LlxuXAotXG5cCi1JZiBkaXJfZmQgaXMgbm90IE5vbmUsIGl0IHNob3VsZCBiZSBhIGZpbGUgZGVzY3JpcHRvciBvcGVuIHRvIGEgZGlyZWN0b3J5LFxuXAotICBhbmQgcGF0aCBzaG91bGQgYmUgcmVsYXRpdmU7IHBhdGggd2lsbCB0aGVuIGJlIHJlbGF0aXZlIHRvIHRoYXQgZGlyZWN0b3J5LlxuXAotZGlyX2ZkIG1heSBub3QgYmUgaW1wbGVtZW50ZWQgb24geW91ciBwbGF0Zm9ybS5cblwKLSAgSWYgaXQgaXMgdW5hdmFpbGFibGUsIHVzaW5nIGl0IHdpbGwgcmFpc2UgYSBOb3RJbXBsZW1lbnRlZEVycm9yLiIpOworb3NfcmVwbGFjZV9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIHBhdGhfdCAqc3JjLCBwYXRoX3QgKmRzdCwgaW50IHNyY19kaXJfZmQsIGludCBkc3RfZGlyX2ZkKTsKIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X3JtZGlyKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKK29zX3JlcGxhY2UoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCiB7Ci0gICAgcGF0aF90IHBhdGg7Ci0gICAgaW50IGRpcl9mZCA9IERFRkFVTFRfRElSX0ZEOwotICAgIHN0YXRpYyBjaGFyICprZXl3b3Jkc1tdID0geyJwYXRoIiwgImRpcl9mZCIsIE5VTEx9OwotICAgIGludCByZXN1bHQ7CiAgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgc3RhdGljIGNoYXIgKl9rZXl3b3Jkc1tdID0geyJzcmMiLCAiZHN0IiwgInNyY19kaXJfZmQiLCAiZHN0X2Rpcl9mZCIsIE5VTEx9OworICAgIHBhdGhfdCBzcmMgPSBQQVRIX1RfSU5JVElBTElaRSgicmVwbGFjZSIsICJzcmMiLCAwLCAwKTsKKyAgICBwYXRoX3QgZHN0ID0gUEFUSF9UX0lOSVRJQUxJWkUoInJlcGxhY2UiLCAiZHN0IiwgMCwgMCk7CisgICAgaW50IHNyY19kaXJfZmQgPSBERUZBVUxUX0RJUl9GRDsKKyAgICBpbnQgZHN0X2Rpcl9mZCA9IERFRkFVTFRfRElSX0ZEOwogCi0gICAgbWVtc2V0KCZwYXRoLCAwLCBzaXplb2YocGF0aCkpOwotICAgIHBhdGguZnVuY3Rpb25fbmFtZSA9ICJybWRpciI7Ci0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLCAiTyZ8JE8mOnJtZGlyIiwga2V5d29yZHMsCi0gICAgICAgICAgICBwYXRoX2NvbnZlcnRlciwgJnBhdGgsCi0jaWZkZWYgSEFWRV9VTkxJTktBVAotICAgICAgICAgICAgZGlyX2ZkX2NvbnZlcnRlciwgJmRpcl9mZAotI2Vsc2UKLSAgICAgICAgICAgIGRpcl9mZF91bmF2YWlsYWJsZSwgJmRpcl9mZAotI2VuZGlmCi0gICAgICAgICAgICApKQotICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsCisgICAgICAgICJPJk8mfCRPJk8mOnJlcGxhY2UiLCBfa2V5d29yZHMsCisgICAgICAgIHBhdGhfY29udmVydGVyLCAmc3JjLCBwYXRoX2NvbnZlcnRlciwgJmRzdCwgZGlyX2ZkX2NvbnZlcnRlciwgJnNyY19kaXJfZmQsIGRpcl9mZF9jb252ZXJ0ZXIsICZkc3RfZGlyX2ZkKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IG9zX3JlcGxhY2VfaW1wbChtb2R1bGUsICZzcmMsICZkc3QsIHNyY19kaXJfZmQsIGRzdF9kaXJfZmQpOworCitleGl0OgorICAgIC8qIENsZWFudXAgZm9yIHNyYyAqLworICAgIHBhdGhfY2xlYW51cCgmc3JjKTsKKyAgICAvKiBDbGVhbnVwIGZvciBkc3QgKi8KKyAgICBwYXRoX2NsZWFudXAoJmRzdCk7CisKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3NfcmVwbGFjZV9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIHBhdGhfdCAqc3JjLCBwYXRoX3QgKmRzdCwgaW50IHNyY19kaXJfZmQsIGludCBkc3RfZGlyX2ZkKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTIyNGU0NzEwZDI5MGQxNzEgaW5wdXQ9MjU1MTVkZmIxMDdjODQyMV0qLworeworICAgIHJldHVybiBpbnRlcm5hbF9yZW5hbWUoc3JjLCBkc3QsIHNyY19kaXJfZmQsIGRzdF9kaXJfZmQsIDEpOworfQorCisKKy8qW2NsaW5pYyBpbnB1dF0KK29zLnJtZGlyCisKKyAgICBwYXRoOiBwYXRoX3QKKyAgICAqCisgICAgZGlyX2ZkOiBkaXJfZmQocmVxdWlyZXM9J3VubGlua2F0JykgPSBOb25lCisKK1JlbW92ZSBhIGRpcmVjdG9yeS4KKworSWYgZGlyX2ZkIGlzIG5vdCBOb25lLCBpdCBzaG91bGQgYmUgYSBmaWxlIGRlc2NyaXB0b3Igb3BlbiB0byBhIGRpcmVjdG9yeSwKKyAgYW5kIHBhdGggc2hvdWxkIGJlIHJlbGF0aXZlOyBwYXRoIHdpbGwgdGhlbiBiZSByZWxhdGl2ZSB0byB0aGF0IGRpcmVjdG9yeS4KK2Rpcl9mZCBtYXkgbm90IGJlIGltcGxlbWVudGVkIG9uIHlvdXIgcGxhdGZvcm0uCisgIElmIGl0IGlzIHVuYXZhaWxhYmxlLCB1c2luZyBpdCB3aWxsIHJhaXNlIGEgTm90SW1wbGVtZW50ZWRFcnJvci4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX3JtZGlyX19kb2NfXywKKyJybWRpcigkbW9kdWxlLCAvLCBwYXRoLCAqLCBkaXJfZmQ9Tm9uZSlcbiIKKyItLVxuIgorIlxuIgorIlJlbW92ZSBhIGRpcmVjdG9yeS5cbiIKKyJcbiIKKyJJZiBkaXJfZmQgaXMgbm90IE5vbmUsIGl0IHNob3VsZCBiZSBhIGZpbGUgZGVzY3JpcHRvciBvcGVuIHRvIGEgZGlyZWN0b3J5LFxuIgorIiAgYW5kIHBhdGggc2hvdWxkIGJlIHJlbGF0aXZlOyBwYXRoIHdpbGwgdGhlbiBiZSByZWxhdGl2ZSB0byB0aGF0IGRpcmVjdG9yeS5cbiIKKyJkaXJfZmQgbWF5IG5vdCBiZSBpbXBsZW1lbnRlZCBvbiB5b3VyIHBsYXRmb3JtLlxuIgorIiAgSWYgaXQgaXMgdW5hdmFpbGFibGUsIHVzaW5nIGl0IHdpbGwgcmFpc2UgYSBOb3RJbXBsZW1lbnRlZEVycm9yLiIpOworCisjZGVmaW5lIE9TX1JNRElSX01FVEhPRERFRiAgICBcCisgICAgeyJybWRpciIsIChQeUNGdW5jdGlvbilvc19ybWRpciwgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIG9zX3JtZGlyX19kb2NfX30sCisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19ybWRpcl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIHBhdGhfdCAqcGF0aCwgaW50IGRpcl9mZCk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19ybWRpcihQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKK3sKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBzdGF0aWMgY2hhciAqX2tleXdvcmRzW10gPSB7InBhdGgiLCAiZGlyX2ZkIiwgTlVMTH07CisgICAgcGF0aF90IHBhdGggPSBQQVRIX1RfSU5JVElBTElaRSgicm1kaXIiLCAicGF0aCIsIDAsIDApOworICAgIGludCBkaXJfZmQgPSBERUZBVUxUX0RJUl9GRDsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywKKyAgICAgICAgIk8mfCRPJjpybWRpciIsIF9rZXl3b3JkcywKKyAgICAgICAgcGF0aF9jb252ZXJ0ZXIsICZwYXRoLCBVTkxJTktBVF9ESVJfRkRfQ09OVkVSVEVSLCAmZGlyX2ZkKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IG9zX3JtZGlyX2ltcGwobW9kdWxlLCAmcGF0aCwgZGlyX2ZkKTsKKworZXhpdDoKKyAgICAvKiBDbGVhbnVwIGZvciBwYXRoICovCisgICAgcGF0aF9jbGVhbnVwKCZwYXRoKTsKKworICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19ybWRpcl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIHBhdGhfdCAqcGF0aCwgaW50IGRpcl9mZCkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD03MGI5ZmRiZTNiZWUwNTkxIGlucHV0PTM4YzhiMzc1Y2EzNGE3ZTJdKi8KK3sKKyAgICBpbnQgcmVzdWx0OwogCiAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwogI2lmZGVmIE1TX1dJTkRPV1MKLSAgICBpZiAocGF0aC53aWRlKQotICAgICAgICByZXN1bHQgPSBSZW1vdmVEaXJlY3RvcnlXKHBhdGgud2lkZSk7CisgICAgaWYgKHBhdGgtPndpZGUpCisgICAgICAgIHJlc3VsdCA9IFJlbW92ZURpcmVjdG9yeVcocGF0aC0+d2lkZSk7CiAgICAgZWxzZQotICAgICAgICByZXN1bHQgPSBSZW1vdmVEaXJlY3RvcnlBKHBhdGgubmFycm93KTsKKyAgICAgICAgcmVzdWx0ID0gUmVtb3ZlRGlyZWN0b3J5QShwYXRoLT5uYXJyb3cpOwogICAgIHJlc3VsdCA9ICFyZXN1bHQ7IC8qIFdpbmRvd3MsIHN1Y2Nlc3M9MSwgVU5JWCwgc3VjY2Vzcz0wICovCiAjZWxzZQogI2lmZGVmIEhBVkVfVU5MSU5LQVQKICAgICBpZiAoZGlyX2ZkICE9IERFRkFVTFRfRElSX0ZEKQotICAgICAgICByZXN1bHQgPSB1bmxpbmthdChkaXJfZmQsIHBhdGgubmFycm93LCBBVF9SRU1PVkVESVIpOworICAgICAgICByZXN1bHQgPSB1bmxpbmthdChkaXJfZmQsIHBhdGgtPm5hcnJvdywgQVRfUkVNT1ZFRElSKTsKICAgICBlbHNlCiAjZW5kaWYKLSAgICAgICAgcmVzdWx0ID0gcm1kaXIocGF0aC5uYXJyb3cpOworICAgICAgICByZXN1bHQgPSBybWRpcihwYXRoLT5uYXJyb3cpOwogI2VuZGlmCiAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKIAotICAgIGlmIChyZXN1bHQpIHsKLSAgICAgICAgcmV0dXJuX3ZhbHVlID0gcGF0aF9lcnJvcigmcGF0aCk7Ci0gICAgICAgIGdvdG8gZXhpdDsKLSAgICB9CisgICAgaWYgKHJlc3VsdCkKKyAgICAgICAgcmV0dXJuIHBhdGhfZXJyb3IocGF0aCk7CiAKLSAgICByZXR1cm5fdmFsdWUgPSBQeV9Ob25lOwotICAgIFB5X0lOQ1JFRihQeV9Ob25lKTsKLQotZXhpdDoKLSAgICBwYXRoX2NsZWFudXAoJnBhdGgpOwotICAgIHJldHVybiByZXR1cm5fdmFsdWU7CisgICAgUHlfUkVUVVJOX05PTkU7CiB9CiAKIAogI2lmZGVmIEhBVkVfU1lTVEVNCi1QeURvY19TVFJWQVIocG9zaXhfc3lzdGVtX19kb2NfXywKLSJzeXN0ZW0oY29tbWFuZCkgLT4gZXhpdF9zdGF0dXNcblxuXAotRXhlY3V0ZSB0aGUgY29tbWFuZCAoYSBzdHJpbmcpIGluIGEgc3Vic2hlbGwuIik7CisjaWZkZWYgTVNfV0lORE9XUworLypbY2xpbmljIGlucHV0XQorb3Muc3lzdGVtIC0+IGxvbmcKKworICAgIGNvbW1hbmQ6IFB5X1VOSUNPREUKKworRXhlY3V0ZSB0aGUgY29tbWFuZCBpbiBhIHN1YnNoZWxsLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3Nfc3lzdGVtX19kb2NfXywKKyJzeXN0ZW0oJG1vZHVsZSwgLywgY29tbWFuZClcbiIKKyItLVxuIgorIlxuIgorIkV4ZWN1dGUgdGhlIGNvbW1hbmQgaW4gYSBzdWJzaGVsbC4iKTsKKworI2RlZmluZSBPU19TWVNURU1fTUVUSE9EREVGICAgIFwKKyAgICB7InN5c3RlbSIsIChQeUNGdW5jdGlvbilvc19zeXN0ZW0sIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBvc19zeXN0ZW1fX2RvY19ffSwKKworc3RhdGljIGxvbmcKK29zX3N5c3RlbV9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5X1VOSUNPREUgKmNvbW1hbmQpOwogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfc3lzdGVtKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK29zX3N5c3RlbShQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKIHsKLSAgICBsb25nIHN0czsKLSNpZmRlZiBNU19XSU5ET1dTCi0gICAgd2NoYXJfdCAqY29tbWFuZDsKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgInU6c3lzdGVtIiwgJmNvbW1hbmQpKQotICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBzdGF0aWMgY2hhciAqX2tleXdvcmRzW10gPSB7ImNvbW1hbmQiLCBOVUxMfTsKKyAgICBQeV9VTklDT0RFICpjb21tYW5kOworICAgIGxvbmcgX3JldHVybl92YWx1ZTsKIAotICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKLSAgICBzdHMgPSBfd3N5c3RlbShjb21tYW5kKTsKLSAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUwotI2Vsc2UKLSAgICBQeU9iamVjdCAqY29tbWFuZF9vYmo7Ci0gICAgY2hhciAqY29tbWFuZDsKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIk8mOnN5c3RlbSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9GU0NvbnZlcnRlciwgJmNvbW1hbmRfb2JqKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLAorICAgICAgICAidTpzeXN0ZW0iLCBfa2V5d29yZHMsCisgICAgICAgICZjb21tYW5kKSkKKyAgICAgICAgZ290byBleGl0OworICAgIF9yZXR1cm5fdmFsdWUgPSBvc19zeXN0ZW1faW1wbChtb2R1bGUsIGNvbW1hbmQpOworICAgIGlmICgoX3JldHVybl92YWx1ZSA9PSAtMSkgJiYgUHlFcnJfT2NjdXJyZWQoKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IFB5TG9uZ19Gcm9tTG9uZyhfcmV0dXJuX3ZhbHVlKTsKIAotICAgIGNvbW1hbmQgPSBQeUJ5dGVzX0FzU3RyaW5nKGNvbW1hbmRfb2JqKTsKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIGxvbmcKK29zX3N5c3RlbV9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5X1VOSUNPREUgKmNvbW1hbmQpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9MjlmZTY5OWMwYjJlOWQzOCBpbnB1dD0zMDNmNWNlOTdkZjYwNmIwXSovCit7CisgICAgbG9uZyByZXN1bHQ7CiAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwotICAgIHN0cyA9IHN5c3RlbShjb21tYW5kKTsKKyAgICByZXN1bHQgPSBfd3N5c3RlbShjb21tYW5kKTsKICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUwotICAgIFB5X0RFQ1JFRihjb21tYW5kX29iaik7Ci0jZW5kaWYKLSAgICByZXR1cm4gUHlMb25nX0Zyb21Mb25nKHN0cyk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KKyNlbHNlIC8qIE1TX1dJTkRPV1MgKi8KKy8qW2NsaW5pYyBpbnB1dF0KK29zLnN5c3RlbSAtPiBsb25nCisKKyAgICBjb21tYW5kOiBGU0NvbnZlcnRlcgorCitFeGVjdXRlIHRoZSBjb21tYW5kIGluIGEgc3Vic2hlbGwuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19zeXN0ZW1fX2RvY19fLAorInN5c3RlbSgkbW9kdWxlLCAvLCBjb21tYW5kKVxuIgorIi0tXG4iCisiXG4iCisiRXhlY3V0ZSB0aGUgY29tbWFuZCBpbiBhIHN1YnNoZWxsLiIpOworCisjZGVmaW5lIE9TX1NZU1RFTV9NRVRIT0RERUYgICAgXAorICAgIHsic3lzdGVtIiwgKFB5Q0Z1bmN0aW9uKW9zX3N5c3RlbSwgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIG9zX3N5c3RlbV9fZG9jX199LAorCitzdGF0aWMgbG9uZworb3Nfc3lzdGVtX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmNvbW1hbmQpOworCitzdGF0aWMgUHlPYmplY3QgKgorb3Nfc3lzdGVtKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQoreworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIHN0YXRpYyBjaGFyICpfa2V5d29yZHNbXSA9IHsiY29tbWFuZCIsIE5VTEx9OworICAgIFB5T2JqZWN0ICpjb21tYW5kID0gTlVMTDsKKyAgICBsb25nIF9yZXR1cm5fdmFsdWU7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsCisgICAgICAgICJPJjpzeXN0ZW0iLCBfa2V5d29yZHMsCisgICAgICAgIFB5VW5pY29kZV9GU0NvbnZlcnRlciwgJmNvbW1hbmQpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgX3JldHVybl92YWx1ZSA9IG9zX3N5c3RlbV9pbXBsKG1vZHVsZSwgY29tbWFuZCk7CisgICAgaWYgKChfcmV0dXJuX3ZhbHVlID09IC0xKSAmJiBQeUVycl9PY2N1cnJlZCgpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gUHlMb25nX0Zyb21Mb25nKF9yZXR1cm5fdmFsdWUpOworCitleGl0OgorICAgIC8qIENsZWFudXAgZm9yIGNvbW1hbmQgKi8KKyAgICBQeV9YREVDUkVGKGNvbW1hbmQpOworCisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIGxvbmcKK29zX3N5c3RlbV9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpjb21tYW5kKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTViZTlmM2M0MGVhZDNiYWQgaW5wdXQ9ODZhNTg1NTRiYTYwOTRhZl0qLworeworICAgIGxvbmcgcmVzdWx0OworICAgIGNoYXIgKmJ5dGVzID0gUHlCeXRlc19Bc1N0cmluZyhjb21tYW5kKTsKKyAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCisgICAgcmVzdWx0ID0gc3lzdGVtKGJ5dGVzKTsKKyAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUworICAgIHJldHVybiByZXN1bHQ7CiB9CiAjZW5kaWYKKyNlbmRpZiAvKiBIQVZFX1NZU1RFTSAqLwogCiAKLVB5RG9jX1NUUlZBUihwb3NpeF91bWFza19fZG9jX18sCi0idW1hc2sobmV3X21hc2spIC0+IG9sZF9tYXNrXG5cblwKLVNldCB0aGUgY3VycmVudCBudW1lcmljIHVtYXNrIGFuZCByZXR1cm4gdGhlIHByZXZpb3VzIHVtYXNrLiIpOworLypbY2xpbmljIGlucHV0XQorb3MudW1hc2sKKworICAgIG1hc2s6IGludAorICAgIC8KKworU2V0IHRoZSBjdXJyZW50IG51bWVyaWMgdW1hc2sgYW5kIHJldHVybiB0aGUgcHJldmlvdXMgdW1hc2suCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc191bWFza19fZG9jX18sCisidW1hc2soJG1vZHVsZSwgbWFzaywgLylcbiIKKyItLVxuIgorIlxuIgorIlNldCB0aGUgY3VycmVudCBudW1lcmljIHVtYXNrIGFuZCByZXR1cm4gdGhlIHByZXZpb3VzIHVtYXNrLiIpOworCisjZGVmaW5lIE9TX1VNQVNLX01FVEhPRERFRiAgICBcCisgICAgeyJ1bWFzayIsIChQeUNGdW5jdGlvbilvc191bWFzaywgTUVUSF9WQVJBUkdTLCBvc191bWFza19fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfdW1hc2soUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorb3NfdW1hc2tfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgbWFzayk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc191bWFzayhQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKIHsKLSAgICBpbnQgaTsKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgImk6dW1hc2siLCAmaSkpCi0gICAgICAgIHJldHVybiBOVUxMOwotICAgIGkgPSAoaW50KXVtYXNrKGkpOworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIGludCBtYXNrOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICJpOnVtYXNrIiwKKyAgICAgICAgJm1hc2spKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gb3NfdW1hc2tfaW1wbChtb2R1bGUsIG1hc2spOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc191bWFza19pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCBtYXNrKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTkwMDQ4YjM5ZDJkNGE5NjEgaW5wdXQ9YWI2YmZkOWIyNGQ4YTdlOF0qLworeworICAgIGludCBpID0gKGludCl1bWFzayhtYXNrKTsKICAgICBpZiAoaSA8IDApCiAgICAgICAgIHJldHVybiBwb3NpeF9lcnJvcigpOwogICAgIHJldHVybiBQeUxvbmdfRnJvbUxvbmcoKGxvbmcpaSk7CkBAIC00NTEyLDcgKzU1ODksMTAgQEAKICAgICAgICAgICAgIGZpbmRfZGF0YV9oYW5kbGUgPSBGaW5kRmlyc3RGaWxlVyhscEZpbGVOYW1lLCAmZmluZF9kYXRhKTsKIAogICAgICAgICAgICAgaWYoZmluZF9kYXRhX2hhbmRsZSAhPSBJTlZBTElEX0hBTkRMRV9WQUxVRSkgewotICAgICAgICAgICAgICAgIGlzX2xpbmsgPSBmaW5kX2RhdGEuZHdSZXNlcnZlZDAgPT0gSU9fUkVQQVJTRV9UQUdfU1lNTElOSzsKKyAgICAgICAgICAgICAgICAvKiBJT19SRVBBUlNFX1RBR19TWU1MSU5LIGlmIGl0IGlzIGEgc3ltbGluayBhbmQKKyAgICAgICAgICAgICAgICAgICBJT19SRVBBUlNFX1RBR19NT1VOVF9QT0lOVCBpZiBpdCBpcyBhIGp1bmN0aW9uIHBvaW50LiAqLworICAgICAgICAgICAgICAgIGlzX2xpbmsgPSBmaW5kX2RhdGEuZHdSZXNlcnZlZDAgPT0gSU9fUkVQQVJTRV9UQUdfU1lNTElOSyB8fAorICAgICAgICAgICAgICAgICAgICAgICAgICBmaW5kX2RhdGEuZHdSZXNlcnZlZDAgPT0gSU9fUkVQQVJTRV9UQUdfTU9VTlRfUE9JTlQ7CiAgICAgICAgICAgICAgICAgRmluZENsb3NlKGZpbmRfZGF0YV9oYW5kbGUpOwogICAgICAgICAgICAgfQogICAgICAgICB9CkBAIC00NTI1LDgxICs1NjA1LDE0NyBAQAogfQogI2VuZGlmIC8qIE1TX1dJTkRPV1MgKi8KIAotUHlEb2NfU1RSVkFSKHBvc2l4X3VubGlua19fZG9jX18sCi0idW5saW5rKHBhdGgsICosIGRpcl9mZD1Ob25lKVxuXG5cCi1SZW1vdmUgYSBmaWxlIChzYW1lIGFzIHJlbW92ZSgpKS5cblwKLVxuXAotSWYgZGlyX2ZkIGlzIG5vdCBOb25lLCBpdCBzaG91bGQgYmUgYSBmaWxlIGRlc2NyaXB0b3Igb3BlbiB0byBhIGRpcmVjdG9yeSxcblwKLSAgYW5kIHBhdGggc2hvdWxkIGJlIHJlbGF0aXZlOyBwYXRoIHdpbGwgdGhlbiBiZSByZWxhdGl2ZSB0byB0aGF0IGRpcmVjdG9yeS5cblwKLWRpcl9mZCBtYXkgbm90IGJlIGltcGxlbWVudGVkIG9uIHlvdXIgcGxhdGZvcm0uXG5cCi0gIElmIGl0IGlzIHVuYXZhaWxhYmxlLCB1c2luZyBpdCB3aWxsIHJhaXNlIGEgTm90SW1wbGVtZW50ZWRFcnJvci4iKTsKIAotUHlEb2NfU1RSVkFSKHBvc2l4X3JlbW92ZV9fZG9jX18sCi0icmVtb3ZlKHBhdGgsICosIGRpcl9mZD1Ob25lKVxuXG5cCi1SZW1vdmUgYSBmaWxlIChzYW1lIGFzIHVubGluaygpKS5cblwKLVxuXAotSWYgZGlyX2ZkIGlzIG5vdCBOb25lLCBpdCBzaG91bGQgYmUgYSBmaWxlIGRlc2NyaXB0b3Igb3BlbiB0byBhIGRpcmVjdG9yeSxcblwKLSAgYW5kIHBhdGggc2hvdWxkIGJlIHJlbGF0aXZlOyBwYXRoIHdpbGwgdGhlbiBiZSByZWxhdGl2ZSB0byB0aGF0IGRpcmVjdG9yeS5cblwKLWRpcl9mZCBtYXkgbm90IGJlIGltcGxlbWVudGVkIG9uIHlvdXIgcGxhdGZvcm0uXG5cCi0gIElmIGl0IGlzIHVuYXZhaWxhYmxlLCB1c2luZyBpdCB3aWxsIHJhaXNlIGEgTm90SW1wbGVtZW50ZWRFcnJvci4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK29zLnVubGluaworCisgICAgcGF0aDogcGF0aF90CisgICAgKgorICAgIGRpcl9mZDogZGlyX2ZkKHJlcXVpcmVzPSd1bmxpbmthdCcpPU5vbmUKKworUmVtb3ZlIGEgZmlsZSAoc2FtZSBhcyByZW1vdmUoKSkuCisKK0lmIGRpcl9mZCBpcyBub3QgTm9uZSwgaXQgc2hvdWxkIGJlIGEgZmlsZSBkZXNjcmlwdG9yIG9wZW4gdG8gYSBkaXJlY3RvcnksCisgIGFuZCBwYXRoIHNob3VsZCBiZSByZWxhdGl2ZTsgcGF0aCB3aWxsIHRoZW4gYmUgcmVsYXRpdmUgdG8gdGhhdCBkaXJlY3RvcnkuCitkaXJfZmQgbWF5IG5vdCBiZSBpbXBsZW1lbnRlZCBvbiB5b3VyIHBsYXRmb3JtLgorICBJZiBpdCBpcyB1bmF2YWlsYWJsZSwgdXNpbmcgaXQgd2lsbCByYWlzZSBhIE5vdEltcGxlbWVudGVkRXJyb3IuCisKK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX3VubGlua19fZG9jX18sCisidW5saW5rKCRtb2R1bGUsIC8sIHBhdGgsICosIGRpcl9mZD1Ob25lKVxuIgorIi0tXG4iCisiXG4iCisiUmVtb3ZlIGEgZmlsZSAoc2FtZSBhcyByZW1vdmUoKSkuXG4iCisiXG4iCisiSWYgZGlyX2ZkIGlzIG5vdCBOb25lLCBpdCBzaG91bGQgYmUgYSBmaWxlIGRlc2NyaXB0b3Igb3BlbiB0byBhIGRpcmVjdG9yeSxcbiIKKyIgIGFuZCBwYXRoIHNob3VsZCBiZSByZWxhdGl2ZTsgcGF0aCB3aWxsIHRoZW4gYmUgcmVsYXRpdmUgdG8gdGhhdCBkaXJlY3RvcnkuXG4iCisiZGlyX2ZkIG1heSBub3QgYmUgaW1wbGVtZW50ZWQgb24geW91ciBwbGF0Zm9ybS5cbiIKKyIgIElmIGl0IGlzIHVuYXZhaWxhYmxlLCB1c2luZyBpdCB3aWxsIHJhaXNlIGEgTm90SW1wbGVtZW50ZWRFcnJvci4iKTsKKworI2RlZmluZSBPU19VTkxJTktfTUVUSE9EREVGICAgIFwKKyAgICB7InVubGluayIsIChQeUNGdW5jdGlvbilvc191bmxpbmssIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBvc191bmxpbmtfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X3VubGluayhQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCi17Ci0gICAgcGF0aF90IHBhdGg7Ci0gICAgaW50IGRpcl9mZCA9IERFRkFVTFRfRElSX0ZEOwotICAgIHN0YXRpYyBjaGFyICprZXl3b3Jkc1tdID0geyJwYXRoIiwgImRpcl9mZCIsIE5VTEx9OwotICAgIGludCByZXN1bHQ7Ci0gICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7Citvc191bmxpbmtfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBwYXRoX3QgKnBhdGgsIGludCBkaXJfZmQpOwogCi0gICAgbWVtc2V0KCZwYXRoLCAwLCBzaXplb2YocGF0aCkpOwotICAgIHBhdGguZnVuY3Rpb25fbmFtZSA9ICJ1bmxpbmsiOwotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywgIk8mfCRPJjp1bmxpbmsiLCBrZXl3b3JkcywKLSAgICAgICAgICAgIHBhdGhfY29udmVydGVyLCAmcGF0aCwKLSNpZmRlZiBIQVZFX1VOTElOS0FUCi0gICAgICAgICAgICBkaXJfZmRfY29udmVydGVyLCAmZGlyX2ZkCi0jZWxzZQotICAgICAgICAgICAgZGlyX2ZkX3VuYXZhaWxhYmxlLCAmZGlyX2ZkCi0jZW5kaWYKLSAgICAgICAgICAgICkpCi0gICAgICAgIHJldHVybiBOVUxMOworc3RhdGljIFB5T2JqZWN0ICoKK29zX3VubGluayhQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKK3sKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBzdGF0aWMgY2hhciAqX2tleXdvcmRzW10gPSB7InBhdGgiLCAiZGlyX2ZkIiwgTlVMTH07CisgICAgcGF0aF90IHBhdGggPSBQQVRIX1RfSU5JVElBTElaRSgidW5saW5rIiwgInBhdGgiLCAwLCAwKTsKKyAgICBpbnQgZGlyX2ZkID0gREVGQVVMVF9ESVJfRkQ7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsCisgICAgICAgICJPJnwkTyY6dW5saW5rIiwgX2tleXdvcmRzLAorICAgICAgICBwYXRoX2NvbnZlcnRlciwgJnBhdGgsIFVOTElOS0FUX0RJUl9GRF9DT05WRVJURVIsICZkaXJfZmQpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gb3NfdW5saW5rX2ltcGwobW9kdWxlLCAmcGF0aCwgZGlyX2ZkKTsKKworZXhpdDoKKyAgICAvKiBDbGVhbnVwIGZvciBwYXRoICovCisgICAgcGF0aF9jbGVhbnVwKCZwYXRoKTsKKworICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc191bmxpbmtfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBwYXRoX3QgKnBhdGgsIGludCBkaXJfZmQpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9NTlhNmU2NmQ2N2ZmMmU3NSBpbnB1dD1kN2JjZGUyYjFiMmEyNTUyXSovCit7CisgICAgaW50IHJlc3VsdDsKIAogICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKICNpZmRlZiBNU19XSU5ET1dTCi0gICAgaWYgKHBhdGgud2lkZSkKLSAgICAgICAgcmVzdWx0ID0gUHlfRGVsZXRlRmlsZVcocGF0aC53aWRlKTsKKyAgICBpZiAocGF0aC0+d2lkZSkKKyAgICAgICAgcmVzdWx0ID0gUHlfRGVsZXRlRmlsZVcocGF0aC0+d2lkZSk7CiAgICAgZWxzZQotICAgICAgICByZXN1bHQgPSBEZWxldGVGaWxlQShwYXRoLm5hcnJvdyk7CisgICAgICAgIHJlc3VsdCA9IERlbGV0ZUZpbGVBKHBhdGgtPm5hcnJvdyk7CiAgICAgcmVzdWx0ID0gIXJlc3VsdDsgLyogV2luZG93cywgc3VjY2Vzcz0xLCBVTklYLCBzdWNjZXNzPTAgKi8KICNlbHNlCiAjaWZkZWYgSEFWRV9VTkxJTktBVAogICAgIGlmIChkaXJfZmQgIT0gREVGQVVMVF9ESVJfRkQpCi0gICAgICAgIHJlc3VsdCA9IHVubGlua2F0KGRpcl9mZCwgcGF0aC5uYXJyb3csIDApOworICAgICAgICByZXN1bHQgPSB1bmxpbmthdChkaXJfZmQsIHBhdGgtPm5hcnJvdywgMCk7CiAgICAgZWxzZQogI2VuZGlmIC8qIEhBVkVfVU5MSU5LQVQgKi8KLSAgICAgICAgcmVzdWx0ID0gdW5saW5rKHBhdGgubmFycm93KTsKKyAgICAgICAgcmVzdWx0ID0gdW5saW5rKHBhdGgtPm5hcnJvdyk7CiAjZW5kaWYKICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUwogCi0gICAgaWYgKHJlc3VsdCkgewotICAgICAgICByZXR1cm5fdmFsdWUgPSBwYXRoX2Vycm9yKCZwYXRoKTsKLSAgICAgICAgZ290byBleGl0OwotICAgIH0KKyAgICBpZiAocmVzdWx0KQorICAgICAgICByZXR1cm4gcGF0aF9lcnJvcihwYXRoKTsKIAotICAgIHJldHVybl92YWx1ZSA9IFB5X05vbmU7Ci0gICAgUHlfSU5DUkVGKFB5X05vbmUpOwotCi1leGl0OgotICAgIHBhdGhfY2xlYW51cCgmcGF0aCk7Ci0gICAgcmV0dXJuIHJldHVybl92YWx1ZTsKKyAgICBQeV9SRVRVUk5fTk9ORTsKIH0KIAogCi1QeURvY19TVFJWQVIocG9zaXhfdW5hbWVfX2RvY19fLAotInVuYW1lKCkgLT4gdW5hbWVfcmVzdWx0XG5cblwKLVJldHVybiBhbiBvYmplY3QgaWRlbnRpZnlpbmcgdGhlIGN1cnJlbnQgb3BlcmF0aW5nIHN5c3RlbS5cblwKLVRoZSBvYmplY3QgYmVoYXZlcyBsaWtlIGEgbmFtZWQgdHVwbGUgd2l0aCB0aGUgZm9sbG93aW5nIGZpZWxkczpcblwKLSAgKHN5c25hbWUsIG5vZGVuYW1lLCByZWxlYXNlLCB2ZXJzaW9uLCBtYWNoaW5lKSIpOworLypbY2xpbmljIGlucHV0XQorb3MucmVtb3ZlID0gb3MudW5saW5rCisKK1JlbW92ZSBhIGZpbGUgKHNhbWUgYXMgdW5saW5rKCkpLgorCitJZiBkaXJfZmQgaXMgbm90IE5vbmUsIGl0IHNob3VsZCBiZSBhIGZpbGUgZGVzY3JpcHRvciBvcGVuIHRvIGEgZGlyZWN0b3J5LAorICBhbmQgcGF0aCBzaG91bGQgYmUgcmVsYXRpdmU7IHBhdGggd2lsbCB0aGVuIGJlIHJlbGF0aXZlIHRvIHRoYXQgZGlyZWN0b3J5LgorZGlyX2ZkIG1heSBub3QgYmUgaW1wbGVtZW50ZWQgb24geW91ciBwbGF0Zm9ybS4KKyAgSWYgaXQgaXMgdW5hdmFpbGFibGUsIHVzaW5nIGl0IHdpbGwgcmFpc2UgYSBOb3RJbXBsZW1lbnRlZEVycm9yLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3NfcmVtb3ZlX19kb2NfXywKKyJyZW1vdmUoJG1vZHVsZSwgLywgcGF0aCwgKiwgZGlyX2ZkPU5vbmUpXG4iCisiLS1cbiIKKyJcbiIKKyJSZW1vdmUgYSBmaWxlIChzYW1lIGFzIHVubGluaygpKS5cbiIKKyJcbiIKKyJJZiBkaXJfZmQgaXMgbm90IE5vbmUsIGl0IHNob3VsZCBiZSBhIGZpbGUgZGVzY3JpcHRvciBvcGVuIHRvIGEgZGlyZWN0b3J5LFxuIgorIiAgYW5kIHBhdGggc2hvdWxkIGJlIHJlbGF0aXZlOyBwYXRoIHdpbGwgdGhlbiBiZSByZWxhdGl2ZSB0byB0aGF0IGRpcmVjdG9yeS5cbiIKKyJkaXJfZmQgbWF5IG5vdCBiZSBpbXBsZW1lbnRlZCBvbiB5b3VyIHBsYXRmb3JtLlxuIgorIiAgSWYgaXQgaXMgdW5hdmFpbGFibGUsIHVzaW5nIGl0IHdpbGwgcmFpc2UgYSBOb3RJbXBsZW1lbnRlZEVycm9yLiIpOworCisjZGVmaW5lIE9TX1JFTU9WRV9NRVRIT0RERUYgICAgXAorICAgIHsicmVtb3ZlIiwgKFB5Q0Z1bmN0aW9uKW9zX3JlbW92ZSwgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIG9zX3JlbW92ZV9fZG9jX199LAorCitzdGF0aWMgUHlPYmplY3QgKgorb3NfcmVtb3ZlX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgcGF0aF90ICpwYXRoLCBpbnQgZGlyX2ZkKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3JlbW92ZShQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKK3sKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBzdGF0aWMgY2hhciAqX2tleXdvcmRzW10gPSB7InBhdGgiLCAiZGlyX2ZkIiwgTlVMTH07CisgICAgcGF0aF90IHBhdGggPSBQQVRIX1RfSU5JVElBTElaRSgicmVtb3ZlIiwgInBhdGgiLCAwLCAwKTsKKyAgICBpbnQgZGlyX2ZkID0gREVGQVVMVF9ESVJfRkQ7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsCisgICAgICAgICJPJnwkTyY6cmVtb3ZlIiwgX2tleXdvcmRzLAorICAgICAgICBwYXRoX2NvbnZlcnRlciwgJnBhdGgsIFVOTElOS0FUX0RJUl9GRF9DT05WRVJURVIsICZkaXJfZmQpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gb3NfcmVtb3ZlX2ltcGwobW9kdWxlLCAmcGF0aCwgZGlyX2ZkKTsKKworZXhpdDoKKyAgICAvKiBDbGVhbnVwIGZvciBwYXRoICovCisgICAgcGF0aF9jbGVhbnVwKCZwYXRoKTsKKworICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19yZW1vdmVfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBwYXRoX3QgKnBhdGgsIGludCBkaXJfZmQpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9Y2IxNzBjZjFlMTk1YjhlZCBpbnB1dD1lMDVjNWFiNTVjZDMwOTgzXSovCit7CisgICAgcmV0dXJuIG9zX3VubGlua19pbXBsKG1vZHVsZSwgcGF0aCwgZGlyX2ZkKTsKK30KKwogCiBzdGF0aWMgUHlTdHJ1Y3RTZXF1ZW5jZV9GaWVsZCB1bmFtZV9yZXN1bHRfZmllbGRzW10gPSB7CiAgICAgeyJzeXNuYW1lIiwgICAgIm9wZXJhdGluZyBzeXN0ZW0gbmFtZSJ9LApAQCAtNDYyOSw4ICs1Nzc1LDQwIEBACiAKIAogI2lmZGVmIEhBVkVfVU5BTUUKKy8qW2NsaW5pYyBpbnB1dF0KK29zLnVuYW1lCisKK1JldHVybiBhbiBvYmplY3QgaWRlbnRpZnlpbmcgdGhlIGN1cnJlbnQgb3BlcmF0aW5nIHN5c3RlbS4KKworVGhlIG9iamVjdCBiZWhhdmVzIGxpa2UgYSBuYW1lZCB0dXBsZSB3aXRoIHRoZSBmb2xsb3dpbmcgZmllbGRzOgorICAoc3lzbmFtZSwgbm9kZW5hbWUsIHJlbGVhc2UsIHZlcnNpb24sIG1hY2hpbmUpCisKK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX3VuYW1lX19kb2NfXywKKyJ1bmFtZSgkbW9kdWxlLCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIGFuIG9iamVjdCBpZGVudGlmeWluZyB0aGUgY3VycmVudCBvcGVyYXRpbmcgc3lzdGVtLlxuIgorIlxuIgorIlRoZSBvYmplY3QgYmVoYXZlcyBsaWtlIGEgbmFtZWQgdHVwbGUgd2l0aCB0aGUgZm9sbG93aW5nIGZpZWxkczpcbiIKKyIgIChzeXNuYW1lLCBub2RlbmFtZSwgcmVsZWFzZSwgdmVyc2lvbiwgbWFjaGluZSkiKTsKKworI2RlZmluZSBPU19VTkFNRV9NRVRIT0RERUYgICAgXAorICAgIHsidW5hbWUiLCAoUHlDRnVuY3Rpb24pb3NfdW5hbWUsIE1FVEhfTk9BUkdTLCBvc191bmFtZV9fZG9jX199LAorCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfdW5hbWUoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpub2FyZ3MpCitvc191bmFtZV9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUpOworCitzdGF0aWMgUHlPYmplY3QgKgorb3NfdW5hbWUoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKlB5X1VOVVNFRChpZ25vcmVkKSkKK3sKKyAgICByZXR1cm4gb3NfdW5hbWVfaW1wbChtb2R1bGUpOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3NfdW5hbWVfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTQ1OWE4NjUyMWZmNTA0MWMgaW5wdXQ9ZTY4YmQyNDZkYjMwNDNlZF0qLwogewogICAgIHN0cnVjdCB1dHNuYW1lIHU7CiAgICAgaW50IHJlczsKQEAgLTQ2NjksMzEgKzU4NDcsNiBAQAogI2VuZGlmIC8qIEhBVkVfVU5BTUUgKi8KIAogCi1QeURvY19TVFJWQVIocG9zaXhfdXRpbWVfX2RvY19fLAotInV0aW1lKHBhdGgsIHRpbWVzPU5vbmUsICosIG5zPU5vbmUsIGRpcl9mZD1Ob25lLCBmb2xsb3dfc3ltbGlua3M9VHJ1ZSlcblwKLVNldCB0aGUgYWNjZXNzIGFuZCBtb2RpZmllZCB0aW1lIG9mIHBhdGguXG5cCi1cblwKLXBhdGggbWF5IGFsd2F5cyBiZSBzcGVjaWZpZWQgYXMgYSBzdHJpbmcuXG5cCi1PbiBzb21lIHBsYXRmb3JtcywgcGF0aCBtYXkgYWxzbyBiZSBzcGVjaWZpZWQgYXMgYW4gb3BlbiBmaWxlIGRlc2NyaXB0b3IuXG5cCi0gIElmIHRoaXMgZnVuY3Rpb25hbGl0eSBpcyB1bmF2YWlsYWJsZSwgdXNpbmcgaXQgcmFpc2VzIGFuIGV4Y2VwdGlvbi5cblwKLVxuXAotSWYgdGltZXMgaXMgbm90IE5vbmUsIGl0IG11c3QgYmUgYSB0dXBsZSAoYXRpbWUsIG10aW1lKTtcblwKLSAgICBhdGltZSBhbmQgbXRpbWUgc2hvdWxkIGJlIGV4cHJlc3NlZCBhcyBmbG9hdCBzZWNvbmRzIHNpbmNlIHRoZSBlcG9jaC5cblwKLUlmIG5zIGlzIG5vdCBOb25lLCBpdCBtdXN0IGJlIGEgdHVwbGUgKGF0aW1lX25zLCBtdGltZV9ucyk7XG5cCi0gICAgYXRpbWVfbnMgYW5kIG10aW1lX25zIHNob3VsZCBiZSBleHByZXNzZWQgYXMgaW50ZWdlciBuYW5vc2Vjb25kc1xuXAotICAgIHNpbmNlIHRoZSBlcG9jaC5cblwKLUlmIGJvdGggdGltZXMgYW5kIG5zIGFyZSBOb25lLCB1dGltZSB1c2VzIHRoZSBjdXJyZW50IHRpbWUuXG5cCi1TcGVjaWZ5aW5nIHR1cGxlcyBmb3IgYm90aCB0aW1lcyBhbmQgbnMgaXMgYW4gZXJyb3IuXG5cCi1cblwKLUlmIGRpcl9mZCBpcyBub3QgTm9uZSwgaXQgc2hvdWxkIGJlIGEgZmlsZSBkZXNjcmlwdG9yIG9wZW4gdG8gYSBkaXJlY3RvcnksXG5cCi0gIGFuZCBwYXRoIHNob3VsZCBiZSByZWxhdGl2ZTsgcGF0aCB3aWxsIHRoZW4gYmUgcmVsYXRpdmUgdG8gdGhhdCBkaXJlY3RvcnkuXG5cCi1JZiBmb2xsb3dfc3ltbGlua3MgaXMgRmFsc2UsIGFuZCB0aGUgbGFzdCBlbGVtZW50IG9mIHRoZSBwYXRoIGlzIGEgc3ltYm9saWNcblwKLSAgbGluaywgdXRpbWUgd2lsbCBtb2RpZnkgdGhlIHN5bWJvbGljIGxpbmsgaXRzZWxmIGluc3RlYWQgb2YgdGhlIGZpbGUgdGhlXG5cCi0gIGxpbmsgcG9pbnRzIHRvLlxuXAotSXQgaXMgYW4gZXJyb3IgdG8gdXNlIGRpcl9mZCBvciBmb2xsb3dfc3ltbGlua3Mgd2hlbiBzcGVjaWZ5aW5nIHBhdGhcblwKLSAgYXMgYW4gb3BlbiBmaWxlIGRlc2NyaXB0b3IuXG5cCi1kaXJfZmQgYW5kIGZvbGxvd19zeW1saW5rcyBtYXkgbm90IGJlIGF2YWlsYWJsZSBvbiB5b3VyIHBsYXRmb3JtLlxuXAotICBJZiB0aGV5IGFyZSB1bmF2YWlsYWJsZSwgdXNpbmcgdGhlbSB3aWxsIHJhaXNlIGEgTm90SW1wbGVtZW50ZWRFcnJvci4iKTsKIAogdHlwZWRlZiBzdHJ1Y3QgewogICAgIGludCAgICBub3c7CkBAIC00Nzc5LDYgKzU5MzIsOSBAQAogI2VuZGlmCiB9CiAKKyAgICAjZGVmaW5lIEZVVElNRU5TQVRfRElSX0ZEX0NPTlZFUlRFUiBkaXJfZmRfY29udmVydGVyCisjZWxzZQorICAgICNkZWZpbmUgRlVUSU1FTlNBVF9ESVJfRkRfQ09OVkVSVEVSIGRpcl9mZF91bmF2YWlsYWJsZQogI2VuZGlmCiAKICNkZWZpbmUgVVRJTUVfSEFWRV9GRCAoZGVmaW5lZChIQVZFX0ZVVElNRVMpIHx8IGRlZmluZWQoSEFWRV9GVVRJTUVOUykpCkBAIC00Nzk3LDYgKzU5NTMsOSBAQAogI2VuZGlmCiB9CiAKKyAgICAjZGVmaW5lIFBBVEhfVVRJTUVfSEFWRV9GRCAxCisjZWxzZQorICAgICNkZWZpbmUgUEFUSF9VVElNRV9IQVZFX0ZEIDAKICNlbmRpZgogCiAKQEAgLTQ4NjIsMTkgKzYwMjEsMTA4IEBACiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAorCisvKltjbGluaWMgaW5wdXRdCitvcy51dGltZQorCisgICAgcGF0aDogcGF0aF90KGFsbG93X2ZkPSdQQVRIX1VUSU1FX0hBVkVfRkQnKQorICAgIHRpbWVzOiBvYmplY3QgPSBOVUxMCisgICAgKgorICAgIG5zOiBvYmplY3QgPSBOVUxMCisgICAgZGlyX2ZkOiBkaXJfZmQocmVxdWlyZXM9J2Z1dGltZW5zYXQnKSA9IE5vbmUKKyAgICBmb2xsb3dfc3ltbGlua3M6IGJvb2w9VHJ1ZQorCisjICJ1dGltZShwYXRoLCB0aW1lcz1Ob25lLCAqLCBucz1Ob25lLCBkaXJfZmQ9Tm9uZSwgZm9sbG93X3N5bWxpbmtzPVRydWUpXG5cCisKK1NldCB0aGUgYWNjZXNzIGFuZCBtb2RpZmllZCB0aW1lIG9mIHBhdGguCisKK3BhdGggbWF5IGFsd2F5cyBiZSBzcGVjaWZpZWQgYXMgYSBzdHJpbmcuCitPbiBzb21lIHBsYXRmb3JtcywgcGF0aCBtYXkgYWxzbyBiZSBzcGVjaWZpZWQgYXMgYW4gb3BlbiBmaWxlIGRlc2NyaXB0b3IuCisgIElmIHRoaXMgZnVuY3Rpb25hbGl0eSBpcyB1bmF2YWlsYWJsZSwgdXNpbmcgaXQgcmFpc2VzIGFuIGV4Y2VwdGlvbi4KKworSWYgdGltZXMgaXMgbm90IE5vbmUsIGl0IG11c3QgYmUgYSB0dXBsZSAoYXRpbWUsIG10aW1lKTsKKyAgICBhdGltZSBhbmQgbXRpbWUgc2hvdWxkIGJlIGV4cHJlc3NlZCBhcyBmbG9hdCBzZWNvbmRzIHNpbmNlIHRoZSBlcG9jaC4KK0lmIG5zIGlzIG5vdCBOb25lLCBpdCBtdXN0IGJlIGEgdHVwbGUgKGF0aW1lX25zLCBtdGltZV9ucyk7CisgICAgYXRpbWVfbnMgYW5kIG10aW1lX25zIHNob3VsZCBiZSBleHByZXNzZWQgYXMgaW50ZWdlciBuYW5vc2Vjb25kcworICAgIHNpbmNlIHRoZSBlcG9jaC4KK0lmIGJvdGggdGltZXMgYW5kIG5zIGFyZSBOb25lLCB1dGltZSB1c2VzIHRoZSBjdXJyZW50IHRpbWUuCitTcGVjaWZ5aW5nIHR1cGxlcyBmb3IgYm90aCB0aW1lcyBhbmQgbnMgaXMgYW4gZXJyb3IuCisKK0lmIGRpcl9mZCBpcyBub3QgTm9uZSwgaXQgc2hvdWxkIGJlIGEgZmlsZSBkZXNjcmlwdG9yIG9wZW4gdG8gYSBkaXJlY3RvcnksCisgIGFuZCBwYXRoIHNob3VsZCBiZSByZWxhdGl2ZTsgcGF0aCB3aWxsIHRoZW4gYmUgcmVsYXRpdmUgdG8gdGhhdCBkaXJlY3RvcnkuCitJZiBmb2xsb3dfc3ltbGlua3MgaXMgRmFsc2UsIGFuZCB0aGUgbGFzdCBlbGVtZW50IG9mIHRoZSBwYXRoIGlzIGEgc3ltYm9saWMKKyAgbGluaywgdXRpbWUgd2lsbCBtb2RpZnkgdGhlIHN5bWJvbGljIGxpbmsgaXRzZWxmIGluc3RlYWQgb2YgdGhlIGZpbGUgdGhlCisgIGxpbmsgcG9pbnRzIHRvLgorSXQgaXMgYW4gZXJyb3IgdG8gdXNlIGRpcl9mZCBvciBmb2xsb3dfc3ltbGlua3Mgd2hlbiBzcGVjaWZ5aW5nIHBhdGgKKyAgYXMgYW4gb3BlbiBmaWxlIGRlc2NyaXB0b3IuCitkaXJfZmQgYW5kIGZvbGxvd19zeW1saW5rcyBtYXkgbm90IGJlIGF2YWlsYWJsZSBvbiB5b3VyIHBsYXRmb3JtLgorICBJZiB0aGV5IGFyZSB1bmF2YWlsYWJsZSwgdXNpbmcgdGhlbSB3aWxsIHJhaXNlIGEgTm90SW1wbGVtZW50ZWRFcnJvci4KKworW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3NfdXRpbWVfX2RvY19fLAorInV0aW1lKCRtb2R1bGUsIC8sIHBhdGgsIHRpbWVzPU5vbmUsICosIG5zPU5vbmUsIGRpcl9mZD1Ob25lLFxuIgorIiAgICAgIGZvbGxvd19zeW1saW5rcz1UcnVlKVxuIgorIi0tXG4iCisiXG4iCisiU2V0IHRoZSBhY2Nlc3MgYW5kIG1vZGlmaWVkIHRpbWUgb2YgcGF0aC5cbiIKKyJcbiIKKyJwYXRoIG1heSBhbHdheXMgYmUgc3BlY2lmaWVkIGFzIGEgc3RyaW5nLlxuIgorIk9uIHNvbWUgcGxhdGZvcm1zLCBwYXRoIG1heSBhbHNvIGJlIHNwZWNpZmllZCBhcyBhbiBvcGVuIGZpbGUgZGVzY3JpcHRvci5cbiIKKyIgIElmIHRoaXMgZnVuY3Rpb25hbGl0eSBpcyB1bmF2YWlsYWJsZSwgdXNpbmcgaXQgcmFpc2VzIGFuIGV4Y2VwdGlvbi5cbiIKKyJcbiIKKyJJZiB0aW1lcyBpcyBub3QgTm9uZSwgaXQgbXVzdCBiZSBhIHR1cGxlIChhdGltZSwgbXRpbWUpO1xuIgorIiAgICBhdGltZSBhbmQgbXRpbWUgc2hvdWxkIGJlIGV4cHJlc3NlZCBhcyBmbG9hdCBzZWNvbmRzIHNpbmNlIHRoZSBlcG9jaC5cbiIKKyJJZiBucyBpcyBub3QgTm9uZSwgaXQgbXVzdCBiZSBhIHR1cGxlIChhdGltZV9ucywgbXRpbWVfbnMpO1xuIgorIiAgICBhdGltZV9ucyBhbmQgbXRpbWVfbnMgc2hvdWxkIGJlIGV4cHJlc3NlZCBhcyBpbnRlZ2VyIG5hbm9zZWNvbmRzXG4iCisiICAgIHNpbmNlIHRoZSBlcG9jaC5cbiIKKyJJZiBib3RoIHRpbWVzIGFuZCBucyBhcmUgTm9uZSwgdXRpbWUgdXNlcyB0aGUgY3VycmVudCB0aW1lLlxuIgorIlNwZWNpZnlpbmcgdHVwbGVzIGZvciBib3RoIHRpbWVzIGFuZCBucyBpcyBhbiBlcnJvci5cbiIKKyJcbiIKKyJJZiBkaXJfZmQgaXMgbm90IE5vbmUsIGl0IHNob3VsZCBiZSBhIGZpbGUgZGVzY3JpcHRvciBvcGVuIHRvIGEgZGlyZWN0b3J5LFxuIgorIiAgYW5kIHBhdGggc2hvdWxkIGJlIHJlbGF0aXZlOyBwYXRoIHdpbGwgdGhlbiBiZSByZWxhdGl2ZSB0byB0aGF0IGRpcmVjdG9yeS5cbiIKKyJJZiBmb2xsb3dfc3ltbGlua3MgaXMgRmFsc2UsIGFuZCB0aGUgbGFzdCBlbGVtZW50IG9mIHRoZSBwYXRoIGlzIGEgc3ltYm9saWNcbiIKKyIgIGxpbmssIHV0aW1lIHdpbGwgbW9kaWZ5IHRoZSBzeW1ib2xpYyBsaW5rIGl0c2VsZiBpbnN0ZWFkIG9mIHRoZSBmaWxlIHRoZVxuIgorIiAgbGluayBwb2ludHMgdG8uXG4iCisiSXQgaXMgYW4gZXJyb3IgdG8gdXNlIGRpcl9mZCBvciBmb2xsb3dfc3ltbGlua3Mgd2hlbiBzcGVjaWZ5aW5nIHBhdGhcbiIKKyIgIGFzIGFuIG9wZW4gZmlsZSBkZXNjcmlwdG9yLlxuIgorImRpcl9mZCBhbmQgZm9sbG93X3N5bWxpbmtzIG1heSBub3QgYmUgYXZhaWxhYmxlIG9uIHlvdXIgcGxhdGZvcm0uXG4iCisiICBJZiB0aGV5IGFyZSB1bmF2YWlsYWJsZSwgdXNpbmcgdGhlbSB3aWxsIHJhaXNlIGEgTm90SW1wbGVtZW50ZWRFcnJvci4iKTsKKworI2RlZmluZSBPU19VVElNRV9NRVRIT0RERUYgICAgXAorICAgIHsidXRpbWUiLCAoUHlDRnVuY3Rpb24pb3NfdXRpbWUsIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBvc191dGltZV9fZG9jX199LAorCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfdXRpbWUoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQorb3NfdXRpbWVfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBwYXRoX3QgKnBhdGgsIFB5T2JqZWN0ICp0aW1lcywgUHlPYmplY3QgKm5zLCBpbnQgZGlyX2ZkLCBpbnQgZm9sbG93X3N5bWxpbmtzKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3V0aW1lKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQogewotICAgIHBhdGhfdCBwYXRoOworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIHN0YXRpYyBjaGFyICpfa2V5d29yZHNbXSA9IHsicGF0aCIsICJ0aW1lcyIsICJucyIsICJkaXJfZmQiLCAiZm9sbG93X3N5bWxpbmtzIiwgTlVMTH07CisgICAgcGF0aF90IHBhdGggPSBQQVRIX1RfSU5JVElBTElaRSgidXRpbWUiLCAicGF0aCIsIDAsIFBBVEhfVVRJTUVfSEFWRV9GRCk7CiAgICAgUHlPYmplY3QgKnRpbWVzID0gTlVMTDsKICAgICBQeU9iamVjdCAqbnMgPSBOVUxMOwogICAgIGludCBkaXJfZmQgPSBERUZBVUxUX0RJUl9GRDsKICAgICBpbnQgZm9sbG93X3N5bWxpbmtzID0gMTsKLSAgICBjaGFyICprZXl3b3Jkc1tdID0geyJwYXRoIiwgInRpbWVzIiwgIm5zIiwgImRpcl9mZCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZm9sbG93X3N5bWxpbmtzIiwgTlVMTH07CiAKLSAgICB1dGltZV90IHV0aW1lOworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywKKyAgICAgICAgIk8mfE8kT08mcDp1dGltZSIsIF9rZXl3b3JkcywKKyAgICAgICAgcGF0aF9jb252ZXJ0ZXIsICZwYXRoLCAmdGltZXMsICZucywgRlVUSU1FTlNBVF9ESVJfRkRfQ09OVkVSVEVSLCAmZGlyX2ZkLCAmZm9sbG93X3N5bWxpbmtzKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IG9zX3V0aW1lX2ltcGwobW9kdWxlLCAmcGF0aCwgdGltZXMsIG5zLCBkaXJfZmQsIGZvbGxvd19zeW1saW5rcyk7CiAKK2V4aXQ6CisgICAgLyogQ2xlYW51cCBmb3IgcGF0aCAqLworICAgIHBhdGhfY2xlYW51cCgmcGF0aCk7CisKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3NfdXRpbWVfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBwYXRoX3QgKnBhdGgsIFB5T2JqZWN0ICp0aW1lcywgUHlPYmplY3QgKm5zLCBpbnQgZGlyX2ZkLCBpbnQgZm9sbG93X3N5bWxpbmtzKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTg5MTQ4OWMzNWNjNjhjNWQgaW5wdXQ9MWYxOGMxN2Q1OTQxYWE4Ml0qLworewogI2lmZGVmIE1TX1dJTkRPV1MKICAgICBIQU5ETEUgaEZpbGU7CiAgICAgRklMRVRJTUUgYXRpbWUsIG10aW1lOwpAQCAtNDg4MywyNSArNjEzMSw5IEBACiAjZW5kaWYKIAogICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIHV0aW1lX3QgdXRpbWU7CiAKLSAgICBtZW1zZXQoJnBhdGgsIDAsIHNpemVvZihwYXRoKSk7Ci0gICAgcGF0aC5mdW5jdGlvbl9uYW1lID0gInV0aW1lIjsKICAgICBtZW1zZXQoJnV0aW1lLCAwLCBzaXplb2YodXRpbWVfdCkpOwotI2lmIFVUSU1FX0hBVkVfRkQKLSAgICBwYXRoLmFsbG93X2ZkID0gMTsKLSNlbmRpZgotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywKLSAgICAgICAgICAgICJPJnxPJE9PJnA6dXRpbWUiLCBrZXl3b3JkcywKLSAgICAgICAgICAgIHBhdGhfY29udmVydGVyLCAmcGF0aCwKLSAgICAgICAgICAgICZ0aW1lcywgJm5zLAotI2lmIFVUSU1FX0hBVkVfRElSX0ZECi0gICAgICAgICAgICBkaXJfZmRfY29udmVydGVyLCAmZGlyX2ZkLAotI2Vsc2UKLSAgICAgICAgICAgIGRpcl9mZF91bmF2YWlsYWJsZSwgJmRpcl9mZCwKLSNlbmRpZgotICAgICAgICAgICAgJmZvbGxvd19zeW1saW5rcwotICAgICAgICAgICAgKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7CiAKICAgICBpZiAodGltZXMgJiYgKHRpbWVzICE9IFB5X05vbmUpICYmIG5zKSB7CiAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLApAQCAtNDk1NSw5ICs2MTg3LDkgQEAKICAgICAgICAgZ290byBleGl0OwogI2VuZGlmCiAKLSAgICBpZiAocGF0aF9hbmRfZGlyX2ZkX2ludmFsaWQoInV0aW1lIiwgJnBhdGgsIGRpcl9mZCkgfHwKLSAgICAgICAgZGlyX2ZkX2FuZF9mZF9pbnZhbGlkKCJ1dGltZSIsIGRpcl9mZCwgcGF0aC5mZCkgfHwKLSAgICAgICAgZmRfYW5kX2ZvbGxvd19zeW1saW5rc19pbnZhbGlkKCJ1dGltZSIsIHBhdGguZmQsIGZvbGxvd19zeW1saW5rcykpCisgICAgaWYgKHBhdGhfYW5kX2Rpcl9mZF9pbnZhbGlkKCJ1dGltZSIsIHBhdGgsIGRpcl9mZCkgfHwKKyAgICAgICAgZGlyX2ZkX2FuZF9mZF9pbnZhbGlkKCJ1dGltZSIsIGRpcl9mZCwgcGF0aC0+ZmQpIHx8CisgICAgICAgIGZkX2FuZF9mb2xsb3dfc3ltbGlua3NfaW52YWxpZCgidXRpbWUiLCBwYXRoLT5mZCwgZm9sbG93X3N5bWxpbmtzKSkKICAgICAgICAgZ290byBleGl0OwogCiAjaWYgIWRlZmluZWQoSEFWRV9VVElNRU5TQVQpCkBAIC00OTcxLDE3ICs2MjAzLDE3IEBACiAKICNpZmRlZiBNU19XSU5ET1dTCiAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwotICAgIGlmIChwYXRoLndpZGUpCi0gICAgICAgIGhGaWxlID0gQ3JlYXRlRmlsZVcocGF0aC53aWRlLCBGSUxFX1dSSVRFX0FUVFJJQlVURVMsIDAsCisgICAgaWYgKHBhdGgtPndpZGUpCisgICAgICAgIGhGaWxlID0gQ3JlYXRlRmlsZVcocGF0aC0+d2lkZSwgRklMRV9XUklURV9BVFRSSUJVVEVTLCAwLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsIE9QRU5fRVhJU1RJTkcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRklMRV9GTEFHX0JBQ0tVUF9TRU1BTlRJQ1MsIE5VTEwpOwogICAgIGVsc2UKLSAgICAgICAgaEZpbGUgPSBDcmVhdGVGaWxlQShwYXRoLm5hcnJvdywgRklMRV9XUklURV9BVFRSSUJVVEVTLCAwLAorICAgICAgICBoRmlsZSA9IENyZWF0ZUZpbGVBKHBhdGgtPm5hcnJvdywgRklMRV9XUklURV9BVFRSSUJVVEVTLCAwLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsIE9QRU5fRVhJU1RJTkcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRklMRV9GTEFHX0JBQ0tVUF9TRU1BTlRJQ1MsIE5VTEwpOwogICAgIFB5X0VORF9BTExPV19USFJFQURTCiAgICAgaWYgKGhGaWxlID09IElOVkFMSURfSEFORExFX1ZBTFVFKSB7Ci0gICAgICAgIHBhdGhfZXJyb3IoJnBhdGgpOworICAgICAgICBwYXRoX2Vycm9yKHBhdGgpOwogICAgICAgICBnb3RvIGV4aXQ7CiAgICAgfQogCkBAIC00OTkwLDggKzYyMjIsOCBAQAogICAgICAgICBhdGltZSA9IG10aW1lOwogICAgIH0KICAgICBlbHNlIHsKLSAgICAgICAgdGltZV90X3RvX0ZJTEVfVElNRSh1dGltZS5hdGltZV9zLCB1dGltZS5hdGltZV9ucywgJmF0aW1lKTsKLSAgICAgICAgdGltZV90X3RvX0ZJTEVfVElNRSh1dGltZS5tdGltZV9zLCB1dGltZS5tdGltZV9ucywgJm10aW1lKTsKKyAgICAgICAgX1B5X3RpbWVfdF90b19GSUxFX1RJTUUodXRpbWUuYXRpbWVfcywgdXRpbWUuYXRpbWVfbnMsICZhdGltZSk7CisgICAgICAgIF9QeV90aW1lX3RfdG9fRklMRV9USU1FKHV0aW1lLm10aW1lX3MsIHV0aW1lLm10aW1lX25zLCAmbXRpbWUpOwogICAgIH0KICAgICBpZiAoIVNldEZpbGVUaW1lKGhGaWxlLCBOVUxMLCAmYXRpbWUsICZtdGltZSkpIHsKICAgICAgICAgLyogQXZvaWQgcHV0dGluZyB0aGUgZmlsZSBuYW1lIGludG8gdGhlIGVycm9yIGhlcmUsCkBAIC01MDA2LDIzICs2MjM4LDIzIEBACiAKICNpZiBVVElNRV9IQVZFX05PRk9MTE9XX1NZTUxJTktTCiAgICAgaWYgKCghZm9sbG93X3N5bWxpbmtzKSAmJiAoZGlyX2ZkID09IERFRkFVTFRfRElSX0ZEKSkKLSAgICAgICAgcmVzdWx0ID0gdXRpbWVfbm9mb2xsb3dfc3ltbGlua3MoJnV0aW1lLCBwYXRoLm5hcnJvdyk7CisgICAgICAgIHJlc3VsdCA9IHV0aW1lX25vZm9sbG93X3N5bWxpbmtzKCZ1dGltZSwgcGF0aC0+bmFycm93KTsKICAgICBlbHNlCiAjZW5kaWYKIAogI2lmIFVUSU1FX0hBVkVfRElSX0ZECiAgICAgaWYgKChkaXJfZmQgIT0gREVGQVVMVF9ESVJfRkQpIHx8ICghZm9sbG93X3N5bWxpbmtzKSkKLSAgICAgICAgcmVzdWx0ID0gdXRpbWVfZGlyX2ZkKCZ1dGltZSwgZGlyX2ZkLCBwYXRoLm5hcnJvdywgZm9sbG93X3N5bWxpbmtzKTsKKyAgICAgICAgcmVzdWx0ID0gdXRpbWVfZGlyX2ZkKCZ1dGltZSwgZGlyX2ZkLCBwYXRoLT5uYXJyb3csIGZvbGxvd19zeW1saW5rcyk7CiAgICAgZWxzZQogI2VuZGlmCiAKICNpZiBVVElNRV9IQVZFX0ZECi0gICAgaWYgKHBhdGguZmQgIT0gLTEpCi0gICAgICAgIHJlc3VsdCA9IHV0aW1lX2ZkKCZ1dGltZSwgcGF0aC5mZCk7CisgICAgaWYgKHBhdGgtPmZkICE9IC0xKQorICAgICAgICByZXN1bHQgPSB1dGltZV9mZCgmdXRpbWUsIHBhdGgtPmZkKTsKICAgICBlbHNlCiAjZW5kaWYKIAotICAgIHJlc3VsdCA9IHV0aW1lX2RlZmF1bHQoJnV0aW1lLCBwYXRoLm5hcnJvdyk7CisgICAgcmVzdWx0ID0gdXRpbWVfZGVmYXVsdCgmdXRpbWUsIHBhdGgtPm5hcnJvdyk7CiAKICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUwogCkBAIC01MDM4LDcgKzYyNzAsNiBAQAogICAgIHJldHVybl92YWx1ZSA9IFB5X05vbmU7CiAKIGV4aXQ6Ci0gICAgcGF0aF9jbGVhbnVwKCZwYXRoKTsKICNpZmRlZiBNU19XSU5ET1dTCiAgICAgaWYgKGhGaWxlICE9IElOVkFMSURfSEFORExFX1ZBTFVFKQogICAgICAgICBDbG9zZUhhbmRsZShoRmlsZSk7CkBAIC01MDQ4LDE3ICs2Mjc5LDQ5IEBACiAKIC8qIFByb2Nlc3Mgb3BlcmF0aW9ucyAqLwogCi1QeURvY19TVFJWQVIocG9zaXhfX2V4aXRfX2RvY19fLAotIl9leGl0KHN0YXR1cylcblxuXAotRXhpdCB0byB0aGUgc3lzdGVtIHdpdGggc3BlY2lmaWVkIHN0YXR1cywgd2l0aG91dCBub3JtYWwgZXhpdCBwcm9jZXNzaW5nLiIpOworCisvKltjbGluaWMgaW5wdXRdCitvcy5fZXhpdAorCisgICAgc3RhdHVzOiBpbnQKKworRXhpdCB0byB0aGUgc3lzdGVtIHdpdGggc3BlY2lmaWVkIHN0YXR1cywgd2l0aG91dCBub3JtYWwgZXhpdCBwcm9jZXNzaW5nLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3NfX2V4aXRfX2RvY19fLAorIl9leGl0KCRtb2R1bGUsIC8sIHN0YXR1cylcbiIKKyItLVxuIgorIlxuIgorIkV4aXQgdG8gdGhlIHN5c3RlbSB3aXRoIHNwZWNpZmllZCBzdGF0dXMsIHdpdGhvdXQgbm9ybWFsIGV4aXQgcHJvY2Vzc2luZy4iKTsKKworI2RlZmluZSBPU19fRVhJVF9NRVRIT0RERUYgICAgXAorICAgIHsiX2V4aXQiLCAoUHlDRnVuY3Rpb24pb3NfX2V4aXQsIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBvc19fZXhpdF9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfX2V4aXQoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorb3NfX2V4aXRfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgc3RhdHVzKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX19leGl0KFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQogewotICAgIGludCBzdHM7Ci0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJpOl9leGl0IiwgJnN0cykpCi0gICAgICAgIHJldHVybiBOVUxMOwotICAgIF9leGl0KHN0cyk7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgc3RhdGljIGNoYXIgKl9rZXl3b3Jkc1tdID0geyJzdGF0dXMiLCBOVUxMfTsKKyAgICBpbnQgc3RhdHVzOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLAorICAgICAgICAiaTpfZXhpdCIsIF9rZXl3b3JkcywKKyAgICAgICAgJnN0YXR1cykpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBvc19fZXhpdF9pbXBsKG1vZHVsZSwgc3RhdHVzKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3NfX2V4aXRfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgc3RhdHVzKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTRmOTg1OGM0Y2MyZGNiODkgaW5wdXQ9NWU2ZDU3NTU2YjBjNGE2Ml0qLworeworICAgIF9leGl0KHN0YXR1cyk7CiAgICAgcmV0dXJuIE5VTEw7IC8qIE1ha2UgZ2NjIC1XYWxsIGhhcHB5ICovCiB9CiAKQEAgLTUxOTYsOTYgKzY0NTksMTYwIEBACiB9CiAjZW5kaWYKIAorCiAjaWZkZWYgSEFWRV9FWEVDVgotUHlEb2NfU1RSVkFSKHBvc2l4X2V4ZWN2X19kb2NfXywKLSJleGVjdihwYXRoLCBhcmdzKVxuXG5cCi1FeGVjdXRlIGFuIGV4ZWN1dGFibGUgcGF0aCB3aXRoIGFyZ3VtZW50cywgcmVwbGFjaW5nIGN1cnJlbnQgcHJvY2Vzcy5cblwKLVxuXAotICAgIHBhdGg6IHBhdGggb2YgZXhlY3V0YWJsZSBmaWxlXG5cCi0gICAgYXJnczogdHVwbGUgb3IgbGlzdCBvZiBzdHJpbmdzIik7CisvKltjbGluaWMgaW5wdXRdCitvcy5leGVjdgorCisgICAgcGF0aDogRlNDb252ZXJ0ZXIKKyAgICAgICAgUGF0aCBvZiBleGVjdXRhYmxlIGZpbGUuCisgICAgYXJndjogb2JqZWN0CisgICAgICAgIFR1cGxlIG9yIGxpc3Qgb2Ygc3RyaW5ncy4KKyAgICAvCisKK0V4ZWN1dGUgYW4gZXhlY3V0YWJsZSBwYXRoIHdpdGggYXJndW1lbnRzLCByZXBsYWNpbmcgY3VycmVudCBwcm9jZXNzLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3NfZXhlY3ZfX2RvY19fLAorImV4ZWN2KCRtb2R1bGUsIHBhdGgsIGFyZ3YsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJFeGVjdXRlIGFuIGV4ZWN1dGFibGUgcGF0aCB3aXRoIGFyZ3VtZW50cywgcmVwbGFjaW5nIGN1cnJlbnQgcHJvY2Vzcy5cbiIKKyJcbiIKKyIgIHBhdGhcbiIKKyIgICAgUGF0aCBvZiBleGVjdXRhYmxlIGZpbGUuXG4iCisiICBhcmd2XG4iCisiICAgIFR1cGxlIG9yIGxpc3Qgb2Ygc3RyaW5ncy4iKTsKKworI2RlZmluZSBPU19FWEVDVl9NRVRIT0RERUYgICAgXAorICAgIHsiZXhlY3YiLCAoUHlDRnVuY3Rpb24pb3NfZXhlY3YsIE1FVEhfVkFSQVJHUywgb3NfZXhlY3ZfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X2V4ZWN2KFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK29zX2V4ZWN2X2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKnBhdGgsIFB5T2JqZWN0ICphcmd2KTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX2V4ZWN2KFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQogewotICAgIFB5T2JqZWN0ICpvcGF0aDsKLSAgICBjaGFyICpwYXRoOworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIFB5T2JqZWN0ICpwYXRoID0gTlVMTDsKICAgICBQeU9iamVjdCAqYXJndjsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAiTyZPOmV4ZWN2IiwKKyAgICAgICAgUHlVbmljb2RlX0ZTQ29udmVydGVyLCAmcGF0aCwgJmFyZ3YpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gb3NfZXhlY3ZfaW1wbChtb2R1bGUsIHBhdGgsIGFyZ3YpOworCitleGl0OgorICAgIC8qIENsZWFudXAgZm9yIHBhdGggKi8KKyAgICBQeV9YREVDUkVGKHBhdGgpOworCisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX2V4ZWN2X2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKnBhdGgsIFB5T2JqZWN0ICphcmd2KQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWIwZjVmMmNhYTYwOTdlZGMgaW5wdXQ9OTYwNDE1NTk5MjVlNTIyOV0qLworeworICAgIGNoYXIgKnBhdGhfY2hhcjsKICAgICBjaGFyICoqYXJndmxpc3Q7CiAgICAgUHlfc3NpemVfdCBhcmdjOwogCiAgICAgLyogZXhlY3YgaGFzIHR3byBhcmd1bWVudHM6IChwYXRoLCBhcmd2KSwgd2hlcmUKICAgICAgICBhcmd2IGlzIGEgbGlzdCBvciB0dXBsZSBvZiBzdHJpbmdzLiAqLwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJPJk86ZXhlY3YiLAotICAgICAgICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfRlNDb252ZXJ0ZXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICZvcGF0aCwgJmFyZ3YpKQotICAgICAgICByZXR1cm4gTlVMTDsKLSAgICBwYXRoID0gUHlCeXRlc19Bc1N0cmluZyhvcGF0aCk7CisgICAgcGF0aF9jaGFyID0gUHlCeXRlc19Bc1N0cmluZyhwYXRoKTsKICAgICBpZiAoIVB5TGlzdF9DaGVjayhhcmd2KSAmJiAhUHlUdXBsZV9DaGVjayhhcmd2KSkgewogICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLAogICAgICAgICAgICAgICAgICAgICAgICAgImV4ZWN2KCkgYXJnIDIgbXVzdCBiZSBhIHR1cGxlIG9yIGxpc3QiKTsKLSAgICAgICAgUHlfREVDUkVGKG9wYXRoKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQogICAgIGFyZ2MgPSBQeVNlcXVlbmNlX1NpemUoYXJndik7CiAgICAgaWYgKGFyZ2MgPCAxKSB7CiAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLCAiZXhlY3YoKSBhcmcgMiBtdXN0IG5vdCBiZSBlbXB0eSIpOwotICAgICAgICBQeV9ERUNSRUYob3BhdGgpOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CiAKICAgICBhcmd2bGlzdCA9IHBhcnNlX2FyZ2xpc3QoYXJndiwgJmFyZ2MpOwogICAgIGlmIChhcmd2bGlzdCA9PSBOVUxMKSB7Ci0gICAgICAgIFB5X0RFQ1JFRihvcGF0aCk7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KIAotICAgIGV4ZWN2KHBhdGgsIGFyZ3ZsaXN0KTsKKyAgICBleGVjdihwYXRoX2NoYXIsIGFyZ3ZsaXN0KTsKIAogICAgIC8qIElmIHdlIGdldCBoZXJlIGl0J3MgZGVmaW5pdGVseSBhbiBlcnJvciAqLwogCiAgICAgZnJlZV9zdHJpbmdfYXJyYXkoYXJndmxpc3QsIGFyZ2MpOwotICAgIFB5X0RFQ1JFRihvcGF0aCk7CiAgICAgcmV0dXJuIHBvc2l4X2Vycm9yKCk7CiB9CiAKLVB5RG9jX1NUUlZBUihwb3NpeF9leGVjdmVfX2RvY19fLAotImV4ZWN2ZShwYXRoLCBhcmdzLCBlbnYpXG5cblwKLUV4ZWN1dGUgYSBwYXRoIHdpdGggYXJndW1lbnRzIGFuZCBlbnZpcm9ubWVudCwgcmVwbGFjaW5nIGN1cnJlbnQgcHJvY2Vzcy5cblwKLVxuXAotICAgIHBhdGg6IHBhdGggb2YgZXhlY3V0YWJsZSBmaWxlXG5cCi0gICAgYXJnczogdHVwbGUgb3IgbGlzdCBvZiBhcmd1bWVudHNcblwKLSAgICBlbnY6IGRpY3Rpb25hcnkgb2Ygc3RyaW5ncyBtYXBwaW5nIHRvIHN0cmluZ3NcblwKLVxuXAotT24gc29tZSBwbGF0Zm9ybXMsIHlvdSBtYXkgc3BlY2lmeSBhbiBvcGVuIGZpbGUgZGVzY3JpcHRvciBmb3IgcGF0aDtcblwKLSAgZXhlY3ZlIHdpbGwgZXhlY3V0ZSB0aGUgcHJvZ3JhbSB0aGUgZmlsZSBkZXNjcmlwdG9yIGlzIG9wZW4gdG8uXG5cCi0gIElmIHRoaXMgZnVuY3Rpb25hbGl0eSBpcyB1bmF2YWlsYWJsZSwgdXNpbmcgaXQgcmFpc2VzIE5vdEltcGxlbWVudGVkRXJyb3IuIik7CisKKy8qW2NsaW5pYyBpbnB1dF0KK29zLmV4ZWN2ZQorCisgICAgcGF0aDogcGF0aF90KGFsbG93X2ZkPSdQQVRIX0hBVkVfRkVYRUNWRScpCisgICAgICAgIFBhdGggb2YgZXhlY3V0YWJsZSBmaWxlLgorICAgIGFyZ3Y6IG9iamVjdAorICAgICAgICBUdXBsZSBvciBsaXN0IG9mIHN0cmluZ3MuCisgICAgZW52OiBvYmplY3QKKyAgICAgICAgRGljdGlvbmFyeSBvZiBzdHJpbmdzIG1hcHBpbmcgdG8gc3RyaW5ncy4KKworRXhlY3V0ZSBhbiBleGVjdXRhYmxlIHBhdGggd2l0aCBhcmd1bWVudHMsIHJlcGxhY2luZyBjdXJyZW50IHByb2Nlc3MuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19leGVjdmVfX2RvY19fLAorImV4ZWN2ZSgkbW9kdWxlLCAvLCBwYXRoLCBhcmd2LCBlbnYpXG4iCisiLS1cbiIKKyJcbiIKKyJFeGVjdXRlIGFuIGV4ZWN1dGFibGUgcGF0aCB3aXRoIGFyZ3VtZW50cywgcmVwbGFjaW5nIGN1cnJlbnQgcHJvY2Vzcy5cbiIKKyJcbiIKKyIgIHBhdGhcbiIKKyIgICAgUGF0aCBvZiBleGVjdXRhYmxlIGZpbGUuXG4iCisiICBhcmd2XG4iCisiICAgIFR1cGxlIG9yIGxpc3Qgb2Ygc3RyaW5ncy5cbiIKKyIgIGVudlxuIgorIiAgICBEaWN0aW9uYXJ5IG9mIHN0cmluZ3MgbWFwcGluZyB0byBzdHJpbmdzLiIpOworCisjZGVmaW5lIE9TX0VYRUNWRV9NRVRIT0RERUYgICAgXAorICAgIHsiZXhlY3ZlIiwgKFB5Q0Z1bmN0aW9uKW9zX2V4ZWN2ZSwgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIG9zX2V4ZWN2ZV9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfZXhlY3ZlKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKK29zX2V4ZWN2ZV9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIHBhdGhfdCAqcGF0aCwgUHlPYmplY3QgKmFyZ3YsIFB5T2JqZWN0ICplbnYpOworCitzdGF0aWMgUHlPYmplY3QgKgorb3NfZXhlY3ZlKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQogewotICAgIHBhdGhfdCBwYXRoOwotICAgIFB5T2JqZWN0ICphcmd2LCAqZW52OworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIHN0YXRpYyBjaGFyICpfa2V5d29yZHNbXSA9IHsicGF0aCIsICJhcmd2IiwgImVudiIsIE5VTEx9OworICAgIHBhdGhfdCBwYXRoID0gUEFUSF9UX0lOSVRJQUxJWkUoImV4ZWN2ZSIsICJwYXRoIiwgMCwgUEFUSF9IQVZFX0ZFWEVDVkUpOworICAgIFB5T2JqZWN0ICphcmd2OworICAgIFB5T2JqZWN0ICplbnY7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsCisgICAgICAgICJPJk9POmV4ZWN2ZSIsIF9rZXl3b3JkcywKKyAgICAgICAgcGF0aF9jb252ZXJ0ZXIsICZwYXRoLCAmYXJndiwgJmVudikpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBvc19leGVjdmVfaW1wbChtb2R1bGUsICZwYXRoLCBhcmd2LCBlbnYpOworCitleGl0OgorICAgIC8qIENsZWFudXAgZm9yIHBhdGggKi8KKyAgICBwYXRoX2NsZWFudXAoJnBhdGgpOworCisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX2V4ZWN2ZV9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIHBhdGhfdCAqcGF0aCwgUHlPYmplY3QgKmFyZ3YsIFB5T2JqZWN0ICplbnYpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ZmIyODM3NjBmNWQxNWFiNyBpbnB1dD02MjY4MDRmYTA5MjYwNmQ5XSovCit7CiAgICAgY2hhciAqKmFyZ3ZsaXN0ID0gTlVMTDsKICAgICBjaGFyICoqZW52bGlzdDsKICAgICBQeV9zc2l6ZV90IGFyZ2MsIGVudmM7Ci0gICAgc3RhdGljIGNoYXIgKmtleXdvcmRzW10gPSB7InBhdGgiLCAiYXJndiIsICJlbnZpcm9ubWVudCIsIE5VTEx9OwogCiAgICAgLyogZXhlY3ZlIGhhcyB0aHJlZSBhcmd1bWVudHM6IChwYXRoLCBhcmd2LCBlbnYpLCB3aGVyZQogICAgICAgIGFyZ3YgaXMgYSBsaXN0IG9yIHR1cGxlIG9mIHN0cmluZ3MgYW5kIGVudiBpcyBhIGRpY3Rpb25hcnkKICAgICAgICBsaWtlIHBvc2l4LmVudmlyb24uICovCiAKLSAgICBtZW1zZXQoJnBhdGgsIDAsIHNpemVvZihwYXRoKSk7Ci0gICAgcGF0aC5mdW5jdGlvbl9uYW1lID0gImV4ZWN2ZSI7Ci0jaWZkZWYgSEFWRV9GRVhFQ1ZFCi0gICAgcGF0aC5hbGxvd19mZCA9IDE7Ci0jZW5kaWYKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsICJPJk9POmV4ZWN2ZSIsIGtleXdvcmRzLAotICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRoX2NvbnZlcnRlciwgJnBhdGgsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICZhcmd2LCAmZW52Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICkpCi0gICAgICAgIHJldHVybiBOVUxMOwotCiAgICAgaWYgKCFQeUxpc3RfQ2hlY2soYXJndikgJiYgIVB5VHVwbGVfQ2hlY2soYXJndikpIHsKICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwKICAgICAgICAgICAgICAgICAgICAgICAgICJleGVjdmU6IGFyZ3YgbXVzdCBiZSBhIHR1cGxlIG9yIGxpc3QiKTsKQEAgLTUzMDgsMTUgKzY2MzUsMTUgQEAKICAgICAgICAgZ290byBmYWlsOwogCiAjaWZkZWYgSEFWRV9GRVhFQ1ZFCi0gICAgaWYgKHBhdGguZmQgPiAtMSkKLSAgICAgICAgZmV4ZWN2ZShwYXRoLmZkLCBhcmd2bGlzdCwgZW52bGlzdCk7CisgICAgaWYgKHBhdGgtPmZkID4gLTEpCisgICAgICAgIGZleGVjdmUocGF0aC0+ZmQsIGFyZ3ZsaXN0LCBlbnZsaXN0KTsKICAgICBlbHNlCiAjZW5kaWYKLSAgICAgICAgZXhlY3ZlKHBhdGgubmFycm93LCBhcmd2bGlzdCwgZW52bGlzdCk7CisgICAgICAgIGV4ZWN2ZShwYXRoLT5uYXJyb3csIGFyZ3ZsaXN0LCBlbnZsaXN0KTsKIAogICAgIC8qIElmIHdlIGdldCBoZXJlIGl0J3MgZGVmaW5pdGVseSBhbiBlcnJvciAqLwogCi0gICAgcGF0aF9lcnJvcigmcGF0aCk7CisgICAgcGF0aF9lcnJvcihwYXRoKTsKIAogICAgIHdoaWxlICgtLWVudmMgPj0gMCkKICAgICAgICAgUHlNZW1fREVMKGVudmxpc3RbZW52Y10pOwpAQCAtNTMyNCwyOSArNjY1MSw3MyBAQAogICBmYWlsOgogICAgIGlmIChhcmd2bGlzdCkKICAgICAgICAgZnJlZV9zdHJpbmdfYXJyYXkoYXJndmxpc3QsIGFyZ2MpOwotICAgIHBhdGhfY2xlYW51cCgmcGF0aCk7CiAgICAgcmV0dXJuIE5VTEw7CiB9CiAjZW5kaWYgLyogSEFWRV9FWEVDViAqLwogCiAKICNpZmRlZiBIQVZFX1NQQVdOVgotUHlEb2NfU1RSVkFSKHBvc2l4X3NwYXdudl9fZG9jX18sCi0ic3Bhd252KG1vZGUsIHBhdGgsIGFyZ3MpXG5cblwKLUV4ZWN1dGUgdGhlIHByb2dyYW0gJ3BhdGgnIGluIGEgbmV3IHByb2Nlc3MuXG5cCi1cblwKLSAgICBtb2RlOiBtb2RlIG9mIHByb2Nlc3MgY3JlYXRpb25cblwKLSAgICBwYXRoOiBwYXRoIG9mIGV4ZWN1dGFibGUgZmlsZVxuXAotICAgIGFyZ3M6IHR1cGxlIG9yIGxpc3Qgb2Ygc3RyaW5ncyIpOworLypbY2xpbmljIGlucHV0XQorb3Muc3Bhd252CisKKyAgICBtb2RlOiBpbnQKKyAgICAgICAgTW9kZSBvZiBwcm9jZXNzIGNyZWF0aW9uLgorICAgIHBhdGg6IEZTQ29udmVydGVyCisgICAgICAgIFBhdGggb2YgZXhlY3V0YWJsZSBmaWxlLgorICAgIGFyZ3Y6IG9iamVjdAorICAgICAgICBUdXBsZSBvciBsaXN0IG9mIHN0cmluZ3MuCisgICAgLworCitFeGVjdXRlIHRoZSBwcm9ncmFtIHNwZWNpZmllZCBieSBwYXRoIGluIGEgbmV3IHByb2Nlc3MuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19zcGF3bnZfX2RvY19fLAorInNwYXdudigkbW9kdWxlLCBtb2RlLCBwYXRoLCBhcmd2LCAvKVxuIgorIi0tXG4iCisiXG4iCisiRXhlY3V0ZSB0aGUgcHJvZ3JhbSBzcGVjaWZpZWQgYnkgcGF0aCBpbiBhIG5ldyBwcm9jZXNzLlxuIgorIlxuIgorIiAgbW9kZVxuIgorIiAgICBNb2RlIG9mIHByb2Nlc3MgY3JlYXRpb24uXG4iCisiICBwYXRoXG4iCisiICAgIFBhdGggb2YgZXhlY3V0YWJsZSBmaWxlLlxuIgorIiAgYXJndlxuIgorIiAgICBUdXBsZSBvciBsaXN0IG9mIHN0cmluZ3MuIik7CisKKyNkZWZpbmUgT1NfU1BBV05WX01FVEhPRERFRiAgICBcCisgICAgeyJzcGF3bnYiLCAoUHlDRnVuY3Rpb24pb3Nfc3Bhd252LCBNRVRIX1ZBUkFSR1MsIG9zX3NwYXdudl9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfc3Bhd252KFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK29zX3NwYXdudl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCBtb2RlLCBQeU9iamVjdCAqcGF0aCwgUHlPYmplY3QgKmFyZ3YpOworCitzdGF0aWMgUHlPYmplY3QgKgorb3Nfc3Bhd252KFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQogewotICAgIFB5T2JqZWN0ICpvcGF0aDsKLSAgICBjaGFyICpwYXRoOworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIGludCBtb2RlOworICAgIFB5T2JqZWN0ICpwYXRoID0gTlVMTDsKICAgICBQeU9iamVjdCAqYXJndjsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAiaU8mTzpzcGF3bnYiLAorICAgICAgICAmbW9kZSwgUHlVbmljb2RlX0ZTQ29udmVydGVyLCAmcGF0aCwgJmFyZ3YpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gb3Nfc3Bhd252X2ltcGwobW9kdWxlLCBtb2RlLCBwYXRoLCBhcmd2KTsKKworZXhpdDoKKyAgICAvKiBDbGVhbnVwIGZvciBwYXRoICovCisgICAgUHlfWERFQ1JFRihwYXRoKTsKKworICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19zcGF3bnZfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgbW9kZSwgUHlPYmplY3QgKnBhdGgsIFB5T2JqZWN0ICphcmd2KQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWRmZWU2YmUwNjJlNzgwZTMgaW5wdXQ9MDQyYzkxZGZjMWU2ZGViY10qLworeworICAgIGNoYXIgKnBhdGhfY2hhcjsKICAgICBjaGFyICoqYXJndmxpc3Q7Ci0gICAgaW50IG1vZGUsIGk7CisgICAgaW50IGk7CiAgICAgUHlfc3NpemVfdCBhcmdjOwogICAgIFB5X2ludHB0cl90IHNwYXdudmFsOwogICAgIFB5T2JqZWN0ICooKmdldGl0ZW0pKFB5T2JqZWN0ICosIFB5X3NzaXplX3QpOwpAQCAtNTM1NCwxMSArNjcyNSw3IEBACiAgICAgLyogc3Bhd252IGhhcyB0aHJlZSBhcmd1bWVudHM6IChtb2RlLCBwYXRoLCBhcmd2KSwgd2hlcmUKICAgICAgICBhcmd2IGlzIGEgbGlzdCBvciB0dXBsZSBvZiBzdHJpbmdzLiAqLwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJpTyZPOnNwYXdudiIsICZtb2RlLAotICAgICAgICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfRlNDb252ZXJ0ZXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICZvcGF0aCwgJmFyZ3YpKQotICAgICAgICByZXR1cm4gTlVMTDsKLSAgICBwYXRoID0gUHlCeXRlc19Bc1N0cmluZyhvcGF0aCk7CisgICAgcGF0aF9jaGFyID0gUHlCeXRlc19Bc1N0cmluZyhwYXRoKTsKICAgICBpZiAoUHlMaXN0X0NoZWNrKGFyZ3YpKSB7CiAgICAgICAgIGFyZ2MgPSBQeUxpc3RfU2l6ZShhcmd2KTsKICAgICAgICAgZ2V0aXRlbSA9IFB5TGlzdF9HZXRJdGVtOwpAQCAtNTM3MCwxMyArNjczNywxMSBAQAogICAgIGVsc2UgewogICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLAogICAgICAgICAgICAgICAgICAgICAgICAgInNwYXdudigpIGFyZyAyIG11c3QgYmUgYSB0dXBsZSBvciBsaXN0Iik7Ci0gICAgICAgIFB5X0RFQ1JFRihvcGF0aCk7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KIAogICAgIGFyZ3ZsaXN0ID0gUHlNZW1fTkVXKGNoYXIgKiwgYXJnYysxKTsKICAgICBpZiAoYXJndmxpc3QgPT0gTlVMTCkgewotICAgICAgICBQeV9ERUNSRUYob3BhdGgpOwogICAgICAgICByZXR1cm4gUHlFcnJfTm9NZW1vcnkoKTsKICAgICB9CiAgICAgZm9yIChpID0gMDsgaSA8IGFyZ2M7IGkrKykgewpAQCAtNTM4Niw3ICs2NzUxLDYgQEAKICAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZygKICAgICAgICAgICAgICAgICBQeUV4Y19UeXBlRXJyb3IsCiAgICAgICAgICAgICAgICAgInNwYXdudigpIGFyZyAyIG11c3QgY29udGFpbiBvbmx5IHN0cmluZ3MiKTsKLSAgICAgICAgICAgIFB5X0RFQ1JFRihvcGF0aCk7CiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKICAgICAgICAgfQogICAgIH0KQEAgLTUzOTYsMTEgKzY3NjAsMTAgQEAKICAgICAgICAgbW9kZSA9IF9QX09WRVJMQVk7CiAKICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCi0gICAgc3Bhd252YWwgPSBfc3Bhd252KG1vZGUsIHBhdGgsIGFyZ3ZsaXN0KTsKKyAgICBzcGF3bnZhbCA9IF9zcGF3bnYobW9kZSwgcGF0aF9jaGFyLCBhcmd2bGlzdCk7CiAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKIAogICAgIGZyZWVfc3RyaW5nX2FycmF5KGFyZ3ZsaXN0LCBhcmdjKTsKLSAgICBQeV9ERUNSRUYob3BhdGgpOwogCiAgICAgaWYgKHNwYXdudmFsID09IC0xKQogICAgICAgICByZXR1cm4gcG9zaXhfZXJyb3IoKTsKQEAgLTU0MDksMjUgKzY3NzIsNzMgQEAKIH0KIAogCi1QeURvY19TVFJWQVIocG9zaXhfc3Bhd252ZV9fZG9jX18sCi0ic3Bhd252ZShtb2RlLCBwYXRoLCBhcmdzLCBlbnYpXG5cblwKLUV4ZWN1dGUgdGhlIHByb2dyYW0gJ3BhdGgnIGluIGEgbmV3IHByb2Nlc3MuXG5cCi1cblwKLSAgICBtb2RlOiBtb2RlIG9mIHByb2Nlc3MgY3JlYXRpb25cblwKLSAgICBwYXRoOiBwYXRoIG9mIGV4ZWN1dGFibGUgZmlsZVxuXAotICAgIGFyZ3M6IHR1cGxlIG9yIGxpc3Qgb2YgYXJndW1lbnRzXG5cCi0gICAgZW52OiBkaWN0aW9uYXJ5IG9mIHN0cmluZ3MgbWFwcGluZyB0byBzdHJpbmdzIik7CisvKltjbGluaWMgaW5wdXRdCitvcy5zcGF3bnZlCisKKyAgICBtb2RlOiBpbnQKKyAgICAgICAgTW9kZSBvZiBwcm9jZXNzIGNyZWF0aW9uLgorICAgIHBhdGg6IEZTQ29udmVydGVyCisgICAgICAgIFBhdGggb2YgZXhlY3V0YWJsZSBmaWxlLgorICAgIGFyZ3Y6IG9iamVjdAorICAgICAgICBUdXBsZSBvciBsaXN0IG9mIHN0cmluZ3MuCisgICAgZW52OiBvYmplY3QKKyAgICAgICAgRGljdGlvbmFyeSBvZiBzdHJpbmdzIG1hcHBpbmcgdG8gc3RyaW5ncy4KKyAgICAvCisKK0V4ZWN1dGUgdGhlIHByb2dyYW0gc3BlY2lmaWVkIGJ5IHBhdGggaW4gYSBuZXcgcHJvY2Vzcy4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX3NwYXdudmVfX2RvY19fLAorInNwYXdudmUoJG1vZHVsZSwgbW9kZSwgcGF0aCwgYXJndiwgZW52LCAvKVxuIgorIi0tXG4iCisiXG4iCisiRXhlY3V0ZSB0aGUgcHJvZ3JhbSBzcGVjaWZpZWQgYnkgcGF0aCBpbiBhIG5ldyBwcm9jZXNzLlxuIgorIlxuIgorIiAgbW9kZVxuIgorIiAgICBNb2RlIG9mIHByb2Nlc3MgY3JlYXRpb24uXG4iCisiICBwYXRoXG4iCisiICAgIFBhdGggb2YgZXhlY3V0YWJsZSBmaWxlLlxuIgorIiAgYXJndlxuIgorIiAgICBUdXBsZSBvciBsaXN0IG9mIHN0cmluZ3MuXG4iCisiICBlbnZcbiIKKyIgICAgRGljdGlvbmFyeSBvZiBzdHJpbmdzIG1hcHBpbmcgdG8gc3RyaW5ncy4iKTsKKworI2RlZmluZSBPU19TUEFXTlZFX01FVEhPRERFRiAgICBcCisgICAgeyJzcGF3bnZlIiwgKFB5Q0Z1bmN0aW9uKW9zX3NwYXdudmUsIE1FVEhfVkFSQVJHUywgb3Nfc3Bhd252ZV9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfc3Bhd252ZShQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitvc19zcGF3bnZlX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IG1vZGUsIFB5T2JqZWN0ICpwYXRoLCBQeU9iamVjdCAqYXJndiwgUHlPYmplY3QgKmVudik7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19zcGF3bnZlKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQogewotICAgIFB5T2JqZWN0ICpvcGF0aDsKLSAgICBjaGFyICpwYXRoOwotICAgIFB5T2JqZWN0ICphcmd2LCAqZW52OworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIGludCBtb2RlOworICAgIFB5T2JqZWN0ICpwYXRoID0gTlVMTDsKKyAgICBQeU9iamVjdCAqYXJndjsKKyAgICBQeU9iamVjdCAqZW52OworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICJpTyZPTzpzcGF3bnZlIiwKKyAgICAgICAgJm1vZGUsIFB5VW5pY29kZV9GU0NvbnZlcnRlciwgJnBhdGgsICZhcmd2LCAmZW52KSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IG9zX3NwYXdudmVfaW1wbChtb2R1bGUsIG1vZGUsIHBhdGgsIGFyZ3YsIGVudik7CisKK2V4aXQ6CisgICAgLyogQ2xlYW51cCBmb3IgcGF0aCAqLworICAgIFB5X1hERUNSRUYocGF0aCk7CisKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3Nfc3Bhd252ZV9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCBtb2RlLCBQeU9iamVjdCAqcGF0aCwgUHlPYmplY3QgKmFyZ3YsIFB5T2JqZWN0ICplbnYpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9NmY3ZGYzODQ3M2Y2M2M3YyBpbnB1dD0wMjM2MmZkOTM3OTYzZjhmXSovCit7CisgICAgY2hhciAqcGF0aF9jaGFyOwogICAgIGNoYXIgKiphcmd2bGlzdDsKICAgICBjaGFyICoqZW52bGlzdDsKICAgICBQeU9iamVjdCAqcmVzID0gTlVMTDsKLSAgICBpbnQgbW9kZTsKICAgICBQeV9zc2l6ZV90IGFyZ2MsIGksIGVudmM7CiAgICAgUHlfaW50cHRyX3Qgc3Bhd252YWw7CiAgICAgUHlPYmplY3QgKigqZ2V0aXRlbSkoUHlPYmplY3QgKiwgUHlfc3NpemVfdCk7CkBAIC01NDM3LDExICs2ODQ4LDcgQEAKICAgICAgICBhcmd2IGlzIGEgbGlzdCBvciB0dXBsZSBvZiBzdHJpbmdzIGFuZCBlbnYgaXMgYSBkaWN0aW9uYXJ5CiAgICAgICAgbGlrZSBwb3NpeC5lbnZpcm9uLiAqLwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJpTyZPTzpzcGF3bnZlIiwgJm1vZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9GU0NvbnZlcnRlciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgJm9wYXRoLCAmYXJndiwgJmVudikpCi0gICAgICAgIHJldHVybiBOVUxMOwotICAgIHBhdGggPSBQeUJ5dGVzX0FzU3RyaW5nKG9wYXRoKTsKKyAgICBwYXRoX2NoYXIgPSBQeUJ5dGVzX0FzU3RyaW5nKHBhdGgpOwogICAgIGlmIChQeUxpc3RfQ2hlY2soYXJndikpIHsKICAgICAgICAgYXJnYyA9IFB5TGlzdF9TaXplKGFyZ3YpOwogICAgICAgICBnZXRpdGVtID0gUHlMaXN0X0dldEl0ZW07CkBAIC01NDg1LDcgKzY4OTIsNyBAQAogICAgICAgICBtb2RlID0gX1BfT1ZFUkxBWTsKIAogICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKLSAgICBzcGF3bnZhbCA9IF9zcGF3bnZlKG1vZGUsIHBhdGgsIGFyZ3ZsaXN0LCBlbnZsaXN0KTsKKyAgICBzcGF3bnZhbCA9IF9zcGF3bnZlKG1vZGUsIHBhdGhfY2hhciwgYXJndmxpc3QsIGVudmxpc3QpOwogICAgIFB5X0VORF9BTExPV19USFJFQURTCiAKICAgICBpZiAoc3Bhd252YWwgPT0gLTEpCkBAIC01NDk5LDcgKzY5MDYsNiBAQAogICBmYWlsXzE6CiAgICAgZnJlZV9zdHJpbmdfYXJyYXkoYXJndmxpc3QsIGxhc3RhcmcpOwogICBmYWlsXzA6Ci0gICAgUHlfREVDUkVGKG9wYXRoKTsKICAgICByZXR1cm4gcmVzOwogfQogCkBAIC01NTA3LDE0ICs2OTEzLDM3IEBACiAKIAogI2lmZGVmIEhBVkVfRk9SSzEKLVB5RG9jX1NUUlZBUihwb3NpeF9mb3JrMV9fZG9jX18sCi0iZm9yazEoKSAtPiBwaWRcblxuXAotRm9yayBhIGNoaWxkIHByb2Nlc3Mgd2l0aCBhIHNpbmdsZSBtdWx0aXBsZXhlZCAoaS5lLiwgbm90IGJvdW5kKSB0aHJlYWQuXG5cCi1cblwKLVJldHVybiAwIHRvIGNoaWxkIHByb2Nlc3MgYW5kIFBJRCBvZiBjaGlsZCB0byBwYXJlbnQgcHJvY2Vzcy4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK29zLmZvcmsxCisKK0ZvcmsgYSBjaGlsZCBwcm9jZXNzIHdpdGggYSBzaW5nbGUgbXVsdGlwbGV4ZWQgKGkuZS4sIG5vdCBib3VuZCkgdGhyZWFkLgorCitSZXR1cm4gMCB0byBjaGlsZCBwcm9jZXNzIGFuZCBQSUQgb2YgY2hpbGQgdG8gcGFyZW50IHByb2Nlc3MuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19mb3JrMV9fZG9jX18sCisiZm9yazEoJG1vZHVsZSwgLylcbiIKKyItLVxuIgorIlxuIgorIkZvcmsgYSBjaGlsZCBwcm9jZXNzIHdpdGggYSBzaW5nbGUgbXVsdGlwbGV4ZWQgKGkuZS4sIG5vdCBib3VuZCkgdGhyZWFkLlxuIgorIlxuIgorIlJldHVybiAwIHRvIGNoaWxkIHByb2Nlc3MgYW5kIFBJRCBvZiBjaGlsZCB0byBwYXJlbnQgcHJvY2Vzcy4iKTsKKworI2RlZmluZSBPU19GT1JLMV9NRVRIT0RERUYgICAgXAorICAgIHsiZm9yazEiLCAoUHlDRnVuY3Rpb24pb3NfZm9yazEsIE1FVEhfTk9BUkdTLCBvc19mb3JrMV9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfZm9yazEoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpub2FyZ3MpCitvc19mb3JrMV9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUpOworCitzdGF0aWMgUHlPYmplY3QgKgorb3NfZm9yazEoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKlB5X1VOVVNFRChpZ25vcmVkKSkKK3sKKyAgICByZXR1cm4gb3NfZm9yazFfaW1wbChtb2R1bGUpOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3NfZm9yazFfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWZhMDQwODhkNmJjMDJlZmEgaW5wdXQ9MTJkYjAyMTY3ODkzOTI2ZV0qLwogewogICAgIHBpZF90IHBpZDsKICAgICBpbnQgcmVzdWx0ID0gMDsKQEAgLTU1MzcsMTcgKzY5NjYsNDEgQEAKICAgICB9CiAgICAgcmV0dXJuIFB5TG9uZ19Gcm9tUGlkKHBpZCk7CiB9Ci0jZW5kaWYKKyNlbmRpZiAvKiBIQVZFX0ZPUksxICovCiAKIAogI2lmZGVmIEhBVkVfRk9SSwotUHlEb2NfU1RSVkFSKHBvc2l4X2ZvcmtfX2RvY19fLAotImZvcmsoKSAtPiBwaWRcblxuXAotRm9yayBhIGNoaWxkIHByb2Nlc3MuXG5cCi1SZXR1cm4gMCB0byBjaGlsZCBwcm9jZXNzIGFuZCBQSUQgb2YgY2hpbGQgdG8gcGFyZW50IHByb2Nlc3MuIik7CisvKltjbGluaWMgaW5wdXRdCitvcy5mb3JrCisKK0ZvcmsgYSBjaGlsZCBwcm9jZXNzLgorCitSZXR1cm4gMCB0byBjaGlsZCBwcm9jZXNzIGFuZCBQSUQgb2YgY2hpbGQgdG8gcGFyZW50IHByb2Nlc3MuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19mb3JrX19kb2NfXywKKyJmb3JrKCRtb2R1bGUsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJGb3JrIGEgY2hpbGQgcHJvY2Vzcy5cbiIKKyJcbiIKKyJSZXR1cm4gMCB0byBjaGlsZCBwcm9jZXNzIGFuZCBQSUQgb2YgY2hpbGQgdG8gcGFyZW50IHByb2Nlc3MuIik7CisKKyNkZWZpbmUgT1NfRk9SS19NRVRIT0RERUYgICAgXAorICAgIHsiZm9yayIsIChQeUNGdW5jdGlvbilvc19mb3JrLCBNRVRIX05PQVJHUywgb3NfZm9ya19fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfZm9yayhQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKm5vYXJncykKK29zX2ZvcmtfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX2ZvcmsoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKlB5X1VOVVNFRChpZ25vcmVkKSkKK3sKKyAgICByZXR1cm4gb3NfZm9ya19pbXBsKG1vZHVsZSk7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19mb3JrX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1iM2M4ZTZiZGMxMWVlZGM2IGlucHV0PTEzYzk1NjQxMzExMGVlYWFdKi8KIHsKICAgICBwaWRfdCBwaWQ7CiAgICAgaW50IHJlc3VsdCA9IDA7CkBAIC01NTcwLDkyICs3MDIzLDIyMSBAQAogICAgIH0KICAgICByZXR1cm4gUHlMb25nX0Zyb21QaWQocGlkKTsKIH0KLSNlbmRpZgorI2VuZGlmIC8qIEhBVkVfRk9SSyAqLworCiAKICNpZmRlZiBIQVZFX1NDSEVEX0gKLQogI2lmZGVmIEhBVkVfU0NIRURfR0VUX1BSSU9SSVRZX01BWAorLypbY2xpbmljIGlucHV0XQorb3Muc2NoZWRfZ2V0X3ByaW9yaXR5X21heAogCi1QeURvY19TVFJWQVIocG9zaXhfc2NoZWRfZ2V0X3ByaW9yaXR5X21heF9fZG9jX18sCi0ic2NoZWRfZ2V0X3ByaW9yaXR5X21heChwb2xpY3kpXG5cblwKLUdldCB0aGUgbWF4aW11bSBzY2hlZHVsaW5nIHByaW9yaXR5IGZvciAqcG9saWN5Ki4iKTsKKyAgICBwb2xpY3k6IGludAorCitHZXQgdGhlIG1heGltdW0gc2NoZWR1bGluZyBwcmlvcml0eSBmb3IgcG9saWN5LgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3Nfc2NoZWRfZ2V0X3ByaW9yaXR5X21heF9fZG9jX18sCisic2NoZWRfZ2V0X3ByaW9yaXR5X21heCgkbW9kdWxlLCAvLCBwb2xpY3kpXG4iCisiLS1cbiIKKyJcbiIKKyJHZXQgdGhlIG1heGltdW0gc2NoZWR1bGluZyBwcmlvcml0eSBmb3IgcG9saWN5LiIpOworCisjZGVmaW5lIE9TX1NDSEVEX0dFVF9QUklPUklUWV9NQVhfTUVUSE9EREVGICAgIFwKKyAgICB7InNjaGVkX2dldF9wcmlvcml0eV9tYXgiLCAoUHlDRnVuY3Rpb24pb3Nfc2NoZWRfZ2V0X3ByaW9yaXR5X21heCwgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIG9zX3NjaGVkX2dldF9wcmlvcml0eV9tYXhfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X3NjaGVkX2dldF9wcmlvcml0eV9tYXgoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQotewotICAgIGludCBwb2xpY3ksIG1heDsKK29zX3NjaGVkX2dldF9wcmlvcml0eV9tYXhfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgcG9saWN5KTsKIAotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiaTpzY2hlZF9nZXRfcHJpb3JpdHlfbWF4IiwgJnBvbGljeSkpCi0gICAgICAgIHJldHVybiBOVUxMOworc3RhdGljIFB5T2JqZWN0ICoKK29zX3NjaGVkX2dldF9wcmlvcml0eV9tYXgoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCit7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgc3RhdGljIGNoYXIgKl9rZXl3b3Jkc1tdID0geyJwb2xpY3kiLCBOVUxMfTsKKyAgICBpbnQgcG9saWN5OworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLAorICAgICAgICAiaTpzY2hlZF9nZXRfcHJpb3JpdHlfbWF4IiwgX2tleXdvcmRzLAorICAgICAgICAmcG9saWN5KSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IG9zX3NjaGVkX2dldF9wcmlvcml0eV9tYXhfaW1wbChtb2R1bGUsIHBvbGljeSk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3NjaGVkX2dldF9wcmlvcml0eV9tYXhfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgcG9saWN5KQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWE1ODBhNTJmMjUyMzhjMWYgaW5wdXQ9MjA5N2I3OTk4ZWNhNjg3NF0qLworeworICAgIGludCBtYXg7CisKICAgICBtYXggPSBzY2hlZF9nZXRfcHJpb3JpdHlfbWF4KHBvbGljeSk7CiAgICAgaWYgKG1heCA8IDApCiAgICAgICAgIHJldHVybiBwb3NpeF9lcnJvcigpOwogICAgIHJldHVybiBQeUxvbmdfRnJvbUxvbmcobWF4KTsKIH0KIAotUHlEb2NfU1RSVkFSKHBvc2l4X3NjaGVkX2dldF9wcmlvcml0eV9taW5fX2RvY19fLAotInNjaGVkX2dldF9wcmlvcml0eV9taW4ocG9saWN5KVxuXG5cCi1HZXQgdGhlIG1pbmltdW0gc2NoZWR1bGluZyBwcmlvcml0eSBmb3IgKnBvbGljeSouIik7CisKKy8qW2NsaW5pYyBpbnB1dF0KK29zLnNjaGVkX2dldF9wcmlvcml0eV9taW4KKworICAgIHBvbGljeTogaW50CisKK0dldCB0aGUgbWluaW11bSBzY2hlZHVsaW5nIHByaW9yaXR5IGZvciBwb2xpY3kuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19zY2hlZF9nZXRfcHJpb3JpdHlfbWluX19kb2NfXywKKyJzY2hlZF9nZXRfcHJpb3JpdHlfbWluKCRtb2R1bGUsIC8sIHBvbGljeSlcbiIKKyItLVxuIgorIlxuIgorIkdldCB0aGUgbWluaW11bSBzY2hlZHVsaW5nIHByaW9yaXR5IGZvciBwb2xpY3kuIik7CisKKyNkZWZpbmUgT1NfU0NIRURfR0VUX1BSSU9SSVRZX01JTl9NRVRIT0RERUYgICAgXAorICAgIHsic2NoZWRfZ2V0X3ByaW9yaXR5X21pbiIsIChQeUNGdW5jdGlvbilvc19zY2hlZF9nZXRfcHJpb3JpdHlfbWluLCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgb3Nfc2NoZWRfZ2V0X3ByaW9yaXR5X21pbl9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfc2NoZWRfZ2V0X3ByaW9yaXR5X21pbihQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCi17Ci0gICAgaW50IHBvbGljeSwgbWluOworb3Nfc2NoZWRfZ2V0X3ByaW9yaXR5X21pbl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCBwb2xpY3kpOwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJpOnNjaGVkX2dldF9wcmlvcml0eV9taW4iLCAmcG9saWN5KSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgbWluID0gc2NoZWRfZ2V0X3ByaW9yaXR5X21pbihwb2xpY3kpOworc3RhdGljIFB5T2JqZWN0ICoKK29zX3NjaGVkX2dldF9wcmlvcml0eV9taW4oUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCit7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgc3RhdGljIGNoYXIgKl9rZXl3b3Jkc1tdID0geyJwb2xpY3kiLCBOVUxMfTsKKyAgICBpbnQgcG9saWN5OworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLAorICAgICAgICAiaTpzY2hlZF9nZXRfcHJpb3JpdHlfbWluIiwgX2tleXdvcmRzLAorICAgICAgICAmcG9saWN5KSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IG9zX3NjaGVkX2dldF9wcmlvcml0eV9taW5faW1wbChtb2R1bGUsIHBvbGljeSk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3NjaGVkX2dldF9wcmlvcml0eV9taW5faW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgcG9saWN5KQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWJhZDhiYTEwZTdkMGU5NzcgaW5wdXQ9MjFiYzhmYTBkNzA5ODNiZl0qLworeworICAgIGludCBtaW4gPSBzY2hlZF9nZXRfcHJpb3JpdHlfbWluKHBvbGljeSk7CiAgICAgaWYgKG1pbiA8IDApCiAgICAgICAgIHJldHVybiBwb3NpeF9lcnJvcigpOwogICAgIHJldHVybiBQeUxvbmdfRnJvbUxvbmcobWluKTsKIH0KLQogI2VuZGlmIC8qIEhBVkVfU0NIRURfR0VUX1BSSU9SSVRZX01BWCAqLwogCi0jaWZkZWYgSEFWRV9TQ0hFRF9TRVRTQ0hFRFVMRVIKIAotUHlEb2NfU1RSVkFSKHBvc2l4X3NjaGVkX2dldHNjaGVkdWxlcl9fZG9jX18sCi0ic2NoZWRfZ2V0c2NoZWR1bGVyKHBpZClcblxuXAotR2V0IHRoZSBzY2hlZHVsaW5nIHBvbGljeSBmb3IgdGhlIHByb2Nlc3Mgd2l0aCBhIFBJRCBvZiAqcGlkKi5cblwKLVBhc3NpbmcgYSBQSUQgb2YgMCByZXR1cm5zIHRoZSBzY2hlZHVsaW5nIHBvbGljeSBmb3IgdGhlIGNhbGxpbmcgcHJvY2Vzcy4iKTsKKyNpZmRlZiBIQVZFX1NDSEVEX1NFVFNDSEVEVUxFUgorLypbY2xpbmljIGlucHV0XQorb3Muc2NoZWRfZ2V0c2NoZWR1bGVyCisgICAgcGlkOiBwaWRfdAorICAgIC8KKworR2V0IHRoZSBzY2hlZHVsaW5nIHBvbGljeSBmb3IgdGhlIHByb2Nlc3MgaWRlbnRpZmllZHkgYnkgcGlkLgorCitQYXNzaW5nIDAgZm9yIHBpZCByZXR1cm5zIHRoZSBzY2hlZHVsaW5nIHBvbGljeSBmb3IgdGhlIGNhbGxpbmcgcHJvY2Vzcy4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX3NjaGVkX2dldHNjaGVkdWxlcl9fZG9jX18sCisic2NoZWRfZ2V0c2NoZWR1bGVyKCRtb2R1bGUsIHBpZCwgLylcbiIKKyItLVxuIgorIlxuIgorIkdldCB0aGUgc2NoZWR1bGluZyBwb2xpY3kgZm9yIHRoZSBwcm9jZXNzIGlkZW50aWZpZWR5IGJ5IHBpZC5cbiIKKyJcbiIKKyJQYXNzaW5nIDAgZm9yIHBpZCByZXR1cm5zIHRoZSBzY2hlZHVsaW5nIHBvbGljeSBmb3IgdGhlIGNhbGxpbmcgcHJvY2Vzcy4iKTsKKworI2RlZmluZSBPU19TQ0hFRF9HRVRTQ0hFRFVMRVJfTUVUSE9EREVGICAgIFwKKyAgICB7InNjaGVkX2dldHNjaGVkdWxlciIsIChQeUNGdW5jdGlvbilvc19zY2hlZF9nZXRzY2hlZHVsZXIsIE1FVEhfVkFSQVJHUywgb3Nfc2NoZWRfZ2V0c2NoZWR1bGVyX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9zY2hlZF9nZXRzY2hlZHVsZXIoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorb3Nfc2NoZWRfZ2V0c2NoZWR1bGVyX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgcGlkX3QgcGlkKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3NjaGVkX2dldHNjaGVkdWxlcihQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKIHsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKICAgICBwaWRfdCBwaWQ7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgIiIgX1B5X1BBUlNFX1BJRCAiOnNjaGVkX2dldHNjaGVkdWxlciIsCisgICAgICAgICZwaWQpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gb3Nfc2NoZWRfZ2V0c2NoZWR1bGVyX2ltcGwobW9kdWxlLCBwaWQpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19zY2hlZF9nZXRzY2hlZHVsZXJfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBwaWRfdCBwaWQpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ZTBkNjI0NDIwN2IxZDgyOCBpbnB1dD01ZjE0Y2ZkMWYxODllMWEwXSovCit7CiAgICAgaW50IHBvbGljeTsKIAotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCBfUHlfUEFSU0VfUElEICI6c2NoZWRfZ2V0c2NoZWR1bGVyIiwgJnBpZCkpCi0gICAgICAgIHJldHVybiBOVUxMOwogICAgIHBvbGljeSA9IHNjaGVkX2dldHNjaGVkdWxlcihwaWQpOwogICAgIGlmIChwb2xpY3kgPCAwKQogICAgICAgICByZXR1cm4gcG9zaXhfZXJyb3IoKTsKICAgICByZXR1cm4gUHlMb25nX0Zyb21Mb25nKHBvbGljeSk7CiB9CisjZW5kaWYgLyogSEFWRV9TQ0hFRF9TRVRTQ0hFRFVMRVIgKi8KIAotI2VuZGlmCiAKICNpZiBkZWZpbmVkKEhBVkVfU0NIRURfU0VUU0NIRURVTEVSKSB8fCBkZWZpbmVkKEhBVkVfU0NIRURfU0VUUEFSQU0pCisvKltjbGluaWMgaW5wdXRdCitjbGFzcyBvcy5zY2hlZF9wYXJhbSAiUHlPYmplY3QgKiIgIiZTY2hlZFBhcmFtVHlwZSIKKworQGNsYXNzbWV0aG9kCitvcy5zY2hlZF9wYXJhbS5fX25ld19fCisKKyAgICBzY2hlZF9wcmlvcml0eTogb2JqZWN0CisgICAgICAgIEEgc2NoZWR1bGluZyBwYXJhbWV0ZXIuCisKK0N1cnJlbnQgaGFzIG9ubHkgb25lIGZpZWxkOiBzY2hlZF9wcmlvcml0eSIpOworW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3Nfc2NoZWRfcGFyYW1fX2RvY19fLAorInNjaGVkX3BhcmFtKHNjaGVkX3ByaW9yaXR5KVxuIgorIi0tXG4iCisiXG4iCisiQ3VycmVudCBoYXMgb25seSBvbmUgZmllbGQ6IHNjaGVkX3ByaW9yaXR5XCIpO1xuIgorIlxuIgorIiAgc2NoZWRfcHJpb3JpdHlcbiIKKyIgICAgQSBzY2hlZHVsaW5nIHBhcmFtZXRlci4iKTsKIAogc3RhdGljIFB5T2JqZWN0ICoKLXNjaGVkX3BhcmFtX25ldyhQeVR5cGVPYmplY3QgKnR5cGUsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQotewotICAgIFB5T2JqZWN0ICpyZXMsICpwcmlvcml0eTsKLSAgICBzdGF0aWMgY2hhciAqa3dsaXN0W10gPSB7InNjaGVkX3ByaW9yaXR5IiwgTlVMTH07Citvc19zY2hlZF9wYXJhbV9pbXBsKFB5VHlwZU9iamVjdCAqdHlwZSwgUHlPYmplY3QgKnNjaGVkX3ByaW9yaXR5KTsKIAotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywgIk86c2NoZWRfcGFyYW0iLCBrd2xpc3QsICZwcmlvcml0eSkpCi0gICAgICAgIHJldHVybiBOVUxMOworc3RhdGljIFB5T2JqZWN0ICoKK29zX3NjaGVkX3BhcmFtKFB5VHlwZU9iamVjdCAqdHlwZSwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCit7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgc3RhdGljIGNoYXIgKl9rZXl3b3Jkc1tdID0geyJzY2hlZF9wcmlvcml0eSIsIE5VTEx9OworICAgIFB5T2JqZWN0ICpzY2hlZF9wcmlvcml0eTsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywKKyAgICAgICAgIk86c2NoZWRfcGFyYW0iLCBfa2V5d29yZHMsCisgICAgICAgICZzY2hlZF9wcmlvcml0eSkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBvc19zY2hlZF9wYXJhbV9pbXBsKHR5cGUsIHNjaGVkX3ByaW9yaXR5KTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3Nfc2NoZWRfcGFyYW1faW1wbChQeVR5cGVPYmplY3QgKnR5cGUsIFB5T2JqZWN0ICpzY2hlZF9wcmlvcml0eSkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1kMzc5MWUzNDVmN2ZlNTczIGlucHV0PTczYTRjMjJmNzA3MWZjNjJdKi8KK3sKKyAgICBQeU9iamVjdCAqcmVzOworCiAgICAgcmVzID0gUHlTdHJ1Y3RTZXF1ZW5jZV9OZXcodHlwZSk7CiAgICAgaWYgKCFyZXMpCiAgICAgICAgIHJldHVybiBOVUxMOwotICAgIFB5X0lOQ1JFRihwcmlvcml0eSk7Ci0gICAgUHlTdHJ1Y3RTZXF1ZW5jZV9TRVRfSVRFTShyZXMsIDAsIHByaW9yaXR5KTsKKyAgICBQeV9JTkNSRUYoc2NoZWRfcHJpb3JpdHkpOworICAgIFB5U3RydWN0U2VxdWVuY2VfU0VUX0lURU0ocmVzLCAwLCBzY2hlZF9wcmlvcml0eSk7CiAgICAgcmV0dXJuIHJlczsKIH0KIAotUHlEb2NfU1RSVkFSKHNjaGVkX3BhcmFtX19kb2NfXywKLSJzY2hlZF9wYXJhbShzY2hlZF9wcmlvcml0eSk6IEEgc2NoZWR1bGluZyBwYXJhbWV0ZXIuXG5cblwKLUN1cnJlbnQgaGFzIG9ubHkgb25lIGZpZWxkOiBzY2hlZF9wcmlvcml0eSIpOwogCiBzdGF0aWMgUHlTdHJ1Y3RTZXF1ZW5jZV9GaWVsZCBzY2hlZF9wYXJhbV9maWVsZHNbXSA9IHsKICAgICB7InNjaGVkX3ByaW9yaXR5IiwgInRoZSBzY2hlZHVsaW5nIHByaW9yaXR5In0sCkBAIC01NjY0LDcgKzcyNDYsNyBAQAogCiBzdGF0aWMgUHlTdHJ1Y3RTZXF1ZW5jZV9EZXNjIHNjaGVkX3BhcmFtX2Rlc2MgPSB7CiAgICAgInNjaGVkX3BhcmFtIiwgLyogbmFtZSAqLwotICAgIHNjaGVkX3BhcmFtX19kb2NfXywgLyogZG9jICovCisgICAgb3Nfc2NoZWRfcGFyYW1fX2RvY19fLCAvKiBkb2MgKi8KICAgICBzY2hlZF9wYXJhbV9maWVsZHMsCiAgICAgMQogfTsKQEAgLTU2ODgsMTE4ICs3MjcwLDI4MCBAQAogICAgIHJlcy0+c2NoZWRfcHJpb3JpdHkgPSBQeV9TQUZFX0RPV05DQVNUKHByaW9yaXR5LCBsb25nLCBpbnQpOwogICAgIHJldHVybiAxOwogfQorI2VuZGlmIC8qIGRlZmluZWQoSEFWRV9TQ0hFRF9TRVRTQ0hFRFVMRVIpIHx8IGRlZmluZWQoSEFWRV9TQ0hFRF9TRVRQQVJBTSkgKi8KIAotI2VuZGlmCiAKICNpZmRlZiBIQVZFX1NDSEVEX1NFVFNDSEVEVUxFUgorLypbY2xpbmljIGlucHV0XQorb3Muc2NoZWRfc2V0c2NoZWR1bGVyCiAKLVB5RG9jX1NUUlZBUihwb3NpeF9zY2hlZF9zZXRzY2hlZHVsZXJfX2RvY19fLAotInNjaGVkX3NldHNjaGVkdWxlcihwaWQsIHBvbGljeSwgcGFyYW0pXG5cblwKLVNldCB0aGUgc2NoZWR1bGluZyBwb2xpY3ksICpwb2xpY3kqLCBmb3IgKnBpZCouXG5cCi1JZiAqcGlkKiBpcyAwLCB0aGUgY2FsbGluZyBwcm9jZXNzIGlzIGNoYW5nZWQuXG5cCi0qcGFyYW0qIGlzIGFuIGluc3RhbmNlIG9mIHNjaGVkX3BhcmFtLiIpOworICAgIHBpZDogcGlkX3QKKyAgICBwb2xpY3k6IGludAorICAgIHBhcmFtOiBzY2hlZF9wYXJhbQorICAgIC8KKworU2V0IHRoZSBzY2hlZHVsaW5nIHBvbGljeSBmb3IgdGhlIHByb2Nlc3MgaWRlbnRpZmllZCBieSBwaWQuCisKK0lmIHBpZCBpcyAwLCB0aGUgY2FsbGluZyBwcm9jZXNzIGlzIGNoYW5nZWQuCitwYXJhbSBpcyBhbiBpbnN0YW5jZSBvZiBzY2hlZF9wYXJhbS4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX3NjaGVkX3NldHNjaGVkdWxlcl9fZG9jX18sCisic2NoZWRfc2V0c2NoZWR1bGVyKCRtb2R1bGUsIHBpZCwgcG9saWN5LCBwYXJhbSwgLylcbiIKKyItLVxuIgorIlxuIgorIlNldCB0aGUgc2NoZWR1bGluZyBwb2xpY3kgZm9yIHRoZSBwcm9jZXNzIGlkZW50aWZpZWQgYnkgcGlkLlxuIgorIlxuIgorIklmIHBpZCBpcyAwLCB0aGUgY2FsbGluZyBwcm9jZXNzIGlzIGNoYW5nZWQuXG4iCisicGFyYW0gaXMgYW4gaW5zdGFuY2Ugb2Ygc2NoZWRfcGFyYW0uIik7CisKKyNkZWZpbmUgT1NfU0NIRURfU0VUU0NIRURVTEVSX01FVEhPRERFRiAgICBcCisgICAgeyJzY2hlZF9zZXRzY2hlZHVsZXIiLCAoUHlDRnVuY3Rpb24pb3Nfc2NoZWRfc2V0c2NoZWR1bGVyLCBNRVRIX1ZBUkFSR1MsIG9zX3NjaGVkX3NldHNjaGVkdWxlcl9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfc2NoZWRfc2V0c2NoZWR1bGVyKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK29zX3NjaGVkX3NldHNjaGVkdWxlcl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIHBpZF90IHBpZCwgaW50IHBvbGljeSwgc3RydWN0IHNjaGVkX3BhcmFtICpwYXJhbSk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19zY2hlZF9zZXRzY2hlZHVsZXIoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCiB7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CiAgICAgcGlkX3QgcGlkOwogICAgIGludCBwb2xpY3k7CiAgICAgc3RydWN0IHNjaGVkX3BhcmFtIHBhcmFtOwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsIF9QeV9QQVJTRV9QSUQgImlPJjpzY2hlZF9zZXRzY2hlZHVsZXIiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAmcGlkLCAmcG9saWN5LCAmY29udmVydF9zY2hlZF9wYXJhbSwgJnBhcmFtKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICIiIF9QeV9QQVJTRV9QSUQgImlPJjpzY2hlZF9zZXRzY2hlZHVsZXIiLAorICAgICAgICAmcGlkLCAmcG9saWN5LCBjb252ZXJ0X3NjaGVkX3BhcmFtLCAmcGFyYW0pKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gb3Nfc2NoZWRfc2V0c2NoZWR1bGVyX2ltcGwobW9kdWxlLCBwaWQsIHBvbGljeSwgJnBhcmFtKTsKIAorZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3Nfc2NoZWRfc2V0c2NoZWR1bGVyX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgcGlkX3QgcGlkLCBpbnQgcG9saWN5LCBzdHJ1Y3Qgc2NoZWRfcGFyYW0gKnBhcmFtKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTM2YWJkYjczZjgxYzIyNGYgaW5wdXQ9YzU4MWY5NDY5YTUzMjdkZF0qLworewogICAgIC8qCiAgICAgKiogc2NoZWRfc2V0c2NoZWR1bGVyKCkgcmV0dXJucyAwIGluIExpbnV4LCBidXQgdGhlIHByZXZpb3VzCiAgICAgKiogc2NoZWR1bGluZyBwb2xpY3kgdW5kZXIgU29sYXJpcy9JbGx1bW9zLCBhbmQgb3RoZXJzLgogICAgICoqIE9uIGVycm9yLCAtMSBpcyByZXR1cm5lZCBpbiBhbGwgT3BlcmF0aW5nIFN5c3RlbXMuCiAgICAgKi8KLSAgICBpZiAoc2NoZWRfc2V0c2NoZWR1bGVyKHBpZCwgcG9saWN5LCAmcGFyYW0pID09IC0xKQorICAgIGlmIChzY2hlZF9zZXRzY2hlZHVsZXIocGlkLCBwb2xpY3ksIHBhcmFtKSA9PSAtMSkKICAgICAgICAgcmV0dXJuIHBvc2l4X2Vycm9yKCk7CiAgICAgUHlfUkVUVVJOX05PTkU7CiB9CisjZW5kaWYgIC8qIEhBVkVfU0NIRURfU0VUU0NIRURVTEVSKi8KIAotI2VuZGlmCiAKICNpZmRlZiBIQVZFX1NDSEVEX1NFVFBBUkFNCisvKltjbGluaWMgaW5wdXRdCitvcy5zY2hlZF9nZXRwYXJhbQorICAgIHBpZDogcGlkX3QKKyAgICAvCiAKLVB5RG9jX1NUUlZBUihwb3NpeF9zY2hlZF9nZXRwYXJhbV9fZG9jX18sCi0ic2NoZWRfZ2V0cGFyYW0ocGlkKSAtPiBzY2hlZF9wYXJhbVxuXG5cCi1SZXR1cm5zIHNjaGVkdWxpbmcgcGFyYW1ldGVycyBmb3IgdGhlIHByb2Nlc3Mgd2l0aCAqcGlkKiBhcyBhbiBpbnN0YW5jZSBvZiB0aGVcblwKLXNjaGVkX3BhcmFtIGNsYXNzLiBBIFBJRCBvZiAwIG1lYW5zIHRoZSBjYWxsaW5nIHByb2Nlc3MuIik7CitSZXR1cm5zIHNjaGVkdWxpbmcgcGFyYW1ldGVycyBmb3IgdGhlIHByb2Nlc3MgaWRlbnRpZmllZCBieSBwaWQuCisKK0lmIHBpZCBpcyAwLCByZXR1cm5zIHBhcmFtZXRlcnMgZm9yIHRoZSBjYWxsaW5nIHByb2Nlc3MuCitSZXR1cm4gdmFsdWUgaXMgYW4gaW5zdGFuY2Ugb2Ygc2NoZWRfcGFyYW0uCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19zY2hlZF9nZXRwYXJhbV9fZG9jX18sCisic2NoZWRfZ2V0cGFyYW0oJG1vZHVsZSwgcGlkLCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJucyBzY2hlZHVsaW5nIHBhcmFtZXRlcnMgZm9yIHRoZSBwcm9jZXNzIGlkZW50aWZpZWQgYnkgcGlkLlxuIgorIlxuIgorIklmIHBpZCBpcyAwLCByZXR1cm5zIHBhcmFtZXRlcnMgZm9yIHRoZSBjYWxsaW5nIHByb2Nlc3MuXG4iCisiUmV0dXJuIHZhbHVlIGlzIGFuIGluc3RhbmNlIG9mIHNjaGVkX3BhcmFtLiIpOworCisjZGVmaW5lIE9TX1NDSEVEX0dFVFBBUkFNX01FVEhPRERFRiAgICBcCisgICAgeyJzY2hlZF9nZXRwYXJhbSIsIChQeUNGdW5jdGlvbilvc19zY2hlZF9nZXRwYXJhbSwgTUVUSF9WQVJBUkdTLCBvc19zY2hlZF9nZXRwYXJhbV9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfc2NoZWRfZ2V0cGFyYW0oUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQotewotICAgIHBpZF90IHBpZDsKLSAgICBzdHJ1Y3Qgc2NoZWRfcGFyYW0gcGFyYW07Ci0gICAgUHlPYmplY3QgKnJlcywgKnByaW9yaXR5Oworb3Nfc2NoZWRfZ2V0cGFyYW1faW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBwaWRfdCBwaWQpOwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsIF9QeV9QQVJTRV9QSUQgIjpzY2hlZF9nZXRwYXJhbSIsICZwaWQpKQotICAgICAgICByZXR1cm4gTlVMTDsKK3N0YXRpYyBQeU9iamVjdCAqCitvc19zY2hlZF9nZXRwYXJhbShQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBwaWRfdCBwaWQ7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgIiIgX1B5X1BBUlNFX1BJRCAiOnNjaGVkX2dldHBhcmFtIiwKKyAgICAgICAgJnBpZCkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBvc19zY2hlZF9nZXRwYXJhbV9pbXBsKG1vZHVsZSwgcGlkKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3Nfc2NoZWRfZ2V0cGFyYW1faW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBwaWRfdCBwaWQpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9YjMzYWNjOGRiMDA0YThjOSBpbnB1dD0xOGExZWY5YzJlZmFlMjk2XSovCit7CisgICAgc3RydWN0IHNjaGVkX3BhcmFtIHBhcmFtOworICAgIFB5T2JqZWN0ICpyZXN1bHQ7CisgICAgUHlPYmplY3QgKnByaW9yaXR5OworCiAgICAgaWYgKHNjaGVkX2dldHBhcmFtKHBpZCwgJnBhcmFtKSkKICAgICAgICAgcmV0dXJuIHBvc2l4X2Vycm9yKCk7Ci0gICAgcmVzID0gUHlTdHJ1Y3RTZXF1ZW5jZV9OZXcoJlNjaGVkUGFyYW1UeXBlKTsKLSAgICBpZiAoIXJlcykKKyAgICByZXN1bHQgPSBQeVN0cnVjdFNlcXVlbmNlX05ldygmU2NoZWRQYXJhbVR5cGUpOworICAgIGlmICghcmVzdWx0KQogICAgICAgICByZXR1cm4gTlVMTDsKICAgICBwcmlvcml0eSA9IFB5TG9uZ19Gcm9tTG9uZyhwYXJhbS5zY2hlZF9wcmlvcml0eSk7CiAgICAgaWYgKCFwcmlvcml0eSkgewotICAgICAgICBQeV9ERUNSRUYocmVzKTsKKyAgICAgICAgUHlfREVDUkVGKHJlc3VsdCk7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KLSAgICBQeVN0cnVjdFNlcXVlbmNlX1NFVF9JVEVNKHJlcywgMCwgcHJpb3JpdHkpOwotICAgIHJldHVybiByZXM7CisgICAgUHlTdHJ1Y3RTZXF1ZW5jZV9TRVRfSVRFTShyZXN1bHQsIDAsIHByaW9yaXR5KTsKKyAgICByZXR1cm4gcmVzdWx0OwogfQogCi1QeURvY19TVFJWQVIocG9zaXhfc2NoZWRfc2V0cGFyYW1fX2RvY19fLAotInNjaGVkX3NldHBhcmFtKHBpZCwgcGFyYW0pXG5cblwKLVNldCBzY2hlZHVsaW5nIHBhcmFtZXRlcnMgZm9yIGEgcHJvY2VzcyB3aXRoIFBJRCAqcGlkKi5cblwKLUEgUElEIG9mIDAgbWVhbnMgdGhlIGNhbGxpbmcgcHJvY2Vzcy4iKTsKKworLypbY2xpbmljIGlucHV0XQorb3Muc2NoZWRfc2V0cGFyYW0KKyAgICBwaWQ6IHBpZF90CisgICAgcGFyYW06IHNjaGVkX3BhcmFtCisgICAgLworCitTZXQgc2NoZWR1bGluZyBwYXJhbWV0ZXJzIGZvciB0aGUgcHJvY2VzcyBpZGVudGlmaWVkIGJ5IHBpZC4KKworSWYgcGlkIGlzIDAsIHNldHMgcGFyYW1ldGVycyBmb3IgdGhlIGNhbGxpbmcgcHJvY2Vzcy4KK3BhcmFtIHNob3VsZCBiZSBhbiBpbnN0YW5jZSBvZiBzY2hlZF9wYXJhbS4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX3NjaGVkX3NldHBhcmFtX19kb2NfXywKKyJzY2hlZF9zZXRwYXJhbSgkbW9kdWxlLCBwaWQsIHBhcmFtLCAvKVxuIgorIi0tXG4iCisiXG4iCisiU2V0IHNjaGVkdWxpbmcgcGFyYW1ldGVycyBmb3IgdGhlIHByb2Nlc3MgaWRlbnRpZmllZCBieSBwaWQuXG4iCisiXG4iCisiSWYgcGlkIGlzIDAsIHNldHMgcGFyYW1ldGVycyBmb3IgdGhlIGNhbGxpbmcgcHJvY2Vzcy5cbiIKKyJwYXJhbSBzaG91bGQgYmUgYW4gaW5zdGFuY2Ugb2Ygc2NoZWRfcGFyYW0uIik7CisKKyNkZWZpbmUgT1NfU0NIRURfU0VUUEFSQU1fTUVUSE9EREVGICAgIFwKKyAgICB7InNjaGVkX3NldHBhcmFtIiwgKFB5Q0Z1bmN0aW9uKW9zX3NjaGVkX3NldHBhcmFtLCBNRVRIX1ZBUkFSR1MsIG9zX3NjaGVkX3NldHBhcmFtX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9zY2hlZF9zZXRwYXJhbShQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitvc19zY2hlZF9zZXRwYXJhbV9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIHBpZF90IHBpZCwgc3RydWN0IHNjaGVkX3BhcmFtICpwYXJhbSk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19zY2hlZF9zZXRwYXJhbShQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKIHsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKICAgICBwaWRfdCBwaWQ7CiAgICAgc3RydWN0IHNjaGVkX3BhcmFtIHBhcmFtOwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsIF9QeV9QQVJTRV9QSUQgIk8mOnNjaGVkX3NldHBhcmFtIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgJnBpZCwgJmNvbnZlcnRfc2NoZWRfcGFyYW0sICZwYXJhbSkpCi0gICAgICAgIHJldHVybiBOVUxMOwotICAgIGlmIChzY2hlZF9zZXRwYXJhbShwaWQsICZwYXJhbSkpCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICIiIF9QeV9QQVJTRV9QSUQgIk8mOnNjaGVkX3NldHBhcmFtIiwKKyAgICAgICAgJnBpZCwgY29udmVydF9zY2hlZF9wYXJhbSwgJnBhcmFtKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IG9zX3NjaGVkX3NldHBhcmFtX2ltcGwobW9kdWxlLCBwaWQsICZwYXJhbSk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3NjaGVkX3NldHBhcmFtX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgcGlkX3QgcGlkLCBzdHJ1Y3Qgc2NoZWRfcGFyYW0gKnBhcmFtKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTQ4OGJkZjViY2JlMGQ0ZTggaW5wdXQ9NmI4ZDZkZmNlY2RjMjFiZF0qLworeworICAgIGlmIChzY2hlZF9zZXRwYXJhbShwaWQsIHBhcmFtKSkKICAgICAgICAgcmV0dXJuIHBvc2l4X2Vycm9yKCk7CiAgICAgUHlfUkVUVVJOX05PTkU7CiB9CisjZW5kaWYgLyogSEFWRV9TQ0hFRF9TRVRQQVJBTSAqLwogCi0jZW5kaWYKIAogI2lmZGVmIEhBVkVfU0NIRURfUlJfR0VUX0lOVEVSVkFMCisvKltjbGluaWMgaW5wdXRdCitvcy5zY2hlZF9ycl9nZXRfaW50ZXJ2YWwgLT4gZG91YmxlCisgICAgcGlkOiBwaWRfdAorICAgIC8KIAotUHlEb2NfU1RSVkFSKHBvc2l4X3NjaGVkX3JyX2dldF9pbnRlcnZhbF9fZG9jX18sCi0ic2NoZWRfcnJfZ2V0X2ludGVydmFsKHBpZCkgLT4gZmxvYXRcblxuXAotUmV0dXJuIHRoZSByb3VuZC1yb2JpbiBxdWFudHVtIGZvciB0aGUgcHJvY2VzcyB3aXRoIFBJRCAqcGlkKiBpbiBzZWNvbmRzLiIpOworUmV0dXJuIHRoZSByb3VuZC1yb2JpbiBxdWFudHVtIGZvciB0aGUgcHJvY2VzcyBpZGVudGlmaWVkIGJ5IHBpZCwgaW4gc2Vjb25kcy4KKworVmFsdWUgcmV0dXJuZWQgaXMgYSBmbG9hdC4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX3NjaGVkX3JyX2dldF9pbnRlcnZhbF9fZG9jX18sCisic2NoZWRfcnJfZ2V0X2ludGVydmFsKCRtb2R1bGUsIHBpZCwgLylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiB0aGUgcm91bmQtcm9iaW4gcXVhbnR1bSBmb3IgdGhlIHByb2Nlc3MgaWRlbnRpZmllZCBieSBwaWQsIGluIHNlY29uZHMuXG4iCisiXG4iCisiVmFsdWUgcmV0dXJuZWQgaXMgYSBmbG9hdC4iKTsKKworI2RlZmluZSBPU19TQ0hFRF9SUl9HRVRfSU5URVJWQUxfTUVUSE9EREVGICAgIFwKKyAgICB7InNjaGVkX3JyX2dldF9pbnRlcnZhbCIsIChQeUNGdW5jdGlvbilvc19zY2hlZF9ycl9nZXRfaW50ZXJ2YWwsIE1FVEhfVkFSQVJHUywgb3Nfc2NoZWRfcnJfZ2V0X2ludGVydmFsX19kb2NfX30sCisKK3N0YXRpYyBkb3VibGUKK29zX3NjaGVkX3JyX2dldF9pbnRlcnZhbF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIHBpZF90IHBpZCk7CiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9zY2hlZF9ycl9nZXRfaW50ZXJ2YWwoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorb3Nfc2NoZWRfcnJfZ2V0X2ludGVydmFsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQogeworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOwogICAgIHBpZF90IHBpZDsKLSAgICBzdHJ1Y3QgdGltZXNwZWMgaW50ZXJ2YWw7CisgICAgZG91YmxlIF9yZXR1cm5fdmFsdWU7CiAKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgX1B5X1BBUlNFX1BJRCAiOnNjaGVkX3JyX2dldF9pbnRlcnZhbCIsICZwaWQpKQotICAgICAgICByZXR1cm4gTlVMTDsKLSAgICBpZiAoc2NoZWRfcnJfZ2V0X2ludGVydmFsKHBpZCwgJmludGVydmFsKSkKLSAgICAgICAgcmV0dXJuIHBvc2l4X2Vycm9yKCk7Ci0gICAgcmV0dXJuIFB5RmxvYXRfRnJvbURvdWJsZSgoZG91YmxlKWludGVydmFsLnR2X3NlYyArIDFlLTkqaW50ZXJ2YWwudHZfbnNlYyk7CisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICIiIF9QeV9QQVJTRV9QSUQgIjpzY2hlZF9ycl9nZXRfaW50ZXJ2YWwiLAorICAgICAgICAmcGlkKSkKKyAgICAgICAgZ290byBleGl0OworICAgIF9yZXR1cm5fdmFsdWUgPSBvc19zY2hlZF9ycl9nZXRfaW50ZXJ2YWxfaW1wbChtb2R1bGUsIHBpZCk7CisgICAgaWYgKChfcmV0dXJuX3ZhbHVlID09IC0xLjApICYmIFB5RXJyX09jY3VycmVkKCkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBQeUZsb2F0X0Zyb21Eb3VibGUoX3JldHVybl92YWx1ZSk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKIH0KIAotI2VuZGlmCitzdGF0aWMgZG91YmxlCitvc19zY2hlZF9ycl9nZXRfaW50ZXJ2YWxfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBwaWRfdCBwaWQpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9NWIzYjhkMWYyN2ZiMmMwYSBpbnB1dD0yYTk3M2RhMTVjY2E2ZmFlXSovCit7CisgICAgc3RydWN0IHRpbWVzcGVjIGludGVydmFsOworICAgIGlmIChzY2hlZF9ycl9nZXRfaW50ZXJ2YWwocGlkLCAmaW50ZXJ2YWwpKSB7CisgICAgICAgIHBvc2l4X2Vycm9yKCk7CisgICAgICAgIHJldHVybiAtMS4wOworICAgIH0KKyAgICByZXR1cm4gKGRvdWJsZSlpbnRlcnZhbC50dl9zZWMgKyAxZS05KmludGVydmFsLnR2X25zZWM7Cit9CisjZW5kaWYgLyogSEFWRV9TQ0hFRF9SUl9HRVRfSU5URVJWQUwgKi8KIAotUHlEb2NfU1RSVkFSKHBvc2l4X3NjaGVkX3lpZWxkX19kb2NfXywKLSJzY2hlZF95aWVsZCgpXG5cblwKLVZvbHVudGFyaWx5IHJlbGlucXVpc2ggdGhlIENQVS4iKTsKKworLypbY2xpbmljIGlucHV0XQorb3Muc2NoZWRfeWllbGQKKworVm9sdW50YXJpbHkgcmVsaW5xdWlzaCB0aGUgQ1BVLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3Nfc2NoZWRfeWllbGRfX2RvY19fLAorInNjaGVkX3lpZWxkKCRtb2R1bGUsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJWb2x1bnRhcmlseSByZWxpbnF1aXNoIHRoZSBDUFUuIik7CisKKyNkZWZpbmUgT1NfU0NIRURfWUlFTERfTUVUSE9EREVGICAgIFwKKyAgICB7InNjaGVkX3lpZWxkIiwgKFB5Q0Z1bmN0aW9uKW9zX3NjaGVkX3lpZWxkLCBNRVRIX05PQVJHUywgb3Nfc2NoZWRfeWllbGRfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X3NjaGVkX3lpZWxkKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqbm9hcmdzKQorb3Nfc2NoZWRfeWllbGRfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3NjaGVkX3lpZWxkKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpQeV9VTlVTRUQoaWdub3JlZCkpCit7CisgICAgcmV0dXJuIG9zX3NjaGVkX3lpZWxkX2ltcGwobW9kdWxlKTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3NjaGVkX3lpZWxkX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD05ZDJlNWYyOWYxMzcwMzI0IGlucHV0PWU1NGQ2Zjk4MTg5MzkxZDRdKi8KIHsKICAgICBpZiAoc2NoZWRfeWllbGQoKSkKICAgICAgICAgcmV0dXJuIHBvc2l4X2Vycm9yKCk7CkBAIC01ODA3LDM5ICs3NTUxLDcyIEBACiB9CiAKICNpZmRlZiBIQVZFX1NDSEVEX1NFVEFGRklOSVRZCi0KIC8qIFRoZSBtaW5pbXVtIG51bWJlciBvZiBDUFVzIGFsbG9jYXRlZCBpbiBhIGNwdV9zZXRfdCAqLwogc3RhdGljIGNvbnN0IGludCBOQ1BVU19TVEFSVCA9IHNpemVvZih1bnNpZ25lZCBsb25nKSAqIENIQVJfQklUOwogCi1QeURvY19TVFJWQVIocG9zaXhfc2NoZWRfc2V0YWZmaW5pdHlfX2RvY19fLAotInNjaGVkX3NldGFmZmluaXR5KHBpZCwgY3B1X3NldClcblxuXAotU2V0IHRoZSBhZmZpbml0eSBvZiB0aGUgcHJvY2VzcyB3aXRoIFBJRCAqcGlkKiB0byAqY3B1X3NldCouIik7CisvKltjbGluaWMgaW5wdXRdCitvcy5zY2hlZF9zZXRhZmZpbml0eQorICAgIHBpZDogcGlkX3QKKyAgICBtYXNrIDogb2JqZWN0CisgICAgLworCitTZXQgdGhlIENQVSBhZmZpbml0eSBvZiB0aGUgcHJvY2VzcyBpZGVudGlmaWVkIGJ5IHBpZCB0byBtYXNrLgorCittYXNrIHNob3VsZCBiZSBhbiBpdGVyYWJsZSBvZiBpbnRlZ2VycyBpZGVudGlmeWluZyBDUFVzLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3Nfc2NoZWRfc2V0YWZmaW5pdHlfX2RvY19fLAorInNjaGVkX3NldGFmZmluaXR5KCRtb2R1bGUsIHBpZCwgbWFzaywgLylcbiIKKyItLVxuIgorIlxuIgorIlNldCB0aGUgQ1BVIGFmZmluaXR5IG9mIHRoZSBwcm9jZXNzIGlkZW50aWZpZWQgYnkgcGlkIHRvIG1hc2suXG4iCisiXG4iCisibWFzayBzaG91bGQgYmUgYW4gaXRlcmFibGUgb2YgaW50ZWdlcnMgaWRlbnRpZnlpbmcgQ1BVcy4iKTsKKworI2RlZmluZSBPU19TQ0hFRF9TRVRBRkZJTklUWV9NRVRIT0RERUYgICAgXAorICAgIHsic2NoZWRfc2V0YWZmaW5pdHkiLCAoUHlDRnVuY3Rpb24pb3Nfc2NoZWRfc2V0YWZmaW5pdHksIE1FVEhfVkFSQVJHUywgb3Nfc2NoZWRfc2V0YWZmaW5pdHlfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X3NjaGVkX3NldGFmZmluaXR5KFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK29zX3NjaGVkX3NldGFmZmluaXR5X2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgcGlkX3QgcGlkLCBQeU9iamVjdCAqbWFzayk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19zY2hlZF9zZXRhZmZpbml0eShQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKIHsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKICAgICBwaWRfdCBwaWQ7CisgICAgUHlPYmplY3QgKm1hc2s7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgIiIgX1B5X1BBUlNFX1BJRCAiTzpzY2hlZF9zZXRhZmZpbml0eSIsCisgICAgICAgICZwaWQsICZtYXNrKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IG9zX3NjaGVkX3NldGFmZmluaXR5X2ltcGwobW9kdWxlLCBwaWQsIG1hc2spOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19zY2hlZF9zZXRhZmZpbml0eV9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIHBpZF90IHBpZCwgUHlPYmplY3QgKm1hc2spCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9NTE5OTkyOTczODEzMDE5NiBpbnB1dD1hMDc5MWE1OTdjNzA4NWJhXSovCit7CiAgICAgaW50IG5jcHVzOwogICAgIHNpemVfdCBzZXRzaXplOwotICAgIGNwdV9zZXRfdCAqbWFzayA9IE5VTEw7Ci0gICAgUHlPYmplY3QgKml0ZXJhYmxlLCAqaXRlcmF0b3IgPSBOVUxMLCAqaXRlbTsKKyAgICBjcHVfc2V0X3QgKmNwdV9zZXQgPSBOVUxMOworICAgIFB5T2JqZWN0ICppdGVyYXRvciA9IE5VTEwsICppdGVtOwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsIF9QeV9QQVJTRV9QSUQgIk86c2NoZWRfc2V0YWZmaW5pdHkiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAmcGlkLCAmaXRlcmFibGUpKQotICAgICAgICByZXR1cm4gTlVMTDsKLQotICAgIGl0ZXJhdG9yID0gUHlPYmplY3RfR2V0SXRlcihpdGVyYWJsZSk7CisgICAgaXRlcmF0b3IgPSBQeU9iamVjdF9HZXRJdGVyKG1hc2spOwogICAgIGlmIChpdGVyYXRvciA9PSBOVUxMKQogICAgICAgICByZXR1cm4gTlVMTDsKIAogICAgIG5jcHVzID0gTkNQVVNfU1RBUlQ7CiAgICAgc2V0c2l6ZSA9IENQVV9BTExPQ19TSVpFKG5jcHVzKTsKLSAgICBtYXNrID0gQ1BVX0FMTE9DKG5jcHVzKTsKLSAgICBpZiAobWFzayA9PSBOVUxMKSB7CisgICAgY3B1X3NldCA9IENQVV9BTExPQyhuY3B1cyk7CisgICAgaWYgKGNwdV9zZXQgPT0gTlVMTCkgewogICAgICAgICBQeUVycl9Ob01lbW9yeSgpOwogICAgICAgICBnb3RvIGVycm9yOwogICAgIH0KLSAgICBDUFVfWkVST19TKHNldHNpemUsIG1hc2spOworICAgIENQVV9aRVJPX1Moc2V0c2l6ZSwgY3B1X3NldCk7CiAKICAgICB3aGlsZSAoKGl0ZW0gPSBQeUl0ZXJfTmV4dChpdGVyYXRvcikpKSB7CiAgICAgICAgIGxvbmcgY3B1OwpAQCAtNTg4MCw0OCArNzY1Nyw4MCBAQAogICAgICAgICAgICAgfQogICAgICAgICAgICAgbmV3c2V0c2l6ZSA9IENQVV9BTExPQ19TSVpFKG5ld25jcHVzKTsKICAgICAgICAgICAgIENQVV9aRVJPX1MobmV3c2V0c2l6ZSwgbmV3bWFzayk7Ci0gICAgICAgICAgICBtZW1jcHkobmV3bWFzaywgbWFzaywgc2V0c2l6ZSk7Ci0gICAgICAgICAgICBDUFVfRlJFRShtYXNrKTsKKyAgICAgICAgICAgIG1lbWNweShuZXdtYXNrLCBjcHVfc2V0LCBzZXRzaXplKTsKKyAgICAgICAgICAgIENQVV9GUkVFKGNwdV9zZXQpOwogICAgICAgICAgICAgc2V0c2l6ZSA9IG5ld3NldHNpemU7Ci0gICAgICAgICAgICBtYXNrID0gbmV3bWFzazsKKyAgICAgICAgICAgIGNwdV9zZXQgPSBuZXdtYXNrOwogICAgICAgICAgICAgbmNwdXMgPSBuZXduY3B1czsKICAgICAgICAgfQotICAgICAgICBDUFVfU0VUX1MoY3B1LCBzZXRzaXplLCBtYXNrKTsKKyAgICAgICAgQ1BVX1NFVF9TKGNwdSwgc2V0c2l6ZSwgY3B1X3NldCk7CiAgICAgfQogICAgIFB5X0NMRUFSKGl0ZXJhdG9yKTsKIAotICAgIGlmIChzY2hlZF9zZXRhZmZpbml0eShwaWQsIHNldHNpemUsIG1hc2spKSB7CisgICAgaWYgKHNjaGVkX3NldGFmZmluaXR5KHBpZCwgc2V0c2l6ZSwgY3B1X3NldCkpIHsKICAgICAgICAgcG9zaXhfZXJyb3IoKTsKICAgICAgICAgZ290byBlcnJvcjsKICAgICB9Ci0gICAgQ1BVX0ZSRUUobWFzayk7CisgICAgQ1BVX0ZSRUUoY3B1X3NldCk7CiAgICAgUHlfUkVUVVJOX05PTkU7CiAKIGVycm9yOgotICAgIGlmIChtYXNrKQotICAgICAgICBDUFVfRlJFRShtYXNrKTsKKyAgICBpZiAoY3B1X3NldCkKKyAgICAgICAgQ1BVX0ZSRUUoY3B1X3NldCk7CiAgICAgUHlfWERFQ1JFRihpdGVyYXRvcik7CiAgICAgcmV0dXJuIE5VTEw7CiB9CiAKLVB5RG9jX1NUUlZBUihwb3NpeF9zY2hlZF9nZXRhZmZpbml0eV9fZG9jX18sCi0ic2NoZWRfZ2V0YWZmaW5pdHkocGlkLCBuY3B1cykgLT4gY3B1X3NldFxuXG5cCi1SZXR1cm4gdGhlIGFmZmluaXR5IG9mIHRoZSBwcm9jZXNzIHdpdGggUElEICpwaWQqLlxuXAotVGhlIHJldHVybmVkIGNwdV9zZXQgd2lsbCBiZSBvZiBzaXplICpuY3B1cyouIik7CisKKy8qW2NsaW5pYyBpbnB1dF0KK29zLnNjaGVkX2dldGFmZmluaXR5CisgICAgcGlkOiBwaWRfdAorICAgIC8KKworUmV0dXJuIHRoZSBhZmZpbml0eSBvZiB0aGUgcHJvY2VzcyBpZGVudGlmaWVkIGJ5IHBpZC4KKworVGhlIGFmZmluaXR5IGlzIHJldHVybmVkIGFzIGEgc2V0IG9mIENQVSBpZGVudGlmaWVycy4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX3NjaGVkX2dldGFmZmluaXR5X19kb2NfXywKKyJzY2hlZF9nZXRhZmZpbml0eSgkbW9kdWxlLCBwaWQsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gdGhlIGFmZmluaXR5IG9mIHRoZSBwcm9jZXNzIGlkZW50aWZpZWQgYnkgcGlkLlxuIgorIlxuIgorIlRoZSBhZmZpbml0eSBpcyByZXR1cm5lZCBhcyBhIHNldCBvZiBDUFUgaWRlbnRpZmllcnMuIik7CisKKyNkZWZpbmUgT1NfU0NIRURfR0VUQUZGSU5JVFlfTUVUSE9EREVGICAgIFwKKyAgICB7InNjaGVkX2dldGFmZmluaXR5IiwgKFB5Q0Z1bmN0aW9uKW9zX3NjaGVkX2dldGFmZmluaXR5LCBNRVRIX1ZBUkFSR1MsIG9zX3NjaGVkX2dldGFmZmluaXR5X19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9zY2hlZF9nZXRhZmZpbml0eShQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitvc19zY2hlZF9nZXRhZmZpbml0eV9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIHBpZF90IHBpZCk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19zY2hlZF9nZXRhZmZpbml0eShQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKIHsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKICAgICBwaWRfdCBwaWQ7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgIiIgX1B5X1BBUlNFX1BJRCAiOnNjaGVkX2dldGFmZmluaXR5IiwKKyAgICAgICAgJnBpZCkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBvc19zY2hlZF9nZXRhZmZpbml0eV9pbXBsKG1vZHVsZSwgcGlkKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3Nfc2NoZWRfZ2V0YWZmaW5pdHlfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBwaWRfdCBwaWQpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9N2IyNzNiMGZjYTk4MzBmMCBpbnB1dD1lYWYxNjE5MzY4NzRiOGExXSovCit7CiAgICAgaW50IGNwdSwgbmNwdXMsIGNvdW50OwogICAgIHNpemVfdCBzZXRzaXplOwogICAgIGNwdV9zZXRfdCAqbWFzayA9IE5VTEw7CiAgICAgUHlPYmplY3QgKnJlcyA9IE5VTEw7CiAKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgX1B5X1BBUlNFX1BJRCAiOnNjaGVkX2dldGFmZmluaXR5IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgJnBpZCkpCi0gICAgICAgIHJldHVybiBOVUxMOwotCiAgICAgbmNwdXMgPSBOQ1BVU19TVEFSVDsKICAgICB3aGlsZSAoMSkgewogICAgICAgICBzZXRzaXplID0gQ1BVX0FMTE9DX1NJWkUobmNwdXMpOwpAQCAtNTk3MSw2ICs3NzgwLDQ3IEBACiAKICNlbmRpZiAvKiBIQVZFX1NDSEVEX0ggKi8KIAorI2lmbmRlZiBPU19TQ0hFRF9HRVRfUFJJT1JJVFlfTUFYX01FVEhPRERFRgorI2RlZmluZSBPU19TQ0hFRF9HRVRfUFJJT1JJVFlfTUFYX01FVEhPRERFRgorI2VuZGlmICAvKiBPU19TQ0hFRF9HRVRfUFJJT1JJVFlfTUFYX01FVEhPRERFRiAqLworCisjaWZuZGVmIE9TX1NDSEVEX0dFVF9QUklPUklUWV9NSU5fTUVUSE9EREVGCisjZGVmaW5lIE9TX1NDSEVEX0dFVF9QUklPUklUWV9NSU5fTUVUSE9EREVGCisjZW5kaWYgIC8qIE9TX1NDSEVEX0dFVF9QUklPUklUWV9NSU5fTUVUSE9EREVGICovCisKKyNpZm5kZWYgT1NfU0NIRURfR0VUU0NIRURVTEVSX01FVEhPRERFRgorI2RlZmluZSBPU19TQ0hFRF9HRVRTQ0hFRFVMRVJfTUVUSE9EREVGCisjZW5kaWYgIC8qIE9TX1NDSEVEX0dFVFNDSEVEVUxFUl9NRVRIT0RERUYgKi8KKworI2lmbmRlZiBPU19TQ0hFRF9TRVRTQ0hFRFVMRVJfTUVUSE9EREVGCisjZGVmaW5lIE9TX1NDSEVEX1NFVFNDSEVEVUxFUl9NRVRIT0RERUYKKyNlbmRpZiAgLyogT1NfU0NIRURfU0VUU0NIRURVTEVSX01FVEhPRERFRiAqLworCisjaWZuZGVmIE9TX1NDSEVEX0dFVFBBUkFNX01FVEhPRERFRgorI2RlZmluZSBPU19TQ0hFRF9HRVRQQVJBTV9NRVRIT0RERUYKKyNlbmRpZiAgLyogT1NfU0NIRURfR0VUUEFSQU1fTUVUSE9EREVGICovCisKKyNpZm5kZWYgT1NfU0NIRURfU0VUUEFSQU1fTUVUSE9EREVGCisjZGVmaW5lIE9TX1NDSEVEX1NFVFBBUkFNX01FVEhPRERFRgorI2VuZGlmICAvKiBPU19TQ0hFRF9TRVRQQVJBTV9NRVRIT0RERUYgKi8KKworI2lmbmRlZiBPU19TQ0hFRF9SUl9HRVRfSU5URVJWQUxfTUVUSE9EREVGCisjZGVmaW5lIE9TX1NDSEVEX1JSX0dFVF9JTlRFUlZBTF9NRVRIT0RERUYKKyNlbmRpZiAgLyogT1NfU0NIRURfUlJfR0VUX0lOVEVSVkFMX01FVEhPRERFRiAqLworCisjaWZuZGVmIE9TX1NDSEVEX1lJRUxEX01FVEhPRERFRgorI2RlZmluZSBPU19TQ0hFRF9ZSUVMRF9NRVRIT0RERUYKKyNlbmRpZiAgLyogT1NfU0NIRURfWUlFTERfTUVUSE9EREVGICovCisKKyNpZm5kZWYgT1NfU0NIRURfU0VUQUZGSU5JVFlfTUVUSE9EREVGCisjZGVmaW5lIE9TX1NDSEVEX1NFVEFGRklOSVRZX01FVEhPRERFRgorI2VuZGlmICAvKiBPU19TQ0hFRF9TRVRBRkZJTklUWV9NRVRIT0RERUYgKi8KKworI2lmbmRlZiBPU19TQ0hFRF9HRVRBRkZJTklUWV9NRVRIT0RERUYKKyNkZWZpbmUgT1NfU0NIRURfR0VUQUZGSU5JVFlfTUVUSE9EREVGCisjZW5kaWYgIC8qIE9TX1NDSEVEX0dFVEFGRklOSVRZX01FVEhPRERFRiAqLworCisKIC8qIEFJWCB1c2VzIC9kZXYvcHRjIGJ1dCBpcyBvdGhlcndpc2UgdGhlIHNhbWUgYXMgL2Rldi9wdG14ICovCiAvKiBJUklYIGhhcyBib3RoIC9kZXYvcHRjIGFuZCAvZGV2L3B0bXgsIHVzZSBwdG14ICovCiAjaWYgZGVmaW5lZChIQVZFX0RFVl9QVEMpICYmICFkZWZpbmVkKEhBVkVfREVWX1BUTVgpCkBAIC01OTk3LDEzICs3ODQ3LDQxIEBACiAjZW5kaWYKICNlbmRpZiAvKiBkZWZpbmVkKEhBVkVfT1BFTlBUWSkgfHwgZGVmaW5lZChIQVZFX0ZPUktQVFkpIHx8IGRlZmluZWQoSEFWRV9ERVZfUFRNWCAqLwogCisKICNpZiBkZWZpbmVkKEhBVkVfT1BFTlBUWSkgfHwgZGVmaW5lZChIQVZFX19HRVRQVFkpIHx8IGRlZmluZWQoSEFWRV9ERVZfUFRNWCkKLVB5RG9jX1NUUlZBUihwb3NpeF9vcGVucHR5X19kb2NfXywKLSJvcGVucHR5KCkgLT4gKG1hc3Rlcl9mZCwgc2xhdmVfZmQpXG5cblwKLU9wZW4gYSBwc2V1ZG8tdGVybWluYWwsIHJldHVybmluZyBvcGVuIGZkJ3MgZm9yIGJvdGggbWFzdGVyIGFuZCBzbGF2ZSBlbmQuXG4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK29zLm9wZW5wdHkKKworT3BlbiBhIHBzZXVkby10ZXJtaW5hbC4KKworUmV0dXJuIGEgdHVwbGUgb2YgKG1hc3Rlcl9mZCwgc2xhdmVfZmQpIGNvbnRhaW5pbmcgb3BlbiBmaWxlIGRlc2NyaXB0b3JzCitmb3IgYm90aCB0aGUgbWFzdGVyIGFuZCBzbGF2ZSBlbmRzLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3Nfb3BlbnB0eV9fZG9jX18sCisib3BlbnB0eSgkbW9kdWxlLCAvKVxuIgorIi0tXG4iCisiXG4iCisiT3BlbiBhIHBzZXVkby10ZXJtaW5hbC5cbiIKKyJcbiIKKyJSZXR1cm4gYSB0dXBsZSBvZiAobWFzdGVyX2ZkLCBzbGF2ZV9mZCkgY29udGFpbmluZyBvcGVuIGZpbGUgZGVzY3JpcHRvcnNcbiIKKyJmb3IgYm90aCB0aGUgbWFzdGVyIGFuZCBzbGF2ZSBlbmRzLiIpOworCisjZGVmaW5lIE9TX09QRU5QVFlfTUVUSE9EREVGICAgIFwKKyAgICB7Im9wZW5wdHkiLCAoUHlDRnVuY3Rpb24pb3Nfb3BlbnB0eSwgTUVUSF9OT0FSR1MsIG9zX29wZW5wdHlfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X29wZW5wdHkoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpub2FyZ3MpCitvc19vcGVucHR5X2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19vcGVucHR5KFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpQeV9VTlVTRUQoaWdub3JlZCkpCit7CisgICAgcmV0dXJuIG9zX29wZW5wdHlfaW1wbChtb2R1bGUpOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3Nfb3BlbnB0eV9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9YjEyZDNjMTczNTQ2ODQ2NCBpbnB1dD1mM2Q5OWZkOTllNzYyOTA3XSovCiB7CiAgICAgaW50IG1hc3Rlcl9mZCA9IC0xLCBzbGF2ZV9mZCA9IC0xOwogI2lmbmRlZiBIQVZFX09QRU5QVFkKQEAgLTYwOTIsMTUgKzc5NzAsNDUgQEAKIH0KICNlbmRpZiAvKiBkZWZpbmVkKEhBVkVfT1BFTlBUWSkgfHwgZGVmaW5lZChIQVZFX19HRVRQVFkpIHx8IGRlZmluZWQoSEFWRV9ERVZfUFRNWCkgKi8KIAorCiAjaWZkZWYgSEFWRV9GT1JLUFRZCi1QeURvY19TVFJWQVIocG9zaXhfZm9ya3B0eV9fZG9jX18sCi0iZm9ya3B0eSgpIC0+IChwaWQsIG1hc3Rlcl9mZClcblxuXAotRm9yayBhIG5ldyBwcm9jZXNzIHdpdGggYSBuZXcgcHNldWRvLXRlcm1pbmFsIGFzIGNvbnRyb2xsaW5nIHR0eS5cblxuXAotTGlrZSBmb3JrKCksIHJldHVybiAwIGFzIHBpZCB0byBjaGlsZCBwcm9jZXNzLCBhbmQgUElEIG9mIGNoaWxkIHRvIHBhcmVudC5cblwKLVRvIGJvdGgsIHJldHVybiBmZCBvZiBuZXdseSBvcGVuZWQgcHNldWRvLXRlcm1pbmFsLlxuIik7CisvKltjbGluaWMgaW5wdXRdCitvcy5mb3JrcHR5CisKK0ZvcmsgYSBuZXcgcHJvY2VzcyB3aXRoIGEgbmV3IHBzZXVkby10ZXJtaW5hbCBhcyBjb250cm9sbGluZyB0dHkuCisKK1JldHVybnMgYSB0dXBsZSBvZiAocGlkLCBtYXN0ZXJfZmQpLgorTGlrZSBmb3JrKCksIHJldHVybiBwaWQgb2YgMCB0byB0aGUgY2hpbGQgcHJvY2VzcywKK2FuZCBwaWQgb2YgY2hpbGQgdG8gdGhlIHBhcmVudCBwcm9jZXNzLgorVG8gYm90aCwgcmV0dXJuIGZkIG9mIG5ld2x5IG9wZW5lZCBwc2V1ZG8tdGVybWluYWwuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19mb3JrcHR5X19kb2NfXywKKyJmb3JrcHR5KCRtb2R1bGUsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJGb3JrIGEgbmV3IHByb2Nlc3Mgd2l0aCBhIG5ldyBwc2V1ZG8tdGVybWluYWwgYXMgY29udHJvbGxpbmcgdHR5LlxuIgorIlxuIgorIlJldHVybnMgYSB0dXBsZSBvZiAocGlkLCBtYXN0ZXJfZmQpLlxuIgorIkxpa2UgZm9yaygpLCByZXR1cm4gcGlkIG9mIDAgdG8gdGhlIGNoaWxkIHByb2Nlc3MsXG4iCisiYW5kIHBpZCBvZiBjaGlsZCB0byB0aGUgcGFyZW50IHByb2Nlc3MuXG4iCisiVG8gYm90aCwgcmV0dXJuIGZkIG9mIG5ld2x5IG9wZW5lZCBwc2V1ZG8tdGVybWluYWwuIik7CisKKyNkZWZpbmUgT1NfRk9SS1BUWV9NRVRIT0RERUYgICAgXAorICAgIHsiZm9ya3B0eSIsIChQeUNGdW5jdGlvbilvc19mb3JrcHR5LCBNRVRIX05PQVJHUywgb3NfZm9ya3B0eV9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfZm9ya3B0eShQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKm5vYXJncykKK29zX2ZvcmtwdHlfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX2ZvcmtwdHkoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKlB5X1VOVVNFRChpZ25vcmVkKSkKK3sKKyAgICByZXR1cm4gb3NfZm9ya3B0eV9pbXBsKG1vZHVsZSk7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19mb3JrcHR5X2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1kNGY4Mjk1OGQyZWQ1Y2FkIGlucHV0PWYxZjdmNGJhZTM5NjYwMTBdKi8KIHsKICAgICBpbnQgbWFzdGVyX2ZkID0gLTEsIHJlc3VsdCA9IDA7CiAgICAgcGlkX3QgcGlkOwpAQCAtNjEyNCw1OSArODAzMiwxNDUgQEAKICAgICB9CiAgICAgcmV0dXJuIFB5X0J1aWxkVmFsdWUoIihOaSkiLCBQeUxvbmdfRnJvbVBpZChwaWQpLCBtYXN0ZXJfZmQpOwogfQotI2VuZGlmCisjZW5kaWYgLyogSEFWRV9GT1JLUFRZICovCiAKIAogI2lmZGVmIEhBVkVfR0VURUdJRAotUHlEb2NfU1RSVkFSKHBvc2l4X2dldGVnaWRfX2RvY19fLAotImdldGVnaWQoKSAtPiBlZ2lkXG5cblwKLVJldHVybiB0aGUgY3VycmVudCBwcm9jZXNzJ3MgZWZmZWN0aXZlIGdyb3VwIGlkLiIpOworLypbY2xpbmljIGlucHV0XQorb3MuZ2V0ZWdpZAorCitSZXR1cm4gdGhlIGN1cnJlbnQgcHJvY2VzcydzIGVmZmVjdGl2ZSBncm91cCBpZC4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX2dldGVnaWRfX2RvY19fLAorImdldGVnaWQoJG1vZHVsZSwgLylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiB0aGUgY3VycmVudCBwcm9jZXNzXCdzIGVmZmVjdGl2ZSBncm91cCBpZC4iKTsKKworI2RlZmluZSBPU19HRVRFR0lEX01FVEhPRERFRiAgICBcCisgICAgeyJnZXRlZ2lkIiwgKFB5Q0Z1bmN0aW9uKW9zX2dldGVnaWQsIE1FVEhfTk9BUkdTLCBvc19nZXRlZ2lkX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9nZXRlZ2lkKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqbm9hcmdzKQorb3NfZ2V0ZWdpZF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUpOworCitzdGF0aWMgUHlPYmplY3QgKgorb3NfZ2V0ZWdpZChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqUHlfVU5VU0VEKGlnbm9yZWQpKQoreworICAgIHJldHVybiBvc19nZXRlZ2lkX2ltcGwobW9kdWxlKTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX2dldGVnaWRfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWZkMTJjMzQ2ZmE0MWNjY2IgaW5wdXQ9MTU5NmY3OWFkMTEwN2Q1ZF0qLwogewogICAgIHJldHVybiBfUHlMb25nX0Zyb21HaWQoZ2V0ZWdpZCgpKTsKIH0KLSNlbmRpZgorI2VuZGlmIC8qIEhBVkVfR0VURUdJRCAqLwogCiAKICNpZmRlZiBIQVZFX0dFVEVVSUQKLVB5RG9jX1NUUlZBUihwb3NpeF9nZXRldWlkX19kb2NfXywKLSJnZXRldWlkKCkgLT4gZXVpZFxuXG5cCi1SZXR1cm4gdGhlIGN1cnJlbnQgcHJvY2VzcydzIGVmZmVjdGl2ZSB1c2VyIGlkLiIpOworLypbY2xpbmljIGlucHV0XQorb3MuZ2V0ZXVpZAorCitSZXR1cm4gdGhlIGN1cnJlbnQgcHJvY2VzcydzIGVmZmVjdGl2ZSB1c2VyIGlkLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3NfZ2V0ZXVpZF9fZG9jX18sCisiZ2V0ZXVpZCgkbW9kdWxlLCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIHRoZSBjdXJyZW50IHByb2Nlc3NcJ3MgZWZmZWN0aXZlIHVzZXIgaWQuIik7CisKKyNkZWZpbmUgT1NfR0VURVVJRF9NRVRIT0RERUYgICAgXAorICAgIHsiZ2V0ZXVpZCIsIChQeUNGdW5jdGlvbilvc19nZXRldWlkLCBNRVRIX05PQVJHUywgb3NfZ2V0ZXVpZF9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfZ2V0ZXVpZChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKm5vYXJncykKK29zX2dldGV1aWRfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX2dldGV1aWQoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKlB5X1VOVVNFRChpZ25vcmVkKSkKK3sKKyAgICByZXR1cm4gb3NfZ2V0ZXVpZF9pbXBsKG1vZHVsZSk7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19nZXRldWlkX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD0wM2Q5OGUwN2Y0YmMwM2Q0IGlucHV0PTQ2NDRjNjYyZDNiZDlmMTldKi8KIHsKICAgICByZXR1cm4gX1B5TG9uZ19Gcm9tVWlkKGdldGV1aWQoKSk7CiB9Ci0jZW5kaWYKKyNlbmRpZiAvKiBIQVZFX0dFVEVVSUQgKi8KIAogCiAjaWZkZWYgSEFWRV9HRVRHSUQKLVB5RG9jX1NUUlZBUihwb3NpeF9nZXRnaWRfX2RvY19fLAotImdldGdpZCgpIC0+IGdpZFxuXG5cCi1SZXR1cm4gdGhlIGN1cnJlbnQgcHJvY2VzcydzIGdyb3VwIGlkLiIpOworLypbY2xpbmljIGlucHV0XQorb3MuZ2V0Z2lkCisKK1JldHVybiB0aGUgY3VycmVudCBwcm9jZXNzJ3MgZ3JvdXAgaWQuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19nZXRnaWRfX2RvY19fLAorImdldGdpZCgkbW9kdWxlLCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIHRoZSBjdXJyZW50IHByb2Nlc3NcJ3MgZ3JvdXAgaWQuIik7CisKKyNkZWZpbmUgT1NfR0VUR0lEX01FVEhPRERFRiAgICBcCisgICAgeyJnZXRnaWQiLCAoUHlDRnVuY3Rpb24pb3NfZ2V0Z2lkLCBNRVRIX05PQVJHUywgb3NfZ2V0Z2lkX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9nZXRnaWQoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpub2FyZ3MpCitvc19nZXRnaWRfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX2dldGdpZChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqUHlfVU5VU0VEKGlnbm9yZWQpKQoreworICAgIHJldHVybiBvc19nZXRnaWRfaW1wbChtb2R1bGUpOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3NfZ2V0Z2lkX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD0wN2IwMzU2MTIxYjgwOThkIGlucHV0PTU4Nzk2MzQ0Y2Q4N2MwZjZdKi8KIHsKICAgICByZXR1cm4gX1B5TG9uZ19Gcm9tR2lkKGdldGdpZCgpKTsKIH0KLSNlbmRpZgorI2VuZGlmIC8qIEhBVkVfR0VUR0lEICovCiAKIAotUHlEb2NfU1RSVkFSKHBvc2l4X2dldHBpZF9fZG9jX18sCi0iZ2V0cGlkKCkgLT4gcGlkXG5cblwKLVJldHVybiB0aGUgY3VycmVudCBwcm9jZXNzIGlkIik7CisvKltjbGluaWMgaW5wdXRdCitvcy5nZXRwaWQKKworUmV0dXJuIHRoZSBjdXJyZW50IHByb2Nlc3MgaWQuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19nZXRwaWRfX2RvY19fLAorImdldHBpZCgkbW9kdWxlLCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIHRoZSBjdXJyZW50IHByb2Nlc3MgaWQuIik7CisKKyNkZWZpbmUgT1NfR0VUUElEX01FVEhPRERFRiAgICBcCisgICAgeyJnZXRwaWQiLCAoUHlDRnVuY3Rpb24pb3NfZ2V0cGlkLCBNRVRIX05PQVJHUywgb3NfZ2V0cGlkX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9nZXRwaWQoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpub2FyZ3MpCitvc19nZXRwaWRfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX2dldHBpZChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqUHlfVU5VU0VEKGlnbm9yZWQpKQoreworICAgIHJldHVybiBvc19nZXRwaWRfaW1wbChtb2R1bGUpOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3NfZ2V0cGlkX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1kNjNhMDFhM2NlYmM1NzNkIGlucHV0PTVhOWEwMGYwYWI2OGFhMDBdKi8KIHsKICAgICByZXR1cm4gUHlMb25nX0Zyb21QaWQoZ2V0cGlkKCkpOwogfQogCiAjaWZkZWYgSEFWRV9HRVRHUk9VUExJU1QKKworLyogQUMgMy41OiBmdW5ueSBhcHBsZSBsb2dpYyBiZWxvdyAqLwogUHlEb2NfU1RSVkFSKHBvc2l4X2dldGdyb3VwbGlzdF9fZG9jX18sCiAiZ2V0Z3JvdXBsaXN0KHVzZXIsIGdyb3VwKSAtPiBsaXN0IG9mIGdyb3VwcyB0byB3aGljaCBhIHVzZXIgYmVsb25nc1xuXG5cCiBSZXR1cm5zIGEgbGlzdCBvZiBncm91cHMgdG8gd2hpY2ggYSB1c2VyIGJlbG9uZ3MuXG5cblwKQEAgLTYyNDksMTUgKzgyNDMsMzcgQEAKIAogICAgIHJldHVybiBsaXN0OwogfQotI2VuZGlmCisjZW5kaWYgLyogSEFWRV9HRVRHUk9VUExJU1QgKi8KKwogCiAjaWZkZWYgSEFWRV9HRVRHUk9VUFMKLVB5RG9jX1NUUlZBUihwb3NpeF9nZXRncm91cHNfX2RvY19fLAotImdldGdyb3VwcygpIC0+IGxpc3Qgb2YgZ3JvdXAgSURzXG5cblwKLVJldHVybiBsaXN0IG9mIHN1cHBsZW1lbnRhbCBncm91cCBJRHMgZm9yIHRoZSBwcm9jZXNzLiIpOworLypbY2xpbmljIGlucHV0XQorb3MuZ2V0Z3JvdXBzCisKK1JldHVybiBsaXN0IG9mIHN1cHBsZW1lbnRhbCBncm91cCBJRHMgZm9yIHRoZSBwcm9jZXNzLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3NfZ2V0Z3JvdXBzX19kb2NfXywKKyJnZXRncm91cHMoJG1vZHVsZSwgLylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiBsaXN0IG9mIHN1cHBsZW1lbnRhbCBncm91cCBJRHMgZm9yIHRoZSBwcm9jZXNzLiIpOworCisjZGVmaW5lIE9TX0dFVEdST1VQU19NRVRIT0RERUYgICAgXAorICAgIHsiZ2V0Z3JvdXBzIiwgKFB5Q0Z1bmN0aW9uKW9zX2dldGdyb3VwcywgTUVUSF9OT0FSR1MsIG9zX2dldGdyb3Vwc19fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfZ2V0Z3JvdXBzKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqbm9hcmdzKQorb3NfZ2V0Z3JvdXBzX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19nZXRncm91cHMoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKlB5X1VOVVNFRChpZ25vcmVkKSkKK3sKKyAgICByZXR1cm4gb3NfZ2V0Z3JvdXBzX2ltcGwobW9kdWxlKTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX2dldGdyb3Vwc19pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ZDlhMzU1OWIyZTZmNGFiOCBpbnB1dD1kM2YxMDk0MTJlNmExNTVjXSovCiB7CiAgICAgUHlPYmplY3QgKnJlc3VsdCA9IE5VTEw7CiAKQEAgLTYzNTYsNyArODM3Miw3IEBACiAKICAgICByZXR1cm4gcmVzdWx0OwogfQotI2VuZGlmCisjZW5kaWYgLyogSEFWRV9HRVRHUk9VUFMgKi8KIAogI2lmZGVmIEhBVkVfSU5JVEdST1VQUwogUHlEb2NfU1RSVkFSKHBvc2l4X2luaXRncm91cHNfX2RvY19fLApAQCAtNjM2NSw2ICs4MzgxLDcgQEAKIHRoZSBncm91cHMgb2Ygd2hpY2ggdGhlIHNwZWNpZmllZCB1c2VybmFtZSBpcyBhIG1lbWJlciwgcGx1cyB0aGUgc3BlY2lmaWVkXG5cCiBncm91cCBpZC4iKTsKIAorLyogQUMgMy41OiBmdW5ueSBhcHBsZSBsb2dpYyAqLwogc3RhdGljIFB5T2JqZWN0ICoKIHBvc2l4X2luaXRncm91cHMoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQogewpAQCAtNjM5NywyMCArODQxNCw1MiBAQAogICAgIFB5X0lOQ1JFRihQeV9Ob25lKTsKICAgICByZXR1cm4gUHlfTm9uZTsKIH0KLSNlbmRpZgorI2VuZGlmIC8qIEhBVkVfSU5JVEdST1VQUyAqLworCiAKICNpZmRlZiBIQVZFX0dFVFBHSUQKLVB5RG9jX1NUUlZBUihwb3NpeF9nZXRwZ2lkX19kb2NfXywKLSJnZXRwZ2lkKHBpZCkgLT4gcGdpZFxuXG5cCi1DYWxsIHRoZSBzeXN0ZW0gY2FsbCBnZXRwZ2lkKCkuIik7CisvKltjbGluaWMgaW5wdXRdCitvcy5nZXRwZ2lkCisKKyAgICBwaWQ6IHBpZF90CisKK0NhbGwgdGhlIHN5c3RlbSBjYWxsIGdldHBnaWQoKSwgYW5kIHJldHVybiB0aGUgcmVzdWx0LgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3NfZ2V0cGdpZF9fZG9jX18sCisiZ2V0cGdpZCgkbW9kdWxlLCAvLCBwaWQpXG4iCisiLS1cbiIKKyJcbiIKKyJDYWxsIHRoZSBzeXN0ZW0gY2FsbCBnZXRwZ2lkKCksIGFuZCByZXR1cm4gdGhlIHJlc3VsdC4iKTsKKworI2RlZmluZSBPU19HRVRQR0lEX01FVEhPRERFRiAgICBcCisgICAgeyJnZXRwZ2lkIiwgKFB5Q0Z1bmN0aW9uKW9zX2dldHBnaWQsIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBvc19nZXRwZ2lkX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9nZXRwZ2lkKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK29zX2dldHBnaWRfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBwaWRfdCBwaWQpOworCitzdGF0aWMgUHlPYmplY3QgKgorb3NfZ2V0cGdpZChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKIHsKLSAgICBwaWRfdCBwaWQsIHBnaWQ7Ci0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsIF9QeV9QQVJTRV9QSUQgIjpnZXRwZ2lkIiwgJnBpZCkpCi0gICAgICAgIHJldHVybiBOVUxMOwotICAgIHBnaWQgPSBnZXRwZ2lkKHBpZCk7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgc3RhdGljIGNoYXIgKl9rZXl3b3Jkc1tdID0geyJwaWQiLCBOVUxMfTsKKyAgICBwaWRfdCBwaWQ7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsCisgICAgICAgICIiIF9QeV9QQVJTRV9QSUQgIjpnZXRwZ2lkIiwgX2tleXdvcmRzLAorICAgICAgICAmcGlkKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IG9zX2dldHBnaWRfaW1wbChtb2R1bGUsIHBpZCk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX2dldHBnaWRfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBwaWRfdCBwaWQpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9M2RiNGVkNjg2MTc5MTYwZCBpbnB1dD0zOWQ3MTBhZTNiYWFmMWM3XSovCit7CisgICAgcGlkX3QgcGdpZCA9IGdldHBnaWQocGlkKTsKICAgICBpZiAocGdpZCA8IDApCiAgICAgICAgIHJldHVybiBwb3NpeF9lcnJvcigpOwogICAgIHJldHVybiBQeUxvbmdfRnJvbVBpZChwZ2lkKTsKQEAgLTY0MTksMTIgKzg0NjgsMzMgQEAKIAogCiAjaWZkZWYgSEFWRV9HRVRQR1JQCi1QeURvY19TVFJWQVIocG9zaXhfZ2V0cGdycF9fZG9jX18sCi0iZ2V0cGdycCgpIC0+IHBncnBcblxuXAotUmV0dXJuIHRoZSBjdXJyZW50IHByb2Nlc3MgZ3JvdXAgaWQuIik7CisvKltjbGluaWMgaW5wdXRdCitvcy5nZXRwZ3JwCisKK1JldHVybiB0aGUgY3VycmVudCBwcm9jZXNzIGdyb3VwIGlkLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3NfZ2V0cGdycF9fZG9jX18sCisiZ2V0cGdycCgkbW9kdWxlLCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIHRoZSBjdXJyZW50IHByb2Nlc3MgZ3JvdXAgaWQuIik7CisKKyNkZWZpbmUgT1NfR0VUUEdSUF9NRVRIT0RERUYgICAgXAorICAgIHsiZ2V0cGdycCIsIChQeUNGdW5jdGlvbilvc19nZXRwZ3JwLCBNRVRIX05PQVJHUywgb3NfZ2V0cGdycF9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfZ2V0cGdycChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKm5vYXJncykKK29zX2dldHBncnBfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX2dldHBncnAoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKlB5X1VOVVNFRChpZ25vcmVkKSkKK3sKKyAgICByZXR1cm4gb3NfZ2V0cGdycF9pbXBsKG1vZHVsZSk7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19nZXRwZ3JwX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD0zYjBkMzY2M2VhMDU0Mjc3IGlucHV0PTY4NDZmYjJiYjlhMzcwNWVdKi8KIHsKICNpZmRlZiBHRVRQR1JQX0hBVkVfQVJHCiAgICAgcmV0dXJuIFB5TG9uZ19Gcm9tUGlkKGdldHBncnAoMCkpOwpAQCAtNjQzNiwxMiArODUwNiwzMyBAQAogCiAKICNpZmRlZiBIQVZFX1NFVFBHUlAKLVB5RG9jX1NUUlZBUihwb3NpeF9zZXRwZ3JwX19kb2NfXywKLSJzZXRwZ3JwKClcblxuXAotTWFrZSB0aGlzIHByb2Nlc3MgdGhlIHByb2Nlc3MgZ3JvdXAgbGVhZGVyLiIpOworLypbY2xpbmljIGlucHV0XQorb3Muc2V0cGdycAorCitNYWtlIHRoZSBjdXJyZW50IHByb2Nlc3MgdGhlIGxlYWRlciBvZiBpdHMgcHJvY2VzcyBncm91cC4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX3NldHBncnBfX2RvY19fLAorInNldHBncnAoJG1vZHVsZSwgLylcbiIKKyItLVxuIgorIlxuIgorIk1ha2UgdGhlIGN1cnJlbnQgcHJvY2VzcyB0aGUgbGVhZGVyIG9mIGl0cyBwcm9jZXNzIGdyb3VwLiIpOworCisjZGVmaW5lIE9TX1NFVFBHUlBfTUVUSE9EREVGICAgIFwKKyAgICB7InNldHBncnAiLCAoUHlDRnVuY3Rpb24pb3Nfc2V0cGdycCwgTUVUSF9OT0FSR1MsIG9zX3NldHBncnBfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X3NldHBncnAoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpub2FyZ3MpCitvc19zZXRwZ3JwX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19zZXRwZ3JwKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpQeV9VTlVTRUQoaWdub3JlZCkpCit7CisgICAgcmV0dXJuIG9zX3NldHBncnBfaW1wbChtb2R1bGUpOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3Nfc2V0cGdycF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9OGZiYjBlZTI5ZWY2ZmIyZCBpbnB1dD0xZjA2MTlmY2I1NzMxZTdlXSovCiB7CiAjaWZkZWYgU0VUUEdSUF9IQVZFX0FSRwogICAgIGlmIChzZXRwZ3JwKDAsIDApIDwgMCkKQEAgLTY0NTIsNyArODU0Myw2IEBACiAgICAgUHlfSU5DUkVGKFB5X05vbmUpOwogICAgIHJldHVybiBQeV9Ob25lOwogfQotCiAjZW5kaWYgLyogSEFWRV9TRVRQR1JQICovCiAKICNpZmRlZiBIQVZFX0dFVFBQSUQKQEAgLTY0OTksMTQgKzg1ODksNDAgQEAKIH0KICNlbmRpZiAvKk1TX1dJTkRPV1MqLwogCi1QeURvY19TVFJWQVIocG9zaXhfZ2V0cHBpZF9fZG9jX18sCi0iZ2V0cHBpZCgpIC0+IHBwaWRcblxuXAotUmV0dXJuIHRoZSBwYXJlbnQncyBwcm9jZXNzIGlkLiAgSWYgdGhlIHBhcmVudCBwcm9jZXNzIGhhcyBhbHJlYWR5IGV4aXRlZCxcblwKLVdpbmRvd3MgbWFjaGluZXMgd2lsbCBzdGlsbCByZXR1cm4gaXRzIGlkOyBvdGhlcnMgc3lzdGVtcyB3aWxsIHJldHVybiB0aGUgaWRcblwKLW9mIHRoZSAnaW5pdCcgcHJvY2VzcyAoMSkuIik7CisKKy8qW2NsaW5pYyBpbnB1dF0KK29zLmdldHBwaWQKKworUmV0dXJuIHRoZSBwYXJlbnQncyBwcm9jZXNzIGlkLgorCitJZiB0aGUgcGFyZW50IHByb2Nlc3MgaGFzIGFscmVhZHkgZXhpdGVkLCBXaW5kb3dzIG1hY2hpbmVzIHdpbGwgc3RpbGwKK3JldHVybiBpdHMgaWQ7IG90aGVycyBzeXN0ZW1zIHdpbGwgcmV0dXJuIHRoZSBpZCBvZiB0aGUgJ2luaXQnIHByb2Nlc3MgKDEpLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3NfZ2V0cHBpZF9fZG9jX18sCisiZ2V0cHBpZCgkbW9kdWxlLCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIHRoZSBwYXJlbnRcJ3MgcHJvY2VzcyBpZC5cbiIKKyJcbiIKKyJJZiB0aGUgcGFyZW50IHByb2Nlc3MgaGFzIGFscmVhZHkgZXhpdGVkLCBXaW5kb3dzIG1hY2hpbmVzIHdpbGwgc3RpbGxcbiIKKyJyZXR1cm4gaXRzIGlkOyBvdGhlcnMgc3lzdGVtcyB3aWxsIHJldHVybiB0aGUgaWQgb2YgdGhlIFwnaW5pdFwnIHByb2Nlc3MgKDEpLiIpOworCisjZGVmaW5lIE9TX0dFVFBQSURfTUVUSE9EREVGICAgIFwKKyAgICB7ImdldHBwaWQiLCAoUHlDRnVuY3Rpb24pb3NfZ2V0cHBpZCwgTUVUSF9OT0FSR1MsIG9zX2dldHBwaWRfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X2dldHBwaWQoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpub2FyZ3MpCitvc19nZXRwcGlkX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19nZXRwcGlkKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpQeV9VTlVTRUQoaWdub3JlZCkpCit7CisgICAgcmV0dXJuIG9zX2dldHBwaWRfaW1wbChtb2R1bGUpOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3NfZ2V0cHBpZF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9OWZmM2IzODc3ODFlZGYzYSBpbnB1dD1lNjM3Y2I4NzUzOWMwMzBlXSovCiB7CiAjaWZkZWYgTVNfV0lORE9XUwogICAgIHJldHVybiB3aW4zMl9nZXRwcGlkKCk7CkBAIC02NTE4LDEyICs4NjM0LDMzIEBACiAKIAogI2lmZGVmIEhBVkVfR0VUTE9HSU4KLVB5RG9jX1NUUlZBUihwb3NpeF9nZXRsb2dpbl9fZG9jX18sCi0iZ2V0bG9naW4oKSAtPiBzdHJpbmdcblxuXAotUmV0dXJuIHRoZSBhY3R1YWwgbG9naW4gbmFtZS4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK29zLmdldGxvZ2luCisKK1JldHVybiB0aGUgYWN0dWFsIGxvZ2luIG5hbWUuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19nZXRsb2dpbl9fZG9jX18sCisiZ2V0bG9naW4oJG1vZHVsZSwgLylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiB0aGUgYWN0dWFsIGxvZ2luIG5hbWUuIik7CisKKyNkZWZpbmUgT1NfR0VUTE9HSU5fTUVUSE9EREVGICAgIFwKKyAgICB7ImdldGxvZ2luIiwgKFB5Q0Z1bmN0aW9uKW9zX2dldGxvZ2luLCBNRVRIX05PQVJHUywgb3NfZ2V0bG9naW5fX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X2dldGxvZ2luKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqbm9hcmdzKQorb3NfZ2V0bG9naW5faW1wbChQeU1vZHVsZURlZiAqbW9kdWxlKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX2dldGxvZ2luKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpQeV9VTlVTRUQoaWdub3JlZCkpCit7CisgICAgcmV0dXJuIG9zX2dldGxvZ2luX2ltcGwobW9kdWxlKTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX2dldGxvZ2luX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1hYjYyMTFkYWIxMDRjYmIyIGlucHV0PTJhMjFhYjFlOTE3MTYzZGZdKi8KIHsKICAgICBQeU9iamVjdCAqcmVzdWx0ID0gTlVMTDsKICNpZmRlZiBNU19XSU5ET1dTCkBAIC02NTU2LDc3ICs4NjkzLDEwMSBAQAogfQogI2VuZGlmIC8qIEhBVkVfR0VUTE9HSU4gKi8KIAorCiAjaWZkZWYgSEFWRV9HRVRVSUQKLVB5RG9jX1NUUlZBUihwb3NpeF9nZXR1aWRfX2RvY19fLAotImdldHVpZCgpIC0+IHVpZFxuXG5cCi1SZXR1cm4gdGhlIGN1cnJlbnQgcHJvY2VzcydzIHVzZXIgaWQuIik7CisvKltjbGluaWMgaW5wdXRdCitvcy5nZXR1aWQKKworUmV0dXJuIHRoZSBjdXJyZW50IHByb2Nlc3MncyB1c2VyIGlkLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3NfZ2V0dWlkX19kb2NfXywKKyJnZXR1aWQoJG1vZHVsZSwgLylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiB0aGUgY3VycmVudCBwcm9jZXNzXCdzIHVzZXIgaWQuIik7CisKKyNkZWZpbmUgT1NfR0VUVUlEX01FVEhPRERFRiAgICBcCisgICAgeyJnZXR1aWQiLCAoUHlDRnVuY3Rpb24pb3NfZ2V0dWlkLCBNRVRIX05PQVJHUywgb3NfZ2V0dWlkX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9nZXR1aWQoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpub2FyZ3MpCitvc19nZXR1aWRfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX2dldHVpZChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqUHlfVU5VU0VEKGlnbm9yZWQpKQoreworICAgIHJldHVybiBvc19nZXR1aWRfaW1wbChtb2R1bGUpOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3NfZ2V0dWlkX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD03N2UwZGNmMmUzN2QxZTg5IGlucHV0PWI1M2M4YjM1ZjExMGE1MTZdKi8KIHsKICAgICByZXR1cm4gX1B5TG9uZ19Gcm9tVWlkKGdldHVpZCgpKTsKIH0KLSNlbmRpZgorI2VuZGlmIC8qIEhBVkVfR0VUVUlEICovCiAKIAotI2lmZGVmIEhBVkVfS0lMTAotUHlEb2NfU1RSVkFSKHBvc2l4X2tpbGxfX2RvY19fLAotImtpbGwocGlkLCBzaWcpXG5cblwKLUtpbGwgYSBwcm9jZXNzIHdpdGggYSBzaWduYWwuIik7Ci0KLXN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9raWxsKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKLXsKLSAgICBwaWRfdCBwaWQ7Ci0gICAgaW50IHNpZzsKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgX1B5X1BBUlNFX1BJRCAiaTpraWxsIiwgJnBpZCwgJnNpZykpCi0gICAgICAgIHJldHVybiBOVUxMOwotICAgIGlmIChraWxsKHBpZCwgc2lnKSA9PSAtMSkKLSAgICAgICAgcmV0dXJuIHBvc2l4X2Vycm9yKCk7Ci0gICAgUHlfSU5DUkVGKFB5X05vbmUpOwotICAgIHJldHVybiBQeV9Ob25lOwotfQotI2VuZGlmCi0KLSNpZmRlZiBIQVZFX0tJTExQRwotUHlEb2NfU1RSVkFSKHBvc2l4X2tpbGxwZ19fZG9jX18sCi0ia2lsbHBnKHBnaWQsIHNpZylcblxuXAotS2lsbCBhIHByb2Nlc3MgZ3JvdXAgd2l0aCBhIHNpZ25hbC4iKTsKLQotc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X2tpbGxwZyhQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCi17Ci0gICAgaW50IHNpZzsKLSAgICBwaWRfdCBwZ2lkOwotICAgIC8qIFhYWCBzb21lIG1hbiBwYWdlcyBtYWtlIHRoZSBgcGdpZGAgcGFyYW1ldGVyIGFuIGludCwgb3RoZXJzCi0gICAgICAgYSBwaWRfdC4gU2luY2UgZ2V0cGdycCgpIHJldHVybnMgYSBwaWRfdCwgd2UgYXNzdW1lIGtpbGxwZyBzaG91bGQKLSAgICAgICB0YWtlIHRoZSBzYW1lIHR5cGUuIE1vcmVvdmVyLCBwaWRfdCBpcyBhbHdheXMgYXQgbGVhc3QgYXMgd2lkZSBhcwotICAgICAgIGludCAoZWxzZSBjb21waWxhdGlvbiBvZiB0aGlzIG1vZHVsZSBmYWlscyksIHdoaWNoIGlzIHNhZmUuICovCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsIF9QeV9QQVJTRV9QSUQgImk6a2lsbHBnIiwgJnBnaWQsICZzaWcpKQotICAgICAgICByZXR1cm4gTlVMTDsKLSAgICBpZiAoa2lsbHBnKHBnaWQsIHNpZykgPT0gLTEpCi0gICAgICAgIHJldHVybiBwb3NpeF9lcnJvcigpOwotICAgIFB5X0lOQ1JFRihQeV9Ob25lKTsKLSAgICByZXR1cm4gUHlfTm9uZTsKLX0KLSNlbmRpZgotCiAjaWZkZWYgTVNfV0lORE9XUwotUHlEb2NfU1RSVkFSKHdpbjMyX2tpbGxfX2RvY19fLAotImtpbGwocGlkLCBzaWcpXG5cblwKLUtpbGwgYSBwcm9jZXNzIHdpdGggYSBzaWduYWwuIik7CisjZGVmaW5lIEhBVkVfS0lMTAorI2VuZGlmIC8qIE1TX1dJTkRPV1MgKi8KKworI2lmZGVmIEhBVkVfS0lMTAorLypbY2xpbmljIGlucHV0XQorb3Mua2lsbAorCisgICAgcGlkOiBwaWRfdAorICAgIHNpZ25hbDogUHlfc3NpemVfdAorICAgIC8KKworS2lsbCBhIHByb2Nlc3Mgd2l0aCBhIHNpZ25hbC4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX2tpbGxfX2RvY19fLAorImtpbGwoJG1vZHVsZSwgcGlkLCBzaWduYWwsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJLaWxsIGEgcHJvY2VzcyB3aXRoIGEgc2lnbmFsLiIpOworCisjZGVmaW5lIE9TX0tJTExfTUVUSE9EREVGICAgIFwKKyAgICB7ImtpbGwiLCAoUHlDRnVuY3Rpb24pb3Nfa2lsbCwgTUVUSF9WQVJBUkdTLCBvc19raWxsX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi13aW4zMl9raWxsKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK29zX2tpbGxfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBwaWRfdCBwaWQsIFB5X3NzaXplX3Qgc2lnbmFsKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX2tpbGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgcGlkX3QgcGlkOworICAgIFB5X3NzaXplX3Qgc2lnbmFsOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICIiIF9QeV9QQVJTRV9QSUQgIm46a2lsbCIsCisgICAgICAgICZwaWQsICZzaWduYWwpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gb3Nfa2lsbF9pbXBsKG1vZHVsZSwgcGlkLCBzaWduYWwpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19raWxsX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgcGlkX3QgcGlkLCBQeV9zc2l6ZV90IHNpZ25hbCkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD0yZjVjNzc5MjBlZDU3NWU2IGlucHV0PTYxYTM2Yjg2Y2EyNzVhYjldKi8KKyNpZm5kZWYgTVNfV0lORE9XUworeworICAgIGlmIChraWxsKHBpZCwgKGludClzaWduYWwpID09IC0xKQorICAgICAgICByZXR1cm4gcG9zaXhfZXJyb3IoKTsKKyAgICBQeV9SRVRVUk5fTk9ORTsKK30KKyNlbHNlIC8qICFNU19XSU5ET1dTICovCiB7CiAgICAgUHlPYmplY3QgKnJlc3VsdDsKLSAgICBwaWRfdCBwaWQ7Ci0gICAgRFdPUkQgc2lnLCBlcnI7CisgICAgRFdPUkQgc2lnID0gKERXT1JEKXNpZ25hbDsKKyAgICBEV09SRCBlcnI7CiAgICAgSEFORExFIGhhbmRsZTsKIAotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCBfUHlfUEFSU0VfUElEICJrOmtpbGwiLCAmcGlkLCAmc2lnKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0KICAgICAvKiBDb25zb2xlIHByb2Nlc3NlcyB3aGljaCBzaGFyZSBhIGNvbW1vbiBjb25zb2xlIGNhbiBiZSBzZW50IENUUkwrQyBvcgogICAgICAgIENUUkwrQlJFQUsgZXZlbnRzLCBwcm92aWRlZCB0aGV5IGhhbmRsZSBzYWlkIGV2ZW50cy4gKi8KICAgICBpZiAoc2lnID09IENUUkxfQ19FVkVOVCB8fCBzaWcgPT0gQ1RSTF9CUkVBS19FVkVOVCkgewpAQCAtNjY1NywxMDMgKzg4MTgsMzA4IEBACiAgICAgQ2xvc2VIYW5kbGUoaGFuZGxlKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotI2VuZGlmIC8qIE1TX1dJTkRPV1MgKi8KKyNlbmRpZiAvKiAhTVNfV0lORE9XUyAqLworI2VuZGlmIC8qIEhBVkVfS0lMTCAqLworCisKKyNpZmRlZiBIQVZFX0tJTExQRworLypbY2xpbmljIGlucHV0XQorb3Mua2lsbHBnCisKKyAgICBwZ2lkOiBwaWRfdAorICAgIHNpZ25hbDogaW50CisgICAgLworCitLaWxsIGEgcHJvY2VzcyBncm91cCB3aXRoIGEgc2lnbmFsLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3Nfa2lsbHBnX19kb2NfXywKKyJraWxscGcoJG1vZHVsZSwgcGdpZCwgc2lnbmFsLCAvKVxuIgorIi0tXG4iCisiXG4iCisiS2lsbCBhIHByb2Nlc3MgZ3JvdXAgd2l0aCBhIHNpZ25hbC4iKTsKKworI2RlZmluZSBPU19LSUxMUEdfTUVUSE9EREVGICAgIFwKKyAgICB7ImtpbGxwZyIsIChQeUNGdW5jdGlvbilvc19raWxscGcsIE1FVEhfVkFSQVJHUywgb3Nfa2lsbHBnX19kb2NfX30sCisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19raWxscGdfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBwaWRfdCBwZ2lkLCBpbnQgc2lnbmFsKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX2tpbGxwZyhQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBwaWRfdCBwZ2lkOworICAgIGludCBzaWduYWw7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgIiIgX1B5X1BBUlNFX1BJRCAiaTpraWxscGciLAorICAgICAgICAmcGdpZCwgJnNpZ25hbCkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBvc19raWxscGdfaW1wbChtb2R1bGUsIHBnaWQsIHNpZ25hbCk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX2tpbGxwZ19pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIHBpZF90IHBnaWQsIGludCBzaWduYWwpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9MGUwNTIxNWQxYzAwN2UwMSBpbnB1dD0zOGI1NDQ5ZWI4ZmFlYzE5XSovCit7CisgICAgLyogWFhYIHNvbWUgbWFuIHBhZ2VzIG1ha2UgdGhlIGBwZ2lkYCBwYXJhbWV0ZXIgYW4gaW50LCBvdGhlcnMKKyAgICAgICBhIHBpZF90LiBTaW5jZSBnZXRwZ3JwKCkgcmV0dXJucyBhIHBpZF90LCB3ZSBhc3N1bWUga2lsbHBnIHNob3VsZAorICAgICAgIHRha2UgdGhlIHNhbWUgdHlwZS4gTW9yZW92ZXIsIHBpZF90IGlzIGFsd2F5cyBhdCBsZWFzdCBhcyB3aWRlIGFzCisgICAgICAgaW50IChlbHNlIGNvbXBpbGF0aW9uIG9mIHRoaXMgbW9kdWxlIGZhaWxzKSwgd2hpY2ggaXMgc2FmZS4gKi8KKyAgICBpZiAoa2lsbHBnKHBnaWQsIHNpZ25hbCkgPT0gLTEpCisgICAgICAgIHJldHVybiBwb3NpeF9lcnJvcigpOworICAgIFB5X1JFVFVSTl9OT05FOworfQorI2VuZGlmIC8qIEhBVkVfS0lMTFBHICovCisKIAogI2lmZGVmIEhBVkVfUExPQ0sKLQogI2lmZGVmIEhBVkVfU1lTX0xPQ0tfSAogI2luY2x1ZGUgPHN5cy9sb2NrLmg+CiAjZW5kaWYKIAotUHlEb2NfU1RSVkFSKHBvc2l4X3Bsb2NrX19kb2NfXywKLSJwbG9jayhvcClcblxuXAorLypbY2xpbmljIGlucHV0XQorb3MucGxvY2sKKyAgICBvcDogaW50CisgICAgLworCiBMb2NrIHByb2dyYW0gc2VnbWVudHMgaW50byBtZW1vcnkuIik7CitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19wbG9ja19fZG9jX18sCisicGxvY2soJG1vZHVsZSwgb3AsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJMb2NrIHByb2dyYW0gc2VnbWVudHMgaW50byBtZW1vcnkuXCIpOyIpOworCisjZGVmaW5lIE9TX1BMT0NLX01FVEhPRERFRiAgICBcCisgICAgeyJwbG9jayIsIChQeUNGdW5jdGlvbilvc19wbG9jaywgTUVUSF9WQVJBUkdTLCBvc19wbG9ja19fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfcGxvY2soUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorb3NfcGxvY2tfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgb3ApOworCitzdGF0aWMgUHlPYmplY3QgKgorb3NfcGxvY2soUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCiB7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CiAgICAgaW50IG9wOwotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiaTpwbG9jayIsICZvcCkpCi0gICAgICAgIHJldHVybiBOVUxMOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICJpOnBsb2NrIiwKKyAgICAgICAgJm9wKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IG9zX3Bsb2NrX2ltcGwobW9kdWxlLCBvcCk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3Bsb2NrX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IG9wKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTI3NDRmZTRiNmU1ZjRkYmMgaW5wdXQ9ZTZlNWUzNDhlMTUyNWY2MF0qLworewogICAgIGlmIChwbG9jayhvcCkgPT0gLTEpCiAgICAgICAgIHJldHVybiBwb3NpeF9lcnJvcigpOwotICAgIFB5X0lOQ1JFRihQeV9Ob25lKTsKLSAgICByZXR1cm4gUHlfTm9uZTsKKyAgICBQeV9SRVRVUk5fTk9ORTsKIH0KLSNlbmRpZgorI2VuZGlmIC8qIEhBVkVfUExPQ0sgKi8KKwogCiAjaWZkZWYgSEFWRV9TRVRVSUQKLVB5RG9jX1NUUlZBUihwb3NpeF9zZXR1aWRfX2RvY19fLAotInNldHVpZCh1aWQpXG5cblwKLVNldCB0aGUgY3VycmVudCBwcm9jZXNzJ3MgdXNlciBpZC4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK29zLnNldHVpZAorCisgICAgdWlkOiB1aWRfdAorICAgIC8KKworU2V0IHRoZSBjdXJyZW50IHByb2Nlc3MncyB1c2VyIGlkLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3Nfc2V0dWlkX19kb2NfXywKKyJzZXR1aWQoJG1vZHVsZSwgdWlkLCAvKVxuIgorIi0tXG4iCisiXG4iCisiU2V0IHRoZSBjdXJyZW50IHByb2Nlc3NcJ3MgdXNlciBpZC4iKTsKKworI2RlZmluZSBPU19TRVRVSURfTUVUSE9EREVGICAgIFwKKyAgICB7InNldHVpZCIsIChQeUNGdW5jdGlvbilvc19zZXR1aWQsIE1FVEhfVkFSQVJHUywgb3Nfc2V0dWlkX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9zZXR1aWQoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorb3Nfc2V0dWlkX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgdWlkX3QgdWlkKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3NldHVpZChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKIHsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKICAgICB1aWRfdCB1aWQ7Ci0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJPJjpzZXR1aWQiLCBfUHlfVWlkX0NvbnZlcnRlciwgJnVpZCkpCi0gICAgICAgIHJldHVybiBOVUxMOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICJPJjpzZXR1aWQiLAorICAgICAgICBfUHlfVWlkX0NvbnZlcnRlciwgJnVpZCkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBvc19zZXR1aWRfaW1wbChtb2R1bGUsIHVpZCk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3NldHVpZF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIHVpZF90IHVpZCkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1hZWEzNDRiYzIyY2NmNDAwIGlucHV0PWM5MjFhMzI4NWFhMjIyNTZdKi8KK3sKICAgICBpZiAoc2V0dWlkKHVpZCkgPCAwKQogICAgICAgICByZXR1cm4gcG9zaXhfZXJyb3IoKTsKLSAgICBQeV9JTkNSRUYoUHlfTm9uZSk7Ci0gICAgcmV0dXJuIFB5X05vbmU7CisgICAgUHlfUkVUVVJOX05PTkU7CiB9CiAjZW5kaWYgLyogSEFWRV9TRVRVSUQgKi8KIAogCiAjaWZkZWYgSEFWRV9TRVRFVUlECi1QeURvY19TVFJWQVIocG9zaXhfc2V0ZXVpZF9fZG9jX18sCi0ic2V0ZXVpZCh1aWQpXG5cblwKLVNldCB0aGUgY3VycmVudCBwcm9jZXNzJ3MgZWZmZWN0aXZlIHVzZXIgaWQuIik7CisvKltjbGluaWMgaW5wdXRdCitvcy5zZXRldWlkCisKKyAgICBldWlkOiB1aWRfdAorICAgIC8KKworU2V0IHRoZSBjdXJyZW50IHByb2Nlc3MncyBlZmZlY3RpdmUgdXNlciBpZC4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX3NldGV1aWRfX2RvY19fLAorInNldGV1aWQoJG1vZHVsZSwgZXVpZCwgLylcbiIKKyItLVxuIgorIlxuIgorIlNldCB0aGUgY3VycmVudCBwcm9jZXNzXCdzIGVmZmVjdGl2ZSB1c2VyIGlkLiIpOworCisjZGVmaW5lIE9TX1NFVEVVSURfTUVUSE9EREVGICAgIFwKKyAgICB7InNldGV1aWQiLCAoUHlDRnVuY3Rpb24pb3Nfc2V0ZXVpZCwgTUVUSF9WQVJBUkdTLCBvc19zZXRldWlkX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9zZXRldWlkIChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitvc19zZXRldWlkX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgdWlkX3QgZXVpZCk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19zZXRldWlkKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQogeworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOwogICAgIHVpZF90IGV1aWQ7Ci0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJPJjpzZXRldWlkIiwgX1B5X1VpZF9Db252ZXJ0ZXIsICZldWlkKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgaWYgKHNldGV1aWQoZXVpZCkgPCAwKSB7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgIk8mOnNldGV1aWQiLAorICAgICAgICBfUHlfVWlkX0NvbnZlcnRlciwgJmV1aWQpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gb3Nfc2V0ZXVpZF9pbXBsKG1vZHVsZSwgZXVpZCk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3NldGV1aWRfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCB1aWRfdCBldWlkKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTZlODI0Y2NlNGYzYjhhNWQgaW5wdXQ9YmE5M2Q5MjdlNDc4MWFhOV0qLworeworICAgIGlmIChzZXRldWlkKGV1aWQpIDwgMCkKICAgICAgICAgcmV0dXJuIHBvc2l4X2Vycm9yKCk7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgUHlfSU5DUkVGKFB5X05vbmUpOwotICAgICAgICByZXR1cm4gUHlfTm9uZTsKLSAgICB9CisgICAgUHlfUkVUVVJOX05PTkU7CiB9CiAjZW5kaWYgLyogSEFWRV9TRVRFVUlEICovCiAKKwogI2lmZGVmIEhBVkVfU0VURUdJRAotUHlEb2NfU1RSVkFSKHBvc2l4X3NldGVnaWRfX2RvY19fLAotInNldGVnaWQoZ2lkKVxuXG5cCi1TZXQgdGhlIGN1cnJlbnQgcHJvY2VzcydzIGVmZmVjdGl2ZSBncm91cCBpZC4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK29zLnNldGVnaWQKKworICAgIGVnaWQ6IGdpZF90CisgICAgLworCitTZXQgdGhlIGN1cnJlbnQgcHJvY2VzcydzIGVmZmVjdGl2ZSBncm91cCBpZC4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX3NldGVnaWRfX2RvY19fLAorInNldGVnaWQoJG1vZHVsZSwgZWdpZCwgLylcbiIKKyItLVxuIgorIlxuIgorIlNldCB0aGUgY3VycmVudCBwcm9jZXNzXCdzIGVmZmVjdGl2ZSBncm91cCBpZC4iKTsKKworI2RlZmluZSBPU19TRVRFR0lEX01FVEhPRERFRiAgICBcCisgICAgeyJzZXRlZ2lkIiwgKFB5Q0Z1bmN0aW9uKW9zX3NldGVnaWQsIE1FVEhfVkFSQVJHUywgb3Nfc2V0ZWdpZF9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfc2V0ZWdpZCAoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorb3Nfc2V0ZWdpZF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGdpZF90IGVnaWQpOworCitzdGF0aWMgUHlPYmplY3QgKgorb3Nfc2V0ZWdpZChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKIHsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKICAgICBnaWRfdCBlZ2lkOwotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiTyY6c2V0ZWdpZCIsIF9QeV9HaWRfQ29udmVydGVyLCAmZWdpZCkpCi0gICAgICAgIHJldHVybiBOVUxMOwotICAgIGlmIChzZXRlZ2lkKGVnaWQpIDwgMCkgeworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICJPJjpzZXRlZ2lkIiwKKyAgICAgICAgX1B5X0dpZF9Db252ZXJ0ZXIsICZlZ2lkKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IG9zX3NldGVnaWRfaW1wbChtb2R1bGUsIGVnaWQpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19zZXRlZ2lkX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgZ2lkX3QgZWdpZCkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD04MGEzMjI2M2E0ZDU2YTljIGlucHV0PTQwODA1MjZkMGNjZDZjZTNdKi8KK3sKKyAgICBpZiAoc2V0ZWdpZChlZ2lkKSA8IDApCiAgICAgICAgIHJldHVybiBwb3NpeF9lcnJvcigpOwotICAgIH0gZWxzZSB7Ci0gICAgICAgIFB5X0lOQ1JFRihQeV9Ob25lKTsKLSAgICAgICAgcmV0dXJuIFB5X05vbmU7Ci0gICAgfQorICAgIFB5X1JFVFVSTl9OT05FOwogfQogI2VuZGlmIC8qIEhBVkVfU0VURUdJRCAqLwogCisKICNpZmRlZiBIQVZFX1NFVFJFVUlECi1QeURvY19TVFJWQVIocG9zaXhfc2V0cmV1aWRfX2RvY19fLAotInNldHJldWlkKHJ1aWQsIGV1aWQpXG5cblwKLVNldCB0aGUgY3VycmVudCBwcm9jZXNzJ3MgcmVhbCBhbmQgZWZmZWN0aXZlIHVzZXIgaWRzLiIpOworLypbY2xpbmljIGlucHV0XQorb3Muc2V0cmV1aWQKKworICAgIHJ1aWQ6IHVpZF90CisgICAgZXVpZDogdWlkX3QKKyAgICAvCisKK1NldCB0aGUgY3VycmVudCBwcm9jZXNzJ3MgcmVhbCBhbmQgZWZmZWN0aXZlIHVzZXIgaWRzLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3Nfc2V0cmV1aWRfX2RvY19fLAorInNldHJldWlkKCRtb2R1bGUsIHJ1aWQsIGV1aWQsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJTZXQgdGhlIGN1cnJlbnQgcHJvY2Vzc1wncyByZWFsIGFuZCBlZmZlY3RpdmUgdXNlciBpZHMuIik7CisKKyNkZWZpbmUgT1NfU0VUUkVVSURfTUVUSE9EREVGICAgIFwKKyAgICB7InNldHJldWlkIiwgKFB5Q0Z1bmN0aW9uKW9zX3NldHJldWlkLCBNRVRIX1ZBUkFSR1MsIG9zX3NldHJldWlkX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9zZXRyZXVpZCAoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorb3Nfc2V0cmV1aWRfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCB1aWRfdCBydWlkLCB1aWRfdCBldWlkKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3NldHJldWlkKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQogewotICAgIHVpZF90IHJ1aWQsIGV1aWQ7Ci0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJPJk8mOnNldHJldWlkIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgX1B5X1VpZF9Db252ZXJ0ZXIsICZydWlkLAotICAgICAgICAgICAgICAgICAgICAgICAgICBfUHlfVWlkX0NvbnZlcnRlciwgJmV1aWQpKQotICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICB1aWRfdCBydWlkOworICAgIHVpZF90IGV1aWQ7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgIk8mTyY6c2V0cmV1aWQiLAorICAgICAgICBfUHlfVWlkX0NvbnZlcnRlciwgJnJ1aWQsIF9QeV9VaWRfQ29udmVydGVyLCAmZXVpZCkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBvc19zZXRyZXVpZF9pbXBsKG1vZHVsZSwgcnVpZCwgZXVpZCk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3NldHJldWlkX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgdWlkX3QgcnVpZCwgdWlkX3QgZXVpZCkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1kN2YyMjZmOTQzZGFkNzM5IGlucHV0PTBjYTg5NzhkZTY2Mzg4MGNdKi8KK3sKICAgICBpZiAoc2V0cmV1aWQocnVpZCwgZXVpZCkgPCAwKSB7CiAgICAgICAgIHJldHVybiBwb3NpeF9lcnJvcigpOwogICAgIH0gZWxzZSB7CkBAIC02NzYzLDUzICs5MTI5LDEyOCBAQAogfQogI2VuZGlmIC8qIEhBVkVfU0VUUkVVSUQgKi8KIAorCiAjaWZkZWYgSEFWRV9TRVRSRUdJRAotUHlEb2NfU1RSVkFSKHBvc2l4X3NldHJlZ2lkX19kb2NfXywKLSJzZXRyZWdpZChyZ2lkLCBlZ2lkKVxuXG5cCi1TZXQgdGhlIGN1cnJlbnQgcHJvY2VzcydzIHJlYWwgYW5kIGVmZmVjdGl2ZSBncm91cCBpZHMuIik7CisvKltjbGluaWMgaW5wdXRdCitvcy5zZXRyZWdpZAorCisgICAgcmdpZDogZ2lkX3QKKyAgICBlZ2lkOiBnaWRfdAorICAgIC8KKworU2V0IHRoZSBjdXJyZW50IHByb2Nlc3MncyByZWFsIGFuZCBlZmZlY3RpdmUgZ3JvdXAgaWRzLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3Nfc2V0cmVnaWRfX2RvY19fLAorInNldHJlZ2lkKCRtb2R1bGUsIHJnaWQsIGVnaWQsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJTZXQgdGhlIGN1cnJlbnQgcHJvY2Vzc1wncyByZWFsIGFuZCBlZmZlY3RpdmUgZ3JvdXAgaWRzLiIpOworCisjZGVmaW5lIE9TX1NFVFJFR0lEX01FVEhPRERFRiAgICBcCisgICAgeyJzZXRyZWdpZCIsIChQeUNGdW5jdGlvbilvc19zZXRyZWdpZCwgTUVUSF9WQVJBUkdTLCBvc19zZXRyZWdpZF9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfc2V0cmVnaWQgKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK29zX3NldHJlZ2lkX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgZ2lkX3QgcmdpZCwgZ2lkX3QgZWdpZCk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19zZXRyZWdpZChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKIHsKLSAgICBnaWRfdCByZ2lkLCBlZ2lkOwotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiTyZPJjpzZXRyZWdpZCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIF9QeV9HaWRfQ29udmVydGVyLCAmcmdpZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgX1B5X0dpZF9Db252ZXJ0ZXIsICZlZ2lkKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgaWYgKHNldHJlZ2lkKHJnaWQsIGVnaWQpIDwgMCkgeworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIGdpZF90IHJnaWQ7CisgICAgZ2lkX3QgZWdpZDsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAiTyZPJjpzZXRyZWdpZCIsCisgICAgICAgIF9QeV9HaWRfQ29udmVydGVyLCAmcmdpZCwgX1B5X0dpZF9Db252ZXJ0ZXIsICZlZ2lkKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IG9zX3NldHJlZ2lkX2ltcGwobW9kdWxlLCByZ2lkLCBlZ2lkKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3Nfc2V0cmVnaWRfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBnaWRfdCByZ2lkLCBnaWRfdCBlZ2lkKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWE4MmQ5YWI3MGY4ZTY1NjIgaW5wdXQ9YzU5NDk5ZjcyODQ2ZGI3OF0qLworeworICAgIGlmIChzZXRyZWdpZChyZ2lkLCBlZ2lkKSA8IDApCiAgICAgICAgIHJldHVybiBwb3NpeF9lcnJvcigpOwotICAgIH0gZWxzZSB7Ci0gICAgICAgIFB5X0lOQ1JFRihQeV9Ob25lKTsKLSAgICAgICAgcmV0dXJuIFB5X05vbmU7Ci0gICAgfQorICAgIFB5X1JFVFVSTl9OT05FOwogfQogI2VuZGlmIC8qIEhBVkVfU0VUUkVHSUQgKi8KIAorCiAjaWZkZWYgSEFWRV9TRVRHSUQKLVB5RG9jX1NUUlZBUihwb3NpeF9zZXRnaWRfX2RvY19fLAotInNldGdpZChnaWQpXG5cblwKLVNldCB0aGUgY3VycmVudCBwcm9jZXNzJ3MgZ3JvdXAgaWQuIik7CisvKltjbGluaWMgaW5wdXRdCitvcy5zZXRnaWQKKyAgICBnaWQ6IGdpZF90CisgICAgLworCitTZXQgdGhlIGN1cnJlbnQgcHJvY2VzcydzIGdyb3VwIGlkLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3Nfc2V0Z2lkX19kb2NfXywKKyJzZXRnaWQoJG1vZHVsZSwgZ2lkLCAvKVxuIgorIi0tXG4iCisiXG4iCisiU2V0IHRoZSBjdXJyZW50IHByb2Nlc3NcJ3MgZ3JvdXAgaWQuIik7CisKKyNkZWZpbmUgT1NfU0VUR0lEX01FVEhPRERFRiAgICBcCisgICAgeyJzZXRnaWQiLCAoUHlDRnVuY3Rpb24pb3Nfc2V0Z2lkLCBNRVRIX1ZBUkFSR1MsIG9zX3NldGdpZF9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfc2V0Z2lkKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK29zX3NldGdpZF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGdpZF90IGdpZCk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19zZXRnaWQoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCiB7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CiAgICAgZ2lkX3QgZ2lkOwotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiTyY6c2V0Z2lkIiwgX1B5X0dpZF9Db252ZXJ0ZXIsICZnaWQpKQotICAgICAgICByZXR1cm4gTlVMTDsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAiTyY6c2V0Z2lkIiwKKyAgICAgICAgX1B5X0dpZF9Db252ZXJ0ZXIsICZnaWQpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gb3Nfc2V0Z2lkX2ltcGwobW9kdWxlLCBnaWQpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19zZXRnaWRfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBnaWRfdCBnaWQpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9MDgyODc4ODZkYjQzNWYyMyBpbnB1dD0yN2QzMGM0MDU5MDQ1ZGM2XSovCit7CiAgICAgaWYgKHNldGdpZChnaWQpIDwgMCkKICAgICAgICAgcmV0dXJuIHBvc2l4X2Vycm9yKCk7Ci0gICAgUHlfSU5DUkVGKFB5X05vbmUpOwotICAgIHJldHVybiBQeV9Ob25lOworICAgIFB5X1JFVFVSTl9OT05FOwogfQogI2VuZGlmIC8qIEhBVkVfU0VUR0lEICovCiAKKwogI2lmZGVmIEhBVkVfU0VUR1JPVVBTCi1QeURvY19TVFJWQVIocG9zaXhfc2V0Z3JvdXBzX19kb2NfXywKLSJzZXRncm91cHMobGlzdClcblxuXAotU2V0IHRoZSBncm91cHMgb2YgdGhlIGN1cnJlbnQgcHJvY2VzcyB0byBsaXN0LiIpOworLypbY2xpbmljIGlucHV0XQorb3Muc2V0Z3JvdXBzCisKKyAgICBncm91cHM6IG9iamVjdAorICAgIC8KKworU2V0IHRoZSBncm91cHMgb2YgdGhlIGN1cnJlbnQgcHJvY2VzcyB0byBsaXN0LgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3Nfc2V0Z3JvdXBzX19kb2NfXywKKyJzZXRncm91cHMoJG1vZHVsZSwgZ3JvdXBzLCAvKVxuIgorIi0tXG4iCisiXG4iCisiU2V0IHRoZSBncm91cHMgb2YgdGhlIGN1cnJlbnQgcHJvY2VzcyB0byBsaXN0LiIpOworCisjZGVmaW5lIE9TX1NFVEdST1VQU19NRVRIT0RERUYgICAgXAorICAgIHsic2V0Z3JvdXBzIiwgKFB5Q0Z1bmN0aW9uKW9zX3NldGdyb3VwcywgTUVUSF9PLCBvc19zZXRncm91cHNfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X3NldGdyb3VwcyhQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmdyb3VwcykKK29zX3NldGdyb3VwcyhQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqZ3JvdXBzKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTBiOGRlNjVkNWIzY2RhOTQgaW5wdXQ9ZmE3NDJjYTNkYWY4NWE3ZV0qLwogewogICAgIGludCBpLCBsZW47CiAgICAgZ2lkX3QgZ3JvdXBsaXN0W01BWF9HUk9VUFNdOwpAQCAtNjkxMCw4MyArOTM1MSwyMjAgQEAKIH0KICNlbmRpZiAvKiBIQVZFX1dBSVQzIHx8IEhBVkVfV0FJVDQgKi8KIAorCiAjaWZkZWYgSEFWRV9XQUlUMwotUHlEb2NfU1RSVkFSKHBvc2l4X3dhaXQzX19kb2NfXywKLSJ3YWl0MyhvcHRpb25zKSAtPiAocGlkLCBzdGF0dXMsIHJ1c2FnZSlcblxuXAotV2FpdCBmb3IgY29tcGxldGlvbiBvZiBhIGNoaWxkIHByb2Nlc3MuIik7CisvKltjbGluaWMgaW5wdXRdCitvcy53YWl0MworCisgICAgb3B0aW9uczogaW50CitXYWl0IGZvciBjb21wbGV0aW9uIG9mIGEgY2hpbGQgcHJvY2Vzcy4KKworUmV0dXJucyBhIHR1cGxlIG9mIGluZm9ybWF0aW9uIGFib3V0IHRoZSBjaGlsZCBwcm9jZXNzOgorICAocGlkLCBzdGF0dXMsIHJ1c2FnZSkKK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX3dhaXQzX19kb2NfXywKKyJ3YWl0MygkbW9kdWxlLCAvLCBvcHRpb25zKVxuIgorIi0tXG4iCisiXG4iCisiV2FpdCBmb3IgY29tcGxldGlvbiBvZiBhIGNoaWxkIHByb2Nlc3MuXG4iCisiXG4iCisiUmV0dXJucyBhIHR1cGxlIG9mIGluZm9ybWF0aW9uIGFib3V0IHRoZSBjaGlsZCBwcm9jZXNzOlxuIgorIiAgKHBpZCwgc3RhdHVzLCBydXNhZ2UpIik7CisKKyNkZWZpbmUgT1NfV0FJVDNfTUVUSE9EREVGICAgIFwKKyAgICB7IndhaXQzIiwgKFB5Q0Z1bmN0aW9uKW9zX3dhaXQzLCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgb3Nfd2FpdDNfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X3dhaXQzKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK29zX3dhaXQzX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IG9wdGlvbnMpOworCitzdGF0aWMgUHlPYmplY3QgKgorb3Nfd2FpdDMoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCit7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgc3RhdGljIGNoYXIgKl9rZXl3b3Jkc1tdID0geyJvcHRpb25zIiwgTlVMTH07CisgICAgaW50IG9wdGlvbnM7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsCisgICAgICAgICJpOndhaXQzIiwgX2tleXdvcmRzLAorICAgICAgICAmb3B0aW9ucykpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBvc193YWl0M19pbXBsKG1vZHVsZSwgb3B0aW9ucyk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3dhaXQzX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IG9wdGlvbnMpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9MWYyYTYzYjZhOTNjYmI1NyBpbnB1dD04YWM0YzU2OTU2YjYxNzEwXSovCiB7CiAgICAgcGlkX3QgcGlkOwotICAgIGludCBvcHRpb25zOwogICAgIHN0cnVjdCBydXNhZ2UgcnU7CisgICAgaW50IGFzeW5jX2VyciA9IDA7CiAgICAgV0FJVF9UWVBFIHN0YXR1czsKICAgICBXQUlUX1NUQVRVU19JTlQoc3RhdHVzKSA9IDA7CiAKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgImk6d2FpdDMiLCAmb3B0aW9ucykpCi0gICAgICAgIHJldHVybiBOVUxMOwotCi0gICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwotICAgIHBpZCA9IHdhaXQzKCZzdGF0dXMsIG9wdGlvbnMsICZydSk7Ci0gICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKKyAgICBkbyB7CisgICAgICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKKyAgICAgICAgcGlkID0gd2FpdDMoJnN0YXR1cywgb3B0aW9ucywgJnJ1KTsKKyAgICAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKKyAgICB9IHdoaWxlIChwaWQgPCAwICYmIGVycm5vID09IEVJTlRSICYmICEoYXN5bmNfZXJyID0gUHlFcnJfQ2hlY2tTaWduYWxzKCkpKTsKKyAgICBpZiAocGlkIDwgMCkKKyAgICAgICAgcmV0dXJuICghYXN5bmNfZXJyKSA/IHBvc2l4X2Vycm9yKCkgOiBOVUxMOwogCiAgICAgcmV0dXJuIHdhaXRfaGVscGVyKHBpZCwgV0FJVF9TVEFUVVNfSU5UKHN0YXR1cyksICZydSk7CiB9CiAjZW5kaWYgLyogSEFWRV9XQUlUMyAqLwogCisKICNpZmRlZiBIQVZFX1dBSVQ0Ci1QeURvY19TVFJWQVIocG9zaXhfd2FpdDRfX2RvY19fLAotIndhaXQ0KHBpZCwgb3B0aW9ucykgLT4gKHBpZCwgc3RhdHVzLCBydXNhZ2UpXG5cblwKLVdhaXQgZm9yIGNvbXBsZXRpb24gb2YgYSBnaXZlbiBjaGlsZCBwcm9jZXNzLiIpOworLypbY2xpbmljIGlucHV0XQorCitvcy53YWl0NAorCisgICAgcGlkOiBwaWRfdAorICAgIG9wdGlvbnM6IGludAorCitXYWl0IGZvciBjb21wbGV0aW9uIG9mIGEgc3BlY2lmaWMgY2hpbGQgcHJvY2Vzcy4KKworUmV0dXJucyBhIHR1cGxlIG9mIGluZm9ybWF0aW9uIGFib3V0IHRoZSBjaGlsZCBwcm9jZXNzOgorICAocGlkLCBzdGF0dXMsIHJ1c2FnZSkKK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX3dhaXQ0X19kb2NfXywKKyJ3YWl0NCgkbW9kdWxlLCAvLCBwaWQsIG9wdGlvbnMpXG4iCisiLS1cbiIKKyJcbiIKKyJXYWl0IGZvciBjb21wbGV0aW9uIG9mIGEgc3BlY2lmaWMgY2hpbGQgcHJvY2Vzcy5cbiIKKyJcbiIKKyJSZXR1cm5zIGEgdHVwbGUgb2YgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGNoaWxkIHByb2Nlc3M6XG4iCisiICAocGlkLCBzdGF0dXMsIHJ1c2FnZSkiKTsKKworI2RlZmluZSBPU19XQUlUNF9NRVRIT0RERUYgICAgXAorICAgIHsid2FpdDQiLCAoUHlDRnVuY3Rpb24pb3Nfd2FpdDQsIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBvc193YWl0NF9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfd2FpdDQoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorb3Nfd2FpdDRfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBwaWRfdCBwaWQsIGludCBvcHRpb25zKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3dhaXQ0KFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQogeworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIHN0YXRpYyBjaGFyICpfa2V5d29yZHNbXSA9IHsicGlkIiwgIm9wdGlvbnMiLCBOVUxMfTsKICAgICBwaWRfdCBwaWQ7CiAgICAgaW50IG9wdGlvbnM7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsCisgICAgICAgICIiIF9QeV9QQVJTRV9QSUQgImk6d2FpdDQiLCBfa2V5d29yZHMsCisgICAgICAgICZwaWQsICZvcHRpb25zKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IG9zX3dhaXQ0X2ltcGwobW9kdWxlLCBwaWQsIG9wdGlvbnMpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc193YWl0NF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIHBpZF90IHBpZCwgaW50IG9wdGlvbnMpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9MjBkZmIwNTI4OWQzN2RjNiBpbnB1dD1kMTFkZWVkMDc1MDYwMGJhXSovCit7CisgICAgcGlkX3QgcmVzOwogICAgIHN0cnVjdCBydXNhZ2UgcnU7CisgICAgaW50IGFzeW5jX2VyciA9IDA7CiAgICAgV0FJVF9UWVBFIHN0YXR1czsKICAgICBXQUlUX1NUQVRVU19JTlQoc3RhdHVzKSA9IDA7CiAKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgX1B5X1BBUlNFX1BJRCAiaTp3YWl0NCIsICZwaWQsICZvcHRpb25zKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgZG8geworICAgICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCisgICAgICAgIHJlcyA9IHdhaXQ0KHBpZCwgJnN0YXR1cywgb3B0aW9ucywgJnJ1KTsKKyAgICAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKKyAgICB9IHdoaWxlIChyZXMgPCAwICYmIGVycm5vID09IEVJTlRSICYmICEoYXN5bmNfZXJyID0gUHlFcnJfQ2hlY2tTaWduYWxzKCkpKTsKKyAgICBpZiAocmVzIDwgMCkKKyAgICAgICAgcmV0dXJuICghYXN5bmNfZXJyKSA/IHBvc2l4X2Vycm9yKCkgOiBOVUxMOwogCi0gICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwotICAgIHBpZCA9IHdhaXQ0KHBpZCwgJnN0YXR1cywgb3B0aW9ucywgJnJ1KTsKLSAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUwotCi0gICAgcmV0dXJuIHdhaXRfaGVscGVyKHBpZCwgV0FJVF9TVEFUVVNfSU5UKHN0YXR1cyksICZydSk7CisgICAgcmV0dXJuIHdhaXRfaGVscGVyKHJlcywgV0FJVF9TVEFUVVNfSU5UKHN0YXR1cyksICZydSk7CiB9CiAjZW5kaWYgLyogSEFWRV9XQUlUNCAqLwogCisKICNpZiBkZWZpbmVkKEhBVkVfV0FJVElEKSAmJiAhZGVmaW5lZChfX0FQUExFX18pCi1QeURvY19TVFJWQVIocG9zaXhfd2FpdGlkX19kb2NfXywKLSJ3YWl0aWQoaWR0eXBlLCBpZCwgb3B0aW9ucykgLT4gd2FpdGlkX3Jlc3VsdFxuXG5cCi1XYWl0IGZvciB0aGUgY29tcGxldGlvbiBvZiBvbmUgb3IgbW9yZSBjaGlsZCBwcm9jZXNzZXMuXG5cblwKLWlkdHlwZSBjYW4gYmUgUF9QSUQsIFBfUEdJRCBvciBQX0FMTC5cblwKLWlkIHNwZWNpZmllcyB0aGUgcGlkIHRvIHdhaXQgb24uXG5cCi1vcHRpb25zIGlzIGNvbnN0cnVjdGVkIGZyb20gdGhlIE9SaW5nIG9mIG9uZSBvciBtb3JlIG9mIFdFWElURUQsIFdTVE9QUEVEXG5cCi1vciBXQ09OVElOVUVEIGFuZCBhZGRpdGlvbmFsbHkgbWF5IGJlIE9SZWQgd2l0aCBXTk9IQU5HIG9yIFdOT1dBSVQuXG5cCi1SZXR1cm5zIGVpdGhlciB3YWl0aWRfcmVzdWx0IG9yIE5vbmUgaWYgV05PSEFORyBpcyBzcGVjaWZpZWQgYW5kIHRoZXJlIGFyZVxuXAotbm8gY2hpbGRyZW4gaW4gYSB3YWl0YWJsZSBzdGF0ZS4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK29zLndhaXRpZAorCisgICAgaWR0eXBlOiBpZHR5cGVfdAorICAgICAgICBNdXN0IGJlIG9uZSBvZiBiZSBQX1BJRCwgUF9QR0lEIG9yIFBfQUxMLgorICAgIGlkOiBpZF90CisgICAgICAgIFRoZSBpZCB0byB3YWl0IG9uLgorICAgIG9wdGlvbnM6IGludAorICAgICAgICBDb25zdHJ1Y3RlZCBmcm9tIHRoZSBPUmluZyBvZiBvbmUgb3IgbW9yZSBvZiBXRVhJVEVELCBXU1RPUFBFRAorICAgICAgICBvciBXQ09OVElOVUVEIGFuZCBhZGRpdGlvbmFsbHkgbWF5IGJlIE9SZWQgd2l0aCBXTk9IQU5HIG9yIFdOT1dBSVQuCisgICAgLworCitSZXR1cm5zIHRoZSByZXN1bHQgb2Ygd2FpdGluZyBmb3IgYSBwcm9jZXNzIG9yIHByb2Nlc3Nlcy4KKworUmV0dXJucyBlaXRoZXIgd2FpdGlkX3Jlc3VsdCBvciBOb25lIGlmIFdOT0hBTkcgaXMgc3BlY2lmaWVkIGFuZCB0aGVyZSBhcmUKK25vIGNoaWxkcmVuIGluIGEgd2FpdGFibGUgc3RhdGUuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc193YWl0aWRfX2RvY19fLAorIndhaXRpZCgkbW9kdWxlLCBpZHR5cGUsIGlkLCBvcHRpb25zLCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJucyB0aGUgcmVzdWx0IG9mIHdhaXRpbmcgZm9yIGEgcHJvY2VzcyBvciBwcm9jZXNzZXMuXG4iCisiXG4iCisiICBpZHR5cGVcbiIKKyIgICAgTXVzdCBiZSBvbmUgb2YgYmUgUF9QSUQsIFBfUEdJRCBvciBQX0FMTC5cbiIKKyIgIGlkXG4iCisiICAgIFRoZSBpZCB0byB3YWl0IG9uLlxuIgorIiAgb3B0aW9uc1xuIgorIiAgICBDb25zdHJ1Y3RlZCBmcm9tIHRoZSBPUmluZyBvZiBvbmUgb3IgbW9yZSBvZiBXRVhJVEVELCBXU1RPUFBFRFxuIgorIiAgICBvciBXQ09OVElOVUVEIGFuZCBhZGRpdGlvbmFsbHkgbWF5IGJlIE9SZWQgd2l0aCBXTk9IQU5HIG9yIFdOT1dBSVQuXG4iCisiXG4iCisiUmV0dXJucyBlaXRoZXIgd2FpdGlkX3Jlc3VsdCBvciBOb25lIGlmIFdOT0hBTkcgaXMgc3BlY2lmaWVkIGFuZCB0aGVyZSBhcmVcbiIKKyJubyBjaGlsZHJlbiBpbiBhIHdhaXRhYmxlIHN0YXRlLiIpOworCisjZGVmaW5lIE9TX1dBSVRJRF9NRVRIT0RERUYgICAgXAorICAgIHsid2FpdGlkIiwgKFB5Q0Z1bmN0aW9uKW9zX3dhaXRpZCwgTUVUSF9WQVJBUkdTLCBvc193YWl0aWRfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X3dhaXRpZChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitvc193YWl0aWRfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpZHR5cGVfdCBpZHR5cGUsIGlkX3QgaWQsIGludCBvcHRpb25zKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3dhaXRpZChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKIHsKLSAgICBQeU9iamVjdCAqcmVzdWx0OworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOwogICAgIGlkdHlwZV90IGlkdHlwZTsKICAgICBpZF90IGlkOwotICAgIGludCBvcHRpb25zLCByZXM7CisgICAgaW50IG9wdGlvbnM7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgImkiIF9QeV9QQVJTRV9QSUQgImk6d2FpdGlkIiwKKyAgICAgICAgJmlkdHlwZSwgJmlkLCAmb3B0aW9ucykpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBvc193YWl0aWRfaW1wbChtb2R1bGUsIGlkdHlwZSwgaWQsIG9wdGlvbnMpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc193YWl0aWRfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpZHR5cGVfdCBpZHR5cGUsIGlkX3QgaWQsIGludCBvcHRpb25zKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWZiNDRiZjk3ZjAxMDIxYjIgaW5wdXQ9ZDhlN2Y3NmUwNTJiNzkyMF0qLworeworICAgIFB5T2JqZWN0ICpyZXN1bHQ7CisgICAgaW50IHJlczsKKyAgICBpbnQgYXN5bmNfZXJyID0gMDsKICAgICBzaWdpbmZvX3Qgc2k7CiAgICAgc2kuc2lfcGlkID0gMDsKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgImkiIF9QeV9QQVJTRV9QSUQgImk6d2FpdGlkIiwgJmlkdHlwZSwgJmlkLCAmb3B0aW9ucykpCi0gICAgICAgIHJldHVybiBOVUxMOwotICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKLSAgICByZXMgPSB3YWl0aWQoaWR0eXBlLCBpZCwgJnNpLCBvcHRpb25zKTsKLSAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUwotICAgIGlmIChyZXMgPT0gLTEpCi0gICAgICAgIHJldHVybiBwb3NpeF9lcnJvcigpOworCisgICAgZG8geworICAgICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCisgICAgICAgIHJlcyA9IHdhaXRpZChpZHR5cGUsIGlkLCAmc2ksIG9wdGlvbnMpOworICAgICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUworICAgIH0gd2hpbGUgKHJlcyA8IDAgJiYgZXJybm8gPT0gRUlOVFIgJiYgIShhc3luY19lcnIgPSBQeUVycl9DaGVja1NpZ25hbHMoKSkpOworICAgIGlmIChyZXMgPCAwKQorICAgICAgICByZXR1cm4gKCFhc3luY19lcnIpID8gcG9zaXhfZXJyb3IoKSA6IE5VTEw7CiAKICAgICBpZiAoc2kuc2lfcGlkID09IDApCiAgICAgICAgIFB5X1JFVFVSTl9OT05FOwpAQCAtNzAwNyw3OSArOTU4NSwyMDAgQEAKIAogICAgIHJldHVybiByZXN1bHQ7CiB9Ci0jZW5kaWYKKyNlbmRpZiAvKiBkZWZpbmVkKEhBVkVfV0FJVElEKSAmJiAhZGVmaW5lZChfX0FQUExFX18pICovCiAKLSNpZmRlZiBIQVZFX1dBSVRQSUQKLVB5RG9jX1NUUlZBUihwb3NpeF93YWl0cGlkX19kb2NfXywKLSJ3YWl0cGlkKHBpZCwgb3B0aW9ucykgLT4gKHBpZCwgc3RhdHVzKVxuXG5cCi1XYWl0IGZvciBjb21wbGV0aW9uIG9mIGEgZ2l2ZW4gY2hpbGQgcHJvY2Vzcy4iKTsKKworI2lmIGRlZmluZWQoSEFWRV9XQUlUUElEKQorLypbY2xpbmljIGlucHV0XQorb3Mud2FpdHBpZAorICAgIHBpZDogcGlkX3QKKyAgICBvcHRpb25zOiBpbnQKKyAgICAvCisKK1dhaXQgZm9yIGNvbXBsZXRpb24gb2YgYSBnaXZlbiBjaGlsZCBwcm9jZXNzLgorCitSZXR1cm5zIGEgdHVwbGUgb2YgaW5mb3JtYXRpb24gcmVnYXJkaW5nIHRoZSBjaGlsZCBwcm9jZXNzOgorICAgIChwaWQsIHN0YXR1cykKKworVGhlIG9wdGlvbnMgYXJndW1lbnQgaXMgaWdub3JlZCBvbiBXaW5kb3dzLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3Nfd2FpdHBpZF9fZG9jX18sCisid2FpdHBpZCgkbW9kdWxlLCBwaWQsIG9wdGlvbnMsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJXYWl0IGZvciBjb21wbGV0aW9uIG9mIGEgZ2l2ZW4gY2hpbGQgcHJvY2Vzcy5cbiIKKyJcbiIKKyJSZXR1cm5zIGEgdHVwbGUgb2YgaW5mb3JtYXRpb24gcmVnYXJkaW5nIHRoZSBjaGlsZCBwcm9jZXNzOlxuIgorIiAgICAocGlkLCBzdGF0dXMpXG4iCisiXG4iCisiVGhlIG9wdGlvbnMgYXJndW1lbnQgaXMgaWdub3JlZCBvbiBXaW5kb3dzLiIpOworCisjZGVmaW5lIE9TX1dBSVRQSURfTUVUSE9EREVGICAgIFwKKyAgICB7IndhaXRwaWQiLCAoUHlDRnVuY3Rpb24pb3Nfd2FpdHBpZCwgTUVUSF9WQVJBUkdTLCBvc193YWl0cGlkX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF93YWl0cGlkKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK29zX3dhaXRwaWRfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBwaWRfdCBwaWQsIGludCBvcHRpb25zKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3dhaXRwaWQoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCiB7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CiAgICAgcGlkX3QgcGlkOwogICAgIGludCBvcHRpb25zOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICIiIF9QeV9QQVJTRV9QSUQgImk6d2FpdHBpZCIsCisgICAgICAgICZwaWQsICZvcHRpb25zKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IG9zX3dhaXRwaWRfaW1wbChtb2R1bGUsIHBpZCwgb3B0aW9ucyk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3dhaXRwaWRfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBwaWRfdCBwaWQsIGludCBvcHRpb25zKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTA5NWE2YjAwYWY3MGI3YWMgaW5wdXQ9MGJmMTY2NmI4NzU4ZmRhM10qLworeworICAgIHBpZF90IHJlczsKKyAgICBpbnQgYXN5bmNfZXJyID0gMDsKICAgICBXQUlUX1RZUEUgc3RhdHVzOwogICAgIFdBSVRfU1RBVFVTX0lOVChzdGF0dXMpID0gMDsKIAotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCBfUHlfUEFSU0VfUElEICJpOndhaXRwaWQiLCAmcGlkLCAmb3B0aW9ucykpCi0gICAgICAgIHJldHVybiBOVUxMOwotICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKLSAgICBwaWQgPSB3YWl0cGlkKHBpZCwgJnN0YXR1cywgb3B0aW9ucyk7Ci0gICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKLSAgICBpZiAocGlkID09IC0xKQotICAgICAgICByZXR1cm4gcG9zaXhfZXJyb3IoKTsKKyAgICBkbyB7CisgICAgICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKKyAgICAgICAgcmVzID0gd2FpdHBpZChwaWQsICZzdGF0dXMsIG9wdGlvbnMpOworICAgICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUworICAgIH0gd2hpbGUgKHJlcyA8IDAgJiYgZXJybm8gPT0gRUlOVFIgJiYgIShhc3luY19lcnIgPSBQeUVycl9DaGVja1NpZ25hbHMoKSkpOworICAgIGlmIChyZXMgPCAwKQorICAgICAgICByZXR1cm4gKCFhc3luY19lcnIpID8gcG9zaXhfZXJyb3IoKSA6IE5VTEw7CiAKLSAgICByZXR1cm4gUHlfQnVpbGRWYWx1ZSgiTmkiLCBQeUxvbmdfRnJvbVBpZChwaWQpLCBXQUlUX1NUQVRVU19JTlQoc3RhdHVzKSk7CisgICAgcmV0dXJuIFB5X0J1aWxkVmFsdWUoIk5pIiwgUHlMb25nX0Zyb21QaWQocmVzKSwgV0FJVF9TVEFUVVNfSU5UKHN0YXR1cykpOwogfQotCiAjZWxpZiBkZWZpbmVkKEhBVkVfQ1dBSVQpCi0KIC8qIE1TIEMgaGFzIGEgdmFyaWFudCBvZiB3YWl0cGlkKCkgdGhhdCdzIHVzYWJsZSBmb3IgbW9zdCBwdXJwb3Nlcy4gKi8KLVB5RG9jX1NUUlZBUihwb3NpeF93YWl0cGlkX19kb2NfXywKLSJ3YWl0cGlkKHBpZCwgb3B0aW9ucykgLT4gKHBpZCwgc3RhdHVzIDw8IDgpXG5cbiIKLSJXYWl0IGZvciBjb21wbGV0aW9uIG9mIGEgZ2l2ZW4gcHJvY2Vzcy4gIG9wdGlvbnMgaXMgaWdub3JlZCBvbiBXaW5kb3dzLiIpOworLypbY2xpbmljIGlucHV0XQorb3Mud2FpdHBpZAorICAgIHBpZDogUHlfaW50cHRyX3QKKyAgICBvcHRpb25zOiBpbnQKKyAgICAvCisKK1dhaXQgZm9yIGNvbXBsZXRpb24gb2YgYSBnaXZlbiBwcm9jZXNzLgorCitSZXR1cm5zIGEgdHVwbGUgb2YgaW5mb3JtYXRpb24gcmVnYXJkaW5nIHRoZSBwcm9jZXNzOgorICAgIChwaWQsIHN0YXR1cyA8PCA4KQorCitUaGUgb3B0aW9ucyBhcmd1bWVudCBpcyBpZ25vcmVkIG9uIFdpbmRvd3MuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc193YWl0cGlkX19kb2NfXywKKyJ3YWl0cGlkKCRtb2R1bGUsIHBpZCwgb3B0aW9ucywgLylcbiIKKyItLVxuIgorIlxuIgorIldhaXQgZm9yIGNvbXBsZXRpb24gb2YgYSBnaXZlbiBwcm9jZXNzLlxuIgorIlxuIgorIlJldHVybnMgYSB0dXBsZSBvZiBpbmZvcm1hdGlvbiByZWdhcmRpbmcgdGhlIHByb2Nlc3M6XG4iCisiICAgIChwaWQsIHN0YXR1cyA8PCA4KVxuIgorIlxuIgorIlRoZSBvcHRpb25zIGFyZ3VtZW50IGlzIGlnbm9yZWQgb24gV2luZG93cy4iKTsKKworI2RlZmluZSBPU19XQUlUUElEX01FVEhPRERFRiAgICBcCisgICAgeyJ3YWl0cGlkIiwgKFB5Q0Z1bmN0aW9uKW9zX3dhaXRwaWQsIE1FVEhfVkFSQVJHUywgb3Nfd2FpdHBpZF9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfd2FpdHBpZChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCi17Ci0gICAgUHlfaW50cHRyX3QgcGlkOwotICAgIGludCBzdGF0dXMsIG9wdGlvbnM7Citvc193YWl0cGlkX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlfaW50cHRyX3QgcGlkLCBpbnQgb3B0aW9ucyk7CiAKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgX1B5X1BBUlNFX0lOVFBUUiAiaTp3YWl0cGlkIiwgJnBpZCwgJm9wdGlvbnMpKQotICAgICAgICByZXR1cm4gTlVMTDsKLSAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCi0gICAgcGlkID0gX2N3YWl0KCZzdGF0dXMsIHBpZCwgb3B0aW9ucyk7Ci0gICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKLSAgICBpZiAocGlkID09IC0xKQotICAgICAgICByZXR1cm4gcG9zaXhfZXJyb3IoKTsKK3N0YXRpYyBQeU9iamVjdCAqCitvc193YWl0cGlkKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQoreworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIFB5X2ludHB0cl90IHBpZDsKKyAgICBpbnQgb3B0aW9uczsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAiIiBfUHlfUEFSU0VfSU5UUFRSICJpOndhaXRwaWQiLAorICAgICAgICAmcGlkLCAmb3B0aW9ucykpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBvc193YWl0cGlkX2ltcGwobW9kdWxlLCBwaWQsIG9wdGlvbnMpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc193YWl0cGlkX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlfaW50cHRyX3QgcGlkLCBpbnQgb3B0aW9ucykKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1jMjBiOTViMTVhZDQ0YTNhIGlucHV0PTQ0NGM4ZjUxY2NhNWI4NjJdKi8KK3sKKyAgICBpbnQgc3RhdHVzOworICAgIFB5X2ludHB0cl90IHJlczsKKyAgICBpbnQgYXN5bmNfZXJyID0gMDsKKworICAgIGRvIHsKKyAgICAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUworICAgICAgICByZXMgPSBfY3dhaXQoJnN0YXR1cywgcGlkLCBvcHRpb25zKTsKKyAgICAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKKyAgICB9IHdoaWxlIChyZXMgPCAwICYmIGVycm5vID09IEVJTlRSICYmICEoYXN5bmNfZXJyID0gUHlFcnJfQ2hlY2tTaWduYWxzKCkpKTsKKyAgICBpZiAocmVzICE9IDApCisgICAgICAgIHJldHVybiAoIWFzeW5jX2VycikgPyBwb3NpeF9lcnJvcigpIDogTlVMTDsKIAogICAgIC8qIHNoaWZ0IHRoZSBzdGF0dXMgbGVmdCBhIGJ5dGUgc28gdGhpcyBpcyBtb3JlIGxpa2UgdGhlIFBPU0lYIHdhaXRwaWQgKi8KLSAgICByZXR1cm4gUHlfQnVpbGRWYWx1ZShfUHlfUEFSU0VfSU5UUFRSICJpIiwgcGlkLCBzdGF0dXMgPDwgOCk7CisgICAgcmV0dXJuIFB5X0J1aWxkVmFsdWUoX1B5X1BBUlNFX0lOVFBUUiAiaSIsIHJlcywgc3RhdHVzIDw8IDgpOwogfQotI2VuZGlmIC8qIEhBVkVfV0FJVFBJRCB8fCBIQVZFX0NXQUlUICovCisjZW5kaWYKKwogCiAjaWZkZWYgSEFWRV9XQUlUCi1QeURvY19TVFJWQVIocG9zaXhfd2FpdF9fZG9jX18sCi0id2FpdCgpIC0+IChwaWQsIHN0YXR1cylcblxuXAotV2FpdCBmb3IgY29tcGxldGlvbiBvZiBhIGNoaWxkIHByb2Nlc3MuIik7CisvKltjbGluaWMgaW5wdXRdCitvcy53YWl0CisKK1dhaXQgZm9yIGNvbXBsZXRpb24gb2YgYSBjaGlsZCBwcm9jZXNzLgorCitSZXR1cm5zIGEgdHVwbGUgb2YgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGNoaWxkIHByb2Nlc3M6CisgICAgKHBpZCwgc3RhdHVzKQorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3Nfd2FpdF9fZG9jX18sCisid2FpdCgkbW9kdWxlLCAvKVxuIgorIi0tXG4iCisiXG4iCisiV2FpdCBmb3IgY29tcGxldGlvbiBvZiBhIGNoaWxkIHByb2Nlc3MuXG4iCisiXG4iCisiUmV0dXJucyBhIHR1cGxlIG9mIGluZm9ybWF0aW9uIGFib3V0IHRoZSBjaGlsZCBwcm9jZXNzOlxuIgorIiAgICAocGlkLCBzdGF0dXMpIik7CisKKyNkZWZpbmUgT1NfV0FJVF9NRVRIT0RERUYgICAgXAorICAgIHsid2FpdCIsIChQeUNGdW5jdGlvbilvc193YWl0LCBNRVRIX05PQVJHUywgb3Nfd2FpdF9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfd2FpdChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKm5vYXJncykKK29zX3dhaXRfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3dhaXQoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKlB5X1VOVVNFRChpZ25vcmVkKSkKK3sKKyAgICByZXR1cm4gb3Nfd2FpdF9pbXBsKG1vZHVsZSk7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc193YWl0X2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD0yYTgzYTlkMTY0ZTdlNmE4IGlucHV0PTAzYjAxODJkNGE0NzAwY2VdKi8KIHsKICAgICBwaWRfdCBwaWQ7CisgICAgaW50IGFzeW5jX2VyciA9IDA7CiAgICAgV0FJVF9UWVBFIHN0YXR1czsKICAgICBXQUlUX1NUQVRVU19JTlQoc3RhdHVzKSA9IDA7CiAKLSAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCi0gICAgcGlkID0gd2FpdCgmc3RhdHVzKTsKLSAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUwotICAgIGlmIChwaWQgPT0gLTEpCi0gICAgICAgIHJldHVybiBwb3NpeF9lcnJvcigpOworICAgIGRvIHsKKyAgICAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUworICAgICAgICBwaWQgPSB3YWl0KCZzdGF0dXMpOworICAgICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUworICAgIH0gd2hpbGUgKHBpZCA8IDAgJiYgZXJybm8gPT0gRUlOVFIgJiYgIShhc3luY19lcnIgPSBQeUVycl9DaGVja1NpZ25hbHMoKSkpOworICAgIGlmIChwaWQgPCAwKQorICAgICAgICByZXR1cm4gKCFhc3luY19lcnIpID8gcG9zaXhfZXJyb3IoKSA6IE5VTEw7CiAKICAgICByZXR1cm4gUHlfQnVpbGRWYWx1ZSgiTmkiLCBQeUxvbmdfRnJvbVBpZChwaWQpLCBXQUlUX1NUQVRVU19JTlQoc3RhdHVzKSk7CiB9Ci0jZW5kaWYKKyNlbmRpZiAvKiBIQVZFX1dBSVQgKi8KIAogCiAjaWYgZGVmaW5lZChIQVZFX1JFQURMSU5LKSB8fCBkZWZpbmVkKE1TX1dJTkRPV1MpCkBAIC03MDk1LDYgKzk3OTQsNyBAQAogCiAjaWZkZWYgSEFWRV9SRUFETElOSwogCisvKiBBQyAzLjU6IG1lcmdlIHdpbjMyIGFuZCBub3QgdG9nZXRoZXIgKi8KIHN0YXRpYyBQeU9iamVjdCAqCiBwb3NpeF9yZWFkbGluayhQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCiB7CkBAIC03MTA5LDEyICs5ODA5LDcgQEAKICAgICBwYXRoLmZ1bmN0aW9uX25hbWUgPSAicmVhZGxpbmsiOwogICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywgIk8mfCRPJjpyZWFkbGluayIsIGtleXdvcmRzLAogICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRoX2NvbnZlcnRlciwgJnBhdGgsCi0jaWZkZWYgSEFWRV9SRUFETElOS0FUCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGRpcl9mZF9jb252ZXJ0ZXIsICZkaXJfZmQKLSNlbHNlCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGRpcl9mZF91bmF2YWlsYWJsZSwgJmRpcl9mZAotI2VuZGlmCi0gICAgICAgICAgICAgICAgICAgICAgICAgICkpCisgICAgICAgICAgICAgICAgICAgICAgICAgIFJFQURMSU5LQVRfRElSX0ZEX0NPTlZFUlRFUiwgJmRpcl9mZCkpCiAgICAgICAgIHJldHVybiBOVUxMOwogCiAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwpAQCAtNzE0MCwyMyArOTgzNSw4NiBAQAogICAgIHJldHVybiByZXR1cm5fdmFsdWU7CiB9CiAKLQogI2VuZGlmIC8qIEhBVkVfUkVBRExJTksgKi8KIAorI2lmICFkZWZpbmVkKEhBVkVfUkVBRExJTkspICYmIGRlZmluZWQoTVNfV0lORE9XUykKKworc3RhdGljIFB5T2JqZWN0ICoKK3dpbl9yZWFkbGluayhQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCit7CisgICAgd2NoYXJfdCAqcGF0aDsKKyAgICBEV09SRCBuX2J5dGVzX3JldHVybmVkOworICAgIERXT1JEIGlvX3Jlc3VsdDsKKyAgICBQeU9iamVjdCAqcG8sICpyZXN1bHQ7CisgICAgICAgIGludCBkaXJfZmQ7CisgICAgSEFORExFIHJlcGFyc2VfcG9pbnRfaGFuZGxlOworCisgICAgY2hhciB0YXJnZXRfYnVmZmVyW01BWElNVU1fUkVQQVJTRV9EQVRBX0JVRkZFUl9TSVpFXTsKKyAgICBSRVBBUlNFX0RBVEFfQlVGRkVSICpyZGIgPSAoUkVQQVJTRV9EQVRBX0JVRkZFUiAqKXRhcmdldF9idWZmZXI7CisgICAgd2NoYXJfdCAqcHJpbnRfbmFtZTsKKworICAgIHN0YXRpYyBjaGFyICprZXl3b3Jkc1tdID0geyJwYXRoIiwgImRpcl9mZCIsIE5VTEx9OworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLCAiVXwkTyY6cmVhZGxpbmsiLCBrZXl3b3JkcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgJnBvLAorICAgICAgICAgICAgICAgICAgICAgICAgICBkaXJfZmRfdW5hdmFpbGFibGUsICZkaXJfZmQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgKSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisKKyAgICBwYXRoID0gUHlVbmljb2RlX0FzVW5pY29kZShwbyk7CisgICAgaWYgKHBhdGggPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisKKyAgICAvKiBGaXJzdCBnZXQgYSBoYW5kbGUgdG8gdGhlIHJlcGFyc2UgcG9pbnQgKi8KKyAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCisgICAgcmVwYXJzZV9wb2ludF9oYW5kbGUgPSBDcmVhdGVGaWxlVygKKyAgICAgICAgcGF0aCwKKyAgICAgICAgMCwKKyAgICAgICAgMCwKKyAgICAgICAgMCwKKyAgICAgICAgT1BFTl9FWElTVElORywKKyAgICAgICAgRklMRV9GTEFHX09QRU5fUkVQQVJTRV9QT0lOVHxGSUxFX0ZMQUdfQkFDS1VQX1NFTUFOVElDUywKKyAgICAgICAgMCk7CisgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKKworICAgIGlmIChyZXBhcnNlX3BvaW50X2hhbmRsZT09SU5WQUxJRF9IQU5ETEVfVkFMVUUpCisgICAgICAgIHJldHVybiB3aW4zMl9lcnJvcl9vYmplY3QoInJlYWRsaW5rIiwgcG8pOworCisgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUworICAgIC8qIE5ldyBjYWxsIERldmljZUlvQ29udHJvbCB0byByZWFkIHRoZSByZXBhcnNlIHBvaW50ICovCisgICAgaW9fcmVzdWx0ID0gRGV2aWNlSW9Db250cm9sKAorICAgICAgICByZXBhcnNlX3BvaW50X2hhbmRsZSwKKyAgICAgICAgRlNDVExfR0VUX1JFUEFSU0VfUE9JTlQsCisgICAgICAgIDAsIDAsIC8qIGluIGJ1ZmZlciAqLworICAgICAgICB0YXJnZXRfYnVmZmVyLCBzaXplb2YodGFyZ2V0X2J1ZmZlciksCisgICAgICAgICZuX2J5dGVzX3JldHVybmVkLAorICAgICAgICAwIC8qIHdlJ3JlIG5vdCB1c2luZyBPVkVSTEFQUEVEX0lPICovCisgICAgICAgICk7CisgICAgQ2xvc2VIYW5kbGUocmVwYXJzZV9wb2ludF9oYW5kbGUpOworICAgIFB5X0VORF9BTExPV19USFJFQURTCisKKyAgICBpZiAoaW9fcmVzdWx0PT0wKQorICAgICAgICByZXR1cm4gd2luMzJfZXJyb3Jfb2JqZWN0KCJyZWFkbGluayIsIHBvKTsKKworICAgIGlmIChyZGItPlJlcGFyc2VUYWcgIT0gSU9fUkVQQVJTRV9UQUdfU1lNTElOSykKKyAgICB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLAorICAgICAgICAgICAgICAgICJub3QgYSBzeW1ib2xpYyBsaW5rIik7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKyAgICBwcmludF9uYW1lID0gcmRiLT5TeW1ib2xpY0xpbmtSZXBhcnNlQnVmZmVyLlBhdGhCdWZmZXIgKworICAgICAgICAgICAgICAgICByZGItPlN5bWJvbGljTGlua1JlcGFyc2VCdWZmZXIuUHJpbnROYW1lT2Zmc2V0OworCisgICAgcmVzdWx0ID0gUHlVbmljb2RlX0Zyb21XaWRlQ2hhcihwcmludF9uYW1lLAorICAgICAgICAgICAgICAgICAgICByZGItPlN5bWJvbGljTGlua1JlcGFyc2VCdWZmZXIuUHJpbnROYW1lTGVuZ3RoLzIpOworICAgIHJldHVybiByZXN1bHQ7Cit9CisKKyNlbmRpZiAvKiAhZGVmaW5lZChIQVZFX1JFQURMSU5LKSAmJiBkZWZpbmVkKE1TX1dJTkRPV1MpICovCisKKwogCiAjaWZkZWYgSEFWRV9TWU1MSU5LCi1QeURvY19TVFJWQVIocG9zaXhfc3ltbGlua19fZG9jX18sCi0ic3ltbGluayhzcmMsIGRzdCwgdGFyZ2V0X2lzX2RpcmVjdG9yeT1GYWxzZSwgKiwgZGlyX2ZkPU5vbmUpXG5cblwKLUNyZWF0ZSBhIHN5bWJvbGljIGxpbmsgcG9pbnRpbmcgdG8gc3JjIG5hbWVkIGRzdC5cblxuXAotdGFyZ2V0X2lzX2RpcmVjdG9yeSBpcyByZXF1aXJlZCBvbiBXaW5kb3dzIGlmIHRoZSB0YXJnZXQgaXMgdG8gYmVcblwKLSAgaW50ZXJwcmV0ZWQgYXMgYSBkaXJlY3RvcnkuICAoT24gV2luZG93cywgc3ltbGluayByZXF1aXJlc1xuXAotICBXaW5kb3dzIDYuMCBvciBncmVhdGVyLCBhbmQgcmFpc2VzIGEgTm90SW1wbGVtZW50ZWRFcnJvciBvdGhlcndpc2UuKVxuXAotICB0YXJnZXRfaXNfZGlyZWN0b3J5IGlzIGlnbm9yZWQgb24gbm9uLVdpbmRvd3MgcGxhdGZvcm1zLlxuXAotXG5cCi1JZiBkaXJfZmQgaXMgbm90IE5vbmUsIGl0IHNob3VsZCBiZSBhIGZpbGUgZGVzY3JpcHRvciBvcGVuIHRvIGEgZGlyZWN0b3J5LFxuXAotICBhbmQgcGF0aCBzaG91bGQgYmUgcmVsYXRpdmU7IHBhdGggd2lsbCB0aGVuIGJlIHJlbGF0aXZlIHRvIHRoYXQgZGlyZWN0b3J5LlxuXAotZGlyX2ZkIG1heSBub3QgYmUgaW1wbGVtZW50ZWQgb24geW91ciBwbGF0Zm9ybS5cblwKLSAgSWYgaXQgaXMgdW5hdmFpbGFibGUsIHVzaW5nIGl0IHdpbGwgcmFpc2UgYSBOb3RJbXBsZW1lbnRlZEVycm9yLiIpOwogCiAjaWYgZGVmaW5lZChNU19XSU5ET1dTKQogCkBAIC03MzAyLDE4OSArMTAwNjAsMTQ4IEBACiAgICAgICAgICYmIHNyY19pbmZvLmR3RmlsZUF0dHJpYnV0ZXMgJiBGSUxFX0FUVFJJQlVURV9ESVJFQ1RPUlkKICAgICApOwogfQotCiAjZW5kaWYKIAorCisvKltjbGluaWMgaW5wdXRdCitvcy5zeW1saW5rCisgICAgc3JjOiBwYXRoX3QKKyAgICBkc3Q6IHBhdGhfdAorICAgIHRhcmdldF9pc19kaXJlY3Rvcnk6IGJvb2wgPSBGYWxzZQorICAgICoKKyAgICBkaXJfZmQ6IGRpcl9mZChyZXF1aXJlcz0nc3ltbGlua2F0Jyk9Tm9uZQorCisjICJzeW1saW5rKHNyYywgZHN0LCB0YXJnZXRfaXNfZGlyZWN0b3J5PUZhbHNlLCAqLCBkaXJfZmQ9Tm9uZSlcblxuXAorCitDcmVhdGUgYSBzeW1ib2xpYyBsaW5rIHBvaW50aW5nIHRvIHNyYyBuYW1lZCBkc3QuCisKK3RhcmdldF9pc19kaXJlY3RvcnkgaXMgcmVxdWlyZWQgb24gV2luZG93cyBpZiB0aGUgdGFyZ2V0IGlzIHRvIGJlCisgIGludGVycHJldGVkIGFzIGEgZGlyZWN0b3J5LiAgKE9uIFdpbmRvd3MsIHN5bWxpbmsgcmVxdWlyZXMKKyAgV2luZG93cyA2LjAgb3IgZ3JlYXRlciwgYW5kIHJhaXNlcyBhIE5vdEltcGxlbWVudGVkRXJyb3Igb3RoZXJ3aXNlLikKKyAgdGFyZ2V0X2lzX2RpcmVjdG9yeSBpcyBpZ25vcmVkIG9uIG5vbi1XaW5kb3dzIHBsYXRmb3Jtcy4KKworSWYgZGlyX2ZkIGlzIG5vdCBOb25lLCBpdCBzaG91bGQgYmUgYSBmaWxlIGRlc2NyaXB0b3Igb3BlbiB0byBhIGRpcmVjdG9yeSwKKyAgYW5kIHBhdGggc2hvdWxkIGJlIHJlbGF0aXZlOyBwYXRoIHdpbGwgdGhlbiBiZSByZWxhdGl2ZSB0byB0aGF0IGRpcmVjdG9yeS4KK2Rpcl9mZCBtYXkgbm90IGJlIGltcGxlbWVudGVkIG9uIHlvdXIgcGxhdGZvcm0uCisgIElmIGl0IGlzIHVuYXZhaWxhYmxlLCB1c2luZyBpdCB3aWxsIHJhaXNlIGEgTm90SW1wbGVtZW50ZWRFcnJvci4KKworW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3Nfc3ltbGlua19fZG9jX18sCisic3ltbGluaygkbW9kdWxlLCAvLCBzcmMsIGRzdCwgdGFyZ2V0X2lzX2RpcmVjdG9yeT1GYWxzZSwgKiwgZGlyX2ZkPU5vbmUpXG4iCisiLS1cbiIKKyJcbiIKKyJDcmVhdGUgYSBzeW1ib2xpYyBsaW5rIHBvaW50aW5nIHRvIHNyYyBuYW1lZCBkc3QuXG4iCisiXG4iCisidGFyZ2V0X2lzX2RpcmVjdG9yeSBpcyByZXF1aXJlZCBvbiBXaW5kb3dzIGlmIHRoZSB0YXJnZXQgaXMgdG8gYmVcbiIKKyIgIGludGVycHJldGVkIGFzIGEgZGlyZWN0b3J5LiAgKE9uIFdpbmRvd3MsIHN5bWxpbmsgcmVxdWlyZXNcbiIKKyIgIFdpbmRvd3MgNi4wIG9yIGdyZWF0ZXIsIGFuZCByYWlzZXMgYSBOb3RJbXBsZW1lbnRlZEVycm9yIG90aGVyd2lzZS4pXG4iCisiICB0YXJnZXRfaXNfZGlyZWN0b3J5IGlzIGlnbm9yZWQgb24gbm9uLVdpbmRvd3MgcGxhdGZvcm1zLlxuIgorIlxuIgorIklmIGRpcl9mZCBpcyBub3QgTm9uZSwgaXQgc2hvdWxkIGJlIGEgZmlsZSBkZXNjcmlwdG9yIG9wZW4gdG8gYSBkaXJlY3RvcnksXG4iCisiICBhbmQgcGF0aCBzaG91bGQgYmUgcmVsYXRpdmU7IHBhdGggd2lsbCB0aGVuIGJlIHJlbGF0aXZlIHRvIHRoYXQgZGlyZWN0b3J5LlxuIgorImRpcl9mZCBtYXkgbm90IGJlIGltcGxlbWVudGVkIG9uIHlvdXIgcGxhdGZvcm0uXG4iCisiICBJZiBpdCBpcyB1bmF2YWlsYWJsZSwgdXNpbmcgaXQgd2lsbCByYWlzZSBhIE5vdEltcGxlbWVudGVkRXJyb3IuIik7CisKKyNkZWZpbmUgT1NfU1lNTElOS19NRVRIT0RERUYgICAgXAorICAgIHsic3ltbGluayIsIChQeUNGdW5jdGlvbilvc19zeW1saW5rLCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgb3Nfc3ltbGlua19fZG9jX199LAorCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfc3ltbGluayhQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCitvc19zeW1saW5rX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgcGF0aF90ICpzcmMsIHBhdGhfdCAqZHN0LCBpbnQgdGFyZ2V0X2lzX2RpcmVjdG9yeSwgaW50IGRpcl9mZCk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19zeW1saW5rKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQogewotICAgIHBhdGhfdCBzcmM7Ci0gICAgcGF0aF90IGRzdDsKLSAgICBpbnQgZGlyX2ZkID0gREVGQVVMVF9ESVJfRkQ7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgc3RhdGljIGNoYXIgKl9rZXl3b3Jkc1tdID0geyJzcmMiLCAiZHN0IiwgInRhcmdldF9pc19kaXJlY3RvcnkiLCAiZGlyX2ZkIiwgTlVMTH07CisgICAgcGF0aF90IHNyYyA9IFBBVEhfVF9JTklUSUFMSVpFKCJzeW1saW5rIiwgInNyYyIsIDAsIDApOworICAgIHBhdGhfdCBkc3QgPSBQQVRIX1RfSU5JVElBTElaRSgic3ltbGluayIsICJkc3QiLCAwLCAwKTsKICAgICBpbnQgdGFyZ2V0X2lzX2RpcmVjdG9yeSA9IDA7Ci0gICAgc3RhdGljIGNoYXIgKmtleXdvcmRzW10gPSB7InNyYyIsICJkc3QiLCAidGFyZ2V0X2lzX2RpcmVjdG9yeSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRpcl9mZCIsIE5VTEx9OwotICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWU7CisgICAgaW50IGRpcl9mZCA9IERFRkFVTFRfRElSX0ZEOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLAorICAgICAgICAiTyZPJnxwJE8mOnN5bWxpbmsiLCBfa2V5d29yZHMsCisgICAgICAgIHBhdGhfY29udmVydGVyLCAmc3JjLCBwYXRoX2NvbnZlcnRlciwgJmRzdCwgJnRhcmdldF9pc19kaXJlY3RvcnksIFNZTUxJTktBVF9ESVJfRkRfQ09OVkVSVEVSLCAmZGlyX2ZkKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IG9zX3N5bWxpbmtfaW1wbChtb2R1bGUsICZzcmMsICZkc3QsIHRhcmdldF9pc19kaXJlY3RvcnksIGRpcl9mZCk7CisKK2V4aXQ6CisgICAgLyogQ2xlYW51cCBmb3Igc3JjICovCisgICAgcGF0aF9jbGVhbnVwKCZzcmMpOworICAgIC8qIENsZWFudXAgZm9yIGRzdCAqLworICAgIHBhdGhfY2xlYW51cCgmZHN0KTsKKworICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19zeW1saW5rX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgcGF0aF90ICpzcmMsIHBhdGhfdCAqZHN0LCBpbnQgdGFyZ2V0X2lzX2RpcmVjdG9yeSwgaW50IGRpcl9mZCkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD0xYTMxZTZkODhhYWZlOWI2IGlucHV0PWU4MjBlYzQ0NzI1NDdiYzNdKi8KK3sKICNpZmRlZiBNU19XSU5ET1dTCiAgICAgRFdPUkQgcmVzdWx0OwogI2Vsc2UKICAgICBpbnQgcmVzdWx0OwogI2VuZGlmCiAKLSAgICBtZW1zZXQoJnNyYywgMCwgc2l6ZW9mKHNyYykpOwotICAgIHNyYy5mdW5jdGlvbl9uYW1lID0gInN5bWxpbmsiOwotICAgIHNyYy5hcmd1bWVudF9uYW1lID0gInNyYyI7Ci0gICAgbWVtc2V0KCZkc3QsIDAsIHNpemVvZihkc3QpKTsKLSAgICBkc3QuZnVuY3Rpb25fbmFtZSA9ICJzeW1saW5rIjsKLSAgICBkc3QuYXJndW1lbnRfbmFtZSA9ICJkc3QiOwotCiAjaWZkZWYgTVNfV0lORE9XUwogICAgIGlmICghY2hlY2tfQ3JlYXRlU3ltYm9saWNMaW5rKCkpIHsKICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX05vdEltcGxlbWVudGVkRXJyb3IsCiAgICAgICAgICAgICAiQ3JlYXRlU3ltYm9saWNMaW5rIGZ1bmN0aW9ucyBub3QgZm91bmQiKTsKLSAgICAgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgICAgIH0KICAgICBpZiAoIXdpbjMyX2Nhbl9zeW1saW5rKSB7CiAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19PU0Vycm9yLCAic3ltYm9saWMgbGluayBwcml2aWxlZ2Ugbm90IGhlbGQiKTsKLSAgICAgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgICAgIH0KICNlbmRpZgogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLCAiTyZPJnxpJE8mOnN5bWxpbmsiLAotICAgICAgICAgICAga2V5d29yZHMsCi0gICAgICAgICAgICBwYXRoX2NvbnZlcnRlciwgJnNyYywKLSAgICAgICAgICAgIHBhdGhfY29udmVydGVyLCAmZHN0LAotICAgICAgICAgICAgJnRhcmdldF9pc19kaXJlY3RvcnksCi0jaWZkZWYgSEFWRV9TWU1MSU5LQVQKLSAgICAgICAgICAgIGRpcl9mZF9jb252ZXJ0ZXIsICZkaXJfZmQKLSNlbHNlCi0gICAgICAgICAgICBkaXJfZmRfdW5hdmFpbGFibGUsICZkaXJfZmQKLSNlbmRpZgotICAgICAgICAgICAgKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0KLSAgICBpZiAoKHNyYy5uYXJyb3cgJiYgZHN0LndpZGUpIHx8IChzcmMud2lkZSAmJiBkc3QubmFycm93KSkgeworICAgIGlmICgoc3JjLT5uYXJyb3cgJiYgZHN0LT53aWRlKSB8fCAoc3JjLT53aWRlICYmIGRzdC0+bmFycm93KSkgewogICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwKICAgICAgICAgICAgICJzeW1saW5rOiBzcmMgYW5kIGRzdCBtdXN0IGJlIHRoZSBzYW1lIHR5cGUiKTsKLSAgICAgICAgcmV0dXJuX3ZhbHVlID0gTlVMTDsKLSAgICAgICAgZ290byBleGl0OworICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CiAKICNpZmRlZiBNU19XSU5ET1dTCiAKICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCi0gICAgaWYgKGRzdC53aWRlKSB7CisgICAgaWYgKGRzdC0+d2lkZSkgewogICAgICAgICAvKiBpZiBzcmMgaXMgYSBkaXJlY3RvcnksIGVuc3VyZSB0YXJnZXRfaXNfZGlyZWN0b3J5PT0xICovCi0gICAgICAgIHRhcmdldF9pc19kaXJlY3RvcnkgfD0gX2NoZWNrX2Rpclcoc3JjLndpZGUsIGRzdC53aWRlKTsKLSAgICAgICAgcmVzdWx0ID0gUHlfQ3JlYXRlU3ltYm9saWNMaW5rVyhkc3Qud2lkZSwgc3JjLndpZGUsCisgICAgICAgIHRhcmdldF9pc19kaXJlY3RvcnkgfD0gX2NoZWNrX2Rpclcoc3JjLT53aWRlLCBkc3QtPndpZGUpOworICAgICAgICByZXN1bHQgPSBQeV9DcmVhdGVTeW1ib2xpY0xpbmtXKGRzdC0+d2lkZSwgc3JjLT53aWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldF9pc19kaXJlY3RvcnkpOwogICAgIH0KICAgICBlbHNlIHsKICAgICAgICAgLyogaWYgc3JjIGlzIGEgZGlyZWN0b3J5LCBlbnN1cmUgdGFyZ2V0X2lzX2RpcmVjdG9yeT09MSAqLwotICAgICAgICB0YXJnZXRfaXNfZGlyZWN0b3J5IHw9IF9jaGVja19kaXJBKHNyYy5uYXJyb3csIGRzdC5uYXJyb3cpOwotICAgICAgICByZXN1bHQgPSBQeV9DcmVhdGVTeW1ib2xpY0xpbmtBKGRzdC5uYXJyb3csIHNyYy5uYXJyb3csCisgICAgICAgIHRhcmdldF9pc19kaXJlY3RvcnkgfD0gX2NoZWNrX2RpckEoc3JjLT5uYXJyb3csIGRzdC0+bmFycm93KTsKKyAgICAgICAgcmVzdWx0ID0gUHlfQ3JlYXRlU3ltYm9saWNMaW5rQShkc3QtPm5hcnJvdywgc3JjLT5uYXJyb3csCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0X2lzX2RpcmVjdG9yeSk7CiAgICAgfQogICAgIFB5X0VORF9BTExPV19USFJFQURTCiAKLSAgICBpZiAoIXJlc3VsdCkgewotICAgICAgICByZXR1cm5fdmFsdWUgPSBwYXRoX2Vycm9yMigmc3JjLCAmZHN0KTsKLSAgICAgICAgZ290byBleGl0OwotICAgIH0KKyAgICBpZiAoIXJlc3VsdCkKKyAgICAgICAgcmV0dXJuIHBhdGhfZXJyb3IyKHNyYywgZHN0KTsKIAogI2Vsc2UKIAogICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKICNpZiBIQVZFX1NZTUxJTktBVAogICAgIGlmIChkaXJfZmQgIT0gREVGQVVMVF9ESVJfRkQpCi0gICAgICAgIHJlc3VsdCA9IHN5bWxpbmthdChzcmMubmFycm93LCBkaXJfZmQsIGRzdC5uYXJyb3cpOworICAgICAgICByZXN1bHQgPSBzeW1saW5rYXQoc3JjLT5uYXJyb3csIGRpcl9mZCwgZHN0LT5uYXJyb3cpOwogICAgIGVsc2UKICNlbmRpZgotICAgICAgICByZXN1bHQgPSBzeW1saW5rKHNyYy5uYXJyb3csIGRzdC5uYXJyb3cpOworICAgICAgICByZXN1bHQgPSBzeW1saW5rKHNyYy0+bmFycm93LCBkc3QtPm5hcnJvdyk7CiAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKIAotICAgIGlmIChyZXN1bHQpIHsKLSAgICAgICAgcmV0dXJuX3ZhbHVlID0gcGF0aF9lcnJvcjIoJnNyYywgJmRzdCk7Ci0gICAgICAgIGdvdG8gZXhpdDsKLSAgICB9CisgICAgaWYgKHJlc3VsdCkKKyAgICAgICAgcmV0dXJuIHBhdGhfZXJyb3IyKHNyYywgZHN0KTsKICNlbmRpZgogCi0gICAgcmV0dXJuX3ZhbHVlID0gUHlfTm9uZTsKLSAgICBQeV9JTkNSRUYoUHlfTm9uZSk7Ci0gICAgZ290byBleGl0OyAvKiBzaWxlbmNlICJ1bnVzZWQgbGFiZWwiIHdhcm5pbmcgKi8KLWV4aXQ6Ci0gICAgcGF0aF9jbGVhbnVwKCZzcmMpOwotICAgIHBhdGhfY2xlYW51cCgmZHN0KTsKLSAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworICAgIFB5X1JFVFVSTl9OT05FOwogfQotCiAjZW5kaWYgLyogSEFWRV9TWU1MSU5LICovCiAKIAotI2lmICFkZWZpbmVkKEhBVkVfUkVBRExJTkspICYmIGRlZmluZWQoTVNfV0lORE9XUykKLQotc3RhdGljIFB5T2JqZWN0ICoKLXdpbl9yZWFkbGluayhQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCi17Ci0gICAgd2NoYXJfdCAqcGF0aDsKLSAgICBEV09SRCBuX2J5dGVzX3JldHVybmVkOwotICAgIERXT1JEIGlvX3Jlc3VsdDsKLSAgICBQeU9iamVjdCAqcG8sICpyZXN1bHQ7Ci0gICAgICAgIGludCBkaXJfZmQ7Ci0gICAgSEFORExFIHJlcGFyc2VfcG9pbnRfaGFuZGxlOwotCi0gICAgY2hhciB0YXJnZXRfYnVmZmVyW01BWElNVU1fUkVQQVJTRV9EQVRBX0JVRkZFUl9TSVpFXTsKLSAgICBSRVBBUlNFX0RBVEFfQlVGRkVSICpyZGIgPSAoUkVQQVJTRV9EQVRBX0JVRkZFUiAqKXRhcmdldF9idWZmZXI7Ci0gICAgd2NoYXJfdCAqcHJpbnRfbmFtZTsKLQotICAgIHN0YXRpYyBjaGFyICprZXl3b3Jkc1tdID0geyJwYXRoIiwgImRpcl9mZCIsIE5VTEx9OwotCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLCAiVXwkTyY6cmVhZGxpbmsiLCBrZXl3b3JkcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgJnBvLAotICAgICAgICAgICAgICAgICAgICAgICAgICBkaXJfZmRfdW5hdmFpbGFibGUsICZkaXJfZmQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0KLSAgICBwYXRoID0gUHlVbmljb2RlX0FzVW5pY29kZShwbyk7Ci0gICAgaWYgKHBhdGggPT0gTlVMTCkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0KLSAgICAvKiBGaXJzdCBnZXQgYSBoYW5kbGUgdG8gdGhlIHJlcGFyc2UgcG9pbnQgKi8KLSAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCi0gICAgcmVwYXJzZV9wb2ludF9oYW5kbGUgPSBDcmVhdGVGaWxlVygKLSAgICAgICAgcGF0aCwKLSAgICAgICAgMCwKLSAgICAgICAgMCwKLSAgICAgICAgMCwKLSAgICAgICAgT1BFTl9FWElTVElORywKLSAgICAgICAgRklMRV9GTEFHX09QRU5fUkVQQVJTRV9QT0lOVHxGSUxFX0ZMQUdfQkFDS1VQX1NFTUFOVElDUywKLSAgICAgICAgMCk7Ci0gICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKLQotICAgIGlmIChyZXBhcnNlX3BvaW50X2hhbmRsZT09SU5WQUxJRF9IQU5ETEVfVkFMVUUpCi0gICAgICAgIHJldHVybiB3aW4zMl9lcnJvcl9vYmplY3QoInJlYWRsaW5rIiwgcG8pOwotCi0gICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwotICAgIC8qIE5ldyBjYWxsIERldmljZUlvQ29udHJvbCB0byByZWFkIHRoZSByZXBhcnNlIHBvaW50ICovCi0gICAgaW9fcmVzdWx0ID0gRGV2aWNlSW9Db250cm9sKAotICAgICAgICByZXBhcnNlX3BvaW50X2hhbmRsZSwKLSAgICAgICAgRlNDVExfR0VUX1JFUEFSU0VfUE9JTlQsCi0gICAgICAgIDAsIDAsIC8qIGluIGJ1ZmZlciAqLwotICAgICAgICB0YXJnZXRfYnVmZmVyLCBzaXplb2YodGFyZ2V0X2J1ZmZlciksCi0gICAgICAgICZuX2J5dGVzX3JldHVybmVkLAotICAgICAgICAwIC8qIHdlJ3JlIG5vdCB1c2luZyBPVkVSTEFQUEVEX0lPICovCi0gICAgICAgICk7Ci0gICAgQ2xvc2VIYW5kbGUocmVwYXJzZV9wb2ludF9oYW5kbGUpOwotICAgIFB5X0VORF9BTExPV19USFJFQURTCi0KLSAgICBpZiAoaW9fcmVzdWx0PT0wKQotICAgICAgICByZXR1cm4gd2luMzJfZXJyb3Jfb2JqZWN0KCJyZWFkbGluayIsIHBvKTsKLQotICAgIGlmIChyZGItPlJlcGFyc2VUYWcgIT0gSU9fUkVQQVJTRV9UQUdfU1lNTElOSykKLSAgICB7Ci0gICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLAotICAgICAgICAgICAgICAgICJub3QgYSBzeW1ib2xpYyBsaW5rIik7Ci0gICAgICAgIHJldHVybiBOVUxMOwotICAgIH0KLSAgICBwcmludF9uYW1lID0gcmRiLT5TeW1ib2xpY0xpbmtSZXBhcnNlQnVmZmVyLlBhdGhCdWZmZXIgKwotICAgICAgICAgICAgICAgICByZGItPlN5bWJvbGljTGlua1JlcGFyc2VCdWZmZXIuUHJpbnROYW1lT2Zmc2V0OwotCi0gICAgcmVzdWx0ID0gUHlVbmljb2RlX0Zyb21XaWRlQ2hhcihwcmludF9uYW1lLAotICAgICAgICAgICAgICAgICAgICByZGItPlN5bWJvbGljTGlua1JlcGFyc2VCdWZmZXIuUHJpbnROYW1lTGVuZ3RoLzIpOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLSNlbmRpZiAvKiAhZGVmaW5lZChIQVZFX1JFQURMSU5LKSAmJiBkZWZpbmVkKE1TX1dJTkRPV1MpICovCiAKIAogc3RhdGljIFB5U3RydWN0U2VxdWVuY2VfRmllbGQgdGltZXNfcmVzdWx0X2ZpZWxkc1tdID0gewpAQCAtNzU1MCwxNSArMTAyNjcsNDggQEAKICAgICByZXR1cm4gdmFsdWU7CiB9CiAKLVB5RG9jX1NUUlZBUihwb3NpeF90aW1lc19fZG9jX18sCi0idGltZXMoKSAtPiB0aW1lc19yZXN1bHRcblxuXAotUmV0dXJuIGFuIG9iamVjdCBjb250YWluaW5nIGZsb2F0aW5nIHBvaW50IG51bWJlcnMgaW5kaWNhdGluZyBwcm9jZXNzXG5cCi10aW1lcy4gIFRoZSBvYmplY3QgYmVoYXZlcyBsaWtlIGEgbmFtZWQgdHVwbGUgd2l0aCB0aGVzZSBmaWVsZHM6XG5cCi0gICh1dGltZSwgc3RpbWUsIGN1dGltZSwgY3N0aW1lLCBlbGFwc2VkX3RpbWUpIik7CiAKLSNpZiBkZWZpbmVkKE1TX1dJTkRPV1MpCisjaWZuZGVmIE1TX1dJTkRPV1MKKyNkZWZpbmUgTkVFRF9USUNLU19QRVJfU0VDT05ECitzdGF0aWMgbG9uZyB0aWNrc19wZXJfc2Vjb25kID0gLTE7CisjZW5kaWYgLyogTVNfV0lORE9XUyAqLworCisvKltjbGluaWMgaW5wdXRdCitvcy50aW1lcworCitSZXR1cm4gYSBjb2xsZWN0aW9uIGNvbnRhaW5pbmcgcHJvY2VzcyB0aW1pbmcgaW5mb3JtYXRpb24uCisKK1RoZSBvYmplY3QgcmV0dXJuZWQgYmVoYXZlcyBsaWtlIGEgbmFtZWQgdHVwbGUgd2l0aCB0aGVzZSBmaWVsZHM6CisgICh1dGltZSwgc3RpbWUsIGN1dGltZSwgY3N0aW1lLCBlbGFwc2VkX3RpbWUpCitBbGwgZmllbGRzIGFyZSBmbG9hdGluZyBwb2ludCBudW1iZXJzLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3NfdGltZXNfX2RvY19fLAorInRpbWVzKCRtb2R1bGUsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gYSBjb2xsZWN0aW9uIGNvbnRhaW5pbmcgcHJvY2VzcyB0aW1pbmcgaW5mb3JtYXRpb24uXG4iCisiXG4iCisiVGhlIG9iamVjdCByZXR1cm5lZCBiZWhhdmVzIGxpa2UgYSBuYW1lZCB0dXBsZSB3aXRoIHRoZXNlIGZpZWxkczpcbiIKKyIgICh1dGltZSwgc3RpbWUsIGN1dGltZSwgY3N0aW1lLCBlbGFwc2VkX3RpbWUpXG4iCisiQWxsIGZpZWxkcyBhcmUgZmxvYXRpbmcgcG9pbnQgbnVtYmVycy4iKTsKKworI2RlZmluZSBPU19USU1FU19NRVRIT0RERUYgICAgXAorICAgIHsidGltZXMiLCAoUHlDRnVuY3Rpb24pb3NfdGltZXMsIE1FVEhfTk9BUkdTLCBvc190aW1lc19fZG9jX199LAorCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfdGltZXMoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpub2FyZ3MpCitvc190aW1lc19pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUpOworCitzdGF0aWMgUHlPYmplY3QgKgorb3NfdGltZXMoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKlB5X1VOVVNFRChpZ25vcmVkKSkKK3sKKyAgICByZXR1cm4gb3NfdGltZXNfaW1wbChtb2R1bGUpOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3NfdGltZXNfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWI4Njg5NmQwMzFhOWI3NjggaW5wdXQ9MmJmOWRmM2Q2YWIyZTQ4Yl0qLworI2lmZGVmIE1TX1dJTkRPV1MKIHsKICAgICBGSUxFVElNRSBjcmVhdGUsIGV4aXQsIGtlcm5lbCwgdXNlcjsKICAgICBIQU5ETEUgaFByb2M7CkBAIC03NTc4LDEyICsxMDMyOCwxMCBAQAogICAgICAgICAoZG91YmxlKTAsCiAgICAgICAgIChkb3VibGUpMCk7CiB9Ci0jZWxzZSAvKiBOb3QgV2luZG93cyAqLwotI2RlZmluZSBORUVEX1RJQ0tTX1BFUl9TRUNPTkQKLXN0YXRpYyBsb25nIHRpY2tzX3Blcl9zZWNvbmQgPSAtMTsKLXN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF90aW1lcyhQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKm5vYXJncykKKyNlbHNlIC8qIE1TX1dJTkRPV1MgKi8KIHsKKworCiAgICAgc3RydWN0IHRtcyB0OwogICAgIGNsb2NrX3QgYzsKICAgICBlcnJubyA9IDA7CkBAIC03NTk3LDIzICsxMDM0NSw1MyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgIChkb3VibGUpdC50bXNfY3N0aW1lIC8gdGlja3NfcGVyX3NlY29uZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAoZG91YmxlKWMgLyB0aWNrc19wZXJfc2Vjb25kKTsKIH0KLSNlbmRpZgotCisjZW5kaWYgLyogTVNfV0lORE9XUyAqLwogI2VuZGlmIC8qIEhBVkVfVElNRVMgKi8KIAogCiAjaWZkZWYgSEFWRV9HRVRTSUQKLVB5RG9jX1NUUlZBUihwb3NpeF9nZXRzaWRfX2RvY19fLAotImdldHNpZChwaWQpIC0+IHNpZFxuXG5cCi1DYWxsIHRoZSBzeXN0ZW0gY2FsbCBnZXRzaWQoKS4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK29zLmdldHNpZAorCisgICAgcGlkOiBwaWRfdAorICAgIC8KKworQ2FsbCB0aGUgc3lzdGVtIGNhbGwgZ2V0c2lkKHBpZCkgYW5kIHJldHVybiB0aGUgcmVzdWx0LgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3NfZ2V0c2lkX19kb2NfXywKKyJnZXRzaWQoJG1vZHVsZSwgcGlkLCAvKVxuIgorIi0tXG4iCisiXG4iCisiQ2FsbCB0aGUgc3lzdGVtIGNhbGwgZ2V0c2lkKHBpZCkgYW5kIHJldHVybiB0aGUgcmVzdWx0LiIpOworCisjZGVmaW5lIE9TX0dFVFNJRF9NRVRIT0RERUYgICAgXAorICAgIHsiZ2V0c2lkIiwgKFB5Q0Z1bmN0aW9uKW9zX2dldHNpZCwgTUVUSF9WQVJBUkdTLCBvc19nZXRzaWRfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X2dldHNpZChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitvc19nZXRzaWRfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBwaWRfdCBwaWQpOworCitzdGF0aWMgUHlPYmplY3QgKgorb3NfZ2V0c2lkKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQogeworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOwogICAgIHBpZF90IHBpZDsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAiIiBfUHlfUEFSU0VfUElEICI6Z2V0c2lkIiwKKyAgICAgICAgJnBpZCkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBvc19nZXRzaWRfaW1wbChtb2R1bGUsIHBpZCk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX2dldHNpZF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIHBpZF90IHBpZCkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1lYTgzOTBmMzk1ZjRlMGUxIGlucHV0PWVlYjJiOTIzYTMwY2UwNGVdKi8KK3sKICAgICBpbnQgc2lkOwotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCBfUHlfUEFSU0VfUElEICI6Z2V0c2lkIiwgJnBpZCkpCi0gICAgICAgIHJldHVybiBOVUxMOwogICAgIHNpZCA9IGdldHNpZChwaWQpOwogICAgIGlmIChzaWQgPCAwKQogICAgICAgICByZXR1cm4gcG9zaXhfZXJyb3IoKTsKQEAgLTc2MjMsNTMgKzEwNDAxLDEzNSBAQAogCiAKICNpZmRlZiBIQVZFX1NFVFNJRAotUHlEb2NfU1RSVkFSKHBvc2l4X3NldHNpZF9fZG9jX18sCi0ic2V0c2lkKClcblxuXAotQ2FsbCB0aGUgc3lzdGVtIGNhbGwgc2V0c2lkKCkuIik7CisvKltjbGluaWMgaW5wdXRdCitvcy5zZXRzaWQKKworQ2FsbCB0aGUgc3lzdGVtIGNhbGwgc2V0c2lkKCkuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19zZXRzaWRfX2RvY19fLAorInNldHNpZCgkbW9kdWxlLCAvKVxuIgorIi0tXG4iCisiXG4iCisiQ2FsbCB0aGUgc3lzdGVtIGNhbGwgc2V0c2lkKCkuIik7CisKKyNkZWZpbmUgT1NfU0VUU0lEX01FVEhPRERFRiAgICBcCisgICAgeyJzZXRzaWQiLCAoUHlDRnVuY3Rpb24pb3Nfc2V0c2lkLCBNRVRIX05PQVJHUywgb3Nfc2V0c2lkX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9zZXRzaWQoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpub2FyZ3MpCitvc19zZXRzaWRfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3NldHNpZChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqUHlfVU5VU0VEKGlnbm9yZWQpKQoreworICAgIHJldHVybiBvc19zZXRzaWRfaW1wbChtb2R1bGUpOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3Nfc2V0c2lkX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD0yYTlhMTQzNWQ4ZDc2NGQ1IGlucHV0PTVmZmY0NTg1OGUyZjA3NzZdKi8KIHsKICAgICBpZiAoc2V0c2lkKCkgPCAwKQogICAgICAgICByZXR1cm4gcG9zaXhfZXJyb3IoKTsKLSAgICBQeV9JTkNSRUYoUHlfTm9uZSk7Ci0gICAgcmV0dXJuIFB5X05vbmU7CisgICAgUHlfUkVUVVJOX05PTkU7CiB9CiAjZW5kaWYgLyogSEFWRV9TRVRTSUQgKi8KIAorCiAjaWZkZWYgSEFWRV9TRVRQR0lECi1QeURvY19TVFJWQVIocG9zaXhfc2V0cGdpZF9fZG9jX18sCi0ic2V0cGdpZChwaWQsIHBncnApXG5cblwKLUNhbGwgdGhlIHN5c3RlbSBjYWxsIHNldHBnaWQoKS4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK29zLnNldHBnaWQKKworICAgIHBpZDogcGlkX3QKKyAgICBwZ3JwOiBwaWRfdAorICAgIC8KKworQ2FsbCB0aGUgc3lzdGVtIGNhbGwgc2V0cGdpZChwaWQsIHBncnApLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3Nfc2V0cGdpZF9fZG9jX18sCisic2V0cGdpZCgkbW9kdWxlLCBwaWQsIHBncnAsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJDYWxsIHRoZSBzeXN0ZW0gY2FsbCBzZXRwZ2lkKHBpZCwgcGdycCkuIik7CisKKyNkZWZpbmUgT1NfU0VUUEdJRF9NRVRIT0RERUYgICAgXAorICAgIHsic2V0cGdpZCIsIChQeUNGdW5jdGlvbilvc19zZXRwZ2lkLCBNRVRIX1ZBUkFSR1MsIG9zX3NldHBnaWRfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X3NldHBnaWQoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorb3Nfc2V0cGdpZF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIHBpZF90IHBpZCwgcGlkX3QgcGdycCk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19zZXRwZ2lkKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQogeworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOwogICAgIHBpZF90IHBpZDsKLSAgICBpbnQgcGdycDsKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgX1B5X1BBUlNFX1BJRCAiaTpzZXRwZ2lkIiwgJnBpZCwgJnBncnApKQotICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBwaWRfdCBwZ3JwOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICIiIF9QeV9QQVJTRV9QSUQgIiIgX1B5X1BBUlNFX1BJRCAiOnNldHBnaWQiLAorICAgICAgICAmcGlkLCAmcGdycCkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBvc19zZXRwZ2lkX2ltcGwobW9kdWxlLCBwaWQsIHBncnApOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19zZXRwZ2lkX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgcGlkX3QgcGlkLCBwaWRfdCBwZ3JwKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTdhZDc5YjcyNWY4OTBlMWYgaW5wdXQ9ZmNlYjM5NWVjYTU3MmUxYV0qLworewogICAgIGlmIChzZXRwZ2lkKHBpZCwgcGdycCkgPCAwKQogICAgICAgICByZXR1cm4gcG9zaXhfZXJyb3IoKTsKLSAgICBQeV9JTkNSRUYoUHlfTm9uZSk7Ci0gICAgcmV0dXJuIFB5X05vbmU7CisgICAgUHlfUkVUVVJOX05PTkU7CiB9CiAjZW5kaWYgLyogSEFWRV9TRVRQR0lEICovCiAKIAogI2lmZGVmIEhBVkVfVENHRVRQR1JQCi1QeURvY19TVFJWQVIocG9zaXhfdGNnZXRwZ3JwX19kb2NfXywKLSJ0Y2dldHBncnAoZmQpIC0+IHBnaWRcblxuXAotUmV0dXJuIHRoZSBwcm9jZXNzIGdyb3VwIGFzc29jaWF0ZWQgd2l0aCB0aGUgdGVybWluYWwgZ2l2ZW4gYnkgYSBmZC4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK29zLnRjZ2V0cGdycAorCisgICAgZmQ6IGludAorICAgIC8KKworUmV0dXJuIHRoZSBwcm9jZXNzIGdyb3VwIGFzc29jaWF0ZWQgd2l0aCB0aGUgdGVybWluYWwgc3BlY2lmaWVkIGJ5IGZkLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3NfdGNnZXRwZ3JwX19kb2NfXywKKyJ0Y2dldHBncnAoJG1vZHVsZSwgZmQsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gdGhlIHByb2Nlc3MgZ3JvdXAgYXNzb2NpYXRlZCB3aXRoIHRoZSB0ZXJtaW5hbCBzcGVjaWZpZWQgYnkgZmQuIik7CisKKyNkZWZpbmUgT1NfVENHRVRQR1JQX01FVEhPRERFRiAgICBcCisgICAgeyJ0Y2dldHBncnAiLCAoUHlDRnVuY3Rpb24pb3NfdGNnZXRwZ3JwLCBNRVRIX1ZBUkFSR1MsIG9zX3RjZ2V0cGdycF9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfdGNnZXRwZ3JwKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK29zX3RjZ2V0cGdycF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCBmZCk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc190Y2dldHBncnAoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCiB7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CiAgICAgaW50IGZkOwotICAgIHBpZF90IHBnaWQ7Ci0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJpOnRjZ2V0cGdycCIsICZmZCkpCi0gICAgICAgIHJldHVybiBOVUxMOwotICAgIHBnaWQgPSB0Y2dldHBncnAoZmQpOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICJpOnRjZ2V0cGdycCIsCisgICAgICAgICZmZCkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBvc190Y2dldHBncnBfaW1wbChtb2R1bGUsIGZkKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3NfdGNnZXRwZ3JwX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IGZkKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWFiY2Y1MmVkNGM4ZDIyY2IgaW5wdXQ9N2Y2YzE4ZWFjMTBhZGE4Nl0qLworeworICAgIHBpZF90IHBnaWQgPSB0Y2dldHBncnAoZmQpOwogICAgIGlmIChwZ2lkIDwgMCkKICAgICAgICAgcmV0dXJuIHBvc2l4X2Vycm9yKCk7CiAgICAgcmV0dXJuIFB5TG9uZ19Gcm9tUGlkKHBnaWQpOwpAQCAtNzY3OCwyMSArMTA1MzgsNTIgQEAKIAogCiAjaWZkZWYgSEFWRV9UQ1NFVFBHUlAKLVB5RG9jX1NUUlZBUihwb3NpeF90Y3NldHBncnBfX2RvY19fLAotInRjc2V0cGdycChmZCwgcGdpZClcblxuXAotU2V0IHRoZSBwcm9jZXNzIGdyb3VwIGFzc29jaWF0ZWQgd2l0aCB0aGUgdGVybWluYWwgZ2l2ZW4gYnkgYSBmZC4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK29zLnRjc2V0cGdycAorCisgICAgZmQ6IGludAorICAgIHBnaWQ6IHBpZF90CisgICAgLworCitTZXQgdGhlIHByb2Nlc3MgZ3JvdXAgYXNzb2NpYXRlZCB3aXRoIHRoZSB0ZXJtaW5hbCBzcGVjaWZpZWQgYnkgZmQuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc190Y3NldHBncnBfX2RvY19fLAorInRjc2V0cGdycCgkbW9kdWxlLCBmZCwgcGdpZCwgLylcbiIKKyItLVxuIgorIlxuIgorIlNldCB0aGUgcHJvY2VzcyBncm91cCBhc3NvY2lhdGVkIHdpdGggdGhlIHRlcm1pbmFsIHNwZWNpZmllZCBieSBmZC4iKTsKKworI2RlZmluZSBPU19UQ1NFVFBHUlBfTUVUSE9EREVGICAgIFwKKyAgICB7InRjc2V0cGdycCIsIChQeUNGdW5jdGlvbilvc190Y3NldHBncnAsIE1FVEhfVkFSQVJHUywgb3NfdGNzZXRwZ3JwX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF90Y3NldHBncnAoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorb3NfdGNzZXRwZ3JwX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IGZkLCBwaWRfdCBwZ2lkKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3Rjc2V0cGdycChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKIHsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKICAgICBpbnQgZmQ7CiAgICAgcGlkX3QgcGdpZDsKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgImkiIF9QeV9QQVJTRV9QSUQgIjp0Y3NldHBncnAiLCAmZmQsICZwZ2lkKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgImkiIF9QeV9QQVJTRV9QSUQgIjp0Y3NldHBncnAiLAorICAgICAgICAmZmQsICZwZ2lkKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IG9zX3Rjc2V0cGdycF9pbXBsKG1vZHVsZSwgZmQsIHBnaWQpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc190Y3NldHBncnBfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgZmQsIHBpZF90IHBnaWQpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9NzZmOWJiOGZkMDBmMjBmNSBpbnB1dD01YmRjOTk3YzZhNjE5MDIwXSovCit7CiAgICAgaWYgKHRjc2V0cGdycChmZCwgcGdpZCkgPCAwKQogICAgICAgICByZXR1cm4gcG9zaXhfZXJyb3IoKTsKLSAgICBQeV9JTkNSRUYoUHlfTm9uZSk7Ci0gICAgcmV0dXJuIFB5X05vbmU7CisgICAgUHlfUkVUVVJOX05PTkU7CiB9CiAjZW5kaWYgLyogSEFWRV9UQ1NFVFBHUlAgKi8KIApAQCAtNzcwMiwxMjEgKzEwNTkzLDIyNCBAQAogZXh0ZXJuIGludCBfUHlfb3Blbl9jbG9leGVjX3dvcmtzOwogI2VuZGlmCiAKLVB5RG9jX1NUUlZBUihwb3NpeF9vcGVuX19kb2NfXywKLSJvcGVuKHBhdGgsIGZsYWdzLCBtb2RlPTBvNzc3LCAqLCBkaXJfZmQ9Tm9uZSlcblxuXAotT3BlbiBhIGZpbGUgZm9yIGxvdyBsZXZlbCBJTy4gIFJldHVybnMgYSBmaWxlIGhhbmRsZSAoaW50ZWdlcikuXG5cCi1cblwKLUlmIGRpcl9mZCBpcyBub3QgTm9uZSwgaXQgc2hvdWxkIGJlIGEgZmlsZSBkZXNjcmlwdG9yIG9wZW4gdG8gYSBkaXJlY3RvcnksXG5cCi0gIGFuZCBwYXRoIHNob3VsZCBiZSByZWxhdGl2ZTsgcGF0aCB3aWxsIHRoZW4gYmUgcmVsYXRpdmUgdG8gdGhhdCBkaXJlY3RvcnkuXG5cCi1kaXJfZmQgbWF5IG5vdCBiZSBpbXBsZW1lbnRlZCBvbiB5b3VyIHBsYXRmb3JtLlxuXAotICBJZiBpdCBpcyB1bmF2YWlsYWJsZSwgdXNpbmcgaXQgd2lsbCByYWlzZSBhIE5vdEltcGxlbWVudGVkRXJyb3IuIik7CisKKy8qW2NsaW5pYyBpbnB1dF0KK29zLm9wZW4gLT4gaW50CisgICAgcGF0aDogcGF0aF90CisgICAgZmxhZ3M6IGludAorICAgIG1vZGU6IGludCA9IDBvNzc3CisgICAgKgorICAgIGRpcl9mZDogZGlyX2ZkKHJlcXVpcmVzPSdvcGVuYXQnKSA9IE5vbmUKKworIyAib3BlbihwYXRoLCBmbGFncywgbW9kZT0wbzc3NywgKiwgZGlyX2ZkPU5vbmUpXG5cblwKKworT3BlbiBhIGZpbGUgZm9yIGxvdyBsZXZlbCBJTy4gIFJldHVybnMgYSBmaWxlIGRlc2NyaXB0b3IgKGludGVnZXIpLgorCitJZiBkaXJfZmQgaXMgbm90IE5vbmUsIGl0IHNob3VsZCBiZSBhIGZpbGUgZGVzY3JpcHRvciBvcGVuIHRvIGEgZGlyZWN0b3J5LAorICBhbmQgcGF0aCBzaG91bGQgYmUgcmVsYXRpdmU7IHBhdGggd2lsbCB0aGVuIGJlIHJlbGF0aXZlIHRvIHRoYXQgZGlyZWN0b3J5LgorZGlyX2ZkIG1heSBub3QgYmUgaW1wbGVtZW50ZWQgb24geW91ciBwbGF0Zm9ybS4KKyAgSWYgaXQgaXMgdW5hdmFpbGFibGUsIHVzaW5nIGl0IHdpbGwgcmFpc2UgYSBOb3RJbXBsZW1lbnRlZEVycm9yLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3Nfb3Blbl9fZG9jX18sCisib3BlbigkbW9kdWxlLCAvLCBwYXRoLCBmbGFncywgbW9kZT01MTEsICosIGRpcl9mZD1Ob25lKVxuIgorIi0tXG4iCisiXG4iCisiT3BlbiBhIGZpbGUgZm9yIGxvdyBsZXZlbCBJTy4gIFJldHVybnMgYSBmaWxlIGRlc2NyaXB0b3IgKGludGVnZXIpLlxuIgorIlxuIgorIklmIGRpcl9mZCBpcyBub3QgTm9uZSwgaXQgc2hvdWxkIGJlIGEgZmlsZSBkZXNjcmlwdG9yIG9wZW4gdG8gYSBkaXJlY3RvcnksXG4iCisiICBhbmQgcGF0aCBzaG91bGQgYmUgcmVsYXRpdmU7IHBhdGggd2lsbCB0aGVuIGJlIHJlbGF0aXZlIHRvIHRoYXQgZGlyZWN0b3J5LlxuIgorImRpcl9mZCBtYXkgbm90IGJlIGltcGxlbWVudGVkIG9uIHlvdXIgcGxhdGZvcm0uXG4iCisiICBJZiBpdCBpcyB1bmF2YWlsYWJsZSwgdXNpbmcgaXQgd2lsbCByYWlzZSBhIE5vdEltcGxlbWVudGVkRXJyb3IuIik7CisKKyNkZWZpbmUgT1NfT1BFTl9NRVRIT0RERUYgICAgXAorICAgIHsib3BlbiIsIChQeUNGdW5jdGlvbilvc19vcGVuLCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgb3Nfb3Blbl9fZG9jX199LAorCitzdGF0aWMgaW50Citvc19vcGVuX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgcGF0aF90ICpwYXRoLCBpbnQgZmxhZ3MsIGludCBtb2RlLCBpbnQgZGlyX2ZkKTsKIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X29wZW4oUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQorb3Nfb3BlbihQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKIHsKLSAgICBwYXRoX3QgcGF0aDsKLSAgICBpbnQgZmxhZ3M7Ci0gICAgaW50IG1vZGUgPSAwNzc3OwotICAgIGludCBkaXJfZmQgPSBERUZBVUxUX0RJUl9GRDsKLSAgICBpbnQgZmQ7CiAgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7Ci0gICAgc3RhdGljIGNoYXIgKmtleXdvcmRzW10gPSB7InBhdGgiLCAiZmxhZ3MiLCAibW9kZSIsICJkaXJfZmQiLCBOVUxMfTsKKyAgICBzdGF0aWMgY2hhciAqX2tleXdvcmRzW10gPSB7InBhdGgiLCAiZmxhZ3MiLCAibW9kZSIsICJkaXJfZmQiLCBOVUxMfTsKKyAgICBwYXRoX3QgcGF0aCA9IFBBVEhfVF9JTklUSUFMSVpFKCJvcGVuIiwgInBhdGgiLCAwLCAwKTsKKyAgICBpbnQgZmxhZ3M7CisgICAgaW50IG1vZGUgPSA1MTE7CisgICAgaW50IGRpcl9mZCA9IERFRkFVTFRfRElSX0ZEOworICAgIGludCBfcmV0dXJuX3ZhbHVlOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLAorICAgICAgICAiTyZpfGkkTyY6b3BlbiIsIF9rZXl3b3JkcywKKyAgICAgICAgcGF0aF9jb252ZXJ0ZXIsICZwYXRoLCAmZmxhZ3MsICZtb2RlLCBPUEVOQVRfRElSX0ZEX0NPTlZFUlRFUiwgJmRpcl9mZCkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICBfcmV0dXJuX3ZhbHVlID0gb3Nfb3Blbl9pbXBsKG1vZHVsZSwgJnBhdGgsIGZsYWdzLCBtb2RlLCBkaXJfZmQpOworICAgIGlmICgoX3JldHVybl92YWx1ZSA9PSAtMSkgJiYgUHlFcnJfT2NjdXJyZWQoKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IFB5TG9uZ19Gcm9tTG9uZygobG9uZylfcmV0dXJuX3ZhbHVlKTsKKworZXhpdDoKKyAgICAvKiBDbGVhbnVwIGZvciBwYXRoICovCisgICAgcGF0aF9jbGVhbnVwKCZwYXRoKTsKKworICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBpbnQKK29zX29wZW5faW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBwYXRoX3QgKnBhdGgsIGludCBmbGFncywgaW50IG1vZGUsIGludCBkaXJfZmQpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9MDViNjhmYzRlZDVlMjljOSBpbnB1dD1hZDg2MjNiMjlhY2QyOTM0XSovCit7CisgICAgaW50IGZkOworICAgIGludCBhc3luY19lcnIgPSAwOworCiAjaWZkZWYgT19DTE9FWEVDCiAgICAgaW50ICphdG9taWNfZmxhZ193b3JrcyA9ICZfUHlfb3Blbl9jbG9leGVjX3dvcmtzOwogI2VsaWYgIWRlZmluZWQoTVNfV0lORE9XUykKICAgICBpbnQgKmF0b21pY19mbGFnX3dvcmtzID0gTlVMTDsKICNlbmRpZgogCi0gICAgbWVtc2V0KCZwYXRoLCAwLCBzaXplb2YocGF0aCkpOwotICAgIHBhdGguZnVuY3Rpb25fbmFtZSA9ICJvcGVuIjsKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsICJPJml8aSRPJjpvcGVuIiwga2V5d29yZHMsCi0gICAgICAgIHBhdGhfY29udmVydGVyLCAmcGF0aCwKLSAgICAgICAgJmZsYWdzLCAmbW9kZSwKLSNpZmRlZiBIQVZFX09QRU5BVAotICAgICAgICBkaXJfZmRfY29udmVydGVyLCAmZGlyX2ZkCi0jZWxzZQotICAgICAgICBkaXJfZmRfdW5hdmFpbGFibGUsICZkaXJfZmQKLSNlbmRpZgotICAgICAgICApKQotICAgICAgICByZXR1cm4gTlVMTDsKLQogI2lmZGVmIE1TX1dJTkRPV1MKICAgICBmbGFncyB8PSBPX05PSU5IRVJJVDsKICNlbGlmIGRlZmluZWQoT19DTE9FWEVDKQogICAgIGZsYWdzIHw9IE9fQ0xPRVhFQzsKICNlbmRpZgogCi0gICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUworICAgIGRvIHsKKyAgICAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwogI2lmZGVmIE1TX1dJTkRPV1MKLSAgICBpZiAocGF0aC53aWRlKQotICAgICAgICBmZCA9IF93b3BlbihwYXRoLndpZGUsIGZsYWdzLCBtb2RlKTsKLSAgICBlbHNlCisgICAgICAgIGlmIChwYXRoLT53aWRlKQorICAgICAgICAgICAgZmQgPSBfd29wZW4ocGF0aC0+d2lkZSwgZmxhZ3MsIG1vZGUpOworICAgICAgICBlbHNlCiAjZW5kaWYKICNpZmRlZiBIQVZFX09QRU5BVAotICAgIGlmIChkaXJfZmQgIT0gREVGQVVMVF9ESVJfRkQpCi0gICAgICAgIGZkID0gb3BlbmF0KGRpcl9mZCwgcGF0aC5uYXJyb3csIGZsYWdzLCBtb2RlKTsKLSAgICBlbHNlCisgICAgICAgIGlmIChkaXJfZmQgIT0gREVGQVVMVF9ESVJfRkQpCisgICAgICAgICAgICBmZCA9IG9wZW5hdChkaXJfZmQsIHBhdGgtPm5hcnJvdywgZmxhZ3MsIG1vZGUpOworICAgICAgICBlbHNlCiAjZW5kaWYKLSAgICAgICAgZmQgPSBvcGVuKHBhdGgubmFycm93LCBmbGFncywgbW9kZSk7Ci0gICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKKyAgICAgICAgICAgIGZkID0gb3BlbihwYXRoLT5uYXJyb3csIGZsYWdzLCBtb2RlKTsKKyAgICAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKKyAgICB9IHdoaWxlIChmZCA8IDAgJiYgZXJybm8gPT0gRUlOVFIgJiYgIShhc3luY19lcnIgPSBQeUVycl9DaGVja1NpZ25hbHMoKSkpOwogCiAgICAgaWYgKGZkID09IC0xKSB7Ci0gICAgICAgIFB5RXJyX1NldEZyb21FcnJub1dpdGhGaWxlbmFtZU9iamVjdChQeUV4Y19PU0Vycm9yLCBwYXRoLm9iamVjdCk7Ci0gICAgICAgIGdvdG8gZXhpdDsKKyAgICAgICAgaWYgKCFhc3luY19lcnIpCisgICAgICAgICAgICBQeUVycl9TZXRGcm9tRXJybm9XaXRoRmlsZW5hbWVPYmplY3QoUHlFeGNfT1NFcnJvciwgcGF0aC0+b2JqZWN0KTsKKyAgICAgICAgcmV0dXJuIC0xOwogICAgIH0KIAogI2lmbmRlZiBNU19XSU5ET1dTCiAgICAgaWYgKF9QeV9zZXRfaW5oZXJpdGFibGUoZmQsIDAsIGF0b21pY19mbGFnX3dvcmtzKSA8IDApIHsKICAgICAgICAgY2xvc2UoZmQpOwotICAgICAgICBnb3RvIGV4aXQ7CisgICAgICAgIHJldHVybiAtMTsKICAgICB9CiAjZW5kaWYKIAotICAgIHJldHVybl92YWx1ZSA9IFB5TG9uZ19Gcm9tTG9uZygobG9uZylmZCk7CisgICAgcmV0dXJuIGZkOworfQorCisKKy8qW2NsaW5pYyBpbnB1dF0KK29zLmNsb3NlCisKKyAgICBmZDogaW50CisKK0Nsb3NlIGEgZmlsZSBkZXNjcmlwdG9yLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3NfY2xvc2VfX2RvY19fLAorImNsb3NlKCRtb2R1bGUsIC8sIGZkKVxuIgorIi0tXG4iCisiXG4iCisiQ2xvc2UgYSBmaWxlIGRlc2NyaXB0b3IuIik7CisKKyNkZWZpbmUgT1NfQ0xPU0VfTUVUSE9EREVGICAgIFwKKyAgICB7ImNsb3NlIiwgKFB5Q0Z1bmN0aW9uKW9zX2Nsb3NlLCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgb3NfY2xvc2VfX2RvY19ffSwKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX2Nsb3NlX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IGZkKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX2Nsb3NlKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQoreworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIHN0YXRpYyBjaGFyICpfa2V5d29yZHNbXSA9IHsiZmQiLCBOVUxMfTsKKyAgICBpbnQgZmQ7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsCisgICAgICAgICJpOmNsb3NlIiwgX2tleXdvcmRzLAorICAgICAgICAmZmQpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gb3NfY2xvc2VfaW1wbChtb2R1bGUsIGZkKTsKIAogZXhpdDoKLSAgICBwYXRoX2NsZWFudXAoJnBhdGgpOwogICAgIHJldHVybiByZXR1cm5fdmFsdWU7CiB9CiAKLVB5RG9jX1NUUlZBUihwb3NpeF9jbG9zZV9fZG9jX18sCi0iY2xvc2UoZmQpXG5cblwKLUNsb3NlIGEgZmlsZSBkZXNjcmlwdG9yIChmb3IgbG93IGxldmVsIElPKS4iKTsKLQotLyoKLVRoZSB1bmRlcnNjb3JlIGF0IGVuZCBvZiBmdW5jdGlvbiBuYW1lIGF2b2lkcyBhIG5hbWUgY2xhc2ggd2l0aCB0aGUgbGliYwotZnVuY3Rpb24gcG9zaXhfY2xvc2UuCi0qLwogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X2Nsb3NlXyhQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitvc19jbG9zZV9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCBmZCkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD05MjcwMDRlMjlhZDU1ODA4IGlucHV0PTJiYzQyNDUxY2E1YzMyMjNdKi8KIHsKLSAgICBpbnQgZmQsIHJlczsKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgImk6Y2xvc2UiLCAmZmQpKQotICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBpbnQgcmVzOwogICAgIGlmICghX1B5VmVyaWZ5X2ZkKGZkKSkKICAgICAgICAgcmV0dXJuIHBvc2l4X2Vycm9yKCk7CisgICAgLyogV2UgZG8gbm90IHdhbnQgdG8gcmV0cnkgdXBvbiBFSU5UUjogc2VlIGh0dHA6Ly9sd24ubmV0L0FydGljbGVzLzU3NjQ3OC8KKyAgICAgKiBhbmQgaHR0cDovL2xpbnV4LmRlcmtlaWxlci5jb20vTWFpbGluZy1MaXN0cy9LZXJuZWwvMjAwNS0wOS8zMDAwLmh0bWwKKyAgICAgKiBmb3IgbW9yZSBkZXRhaWxzLgorICAgICAqLwogICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKICAgICByZXMgPSBjbG9zZShmZCk7CiAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKICAgICBpZiAocmVzIDwgMCkKICAgICAgICAgcmV0dXJuIHBvc2l4X2Vycm9yKCk7Ci0gICAgUHlfSU5DUkVGKFB5X05vbmUpOwotICAgIHJldHVybiBQeV9Ob25lOworICAgIFB5X1JFVFVSTl9OT05FOwogfQogCiAKLVB5RG9jX1NUUlZBUihwb3NpeF9jbG9zZXJhbmdlX19kb2NfXywKLSJjbG9zZXJhbmdlKGZkX2xvdywgZmRfaGlnaClcblxuXAotQ2xvc2VzIGFsbCBmaWxlIGRlc2NyaXB0b3JzIGluIFtmZF9sb3csIGZkX2hpZ2gpLCBpZ25vcmluZyBlcnJvcnMuIik7CisvKltjbGluaWMgaW5wdXRdCitvcy5jbG9zZXJhbmdlCisKKyAgICBmZF9sb3c6IGludAorICAgIGZkX2hpZ2g6IGludAorICAgIC8KKworQ2xvc2VzIGFsbCBmaWxlIGRlc2NyaXB0b3JzIGluIFtmZF9sb3csIGZkX2hpZ2gpLCBpZ25vcmluZyBlcnJvcnMuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19jbG9zZXJhbmdlX19kb2NfXywKKyJjbG9zZXJhbmdlKCRtb2R1bGUsIGZkX2xvdywgZmRfaGlnaCwgLylcbiIKKyItLVxuIgorIlxuIgorIkNsb3NlcyBhbGwgZmlsZSBkZXNjcmlwdG9ycyBpbiBbZmRfbG93LCBmZF9oaWdoKSwgaWdub3JpbmcgZXJyb3JzLiIpOworCisjZGVmaW5lIE9TX0NMT1NFUkFOR0VfTUVUSE9EREVGICAgIFwKKyAgICB7ImNsb3NlcmFuZ2UiLCAoUHlDRnVuY3Rpb24pb3NfY2xvc2VyYW5nZSwgTUVUSF9WQVJBUkdTLCBvc19jbG9zZXJhbmdlX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9jbG9zZXJhbmdlKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK29zX2Nsb3NlcmFuZ2VfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgZmRfbG93LCBpbnQgZmRfaGlnaCk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19jbG9zZXJhbmdlKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQogewotICAgIGludCBmZF9mcm9tLCBmZF90bywgaTsKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgImlpOmNsb3NlcmFuZ2UiLCAmZmRfZnJvbSwgJmZkX3RvKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgaW50IGZkX2xvdzsKKyAgICBpbnQgZmRfaGlnaDsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAiaWk6Y2xvc2VyYW5nZSIsCisgICAgICAgICZmZF9sb3csICZmZF9oaWdoKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IG9zX2Nsb3NlcmFuZ2VfaW1wbChtb2R1bGUsIGZkX2xvdywgZmRfaGlnaCk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX2Nsb3NlcmFuZ2VfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgZmRfbG93LCBpbnQgZmRfaGlnaCkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD0wYTkyOWVjZTM4NjgxMWMzIGlucHV0PTU4NTVhM2QwNTNlYmQ0ZWNdKi8KK3sKKyAgICBpbnQgaTsKICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCi0gICAgZm9yIChpID0gZmRfZnJvbTsgaSA8IGZkX3RvOyBpKyspCisgICAgZm9yIChpID0gZmRfbG93OyBpIDwgZmRfaGlnaDsgaSsrKQogICAgICAgICBpZiAoX1B5VmVyaWZ5X2ZkKGkpKQogICAgICAgICAgICAgY2xvc2UoaSk7CiAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKQEAgLTc4MjQsMzYgKzEwODE4LDk5IEBACiB9CiAKIAotUHlEb2NfU1RSVkFSKHBvc2l4X2R1cF9fZG9jX18sCi0iZHVwKGZkKSAtPiBmZDJcblxuXAotUmV0dXJuIGEgZHVwbGljYXRlIG9mIGEgZmlsZSBkZXNjcmlwdG9yLiIpOworLypbY2xpbmljIGlucHV0XQorb3MuZHVwIC0+IGludAorCisgICAgZmQ6IGludAorICAgIC8KKworUmV0dXJuIGEgZHVwbGljYXRlIG9mIGEgZmlsZSBkZXNjcmlwdG9yLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3NfZHVwX19kb2NfXywKKyJkdXAoJG1vZHVsZSwgZmQsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gYSBkdXBsaWNhdGUgb2YgYSBmaWxlIGRlc2NyaXB0b3IuIik7CisKKyNkZWZpbmUgT1NfRFVQX01FVEhPRERFRiAgICBcCisgICAgeyJkdXAiLCAoUHlDRnVuY3Rpb24pb3NfZHVwLCBNRVRIX1ZBUkFSR1MsIG9zX2R1cF9fZG9jX199LAorCitzdGF0aWMgaW50Citvc19kdXBfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgZmQpOwogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfZHVwKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK29zX2R1cChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKIHsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKICAgICBpbnQgZmQ7CisgICAgaW50IF9yZXR1cm5fdmFsdWU7CiAKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgImk6ZHVwIiwgJmZkKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICJpOmR1cCIsCisgICAgICAgICZmZCkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICBfcmV0dXJuX3ZhbHVlID0gb3NfZHVwX2ltcGwobW9kdWxlLCBmZCk7CisgICAgaWYgKChfcmV0dXJuX3ZhbHVlID09IC0xKSAmJiBQeUVycl9PY2N1cnJlZCgpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gUHlMb25nX0Zyb21Mb25nKChsb25nKV9yZXR1cm5fdmFsdWUpOwogCi0gICAgZmQgPSBfUHlfZHVwKGZkKTsKLSAgICBpZiAoZmQgPT0gLTEpCi0gICAgICAgIHJldHVybiBOVUxMOworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQogCi0gICAgcmV0dXJuIFB5TG9uZ19Gcm9tTG9uZygobG9uZylmZCk7CitzdGF0aWMgaW50Citvc19kdXBfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgZmQpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9NzU5NDNlMDU3YjI1ZTFiZCBpbnB1dD02ZjEwZjdlYTk3Zjc4NTJhXSovCit7CisgICAgcmV0dXJuIF9QeV9kdXAoZmQpOwogfQogCiAKLVB5RG9jX1NUUlZBUihwb3NpeF9kdXAyX19kb2NfXywKLSJkdXAyKG9sZF9mZCwgbmV3X2ZkKVxuXG5cCi1EdXBsaWNhdGUgZmlsZSBkZXNjcmlwdG9yLiIpOworLypbY2xpbmljIGlucHV0XQorb3MuZHVwMgorICAgIGZkOiBpbnQKKyAgICBmZDI6IGludAorICAgIGluaGVyaXRhYmxlOiBib29sPVRydWUKKworRHVwbGljYXRlIGZpbGUgZGVzY3JpcHRvci4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX2R1cDJfX2RvY19fLAorImR1cDIoJG1vZHVsZSwgLywgZmQsIGZkMiwgaW5oZXJpdGFibGU9VHJ1ZSlcbiIKKyItLVxuIgorIlxuIgorIkR1cGxpY2F0ZSBmaWxlIGRlc2NyaXB0b3IuIik7CisKKyNkZWZpbmUgT1NfRFVQMl9NRVRIT0RERUYgICAgXAorICAgIHsiZHVwMiIsIChQeUNGdW5jdGlvbilvc19kdXAyLCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgb3NfZHVwMl9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfZHVwMihQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCitvc19kdXAyX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IGZkLCBpbnQgZmQyLCBpbnQgaW5oZXJpdGFibGUpOworCitzdGF0aWMgUHlPYmplY3QgKgorb3NfZHVwMihQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKIHsKLSAgICBzdGF0aWMgY2hhciAqa2V5d29yZHNbXSA9IHsiZmQiLCAiZmQyIiwgImluaGVyaXRhYmxlIiwgTlVMTH07Ci0gICAgaW50IGZkLCBmZDI7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgc3RhdGljIGNoYXIgKl9rZXl3b3Jkc1tdID0geyJmZCIsICJmZDIiLCAiaW5oZXJpdGFibGUiLCBOVUxMfTsKKyAgICBpbnQgZmQ7CisgICAgaW50IGZkMjsKICAgICBpbnQgaW5oZXJpdGFibGUgPSAxOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLAorICAgICAgICAiaWl8cDpkdXAyIiwgX2tleXdvcmRzLAorICAgICAgICAmZmQsICZmZDIsICZpbmhlcml0YWJsZSkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBvc19kdXAyX2ltcGwobW9kdWxlLCBmZCwgZmQyLCBpbmhlcml0YWJsZSk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX2R1cDJfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgZmQsIGludCBmZDIsIGludCBpbmhlcml0YWJsZSkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD01MzFlNDgyZGQxMWE5OWEwIGlucHV0PTc2ZTk2ZjUxMWJlMDM1MmZdKi8KK3sKICAgICBpbnQgcmVzOwogI2lmIGRlZmluZWQoSEFWRV9EVVAzKSAmJiBcCiAgICAgIShkZWZpbmVkKEhBVkVfRkNOVExfSCkgJiYgZGVmaW5lZChGX0RVUDJGRF9DTE9FWEVDKSkKQEAgLTc4NjEsMTMgKzEwOTE4LDEzIEBACiAgICAgaW50IGR1cDNfd29ya3MgPSAtMTsKICNlbmRpZgogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLCAiaWl8aTpkdXAyIiwga2V5d29yZHMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmZkLCAmZmQyLCAmaW5oZXJpdGFibGUpKQotICAgICAgICByZXR1cm4gTlVMTDsKLQogICAgIGlmICghX1B5VmVyaWZ5X2ZkX2R1cDIoZmQsIGZkMikpCiAgICAgICAgIHJldHVybiBwb3NpeF9lcnJvcigpOwogCisgICAgLyogZHVwMigpIGNhbiBmYWlsIHdpdGggRUlOVFIgaWYgdGhlIHRhcmdldCBGRCBpcyBhbHJlYWR5IG9wZW4sIGJlY2F1c2UgaXQKKyAgICAgKiB0aGVuIGhhcyB0byBiZSBjbG9zZWQuIFNlZSBvc19jbG9zZV9pbXBsKCkgZm9yIHdoeSB3ZSBkb24ndCBoYW5kbGUgRUlOVFIKKyAgICAgKiB1cG9uIGNsb3NlKCksIGFuZCB0aGVyZWZvcmUgYmVsb3cuCisgICAgICovCiAjaWZkZWYgTVNfV0lORE9XUwogICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKICAgICByZXMgPSBkdXAyKGZkLCBmZDIpOwpAQCAtNzkyNSwzMCArMTA5ODIsNzEgQEAKIAogI2VuZGlmCiAKLSAgICBQeV9JTkNSRUYoUHlfTm9uZSk7Ci0gICAgcmV0dXJuIFB5X05vbmU7CisgICAgUHlfUkVUVVJOX05PTkU7CiB9CiAKKwogI2lmZGVmIEhBVkVfTE9DS0YKLVB5RG9jX1NUUlZBUihwb3NpeF9sb2NrZl9fZG9jX18sCi0ibG9ja2YoZmQsIGNtZCwgbGVuKVxuXG5cCi1BcHBseSwgdGVzdCBvciByZW1vdmUgYSBQT1NJWCBsb2NrIG9uIGFuIG9wZW4gZmlsZSBkZXNjcmlwdG9yLlxuXG5cCi1mZCBpcyBhbiBvcGVuIGZpbGUgZGVzY3JpcHRvci5cblwKLWNtZCBzcGVjaWZpZXMgdGhlIGNvbW1hbmQgdG8gdXNlIC0gb25lIG9mIEZfTE9DSywgRl9UTE9DSywgRl9VTE9DSyBvclxuXAotRl9URVNULlxuXAotbGVuIHNwZWNpZmllcyB0aGUgc2VjdGlvbiBvZiB0aGUgZmlsZSB0byBsb2NrLiIpOworLypbY2xpbmljIGlucHV0XQorb3MubG9ja2YKKworICAgIGZkOiBpbnQKKyAgICAgICAgQW4gb3BlbiBmaWxlIGRlc2NyaXB0b3IuCisgICAgY29tbWFuZDogaW50CisgICAgICAgIE9uZSBvZiBGX0xPQ0ssIEZfVExPQ0ssIEZfVUxPQ0sgb3IgRl9URVNULgorICAgIGxlbmd0aDogUHlfb2ZmX3QKKyAgICAgICAgVGhlIG51bWJlciBvZiBieXRlcyB0byBsb2NrLCBzdGFydGluZyBhdCB0aGUgY3VycmVudCBwb3NpdGlvbi4KKyAgICAvCisKK0FwcGx5LCB0ZXN0IG9yIHJlbW92ZSBhIFBPU0lYIGxvY2sgb24gYW4gb3BlbiBmaWxlIGRlc2NyaXB0b3IuCisKK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX2xvY2tmX19kb2NfXywKKyJsb2NrZigkbW9kdWxlLCBmZCwgY29tbWFuZCwgbGVuZ3RoLCAvKVxuIgorIi0tXG4iCisiXG4iCisiQXBwbHksIHRlc3Qgb3IgcmVtb3ZlIGEgUE9TSVggbG9jayBvbiBhbiBvcGVuIGZpbGUgZGVzY3JpcHRvci5cbiIKKyJcbiIKKyIgIGZkXG4iCisiICAgIEFuIG9wZW4gZmlsZSBkZXNjcmlwdG9yLlxuIgorIiAgY29tbWFuZFxuIgorIiAgICBPbmUgb2YgRl9MT0NLLCBGX1RMT0NLLCBGX1VMT0NLIG9yIEZfVEVTVC5cbiIKKyIgIGxlbmd0aFxuIgorIiAgICBUaGUgbnVtYmVyIG9mIGJ5dGVzIHRvIGxvY2ssIHN0YXJ0aW5nIGF0IHRoZSBjdXJyZW50IHBvc2l0aW9uLiIpOworCisjZGVmaW5lIE9TX0xPQ0tGX01FVEhPRERFRiAgICBcCisgICAgeyJsb2NrZiIsIChQeUNGdW5jdGlvbilvc19sb2NrZiwgTUVUSF9WQVJBUkdTLCBvc19sb2NrZl9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfbG9ja2YoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorb3NfbG9ja2ZfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgZmQsIGludCBjb21tYW5kLCBQeV9vZmZfdCBsZW5ndGgpOworCitzdGF0aWMgUHlPYmplY3QgKgorb3NfbG9ja2YoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCiB7Ci0gICAgaW50IGZkLCBjbWQsIHJlczsKLSAgICBvZmZfdCBsZW47Ci0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJpaU8mOmxvY2tmIiwKLSAgICAgICAgICAgICZmZCwgJmNtZCwgX3BhcnNlX29mZl90LCAmbGVuKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgaW50IGZkOworICAgIGludCBjb21tYW5kOworICAgIFB5X29mZl90IGxlbmd0aDsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAiaWlPJjpsb2NrZiIsCisgICAgICAgICZmZCwgJmNvbW1hbmQsIFB5X29mZl90X2NvbnZlcnRlciwgJmxlbmd0aCkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBvc19sb2NrZl9pbXBsKG1vZHVsZSwgZmQsIGNvbW1hbmQsIGxlbmd0aCk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX2xvY2tmX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IGZkLCBpbnQgY29tbWFuZCwgUHlfb2ZmX3QgbGVuZ3RoKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTFiMjgzNDZhYzczMzVjMGYgaW5wdXQ9NjVkYTQxZDIxMDZlOWI3OV0qLworeworICAgIGludCByZXM7CiAKICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCi0gICAgcmVzID0gbG9ja2YoZmQsIGNtZCwgbGVuKTsKKyAgICByZXMgPSBsb2NrZihmZCwgY29tbWFuZCwgbGVuZ3RoKTsKICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUwogCiAgICAgaWYgKHJlcyA8IDApCkBAIC03OTU2LDk1ICsxMTA1NCwxNzkgQEAKIAogICAgIFB5X1JFVFVSTl9OT05FOwogfQotI2VuZGlmCisjZW5kaWYgLyogSEFWRV9MT0NLRiAqLwogCiAKLVB5RG9jX1NUUlZBUihwb3NpeF9sc2Vla19fZG9jX18sCi0ibHNlZWsoZmQsIHBvcywgaG93KSAtPiBuZXdwb3NcblxuXAotU2V0IHRoZSBjdXJyZW50IHBvc2l0aW9uIG9mIGEgZmlsZSBkZXNjcmlwdG9yLlxuXAotUmV0dXJuIHRoZSBuZXcgY3Vyc29yIHBvc2l0aW9uIGluIGJ5dGVzLCBzdGFydGluZyBmcm9tIHRoZSBiZWdpbm5pbmcuIik7CisvKltjbGluaWMgaW5wdXRdCitvcy5sc2VlayAtPiBQeV9vZmZfdAorCisgICAgZmQ6IGludAorICAgIHBvc2l0aW9uOiBQeV9vZmZfdAorICAgIGhvdzogaW50CisgICAgLworCitTZXQgdGhlIHBvc2l0aW9uIG9mIGEgZmlsZSBkZXNjcmlwdG9yLiAgUmV0dXJuIHRoZSBuZXcgcG9zaXRpb24uCisKK1JldHVybiB0aGUgbmV3IGN1cnNvciBwb3NpdGlvbiBpbiBudW1iZXIgb2YgYnl0ZXMKK3JlbGF0aXZlIHRvIHRoZSBiZWdpbm5pbmcgb2YgdGhlIGZpbGUuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19sc2Vla19fZG9jX18sCisibHNlZWsoJG1vZHVsZSwgZmQsIHBvc2l0aW9uLCBob3csIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJTZXQgdGhlIHBvc2l0aW9uIG9mIGEgZmlsZSBkZXNjcmlwdG9yLiAgUmV0dXJuIHRoZSBuZXcgcG9zaXRpb24uXG4iCisiXG4iCisiUmV0dXJuIHRoZSBuZXcgY3Vyc29yIHBvc2l0aW9uIGluIG51bWJlciBvZiBieXRlc1xuIgorInJlbGF0aXZlIHRvIHRoZSBiZWdpbm5pbmcgb2YgdGhlIGZpbGUuIik7CisKKyNkZWZpbmUgT1NfTFNFRUtfTUVUSE9EREVGICAgIFwKKyAgICB7ImxzZWVrIiwgKFB5Q0Z1bmN0aW9uKW9zX2xzZWVrLCBNRVRIX1ZBUkFSR1MsIG9zX2xzZWVrX19kb2NfX30sCisKK3N0YXRpYyBQeV9vZmZfdAorb3NfbHNlZWtfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgZmQsIFB5X29mZl90IHBvc2l0aW9uLCBpbnQgaG93KTsKIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X2xzZWVrKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK29zX2xzZWVrKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQogewotICAgIGludCBmZCwgaG93OwotI2lmZGVmIE1TX1dJTkRPV1MKLSAgICBQWV9MT05HX0xPTkcgcG9zLCByZXM7Ci0jZWxzZQotICAgIG9mZl90IHBvcywgcmVzOwotI2VuZGlmCi0gICAgUHlPYmplY3QgKnBvc29iajsKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgImlPaTpsc2VlayIsICZmZCwgJnBvc29iaiwgJmhvdykpCi0gICAgICAgIHJldHVybiBOVUxMOworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIGludCBmZDsKKyAgICBQeV9vZmZfdCBwb3NpdGlvbjsKKyAgICBpbnQgaG93OworICAgIFB5X29mZl90IF9yZXR1cm5fdmFsdWU7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgImlPJmk6bHNlZWsiLAorICAgICAgICAmZmQsIFB5X29mZl90X2NvbnZlcnRlciwgJnBvc2l0aW9uLCAmaG93KSkKKyAgICAgICAgZ290byBleGl0OworICAgIF9yZXR1cm5fdmFsdWUgPSBvc19sc2Vla19pbXBsKG1vZHVsZSwgZmQsIHBvc2l0aW9uLCBob3cpOworICAgIGlmICgoX3JldHVybl92YWx1ZSA9PSAtMSkgJiYgUHlFcnJfT2NjdXJyZWQoKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IFB5TG9uZ19Gcm9tUHlfb2ZmX3QoX3JldHVybl92YWx1ZSk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5X29mZl90Citvc19sc2Vla19pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCBmZCwgUHlfb2ZmX3QgcG9zaXRpb24sIGludCBob3cpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ODhjZmMxNDZmNTU2NjdhZiBpbnB1dD05MDI2NTRhZDNmOTZhNmQzXSovCit7CisgICAgUHlfb2ZmX3QgcmVzdWx0OworCisgICAgaWYgKCFfUHlWZXJpZnlfZmQoZmQpKSB7CisgICAgICAgIHBvc2l4X2Vycm9yKCk7CisgICAgICAgIHJldHVybiAtMTsKKyAgICB9CiAjaWZkZWYgU0VFS19TRVQKICAgICAvKiBUdXJuIDAsIDEsIDIgaW50byBTRUVLX3tTRVQsQ1VSLEVORH0gKi8KICAgICBzd2l0Y2ggKGhvdykgewotICAgIGNhc2UgMDogaG93ID0gU0VFS19TRVQ7IGJyZWFrOwotICAgIGNhc2UgMTogaG93ID0gU0VFS19DVVI7IGJyZWFrOwotICAgIGNhc2UgMjogaG93ID0gU0VFS19FTkQ7IGJyZWFrOworICAgICAgICBjYXNlIDA6IGhvdyA9IFNFRUtfU0VUOyBicmVhazsKKyAgICAgICAgY2FzZSAxOiBob3cgPSBTRUVLX0NVUjsgYnJlYWs7CisgICAgICAgIGNhc2UgMjogaG93ID0gU0VFS19FTkQ7IGJyZWFrOwogICAgIH0KICNlbmRpZiAvKiBTRUVLX0VORCAqLwogCi0jaWYgIWRlZmluZWQoSEFWRV9MQVJHRUZJTEVfU1VQUE9SVCkKLSAgICBwb3MgPSBQeUxvbmdfQXNMb25nKHBvc29iaik7Ci0jZWxzZQotICAgIHBvcyA9IFB5TG9uZ19Bc0xvbmdMb25nKHBvc29iaik7Ci0jZW5kaWYKICAgICBpZiAoUHlFcnJfT2NjdXJyZWQoKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgIHJldHVybiAtMTsKIAotICAgIGlmICghX1B5VmVyaWZ5X2ZkKGZkKSkKLSAgICAgICAgcmV0dXJuIHBvc2l4X2Vycm9yKCk7CisgICAgaWYgKCFfUHlWZXJpZnlfZmQoZmQpKSB7CisgICAgICAgIHBvc2l4X2Vycm9yKCk7CisgICAgICAgIHJldHVybiAtMTsKKyAgICB9CiAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwogI2lmZGVmIE1TX1dJTkRPV1MKLSAgICByZXMgPSBfbHNlZWtpNjQoZmQsIHBvcywgaG93KTsKKyAgICByZXN1bHQgPSBfbHNlZWtpNjQoZmQsIHBvc2l0aW9uLCBob3cpOwogI2Vsc2UKLSAgICByZXMgPSBsc2VlayhmZCwgcG9zLCBob3cpOworICAgIHJlc3VsdCA9IGxzZWVrKGZkLCBwb3NpdGlvbiwgaG93KTsKICNlbmRpZgogICAgIFB5X0VORF9BTExPV19USFJFQURTCi0gICAgaWYgKHJlcyA8IDApCi0gICAgICAgIHJldHVybiBwb3NpeF9lcnJvcigpOworICAgIGlmIChyZXN1bHQgPCAwKQorICAgICAgICBwb3NpeF9lcnJvcigpOwogCi0jaWYgIWRlZmluZWQoSEFWRV9MQVJHRUZJTEVfU1VQUE9SVCkKLSAgICByZXR1cm4gUHlMb25nX0Zyb21Mb25nKHJlcyk7Ci0jZWxzZQotICAgIHJldHVybiBQeUxvbmdfRnJvbUxvbmdMb25nKHJlcyk7Ci0jZW5kaWYKKyAgICByZXR1cm4gcmVzdWx0OwogfQogCiAKLVB5RG9jX1NUUlZBUihwb3NpeF9yZWFkX19kb2NfXywKLSJyZWFkKGZkLCBidWZmZXJzaXplKSAtPiBieXRlc1xuXG5cCi1SZWFkIGEgZmlsZSBkZXNjcmlwdG9yLiIpOworLypbY2xpbmljIGlucHV0XQorb3MucmVhZAorICAgIGZkOiBpbnQKKyAgICBsZW5ndGg6IFB5X3NzaXplX3QKKyAgICAvCisKK1JlYWQgZnJvbSBhIGZpbGUgZGVzY3JpcHRvci4gIFJldHVybnMgYSBieXRlcyBvYmplY3QuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19yZWFkX19kb2NfXywKKyJyZWFkKCRtb2R1bGUsIGZkLCBsZW5ndGgsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZWFkIGZyb20gYSBmaWxlIGRlc2NyaXB0b3IuICBSZXR1cm5zIGEgYnl0ZXMgb2JqZWN0LiIpOworCisjZGVmaW5lIE9TX1JFQURfTUVUSE9EREVGICAgIFwKKyAgICB7InJlYWQiLCAoUHlDRnVuY3Rpb24pb3NfcmVhZCwgTUVUSF9WQVJBUkdTLCBvc19yZWFkX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9yZWFkKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK29zX3JlYWRfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgZmQsIFB5X3NzaXplX3QgbGVuZ3RoKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3JlYWQoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCiB7Ci0gICAgaW50IGZkLCBzaXplOworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIGludCBmZDsKKyAgICBQeV9zc2l6ZV90IGxlbmd0aDsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAiaW46cmVhZCIsCisgICAgICAgICZmZCwgJmxlbmd0aCkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBvc19yZWFkX2ltcGwobW9kdWxlLCBmZCwgbGVuZ3RoKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3NfcmVhZF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCBmZCwgUHlfc3NpemVfdCBsZW5ndGgpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9MWYzYmMyNzI2MGEyNDk2OCBpbnB1dD0xZGYyZWFhMjdjMGJmMWQzXSovCit7CiAgICAgUHlfc3NpemVfdCBuOworICAgIGludCBhc3luY19lcnIgPSAwOwogICAgIFB5T2JqZWN0ICpidWZmZXI7Ci0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJpaTpyZWFkIiwgJmZkLCAmc2l6ZSkpCi0gICAgICAgIHJldHVybiBOVUxMOwotICAgIGlmIChzaXplIDwgMCkgeworCisgICAgaWYgKGxlbmd0aCA8IDApIHsKICAgICAgICAgZXJybm8gPSBFSU5WQUw7CiAgICAgICAgIHJldHVybiBwb3NpeF9lcnJvcigpOwogICAgIH0KLSAgICBidWZmZXIgPSBQeUJ5dGVzX0Zyb21TdHJpbmdBbmRTaXplKChjaGFyICopTlVMTCwgc2l6ZSk7CisgICAgaWYgKCFfUHlWZXJpZnlfZmQoZmQpKQorICAgICAgICByZXR1cm4gcG9zaXhfZXJyb3IoKTsKKworI2lmZGVmIE1TX1dJTkRPV1MKKyAgICAjZGVmaW5lIFJFQURfQ0FTVCAoaW50KQorICAgIGlmIChsZW5ndGggPiBJTlRfTUFYKQorICAgICAgICBsZW5ndGggPSBJTlRfTUFYOworI2Vsc2UKKyAgICAjZGVmaW5lIFJFQURfQ0FTVAorI2VuZGlmCisKKyAgICBidWZmZXIgPSBQeUJ5dGVzX0Zyb21TdHJpbmdBbmRTaXplKChjaGFyICopTlVMTCwgbGVuZ3RoKTsKICAgICBpZiAoYnVmZmVyID09IE5VTEwpCiAgICAgICAgIHJldHVybiBOVUxMOwotICAgIGlmICghX1B5VmVyaWZ5X2ZkKGZkKSkgewotICAgICAgICBQeV9ERUNSRUYoYnVmZmVyKTsKLSAgICAgICAgcmV0dXJuIHBvc2l4X2Vycm9yKCk7Ci0gICAgfQotICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKLSAgICBuID0gcmVhZChmZCwgUHlCeXRlc19BU19TVFJJTkcoYnVmZmVyKSwgc2l6ZSk7Ci0gICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKKworICAgIGRvIHsKKyAgICAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUworICAgICAgICBuID0gcmVhZChmZCwgUHlCeXRlc19BU19TVFJJTkcoYnVmZmVyKSwgUkVBRF9DQVNUIGxlbmd0aCk7CisgICAgICAgIFB5X0VORF9BTExPV19USFJFQURTCisgICAgfSB3aGlsZSAobiA8IDAgJiYgZXJybm8gPT0gRUlOVFIgJiYgIShhc3luY19lcnIgPSBQeUVycl9DaGVja1NpZ25hbHMoKSkpOworCiAgICAgaWYgKG4gPCAwKSB7CiAgICAgICAgIFB5X0RFQ1JFRihidWZmZXIpOwotICAgICAgICByZXR1cm4gcG9zaXhfZXJyb3IoKTsKKyAgICAgICAgcmV0dXJuICghYXN5bmNfZXJyKSA/IHBvc2l4X2Vycm9yKCkgOiBOVUxMOwogICAgIH0KLSAgICBpZiAobiAhPSBzaXplKQorCisgICAgaWYgKG4gIT0gbGVuZ3RoKQogICAgICAgICBfUHlCeXRlc19SZXNpemUoJmJ1ZmZlciwgbik7CisKICAgICByZXR1cm4gYnVmZmVyOwogfQogCkBAIC04MTA2LDEyMCArMTEyODgsMjcwIEBACiB9CiAjZW5kaWYKIAorCiAjaWZkZWYgSEFWRV9SRUFEVgotUHlEb2NfU1RSVkFSKHBvc2l4X3JlYWR2X19kb2NfXywKLSJyZWFkdihmZCwgYnVmZmVycykgLT4gYnl0ZXNyZWFkXG5cblwKLVJlYWQgZnJvbSBhIGZpbGUgZGVzY3JpcHRvciBmZCBpbnRvIGEgbnVtYmVyIG9mIG11dGFibGUsIGJ5dGVzLWxpa2VcblwKLW9iamVjdHMgKFwiYnVmZmVyc1wiKS4gIHJlYWR2IHdpbGwgdHJhbnNmZXIgZGF0YSBpbnRvIGVhY2ggYnVmZmVyXG5cCi11bnRpbCBpdCBpcyBmdWxsIGFuZCB0aGVuIG1vdmUgb24gdG8gdGhlIG5leHQgYnVmZmVyIGluIHRoZSBzZXF1ZW5jZVxuXAotdG8gaG9sZCB0aGUgcmVzdCBvZiB0aGUgZGF0YS5cblxuXAotcmVhZHYgcmV0dXJucyB0aGUgdG90YWwgbnVtYmVyIG9mIGJ5dGVzIHJlYWQgKHdoaWNoIG1heSBiZSBsZXNzIHRoYW5cblwKLXRoZSB0b3RhbCBjYXBhY2l0eSBvZiBhbGwgdGhlIGJ1ZmZlcnMuIik7CisvKltjbGluaWMgaW5wdXRdCitvcy5yZWFkdiAtPiBQeV9zc2l6ZV90CisKKyAgICBmZDogaW50CisgICAgYnVmZmVyczogb2JqZWN0CisgICAgLworCitSZWFkIGZyb20gYSBmaWxlIGRlc2NyaXB0b3IgZmQgaW50byBhbiBpdGVyYWJsZSBvZiBidWZmZXJzLgorCitUaGUgYnVmZmVycyBzaG91bGQgYmUgbXV0YWJsZSBidWZmZXJzIGFjY2VwdGluZyBieXRlcy4KK3JlYWR2IHdpbGwgdHJhbnNmZXIgZGF0YSBpbnRvIGVhY2ggYnVmZmVyIHVudGlsIGl0IGlzIGZ1bGwKK2FuZCB0aGVuIG1vdmUgb24gdG8gdGhlIG5leHQgYnVmZmVyIGluIHRoZSBzZXF1ZW5jZSB0byBob2xkCit0aGUgcmVzdCBvZiB0aGUgZGF0YS4KKworcmVhZHYgcmV0dXJucyB0aGUgdG90YWwgbnVtYmVyIG9mIGJ5dGVzIHJlYWQsCit3aGljaCBtYXkgYmUgbGVzcyB0aGFuIHRoZSB0b3RhbCBjYXBhY2l0eSBvZiBhbGwgdGhlIGJ1ZmZlcnMuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19yZWFkdl9fZG9jX18sCisicmVhZHYoJG1vZHVsZSwgZmQsIGJ1ZmZlcnMsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZWFkIGZyb20gYSBmaWxlIGRlc2NyaXB0b3IgZmQgaW50byBhbiBpdGVyYWJsZSBvZiBidWZmZXJzLlxuIgorIlxuIgorIlRoZSBidWZmZXJzIHNob3VsZCBiZSBtdXRhYmxlIGJ1ZmZlcnMgYWNjZXB0aW5nIGJ5dGVzLlxuIgorInJlYWR2IHdpbGwgdHJhbnNmZXIgZGF0YSBpbnRvIGVhY2ggYnVmZmVyIHVudGlsIGl0IGlzIGZ1bGxcbiIKKyJhbmQgdGhlbiBtb3ZlIG9uIHRvIHRoZSBuZXh0IGJ1ZmZlciBpbiB0aGUgc2VxdWVuY2UgdG8gaG9sZFxuIgorInRoZSByZXN0IG9mIHRoZSBkYXRhLlxuIgorIlxuIgorInJlYWR2IHJldHVybnMgdGhlIHRvdGFsIG51bWJlciBvZiBieXRlcyByZWFkLFxuIgorIndoaWNoIG1heSBiZSBsZXNzIHRoYW4gdGhlIHRvdGFsIGNhcGFjaXR5IG9mIGFsbCB0aGUgYnVmZmVycy4iKTsKKworI2RlZmluZSBPU19SRUFEVl9NRVRIT0RERUYgICAgXAorICAgIHsicmVhZHYiLCAoUHlDRnVuY3Rpb24pb3NfcmVhZHYsIE1FVEhfVkFSQVJHUywgb3NfcmVhZHZfX2RvY19ffSwKKworc3RhdGljIFB5X3NzaXplX3QKK29zX3JlYWR2X2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IGZkLCBQeU9iamVjdCAqYnVmZmVycyk7CiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9yZWFkdihQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitvc19yZWFkdihQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKIHsKLSAgICBpbnQgZmQsIGNudDsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBpbnQgZmQ7CisgICAgUHlPYmplY3QgKmJ1ZmZlcnM7CisgICAgUHlfc3NpemVfdCBfcmV0dXJuX3ZhbHVlOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICJpTzpyZWFkdiIsCisgICAgICAgICZmZCwgJmJ1ZmZlcnMpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgX3JldHVybl92YWx1ZSA9IG9zX3JlYWR2X2ltcGwobW9kdWxlLCBmZCwgYnVmZmVycyk7CisgICAgaWYgKChfcmV0dXJuX3ZhbHVlID09IC0xKSAmJiBQeUVycl9PY2N1cnJlZCgpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gUHlMb25nX0Zyb21Tc2l6ZV90KF9yZXR1cm5fdmFsdWUpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeV9zc2l6ZV90Citvc19yZWFkdl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCBmZCwgUHlPYmplY3QgKmJ1ZmZlcnMpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9NzI3NDhiMWMzMmE2ZTJhMSBpbnB1dD1lNjc5ZWI1ZGJmYTAzNTdkXSovCit7CisgICAgaW50IGNudDsKICAgICBQeV9zc2l6ZV90IG47Ci0gICAgUHlPYmplY3QgKnNlcTsKKyAgICBpbnQgYXN5bmNfZXJyID0gMDsKICAgICBzdHJ1Y3QgaW92ZWMgKmlvdjsKICAgICBQeV9idWZmZXIgKmJ1ZjsKIAotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiaU86cmVhZHYiLCAmZmQsICZzZXEpKQotICAgICAgICByZXR1cm4gTlVMTDsKLSAgICBpZiAoIVB5U2VxdWVuY2VfQ2hlY2soc2VxKSkgeworICAgIGlmICghUHlTZXF1ZW5jZV9DaGVjayhidWZmZXJzKSkgewogICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLAogICAgICAgICAgICAgInJlYWR2KCkgYXJnIDIgbXVzdCBiZSBhIHNlcXVlbmNlIik7Ci0gICAgICAgIHJldHVybiBOVUxMOworICAgICAgICByZXR1cm4gLTE7CiAgICAgfQotICAgIGNudCA9IFB5U2VxdWVuY2VfU2l6ZShzZXEpOwogCi0gICAgaWYgKGlvdl9zZXR1cCgmaW92LCAmYnVmLCBzZXEsIGNudCwgUHlCVUZfV1JJVEFCTEUpIDwgMCkKLSAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgY250ID0gUHlTZXF1ZW5jZV9TaXplKGJ1ZmZlcnMpOwogCi0gICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwotICAgIG4gPSByZWFkdihmZCwgaW92LCBjbnQpOwotICAgIFB5X0VORF9BTExPV19USFJFQURTCisgICAgaWYgKGlvdl9zZXR1cCgmaW92LCAmYnVmLCBidWZmZXJzLCBjbnQsIFB5QlVGX1dSSVRBQkxFKSA8IDApCisgICAgICAgIHJldHVybiAtMTsKKworICAgIGRvIHsKKyAgICAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUworICAgICAgICBuID0gcmVhZHYoZmQsIGlvdiwgY250KTsKKyAgICAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKKyAgICB9IHdoaWxlIChuIDwgMCAmJiBlcnJubyA9PSBFSU5UUiAmJiAhKGFzeW5jX2VyciA9IFB5RXJyX0NoZWNrU2lnbmFscygpKSk7CiAKICAgICBpb3ZfY2xlYW51cChpb3YsIGJ1ZiwgY250KTsKLSAgICBpZiAobiA8IDApCi0gICAgICAgIHJldHVybiBwb3NpeF9lcnJvcigpOworICAgIGlmIChuIDwgMCkgeworICAgICAgICBpZiAoIWFzeW5jX2VycikKKyAgICAgICAgICAgIHBvc2l4X2Vycm9yKCk7CisgICAgICAgIHJldHVybiAtMTsKKyAgICB9CiAKLSAgICByZXR1cm4gUHlMb25nX0Zyb21Tc2l6ZV90KG4pOworICAgIHJldHVybiBuOwogfQotI2VuZGlmCisjZW5kaWYgLyogSEFWRV9SRUFEViAqLworCiAKICNpZmRlZiBIQVZFX1BSRUFECi1QeURvY19TVFJWQVIocG9zaXhfcHJlYWRfX2RvY19fLAotInByZWFkKGZkLCBidWZmZXJzaXplLCBvZmZzZXQpIC0+IHN0cmluZ1xuXG5cCi1SZWFkIGZyb20gYSBmaWxlIGRlc2NyaXB0b3IsIGZkLCBhdCBhIHBvc2l0aW9uIG9mIG9mZnNldC4gSXQgd2lsbCByZWFkIHVwXG5cCi10byBidWZmZXJzaXplIG51bWJlciBvZiBieXRlcy4gVGhlIGZpbGUgb2Zmc2V0IHJlbWFpbnMgdW5jaGFuZ2VkLiIpOworLypbY2xpbmljIGlucHV0XQorIyBUT0RPIGxlbmd0aCBzaG91bGQgYmUgc2l6ZV90ISAgYnV0IFB5dGhvbiBkb2Vzbid0IHN1cHBvcnQgcGFyc2luZyBzaXplX3QgeWV0Lgorb3MucHJlYWQKKworICAgIGZkOiBpbnQKKyAgICBsZW5ndGg6IGludAorICAgIG9mZnNldDogUHlfb2ZmX3QKKyAgICAvCisKK1JlYWQgYSBudW1iZXIgb2YgYnl0ZXMgZnJvbSBhIGZpbGUgZGVzY3JpcHRvciBzdGFydGluZyBhdCBhIHBhcnRpY3VsYXIgb2Zmc2V0LgorCitSZWFkIGxlbmd0aCBieXRlcyBmcm9tIGZpbGUgZGVzY3JpcHRvciBmZCwgc3RhcnRpbmcgYXQgb2Zmc2V0IGJ5dGVzIGZyb20KK3RoZSBiZWdpbm5pbmcgb2YgdGhlIGZpbGUuICBUaGUgZmlsZSBvZmZzZXQgcmVtYWlucyB1bmNoYW5nZWQuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19wcmVhZF9fZG9jX18sCisicHJlYWQoJG1vZHVsZSwgZmQsIGxlbmd0aCwgb2Zmc2V0LCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmVhZCBhIG51bWJlciBvZiBieXRlcyBmcm9tIGEgZmlsZSBkZXNjcmlwdG9yIHN0YXJ0aW5nIGF0IGEgcGFydGljdWxhciBvZmZzZXQuXG4iCisiXG4iCisiUmVhZCBsZW5ndGggYnl0ZXMgZnJvbSBmaWxlIGRlc2NyaXB0b3IgZmQsIHN0YXJ0aW5nIGF0IG9mZnNldCBieXRlcyBmcm9tXG4iCisidGhlIGJlZ2lubmluZyBvZiB0aGUgZmlsZS4gIFRoZSBmaWxlIG9mZnNldCByZW1haW5zIHVuY2hhbmdlZC4iKTsKKworI2RlZmluZSBPU19QUkVBRF9NRVRIT0RERUYgICAgXAorICAgIHsicHJlYWQiLCAoUHlDRnVuY3Rpb24pb3NfcHJlYWQsIE1FVEhfVkFSQVJHUywgb3NfcHJlYWRfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X3ByZWFkKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKLXsKLSAgICBpbnQgZmQsIHNpemU7Ci0gICAgb2ZmX3Qgb2Zmc2V0OwotICAgIFB5X3NzaXplX3QgbjsKLSAgICBQeU9iamVjdCAqYnVmZmVyOwotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiaWlPJjpwcmVhZCIsICZmZCwgJnNpemUsIF9wYXJzZV9vZmZfdCwgJm9mZnNldCkpCi0gICAgICAgIHJldHVybiBOVUxMOworb3NfcHJlYWRfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgZmQsIGludCBsZW5ndGgsIFB5X29mZl90IG9mZnNldCk7CiAKLSAgICBpZiAoc2l6ZSA8IDApIHsKK3N0YXRpYyBQeU9iamVjdCAqCitvc19wcmVhZChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBpbnQgZmQ7CisgICAgaW50IGxlbmd0aDsKKyAgICBQeV9vZmZfdCBvZmZzZXQ7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgImlpTyY6cHJlYWQiLAorICAgICAgICAmZmQsICZsZW5ndGgsIFB5X29mZl90X2NvbnZlcnRlciwgJm9mZnNldCkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBvc19wcmVhZF9pbXBsKG1vZHVsZSwgZmQsIGxlbmd0aCwgb2Zmc2V0KTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3NfcHJlYWRfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgZmQsIGludCBsZW5ndGgsIFB5X29mZl90IG9mZnNldCkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD03YjYyYmY2YzA2ZTIwYWU4IGlucHV0PTA4NDk0OGRjYmFhMzVkNGNdKi8KK3sKKyAgICBQeV9zc2l6ZV90IG47CisgICAgaW50IGFzeW5jX2VyciA9IDA7CisgICAgUHlPYmplY3QgKmJ1ZmZlcjsKKworICAgIGlmIChsZW5ndGggPCAwKSB7CiAgICAgICAgIGVycm5vID0gRUlOVkFMOwogICAgICAgICByZXR1cm4gcG9zaXhfZXJyb3IoKTsKICAgICB9Ci0gICAgYnVmZmVyID0gUHlCeXRlc19Gcm9tU3RyaW5nQW5kU2l6ZSgoY2hhciAqKU5VTEwsIHNpemUpOworICAgIGJ1ZmZlciA9IFB5Qnl0ZXNfRnJvbVN0cmluZ0FuZFNpemUoKGNoYXIgKilOVUxMLCBsZW5ndGgpOwogICAgIGlmIChidWZmZXIgPT0gTlVMTCkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgaWYgKCFfUHlWZXJpZnlfZmQoZmQpKSB7CiAgICAgICAgIFB5X0RFQ1JFRihidWZmZXIpOwogICAgICAgICByZXR1cm4gcG9zaXhfZXJyb3IoKTsKICAgICB9Ci0gICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwotICAgIG4gPSBwcmVhZChmZCwgUHlCeXRlc19BU19TVFJJTkcoYnVmZmVyKSwgc2l6ZSwgb2Zmc2V0KTsKLSAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUworCisgICAgZG8geworICAgICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCisgICAgICAgIG4gPSBwcmVhZChmZCwgUHlCeXRlc19BU19TVFJJTkcoYnVmZmVyKSwgbGVuZ3RoLCBvZmZzZXQpOworICAgICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUworICAgIH0gd2hpbGUgKG4gPCAwICYmIGVycm5vID09IEVJTlRSICYmICEoYXN5bmNfZXJyID0gUHlFcnJfQ2hlY2tTaWduYWxzKCkpKTsKKwogICAgIGlmIChuIDwgMCkgewogICAgICAgICBQeV9ERUNSRUYoYnVmZmVyKTsKLSAgICAgICAgcmV0dXJuIHBvc2l4X2Vycm9yKCk7CisgICAgICAgIHJldHVybiAoIWFzeW5jX2VycikgPyBwb3NpeF9lcnJvcigpIDogTlVMTDsKICAgICB9Ci0gICAgaWYgKG4gIT0gc2l6ZSkKKyAgICBpZiAobiAhPSBsZW5ndGgpCiAgICAgICAgIF9QeUJ5dGVzX1Jlc2l6ZSgmYnVmZmVyLCBuKTsKICAgICByZXR1cm4gYnVmZmVyOwogfQotI2VuZGlmCisjZW5kaWYgLyogSEFWRV9QUkVBRCAqLwogCi1QeURvY19TVFJWQVIocG9zaXhfd3JpdGVfX2RvY19fLAotIndyaXRlKGZkLCBkYXRhKSAtPiBieXRlc3dyaXR0ZW5cblxuXAotV3JpdGUgYnl0ZXMgdG8gYSBmaWxlIGRlc2NyaXB0b3IuIik7CisKKy8qW2NsaW5pYyBpbnB1dF0KK29zLndyaXRlIC0+IFB5X3NzaXplX3QKKworICAgIGZkOiBpbnQKKyAgICBkYXRhOiBQeV9idWZmZXIKKyAgICAvCisKK1dyaXRlIGEgYnl0ZXMgb2JqZWN0IHRvIGEgZmlsZSBkZXNjcmlwdG9yLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3Nfd3JpdGVfX2RvY19fLAorIndyaXRlKCRtb2R1bGUsIGZkLCBkYXRhLCAvKVxuIgorIi0tXG4iCisiXG4iCisiV3JpdGUgYSBieXRlcyBvYmplY3QgdG8gYSBmaWxlIGRlc2NyaXB0b3IuIik7CisKKyNkZWZpbmUgT1NfV1JJVEVfTUVUSE9EREVGICAgIFwKKyAgICB7IndyaXRlIiwgKFB5Q0Z1bmN0aW9uKW9zX3dyaXRlLCBNRVRIX1ZBUkFSR1MsIG9zX3dyaXRlX19kb2NfX30sCisKK3N0YXRpYyBQeV9zc2l6ZV90Citvc193cml0ZV9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCBmZCwgUHlfYnVmZmVyICpkYXRhKTsKIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X3dyaXRlKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK29zX3dyaXRlKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQogewotICAgIFB5X2J1ZmZlciBwYnVmOworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOwogICAgIGludCBmZDsKLSAgICBQeV9zc2l6ZV90IHNpemUsIGxlbjsKKyAgICBQeV9idWZmZXIgZGF0YSA9IHtOVUxMLCBOVUxMfTsKKyAgICBQeV9zc2l6ZV90IF9yZXR1cm5fdmFsdWU7CiAKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIml5Kjp3cml0ZSIsICZmZCwgJnBidWYpKQotICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgIml5Kjp3cml0ZSIsCisgICAgICAgICZmZCwgJmRhdGEpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgX3JldHVybl92YWx1ZSA9IG9zX3dyaXRlX2ltcGwobW9kdWxlLCBmZCwgJmRhdGEpOworICAgIGlmICgoX3JldHVybl92YWx1ZSA9PSAtMSkgJiYgUHlFcnJfT2NjdXJyZWQoKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IFB5TG9uZ19Gcm9tU3NpemVfdChfcmV0dXJuX3ZhbHVlKTsKKworZXhpdDoKKyAgICAvKiBDbGVhbnVwIGZvciBkYXRhICovCisgICAgaWYgKGRhdGEub2JqKQorICAgICAgIFB5QnVmZmVyX1JlbGVhc2UoJmRhdGEpOworCisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5X3NzaXplX3QKK29zX3dyaXRlX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IGZkLCBQeV9idWZmZXIgKmRhdGEpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9YWViOTZhY2ZkZDRkNTExMiBpbnB1dD0zMjA3ZTI4OTYzMjM0ZjNjXSovCit7CisgICAgUHlfc3NpemVfdCBzaXplOworICAgIGludCBhc3luY19lcnIgPSAwOworICAgIFB5X3NzaXplX3QgbGVuID0gZGF0YS0+bGVuOworCiAgICAgaWYgKCFfUHlWZXJpZnlfZmQoZmQpKSB7Ci0gICAgICAgIFB5QnVmZmVyX1JlbGVhc2UoJnBidWYpOwotICAgICAgICByZXR1cm4gcG9zaXhfZXJyb3IoKTsKKyAgICAgICAgcG9zaXhfZXJyb3IoKTsKKyAgICAgICAgcmV0dXJuIC0xOwogICAgIH0KLSAgICBsZW4gPSBwYnVmLmxlbjsKLSAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCisKKyAgICBkbyB7CisgICAgICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKICNpZmRlZiBNU19XSU5ET1dTCi0gICAgaWYgKGxlbiA+IElOVF9NQVgpCi0gICAgICAgIGxlbiA9IElOVF9NQVg7Ci0gICAgc2l6ZSA9IHdyaXRlKGZkLCBwYnVmLmJ1ZiwgKGludClsZW4pOworICAgICAgICBpZiAobGVuID4gSU5UX01BWCkKKyAgICAgICAgICAgIGxlbiA9IElOVF9NQVg7CisgICAgICAgIHNpemUgPSB3cml0ZShmZCwgZGF0YS0+YnVmLCAoaW50KWxlbik7CiAjZWxzZQotICAgIHNpemUgPSB3cml0ZShmZCwgcGJ1Zi5idWYsIGxlbik7CisgICAgICAgIHNpemUgPSB3cml0ZShmZCwgZGF0YS0+YnVmLCBsZW4pOwogI2VuZGlmCi0gICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKLSAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZwYnVmKTsKLSAgICBpZiAoc2l6ZSA8IDApCi0gICAgICAgIHJldHVybiBwb3NpeF9lcnJvcigpOwotICAgIHJldHVybiBQeUxvbmdfRnJvbVNzaXplX3Qoc2l6ZSk7CisgICAgICAgIFB5X0VORF9BTExPV19USFJFQURTCisgICAgfSB3aGlsZSAoc2l6ZSA8IDAgJiYgZXJybm8gPT0gRUlOVFIgJiYgIShhc3luY19lcnIgPSBQeUVycl9DaGVja1NpZ25hbHMoKSkpOworCisgICAgaWYgKHNpemUgPCAwKSB7CisgICAgICAgIGlmICghYXN5bmNfZXJyKQorICAgICAgICAgICAgcG9zaXhfZXJyb3IoKTsKKyAgICAgICAgcmV0dXJuIC0xOworICAgIH0KKyAgICByZXR1cm4gc2l6ZTsKIH0KIAogI2lmZGVmIEhBVkVfU0VOREZJTEUKQEAgLTgyMjksMTEgKzExNTYxLDEzIEBACiAgICAgICAgICAgICAtPiBieXRlc3dyaXR0ZW5cblwKIENvcHkgbmJ5dGVzIGJ5dGVzIGZyb20gZmlsZSBkZXNjcmlwdG9yIGluIHRvIGZpbGUgZGVzY3JpcHRvciBvdXQuIik7CiAKKy8qIEFDIDMuNTogZG9uJ3QgYm90aGVyIGNvbnZlcnRpbmcsIGhhcyBvcHRpb25hbCBncm91cCovCiBzdGF0aWMgUHlPYmplY3QgKgogcG9zaXhfc2VuZGZpbGUoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dkaWN0KQogewogICAgIGludCBpbiwgb3V0OwogICAgIFB5X3NzaXplX3QgcmV0OworICAgIGludCBhc3luY19lcnIgPSAwOwogICAgIG9mZl90IG9mZnNldDsKIAogI2lmIGRlZmluZWQoX19GcmVlQlNEX18pIHx8IGRlZmluZWQoX19EcmFnb25GbHlfXykgfHwgZGVmaW5lZChfX0FQUExFX18pCkBAIC04MjU0LDEwICsxMTU4OCwxMCBAQAogCiAjaWZkZWYgX19BUFBMRV9fCiAgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dkaWN0LCAiaWlPJk8mfE9PaTpzZW5kZmlsZSIsCi0gICAgICAgIGtleXdvcmRzLCAmb3V0LCAmaW4sIF9wYXJzZV9vZmZfdCwgJm9mZnNldCwgX3BhcnNlX29mZl90LCAmc2J5dGVzLAorICAgICAgICBrZXl3b3JkcywgJm91dCwgJmluLCBQeV9vZmZfdF9jb252ZXJ0ZXIsICZvZmZzZXQsIFB5X29mZl90X2NvbnZlcnRlciwgJnNieXRlcywKICNlbHNlCiAgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dkaWN0LCAiaWlPJm58T09pOnNlbmRmaWxlIiwKLSAgICAgICAga2V5d29yZHMsICZvdXQsICZpbiwgX3BhcnNlX29mZl90LCAmb2Zmc2V0LCAmbGVuLAorICAgICAgICBrZXl3b3JkcywgJm91dCwgJmluLCBQeV9vZmZfdF9jb252ZXJ0ZXIsICZvZmZzZXQsICZsZW4sCiAjZW5kaWYKICAgICAgICAgICAgICAgICAmaGVhZGVycywgJnRyYWlsZXJzLCAmZmxhZ3MpKQogICAgICAgICAgICAgcmV0dXJuIE5VTEw7CkBAIC04Mjk2LDEzICsxMTYzMCwxNSBAQAogICAgICAgICB9CiAgICAgfQogCi0gICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUworICAgIGRvIHsKKyAgICAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwogI2lmZGVmIF9fQVBQTEVfXwotICAgIHJldCA9IHNlbmRmaWxlKGluLCBvdXQsIG9mZnNldCwgJnNieXRlcywgJnNmLCBmbGFncyk7CisgICAgICAgIHJldCA9IHNlbmRmaWxlKGluLCBvdXQsIG9mZnNldCwgJnNieXRlcywgJnNmLCBmbGFncyk7CiAjZWxzZQotICAgIHJldCA9IHNlbmRmaWxlKGluLCBvdXQsIG9mZnNldCwgbGVuLCAmc2YsICZzYnl0ZXMsIGZsYWdzKTsKKyAgICAgICAgcmV0ID0gc2VuZGZpbGUoaW4sIG91dCwgb2Zmc2V0LCBsZW4sICZzZiwgJnNieXRlcywgZmxhZ3MpOwogI2VuZGlmCi0gICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKKyAgICAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKKyAgICB9IHdoaWxlIChyZXQgPCAwICYmIGVycm5vID09IEVJTlRSICYmICEoYXN5bmNfZXJyID0gUHlFcnJfQ2hlY2tTaWduYWxzKCkpKTsKIAogICAgIGlmIChzZi5oZWFkZXJzICE9IE5VTEwpCiAgICAgICAgIGlvdl9jbGVhbnVwKHNmLmhlYWRlcnMsIGhidWYsIHNmLmhkcl9jbnQpOwpAQCAtODMyMSw3ICsxMTY1Nyw3IEBACiAgICAgICAgICAgICAgICAgcmV0dXJuIHBvc2l4X2Vycm9yKCk7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KLSAgICAgICAgcmV0dXJuIHBvc2l4X2Vycm9yKCk7CisgICAgICAgIHJldHVybiAoIWFzeW5jX2VycikgPyBwb3NpeF9lcnJvcigpIDogTlVMTDsKICAgICB9CiAgICAgZ290byBkb25lOwogCkBAIC04MzQyLDc2ICsxMTY3OCwxOTAgQEAKICAgICAgICAgcmV0dXJuIE5VTEw7CiAjaWZkZWYgbGludXgKICAgICBpZiAob2Zmb2JqID09IFB5X05vbmUpIHsKLSAgICAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwotICAgICAgICByZXQgPSBzZW5kZmlsZShvdXQsIGluLCBOVUxMLCBjb3VudCk7Ci0gICAgICAgIFB5X0VORF9BTExPV19USFJFQURTCisgICAgICAgIGRvIHsKKyAgICAgICAgICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKKyAgICAgICAgICAgIHJldCA9IHNlbmRmaWxlKG91dCwgaW4sIE5VTEwsIGNvdW50KTsKKyAgICAgICAgICAgIFB5X0VORF9BTExPV19USFJFQURTCisgICAgICAgIH0gd2hpbGUgKHJldCA8IDAgJiYgZXJybm8gPT0gRUlOVFIgJiYgIShhc3luY19lcnIgPSBQeUVycl9DaGVja1NpZ25hbHMoKSkpOwogICAgICAgICBpZiAocmV0IDwgMCkKLSAgICAgICAgICAgIHJldHVybiBwb3NpeF9lcnJvcigpOworICAgICAgICAgICAgcmV0dXJuICghYXN5bmNfZXJyKSA/IHBvc2l4X2Vycm9yKCkgOiBOVUxMOwogICAgICAgICByZXR1cm4gUHlfQnVpbGRWYWx1ZSgibiIsIHJldCk7CiAgICAgfQogI2VuZGlmCi0gICAgaWYgKCFfcGFyc2Vfb2ZmX3Qob2Zmb2JqLCAmb2Zmc2V0KSkKKyAgICBpZiAoIVB5X29mZl90X2NvbnZlcnRlcihvZmZvYmosICZvZmZzZXQpKQogICAgICAgICByZXR1cm4gTlVMTDsKLSAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCi0gICAgcmV0ID0gc2VuZGZpbGUob3V0LCBpbiwgJm9mZnNldCwgY291bnQpOwotICAgIFB5X0VORF9BTExPV19USFJFQURTCisKKyAgICBkbyB7CisgICAgICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKKyAgICAgICAgcmV0ID0gc2VuZGZpbGUob3V0LCBpbiwgJm9mZnNldCwgY291bnQpOworICAgICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUworICAgIH0gd2hpbGUgKHJldCA8IDAgJiYgZXJybm8gPT0gRUlOVFIgJiYgIShhc3luY19lcnIgPSBQeUVycl9DaGVja1NpZ25hbHMoKSkpOwogICAgIGlmIChyZXQgPCAwKQotICAgICAgICByZXR1cm4gcG9zaXhfZXJyb3IoKTsKKyAgICAgICAgcmV0dXJuICghYXN5bmNfZXJyKSA/IHBvc2l4X2Vycm9yKCkgOiBOVUxMOwogICAgIHJldHVybiBQeV9CdWlsZFZhbHVlKCJuIiwgcmV0KTsKICNlbmRpZgogfQotI2VuZGlmCisjZW5kaWYgLyogSEFWRV9TRU5ERklMRSAqLwogCi1QeURvY19TVFJWQVIocG9zaXhfZnN0YXRfX2RvY19fLAotImZzdGF0KGZkKSAtPiBzdGF0IHJlc3VsdFxuXG5cCi1MaWtlIHN0YXQoKSwgYnV0IGZvciBhbiBvcGVuIGZpbGUgZGVzY3JpcHRvci5cblwKLUVxdWl2YWxlbnQgdG8gc3RhdChmZD1mZCkuIik7CisKKy8qW2NsaW5pYyBpbnB1dF0KK29zLmZzdGF0CisKKyAgICBmZCA6IGludAorCitQZXJmb3JtIGEgc3RhdCBzeXN0ZW0gY2FsbCBvbiB0aGUgZ2l2ZW4gZmlsZSBkZXNjcmlwdG9yLgorCitMaWtlIHN0YXQoKSwgYnV0IGZvciBhbiBvcGVuIGZpbGUgZGVzY3JpcHRvci4KK0VxdWl2YWxlbnQgdG8gb3Muc3RhdChmZCkuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19mc3RhdF9fZG9jX18sCisiZnN0YXQoJG1vZHVsZSwgLywgZmQpXG4iCisiLS1cbiIKKyJcbiIKKyJQZXJmb3JtIGEgc3RhdCBzeXN0ZW0gY2FsbCBvbiB0aGUgZ2l2ZW4gZmlsZSBkZXNjcmlwdG9yLlxuIgorIlxuIgorIkxpa2Ugc3RhdCgpLCBidXQgZm9yIGFuIG9wZW4gZmlsZSBkZXNjcmlwdG9yLlxuIgorIkVxdWl2YWxlbnQgdG8gb3Muc3RhdChmZCkuIik7CisKKyNkZWZpbmUgT1NfRlNUQVRfTUVUSE9EREVGICAgIFwKKyAgICB7ImZzdGF0IiwgKFB5Q0Z1bmN0aW9uKW9zX2ZzdGF0LCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgb3NfZnN0YXRfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X2ZzdGF0KFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK29zX2ZzdGF0X2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IGZkKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX2ZzdGF0KFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQogeworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIHN0YXRpYyBjaGFyICpfa2V5d29yZHNbXSA9IHsiZmQiLCBOVUxMfTsKICAgICBpbnQgZmQ7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsCisgICAgICAgICJpOmZzdGF0IiwgX2tleXdvcmRzLAorICAgICAgICAmZmQpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gb3NfZnN0YXRfaW1wbChtb2R1bGUsIGZkKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3NfZnN0YXRfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgZmQpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ZGFlNGE5Njc4YzdiZDg4MSBpbnB1dD0yN2UwZTBlYmJlNTYwMGM5XSovCit7CiAgICAgU1RSVUNUX1NUQVQgc3Q7CiAgICAgaW50IHJlczsKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgImk6ZnN0YXQiLCAmZmQpKQotICAgICAgICByZXR1cm4gTlVMTDsKLSAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCi0gICAgcmVzID0gRlNUQVQoZmQsICZzdCk7Ci0gICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKKyAgICBpbnQgYXN5bmNfZXJyID0gMDsKKworICAgIGRvIHsKKyAgICAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUworICAgICAgICByZXMgPSBGU1RBVChmZCwgJnN0KTsKKyAgICAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKKyAgICB9IHdoaWxlIChyZXMgIT0gMCAmJiBlcnJubyA9PSBFSU5UUiAmJiAhKGFzeW5jX2VyciA9IFB5RXJyX0NoZWNrU2lnbmFscygpKSk7CiAgICAgaWYgKHJlcyAhPSAwKSB7CiAjaWZkZWYgTVNfV0lORE9XUwogICAgICAgICByZXR1cm4gUHlFcnJfU2V0RnJvbVdpbmRvd3NFcnIoMCk7CiAjZWxzZQotICAgICAgICByZXR1cm4gcG9zaXhfZXJyb3IoKTsKKyAgICAgICAgcmV0dXJuICghYXN5bmNfZXJyKSA/IHBvc2l4X2Vycm9yKCkgOiBOVUxMOwogI2VuZGlmCiAgICAgfQogCiAgICAgcmV0dXJuIF9weXN0YXRfZnJvbXN0cnVjdHN0YXQoJnN0KTsKIH0KIAotUHlEb2NfU1RSVkFSKHBvc2l4X2lzYXR0eV9fZG9jX18sCi0iaXNhdHR5KGZkKSAtPiBib29sXG5cblwKLVJldHVybiBUcnVlIGlmIHRoZSBmaWxlIGRlc2NyaXB0b3IgJ2ZkJyBpcyBhbiBvcGVuIGZpbGUgZGVzY3JpcHRvclxuXAotY29ubmVjdGVkIHRvIHRoZSBzbGF2ZSBlbmQgb2YgYSB0ZXJtaW5hbC4iKTsKKworLypbY2xpbmljIGlucHV0XQorb3MuaXNhdHR5IC0+IGJvb2wKKyAgICBmZDogaW50CisgICAgLworCitSZXR1cm4gVHJ1ZSBpZiB0aGUgZmQgaXMgY29ubmVjdGVkIHRvIGEgdGVybWluYWwuCisKK1JldHVybiBUcnVlIGlmIHRoZSBmaWxlIGRlc2NyaXB0b3IgaXMgYW4gb3BlbiBmaWxlIGRlc2NyaXB0b3IKK2Nvbm5lY3RlZCB0byB0aGUgc2xhdmUgZW5kIG9mIGEgdGVybWluYWwuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19pc2F0dHlfX2RvY19fLAorImlzYXR0eSgkbW9kdWxlLCBmZCwgLylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiBUcnVlIGlmIHRoZSBmZCBpcyBjb25uZWN0ZWQgdG8gYSB0ZXJtaW5hbC5cbiIKKyJcbiIKKyJSZXR1cm4gVHJ1ZSBpZiB0aGUgZmlsZSBkZXNjcmlwdG9yIGlzIGFuIG9wZW4gZmlsZSBkZXNjcmlwdG9yXG4iCisiY29ubmVjdGVkIHRvIHRoZSBzbGF2ZSBlbmQgb2YgYSB0ZXJtaW5hbC4iKTsKKworI2RlZmluZSBPU19JU0FUVFlfTUVUSE9EREVGICAgIFwKKyAgICB7ImlzYXR0eSIsIChQeUNGdW5jdGlvbilvc19pc2F0dHksIE1FVEhfVkFSQVJHUywgb3NfaXNhdHR5X19kb2NfX30sCisKK3N0YXRpYyBpbnQKK29zX2lzYXR0eV9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCBmZCk7CiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9pc2F0dHkoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorb3NfaXNhdHR5KFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQogeworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOwogICAgIGludCBmZDsKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgImk6aXNhdHR5IiwgJmZkKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgaWYgKCFfUHlWZXJpZnlfZmQoZmQpKQotICAgICAgICByZXR1cm4gUHlCb29sX0Zyb21Mb25nKDApOwotICAgIHJldHVybiBQeUJvb2xfRnJvbUxvbmcoaXNhdHR5KGZkKSk7CisgICAgaW50IF9yZXR1cm5fdmFsdWU7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgImk6aXNhdHR5IiwKKyAgICAgICAgJmZkKSkKKyAgICAgICAgZ290byBleGl0OworICAgIF9yZXR1cm5fdmFsdWUgPSBvc19pc2F0dHlfaW1wbChtb2R1bGUsIGZkKTsKKyAgICBpZiAoKF9yZXR1cm5fdmFsdWUgPT0gLTEpICYmIFB5RXJyX09jY3VycmVkKCkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBQeUJvb2xfRnJvbUxvbmcoKGxvbmcpX3JldHVybl92YWx1ZSk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKIH0KIAorc3RhdGljIGludAorb3NfaXNhdHR5X2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IGZkKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTRiZmFkYmZlMjI3MTUwOTcgaW5wdXQ9MDhjZTk0YWExZWFmN2I1ZV0qLworeworICAgIGlmICghX1B5VmVyaWZ5X2ZkKGZkKSkKKyAgICAgICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIGlzYXR0eShmZCk7Cit9CisKKwogI2lmZGVmIEhBVkVfUElQRQotUHlEb2NfU1RSVkFSKHBvc2l4X3BpcGVfX2RvY19fLAotInBpcGUoKSAtPiAocmVhZF9lbmQsIHdyaXRlX2VuZClcblxuXAotQ3JlYXRlIGEgcGlwZS4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK29zLnBpcGUKKworQ3JlYXRlIGEgcGlwZS4KKworUmV0dXJucyBhIHR1cGxlIG9mIHR3byBmaWxlIGRlc2NyaXB0b3JzOgorICAocmVhZF9mZCwgd3JpdGVfZmQpCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19waXBlX19kb2NfXywKKyJwaXBlKCRtb2R1bGUsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJDcmVhdGUgYSBwaXBlLlxuIgorIlxuIgorIlJldHVybnMgYSB0dXBsZSBvZiB0d28gZmlsZSBkZXNjcmlwdG9yczpcbiIKKyIgIChyZWFkX2ZkLCB3cml0ZV9mZCkiKTsKKworI2RlZmluZSBPU19QSVBFX01FVEhPRERFRiAgICBcCisgICAgeyJwaXBlIiwgKFB5Q0Z1bmN0aW9uKW9zX3BpcGUsIE1FVEhfTk9BUkdTLCBvc19waXBlX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9waXBlKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqbm9hcmdzKQorb3NfcGlwZV9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUpOworCitzdGF0aWMgUHlPYmplY3QgKgorb3NfcGlwZShQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqUHlfVU5VU0VEKGlnbm9yZWQpKQoreworICAgIHJldHVybiBvc19waXBlX2ltcGwobW9kdWxlKTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3BpcGVfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTBkYTI0NzlmMjI2NmU3NzQgaW5wdXQ9MDI1MzVlOGM4ZmE2YzRkNF0qLwogewogICAgIGludCBmZHNbMl07CiAjaWZkZWYgTVNfV0lORE9XUwpAQCAtODQ3OSwyNSArMTE5MjksNjQgQEAKIH0KICNlbmRpZiAgLyogSEFWRV9QSVBFICovCiAKKwogI2lmZGVmIEhBVkVfUElQRTIKLVB5RG9jX1NUUlZBUihwb3NpeF9waXBlMl9fZG9jX18sCi0icGlwZTIoZmxhZ3MpIC0+IChyZWFkX2VuZCwgd3JpdGVfZW5kKVxuXG5cCi1DcmVhdGUgYSBwaXBlIHdpdGggZmxhZ3Mgc2V0IGF0b21pY2FsbHkuXG5cCi1mbGFncyBjYW4gYmUgY29uc3RydWN0ZWQgYnkgT1JpbmcgdG9nZXRoZXIgb25lIG9yIG1vcmUgb2YgdGhlc2UgdmFsdWVzOlxuXAotT19OT05CTE9DSywgT19DTE9FWEVDLlxuXAotIik7CisvKltjbGluaWMgaW5wdXRdCitvcy5waXBlMgorCisgICAgZmxhZ3M6IGludAorICAgIC8KKworQ3JlYXRlIGEgcGlwZSB3aXRoIGZsYWdzIHNldCBhdG9taWNhbGx5LgorCitSZXR1cm5zIGEgdHVwbGUgb2YgdHdvIGZpbGUgZGVzY3JpcHRvcnM6CisgIChyZWFkX2ZkLCB3cml0ZV9mZCkKKworZmxhZ3MgY2FuIGJlIGNvbnN0cnVjdGVkIGJ5IE9SaW5nIHRvZ2V0aGVyIG9uZSBvciBtb3JlIG9mIHRoZXNlIHZhbHVlczoKK09fTk9OQkxPQ0ssIE9fQ0xPRVhFQy4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX3BpcGUyX19kb2NfXywKKyJwaXBlMigkbW9kdWxlLCBmbGFncywgLylcbiIKKyItLVxuIgorIlxuIgorIkNyZWF0ZSBhIHBpcGUgd2l0aCBmbGFncyBzZXQgYXRvbWljYWxseS5cbiIKKyJcbiIKKyJSZXR1cm5zIGEgdHVwbGUgb2YgdHdvIGZpbGUgZGVzY3JpcHRvcnM6XG4iCisiICAocmVhZF9mZCwgd3JpdGVfZmQpXG4iCisiXG4iCisiZmxhZ3MgY2FuIGJlIGNvbnN0cnVjdGVkIGJ5IE9SaW5nIHRvZ2V0aGVyIG9uZSBvciBtb3JlIG9mIHRoZXNlIHZhbHVlczpcbiIKKyJPX05PTkJMT0NLLCBPX0NMT0VYRUMuIik7CisKKyNkZWZpbmUgT1NfUElQRTJfTUVUSE9EREVGICAgIFwKKyAgICB7InBpcGUyIiwgKFB5Q0Z1bmN0aW9uKW9zX3BpcGUyLCBNRVRIX1ZBUkFSR1MsIG9zX3BpcGUyX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9waXBlMihQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZykKK29zX3BpcGUyX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IGZsYWdzKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3BpcGUyKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQogeworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOwogICAgIGludCBmbGFnczsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAiaTpwaXBlMiIsCisgICAgICAgICZmbGFncykpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBvc19waXBlMl9pbXBsKG1vZHVsZSwgZmxhZ3MpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19waXBlMl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCBmbGFncykKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD05ZTI3Yzc5OWNlMTkyMjBiIGlucHV0PWYyNjFiNmU3ZTYzYzY4MTddKi8KK3sKICAgICBpbnQgZmRzWzJdOwogICAgIGludCByZXM7CiAKLSAgICBmbGFncyA9IF9QeUxvbmdfQXNJbnQoYXJnKTsKLSAgICBpZiAoZmxhZ3MgPT0gLTEgJiYgUHlFcnJfT2NjdXJyZWQoKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0KICAgICByZXMgPSBwaXBlMihmZHMsIGZsYWdzKTsKICAgICBpZiAocmVzICE9IDApCiAgICAgICAgIHJldHVybiBwb3NpeF9lcnJvcigpOwpAQCAtODUwNSwzMDYgKzExOTk0LDYzNSBAQAogfQogI2VuZGlmIC8qIEhBVkVfUElQRTIgKi8KIAorCiAjaWZkZWYgSEFWRV9XUklURVYKLVB5RG9jX1NUUlZBUihwb3NpeF93cml0ZXZfX2RvY19fLAotIndyaXRldihmZCwgYnVmZmVycykgLT4gYnl0ZXN3cml0dGVuXG5cblwKLVdyaXRlIHRoZSBjb250ZW50cyBvZiAqYnVmZmVycyogdG8gZmlsZSBkZXNjcmlwdG9yICpmZCouICpidWZmZXJzKlxuXAotbXVzdCBiZSBhIHNlcXVlbmNlIG9mIGJ5dGVzLWxpa2Ugb2JqZWN0cy5cblxuXAotd3JpdGV2IHdyaXRlcyB0aGUgY29udGVudHMgb2YgZWFjaCBvYmplY3QgdG8gdGhlIGZpbGUgZGVzY3JpcHRvclxuXAotYW5kIHJldHVybnMgdGhlIHRvdGFsIG51bWJlciBvZiBieXRlcyB3cml0dGVuLiIpOworLypbY2xpbmljIGlucHV0XQorb3Mud3JpdGV2IC0+IFB5X3NzaXplX3QKKyAgICBmZDogaW50CisgICAgYnVmZmVyczogb2JqZWN0CisgICAgLworCitJdGVyYXRlIG92ZXIgYnVmZmVycywgYW5kIHdyaXRlIHRoZSBjb250ZW50cyBvZiBlYWNoIHRvIGEgZmlsZSBkZXNjcmlwdG9yLgorCitSZXR1cm5zIHRoZSB0b3RhbCBudW1iZXIgb2YgYnl0ZXMgd3JpdHRlbi4KK2J1ZmZlcnMgbXVzdCBiZSBhIHNlcXVlbmNlIG9mIGJ5dGVzLWxpa2Ugb2JqZWN0cy4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX3dyaXRldl9fZG9jX18sCisid3JpdGV2KCRtb2R1bGUsIGZkLCBidWZmZXJzLCAvKVxuIgorIi0tXG4iCisiXG4iCisiSXRlcmF0ZSBvdmVyIGJ1ZmZlcnMsIGFuZCB3cml0ZSB0aGUgY29udGVudHMgb2YgZWFjaCB0byBhIGZpbGUgZGVzY3JpcHRvci5cbiIKKyJcbiIKKyJSZXR1cm5zIHRoZSB0b3RhbCBudW1iZXIgb2YgYnl0ZXMgd3JpdHRlbi5cbiIKKyJidWZmZXJzIG11c3QgYmUgYSBzZXF1ZW5jZSBvZiBieXRlcy1saWtlIG9iamVjdHMuIik7CisKKyNkZWZpbmUgT1NfV1JJVEVWX01FVEhPRERFRiAgICBcCisgICAgeyJ3cml0ZXYiLCAoUHlDRnVuY3Rpb24pb3Nfd3JpdGV2LCBNRVRIX1ZBUkFSR1MsIG9zX3dyaXRldl9fZG9jX199LAorCitzdGF0aWMgUHlfc3NpemVfdAorb3Nfd3JpdGV2X2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IGZkLCBQeU9iamVjdCAqYnVmZmVycyk7CiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF93cml0ZXYoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorb3Nfd3JpdGV2KFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQogewotICAgIGludCBmZCwgY250OwotICAgIFB5X3NzaXplX3QgcmVzOwotICAgIFB5T2JqZWN0ICpzZXE7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgaW50IGZkOworICAgIFB5T2JqZWN0ICpidWZmZXJzOworICAgIFB5X3NzaXplX3QgX3JldHVybl92YWx1ZTsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAiaU86d3JpdGV2IiwKKyAgICAgICAgJmZkLCAmYnVmZmVycykpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICBfcmV0dXJuX3ZhbHVlID0gb3Nfd3JpdGV2X2ltcGwobW9kdWxlLCBmZCwgYnVmZmVycyk7CisgICAgaWYgKChfcmV0dXJuX3ZhbHVlID09IC0xKSAmJiBQeUVycl9PY2N1cnJlZCgpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gUHlMb25nX0Zyb21Tc2l6ZV90KF9yZXR1cm5fdmFsdWUpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeV9zc2l6ZV90Citvc193cml0ZXZfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgZmQsIFB5T2JqZWN0ICpidWZmZXJzKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTU5MWM2NjJkY2NiZTQ5NTEgaW5wdXQ9NWI4ZDE3ZmU0MTg5ZDJmZV0qLworeworICAgIGludCBjbnQ7CisgICAgUHlfc3NpemVfdCByZXN1bHQ7CisgICAgaW50IGFzeW5jX2VyciA9IDA7CiAgICAgc3RydWN0IGlvdmVjICppb3Y7CiAgICAgUHlfYnVmZmVyICpidWY7Ci0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJpTzp3cml0ZXYiLCAmZmQsICZzZXEpKQotICAgICAgICByZXR1cm4gTlVMTDsKLSAgICBpZiAoIVB5U2VxdWVuY2VfQ2hlY2soc2VxKSkgeworCisgICAgaWYgKCFQeVNlcXVlbmNlX0NoZWNrKGJ1ZmZlcnMpKSB7CiAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsCiAgICAgICAgICAgICAid3JpdGV2KCkgYXJnIDIgbXVzdCBiZSBhIHNlcXVlbmNlIik7Ci0gICAgICAgIHJldHVybiBOVUxMOworICAgICAgICByZXR1cm4gLTE7CiAgICAgfQotICAgIGNudCA9IFB5U2VxdWVuY2VfU2l6ZShzZXEpOworICAgIGNudCA9IFB5U2VxdWVuY2VfU2l6ZShidWZmZXJzKTsKIAotICAgIGlmIChpb3Zfc2V0dXAoJmlvdiwgJmJ1Ziwgc2VxLCBjbnQsIFB5QlVGX1NJTVBMRSkgPCAwKSB7Ci0gICAgICAgIHJldHVybiBOVUxMOworICAgIGlmIChpb3Zfc2V0dXAoJmlvdiwgJmJ1ZiwgYnVmZmVycywgY250LCBQeUJVRl9TSU1QTEUpIDwgMCkgeworICAgICAgICByZXR1cm4gLTE7CiAgICAgfQogCi0gICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwotICAgIHJlcyA9IHdyaXRldihmZCwgaW92LCBjbnQpOwotICAgIFB5X0VORF9BTExPV19USFJFQURTCisgICAgZG8geworICAgICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCisgICAgICAgIHJlc3VsdCA9IHdyaXRldihmZCwgaW92LCBjbnQpOworICAgICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUworICAgIH0gd2hpbGUgKHJlc3VsdCA8IDAgJiYgZXJybm8gPT0gRUlOVFIgJiYgIShhc3luY19lcnIgPSBQeUVycl9DaGVja1NpZ25hbHMoKSkpOwogCiAgICAgaW92X2NsZWFudXAoaW92LCBidWYsIGNudCk7Ci0gICAgaWYgKHJlcyA8IDApCi0gICAgICAgIHJldHVybiBwb3NpeF9lcnJvcigpOworICAgIGlmIChyZXN1bHQgPCAwICYmICFhc3luY19lcnIpCisgICAgICAgIHBvc2l4X2Vycm9yKCk7CiAKLSAgICByZXR1cm4gUHlMb25nX0Zyb21Tc2l6ZV90KHJlcyk7Ci19Ci0jZW5kaWYKLQotI2lmZGVmIEhBVkVfUFdSSVRFCi1QeURvY19TVFJWQVIocG9zaXhfcHdyaXRlX19kb2NfXywKLSJwd3JpdGUoZmQsIHN0cmluZywgb2Zmc2V0KSAtPiBieXRlc3dyaXR0ZW5cblxuXAotV3JpdGUgc3RyaW5nIHRvIGEgZmlsZSBkZXNjcmlwdG9yLCBmZCwgZnJvbSBvZmZzZXQsIGxlYXZpbmcgdGhlIGZpbGVcblwKLW9mZnNldCB1bmNoYW5nZWQuIik7Ci0KLXN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9wd3JpdGUoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQotewotICAgIFB5X2J1ZmZlciBwYnVmOwotICAgIGludCBmZDsKLSAgICBvZmZfdCBvZmZzZXQ7Ci0gICAgUHlfc3NpemVfdCBzaXplOwotCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJpeSpPJjpwd3JpdGUiLCAmZmQsICZwYnVmLCBfcGFyc2Vfb2ZmX3QsICZvZmZzZXQpKQotICAgICAgICByZXR1cm4gTlVMTDsKLQotICAgIGlmICghX1B5VmVyaWZ5X2ZkKGZkKSkgewotICAgICAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZwYnVmKTsKLSAgICAgICAgcmV0dXJuIHBvc2l4X2Vycm9yKCk7Ci0gICAgfQotICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKLSAgICBzaXplID0gcHdyaXRlKGZkLCBwYnVmLmJ1ZiwgKHNpemVfdClwYnVmLmxlbiwgb2Zmc2V0KTsKLSAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUwotICAgIFB5QnVmZmVyX1JlbGVhc2UoJnBidWYpOwotICAgIGlmIChzaXplIDwgMCkKLSAgICAgICAgcmV0dXJuIHBvc2l4X2Vycm9yKCk7Ci0gICAgcmV0dXJuIFB5TG9uZ19Gcm9tU3NpemVfdChzaXplKTsKLX0KLSNlbmRpZgotCi0jaWZkZWYgSEFWRV9NS0ZJRk8KLVB5RG9jX1NUUlZBUihwb3NpeF9ta2ZpZm9fX2RvY19fLAotIm1rZmlmbyhwYXRoLCBtb2RlPTBvNjY2LCAqLCBkaXJfZmQ9Tm9uZSlcblxuXAotQ3JlYXRlIGEgRklGTyAoYSBQT1NJWCBuYW1lZCBwaXBlKS5cblwKLVxuXAotSWYgZGlyX2ZkIGlzIG5vdCBOb25lLCBpdCBzaG91bGQgYmUgYSBmaWxlIGRlc2NyaXB0b3Igb3BlbiB0byBhIGRpcmVjdG9yeSxcblwKLSAgYW5kIHBhdGggc2hvdWxkIGJlIHJlbGF0aXZlOyBwYXRoIHdpbGwgdGhlbiBiZSByZWxhdGl2ZSB0byB0aGF0IGRpcmVjdG9yeS5cblwKLWRpcl9mZCBtYXkgbm90IGJlIGltcGxlbWVudGVkIG9uIHlvdXIgcGxhdGZvcm0uXG5cCi0gIElmIGl0IGlzIHVuYXZhaWxhYmxlLCB1c2luZyBpdCB3aWxsIHJhaXNlIGEgTm90SW1wbGVtZW50ZWRFcnJvci4iKTsKLQotc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X21rZmlmbyhQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCi17Ci0gICAgcGF0aF90IHBhdGg7Ci0gICAgaW50IG1vZGUgPSAwNjY2OwotICAgIGludCBkaXJfZmQgPSBERUZBVUxUX0RJUl9GRDsKLSAgICBpbnQgcmVzdWx0OwotICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOwotICAgIHN0YXRpYyBjaGFyICprZXl3b3Jkc1tdID0geyJwYXRoIiwgIm1vZGUiLCAiZGlyX2ZkIiwgTlVMTH07Ci0KLSAgICBtZW1zZXQoJnBhdGgsIDAsIHNpemVvZihwYXRoKSk7Ci0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLCAiTyZ8aSRPJjpta2ZpZm8iLCBrZXl3b3JkcywKLSAgICAgICAgcGF0aF9jb252ZXJ0ZXIsICZwYXRoLAotICAgICAgICAmbW9kZSwKLSNpZmRlZiBIQVZFX01LRklGT0FUCi0gICAgICAgIGRpcl9mZF9jb252ZXJ0ZXIsICZkaXJfZmQKLSNlbHNlCi0gICAgICAgIGRpcl9mZF91bmF2YWlsYWJsZSwgJmRpcl9mZAotI2VuZGlmCi0gICAgICAgICkpCi0gICAgICAgIHJldHVybiBOVUxMOwotCi0gICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwotI2lmZGVmIEhBVkVfTUtGSUZPQVQKLSAgICBpZiAoZGlyX2ZkICE9IERFRkFVTFRfRElSX0ZEKQotICAgICAgICByZXN1bHQgPSBta2ZpZm9hdChkaXJfZmQsIHBhdGgubmFycm93LCBtb2RlKTsKLSAgICBlbHNlCi0jZW5kaWYKLSAgICAgICAgcmVzdWx0ID0gbWtmaWZvKHBhdGgubmFycm93LCBtb2RlKTsKLSAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUwotCi0gICAgaWYgKHJlc3VsdCA8IDApIHsKLSAgICAgICAgcmV0dXJuX3ZhbHVlID0gcG9zaXhfZXJyb3IoKTsKLSAgICAgICAgZ290byBleGl0OwotICAgIH0KLQotICAgIHJldHVybl92YWx1ZSA9IFB5X05vbmU7Ci0gICAgUHlfSU5DUkVGKFB5X05vbmUpOwotCi1leGl0OgotICAgIHBhdGhfY2xlYW51cCgmcGF0aCk7Ci0gICAgcmV0dXJuIHJldHVybl92YWx1ZTsKLX0KLSNlbmRpZgotCi0jaWYgZGVmaW5lZChIQVZFX01LTk9EKSAmJiBkZWZpbmVkKEhBVkVfTUFLRURFVikKLVB5RG9jX1NUUlZBUihwb3NpeF9ta25vZF9fZG9jX18sCi0ibWtub2QoZmlsZW5hbWUsIG1vZGU9MG82MDAsIGRldmljZT0wLCAqLCBkaXJfZmQ9Tm9uZSlcblxuXAotQ3JlYXRlIGEgZmlsZXN5c3RlbSBub2RlIChmaWxlLCBkZXZpY2Ugc3BlY2lhbCBmaWxlIG9yIG5hbWVkIHBpcGUpXG5cCi1uYW1lZCBmaWxlbmFtZS4gbW9kZSBzcGVjaWZpZXMgYm90aCB0aGUgcGVybWlzc2lvbnMgdG8gdXNlIGFuZCB0aGVcblwKLXR5cGUgb2Ygbm9kZSB0byBiZSBjcmVhdGVkLCBiZWluZyBjb21iaW5lZCAoYml0d2lzZSBPUikgd2l0aCBvbmUgb2ZcblwKLVNfSUZSRUcsIFNfSUZDSFIsIFNfSUZCTEssIGFuZCBTX0lGSUZPLiBGb3IgU19JRkNIUiBhbmQgU19JRkJMSyxcblwKLWRldmljZSBkZWZpbmVzIHRoZSBuZXdseSBjcmVhdGVkIGRldmljZSBzcGVjaWFsIGZpbGUgKHByb2JhYmx5IHVzaW5nXG5cCi1vcy5tYWtlZGV2KCkpLCBvdGhlcndpc2UgaXQgaXMgaWdub3JlZC5cblwKLVxuXAotSWYgZGlyX2ZkIGlzIG5vdCBOb25lLCBpdCBzaG91bGQgYmUgYSBmaWxlIGRlc2NyaXB0b3Igb3BlbiB0byBhIGRpcmVjdG9yeSxcblwKLSAgYW5kIHBhdGggc2hvdWxkIGJlIHJlbGF0aXZlOyBwYXRoIHdpbGwgdGhlbiBiZSByZWxhdGl2ZSB0byB0aGF0IGRpcmVjdG9yeS5cblwKLWRpcl9mZCBtYXkgbm90IGJlIGltcGxlbWVudGVkIG9uIHlvdXIgcGxhdGZvcm0uXG5cCi0gIElmIGl0IGlzIHVuYXZhaWxhYmxlLCB1c2luZyBpdCB3aWxsIHJhaXNlIGEgTm90SW1wbGVtZW50ZWRFcnJvci4iKTsKLQotCi1zdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfbWtub2QoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQotewotICAgIHBhdGhfdCBwYXRoOwotICAgIGludCBtb2RlID0gMDY2NjsKLSAgICBkZXZfdCBkZXZpY2UgPSAwOwotICAgIGludCBkaXJfZmQgPSBERUZBVUxUX0RJUl9GRDsKLSAgICBpbnQgcmVzdWx0OwotICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOwotICAgIHN0YXRpYyBjaGFyICprZXl3b3Jkc1tdID0geyJwYXRoIiwgIm1vZGUiLCAiZGV2aWNlIiwgImRpcl9mZCIsIE5VTEx9OwotCi0gICAgbWVtc2V0KCZwYXRoLCAwLCBzaXplb2YocGF0aCkpOwotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywgIk8mfGlPJiRPJjpta25vZCIsIGtleXdvcmRzLAotICAgICAgICBwYXRoX2NvbnZlcnRlciwgJnBhdGgsCi0gICAgICAgICZtb2RlLCBfUHlfRGV2X0NvbnZlcnRlciwgJmRldmljZSwKLSNpZmRlZiBIQVZFX01LTk9EQVQKLSAgICAgICAgZGlyX2ZkX2NvbnZlcnRlciwgJmRpcl9mZAotI2Vsc2UKLSAgICAgICAgZGlyX2ZkX3VuYXZhaWxhYmxlLCAmZGlyX2ZkCi0jZW5kaWYKLSAgICAgICAgKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0KLSAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCi0jaWZkZWYgSEFWRV9NS05PREFUCi0gICAgaWYgKGRpcl9mZCAhPSBERUZBVUxUX0RJUl9GRCkKLSAgICAgICAgcmVzdWx0ID0gbWtub2RhdChkaXJfZmQsIHBhdGgubmFycm93LCBtb2RlLCBkZXZpY2UpOwotICAgIGVsc2UKLSNlbmRpZgotICAgICAgICByZXN1bHQgPSBta25vZChwYXRoLm5hcnJvdywgbW9kZSwgZGV2aWNlKTsKLSAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUwotCi0gICAgaWYgKHJlc3VsdCA8IDApIHsKLSAgICAgICAgcmV0dXJuX3ZhbHVlID0gcG9zaXhfZXJyb3IoKTsKLSAgICAgICAgZ290byBleGl0OwotICAgIH0KLQotICAgIHJldHVybl92YWx1ZSA9IFB5X05vbmU7Ci0gICAgUHlfSU5DUkVGKFB5X05vbmUpOwotCi1leGl0OgotICAgIHBhdGhfY2xlYW51cCgmcGF0aCk7Ci0gICAgcmV0dXJuIHJldHVybl92YWx1ZTsKLX0KLSNlbmRpZgotCi0jaWZkZWYgSEFWRV9ERVZJQ0VfTUFDUk9TCi1QeURvY19TVFJWQVIocG9zaXhfbWFqb3JfX2RvY19fLAotIm1ham9yKGRldmljZSkgLT4gbWFqb3IgbnVtYmVyXG5cCi1FeHRyYWN0cyBhIGRldmljZSBtYWpvciBudW1iZXIgZnJvbSBhIHJhdyBkZXZpY2UgbnVtYmVyLiIpOwotCi1zdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfbWFqb3IoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQotewotICAgIGRldl90IGRldmljZTsKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIk8mOm1ham9yIiwgX1B5X0Rldl9Db252ZXJ0ZXIsICZkZXZpY2UpKQotICAgICAgICByZXR1cm4gTlVMTDsKLSAgICByZXR1cm4gUHlMb25nX0Zyb21Mb25nKChsb25nKW1ham9yKGRldmljZSkpOwotfQotCi1QeURvY19TVFJWQVIocG9zaXhfbWlub3JfX2RvY19fLAotIm1pbm9yKGRldmljZSkgLT4gbWlub3IgbnVtYmVyXG5cCi1FeHRyYWN0cyBhIGRldmljZSBtaW5vciBudW1iZXIgZnJvbSBhIHJhdyBkZXZpY2UgbnVtYmVyLiIpOwotCi1zdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfbWlub3IoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQotewotICAgIGRldl90IGRldmljZTsKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIk8mOm1pbm9yIiwgX1B5X0Rldl9Db252ZXJ0ZXIsICZkZXZpY2UpKQotICAgICAgICByZXR1cm4gTlVMTDsKLSAgICByZXR1cm4gUHlMb25nX0Zyb21Mb25nKChsb25nKW1pbm9yKGRldmljZSkpOwotfQotCi1QeURvY19TVFJWQVIocG9zaXhfbWFrZWRldl9fZG9jX18sCi0ibWFrZWRldihtYWpvciwgbWlub3IpIC0+IGRldmljZSBudW1iZXJcblwKLUNvbXBvc2VzIGEgcmF3IGRldmljZSBudW1iZXIgZnJvbSB0aGUgbWFqb3IgYW5kIG1pbm9yIGRldmljZSBudW1iZXJzLiIpOwotCi1zdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfbWFrZWRldihQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCi17Ci0gICAgaW50IG1ham9yLCBtaW5vcjsKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgImlpOm1ha2VkZXYiLCAmbWFqb3IsICZtaW5vcikpCi0gICAgICAgIHJldHVybiBOVUxMOwotICAgIHJldHVybiBfUHlMb25nX0Zyb21EZXYobWFrZWRldihtYWpvciwgbWlub3IpKTsKLX0KLSNlbmRpZiAvKiBkZXZpY2UgbWFjcm9zICovCi0KLQotI2lmZGVmIEhBVkVfRlRSVU5DQVRFCi1QeURvY19TVFJWQVIocG9zaXhfZnRydW5jYXRlX19kb2NfXywKLSJmdHJ1bmNhdGUoZmQsIGxlbmd0aClcblxuXAotVHJ1bmNhdGUgYSBmaWxlIHRvIGEgc3BlY2lmaWVkIGxlbmd0aC4iKTsKLQotc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X2Z0cnVuY2F0ZShQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCi17Ci0gICAgaW50IGZkOwotICAgIG9mZl90IGxlbmd0aDsKLSAgICBpbnQgcmVzOwotCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJpTyY6ZnRydW5jYXRlIiwgJmZkLCBfcGFyc2Vfb2ZmX3QsICZsZW5ndGgpKQotICAgICAgICByZXR1cm4gTlVMTDsKLQotICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKLSAgICByZXMgPSBmdHJ1bmNhdGUoZmQsIGxlbmd0aCk7Ci0gICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKLSAgICBpZiAocmVzIDwgMCkKLSAgICAgICAgcmV0dXJuIHBvc2l4X2Vycm9yKCk7Ci0gICAgUHlfSU5DUkVGKFB5X05vbmUpOwotICAgIHJldHVybiBQeV9Ob25lOwotfQotI2VuZGlmCi0KLSNpZmRlZiBIQVZFX1RSVU5DQVRFCi1QeURvY19TVFJWQVIocG9zaXhfdHJ1bmNhdGVfX2RvY19fLAotInRydW5jYXRlKHBhdGgsIGxlbmd0aClcblxuXAotVHJ1bmNhdGUgdGhlIGZpbGUgZ2l2ZW4gYnkgcGF0aCB0byBsZW5ndGggYnl0ZXMuXG5cCi1PbiBzb21lIHBsYXRmb3JtcywgcGF0aCBtYXkgYWxzbyBiZSBzcGVjaWZpZWQgYXMgYW4gb3BlbiBmaWxlIGRlc2NyaXB0b3IuXG5cCi0gIElmIHRoaXMgZnVuY3Rpb25hbGl0eSBpcyB1bmF2YWlsYWJsZSwgdXNpbmcgaXQgcmFpc2VzIGFuIGV4Y2VwdGlvbi4iKTsKLQotc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X3RydW5jYXRlKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKLXsKLSAgICBwYXRoX3QgcGF0aDsKLSAgICBvZmZfdCBsZW5ndGg7Ci0gICAgaW50IHJlczsKLSAgICBQeU9iamVjdCAqcmVzdWx0ID0gTlVMTDsKLSAgICBzdGF0aWMgY2hhciAqa2V5d29yZHNbXSA9IHsicGF0aCIsICJsZW5ndGgiLCBOVUxMfTsKLQotICAgIG1lbXNldCgmcGF0aCwgMCwgc2l6ZW9mKHBhdGgpKTsKLSAgICBwYXRoLmZ1bmN0aW9uX25hbWUgPSAidHJ1bmNhdGUiOwotI2lmZGVmIEhBVkVfRlRSVU5DQVRFCi0gICAgcGF0aC5hbGxvd19mZCA9IDE7Ci0jZW5kaWYKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsICJPJk8mOnRydW5jYXRlIiwga2V5d29yZHMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aF9jb252ZXJ0ZXIsICZwYXRoLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9wYXJzZV9vZmZfdCwgJmxlbmd0aCkpCi0gICAgICAgIHJldHVybiBOVUxMOwotCi0gICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwotI2lmZGVmIEhBVkVfRlRSVU5DQVRFCi0gICAgaWYgKHBhdGguZmQgIT0gLTEpCi0gICAgICAgIHJlcyA9IGZ0cnVuY2F0ZShwYXRoLmZkLCBsZW5ndGgpOwotICAgIGVsc2UKLSNlbmRpZgotICAgICAgICByZXMgPSB0cnVuY2F0ZShwYXRoLm5hcnJvdywgbGVuZ3RoKTsKLSAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUwotICAgIGlmIChyZXMgPCAwKQotICAgICAgICByZXN1bHQgPSBwYXRoX2Vycm9yKCZwYXRoKTsKLSAgICBlbHNlIHsKLSAgICAgICAgUHlfSU5DUkVGKFB5X05vbmUpOwotICAgICAgICByZXN1bHQgPSBQeV9Ob25lOwotICAgIH0KLSAgICBwYXRoX2NsZWFudXAoJnBhdGgpOwogICAgIHJldHVybiByZXN1bHQ7CiB9CisjZW5kaWYgLyogSEFWRV9XUklURVYgKi8KKworCisjaWZkZWYgSEFWRV9QV1JJVEUKKy8qW2NsaW5pYyBpbnB1dF0KK29zLnB3cml0ZSAtPiBQeV9zc2l6ZV90CisKKyAgICBmZDogaW50CisgICAgYnVmZmVyOiBQeV9idWZmZXIKKyAgICBvZmZzZXQ6IFB5X29mZl90CisgICAgLworCitXcml0ZSBieXRlcyB0byBhIGZpbGUgZGVzY3JpcHRvciBzdGFydGluZyBhdCBhIHBhcnRpY3VsYXIgb2Zmc2V0LgorCitXcml0ZSBidWZmZXIgdG8gZmQsIHN0YXJ0aW5nIGF0IG9mZnNldCBieXRlcyBmcm9tIHRoZSBiZWdpbm5pbmcgb2YKK3RoZSBmaWxlLiAgUmV0dXJucyB0aGUgbnVtYmVyIG9mIGJ5dGVzIHdyaXR0ZS4gIERvZXMgbm90IGNoYW5nZSB0aGUKK2N1cnJlbnQgZmlsZSBvZmZzZXQuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19wd3JpdGVfX2RvY19fLAorInB3cml0ZSgkbW9kdWxlLCBmZCwgYnVmZmVyLCBvZmZzZXQsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJXcml0ZSBieXRlcyB0byBhIGZpbGUgZGVzY3JpcHRvciBzdGFydGluZyBhdCBhIHBhcnRpY3VsYXIgb2Zmc2V0LlxuIgorIlxuIgorIldyaXRlIGJ1ZmZlciB0byBmZCwgc3RhcnRpbmcgYXQgb2Zmc2V0IGJ5dGVzIGZyb20gdGhlIGJlZ2lubmluZyBvZlxuIgorInRoZSBmaWxlLiAgUmV0dXJucyB0aGUgbnVtYmVyIG9mIGJ5dGVzIHdyaXR0ZS4gIERvZXMgbm90IGNoYW5nZSB0aGVcbiIKKyJjdXJyZW50IGZpbGUgb2Zmc2V0LiIpOworCisjZGVmaW5lIE9TX1BXUklURV9NRVRIT0RERUYgICAgXAorICAgIHsicHdyaXRlIiwgKFB5Q0Z1bmN0aW9uKW9zX3B3cml0ZSwgTUVUSF9WQVJBUkdTLCBvc19wd3JpdGVfX2RvY19ffSwKKworc3RhdGljIFB5X3NzaXplX3QKK29zX3B3cml0ZV9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCBmZCwgUHlfYnVmZmVyICpidWZmZXIsIFB5X29mZl90IG9mZnNldCk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19wd3JpdGUoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgaW50IGZkOworICAgIFB5X2J1ZmZlciBidWZmZXIgPSB7TlVMTCwgTlVMTH07CisgICAgUHlfb2ZmX3Qgb2Zmc2V0OworICAgIFB5X3NzaXplX3QgX3JldHVybl92YWx1ZTsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAiaXkqTyY6cHdyaXRlIiwKKyAgICAgICAgJmZkLCAmYnVmZmVyLCBQeV9vZmZfdF9jb252ZXJ0ZXIsICZvZmZzZXQpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgX3JldHVybl92YWx1ZSA9IG9zX3B3cml0ZV9pbXBsKG1vZHVsZSwgZmQsICZidWZmZXIsIG9mZnNldCk7CisgICAgaWYgKChfcmV0dXJuX3ZhbHVlID09IC0xKSAmJiBQeUVycl9PY2N1cnJlZCgpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gUHlMb25nX0Zyb21Tc2l6ZV90KF9yZXR1cm5fdmFsdWUpOworCitleGl0OgorICAgIC8qIENsZWFudXAgZm9yIGJ1ZmZlciAqLworICAgIGlmIChidWZmZXIub2JqKQorICAgICAgIFB5QnVmZmVyX1JlbGVhc2UoJmJ1ZmZlcik7CisKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlfc3NpemVfdAorb3NfcHdyaXRlX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IGZkLCBQeV9idWZmZXIgKmJ1ZmZlciwgUHlfb2ZmX3Qgb2Zmc2V0KQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWVjOWNjNWIyMjM4ZTk2YTcgaW5wdXQ9MTk5MDNmMWIzZGQyNjM3N10qLworeworICAgIFB5X3NzaXplX3Qgc2l6ZTsKKyAgICBpbnQgYXN5bmNfZXJyID0gMDsKKworICAgIGlmICghX1B5VmVyaWZ5X2ZkKGZkKSkgeworICAgICAgICBwb3NpeF9lcnJvcigpOworICAgICAgICByZXR1cm4gLTE7CisgICAgfQorCisgICAgZG8geworICAgICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCisgICAgICAgIHNpemUgPSBwd3JpdGUoZmQsIGJ1ZmZlci0+YnVmLCAoc2l6ZV90KWJ1ZmZlci0+bGVuLCBvZmZzZXQpOworICAgICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUworICAgIH0gd2hpbGUgKHNpemUgPCAwICYmIGVycm5vID09IEVJTlRSICYmICEoYXN5bmNfZXJyID0gUHlFcnJfQ2hlY2tTaWduYWxzKCkpKTsKKworICAgIGlmIChzaXplIDwgMCAmJiAhYXN5bmNfZXJyKQorICAgICAgICBwb3NpeF9lcnJvcigpOworICAgIHJldHVybiBzaXplOworfQorI2VuZGlmIC8qIEhBVkVfUFdSSVRFICovCisKKworI2lmZGVmIEhBVkVfTUtGSUZPCisvKltjbGluaWMgaW5wdXRdCitvcy5ta2ZpZm8KKworICAgIHBhdGg6IHBhdGhfdAorICAgIG1vZGU6IGludD0wbzY2NgorICAgICoKKyAgICBkaXJfZmQ6IGRpcl9mZChyZXF1aXJlcz0nbWtmaWZvYXQnKT1Ob25lCisKK0NyZWF0ZSBhICJmaWZvIiAoYSBQT1NJWCBuYW1lZCBwaXBlKS4KKworSWYgZGlyX2ZkIGlzIG5vdCBOb25lLCBpdCBzaG91bGQgYmUgYSBmaWxlIGRlc2NyaXB0b3Igb3BlbiB0byBhIGRpcmVjdG9yeSwKKyAgYW5kIHBhdGggc2hvdWxkIGJlIHJlbGF0aXZlOyBwYXRoIHdpbGwgdGhlbiBiZSByZWxhdGl2ZSB0byB0aGF0IGRpcmVjdG9yeS4KK2Rpcl9mZCBtYXkgbm90IGJlIGltcGxlbWVudGVkIG9uIHlvdXIgcGxhdGZvcm0uCisgIElmIGl0IGlzIHVuYXZhaWxhYmxlLCB1c2luZyBpdCB3aWxsIHJhaXNlIGEgTm90SW1wbGVtZW50ZWRFcnJvci4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX21rZmlmb19fZG9jX18sCisibWtmaWZvKCRtb2R1bGUsIC8sIHBhdGgsIG1vZGU9NDM4LCAqLCBkaXJfZmQ9Tm9uZSlcbiIKKyItLVxuIgorIlxuIgorIkNyZWF0ZSBhIFwiZmlmb1wiIChhIFBPU0lYIG5hbWVkIHBpcGUpLlxuIgorIlxuIgorIklmIGRpcl9mZCBpcyBub3QgTm9uZSwgaXQgc2hvdWxkIGJlIGEgZmlsZSBkZXNjcmlwdG9yIG9wZW4gdG8gYSBkaXJlY3RvcnksXG4iCisiICBhbmQgcGF0aCBzaG91bGQgYmUgcmVsYXRpdmU7IHBhdGggd2lsbCB0aGVuIGJlIHJlbGF0aXZlIHRvIHRoYXQgZGlyZWN0b3J5LlxuIgorImRpcl9mZCBtYXkgbm90IGJlIGltcGxlbWVudGVkIG9uIHlvdXIgcGxhdGZvcm0uXG4iCisiICBJZiBpdCBpcyB1bmF2YWlsYWJsZSwgdXNpbmcgaXQgd2lsbCByYWlzZSBhIE5vdEltcGxlbWVudGVkRXJyb3IuIik7CisKKyNkZWZpbmUgT1NfTUtGSUZPX01FVEhPRERFRiAgICBcCisgICAgeyJta2ZpZm8iLCAoUHlDRnVuY3Rpb24pb3NfbWtmaWZvLCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgb3NfbWtmaWZvX19kb2NfX30sCisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19ta2ZpZm9faW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBwYXRoX3QgKnBhdGgsIGludCBtb2RlLCBpbnQgZGlyX2ZkKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX21rZmlmbyhQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKK3sKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBzdGF0aWMgY2hhciAqX2tleXdvcmRzW10gPSB7InBhdGgiLCAibW9kZSIsICJkaXJfZmQiLCBOVUxMfTsKKyAgICBwYXRoX3QgcGF0aCA9IFBBVEhfVF9JTklUSUFMSVpFKCJta2ZpZm8iLCAicGF0aCIsIDAsIDApOworICAgIGludCBtb2RlID0gNDM4OworICAgIGludCBkaXJfZmQgPSBERUZBVUxUX0RJUl9GRDsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywKKyAgICAgICAgIk8mfGkkTyY6bWtmaWZvIiwgX2tleXdvcmRzLAorICAgICAgICBwYXRoX2NvbnZlcnRlciwgJnBhdGgsICZtb2RlLCBNS0ZJRk9BVF9ESVJfRkRfQ09OVkVSVEVSLCAmZGlyX2ZkKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IG9zX21rZmlmb19pbXBsKG1vZHVsZSwgJnBhdGgsIG1vZGUsIGRpcl9mZCk7CisKK2V4aXQ6CisgICAgLyogQ2xlYW51cCBmb3IgcGF0aCAqLworICAgIHBhdGhfY2xlYW51cCgmcGF0aCk7CisKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3NfbWtmaWZvX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgcGF0aF90ICpwYXRoLCBpbnQgbW9kZSwgaW50IGRpcl9mZCkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1iMzMyMTkyNzU0Njg5M2QwIGlucHV0PTczMDMyZTk4YTM2ZTBlMTldKi8KK3sKKyAgICBpbnQgcmVzdWx0OworICAgIGludCBhc3luY19lcnIgPSAwOworCisgICAgZG8geworICAgICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCisjaWZkZWYgSEFWRV9NS0ZJRk9BVAorICAgICAgICBpZiAoZGlyX2ZkICE9IERFRkFVTFRfRElSX0ZEKQorICAgICAgICAgICAgcmVzdWx0ID0gbWtmaWZvYXQoZGlyX2ZkLCBwYXRoLT5uYXJyb3csIG1vZGUpOworICAgICAgICBlbHNlCiAjZW5kaWYKKyAgICAgICAgICAgIHJlc3VsdCA9IG1rZmlmbyhwYXRoLT5uYXJyb3csIG1vZGUpOworICAgICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUworICAgIH0gd2hpbGUgKHJlc3VsdCAhPSAwICYmIGVycm5vID09IEVJTlRSICYmCisgICAgICAgICAgICAgIShhc3luY19lcnIgPSBQeUVycl9DaGVja1NpZ25hbHMoKSkpOworICAgIGlmIChyZXN1bHQgIT0gMCkKKyAgICAgICAgcmV0dXJuICghYXN5bmNfZXJyKSA/IHBvc2l4X2Vycm9yKCkgOiBOVUxMOworCisgICAgUHlfUkVUVVJOX05PTkU7Cit9CisjZW5kaWYgLyogSEFWRV9NS0ZJRk8gKi8KKworCisjaWYgZGVmaW5lZChIQVZFX01LTk9EKSAmJiBkZWZpbmVkKEhBVkVfTUFLRURFVikKKy8qW2NsaW5pYyBpbnB1dF0KK29zLm1rbm9kCisKKyAgICBwYXRoOiBwYXRoX3QKKyAgICBtb2RlOiBpbnQ9MG82MDAKKyAgICBkZXZpY2U6IGRldl90PTAKKyAgICAqCisgICAgZGlyX2ZkOiBkaXJfZmQocmVxdWlyZXM9J21rbm9kYXQnKT1Ob25lCisKK0NyZWF0ZSBhIG5vZGUgaW4gdGhlIGZpbGUgc3lzdGVtLgorCitDcmVhdGUgYSBub2RlIGluIHRoZSBmaWxlIHN5c3RlbSAoZmlsZSwgZGV2aWNlIHNwZWNpYWwgZmlsZSBvciBuYW1lZCBwaXBlKQorYXQgcGF0aC4gIG1vZGUgc3BlY2lmaWVzIGJvdGggdGhlIHBlcm1pc3Npb25zIHRvIHVzZSBhbmQgdGhlCit0eXBlIG9mIG5vZGUgdG8gYmUgY3JlYXRlZCwgYmVpbmcgY29tYmluZWQgKGJpdHdpc2UgT1IpIHdpdGggb25lIG9mCitTX0lGUkVHLCBTX0lGQ0hSLCBTX0lGQkxLLCBhbmQgU19JRklGTy4gIElmIFNfSUZDSFIgb3IgU19JRkJMSyBpcyBzZXQgb24gbW9kZSwKK2RldmljZSBkZWZpbmVzIHRoZSBuZXdseSBjcmVhdGVkIGRldmljZSBzcGVjaWFsIGZpbGUgKHByb2JhYmx5IHVzaW5nCitvcy5tYWtlZGV2KCkpLiAgT3RoZXJ3aXNlIGRldmljZSBpcyBpZ25vcmVkLgorCitJZiBkaXJfZmQgaXMgbm90IE5vbmUsIGl0IHNob3VsZCBiZSBhIGZpbGUgZGVzY3JpcHRvciBvcGVuIHRvIGEgZGlyZWN0b3J5LAorICBhbmQgcGF0aCBzaG91bGQgYmUgcmVsYXRpdmU7IHBhdGggd2lsbCB0aGVuIGJlIHJlbGF0aXZlIHRvIHRoYXQgZGlyZWN0b3J5LgorZGlyX2ZkIG1heSBub3QgYmUgaW1wbGVtZW50ZWQgb24geW91ciBwbGF0Zm9ybS4KKyAgSWYgaXQgaXMgdW5hdmFpbGFibGUsIHVzaW5nIGl0IHdpbGwgcmFpc2UgYSBOb3RJbXBsZW1lbnRlZEVycm9yLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3NfbWtub2RfX2RvY19fLAorIm1rbm9kKCRtb2R1bGUsIC8sIHBhdGgsIG1vZGU9Mzg0LCBkZXZpY2U9MCwgKiwgZGlyX2ZkPU5vbmUpXG4iCisiLS1cbiIKKyJcbiIKKyJDcmVhdGUgYSBub2RlIGluIHRoZSBmaWxlIHN5c3RlbS5cbiIKKyJcbiIKKyJDcmVhdGUgYSBub2RlIGluIHRoZSBmaWxlIHN5c3RlbSAoZmlsZSwgZGV2aWNlIHNwZWNpYWwgZmlsZSBvciBuYW1lZCBwaXBlKVxuIgorImF0IHBhdGguICBtb2RlIHNwZWNpZmllcyBib3RoIHRoZSBwZXJtaXNzaW9ucyB0byB1c2UgYW5kIHRoZVxuIgorInR5cGUgb2Ygbm9kZSB0byBiZSBjcmVhdGVkLCBiZWluZyBjb21iaW5lZCAoYml0d2lzZSBPUikgd2l0aCBvbmUgb2ZcbiIKKyJTX0lGUkVHLCBTX0lGQ0hSLCBTX0lGQkxLLCBhbmQgU19JRklGTy4gIElmIFNfSUZDSFIgb3IgU19JRkJMSyBpcyBzZXQgb24gbW9kZSxcbiIKKyJkZXZpY2UgZGVmaW5lcyB0aGUgbmV3bHkgY3JlYXRlZCBkZXZpY2Ugc3BlY2lhbCBmaWxlIChwcm9iYWJseSB1c2luZ1xuIgorIm9zLm1ha2VkZXYoKSkuICBPdGhlcndpc2UgZGV2aWNlIGlzIGlnbm9yZWQuXG4iCisiXG4iCisiSWYgZGlyX2ZkIGlzIG5vdCBOb25lLCBpdCBzaG91bGQgYmUgYSBmaWxlIGRlc2NyaXB0b3Igb3BlbiB0byBhIGRpcmVjdG9yeSxcbiIKKyIgIGFuZCBwYXRoIHNob3VsZCBiZSByZWxhdGl2ZTsgcGF0aCB3aWxsIHRoZW4gYmUgcmVsYXRpdmUgdG8gdGhhdCBkaXJlY3RvcnkuXG4iCisiZGlyX2ZkIG1heSBub3QgYmUgaW1wbGVtZW50ZWQgb24geW91ciBwbGF0Zm9ybS5cbiIKKyIgIElmIGl0IGlzIHVuYXZhaWxhYmxlLCB1c2luZyBpdCB3aWxsIHJhaXNlIGEgTm90SW1wbGVtZW50ZWRFcnJvci4iKTsKKworI2RlZmluZSBPU19NS05PRF9NRVRIT0RERUYgICAgXAorICAgIHsibWtub2QiLCAoUHlDRnVuY3Rpb24pb3NfbWtub2QsIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBvc19ta25vZF9fZG9jX199LAorCitzdGF0aWMgUHlPYmplY3QgKgorb3NfbWtub2RfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBwYXRoX3QgKnBhdGgsIGludCBtb2RlLCBkZXZfdCBkZXZpY2UsIGludCBkaXJfZmQpOworCitzdGF0aWMgUHlPYmplY3QgKgorb3NfbWtub2QoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCit7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgc3RhdGljIGNoYXIgKl9rZXl3b3Jkc1tdID0geyJwYXRoIiwgIm1vZGUiLCAiZGV2aWNlIiwgImRpcl9mZCIsIE5VTEx9OworICAgIHBhdGhfdCBwYXRoID0gUEFUSF9UX0lOSVRJQUxJWkUoIm1rbm9kIiwgInBhdGgiLCAwLCAwKTsKKyAgICBpbnQgbW9kZSA9IDM4NDsKKyAgICBkZXZfdCBkZXZpY2UgPSAwOworICAgIGludCBkaXJfZmQgPSBERUZBVUxUX0RJUl9GRDsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywKKyAgICAgICAgIk8mfGlPJiRPJjpta25vZCIsIF9rZXl3b3JkcywKKyAgICAgICAgcGF0aF9jb252ZXJ0ZXIsICZwYXRoLCAmbW9kZSwgX1B5X0Rldl9Db252ZXJ0ZXIsICZkZXZpY2UsIE1LTk9EQVRfRElSX0ZEX0NPTlZFUlRFUiwgJmRpcl9mZCkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBvc19ta25vZF9pbXBsKG1vZHVsZSwgJnBhdGgsIG1vZGUsIGRldmljZSwgZGlyX2ZkKTsKKworZXhpdDoKKyAgICAvKiBDbGVhbnVwIGZvciBwYXRoICovCisgICAgcGF0aF9jbGVhbnVwKCZwYXRoKTsKKworICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19ta25vZF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIHBhdGhfdCAqcGF0aCwgaW50IG1vZGUsIGRldl90IGRldmljZSwgaW50IGRpcl9mZCkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1mNzFkNTRlYWY5YmI2ZjFhIGlucHV0PWVlNDQ1MzE1NTFhNGQ4M2JdKi8KK3sKKyAgICBpbnQgcmVzdWx0OworICAgIGludCBhc3luY19lcnIgPSAwOworCisgICAgZG8geworICAgICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCisjaWZkZWYgSEFWRV9NS05PREFUCisgICAgICAgIGlmIChkaXJfZmQgIT0gREVGQVVMVF9ESVJfRkQpCisgICAgICAgICAgICByZXN1bHQgPSBta25vZGF0KGRpcl9mZCwgcGF0aC0+bmFycm93LCBtb2RlLCBkZXZpY2UpOworICAgICAgICBlbHNlCisjZW5kaWYKKyAgICAgICAgICAgIHJlc3VsdCA9IG1rbm9kKHBhdGgtPm5hcnJvdywgbW9kZSwgZGV2aWNlKTsKKyAgICAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKKyAgICB9IHdoaWxlIChyZXN1bHQgIT0gMCAmJiBlcnJubyA9PSBFSU5UUiAmJgorICAgICAgICAgICAgICEoYXN5bmNfZXJyID0gUHlFcnJfQ2hlY2tTaWduYWxzKCkpKTsKKyAgICBpZiAocmVzdWx0ICE9IDApCisgICAgICAgIHJldHVybiAoIWFzeW5jX2VycikgPyBwb3NpeF9lcnJvcigpIDogTlVMTDsKKworICAgIFB5X1JFVFVSTl9OT05FOworfQorI2VuZGlmIC8qIGRlZmluZWQoSEFWRV9NS05PRCkgJiYgZGVmaW5lZChIQVZFX01BS0VERVYpICovCisKKworI2lmZGVmIEhBVkVfREVWSUNFX01BQ1JPUworLypbY2xpbmljIGlucHV0XQorb3MubWFqb3IgLT4gdW5zaWduZWRfaW50CisKKyAgICBkZXZpY2U6IGRldl90CisgICAgLworCitFeHRyYWN0cyBhIGRldmljZSBtYWpvciBudW1iZXIgZnJvbSBhIHJhdyBkZXZpY2UgbnVtYmVyLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3NfbWFqb3JfX2RvY19fLAorIm1ham9yKCRtb2R1bGUsIGRldmljZSwgLylcbiIKKyItLVxuIgorIlxuIgorIkV4dHJhY3RzIGEgZGV2aWNlIG1ham9yIG51bWJlciBmcm9tIGEgcmF3IGRldmljZSBudW1iZXIuIik7CisKKyNkZWZpbmUgT1NfTUFKT1JfTUVUSE9EREVGICAgIFwKKyAgICB7Im1ham9yIiwgKFB5Q0Z1bmN0aW9uKW9zX21ham9yLCBNRVRIX1ZBUkFSR1MsIG9zX21ham9yX19kb2NfX30sCisKK3N0YXRpYyB1bnNpZ25lZCBpbnQKK29zX21ham9yX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgZGV2X3QgZGV2aWNlKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX21ham9yKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQoreworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIGRldl90IGRldmljZTsKKyAgICB1bnNpZ25lZCBpbnQgX3JldHVybl92YWx1ZTsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAiTyY6bWFqb3IiLAorICAgICAgICBfUHlfRGV2X0NvbnZlcnRlciwgJmRldmljZSkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICBfcmV0dXJuX3ZhbHVlID0gb3NfbWFqb3JfaW1wbChtb2R1bGUsIGRldmljZSk7CisgICAgaWYgKChfcmV0dXJuX3ZhbHVlID09ICh1bnNpZ25lZCBpbnQpLTEpICYmIFB5RXJyX09jY3VycmVkKCkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBQeUxvbmdfRnJvbVVuc2lnbmVkTG9uZygodW5zaWduZWQgbG9uZylfcmV0dXJuX3ZhbHVlKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgdW5zaWduZWQgaW50Citvc19tYWpvcl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGRldl90IGRldmljZSkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1hMmQwNmU5MDhlYmY5NWI1IGlucHV0PTFlMTZhNGQzMGM0ZDQ0NjJdKi8KK3sKKyAgICByZXR1cm4gbWFqb3IoZGV2aWNlKTsKK30KKworCisvKltjbGluaWMgaW5wdXRdCitvcy5taW5vciAtPiB1bnNpZ25lZF9pbnQKKworICAgIGRldmljZTogZGV2X3QKKyAgICAvCisKK0V4dHJhY3RzIGEgZGV2aWNlIG1pbm9yIG51bWJlciBmcm9tIGEgcmF3IGRldmljZSBudW1iZXIuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19taW5vcl9fZG9jX18sCisibWlub3IoJG1vZHVsZSwgZGV2aWNlLCAvKVxuIgorIi0tXG4iCisiXG4iCisiRXh0cmFjdHMgYSBkZXZpY2UgbWlub3IgbnVtYmVyIGZyb20gYSByYXcgZGV2aWNlIG51bWJlci4iKTsKKworI2RlZmluZSBPU19NSU5PUl9NRVRIT0RERUYgICAgXAorICAgIHsibWlub3IiLCAoUHlDRnVuY3Rpb24pb3NfbWlub3IsIE1FVEhfVkFSQVJHUywgb3NfbWlub3JfX2RvY19ffSwKKworc3RhdGljIHVuc2lnbmVkIGludAorb3NfbWlub3JfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBkZXZfdCBkZXZpY2UpOworCitzdGF0aWMgUHlPYmplY3QgKgorb3NfbWlub3IoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgZGV2X3QgZGV2aWNlOworICAgIHVuc2lnbmVkIGludCBfcmV0dXJuX3ZhbHVlOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICJPJjptaW5vciIsCisgICAgICAgIF9QeV9EZXZfQ29udmVydGVyLCAmZGV2aWNlKSkKKyAgICAgICAgZ290byBleGl0OworICAgIF9yZXR1cm5fdmFsdWUgPSBvc19taW5vcl9pbXBsKG1vZHVsZSwgZGV2aWNlKTsKKyAgICBpZiAoKF9yZXR1cm5fdmFsdWUgPT0gKHVuc2lnbmVkIGludCktMSkgJiYgUHlFcnJfT2NjdXJyZWQoKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IFB5TG9uZ19Gcm9tVW5zaWduZWRMb25nKCh1bnNpZ25lZCBsb25nKV9yZXR1cm5fdmFsdWUpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyB1bnNpZ25lZCBpbnQKK29zX21pbm9yX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgZGV2X3QgZGV2aWNlKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTYzMzIyODdlZTNmMDA2ZTIgaW5wdXQ9MDg0MmM2ZDIzZjI0YzY1ZV0qLworeworICAgIHJldHVybiBtaW5vcihkZXZpY2UpOworfQorCisKKy8qW2NsaW5pYyBpbnB1dF0KK29zLm1ha2VkZXYgLT4gZGV2X3QKKworICAgIG1ham9yOiBpbnQKKyAgICBtaW5vcjogaW50CisgICAgLworCitDb21wb3NlcyBhIHJhdyBkZXZpY2UgbnVtYmVyIGZyb20gdGhlIG1ham9yIGFuZCBtaW5vciBkZXZpY2UgbnVtYmVycy4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX21ha2VkZXZfX2RvY19fLAorIm1ha2VkZXYoJG1vZHVsZSwgbWFqb3IsIG1pbm9yLCAvKVxuIgorIi0tXG4iCisiXG4iCisiQ29tcG9zZXMgYSByYXcgZGV2aWNlIG51bWJlciBmcm9tIHRoZSBtYWpvciBhbmQgbWlub3IgZGV2aWNlIG51bWJlcnMuIik7CisKKyNkZWZpbmUgT1NfTUFLRURFVl9NRVRIT0RERUYgICAgXAorICAgIHsibWFrZWRldiIsIChQeUNGdW5jdGlvbilvc19tYWtlZGV2LCBNRVRIX1ZBUkFSR1MsIG9zX21ha2VkZXZfX2RvY19ffSwKKworc3RhdGljIGRldl90Citvc19tYWtlZGV2X2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IG1ham9yLCBpbnQgbWlub3IpOworCitzdGF0aWMgUHlPYmplY3QgKgorb3NfbWFrZWRldihQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBpbnQgbWFqb3I7CisgICAgaW50IG1pbm9yOworICAgIGRldl90IF9yZXR1cm5fdmFsdWU7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgImlpOm1ha2VkZXYiLAorICAgICAgICAmbWFqb3IsICZtaW5vcikpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICBfcmV0dXJuX3ZhbHVlID0gb3NfbWFrZWRldl9pbXBsKG1vZHVsZSwgbWFqb3IsIG1pbm9yKTsKKyAgICBpZiAoKF9yZXR1cm5fdmFsdWUgPT0gKGRldl90KS0xKSAmJiBQeUVycl9PY2N1cnJlZCgpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gX1B5TG9uZ19Gcm9tRGV2KF9yZXR1cm5fdmFsdWUpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBkZXZfdAorb3NfbWFrZWRldl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCBtYWpvciwgaW50IG1pbm9yKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTM4ZTlhOTc3NGM5NjUxMWEgaW5wdXQ9NGI5ZmQ4ZmM3M2NiZTQ4Zl0qLworeworICAgIHJldHVybiBtYWtlZGV2KG1ham9yLCBtaW5vcik7Cit9CisjZW5kaWYgLyogSEFWRV9ERVZJQ0VfTUFDUk9TICovCisKKworI2lmZGVmIEhBVkVfRlRSVU5DQVRFCisvKltjbGluaWMgaW5wdXRdCitvcy5mdHJ1bmNhdGUKKworICAgIGZkOiBpbnQKKyAgICBsZW5ndGg6IFB5X29mZl90CisgICAgLworCitUcnVuY2F0ZSBhIGZpbGUsIHNwZWNpZmllZCBieSBmaWxlIGRlc2NyaXB0b3IsIHRvIGEgc3BlY2lmaWMgbGVuZ3RoLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3NfZnRydW5jYXRlX19kb2NfXywKKyJmdHJ1bmNhdGUoJG1vZHVsZSwgZmQsIGxlbmd0aCwgLylcbiIKKyItLVxuIgorIlxuIgorIlRydW5jYXRlIGEgZmlsZSwgc3BlY2lmaWVkIGJ5IGZpbGUgZGVzY3JpcHRvciwgdG8gYSBzcGVjaWZpYyBsZW5ndGguIik7CisKKyNkZWZpbmUgT1NfRlRSVU5DQVRFX01FVEhPRERFRiAgICBcCisgICAgeyJmdHJ1bmNhdGUiLCAoUHlDRnVuY3Rpb24pb3NfZnRydW5jYXRlLCBNRVRIX1ZBUkFSR1MsIG9zX2Z0cnVuY2F0ZV9fZG9jX199LAorCitzdGF0aWMgUHlPYmplY3QgKgorb3NfZnRydW5jYXRlX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IGZkLCBQeV9vZmZfdCBsZW5ndGgpOworCitzdGF0aWMgUHlPYmplY3QgKgorb3NfZnRydW5jYXRlKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQoreworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIGludCBmZDsKKyAgICBQeV9vZmZfdCBsZW5ndGg7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgImlPJjpmdHJ1bmNhdGUiLAorICAgICAgICAmZmQsIFB5X29mZl90X2NvbnZlcnRlciwgJmxlbmd0aCkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBvc19mdHJ1bmNhdGVfaW1wbChtb2R1bGUsIGZkLCBsZW5ndGgpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19mdHJ1bmNhdGVfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgZmQsIFB5X29mZl90IGxlbmd0aCkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD02MjMyNjc2NmNiOWI3NmJmIGlucHV0PTYzYjQzNjQxZTUyODE4ZjJdKi8KK3sKKyAgICBpbnQgcmVzdWx0OworICAgIGludCBhc3luY19lcnIgPSAwOworCisgICAgZG8geworICAgICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCisgICAgICAgIHJlc3VsdCA9IGZ0cnVuY2F0ZShmZCwgbGVuZ3RoKTsKKyAgICAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKKyAgICB9IHdoaWxlIChyZXN1bHQgIT0gMCAmJiBlcnJubyA9PSBFSU5UUiAmJgorICAgICAgICAgICAgICEoYXN5bmNfZXJyID0gUHlFcnJfQ2hlY2tTaWduYWxzKCkpKTsKKyAgICBpZiAocmVzdWx0ICE9IDApCisgICAgICAgIHJldHVybiAoIWFzeW5jX2VycikgPyBwb3NpeF9lcnJvcigpIDogTlVMTDsKKyAgICBQeV9SRVRVUk5fTk9ORTsKK30KKyNlbmRpZiAvKiBIQVZFX0ZUUlVOQ0FURSAqLworCisKKyNpZmRlZiBIQVZFX1RSVU5DQVRFCisvKltjbGluaWMgaW5wdXRdCitvcy50cnVuY2F0ZQorICAgIHBhdGg6IHBhdGhfdChhbGxvd19mZD0nUEFUSF9IQVZFX0ZUUlVOQ0FURScpCisgICAgbGVuZ3RoOiBQeV9vZmZfdAorCitUcnVuY2F0ZSBhIGZpbGUsIHNwZWNpZmllZCBieSBwYXRoLCB0byBhIHNwZWNpZmljIGxlbmd0aC4KKworT24gc29tZSBwbGF0Zm9ybXMsIHBhdGggbWF5IGFsc28gYmUgc3BlY2lmaWVkIGFzIGFuIG9wZW4gZmlsZSBkZXNjcmlwdG9yLgorICBJZiB0aGlzIGZ1bmN0aW9uYWxpdHkgaXMgdW5hdmFpbGFibGUsIHVzaW5nIGl0IHJhaXNlcyBhbiBleGNlcHRpb24uCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc190cnVuY2F0ZV9fZG9jX18sCisidHJ1bmNhdGUoJG1vZHVsZSwgLywgcGF0aCwgbGVuZ3RoKVxuIgorIi0tXG4iCisiXG4iCisiVHJ1bmNhdGUgYSBmaWxlLCBzcGVjaWZpZWQgYnkgcGF0aCwgdG8gYSBzcGVjaWZpYyBsZW5ndGguXG4iCisiXG4iCisiT24gc29tZSBwbGF0Zm9ybXMsIHBhdGggbWF5IGFsc28gYmUgc3BlY2lmaWVkIGFzIGFuIG9wZW4gZmlsZSBkZXNjcmlwdG9yLlxuIgorIiAgSWYgdGhpcyBmdW5jdGlvbmFsaXR5IGlzIHVuYXZhaWxhYmxlLCB1c2luZyBpdCByYWlzZXMgYW4gZXhjZXB0aW9uLiIpOworCisjZGVmaW5lIE9TX1RSVU5DQVRFX01FVEhPRERFRiAgICBcCisgICAgeyJ0cnVuY2F0ZSIsIChQeUNGdW5jdGlvbilvc190cnVuY2F0ZSwgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIG9zX3RydW5jYXRlX19kb2NfX30sCisKK3N0YXRpYyBQeU9iamVjdCAqCitvc190cnVuY2F0ZV9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIHBhdGhfdCAqcGF0aCwgUHlfb2ZmX3QgbGVuZ3RoKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3RydW5jYXRlKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQoreworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIHN0YXRpYyBjaGFyICpfa2V5d29yZHNbXSA9IHsicGF0aCIsICJsZW5ndGgiLCBOVUxMfTsKKyAgICBwYXRoX3QgcGF0aCA9IFBBVEhfVF9JTklUSUFMSVpFKCJ0cnVuY2F0ZSIsICJwYXRoIiwgMCwgUEFUSF9IQVZFX0ZUUlVOQ0FURSk7CisgICAgUHlfb2ZmX3QgbGVuZ3RoOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLAorICAgICAgICAiTyZPJjp0cnVuY2F0ZSIsIF9rZXl3b3JkcywKKyAgICAgICAgcGF0aF9jb252ZXJ0ZXIsICZwYXRoLCBQeV9vZmZfdF9jb252ZXJ0ZXIsICZsZW5ndGgpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gb3NfdHJ1bmNhdGVfaW1wbChtb2R1bGUsICZwYXRoLCBsZW5ndGgpOworCitleGl0OgorICAgIC8qIENsZWFudXAgZm9yIHBhdGggKi8KKyAgICBwYXRoX2NsZWFudXAoJnBhdGgpOworCisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3RydW5jYXRlX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgcGF0aF90ICpwYXRoLCBQeV9vZmZfdCBsZW5ndGgpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9NmJkNzYyNjJkMmUwMjdjNiBpbnB1dD03NzIyOWNmMGI1MGE5Yjc3XSovCit7CisgICAgaW50IHJlc3VsdDsKKworICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKKyNpZmRlZiBIQVZFX0ZUUlVOQ0FURQorICAgIGlmIChwYXRoLT5mZCAhPSAtMSkKKyAgICAgICAgcmVzdWx0ID0gZnRydW5jYXRlKHBhdGgtPmZkLCBsZW5ndGgpOworICAgIGVsc2UKKyNlbmRpZgorICAgICAgICByZXN1bHQgPSB0cnVuY2F0ZShwYXRoLT5uYXJyb3csIGxlbmd0aCk7CisgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKKyAgICBpZiAocmVzdWx0IDwgMCkKKyAgICAgICAgcmV0dXJuIHBhdGhfZXJyb3IocGF0aCk7CisKKyAgICBQeV9SRVRVUk5fTk9ORTsKK30KKyNlbmRpZiAvKiBIQVZFX1RSVU5DQVRFICovCisKIAogLyogSXNzdWUgIzIyMzk2OiBPbiAzMi1iaXQgQUlYIHBsYXRmb3JtLCB0aGUgcHJvdG90eXBlcyBvZiBvcy5wb3NpeF9mYWR2aXNlKCkKICAgIGFuZCBvcy5wb3NpeF9mYWxsb2NhdGUoKSBpbiBzeXN0ZW0gaGVhZGVycyBhcmUgd3JvbmcgaWYgX0xBUkdFX0ZJTEVTIGlzCkBAIC04ODE0LDE4NiArMTI2MzIsMzc1IEBACiAjICBkZWZpbmUgUE9TSVhfRkFEVklTRV9BSVhfQlVHCiAjZW5kaWYKIAorCiAjaWYgZGVmaW5lZChIQVZFX1BPU0lYX0ZBTExPQ0FURSkgJiYgIWRlZmluZWQoUE9TSVhfRkFEVklTRV9BSVhfQlVHKQotUHlEb2NfU1RSVkFSKHBvc2l4X3Bvc2l4X2ZhbGxvY2F0ZV9fZG9jX18sCi0icG9zaXhfZmFsbG9jYXRlKGZkLCBvZmZzZXQsIGxlbilcblxuXAotRW5zdXJlcyB0aGF0IGVub3VnaCBkaXNrIHNwYWNlIGlzIGFsbG9jYXRlZCBmb3IgdGhlIGZpbGUgc3BlY2lmaWVkIGJ5IGZkXG5cCi1zdGFydGluZyBmcm9tIG9mZnNldCBhbmQgY29udGludWluZyBmb3IgbGVuIGJ5dGVzLiIpOworLypbY2xpbmljIGlucHV0XQorb3MucG9zaXhfZmFsbG9jYXRlCisKKyAgICBmZDogaW50CisgICAgb2Zmc2V0OiBQeV9vZmZfdAorICAgIGxlbmd0aDogUHlfb2ZmX3QKKyAgICAvCisKK0Vuc3VyZSBhIGZpbGUgaGFzIGFsbG9jYXRlZCBhdCBsZWFzdCBhIHBhcnRpY3VsYXIgbnVtYmVyIG9mIGJ5dGVzIG9uIGRpc2suCisKK0Vuc3VyZSB0aGF0IHRoZSBmaWxlIHNwZWNpZmllZCBieSBmZCBlbmNvbXBhc3NlcyBhIHJhbmdlIG9mIGJ5dGVzCitzdGFydGluZyBhdCBvZmZzZXQgYnl0ZXMgZnJvbSB0aGUgYmVnaW5uaW5nIGFuZCBjb250aW51aW5nIGZvciBsZW5ndGggYnl0ZXMuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19wb3NpeF9mYWxsb2NhdGVfX2RvY19fLAorInBvc2l4X2ZhbGxvY2F0ZSgkbW9kdWxlLCBmZCwgb2Zmc2V0LCBsZW5ndGgsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJFbnN1cmUgYSBmaWxlIGhhcyBhbGxvY2F0ZWQgYXQgbGVhc3QgYSBwYXJ0aWN1bGFyIG51bWJlciBvZiBieXRlcyBvbiBkaXNrLlxuIgorIlxuIgorIkVuc3VyZSB0aGF0IHRoZSBmaWxlIHNwZWNpZmllZCBieSBmZCBlbmNvbXBhc3NlcyBhIHJhbmdlIG9mIGJ5dGVzXG4iCisic3RhcnRpbmcgYXQgb2Zmc2V0IGJ5dGVzIGZyb20gdGhlIGJlZ2lubmluZyBhbmQgY29udGludWluZyBmb3IgbGVuZ3RoIGJ5dGVzLiIpOworCisjZGVmaW5lIE9TX1BPU0lYX0ZBTExPQ0FURV9NRVRIT0RERUYgICAgXAorICAgIHsicG9zaXhfZmFsbG9jYXRlIiwgKFB5Q0Z1bmN0aW9uKW9zX3Bvc2l4X2ZhbGxvY2F0ZSwgTUVUSF9WQVJBUkdTLCBvc19wb3NpeF9mYWxsb2NhdGVfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X3Bvc2l4X2ZhbGxvY2F0ZShQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitvc19wb3NpeF9mYWxsb2NhdGVfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgZmQsIFB5X29mZl90IG9mZnNldCwgUHlfb2ZmX3QgbGVuZ3RoKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3Bvc2l4X2ZhbGxvY2F0ZShQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKIHsKLSAgICBvZmZfdCBsZW4sIG9mZnNldDsKLSAgICBpbnQgcmVzLCBmZDsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBpbnQgZmQ7CisgICAgUHlfb2ZmX3Qgb2Zmc2V0OworICAgIFB5X29mZl90IGxlbmd0aDsKIAotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiaU8mTyY6cG9zaXhfZmFsbG9jYXRlIiwKLSAgICAgICAgICAgICZmZCwgX3BhcnNlX29mZl90LCAmb2Zmc2V0LCBfcGFyc2Vfb2ZmX3QsICZsZW4pKQotICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgImlPJk8mOnBvc2l4X2ZhbGxvY2F0ZSIsCisgICAgICAgICZmZCwgUHlfb2ZmX3RfY29udmVydGVyLCAmb2Zmc2V0LCBQeV9vZmZfdF9jb252ZXJ0ZXIsICZsZW5ndGgpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gb3NfcG9zaXhfZmFsbG9jYXRlX2ltcGwobW9kdWxlLCBmZCwgb2Zmc2V0LCBsZW5ndGgpOwogCi0gICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwotICAgIHJlcyA9IHBvc2l4X2ZhbGxvY2F0ZShmZCwgb2Zmc2V0LCBsZW4pOwotICAgIFB5X0VORF9BTExPV19USFJFQURTCi0gICAgaWYgKHJlcyAhPSAwKSB7Ci0gICAgICAgIGVycm5vID0gcmVzOwotICAgICAgICByZXR1cm4gcG9zaXhfZXJyb3IoKTsKLSAgICB9CitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19wb3NpeF9mYWxsb2NhdGVfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgZmQsIFB5X29mZl90IG9mZnNldCwgUHlfb2ZmX3QgbGVuZ3RoKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTBjZDcwMmQyMDY1Yzc5ZGIgaW5wdXQ9ZDdhMmVmMGFiMmNhNTJmYl0qLworeworICAgIGludCByZXN1bHQ7CisgICAgaW50IGFzeW5jX2VyciA9IDA7CisKKyAgICBkbyB7CisgICAgICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKKyAgICAgICAgcmVzdWx0ID0gcG9zaXhfZmFsbG9jYXRlKGZkLCBvZmZzZXQsIGxlbmd0aCk7CisgICAgICAgIFB5X0VORF9BTExPV19USFJFQURTCisgICAgfSB3aGlsZSAocmVzdWx0ICE9IDAgJiYgZXJybm8gPT0gRUlOVFIgJiYKKyAgICAgICAgICAgICAhKGFzeW5jX2VyciA9IFB5RXJyX0NoZWNrU2lnbmFscygpKSk7CisgICAgaWYgKHJlc3VsdCAhPSAwKQorICAgICAgICByZXR1cm4gKCFhc3luY19lcnIpID8gcG9zaXhfZXJyb3IoKSA6IE5VTEw7CiAgICAgUHlfUkVUVVJOX05PTkU7CiB9Ci0jZW5kaWYKKyNlbmRpZiAvKiBIQVZFX1BPU0lYX0ZBTExPQ0FURSkgJiYgIVBPU0lYX0ZBRFZJU0VfQUlYX0JVRyAqLworCiAKICNpZiBkZWZpbmVkKEhBVkVfUE9TSVhfRkFEVklTRSkgJiYgIWRlZmluZWQoUE9TSVhfRkFEVklTRV9BSVhfQlVHKQotUHlEb2NfU1RSVkFSKHBvc2l4X3Bvc2l4X2ZhZHZpc2VfX2RvY19fLAotInBvc2l4X2ZhZHZpc2UoZmQsIG9mZnNldCwgbGVuLCBhZHZpY2UpXG5cblwKLUFubm91bmNlcyBhbiBpbnRlbnRpb24gdG8gYWNjZXNzIGRhdGEgaW4gYSBzcGVjaWZpYyBwYXR0ZXJuIHRodXMgYWxsb3dpbmdcblwKLXRoZSBrZXJuZWwgdG8gbWFrZSBvcHRpbWl6YXRpb25zLlxuXAotVGhlIGFkdmljZSBhcHBsaWVzIHRvIHRoZSByZWdpb24gb2YgdGhlIGZpbGUgc3BlY2lmaWVkIGJ5IGZkIHN0YXJ0aW5nIGF0XG5cCi1vZmZzZXQgYW5kIGNvbnRpbnVpbmcgZm9yIGxlbiBieXRlcy5cblwKLWFkdmljZSBpcyBvbmUgb2YgUE9TSVhfRkFEVl9OT1JNQUwsIFBPU0lYX0ZBRFZfU0VRVUVOVElBTCxcblwKLVBPU0lYX0ZBRFZfUkFORE9NLCBQT1NJWF9GQURWX05PUkVVU0UsIFBPU0lYX0ZBRFZfV0lMTE5FRUQgb3JcblwKLVBPU0lYX0ZBRFZfRE9OVE5FRUQuIik7CisvKltjbGluaWMgaW5wdXRdCitvcy5wb3NpeF9mYWR2aXNlCisKKyAgICBmZDogaW50CisgICAgb2Zmc2V0OiBQeV9vZmZfdAorICAgIGxlbmd0aDogUHlfb2ZmX3QKKyAgICBhZHZpY2U6IGludAorICAgIC8KKworQW5ub3VuY2UgYW4gaW50ZW50aW9uIHRvIGFjY2VzcyBkYXRhIGluIGEgc3BlY2lmaWMgcGF0dGVybi4KKworQW5ub3VuY2UgYW4gaW50ZW50aW9uIHRvIGFjY2VzcyBkYXRhIGluIGEgc3BlY2lmaWMgcGF0dGVybiwgdGh1cyBhbGxvd2luZwordGhlIGtlcm5lbCB0byBtYWtlIG9wdGltaXphdGlvbnMuCitUaGUgYWR2aWNlIGFwcGxpZXMgdG8gdGhlIHJlZ2lvbiBvZiB0aGUgZmlsZSBzcGVjaWZpZWQgYnkgZmQgc3RhcnRpbmcgYXQKK29mZnNldCBhbmQgY29udGludWluZyBmb3IgbGVuZ3RoIGJ5dGVzLgorYWR2aWNlIGlzIG9uZSBvZiBQT1NJWF9GQURWX05PUk1BTCwgUE9TSVhfRkFEVl9TRVFVRU5USUFMLAorUE9TSVhfRkFEVl9SQU5ET00sIFBPU0lYX0ZBRFZfTk9SRVVTRSwgUE9TSVhfRkFEVl9XSUxMTkVFRCwgb3IKK1BPU0lYX0ZBRFZfRE9OVE5FRUQuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19wb3NpeF9mYWR2aXNlX19kb2NfXywKKyJwb3NpeF9mYWR2aXNlKCRtb2R1bGUsIGZkLCBvZmZzZXQsIGxlbmd0aCwgYWR2aWNlLCAvKVxuIgorIi0tXG4iCisiXG4iCisiQW5ub3VuY2UgYW4gaW50ZW50aW9uIHRvIGFjY2VzcyBkYXRhIGluIGEgc3BlY2lmaWMgcGF0dGVybi5cbiIKKyJcbiIKKyJBbm5vdW5jZSBhbiBpbnRlbnRpb24gdG8gYWNjZXNzIGRhdGEgaW4gYSBzcGVjaWZpYyBwYXR0ZXJuLCB0aHVzIGFsbG93aW5nXG4iCisidGhlIGtlcm5lbCB0byBtYWtlIG9wdGltaXphdGlvbnMuXG4iCisiVGhlIGFkdmljZSBhcHBsaWVzIHRvIHRoZSByZWdpb24gb2YgdGhlIGZpbGUgc3BlY2lmaWVkIGJ5IGZkIHN0YXJ0aW5nIGF0XG4iCisib2Zmc2V0IGFuZCBjb250aW51aW5nIGZvciBsZW5ndGggYnl0ZXMuXG4iCisiYWR2aWNlIGlzIG9uZSBvZiBQT1NJWF9GQURWX05PUk1BTCwgUE9TSVhfRkFEVl9TRVFVRU5USUFMLFxuIgorIlBPU0lYX0ZBRFZfUkFORE9NLCBQT1NJWF9GQURWX05PUkVVU0UsIFBPU0lYX0ZBRFZfV0lMTE5FRUQsIG9yXG4iCisiUE9TSVhfRkFEVl9ET05UTkVFRC4iKTsKKworI2RlZmluZSBPU19QT1NJWF9GQURWSVNFX01FVEhPRERFRiAgICBcCisgICAgeyJwb3NpeF9mYWR2aXNlIiwgKFB5Q0Z1bmN0aW9uKW9zX3Bvc2l4X2ZhZHZpc2UsIE1FVEhfVkFSQVJHUywgb3NfcG9zaXhfZmFkdmlzZV9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfcG9zaXhfZmFkdmlzZShQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitvc19wb3NpeF9mYWR2aXNlX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IGZkLCBQeV9vZmZfdCBvZmZzZXQsIFB5X29mZl90IGxlbmd0aCwgaW50IGFkdmljZSk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19wb3NpeF9mYWR2aXNlKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQogewotICAgIG9mZl90IGxlbiwgb2Zmc2V0OwotICAgIGludCByZXMsIGZkLCBhZHZpY2U7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgaW50IGZkOworICAgIFB5X29mZl90IG9mZnNldDsKKyAgICBQeV9vZmZfdCBsZW5ndGg7CisgICAgaW50IGFkdmljZTsKIAotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiaU8mTyZpOnBvc2l4X2ZhZHZpc2UiLAotICAgICAgICAgICAgJmZkLCBfcGFyc2Vfb2ZmX3QsICZvZmZzZXQsIF9wYXJzZV9vZmZfdCwgJmxlbiwgJmFkdmljZSkpCi0gICAgICAgIHJldHVybiBOVUxMOworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAiaU8mTyZpOnBvc2l4X2ZhZHZpc2UiLAorICAgICAgICAmZmQsIFB5X29mZl90X2NvbnZlcnRlciwgJm9mZnNldCwgUHlfb2ZmX3RfY29udmVydGVyLCAmbGVuZ3RoLCAmYWR2aWNlKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IG9zX3Bvc2l4X2ZhZHZpc2VfaW1wbChtb2R1bGUsIGZkLCBvZmZzZXQsIGxlbmd0aCwgYWR2aWNlKTsKIAotICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKLSAgICByZXMgPSBwb3NpeF9mYWR2aXNlKGZkLCBvZmZzZXQsIGxlbiwgYWR2aWNlKTsKLSAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUwotICAgIGlmIChyZXMgIT0gMCkgewotICAgICAgICBlcnJubyA9IHJlczsKLSAgICAgICAgcmV0dXJuIHBvc2l4X2Vycm9yKCk7Ci0gICAgfQorZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3NfcG9zaXhfZmFkdmlzZV9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCBmZCwgUHlfb2ZmX3Qgb2Zmc2V0LCBQeV9vZmZfdCBsZW5ndGgsIGludCBhZHZpY2UpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ZGFkOTNmMzJjMDRkZDRmNyBpbnB1dD0wZmJlNTU0ZWRjMmYwNGI1XSovCit7CisgICAgaW50IHJlc3VsdDsKKyAgICBpbnQgYXN5bmNfZXJyID0gMDsKKworICAgIGRvIHsKKyAgICAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUworICAgICAgICByZXN1bHQgPSBwb3NpeF9mYWR2aXNlKGZkLCBvZmZzZXQsIGxlbmd0aCwgYWR2aWNlKTsKKyAgICAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKKyAgICB9IHdoaWxlIChyZXN1bHQgIT0gMCAmJiBlcnJubyA9PSBFSU5UUiAmJgorICAgICAgICAgICAgICEoYXN5bmNfZXJyID0gUHlFcnJfQ2hlY2tTaWduYWxzKCkpKTsKKyAgICBpZiAocmVzdWx0ICE9IDApCisgICAgICAgIHJldHVybiAoIWFzeW5jX2VycikgPyBwb3NpeF9lcnJvcigpIDogTlVMTDsKICAgICBQeV9SRVRVUk5fTk9ORTsKIH0KLSNlbmRpZgorI2VuZGlmIC8qIEhBVkVfUE9TSVhfRkFEVklTRSAmJiAhUE9TSVhfRkFEVklTRV9BSVhfQlVHICovCiAKICNpZmRlZiBIQVZFX1BVVEVOVgotUHlEb2NfU1RSVkFSKHBvc2l4X3B1dGVudl9fZG9jX18sCi0icHV0ZW52KGtleSwgdmFsdWUpXG5cblwKLUNoYW5nZSBvciBhZGQgYW4gZW52aXJvbm1lbnQgdmFyaWFibGUuIik7CiAKIC8qIFNhdmUgcHV0ZW52KCkgcGFyYW1ldGVycyBhcyB2YWx1ZXMgaGVyZSwgc28gd2UgY2FuIGNvbGxlY3QgdGhlbSB3aGVuIHRoZXkKICAqIGdldCByZS1zZXQgd2l0aCBhbm90aGVyIGNhbGwgZm9yIHRoZSBzYW1lIGtleS4gKi8KIHN0YXRpYyBQeU9iamVjdCAqcG9zaXhfcHV0ZW52X2dhcmJhZ2U7CiAKLXN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9wdXRlbnYoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorc3RhdGljIHZvaWQKK3Bvc2l4X3B1dGVudl9nYXJiYWdlX3NldGl0ZW0oUHlPYmplY3QgKm5hbWUsIFB5T2JqZWN0ICp2YWx1ZSkKIHsKLSAgICBQeU9iamVjdCAqbmV3c3RyID0gTlVMTDsKKyAgICAvKiBJbnN0YWxsIHRoZSBmaXJzdCBhcmcgYW5kIG5ld3N0ciBpbiBwb3NpeF9wdXRlbnZfZ2FyYmFnZTsKKyAgICAgKiB0aGlzIHdpbGwgY2F1c2UgcHJldmlvdXMgdmFsdWUgdG8gYmUgY29sbGVjdGVkLiAgVGhpcyBoYXMgdG8KKyAgICAgKiBoYXBwZW4gYWZ0ZXIgdGhlIHJlYWwgcHV0ZW52KCkgY2FsbCBiZWNhdXNlIHRoZSBvbGQgdmFsdWUKKyAgICAgKiB3YXMgc3RpbGwgYWNjZXNzaWJsZSB1bnRpbCB0aGVuLiAqLworICAgIGlmIChQeURpY3RfU2V0SXRlbShwb3NpeF9wdXRlbnZfZ2FyYmFnZSwgbmFtZSwgdmFsdWUpKQorICAgICAgICAvKiByZWFsbHkgbm90IG11Y2ggd2UgY2FuIGRvOyBqdXN0IGxlYWsgKi8KKyAgICAgICAgUHlFcnJfQ2xlYXIoKTsKKyAgICBlbHNlCisgICAgICAgIFB5X0RFQ1JFRih2YWx1ZSk7Cit9CisKKwogI2lmZGVmIE1TX1dJTkRPV1MKLSAgICBQeU9iamVjdCAqb3MxLCAqb3MyOwotICAgIHdjaGFyX3QgKm5ld2VudjsKKy8qW2NsaW5pYyBpbnB1dF0KK29zLnB1dGVudgorCisgICAgbmFtZTogdW5pY29kZQorICAgIHZhbHVlOiB1bmljb2RlCisgICAgLworCitDaGFuZ2Ugb3IgYWRkIGFuIGVudmlyb25tZW50IHZhcmlhYmxlLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3NfcHV0ZW52X19kb2NfXywKKyJwdXRlbnYoJG1vZHVsZSwgbmFtZSwgdmFsdWUsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJDaGFuZ2Ugb3IgYWRkIGFuIGVudmlyb25tZW50IHZhcmlhYmxlLiIpOworCisjZGVmaW5lIE9TX1BVVEVOVl9NRVRIT0RERUYgICAgXAorICAgIHsicHV0ZW52IiwgKFB5Q0Z1bmN0aW9uKW9zX3B1dGVudiwgTUVUSF9WQVJBUkdTLCBvc19wdXRlbnZfX2RvY19ffSwKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3B1dGVudl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpuYW1lLCBQeU9iamVjdCAqdmFsdWUpOworCitzdGF0aWMgUHlPYmplY3QgKgorb3NfcHV0ZW52KFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQoreworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIFB5T2JqZWN0ICpuYW1lOworICAgIFB5T2JqZWN0ICp2YWx1ZTsKIAogICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAiVVU6cHV0ZW52IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgJm9zMSwgJm9zMikpCi0gICAgICAgIHJldHVybiBOVUxMOworICAgICAgICAiVVU6cHV0ZW52IiwKKyAgICAgICAgJm5hbWUsICZ2YWx1ZSkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBvc19wdXRlbnZfaW1wbChtb2R1bGUsIG5hbWUsIHZhbHVlKTsKIAotICAgIG5ld3N0ciA9IFB5VW5pY29kZV9Gcm9tRm9ybWF0KCIlVT0lVSIsIG9zMSwgb3MyKTsKLSAgICBpZiAobmV3c3RyID09IE5VTEwpIHsKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3B1dGVudl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpuYW1lLCBQeU9iamVjdCAqdmFsdWUpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9NWNlOWVmOWIxNTYwNmU3ZSBpbnB1dD1iYTU4NjU4MWMyZTYxMDVmXSovCit7CisgICAgd2NoYXJfdCAqZW52OworCisgICAgUHlPYmplY3QgKnVuaWNvZGUgPSBQeVVuaWNvZGVfRnJvbUZvcm1hdCgiJVU9JVUiLCBuYW1lLCB2YWx1ZSk7CisgICAgaWYgKHVuaWNvZGUgPT0gTlVMTCkgewogICAgICAgICBQeUVycl9Ob01lbW9yeSgpOwotICAgICAgICBnb3RvIGVycm9yOworICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9Ci0gICAgaWYgKF9NQVhfRU5WIDwgUHlVbmljb2RlX0dFVF9MRU5HVEgobmV3c3RyKSkgeworICAgIGlmIChfTUFYX0VOViA8IFB5VW5pY29kZV9HRVRfTEVOR1RIKHVuaWNvZGUpKSB7CiAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19WYWx1ZUVycm9yLAogICAgICAgICAgICAgICAgICAgICAgInRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZSBpcyBsb25nZXIgdGhhbiAldSBjaGFyYWN0ZXJzIiwKICAgICAgICAgICAgICAgICAgICAgIF9NQVhfRU5WKTsKICAgICAgICAgZ290byBlcnJvcjsKICAgICB9CiAKLSAgICBuZXdlbnYgPSBQeVVuaWNvZGVfQXNVbmljb2RlKG5ld3N0cik7Ci0gICAgaWYgKG5ld2VudiA9PSBOVUxMKQorICAgIGVudiA9IFB5VW5pY29kZV9Bc1VuaWNvZGUodW5pY29kZSk7CisgICAgaWYgKGVudiA9PSBOVUxMKQogICAgICAgICBnb3RvIGVycm9yOwotICAgIGlmIChfd3B1dGVudihuZXdlbnYpKSB7CisgICAgaWYgKF93cHV0ZW52KGVudikpIHsKICAgICAgICAgcG9zaXhfZXJyb3IoKTsKICAgICAgICAgZ290byBlcnJvcjsKICAgICB9Ci0jZWxzZQotICAgIFB5T2JqZWN0ICpvczEsICpvczI7Ci0gICAgY2hhciAqczEsICpzMjsKLSAgICBjaGFyICpuZXdlbnY7CiAKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIk8mTyY6cHV0ZW52IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX0ZTQ29udmVydGVyLCAmb3MxLAotICAgICAgICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfRlNDb252ZXJ0ZXIsICZvczIpKQotICAgICAgICByZXR1cm4gTlVMTDsKLSAgICBzMSA9IFB5Qnl0ZXNfQXNTdHJpbmcob3MxKTsKLSAgICBzMiA9IFB5Qnl0ZXNfQXNTdHJpbmcob3MyKTsKLQotICAgIG5ld3N0ciA9IFB5Qnl0ZXNfRnJvbUZvcm1hdCgiJXM9JXMiLCBzMSwgczIpOwotICAgIGlmIChuZXdzdHIgPT0gTlVMTCkgewotICAgICAgICBQeUVycl9Ob01lbW9yeSgpOwotICAgICAgICBnb3RvIGVycm9yOwotICAgIH0KLQotICAgIG5ld2VudiA9IFB5Qnl0ZXNfQVNfU1RSSU5HKG5ld3N0cik7Ci0gICAgaWYgKHB1dGVudihuZXdlbnYpKSB7Ci0gICAgICAgIHBvc2l4X2Vycm9yKCk7Ci0gICAgICAgIGdvdG8gZXJyb3I7Ci0gICAgfQotI2VuZGlmCi0KLSAgICAvKiBJbnN0YWxsIHRoZSBmaXJzdCBhcmcgYW5kIG5ld3N0ciBpbiBwb3NpeF9wdXRlbnZfZ2FyYmFnZTsKLSAgICAgKiB0aGlzIHdpbGwgY2F1c2UgcHJldmlvdXMgdmFsdWUgdG8gYmUgY29sbGVjdGVkLiAgVGhpcyBoYXMgdG8KLSAgICAgKiBoYXBwZW4gYWZ0ZXIgdGhlIHJlYWwgcHV0ZW52KCkgY2FsbCBiZWNhdXNlIHRoZSBvbGQgdmFsdWUKLSAgICAgKiB3YXMgc3RpbGwgYWNjZXNzaWJsZSB1bnRpbCB0aGVuLiAqLwotICAgIGlmIChQeURpY3RfU2V0SXRlbShwb3NpeF9wdXRlbnZfZ2FyYmFnZSwgb3MxLCBuZXdzdHIpKSB7Ci0gICAgICAgIC8qIHJlYWxseSBub3QgbXVjaCB3ZSBjYW4gZG87IGp1c3QgbGVhayAqLwotICAgICAgICBQeUVycl9DbGVhcigpOwotICAgIH0KLSAgICBlbHNlIHsKLSAgICAgICAgUHlfREVDUkVGKG5ld3N0cik7Ci0gICAgfQotCi0jaWZuZGVmIE1TX1dJTkRPV1MKLSAgICBQeV9ERUNSRUYob3MxKTsKLSAgICBQeV9ERUNSRUYob3MyKTsKLSNlbmRpZgorICAgIHBvc2l4X3B1dGVudl9nYXJiYWdlX3NldGl0ZW0obmFtZSwgdW5pY29kZSk7CiAgICAgUHlfUkVUVVJOX05PTkU7CiAKIGVycm9yOgotI2lmbmRlZiBNU19XSU5ET1dTCi0gICAgUHlfREVDUkVGKG9zMSk7Ci0gICAgUHlfREVDUkVGKG9zMik7Ci0jZW5kaWYKLSAgICBQeV9YREVDUkVGKG5ld3N0cik7CisgICAgUHlfREVDUkVGKHVuaWNvZGUpOwogICAgIHJldHVybiBOVUxMOwogfQotI2VuZGlmIC8qIHB1dGVudiAqLworI2Vsc2UgLyogTVNfV0lORE9XUyAqLworLypbY2xpbmljIGlucHV0XQorb3MucHV0ZW52CiAKLSNpZmRlZiBIQVZFX1VOU0VURU5WCi1QeURvY19TVFJWQVIocG9zaXhfdW5zZXRlbnZfX2RvY19fLAotInVuc2V0ZW52KGtleSlcblxuXAotRGVsZXRlIGFuIGVudmlyb25tZW50IHZhcmlhYmxlLiIpOworICAgIG5hbWU6IEZTQ29udmVydGVyCisgICAgdmFsdWU6IEZTQ29udmVydGVyCisgICAgLworCitDaGFuZ2Ugb3IgYWRkIGFuIGVudmlyb25tZW50IHZhcmlhYmxlLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3NfcHV0ZW52X19kb2NfXywKKyJwdXRlbnYoJG1vZHVsZSwgbmFtZSwgdmFsdWUsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJDaGFuZ2Ugb3IgYWRkIGFuIGVudmlyb25tZW50IHZhcmlhYmxlLiIpOworCisjZGVmaW5lIE9TX1BVVEVOVl9NRVRIT0RERUYgICAgXAorICAgIHsicHV0ZW52IiwgKFB5Q0Z1bmN0aW9uKW9zX3B1dGVudiwgTUVUSF9WQVJBUkdTLCBvc19wdXRlbnZfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X3Vuc2V0ZW52KFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK29zX3B1dGVudl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpuYW1lLCBQeU9iamVjdCAqdmFsdWUpOworCitzdGF0aWMgUHlPYmplY3QgKgorb3NfcHV0ZW52KFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQogewotICAgIFB5T2JqZWN0ICpuYW1lOworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIFB5T2JqZWN0ICpuYW1lID0gTlVMTDsKKyAgICBQeU9iamVjdCAqdmFsdWUgPSBOVUxMOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICJPJk8mOnB1dGVudiIsCisgICAgICAgIFB5VW5pY29kZV9GU0NvbnZlcnRlciwgJm5hbWUsIFB5VW5pY29kZV9GU0NvbnZlcnRlciwgJnZhbHVlKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IG9zX3B1dGVudl9pbXBsKG1vZHVsZSwgbmFtZSwgdmFsdWUpOworCitleGl0OgorICAgIC8qIENsZWFudXAgZm9yIG5hbWUgKi8KKyAgICBQeV9YREVDUkVGKG5hbWUpOworICAgIC8qIENsZWFudXAgZm9yIHZhbHVlICovCisgICAgUHlfWERFQ1JFRih2YWx1ZSk7CisKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3NfcHV0ZW52X2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKm5hbWUsIFB5T2JqZWN0ICp2YWx1ZSkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD04NWFiMjIzMzkzZGM3YWZkIGlucHV0PWE5N2JjNjE1MmY2ODhkMzFdKi8KK3sKKyAgICBQeU9iamVjdCAqYnl0ZXMgPSBOVUxMOworICAgIGNoYXIgKmVudjsKKyAgICBjaGFyICpuYW1lX3N0cmluZyA9IFB5Qnl0ZXNfQXNTdHJpbmcobmFtZSk7CisgICAgY2hhciAqdmFsdWVfc3RyaW5nID0gUHlCeXRlc19Bc1N0cmluZyh2YWx1ZSk7CisKKyAgICBieXRlcyA9IFB5Qnl0ZXNfRnJvbUZvcm1hdCgiJXM9JXMiLCBuYW1lX3N0cmluZywgdmFsdWVfc3RyaW5nKTsKKyAgICBpZiAoYnl0ZXMgPT0gTlVMTCkgeworICAgICAgICBQeUVycl9Ob01lbW9yeSgpOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisKKyAgICBlbnYgPSBQeUJ5dGVzX0FTX1NUUklORyhieXRlcyk7CisgICAgaWYgKHB1dGVudihlbnYpKSB7CisgICAgICAgIFB5X0RFQ1JFRihieXRlcyk7CisgICAgICAgIHJldHVybiBwb3NpeF9lcnJvcigpOworICAgIH0KKworICAgIHBvc2l4X3B1dGVudl9nYXJiYWdlX3NldGl0ZW0obmFtZSwgYnl0ZXMpOworICAgIFB5X1JFVFVSTl9OT05FOworfQorI2VuZGlmIC8qIE1TX1dJTkRPV1MgKi8KKyNlbmRpZiAvKiBIQVZFX1BVVEVOViAqLworCisKKyNpZmRlZiBIQVZFX1VOU0VURU5WCisvKltjbGluaWMgaW5wdXRdCitvcy51bnNldGVudgorICAgIG5hbWU6IEZTQ29udmVydGVyCisgICAgLworCitEZWxldGUgYW4gZW52aXJvbm1lbnQgdmFyaWFibGUuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc191bnNldGVudl9fZG9jX18sCisidW5zZXRlbnYoJG1vZHVsZSwgbmFtZSwgLylcbiIKKyItLVxuIgorIlxuIgorIkRlbGV0ZSBhbiBlbnZpcm9ubWVudCB2YXJpYWJsZS4iKTsKKworI2RlZmluZSBPU19VTlNFVEVOVl9NRVRIT0RERUYgICAgXAorICAgIHsidW5zZXRlbnYiLCAoUHlDRnVuY3Rpb24pb3NfdW5zZXRlbnYsIE1FVEhfVkFSQVJHUywgb3NfdW5zZXRlbnZfX2RvY19ffSwKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3Vuc2V0ZW52X2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKm5hbWUpOworCitzdGF0aWMgUHlPYmplY3QgKgorb3NfdW5zZXRlbnYoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgUHlPYmplY3QgKm5hbWUgPSBOVUxMOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICJPJjp1bnNldGVudiIsCisgICAgICAgIFB5VW5pY29kZV9GU0NvbnZlcnRlciwgJm5hbWUpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gb3NfdW5zZXRlbnZfaW1wbChtb2R1bGUsIG5hbWUpOworCitleGl0OgorICAgIC8qIENsZWFudXAgZm9yIG5hbWUgKi8KKyAgICBQeV9YREVDUkVGKG5hbWUpOworCisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3Vuc2V0ZW52X2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKm5hbWUpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9OTEzMThjOTk1ZjlhMDc2NyBpbnB1dD0yYmI1Mjg4YTU5OWM3MTA3XSovCit7CiAjaWZuZGVmIEhBVkVfQlJPS0VOX1VOU0VURU5WCiAgICAgaW50IGVycjsKICNlbmRpZgogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJPJjp1bnNldGVudiIsCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX0ZTQ29udmVydGVyLCAmbmFtZSkpCi0gICAgICAgIHJldHVybiBOVUxMOwotCiAjaWZkZWYgSEFWRV9CUk9LRU5fVU5TRVRFTlYKICAgICB1bnNldGVudihQeUJ5dGVzX0FTX1NUUklORyhuYW1lKSk7CiAjZWxzZQogICAgIGVyciA9IHVuc2V0ZW52KFB5Qnl0ZXNfQVNfU1RSSU5HKG5hbWUpKTsKLSAgICBpZiAoZXJyKSB7Ci0gICAgICAgIFB5X0RFQ1JFRihuYW1lKTsKKyAgICBpZiAoZXJyKQogICAgICAgICByZXR1cm4gcG9zaXhfZXJyb3IoKTsKLSAgICB9CiAjZW5kaWYKIAogICAgIC8qIFJlbW92ZSB0aGUga2V5IGZyb20gcG9zaXhfcHV0ZW52X2dhcmJhZ2U7CkBAIC05MDA1LDIzICsxMzAxMiw1MyBAQAogICAgICAgICAvKiByZWFsbHkgbm90IG11Y2ggd2UgY2FuIGRvOyBqdXN0IGxlYWsgKi8KICAgICAgICAgUHlFcnJfQ2xlYXIoKTsKICAgICB9Ci0gICAgUHlfREVDUkVGKG5hbWUpOwogICAgIFB5X1JFVFVSTl9OT05FOwogfQotI2VuZGlmIC8qIHVuc2V0ZW52ICovCisjZW5kaWYgLyogSEFWRV9VTlNFVEVOViAqLwogCi1QeURvY19TVFJWQVIocG9zaXhfc3RyZXJyb3JfX2RvY19fLAotInN0cmVycm9yKGNvZGUpIC0+IHN0cmluZ1xuXG5cCi1UcmFuc2xhdGUgYW4gZXJyb3IgY29kZSB0byBhIG1lc3NhZ2Ugc3RyaW5nLiIpOworCisvKltjbGluaWMgaW5wdXRdCitvcy5zdHJlcnJvcgorCisgICAgY29kZTogaW50CisgICAgLworCitUcmFuc2xhdGUgYW4gZXJyb3IgY29kZSB0byBhIG1lc3NhZ2Ugc3RyaW5nLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3Nfc3RyZXJyb3JfX2RvY19fLAorInN0cmVycm9yKCRtb2R1bGUsIGNvZGUsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJUcmFuc2xhdGUgYW4gZXJyb3IgY29kZSB0byBhIG1lc3NhZ2Ugc3RyaW5nLiIpOworCisjZGVmaW5lIE9TX1NUUkVSUk9SX01FVEhPRERFRiAgICBcCisgICAgeyJzdHJlcnJvciIsIChQeUNGdW5jdGlvbilvc19zdHJlcnJvciwgTUVUSF9WQVJBUkdTLCBvc19zdHJlcnJvcl9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfc3RyZXJyb3IoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorb3Nfc3RyZXJyb3JfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgY29kZSk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19zdHJlcnJvcihQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKIHsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKICAgICBpbnQgY29kZTsKLSAgICBjaGFyICptZXNzYWdlOwotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiaTpzdHJlcnJvciIsICZjb2RlKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgbWVzc2FnZSA9IHN0cmVycm9yKGNvZGUpOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICJpOnN0cmVycm9yIiwKKyAgICAgICAgJmNvZGUpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gb3Nfc3RyZXJyb3JfaW1wbChtb2R1bGUsIGNvZGUpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19zdHJlcnJvcl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCBjb2RlKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTg2NjVjNzBiYjJjYTQ3MjAgaW5wdXQ9NzVhODY3M2Q5NzkxNWE5MV0qLworeworICAgIGNoYXIgKm1lc3NhZ2UgPSBzdHJlcnJvcihjb2RlKTsKICAgICBpZiAobWVzc2FnZSA9PSBOVUxMKSB7CiAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLAogICAgICAgICAgICAgICAgICAgICAgICAgInN0cmVycm9yKCkgYXJndW1lbnQgb3V0IG9mIHJhbmdlIik7CkBAIC05MDMyLDE1OCArMTMwNjksNDcwIEBACiAKIAogI2lmZGVmIEhBVkVfU1lTX1dBSVRfSAotCiAjaWZkZWYgV0NPUkVEVU1QCi1QeURvY19TVFJWQVIocG9zaXhfV0NPUkVEVU1QX19kb2NfXywKLSJXQ09SRURVTVAoc3RhdHVzKSAtPiBib29sXG5cblwKLVJldHVybiBUcnVlIGlmIHRoZSBwcm9jZXNzIHJldHVybmluZyAnc3RhdHVzJyB3YXMgZHVtcGVkIHRvIGEgY29yZSBmaWxlLiIpOworLypbY2xpbmljIGlucHV0XQorb3MuV0NPUkVEVU1QIC0+IGJvb2wKKworICAgIHN0YXR1czogaW50CisgICAgLworCitSZXR1cm4gVHJ1ZSBpZiB0aGUgcHJvY2VzcyByZXR1cm5pbmcgc3RhdHVzIHdhcyBkdW1wZWQgdG8gYSBjb3JlIGZpbGUuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19XQ09SRURVTVBfX2RvY19fLAorIldDT1JFRFVNUCgkbW9kdWxlLCBzdGF0dXMsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gVHJ1ZSBpZiB0aGUgcHJvY2VzcyByZXR1cm5pbmcgc3RhdHVzIHdhcyBkdW1wZWQgdG8gYSBjb3JlIGZpbGUuIik7CisKKyNkZWZpbmUgT1NfV0NPUkVEVU1QX01FVEhPRERFRiAgICBcCisgICAgeyJXQ09SRURVTVAiLCAoUHlDRnVuY3Rpb24pb3NfV0NPUkVEVU1QLCBNRVRIX1ZBUkFSR1MsIG9zX1dDT1JFRFVNUF9fZG9jX199LAorCitzdGF0aWMgaW50Citvc19XQ09SRURVTVBfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgc3RhdHVzKTsKIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X1dDT1JFRFVNUChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitvc19XQ09SRURVTVAoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCiB7Ci0gICAgV0FJVF9UWVBFIHN0YXR1czsKLSAgICBXQUlUX1NUQVRVU19JTlQoc3RhdHVzKSA9IDA7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgaW50IHN0YXR1czsKKyAgICBpbnQgX3JldHVybl92YWx1ZTsKIAotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiaTpXQ09SRURVTVAiLCAmV0FJVF9TVEFUVVNfSU5UKHN0YXR1cykpKQotICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgImk6V0NPUkVEVU1QIiwKKyAgICAgICAgJnN0YXR1cykpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICBfcmV0dXJuX3ZhbHVlID0gb3NfV0NPUkVEVU1QX2ltcGwobW9kdWxlLCBzdGF0dXMpOworICAgIGlmICgoX3JldHVybl92YWx1ZSA9PSAtMSkgJiYgUHlFcnJfT2NjdXJyZWQoKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IFB5Qm9vbF9Gcm9tTG9uZygobG9uZylfcmV0dXJuX3ZhbHVlKTsKIAotICAgIHJldHVybiBQeUJvb2xfRnJvbUxvbmcoV0NPUkVEVU1QKHN0YXR1cykpOworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgaW50Citvc19XQ09SRURVTVBfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgc3RhdHVzKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWUwNGQ1NWMwOWMyOTk4MjggaW5wdXQ9OGIwNWU3YWIzODUyOGQwNF0qLworeworICAgIFdBSVRfVFlQRSB3YWl0X3N0YXR1czsKKyAgICBXQUlUX1NUQVRVU19JTlQod2FpdF9zdGF0dXMpID0gc3RhdHVzOworICAgIHJldHVybiBXQ09SRURVTVAod2FpdF9zdGF0dXMpOwogfQogI2VuZGlmIC8qIFdDT1JFRFVNUCAqLwogCisKICNpZmRlZiBXSUZDT05USU5VRUQKLVB5RG9jX1NUUlZBUihwb3NpeF9XSUZDT05USU5VRURfX2RvY19fLAotIldJRkNPTlRJTlVFRChzdGF0dXMpIC0+IGJvb2xcblxuXAotUmV0dXJuIFRydWUgaWYgdGhlIHByb2Nlc3MgcmV0dXJuaW5nICdzdGF0dXMnIHdhcyBjb250aW51ZWQgZnJvbSBhXG5cCi1qb2IgY29udHJvbCBzdG9wLiIpOworLypbY2xpbmljIGlucHV0XQorb3MuV0lGQ09OVElOVUVEIC0+IGJvb2wKKworICAgIHN0YXR1czogaW50CisKK1JldHVybiBUcnVlIGlmIGEgcGFydGljdWxhciBwcm9jZXNzIHdhcyBjb250aW51ZWQgZnJvbSBhIGpvYiBjb250cm9sIHN0b3AuCisKK1JldHVybiBUcnVlIGlmIHRoZSBwcm9jZXNzIHJldHVybmluZyBzdGF0dXMgd2FzIGNvbnRpbnVlZCBmcm9tIGEKK2pvYiBjb250cm9sIHN0b3AuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19XSUZDT05USU5VRURfX2RvY19fLAorIldJRkNPTlRJTlVFRCgkbW9kdWxlLCAvLCBzdGF0dXMpXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gVHJ1ZSBpZiBhIHBhcnRpY3VsYXIgcHJvY2VzcyB3YXMgY29udGludWVkIGZyb20gYSBqb2IgY29udHJvbCBzdG9wLlxuIgorIlxuIgorIlJldHVybiBUcnVlIGlmIHRoZSBwcm9jZXNzIHJldHVybmluZyBzdGF0dXMgd2FzIGNvbnRpbnVlZCBmcm9tIGFcbiIKKyJqb2IgY29udHJvbCBzdG9wLiIpOworCisjZGVmaW5lIE9TX1dJRkNPTlRJTlVFRF9NRVRIT0RERUYgICAgXAorICAgIHsiV0lGQ09OVElOVUVEIiwgKFB5Q0Z1bmN0aW9uKW9zX1dJRkNPTlRJTlVFRCwgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIG9zX1dJRkNPTlRJTlVFRF9fZG9jX199LAorCitzdGF0aWMgaW50Citvc19XSUZDT05USU5VRURfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgc3RhdHVzKTsKIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X1dJRkNPTlRJTlVFRChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitvc19XSUZDT05USU5VRUQoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCiB7Ci0gICAgV0FJVF9UWVBFIHN0YXR1czsKLSAgICBXQUlUX1NUQVRVU19JTlQoc3RhdHVzKSA9IDA7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgc3RhdGljIGNoYXIgKl9rZXl3b3Jkc1tdID0geyJzdGF0dXMiLCBOVUxMfTsKKyAgICBpbnQgc3RhdHVzOworICAgIGludCBfcmV0dXJuX3ZhbHVlOwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJpOldDT05USU5VRUQiLCAmV0FJVF9TVEFUVVNfSU5UKHN0YXR1cykpKQotICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsCisgICAgICAgICJpOldJRkNPTlRJTlVFRCIsIF9rZXl3b3JkcywKKyAgICAgICAgJnN0YXR1cykpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICBfcmV0dXJuX3ZhbHVlID0gb3NfV0lGQ09OVElOVUVEX2ltcGwobW9kdWxlLCBzdGF0dXMpOworICAgIGlmICgoX3JldHVybl92YWx1ZSA9PSAtMSkgJiYgUHlFcnJfT2NjdXJyZWQoKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IFB5Qm9vbF9Gcm9tTG9uZygobG9uZylfcmV0dXJuX3ZhbHVlKTsKIAotICAgIHJldHVybiBQeUJvb2xfRnJvbUxvbmcoV0lGQ09OVElOVUVEKHN0YXR1cykpOworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgaW50Citvc19XSUZDT05USU5VRURfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgc3RhdHVzKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTljNGU2MTA1YTQ1MjBhYjUgaW5wdXQ9ZTc3N2U3ZDM4ZWIyNWJkOV0qLworeworICAgIFdBSVRfVFlQRSB3YWl0X3N0YXR1czsKKyAgICBXQUlUX1NUQVRVU19JTlQod2FpdF9zdGF0dXMpID0gc3RhdHVzOworICAgIHJldHVybiBXSUZDT05USU5VRUQod2FpdF9zdGF0dXMpOwogfQogI2VuZGlmIC8qIFdJRkNPTlRJTlVFRCAqLwogCisKICNpZmRlZiBXSUZTVE9QUEVECi1QeURvY19TVFJWQVIocG9zaXhfV0lGU1RPUFBFRF9fZG9jX18sCi0iV0lGU1RPUFBFRChzdGF0dXMpIC0+IGJvb2xcblxuXAotUmV0dXJuIFRydWUgaWYgdGhlIHByb2Nlc3MgcmV0dXJuaW5nICdzdGF0dXMnIHdhcyBzdG9wcGVkLiIpOworLypbY2xpbmljIGlucHV0XQorb3MuV0lGU1RPUFBFRCAtPiBib29sCisKKyAgICBzdGF0dXM6IGludAorCitSZXR1cm4gVHJ1ZSBpZiB0aGUgcHJvY2VzcyByZXR1cm5pbmcgc3RhdHVzIHdhcyBzdG9wcGVkLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3NfV0lGU1RPUFBFRF9fZG9jX18sCisiV0lGU1RPUFBFRCgkbW9kdWxlLCAvLCBzdGF0dXMpXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gVHJ1ZSBpZiB0aGUgcHJvY2VzcyByZXR1cm5pbmcgc3RhdHVzIHdhcyBzdG9wcGVkLiIpOworCisjZGVmaW5lIE9TX1dJRlNUT1BQRURfTUVUSE9EREVGICAgIFwKKyAgICB7IldJRlNUT1BQRUQiLCAoUHlDRnVuY3Rpb24pb3NfV0lGU1RPUFBFRCwgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIG9zX1dJRlNUT1BQRURfX2RvY19ffSwKKworc3RhdGljIGludAorb3NfV0lGU1RPUFBFRF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCBzdGF0dXMpOwogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfV0lGU1RPUFBFRChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitvc19XSUZTVE9QUEVEKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQogewotICAgIFdBSVRfVFlQRSBzdGF0dXM7Ci0gICAgV0FJVF9TVEFUVVNfSU5UKHN0YXR1cykgPSAwOworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIHN0YXRpYyBjaGFyICpfa2V5d29yZHNbXSA9IHsic3RhdHVzIiwgTlVMTH07CisgICAgaW50IHN0YXR1czsKKyAgICBpbnQgX3JldHVybl92YWx1ZTsKIAotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiaTpXSUZTVE9QUEVEIiwgJldBSVRfU1RBVFVTX0lOVChzdGF0dXMpKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLAorICAgICAgICAiaTpXSUZTVE9QUEVEIiwgX2tleXdvcmRzLAorICAgICAgICAmc3RhdHVzKSkKKyAgICAgICAgZ290byBleGl0OworICAgIF9yZXR1cm5fdmFsdWUgPSBvc19XSUZTVE9QUEVEX2ltcGwobW9kdWxlLCBzdGF0dXMpOworICAgIGlmICgoX3JldHVybl92YWx1ZSA9PSAtMSkgJiYgUHlFcnJfT2NjdXJyZWQoKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IFB5Qm9vbF9Gcm9tTG9uZygobG9uZylfcmV0dXJuX3ZhbHVlKTsKIAotICAgIHJldHVybiBQeUJvb2xfRnJvbUxvbmcoV0lGU1RPUFBFRChzdGF0dXMpKTsKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIGludAorb3NfV0lGU1RPUFBFRF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCBzdGF0dXMpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ZTBkZTJkYThlYzk1OTNmZiBpbnB1dD0wNDNjYjdmMTI4OWVmOTA0XSovCit7CisgICAgV0FJVF9UWVBFIHdhaXRfc3RhdHVzOworICAgIFdBSVRfU1RBVFVTX0lOVCh3YWl0X3N0YXR1cykgPSBzdGF0dXM7CisgICAgcmV0dXJuIFdJRlNUT1BQRUQod2FpdF9zdGF0dXMpOwogfQogI2VuZGlmIC8qIFdJRlNUT1BQRUQgKi8KIAorCiAjaWZkZWYgV0lGU0lHTkFMRUQKLVB5RG9jX1NUUlZBUihwb3NpeF9XSUZTSUdOQUxFRF9fZG9jX18sCi0iV0lGU0lHTkFMRUQoc3RhdHVzKSAtPiBib29sXG5cblwKLVJldHVybiBUcnVlIGlmIHRoZSBwcm9jZXNzIHJldHVybmluZyAnc3RhdHVzJyB3YXMgdGVybWluYXRlZCBieSBhIHNpZ25hbC4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK29zLldJRlNJR05BTEVEIC0+IGJvb2wKKworICAgIHN0YXR1czogaW50CisKK1JldHVybiBUcnVlIGlmIHRoZSBwcm9jZXNzIHJldHVybmluZyBzdGF0dXMgd2FzIHRlcm1pbmF0ZWQgYnkgYSBzaWduYWwuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19XSUZTSUdOQUxFRF9fZG9jX18sCisiV0lGU0lHTkFMRUQoJG1vZHVsZSwgLywgc3RhdHVzKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIFRydWUgaWYgdGhlIHByb2Nlc3MgcmV0dXJuaW5nIHN0YXR1cyB3YXMgdGVybWluYXRlZCBieSBhIHNpZ25hbC4iKTsKKworI2RlZmluZSBPU19XSUZTSUdOQUxFRF9NRVRIT0RERUYgICAgXAorICAgIHsiV0lGU0lHTkFMRUQiLCAoUHlDRnVuY3Rpb24pb3NfV0lGU0lHTkFMRUQsIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBvc19XSUZTSUdOQUxFRF9fZG9jX199LAorCitzdGF0aWMgaW50Citvc19XSUZTSUdOQUxFRF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCBzdGF0dXMpOwogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfV0lGU0lHTkFMRUQoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorb3NfV0lGU0lHTkFMRUQoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCiB7Ci0gICAgV0FJVF9UWVBFIHN0YXR1czsKLSAgICBXQUlUX1NUQVRVU19JTlQoc3RhdHVzKSA9IDA7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgc3RhdGljIGNoYXIgKl9rZXl3b3Jkc1tdID0geyJzdGF0dXMiLCBOVUxMfTsKKyAgICBpbnQgc3RhdHVzOworICAgIGludCBfcmV0dXJuX3ZhbHVlOwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJpOldJRlNJR05BTEVEIiwgJldBSVRfU1RBVFVTX0lOVChzdGF0dXMpKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLAorICAgICAgICAiaTpXSUZTSUdOQUxFRCIsIF9rZXl3b3JkcywKKyAgICAgICAgJnN0YXR1cykpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICBfcmV0dXJuX3ZhbHVlID0gb3NfV0lGU0lHTkFMRURfaW1wbChtb2R1bGUsIHN0YXR1cyk7CisgICAgaWYgKChfcmV0dXJuX3ZhbHVlID09IC0xKSAmJiBQeUVycl9PY2N1cnJlZCgpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gUHlCb29sX0Zyb21Mb25nKChsb25nKV9yZXR1cm5fdmFsdWUpOwogCi0gICAgcmV0dXJuIFB5Qm9vbF9Gcm9tTG9uZyhXSUZTSUdOQUxFRChzdGF0dXMpKTsKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIGludAorb3NfV0lGU0lHTkFMRURfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgc3RhdHVzKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWYxNGQxMDY1NThmNDA2YmUgaW5wdXQ9ZDU1YmE3Y2M5Y2U1ZGM0M10qLworeworICAgIFdBSVRfVFlQRSB3YWl0X3N0YXR1czsKKyAgICBXQUlUX1NUQVRVU19JTlQod2FpdF9zdGF0dXMpID0gc3RhdHVzOworICAgIHJldHVybiBXSUZTSUdOQUxFRCh3YWl0X3N0YXR1cyk7CiB9CiAjZW5kaWYgLyogV0lGU0lHTkFMRUQgKi8KIAorCiAjaWZkZWYgV0lGRVhJVEVECi1QeURvY19TVFJWQVIocG9zaXhfV0lGRVhJVEVEX19kb2NfXywKLSJXSUZFWElURUQoc3RhdHVzKSAtPiBib29sXG5cblwKLVJldHVybiB0cnVlIGlmIHRoZSBwcm9jZXNzIHJldHVybmluZyAnc3RhdHVzJyBleGl0ZWQgdXNpbmcgdGhlIGV4aXQoKVxuXAotc3lzdGVtIGNhbGwuIik7CisvKltjbGluaWMgaW5wdXRdCitvcy5XSUZFWElURUQgLT4gYm9vbAorCisgICAgc3RhdHVzOiBpbnQKKworUmV0dXJuIFRydWUgaWYgdGhlIHByb2Nlc3MgcmV0dXJuaW5nIHN0YXR1cyBleGl0ZWQgdmlhIHRoZSBleGl0KCkgc3lzdGVtIGNhbGwuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19XSUZFWElURURfX2RvY19fLAorIldJRkVYSVRFRCgkbW9kdWxlLCAvLCBzdGF0dXMpXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gVHJ1ZSBpZiB0aGUgcHJvY2VzcyByZXR1cm5pbmcgc3RhdHVzIGV4aXRlZCB2aWEgdGhlIGV4aXQoKSBzeXN0ZW0gY2FsbC4iKTsKKworI2RlZmluZSBPU19XSUZFWElURURfTUVUSE9EREVGICAgIFwKKyAgICB7IldJRkVYSVRFRCIsIChQeUNGdW5jdGlvbilvc19XSUZFWElURUQsIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBvc19XSUZFWElURURfX2RvY19ffSwKKworc3RhdGljIGludAorb3NfV0lGRVhJVEVEX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IHN0YXR1cyk7CiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9XSUZFWElURUQoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorb3NfV0lGRVhJVEVEKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQogewotICAgIFdBSVRfVFlQRSBzdGF0dXM7Ci0gICAgV0FJVF9TVEFUVVNfSU5UKHN0YXR1cykgPSAwOworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIHN0YXRpYyBjaGFyICpfa2V5d29yZHNbXSA9IHsic3RhdHVzIiwgTlVMTH07CisgICAgaW50IHN0YXR1czsKKyAgICBpbnQgX3JldHVybl92YWx1ZTsKIAotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiaTpXSUZFWElURUQiLCAmV0FJVF9TVEFUVVNfSU5UKHN0YXR1cykpKQotICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsCisgICAgICAgICJpOldJRkVYSVRFRCIsIF9rZXl3b3JkcywKKyAgICAgICAgJnN0YXR1cykpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICBfcmV0dXJuX3ZhbHVlID0gb3NfV0lGRVhJVEVEX2ltcGwobW9kdWxlLCBzdGF0dXMpOworICAgIGlmICgoX3JldHVybl92YWx1ZSA9PSAtMSkgJiYgUHlFcnJfT2NjdXJyZWQoKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IFB5Qm9vbF9Gcm9tTG9uZygobG9uZylfcmV0dXJuX3ZhbHVlKTsKIAotICAgIHJldHVybiBQeUJvb2xfRnJvbUxvbmcoV0lGRVhJVEVEKHN0YXR1cykpOworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgaW50Citvc19XSUZFWElURURfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgc3RhdHVzKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTJmNzYwODdkNTM3MjEyNTUgaW5wdXQ9ZDYzNzc1YTY3OTE1ODZjMF0qLworeworICAgIFdBSVRfVFlQRSB3YWl0X3N0YXR1czsKKyAgICBXQUlUX1NUQVRVU19JTlQod2FpdF9zdGF0dXMpID0gc3RhdHVzOworICAgIHJldHVybiBXSUZFWElURUQod2FpdF9zdGF0dXMpOwogfQogI2VuZGlmIC8qIFdJRkVYSVRFRCAqLwogCisKICNpZmRlZiBXRVhJVFNUQVRVUwotUHlEb2NfU1RSVkFSKHBvc2l4X1dFWElUU1RBVFVTX19kb2NfXywKLSJXRVhJVFNUQVRVUyhzdGF0dXMpIC0+IGludGVnZXJcblxuXAotUmV0dXJuIHRoZSBwcm9jZXNzIHJldHVybiBjb2RlIGZyb20gJ3N0YXR1cycuIik7CisvKltjbGluaWMgaW5wdXRdCitvcy5XRVhJVFNUQVRVUyAtPiBpbnQKKworICAgIHN0YXR1czogaW50CisKK1JldHVybiB0aGUgcHJvY2VzcyByZXR1cm4gY29kZSBmcm9tIHN0YXR1cy4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX1dFWElUU1RBVFVTX19kb2NfXywKKyJXRVhJVFNUQVRVUygkbW9kdWxlLCAvLCBzdGF0dXMpXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gdGhlIHByb2Nlc3MgcmV0dXJuIGNvZGUgZnJvbSBzdGF0dXMuIik7CisKKyNkZWZpbmUgT1NfV0VYSVRTVEFUVVNfTUVUSE9EREVGICAgIFwKKyAgICB7IldFWElUU1RBVFVTIiwgKFB5Q0Z1bmN0aW9uKW9zX1dFWElUU1RBVFVTLCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgb3NfV0VYSVRTVEFUVVNfX2RvY19ffSwKKworc3RhdGljIGludAorb3NfV0VYSVRTVEFUVVNfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgc3RhdHVzKTsKIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X1dFWElUU1RBVFVTKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK29zX1dFWElUU1RBVFVTKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQogewotICAgIFdBSVRfVFlQRSBzdGF0dXM7Ci0gICAgV0FJVF9TVEFUVVNfSU5UKHN0YXR1cykgPSAwOworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIHN0YXRpYyBjaGFyICpfa2V5d29yZHNbXSA9IHsic3RhdHVzIiwgTlVMTH07CisgICAgaW50IHN0YXR1czsKKyAgICBpbnQgX3JldHVybl92YWx1ZTsKIAotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiaTpXRVhJVFNUQVRVUyIsICZXQUlUX1NUQVRVU19JTlQoc3RhdHVzKSkpCi0gICAgICAgIHJldHVybiBOVUxMOworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywKKyAgICAgICAgImk6V0VYSVRTVEFUVVMiLCBfa2V5d29yZHMsCisgICAgICAgICZzdGF0dXMpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgX3JldHVybl92YWx1ZSA9IG9zX1dFWElUU1RBVFVTX2ltcGwobW9kdWxlLCBzdGF0dXMpOworICAgIGlmICgoX3JldHVybl92YWx1ZSA9PSAtMSkgJiYgUHlFcnJfT2NjdXJyZWQoKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IFB5TG9uZ19Gcm9tTG9uZygobG9uZylfcmV0dXJuX3ZhbHVlKTsKIAotICAgIHJldHVybiBQeV9CdWlsZFZhbHVlKCJpIiwgV0VYSVRTVEFUVVMoc3RhdHVzKSk7CitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBpbnQKK29zX1dFWElUU1RBVFVTX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IHN0YXR1cykKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD0xM2I2YzI3MGUyYTMyNmIxIGlucHV0PWUxZmI0OTQ0ZTM3NzU4NWJdKi8KK3sKKyAgICBXQUlUX1RZUEUgd2FpdF9zdGF0dXM7CisgICAgV0FJVF9TVEFUVVNfSU5UKHdhaXRfc3RhdHVzKSA9IHN0YXR1czsKKyAgICByZXR1cm4gV0VYSVRTVEFUVVMod2FpdF9zdGF0dXMpOwogfQogI2VuZGlmIC8qIFdFWElUU1RBVFVTICovCiAKKwogI2lmZGVmIFdURVJNU0lHCi1QeURvY19TVFJWQVIocG9zaXhfV1RFUk1TSUdfX2RvY19fLAotIldURVJNU0lHKHN0YXR1cykgLT4gaW50ZWdlclxuXG5cCi1SZXR1cm4gdGhlIHNpZ25hbCB0aGF0IHRlcm1pbmF0ZWQgdGhlIHByb2Nlc3MgdGhhdCBwcm92aWRlZCB0aGUgJ3N0YXR1cydcblwKLXZhbHVlLiIpOworLypbY2xpbmljIGlucHV0XQorb3MuV1RFUk1TSUcgLT4gaW50CisKKyAgICBzdGF0dXM6IGludAorCitSZXR1cm4gdGhlIHNpZ25hbCB0aGF0IHRlcm1pbmF0ZWQgdGhlIHByb2Nlc3MgdGhhdCBwcm92aWRlZCB0aGUgc3RhdHVzIHZhbHVlLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3NfV1RFUk1TSUdfX2RvY19fLAorIldURVJNU0lHKCRtb2R1bGUsIC8sIHN0YXR1cylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiB0aGUgc2lnbmFsIHRoYXQgdGVybWluYXRlZCB0aGUgcHJvY2VzcyB0aGF0IHByb3ZpZGVkIHRoZSBzdGF0dXMgdmFsdWUuIik7CisKKyNkZWZpbmUgT1NfV1RFUk1TSUdfTUVUSE9EREVGICAgIFwKKyAgICB7IldURVJNU0lHIiwgKFB5Q0Z1bmN0aW9uKW9zX1dURVJNU0lHLCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgb3NfV1RFUk1TSUdfX2RvY19ffSwKKworc3RhdGljIGludAorb3NfV1RFUk1TSUdfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgc3RhdHVzKTsKIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X1dURVJNU0lHKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK29zX1dURVJNU0lHKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQogewotICAgIFdBSVRfVFlQRSBzdGF0dXM7Ci0gICAgV0FJVF9TVEFUVVNfSU5UKHN0YXR1cykgPSAwOworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIHN0YXRpYyBjaGFyICpfa2V5d29yZHNbXSA9IHsic3RhdHVzIiwgTlVMTH07CisgICAgaW50IHN0YXR1czsKKyAgICBpbnQgX3JldHVybl92YWx1ZTsKIAotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiaTpXVEVSTVNJRyIsICZXQUlUX1NUQVRVU19JTlQoc3RhdHVzKSkpCi0gICAgICAgIHJldHVybiBOVUxMOworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywKKyAgICAgICAgImk6V1RFUk1TSUciLCBfa2V5d29yZHMsCisgICAgICAgICZzdGF0dXMpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgX3JldHVybl92YWx1ZSA9IG9zX1dURVJNU0lHX2ltcGwobW9kdWxlLCBzdGF0dXMpOworICAgIGlmICgoX3JldHVybl92YWx1ZSA9PSAtMSkgJiYgUHlFcnJfT2NjdXJyZWQoKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IFB5TG9uZ19Gcm9tTG9uZygobG9uZylfcmV0dXJuX3ZhbHVlKTsKIAotICAgIHJldHVybiBQeV9CdWlsZFZhbHVlKCJpIiwgV1RFUk1TSUcoc3RhdHVzKSk7CitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBpbnQKK29zX1dURVJNU0lHX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IHN0YXR1cykKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1iZjFmZDRiMDAyZDBhOWVkIGlucHV0PTcyN2ZkN2Y4NGVjM2YyNDNdKi8KK3sKKyAgICBXQUlUX1RZUEUgd2FpdF9zdGF0dXM7CisgICAgV0FJVF9TVEFUVVNfSU5UKHdhaXRfc3RhdHVzKSA9IHN0YXR1czsKKyAgICByZXR1cm4gV1RFUk1TSUcod2FpdF9zdGF0dXMpOwogfQogI2VuZGlmIC8qIFdURVJNU0lHICovCiAKKwogI2lmZGVmIFdTVE9QU0lHCi1QeURvY19TVFJWQVIocG9zaXhfV1NUT1BTSUdfX2RvY19fLAotIldTVE9QU0lHKHN0YXR1cykgLT4gaW50ZWdlclxuXG5cCi1SZXR1cm4gdGhlIHNpZ25hbCB0aGF0IHN0b3BwZWQgdGhlIHByb2Nlc3MgdGhhdCBwcm92aWRlZFxuXAotdGhlICdzdGF0dXMnIHZhbHVlLiIpOworLypbY2xpbmljIGlucHV0XQorb3MuV1NUT1BTSUcgLT4gaW50CisKKyAgICBzdGF0dXM6IGludAorCitSZXR1cm4gdGhlIHNpZ25hbCB0aGF0IHN0b3BwZWQgdGhlIHByb2Nlc3MgdGhhdCBwcm92aWRlZCB0aGUgc3RhdHVzIHZhbHVlLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3NfV1NUT1BTSUdfX2RvY19fLAorIldTVE9QU0lHKCRtb2R1bGUsIC8sIHN0YXR1cylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiB0aGUgc2lnbmFsIHRoYXQgc3RvcHBlZCB0aGUgcHJvY2VzcyB0aGF0IHByb3ZpZGVkIHRoZSBzdGF0dXMgdmFsdWUuIik7CisKKyNkZWZpbmUgT1NfV1NUT1BTSUdfTUVUSE9EREVGICAgIFwKKyAgICB7IldTVE9QU0lHIiwgKFB5Q0Z1bmN0aW9uKW9zX1dTVE9QU0lHLCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgb3NfV1NUT1BTSUdfX2RvY19ffSwKKworc3RhdGljIGludAorb3NfV1NUT1BTSUdfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgc3RhdHVzKTsKIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X1dTVE9QU0lHKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK29zX1dTVE9QU0lHKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQogewotICAgIFdBSVRfVFlQRSBzdGF0dXM7Ci0gICAgV0FJVF9TVEFUVVNfSU5UKHN0YXR1cykgPSAwOworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIHN0YXRpYyBjaGFyICpfa2V5d29yZHNbXSA9IHsic3RhdHVzIiwgTlVMTH07CisgICAgaW50IHN0YXR1czsKKyAgICBpbnQgX3JldHVybl92YWx1ZTsKIAotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiaTpXU1RPUFNJRyIsICZXQUlUX1NUQVRVU19JTlQoc3RhdHVzKSkpCi0gICAgICAgIHJldHVybiBOVUxMOworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywKKyAgICAgICAgImk6V1NUT1BTSUciLCBfa2V5d29yZHMsCisgICAgICAgICZzdGF0dXMpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgX3JldHVybl92YWx1ZSA9IG9zX1dTVE9QU0lHX2ltcGwobW9kdWxlLCBzdGF0dXMpOworICAgIGlmICgoX3JldHVybl92YWx1ZSA9PSAtMSkgJiYgUHlFcnJfT2NjdXJyZWQoKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IFB5TG9uZ19Gcm9tTG9uZygobG9uZylfcmV0dXJuX3ZhbHVlKTsKIAotICAgIHJldHVybiBQeV9CdWlsZFZhbHVlKCJpIiwgV1NUT1BTSUcoc3RhdHVzKSk7CitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBpbnQKK29zX1dTVE9QU0lHX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IHN0YXR1cykKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD05MmUxNjQ3ZDI5ZWUwNTQ5IGlucHV0PTQ2ZWJmMWQxYjI5M2M1YzFdKi8KK3sKKyAgICBXQUlUX1RZUEUgd2FpdF9zdGF0dXM7CisgICAgV0FJVF9TVEFUVVNfSU5UKHdhaXRfc3RhdHVzKSA9IHN0YXR1czsKKyAgICByZXR1cm4gV1NUT1BTSUcod2FpdF9zdGF0dXMpOwogfQogI2VuZGlmIC8qIFdTVE9QU0lHICovCi0KICNlbmRpZiAvKiBIQVZFX1NZU19XQUlUX0ggKi8KIAogCisjaWZuZGVmIE9TX1dDT1JFRFVNUF9NRVRIT0RERUYKKyNkZWZpbmUgT1NfV0NPUkVEVU1QX01FVEhPRERFRgorI2VuZGlmIC8qIE9TX1dDT1JFRFVNUF9NRVRIT0RERUYgKi8KKworI2lmbmRlZiBPU19XSUZDT05USU5VRURfTUVUSE9EREVGCisjZGVmaW5lIE9TX1dJRkNPTlRJTlVFRF9NRVRIT0RERUYKKyNlbmRpZiAvKiBPU19XSUZDT05USU5VRURfTUVUSE9EREVGICovCisKKyNpZm5kZWYgT1NfV0lGU1RPUFBFRF9NRVRIT0RERUYKKyNkZWZpbmUgT1NfV0lGU1RPUFBFRF9NRVRIT0RERUYKKyNlbmRpZiAvKiBPU19XSUZTVE9QUEVEX01FVEhPRERFRiAqLworCisjaWZuZGVmIE9TX1dJRlNJR05BTEVEX01FVEhPRERFRgorI2RlZmluZSBPU19XSUZTSUdOQUxFRF9NRVRIT0RERUYKKyNlbmRpZiAvKiBPU19XSUZTSUdOQUxFRF9NRVRIT0RERUYgKi8KKworI2lmbmRlZiBPU19XSUZFWElURURfTUVUSE9EREVGCisjZGVmaW5lIE9TX1dJRkVYSVRFRF9NRVRIT0RERUYKKyNlbmRpZiAvKiBPU19XSUZFWElURURfTUVUSE9EREVGICovCisKKyNpZm5kZWYgT1NfV0VYSVRTVEFUVVNfTUVUSE9EREVGCisjZGVmaW5lIE9TX1dFWElUU1RBVFVTX01FVEhPRERFRgorI2VuZGlmIC8qIE9TX1dFWElUU1RBVFVTX01FVEhPRERFRiAqLworCisjaWZuZGVmIE9TX1dURVJNU0lHX01FVEhPRERFRgorI2RlZmluZSBPU19XVEVSTVNJR19NRVRIT0RERUYKKyNlbmRpZiAvKiBPU19XVEVSTVNJR19NRVRIT0RERUYgKi8KKworI2lmbmRlZiBPU19XU1RPUFNJR19NRVRIT0RERUYKKyNkZWZpbmUgT1NfV1NUT1BTSUdfTUVUSE9EREVGCisjZW5kaWYgLyogT1NfV1NUT1BTSUdfTUVUSE9EREVGICovCisKKwogI2lmIGRlZmluZWQoSEFWRV9GU1RBVFZGUykgJiYgZGVmaW5lZChIQVZFX1NZU19TVEFUVkZTX0gpCiAjaWZkZWYgX1NDT19EUwogLyogU0NPIE9wZW5TZXJ2ZXIgNS4wIGFuZCBsYXRlciByZXF1aXJlcyBfU1ZJRDMgYmVmb3JlIGl0IHJldmVhbHMgdGhlCkBAIC05MjM1LDEwNCArMTM1ODQsMTk2IEBACiAgICAgcmV0dXJuIHY7CiB9CiAKLVB5RG9jX1NUUlZBUihwb3NpeF9mc3RhdHZmc19fZG9jX18sCi0iZnN0YXR2ZnMoZmQpIC0+IHN0YXR2ZnMgcmVzdWx0XG5cblwKLVBlcmZvcm0gYW4gZnN0YXR2ZnMgc3lzdGVtIGNhbGwgb24gdGhlIGdpdmVuIGZkLlxuXAotRXF1aXZhbGVudCB0byBzdGF0dmZzKGZkKS4iKTsKKworLypbY2xpbmljIGlucHV0XQorb3MuZnN0YXR2ZnMKKyAgICBmZDogaW50CisgICAgLworCitQZXJmb3JtIGFuIGZzdGF0dmZzIHN5c3RlbSBjYWxsIG9uIHRoZSBnaXZlbiBmZC4KKworRXF1aXZhbGVudCB0byBzdGF0dmZzKGZkKS4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX2ZzdGF0dmZzX19kb2NfXywKKyJmc3RhdHZmcygkbW9kdWxlLCBmZCwgLylcbiIKKyItLVxuIgorIlxuIgorIlBlcmZvcm0gYW4gZnN0YXR2ZnMgc3lzdGVtIGNhbGwgb24gdGhlIGdpdmVuIGZkLlxuIgorIlxuIgorIkVxdWl2YWxlbnQgdG8gc3RhdHZmcyhmZCkuIik7CisKKyNkZWZpbmUgT1NfRlNUQVRWRlNfTUVUSE9EREVGICAgIFwKKyAgICB7ImZzdGF0dmZzIiwgKFB5Q0Z1bmN0aW9uKW9zX2ZzdGF0dmZzLCBNRVRIX1ZBUkFSR1MsIG9zX2ZzdGF0dmZzX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9mc3RhdHZmcyhQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitvc19mc3RhdHZmc19pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCBmZCk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19mc3RhdHZmcyhQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKIHsKLSAgICBpbnQgZmQsIHJlczsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBpbnQgZmQ7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgImk6ZnN0YXR2ZnMiLAorICAgICAgICAmZmQpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gb3NfZnN0YXR2ZnNfaW1wbChtb2R1bGUsIGZkKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3NfZnN0YXR2ZnNfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgZmQpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9MGUzMmJmMDdmOTQ2ZWMwZCBpbnB1dD1kODEyMjI0M2FjNTA5NzVlXSovCit7CisgICAgaW50IHJlc3VsdDsKKyAgICBpbnQgYXN5bmNfZXJyID0gMDsKICAgICBzdHJ1Y3Qgc3RhdHZmcyBzdDsKIAotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiaTpmc3RhdHZmcyIsICZmZCkpCi0gICAgICAgIHJldHVybiBOVUxMOwotICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKLSAgICByZXMgPSBmc3RhdHZmcyhmZCwgJnN0KTsKLSAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUwotICAgIGlmIChyZXMgIT0gMCkKLSAgICAgICAgcmV0dXJuIHBvc2l4X2Vycm9yKCk7CisgICAgZG8geworICAgICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCisgICAgICAgIHJlc3VsdCA9IGZzdGF0dmZzKGZkLCAmc3QpOworICAgICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUworICAgIH0gd2hpbGUgKHJlc3VsdCAhPSAwICYmIGVycm5vID09IEVJTlRSICYmCisgICAgICAgICAgICAgIShhc3luY19lcnIgPSBQeUVycl9DaGVja1NpZ25hbHMoKSkpOworICAgIGlmIChyZXN1bHQgIT0gMCkKKyAgICAgICAgcmV0dXJuICghYXN5bmNfZXJyKSA/IHBvc2l4X2Vycm9yKCkgOiBOVUxMOwogCiAgICAgcmV0dXJuIF9weXN0YXR2ZnNfZnJvbXN0cnVjdHN0YXR2ZnMoc3QpOwogfQotI2VuZGlmIC8qIEhBVkVfRlNUQVRWRlMgJiYgSEFWRV9TWVNfU1RBVFZGU19IICovCisjZW5kaWYgLyogZGVmaW5lZChIQVZFX0ZTVEFUVkZTKSAmJiBkZWZpbmVkKEhBVkVfU1lTX1NUQVRWRlNfSCkgKi8KIAogCiAjaWYgZGVmaW5lZChIQVZFX1NUQVRWRlMpICYmIGRlZmluZWQoSEFWRV9TWVNfU1RBVFZGU19IKQogI2luY2x1ZGUgPHN5cy9zdGF0dmZzLmg+CisvKltjbGluaWMgaW5wdXRdCitvcy5zdGF0dmZzCiAKLVB5RG9jX1NUUlZBUihwb3NpeF9zdGF0dmZzX19kb2NfXywKLSJzdGF0dmZzKHBhdGgpXG5cblwKLVBlcmZvcm0gYSBzdGF0dmZzIHN5c3RlbSBjYWxsIG9uIHRoZSBnaXZlbiBwYXRoLlxuXAotXG5cCi1wYXRoIG1heSBhbHdheXMgYmUgc3BlY2lmaWVkIGFzIGEgc3RyaW5nLlxuXAotT24gc29tZSBwbGF0Zm9ybXMsIHBhdGggbWF5IGFsc28gYmUgc3BlY2lmaWVkIGFzIGFuIG9wZW4gZmlsZSBkZXNjcmlwdG9yLlxuXAotICBJZiB0aGlzIGZ1bmN0aW9uYWxpdHkgaXMgdW5hdmFpbGFibGUsIHVzaW5nIGl0IHJhaXNlcyBhbiBleGNlcHRpb24uIik7CisgICAgcGF0aDogcGF0aF90KGFsbG93X2ZkPSdQQVRIX0hBVkVfRlNUQVRWRlMnKQorCitQZXJmb3JtIGEgc3RhdHZmcyBzeXN0ZW0gY2FsbCBvbiB0aGUgZ2l2ZW4gcGF0aC4KKworcGF0aCBtYXkgYWx3YXlzIGJlIHNwZWNpZmllZCBhcyBhIHN0cmluZy4KK09uIHNvbWUgcGxhdGZvcm1zLCBwYXRoIG1heSBhbHNvIGJlIHNwZWNpZmllZCBhcyBhbiBvcGVuIGZpbGUgZGVzY3JpcHRvci4KKyAgSWYgdGhpcyBmdW5jdGlvbmFsaXR5IGlzIHVuYXZhaWxhYmxlLCB1c2luZyBpdCByYWlzZXMgYW4gZXhjZXB0aW9uLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3Nfc3RhdHZmc19fZG9jX18sCisic3RhdHZmcygkbW9kdWxlLCAvLCBwYXRoKVxuIgorIi0tXG4iCisiXG4iCisiUGVyZm9ybSBhIHN0YXR2ZnMgc3lzdGVtIGNhbGwgb24gdGhlIGdpdmVuIHBhdGguXG4iCisiXG4iCisicGF0aCBtYXkgYWx3YXlzIGJlIHNwZWNpZmllZCBhcyBhIHN0cmluZy5cbiIKKyJPbiBzb21lIHBsYXRmb3JtcywgcGF0aCBtYXkgYWxzbyBiZSBzcGVjaWZpZWQgYXMgYW4gb3BlbiBmaWxlIGRlc2NyaXB0b3IuXG4iCisiICBJZiB0aGlzIGZ1bmN0aW9uYWxpdHkgaXMgdW5hdmFpbGFibGUsIHVzaW5nIGl0IHJhaXNlcyBhbiBleGNlcHRpb24uIik7CisKKyNkZWZpbmUgT1NfU1RBVFZGU19NRVRIT0RERUYgICAgXAorICAgIHsic3RhdHZmcyIsIChQeUNGdW5jdGlvbilvc19zdGF0dmZzLCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgb3Nfc3RhdHZmc19fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfc3RhdHZmcyhQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCi17Ci0gICAgc3RhdGljIGNoYXIgKmtleXdvcmRzW10gPSB7InBhdGgiLCBOVUxMfTsKLSAgICBwYXRoX3QgcGF0aDsKLSAgICBpbnQgcmVzdWx0OwotICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOwotICAgIHN0cnVjdCBzdGF0dmZzIHN0Oworb3Nfc3RhdHZmc19pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIHBhdGhfdCAqcGF0aCk7CiAKLSAgICBtZW1zZXQoJnBhdGgsIDAsIHNpemVvZihwYXRoKSk7Ci0gICAgcGF0aC5mdW5jdGlvbl9uYW1lID0gInN0YXR2ZnMiOwotI2lmZGVmIEhBVkVfRlNUQVRWRlMKLSAgICBwYXRoLmFsbG93X2ZkID0gMTsKLSNlbmRpZgotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywgIk8mOnN0YXR2ZnMiLCBrZXl3b3JkcywKLSAgICAgICAgcGF0aF9jb252ZXJ0ZXIsICZwYXRoCi0gICAgICAgICkpCi0gICAgICAgIHJldHVybiBOVUxMOworc3RhdGljIFB5T2JqZWN0ICoKK29zX3N0YXR2ZnMoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCit7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgc3RhdGljIGNoYXIgKl9rZXl3b3Jkc1tdID0geyJwYXRoIiwgTlVMTH07CisgICAgcGF0aF90IHBhdGggPSBQQVRIX1RfSU5JVElBTElaRSgic3RhdHZmcyIsICJwYXRoIiwgMCwgUEFUSF9IQVZFX0ZTVEFUVkZTKTsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywKKyAgICAgICAgIk8mOnN0YXR2ZnMiLCBfa2V5d29yZHMsCisgICAgICAgIHBhdGhfY29udmVydGVyLCAmcGF0aCkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBvc19zdGF0dmZzX2ltcGwobW9kdWxlLCAmcGF0aCk7CisKK2V4aXQ6CisgICAgLyogQ2xlYW51cCBmb3IgcGF0aCAqLworICAgIHBhdGhfY2xlYW51cCgmcGF0aCk7CisKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3Nfc3RhdHZmc19pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIHBhdGhfdCAqcGF0aCkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD0wMGZmNTQ5ODMzNjBiNDQ2IGlucHV0PTNmNWMzNTc5MWM2NjliZDldKi8KK3sKKyAgICBpbnQgcmVzdWx0OworICAgIHN0cnVjdCBzdGF0dmZzIHN0OwogCiAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwogI2lmZGVmIEhBVkVfRlNUQVRWRlMKLSAgICBpZiAocGF0aC5mZCAhPSAtMSkgeworICAgIGlmIChwYXRoLT5mZCAhPSAtMSkgewogI2lmZGVmIF9fQVBQTEVfXwogICAgICAgICAvKiBoYW5kbGUgd2Vhay1saW5raW5nIG9uIE1hYyBPUyBYIDEwLjMgKi8KICAgICAgICAgaWYgKGZzdGF0dmZzID09IE5VTEwpIHsKLSAgICAgICAgICAgIGZkX3NwZWNpZmllZCgic3RhdHZmcyIsIHBhdGguZmQpOwotICAgICAgICAgICAgZ290byBleGl0OworICAgICAgICAgICAgZmRfc3BlY2lmaWVkKCJzdGF0dmZzIiwgcGF0aC0+ZmQpOworICAgICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgICAgIH0KICNlbmRpZgotICAgICAgICByZXN1bHQgPSBmc3RhdHZmcyhwYXRoLmZkLCAmc3QpOworICAgICAgICByZXN1bHQgPSBmc3RhdHZmcyhwYXRoLT5mZCwgJnN0KTsKICAgICB9CiAgICAgZWxzZQogI2VuZGlmCi0gICAgICAgIHJlc3VsdCA9IHN0YXR2ZnMocGF0aC5uYXJyb3csICZzdCk7CisgICAgICAgIHJlc3VsdCA9IHN0YXR2ZnMocGF0aC0+bmFycm93LCAmc3QpOwogICAgIFB5X0VORF9BTExPV19USFJFQURTCiAKICAgICBpZiAocmVzdWx0KSB7Ci0gICAgICAgIHJldHVybl92YWx1ZSA9IHBhdGhfZXJyb3IoJnBhdGgpOwotICAgICAgICBnb3RvIGV4aXQ7CisgICAgICAgIHJldHVybiBwYXRoX2Vycm9yKHBhdGgpOwogICAgIH0KIAotICAgIHJldHVybl92YWx1ZSA9IF9weXN0YXR2ZnNfZnJvbXN0cnVjdHN0YXR2ZnMoc3QpOwotCi1leGl0OgotICAgIHBhdGhfY2xlYW51cCgmcGF0aCk7Ci0gICAgcmV0dXJuIHJldHVybl92YWx1ZTsKKyAgICByZXR1cm4gX3B5c3RhdHZmc19mcm9tc3RydWN0c3RhdHZmcyhzdCk7CiB9Ci0jZW5kaWYgLyogSEFWRV9TVEFUVkZTICovCisjZW5kaWYgLyogZGVmaW5lZChIQVZFX1NUQVRWRlMpICYmIGRlZmluZWQoSEFWRV9TWVNfU1RBVFZGU19IKSAqLworCiAKICNpZmRlZiBNU19XSU5ET1dTCi1QeURvY19TVFJWQVIod2luMzJfX2dldGRpc2t1c2FnZV9fZG9jX18sCi0iX2dldGRpc2t1c2FnZShwYXRoKSAtPiAodG90YWwsIGZyZWUpXG5cblwKLVJldHVybiBkaXNrIHVzYWdlIHN0YXRpc3RpY3MgYWJvdXQgdGhlIGdpdmVuIHBhdGggYXMgKHRvdGFsLCBmcmVlKSB0dXBsZS4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK29zLl9nZXRkaXNrdXNhZ2UKKworICAgIHBhdGg6IFB5X1VOSUNPREUKKworUmV0dXJuIGRpc2sgdXNhZ2Ugc3RhdGlzdGljcyBhYm91dCB0aGUgZ2l2ZW4gcGF0aCBhcyBhICh0b3RhbCwgZnJlZSkgdHVwbGUuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19fZ2V0ZGlza3VzYWdlX19kb2NfXywKKyJfZ2V0ZGlza3VzYWdlKCRtb2R1bGUsIC8sIHBhdGgpXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gZGlzayB1c2FnZSBzdGF0aXN0aWNzIGFib3V0IHRoZSBnaXZlbiBwYXRoIGFzIGEgKHRvdGFsLCBmcmVlKSB0dXBsZS4iKTsKKworI2RlZmluZSBPU19fR0VURElTS1VTQUdFX01FVEhPRERFRiAgICBcCisgICAgeyJfZ2V0ZGlza3VzYWdlIiwgKFB5Q0Z1bmN0aW9uKW9zX19nZXRkaXNrdXNhZ2UsIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBvc19fZ2V0ZGlza3VzYWdlX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi13aW4zMl9fZ2V0ZGlza3VzYWdlKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK29zX19nZXRkaXNrdXNhZ2VfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeV9VTklDT0RFICpwYXRoKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX19nZXRkaXNrdXNhZ2UoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCit7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgc3RhdGljIGNoYXIgKl9rZXl3b3Jkc1tdID0geyJwYXRoIiwgTlVMTH07CisgICAgUHlfVU5JQ09ERSAqcGF0aDsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywKKyAgICAgICAgInU6X2dldGRpc2t1c2FnZSIsIF9rZXl3b3JkcywKKyAgICAgICAgJnBhdGgpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gb3NfX2dldGRpc2t1c2FnZV9pbXBsKG1vZHVsZSwgcGF0aCk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX19nZXRkaXNrdXNhZ2VfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeV9VTklDT0RFICpwYXRoKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTA1NGM5NzIxNzliMTM3MDggaW5wdXQ9NjQ1ODEzM2FlZDg5M2M3OF0qLwogewogICAgIEJPT0wgcmV0dmFsOwogICAgIFVMQVJHRV9JTlRFR0VSIF8sIHRvdGFsLCBmcmVlOwotICAgIGNvbnN0IHdjaGFyX3QgKnBhdGg7Ci0KLSAgICBpZiAoISBQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJ1IiwgJnBhdGgpKQotICAgICAgICByZXR1cm4gTlVMTDsKIAogICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKICAgICByZXR2YWwgPSBHZXREaXNrRnJlZVNwYWNlRXhXKHBhdGgsICZfLCAmdG90YWwsICZmcmVlKTsKQEAgLTkzNDIsNyArMTM3ODMsNyBAQAogCiAgICAgcmV0dXJuIFB5X0J1aWxkVmFsdWUoIihMTCkiLCB0b3RhbC5RdWFkUGFydCwgZnJlZS5RdWFkUGFydCk7CiB9Ci0jZW5kaWYKKyNlbmRpZiAvKiBNU19XSU5ET1dTICovCiAKIAogLyogVGhpcyBpcyB1c2VkIGZvciBmcGF0aGNvbmYoKSwgcGF0aGNvbmYoKSwgY29uZnN0cigpIGFuZCBzeXNjb25mKCkuCkBAIC05NDk5LDgxICsxMzk0MCwxNDkgQEAKIH0KICNlbmRpZgogCisKICNpZmRlZiBIQVZFX0ZQQVRIQ09ORgotUHlEb2NfU1RSVkFSKHBvc2l4X2ZwYXRoY29uZl9fZG9jX18sCi0iZnBhdGhjb25mKGZkLCBuYW1lKSAtPiBpbnRlZ2VyXG5cblwKLVJldHVybiB0aGUgY29uZmlndXJhdGlvbiBsaW1pdCBuYW1lIGZvciB0aGUgZmlsZSBkZXNjcmlwdG9yIGZkLlxuXAotSWYgdGhlcmUgaXMgbm8gbGltaXQsIHJldHVybiAtMS4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK29zLmZwYXRoY29uZiAtPiBsb25nCisKKyAgICBmZDogaW50CisgICAgbmFtZTogcGF0aF9jb25mbmFtZQorICAgIC8KKworUmV0dXJuIHRoZSBjb25maWd1cmF0aW9uIGxpbWl0IG5hbWUgZm9yIHRoZSBmaWxlIGRlc2NyaXB0b3IgZmQuCisKK0lmIHRoZXJlIGlzIG5vIGxpbWl0LCByZXR1cm4gLTEuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19mcGF0aGNvbmZfX2RvY19fLAorImZwYXRoY29uZigkbW9kdWxlLCBmZCwgbmFtZSwgLylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiB0aGUgY29uZmlndXJhdGlvbiBsaW1pdCBuYW1lIGZvciB0aGUgZmlsZSBkZXNjcmlwdG9yIGZkLlxuIgorIlxuIgorIklmIHRoZXJlIGlzIG5vIGxpbWl0LCByZXR1cm4gLTEuIik7CisKKyNkZWZpbmUgT1NfRlBBVEhDT05GX01FVEhPRERFRiAgICBcCisgICAgeyJmcGF0aGNvbmYiLCAoUHlDRnVuY3Rpb24pb3NfZnBhdGhjb25mLCBNRVRIX1ZBUkFSR1MsIG9zX2ZwYXRoY29uZl9fZG9jX199LAorCitzdGF0aWMgbG9uZworb3NfZnBhdGhjb25mX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IGZkLCBpbnQgbmFtZSk7CiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9mcGF0aGNvbmYoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorb3NfZnBhdGhjb25mKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQogewotICAgIFB5T2JqZWN0ICpyZXN1bHQgPSBOVUxMOwotICAgIGludCBuYW1lLCBmZDsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBpbnQgZmQ7CisgICAgaW50IG5hbWU7CisgICAgbG9uZyBfcmV0dXJuX3ZhbHVlOwogCi0gICAgaWYgKFB5QXJnX1BhcnNlVHVwbGUoYXJncywgImlPJjpmcGF0aGNvbmYiLCAmZmQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgY29udl9wYXRoX2NvbmZuYW1lLCAmbmFtZSkpIHsKLSAgICAgICAgbG9uZyBsaW1pdDsKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgImlPJjpmcGF0aGNvbmYiLAorICAgICAgICAmZmQsIGNvbnZfcGF0aF9jb25mbmFtZSwgJm5hbWUpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgX3JldHVybl92YWx1ZSA9IG9zX2ZwYXRoY29uZl9pbXBsKG1vZHVsZSwgZmQsIG5hbWUpOworICAgIGlmICgoX3JldHVybl92YWx1ZSA9PSAtMSkgJiYgUHlFcnJfT2NjdXJyZWQoKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IFB5TG9uZ19Gcm9tTG9uZyhfcmV0dXJuX3ZhbHVlKTsKIAotICAgICAgICBlcnJubyA9IDA7Ci0gICAgICAgIGxpbWl0ID0gZnBhdGhjb25mKGZkLCBuYW1lKTsKLSAgICAgICAgaWYgKGxpbWl0ID09IC0xICYmIGVycm5vICE9IDApCi0gICAgICAgICAgICBwb3NpeF9lcnJvcigpOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICByZXN1bHQgPSBQeUxvbmdfRnJvbUxvbmcobGltaXQpOwotICAgIH0KLSAgICByZXR1cm4gcmVzdWx0OworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOwogfQotI2VuZGlmCisKK3N0YXRpYyBsb25nCitvc19mcGF0aGNvbmZfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgZmQsIGludCBuYW1lKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTNiZjA0YjQwZTA1MjNhOGMgaW5wdXQ9NTk0MmEwMjRkMzc3NzgxMF0qLworeworICAgIGxvbmcgbGltaXQ7CisKKyAgICBlcnJubyA9IDA7CisgICAgbGltaXQgPSBmcGF0aGNvbmYoZmQsIG5hbWUpOworICAgIGlmIChsaW1pdCA9PSAtMSAmJiBlcnJubyAhPSAwKQorICAgICAgICBwb3NpeF9lcnJvcigpOworCisgICAgcmV0dXJuIGxpbWl0OworfQorI2VuZGlmIC8qIEhBVkVfRlBBVEhDT05GICovCiAKIAogI2lmZGVmIEhBVkVfUEFUSENPTkYKLVB5RG9jX1NUUlZBUihwb3NpeF9wYXRoY29uZl9fZG9jX18sCi0icGF0aGNvbmYocGF0aCwgbmFtZSkgLT4gaW50ZWdlclxuXG5cCi1SZXR1cm4gdGhlIGNvbmZpZ3VyYXRpb24gbGltaXQgbmFtZSBmb3IgdGhlIGZpbGUgb3IgZGlyZWN0b3J5IHBhdGguXG5cCi1JZiB0aGVyZSBpcyBubyBsaW1pdCwgcmV0dXJuIC0xLlxuXAotT24gc29tZSBwbGF0Zm9ybXMsIHBhdGggbWF5IGFsc28gYmUgc3BlY2lmaWVkIGFzIGFuIG9wZW4gZmlsZSBkZXNjcmlwdG9yLlxuXAotICBJZiB0aGlzIGZ1bmN0aW9uYWxpdHkgaXMgdW5hdmFpbGFibGUsIHVzaW5nIGl0IHJhaXNlcyBhbiBleGNlcHRpb24uIik7CisvKltjbGluaWMgaW5wdXRdCitvcy5wYXRoY29uZiAtPiBsb25nCisgICAgcGF0aDogcGF0aF90KGFsbG93X2ZkPSdQQVRIX0hBVkVfRlBBVEhDT05GJykKKyAgICBuYW1lOiBwYXRoX2NvbmZuYW1lCisKK1JldHVybiB0aGUgY29uZmlndXJhdGlvbiBsaW1pdCBuYW1lIGZvciB0aGUgZmlsZSBvciBkaXJlY3RvcnkgcGF0aC4KKworSWYgdGhlcmUgaXMgbm8gbGltaXQsIHJldHVybiAtMS4KK09uIHNvbWUgcGxhdGZvcm1zLCBwYXRoIG1heSBhbHNvIGJlIHNwZWNpZmllZCBhcyBhbiBvcGVuIGZpbGUgZGVzY3JpcHRvci4KKyAgSWYgdGhpcyBmdW5jdGlvbmFsaXR5IGlzIHVuYXZhaWxhYmxlLCB1c2luZyBpdCByYWlzZXMgYW4gZXhjZXB0aW9uLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3NfcGF0aGNvbmZfX2RvY19fLAorInBhdGhjb25mKCRtb2R1bGUsIC8sIHBhdGgsIG5hbWUpXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gdGhlIGNvbmZpZ3VyYXRpb24gbGltaXQgbmFtZSBmb3IgdGhlIGZpbGUgb3IgZGlyZWN0b3J5IHBhdGguXG4iCisiXG4iCisiSWYgdGhlcmUgaXMgbm8gbGltaXQsIHJldHVybiAtMS5cbiIKKyJPbiBzb21lIHBsYXRmb3JtcywgcGF0aCBtYXkgYWxzbyBiZSBzcGVjaWZpZWQgYXMgYW4gb3BlbiBmaWxlIGRlc2NyaXB0b3IuXG4iCisiICBJZiB0aGlzIGZ1bmN0aW9uYWxpdHkgaXMgdW5hdmFpbGFibGUsIHVzaW5nIGl0IHJhaXNlcyBhbiBleGNlcHRpb24uIik7CisKKyNkZWZpbmUgT1NfUEFUSENPTkZfTUVUSE9EREVGICAgIFwKKyAgICB7InBhdGhjb25mIiwgKFB5Q0Z1bmN0aW9uKW9zX3BhdGhjb25mLCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgb3NfcGF0aGNvbmZfX2RvY19ffSwKKworc3RhdGljIGxvbmcKK29zX3BhdGhjb25mX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgcGF0aF90ICpwYXRoLCBpbnQgbmFtZSk7CiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9wYXRoY29uZihQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCitvc19wYXRoY29uZihQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKIHsKLSAgICBwYXRoX3QgcGF0aDsKLSAgICBQeU9iamVjdCAqcmVzdWx0ID0gTlVMTDsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBzdGF0aWMgY2hhciAqX2tleXdvcmRzW10gPSB7InBhdGgiLCAibmFtZSIsIE5VTEx9OworICAgIHBhdGhfdCBwYXRoID0gUEFUSF9UX0lOSVRJQUxJWkUoInBhdGhjb25mIiwgInBhdGgiLCAwLCBQQVRIX0hBVkVfRlBBVEhDT05GKTsKICAgICBpbnQgbmFtZTsKLSAgICBzdGF0aWMgY2hhciAqa2V5d29yZHNbXSA9IHsicGF0aCIsICJuYW1lIiwgTlVMTH07CisgICAgbG9uZyBfcmV0dXJuX3ZhbHVlOwogCi0gICAgbWVtc2V0KCZwYXRoLCAwLCBzaXplb2YocGF0aCkpOwotICAgIHBhdGguZnVuY3Rpb25fbmFtZSA9ICJwYXRoY29uZiI7Ci0jaWZkZWYgSEFWRV9GUEFUSENPTkYKLSAgICBwYXRoLmFsbG93X2ZkID0gMTsKLSNlbmRpZgotICAgIGlmIChQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLCAiTyZPJjpwYXRoY29uZiIsIGtleXdvcmRzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aF9jb252ZXJ0ZXIsICZwYXRoLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udl9wYXRoX2NvbmZuYW1lLCAmbmFtZSkpIHsKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsCisgICAgICAgICJPJk8mOnBhdGhjb25mIiwgX2tleXdvcmRzLAorICAgICAgICBwYXRoX2NvbnZlcnRlciwgJnBhdGgsIGNvbnZfcGF0aF9jb25mbmFtZSwgJm5hbWUpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgX3JldHVybl92YWx1ZSA9IG9zX3BhdGhjb25mX2ltcGwobW9kdWxlLCAmcGF0aCwgbmFtZSk7CisgICAgaWYgKChfcmV0dXJuX3ZhbHVlID09IC0xKSAmJiBQeUVycl9PY2N1cnJlZCgpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gUHlMb25nX0Zyb21Mb25nKF9yZXR1cm5fdmFsdWUpOworCitleGl0OgorICAgIC8qIENsZWFudXAgZm9yIHBhdGggKi8KKyAgICBwYXRoX2NsZWFudXAoJnBhdGgpOworCisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIGxvbmcKK29zX3BhdGhjb25mX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgcGF0aF90ICpwYXRoLCBpbnQgbmFtZSkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD0xYTUzZTEyNWI2Y2Y2M2U0IGlucHV0PWJjM2UyYTk4NWFmMjdlNWVdKi8KK3sKICAgICBsb25nIGxpbWl0OwogCiAgICAgZXJybm8gPSAwOwogI2lmZGVmIEhBVkVfRlBBVEhDT05GCi0gICAgaWYgKHBhdGguZmQgIT0gLTEpCi0gICAgICAgIGxpbWl0ID0gZnBhdGhjb25mKHBhdGguZmQsIG5hbWUpOworICAgIGlmIChwYXRoLT5mZCAhPSAtMSkKKyAgICAgICAgbGltaXQgPSBmcGF0aGNvbmYocGF0aC0+ZmQsIG5hbWUpOwogICAgIGVsc2UKICNlbmRpZgotICAgICAgICBsaW1pdCA9IHBhdGhjb25mKHBhdGgubmFycm93LCBuYW1lKTsKKyAgICAgICAgbGltaXQgPSBwYXRoY29uZihwYXRoLT5uYXJyb3csIG5hbWUpOwogICAgIGlmIChsaW1pdCA9PSAtMSAmJiBlcnJubyAhPSAwKSB7CiAgICAgICAgIGlmIChlcnJubyA9PSBFSU5WQUwpCiAgICAgICAgICAgICAvKiBjb3VsZCBiZSBhIHBhdGggb3IgbmFtZSBwcm9ibGVtICovCiAgICAgICAgICAgICBwb3NpeF9lcnJvcigpOwogICAgICAgICBlbHNlCi0gICAgICAgICAgICByZXN1bHQgPSBwYXRoX2Vycm9yKCZwYXRoKTsKKyAgICAgICAgICAgIHBhdGhfZXJyb3IocGF0aCk7CiAgICAgfQotICAgIGVsc2UKLSAgICAgICAgcmVzdWx0ID0gUHlMb25nX0Zyb21Mb25nKGxpbWl0KTsKLSAgICB9Ci0gICAgcGF0aF9jbGVhbnVwKCZwYXRoKTsKLSAgICByZXR1cm4gcmVzdWx0OworCisgICAgcmV0dXJuIGxpbWl0OwogfQotI2VuZGlmCisjZW5kaWYgLyogSEFWRV9QQVRIQ09ORiAqLwogCiAjaWZkZWYgSEFWRV9DT05GU1RSCiBzdGF0aWMgc3RydWN0IGNvbnN0ZGVmIHBvc2l4X2NvbnN0YW50c19jb25mc3RyW10gPSB7CkBAIC05NzM3LDIxICsxNDI0Niw1MiBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgLyBzaXplb2Yoc3RydWN0IGNvbnN0ZGVmKSk7CiB9CiAKLVB5RG9jX1NUUlZBUihwb3NpeF9jb25mc3RyX19kb2NfXywKLSJjb25mc3RyKG5hbWUpIC0+IHN0cmluZ1xuXG5cCi1SZXR1cm4gYSBzdHJpbmctdmFsdWVkIHN5c3RlbSBjb25maWd1cmF0aW9uIHZhcmlhYmxlLiIpOworCisvKltjbGluaWMgaW5wdXRdCitvcy5jb25mc3RyCisKKyAgICBuYW1lOiBjb25mc3RyX2NvbmZuYW1lCisgICAgLworCitSZXR1cm4gYSBzdHJpbmctdmFsdWVkIHN5c3RlbSBjb25maWd1cmF0aW9uIHZhcmlhYmxlLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3NfY29uZnN0cl9fZG9jX18sCisiY29uZnN0cigkbW9kdWxlLCBuYW1lLCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIGEgc3RyaW5nLXZhbHVlZCBzeXN0ZW0gY29uZmlndXJhdGlvbiB2YXJpYWJsZS4iKTsKKworI2RlZmluZSBPU19DT05GU1RSX01FVEhPRERFRiAgICBcCisgICAgeyJjb25mc3RyIiwgKFB5Q0Z1bmN0aW9uKW9zX2NvbmZzdHIsIE1FVEhfVkFSQVJHUywgb3NfY29uZnN0cl9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfY29uZnN0cihQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitvc19jb25mc3RyX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IG5hbWUpOworCitzdGF0aWMgUHlPYmplY3QgKgorb3NfY29uZnN0cihQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBpbnQgbmFtZTsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAiTyY6Y29uZnN0ciIsCisgICAgICAgIGNvbnZfY29uZnN0cl9jb25mbmFtZSwgJm5hbWUpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gb3NfY29uZnN0cl9pbXBsKG1vZHVsZSwgbmFtZSk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX2NvbmZzdHJfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgbmFtZSkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD0zZjVlOGFiYTlmOGUzMTc0IGlucHV0PTE4ZmI0ZDA1NjcyNDJlNjVdKi8KIHsKICAgICBQeU9iamVjdCAqcmVzdWx0ID0gTlVMTDsKLSAgICBpbnQgbmFtZTsKICAgICBjaGFyIGJ1ZmZlclsyNTVdOwogICAgIHNpemVfdCBsZW47CiAKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIk8mOmNvbmZzdHIiLCBjb252X2NvbmZzdHJfY29uZm5hbWUsICZuYW1lKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0KICAgICBlcnJubyA9IDA7CiAgICAgbGVuID0gY29uZnN0cihuYW1lLCBidWZmZXIsIHNpemVvZihidWZmZXIpKTsKICAgICBpZiAobGVuID09IDApIHsKQEAgLTk3NjUsMTAgKzE0MzA1LDEyIEBACiAgICAgfQogCiAgICAgaWYgKGxlbiA+PSBzaXplb2YoYnVmZmVyKSkgeworICAgICAgICBzaXplX3QgbGVuMjsKICAgICAgICAgY2hhciAqYnVmID0gUHlNZW1fTWFsbG9jKGxlbik7CiAgICAgICAgIGlmIChidWYgPT0gTlVMTCkKICAgICAgICAgICAgIHJldHVybiBQeUVycl9Ob01lbW9yeSgpOwotICAgICAgICBjb25mc3RyKG5hbWUsIGJ1ZiwgbGVuKTsKKyAgICAgICAgbGVuMiA9IGNvbmZzdHIobmFtZSwgYnVmLCBsZW4pOworICAgICAgICBhc3NlcnQobGVuID09IGxlbjIpOwogICAgICAgICByZXN1bHQgPSBQeVVuaWNvZGVfRGVjb2RlRlNEZWZhdWx0QW5kU2l6ZShidWYsIGxlbi0xKTsKICAgICAgICAgUHlNZW1fRnJlZShidWYpOwogICAgIH0KQEAgLTk3NzYsNyArMTQzMTgsNyBAQAogICAgICAgICByZXN1bHQgPSBQeVVuaWNvZGVfRGVjb2RlRlNEZWZhdWx0QW5kU2l6ZShidWZmZXIsIGxlbi0xKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotI2VuZGlmCisjZW5kaWYgLyogSEFWRV9DT05GU1RSICovCiAKIAogI2lmZGVmIEhBVkVfU1lTQ09ORgpAQCAtMTAyODMsMjkgKzE0ODI1LDYwIEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvIHNpemVvZihzdHJ1Y3QgY29uc3RkZWYpKTsKIH0KIAotUHlEb2NfU1RSVkFSKHBvc2l4X3N5c2NvbmZfX2RvY19fLAotInN5c2NvbmYobmFtZSkgLT4gaW50ZWdlclxuXG5cCi1SZXR1cm4gYW4gaW50ZWdlci12YWx1ZWQgc3lzdGVtIGNvbmZpZ3VyYXRpb24gdmFyaWFibGUuIik7CisKKy8qW2NsaW5pYyBpbnB1dF0KK29zLnN5c2NvbmYgLT4gbG9uZworICAgIG5hbWU6IHN5c2NvbmZfY29uZm5hbWUKKyAgICAvCisKK1JldHVybiBhbiBpbnRlZ2VyLXZhbHVlZCBzeXN0ZW0gY29uZmlndXJhdGlvbiB2YXJpYWJsZS4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX3N5c2NvbmZfX2RvY19fLAorInN5c2NvbmYoJG1vZHVsZSwgbmFtZSwgLylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiBhbiBpbnRlZ2VyLXZhbHVlZCBzeXN0ZW0gY29uZmlndXJhdGlvbiB2YXJpYWJsZS4iKTsKKworI2RlZmluZSBPU19TWVNDT05GX01FVEhPRERFRiAgICBcCisgICAgeyJzeXNjb25mIiwgKFB5Q0Z1bmN0aW9uKW9zX3N5c2NvbmYsIE1FVEhfVkFSQVJHUywgb3Nfc3lzY29uZl9fZG9jX199LAorCitzdGF0aWMgbG9uZworb3Nfc3lzY29uZl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCBuYW1lKTsKIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X3N5c2NvbmYoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorb3Nfc3lzY29uZihQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKIHsKLSAgICBQeU9iamVjdCAqcmVzdWx0ID0gTlVMTDsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKICAgICBpbnQgbmFtZTsKKyAgICBsb25nIF9yZXR1cm5fdmFsdWU7CiAKLSAgICBpZiAoUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiTyY6c3lzY29uZiIsIGNvbnZfc3lzY29uZl9jb25mbmFtZSwgJm5hbWUpKSB7Ci0gICAgICAgIGxvbmcgdmFsdWU7CisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICJPJjpzeXNjb25mIiwKKyAgICAgICAgY29udl9zeXNjb25mX2NvbmZuYW1lLCAmbmFtZSkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICBfcmV0dXJuX3ZhbHVlID0gb3Nfc3lzY29uZl9pbXBsKG1vZHVsZSwgbmFtZSk7CisgICAgaWYgKChfcmV0dXJuX3ZhbHVlID09IC0xKSAmJiBQeUVycl9PY2N1cnJlZCgpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gUHlMb25nX0Zyb21Mb25nKF9yZXR1cm5fdmFsdWUpOwogCi0gICAgICAgIGVycm5vID0gMDsKLSAgICAgICAgdmFsdWUgPSBzeXNjb25mKG5hbWUpOwotICAgICAgICBpZiAodmFsdWUgPT0gLTEgJiYgZXJybm8gIT0gMCkKLSAgICAgICAgICAgIHBvc2l4X2Vycm9yKCk7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIHJlc3VsdCA9IFB5TG9uZ19Gcm9tTG9uZyh2YWx1ZSk7Ci0gICAgfQotICAgIHJldHVybiByZXN1bHQ7CitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7CiB9Ci0jZW5kaWYKKworc3RhdGljIGxvbmcKK29zX3N5c2NvbmZfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgbmFtZSkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD03YjA2ZGZkYzQ3MjQzMWU0IGlucHV0PTI3OWUzNDMwYTMzZjI5ZTRdKi8KK3sKKyAgICBsb25nIHZhbHVlOworCisgICAgZXJybm8gPSAwOworICAgIHZhbHVlID0gc3lzY29uZihuYW1lKTsKKyAgICBpZiAodmFsdWUgPT0gLTEgJiYgZXJybm8gIT0gMCkKKyAgICAgICAgcG9zaXhfZXJyb3IoKTsKKyAgICByZXR1cm4gdmFsdWU7Cit9CisjZW5kaWYgLyogSEFWRV9TWVNDT05GICovCiAKIAogLyogVGhpcyBjb2RlIGlzIHVzZWQgdG8gZW5zdXJlIHRoYXQgdGhlIHRhYmxlcyBvZiBjb25maWd1cmF0aW9uIHZhbHVlIG5hbWVzCkBAIC0xMDM4MiwxMyArMTQ5NTUsMzkgQEAKIH0KIAogCi1QeURvY19TVFJWQVIocG9zaXhfYWJvcnRfX2RvY19fLAotImFib3J0KCkgLT4gZG9lcyBub3QgcmV0dXJuIVxuXG5cCi1BYm9ydCB0aGUgaW50ZXJwcmV0ZXIgaW1tZWRpYXRlbHkuICBUaGlzICdkdW1wcyBjb3JlJyBvciBvdGhlcndpc2UgZmFpbHNcblwKLWluIHRoZSBoYXJkZXN0IHdheSBwb3NzaWJsZSBvbiB0aGUgaG9zdGluZyBvcGVyYXRpbmcgc3lzdGVtLiIpOworLypbY2xpbmljIGlucHV0XQorb3MuYWJvcnQKKworQWJvcnQgdGhlIGludGVycHJldGVyIGltbWVkaWF0ZWx5LgorCitUaGlzIGZ1bmN0aW9uICdkdW1wcyBjb3JlJyBvciBvdGhlcndpc2UgZmFpbHMgaW4gdGhlIGhhcmRlc3Qgd2F5IHBvc3NpYmxlCitvbiB0aGUgaG9zdGluZyBvcGVyYXRpbmcgc3lzdGVtLiAgVGhpcyBmdW5jdGlvbiBuZXZlciByZXR1cm5zLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3NfYWJvcnRfX2RvY19fLAorImFib3J0KCRtb2R1bGUsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJBYm9ydCB0aGUgaW50ZXJwcmV0ZXIgaW1tZWRpYXRlbHkuXG4iCisiXG4iCisiVGhpcyBmdW5jdGlvbiBcJ2R1bXBzIGNvcmVcJyBvciBvdGhlcndpc2UgZmFpbHMgaW4gdGhlIGhhcmRlc3Qgd2F5IHBvc3NpYmxlXG4iCisib24gdGhlIGhvc3Rpbmcgb3BlcmF0aW5nIHN5c3RlbS4gIFRoaXMgZnVuY3Rpb24gbmV2ZXIgcmV0dXJucy4iKTsKKworI2RlZmluZSBPU19BQk9SVF9NRVRIT0RERUYgICAgXAorICAgIHsiYWJvcnQiLCAoUHlDRnVuY3Rpb24pb3NfYWJvcnQsIE1FVEhfTk9BUkdTLCBvc19hYm9ydF9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfYWJvcnQoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpub2FyZ3MpCitvc19hYm9ydF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUpOworCitzdGF0aWMgUHlPYmplY3QgKgorb3NfYWJvcnQoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKlB5X1VOVVNFRChpZ25vcmVkKSkKK3sKKyAgICByZXR1cm4gb3NfYWJvcnRfaW1wbChtb2R1bGUpOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3NfYWJvcnRfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWNkZWQyY2M4YzU0NTNkM2EgaW5wdXQ9Y2YyYzdkOThiYzUwNDA0N10qLwogewogICAgIGFib3J0KCk7CiAgICAgLypOT1RSRUFDSEVEKi8KQEAgLTEwMzk3LDkgKzE0OTk2LDExIEBACiB9CiAKICNpZmRlZiBNU19XSU5ET1dTCisvKiBBQyAzLjU6IGNoYW5nZSB0byBwYXRoX3Q/IGJ1dCB0aGF0IG1pZ2h0IGNoYW5nZSBleGNlcHRpb25zICovCiBQeURvY19TVFJWQVIod2luMzJfc3RhcnRmaWxlX19kb2NfXywKLSJzdGFydGZpbGUoZmlsZXBhdGggWywgb3BlcmF0aW9uXSkgLSBTdGFydCBhIGZpbGUgd2l0aCBpdHMgYXNzb2NpYXRlZFxuXAotYXBwbGljYXRpb24uXG5cCisic3RhcnRmaWxlKGZpbGVwYXRoIFssIG9wZXJhdGlvbl0pXG5cCitcblwKK1N0YXJ0IGEgZmlsZSB3aXRoIGl0cyBhc3NvY2lhdGVkIGFwcGxpY2F0aW9uLlxuXAogXG5cCiBXaGVuIFwib3BlcmF0aW9uXCIgaXMgbm90IHNwZWNpZmllZCBvciBcIm9wZW5cIiwgdGhpcyBhY3RzIGxpa2VcblwKIGRvdWJsZS1jbGlja2luZyB0aGUgZmlsZSBpbiBFeHBsb3Jlciwgb3IgZ2l2aW5nIHRoZSBmaWxlIG5hbWUgYXMgYW5cblwKQEAgLTEwNDE2LDYgKzE1MDE3LDM3IEBACiBhbiBhYnNvbHV0ZSBwYXRoLCBtYWtlIHN1cmUgdGhlIGZpcnN0IGNoYXJhY3RlciBpcyBub3QgYSBzbGFzaCAoXCIvXCIpO1xuXAogdGhlIHVuZGVybHlpbmcgV2luMzIgU2hlbGxFeGVjdXRlIGZ1bmN0aW9uIGRvZXNuJ3Qgd29yayBpZiBpdCBpcy4iKTsKIAorLyogR3JhYiBTaGVsbEV4ZWN1dGUgZHluYW1pY2FsbHkgZnJvbSBzaGVsbDMyICovCitzdGF0aWMgaW50IGhhc19TaGVsbEV4ZWN1dGUgPSAtMTsKK3N0YXRpYyBISU5TVEFOQ0UgKENBTExCQUNLICpQeV9TaGVsbEV4ZWN1dGVBKShIV05ELCBMUENTVFIsIExQQ1NUUiwgTFBDU1RSLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExQQ1NUUiwgSU5UKTsKK3N0YXRpYyBISU5TVEFOQ0UgKENBTExCQUNLICpQeV9TaGVsbEV4ZWN1dGVXKShIV05ELCBMUENXU1RSLCBMUENXU1RSLCBMUENXU1RSLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExQQ1dTVFIsIElOVCk7CitzdGF0aWMgaW50CitjaGVja19TaGVsbEV4ZWN1dGUoKQoreworICAgIEhJTlNUQU5DRSBoU2hlbGwzMjsKKworICAgIC8qIG9ubHkgcmVjaGVjayAqLworICAgIGlmICgtMSA9PSBoYXNfU2hlbGxFeGVjdXRlKSB7CisgICAgICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKKyAgICAgICAgaFNoZWxsMzIgPSBMb2FkTGlicmFyeVcoTCJTSEVMTDMyIik7CisgICAgICAgIFB5X0VORF9BTExPV19USFJFQURTCisgICAgICAgIGlmIChoU2hlbGwzMikgeworICAgICAgICAgICAgKihGQVJQUk9DKikmUHlfU2hlbGxFeGVjdXRlQSA9IEdldFByb2NBZGRyZXNzKGhTaGVsbDMyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiU2hlbGxFeGVjdXRlQSIpOworICAgICAgICAgICAgKihGQVJQUk9DKikmUHlfU2hlbGxFeGVjdXRlVyA9IEdldFByb2NBZGRyZXNzKGhTaGVsbDMyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiU2hlbGxFeGVjdXRlVyIpOworICAgICAgICAgICAgaGFzX1NoZWxsRXhlY3V0ZSA9IFB5X1NoZWxsRXhlY3V0ZUEgJiYKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeV9TaGVsbEV4ZWN1dGVXOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgaGFzX1NoZWxsRXhlY3V0ZSA9IDA7CisgICAgICAgIH0KKyAgICB9CisgICAgcmV0dXJuIGhhc19TaGVsbEV4ZWN1dGU7Cit9CisKKwogc3RhdGljIFB5T2JqZWN0ICoKIHdpbjMyX3N0YXJ0ZmlsZShQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCiB7CkBAIC0xMDQyNiw2ICsxNTA1OCwxNCBAQAogICAgIEhJTlNUQU5DRSByYzsKIAogICAgIFB5T2JqZWN0ICp1bmlwYXRoLCAqdW9wZXJhdGlvbiA9IE5VTEw7CisKKyAgICBpZighY2hlY2tfU2hlbGxFeGVjdXRlKCkpIHsKKyAgICAgICAgLyogSWYgdGhlIE9TIGRvZXNuJ3QgaGF2ZSBTaGVsbEV4ZWN1dGUsIHJldHVybiBhCisgICAgICAgICAgIE5vdEltcGxlbWVudGVkRXJyb3IuICovCisgICAgICAgIHJldHVybiBQeUVycl9Gb3JtYXQoUHlFeGNfTm90SW1wbGVtZW50ZWRFcnJvciwKKyAgICAgICAgICAgICJzdGFydGZpbGUgbm90IGF2YWlsYWJsZSBvbiB0aGlzIHBsYXRmb3JtIik7CisgICAgfQorCiAgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJVfHM6c3RhcnRmaWxlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgJnVuaXBhdGgsICZvcGVyYXRpb24pKSB7CiAgICAgICAgIFB5RXJyX0NsZWFyKCk7CkBAIC0xMDQ1NCw4ICsxNTA5NCw4IEBACiAgICAgICAgIHdvcGVyYXRpb24gPSBOVUxMOwogCiAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwotICAgIHJjID0gU2hlbGxFeGVjdXRlVygoSFdORCkwLCB3b3BlcmF0aW9uLCB3cGF0aCwKLSAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwgTlVMTCwgU1dfU0hPV05PUk1BTCk7CisgICAgcmMgPSBQeV9TaGVsbEV4ZWN1dGVXKChIV05EKTAsIHdvcGVyYXRpb24sIHdwYXRoLAorICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLCBOVUxMLCBTV19TSE9XTk9STUFMKTsKICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUwogCiAgICAgUHlfWERFQ1JFRih1b3BlcmF0aW9uKTsKQEAgLTEwNDc3LDggKzE1MTE3LDggQEAKICAgICB9CiAgICAgZmlsZXBhdGggPSBQeUJ5dGVzX0FzU3RyaW5nKG9maWxlcGF0aCk7CiAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwotICAgIHJjID0gU2hlbGxFeGVjdXRlKChIV05EKTAsIG9wZXJhdGlvbiwgZmlsZXBhdGgsCi0gICAgICAgICAgICAgICAgICAgICAgTlVMTCwgTlVMTCwgU1dfU0hPV05PUk1BTCk7CisgICAgcmMgPSBQeV9TaGVsbEV4ZWN1dGVBKChIV05EKTAsIG9wZXJhdGlvbiwgZmlsZXBhdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsIE5VTEwsIFNXX1NIT1dOT1JNQUwpOwogICAgIFB5X0VORF9BTExPV19USFJFQURTCiAgICAgaWYgKHJjIDw9IChISU5TVEFOQ0UpMzIpIHsKICAgICAgICAgUHlPYmplY3QgKmVycnZhbCA9IHdpbjMyX2Vycm9yKCJzdGFydGZpbGUiLCBmaWxlcGF0aCk7CkBAIC0xMDQ4OSwxNyArMTUxMjksNDUgQEAKICAgICBQeV9JTkNSRUYoUHlfTm9uZSk7CiAgICAgcmV0dXJuIFB5X05vbmU7CiB9Ci0jZW5kaWYKKyNlbmRpZiAvKiBNU19XSU5ET1dTICovCisKIAogI2lmZGVmIEhBVkVfR0VUTE9BREFWRwotUHlEb2NfU1RSVkFSKHBvc2l4X2dldGxvYWRhdmdfX2RvY19fLAotImdldGxvYWRhdmcoKSAtPiAoZmxvYXQsIGZsb2F0LCBmbG9hdClcblxuXAotUmV0dXJuIHRoZSBudW1iZXIgb2YgcHJvY2Vzc2VzIGluIHRoZSBzeXN0ZW0gcnVuIHF1ZXVlIGF2ZXJhZ2VkIG92ZXJcblwKLXRoZSBsYXN0IDEsIDUsIGFuZCAxNSBtaW51dGVzIG9yIHJhaXNlcyBPU0Vycm9yIGlmIHRoZSBsb2FkIGF2ZXJhZ2VcblwKLXdhcyB1bm9idGFpbmFibGUiKTsKKy8qW2NsaW5pYyBpbnB1dF0KK29zLmdldGxvYWRhdmcKKworUmV0dXJuIGF2ZXJhZ2UgcmVjZW50IHN5c3RlbSBsb2FkIGluZm9ybWF0aW9uLgorCitSZXR1cm4gdGhlIG51bWJlciBvZiBwcm9jZXNzZXMgaW4gdGhlIHN5c3RlbSBydW4gcXVldWUgYXZlcmFnZWQgb3ZlcgordGhlIGxhc3QgMSwgNSwgYW5kIDE1IG1pbnV0ZXMgYXMgYSB0dXBsZSBvZiB0aHJlZSBmbG9hdHMuCitSYWlzZXMgT1NFcnJvciBpZiB0aGUgbG9hZCBhdmVyYWdlIHdhcyB1bm9idGFpbmFibGUuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19nZXRsb2FkYXZnX19kb2NfXywKKyJnZXRsb2FkYXZnKCRtb2R1bGUsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gYXZlcmFnZSByZWNlbnQgc3lzdGVtIGxvYWQgaW5mb3JtYXRpb24uXG4iCisiXG4iCisiUmV0dXJuIHRoZSBudW1iZXIgb2YgcHJvY2Vzc2VzIGluIHRoZSBzeXN0ZW0gcnVuIHF1ZXVlIGF2ZXJhZ2VkIG92ZXJcbiIKKyJ0aGUgbGFzdCAxLCA1LCBhbmQgMTUgbWludXRlcyBhcyBhIHR1cGxlIG9mIHRocmVlIGZsb2F0cy5cbiIKKyJSYWlzZXMgT1NFcnJvciBpZiB0aGUgbG9hZCBhdmVyYWdlIHdhcyB1bm9idGFpbmFibGUuIik7CisKKyNkZWZpbmUgT1NfR0VUTE9BREFWR19NRVRIT0RERUYgICAgXAorICAgIHsiZ2V0bG9hZGF2ZyIsIChQeUNGdW5jdGlvbilvc19nZXRsb2FkYXZnLCBNRVRIX05PQVJHUywgb3NfZ2V0bG9hZGF2Z19fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfZ2V0bG9hZGF2ZyhQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKm5vYXJncykKK29zX2dldGxvYWRhdmdfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX2dldGxvYWRhdmcoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKlB5X1VOVVNFRChpZ25vcmVkKSkKK3sKKyAgICByZXR1cm4gb3NfZ2V0bG9hZGF2Z19pbXBsKG1vZHVsZSk7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19nZXRsb2FkYXZnX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD02NzU5M2E5MjQ1N2Q1NWFmIGlucHV0PTNkNmQ4MjZiNzZkOGEzNGVdKi8KIHsKICAgICBkb3VibGUgbG9hZGF2Z1szXTsKICAgICBpZiAoZ2V0bG9hZGF2Zyhsb2FkYXZnLCAzKSE9MykgewpAQCAtMTA1MDgsNzIgKzE1MTc2LDE5MyBAQAogICAgIH0gZWxzZQogICAgICAgICByZXR1cm4gUHlfQnVpbGRWYWx1ZSgiZGRkIiwgbG9hZGF2Z1swXSwgbG9hZGF2Z1sxXSwgbG9hZGF2Z1syXSk7CiB9Ci0jZW5kaWYKKyNlbmRpZiAvKiBIQVZFX0dFVExPQURBVkcgKi8KIAotUHlEb2NfU1RSVkFSKGRldmljZV9lbmNvZGluZ19fZG9jX18sCi0iZGV2aWNlX2VuY29kaW5nKGZkKSAtPiBzdHJcblxuXAotUmV0dXJuIGEgc3RyaW5nIGRlc2NyaWJpbmcgdGhlIGVuY29kaW5nIG9mIHRoZSBkZXZpY2VcblwKLWlmIHRoZSBvdXRwdXQgaXMgYSB0ZXJtaW5hbDsgZWxzZSByZXR1cm4gTm9uZS4iKTsKKworLypbY2xpbmljIGlucHV0XQorb3MuZGV2aWNlX2VuY29kaW5nCisgICAgZmQ6IGludAorCitSZXR1cm4gYSBzdHJpbmcgZGVzY3JpYmluZyB0aGUgZW5jb2Rpbmcgb2YgYSB0ZXJtaW5hbCdzIGZpbGUgZGVzY3JpcHRvci4KKworVGhlIGZpbGUgZGVzY3JpcHRvciBtdXN0IGJlIGF0dGFjaGVkIHRvIGEgdGVybWluYWwuCitJZiB0aGUgZGV2aWNlIGlzIG5vdCBhIHRlcm1pbmFsLCByZXR1cm4gTm9uZS4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX2RldmljZV9lbmNvZGluZ19fZG9jX18sCisiZGV2aWNlX2VuY29kaW5nKCRtb2R1bGUsIC8sIGZkKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIGEgc3RyaW5nIGRlc2NyaWJpbmcgdGhlIGVuY29kaW5nIG9mIGEgdGVybWluYWxcJ3MgZmlsZSBkZXNjcmlwdG9yLlxuIgorIlxuIgorIlRoZSBmaWxlIGRlc2NyaXB0b3IgbXVzdCBiZSBhdHRhY2hlZCB0byBhIHRlcm1pbmFsLlxuIgorIklmIHRoZSBkZXZpY2UgaXMgbm90IGEgdGVybWluYWwsIHJldHVybiBOb25lLiIpOworCisjZGVmaW5lIE9TX0RFVklDRV9FTkNPRElOR19NRVRIT0RERUYgICAgXAorICAgIHsiZGV2aWNlX2VuY29kaW5nIiwgKFB5Q0Z1bmN0aW9uKW9zX2RldmljZV9lbmNvZGluZywgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIG9zX2RldmljZV9lbmNvZGluZ19fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotZGV2aWNlX2VuY29kaW5nKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK29zX2RldmljZV9lbmNvZGluZ19pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCBmZCk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19kZXZpY2VfZW5jb2RpbmcoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCiB7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgc3RhdGljIGNoYXIgKl9rZXl3b3Jkc1tdID0geyJmZCIsIE5VTEx9OwogICAgIGludCBmZDsKIAotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiaTpkZXZpY2VfZW5jb2RpbmciLCAmZmQpKQotICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsCisgICAgICAgICJpOmRldmljZV9lbmNvZGluZyIsIF9rZXl3b3JkcywKKyAgICAgICAgJmZkKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IG9zX2RldmljZV9lbmNvZGluZ19pbXBsKG1vZHVsZSwgZmQpOwogCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19kZXZpY2VfZW5jb2RpbmdfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgZmQpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ZTlmODI3NGQ0MmY1Y2NlMyBpbnB1dD05ZTFkNGE0MmI2NmRmMzEyXSovCit7CiAgICAgcmV0dXJuIF9QeV9kZXZpY2VfZW5jb2RpbmcoZmQpOwogfQogCi0jaWZkZWYgSEFWRV9TRVRSRVNVSUQKLVB5RG9jX1NUUlZBUihwb3NpeF9zZXRyZXN1aWRfX2RvY19fLAotInNldHJlc3VpZChydWlkLCBldWlkLCBzdWlkKVxuXG5cCi1TZXQgdGhlIGN1cnJlbnQgcHJvY2VzcydzIHJlYWwsIGVmZmVjdGl2ZSwgYW5kIHNhdmVkIHVzZXIgaWRzLiIpOwogCi1zdGF0aWMgUHlPYmplY3QqCi1wb3NpeF9zZXRyZXN1aWQgKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKKyNpZmRlZiBIQVZFX1NFVFJFU1VJRAorLypbY2xpbmljIGlucHV0XQorb3Muc2V0cmVzdWlkCisKKyAgICBydWlkOiB1aWRfdAorICAgIGV1aWQ6IHVpZF90CisgICAgc3VpZDogdWlkX3QKKyAgICAvCisKK1NldCB0aGUgY3VycmVudCBwcm9jZXNzJ3MgcmVhbCwgZWZmZWN0aXZlLCBhbmQgc2F2ZWQgdXNlciBpZHMuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19zZXRyZXN1aWRfX2RvY19fLAorInNldHJlc3VpZCgkbW9kdWxlLCBydWlkLCBldWlkLCBzdWlkLCAvKVxuIgorIi0tXG4iCisiXG4iCisiU2V0IHRoZSBjdXJyZW50IHByb2Nlc3NcJ3MgcmVhbCwgZWZmZWN0aXZlLCBhbmQgc2F2ZWQgdXNlciBpZHMuIik7CisKKyNkZWZpbmUgT1NfU0VUUkVTVUlEX01FVEhPRERFRiAgICBcCisgICAgeyJzZXRyZXN1aWQiLCAoUHlDRnVuY3Rpb24pb3Nfc2V0cmVzdWlkLCBNRVRIX1ZBUkFSR1MsIG9zX3NldHJlc3VpZF9fZG9jX199LAorCitzdGF0aWMgUHlPYmplY3QgKgorb3Nfc2V0cmVzdWlkX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgdWlkX3QgcnVpZCwgdWlkX3QgZXVpZCwgdWlkX3Qgc3VpZCk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19zZXRyZXN1aWQoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCiB7Ci0gICAgLyogV2UgYXNzdW1lIHVpZF90IGlzIG5vIGxhcmdlciB0aGFuIGEgbG9uZy4gKi8KLSAgICB1aWRfdCBydWlkLCBldWlkLCBzdWlkOwotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiTyZPJk8mOnNldHJlc3VpZCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIF9QeV9VaWRfQ29udmVydGVyLCAmcnVpZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgX1B5X1VpZF9Db252ZXJ0ZXIsICZldWlkLAotICAgICAgICAgICAgICAgICAgICAgICAgICBfUHlfVWlkX0NvbnZlcnRlciwgJnN1aWQpKQotICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICB1aWRfdCBydWlkOworICAgIHVpZF90IGV1aWQ7CisgICAgdWlkX3Qgc3VpZDsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAiTyZPJk8mOnNldHJlc3VpZCIsCisgICAgICAgIF9QeV9VaWRfQ29udmVydGVyLCAmcnVpZCwgX1B5X1VpZF9Db252ZXJ0ZXIsICZldWlkLCBfUHlfVWlkX0NvbnZlcnRlciwgJnN1aWQpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gb3Nfc2V0cmVzdWlkX2ltcGwobW9kdWxlLCBydWlkLCBldWlkLCBzdWlkKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3Nfc2V0cmVzdWlkX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgdWlkX3QgcnVpZCwgdWlkX3QgZXVpZCwgdWlkX3Qgc3VpZCkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD0yZTM0NTdjZmU3Y2QxZjk0IGlucHV0PTllMzNjYjc5YTgyNzkyZjNdKi8KK3sKICAgICBpZiAoc2V0cmVzdWlkKHJ1aWQsIGV1aWQsIHN1aWQpIDwgMCkKICAgICAgICAgcmV0dXJuIHBvc2l4X2Vycm9yKCk7CiAgICAgUHlfUkVUVVJOX05PTkU7CiB9Ci0jZW5kaWYKKyNlbmRpZiAvKiBIQVZFX1NFVFJFU1VJRCAqLworCiAKICNpZmRlZiBIQVZFX1NFVFJFU0dJRAotUHlEb2NfU1RSVkFSKHBvc2l4X3NldHJlc2dpZF9fZG9jX18sCi0ic2V0cmVzZ2lkKHJnaWQsIGVnaWQsIHNnaWQpXG5cblwKLVNldCB0aGUgY3VycmVudCBwcm9jZXNzJ3MgcmVhbCwgZWZmZWN0aXZlLCBhbmQgc2F2ZWQgZ3JvdXAgaWRzLiIpOworLypbY2xpbmljIGlucHV0XQorb3Muc2V0cmVzZ2lkCiAKLXN0YXRpYyBQeU9iamVjdCoKLXBvc2l4X3NldHJlc2dpZCAoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorICAgIHJnaWQ6IGdpZF90CisgICAgZWdpZDogZ2lkX3QKKyAgICBzZ2lkOiBnaWRfdAorICAgIC8KKworU2V0IHRoZSBjdXJyZW50IHByb2Nlc3MncyByZWFsLCBlZmZlY3RpdmUsIGFuZCBzYXZlZCBncm91cCBpZHMuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19zZXRyZXNnaWRfX2RvY19fLAorInNldHJlc2dpZCgkbW9kdWxlLCByZ2lkLCBlZ2lkLCBzZ2lkLCAvKVxuIgorIi0tXG4iCisiXG4iCisiU2V0IHRoZSBjdXJyZW50IHByb2Nlc3NcJ3MgcmVhbCwgZWZmZWN0aXZlLCBhbmQgc2F2ZWQgZ3JvdXAgaWRzLiIpOworCisjZGVmaW5lIE9TX1NFVFJFU0dJRF9NRVRIT0RERUYgICAgXAorICAgIHsic2V0cmVzZ2lkIiwgKFB5Q0Z1bmN0aW9uKW9zX3NldHJlc2dpZCwgTUVUSF9WQVJBUkdTLCBvc19zZXRyZXNnaWRfX2RvY19ffSwKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3NldHJlc2dpZF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGdpZF90IHJnaWQsIGdpZF90IGVnaWQsIGdpZF90IHNnaWQpOworCitzdGF0aWMgUHlPYmplY3QgKgorb3Nfc2V0cmVzZ2lkKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQogewotICAgIGdpZF90IHJnaWQsIGVnaWQsIHNnaWQ7Ci0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJPJk8mTyY6c2V0cmVzZ2lkIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgX1B5X0dpZF9Db252ZXJ0ZXIsICZyZ2lkLAotICAgICAgICAgICAgICAgICAgICAgICAgICBfUHlfR2lkX0NvbnZlcnRlciwgJmVnaWQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIF9QeV9HaWRfQ29udmVydGVyLCAmc2dpZCkpCi0gICAgICAgIHJldHVybiBOVUxMOworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIGdpZF90IHJnaWQ7CisgICAgZ2lkX3QgZWdpZDsKKyAgICBnaWRfdCBzZ2lkOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICJPJk8mTyY6c2V0cmVzZ2lkIiwKKyAgICAgICAgX1B5X0dpZF9Db252ZXJ0ZXIsICZyZ2lkLCBfUHlfR2lkX0NvbnZlcnRlciwgJmVnaWQsIF9QeV9HaWRfQ29udmVydGVyLCAmc2dpZCkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBvc19zZXRyZXNnaWRfaW1wbChtb2R1bGUsIHJnaWQsIGVnaWQsIHNnaWQpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19zZXRyZXNnaWRfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBnaWRfdCByZ2lkLCBnaWRfdCBlZ2lkLCBnaWRfdCBzZ2lkKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PThhN2VlNmMxZjI0ODIzNjIgaW5wdXQ9MzNlOWUwNzg1ZWY0MjZiMV0qLworewogICAgIGlmIChzZXRyZXNnaWQocmdpZCwgZWdpZCwgc2dpZCkgPCAwKQogICAgICAgICByZXR1cm4gcG9zaXhfZXJyb3IoKTsKICAgICBQeV9SRVRVUk5fTk9ORTsKIH0KLSNlbmRpZgorI2VuZGlmIC8qIEhBVkVfU0VUUkVTR0lEICovCisKIAogI2lmZGVmIEhBVkVfR0VUUkVTVUlECi1QeURvY19TVFJWQVIocG9zaXhfZ2V0cmVzdWlkX19kb2NfXywKLSJnZXRyZXN1aWQoKSAtPiAocnVpZCwgZXVpZCwgc3VpZClcblxuXAotR2V0IHR1cGxlIG9mIHRoZSBjdXJyZW50IHByb2Nlc3MncyByZWFsLCBlZmZlY3RpdmUsIGFuZCBzYXZlZCB1c2VyIGlkcy4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK29zLmdldHJlc3VpZAogCi1zdGF0aWMgUHlPYmplY3QqCi1wb3NpeF9nZXRyZXN1aWQgKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqbm9hcmdzKQorUmV0dXJuIGEgdHVwbGUgb2YgdGhlIGN1cnJlbnQgcHJvY2VzcydzIHJlYWwsIGVmZmVjdGl2ZSwgYW5kIHNhdmVkIHVzZXIgaWRzLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3NfZ2V0cmVzdWlkX19kb2NfXywKKyJnZXRyZXN1aWQoJG1vZHVsZSwgLylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiBhIHR1cGxlIG9mIHRoZSBjdXJyZW50IHByb2Nlc3NcJ3MgcmVhbCwgZWZmZWN0aXZlLCBhbmQgc2F2ZWQgdXNlciBpZHMuIik7CisKKyNkZWZpbmUgT1NfR0VUUkVTVUlEX01FVEhPRERFRiAgICBcCisgICAgeyJnZXRyZXN1aWQiLCAoUHlDRnVuY3Rpb24pb3NfZ2V0cmVzdWlkLCBNRVRIX05PQVJHUywgb3NfZ2V0cmVzdWlkX19kb2NfX30sCisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19nZXRyZXN1aWRfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX2dldHJlc3VpZChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqUHlfVU5VU0VEKGlnbm9yZWQpKQoreworICAgIHJldHVybiBvc19nZXRyZXN1aWRfaW1wbChtb2R1bGUpOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3NfZ2V0cmVzdWlkX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1kMDc4NjY4NmE2ZWYxMzIwIGlucHV0PTQxY2NmYThlMWY2NTE3YWRdKi8KIHsKICAgICB1aWRfdCBydWlkLCBldWlkLCBzdWlkOwogICAgIGlmIChnZXRyZXN1aWQoJnJ1aWQsICZldWlkLCAmc3VpZCkgPCAwKQpAQCAtMTA1ODIsNTkgKzE1MzcxLDExNiBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9QeUxvbmdfRnJvbVVpZChldWlkKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfUHlMb25nX0Zyb21VaWQoc3VpZCkpOwogfQotI2VuZGlmCisjZW5kaWYgLyogSEFWRV9HRVRSRVNVSUQgKi8KKwogCiAjaWZkZWYgSEFWRV9HRVRSRVNHSUQKLVB5RG9jX1NUUlZBUihwb3NpeF9nZXRyZXNnaWRfX2RvY19fLAotImdldHJlc2dpZCgpIC0+IChyZ2lkLCBlZ2lkLCBzZ2lkKVxuXG5cCi1HZXQgdHVwbGUgb2YgdGhlIGN1cnJlbnQgcHJvY2VzcydzIHJlYWwsIGVmZmVjdGl2ZSwgYW5kIHNhdmVkIGdyb3VwIGlkcy4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK29zLmdldHJlc2dpZAogCi1zdGF0aWMgUHlPYmplY3QqCi1wb3NpeF9nZXRyZXNnaWQgKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqbm9hcmdzKQorUmV0dXJuIGEgdHVwbGUgb2YgdGhlIGN1cnJlbnQgcHJvY2VzcydzIHJlYWwsIGVmZmVjdGl2ZSwgYW5kIHNhdmVkIGdyb3VwIGlkcy4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX2dldHJlc2dpZF9fZG9jX18sCisiZ2V0cmVzZ2lkKCRtb2R1bGUsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gYSB0dXBsZSBvZiB0aGUgY3VycmVudCBwcm9jZXNzXCdzIHJlYWwsIGVmZmVjdGl2ZSwgYW5kIHNhdmVkIGdyb3VwIGlkcy4iKTsKKworI2RlZmluZSBPU19HRVRSRVNHSURfTUVUSE9EREVGICAgIFwKKyAgICB7ImdldHJlc2dpZCIsIChQeUNGdW5jdGlvbilvc19nZXRyZXNnaWQsIE1FVEhfTk9BUkdTLCBvc19nZXRyZXNnaWRfX2RvY19ffSwKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX2dldHJlc2dpZF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUpOworCitzdGF0aWMgUHlPYmplY3QgKgorb3NfZ2V0cmVzZ2lkKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpQeV9VTlVTRUQoaWdub3JlZCkpCiB7Ci0gICAgdWlkX3QgcmdpZCwgZWdpZCwgc2dpZDsKKyAgICByZXR1cm4gb3NfZ2V0cmVzZ2lkX2ltcGwobW9kdWxlKTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX2dldHJlc2dpZF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9MDUyNDlhYzc5NWZhNzU5ZiBpbnB1dD01MTdlNjhkYjljYTMyZGY2XSovCit7CisgICAgZ2lkX3QgcmdpZCwgZWdpZCwgc2dpZDsKICAgICBpZiAoZ2V0cmVzZ2lkKCZyZ2lkLCAmZWdpZCwgJnNnaWQpIDwgMCkKICAgICAgICAgcmV0dXJuIHBvc2l4X2Vycm9yKCk7CiAgICAgcmV0dXJuIFB5X0J1aWxkVmFsdWUoIihOTk4pIiwgX1B5TG9uZ19Gcm9tR2lkKHJnaWQpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9QeUxvbmdfRnJvbUdpZChlZ2lkKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfUHlMb25nX0Zyb21HaWQoc2dpZCkpOwogfQotI2VuZGlmCisjZW5kaWYgLyogSEFWRV9HRVRSRVNHSUQgKi8KKwogCiAjaWZkZWYgVVNFX1hBVFRSUworLypbY2xpbmljIGlucHV0XQorb3MuZ2V0eGF0dHIKIAotUHlEb2NfU1RSVkFSKHBvc2l4X2dldHhhdHRyX19kb2NfXywKLSJnZXR4YXR0cihwYXRoLCBhdHRyaWJ1dGUsICosIGZvbGxvd19zeW1saW5rcz1UcnVlKSAtPiB2YWx1ZVxuXG5cCi1SZXR1cm4gdGhlIHZhbHVlIG9mIGV4dGVuZGVkIGF0dHJpYnV0ZSBhdHRyaWJ1dGUgb24gcGF0aC5cblwKLVxuXAotcGF0aCBtYXkgYmUgZWl0aGVyIGEgc3RyaW5nIG9yIGFuIG9wZW4gZmlsZSBkZXNjcmlwdG9yLlxuXAotSWYgZm9sbG93X3N5bWxpbmtzIGlzIEZhbHNlLCBhbmQgdGhlIGxhc3QgZWxlbWVudCBvZiB0aGUgcGF0aCBpcyBhIHN5bWJvbGljXG5cCi0gIGxpbmssIGdldHhhdHRyIHdpbGwgZXhhbWluZSB0aGUgc3ltYm9saWMgbGluayBpdHNlbGYgaW5zdGVhZCBvZiB0aGUgZmlsZVxuXAotICB0aGUgbGluayBwb2ludHMgdG8uIik7CisgICAgcGF0aDogcGF0aF90KGFsbG93X2ZkPVRydWUpCisgICAgYXR0cmlidXRlOiBwYXRoX3QKKyAgICAqCisgICAgZm9sbG93X3N5bWxpbmtzOiBib29sID0gVHJ1ZQorCitSZXR1cm4gdGhlIHZhbHVlIG9mIGV4dGVuZGVkIGF0dHJpYnV0ZSBhdHRyaWJ1dGUgb24gcGF0aC4KKworcGF0aCBtYXkgYmUgZWl0aGVyIGEgc3RyaW5nIG9yIGFuIG9wZW4gZmlsZSBkZXNjcmlwdG9yLgorSWYgZm9sbG93X3N5bWxpbmtzIGlzIEZhbHNlLCBhbmQgdGhlIGxhc3QgZWxlbWVudCBvZiB0aGUgcGF0aCBpcyBhIHN5bWJvbGljCisgIGxpbmssIGdldHhhdHRyIHdpbGwgZXhhbWluZSB0aGUgc3ltYm9saWMgbGluayBpdHNlbGYgaW5zdGVhZCBvZiB0aGUgZmlsZQorICB0aGUgbGluayBwb2ludHMgdG8uCisKK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX2dldHhhdHRyX19kb2NfXywKKyJnZXR4YXR0cigkbW9kdWxlLCAvLCBwYXRoLCBhdHRyaWJ1dGUsICosIGZvbGxvd19zeW1saW5rcz1UcnVlKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIHRoZSB2YWx1ZSBvZiBleHRlbmRlZCBhdHRyaWJ1dGUgYXR0cmlidXRlIG9uIHBhdGguXG4iCisiXG4iCisicGF0aCBtYXkgYmUgZWl0aGVyIGEgc3RyaW5nIG9yIGFuIG9wZW4gZmlsZSBkZXNjcmlwdG9yLlxuIgorIklmIGZvbGxvd19zeW1saW5rcyBpcyBGYWxzZSwgYW5kIHRoZSBsYXN0IGVsZW1lbnQgb2YgdGhlIHBhdGggaXMgYSBzeW1ib2xpY1xuIgorIiAgbGluaywgZ2V0eGF0dHIgd2lsbCBleGFtaW5lIHRoZSBzeW1ib2xpYyBsaW5rIGl0c2VsZiBpbnN0ZWFkIG9mIHRoZSBmaWxlXG4iCisiICB0aGUgbGluayBwb2ludHMgdG8uIik7CisKKyNkZWZpbmUgT1NfR0VUWEFUVFJfTUVUSE9EREVGICAgIFwKKyAgICB7ImdldHhhdHRyIiwgKFB5Q0Z1bmN0aW9uKW9zX2dldHhhdHRyLCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgb3NfZ2V0eGF0dHJfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X2dldHhhdHRyKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKK29zX2dldHhhdHRyX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgcGF0aF90ICpwYXRoLCBwYXRoX3QgKmF0dHJpYnV0ZSwgaW50IGZvbGxvd19zeW1saW5rcyk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19nZXR4YXR0cihQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKIHsKLSAgICBwYXRoX3QgcGF0aDsKLSAgICBwYXRoX3QgYXR0cmlidXRlOworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIHN0YXRpYyBjaGFyICpfa2V5d29yZHNbXSA9IHsicGF0aCIsICJhdHRyaWJ1dGUiLCAiZm9sbG93X3N5bWxpbmtzIiwgTlVMTH07CisgICAgcGF0aF90IHBhdGggPSBQQVRIX1RfSU5JVElBTElaRSgiZ2V0eGF0dHIiLCAicGF0aCIsIDAsIDEpOworICAgIHBhdGhfdCBhdHRyaWJ1dGUgPSBQQVRIX1RfSU5JVElBTElaRSgiZ2V0eGF0dHIiLCAiYXR0cmlidXRlIiwgMCwgMCk7CiAgICAgaW50IGZvbGxvd19zeW1saW5rcyA9IDE7Ci0gICAgUHlPYmplY3QgKmJ1ZmZlciA9IE5VTEw7Ci0gICAgaW50IGk7Ci0gICAgc3RhdGljIGNoYXIgKmtleXdvcmRzW10gPSB7InBhdGgiLCAiYXR0cmlidXRlIiwgImZvbGxvd19zeW1saW5rcyIsIE5VTEx9OwogCi0gICAgbWVtc2V0KCZwYXRoLCAwLCBzaXplb2YocGF0aCkpOwotICAgIG1lbXNldCgmYXR0cmlidXRlLCAwLCBzaXplb2YoYXR0cmlidXRlKSk7Ci0gICAgcGF0aC5mdW5jdGlvbl9uYW1lID0gImdldHhhdHRyIjsKLSAgICBhdHRyaWJ1dGUuZnVuY3Rpb25fbmFtZSA9ICJnZXR4YXR0ciI7Ci0gICAgcGF0aC5hbGxvd19mZCA9IDE7Ci0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLCAiTyZPJnwkcDpnZXR4YXR0ciIsIGtleXdvcmRzLAotICAgICAgICBwYXRoX2NvbnZlcnRlciwgJnBhdGgsCi0gICAgICAgIHBhdGhfY29udmVydGVyLCAmYXR0cmlidXRlLAotICAgICAgICAmZm9sbG93X3N5bWxpbmtzKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0KLSAgICBpZiAoZmRfYW5kX2ZvbGxvd19zeW1saW5rc19pbnZhbGlkKCJnZXR4YXR0ciIsIHBhdGguZmQsIGZvbGxvd19zeW1saW5rcykpCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLAorICAgICAgICAiTyZPJnwkcDpnZXR4YXR0ciIsIF9rZXl3b3JkcywKKyAgICAgICAgcGF0aF9jb252ZXJ0ZXIsICZwYXRoLCBwYXRoX2NvbnZlcnRlciwgJmF0dHJpYnV0ZSwgJmZvbGxvd19zeW1saW5rcykpCiAgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBvc19nZXR4YXR0cl9pbXBsKG1vZHVsZSwgJnBhdGgsICZhdHRyaWJ1dGUsIGZvbGxvd19zeW1saW5rcyk7CisKK2V4aXQ6CisgICAgLyogQ2xlYW51cCBmb3IgcGF0aCAqLworICAgIHBhdGhfY2xlYW51cCgmcGF0aCk7CisgICAgLyogQ2xlYW51cCBmb3IgYXR0cmlidXRlICovCisgICAgcGF0aF9jbGVhbnVwKCZhdHRyaWJ1dGUpOworCisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX2dldHhhdHRyX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgcGF0aF90ICpwYXRoLCBwYXRoX3QgKmF0dHJpYnV0ZSwgaW50IGZvbGxvd19zeW1saW5rcykKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1iYmM5NDU0ZmUyYjllYTg2IGlucHV0PThjOGVhM2JhYjc4ZDg5YzJdKi8KK3sKKyAgICBQeV9zc2l6ZV90IGk7CisgICAgUHlPYmplY3QgKmJ1ZmZlciA9IE5VTEw7CisKKyAgICBpZiAoZmRfYW5kX2ZvbGxvd19zeW1saW5rc19pbnZhbGlkKCJnZXR4YXR0ciIsIHBhdGgtPmZkLCBmb2xsb3dfc3ltbGlua3MpKQorICAgICAgICByZXR1cm4gTlVMTDsKIAogICAgIGZvciAoaSA9IDA7IDsgaSsrKSB7CiAgICAgICAgIHZvaWQgKnB0cjsKQEAgLTEwNjQyLDMwICsxNTQ4OCwyOSBAQAogICAgICAgICBzdGF0aWMgUHlfc3NpemVfdCBidWZmZXJfc2l6ZXNbXSA9IHsxMjgsIFhBVFRSX1NJWkVfTUFYLCAwfTsKICAgICAgICAgUHlfc3NpemVfdCBidWZmZXJfc2l6ZSA9IGJ1ZmZlcl9zaXplc1tpXTsKICAgICAgICAgaWYgKCFidWZmZXJfc2l6ZSkgewotICAgICAgICAgICAgcGF0aF9lcnJvcigmcGF0aCk7Ci0gICAgICAgICAgICBnb3RvIGV4aXQ7CisgICAgICAgICAgICBwYXRoX2Vycm9yKHBhdGgpOworICAgICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgICAgIH0KICAgICAgICAgYnVmZmVyID0gUHlCeXRlc19Gcm9tU3RyaW5nQW5kU2l6ZShOVUxMLCBidWZmZXJfc2l6ZSk7CiAgICAgICAgIGlmICghYnVmZmVyKQotICAgICAgICAgICAgZ290byBleGl0OworICAgICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgICAgIHB0ciA9IFB5Qnl0ZXNfQVNfU1RSSU5HKGJ1ZmZlcik7CiAKICAgICAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUzsKLSAgICAgICAgaWYgKHBhdGguZmQgPj0gMCkKLSAgICAgICAgICAgIHJlc3VsdCA9IGZnZXR4YXR0cihwYXRoLmZkLCBhdHRyaWJ1dGUubmFycm93LCBwdHIsIGJ1ZmZlcl9zaXplKTsKKyAgICAgICAgaWYgKHBhdGgtPmZkID49IDApCisgICAgICAgICAgICByZXN1bHQgPSBmZ2V0eGF0dHIocGF0aC0+ZmQsIGF0dHJpYnV0ZS0+bmFycm93LCBwdHIsIGJ1ZmZlcl9zaXplKTsKICAgICAgICAgZWxzZSBpZiAoZm9sbG93X3N5bWxpbmtzKQotICAgICAgICAgICAgcmVzdWx0ID0gZ2V0eGF0dHIocGF0aC5uYXJyb3csIGF0dHJpYnV0ZS5uYXJyb3csIHB0ciwgYnVmZmVyX3NpemUpOworICAgICAgICAgICAgcmVzdWx0ID0gZ2V0eGF0dHIocGF0aC0+bmFycm93LCBhdHRyaWJ1dGUtPm5hcnJvdywgcHRyLCBidWZmZXJfc2l6ZSk7CiAgICAgICAgIGVsc2UKLSAgICAgICAgICAgIHJlc3VsdCA9IGxnZXR4YXR0cihwYXRoLm5hcnJvdywgYXR0cmlidXRlLm5hcnJvdywgcHRyLCBidWZmZXJfc2l6ZSk7CisgICAgICAgICAgICByZXN1bHQgPSBsZ2V0eGF0dHIocGF0aC0+bmFycm93LCBhdHRyaWJ1dGUtPm5hcnJvdywgcHRyLCBidWZmZXJfc2l6ZSk7CiAgICAgICAgIFB5X0VORF9BTExPV19USFJFQURTOwogCiAgICAgICAgIGlmIChyZXN1bHQgPCAwKSB7CiAgICAgICAgICAgICBQeV9ERUNSRUYoYnVmZmVyKTsKLSAgICAgICAgICAgIGJ1ZmZlciA9IE5VTEw7CiAgICAgICAgICAgICBpZiAoZXJybm8gPT0gRVJBTkdFKQogICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgcGF0aF9lcnJvcigmcGF0aCk7Ci0gICAgICAgICAgICBnb3RvIGV4aXQ7CisgICAgICAgICAgICBwYXRoX2Vycm9yKHBhdGgpOworICAgICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgICAgIH0KIAogICAgICAgICBpZiAocmVzdWx0ICE9IGJ1ZmZlcl9zaXplKSB7CkBAIC0xMDY3NSwxNjggKzE1NTIwLDI1OSBAQAogICAgICAgICBicmVhazsKICAgICB9CiAKLWV4aXQ6Ci0gICAgcGF0aF9jbGVhbnVwKCZwYXRoKTsKLSAgICBwYXRoX2NsZWFudXAoJmF0dHJpYnV0ZSk7CiAgICAgcmV0dXJuIGJ1ZmZlcjsKIH0KIAotUHlEb2NfU1RSVkFSKHBvc2l4X3NldHhhdHRyX19kb2NfXywKLSJzZXR4YXR0cihwYXRoLCBhdHRyaWJ1dGUsIHZhbHVlLCBmbGFncz0wLCAqLCBmb2xsb3dfc3ltbGlua3M9VHJ1ZSlcblxuXAotU2V0IGV4dGVuZGVkIGF0dHJpYnV0ZSBhdHRyaWJ1dGUgb24gcGF0aCB0byB2YWx1ZS5cblwKLXBhdGggbWF5IGJlIGVpdGhlciBhIHN0cmluZyBvciBhbiBvcGVuIGZpbGUgZGVzY3JpcHRvci5cblwKLUlmIGZvbGxvd19zeW1saW5rcyBpcyBGYWxzZSwgYW5kIHRoZSBsYXN0IGVsZW1lbnQgb2YgdGhlIHBhdGggaXMgYSBzeW1ib2xpY1xuXAotICBsaW5rLCBzZXR4YXR0ciB3aWxsIG1vZGlmeSB0aGUgc3ltYm9saWMgbGluayBpdHNlbGYgaW5zdGVhZCBvZiB0aGUgZmlsZVxuXAotICB0aGUgbGluayBwb2ludHMgdG8uIik7CisKKy8qW2NsaW5pYyBpbnB1dF0KK29zLnNldHhhdHRyCisKKyAgICBwYXRoOiBwYXRoX3QoYWxsb3dfZmQ9VHJ1ZSkKKyAgICBhdHRyaWJ1dGU6IHBhdGhfdAorICAgIHZhbHVlOiBQeV9idWZmZXIKKyAgICBmbGFnczogaW50ID0gMAorICAgICoKKyAgICBmb2xsb3dfc3ltbGlua3M6IGJvb2wgPSBUcnVlCisKK1NldCBleHRlbmRlZCBhdHRyaWJ1dGUgYXR0cmlidXRlIG9uIHBhdGggdG8gdmFsdWUuCisKK3BhdGggbWF5IGJlIGVpdGhlciBhIHN0cmluZyBvciBhbiBvcGVuIGZpbGUgZGVzY3JpcHRvci4KK0lmIGZvbGxvd19zeW1saW5rcyBpcyBGYWxzZSwgYW5kIHRoZSBsYXN0IGVsZW1lbnQgb2YgdGhlIHBhdGggaXMgYSBzeW1ib2xpYworICBsaW5rLCBzZXR4YXR0ciB3aWxsIG1vZGlmeSB0aGUgc3ltYm9saWMgbGluayBpdHNlbGYgaW5zdGVhZCBvZiB0aGUgZmlsZQorICB0aGUgbGluayBwb2ludHMgdG8uCisKK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX3NldHhhdHRyX19kb2NfXywKKyJzZXR4YXR0cigkbW9kdWxlLCAvLCBwYXRoLCBhdHRyaWJ1dGUsIHZhbHVlLCBmbGFncz0wLCAqLFxuIgorIiAgICAgICAgIGZvbGxvd19zeW1saW5rcz1UcnVlKVxuIgorIi0tXG4iCisiXG4iCisiU2V0IGV4dGVuZGVkIGF0dHJpYnV0ZSBhdHRyaWJ1dGUgb24gcGF0aCB0byB2YWx1ZS5cbiIKKyJcbiIKKyJwYXRoIG1heSBiZSBlaXRoZXIgYSBzdHJpbmcgb3IgYW4gb3BlbiBmaWxlIGRlc2NyaXB0b3IuXG4iCisiSWYgZm9sbG93X3N5bWxpbmtzIGlzIEZhbHNlLCBhbmQgdGhlIGxhc3QgZWxlbWVudCBvZiB0aGUgcGF0aCBpcyBhIHN5bWJvbGljXG4iCisiICBsaW5rLCBzZXR4YXR0ciB3aWxsIG1vZGlmeSB0aGUgc3ltYm9saWMgbGluayBpdHNlbGYgaW5zdGVhZCBvZiB0aGUgZmlsZVxuIgorIiAgdGhlIGxpbmsgcG9pbnRzIHRvLiIpOworCisjZGVmaW5lIE9TX1NFVFhBVFRSX01FVEhPRERFRiAgICBcCisgICAgeyJzZXR4YXR0ciIsIChQeUNGdW5jdGlvbilvc19zZXR4YXR0ciwgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIG9zX3NldHhhdHRyX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9zZXR4YXR0cihQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCitvc19zZXR4YXR0cl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIHBhdGhfdCAqcGF0aCwgcGF0aF90ICphdHRyaWJ1dGUsIFB5X2J1ZmZlciAqdmFsdWUsIGludCBmbGFncywgaW50IGZvbGxvd19zeW1saW5rcyk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19zZXR4YXR0cihQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKIHsKLSAgICBwYXRoX3QgcGF0aDsKLSAgICBwYXRoX3QgYXR0cmlidXRlOwotICAgIFB5X2J1ZmZlciB2YWx1ZTsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBzdGF0aWMgY2hhciAqX2tleXdvcmRzW10gPSB7InBhdGgiLCAiYXR0cmlidXRlIiwgInZhbHVlIiwgImZsYWdzIiwgImZvbGxvd19zeW1saW5rcyIsIE5VTEx9OworICAgIHBhdGhfdCBwYXRoID0gUEFUSF9UX0lOSVRJQUxJWkUoInNldHhhdHRyIiwgInBhdGgiLCAwLCAxKTsKKyAgICBwYXRoX3QgYXR0cmlidXRlID0gUEFUSF9UX0lOSVRJQUxJWkUoInNldHhhdHRyIiwgImF0dHJpYnV0ZSIsIDAsIDApOworICAgIFB5X2J1ZmZlciB2YWx1ZSA9IHtOVUxMLCBOVUxMfTsKICAgICBpbnQgZmxhZ3MgPSAwOwogICAgIGludCBmb2xsb3dfc3ltbGlua3MgPSAxOwotICAgIGludCByZXN1bHQ7Ci0gICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7Ci0gICAgc3RhdGljIGNoYXIgKmtleXdvcmRzW10gPSB7InBhdGgiLCAiYXR0cmlidXRlIiwgInZhbHVlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZmxhZ3MiLCAiZm9sbG93X3N5bWxpbmtzIiwgTlVMTH07CiAKLSAgICBtZW1zZXQoJnBhdGgsIDAsIHNpemVvZihwYXRoKSk7Ci0gICAgcGF0aC5mdW5jdGlvbl9uYW1lID0gInNldHhhdHRyIjsKLSAgICBwYXRoLmFsbG93X2ZkID0gMTsKLSAgICBtZW1zZXQoJmF0dHJpYnV0ZSwgMCwgc2l6ZW9mKGF0dHJpYnV0ZSkpOwotICAgIG1lbXNldCgmdmFsdWUsIDAsIHNpemVvZih2YWx1ZSkpOwotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywgIk8mTyZ5KnxpJHA6c2V0eGF0dHIiLAotICAgICAgICBrZXl3b3JkcywKLSAgICAgICAgcGF0aF9jb252ZXJ0ZXIsICZwYXRoLAotICAgICAgICBwYXRoX2NvbnZlcnRlciwgJmF0dHJpYnV0ZSwKLSAgICAgICAgJnZhbHVlLCAmZmxhZ3MsCi0gICAgICAgICZmb2xsb3dfc3ltbGlua3MpKQotICAgICAgICByZXR1cm4gTlVMTDsKLQotICAgIGlmIChmZF9hbmRfZm9sbG93X3N5bWxpbmtzX2ludmFsaWQoInNldHhhdHRyIiwgcGF0aC5mZCwgZm9sbG93X3N5bWxpbmtzKSkKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsCisgICAgICAgICJPJk8meSp8aSRwOnNldHhhdHRyIiwgX2tleXdvcmRzLAorICAgICAgICBwYXRoX2NvbnZlcnRlciwgJnBhdGgsIHBhdGhfY29udmVydGVyLCAmYXR0cmlidXRlLCAmdmFsdWUsICZmbGFncywgJmZvbGxvd19zeW1saW5rcykpCiAgICAgICAgIGdvdG8gZXhpdDsKLQotICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFM7Ci0gICAgaWYgKHBhdGguZmQgPiAtMSkKLSAgICAgICAgcmVzdWx0ID0gZnNldHhhdHRyKHBhdGguZmQsIGF0dHJpYnV0ZS5uYXJyb3csCi0gICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZS5idWYsIHZhbHVlLmxlbiwgZmxhZ3MpOwotICAgIGVsc2UgaWYgKGZvbGxvd19zeW1saW5rcykKLSAgICAgICAgcmVzdWx0ID0gc2V0eGF0dHIocGF0aC5uYXJyb3csIGF0dHJpYnV0ZS5uYXJyb3csCi0gICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZS5idWYsIHZhbHVlLmxlbiwgZmxhZ3MpOwotICAgIGVsc2UKLSAgICAgICAgcmVzdWx0ID0gbHNldHhhdHRyKHBhdGgubmFycm93LCBhdHRyaWJ1dGUubmFycm93LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUuYnVmLCB2YWx1ZS5sZW4sIGZsYWdzKTsKLSAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUzsKLQotICAgIGlmIChyZXN1bHQpIHsKLSAgICAgICAgcmV0dXJuX3ZhbHVlID0gcGF0aF9lcnJvcigmcGF0aCk7Ci0gICAgICAgIGdvdG8gZXhpdDsKLSAgICB9Ci0KLSAgICByZXR1cm5fdmFsdWUgPSBQeV9Ob25lOwotICAgIFB5X0lOQ1JFRihyZXR1cm5fdmFsdWUpOworICAgIHJldHVybl92YWx1ZSA9IG9zX3NldHhhdHRyX2ltcGwobW9kdWxlLCAmcGF0aCwgJmF0dHJpYnV0ZSwgJnZhbHVlLCBmbGFncywgZm9sbG93X3N5bWxpbmtzKTsKIAogZXhpdDoKKyAgICAvKiBDbGVhbnVwIGZvciBwYXRoICovCiAgICAgcGF0aF9jbGVhbnVwKCZwYXRoKTsKKyAgICAvKiBDbGVhbnVwIGZvciBhdHRyaWJ1dGUgKi8KICAgICBwYXRoX2NsZWFudXAoJmF0dHJpYnV0ZSk7Ci0gICAgUHlCdWZmZXJfUmVsZWFzZSgmdmFsdWUpOworICAgIC8qIENsZWFudXAgZm9yIHZhbHVlICovCisgICAgaWYgKHZhbHVlLm9iaikKKyAgICAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZ2YWx1ZSk7CiAKICAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOwogfQogCi1QeURvY19TVFJWQVIocG9zaXhfcmVtb3ZleGF0dHJfX2RvY19fLAotInJlbW92ZXhhdHRyKHBhdGgsIGF0dHJpYnV0ZSwgKiwgZm9sbG93X3N5bWxpbmtzPVRydWUpXG5cblwKLVJlbW92ZSBleHRlbmRlZCBhdHRyaWJ1dGUgYXR0cmlidXRlIG9uIHBhdGguXG5cCi1wYXRoIG1heSBiZSBlaXRoZXIgYSBzdHJpbmcgb3IgYW4gb3BlbiBmaWxlIGRlc2NyaXB0b3IuXG5cCi1JZiBmb2xsb3dfc3ltbGlua3MgaXMgRmFsc2UsIGFuZCB0aGUgbGFzdCBlbGVtZW50IG9mIHRoZSBwYXRoIGlzIGEgc3ltYm9saWNcblwKLSAgbGluaywgcmVtb3ZleGF0dHIgd2lsbCBtb2RpZnkgdGhlIHN5bWJvbGljIGxpbmsgaXRzZWxmIGluc3RlYWQgb2YgdGhlIGZpbGVcblwKLSAgdGhlIGxpbmsgcG9pbnRzIHRvLiIpOwotCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfcmVtb3ZleGF0dHIoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQorb3Nfc2V0eGF0dHJfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBwYXRoX3QgKnBhdGgsIHBhdGhfdCAqYXR0cmlidXRlLCBQeV9idWZmZXIgKnZhbHVlLCBpbnQgZmxhZ3MsIGludCBmb2xsb3dfc3ltbGlua3MpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9MmZmODQ1ZDhlMDI0YjIxOCBpbnB1dD1mMGQyNjgzMzk5MjAxNWMyXSovCiB7Ci0gICAgcGF0aF90IHBhdGg7Ci0gICAgcGF0aF90IGF0dHJpYnV0ZTsKLSAgICBpbnQgZm9sbG93X3N5bWxpbmtzID0gMTsKLSAgICBpbnQgcmVzdWx0OwotICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOwotICAgIHN0YXRpYyBjaGFyICprZXl3b3Jkc1tdID0geyJwYXRoIiwgImF0dHJpYnV0ZSIsICJmb2xsb3dfc3ltbGlua3MiLCBOVUxMfTsKKyAgICBzc2l6ZV90IHJlc3VsdDsKIAotICAgIG1lbXNldCgmcGF0aCwgMCwgc2l6ZW9mKHBhdGgpKTsKLSAgICBwYXRoLmZ1bmN0aW9uX25hbWUgPSAicmVtb3ZleGF0dHIiOwotICAgIG1lbXNldCgmYXR0cmlidXRlLCAwLCBzaXplb2YoYXR0cmlidXRlKSk7Ci0gICAgYXR0cmlidXRlLmZ1bmN0aW9uX25hbWUgPSAicmVtb3ZleGF0dHIiOwotICAgIHBhdGguYWxsb3dfZmQgPSAxOwotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywgIk8mTyZ8JHA6cmVtb3ZleGF0dHIiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleXdvcmRzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdGhfY29udmVydGVyLCAmcGF0aCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRoX2NvbnZlcnRlciwgJmF0dHJpYnV0ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZm9sbG93X3N5bWxpbmtzKSkKKyAgICBpZiAoZmRfYW5kX2ZvbGxvd19zeW1saW5rc19pbnZhbGlkKCJzZXR4YXR0ciIsIHBhdGgtPmZkLCBmb2xsb3dfc3ltbGlua3MpKQogICAgICAgICByZXR1cm4gTlVMTDsKIAotICAgIGlmIChmZF9hbmRfZm9sbG93X3N5bWxpbmtzX2ludmFsaWQoInJlbW92ZXhhdHRyIiwgcGF0aC5mZCwgZm9sbG93X3N5bWxpbmtzKSkKLSAgICAgICAgZ290byBleGl0OwotCiAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUzsKLSAgICBpZiAocGF0aC5mZCA+IC0xKQotICAgICAgICByZXN1bHQgPSBmcmVtb3ZleGF0dHIocGF0aC5mZCwgYXR0cmlidXRlLm5hcnJvdyk7CisgICAgaWYgKHBhdGgtPmZkID4gLTEpCisgICAgICAgIHJlc3VsdCA9IGZzZXR4YXR0cihwYXRoLT5mZCwgYXR0cmlidXRlLT5uYXJyb3csCisgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZS0+YnVmLCB2YWx1ZS0+bGVuLCBmbGFncyk7CiAgICAgZWxzZSBpZiAoZm9sbG93X3N5bWxpbmtzKQotICAgICAgICByZXN1bHQgPSByZW1vdmV4YXR0cihwYXRoLm5hcnJvdywgYXR0cmlidXRlLm5hcnJvdyk7CisgICAgICAgIHJlc3VsdCA9IHNldHhhdHRyKHBhdGgtPm5hcnJvdywgYXR0cmlidXRlLT5uYXJyb3csCisgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZS0+YnVmLCB2YWx1ZS0+bGVuLCBmbGFncyk7CiAgICAgZWxzZQotICAgICAgICByZXN1bHQgPSBscmVtb3ZleGF0dHIocGF0aC5uYXJyb3csIGF0dHJpYnV0ZS5uYXJyb3cpOworICAgICAgICByZXN1bHQgPSBsc2V0eGF0dHIocGF0aC0+bmFycm93LCBhdHRyaWJ1dGUtPm5hcnJvdywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlLT5idWYsIHZhbHVlLT5sZW4sIGZsYWdzKTsKICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUzsKIAogICAgIGlmIChyZXN1bHQpIHsKLSAgICAgICAgcmV0dXJuX3ZhbHVlID0gcGF0aF9lcnJvcigmcGF0aCk7Ci0gICAgICAgIGdvdG8gZXhpdDsKKyAgICAgICAgcGF0aF9lcnJvcihwYXRoKTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQogCi0gICAgcmV0dXJuX3ZhbHVlID0gUHlfTm9uZTsKLSAgICBQeV9JTkNSRUYocmV0dXJuX3ZhbHVlKTsKKyAgICBQeV9SRVRVUk5fTk9ORTsKK30KKworCisvKltjbGluaWMgaW5wdXRdCitvcy5yZW1vdmV4YXR0cgorCisgICAgcGF0aDogcGF0aF90KGFsbG93X2ZkPVRydWUpCisgICAgYXR0cmlidXRlOiBwYXRoX3QKKyAgICAqCisgICAgZm9sbG93X3N5bWxpbmtzOiBib29sID0gVHJ1ZQorCitSZW1vdmUgZXh0ZW5kZWQgYXR0cmlidXRlIGF0dHJpYnV0ZSBvbiBwYXRoLgorCitwYXRoIG1heSBiZSBlaXRoZXIgYSBzdHJpbmcgb3IgYW4gb3BlbiBmaWxlIGRlc2NyaXB0b3IuCitJZiBmb2xsb3dfc3ltbGlua3MgaXMgRmFsc2UsIGFuZCB0aGUgbGFzdCBlbGVtZW50IG9mIHRoZSBwYXRoIGlzIGEgc3ltYm9saWMKKyAgbGluaywgcmVtb3ZleGF0dHIgd2lsbCBtb2RpZnkgdGhlIHN5bWJvbGljIGxpbmsgaXRzZWxmIGluc3RlYWQgb2YgdGhlIGZpbGUKKyAgdGhlIGxpbmsgcG9pbnRzIHRvLgorCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19yZW1vdmV4YXR0cl9fZG9jX18sCisicmVtb3ZleGF0dHIoJG1vZHVsZSwgLywgcGF0aCwgYXR0cmlidXRlLCAqLCBmb2xsb3dfc3ltbGlua3M9VHJ1ZSlcbiIKKyItLVxuIgorIlxuIgorIlJlbW92ZSBleHRlbmRlZCBhdHRyaWJ1dGUgYXR0cmlidXRlIG9uIHBhdGguXG4iCisiXG4iCisicGF0aCBtYXkgYmUgZWl0aGVyIGEgc3RyaW5nIG9yIGFuIG9wZW4gZmlsZSBkZXNjcmlwdG9yLlxuIgorIklmIGZvbGxvd19zeW1saW5rcyBpcyBGYWxzZSwgYW5kIHRoZSBsYXN0IGVsZW1lbnQgb2YgdGhlIHBhdGggaXMgYSBzeW1ib2xpY1xuIgorIiAgbGluaywgcmVtb3ZleGF0dHIgd2lsbCBtb2RpZnkgdGhlIHN5bWJvbGljIGxpbmsgaXRzZWxmIGluc3RlYWQgb2YgdGhlIGZpbGVcbiIKKyIgIHRoZSBsaW5rIHBvaW50cyB0by4iKTsKKworI2RlZmluZSBPU19SRU1PVkVYQVRUUl9NRVRIT0RERUYgICAgXAorICAgIHsicmVtb3ZleGF0dHIiLCAoUHlDRnVuY3Rpb24pb3NfcmVtb3ZleGF0dHIsIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBvc19yZW1vdmV4YXR0cl9fZG9jX199LAorCitzdGF0aWMgUHlPYmplY3QgKgorb3NfcmVtb3ZleGF0dHJfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBwYXRoX3QgKnBhdGgsIHBhdGhfdCAqYXR0cmlidXRlLCBpbnQgZm9sbG93X3N5bWxpbmtzKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3JlbW92ZXhhdHRyKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQoreworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIHN0YXRpYyBjaGFyICpfa2V5d29yZHNbXSA9IHsicGF0aCIsICJhdHRyaWJ1dGUiLCAiZm9sbG93X3N5bWxpbmtzIiwgTlVMTH07CisgICAgcGF0aF90IHBhdGggPSBQQVRIX1RfSU5JVElBTElaRSgicmVtb3ZleGF0dHIiLCAicGF0aCIsIDAsIDEpOworICAgIHBhdGhfdCBhdHRyaWJ1dGUgPSBQQVRIX1RfSU5JVElBTElaRSgicmVtb3ZleGF0dHIiLCAiYXR0cmlidXRlIiwgMCwgMCk7CisgICAgaW50IGZvbGxvd19zeW1saW5rcyA9IDE7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsCisgICAgICAgICJPJk8mfCRwOnJlbW92ZXhhdHRyIiwgX2tleXdvcmRzLAorICAgICAgICBwYXRoX2NvbnZlcnRlciwgJnBhdGgsIHBhdGhfY29udmVydGVyLCAmYXR0cmlidXRlLCAmZm9sbG93X3N5bWxpbmtzKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IG9zX3JlbW92ZXhhdHRyX2ltcGwobW9kdWxlLCAmcGF0aCwgJmF0dHJpYnV0ZSwgZm9sbG93X3N5bWxpbmtzKTsKIAogZXhpdDoKKyAgICAvKiBDbGVhbnVwIGZvciBwYXRoICovCiAgICAgcGF0aF9jbGVhbnVwKCZwYXRoKTsKKyAgICAvKiBDbGVhbnVwIGZvciBhdHRyaWJ1dGUgKi8KICAgICBwYXRoX2NsZWFudXAoJmF0dHJpYnV0ZSk7CiAKICAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOwogfQogCi1QeURvY19TVFJWQVIocG9zaXhfbGlzdHhhdHRyX19kb2NfXywKLSJsaXN0eGF0dHIocGF0aD0nLicsICosIGZvbGxvd19zeW1saW5rcz1UcnVlKVxuXG5cCi1SZXR1cm4gYSBsaXN0IG9mIGV4dGVuZGVkIGF0dHJpYnV0ZXMgb24gcGF0aC5cblwKLVxuXAotcGF0aCBtYXkgYmUgZWl0aGVyIE5vbmUsIGEgc3RyaW5nLCBvciBhbiBvcGVuIGZpbGUgZGVzY3JpcHRvci5cblwKLWlmIHBhdGggaXMgTm9uZSwgbGlzdHhhdHRyIHdpbGwgZXhhbWluZSB0aGUgY3VycmVudCBkaXJlY3RvcnkuXG5cCi1JZiBmb2xsb3dfc3ltbGlua3MgaXMgRmFsc2UsIGFuZCB0aGUgbGFzdCBlbGVtZW50IG9mIHRoZSBwYXRoIGlzIGEgc3ltYm9saWNcblwKLSAgbGluaywgbGlzdHhhdHRyIHdpbGwgZXhhbWluZSB0aGUgc3ltYm9saWMgbGluayBpdHNlbGYgaW5zdGVhZCBvZiB0aGUgZmlsZVxuXAotICB0aGUgbGluayBwb2ludHMgdG8uIik7CitzdGF0aWMgUHlPYmplY3QgKgorb3NfcmVtb3ZleGF0dHJfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBwYXRoX3QgKnBhdGgsIHBhdGhfdCAqYXR0cmlidXRlLCBpbnQgZm9sbG93X3N5bWxpbmtzKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PThkZmM3MTViZjYwN2M0Y2YgaW5wdXQ9Y2RiNTQ4MzQxNjFlMzMyOV0qLworeworICAgIHNzaXplX3QgcmVzdWx0OworCisgICAgaWYgKGZkX2FuZF9mb2xsb3dfc3ltbGlua3NfaW52YWxpZCgicmVtb3ZleGF0dHIiLCBwYXRoLT5mZCwgZm9sbG93X3N5bWxpbmtzKSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisKKyAgICBQeV9CRUdJTl9BTExPV19USFJFQURTOworICAgIGlmIChwYXRoLT5mZCA+IC0xKQorICAgICAgICByZXN1bHQgPSBmcmVtb3ZleGF0dHIocGF0aC0+ZmQsIGF0dHJpYnV0ZS0+bmFycm93KTsKKyAgICBlbHNlIGlmIChmb2xsb3dfc3ltbGlua3MpCisgICAgICAgIHJlc3VsdCA9IHJlbW92ZXhhdHRyKHBhdGgtPm5hcnJvdywgYXR0cmlidXRlLT5uYXJyb3cpOworICAgIGVsc2UKKyAgICAgICAgcmVzdWx0ID0gbHJlbW92ZXhhdHRyKHBhdGgtPm5hcnJvdywgYXR0cmlidXRlLT5uYXJyb3cpOworICAgIFB5X0VORF9BTExPV19USFJFQURTOworCisgICAgaWYgKHJlc3VsdCkgeworICAgICAgICByZXR1cm4gcGF0aF9lcnJvcihwYXRoKTsKKyAgICB9CisKKyAgICBQeV9SRVRVUk5fTk9ORTsKK30KKworCisvKltjbGluaWMgaW5wdXRdCitvcy5saXN0eGF0dHIKKworICAgIHBhdGg6IHBhdGhfdChhbGxvd19mZD1UcnVlLCBudWxsYWJsZT1UcnVlKSA9IE5vbmUKKyAgICAqCisgICAgZm9sbG93X3N5bWxpbmtzOiBib29sID0gVHJ1ZQorCitSZXR1cm4gYSBsaXN0IG9mIGV4dGVuZGVkIGF0dHJpYnV0ZXMgb24gcGF0aC4KKworcGF0aCBtYXkgYmUgZWl0aGVyIE5vbmUsIGEgc3RyaW5nLCBvciBhbiBvcGVuIGZpbGUgZGVzY3JpcHRvci4KK2lmIHBhdGggaXMgTm9uZSwgbGlzdHhhdHRyIHdpbGwgZXhhbWluZSB0aGUgY3VycmVudCBkaXJlY3RvcnkuCitJZiBmb2xsb3dfc3ltbGlua3MgaXMgRmFsc2UsIGFuZCB0aGUgbGFzdCBlbGVtZW50IG9mIHRoZSBwYXRoIGlzIGEgc3ltYm9saWMKKyAgbGluaywgbGlzdHhhdHRyIHdpbGwgZXhhbWluZSB0aGUgc3ltYm9saWMgbGluayBpdHNlbGYgaW5zdGVhZCBvZiB0aGUgZmlsZQorICB0aGUgbGluayBwb2ludHMgdG8uCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19saXN0eGF0dHJfX2RvY19fLAorImxpc3R4YXR0cigkbW9kdWxlLCAvLCBwYXRoPU5vbmUsICosIGZvbGxvd19zeW1saW5rcz1UcnVlKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIGEgbGlzdCBvZiBleHRlbmRlZCBhdHRyaWJ1dGVzIG9uIHBhdGguXG4iCisiXG4iCisicGF0aCBtYXkgYmUgZWl0aGVyIE5vbmUsIGEgc3RyaW5nLCBvciBhbiBvcGVuIGZpbGUgZGVzY3JpcHRvci5cbiIKKyJpZiBwYXRoIGlzIE5vbmUsIGxpc3R4YXR0ciB3aWxsIGV4YW1pbmUgdGhlIGN1cnJlbnQgZGlyZWN0b3J5LlxuIgorIklmIGZvbGxvd19zeW1saW5rcyBpcyBGYWxzZSwgYW5kIHRoZSBsYXN0IGVsZW1lbnQgb2YgdGhlIHBhdGggaXMgYSBzeW1ib2xpY1xuIgorIiAgbGluaywgbGlzdHhhdHRyIHdpbGwgZXhhbWluZSB0aGUgc3ltYm9saWMgbGluayBpdHNlbGYgaW5zdGVhZCBvZiB0aGUgZmlsZVxuIgorIiAgdGhlIGxpbmsgcG9pbnRzIHRvLiIpOworCisjZGVmaW5lIE9TX0xJU1RYQVRUUl9NRVRIT0RERUYgICAgXAorICAgIHsibGlzdHhhdHRyIiwgKFB5Q0Z1bmN0aW9uKW9zX2xpc3R4YXR0ciwgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIG9zX2xpc3R4YXR0cl9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfbGlzdHhhdHRyKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKK29zX2xpc3R4YXR0cl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIHBhdGhfdCAqcGF0aCwgaW50IGZvbGxvd19zeW1saW5rcyk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19saXN0eGF0dHIoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCiB7Ci0gICAgcGF0aF90IHBhdGg7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgc3RhdGljIGNoYXIgKl9rZXl3b3Jkc1tdID0geyJwYXRoIiwgImZvbGxvd19zeW1saW5rcyIsIE5VTEx9OworICAgIHBhdGhfdCBwYXRoID0gUEFUSF9UX0lOSVRJQUxJWkUoImxpc3R4YXR0ciIsICJwYXRoIiwgMSwgMSk7CiAgICAgaW50IGZvbGxvd19zeW1saW5rcyA9IDE7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsCisgICAgICAgICJ8TyYkcDpsaXN0eGF0dHIiLCBfa2V5d29yZHMsCisgICAgICAgIHBhdGhfY29udmVydGVyLCAmcGF0aCwgJmZvbGxvd19zeW1saW5rcykpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBvc19saXN0eGF0dHJfaW1wbChtb2R1bGUsICZwYXRoLCBmb2xsb3dfc3ltbGlua3MpOworCitleGl0OgorICAgIC8qIENsZWFudXAgZm9yIHBhdGggKi8KKyAgICBwYXRoX2NsZWFudXAoJnBhdGgpOworCisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX2xpc3R4YXR0cl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIHBhdGhfdCAqcGF0aCwgaW50IGZvbGxvd19zeW1saW5rcykKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD0zMTA0Y2FmZGExYTNkODg3IGlucHV0PTA4Y2NhNTNhYzBiMDdjMTNdKi8KK3sKICAgICBQeV9zc2l6ZV90IGk7CiAgICAgUHlPYmplY3QgKnJlc3VsdCA9IE5VTEw7CisgICAgY29uc3QgY2hhciAqbmFtZTsKICAgICBjaGFyICpidWZmZXIgPSBOVUxMOwotICAgIGNoYXIgKm5hbWU7Ci0gICAgc3RhdGljIGNoYXIgKmtleXdvcmRzW10gPSB7InBhdGgiLCAiZm9sbG93X3N5bWxpbmtzIiwgTlVMTH07CiAKLSAgICBtZW1zZXQoJnBhdGgsIDAsIHNpemVvZihwYXRoKSk7Ci0gICAgcGF0aC5mdW5jdGlvbl9uYW1lID0gImxpc3R4YXR0ciI7Ci0gICAgcGF0aC5hbGxvd19mZCA9IDE7Ci0gICAgcGF0aC5mZCA9IC0xOwotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywgInxPJiRwOmxpc3R4YXR0ciIsIGtleXdvcmRzLAotICAgICAgICBwYXRoX2NvbnZlcnRlciwgJnBhdGgsCi0gICAgICAgICZmb2xsb3dfc3ltbGlua3MpKQotICAgICAgICByZXR1cm4gTlVMTDsKLQotICAgIGlmIChmZF9hbmRfZm9sbG93X3N5bWxpbmtzX2ludmFsaWQoImxpc3R4YXR0ciIsIHBhdGguZmQsIGZvbGxvd19zeW1saW5rcykpCisgICAgaWYgKGZkX2FuZF9mb2xsb3dfc3ltbGlua3NfaW52YWxpZCgibGlzdHhhdHRyIiwgcGF0aC0+ZmQsIGZvbGxvd19zeW1saW5rcykpCiAgICAgICAgIGdvdG8gZXhpdDsKIAotICAgIG5hbWUgPSBwYXRoLm5hcnJvdyA/IHBhdGgubmFycm93IDogIi4iOworICAgIG5hbWUgPSBwYXRoLT5uYXJyb3cgPyBwYXRoLT5uYXJyb3cgOiAiLiI7CisKICAgICBmb3IgKGkgPSAwOyA7IGkrKykgewogICAgICAgICBjaGFyICpzdGFydCwgKnRyYWNlLCAqZW5kOwogICAgICAgICBzc2l6ZV90IGxlbmd0aDsKQEAgLTEwODQ0LDcgKzE1NzgwLDcgQEAKICAgICAgICAgUHlfc3NpemVfdCBidWZmZXJfc2l6ZSA9IGJ1ZmZlcl9zaXplc1tpXTsKICAgICAgICAgaWYgKCFidWZmZXJfc2l6ZSkgewogICAgICAgICAgICAgLyogRVJBTkdFICovCi0gICAgICAgICAgICBwYXRoX2Vycm9yKCZwYXRoKTsKKyAgICAgICAgICAgIHBhdGhfZXJyb3IocGF0aCk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogICAgICAgICBidWZmZXIgPSBQeU1lbV9NQUxMT0MoYnVmZmVyX3NpemUpOwpAQCAtMTA4NTQsOCArMTU3OTAsOCBAQAogICAgICAgICB9CiAKICAgICAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUzsKLSAgICAgICAgaWYgKHBhdGguZmQgPiAtMSkKLSAgICAgICAgICAgIGxlbmd0aCA9IGZsaXN0eGF0dHIocGF0aC5mZCwgYnVmZmVyLCBidWZmZXJfc2l6ZSk7CisgICAgICAgIGlmIChwYXRoLT5mZCA+IC0xKQorICAgICAgICAgICAgbGVuZ3RoID0gZmxpc3R4YXR0cihwYXRoLT5mZCwgYnVmZmVyLCBidWZmZXJfc2l6ZSk7CiAgICAgICAgIGVsc2UgaWYgKGZvbGxvd19zeW1saW5rcykKICAgICAgICAgICAgIGxlbmd0aCA9IGxpc3R4YXR0cihuYW1lLCBidWZmZXIsIGJ1ZmZlcl9zaXplKTsKICAgICAgICAgZWxzZQpAQCAtMTA4NjgsNyArMTU4MDQsNyBAQAogICAgICAgICAgICAgICAgIGJ1ZmZlciA9IE5VTEw7CiAgICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBwYXRoX2Vycm9yKCZwYXRoKTsKKyAgICAgICAgICAgIHBhdGhfZXJyb3IocGF0aCk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogCkBAIC0xMDkwMSw0MyArMTU4MzcsNzEgQEAKICAgICBicmVhazsKICAgICB9CiBleGl0OgotICAgIHBhdGhfY2xlYW51cCgmcGF0aCk7CiAgICAgaWYgKGJ1ZmZlcikKICAgICAgICAgUHlNZW1fRlJFRShidWZmZXIpOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci0KICNlbmRpZiAvKiBVU0VfWEFUVFJTICovCiAKIAotUHlEb2NfU1RSVkFSKHBvc2l4X3VyYW5kb21fX2RvY19fLAotInVyYW5kb20obikgLT4gc3RyXG5cblwKLVJldHVybiBuIHJhbmRvbSBieXRlcyBzdWl0YWJsZSBmb3IgY3J5cHRvZ3JhcGhpYyB1c2UuIik7CisvKltjbGluaWMgaW5wdXRdCitvcy51cmFuZG9tCisKKyAgICBzaXplOiBQeV9zc2l6ZV90CisgICAgLworCitSZXR1cm4gYSBieXRlcyBvYmplY3QgY29udGFpbmluZyByYW5kb20gYnl0ZXMgc3VpdGFibGUgZm9yIGNyeXB0b2dyYXBoaWMgdXNlLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3NfdXJhbmRvbV9fZG9jX18sCisidXJhbmRvbSgkbW9kdWxlLCBzaXplLCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIGEgYnl0ZXMgb2JqZWN0IGNvbnRhaW5pbmcgcmFuZG9tIGJ5dGVzIHN1aXRhYmxlIGZvciBjcnlwdG9ncmFwaGljIHVzZS4iKTsKKworI2RlZmluZSBPU19VUkFORE9NX01FVEhPRERFRiAgICBcCisgICAgeyJ1cmFuZG9tIiwgKFB5Q0Z1bmN0aW9uKW9zX3VyYW5kb20sIE1FVEhfVkFSQVJHUywgb3NfdXJhbmRvbV9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfdXJhbmRvbShQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCi17Ci0gICAgUHlfc3NpemVfdCBzaXplOwotICAgIFB5T2JqZWN0ICpyZXN1bHQ7Ci0gICAgaW50IHJldDsKK29zX3VyYW5kb21faW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeV9zc2l6ZV90IHNpemUpOwogCi0gICAgIC8qIFJlYWQgYXJndW1lbnRzICovCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJuOnVyYW5kb20iLCAmc2l6ZSkpCi0gICAgICAgIHJldHVybiBOVUxMOworc3RhdGljIFB5T2JqZWN0ICoKK29zX3VyYW5kb20oUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgUHlfc3NpemVfdCBzaXplOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICJuOnVyYW5kb20iLAorICAgICAgICAmc2l6ZSkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBvc191cmFuZG9tX2ltcGwobW9kdWxlLCBzaXplKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3NfdXJhbmRvbV9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5X3NzaXplX3Qgc2l6ZSkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD01ZGJmZjU4MmNhYjk0Y2I5IGlucHV0PTQwNjdjZGIxYjY3NzZjMjldKi8KK3sKKyAgICBQeU9iamVjdCAqYnl0ZXM7CisgICAgaW50IHJlc3VsdDsKKwogICAgIGlmIChzaXplIDwgMCkKICAgICAgICAgcmV0dXJuIFB5RXJyX0Zvcm1hdChQeUV4Y19WYWx1ZUVycm9yLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuZWdhdGl2ZSBhcmd1bWVudCBub3QgYWxsb3dlZCIpOwotICAgIHJlc3VsdCA9IFB5Qnl0ZXNfRnJvbVN0cmluZ0FuZFNpemUoTlVMTCwgc2l6ZSk7Ci0gICAgaWYgKHJlc3VsdCA9PSBOVUxMKQorICAgIGJ5dGVzID0gUHlCeXRlc19Gcm9tU3RyaW5nQW5kU2l6ZShOVUxMLCBzaXplKTsKKyAgICBpZiAoYnl0ZXMgPT0gTlVMTCkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAKLSAgICByZXQgPSBfUHlPU19VUmFuZG9tKFB5Qnl0ZXNfQVNfU1RSSU5HKHJlc3VsdCksCi0gICAgICAgICAgICAgICAgICAgICAgICBQeUJ5dGVzX0dFVF9TSVpFKHJlc3VsdCkpOwotICAgIGlmIChyZXQgPT0gLTEpIHsKLSAgICAgICAgUHlfREVDUkVGKHJlc3VsdCk7CisgICAgcmVzdWx0ID0gX1B5T1NfVVJhbmRvbShQeUJ5dGVzX0FTX1NUUklORyhieXRlcyksCisgICAgICAgICAgICAgICAgICAgICAgICBQeUJ5dGVzX0dFVF9TSVpFKGJ5dGVzKSk7CisgICAgaWYgKHJlc3VsdCA9PSAtMSkgeworICAgICAgICBQeV9ERUNSRUYoYnl0ZXMpOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9Ci0gICAgcmV0dXJuIHJlc3VsdDsKKyAgICByZXR1cm4gYnl0ZXM7CiB9CiAKIC8qIFRlcm1pbmFsIHNpemUgcXVlcnlpbmcgKi8KQEAgLTEwOTYxLDYgKzE1OTI1LDcgQEAKIH07CiAKICNpZiBkZWZpbmVkKFRFUk1TSVpFX1VTRV9DT05JTykgfHwgZGVmaW5lZChURVJNU0laRV9VU0VfSU9DVEwpCisvKiBBQyAzLjU6IGZkIHNob3VsZCBhY2NlcHQgTm9uZSAqLwogUHlEb2NfU1RSVkFSKHRlcm1zaXplX19kb2NfXywKICAgICAiUmV0dXJuIHRoZSBzaXplIG9mIHRoZSB0ZXJtaW5hbCB3aW5kb3cgYXMgKGNvbHVtbnMsIGxpbmVzKS5cbiIgICAgICAgIFwKICAgICAiXG4iICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKQEAgLTExMDQ2LDEzICsxNjAxMSwzNCBAQAogfQogI2VuZGlmIC8qIGRlZmluZWQoVEVSTVNJWkVfVVNFX0NPTklPKSB8fCBkZWZpbmVkKFRFUk1TSVpFX1VTRV9JT0NUTCkgKi8KIAotUHlEb2NfU1RSVkFSKHBvc2l4X2NwdV9jb3VudF9fZG9jX18sCi0iY3B1X2NvdW50KCkgLT4gaW50ZWdlclxuXG5cCi1SZXR1cm4gdGhlIG51bWJlciBvZiBDUFVzIGluIHRoZSBzeXN0ZW0sIG9yIE5vbmUgaWYgdGhpcyB2YWx1ZSBjYW5ub3QgYmVcblwKLWVzdGFibGlzaGVkLiIpOworCisvKltjbGluaWMgaW5wdXRdCitvcy5jcHVfY291bnQKKworUmV0dXJuIHRoZSBudW1iZXIgb2YgQ1BVcyBpbiB0aGUgc3lzdGVtOyByZXR1cm4gTm9uZSBpZiBpbmRldGVybWluYWJsZS4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX2NwdV9jb3VudF9fZG9jX18sCisiY3B1X2NvdW50KCRtb2R1bGUsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gdGhlIG51bWJlciBvZiBDUFVzIGluIHRoZSBzeXN0ZW07IHJldHVybiBOb25lIGlmIGluZGV0ZXJtaW5hYmxlLiIpOworCisjZGVmaW5lIE9TX0NQVV9DT1VOVF9NRVRIT0RERUYgICAgXAorICAgIHsiY3B1X2NvdW50IiwgKFB5Q0Z1bmN0aW9uKW9zX2NwdV9jb3VudCwgTUVUSF9OT0FSR1MsIG9zX2NwdV9jb3VudF9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfY3B1X2NvdW50KFB5T2JqZWN0ICpzZWxmKQorb3NfY3B1X2NvdW50X2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19jcHVfY291bnQoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKlB5X1VOVVNFRChpZ25vcmVkKSkKK3sKKyAgICByZXR1cm4gb3NfY3B1X2NvdW50X2ltcGwobW9kdWxlKTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX2NwdV9jb3VudF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9OTJlMmE0YTcyOWViNzc0MCBpbnB1dD1kNTVlMmY4ZjM4MjNhNjI4XSovCiB7CiAgICAgaW50IG5jcHUgPSAwOwogI2lmZGVmIE1TX1dJTkRPV1MKQEAgLTExMDgxLDQyICsxNjA2NywxMDMgQEAKICAgICAgICAgUHlfUkVUVVJOX05PTkU7CiB9CiAKLVB5RG9jX1NUUlZBUihnZXRfaW5oZXJpdGFibGVfX2RvY19fLAotICAgICJnZXRfaW5oZXJpdGFibGUoZmQpIC0+IGJvb2xcbiIgXAotICAgICJcbiIgXAotICAgICJHZXQgdGhlIGNsb3NlLW9uLWV4ZSBmbGFnIG9mIHRoZSBzcGVjaWZpZWQgZmlsZSBkZXNjcmlwdG9yLiIpOwogCi1zdGF0aWMgUHlPYmplY3QqCi1wb3NpeF9nZXRfaW5oZXJpdGFibGUoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorLypbY2xpbmljIGlucHV0XQorb3MuZ2V0X2luaGVyaXRhYmxlIC0+IGJvb2wKKworICAgIGZkOiBpbnQKKyAgICAvCisKK0dldCB0aGUgY2xvc2Utb24tZXhlIGZsYWcgb2YgdGhlIHNwZWNpZmllZCBmaWxlIGRlc2NyaXB0b3IuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19nZXRfaW5oZXJpdGFibGVfX2RvY19fLAorImdldF9pbmhlcml0YWJsZSgkbW9kdWxlLCBmZCwgLylcbiIKKyItLVxuIgorIlxuIgorIkdldCB0aGUgY2xvc2Utb24tZXhlIGZsYWcgb2YgdGhlIHNwZWNpZmllZCBmaWxlIGRlc2NyaXB0b3IuIik7CisKKyNkZWZpbmUgT1NfR0VUX0lOSEVSSVRBQkxFX01FVEhPRERFRiAgICBcCisgICAgeyJnZXRfaW5oZXJpdGFibGUiLCAoUHlDRnVuY3Rpb24pb3NfZ2V0X2luaGVyaXRhYmxlLCBNRVRIX1ZBUkFSR1MsIG9zX2dldF9pbmhlcml0YWJsZV9fZG9jX199LAorCitzdGF0aWMgaW50Citvc19nZXRfaW5oZXJpdGFibGVfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgZmQpOworCitzdGF0aWMgUHlPYmplY3QgKgorb3NfZ2V0X2luaGVyaXRhYmxlKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQogeworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIGludCBmZDsKKyAgICBpbnQgX3JldHVybl92YWx1ZTsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAiaTpnZXRfaW5oZXJpdGFibGUiLAorICAgICAgICAmZmQpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgX3JldHVybl92YWx1ZSA9IG9zX2dldF9pbmhlcml0YWJsZV9pbXBsKG1vZHVsZSwgZmQpOworICAgIGlmICgoX3JldHVybl92YWx1ZSA9PSAtMSkgJiYgUHlFcnJfT2NjdXJyZWQoKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IFB5Qm9vbF9Gcm9tTG9uZygobG9uZylfcmV0dXJuX3ZhbHVlKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgaW50Citvc19nZXRfaW5oZXJpdGFibGVfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgZmQpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9MjYxZDFkZDJiMGRiZGMzNSBpbnB1dD04OWFjMDA4ZGM5YWI2Yjk1XSovCit7CisgICAgaWYgKCFfUHlWZXJpZnlfZmQoZmQpKXsKKyAgICAgICAgcG9zaXhfZXJyb3IoKTsKKyAgICAgICAgcmV0dXJuIC0xOworICAgIH0KKworICAgIHJldHVybiBfUHlfZ2V0X2luaGVyaXRhYmxlKGZkKTsKK30KKworCisvKltjbGluaWMgaW5wdXRdCitvcy5zZXRfaW5oZXJpdGFibGUKKyAgICBmZDogaW50CisgICAgaW5oZXJpdGFibGU6IGludAorICAgIC8KKworU2V0IHRoZSBpbmhlcml0YWJsZSBmbGFnIG9mIHRoZSBzcGVjaWZpZWQgZmlsZSBkZXNjcmlwdG9yLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3Nfc2V0X2luaGVyaXRhYmxlX19kb2NfXywKKyJzZXRfaW5oZXJpdGFibGUoJG1vZHVsZSwgZmQsIGluaGVyaXRhYmxlLCAvKVxuIgorIi0tXG4iCisiXG4iCisiU2V0IHRoZSBpbmhlcml0YWJsZSBmbGFnIG9mIHRoZSBzcGVjaWZpZWQgZmlsZSBkZXNjcmlwdG9yLiIpOworCisjZGVmaW5lIE9TX1NFVF9JTkhFUklUQUJMRV9NRVRIT0RERUYgICAgXAorICAgIHsic2V0X2luaGVyaXRhYmxlIiwgKFB5Q0Z1bmN0aW9uKW9zX3NldF9pbmhlcml0YWJsZSwgTUVUSF9WQVJBUkdTLCBvc19zZXRfaW5oZXJpdGFibGVfX2RvY19ffSwKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3NldF9pbmhlcml0YWJsZV9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCBmZCwgaW50IGluaGVyaXRhYmxlKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3NldF9pbmhlcml0YWJsZShQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKICAgICBpbnQgZmQ7CiAgICAgaW50IGluaGVyaXRhYmxlOwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJpOmdldF9pbmhlcml0YWJsZSIsICZmZCkpCi0gICAgICAgIHJldHVybiBOVUxMOworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAiaWk6c2V0X2luaGVyaXRhYmxlIiwKKyAgICAgICAgJmZkLCAmaW5oZXJpdGFibGUpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gb3Nfc2V0X2luaGVyaXRhYmxlX2ltcGwobW9kdWxlLCBmZCwgaW5oZXJpdGFibGUpOwogCi0gICAgaWYgKCFfUHlWZXJpZnlfZmQoZmQpKQotICAgICAgICByZXR1cm4gcG9zaXhfZXJyb3IoKTsKLQotICAgIGluaGVyaXRhYmxlID0gX1B5X2dldF9pbmhlcml0YWJsZShmZCk7Ci0gICAgaWYgKGluaGVyaXRhYmxlIDwgMCkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgcmV0dXJuIFB5Qm9vbF9Gcm9tTG9uZyhpbmhlcml0YWJsZSk7CitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7CiB9CiAKLVB5RG9jX1NUUlZBUihzZXRfaW5oZXJpdGFibGVfX2RvY19fLAotICAgICJzZXRfaW5oZXJpdGFibGUoZmQsIGluaGVyaXRhYmxlKVxuIiBcCi0gICAgIlxuIiBcCi0gICAgIlNldCB0aGUgaW5oZXJpdGFibGUgZmxhZyBvZiB0aGUgc3BlY2lmaWVkIGZpbGUgZGVzY3JpcHRvci4iKTsKLQotc3RhdGljIFB5T2JqZWN0KgotcG9zaXhfc2V0X2luaGVyaXRhYmxlKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK3N0YXRpYyBQeU9iamVjdCAqCitvc19zZXRfaW5oZXJpdGFibGVfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgZmQsIGludCBpbmhlcml0YWJsZSkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD02NGRmZTVlMTVjOTA2NTM5IGlucHV0PTljZWFlYWQ4N2ExZTI0MDJdKi8KIHsKLSAgICBpbnQgZmQsIGluaGVyaXRhYmxlOwotCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJpaTpzZXRfaW5oZXJpdGFibGUiLCAmZmQsICZpbmhlcml0YWJsZSkpCi0gICAgICAgIHJldHVybiBOVUxMOwotCiAgICAgaWYgKCFfUHlWZXJpZnlfZmQoZmQpKQogICAgICAgICByZXR1cm4gcG9zaXhfZXJyb3IoKTsKIApAQCAtMTExMjcsNTUgKzE2MTc0LDE2MCBAQAogCiAKICNpZmRlZiBNU19XSU5ET1dTCi1QeURvY19TVFJWQVIoZ2V0X2hhbmRsZV9pbmhlcml0YWJsZV9fZG9jX18sCi0gICAgImdldF9oYW5kbGVfaW5oZXJpdGFibGUoZmQpIC0+IGJvb2xcbiIgXAotICAgICJcbiIgXAotICAgICJHZXQgdGhlIGNsb3NlLW9uLWV4ZSBmbGFnIG9mIHRoZSBzcGVjaWZpZWQgZmlsZSBkZXNjcmlwdG9yLiIpOworLypbY2xpbmljIGlucHV0XQorb3MuZ2V0X2hhbmRsZV9pbmhlcml0YWJsZSAtPiBib29sCisgICAgaGFuZGxlOiBQeV9pbnRwdHJfdAorICAgIC8KIAotc3RhdGljIFB5T2JqZWN0KgotcG9zaXhfZ2V0X2hhbmRsZV9pbmhlcml0YWJsZShQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitHZXQgdGhlIGNsb3NlLW9uLWV4ZSBmbGFnIG9mIHRoZSBzcGVjaWZpZWQgZmlsZSBkZXNjcmlwdG9yLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3NfZ2V0X2hhbmRsZV9pbmhlcml0YWJsZV9fZG9jX18sCisiZ2V0X2hhbmRsZV9pbmhlcml0YWJsZSgkbW9kdWxlLCBoYW5kbGUsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJHZXQgdGhlIGNsb3NlLW9uLWV4ZSBmbGFnIG9mIHRoZSBzcGVjaWZpZWQgZmlsZSBkZXNjcmlwdG9yLiIpOworCisjZGVmaW5lIE9TX0dFVF9IQU5ETEVfSU5IRVJJVEFCTEVfTUVUSE9EREVGICAgIFwKKyAgICB7ImdldF9oYW5kbGVfaW5oZXJpdGFibGUiLCAoUHlDRnVuY3Rpb24pb3NfZ2V0X2hhbmRsZV9pbmhlcml0YWJsZSwgTUVUSF9WQVJBUkdTLCBvc19nZXRfaGFuZGxlX2luaGVyaXRhYmxlX19kb2NfX30sCisKK3N0YXRpYyBpbnQKK29zX2dldF9oYW5kbGVfaW5oZXJpdGFibGVfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeV9pbnRwdHJfdCBoYW5kbGUpOworCitzdGF0aWMgUHlPYmplY3QgKgorb3NfZ2V0X2hhbmRsZV9pbmhlcml0YWJsZShQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKIHsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKICAgICBQeV9pbnRwdHJfdCBoYW5kbGU7Ci0gICAgRFdPUkQgZmxhZ3M7CisgICAgaW50IF9yZXR1cm5fdmFsdWU7CiAKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgX1B5X1BBUlNFX0lOVFBUUiAiOmdldF9oYW5kbGVfaW5oZXJpdGFibGUiLCAmaGFuZGxlKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICIiIF9QeV9QQVJTRV9JTlRQVFIgIjpnZXRfaGFuZGxlX2luaGVyaXRhYmxlIiwKKyAgICAgICAgJmhhbmRsZSkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICBfcmV0dXJuX3ZhbHVlID0gb3NfZ2V0X2hhbmRsZV9pbmhlcml0YWJsZV9pbXBsKG1vZHVsZSwgaGFuZGxlKTsKKyAgICBpZiAoKF9yZXR1cm5fdmFsdWUgPT0gLTEpICYmIFB5RXJyX09jY3VycmVkKCkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBQeUJvb2xfRnJvbUxvbmcoKGxvbmcpX3JldHVybl92YWx1ZSk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIGludAorb3NfZ2V0X2hhbmRsZV9pbmhlcml0YWJsZV9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5X2ludHB0cl90IGhhbmRsZSkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1kNWJmOWQ4NjkwMGJmNDU3IGlucHV0PTVmNzc1OTQ0M2FhZTNkYzVdKi8KK3sKKyAgICBEV09SRCBmbGFnczsKIAogICAgIGlmICghR2V0SGFuZGxlSW5mb3JtYXRpb24oKEhBTkRMRSloYW5kbGUsICZmbGFncykpIHsKICAgICAgICAgUHlFcnJfU2V0RnJvbVdpbmRvd3NFcnIoMCk7Ci0gICAgICAgIHJldHVybiBOVUxMOworICAgICAgICByZXR1cm4gLTE7CiAgICAgfQogCi0gICAgcmV0dXJuIFB5Qm9vbF9Gcm9tTG9uZyhmbGFncyAmIEhBTkRMRV9GTEFHX0lOSEVSSVQpOworICAgIHJldHVybiBmbGFncyAmIEhBTkRMRV9GTEFHX0lOSEVSSVQ7CiB9CiAKLVB5RG9jX1NUUlZBUihzZXRfaGFuZGxlX2luaGVyaXRhYmxlX19kb2NfXywKLSAgICAic2V0X2hhbmRsZV9pbmhlcml0YWJsZShmZCwgaW5oZXJpdGFibGUpXG4iIFwKLSAgICAiXG4iIFwKLSAgICAiU2V0IHRoZSBpbmhlcml0YWJsZSBmbGFnIG9mIHRoZSBzcGVjaWZpZWQgaGFuZGxlLiIpOwogCi1zdGF0aWMgUHlPYmplY3QqCi1wb3NpeF9zZXRfaGFuZGxlX2luaGVyaXRhYmxlKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKKy8qW2NsaW5pYyBpbnB1dF0KK29zLnNldF9oYW5kbGVfaW5oZXJpdGFibGUKKyAgICBoYW5kbGU6IFB5X2ludHB0cl90CisgICAgaW5oZXJpdGFibGU6IGJvb2wKKyAgICAvCisKK1NldCB0aGUgaW5oZXJpdGFibGUgZmxhZyBvZiB0aGUgc3BlY2lmaWVkIGhhbmRsZS4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX3NldF9oYW5kbGVfaW5oZXJpdGFibGVfX2RvY19fLAorInNldF9oYW5kbGVfaW5oZXJpdGFibGUoJG1vZHVsZSwgaGFuZGxlLCBpbmhlcml0YWJsZSwgLylcbiIKKyItLVxuIgorIlxuIgorIlNldCB0aGUgaW5oZXJpdGFibGUgZmxhZyBvZiB0aGUgc3BlY2lmaWVkIGhhbmRsZS4iKTsKKworI2RlZmluZSBPU19TRVRfSEFORExFX0lOSEVSSVRBQkxFX01FVEhPRERFRiAgICBcCisgICAgeyJzZXRfaGFuZGxlX2luaGVyaXRhYmxlIiwgKFB5Q0Z1bmN0aW9uKW9zX3NldF9oYW5kbGVfaW5oZXJpdGFibGUsIE1FVEhfVkFSQVJHUywgb3Nfc2V0X2hhbmRsZV9pbmhlcml0YWJsZV9fZG9jX199LAorCitzdGF0aWMgUHlPYmplY3QgKgorb3Nfc2V0X2hhbmRsZV9pbmhlcml0YWJsZV9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5X2ludHB0cl90IGhhbmRsZSwgaW50IGluaGVyaXRhYmxlKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3NldF9oYW5kbGVfaW5oZXJpdGFibGUoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCiB7Ci0gICAgaW50IGluaGVyaXRhYmxlID0gMTsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKICAgICBQeV9pbnRwdHJfdCBoYW5kbGU7Ci0gICAgRFdPUkQgZmxhZ3M7CisgICAgaW50IGluaGVyaXRhYmxlOwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsIF9QeV9QQVJTRV9JTlRQVFIgImk6c2V0X2hhbmRsZV9pbmhlcml0YWJsZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICZoYW5kbGUsICZpbmhlcml0YWJsZSkpCi0gICAgICAgIHJldHVybiBOVUxMOworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAiIiBfUHlfUEFSU0VfSU5UUFRSICJwOnNldF9oYW5kbGVfaW5oZXJpdGFibGUiLAorICAgICAgICAmaGFuZGxlLCAmaW5oZXJpdGFibGUpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gb3Nfc2V0X2hhbmRsZV9pbmhlcml0YWJsZV9pbXBsKG1vZHVsZSwgaGFuZGxlLCBpbmhlcml0YWJsZSk7CiAKLSAgICBpZiAoaW5oZXJpdGFibGUpCi0gICAgICAgIGZsYWdzID0gSEFORExFX0ZMQUdfSU5IRVJJVDsKLSAgICBlbHNlCi0gICAgICAgIGZsYWdzID0gMDsKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3NldF9oYW5kbGVfaW5oZXJpdGFibGVfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeV9pbnRwdHJfdCBoYW5kbGUsIGludCBpbmhlcml0YWJsZSkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1lZTVmY2M2ZDlmMGQ0ZjhiIGlucHV0PWU2NGIyYjI3MzA0NjlkZWZdKi8KK3sKKyAgICBEV09SRCBmbGFncyA9IGluaGVyaXRhYmxlID8gSEFORExFX0ZMQUdfSU5IRVJJVCA6IDA7CiAgICAgaWYgKCFTZXRIYW5kbGVJbmZvcm1hdGlvbigoSEFORExFKWhhbmRsZSwgSEFORExFX0ZMQUdfSU5IRVJJVCwgZmxhZ3MpKSB7CiAgICAgICAgIFB5RXJyX1NldEZyb21XaW5kb3dzRXJyKDApOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CiAgICAgUHlfUkVUVVJOX05PTkU7CiB9Ci0jZW5kaWYgICAvKiBNU19XSU5ET1dTICovCisjZW5kaWYgLyogTVNfV0lORE9XUyAqLworCisjaWZuZGVmIE1TX1dJTkRPV1MKK1B5RG9jX1NUUlZBUihnZXRfYmxvY2tpbmdfX2RvY19fLAorICAgICJnZXRfYmxvY2tpbmcoZmQpIC0+IGJvb2xcbiIgXAorICAgICJcbiIgXAorICAgICJHZXQgdGhlIGJsb2NraW5nIG1vZGUgb2YgdGhlIGZpbGUgZGVzY3JpcHRvcjpcbiIgXAorICAgICJGYWxzZSBpZiB0aGUgT19OT05CTE9DSyBmbGFnIGlzIHNldCwgVHJ1ZSBpZiB0aGUgZmxhZyBpcyBjbGVhcmVkLiIpOworCitzdGF0aWMgUHlPYmplY3QqCitwb3NpeF9nZXRfYmxvY2tpbmcoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQoreworICAgIGludCBmZDsKKyAgICBpbnQgYmxvY2tpbmc7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgImk6Z2V0X2Jsb2NraW5nIiwgJmZkKSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisKKyAgICBpZiAoIV9QeVZlcmlmeV9mZChmZCkpCisgICAgICAgIHJldHVybiBwb3NpeF9lcnJvcigpOworCisgICAgYmxvY2tpbmcgPSBfUHlfZ2V0X2Jsb2NraW5nKGZkKTsKKyAgICBpZiAoYmxvY2tpbmcgPCAwKQorICAgICAgICByZXR1cm4gTlVMTDsKKyAgICByZXR1cm4gUHlCb29sX0Zyb21Mb25nKGJsb2NraW5nKTsKK30KKworUHlEb2NfU1RSVkFSKHNldF9ibG9ja2luZ19fZG9jX18sCisgICAgInNldF9ibG9ja2luZyhmZCwgYmxvY2tpbmcpXG4iIFwKKyAgICAiXG4iIFwKKyAgICAiU2V0IHRoZSBibG9ja2luZyBtb2RlIG9mIHRoZSBzcGVjaWZpZWQgZmlsZSBkZXNjcmlwdG9yLlxuIiBcCisgICAgIlNldCB0aGUgT19OT05CTE9DSyBmbGFnIGlmIGJsb2NraW5nIGlzIEZhbHNlLFxuIiBcCisgICAgImNsZWFyIHRoZSBPX05PTkJMT0NLIGZsYWcgb3RoZXJ3aXNlLiIpOworCitzdGF0aWMgUHlPYmplY3QqCitwb3NpeF9zZXRfYmxvY2tpbmcoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQoreworICAgIGludCBmZCwgYmxvY2tpbmc7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgImlpOnNldF9ibG9ja2luZyIsICZmZCwgJmJsb2NraW5nKSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisKKyAgICBpZiAoIV9QeVZlcmlmeV9mZChmZCkpCisgICAgICAgIHJldHVybiBwb3NpeF9lcnJvcigpOworCisgICAgaWYgKF9QeV9zZXRfYmxvY2tpbmcoZmQsIGJsb2NraW5nKSA8IDApCisgICAgICAgIHJldHVybiBOVUxMOworICAgIFB5X1JFVFVSTl9OT05FOworfQorI2VuZGlmICAgLyogIU1TX1dJTkRPV1MgKi8KIAogCiAvKltjbGluaWMgaW5wdXRdCkBAIC0xMTE4NSw3ICsxNjMzNyw0NzkgQEAKICNpZm5kZWYgT1NfVFRZTkFNRV9NRVRIT0RERUYKICAgICAjZGVmaW5lIE9TX1RUWU5BTUVfTUVUSE9EREVGCiAjZW5kaWYgLyogIWRlZmluZWQoT1NfVFRZTkFNRV9NRVRIT0RERUYpICovCi0vKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9NWQwNzFiYmM4ZjQ5ZWExMiBpbnB1dD01MjRjZTJlMDIxZTRlYmE2XSovCisKKyNpZm5kZWYgT1NfQ1RFUk1JRF9NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX0NURVJNSURfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfQ1RFUk1JRF9NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfRkNIRElSX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfRkNIRElSX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX0ZDSERJUl9NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfRkNITU9EX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfRkNITU9EX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX0ZDSE1PRF9NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfTENITU9EX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfTENITU9EX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX0xDSE1PRF9NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfQ0hGTEFHU19NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX0NIRkxBR1NfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfQ0hGTEFHU19NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfTENIRkxBR1NfTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19MQ0hGTEFHU19NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19MQ0hGTEFHU19NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfQ0hST09UX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfQ0hST09UX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX0NIUk9PVF9NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfRlNZTkNfTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19GU1lOQ19NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19GU1lOQ19NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfU1lOQ19NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX1NZTkNfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfU1lOQ19NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfRkRBVEFTWU5DX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfRkRBVEFTWU5DX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX0ZEQVRBU1lOQ19NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfQ0hPV05fTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19DSE9XTl9NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19DSE9XTl9NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfRkNIT1dOX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfRkNIT1dOX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX0ZDSE9XTl9NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfTENIT1dOX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfTENIT1dOX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX0xDSE9XTl9NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfTElOS19NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX0xJTktfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfTElOS19NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfX0dFVEZJTkFMUEFUSE5BTUVfTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19fR0VURklOQUxQQVRITkFNRV9NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19fR0VURklOQUxQQVRITkFNRV9NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfX0dFVFZPTFVNRVBBVEhOQU1FX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfX0dFVFZPTFVNRVBBVEhOQU1FX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX19HRVRWT0xVTUVQQVRITkFNRV9NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfTklDRV9NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX05JQ0VfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfTklDRV9NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfR0VUUFJJT1JJVFlfTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19HRVRQUklPUklUWV9NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19HRVRQUklPUklUWV9NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfU0VUUFJJT1JJVFlfTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19TRVRQUklPUklUWV9NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19TRVRQUklPUklUWV9NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfU1lTVEVNX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfU1lTVEVNX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX1NZU1RFTV9NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfU1lTVEVNX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfU1lTVEVNX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX1NZU1RFTV9NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfVU5BTUVfTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19VTkFNRV9NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19VTkFNRV9NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfRVhFQ1ZfTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19FWEVDVl9NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19FWEVDVl9NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfRVhFQ1ZFX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfRVhFQ1ZFX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX0VYRUNWRV9NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfU1BBV05WX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfU1BBV05WX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX1NQQVdOVl9NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfU1BBV05WRV9NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX1NQQVdOVkVfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfU1BBV05WRV9NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfRk9SSzFfTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19GT1JLMV9NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19GT1JLMV9NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfRk9SS19NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX0ZPUktfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfRk9SS19NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfU0NIRURfR0VUX1BSSU9SSVRZX01BWF9NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX1NDSEVEX0dFVF9QUklPUklUWV9NQVhfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfU0NIRURfR0VUX1BSSU9SSVRZX01BWF9NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfU0NIRURfR0VUX1BSSU9SSVRZX01JTl9NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX1NDSEVEX0dFVF9QUklPUklUWV9NSU5fTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfU0NIRURfR0VUX1BSSU9SSVRZX01JTl9NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfU0NIRURfR0VUU0NIRURVTEVSX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfU0NIRURfR0VUU0NIRURVTEVSX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX1NDSEVEX0dFVFNDSEVEVUxFUl9NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfU0NIRURfU0VUU0NIRURVTEVSX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfU0NIRURfU0VUU0NIRURVTEVSX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX1NDSEVEX1NFVFNDSEVEVUxFUl9NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfU0NIRURfR0VUUEFSQU1fTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19TQ0hFRF9HRVRQQVJBTV9NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19TQ0hFRF9HRVRQQVJBTV9NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfU0NIRURfU0VUUEFSQU1fTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19TQ0hFRF9TRVRQQVJBTV9NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19TQ0hFRF9TRVRQQVJBTV9NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfU0NIRURfUlJfR0VUX0lOVEVSVkFMX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfU0NIRURfUlJfR0VUX0lOVEVSVkFMX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX1NDSEVEX1JSX0dFVF9JTlRFUlZBTF9NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfU0NIRURfWUlFTERfTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19TQ0hFRF9ZSUVMRF9NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19TQ0hFRF9ZSUVMRF9NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfU0NIRURfU0VUQUZGSU5JVFlfTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19TQ0hFRF9TRVRBRkZJTklUWV9NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19TQ0hFRF9TRVRBRkZJTklUWV9NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfU0NIRURfR0VUQUZGSU5JVFlfTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19TQ0hFRF9HRVRBRkZJTklUWV9NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19TQ0hFRF9HRVRBRkZJTklUWV9NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfT1BFTlBUWV9NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX09QRU5QVFlfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfT1BFTlBUWV9NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfRk9SS1BUWV9NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX0ZPUktQVFlfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfRk9SS1BUWV9NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfR0VURUdJRF9NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX0dFVEVHSURfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfR0VURUdJRF9NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfR0VURVVJRF9NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX0dFVEVVSURfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfR0VURVVJRF9NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfR0VUR0lEX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfR0VUR0lEX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX0dFVEdJRF9NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfR0VUR1JPVVBTX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfR0VUR1JPVVBTX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX0dFVEdST1VQU19NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfR0VUUEdJRF9NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX0dFVFBHSURfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfR0VUUEdJRF9NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfR0VUUEdSUF9NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX0dFVFBHUlBfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfR0VUUEdSUF9NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfU0VUUEdSUF9NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX1NFVFBHUlBfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfU0VUUEdSUF9NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfR0VUUFBJRF9NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX0dFVFBQSURfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfR0VUUFBJRF9NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfR0VUTE9HSU5fTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19HRVRMT0dJTl9NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19HRVRMT0dJTl9NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfR0VUVUlEX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfR0VUVUlEX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX0dFVFVJRF9NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfS0lMTF9NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX0tJTExfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfS0lMTF9NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfS0lMTFBHX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfS0lMTFBHX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX0tJTExQR19NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfUExPQ0tfTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19QTE9DS19NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19QTE9DS19NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfU0VUVUlEX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfU0VUVUlEX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX1NFVFVJRF9NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfU0VURVVJRF9NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX1NFVEVVSURfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfU0VURVVJRF9NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfU0VURUdJRF9NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX1NFVEVHSURfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfU0VURUdJRF9NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfU0VUUkVVSURfTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19TRVRSRVVJRF9NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19TRVRSRVVJRF9NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfU0VUUkVHSURfTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19TRVRSRUdJRF9NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19TRVRSRUdJRF9NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfU0VUR0lEX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfU0VUR0lEX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX1NFVEdJRF9NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfU0VUR1JPVVBTX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfU0VUR1JPVVBTX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX1NFVEdST1VQU19NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfV0FJVDNfTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19XQUlUM19NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19XQUlUM19NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfV0FJVDRfTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19XQUlUNF9NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19XQUlUNF9NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfV0FJVElEX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfV0FJVElEX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX1dBSVRJRF9NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfV0FJVFBJRF9NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX1dBSVRQSURfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfV0FJVFBJRF9NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfV0FJVFBJRF9NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX1dBSVRQSURfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfV0FJVFBJRF9NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfV0FJVF9NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX1dBSVRfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfV0FJVF9NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfU1lNTElOS19NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX1NZTUxJTktfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfU1lNTElOS19NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfVElNRVNfTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19USU1FU19NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19USU1FU19NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfR0VUU0lEX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfR0VUU0lEX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX0dFVFNJRF9NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfU0VUU0lEX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfU0VUU0lEX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX1NFVFNJRF9NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfU0VUUEdJRF9NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX1NFVFBHSURfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfU0VUUEdJRF9NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfVENHRVRQR1JQX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfVENHRVRQR1JQX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX1RDR0VUUEdSUF9NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfVENTRVRQR1JQX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfVENTRVRQR1JQX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX1RDU0VUUEdSUF9NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfTE9DS0ZfTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19MT0NLRl9NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19MT0NLRl9NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfUkVBRFZfTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19SRUFEVl9NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19SRUFEVl9NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfUFJFQURfTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19QUkVBRF9NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19QUkVBRF9NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfUElQRV9NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX1BJUEVfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfUElQRV9NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfUElQRTJfTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19QSVBFMl9NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19QSVBFMl9NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfV1JJVEVWX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfV1JJVEVWX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX1dSSVRFVl9NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfUFdSSVRFX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfUFdSSVRFX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX1BXUklURV9NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfTUtGSUZPX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfTUtGSUZPX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX01LRklGT19NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfTUtOT0RfTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19NS05PRF9NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19NS05PRF9NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfTUFKT1JfTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19NQUpPUl9NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19NQUpPUl9NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfTUlOT1JfTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19NSU5PUl9NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19NSU5PUl9NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfTUFLRURFVl9NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX01BS0VERVZfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfTUFLRURFVl9NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfRlRSVU5DQVRFX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfRlRSVU5DQVRFX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX0ZUUlVOQ0FURV9NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfVFJVTkNBVEVfTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19UUlVOQ0FURV9NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19UUlVOQ0FURV9NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfUE9TSVhfRkFMTE9DQVRFX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfUE9TSVhfRkFMTE9DQVRFX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX1BPU0lYX0ZBTExPQ0FURV9NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfUE9TSVhfRkFEVklTRV9NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX1BPU0lYX0ZBRFZJU0VfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfUE9TSVhfRkFEVklTRV9NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfUFVURU5WX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfUFVURU5WX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX1BVVEVOVl9NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfUFVURU5WX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfUFVURU5WX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX1BVVEVOVl9NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfVU5TRVRFTlZfTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19VTlNFVEVOVl9NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19VTlNFVEVOVl9NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfV0NPUkVEVU1QX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfV0NPUkVEVU1QX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX1dDT1JFRFVNUF9NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfV0lGQ09OVElOVUVEX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfV0lGQ09OVElOVUVEX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX1dJRkNPTlRJTlVFRF9NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfV0lGU1RPUFBFRF9NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX1dJRlNUT1BQRURfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfV0lGU1RPUFBFRF9NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfV0lGU0lHTkFMRURfTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19XSUZTSUdOQUxFRF9NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19XSUZTSUdOQUxFRF9NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfV0lGRVhJVEVEX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfV0lGRVhJVEVEX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX1dJRkVYSVRFRF9NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfV0VYSVRTVEFUVVNfTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19XRVhJVFNUQVRVU19NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19XRVhJVFNUQVRVU19NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfV1RFUk1TSUdfTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19XVEVSTVNJR19NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19XVEVSTVNJR19NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfV1NUT1BTSUdfTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19XU1RPUFNJR19NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19XU1RPUFNJR19NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfRlNUQVRWRlNfTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19GU1RBVFZGU19NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19GU1RBVFZGU19NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfU1RBVFZGU19NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX1NUQVRWRlNfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfU1RBVFZGU19NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfX0dFVERJU0tVU0FHRV9NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX19HRVRESVNLVVNBR0VfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfX0dFVERJU0tVU0FHRV9NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfRlBBVEhDT05GX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfRlBBVEhDT05GX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX0ZQQVRIQ09ORl9NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfUEFUSENPTkZfTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19QQVRIQ09ORl9NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19QQVRIQ09ORl9NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfQ09ORlNUUl9NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX0NPTkZTVFJfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfQ09ORlNUUl9NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfU1lTQ09ORl9NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX1NZU0NPTkZfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfU1lTQ09ORl9NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfR0VUTE9BREFWR19NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX0dFVExPQURBVkdfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfR0VUTE9BREFWR19NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfU0VUUkVTVUlEX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfU0VUUkVTVUlEX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX1NFVFJFU1VJRF9NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfU0VUUkVTR0lEX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfU0VUUkVTR0lEX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX1NFVFJFU0dJRF9NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfR0VUUkVTVUlEX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfR0VUUkVTVUlEX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX0dFVFJFU1VJRF9NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfR0VUUkVTR0lEX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfR0VUUkVTR0lEX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX0dFVFJFU0dJRF9NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfR0VUWEFUVFJfTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19HRVRYQVRUUl9NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19HRVRYQVRUUl9NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfU0VUWEFUVFJfTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19TRVRYQVRUUl9NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19TRVRYQVRUUl9NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfUkVNT1ZFWEFUVFJfTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19SRU1PVkVYQVRUUl9NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19SRU1PVkVYQVRUUl9NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfTElTVFhBVFRSX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfTElTVFhBVFRSX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX0xJU1RYQVRUUl9NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfR0VUX0hBTkRMRV9JTkhFUklUQUJMRV9NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX0dFVF9IQU5ETEVfSU5IRVJJVEFCTEVfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfR0VUX0hBTkRMRV9JTkhFUklUQUJMRV9NRVRIT0RERUYpICovCisKKyNpZm5kZWYgT1NfU0VUX0hBTkRMRV9JTkhFUklUQUJMRV9NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX1NFVF9IQU5ETEVfSU5IRVJJVEFCTEVfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfU0VUX0hBTkRMRV9JTkhFUklUQUJMRV9NRVRIT0RERUYpICovCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9NTJhNjE0MGIwYjA1MmNlNiBpbnB1dD01MjRjZTJlMDIxZTRlYmE2XSovCiAKIAogc3RhdGljIFB5TWV0aG9kRGVmIHBvc2l4X21ldGhvZHNbXSA9IHsKQEAgLTExMTkzLDcxICsxNjgxNywyNiBAQAogICAgIE9TX1NUQVRfTUVUSE9EREVGCiAgICAgT1NfQUNDRVNTX01FVEhPRERFRgogICAgIE9TX1RUWU5BTUVfTUVUSE9EREVGCi0KLSAgICB7ImNoZGlyIiwgICAgICAgICAgIChQeUNGdW5jdGlvbilwb3NpeF9jaGRpciwKLSAgICAgICAgICAgICAgICAgICAgICAgIE1FVEhfVkFSQVJHUyB8IE1FVEhfS0VZV09SRFMsCi0gICAgICAgICAgICAgICAgICAgICAgICBwb3NpeF9jaGRpcl9fZG9jX199LAotI2lmZGVmIEhBVkVfQ0hGTEFHUwotICAgIHsiY2hmbGFncyIsICAgICAgICAgKFB5Q0Z1bmN0aW9uKXBvc2l4X2NoZmxhZ3MsCi0gICAgICAgICAgICAgICAgICAgICAgICBNRVRIX1ZBUkFSR1MgfCBNRVRIX0tFWVdPUkRTLAotICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXhfY2hmbGFnc19fZG9jX199LAotI2VuZGlmIC8qIEhBVkVfQ0hGTEFHUyAqLwotICAgIHsiY2htb2QiLCAgICAgICAgICAgKFB5Q0Z1bmN0aW9uKXBvc2l4X2NobW9kLAotICAgICAgICAgICAgICAgICAgICAgICAgTUVUSF9WQVJBUkdTIHwgTUVUSF9LRVlXT1JEUywKLSAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l4X2NobW9kX19kb2NfX30sCi0jaWZkZWYgSEFWRV9GQ0hNT0QKLSAgICB7ImZjaG1vZCIsICAgICAgICAgIHBvc2l4X2ZjaG1vZCwgTUVUSF9WQVJBUkdTLCBwb3NpeF9mY2htb2RfX2RvY19ffSwKLSNlbmRpZiAvKiBIQVZFX0ZDSE1PRCAqLwotI2lmZGVmIEhBVkVfQ0hPV04KLSAgICB7ImNob3duIiwgICAgICAgICAgIChQeUNGdW5jdGlvbilwb3NpeF9jaG93biwKLSAgICAgICAgICAgICAgICAgICAgICAgIE1FVEhfVkFSQVJHUyB8IE1FVEhfS0VZV09SRFMsCi0gICAgICAgICAgICAgICAgICAgICAgICBwb3NpeF9jaG93bl9fZG9jX199LAotI2VuZGlmIC8qIEhBVkVfQ0hPV04gKi8KLSNpZmRlZiBIQVZFX0xDSE1PRAotICAgIHsibGNobW9kIiwgICAgICAgICAgcG9zaXhfbGNobW9kLCBNRVRIX1ZBUkFSR1MsIHBvc2l4X2xjaG1vZF9fZG9jX199LAotI2VuZGlmIC8qIEhBVkVfTENITU9EICovCi0jaWZkZWYgSEFWRV9GQ0hPV04KLSAgICB7ImZjaG93biIsICAgICAgICAgIHBvc2l4X2ZjaG93biwgTUVUSF9WQVJBUkdTLCBwb3NpeF9mY2hvd25fX2RvY19ffSwKLSNlbmRpZiAvKiBIQVZFX0ZDSE9XTiAqLwotI2lmZGVmIEhBVkVfTENIRkxBR1MKLSAgICB7ImxjaGZsYWdzIiwgICAgICAgIHBvc2l4X2xjaGZsYWdzLCBNRVRIX1ZBUkFSR1MsIHBvc2l4X2xjaGZsYWdzX19kb2NfX30sCi0jZW5kaWYgLyogSEFWRV9MQ0hGTEFHUyAqLwotI2lmZGVmIEhBVkVfTENIT1dOCi0gICAgeyJsY2hvd24iLCAgICAgICAgICBwb3NpeF9sY2hvd24sIE1FVEhfVkFSQVJHUywgcG9zaXhfbGNob3duX19kb2NfX30sCi0jZW5kaWYgLyogSEFWRV9MQ0hPV04gKi8KLSNpZmRlZiBIQVZFX0NIUk9PVAotICAgIHsiY2hyb290IiwgICAgICAgICAgcG9zaXhfY2hyb290LCBNRVRIX1ZBUkFSR1MsIHBvc2l4X2Nocm9vdF9fZG9jX199LAotI2VuZGlmCi0jaWZkZWYgSEFWRV9DVEVSTUlECi0gICAgeyJjdGVybWlkIiwgICAgICAgICBwb3NpeF9jdGVybWlkLCBNRVRIX05PQVJHUywgcG9zaXhfY3Rlcm1pZF9fZG9jX199LAotI2VuZGlmCi0gICAgeyJnZXRjd2QiLCAgICAgICAgICAoUHlDRnVuY3Rpb24pcG9zaXhfZ2V0Y3dkX3VuaWNvZGUsCi0gICAgTUVUSF9OT0FSR1MsIHBvc2l4X2dldGN3ZF9fZG9jX199LAotICAgIHsiZ2V0Y3dkYiIsICAgICAgICAgKFB5Q0Z1bmN0aW9uKXBvc2l4X2dldGN3ZF9ieXRlcywKLSAgICBNRVRIX05PQVJHUywgcG9zaXhfZ2V0Y3dkYl9fZG9jX199LAotI2lmIGRlZmluZWQoSEFWRV9MSU5LKSB8fCBkZWZpbmVkKE1TX1dJTkRPV1MpCi0gICAgeyJsaW5rIiwgICAgICAgICAgICAoUHlDRnVuY3Rpb24pcG9zaXhfbGluaywKLSAgICAgICAgICAgICAgICAgICAgICAgIE1FVEhfVkFSQVJHUyB8IE1FVEhfS0VZV09SRFMsCi0gICAgICAgICAgICAgICAgICAgICAgICBwb3NpeF9saW5rX19kb2NfX30sCi0jZW5kaWYgLyogSEFWRV9MSU5LICovCi0gICAgeyJsaXN0ZGlyIiwgICAgICAgICAoUHlDRnVuY3Rpb24pcG9zaXhfbGlzdGRpciwKLSAgICAgICAgICAgICAgICAgICAgICAgIE1FVEhfVkFSQVJHUyB8IE1FVEhfS0VZV09SRFMsCi0gICAgICAgICAgICAgICAgICAgICAgICBwb3NpeF9saXN0ZGlyX19kb2NfX30sCi0gICAgeyJsc3RhdCIsICAgICAgICAgICAoUHlDRnVuY3Rpb24pcG9zaXhfbHN0YXQsCi0gICAgICAgICAgICAgICAgICAgICAgICBNRVRIX1ZBUkFSR1MgfCBNRVRIX0tFWVdPUkRTLAotICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXhfbHN0YXRfX2RvY19ffSwKLSAgICB7Im1rZGlyIiwgICAgICAgICAgIChQeUNGdW5jdGlvbilwb3NpeF9ta2RpciwKLSAgICAgICAgICAgICAgICAgICAgICAgIE1FVEhfVkFSQVJHUyB8IE1FVEhfS0VZV09SRFMsCi0gICAgICAgICAgICAgICAgICAgICAgICBwb3NpeF9ta2Rpcl9fZG9jX199LAotI2lmZGVmIEhBVkVfTklDRQotICAgIHsibmljZSIsICAgICAgICAgICAgcG9zaXhfbmljZSwgTUVUSF9WQVJBUkdTLCBwb3NpeF9uaWNlX19kb2NfX30sCi0jZW5kaWYgLyogSEFWRV9OSUNFICovCi0jaWZkZWYgSEFWRV9HRVRQUklPUklUWQotICAgIHsiZ2V0cHJpb3JpdHkiLCAgICAgcG9zaXhfZ2V0cHJpb3JpdHksIE1FVEhfVkFSQVJHUywgcG9zaXhfZ2V0cHJpb3JpdHlfX2RvY19ffSwKLSNlbmRpZiAvKiBIQVZFX0dFVFBSSU9SSVRZICovCi0jaWZkZWYgSEFWRV9TRVRQUklPUklUWQotICAgIHsic2V0cHJpb3JpdHkiLCAgICAgcG9zaXhfc2V0cHJpb3JpdHksIE1FVEhfVkFSQVJHUywgcG9zaXhfc2V0cHJpb3JpdHlfX2RvY19ffSwKLSNlbmRpZiAvKiBIQVZFX1NFVFBSSU9SSVRZICovCisgICAgT1NfQ0hESVJfTUVUSE9EREVGCisgICAgT1NfQ0hGTEFHU19NRVRIT0RERUYKKyAgICBPU19DSE1PRF9NRVRIT0RERUYKKyAgICBPU19GQ0hNT0RfTUVUSE9EREVGCisgICAgT1NfTENITU9EX01FVEhPRERFRgorICAgIE9TX0NIT1dOX01FVEhPRERFRgorICAgIE9TX0ZDSE9XTl9NRVRIT0RERUYKKyAgICBPU19MQ0hPV05fTUVUSE9EREVGCisgICAgT1NfTENIRkxBR1NfTUVUSE9EREVGCisgICAgT1NfQ0hST09UX01FVEhPRERFRgorICAgIE9TX0NURVJNSURfTUVUSE9EREVGCisgICAgT1NfR0VUQ1dEX01FVEhPRERFRgorICAgIE9TX0dFVENXREJfTUVUSE9EREVGCisgICAgT1NfTElOS19NRVRIT0RERUYKKyAgICBPU19MSVNURElSX01FVEhPRERFRgorICAgIE9TX0xTVEFUX01FVEhPRERFRgorICAgIE9TX01LRElSX01FVEhPRERFRgorICAgIE9TX05JQ0VfTUVUSE9EREVGCisgICAgT1NfR0VUUFJJT1JJVFlfTUVUSE9EREVGCisgICAgT1NfU0VUUFJJT1JJVFlfTUVUSE9EREVGCiAjaWZkZWYgSEFWRV9SRUFETElOSwogICAgIHsicmVhZGxpbmsiLCAgICAgICAgKFB5Q0Z1bmN0aW9uKXBvc2l4X3JlYWRsaW5rLAogICAgICAgICAgICAgICAgICAgICAgICAgTUVUSF9WQVJBUkdTIHwgTUVUSF9LRVlXT1JEUywKQEAgLTExMjY4LDM3NSArMTY4NDcsMTYwIEBACiAgICAgICAgICAgICAgICAgICAgICAgICBNRVRIX1ZBUkFSR1MgfCBNRVRIX0tFWVdPUkRTLAogICAgICAgICAgICAgICAgICAgICAgICAgcmVhZGxpbmtfX2RvY19ffSwKICNlbmRpZiAvKiAhZGVmaW5lZChIQVZFX1JFQURMSU5LKSAmJiBkZWZpbmVkKE1TX1dJTkRPV1MpICovCi0gICAgeyJyZW5hbWUiLCAgICAgICAgICAoUHlDRnVuY3Rpb24pcG9zaXhfcmVuYW1lLAotICAgICAgICAgICAgICAgICAgICAgICAgTUVUSF9WQVJBUkdTIHwgTUVUSF9LRVlXT1JEUywKLSAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l4X3JlbmFtZV9fZG9jX199LAotICAgIHsicmVwbGFjZSIsICAgICAgICAgKFB5Q0Z1bmN0aW9uKXBvc2l4X3JlcGxhY2UsCi0gICAgICAgICAgICAgICAgICAgICAgICBNRVRIX1ZBUkFSR1MgfCBNRVRIX0tFWVdPUkRTLAotICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXhfcmVwbGFjZV9fZG9jX199LAotICAgIHsicm1kaXIiLCAgICAgICAgICAgKFB5Q0Z1bmN0aW9uKXBvc2l4X3JtZGlyLAotICAgICAgICAgICAgICAgICAgICAgICAgTUVUSF9WQVJBUkdTIHwgTUVUSF9LRVlXT1JEUywKLSAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l4X3JtZGlyX19kb2NfX30sCisgICAgT1NfUkVOQU1FX01FVEhPRERFRgorICAgIE9TX1JFUExBQ0VfTUVUSE9EREVGCisgICAgT1NfUk1ESVJfTUVUSE9EREVGCiAgICAgeyJzdGF0X2Zsb2F0X3RpbWVzIiwgc3RhdF9mbG9hdF90aW1lcywgTUVUSF9WQVJBUkdTLCBzdGF0X2Zsb2F0X3RpbWVzX19kb2NfX30sCi0jaWYgZGVmaW5lZChIQVZFX1NZTUxJTkspCi0gICAgeyJzeW1saW5rIiwgICAgICAgICAoUHlDRnVuY3Rpb24pcG9zaXhfc3ltbGluaywKLSAgICAgICAgICAgICAgICAgICAgICAgIE1FVEhfVkFSQVJHUyB8IE1FVEhfS0VZV09SRFMsCi0gICAgICAgICAgICAgICAgICAgICAgICBwb3NpeF9zeW1saW5rX19kb2NfX30sCi0jZW5kaWYgLyogSEFWRV9TWU1MSU5LICovCi0jaWZkZWYgSEFWRV9TWVNURU0KLSAgICB7InN5c3RlbSIsICAgICAgICAgIHBvc2l4X3N5c3RlbSwgTUVUSF9WQVJBUkdTLCBwb3NpeF9zeXN0ZW1fX2RvY19ffSwKLSNlbmRpZgotICAgIHsidW1hc2siLCAgICAgICAgICAgcG9zaXhfdW1hc2ssIE1FVEhfVkFSQVJHUywgcG9zaXhfdW1hc2tfX2RvY19ffSwKLSNpZmRlZiBIQVZFX1VOQU1FCi0gICAgeyJ1bmFtZSIsICAgICAgICAgICBwb3NpeF91bmFtZSwgTUVUSF9OT0FSR1MsIHBvc2l4X3VuYW1lX19kb2NfX30sCi0jZW5kaWYgLyogSEFWRV9VTkFNRSAqLwotICAgIHsidW5saW5rIiwgICAgICAgICAgKFB5Q0Z1bmN0aW9uKXBvc2l4X3VubGluaywKLSAgICAgICAgICAgICAgICAgICAgICAgIE1FVEhfVkFSQVJHUyB8IE1FVEhfS0VZV09SRFMsCi0gICAgICAgICAgICAgICAgICAgICAgICBwb3NpeF91bmxpbmtfX2RvY19ffSwKLSAgICB7InJlbW92ZSIsICAgICAgICAgIChQeUNGdW5jdGlvbilwb3NpeF91bmxpbmssCi0gICAgICAgICAgICAgICAgICAgICAgICBNRVRIX1ZBUkFSR1MgfCBNRVRIX0tFWVdPUkRTLAotICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXhfcmVtb3ZlX19kb2NfX30sCi0gICAgeyJ1dGltZSIsICAgICAgICAgICAoUHlDRnVuY3Rpb24pcG9zaXhfdXRpbWUsCi0gICAgICAgICAgICAgICAgICAgICAgICBNRVRIX1ZBUkFSR1MgfCBNRVRIX0tFWVdPUkRTLCBwb3NpeF91dGltZV9fZG9jX199LAotI2lmZGVmIEhBVkVfVElNRVMKLSAgICB7InRpbWVzIiwgICAgICAgICAgIHBvc2l4X3RpbWVzLCBNRVRIX05PQVJHUywgcG9zaXhfdGltZXNfX2RvY19ffSwKLSNlbmRpZiAvKiBIQVZFX1RJTUVTICovCi0gICAgeyJfZXhpdCIsICAgICAgICAgICBwb3NpeF9fZXhpdCwgTUVUSF9WQVJBUkdTLCBwb3NpeF9fZXhpdF9fZG9jX199LAotI2lmZGVmIEhBVkVfRVhFQ1YKLSAgICB7ImV4ZWN2IiwgICAgICAgICAgIHBvc2l4X2V4ZWN2LCBNRVRIX1ZBUkFSR1MsIHBvc2l4X2V4ZWN2X19kb2NfX30sCi0gICAgeyJleGVjdmUiLCAgICAgICAgICAoUHlDRnVuY3Rpb24pcG9zaXhfZXhlY3ZlLAotICAgICAgICAgICAgICAgICAgICAgICAgTUVUSF9WQVJBUkdTIHwgTUVUSF9LRVlXT1JEUywKLSAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l4X2V4ZWN2ZV9fZG9jX199LAotI2VuZGlmIC8qIEhBVkVfRVhFQ1YgKi8KLSNpZmRlZiBIQVZFX1NQQVdOVgotICAgIHsic3Bhd252IiwgICAgICAgICAgcG9zaXhfc3Bhd252LCBNRVRIX1ZBUkFSR1MsIHBvc2l4X3NwYXdudl9fZG9jX199LAotICAgIHsic3Bhd252ZSIsICAgICAgICAgcG9zaXhfc3Bhd252ZSwgTUVUSF9WQVJBUkdTLCBwb3NpeF9zcGF3bnZlX19kb2NfX30sCi0jZW5kaWYgLyogSEFWRV9TUEFXTlYgKi8KLSNpZmRlZiBIQVZFX0ZPUksxCi0gICAgeyJmb3JrMSIsICAgICAgIHBvc2l4X2ZvcmsxLCBNRVRIX05PQVJHUywgcG9zaXhfZm9yazFfX2RvY19ffSwKLSNlbmRpZiAvKiBIQVZFX0ZPUksxICovCi0jaWZkZWYgSEFWRV9GT1JLCi0gICAgeyJmb3JrIiwgICAgICAgICAgICBwb3NpeF9mb3JrLCBNRVRIX05PQVJHUywgcG9zaXhfZm9ya19fZG9jX199LAotI2VuZGlmIC8qIEhBVkVfRk9SSyAqLwotI2lmZGVmIEhBVkVfU0NIRURfSAotI2lmZGVmIEhBVkVfU0NIRURfR0VUX1BSSU9SSVRZX01BWAotICAgIHsic2NoZWRfZ2V0X3ByaW9yaXR5X21heCIsIHBvc2l4X3NjaGVkX2dldF9wcmlvcml0eV9tYXgsIE1FVEhfVkFSQVJHUywgcG9zaXhfc2NoZWRfZ2V0X3ByaW9yaXR5X21heF9fZG9jX199LAotICAgIHsic2NoZWRfZ2V0X3ByaW9yaXR5X21pbiIsIHBvc2l4X3NjaGVkX2dldF9wcmlvcml0eV9taW4sIE1FVEhfVkFSQVJHUywgcG9zaXhfc2NoZWRfZ2V0X3ByaW9yaXR5X21pbl9fZG9jX199LAotI2VuZGlmCi0jaWZkZWYgSEFWRV9TQ0hFRF9TRVRQQVJBTQotICAgIHsic2NoZWRfZ2V0cGFyYW0iLCBwb3NpeF9zY2hlZF9nZXRwYXJhbSwgTUVUSF9WQVJBUkdTLCBwb3NpeF9zY2hlZF9nZXRwYXJhbV9fZG9jX199LAotI2VuZGlmCi0jaWZkZWYgSEFWRV9TQ0hFRF9TRVRTQ0hFRFVMRVIKLSAgICB7InNjaGVkX2dldHNjaGVkdWxlciIsIHBvc2l4X3NjaGVkX2dldHNjaGVkdWxlciwgTUVUSF9WQVJBUkdTLCBwb3NpeF9zY2hlZF9nZXRzY2hlZHVsZXJfX2RvY19ffSwKLSNlbmRpZgotI2lmZGVmIEhBVkVfU0NIRURfUlJfR0VUX0lOVEVSVkFMCi0gICAgeyJzY2hlZF9ycl9nZXRfaW50ZXJ2YWwiLCBwb3NpeF9zY2hlZF9ycl9nZXRfaW50ZXJ2YWwsIE1FVEhfVkFSQVJHUywgcG9zaXhfc2NoZWRfcnJfZ2V0X2ludGVydmFsX19kb2NfX30sCi0jZW5kaWYKLSNpZmRlZiBIQVZFX1NDSEVEX1NFVFBBUkFNCi0gICAgeyJzY2hlZF9zZXRwYXJhbSIsIHBvc2l4X3NjaGVkX3NldHBhcmFtLCBNRVRIX1ZBUkFSR1MsIHBvc2l4X3NjaGVkX3NldHBhcmFtX19kb2NfX30sCi0jZW5kaWYKLSNpZmRlZiBIQVZFX1NDSEVEX1NFVFNDSEVEVUxFUgotICAgIHsic2NoZWRfc2V0c2NoZWR1bGVyIiwgcG9zaXhfc2NoZWRfc2V0c2NoZWR1bGVyLCBNRVRIX1ZBUkFSR1MsIHBvc2l4X3NjaGVkX3NldHNjaGVkdWxlcl9fZG9jX199LAotI2VuZGlmCi0gICAgeyJzY2hlZF95aWVsZCIsICAgICBwb3NpeF9zY2hlZF95aWVsZCwgTUVUSF9OT0FSR1MsIHBvc2l4X3NjaGVkX3lpZWxkX19kb2NfX30sCi0jaWZkZWYgSEFWRV9TQ0hFRF9TRVRBRkZJTklUWQotICAgIHsic2NoZWRfc2V0YWZmaW5pdHkiLCBwb3NpeF9zY2hlZF9zZXRhZmZpbml0eSwgTUVUSF9WQVJBUkdTLCBwb3NpeF9zY2hlZF9zZXRhZmZpbml0eV9fZG9jX199LAotICAgIHsic2NoZWRfZ2V0YWZmaW5pdHkiLCBwb3NpeF9zY2hlZF9nZXRhZmZpbml0eSwgTUVUSF9WQVJBUkdTLCBwb3NpeF9zY2hlZF9nZXRhZmZpbml0eV9fZG9jX199LAotI2VuZGlmCi0jZW5kaWYgLyogSEFWRV9TQ0hFRF9IICovCi0jaWYgZGVmaW5lZChIQVZFX09QRU5QVFkpIHx8IGRlZmluZWQoSEFWRV9fR0VUUFRZKSB8fCBkZWZpbmVkKEhBVkVfREVWX1BUTVgpCi0gICAgeyJvcGVucHR5IiwgICAgICAgICBwb3NpeF9vcGVucHR5LCBNRVRIX05PQVJHUywgcG9zaXhfb3BlbnB0eV9fZG9jX199LAotI2VuZGlmIC8qIEhBVkVfT1BFTlBUWSB8fCBIQVZFX19HRVRQVFkgfHwgSEFWRV9ERVZfUFRNWCAqLwotI2lmZGVmIEhBVkVfRk9SS1BUWQotICAgIHsiZm9ya3B0eSIsICAgICAgICAgcG9zaXhfZm9ya3B0eSwgTUVUSF9OT0FSR1MsIHBvc2l4X2ZvcmtwdHlfX2RvY19ffSwKLSNlbmRpZiAvKiBIQVZFX0ZPUktQVFkgKi8KLSNpZmRlZiBIQVZFX0dFVEVHSUQKLSAgICB7ImdldGVnaWQiLCAgICAgICAgIHBvc2l4X2dldGVnaWQsIE1FVEhfTk9BUkdTLCBwb3NpeF9nZXRlZ2lkX19kb2NfX30sCi0jZW5kaWYgLyogSEFWRV9HRVRFR0lEICovCi0jaWZkZWYgSEFWRV9HRVRFVUlECi0gICAgeyJnZXRldWlkIiwgICAgICAgICBwb3NpeF9nZXRldWlkLCBNRVRIX05PQVJHUywgcG9zaXhfZ2V0ZXVpZF9fZG9jX199LAotI2VuZGlmIC8qIEhBVkVfR0VURVVJRCAqLwotI2lmZGVmIEhBVkVfR0VUR0lECi0gICAgeyJnZXRnaWQiLCAgICAgICAgICBwb3NpeF9nZXRnaWQsIE1FVEhfTk9BUkdTLCBwb3NpeF9nZXRnaWRfX2RvY19ffSwKLSNlbmRpZiAvKiBIQVZFX0dFVEdJRCAqLworICAgIE9TX1NZTUxJTktfTUVUSE9EREVGCisgICAgT1NfU1lTVEVNX01FVEhPRERFRgorICAgIE9TX1VNQVNLX01FVEhPRERFRgorICAgIE9TX1VOQU1FX01FVEhPRERFRgorICAgIE9TX1VOTElOS19NRVRIT0RERUYKKyAgICBPU19SRU1PVkVfTUVUSE9EREVGCisgICAgT1NfVVRJTUVfTUVUSE9EREVGCisgICAgT1NfVElNRVNfTUVUSE9EREVGCisgICAgT1NfX0VYSVRfTUVUSE9EREVGCisgICAgT1NfRVhFQ1ZfTUVUSE9EREVGCisgICAgT1NfRVhFQ1ZFX01FVEhPRERFRgorICAgIE9TX1NQQVdOVl9NRVRIT0RERUYKKyAgICBPU19TUEFXTlZFX01FVEhPRERFRgorICAgIE9TX0ZPUksxX01FVEhPRERFRgorICAgIE9TX0ZPUktfTUVUSE9EREVGCisgICAgT1NfU0NIRURfR0VUX1BSSU9SSVRZX01BWF9NRVRIT0RERUYKKyAgICBPU19TQ0hFRF9HRVRfUFJJT1JJVFlfTUlOX01FVEhPRERFRgorICAgIE9TX1NDSEVEX0dFVFBBUkFNX01FVEhPRERFRgorICAgIE9TX1NDSEVEX0dFVFNDSEVEVUxFUl9NRVRIT0RERUYKKyAgICBPU19TQ0hFRF9SUl9HRVRfSU5URVJWQUxfTUVUSE9EREVGCisgICAgT1NfU0NIRURfU0VUUEFSQU1fTUVUSE9EREVGCisgICAgT1NfU0NIRURfU0VUU0NIRURVTEVSX01FVEhPRERFRgorICAgIE9TX1NDSEVEX1lJRUxEX01FVEhPRERFRgorICAgIE9TX1NDSEVEX1NFVEFGRklOSVRZX01FVEhPRERFRgorICAgIE9TX1NDSEVEX0dFVEFGRklOSVRZX01FVEhPRERFRgorICAgIE9TX09QRU5QVFlfTUVUSE9EREVGCisgICAgT1NfRk9SS1BUWV9NRVRIT0RERUYKKyAgICBPU19HRVRFR0lEX01FVEhPRERFRgorICAgIE9TX0dFVEVVSURfTUVUSE9EREVGCisgICAgT1NfR0VUR0lEX01FVEhPRERFRgogI2lmZGVmIEhBVkVfR0VUR1JPVVBMSVNUCiAgICAgeyJnZXRncm91cGxpc3QiLCAgICBwb3NpeF9nZXRncm91cGxpc3QsIE1FVEhfVkFSQVJHUywgcG9zaXhfZ2V0Z3JvdXBsaXN0X19kb2NfX30sCiAjZW5kaWYKLSNpZmRlZiBIQVZFX0dFVEdST1VQUwotICAgIHsiZ2V0Z3JvdXBzIiwgICAgICAgcG9zaXhfZ2V0Z3JvdXBzLCBNRVRIX05PQVJHUywgcG9zaXhfZ2V0Z3JvdXBzX19kb2NfX30sCi0jZW5kaWYKLSAgICB7ImdldHBpZCIsICAgICAgICAgIHBvc2l4X2dldHBpZCwgTUVUSF9OT0FSR1MsIHBvc2l4X2dldHBpZF9fZG9jX199LAotI2lmZGVmIEhBVkVfR0VUUEdSUAotICAgIHsiZ2V0cGdycCIsICAgICAgICAgcG9zaXhfZ2V0cGdycCwgTUVUSF9OT0FSR1MsIHBvc2l4X2dldHBncnBfX2RvY19ffSwKLSNlbmRpZiAvKiBIQVZFX0dFVFBHUlAgKi8KLSNpZmRlZiBIQVZFX0dFVFBQSUQKLSAgICB7ImdldHBwaWQiLCAgICAgICAgIHBvc2l4X2dldHBwaWQsIE1FVEhfTk9BUkdTLCBwb3NpeF9nZXRwcGlkX19kb2NfX30sCi0jZW5kaWYgLyogSEFWRV9HRVRQUElEICovCi0jaWZkZWYgSEFWRV9HRVRVSUQKLSAgICB7ImdldHVpZCIsICAgICAgICAgIHBvc2l4X2dldHVpZCwgTUVUSF9OT0FSR1MsIHBvc2l4X2dldHVpZF9fZG9jX199LAotI2VuZGlmIC8qIEhBVkVfR0VUVUlEICovCi0jaWZkZWYgSEFWRV9HRVRMT0dJTgotICAgIHsiZ2V0bG9naW4iLCAgICAgICAgcG9zaXhfZ2V0bG9naW4sIE1FVEhfTk9BUkdTLCBwb3NpeF9nZXRsb2dpbl9fZG9jX199LAotI2VuZGlmCi0jaWZkZWYgSEFWRV9LSUxMCi0gICAgeyJraWxsIiwgICAgICAgICAgICBwb3NpeF9raWxsLCBNRVRIX1ZBUkFSR1MsIHBvc2l4X2tpbGxfX2RvY19ffSwKLSNlbmRpZiAvKiBIQVZFX0tJTEwgKi8KLSNpZmRlZiBIQVZFX0tJTExQRwotICAgIHsia2lsbHBnIiwgICAgICAgICAgcG9zaXhfa2lsbHBnLCBNRVRIX1ZBUkFSR1MsIHBvc2l4X2tpbGxwZ19fZG9jX199LAotI2VuZGlmIC8qIEhBVkVfS0lMTFBHICovCi0jaWZkZWYgSEFWRV9QTE9DSwotICAgIHsicGxvY2siLCAgICAgICAgICAgcG9zaXhfcGxvY2ssIE1FVEhfVkFSQVJHUywgcG9zaXhfcGxvY2tfX2RvY19ffSwKLSNlbmRpZiAvKiBIQVZFX1BMT0NLICovCisgICAgT1NfR0VUR1JPVVBTX01FVEhPRERFRgorICAgIE9TX0dFVFBJRF9NRVRIT0RERUYKKyAgICBPU19HRVRQR1JQX01FVEhPRERFRgorICAgIE9TX0dFVFBQSURfTUVUSE9EREVGCisgICAgT1NfR0VUVUlEX01FVEhPRERFRgorICAgIE9TX0dFVExPR0lOX01FVEhPRERFRgorICAgIE9TX0tJTExfTUVUSE9EREVGCisgICAgT1NfS0lMTFBHX01FVEhPRERFRgorICAgIE9TX1BMT0NLX01FVEhPRERFRgogI2lmZGVmIE1TX1dJTkRPV1MKICAgICB7InN0YXJ0ZmlsZSIsICAgICAgIHdpbjMyX3N0YXJ0ZmlsZSwgTUVUSF9WQVJBUkdTLCB3aW4zMl9zdGFydGZpbGVfX2RvY19ffSwKLSAgICB7ImtpbGwiLCAgICB3aW4zMl9raWxsLCBNRVRIX1ZBUkFSR1MsIHdpbjMyX2tpbGxfX2RvY19ffSwKICNlbmRpZgotI2lmZGVmIEhBVkVfU0VUVUlECi0gICAgeyJzZXR1aWQiLCAgICAgICAgICBwb3NpeF9zZXR1aWQsIE1FVEhfVkFSQVJHUywgcG9zaXhfc2V0dWlkX19kb2NfX30sCi0jZW5kaWYgLyogSEFWRV9TRVRVSUQgKi8KLSNpZmRlZiBIQVZFX1NFVEVVSUQKLSAgICB7InNldGV1aWQiLCAgICAgICAgIHBvc2l4X3NldGV1aWQsIE1FVEhfVkFSQVJHUywgcG9zaXhfc2V0ZXVpZF9fZG9jX199LAotI2VuZGlmIC8qIEhBVkVfU0VURVVJRCAqLwotI2lmZGVmIEhBVkVfU0VURUdJRAotICAgIHsic2V0ZWdpZCIsICAgICAgICAgcG9zaXhfc2V0ZWdpZCwgTUVUSF9WQVJBUkdTLCBwb3NpeF9zZXRlZ2lkX19kb2NfX30sCi0jZW5kaWYgLyogSEFWRV9TRVRFR0lEICovCi0jaWZkZWYgSEFWRV9TRVRSRVVJRAotICAgIHsic2V0cmV1aWQiLCAgICAgICAgcG9zaXhfc2V0cmV1aWQsIE1FVEhfVkFSQVJHUywgcG9zaXhfc2V0cmV1aWRfX2RvY19ffSwKLSNlbmRpZiAvKiBIQVZFX1NFVFJFVUlEICovCi0jaWZkZWYgSEFWRV9TRVRSRUdJRAotICAgIHsic2V0cmVnaWQiLCAgICAgICAgcG9zaXhfc2V0cmVnaWQsIE1FVEhfVkFSQVJHUywgcG9zaXhfc2V0cmVnaWRfX2RvY19ffSwKLSNlbmRpZiAvKiBIQVZFX1NFVFJFR0lEICovCi0jaWZkZWYgSEFWRV9TRVRHSUQKLSAgICB7InNldGdpZCIsICAgICAgICAgIHBvc2l4X3NldGdpZCwgTUVUSF9WQVJBUkdTLCBwb3NpeF9zZXRnaWRfX2RvY19ffSwKLSNlbmRpZiAvKiBIQVZFX1NFVEdJRCAqLwotI2lmZGVmIEhBVkVfU0VUR1JPVVBTCi0gICAgeyJzZXRncm91cHMiLCAgICAgICBwb3NpeF9zZXRncm91cHMsIE1FVEhfTywgcG9zaXhfc2V0Z3JvdXBzX19kb2NfX30sCi0jZW5kaWYgLyogSEFWRV9TRVRHUk9VUFMgKi8KKyAgICBPU19TRVRVSURfTUVUSE9EREVGCisgICAgT1NfU0VURVVJRF9NRVRIT0RERUYKKyAgICBPU19TRVRSRVVJRF9NRVRIT0RERUYKKyAgICBPU19TRVRHSURfTUVUSE9EREVGCisgICAgT1NfU0VURUdJRF9NRVRIT0RERUYKKyAgICBPU19TRVRSRUdJRF9NRVRIT0RERUYKKyAgICBPU19TRVRHUk9VUFNfTUVUSE9EREVGCiAjaWZkZWYgSEFWRV9JTklUR1JPVVBTCiAgICAgeyJpbml0Z3JvdXBzIiwgICAgICBwb3NpeF9pbml0Z3JvdXBzLCBNRVRIX1ZBUkFSR1MsIHBvc2l4X2luaXRncm91cHNfX2RvY19ffSwKICNlbmRpZiAvKiBIQVZFX0lOSVRHUk9VUFMgKi8KLSNpZmRlZiBIQVZFX0dFVFBHSUQKLSAgICB7ImdldHBnaWQiLCAgICAgICAgIHBvc2l4X2dldHBnaWQsIE1FVEhfVkFSQVJHUywgcG9zaXhfZ2V0cGdpZF9fZG9jX199LAotI2VuZGlmIC8qIEhBVkVfR0VUUEdJRCAqLwotI2lmZGVmIEhBVkVfU0VUUEdSUAotICAgIHsic2V0cGdycCIsICAgICAgICAgcG9zaXhfc2V0cGdycCwgTUVUSF9OT0FSR1MsIHBvc2l4X3NldHBncnBfX2RvY19ffSwKLSNlbmRpZiAvKiBIQVZFX1NFVFBHUlAgKi8KLSNpZmRlZiBIQVZFX1dBSVQKLSAgICB7IndhaXQiLCAgICAgICAgICAgIHBvc2l4X3dhaXQsIE1FVEhfTk9BUkdTLCBwb3NpeF93YWl0X19kb2NfX30sCi0jZW5kaWYgLyogSEFWRV9XQUlUICovCi0jaWZkZWYgSEFWRV9XQUlUMwotICAgIHsid2FpdDMiLCAgICAgICAgICAgcG9zaXhfd2FpdDMsIE1FVEhfVkFSQVJHUywgcG9zaXhfd2FpdDNfX2RvY19ffSwKLSNlbmRpZiAvKiBIQVZFX1dBSVQzICovCi0jaWZkZWYgSEFWRV9XQUlUNAotICAgIHsid2FpdDQiLCAgICAgICAgICAgcG9zaXhfd2FpdDQsIE1FVEhfVkFSQVJHUywgcG9zaXhfd2FpdDRfX2RvY19ffSwKLSNlbmRpZiAvKiBIQVZFX1dBSVQ0ICovCi0jaWYgZGVmaW5lZChIQVZFX1dBSVRJRCkgJiYgIWRlZmluZWQoX19BUFBMRV9fKQotICAgIHsid2FpdGlkIiwgICAgICAgICAgcG9zaXhfd2FpdGlkLCBNRVRIX1ZBUkFSR1MsIHBvc2l4X3dhaXRpZF9fZG9jX199LAotI2VuZGlmCi0jaWYgZGVmaW5lZChIQVZFX1dBSVRQSUQpIHx8IGRlZmluZWQoSEFWRV9DV0FJVCkKLSAgICB7IndhaXRwaWQiLCAgICAgICAgIHBvc2l4X3dhaXRwaWQsIE1FVEhfVkFSQVJHUywgcG9zaXhfd2FpdHBpZF9fZG9jX199LAotI2VuZGlmIC8qIEhBVkVfV0FJVFBJRCAqLwotI2lmZGVmIEhBVkVfR0VUU0lECi0gICAgeyJnZXRzaWQiLCAgICAgICAgICBwb3NpeF9nZXRzaWQsIE1FVEhfVkFSQVJHUywgcG9zaXhfZ2V0c2lkX19kb2NfX30sCi0jZW5kaWYgLyogSEFWRV9HRVRTSUQgKi8KLSNpZmRlZiBIQVZFX1NFVFNJRAotICAgIHsic2V0c2lkIiwgICAgICAgICAgcG9zaXhfc2V0c2lkLCBNRVRIX05PQVJHUywgcG9zaXhfc2V0c2lkX19kb2NfX30sCi0jZW5kaWYgLyogSEFWRV9TRVRTSUQgKi8KLSNpZmRlZiBIQVZFX1NFVFBHSUQKLSAgICB7InNldHBnaWQiLCAgICAgICAgIHBvc2l4X3NldHBnaWQsIE1FVEhfVkFSQVJHUywgcG9zaXhfc2V0cGdpZF9fZG9jX199LAotI2VuZGlmIC8qIEhBVkVfU0VUUEdJRCAqLwotI2lmZGVmIEhBVkVfVENHRVRQR1JQCi0gICAgeyJ0Y2dldHBncnAiLCAgICAgICBwb3NpeF90Y2dldHBncnAsIE1FVEhfVkFSQVJHUywgcG9zaXhfdGNnZXRwZ3JwX19kb2NfX30sCi0jZW5kaWYgLyogSEFWRV9UQ0dFVFBHUlAgKi8KLSNpZmRlZiBIQVZFX1RDU0VUUEdSUAotICAgIHsidGNzZXRwZ3JwIiwgICAgICAgcG9zaXhfdGNzZXRwZ3JwLCBNRVRIX1ZBUkFSR1MsIHBvc2l4X3Rjc2V0cGdycF9fZG9jX199LAotI2VuZGlmIC8qIEhBVkVfVENTRVRQR1JQICovCi0gICAgeyJvcGVuIiwgICAgICAgICAgICAoUHlDRnVuY3Rpb24pcG9zaXhfb3BlbixcCi0gICAgICAgICAgICAgICAgICAgICAgICBNRVRIX1ZBUkFSR1MgfCBNRVRIX0tFWVdPUkRTLAotICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXhfb3Blbl9fZG9jX199LAotICAgIHsiY2xvc2UiLCAgICAgICAgICAgcG9zaXhfY2xvc2VfLCBNRVRIX1ZBUkFSR1MsIHBvc2l4X2Nsb3NlX19kb2NfX30sCi0gICAgeyJjbG9zZXJhbmdlIiwgICAgICBwb3NpeF9jbG9zZXJhbmdlLCBNRVRIX1ZBUkFSR1MsIHBvc2l4X2Nsb3NlcmFuZ2VfX2RvY19ffSwKLSAgICB7ImRldmljZV9lbmNvZGluZyIsIGRldmljZV9lbmNvZGluZywgTUVUSF9WQVJBUkdTLCBkZXZpY2VfZW5jb2RpbmdfX2RvY19ffSwKLSAgICB7ImR1cCIsICAgICAgICAgICAgIHBvc2l4X2R1cCwgTUVUSF9WQVJBUkdTLCBwb3NpeF9kdXBfX2RvY19ffSwKLSAgICB7ImR1cDIiLCAgICAgICAgICAgIChQeUNGdW5jdGlvbilwb3NpeF9kdXAyLAotICAgICAgICAgICAgICAgICAgICAgICAgTUVUSF9WQVJBUkdTIHwgTUVUSF9LRVlXT1JEUywgcG9zaXhfZHVwMl9fZG9jX199LAotI2lmZGVmIEhBVkVfTE9DS0YKLSAgICB7ImxvY2tmIiwgICAgICAgICAgIHBvc2l4X2xvY2tmLCBNRVRIX1ZBUkFSR1MsIHBvc2l4X2xvY2tmX19kb2NfX30sCi0jZW5kaWYKLSAgICB7ImxzZWVrIiwgICAgICAgICAgIHBvc2l4X2xzZWVrLCBNRVRIX1ZBUkFSR1MsIHBvc2l4X2xzZWVrX19kb2NfX30sCi0gICAgeyJyZWFkIiwgICAgICAgICAgICBwb3NpeF9yZWFkLCBNRVRIX1ZBUkFSR1MsIHBvc2l4X3JlYWRfX2RvY19ffSwKLSNpZmRlZiBIQVZFX1JFQURWCi0gICAgeyJyZWFkdiIsICAgICAgICAgICBwb3NpeF9yZWFkdiwgTUVUSF9WQVJBUkdTLCBwb3NpeF9yZWFkdl9fZG9jX199LAotI2VuZGlmCi0jaWZkZWYgSEFWRV9QUkVBRAotICAgIHsicHJlYWQiLCAgICAgICAgICAgcG9zaXhfcHJlYWQsIE1FVEhfVkFSQVJHUywgcG9zaXhfcHJlYWRfX2RvY19ffSwKLSNlbmRpZgotICAgIHsid3JpdGUiLCAgICAgICAgICAgcG9zaXhfd3JpdGUsIE1FVEhfVkFSQVJHUywgcG9zaXhfd3JpdGVfX2RvY19ffSwKLSNpZmRlZiBIQVZFX1dSSVRFVgotICAgIHsid3JpdGV2IiwgICAgICAgICAgcG9zaXhfd3JpdGV2LCBNRVRIX1ZBUkFSR1MsIHBvc2l4X3dyaXRldl9fZG9jX199LAotI2VuZGlmCi0jaWZkZWYgSEFWRV9QV1JJVEUKLSAgICB7InB3cml0ZSIsICAgICAgICAgIHBvc2l4X3B3cml0ZSwgTUVUSF9WQVJBUkdTLCBwb3NpeF9wd3JpdGVfX2RvY19ffSwKLSNlbmRpZgorICAgIE9TX0dFVFBHSURfTUVUSE9EREVGCisgICAgT1NfU0VUUEdSUF9NRVRIT0RERUYKKyAgICBPU19XQUlUX01FVEhPRERFRgorICAgIE9TX1dBSVQzX01FVEhPRERFRgorICAgIE9TX1dBSVQ0X01FVEhPRERFRgorICAgIE9TX1dBSVRJRF9NRVRIT0RERUYKKyAgICBPU19XQUlUUElEX01FVEhPRERFRgorICAgIE9TX0dFVFNJRF9NRVRIT0RERUYKKyAgICBPU19TRVRTSURfTUVUSE9EREVGCisgICAgT1NfU0VUUEdJRF9NRVRIT0RERUYKKyAgICBPU19UQ0dFVFBHUlBfTUVUSE9EREVGCisgICAgT1NfVENTRVRQR1JQX01FVEhPRERFRgorICAgIE9TX09QRU5fTUVUSE9EREVGCisgICAgT1NfQ0xPU0VfTUVUSE9EREVGCisgICAgT1NfQ0xPU0VSQU5HRV9NRVRIT0RERUYKKyAgICBPU19ERVZJQ0VfRU5DT0RJTkdfTUVUSE9EREVGCisgICAgT1NfRFVQX01FVEhPRERFRgorICAgIE9TX0RVUDJfTUVUSE9EREVGCisgICAgT1NfTE9DS0ZfTUVUSE9EREVGCisgICAgT1NfTFNFRUtfTUVUSE9EREVGCisgICAgT1NfUkVBRF9NRVRIT0RERUYKKyAgICBPU19SRUFEVl9NRVRIT0RERUYKKyAgICBPU19QUkVBRF9NRVRIT0RERUYKKyAgICBPU19XUklURV9NRVRIT0RERUYKKyAgICBPU19XUklURVZfTUVUSE9EREVGCisgICAgT1NfUFdSSVRFX01FVEhPRERFRgogI2lmZGVmIEhBVkVfU0VOREZJTEUKICAgICB7InNlbmRmaWxlIiwgICAgICAgIChQeUNGdW5jdGlvbilwb3NpeF9zZW5kZmlsZSwgTUVUSF9WQVJBUkdTIHwgTUVUSF9LRVlXT1JEUywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpeF9zZW5kZmlsZV9fZG9jX199LAogI2VuZGlmCi0gICAgeyJmc3RhdCIsICAgICAgICAgICBwb3NpeF9mc3RhdCwgTUVUSF9WQVJBUkdTLCBwb3NpeF9mc3RhdF9fZG9jX199LAotICAgIHsiaXNhdHR5IiwgICAgICAgICAgcG9zaXhfaXNhdHR5LCBNRVRIX1ZBUkFSR1MsIHBvc2l4X2lzYXR0eV9fZG9jX199LAotI2lmZGVmIEhBVkVfUElQRQotICAgIHsicGlwZSIsICAgICAgICAgICAgcG9zaXhfcGlwZSwgTUVUSF9OT0FSR1MsIHBvc2l4X3BpcGVfX2RvY19ffSwKLSNlbmRpZgotI2lmZGVmIEhBVkVfUElQRTIKLSAgICB7InBpcGUyIiwgICAgICAgICAgIHBvc2l4X3BpcGUyLCBNRVRIX08sIHBvc2l4X3BpcGUyX19kb2NfX30sCi0jZW5kaWYKLSNpZmRlZiBIQVZFX01LRklGTwotICAgIHsibWtmaWZvIiwgICAgICAgICAgKFB5Q0Z1bmN0aW9uKXBvc2l4X21rZmlmbywKLSAgICAgICAgICAgICAgICAgICAgICAgIE1FVEhfVkFSQVJHUyB8IE1FVEhfS0VZV09SRFMsCi0gICAgICAgICAgICAgICAgICAgICAgICBwb3NpeF9ta2ZpZm9fX2RvY19ffSwKLSNlbmRpZgotI2lmIGRlZmluZWQoSEFWRV9NS05PRCkgJiYgZGVmaW5lZChIQVZFX01BS0VERVYpCi0gICAgeyJta25vZCIsICAgICAgICAgICAoUHlDRnVuY3Rpb24pcG9zaXhfbWtub2QsCi0gICAgICAgICAgICAgICAgICAgICAgICBNRVRIX1ZBUkFSR1MgfCBNRVRIX0tFWVdPUkRTLAotICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXhfbWtub2RfX2RvY19ffSwKLSNlbmRpZgotI2lmZGVmIEhBVkVfREVWSUNFX01BQ1JPUwotICAgIHsibWFqb3IiLCAgICAgICAgICAgcG9zaXhfbWFqb3IsIE1FVEhfVkFSQVJHUywgcG9zaXhfbWFqb3JfX2RvY19ffSwKLSAgICB7Im1pbm9yIiwgICAgICAgICAgIHBvc2l4X21pbm9yLCBNRVRIX1ZBUkFSR1MsIHBvc2l4X21pbm9yX19kb2NfX30sCi0gICAgeyJtYWtlZGV2IiwgICAgICAgICBwb3NpeF9tYWtlZGV2LCBNRVRIX1ZBUkFSR1MsIHBvc2l4X21ha2VkZXZfX2RvY19ffSwKLSNlbmRpZgotI2lmZGVmIEhBVkVfRlRSVU5DQVRFCi0gICAgeyJmdHJ1bmNhdGUiLCAgICAgICBwb3NpeF9mdHJ1bmNhdGUsIE1FVEhfVkFSQVJHUywgcG9zaXhfZnRydW5jYXRlX19kb2NfX30sCi0jZW5kaWYKLSNpZmRlZiBIQVZFX1RSVU5DQVRFCi0gICAgeyJ0cnVuY2F0ZSIsICAgICAgICAoUHlDRnVuY3Rpb24pcG9zaXhfdHJ1bmNhdGUsCi0gICAgICAgICAgICAgICAgICAgICAgICBNRVRIX1ZBUkFSR1MgfCBNRVRIX0tFWVdPUkRTLAotICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXhfdHJ1bmNhdGVfX2RvY19ffSwKLSNlbmRpZgotI2lmIGRlZmluZWQoSEFWRV9QT1NJWF9GQUxMT0NBVEUpICYmICFkZWZpbmVkKFBPU0lYX0ZBRFZJU0VfQUlYX0JVRykKLSAgICB7InBvc2l4X2ZhbGxvY2F0ZSIsIHBvc2l4X3Bvc2l4X2ZhbGxvY2F0ZSwgTUVUSF9WQVJBUkdTLCBwb3NpeF9wb3NpeF9mYWxsb2NhdGVfX2RvY19ffSwKLSNlbmRpZgotI2lmIGRlZmluZWQoSEFWRV9QT1NJWF9GQURWSVNFKSAmJiAhZGVmaW5lZChQT1NJWF9GQURWSVNFX0FJWF9CVUcpCi0gICAgeyJwb3NpeF9mYWR2aXNlIiwgICBwb3NpeF9wb3NpeF9mYWR2aXNlLCBNRVRIX1ZBUkFSR1MsIHBvc2l4X3Bvc2l4X2ZhZHZpc2VfX2RvY19ffSwKLSNlbmRpZgotI2lmZGVmIEhBVkVfUFVURU5WCi0gICAgeyJwdXRlbnYiLCAgICAgICAgICBwb3NpeF9wdXRlbnYsIE1FVEhfVkFSQVJHUywgcG9zaXhfcHV0ZW52X19kb2NfX30sCi0jZW5kaWYKLSNpZmRlZiBIQVZFX1VOU0VURU5WCi0gICAgeyJ1bnNldGVudiIsICAgICAgICBwb3NpeF91bnNldGVudiwgTUVUSF9WQVJBUkdTLCBwb3NpeF91bnNldGVudl9fZG9jX199LAotI2VuZGlmCi0gICAgeyJzdHJlcnJvciIsICAgICAgICBwb3NpeF9zdHJlcnJvciwgTUVUSF9WQVJBUkdTLCBwb3NpeF9zdHJlcnJvcl9fZG9jX199LAotI2lmZGVmIEhBVkVfRkNIRElSCi0gICAgeyJmY2hkaXIiLCAgICAgICAgICBwb3NpeF9mY2hkaXIsIE1FVEhfTywgcG9zaXhfZmNoZGlyX19kb2NfX30sCi0jZW5kaWYKLSNpZmRlZiBIQVZFX0ZTWU5DCi0gICAgeyJmc3luYyIsICAgICAgIHBvc2l4X2ZzeW5jLCBNRVRIX08sIHBvc2l4X2ZzeW5jX19kb2NfX30sCi0jZW5kaWYKLSNpZmRlZiBIQVZFX1NZTkMKLSAgICB7InN5bmMiLCAgICAgICAgcG9zaXhfc3luYywgTUVUSF9OT0FSR1MsIHBvc2l4X3N5bmNfX2RvY19ffSwKLSNlbmRpZgotI2lmZGVmIEhBVkVfRkRBVEFTWU5DCi0gICAgeyJmZGF0YXN5bmMiLCAgIHBvc2l4X2ZkYXRhc3luYywgIE1FVEhfTywgcG9zaXhfZmRhdGFzeW5jX19kb2NfX30sCi0jZW5kaWYKLSNpZmRlZiBIQVZFX1NZU19XQUlUX0gKLSNpZmRlZiBXQ09SRURVTVAKLSAgICB7IldDT1JFRFVNUCIsICAgICAgIHBvc2l4X1dDT1JFRFVNUCwgTUVUSF9WQVJBUkdTLCBwb3NpeF9XQ09SRURVTVBfX2RvY19ffSwKLSNlbmRpZiAvKiBXQ09SRURVTVAgKi8KLSNpZmRlZiBXSUZDT05USU5VRUQKLSAgICB7IldJRkNPTlRJTlVFRCIscG9zaXhfV0lGQ09OVElOVUVELCBNRVRIX1ZBUkFSR1MsIHBvc2l4X1dJRkNPTlRJTlVFRF9fZG9jX199LAotI2VuZGlmIC8qIFdJRkNPTlRJTlVFRCAqLwotI2lmZGVmIFdJRlNUT1BQRUQKLSAgICB7IldJRlNUT1BQRUQiLCAgICAgIHBvc2l4X1dJRlNUT1BQRUQsIE1FVEhfVkFSQVJHUywgcG9zaXhfV0lGU1RPUFBFRF9fZG9jX199LAotI2VuZGlmIC8qIFdJRlNUT1BQRUQgKi8KLSNpZmRlZiBXSUZTSUdOQUxFRAotICAgIHsiV0lGU0lHTkFMRUQiLCAgICAgcG9zaXhfV0lGU0lHTkFMRUQsIE1FVEhfVkFSQVJHUywgcG9zaXhfV0lGU0lHTkFMRURfX2RvY19ffSwKLSNlbmRpZiAvKiBXSUZTSUdOQUxFRCAqLwotI2lmZGVmIFdJRkVYSVRFRAotICAgIHsiV0lGRVhJVEVEIiwgICAgICAgcG9zaXhfV0lGRVhJVEVELCBNRVRIX1ZBUkFSR1MsIHBvc2l4X1dJRkVYSVRFRF9fZG9jX199LAotI2VuZGlmIC8qIFdJRkVYSVRFRCAqLwotI2lmZGVmIFdFWElUU1RBVFVTCi0gICAgeyJXRVhJVFNUQVRVUyIsICAgICBwb3NpeF9XRVhJVFNUQVRVUywgTUVUSF9WQVJBUkdTLCBwb3NpeF9XRVhJVFNUQVRVU19fZG9jX199LAotI2VuZGlmIC8qIFdFWElUU1RBVFVTICovCi0jaWZkZWYgV1RFUk1TSUcKLSAgICB7IldURVJNU0lHIiwgICAgICAgIHBvc2l4X1dURVJNU0lHLCBNRVRIX1ZBUkFSR1MsIHBvc2l4X1dURVJNU0lHX19kb2NfX30sCi0jZW5kaWYgLyogV1RFUk1TSUcgKi8KLSNpZmRlZiBXU1RPUFNJRwotICAgIHsiV1NUT1BTSUciLCAgICAgICAgcG9zaXhfV1NUT1BTSUcsIE1FVEhfVkFSQVJHUywgcG9zaXhfV1NUT1BTSUdfX2RvY19ffSwKLSNlbmRpZiAvKiBXU1RPUFNJRyAqLwotI2VuZGlmIC8qIEhBVkVfU1lTX1dBSVRfSCAqLwotI2lmIGRlZmluZWQoSEFWRV9GU1RBVFZGUykgJiYgZGVmaW5lZChIQVZFX1NZU19TVEFUVkZTX0gpCi0gICAgeyJmc3RhdHZmcyIsICAgICAgICBwb3NpeF9mc3RhdHZmcywgTUVUSF9WQVJBUkdTLCBwb3NpeF9mc3RhdHZmc19fZG9jX199LAotI2VuZGlmCi0jaWYgZGVmaW5lZChIQVZFX1NUQVRWRlMpICYmIGRlZmluZWQoSEFWRV9TWVNfU1RBVFZGU19IKQotICAgIHsic3RhdHZmcyIsICAgICAgICAgKFB5Q0Z1bmN0aW9uKXBvc2l4X3N0YXR2ZnMsCi0gICAgICAgICAgICAgICAgICAgICAgICBNRVRIX1ZBUkFSR1MgfCBNRVRIX0tFWVdPUkRTLAotICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXhfc3RhdHZmc19fZG9jX199LAotI2VuZGlmCi0jaWZkZWYgSEFWRV9DT05GU1RSCi0gICAgeyJjb25mc3RyIiwgICAgICAgICBwb3NpeF9jb25mc3RyLCBNRVRIX1ZBUkFSR1MsIHBvc2l4X2NvbmZzdHJfX2RvY19ffSwKLSNlbmRpZgotI2lmZGVmIEhBVkVfU1lTQ09ORgotICAgIHsic3lzY29uZiIsICAgICAgICAgcG9zaXhfc3lzY29uZiwgTUVUSF9WQVJBUkdTLCBwb3NpeF9zeXNjb25mX19kb2NfX30sCi0jZW5kaWYKLSNpZmRlZiBIQVZFX0ZQQVRIQ09ORgotICAgIHsiZnBhdGhjb25mIiwgICAgICAgcG9zaXhfZnBhdGhjb25mLCBNRVRIX1ZBUkFSR1MsIHBvc2l4X2ZwYXRoY29uZl9fZG9jX199LAotI2VuZGlmCi0jaWZkZWYgSEFWRV9QQVRIQ09ORgotICAgIHsicGF0aGNvbmYiLCAgICAgICAgKFB5Q0Z1bmN0aW9uKXBvc2l4X3BhdGhjb25mLAotICAgICAgICAgICAgICAgICAgICAgICAgTUVUSF9WQVJBUkdTIHwgTUVUSF9LRVlXT1JEUywKLSAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l4X3BhdGhjb25mX19kb2NfX30sCi0jZW5kaWYKLSAgICB7ImFib3J0IiwgICAgICAgICAgIHBvc2l4X2Fib3J0LCBNRVRIX05PQVJHUywgcG9zaXhfYWJvcnRfX2RvY19ffSwKKyAgICBPU19GU1RBVF9NRVRIT0RERUYKKyAgICBPU19JU0FUVFlfTUVUSE9EREVGCisgICAgT1NfUElQRV9NRVRIT0RERUYKKyAgICBPU19QSVBFMl9NRVRIT0RERUYKKyAgICBPU19NS0ZJRk9fTUVUSE9EREVGCisgICAgT1NfTUtOT0RfTUVUSE9EREVGCisgICAgT1NfTUFKT1JfTUVUSE9EREVGCisgICAgT1NfTUlOT1JfTUVUSE9EREVGCisgICAgT1NfTUFLRURFVl9NRVRIT0RERUYKKyAgICBPU19GVFJVTkNBVEVfTUVUSE9EREVGCisgICAgT1NfVFJVTkNBVEVfTUVUSE9EREVGCisgICAgT1NfUE9TSVhfRkFMTE9DQVRFX01FVEhPRERFRgorICAgIE9TX1BPU0lYX0ZBRFZJU0VfTUVUSE9EREVGCisgICAgT1NfUFVURU5WX01FVEhPRERFRgorICAgIE9TX1VOU0VURU5WX01FVEhPRERFRgorICAgIE9TX1NUUkVSUk9SX01FVEhPRERFRgorICAgIE9TX0ZDSERJUl9NRVRIT0RERUYKKyAgICBPU19GU1lOQ19NRVRIT0RERUYKKyAgICBPU19TWU5DX01FVEhPRERFRgorICAgIE9TX0ZEQVRBU1lOQ19NRVRIT0RERUYKKyAgICBPU19XQ09SRURVTVBfTUVUSE9EREVGCisgICAgT1NfV0lGQ09OVElOVUVEX01FVEhPRERFRgorICAgIE9TX1dJRlNUT1BQRURfTUVUSE9EREVGCisgICAgT1NfV0lGU0lHTkFMRURfTUVUSE9EREVGCisgICAgT1NfV0lGRVhJVEVEX01FVEhPRERFRgorICAgIE9TX1dFWElUU1RBVFVTX01FVEhPRERFRgorICAgIE9TX1dURVJNU0lHX01FVEhPRERFRgorICAgIE9TX1dTVE9QU0lHX01FVEhPRERFRgorICAgIE9TX0ZTVEFUVkZTX01FVEhPRERFRgorICAgIE9TX1NUQVRWRlNfTUVUSE9EREVGCisgICAgT1NfQ09ORlNUUl9NRVRIT0RERUYKKyAgICBPU19TWVNDT05GX01FVEhPRERFRgorICAgIE9TX0ZQQVRIQ09ORl9NRVRIT0RERUYKKyAgICBPU19QQVRIQ09ORl9NRVRIT0RERUYKKyAgICBPU19BQk9SVF9NRVRIT0RERUYKICNpZmRlZiBNU19XSU5ET1dTCiAgICAgeyJfZ2V0ZnVsbHBhdGhuYW1lIiwgICAgICAgIHBvc2l4X19nZXRmdWxscGF0aG5hbWUsIE1FVEhfVkFSQVJHUywgTlVMTH0sCi0gICAgeyJfZ2V0ZmluYWxwYXRobmFtZSIsICAgICAgIHBvc2l4X19nZXRmaW5hbHBhdGhuYW1lLCBNRVRIX1ZBUkFSR1MsIE5VTEx9LAogICAgIHsiX2lzZGlyIiwgICAgICAgICAgICAgICAgICBwb3NpeF9faXNkaXIsIE1FVEhfVkFSQVJHUywgcG9zaXhfX2lzZGlyX19kb2NfX30sCi0gICAgeyJfZ2V0ZGlza3VzYWdlIiwgICAgICAgICAgIHdpbjMyX19nZXRkaXNrdXNhZ2UsIE1FVEhfVkFSQVJHUywgd2luMzJfX2dldGRpc2t1c2FnZV9fZG9jX199LAotICAgIHsiX2dldHZvbHVtZXBhdGhuYW1lIiwgICAgICBwb3NpeF9fZ2V0dm9sdW1lcGF0aG5hbWUsIE1FVEhfVkFSQVJHUywgcG9zaXhfX2dldHZvbHVtZXBhdGhuYW1lX19kb2NfX30sCiAjZW5kaWYKLSNpZmRlZiBIQVZFX0dFVExPQURBVkcKLSAgICB7ImdldGxvYWRhdmciLCAgICAgIHBvc2l4X2dldGxvYWRhdmcsIE1FVEhfTk9BUkdTLCBwb3NpeF9nZXRsb2FkYXZnX19kb2NfX30sCi0jZW5kaWYKLSAgICB7InVyYW5kb20iLCAgICAgICAgIHBvc2l4X3VyYW5kb20sICAgTUVUSF9WQVJBUkdTLCBwb3NpeF91cmFuZG9tX19kb2NfX30sCi0jaWZkZWYgSEFWRV9TRVRSRVNVSUQKLSAgICB7InNldHJlc3VpZCIsICAgICAgIHBvc2l4X3NldHJlc3VpZCwgTUVUSF9WQVJBUkdTLCBwb3NpeF9zZXRyZXN1aWRfX2RvY19ffSwKLSNlbmRpZgotI2lmZGVmIEhBVkVfU0VUUkVTR0lECi0gICAgeyJzZXRyZXNnaWQiLCAgICAgICBwb3NpeF9zZXRyZXNnaWQsIE1FVEhfVkFSQVJHUywgcG9zaXhfc2V0cmVzZ2lkX19kb2NfX30sCi0jZW5kaWYKLSNpZmRlZiBIQVZFX0dFVFJFU1VJRAotICAgIHsiZ2V0cmVzdWlkIiwgICAgICAgcG9zaXhfZ2V0cmVzdWlkLCBNRVRIX05PQVJHUywgcG9zaXhfZ2V0cmVzdWlkX19kb2NfX30sCi0jZW5kaWYKLSNpZmRlZiBIQVZFX0dFVFJFU0dJRAotICAgIHsiZ2V0cmVzZ2lkIiwgICAgICAgcG9zaXhfZ2V0cmVzZ2lkLCBNRVRIX05PQVJHUywgcG9zaXhfZ2V0cmVzZ2lkX19kb2NfX30sCi0jZW5kaWYKKyAgICBPU19fR0VURElTS1VTQUdFX01FVEhPRERFRgorICAgIE9TX19HRVRGSU5BTFBBVEhOQU1FX01FVEhPRERFRgorICAgIE9TX19HRVRWT0xVTUVQQVRITkFNRV9NRVRIT0RERUYKKyAgICBPU19HRVRMT0FEQVZHX01FVEhPRERFRgorICAgIE9TX1VSQU5ET01fTUVUSE9EREVGCisgICAgT1NfU0VUUkVTVUlEX01FVEhPRERFRgorICAgIE9TX1NFVFJFU0dJRF9NRVRIT0RERUYKKyAgICBPU19HRVRSRVNVSURfTUVUSE9EREVGCisgICAgT1NfR0VUUkVTR0lEX01FVEhPRERFRgogCi0jaWZkZWYgVVNFX1hBVFRSUwotICAgIHsic2V0eGF0dHIiLCAoUHlDRnVuY3Rpb24pcG9zaXhfc2V0eGF0dHIsCi0gICAgICAgICAgICAgICAgIE1FVEhfVkFSQVJHUyB8IE1FVEhfS0VZV09SRFMsCi0gICAgICAgICAgICAgICAgIHBvc2l4X3NldHhhdHRyX19kb2NfX30sCi0gICAgeyJnZXR4YXR0ciIsIChQeUNGdW5jdGlvbilwb3NpeF9nZXR4YXR0ciwKLSAgICAgICAgICAgICAgICAgTUVUSF9WQVJBUkdTIHwgTUVUSF9LRVlXT1JEUywKLSAgICAgICAgICAgICAgICAgcG9zaXhfZ2V0eGF0dHJfX2RvY19ffSwKLSAgICB7InJlbW92ZXhhdHRyIiwgKFB5Q0Z1bmN0aW9uKXBvc2l4X3JlbW92ZXhhdHRyLAotICAgICAgICAgICAgICAgICBNRVRIX1ZBUkFSR1MgfCBNRVRIX0tFWVdPUkRTLAotICAgICAgICAgICAgICAgICBwb3NpeF9yZW1vdmV4YXR0cl9fZG9jX199LAotICAgIHsibGlzdHhhdHRyIiwgKFB5Q0Z1bmN0aW9uKXBvc2l4X2xpc3R4YXR0ciwKLSAgICAgICAgICAgICAgICAgTUVUSF9WQVJBUkdTIHwgTUVUSF9LRVlXT1JEUywKLSAgICAgICAgICAgICAgICAgcG9zaXhfbGlzdHhhdHRyX19kb2NfX30sCi0jZW5kaWYKKyAgICBPU19HRVRYQVRUUl9NRVRIT0RERUYKKyAgICBPU19TRVRYQVRUUl9NRVRIT0RERUYKKyAgICBPU19SRU1PVkVYQVRUUl9NRVRIT0RERUYKKyAgICBPU19MSVNUWEFUVFJfTUVUSE9EREVGCisKICNpZiBkZWZpbmVkKFRFUk1TSVpFX1VTRV9DT05JTykgfHwgZGVmaW5lZChURVJNU0laRV9VU0VfSU9DVEwpCiAgICAgeyJnZXRfdGVybWluYWxfc2l6ZSIsIGdldF90ZXJtaW5hbF9zaXplLCBNRVRIX1ZBUkFSR1MsIHRlcm1zaXplX19kb2NfX30sCiAjZW5kaWYKLSAgICB7ImNwdV9jb3VudCIsIChQeUNGdW5jdGlvbilwb3NpeF9jcHVfY291bnQsCi0gICAgICAgICAgICAgICAgICBNRVRIX05PQVJHUywgcG9zaXhfY3B1X2NvdW50X19kb2NfX30sCi0gICAgeyJnZXRfaW5oZXJpdGFibGUiLCBwb3NpeF9nZXRfaW5oZXJpdGFibGUsIE1FVEhfVkFSQVJHUywgZ2V0X2luaGVyaXRhYmxlX19kb2NfX30sCi0gICAgeyJzZXRfaW5oZXJpdGFibGUiLCBwb3NpeF9zZXRfaW5oZXJpdGFibGUsIE1FVEhfVkFSQVJHUywgc2V0X2luaGVyaXRhYmxlX19kb2NfX30sCi0jaWZkZWYgTVNfV0lORE9XUwotICAgIHsiZ2V0X2hhbmRsZV9pbmhlcml0YWJsZSIsIHBvc2l4X2dldF9oYW5kbGVfaW5oZXJpdGFibGUsCi0gICAgIE1FVEhfVkFSQVJHUywgZ2V0X2hhbmRsZV9pbmhlcml0YWJsZV9fZG9jX199LAotICAgIHsic2V0X2hhbmRsZV9pbmhlcml0YWJsZSIsIHBvc2l4X3NldF9oYW5kbGVfaW5oZXJpdGFibGUsCi0gICAgIE1FVEhfVkFSQVJHUywgc2V0X2hhbmRsZV9pbmhlcml0YWJsZV9fZG9jX199LAorICAgIE9TX0NQVV9DT1VOVF9NRVRIT0RERUYKKyAgICBPU19HRVRfSU5IRVJJVEFCTEVfTUVUSE9EREVGCisgICAgT1NfU0VUX0lOSEVSSVRBQkxFX01FVEhPRERFRgorICAgIE9TX0dFVF9IQU5ETEVfSU5IRVJJVEFCTEVfTUVUSE9EREVGCisgICAgT1NfU0VUX0hBTkRMRV9JTkhFUklUQUJMRV9NRVRIT0RERUYKKyNpZm5kZWYgTVNfV0lORE9XUworICAgIHsiZ2V0X2Jsb2NraW5nIiwgcG9zaXhfZ2V0X2Jsb2NraW5nLCBNRVRIX1ZBUkFSR1MsIGdldF9ibG9ja2luZ19fZG9jX199LAorICAgIHsic2V0X2Jsb2NraW5nIiwgcG9zaXhfc2V0X2Jsb2NraW5nLCBNRVRIX1ZBUkFSR1MsIHNldF9ibG9ja2luZ19fZG9jX199LAogI2VuZGlmCiAgICAge05VTEwsICAgICAgICAgICAgICBOVUxMfSAgICAgICAgICAgIC8qIFNlbnRpbmVsICovCiB9OwpAQCAtMTIwODAsNyArMTc0NDQsNyBAQAogfQogCiAKLSNpZiAoZGVmaW5lZChfTVNDX1ZFUikgfHwgZGVmaW5lZChfX1dBVENPTUNfXykgfHwgZGVmaW5lZChfX0JPUkxBTkRDX18pKSAmJiAhZGVmaW5lZChfX1FOWF9fKQorI2lmZGVmIE1TX1dJTkRPV1MKICNkZWZpbmUgSU5JVEZVTkMgUHlJbml0X250CiAjZGVmaW5lIE1PRE5BTUUgIm50IgogCkBAIC0xMjMwMiw3ICsxNzY2Niw3IEBACiAgICAgICAgIHNjaGVkX3BhcmFtX2Rlc2MubmFtZSA9IE1PRE5BTUUgIi5zY2hlZF9wYXJhbSI7CiAgICAgICAgIGlmIChQeVN0cnVjdFNlcXVlbmNlX0luaXRUeXBlMigmU2NoZWRQYXJhbVR5cGUsICZzY2hlZF9wYXJhbV9kZXNjKSA8IDApCiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKLSAgICAgICAgU2NoZWRQYXJhbVR5cGUudHBfbmV3ID0gc2NoZWRfcGFyYW1fbmV3OworICAgICAgICBTY2hlZFBhcmFtVHlwZS50cF9uZXcgPSBvc19zY2hlZF9wYXJhbTsKICNlbmRpZgogCiAgICAgICAgIC8qIGluaXRpYWxpemUgVGVybWluYWxTaXplX2luZm8gKi8KZGlmZiAtLWdpdCBhL01vZHVsZXMvcHdkbW9kdWxlLmMgYi9Nb2R1bGVzL3B3ZG1vZHVsZS5jCmluZGV4IGViYjg3MTIuLmIwMjc1M2YgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvcHdkbW9kdWxlLmMKKysrIGIvTW9kdWxlcy9wd2Rtb2R1bGUuYwpAQCAtNiw2ICs2LDEzIEBACiAKICNpbmNsdWRlIDxwd2QuaD4KIAorI2luY2x1ZGUgImNsaW5pYy9wd2Rtb2R1bGUuYy5oIgorLypbY2xpbmljIGlucHV0XQorb3V0cHV0IHByZXNldCBmaWxlCittb2R1bGUgcHdkCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ZGEzOWEzZWU1ZTZiNGIwZCBpbnB1dD1iYmNmNjhiMWY1NDlmOTE3XSovCisKIHN0YXRpYyBQeVN0cnVjdFNlcXVlbmNlX0ZpZWxkIHN0cnVjdF9wd2RfdHlwZV9maWVsZHNbXSA9IHsKICAgICB7InB3X25hbWUiLCAidXNlciBuYW1lIn0sCiAgICAgeyJwd19wYXNzd2QiLCAicGFzc3dvcmQifSwKQEAgLTg3LDE4ICs5NCwyNSBAQAogICAgIHJldHVybiB2OwogfQogCi1QeURvY19TVFJWQVIocHdkX2dldHB3dWlkX19kb2NfXywKLSJnZXRwd3VpZCh1aWQpIC0+IChwd19uYW1lLHB3X3Bhc3N3ZCxwd191aWQsXG5cCi0gICAgICAgICAgICAgICAgICBwd19naWQscHdfZ2Vjb3MscHdfZGlyLHB3X3NoZWxsKVxuXAotUmV0dXJuIHRoZSBwYXNzd29yZCBkYXRhYmFzZSBlbnRyeSBmb3IgdGhlIGdpdmVuIG51bWVyaWMgdXNlciBJRC5cblwKLVNlZSBoZWxwKHB3ZCkgZm9yIG1vcmUgb24gcGFzc3dvcmQgZGF0YWJhc2UgZW50cmllcy4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK3B3ZC5nZXRwd3VpZAorCisgICAgdWlkb2JqOiBvYmplY3QKKyAgICAvCisKK1JldHVybiB0aGUgcGFzc3dvcmQgZGF0YWJhc2UgZW50cnkgZm9yIHRoZSBnaXZlbiBudW1lcmljIHVzZXIgSUQuCisKK1NlZSBgaGVscChwd2QpYCBmb3IgbW9yZSBvbiBwYXNzd29yZCBkYXRhYmFzZSBlbnRyaWVzLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLwogCiBzdGF0aWMgUHlPYmplY3QgKgotcHdkX2dldHB3dWlkKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK3B3ZF9nZXRwd3VpZChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqdWlkb2JqKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWNiYTI5YWU0YzJiY2I4ZTEgaW5wdXQ9YWU2NGQ1MDdhMWM2ZDNlOF0qLwogewogICAgIHVpZF90IHVpZDsKICAgICBzdHJ1Y3QgcGFzc3dkICpwOwotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiTyY6Z2V0cHd1aWQiLCBfUHlfVWlkX0NvbnZlcnRlciwgJnVpZCkpIHsKKworICAgIGlmICghX1B5X1VpZF9Db252ZXJ0ZXIodWlkb2JqLCAmdWlkKSkgewogICAgICAgICBpZiAoUHlFcnJfRXhjZXB0aW9uTWF0Y2hlcyhQeUV4Y19PdmVyZmxvd0Vycm9yKSkKICAgICAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19LZXlFcnJvciwKICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2V0cHd1aWQoKTogdWlkIG5vdCBmb3VuZCIpOwpAQCAtMTE2LDIxICsxMzAsMjUgQEAKICAgICByZXR1cm4gbWtwd2VudChwKTsKIH0KIAotUHlEb2NfU1RSVkFSKHB3ZF9nZXRwd25hbV9fZG9jX18sCi0iZ2V0cHduYW0obmFtZSkgLT4gKHB3X25hbWUscHdfcGFzc3dkLHB3X3VpZCxcblwKLSAgICAgICAgICAgICAgICAgICAgcHdfZ2lkLHB3X2dlY29zLHB3X2Rpcixwd19zaGVsbClcblwKLVJldHVybiB0aGUgcGFzc3dvcmQgZGF0YWJhc2UgZW50cnkgZm9yIHRoZSBnaXZlbiB1c2VyIG5hbWUuXG5cCi1TZWUgaGVscChwd2QpIGZvciBtb3JlIG9uIHBhc3N3b3JkIGRhdGFiYXNlIGVudHJpZXMuIik7CisvKltjbGluaWMgaW5wdXRdCitwd2QuZ2V0cHduYW0KKworICAgIGFyZzogdW5pY29kZQorICAgIC8KKworUmV0dXJuIHRoZSBwYXNzd29yZCBkYXRhYmFzZSBlbnRyeSBmb3IgdGhlIGdpdmVuIHVzZXIgbmFtZS4KKworU2VlIGBoZWxwKHB3ZClgIGZvciBtb3JlIG9uIHBhc3N3b3JkIGRhdGFiYXNlIGVudHJpZXMuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wd2RfZ2V0cHduYW0oUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorcHdkX2dldHB3bmFtX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZykKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD02Njg0OGQ0MmQzODZmY2EzIGlucHV0PWQ1ZjdlNzAwOTE5YjAyZDNdKi8KIHsKICAgICBjaGFyICpuYW1lOwogICAgIHN0cnVjdCBwYXNzd2QgKnA7Ci0gICAgUHlPYmplY3QgKmFyZywgKmJ5dGVzLCAqcmV0dmFsID0gTlVMTDsKKyAgICBQeU9iamVjdCAqYnl0ZXMsICpyZXR2YWwgPSBOVUxMOwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJVOmdldHB3bmFtIiwgJmFyZykpCi0gICAgICAgIHJldHVybiBOVUxMOwogICAgIGlmICgoYnl0ZXMgPSBQeVVuaWNvZGVfRW5jb2RlRlNEZWZhdWx0KGFyZykpID09IE5VTEwpCiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIGlmIChQeUJ5dGVzX0FzU3RyaW5nQW5kU2l6ZShieXRlcywgJm5hbWUsIE5VTEwpID09IC0xKQpAQCAtMTQ3LDE0ICsxNjUsMTcgQEAKIH0KIAogI2lmZGVmIEhBVkVfR0VUUFdFTlQKLVB5RG9jX1NUUlZBUihwd2RfZ2V0cHdhbGxfX2RvY19fLAotImdldHB3YWxsKCkgLT4gbGlzdF9vZl9lbnRyaWVzXG5cCi1SZXR1cm4gYSBsaXN0IG9mIGFsbCBhdmFpbGFibGUgcGFzc3dvcmQgZGF0YWJhc2UgZW50cmllcywgXAotaW4gYXJiaXRyYXJ5IG9yZGVyLlxuXAotU2VlIGhlbHAocHdkKSBmb3IgbW9yZSBvbiBwYXNzd29yZCBkYXRhYmFzZSBlbnRyaWVzLiIpOworLypbY2xpbmljIGlucHV0XQorcHdkLmdldHB3YWxsCisKK1JldHVybiBhIGxpc3Qgb2YgYWxsIGF2YWlsYWJsZSBwYXNzd29yZCBkYXRhYmFzZSBlbnRyaWVzLCBpbiBhcmJpdHJhcnkgb3JkZXIuCisKK1NlZSBoZWxwKHB3ZCkgZm9yIG1vcmUgb24gcGFzc3dvcmQgZGF0YWJhc2UgZW50cmllcy4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KIAogc3RhdGljIFB5T2JqZWN0ICoKLXB3ZF9nZXRwd2FsbChQeU9iamVjdCAqc2VsZikKK3B3ZF9nZXRwd2FsbF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9YWIzMGUzN2JmMjZkNDMxZCBpbnB1dD1kN2VjZWJmZDkwMjE5Yjg1XSovCiB7CiAgICAgUHlPYmplY3QgKmQ7CiAgICAgc3RydWN0IHBhc3N3ZCAqcDsKQEAgLTE3NywxMSArMTk4LDEwIEBACiAjZW5kaWYKIAogc3RhdGljIFB5TWV0aG9kRGVmIHB3ZF9tZXRob2RzW10gPSB7Ci0gICAgeyJnZXRwd3VpZCIsICAgICAgICBwd2RfZ2V0cHd1aWQsIE1FVEhfVkFSQVJHUywgcHdkX2dldHB3dWlkX19kb2NfX30sCi0gICAgeyJnZXRwd25hbSIsICAgICAgICBwd2RfZ2V0cHduYW0sIE1FVEhfVkFSQVJHUywgcHdkX2dldHB3bmFtX19kb2NfX30sCisgICAgUFdEX0dFVFBXVUlEX01FVEhPRERFRgorICAgIFBXRF9HRVRQV05BTV9NRVRIT0RERUYKICNpZmRlZiBIQVZFX0dFVFBXRU5UCi0gICAgeyJnZXRwd2FsbCIsICAgICAgICAoUHlDRnVuY3Rpb24pcHdkX2dldHB3YWxsLAotICAgICAgICBNRVRIX05PQVJHUywgIHB3ZF9nZXRwd2FsbF9fZG9jX199LAorICAgIFBXRF9HRVRQV0FMTF9NRVRIT0RERUYKICNlbmRpZgogICAgIHtOVUxMLCAgICAgICAgICAgICAgTlVMTH0gICAgICAgICAgIC8qIHNlbnRpbmVsICovCiB9OwpkaWZmIC0tZ2l0IGEvTW9kdWxlcy9weWV4cGF0LmMgYi9Nb2R1bGVzL3B5ZXhwYXQuYwppbmRleCAxOWJlMGM3Li4yMWNiMDRhIDEwMDY0NAotLS0gYS9Nb2R1bGVzL3B5ZXhwYXQuYworKysgYi9Nb2R1bGVzL3B5ZXhwYXQuYwpAQCAtNiw2ICs2LDEzIEBACiAKICNpbmNsdWRlICJweWV4cGF0LmgiCiAKKy8qIERvIG5vdCBlbWl0IENsaW5pYyBvdXRwdXQgdG8gYSBmaWxlIGFzIHRoYXQgd3JlYWtzIGhhdm9jIHdpdGggY29uZGl0aW9uYWxseQorICAgaW5jbHVkZWQgbWV0aG9kcy4gKi8KKy8qW2NsaW5pYyBpbnB1dF0KK21vZHVsZSBweWV4cGF0CitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ZGEzOWEzZWU1ZTZiNGIwZCBpbnB1dD1iMTY4ZDUwM2E0NDkwYzE1XSovCisKICNkZWZpbmUgWE1MX0NPTUJJTkVEX1ZFUlNJT04gKDEwMDAwKlhNTF9NQUpPUl9WRVJTSU9OKzEwMCpYTUxfTUlOT1JfVkVSU0lPTitYTUxfTUlDUk9fVkVSU0lPTikKIAogc3RhdGljIFhNTF9NZW1vcnlfSGFuZGxpbmdfU3VpdGUgRXhwYXRNZW1vcnlIYW5kbGVyID0gewpAQCAtNjcxLDYgKzY3OCwxMSBAQAogVk9JRF9IQU5ETEVSKEVuZERvY3R5cGVEZWNsLCAodm9pZCAqdXNlckRhdGEpLCAoIigpIikpCiAKIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KKy8qW2NsaW5pYyBpbnB1dF0KK2NsYXNzIHB5ZXhwYXQueG1scGFyc2VyICJ4bWxwYXJzZW9iamVjdCAqIiAiJlhtbHBhcnNldHlwZSIKK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1kYTM5YTNlZTVlNmI0YjBkIGlucHV0PTIzOTMxNjIzODUyMzJlMWNdKi8KKwogCiBzdGF0aWMgUHlPYmplY3QgKgogZ2V0X3BhcnNlX3Jlc3VsdCh4bWxwYXJzZW9iamVjdCAqc2VsZiwgaW50IHJ2KQpAQCAtNjg3LDI1ICs2OTksNjAgQEAKICAgICByZXR1cm4gUHlMb25nX0Zyb21Mb25nKHJ2KTsKIH0KIAotUHlEb2NfU1RSVkFSKHhtbHBhcnNlX1BhcnNlX19kb2NfXywKLSJQYXJzZShkYXRhWywgaXNmaW5hbF0pXG5cCi1QYXJzZSBYTUwgZGF0YS4gIGBpc2ZpbmFsJyBzaG91bGQgYmUgdHJ1ZSBhdCBlbmQgb2YgaW5wdXQuIik7Ci0KICNkZWZpbmUgTUFYX0NIVU5LX1NJWkUgKDEgPDwgMjApCiAKKy8qW2NsaW5pYyBpbnB1dF0KK3B5ZXhwYXQueG1scGFyc2VyLlBhcnNlCisKKyAgICBkYXRhOiBvYmplY3QKKyAgICBpc0ZpbmFsOiBpbnQgPSAwCisgICAgLworCitQYXJzZSBYTUwgZGF0YS4KKworYGlzZmluYWwnIHNob3VsZCBiZSB0cnVlIGF0IGVuZCBvZiBpbnB1dC4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKHB5ZXhwYXRfeG1scGFyc2VyX1BhcnNlX19kb2NfXywKKyJQYXJzZSgkc2VsZiwgZGF0YSwgaXNGaW5hbD0wLCAvKVxuIgorIi0tXG4iCisiXG4iCisiUGFyc2UgWE1MIGRhdGEuXG4iCisiXG4iCisiYGlzZmluYWxcJyBzaG91bGQgYmUgdHJ1ZSBhdCBlbmQgb2YgaW5wdXQuIik7CisKKyNkZWZpbmUgUFlFWFBBVF9YTUxQQVJTRVJfUEFSU0VfTUVUSE9EREVGICAgIFwKKyAgICB7IlBhcnNlIiwgKFB5Q0Z1bmN0aW9uKXB5ZXhwYXRfeG1scGFyc2VyX1BhcnNlLCBNRVRIX1ZBUkFSR1MsIHB5ZXhwYXRfeG1scGFyc2VyX1BhcnNlX19kb2NfX30sCisKIHN0YXRpYyBQeU9iamVjdCAqCi14bWxwYXJzZV9QYXJzZSh4bWxwYXJzZW9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitweWV4cGF0X3htbHBhcnNlcl9QYXJzZV9pbXBsKHhtbHBhcnNlb2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqZGF0YSwgaW50IGlzRmluYWwpOworCitzdGF0aWMgUHlPYmplY3QgKgorcHlleHBhdF94bWxwYXJzZXJfUGFyc2UoeG1scGFyc2VvYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQogeworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOwogICAgIFB5T2JqZWN0ICpkYXRhOwogICAgIGludCBpc0ZpbmFsID0gMDsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAiT3xpOlBhcnNlIiwKKyAgICAgICAgJmRhdGEsICZpc0ZpbmFsKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IHB5ZXhwYXRfeG1scGFyc2VyX1BhcnNlX2ltcGwoc2VsZiwgZGF0YSwgaXNGaW5hbCk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK3B5ZXhwYXRfeG1scGFyc2VyX1BhcnNlX2ltcGwoeG1scGFyc2VvYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpkYXRhLCBpbnQgaXNGaW5hbCkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD02NWIxNjUyYjAxZjIwODU2IGlucHV0PWUzN2I4MWI4OTQ4Y2E3ZTBdKi8KK3sKICAgICBjb25zdCBjaGFyICpzOwogICAgIFB5X3NzaXplX3Qgc2xlbjsKICAgICBQeV9idWZmZXIgdmlldzsKICAgICBpbnQgcmM7CiAKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIk98aTpQYXJzZSIsICZkYXRhLCAmaXNGaW5hbCkpCi0gICAgICAgIHJldHVybiBOVUxMOwotCiAgICAgaWYgKFB5VW5pY29kZV9DaGVjayhkYXRhKSkgewogICAgICAgICB2aWV3LmJ1ZiA9IE5VTEw7CiAgICAgICAgIHMgPSBQeVVuaWNvZGVfQXNVVEY4QW5kU2l6ZShkYXRhLCAmc2xlbik7CkBAIC03ODAsMTggKzgyNywzMyBAQAogICAgIHJldHVybiAtMTsKIH0KIAotUHlEb2NfU1RSVkFSKHhtbHBhcnNlX1BhcnNlRmlsZV9fZG9jX18sCi0iUGFyc2VGaWxlKGZpbGUpXG5cCi1QYXJzZSBYTUwgZGF0YSBmcm9tIGZpbGUtbGlrZSBvYmplY3QuIik7CisvKltjbGluaWMgaW5wdXRdCitweWV4cGF0LnhtbHBhcnNlci5QYXJzZUZpbGUKKworICAgIGZpbGU6IG9iamVjdAorICAgIC8KKworUGFyc2UgWE1MIGRhdGEgZnJvbSBmaWxlLWxpa2Ugb2JqZWN0LgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIocHlleHBhdF94bWxwYXJzZXJfUGFyc2VGaWxlX19kb2NfXywKKyJQYXJzZUZpbGUoJHNlbGYsIGZpbGUsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJQYXJzZSBYTUwgZGF0YSBmcm9tIGZpbGUtbGlrZSBvYmplY3QuIik7CisKKyNkZWZpbmUgUFlFWFBBVF9YTUxQQVJTRVJfUEFSU0VGSUxFX01FVEhPRERFRiAgICBcCisgICAgeyJQYXJzZUZpbGUiLCAoUHlDRnVuY3Rpb24pcHlleHBhdF94bWxwYXJzZXJfUGFyc2VGaWxlLCBNRVRIX08sIHB5ZXhwYXRfeG1scGFyc2VyX1BhcnNlRmlsZV9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgoteG1scGFyc2VfUGFyc2VGaWxlKHhtbHBhcnNlb2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqZikKK3B5ZXhwYXRfeG1scGFyc2VyX1BhcnNlRmlsZSh4bWxwYXJzZW9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmZpbGUpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9MmUxMzgwM2MzZDhjMjJiMiBpbnB1dD1mYmI1YTEyYjYwMzhkNzM1XSovCiB7CiAgICAgaW50IHJ2ID0gMTsKICAgICBQeU9iamVjdCAqcmVhZG1ldGhvZCA9IE5VTEw7CiAgICAgX1B5X0lERU5USUZJRVIocmVhZCk7CiAKLSAgICByZWFkbWV0aG9kID0gX1B5T2JqZWN0X0dldEF0dHJJZChmLCAmUHlJZF9yZWFkKTsKKyAgICByZWFkbWV0aG9kID0gX1B5T2JqZWN0X0dldEF0dHJJZChmaWxlLCAmUHlJZF9yZWFkKTsKICAgICBpZiAocmVhZG1ldGhvZCA9PSBOVUxMKSB7CiAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsCiAgICAgICAgICAgICAgICAgICAgICAgICAiYXJndW1lbnQgbXVzdCBoYXZlICdyZWFkJyBhdHRyaWJ1dGUiKTsKQEAgLTgyMyw0MiArODg1LDExNyBAQAogICAgIHJldHVybiBnZXRfcGFyc2VfcmVzdWx0KHNlbGYsIHJ2KTsKIH0KIAotUHlEb2NfU1RSVkFSKHhtbHBhcnNlX1NldEJhc2VfX2RvY19fLAotIlNldEJhc2UoYmFzZV91cmwpXG5cCi1TZXQgdGhlIGJhc2UgVVJMIGZvciB0aGUgcGFyc2VyLiIpOworLypbY2xpbmljIGlucHV0XQorcHlleHBhdC54bWxwYXJzZXIuU2V0QmFzZQorCisgICAgYmFzZTogc3RyCisgICAgLworCitTZXQgdGhlIGJhc2UgVVJMIGZvciB0aGUgcGFyc2VyLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIocHlleHBhdF94bWxwYXJzZXJfU2V0QmFzZV9fZG9jX18sCisiU2V0QmFzZSgkc2VsZiwgYmFzZSwgLylcbiIKKyItLVxuIgorIlxuIgorIlNldCB0aGUgYmFzZSBVUkwgZm9yIHRoZSBwYXJzZXIuIik7CisKKyNkZWZpbmUgUFlFWFBBVF9YTUxQQVJTRVJfU0VUQkFTRV9NRVRIT0RERUYgICAgXAorICAgIHsiU2V0QmFzZSIsIChQeUNGdW5jdGlvbilweWV4cGF0X3htbHBhcnNlcl9TZXRCYXNlLCBNRVRIX1ZBUkFSR1MsIHB5ZXhwYXRfeG1scGFyc2VyX1NldEJhc2VfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLXhtbHBhcnNlX1NldEJhc2UoeG1scGFyc2VvYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQotewotICAgIGNoYXIgKmJhc2U7CitweWV4cGF0X3htbHBhcnNlcl9TZXRCYXNlX2ltcGwoeG1scGFyc2VvYmplY3QgKnNlbGYsIGNvbnN0IGNoYXIgKmJhc2UpOwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJzOlNldEJhc2UiLCAmYmFzZSkpCi0gICAgICAgIHJldHVybiBOVUxMOworc3RhdGljIFB5T2JqZWN0ICoKK3B5ZXhwYXRfeG1scGFyc2VyX1NldEJhc2UoeG1scGFyc2VvYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQoreworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIGNvbnN0IGNoYXIgKmJhc2U7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgInM6U2V0QmFzZSIsCisgICAgICAgICZiYXNlKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IHB5ZXhwYXRfeG1scGFyc2VyX1NldEJhc2VfaW1wbChzZWxmLCBiYXNlKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorcHlleHBhdF94bWxwYXJzZXJfU2V0QmFzZV9pbXBsKHhtbHBhcnNlb2JqZWN0ICpzZWxmLCBjb25zdCBjaGFyICpiYXNlKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTViZGI0OWY2Njg5YTVmOTMgaW5wdXQ9YzY4NGU1ZGU4OTVlZTFhOF0qLworewogICAgIGlmICghWE1MX1NldEJhc2Uoc2VsZi0+aXRzZWxmLCBiYXNlKSkgewogICAgICAgICByZXR1cm4gUHlFcnJfTm9NZW1vcnkoKTsKICAgICB9Ci0gICAgUHlfSU5DUkVGKFB5X05vbmUpOwotICAgIHJldHVybiBQeV9Ob25lOworICAgIFB5X1JFVFVSTl9OT05FOwogfQogCi1QeURvY19TVFJWQVIoeG1scGFyc2VfR2V0QmFzZV9fZG9jX18sCi0iR2V0QmFzZSgpIC0+IHVybFxuXAotUmV0dXJuIGJhc2UgVVJMIHN0cmluZyBmb3IgdGhlIHBhcnNlci4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK3B5ZXhwYXQueG1scGFyc2VyLkdldEJhc2UKKworUmV0dXJuIGJhc2UgVVJMIHN0cmluZyBmb3IgdGhlIHBhcnNlci4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKHB5ZXhwYXRfeG1scGFyc2VyX0dldEJhc2VfX2RvY19fLAorIkdldEJhc2UoJHNlbGYsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gYmFzZSBVUkwgc3RyaW5nIGZvciB0aGUgcGFyc2VyLiIpOworCisjZGVmaW5lIFBZRVhQQVRfWE1MUEFSU0VSX0dFVEJBU0VfTUVUSE9EREVGICAgIFwKKyAgICB7IkdldEJhc2UiLCAoUHlDRnVuY3Rpb24pcHlleHBhdF94bWxwYXJzZXJfR2V0QmFzZSwgTUVUSF9OT0FSR1MsIHB5ZXhwYXRfeG1scGFyc2VyX0dldEJhc2VfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLXhtbHBhcnNlX0dldEJhc2UoeG1scGFyc2VvYmplY3QgKnNlbGYsIFB5T2JqZWN0ICp1bnVzZWQpCitweWV4cGF0X3htbHBhcnNlcl9HZXRCYXNlX2ltcGwoeG1scGFyc2VvYmplY3QgKnNlbGYpOworCitzdGF0aWMgUHlPYmplY3QgKgorcHlleHBhdF94bWxwYXJzZXJfR2V0QmFzZSh4bWxwYXJzZW9iamVjdCAqc2VsZiwgUHlPYmplY3QgKlB5X1VOVVNFRChpZ25vcmVkKSkKK3sKKyAgICByZXR1cm4gcHlleHBhdF94bWxwYXJzZXJfR2V0QmFzZV9pbXBsKHNlbGYpOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorcHlleHBhdF94bWxwYXJzZXJfR2V0QmFzZV9pbXBsKHhtbHBhcnNlb2JqZWN0ICpzZWxmKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWVmNjA0NmVlMjhmMmI4ZWUgaW5wdXQ9OTE4ZDcxYzM4MDA5NjIwZV0qLwogewogICAgIHJldHVybiBQeV9CdWlsZFZhbHVlKCJ6IiwgWE1MX0dldEJhc2Uoc2VsZi0+aXRzZWxmKSk7CiB9CiAKLVB5RG9jX1NUUlZBUih4bWxwYXJzZV9HZXRJbnB1dENvbnRleHRfX2RvY19fLAotIkdldElucHV0Q29udGV4dCgpIC0+IHN0cmluZ1xuXAotUmV0dXJuIHRoZSB1bnRyYW5zbGF0ZWQgdGV4dCBvZiB0aGUgaW5wdXQgdGhhdCBjYXVzZWQgdGhlIGN1cnJlbnQgZXZlbnQuXG5cCi1JZiB0aGUgZXZlbnQgd2FzIGdlbmVyYXRlZCBieSBhIGxhcmdlIGFtb3VudCBvZiB0ZXh0IChzdWNoIGFzIGEgc3RhcnQgdGFnXG5cCi1mb3IgYW4gZWxlbWVudCB3aXRoIG1hbnkgYXR0cmlidXRlcyksIG5vdCBhbGwgb2YgdGhlIHRleHQgbWF5IGJlIGF2YWlsYWJsZS4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK3B5ZXhwYXQueG1scGFyc2VyLkdldElucHV0Q29udGV4dAorCitSZXR1cm4gdGhlIHVudHJhbnNsYXRlZCB0ZXh0IG9mIHRoZSBpbnB1dCB0aGF0IGNhdXNlZCB0aGUgY3VycmVudCBldmVudC4KKworSWYgdGhlIGV2ZW50IHdhcyBnZW5lcmF0ZWQgYnkgYSBsYXJnZSBhbW91bnQgb2YgdGV4dCAoc3VjaCBhcyBhIHN0YXJ0IHRhZworZm9yIGFuIGVsZW1lbnQgd2l0aCBtYW55IGF0dHJpYnV0ZXMpLCBub3QgYWxsIG9mIHRoZSB0ZXh0IG1heSBiZSBhdmFpbGFibGUuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihweWV4cGF0X3htbHBhcnNlcl9HZXRJbnB1dENvbnRleHRfX2RvY19fLAorIkdldElucHV0Q29udGV4dCgkc2VsZiwgLylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiB0aGUgdW50cmFuc2xhdGVkIHRleHQgb2YgdGhlIGlucHV0IHRoYXQgY2F1c2VkIHRoZSBjdXJyZW50IGV2ZW50LlxuIgorIlxuIgorIklmIHRoZSBldmVudCB3YXMgZ2VuZXJhdGVkIGJ5IGEgbGFyZ2UgYW1vdW50IG9mIHRleHQgKHN1Y2ggYXMgYSBzdGFydCB0YWdcbiIKKyJmb3IgYW4gZWxlbWVudCB3aXRoIG1hbnkgYXR0cmlidXRlcyksIG5vdCBhbGwgb2YgdGhlIHRleHQgbWF5IGJlIGF2YWlsYWJsZS4iKTsKKworI2RlZmluZSBQWUVYUEFUX1hNTFBBUlNFUl9HRVRJTlBVVENPTlRFWFRfTUVUSE9EREVGICAgIFwKKyAgICB7IkdldElucHV0Q29udGV4dCIsIChQeUNGdW5jdGlvbilweWV4cGF0X3htbHBhcnNlcl9HZXRJbnB1dENvbnRleHQsIE1FVEhfTk9BUkdTLCBweWV4cGF0X3htbHBhcnNlcl9HZXRJbnB1dENvbnRleHRfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLXhtbHBhcnNlX0dldElucHV0Q29udGV4dCh4bWxwYXJzZW9iamVjdCAqc2VsZiwgUHlPYmplY3QgKnVudXNlZCkKK3B5ZXhwYXRfeG1scGFyc2VyX0dldElucHV0Q29udGV4dF9pbXBsKHhtbHBhcnNlb2JqZWN0ICpzZWxmKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK3B5ZXhwYXRfeG1scGFyc2VyX0dldElucHV0Q29udGV4dCh4bWxwYXJzZW9iamVjdCAqc2VsZiwgUHlPYmplY3QgKlB5X1VOVVNFRChpZ25vcmVkKSkKK3sKKyAgICByZXR1cm4gcHlleHBhdF94bWxwYXJzZXJfR2V0SW5wdXRDb250ZXh0X2ltcGwoc2VsZik7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitweWV4cGF0X3htbHBhcnNlcl9HZXRJbnB1dENvbnRleHRfaW1wbCh4bWxwYXJzZW9iamVjdCAqc2VsZikKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD02MmZmMDMzOTBmMDc0Y2QyIGlucHV0PTAzNGRmODcxMmRiNjgzNzldKi8KIHsKICAgICBpZiAoc2VsZi0+aW5fY2FsbGJhY2spIHsKICAgICAgICAgaW50IG9mZnNldCwgc2l6ZTsKQEAgLTg3NSwyNCArMTAxMiw1MiBAQAogICAgICAgICBQeV9SRVRVUk5fTk9ORTsKIH0KIAotUHlEb2NfU1RSVkFSKHhtbHBhcnNlX0V4dGVybmFsRW50aXR5UGFyc2VyQ3JlYXRlX19kb2NfXywKLSJFeHRlcm5hbEVudGl0eVBhcnNlckNyZWF0ZShjb250ZXh0WywgZW5jb2RpbmddKVxuXAotQ3JlYXRlIGEgcGFyc2VyIGZvciBwYXJzaW5nIGFuIGV4dGVybmFsIGVudGl0eSBiYXNlZCBvbiB0aGVcblwKLWluZm9ybWF0aW9uIHBhc3NlZCB0byB0aGUgRXh0ZXJuYWxFbnRpdHlSZWZIYW5kbGVyLiIpOworLypbY2xpbmljIGlucHV0XQorcHlleHBhdC54bWxwYXJzZXIuRXh0ZXJuYWxFbnRpdHlQYXJzZXJDcmVhdGUKKworICAgIGNvbnRleHQ6IHN0cihudWxsYWJsZT1UcnVlKQorICAgIGVuY29kaW5nOiBzdHIgPSBOVUxMCisgICAgLworCitDcmVhdGUgYSBwYXJzZXIgZm9yIHBhcnNpbmcgYW4gZXh0ZXJuYWwgZW50aXR5IGJhc2VkIG9uIHRoZSBpbmZvcm1hdGlvbiBwYXNzZWQgdG8gdGhlIEV4dGVybmFsRW50aXR5UmVmSGFuZGxlci4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKHB5ZXhwYXRfeG1scGFyc2VyX0V4dGVybmFsRW50aXR5UGFyc2VyQ3JlYXRlX19kb2NfXywKKyJFeHRlcm5hbEVudGl0eVBhcnNlckNyZWF0ZSgkc2VsZiwgY29udGV4dCwgZW5jb2Rpbmc9Tm9uZSwgLylcbiIKKyItLVxuIgorIlxuIgorIkNyZWF0ZSBhIHBhcnNlciBmb3IgcGFyc2luZyBhbiBleHRlcm5hbCBlbnRpdHkgYmFzZWQgb24gdGhlIGluZm9ybWF0aW9uIHBhc3NlZCB0byB0aGUgRXh0ZXJuYWxFbnRpdHlSZWZIYW5kbGVyLiIpOworCisjZGVmaW5lIFBZRVhQQVRfWE1MUEFSU0VSX0VYVEVSTkFMRU5USVRZUEFSU0VSQ1JFQVRFX01FVEhPRERFRiAgICBcCisgICAgeyJFeHRlcm5hbEVudGl0eVBhcnNlckNyZWF0ZSIsIChQeUNGdW5jdGlvbilweWV4cGF0X3htbHBhcnNlcl9FeHRlcm5hbEVudGl0eVBhcnNlckNyZWF0ZSwgTUVUSF9WQVJBUkdTLCBweWV4cGF0X3htbHBhcnNlcl9FeHRlcm5hbEVudGl0eVBhcnNlckNyZWF0ZV9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgoteG1scGFyc2VfRXh0ZXJuYWxFbnRpdHlQYXJzZXJDcmVhdGUoeG1scGFyc2VvYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorcHlleHBhdF94bWxwYXJzZXJfRXh0ZXJuYWxFbnRpdHlQYXJzZXJDcmVhdGVfaW1wbCh4bWxwYXJzZW9iamVjdCAqc2VsZiwgY29uc3QgY2hhciAqY29udGV4dCwgY29uc3QgY2hhciAqZW5jb2RpbmcpOworCitzdGF0aWMgUHlPYmplY3QgKgorcHlleHBhdF94bWxwYXJzZXJfRXh0ZXJuYWxFbnRpdHlQYXJzZXJDcmVhdGUoeG1scGFyc2VvYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQogewotICAgIGNoYXIgKmNvbnRleHQ7Ci0gICAgY2hhciAqZW5jb2RpbmcgPSBOVUxMOworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIGNvbnN0IGNoYXIgKmNvbnRleHQ7CisgICAgY29uc3QgY2hhciAqZW5jb2RpbmcgPSBOVUxMOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICJ6fHM6RXh0ZXJuYWxFbnRpdHlQYXJzZXJDcmVhdGUiLAorICAgICAgICAmY29udGV4dCwgJmVuY29kaW5nKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IHB5ZXhwYXRfeG1scGFyc2VyX0V4dGVybmFsRW50aXR5UGFyc2VyQ3JlYXRlX2ltcGwoc2VsZiwgY29udGV4dCwgZW5jb2RpbmcpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitweWV4cGF0X3htbHBhcnNlcl9FeHRlcm5hbEVudGl0eVBhcnNlckNyZWF0ZV9pbXBsKHhtbHBhcnNlb2JqZWN0ICpzZWxmLCBjb25zdCBjaGFyICpjb250ZXh0LCBjb25zdCBjaGFyICplbmNvZGluZykKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD00OTQ4YzM1ZjNkZDAxMTMzIGlucHV0PTI4MzIwNjU3NWQ5NjAyNzJdKi8KK3sKICAgICB4bWxwYXJzZW9iamVjdCAqbmV3X3BhcnNlcjsKICAgICBpbnQgaTsKIAotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAienxzOkV4dGVybmFsRW50aXR5UGFyc2VyQ3JlYXRlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgJmNvbnRleHQsICZlbmNvZGluZykpIHsKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgfQotCiAgICAgbmV3X3BhcnNlciA9IFB5T2JqZWN0X0dDX05ldyh4bWxwYXJzZW9iamVjdCwgJlhtbHBhcnNldHlwZSk7CiAgICAgaWYgKG5ld19wYXJzZXIgPT0gTlVMTCkKICAgICAgICAgcmV0dXJuIE5VTEw7CkBAIC05NDgsNDEgKzExMTMsMTE0IEBACiAgICAgcmV0dXJuIChQeU9iamVjdCAqKW5ld19wYXJzZXI7CiB9CiAKLVB5RG9jX1NUUlZBUih4bWxwYXJzZV9TZXRQYXJhbUVudGl0eVBhcnNpbmdfX2RvY19fLAotIlNldFBhcmFtRW50aXR5UGFyc2luZyhmbGFnKSAtPiBzdWNjZXNzXG5cCi1Db250cm9scyBwYXJzaW5nIG9mIHBhcmFtZXRlciBlbnRpdGllcyAoaW5jbHVkaW5nIHRoZSBleHRlcm5hbCBEVERcblwKLXN1YnNldCkuIFBvc3NpYmxlIGZsYWcgdmFsdWVzIGFyZSBYTUxfUEFSQU1fRU5USVRZX1BBUlNJTkdfTkVWRVIsXG5cCi1YTUxfUEFSQU1fRU5USVRZX1BBUlNJTkdfVU5MRVNTX1NUQU5EQUxPTkUgYW5kXG5cCi1YTUxfUEFSQU1fRU5USVRZX1BBUlNJTkdfQUxXQVlTLiBSZXR1cm5zIHRydWUgaWYgc2V0dGluZyB0aGUgZmxhZ1xuXAotd2FzIHN1Y2Nlc3NmdWwuIik7CisvKltjbGluaWMgaW5wdXRdCitweWV4cGF0LnhtbHBhcnNlci5TZXRQYXJhbUVudGl0eVBhcnNpbmcKIAotc3RhdGljIFB5T2JqZWN0KgoteG1scGFyc2VfU2V0UGFyYW1FbnRpdHlQYXJzaW5nKHhtbHBhcnNlb2JqZWN0ICpwLCBQeU9iamVjdCogYXJncykKKyAgICBmbGFnOiBpbnQKKyAgICAvCisKK0NvbnRyb2xzIHBhcnNpbmcgb2YgcGFyYW1ldGVyIGVudGl0aWVzIChpbmNsdWRpbmcgdGhlIGV4dGVybmFsIERURCBzdWJzZXQpLgorCitQb3NzaWJsZSBmbGFnIHZhbHVlcyBhcmUgWE1MX1BBUkFNX0VOVElUWV9QQVJTSU5HX05FVkVSLAorWE1MX1BBUkFNX0VOVElUWV9QQVJTSU5HX1VOTEVTU19TVEFOREFMT05FIGFuZAorWE1MX1BBUkFNX0VOVElUWV9QQVJTSU5HX0FMV0FZUy4gUmV0dXJucyB0cnVlIGlmIHNldHRpbmcgdGhlIGZsYWcKK3dhcyBzdWNjZXNzZnVsLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIocHlleHBhdF94bWxwYXJzZXJfU2V0UGFyYW1FbnRpdHlQYXJzaW5nX19kb2NfXywKKyJTZXRQYXJhbUVudGl0eVBhcnNpbmcoJHNlbGYsIGZsYWcsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJDb250cm9scyBwYXJzaW5nIG9mIHBhcmFtZXRlciBlbnRpdGllcyAoaW5jbHVkaW5nIHRoZSBleHRlcm5hbCBEVEQgc3Vic2V0KS5cbiIKKyJcbiIKKyJQb3NzaWJsZSBmbGFnIHZhbHVlcyBhcmUgWE1MX1BBUkFNX0VOVElUWV9QQVJTSU5HX05FVkVSLFxuIgorIlhNTF9QQVJBTV9FTlRJVFlfUEFSU0lOR19VTkxFU1NfU1RBTkRBTE9ORSBhbmRcbiIKKyJYTUxfUEFSQU1fRU5USVRZX1BBUlNJTkdfQUxXQVlTLiBSZXR1cm5zIHRydWUgaWYgc2V0dGluZyB0aGUgZmxhZ1xuIgorIndhcyBzdWNjZXNzZnVsLiIpOworCisjZGVmaW5lIFBZRVhQQVRfWE1MUEFSU0VSX1NFVFBBUkFNRU5USVRZUEFSU0lOR19NRVRIT0RERUYgICAgXAorICAgIHsiU2V0UGFyYW1FbnRpdHlQYXJzaW5nIiwgKFB5Q0Z1bmN0aW9uKXB5ZXhwYXRfeG1scGFyc2VyX1NldFBhcmFtRW50aXR5UGFyc2luZywgTUVUSF9WQVJBUkdTLCBweWV4cGF0X3htbHBhcnNlcl9TZXRQYXJhbUVudGl0eVBhcnNpbmdfX2RvY19ffSwKKworc3RhdGljIFB5T2JqZWN0ICoKK3B5ZXhwYXRfeG1scGFyc2VyX1NldFBhcmFtRW50aXR5UGFyc2luZ19pbXBsKHhtbHBhcnNlb2JqZWN0ICpzZWxmLCBpbnQgZmxhZyk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitweWV4cGF0X3htbHBhcnNlcl9TZXRQYXJhbUVudGl0eVBhcnNpbmcoeG1scGFyc2VvYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQogeworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOwogICAgIGludCBmbGFnOwotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiaSIsICZmbGFnKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgZmxhZyA9IFhNTF9TZXRQYXJhbUVudGl0eVBhcnNpbmcocC0+aXRzZWxmLCBmbGFnKTsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAiaTpTZXRQYXJhbUVudGl0eVBhcnNpbmciLAorICAgICAgICAmZmxhZykpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBweWV4cGF0X3htbHBhcnNlcl9TZXRQYXJhbUVudGl0eVBhcnNpbmdfaW1wbChzZWxmLCBmbGFnKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorcHlleHBhdF94bWxwYXJzZXJfU2V0UGFyYW1FbnRpdHlQYXJzaW5nX2ltcGwoeG1scGFyc2VvYmplY3QgKnNlbGYsIGludCBmbGFnKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTBmODIwODgyYmM3NzY4Y2MgaW5wdXQ9OGFlYTE5YjRiMTVlOWFmMV0qLworeworICAgIGZsYWcgPSBYTUxfU2V0UGFyYW1FbnRpdHlQYXJzaW5nKHNlbGYtPml0c2VsZiwgZmxhZyk7CiAgICAgcmV0dXJuIFB5TG9uZ19Gcm9tTG9uZyhmbGFnKTsKIH0KIAogCiAjaWYgWE1MX0NPTUJJTkVEX1ZFUlNJT04gPj0gMTk1MDUKLVB5RG9jX1NUUlZBUih4bWxwYXJzZV9Vc2VGb3JlaWduRFREX19kb2NfXywKLSJVc2VGb3JlaWduRFREKFtmbGFnXSlcblwKLUFsbG93cyB0aGUgYXBwbGljYXRpb24gdG8gcHJvdmlkZSBhbiBhcnRpZmljaWFsIGV4dGVybmFsIHN1YnNldCBpZiBvbmUgaXNcblwKLW5vdCBzcGVjaWZpZWQgYXMgcGFydCBvZiB0aGUgZG9jdW1lbnQgaW5zdGFuY2UuICBUaGlzIHJlYWRpbHkgYWxsb3dzIHRoZVxuXAotdXNlIG9mIGEgJ2RlZmF1bHQnIGRvY3VtZW50IHR5cGUgY29udHJvbGxlZCBieSB0aGUgYXBwbGljYXRpb24sIHdoaWxlIHN0aWxsXG5cCi1nZXR0aW5nIHRoZSBhZHZhbnRhZ2Ugb2YgcHJvdmlkaW5nIGRvY3VtZW50IHR5cGUgaW5mb3JtYXRpb24gdG8gdGhlIHBhcnNlci5cblwKLSdmbGFnJyBkZWZhdWx0cyB0byBUcnVlIGlmIG5vdCBwcm92aWRlZC4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK3B5ZXhwYXQueG1scGFyc2VyLlVzZUZvcmVpZ25EVEQKKworICAgIGZsYWc6IGJvb2wgPSBUcnVlCisgICAgLworCitBbGxvd3MgdGhlIGFwcGxpY2F0aW9uIHRvIHByb3ZpZGUgYW4gYXJ0aWZpY2lhbCBleHRlcm5hbCBzdWJzZXQgaWYgb25lIGlzIG5vdCBzcGVjaWZpZWQgYXMgcGFydCBvZiB0aGUgZG9jdW1lbnQgaW5zdGFuY2UuCisKK1RoaXMgcmVhZGlseSBhbGxvd3MgdGhlIHVzZSBvZiBhICdkZWZhdWx0JyBkb2N1bWVudCB0eXBlIGNvbnRyb2xsZWQgYnkgdGhlCithcHBsaWNhdGlvbiwgd2hpbGUgc3RpbGwgZ2V0dGluZyB0aGUgYWR2YW50YWdlIG9mIHByb3ZpZGluZyBkb2N1bWVudCB0eXBlCitpbmZvcm1hdGlvbiB0byB0aGUgcGFyc2VyLiAnZmxhZycgZGVmYXVsdHMgdG8gVHJ1ZSBpZiBub3QgcHJvdmlkZWQuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihweWV4cGF0X3htbHBhcnNlcl9Vc2VGb3JlaWduRFREX19kb2NfXywKKyJVc2VGb3JlaWduRFREKCRzZWxmLCBmbGFnPVRydWUsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJBbGxvd3MgdGhlIGFwcGxpY2F0aW9uIHRvIHByb3ZpZGUgYW4gYXJ0aWZpY2lhbCBleHRlcm5hbCBzdWJzZXQgaWYgb25lIGlzIG5vdCBzcGVjaWZpZWQgYXMgcGFydCBvZiB0aGUgZG9jdW1lbnQgaW5zdGFuY2UuXG4iCisiXG4iCisiVGhpcyByZWFkaWx5IGFsbG93cyB0aGUgdXNlIG9mIGEgXCdkZWZhdWx0XCcgZG9jdW1lbnQgdHlwZSBjb250cm9sbGVkIGJ5IHRoZVxuIgorImFwcGxpY2F0aW9uLCB3aGlsZSBzdGlsbCBnZXR0aW5nIHRoZSBhZHZhbnRhZ2Ugb2YgcHJvdmlkaW5nIGRvY3VtZW50IHR5cGVcbiIKKyJpbmZvcm1hdGlvbiB0byB0aGUgcGFyc2VyLiBcJ2ZsYWdcJyBkZWZhdWx0cyB0byBUcnVlIGlmIG5vdCBwcm92aWRlZC4iKTsKKworI2RlZmluZSBQWUVYUEFUX1hNTFBBUlNFUl9VU0VGT1JFSUdORFREX01FVEhPRERFRiAgICBcCisgICAgeyJVc2VGb3JlaWduRFREIiwgKFB5Q0Z1bmN0aW9uKXB5ZXhwYXRfeG1scGFyc2VyX1VzZUZvcmVpZ25EVEQsIE1FVEhfVkFSQVJHUywgcHlleHBhdF94bWxwYXJzZXJfVXNlRm9yZWlnbkRURF9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgoteG1scGFyc2VfVXNlRm9yZWlnbkRURCh4bWxwYXJzZW9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitweWV4cGF0X3htbHBhcnNlcl9Vc2VGb3JlaWduRFREX2ltcGwoeG1scGFyc2VvYmplY3QgKnNlbGYsIGludCBmbGFnKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK3B5ZXhwYXRfeG1scGFyc2VyX1VzZUZvcmVpZ25EVEQoeG1scGFyc2VvYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQogeworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOwogICAgIGludCBmbGFnID0gMTsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAifHA6VXNlRm9yZWlnbkRURCIsCisgICAgICAgICZmbGFnKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IHB5ZXhwYXRfeG1scGFyc2VyX1VzZUZvcmVpZ25EVERfaW1wbChzZWxmLCBmbGFnKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorcHlleHBhdF94bWxwYXJzZXJfVXNlRm9yZWlnbkRURF9pbXBsKHhtbHBhcnNlb2JqZWN0ICpzZWxmLCBpbnQgZmxhZykKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD0yMmU5MjRhZTZjYWQ2N2Q2IGlucHV0PTc4MTQ0YzUxOWQxMTZhNmVdKi8KK3sKICAgICBlbnVtIFhNTF9FcnJvciByYzsKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgInxwOlVzZUZvcmVpZ25EVEQiLCAmZmxhZykpCi0gICAgICAgIHJldHVybiBOVUxMOworCiAgICAgcmMgPSBYTUxfVXNlRm9yZWlnbkRURChzZWxmLT5pdHNlbGYsIGZsYWcgPyBYTUxfVFJVRSA6IFhNTF9GQUxTRSk7CiAgICAgaWYgKHJjICE9IFhNTF9FUlJPUl9OT05FKSB7CiAgICAgICAgIHJldHVybiBzZXRfZXJyb3Ioc2VsZiwgcmMpOwpAQCAtOTkyLDI5ICsxMjMwLDg2IEBACiB9CiAjZW5kaWYKIAotc3RhdGljIFB5T2JqZWN0ICp4bWxwYXJzZV9kaXIoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0KiBub2FyZ3MpOworLypbY2xpbmljIGlucHV0XQorcHlleHBhdC54bWxwYXJzZXIuX19kaXJfXworW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIocHlleHBhdF94bWxwYXJzZXJfX19kaXJfX19fZG9jX18sCisiX19kaXJfXygkc2VsZiwgLylcbiIKKyItLSIpOworCisjZGVmaW5lIFBZRVhQQVRfWE1MUEFSU0VSX19fRElSX19fTUVUSE9EREVGICAgIFwKKyAgICB7Il9fZGlyX18iLCAoUHlDRnVuY3Rpb24pcHlleHBhdF94bWxwYXJzZXJfX19kaXJfXywgTUVUSF9OT0FSR1MsIHB5ZXhwYXRfeG1scGFyc2VyX19fZGlyX19fX2RvY19ffSwKKworc3RhdGljIFB5T2JqZWN0ICoKK3B5ZXhwYXRfeG1scGFyc2VyX19fZGlyX19faW1wbCh4bWxwYXJzZW9iamVjdCAqc2VsZik7CisKK3N0YXRpYyBQeU9iamVjdCAqCitweWV4cGF0X3htbHBhcnNlcl9fX2Rpcl9fKHhtbHBhcnNlb2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqUHlfVU5VU0VEKGlnbm9yZWQpKQoreworICAgIHJldHVybiBweWV4cGF0X3htbHBhcnNlcl9fX2Rpcl9fX2ltcGwoc2VsZik7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitweWV4cGF0X3htbHBhcnNlcl9fX2Rpcl9fX2ltcGwoeG1scGFyc2VvYmplY3QgKnNlbGYpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9MWVkNmVmZTgzYmMzMDRjYyBpbnB1dD03NmFhNDU1ZjJhNjYxMzg0XSovCit7CisjZGVmaW5lIEFQUEVORChsaXN0LCBzdHIpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgZG8geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgIFB5T2JqZWN0ICpvID0gUHlVbmljb2RlX0Zyb21TdHJpbmcoc3RyKTsgICAgICAgIFwKKyAgICAgICAgICAgICAgICBpZiAobyAhPSBOVUxMKSAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICAgICAgICAgUHlMaXN0X0FwcGVuZChsaXN0LCBvKTsgICAgICAgICBcCisgICAgICAgICAgICAgICAgUHlfWERFQ1JFRihvKTsgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgfSB3aGlsZSAoMCkKKworICAgIGludCBpOworICAgIFB5T2JqZWN0ICpyYyA9IFB5TGlzdF9OZXcoMCk7CisgICAgaWYgKCFyYykKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgZm9yIChpID0gMDsgaGFuZGxlcl9pbmZvW2ldLm5hbWUgIT0gTlVMTDsgaSsrKSB7CisgICAgICAgIFB5T2JqZWN0ICpvID0gZ2V0X2hhbmRsZXJfbmFtZSgmaGFuZGxlcl9pbmZvW2ldKTsKKyAgICAgICAgaWYgKG8gIT0gTlVMTCkKKyAgICAgICAgICAgIFB5TGlzdF9BcHBlbmQocmMsIG8pOworICAgICAgICBQeV9YREVDUkVGKG8pOworICAgIH0KKyAgICBBUFBFTkQocmMsICJFcnJvckNvZGUiKTsKKyAgICBBUFBFTkQocmMsICJFcnJvckxpbmVOdW1iZXIiKTsKKyAgICBBUFBFTkQocmMsICJFcnJvckNvbHVtbk51bWJlciIpOworICAgIEFQUEVORChyYywgIkVycm9yQnl0ZUluZGV4Iik7CisgICAgQVBQRU5EKHJjLCAiQ3VycmVudExpbmVOdW1iZXIiKTsKKyAgICBBUFBFTkQocmMsICJDdXJyZW50Q29sdW1uTnVtYmVyIik7CisgICAgQVBQRU5EKHJjLCAiQ3VycmVudEJ5dGVJbmRleCIpOworICAgIEFQUEVORChyYywgImJ1ZmZlcl9zaXplIik7CisgICAgQVBQRU5EKHJjLCAiYnVmZmVyX3RleHQiKTsKKyAgICBBUFBFTkQocmMsICJidWZmZXJfdXNlZCIpOworICAgIEFQUEVORChyYywgIm5hbWVzcGFjZV9wcmVmaXhlcyIpOworICAgIEFQUEVORChyYywgIm9yZGVyZWRfYXR0cmlidXRlcyIpOworICAgIEFQUEVORChyYywgInNwZWNpZmllZF9hdHRyaWJ1dGVzIik7CisgICAgQVBQRU5EKHJjLCAiaW50ZXJuIik7CisKKyN1bmRlZiBBUFBFTkQKKworICAgIGlmIChQeUVycl9PY2N1cnJlZCgpKSB7CisgICAgICAgIFB5X0RFQ1JFRihyYyk7CisgICAgICAgIHJjID0gTlVMTDsKKyAgICB9CisKKyAgICByZXR1cm4gcmM7Cit9CiAKIHN0YXRpYyBzdHJ1Y3QgUHlNZXRob2REZWYgeG1scGFyc2VfbWV0aG9kc1tdID0gewotICAgIHsiUGFyc2UiLCAgICAgKFB5Q0Z1bmN0aW9uKXhtbHBhcnNlX1BhcnNlLAotICAgICAgICAgICAgICAgICAgTUVUSF9WQVJBUkdTLCB4bWxwYXJzZV9QYXJzZV9fZG9jX199LAotICAgIHsiUGFyc2VGaWxlIiwgKFB5Q0Z1bmN0aW9uKXhtbHBhcnNlX1BhcnNlRmlsZSwKLSAgICAgICAgICAgICAgICAgIE1FVEhfTywgICAgICAgeG1scGFyc2VfUGFyc2VGaWxlX19kb2NfX30sCi0gICAgeyJTZXRCYXNlIiwgICAoUHlDRnVuY3Rpb24peG1scGFyc2VfU2V0QmFzZSwKLSAgICAgICAgICAgICAgICAgIE1FVEhfVkFSQVJHUywgeG1scGFyc2VfU2V0QmFzZV9fZG9jX199LAotICAgIHsiR2V0QmFzZSIsICAgKFB5Q0Z1bmN0aW9uKXhtbHBhcnNlX0dldEJhc2UsCi0gICAgICAgICAgICAgICAgICBNRVRIX05PQVJHUywgeG1scGFyc2VfR2V0QmFzZV9fZG9jX199LAotICAgIHsiRXh0ZXJuYWxFbnRpdHlQYXJzZXJDcmVhdGUiLCAoUHlDRnVuY3Rpb24peG1scGFyc2VfRXh0ZXJuYWxFbnRpdHlQYXJzZXJDcmVhdGUsCi0gICAgICAgICAgICAgICAgICBNRVRIX1ZBUkFSR1MsIHhtbHBhcnNlX0V4dGVybmFsRW50aXR5UGFyc2VyQ3JlYXRlX19kb2NfX30sCi0gICAgeyJTZXRQYXJhbUVudGl0eVBhcnNpbmciLCAoUHlDRnVuY3Rpb24peG1scGFyc2VfU2V0UGFyYW1FbnRpdHlQYXJzaW5nLAotICAgICAgICAgICAgICAgICAgTUVUSF9WQVJBUkdTLCB4bWxwYXJzZV9TZXRQYXJhbUVudGl0eVBhcnNpbmdfX2RvY19ffSwKLSAgICB7IkdldElucHV0Q29udGV4dCIsIChQeUNGdW5jdGlvbil4bWxwYXJzZV9HZXRJbnB1dENvbnRleHQsCi0gICAgICAgICAgICAgICAgICBNRVRIX05PQVJHUywgeG1scGFyc2VfR2V0SW5wdXRDb250ZXh0X19kb2NfX30sCisgICAgUFlFWFBBVF9YTUxQQVJTRVJfUEFSU0VfTUVUSE9EREVGCisgICAgUFlFWFBBVF9YTUxQQVJTRVJfUEFSU0VGSUxFX01FVEhPRERFRgorICAgIFBZRVhQQVRfWE1MUEFSU0VSX1NFVEJBU0VfTUVUSE9EREVGCisgICAgUFlFWFBBVF9YTUxQQVJTRVJfR0VUQkFTRV9NRVRIT0RERUYKKyAgICBQWUVYUEFUX1hNTFBBUlNFUl9HRVRJTlBVVENPTlRFWFRfTUVUSE9EREVGCisgICAgUFlFWFBBVF9YTUxQQVJTRVJfRVhURVJOQUxFTlRJVFlQQVJTRVJDUkVBVEVfTUVUSE9EREVGCisgICAgUFlFWFBBVF9YTUxQQVJTRVJfU0VUUEFSQU1FTlRJVFlQQVJTSU5HX01FVEhPRERFRgogI2lmIFhNTF9DT01CSU5FRF9WRVJTSU9OID49IDE5NTA1Ci0gICAgeyJVc2VGb3JlaWduRFREIiwgKFB5Q0Z1bmN0aW9uKXhtbHBhcnNlX1VzZUZvcmVpZ25EVEQsCi0gICAgICAgICAgICAgICAgICBNRVRIX1ZBUkFSR1MsIHhtbHBhcnNlX1VzZUZvcmVpZ25EVERfX2RvY19ffSwKKyAgICBQWUVYUEFUX1hNTFBBUlNFUl9VU0VGT1JFSUdORFREX01FVEhPRERFRgogI2VuZGlmCi0gICAgeyJfX2Rpcl9fIiwgeG1scGFyc2VfZGlyLCBNRVRIX05PQVJHU30sCi0gICAge05VTEwsICAgICAgICBOVUxMfSAgICAgICAgIC8qIHNlbnRpbmVsICovCisgICAgUFlFWFBBVF9YTUxQQVJTRVJfX19ESVJfX19NRVRIT0RERUYKKyAgICB7TlVMTCwgTlVMTH0gIC8qIHNlbnRpbmVsICovCiB9OwogCiAvKiAtLS0tLS0tLS0tICovCkBAIC0xMDc3LDcgKzEzNzIsNyBAQAogCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1uZXd4bWxwYXJzZW9iamVjdChjaGFyICplbmNvZGluZywgY2hhciAqbmFtZXNwYWNlX3NlcGFyYXRvciwgUHlPYmplY3QgKmludGVybikKK25ld3htbHBhcnNlb2JqZWN0KGNvbnN0IGNoYXIgKmVuY29kaW5nLCBjb25zdCBjaGFyICpuYW1lc3BhY2Vfc2VwYXJhdG9yLCBQeU9iamVjdCAqaW50ZXJuKQogewogICAgIGludCBpOwogICAgIHhtbHBhcnNlb2JqZWN0ICpzZWxmOwpAQCAtMTI1NSw1MiArMTU1MCw2IEBACiAgICAgcmV0dXJuIFB5T2JqZWN0X0dlbmVyaWNHZXRBdHRyKChQeU9iamVjdCopc2VsZiwgbmFtZW9iaik7CiB9CiAKLXN0YXRpYyBQeU9iamVjdCAqCi14bWxwYXJzZV9kaXIoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0KiBub2FyZ3MpCi17Ci0jZGVmaW5lIEFQUEVORChsaXN0LCBzdHIpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgZG8geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgIFB5T2JqZWN0ICpvID0gUHlVbmljb2RlX0Zyb21TdHJpbmcoc3RyKTsgICAgICAgIFwKLSAgICAgICAgICAgICAgICBpZiAobyAhPSBOVUxMKSAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgICAgICAgUHlMaXN0X0FwcGVuZChsaXN0LCBvKTsgICAgICAgICBcCi0gICAgICAgICAgICAgICAgUHlfWERFQ1JFRihvKTsgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgfSB3aGlsZSAoMCkKLQotICAgIGludCBpOwotICAgIFB5T2JqZWN0ICpyYyA9IFB5TGlzdF9OZXcoMCk7Ci0gICAgaWYgKCFyYykKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgZm9yIChpID0gMDsgaGFuZGxlcl9pbmZvW2ldLm5hbWUgIT0gTlVMTDsgaSsrKSB7Ci0gICAgICAgIFB5T2JqZWN0ICpvID0gZ2V0X2hhbmRsZXJfbmFtZSgmaGFuZGxlcl9pbmZvW2ldKTsKLSAgICAgICAgaWYgKG8gIT0gTlVMTCkKLSAgICAgICAgICAgIFB5TGlzdF9BcHBlbmQocmMsIG8pOwotICAgICAgICBQeV9YREVDUkVGKG8pOwotICAgIH0KLSAgICBBUFBFTkQocmMsICJFcnJvckNvZGUiKTsKLSAgICBBUFBFTkQocmMsICJFcnJvckxpbmVOdW1iZXIiKTsKLSAgICBBUFBFTkQocmMsICJFcnJvckNvbHVtbk51bWJlciIpOwotICAgIEFQUEVORChyYywgIkVycm9yQnl0ZUluZGV4Iik7Ci0gICAgQVBQRU5EKHJjLCAiQ3VycmVudExpbmVOdW1iZXIiKTsKLSAgICBBUFBFTkQocmMsICJDdXJyZW50Q29sdW1uTnVtYmVyIik7Ci0gICAgQVBQRU5EKHJjLCAiQ3VycmVudEJ5dGVJbmRleCIpOwotICAgIEFQUEVORChyYywgImJ1ZmZlcl9zaXplIik7Ci0gICAgQVBQRU5EKHJjLCAiYnVmZmVyX3RleHQiKTsKLSAgICBBUFBFTkQocmMsICJidWZmZXJfdXNlZCIpOwotICAgIEFQUEVORChyYywgIm5hbWVzcGFjZV9wcmVmaXhlcyIpOwotICAgIEFQUEVORChyYywgIm9yZGVyZWRfYXR0cmlidXRlcyIpOwotICAgIEFQUEVORChyYywgInNwZWNpZmllZF9hdHRyaWJ1dGVzIik7Ci0gICAgQVBQRU5EKHJjLCAiaW50ZXJuIik7Ci0KLSN1bmRlZiBBUFBFTkQKLQotICAgIGlmIChQeUVycl9PY2N1cnJlZCgpKSB7Ci0gICAgICAgIFB5X0RFQ1JFRihyYyk7Ci0gICAgICAgIHJjID0gTlVMTDsKLSAgICB9Ci0KLSAgICByZXR1cm4gcmM7Ci19Ci0KIHN0YXRpYyBpbnQKIHNldGhhbmRsZXIoeG1scGFyc2VvYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpuYW1lLCBQeU9iamVjdCogdikKIHsKQEAgLTE1MDYsMjQgKzE3NTUsNTUgQEAKIC8qIEVuZCBvZiBjb2RlIGZvciB4bWxwYXJzZXIgb2JqZWN0cyAqLwogLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KIAorLypbY2xpbmljIGlucHV0XQorcHlleHBhdC5QYXJzZXJDcmVhdGUKKworICAgIGVuY29kaW5nOiBzdHIobnVsbGFibGU9VHJ1ZSkgPSBOVUxMCisgICAgbmFtZXNwYWNlX3NlcGFyYXRvcjogc3RyKG51bGxhYmxlPVRydWUpID0gTlVMTAorICAgIGludGVybjogb2JqZWN0ID0gTlVMTAorCitSZXR1cm4gYSBuZXcgWE1MIHBhcnNlciBvYmplY3QuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKIFB5RG9jX1NUUlZBUihweWV4cGF0X1BhcnNlckNyZWF0ZV9fZG9jX18sCi0iUGFyc2VyQ3JlYXRlKFtlbmNvZGluZ1ssIG5hbWVzcGFjZV9zZXBhcmF0b3JdXSkgLT4gcGFyc2VyXG5cCi1SZXR1cm4gYSBuZXcgWE1MIHBhcnNlciBvYmplY3QuIik7CisiUGFyc2VyQ3JlYXRlKCRtb2R1bGUsIC8sIGVuY29kaW5nPU5vbmUsIG5hbWVzcGFjZV9zZXBhcmF0b3I9Tm9uZSxcbiIKKyIgICAgICAgICAgICAgaW50ZXJuPU5vbmUpXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gYSBuZXcgWE1MIHBhcnNlciBvYmplY3QuIik7CisKKyNkZWZpbmUgUFlFWFBBVF9QQVJTRVJDUkVBVEVfTUVUSE9EREVGICAgIFwKKyAgICB7IlBhcnNlckNyZWF0ZSIsIChQeUNGdW5jdGlvbilweWV4cGF0X1BhcnNlckNyZWF0ZSwgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIHB5ZXhwYXRfUGFyc2VyQ3JlYXRlX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1weWV4cGF0X1BhcnNlckNyZWF0ZShQeU9iamVjdCAqbm90dXNlZCwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprdykKK3B5ZXhwYXRfUGFyc2VyQ3JlYXRlX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgY29uc3QgY2hhciAqZW5jb2RpbmcsIGNvbnN0IGNoYXIgKm5hbWVzcGFjZV9zZXBhcmF0b3IsIFB5T2JqZWN0ICppbnRlcm4pOworCitzdGF0aWMgUHlPYmplY3QgKgorcHlleHBhdF9QYXJzZXJDcmVhdGUoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCiB7Ci0gICAgY2hhciAqZW5jb2RpbmcgPSBOVUxMOwotICAgIGNoYXIgKm5hbWVzcGFjZV9zZXBhcmF0b3IgPSBOVUxMOworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIHN0YXRpYyBjaGFyICpfa2V5d29yZHNbXSA9IHsiZW5jb2RpbmciLCAibmFtZXNwYWNlX3NlcGFyYXRvciIsICJpbnRlcm4iLCBOVUxMfTsKKyAgICBjb25zdCBjaGFyICplbmNvZGluZyA9IE5VTEw7CisgICAgY29uc3QgY2hhciAqbmFtZXNwYWNlX3NlcGFyYXRvciA9IE5VTEw7CiAgICAgUHlPYmplY3QgKmludGVybiA9IE5VTEw7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsCisgICAgICAgICJ8enpPOlBhcnNlckNyZWF0ZSIsIF9rZXl3b3JkcywKKyAgICAgICAgJmVuY29kaW5nLCAmbmFtZXNwYWNlX3NlcGFyYXRvciwgJmludGVybikpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBweWV4cGF0X1BhcnNlckNyZWF0ZV9pbXBsKG1vZHVsZSwgZW5jb2RpbmcsIG5hbWVzcGFjZV9zZXBhcmF0b3IsIGludGVybik7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK3B5ZXhwYXRfUGFyc2VyQ3JlYXRlX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgY29uc3QgY2hhciAqZW5jb2RpbmcsIGNvbnN0IGNoYXIgKm5hbWVzcGFjZV9zZXBhcmF0b3IsIFB5T2JqZWN0ICppbnRlcm4pCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9NGZjMDI3ZGQzM2I3YTJhYyBpbnB1dD03MWI5ZjQ3MWFhNmY4Zjg2XSovCit7CiAgICAgUHlPYmplY3QgKnJlc3VsdDsKICAgICBpbnQgaW50ZXJuX2RlY3JlZiA9IDA7Ci0gICAgc3RhdGljIGNoYXIgKmt3bGlzdFtdID0geyJlbmNvZGluZyIsICJuYW1lc3BhY2Vfc2VwYXJhdG9yIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImludGVybiIsIE5VTEx9OwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3csICJ8enpPOlBhcnNlckNyZWF0ZSIsIGt3bGlzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZW5jb2RpbmcsICZuYW1lc3BhY2Vfc2VwYXJhdG9yLCAmaW50ZXJuKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgaWYgKG5hbWVzcGFjZV9zZXBhcmF0b3IgIT0gTlVMTAogICAgICAgICAmJiBzdHJsZW4obmFtZXNwYWNlX3NlcGFyYXRvcikgPiAxKSB7CiAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLApAQCAtMTU1MywyOSArMTgzMyw1NiBAQAogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKKy8qW2NsaW5pYyBpbnB1dF0KK3B5ZXhwYXQuRXJyb3JTdHJpbmcKKworICAgIGNvZGU6IGxvbmcKKyAgICAvCisKK1JldHVybnMgc3RyaW5nIGVycm9yIGZvciBnaXZlbiBudW1iZXIuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKIFB5RG9jX1NUUlZBUihweWV4cGF0X0Vycm9yU3RyaW5nX19kb2NfXywKLSJFcnJvclN0cmluZyhlcnJubykgLT4gc3RyaW5nXG5cCi1SZXR1cm5zIHN0cmluZyBlcnJvciBmb3IgZ2l2ZW4gbnVtYmVyLiIpOworIkVycm9yU3RyaW5nKCRtb2R1bGUsIGNvZGUsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm5zIHN0cmluZyBlcnJvciBmb3IgZ2l2ZW4gbnVtYmVyLiIpOworCisjZGVmaW5lIFBZRVhQQVRfRVJST1JTVFJJTkdfTUVUSE9EREVGICAgIFwKKyAgICB7IkVycm9yU3RyaW5nIiwgKFB5Q0Z1bmN0aW9uKXB5ZXhwYXRfRXJyb3JTdHJpbmcsIE1FVEhfVkFSQVJHUywgcHlleHBhdF9FcnJvclN0cmluZ19fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotcHlleHBhdF9FcnJvclN0cmluZyhQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCi17Ci0gICAgbG9uZyBjb2RlID0gMDsKK3B5ZXhwYXRfRXJyb3JTdHJpbmdfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBsb25nIGNvZGUpOwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJsOkVycm9yU3RyaW5nIiwgJmNvZGUpKQotICAgICAgICByZXR1cm4gTlVMTDsKK3N0YXRpYyBQeU9iamVjdCAqCitweWV4cGF0X0Vycm9yU3RyaW5nKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQoreworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIGxvbmcgY29kZTsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAibDpFcnJvclN0cmluZyIsCisgICAgICAgICZjb2RlKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IHB5ZXhwYXRfRXJyb3JTdHJpbmdfaW1wbChtb2R1bGUsIGNvZGUpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitweWV4cGF0X0Vycm9yU3RyaW5nX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgbG9uZyBjb2RlKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWM3MGYzY2Q4MmJmYWYwNjcgaW5wdXQ9Y2M2N2RlMDEwZDllNjJiM10qLworewogICAgIHJldHVybiBQeV9CdWlsZFZhbHVlKCJ6IiwgWE1MX0Vycm9yU3RyaW5nKChpbnQpY29kZSkpOwogfQogCiAvKiBMaXN0IG9mIG1ldGhvZHMgZGVmaW5lZCBpbiB0aGUgbW9kdWxlICovCiAKIHN0YXRpYyBzdHJ1Y3QgUHlNZXRob2REZWYgcHlleHBhdF9tZXRob2RzW10gPSB7Ci0gICAgeyJQYXJzZXJDcmVhdGUiLCAgICAoUHlDRnVuY3Rpb24pcHlleHBhdF9QYXJzZXJDcmVhdGUsCi0gICAgIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBweWV4cGF0X1BhcnNlckNyZWF0ZV9fZG9jX199LAotICAgIHsiRXJyb3JTdHJpbmciLCAgICAgKFB5Q0Z1bmN0aW9uKXB5ZXhwYXRfRXJyb3JTdHJpbmcsCi0gICAgIE1FVEhfVkFSQVJHUywgICAgICBweWV4cGF0X0Vycm9yU3RyaW5nX19kb2NfX30sCi0KLSAgICB7TlVMTCwgICAgICAgKFB5Q0Z1bmN0aW9uKU5VTEwsIDAsIE5VTEx9ICAgICAgICAgICAgLyogc2VudGluZWwgKi8KKyAgICBQWUVYUEFUX1BBUlNFUkNSRUFURV9NRVRIT0RERUYKKyAgICBQWUVYUEFUX0VSUk9SU1RSSU5HX01FVEhPRERFRgorICAgIHtOVUxMLCBOVUxMfSAgLyogc2VudGluZWwgKi8KIH07CiAKIC8qIE1vZHVsZSBkb2NzdHJpbmcgKi8KQEAgLTE2NjAsNyArMTk2Nyw3IEBACiAgICAgUHlNb2R1bGVfQWRkT2JqZWN0KG0sICJYTUxQYXJzZXJUeXBlIiwgKFB5T2JqZWN0ICopICZYbWxwYXJzZXR5cGUpOwogCiAgICAgUHlNb2R1bGVfQWRkU3RyaW5nQ29uc3RhbnQobSwgIkVYUEFUX1ZFUlNJT04iLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjaGFyICopIFhNTF9FeHBhdFZlcnNpb24oKSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWE1MX0V4cGF0VmVyc2lvbigpKTsKICAgICB7CiAgICAgICAgIFhNTF9FeHBhdF9WZXJzaW9uIGluZm8gPSBYTUxfRXhwYXRWZXJzaW9uSW5mbygpOwogICAgICAgICBQeU1vZHVsZV9BZGRPYmplY3QobSwgInZlcnNpb25faW5mbyIsCkBAIC0xNzQwLDcgKzIwNDcsNyBAQAogCiAjZGVmaW5lIE1ZQ09OU1QobmFtZSkgXAogICAgIGlmIChQeU1vZHVsZV9BZGRTdHJpbmdDb25zdGFudChlcnJvcnNfbW9kdWxlLCAjbmFtZSwgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjaGFyICopWE1MX0Vycm9yU3RyaW5nKG5hbWUpKSA8IDApIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWE1MX0Vycm9yU3RyaW5nKG5hbWUpKSA8IDApICAgICAgICAgXAogICAgICAgICByZXR1cm4gTlVMTDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgdG1wbnVtID0gUHlMb25nX0Zyb21Mb25nKG5hbWUpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICBpZiAodG1wbnVtID09IE5VTEwpIHJldHVybiBOVUxMOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXApAQCAtMTk1MSwzICsyMjU4LDEyIEBACiAKICAgICB7TlVMTCwgTlVMTCwgTlVMTH0gLyogc2VudGluZWwgKi8KIH07CisKKy8qW2NsaW5pYyBpbnB1dF0KK2R1bXAgYnVmZmVyCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKKyNpZm5kZWYgUFlFWFBBVF9YTUxQQVJTRVJfVVNFRk9SRUlHTkRURF9NRVRIT0RERUYKKyAgICAjZGVmaW5lIFBZRVhQQVRfWE1MUEFSU0VSX1VTRUZPUkVJR05EVERfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoUFlFWFBBVF9YTUxQQVJTRVJfVVNFRk9SRUlHTkRURF9NRVRIT0RERUYpICovCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9YTc4ODBjYjc4YmJkNThjZSBpbnB1dD01MjRjZTJlMDIxZTRlYmE2XSovCmRpZmYgLS1naXQgYS9Nb2R1bGVzL3JlYWRsaW5lLmMgYi9Nb2R1bGVzL3JlYWRsaW5lLmMKaW5kZXggZjM0OWQzYi4uMjZkZmZmYiAxMDA2NDQKLS0tIGEvTW9kdWxlcy9yZWFkbGluZS5jCisrKyBiL01vZHVsZXMvcmVhZGxpbmUuYwpAQCAtMjM3LDYgKzIzNyw0MyBAQAogVGhlIGRlZmF1bHQgZmlsZW5hbWUgaXMgfi8uaGlzdG9yeS4iKTsKIAogCisjaWZkZWYgSEFWRV9STF9BUFBFTkRfSElTVE9SWQorLyogRXhwb3J0ZWQgZnVuY3Rpb24gdG8gc2F2ZSBwYXJ0IG9mIGEgcmVhZGxpbmUgaGlzdG9yeSBmaWxlICovCisKK3N0YXRpYyBQeU9iamVjdCAqCithcHBlbmRfaGlzdG9yeV9maWxlKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBpbnQgbmVsZW1lbnRzOworICAgIFB5T2JqZWN0ICpmaWxlbmFtZV9vYmogPSBQeV9Ob25lLCAqZmlsZW5hbWVfYnl0ZXM7CisgICAgY2hhciAqZmlsZW5hbWU7CisgICAgaW50IGVycjsKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIml8TzphcHBlbmRfaGlzdG9yeV9maWxlIiwgJm5lbGVtZW50cywgJmZpbGVuYW1lX29iaikpCisgICAgICAgIHJldHVybiBOVUxMOworICAgIGlmIChmaWxlbmFtZV9vYmogIT0gUHlfTm9uZSkgeworICAgICAgICBpZiAoIVB5VW5pY29kZV9GU0NvbnZlcnRlcihmaWxlbmFtZV9vYmosICZmaWxlbmFtZV9ieXRlcykpCisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgZmlsZW5hbWUgPSBQeUJ5dGVzX0FzU3RyaW5nKGZpbGVuYW1lX2J5dGVzKTsKKyAgICB9IGVsc2UgeworICAgICAgICBmaWxlbmFtZV9ieXRlcyA9IE5VTEw7CisgICAgICAgIGZpbGVuYW1lID0gTlVMTDsKKyAgICB9CisgICAgZXJybm8gPSBlcnIgPSBhcHBlbmRfaGlzdG9yeShuZWxlbWVudHMsIGZpbGVuYW1lKTsKKyAgICBpZiAoIWVyciAmJiBfaGlzdG9yeV9sZW5ndGggPj0gMCkKKyAgICAgICAgaGlzdG9yeV90cnVuY2F0ZV9maWxlKGZpbGVuYW1lLCBfaGlzdG9yeV9sZW5ndGgpOworICAgIFB5X1hERUNSRUYoZmlsZW5hbWVfYnl0ZXMpOworICAgIGVycm5vID0gZXJyOworICAgIGlmIChlcnJubykKKyAgICAgICAgcmV0dXJuIFB5RXJyX1NldEZyb21FcnJubyhQeUV4Y19JT0Vycm9yKTsKKyAgICBQeV9SRVRVUk5fTk9ORTsKK30KKworUHlEb2NfU1RSVkFSKGRvY19hcHBlbmRfaGlzdG9yeV9maWxlLAorImFwcGVuZF9oaXN0b3J5X2ZpbGUobmVsZW1lbnRzWywgZmlsZW5hbWVdKSAtPiBOb25lXG5cCitBcHBlbmQgdGhlIGxhc3QgbmVsZW1lbnRzIG9mIHRoZSBoaXN0b3J5IGxpc3QgdG8gZmlsZS5cblwKK1RoZSBkZWZhdWx0IGZpbGVuYW1lIGlzIH4vLmhpc3RvcnkuIik7CisjZW5kaWYKKworCiAvKiBTZXQgaGlzdG9yeSBsZW5ndGggKi8KIAogc3RhdGljIFB5T2JqZWN0KgpAQCAtNzQ3LDYgKzc4NCwxMCBAQAogICAgICBNRVRIX1ZBUkFSR1MsIGRvY19yZWFkX2hpc3RvcnlfZmlsZX0sCiAgICAgeyJ3cml0ZV9oaXN0b3J5X2ZpbGUiLCB3cml0ZV9oaXN0b3J5X2ZpbGUsCiAgICAgIE1FVEhfVkFSQVJHUywgZG9jX3dyaXRlX2hpc3RvcnlfZmlsZX0sCisjaWZkZWYgSEFWRV9STF9BUFBFTkRfSElTVE9SWQorICAgIHsiYXBwZW5kX2hpc3RvcnlfZmlsZSIsIGFwcGVuZF9oaXN0b3J5X2ZpbGUsCisgICAgIE1FVEhfVkFSQVJHUywgZG9jX2FwcGVuZF9oaXN0b3J5X2ZpbGV9LAorI2VuZGlmCiAgICAgeyJnZXRfaGlzdG9yeV9pdGVtIiwgZ2V0X2hpc3RvcnlfaXRlbSwKICAgICAgTUVUSF9WQVJBUkdTLCBkb2NfZ2V0X2hpc3RvcnlfaXRlbX0sCiAgICAgeyJnZXRfY3VycmVudF9oaXN0b3J5X2xlbmd0aCIsIChQeUNGdW5jdGlvbilnZXRfY3VycmVudF9oaXN0b3J5X2xlbmd0aCwKZGlmZiAtLWdpdCBhL01vZHVsZXMvc2hhMW1vZHVsZS5jIGIvTW9kdWxlcy9zaGExbW9kdWxlLmMKaW5kZXggYjQ0ZmUxOC4uODk2MWRlNCAxMDA2NDQKLS0tIGEvTW9kdWxlcy9zaGExbW9kdWxlLmMKKysrIGIvTW9kdWxlcy9zaGExbW9kdWxlLmMKQEAgLTE5LDYgKzE5LDExIEBACiAjaW5jbHVkZSAiUHl0aG9uLmgiCiAjaW5jbHVkZSAiaGFzaGxpYi5oIgogCisvKltjbGluaWMgaW5wdXRdCittb2R1bGUgX3NoYTEKK2NsYXNzIFNIQTFUeXBlICJTSEExb2JqZWN0ICoiICImUHlUeXBlX1R5cGUiCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ZGEzOWEzZWU1ZTZiNGIwZCBpbnB1dD0zZGM5YTIwZDFiZWNiNzU5XSovCiAKIC8qIFNvbWUgdXNlZnVsIHR5cGVzICovCiAKQEAgLTMwOSwxMCArMzE0LDMzIEBACiAKIC8qIEV4dGVybmFsIG1ldGhvZHMgZm9yIGEgaGFzaCBvYmplY3QgKi8KIAotUHlEb2NfU1RSVkFSKFNIQTFfY29weV9fZG9jX18sICJSZXR1cm4gYSBjb3B5IG9mIHRoZSBoYXNoIG9iamVjdC4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK1NIQTFUeXBlLmNvcHkKKworUmV0dXJuIGEgY29weSBvZiB0aGUgaGFzaCBvYmplY3QuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihTSEExVHlwZV9jb3B5X19kb2NfXywKKyJjb3B5KCRzZWxmLCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIGEgY29weSBvZiB0aGUgaGFzaCBvYmplY3QuIik7CisKKyNkZWZpbmUgU0hBMVRZUEVfQ09QWV9NRVRIT0RERUYgICAgXAorICAgIHsiY29weSIsIChQeUNGdW5jdGlvbilTSEExVHlwZV9jb3B5LCBNRVRIX05PQVJHUywgU0hBMVR5cGVfY29weV9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotU0hBMV9jb3B5KFNIQTFvYmplY3QgKnNlbGYsIFB5T2JqZWN0ICp1bnVzZWQpCitTSEExVHlwZV9jb3B5X2ltcGwoU0hBMW9iamVjdCAqc2VsZik7CisKK3N0YXRpYyBQeU9iamVjdCAqCitTSEExVHlwZV9jb3B5KFNIQTFvYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpQeV9VTlVTRUQoaWdub3JlZCkpCit7CisgICAgcmV0dXJuIFNIQTFUeXBlX2NvcHlfaW1wbChzZWxmKTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK1NIQTFUeXBlX2NvcHlfaW1wbChTSEExb2JqZWN0ICpzZWxmKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTFhMzIwZTc1YTc0NDQwOTggaW5wdXQ9YjdlYWUxMGRmNmY4OWIzNl0qLwogewogICAgIFNIQTFvYmplY3QgKm5ld29iajsKIApAQCAtMzIzLDExICszNTEsMzMgQEAKICAgICByZXR1cm4gKFB5T2JqZWN0ICopbmV3b2JqOwogfQogCi1QeURvY19TVFJWQVIoU0hBMV9kaWdlc3RfX2RvY19fLAorLypbY2xpbmljIGlucHV0XQorU0hBMVR5cGUuZGlnZXN0CisKK1JldHVybiB0aGUgZGlnZXN0IHZhbHVlIGFzIGEgc3RyaW5nIG9mIGJpbmFyeSBkYXRhLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIoU0hBMVR5cGVfZGlnZXN0X19kb2NfXywKKyJkaWdlc3QoJHNlbGYsIC8pXG4iCisiLS1cbiIKKyJcbiIKICJSZXR1cm4gdGhlIGRpZ2VzdCB2YWx1ZSBhcyBhIHN0cmluZyBvZiBiaW5hcnkgZGF0YS4iKTsKIAorI2RlZmluZSBTSEExVFlQRV9ESUdFU1RfTUVUSE9EREVGICAgIFwKKyAgICB7ImRpZ2VzdCIsIChQeUNGdW5jdGlvbilTSEExVHlwZV9kaWdlc3QsIE1FVEhfTk9BUkdTLCBTSEExVHlwZV9kaWdlc3RfX2RvY19ffSwKKwogc3RhdGljIFB5T2JqZWN0ICoKLVNIQTFfZGlnZXN0KFNIQTFvYmplY3QgKnNlbGYsIFB5T2JqZWN0ICp1bnVzZWQpCitTSEExVHlwZV9kaWdlc3RfaW1wbChTSEExb2JqZWN0ICpzZWxmKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK1NIQTFUeXBlX2RpZ2VzdChTSEExb2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqUHlfVU5VU0VEKGlnbm9yZWQpKQoreworICAgIHJldHVybiBTSEExVHlwZV9kaWdlc3RfaW1wbChzZWxmKTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK1NIQTFUeXBlX2RpZ2VzdF9pbXBsKFNIQTFvYmplY3QgKnNlbGYpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9YzQ5MjBmNzUyMjhiZmJmZCBpbnB1dD0yMDVkNDdlMTkyN2ZkMDA5XSovCiB7CiAgICAgdW5zaWduZWQgY2hhciBkaWdlc3RbU0hBMV9ESUdFU1RTSVpFXTsKICAgICBzdHJ1Y3Qgc2hhMV9zdGF0ZSB0ZW1wOwpAQCAtMzM3LDExICszODcsMzMgQEAKICAgICByZXR1cm4gUHlCeXRlc19Gcm9tU3RyaW5nQW5kU2l6ZSgoY29uc3QgY2hhciAqKWRpZ2VzdCwgU0hBMV9ESUdFU1RTSVpFKTsKIH0KIAotUHlEb2NfU1RSVkFSKFNIQTFfaGV4ZGlnZXN0X19kb2NfXywKKy8qW2NsaW5pYyBpbnB1dF0KK1NIQTFUeXBlLmhleGRpZ2VzdAorCitSZXR1cm4gdGhlIGRpZ2VzdCB2YWx1ZSBhcyBhIHN0cmluZyBvZiBoZXhhZGVjaW1hbCBkaWdpdHMuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihTSEExVHlwZV9oZXhkaWdlc3RfX2RvY19fLAorImhleGRpZ2VzdCgkc2VsZiwgLylcbiIKKyItLVxuIgorIlxuIgogIlJldHVybiB0aGUgZGlnZXN0IHZhbHVlIGFzIGEgc3RyaW5nIG9mIGhleGFkZWNpbWFsIGRpZ2l0cy4iKTsKIAorI2RlZmluZSBTSEExVFlQRV9IRVhESUdFU1RfTUVUSE9EREVGICAgIFwKKyAgICB7ImhleGRpZ2VzdCIsIChQeUNGdW5jdGlvbilTSEExVHlwZV9oZXhkaWdlc3QsIE1FVEhfTk9BUkdTLCBTSEExVHlwZV9oZXhkaWdlc3RfX2RvY19ffSwKKwogc3RhdGljIFB5T2JqZWN0ICoKLVNIQTFfaGV4ZGlnZXN0KFNIQTFvYmplY3QgKnNlbGYsIFB5T2JqZWN0ICp1bnVzZWQpCitTSEExVHlwZV9oZXhkaWdlc3RfaW1wbChTSEExb2JqZWN0ICpzZWxmKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK1NIQTFUeXBlX2hleGRpZ2VzdChTSEExb2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqUHlfVU5VU0VEKGlnbm9yZWQpKQoreworICAgIHJldHVybiBTSEExVHlwZV9oZXhkaWdlc3RfaW1wbChzZWxmKTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK1NIQTFUeXBlX2hleGRpZ2VzdF9pbXBsKFNIQTFvYmplY3QgKnNlbGYpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9NmUzNDVhYWMyMDE4ODdiMiBpbnB1dD05NzY5MTA1NWMwYzc0YWIwXSovCiB7CiAgICAgdW5zaWduZWQgY2hhciBkaWdlc3RbU0hBMV9ESUdFU1RTSVpFXTsKICAgICBzdHJ1Y3Qgc2hhMV9zdGF0ZSB0ZW1wOwpAQCAtMzczLDE4ICs0NDUsMzAgQEAKICAgICByZXR1cm4gcmV0dmFsOwogfQogCi1QeURvY19TVFJWQVIoU0hBMV91cGRhdGVfX2RvY19fLAotIlVwZGF0ZSB0aGlzIGhhc2ggb2JqZWN0J3Mgc3RhdGUgd2l0aCB0aGUgcHJvdmlkZWQgc3RyaW5nLiIpOworLypbY2xpbmljIGlucHV0XQorU0hBMVR5cGUudXBkYXRlCisKKyAgICBvYmo6IG9iamVjdAorICAgIC8KKworVXBkYXRlIHRoaXMgaGFzaCBvYmplY3QncyBzdGF0ZSB3aXRoIHRoZSBwcm92aWRlZCBzdHJpbmcuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihTSEExVHlwZV91cGRhdGVfX2RvY19fLAorInVwZGF0ZSgkc2VsZiwgb2JqLCAvKVxuIgorIi0tXG4iCisiXG4iCisiVXBkYXRlIHRoaXMgaGFzaCBvYmplY3RcJ3Mgc3RhdGUgd2l0aCB0aGUgcHJvdmlkZWQgc3RyaW5nLiIpOworCisjZGVmaW5lIFNIQTFUWVBFX1VQREFURV9NRVRIT0RERUYgICAgXAorICAgIHsidXBkYXRlIiwgKFB5Q0Z1bmN0aW9uKVNIQTFUeXBlX3VwZGF0ZSwgTUVUSF9PLCBTSEExVHlwZV91cGRhdGVfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLVNIQTFfdXBkYXRlKFNIQTFvYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorU0hBMVR5cGVfdXBkYXRlKFNIQTFvYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpvYmopCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9YWIyMGE4NmEyNWU3ZDI1NSBpbnB1dD1hYWQ4ZTA3ODEyZWRiYmEzXSovCiB7Ci0gICAgUHlPYmplY3QgKm9iajsKICAgICBQeV9idWZmZXIgYnVmOwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJPOnVwZGF0ZSIsICZvYmopKQotICAgICAgICByZXR1cm4gTlVMTDsKLQogICAgIEdFVF9CVUZGRVJfVklFV19PUl9FUlJPVVQob2JqLCAmYnVmKTsKIAogICAgIHNoYTFfcHJvY2Vzcygmc2VsZi0+aGFzaF9zdGF0ZSwgYnVmLmJ1ZiwgYnVmLmxlbik7CkBAIC0zOTUsMTAgKzQ3OSwxMCBAQAogfQogCiBzdGF0aWMgUHlNZXRob2REZWYgU0hBMV9tZXRob2RzW10gPSB7Ci0gICAgeyJjb3B5IiwgICAgICAoUHlDRnVuY3Rpb24pU0hBMV9jb3B5LCAgICAgIE1FVEhfTk9BUkdTLCAgU0hBMV9jb3B5X19kb2NfX30sCi0gICAgeyJkaWdlc3QiLCAgICAoUHlDRnVuY3Rpb24pU0hBMV9kaWdlc3QsICAgIE1FVEhfTk9BUkdTLCAgU0hBMV9kaWdlc3RfX2RvY19ffSwKLSAgICB7ImhleGRpZ2VzdCIsIChQeUNGdW5jdGlvbilTSEExX2hleGRpZ2VzdCwgTUVUSF9OT0FSR1MsICBTSEExX2hleGRpZ2VzdF9fZG9jX199LAotICAgIHsidXBkYXRlIiwgICAgKFB5Q0Z1bmN0aW9uKVNIQTFfdXBkYXRlLCAgICBNRVRIX1ZBUkFSR1MsIFNIQTFfdXBkYXRlX19kb2NfX30sCisgICAgU0hBMVRZUEVfQ09QWV9NRVRIT0RERUYKKyAgICBTSEExVFlQRV9ESUdFU1RfTUVUSE9EREVGCisgICAgU0hBMVRZUEVfSEVYRElHRVNUX01FVEhPRERFRgorICAgIFNIQTFUWVBFX1VQREFURV9NRVRIT0RERUYKICAgICB7TlVMTCwgICAgICAgIE5VTEx9ICAgICAgICAgLyogc2VudGluZWwgKi8KIH07CiAKQEAgLTQ3NCwyNyArNTU4LDU1IEBACiAKIC8qIFRoZSBzaW5nbGUgbW9kdWxlLWxldmVsIGZ1bmN0aW9uOiBuZXcoKSAqLwogCi1QeURvY19TVFJWQVIoU0hBMV9uZXdfX2RvY19fLAorLypbY2xpbmljIGlucHV0XQorX3NoYTEuc2hhMQorCisgICAgc3RyaW5nOiBvYmplY3QoY19kZWZhdWx0PSJOVUxMIikgPSBiJycKKworUmV0dXJuIGEgbmV3IFNIQTEgaGFzaCBvYmplY3Q7IG9wdGlvbmFsbHkgaW5pdGlhbGl6ZWQgd2l0aCBhIHN0cmluZy4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKF9zaGExX3NoYTFfX2RvY19fLAorInNoYTEoJG1vZHVsZSwgLywgc3RyaW5nPWJcJ1wnKVxuIgorIi0tXG4iCisiXG4iCiAiUmV0dXJuIGEgbmV3IFNIQTEgaGFzaCBvYmplY3Q7IG9wdGlvbmFsbHkgaW5pdGlhbGl6ZWQgd2l0aCBhIHN0cmluZy4iKTsKIAorI2RlZmluZSBfU0hBMV9TSEExX01FVEhPRERFRiAgICBcCisgICAgeyJzaGExIiwgKFB5Q0Z1bmN0aW9uKV9zaGExX3NoYTEsIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBfc2hhMV9zaGExX19kb2NfX30sCisKIHN0YXRpYyBQeU9iamVjdCAqCi1TSEExX25ldyhQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2RpY3QpCitfc2hhMV9zaGExX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKnN0cmluZyk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitfc2hhMV9zaGExKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQogewotICAgIHN0YXRpYyBjaGFyICprd2xpc3RbXSA9IHsic3RyaW5nIiwgTlVMTH07CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgc3RhdGljIGNoYXIgKl9rZXl3b3Jkc1tdID0geyJzdHJpbmciLCBOVUxMfTsKKyAgICBQeU9iamVjdCAqc3RyaW5nID0gTlVMTDsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywKKyAgICAgICAgInxPOnNoYTEiLCBfa2V5d29yZHMsCisgICAgICAgICZzdHJpbmcpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gX3NoYTFfc2hhMV9pbXBsKG1vZHVsZSwgc3RyaW5nKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorX3NoYTFfc2hhMV9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpzdHJpbmcpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9YzkwNjg1NTJmMDdiODk1NCBpbnB1dD0yN2VhNTQyODFkOTk1ZWMyXSovCit7CiAgICAgU0hBMW9iamVjdCAqbmV3OwotICAgIFB5T2JqZWN0ICpkYXRhX29iaiA9IE5VTEw7CiAgICAgUHlfYnVmZmVyIGJ1ZjsKIAotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3ZGljdCwgInxPOm5ldyIsIGt3bGlzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZGF0YV9vYmopKSB7Ci0gICAgICAgIHJldHVybiBOVUxMOwotICAgIH0KLQotICAgIGlmIChkYXRhX29iaikKLSAgICAgICAgR0VUX0JVRkZFUl9WSUVXX09SX0VSUk9VVChkYXRhX29iaiwgJmJ1Zik7CisgICAgaWYgKHN0cmluZykKKyAgICAgICAgR0VUX0JVRkZFUl9WSUVXX09SX0VSUk9VVChzdHJpbmcsICZidWYpOwogCiAgICAgaWYgKChuZXcgPSBuZXdTSEExb2JqZWN0KCkpID09IE5VTEwpIHsKLSAgICAgICAgaWYgKGRhdGFfb2JqKQorICAgICAgICBpZiAoc3RyaW5nKQogICAgICAgICAgICAgUHlCdWZmZXJfUmVsZWFzZSgmYnVmKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQpAQCAtNTAzLDExICs2MTUsMTEgQEAKIAogICAgIGlmIChQeUVycl9PY2N1cnJlZCgpKSB7CiAgICAgICAgIFB5X0RFQ1JFRihuZXcpOwotICAgICAgICBpZiAoZGF0YV9vYmopCisgICAgICAgIGlmIChzdHJpbmcpCiAgICAgICAgICAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZidWYpOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9Ci0gICAgaWYgKGRhdGFfb2JqKSB7CisgICAgaWYgKHN0cmluZykgewogICAgICAgICBzaGExX3Byb2Nlc3MoJm5ldy0+aGFzaF9zdGF0ZSwgYnVmLmJ1ZiwgYnVmLmxlbik7CiAgICAgICAgIFB5QnVmZmVyX1JlbGVhc2UoJmJ1Zik7CiAgICAgfQpAQCAtNTE5LDcgKzYzMSw3IEBACiAvKiBMaXN0IG9mIGZ1bmN0aW9ucyBleHBvcnRlZCBieSB0aGlzIG1vZHVsZSAqLwogCiBzdGF0aWMgc3RydWN0IFB5TWV0aG9kRGVmIFNIQTFfZnVuY3Rpb25zW10gPSB7Ci0gICAgeyJzaGExIiwoUHlDRnVuY3Rpb24pU0hBMV9uZXcsIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLFNIQTFfbmV3X19kb2NfX30sCisgICAgX1NIQTFfU0hBMV9NRVRIT0RERUYKICAgICB7TlVMTCwgICAgICBOVUxMfSAgICAgICAgICAgIC8qIFNlbnRpbmVsICovCiB9OwogCmRpZmYgLS1naXQgYS9Nb2R1bGVzL3NoYTI1Nm1vZHVsZS5jIGIvTW9kdWxlcy9zaGEyNTZtb2R1bGUuYwppbmRleCBiMDViZmMxLi43YjE0ODg2IDEwMDY0NAotLS0gYS9Nb2R1bGVzL3NoYTI1Nm1vZHVsZS5jCisrKyBiL01vZHVsZXMvc2hhMjU2bW9kdWxlLmMKQEAgLTIwLDYgKzIwLDExIEBACiAjaW5jbHVkZSAic3RydWN0bWVtYmVyLmgiCiAjaW5jbHVkZSAiaGFzaGxpYi5oIgogCisvKltjbGluaWMgaW5wdXRdCittb2R1bGUgX3NoYTI1NgorY2xhc3MgU0hBMjU2VHlwZSAiU0hBb2JqZWN0ICoiICImUHlUeXBlX1R5cGUiCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ZGEzOWEzZWU1ZTZiNGIwZCBpbnB1dD03MWEzOTE3NGQ0ZjBhNzQ0XSovCiAKIC8qIFNvbWUgdXNlZnVsIHR5cGVzICovCiAKQEAgLTM5MywxMCArMzk4LDMzIEBACiAKIC8qIEV4dGVybmFsIG1ldGhvZHMgZm9yIGEgaGFzaCBvYmplY3QgKi8KIAotUHlEb2NfU1RSVkFSKFNIQTI1Nl9jb3B5X19kb2NfXywgIlJldHVybiBhIGNvcHkgb2YgdGhlIGhhc2ggb2JqZWN0LiIpOworLypbY2xpbmljIGlucHV0XQorU0hBMjU2VHlwZS5jb3B5CisKK1JldHVybiBhIGNvcHkgb2YgdGhlIGhhc2ggb2JqZWN0LgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIoU0hBMjU2VHlwZV9jb3B5X19kb2NfXywKKyJjb3B5KCRzZWxmLCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIGEgY29weSBvZiB0aGUgaGFzaCBvYmplY3QuIik7CisKKyNkZWZpbmUgU0hBMjU2VFlQRV9DT1BZX01FVEhPRERFRiAgICBcCisgICAgeyJjb3B5IiwgKFB5Q0Z1bmN0aW9uKVNIQTI1NlR5cGVfY29weSwgTUVUSF9OT0FSR1MsIFNIQTI1NlR5cGVfY29weV9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotU0hBMjU2X2NvcHkoU0hBb2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqdW51c2VkKQorU0hBMjU2VHlwZV9jb3B5X2ltcGwoU0hBb2JqZWN0ICpzZWxmKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK1NIQTI1NlR5cGVfY29weShTSEFvYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpQeV9VTlVTRUQoaWdub3JlZCkpCit7CisgICAgcmV0dXJuIFNIQTI1NlR5cGVfY29weV9pbXBsKHNlbGYpOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorU0hBMjU2VHlwZV9jb3B5X2ltcGwoU0hBb2JqZWN0ICpzZWxmKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWY3MTZjMzlkM2Y4MWMyN2MgaW5wdXQ9ZjU4ODQwYTYxOGQ0ZjJhN10qLwogewogICAgIFNIQW9iamVjdCAqbmV3b2JqOwogCkBAIC00MTIsMTEgKzQ0MCwzMyBAQAogICAgIHJldHVybiAoUHlPYmplY3QgKiluZXdvYmo7CiB9CiAKLVB5RG9jX1NUUlZBUihTSEEyNTZfZGlnZXN0X19kb2NfXywKKy8qW2NsaW5pYyBpbnB1dF0KK1NIQTI1NlR5cGUuZGlnZXN0CisKK1JldHVybiB0aGUgZGlnZXN0IHZhbHVlIGFzIGEgc3RyaW5nIG9mIGJpbmFyeSBkYXRhLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIoU0hBMjU2VHlwZV9kaWdlc3RfX2RvY19fLAorImRpZ2VzdCgkc2VsZiwgLylcbiIKKyItLVxuIgorIlxuIgogIlJldHVybiB0aGUgZGlnZXN0IHZhbHVlIGFzIGEgc3RyaW5nIG9mIGJpbmFyeSBkYXRhLiIpOwogCisjZGVmaW5lIFNIQTI1NlRZUEVfRElHRVNUX01FVEhPRERFRiAgICBcCisgICAgeyJkaWdlc3QiLCAoUHlDRnVuY3Rpb24pU0hBMjU2VHlwZV9kaWdlc3QsIE1FVEhfTk9BUkdTLCBTSEEyNTZUeXBlX2RpZ2VzdF9fZG9jX199LAorCiBzdGF0aWMgUHlPYmplY3QgKgotU0hBMjU2X2RpZ2VzdChTSEFvYmplY3QgKnNlbGYsIFB5T2JqZWN0ICp1bnVzZWQpCitTSEEyNTZUeXBlX2RpZ2VzdF9pbXBsKFNIQW9iamVjdCAqc2VsZik7CisKK3N0YXRpYyBQeU9iamVjdCAqCitTSEEyNTZUeXBlX2RpZ2VzdChTSEFvYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpQeV9VTlVTRUQoaWdub3JlZCkpCit7CisgICAgcmV0dXJuIFNIQTI1NlR5cGVfZGlnZXN0X2ltcGwoc2VsZik7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitTSEEyNTZUeXBlX2RpZ2VzdF9pbXBsKFNIQW9iamVjdCAqc2VsZikKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD03MmQzNDcyM2Q3YmI2OTRjIGlucHV0PTFmYjc1MmU1ODk1NDE1N2RdKi8KIHsKICAgICB1bnNpZ25lZCBjaGFyIGRpZ2VzdFtTSEFfRElHRVNUU0laRV07CiAgICAgU0hBb2JqZWN0IHRlbXA7CkBAIC00MjYsMTEgKzQ3NiwzMyBAQAogICAgIHJldHVybiBQeUJ5dGVzX0Zyb21TdHJpbmdBbmRTaXplKChjb25zdCBjaGFyICopZGlnZXN0LCBzZWxmLT5kaWdlc3RzaXplKTsKIH0KIAotUHlEb2NfU1RSVkFSKFNIQTI1Nl9oZXhkaWdlc3RfX2RvY19fLAorLypbY2xpbmljIGlucHV0XQorU0hBMjU2VHlwZS5oZXhkaWdlc3QKKworUmV0dXJuIHRoZSBkaWdlc3QgdmFsdWUgYXMgYSBzdHJpbmcgb2YgaGV4YWRlY2ltYWwgZGlnaXRzLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIoU0hBMjU2VHlwZV9oZXhkaWdlc3RfX2RvY19fLAorImhleGRpZ2VzdCgkc2VsZiwgLylcbiIKKyItLVxuIgorIlxuIgogIlJldHVybiB0aGUgZGlnZXN0IHZhbHVlIGFzIGEgc3RyaW5nIG9mIGhleGFkZWNpbWFsIGRpZ2l0cy4iKTsKIAorI2RlZmluZSBTSEEyNTZUWVBFX0hFWERJR0VTVF9NRVRIT0RERUYgICAgXAorICAgIHsiaGV4ZGlnZXN0IiwgKFB5Q0Z1bmN0aW9uKVNIQTI1NlR5cGVfaGV4ZGlnZXN0LCBNRVRIX05PQVJHUywgU0hBMjU2VHlwZV9oZXhkaWdlc3RfX2RvY19ffSwKKwogc3RhdGljIFB5T2JqZWN0ICoKLVNIQTI1Nl9oZXhkaWdlc3QoU0hBb2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqdW51c2VkKQorU0hBMjU2VHlwZV9oZXhkaWdlc3RfaW1wbChTSEFvYmplY3QgKnNlbGYpOworCitzdGF0aWMgUHlPYmplY3QgKgorU0hBMjU2VHlwZV9oZXhkaWdlc3QoU0hBb2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqUHlfVU5VU0VEKGlnbm9yZWQpKQoreworICAgIHJldHVybiBTSEEyNTZUeXBlX2hleGRpZ2VzdF9pbXBsKHNlbGYpOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorU0hBMjU2VHlwZV9oZXhkaWdlc3RfaW1wbChTSEFvYmplY3QgKnNlbGYpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9MzY4N2FhNjE4M2M3ZDI3ZiBpbnB1dD0wY2M0YzcxNDY5MzAxMGQxXSovCiB7CiAgICAgdW5zaWduZWQgY2hhciBkaWdlc3RbU0hBX0RJR0VTVFNJWkVdOwogICAgIFNIQW9iamVjdCB0ZW1wOwpAQCAtNDYyLDE4ICs1MzQsMzAgQEAKICAgICByZXR1cm4gcmV0dmFsOwogfQogCi1QeURvY19TVFJWQVIoU0hBMjU2X3VwZGF0ZV9fZG9jX18sCi0iVXBkYXRlIHRoaXMgaGFzaCBvYmplY3QncyBzdGF0ZSB3aXRoIHRoZSBwcm92aWRlZCBzdHJpbmcuIik7CisvKltjbGluaWMgaW5wdXRdCitTSEEyNTZUeXBlLnVwZGF0ZQorCisgICAgb2JqOiBvYmplY3QKKyAgICAvCisKK1VwZGF0ZSB0aGlzIGhhc2ggb2JqZWN0J3Mgc3RhdGUgd2l0aCB0aGUgcHJvdmlkZWQgc3RyaW5nLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIoU0hBMjU2VHlwZV91cGRhdGVfX2RvY19fLAorInVwZGF0ZSgkc2VsZiwgb2JqLCAvKVxuIgorIi0tXG4iCisiXG4iCisiVXBkYXRlIHRoaXMgaGFzaCBvYmplY3RcJ3Mgc3RhdGUgd2l0aCB0aGUgcHJvdmlkZWQgc3RyaW5nLiIpOworCisjZGVmaW5lIFNIQTI1NlRZUEVfVVBEQVRFX01FVEhPRERFRiAgICBcCisgICAgeyJ1cGRhdGUiLCAoUHlDRnVuY3Rpb24pU0hBMjU2VHlwZV91cGRhdGUsIE1FVEhfTywgU0hBMjU2VHlwZV91cGRhdGVfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLVNIQTI1Nl91cGRhdGUoU0hBb2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK1NIQTI1NlR5cGVfdXBkYXRlKFNIQW9iamVjdCAqc2VsZiwgUHlPYmplY3QgKm9iaikKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1iNDdmNTNkN2NiZWFiZWU0IGlucHV0PWIyZDQ0OWQ1YjMwZjBmNWFdKi8KIHsKLSAgICBQeU9iamVjdCAqb2JqOwogICAgIFB5X2J1ZmZlciBidWY7CiAKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIk86dXBkYXRlIiwgJm9iaikpCi0gICAgICAgIHJldHVybiBOVUxMOwotCiAgICAgR0VUX0JVRkZFUl9WSUVXX09SX0VSUk9VVChvYmosICZidWYpOwogCiAgICAgc2hhX3VwZGF0ZShzZWxmLCBidWYuYnVmLCBidWYubGVuKTsKQEAgLTQ4NCwxMCArNTY4LDEwIEBACiB9CiAKIHN0YXRpYyBQeU1ldGhvZERlZiBTSEFfbWV0aG9kc1tdID0gewotICAgIHsiY29weSIsICAgICAgKFB5Q0Z1bmN0aW9uKVNIQTI1Nl9jb3B5LCAgICAgIE1FVEhfTk9BUkdTLCAgU0hBMjU2X2NvcHlfX2RvY19ffSwKLSAgICB7ImRpZ2VzdCIsICAgIChQeUNGdW5jdGlvbilTSEEyNTZfZGlnZXN0LCAgICBNRVRIX05PQVJHUywgIFNIQTI1Nl9kaWdlc3RfX2RvY19ffSwKLSAgICB7ImhleGRpZ2VzdCIsIChQeUNGdW5jdGlvbilTSEEyNTZfaGV4ZGlnZXN0LCBNRVRIX05PQVJHUywgIFNIQTI1Nl9oZXhkaWdlc3RfX2RvY19ffSwKLSAgICB7InVwZGF0ZSIsICAgIChQeUNGdW5jdGlvbilTSEEyNTZfdXBkYXRlLCAgICBNRVRIX1ZBUkFSR1MsIFNIQTI1Nl91cGRhdGVfX2RvY19ffSwKKyAgICBTSEEyNTZUWVBFX0NPUFlfTUVUSE9EREVGCisgICAgU0hBMjU2VFlQRV9ESUdFU1RfTUVUSE9EREVGCisgICAgU0hBMjU2VFlQRV9IRVhESUdFU1RfTUVUSE9EREVGCisgICAgU0hBMjU2VFlQRV9VUERBVEVfTUVUSE9EREVGCiAgICAge05VTEwsICAgICAgICBOVUxMfSAgICAgICAgIC8qIHNlbnRpbmVsICovCiB9OwogCkBAIC01OTQsMjcgKzY3OCw1NSBAQAogCiAvKiBUaGUgc2luZ2xlIG1vZHVsZS1sZXZlbCBmdW5jdGlvbjogbmV3KCkgKi8KIAotUHlEb2NfU1RSVkFSKFNIQTI1Nl9uZXdfX2RvY19fLAorLypbY2xpbmljIGlucHV0XQorX3NoYTI1Ni5zaGEyNTYKKworICAgIHN0cmluZzogb2JqZWN0KGNfZGVmYXVsdD0iTlVMTCIpID0gYicnCisKK1JldHVybiBhIG5ldyBTSEEtMjU2IGhhc2ggb2JqZWN0OyBvcHRpb25hbGx5IGluaXRpYWxpemVkIHdpdGggYSBzdHJpbmcuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihfc2hhMjU2X3NoYTI1Nl9fZG9jX18sCisic2hhMjU2KCRtb2R1bGUsIC8sIHN0cmluZz1iXCdcJylcbiIKKyItLVxuIgorIlxuIgogIlJldHVybiBhIG5ldyBTSEEtMjU2IGhhc2ggb2JqZWN0OyBvcHRpb25hbGx5IGluaXRpYWxpemVkIHdpdGggYSBzdHJpbmcuIik7CiAKKyNkZWZpbmUgX1NIQTI1Nl9TSEEyNTZfTUVUSE9EREVGICAgIFwKKyAgICB7InNoYTI1NiIsIChQeUNGdW5jdGlvbilfc2hhMjU2X3NoYTI1NiwgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIF9zaGEyNTZfc2hhMjU2X19kb2NfX30sCisKIHN0YXRpYyBQeU9iamVjdCAqCi1TSEEyNTZfbmV3KFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3ZGljdCkKK19zaGEyNTZfc2hhMjU2X2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKnN0cmluZyk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitfc2hhMjU2X3NoYTI1NihQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKIHsKLSAgICBzdGF0aWMgY2hhciAqa3dsaXN0W10gPSB7InN0cmluZyIsIE5VTEx9OworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIHN0YXRpYyBjaGFyICpfa2V5d29yZHNbXSA9IHsic3RyaW5nIiwgTlVMTH07CisgICAgUHlPYmplY3QgKnN0cmluZyA9IE5VTEw7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsCisgICAgICAgICJ8TzpzaGEyNTYiLCBfa2V5d29yZHMsCisgICAgICAgICZzdHJpbmcpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gX3NoYTI1Nl9zaGEyNTZfaW1wbChtb2R1bGUsIHN0cmluZyk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK19zaGEyNTZfc2hhMjU2X2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKnN0cmluZykKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD00YjEyNjNkMWUyZmNkYjk4IGlucHV0PTA5Y2NlM2ZiODU1MDU2YjJdKi8KK3sKICAgICBTSEFvYmplY3QgKm5ldzsKLSAgICBQeU9iamVjdCAqZGF0YV9vYmogPSBOVUxMOwogICAgIFB5X2J1ZmZlciBidWY7CiAKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2RpY3QsICJ8TzpuZXciLCBrd2xpc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmRhdGFfb2JqKSkgewotICAgICAgICByZXR1cm4gTlVMTDsKLSAgICB9Ci0KLSAgICBpZiAoZGF0YV9vYmopCi0gICAgICAgIEdFVF9CVUZGRVJfVklFV19PUl9FUlJPVVQoZGF0YV9vYmosICZidWYpOworICAgIGlmIChzdHJpbmcpCisgICAgICAgIEdFVF9CVUZGRVJfVklFV19PUl9FUlJPVVQoc3RyaW5nLCAmYnVmKTsKIAogICAgIGlmICgobmV3ID0gbmV3U0hBMjU2b2JqZWN0KCkpID09IE5VTEwpIHsKLSAgICAgICAgaWYgKGRhdGFfb2JqKQorICAgICAgICBpZiAoc3RyaW5nKQogICAgICAgICAgICAgUHlCdWZmZXJfUmVsZWFzZSgmYnVmKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQpAQCAtNjIzLDExICs3MzUsMTEgQEAKIAogICAgIGlmIChQeUVycl9PY2N1cnJlZCgpKSB7CiAgICAgICAgIFB5X0RFQ1JFRihuZXcpOwotICAgICAgICBpZiAoZGF0YV9vYmopCisgICAgICAgIGlmIChzdHJpbmcpCiAgICAgICAgICAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZidWYpOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9Ci0gICAgaWYgKGRhdGFfb2JqKSB7CisgICAgaWYgKHN0cmluZykgewogICAgICAgICBzaGFfdXBkYXRlKG5ldywgYnVmLmJ1ZiwgYnVmLmxlbik7CiAgICAgICAgIFB5QnVmZmVyX1JlbGVhc2UoJmJ1Zik7CiAgICAgfQpAQCAtNjM1LDI3ICs3NDcsNTUgQEAKICAgICByZXR1cm4gKFB5T2JqZWN0ICopbmV3OwogfQogCi1QeURvY19TVFJWQVIoU0hBMjI0X25ld19fZG9jX18sCisvKltjbGluaWMgaW5wdXRdCitfc2hhMjU2LnNoYTIyNAorCisgICAgc3RyaW5nOiBvYmplY3QoY19kZWZhdWx0PSJOVUxMIikgPSBiJycKKworUmV0dXJuIGEgbmV3IFNIQS0yMjQgaGFzaCBvYmplY3Q7IG9wdGlvbmFsbHkgaW5pdGlhbGl6ZWQgd2l0aCBhIHN0cmluZy4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKF9zaGEyNTZfc2hhMjI0X19kb2NfXywKKyJzaGEyMjQoJG1vZHVsZSwgLywgc3RyaW5nPWJcJ1wnKVxuIgorIi0tXG4iCisiXG4iCiAiUmV0dXJuIGEgbmV3IFNIQS0yMjQgaGFzaCBvYmplY3Q7IG9wdGlvbmFsbHkgaW5pdGlhbGl6ZWQgd2l0aCBhIHN0cmluZy4iKTsKIAorI2RlZmluZSBfU0hBMjU2X1NIQTIyNF9NRVRIT0RERUYgICAgXAorICAgIHsic2hhMjI0IiwgKFB5Q0Z1bmN0aW9uKV9zaGEyNTZfc2hhMjI0LCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgX3NoYTI1Nl9zaGEyMjRfX2RvY19ffSwKKwogc3RhdGljIFB5T2JqZWN0ICoKLVNIQTIyNF9uZXcoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dkaWN0KQorX3NoYTI1Nl9zaGEyMjRfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqc3RyaW5nKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK19zaGEyNTZfc2hhMjI0KFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQogewotICAgIHN0YXRpYyBjaGFyICprd2xpc3RbXSA9IHsic3RyaW5nIiwgTlVMTH07CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgc3RhdGljIGNoYXIgKl9rZXl3b3Jkc1tdID0geyJzdHJpbmciLCBOVUxMfTsKKyAgICBQeU9iamVjdCAqc3RyaW5nID0gTlVMTDsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywKKyAgICAgICAgInxPOnNoYTIyNCIsIF9rZXl3b3JkcywKKyAgICAgICAgJnN0cmluZykpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBfc2hhMjU2X3NoYTIyNF9pbXBsKG1vZHVsZSwgc3RyaW5nKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorX3NoYTI1Nl9zaGEyMjRfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqc3RyaW5nKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTRkZGUwZWIxY2RhZWJjMDYgaW5wdXQ9MjdhMDRiYTI0YzM1M2E3M10qLworewogICAgIFNIQW9iamVjdCAqbmV3OwotICAgIFB5T2JqZWN0ICpkYXRhX29iaiA9IE5VTEw7CiAgICAgUHlfYnVmZmVyIGJ1ZjsKIAotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3ZGljdCwgInxPOm5ldyIsIGt3bGlzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZGF0YV9vYmopKSB7Ci0gICAgICAgIHJldHVybiBOVUxMOwotICAgIH0KLQotICAgIGlmIChkYXRhX29iaikKLSAgICAgICAgR0VUX0JVRkZFUl9WSUVXX09SX0VSUk9VVChkYXRhX29iaiwgJmJ1Zik7CisgICAgaWYgKHN0cmluZykKKyAgICAgICAgR0VUX0JVRkZFUl9WSUVXX09SX0VSUk9VVChzdHJpbmcsICZidWYpOwogCiAgICAgaWYgKChuZXcgPSBuZXdTSEEyMjRvYmplY3QoKSkgPT0gTlVMTCkgewotICAgICAgICBpZiAoZGF0YV9vYmopCisgICAgICAgIGlmIChzdHJpbmcpCiAgICAgICAgICAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZidWYpOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CkBAIC02NjQsMTEgKzgwNCwxMSBAQAogCiAgICAgaWYgKFB5RXJyX09jY3VycmVkKCkpIHsKICAgICAgICAgUHlfREVDUkVGKG5ldyk7Ci0gICAgICAgIGlmIChkYXRhX29iaikKKyAgICAgICAgaWYgKHN0cmluZykKICAgICAgICAgICAgIFB5QnVmZmVyX1JlbGVhc2UoJmJ1Zik7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KLSAgICBpZiAoZGF0YV9vYmopIHsKKyAgICBpZiAoc3RyaW5nKSB7CiAgICAgICAgIHNoYV91cGRhdGUobmV3LCBidWYuYnVmLCBidWYubGVuKTsKICAgICAgICAgUHlCdWZmZXJfUmVsZWFzZSgmYnVmKTsKICAgICB9CkBAIC02ODAsOCArODIwLDggQEAKIC8qIExpc3Qgb2YgZnVuY3Rpb25zIGV4cG9ydGVkIGJ5IHRoaXMgbW9kdWxlICovCiAKIHN0YXRpYyBzdHJ1Y3QgUHlNZXRob2REZWYgU0hBX2Z1bmN0aW9uc1tdID0gewotICAgIHsic2hhMjU2IiwgKFB5Q0Z1bmN0aW9uKVNIQTI1Nl9uZXcsIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBTSEEyNTZfbmV3X19kb2NfX30sCi0gICAgeyJzaGEyMjQiLCAoUHlDRnVuY3Rpb24pU0hBMjI0X25ldywgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIFNIQTIyNF9uZXdfX2RvY19ffSwKKyAgICBfU0hBMjU2X1NIQTI1Nl9NRVRIT0RERUYKKyAgICBfU0hBMjU2X1NIQTIyNF9NRVRIT0RERUYKICAgICB7TlVMTCwgICAgICBOVUxMfSAgICAgICAgICAgIC8qIFNlbnRpbmVsICovCiB9OwogCmRpZmYgLS1naXQgYS9Nb2R1bGVzL3NoYTUxMm1vZHVsZS5jIGIvTW9kdWxlcy9zaGE1MTJtb2R1bGUuYwppbmRleCA0N2M1N2U1Li44NDNmOTVkIDEwMDY0NAotLS0gYS9Nb2R1bGVzL3NoYTUxMm1vZHVsZS5jCisrKyBiL01vZHVsZXMvc2hhNTEybW9kdWxlLmMKQEAgLTIwLDYgKzIwLDEyIEBACiAjaW5jbHVkZSAic3RydWN0bWVtYmVyLmgiCiAjaW5jbHVkZSAiaGFzaGxpYi5oIgogCisvKltjbGluaWMgaW5wdXRdCittb2R1bGUgX3NoYTUxMgorY2xhc3MgU0hBNTEyVHlwZSAiU0hBb2JqZWN0ICoiICImUHlUeXBlX1R5cGUiCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ZGEzOWEzZWU1ZTZiNGIwZCBpbnB1dD04MWEzY2NkZTkyYmNmZThkXSovCisKICNpZmRlZiBQWV9MT05HX0xPTkcgLyogSWYgbm8gUFlfTE9OR19MT05HLCBkb24ndCBjb21waWxlIGFueXRoaW5nISAqLwogCiAvKiBTb21lIHVzZWZ1bCB0eXBlcyAqLwpAQCAtNDU5LDEwICs0NjUsMzMgQEAKIAogLyogRXh0ZXJuYWwgbWV0aG9kcyBmb3IgYSBoYXNoIG9iamVjdCAqLwogCi1QeURvY19TVFJWQVIoU0hBNTEyX2NvcHlfX2RvY19fLCAiUmV0dXJuIGEgY29weSBvZiB0aGUgaGFzaCBvYmplY3QuIik7CisvKltjbGluaWMgaW5wdXRdCitTSEE1MTJUeXBlLmNvcHkKKworUmV0dXJuIGEgY29weSBvZiB0aGUgaGFzaCBvYmplY3QuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihTSEE1MTJUeXBlX2NvcHlfX2RvY19fLAorImNvcHkoJHNlbGYsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gYSBjb3B5IG9mIHRoZSBoYXNoIG9iamVjdC4iKTsKKworI2RlZmluZSBTSEE1MTJUWVBFX0NPUFlfTUVUSE9EREVGICAgIFwKKyAgICB7ImNvcHkiLCAoUHlDRnVuY3Rpb24pU0hBNTEyVHlwZV9jb3B5LCBNRVRIX05PQVJHUywgU0hBNTEyVHlwZV9jb3B5X19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1TSEE1MTJfY29weShTSEFvYmplY3QgKnNlbGYsIFB5T2JqZWN0ICp1bnVzZWQpCitTSEE1MTJUeXBlX2NvcHlfaW1wbChTSEFvYmplY3QgKnNlbGYpOworCitzdGF0aWMgUHlPYmplY3QgKgorU0hBNTEyVHlwZV9jb3B5KFNIQW9iamVjdCAqc2VsZiwgUHlPYmplY3QgKlB5X1VOVVNFRChpZ25vcmVkKSkKK3sKKyAgICByZXR1cm4gU0hBNTEyVHlwZV9jb3B5X2ltcGwoc2VsZik7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitTSEE1MTJUeXBlX2NvcHlfaW1wbChTSEFvYmplY3QgKnNlbGYpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9MTRmOGU2Y2U5YzYxZWNlMCBpbnB1dD05ZjVmMzFlNmM0NTc3NzZhXSovCiB7CiAgICAgU0hBb2JqZWN0ICpuZXdvYmo7CiAKQEAgLTQ3OCwxMSArNTA3LDMzIEBACiAgICAgcmV0dXJuIChQeU9iamVjdCAqKW5ld29iajsKIH0KIAotUHlEb2NfU1RSVkFSKFNIQTUxMl9kaWdlc3RfX2RvY19fLAorLypbY2xpbmljIGlucHV0XQorU0hBNTEyVHlwZS5kaWdlc3QKKworUmV0dXJuIHRoZSBkaWdlc3QgdmFsdWUgYXMgYSBzdHJpbmcgb2YgYmluYXJ5IGRhdGEuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihTSEE1MTJUeXBlX2RpZ2VzdF9fZG9jX18sCisiZGlnZXN0KCRzZWxmLCAvKVxuIgorIi0tXG4iCisiXG4iCiAiUmV0dXJuIHRoZSBkaWdlc3QgdmFsdWUgYXMgYSBzdHJpbmcgb2YgYmluYXJ5IGRhdGEuIik7CiAKKyNkZWZpbmUgU0hBNTEyVFlQRV9ESUdFU1RfTUVUSE9EREVGICAgIFwKKyAgICB7ImRpZ2VzdCIsIChQeUNGdW5jdGlvbilTSEE1MTJUeXBlX2RpZ2VzdCwgTUVUSF9OT0FSR1MsIFNIQTUxMlR5cGVfZGlnZXN0X19kb2NfX30sCisKIHN0YXRpYyBQeU9iamVjdCAqCi1TSEE1MTJfZGlnZXN0KFNIQW9iamVjdCAqc2VsZiwgUHlPYmplY3QgKnVudXNlZCkKK1NIQTUxMlR5cGVfZGlnZXN0X2ltcGwoU0hBb2JqZWN0ICpzZWxmKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK1NIQTUxMlR5cGVfZGlnZXN0KFNIQW9iamVjdCAqc2VsZiwgUHlPYmplY3QgKlB5X1VOVVNFRChpZ25vcmVkKSkKK3sKKyAgICByZXR1cm4gU0hBNTEyVHlwZV9kaWdlc3RfaW1wbChzZWxmKTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK1NIQTUxMlR5cGVfZGlnZXN0X2ltcGwoU0hBb2JqZWN0ICpzZWxmKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWJlOGRlMDI0YjIzMjk3N2UgaW5wdXQ9NjBjMmNlZGU5ZTAyMzAxOF0qLwogewogICAgIHVuc2lnbmVkIGNoYXIgZGlnZXN0W1NIQV9ESUdFU1RTSVpFXTsKICAgICBTSEFvYmplY3QgdGVtcDsKQEAgLTQ5MiwxMSArNTQzLDMzIEBACiAgICAgcmV0dXJuIFB5Qnl0ZXNfRnJvbVN0cmluZ0FuZFNpemUoKGNvbnN0IGNoYXIgKilkaWdlc3QsIHNlbGYtPmRpZ2VzdHNpemUpOwogfQogCi1QeURvY19TVFJWQVIoU0hBNTEyX2hleGRpZ2VzdF9fZG9jX18sCisvKltjbGluaWMgaW5wdXRdCitTSEE1MTJUeXBlLmhleGRpZ2VzdAorCitSZXR1cm4gdGhlIGRpZ2VzdCB2YWx1ZSBhcyBhIHN0cmluZyBvZiBoZXhhZGVjaW1hbCBkaWdpdHMuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihTSEE1MTJUeXBlX2hleGRpZ2VzdF9fZG9jX18sCisiaGV4ZGlnZXN0KCRzZWxmLCAvKVxuIgorIi0tXG4iCisiXG4iCiAiUmV0dXJuIHRoZSBkaWdlc3QgdmFsdWUgYXMgYSBzdHJpbmcgb2YgaGV4YWRlY2ltYWwgZGlnaXRzLiIpOwogCisjZGVmaW5lIFNIQTUxMlRZUEVfSEVYRElHRVNUX01FVEhPRERFRiAgICBcCisgICAgeyJoZXhkaWdlc3QiLCAoUHlDRnVuY3Rpb24pU0hBNTEyVHlwZV9oZXhkaWdlc3QsIE1FVEhfTk9BUkdTLCBTSEE1MTJUeXBlX2hleGRpZ2VzdF9fZG9jX199LAorCiBzdGF0aWMgUHlPYmplY3QgKgotU0hBNTEyX2hleGRpZ2VzdChTSEFvYmplY3QgKnNlbGYsIFB5T2JqZWN0ICp1bnVzZWQpCitTSEE1MTJUeXBlX2hleGRpZ2VzdF9pbXBsKFNIQW9iamVjdCAqc2VsZik7CisKK3N0YXRpYyBQeU9iamVjdCAqCitTSEE1MTJUeXBlX2hleGRpZ2VzdChTSEFvYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpQeV9VTlVTRUQoaWdub3JlZCkpCit7CisgICAgcmV0dXJuIFNIQTUxMlR5cGVfaGV4ZGlnZXN0X2ltcGwoc2VsZik7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitTSEE1MTJUeXBlX2hleGRpZ2VzdF9pbXBsKFNIQW9iamVjdCAqc2VsZikKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD0yOGE0YWIyZjlhMTc4MWI4IGlucHV0PTQ5OGI4NzdiMjVjYmUwYTJdKi8KIHsKICAgICB1bnNpZ25lZCBjaGFyIGRpZ2VzdFtTSEFfRElHRVNUU0laRV07CiAgICAgU0hBb2JqZWN0IHRlbXA7CkBAIC01MjgsMTggKzYwMSwzMCBAQAogICAgIHJldHVybiByZXR2YWw7CiB9CiAKLVB5RG9jX1NUUlZBUihTSEE1MTJfdXBkYXRlX19kb2NfXywKLSJVcGRhdGUgdGhpcyBoYXNoIG9iamVjdCdzIHN0YXRlIHdpdGggdGhlIHByb3ZpZGVkIHN0cmluZy4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK1NIQTUxMlR5cGUudXBkYXRlCisKKyAgICBvYmo6IG9iamVjdAorICAgIC8KKworVXBkYXRlIHRoaXMgaGFzaCBvYmplY3QncyBzdGF0ZSB3aXRoIHRoZSBwcm92aWRlZCBzdHJpbmcuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihTSEE1MTJUeXBlX3VwZGF0ZV9fZG9jX18sCisidXBkYXRlKCRzZWxmLCBvYmosIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJVcGRhdGUgdGhpcyBoYXNoIG9iamVjdFwncyBzdGF0ZSB3aXRoIHRoZSBwcm92aWRlZCBzdHJpbmcuIik7CisKKyNkZWZpbmUgU0hBNTEyVFlQRV9VUERBVEVfTUVUSE9EREVGICAgIFwKKyAgICB7InVwZGF0ZSIsIChQeUNGdW5jdGlvbilTSEE1MTJUeXBlX3VwZGF0ZSwgTUVUSF9PLCBTSEE1MTJUeXBlX3VwZGF0ZV9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotU0hBNTEyX3VwZGF0ZShTSEFvYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorU0hBNTEyVHlwZV91cGRhdGUoU0hBb2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqb2JqKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTZiZTU3NGNkYzNhOWM1MmQgaW5wdXQ9ZGVkMmI0NjY1NjU2NjI4M10qLwogewotICAgIFB5T2JqZWN0ICpvYmo7CiAgICAgUHlfYnVmZmVyIGJ1ZjsKIAotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiTzp1cGRhdGUiLCAmb2JqKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0KICAgICBHRVRfQlVGRkVSX1ZJRVdfT1JfRVJST1VUKG9iaiwgJmJ1Zik7CiAKICAgICBzaGE1MTJfdXBkYXRlKHNlbGYsIGJ1Zi5idWYsIGJ1Zi5sZW4pOwpAQCAtNTQ4LDEyICs2MzMsMzIgQEAKICAgICBQeV9JTkNSRUYoUHlfTm9uZSk7CiAgICAgcmV0dXJuIFB5X05vbmU7CiB9CisvKltjbGluaWMgaW5wdXRdCitkdW1wIGJ1ZmZlcgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCisjaWZuZGVmIFNIQTUxMlRZUEVfQ09QWV9NRVRIT0RERUYKKyAgICAjZGVmaW5lIFNIQTUxMlRZUEVfQ09QWV9NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChTSEE1MTJUWVBFX0NPUFlfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIFNIQTUxMlRZUEVfRElHRVNUX01FVEhPRERFRgorICAgICNkZWZpbmUgU0hBNTEyVFlQRV9ESUdFU1RfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoU0hBNTEyVFlQRV9ESUdFU1RfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIFNIQTUxMlRZUEVfSEVYRElHRVNUX01FVEhPRERFRgorICAgICNkZWZpbmUgU0hBNTEyVFlQRV9IRVhESUdFU1RfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoU0hBNTEyVFlQRV9IRVhESUdFU1RfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIFNIQTUxMlRZUEVfVVBEQVRFX01FVEhPRERFRgorICAgICNkZWZpbmUgU0hBNTEyVFlQRV9VUERBVEVfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoU0hBNTEyVFlQRV9VUERBVEVfTUVUSE9EREVGKSAqLworLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWRlNzEzOTQ3ZDMxMTMwZTkgaW5wdXQ9NTI0Y2UyZTAyMWU0ZWJhNl0qLwogCiBzdGF0aWMgUHlNZXRob2REZWYgU0hBX21ldGhvZHNbXSA9IHsKLSAgICB7ImNvcHkiLCAgICAgIChQeUNGdW5jdGlvbilTSEE1MTJfY29weSwgICAgICBNRVRIX05PQVJHUywgU0hBNTEyX2NvcHlfX2RvY19ffSwKLSAgICB7ImRpZ2VzdCIsICAgIChQeUNGdW5jdGlvbilTSEE1MTJfZGlnZXN0LCAgICBNRVRIX05PQVJHUywgU0hBNTEyX2RpZ2VzdF9fZG9jX199LAotICAgIHsiaGV4ZGlnZXN0IiwgKFB5Q0Z1bmN0aW9uKVNIQTUxMl9oZXhkaWdlc3QsIE1FVEhfTk9BUkdTLCBTSEE1MTJfaGV4ZGlnZXN0X19kb2NfX30sCi0gICAgeyJ1cGRhdGUiLCAgICAoUHlDRnVuY3Rpb24pU0hBNTEyX3VwZGF0ZSwgICAgTUVUSF9WQVJBUkdTLCBTSEE1MTJfdXBkYXRlX19kb2NfX30sCisgICAgU0hBNTEyVFlQRV9DT1BZX01FVEhPRERFRgorICAgIFNIQTUxMlRZUEVfRElHRVNUX01FVEhPRERFRgorICAgIFNIQTUxMlRZUEVfSEVYRElHRVNUX01FVEhPRERFRgorICAgIFNIQTUxMlRZUEVfVVBEQVRFX01FVEhPRERFRgogICAgIHtOVUxMLCAgICAgICAgTlVMTH0gICAgICAgICAvKiBzZW50aW5lbCAqLwogfTsKIApAQCAtNjYwLDI3ICs3NjUsNTUgQEAKIAogLyogVGhlIHNpbmdsZSBtb2R1bGUtbGV2ZWwgZnVuY3Rpb246IG5ldygpICovCiAKLVB5RG9jX1NUUlZBUihTSEE1MTJfbmV3X19kb2NfXywKKy8qW2NsaW5pYyBpbnB1dF0KK19zaGE1MTIuc2hhNTEyCisKKyAgICBzdHJpbmc6IG9iamVjdChjX2RlZmF1bHQ9Ik5VTEwiKSA9IGInJworCitSZXR1cm4gYSBuZXcgU0hBLTUxMiBoYXNoIG9iamVjdDsgb3B0aW9uYWxseSBpbml0aWFsaXplZCB3aXRoIGEgc3RyaW5nLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIoX3NoYTUxMl9zaGE1MTJfX2RvY19fLAorInNoYTUxMigkbW9kdWxlLCAvLCBzdHJpbmc9YlwnXCcpXG4iCisiLS1cbiIKKyJcbiIKICJSZXR1cm4gYSBuZXcgU0hBLTUxMiBoYXNoIG9iamVjdDsgb3B0aW9uYWxseSBpbml0aWFsaXplZCB3aXRoIGEgc3RyaW5nLiIpOwogCisjZGVmaW5lIF9TSEE1MTJfU0hBNTEyX01FVEhPRERFRiAgICBcCisgICAgeyJzaGE1MTIiLCAoUHlDRnVuY3Rpb24pX3NoYTUxMl9zaGE1MTIsIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBfc2hhNTEyX3NoYTUxMl9fZG9jX199LAorCiBzdGF0aWMgUHlPYmplY3QgKgotU0hBNTEyX25ldyhQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2RpY3QpCitfc2hhNTEyX3NoYTUxMl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpzdHJpbmcpOworCitzdGF0aWMgUHlPYmplY3QgKgorX3NoYTUxMl9zaGE1MTIoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCiB7Ci0gICAgc3RhdGljIGNoYXIgKmt3bGlzdFtdID0geyJzdHJpbmciLCBOVUxMfTsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBzdGF0aWMgY2hhciAqX2tleXdvcmRzW10gPSB7InN0cmluZyIsIE5VTEx9OworICAgIFB5T2JqZWN0ICpzdHJpbmcgPSBOVUxMOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLAorICAgICAgICAifE86c2hhNTEyIiwgX2tleXdvcmRzLAorICAgICAgICAmc3RyaW5nKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IF9zaGE1MTJfc2hhNTEyX2ltcGwobW9kdWxlLCBzdHJpbmcpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitfc2hhNTEyX3NoYTUxMl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpzdHJpbmcpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9OWUzOWIxMTExNWYzNjg3OCBpbnB1dD1lNjliYWQ5YWU5YjZhMzA4XSovCit7CiAgICAgU0hBb2JqZWN0ICpuZXc7Ci0gICAgUHlPYmplY3QgKmRhdGFfb2JqID0gTlVMTDsKICAgICBQeV9idWZmZXIgYnVmOwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dkaWN0LCAifE86bmV3Iiwga3dsaXN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZkYXRhX29iaikpIHsKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgfQotCi0gICAgaWYgKGRhdGFfb2JqKQotICAgICAgICBHRVRfQlVGRkVSX1ZJRVdfT1JfRVJST1VUKGRhdGFfb2JqLCAmYnVmKTsKKyAgICBpZiAoc3RyaW5nKQorICAgICAgICBHRVRfQlVGRkVSX1ZJRVdfT1JfRVJST1VUKHN0cmluZywgJmJ1Zik7CiAKICAgICBpZiAoKG5ldyA9IG5ld1NIQTUxMm9iamVjdCgpKSA9PSBOVUxMKSB7Ci0gICAgICAgIGlmIChkYXRhX29iaikKKyAgICAgICAgaWYgKHN0cmluZykKICAgICAgICAgICAgIFB5QnVmZmVyX1JlbGVhc2UoJmJ1Zik7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KQEAgLTY4OSwxMSArODIyLDExIEBACiAKICAgICBpZiAoUHlFcnJfT2NjdXJyZWQoKSkgewogICAgICAgICBQeV9ERUNSRUYobmV3KTsKLSAgICAgICAgaWYgKGRhdGFfb2JqKQorICAgICAgICBpZiAoc3RyaW5nKQogICAgICAgICAgICAgUHlCdWZmZXJfUmVsZWFzZSgmYnVmKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQotICAgIGlmIChkYXRhX29iaikgeworICAgIGlmIChzdHJpbmcpIHsKICAgICAgICAgc2hhNTEyX3VwZGF0ZShuZXcsIGJ1Zi5idWYsIGJ1Zi5sZW4pOwogICAgICAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZidWYpOwogICAgIH0KQEAgLTcwMSwyNyArODM0LDU1IEBACiAgICAgcmV0dXJuIChQeU9iamVjdCAqKW5ldzsKIH0KIAotUHlEb2NfU1RSVkFSKFNIQTM4NF9uZXdfX2RvY19fLAorLypbY2xpbmljIGlucHV0XQorX3NoYTUxMi5zaGEzODQKKworICAgIHN0cmluZzogb2JqZWN0KGNfZGVmYXVsdD0iTlVMTCIpID0gYicnCisKK1JldHVybiBhIG5ldyBTSEEtMzg0IGhhc2ggb2JqZWN0OyBvcHRpb25hbGx5IGluaXRpYWxpemVkIHdpdGggYSBzdHJpbmcuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihfc2hhNTEyX3NoYTM4NF9fZG9jX18sCisic2hhMzg0KCRtb2R1bGUsIC8sIHN0cmluZz1iXCdcJylcbiIKKyItLVxuIgorIlxuIgogIlJldHVybiBhIG5ldyBTSEEtMzg0IGhhc2ggb2JqZWN0OyBvcHRpb25hbGx5IGluaXRpYWxpemVkIHdpdGggYSBzdHJpbmcuIik7CiAKKyNkZWZpbmUgX1NIQTUxMl9TSEEzODRfTUVUSE9EREVGICAgIFwKKyAgICB7InNoYTM4NCIsIChQeUNGdW5jdGlvbilfc2hhNTEyX3NoYTM4NCwgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIF9zaGE1MTJfc2hhMzg0X19kb2NfX30sCisKIHN0YXRpYyBQeU9iamVjdCAqCi1TSEEzODRfbmV3KFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3ZGljdCkKK19zaGE1MTJfc2hhMzg0X2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKnN0cmluZyk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitfc2hhNTEyX3NoYTM4NChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKIHsKLSAgICBzdGF0aWMgY2hhciAqa3dsaXN0W10gPSB7InN0cmluZyIsIE5VTEx9OworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIHN0YXRpYyBjaGFyICpfa2V5d29yZHNbXSA9IHsic3RyaW5nIiwgTlVMTH07CisgICAgUHlPYmplY3QgKnN0cmluZyA9IE5VTEw7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsCisgICAgICAgICJ8TzpzaGEzODQiLCBfa2V5d29yZHMsCisgICAgICAgICZzdHJpbmcpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gX3NoYTUxMl9zaGEzODRfaW1wbChtb2R1bGUsIHN0cmluZyk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK19zaGE1MTJfc2hhMzg0X2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKnN0cmluZykKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD0zOTdjNmZiYTM1MjViOTNhIGlucHV0PWM5MzI3Nzg4ZDRlYTQ1NDVdKi8KK3sKICAgICBTSEFvYmplY3QgKm5ldzsKLSAgICBQeU9iamVjdCAqZGF0YV9vYmogPSBOVUxMOwogICAgIFB5X2J1ZmZlciBidWY7CiAKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2RpY3QsICJ8TzpuZXciLCBrd2xpc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmRhdGFfb2JqKSkgewotICAgICAgICByZXR1cm4gTlVMTDsKLSAgICB9Ci0KLSAgICBpZiAoZGF0YV9vYmopCi0gICAgICAgIEdFVF9CVUZGRVJfVklFV19PUl9FUlJPVVQoZGF0YV9vYmosICZidWYpOworICAgIGlmIChzdHJpbmcpCisgICAgICAgIEdFVF9CVUZGRVJfVklFV19PUl9FUlJPVVQoc3RyaW5nLCAmYnVmKTsKIAogICAgIGlmICgobmV3ID0gbmV3U0hBMzg0b2JqZWN0KCkpID09IE5VTEwpIHsKLSAgICAgICAgaWYgKGRhdGFfb2JqKQorICAgICAgICBpZiAoc3RyaW5nKQogICAgICAgICAgICAgUHlCdWZmZXJfUmVsZWFzZSgmYnVmKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQpAQCAtNzMwLDExICs4OTEsMTEgQEAKIAogICAgIGlmIChQeUVycl9PY2N1cnJlZCgpKSB7CiAgICAgICAgIFB5X0RFQ1JFRihuZXcpOwotICAgICAgICBpZiAoZGF0YV9vYmopCisgICAgICAgIGlmIChzdHJpbmcpCiAgICAgICAgICAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZidWYpOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9Ci0gICAgaWYgKGRhdGFfb2JqKSB7CisgICAgaWYgKHN0cmluZykgewogICAgICAgICBzaGE1MTJfdXBkYXRlKG5ldywgYnVmLmJ1ZiwgYnVmLmxlbik7CiAgICAgICAgIFB5QnVmZmVyX1JlbGVhc2UoJmJ1Zik7CiAgICAgfQpAQCAtNzQzLDExICs5MDQsMjQgQEAKIH0KIAogCisvKltjbGluaWMgaW5wdXRdCitkdW1wIGJ1ZmZlcgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCisjaWZuZGVmIF9TSEE1MTJfU0hBNTEyX01FVEhPRERFRgorICAgICNkZWZpbmUgX1NIQTUxMl9TSEE1MTJfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoX1NIQTUxMl9TSEE1MTJfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIF9TSEE1MTJfU0hBMzg0X01FVEhPRERFRgorICAgICNkZWZpbmUgX1NIQTUxMl9TSEEzODRfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoX1NIQTUxMl9TSEEzODRfTUVUSE9EREVGKSAqLworLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTY5ZDg0YWE5NDQ1YjAxZDggaW5wdXQ9NTI0Y2UyZTAyMWU0ZWJhNl0qLworCiAvKiBMaXN0IG9mIGZ1bmN0aW9ucyBleHBvcnRlZCBieSB0aGlzIG1vZHVsZSAqLwogCiBzdGF0aWMgc3RydWN0IFB5TWV0aG9kRGVmIFNIQV9mdW5jdGlvbnNbXSA9IHsKLSAgICB7InNoYTUxMiIsIChQeUNGdW5jdGlvbilTSEE1MTJfbmV3LCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgU0hBNTEyX25ld19fZG9jX199LAotICAgIHsic2hhMzg0IiwgKFB5Q0Z1bmN0aW9uKVNIQTM4NF9uZXcsIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBTSEEzODRfbmV3X19kb2NfX30sCisgICAgX1NIQTUxMl9TSEE1MTJfTUVUSE9EREVGCisgICAgX1NIQTUxMl9TSEEzODRfTUVUSE9EREVGCiAgICAge05VTEwsICAgICAgTlVMTH0gICAgICAgICAgICAvKiBTZW50aW5lbCAqLwogfTsKIApkaWZmIC0tZ2l0IGEvTW9kdWxlcy9zaWduYWxtb2R1bGUuYyBiL01vZHVsZXMvc2lnbmFsbW9kdWxlLmMKaW5kZXggZmVkYWRkZi4uNTk4YmM4YSAxMDA2NDQKLS0tIGEvTW9kdWxlcy9zaWduYWxtb2R1bGUuYworKysgYi9Nb2R1bGVzL3NpZ25hbG1vZHVsZS5jCkBAIC03LDYgKzcsOSBAQAogI2lmbmRlZiBNU19XSU5ET1dTCiAjaW5jbHVkZSAicG9zaXhtb2R1bGUuaCIKICNlbmRpZgorI2lmZGVmIE1TX1dJTkRPV1MKKyNpbmNsdWRlICJzb2NrZXRtb2R1bGUuaCIgICAvKiBuZWVkZWQgZm9yIFNPQ0tFVF9UICovCisjZW5kaWYKIAogI2lmZGVmIE1TX1dJTkRPV1MKICNpbmNsdWRlIDx3aW5kb3dzLmg+CkBAIC04Nyw3ICs5MCwyMCBAQAogICAgIFB5T2JqZWN0ICpmdW5jOwogfSBIYW5kbGVyc1tOU0lHXTsKIAorI2lmZGVmIE1TX1dJTkRPV1MKKyNkZWZpbmUgSU5WQUxJRF9GRCAoKFNPQ0tFVF9UKS0xKQorCitzdGF0aWMgdm9sYXRpbGUgc3RydWN0IHsKKyAgICBTT0NLRVRfVCBmZDsKKyAgICBpbnQgdXNlX3NlbmQ7CisgICAgaW50IHNlbmRfZXJyX3NldDsKKyAgICBpbnQgc2VuZF9lcnJubzsKKyAgICBpbnQgc2VuZF93aW5fZXJyb3I7Cit9IHdha2V1cCA9IHtJTlZBTElEX0ZELCAwLCAwfTsKKyNlbHNlCisjZGVmaW5lIElOVkFMSURfRkQgKC0xKQogc3RhdGljIHZvbGF0aWxlIHNpZ19hdG9taWNfdCB3YWtldXBfZmQgPSAtMTsKKyNlbmRpZgogCiAvKiBTcGVlZCB1cCBzaWdjaGVjaygpIHdoZW4gbm9uZSB0cmlwcGVkICovCiBzdGF0aWMgdm9sYXRpbGUgc2lnX2F0b21pY190IGlzX3RyaXBwZWQgPSAwOwpAQCAtMTcyLDcgKzE4OCw3IEBACiB9CiAKIHN0YXRpYyBpbnQKLXJlcG9ydF93YWtldXBfZXJyb3Iodm9pZCAqZGF0YSkKK3JlcG9ydF93YWtldXBfd3JpdGVfZXJyb3Iodm9pZCAqZGF0YSkKIHsKICAgICBpbnQgc2F2ZV9lcnJubyA9IGVycm5vOwogICAgIGVycm5vID0gKGludCkgKFB5X2ludHB0cl90KSBkYXRhOwpAQCAtMTg0LDI1ICsyMDAsODYgQEAKICAgICByZXR1cm4gMDsKIH0KIAorI2lmZGVmIE1TX1dJTkRPV1MKK3N0YXRpYyBpbnQKK3JlcG9ydF93YWtldXBfc2VuZF9lcnJvcih2b2lkKiBQeV9VTlVTRUQoZGF0YSkpCit7CisgICAgUHlPYmplY3QgKnJlczsKKworICAgIGlmICh3YWtldXAuc2VuZF93aW5fZXJyb3IpIHsKKyAgICAgICAgLyogUHlFcnJfU2V0RXhjRnJvbVdpbmRvd3NFcnIoKSBpbnZva2VzIEZvcm1hdE1lc3NhZ2UoKSB3aGljaAorICAgICAgICAgICByZWNvZ25pemVzIHRoZSBlcnJvciBjb2RlcyB1c2VkIGJ5IGJvdGggR2V0TGFzdEVycm9yKCkgYW5kCisgICAgICAgICAgIFdTQUdldExhc3RFcnJvciAqLworICAgICAgICByZXMgPSBQeUVycl9TZXRFeGNGcm9tV2luZG93c0VycihQeUV4Y19PU0Vycm9yLCB3YWtldXAuc2VuZF93aW5fZXJyb3IpOworICAgIH0KKyAgICBlbHNlIHsKKyAgICAgICAgZXJybm8gPSB3YWtldXAuc2VuZF9lcnJubzsKKyAgICAgICAgcmVzID0gUHlFcnJfU2V0RnJvbUVycm5vKFB5RXhjX09TRXJyb3IpOworICAgIH0KKworICAgIGFzc2VydChyZXMgPT0gTlVMTCk7CisgICAgd2FrZXVwLnNlbmRfZXJyX3NldCA9IDA7CisKKyAgICBQeVN5c19Xcml0ZVN0ZGVycigiRXhjZXB0aW9uIGlnbm9yZWQgd2hlbiB0cnlpbmcgdG8gc2VuZCB0byB0aGUgIgorICAgICAgICAgICAgICAgICAgICAgICJzaWduYWwgd2FrZXVwIGZkOlxuIik7CisgICAgUHlFcnJfV3JpdGVVbnJhaXNhYmxlKE5VTEwpOworCisgICAgcmV0dXJuIDA7Cit9CisjZW5kaWYgICAvKiBNU19XSU5ET1dTICovCisKIHN0YXRpYyB2b2lkCiB0cmlwX3NpZ25hbChpbnQgc2lnX251bSkKIHsKICAgICB1bnNpZ25lZCBjaGFyIGJ5dGU7Ci0gICAgaW50IHJjID0gMDsKKyAgICBpbnQgZmQ7CisgICAgUHlfc3NpemVfdCByYzsKIAogICAgIEhhbmRsZXJzW3NpZ19udW1dLnRyaXBwZWQgPSAxOwotICAgIGlmICh3YWtldXBfZmQgIT0gLTEpIHsKKworI2lmZGVmIE1TX1dJTkRPV1MKKyAgICBmZCA9IFB5X1NBRkVfRE9XTkNBU1Qod2FrZXVwLmZkLCBTT0NLRVRfVCwgaW50KTsKKyNlbHNlCisgICAgZmQgPSB3YWtldXBfZmQ7CisjZW5kaWYKKworICAgIGlmIChmZCAhPSBJTlZBTElEX0ZEKSB7CiAgICAgICAgIGJ5dGUgPSAodW5zaWduZWQgY2hhcilzaWdfbnVtOwotICAgICAgICB3aGlsZSAoKHJjID0gd3JpdGUod2FrZXVwX2ZkLCAmYnl0ZSwgMSkpID09IC0xICYmIGVycm5vID09IEVJTlRSKTsKLSAgICAgICAgaWYgKHJjID09IC0xKQotICAgICAgICAgICAgUHlfQWRkUGVuZGluZ0NhbGwocmVwb3J0X3dha2V1cF9lcnJvciwgKHZvaWQgKikgKFB5X2ludHB0cl90KSBlcnJubyk7CisjaWZkZWYgTVNfV0lORE9XUworICAgICAgICBpZiAod2FrZXVwLnVzZV9zZW5kKSB7CisgICAgICAgICAgICBkbyB7CisgICAgICAgICAgICAgICAgcmMgPSBzZW5kKGZkLCAmYnl0ZSwgMSwgMCk7CisgICAgICAgICAgICB9IHdoaWxlIChyYyA8IDAgJiYgZXJybm8gPT0gRUlOVFIpOworCisgICAgICAgICAgICAvKiB3ZSBvbmx5IGhhdmUgYSBzdG9yYWdlIGZvciBvbmUgZXJyb3IgaW4gdGhlIHdha2V1cCBzdHJ1Y3R1cmUgKi8KKyAgICAgICAgICAgIGlmIChyYyA8IDAgJiYgIXdha2V1cC5zZW5kX2Vycl9zZXQpIHsKKyAgICAgICAgICAgICAgICB3YWtldXAuc2VuZF9lcnJfc2V0ID0gMTsKKyAgICAgICAgICAgICAgICB3YWtldXAuc2VuZF9lcnJubyA9IGVycm5vOworICAgICAgICAgICAgICAgIHdha2V1cC5zZW5kX3dpbl9lcnJvciA9IEdldExhc3RFcnJvcigpOworICAgICAgICAgICAgICAgIFB5X0FkZFBlbmRpbmdDYWxsKHJlcG9ydF93YWtldXBfc2VuZF9lcnJvciwgTlVMTCk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgZWxzZQorI2VuZGlmCisgICAgICAgIHsKKyAgICAgICAgICAgIGJ5dGUgPSAodW5zaWduZWQgY2hhcilzaWdfbnVtOworICAgICAgICAgICAgZG8geworICAgICAgICAgICAgICAgIHJjID0gd3JpdGUoZmQsICZieXRlLCAxKTsKKyAgICAgICAgICAgIH0gd2hpbGUgKHJjIDwgMCAmJiBlcnJubyA9PSBFSU5UUik7CisKKyAgICAgICAgICAgIGlmIChyYyA8IDApIHsKKyAgICAgICAgICAgICAgICBQeV9BZGRQZW5kaW5nQ2FsbChyZXBvcnRfd2FrZXVwX3dyaXRlX2Vycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh2b2lkICopKFB5X2ludHB0cl90KWVycm5vKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQogICAgIH0KLSAgICBpZiAoaXNfdHJpcHBlZCkKLSAgICAgICAgcmV0dXJuOwotICAgIC8qIFNldCBpc190cmlwcGVkIGFmdGVyIHNldHRpbmcgLnRyaXBwZWQsIGFzIGl0IGdldHMKLSAgICAgICBjbGVhcmVkIGluIFB5RXJyX0NoZWNrU2lnbmFscygpIGJlZm9yZSAudHJpcHBlZC4gKi8KLSAgICBpc190cmlwcGVkID0gMTsKLSAgICBQeV9BZGRQZW5kaW5nQ2FsbChjaGVja3NpZ25hbHNfd2l0aGFyZywgTlVMTCk7CisKKyAgICBpZiAoIWlzX3RyaXBwZWQpIHsKKyAgICAgICAgLyogU2V0IGlzX3RyaXBwZWQgYWZ0ZXIgc2V0dGluZyAudHJpcHBlZCwgYXMgaXQgZ2V0cworICAgICAgICAgICBjbGVhcmVkIGluIFB5RXJyX0NoZWNrU2lnbmFscygpIGJlZm9yZSAudHJpcHBlZC4gKi8KKyAgICAgICAgaXNfdHJpcHBlZCA9IDE7CisgICAgICAgIFB5X0FkZFBlbmRpbmdDYWxsKGNoZWNrc2lnbmFsc193aXRoYXJnLCBOVUxMKTsKKyAgICB9CiB9CiAKIHN0YXRpYyB2b2lkCkBAIC0yMjcsNyArMzA0LDcgQEAKICAgICBpZiAoc2lnX251bSAhPSBTSUdDSExEKQogI2VuZGlmCiAgICAgLyogSWYgdGhlIGhhbmRsZXIgd2FzIG5vdCBzZXQgdXAgd2l0aCBzaWdhY3Rpb24sIHJlaW5zdGFsbCBpdC4gIFNlZQotICAgICAqIFB5dGhvbi9weXRob25ydW4uYyBmb3IgdGhlIGltcGxlbWVudGF0aW9uIG9mIFB5T1Nfc2V0c2lnIHdoaWNoCisgICAgICogUHl0aG9uL3B5bGlmZWN5Y2xlLmMgZm9yIHRoZSBpbXBsZW1lbnRhdGlvbiBvZiBQeU9TX3NldHNpZyB3aGljaAogICAgICAqIG1ha2VzIHRoaXMgdHJ1ZS4gIFNlZSBhbHNvIGlzc3VlODM1NC4gKi8KICAgICBQeU9TX3NldHNpZyhzaWdfbnVtLCBzaWduYWxfaGFuZGxlcik7CiAjZW5kaWYKQEAgLTQyNiwxMCArNTAzLDI4IEBACiBzdGF0aWMgUHlPYmplY3QgKgogc2lnbmFsX3NldF93YWtldXBfZmQoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQogewotICAgIHN0cnVjdCBzdGF0IGJ1ZjsKKyAgICBzdHJ1Y3QgX1B5X3N0YXRfc3RydWN0IHN0OworI2lmZGVmIE1TX1dJTkRPV1MKKyAgICBQeU9iamVjdCAqZmRvYmo7CisgICAgU09DS0VUX1Qgc29ja2ZkLCBvbGRfc29ja2ZkOworICAgIGludCByZXM7CisgICAgaW50IHJlc19zaXplID0gc2l6ZW9mIHJlczsKKyAgICBQeU9iamVjdCAqbW9kOworICAgIGludCBpc19zb2NrZXQ7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIk86c2V0X3dha2V1cF9mZCIsICZmZG9iaikpCisgICAgICAgIHJldHVybiBOVUxMOworCisgICAgc29ja2ZkID0gUHlMb25nX0FzU29ja2V0X3QoZmRvYmopOworICAgIGlmIChzb2NrZmQgPT0gKFNPQ0tFVF9UKSgtMSkgJiYgUHlFcnJfT2NjdXJyZWQoKSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisjZWxzZQogICAgIGludCBmZCwgb2xkX2ZkOworCiAgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJpOnNldF93YWtldXBfZmQiLCAmZmQpKQogICAgICAgICByZXR1cm4gTlVMTDsKKyNlbmRpZgorCiAjaWZkZWYgV0lUSF9USFJFQUQKICAgICBpZiAoUHlUaHJlYWRfZ2V0X3RocmVhZF9pZGVudCgpICE9IG1haW5fdGhyZWFkKSB7CiAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLApAQCAtNDM3LDIxICs1MzIsOTQgQEAKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQogI2VuZGlmCi0gICAgaWYgKGZkICE9IC0xICYmICghX1B5VmVyaWZ5X2ZkKGZkKSB8fCBmc3RhdChmZCwgJmJ1ZikgIT0gMCkpIHsKLSAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsICJpbnZhbGlkIGZkIik7Ci0gICAgICAgIHJldHVybiBOVUxMOworCisjaWZkZWYgTVNfV0lORE9XUworICAgIGlzX3NvY2tldCA9IDA7CisgICAgaWYgKHNvY2tmZCAhPSBJTlZBTElEX0ZEKSB7CisgICAgICAgIC8qIEltcG9ydCB0aGUgX3NvY2tldCBtb2R1bGUgdG8gY2FsbCBXU0FTdGFydHVwKCkgKi8KKyAgICAgICAgbW9kID0gUHlJbXBvcnRfSW1wb3J0TW9kdWxlTm9CbG9jaygiX3NvY2tldCIpOworICAgICAgICBpZiAobW9kID09IE5VTEwpCisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgUHlfREVDUkVGKG1vZCk7CisKKyAgICAgICAgLyogdGVzdCB0aGUgc29ja2V0ICovCisgICAgICAgIGlmIChnZXRzb2Nrb3B0KHNvY2tmZCwgU09MX1NPQ0tFVCwgU09fRVJST1IsCisgICAgICAgICAgICAgICAgICAgICAgIChjaGFyICopJnJlcywgJnJlc19zaXplKSAhPSAwKSB7CisgICAgICAgICAgICBpbnQgZmQsIGVycjsKKworICAgICAgICAgICAgZXJyID0gV1NBR2V0TGFzdEVycm9yKCk7CisgICAgICAgICAgICBpZiAoZXJyICE9IFdTQUVOT1RTT0NLKSB7CisgICAgICAgICAgICAgICAgUHlFcnJfU2V0RXhjRnJvbVdpbmRvd3NFcnIoUHlFeGNfT1NFcnJvciwgZXJyKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZmQgPSAoaW50KXNvY2tmZDsKKyAgICAgICAgICAgIGlmICgoU09DS0VUX1QpZmQgIT0gc29ja2ZkIHx8ICFfUHlWZXJpZnlfZmQoZmQpKSB7CisgICAgICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsICJpbnZhbGlkIGZkIik7CisgICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGlmIChfUHlfZnN0YXQoZmQsICZzdCkgIT0gMCkgeworICAgICAgICAgICAgICAgIFB5RXJyX1NldEZyb21FcnJubyhQeUV4Y19PU0Vycm9yKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgLyogb24gV2luZG93cywgYSBmaWxlIGNhbm5vdCBiZSBzZXQgdG8gbm9uLWJsb2NraW5nIG1vZGUgKi8KKyAgICAgICAgfQorICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgIGlzX3NvY2tldCA9IDE7CisKKyAgICAgICAgICAgIC8qIFdpbmRvd3MgZG9lcyBub3QgcHJvdmlkZSBhIGZ1bmN0aW9uIHRvIHRlc3QgaWYgYSBzb2NrZXQKKyAgICAgICAgICAgICAgIGlzIGluIG5vbi1ibG9ja2luZyBtb2RlICovCisgICAgICAgIH0KICAgICB9CisKKyAgICBvbGRfc29ja2ZkID0gd2FrZXVwLmZkOworICAgIHdha2V1cC5mZCA9IHNvY2tmZDsKKyAgICB3YWtldXAudXNlX3NlbmQgPSBpc19zb2NrZXQ7CisKKyAgICBpZiAob2xkX3NvY2tmZCAhPSBJTlZBTElEX0ZEKQorICAgICAgICByZXR1cm4gUHlMb25nX0Zyb21Tb2NrZXRfdChvbGRfc29ja2ZkKTsKKyAgICBlbHNlCisgICAgICAgIHJldHVybiBQeUxvbmdfRnJvbUxvbmcoLTEpOworI2Vsc2UKKyAgICBpZiAoZmQgIT0gLTEpIHsKKyAgICAgICAgaW50IGJsb2NraW5nOworCisgICAgICAgIGlmICghX1B5VmVyaWZ5X2ZkKGZkKSkgeworICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsICJpbnZhbGlkIGZkIik7CisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgfQorCisgICAgICAgIGlmIChfUHlfZnN0YXQoZmQsICZzdCkgIT0gMCkgeworICAgICAgICAgICAgUHlFcnJfU2V0RnJvbUVycm5vKFB5RXhjX09TRXJyb3IpOworICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgIH0KKworICAgICAgICBibG9ja2luZyA9IF9QeV9nZXRfYmxvY2tpbmcoZmQpOworICAgICAgICBpZiAoYmxvY2tpbmcgPCAwKQorICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgIGlmIChibG9ja2luZykgeworICAgICAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1ZhbHVlRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgInRoZSBmZCAlaSBtdXN0IGJlIGluIG5vbi1ibG9ja2luZyBtb2RlIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICBmZCk7CisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgfQorICAgIH0KKwogICAgIG9sZF9mZCA9IHdha2V1cF9mZDsKICAgICB3YWtldXBfZmQgPSBmZDsKKwogICAgIHJldHVybiBQeUxvbmdfRnJvbUxvbmcob2xkX2ZkKTsKKyNlbmRpZgogfQogCiBQeURvY19TVFJWQVIoc2V0X3dha2V1cF9mZF9kb2MsCiAic2V0X3dha2V1cF9mZChmZCkgLT4gZmRcblwKIFxuXAotU2V0cyB0aGUgZmQgdG8gYmUgd3JpdHRlbiB0byAod2l0aCAnXFwwJykgd2hlbiBhIHNpZ25hbFxuXAorU2V0cyB0aGUgZmQgdG8gYmUgd3JpdHRlbiB0byAod2l0aCB0aGUgc2lnbmFsIG51bWJlcikgd2hlbiBhIHNpZ25hbFxuXAogY29tZXMgaW4uICBBIGxpYnJhcnkgY2FuIHVzZSB0aGlzIHRvIHdha2V1cCBzZWxlY3Qgb3IgcG9sbC5cblwKLVRoZSBwcmV2aW91cyBmZCBpcyByZXR1cm5lZC5cblwKK1RoZSBwcmV2aW91cyBmZCBvciAtMSBpcyByZXR1cm5lZC5cblwKIFxuXAogVGhlIGZkIG11c3QgYmUgbm9uLWJsb2NraW5nLiIpOwogCkBAIC00NTksMTAgKzYyNywxNyBAQAogaW50CiBQeVNpZ25hbF9TZXRXYWtldXBGZChpbnQgZmQpCiB7Ci0gICAgaW50IG9sZF9mZCA9IHdha2V1cF9mZDsKKyAgICBpbnQgb2xkX2ZkOwogICAgIGlmIChmZCA8IDApCiAgICAgICAgIGZkID0gLTE7CisKKyNpZmRlZiBNU19XSU5ET1dTCisgICAgb2xkX2ZkID0gUHlfU0FGRV9ET1dOQ0FTVCh3YWtldXAuZmQsIFNPQ0tFVF9ULCBpbnQpOworICAgIHdha2V1cC5mZCA9IGZkOworI2Vsc2UKKyAgICBvbGRfZmQgPSB3YWtldXBfZmQ7CiAgICAgd2FrZXVwX2ZkID0gZmQ7CisjZW5kaWYKICAgICByZXR1cm4gb2xkX2ZkOwogfQogCkBAIC05NTYsNyArMTEzMSw3IEBACiAKIHN0YXRpYyBzdHJ1Y3QgUHlNb2R1bGVEZWYgc2lnbmFsbW9kdWxlID0gewogICAgIFB5TW9kdWxlRGVmX0hFQURfSU5JVCwKLSAgICAic2lnbmFsIiwKKyAgICAiX3NpZ25hbCIsCiAgICAgbW9kdWxlX2RvYywKICAgICAtMSwKICAgICBzaWduYWxfbWV0aG9kcywKQEAgLTk2Nyw3ICsxMTQyLDcgQEAKIH07CiAKIFB5TU9ESU5JVF9GVU5DCi1QeUluaXRfc2lnbmFsKHZvaWQpCitQeUluaXRfX3NpZ25hbCh2b2lkKQogewogICAgIFB5T2JqZWN0ICptLCAqZCwgKng7CiAgICAgaW50IGk7CkBAIC0xMzgwLDcgKzE1NTUsNyBAQAogdm9pZAogUHlPU19Jbml0SW50ZXJydXB0cyh2b2lkKQogewotICAgIFB5T2JqZWN0ICptID0gUHlJbXBvcnRfSW1wb3J0TW9kdWxlKCJzaWduYWwiKTsKKyAgICBQeU9iamVjdCAqbSA9IFB5SW1wb3J0X0ltcG9ydE1vZHVsZSgiX3NpZ25hbCIpOwogICAgIGlmIChtKSB7CiAgICAgICAgIFB5X0RFQ1JFRihtKTsKICAgICB9CmRpZmYgLS1naXQgYS9Nb2R1bGVzL3NvY2tldG1vZHVsZS5jIGIvTW9kdWxlcy9zb2NrZXRtb2R1bGUuYwppbmRleCBlOWZlYmEzLi4wNTc0MzBiIDEwMDY0NAotLS0gYS9Nb2R1bGVzL3NvY2tldG1vZHVsZS5jCisrKyBiL01vZHVsZXMvc29ja2V0bW9kdWxlLmMKQEAgLTEyMSw3ICsxMjEsNyBAQAogZ2V0c29ja25hbWUoKSAtLSByZXR1cm4gbG9jYWwgYWRkcmVzc1xuXAogZ2V0c29ja29wdChsZXZlbCwgb3B0bmFtZVssIGJ1Zmxlbl0pIC0tIGdldCBzb2NrZXQgb3B0aW9uc1xuXAogZ2V0dGltZW91dCgpIC0tIHJldHVybiB0aW1lb3V0IG9yIE5vbmVcblwKLWxpc3RlbihuKSAtLSBzdGFydCBsaXN0ZW5pbmcgZm9yIGluY29taW5nIGNvbm5lY3Rpb25zXG5cCitsaXN0ZW4oW25dKSAtLSBzdGFydCBsaXN0ZW5pbmcgZm9yIGluY29taW5nIGNvbm5lY3Rpb25zXG5cCiByZWN2KGJ1ZmxlblssIGZsYWdzXSkgLS0gcmVjZWl2ZSBkYXRhXG5cCiByZWN2X2ludG8oYnVmZmVyWywgbmJ5dGVzWywgZmxhZ3NdXSkgLS0gcmVjZWl2ZSBkYXRhIChpbnRvIGEgYnVmZmVyKVxuXAogcmVjdmZyb20oYnVmbGVuWywgZmxhZ3NdKSAtLSByZWNlaXZlIGRhdGEgYW5kIHNlbmRlclwncyBhZGRyZXNzXG5cCkBAIC0yODQsMTQgKzI4NCwxNSBAQAogIyAgaW5jbHVkZSA8ZmNudGwuaD4KICMgZW5kaWYKIAorI2lmIGRlZmluZWQoX01TQ19WRVIpICYmIF9NU0NfVkVSID49IDE4MDAKKy8qIFByb3ZpZGVzIHRoZSBJc1dpbmRvd3M3U1AxT3JHcmVhdGVyKCkgZnVuY3Rpb24gKi8KKyNpbmNsdWRlIDxWZXJzaW9uSGVscGVycy5oPgorI2VuZGlmCisKICNlbmRpZgogCiAjaW5jbHVkZSA8c3RkZGVmLmg+CiAKLSNpZm5kZWYgb2Zmc2V0b2YKLSMgZGVmaW5lIG9mZnNldG9mKHR5cGUsIG1lbWJlcikgKChzaXplX3QpKCYoKHR5cGUgKikwKS0+bWVtYmVyKSkKLSNlbmRpZgotCiAjaWZuZGVmIE9fTk9OQkxPQ0sKICMgZGVmaW5lIE9fTk9OQkxPQ0sgT19OREVMQVkKICNlbmRpZgpAQCAtNTUyLDYgKzU1Myw5IEBACiBzdGF0aWMgaW50CiBpbnRlcm5hbF9zZXRibG9ja2luZyhQeVNvY2tldFNvY2tPYmplY3QgKnMsIGludCBibG9jaykKIHsKKyNpZmRlZiBNU19XSU5ET1dTCisgICAgdV9sb25nIGFyZzsKKyNlbmRpZgogI2lmICFkZWZpbmVkKE1TX1dJTkRPV1MpIFwKICAgICAmJiAhKChkZWZpbmVkKEhBVkVfU1lTX0lPQ1RMX0gpICYmIGRlZmluZWQoRklPTkJJTykpKQogICAgIGludCBkZWxheV9mbGFnLCBuZXdfZGVsYXlfZmxhZzsKQEAgLTU3OCw4ICs1ODIsOCBAQAogICAgICAgICBmY250bChzLT5zb2NrX2ZkLCBGX1NFVEZMLCBuZXdfZGVsYXlfZmxhZyk7CiAjZW5kaWYKICNlbHNlIC8qIE1TX1dJTkRPV1MgKi8KLSAgICBibG9jayA9ICFibG9jazsKLSAgICBpb2N0bHNvY2tldChzLT5zb2NrX2ZkLCBGSU9OQklPLCAodV9sb25nKikmYmxvY2spOworICAgIGFyZyA9ICFibG9jazsKKyAgICBpb2N0bHNvY2tldChzLT5zb2NrX2ZkLCBGSU9OQklPLCAmYXJnKTsKICNlbmRpZiAvKiBNU19XSU5ET1dTICovCiAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKIApAQCAtNjgxLDcgKzY4NSw3IEBACiAgICAgICAgIGRvdWJsZSBpbnRlcnZhbCA9IHMtPnNvY2tfdGltZW91dDsgXAogICAgICAgICBpbnQgaGFzX3RpbWVvdXQgPSBzLT5zb2NrX3RpbWVvdXQgPiAwLjA7IFwKICAgICAgICAgaWYgKGhhc190aW1lb3V0KSB7IFwKLSAgICAgICAgICAgIF9QeVRpbWVfZ2V0dGltZW9mZGF5KCZub3cpOyBcCisgICAgICAgICAgICBfUHlUaW1lX21vbm90b25pYygmbm93KTsgXAogICAgICAgICAgICAgZGVhZGxpbmUgPSBub3c7IFwKICAgICAgICAgICAgIF9QeVRpbWVfQUREX1NFQ09ORFMoZGVhZGxpbmUsIHMtPnNvY2tfdGltZW91dCk7IFwKICAgICAgICAgfSBcCkBAIC02OTIsNyArNjk2LDcgQEAKICAgICAgICAgICAgIGlmICghaGFzX3RpbWVvdXQgfHwgXAogICAgICAgICAgICAgICAgICghQ0hFQ0tfRVJSTk8oRVdPVUxEQkxPQ0spICYmICFDSEVDS19FUlJOTyhFQUdBSU4pKSkgXAogICAgICAgICAgICAgICAgIGJyZWFrOyBcCi0gICAgICAgICAgICBfUHlUaW1lX2dldHRpbWVvZmRheSgmbm93KTsgXAorICAgICAgICAgICAgX1B5VGltZV9tb25vdG9uaWMoJm5vdyk7IFwKICAgICAgICAgICAgIGludGVydmFsID0gX1B5VGltZV9JTlRFUlZBTChub3csIGRlYWRsaW5lKTsgXAogICAgICAgICB9IFwKICAgICB9IFwKQEAgLTEyMTQsNiArMTIxOCw3MSBAQAogICAgIH0KIH0KIAorLyogSGVscGVyIGZvciBnZXRzb2NrYWRkcmFyZzogYnlwYXNzIElETkEgZm9yIEFTQ0lJLW9ubHkgaG9zdCBuYW1lcworICAgKGluIHBhcnRpY3VsYXIsIG51bWVyaWMgSVAgYWRkcmVzc2VzKS4gKi8KK3N0cnVjdCBtYXliZV9pZG5hIHsKKyAgICBQeU9iamVjdCAqb2JqOworICAgIGNoYXIgKmJ1ZjsKK307CisKK3N0YXRpYyB2b2lkCitpZG5hX2NsZWFudXAoc3RydWN0IG1heWJlX2lkbmEgKmRhdGEpCit7CisgICAgUHlfQ0xFQVIoZGF0YS0+b2JqKTsKK30KKworc3RhdGljIGludAoraWRuYV9jb252ZXJ0ZXIoUHlPYmplY3QgKm9iaiwgc3RydWN0IG1heWJlX2lkbmEgKmRhdGEpCit7CisgICAgc2l6ZV90IGxlbjsKKyAgICBQeU9iamVjdCAqb2JqMiwgKm9iajM7CisgICAgaWYgKG9iaiA9PSBOVUxMKSB7CisgICAgICAgIGlkbmFfY2xlYW51cChkYXRhKTsKKyAgICAgICAgcmV0dXJuIDE7CisgICAgfQorICAgIGRhdGEtPm9iaiA9IE5VTEw7CisgICAgbGVuID0gLTE7CisgICAgaWYgKFB5Qnl0ZXNfQ2hlY2sob2JqKSkgeworICAgICAgICBkYXRhLT5idWYgPSBQeUJ5dGVzX0FzU3RyaW5nKG9iaik7CisgICAgICAgIGxlbiA9IFB5Qnl0ZXNfU2l6ZShvYmopOworICAgIH0KKyAgICBlbHNlIGlmIChQeUJ5dGVBcnJheV9DaGVjayhvYmopKSB7CisgICAgICAgIGRhdGEtPmJ1ZiA9IFB5Qnl0ZUFycmF5X0FzU3RyaW5nKG9iaik7CisgICAgICAgIGxlbiA9IFB5Qnl0ZUFycmF5X1NpemUob2JqKTsKKyAgICB9CisgICAgZWxzZSBpZiAoUHlVbmljb2RlX0NoZWNrKG9iaikgJiYgUHlVbmljb2RlX1JFQURZKG9iaikgPT0gMCAmJiBQeVVuaWNvZGVfSVNfQ09NUEFDVF9BU0NJSShvYmopKSB7CisgICAgICAgIGRhdGEtPmJ1ZiA9IFB5VW5pY29kZV9EQVRBKG9iaik7CisgICAgICAgIGxlbiA9IFB5VW5pY29kZV9HRVRfTEVOR1RIKG9iaik7CisgICAgfQorICAgIGVsc2UgeworICAgICAgICBvYmoyID0gUHlVbmljb2RlX0Zyb21PYmplY3Qob2JqKTsKKyAgICAgICAgaWYgKCFvYmoyKSB7CisgICAgICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVHlwZUVycm9yLCAic3RyaW5nIG9yIHVuaWNvZGUgdGV4dCBidWZmZXIgZXhwZWN0ZWQsIG5vdCAlcyIsCisgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLT5vYl90eXBlLT50cF9uYW1lKTsKKyAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICB9CisgICAgICAgIG9iajMgPSBQeVVuaWNvZGVfQXNFbmNvZGVkU3RyaW5nKG9iajIsICJpZG5hIiwgTlVMTCk7CisgICAgICAgIFB5X0RFQ1JFRihvYmoyKTsKKyAgICAgICAgaWYgKCFvYmozKSB7CisgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCAiZW5jb2Rpbmcgb2YgaG9zdG5hbWUgZmFpbGVkIik7CisgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgfQorICAgICAgICBpZiAoIVB5Qnl0ZXNfQ2hlY2sob2JqMykpIHsKKyAgICAgICAgICAgIFB5X0RFQ1JFRihvYmozKTsKKyAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsICJlbmNvZGluZyBvZiBob3N0bmFtZSBmYWlsZWQgdG8gcmV0dXJuIGJ5dGVzIik7CisgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgfQorICAgICAgICBkYXRhLT5vYmogPSBvYmozOworICAgICAgICBkYXRhLT5idWYgPSBQeUJ5dGVzX0FTX1NUUklORyhvYmozKTsKKyAgICAgICAgbGVuID0gUHlCeXRlc19HRVRfU0laRShvYmozKTsKKyAgICB9CisgICAgaWYgKHN0cmxlbihkYXRhLT5idWYpICE9IGxlbikgeworICAgICAgICBQeV9DTEVBUihkYXRhLT5vYmopOworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCAiaG9zdCBuYW1lIG11c3Qgbm90IGNvbnRhaW4gbnVsbCBjaGFyYWN0ZXIiKTsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQorICAgIHJldHVybiBQeV9DTEVBTlVQX1NVUFBPUlRFRDsKK30KIAogLyogUGFyc2UgYSBzb2NrZXQgYWRkcmVzcyBhcmd1bWVudCBhY2NvcmRpbmcgdG8gdGhlIHNvY2tldCBvYmplY3QncwogICAgYWRkcmVzcyBmYW1pbHkuICBSZXR1cm4gMSBpZiB0aGUgYWRkcmVzcyB3YXMgaW4gdGhlIHByb3BlciBmb3JtYXQsCkBAIC0xMjQ0LDEyICsxMzEzLDEzIEBACiAgICAgICAgICAgICBQeV9JTkNSRUYoYXJncyk7CiAgICAgICAgIGlmICghUHlBcmdfUGFyc2UoYXJncywgInkjIiwgJnBhdGgsICZsZW4pKQogICAgICAgICAgICAgZ290byB1bml4X291dDsKKyAgICAgICAgYXNzZXJ0KGxlbiA+PSAwKTsKIAogICAgICAgICBhZGRyID0gKHN0cnVjdCBzb2NrYWRkcl91biopYWRkcl9yZXQ7CiAjaWZkZWYgbGludXgKICAgICAgICAgaWYgKGxlbiA+IDAgJiYgcGF0aFswXSA9PSAwKSB7CiAgICAgICAgICAgICAvKiBMaW51eCBhYnN0cmFjdCBuYW1lc3BhY2UgZXh0ZW5zaW9uICovCi0gICAgICAgICAgICBpZiAobGVuID4gc2l6ZW9mIGFkZHItPnN1bl9wYXRoKSB7CisgICAgICAgICAgICBpZiAoKHNpemVfdClsZW4gPiBzaXplb2YgYWRkci0+c3VuX3BhdGgpIHsKICAgICAgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfT1NFcnJvciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkFGX1VOSVggcGF0aCB0b28gbG9uZyIpOwogICAgICAgICAgICAgICAgIGdvdG8gdW5peF9vdXQ7CkBAIC0xMjU5LDcgKzEzMjksNyBAQAogI2VuZGlmIC8qIGxpbnV4ICovCiAgICAgICAgIHsKICAgICAgICAgICAgIC8qIHJlZ3VsYXIgTlVMTC10ZXJtaW5hdGVkIHN0cmluZyAqLwotICAgICAgICAgICAgaWYgKGxlbiA+PSBzaXplb2YgYWRkci0+c3VuX3BhdGgpIHsKKyAgICAgICAgICAgIGlmICgoc2l6ZV90KWxlbiA+PSBzaXplb2YgYWRkci0+c3VuX3BhdGgpIHsKICAgICAgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfT1NFcnJvciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkFGX1VOSVggcGF0aCB0b28gbG9uZyIpOwogICAgICAgICAgICAgICAgIGdvdG8gdW5peF9vdXQ7CkBAIC0xMzA4LDcgKzEzNzgsNyBAQAogICAgIGNhc2UgQUZfSU5FVDoKICAgICB7CiAgICAgICAgIHN0cnVjdCBzb2NrYWRkcl9pbiogYWRkcjsKLSAgICAgICAgY2hhciAqaG9zdDsKKyAgICAgICAgc3RydWN0IG1heWJlX2lkbmEgaG9zdCA9IHtOVUxMLCBOVUxMfTsKICAgICAgICAgaW50IHBvcnQsIHJlc3VsdDsKICAgICAgICAgaWYgKCFQeVR1cGxlX0NoZWNrKGFyZ3MpKSB7CiAgICAgICAgICAgICBQeUVycl9Gb3JtYXQoCkBAIC0xMzE4LDEzICsxMzg4LDEzIEBACiAgICAgICAgICAgICAgICAgUHlfVFlQRShhcmdzKS0+dHBfbmFtZSk7CiAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAgfQotICAgICAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgImV0aTpnZXRzb2NrYWRkcmFyZyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRuYSIsICZob3N0LCAmcG9ydCkpCisgICAgICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiTyZpOmdldHNvY2thZGRyYXJnIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkbmFfY29udmVydGVyLCAmaG9zdCwgJnBvcnQpKQogICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgIGFkZHI9KHN0cnVjdCBzb2NrYWRkcl9pbiopYWRkcl9yZXQ7Ci0gICAgICAgIHJlc3VsdCA9IHNldGlwYWRkcihob3N0LCAoc3RydWN0IHNvY2thZGRyICopYWRkciwKKyAgICAgICAgcmVzdWx0ID0gc2V0aXBhZGRyKGhvc3QuYnVmLCAoc3RydWN0IHNvY2thZGRyICopYWRkciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZigqYWRkciksICBBRl9JTkVUKTsKLSAgICAgICAgUHlNZW1fRnJlZShob3N0KTsKKyAgICAgICAgaWRuYV9jbGVhbnVwKCZob3N0KTsKICAgICAgICAgaWYgKHJlc3VsdCA8IDApCiAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAgaWYgKHBvcnQgPCAwIHx8IHBvcnQgPiAweGZmZmYpIHsKQEAgLTEzNDMsNyArMTQxMyw3IEBACiAgICAgY2FzZSBBRl9JTkVUNjoKICAgICB7CiAgICAgICAgIHN0cnVjdCBzb2NrYWRkcl9pbjYqIGFkZHI7Ci0gICAgICAgIGNoYXIgKmhvc3Q7CisgICAgICAgIHN0cnVjdCBtYXliZV9pZG5hIGhvc3QgPSB7TlVMTCwgTlVMTH07CiAgICAgICAgIGludCBwb3J0LCByZXN1bHQ7CiAgICAgICAgIHVuc2lnbmVkIGludCBmbG93aW5mbywgc2NvcGVfaWQ7CiAgICAgICAgIGZsb3dpbmZvID0gc2NvcGVfaWQgPSAwOwpAQCAtMTM1NSwxNSArMTQyNSwxNSBAQAogICAgICAgICAgICAgICAgIFB5X1RZUEUoYXJncyktPnRwX25hbWUpOwogICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgIH0KLSAgICAgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJldGl8SUkiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbmEiLCAmaG9zdCwgJnBvcnQsICZmbG93aW5mbywKKyAgICAgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJPJml8SUkiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWRuYV9jb252ZXJ0ZXIsICZob3N0LCAmcG9ydCwgJmZsb3dpbmZvLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnNjb3BlX2lkKSkgewogICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgIH0KICAgICAgICAgYWRkciA9IChzdHJ1Y3Qgc29ja2FkZHJfaW42KilhZGRyX3JldDsKLSAgICAgICAgcmVzdWx0ID0gc2V0aXBhZGRyKGhvc3QsIChzdHJ1Y3Qgc29ja2FkZHIgKilhZGRyLAorICAgICAgICByZXN1bHQgPSBzZXRpcGFkZHIoaG9zdC5idWYsIChzdHJ1Y3Qgc29ja2FkZHIgKilhZGRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKCphZGRyKSwgQUZfSU5FVDYpOwotICAgICAgICBQeU1lbV9GcmVlKGhvc3QpOworICAgICAgICBpZG5hX2NsZWFudXAoJmhvc3QpOwogICAgICAgICBpZiAocmVzdWx0IDwgMCkKICAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgICBpZiAocG9ydCA8IDAgfHwgcG9ydCA+IDB4ZmZmZikgewpAQCAtMTYxMSw3ICsxNjgxLDcgQEAKIAogICAgICAgICAgICAgaWYgKGxlbiA9PSAwKSB7CiAgICAgICAgICAgICAgICAgaWZyLmlmcl9pZmluZGV4ID0gMDsKLSAgICAgICAgICAgIH0gZWxzZSBpZiAobGVuIDwgc2l6ZW9mKGlmci5pZnJfbmFtZSkpIHsKKyAgICAgICAgICAgIH0gZWxzZSBpZiAoKHNpemVfdClsZW4gPCBzaXplb2YoaWZyLmlmcl9uYW1lKSkgewogICAgICAgICAgICAgICAgIHN0cm5jcHkoaWZyLmlmcl9uYW1lLCBQeUJ5dGVzX0FTX1NUUklORyhpbnRlcmZhY2VOYW1lKSwgc2l6ZW9mKGlmci5pZnJfbmFtZSkpOwogICAgICAgICAgICAgICAgIGlmci5pZnJfbmFtZVsoc2l6ZW9mKGlmci5pZnJfbmFtZSkpLTFdID0gJ1wwJzsKICAgICAgICAgICAgICAgICBpZiAoaW9jdGwocy0+c29ja19mZCwgU0lPQ0dJRklOREVYLCAmaWZyKSA8IDApIHsKQEAgLTE4OTYsOCArMTk2NiwxNSBAQAogICAgICNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBwdXNoCiAgICAgI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIGlnbm9yZWQgIi1XdGF1dG9sb2dpY2FsLWNvbXBhcmUiCiAgICAgI2VuZGlmCisgICAgI2lmIGRlZmluZWQoX19HTlVDX18pICYmICgoX19HTlVDX18gPiA0KSB8fCAoKF9fR05VQ19fID09IDQpICYmIChfX0dOVUNfTUlOT1JfXyA+IDUpKSkKKyAgICAjcHJhZ21hIEdDQyBkaWFnbm9zdGljIHB1c2gKKyAgICAjcHJhZ21hIEdDQyBkaWFnbm9zdGljIGlnbm9yZWQgIi1XdHlwZS1saW1pdHMiCisgICAgI2VuZGlmCiAgICAgaWYgKG1zZy0+bXNnX2NvbnRyb2xsZW4gPCAwKQogICAgICAgICByZXR1cm4gMDsKKyAgICAjaWYgZGVmaW5lZChfX0dOVUNfXykgJiYgKChfX0dOVUNfXyA+IDQpIHx8ICgoX19HTlVDX18gPT0gNCkgJiYgKF9fR05VQ19NSU5PUl9fID4gNSkpKQorICAgICNwcmFnbWEgR0NDIGRpYWdub3N0aWMgcG9wCisgICAgI2VuZGlmCiAgICAgI2lmZGVmIF9fY2xhbmdfXwogICAgICNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBwb3AKICAgICAjZW5kaWYKQEAgLTE5NjcsNiArMjA0NCw3IEBACiAgICAgUHlPYmplY3QgKmFkZHIgPSBOVUxMOwogICAgIFB5T2JqZWN0ICpyZXMgPSBOVUxMOwogICAgIGludCB0aW1lb3V0OworICAgIGludCBhc3luY19lcnIgPSAwOwogI2lmIGRlZmluZWQoSEFWRV9BQ0NFUFQ0KSAmJiBkZWZpbmVkKFNPQ0tfQ0xPRVhFQykKICAgICAvKiBhY2NlcHQ0KCkgaXMgYXZhaWxhYmxlIG9uIExpbnV4IDIuNi4yOCsgYW5kIGdsaWJjIDIuMTAgKi8KICAgICBzdGF0aWMgaW50IGFjY2VwdDRfd29ya3MgPSAtMTsKQEAgLTE5ODAsMjcgKzIwNTgsMjcgQEAKICAgICAgICAgcmV0dXJuIHNlbGVjdF9lcnJvcigpOwogCiAgICAgQkVHSU5fU0VMRUNUX0xPT1AocykKLQotICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKLSAgICB0aW1lb3V0ID0gaW50ZXJuYWxfc2VsZWN0X2V4KHMsIDAsIGludGVydmFsKTsKLSAgICBpZiAoIXRpbWVvdXQpIHsKKyAgICBkbyB7CisgICAgICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKKyAgICAgICAgdGltZW91dCA9IGludGVybmFsX3NlbGVjdF9leChzLCAwLCBpbnRlcnZhbCk7CisgICAgICAgIGlmICghdGltZW91dCkgewogI2lmIGRlZmluZWQoSEFWRV9BQ0NFUFQ0KSAmJiBkZWZpbmVkKFNPQ0tfQ0xPRVhFQykKLSAgICAgICAgaWYgKGFjY2VwdDRfd29ya3MgIT0gMCkgewotICAgICAgICAgICAgbmV3ZmQgPSBhY2NlcHQ0KHMtPnNvY2tfZmQsIFNBUzJTQSgmYWRkcmJ1ZiksICZhZGRybGVuLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNPQ0tfQ0xPRVhFQyk7Ci0gICAgICAgICAgICBpZiAobmV3ZmQgPT0gSU5WQUxJRF9TT0NLRVQgJiYgYWNjZXB0NF93b3JrcyA9PSAtMSkgewotICAgICAgICAgICAgICAgIC8qIE9uIExpbnV4IG9sZGVyIHRoYW4gMi42LjI4LCBhY2NlcHQ0KCkgZmFpbHMgd2l0aCBFTk9TWVMgKi8KLSAgICAgICAgICAgICAgICBhY2NlcHQ0X3dvcmtzID0gKGVycm5vICE9IEVOT1NZUyk7CisgICAgICAgICAgICBpZiAoYWNjZXB0NF93b3JrcyAhPSAwKSB7CisgICAgICAgICAgICAgICAgbmV3ZmQgPSBhY2NlcHQ0KHMtPnNvY2tfZmQsIFNBUzJTQSgmYWRkcmJ1ZiksICZhZGRybGVuLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTT0NLX0NMT0VYRUMpOworICAgICAgICAgICAgICAgIGlmIChuZXdmZCA9PSBJTlZBTElEX1NPQ0tFVCAmJiBhY2NlcHQ0X3dvcmtzID09IC0xKSB7CisgICAgICAgICAgICAgICAgICAgIC8qIE9uIExpbnV4IG9sZGVyIHRoYW4gMi42LjI4LCBhY2NlcHQ0KCkgZmFpbHMgd2l0aCBFTk9TWVMgKi8KKyAgICAgICAgICAgICAgICAgICAgYWNjZXB0NF93b3JrcyA9IChlcnJubyAhPSBFTk9TWVMpOworICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0KLSAgICAgICAgfQotICAgICAgICBpZiAoYWNjZXB0NF93b3JrcyA9PSAwKQotICAgICAgICAgICAgbmV3ZmQgPSBhY2NlcHQocy0+c29ja19mZCwgU0FTMlNBKCZhZGRyYnVmKSwgJmFkZHJsZW4pOworICAgICAgICAgICAgaWYgKGFjY2VwdDRfd29ya3MgPT0gMCkKKyAgICAgICAgICAgICAgICBuZXdmZCA9IGFjY2VwdChzLT5zb2NrX2ZkLCBTQVMyU0EoJmFkZHJidWYpLCAmYWRkcmxlbik7CiAjZWxzZQotICAgICAgICBuZXdmZCA9IGFjY2VwdChzLT5zb2NrX2ZkLCBTQVMyU0EoJmFkZHJidWYpLCAmYWRkcmxlbik7CisgICAgICAgICAgICBuZXdmZCA9IGFjY2VwdChzLT5zb2NrX2ZkLCBTQVMyU0EoJmFkZHJidWYpLCAmYWRkcmxlbik7CiAjZW5kaWYKLSAgICB9Ci0gICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKLQorICAgICAgICB9CisgICAgICAgIFB5X0VORF9BTExPV19USFJFQURTCisgICAgfSB3aGlsZSAobmV3ZmQgPCAwICYmIGVycm5vID09IEVJTlRSICYmICEoYXN5bmNfZXJyID0gUHlFcnJfQ2hlY2tTaWduYWxzKCkpKTsKICAgICBpZiAodGltZW91dCA9PSAxKSB7CiAgICAgICAgIFB5RXJyX1NldFN0cmluZyhzb2NrZXRfdGltZW91dCwgInRpbWVkIG91dCIpOwogICAgICAgICByZXR1cm4gTlVMTDsKQEAgLTIwMDgsNyArMjA4Niw3IEBACiAgICAgRU5EX1NFTEVDVF9MT09QKHMpCiAKICAgICBpZiAobmV3ZmQgPT0gSU5WQUxJRF9TT0NLRVQpCi0gICAgICAgIHJldHVybiBzLT5lcnJvcmhhbmRsZXIoKTsKKyAgICAgICAgcmV0dXJuICghYXN5bmNfZXJyKSA/IHMtPmVycm9yaGFuZGxlcigpIDogTlVMTDsKIAogI2lmZGVmIE1TX1dJTkRPV1MKICAgICBpZiAoIVNldEhhbmRsZUluZm9ybWF0aW9uKChIQU5ETEUpbmV3ZmQsIEhBTkRMRV9GTEFHX0lOSEVSSVQsIDApKSB7CkBAIC0yMjcxLDYgKzIzNDksMTAgQEAKIHsKICAgICBTT0NLRVRfVCBmZDsKIAorICAgIC8qIFdlIGRvIG5vdCB3YW50IHRvIHJldHJ5IHVwb24gRUlOVFI6IHNlZSBodHRwOi8vbHduLm5ldC9BcnRpY2xlcy81NzY0NzgvCisgICAgICogYW5kIGh0dHA6Ly9saW51eC5kZXJrZWlsZXIuY29tL01haWxpbmctTGlzdHMvS2VybmVsLzIwMDUtMDkvMzAwMC5odG1sCisgICAgICogZm9yIG1vcmUgZGV0YWlscy4KKyAgICAgKi8KICAgICBpZiAoKGZkID0gcy0+c29ja19mZCkgIT0gLTEpIHsKICAgICAgICAgcy0+c29ja19mZCA9IC0xOwogICAgICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCkBAIC0yNDQzLDEwICsyNTI1LDggQEAKIAogICAgIC8qIFNpZ25hbHMgYXJlIG5vdCBlcnJvcnMgKHRob3VnaCB0aGV5IG1heSByYWlzZSBleGNlcHRpb25zKS4gIEFkYXB0ZWQKICAgICAgICBmcm9tIFB5RXJyX1NldEZyb21FcnJub1dpdGhGaWxlbmFtZU9iamVjdCgpLiAqLwotI2lmZGVmIEVJTlRSCiAgICAgaWYgKHJlcyA9PSBFSU5UUiAmJiBQeUVycl9DaGVja1NpZ25hbHMoKSkKICAgICAgICAgcmV0dXJuIE5VTEw7Ci0jZW5kaWYKIAogICAgIHJldHVybiBQeUxvbmdfRnJvbUxvbmcoKGxvbmcpIHJlcyk7CiB9CkBAIC0yNTM0LDE0ICsyNjE0LDE2IEBACiAvKiBzLmxpc3RlbihuKSBtZXRob2QgKi8KIAogc3RhdGljIFB5T2JqZWN0ICoKLXNvY2tfbGlzdGVuKFB5U29ja2V0U29ja09iamVjdCAqcywgUHlPYmplY3QgKmFyZykKK3NvY2tfbGlzdGVuKFB5U29ja2V0U29ja09iamVjdCAqcywgUHlPYmplY3QgKmFyZ3MpCiB7Ci0gICAgaW50IGJhY2tsb2c7CisgICAgLyogV2UgdHJ5IHRvIGNob29zZSBhIGRlZmF1bHQgYmFja2xvZyBoaWdoIGVub3VnaCB0byBhdm9pZCBjb25uZWN0aW9uIGRyb3BzCisgICAgICogZm9yIGNvbW1vbiB3b3JrbG9hZHMsIHlldCBub3QgdG9vIGhpZ2ggdG8gbGltaXQgcmVzb3VyY2UgdXNhZ2UuICovCisgICAgaW50IGJhY2tsb2cgPSBQeV9NSU4oU09NQVhDT05OLCAxMjgpOwogICAgIGludCByZXM7CiAKLSAgICBiYWNrbG9nID0gX1B5TG9uZ19Bc0ludChhcmcpOwotICAgIGlmIChiYWNrbG9nID09IC0xICYmIFB5RXJyX09jY3VycmVkKCkpCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJ8aTpsaXN0ZW4iLCAmYmFja2xvZykpCiAgICAgICAgIHJldHVybiBOVUxMOworCiAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwogICAgIC8qIFRvIGF2b2lkIHByb2JsZW1zIG9uIHN5c3RlbXMgdGhhdCBkb24ndCBhbGxvdyBhIG5lZ2F0aXZlIGJhY2tsb2cKICAgICAgKiAod2hpY2ggZG9lc24ndCBtYWtlIHNlbnNlIGFueXdheSkgd2UgZm9yY2UgYSBtaW5pbXVtIHZhbHVlIG9mIDAuICovCkBAIC0yNTU2LDEyICsyNjM4LDEyIEBACiB9CiAKIFB5RG9jX1NUUlZBUihsaXN0ZW5fZG9jLAotImxpc3RlbihiYWNrbG9nKVxuXAorImxpc3RlbihbYmFja2xvZ10pXG5cCiBcblwKLUVuYWJsZSBhIHNlcnZlciB0byBhY2NlcHQgY29ubmVjdGlvbnMuICBUaGUgYmFja2xvZyBhcmd1bWVudCBtdXN0IGJlIGF0XG5cCi1sZWFzdCAwIChpZiBpdCBpcyBsb3dlciwgaXQgaXMgc2V0IHRvIDApOyBpdCBzcGVjaWZpZXMgdGhlIG51bWJlciBvZlxuXAorRW5hYmxlIGEgc2VydmVyIHRvIGFjY2VwdCBjb25uZWN0aW9ucy4gIElmIGJhY2tsb2cgaXMgc3BlY2lmaWVkLCBpdCBtdXN0IGJlXG5cCithdCBsZWFzdCAwIChpZiBpdCBpcyBsb3dlciwgaXQgaXMgc2V0IHRvIDApOyBpdCBzcGVjaWZpZXMgdGhlIG51bWJlciBvZlxuXAogdW5hY2NlcHRlZCBjb25uZWN0aW9ucyB0aGF0IHRoZSBzeXN0ZW0gd2lsbCBhbGxvdyBiZWZvcmUgcmVmdXNpbmcgbmV3XG5cCi1jb25uZWN0aW9ucy4iKTsKK2Nvbm5lY3Rpb25zLiBJZiBub3Qgc3BlY2lmaWVkLCBhIGRlZmF1bHQgcmVhc29uYWJsZSB2YWx1ZSBpcyBjaG9zZW4uIik7CiAKIAogLyoKQEAgLTI1NzgsNiArMjY2MCw3IEBACiB7CiAgICAgUHlfc3NpemVfdCBvdXRsZW4gPSAtMTsKICAgICBpbnQgdGltZW91dDsKKyAgICBpbnQgYXN5bmNfZXJyID0gMDsKIAogICAgIGlmICghSVNfU0VMRUNUQUJMRShzKSkgewogICAgICAgICBzZWxlY3RfZXJyb3IoKTsKQEAgLTI1ODksMTggKzI2NzIsMjAgQEAKICAgICB9CiAKICAgICBCRUdJTl9TRUxFQ1RfTE9PUChzKQotICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKLSAgICB0aW1lb3V0ID0gaW50ZXJuYWxfc2VsZWN0X2V4KHMsIDAsIGludGVydmFsKTsKLSAgICBpZiAoIXRpbWVvdXQpIHsKKyAgICBkbyB7CisgICAgICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKKyAgICAgICAgdGltZW91dCA9IGludGVybmFsX3NlbGVjdF9leChzLCAwLCBpbnRlcnZhbCk7CisgICAgICAgIGlmICghdGltZW91dCkgewogI2lmZGVmIE1TX1dJTkRPV1MKLSAgICAgICAgaWYgKGxlbiA+IElOVF9NQVgpCi0gICAgICAgICAgICBsZW4gPSBJTlRfTUFYOwotICAgICAgICBvdXRsZW4gPSByZWN2KHMtPnNvY2tfZmQsIGNidWYsIChpbnQpbGVuLCBmbGFncyk7CisgICAgICAgICAgICBpZiAobGVuID4gSU5UX01BWCkKKyAgICAgICAgICAgICAgICBsZW4gPSBJTlRfTUFYOworICAgICAgICAgICAgb3V0bGVuID0gcmVjdihzLT5zb2NrX2ZkLCBjYnVmLCAoaW50KWxlbiwgZmxhZ3MpOwogI2Vsc2UKLSAgICAgICAgb3V0bGVuID0gcmVjdihzLT5zb2NrX2ZkLCBjYnVmLCBsZW4sIGZsYWdzKTsKKyAgICAgICAgICAgIG91dGxlbiA9IHJlY3Yocy0+c29ja19mZCwgY2J1ZiwgbGVuLCBmbGFncyk7CiAjZW5kaWYKLSAgICB9Ci0gICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKKyAgICAgICAgfQorICAgICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUworICAgIH0gd2hpbGUgKG91dGxlbiA8IDAgJiYgZXJybm8gPT0gRUlOVFIgJiYgIShhc3luY19lcnIgPSBQeUVycl9DaGVja1NpZ25hbHMoKSkpOwogCiAgICAgaWYgKHRpbWVvdXQgPT0gMSkgewogICAgICAgICBQeUVycl9TZXRTdHJpbmcoc29ja2V0X3RpbWVvdXQsICJ0aW1lZCBvdXQiKTsKQEAgLTI2MTAsNyArMjY5NSw4IEBACiAgICAgaWYgKG91dGxlbiA8IDApIHsKICAgICAgICAgLyogTm90ZTogdGhlIGNhbGwgdG8gZXJyb3JoYW5kbGVyKCkgQUxXQVlTIGluZGlyZWN0bHkgcmV0dXJuZWQKICAgICAgICAgICAgTlVMTCwgc28gaWdub3JlIGl0cyByZXR1cm4gdmFsdWUgKi8KLSAgICAgICAgcy0+ZXJyb3JoYW5kbGVyKCk7CisgICAgICAgIGlmICghYXN5bmNfZXJyKQorICAgICAgICAgICAgcy0+ZXJyb3JoYW5kbGVyKCk7CiAgICAgICAgIHJldHVybiAtMTsKICAgICB9CiAgICAgcmV0dXJuIG91dGxlbjsKQEAgLTI3NDcsNiArMjgzMyw3IEBACiAgICAgaW50IHRpbWVvdXQ7CiAgICAgUHlfc3NpemVfdCBuID0gLTE7CiAgICAgc29ja2xlbl90IGFkZHJsZW47CisgICAgaW50IGFzeW5jX2VyciA9IDA7CiAKICAgICAqYWRkciA9IE5VTEw7CiAKQEAgLTI3NTksMjEgKzI4NDYsMjMgQEAKICAgICB9CiAKICAgICBCRUdJTl9TRUxFQ1RfTE9PUChzKQotICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKLSAgICBtZW1zZXQoJmFkZHJidWYsIDAsIGFkZHJsZW4pOwotICAgIHRpbWVvdXQgPSBpbnRlcm5hbF9zZWxlY3RfZXgocywgMCwgaW50ZXJ2YWwpOwotICAgIGlmICghdGltZW91dCkgeworICAgIGRvIHsKKyAgICAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUworICAgICAgICBtZW1zZXQoJmFkZHJidWYsIDAsIGFkZHJsZW4pOworICAgICAgICB0aW1lb3V0ID0gaW50ZXJuYWxfc2VsZWN0X2V4KHMsIDAsIGludGVydmFsKTsKKyAgICAgICAgaWYgKCF0aW1lb3V0KSB7CiAjaWZkZWYgTVNfV0lORE9XUwotICAgICAgICBpZiAobGVuID4gSU5UX01BWCkKLSAgICAgICAgICAgIGxlbiA9IElOVF9NQVg7Ci0gICAgICAgIG4gPSByZWN2ZnJvbShzLT5zb2NrX2ZkLCBjYnVmLCAoaW50KWxlbiwgZmxhZ3MsCi0gICAgICAgICAgICAgICAgICAgICAodm9pZCAqKSAmYWRkcmJ1ZiwgJmFkZHJsZW4pOworICAgICAgICAgICAgaWYgKGxlbiA+IElOVF9NQVgpCisgICAgICAgICAgICAgICAgbGVuID0gSU5UX01BWDsKKyAgICAgICAgICAgIG4gPSByZWN2ZnJvbShzLT5zb2NrX2ZkLCBjYnVmLCAoaW50KWxlbiwgZmxhZ3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgKHZvaWQgKikgJmFkZHJidWYsICZhZGRybGVuKTsKICNlbHNlCi0gICAgICAgIG4gPSByZWN2ZnJvbShzLT5zb2NrX2ZkLCBjYnVmLCBsZW4sIGZsYWdzLAotICAgICAgICAgICAgICAgICAgICAgU0FTMlNBKCZhZGRyYnVmKSwgJmFkZHJsZW4pOworICAgICAgICAgICAgbiA9IHJlY3Zmcm9tKHMtPnNvY2tfZmQsIGNidWYsIGxlbiwgZmxhZ3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgU0FTMlNBKCZhZGRyYnVmKSwgJmFkZHJsZW4pOwogI2VuZGlmCi0gICAgfQotICAgIFB5X0VORF9BTExPV19USFJFQURTCisgICAgICAgIH0KKyAgICAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKKyAgICB9IHdoaWxlIChuIDwgMCAmJiBlcnJubyA9PSBFSU5UUiAmJiAhKGFzeW5jX2VyciA9IFB5RXJyX0NoZWNrU2lnbmFscygpKSk7CiAKICAgICBpZiAodGltZW91dCA9PSAxKSB7CiAgICAgICAgIFB5RXJyX1NldFN0cmluZyhzb2NrZXRfdGltZW91dCwgInRpbWVkIG91dCIpOwpAQCAtMjc4MSw3ICsyODcwLDggQEAKICAgICB9CiAgICAgRU5EX1NFTEVDVF9MT09QKHMpCiAgICAgaWYgKG4gPCAwKSB7Ci0gICAgICAgIHMtPmVycm9yaGFuZGxlcigpOworICAgICAgICBpZiAoIWFzeW5jX2VycikKKyAgICAgICAgICAgIHMtPmVycm9yaGFuZGxlcigpOwogICAgICAgICByZXR1cm4gLTE7CiAgICAgfQogCkBAIC0yOTIxLDYgKzMwMTEsNyBAQAogewogICAgIHNzaXplX3QgYnl0ZXNfcmVjZWl2ZWQgPSAtMTsKICAgICBpbnQgdGltZW91dDsKKyAgICBpbnQgYXN5bmNfZXJyID0gMDsKICAgICBzb2NrX2FkZHJfdCBhZGRyYnVmOwogICAgIHNvY2tsZW5fdCBhZGRyYnVmbGVuOwogICAgIHN0cnVjdCBtc2doZHIgbXNnID0gezB9OwpAQCAtMjk1NiwyNSArMzA0NywyOSBAQAogICAgIH0KIAogICAgIEJFR0lOX1NFTEVDVF9MT09QKHMpCi0gICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUzsKLSAgICBtc2cubXNnX25hbWUgPSBTQVMyU0EoJmFkZHJidWYpOwotICAgIG1zZy5tc2dfbmFtZWxlbiA9IGFkZHJidWZsZW47Ci0gICAgbXNnLm1zZ19pb3YgPSBpb3Y7Ci0gICAgbXNnLm1zZ19pb3ZsZW4gPSBpb3ZsZW47Ci0gICAgbXNnLm1zZ19jb250cm9sID0gY29udHJvbGJ1ZjsKLSAgICBtc2cubXNnX2NvbnRyb2xsZW4gPSBjb250cm9sbGVuOwotICAgIHRpbWVvdXQgPSBpbnRlcm5hbF9zZWxlY3RfZXgocywgMCwgaW50ZXJ2YWwpOwotICAgIGlmICghdGltZW91dCkKLSAgICAgICAgYnl0ZXNfcmVjZWl2ZWQgPSByZWN2bXNnKHMtPnNvY2tfZmQsICZtc2csIGZsYWdzKTsKLSAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUzsKLSAgICBpZiAodGltZW91dCA9PSAxKSB7Ci0gICAgICAgIFB5RXJyX1NldFN0cmluZyhzb2NrZXRfdGltZW91dCwgInRpbWVkIG91dCIpOwotICAgICAgICBnb3RvIGZpbmFsbHk7Ci0gICAgfQorICAgIGRvIHsKKyAgICAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUzsKKyAgICAgICAgbXNnLm1zZ19uYW1lID0gU0FTMlNBKCZhZGRyYnVmKTsKKyAgICAgICAgbXNnLm1zZ19uYW1lbGVuID0gYWRkcmJ1ZmxlbjsKKyAgICAgICAgbXNnLm1zZ19pb3YgPSBpb3Y7CisgICAgICAgIG1zZy5tc2dfaW92bGVuID0gaW92bGVuOworICAgICAgICBtc2cubXNnX2NvbnRyb2wgPSBjb250cm9sYnVmOworICAgICAgICBtc2cubXNnX2NvbnRyb2xsZW4gPSBjb250cm9sbGVuOworICAgICAgICB0aW1lb3V0ID0gaW50ZXJuYWxfc2VsZWN0X2V4KHMsIDAsIGludGVydmFsKTsKKyAgICAgICAgaWYgKCF0aW1lb3V0KQorICAgICAgICAgICAgYnl0ZXNfcmVjZWl2ZWQgPSByZWN2bXNnKHMtPnNvY2tfZmQsICZtc2csIGZsYWdzKTsKKyAgICAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFM7CisgICAgICAgIGlmICh0aW1lb3V0ID09IDEpIHsKKyAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhzb2NrZXRfdGltZW91dCwgInRpbWVkIG91dCIpOworICAgICAgICAgICAgZ290byBmaW5hbGx5OworICAgICAgICB9CisgICAgfSB3aGlsZSAoYnl0ZXNfcmVjZWl2ZWQgPCAwICYmIGVycm5vID09IEVJTlRSICYmCisgICAgICAgICAgICAgIShhc3luY19lcnIgPSBQeUVycl9DaGVja1NpZ25hbHMoKSkpOwogICAgIEVORF9TRUxFQ1RfTE9PUChzKQogCiAgICAgaWYgKGJ5dGVzX3JlY2VpdmVkIDwgMCkgewotICAgICAgICBzLT5lcnJvcmhhbmRsZXIoKTsKKyAgICAgICAgaWYgKCFhc3luY19lcnIpCisgICAgICAgICAgICBzLT5lcnJvcmhhbmRsZXIoKTsKICAgICAgICAgZ290byBmaW5hbGx5OwogICAgIH0KIApAQCAtMzIzMyw2ICszMzI4LDcgQEAKIHsKICAgICBjaGFyICpidWY7CiAgICAgUHlfc3NpemVfdCBsZW4sIG4gPSAtMTsKKyAgICBpbnQgYXN5bmNfZXJyID0gMDsKICAgICBpbnQgZmxhZ3MgPSAwLCB0aW1lb3V0OwogICAgIFB5X2J1ZmZlciBwYnVmOwogCkBAIC0zMjQ3LDE4ICszMzQzLDIwIEBACiAgICAgbGVuID0gcGJ1Zi5sZW47CiAKICAgICBCRUdJTl9TRUxFQ1RfTE9PUChzKQotICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKLSAgICB0aW1lb3V0ID0gaW50ZXJuYWxfc2VsZWN0X2V4KHMsIDEsIGludGVydmFsKTsKLSAgICBpZiAoIXRpbWVvdXQpIHsKKyAgICBkbyB7CisgICAgICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKKyAgICAgICAgdGltZW91dCA9IGludGVybmFsX3NlbGVjdF9leChzLCAxLCBpbnRlcnZhbCk7CisgICAgICAgIGlmICghdGltZW91dCkgewogI2lmZGVmIE1TX1dJTkRPV1MKLSAgICAgICAgaWYgKGxlbiA+IElOVF9NQVgpCi0gICAgICAgICAgICBsZW4gPSBJTlRfTUFYOwotICAgICAgICBuID0gc2VuZChzLT5zb2NrX2ZkLCBidWYsIChpbnQpbGVuLCBmbGFncyk7CisgICAgICAgICAgICBpZiAobGVuID4gSU5UX01BWCkKKyAgICAgICAgICAgICAgICBsZW4gPSBJTlRfTUFYOworICAgICAgICAgICAgbiA9IHNlbmQocy0+c29ja19mZCwgYnVmLCAoaW50KWxlbiwgZmxhZ3MpOwogI2Vsc2UKLSAgICAgICAgbiA9IHNlbmQocy0+c29ja19mZCwgYnVmLCBsZW4sIGZsYWdzKTsKKyAgICAgICAgICAgIG4gPSBzZW5kKHMtPnNvY2tfZmQsIGJ1ZiwgbGVuLCBmbGFncyk7CiAjZW5kaWYKLSAgICB9Ci0gICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKKyAgICAgICAgfQorICAgICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUworICAgIH0gd2hpbGUgKG4gPCAwICYmIGVycm5vID09IEVJTlRSICYmICEoYXN5bmNfZXJyID0gUHlFcnJfQ2hlY2tTaWduYWxzKCkpKTsKICAgICBpZiAodGltZW91dCA9PSAxKSB7CiAgICAgICAgIFB5QnVmZmVyX1JlbGVhc2UoJnBidWYpOwogICAgICAgICBQeUVycl9TZXRTdHJpbmcoc29ja2V0X3RpbWVvdXQsICJ0aW1lZCBvdXQiKTsKQEAgLTMyNjgsNyArMzM2Niw3IEBACiAKICAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZwYnVmKTsKICAgICBpZiAobiA8IDApCi0gICAgICAgIHJldHVybiBzLT5lcnJvcmhhbmRsZXIoKTsKKyAgICAgICAgcmV0dXJuICghYXN5bmNfZXJyKSA/IHMtPmVycm9yaGFuZGxlcigpIDogTlVMTDsKICAgICByZXR1cm4gUHlMb25nX0Zyb21Tc2l6ZV90KG4pOwogfQogCkBAIC0zMjg3LDcgKzMzODUsOCBAQAogewogICAgIGNoYXIgKmJ1ZjsKICAgICBQeV9zc2l6ZV90IGxlbiwgbiA9IC0xOwotICAgIGludCBmbGFncyA9IDAsIHRpbWVvdXQsIHNhdmVkX2Vycm5vOworICAgIGludCBhc3luY19lcnIgPSAwOworICAgIGludCBmbGFncyA9IDAsIHRpbWVvdXQ7CiAgICAgUHlfYnVmZmVyIHBidWY7CiAKICAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgInkqfGk6c2VuZGFsbCIsICZwYnVmLCAmZmxhZ3MpKQpAQCAtMzMxOSwyOSArMzQxOCwxNiBAQAogICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKHNvY2tldF90aW1lb3V0LCAidGltZWQgb3V0Iik7CiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKICAgICAgICAgfQotICAgICAgICAvKiBQeUVycl9DaGVja1NpZ25hbHMoKSBtaWdodCBjaGFuZ2UgZXJybm8gKi8KLSAgICAgICAgc2F2ZWRfZXJybm8gPSBlcnJubzsKLSAgICAgICAgLyogV2UgbXVzdCBydW4gb3VyIHNpZ25hbCBoYW5kbGVycyBiZWZvcmUgbG9vcGluZyBhZ2Fpbi4KLSAgICAgICAgICAgc2VuZCgpIGNhbiByZXR1cm4gYSBzdWNjZXNzZnVsIHBhcnRpYWwgd3JpdGUgd2hlbiBpdCBpcwotICAgICAgICAgICBpbnRlcnJ1cHRlZCwgc28gd2UgY2FuJ3QgcmVzdHJpY3Qgb3Vyc2VsdmVzIHRvIEVJTlRSLiAqLwotICAgICAgICBpZiAoUHlFcnJfQ2hlY2tTaWduYWxzKCkpIHsKLSAgICAgICAgICAgIFB5QnVmZmVyX1JlbGVhc2UoJnBidWYpOwotICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgIGlmIChuID49IDApIHsKKyAgICAgICAgICAgIGJ1ZiArPSBuOworICAgICAgICAgICAgbGVuIC09IG47CiAgICAgICAgIH0KLSAgICAgICAgaWYgKG4gPCAwKSB7Ci0gICAgICAgICAgICAvKiBJZiBpbnRlcnJ1cHRlZCwgdHJ5IGFnYWluICovCi0gICAgICAgICAgICBpZiAoc2F2ZWRfZXJybm8gPT0gRUlOVFIpCi0gICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICAgICAgYnVmICs9IG47Ci0gICAgICAgIGxlbiAtPSBuOwotICAgIH0gd2hpbGUgKGxlbiA+IDApOworICAgIH0gd2hpbGUgKGxlbiA+IDAgJiYgKG4gPj0gMCB8fCBlcnJubyA9PSBFSU5UUikgJiYKKyAgICAgICAgICAgICAhKGFzeW5jX2VyciA9IFB5RXJyX0NoZWNrU2lnbmFscygpKSk7CiAgICAgUHlCdWZmZXJfUmVsZWFzZSgmcGJ1Zik7CiAKLSAgICBpZiAobiA8IDApCi0gICAgICAgIHJldHVybiBzLT5lcnJvcmhhbmRsZXIoKTsKKyAgICBpZiAobiA8IDAgfHwgYXN5bmNfZXJyKQorICAgICAgICByZXR1cm4gKCFhc3luY19lcnIpID8gcy0+ZXJyb3JoYW5kbGVyKCkgOiBOVUxMOwogCiAgICAgUHlfSU5DUkVGKFB5X05vbmUpOwogICAgIHJldHVybiBQeV9Ob25lOwpAQCAtMzM2Nyw2ICszNDUzLDcgQEAKICAgICBQeV9zc2l6ZV90IGxlbiwgYXJnbGVuOwogICAgIHNvY2tfYWRkcl90IGFkZHJidWY7CiAgICAgaW50IGFkZHJsZW4sIG4gPSAtMSwgZmxhZ3MsIHRpbWVvdXQ7CisgICAgaW50IGFzeW5jX2VyciA9IDA7CiAKICAgICBmbGFncyA9IDA7CiAgICAgYXJnbGVuID0gUHlUdXBsZV9TaXplKGFyZ3MpOwpAQCAtMzQwMSwyMCArMzQ4OCwyMiBAQAogICAgIH0KIAogICAgIEJFR0lOX1NFTEVDVF9MT09QKHMpCi0gICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwotICAgIHRpbWVvdXQgPSBpbnRlcm5hbF9zZWxlY3RfZXgocywgMSwgaW50ZXJ2YWwpOwotICAgIGlmICghdGltZW91dCkgeworICAgIGRvIHsKKyAgICAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUworICAgICAgICB0aW1lb3V0ID0gaW50ZXJuYWxfc2VsZWN0X2V4KHMsIDEsIGludGVydmFsKTsKKyAgICAgICAgaWYgKCF0aW1lb3V0KSB7CiAjaWZkZWYgTVNfV0lORE9XUwotICAgICAgICBpZiAobGVuID4gSU5UX01BWCkKLSAgICAgICAgICAgIGxlbiA9IElOVF9NQVg7Ci0gICAgICAgIG4gPSBzZW5kdG8ocy0+c29ja19mZCwgYnVmLCAoaW50KWxlbiwgZmxhZ3MsCi0gICAgICAgICAgICAgICAgICAgU0FTMlNBKCZhZGRyYnVmKSwgYWRkcmxlbik7CisgICAgICAgICAgICBpZiAobGVuID4gSU5UX01BWCkKKyAgICAgICAgICAgICAgICBsZW4gPSBJTlRfTUFYOworICAgICAgICAgICAgbiA9IHNlbmR0byhzLT5zb2NrX2ZkLCBidWYsIChpbnQpbGVuLCBmbGFncywKKyAgICAgICAgICAgICAgICAgICAgICAgU0FTMlNBKCZhZGRyYnVmKSwgYWRkcmxlbik7CiAjZWxzZQotICAgICAgICBuID0gc2VuZHRvKHMtPnNvY2tfZmQsIGJ1ZiwgbGVuLCBmbGFncywKLSAgICAgICAgICAgICAgICAgICBTQVMyU0EoJmFkZHJidWYpLCBhZGRybGVuKTsKKyAgICAgICAgICAgIG4gPSBzZW5kdG8ocy0+c29ja19mZCwgYnVmLCBsZW4sIGZsYWdzLAorICAgICAgICAgICAgICAgICAgICAgICBTQVMyU0EoJmFkZHJidWYpLCBhZGRybGVuKTsKICNlbmRpZgotICAgIH0KLSAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUworICAgICAgICB9CisgICAgICAgIFB5X0VORF9BTExPV19USFJFQURTCisgICAgfSB3aGlsZSAobiA8IDAgJiYgZXJybm8gPT0gRUlOVFIgJiYgIShhc3luY19lcnIgPSBQeUVycl9DaGVja1NpZ25hbHMoKSkpOwogCiAgICAgaWYgKHRpbWVvdXQgPT0gMSkgewogICAgICAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZwYnVmKTsKQEAgLTM0MjQsNyArMzUxMyw3IEBACiAgICAgRU5EX1NFTEVDVF9MT09QKHMpCiAgICAgUHlCdWZmZXJfUmVsZWFzZSgmcGJ1Zik7CiAgICAgaWYgKG4gPCAwKQotICAgICAgICByZXR1cm4gcy0+ZXJyb3JoYW5kbGVyKCk7CisgICAgICAgIHJldHVybiAoIWFzeW5jX2VycikgPyBzLT5lcnJvcmhhbmRsZXIoKSA6IE5VTEw7CiAgICAgcmV0dXJuIFB5TG9uZ19Gcm9tU3NpemVfdChuKTsKIH0KIApAQCAtMzQ1Niw2ICszNTQ1LDcgQEAKICAgICB2b2lkICpjb250cm9sYnVmID0gTlVMTDsKICAgICBzaXplX3QgY29udHJvbGxlbiwgY29udHJvbGxlbl9sYXN0OwogICAgIHNzaXplX3QgYnl0ZXNfc2VudCA9IC0xOworICAgIGludCBhc3luY19lcnIgPSAwOwogICAgIGludCBhZGRybGVuLCB0aW1lb3V0LCBmbGFncyA9IDA7CiAgICAgUHlPYmplY3QgKmRhdGFfYXJnLCAqY21zZ19hcmcgPSBOVUxMLCAqYWRkcl9hcmcgPSBOVUxMLCAqZGF0YV9mYXN0ID0gTlVMTCwKICAgICAgICAgKmNtc2dfZmFzdCA9IE5VTEwsICpyZXR2YWwgPSBOVUxMOwpAQCAtMzYxMywxOSArMzcwMywyMyBAQAogICAgIH0KIAogICAgIEJFR0lOX1NFTEVDVF9MT09QKHMpCi0gICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUzsKLSAgICB0aW1lb3V0ID0gaW50ZXJuYWxfc2VsZWN0X2V4KHMsIDEsIGludGVydmFsKTsKLSAgICBpZiAoIXRpbWVvdXQpCi0gICAgICAgIGJ5dGVzX3NlbnQgPSBzZW5kbXNnKHMtPnNvY2tfZmQsICZtc2csIGZsYWdzKTsKLSAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUzsKLSAgICBpZiAodGltZW91dCA9PSAxKSB7Ci0gICAgICAgIFB5RXJyX1NldFN0cmluZyhzb2NrZXRfdGltZW91dCwgInRpbWVkIG91dCIpOwotICAgICAgICBnb3RvIGZpbmFsbHk7Ci0gICAgfQorICAgIGRvIHsKKyAgICAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUzsKKyAgICAgICAgdGltZW91dCA9IGludGVybmFsX3NlbGVjdF9leChzLCAxLCBpbnRlcnZhbCk7CisgICAgICAgIGlmICghdGltZW91dCkKKyAgICAgICAgICAgIGJ5dGVzX3NlbnQgPSBzZW5kbXNnKHMtPnNvY2tfZmQsICZtc2csIGZsYWdzKTsKKyAgICAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFM7CisgICAgICAgIGlmICh0aW1lb3V0ID09IDEpIHsKKyAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhzb2NrZXRfdGltZW91dCwgInRpbWVkIG91dCIpOworICAgICAgICAgICAgZ290byBmaW5hbGx5OworICAgICAgICB9CisgICAgfSB3aGlsZSAoYnl0ZXNfc2VudCA8IDAgJiYgZXJybm8gPT0gRUlOVFIgJiYKKyAgICAgICAgICAgICAhKGFzeW5jX2VyciA9IFB5RXJyX0NoZWNrU2lnbmFscygpKSk7CiAgICAgRU5EX1NFTEVDVF9MT09QKHMpCiAKICAgICBpZiAoYnl0ZXNfc2VudCA8IDApIHsKLSAgICAgICAgcy0+ZXJyb3JoYW5kbGVyKCk7CisgICAgICAgIGlmICghYXN5bmNfZXJyKQorICAgICAgICAgICAgcy0+ZXJyb3JoYW5kbGVyKCk7CiAgICAgICAgIGdvdG8gZmluYWxseTsKICAgICB9CiAgICAgcmV0dmFsID0gUHlMb25nX0Zyb21Tc2l6ZV90KGJ5dGVzX3NlbnQpOwpAQCAtMzc5NSw3ICszODg5LDcgQEAKICAgICB7InNoYXJlIiwgICAgICAgICAoUHlDRnVuY3Rpb24pc29ja19zaGFyZSwgTUVUSF9WQVJBUkdTLAogICAgICAgICAgICAgICAgICAgICAgIHNvY2tfc2hhcmVfZG9jfSwKICNlbmRpZgotICAgIHsibGlzdGVuIiwgICAgICAgICAgICAoUHlDRnVuY3Rpb24pc29ja19saXN0ZW4sIE1FVEhfTywKKyAgICB7Imxpc3RlbiIsICAgICAgICAgICAgKFB5Q0Z1bmN0aW9uKXNvY2tfbGlzdGVuLCBNRVRIX1ZBUkFSR1MsCiAgICAgICAgICAgICAgICAgICAgICAgbGlzdGVuX2RvY30sCiAgICAgeyJyZWN2IiwgICAgICAgICAgICAgIChQeUNGdW5jdGlvbilzb2NrX3JlY3YsIE1FVEhfVkFSQVJHUywKICAgICAgICAgICAgICAgICAgICAgICByZWN2X2RvY30sCkBAIC00MjI2LDcgKzQzMjAsNyBAQAogLyogQ29udmVuaWVuY2UgZnVuY3Rpb24gY29tbW9uIHRvIGdldGhvc3RieW5hbWVfZXggYW5kIGdldGhvc3RieWFkZHIgKi8KIAogc3RhdGljIFB5T2JqZWN0ICoKLWdldGhvc3RfY29tbW9uKHN0cnVjdCBob3N0ZW50ICpoLCBzdHJ1Y3Qgc29ja2FkZHIgKmFkZHIsIGludCBhbGVuLCBpbnQgYWYpCitnZXRob3N0X2NvbW1vbihzdHJ1Y3QgaG9zdGVudCAqaCwgc3RydWN0IHNvY2thZGRyICphZGRyLCBzaXplX3QgYWxlbiwgaW50IGFmKQogewogICAgIGNoYXIgKipwY2g7CiAgICAgUHlPYmplY3QgKnJ0bl90dXBsZSA9IChQeU9iamVjdCAqKU5VTEw7CkBAIC01NzgwLDExICs1ODc0LDE1IEBACiAKICNpZmRlZiBNU19XSU5ET1dTCiAgICAgaWYgKHN1cHBvcnRfd3NhX25vX2luaGVyaXQgPT0gLTEpIHsKKyNpZiBkZWZpbmVkKF9NU0NfVkVSKSAmJiBfTVNDX1ZFUiA+PSAxODAwCisgICAgICAgIHN1cHBvcnRfd3NhX25vX2luaGVyaXQgPSBJc1dpbmRvd3M3U1AxT3JHcmVhdGVyKCk7CisjZWxzZQogICAgICAgICBEV09SRCB2ZXJzaW9uID0gR2V0VmVyc2lvbigpOwogICAgICAgICBEV09SRCBtYWpvciA9IChEV09SRClMT0JZVEUoTE9XT1JEKHZlcnNpb24pKTsKICAgICAgICAgRFdPUkQgbWlub3IgPSAoRFdPUkQpSElCWVRFKExPV09SRCh2ZXJzaW9uKSk7CiAgICAgICAgIC8qIG5lZWQgV2luZG93cyA3IFNQMSwgMjAwOCBSMiBTUDEgb3IgbGF0ZXIgKi8KLSAgICAgICAgc3VwcG9ydF93c2Ffbm9faW5oZXJpdCA9IChtYWpvciA+PSA2ICYmIG1pbm9yID49IDEpOworICAgICAgICBzdXBwb3J0X3dzYV9ub19pbmhlcml0ID0gbWFqb3IgPiA2IHx8IChtYWpvciA9PSA2ICYmIG1pbm9yID49IDEpOworI2VuZGlmCiAgICAgfQogI2VuZGlmCiAKQEAgLTYxODMsNiArNjI4MSw5IEBACiAjaWZkZWYgIFNPX1BSSU9SSVRZCiAgICAgUHlNb2R1bGVfQWRkSW50TWFjcm8obSwgU09fUFJJT1JJVFkpOwogI2VuZGlmCisjaWZkZWYgIFNPX01BUksKKyAgICBQeU1vZHVsZV9BZGRJbnRNYWNybyhtLCBTT19NQVJLKTsKKyNlbmRpZgogCiAgICAgLyogTWF4aW11bSBudW1iZXIgb2YgY29ubmVjdGlvbnMgZm9yICJsaXN0ZW4iICovCiAjaWZkZWYgIFNPTUFYQ09OTgpkaWZmIC0tZ2l0IGEvTW9kdWxlcy9zb2NrZXRtb2R1bGUuaCBiL01vZHVsZXMvc29ja2V0bW9kdWxlLmgKaW5kZXggYjgzZjlhZi4uNGI2YTEwZSAxMDA2NDQKLS0tIGEvTW9kdWxlcy9zb2NrZXRtb2R1bGUuaAorKysgYi9Nb2R1bGVzL3NvY2tldG1vZHVsZS5oCkBAIC0xNCw2ICsxNCwxMyBAQAogCiAjZWxzZSAvKiBNU19XSU5ET1dTICovCiAjIGluY2x1ZGUgPHdpbnNvY2syLmg+CisvKiBXaW5kb3dzICdzdXBwb3J0cycgQ01TR19MRU4sIGJ1dCBkb2VzIG5vdCBmb2xsb3cgdGhlIFBPU0lYIHN0YW5kYXJkCisgKiBpbnRlcmZhY2UgYXQgYWxsLCBzbyB0aGVyZSBpcyBubyBwb2ludCBpbmNsdWRpbmcgdGhlIGNvZGUgdGhhdAorICogYXR0ZW1wdHMgdG8gdXNlIGl0LgorICovCisjIGlmZGVmIFB5U29ja2V0X0JVSUxESU5HX1NPQ0tFVAorIyAgdW5kZWYgQ01TR19MRU4KKyMgZW5kaWYKICMgaW5jbHVkZSA8d3MydGNwaXAuaD4KIC8qIFZDNiBpcyBzaGlwcGVkIHdpdGggb2xkIHBsYXRmb3JtIGhlYWRlcnMsIGFuZCBkb2VzIG5vdCBoYXZlIE1TVGNwSVAuaAogICogU2VwYXJhdGUgU0RLcyBoYXZlIGFsbCB0aGUgZnVuY3Rpb25zIHdlIHdhbnQsIGJ1dCBvbGRlciBvbmVzIGRvbid0IGhhdmUKZGlmZiAtLWdpdCBhL01vZHVsZXMvc3B3ZG1vZHVsZS5jIGIvTW9kdWxlcy9zcHdkbW9kdWxlLmMKaW5kZXggNjhlYTFiNS4uMDEzY2IxMSAxMDA2NDQKLS0tIGEvTW9kdWxlcy9zcHdkbW9kdWxlLmMKKysrIGIvTW9kdWxlcy9zcHdkbW9kdWxlLmMKQEAgLTEwLDYgKzEwLDEzIEBACiAjaW5jbHVkZSA8c2hhZG93Lmg+CiAjZW5kaWYKIAorI2luY2x1ZGUgImNsaW5pYy9zcHdkbW9kdWxlLmMuaCIKKworLypbY2xpbmljIGlucHV0XQorb3V0cHV0IHByZXNldCBmaWxlCittb2R1bGUgc3B3ZAorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWRhMzlhM2VlNWU2YjRiMGQgaW5wdXQ9YjM0NjRhMzY2NzI3OGZhZV0qLwogCiBQeURvY19TVFJWQVIoc3B3ZF9fZG9jX18sCiAiVGhpcyBtb2R1bGUgcHJvdmlkZXMgYWNjZXNzIHRvIHRoZSBVbml4IHNoYWRvdyBwYXNzd29yZCBkYXRhYmFzZS5cblwKQEAgLTEwNywyMCArMTE0LDI1IEBACiAKICNpZmRlZiBIQVZFX0dFVFNQTkFNCiAKLVB5RG9jX1NUUlZBUihzcHdkX2dldHNwbmFtX19kb2NfXywKLSJnZXRzcG5hbShuYW1lKSAtPiAoc3BfbmFtcCwgc3BfcHdkcCwgc3BfbHN0Y2hnLCBzcF9taW4sIHNwX21heCxcblwKLSAgICAgICAgICAgICAgICAgICAgc3Bfd2Fybiwgc3BfaW5hY3QsIHNwX2V4cGlyZSwgc3BfZmxhZylcblwKLVJldHVybiB0aGUgc2hhZG93IHBhc3N3b3JkIGRhdGFiYXNlIGVudHJ5IGZvciB0aGUgZ2l2ZW4gdXNlciBuYW1lLlxuXAotU2VlIHNwd2QuX19kb2NfXyBmb3IgbW9yZSBvbiBzaGFkb3cgcGFzc3dvcmQgZGF0YWJhc2UgZW50cmllcy4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK3Nwd2QuZ2V0c3BuYW0KIAotc3RhdGljIFB5T2JqZWN0KiBzcHdkX2dldHNwbmFtKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKKyAgICBhcmc6IHVuaWNvZGUKKyAgICAvCisKK1JldHVybiB0aGUgc2hhZG93IHBhc3N3b3JkIGRhdGFiYXNlIGVudHJ5IGZvciB0aGUgZ2l2ZW4gdXNlciBuYW1lLgorCitTZWUgYGhlbHAoc3B3ZClgIGZvciBtb3JlIG9uIHNoYWRvdyBwYXNzd29yZCBkYXRhYmFzZSBlbnRyaWVzLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitzdGF0aWMgUHlPYmplY3QgKgorc3B3ZF9nZXRzcG5hbV9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmcpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9OWY2YmJlNTFhNGViM2IyMSBpbnB1dD1kZDg5NDI5ZTYxNjdhMDBmXSovCiB7CiAgICAgY2hhciAqbmFtZTsKICAgICBzdHJ1Y3Qgc3B3ZCAqcDsKLSAgICBQeU9iamVjdCAqYXJnLCAqYnl0ZXMsICpyZXR2YWwgPSBOVUxMOworICAgIFB5T2JqZWN0ICpieXRlcywgKnJldHZhbCA9IE5VTEw7CiAKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIlU6Z2V0c3BuYW0iLCAmYXJnKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgaWYgKChieXRlcyA9IFB5VW5pY29kZV9FbmNvZGVGU0RlZmF1bHQoYXJnKSkgPT0gTlVMTCkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgaWYgKFB5Qnl0ZXNfQXNTdHJpbmdBbmRTaXplKGJ5dGVzLCAmbmFtZSwgTlVMTCkgPT0gLTEpCkBAIC0xMzksMTQgKzE1MSwxNyBAQAogCiAjaWZkZWYgSEFWRV9HRVRTUEVOVAogCi1QeURvY19TVFJWQVIoc3B3ZF9nZXRzcGFsbF9fZG9jX18sCi0iZ2V0c3BhbGwoKSAtPiBsaXN0X29mX2VudHJpZXNcblwKLVJldHVybiBhIGxpc3Qgb2YgYWxsIGF2YWlsYWJsZSBzaGFkb3cgcGFzc3dvcmQgZGF0YWJhc2UgZW50cmllcywgXAotaW4gYXJiaXRyYXJ5IG9yZGVyLlxuXAotU2VlIHNwd2QuX19kb2NfXyBmb3IgbW9yZSBvbiBzaGFkb3cgcGFzc3dvcmQgZGF0YWJhc2UgZW50cmllcy4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK3Nwd2QuZ2V0c3BhbGwKKworUmV0dXJuIGEgbGlzdCBvZiBhbGwgYXZhaWxhYmxlIHNoYWRvdyBwYXNzd29yZCBkYXRhYmFzZSBlbnRyaWVzLCBpbiBhcmJpdHJhcnkgb3JkZXIuCisKK1NlZSBgaGVscChzcHdkKWAgZm9yIG1vcmUgb24gc2hhZG93IHBhc3N3b3JkIGRhdGFiYXNlIGVudHJpZXMuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1zcHdkX2dldHNwYWxsKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK3Nwd2RfZ2V0c3BhbGxfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWIxMmQ4ZWM3YmRiMjk2MTIgaW5wdXQ9YjJjODRiNzg1N2Q2MjJiZF0qLwogewogICAgIFB5T2JqZWN0ICpkOwogICAgIHN0cnVjdCBzcHdkICpwOwpAQCAtMTcxLDEwICsxODYsMTAgQEAKIAogc3RhdGljIFB5TWV0aG9kRGVmIHNwd2RfbWV0aG9kc1tdID0gewogI2lmZGVmIEhBVkVfR0VUU1BOQU0KLSAgICB7ImdldHNwbmFtIiwgICAgICAgIHNwd2RfZ2V0c3BuYW0sIE1FVEhfVkFSQVJHUywgc3B3ZF9nZXRzcG5hbV9fZG9jX199LAorICAgIFNQV0RfR0VUU1BOQU1fTUVUSE9EREVGCiAjZW5kaWYKICNpZmRlZiBIQVZFX0dFVFNQRU5UCi0gICAgeyJnZXRzcGFsbCIsICAgICAgICBzcHdkX2dldHNwYWxsLCBNRVRIX05PQVJHUywgc3B3ZF9nZXRzcGFsbF9fZG9jX199LAorICAgIFNQV0RfR0VUU1BBTExfTUVUSE9EREVGCiAjZW5kaWYKICAgICB7TlVMTCwgICAgICAgICAgICAgIE5VTEx9ICAgICAgICAgICAvKiBzZW50aW5lbCAqLwogfTsKZGlmZiAtLWdpdCBhL01vZHVsZXMvc3JlLmggYi9Nb2R1bGVzL3NyZS5oCmluZGV4IDQyZmUyOGQuLmI2MzIxNjUgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvc3JlLmgKKysrIGIvTW9kdWxlcy9zcmUuaApAQCAtMTgsOCArMTgsMTAgQEAKICNkZWZpbmUgU1JFX0NPREUgUHlfVUNTNAogI2lmIFNJWkVPRl9TSVpFX1QgPiA0CiAjIGRlZmluZSBTUkVfTUFYUkVQRUFUICh+KFNSRV9DT0RFKTApCisjIGRlZmluZSBTUkVfTUFYR1JPVVBTICgofihTUkVfQ09ERSkwKSAvIDIpCiAjZWxzZQogIyBkZWZpbmUgU1JFX01BWFJFUEVBVCAoKFNSRV9DT0RFKVBZX1NTSVpFX1RfTUFYKQorIyBkZWZpbmUgU1JFX01BWEdST1VQUyAoKFNSRV9DT0RFKVBZX1NTSVpFX1RfTUFYIC8gU0laRU9GX1NJWkVfVCAvIDIpCiAjZW5kaWYKIAogdHlwZWRlZiBzdHJ1Y3QgewpAQCAtNTIsOSArNTQsNiBAQAogCiB0eXBlZGVmIHVuc2lnbmVkIGludCAoKlNSRV9UT0xPV0VSX0hPT0spKHVuc2lnbmVkIGludCBjaCk7CiAKLS8qIEZJWE1FOiA8Zmw+IHNob3VsZG4ndCBiZSBhIGNvbnN0YW50LCByZWFsbHkuLi4gKi8KLSNkZWZpbmUgU1JFX01BUktfU0laRSAyMDAKLQogdHlwZWRlZiBzdHJ1Y3QgU1JFX1JFUEVBVF9UIHsKICAgICBQeV9zc2l6ZV90IGNvdW50OwogICAgIFNSRV9DT0RFKiBwYXR0ZXJuOyAvKiBwb2ludHMgdG8gUkVQRUFUIG9wZXJhdG9yIGFyZ3VtZW50cyAqLwpAQCAtNzYsNyArNzUsNyBAQAogICAgIC8qIHJlZ2lzdGVycyAqLwogICAgIFB5X3NzaXplX3QgbGFzdGluZGV4OwogICAgIFB5X3NzaXplX3QgbGFzdG1hcms7Ci0gICAgdm9pZCogbWFya1tTUkVfTUFSS19TSVpFXTsKKyAgICB2b2lkKiogbWFyazsKICAgICAvKiBkeW5hbWljYWxseSBhbGxvY2F0ZWQgc3R1ZmYgKi8KICAgICBjaGFyKiBkYXRhX3N0YWNrOwogICAgIHNpemVfdCBkYXRhX3N0YWNrX3NpemU7CkBAIC04NSw3ICs4NCw3IEBACiAgICAgLyogY3VycmVudCByZXBlYXQgY29udGV4dCAqLwogICAgIFNSRV9SRVBFQVQgKnJlcGVhdDsKICAgICAvKiBob29rcyAqLwotICAgIFNSRV9UT0xPV0VSX0hPT0sgbG93ZXI7CisgICAgU1JFX1RPTE9XRVJfSE9PSyBsb3dlciwgdXBwZXI7CiB9IFNSRV9TVEFURTsKIAogdHlwZWRlZiBzdHJ1Y3QgewpkaWZmIC0tZ2l0IGEvTW9kdWxlcy9zcmVfY29uc3RhbnRzLmggYi9Nb2R1bGVzL3NyZV9jb25zdGFudHMuaAppbmRleCA1OTQwZDVhLi42NjMyNDQyIDEwMDY0NAotLS0gYS9Nb2R1bGVzL3NyZV9jb25zdGFudHMuaAorKysgYi9Nb2R1bGVzL3NyZV9jb25zdGFudHMuaApAQCAtMTEsNyArMTEsNyBAQAogICogU2VlIHRoZSBfc3JlLmMgZmlsZSBmb3IgaW5mb3JtYXRpb24gb24gdXNhZ2UgYW5kIHJlZGlzdHJpYnV0aW9uLgogICovCiAKLSNkZWZpbmUgU1JFX01BR0lDIDIwMDMxMDE3CisjZGVmaW5lIFNSRV9NQUdJQyAyMDE0MDkxNwogI2RlZmluZSBTUkVfT1BfRkFJTFVSRSAwCiAjZGVmaW5lIFNSRV9PUF9TVUNDRVNTIDEKICNkZWZpbmUgU1JFX09QX0FOWSAyCkBAIC00NCw2ICs0NCw3IEBACiAjZGVmaW5lIFNSRV9PUF9SRVBFQVRfT05FIDI5CiAjZGVmaW5lIFNSRV9PUF9TVUJQQVRURVJOIDMwCiAjZGVmaW5lIFNSRV9PUF9NSU5fUkVQRUFUX09ORSAzMQorI2RlZmluZSBTUkVfT1BfUkFOR0VfSUdOT1JFIDMyCiAjZGVmaW5lIFNSRV9BVF9CRUdJTk5JTkcgMAogI2RlZmluZSBTUkVfQVRfQkVHSU5OSU5HX0xJTkUgMQogI2RlZmluZSBTUkVfQVRfQkVHSU5OSU5HX1NUUklORyAyCmRpZmYgLS1naXQgYS9Nb2R1bGVzL3NyZV9saWIuaCBiL01vZHVsZXMvc3JlX2xpYi5oCmluZGV4IDVjNmM1YTUuLjQ2M2E5MDggMTAwNjQ0Ci0tLSBhL01vZHVsZXMvc3JlX2xpYi5oCisrKyBiL01vZHVsZXMvc3JlX2xpYi5oCkBAIC0xMDEsNyArMTAxLDcgQEAKIH0KIAogTE9DQUwoaW50KQotU1JFKGNoYXJzZXQpKFNSRV9DT0RFKiBzZXQsIFNSRV9DT0RFIGNoKQorU1JFKGNoYXJzZXQpKFNSRV9TVEFURSogc3RhdGUsIFNSRV9DT0RFKiBzZXQsIFNSRV9DT0RFIGNoKQogewogICAgIC8qIGNoZWNrIGlmIGNoYXJhY3RlciBpcyBhIG1lbWJlciBvZiB0aGUgZ2l2ZW4gc2V0ICovCiAKQEAgLTE0Miw2ICsxNDIsMjAgQEAKICAgICAgICAgICAgIHNldCArPSAyOwogICAgICAgICAgICAgYnJlYWs7CiAKKyAgICAgICAgY2FzZSBTUkVfT1BfUkFOR0VfSUdOT1JFOgorICAgICAgICAgICAgLyogPFJBTkdFX0lHTk9SRT4gPGxvd2VyPiA8dXBwZXI+ICovCisgICAgICAgIHsKKyAgICAgICAgICAgIFNSRV9DT0RFIHVjaDsKKyAgICAgICAgICAgIC8qIGNoIGlzIGFscmVhZHkgbG93ZXIgY2FzZWQgKi8KKyAgICAgICAgICAgIGlmIChzZXRbMF0gPD0gY2ggJiYgY2ggPD0gc2V0WzFdKQorICAgICAgICAgICAgICAgIHJldHVybiBvazsKKyAgICAgICAgICAgIHVjaCA9IHN0YXRlLT51cHBlcihjaCk7CisgICAgICAgICAgICBpZiAoc2V0WzBdIDw9IHVjaCAmJiB1Y2ggPD0gc2V0WzFdKQorICAgICAgICAgICAgICAgIHJldHVybiBvazsKKyAgICAgICAgICAgIHNldCArPSAyOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKwogICAgICAgICBjYXNlIFNSRV9PUF9ORUdBVEU6CiAgICAgICAgICAgICBvayA9ICFvazsKICAgICAgICAgICAgIGJyZWFrOwpAQCAtMTkzLDcgKzIwNyw3IEBACiAgICAgY2FzZSBTUkVfT1BfSU46CiAgICAgICAgIC8qIHJlcGVhdGVkIHNldCAqLwogICAgICAgICBUUkFDRSgoInwlcHwlcHxDT1VOVCBJTlxuIiwgcGF0dGVybiwgcHRyKSk7Ci0gICAgICAgIHdoaWxlIChwdHIgPCBlbmQgJiYgU1JFKGNoYXJzZXQpKHBhdHRlcm4gKyAyLCAqcHRyKSkKKyAgICAgICAgd2hpbGUgKHB0ciA8IGVuZCAmJiBTUkUoY2hhcnNldCkoc3RhdGUsIHBhdHRlcm4gKyAyLCAqcHRyKSkKICAgICAgICAgICAgIHB0cisrOwogICAgICAgICBicmVhazsKIApAQCAtNjI4LDcgKzY0Miw4IEBACiAgICAgICAgICAgICAvKiBtYXRjaCBzZXQgbWVtYmVyIChvciBub25fbWVtYmVyKSAqLwogICAgICAgICAgICAgLyogPElOPiA8c2tpcD4gPHNldD4gKi8KICAgICAgICAgICAgIFRSQUNFKCgifCVwfCVwfElOXG4iLCBjdHgtPnBhdHRlcm4sIGN0eC0+cHRyKSk7Ci0gICAgICAgICAgICBpZiAoY3R4LT5wdHIgPj0gZW5kIHx8ICFTUkUoY2hhcnNldCkoY3R4LT5wYXR0ZXJuICsgMSwgKmN0eC0+cHRyKSkKKyAgICAgICAgICAgIGlmIChjdHgtPnB0ciA+PSBlbmQgfHwKKyAgICAgICAgICAgICAgICAhU1JFKGNoYXJzZXQpKHN0YXRlLCBjdHgtPnBhdHRlcm4gKyAxLCAqY3R4LT5wdHIpKQogICAgICAgICAgICAgICAgIFJFVFVSTl9GQUlMVVJFOwogICAgICAgICAgICAgY3R4LT5wYXR0ZXJuICs9IGN0eC0+cGF0dGVyblswXTsKICAgICAgICAgICAgIGN0eC0+cHRyKys7CkBAIC02NTcsNyArNjcyLDcgQEAKICAgICAgICAgY2FzZSBTUkVfT1BfSU5fSUdOT1JFOgogICAgICAgICAgICAgVFJBQ0UoKCJ8JXB8JXB8SU5fSUdOT1JFXG4iLCBjdHgtPnBhdHRlcm4sIGN0eC0+cHRyKSk7CiAgICAgICAgICAgICBpZiAoY3R4LT5wdHIgPj0gZW5kCi0gICAgICAgICAgICAgICAgfHwgIVNSRShjaGFyc2V0KShjdHgtPnBhdHRlcm4rMSwKKyAgICAgICAgICAgICAgICB8fCAhU1JFKGNoYXJzZXQpKHN0YXRlLCBjdHgtPnBhdHRlcm4rMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChTUkVfQ09ERSlzdGF0ZS0+bG93ZXIoKmN0eC0+cHRyKSkpCiAgICAgICAgICAgICAgICAgUkVUVVJOX0ZBSUxVUkU7CiAgICAgICAgICAgICBjdHgtPnBhdHRlcm4gKz0gY3R4LT5wYXR0ZXJuWzBdOwpAQCAtNjg4LDcgKzcwMyw4IEBACiAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgICAgIGlmIChjdHgtPnBhdHRlcm5bMV0gPT0gU1JFX09QX0lOICYmCiAgICAgICAgICAgICAgICAgICAgIChjdHgtPnB0ciA+PSBlbmQgfHwKLSAgICAgICAgICAgICAgICAgICAgICFTUkUoY2hhcnNldCkoY3R4LT5wYXR0ZXJuICsgMywgKFNSRV9DT0RFKSAqY3R4LT5wdHIpKSkKKyAgICAgICAgICAgICAgICAgICAgICFTUkUoY2hhcnNldCkoc3RhdGUsIGN0eC0+cGF0dGVybiArIDMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChTUkVfQ09ERSkgKmN0eC0+cHRyKSkpCiAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgICAgIHN0YXRlLT5wdHIgPSBjdHgtPnB0cjsKICAgICAgICAgICAgICAgICBET19KVU1QKEpVTVBfQlJBTkNILCBqdW1wX2JyYW5jaCwgY3R4LT5wYXR0ZXJuKzEpOwpAQCAtMTMxMCw3ICsxMzI2LDcgQEAKICAgICAgICAgLyogcGF0dGVybiBzdGFydHMgd2l0aCBhIGNoYXJhY3RlciBmcm9tIGEga25vd24gc2V0ICovCiAgICAgICAgIGVuZCA9IChTUkVfQ0hBUiAqKXN0YXRlLT5lbmQ7CiAgICAgICAgIGZvciAoOzspIHsKLSAgICAgICAgICAgIHdoaWxlIChwdHIgPCBlbmQgJiYgIVNSRShjaGFyc2V0KShjaGFyc2V0LCAqcHRyKSkKKyAgICAgICAgICAgIHdoaWxlIChwdHIgPCBlbmQgJiYgIVNSRShjaGFyc2V0KShzdGF0ZSwgY2hhcnNldCwgKnB0cikpCiAgICAgICAgICAgICAgICAgcHRyKys7CiAgICAgICAgICAgICBpZiAocHRyID49IGVuZCkKICAgICAgICAgICAgICAgICByZXR1cm4gMDsKZGlmZiAtLWdpdCBhL01vZHVsZXMvdGltZW1vZHVsZS5jIGIvTW9kdWxlcy90aW1lbW9kdWxlLmMKaW5kZXggZDA5MTdhNC4uN2Y1ZjMxNCAxMDA2NDQKLS0tIGEvTW9kdWxlcy90aW1lbW9kdWxlLmMKKysrIGIvTW9kdWxlcy90aW1lbW9kdWxlLmMKQEAgLTI3LDI4ICsyNywxMyBAQAogI2RlZmluZSBXSU4zMl9MRUFOX0FORF9NRUFOCiAjaW5jbHVkZSA8d2luZG93cy5oPgogI2luY2x1ZGUgInB5dGhyZWFkLmgiCi0KLSNpZiBkZWZpbmVkKF9fQk9STEFORENfXykKLS8qIFRoZXNlIG92ZXJyaWRlcyBub3QgbmVlZGVkIGZvciBXaW4zMiAqLwotI2RlZmluZSB0aW1lem9uZSBfdGltZXpvbmUKLSNkZWZpbmUgdHpuYW1lIF90em5hbWUKLSNkZWZpbmUgZGF5bGlnaHQgX2RheWxpZ2h0Ci0jZW5kaWYgLyogX19CT1JMQU5EQ19fICovCiAjZW5kaWYgLyogTVNfV0lORE9XUyAqLwogI2VuZGlmIC8qICFfX1dBVENPTUNfXyB8fCBfX1FOWF9fICovCiAKLSNpZiBkZWZpbmVkKF9fQVBQTEVfXykKLSNpbmNsdWRlIDxtYWNoL21hY2hfdGltZS5oPgotI2VuZGlmCi0KIC8qIEZvcndhcmQgZGVjbGFyYXRpb25zICovCiBzdGF0aWMgaW50IGZsb2F0c2xlZXAoZG91YmxlKTsKIHN0YXRpYyBQeU9iamVjdCogZmxvYXR0aW1lKF9QeV9jbG9ja19pbmZvX3QgKmluZm8pOwogCi0jaWZkZWYgTVNfV0lORE9XUwotc3RhdGljIE9TVkVSU0lPTklORk9FWCB3aW52ZXI7Ci0jZW5kaWYKLQogc3RhdGljIFB5T2JqZWN0ICoKIHRpbWVfdGltZShQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKnVudXNlZCkKIHsKQEAgLTkyLDEyICs3NywxMiBAQAogfQogI2VuZGlmIC8qIEhBVkVfQ0xPQ0sgKi8KIAotI2lmIGRlZmluZWQoTVNfV0lORE9XUykgJiYgIWRlZmluZWQoX19CT1JMQU5EQ19fKQorI2lmZGVmIE1TX1dJTkRPV1MKICNkZWZpbmUgV0lOMzJfUEVSRl9DT1VOVEVSCiAvKiBXaW4zMiBoYXMgYmV0dGVyIGNsb2NrIHJlcGxhY2VtZW50OyB3ZSBoYXZlIG91ciBvd24gdmVyc2lvbiwgZHVlIHRvIE1hcmsKICAgIEhhbW1vbmQgYW5kIFRpbSBQZXRlcnMgKi8KLXN0YXRpYyBpbnQKLXdpbl9wZXJmX2NvdW50ZXIoX1B5X2Nsb2NrX2luZm9fdCAqaW5mbywgUHlPYmplY3QgKipyZXN1bHQpCitzdGF0aWMgUHlPYmplY3QqCit3aW5fcGVyZl9jb3VudGVyKF9QeV9jbG9ja19pbmZvX3QgKmluZm8pCiB7CiAgICAgc3RhdGljIExPTkdMT05HIGNwdV9mcmVxdWVuY3kgPSAwOwogICAgIHN0YXRpYyBMT05HTE9ORyBjdHJTdGFydDsKQEAgLTEwOSwxMCArOTQsOCBAQAogICAgICAgICBRdWVyeVBlcmZvcm1hbmNlQ291bnRlcigmbm93KTsKICAgICAgICAgY3RyU3RhcnQgPSBub3cuUXVhZFBhcnQ7CiAgICAgICAgIGlmICghUXVlcnlQZXJmb3JtYW5jZUZyZXF1ZW5jeSgmZnJlcSkgfHwgZnJlcS5RdWFkUGFydCA9PSAwKSB7Ci0gICAgICAgICAgICAvKiBVbmxpa2VseSB0byBoYXBwZW4gLSB0aGlzIHdvcmtzIG9uIGFsbCBpbnRlbAotICAgICAgICAgICAgICAgbWFjaGluZXMgYXQgbGVhc3QhICBSZXZlcnQgdG8gY2xvY2soKSAqLwotICAgICAgICAgICAgKnJlc3VsdCA9IE5VTEw7Ci0gICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgICAgICBQeUVycl9TZXRGcm9tV2luZG93c0VycigwKTsKKyAgICAgICAgICAgIHJldHVybiBOVUxMOwogICAgICAgICB9CiAgICAgICAgIGNwdV9mcmVxdWVuY3kgPSBmcmVxLlF1YWRQYXJ0OwogICAgIH0KQEAgLTEyNCwxMCArMTA3LDkgQEAKICAgICAgICAgaW5mby0+bW9ub3RvbmljID0gMTsKICAgICAgICAgaW5mby0+YWRqdXN0YWJsZSA9IDA7CiAgICAgfQotICAgICpyZXN1bHQgPSBQeUZsb2F0X0Zyb21Eb3VibGUoZGlmZiAvIChkb3VibGUpY3B1X2ZyZXF1ZW5jeSk7Ci0gICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIFB5RmxvYXRfRnJvbURvdWJsZShkaWZmIC8gKGRvdWJsZSljcHVfZnJlcXVlbmN5KTsKIH0KLSNlbmRpZgorI2VuZGlmICAgLyogTVNfV0lORE9XUyAqLwogCiAjaWYgZGVmaW5lZChXSU4zMl9QRVJGX0NPVU5URVIpIHx8IGRlZmluZWQoSEFWRV9DTE9DSykKICNkZWZpbmUgUFlDTE9DSwpAQCAtMTM1LDExICsxMTcsMTAgQEAKIHB5Y2xvY2soX1B5X2Nsb2NrX2luZm9fdCAqaW5mbykKIHsKICNpZmRlZiBXSU4zMl9QRVJGX0NPVU5URVIKLSAgICBQeU9iamVjdCAqcmVzOwotICAgIGlmICh3aW5fcGVyZl9jb3VudGVyKGluZm8sICZyZXMpID09IDApCi0gICAgICAgIHJldHVybiByZXM7Ci0jZW5kaWYKKyAgICByZXR1cm4gd2luX3BlcmZfY291bnRlcihpbmZvKTsKKyNlbHNlCiAgICAgcmV0dXJuIGZsb2F0Y2xvY2soaW5mbyk7CisjZW5kaWYKIH0KIAogc3RhdGljIFB5T2JqZWN0ICoKQEAgLTE2OSw3ICsxNTAsNyBAQAogCiAgICAgcmV0ID0gY2xvY2tfZ2V0dGltZSgoY2xvY2tpZF90KWNsa19pZCwgJnRwKTsKICAgICBpZiAocmV0ICE9IDApIHsKLSAgICAgICAgUHlFcnJfU2V0RnJvbUVycm5vKFB5RXhjX0lPRXJyb3IpOworICAgICAgICBQeUVycl9TZXRGcm9tRXJybm8oUHlFeGNfT1NFcnJvcik7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KICAgICByZXR1cm4gUHlGbG9hdF9Gcm9tRG91YmxlKHRwLnR2X3NlYyArIHRwLnR2X25zZWMgKiAxZS05KTsKQEAgLTIwMCw3ICsxODEsNyBAQAogCiAgICAgcmV0ID0gY2xvY2tfc2V0dGltZSgoY2xvY2tpZF90KWNsa19pZCwgJnRwKTsKICAgICBpZiAocmV0ICE9IDApIHsKLSAgICAgICAgUHlFcnJfU2V0RnJvbUVycm5vKFB5RXhjX0lPRXJyb3IpOworICAgICAgICBQeUVycl9TZXRGcm9tRXJybm8oUHlFeGNfT1NFcnJvcik7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KICAgICBQeV9SRVRVUk5fTk9ORTsKQEAgLTIyMyw3ICsyMDQsNyBAQAogCiAgICAgcmV0ID0gY2xvY2tfZ2V0cmVzKChjbG9ja2lkX3QpY2xrX2lkLCAmdHApOwogICAgIGlmIChyZXQgIT0gMCkgewotICAgICAgICBQeUVycl9TZXRGcm9tRXJybm8oUHlFeGNfSU9FcnJvcik7CisgICAgICAgIFB5RXJyX1NldEZyb21FcnJubyhQeUV4Y19PU0Vycm9yKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQogCkBAIC05MDMsMTIyICs4ODQsMTUgQEAKIHNob3VsZCBub3QgYmUgcmVsaWVkIG9uLiIpOwogI2VuZGlmIC8qIEhBVkVfV09SS0lOR19UWlNFVCAqLwogCi0jaWYgZGVmaW5lZChNU19XSU5ET1dTKSB8fCBkZWZpbmVkKF9fQVBQTEVfXykgXAotICAgIHx8IChkZWZpbmVkKEhBVkVfQ0xPQ0tfR0VUVElNRSkgXAotICAgICAgICAmJiAoZGVmaW5lZChDTE9DS19ISUdIUkVTKSB8fCBkZWZpbmVkKENMT0NLX01PTk9UT05JQykpKQotI2RlZmluZSBQWU1PTk9UT05JQwotI2VuZGlmCi0KLSNpZmRlZiBQWU1PTk9UT05JQwotc3RhdGljIFB5T2JqZWN0Kgorc3RhdGljIFB5T2JqZWN0ICoKIHB5bW9ub3RvbmljKF9QeV9jbG9ja19pbmZvX3QgKmluZm8pCiB7Ci0jaWYgZGVmaW5lZChNU19XSU5ET1dTKQotICAgIHN0YXRpYyBVTE9OR0xPTkcgKCpHZXRUaWNrQ291bnQ2NCkgKHZvaWQpID0gTlVMTDsKLSAgICBzdGF0aWMgVUxPTkdMT05HIChDQUxMQkFDSyAqUHlfR2V0VGlja0NvdW50NjQpKHZvaWQpOwotICAgIHN0YXRpYyBpbnQgaGFzX2dldGlja2NvdW50NjQgPSAtMTsKLSAgICBkb3VibGUgcmVzdWx0OwotCi0gICAgaWYgKGhhc19nZXRpY2tjb3VudDY0ID09IC0xKSB7Ci0gICAgICAgIC8qIEdldFRpY2tDb3VudDY0KCkgd2FzIGFkZGVkIHRvIFdpbmRvd3MgVmlzdGEgKi8KLSAgICAgICAgaWYgKHdpbnZlci5kd01ham9yVmVyc2lvbiA+PSA2KSB7Ci0gICAgICAgICAgICBISU5TVEFOQ0UgaEtlcm5lbDMyOwotICAgICAgICAgICAgaEtlcm5lbDMyID0gR2V0TW9kdWxlSGFuZGxlVyhMIktFUk5FTDMyIik7Ci0gICAgICAgICAgICAqKEZBUlBST0MqKSZQeV9HZXRUaWNrQ291bnQ2NCA9IEdldFByb2NBZGRyZXNzKGhLZXJuZWwzMiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkdldFRpY2tDb3VudDY0Iik7Ci0gICAgICAgICAgICBoYXNfZ2V0aWNrY291bnQ2NCA9IChQeV9HZXRUaWNrQ291bnQ2NCAhPSBOVUxMKTsKLSAgICAgICAgfQotICAgICAgICBlbHNlCi0gICAgICAgICAgICBoYXNfZ2V0aWNrY291bnQ2NCA9IDA7Ci0gICAgfQotCi0gICAgaWYgKGhhc19nZXRpY2tjb3VudDY0KSB7Ci0gICAgICAgIFVMT05HTE9ORyB0aWNrczsKLSAgICAgICAgdGlja3MgPSBQeV9HZXRUaWNrQ291bnQ2NCgpOwotICAgICAgICByZXN1bHQgPSAoZG91YmxlKXRpY2tzICogMWUtMzsKLSAgICB9Ci0gICAgZWxzZSB7Ci0gICAgICAgIHN0YXRpYyBEV09SRCBsYXN0X3RpY2tzID0gMDsKLSAgICAgICAgc3RhdGljIERXT1JEIG5fb3ZlcmZsb3cgPSAwOwotICAgICAgICBEV09SRCB0aWNrczsKLQotICAgICAgICB0aWNrcyA9IEdldFRpY2tDb3VudCgpOwotICAgICAgICBpZiAodGlja3MgPCBsYXN0X3RpY2tzKQotICAgICAgICAgICAgbl9vdmVyZmxvdysrOwotICAgICAgICBsYXN0X3RpY2tzID0gdGlja3M7Ci0KLSAgICAgICAgcmVzdWx0ID0gbGRleHAobl9vdmVyZmxvdywgMzIpOwotICAgICAgICByZXN1bHQgKz0gdGlja3M7Ci0gICAgICAgIHJlc3VsdCAqPSAxZS0zOwotICAgIH0KLQotICAgIGlmIChpbmZvKSB7Ci0gICAgICAgIERXT1JEIHRpbWVBZGp1c3RtZW50LCB0aW1lSW5jcmVtZW50OwotICAgICAgICBCT09MIGlzVGltZUFkanVzdG1lbnREaXNhYmxlZCwgb2s7Ci0gICAgICAgIGlmIChoYXNfZ2V0aWNrY291bnQ2NCkKLSAgICAgICAgICAgIGluZm8tPmltcGxlbWVudGF0aW9uID0gIkdldFRpY2tDb3VudDY0KCkiOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICBpbmZvLT5pbXBsZW1lbnRhdGlvbiA9ICJHZXRUaWNrQ291bnQoKSI7Ci0gICAgICAgIGluZm8tPm1vbm90b25pYyA9IDE7Ci0gICAgICAgIG9rID0gR2V0U3lzdGVtVGltZUFkanVzdG1lbnQoJnRpbWVBZGp1c3RtZW50LCAmdGltZUluY3JlbWVudCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmaXNUaW1lQWRqdXN0bWVudERpc2FibGVkKTsKLSAgICAgICAgaWYgKCFvaykgewotICAgICAgICAgICAgUHlFcnJfU2V0RnJvbVdpbmRvd3NFcnIoMCk7Ci0gICAgICAgICAgICByZXR1cm4gTlVMTDsKLSAgICAgICAgfQotICAgICAgICBpbmZvLT5yZXNvbHV0aW9uID0gdGltZUluY3JlbWVudCAqIDFlLTc7Ci0gICAgICAgIGluZm8tPmFkanVzdGFibGUgPSAwOwotICAgIH0KLSAgICByZXR1cm4gUHlGbG9hdF9Gcm9tRG91YmxlKHJlc3VsdCk7Ci0KLSNlbGlmIGRlZmluZWQoX19BUFBMRV9fKQotICAgIHN0YXRpYyBtYWNoX3RpbWViYXNlX2luZm9fZGF0YV90IHRpbWViYXNlOwotICAgIHVpbnQ2NF90IHRpbWU7Ci0gICAgZG91YmxlIHNlY3M7Ci0KLSAgICBpZiAodGltZWJhc2UuZGVub20gPT0gMCkgewotICAgICAgICAvKiBBY2NvcmRpbmcgdG8gdGhlIFRlY2huaWNhbCBRJkEgUUExMzk4LCBtYWNoX3RpbWViYXNlX2luZm8oKSBjYW5ub3QKLSAgICAgICAgICAgZmFpbDogaHR0cHM6Ly9kZXZlbG9wZXIuYXBwbGUuY29tL2xpYnJhcnkvbWFjLyNxYS9xYTEzOTgvICovCi0gICAgICAgICh2b2lkKW1hY2hfdGltZWJhc2VfaW5mbygmdGltZWJhc2UpOwotICAgIH0KLQotICAgIHRpbWUgPSBtYWNoX2Fic29sdXRlX3RpbWUoKTsKLSAgICBzZWNzID0gKGRvdWJsZSl0aW1lICogdGltZWJhc2UubnVtZXIgLyB0aW1lYmFzZS5kZW5vbSAqIDFlLTk7Ci0gICAgaWYgKGluZm8pIHsKLSAgICAgICAgaW5mby0+aW1wbGVtZW50YXRpb24gPSAibWFjaF9hYnNvbHV0ZV90aW1lKCkiOwotICAgICAgICBpbmZvLT5yZXNvbHV0aW9uID0gKGRvdWJsZSl0aW1lYmFzZS5udW1lciAvIHRpbWViYXNlLmRlbm9tICogMWUtOTsKLSAgICAgICAgaW5mby0+bW9ub3RvbmljID0gMTsKLSAgICAgICAgaW5mby0+YWRqdXN0YWJsZSA9IDA7Ci0gICAgfQotICAgIHJldHVybiBQeUZsb2F0X0Zyb21Eb3VibGUoc2Vjcyk7Ci0KLSNlbGlmIGRlZmluZWQoSEFWRV9DTE9DS19HRVRUSU1FKSAmJiAoZGVmaW5lZChDTE9DS19ISUdIUkVTKSB8fCBkZWZpbmVkKENMT0NLX01PTk9UT05JQykpCi0gICAgc3RydWN0IHRpbWVzcGVjIHRwOwotI2lmZGVmIENMT0NLX0hJR0hSRVMKLSAgICBjb25zdCBjbG9ja2lkX3QgY2xrX2lkID0gQ0xPQ0tfSElHSFJFUzsKLSAgICBjb25zdCBjaGFyICpmdW5jdGlvbiA9ICJjbG9ja19nZXR0aW1lKENMT0NLX0hJR0hSRVMpIjsKLSNlbHNlCi0gICAgY29uc3QgY2xvY2tpZF90IGNsa19pZCA9IENMT0NLX01PTk9UT05JQzsKLSAgICBjb25zdCBjaGFyICpmdW5jdGlvbiA9ICJjbG9ja19nZXR0aW1lKENMT0NLX01PTk9UT05JQykiOwotI2VuZGlmCi0KLSAgICBpZiAoY2xvY2tfZ2V0dGltZShjbGtfaWQsICZ0cCkgIT0gMCkgewotICAgICAgICBQeUVycl9TZXRGcm9tRXJybm8oUHlFeGNfT1NFcnJvcik7CisgICAgX1B5VGltZV90aW1ldmFsIHR2OworICAgIGlmIChfUHlUaW1lX21vbm90b25pY19pbmZvKCZ0diwgaW5mbykgPCAwKSB7CisgICAgICAgIGFzc2VydChpbmZvICE9IE5VTEwpOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9Ci0KLSAgICBpZiAoaW5mbykgewotICAgICAgICBzdHJ1Y3QgdGltZXNwZWMgcmVzOwotICAgICAgICBpbmZvLT5tb25vdG9uaWMgPSAxOwotICAgICAgICBpbmZvLT5pbXBsZW1lbnRhdGlvbiA9IGZ1bmN0aW9uOwotICAgICAgICBpbmZvLT5hZGp1c3RhYmxlID0gMDsKLSAgICAgICAgaWYgKGNsb2NrX2dldHJlcyhjbGtfaWQsICZyZXMpID09IDApCi0gICAgICAgICAgICBpbmZvLT5yZXNvbHV0aW9uID0gcmVzLnR2X3NlYyArIHJlcy50dl9uc2VjICogMWUtOTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgaW5mby0+cmVzb2x1dGlvbiA9IDFlLTk7Ci0gICAgfQotICAgIHJldHVybiBQeUZsb2F0X0Zyb21Eb3VibGUodHAudHZfc2VjICsgdHAudHZfbnNlYyAqIDFlLTkpOwotI2VuZGlmCisgICAgcmV0dXJuIFB5RmxvYXRfRnJvbURvdWJsZSgoZG91YmxlKXR2LnR2X3NlYyArIHR2LnR2X3VzZWMgKiAxZS02KTsKIH0KIAogc3RhdGljIFB5T2JqZWN0ICoKQEAgLTEwMzEsNDAgKzkwNSwxNSBAQAogIm1vbm90b25pYygpIC0+IGZsb2F0XG5cCiBcblwKIE1vbm90b25pYyBjbG9jaywgY2Fubm90IGdvIGJhY2t3YXJkLiIpOwotI2VuZGlmICAgLyogUFlNT05PVE9OSUMgKi8KIAogc3RhdGljIFB5T2JqZWN0KgogcGVyZl9jb3VudGVyKF9QeV9jbG9ja19pbmZvX3QgKmluZm8pCiB7Ci0jaWYgZGVmaW5lZChXSU4zMl9QRVJGX0NPVU5URVIpIHx8IGRlZmluZWQoUFlNT05PVE9OSUMpCi0gICAgUHlPYmplY3QgKnJlczsKLSNlbmRpZgotI2lmIGRlZmluZWQoV0lOMzJfUEVSRl9DT1VOVEVSKQotICAgIHN0YXRpYyBpbnQgdXNlX3BlcmZfY291bnRlciA9IDE7Ci0jZW5kaWYKLSNpZmRlZiBQWU1PTk9UT05JQwotICAgIHN0YXRpYyBpbnQgdXNlX21vbm90b25pYyA9IDE7Ci0jZW5kaWYKLQogI2lmZGVmIFdJTjMyX1BFUkZfQ09VTlRFUgotICAgIGlmICh1c2VfcGVyZl9jb3VudGVyKSB7Ci0gICAgICAgIGlmICh3aW5fcGVyZl9jb3VudGVyKGluZm8sICZyZXMpID09IDApCi0gICAgICAgICAgICByZXR1cm4gcmVzOwotICAgICAgICB1c2VfcGVyZl9jb3VudGVyID0gMDsKLSAgICB9CisgICAgcmV0dXJuIHdpbl9wZXJmX2NvdW50ZXIoaW5mbyk7CisjZWxzZQorICAgIHJldHVybiBweW1vbm90b25pYyhpbmZvKTsKICNlbmRpZgotCi0jaWZkZWYgUFlNT05PVE9OSUMKLSAgICBpZiAodXNlX21vbm90b25pYykgewotICAgICAgICByZXMgPSBweW1vbm90b25pYyhpbmZvKTsKLSAgICAgICAgaWYgKHJlcyAhPSBOVUxMKQotICAgICAgICAgICAgcmV0dXJuIHJlczsKLSAgICAgICAgdXNlX21vbm90b25pYyA9IDA7Ci0gICAgICAgIFB5RXJyX0NsZWFyKCk7Ci0gICAgfQotI2VuZGlmCi0KLSAgICByZXR1cm4gZmxvYXR0aW1lKGluZm8pOwogfQogCiBzdGF0aWMgUHlPYmplY3QgKgpAQCAtMTIzMSwxMCArMTA4MCw4IEBACiAgICAgZWxzZSBpZiAoc3RyY21wKG5hbWUsICJjbG9jayIpID09IDApCiAgICAgICAgIG9iaiA9IHB5Y2xvY2soJmluZm8pOwogI2VuZGlmCi0jaWZkZWYgUFlNT05PVE9OSUMKICAgICBlbHNlIGlmIChzdHJjbXAobmFtZSwgIm1vbm90b25pYyIpID09IDApCiAgICAgICAgIG9iaiA9IHB5bW9ub3RvbmljKCZpbmZvKTsKLSNlbmRpZgogICAgIGVsc2UgaWYgKHN0cmNtcChuYW1lLCAicGVyZl9jb3VudGVyIikgPT0gMCkKICAgICAgICAgb2JqID0gcGVyZl9jb3VudGVyKCZpbmZvKTsKICAgICBlbHNlIGlmIChzdHJjbXAobmFtZSwgInByb2Nlc3NfdGltZSIpID09IDApCkBAIC0xNDI2LDkgKzEyNzMsNyBAQAogI2lmZGVmIEhBVkVfV09SS0lOR19UWlNFVAogICAgIHsidHpzZXQiLCAgICAgICAgICAgdGltZV90enNldCwgTUVUSF9OT0FSR1MsIHR6c2V0X2RvY30sCiAjZW5kaWYKLSNpZmRlZiBQWU1PTk9UT05JQwogICAgIHsibW9ub3RvbmljIiwgICAgICAgdGltZV9tb25vdG9uaWMsIE1FVEhfTk9BUkdTLCBtb25vdG9uaWNfZG9jfSwKLSNlbmRpZgogICAgIHsicHJvY2Vzc190aW1lIiwgICAgdGltZV9wcm9jZXNzX3RpbWUsIE1FVEhfTk9BUkdTLCBwcm9jZXNzX3RpbWVfZG9jfSwKICAgICB7InBlcmZfY291bnRlciIsICAgIHRpbWVfcGVyZl9jb3VudGVyLCBNRVRIX05PQVJHUywgcGVyZl9jb3VudGVyX2RvY30sCiAgICAgeyJnZXRfY2xvY2tfaW5mbyIsICB0aW1lX2dldF9jbG9ja19pbmZvLCBNRVRIX1ZBUkFSR1MsIGdldF9jbG9ja19pbmZvX2RvY30sCkBAIC0xNTEwLDE1ICsxMzU1LDYgQEAKICAgICAgICAgaWYgKFB5U3RydWN0U2VxdWVuY2VfSW5pdFR5cGUyKCZTdHJ1Y3RUaW1lVHlwZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZzdHJ1Y3RfdGltZV90eXBlX2Rlc2MpIDwgMCkKICAgICAgICAgICAgIHJldHVybiBOVUxMOwotCi0jaWZkZWYgTVNfV0lORE9XUwotICAgICAgICB3aW52ZXIuZHdPU1ZlcnNpb25JbmZvU2l6ZSA9IHNpemVvZih3aW52ZXIpOwotICAgICAgICBpZiAoIUdldFZlcnNpb25FeCgoT1NWRVJTSU9OSU5GTyopJndpbnZlcikpIHsKLSAgICAgICAgICAgIFB5X0RFQ1JFRihtKTsKLSAgICAgICAgICAgIFB5RXJyX1NldEZyb21XaW5kb3dzRXJyKDApOwotICAgICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgICAgIH0KLSNlbmRpZgogICAgIH0KICAgICBQeV9JTkNSRUYoJlN0cnVjdFRpbWVUeXBlKTsKICNpZmRlZiBIQVZFX1NUUlVDVF9UTV9UTV9aT05FCkBAIC0xNTM1LDI5ICsxMzcxLDEwIEBACiBmbG9hdHRpbWUoX1B5X2Nsb2NrX2luZm9fdCAqaW5mbykKIHsKICAgICBfUHlUaW1lX3RpbWV2YWwgdDsKLSNpZmRlZiBIQVZFX0NMT0NLX0dFVFRJTUUKLSAgICBzdHJ1Y3QgdGltZXNwZWMgdHA7Ci0gICAgaW50IHJldDsKLQotICAgIC8qIF9QeVRpbWVfZ2V0dGltZW9mZGF5KCkgZG9lcyBub3QgdXNlIGNsb2NrX2dldHRpbWUoKQotICAgICAgIGJlY2F1c2UgaXQgd291bGQgcmVxdWlyZSB0byBsaW5rIFB5dGhvbiB0byB0aGUgcnQgKHJlYWwtdGltZSkKLSAgICAgICBsaWJyYXJ5LCBhdCBsZWFzdCBvbiBMaW51eCAqLwotICAgIHJldCA9IGNsb2NrX2dldHRpbWUoQ0xPQ0tfUkVBTFRJTUUsICZ0cCk7Ci0gICAgaWYgKHJldCA9PSAwKSB7Ci0gICAgICAgIGlmIChpbmZvKSB7Ci0gICAgICAgICAgICBzdHJ1Y3QgdGltZXNwZWMgcmVzOwotICAgICAgICAgICAgaW5mby0+aW1wbGVtZW50YXRpb24gPSAiY2xvY2tfZ2V0dGltZShDTE9DS19SRUFMVElNRSkiOwotICAgICAgICAgICAgaW5mby0+bW9ub3RvbmljID0gMDsKLSAgICAgICAgICAgIGluZm8tPmFkanVzdGFibGUgPSAxOwotICAgICAgICAgICAgaWYgKGNsb2NrX2dldHJlcyhDTE9DS19SRUFMVElNRSwgJnJlcykgPT0gMCkKLSAgICAgICAgICAgICAgICBpbmZvLT5yZXNvbHV0aW9uID0gcmVzLnR2X3NlYyArIHJlcy50dl9uc2VjICogMWUtOTsKLSAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICBpbmZvLT5yZXNvbHV0aW9uID0gMWUtOTsKLSAgICAgICAgfQotICAgICAgICByZXR1cm4gUHlGbG9hdF9Gcm9tRG91YmxlKHRwLnR2X3NlYyArIHRwLnR2X25zZWMgKiAxZS05KTsKKyAgICBpZiAoX1B5VGltZV9nZXR0aW1lb2ZkYXlfaW5mbygmdCwgaW5mbykgPCAwKSB7CisgICAgICAgIGFzc2VydChpbmZvICE9IE5VTEwpOworICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9Ci0jZW5kaWYKLSAgICBfUHlUaW1lX2dldHRpbWVvZmRheV9pbmZvKCZ0LCBpbmZvKTsKICAgICByZXR1cm4gUHlGbG9hdF9Gcm9tRG91YmxlKChkb3VibGUpdC50dl9zZWMgKyB0LnR2X3VzZWMgKiAxZS02KTsKIH0KIApAQCAtMTU5MSw3ICsxNDA4LDcgQEAKICAgICAgICAgZWxzZQogI2VuZGlmCiAgICAgICAgIHsKLSAgICAgICAgICAgIFB5RXJyX1NldEZyb21FcnJubyhQeUV4Y19JT0Vycm9yKTsKKyAgICAgICAgICAgIFB5RXJyX1NldEZyb21FcnJubyhQeUV4Y19PU0Vycm9yKTsKICAgICAgICAgICAgIHJldHVybiAtMTsKICAgICAgICAgfQogICAgIH0KQEAgLTE2MjUsNyArMTQ0Miw3IEBACiAgICAgICAgICAgICBpZiAocmMgPT0gV0FJVF9PQkpFQ1RfMCkgewogICAgICAgICAgICAgICAgIFB5X0JMT0NLX1RIUkVBRFMKICAgICAgICAgICAgICAgICBlcnJubyA9IEVJTlRSOwotICAgICAgICAgICAgICAgIFB5RXJyX1NldEZyb21FcnJubyhQeUV4Y19JT0Vycm9yKTsKKyAgICAgICAgICAgICAgICBQeUVycl9TZXRGcm9tRXJybm8oUHlFeGNfT1NFcnJvcik7CiAgICAgICAgICAgICAgICAgcmV0dXJuIC0xOwogICAgICAgICAgICAgfQogICAgICAgICB9CmRpZmYgLS1naXQgYS9Nb2R1bGVzL3RrYXBwaW5pdC5jIGIvTW9kdWxlcy90a2FwcGluaXQuYwppbmRleCAyZWQ4NTk0Li43NjE2ZDlkIDEwMDY0NAotLS0gYS9Nb2R1bGVzL3RrYXBwaW5pdC5jCisrKyBiL01vZHVsZXMvdGthcHBpbml0LmMKQEAgLTI2LDkgKzI2LDYgQEAKIGludAogVGNsX0FwcEluaXQoVGNsX0ludGVycCAqaW50ZXJwKQogewotI2lmZGVmIFdJVEhfTU9SRUJVVFRPTlMKLSAgICBUa19XaW5kb3cgbWFpbl93aW5kb3c7Ci0jZW5kaWYKICAgICBjb25zdCBjaGFyICpfdGtpbnRlcl9za2lwX3RrX2luaXQ7CiAjaWZkZWYgVEtJTlRFUl9QUk9URUNUX0xPQURUSwogICAgIGNvbnN0IGNoYXIgKl90a2ludGVyX3RrX2ZhaWxlZDsKQEAgLTExMywyOSArMTEwLDEzIEBACiAgICAgICAgIHJldHVybiBUQ0xfRVJST1I7CiAgICAgfQogCi0jaWZkZWYgV0lUSF9NT1JFQlVUVE9OUwotICAgIG1haW5fd2luZG93ID0gVGtfTWFpbldpbmRvdyhpbnRlcnApOwotI2Vsc2UKICAgICBUa19NYWluV2luZG93KGludGVycCk7Ci0jZW5kaWYKIAogI2lmZGVmIFRLX0FRVUEKICAgICBUa01hY09TWEluaXRBcHBsZUV2ZW50cyhpbnRlcnApOwogICAgIFRrTWFjT1NYSW5pdE1lbnVzKGludGVycCk7CiAjZW5kaWYKIAotI2lmZGVmIFdJVEhfTU9SRUJVVFRPTlMKLSAgICB7Ci0gICAgICAgIGV4dGVybiBUY2xfQ21kUHJvYyBzdHVkQnV0dG9uQ21kOwotICAgICAgICBleHRlcm4gVGNsX0NtZFByb2MgdHJpQnV0dG9uQ21kOwotCi0gICAgICAgIFRjbF9DcmVhdGVDb21tYW5kKGludGVycCwgInN0dWRidXR0b24iLCBzdHVkQnV0dG9uQ21kLAotICAgICAgICAgICAgICAgICAgICAgICAgICAoQ2xpZW50RGF0YSkgbWFpbl93aW5kb3csIE5VTEwpOwotICAgICAgICBUY2xfQ3JlYXRlQ29tbWFuZChpbnRlcnAsICJ0cmlidXR0b24iLCB0cmlCdXR0b25DbWQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIChDbGllbnREYXRhKSBtYWluX3dpbmRvdywgTlVMTCk7Ci0gICAgfQotI2VuZGlmCi0KICNpZmRlZiBXSVRIX1BJTCAvKiAwLjJiNSBhbmQgbGF0ZXIgLS0gbm90IHlldCByZWxlYXNlZCBhcyBvZiBNYXkgMTQgKi8KICAgICB7CiAgICAgICAgIGV4dGVybiB2b2lkIFRrSW1hZ2luZ19Jbml0KFRjbF9JbnRlcnAgKik7CmRpZmYgLS1naXQgYS9Nb2R1bGVzL3VuaWNvZGVkYXRhX2RiLmggYi9Nb2R1bGVzL3VuaWNvZGVkYXRhX2RiLmgKaW5kZXggZWMxMWZhMS4uYTc5MTMyZiAxMDA2NDQKLS0tIGEvTW9kdWxlcy91bmljb2RlZGF0YV9kYi5oCisrKyBiL01vZHVsZXMvdW5pY29kZWRhdGFfZGIuaApAQCAtMSw2ICsxLDYgQEAKIC8qIHRoaXMgZmlsZSB3YXMgZ2VuZXJhdGVkIGJ5IFRvb2xzL3VuaWNvZGUvbWFrZXVuaWNvZGVkYXRhLnB5IDMuMiAqLwogCi0jZGVmaW5lIFVOSURBVEFfVkVSU0lPTiAiNi4zLjAiCisjZGVmaW5lIFVOSURBVEFfVkVSU0lPTiAiNy4wLjAiCiAvKiBhIGxpc3Qgb2YgdW5pcXVlIGRhdGFiYXNlIHJlY29yZHMgKi8KIGNvbnN0IF9QeVVuaWNvZGVfRGF0YWJhc2VSZWNvcmQgX1B5VW5pY29kZV9EYXRhYmFzZV9SZWNvcmRzW10gPSB7CiAgICAgezAsIDAsIDAsIDAsIDAsIDB9LApAQCAtMzIzLDcgKzMyMyw5IEBACiAgICAgezI3LCAwLCAxOSwgMCwgMSwgMTM2fSwKICAgICB7MTQsIDAsIDE5LCAwLCA1LCAwfSwKICAgICB7OCwgMCwgMTksIDAsIDUsIDB9LAorICAgIHs5LCAwLCA5LCAwLCA1LCAwfSwKICAgICB7OSwgMCwgNCwgMCwgNSwgMH0sCisgICAgezMwLCAwLCA0LCAwLCA1LCAwfSwKICAgICB7OSwgMCwgMTIsIDAsIDUsIDB9LAogICAgIHszMCwgMCwgMSwgMCwgNSwgMTcwfSwKICAgICB7NSwgMjE2LCAxLCAwLCA1LCAwfSwKQEAgLTMzNSw4ICszMzcsOCBAQAogfTsKIAogLyogUmVpbmRleGluZyBvZiBORkMgZmlyc3QgY2hhcmFjdGVycy4gKi8KLSNkZWZpbmUgVE9UQUxfRklSU1QgMzcyCi0jZGVmaW5lIFRPVEFMX0xBU1QgNTYKKyNkZWZpbmUgVE9UQUxfRklSU1QgMzc2CisjZGVmaW5lIFRPVEFMX0xBU1QgNjIKIHN0cnVjdCByZWluZGV4e2ludCBzdGFydDtzaG9ydCBjb3VudCxpbmRleDt9Owogc3RhdGljIHN0cnVjdCByZWluZGV4IG5mY19maXJzdFtdID0gewogICB7IDYwLCAyLCAwfSwKQEAgLTU0Niw2ICs1NDgsOSBAQAogICB7IDY5Nzg3LCAwLCAzNjh9LAogICB7IDY5Nzk3LCAwLCAzNjl9LAogICB7IDY5OTM3LCAxLCAzNzB9LAorICB7IDcwNDcxLCAwLCAzNzJ9LAorICB7IDcwODQxLCAwLCAzNzN9LAorICB7IDcxMDk2LCAxLCAzNzR9LAogICB7MCwwLDB9CiB9OwogCkBAIC01ODMsNiArNTg4LDEyIEBACiAgIHsgMTI0NDEsIDEsIDUyfSwKICAgeyA2OTgxOCwgMCwgNTR9LAogICB7IDY5OTI3LCAwLCA1NX0sCisgIHsgNzA0NjIsIDAsIDU2fSwKKyAgeyA3MDQ4NywgMCwgNTd9LAorICB7IDcwODMyLCAwLCA1OH0sCisgIHsgNzA4NDIsIDAsIDU5fSwKKyAgeyA3MDg0NSwgMCwgNjB9LAorICB7IDcxMDg3LCAwLCA2MX0sCiAgIHswLDAsMH0KIH07CiAKQEAgLTcxNCwzNiArNzI1LDQzIEBACiAgICAgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIAogICAgIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAKICAgICAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMiwgMTIyLCAxMjMsIDEyNCwgCi0gICAgMTI1LCAxMjYsIDEyNywgMTI3LCAxMjgsIDEyOSwgMTMwLCAxMzEsIDEzMiwgMTMzLCAxMzQsIDEzNSwgMTM2LCAxMzcsIDg0LCAKLSAgICAxMzgsIDEzOSwgMTQwLCAxNDEsIDE0MiwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgMTQzLCA4NCwgMTQ0LCAxNDUsIDE0NiwgCi0gICAgODQsIDE0NywgODQsIDE0OCwgODQsIDg0LCA4NCwgMTQ5LCA4NCwgODQsIDg0LCAxNTAsIDE1MSwgMTUyLCAxNTMsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDE1NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCi0gICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgNDEsIDQxLCA0MSwgNDEsIDQxLCA0MSwgMTU1LCA4NCwgMTU2LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDQxLCA0MSwgNDEsIDQxLCA0MSwgNDEsIDQxLCA0MSwgMTU3LCA4NCwgODQsIDg0LCA4NCwgCi0gICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCi0gICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCi0gICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCi0gICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCi0gICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCi0gICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgNDEsIDQxLCA0MSwgNDEsIDE1OCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgMTU5LCAxNjAsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCi0gICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCi0gICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCi0gICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCi0gICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCi0gICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCi0gICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCi0gICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgMTYxLCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA3OCwgMTYyLCAxNjMsIDE2NCwgMTY1LCA4NCwgMTY2LCA4NCwgMTY3LCAxNjgsIDE2OSwgMTcwLCAxNzEsIDE3MiwgCi0gICAgMTczLCAxNzQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgMTc1LCAxNzYsIDg0LCA4NCwgMTc3LCAxNzgsIDE3OSwgCi0gICAgMTgwLCAxODEsIDg0LCAxODIsIDE4MywgMTg0LCAxODUsIDE4NiwgMTg3LCAxODgsIDE4OSwgMTkwLCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDEwMSwgMTAxLCAxMDEsIAorICAgIDEyNSwgMTI2LCAxMjcsIDEyNywgMTI4LCAxMjksIDEzMCwgMTMxLCAxMzIsIDEzMywgMTM0LCAxMzUsIDEzNiwgMTM3LCAKKyAgICAxMzgsIDEzOSwgMTQwLCAxNDEsIDE0MiwgMTQzLCAxNDQsIDEzOCwgNDEsIDQxLCAxNDUsIDEzOCwgMTQ2LCAxNDcsIDE0OCwgCisgICAgMTQ5LCAxNTAsIDE1MSwgMTUyLCAxNTMsIDE1NCwgMTM4LCAxMzgsIDEzOCwgMTU1LCAxMzgsIDEzOCwgMTM4LCAxNTYsIAorICAgIDE1NywgMTU4LCAxNTksIDE2MCwgMTYxLCAxNjIsIDEzOCwgMTM4LCAxNjMsIDEzOCwgMTY0LCAxNjUsIDE2NiwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTY3LCAxMzgsIDEzOCwgMTM4LCAxNjgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgNDEsIDQxLCA0MSwgNDEsIDQxLCA0MSwgNDEsIDE2OSwgMTcwLCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgNDEsIDQxLCA0MSwgNDEsIDQxLCA0MSwgNDEsIDQxLCAxNzEsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgNDEsIDQxLCA0MSwgNDEsIDE3MiwgMTczLCAxNzQsIDE3NSwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTc2LCAxNzcsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxNzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxNzksIDE4MCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDc4LCAKKyAgICAxODEsIDE4MiwgMTgzLCAxODQsIDEzOCwgMTg1LCAxMzgsIDE4NiwgMTg3LCAxODgsIDE4OSwgMTkwLCAxOTEsIDE5MiwgCisgICAgMTkzLCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTk0LCAxOTUsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTk2LCAxOTcsIDEzOCwgMTM4LCAxOTgsIDE5OSwgMjAwLCAyMDEsIDIwMiwgMTM4LCAyMDMsIAorICAgIDIwNCwgMjA1LCAyMDYsIDIwNywgMjA4LCAyMDksIDIxMCwgMjExLCAyMTIsIDIxMywgMjE0LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTAxLCAxMDEsIDEwMSwgCiAgICAgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIAogICAgIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAKICAgICAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgCkBAIC03NjcsMzU5ICs3ODUsNDU5IEBACiAgICAgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIAogICAgIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAKICAgICAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgCi0gICAgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDE5MSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIAorICAgIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAyMTUsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAKICAgICAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgCi0gICAgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxOTIsIAotICAgIDEwMSwgMTkzLCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCi0gICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCi0gICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCi0gICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCi0gICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCi0gICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCi0gICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCi0gICAgODQsIDg0LCA4NCwgMTIyLCAxMjIsIDEyMiwgMTIyLCAxOTQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDE5NSwgODQsIDE5NiwgMTk3LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCi0gICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCi0gICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCi0gICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCi0gICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCi0gICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCi0gICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCi0gICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCi0gICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCi0gICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCi0gICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCi0gICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCi0gICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCi0gICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCi0gICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCi0gICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCi0gICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCi0gICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCi0gICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCi0gICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCi0gICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCi0gICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCi0gICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCi0gICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCi0gICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCi0gICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCi0gICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCi0gICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCi0gICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAKKyAgICAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDIxNiwgCisgICAgMTAxLCAyMTcsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTIyLCAxMjIsIDEyMiwgMTIyLCAyMTgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDIxOSwgMTM4LCAyMjAsIDIyMSwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgCiAgICAgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIAogICAgIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAKICAgICAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgCkBAIC0xMTU1LDggKzEyNzMsOCBAQAogICAgIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAKICAgICAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgCiAgICAgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIAorICAgIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMjIyLCAxMjEsIDEyMSwgMTIxLCAKICAgICAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgCi0gICAgMTk4LCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIAogICAgIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAKICAgICAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgCiAgICAgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIApAQCAtMTE5Miw3ICsxMzEwLDcgQEAKICAgICAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgCiAgICAgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIAogICAgIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAKLSAgICAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTk4LCAKKyAgICAxMjEsIDEyMSwgMTIxLCAxMjEsIDIyMiwgCiB9OwogCiBzdGF0aWMgdW5zaWduZWQgc2hvcnQgaW5kZXgyW10gPSB7CkBAIC0xMjQ0LDcgKzEzNjIsNyBAQAogICAgIDY5LCA1OSwgNjksIDY5LCA3MCwgNjAsIDYyLCA2MiwgNjIsIDYwLCA2MCwgNjAsIDYyLCA2MiwgNzEsIDYwLCA2MCwgNjAsIAogICAgIDYyLCA2MiwgNjIsIDYyLCA2MCwgNjEsIDYyLCA2MiwgNjAsIDcyLCA3MywgNzMsIDcyLCA3MywgNzMsIDcyLCA2MCwgNjAsIAogICAgIDYwLCA2MCwgNjAsIDYwLCA2MCwgNjAsIDYwLCA2MCwgNjAsIDYwLCA2MCwgNDQsIDQ3LCA0NCwgNDcsIDc0LCA1NCwgNDQsIAotICAgIDQ3LCAwLCAwLCA1MSwgNDcsIDQ3LCA0NywgNzUsIDAsIDAsIDAsIDAsIDAsIDU4LCA3NiwgMzgsIDc1LCAzOCwgMzgsIDM4LCAKKyAgICA0NywgMCwgMCwgNTEsIDQ3LCA0NywgNDcsIDc1LCA0NCwgMCwgMCwgMCwgMCwgNTgsIDc2LCAzOCwgNzUsIDM4LCAzOCwgMzgsIAogICAgIDAsIDM4LCAwLCAzOCwgMzgsIDQzLCAzOSwgMzksIDM5LCAzOSwgMzksIDM5LCAzOSwgMzksIDM5LCAzOSwgMzksIDM5LCAzOSwgCiAgICAgMzksIDM5LCAzOSwgMzksIDAsIDM5LCAzOSwgMzksIDM5LCAzOSwgMzksIDM5LCAzOCwgMzgsIDQzLCA0MywgNDMsIDQzLCAKICAgICA0MywgNDEsIDQxLCA0MSwgNDEsIDQxLCA0MSwgNDEsIDQxLCA0MSwgNDEsIDQxLCA0MSwgNDEsIDQxLCA0MSwgNDEsIDQxLCAKQEAgLTEyNjcsMTUzICsxMzg1LDE1NCBAQAogICAgIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDQ0LCA0NywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIAogICAgIDM4LCA0MywgNDQsIDQ3LCAzOCwgNDMsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIAogICAgIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIAotICAgIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIAorICAgIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIAorICAgIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDAsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgCiAgICAgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgCi0gICAgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgMCwgMCwgNTMsIDgzLCA4MywgODMsIDgzLCA4MywgODMsIDAsIDQ3LCA0NywgNDcsIAorICAgIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDAsIDAsIDUzLCA4MywgODMsIDgzLCA4MywgODMsIDgzLCAwLCAKICAgICA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCAKLSAgICA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDM1LCAKLSAgICAwLCA4MywgODQsIDAsIDAsIDAsIDAsIDg1LCAwLCA4NiwgODEsIDgxLCA4MSwgODEsIDg2LCA4MSwgODEsIDgxLCA4NywgODYsIAotICAgIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDg2LCA4NiwgODYsIDg2LCA4NiwgODYsIDgxLCA4MSwgODYsIDgxLCA4MSwgODcsIAotICAgIDg4LCA4MSwgODksIDkwLCA5MSwgOTIsIDkzLCA5NCwgOTUsIDk2LCA5NywgOTgsIDk4LCA5OSwgMTAwLCAxMDEsIDEwMiwgCi0gICAgMTAzLCAxMDQsIDEwNSwgMTA2LCAxMDQsIDgxLCA4NiwgMTA0LCA5NywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTA3LCAKLSAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCi0gICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMCwgMCwgMCwgMCwgCi0gICAgMCwgMTA3LCAxMDcsIDEwNywgMTA0LCAxMDQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEwOCwgMTA4LCAKLSAgICAxMDgsIDEwOCwgMTA4LCAwLCA3OCwgNzgsIDEwOSwgMTEwLCAxMTAsIDExMSwgMTEyLCAxMTMsIDI2LCAyNiwgODEsIDgxLCAKLSAgICA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCAxMTQsIDExNSwgMTE2LCAxMTMsIDExNywgMCwgMTEzLCAxMTMsIDExOCwgMTE4LCAKLSAgICAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgCi0gICAgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIAotICAgIDExOCwgMTE4LCAxMjAsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTIxLCAKLSAgICAxMjIsIDEyMywgMTE0LCAxMTUsIDExNiwgMTI0LCAxMjUsIDEyNiwgMTI2LCAxMjcsIDg2LCA4MSwgODEsIDgxLCA4MSwgODEsIAotICAgIDg2LCA4MSwgODEsIDg2LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDExMCwgCi0gICAgMTI5LCAxMjksIDExMywgMTE4LCAxMTgsIDEzMCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMzEsIDEzMSwgMTMxLCAxMzEsIAotICAgIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAKLSAgICAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgCi0gICAgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIAotICAgIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAKLSAgICAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgCi0gICAgMTE4LCAxMTksIDExOCwgMTE5LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIAotICAgIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOSwgMTEzLCAxMTgsIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCAKLSAgICAxMDgsIDI2LCA4MSwgODEsIDgxLCA4MSwgODYsIDgxLCAxMjAsIDEyMCwgODEsIDgxLCAyNiwgODYsIDgxLCA4MSwgODYsIAotICAgIDExOCwgMTE4LCAxMzIsIDEzMiwgMTMyLCAxMzIsIDEzMiwgMTMyLCAxMzIsIDEzMiwgMTMyLCAxMzIsIDExOCwgMTE4LCAKLSAgICAxMTgsIDEzMywgMTMzLCAxMTgsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgCi0gICAgMTEzLCAxMTMsIDExMywgMTEzLCAwLCAxMTcsIDExOCwgMTM0LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIAotICAgIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAKLSAgICAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCA4MSwgODYsIDgxLCA4MSwgODYsIDgxLCA4MSwgCi0gICAgODYsIDg2LCA4NiwgODEsIDg2LCA4NiwgODEsIDg2LCA4MSwgODEsIDgxLCA4NiwgODEsIDg2LCA4MSwgODYsIDgxLCA4NiwgCi0gICAgODEsIDgxLCAwLCAwLCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAKLSAgICAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgCi0gICAgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIAotICAgIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAKLSAgICAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgCi0gICAgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIAotICAgIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAKLSAgICAxMzUsIDEzNSwgMTM1LCAxMzUsIDExOCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTM2LCAKLSAgICAxMzYsIDEzNiwgMTM2LCAxMzYsIDEzNiwgMTM2LCAxMzYsIDEzNiwgMTM2LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCi0gICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIAotICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCA4MSwgCi0gICAgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgODYsIDgxLCAxMzcsIDEzNywgMjYsIDEzOCwgMTM4LCAxMzgsIDEzNywgMCwgMCwgCisgICAgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgCisgICAgNDcsIDQ3LCAzNSwgMCwgODMsIDg0LCAwLCAwLCAyNiwgMjYsIDg1LCAwLCA4NiwgODEsIDgxLCA4MSwgODEsIDg2LCA4MSwgCisgICAgODEsIDgxLCA4NywgODYsIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDg2LCA4NiwgODYsIDg2LCA4NiwgODYsIDgxLCA4MSwgCisgICAgODYsIDgxLCA4MSwgODcsIDg4LCA4MSwgODksIDkwLCA5MSwgOTIsIDkzLCA5NCwgOTUsIDk2LCA5NywgOTgsIDk4LCA5OSwgCisgICAgMTAwLCAxMDEsIDEwMiwgMTAzLCAxMDQsIDEwNSwgMTA2LCAxMDQsIDgxLCA4NiwgMTA0LCA5NywgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAKLSAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCA4MSwgODEsIDgxLCA4MSwgMTM3LCA4MSwgODEsIAotICAgIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCAxMzcsIDgxLCA4MSwgODEsIDEzNywgODEsIDgxLCA4MSwgODEsIDgxLCAwLCAKLSAgICAwLCAxMDQsIDEwNCwgMTA0LCAxMDQsIDEwNCwgMTA0LCAxMDQsIDEwNCwgMTA0LCAxMDQsIDEwNCwgMTA0LCAxMDQsIDEwNCwgCi0gICAgMTA0LCAwLCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIAotICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDg2LCA4NiwgODYsIAotICAgIDAsIDAsIDEwNCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDAsIAorICAgIDAsIDAsIDAsIDAsIDEwNywgMTA3LCAxMDcsIDEwNCwgMTA0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAxMDgsIDEwOCwgMTA4LCAxMDgsIDEwOCwgMTA4LCA3OCwgNzgsIDEwOSwgMTEwLCAxMTAsIDExMSwgMTEyLCAxMTMsIDI2LCAKKyAgICAyNiwgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCAxMTQsIDExNSwgMTE2LCAxMTMsIDExNywgMCwgMTEzLCAxMTMsIAorICAgIDExOCwgMTE4LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAKKyAgICAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgCisgICAgMTE4LCAxMTgsIDExOCwgMTE4LCAxMjAsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIAorICAgIDExOCwgMTIxLCAxMjIsIDEyMywgMTE0LCAxMTUsIDExNiwgMTI0LCAxMjUsIDEyNiwgMTI2LCAxMjcsIDg2LCA4MSwgODEsIAorICAgIDgxLCA4MSwgODEsIDg2LCA4MSwgODEsIDg2LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAKKyAgICAxMjgsIDExMCwgMTI5LCAxMjksIDExMywgMTE4LCAxMTgsIDEzMCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMzEsIDEzMSwgCisgICAgMTMxLCAxMzEsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIAorICAgIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAKKyAgICAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgCisgICAgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIAorICAgIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAKKyAgICAxMTgsIDExOCwgMTE4LCAxMTksIDExOCwgMTE5LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgCisgICAgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOSwgMTEzLCAxMTgsIDgxLCA4MSwgODEsIDgxLCAKKyAgICA4MSwgODEsIDgxLCAxMDgsIDI2LCA4MSwgODEsIDgxLCA4MSwgODYsIDgxLCAxMjAsIDEyMCwgODEsIDgxLCAyNiwgODYsIAorICAgIDgxLCA4MSwgODYsIDExOCwgMTE4LCAxMzIsIDEzMiwgMTMyLCAxMzIsIDEzMiwgMTMyLCAxMzIsIDEzMiwgMTMyLCAxMzIsIAorICAgIDExOCwgMTE4LCAxMTgsIDEzMywgMTMzLCAxMTgsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAKKyAgICAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAwLCAxMTcsIDExOCwgMTM0LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgCisgICAgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIAorICAgIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCA4MSwgODYsIDgxLCA4MSwgCisgICAgODYsIDgxLCA4MSwgODYsIDg2LCA4NiwgODEsIDg2LCA4NiwgODEsIDg2LCA4MSwgODEsIDgxLCA4NiwgODEsIDg2LCA4MSwgCisgICAgODYsIDgxLCA4NiwgODEsIDgxLCAwLCAwLCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAKKyAgICAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgCisgICAgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIAorICAgIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAKKyAgICAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgCisgICAgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIAorICAgIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTM1LCAxMzUsIDEzNSwgMTM1LCAKKyAgICAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDExOCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMTM2LCAxMzYsIDEzNiwgMTM2LCAxMzYsIDEzNiwgMTM2LCAxMzYsIDEzNiwgMTM2LCAxMDcsIDEwNywgMTA3LCAKKyAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCisgICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIAorICAgIDEwNywgMTA3LCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgODYsIDgxLCAxMzcsIDEzNywgMjYsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzNywgMCwgMCwgMCwgMCwgMCwgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCisgICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCA4MSwgODEsIAorICAgIDgxLCA4MSwgMTM3LCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCAxMzcsIDgxLCA4MSwgODEsIDEzNywgCisgICAgODEsIDgxLCA4MSwgODEsIDgxLCAwLCAwLCAxMDQsIDEwNCwgMTA0LCAxMDQsIDEwNCwgMTA0LCAxMDQsIDEwNCwgMTA0LCAKKyAgICAxMDQsIDEwNCwgMTA0LCAxMDQsIDEwNCwgMTA0LCAwLCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCisgICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIAorICAgIDEwNywgMTA3LCAxMDcsIDg2LCA4NiwgODYsIDAsIDAsIDEwNCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTE4LCAwLCAxMTgsIAotICAgIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgODEsIAotICAgIDgxLCA4NiwgODEsIDgxLCA4NiwgODEsIDgxLCA4MSwgODYsIDg2LCA4NiwgMTIxLCAxMjIsIDEyMywgODEsIDgxLCA4MSwgCi0gICAgODYsIDgxLCA4MSwgODYsIDg2LCA4MSwgODEsIDgxLCA4MSwgMCwgMTM1LCAxMzUsIDEzNSwgMTM5LCA0OCwgNDgsIDQ4LCAKKyAgICAwLCAwLCAwLCAwLCAwLCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgCisgICAgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDgxLCA4MSwgODYsIDgxLCA4MSwgODYsIDgxLCA4MSwgCisgICAgODEsIDg2LCA4NiwgODYsIDEyMSwgMTIyLCAxMjMsIDgxLCA4MSwgODEsIDg2LCA4MSwgODEsIDg2LCA4NiwgODEsIDgxLCAKKyAgICA4MSwgODEsIDgxLCAxMzUsIDEzNSwgMTM1LCAxMzksIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKICAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMTQwLCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMTQwLCA0OCwgNDgsIDE0MCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAxMzUsIDEzOSwgCi0gICAgMTQxLCA0OCwgMTM5LCAxMzksIDEzOSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzOSwgMTM5LCAKLSAgICAxMzksIDEzOSwgMTQyLCAxMzksIDEzOSwgNDgsIDgxLCA4NiwgODEsIDgxLCAxMzUsIDEzNSwgMTM1LCAxNDMsIDE0MywgCi0gICAgMTQzLCAxNDMsIDE0MywgMTQzLCAxNDMsIDE0MywgNDgsIDQ4LCAxMzUsIDEzNSwgODMsIDgzLCAxNDQsIDE0NCwgMTQ0LCAKLSAgICAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDgzLCA1MywgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDEzNSwgMTM5LCAxMzksIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgMCwgMCwgNDgsIDQ4LCAwLCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIAotICAgIDQ4LCAwLCAwLCAwLCA0OCwgNDgsIDQ4LCA0OCwgMCwgMCwgMTQ1LCA0OCwgMTQ2LCAxMzksIDEzOSwgMTM1LCAxMzUsIDEzNSwgCi0gICAgMTM1LCAwLCAwLCAxMzksIDEzOSwgMCwgMCwgMTQ3LCAxNDcsIDE0MiwgNDgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDE0NiwgMCwgMCwgMCwgMCwgMTQzLCAxNDMsIDAsIDE0MywgNDgsIDQ4LCAxMzUsIDEzNSwgMCwgMCwgMTQ0LCAxNDQsIDE0NCwgCi0gICAgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCA0OCwgNDgsIDg1LCA4NSwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAKLSAgICAxNDgsIDE0OCwgODAsIDg1LCAwLCAwLCAwLCAwLCAwLCAxMzUsIDEzNSwgMTM5LCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCAwLCAwLCAwLCAwLCA0OCwgNDgsIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgMCwgNDgsIDE0MywgMCwgNDgsIDE0MywgMCwgNDgsIDQ4LCAwLCAwLCAxNDUsIDAsIDEzOSwgMTM5LCAxMzksIDEzNSwgCi0gICAgMTM1LCAwLCAwLCAwLCAwLCAxMzUsIDEzNSwgMCwgMCwgMTM1LCAxMzUsIDE0MiwgMCwgMCwgMCwgMTM1LCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAxNDMsIDE0MywgMTQzLCA0OCwgMCwgMTQzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNDQsIDE0NCwgMTQ0LCAKLSAgICAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDEzNSwgMTM1LCA0OCwgNDgsIDQ4LCAxMzUsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEzNSwgMTM1LCAxMzksIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDAsIDQ4LCA0OCwgNDgsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgNDgsIAotICAgIDQ4LCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDAsIDE0NSwgNDgsIDEzOSwgMTM5LCAxMzksIDEzNSwgMTM1LCAxMzUsIAotICAgIDEzNSwgMTM1LCAwLCAxMzUsIDEzNSwgMTM5LCAwLCAxMzksIDEzOSwgMTQyLCAwLCAwLCA0OCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDgsIDQ4LCAxMzUsIDEzNSwgMCwgMCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAKLSAgICAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCA4MywgODUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDEzNSwgMTM5LCAxMzksIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgMCwgNDgsIDQ4LCAKLSAgICAwLCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDQ4LCA0OCwgMCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCAwLCAwLCAxNDUsIDQ4LCAxNDYsIDEzNSwgMTM5LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDAsIDAsIDEzOSwgCi0gICAgMTQ3LCAwLCAwLCAxNDcsIDE0NywgMTQyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNDksIDE0NiwgMCwgMCwgMCwgMCwgCi0gICAgMTQzLCAxNDMsIDAsIDQ4LCA0OCwgNDgsIDEzNSwgMTM1LCAwLCAwLCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAKLSAgICAxNDQsIDE0NCwgMTQ0LCAxNDQsIDgwLCA0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMTM1LCA0OCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgMCwgMCwgNDgsIDQ4LCA0OCwgCi0gICAgMCwgNDgsIDQ4LCAxNDAsIDQ4LCAwLCAwLCAwLCA0OCwgNDgsIDAsIDQ4LCAwLCA0OCwgNDgsIDAsIDAsIDAsIDQ4LCA0OCwgCi0gICAgMCwgMCwgMCwgNDgsIDQ4LCA0OCwgMCwgMCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgMCwgMCwgMCwgMCwgMTQ2LCAxMzksIDEzNSwgMTM5LCAxMzksIDAsIDAsIDAsIDEzOSwgMTM5LCAxMzksIDAsIDE0NywgCi0gICAgMTQ3LCAxNDcsIDE0MiwgMCwgMCwgNDgsIDAsIDAsIDAsIDAsIDAsIDAsIDE0NiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDgsIAotICAgIDE0OCwgMTQ4LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCA4NSwgMjYsIDAsIDAsIDAsIDAsIDAsIDAsIDEzOSwgMTM5LCAKLSAgICAxMzksIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgNDgsIDQ4LCA0OCwgMCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDE0MCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDE0MCwgCisgICAgNDgsIDQ4LCAxNDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMTM1LCAxMzksIDE0MSwgNDgsIDEzOSwgMTM5LCAxMzksIDEzNSwgCisgICAgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzksIDEzOSwgMTM5LCAxMzksIDE0MiwgMTM5LCAxMzksIDQ4LCAKKyAgICA4MSwgODYsIDgxLCA4MSwgMTM1LCAxMzUsIDEzNSwgMTQzLCAxNDMsIDE0MywgMTQzLCAxNDMsIDE0MywgMTQzLCAxNDMsIAorICAgIDQ4LCA0OCwgMTM1LCAxMzUsIDgzLCA4MywgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgCisgICAgMTQ0LCA4MywgNTMsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDEzNSwgMTM5LCAxMzksIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgMCwgNDgsIDQ4LCAwLCAwLCA0OCwgCiAgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIAotICAgIDAsIDAsIDQ4LCAxMzUsIDEzNSwgMTM1LCAxMzksIDEzOSwgMTM5LCAxMzksIDAsIDEzNSwgMTM1LCAxNTAsIDAsIDEzNSwgCi0gICAgMTM1LCAxMzUsIDE0MiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTUxLCAxNTIsIDAsIDQ4LCA0OCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgNDgsIDQ4LCAxMzUsIDEzNSwgMCwgMCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgCi0gICAgMTQ0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNTMsIDE1MywgMTUzLCAxNTMsIDE1MywgMTUzLCAxNTMsIDgwLCAwLCAwLCAKLSAgICAxMzksIDEzOSwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCA0OCwgNDgsIDQ4LCAwLCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCA0OCwgMCwgMCwgMCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDAsIDAsIDE0NSwgNDgsIDE0NiwgMTM5LCAxMzksIDEzNSwgMTM1LCAxMzUsIDEzNSwgMCwgMCwgMTM5LCAxMzksIDAsIAorICAgIDAsIDE0NywgMTQ3LCAxNDIsIDQ4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNDYsIDAsIDAsIDAsIDAsIDE0MywgMTQzLCAKKyAgICAwLCAxNDMsIDQ4LCA0OCwgMTM1LCAxMzUsIDAsIDAsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAKKyAgICAxNDQsIDE0NCwgNDgsIDQ4LCA4NSwgODUsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDgwLCA4NSwgMCwgMCwgMCwgCisgICAgMCwgMCwgMTM1LCAxMzUsIDEzOSwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgMCwgMCwgMCwgNDgsIDQ4LCAwLCAwLCAKICAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCAwLCAwLCAxNDUsIDQ4LCAxMzksIDE1NCwgMTQ3LCAxMzksIDE0NiwgMTM5LCAxMzksIDAsIDE1NCwgMTQ3LCAxNDcsIAotICAgIDAsIDE0NywgMTQ3LCAxMzUsIDE0MiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTQ2LCAxNDYsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDQ4LCAwLCA0OCwgNDgsIDEzNSwgMTM1LCAwLCAwLCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgCi0gICAgMTQ0LCAxNDQsIDAsIDQ4LCA0OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTM5LCAKLSAgICAxMzksIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgNDgsIDQ4LCA0OCwgMCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgNDgsIDE0MywgMCwgNDgsIDE0MywgMCwgCisgICAgNDgsIDQ4LCAwLCAwLCAxNDUsIDAsIDEzOSwgMTM5LCAxMzksIDEzNSwgMTM1LCAwLCAwLCAwLCAwLCAxMzUsIDEzNSwgMCwgCisgICAgMCwgMTM1LCAxMzUsIDE0MiwgMCwgMCwgMCwgMTM1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNDMsIDE0MywgMTQzLCA0OCwgCisgICAgMCwgMTQzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAKKyAgICAxNDQsIDEzNSwgMTM1LCA0OCwgNDgsIDQ4LCAxMzUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEzNSwgCisgICAgMTM1LCAxMzksIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDQ4LCA0OCwgNDgsIDAsIDQ4LCAKICAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgNDgsIDQ4LCAwLCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDAsIDAsIDE0NSwgNDgsIDEzOSwgMTM5LCAxMzksIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAwLCAxMzUsIDEzNSwgCisgICAgMTM5LCAwLCAxMzksIDEzOSwgMTQyLCAwLCAwLCA0OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgNDgsIDQ4LCAxMzUsIDEzNSwgMCwgMCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIAorICAgIDE0NCwgMTQ0LCA4MywgODUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEzNSwgMTM5LCAKKyAgICAxMzksIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgMCwgNDgsIDQ4LCAwLCAwLCA0OCwgNDgsIDQ4LCAKICAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgMCwgMCwgNDgsIDE0NiwgMTM5LCAxMzksIDEzNSwgMTM1LCAxMzUsIDEzNSwgMCwgMTM5LCAxMzksIDEzOSwgMCwgCi0gICAgMTQ3LCAxNDcsIDE0NywgMTQyLCA0OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTQ2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCA0OCwgNDgsIDEzNSwgMTM1LCAwLCAwLCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAKLSAgICAxNDQsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDAsIDAsIDAsIDgwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICAwLCAwLCAxMzksIDEzOSwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgMCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDQ4LCA0OCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCAKKyAgICAwLCAxNDUsIDQ4LCAxNDYsIDEzNSwgMTM5LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDAsIDAsIDEzOSwgMTQ3LCAwLCAwLCAxNDcsIAorICAgIDE0NywgMTQyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNDksIDE0NiwgMCwgMCwgMCwgMCwgMTQzLCAxNDMsIDAsIDQ4LCAKKyAgICA0OCwgNDgsIDEzNSwgMTM1LCAwLCAwLCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIAorICAgIDgwLCA0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTM1LCAKKyAgICA0OCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgMCwgMCwgNDgsIDQ4LCA0OCwgMCwgNDgsIDQ4LCAxNDAsIDQ4LCAKKyAgICAwLCAwLCAwLCA0OCwgNDgsIDAsIDQ4LCAwLCA0OCwgNDgsIDAsIDAsIDAsIDQ4LCA0OCwgMCwgMCwgMCwgNDgsIDQ4LCA0OCwgCisgICAgMCwgMCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgMCwgMCwgMCwgMTQ2LCAKKyAgICAxMzksIDEzNSwgMTM5LCAxMzksIDAsIDAsIDAsIDEzOSwgMTM5LCAxMzksIDAsIDE0NywgMTQ3LCAxNDcsIDE0MiwgMCwgMCwgCisgICAgNDgsIDAsIDAsIDAsIDAsIDAsIDAsIDE0NiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTQ0LCAKKyAgICAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDgsIDE0OCwgMTQ4LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCA4NSwgMjYsIDAsIDAsIDAsIDAsIDAsIDEzNSwgMTM5LCAxMzksIDEzOSwgMCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCAwLCA0OCwgNDgsIDQ4LCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCiAgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDQ4LCAwLCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgMCwgMCwgCi0gICAgMTU1LCAwLCAwLCAwLCAwLCAxNDYsIDEzOSwgMTM5LCAxMzUsIDEzNSwgMTM1LCAwLCAxMzUsIDAsIDEzOSwgMTM5LCAxNDcsIAotICAgIDEzOSwgMTQ3LCAxNDcsIDE0NywgMTQ2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAxMzksIDEzOSwgODMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCAwLCAwLCA0OCwgMTM1LCAxMzUsIAorICAgIDEzNSwgMTM5LCAxMzksIDEzOSwgMTM5LCAwLCAxMzUsIDEzNSwgMTUwLCAwLCAxMzUsIDEzNSwgMTM1LCAxNDIsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDE1MSwgMTUyLCAwLCA0OCwgNDgsIDAsIDAsIDAsIDAsIDAsIDAsIDQ4LCA0OCwgMTM1LCAxMzUsIAorICAgIDAsIDAsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMTUzLCAxNTMsIDE1MywgMTUzLCAxNTMsIDE1MywgMTUzLCA4MCwgMCwgMTM1LCAxMzksIDEzOSwgMCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCA0OCwgNDgsIDQ4LCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDAsIDE0NSwgNDgsIAorICAgIDEzOSwgMTU0LCAxNDcsIDEzOSwgMTQ2LCAxMzksIDEzOSwgMCwgMTU0LCAxNDcsIDE0NywgMCwgMTQ3LCAxNDcsIDEzNSwgCisgICAgMTQyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNDYsIDE0NiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDgsIDAsIDQ4LCA0OCwgCisgICAgMTM1LCAxMzUsIDAsIDAsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMCwgNDgsIAorICAgIDQ4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMzUsIDEzOSwgMTM5LCAwLCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDQ4LCA0OCwgNDgsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgMCwgNDgsIAorICAgIDE0NiwgMTM5LCAxMzksIDEzNSwgMTM1LCAxMzUsIDEzNSwgMCwgMTM5LCAxMzksIDEzOSwgMCwgMTQ3LCAxNDcsIDE0NywgCisgICAgMTQyLCA0OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTQ2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0OCwgNDgsIAorICAgIDEzNSwgMTM1LCAwLCAwLCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0OCwgCisgICAgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDAsIDAsIDAsIDgwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCAwLCAxMzksIAorICAgIDEzOSwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgMCwgMCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgMCwgNDgsIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCAwLCAwLCAxNTUsIDAsIDAsIDAsIAorICAgIDAsIDE0NiwgMTM5LCAxMzksIDEzNSwgMTM1LCAxMzUsIDAsIDEzNSwgMCwgMTM5LCAxMzksIDE0NywgMTM5LCAxNDcsIDE0NywgCisgICAgMTQ3LCAxNDYsIDAsIDAsIDAsIDAsIDAsIDAsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIAorICAgIDE0NCwgMCwgMCwgMTM5LCAxMzksIDgzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0OCwgNDgsIDQ4LCAKICAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKICAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDEzNSwgNDgsIDE1NiwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxNTcsIAotICAgIDE1NywgMTQyLCAwLCAwLCAwLCAwLCA4NSwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNTMsIDEzNSwgMTU4LCAxNTgsIDE1OCwgCi0gICAgMTU4LCAxMzUsIDEzNSwgMTM1LCA4MywgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAKLSAgICA4MywgODMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ4LCA0OCwgMCwgNDgsIDAsIDAsIDQ4LCA0OCwgCi0gICAgMCwgNDgsIDAsIDAsIDQ4LCAwLCAwLCAwLCAwLCAwLCAwLCA0OCwgNDgsIDQ4LCA0OCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDAsIDQ4LCA0OCwgNDgsIDAsIDQ4LCAwLCA0OCwgMCwgMCwgNDgsIDQ4LCAwLCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgMTM1LCA0OCwgMTU2LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDE1OSwgMTU5LCAwLCAxMzUsIDEzNSwgNDgsIDAsIDAsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgMCwgNTMsIDAsIDE2MCwgMTYwLCAxNjAsIDE2MCwgMTM1LCAxMzUsIDAsIDAsIDE0NCwgMTQ0LCAKLSAgICAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMCwgMCwgMTU2LCAxNTYsIDQ4LCA0OCwgMCwgMCwgMCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMTM1LCA0OCwgMTU2LCAxMzUsIDEzNSwgMTM1LCAxMzUsIAorICAgIDE1NywgMTU3LCAxNDIsIDAsIDAsIDAsIDAsIDg1LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA1MywgMTM1LCAxNTgsIDE1OCwgCisgICAgMTU4LCAxNTgsIDEzNSwgMTM1LCAxMzUsIDgzLCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAKKyAgICAxNDQsIDgzLCA4MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDgsIDQ4LCAwLCA0OCwgMCwgMCwgCisgICAgNDgsIDQ4LCAwLCA0OCwgMCwgMCwgNDgsIDAsIDAsIDAsIDAsIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCAwLCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgMCwgNDgsIDQ4LCA0OCwgMCwgNDgsIDAsIDQ4LCAwLCAwLCA0OCwgNDgsIDAsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCAxMzUsIDQ4LCAxNTYsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTU5LCAxNTksIDAsIDEzNSwgMTM1LCA0OCwgMCwgMCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCA1MywgMCwgMTYwLCAxNjAsIDE2MCwgMTYwLCAxMzUsIDEzNSwgMCwgMCwgMTQ0LCAKKyAgICAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAwLCAwLCAxNTYsIDE1NiwgNDgsIDQ4LCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCA0OCwgODAsIDgwLCA4MCwgODMsIDgzLCA4MywgODMsIDgzLCA4MywgODMsIDgzLCAxNjEsIDgzLCAKLSAgICA4MywgODMsIDgzLCA4MywgODMsIDgwLCA4MywgODAsIDgwLCA4MCwgODYsIDg2LCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCAKLSAgICAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDgsIDgwLCA4MCwgODAsIDgzLCA4MywgODMsIDgzLCA4MywgODMsIDgzLCA4MywgMTYxLCAKKyAgICA4MywgODMsIDgzLCA4MywgODMsIDgzLCA4MCwgODMsIDgwLCA4MCwgODAsIDg2LCA4NiwgODAsIDgwLCA4MCwgODAsIDgwLCAKKyAgICA4MCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIAogICAgIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDgwLCA4NiwgODAsIDg2LCA4MCwgMTYyLCAxNjMsIDE2NCwgMTYzLCAKICAgICAxNjQsIDEzOSwgMTM5LCA0OCwgNDgsIDQ4LCAxNDMsIDQ4LCA0OCwgNDgsIDQ4LCAwLCA0OCwgNDgsIDQ4LCA0OCwgMTQzLCAKICAgICA0OCwgNDgsIDQ4LCA0OCwgMTQzLCA0OCwgNDgsIDQ4LCA0OCwgMTQzLCA0OCwgNDgsIDQ4LCA0OCwgMTQzLCA0OCwgNDgsIApAQCAtMTUxMywxMCArMTYzMiwxMCBAQAogICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAogICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAogICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDgzLCA4MywgODMsIDE3MywgMTczLCAxNzMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgMTM1LCAxMzUsIDE0MiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMTM1LCAxMzUsIAorICAgIDQ4LCA0OCwgNDgsIDgzLCA4MywgODMsIDE3MywgMTczLCAxNzMsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCAxMzUsIDEzNSwgMTQyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAxMzUsIDEzNSwgCiAgICAgMTQyLCA4MywgODMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCiAgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDEzNSwgMTM1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgNDgsIApAQCAtMTU0NCw3ICsxNjYzLDcgQEAKICAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKICAgICA0OCwgNDgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAogICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgMCwgMCwgMCwgMTM1LCAxMzUsIDEzNSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzUsIDEzNSwgMTM5LCAxMzksIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCAwLCAxMzUsIDEzNSwgMTM1LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzNSwgMTM1LCAxMzksIDEzOSwgCiAgICAgMTM5LCAwLCAwLCAwLCAwLCAxMzksIDEzOSwgMTM1LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCA4NywgODEsIDg2LCAKICAgICAwLCAwLCAwLCAwLCAyNiwgMCwgMCwgMCwgMTM4LCAxMzgsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgCiAgICAgMTQ0LCAxNDQsIDE0NCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKQEAgLTE1NjcsMjk1ICsxNjg2LDI5NyBAQAogICAgIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDAsIDAsIDg2LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgCiAgICAgMTQ0LCAxNDQsIDAsIDAsIDAsIDAsIDAsIDAsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIAogICAgIDE0NCwgMCwgMCwgMCwgMCwgMCwgMCwgODMsIDgzLCA4MywgODMsIDgzLCA4MywgODMsIDUzLCA4MywgODMsIDgzLCA4MywgCi0gICAgODMsIDgzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICA4MywgODMsIDAsIDAsIDgxLCA4MSwgODEsIDgxLCA4MSwgODYsIDg2LCA4NiwgODYsIDg2LCA4NiwgODEsIDgxLCA4NiwgODIsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM5LCA0OCwgMTQwLCA0OCwgCi0gICAgMTQwLCA0OCwgMTQwLCA0OCwgMTQwLCA0OCwgMTQwLCA0OCwgNDgsIDQ4LCAxNDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEzNSwgMTM1LCAxMzUsIDEzNSwgCisgICAgMTM5LCA0OCwgMTQwLCA0OCwgMTQwLCA0OCwgMTQwLCA0OCwgMTQwLCA0OCwgMTQwLCA0OCwgNDgsIDQ4LCAxNDAsIDQ4LCAKICAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAxNDUsIDE0NiwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIAotICAgIDE0NywgMTM1LCAxNDcsIDEzOSwgMTM5LCAxNDcsIDE0NywgMTM1LCAxNDcsIDE3NSwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDAsIDAsIDAsIDAsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgODMsIDgzLCAKLSAgICA4MywgODMsIDgzLCA4MywgODMsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MSwgODYsIDgxLCAKLSAgICA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCAwLCAwLCAwLCAxMzUsIAotICAgIDEzNSwgMTM5LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAxMzksIDEzNSwgMTM1LCAKLSAgICAxMzUsIDEzNSwgMTM5LCAxMzksIDEzNSwgMTM1LCAxNzUsIDE0MiwgMTM5LCAxMzksIDQ4LCA0OCwgMTQ0LCAxNDQsIDE0NCwgCi0gICAgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDE0NSwgMTQ2LCAxMzUsIAorICAgIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTQ3LCAxMzUsIDE0NywgMTM5LCAxMzksIDE0NywgMTQ3LCAxMzUsIDE0NywgMTc1LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgMCwgMCwgMCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAKKyAgICAxNDQsIDE0NCwgMTQ0LCA4MywgODMsIDgzLCA4MywgODMsIDgzLCA4MywgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIAorICAgIDgwLCA4MCwgODAsIDgxLCA4NiwgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIAorICAgIDgwLCA4MCwgODAsIDAsIDAsIDAsIDEzNSwgMTM1LCAxMzksIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAogICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMTQ1LCAKLSAgICAxMzksIDEzNSwgMTM1LCAxMzksIDEzOSwgMTM5LCAxMzUsIDEzOSwgMTM1LCAxMzUsIDEzNSwgMTc1LCAxNzUsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDgzLCA4MywgODMsIDgzLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgMTM5LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzOSwgMTM5LCAxMzUsIDEzNSwgMTc1LCAxNDIsIDEzNSwgCisgICAgMTM1LCA0OCwgNDgsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgNDgsIDQ4LCAKICAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAKLSAgICAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM5LCAxMzksIDEzNSwgMTQ1LCAwLCAwLCAwLCA4MywgCi0gICAgODMsIDgzLCA4MywgODMsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMCwgMCwgCi0gICAgMCwgNDgsIDQ4LCA0OCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCA0OCwgNDgsIAogICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA1MywgNTMsIDUzLCA1MywgNTMsIDUzLCA4MywgODMsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDE0NSwgMTM5LCAxMzUsIDEzNSwgMTM5LCAxMzksIDEzOSwgMTM1LCAxMzksIDEzNSwgCisgICAgMTM1LCAxMzUsIDE3NSwgMTc1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA4MywgODMsIDgzLCA4MywgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMTM5LCAxMzksIAorICAgIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAKKyAgICAxMzksIDEzOSwgMTM1LCAxNDUsIDAsIDAsIDAsIDgzLCA4MywgODMsIDgzLCA4MywgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIAorICAgIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAwLCAwLCAwLCA0OCwgNDgsIDQ4LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgCisgICAgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDUzLCA1MywgNTMsIDUzLCA1MywgNTMsIDgzLCA4MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgODMsIDgzLCA4MywgODMsIDgzLCA4MywgCi0gICAgODMsIDgzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA4MSwgODEsIDgxLCA4MywgMTc2LCA4NiwgODYsIDg2LCA4NiwgODYsIAotICAgIDgxLCA4MSwgODYsIDg2LCA4NiwgODYsIDgxLCAxMzksIDE3NiwgMTc2LCAxNzYsIDE3NiwgMTc2LCAxNzYsIDE3NiwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDg2LCA0OCwgNDgsIDQ4LCA0OCwgMTM5LCAxMzksIDgxLCA0OCwgNDgsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCAKKyAgICAwLCAwLCA4MywgODMsIDgzLCA4MywgODMsIDgzLCA4MywgODMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDgxLCA4MSwgODEsIAorICAgIDgzLCAxNzYsIDg2LCA4NiwgODYsIDg2LCA4NiwgODEsIDgxLCA4NiwgODYsIDg2LCA4NiwgODEsIDEzOSwgMTc2LCAxNzYsIAorICAgIDE3NiwgMTc2LCAxNzYsIDE3NiwgMTc2LCA0OCwgNDgsIDQ4LCA0OCwgODYsIDQ4LCA0OCwgNDgsIDQ4LCAxMzksIDEzOSwgCisgICAgODEsIDQ4LCA0OCwgMCwgODEsIDgxLCAwLCAwLCAwLCAwLCAwLCAwLCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIAogICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIAotICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA1MSwgNTEsIDUxLCA1MywgNTEsIDUxLCA1MSwgNTEsIAotICAgIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MywgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIAotICAgIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTMsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIAotICAgIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIAotICAgIDUxLCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNTEsIDQ3LCA0NywgNDcsIAogICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIAotICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA1MSwgNTEsIDUxLCA1MSwgNTEsIAorICAgIDUxLCA1MSwgNTEsIDUzLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUzLCA1MSwgNTEsIAorICAgIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MywgNTEsIAogICAgIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIAotICAgIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgODEsIDgxLCA4NiwgODEsIAotICAgIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDg2LCA4MSwgODEsIDE3NywgMTc4LCA4NiwgMTc5LCA4MSwgODEsIDgxLCA4MSwgCisgICAgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgCisgICAgNDcsIDQ3LCA0NywgNDcsIDUxLCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgCisgICAgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgCisgICAgNDcsIDQ3LCA0NywgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgCisgICAgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgCisgICAgNTEsIDUxLCA1MSwgNTEsIDgxLCA4MSwgODYsIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCA4NiwgODEsIDgxLCAxNzcsIAorICAgIDE3OCwgODYsIDE3OSwgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgCiAgICAgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTgwLCA4NiwgCi0gICAgODEsIDg2LCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgCi0gICAgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgCi0gICAgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgCi0gICAgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgCi0gICAgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgCi0gICAgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgCi0gICAgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgCi0gICAgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgCi0gICAgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCA0MywgNDMsIDQzLCA0MywgMzUsIDE4MSwgNDcsIDQ3LCA0NCwgNDcsIAotICAgIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIAotICAgIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIAotICAgIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIAotICAgIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIAotICAgIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIAotICAgIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQzLCA0MywgNDMsIDQzLCA0MywgNDMsIDQzLCA0MywgMzgsIDM4LCAzOCwgMzgsIAotICAgIDM4LCAzOCwgMzgsIDM4LCA0MywgNDMsIDQzLCA0MywgNDMsIDQzLCAwLCAwLCAzOCwgMzgsIDM4LCAzOCwgMzgsIDM4LCAwLCAKLSAgICAwLCA0MywgNDMsIDQzLCA0MywgNDMsIDQzLCA0MywgNDMsIDM4LCAzOCwgMzgsIDM4LCAzOCwgMzgsIDM4LCAzOCwgNDMsIAorICAgIDgxLCA4MSwgODEsIDgxLCAwLCAwLCAwLCAwLCAwLCAwLCAxODAsIDg2LCA4MSwgODYsIDM4LCA0MywgMzgsIDQzLCAzOCwgCisgICAgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgCisgICAgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgCisgICAgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgCisgICAgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgCisgICAgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgCisgICAgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgCisgICAgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgCisgICAgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgCisgICAgNDMsIDQzLCA0MywgNDMsIDQzLCAzNSwgMTgxLCA0NywgNDcsIDQ0LCA0NywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIAorICAgIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIAorICAgIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIAorICAgIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIAorICAgIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIAorICAgIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDMsIAogICAgIDQzLCA0MywgNDMsIDQzLCA0MywgNDMsIDQzLCAzOCwgMzgsIDM4LCAzOCwgMzgsIDM4LCAzOCwgMzgsIDQzLCA0MywgNDMsIAogICAgIDQzLCA0MywgNDMsIDAsIDAsIDM4LCAzOCwgMzgsIDM4LCAzOCwgMzgsIDAsIDAsIDQzLCA0MywgNDMsIDQzLCA0MywgNDMsIAotICAgIDQzLCA0MywgMCwgMzgsIDAsIDM4LCAwLCAzOCwgMCwgMzgsIDQzLCA0MywgNDMsIDQzLCA0MywgNDMsIDQzLCA0MywgMzgsIAotICAgIDM4LCAzOCwgMzgsIDM4LCAzOCwgMzgsIDM4LCA0MywgMTgyLCA0MywgMTgyLCA0MywgMTgyLCA0MywgMTgyLCA0MywgMTgyLCAKLSAgICA0MywgMTgyLCA0MywgMTgyLCAwLCAwLCA0MywgNDMsIDQzLCA0MywgNDMsIDQzLCA0MywgNDMsIDE4MywgMTgzLCAxODMsIAotICAgIDE4MywgMTgzLCAxODMsIDE4MywgMTgzLCA0MywgNDMsIDQzLCA0MywgNDMsIDQzLCA0MywgNDMsIDE4MywgMTgzLCAxODMsIAotICAgIDE4MywgMTgzLCAxODMsIDE4MywgMTgzLCA0MywgNDMsIDQzLCA0MywgNDMsIDQzLCA0MywgNDMsIDE4MywgMTgzLCAxODMsIAotICAgIDE4MywgMTgzLCAxODMsIDE4MywgMTgzLCA0MywgNDMsIDQzLCA0MywgNDMsIDAsIDQzLCA0MywgMzgsIDM4LCAzOCwgMTg0LCAKLSAgICAxODMsIDU4LCAxODIsIDU4LCA1OCwgNzYsIDQzLCA0MywgNDMsIDAsIDQzLCA0MywgMzgsIDE4NCwgMzgsIDE4NCwgMTgzLCAKLSAgICA3NiwgNzYsIDc2LCA0MywgNDMsIDQzLCAxODIsIDAsIDAsIDQzLCA0MywgMzgsIDM4LCAzOCwgMTg0LCAwLCA3NiwgNzYsIAotICAgIDc2LCA0MywgNDMsIDQzLCAxODIsIDQzLCA0MywgNDMsIDQzLCAzOCwgMzgsIDM4LCAxODQsIDM4LCA3NiwgMTg1LCAxODUsIAotICAgIDAsIDAsIDQzLCA0MywgNDMsIDAsIDQzLCA0MywgMzgsIDE4NCwgMzgsIDE4NCwgMTgzLCAxODUsIDU4LCAwLCAxODYsIDE4NiwgCi0gICAgMTg3LCAxODcsIDE4NywgMTg3LCAxODcsIDE4NywgMTg3LCAxODcsIDE4NywgMTc0LCAxNzQsIDE3NCwgMTg4LCAxODksIAotICAgIDE5MCwgMTkxLCA4NCwgMTkwLCAxOTAsIDE5MCwgMjIsIDE5MiwgMTkzLCAxOTQsIDE5NSwgMTk2LCAxOTMsIDE5NCwgMTk1LCAKLSAgICAxOTYsIDIyLCAyMiwgMjIsIDEzOCwgMTk3LCAxOTcsIDE5NywgMjIsIDE5OCwgMTk5LCAyMDAsIDIwMSwgMjAyLCAyMDMsIAotICAgIDIwNCwgMjEsIDIwNSwgMTEwLCAyMDUsIDIwNiwgMjA3LCAyMiwgMTkyLCAxOTIsIDEzOCwgMjgsIDM2LCAyMiwgMTkyLCAKLSAgICAxMzgsIDE5NywgMjA4LCAyMDgsIDEzOCwgMTM4LCAxMzgsIDIwOSwgMTYzLCAxNjQsIDE5MiwgMTkyLCAxOTIsIDEzOCwgCi0gICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCA3OCwgMTM4LCAyMDgsIDEzOCwgMTM4LCAxOTIsIDEzOCwgMTM4LCAKLSAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTg3LCAxNzQsIDE3NCwgMTc0LCAxNzQsIDE3NCwgMCwgMjEwLCAyMTEsIDIxMiwgCi0gICAgMjEzLCAxNzQsIDE3NCwgMTc0LCAxNzQsIDE3NCwgMTc0LCAyMTQsIDUxLCAwLCAwLCAzNCwgMjE0LCAyMTQsIDIxNCwgMjE0LCAKLSAgICAyMTQsIDIxNSwgMjE1LCAyMTYsIDIxNywgMjE4LCAyMTksIDIxNCwgMzQsIDM0LCAzNCwgMzQsIDIxNCwgMjE0LCAyMTQsIAotICAgIDIxNCwgMjE0LCAyMTUsIDIxNSwgMjE2LCAyMTcsIDIxOCwgMCwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgCi0gICAgNTEsIDUxLCA1MSwgNTEsIDAsIDAsIDAsIDg1LCA4NSwgODUsIDg1LCA4NSwgODUsIDg1LCA4NSwgMjIwLCAyMjEsIDg1LCAKLSAgICA4NSwgMjMsIDg1LCA4NSwgODUsIDg1LCA4NSwgODUsIDg1LCA4NSwgODUsIDg1LCA4NSwgODUsIDg1LCA4NSwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgODEsIDgxLCAxNzYsIDE3NiwgCi0gICAgODEsIDgxLCA4MSwgODEsIDE3NiwgMTc2LCAxNzYsIDgxLCA4MSwgODIsIDgyLCA4MiwgODIsIDgxLCA4MiwgODIsIDgyLCAKLSAgICAxNzYsIDE3NiwgODEsIDg2LCA4MSwgMTc2LCAxNzYsIDg2LCA4NiwgODYsIDg2LCA4MSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjIyLCAyMjIsIDQ5LCAyMjMsIDI2LCAyMjMsIDIyMiwgNDksIDI2LCAyMjMsIDM1LCAKLSAgICA0OSwgNDksIDQ5LCAzNSwgMzUsIDQ5LCA0OSwgNDksIDQ2LCAyNiwgNDksIDIyMywgMjYsIDc4LCA0OSwgNDksIDQ5LCA0OSwgCi0gICAgNDksIDI2LCAyNiwgMjIyLCAyMjMsIDIyMywgMjYsIDQ5LCAyNiwgMjI0LCAyNiwgNDksIDI2LCAxODQsIDIyNCwgNDksIDQ5LCAKLSAgICAyMjUsIDM1LCA0OSwgNDksIDQ0LCA0OSwgMzUsIDE1NiwgMTU2LCAxNTYsIDE1NiwgMzUsIDI2LCAyMjIsIDM1LCAzNSwgNDksIAotICAgIDQ5LCAyMjYsIDc4LCA3OCwgNzgsIDc4LCA0OSwgMzUsIDM1LCAzNSwgMzUsIDI2LCA3OCwgMjYsIDI2LCA0NywgODAsIDIyNywgCi0gICAgMjI3LCAyMjcsIDM3LCAzNywgMjI3LCAyMjcsIDIyNywgMjI3LCAyMjcsIDIyNywgMzcsIDM3LCAzNywgMzcsIDIyNywgMjI4LCAKLSAgICAyMjgsIDIyOCwgMjI4LCAyMjgsIDIyOCwgMjI4LCAyMjgsIDIyOCwgMjI4LCAyMjgsIDIyOCwgMjI5LCAyMjksIDIyOSwgCi0gICAgMjI5LCAyMjgsIDIyOCwgMjI4LCAyMjgsIDIyOCwgMjI4LCAyMjgsIDIyOCwgMjI4LCAyMjgsIDIyOSwgMjI5LCAyMjksIAotICAgIDIyOSwgMjI5LCAyMjksIDE3MywgMTczLCAxNzMsIDQ0LCA0NywgMTczLCAxNzMsIDE3MywgMTczLCAzNywgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgNDAsIDQwLCA0MCwgNDAsIDQwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDIzMCwgMjMwLCAyNiwgMjYsIDI2LCAyNiwgCi0gICAgNzgsIDI2LCAyNiwgNzgsIDI2LCAyNiwgNzgsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyMzAsIDI2LCAyNiwgMjYsIAotICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDMwLCAzMCwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAotICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDIzMSwgMjMwLCAyMzAsIDI2LCAyNiwgNDAsIDI2LCA0MCwgCisgICAgNDMsIDQzLCAzOCwgMzgsIDM4LCAzOCwgMzgsIDM4LCAzOCwgMzgsIDQzLCA0MywgNDMsIDQzLCA0MywgNDMsIDQzLCA0MywgCisgICAgMzgsIDM4LCAzOCwgMzgsIDM4LCAzOCwgMzgsIDM4LCA0MywgNDMsIDQzLCA0MywgNDMsIDQzLCAwLCAwLCAzOCwgMzgsIDM4LCAKKyAgICAzOCwgMzgsIDM4LCAwLCAwLCA0MywgNDMsIDQzLCA0MywgNDMsIDQzLCA0MywgNDMsIDAsIDM4LCAwLCAzOCwgMCwgMzgsIDAsIAorICAgIDM4LCA0MywgNDMsIDQzLCA0MywgNDMsIDQzLCA0MywgNDMsIDM4LCAzOCwgMzgsIDM4LCAzOCwgMzgsIDM4LCAzOCwgNDMsIAorICAgIDE4MiwgNDMsIDE4MiwgNDMsIDE4MiwgNDMsIDE4MiwgNDMsIDE4MiwgNDMsIDE4MiwgNDMsIDE4MiwgMCwgMCwgNDMsIDQzLCAKKyAgICA0MywgNDMsIDQzLCA0MywgNDMsIDQzLCAxODMsIDE4MywgMTgzLCAxODMsIDE4MywgMTgzLCAxODMsIDE4MywgNDMsIDQzLCAKKyAgICA0MywgNDMsIDQzLCA0MywgNDMsIDQzLCAxODMsIDE4MywgMTgzLCAxODMsIDE4MywgMTgzLCAxODMsIDE4MywgNDMsIDQzLCAKKyAgICA0MywgNDMsIDQzLCA0MywgNDMsIDQzLCAxODMsIDE4MywgMTgzLCAxODMsIDE4MywgMTgzLCAxODMsIDE4MywgNDMsIDQzLCAKKyAgICA0MywgNDMsIDQzLCAwLCA0MywgNDMsIDM4LCAzOCwgMzgsIDE4NCwgMTgzLCA1OCwgMTgyLCA1OCwgNTgsIDc2LCA0MywgNDMsIAorICAgIDQzLCAwLCA0MywgNDMsIDM4LCAxODQsIDM4LCAxODQsIDE4MywgNzYsIDc2LCA3NiwgNDMsIDQzLCA0MywgMTgyLCAwLCAwLCAKKyAgICA0MywgNDMsIDM4LCAzOCwgMzgsIDE4NCwgMCwgNzYsIDc2LCA3NiwgNDMsIDQzLCA0MywgMTgyLCA0MywgNDMsIDQzLCA0MywgCisgICAgMzgsIDM4LCAzOCwgMTg0LCAzOCwgNzYsIDE4NSwgMTg1LCAwLCAwLCA0MywgNDMsIDQzLCAwLCA0MywgNDMsIDM4LCAxODQsIAorICAgIDM4LCAxODQsIDE4MywgMTg1LCA1OCwgMCwgMTg2LCAxODYsIDE4NywgMTg3LCAxODcsIDE4NywgMTg3LCAxODcsIDE4NywgCisgICAgMTg3LCAxODcsIDE3NCwgMTc0LCAxNzQsIDE4OCwgMTg5LCAxOTAsIDE5MSwgODQsIDE5MCwgMTkwLCAxOTAsIDIyLCAxOTIsIAorICAgIDE5MywgMTk0LCAxOTUsIDE5NiwgMTkzLCAxOTQsIDE5NSwgMTk2LCAyMiwgMjIsIDIyLCAxMzgsIDE5NywgMTk3LCAxOTcsIAorICAgIDIyLCAxOTgsIDE5OSwgMjAwLCAyMDEsIDIwMiwgMjAzLCAyMDQsIDIxLCAyMDUsIDExMCwgMjA1LCAyMDYsIDIwNywgMjIsIAorICAgIDE5MiwgMTkyLCAxMzgsIDI4LCAzNiwgMjIsIDE5MiwgMTM4LCAxOTcsIDIwOCwgMjA4LCAxMzgsIDEzOCwgMTM4LCAyMDksIAorICAgIDE2MywgMTY0LCAxOTIsIDE5MiwgMTkyLCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgNzgsIDEzOCwgCisgICAgMjA4LCAxMzgsIDEzOCwgMTkyLCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDE4NywgMTc0LCAxNzQsIAorICAgIDE3NCwgMTc0LCAxNzQsIDAsIDIxMCwgMjExLCAyMTIsIDIxMywgMTc0LCAxNzQsIDE3NCwgMTc0LCAxNzQsIDE3NCwgMjE0LCAKKyAgICA1MSwgMCwgMCwgMzQsIDIxNCwgMjE0LCAyMTQsIDIxNCwgMjE0LCAyMTUsIDIxNSwgMjE2LCAyMTcsIDIxOCwgMjE5LCAyMTQsIAorICAgIDM0LCAzNCwgMzQsIDM0LCAyMTQsIDIxNCwgMjE0LCAyMTQsIDIxNCwgMjE1LCAyMTUsIDIxNiwgMjE3LCAyMTgsIDAsIDUxLCAKKyAgICA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCAwLCAwLCAwLCA4NSwgODUsIDg1LCA4NSwgCisgICAgODUsIDg1LCA4NSwgODUsIDIyMCwgMjIxLCA4NSwgODUsIDIzLCA4NSwgODUsIDg1LCA4NSwgODUsIDg1LCA4NSwgODUsIDg1LCAKKyAgICA4NSwgODUsIDg1LCA4NSwgODUsIDg1LCA4NSwgODUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDgxLCA4MSwgMTc2LCAxNzYsIDgxLCA4MSwgODEsIDgxLCAxNzYsIDE3NiwgMTc2LCA4MSwgODEsIDgyLCAKKyAgICA4MiwgODIsIDgyLCA4MSwgODIsIDgyLCA4MiwgMTc2LCAxNzYsIDgxLCA4NiwgODEsIDE3NiwgMTc2LCA4NiwgODYsIDg2LCAKKyAgICA4NiwgODEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDIyMiwgMjIyLCA0OSwgMjIzLCAKKyAgICAyNiwgMjIzLCAyMjIsIDQ5LCAyNiwgMjIzLCAzNSwgNDksIDQ5LCA0OSwgMzUsIDM1LCA0OSwgNDksIDQ5LCA0NiwgMjYsIAorICAgIDQ5LCAyMjMsIDI2LCA3OCwgNDksIDQ5LCA0OSwgNDksIDQ5LCAyNiwgMjYsIDIyMiwgMjIzLCAyMjMsIDI2LCA0OSwgMjYsIAorICAgIDIyNCwgMjYsIDQ5LCAyNiwgMTg0LCAyMjQsIDQ5LCA0OSwgMjI1LCAzNSwgNDksIDQ5LCA0NCwgNDksIDM1LCAxNTYsIDE1NiwgCisgICAgMTU2LCAxNTYsIDM1LCAyNiwgMjIyLCAzNSwgMzUsIDQ5LCA0OSwgMjI2LCA3OCwgNzgsIDc4LCA3OCwgNDksIDM1LCAzNSwgCisgICAgMzUsIDM1LCAyNiwgNzgsIDI2LCAyNiwgNDcsIDgwLCAyMjcsIDIyNywgMjI3LCAzNywgMzcsIDIyNywgMjI3LCAyMjcsIAorICAgIDIyNywgMjI3LCAyMjcsIDM3LCAzNywgMzcsIDM3LCAyMjcsIDIyOCwgMjI4LCAyMjgsIDIyOCwgMjI4LCAyMjgsIDIyOCwgCisgICAgMjI4LCAyMjgsIDIyOCwgMjI4LCAyMjgsIDIyOSwgMjI5LCAyMjksIDIyOSwgMjI4LCAyMjgsIDIyOCwgMjI4LCAyMjgsIAorICAgIDIyOCwgMjI4LCAyMjgsIDIyOCwgMjI4LCAyMjksIDIyOSwgMjI5LCAyMjksIDIyOSwgMjI5LCAxNzMsIDE3MywgMTczLCA0NCwgCisgICAgNDcsIDE3MywgMTczLCAxNzMsIDE3MywgMzcsIDAsIDAsIDAsIDAsIDAsIDAsIDQwLCA0MCwgNDAsIDQwLCA0MCwgMzAsIDMwLCAKKyAgICAzMCwgMzAsIDMwLCAyMzAsIDIzMCwgMjYsIDI2LCAyNiwgMjYsIDc4LCAyNiwgMjYsIDc4LCAyNiwgMjYsIDc4LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjMwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAzMCwgMzAsIDI2LCAKICAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAzMCwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgNzgsIDc4LCA3OCwgNzgsIDc4LCAKLSAgICA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNDAsIDIzMiwgMjMzLCAyMzMsIDIzNCwgNzgsIDc4LCA0MCwgMjMzLCAyMzQsIAotICAgIDIzMiwgMjMzLCAyMzQsIDIzMiwgNzgsIDQwLCA3OCwgMjMzLCAyMzUsIDIzNiwgNzgsIDIzMywgMjMyLCA3OCwgNzgsIDc4LCAKLSAgICAyMzMsIDIzMiwgMjMyLCAyMzMsIDQwLCAyMzMsIDIzMywgMjMyLCAyMzIsIDQwLCAyMzQsIDQwLCAyMzQsIDQwLCA0MCwgNDAsIAotICAgIDQwLCAyMzMsIDIzNywgMjI2LCAyMzMsIDIyNiwgMjI2LCAyMzIsIDIzMiwgMjMyLCA0MCwgNDAsIDQwLCA0MCwgNzgsIDIzMiwgCi0gICAgNzgsIDIzMiwgMjMzLCAyMzMsIDIzMiwgMjMyLCAyMzIsIDIzNCwgMjMyLCAyMzIsIDIzNCwgMjMyLCAyMzIsIDIzNCwgMjMzLCAKLSAgICAyMzQsIDIzMiwgMjMyLCAyMzMsIDc4LCA3OCwgNzgsIDc4LCA3OCwgMjMzLCAyMzIsIDIzMiwgMjMyLCA3OCwgNzgsIDc4LCAKLSAgICA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCAyMzIsIDIzOCwgNDAsIDIzNCwgNzgsIDIzMywgMjMzLCAyMzMsIDIzMywgMjMyLCAKLSAgICAyMzIsIDIzMywgMjMzLCA3OCwgMjMwLCAyMzgsIDIzOCwgMjM0LCAyMzQsIDIzMiwgMjMyLCAyMzQsIDIzNCwgMjMyLCAyMzIsIAotICAgIDIzNCwgMjM0LCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzQsIDIzNCwgMjMzLCAyMzMsIDIzNCwgMjM0LCAKLSAgICAyMzMsIDIzMywgMjM0LCAyMzQsIDIzMiwgMjMyLCAyMzIsIDc4LCA3OCwgMjMyLCAyMzIsIDIzMiwgMjMyLCA3OCwgNzgsIAotICAgIDQwLCA3OCwgNzgsIDIzMiwgNDAsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgMjMyLCAyMzIsIDc4LCA0MCwgCi0gICAgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjM0LCAyMzQsIDIzNCwgMjM0LCAyMzIsIDIzMiwgMjMyLCAyMzIsIAotICAgIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCA3OCwgNzgsIDc4LCA3OCwgNzgsIDIzMiwgMjMzLCA3OCwgNzgsIDc4LCA3OCwgCi0gICAgNzgsIDc4LCA3OCwgNzgsIDc4LCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgNzgsIDc4LCAyMzIsIDIzMiwgNzgsIDc4LCAKLSAgICA3OCwgNzgsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjM0LCAyMzQsIDIzNCwgCi0gICAgMjM0LCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzQsIDIzNCwgMjM0LCAyMzQsIDc4LCA3OCwgMjMyLCAyMzIsIAotICAgIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyNiwgCi0gICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDE2MywgMTY0LCAxNjMsIDE2NCwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCi0gICAgMzAsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyMzIsIDIzMiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDIzOSwgMjQwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDIzMSwgMjMwLCAyMzAsIDI2LCAyNiwgNDAsIDI2LCA0MCwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMzAsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDQwLCAyMzIsIAorICAgIDIzMywgMjMzLCAyMzQsIDc4LCA3OCwgNDAsIDIzMywgMjM0LCAyMzIsIDIzMywgMjM0LCAyMzIsIDc4LCA0MCwgNzgsIDIzMywgCisgICAgMjM1LCAyMzYsIDc4LCAyMzMsIDIzMiwgNzgsIDc4LCA3OCwgMjMzLCAyMzIsIDIzMiwgMjMzLCA0MCwgMjMzLCAyMzMsIAorICAgIDIzMiwgMjMyLCA0MCwgMjM0LCA0MCwgMjM0LCA0MCwgNDAsIDQwLCA0MCwgMjMzLCAyMzcsIDIyNiwgMjMzLCAyMjYsIDIyNiwgCisgICAgMjMyLCAyMzIsIDIzMiwgNDAsIDQwLCA0MCwgNDAsIDc4LCAyMzIsIDc4LCAyMzIsIDIzMywgMjMzLCAyMzIsIDIzMiwgMjMyLCAKKyAgICAyMzQsIDIzMiwgMjMyLCAyMzQsIDIzMiwgMjMyLCAyMzQsIDIzMywgMjM0LCAyMzIsIDIzMiwgMjMzLCA3OCwgNzgsIDc4LCAKKyAgICA3OCwgNzgsIDIzMywgMjMyLCAyMzIsIDIzMiwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgMjMyLCAyMzgsIAorICAgIDQwLCAyMzQsIDc4LCAyMzMsIDIzMywgMjMzLCAyMzMsIDIzMiwgMjMyLCAyMzMsIDIzMywgNzgsIDIzMCwgMjM4LCAyMzgsIAorICAgIDIzNCwgMjM0LCAyMzIsIDIzMiwgMjM0LCAyMzQsIDIzMiwgMjMyLCAyMzQsIDIzNCwgMjMyLCAyMzIsIDIzMiwgMjMyLCAKKyAgICAyMzIsIDIzMiwgMjM0LCAyMzQsIDIzMywgMjMzLCAyMzQsIDIzNCwgMjMzLCAyMzMsIDIzNCwgMjM0LCAyMzIsIDIzMiwgCisgICAgMjMyLCA3OCwgNzgsIDIzMiwgMjMyLCAyMzIsIDIzMiwgNzgsIDc4LCA0MCwgNzgsIDc4LCAyMzIsIDQwLCA3OCwgNzgsIDc4LCAKKyAgICA3OCwgNzgsIDc4LCA3OCwgNzgsIDIzMiwgMjMyLCA3OCwgNDAsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzNCwgCisgICAgMjM0LCAyMzQsIDIzNCwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgNzgsIDc4LCA3OCwgCisgICAgNzgsIDc4LCAyMzIsIDIzMywgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgMjMyLCAyMzIsIDIzMiwgMjMyLCAKKyAgICAyMzIsIDc4LCA3OCwgMjMyLCAyMzIsIDc4LCA3OCwgNzgsIDc4LCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIAorICAgIDIzMiwgMjMyLCAyMzIsIDIzNCwgMjM0LCAyMzQsIDIzNCwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjM0LCAKKyAgICAyMzQsIDIzNCwgMjM0LCA3OCwgNzgsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgCisgICAgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAxNjMsIDE2NCwgCisgICAgMTYzLCAxNjQsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDMwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjMyLCAyMzIsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyMzksIDI0MCwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCAKICAgICA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCAKICAgICA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCAKICAgICA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCAKLSAgICA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCAyNiwgNzgsIDI2LCAKKyAgICA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCAyNiwgNzgsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDgwLCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCAKKyAgICA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKICAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDgwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCAKLSAgICA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgNzgsIDc4LCA3OCwgNzgsIDc4LCAKKyAgICA3OCwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDAsIDAsIDAsIDAsIDAsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAogICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAotICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAotICAgIDI2LCAyNiwgMjYsIDI2LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAotICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAotICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAotICAgIDI2LCAyNiwgMjYsIDI2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDM3LCAzNywgMzcsIDM3LCAzNywgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzNywgMzcsIDM3LCAzNywgMzcsIDM3LCAzNywgMzcsIDM3LCAzNywgMzcsIAogICAgIDM3LCAzNywgMzcsIDM3LCAzNywgMzcsIDM3LCAzNywgMzcsIDM3LCAzNywgMzcsIDM3LCAzNywgMzcsIDM3LCAzNywgMzcsIAotICAgIDM3LCAzNywgMzcsIDM3LCAzNywgMzcsIDM3LCAzNywgMzcsIDM3LCAzNywgMzcsIDM3LCAzNywgMzcsIDM3LCAzNywgMzQsIAotICAgIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIAotICAgIDM0LCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgCisgICAgMzcsIDM3LCAzNywgMzcsIDM3LCAzNywgMzcsIDM3LCAzNywgMzcsIDM3LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgCisgICAgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDI0MSwgMjQxLCAyNDEsIDI0MSwgCiAgICAgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIAogICAgIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAKICAgICAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgCiAgICAgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIAotICAgIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyMjcsIDI0MiwgMjQyLCAyNDIsIDI0MiwgMjQyLCAKLSAgICAyNDIsIDI0MiwgMjQyLCAyNDIsIDI0MiwgMjQyLCAyNDIsIDI0MiwgMjQyLCAyNDIsIDI0MiwgMjQyLCAyNDIsIDI0MiwgCi0gICAgMjQyLCAyNDIsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAKKyAgICAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgCisgICAgMjQxLCAyNDEsIDI0MSwgMjQxLCAyMjcsIDI0MiwgMjQyLCAyNDIsIDI0MiwgMjQyLCAyNDIsIDI0MiwgMjQyLCAyNDIsIAorICAgIDI0MiwgMjQyLCAyNDIsIDI0MiwgMjQyLCAyNDIsIDI0MiwgMjQyLCAyNDIsIDI0MiwgMjQyLCAyNDIsIDMwLCAzMCwgMzAsIAogICAgIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIAogICAgIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIAogICAgIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIAotICAgIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDI2LCAyNiwgMjYsIDI2LCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIAogICAgIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIAotICAgIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAotICAgIDI2LCAyNiwgMjYsIDI2LCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIAotICAgIDMwLCAzMCwgMjYsIDI2LCAzMCwgMzAsIDMwLCAzMCwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAotICAgIDMwLCAzMCwgMjYsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAotICAgIDMwLCAzMCwgMjYsIDI2LCAzMCwgNDAsIDI2LCAyNiwgMjYsIDI2LCAzMCwgMzAsIDI2LCAyNiwgMzAsIDQwLCAyNiwgMjYsIAotICAgIDI2LCAyNiwgMzAsIDMwLCAzMCwgMjYsIDI2LCAzMCwgMjYsIDI2LCAzMCwgMzAsIDMwLCAzMCwgMjYsIDI2LCAyNiwgMjYsIAotICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDMwLCAzMCwgMzAsIDMwLCAyNiwgMjYsIAotICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAzMCwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCA3OCwgNzgsIAotICAgIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMzAsIDMwLCAyNiwgMjYsIDMwLCAyNiwgMjYsIAotICAgIDI2LCAyNiwgMzAsIDMwLCAyNiwgMjYsIDI2LCAyNiwgMzAsIDMwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAzMCwgMjYsIAotICAgIDMwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAotICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAzMCwgMjYsIAotICAgIDMwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAotICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDMwLCAzMCwgMjYsIDMwLCAzMCwgMzAsIAotICAgIDI2LCAzMCwgMzAsIDMwLCAzMCwgMjYsIDMwLCAzMCwgMjYsIDQwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDMwLCAyNiwgMjYsIDI2LCAyNiwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIAorICAgIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIAorICAgIDMwLCAzMCwgMzAsIDMwLCAzMCwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMzAsIAorICAgIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDI2LCAyNiwgMzAsIAorICAgIDMwLCAzMCwgMzAsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAzMCwgMzAsIDI2LCAzMCwgMzAsIAorICAgIDMwLCAzMCwgMzAsIDMwLCAzMCwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAzMCwgMzAsIDI2LCAyNiwgMzAsIAorICAgIDQwLCAyNiwgMjYsIDI2LCAyNiwgMzAsIDMwLCAyNiwgMjYsIDMwLCA0MCwgMjYsIDI2LCAyNiwgMjYsIDMwLCAzMCwgMzAsIAorICAgIDI2LCAyNiwgMzAsIDI2LCAyNiwgMzAsIDMwLCAzMCwgMzAsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAzMCwgMzAsIDMwLCAzMCwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMzAsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIAorICAgIDc4LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDMwLCAzMCwgMjYsIDI2LCAzMCwgMjYsIDI2LCAyNiwgMjYsIDMwLCAzMCwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDMwLCAzMCwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMzAsIDI2LCAzMCwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMzAsIDI2LCAzMCwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAzMCwgMzAsIDI2LCAzMCwgMzAsIDMwLCAyNiwgMzAsIDMwLCAzMCwgMzAsIAorICAgIDI2LCAzMCwgMzAsIDI2LCA0MCwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDMwLCAzMCwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgODAsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMzAsIDMwLCAyNiwgMjYsIDI2LCAyNiwgMzAsIAorICAgIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDI2LCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIAorICAgIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMjYsIDMwLCAyNiwgMjYsIDI2LCAyNiwgMzAsIAorICAgIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIAorICAgIDMwLCAzMCwgMzAsIDMwLCAzMCwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAogICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAogICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAotICAgIDI2LCAyNiwgMzAsIDMwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCA4MCwgMjYsIAotICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAzMCwgMzAsIAotICAgIDI2LCAyNiwgMjYsIDI2LCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMjYsIDMwLCAzMCwgMzAsIAotICAgIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAyNiwgMzAsIAotICAgIDI2LCAyNiwgMjYsIDI2LCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIAotICAgIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMzAsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCiAgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCi0gICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCi0gICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAzMCwgCi0gICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCi0gICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDMwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCi0gICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMTYzLCAxNjQsIDE2MywgMTY0LCAxNjMsIDE2NCwgMTYzLCAxNjQsIDE2MywgMTY0LCAKLSAgICAxNjMsIDE2NCwgMTYzLCAxNjQsIDI0MiwgMjQyLCAyNDIsIDI0MiwgMjQyLCAyNDIsIDI0MiwgMjQyLCAyNDIsIDI0MiwgCisgICAgMjYsIDI2LCAzMCwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDE2MywgMTY0LCAxNjMsIDE2NCwgMTYzLCAxNjQsIDE2MywgMTY0LCAxNjMsIDE2NCwgMTYzLCAxNjQsIDE2MywgMTY0LCAKKyAgICAyNDIsIDI0MiwgMjQyLCAyNDIsIDI0MiwgMjQyLCAyNDIsIDI0MiwgMjQyLCAyNDIsIDE1MywgMTUzLCAxNTMsIDE1MywgCiAgICAgMTUzLCAxNTMsIDE1MywgMTUzLCAxNTMsIDE1MywgMTUzLCAxNTMsIDE1MywgMTUzLCAxNTMsIDE1MywgMTUzLCAxNTMsIAotICAgIDE1MywgMTUzLCAxNTMsIDE1MywgMTUzLCAxNTMsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMTUzLCAxNTMsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKICAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyMzIsIDc4LCA3OCwgCi0gICAgMjMyLCAyMzIsIDE2MywgMTY0LCA3OCwgMjMyLCAyMzIsIDc4LCAyMzIsIDIzMiwgMjMyLCA3OCwgNzgsIDc4LCA3OCwgNzgsIAotICAgIDIzMiwgMjMyLCAyMzIsIDIzMiwgNzgsIDc4LCA3OCwgNzgsIDc4LCAyMzIsIDIzMiwgMjMyLCA3OCwgNzgsIDc4LCAyMzIsIAotICAgIDIzMiwgMjMyLCAyMzIsIDksIDEwLCA5LCAxMCwgOSwgMTAsIDksIDEwLCAxNjMsIDE2NCwgNzgsIDc4LCA3OCwgNzgsIDc4LCAKLSAgICA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjMyLCA3OCwgNzgsIDIzMiwgMjMyLCAxNjMsIDE2NCwgCisgICAgNzgsIDIzMiwgMjMyLCA3OCwgMjMyLCAyMzIsIDIzMiwgNzgsIDc4LCA3OCwgNzgsIDc4LCAyMzIsIDIzMiwgMjMyLCAyMzIsIAorICAgIDc4LCA3OCwgNzgsIDc4LCA3OCwgMjMyLCAyMzIsIDIzMiwgNzgsIDc4LCA3OCwgMjMyLCAyMzIsIDIzMiwgMjMyLCA5LCAxMCwgCisgICAgOSwgMTAsIDksIDEwLCA5LCAxMCwgMTYzLCAxNjQsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCAKKyAgICA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCAKICAgICA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCAKICAgICA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCAKICAgICA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCAKICAgICA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCAKICAgICA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCAKICAgICA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCAKLSAgICA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgNzgsIDc4LCA3OCwgNzgsIDc4LCAKKyAgICA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCAKICAgICA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCAKICAgICA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCAKICAgICA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCAKICAgICA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCAKICAgICA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCAKICAgICA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCAKLSAgICA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCAKLSAgICAxNjMsIDE2NCwgOSwgMTAsIDE2MywgMTY0LCAxNjMsIDE2NCwgMTYzLCAxNjQsIDE2MywgMTY0LCAxNjMsIDE2NCwgMTYzLCAKLSAgICAxNjQsIDE2MywgMTY0LCAxNjMsIDE2NCwgMTYzLCAxNjQsIDc4LCA3OCwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgCi0gICAgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIAotICAgIDIzMiwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCAyMzIsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCAKLSAgICAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCA3OCwgNzgsIDc4LCAyMzIsIDc4LCA3OCwgNzgsIDc4LCAyMzIsIDIzMiwgCi0gICAgMjMyLCAyMzIsIDIzMiwgNzgsIDIzMiwgMjMyLCA3OCwgNzgsIDE2MywgMTY0LCAxNjMsIDE2NCwgMjMyLCA3OCwgNzgsIDc4LCAKLSAgICA3OCwgMjMyLCA3OCwgMjMyLCAyMzIsIDIzMiwgNzgsIDc4LCAyMzIsIDIzMiwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIAotICAgIDc4LCA3OCwgNzgsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDc4LCA3OCwgMTYzLCAxNjQsIDc4LCA3OCwgNzgsIAotICAgIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDIzMiwgMjMyLCAyMjYsIDIzMiwgMjMyLCAyMzIsIDIzMiwgCi0gICAgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgNzgsIDIzMiwgMjMyLCAKLSAgICAyMzIsIDIzMiwgNzgsIDc4LCAyMzIsIDc4LCAyMzIsIDc4LCA3OCwgMjMyLCA3OCwgMjMyLCAyMzIsIDIzMiwgMjMyLCA3OCwgCi0gICAgNzgsIDc4LCA3OCwgNzgsIDIzMiwgMjMyLCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCAyMzIsIDIzMiwgMjMyLCA3OCwgNzgsIAotICAgIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIAotICAgIDc4LCA3OCwgNzgsIDc4LCAyMzIsIDIzMiwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCAKLSAgICAyMzIsIDIzMiwgNzgsIDc4LCA3OCwgNzgsIDIzMiwgMjMyLCAyMzIsIDIzMiwgNzgsIDIzMiwgMjMyLCA3OCwgNzgsIDIzMiwgCi0gICAgMjI2LCAyMTYsIDIxNiwgNzgsIDc4LCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIAorICAgIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCAxNjMsIDE2NCwgOSwgMTAsIDE2MywgCisgICAgMTY0LCAxNjMsIDE2NCwgMTYzLCAxNjQsIDE2MywgMTY0LCAxNjMsIDE2NCwgMTYzLCAxNjQsIDE2MywgMTY0LCAxNjMsIAorICAgIDE2NCwgMTYzLCAxNjQsIDc4LCA3OCwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAKKyAgICAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgNzgsIDc4LCA3OCwgNzgsIAorICAgIDc4LCA3OCwgNzgsIDc4LCAyMzIsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgCisgICAgMjMyLCA3OCwgNzgsIDc4LCAyMzIsIDc4LCA3OCwgNzgsIDc4LCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgNzgsIDIzMiwgCisgICAgMjMyLCA3OCwgNzgsIDE2MywgMTY0LCAxNjMsIDE2NCwgMjMyLCA3OCwgNzgsIDc4LCA3OCwgMjMyLCA3OCwgMjMyLCAyMzIsIAorICAgIDIzMiwgNzgsIDc4LCAyMzIsIDIzMiwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDIzMiwgMjMyLCAKKyAgICAyMzIsIDIzMiwgMjMyLCAyMzIsIDc4LCA3OCwgMTYzLCAxNjQsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIAorICAgIDc4LCA3OCwgNzgsIDIzMiwgMjMyLCAyMjYsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIAorICAgIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgNzgsIDIzMiwgMjMyLCAyMzIsIDIzMiwgNzgsIDc4LCAyMzIsIAorICAgIDc4LCAyMzIsIDc4LCA3OCwgMjMyLCA3OCwgMjMyLCAyMzIsIDIzMiwgMjMyLCA3OCwgNzgsIDc4LCA3OCwgNzgsIDIzMiwgCisgICAgMjMyLCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCAyMzIsIDIzMiwgMjMyLCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgCisgICAgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCAyMzIsIAorICAgIDIzMiwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCAyMzIsIDIzMiwgNzgsIDc4LCA3OCwgCisgICAgNzgsIDIzMiwgMjMyLCAyMzIsIDIzMiwgNzgsIDIzMiwgMjMyLCA3OCwgNzgsIDIzMiwgMjI2LCAyMTYsIDIxNiwgNzgsIDc4LCAKICAgICAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgCiAgICAgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIAotICAgIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCA3OCwgNzgsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAKLSAgICA3OCwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIAogICAgIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAKLSAgICAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCA3OCwgNzgsIDc4LCAKLSAgICA3OCwgNzgsIDI0MywgNzgsIDIzMiwgNzgsIDc4LCA3OCwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDc4LCA3OCwgNzgsIAotICAgIDc4LCA3OCwgMjMyLCAyMzIsIDIzMiwgNzgsIDc4LCA3OCwgNzgsIDIzMiwgNzgsIDc4LCA3OCwgMjMyLCAyMzIsIDIzMiwgCi0gICAgMjMyLCAyMzIsIDc4LCAyMzIsIDc4LCA3OCwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyMzIsIDc4LCA3OCwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDc4LCAyMzIsIDIzMiwgMjMyLCAKKyAgICAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgCisgICAgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIAorICAgIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDc4LCA3OCwgNzgsIDc4LCA3OCwgMjQzLCA3OCwgCisgICAgMjMyLCA3OCwgNzgsIDc4LCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgNzgsIDc4LCA3OCwgNzgsIDc4LCAyMzIsIDIzMiwgCisgICAgMjMyLCA3OCwgNzgsIDc4LCA3OCwgMjMyLCA3OCwgNzgsIDc4LCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgNzgsIDIzMiwgCisgICAgNzgsIDc4LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCiAgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCA3OCwgNzgsIDc4LCA3OCwgCisgICAgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCAyNiwgCisgICAgMjYsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMzAsIDMwLCAzMCwgCisgICAgMzAsIDMwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDAsIDAsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKICAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCAKLSAgICA3OCwgNzgsIDc4LCA3OCwgMjYsIDI2LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCAwLCAwLCAwLCAyNiwgMjYsIDI2LCAyNiwgCi0gICAgMjYsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDAsIDAsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAwLCAwLCAwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgCiAgICAgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgCi0gICAgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgMCwgNDcsIDQ3LCAKKyAgICA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCAKKyAgICA0NCwgNDQsIDAsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIAogICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIAorICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgMCwgNDQsIDQ3LCA0NCwgCisgICAgNDQsIDQ0LCA0NywgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NCwgNDQsIDQ0LCA0NywgNDQsIDQ3LCA0NywgCisgICAgNDQsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDUxLCA1MSwgNDQsIDQ0LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgCisgICAgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgCisgICAgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgCisgICAgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgCisgICAgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgCisgICAgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgCisgICAgNDcsIDQ0LCA0NywgNDcsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDQ0LCA0NywgNDQsIDQ3LCA4MSwgODEsIDgxLCA0NCwgCisgICAgNDcsIDAsIDAsIDAsIDAsIDAsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTUzLCAxMzgsIDEzOCwgNDcsIDQ3LCA0NywgNDcsIDQ3LCAKICAgICA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCAKLSAgICA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCAwLCA0NCwgNDcsIDQ0LCA0NCwgNDQsIDQ3LCA0NywgNDQsIAotICAgIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ0LCA0NCwgNDQsIDQ3LCA0NCwgNDcsIDQ3LCA0NCwgNDcsIDQ3LCA0NywgNDcsIAotICAgIDQ3LCA0NywgNTEsIDUxLCA0NCwgNDQsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIAotICAgIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIAotICAgIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIAotICAgIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIAotICAgIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIAotICAgIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NywgMjYsIAotICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgNDQsIDQ3LCA0NCwgNDcsIDgxLCA4MSwgODEsIDQ0LCA0NywgMCwgMCwgMCwgMCwgMCwgCi0gICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxNTMsIDEzOCwgMTM4LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCAKLSAgICA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCAKLSAgICA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDAsIDQ3LCAwLCAwLCAwLCAwLCAwLCA0NywgMCwgCi0gICAgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCAwLCA0NywgMCwgMCwgCisgICAgMCwgMCwgMCwgNDcsIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKICAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKICAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1MSwgODMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDE0MiwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTEsIDgzLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNDIsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCA0OCwgCiAgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCAwLCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIAorICAgIDQ4LCA0OCwgNDgsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCAKICAgICA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCAKLSAgICAxMzgsIDEzOCwgMjgsIDM2LCAyOCwgMzYsIDEzOCwgMTM4LCAxMzgsIDI4LCAzNiwgMTM4LCAyOCwgMzYsIDEzOCwgMTM4LCAKLSAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDg0LCAxMzgsIDEzOCwgODQsIDEzOCwgMjgsIDM2LCAxMzgsIAotICAgIDEzOCwgMjgsIDM2LCAxNjMsIDE2NCwgMTYzLCAxNjQsIDE2MywgMTY0LCAxNjMsIDE2NCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKLSAgICAxMzgsIDUyLCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDg0LCA4NCwgMCwgMCwgCisgICAgODEsIDgxLCA4MSwgODEsIDEzOCwgMTM4LCAyOCwgMzYsIDI4LCAzNiwgMTM4LCAxMzgsIDEzOCwgMjgsIDM2LCAxMzgsIDI4LCAKKyAgICAzNiwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgODQsIDEzOCwgMTM4LCA4NCwgMTM4LCAKKyAgICAyOCwgMzYsIDEzOCwgMTM4LCAyOCwgMzYsIDE2MywgMTY0LCAxNjMsIDE2NCwgMTYzLCAxNjQsIDE2MywgMTY0LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgNTIsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgODQsIDg0LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDg0LCAxMzgsIDE5NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAKLSAgICAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgCi0gICAgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDAsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ1LCAyNDQsIAorICAgIDAsIDAsIDAsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgCisgICAgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAwLCAyNDQsIAorICAgIDI0NCwgMjQ0LCAyNDQsIDI0NSwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAKICAgICAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgCiAgICAgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIAogICAgIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAKICAgICAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgCiAgICAgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIAotICAgIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NSwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjQ1LCAyNDUsIDI0NSwgMjQ1LCAyNDUsIDI0NSwgMjQ1LCAyNDUsIDI0NSwgCisgICAgMjQ0LCAyNDQsIDI0NCwgMjQ1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNDUsIDI0NSwgMjQ1LCAKICAgICAyNDUsIDI0NSwgMjQ1LCAyNDUsIDI0NSwgMjQ1LCAyNDUsIDI0NSwgMjQ1LCAyNDUsIDI0NSwgMjQ1LCAyNDUsIDI0NSwgCiAgICAgMjQ1LCAyNDUsIDI0NSwgMjQ1LCAyNDUsIDI0NSwgMjQ1LCAyNDUsIDI0NSwgMjQ1LCAyNDUsIDI0NSwgMjQ1LCAyNDUsIAogICAgIDI0NSwgMjQ1LCAyNDUsIDI0NSwgMjQ1LCAyNDUsIDI0NSwgMjQ1LCAyNDUsIDI0NSwgMjQ1LCAyNDUsIDI0NSwgMjQ1LCAKQEAgLTE4NzAsODEgKzE5OTEsODEgQEAKICAgICAyNDUsIDI0NSwgMjQ1LCAyNDUsIDI0NSwgMjQ1LCAyNDUsIDI0NSwgMjQ1LCAyNDUsIDI0NSwgMjQ1LCAyNDUsIDI0NSwgCiAgICAgMjQ1LCAyNDUsIDI0NSwgMjQ1LCAyNDUsIDI0NSwgMjQ1LCAyNDUsIDI0NSwgMjQ1LCAyNDUsIDI0NSwgMjQ1LCAyNDUsIAogICAgIDI0NSwgMjQ1LCAyNDUsIDI0NSwgMjQ1LCAyNDUsIDI0NSwgMjQ1LCAyNDUsIDI0NSwgMjQ1LCAyNDUsIDI0NSwgMjQ1LCAKLSAgICAyNDUsIDI0NSwgMjQ1LCAyNDUsIDI0NSwgMjQ1LCAyNDUsIDI0NSwgMjQ1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNDQsIDI0NCwgMjQ0LCAyNDQsIAotICAgIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAwLCAwLCAwLCAwLCAyNDYsIDI0NywgMjQ3LCAyNDcsIAotICAgIDI0NCwgMjQ4LCAxNzAsIDI0OSwgMjUwLCAyNTEsIDI1MCwgMjUxLCAyNTAsIDI1MSwgMjUwLCAyNTEsIDI1MCwgMjUxLCAKLSAgICAyNDQsIDI0NCwgMjUwLCAyNTEsIDI1MCwgMjUxLCAyNTAsIDI1MSwgMjUwLCAyNTEsIDI1MiwgMjUzLCAyNTQsIDI1NCwgCi0gICAgMjQ0LCAyNDksIDI0OSwgMjQ5LCAyNDksIDI0OSwgMjQ5LCAyNDksIDI0OSwgMjQ5LCAyNTUsIDI1NiwgMjU3LCAyNTgsIAotICAgIDI1OSwgMjU5LCAyNTIsIDI0OCwgMjQ4LCAyNDgsIDI0OCwgMjQ4LCAyNDUsIDI0NCwgMjYwLCAyNjAsIDI2MCwgMjQ4LCAKLSAgICAxNzAsIDI0NywgMjQ0LCAyNiwgMCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAKLSAgICAxNzAsIDI2MSwgMTcwLCAyNjEsIDE3MCwgMjYxLCAxNzAsIDI2MSwgMTcwLCAyNjEsIDE3MCwgMjYxLCAxNzAsIDI2MSwgCi0gICAgMTcwLCAyNjEsIDE3MCwgMjYxLCAxNzAsIDI2MSwgMTcwLCAyNjEsIDE3MCwgMjYxLCAxNzAsIDE3MCwgMjYxLCAxNzAsIAotICAgIDI2MSwgMTcwLCAyNjEsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDI2MSwgMjYxLCAxNzAsIDI2MSwgMjYxLCAKLSAgICAxNzAsIDI2MSwgMjYxLCAxNzAsIDI2MSwgMjYxLCAxNzAsIDI2MSwgMjYxLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCi0gICAgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIAotICAgIDE3MCwgMTcwLCAxNzAsIDI2MSwgMTcwLCAxNzAsIDAsIDAsIDI2MiwgMjYyLCAyNjMsIDI2MywgMjQ4LCAyNjQsIDI2NSwgCi0gICAgMjUyLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMjYxLCAxNzAsIAorICAgIDI0NSwgMjQ1LCAyNDUsIDI0NSwgMjQ1LCAyNDUsIDI0NSwgMjQ1LCAyNDUsIDI0NSwgMjQ1LCAyNDUsIDI0NSwgMjQ1LCAKKyAgICAyNDUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDAsIAorICAgIDAsIDAsIDAsIDI0NiwgMjQ3LCAyNDcsIDI0NywgMjQ0LCAyNDgsIDE3MCwgMjQ5LCAyNTAsIDI1MSwgMjUwLCAyNTEsIDI1MCwgCisgICAgMjUxLCAyNTAsIDI1MSwgMjUwLCAyNTEsIDI0NCwgMjQ0LCAyNTAsIDI1MSwgMjUwLCAyNTEsIDI1MCwgMjUxLCAyNTAsIAorICAgIDI1MSwgMjUyLCAyNTMsIDI1NCwgMjU0LCAyNDQsIDI0OSwgMjQ5LCAyNDksIDI0OSwgMjQ5LCAyNDksIDI0OSwgMjQ5LCAKKyAgICAyNDksIDI1NSwgMjU2LCAyNTcsIDI1OCwgMjU5LCAyNTksIDI1MiwgMjQ4LCAyNDgsIDI0OCwgMjQ4LCAyNDgsIDI0NSwgCisgICAgMjQ0LCAyNjAsIDI2MCwgMjYwLCAyNDgsIDE3MCwgMjQ3LCAyNDQsIDI2LCAwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCisgICAgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMjYxLCAxNzAsIDI2MSwgMTcwLCAyNjEsIDE3MCwgMjYxLCAxNzAsIAogICAgIDI2MSwgMTcwLCAyNjEsIDE3MCwgMjYxLCAxNzAsIDI2MSwgMTcwLCAyNjEsIDE3MCwgMjYxLCAxNzAsIDI2MSwgMTcwLCAKLSAgICAyNjEsIDE3MCwgMjYxLCAxNzAsIDI2MSwgMTcwLCAyNjEsIDE3MCwgMTcwLCAyNjEsIDE3MCwgMjYxLCAxNzAsIDI2MSwgCi0gICAgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMjYxLCAyNjEsIDE3MCwgMjYxLCAyNjEsIDE3MCwgMjYxLCAyNjEsIAotICAgIDE3MCwgMjYxLCAyNjEsIDE3MCwgMjYxLCAyNjEsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAKKyAgICAyNjEsIDE3MCwgMTcwLCAyNjEsIDE3MCwgMjYxLCAxNzAsIDI2MSwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCisgICAgMjYxLCAyNjEsIDE3MCwgMjYxLCAyNjEsIDE3MCwgMjYxLCAyNjEsIDE3MCwgMjYxLCAyNjEsIDE3MCwgMjYxLCAyNjEsIAogICAgIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAKLSAgICAyNjEsIDE3MCwgMTcwLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI0NywgMjQ4LCAyNDgsIDI2NCwgMjY1LCAwLCAwLCAwLCAwLCAKLSAgICAwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCisgICAgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDI2MSwgMTcwLCAxNzAsIDAsIDAsIDI2MiwgMjYyLCAKKyAgICAyNjMsIDI2MywgMjQ4LCAyNjQsIDI2NSwgMjUyLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCisgICAgMTcwLCAxNzAsIDE3MCwgMjYxLCAxNzAsIDI2MSwgMTcwLCAyNjEsIDE3MCwgMjYxLCAxNzAsIDI2MSwgMTcwLCAyNjEsIAorICAgIDE3MCwgMjYxLCAxNzAsIDI2MSwgMTcwLCAyNjEsIDE3MCwgMjYxLCAxNzAsIDI2MSwgMTcwLCAyNjEsIDE3MCwgMTcwLCAKKyAgICAyNjEsIDE3MCwgMjYxLCAxNzAsIDI2MSwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMjYxLCAyNjEsIDE3MCwgCisgICAgMjYxLCAyNjEsIDE3MCwgMjYxLCAyNjEsIDE3MCwgMjYxLCAyNjEsIDE3MCwgMjYxLCAyNjEsIDE3MCwgMTcwLCAxNzAsIAogICAgIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAKLSAgICAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDAsIDAsIDAsIAotICAgIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAKLSAgICAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgCi0gICAgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIAotICAgIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAKLSAgICAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgCi0gICAgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIAotICAgIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMCwgMjY2LCAyNjYsIDI2NywgMjY3LCAKLSAgICAyNjcsIDI2NywgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAxNzAsIDE3MCwgCisgICAgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDI2MSwgMTcwLCAxNzAsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjQ3LCAyNDgsIAorICAgIDI0OCwgMjY0LCAyNjUsIDAsIDAsIDAsIDAsIDAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAKICAgICAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCi0gICAgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAKKyAgICAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMCwgMCwgMCwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIAorICAgIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAKKyAgICAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgCisgICAgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIAorICAgIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAKKyAgICAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgCisgICAgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIAorICAgIDI2NSwgMjY1LCAwLCAyNjYsIDI2NiwgMjY3LCAyNjcsIDI2NywgMjY3LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAKKyAgICAyNjgsIDI2OCwgMjY4LCAyNjgsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCisgICAgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIAorICAgIDE3MCwgMTcwLCAxNzAsIDAsIDAsIDAsIDAsIDAsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAKICAgICAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgCi0gICAgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIAotICAgIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCi0gICAgMTcwLCAxNzAsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIAorICAgIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCisgICAgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIAogICAgIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAKLSAgICAyNjgsIDI2OCwgMjY4LCAyNDUsIDI0NSwgMCwgMjY3LCAyNjcsIDI2NywgMjY3LCAyNjcsIDI2NywgMjY3LCAyNjcsIDI2NywgCi0gICAgMjY3LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIAorICAgIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI0NSwgMjQ1LCAwLCAyNjcsIDI2NywgMjY3LCAKKyAgICAyNjcsIDI2NywgMjY3LCAyNjcsIDI2NywgMjY3LCAyNjcsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgCiAgICAgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIAotICAgIDI2OCwgMjY4LCAyNjgsIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNDUsIDI3MCwgMjcwLCAKLSAgICAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI2OCwgCisgICAgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIAorICAgIDI2OSwgMjY5LCAyNjksIDI0NSwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAKKyAgICAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgCisgICAgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIAorICAgIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNDUsIDI0NSwgMjQ1LCAyNjYsIDI2NywgMjY3LCAyNjcsIDI2NywgMjY3LCAKKyAgICAyNjcsIDI2NywgMjY3LCAyNjcsIDI2NywgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgCisgICAgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIAorICAgIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAKKyAgICAyNjgsIDI2OCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgCisgICAgMjcwLCAyNzAsIDI3MCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIAorICAgIDI2OCwgMjQ1LCAyNDUsIDI0NSwgMjQ1LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAKKyAgICAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgCisgICAgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIAorICAgIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAKKyAgICAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgCisgICAgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIAorICAgIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAKKyAgICAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgCisgICAgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIAorICAgIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAKKyAgICAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgCisgICAgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIAorICAgIDI2OCwgMjY4LCAyNjgsIDI0NSwgMjQ1LCAyNDUsIDI0NSwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAKKyAgICAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgCisgICAgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIAorICAgIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAKKyAgICAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgCisgICAgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIAorICAgIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAKKyAgICAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjQ1LCAyNDUsIDI2OCwgMjY4LCAyNjgsIDI2OCwgCiAgICAgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIAogICAgIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjQ1LCAKLSAgICAyNDUsIDI0NSwgMjY2LCAyNjcsIDI2NywgMjY3LCAyNjcsIDI2NywgMjY3LCAyNjcsIDI2NywgMjY3LCAyNjcsIDI2OCwgCi0gICAgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIAotICAgIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAKLSAgICAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI3MCwgMjcwLCAyNzAsIDI3MCwgCi0gICAgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI2OCwgMjY4LCAyNjgsIAotICAgIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI0NSwgMjQ1LCAyNDUsIDI0NSwgMjY4LCAKLSAgICAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgCi0gICAgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIAotICAgIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAKLSAgICAyNjgsIDI2OCwgMjY4LCAyNjgsIDAsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgCi0gICAgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIAotICAgIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAKLSAgICAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgCi0gICAgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIAotICAgIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAKLSAgICAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgCi0gICAgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIAotICAgIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNDUsIDI0NSwgMjQ1LCAKLSAgICAyNDUsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgCi0gICAgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIAotICAgIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAKLSAgICAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgCi0gICAgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIAotICAgIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAKLSAgICAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgCi0gICAgMjY4LCAyNjgsIDI0NSwgMjQ1LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIAotICAgIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAKLSAgICAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI0NSwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCiAgICAgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIAogICAgIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAKICAgICAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCkBAIC0xOTU3LDY0OSArMjA3OCwxMSBAQAogICAgIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAKICAgICAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCiAgICAgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIAotICAgIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNiwgCi0gICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCi0gICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCi0gICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCi0gICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAKLSAgICAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCi0gICAgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIAotICAgIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAKLSAgICAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCiAgICAgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCi0gICAgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDI0OCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIAotICAgIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAKLSAgICAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCi0gICAgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIAotICAgIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAKLSAgICAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCi0gICAgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIAotICAgIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAKLSAgICAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCi0gICAgMTcwLCAxNzAsIDAsIDAsIDAsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAKLSAgICAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgCi0gICAgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIAotICAgIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAKLSAgICAyNDQsIDI0NCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDUzLCA1MywgNTMsIDUzLCA1MywgCi0gICAgNTMsIDgzLCA4MywgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNTMsIDEzOCwgMTM4LCAKLSAgICAxMzgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAxNDQsIAotICAgIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDQ4LCA0OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCAKLSAgICA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCAKLSAgICA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCAKLSAgICA0NCwgNDcsIDQ4LCA4MSwgODIsIDgyLCA4MiwgMTM4LCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgCi0gICAgMTM4LCA1MiwgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIAotICAgIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgODEsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgCi0gICAgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDgxLCA4MSwgODMsIDgzLCA4MywgODMsIDgzLCA4MywgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgNTQsIDU0LCA1NCwgNTQsIDU0LCA1NCwgNTQsIDU0LCA1NCwgNTQsIDU0LCA1NCwgNTQsIDU0LCA1NCwgNTQsIAotICAgIDU0LCA1NCwgNTQsIDU0LCA1NCwgNTQsIDU0LCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1NCwgNTQsIAotICAgIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDcsIDQ3LCA0NCwgNDcsIAotICAgIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIAotICAgIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIAotICAgIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIAotICAgIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDUxLCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ0LCA0NywgNDQsIAotICAgIDQ3LCA0NCwgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDUyLCAyNzEsIDI3MSwgNDQsIDQ3LCA0NCwgCi0gICAgNDcsIDAsIDQ0LCA0NywgNDQsIDQ3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0NCwgNDcsIDQ0LCAKLSAgICA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUxLCA1MSwgNDcsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCAxMzUsIDQ4LCA0OCwgNDgsIDE0MiwgNDgsIDQ4LCA0OCwgNDgsIDEzNSwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCAxMzksIDEzOSwgMTM1LCAxMzUsIDEzOSwgMjYsIDI2LCAyNiwgMjYsIDAsIDAsIDAsIDAsIDE0OCwgMTQ4LCAxNDgsIAotICAgIDE0OCwgMTQ4LCAxNDgsIDgwLCA4MCwgODUsIDIyNSwgMCwgMCwgMCwgMCwgMCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMTM5LCAxMzksIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIAotICAgIDEzOSwgMTM5LCAxNDIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDgzLCA4MywgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAKLSAgICAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAwLCAwLCAwLCAwLCAwLCAwLCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCAKLSAgICA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA4MywgODMsIDgzLCA0OCwgMCwgMCwgMCwgMCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgCi0gICAgMTQ0LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDg2LCAKLSAgICA4NiwgODYsIDgzLCA4MywgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIAotICAgIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM5LCAxNzUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDgzLCAxNzAsIAotICAgIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAKLSAgICAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMCwgCi0gICAgMCwgMCwgMTM1LCAxMzUsIDEzNSwgMTM5LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDE0NSwgCi0gICAgMTM5LCAxMzksIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM5LCAxMzksIDEzNSwgMTM5LCAxMzksIDEzOSwgMTc1LCA4MywgODMsIAotICAgIDgzLCA4MywgODMsIDgzLCA4MywgODMsIDgzLCA4MywgODMsIDgzLCA4MywgMCwgNTMsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgCi0gICAgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMCwgMCwgMCwgMCwgODMsIDgzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzOSwgMTM5LCAxMzUsIDEzNSwgCi0gICAgMTM5LCAxMzksIDEzNSwgMTM1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0OCwgNDgsIDQ4LCAxMzUsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMTM1LCAxMzksIDAsIDAsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIAotICAgIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMCwgMCwgODMsIDgzLCA4MywgODMsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA1MywgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgODAsIDgwLCA4MCwgCi0gICAgNDgsIDEzOSwgMCwgMCwgMCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgODEsIAotICAgIDQ4LCA4MSwgODEsIDg2LCA0OCwgNDgsIDgxLCA4MSwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA4MSwgODEsIDQ4LCA4MSwgNDgsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDQ4LCA0OCwgNTMsIDgzLCA4MywgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAxMzksIDEzNSwgCi0gICAgMTM1LCAxMzksIDEzOSwgODMsIDgzLCA0OCwgNTMsIDUzLCAxMzksIDE0MiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgMCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDEzOSwgMTM5LCAxMzUsIDEzOSwgMTM5LCAxMzUsIDEzOSwgMTM5LCA4MywgMTM5LCAKLSAgICAxNDIsIDAsIDAsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAKLSAgICAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgCi0gICAgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIAotICAgIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAKLSAgICAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgCi0gICAgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIAotICAgIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAKLSAgICAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgCi0gICAgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIAotICAgIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAKLSAgICAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgCi0gICAgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgMCwgMCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDAsIDAsIDAsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIAotICAgIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAKLSAgICAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgCi0gICAgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIAotICAgIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAKLSAgICAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgCi0gICAgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIAotICAgIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAKLSAgICAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgCi0gICAgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzMsIDI3MywgMjczLCAyNzMsIAotICAgIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAKLSAgICAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgCi0gICAgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIAotICAgIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAKLSAgICAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgCi0gICAgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIAotICAgIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAKLSAgICAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgCi0gICAgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjc0LCAyNzQsIAotICAgIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAKLSAgICAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgCi0gICAgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIAotICAgIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAKLSAgICAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgCi0gICAgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIAotICAgIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAKLSAgICAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgCi0gICAgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIAotICAgIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAKLSAgICAxNzAsIDE3MCwgMjc0LCAxNzAsIDI3NCwgMTcwLCAxNzAsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgCi0gICAgMjc0LCAyNzQsIDI3NCwgMTcwLCAyNzQsIDE3MCwgMjc0LCAxNzAsIDE3MCwgMjc0LCAyNzQsIDE3MCwgMTcwLCAxNzAsIAotICAgIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAKLSAgICAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgCi0gICAgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIAotICAgIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAKLSAgICAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAwLCAwLCAyNzQsIAotICAgIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAKLSAgICAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgCi0gICAgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIAotICAgIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAKLSAgICAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgCi0gICAgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIAotICAgIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAKLSAgICAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzNSwgCi0gICAgMzUsIDM1LCAzNSwgMzUsIDAsIDAsIDAsIDAsIDAsIDI3NSwgMjc2LCAyNzUsIDI3NywgMjc3LCAyNzcsIDI3NywgMjc3LCAKLSAgICAyNzcsIDI3NywgMjc3LCAyNzcsIDIxNSwgMjc1LCAyNzUsIDI3NSwgMjc1LCAyNzUsIDI3NSwgMjc1LCAyNzUsIDI3NSwgCi0gICAgMjc1LCAyNzUsIDI3NSwgMjc1LCAwLCAyNzUsIDI3NSwgMjc1LCAyNzUsIDI3NSwgMCwgMjc1LCAwLCAyNzUsIDI3NSwgMCwgCi0gICAgMjc1LCAyNzUsIDAsIDI3NSwgMjc1LCAyNzUsIDI3NSwgMjc1LCAyNzUsIDI3NSwgMjc1LCAyNzUsIDI3NywgMTMxLCAxMzEsIAotICAgIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAKLSAgICAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgCi0gICAgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIAotICAgIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAKLSAgICAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgCi0gICAgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIAotICAgIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDI3OCwgMjc4LCAKLSAgICAyNzgsIDI3OCwgMjc4LCAyNzgsIDI3OCwgMjc4LCAyNzgsIDI3OCwgMjc4LCAyNzgsIDI3OCwgMjc4LCAyNzgsIDI3OCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIAotICAgIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAKLSAgICAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgCi0gICAgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIAotICAgIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAKLSAgICAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgCi0gICAgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIAotICAgIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAKLSAgICAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgCi0gICAgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIAotICAgIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAKLSAgICAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgCi0gICAgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIAotICAgIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAKLSAgICAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgCi0gICAgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIAotICAgIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAKLSAgICAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxOTUsIDI3OSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIAotICAgIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAKLSAgICAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgCi0gICAgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIAotICAgIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAwLCAwLCAxMzEsIDEzMSwgCi0gICAgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIAotICAgIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAKLSAgICAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgCi0gICAgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIAotICAgIDEzMSwgMTMxLCAyODAsIDI2LCAwLCAwLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgMjgxLCAyODEsIDI4MSwgMjgxLCAyODEsIDI4MSwgMjgxLCAyODIsIDI4MywgMjgxLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjgxLCAKLSAgICAyODQsIDI4NCwgMjg1LCAyODUsIDI4MiwgMjgzLCAyODIsIDI4MywgMjgyLCAyODMsIDI4MiwgMjgzLCAyODIsIDI4MywgCi0gICAgMjgyLCAyODMsIDI4MiwgMjgzLCAyODIsIDI4MywgMjQ3LCAyNDcsIDI4MiwgMjgzLCAyODEsIDI4MSwgMjgxLCAyODEsIAotICAgIDI4NSwgMjg1LCAyODUsIDI4NiwgMjgxLCAyODYsIDAsIDI4MSwgMjg2LCAyODEsIDI4MSwgMjg0LCAyODcsIDI4OCwgMjg3LCAKLSAgICAyODgsIDI4NywgMjg4LCAyODksIDI4MSwgMjgxLCAyOTAsIDI5MSwgMjkyLCAyOTIsIDI5MywgMCwgMjgxLCAyOTQsIDI4OSwgCi0gICAgMjgxLCAwLCAwLCAwLCAwLCAxMzEsIDEzMSwgMTMxLCAxMTgsIDEzMSwgMCwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIAotICAgIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAKLSAgICAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgCi0gICAgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIAotICAgIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAKLSAgICAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgCi0gICAgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIAotICAgIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAKLSAgICAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgCi0gICAgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIAotICAgIDEzMSwgMTMxLCAxMzEsIDEzMSwgMCwgMCwgMTc0LCAwLCAyOTUsIDI5NSwgMjk2LCAyOTcsIDI5NiwgMjk1LCAyOTUsIDI5OCwgCi0gICAgMjk5LCAyOTUsIDMwMCwgMzAxLCAzMDIsIDMwMSwgMzAxLCAzMDMsIDMwMywgMzAzLCAzMDMsIDMwMywgMzAzLCAzMDMsIAotICAgIDMwMywgMzAzLCAzMDMsIDMwMSwgMjk1LCAzMDQsIDMwNSwgMzA0LCAyOTUsIDI5NSwgMzA2LCAzMDYsIDMwNiwgMzA2LCAKLSAgICAzMDYsIDMwNiwgMzA2LCAzMDYsIDMwNiwgMzA2LCAzMDYsIDMwNiwgMzA2LCAzMDYsIDMwNiwgMzA2LCAzMDYsIDMwNiwgCi0gICAgMzA2LCAzMDYsIDMwNiwgMzA2LCAzMDYsIDMwNiwgMzA2LCAzMDYsIDI5OCwgMjk1LCAyOTksIDMwNywgMzA4LCAzMDcsIAotICAgIDMwOSwgMzA5LCAzMDksIDMwOSwgMzA5LCAzMDksIDMwOSwgMzA5LCAzMDksIDMwOSwgMzA5LCAzMDksIDMwOSwgMzA5LCAKLSAgICAzMDksIDMwOSwgMzA5LCAzMDksIDMwOSwgMzA5LCAzMDksIDMwOSwgMzA5LCAzMDksIDMwOSwgMzA5LCAyOTgsIDMwNSwgCi0gICAgMjk5LCAzMDUsIDI5OCwgMjk5LCAzMTAsIDMxMSwgMzEyLCAzMTAsIDMxMCwgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIAotICAgIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTQsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAKLSAgICAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgCi0gICAgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIAotICAgIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxNCwgMzE0LCAzMTMsIDMxMywgMzEzLCAKLSAgICAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgCi0gICAgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDAsIAotICAgIDAsIDAsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDAsIDAsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIAotICAgIDAsIDAsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDAsIDAsIDMxMywgMzEzLCAzMTMsIDAsIDAsIDAsIDI5NywgCi0gICAgMjk3LCAzMDUsIDMwNywgMzE1LCAyOTcsIDI5NywgMCwgMzE2LCAzMTcsIDMxNywgMzE3LCAzMTcsIDMxNiwgMzE2LCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzMTgsIDMxOCwgMzE4LCAyNiwgMzAsIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDAsIDQ4LCA0OCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgMCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCAwLCAwLCAwLCAwLCAwLCA4MywgMTM4LCA4MywgMCwgMCwgMCwgMCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgCi0gICAgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIAotICAgIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAKLSAgICAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMCwgMCwgMCwgODAsIDgwLCAKLSAgICA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgMzE5LCAzMTksIDMxOSwgMzE5LCAzMTksIDMxOSwgMzE5LCAzMTksIDMxOSwgCi0gICAgMzE5LCAzMTksIDMxOSwgMzE5LCAzMTksIDMxOSwgMzE5LCAzMTksIDMxOSwgMzE5LCAzMTksIDMxOSwgMzE5LCAzMTksIAotICAgIDMxOSwgMzE5LCAzMTksIDMxOSwgMzE5LCAzMTksIDMxOSwgMzE5LCAzMTksIDMxOSwgMzE5LCAzMTksIDMxOSwgMzE5LCAKLSAgICAzMTksIDMxOSwgMzE5LCAzMTksIDMxOSwgMzE5LCAzMTksIDMxOSwgMzE5LCAzMTksIDMxOSwgMzE5LCAzMTksIDMxOSwgCi0gICAgMzE5LCAzMTksIDE1MywgMTUzLCAxNTMsIDE1MywgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAxNTMsIDAsIDAsIDAsIDAsIDAsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgCi0gICAgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgCi0gICAgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDg2LCAwLCAwLCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgMCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDE3MywgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAxNzMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDgzLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCAwLCAwLCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDgzLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCAKLSAgICA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCAKLSAgICA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCAKLSAgICA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCAKLSAgICA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICAwLCAwLCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDAsIDAsIDEwNywgMCwgMTA3LCAKLSAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCi0gICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIAotICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAKLSAgICAxMDcsIDAsIDEwNywgMTA3LCAwLCAwLCAwLCAxMDcsIDAsIDAsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCi0gICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIAotICAgIDEwNywgMTA3LCAwLCAxMDQsIDMyMCwgMzIwLCAzMjAsIDMyMCwgMzIwLCAzMjAsIDMyMCwgMzIwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIAotICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDMyMCwgMzIwLCAzMjAsIDMyMCwgMzIwLCAKLSAgICAzMjAsIDAsIDAsIDAsIDEzOCwgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIAotICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAKLSAgICAxMDcsIDAsIDAsIDAsIDAsIDAsIDEwNCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIAotICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAKLSAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCi0gICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDEwNywgMTA3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAxMDcsIDEzNSwgMTM1LCAxMzUsIDAsIDEzNSwgMTM1LCAwLCAwLCAwLCAwLCAwLCAxMzUsIDg2LCAxMzUsIDgxLCAxMDcsIAotICAgIDEwNywgMTA3LCAxMDcsIDAsIDEwNywgMTA3LCAxMDcsIDAsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCi0gICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIAotICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDAsIDAsIDAsIDAsIDgxLCAxNzYsIDg2LCAwLCAwLCAwLCAwLCAxNDIsIAotICAgIDMyMCwgMzIwLCAzMjAsIDMyMCwgMzIwLCAzMjAsIDMyMCwgMzIwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMDQsIDEwNCwgCi0gICAgMTA0LCAxMDQsIDEwNCwgMTA0LCAxMDQsIDEwNCwgMTA0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMDcsIDEwNywgMTA3LCAKLSAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCi0gICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMzIwLCAzMjAsIAotICAgIDEwNCwgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAKLSAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCi0gICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIAotICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMCwgMCwgMCwgCi0gICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIAotICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAKLSAgICAxMDcsIDAsIDAsIDMyMCwgMzIwLCAzMjAsIDMyMCwgMzIwLCAzMjAsIDMyMCwgMzIwLCAxMDcsIDEwNywgMTA3LCAxMDcsIAotICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAKLSAgICAxMDcsIDAsIDAsIDAsIDAsIDAsIDMyMCwgMzIwLCAzMjAsIDMyMCwgMzIwLCAzMjAsIDMyMCwgMzIwLCAxMDcsIDEwNywgCi0gICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIAotICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAKLSAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCi0gICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIAotICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAKLSAgICAxMDcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDMyMSwgMzIxLCAzMjEsIDMyMSwgMzIxLCAzMjEsIDMyMSwgMzIxLCAzMjEsIDMyMSwgCi0gICAgMzIxLCAzMjEsIDMyMSwgMzIxLCAzMjEsIDMyMSwgMzIxLCAzMjEsIDMyMSwgMzIxLCAzMjEsIDMyMSwgMzIxLCAzMjEsIAotICAgIDMyMSwgMzIxLCAzMjEsIDMyMSwgMzIxLCAzMjEsIDMyMSwgMCwgMTM5LCAxMzUsIDEzOSwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgCi0gICAgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTQyLCA4MywgODMsIDgzLCA4MywgODMsIDgzLCAKLSAgICA4MywgMCwgMCwgMCwgMCwgMTUzLCAxNTMsIDE1MywgMTUzLCAxNTMsIDE1MywgMTUzLCAxNTMsIDE1MywgMTUzLCAxNTMsIAotICAgIDE1MywgMTUzLCAxNTMsIDE1MywgMTUzLCAxNTMsIDE1MywgMTUzLCAxNTMsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAKLSAgICAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMTM1LCAxMzUsIDEzOSwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAxNDAsIDQ4LCAxNDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMTQwLCA0OCwgNDgsIDQ4LCA0OCwgMTM5LCAxMzksIDEzOSwgMTM1LCAKLSAgICAxMzUsIDEzNSwgMTM1LCAxMzksIDEzOSwgMTQyLCAxNDEsIDgzLCA4MywgMTg4LCA4MywgODMsIDgzLCA4MywgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgODEsIDgxLCA4MSwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgMTQ5LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzOSwgMTM1LCAxNTAsIDE1MCwgMTM1LCAxMzUsIAotICAgIDEzNSwgMTQyLCAxNDIsIDAsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgODMsIAotICAgIDgzLCA4MywgODMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEzNSwgMTM1LCAxMzksIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDEzOSwgMTM5LCAxMzksIDEzNSwgMTM1LCAxMzUsIAotICAgIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzOSwgMTc1LCA0OCwgNDgsIDQ4LCA0OCwgODMsIDgzLCA4MywgODMsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDEzNSwgCi0gICAgMTM5LCAxMzUsIDEzOSwgMTM5LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxNzUsIDE0NSwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNzMsIAotICAgIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAKLSAgICAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgCi0gICAgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIAotICAgIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAKLSAgICAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgCi0gICAgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIAotICAgIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA4MywgODMsIDgzLCA4MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0OCwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIAotICAgIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAKLSAgICAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgCi0gICAgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMzUsIDEzNSwgMTM1LCAxMzUsIDUzLCA1MywgNTMsIAotICAgIDUzLCA1MywgNTMsIDUzLCA1MywgNTMsIDUzLCA1MywgNTMsIDUzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNzAsIDE3MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgODAsIDgwLCAKLSAgICA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCAKLSAgICA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCAKLSAgICA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCAKLSAgICA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCAKLSAgICA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCAKLSAgICA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCAKLSAgICA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDgwLCA4MCwgODAsIAotICAgIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIAotICAgIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIAotICAgIDAsIDAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgCi0gICAgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgCi0gICAgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgCi0gICAgMzIyLCAzMjIsIDMyMiwgMzIyLCAzMjIsIDMyMiwgMzIyLCAzMjMsIDMyMywgMTc2LCAxNzYsIDE3NiwgODAsIDgwLCA4MCwgCi0gICAgMzI0LCAzMjMsIDMyMywgMzIzLCAzMjMsIDMyMywgMTc0LCAxNzQsIDE3NCwgMTc0LCAxNzQsIDE3NCwgMTc0LCAxNzQsIDg2LCAKLSAgICA4NiwgODYsIDg2LCA4NiwgODYsIDg2LCA4NiwgODAsIDgwLCA4MSwgODEsIDgxLCA4MSwgODEsIDg2LCA4NiwgODAsIDgwLCAKLSAgICA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCAKLSAgICA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODEsIDgxLCA4MSwgODEsIDgwLCA4MCwgODAsIDgwLCAKLSAgICA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCAzMjIsIDMyMiwgMzIyLCAzMjIsIDMyMiwgMzIyLCA4MCwgODAsIAotICAgIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIAotICAgIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI2LCAyNiwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKICAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKICAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgODEsIDgxLCA4MSwgMjYsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAotICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAotICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAotICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAotICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIAotICAgIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgCi0gICAgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgCi0gICAgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgCi0gICAgMzUsIDM1LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgCi0gICAgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAwLCAKLSAgICAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAKLSAgICA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCAKLSAgICA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAKLSAgICAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgNDksIDAsIAotICAgIDQ5LCA0OSwgMCwgMCwgNDksIDAsIDAsIDQ5LCA0OSwgMCwgMCwgNDksIDQ5LCA0OSwgNDksIDAsIDQ5LCA0OSwgNDksIDQ5LCAKLSAgICA0OSwgNDksIDQ5LCA0OSwgMzUsIDM1LCAzNSwgMzUsIDAsIDM1LCAwLCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMCwgCi0gICAgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgCi0gICAgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgCi0gICAgNDksIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgCi0gICAgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgNDksIDQ5LCAwLCA0OSwgNDksIDQ5LCA0OSwgMCwgMCwgNDksIAotICAgIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCAwLCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgMCwgMzUsIDM1LCAzNSwgCi0gICAgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgCi0gICAgMzUsIDM1LCAzNSwgMzUsIDM1LCA0OSwgNDksIDAsIDQ5LCA0OSwgNDksIDQ5LCAwLCA0OSwgNDksIDQ5LCA0OSwgNDksIDAsIAotICAgIDQ5LCAwLCAwLCAwLCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgMCwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIAotICAgIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIAotICAgIDM1LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIAotICAgIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIAotICAgIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgNDksIAotICAgIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIAotICAgIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIAotICAgIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDQ5LCA0OSwgNDksIAotICAgIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIAotICAgIDQ5LCA0OSwgNDksIDQ5LCA0OSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIAotICAgIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCA0OSwgNDksIDQ5LCA0OSwgNDksIAotICAgIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIAotICAgIDQ5LCA0OSwgNDksIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIAotICAgIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIAotICAgIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIAotICAgIDQ5LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIAotICAgIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIAotICAgIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgMzUsIAotICAgIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIAotICAgIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDAsIDAsIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgCi0gICAgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCAzMjUsIAotICAgIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIAotICAgIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAyMjYsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDQ5LCA0OSwgNDksIDQ5LCAKLSAgICA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCAKLSAgICA0OSwgNDksIDQ5LCAzMjUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgCi0gICAgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAyMjYsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIAotICAgIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIAotICAgIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCAzMjUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAKLSAgICAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAyMjYsIDM1LCAzNSwgCi0gICAgMzUsIDM1LCAzNSwgMzUsIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgCi0gICAgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCAzMjUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIAotICAgIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIAotICAgIDM1LCAyMjYsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCAKLSAgICA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCAzMjUsIDM1LCAzNSwgCi0gICAgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgCi0gICAgMzUsIDM1LCAzNSwgMzUsIDM1LCAyMjYsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDQ5LCAzNSwgMCwgMCwgMzI2LCAzMjYsIAotICAgIDMyNiwgMzI2LCAzMjYsIDMyNiwgMzI2LCAzMjYsIDMyNiwgMzI2LCAzMjYsIDMyNiwgMzI2LCAzMjYsIDMyNiwgMzI2LCAKLSAgICAzMjYsIDMyNiwgMzI2LCAzMjYsIDMyNiwgMzI2LCAzMjYsIDMyNiwgMzI2LCAzMjYsIDMyNiwgMzI2LCAzMjYsIDMyNiwgCi0gICAgMzI2LCAzMjYsIDMyNiwgMzI2LCAzMjYsIDMyNiwgMzI2LCAzMjYsIDMyNiwgMzI2LCAzMjYsIDMyNiwgMzI2LCAzMjYsIAotICAgIDMyNiwgMzI2LCAzMjYsIDMyNiwgMzI2LCAzMjYsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMCwgMTMxLCAxMzEsIDEzMSwgMTMxLCAKLSAgICAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgCi0gICAgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMCwgMTMxLCAxMzEsIDAsIDEzMSwgMCwgMCwgCi0gICAgMTMxLCAwLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDAsIDEzMSwgMTMxLCAKLSAgICAxMzEsIDEzMSwgMCwgMTMxLCAwLCAxMzEsIDAsIDAsIDAsIDAsIDAsIDAsIDEzMSwgMCwgMCwgMCwgMCwgMTMxLCAwLCAxMzEsIAotICAgIDAsIDEzMSwgMCwgMTMxLCAxMzEsIDEzMSwgMCwgMTMxLCAxMzEsIDAsIDEzMSwgMCwgMCwgMTMxLCAwLCAxMzEsIDAsIDEzMSwgCi0gICAgMCwgMTMxLCAwLCAxMzEsIDAsIDEzMSwgMTMxLCAwLCAxMzEsIDAsIDAsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMCwgMTMxLCAKLSAgICAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAwLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDAsIDEzMSwgMTMxLCAxMzEsIAotICAgIDEzMSwgMCwgMTMxLCAwLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDAsIDEzMSwgCi0gICAgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIAotICAgIDEzMSwgMTMxLCAwLCAwLCAwLCAwLCAwLCAxMzEsIDEzMSwgMTMxLCAwLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMCwgCi0gICAgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIAotICAgIDEzMSwgMTMxLCAxMzEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDc4LCA3OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAwLCAwLCAwLCAwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMCwgMCwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAotICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAwLCAwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCi0gICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAKLSAgICAzNCwgMzQsIDAsIDAsIDAsIDAsIDAsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgCi0gICAgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIAotICAgIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDMyNywgMCwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAKLSAgICAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgCi0gICAgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDMyOCwgMzI4LCAzMjgsIAotICAgIDMyOCwgMzI4LCAzMjgsIDMyOCwgMzI4LCAzMjgsIDMyOCwgMzI4LCAzMjgsIDMyOCwgMzI4LCAzMjgsIDMyOCwgMzI4LCAKLSAgICAzMjgsIDMyOCwgMzI4LCAzMjgsIDMyOCwgMzI4LCAzMjgsIDMyOCwgMzI4LCAyMjIsIDIyMiwgMCwgMCwgMCwgMCwgMzI4LCAKLSAgICAzMjgsIDMyOCwgMzI4LCAzMjgsIDMyOCwgMzI4LCAzMjgsIDMyOCwgMzI4LCAzMjgsIDMyOCwgMzI4LCAzMjgsIDMyOCwgCi0gICAgMzI4LCAzMjgsIDMyOCwgMzI4LCAzMjgsIDMyOCwgMzI4LCAzMjgsIDMyOCwgMzI4LCAzMjgsIDMyOCwgMzI4LCAzMjgsIAotICAgIDMyOCwgMzI4LCAzMjgsIDI0MSwgMzI4LCAzMjgsIDMyOCwgMzI4LCAzMjgsIDMyOCwgMzI4LCAzMjgsIDMyOCwgMzI4LCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIAotICAgIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDI2OCwgMjY4LCAyNjgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAKLSAgICAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgCi0gICAgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIAotICAgIDI2OCwgMjY4LCAyNjgsIDI2OCwgMCwgMCwgMCwgMCwgMCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAKLSAgICAyNjgsIDI2OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjY4LCAyNjgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI2LCAyNiwgCi0gICAgMjYsIDI2LCAyNiwgMjYsIDAsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAwLCAwLCAwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCi0gICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI2LCAyNiwgCi0gICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCi0gICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAwLCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCi0gICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCi0gICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCi0gICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCi0gICAgMjYsIDI2LCAyNiwgMCwgMjYsIDAsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMCwgMjYsIDI2LCAyNiwgMjYsIDAsIDAsIDAsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMCwgMCwgMjYsIDI2LCAyNiwgMjYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAotICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAwLCAwLCAwLCAwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCi0gICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCi0gICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCi0gICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDE3MCwgCiAgICAgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIAogICAgIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAKICAgICAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCkBAIC0yNjA3LDM2ICsyMDkwLDg0MyBAQAogICAgIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAKICAgICAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCiAgICAgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIAotICAgIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAKLSAgICAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIAorICAgIDI0OCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAKICAgICAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCiAgICAgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIAogICAgIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAKICAgICAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCiAgICAgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIAotICAgIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAwLCAKKyAgICAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCisgICAgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIAorICAgIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAwLCAwLCAwLCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgCisgICAgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIAorICAgIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAKKyAgICAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgCisgICAgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA1MywgNTMsIDUzLCA1MywgNTMsIDUzLCA4MywgODMsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDUzLCAxMzgsIDEzOCwgMTM4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIAorICAgIDE0NCwgMTQ0LCA0OCwgNDgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgCisgICAgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgCisgICAgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0OCwgODEsIDgyLCA4MiwgODIsIDEzOCwgODEsIAorICAgIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDEzOCwgNTIsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCAKKyAgICA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCAKKyAgICA0NywgNDQsIDQ3LCA1MSwgNTEsIDAsIDgxLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCA4MSwgCisgICAgODEsIDgzLCA4MywgODMsIDgzLCA4MywgODMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU0LCA1NCwgNTQsIDU0LCA1NCwgCisgICAgNTQsIDU0LCA1NCwgNTQsIDU0LCA1NCwgNTQsIDU0LCA1NCwgNTQsIDU0LCA1NCwgNTQsIDU0LCA1NCwgNTQsIDU0LCA1NCwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTQsIDU0LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgCisgICAgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ3LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgCisgICAgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgCisgICAgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgCisgICAgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA1MSwgCisgICAgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgCisgICAgNDcsIDQ0LCA0NywgNDQsIDQ3LCA1MiwgMjcxLCAyNzEsIDQ0LCA0NywgNDQsIDQ3LCAwLCA0NCwgNDcsIDQ0LCA0NywgNDcsIAorICAgIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIAorICAgIDQ3LCA0NCwgNDcsIDQ0LCA0NCwgNDQsIDQ0LCAwLCAwLCA0NCwgNDQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ4LCA1MSwgNTEsIDQ3LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgMTM1LCA0OCwgNDgsIDQ4LCAxNDIsIDQ4LCA0OCwgNDgsIDQ4LCAxMzUsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMTM5LCAKKyAgICAxMzksIDEzNSwgMTM1LCAxMzksIDI2LCAyNiwgMjYsIDI2LCAwLCAwLCAwLCAwLCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgCisgICAgMTQ4LCA4MCwgODAsIDg1LCAyMjUsIDAsIDAsIDAsIDAsIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDEzOSwgMTM5LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDEzOSwgCisgICAgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIAorICAgIDEzOSwgMTQyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA4MywgODMsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAKKyAgICAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMCwgMCwgMCwgMCwgMCwgMCwgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIAorICAgIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgODMsIAorICAgIDgzLCA4MywgNDgsIDAsIDAsIDAsIDAsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCA4NiwgODYsIAorICAgIDg2LCA4MywgODMsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIAorICAgIDEzNSwgMTM1LCAxMzUsIDEzOSwgMTc1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA4MywgMTcwLCAxNzAsIAorICAgIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAKKyAgICAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDAsIDAsIDAsIAorICAgIDEzNSwgMTM1LCAxMzUsIDEzOSwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAxNDUsIDEzOSwgCisgICAgMTM5LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzOSwgMTM5LCAxMzUsIDEzOSwgMTM5LCAxMzksIDE3NSwgODMsIDgzLCA4MywgCisgICAgODMsIDgzLCA4MywgODMsIDgzLCA4MywgODMsIDgzLCA4MywgODMsIDAsIDUzLCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgCisgICAgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDAsIDAsIDAsIDAsIDgzLCA4MywgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAxMzUsIDUzLCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIAorICAgIDE0NCwgMTQ0LCAxNDQsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAxMzUsIDEzNSwgMTM1LCAKKyAgICAxMzUsIDEzNSwgMTM1LCAxMzksIDEzOSwgMTM1LCAxMzUsIDEzOSwgMTM5LCAxMzUsIDEzNSwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgNDgsIDQ4LCA0OCwgMTM1LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDEzNSwgMTM5LCAwLCAwLCAKKyAgICAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDAsIDAsIDgzLCA4MywgODMsIDgzLCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNTMsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDgwLCA4MCwgODAsIDQ4LCAxMzksIDEzNSwgMTM5LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDgxLCA0OCwgODEsIDgxLCA4NiwgNDgsIDQ4LCA4MSwgODEsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgODEsIDgxLCA0OCwgODEsIDQ4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0OCwgNDgsIDUzLCA4MywgODMsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMTM5LCAxMzUsIDEzNSwgMTM5LCAxMzksIDgzLCA4MywgNDgsIDUzLCAKKyAgICA1MywgMTM5LCAxNDIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDAsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgCisgICAgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgCisgICAgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgCisgICAgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDI3MSwgNTEsIDUxLCA1MSwgNTEsIDAsIDAsIDAsIDAsIDQ3LCA0NywgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMTM5LCAxMzksIDEzNSwgMTM5LCAxMzksIAorICAgIDEzNSwgMTM5LCAxMzksIDgzLCAxMzksIDE0MiwgMCwgMCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAKKyAgICAxNDQsIDE0NCwgMTQ0LCAwLCAwLCAwLCAwLCAwLCAwLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgCisgICAgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIAorICAgIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAKKyAgICAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgCisgICAgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIAorICAgIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAKKyAgICAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgCisgICAgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIAorICAgIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAKKyAgICAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgCisgICAgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIAorICAgIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAKKyAgICAyNjEsIDI2MSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCAwLCAwLCAKKyAgICAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgMCwgMCwgMCwgMjcyLCAKKyAgICAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgCisgICAgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIAorICAgIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAKKyAgICAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgCisgICAgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIAorICAgIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAKKyAgICAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgCisgICAgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIAorICAgIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAKKyAgICAyNzIsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgCisgICAgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIAorICAgIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAKKyAgICAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgCisgICAgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIAorICAgIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAKKyAgICAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgCisgICAgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIAorICAgIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAKKyAgICAyNzMsIDI3MywgMjczLCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgCiAgICAgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIAotICAgIDI3NCwgMjc0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgCisgICAgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIAorICAgIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAKKyAgICAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgCisgICAgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIAorICAgIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAKKyAgICAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgCisgICAgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIAorICAgIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAxNzAsIDE3MCwgMjc0LCAxNzAsIDI3NCwgMTcwLCAxNzAsIDI3NCwgMjc0LCAKKyAgICAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMTcwLCAyNzQsIDE3MCwgMjc0LCAxNzAsIDE3MCwgCisgICAgMjc0LCAyNzQsIDE3MCwgMTcwLCAxNzAsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIAorICAgIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAKKyAgICAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgCisgICAgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIAorICAgIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAKKyAgICAyNzQsIDI3NCwgMjc0LCAwLCAwLCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIAorICAgIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAKKyAgICAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgCisgICAgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIAorICAgIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAKKyAgICAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgCisgICAgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIAorICAgIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzNSwgMzUsIDM1LCAzNSwgMzUsIDAsIDAsIDAsIDAsIDAsIDI3NSwgMjc2LCAyNzUsIAorICAgIDI3NywgMjc3LCAyNzcsIDI3NywgMjc3LCAyNzcsIDI3NywgMjc3LCAyNzcsIDIxNSwgMjc1LCAyNzUsIDI3NSwgMjc1LCAKKyAgICAyNzUsIDI3NSwgMjc1LCAyNzUsIDI3NSwgMjc1LCAyNzUsIDI3NSwgMjc1LCAwLCAyNzUsIDI3NSwgMjc1LCAyNzUsIDI3NSwgCisgICAgMCwgMjc1LCAwLCAyNzUsIDI3NSwgMCwgMjc1LCAyNzUsIDAsIDI3NSwgMjc1LCAyNzUsIDI3NSwgMjc1LCAyNzUsIDI3NSwgCisgICAgMjc1LCAyNzUsIDI3NywgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIAorICAgIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAKKyAgICAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgCisgICAgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIAorICAgIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAKKyAgICAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgCisgICAgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIAorICAgIDEzMSwgMTMxLCAxMzEsIDI3OCwgMjc4LCAyNzgsIDI3OCwgMjc4LCAyNzgsIDI3OCwgMjc4LCAyNzgsIDI3OCwgMjc4LCAKKyAgICAyNzgsIDI3OCwgMjc4LCAyNzgsIDI3OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIAorICAgIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAKKyAgICAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgCisgICAgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIAorICAgIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAKKyAgICAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgCisgICAgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIAorICAgIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAKKyAgICAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgCisgICAgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIAorICAgIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAKKyAgICAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgCisgICAgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIAorICAgIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAKKyAgICAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgCisgICAgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIAorICAgIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAyNzksIDE5NSwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAKKyAgICAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgCisgICAgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIAorICAgIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAKKyAgICAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgCisgICAgMTMxLCAwLCAwLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAKKyAgICAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgCisgICAgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIAorICAgIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgCisgICAgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAyODAsIDI2LCAwLCAwLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKKyAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgMjgxLCAyODEsIDI4MSwgMjgxLCAyODEsIDI4MSwgCisgICAgMjgxLCAyODIsIDI4MywgMjgxLCAwLCAwLCAwLCAwLCAwLCAwLCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgODYsIDg2LCAKKyAgICA4NiwgODYsIDg2LCA4NiwgODYsIDAsIDAsIDI4MSwgMjg0LCAyODQsIDI4NSwgMjg1LCAyODIsIDI4MywgMjgyLCAyODMsIAorICAgIDI4MiwgMjgzLCAyODIsIDI4MywgMjgyLCAyODMsIDI4MiwgMjgzLCAyODIsIDI4MywgMjgyLCAyODMsIDI0NywgMjQ3LCAKKyAgICAyODIsIDI4MywgMjgxLCAyODEsIDI4MSwgMjgxLCAyODUsIDI4NSwgMjg1LCAyODYsIDI4MSwgMjg2LCAwLCAyODEsIDI4NiwgCisgICAgMjgxLCAyODEsIDI4NCwgMjg3LCAyODgsIDI4NywgMjg4LCAyODcsIDI4OCwgMjg5LCAyODEsIDI4MSwgMjkwLCAyOTEsIAorICAgIDI5MiwgMjkyLCAyOTMsIDAsIDI4MSwgMjk0LCAyODksIDI4MSwgMCwgMCwgMCwgMCwgMTMxLCAxMzEsIDEzMSwgMTE4LCAKKyAgICAxMzEsIDAsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgCisgICAgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIAorICAgIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAKKyAgICAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgCisgICAgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIAorICAgIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAKKyAgICAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgCisgICAgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIAorICAgIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAKKyAgICAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDAsIDAsIDE3NCwgMCwgMjk1LCAyOTUsIAorICAgIDI5NiwgMjk3LCAyOTYsIDI5NSwgMjk1LCAyOTgsIDI5OSwgMjk1LCAzMDAsIDMwMSwgMzAyLCAzMDEsIDMwMSwgMzAzLCAKKyAgICAzMDMsIDMwMywgMzAzLCAzMDMsIDMwMywgMzAzLCAzMDMsIDMwMywgMzAzLCAzMDEsIDI5NSwgMzA0LCAzMDUsIDMwNCwgCisgICAgMjk1LCAyOTUsIDMwNiwgMzA2LCAzMDYsIDMwNiwgMzA2LCAzMDYsIDMwNiwgMzA2LCAzMDYsIDMwNiwgMzA2LCAzMDYsIAorICAgIDMwNiwgMzA2LCAzMDYsIDMwNiwgMzA2LCAzMDYsIDMwNiwgMzA2LCAzMDYsIDMwNiwgMzA2LCAzMDYsIDMwNiwgMzA2LCAKKyAgICAyOTgsIDI5NSwgMjk5LCAzMDcsIDMwOCwgMzA3LCAzMDksIDMwOSwgMzA5LCAzMDksIDMwOSwgMzA5LCAzMDksIDMwOSwgCisgICAgMzA5LCAzMDksIDMwOSwgMzA5LCAzMDksIDMwOSwgMzA5LCAzMDksIDMwOSwgMzA5LCAzMDksIDMwOSwgMzA5LCAzMDksIAorICAgIDMwOSwgMzA5LCAzMDksIDMwOSwgMjk4LCAzMDUsIDI5OSwgMzA1LCAyOTgsIDI5OSwgMzEwLCAzMTEsIDMxMiwgMzEwLCAKKyAgICAzMTAsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzE0LCAzMTMsIDMxMywgCisgICAgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIAorICAgIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAKKyAgICAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgCisgICAgMzEzLCAzMTQsIDMxNCwgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIAorICAgIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAKKyAgICAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAwLCAwLCAwLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAwLCAKKyAgICAwLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAwLCAwLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAwLCAKKyAgICAwLCAzMTMsIDMxMywgMzEzLCAwLCAwLCAwLCAyOTcsIDI5NywgMzA1LCAzMDcsIDMxNSwgMjk3LCAyOTcsIDAsIDMxNiwgCisgICAgMzE3LCAzMTcsIDMxNywgMzE3LCAzMTYsIDMxNiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzE4LCAzMTgsIAorICAgIDMxOCwgMjYsIDMwLCAwLCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCA0OCwgNDgsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgMCwgMCwgMCwgMCwgODMsIDEzOCwgODMsIDAsIDAsIAorICAgIDAsIDAsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgCisgICAgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIAorICAgIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAKKyAgICAxNDgsIDE0OCwgMTQ4LCAxNDgsIDAsIDAsIDAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDMxOSwgCisgICAgMzE5LCAzMTksIDMxOSwgMzE5LCAzMTksIDMxOSwgMzE5LCAzMTksIDMxOSwgMzE5LCAzMTksIDMxOSwgMzE5LCAzMTksIAorICAgIDMxOSwgMzE5LCAzMTksIDMxOSwgMzE5LCAzMTksIDMxOSwgMzE5LCAzMTksIDMxOSwgMzE5LCAzMTksIDMxOSwgMzE5LCAKKyAgICAzMTksIDMxOSwgMzE5LCAzMTksIDMxOSwgMzE5LCAzMTksIDMxOSwgMzE5LCAzMTksIDMxOSwgMzE5LCAzMTksIDMxOSwgCisgICAgMzE5LCAzMTksIDMxOSwgMzE5LCAzMTksIDMxOSwgMzE5LCAzMTksIDMxOSwgMzE5LCAxNTMsIDE1MywgMTUzLCAxNTMsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMTUzLCAxNTMsIAorICAgIDI2LCAwLCAwLCAwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAwLCAwLCAwLCAwLCAKKyAgICAyNiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgCisgICAgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgCisgICAgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDE3NCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTc0LCAxNzQsIDE3NCwgMTc0LCAxNzQsIDE3NCwgMTc0LCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICA4NiwgMzIwLCAzMjAsIDMyMCwgMzIwLCAzMjAsIDMyMCwgMzIwLCAzMjAsIDMyMCwgMzIwLCAzMjAsIDMyMCwgMzIwLCAzMjAsIAorICAgIDMyMCwgMzIwLCAzMjAsIDMyMCwgMzIwLCAzMjAsIDMyMCwgMzIwLCAzMjAsIDMyMCwgMzIwLCAzMjAsIDMyMCwgMCwgMCwgMCwgCisgICAgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAxNDgsIDE0OCwgCisgICAgMTQ4LCAxNDgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMTczLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDE3MywgMCwgMCwgMCwgMCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA4MSwgODEsIDgxLCA4MSwgODEsIDAsIDAsIDAsIDAsIDAsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDgzLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCAwLCAwLCAwLCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDgzLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIAorICAgIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIAorICAgIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIAorICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIAorICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCAwLCAwLCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgODMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAwLCAKKyAgICAwLCAxMDcsIDAsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIAorICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAKKyAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCisgICAgMTA3LCAxMDcsIDEwNywgMTA3LCAwLCAxMDcsIDEwNywgMCwgMCwgMCwgMTA3LCAwLCAwLCAxMDcsIDEwNywgMTA3LCAxMDcsIAorICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAKKyAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMCwgMTA0LCAzMjEsIDMyMSwgMzIxLCAzMjEsIDMyMSwgMzIxLCAzMjEsIDMyMSwgCisgICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIAorICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDMyMiwgMzIyLCAzMjEsIDMyMSwgMzIxLCAKKyAgICAzMjEsIDMyMSwgMzIxLCAzMjEsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCisgICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIAorICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzIxLCAzMjEsIDMyMSwgCisgICAgMzIxLCAzMjEsIDMyMSwgMzIxLCAzMjEsIDMyMSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTA3LCAxMDcsIDEwNywgMTA3LCAKKyAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCisgICAgMTA3LCAxMDcsIDEwNywgMTA3LCAzMjEsIDMyMSwgMzIxLCAzMjEsIDMyMSwgMzIxLCAwLCAwLCAwLCAxMzgsIDEwNywgMTA3LCAKKyAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCisgICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAwLCAwLCAwLCAwLCAwLCAxMDQsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAKKyAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCisgICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIAorICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAKKyAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAwLCAwLCAwLCAwLCAwLCAwLCAxMDcsIDEwNywgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTA3LCAxMzUsIDEzNSwgMTM1LCAwLCAKKyAgICAxMzUsIDEzNSwgMCwgMCwgMCwgMCwgMCwgMTM1LCA4NiwgMTM1LCA4MSwgMTA3LCAxMDcsIDEwNywgMTA3LCAwLCAxMDcsIAorICAgIDEwNywgMTA3LCAwLCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAKKyAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCisgICAgMTA3LCAwLCAwLCAwLCAwLCA4MSwgMTc2LCA4NiwgMCwgMCwgMCwgMCwgMTQyLCAzMjEsIDMyMSwgMzIxLCAzMjEsIDMyMSwgCisgICAgMzIxLCAzMjEsIDMyMSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTA0LCAxMDQsIDEwNCwgMTA0LCAxMDQsIDEwNCwgMTA0LCAKKyAgICAxMDQsIDEwNCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIAorICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAKKyAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDMyMSwgMzIxLCAxMDQsIDEwNywgMTA3LCAxMDcsIDEwNywgCisgICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIAorICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAzMjEsIDMyMSwgMzIxLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMzIyLCAxMDcsIAorICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAKKyAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDgxLCA4NiwgCisgICAgMCwgMCwgMCwgMCwgMzIxLCAzMjEsIDMyMSwgMzIxLCAzMjEsIDEwNCwgMTA0LCAxMDQsIDEwNCwgMTA0LCAxMDQsIDEwNCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCisgICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIAorICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAKKyAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCisgICAgMTA3LCAxMDcsIDEwNywgMCwgMCwgMCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMDcsIDEwNywgMTA3LCAKKyAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCisgICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDAsIDAsIDMyMSwgMzIxLCAzMjEsIDMyMSwgMzIxLCAzMjEsIDMyMSwgMzIxLCAKKyAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCisgICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDAsIDAsIDAsIDAsIDAsIDMyMSwgMzIxLCAzMjEsIDMyMSwgMzIxLCAzMjEsIAorICAgIDMyMSwgMzIxLCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAKKyAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMDQsIDEwNCwgMTA0LCAxMDQsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDMyMSwgMzIxLCAzMjEsIDMyMSwgMzIxLCAzMjEsIDMyMSwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIAorICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAKKyAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCisgICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIAorICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAKKyAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzMjMsIDMyMywgMzIzLCAzMjMsIAorICAgIDMyMywgMzIzLCAzMjMsIDMyMywgMzIzLCAzMjMsIDMyMywgMzIzLCAzMjMsIDMyMywgMzIzLCAzMjMsIDMyMywgMzIzLCAKKyAgICAzMjMsIDMyMywgMzIzLCAzMjMsIDMyMywgMzIzLCAzMjMsIDMyMywgMzIzLCAzMjMsIDMyMywgMzIzLCAzMjMsIDAsIDEzOSwgCisgICAgMTM1LCAxMzksIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIAorICAgIDE0MiwgODMsIDgzLCA4MywgODMsIDgzLCA4MywgODMsIDAsIDAsIDAsIDAsIDE1MywgMTUzLCAxNTMsIDE1MywgMTUzLCAKKyAgICAxNTMsIDE1MywgMTUzLCAxNTMsIDE1MywgMTUzLCAxNTMsIDE1MywgMTUzLCAxNTMsIDE1MywgMTUzLCAxNTMsIDE1MywgCisgICAgMTUzLCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE0MiwgMTM1LCAxMzUsIDEzOSwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAxNDAsIAorICAgIDQ4LCAxNDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMTQwLCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgMTM5LCAxMzksIDEzOSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzksIDEzOSwgMTQyLCAxNDEsIDgzLCAKKyAgICA4MywgMTg4LCA4MywgODMsIDgzLCA4MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAKKyAgICAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMCwgMCwgMCwgMCwgMCwgMCwgODEsIDgxLCA4MSwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMTQ5LCAxMzUsIDEzNSwgCisgICAgMTM1LCAxMzUsIDEzOSwgMTM1LCAxNTAsIDE1MCwgMTM1LCAxMzUsIDEzNSwgMTQyLCAxNDIsIDAsIDE0NCwgMTQ0LCAxNDQsIAorICAgIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgODMsIDgzLCA4MywgODMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgMTQ1LCA4MywgODMsIDQ4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMzUsIDEzNSwgMTM5LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAxMzksIDEzOSwgMTM5LCAxMzUsIDEzNSwgCisgICAgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzksIDE3NSwgNDgsIDQ4LCA0OCwgNDgsIDgzLCA4MywgODMsIAorICAgIDgzLCAwLCAwLCAwLCAwLCA4MywgMCwgMCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgCisgICAgMTQ0LCA0OCwgMCwgMCwgMCwgMCwgMCwgMCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgCisgICAgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAxMzksIDEzOSwgMTM5LCAxMzUsIDEzNSwgCisgICAgMTM1LCAxMzksIDEzOSwgMTM1LCAxNzUsIDE0NSwgMTM1LCA4MywgODMsIDgzLCA4MywgODMsIDgzLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDEzNSwgMTM5LCAxMzksIDEzOSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTQ1LCAxNDIsIAorICAgIDAsIDAsIDAsIDAsIDAsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMTM1LCAxMzksIDEzOSwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCAwLCA0OCwgCisgICAgNDgsIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgNDgsIDQ4LCAwLCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDAsIDAsIDE0NSwgNDgsIDE0NiwgMTM5LCAxMzUsIDEzOSwgMTM5LCAxMzksIDEzOSwgMCwgMCwgCisgICAgMTM5LCAxMzksIDAsIDAsIDE0NywgMTQ3LCAxNzUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE0NiwgMCwgMCwgMCwgCisgICAgMCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAxMzksIDEzOSwgMCwgMCwgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDAsIAorICAgIDAsIDAsIDgxLCA4MSwgODEsIDgxLCA4MSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMTQ2LCAxMzksIDEzOSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAKKyAgICAxMzUsIDEzNSwgMTM5LCAxNDksIDE0NywgMTQ3LCAxNDYsIDE0NywgMTM1LCAxMzUsIDEzOSwgMTQyLCAxNDUsIDQ4LCA0OCwgCisgICAgODMsIDQ4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgCisgICAgMTQ0LCAxNDQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMTQ2LCAxMzksIDEzOSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAwLCAwLCAxMzksIAorICAgIDEzOSwgMTQ3LCAxNDcsIDEzNSwgMTM1LCAxMzksIDE0MiwgMTQ1LCA4MywgODMsIDgzLCA4MywgODMsIDgzLCA4MywgODMsIAorICAgIDgzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAxMzksIAorICAgIDEzOSwgMTM5LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM5LCAxMzksIDEzNSwgMTM5LCAKKyAgICAxNDIsIDEzNSwgODMsIDgzLCA4MywgNDgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE0NCwgMTQ0LCAxNDQsIAorICAgIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDEzNSwgMTM5LCAxMzUsIDEzOSwgMTM5LCAxMzUsIDEzNSwgMTM1LCAKKyAgICAxMzUsIDEzNSwgMTM1LCAxNzUsIDE0NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIAorICAgIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0NCwgNDQsIAorICAgIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIAorICAgIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIAorICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIAorICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIAorICAgIDE0NCwgMTQ0LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCA0OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAKKyAgICAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgCisgICAgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIAorICAgIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAKKyAgICAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgCisgICAgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIAorICAgIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAKKyAgICAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDAsIDgzLCAKKyAgICA4MywgODMsIDgzLCA4MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgMTQ0LCAxNDQsIDE0NCwgCisgICAgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAwLCAwLCAwLCAwLCA4MywgODMsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDAsIDE3NiwgMTc2LCAxNzYsIDE3NiwgMTc2LCA4MywgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgODEsIAorICAgIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDgzLCA4MywgODMsIDgzLCA4MywgODAsIDgwLCA4MCwgODAsIDUzLCA1MywgNTMsIAorICAgIDUzLCA4MywgODAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIAorICAgIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAwLCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICAwLCAwLCAwLCAwLCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgNDgsIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAKKyAgICAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgCisgICAgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIAorICAgIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMTM1LCAxMzUsIDEzNSwgMTM1LCA1MywgNTMsIDUzLCA1MywgNTMsIDUzLCA1MywgNTMsIDUzLCA1MywgNTMsIAorICAgIDUzLCA1MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMTcwLCAxNzAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgMCwgMCwgMCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCAwLCA4MCwgMTM1LCAKKyAgICAxNzYsIDgzLCAxNzQsIDE3NCwgMTc0LCAxNzQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgCisgICAgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgCisgICAgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgCisgICAgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgCisgICAgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgCisgICAgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgCisgICAgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCAKKyAgICA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCAKKyAgICA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCAwLCAwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIAorICAgIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIAorICAgIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIAorICAgIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDMyNCwgMzI0LCAzMjQsIDMyNCwgMzI0LCAzMjQsIDMyNCwgMzI1LCAzMjUsIDE3NiwgCisgICAgMTc2LCAxNzYsIDgwLCA4MCwgODAsIDMyNiwgMzI1LCAzMjUsIDMyNSwgMzI1LCAzMjUsIDE3NCwgMTc0LCAxNzQsIDE3NCwgCisgICAgMTc0LCAxNzQsIDE3NCwgMTc0LCA4NiwgODYsIDg2LCA4NiwgODYsIDg2LCA4NiwgODYsIDgwLCA4MCwgODEsIDgxLCA4MSwgCisgICAgODEsIDgxLCA4NiwgODYsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgCisgICAgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgxLCA4MSwgCisgICAgODEsIDgxLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgMzI0LCAzMjQsIAorICAgIDMyNCwgMzI0LCAzMjQsIDMyNCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIAorICAgIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCA4MSwgCisgICAgODEsIDgxLCAyNiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTQ4LCAxNDgsIDE0OCwgCisgICAgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIAorICAgIDE0OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgCisgICAgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgCisgICAgNDksIDQ5LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgCisgICAgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgCisgICAgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgCisgICAgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDAsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAKKyAgICAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCAKKyAgICA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgMzUsIDM1LCAKKyAgICAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAKKyAgICAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCA0OSwgMCwgNDksIDQ5LCAwLCAwLCA0OSwgMCwgMCwgNDksIDQ5LCAwLCAwLCA0OSwgCisgICAgNDksIDQ5LCA0OSwgMCwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCAzNSwgMzUsIDM1LCAzNSwgMCwgMzUsIDAsIAorICAgIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAwLCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgCisgICAgMzUsIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgCisgICAgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgCisgICAgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCA0OSwgCisgICAgNDksIDAsIDQ5LCA0OSwgNDksIDQ5LCAwLCAwLCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDAsIDQ5LCA0OSwgCisgICAgNDksIDQ5LCA0OSwgNDksIDQ5LCAwLCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAKKyAgICAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDQ5LCA0OSwgMCwgNDksIAorICAgIDQ5LCA0OSwgNDksIDAsIDQ5LCA0OSwgNDksIDQ5LCA0OSwgMCwgNDksIDAsIDAsIDAsIDQ5LCA0OSwgNDksIDQ5LCA0OSwgCisgICAgNDksIDQ5LCAwLCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAKKyAgICAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCAKKyAgICA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCAKKyAgICA0OSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAKKyAgICAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCAKKyAgICA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDM1LCAKKyAgICAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAKKyAgICAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCAKKyAgICA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCAzNSwgMzUsIDM1LCAKKyAgICAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAKKyAgICAzNSwgMzUsIDM1LCAzNSwgMzUsIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCAKKyAgICA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAKKyAgICAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAKKyAgICAzNSwgMzUsIDM1LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCAKKyAgICA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAKKyAgICAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAKKyAgICAzNSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCAKKyAgICA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAKKyAgICAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAKKyAgICAzNSwgMCwgMCwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIAorICAgIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDMyNywgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAKKyAgICAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDIyNiwgCisgICAgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgCisgICAgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDMyNywgMzUsIDM1LCAzNSwgMzUsIAorICAgIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIAorICAgIDM1LCAzNSwgMzUsIDIyNiwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCAKKyAgICA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDMyNywgCisgICAgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgCisgICAgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDIyNiwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgNDksIDQ5LCA0OSwgNDksIAorICAgIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIAorICAgIDQ5LCA0OSwgNDksIDMyNywgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAKKyAgICAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDIyNiwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgCisgICAgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgCisgICAgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDMyNywgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIAorICAgIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDIyNiwgMzUsIDM1LCAKKyAgICAzNSwgMzUsIDM1LCAzNSwgNDksIDM1LCAwLCAwLCAzMjgsIDMyOCwgMzI4LCAzMjgsIDMyOCwgMzI4LCAzMjgsIDMyOCwgCisgICAgMzI4LCAzMjgsIDMyOCwgMzI4LCAzMjgsIDMyOCwgMzI4LCAzMjgsIDMyOCwgMzI4LCAzMjgsIDMyOCwgMzI4LCAzMjgsIAorICAgIDMyOCwgMzI4LCAzMjgsIDMyOCwgMzI4LCAzMjgsIDMyOCwgMzI4LCAzMjgsIDMyOCwgMzI4LCAzMjgsIDMyOCwgMzI4LCAKKyAgICAzMjgsIDMyOCwgMzI4LCAzMjgsIDMyOCwgMzI4LCAzMjgsIDMyOCwgMzI4LCAzMjgsIDMyOCwgMzI4LCAzMjgsIDMyOCwgCisgICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIAorICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAKKyAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCisgICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIAorICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAKKyAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCisgICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIAorICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAKKyAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCisgICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIAorICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAKKyAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCisgICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIAorICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAKKyAgICAxMDcsIDAsIDAsIDMyMSwgMzIxLCAzMjEsIDMyMSwgMzIxLCAzMjEsIDMyMSwgMzIxLCAzMjEsIDg2LCA4NiwgODYsIDg2LCAKKyAgICA4NiwgODYsIDg2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMzEsIDEzMSwgCisgICAgMTMxLCAxMzEsIDAsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIAorICAgIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAKKyAgICAxMzEsIDAsIDEzMSwgMTMxLCAwLCAxMzEsIDAsIDAsIDEzMSwgMCwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgCisgICAgMTMxLCAxMzEsIDEzMSwgMTMxLCAwLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDAsIDEzMSwgMCwgMTMxLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAxMzEsIDAsIDAsIDAsIDAsIDEzMSwgMCwgMTMxLCAwLCAxMzEsIDAsIDEzMSwgMTMxLCAxMzEsIDAsIDEzMSwgMTMxLCAKKyAgICAwLCAxMzEsIDAsIDAsIDEzMSwgMCwgMTMxLCAwLCAxMzEsIDAsIDEzMSwgMCwgMTMxLCAwLCAxMzEsIDEzMSwgMCwgMTMxLCAKKyAgICAwLCAwLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDAsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMCwgMTMxLCAKKyAgICAxMzEsIDEzMSwgMTMxLCAwLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDAsIDEzMSwgMCwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIAorICAgIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAwLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAKKyAgICAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMCwgMCwgMCwgMCwgMCwgMTMxLCAxMzEsIDEzMSwgMCwgCisgICAgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDAsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIAorICAgIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA3OCwgNzgsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMCwgMCwgMCwgMCwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDAsIDAsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDAsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDAsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDE1MywgMTUzLCAwLCAwLCAKKyAgICAwLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgCisgICAgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIAorICAgIDI0MSwgMjQxLCAzMjksIDAsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAKKyAgICAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgCisgICAgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAzMzAsIDMzMCwgMzMwLCAzMzAsIDMzMCwgMzMwLCAzMzAsIAorICAgIDMzMCwgMzMwLCAzMzAsIDMzMCwgMzMwLCAzMzAsIDMzMCwgMzMwLCAzMzAsIDMzMCwgMzMwLCAzMzAsIDMzMCwgMzMwLCAKKyAgICAzMzAsIDMzMCwgMzMwLCAzMzAsIDMzMCwgMjIyLCAyMjIsIDAsIDAsIDAsIDAsIDMzMCwgMzMwLCAzMzAsIDMzMCwgMzMwLCAKKyAgICAzMzAsIDMzMCwgMzMwLCAzMzAsIDMzMCwgMzMwLCAzMzAsIDMzMCwgMzMwLCAzMzAsIDMzMCwgMzMwLCAzMzAsIDMzMCwgCisgICAgMzMwLCAzMzAsIDMzMCwgMzMwLCAzMzAsIDMzMCwgMzMwLCAzMzAsIDMzMCwgMzMwLCAzMzAsIDMzMCwgMzMwLCAyNDEsIAorICAgIDMzMCwgMzMwLCAzMzAsIDMzMCwgMzMwLCAzMzAsIDMzMCwgMzMwLCAzMzAsIDMzMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgODAsIDgwLCA4MCwgODAsIAorICAgIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIAorICAgIDgwLCA4MCwgODAsIDgwLCAyNjgsIDI2OCwgMjY4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgCisgICAgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIAorICAgIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAKKyAgICAyNjgsIDAsIDAsIDAsIDAsIDAsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDI2OCwgMjY4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAwLCAwLCAwLCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAwLCAwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMCwgMCwgMCwgMCwgMCwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMCwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMCwgMCwgMCwgMCwgMCwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMCwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDAsIDAsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMCwgMCwgMCwgMjYsIDI2LCAyNiwgMjYsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDAsIDAsIDAsIDAsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDAsIDAsIDAsIDAsIDAsIDAsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCisgICAgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIAorICAgIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAKKyAgICAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCisgICAgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIAorICAgIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAKKyAgICAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIAorICAgIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAKKyAgICAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCisgICAgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIAorICAgIDE3MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAKKyAgICAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCisgICAgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIAorICAgIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAKKyAgICAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCisgICAgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIAorICAgIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAKKyAgICAxNzAsIDE3MCwgMTcwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIAorICAgIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAKKyAgICAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNzQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE3NCwgMTc0LCAKICAgICAxNzQsIDE3NCwgMTc0LCAxNzQsIDE3NCwgMTc0LCAxNzQsIDE3NCwgMTc0LCAxNzQsIDE3NCwgMTc0LCAxNzQsIDE3NCwgCiAgICAgMTc0LCAxNzQsIDE3NCwgMTc0LCAxNzQsIDE3NCwgMTc0LCAxNzQsIDE3NCwgMTc0LCAxNzQsIDE3NCwgMTc0LCAxNzQsIAogICAgIDE3NCwgMTc0LCAxNzQsIDE3NCwgMTc0LCAxNzQsIDE3NCwgMTc0LCAxNzQsIDE3NCwgMTc0LCAxNzQsIDE3NCwgMTc0LCAKICAgICAxNzQsIDE3NCwgMTc0LCAxNzQsIDE3NCwgMTc0LCAxNzQsIDE3NCwgMTc0LCAxNzQsIDE3NCwgMTc0LCAxNzQsIDE3NCwgCiAgICAgMTc0LCAxNzQsIDE3NCwgMTc0LCAxNzQsIDE3NCwgMTc0LCAxNzQsIDE3NCwgMTc0LCAxNzQsIDE3NCwgMTc0LCAxNzQsIAogICAgIDE3NCwgMTc0LCAxNzQsIDE3NCwgMTc0LCAxNzQsIDE3NCwgMTc0LCAxNzQsIDE3NCwgMTc0LCAxNzQsIDE3NCwgMTc0LCAKLSAgICAxNzQsIDE3NCwgMTc0LCAxNzQsIDE3NCwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCisgICAgMTc0LCAxNzQsIDE3NCwgMTc0LCAxNzQsIDE3NCwgMTc0LCAxNzQsIDE3NCwgMTc0LCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKICAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKICAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKICAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKQEAgLTI2NDksOCArMjkzOSw4IEBACiAgICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCiAgICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCiAgICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAKKyAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgCiAgICAgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIAogICAgIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAKICAgICAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgCkBAIC0yNjU5LDcgKzI5NDksNyBAQAogICAgIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAKICAgICAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgCiAgICAgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIAotICAgIDI3MywgMjczLCAyNzMsIDI3MywgMCwgMCwgCisgICAgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMCwgMCwgCiB9OwogCiAvKiBkZWNvbXBvc2l0aW9uIGRhdGEgKi8KQEAgLTMxNDYsMzU5ICszNDM2LDM1NSBAQAogICAgIDUwLCA0OSwgMjYwODUsIDc3MCwgNTAsIDUwLCAyNjA4NSwgNzcwLCA1MCwgNTEsIDI2MDg1LCA3NzAsIDUwLCA1MiwgCiAgICAgMjYwODUsIDc3MCwgNTAsIDUzLCAyNjA4NSwgNzcwLCA1MCwgNTQsIDI2MDg1LCA3NzAsIDUwLCA1NSwgMjYwODUsIDc3MCwgCiAgICAgNTAsIDU2LCAyNjA4NSwgNzcwLCA1MCwgNTcsIDI2MDg1LCA3NzAsIDUxLCA0OCwgMjYwODUsIDc3MCwgNTEsIDQ5LCAKLSAgICAyNjA4NSwgNzc4LCAxMDMsIDk3LCAxMDgsIDI1OSwgNDI4NjMsIDI1OSwgMjk0LCAyNTksIDMzOSwgMjU2LCAzNTkxMiwgCi0gICAgMjU2LCAyNjM1NiwgMjU2LCAzNjU1NCwgMjU2LCAzNjA0MCwgMjU2LCAyODM2OSwgMjU2LCAyMDAxOCwgMjU2LCAyMTQ3NywgCi0gICAgMjU2LCA0MDg2MCwgMjU2LCA0MDg2MCwgMjU2LCAyMjg2NSwgMjU2LCAzNzMyOSwgMjU2LCAyMTg5NSwgMjU2LCAyMjg1NiwgCi0gICAgMjU2LCAyNTA3OCwgMjU2LCAzMDMxMywgMjU2LCAzMjY0NSwgMjU2LCAzNDM2NywgMjU2LCAzNDc0NiwgMjU2LCAzNTA2NCwgCi0gICAgMjU2LCAzNzAwNywgMjU2LCAyNzEzOCwgMjU2LCAyNzkzMSwgMjU2LCAyODg4OSwgMjU2LCAyOTY2MiwgMjU2LCAzMzg1MywgCi0gICAgMjU2LCAzNzIyNiwgMjU2LCAzOTQwOSwgMjU2LCAyMDA5OCwgMjU2LCAyMTM2NSwgMjU2LCAyNzM5NiwgMjU2LCAyOTIxMSwgCi0gICAgMjU2LCAzNDM0OSwgMjU2LCA0MDQ3OCwgMjU2LCAyMzg4OCwgMjU2LCAyODY1MSwgMjU2LCAzNDI1MywgMjU2LCAzNTE3MiwgCi0gICAgMjU2LCAyNTI4OSwgMjU2LCAzMzI0MCwgMjU2LCAzNDg0NywgMjU2LCAyNDI2NiwgMjU2LCAyNjM5MSwgMjU2LCAyODAxMCwgCi0gICAgMjU2LCAyOTQzNiwgMjU2LCAzNzA3MCwgMjU2LCAyMDM1OCwgMjU2LCAyMDkxOSwgMjU2LCAyMTIxNCwgMjU2LCAyNTc5NiwgCi0gICAgMjU2LCAyNzM0NywgMjU2LCAyOTIwMCwgMjU2LCAzMDQzOSwgMjU2LCAzMjc2OSwgMjU2LCAzNDMxMCwgMjU2LCAzNDM5NiwgCi0gICAgMjU2LCAzNjMzNSwgMjU2LCAzODcwNiwgMjU2LCAzOTc5MSwgMjU2LCA0MDQ0MiwgMjU2LCAzMDg2MCwgMjU2LCAzMTEwMywgCi0gICAgMjU2LCAzMjE2MCwgMjU2LCAzMzczNywgMjU2LCAzNzYzNiwgMjU2LCA0MDU3NSwgMjU2LCAzNTU0MiwgMjU2LCAyMjc1MSwgCi0gICAgMjU2LCAyNDMyNCwgMjU2LCAzMTg0MCwgMjU2LCAzMjg5NCwgMjU2LCAyOTI4MiwgMjU2LCAzMDkyMiwgMjU2LCAzNjAzNCwgCi0gICAgMjU2LCAzODY0NywgMjU2LCAyMjc0NCwgMjU2LCAyMzY1MCwgMjU2LCAyNzE1NSwgMjU2LCAyODEyMiwgMjU2LCAyODQzMSwgCi0gICAgMjU2LCAzMjA0NywgMjU2LCAzMjMxMSwgMjU2LCAzODQ3NSwgMjU2LCAyMTIwMiwgMjU2LCAzMjkwNywgMjU2LCAyMDk1NiwgCi0gICAgMjU2LCAyMDk0MCwgMjU2LCAzMTI2MCwgMjU2LCAzMjE5MCwgMjU2LCAzMzc3NywgMjU2LCAzODUxNywgMjU2LCAzNTcxMiwgCi0gICAgMjU2LCAyNTI5NSwgMjU2LCAyNzEzOCwgMjU2LCAzNTU4MiwgMjU2LCAyMDAyNSwgMjU2LCAyMzUyNywgMjU2LCAyNDU5NCwgCi0gICAgMjU2LCAyOTU3NSwgMjU2LCAzMDA2NCwgMjU2LCAyMTI3MSwgMjU2LCAzMDk3MSwgMjU2LCAyMDQxNSwgMjU2LCAyNDQ4OSwgCi0gICAgMjU2LCAxOTk4MSwgMjU2LCAyNzg1MiwgMjU2LCAyNTk3NiwgMjU2LCAzMjAzNCwgMjU2LCAyMTQ0MywgMjU2LCAyMjYyMiwgCi0gICAgMjU2LCAzMDQ2NSwgMjU2LCAzMzg2NSwgMjU2LCAzNTQ5OCwgMjU2LCAyNzU3OCwgMjU2LCAzNjc4NCwgMjU2LCAyNzc4NCwgCi0gICAgMjU2LCAyNTM0MiwgMjU2LCAzMzUwOSwgMjU2LCAyNTUwNCwgMjU2LCAzMDA1MywgMjU2LCAyMDE0MiwgMjU2LCAyMDg0MSwgCi0gICAgMjU2LCAyMDkzNywgMjU2LCAyNjc1MywgMjU2LCAzMTk3NSwgMjU2LCAzMzM5MSwgMjU2LCAzNTUzOCwgMjU2LCAzNzMyNywgCi0gICAgMjU2LCAyMTIzNywgMjU2LCAyMTU3MCwgMjU2LCAyMjg5OSwgMjU2LCAyNDMwMCwgMjU2LCAyNjA1MywgMjU2LCAyODY3MCwgCi0gICAgMjU2LCAzMTAxOCwgMjU2LCAzODMxNywgMjU2LCAzOTUzMCwgMjU2LCA0MDU5OSwgMjU2LCA0MDY1NCwgMjU2LCAyMTE0NywgCi0gICAgMjU2LCAyNjMxMCwgMjU2LCAyNzUxMSwgMjU2LCAzNjcwNiwgMjU2LCAyNDE4MCwgMjU2LCAyNDk3NiwgMjU2LCAyNTA4OCwgCi0gICAgMjU2LCAyNTc1NCwgMjU2LCAyODQ1MSwgMjU2LCAyOTAwMSwgMjU2LCAyOTgzMywgMjU2LCAzMTE3OCwgMjU2LCAzMjI0NCwgCi0gICAgMjU2LCAzMjg3OSwgMjU2LCAzNjY0NiwgMjU2LCAzNDAzMCwgMjU2LCAzNjg5OSwgMjU2LCAzNzcwNiwgMjU2LCAyMTAxNSwgCi0gICAgMjU2LCAyMTE1NSwgMjU2LCAyMTY5MywgMjU2LCAyODg3MiwgMjU2LCAzNTAxMCwgMjU2LCAzNTQ5OCwgMjU2LCAyNDI2NSwgCi0gICAgMjU2LCAyNDU2NSwgMjU2LCAyNTQ2NywgMjU2LCAyNzU2NiwgMjU2LCAzMTgwNiwgMjU2LCAyOTU1NywgMjU2LCAyMDE5NiwgCi0gICAgMjU2LCAyMjI2NSwgMjU2LCAyMzUyNywgMjU2LCAyMzk5NCwgMjU2LCAyNDYwNCwgMjU2LCAyOTYxOCwgMjU2LCAyOTgwMSwgCi0gICAgMjU2LCAzMjY2NiwgMjU2LCAzMjgzOCwgMjU2LCAzNzQyOCwgMjU2LCAzODY0NiwgMjU2LCAzODcyOCwgMjU2LCAzODkzNiwgCi0gICAgMjU2LCAyMDM2MywgMjU2LCAzMTE1MCwgMjU2LCAzNzMwMCwgMjU2LCAzODU4NCwgMjU2LCAyNDgwMSwgMjU2LCAyMDEwMiwgCi0gICAgMjU2LCAyMDY5OCwgMjU2LCAyMzUzNCwgMjU2LCAyMzYxNSwgMjU2LCAyNjAwOSwgMjU2LCAyNzEzOCwgMjU2LCAyOTEzNCwgCi0gICAgMjU2LCAzMDI3NCwgMjU2LCAzNDA0NCwgMjU2LCAzNjk4OCwgMjU2LCA0MDg0NSwgMjU2LCAyNjI0OCwgMjU2LCAzODQ0NiwgCi0gICAgMjU2LCAyMTEyOSwgMjU2LCAyNjQ5MSwgMjU2LCAyNjYxMSwgMjU2LCAyNzk2OSwgMjU2LCAyODMxNiwgMjU2LCAyOTcwNSwgCi0gICAgMjU2LCAzMDA0MSwgMjU2LCAzMDgyNywgMjU2LCAzMjAxNiwgMjU2LCAzOTAwNiwgMjU2LCAyMDg0NSwgMjU2LCAyNTEzNCwgCi0gICAgMjU2LCAzODUyMCwgMjU2LCAyMDUyMywgMjU2LCAyMzgzMywgMjU2LCAyODEzOCwgMjU2LCAzNjY1MCwgMjU2LCAyNDQ1OSwgCi0gICAgMjU2LCAyNDkwMCwgMjU2LCAyNjY0NywgMjU2LCAyOTU3NSwgMjU2LCAzODUzNCwgMjU2LCAyMTAzMywgMjU2LCAyMTUxOSwgCi0gICAgMjU2LCAyMzY1MywgMjU2LCAyNjEzMSwgMjU2LCAyNjQ0NiwgMjU2LCAyNjc5MiwgMjU2LCAyNzg3NywgMjU2LCAyOTcwMiwgCi0gICAgMjU2LCAzMDE3OCwgMjU2LCAzMjYzMywgMjU2LCAzNTAyMywgMjU2LCAzNTA0MSwgMjU2LCAzNzMyNCwgMjU2LCAzODYyNiwgCi0gICAgMjU2LCAyMTMxMSwgMjU2LCAyODM0NiwgMjU2LCAyMTUzMywgMjU2LCAyOTEzNiwgMjU2LCAyOTg0OCwgMjU2LCAzNDI5OCwgCi0gICAgMjU2LCAzODU2MywgMjU2LCA0MDAyMywgMjU2LCA0MDYwNywgMjU2LCAyNjUxOSwgMjU2LCAyODEwNywgMjU2LCAzMzI1NiwgCi0gICAgMjU2LCAzMTQzNSwgMjU2LCAzMTUyMCwgMjU2LCAzMTg5MCwgMjU2LCAyOTM3NiwgMjU2LCAyODgyNSwgMjU2LCAzNTY3MiwgCi0gICAgMjU2LCAyMDE2MCwgMjU2LCAzMzU5MCwgMjU2LCAyMTA1MCwgMjU2LCAyMDk5OSwgMjU2LCAyNDIzMCwgMjU2LCAyNTI5OSwgCi0gICAgMjU2LCAzMTk1OCwgMjU2LCAyMzQyOSwgMjU2LCAyNzkzNCwgMjU2LCAyNjI5MiwgMjU2LCAzNjY2NywgMjU2LCAzNDg5MiwgCi0gICAgMjU2LCAzODQ3NywgMjU2LCAzNTIxMSwgMjU2LCAyNDI3NSwgMjU2LCAyMDgwMCwgMjU2LCAyMTk1MiwgMjU2LCAyMjYxOCwgCi0gICAgMjU2LCAyNjIyOCwgMjU2LCAyMDk1OCwgMjU2LCAyOTQ4MiwgMjU2LCAzMDQxMCwgMjU2LCAzMTAzNiwgMjU2LCAzMTA3MCwgCi0gICAgMjU2LCAzMTA3NywgMjU2LCAzMTExOSwgMjU2LCAzODc0MiwgMjU2LCAzMTkzNCwgMjU2LCAzMjcwMSwgMjU2LCAzNDMyMiwgCi0gICAgMjU2LCAzNTU3NiwgMjU2LCAzNjkyMCwgMjU2LCAzNzExNywgMjU2LCAzOTE1MSwgMjU2LCAzOTE2NCwgMjU2LCAzOTIwOCwgCi0gICAgMjU2LCA0MDM3MiwgMjU2LCAzNzA4NiwgMjU2LCAzODU4MywgMjU2LCAyMDM5OCwgMjU2LCAyMDcxMSwgMjU2LCAyMDgxMywgCi0gICAgMjU2LCAyMTE5MywgMjU2LCAyMTIyMCwgMjU2LCAyMTMyOSwgMjU2LCAyMTkxNywgMjU2LCAyMjAyMiwgMjU2LCAyMjEyMCwgCi0gICAgMjU2LCAyMjU5MiwgMjU2LCAyMjY5NiwgMjU2LCAyMzY1MiwgMjU2LCAyMzY2MiwgMjU2LCAyNDcyNCwgMjU2LCAyNDkzNiwgCi0gICAgMjU2LCAyNDk3NCwgMjU2LCAyNTA3NCwgMjU2LCAyNTkzNSwgMjU2LCAyNjA4MiwgMjU2LCAyNjI1NywgMjU2LCAyNjc1NywgCi0gICAgMjU2LCAyODAyMywgMjU2LCAyODE4NiwgMjU2LCAyODQ1MCwgMjU2LCAyOTAzOCwgMjU2LCAyOTIyNywgMjU2LCAyOTczMCwgCi0gICAgMjU2LCAzMDg2NSwgMjU2LCAzMTAzOCwgMjU2LCAzMTA0OSwgMjU2LCAzMTA0OCwgMjU2LCAzMTA1NiwgMjU2LCAzMTA2MiwgCi0gICAgMjU2LCAzMTA2OSwgMjU2LCAzMTExNywgMjU2LCAzMTExOCwgMjU2LCAzMTI5NiwgMjU2LCAzMTM2MSwgMjU2LCAzMTY4MCwgCi0gICAgMjU2LCAzMjI0NCwgMjU2LCAzMjI2NSwgMjU2LCAzMjMyMSwgMjU2LCAzMjYyNiwgMjU2LCAzMjc3MywgMjU2LCAzMzI2MSwgCi0gICAgMjU2LCAzMzQwMSwgMjU2LCAzMzQwMSwgMjU2LCAzMzg3OSwgMjU2LCAzNTA4OCwgMjU2LCAzNTIyMiwgMjU2LCAzNTU4NSwgCi0gICAgMjU2LCAzNTY0MSwgMjU2LCAzNjA1MSwgMjU2LCAzNjEwNCwgMjU2LCAzNjc5MCwgMjU2LCAzNjkyMCwgMjU2LCAzODYyNywgCi0gICAgMjU2LCAzODkxMSwgMjU2LCAzODk3MSwgMjU2LCAyNDY5MywgMjU2LCAxNDgyMDYsIDI1NiwgMzMzMDQsIDI1NiwgMjAwMDYsIAotICAgIDI1NiwgMjA5MTcsIDI1NiwgMjA4NDAsIDI1NiwgMjAzNTIsIDI1NiwgMjA4MDUsIDI1NiwgMjA4NjQsIDI1NiwgMjExOTEsIAotICAgIDI1NiwgMjEyNDIsIDI1NiwgMjE5MTcsIDI1NiwgMjE4NDUsIDI1NiwgMjE5MTMsIDI1NiwgMjE5ODYsIDI1NiwgMjI2MTgsIAotICAgIDI1NiwgMjI3MDcsIDI1NiwgMjI4NTIsIDI1NiwgMjI4NjgsIDI1NiwgMjMxMzgsIDI1NiwgMjMzMzYsIDI1NiwgMjQyNzQsIAotICAgIDI1NiwgMjQyODEsIDI1NiwgMjQ0MjUsIDI1NiwgMjQ0OTMsIDI1NiwgMjQ3OTIsIDI1NiwgMjQ5MTAsIDI1NiwgMjQ4NDAsIAotICAgIDI1NiwgMjQ5NzQsIDI1NiwgMjQ5MjgsIDI1NiwgMjUwNzQsIDI1NiwgMjUxNDAsIDI1NiwgMjU1NDAsIDI1NiwgMjU2MjgsIAotICAgIDI1NiwgMjU2ODIsIDI1NiwgMjU5NDIsIDI1NiwgMjYyMjgsIDI1NiwgMjYzOTEsIDI1NiwgMjYzOTUsIDI1NiwgMjY0NTQsIAotICAgIDI1NiwgMjc1MTMsIDI1NiwgMjc1NzgsIDI1NiwgMjc5NjksIDI1NiwgMjgzNzksIDI1NiwgMjgzNjMsIDI1NiwgMjg0NTAsIAotICAgIDI1NiwgMjg3MDIsIDI1NiwgMjkwMzgsIDI1NiwgMzA2MzEsIDI1NiwgMjkyMzcsIDI1NiwgMjkzNTksIDI1NiwgMjk0ODIsIAotICAgIDI1NiwgMjk4MDksIDI1NiwgMjk5NTgsIDI1NiwgMzAwMTEsIDI1NiwgMzAyMzcsIDI1NiwgMzAyMzksIDI1NiwgMzA0MTAsIAotICAgIDI1NiwgMzA0MjcsIDI1NiwgMzA0NTIsIDI1NiwgMzA1MzgsIDI1NiwgMzA1MjgsIDI1NiwgMzA5MjQsIDI1NiwgMzE0MDksIAotICAgIDI1NiwgMzE2ODAsIDI1NiwgMzE4NjcsIDI1NiwgMzIwOTEsIDI1NiwgMzIyNDQsIDI1NiwgMzI1NzQsIDI1NiwgMzI3NzMsIAotICAgIDI1NiwgMzM2MTgsIDI1NiwgMzM3NzUsIDI1NiwgMzQ2ODEsIDI1NiwgMzUxMzcsIDI1NiwgMzUyMDYsIDI1NiwgMzUyMjIsIAotICAgIDI1NiwgMzU1MTksIDI1NiwgMzU1NzYsIDI1NiwgMzU1MzEsIDI1NiwgMzU1ODUsIDI1NiwgMzU1ODIsIDI1NiwgMzU1NjUsIAotICAgIDI1NiwgMzU2NDEsIDI1NiwgMzU3MjIsIDI1NiwgMzYxMDQsIDI1NiwgMzY2NjQsIDI1NiwgMzY5NzgsIDI1NiwgMzcyNzMsIAotICAgIDI1NiwgMzc0OTQsIDI1NiwgMzg1MjQsIDI1NiwgMzg2MjcsIDI1NiwgMzg3NDIsIDI1NiwgMzg4NzUsIDI1NiwgMzg5MTEsIAotICAgIDI1NiwgMzg5MjMsIDI1NiwgMzg5NzEsIDI1NiwgMzk2OTgsIDI1NiwgNDA4NjAsIDI1NiwgMTQxMzg2LCAyNTYsIDE0MTM4MCwgCi0gICAgMjU2LCAxNDQzNDEsIDI1NiwgMTUyNjEsIDI1NiwgMTY0MDgsIDI1NiwgMTY0NDEsIDI1NiwgMTUyMTM3LCAyNTYsIAotICAgIDE1NDgzMiwgMjU2LCAxNjM1MzksIDI1NiwgNDA3NzEsIDI1NiwgNDA4NDYsIDUxNCwgMTAyLCAxMDIsIDUxNCwgMTAyLCAKLSAgICAxMDUsIDUxNCwgMTAyLCAxMDgsIDc3MCwgMTAyLCAxMDIsIDEwNSwgNzcwLCAxMDIsIDEwMiwgMTA4LCA1MTQsIDM4MywgCi0gICAgMTE2LCA1MTQsIDExNSwgMTE2LCA1MTQsIDEzOTYsIDEzOTgsIDUxNCwgMTM5NiwgMTM4MSwgNTE0LCAxMzk2LCAxMzg3LCAKLSAgICA1MTQsIDE0MDYsIDEzOTgsIDUxNCwgMTM5NiwgMTM4OSwgNTEyLCAxNDk3LCAxNDYwLCA1MTIsIDE1MjIsIDE0NjMsIDI2MiwgCi0gICAgMTUwNiwgMjYyLCAxNDg4LCAyNjIsIDE0OTEsIDI2MiwgMTQ5MiwgMjYyLCAxNDk5LCAyNjIsIDE1MDAsIDI2MiwgMTUwMSwgCi0gICAgMjYyLCAxNTEyLCAyNjIsIDE1MTQsIDI2MiwgNDMsIDUxMiwgMTUxMywgMTQ3MywgNTEyLCAxNTEzLCAxNDc0LCA1MTIsIAotICAgIDY0MzI5LCAxNDczLCA1MTIsIDY0MzI5LCAxNDc0LCA1MTIsIDE0ODgsIDE0NjMsIDUxMiwgMTQ4OCwgMTQ2NCwgNTEyLCAKLSAgICAxNDg4LCAxNDY4LCA1MTIsIDE0ODksIDE0NjgsIDUxMiwgMTQ5MCwgMTQ2OCwgNTEyLCAxNDkxLCAxNDY4LCA1MTIsIDE0OTIsIAotICAgIDE0NjgsIDUxMiwgMTQ5MywgMTQ2OCwgNTEyLCAxNDk0LCAxNDY4LCA1MTIsIDE0OTYsIDE0NjgsIDUxMiwgMTQ5NywgMTQ2OCwgCi0gICAgNTEyLCAxNDk4LCAxNDY4LCA1MTIsIDE0OTksIDE0NjgsIDUxMiwgMTUwMCwgMTQ2OCwgNTEyLCAxNTAyLCAxNDY4LCA1MTIsIAotICAgIDE1MDQsIDE0NjgsIDUxMiwgMTUwNSwgMTQ2OCwgNTEyLCAxNTA3LCAxNDY4LCA1MTIsIDE1MDgsIDE0NjgsIDUxMiwgMTUxMCwgCi0gICAgMTQ2OCwgNTEyLCAxNTExLCAxNDY4LCA1MTIsIDE1MTIsIDE0NjgsIDUxMiwgMTUxMywgMTQ2OCwgNTEyLCAxNTE0LCAxNDY4LCAKLSAgICA1MTIsIDE0OTMsIDE0NjUsIDUxMiwgMTQ4OSwgMTQ3MSwgNTEyLCAxNDk5LCAxNDcxLCA1MTIsIDE1MDgsIDE0NzEsIDUxNCwgCi0gICAgMTQ4OCwgMTUwMCwgMjY3LCAxNjQ5LCAyNjgsIDE2NDksIDI2NywgMTY1OSwgMjY4LCAxNjU5LCAyNjksIDE2NTksIDI3MCwgCi0gICAgMTY1OSwgMjY3LCAxNjYyLCAyNjgsIDE2NjIsIDI2OSwgMTY2MiwgMjcwLCAxNjYyLCAyNjcsIDE2NjQsIDI2OCwgMTY2NCwgCi0gICAgMjY5LCAxNjY0LCAyNzAsIDE2NjQsIDI2NywgMTY1OCwgMjY4LCAxNjU4LCAyNjksIDE2NTgsIDI3MCwgMTY1OCwgMjY3LCAKLSAgICAxNjYzLCAyNjgsIDE2NjMsIDI2OSwgMTY2MywgMjcwLCAxNjYzLCAyNjcsIDE2NTcsIDI2OCwgMTY1NywgMjY5LCAxNjU3LCAKLSAgICAyNzAsIDE2NTcsIDI2NywgMTcwMCwgMjY4LCAxNzAwLCAyNjksIDE3MDAsIDI3MCwgMTcwMCwgMjY3LCAxNzAyLCAyNjgsIAotICAgIDE3MDIsIDI2OSwgMTcwMiwgMjcwLCAxNzAyLCAyNjcsIDE2NjgsIDI2OCwgMTY2OCwgMjY5LCAxNjY4LCAyNzAsIDE2NjgsIAotICAgIDI2NywgMTY2NywgMjY4LCAxNjY3LCAyNjksIDE2NjcsIDI3MCwgMTY2NywgMjY3LCAxNjcwLCAyNjgsIDE2NzAsIDI2OSwgCi0gICAgMTY3MCwgMjcwLCAxNjcwLCAyNjcsIDE2NzEsIDI2OCwgMTY3MSwgMjY5LCAxNjcxLCAyNzAsIDE2NzEsIDI2NywgMTY3NywgCi0gICAgMjY4LCAxNjc3LCAyNjcsIDE2NzYsIDI2OCwgMTY3NiwgMjY3LCAxNjc4LCAyNjgsIDE2NzgsIDI2NywgMTY3MiwgMjY4LCAKLSAgICAxNjcyLCAyNjcsIDE2ODgsIDI2OCwgMTY4OCwgMjY3LCAxNjgxLCAyNjgsIDE2ODEsIDI2NywgMTcwNSwgMjY4LCAxNzA1LCAKLSAgICAyNjksIDE3MDUsIDI3MCwgMTcwNSwgMjY3LCAxNzExLCAyNjgsIDE3MTEsIDI2OSwgMTcxMSwgMjcwLCAxNzExLCAyNjcsIAotICAgIDE3MTUsIDI2OCwgMTcxNSwgMjY5LCAxNzE1LCAyNzAsIDE3MTUsIDI2NywgMTcxMywgMjY4LCAxNzEzLCAyNjksIDE3MTMsIAotICAgIDI3MCwgMTcxMywgMjY3LCAxNzIyLCAyNjgsIDE3MjIsIDI2NywgMTcyMywgMjY4LCAxNzIzLCAyNjksIDE3MjMsIDI3MCwgCi0gICAgMTcyMywgMjY3LCAxNzI4LCAyNjgsIDE3MjgsIDI2NywgMTcyOSwgMjY4LCAxNzI5LCAyNjksIDE3MjksIDI3MCwgMTcyOSwgCi0gICAgMjY3LCAxNzI2LCAyNjgsIDE3MjYsIDI2OSwgMTcyNiwgMjcwLCAxNzI2LCAyNjcsIDE3NDYsIDI2OCwgMTc0NiwgMjY3LCAKLSAgICAxNzQ3LCAyNjgsIDE3NDcsIDI2NywgMTcwOSwgMjY4LCAxNzA5LCAyNjksIDE3MDksIDI3MCwgMTcwOSwgMjY3LCAxNzM1LCAKLSAgICAyNjgsIDE3MzUsIDI2NywgMTczNCwgMjY4LCAxNzM0LCAyNjcsIDE3MzYsIDI2OCwgMTczNiwgMjY3LCAxNjU1LCAyNjcsIAotICAgIDE3MzksIDI2OCwgMTczOSwgMjY3LCAxNzMzLCAyNjgsIDE3MzMsIDI2NywgMTczNywgMjY4LCAxNzM3LCAyNjcsIDE3NDQsIAotICAgIDI2OCwgMTc0NCwgMjY5LCAxNzQ0LCAyNzAsIDE3NDQsIDI2OSwgMTYwOSwgMjcwLCAxNjA5LCA1MjMsIDE1NzQsIDE1NzUsIAotICAgIDUyNCwgMTU3NCwgMTU3NSwgNTIzLCAxNTc0LCAxNzQ5LCA1MjQsIDE1NzQsIDE3NDksIDUyMywgMTU3NCwgMTYwOCwgNTI0LCAKLSAgICAxNTc0LCAxNjA4LCA1MjMsIDE1NzQsIDE3MzUsIDUyNCwgMTU3NCwgMTczNSwgNTIzLCAxNTc0LCAxNzM0LCA1MjQsIDE1NzQsIAotICAgIDE3MzQsIDUyMywgMTU3NCwgMTczNiwgNTI0LCAxNTc0LCAxNzM2LCA1MjMsIDE1NzQsIDE3NDQsIDUyNCwgMTU3NCwgMTc0NCwgCi0gICAgNTI1LCAxNTc0LCAxNzQ0LCA1MjMsIDE1NzQsIDE2MDksIDUyNCwgMTU3NCwgMTYwOSwgNTI1LCAxNTc0LCAxNjA5LCAyNjcsIAotICAgIDE3NDAsIDI2OCwgMTc0MCwgMjY5LCAxNzQwLCAyNzAsIDE3NDAsIDUyMywgMTU3NCwgMTU4MCwgNTIzLCAxNTc0LCAxNTgxLCAKLSAgICA1MjMsIDE1NzQsIDE2MDUsIDUyMywgMTU3NCwgMTYwOSwgNTIzLCAxNTc0LCAxNjEwLCA1MjMsIDE1NzYsIDE1ODAsIDUyMywgCi0gICAgMTU3NiwgMTU4MSwgNTIzLCAxNTc2LCAxNTgyLCA1MjMsIDE1NzYsIDE2MDUsIDUyMywgMTU3NiwgMTYwOSwgNTIzLCAxNTc2LCAKLSAgICAxNjEwLCA1MjMsIDE1NzgsIDE1ODAsIDUyMywgMTU3OCwgMTU4MSwgNTIzLCAxNTc4LCAxNTgyLCA1MjMsIDE1NzgsIDE2MDUsIAotICAgIDUyMywgMTU3OCwgMTYwOSwgNTIzLCAxNTc4LCAxNjEwLCA1MjMsIDE1NzksIDE1ODAsIDUyMywgMTU3OSwgMTYwNSwgNTIzLCAKLSAgICAxNTc5LCAxNjA5LCA1MjMsIDE1NzksIDE2MTAsIDUyMywgMTU4MCwgMTU4MSwgNTIzLCAxNTgwLCAxNjA1LCA1MjMsIDE1ODEsIAotICAgIDE1ODAsIDUyMywgMTU4MSwgMTYwNSwgNTIzLCAxNTgyLCAxNTgwLCA1MjMsIDE1ODIsIDE1ODEsIDUyMywgMTU4MiwgMTYwNSwgCi0gICAgNTIzLCAxNTg3LCAxNTgwLCA1MjMsIDE1ODcsIDE1ODEsIDUyMywgMTU4NywgMTU4MiwgNTIzLCAxNTg3LCAxNjA1LCA1MjMsIAotICAgIDE1ODksIDE1ODEsIDUyMywgMTU4OSwgMTYwNSwgNTIzLCAxNTkwLCAxNTgwLCA1MjMsIDE1OTAsIDE1ODEsIDUyMywgMTU5MCwgCi0gICAgMTU4MiwgNTIzLCAxNTkwLCAxNjA1LCA1MjMsIDE1OTEsIDE1ODEsIDUyMywgMTU5MSwgMTYwNSwgNTIzLCAxNTkyLCAxNjA1LCAKLSAgICA1MjMsIDE1OTMsIDE1ODAsIDUyMywgMTU5MywgMTYwNSwgNTIzLCAxNTk0LCAxNTgwLCA1MjMsIDE1OTQsIDE2MDUsIDUyMywgCi0gICAgMTYwMSwgMTU4MCwgNTIzLCAxNjAxLCAxNTgxLCA1MjMsIDE2MDEsIDE1ODIsIDUyMywgMTYwMSwgMTYwNSwgNTIzLCAxNjAxLCAKLSAgICAxNjA5LCA1MjMsIDE2MDEsIDE2MTAsIDUyMywgMTYwMiwgMTU4MSwgNTIzLCAxNjAyLCAxNjA1LCA1MjMsIDE2MDIsIDE2MDksIAotICAgIDUyMywgMTYwMiwgMTYxMCwgNTIzLCAxNjAzLCAxNTc1LCA1MjMsIDE2MDMsIDE1ODAsIDUyMywgMTYwMywgMTU4MSwgNTIzLCAKLSAgICAxNjAzLCAxNTgyLCA1MjMsIDE2MDMsIDE2MDQsIDUyMywgMTYwMywgMTYwNSwgNTIzLCAxNjAzLCAxNjA5LCA1MjMsIDE2MDMsIAotICAgIDE2MTAsIDUyMywgMTYwNCwgMTU4MCwgNTIzLCAxNjA0LCAxNTgxLCA1MjMsIDE2MDQsIDE1ODIsIDUyMywgMTYwNCwgMTYwNSwgCi0gICAgNTIzLCAxNjA0LCAxNjA5LCA1MjMsIDE2MDQsIDE2MTAsIDUyMywgMTYwNSwgMTU4MCwgNTIzLCAxNjA1LCAxNTgxLCA1MjMsIAotICAgIDE2MDUsIDE1ODIsIDUyMywgMTYwNSwgMTYwNSwgNTIzLCAxNjA1LCAxNjA5LCA1MjMsIDE2MDUsIDE2MTAsIDUyMywgMTYwNiwgCi0gICAgMTU4MCwgNTIzLCAxNjA2LCAxNTgxLCA1MjMsIDE2MDYsIDE1ODIsIDUyMywgMTYwNiwgMTYwNSwgNTIzLCAxNjA2LCAxNjA5LCAKLSAgICA1MjMsIDE2MDYsIDE2MTAsIDUyMywgMTYwNywgMTU4MCwgNTIzLCAxNjA3LCAxNjA1LCA1MjMsIDE2MDcsIDE2MDksIDUyMywgCi0gICAgMTYwNywgMTYxMCwgNTIzLCAxNjEwLCAxNTgwLCA1MjMsIDE2MTAsIDE1ODEsIDUyMywgMTYxMCwgMTU4MiwgNTIzLCAxNjEwLCAKLSAgICAxNjA1LCA1MjMsIDE2MTAsIDE2MDksIDUyMywgMTYxMCwgMTYxMCwgNTIzLCAxNTg0LCAxNjQ4LCA1MjMsIDE1ODUsIDE2NDgsIAotICAgIDUyMywgMTYwOSwgMTY0OCwgNzc5LCAzMiwgMTYxMiwgMTYxNywgNzc5LCAzMiwgMTYxMywgMTYxNywgNzc5LCAzMiwgMTYxNCwgCi0gICAgMTYxNywgNzc5LCAzMiwgMTYxNSwgMTYxNywgNzc5LCAzMiwgMTYxNiwgMTYxNywgNzc5LCAzMiwgMTYxNywgMTY0OCwgNTI0LCAKLSAgICAxNTc0LCAxNTg1LCA1MjQsIDE1NzQsIDE1ODYsIDUyNCwgMTU3NCwgMTYwNSwgNTI0LCAxNTc0LCAxNjA2LCA1MjQsIDE1NzQsIAotICAgIDE2MDksIDUyNCwgMTU3NCwgMTYxMCwgNTI0LCAxNTc2LCAxNTg1LCA1MjQsIDE1NzYsIDE1ODYsIDUyNCwgMTU3NiwgMTYwNSwgCi0gICAgNTI0LCAxNTc2LCAxNjA2LCA1MjQsIDE1NzYsIDE2MDksIDUyNCwgMTU3NiwgMTYxMCwgNTI0LCAxNTc4LCAxNTg1LCA1MjQsIAotICAgIDE1NzgsIDE1ODYsIDUyNCwgMTU3OCwgMTYwNSwgNTI0LCAxNTc4LCAxNjA2LCA1MjQsIDE1NzgsIDE2MDksIDUyNCwgMTU3OCwgCi0gICAgMTYxMCwgNTI0LCAxNTc5LCAxNTg1LCA1MjQsIDE1NzksIDE1ODYsIDUyNCwgMTU3OSwgMTYwNSwgNTI0LCAxNTc5LCAxNjA2LCAKLSAgICA1MjQsIDE1NzksIDE2MDksIDUyNCwgMTU3OSwgMTYxMCwgNTI0LCAxNjAxLCAxNjA5LCA1MjQsIDE2MDEsIDE2MTAsIDUyNCwgCi0gICAgMTYwMiwgMTYwOSwgNTI0LCAxNjAyLCAxNjEwLCA1MjQsIDE2MDMsIDE1NzUsIDUyNCwgMTYwMywgMTYwNCwgNTI0LCAxNjAzLCAKLSAgICAxNjA1LCA1MjQsIDE2MDMsIDE2MDksIDUyNCwgMTYwMywgMTYxMCwgNTI0LCAxNjA0LCAxNjA1LCA1MjQsIDE2MDQsIDE2MDksIAotICAgIDUyNCwgMTYwNCwgMTYxMCwgNTI0LCAxNjA1LCAxNTc1LCA1MjQsIDE2MDUsIDE2MDUsIDUyNCwgMTYwNiwgMTU4NSwgNTI0LCAKLSAgICAxNjA2LCAxNTg2LCA1MjQsIDE2MDYsIDE2MDUsIDUyNCwgMTYwNiwgMTYwNiwgNTI0LCAxNjA2LCAxNjA5LCA1MjQsIDE2MDYsIAotICAgIDE2MTAsIDUyNCwgMTYwOSwgMTY0OCwgNTI0LCAxNjEwLCAxNTg1LCA1MjQsIDE2MTAsIDE1ODYsIDUyNCwgMTYxMCwgMTYwNSwgCi0gICAgNTI0LCAxNjEwLCAxNjA2LCA1MjQsIDE2MTAsIDE2MDksIDUyNCwgMTYxMCwgMTYxMCwgNTI1LCAxNTc0LCAxNTgwLCA1MjUsIAotICAgIDE1NzQsIDE1ODEsIDUyNSwgMTU3NCwgMTU4MiwgNTI1LCAxNTc0LCAxNjA1LCA1MjUsIDE1NzQsIDE2MDcsIDUyNSwgMTU3NiwgCi0gICAgMTU4MCwgNTI1LCAxNTc2LCAxNTgxLCA1MjUsIDE1NzYsIDE1ODIsIDUyNSwgMTU3NiwgMTYwNSwgNTI1LCAxNTc2LCAxNjA3LCAKLSAgICA1MjUsIDE1NzgsIDE1ODAsIDUyNSwgMTU3OCwgMTU4MSwgNTI1LCAxNTc4LCAxNTgyLCA1MjUsIDE1NzgsIDE2MDUsIDUyNSwgCi0gICAgMTU3OCwgMTYwNywgNTI1LCAxNTc5LCAxNjA1LCA1MjUsIDE1ODAsIDE1ODEsIDUyNSwgMTU4MCwgMTYwNSwgNTI1LCAxNTgxLCAKLSAgICAxNTgwLCA1MjUsIDE1ODEsIDE2MDUsIDUyNSwgMTU4MiwgMTU4MCwgNTI1LCAxNTgyLCAxNjA1LCA1MjUsIDE1ODcsIDE1ODAsIAotICAgIDUyNSwgMTU4NywgMTU4MSwgNTI1LCAxNTg3LCAxNTgyLCA1MjUsIDE1ODcsIDE2MDUsIDUyNSwgMTU4OSwgMTU4MSwgNTI1LCAKLSAgICAxNTg5LCAxNTgyLCA1MjUsIDE1ODksIDE2MDUsIDUyNSwgMTU5MCwgMTU4MCwgNTI1LCAxNTkwLCAxNTgxLCA1MjUsIDE1OTAsIAotICAgIDE1ODIsIDUyNSwgMTU5MCwgMTYwNSwgNTI1LCAxNTkxLCAxNTgxLCA1MjUsIDE1OTIsIDE2MDUsIDUyNSwgMTU5MywgMTU4MCwgCi0gICAgNTI1LCAxNTkzLCAxNjA1LCA1MjUsIDE1OTQsIDE1ODAsIDUyNSwgMTU5NCwgMTYwNSwgNTI1LCAxNjAxLCAxNTgwLCA1MjUsIAotICAgIDE2MDEsIDE1ODEsIDUyNSwgMTYwMSwgMTU4MiwgNTI1LCAxNjAxLCAxNjA1LCA1MjUsIDE2MDIsIDE1ODEsIDUyNSwgMTYwMiwgCi0gICAgMTYwNSwgNTI1LCAxNjAzLCAxNTgwLCA1MjUsIDE2MDMsIDE1ODEsIDUyNSwgMTYwMywgMTU4MiwgNTI1LCAxNjAzLCAxNjA0LCAKLSAgICA1MjUsIDE2MDMsIDE2MDUsIDUyNSwgMTYwNCwgMTU4MCwgNTI1LCAxNjA0LCAxNTgxLCA1MjUsIDE2MDQsIDE1ODIsIDUyNSwgCi0gICAgMTYwNCwgMTYwNSwgNTI1LCAxNjA0LCAxNjA3LCA1MjUsIDE2MDUsIDE1ODAsIDUyNSwgMTYwNSwgMTU4MSwgNTI1LCAxNjA1LCAKLSAgICAxNTgyLCA1MjUsIDE2MDUsIDE2MDUsIDUyNSwgMTYwNiwgMTU4MCwgNTI1LCAxNjA2LCAxNTgxLCA1MjUsIDE2MDYsIDE1ODIsIAotICAgIDUyNSwgMTYwNiwgMTYwNSwgNTI1LCAxNjA2LCAxNjA3LCA1MjUsIDE2MDcsIDE1ODAsIDUyNSwgMTYwNywgMTYwNSwgNTI1LCAKLSAgICAxNjA3LCAxNjQ4LCA1MjUsIDE2MTAsIDE1ODAsIDUyNSwgMTYxMCwgMTU4MSwgNTI1LCAxNjEwLCAxNTgyLCA1MjUsIDE2MTAsIAotICAgIDE2MDUsIDUyNSwgMTYxMCwgMTYwNywgNTI2LCAxNTc0LCAxNjA1LCA1MjYsIDE1NzQsIDE2MDcsIDUyNiwgMTU3NiwgMTYwNSwgCi0gICAgNTI2LCAxNTc2LCAxNjA3LCA1MjYsIDE1NzgsIDE2MDUsIDUyNiwgMTU3OCwgMTYwNywgNTI2LCAxNTc5LCAxNjA1LCA1MjYsIAotICAgIDE1NzksIDE2MDcsIDUyNiwgMTU4NywgMTYwNSwgNTI2LCAxNTg3LCAxNjA3LCA1MjYsIDE1ODgsIDE2MDUsIDUyNiwgMTU4OCwgCi0gICAgMTYwNywgNTI2LCAxNjAzLCAxNjA0LCA1MjYsIDE2MDMsIDE2MDUsIDUyNiwgMTYwNCwgMTYwNSwgNTI2LCAxNjA2LCAxNjA1LCAKLSAgICA1MjYsIDE2MDYsIDE2MDcsIDUyNiwgMTYxMCwgMTYwNSwgNTI2LCAxNjEwLCAxNjA3LCA3ODIsIDE2MDAsIDE2MTQsIDE2MTcsIAotICAgIDc4MiwgMTYwMCwgMTYxNSwgMTYxNywgNzgyLCAxNjAwLCAxNjE2LCAxNjE3LCA1MjMsIDE1OTEsIDE2MDksIDUyMywgMTU5MSwgCi0gICAgMTYxMCwgNTIzLCAxNTkzLCAxNjA5LCA1MjMsIDE1OTMsIDE2MTAsIDUyMywgMTU5NCwgMTYwOSwgNTIzLCAxNTk0LCAxNjEwLCAKLSAgICA1MjMsIDE1ODcsIDE2MDksIDUyMywgMTU4NywgMTYxMCwgNTIzLCAxNTg4LCAxNjA5LCA1MjMsIDE1ODgsIDE2MTAsIDUyMywgCi0gICAgMTU4MSwgMTYwOSwgNTIzLCAxNTgxLCAxNjEwLCA1MjMsIDE1ODAsIDE2MDksIDUyMywgMTU4MCwgMTYxMCwgNTIzLCAxNTgyLCAKLSAgICAxNjA5LCA1MjMsIDE1ODIsIDE2MTAsIDUyMywgMTU4OSwgMTYwOSwgNTIzLCAxNTg5LCAxNjEwLCA1MjMsIDE1OTAsIDE2MDksIAotICAgIDUyMywgMTU5MCwgMTYxMCwgNTIzLCAxNTg4LCAxNTgwLCA1MjMsIDE1ODgsIDE1ODEsIDUyMywgMTU4OCwgMTU4MiwgNTIzLCAKLSAgICAxNTg4LCAxNjA1LCA1MjMsIDE1ODgsIDE1ODUsIDUyMywgMTU4NywgMTU4NSwgNTIzLCAxNTg5LCAxNTg1LCA1MjMsIDE1OTAsIAotICAgIDE1ODUsIDUyNCwgMTU5MSwgMTYwOSwgNTI0LCAxNTkxLCAxNjEwLCA1MjQsIDE1OTMsIDE2MDksIDUyNCwgMTU5MywgMTYxMCwgCi0gICAgNTI0LCAxNTk0LCAxNjA5LCA1MjQsIDE1OTQsIDE2MTAsIDUyNCwgMTU4NywgMTYwOSwgNTI0LCAxNTg3LCAxNjEwLCA1MjQsIAotICAgIDE1ODgsIDE2MDksIDUyNCwgMTU4OCwgMTYxMCwgNTI0LCAxNTgxLCAxNjA5LCA1MjQsIDE1ODEsIDE2MTAsIDUyNCwgMTU4MCwgCi0gICAgMTYwOSwgNTI0LCAxNTgwLCAxNjEwLCA1MjQsIDE1ODIsIDE2MDksIDUyNCwgMTU4MiwgMTYxMCwgNTI0LCAxNTg5LCAxNjA5LCAKLSAgICA1MjQsIDE1ODksIDE2MTAsIDUyNCwgMTU5MCwgMTYwOSwgNTI0LCAxNTkwLCAxNjEwLCA1MjQsIDE1ODgsIDE1ODAsIDUyNCwgCi0gICAgMTU4OCwgMTU4MSwgNTI0LCAxNTg4LCAxNTgyLCA1MjQsIDE1ODgsIDE2MDUsIDUyNCwgMTU4OCwgMTU4NSwgNTI0LCAxNTg3LCAKLSAgICAxNTg1LCA1MjQsIDE1ODksIDE1ODUsIDUyNCwgMTU5MCwgMTU4NSwgNTI1LCAxNTg4LCAxNTgwLCA1MjUsIDE1ODgsIDE1ODEsIAotICAgIDUyNSwgMTU4OCwgMTU4MiwgNTI1LCAxNTg4LCAxNjA1LCA1MjUsIDE1ODcsIDE2MDcsIDUyNSwgMTU4OCwgMTYwNywgNTI1LCAKLSAgICAxNTkxLCAxNjA1LCA1MjYsIDE1ODcsIDE1ODAsIDUyNiwgMTU4NywgMTU4MSwgNTI2LCAxNTg3LCAxNTgyLCA1MjYsIDE1ODgsIAotICAgIDE1ODAsIDUyNiwgMTU4OCwgMTU4MSwgNTI2LCAxNTg4LCAxNTgyLCA1MjYsIDE1OTEsIDE2MDUsIDUyNiwgMTU5MiwgMTYwNSwgCi0gICAgNTI0LCAxNTc1LCAxNjExLCA1MjMsIDE1NzUsIDE2MTEsIDc4MSwgMTU3OCwgMTU4MCwgMTYwNSwgNzgwLCAxNTc4LCAxNTgxLCAKLSAgICAxNTgwLCA3ODEsIDE1NzgsIDE1ODEsIDE1ODAsIDc4MSwgMTU3OCwgMTU4MSwgMTYwNSwgNzgxLCAxNTc4LCAxNTgyLCAKLSAgICAxNjA1LCA3ODEsIDE1NzgsIDE2MDUsIDE1ODAsIDc4MSwgMTU3OCwgMTYwNSwgMTU4MSwgNzgxLCAxNTc4LCAxNjA1LCAKLSAgICAxNTgyLCA3ODAsIDE1ODAsIDE2MDUsIDE1ODEsIDc4MSwgMTU4MCwgMTYwNSwgMTU4MSwgNzgwLCAxNTgxLCAxNjA1LCAKLSAgICAxNjEwLCA3ODAsIDE1ODEsIDE2MDUsIDE2MDksIDc4MSwgMTU4NywgMTU4MSwgMTU4MCwgNzgxLCAxNTg3LCAxNTgwLCAKLSAgICAxNTgxLCA3ODAsIDE1ODcsIDE1ODAsIDE2MDksIDc4MCwgMTU4NywgMTYwNSwgMTU4MSwgNzgxLCAxNTg3LCAxNjA1LCAKLSAgICAxNTgxLCA3ODEsIDE1ODcsIDE2MDUsIDE1ODAsIDc4MCwgMTU4NywgMTYwNSwgMTYwNSwgNzgxLCAxNTg3LCAxNjA1LCAKLSAgICAxNjA1LCA3ODAsIDE1ODksIDE1ODEsIDE1ODEsIDc4MSwgMTU4OSwgMTU4MSwgMTU4MSwgNzgwLCAxNTg5LCAxNjA1LCAKLSAgICAxNjA1LCA3ODAsIDE1ODgsIDE1ODEsIDE2MDUsIDc4MSwgMTU4OCwgMTU4MSwgMTYwNSwgNzgwLCAxNTg4LCAxNTgwLCAKLSAgICAxNjEwLCA3ODAsIDE1ODgsIDE2MDUsIDE1ODIsIDc4MSwgMTU4OCwgMTYwNSwgMTU4MiwgNzgwLCAxNTg4LCAxNjA1LCAKLSAgICAxNjA1LCA3ODEsIDE1ODgsIDE2MDUsIDE2MDUsIDc4MCwgMTU5MCwgMTU4MSwgMTYwOSwgNzgwLCAxNTkwLCAxNTgyLCAKLSAgICAxNjA1LCA3ODEsIDE1OTAsIDE1ODIsIDE2MDUsIDc4MCwgMTU5MSwgMTYwNSwgMTU4MSwgNzgxLCAxNTkxLCAxNjA1LCAKLSAgICAxNTgxLCA3ODEsIDE1OTEsIDE2MDUsIDE2MDUsIDc4MCwgMTU5MSwgMTYwNSwgMTYxMCwgNzgwLCAxNTkzLCAxNTgwLCAKLSAgICAxNjA1LCA3ODAsIDE1OTMsIDE2MDUsIDE2MDUsIDc4MSwgMTU5MywgMTYwNSwgMTYwNSwgNzgwLCAxNTkzLCAxNjA1LCAKLSAgICAxNjA5LCA3ODAsIDE1OTQsIDE2MDUsIDE2MDUsIDc4MCwgMTU5NCwgMTYwNSwgMTYxMCwgNzgwLCAxNTk0LCAxNjA1LCAKLSAgICAxNjA5LCA3ODAsIDE2MDEsIDE1ODIsIDE2MDUsIDc4MSwgMTYwMSwgMTU4MiwgMTYwNSwgNzgwLCAxNjAyLCAxNjA1LCAKLSAgICAxNTgxLCA3ODAsIDE2MDIsIDE2MDUsIDE2MDUsIDc4MCwgMTYwNCwgMTU4MSwgMTYwNSwgNzgwLCAxNjA0LCAxNTgxLCAKLSAgICAxNjEwLCA3ODAsIDE2MDQsIDE1ODEsIDE2MDksIDc4MSwgMTYwNCwgMTU4MCwgMTU4MCwgNzgwLCAxNjA0LCAxNTgwLCAKLSAgICAxNTgwLCA3ODAsIDE2MDQsIDE1ODIsIDE2MDUsIDc4MSwgMTYwNCwgMTU4MiwgMTYwNSwgNzgwLCAxNjA0LCAxNjA1LCAKLSAgICAxNTgxLCA3ODEsIDE2MDQsIDE2MDUsIDE1ODEsIDc4MSwgMTYwNSwgMTU4MSwgMTU4MCwgNzgxLCAxNjA1LCAxNTgxLCAKLSAgICAxNjA1LCA3ODAsIDE2MDUsIDE1ODEsIDE2MTAsIDc4MSwgMTYwNSwgMTU4MCwgMTU4MSwgNzgxLCAxNjA1LCAxNTgwLCAKLSAgICAxNjA1LCA3ODEsIDE2MDUsIDE1ODIsIDE1ODAsIDc4MSwgMTYwNSwgMTU4MiwgMTYwNSwgNzgxLCAxNjA1LCAxNTgwLCAKLSAgICAxNTgyLCA3ODEsIDE2MDcsIDE2MDUsIDE1ODAsIDc4MSwgMTYwNywgMTYwNSwgMTYwNSwgNzgxLCAxNjA2LCAxNTgxLCAKLSAgICAxNjA1LCA3ODAsIDE2MDYsIDE1ODEsIDE2MDksIDc4MCwgMTYwNiwgMTU4MCwgMTYwNSwgNzgxLCAxNjA2LCAxNTgwLCAKLSAgICAxNjA1LCA3ODAsIDE2MDYsIDE1ODAsIDE2MDksIDc4MCwgMTYwNiwgMTYwNSwgMTYxMCwgNzgwLCAxNjA2LCAxNjA1LCAKLSAgICAxNjA5LCA3ODAsIDE2MTAsIDE2MDUsIDE2MDUsIDc4MSwgMTYxMCwgMTYwNSwgMTYwNSwgNzgwLCAxNTc2LCAxNTgyLCAKLSAgICAxNjEwLCA3ODAsIDE1NzgsIDE1ODAsIDE2MTAsIDc4MCwgMTU3OCwgMTU4MCwgMTYwOSwgNzgwLCAxNTc4LCAxNTgyLCAKLSAgICAxNjEwLCA3ODAsIDE1NzgsIDE1ODIsIDE2MDksIDc4MCwgMTU3OCwgMTYwNSwgMTYxMCwgNzgwLCAxNTc4LCAxNjA1LCAKLSAgICAxNjA5LCA3ODAsIDE1ODAsIDE2MDUsIDE2MTAsIDc4MCwgMTU4MCwgMTU4MSwgMTYwOSwgNzgwLCAxNTgwLCAxNjA1LCAKLSAgICAxNjA5LCA3ODAsIDE1ODcsIDE1ODIsIDE2MDksIDc4MCwgMTU4OSwgMTU4MSwgMTYxMCwgNzgwLCAxNTg4LCAxNTgxLCAKLSAgICAxNjEwLCA3ODAsIDE1OTAsIDE1ODEsIDE2MTAsIDc4MCwgMTYwNCwgMTU4MCwgMTYxMCwgNzgwLCAxNjA0LCAxNjA1LCAKLSAgICAxNjEwLCA3ODAsIDE2MTAsIDE1ODEsIDE2MTAsIDc4MCwgMTYxMCwgMTU4MCwgMTYxMCwgNzgwLCAxNjEwLCAxNjA1LCAKLSAgICAxNjEwLCA3ODAsIDE2MDUsIDE2MDUsIDE2MTAsIDc4MCwgMTYwMiwgMTYwNSwgMTYxMCwgNzgwLCAxNjA2LCAxNTgxLCAKLSAgICAxNjEwLCA3ODEsIDE2MDIsIDE2MDUsIDE1ODEsIDc4MSwgMTYwNCwgMTU4MSwgMTYwNSwgNzgwLCAxNTkzLCAxNjA1LCAKLSAgICAxNjEwLCA3ODAsIDE2MDMsIDE2MDUsIDE2MTAsIDc4MSwgMTYwNiwgMTU4MCwgMTU4MSwgNzgwLCAxNjA1LCAxNTgyLCAKLSAgICAxNjEwLCA3ODEsIDE2MDQsIDE1ODAsIDE2MDUsIDc4MCwgMTYwMywgMTYwNSwgMTYwNSwgNzgwLCAxNjA0LCAxNTgwLCAKLSAgICAxNjA1LCA3ODAsIDE2MDYsIDE1ODAsIDE1ODEsIDc4MCwgMTU4MCwgMTU4MSwgMTYxMCwgNzgwLCAxNTgxLCAxNTgwLCAKLSAgICAxNjEwLCA3ODAsIDE2MDUsIDE1ODAsIDE2MTAsIDc4MCwgMTYwMSwgMTYwNSwgMTYxMCwgNzgwLCAxNTc2LCAxNTgxLCAKLSAgICAxNjEwLCA3ODEsIDE2MDMsIDE2MDUsIDE2MDUsIDc4MSwgMTU5MywgMTU4MCwgMTYwNSwgNzgxLCAxNTg5LCAxNjA1LCAKLSAgICAxNjA1LCA3ODAsIDE1ODcsIDE1ODIsIDE2MTAsIDc4MCwgMTYwNiwgMTU4MCwgMTYxMCwgNzc5LCAxNTg5LCAxNjA0LCAKLSAgICAxNzQ2LCA3NzksIDE2MDIsIDE2MDQsIDE3NDYsIDEwMzUsIDE1NzUsIDE2MDQsIDE2MDQsIDE2MDcsIDEwMzUsIDE1NzUsIAotICAgIDE2MDMsIDE1NzYsIDE1ODUsIDEwMzUsIDE2MDUsIDE1ODEsIDE2MDUsIDE1ODMsIDEwMzUsIDE1ODksIDE2MDQsIDE1OTMsIAotICAgIDE2MDUsIDEwMzUsIDE1ODUsIDE1ODcsIDE2MDgsIDE2MDQsIDEwMzUsIDE1OTMsIDE2MDQsIDE2MTAsIDE2MDcsIDEwMzUsIAotICAgIDE2MDgsIDE1ODcsIDE2MDQsIDE2MDUsIDc3OSwgMTU4OSwgMTYwNCwgMTYwOSwgNDYxOSwgMTU4OSwgMTYwNCwgMTYwOSwgCi0gICAgMzIsIDE1NzUsIDE2MDQsIDE2MDQsIDE2MDcsIDMyLCAxNTkzLCAxNjA0LCAxNjEwLCAxNjA3LCAzMiwgMTYwOCwgMTU4NywgCi0gICAgMTYwNCwgMTYwNSwgMjA1OSwgMTU4MCwgMTYwNCwgMzIsIDE1ODAsIDE2MDQsIDE1NzUsIDE2MDQsIDE2MDcsIDEwMzUsIAotICAgIDE1ODUsIDE3NDAsIDE1NzUsIDE2MDQsIDI2NSwgNDQsIDI2NSwgMTIyODksIDI2NSwgMTIyOTAsIDI2NSwgNTgsIDI2NSwgCi0gICAgNTksIDI2NSwgMzMsIDI2NSwgNjMsIDI2NSwgMTIzMTAsIDI2NSwgMTIzMTEsIDI2NSwgODIzMCwgMjY1LCA4MjI5LCAyNjUsIAotICAgIDgyMTIsIDI2NSwgODIxMSwgMjY1LCA5NSwgMjY1LCA5NSwgMjY1LCA0MCwgMjY1LCA0MSwgMjY1LCAxMjMsIDI2NSwgMTI1LCAKLSAgICAyNjUsIDEyMzA4LCAyNjUsIDEyMzA5LCAyNjUsIDEyMzA0LCAyNjUsIDEyMzA1LCAyNjUsIDEyMjk4LCAyNjUsIDEyMjk5LCAKLSAgICAyNjUsIDEyMjk2LCAyNjUsIDEyMjk3LCAyNjUsIDEyMzAwLCAyNjUsIDEyMzAxLCAyNjUsIDEyMzAyLCAyNjUsIDEyMzAzLCAKLSAgICAyNjUsIDkxLCAyNjUsIDkzLCAyNTgsIDgyNTQsIDI1OCwgODI1NCwgMjU4LCA4MjU0LCAyNTgsIDgyNTQsIDI1OCwgOTUsIAotICAgIDI1OCwgOTUsIDI1OCwgOTUsIDI3MSwgNDQsIDI3MSwgMTIyODksIDI3MSwgNDYsIDI3MSwgNTksIDI3MSwgNTgsIDI3MSwgCi0gICAgNjMsIDI3MSwgMzMsIDI3MSwgODIxMiwgMjcxLCA0MCwgMjcxLCA0MSwgMjcxLCAxMjMsIDI3MSwgMTI1LCAyNzEsIDEyMzA4LCAKLSAgICAyNzEsIDEyMzA5LCAyNzEsIDM1LCAyNzEsIDM4LCAyNzEsIDQyLCAyNzEsIDQzLCAyNzEsIDQ1LCAyNzEsIDYwLCAyNzEsIAotICAgIDYyLCAyNzEsIDYxLCAyNzEsIDkyLCAyNzEsIDM2LCAyNzEsIDM3LCAyNzEsIDY0LCA1MjMsIDMyLCAxNjExLCA1MjYsIAotICAgIDE2MDAsIDE2MTEsIDUyMywgMzIsIDE2MTIsIDUyMywgMzIsIDE2MTMsIDUyMywgMzIsIDE2MTQsIDUyNiwgMTYwMCwgMTYxNCwgCi0gICAgNTIzLCAzMiwgMTYxNSwgNTI2LCAxNjAwLCAxNjE1LCA1MjMsIDMyLCAxNjE2LCA1MjYsIDE2MDAsIDE2MTYsIDUyMywgMzIsIAotICAgIDE2MTcsIDUyNiwgMTYwMCwgMTYxNywgNTIzLCAzMiwgMTYxOCwgNTI2LCAxNjAwLCAxNjE4LCAyNjcsIDE1NjksIDI2NywgCi0gICAgMTU3MCwgMjY4LCAxNTcwLCAyNjcsIDE1NzEsIDI2OCwgMTU3MSwgMjY3LCAxNTcyLCAyNjgsIDE1NzIsIDI2NywgMTU3MywgCi0gICAgMjY4LCAxNTczLCAyNjcsIDE1NzQsIDI2OCwgMTU3NCwgMjY5LCAxNTc0LCAyNzAsIDE1NzQsIDI2NywgMTU3NSwgMjY4LCAKLSAgICAxNTc1LCAyNjcsIDE1NzYsIDI2OCwgMTU3NiwgMjY5LCAxNTc2LCAyNzAsIDE1NzYsIDI2NywgMTU3NywgMjY4LCAxNTc3LCAKLSAgICAyNjcsIDE1NzgsIDI2OCwgMTU3OCwgMjY5LCAxNTc4LCAyNzAsIDE1NzgsIDI2NywgMTU3OSwgMjY4LCAxNTc5LCAyNjksIAotICAgIDE1NzksIDI3MCwgMTU3OSwgMjY3LCAxNTgwLCAyNjgsIDE1ODAsIDI2OSwgMTU4MCwgMjcwLCAxNTgwLCAyNjcsIDE1ODEsIAotICAgIDI2OCwgMTU4MSwgMjY5LCAxNTgxLCAyNzAsIDE1ODEsIDI2NywgMTU4MiwgMjY4LCAxNTgyLCAyNjksIDE1ODIsIDI3MCwgCi0gICAgMTU4MiwgMjY3LCAxNTgzLCAyNjgsIDE1ODMsIDI2NywgMTU4NCwgMjY4LCAxNTg0LCAyNjcsIDE1ODUsIDI2OCwgMTU4NSwgCi0gICAgMjY3LCAxNTg2LCAyNjgsIDE1ODYsIDI2NywgMTU4NywgMjY4LCAxNTg3LCAyNjksIDE1ODcsIDI3MCwgMTU4NywgMjY3LCAKLSAgICAxNTg4LCAyNjgsIDE1ODgsIDI2OSwgMTU4OCwgMjcwLCAxNTg4LCAyNjcsIDE1ODksIDI2OCwgMTU4OSwgMjY5LCAxNTg5LCAKLSAgICAyNzAsIDE1ODksIDI2NywgMTU5MCwgMjY4LCAxNTkwLCAyNjksIDE1OTAsIDI3MCwgMTU5MCwgMjY3LCAxNTkxLCAyNjgsIAotICAgIDE1OTEsIDI2OSwgMTU5MSwgMjcwLCAxNTkxLCAyNjcsIDE1OTIsIDI2OCwgMTU5MiwgMjY5LCAxNTkyLCAyNzAsIDE1OTIsIAotICAgIDI2NywgMTU5MywgMjY4LCAxNTkzLCAyNjksIDE1OTMsIDI3MCwgMTU5MywgMjY3LCAxNTk0LCAyNjgsIDE1OTQsIDI2OSwgCi0gICAgMTU5NCwgMjcwLCAxNTk0LCAyNjcsIDE2MDEsIDI2OCwgMTYwMSwgMjY5LCAxNjAxLCAyNzAsIDE2MDEsIDI2NywgMTYwMiwgCi0gICAgMjY4LCAxNjAyLCAyNjksIDE2MDIsIDI3MCwgMTYwMiwgMjY3LCAxNjAzLCAyNjgsIDE2MDMsIDI2OSwgMTYwMywgMjcwLCAKLSAgICAxNjAzLCAyNjcsIDE2MDQsIDI2OCwgMTYwNCwgMjY5LCAxNjA0LCAyNzAsIDE2MDQsIDI2NywgMTYwNSwgMjY4LCAxNjA1LCAKLSAgICAyNjksIDE2MDUsIDI3MCwgMTYwNSwgMjY3LCAxNjA2LCAyNjgsIDE2MDYsIDI2OSwgMTYwNiwgMjcwLCAxNjA2LCAyNjcsIAotICAgIDE2MDcsIDI2OCwgMTYwNywgMjY5LCAxNjA3LCAyNzAsIDE2MDcsIDI2NywgMTYwOCwgMjY4LCAxNjA4LCAyNjcsIDE2MDksIAotICAgIDI2OCwgMTYwOSwgMjY3LCAxNjEwLCAyNjgsIDE2MTAsIDI2OSwgMTYxMCwgMjcwLCAxNjEwLCA1MjMsIDE2MDQsIDE1NzAsIAotICAgIDUyNCwgMTYwNCwgMTU3MCwgNTIzLCAxNjA0LCAxNTcxLCA1MjQsIDE2MDQsIDE1NzEsIDUyMywgMTYwNCwgMTU3MywgNTI0LCAKLSAgICAxNjA0LCAxNTczLCA1MjMsIDE2MDQsIDE1NzUsIDUyNCwgMTYwNCwgMTU3NSwgMjY0LCAzMywgMjY0LCAzNCwgMjY0LCAzNSwgCi0gICAgMjY0LCAzNiwgMjY0LCAzNywgMjY0LCAzOCwgMjY0LCAzOSwgMjY0LCA0MCwgMjY0LCA0MSwgMjY0LCA0MiwgMjY0LCA0MywgCi0gICAgMjY0LCA0NCwgMjY0LCA0NSwgMjY0LCA0NiwgMjY0LCA0NywgMjY0LCA0OCwgMjY0LCA0OSwgMjY0LCA1MCwgMjY0LCA1MSwgCi0gICAgMjY0LCA1MiwgMjY0LCA1MywgMjY0LCA1NCwgMjY0LCA1NSwgMjY0LCA1NiwgMjY0LCA1NywgMjY0LCA1OCwgMjY0LCA1OSwgCi0gICAgMjY0LCA2MCwgMjY0LCA2MSwgMjY0LCA2MiwgMjY0LCA2MywgMjY0LCA2NCwgMjY0LCA2NSwgMjY0LCA2NiwgMjY0LCA2NywgCi0gICAgMjY0LCA2OCwgMjY0LCA2OSwgMjY0LCA3MCwgMjY0LCA3MSwgMjY0LCA3MiwgMjY0LCA3MywgMjY0LCA3NCwgMjY0LCA3NSwgCi0gICAgMjY0LCA3NiwgMjY0LCA3NywgMjY0LCA3OCwgMjY0LCA3OSwgMjY0LCA4MCwgMjY0LCA4MSwgMjY0LCA4MiwgMjY0LCA4MywgCi0gICAgMjY0LCA4NCwgMjY0LCA4NSwgMjY0LCA4NiwgMjY0LCA4NywgMjY0LCA4OCwgMjY0LCA4OSwgMjY0LCA5MCwgMjY0LCA5MSwgCi0gICAgMjY0LCA5MiwgMjY0LCA5MywgMjY0LCA5NCwgMjY0LCA5NSwgMjY0LCA5NiwgMjY0LCA5NywgMjY0LCA5OCwgMjY0LCA5OSwgCi0gICAgMjY0LCAxMDAsIDI2NCwgMTAxLCAyNjQsIDEwMiwgMjY0LCAxMDMsIDI2NCwgMTA0LCAyNjQsIDEwNSwgMjY0LCAxMDYsIAotICAgIDI2NCwgMTA3LCAyNjQsIDEwOCwgMjY0LCAxMDksIDI2NCwgMTEwLCAyNjQsIDExMSwgMjY0LCAxMTIsIDI2NCwgMTEzLCAKLSAgICAyNjQsIDExNCwgMjY0LCAxMTUsIDI2NCwgMTE2LCAyNjQsIDExNywgMjY0LCAxMTgsIDI2NCwgMTE5LCAyNjQsIDEyMCwgCi0gICAgMjY0LCAxMjEsIDI2NCwgMTIyLCAyNjQsIDEyMywgMjY0LCAxMjQsIDI2NCwgMTI1LCAyNjQsIDEyNiwgMjY0LCAxMDYyOSwgCi0gICAgMjY0LCAxMDYzMCwgMjcyLCAxMjI5MCwgMjcyLCAxMjMwMCwgMjcyLCAxMjMwMSwgMjcyLCAxMjI4OSwgMjcyLCAxMjUzOSwgCi0gICAgMjcyLCAxMjUzMCwgMjcyLCAxMjQ0OSwgMjcyLCAxMjQ1MSwgMjcyLCAxMjQ1MywgMjcyLCAxMjQ1NSwgMjcyLCAxMjQ1NywgCi0gICAgMjcyLCAxMjUxNSwgMjcyLCAxMjUxNywgMjcyLCAxMjUxOSwgMjcyLCAxMjQ4MywgMjcyLCAxMjU0MCwgMjcyLCAxMjQ1MCwgCi0gICAgMjcyLCAxMjQ1MiwgMjcyLCAxMjQ1NCwgMjcyLCAxMjQ1NiwgMjcyLCAxMjQ1OCwgMjcyLCAxMjQ1OSwgMjcyLCAxMjQ2MSwgCi0gICAgMjcyLCAxMjQ2MywgMjcyLCAxMjQ2NSwgMjcyLCAxMjQ2NywgMjcyLCAxMjQ2OSwgMjcyLCAxMjQ3MSwgMjcyLCAxMjQ3MywgCi0gICAgMjcyLCAxMjQ3NSwgMjcyLCAxMjQ3NywgMjcyLCAxMjQ3OSwgMjcyLCAxMjQ4MSwgMjcyLCAxMjQ4NCwgMjcyLCAxMjQ4NiwgCi0gICAgMjcyLCAxMjQ4OCwgMjcyLCAxMjQ5MCwgMjcyLCAxMjQ5MSwgMjcyLCAxMjQ5MiwgMjcyLCAxMjQ5MywgMjcyLCAxMjQ5NCwgCi0gICAgMjcyLCAxMjQ5NSwgMjcyLCAxMjQ5OCwgMjcyLCAxMjUwMSwgMjcyLCAxMjUwNCwgMjcyLCAxMjUwNywgMjcyLCAxMjUxMCwgCi0gICAgMjcyLCAxMjUxMSwgMjcyLCAxMjUxMiwgMjcyLCAxMjUxMywgMjcyLCAxMjUxNCwgMjcyLCAxMjUxNiwgMjcyLCAxMjUxOCwgCi0gICAgMjcyLCAxMjUyMCwgMjcyLCAxMjUyMSwgMjcyLCAxMjUyMiwgMjcyLCAxMjUyMywgMjcyLCAxMjUyNCwgMjcyLCAxMjUyNSwgCi0gICAgMjcyLCAxMjUyNywgMjcyLCAxMjUzMSwgMjcyLCAxMjQ0MSwgMjcyLCAxMjQ0MiwgMjcyLCAxMjY0NCwgMjcyLCAxMjU5MywgCi0gICAgMjcyLCAxMjU5NCwgMjcyLCAxMjU5NSwgMjcyLCAxMjU5NiwgMjcyLCAxMjU5NywgMjcyLCAxMjU5OCwgMjcyLCAxMjU5OSwgCi0gICAgMjcyLCAxMjYwMCwgMjcyLCAxMjYwMSwgMjcyLCAxMjYwMiwgMjcyLCAxMjYwMywgMjcyLCAxMjYwNCwgMjcyLCAxMjYwNSwgCi0gICAgMjcyLCAxMjYwNiwgMjcyLCAxMjYwNywgMjcyLCAxMjYwOCwgMjcyLCAxMjYwOSwgMjcyLCAxMjYxMCwgMjcyLCAxMjYxMSwgCi0gICAgMjcyLCAxMjYxMiwgMjcyLCAxMjYxMywgMjcyLCAxMjYxNCwgMjcyLCAxMjYxNSwgMjcyLCAxMjYxNiwgMjcyLCAxMjYxNywgCi0gICAgMjcyLCAxMjYxOCwgMjcyLCAxMjYxOSwgMjcyLCAxMjYyMCwgMjcyLCAxMjYyMSwgMjcyLCAxMjYyMiwgMjcyLCAxMjYyMywgCi0gICAgMjcyLCAxMjYyNCwgMjcyLCAxMjYyNSwgMjcyLCAxMjYyNiwgMjcyLCAxMjYyNywgMjcyLCAxMjYyOCwgMjcyLCAxMjYyOSwgCi0gICAgMjcyLCAxMjYzMCwgMjcyLCAxMjYzMSwgMjcyLCAxMjYzMiwgMjcyLCAxMjYzMywgMjcyLCAxMjYzNCwgMjcyLCAxMjYzNSwgCi0gICAgMjcyLCAxMjYzNiwgMjcyLCAxMjYzNywgMjcyLCAxMjYzOCwgMjcyLCAxMjYzOSwgMjcyLCAxMjY0MCwgMjcyLCAxMjY0MSwgCi0gICAgMjcyLCAxMjY0MiwgMjcyLCAxMjY0MywgMjY0LCAxNjIsIDI2NCwgMTYzLCAyNjQsIDE3MiwgMjY0LCAxNzUsIDI2NCwgMTY2LCAKLSAgICAyNjQsIDE2NSwgMjY0LCA4MzYxLCAyNzIsIDk0NzQsIDI3MiwgODU5MiwgMjcyLCA4NTkzLCAyNzIsIDg1OTQsIDI3MiwgCi0gICAgODU5NSwgMjcyLCA5NjMyLCAyNzIsIDk2NzUsIDUxMiwgNjk3ODUsIDY5ODE4LCA1MTIsIDY5Nzg3LCA2OTgxOCwgNTEyLCAKLSAgICA2OTc5NywgNjk4MTgsIDUxMiwgNjk5MzcsIDY5OTI3LCA1MTIsIDY5OTM4LCA2OTkyNywgNTEyLCAxMTkxMjcsIDExOTE0MSwgCi0gICAgNTEyLCAxMTkxMjgsIDExOTE0MSwgNTEyLCAxMTkxMzUsIDExOTE1MCwgNTEyLCAxMTkxMzUsIDExOTE1MSwgNTEyLCAKLSAgICAxMTkxMzUsIDExOTE1MiwgNTEyLCAxMTkxMzUsIDExOTE1MywgNTEyLCAxMTkxMzUsIDExOTE1NCwgNTEyLCAxMTkyMjUsIAotICAgIDExOTE0MSwgNTEyLCAxMTkyMjYsIDExOTE0MSwgNTEyLCAxMTkyMjcsIDExOTE1MCwgNTEyLCAxMTkyMjgsIDExOTE1MCwgCi0gICAgNTEyLCAxMTkyMjcsIDExOTE1MSwgNTEyLCAxMTkyMjgsIDExOTE1MSwgMjYyLCA2NSwgMjYyLCA2NiwgMjYyLCA2NywgMjYyLCAKLSAgICA2OCwgMjYyLCA2OSwgMjYyLCA3MCwgMjYyLCA3MSwgMjYyLCA3MiwgMjYyLCA3MywgMjYyLCA3NCwgMjYyLCA3NSwgMjYyLCAKLSAgICA3NiwgMjYyLCA3NywgMjYyLCA3OCwgMjYyLCA3OSwgMjYyLCA4MCwgMjYyLCA4MSwgMjYyLCA4MiwgMjYyLCA4MywgMjYyLCAKLSAgICA4NCwgMjYyLCA4NSwgMjYyLCA4NiwgMjYyLCA4NywgMjYyLCA4OCwgMjYyLCA4OSwgMjYyLCA5MCwgMjYyLCA5NywgMjYyLCAKLSAgICA5OCwgMjYyLCA5OSwgMjYyLCAxMDAsIDI2MiwgMTAxLCAyNjIsIDEwMiwgMjYyLCAxMDMsIDI2MiwgMTA0LCAyNjIsIDEwNSwgCi0gICAgMjYyLCAxMDYsIDI2MiwgMTA3LCAyNjIsIDEwOCwgMjYyLCAxMDksIDI2MiwgMTEwLCAyNjIsIDExMSwgMjYyLCAxMTIsIAotICAgIDI2MiwgMTEzLCAyNjIsIDExNCwgMjYyLCAxMTUsIDI2MiwgMTE2LCAyNjIsIDExNywgMjYyLCAxMTgsIDI2MiwgMTE5LCAKLSAgICAyNjIsIDEyMCwgMjYyLCAxMjEsIDI2MiwgMTIyLCAyNjIsIDY1LCAyNjIsIDY2LCAyNjIsIDY3LCAyNjIsIDY4LCAyNjIsIAotICAgIDY5LCAyNjIsIDcwLCAyNjIsIDcxLCAyNjIsIDcyLCAyNjIsIDczLCAyNjIsIDc0LCAyNjIsIDc1LCAyNjIsIDc2LCAyNjIsIAotICAgIDc3LCAyNjIsIDc4LCAyNjIsIDc5LCAyNjIsIDgwLCAyNjIsIDgxLCAyNjIsIDgyLCAyNjIsIDgzLCAyNjIsIDg0LCAyNjIsIAotICAgIDg1LCAyNjIsIDg2LCAyNjIsIDg3LCAyNjIsIDg4LCAyNjIsIDg5LCAyNjIsIDkwLCAyNjIsIDk3LCAyNjIsIDk4LCAyNjIsIAotICAgIDk5LCAyNjIsIDEwMCwgMjYyLCAxMDEsIDI2MiwgMTAyLCAyNjIsIDEwMywgMjYyLCAxMDUsIDI2MiwgMTA2LCAyNjIsIDEwNywgCi0gICAgMjYyLCAxMDgsIDI2MiwgMTA5LCAyNjIsIDExMCwgMjYyLCAxMTEsIDI2MiwgMTEyLCAyNjIsIDExMywgMjYyLCAxMTQsIAotICAgIDI2MiwgMTE1LCAyNjIsIDExNiwgMjYyLCAxMTcsIDI2MiwgMTE4LCAyNjIsIDExOSwgMjYyLCAxMjAsIDI2MiwgMTIxLCAKLSAgICAyNjIsIDEyMiwgMjYyLCA2NSwgMjYyLCA2NiwgMjYyLCA2NywgMjYyLCA2OCwgMjYyLCA2OSwgMjYyLCA3MCwgMjYyLCA3MSwgCi0gICAgMjYyLCA3MiwgMjYyLCA3MywgMjYyLCA3NCwgMjYyLCA3NSwgMjYyLCA3NiwgMjYyLCA3NywgMjYyLCA3OCwgMjYyLCA3OSwgCi0gICAgMjYyLCA4MCwgMjYyLCA4MSwgMjYyLCA4MiwgMjYyLCA4MywgMjYyLCA4NCwgMjYyLCA4NSwgMjYyLCA4NiwgMjYyLCA4NywgCi0gICAgMjYyLCA4OCwgMjYyLCA4OSwgMjYyLCA5MCwgMjYyLCA5NywgMjYyLCA5OCwgMjYyLCA5OSwgMjYyLCAxMDAsIDI2MiwgMTAxLCAKLSAgICAyNjIsIDEwMiwgMjYyLCAxMDMsIDI2MiwgMTA0LCAyNjIsIDEwNSwgMjYyLCAxMDYsIDI2MiwgMTA3LCAyNjIsIDEwOCwgCisgICAgMjYwODUsIDc3OCwgMTAzLCA5NywgMTA4LCAyNTksIDEwOTgsIDI1OSwgMTEwMCwgMjU5LCA0Mjg2MywgMjU5LCAyOTQsIAorICAgIDI1OSwgMzM5LCAyNTksIDQyNzkxLCAyNTksIDQzODMxLCAyNTksIDYxOSwgMjU5LCA0Mzg1OCwgMjU2LCAzNTkxMiwgMjU2LCAKKyAgICAyNjM1NiwgMjU2LCAzNjU1NCwgMjU2LCAzNjA0MCwgMjU2LCAyODM2OSwgMjU2LCAyMDAxOCwgMjU2LCAyMTQ3NywgMjU2LCAKKyAgICA0MDg2MCwgMjU2LCA0MDg2MCwgMjU2LCAyMjg2NSwgMjU2LCAzNzMyOSwgMjU2LCAyMTg5NSwgMjU2LCAyMjg1NiwgMjU2LCAKKyAgICAyNTA3OCwgMjU2LCAzMDMxMywgMjU2LCAzMjY0NSwgMjU2LCAzNDM2NywgMjU2LCAzNDc0NiwgMjU2LCAzNTA2NCwgMjU2LCAKKyAgICAzNzAwNywgMjU2LCAyNzEzOCwgMjU2LCAyNzkzMSwgMjU2LCAyODg4OSwgMjU2LCAyOTY2MiwgMjU2LCAzMzg1MywgMjU2LCAKKyAgICAzNzIyNiwgMjU2LCAzOTQwOSwgMjU2LCAyMDA5OCwgMjU2LCAyMTM2NSwgMjU2LCAyNzM5NiwgMjU2LCAyOTIxMSwgMjU2LCAKKyAgICAzNDM0OSwgMjU2LCA0MDQ3OCwgMjU2LCAyMzg4OCwgMjU2LCAyODY1MSwgMjU2LCAzNDI1MywgMjU2LCAzNTE3MiwgMjU2LCAKKyAgICAyNTI4OSwgMjU2LCAzMzI0MCwgMjU2LCAzNDg0NywgMjU2LCAyNDI2NiwgMjU2LCAyNjM5MSwgMjU2LCAyODAxMCwgMjU2LCAKKyAgICAyOTQzNiwgMjU2LCAzNzA3MCwgMjU2LCAyMDM1OCwgMjU2LCAyMDkxOSwgMjU2LCAyMTIxNCwgMjU2LCAyNTc5NiwgMjU2LCAKKyAgICAyNzM0NywgMjU2LCAyOTIwMCwgMjU2LCAzMDQzOSwgMjU2LCAzMjc2OSwgMjU2LCAzNDMxMCwgMjU2LCAzNDM5NiwgMjU2LCAKKyAgICAzNjMzNSwgMjU2LCAzODcwNiwgMjU2LCAzOTc5MSwgMjU2LCA0MDQ0MiwgMjU2LCAzMDg2MCwgMjU2LCAzMTEwMywgMjU2LCAKKyAgICAzMjE2MCwgMjU2LCAzMzczNywgMjU2LCAzNzYzNiwgMjU2LCA0MDU3NSwgMjU2LCAzNTU0MiwgMjU2LCAyMjc1MSwgMjU2LCAKKyAgICAyNDMyNCwgMjU2LCAzMTg0MCwgMjU2LCAzMjg5NCwgMjU2LCAyOTI4MiwgMjU2LCAzMDkyMiwgMjU2LCAzNjAzNCwgMjU2LCAKKyAgICAzODY0NywgMjU2LCAyMjc0NCwgMjU2LCAyMzY1MCwgMjU2LCAyNzE1NSwgMjU2LCAyODEyMiwgMjU2LCAyODQzMSwgMjU2LCAKKyAgICAzMjA0NywgMjU2LCAzMjMxMSwgMjU2LCAzODQ3NSwgMjU2LCAyMTIwMiwgMjU2LCAzMjkwNywgMjU2LCAyMDk1NiwgMjU2LCAKKyAgICAyMDk0MCwgMjU2LCAzMTI2MCwgMjU2LCAzMjE5MCwgMjU2LCAzMzc3NywgMjU2LCAzODUxNywgMjU2LCAzNTcxMiwgMjU2LCAKKyAgICAyNTI5NSwgMjU2LCAyNzEzOCwgMjU2LCAzNTU4MiwgMjU2LCAyMDAyNSwgMjU2LCAyMzUyNywgMjU2LCAyNDU5NCwgMjU2LCAKKyAgICAyOTU3NSwgMjU2LCAzMDA2NCwgMjU2LCAyMTI3MSwgMjU2LCAzMDk3MSwgMjU2LCAyMDQxNSwgMjU2LCAyNDQ4OSwgMjU2LCAKKyAgICAxOTk4MSwgMjU2LCAyNzg1MiwgMjU2LCAyNTk3NiwgMjU2LCAzMjAzNCwgMjU2LCAyMTQ0MywgMjU2LCAyMjYyMiwgMjU2LCAKKyAgICAzMDQ2NSwgMjU2LCAzMzg2NSwgMjU2LCAzNTQ5OCwgMjU2LCAyNzU3OCwgMjU2LCAzNjc4NCwgMjU2LCAyNzc4NCwgMjU2LCAKKyAgICAyNTM0MiwgMjU2LCAzMzUwOSwgMjU2LCAyNTUwNCwgMjU2LCAzMDA1MywgMjU2LCAyMDE0MiwgMjU2LCAyMDg0MSwgMjU2LCAKKyAgICAyMDkzNywgMjU2LCAyNjc1MywgMjU2LCAzMTk3NSwgMjU2LCAzMzM5MSwgMjU2LCAzNTUzOCwgMjU2LCAzNzMyNywgMjU2LCAKKyAgICAyMTIzNywgMjU2LCAyMTU3MCwgMjU2LCAyMjg5OSwgMjU2LCAyNDMwMCwgMjU2LCAyNjA1MywgMjU2LCAyODY3MCwgMjU2LCAKKyAgICAzMTAxOCwgMjU2LCAzODMxNywgMjU2LCAzOTUzMCwgMjU2LCA0MDU5OSwgMjU2LCA0MDY1NCwgMjU2LCAyMTE0NywgMjU2LCAKKyAgICAyNjMxMCwgMjU2LCAyNzUxMSwgMjU2LCAzNjcwNiwgMjU2LCAyNDE4MCwgMjU2LCAyNDk3NiwgMjU2LCAyNTA4OCwgMjU2LCAKKyAgICAyNTc1NCwgMjU2LCAyODQ1MSwgMjU2LCAyOTAwMSwgMjU2LCAyOTgzMywgMjU2LCAzMTE3OCwgMjU2LCAzMjI0NCwgMjU2LCAKKyAgICAzMjg3OSwgMjU2LCAzNjY0NiwgMjU2LCAzNDAzMCwgMjU2LCAzNjg5OSwgMjU2LCAzNzcwNiwgMjU2LCAyMTAxNSwgMjU2LCAKKyAgICAyMTE1NSwgMjU2LCAyMTY5MywgMjU2LCAyODg3MiwgMjU2LCAzNTAxMCwgMjU2LCAzNTQ5OCwgMjU2LCAyNDI2NSwgMjU2LCAKKyAgICAyNDU2NSwgMjU2LCAyNTQ2NywgMjU2LCAyNzU2NiwgMjU2LCAzMTgwNiwgMjU2LCAyOTU1NywgMjU2LCAyMDE5NiwgMjU2LCAKKyAgICAyMjI2NSwgMjU2LCAyMzUyNywgMjU2LCAyMzk5NCwgMjU2LCAyNDYwNCwgMjU2LCAyOTYxOCwgMjU2LCAyOTgwMSwgMjU2LCAKKyAgICAzMjY2NiwgMjU2LCAzMjgzOCwgMjU2LCAzNzQyOCwgMjU2LCAzODY0NiwgMjU2LCAzODcyOCwgMjU2LCAzODkzNiwgMjU2LCAKKyAgICAyMDM2MywgMjU2LCAzMTE1MCwgMjU2LCAzNzMwMCwgMjU2LCAzODU4NCwgMjU2LCAyNDgwMSwgMjU2LCAyMDEwMiwgMjU2LCAKKyAgICAyMDY5OCwgMjU2LCAyMzUzNCwgMjU2LCAyMzYxNSwgMjU2LCAyNjAwOSwgMjU2LCAyNzEzOCwgMjU2LCAyOTEzNCwgMjU2LCAKKyAgICAzMDI3NCwgMjU2LCAzNDA0NCwgMjU2LCAzNjk4OCwgMjU2LCA0MDg0NSwgMjU2LCAyNjI0OCwgMjU2LCAzODQ0NiwgMjU2LCAKKyAgICAyMTEyOSwgMjU2LCAyNjQ5MSwgMjU2LCAyNjYxMSwgMjU2LCAyNzk2OSwgMjU2LCAyODMxNiwgMjU2LCAyOTcwNSwgMjU2LCAKKyAgICAzMDA0MSwgMjU2LCAzMDgyNywgMjU2LCAzMjAxNiwgMjU2LCAzOTAwNiwgMjU2LCAyMDg0NSwgMjU2LCAyNTEzNCwgMjU2LCAKKyAgICAzODUyMCwgMjU2LCAyMDUyMywgMjU2LCAyMzgzMywgMjU2LCAyODEzOCwgMjU2LCAzNjY1MCwgMjU2LCAyNDQ1OSwgMjU2LCAKKyAgICAyNDkwMCwgMjU2LCAyNjY0NywgMjU2LCAyOTU3NSwgMjU2LCAzODUzNCwgMjU2LCAyMTAzMywgMjU2LCAyMTUxOSwgMjU2LCAKKyAgICAyMzY1MywgMjU2LCAyNjEzMSwgMjU2LCAyNjQ0NiwgMjU2LCAyNjc5MiwgMjU2LCAyNzg3NywgMjU2LCAyOTcwMiwgMjU2LCAKKyAgICAzMDE3OCwgMjU2LCAzMjYzMywgMjU2LCAzNTAyMywgMjU2LCAzNTA0MSwgMjU2LCAzNzMyNCwgMjU2LCAzODYyNiwgMjU2LCAKKyAgICAyMTMxMSwgMjU2LCAyODM0NiwgMjU2LCAyMTUzMywgMjU2LCAyOTEzNiwgMjU2LCAyOTg0OCwgMjU2LCAzNDI5OCwgMjU2LCAKKyAgICAzODU2MywgMjU2LCA0MDAyMywgMjU2LCA0MDYwNywgMjU2LCAyNjUxOSwgMjU2LCAyODEwNywgMjU2LCAzMzI1NiwgMjU2LCAKKyAgICAzMTQzNSwgMjU2LCAzMTUyMCwgMjU2LCAzMTg5MCwgMjU2LCAyOTM3NiwgMjU2LCAyODgyNSwgMjU2LCAzNTY3MiwgMjU2LCAKKyAgICAyMDE2MCwgMjU2LCAzMzU5MCwgMjU2LCAyMTA1MCwgMjU2LCAyMDk5OSwgMjU2LCAyNDIzMCwgMjU2LCAyNTI5OSwgMjU2LCAKKyAgICAzMTk1OCwgMjU2LCAyMzQyOSwgMjU2LCAyNzkzNCwgMjU2LCAyNjI5MiwgMjU2LCAzNjY2NywgMjU2LCAzNDg5MiwgMjU2LCAKKyAgICAzODQ3NywgMjU2LCAzNTIxMSwgMjU2LCAyNDI3NSwgMjU2LCAyMDgwMCwgMjU2LCAyMTk1MiwgMjU2LCAyMjYxOCwgMjU2LCAKKyAgICAyNjIyOCwgMjU2LCAyMDk1OCwgMjU2LCAyOTQ4MiwgMjU2LCAzMDQxMCwgMjU2LCAzMTAzNiwgMjU2LCAzMTA3MCwgMjU2LCAKKyAgICAzMTA3NywgMjU2LCAzMTExOSwgMjU2LCAzODc0MiwgMjU2LCAzMTkzNCwgMjU2LCAzMjcwMSwgMjU2LCAzNDMyMiwgMjU2LCAKKyAgICAzNTU3NiwgMjU2LCAzNjkyMCwgMjU2LCAzNzExNywgMjU2LCAzOTE1MSwgMjU2LCAzOTE2NCwgMjU2LCAzOTIwOCwgMjU2LCAKKyAgICA0MDM3MiwgMjU2LCAzNzA4NiwgMjU2LCAzODU4MywgMjU2LCAyMDM5OCwgMjU2LCAyMDcxMSwgMjU2LCAyMDgxMywgMjU2LCAKKyAgICAyMTE5MywgMjU2LCAyMTIyMCwgMjU2LCAyMTMyOSwgMjU2LCAyMTkxNywgMjU2LCAyMjAyMiwgMjU2LCAyMjEyMCwgMjU2LCAKKyAgICAyMjU5MiwgMjU2LCAyMjY5NiwgMjU2LCAyMzY1MiwgMjU2LCAyMzY2MiwgMjU2LCAyNDcyNCwgMjU2LCAyNDkzNiwgMjU2LCAKKyAgICAyNDk3NCwgMjU2LCAyNTA3NCwgMjU2LCAyNTkzNSwgMjU2LCAyNjA4MiwgMjU2LCAyNjI1NywgMjU2LCAyNjc1NywgMjU2LCAKKyAgICAyODAyMywgMjU2LCAyODE4NiwgMjU2LCAyODQ1MCwgMjU2LCAyOTAzOCwgMjU2LCAyOTIyNywgMjU2LCAyOTczMCwgMjU2LCAKKyAgICAzMDg2NSwgMjU2LCAzMTAzOCwgMjU2LCAzMTA0OSwgMjU2LCAzMTA0OCwgMjU2LCAzMTA1NiwgMjU2LCAzMTA2MiwgMjU2LCAKKyAgICAzMTA2OSwgMjU2LCAzMTExNywgMjU2LCAzMTExOCwgMjU2LCAzMTI5NiwgMjU2LCAzMTM2MSwgMjU2LCAzMTY4MCwgMjU2LCAKKyAgICAzMjI0NCwgMjU2LCAzMjI2NSwgMjU2LCAzMjMyMSwgMjU2LCAzMjYyNiwgMjU2LCAzMjc3MywgMjU2LCAzMzI2MSwgMjU2LCAKKyAgICAzMzQwMSwgMjU2LCAzMzQwMSwgMjU2LCAzMzg3OSwgMjU2LCAzNTA4OCwgMjU2LCAzNTIyMiwgMjU2LCAzNTU4NSwgMjU2LCAKKyAgICAzNTY0MSwgMjU2LCAzNjA1MSwgMjU2LCAzNjEwNCwgMjU2LCAzNjc5MCwgMjU2LCAzNjkyMCwgMjU2LCAzODYyNywgMjU2LCAKKyAgICAzODkxMSwgMjU2LCAzODk3MSwgMjU2LCAyNDY5MywgMjU2LCAxNDgyMDYsIDI1NiwgMzMzMDQsIDI1NiwgMjAwMDYsIDI1NiwgCisgICAgMjA5MTcsIDI1NiwgMjA4NDAsIDI1NiwgMjAzNTIsIDI1NiwgMjA4MDUsIDI1NiwgMjA4NjQsIDI1NiwgMjExOTEsIDI1NiwgCisgICAgMjEyNDIsIDI1NiwgMjE5MTcsIDI1NiwgMjE4NDUsIDI1NiwgMjE5MTMsIDI1NiwgMjE5ODYsIDI1NiwgMjI2MTgsIDI1NiwgCisgICAgMjI3MDcsIDI1NiwgMjI4NTIsIDI1NiwgMjI4NjgsIDI1NiwgMjMxMzgsIDI1NiwgMjMzMzYsIDI1NiwgMjQyNzQsIDI1NiwgCisgICAgMjQyODEsIDI1NiwgMjQ0MjUsIDI1NiwgMjQ0OTMsIDI1NiwgMjQ3OTIsIDI1NiwgMjQ5MTAsIDI1NiwgMjQ4NDAsIDI1NiwgCisgICAgMjQ5NzQsIDI1NiwgMjQ5MjgsIDI1NiwgMjUwNzQsIDI1NiwgMjUxNDAsIDI1NiwgMjU1NDAsIDI1NiwgMjU2MjgsIDI1NiwgCisgICAgMjU2ODIsIDI1NiwgMjU5NDIsIDI1NiwgMjYyMjgsIDI1NiwgMjYzOTEsIDI1NiwgMjYzOTUsIDI1NiwgMjY0NTQsIDI1NiwgCisgICAgMjc1MTMsIDI1NiwgMjc1NzgsIDI1NiwgMjc5NjksIDI1NiwgMjgzNzksIDI1NiwgMjgzNjMsIDI1NiwgMjg0NTAsIDI1NiwgCisgICAgMjg3MDIsIDI1NiwgMjkwMzgsIDI1NiwgMzA2MzEsIDI1NiwgMjkyMzcsIDI1NiwgMjkzNTksIDI1NiwgMjk0ODIsIDI1NiwgCisgICAgMjk4MDksIDI1NiwgMjk5NTgsIDI1NiwgMzAwMTEsIDI1NiwgMzAyMzcsIDI1NiwgMzAyMzksIDI1NiwgMzA0MTAsIDI1NiwgCisgICAgMzA0MjcsIDI1NiwgMzA0NTIsIDI1NiwgMzA1MzgsIDI1NiwgMzA1MjgsIDI1NiwgMzA5MjQsIDI1NiwgMzE0MDksIDI1NiwgCisgICAgMzE2ODAsIDI1NiwgMzE4NjcsIDI1NiwgMzIwOTEsIDI1NiwgMzIyNDQsIDI1NiwgMzI1NzQsIDI1NiwgMzI3NzMsIDI1NiwgCisgICAgMzM2MTgsIDI1NiwgMzM3NzUsIDI1NiwgMzQ2ODEsIDI1NiwgMzUxMzcsIDI1NiwgMzUyMDYsIDI1NiwgMzUyMjIsIDI1NiwgCisgICAgMzU1MTksIDI1NiwgMzU1NzYsIDI1NiwgMzU1MzEsIDI1NiwgMzU1ODUsIDI1NiwgMzU1ODIsIDI1NiwgMzU1NjUsIDI1NiwgCisgICAgMzU2NDEsIDI1NiwgMzU3MjIsIDI1NiwgMzYxMDQsIDI1NiwgMzY2NjQsIDI1NiwgMzY5NzgsIDI1NiwgMzcyNzMsIDI1NiwgCisgICAgMzc0OTQsIDI1NiwgMzg1MjQsIDI1NiwgMzg2MjcsIDI1NiwgMzg3NDIsIDI1NiwgMzg4NzUsIDI1NiwgMzg5MTEsIDI1NiwgCisgICAgMzg5MjMsIDI1NiwgMzg5NzEsIDI1NiwgMzk2OTgsIDI1NiwgNDA4NjAsIDI1NiwgMTQxMzg2LCAyNTYsIDE0MTM4MCwgMjU2LCAKKyAgICAxNDQzNDEsIDI1NiwgMTUyNjEsIDI1NiwgMTY0MDgsIDI1NiwgMTY0NDEsIDI1NiwgMTUyMTM3LCAyNTYsIDE1NDgzMiwgCisgICAgMjU2LCAxNjM1MzksIDI1NiwgNDA3NzEsIDI1NiwgNDA4NDYsIDUxNCwgMTAyLCAxMDIsIDUxNCwgMTAyLCAxMDUsIDUxNCwgCisgICAgMTAyLCAxMDgsIDc3MCwgMTAyLCAxMDIsIDEwNSwgNzcwLCAxMDIsIDEwMiwgMTA4LCA1MTQsIDM4MywgMTE2LCA1MTQsIAorICAgIDExNSwgMTE2LCA1MTQsIDEzOTYsIDEzOTgsIDUxNCwgMTM5NiwgMTM4MSwgNTE0LCAxMzk2LCAxMzg3LCA1MTQsIDE0MDYsIAorICAgIDEzOTgsIDUxNCwgMTM5NiwgMTM4OSwgNTEyLCAxNDk3LCAxNDYwLCA1MTIsIDE1MjIsIDE0NjMsIDI2MiwgMTUwNiwgMjYyLCAKKyAgICAxNDg4LCAyNjIsIDE0OTEsIDI2MiwgMTQ5MiwgMjYyLCAxNDk5LCAyNjIsIDE1MDAsIDI2MiwgMTUwMSwgMjYyLCAxNTEyLCAKKyAgICAyNjIsIDE1MTQsIDI2MiwgNDMsIDUxMiwgMTUxMywgMTQ3MywgNTEyLCAxNTEzLCAxNDc0LCA1MTIsIDY0MzI5LCAxNDczLCAKKyAgICA1MTIsIDY0MzI5LCAxNDc0LCA1MTIsIDE0ODgsIDE0NjMsIDUxMiwgMTQ4OCwgMTQ2NCwgNTEyLCAxNDg4LCAxNDY4LCA1MTIsIAorICAgIDE0ODksIDE0NjgsIDUxMiwgMTQ5MCwgMTQ2OCwgNTEyLCAxNDkxLCAxNDY4LCA1MTIsIDE0OTIsIDE0NjgsIDUxMiwgMTQ5MywgCisgICAgMTQ2OCwgNTEyLCAxNDk0LCAxNDY4LCA1MTIsIDE0OTYsIDE0NjgsIDUxMiwgMTQ5NywgMTQ2OCwgNTEyLCAxNDk4LCAxNDY4LCAKKyAgICA1MTIsIDE0OTksIDE0NjgsIDUxMiwgMTUwMCwgMTQ2OCwgNTEyLCAxNTAyLCAxNDY4LCA1MTIsIDE1MDQsIDE0NjgsIDUxMiwgCisgICAgMTUwNSwgMTQ2OCwgNTEyLCAxNTA3LCAxNDY4LCA1MTIsIDE1MDgsIDE0NjgsIDUxMiwgMTUxMCwgMTQ2OCwgNTEyLCAxNTExLCAKKyAgICAxNDY4LCA1MTIsIDE1MTIsIDE0NjgsIDUxMiwgMTUxMywgMTQ2OCwgNTEyLCAxNTE0LCAxNDY4LCA1MTIsIDE0OTMsIDE0NjUsIAorICAgIDUxMiwgMTQ4OSwgMTQ3MSwgNTEyLCAxNDk5LCAxNDcxLCA1MTIsIDE1MDgsIDE0NzEsIDUxNCwgMTQ4OCwgMTUwMCwgMjY3LCAKKyAgICAxNjQ5LCAyNjgsIDE2NDksIDI2NywgMTY1OSwgMjY4LCAxNjU5LCAyNjksIDE2NTksIDI3MCwgMTY1OSwgMjY3LCAxNjYyLCAKKyAgICAyNjgsIDE2NjIsIDI2OSwgMTY2MiwgMjcwLCAxNjYyLCAyNjcsIDE2NjQsIDI2OCwgMTY2NCwgMjY5LCAxNjY0LCAyNzAsIAorICAgIDE2NjQsIDI2NywgMTY1OCwgMjY4LCAxNjU4LCAyNjksIDE2NTgsIDI3MCwgMTY1OCwgMjY3LCAxNjYzLCAyNjgsIDE2NjMsIAorICAgIDI2OSwgMTY2MywgMjcwLCAxNjYzLCAyNjcsIDE2NTcsIDI2OCwgMTY1NywgMjY5LCAxNjU3LCAyNzAsIDE2NTcsIDI2NywgCisgICAgMTcwMCwgMjY4LCAxNzAwLCAyNjksIDE3MDAsIDI3MCwgMTcwMCwgMjY3LCAxNzAyLCAyNjgsIDE3MDIsIDI2OSwgMTcwMiwgCisgICAgMjcwLCAxNzAyLCAyNjcsIDE2NjgsIDI2OCwgMTY2OCwgMjY5LCAxNjY4LCAyNzAsIDE2NjgsIDI2NywgMTY2NywgMjY4LCAKKyAgICAxNjY3LCAyNjksIDE2NjcsIDI3MCwgMTY2NywgMjY3LCAxNjcwLCAyNjgsIDE2NzAsIDI2OSwgMTY3MCwgMjcwLCAxNjcwLCAKKyAgICAyNjcsIDE2NzEsIDI2OCwgMTY3MSwgMjY5LCAxNjcxLCAyNzAsIDE2NzEsIDI2NywgMTY3NywgMjY4LCAxNjc3LCAyNjcsIAorICAgIDE2NzYsIDI2OCwgMTY3NiwgMjY3LCAxNjc4LCAyNjgsIDE2NzgsIDI2NywgMTY3MiwgMjY4LCAxNjcyLCAyNjcsIDE2ODgsIAorICAgIDI2OCwgMTY4OCwgMjY3LCAxNjgxLCAyNjgsIDE2ODEsIDI2NywgMTcwNSwgMjY4LCAxNzA1LCAyNjksIDE3MDUsIDI3MCwgCisgICAgMTcwNSwgMjY3LCAxNzExLCAyNjgsIDE3MTEsIDI2OSwgMTcxMSwgMjcwLCAxNzExLCAyNjcsIDE3MTUsIDI2OCwgMTcxNSwgCisgICAgMjY5LCAxNzE1LCAyNzAsIDE3MTUsIDI2NywgMTcxMywgMjY4LCAxNzEzLCAyNjksIDE3MTMsIDI3MCwgMTcxMywgMjY3LCAKKyAgICAxNzIyLCAyNjgsIDE3MjIsIDI2NywgMTcyMywgMjY4LCAxNzIzLCAyNjksIDE3MjMsIDI3MCwgMTcyMywgMjY3LCAxNzI4LCAKKyAgICAyNjgsIDE3MjgsIDI2NywgMTcyOSwgMjY4LCAxNzI5LCAyNjksIDE3MjksIDI3MCwgMTcyOSwgMjY3LCAxNzI2LCAyNjgsIAorICAgIDE3MjYsIDI2OSwgMTcyNiwgMjcwLCAxNzI2LCAyNjcsIDE3NDYsIDI2OCwgMTc0NiwgMjY3LCAxNzQ3LCAyNjgsIDE3NDcsIAorICAgIDI2NywgMTcwOSwgMjY4LCAxNzA5LCAyNjksIDE3MDksIDI3MCwgMTcwOSwgMjY3LCAxNzM1LCAyNjgsIDE3MzUsIDI2NywgCisgICAgMTczNCwgMjY4LCAxNzM0LCAyNjcsIDE3MzYsIDI2OCwgMTczNiwgMjY3LCAxNjU1LCAyNjcsIDE3MzksIDI2OCwgMTczOSwgCisgICAgMjY3LCAxNzMzLCAyNjgsIDE3MzMsIDI2NywgMTczNywgMjY4LCAxNzM3LCAyNjcsIDE3NDQsIDI2OCwgMTc0NCwgMjY5LCAKKyAgICAxNzQ0LCAyNzAsIDE3NDQsIDI2OSwgMTYwOSwgMjcwLCAxNjA5LCA1MjMsIDE1NzQsIDE1NzUsIDUyNCwgMTU3NCwgMTU3NSwgCisgICAgNTIzLCAxNTc0LCAxNzQ5LCA1MjQsIDE1NzQsIDE3NDksIDUyMywgMTU3NCwgMTYwOCwgNTI0LCAxNTc0LCAxNjA4LCA1MjMsIAorICAgIDE1NzQsIDE3MzUsIDUyNCwgMTU3NCwgMTczNSwgNTIzLCAxNTc0LCAxNzM0LCA1MjQsIDE1NzQsIDE3MzQsIDUyMywgMTU3NCwgCisgICAgMTczNiwgNTI0LCAxNTc0LCAxNzM2LCA1MjMsIDE1NzQsIDE3NDQsIDUyNCwgMTU3NCwgMTc0NCwgNTI1LCAxNTc0LCAxNzQ0LCAKKyAgICA1MjMsIDE1NzQsIDE2MDksIDUyNCwgMTU3NCwgMTYwOSwgNTI1LCAxNTc0LCAxNjA5LCAyNjcsIDE3NDAsIDI2OCwgMTc0MCwgCisgICAgMjY5LCAxNzQwLCAyNzAsIDE3NDAsIDUyMywgMTU3NCwgMTU4MCwgNTIzLCAxNTc0LCAxNTgxLCA1MjMsIDE1NzQsIDE2MDUsIAorICAgIDUyMywgMTU3NCwgMTYwOSwgNTIzLCAxNTc0LCAxNjEwLCA1MjMsIDE1NzYsIDE1ODAsIDUyMywgMTU3NiwgMTU4MSwgNTIzLCAKKyAgICAxNTc2LCAxNTgyLCA1MjMsIDE1NzYsIDE2MDUsIDUyMywgMTU3NiwgMTYwOSwgNTIzLCAxNTc2LCAxNjEwLCA1MjMsIDE1NzgsIAorICAgIDE1ODAsIDUyMywgMTU3OCwgMTU4MSwgNTIzLCAxNTc4LCAxNTgyLCA1MjMsIDE1NzgsIDE2MDUsIDUyMywgMTU3OCwgMTYwOSwgCisgICAgNTIzLCAxNTc4LCAxNjEwLCA1MjMsIDE1NzksIDE1ODAsIDUyMywgMTU3OSwgMTYwNSwgNTIzLCAxNTc5LCAxNjA5LCA1MjMsIAorICAgIDE1NzksIDE2MTAsIDUyMywgMTU4MCwgMTU4MSwgNTIzLCAxNTgwLCAxNjA1LCA1MjMsIDE1ODEsIDE1ODAsIDUyMywgMTU4MSwgCisgICAgMTYwNSwgNTIzLCAxNTgyLCAxNTgwLCA1MjMsIDE1ODIsIDE1ODEsIDUyMywgMTU4MiwgMTYwNSwgNTIzLCAxNTg3LCAxNTgwLCAKKyAgICA1MjMsIDE1ODcsIDE1ODEsIDUyMywgMTU4NywgMTU4MiwgNTIzLCAxNTg3LCAxNjA1LCA1MjMsIDE1ODksIDE1ODEsIDUyMywgCisgICAgMTU4OSwgMTYwNSwgNTIzLCAxNTkwLCAxNTgwLCA1MjMsIDE1OTAsIDE1ODEsIDUyMywgMTU5MCwgMTU4MiwgNTIzLCAxNTkwLCAKKyAgICAxNjA1LCA1MjMsIDE1OTEsIDE1ODEsIDUyMywgMTU5MSwgMTYwNSwgNTIzLCAxNTkyLCAxNjA1LCA1MjMsIDE1OTMsIDE1ODAsIAorICAgIDUyMywgMTU5MywgMTYwNSwgNTIzLCAxNTk0LCAxNTgwLCA1MjMsIDE1OTQsIDE2MDUsIDUyMywgMTYwMSwgMTU4MCwgNTIzLCAKKyAgICAxNjAxLCAxNTgxLCA1MjMsIDE2MDEsIDE1ODIsIDUyMywgMTYwMSwgMTYwNSwgNTIzLCAxNjAxLCAxNjA5LCA1MjMsIDE2MDEsIAorICAgIDE2MTAsIDUyMywgMTYwMiwgMTU4MSwgNTIzLCAxNjAyLCAxNjA1LCA1MjMsIDE2MDIsIDE2MDksIDUyMywgMTYwMiwgMTYxMCwgCisgICAgNTIzLCAxNjAzLCAxNTc1LCA1MjMsIDE2MDMsIDE1ODAsIDUyMywgMTYwMywgMTU4MSwgNTIzLCAxNjAzLCAxNTgyLCA1MjMsIAorICAgIDE2MDMsIDE2MDQsIDUyMywgMTYwMywgMTYwNSwgNTIzLCAxNjAzLCAxNjA5LCA1MjMsIDE2MDMsIDE2MTAsIDUyMywgMTYwNCwgCisgICAgMTU4MCwgNTIzLCAxNjA0LCAxNTgxLCA1MjMsIDE2MDQsIDE1ODIsIDUyMywgMTYwNCwgMTYwNSwgNTIzLCAxNjA0LCAxNjA5LCAKKyAgICA1MjMsIDE2MDQsIDE2MTAsIDUyMywgMTYwNSwgMTU4MCwgNTIzLCAxNjA1LCAxNTgxLCA1MjMsIDE2MDUsIDE1ODIsIDUyMywgCisgICAgMTYwNSwgMTYwNSwgNTIzLCAxNjA1LCAxNjA5LCA1MjMsIDE2MDUsIDE2MTAsIDUyMywgMTYwNiwgMTU4MCwgNTIzLCAxNjA2LCAKKyAgICAxNTgxLCA1MjMsIDE2MDYsIDE1ODIsIDUyMywgMTYwNiwgMTYwNSwgNTIzLCAxNjA2LCAxNjA5LCA1MjMsIDE2MDYsIDE2MTAsIAorICAgIDUyMywgMTYwNywgMTU4MCwgNTIzLCAxNjA3LCAxNjA1LCA1MjMsIDE2MDcsIDE2MDksIDUyMywgMTYwNywgMTYxMCwgNTIzLCAKKyAgICAxNjEwLCAxNTgwLCA1MjMsIDE2MTAsIDE1ODEsIDUyMywgMTYxMCwgMTU4MiwgNTIzLCAxNjEwLCAxNjA1LCA1MjMsIDE2MTAsIAorICAgIDE2MDksIDUyMywgMTYxMCwgMTYxMCwgNTIzLCAxNTg0LCAxNjQ4LCA1MjMsIDE1ODUsIDE2NDgsIDUyMywgMTYwOSwgMTY0OCwgCisgICAgNzc5LCAzMiwgMTYxMiwgMTYxNywgNzc5LCAzMiwgMTYxMywgMTYxNywgNzc5LCAzMiwgMTYxNCwgMTYxNywgNzc5LCAzMiwgCisgICAgMTYxNSwgMTYxNywgNzc5LCAzMiwgMTYxNiwgMTYxNywgNzc5LCAzMiwgMTYxNywgMTY0OCwgNTI0LCAxNTc0LCAxNTg1LCAKKyAgICA1MjQsIDE1NzQsIDE1ODYsIDUyNCwgMTU3NCwgMTYwNSwgNTI0LCAxNTc0LCAxNjA2LCA1MjQsIDE1NzQsIDE2MDksIDUyNCwgCisgICAgMTU3NCwgMTYxMCwgNTI0LCAxNTc2LCAxNTg1LCA1MjQsIDE1NzYsIDE1ODYsIDUyNCwgMTU3NiwgMTYwNSwgNTI0LCAxNTc2LCAKKyAgICAxNjA2LCA1MjQsIDE1NzYsIDE2MDksIDUyNCwgMTU3NiwgMTYxMCwgNTI0LCAxNTc4LCAxNTg1LCA1MjQsIDE1NzgsIDE1ODYsIAorICAgIDUyNCwgMTU3OCwgMTYwNSwgNTI0LCAxNTc4LCAxNjA2LCA1MjQsIDE1NzgsIDE2MDksIDUyNCwgMTU3OCwgMTYxMCwgNTI0LCAKKyAgICAxNTc5LCAxNTg1LCA1MjQsIDE1NzksIDE1ODYsIDUyNCwgMTU3OSwgMTYwNSwgNTI0LCAxNTc5LCAxNjA2LCA1MjQsIDE1NzksIAorICAgIDE2MDksIDUyNCwgMTU3OSwgMTYxMCwgNTI0LCAxNjAxLCAxNjA5LCA1MjQsIDE2MDEsIDE2MTAsIDUyNCwgMTYwMiwgMTYwOSwgCisgICAgNTI0LCAxNjAyLCAxNjEwLCA1MjQsIDE2MDMsIDE1NzUsIDUyNCwgMTYwMywgMTYwNCwgNTI0LCAxNjAzLCAxNjA1LCA1MjQsIAorICAgIDE2MDMsIDE2MDksIDUyNCwgMTYwMywgMTYxMCwgNTI0LCAxNjA0LCAxNjA1LCA1MjQsIDE2MDQsIDE2MDksIDUyNCwgMTYwNCwgCisgICAgMTYxMCwgNTI0LCAxNjA1LCAxNTc1LCA1MjQsIDE2MDUsIDE2MDUsIDUyNCwgMTYwNiwgMTU4NSwgNTI0LCAxNjA2LCAxNTg2LCAKKyAgICA1MjQsIDE2MDYsIDE2MDUsIDUyNCwgMTYwNiwgMTYwNiwgNTI0LCAxNjA2LCAxNjA5LCA1MjQsIDE2MDYsIDE2MTAsIDUyNCwgCisgICAgMTYwOSwgMTY0OCwgNTI0LCAxNjEwLCAxNTg1LCA1MjQsIDE2MTAsIDE1ODYsIDUyNCwgMTYxMCwgMTYwNSwgNTI0LCAxNjEwLCAKKyAgICAxNjA2LCA1MjQsIDE2MTAsIDE2MDksIDUyNCwgMTYxMCwgMTYxMCwgNTI1LCAxNTc0LCAxNTgwLCA1MjUsIDE1NzQsIDE1ODEsIAorICAgIDUyNSwgMTU3NCwgMTU4MiwgNTI1LCAxNTc0LCAxNjA1LCA1MjUsIDE1NzQsIDE2MDcsIDUyNSwgMTU3NiwgMTU4MCwgNTI1LCAKKyAgICAxNTc2LCAxNTgxLCA1MjUsIDE1NzYsIDE1ODIsIDUyNSwgMTU3NiwgMTYwNSwgNTI1LCAxNTc2LCAxNjA3LCA1MjUsIDE1NzgsIAorICAgIDE1ODAsIDUyNSwgMTU3OCwgMTU4MSwgNTI1LCAxNTc4LCAxNTgyLCA1MjUsIDE1NzgsIDE2MDUsIDUyNSwgMTU3OCwgMTYwNywgCisgICAgNTI1LCAxNTc5LCAxNjA1LCA1MjUsIDE1ODAsIDE1ODEsIDUyNSwgMTU4MCwgMTYwNSwgNTI1LCAxNTgxLCAxNTgwLCA1MjUsIAorICAgIDE1ODEsIDE2MDUsIDUyNSwgMTU4MiwgMTU4MCwgNTI1LCAxNTgyLCAxNjA1LCA1MjUsIDE1ODcsIDE1ODAsIDUyNSwgMTU4NywgCisgICAgMTU4MSwgNTI1LCAxNTg3LCAxNTgyLCA1MjUsIDE1ODcsIDE2MDUsIDUyNSwgMTU4OSwgMTU4MSwgNTI1LCAxNTg5LCAxNTgyLCAKKyAgICA1MjUsIDE1ODksIDE2MDUsIDUyNSwgMTU5MCwgMTU4MCwgNTI1LCAxNTkwLCAxNTgxLCA1MjUsIDE1OTAsIDE1ODIsIDUyNSwgCisgICAgMTU5MCwgMTYwNSwgNTI1LCAxNTkxLCAxNTgxLCA1MjUsIDE1OTIsIDE2MDUsIDUyNSwgMTU5MywgMTU4MCwgNTI1LCAxNTkzLCAKKyAgICAxNjA1LCA1MjUsIDE1OTQsIDE1ODAsIDUyNSwgMTU5NCwgMTYwNSwgNTI1LCAxNjAxLCAxNTgwLCA1MjUsIDE2MDEsIDE1ODEsIAorICAgIDUyNSwgMTYwMSwgMTU4MiwgNTI1LCAxNjAxLCAxNjA1LCA1MjUsIDE2MDIsIDE1ODEsIDUyNSwgMTYwMiwgMTYwNSwgNTI1LCAKKyAgICAxNjAzLCAxNTgwLCA1MjUsIDE2MDMsIDE1ODEsIDUyNSwgMTYwMywgMTU4MiwgNTI1LCAxNjAzLCAxNjA0LCA1MjUsIDE2MDMsIAorICAgIDE2MDUsIDUyNSwgMTYwNCwgMTU4MCwgNTI1LCAxNjA0LCAxNTgxLCA1MjUsIDE2MDQsIDE1ODIsIDUyNSwgMTYwNCwgMTYwNSwgCisgICAgNTI1LCAxNjA0LCAxNjA3LCA1MjUsIDE2MDUsIDE1ODAsIDUyNSwgMTYwNSwgMTU4MSwgNTI1LCAxNjA1LCAxNTgyLCA1MjUsIAorICAgIDE2MDUsIDE2MDUsIDUyNSwgMTYwNiwgMTU4MCwgNTI1LCAxNjA2LCAxNTgxLCA1MjUsIDE2MDYsIDE1ODIsIDUyNSwgMTYwNiwgCisgICAgMTYwNSwgNTI1LCAxNjA2LCAxNjA3LCA1MjUsIDE2MDcsIDE1ODAsIDUyNSwgMTYwNywgMTYwNSwgNTI1LCAxNjA3LCAxNjQ4LCAKKyAgICA1MjUsIDE2MTAsIDE1ODAsIDUyNSwgMTYxMCwgMTU4MSwgNTI1LCAxNjEwLCAxNTgyLCA1MjUsIDE2MTAsIDE2MDUsIDUyNSwgCisgICAgMTYxMCwgMTYwNywgNTI2LCAxNTc0LCAxNjA1LCA1MjYsIDE1NzQsIDE2MDcsIDUyNiwgMTU3NiwgMTYwNSwgNTI2LCAxNTc2LCAKKyAgICAxNjA3LCA1MjYsIDE1NzgsIDE2MDUsIDUyNiwgMTU3OCwgMTYwNywgNTI2LCAxNTc5LCAxNjA1LCA1MjYsIDE1NzksIDE2MDcsIAorICAgIDUyNiwgMTU4NywgMTYwNSwgNTI2LCAxNTg3LCAxNjA3LCA1MjYsIDE1ODgsIDE2MDUsIDUyNiwgMTU4OCwgMTYwNywgNTI2LCAKKyAgICAxNjAzLCAxNjA0LCA1MjYsIDE2MDMsIDE2MDUsIDUyNiwgMTYwNCwgMTYwNSwgNTI2LCAxNjA2LCAxNjA1LCA1MjYsIDE2MDYsIAorICAgIDE2MDcsIDUyNiwgMTYxMCwgMTYwNSwgNTI2LCAxNjEwLCAxNjA3LCA3ODIsIDE2MDAsIDE2MTQsIDE2MTcsIDc4MiwgMTYwMCwgCisgICAgMTYxNSwgMTYxNywgNzgyLCAxNjAwLCAxNjE2LCAxNjE3LCA1MjMsIDE1OTEsIDE2MDksIDUyMywgMTU5MSwgMTYxMCwgNTIzLCAKKyAgICAxNTkzLCAxNjA5LCA1MjMsIDE1OTMsIDE2MTAsIDUyMywgMTU5NCwgMTYwOSwgNTIzLCAxNTk0LCAxNjEwLCA1MjMsIDE1ODcsIAorICAgIDE2MDksIDUyMywgMTU4NywgMTYxMCwgNTIzLCAxNTg4LCAxNjA5LCA1MjMsIDE1ODgsIDE2MTAsIDUyMywgMTU4MSwgMTYwOSwgCisgICAgNTIzLCAxNTgxLCAxNjEwLCA1MjMsIDE1ODAsIDE2MDksIDUyMywgMTU4MCwgMTYxMCwgNTIzLCAxNTgyLCAxNjA5LCA1MjMsIAorICAgIDE1ODIsIDE2MTAsIDUyMywgMTU4OSwgMTYwOSwgNTIzLCAxNTg5LCAxNjEwLCA1MjMsIDE1OTAsIDE2MDksIDUyMywgMTU5MCwgCisgICAgMTYxMCwgNTIzLCAxNTg4LCAxNTgwLCA1MjMsIDE1ODgsIDE1ODEsIDUyMywgMTU4OCwgMTU4MiwgNTIzLCAxNTg4LCAxNjA1LCAKKyAgICA1MjMsIDE1ODgsIDE1ODUsIDUyMywgMTU4NywgMTU4NSwgNTIzLCAxNTg5LCAxNTg1LCA1MjMsIDE1OTAsIDE1ODUsIDUyNCwgCisgICAgMTU5MSwgMTYwOSwgNTI0LCAxNTkxLCAxNjEwLCA1MjQsIDE1OTMsIDE2MDksIDUyNCwgMTU5MywgMTYxMCwgNTI0LCAxNTk0LCAKKyAgICAxNjA5LCA1MjQsIDE1OTQsIDE2MTAsIDUyNCwgMTU4NywgMTYwOSwgNTI0LCAxNTg3LCAxNjEwLCA1MjQsIDE1ODgsIDE2MDksIAorICAgIDUyNCwgMTU4OCwgMTYxMCwgNTI0LCAxNTgxLCAxNjA5LCA1MjQsIDE1ODEsIDE2MTAsIDUyNCwgMTU4MCwgMTYwOSwgNTI0LCAKKyAgICAxNTgwLCAxNjEwLCA1MjQsIDE1ODIsIDE2MDksIDUyNCwgMTU4MiwgMTYxMCwgNTI0LCAxNTg5LCAxNjA5LCA1MjQsIDE1ODksIAorICAgIDE2MTAsIDUyNCwgMTU5MCwgMTYwOSwgNTI0LCAxNTkwLCAxNjEwLCA1MjQsIDE1ODgsIDE1ODAsIDUyNCwgMTU4OCwgMTU4MSwgCisgICAgNTI0LCAxNTg4LCAxNTgyLCA1MjQsIDE1ODgsIDE2MDUsIDUyNCwgMTU4OCwgMTU4NSwgNTI0LCAxNTg3LCAxNTg1LCA1MjQsIAorICAgIDE1ODksIDE1ODUsIDUyNCwgMTU5MCwgMTU4NSwgNTI1LCAxNTg4LCAxNTgwLCA1MjUsIDE1ODgsIDE1ODEsIDUyNSwgMTU4OCwgCisgICAgMTU4MiwgNTI1LCAxNTg4LCAxNjA1LCA1MjUsIDE1ODcsIDE2MDcsIDUyNSwgMTU4OCwgMTYwNywgNTI1LCAxNTkxLCAxNjA1LCAKKyAgICA1MjYsIDE1ODcsIDE1ODAsIDUyNiwgMTU4NywgMTU4MSwgNTI2LCAxNTg3LCAxNTgyLCA1MjYsIDE1ODgsIDE1ODAsIDUyNiwgCisgICAgMTU4OCwgMTU4MSwgNTI2LCAxNTg4LCAxNTgyLCA1MjYsIDE1OTEsIDE2MDUsIDUyNiwgMTU5MiwgMTYwNSwgNTI0LCAxNTc1LCAKKyAgICAxNjExLCA1MjMsIDE1NzUsIDE2MTEsIDc4MSwgMTU3OCwgMTU4MCwgMTYwNSwgNzgwLCAxNTc4LCAxNTgxLCAxNTgwLCA3ODEsIAorICAgIDE1NzgsIDE1ODEsIDE1ODAsIDc4MSwgMTU3OCwgMTU4MSwgMTYwNSwgNzgxLCAxNTc4LCAxNTgyLCAxNjA1LCA3ODEsIAorICAgIDE1NzgsIDE2MDUsIDE1ODAsIDc4MSwgMTU3OCwgMTYwNSwgMTU4MSwgNzgxLCAxNTc4LCAxNjA1LCAxNTgyLCA3ODAsIAorICAgIDE1ODAsIDE2MDUsIDE1ODEsIDc4MSwgMTU4MCwgMTYwNSwgMTU4MSwgNzgwLCAxNTgxLCAxNjA1LCAxNjEwLCA3ODAsIAorICAgIDE1ODEsIDE2MDUsIDE2MDksIDc4MSwgMTU4NywgMTU4MSwgMTU4MCwgNzgxLCAxNTg3LCAxNTgwLCAxNTgxLCA3ODAsIAorICAgIDE1ODcsIDE1ODAsIDE2MDksIDc4MCwgMTU4NywgMTYwNSwgMTU4MSwgNzgxLCAxNTg3LCAxNjA1LCAxNTgxLCA3ODEsIAorICAgIDE1ODcsIDE2MDUsIDE1ODAsIDc4MCwgMTU4NywgMTYwNSwgMTYwNSwgNzgxLCAxNTg3LCAxNjA1LCAxNjA1LCA3ODAsIAorICAgIDE1ODksIDE1ODEsIDE1ODEsIDc4MSwgMTU4OSwgMTU4MSwgMTU4MSwgNzgwLCAxNTg5LCAxNjA1LCAxNjA1LCA3ODAsIAorICAgIDE1ODgsIDE1ODEsIDE2MDUsIDc4MSwgMTU4OCwgMTU4MSwgMTYwNSwgNzgwLCAxNTg4LCAxNTgwLCAxNjEwLCA3ODAsIAorICAgIDE1ODgsIDE2MDUsIDE1ODIsIDc4MSwgMTU4OCwgMTYwNSwgMTU4MiwgNzgwLCAxNTg4LCAxNjA1LCAxNjA1LCA3ODEsIAorICAgIDE1ODgsIDE2MDUsIDE2MDUsIDc4MCwgMTU5MCwgMTU4MSwgMTYwOSwgNzgwLCAxNTkwLCAxNTgyLCAxNjA1LCA3ODEsIAorICAgIDE1OTAsIDE1ODIsIDE2MDUsIDc4MCwgMTU5MSwgMTYwNSwgMTU4MSwgNzgxLCAxNTkxLCAxNjA1LCAxNTgxLCA3ODEsIAorICAgIDE1OTEsIDE2MDUsIDE2MDUsIDc4MCwgMTU5MSwgMTYwNSwgMTYxMCwgNzgwLCAxNTkzLCAxNTgwLCAxNjA1LCA3ODAsIAorICAgIDE1OTMsIDE2MDUsIDE2MDUsIDc4MSwgMTU5MywgMTYwNSwgMTYwNSwgNzgwLCAxNTkzLCAxNjA1LCAxNjA5LCA3ODAsIAorICAgIDE1OTQsIDE2MDUsIDE2MDUsIDc4MCwgMTU5NCwgMTYwNSwgMTYxMCwgNzgwLCAxNTk0LCAxNjA1LCAxNjA5LCA3ODAsIAorICAgIDE2MDEsIDE1ODIsIDE2MDUsIDc4MSwgMTYwMSwgMTU4MiwgMTYwNSwgNzgwLCAxNjAyLCAxNjA1LCAxNTgxLCA3ODAsIAorICAgIDE2MDIsIDE2MDUsIDE2MDUsIDc4MCwgMTYwNCwgMTU4MSwgMTYwNSwgNzgwLCAxNjA0LCAxNTgxLCAxNjEwLCA3ODAsIAorICAgIDE2MDQsIDE1ODEsIDE2MDksIDc4MSwgMTYwNCwgMTU4MCwgMTU4MCwgNzgwLCAxNjA0LCAxNTgwLCAxNTgwLCA3ODAsIAorICAgIDE2MDQsIDE1ODIsIDE2MDUsIDc4MSwgMTYwNCwgMTU4MiwgMTYwNSwgNzgwLCAxNjA0LCAxNjA1LCAxNTgxLCA3ODEsIAorICAgIDE2MDQsIDE2MDUsIDE1ODEsIDc4MSwgMTYwNSwgMTU4MSwgMTU4MCwgNzgxLCAxNjA1LCAxNTgxLCAxNjA1LCA3ODAsIAorICAgIDE2MDUsIDE1ODEsIDE2MTAsIDc4MSwgMTYwNSwgMTU4MCwgMTU4MSwgNzgxLCAxNjA1LCAxNTgwLCAxNjA1LCA3ODEsIAorICAgIDE2MDUsIDE1ODIsIDE1ODAsIDc4MSwgMTYwNSwgMTU4MiwgMTYwNSwgNzgxLCAxNjA1LCAxNTgwLCAxNTgyLCA3ODEsIAorICAgIDE2MDcsIDE2MDUsIDE1ODAsIDc4MSwgMTYwNywgMTYwNSwgMTYwNSwgNzgxLCAxNjA2LCAxNTgxLCAxNjA1LCA3ODAsIAorICAgIDE2MDYsIDE1ODEsIDE2MDksIDc4MCwgMTYwNiwgMTU4MCwgMTYwNSwgNzgxLCAxNjA2LCAxNTgwLCAxNjA1LCA3ODAsIAorICAgIDE2MDYsIDE1ODAsIDE2MDksIDc4MCwgMTYwNiwgMTYwNSwgMTYxMCwgNzgwLCAxNjA2LCAxNjA1LCAxNjA5LCA3ODAsIAorICAgIDE2MTAsIDE2MDUsIDE2MDUsIDc4MSwgMTYxMCwgMTYwNSwgMTYwNSwgNzgwLCAxNTc2LCAxNTgyLCAxNjEwLCA3ODAsIAorICAgIDE1NzgsIDE1ODAsIDE2MTAsIDc4MCwgMTU3OCwgMTU4MCwgMTYwOSwgNzgwLCAxNTc4LCAxNTgyLCAxNjEwLCA3ODAsIAorICAgIDE1NzgsIDE1ODIsIDE2MDksIDc4MCwgMTU3OCwgMTYwNSwgMTYxMCwgNzgwLCAxNTc4LCAxNjA1LCAxNjA5LCA3ODAsIAorICAgIDE1ODAsIDE2MDUsIDE2MTAsIDc4MCwgMTU4MCwgMTU4MSwgMTYwOSwgNzgwLCAxNTgwLCAxNjA1LCAxNjA5LCA3ODAsIAorICAgIDE1ODcsIDE1ODIsIDE2MDksIDc4MCwgMTU4OSwgMTU4MSwgMTYxMCwgNzgwLCAxNTg4LCAxNTgxLCAxNjEwLCA3ODAsIAorICAgIDE1OTAsIDE1ODEsIDE2MTAsIDc4MCwgMTYwNCwgMTU4MCwgMTYxMCwgNzgwLCAxNjA0LCAxNjA1LCAxNjEwLCA3ODAsIAorICAgIDE2MTAsIDE1ODEsIDE2MTAsIDc4MCwgMTYxMCwgMTU4MCwgMTYxMCwgNzgwLCAxNjEwLCAxNjA1LCAxNjEwLCA3ODAsIAorICAgIDE2MDUsIDE2MDUsIDE2MTAsIDc4MCwgMTYwMiwgMTYwNSwgMTYxMCwgNzgwLCAxNjA2LCAxNTgxLCAxNjEwLCA3ODEsIAorICAgIDE2MDIsIDE2MDUsIDE1ODEsIDc4MSwgMTYwNCwgMTU4MSwgMTYwNSwgNzgwLCAxNTkzLCAxNjA1LCAxNjEwLCA3ODAsIAorICAgIDE2MDMsIDE2MDUsIDE2MTAsIDc4MSwgMTYwNiwgMTU4MCwgMTU4MSwgNzgwLCAxNjA1LCAxNTgyLCAxNjEwLCA3ODEsIAorICAgIDE2MDQsIDE1ODAsIDE2MDUsIDc4MCwgMTYwMywgMTYwNSwgMTYwNSwgNzgwLCAxNjA0LCAxNTgwLCAxNjA1LCA3ODAsIAorICAgIDE2MDYsIDE1ODAsIDE1ODEsIDc4MCwgMTU4MCwgMTU4MSwgMTYxMCwgNzgwLCAxNTgxLCAxNTgwLCAxNjEwLCA3ODAsIAorICAgIDE2MDUsIDE1ODAsIDE2MTAsIDc4MCwgMTYwMSwgMTYwNSwgMTYxMCwgNzgwLCAxNTc2LCAxNTgxLCAxNjEwLCA3ODEsIAorICAgIDE2MDMsIDE2MDUsIDE2MDUsIDc4MSwgMTU5MywgMTU4MCwgMTYwNSwgNzgxLCAxNTg5LCAxNjA1LCAxNjA1LCA3ODAsIAorICAgIDE1ODcsIDE1ODIsIDE2MTAsIDc4MCwgMTYwNiwgMTU4MCwgMTYxMCwgNzc5LCAxNTg5LCAxNjA0LCAxNzQ2LCA3NzksIAorICAgIDE2MDIsIDE2MDQsIDE3NDYsIDEwMzUsIDE1NzUsIDE2MDQsIDE2MDQsIDE2MDcsIDEwMzUsIDE1NzUsIDE2MDMsIDE1NzYsIAorICAgIDE1ODUsIDEwMzUsIDE2MDUsIDE1ODEsIDE2MDUsIDE1ODMsIDEwMzUsIDE1ODksIDE2MDQsIDE1OTMsIDE2MDUsIDEwMzUsIAorICAgIDE1ODUsIDE1ODcsIDE2MDgsIDE2MDQsIDEwMzUsIDE1OTMsIDE2MDQsIDE2MTAsIDE2MDcsIDEwMzUsIDE2MDgsIDE1ODcsIAorICAgIDE2MDQsIDE2MDUsIDc3OSwgMTU4OSwgMTYwNCwgMTYwOSwgNDYxOSwgMTU4OSwgMTYwNCwgMTYwOSwgMzIsIDE1NzUsIAorICAgIDE2MDQsIDE2MDQsIDE2MDcsIDMyLCAxNTkzLCAxNjA0LCAxNjEwLCAxNjA3LCAzMiwgMTYwOCwgMTU4NywgMTYwNCwgMTYwNSwgCisgICAgMjA1OSwgMTU4MCwgMTYwNCwgMzIsIDE1ODAsIDE2MDQsIDE1NzUsIDE2MDQsIDE2MDcsIDEwMzUsIDE1ODUsIDE3NDAsIAorICAgIDE1NzUsIDE2MDQsIDI2NSwgNDQsIDI2NSwgMTIyODksIDI2NSwgMTIyOTAsIDI2NSwgNTgsIDI2NSwgNTksIDI2NSwgMzMsIAorICAgIDI2NSwgNjMsIDI2NSwgMTIzMTAsIDI2NSwgMTIzMTEsIDI2NSwgODIzMCwgMjY1LCA4MjI5LCAyNjUsIDgyMTIsIDI2NSwgCisgICAgODIxMSwgMjY1LCA5NSwgMjY1LCA5NSwgMjY1LCA0MCwgMjY1LCA0MSwgMjY1LCAxMjMsIDI2NSwgMTI1LCAyNjUsIDEyMzA4LCAKKyAgICAyNjUsIDEyMzA5LCAyNjUsIDEyMzA0LCAyNjUsIDEyMzA1LCAyNjUsIDEyMjk4LCAyNjUsIDEyMjk5LCAyNjUsIDEyMjk2LCAKKyAgICAyNjUsIDEyMjk3LCAyNjUsIDEyMzAwLCAyNjUsIDEyMzAxLCAyNjUsIDEyMzAyLCAyNjUsIDEyMzAzLCAyNjUsIDkxLCAyNjUsIAorICAgIDkzLCAyNTgsIDgyNTQsIDI1OCwgODI1NCwgMjU4LCA4MjU0LCAyNTgsIDgyNTQsIDI1OCwgOTUsIDI1OCwgOTUsIDI1OCwgCisgICAgOTUsIDI3MSwgNDQsIDI3MSwgMTIyODksIDI3MSwgNDYsIDI3MSwgNTksIDI3MSwgNTgsIDI3MSwgNjMsIDI3MSwgMzMsIAorICAgIDI3MSwgODIxMiwgMjcxLCA0MCwgMjcxLCA0MSwgMjcxLCAxMjMsIDI3MSwgMTI1LCAyNzEsIDEyMzA4LCAyNzEsIDEyMzA5LCAKKyAgICAyNzEsIDM1LCAyNzEsIDM4LCAyNzEsIDQyLCAyNzEsIDQzLCAyNzEsIDQ1LCAyNzEsIDYwLCAyNzEsIDYyLCAyNzEsIDYxLCAKKyAgICAyNzEsIDkyLCAyNzEsIDM2LCAyNzEsIDM3LCAyNzEsIDY0LCA1MjMsIDMyLCAxNjExLCA1MjYsIDE2MDAsIDE2MTEsIDUyMywgCisgICAgMzIsIDE2MTIsIDUyMywgMzIsIDE2MTMsIDUyMywgMzIsIDE2MTQsIDUyNiwgMTYwMCwgMTYxNCwgNTIzLCAzMiwgMTYxNSwgCisgICAgNTI2LCAxNjAwLCAxNjE1LCA1MjMsIDMyLCAxNjE2LCA1MjYsIDE2MDAsIDE2MTYsIDUyMywgMzIsIDE2MTcsIDUyNiwgCisgICAgMTYwMCwgMTYxNywgNTIzLCAzMiwgMTYxOCwgNTI2LCAxNjAwLCAxNjE4LCAyNjcsIDE1NjksIDI2NywgMTU3MCwgMjY4LCAKKyAgICAxNTcwLCAyNjcsIDE1NzEsIDI2OCwgMTU3MSwgMjY3LCAxNTcyLCAyNjgsIDE1NzIsIDI2NywgMTU3MywgMjY4LCAxNTczLCAKKyAgICAyNjcsIDE1NzQsIDI2OCwgMTU3NCwgMjY5LCAxNTc0LCAyNzAsIDE1NzQsIDI2NywgMTU3NSwgMjY4LCAxNTc1LCAyNjcsIAorICAgIDE1NzYsIDI2OCwgMTU3NiwgMjY5LCAxNTc2LCAyNzAsIDE1NzYsIDI2NywgMTU3NywgMjY4LCAxNTc3LCAyNjcsIDE1NzgsIAorICAgIDI2OCwgMTU3OCwgMjY5LCAxNTc4LCAyNzAsIDE1NzgsIDI2NywgMTU3OSwgMjY4LCAxNTc5LCAyNjksIDE1NzksIDI3MCwgCisgICAgMTU3OSwgMjY3LCAxNTgwLCAyNjgsIDE1ODAsIDI2OSwgMTU4MCwgMjcwLCAxNTgwLCAyNjcsIDE1ODEsIDI2OCwgMTU4MSwgCisgICAgMjY5LCAxNTgxLCAyNzAsIDE1ODEsIDI2NywgMTU4MiwgMjY4LCAxNTgyLCAyNjksIDE1ODIsIDI3MCwgMTU4MiwgMjY3LCAKKyAgICAxNTgzLCAyNjgsIDE1ODMsIDI2NywgMTU4NCwgMjY4LCAxNTg0LCAyNjcsIDE1ODUsIDI2OCwgMTU4NSwgMjY3LCAxNTg2LCAKKyAgICAyNjgsIDE1ODYsIDI2NywgMTU4NywgMjY4LCAxNTg3LCAyNjksIDE1ODcsIDI3MCwgMTU4NywgMjY3LCAxNTg4LCAyNjgsIAorICAgIDE1ODgsIDI2OSwgMTU4OCwgMjcwLCAxNTg4LCAyNjcsIDE1ODksIDI2OCwgMTU4OSwgMjY5LCAxNTg5LCAyNzAsIDE1ODksIAorICAgIDI2NywgMTU5MCwgMjY4LCAxNTkwLCAyNjksIDE1OTAsIDI3MCwgMTU5MCwgMjY3LCAxNTkxLCAyNjgsIDE1OTEsIDI2OSwgCisgICAgMTU5MSwgMjcwLCAxNTkxLCAyNjcsIDE1OTIsIDI2OCwgMTU5MiwgMjY5LCAxNTkyLCAyNzAsIDE1OTIsIDI2NywgMTU5MywgCisgICAgMjY4LCAxNTkzLCAyNjksIDE1OTMsIDI3MCwgMTU5MywgMjY3LCAxNTk0LCAyNjgsIDE1OTQsIDI2OSwgMTU5NCwgMjcwLCAKKyAgICAxNTk0LCAyNjcsIDE2MDEsIDI2OCwgMTYwMSwgMjY5LCAxNjAxLCAyNzAsIDE2MDEsIDI2NywgMTYwMiwgMjY4LCAxNjAyLCAKKyAgICAyNjksIDE2MDIsIDI3MCwgMTYwMiwgMjY3LCAxNjAzLCAyNjgsIDE2MDMsIDI2OSwgMTYwMywgMjcwLCAxNjAzLCAyNjcsIAorICAgIDE2MDQsIDI2OCwgMTYwNCwgMjY5LCAxNjA0LCAyNzAsIDE2MDQsIDI2NywgMTYwNSwgMjY4LCAxNjA1LCAyNjksIDE2MDUsIAorICAgIDI3MCwgMTYwNSwgMjY3LCAxNjA2LCAyNjgsIDE2MDYsIDI2OSwgMTYwNiwgMjcwLCAxNjA2LCAyNjcsIDE2MDcsIDI2OCwgCisgICAgMTYwNywgMjY5LCAxNjA3LCAyNzAsIDE2MDcsIDI2NywgMTYwOCwgMjY4LCAxNjA4LCAyNjcsIDE2MDksIDI2OCwgMTYwOSwgCisgICAgMjY3LCAxNjEwLCAyNjgsIDE2MTAsIDI2OSwgMTYxMCwgMjcwLCAxNjEwLCA1MjMsIDE2MDQsIDE1NzAsIDUyNCwgMTYwNCwgCisgICAgMTU3MCwgNTIzLCAxNjA0LCAxNTcxLCA1MjQsIDE2MDQsIDE1NzEsIDUyMywgMTYwNCwgMTU3MywgNTI0LCAxNjA0LCAxNTczLCAKKyAgICA1MjMsIDE2MDQsIDE1NzUsIDUyNCwgMTYwNCwgMTU3NSwgMjY0LCAzMywgMjY0LCAzNCwgMjY0LCAzNSwgMjY0LCAzNiwgCisgICAgMjY0LCAzNywgMjY0LCAzOCwgMjY0LCAzOSwgMjY0LCA0MCwgMjY0LCA0MSwgMjY0LCA0MiwgMjY0LCA0MywgMjY0LCA0NCwgCisgICAgMjY0LCA0NSwgMjY0LCA0NiwgMjY0LCA0NywgMjY0LCA0OCwgMjY0LCA0OSwgMjY0LCA1MCwgMjY0LCA1MSwgMjY0LCA1MiwgCisgICAgMjY0LCA1MywgMjY0LCA1NCwgMjY0LCA1NSwgMjY0LCA1NiwgMjY0LCA1NywgMjY0LCA1OCwgMjY0LCA1OSwgMjY0LCA2MCwgCisgICAgMjY0LCA2MSwgMjY0LCA2MiwgMjY0LCA2MywgMjY0LCA2NCwgMjY0LCA2NSwgMjY0LCA2NiwgMjY0LCA2NywgMjY0LCA2OCwgCisgICAgMjY0LCA2OSwgMjY0LCA3MCwgMjY0LCA3MSwgMjY0LCA3MiwgMjY0LCA3MywgMjY0LCA3NCwgMjY0LCA3NSwgMjY0LCA3NiwgCisgICAgMjY0LCA3NywgMjY0LCA3OCwgMjY0LCA3OSwgMjY0LCA4MCwgMjY0LCA4MSwgMjY0LCA4MiwgMjY0LCA4MywgMjY0LCA4NCwgCisgICAgMjY0LCA4NSwgMjY0LCA4NiwgMjY0LCA4NywgMjY0LCA4OCwgMjY0LCA4OSwgMjY0LCA5MCwgMjY0LCA5MSwgMjY0LCA5MiwgCisgICAgMjY0LCA5MywgMjY0LCA5NCwgMjY0LCA5NSwgMjY0LCA5NiwgMjY0LCA5NywgMjY0LCA5OCwgMjY0LCA5OSwgMjY0LCAxMDAsIAorICAgIDI2NCwgMTAxLCAyNjQsIDEwMiwgMjY0LCAxMDMsIDI2NCwgMTA0LCAyNjQsIDEwNSwgMjY0LCAxMDYsIDI2NCwgMTA3LCAKKyAgICAyNjQsIDEwOCwgMjY0LCAxMDksIDI2NCwgMTEwLCAyNjQsIDExMSwgMjY0LCAxMTIsIDI2NCwgMTEzLCAyNjQsIDExNCwgCisgICAgMjY0LCAxMTUsIDI2NCwgMTE2LCAyNjQsIDExNywgMjY0LCAxMTgsIDI2NCwgMTE5LCAyNjQsIDEyMCwgMjY0LCAxMjEsIAorICAgIDI2NCwgMTIyLCAyNjQsIDEyMywgMjY0LCAxMjQsIDI2NCwgMTI1LCAyNjQsIDEyNiwgMjY0LCAxMDYyOSwgMjY0LCAxMDYzMCwgCisgICAgMjcyLCAxMjI5MCwgMjcyLCAxMjMwMCwgMjcyLCAxMjMwMSwgMjcyLCAxMjI4OSwgMjcyLCAxMjUzOSwgMjcyLCAxMjUzMCwgCisgICAgMjcyLCAxMjQ0OSwgMjcyLCAxMjQ1MSwgMjcyLCAxMjQ1MywgMjcyLCAxMjQ1NSwgMjcyLCAxMjQ1NywgMjcyLCAxMjUxNSwgCisgICAgMjcyLCAxMjUxNywgMjcyLCAxMjUxOSwgMjcyLCAxMjQ4MywgMjcyLCAxMjU0MCwgMjcyLCAxMjQ1MCwgMjcyLCAxMjQ1MiwgCisgICAgMjcyLCAxMjQ1NCwgMjcyLCAxMjQ1NiwgMjcyLCAxMjQ1OCwgMjcyLCAxMjQ1OSwgMjcyLCAxMjQ2MSwgMjcyLCAxMjQ2MywgCisgICAgMjcyLCAxMjQ2NSwgMjcyLCAxMjQ2NywgMjcyLCAxMjQ2OSwgMjcyLCAxMjQ3MSwgMjcyLCAxMjQ3MywgMjcyLCAxMjQ3NSwgCisgICAgMjcyLCAxMjQ3NywgMjcyLCAxMjQ3OSwgMjcyLCAxMjQ4MSwgMjcyLCAxMjQ4NCwgMjcyLCAxMjQ4NiwgMjcyLCAxMjQ4OCwgCisgICAgMjcyLCAxMjQ5MCwgMjcyLCAxMjQ5MSwgMjcyLCAxMjQ5MiwgMjcyLCAxMjQ5MywgMjcyLCAxMjQ5NCwgMjcyLCAxMjQ5NSwgCisgICAgMjcyLCAxMjQ5OCwgMjcyLCAxMjUwMSwgMjcyLCAxMjUwNCwgMjcyLCAxMjUwNywgMjcyLCAxMjUxMCwgMjcyLCAxMjUxMSwgCisgICAgMjcyLCAxMjUxMiwgMjcyLCAxMjUxMywgMjcyLCAxMjUxNCwgMjcyLCAxMjUxNiwgMjcyLCAxMjUxOCwgMjcyLCAxMjUyMCwgCisgICAgMjcyLCAxMjUyMSwgMjcyLCAxMjUyMiwgMjcyLCAxMjUyMywgMjcyLCAxMjUyNCwgMjcyLCAxMjUyNSwgMjcyLCAxMjUyNywgCisgICAgMjcyLCAxMjUzMSwgMjcyLCAxMjQ0MSwgMjcyLCAxMjQ0MiwgMjcyLCAxMjY0NCwgMjcyLCAxMjU5MywgMjcyLCAxMjU5NCwgCisgICAgMjcyLCAxMjU5NSwgMjcyLCAxMjU5NiwgMjcyLCAxMjU5NywgMjcyLCAxMjU5OCwgMjcyLCAxMjU5OSwgMjcyLCAxMjYwMCwgCisgICAgMjcyLCAxMjYwMSwgMjcyLCAxMjYwMiwgMjcyLCAxMjYwMywgMjcyLCAxMjYwNCwgMjcyLCAxMjYwNSwgMjcyLCAxMjYwNiwgCisgICAgMjcyLCAxMjYwNywgMjcyLCAxMjYwOCwgMjcyLCAxMjYwOSwgMjcyLCAxMjYxMCwgMjcyLCAxMjYxMSwgMjcyLCAxMjYxMiwgCisgICAgMjcyLCAxMjYxMywgMjcyLCAxMjYxNCwgMjcyLCAxMjYxNSwgMjcyLCAxMjYxNiwgMjcyLCAxMjYxNywgMjcyLCAxMjYxOCwgCisgICAgMjcyLCAxMjYxOSwgMjcyLCAxMjYyMCwgMjcyLCAxMjYyMSwgMjcyLCAxMjYyMiwgMjcyLCAxMjYyMywgMjcyLCAxMjYyNCwgCisgICAgMjcyLCAxMjYyNSwgMjcyLCAxMjYyNiwgMjcyLCAxMjYyNywgMjcyLCAxMjYyOCwgMjcyLCAxMjYyOSwgMjcyLCAxMjYzMCwgCisgICAgMjcyLCAxMjYzMSwgMjcyLCAxMjYzMiwgMjcyLCAxMjYzMywgMjcyLCAxMjYzNCwgMjcyLCAxMjYzNSwgMjcyLCAxMjYzNiwgCisgICAgMjcyLCAxMjYzNywgMjcyLCAxMjYzOCwgMjcyLCAxMjYzOSwgMjcyLCAxMjY0MCwgMjcyLCAxMjY0MSwgMjcyLCAxMjY0MiwgCisgICAgMjcyLCAxMjY0MywgMjY0LCAxNjIsIDI2NCwgMTYzLCAyNjQsIDE3MiwgMjY0LCAxNzUsIDI2NCwgMTY2LCAyNjQsIDE2NSwgCisgICAgMjY0LCA4MzYxLCAyNzIsIDk0NzQsIDI3MiwgODU5MiwgMjcyLCA4NTkzLCAyNzIsIDg1OTQsIDI3MiwgODU5NSwgMjcyLCAKKyAgICA5NjMyLCAyNzIsIDk2NzUsIDUxMiwgNjk3ODUsIDY5ODE4LCA1MTIsIDY5Nzg3LCA2OTgxOCwgNTEyLCA2OTc5NywgNjk4MTgsIAorICAgIDUxMiwgNjk5MzcsIDY5OTI3LCA1MTIsIDY5OTM4LCA2OTkyNywgNTEyLCA3MDQ3MSwgNzA0NjIsIDUxMiwgNzA0NzEsIAorICAgIDcwNDg3LCA1MTIsIDcwODQxLCA3MDg0MiwgNTEyLCA3MDg0MSwgNzA4MzIsIDUxMiwgNzA4NDEsIDcwODQ1LCA1MTIsIAorICAgIDcxMDk2LCA3MTA4NywgNTEyLCA3MTA5NywgNzEwODcsIDUxMiwgMTE5MTI3LCAxMTkxNDEsIDUxMiwgMTE5MTI4LCAKKyAgICAxMTkxNDEsIDUxMiwgMTE5MTM1LCAxMTkxNTAsIDUxMiwgMTE5MTM1LCAxMTkxNTEsIDUxMiwgMTE5MTM1LCAxMTkxNTIsIAorICAgIDUxMiwgMTE5MTM1LCAxMTkxNTMsIDUxMiwgMTE5MTM1LCAxMTkxNTQsIDUxMiwgMTE5MjI1LCAxMTkxNDEsIDUxMiwgCisgICAgMTE5MjI2LCAxMTkxNDEsIDUxMiwgMTE5MjI3LCAxMTkxNTAsIDUxMiwgMTE5MjI4LCAxMTkxNTAsIDUxMiwgMTE5MjI3LCAKKyAgICAxMTkxNTEsIDUxMiwgMTE5MjI4LCAxMTkxNTEsIDI2MiwgNjUsIDI2MiwgNjYsIDI2MiwgNjcsIDI2MiwgNjgsIDI2MiwgNjksIAorICAgIDI2MiwgNzAsIDI2MiwgNzEsIDI2MiwgNzIsIDI2MiwgNzMsIDI2MiwgNzQsIDI2MiwgNzUsIDI2MiwgNzYsIDI2MiwgNzcsIAorICAgIDI2MiwgNzgsIDI2MiwgNzksIDI2MiwgODAsIDI2MiwgODEsIDI2MiwgODIsIDI2MiwgODMsIDI2MiwgODQsIDI2MiwgODUsIAorICAgIDI2MiwgODYsIDI2MiwgODcsIDI2MiwgODgsIDI2MiwgODksIDI2MiwgOTAsIDI2MiwgOTcsIDI2MiwgOTgsIDI2MiwgOTksIAorICAgIDI2MiwgMTAwLCAyNjIsIDEwMSwgMjYyLCAxMDIsIDI2MiwgMTAzLCAyNjIsIDEwNCwgMjYyLCAxMDUsIDI2MiwgMTA2LCAKKyAgICAyNjIsIDEwNywgMjYyLCAxMDgsIDI2MiwgMTA5LCAyNjIsIDExMCwgMjYyLCAxMTEsIDI2MiwgMTEyLCAyNjIsIDExMywgCisgICAgMjYyLCAxMTQsIDI2MiwgMTE1LCAyNjIsIDExNiwgMjYyLCAxMTcsIDI2MiwgMTE4LCAyNjIsIDExOSwgMjYyLCAxMjAsIAorICAgIDI2MiwgMTIxLCAyNjIsIDEyMiwgMjYyLCA2NSwgMjYyLCA2NiwgMjYyLCA2NywgMjYyLCA2OCwgMjYyLCA2OSwgMjYyLCA3MCwgCisgICAgMjYyLCA3MSwgMjYyLCA3MiwgMjYyLCA3MywgMjYyLCA3NCwgMjYyLCA3NSwgMjYyLCA3NiwgMjYyLCA3NywgMjYyLCA3OCwgCisgICAgMjYyLCA3OSwgMjYyLCA4MCwgMjYyLCA4MSwgMjYyLCA4MiwgMjYyLCA4MywgMjYyLCA4NCwgMjYyLCA4NSwgMjYyLCA4NiwgCisgICAgMjYyLCA4NywgMjYyLCA4OCwgMjYyLCA4OSwgMjYyLCA5MCwgMjYyLCA5NywgMjYyLCA5OCwgMjYyLCA5OSwgMjYyLCAxMDAsIAorICAgIDI2MiwgMTAxLCAyNjIsIDEwMiwgMjYyLCAxMDMsIDI2MiwgMTA1LCAyNjIsIDEwNiwgMjYyLCAxMDcsIDI2MiwgMTA4LCAKICAgICAyNjIsIDEwOSwgMjYyLCAxMTAsIDI2MiwgMTExLCAyNjIsIDExMiwgMjYyLCAxMTMsIDI2MiwgMTE0LCAyNjIsIDExNSwgCiAgICAgMjYyLCAxMTYsIDI2MiwgMTE3LCAyNjIsIDExOCwgMjYyLCAxMTksIDI2MiwgMTIwLCAyNjIsIDEyMSwgMjYyLCAxMjIsIAotICAgIDI2MiwgNjUsIDI2MiwgNjcsIDI2MiwgNjgsIDI2MiwgNzEsIDI2MiwgNzQsIDI2MiwgNzUsIDI2MiwgNzgsIDI2MiwgNzksIAotICAgIDI2MiwgODAsIDI2MiwgODEsIDI2MiwgODMsIDI2MiwgODQsIDI2MiwgODUsIDI2MiwgODYsIDI2MiwgODcsIDI2MiwgODgsIAotICAgIDI2MiwgODksIDI2MiwgOTAsIDI2MiwgOTcsIDI2MiwgOTgsIDI2MiwgOTksIDI2MiwgMTAwLCAyNjIsIDEwMiwgMjYyLCAKLSAgICAxMDQsIDI2MiwgMTA1LCAyNjIsIDEwNiwgMjYyLCAxMDcsIDI2MiwgMTA4LCAyNjIsIDEwOSwgMjYyLCAxMTAsIDI2MiwgCi0gICAgMTEyLCAyNjIsIDExMywgMjYyLCAxMTQsIDI2MiwgMTE1LCAyNjIsIDExNiwgMjYyLCAxMTcsIDI2MiwgMTE4LCAyNjIsIAotICAgIDExOSwgMjYyLCAxMjAsIDI2MiwgMTIxLCAyNjIsIDEyMiwgMjYyLCA2NSwgMjYyLCA2NiwgMjYyLCA2NywgMjYyLCA2OCwgCi0gICAgMjYyLCA2OSwgMjYyLCA3MCwgMjYyLCA3MSwgMjYyLCA3MiwgMjYyLCA3MywgMjYyLCA3NCwgMjYyLCA3NSwgMjYyLCA3NiwgCi0gICAgMjYyLCA3NywgMjYyLCA3OCwgMjYyLCA3OSwgMjYyLCA4MCwgMjYyLCA4MSwgMjYyLCA4MiwgMjYyLCA4MywgMjYyLCA4NCwgCi0gICAgMjYyLCA4NSwgMjYyLCA4NiwgMjYyLCA4NywgMjYyLCA4OCwgMjYyLCA4OSwgMjYyLCA5MCwgMjYyLCA5NywgMjYyLCA5OCwgCi0gICAgMjYyLCA5OSwgMjYyLCAxMDAsIDI2MiwgMTAxLCAyNjIsIDEwMiwgMjYyLCAxMDMsIDI2MiwgMTA0LCAyNjIsIDEwNSwgMjYyLCAKLSAgICAxMDYsIDI2MiwgMTA3LCAyNjIsIDEwOCwgMjYyLCAxMDksIDI2MiwgMTEwLCAyNjIsIDExMSwgMjYyLCAxMTIsIDI2MiwgCi0gICAgMTEzLCAyNjIsIDExNCwgMjYyLCAxMTUsIDI2MiwgMTE2LCAyNjIsIDExNywgMjYyLCAxMTgsIDI2MiwgMTE5LCAyNjIsIAotICAgIDEyMCwgMjYyLCAxMjEsIDI2MiwgMTIyLCAyNjIsIDY1LCAyNjIsIDY2LCAyNjIsIDY4LCAyNjIsIDY5LCAyNjIsIDcwLCAKLSAgICAyNjIsIDcxLCAyNjIsIDc0LCAyNjIsIDc1LCAyNjIsIDc2LCAyNjIsIDc3LCAyNjIsIDc4LCAyNjIsIDc5LCAyNjIsIDgwLCAKKyAgICAyNjIsIDY1LCAyNjIsIDY2LCAyNjIsIDY3LCAyNjIsIDY4LCAyNjIsIDY5LCAyNjIsIDcwLCAyNjIsIDcxLCAyNjIsIDcyLCAKKyAgICAyNjIsIDczLCAyNjIsIDc0LCAyNjIsIDc1LCAyNjIsIDc2LCAyNjIsIDc3LCAyNjIsIDc4LCAyNjIsIDc5LCAyNjIsIDgwLCAKKyAgICAyNjIsIDgxLCAyNjIsIDgyLCAyNjIsIDgzLCAyNjIsIDg0LCAyNjIsIDg1LCAyNjIsIDg2LCAyNjIsIDg3LCAyNjIsIDg4LCAKKyAgICAyNjIsIDg5LCAyNjIsIDkwLCAyNjIsIDk3LCAyNjIsIDk4LCAyNjIsIDk5LCAyNjIsIDEwMCwgMjYyLCAxMDEsIDI2MiwgCisgICAgMTAyLCAyNjIsIDEwMywgMjYyLCAxMDQsIDI2MiwgMTA1LCAyNjIsIDEwNiwgMjYyLCAxMDcsIDI2MiwgMTA4LCAyNjIsIAorICAgIDEwOSwgMjYyLCAxMTAsIDI2MiwgMTExLCAyNjIsIDExMiwgMjYyLCAxMTMsIDI2MiwgMTE0LCAyNjIsIDExNSwgMjYyLCAKKyAgICAxMTYsIDI2MiwgMTE3LCAyNjIsIDExOCwgMjYyLCAxMTksIDI2MiwgMTIwLCAyNjIsIDEyMSwgMjYyLCAxMjIsIDI2MiwgNjUsIAorICAgIDI2MiwgNjcsIDI2MiwgNjgsIDI2MiwgNzEsIDI2MiwgNzQsIDI2MiwgNzUsIDI2MiwgNzgsIDI2MiwgNzksIDI2MiwgODAsIAogICAgIDI2MiwgODEsIDI2MiwgODMsIDI2MiwgODQsIDI2MiwgODUsIDI2MiwgODYsIDI2MiwgODcsIDI2MiwgODgsIDI2MiwgODksIAotICAgIDI2MiwgOTcsIDI2MiwgOTgsIDI2MiwgOTksIDI2MiwgMTAwLCAyNjIsIDEwMSwgMjYyLCAxMDIsIDI2MiwgMTAzLCAyNjIsIAotICAgIDEwNCwgMjYyLCAxMDUsIDI2MiwgMTA2LCAyNjIsIDEwNywgMjYyLCAxMDgsIDI2MiwgMTA5LCAyNjIsIDExMCwgMjYyLCAKLSAgICAxMTEsIDI2MiwgMTEyLCAyNjIsIDExMywgMjYyLCAxMTQsIDI2MiwgMTE1LCAyNjIsIDExNiwgMjYyLCAxMTcsIDI2MiwgCi0gICAgMTE4LCAyNjIsIDExOSwgMjYyLCAxMjAsIDI2MiwgMTIxLCAyNjIsIDEyMiwgMjYyLCA2NSwgMjYyLCA2NiwgMjYyLCA2OCwgCi0gICAgMjYyLCA2OSwgMjYyLCA3MCwgMjYyLCA3MSwgMjYyLCA3MywgMjYyLCA3NCwgMjYyLCA3NSwgMjYyLCA3NiwgMjYyLCA3NywgCi0gICAgMjYyLCA3OSwgMjYyLCA4MywgMjYyLCA4NCwgMjYyLCA4NSwgMjYyLCA4NiwgMjYyLCA4NywgMjYyLCA4OCwgMjYyLCA4OSwgCi0gICAgMjYyLCA5NywgMjYyLCA5OCwgMjYyLCA5OSwgMjYyLCAxMDAsIDI2MiwgMTAxLCAyNjIsIDEwMiwgMjYyLCAxMDMsIDI2MiwgCi0gICAgMTA0LCAyNjIsIDEwNSwgMjYyLCAxMDYsIDI2MiwgMTA3LCAyNjIsIDEwOCwgMjYyLCAxMDksIDI2MiwgMTEwLCAyNjIsIAotICAgIDExMSwgMjYyLCAxMTIsIDI2MiwgMTEzLCAyNjIsIDExNCwgMjYyLCAxMTUsIDI2MiwgMTE2LCAyNjIsIDExNywgMjYyLCAKLSAgICAxMTgsIDI2MiwgMTE5LCAyNjIsIDEyMCwgMjYyLCAxMjEsIDI2MiwgMTIyLCAyNjIsIDY1LCAyNjIsIDY2LCAyNjIsIDY3LCAKLSAgICAyNjIsIDY4LCAyNjIsIDY5LCAyNjIsIDcwLCAyNjIsIDcxLCAyNjIsIDcyLCAyNjIsIDczLCAyNjIsIDc0LCAyNjIsIDc1LCAKLSAgICAyNjIsIDc2LCAyNjIsIDc3LCAyNjIsIDc4LCAyNjIsIDc5LCAyNjIsIDgwLCAyNjIsIDgxLCAyNjIsIDgyLCAyNjIsIDgzLCAKLSAgICAyNjIsIDg0LCAyNjIsIDg1LCAyNjIsIDg2LCAyNjIsIDg3LCAyNjIsIDg4LCAyNjIsIDg5LCAyNjIsIDkwLCAyNjIsIDk3LCAKKyAgICAyNjIsIDkwLCAyNjIsIDk3LCAyNjIsIDk4LCAyNjIsIDk5LCAyNjIsIDEwMCwgMjYyLCAxMDIsIDI2MiwgMTA0LCAyNjIsIAorICAgIDEwNSwgMjYyLCAxMDYsIDI2MiwgMTA3LCAyNjIsIDEwOCwgMjYyLCAxMDksIDI2MiwgMTEwLCAyNjIsIDExMiwgMjYyLCAKKyAgICAxMTMsIDI2MiwgMTE0LCAyNjIsIDExNSwgMjYyLCAxMTYsIDI2MiwgMTE3LCAyNjIsIDExOCwgMjYyLCAxMTksIDI2MiwgCisgICAgMTIwLCAyNjIsIDEyMSwgMjYyLCAxMjIsIDI2MiwgNjUsIDI2MiwgNjYsIDI2MiwgNjcsIDI2MiwgNjgsIDI2MiwgNjksIAorICAgIDI2MiwgNzAsIDI2MiwgNzEsIDI2MiwgNzIsIDI2MiwgNzMsIDI2MiwgNzQsIDI2MiwgNzUsIDI2MiwgNzYsIDI2MiwgNzcsIAorICAgIDI2MiwgNzgsIDI2MiwgNzksIDI2MiwgODAsIDI2MiwgODEsIDI2MiwgODIsIDI2MiwgODMsIDI2MiwgODQsIDI2MiwgODUsIAorICAgIDI2MiwgODYsIDI2MiwgODcsIDI2MiwgODgsIDI2MiwgODksIDI2MiwgOTAsIDI2MiwgOTcsIDI2MiwgOTgsIDI2MiwgOTksIAorICAgIDI2MiwgMTAwLCAyNjIsIDEwMSwgMjYyLCAxMDIsIDI2MiwgMTAzLCAyNjIsIDEwNCwgMjYyLCAxMDUsIDI2MiwgMTA2LCAKKyAgICAyNjIsIDEwNywgMjYyLCAxMDgsIDI2MiwgMTA5LCAyNjIsIDExMCwgMjYyLCAxMTEsIDI2MiwgMTEyLCAyNjIsIDExMywgCisgICAgMjYyLCAxMTQsIDI2MiwgMTE1LCAyNjIsIDExNiwgMjYyLCAxMTcsIDI2MiwgMTE4LCAyNjIsIDExOSwgMjYyLCAxMjAsIAorICAgIDI2MiwgMTIxLCAyNjIsIDEyMiwgMjYyLCA2NSwgMjYyLCA2NiwgMjYyLCA2OCwgMjYyLCA2OSwgMjYyLCA3MCwgMjYyLCA3MSwgCisgICAgMjYyLCA3NCwgMjYyLCA3NSwgMjYyLCA3NiwgMjYyLCA3NywgMjYyLCA3OCwgMjYyLCA3OSwgMjYyLCA4MCwgMjYyLCA4MSwgCisgICAgMjYyLCA4MywgMjYyLCA4NCwgMjYyLCA4NSwgMjYyLCA4NiwgMjYyLCA4NywgMjYyLCA4OCwgMjYyLCA4OSwgMjYyLCA5NywgCisgICAgMjYyLCA5OCwgMjYyLCA5OSwgMjYyLCAxMDAsIDI2MiwgMTAxLCAyNjIsIDEwMiwgMjYyLCAxMDMsIDI2MiwgMTA0LCAyNjIsIAorICAgIDEwNSwgMjYyLCAxMDYsIDI2MiwgMTA3LCAyNjIsIDEwOCwgMjYyLCAxMDksIDI2MiwgMTEwLCAyNjIsIDExMSwgMjYyLCAKKyAgICAxMTIsIDI2MiwgMTEzLCAyNjIsIDExNCwgMjYyLCAxMTUsIDI2MiwgMTE2LCAyNjIsIDExNywgMjYyLCAxMTgsIDI2MiwgCisgICAgMTE5LCAyNjIsIDEyMCwgMjYyLCAxMjEsIDI2MiwgMTIyLCAyNjIsIDY1LCAyNjIsIDY2LCAyNjIsIDY4LCAyNjIsIDY5LCAKKyAgICAyNjIsIDcwLCAyNjIsIDcxLCAyNjIsIDczLCAyNjIsIDc0LCAyNjIsIDc1LCAyNjIsIDc2LCAyNjIsIDc3LCAyNjIsIDc5LCAKKyAgICAyNjIsIDgzLCAyNjIsIDg0LCAyNjIsIDg1LCAyNjIsIDg2LCAyNjIsIDg3LCAyNjIsIDg4LCAyNjIsIDg5LCAyNjIsIDk3LCAKICAgICAyNjIsIDk4LCAyNjIsIDk5LCAyNjIsIDEwMCwgMjYyLCAxMDEsIDI2MiwgMTAyLCAyNjIsIDEwMywgMjYyLCAxMDQsIDI2MiwgCiAgICAgMTA1LCAyNjIsIDEwNiwgMjYyLCAxMDcsIDI2MiwgMTA4LCAyNjIsIDEwOSwgMjYyLCAxMTAsIDI2MiwgMTExLCAyNjIsIAogICAgIDExMiwgMjYyLCAxMTMsIDI2MiwgMTE0LCAyNjIsIDExNSwgMjYyLCAxMTYsIDI2MiwgMTE3LCAyNjIsIDExOCwgMjYyLCAKQEAgLTM1MzYsMzMgKzM4MjIsMTUgQEAKICAgICAyNjIsIDg5LCAyNjIsIDkwLCAyNjIsIDk3LCAyNjIsIDk4LCAyNjIsIDk5LCAyNjIsIDEwMCwgMjYyLCAxMDEsIDI2MiwgCiAgICAgMTAyLCAyNjIsIDEwMywgMjYyLCAxMDQsIDI2MiwgMTA1LCAyNjIsIDEwNiwgMjYyLCAxMDcsIDI2MiwgMTA4LCAyNjIsIAogICAgIDEwOSwgMjYyLCAxMTAsIDI2MiwgMTExLCAyNjIsIDExMiwgMjYyLCAxMTMsIDI2MiwgMTE0LCAyNjIsIDExNSwgMjYyLCAKLSAgICAxMTYsIDI2MiwgMTE3LCAyNjIsIDExOCwgMjYyLCAxMTksIDI2MiwgMTIwLCAyNjIsIDEyMSwgMjYyLCAxMjIsIDI2MiwgCi0gICAgMzA1LCAyNjIsIDU2NywgMjYyLCA5MTMsIDI2MiwgOTE0LCAyNjIsIDkxNSwgMjYyLCA5MTYsIDI2MiwgOTE3LCAyNjIsIAotICAgIDkxOCwgMjYyLCA5MTksIDI2MiwgOTIwLCAyNjIsIDkyMSwgMjYyLCA5MjIsIDI2MiwgOTIzLCAyNjIsIDkyNCwgMjYyLCAKLSAgICA5MjUsIDI2MiwgOTI2LCAyNjIsIDkyNywgMjYyLCA5MjgsIDI2MiwgOTI5LCAyNjIsIDEwMTIsIDI2MiwgOTMxLCAyNjIsIAotICAgIDkzMiwgMjYyLCA5MzMsIDI2MiwgOTM0LCAyNjIsIDkzNSwgMjYyLCA5MzYsIDI2MiwgOTM3LCAyNjIsIDg3MTEsIDI2MiwgCi0gICAgOTQ1LCAyNjIsIDk0NiwgMjYyLCA5NDcsIDI2MiwgOTQ4LCAyNjIsIDk0OSwgMjYyLCA5NTAsIDI2MiwgOTUxLCAyNjIsIAotICAgIDk1MiwgMjYyLCA5NTMsIDI2MiwgOTU0LCAyNjIsIDk1NSwgMjYyLCA5NTYsIDI2MiwgOTU3LCAyNjIsIDk1OCwgMjYyLCAKLSAgICA5NTksIDI2MiwgOTYwLCAyNjIsIDk2MSwgMjYyLCA5NjIsIDI2MiwgOTYzLCAyNjIsIDk2NCwgMjYyLCA5NjUsIDI2MiwgCi0gICAgOTY2LCAyNjIsIDk2NywgMjYyLCA5NjgsIDI2MiwgOTY5LCAyNjIsIDg3MDYsIDI2MiwgMTAxMywgMjYyLCA5NzcsIDI2MiwgCi0gICAgMTAwOCwgMjYyLCA5ODEsIDI2MiwgMTAwOSwgMjYyLCA5ODIsIDI2MiwgOTEzLCAyNjIsIDkxNCwgMjYyLCA5MTUsIDI2MiwgCi0gICAgOTE2LCAyNjIsIDkxNywgMjYyLCA5MTgsIDI2MiwgOTE5LCAyNjIsIDkyMCwgMjYyLCA5MjEsIDI2MiwgOTIyLCAyNjIsIAotICAgIDkyMywgMjYyLCA5MjQsIDI2MiwgOTI1LCAyNjIsIDkyNiwgMjYyLCA5MjcsIDI2MiwgOTI4LCAyNjIsIDkyOSwgMjYyLCAKLSAgICAxMDEyLCAyNjIsIDkzMSwgMjYyLCA5MzIsIDI2MiwgOTMzLCAyNjIsIDkzNCwgMjYyLCA5MzUsIDI2MiwgOTM2LCAyNjIsIAotICAgIDkzNywgMjYyLCA4NzExLCAyNjIsIDk0NSwgMjYyLCA5NDYsIDI2MiwgOTQ3LCAyNjIsIDk0OCwgMjYyLCA5NDksIDI2MiwgCi0gICAgOTUwLCAyNjIsIDk1MSwgMjYyLCA5NTIsIDI2MiwgOTUzLCAyNjIsIDk1NCwgMjYyLCA5NTUsIDI2MiwgOTU2LCAyNjIsIAotICAgIDk1NywgMjYyLCA5NTgsIDI2MiwgOTU5LCAyNjIsIDk2MCwgMjYyLCA5NjEsIDI2MiwgOTYyLCAyNjIsIDk2MywgMjYyLCAKLSAgICA5NjQsIDI2MiwgOTY1LCAyNjIsIDk2NiwgMjYyLCA5NjcsIDI2MiwgOTY4LCAyNjIsIDk2OSwgMjYyLCA4NzA2LCAyNjIsIAotICAgIDEwMTMsIDI2MiwgOTc3LCAyNjIsIDEwMDgsIDI2MiwgOTgxLCAyNjIsIDEwMDksIDI2MiwgOTgyLCAyNjIsIDkxMywgMjYyLCAKLSAgICA5MTQsIDI2MiwgOTE1LCAyNjIsIDkxNiwgMjYyLCA5MTcsIDI2MiwgOTE4LCAyNjIsIDkxOSwgMjYyLCA5MjAsIDI2MiwgCi0gICAgOTIxLCAyNjIsIDkyMiwgMjYyLCA5MjMsIDI2MiwgOTI0LCAyNjIsIDkyNSwgMjYyLCA5MjYsIDI2MiwgOTI3LCAyNjIsIAotICAgIDkyOCwgMjYyLCA5MjksIDI2MiwgMTAxMiwgMjYyLCA5MzEsIDI2MiwgOTMyLCAyNjIsIDkzMywgMjYyLCA5MzQsIDI2MiwgCi0gICAgOTM1LCAyNjIsIDkzNiwgMjYyLCA5MzcsIDI2MiwgODcxMSwgMjYyLCA5NDUsIDI2MiwgOTQ2LCAyNjIsIDk0NywgMjYyLCAKLSAgICA5NDgsIDI2MiwgOTQ5LCAyNjIsIDk1MCwgMjYyLCA5NTEsIDI2MiwgOTUyLCAyNjIsIDk1MywgMjYyLCA5NTQsIDI2MiwgCi0gICAgOTU1LCAyNjIsIDk1NiwgMjYyLCA5NTcsIDI2MiwgOTU4LCAyNjIsIDk1OSwgMjYyLCA5NjAsIDI2MiwgOTYxLCAyNjIsIAotICAgIDk2MiwgMjYyLCA5NjMsIDI2MiwgOTY0LCAyNjIsIDk2NSwgMjYyLCA5NjYsIDI2MiwgOTY3LCAyNjIsIDk2OCwgMjYyLCAKLSAgICA5NjksIDI2MiwgODcwNiwgMjYyLCAxMDEzLCAyNjIsIDk3NywgMjYyLCAxMDA4LCAyNjIsIDk4MSwgMjYyLCAxMDA5LCAyNjIsIAotICAgIDk4MiwgMjYyLCA5MTMsIDI2MiwgOTE0LCAyNjIsIDkxNSwgMjYyLCA5MTYsIDI2MiwgOTE3LCAyNjIsIDkxOCwgMjYyLCAKKyAgICAxMTYsIDI2MiwgMTE3LCAyNjIsIDExOCwgMjYyLCAxMTksIDI2MiwgMTIwLCAyNjIsIDEyMSwgMjYyLCAxMjIsIDI2MiwgNjUsIAorICAgIDI2MiwgNjYsIDI2MiwgNjcsIDI2MiwgNjgsIDI2MiwgNjksIDI2MiwgNzAsIDI2MiwgNzEsIDI2MiwgNzIsIDI2MiwgNzMsIAorICAgIDI2MiwgNzQsIDI2MiwgNzUsIDI2MiwgNzYsIDI2MiwgNzcsIDI2MiwgNzgsIDI2MiwgNzksIDI2MiwgODAsIDI2MiwgODEsIAorICAgIDI2MiwgODIsIDI2MiwgODMsIDI2MiwgODQsIDI2MiwgODUsIDI2MiwgODYsIDI2MiwgODcsIDI2MiwgODgsIDI2MiwgODksIAorICAgIDI2MiwgOTAsIDI2MiwgOTcsIDI2MiwgOTgsIDI2MiwgOTksIDI2MiwgMTAwLCAyNjIsIDEwMSwgMjYyLCAxMDIsIDI2MiwgCisgICAgMTAzLCAyNjIsIDEwNCwgMjYyLCAxMDUsIDI2MiwgMTA2LCAyNjIsIDEwNywgMjYyLCAxMDgsIDI2MiwgMTA5LCAyNjIsIAorICAgIDExMCwgMjYyLCAxMTEsIDI2MiwgMTEyLCAyNjIsIDExMywgMjYyLCAxMTQsIDI2MiwgMTE1LCAyNjIsIDExNiwgMjYyLCAKKyAgICAxMTcsIDI2MiwgMTE4LCAyNjIsIDExOSwgMjYyLCAxMjAsIDI2MiwgMTIxLCAyNjIsIDEyMiwgMjYyLCAzMDUsIDI2MiwgCisgICAgNTY3LCAyNjIsIDkxMywgMjYyLCA5MTQsIDI2MiwgOTE1LCAyNjIsIDkxNiwgMjYyLCA5MTcsIDI2MiwgOTE4LCAyNjIsIAogICAgIDkxOSwgMjYyLCA5MjAsIDI2MiwgOTIxLCAyNjIsIDkyMiwgMjYyLCA5MjMsIDI2MiwgOTI0LCAyNjIsIDkyNSwgMjYyLCAKICAgICA5MjYsIDI2MiwgOTI3LCAyNjIsIDkyOCwgMjYyLCA5MjksIDI2MiwgMTAxMiwgMjYyLCA5MzEsIDI2MiwgOTMyLCAyNjIsIAogICAgIDkzMywgMjYyLCA5MzQsIDI2MiwgOTM1LCAyNjIsIDkzNiwgMjYyLCA5MzcsIDI2MiwgODcxMSwgMjYyLCA5NDUsIDI2MiwgCkBAIC0zNTc4LDMzOSArMzg0Niw1NDYgQEAKICAgICA5NTEsIDI2MiwgOTUyLCAyNjIsIDk1MywgMjYyLCA5NTQsIDI2MiwgOTU1LCAyNjIsIDk1NiwgMjYyLCA5NTcsIDI2MiwgCiAgICAgOTU4LCAyNjIsIDk1OSwgMjYyLCA5NjAsIDI2MiwgOTYxLCAyNjIsIDk2MiwgMjYyLCA5NjMsIDI2MiwgOTY0LCAyNjIsIAogICAgIDk2NSwgMjYyLCA5NjYsIDI2MiwgOTY3LCAyNjIsIDk2OCwgMjYyLCA5NjksIDI2MiwgODcwNiwgMjYyLCAxMDEzLCAyNjIsIAotICAgIDk3NywgMjYyLCAxMDA4LCAyNjIsIDk4MSwgMjYyLCAxMDA5LCAyNjIsIDk4MiwgMjYyLCA5ODgsIDI2MiwgOTg5LCAyNjIsIAotICAgIDQ4LCAyNjIsIDQ5LCAyNjIsIDUwLCAyNjIsIDUxLCAyNjIsIDUyLCAyNjIsIDUzLCAyNjIsIDU0LCAyNjIsIDU1LCAyNjIsIAotICAgIDU2LCAyNjIsIDU3LCAyNjIsIDQ4LCAyNjIsIDQ5LCAyNjIsIDUwLCAyNjIsIDUxLCAyNjIsIDUyLCAyNjIsIDUzLCAyNjIsIAotICAgIDU0LCAyNjIsIDU1LCAyNjIsIDU2LCAyNjIsIDU3LCAyNjIsIDQ4LCAyNjIsIDQ5LCAyNjIsIDUwLCAyNjIsIDUxLCAyNjIsIAotICAgIDUyLCAyNjIsIDUzLCAyNjIsIDU0LCAyNjIsIDU1LCAyNjIsIDU2LCAyNjIsIDU3LCAyNjIsIDQ4LCAyNjIsIDQ5LCAyNjIsIAotICAgIDUwLCAyNjIsIDUxLCAyNjIsIDUyLCAyNjIsIDUzLCAyNjIsIDU0LCAyNjIsIDU1LCAyNjIsIDU2LCAyNjIsIDU3LCAyNjIsIAotICAgIDQ4LCAyNjIsIDQ5LCAyNjIsIDUwLCAyNjIsIDUxLCAyNjIsIDUyLCAyNjIsIDUzLCAyNjIsIDU0LCAyNjIsIDU1LCAyNjIsIAotICAgIDU2LCAyNjIsIDU3LCAyNjIsIDE1NzUsIDI2MiwgMTU3NiwgMjYyLCAxNTgwLCAyNjIsIDE1ODMsIDI2MiwgMTYwOCwgMjYyLCAKLSAgICAxNTg2LCAyNjIsIDE1ODEsIDI2MiwgMTU5MSwgMjYyLCAxNjEwLCAyNjIsIDE2MDMsIDI2MiwgMTYwNCwgMjYyLCAxNjA1LCAKLSAgICAyNjIsIDE2MDYsIDI2MiwgMTU4NywgMjYyLCAxNTkzLCAyNjIsIDE2MDEsIDI2MiwgMTU4OSwgMjYyLCAxNjAyLCAyNjIsIAotICAgIDE1ODUsIDI2MiwgMTU4OCwgMjYyLCAxNTc4LCAyNjIsIDE1NzksIDI2MiwgMTU4MiwgMjYyLCAxNTg0LCAyNjIsIDE1OTAsIAotICAgIDI2MiwgMTU5MiwgMjYyLCAxNTk0LCAyNjIsIDE2NDYsIDI2MiwgMTcyMiwgMjYyLCAxNjk3LCAyNjIsIDE2NDcsIDI2MiwgCi0gICAgMTU3NiwgMjYyLCAxNTgwLCAyNjIsIDE2MDcsIDI2MiwgMTU4MSwgMjYyLCAxNjEwLCAyNjIsIDE2MDMsIDI2MiwgMTYwNCwgCi0gICAgMjYyLCAxNjA1LCAyNjIsIDE2MDYsIDI2MiwgMTU4NywgMjYyLCAxNTkzLCAyNjIsIDE2MDEsIDI2MiwgMTU4OSwgMjYyLCAKLSAgICAxNjAyLCAyNjIsIDE1ODgsIDI2MiwgMTU3OCwgMjYyLCAxNTc5LCAyNjIsIDE1ODIsIDI2MiwgMTU5MCwgMjYyLCAxNTk0LCAKLSAgICAyNjIsIDE1ODAsIDI2MiwgMTU4MSwgMjYyLCAxNjEwLCAyNjIsIDE2MDQsIDI2MiwgMTYwNiwgMjYyLCAxNTg3LCAyNjIsIAotICAgIDE1OTMsIDI2MiwgMTU4OSwgMjYyLCAxNjAyLCAyNjIsIDE1ODgsIDI2MiwgMTU4MiwgMjYyLCAxNTkwLCAyNjIsIDE1OTQsIAotICAgIDI2MiwgMTcyMiwgMjYyLCAxNjQ3LCAyNjIsIDE1NzYsIDI2MiwgMTU4MCwgMjYyLCAxNjA3LCAyNjIsIDE1ODEsIDI2MiwgCi0gICAgMTU5MSwgMjYyLCAxNjEwLCAyNjIsIDE2MDMsIDI2MiwgMTYwNSwgMjYyLCAxNjA2LCAyNjIsIDE1ODcsIDI2MiwgMTU5MywgCi0gICAgMjYyLCAxNjAxLCAyNjIsIDE1ODksIDI2MiwgMTYwMiwgMjYyLCAxNTg4LCAyNjIsIDE1NzgsIDI2MiwgMTU3OSwgMjYyLCAKLSAgICAxNTgyLCAyNjIsIDE1OTAsIDI2MiwgMTU5MiwgMjYyLCAxNTk0LCAyNjIsIDE2NDYsIDI2MiwgMTY5NywgMjYyLCAxNTc1LCAKLSAgICAyNjIsIDE1NzYsIDI2MiwgMTU4MCwgMjYyLCAxNTgzLCAyNjIsIDE2MDcsIDI2MiwgMTYwOCwgMjYyLCAxNTg2LCAyNjIsIAotICAgIDE1ODEsIDI2MiwgMTU5MSwgMjYyLCAxNjEwLCAyNjIsIDE2MDQsIDI2MiwgMTYwNSwgMjYyLCAxNjA2LCAyNjIsIDE1ODcsIAotICAgIDI2MiwgMTU5MywgMjYyLCAxNjAxLCAyNjIsIDE1ODksIDI2MiwgMTYwMiwgMjYyLCAxNTg1LCAyNjIsIDE1ODgsIDI2MiwgCi0gICAgMTU3OCwgMjYyLCAxNTc5LCAyNjIsIDE1ODIsIDI2MiwgMTU4NCwgMjYyLCAxNTkwLCAyNjIsIDE1OTIsIDI2MiwgMTU5NCwgCi0gICAgMjYyLCAxNTc2LCAyNjIsIDE1ODAsIDI2MiwgMTU4MywgMjYyLCAxNjA4LCAyNjIsIDE1ODYsIDI2MiwgMTU4MSwgMjYyLCAKLSAgICAxNTkxLCAyNjIsIDE2MTAsIDI2MiwgMTYwNCwgMjYyLCAxNjA1LCAyNjIsIDE2MDYsIDI2MiwgMTU4NywgMjYyLCAxNTkzLCAKLSAgICAyNjIsIDE2MDEsIDI2MiwgMTU4OSwgMjYyLCAxNjAyLCAyNjIsIDE1ODUsIDI2MiwgMTU4OCwgMjYyLCAxNTc4LCAyNjIsIAotICAgIDE1NzksIDI2MiwgMTU4MiwgMjYyLCAxNTg0LCAyNjIsIDE1OTAsIDI2MiwgMTU5MiwgMjYyLCAxNTk0LCA1MTQsIDQ4LCA0NiwgCi0gICAgNTE0LCA0OCwgNDQsIDUxNCwgNDksIDQ0LCA1MTQsIDUwLCA0NCwgNTE0LCA1MSwgNDQsIDUxNCwgNTIsIDQ0LCA1MTQsIDUzLCAKLSAgICA0NCwgNTE0LCA1NCwgNDQsIDUxNCwgNTUsIDQ0LCA1MTQsIDU2LCA0NCwgNTE0LCA1NywgNDQsIDc3MCwgNDAsIDY1LCA0MSwgCi0gICAgNzcwLCA0MCwgNjYsIDQxLCA3NzAsIDQwLCA2NywgNDEsIDc3MCwgNDAsIDY4LCA0MSwgNzcwLCA0MCwgNjksIDQxLCA3NzAsIAotICAgIDQwLCA3MCwgNDEsIDc3MCwgNDAsIDcxLCA0MSwgNzcwLCA0MCwgNzIsIDQxLCA3NzAsIDQwLCA3MywgNDEsIDc3MCwgNDAsIAotICAgIDc0LCA0MSwgNzcwLCA0MCwgNzUsIDQxLCA3NzAsIDQwLCA3NiwgNDEsIDc3MCwgNDAsIDc3LCA0MSwgNzcwLCA0MCwgNzgsIAotICAgIDQxLCA3NzAsIDQwLCA3OSwgNDEsIDc3MCwgNDAsIDgwLCA0MSwgNzcwLCA0MCwgODEsIDQxLCA3NzAsIDQwLCA4MiwgNDEsIAotICAgIDc3MCwgNDAsIDgzLCA0MSwgNzcwLCA0MCwgODQsIDQxLCA3NzAsIDQwLCA4NSwgNDEsIDc3MCwgNDAsIDg2LCA0MSwgNzcwLCAKLSAgICA0MCwgODcsIDQxLCA3NzAsIDQwLCA4OCwgNDEsIDc3MCwgNDAsIDg5LCA0MSwgNzcwLCA0MCwgOTAsIDQxLCA3NzAsIAotICAgIDEyMzA4LCA4MywgMTIzMDksIDI2MywgNjcsIDI2MywgODIsIDUxOSwgNjcsIDY4LCA1MTksIDg3LCA5MCwgMjY2LCA2NSwgCi0gICAgMjY2LCA2NiwgMjY2LCA2NywgMjY2LCA2OCwgMjY2LCA2OSwgMjY2LCA3MCwgMjY2LCA3MSwgMjY2LCA3MiwgMjY2LCA3MywgCi0gICAgMjY2LCA3NCwgMjY2LCA3NSwgMjY2LCA3NiwgMjY2LCA3NywgMjY2LCA3OCwgMjY2LCA3OSwgMjY2LCA4MCwgMjY2LCA4MSwgCi0gICAgMjY2LCA4MiwgMjY2LCA4MywgMjY2LCA4NCwgMjY2LCA4NSwgMjY2LCA4NiwgMjY2LCA4NywgMjY2LCA4OCwgMjY2LCA4OSwgCi0gICAgMjY2LCA5MCwgNTIyLCA3MiwgODYsIDUyMiwgNzcsIDg2LCA1MjIsIDgzLCA2OCwgNTIyLCA4MywgODMsIDc3OCwgODAsIDgwLCAKLSAgICA4NiwgNTIyLCA4NywgNjcsIDUxNSwgNzcsIDY3LCA1MTUsIDc3LCA2OCwgNTIyLCA2OCwgNzQsIDUyMiwgMTI0MTEsIAotICAgIDEyMzYzLCA1MjIsIDEyNDY3LCAxMjQ2NywgMjY2LCAxMjQ2OSwgMjY2LCAyNTE2MywgMjY2LCAyMzM4MywgMjY2LCAyMTQ1MiwgCi0gICAgMjY2LCAxMjQ4NywgMjY2LCAyMDEwOCwgMjY2LCAyMjgxMCwgMjY2LCAzNTI5OSwgMjY2LCAyMjgyNSwgMjY2LCAyMDEzMiwgCi0gICAgMjY2LCAyNjE0NCwgMjY2LCAyODk2MSwgMjY2LCAyNjAwOSwgMjY2LCAyMTA2OSwgMjY2LCAyNDQ2MCwgMjY2LCAyMDg3NywgCi0gICAgMjY2LCAyNjAzMiwgMjY2LCAyMTAyMSwgMjY2LCAzMjA2NiwgMjY2LCAyOTk4MywgMjY2LCAzNjAwOSwgMjY2LCAyMjc2OCwgCi0gICAgMjY2LCAyMTU2MSwgMjY2LCAyODQzNiwgMjY2LCAyNTIzNywgMjY2LCAyNTQyOSwgMjY2LCAxOTk2OCwgMjY2LCAxOTk3NywgCi0gICAgMjY2LCAzNjkzOCwgMjY2LCAyNDAzOCwgMjY2LCAyMDAxMywgMjY2LCAyMTQ5MSwgMjY2LCAyNTM1MSwgMjY2LCAzNjIwOCwgCi0gICAgMjY2LCAyNTE3MSwgMjY2LCAzMTEwNSwgMjY2LCAzMTM1NCwgMjY2LCAyMTUxMiwgMjY2LCAyODI4OCwgMjY2LCAyNjM3NywgCi0gICAgMjY2LCAyNjM3NiwgMjY2LCAzMDAwMywgMjY2LCAyMTEwNiwgMjY2LCAyMTk0MiwgNzcwLCAxMjMwOCwgMjY0MTIsIDEyMzA5LCAKLSAgICA3NzAsIDEyMzA4LCAxOTk3NywgMTIzMDksIDc3MCwgMTIzMDgsIDIwMTA4LCAxMjMwOSwgNzcwLCAxMjMwOCwgMjM0MzMsIAotICAgIDEyMzA5LCA3NzAsIDEyMzA4LCAyODg1NywgMTIzMDksIDc3MCwgMTIzMDgsIDI1MTcxLCAxMjMwOSwgNzcwLCAxMjMwOCwgCi0gICAgMzA0MjMsIDEyMzA5LCA3NzAsIDEyMzA4LCAyMTIxMywgMTIzMDksIDc3MCwgMTIzMDgsIDI1OTQzLCAxMjMwOSwgMjYzLCAKLSAgICAyNDQ3MSwgMjYzLCAyMTQ4NywgMjU2LCAyMDAyOSwgMjU2LCAyMDAyNCwgMjU2LCAyMDAzMywgMjU2LCAxMzEzNjIsIDI1NiwgCi0gICAgMjAzMjAsIDI1NiwgMjAzOTgsIDI1NiwgMjA0MTEsIDI1NiwgMjA0ODIsIDI1NiwgMjA2MDIsIDI1NiwgMjA2MzMsIDI1NiwgCi0gICAgMjA3MTEsIDI1NiwgMjA2ODcsIDI1NiwgMTM0NzAsIDI1NiwgMTMyNjY2LCAyNTYsIDIwODEzLCAyNTYsIDIwODIwLCAyNTYsIAotICAgIDIwODM2LCAyNTYsIDIwODU1LCAyNTYsIDEzMjM4MCwgMjU2LCAxMzQ5NywgMjU2LCAyMDgzOSwgMjU2LCAyMDg3NywgMjU2LCAKLSAgICAxMzI0MjcsIDI1NiwgMjA4ODcsIDI1NiwgMjA5MDAsIDI1NiwgMjAxNzIsIDI1NiwgMjA5MDgsIDI1NiwgMjA5MTcsIDI1NiwgCi0gICAgMTY4NDE1LCAyNTYsIDIwOTgxLCAyNTYsIDIwOTk1LCAyNTYsIDEzNTM1LCAyNTYsIDIxMDUxLCAyNTYsIDIxMDYyLCAyNTYsIAotICAgIDIxMTA2LCAyNTYsIDIxMTExLCAyNTYsIDEzNTg5LCAyNTYsIDIxMTkxLCAyNTYsIDIxMTkzLCAyNTYsIDIxMjIwLCAyNTYsIAotICAgIDIxMjQyLCAyNTYsIDIxMjUzLCAyNTYsIDIxMjU0LCAyNTYsIDIxMjcxLCAyNTYsIDIxMzIxLCAyNTYsIDIxMzI5LCAyNTYsIAotICAgIDIxMzM4LCAyNTYsIDIxMzYzLCAyNTYsIDIxMzczLCAyNTYsIDIxMzc1LCAyNTYsIDIxMzc1LCAyNTYsIDIxMzc1LCAyNTYsIAotICAgIDEzMzY3NiwgMjU2LCAyODc4NCwgMjU2LCAyMTQ1MCwgMjU2LCAyMTQ3MSwgMjU2LCAxMzM5ODcsIDI1NiwgMjE0ODMsIDI1NiwgCi0gICAgMjE0ODksIDI1NiwgMjE1MTAsIDI1NiwgMjE2NjIsIDI1NiwgMjE1NjAsIDI1NiwgMjE1NzYsIDI1NiwgMjE2MDgsIDI1NiwgCi0gICAgMjE2NjYsIDI1NiwgMjE3NTAsIDI1NiwgMjE3NzYsIDI1NiwgMjE4NDMsIDI1NiwgMjE4NTksIDI1NiwgMjE4OTIsIDI1NiwgCi0gICAgMjE4OTIsIDI1NiwgMjE5MTMsIDI1NiwgMjE5MzEsIDI1NiwgMjE5MzksIDI1NiwgMjE5NTQsIDI1NiwgMjIyOTQsIDI1NiwgCi0gICAgMjIwMjIsIDI1NiwgMjIyOTUsIDI1NiwgMjIwOTcsIDI1NiwgMjIxMzIsIDI1NiwgMjA5OTksIDI1NiwgMjI3NjYsIDI1NiwgCi0gICAgMjI0NzgsIDI1NiwgMjI1MTYsIDI1NiwgMjI1NDEsIDI1NiwgMjI0MTEsIDI1NiwgMjI1NzgsIDI1NiwgMjI1NzcsIDI1NiwgCi0gICAgMjI3MDAsIDI1NiwgMTM2NDIwLCAyNTYsIDIyNzcwLCAyNTYsIDIyNzc1LCAyNTYsIDIyNzkwLCAyNTYsIDIyODEwLCAyNTYsIAotICAgIDIyODE4LCAyNTYsIDIyODgyLCAyNTYsIDEzNjg3MiwgMjU2LCAxMzY5MzgsIDI1NiwgMjMwMjAsIDI1NiwgMjMwNjcsIDI1NiwgCi0gICAgMjMwNzksIDI1NiwgMjMwMDAsIDI1NiwgMjMxNDIsIDI1NiwgMTQwNjIsIDI1NiwgMTQwNzYsIDI1NiwgMjMzMDQsIDI1NiwgCi0gICAgMjMzNTgsIDI1NiwgMjMzNTgsIDI1NiwgMTM3NjcyLCAyNTYsIDIzNDkxLCAyNTYsIDIzNTEyLCAyNTYsIDIzNTI3LCAyNTYsIAotICAgIDIzNTM5LCAyNTYsIDEzODAwOCwgMjU2LCAyMzU1MSwgMjU2LCAyMzU1OCwgMjU2LCAyNDQwMywgMjU2LCAyMzU4NiwgMjU2LCAKLSAgICAxNDIwOSwgMjU2LCAyMzY0OCwgMjU2LCAyMzY2MiwgMjU2LCAyMzc0NCwgMjU2LCAyMzY5MywgMjU2LCAxMzg3MjQsIDI1NiwgCi0gICAgMjM4NzUsIDI1NiwgMTM4NzI2LCAyNTYsIDIzOTE4LCAyNTYsIDIzOTE1LCAyNTYsIDIzOTMyLCAyNTYsIDI0MDMzLCAyNTYsIAotICAgIDI0MDM0LCAyNTYsIDE0MzgzLCAyNTYsIDI0MDYxLCAyNTYsIDI0MTA0LCAyNTYsIDI0MTI1LCAyNTYsIDI0MTY5LCAyNTYsIAotICAgIDE0NDM0LCAyNTYsIDEzOTY1MSwgMjU2LCAxNDQ2MCwgMjU2LCAyNDI0MCwgMjU2LCAyNDI0MywgMjU2LCAyNDI0NiwgMjU2LCAKLSAgICAyNDI2NiwgMjU2LCAxNzI5NDYsIDI1NiwgMjQzMTgsIDI1NiwgMTQwMDgxLCAyNTYsIDE0MDA4MSwgMjU2LCAzMzI4MSwgCi0gICAgMjU2LCAyNDM1NCwgMjU2LCAyNDM1NCwgMjU2LCAxNDUzNSwgMjU2LCAxNDQwNTYsIDI1NiwgMTU2MTIyLCAyNTYsIDI0NDE4LCAKLSAgICAyNTYsIDI0NDI3LCAyNTYsIDE0NTYzLCAyNTYsIDI0NDc0LCAyNTYsIDI0NTI1LCAyNTYsIDI0NTM1LCAyNTYsIDI0NTY5LCAKLSAgICAyNTYsIDI0NzA1LCAyNTYsIDE0NjUwLCAyNTYsIDE0NjIwLCAyNTYsIDI0NzI0LCAyNTYsIDE0MTAxMiwgMjU2LCAyNDc3NSwgCi0gICAgMjU2LCAyNDkwNCwgMjU2LCAyNDkwOCwgMjU2LCAyNDkxMCwgMjU2LCAyNDkwOCwgMjU2LCAyNDk1NCwgMjU2LCAyNDk3NCwgCi0gICAgMjU2LCAyNTAxMCwgMjU2LCAyNDk5NiwgMjU2LCAyNTAwNywgMjU2LCAyNTA1NCwgMjU2LCAyNTA3NCwgMjU2LCAyNTA3OCwgCi0gICAgMjU2LCAyNTEwNCwgMjU2LCAyNTExNSwgMjU2LCAyNTE4MSwgMjU2LCAyNTI2NSwgMjU2LCAyNTMwMCwgMjU2LCAyNTQyNCwgCi0gICAgMjU2LCAxNDIwOTIsIDI1NiwgMjU0MDUsIDI1NiwgMjUzNDAsIDI1NiwgMjU0NDgsIDI1NiwgMjU0NzUsIDI1NiwgMjU1NzIsIAotICAgIDI1NiwgMTQyMzIxLCAyNTYsIDI1NjM0LCAyNTYsIDI1NTQxLCAyNTYsIDI1NTEzLCAyNTYsIDE0ODk0LCAyNTYsIDI1NzA1LCAKLSAgICAyNTYsIDI1NzI2LCAyNTYsIDI1NzU3LCAyNTYsIDI1NzE5LCAyNTYsIDE0OTU2LCAyNTYsIDI1OTM1LCAyNTYsIDI1OTY0LCAKLSAgICAyNTYsIDE0MzM3MCwgMjU2LCAyNjA4MywgMjU2LCAyNjM2MCwgMjU2LCAyNjE4NSwgMjU2LCAxNTEyOSwgMjU2LCAyNjI1NywgCi0gICAgMjU2LCAxNTExMiwgMjU2LCAxNTA3NiwgMjU2LCAyMDg4MiwgMjU2LCAyMDg4NSwgMjU2LCAyNjM2OCwgMjU2LCAyNjI2OCwgCi0gICAgMjU2LCAzMjk0MSwgMjU2LCAxNzM2OSwgMjU2LCAyNjM5MSwgMjU2LCAyNjM5NSwgMjU2LCAyNjQwMSwgMjU2LCAyNjQ2MiwgCi0gICAgMjU2LCAyNjQ1MSwgMjU2LCAxNDQzMjMsIDI1NiwgMTUxNzcsIDI1NiwgMjY2MTgsIDI1NiwgMjY1MDEsIDI1NiwgMjY3MDYsIAotICAgIDI1NiwgMjY3NTcsIDI1NiwgMTQ0NDkzLCAyNTYsIDI2NzY2LCAyNTYsIDI2NjU1LCAyNTYsIDI2OTAwLCAyNTYsIDE1MjYxLCAKLSAgICAyNTYsIDI2OTQ2LCAyNTYsIDI3MDQzLCAyNTYsIDI3MTE0LCAyNTYsIDI3MzA0LCAyNTYsIDE0NTA1OSwgMjU2LCAyNzM1NSwgCi0gICAgMjU2LCAxNTM4NCwgMjU2LCAyNzQyNSwgMjU2LCAxNDU1NzUsIDI1NiwgMjc0NzYsIDI1NiwgMTU0MzgsIDI1NiwgMjc1MDYsIAotICAgIDI1NiwgMjc1NTEsIDI1NiwgMjc1NzgsIDI1NiwgMjc1NzksIDI1NiwgMTQ2MDYxLCAyNTYsIDEzODUwNywgMjU2LCAKLSAgICAxNDYxNzAsIDI1NiwgMjc3MjYsIDI1NiwgMTQ2NjIwLCAyNTYsIDI3ODM5LCAyNTYsIDI3ODUzLCAyNTYsIDI3NzUxLCAyNTYsIAotICAgIDI3OTI2LCAyNTYsIDI3OTY2LCAyNTYsIDI4MDIzLCAyNTYsIDI3OTY5LCAyNTYsIDI4MDA5LCAyNTYsIDI4MDI0LCAyNTYsIAotICAgIDI4MDM3LCAyNTYsIDE0NjcxOCwgMjU2LCAyNzk1NiwgMjU2LCAyODIwNywgMjU2LCAyODI3MCwgMjU2LCAxNTY2NywgMjU2LCAKLSAgICAyODM2MywgMjU2LCAyODM1OSwgMjU2LCAxNDcxNTMsIDI1NiwgMjgxNTMsIDI1NiwgMjg1MjYsIDI1NiwgMTQ3Mjk0LCAyNTYsIAotICAgIDE0NzM0MiwgMjU2LCAyODYxNCwgMjU2LCAyODcyOSwgMjU2LCAyODcwMiwgMjU2LCAyODY5OSwgMjU2LCAxNTc2NiwgMjU2LCAKLSAgICAyODc0NiwgMjU2LCAyODc5NywgMjU2LCAyODc5MSwgMjU2LCAyODg0NSwgMjU2LCAxMzIzODksIDI1NiwgMjg5OTcsIDI1NiwgCi0gICAgMTQ4MDY3LCAyNTYsIDI5MDg0LCAyNTYsIDE0ODM5NSwgMjU2LCAyOTIyNCwgMjU2LCAyOTIzNywgMjU2LCAyOTI2NCwgMjU2LCAKLSAgICAxNDkwMDAsIDI1NiwgMjkzMTIsIDI1NiwgMjkzMzMsIDI1NiwgMTQ5MzAxLCAyNTYsIDE0OTUyNCwgMjU2LCAyOTU2MiwgCi0gICAgMjU2LCAyOTU3OSwgMjU2LCAxNjA0NCwgMjU2LCAyOTYwNSwgMjU2LCAxNjA1NiwgMjU2LCAxNjA1NiwgMjU2LCAyOTc2NywgCi0gICAgMjU2LCAyOTc4OCwgMjU2LCAyOTgwOSwgMjU2LCAyOTgyOSwgMjU2LCAyOTg5OCwgMjU2LCAxNjE1NSwgMjU2LCAyOTk4OCwgCi0gICAgMjU2LCAxNTA1ODIsIDI1NiwgMzAwMTQsIDI1NiwgMTUwNjc0LCAyNTYsIDMwMDY0LCAyNTYsIDEzOTY3OSwgMjU2LCAKLSAgICAzMDIyNCwgMjU2LCAxNTE0NTcsIDI1NiwgMTUxNDgwLCAyNTYsIDE1MTYyMCwgMjU2LCAxNjM4MCwgMjU2LCAxNjM5MiwgCi0gICAgMjU2LCAzMDQ1MiwgMjU2LCAxNTE3OTUsIDI1NiwgMTUxNzk0LCAyNTYsIDE1MTgzMywgMjU2LCAxNTE4NTksIDI1NiwgCi0gICAgMzA0OTQsIDI1NiwgMzA0OTUsIDI1NiwgMzA0OTUsIDI1NiwgMzA1MzgsIDI1NiwgMTY0NDEsIDI1NiwgMzA2MDMsIDI1NiwgCi0gICAgMTY0NTQsIDI1NiwgMTY1MzQsIDI1NiwgMTUyNjA1LCAyNTYsIDMwNzk4LCAyNTYsIDMwODYwLCAyNTYsIDMwOTI0LCAyNTYsIAotICAgIDE2NjExLCAyNTYsIDE1MzEyNiwgMjU2LCAzMTA2MiwgMjU2LCAxNTMyNDIsIDI1NiwgMTUzMjg1LCAyNTYsIDMxMTE5LCAKLSAgICAyNTYsIDMxMjExLCAyNTYsIDE2Njg3LCAyNTYsIDMxMjk2LCAyNTYsIDMxMzA2LCAyNTYsIDMxMzExLCAyNTYsIDE1Mzk4MCwgCi0gICAgMjU2LCAxNTQyNzksIDI1NiwgMTU0Mjc5LCAyNTYsIDMxNDcwLCAyNTYsIDE2ODk4LCAyNTYsIDE1NDUzOSwgMjU2LCAKLSAgICAzMTY4NiwgMjU2LCAzMTY4OSwgMjU2LCAxNjkzNSwgMjU2LCAxNTQ3NTIsIDI1NiwgMzE5NTQsIDI1NiwgMTcwNTYsIDI1NiwgCi0gICAgMzE5NzYsIDI1NiwgMzE5NzEsIDI1NiwgMzIwMDAsIDI1NiwgMTU1NTI2LCAyNTYsIDMyMDk5LCAyNTYsIDE3MTUzLCAyNTYsIAotICAgIDMyMTk5LCAyNTYsIDMyMjU4LCAyNTYsIDMyMzI1LCAyNTYsIDE3MjA0LCAyNTYsIDE1NjIwMCwgMjU2LCAxNTYyMzEsIDI1NiwgCi0gICAgMTcyNDEsIDI1NiwgMTU2Mzc3LCAyNTYsIDMyNjM0LCAyNTYsIDE1NjQ3OCwgMjU2LCAzMjY2MSwgMjU2LCAzMjc2MiwgMjU2LCAKLSAgICAzMjc3MywgMjU2LCAxNTY4OTAsIDI1NiwgMTU2OTYzLCAyNTYsIDMyODY0LCAyNTYsIDE1NzA5NiwgMjU2LCAzMjg4MCwgCi0gICAgMjU2LCAxNDQyMjMsIDI1NiwgMTczNjUsIDI1NiwgMzI5NDYsIDI1NiwgMzMwMjcsIDI1NiwgMTc0MTksIDI1NiwgMzMwODYsIAotICAgIDI1NiwgMjMyMjEsIDI1NiwgMTU3NjA3LCAyNTYsIDE1NzYyMSwgMjU2LCAxNDQyNzUsIDI1NiwgMTQ0Mjg0LCAyNTYsIAotICAgIDMzMjgxLCAyNTYsIDMzMjg0LCAyNTYsIDM2NzY2LCAyNTYsIDE3NTE1LCAyNTYsIDMzNDI1LCAyNTYsIDMzNDE5LCAyNTYsIAotICAgIDMzNDM3LCAyNTYsIDIxMTcxLCAyNTYsIDMzNDU3LCAyNTYsIDMzNDU5LCAyNTYsIDMzNDY5LCAyNTYsIDMzNTEwLCAyNTYsIAotICAgIDE1ODUyNCwgMjU2LCAzMzUwOSwgMjU2LCAzMzU2NSwgMjU2LCAzMzYzNSwgMjU2LCAzMzcwOSwgMjU2LCAzMzU3MSwgMjU2LCAKLSAgICAzMzcyNSwgMjU2LCAzMzc2NywgMjU2LCAzMzg3OSwgMjU2LCAzMzYxOSwgMjU2LCAzMzczOCwgMjU2LCAzMzc0MCwgMjU2LCAKLSAgICAzMzc1NiwgMjU2LCAxNTg3NzQsIDI1NiwgMTU5MDgzLCAyNTYsIDE1ODkzMywgMjU2LCAxNzcwNywgMjU2LCAzNDAzMywgCi0gICAgMjU2LCAzNDAzNSwgMjU2LCAzNDA3MCwgMjU2LCAxNjA3MTQsIDI1NiwgMzQxNDgsIDI1NiwgMTU5NTMyLCAyNTYsIDE3NzU3LCAKLSAgICAyNTYsIDE3NzYxLCAyNTYsIDE1OTY2NSwgMjU2LCAxNTk5NTQsIDI1NiwgMTc3NzEsIDI1NiwgMzQzODQsIDI1NiwgMzQzOTYsIAotICAgIDI1NiwgMzQ0MDcsIDI1NiwgMzQ0MDksIDI1NiwgMzQ0NzMsIDI1NiwgMzQ0NDAsIDI1NiwgMzQ1NzQsIDI1NiwgMzQ1MzAsIAotICAgIDI1NiwgMzQ2ODEsIDI1NiwgMzQ2MDAsIDI1NiwgMzQ2NjcsIDI1NiwgMzQ2OTQsIDI1NiwgMTc4NzksIDI1NiwgMzQ3ODUsIAotICAgIDI1NiwgMzQ4MTcsIDI1NiwgMTc5MTMsIDI1NiwgMzQ5MTIsIDI1NiwgMzQ5MTUsIDI1NiwgMTYxMzgzLCAyNTYsIDM1MDMxLCAKLSAgICAyNTYsIDM1MDM4LCAyNTYsIDE3OTczLCAyNTYsIDM1MDY2LCAyNTYsIDEzNDk5LCAyNTYsIDE2MTk2NiwgMjU2LCAxNjIxNTAsIAotICAgIDI1NiwgMTgxMTAsIDI1NiwgMTgxMTksIDI1NiwgMzU0ODgsIDI1NiwgMzU1NjUsIDI1NiwgMzU3MjIsIDI1NiwgMzU5MjUsIAotICAgIDI1NiwgMTYyOTg0LCAyNTYsIDM2MDExLCAyNTYsIDM2MDMzLCAyNTYsIDM2MTIzLCAyNTYsIDM2MjE1LCAyNTYsIDE2MzYzMSwgCi0gICAgMjU2LCAxMzMxMjQsIDI1NiwgMzYyOTksIDI1NiwgMzYyODQsIDI1NiwgMzYzMzYsIDI1NiwgMTMzMzQyLCAyNTYsIDM2NTY0LCAKLSAgICAyNTYsIDM2NjY0LCAyNTYsIDE2NTMzMCwgMjU2LCAxNjUzNTcsIDI1NiwgMzcwMTIsIDI1NiwgMzcxMDUsIDI1NiwgMzcxMzcsIAotICAgIDI1NiwgMTY1Njc4LCAyNTYsIDM3MTQ3LCAyNTYsIDM3NDMyLCAyNTYsIDM3NTkxLCAyNTYsIDM3NTkyLCAyNTYsIDM3NTAwLCAKLSAgICAyNTYsIDM3ODgxLCAyNTYsIDM3OTA5LCAyNTYsIDE2NjkwNiwgMjU2LCAzODI4MywgMjU2LCAxODgzNywgMjU2LCAzODMyNywgCi0gICAgMjU2LCAxNjcyODcsIDI1NiwgMTg5MTgsIDI1NiwgMzg1OTUsIDI1NiwgMjM5ODYsIDI1NiwgMzg2OTEsIDI1NiwgMTY4MjYxLCAKLSAgICAyNTYsIDE2ODQ3NCwgMjU2LCAxOTA1NCwgMjU2LCAxOTA2MiwgMjU2LCAzODg4MCwgMjU2LCAxNjg5NzAsIDI1NiwgMTkxMjIsIAotICAgIDI1NiwgMTY5MTEwLCAyNTYsIDM4OTIzLCAyNTYsIDM4OTIzLCAyNTYsIDM4OTUzLCAyNTYsIDE2OTM5OCwgMjU2LCAzOTEzOCwgCi0gICAgMjU2LCAxOTI1MSwgMjU2LCAzOTIwOSwgMjU2LCAzOTMzNSwgMjU2LCAzOTM2MiwgMjU2LCAzOTQyMiwgMjU2LCAxOTQwNiwgCi0gICAgMjU2LCAxNzA4MDAsIDI1NiwgMzk2OTgsIDI1NiwgNDAwMDAsIDI1NiwgNDAxODksIDI1NiwgMTk2NjIsIDI1NiwgMTk2OTMsIAotICAgIDI1NiwgNDAyOTUsIDI1NiwgMTcyMjM4LCAyNTYsIDE5NzA0LCAyNTYsIDE3MjI5MywgMjU2LCAxNzI1NTgsIDI1NiwgCi0gICAgMTcyNjg5LCAyNTYsIDQwNjM1LCAyNTYsIDE5Nzk4LCAyNTYsIDQwNjk3LCAyNTYsIDQwNzAyLCAyNTYsIDQwNzA5LCAyNTYsIAotICAgIDQwNzE5LCAyNTYsIDQwNzI2LCAyNTYsIDQwNzYzLCAyNTYsIDE3MzU2OCwgCisgICAgOTc3LCAyNjIsIDEwMDgsIDI2MiwgOTgxLCAyNjIsIDEwMDksIDI2MiwgOTgyLCAyNjIsIDkxMywgMjYyLCA5MTQsIDI2MiwgCisgICAgOTE1LCAyNjIsIDkxNiwgMjYyLCA5MTcsIDI2MiwgOTE4LCAyNjIsIDkxOSwgMjYyLCA5MjAsIDI2MiwgOTIxLCAyNjIsIAorICAgIDkyMiwgMjYyLCA5MjMsIDI2MiwgOTI0LCAyNjIsIDkyNSwgMjYyLCA5MjYsIDI2MiwgOTI3LCAyNjIsIDkyOCwgMjYyLCAKKyAgICA5MjksIDI2MiwgMTAxMiwgMjYyLCA5MzEsIDI2MiwgOTMyLCAyNjIsIDkzMywgMjYyLCA5MzQsIDI2MiwgOTM1LCAyNjIsIAorICAgIDkzNiwgMjYyLCA5MzcsIDI2MiwgODcxMSwgMjYyLCA5NDUsIDI2MiwgOTQ2LCAyNjIsIDk0NywgMjYyLCA5NDgsIDI2MiwgCisgICAgOTQ5LCAyNjIsIDk1MCwgMjYyLCA5NTEsIDI2MiwgOTUyLCAyNjIsIDk1MywgMjYyLCA5NTQsIDI2MiwgOTU1LCAyNjIsIAorICAgIDk1NiwgMjYyLCA5NTcsIDI2MiwgOTU4LCAyNjIsIDk1OSwgMjYyLCA5NjAsIDI2MiwgOTYxLCAyNjIsIDk2MiwgMjYyLCAKKyAgICA5NjMsIDI2MiwgOTY0LCAyNjIsIDk2NSwgMjYyLCA5NjYsIDI2MiwgOTY3LCAyNjIsIDk2OCwgMjYyLCA5NjksIDI2MiwgCisgICAgODcwNiwgMjYyLCAxMDEzLCAyNjIsIDk3NywgMjYyLCAxMDA4LCAyNjIsIDk4MSwgMjYyLCAxMDA5LCAyNjIsIDk4MiwgMjYyLCAKKyAgICA5MTMsIDI2MiwgOTE0LCAyNjIsIDkxNSwgMjYyLCA5MTYsIDI2MiwgOTE3LCAyNjIsIDkxOCwgMjYyLCA5MTksIDI2MiwgCisgICAgOTIwLCAyNjIsIDkyMSwgMjYyLCA5MjIsIDI2MiwgOTIzLCAyNjIsIDkyNCwgMjYyLCA5MjUsIDI2MiwgOTI2LCAyNjIsIAorICAgIDkyNywgMjYyLCA5MjgsIDI2MiwgOTI5LCAyNjIsIDEwMTIsIDI2MiwgOTMxLCAyNjIsIDkzMiwgMjYyLCA5MzMsIDI2MiwgCisgICAgOTM0LCAyNjIsIDkzNSwgMjYyLCA5MzYsIDI2MiwgOTM3LCAyNjIsIDg3MTEsIDI2MiwgOTQ1LCAyNjIsIDk0NiwgMjYyLCAKKyAgICA5NDcsIDI2MiwgOTQ4LCAyNjIsIDk0OSwgMjYyLCA5NTAsIDI2MiwgOTUxLCAyNjIsIDk1MiwgMjYyLCA5NTMsIDI2MiwgCisgICAgOTU0LCAyNjIsIDk1NSwgMjYyLCA5NTYsIDI2MiwgOTU3LCAyNjIsIDk1OCwgMjYyLCA5NTksIDI2MiwgOTYwLCAyNjIsIAorICAgIDk2MSwgMjYyLCA5NjIsIDI2MiwgOTYzLCAyNjIsIDk2NCwgMjYyLCA5NjUsIDI2MiwgOTY2LCAyNjIsIDk2NywgMjYyLCAKKyAgICA5NjgsIDI2MiwgOTY5LCAyNjIsIDg3MDYsIDI2MiwgMTAxMywgMjYyLCA5NzcsIDI2MiwgMTAwOCwgMjYyLCA5ODEsIDI2MiwgCisgICAgMTAwOSwgMjYyLCA5ODIsIDI2MiwgOTEzLCAyNjIsIDkxNCwgMjYyLCA5MTUsIDI2MiwgOTE2LCAyNjIsIDkxNywgMjYyLCAKKyAgICA5MTgsIDI2MiwgOTE5LCAyNjIsIDkyMCwgMjYyLCA5MjEsIDI2MiwgOTIyLCAyNjIsIDkyMywgMjYyLCA5MjQsIDI2MiwgCisgICAgOTI1LCAyNjIsIDkyNiwgMjYyLCA5MjcsIDI2MiwgOTI4LCAyNjIsIDkyOSwgMjYyLCAxMDEyLCAyNjIsIDkzMSwgMjYyLCAKKyAgICA5MzIsIDI2MiwgOTMzLCAyNjIsIDkzNCwgMjYyLCA5MzUsIDI2MiwgOTM2LCAyNjIsIDkzNywgMjYyLCA4NzExLCAyNjIsIAorICAgIDk0NSwgMjYyLCA5NDYsIDI2MiwgOTQ3LCAyNjIsIDk0OCwgMjYyLCA5NDksIDI2MiwgOTUwLCAyNjIsIDk1MSwgMjYyLCAKKyAgICA5NTIsIDI2MiwgOTUzLCAyNjIsIDk1NCwgMjYyLCA5NTUsIDI2MiwgOTU2LCAyNjIsIDk1NywgMjYyLCA5NTgsIDI2MiwgCisgICAgOTU5LCAyNjIsIDk2MCwgMjYyLCA5NjEsIDI2MiwgOTYyLCAyNjIsIDk2MywgMjYyLCA5NjQsIDI2MiwgOTY1LCAyNjIsIAorICAgIDk2NiwgMjYyLCA5NjcsIDI2MiwgOTY4LCAyNjIsIDk2OSwgMjYyLCA4NzA2LCAyNjIsIDEwMTMsIDI2MiwgOTc3LCAyNjIsIAorICAgIDEwMDgsIDI2MiwgOTgxLCAyNjIsIDEwMDksIDI2MiwgOTgyLCAyNjIsIDk4OCwgMjYyLCA5ODksIDI2MiwgNDgsIDI2MiwgCisgICAgNDksIDI2MiwgNTAsIDI2MiwgNTEsIDI2MiwgNTIsIDI2MiwgNTMsIDI2MiwgNTQsIDI2MiwgNTUsIDI2MiwgNTYsIDI2MiwgCisgICAgNTcsIDI2MiwgNDgsIDI2MiwgNDksIDI2MiwgNTAsIDI2MiwgNTEsIDI2MiwgNTIsIDI2MiwgNTMsIDI2MiwgNTQsIDI2MiwgCisgICAgNTUsIDI2MiwgNTYsIDI2MiwgNTcsIDI2MiwgNDgsIDI2MiwgNDksIDI2MiwgNTAsIDI2MiwgNTEsIDI2MiwgNTIsIDI2MiwgCisgICAgNTMsIDI2MiwgNTQsIDI2MiwgNTUsIDI2MiwgNTYsIDI2MiwgNTcsIDI2MiwgNDgsIDI2MiwgNDksIDI2MiwgNTAsIDI2MiwgCisgICAgNTEsIDI2MiwgNTIsIDI2MiwgNTMsIDI2MiwgNTQsIDI2MiwgNTUsIDI2MiwgNTYsIDI2MiwgNTcsIDI2MiwgNDgsIDI2MiwgCisgICAgNDksIDI2MiwgNTAsIDI2MiwgNTEsIDI2MiwgNTIsIDI2MiwgNTMsIDI2MiwgNTQsIDI2MiwgNTUsIDI2MiwgNTYsIDI2MiwgCisgICAgNTcsIDI2MiwgMTU3NSwgMjYyLCAxNTc2LCAyNjIsIDE1ODAsIDI2MiwgMTU4MywgMjYyLCAxNjA4LCAyNjIsIDE1ODYsIAorICAgIDI2MiwgMTU4MSwgMjYyLCAxNTkxLCAyNjIsIDE2MTAsIDI2MiwgMTYwMywgMjYyLCAxNjA0LCAyNjIsIDE2MDUsIDI2MiwgCisgICAgMTYwNiwgMjYyLCAxNTg3LCAyNjIsIDE1OTMsIDI2MiwgMTYwMSwgMjYyLCAxNTg5LCAyNjIsIDE2MDIsIDI2MiwgMTU4NSwgCisgICAgMjYyLCAxNTg4LCAyNjIsIDE1NzgsIDI2MiwgMTU3OSwgMjYyLCAxNTgyLCAyNjIsIDE1ODQsIDI2MiwgMTU5MCwgMjYyLCAKKyAgICAxNTkyLCAyNjIsIDE1OTQsIDI2MiwgMTY0NiwgMjYyLCAxNzIyLCAyNjIsIDE2OTcsIDI2MiwgMTY0NywgMjYyLCAxNTc2LCAKKyAgICAyNjIsIDE1ODAsIDI2MiwgMTYwNywgMjYyLCAxNTgxLCAyNjIsIDE2MTAsIDI2MiwgMTYwMywgMjYyLCAxNjA0LCAyNjIsIAorICAgIDE2MDUsIDI2MiwgMTYwNiwgMjYyLCAxNTg3LCAyNjIsIDE1OTMsIDI2MiwgMTYwMSwgMjYyLCAxNTg5LCAyNjIsIDE2MDIsIAorICAgIDI2MiwgMTU4OCwgMjYyLCAxNTc4LCAyNjIsIDE1NzksIDI2MiwgMTU4MiwgMjYyLCAxNTkwLCAyNjIsIDE1OTQsIDI2MiwgCisgICAgMTU4MCwgMjYyLCAxNTgxLCAyNjIsIDE2MTAsIDI2MiwgMTYwNCwgMjYyLCAxNjA2LCAyNjIsIDE1ODcsIDI2MiwgMTU5MywgCisgICAgMjYyLCAxNTg5LCAyNjIsIDE2MDIsIDI2MiwgMTU4OCwgMjYyLCAxNTgyLCAyNjIsIDE1OTAsIDI2MiwgMTU5NCwgMjYyLCAKKyAgICAxNzIyLCAyNjIsIDE2NDcsIDI2MiwgMTU3NiwgMjYyLCAxNTgwLCAyNjIsIDE2MDcsIDI2MiwgMTU4MSwgMjYyLCAxNTkxLCAKKyAgICAyNjIsIDE2MTAsIDI2MiwgMTYwMywgMjYyLCAxNjA1LCAyNjIsIDE2MDYsIDI2MiwgMTU4NywgMjYyLCAxNTkzLCAyNjIsIAorICAgIDE2MDEsIDI2MiwgMTU4OSwgMjYyLCAxNjAyLCAyNjIsIDE1ODgsIDI2MiwgMTU3OCwgMjYyLCAxNTc5LCAyNjIsIDE1ODIsIAorICAgIDI2MiwgMTU5MCwgMjYyLCAxNTkyLCAyNjIsIDE1OTQsIDI2MiwgMTY0NiwgMjYyLCAxNjk3LCAyNjIsIDE1NzUsIDI2MiwgCisgICAgMTU3NiwgMjYyLCAxNTgwLCAyNjIsIDE1ODMsIDI2MiwgMTYwNywgMjYyLCAxNjA4LCAyNjIsIDE1ODYsIDI2MiwgMTU4MSwgCisgICAgMjYyLCAxNTkxLCAyNjIsIDE2MTAsIDI2MiwgMTYwNCwgMjYyLCAxNjA1LCAyNjIsIDE2MDYsIDI2MiwgMTU4NywgMjYyLCAKKyAgICAxNTkzLCAyNjIsIDE2MDEsIDI2MiwgMTU4OSwgMjYyLCAxNjAyLCAyNjIsIDE1ODUsIDI2MiwgMTU4OCwgMjYyLCAxNTc4LCAKKyAgICAyNjIsIDE1NzksIDI2MiwgMTU4MiwgMjYyLCAxNTg0LCAyNjIsIDE1OTAsIDI2MiwgMTU5MiwgMjYyLCAxNTk0LCAyNjIsIAorICAgIDE1NzYsIDI2MiwgMTU4MCwgMjYyLCAxNTgzLCAyNjIsIDE2MDgsIDI2MiwgMTU4NiwgMjYyLCAxNTgxLCAyNjIsIDE1OTEsIAorICAgIDI2MiwgMTYxMCwgMjYyLCAxNjA0LCAyNjIsIDE2MDUsIDI2MiwgMTYwNiwgMjYyLCAxNTg3LCAyNjIsIDE1OTMsIDI2MiwgCisgICAgMTYwMSwgMjYyLCAxNTg5LCAyNjIsIDE2MDIsIDI2MiwgMTU4NSwgMjYyLCAxNTg4LCAyNjIsIDE1NzgsIDI2MiwgMTU3OSwgCisgICAgMjYyLCAxNTgyLCAyNjIsIDE1ODQsIDI2MiwgMTU5MCwgMjYyLCAxNTkyLCAyNjIsIDE1OTQsIDUxNCwgNDgsIDQ2LCA1MTQsIAorICAgIDQ4LCA0NCwgNTE0LCA0OSwgNDQsIDUxNCwgNTAsIDQ0LCA1MTQsIDUxLCA0NCwgNTE0LCA1MiwgNDQsIDUxNCwgNTMsIDQ0LCAKKyAgICA1MTQsIDU0LCA0NCwgNTE0LCA1NSwgNDQsIDUxNCwgNTYsIDQ0LCA1MTQsIDU3LCA0NCwgNzcwLCA0MCwgNjUsIDQxLCA3NzAsIAorICAgIDQwLCA2NiwgNDEsIDc3MCwgNDAsIDY3LCA0MSwgNzcwLCA0MCwgNjgsIDQxLCA3NzAsIDQwLCA2OSwgNDEsIDc3MCwgNDAsIAorICAgIDcwLCA0MSwgNzcwLCA0MCwgNzEsIDQxLCA3NzAsIDQwLCA3MiwgNDEsIDc3MCwgNDAsIDczLCA0MSwgNzcwLCA0MCwgNzQsIAorICAgIDQxLCA3NzAsIDQwLCA3NSwgNDEsIDc3MCwgNDAsIDc2LCA0MSwgNzcwLCA0MCwgNzcsIDQxLCA3NzAsIDQwLCA3OCwgNDEsIAorICAgIDc3MCwgNDAsIDc5LCA0MSwgNzcwLCA0MCwgODAsIDQxLCA3NzAsIDQwLCA4MSwgNDEsIDc3MCwgNDAsIDgyLCA0MSwgNzcwLCAKKyAgICA0MCwgODMsIDQxLCA3NzAsIDQwLCA4NCwgNDEsIDc3MCwgNDAsIDg1LCA0MSwgNzcwLCA0MCwgODYsIDQxLCA3NzAsIDQwLCAKKyAgICA4NywgNDEsIDc3MCwgNDAsIDg4LCA0MSwgNzcwLCA0MCwgODksIDQxLCA3NzAsIDQwLCA5MCwgNDEsIDc3MCwgMTIzMDgsIAorICAgIDgzLCAxMjMwOSwgMjYzLCA2NywgMjYzLCA4MiwgNTE5LCA2NywgNjgsIDUxOSwgODcsIDkwLCAyNjYsIDY1LCAyNjYsIDY2LCAKKyAgICAyNjYsIDY3LCAyNjYsIDY4LCAyNjYsIDY5LCAyNjYsIDcwLCAyNjYsIDcxLCAyNjYsIDcyLCAyNjYsIDczLCAyNjYsIDc0LCAKKyAgICAyNjYsIDc1LCAyNjYsIDc2LCAyNjYsIDc3LCAyNjYsIDc4LCAyNjYsIDc5LCAyNjYsIDgwLCAyNjYsIDgxLCAyNjYsIDgyLCAKKyAgICAyNjYsIDgzLCAyNjYsIDg0LCAyNjYsIDg1LCAyNjYsIDg2LCAyNjYsIDg3LCAyNjYsIDg4LCAyNjYsIDg5LCAyNjYsIDkwLCAKKyAgICA1MjIsIDcyLCA4NiwgNTIyLCA3NywgODYsIDUyMiwgODMsIDY4LCA1MjIsIDgzLCA4MywgNzc4LCA4MCwgODAsIDg2LCA1MjIsIAorICAgIDg3LCA2NywgNTE1LCA3NywgNjcsIDUxNSwgNzcsIDY4LCA1MjIsIDY4LCA3NCwgNTIyLCAxMjQxMSwgMTIzNjMsIDUyMiwgCisgICAgMTI0NjcsIDEyNDY3LCAyNjYsIDEyNDY5LCAyNjYsIDI1MTYzLCAyNjYsIDIzMzgzLCAyNjYsIDIxNDUyLCAyNjYsIDEyNDg3LCAKKyAgICAyNjYsIDIwMTA4LCAyNjYsIDIyODEwLCAyNjYsIDM1Mjk5LCAyNjYsIDIyODI1LCAyNjYsIDIwMTMyLCAyNjYsIDI2MTQ0LCAKKyAgICAyNjYsIDI4OTYxLCAyNjYsIDI2MDA5LCAyNjYsIDIxMDY5LCAyNjYsIDI0NDYwLCAyNjYsIDIwODc3LCAyNjYsIDI2MDMyLCAKKyAgICAyNjYsIDIxMDIxLCAyNjYsIDMyMDY2LCAyNjYsIDI5OTgzLCAyNjYsIDM2MDA5LCAyNjYsIDIyNzY4LCAyNjYsIDIxNTYxLCAKKyAgICAyNjYsIDI4NDM2LCAyNjYsIDI1MjM3LCAyNjYsIDI1NDI5LCAyNjYsIDE5OTY4LCAyNjYsIDE5OTc3LCAyNjYsIDM2OTM4LCAKKyAgICAyNjYsIDI0MDM4LCAyNjYsIDIwMDEzLCAyNjYsIDIxNDkxLCAyNjYsIDI1MzUxLCAyNjYsIDM2MjA4LCAyNjYsIDI1MTcxLCAKKyAgICAyNjYsIDMxMTA1LCAyNjYsIDMxMzU0LCAyNjYsIDIxNTEyLCAyNjYsIDI4Mjg4LCAyNjYsIDI2Mzc3LCAyNjYsIDI2Mzc2LCAKKyAgICAyNjYsIDMwMDAzLCAyNjYsIDIxMTA2LCAyNjYsIDIxOTQyLCA3NzAsIDEyMzA4LCAyNjQxMiwgMTIzMDksIDc3MCwgMTIzMDgsIAorICAgIDE5OTc3LCAxMjMwOSwgNzcwLCAxMjMwOCwgMjAxMDgsIDEyMzA5LCA3NzAsIDEyMzA4LCAyMzQzMywgMTIzMDksIDc3MCwgCisgICAgMTIzMDgsIDI4ODU3LCAxMjMwOSwgNzcwLCAxMjMwOCwgMjUxNzEsIDEyMzA5LCA3NzAsIDEyMzA4LCAzMDQyMywgMTIzMDksIAorICAgIDc3MCwgMTIzMDgsIDIxMjEzLCAxMjMwOSwgNzcwLCAxMjMwOCwgMjU5NDMsIDEyMzA5LCAyNjMsIDI0NDcxLCAyNjMsIAorICAgIDIxNDg3LCAyNTYsIDIwMDI5LCAyNTYsIDIwMDI0LCAyNTYsIDIwMDMzLCAyNTYsIDEzMTM2MiwgMjU2LCAyMDMyMCwgMjU2LCAKKyAgICAyMDM5OCwgMjU2LCAyMDQxMSwgMjU2LCAyMDQ4MiwgMjU2LCAyMDYwMiwgMjU2LCAyMDYzMywgMjU2LCAyMDcxMSwgMjU2LCAKKyAgICAyMDY4NywgMjU2LCAxMzQ3MCwgMjU2LCAxMzI2NjYsIDI1NiwgMjA4MTMsIDI1NiwgMjA4MjAsIDI1NiwgMjA4MzYsIDI1NiwgCisgICAgMjA4NTUsIDI1NiwgMTMyMzgwLCAyNTYsIDEzNDk3LCAyNTYsIDIwODM5LCAyNTYsIDIwODc3LCAyNTYsIDEzMjQyNywgMjU2LCAKKyAgICAyMDg4NywgMjU2LCAyMDkwMCwgMjU2LCAyMDE3MiwgMjU2LCAyMDkwOCwgMjU2LCAyMDkxNywgMjU2LCAxNjg0MTUsIDI1NiwgCisgICAgMjA5ODEsIDI1NiwgMjA5OTUsIDI1NiwgMTM1MzUsIDI1NiwgMjEwNTEsIDI1NiwgMjEwNjIsIDI1NiwgMjExMDYsIDI1NiwgCisgICAgMjExMTEsIDI1NiwgMTM1ODksIDI1NiwgMjExOTEsIDI1NiwgMjExOTMsIDI1NiwgMjEyMjAsIDI1NiwgMjEyNDIsIDI1NiwgCisgICAgMjEyNTMsIDI1NiwgMjEyNTQsIDI1NiwgMjEyNzEsIDI1NiwgMjEzMjEsIDI1NiwgMjEzMjksIDI1NiwgMjEzMzgsIDI1NiwgCisgICAgMjEzNjMsIDI1NiwgMjEzNzMsIDI1NiwgMjEzNzUsIDI1NiwgMjEzNzUsIDI1NiwgMjEzNzUsIDI1NiwgMTMzNjc2LCAyNTYsIAorICAgIDI4Nzg0LCAyNTYsIDIxNDUwLCAyNTYsIDIxNDcxLCAyNTYsIDEzMzk4NywgMjU2LCAyMTQ4MywgMjU2LCAyMTQ4OSwgMjU2LCAKKyAgICAyMTUxMCwgMjU2LCAyMTY2MiwgMjU2LCAyMTU2MCwgMjU2LCAyMTU3NiwgMjU2LCAyMTYwOCwgMjU2LCAyMTY2NiwgMjU2LCAKKyAgICAyMTc1MCwgMjU2LCAyMTc3NiwgMjU2LCAyMTg0MywgMjU2LCAyMTg1OSwgMjU2LCAyMTg5MiwgMjU2LCAyMTg5MiwgMjU2LCAKKyAgICAyMTkxMywgMjU2LCAyMTkzMSwgMjU2LCAyMTkzOSwgMjU2LCAyMTk1NCwgMjU2LCAyMjI5NCwgMjU2LCAyMjAyMiwgMjU2LCAKKyAgICAyMjI5NSwgMjU2LCAyMjA5NywgMjU2LCAyMjEzMiwgMjU2LCAyMDk5OSwgMjU2LCAyMjc2NiwgMjU2LCAyMjQ3OCwgMjU2LCAKKyAgICAyMjUxNiwgMjU2LCAyMjU0MSwgMjU2LCAyMjQxMSwgMjU2LCAyMjU3OCwgMjU2LCAyMjU3NywgMjU2LCAyMjcwMCwgMjU2LCAKKyAgICAxMzY0MjAsIDI1NiwgMjI3NzAsIDI1NiwgMjI3NzUsIDI1NiwgMjI3OTAsIDI1NiwgMjI4MTAsIDI1NiwgMjI4MTgsIDI1NiwgCisgICAgMjI4ODIsIDI1NiwgMTM2ODcyLCAyNTYsIDEzNjkzOCwgMjU2LCAyMzAyMCwgMjU2LCAyMzA2NywgMjU2LCAyMzA3OSwgMjU2LCAKKyAgICAyMzAwMCwgMjU2LCAyMzE0MiwgMjU2LCAxNDA2MiwgMjU2LCAxNDA3NiwgMjU2LCAyMzMwNCwgMjU2LCAyMzM1OCwgMjU2LCAKKyAgICAyMzM1OCwgMjU2LCAxMzc2NzIsIDI1NiwgMjM0OTEsIDI1NiwgMjM1MTIsIDI1NiwgMjM1MjcsIDI1NiwgMjM1MzksIDI1NiwgCisgICAgMTM4MDA4LCAyNTYsIDIzNTUxLCAyNTYsIDIzNTU4LCAyNTYsIDI0NDAzLCAyNTYsIDIzNTg2LCAyNTYsIDE0MjA5LCAyNTYsIAorICAgIDIzNjQ4LCAyNTYsIDIzNjYyLCAyNTYsIDIzNzQ0LCAyNTYsIDIzNjkzLCAyNTYsIDEzODcyNCwgMjU2LCAyMzg3NSwgMjU2LCAKKyAgICAxMzg3MjYsIDI1NiwgMjM5MTgsIDI1NiwgMjM5MTUsIDI1NiwgMjM5MzIsIDI1NiwgMjQwMzMsIDI1NiwgMjQwMzQsIDI1NiwgCisgICAgMTQzODMsIDI1NiwgMjQwNjEsIDI1NiwgMjQxMDQsIDI1NiwgMjQxMjUsIDI1NiwgMjQxNjksIDI1NiwgMTQ0MzQsIDI1NiwgCisgICAgMTM5NjUxLCAyNTYsIDE0NDYwLCAyNTYsIDI0MjQwLCAyNTYsIDI0MjQzLCAyNTYsIDI0MjQ2LCAyNTYsIDI0MjY2LCAyNTYsIAorICAgIDE3Mjk0NiwgMjU2LCAyNDMxOCwgMjU2LCAxNDAwODEsIDI1NiwgMTQwMDgxLCAyNTYsIDMzMjgxLCAyNTYsIDI0MzU0LCAKKyAgICAyNTYsIDI0MzU0LCAyNTYsIDE0NTM1LCAyNTYsIDE0NDA1NiwgMjU2LCAxNTYxMjIsIDI1NiwgMjQ0MTgsIDI1NiwgMjQ0MjcsIAorICAgIDI1NiwgMTQ1NjMsIDI1NiwgMjQ0NzQsIDI1NiwgMjQ1MjUsIDI1NiwgMjQ1MzUsIDI1NiwgMjQ1NjksIDI1NiwgMjQ3MDUsIAorICAgIDI1NiwgMTQ2NTAsIDI1NiwgMTQ2MjAsIDI1NiwgMjQ3MjQsIDI1NiwgMTQxMDEyLCAyNTYsIDI0Nzc1LCAyNTYsIDI0OTA0LCAKKyAgICAyNTYsIDI0OTA4LCAyNTYsIDI0OTEwLCAyNTYsIDI0OTA4LCAyNTYsIDI0OTU0LCAyNTYsIDI0OTc0LCAyNTYsIDI1MDEwLCAKKyAgICAyNTYsIDI0OTk2LCAyNTYsIDI1MDA3LCAyNTYsIDI1MDU0LCAyNTYsIDI1MDc0LCAyNTYsIDI1MDc4LCAyNTYsIDI1MTA0LCAKKyAgICAyNTYsIDI1MTE1LCAyNTYsIDI1MTgxLCAyNTYsIDI1MjY1LCAyNTYsIDI1MzAwLCAyNTYsIDI1NDI0LCAyNTYsIDE0MjA5MiwgCisgICAgMjU2LCAyNTQwNSwgMjU2LCAyNTM0MCwgMjU2LCAyNTQ0OCwgMjU2LCAyNTQ3NSwgMjU2LCAyNTU3MiwgMjU2LCAxNDIzMjEsIAorICAgIDI1NiwgMjU2MzQsIDI1NiwgMjU1NDEsIDI1NiwgMjU1MTMsIDI1NiwgMTQ4OTQsIDI1NiwgMjU3MDUsIDI1NiwgMjU3MjYsIAorICAgIDI1NiwgMjU3NTcsIDI1NiwgMjU3MTksIDI1NiwgMTQ5NTYsIDI1NiwgMjU5MzUsIDI1NiwgMjU5NjQsIDI1NiwgMTQzMzcwLCAKKyAgICAyNTYsIDI2MDgzLCAyNTYsIDI2MzYwLCAyNTYsIDI2MTg1LCAyNTYsIDE1MTI5LCAyNTYsIDI2MjU3LCAyNTYsIDE1MTEyLCAKKyAgICAyNTYsIDE1MDc2LCAyNTYsIDIwODgyLCAyNTYsIDIwODg1LCAyNTYsIDI2MzY4LCAyNTYsIDI2MjY4LCAyNTYsIDMyOTQxLCAKKyAgICAyNTYsIDE3MzY5LCAyNTYsIDI2MzkxLCAyNTYsIDI2Mzk1LCAyNTYsIDI2NDAxLCAyNTYsIDI2NDYyLCAyNTYsIDI2NDUxLCAKKyAgICAyNTYsIDE0NDMyMywgMjU2LCAxNTE3NywgMjU2LCAyNjYxOCwgMjU2LCAyNjUwMSwgMjU2LCAyNjcwNiwgMjU2LCAyNjc1NywgCisgICAgMjU2LCAxNDQ0OTMsIDI1NiwgMjY3NjYsIDI1NiwgMjY2NTUsIDI1NiwgMjY5MDAsIDI1NiwgMTUyNjEsIDI1NiwgMjY5NDYsIAorICAgIDI1NiwgMjcwNDMsIDI1NiwgMjcxMTQsIDI1NiwgMjczMDQsIDI1NiwgMTQ1MDU5LCAyNTYsIDI3MzU1LCAyNTYsIDE1Mzg0LCAKKyAgICAyNTYsIDI3NDI1LCAyNTYsIDE0NTU3NSwgMjU2LCAyNzQ3NiwgMjU2LCAxNTQzOCwgMjU2LCAyNzUwNiwgMjU2LCAyNzU1MSwgCisgICAgMjU2LCAyNzU3OCwgMjU2LCAyNzU3OSwgMjU2LCAxNDYwNjEsIDI1NiwgMTM4NTA3LCAyNTYsIDE0NjE3MCwgMjU2LCAKKyAgICAyNzcyNiwgMjU2LCAxNDY2MjAsIDI1NiwgMjc4MzksIDI1NiwgMjc4NTMsIDI1NiwgMjc3NTEsIDI1NiwgMjc5MjYsIDI1NiwgCisgICAgMjc5NjYsIDI1NiwgMjgwMjMsIDI1NiwgMjc5NjksIDI1NiwgMjgwMDksIDI1NiwgMjgwMjQsIDI1NiwgMjgwMzcsIDI1NiwgCisgICAgMTQ2NzE4LCAyNTYsIDI3OTU2LCAyNTYsIDI4MjA3LCAyNTYsIDI4MjcwLCAyNTYsIDE1NjY3LCAyNTYsIDI4MzYzLCAyNTYsIAorICAgIDI4MzU5LCAyNTYsIDE0NzE1MywgMjU2LCAyODE1MywgMjU2LCAyODUyNiwgMjU2LCAxNDcyOTQsIDI1NiwgMTQ3MzQyLCAKKyAgICAyNTYsIDI4NjE0LCAyNTYsIDI4NzI5LCAyNTYsIDI4NzAyLCAyNTYsIDI4Njk5LCAyNTYsIDE1NzY2LCAyNTYsIDI4NzQ2LCAKKyAgICAyNTYsIDI4Nzk3LCAyNTYsIDI4NzkxLCAyNTYsIDI4ODQ1LCAyNTYsIDEzMjM4OSwgMjU2LCAyODk5NywgMjU2LCAxNDgwNjcsIAorICAgIDI1NiwgMjkwODQsIDI1NiwgMTQ4Mzk1LCAyNTYsIDI5MjI0LCAyNTYsIDI5MjM3LCAyNTYsIDI5MjY0LCAyNTYsIDE0OTAwMCwgCisgICAgMjU2LCAyOTMxMiwgMjU2LCAyOTMzMywgMjU2LCAxNDkzMDEsIDI1NiwgMTQ5NTI0LCAyNTYsIDI5NTYyLCAyNTYsIDI5NTc5LCAKKyAgICAyNTYsIDE2MDQ0LCAyNTYsIDI5NjA1LCAyNTYsIDE2MDU2LCAyNTYsIDE2MDU2LCAyNTYsIDI5NzY3LCAyNTYsIDI5Nzg4LCAKKyAgICAyNTYsIDI5ODA5LCAyNTYsIDI5ODI5LCAyNTYsIDI5ODk4LCAyNTYsIDE2MTU1LCAyNTYsIDI5OTg4LCAyNTYsIDE1MDU4MiwgCisgICAgMjU2LCAzMDAxNCwgMjU2LCAxNTA2NzQsIDI1NiwgMzAwNjQsIDI1NiwgMTM5Njc5LCAyNTYsIDMwMjI0LCAyNTYsIAorICAgIDE1MTQ1NywgMjU2LCAxNTE0ODAsIDI1NiwgMTUxNjIwLCAyNTYsIDE2MzgwLCAyNTYsIDE2MzkyLCAyNTYsIDMwNDUyLCAKKyAgICAyNTYsIDE1MTc5NSwgMjU2LCAxNTE3OTQsIDI1NiwgMTUxODMzLCAyNTYsIDE1MTg1OSwgMjU2LCAzMDQ5NCwgMjU2LCAKKyAgICAzMDQ5NSwgMjU2LCAzMDQ5NSwgMjU2LCAzMDUzOCwgMjU2LCAxNjQ0MSwgMjU2LCAzMDYwMywgMjU2LCAxNjQ1NCwgMjU2LCAKKyAgICAxNjUzNCwgMjU2LCAxNTI2MDUsIDI1NiwgMzA3OTgsIDI1NiwgMzA4NjAsIDI1NiwgMzA5MjQsIDI1NiwgMTY2MTEsIDI1NiwgCisgICAgMTUzMTI2LCAyNTYsIDMxMDYyLCAyNTYsIDE1MzI0MiwgMjU2LCAxNTMyODUsIDI1NiwgMzExMTksIDI1NiwgMzEyMTEsIAorICAgIDI1NiwgMTY2ODcsIDI1NiwgMzEyOTYsIDI1NiwgMzEzMDYsIDI1NiwgMzEzMTEsIDI1NiwgMTUzOTgwLCAyNTYsIDE1NDI3OSwgCisgICAgMjU2LCAxNTQyNzksIDI1NiwgMzE0NzAsIDI1NiwgMTY4OTgsIDI1NiwgMTU0NTM5LCAyNTYsIDMxNjg2LCAyNTYsIDMxNjg5LCAKKyAgICAyNTYsIDE2OTM1LCAyNTYsIDE1NDc1MiwgMjU2LCAzMTk1NCwgMjU2LCAxNzA1NiwgMjU2LCAzMTk3NiwgMjU2LCAzMTk3MSwgCisgICAgMjU2LCAzMjAwMCwgMjU2LCAxNTU1MjYsIDI1NiwgMzIwOTksIDI1NiwgMTcxNTMsIDI1NiwgMzIxOTksIDI1NiwgMzIyNTgsIAorICAgIDI1NiwgMzIzMjUsIDI1NiwgMTcyMDQsIDI1NiwgMTU2MjAwLCAyNTYsIDE1NjIzMSwgMjU2LCAxNzI0MSwgMjU2LCAKKyAgICAxNTYzNzcsIDI1NiwgMzI2MzQsIDI1NiwgMTU2NDc4LCAyNTYsIDMyNjYxLCAyNTYsIDMyNzYyLCAyNTYsIDMyNzczLCAyNTYsIAorICAgIDE1Njg5MCwgMjU2LCAxNTY5NjMsIDI1NiwgMzI4NjQsIDI1NiwgMTU3MDk2LCAyNTYsIDMyODgwLCAyNTYsIDE0NDIyMywgCisgICAgMjU2LCAxNzM2NSwgMjU2LCAzMjk0NiwgMjU2LCAzMzAyNywgMjU2LCAxNzQxOSwgMjU2LCAzMzA4NiwgMjU2LCAyMzIyMSwgCisgICAgMjU2LCAxNTc2MDcsIDI1NiwgMTU3NjIxLCAyNTYsIDE0NDI3NSwgMjU2LCAxNDQyODQsIDI1NiwgMzMyODEsIDI1NiwgCisgICAgMzMyODQsIDI1NiwgMzY3NjYsIDI1NiwgMTc1MTUsIDI1NiwgMzM0MjUsIDI1NiwgMzM0MTksIDI1NiwgMzM0MzcsIDI1NiwgCisgICAgMjExNzEsIDI1NiwgMzM0NTcsIDI1NiwgMzM0NTksIDI1NiwgMzM0NjksIDI1NiwgMzM1MTAsIDI1NiwgMTU4NTI0LCAyNTYsIAorICAgIDMzNTA5LCAyNTYsIDMzNTY1LCAyNTYsIDMzNjM1LCAyNTYsIDMzNzA5LCAyNTYsIDMzNTcxLCAyNTYsIDMzNzI1LCAyNTYsIAorICAgIDMzNzY3LCAyNTYsIDMzODc5LCAyNTYsIDMzNjE5LCAyNTYsIDMzNzM4LCAyNTYsIDMzNzQwLCAyNTYsIDMzNzU2LCAyNTYsIAorICAgIDE1ODc3NCwgMjU2LCAxNTkwODMsIDI1NiwgMTU4OTMzLCAyNTYsIDE3NzA3LCAyNTYsIDM0MDMzLCAyNTYsIDM0MDM1LCAKKyAgICAyNTYsIDM0MDcwLCAyNTYsIDE2MDcxNCwgMjU2LCAzNDE0OCwgMjU2LCAxNTk1MzIsIDI1NiwgMTc3NTcsIDI1NiwgMTc3NjEsIAorICAgIDI1NiwgMTU5NjY1LCAyNTYsIDE1OTk1NCwgMjU2LCAxNzc3MSwgMjU2LCAzNDM4NCwgMjU2LCAzNDM5NiwgMjU2LCAzNDQwNywgCisgICAgMjU2LCAzNDQwOSwgMjU2LCAzNDQ3MywgMjU2LCAzNDQ0MCwgMjU2LCAzNDU3NCwgMjU2LCAzNDUzMCwgMjU2LCAzNDY4MSwgCisgICAgMjU2LCAzNDYwMCwgMjU2LCAzNDY2NywgMjU2LCAzNDY5NCwgMjU2LCAxNzg3OSwgMjU2LCAzNDc4NSwgMjU2LCAzNDgxNywgCisgICAgMjU2LCAxNzkxMywgMjU2LCAzNDkxMiwgMjU2LCAzNDkxNSwgMjU2LCAxNjEzODMsIDI1NiwgMzUwMzEsIDI1NiwgMzUwMzgsIAorICAgIDI1NiwgMTc5NzMsIDI1NiwgMzUwNjYsIDI1NiwgMTM0OTksIDI1NiwgMTYxOTY2LCAyNTYsIDE2MjE1MCwgMjU2LCAxODExMCwgCisgICAgMjU2LCAxODExOSwgMjU2LCAzNTQ4OCwgMjU2LCAzNTU2NSwgMjU2LCAzNTcyMiwgMjU2LCAzNTkyNSwgMjU2LCAxNjI5ODQsIAorICAgIDI1NiwgMzYwMTEsIDI1NiwgMzYwMzMsIDI1NiwgMzYxMjMsIDI1NiwgMzYyMTUsIDI1NiwgMTYzNjMxLCAyNTYsIDEzMzEyNCwgCisgICAgMjU2LCAzNjI5OSwgMjU2LCAzNjI4NCwgMjU2LCAzNjMzNiwgMjU2LCAxMzMzNDIsIDI1NiwgMzY1NjQsIDI1NiwgMzY2NjQsIAorICAgIDI1NiwgMTY1MzMwLCAyNTYsIDE2NTM1NywgMjU2LCAzNzAxMiwgMjU2LCAzNzEwNSwgMjU2LCAzNzEzNywgMjU2LCAKKyAgICAxNjU2NzgsIDI1NiwgMzcxNDcsIDI1NiwgMzc0MzIsIDI1NiwgMzc1OTEsIDI1NiwgMzc1OTIsIDI1NiwgMzc1MDAsIDI1NiwgCisgICAgMzc4ODEsIDI1NiwgMzc5MDksIDI1NiwgMTY2OTA2LCAyNTYsIDM4MjgzLCAyNTYsIDE4ODM3LCAyNTYsIDM4MzI3LCAyNTYsIAorICAgIDE2NzI4NywgMjU2LCAxODkxOCwgMjU2LCAzODU5NSwgMjU2LCAyMzk4NiwgMjU2LCAzODY5MSwgMjU2LCAxNjgyNjEsIDI1NiwgCisgICAgMTY4NDc0LCAyNTYsIDE5MDU0LCAyNTYsIDE5MDYyLCAyNTYsIDM4ODgwLCAyNTYsIDE2ODk3MCwgMjU2LCAxOTEyMiwgMjU2LCAKKyAgICAxNjkxMTAsIDI1NiwgMzg5MjMsIDI1NiwgMzg5MjMsIDI1NiwgMzg5NTMsIDI1NiwgMTY5Mzk4LCAyNTYsIDM5MTM4LCAyNTYsIAorICAgIDE5MjUxLCAyNTYsIDM5MjA5LCAyNTYsIDM5MzM1LCAyNTYsIDM5MzYyLCAyNTYsIDM5NDIyLCAyNTYsIDE5NDA2LCAyNTYsIAorICAgIDE3MDgwMCwgMjU2LCAzOTY5OCwgMjU2LCA0MDAwMCwgMjU2LCA0MDE4OSwgMjU2LCAxOTY2MiwgMjU2LCAxOTY5MywgMjU2LCAKKyAgICA0MDI5NSwgMjU2LCAxNzIyMzgsIDI1NiwgMTk3MDQsIDI1NiwgMTcyMjkzLCAyNTYsIDE3MjU1OCwgMjU2LCAxNzI2ODksIAorICAgIDI1NiwgNDA2MzUsIDI1NiwgMTk3OTgsIDI1NiwgNDA2OTcsIDI1NiwgNDA3MDIsIDI1NiwgNDA3MDksIDI1NiwgNDA3MTksIAorICAgIDI1NiwgNDA3MjYsIDI1NiwgNDA3NjMsIDI1NiwgMTczNTY4LCAKIH07CiAKIC8qIGluZGV4IHRhYmxlcyBmb3IgdGhlIGRlY29tcG9zaXRpb24gZGF0YSAqLwotI2RlZmluZSBERUNPTVBfU0hJRlQgOAorI2RlZmluZSBERUNPTVBfU0hJRlQgNwogc3RhdGljIHVuc2lnbmVkIGNoYXIgZGVjb21wX2luZGV4MVtdID0gewotICAgIDAsIDEsIDIsIDMsIDQsIDUsIDYsIDcsIDcsIDgsIDksIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDE2LCA3LCAxNywgMTgsIDE5LCAyMCwgMjEsIDIyLCAyMywgMjQsIDcsIDcsIDcsIDcsIDcsIDI1LCAKLSAgICA3LCAyNiwgMjcsIDI4LCAyOSwgMzAsIDMxLCAzMiwgMzMsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDM0LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAzNSwgMzYsIDM3LCAzOCwgMzksIDQwLCAKLSAgICA0MSwgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNDIsIDQzLCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA0NCwgNywgNywgNDUsIAotICAgIDQ2LCA0NywgNDgsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDQ5LCA3LCA3LCA1MCwgNTEsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDUyLCA1MywgNTQsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAorICAgIDAsIDEsIDIsIDMsIDQsIDUsIDYsIDcsIDgsIDksIDAsIDEwLCAxMSwgMTIsIDAsIDAsIDAsIDAsIDEzLCAxNCwgMTUsIDAsIAorICAgIDE2LCAxNywgMTgsIDE5LCAyMCwgMjEsIDIyLCAyMywgMjQsIDI1LCAyNiwgMjcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI4LCAwLCAwLCAwLCAyOSwgMzAsIDMxLCAzMiwgMzMsIDM0LCAKKyAgICAzNSwgMzYsIDM3LCAzOCwgMzksIDQwLCA0MSwgMCwgNDIsIDQzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0NCwgCisgICAgNDUsIDAsIDAsIDQ2LCAwLCA0NywgMCwgMCwgNDgsIDQ5LCA1MCwgNTEsIDUyLCA1MywgNTQsIDU1LCA1NiwgNTcsIDU4LCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1OSwgNjAsIDYxLCAwLCAwLCAwLCAwLCAwLCAwLCA2MiwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjMsIDY0LCA2NSwgNjYsIDY3LCA2OCwgNjksIDcwLCA3MSwgNzIsIDczLCAKKyAgICA3NCwgNzUsIDc2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA3NywgNzgsIDAsIDAsIDAsIDc5LCAwLCAwLCA4MCwgMCwgCisgICAgODEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDgyLCA4MywgMCwgMCwgMCwgMCwgODQsIDg1LCAKKyAgICA4NiwgODcsIDg4LCA4OSwgOTAsIDkxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCA5MiwgOTMsIDAsIDAsIDAsIDAsIDk0LCA5NSwgOTYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDk3LCA5OCwgOTksIDEwMCwgMTAxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKIH07CiAKIHN0YXRpYyB1bnNpZ25lZCBzaG9ydCBkZWNvbXBfaW5kZXgyW10gPSB7CkBAIC0zOTc4LDM4ICs0NDUzLDIyIEBACiAgICAgMCwgMCwgMCwgMCwgMTA2NiwgMTA2OSwgMTA3MiwgMTA3NSwgMCwgMCwgMTA3OCwgMTA4MSwgMCwgMCwgMTA4NCwgMTA4NywgCiAgICAgMTA5MCwgMTA5MywgMTA5NiwgMTA5OSwgMCwgMCwgMTEwMiwgMTEwNSwgMTEwOCwgMTExMSwgMTExNCwgMTExNywgMCwgMCwgCiAgICAgMTEyMCwgMTEyMywgMTEyNiwgMTEyOSwgMTEzMiwgMTEzNSwgMTEzOCwgMTE0MSwgMTE0NCwgMTE0NywgMTE1MCwgMTE1MywgCi0gICAgMCwgMCwgMTE1NiwgMTE1OSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMTE2MiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTE2NSwgMTE2OCwgMTE3MSwgMTE3NCwgCi0gICAgMTE3NywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTE4MCwgMTE4MywgMTE4NiwgMTE4OSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTE5MiwgMCwgMTE5NSwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTE5OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMTE1NiwgMTE1OSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTE2MiwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTE2NSwgMTE2OCwgMTE3MSwgMTE3NCwgMTE3NywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMTE4MCwgMTE4MywgMTE4NiwgMTE4OSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTE5MiwgMCwgMTE5NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMTE5OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTIwMSwgMCwgMCwgMCwgCkBAIC00MDMxLDE5MSArNDQ5MCwxNzUgQEAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAxMjY3LCAwLCAwLCAxMjcwLCAxMjczLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAxMjc2LCAxMjc5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMjgyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMjg1LCAxMjg4LCAxMjkxLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMjY3LCAwLCAwLCAxMjcwLCAxMjczLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMjc2LCAxMjc5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMjgyLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAxMjg1LCAxMjg4LCAxMjkxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAxMjk0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMjk0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMjk3LCAwLCAwLCAwLCAwLCAwLCAwLCAxMzAwLCAxMzAzLCAwLCAKLSAgICAxMzA2LCAxMzA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMzEyLCAxMzE1LCAxMzE4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAxMjk3LCAwLCAwLCAwLCAwLCAwLCAwLCAxMzAwLCAxMzAzLCAwLCAxMzA2LCAxMzA5LCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMzIxLCAwLCAxMzI0LCAxMzI3LCAxMzMwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMzMzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAxMzEyLCAxMzE1LCAxMzE4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMzM2LCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMzM5LCAxMzQyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAxMzIxLCAwLCAxMzI0LCAxMzI3LCAxMzMwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMzQ1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAxMzMzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMzM2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAxMzM5LCAxMzQyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMzQ1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMzQ3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAxMzUwLCAwLCAwLCAwLCAwLCAxMzUzLCAwLCAwLCAwLCAwLCAxMzU2LCAwLCAwLCAwLCAwLCAxMzU5LCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMzYyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMzY1LCAwLCAKKyAgICAxMzY4LCAxMzcxLCAxMzc0LCAxMzc3LCAxMzgwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMzgzLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMzg2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAxMzg5LCAwLCAwLCAwLCAwLCAxMzkyLCAwLCAwLCAwLCAwLCAxMzk1LCAwLCAwLCAwLCAwLCAxMzk4LCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNDAxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNDA0LCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNDA3LCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNDA5LCAwLCAxNDEyLCAwLCAxNDE1LCAwLCAxNDE4LCAwLCAxNDIxLCAwLCAwLCAKKyAgICAwLCAxNDI0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNDI3LCAwLCAxNDMwLCAKKyAgICAwLCAwLCAxNDMzLCAxNDM2LCAwLCAxNDM5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNDQyLCAxNDQ0LCAxNDQ2LCAwLCAKKyAgICAxNDQ4LCAxNDUwLCAxNDUyLCAxNDU0LCAxNDU2LCAxNDU4LCAxNDYwLCAxNDYyLCAxNDY0LCAxNDY2LCAxNDY4LCAwLCAKKyAgICAxNDcwLCAxNDcyLCAxNDc0LCAxNDc2LCAxNDc4LCAxNDgwLCAxNDgyLCAxNDg0LCAxNDg2LCAxNDg4LCAxNDkwLCAxNDkyLCAKKyAgICAxNDk0LCAxNDk2LCAxNDk4LCAxNTAwLCAxNTAyLCAxNTA0LCAwLCAxNTA2LCAxNTA4LCAxNTEwLCAxNTEyLCAxNTE0LCAKKyAgICAxNTE2LCAxNTE4LCAxNTIwLCAxNTIyLCAxNTI0LCAxNTI2LCAxNTI4LCAxNTMwLCAxNTMyLCAxNTM0LCAxNTM2LCAxNTM4LCAKKyAgICAxNTQwLCAxNTQyLCAxNTQ0LCAxNTQ2LCAxNTQ4LCAxNTUwLCAxNTUyLCAxNTU0LCAxNTU2LCAxNTU4LCAxNTYwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNTYyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAxMzQ3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMzUwLCAwLCAwLCAwLCAwLCAxMzUzLCAwLCAwLCAwLCAwLCAKLSAgICAxMzU2LCAwLCAwLCAwLCAwLCAxMzU5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMzYyLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMzY1LCAwLCAxMzY4LCAxMzcxLCAxMzc0LCAxMzc3LCAxMzgwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAxMzgzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMzg2LCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMzg5LCAwLCAwLCAwLCAwLCAxMzkyLCAwLCAwLCAwLCAwLCAxMzk1LCAwLCAKLSAgICAwLCAwLCAwLCAxMzk4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNDAxLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAxNTY0LCAxNTY2LCAxNTY4LCAxNTcwLCAxNTcyLCAxNTc0LCAxNTc2LCAxNTc4LCAxNTgwLCAxNTgyLCAxNTg0LCAxNTg2LCAKKyAgICAxNTg4LCAxNTkwLCAxNTkyLCAxNTk0LCAxNTk2LCAxNTk4LCAxNjAwLCAxNjAyLCAxNjA0LCAxNjA2LCAxNjA4LCAxNjEwLCAKKyAgICAxNjEyLCAxNjE0LCAxNjE2LCAxNjE4LCAxNjIwLCAxNjIyLCAxNjI0LCAxNjI2LCAxNjI4LCAxNjMwLCAxNjMyLCAxNjM0LCAKKyAgICAxNjM2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNjM4LCAxNjQxLCAxNjQ0LCAKKyAgICAxNjQ3LCAxNjUwLCAxNjUzLCAxNjU2LCAxNjU5LCAxNjYyLCAxNjY1LCAxNjY4LCAxNjcxLCAxNjc0LCAxNjc3LCAxNjgwLCAKKyAgICAxNjgzLCAxNjg2LCAxNjg5LCAxNjkyLCAxNjk1LCAxNjk4LCAxNzAxLCAxNzA0LCAxNzA3LCAxNzEwLCAxNzEzLCAxNzE2LCAKKyAgICAxNzE5LCAxNzIyLCAxNzI1LCAxNzI4LCAxNzMxLCAxNzM0LCAxNzM3LCAxNzQwLCAxNzQzLCAxNzQ2LCAxNzQ5LCAxNzUyLCAKKyAgICAxNzU1LCAxNzU4LCAxNzYxLCAxNzY0LCAxNzY3LCAxNzcwLCAxNzczLCAxNzc2LCAxNzc5LCAxNzgyLCAxNzg1LCAxNzg4LCAKKyAgICAxNzkxLCAxNzk0LCAxNzk3LCAxODAwLCAxODAzLCAxODA2LCAxODA5LCAxODEyLCAxODE1LCAxODE4LCAxODIxLCAxODI0LCAKKyAgICAxODI3LCAxODMwLCAxODMzLCAxODM2LCAxODM5LCAxODQyLCAxODQ1LCAxODQ4LCAxODUxLCAxODU0LCAxODU3LCAxODYwLCAKKyAgICAxODYzLCAxODY2LCAxODY5LCAxODcyLCAxODc1LCAxODc4LCAxODgxLCAxODg0LCAxODg3LCAxODkwLCAxODkzLCAxODk2LCAKKyAgICAxODk5LCAxOTAyLCAxOTA1LCAxOTA4LCAxOTExLCAxOTE0LCAxOTE3LCAxOTIwLCAxOTIzLCAxOTI2LCAxOTI5LCAxOTMyLCAKKyAgICAxOTM1LCAxOTM4LCAxOTQxLCAxOTQ0LCAxOTQ3LCAxOTUwLCAxOTUzLCAxOTU2LCAxOTU5LCAxOTYyLCAxOTY1LCAxOTY4LCAKKyAgICAxOTcxLCAxOTc0LCAxOTc3LCAxOTgwLCAxOTgzLCAxOTg2LCAxOTg5LCAxOTkyLCAxOTk1LCAxOTk4LCAyMDAxLCAyMDA0LCAKKyAgICAyMDA3LCAyMDEwLCAyMDEzLCAyMDE2LCAyMDE5LCAyMDIyLCAyMDI1LCAyMDI4LCAyMDMxLCAyMDM0LCAyMDM3LCAyMDQwLCAKKyAgICAyMDQzLCAyMDQ2LCAyMDQ5LCAyMDUyLCAyMDU1LCAyMDU4LCAyMDYxLCAyMDY0LCAyMDY3LCAyMDcwLCAyMDczLCAyMDc2LCAKKyAgICAyMDc5LCAyMDgyLCAyMDg1LCAyMDg4LCAyMDkxLCAyMDk0LCAyMDk3LCAyMTAwLCAyMTAzLCAwLCAwLCAwLCAwLCAyMTA2LCAKKyAgICAyMTA5LCAyMTEyLCAyMTE1LCAyMTE4LCAyMTIxLCAyMTI0LCAyMTI3LCAyMTMwLCAyMTMzLCAyMTM2LCAyMTM5LCAyMTQyLCAKKyAgICAyMTQ1LCAyMTQ4LCAyMTUxLCAyMTU0LCAyMTU3LCAyMTYwLCAyMTYzLCAyMTY2LCAyMTY5LCAyMTcyLCAyMTc1LCAyMTc4LCAKKyAgICAyMTgxLCAyMTg0LCAyMTg3LCAyMTkwLCAyMTkzLCAyMTk2LCAyMTk5LCAyMjAyLCAyMjA1LCAyMjA4LCAyMjExLCAyMjE0LCAKKyAgICAyMjE3LCAyMjIwLCAyMjIzLCAyMjI2LCAyMjI5LCAyMjMyLCAyMjM1LCAyMjM4LCAyMjQxLCAyMjQ0LCAyMjQ3LCAyMjUwLCAKKyAgICAyMjUzLCAyMjU2LCAyMjU5LCAyMjYyLCAyMjY1LCAyMjY4LCAyMjcxLCAyMjc0LCAyMjc3LCAyMjgwLCAyMjgzLCAyMjg2LCAKKyAgICAyMjg5LCAyMjkyLCAyMjk1LCAyMjk4LCAyMzAxLCAyMzA0LCAyMzA3LCAyMzEwLCAyMzEzLCAyMzE2LCAyMzE5LCAyMzIyLCAKKyAgICAyMzI1LCAyMzI4LCAyMzMxLCAyMzM0LCAyMzM3LCAyMzQwLCAyMzQzLCAyMzQ2LCAyMzQ5LCAyMzUyLCAyMzU1LCAyMzU4LCAKKyAgICAyMzYxLCAyMzY0LCAyMzY3LCAyMzcwLCAyMzczLCAwLCAwLCAwLCAwLCAwLCAwLCAyMzc2LCAyMzc5LCAyMzgyLCAyMzg1LCAKKyAgICAyMzg4LCAyMzkxLCAyMzk0LCAyMzk3LCAyNDAwLCAyNDAzLCAyNDA2LCAyNDA5LCAyNDEyLCAyNDE1LCAyNDE4LCAyNDIxLCAKKyAgICAyNDI0LCAyNDI3LCAyNDMwLCAyNDMzLCAyNDM2LCAyNDM5LCAwLCAwLCAyNDQyLCAyNDQ1LCAyNDQ4LCAyNDUxLCAyNDU0LCAKKyAgICAyNDU3LCAwLCAwLCAyNDYwLCAyNDYzLCAyNDY2LCAyNDY5LCAyNDcyLCAyNDc1LCAyNDc4LCAyNDgxLCAyNDg0LCAyNDg3LCAKKyAgICAyNDkwLCAyNDkzLCAyNDk2LCAyNDk5LCAyNTAyLCAyNTA1LCAyNTA4LCAyNTExLCAyNTE0LCAyNTE3LCAyNTIwLCAyNTIzLCAKKyAgICAyNTI2LCAyNTI5LCAyNTMyLCAyNTM1LCAyNTM4LCAyNTQxLCAyNTQ0LCAyNTQ3LCAyNTUwLCAyNTUzLCAyNTU2LCAyNTU5LCAKKyAgICAyNTYyLCAyNTY1LCAyNTY4LCAyNTcxLCAwLCAwLCAyNTc0LCAyNTc3LCAyNTgwLCAyNTgzLCAyNTg2LCAyNTg5LCAwLCAwLCAKKyAgICAyNTkyLCAyNTk1LCAyNTk4LCAyNjAxLCAyNjA0LCAyNjA3LCAyNjEwLCAyNjEzLCAwLCAyNjE2LCAwLCAyNjE5LCAwLCAKKyAgICAyNjIyLCAwLCAyNjI1LCAyNjI4LCAyNjMxLCAyNjM0LCAyNjM3LCAyNjQwLCAyNjQzLCAyNjQ2LCAyNjQ5LCAyNjUyLCAKKyAgICAyNjU1LCAyNjU4LCAyNjYxLCAyNjY0LCAyNjY3LCAyNjcwLCAyNjczLCAyNjc2LCAyNjc5LCAyNjgxLCAyNjg0LCAyNjg2LCAKKyAgICAyNjg5LCAyNjkxLCAyNjk0LCAyNjk2LCAyNjk5LCAyNzAxLCAyNzA0LCAyNzA2LCAyNzA5LCAwLCAwLCAyNzExLCAyNzE0LCAKKyAgICAyNzE3LCAyNzIwLCAyNzIzLCAyNzI2LCAyNzI5LCAyNzMyLCAyNzM1LCAyNzM4LCAyNzQxLCAyNzQ0LCAyNzQ3LCAyNzUwLCAKKyAgICAyNzUzLCAyNzU2LCAyNzU5LCAyNzYyLCAyNzY1LCAyNzY4LCAyNzcxLCAyNzc0LCAyNzc3LCAyNzgwLCAyNzgzLCAyNzg2LCAKKyAgICAyNzg5LCAyNzkyLCAyNzk1LCAyNzk4LCAyODAxLCAyODA0LCAyODA3LCAyODEwLCAyODEzLCAyODE2LCAyODE5LCAyODIyLCAKKyAgICAyODI1LCAyODI4LCAyODMxLCAyODM0LCAyODM3LCAyODQwLCAyODQzLCAyODQ2LCAyODQ5LCAyODUyLCAyODU1LCAyODU4LCAKKyAgICAyODYxLCAyODY0LCAyODY3LCAwLCAyODcwLCAyODczLCAyODc2LCAyODc5LCAyODgyLCAyODg1LCAyODg3LCAyODkwLCAKKyAgICAyODkzLCAyODk1LCAyODk4LCAyOTAxLCAyOTA0LCAyOTA3LCAyOTEwLCAwLCAyOTEzLCAyOTE2LCAyOTE5LCAyOTIyLCAKKyAgICAyOTI0LCAyOTI3LCAyOTI5LCAyOTMyLCAyOTM1LCAyOTM4LCAyOTQxLCAyOTQ0LCAyOTQ3LCAyOTUwLCAwLCAwLCAyOTUyLCAKKyAgICAyOTU1LCAyOTU4LCAyOTYxLCAyOTY0LCAyOTY3LCAwLCAyOTY5LCAyOTcyLCAyOTc1LCAyOTc4LCAyOTgxLCAyOTg0LCAKKyAgICAyOTg3LCAyOTg5LCAyOTkyLCAyOTk1LCAyOTk4LCAzMDAxLCAzMDA0LCAzMDA3LCAzMDEwLCAzMDEyLCAzMDE1LCAzMDE4LCAKKyAgICAzMDIwLCAwLCAwLCAzMDIyLCAzMDI1LCAzMDI4LCAwLCAzMDMxLCAzMDM0LCAzMDM3LCAzMDQwLCAzMDQyLCAzMDQ1LCAKKyAgICAzMDQ3LCAzMDUwLCAzMDUyLCAwLCAzMDU1LCAzMDU3LCAzMDU5LCAzMDYxLCAzMDYzLCAzMDY1LCAzMDY3LCAzMDY5LCAKKyAgICAzMDcxLCAzMDczLCAzMDc1LCAwLCAwLCAwLCAwLCAwLCAwLCAzMDc3LCAwLCAwLCAwLCAwLCAwLCAzMDc5LCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzMDgyLCAzMDg0LCAzMDg3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAzMDkxLCAwLCAwLCAwLCAzMDkzLCAzMDk2LCAwLCAzMTAwLCAzMTAzLCAwLCAwLCAwLCAwLCAzMTA3LCAwLCAzMTEwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzMTEzLCAzMTE2LCAzMTE5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAzMTIyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzMTI3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAzMTI5LCAzMTMxLCAwLCAwLCAzMTMzLCAzMTM1LCAzMTM3LCAzMTM5LCAzMTQxLCAzMTQzLCAKKyAgICAzMTQ1LCAzMTQ3LCAzMTQ5LCAzMTUxLCAzMTUzLCAzMTU1LCAzMTU3LCAzMTU5LCAzMTYxLCAzMTYzLCAzMTY1LCAzMTY3LCAKKyAgICAzMTY5LCAzMTcxLCAzMTczLCAzMTc1LCAzMTc3LCAzMTc5LCAzMTgxLCAzMTgzLCAzMTg1LCAwLCAzMTg3LCAzMTg5LCAKKyAgICAzMTkxLCAzMTkzLCAzMTk1LCAzMTk3LCAzMTk5LCAzMjAxLCAzMjAzLCAzMjA1LCAzMjA3LCAzMjA5LCAzMjExLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzMjEzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAzMjE2LCAzMjIwLCAzMjI0LCAzMjI2LCAwLCAzMjI5LCAzMjMzLCAzMjM3LCAwLCAzMjM5LCAzMjQyLCAzMjQ0LCAKKyAgICAzMjQ2LCAzMjQ4LCAzMjUwLCAzMjUyLCAzMjU0LCAzMjU2LCAzMjU4LCAzMjYwLCAwLCAzMjYyLCAzMjY0LCAwLCAwLCAKKyAgICAzMjY3LCAzMjY5LCAzMjcxLCAzMjczLCAzMjc1LCAwLCAwLCAzMjc3LCAzMjgwLCAzMjg0LCAwLCAzMjg3LCAwLCAzMjg5LCAKKyAgICAwLCAzMjkxLCAwLCAzMjkzLCAzMjk1LCAzMjk3LCAzMjk5LCAwLCAzMzAxLCAzMzAzLCAzMzA1LCAwLCAzMzA3LCAzMzA5LCAKKyAgICAzMzExLCAzMzEzLCAzMzE1LCAzMzE3LCAzMzE5LCAwLCAzMzIxLCAzMzI1LCAzMzI3LCAzMzI5LCAzMzMxLCAzMzMzLCAwLCAKKyAgICAwLCAwLCAwLCAzMzM1LCAzMzM3LCAzMzM5LCAzMzQxLCAzMzQzLCAwLCAwLCAwLCAwLCAwLCAwLCAzMzQ1LCAzMzQ5LCAKKyAgICAzMzUzLCAzMzU4LCAzMzYyLCAzMzY2LCAzMzcwLCAzMzc0LCAzMzc4LCAzMzgyLCAzMzg2LCAzMzkwLCAzMzk0LCAzMzk4LCAKKyAgICAzNDAyLCAzNDA2LCAzNDA5LCAzNDExLCAzNDE0LCAzNDE4LCAzNDIxLCAzNDIzLCAzNDI2LCAzNDMwLCAzNDM1LCAzNDM4LCAKKyAgICAzNDQwLCAzNDQzLCAzNDQ3LCAzNDQ5LCAzNDUxLCAzNDUzLCAzNDU1LCAzNDU3LCAzNDYwLCAzNDY0LCAzNDY3LCAzNDY5LCAKKyAgICAzNDcyLCAzNDc2LCAzNDgxLCAzNDg0LCAzNDg2LCAzNDg5LCAzNDkzLCAzNDk1LCAzNDk3LCAzNDk5LCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAzNTAxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAzNTA1LCAzNTA4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzNTExLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNDA0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAzNTE0LCAzNTE3LCAzNTIwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzNTIzLCAwLCAwLCAwLCAwLCAzNTI2LCAKKyAgICAwLCAwLCAzNTI5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAzNTMyLCAwLCAzNTM1LCAwLCAwLCAwLCAwLCAwLCAzNTM4LCAzNTQxLCAwLCAzNTQ1LCAzNTQ4LCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzNTUyLCAwLCAwLCAzNTU1LCAwLCAwLCAzNTU4LCAKKyAgICAwLCAzNTYxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAzNTY0LCAwLCAzNTY3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzNTcwLCAzNTczLCAzNTc2LCAzNTc5LCAKKyAgICAzNTgyLCAwLCAwLCAzNTg1LCAzNTg4LCAwLCAwLCAzNTkxLCAzNTk0LCAwLCAwLCAwLCAwLCAwLCAwLCAzNTk3LCAzNjAwLCAKKyAgICAwLCAwLCAzNjAzLCAzNjA2LCAwLCAwLCAzNjA5LCAzNjEyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzNjE1LCAKKyAgICAzNjE4LCAzNjIxLCAzNjI0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAzNjI3LCAzNjMwLCAzNjMzLCAzNjM2LCAwLCAwLCAwLCAwLCAwLCAwLCAzNjM5LCAzNjQyLCAKKyAgICAzNjQ1LCAzNjQ4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAxNDA3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNDA5LCAwLCAxNDEyLCAwLCAKLSAgICAxNDE1LCAwLCAxNDE4LCAwLCAxNDIxLCAwLCAwLCAwLCAxNDI0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAxNDI3LCAwLCAxNDMwLCAwLCAwLCAxNDMzLCAxNDM2LCAwLCAxNDM5LCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNDQyLCAxNDQ0LCAxNDQ2LCAwLCAxNDQ4LCAxNDUwLCAxNDUyLCAKLSAgICAxNDU0LCAxNDU2LCAxNDU4LCAxNDYwLCAxNDYyLCAxNDY0LCAxNDY2LCAxNDY4LCAwLCAxNDcwLCAxNDcyLCAxNDc0LCAKLSAgICAxNDc2LCAxNDc4LCAxNDgwLCAxNDgyLCAxNDg0LCAxNDg2LCAxNDg4LCAxNDkwLCAxNDkyLCAxNDk0LCAxNDk2LCAxNDk4LCAKLSAgICAxNTAwLCAxNTAyLCAxNTA0LCAwLCAxNTA2LCAxNTA4LCAxNTEwLCAxNTEyLCAxNTE0LCAxNTE2LCAxNTE4LCAxNTIwLCAKLSAgICAxNTIyLCAxNTI0LCAxNTI2LCAxNTI4LCAxNTMwLCAxNTMyLCAxNTM0LCAxNTM2LCAxNTM4LCAxNTQwLCAxNTQyLCAxNTQ0LCAKLSAgICAxNTQ2LCAxNTQ4LCAxNTUwLCAxNTUyLCAxNTU0LCAxNTU2LCAxNTU4LCAxNTYwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAxNTYyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNTY0LCAxNTY2LCAxNTY4LCAKLSAgICAxNTcwLCAxNTcyLCAxNTc0LCAxNTc2LCAxNTc4LCAxNTgwLCAxNTgyLCAxNTg0LCAxNTg2LCAxNTg4LCAxNTkwLCAxNTkyLCAKLSAgICAxNTk0LCAxNTk2LCAxNTk4LCAxNjAwLCAxNjAyLCAxNjA0LCAxNjA2LCAxNjA4LCAxNjEwLCAxNjEyLCAxNjE0LCAxNjE2LCAKLSAgICAxNjE4LCAxNjIwLCAxNjIyLCAxNjI0LCAxNjI2LCAxNjI4LCAxNjMwLCAxNjMyLCAxNjM0LCAxNjM2LCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNjM4LCAxNjQxLCAxNjQ0LCAxNjQ3LCAxNjUwLCAxNjUzLCAKLSAgICAxNjU2LCAxNjU5LCAxNjYyLCAxNjY1LCAxNjY4LCAxNjcxLCAxNjc0LCAxNjc3LCAxNjgwLCAxNjgzLCAxNjg2LCAxNjg5LCAKLSAgICAxNjkyLCAxNjk1LCAxNjk4LCAxNzAxLCAxNzA0LCAxNzA3LCAxNzEwLCAxNzEzLCAxNzE2LCAxNzE5LCAxNzIyLCAxNzI1LCAKLSAgICAxNzI4LCAxNzMxLCAxNzM0LCAxNzM3LCAxNzQwLCAxNzQzLCAxNzQ2LCAxNzQ5LCAxNzUyLCAxNzU1LCAxNzU4LCAxNzYxLCAKLSAgICAxNzY0LCAxNzY3LCAxNzcwLCAxNzczLCAxNzc2LCAxNzc5LCAxNzgyLCAxNzg1LCAxNzg4LCAxNzkxLCAxNzk0LCAxNzk3LCAKLSAgICAxODAwLCAxODAzLCAxODA2LCAxODA5LCAxODEyLCAxODE1LCAxODE4LCAxODIxLCAxODI0LCAxODI3LCAxODMwLCAxODMzLCAKLSAgICAxODM2LCAxODM5LCAxODQyLCAxODQ1LCAxODQ4LCAxODUxLCAxODU0LCAxODU3LCAxODYwLCAxODYzLCAxODY2LCAxODY5LCAKLSAgICAxODcyLCAxODc1LCAxODc4LCAxODgxLCAxODg0LCAxODg3LCAxODkwLCAxODkzLCAxODk2LCAxODk5LCAxOTAyLCAxOTA1LCAKLSAgICAxOTA4LCAxOTExLCAxOTE0LCAxOTE3LCAxOTIwLCAxOTIzLCAxOTI2LCAxOTI5LCAxOTMyLCAxOTM1LCAxOTM4LCAxOTQxLCAKLSAgICAxOTQ0LCAxOTQ3LCAxOTUwLCAxOTUzLCAxOTU2LCAxOTU5LCAxOTYyLCAxOTY1LCAxOTY4LCAxOTcxLCAxOTc0LCAxOTc3LCAKLSAgICAxOTgwLCAxOTgzLCAxOTg2LCAxOTg5LCAxOTkyLCAxOTk1LCAxOTk4LCAyMDAxLCAyMDA0LCAyMDA3LCAyMDEwLCAyMDEzLCAKLSAgICAyMDE2LCAyMDE5LCAyMDIyLCAyMDI1LCAyMDI4LCAyMDMxLCAyMDM0LCAyMDM3LCAyMDQwLCAyMDQzLCAyMDQ2LCAyMDQ5LCAKLSAgICAyMDUyLCAyMDU1LCAyMDU4LCAyMDYxLCAyMDY0LCAyMDY3LCAyMDcwLCAyMDczLCAyMDc2LCAyMDc5LCAyMDgyLCAyMDg1LCAKLSAgICAyMDg4LCAyMDkxLCAyMDk0LCAyMDk3LCAyMTAwLCAyMTAzLCAwLCAwLCAwLCAwLCAyMTA2LCAyMTA5LCAyMTEyLCAyMTE1LCAKLSAgICAyMTE4LCAyMTIxLCAyMTI0LCAyMTI3LCAyMTMwLCAyMTMzLCAyMTM2LCAyMTM5LCAyMTQyLCAyMTQ1LCAyMTQ4LCAyMTUxLCAKLSAgICAyMTU0LCAyMTU3LCAyMTYwLCAyMTYzLCAyMTY2LCAyMTY5LCAyMTcyLCAyMTc1LCAyMTc4LCAyMTgxLCAyMTg0LCAyMTg3LCAKLSAgICAyMTkwLCAyMTkzLCAyMTk2LCAyMTk5LCAyMjAyLCAyMjA1LCAyMjA4LCAyMjExLCAyMjE0LCAyMjE3LCAyMjIwLCAyMjIzLCAKLSAgICAyMjI2LCAyMjI5LCAyMjMyLCAyMjM1LCAyMjM4LCAyMjQxLCAyMjQ0LCAyMjQ3LCAyMjUwLCAyMjUzLCAyMjU2LCAyMjU5LCAKLSAgICAyMjYyLCAyMjY1LCAyMjY4LCAyMjcxLCAyMjc0LCAyMjc3LCAyMjgwLCAyMjgzLCAyMjg2LCAyMjg5LCAyMjkyLCAyMjk1LCAKLSAgICAyMjk4LCAyMzAxLCAyMzA0LCAyMzA3LCAyMzEwLCAyMzEzLCAyMzE2LCAyMzE5LCAyMzIyLCAyMzI1LCAyMzI4LCAyMzMxLCAKLSAgICAyMzM0LCAyMzM3LCAyMzQwLCAyMzQzLCAyMzQ2LCAyMzQ5LCAyMzUyLCAyMzU1LCAyMzU4LCAyMzYxLCAyMzY0LCAyMzY3LCAKLSAgICAyMzcwLCAyMzczLCAwLCAwLCAwLCAwLCAwLCAwLCAyMzc2LCAyMzc5LCAyMzgyLCAyMzg1LCAyMzg4LCAyMzkxLCAyMzk0LCAKLSAgICAyMzk3LCAyNDAwLCAyNDAzLCAyNDA2LCAyNDA5LCAyNDEyLCAyNDE1LCAyNDE4LCAyNDIxLCAyNDI0LCAyNDI3LCAyNDMwLCAKLSAgICAyNDMzLCAyNDM2LCAyNDM5LCAwLCAwLCAyNDQyLCAyNDQ1LCAyNDQ4LCAyNDUxLCAyNDU0LCAyNDU3LCAwLCAwLCAyNDYwLCAKLSAgICAyNDYzLCAyNDY2LCAyNDY5LCAyNDcyLCAyNDc1LCAyNDc4LCAyNDgxLCAyNDg0LCAyNDg3LCAyNDkwLCAyNDkzLCAyNDk2LCAKLSAgICAyNDk5LCAyNTAyLCAyNTA1LCAyNTA4LCAyNTExLCAyNTE0LCAyNTE3LCAyNTIwLCAyNTIzLCAyNTI2LCAyNTI5LCAyNTMyLCAKLSAgICAyNTM1LCAyNTM4LCAyNTQxLCAyNTQ0LCAyNTQ3LCAyNTUwLCAyNTUzLCAyNTU2LCAyNTU5LCAyNTYyLCAyNTY1LCAyNTY4LCAKLSAgICAyNTcxLCAwLCAwLCAyNTc0LCAyNTc3LCAyNTgwLCAyNTgzLCAyNTg2LCAyNTg5LCAwLCAwLCAyNTkyLCAyNTk1LCAyNTk4LCAKLSAgICAyNjAxLCAyNjA0LCAyNjA3LCAyNjEwLCAyNjEzLCAwLCAyNjE2LCAwLCAyNjE5LCAwLCAyNjIyLCAwLCAyNjI1LCAyNjI4LCAKLSAgICAyNjMxLCAyNjM0LCAyNjM3LCAyNjQwLCAyNjQzLCAyNjQ2LCAyNjQ5LCAyNjUyLCAyNjU1LCAyNjU4LCAyNjYxLCAyNjY0LCAKLSAgICAyNjY3LCAyNjcwLCAyNjczLCAyNjc2LCAyNjc5LCAyNjgxLCAyNjg0LCAyNjg2LCAyNjg5LCAyNjkxLCAyNjk0LCAyNjk2LCAKLSAgICAyNjk5LCAyNzAxLCAyNzA0LCAyNzA2LCAyNzA5LCAwLCAwLCAyNzExLCAyNzE0LCAyNzE3LCAyNzIwLCAyNzIzLCAyNzI2LCAKLSAgICAyNzI5LCAyNzMyLCAyNzM1LCAyNzM4LCAyNzQxLCAyNzQ0LCAyNzQ3LCAyNzUwLCAyNzUzLCAyNzU2LCAyNzU5LCAyNzYyLCAKLSAgICAyNzY1LCAyNzY4LCAyNzcxLCAyNzc0LCAyNzc3LCAyNzgwLCAyNzgzLCAyNzg2LCAyNzg5LCAyNzkyLCAyNzk1LCAyNzk4LCAKLSAgICAyODAxLCAyODA0LCAyODA3LCAyODEwLCAyODEzLCAyODE2LCAyODE5LCAyODIyLCAyODI1LCAyODI4LCAyODMxLCAyODM0LCAKLSAgICAyODM3LCAyODQwLCAyODQzLCAyODQ2LCAyODQ5LCAyODUyLCAyODU1LCAyODU4LCAyODYxLCAyODY0LCAyODY3LCAwLCAKLSAgICAyODcwLCAyODczLCAyODc2LCAyODc5LCAyODgyLCAyODg1LCAyODg3LCAyODkwLCAyODkzLCAyODk1LCAyODk4LCAyOTAxLCAKLSAgICAyOTA0LCAyOTA3LCAyOTEwLCAwLCAyOTEzLCAyOTE2LCAyOTE5LCAyOTIyLCAyOTI0LCAyOTI3LCAyOTI5LCAyOTMyLCAKLSAgICAyOTM1LCAyOTM4LCAyOTQxLCAyOTQ0LCAyOTQ3LCAyOTUwLCAwLCAwLCAyOTUyLCAyOTU1LCAyOTU4LCAyOTYxLCAyOTY0LCAKLSAgICAyOTY3LCAwLCAyOTY5LCAyOTcyLCAyOTc1LCAyOTc4LCAyOTgxLCAyOTg0LCAyOTg3LCAyOTg5LCAyOTkyLCAyOTk1LCAKLSAgICAyOTk4LCAzMDAxLCAzMDA0LCAzMDA3LCAzMDEwLCAzMDEyLCAzMDE1LCAzMDE4LCAzMDIwLCAwLCAwLCAzMDIyLCAzMDI1LCAKLSAgICAzMDI4LCAwLCAzMDMxLCAzMDM0LCAzMDM3LCAzMDQwLCAzMDQyLCAzMDQ1LCAzMDQ3LCAzMDUwLCAzMDUyLCAwLCAzMDU1LCAKLSAgICAzMDU3LCAzMDU5LCAzMDYxLCAzMDYzLCAzMDY1LCAzMDY3LCAzMDY5LCAzMDcxLCAzMDczLCAzMDc1LCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAzMDc3LCAwLCAwLCAwLCAwLCAwLCAzMDc5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAzMDgyLCAzMDg0LCAzMDg3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzMDkxLCAwLCAwLCAwLCAzMDkzLCAzMDk2LCAwLCAKLSAgICAzMTAwLCAzMTAzLCAwLCAwLCAwLCAwLCAzMTA3LCAwLCAzMTEwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzMTEzLCAKLSAgICAzMTE2LCAzMTE5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzMTIyLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAzMTI3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzMTI5LCAzMTMxLCAKLSAgICAwLCAwLCAzMTMzLCAzMTM1LCAzMTM3LCAzMTM5LCAzMTQxLCAzMTQzLCAzMTQ1LCAzMTQ3LCAzMTQ5LCAzMTUxLCAzMTUzLCAKLSAgICAzMTU1LCAzMTU3LCAzMTU5LCAzMTYxLCAzMTYzLCAzMTY1LCAzMTY3LCAzMTY5LCAzMTcxLCAzMTczLCAzMTc1LCAzMTc3LCAKLSAgICAzMTc5LCAzMTgxLCAzMTgzLCAzMTg1LCAwLCAzMTg3LCAzMTg5LCAzMTkxLCAzMTkzLCAzMTk1LCAzMTk3LCAzMTk5LCAKLSAgICAzMjAxLCAzMjAzLCAzMjA1LCAzMjA3LCAzMjA5LCAzMjExLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAzMjEzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzMjE2LCAzMjIwLCAzMjI0LCAKLSAgICAzMjI2LCAwLCAzMjI5LCAzMjMzLCAzMjM3LCAwLCAzMjM5LCAzMjQyLCAzMjQ0LCAzMjQ2LCAzMjQ4LCAzMjUwLCAzMjUyLCAKLSAgICAzMjU0LCAzMjU2LCAzMjU4LCAzMjYwLCAwLCAzMjYyLCAzMjY0LCAwLCAwLCAzMjY3LCAzMjY5LCAzMjcxLCAzMjczLCAKLSAgICAzMjc1LCAwLCAwLCAzMjc3LCAzMjgwLCAzMjg0LCAwLCAzMjg3LCAwLCAzMjg5LCAwLCAzMjkxLCAwLCAzMjkzLCAzMjk1LCAKLSAgICAzMjk3LCAzMjk5LCAwLCAzMzAxLCAzMzAzLCAzMzA1LCAwLCAzMzA3LCAzMzA5LCAzMzExLCAzMzEzLCAzMzE1LCAzMzE3LCAKLSAgICAzMzE5LCAwLCAzMzIxLCAzMzI1LCAzMzI3LCAzMzI5LCAzMzMxLCAzMzMzLCAwLCAwLCAwLCAwLCAzMzM1LCAzMzM3LCAKLSAgICAzMzM5LCAzMzQxLCAzMzQzLCAwLCAwLCAwLCAwLCAwLCAwLCAzMzQ1LCAzMzQ5LCAzMzUzLCAzMzU4LCAzMzYyLCAzMzY2LCAKLSAgICAzMzcwLCAzMzc0LCAzMzc4LCAzMzgyLCAzMzg2LCAzMzkwLCAzMzk0LCAzMzk4LCAzNDAyLCAzNDA2LCAzNDA5LCAzNDExLCAKLSAgICAzNDE0LCAzNDE4LCAzNDIxLCAzNDIzLCAzNDI2LCAzNDMwLCAzNDM1LCAzNDM4LCAzNDQwLCAzNDQzLCAzNDQ3LCAzNDQ5LCAKLSAgICAzNDUxLCAzNDUzLCAzNDU1LCAzNDU3LCAzNDYwLCAzNDY0LCAzNDY3LCAzNDY5LCAzNDcyLCAzNDc2LCAzNDgxLCAzNDg0LCAKLSAgICAzNDg2LCAzNDg5LCAzNDkzLCAzNDk1LCAzNDk3LCAzNDk5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzNTAxLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzNTA1LCAzNTA4LCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzNTExLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzNTE0LCAKLSAgICAzNTE3LCAzNTIwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzNTIzLCAwLCAwLCAwLCAwLCAzNTI2LCAwLCAwLCAzNTI5LCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzNTMyLCAwLCAzNTM1LCAKLSAgICAwLCAwLCAwLCAwLCAwLCAzNTM4LCAzNTQxLCAwLCAzNTQ1LCAzNTQ4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAzNTUyLCAwLCAwLCAzNTU1LCAwLCAwLCAzNTU4LCAwLCAzNTYxLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzNTY0LCAwLCAzNTY3LCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzNTcwLCAzNTczLCAzNTc2LCAzNTc5LCAzNTgyLCAwLCAwLCAzNTg1LCAzNTg4LCAKLSAgICAwLCAwLCAzNTkxLCAzNTk0LCAwLCAwLCAwLCAwLCAwLCAwLCAzNTk3LCAzNjAwLCAwLCAwLCAzNjAzLCAzNjA2LCAwLCAwLCAKLSAgICAzNjA5LCAzNjEyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzNjE1LCAzNjE4LCAzNjIxLCAzNjI0LCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzNjI3LCAKLSAgICAzNjMwLCAzNjMzLCAzNjM2LCAwLCAwLCAwLCAwLCAwLCAwLCAzNjM5LCAzNjQyLCAzNjQ1LCAzNjQ4LCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzNjUxLCAzNjUzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzNjUxLCAzNjUzLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKQEAgLTQyNTYsMjMgKzQ2OTksNyBAQAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDQxMDEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQxMDEsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQxMDMsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIApAQCAtNDM3MCwxNzIgKzQ3OTcsNyBAQAogICAgIDY1MzAsIDY1MzMsIDY1MzYsIDY1MzksIDY1NDIsIDY1NDUsIDY1NDgsIDY1NTEsIDY1NTQsIDY1NTgsIDY1NjIsIDY1NjYsIAogICAgIDY1NzAsIDY1NzQsIDY1NzgsIDY1ODIsIDY1ODYsIDY1OTAsIDY1OTQsIDY1OTgsIDY2MDIsIDY2MDYsIDY2MTAsIDY2MTQsIAogICAgIDY2MTgsIDY2MjIsIDY2MjYsIDY2MzAsIDY2MzQsIDY2MzgsIDY2NDIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDY2NDYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDY2NDgsIDY2NTAsIDAsIDAsIDAsIDAsIDAsIDAsIDY2NTIsIDY2NTQsIDY2NTYsIDY2NTgsIDY2NjAsIDY2NjIsIDY2NjQsIAotICAgIDY2NjYsIDY2NjgsIDY2NzAsIDY2NzIsIDY2NzQsIDY2NzYsIDY2NzgsIDY2ODAsIDY2ODIsIDY2ODQsIDY2ODYsIDY2ODgsIAotICAgIDY2OTAsIDY2OTIsIDY2OTQsIDY2OTYsIDY2OTgsIDY3MDAsIDY3MDIsIDY3MDQsIDY3MDYsIDY3MDgsIDY3MTAsIDY3MTIsIAotICAgIDY3MTQsIDY3MTYsIDY3MTgsIDY3MjAsIDY3MjIsIDY3MjQsIDY3MjYsIDY3MjgsIDY3MzAsIDY3MzIsIDY3MzQsIDY3MzYsIAotICAgIDY3MzgsIDY3NDAsIDY3NDIsIDY3NDQsIDY3NDYsIDY3NDgsIDY3NTAsIDY3NTIsIDY3NTQsIDY3NTYsIDY3NTgsIDY3NjAsIAotICAgIDY3NjIsIDY3NjQsIDY3NjYsIDY3NjgsIDY3NzAsIDY3NzIsIDY3NzQsIDY3NzYsIDY3NzgsIDY3ODAsIDY3ODIsIDY3ODQsIAotICAgIDY3ODYsIDY3ODgsIDY3OTAsIDY3OTIsIDY3OTQsIDY3OTYsIDY3OTgsIDY4MDAsIDY4MDIsIDY4MDQsIDY4MDYsIDY4MDgsIAotICAgIDY4MTAsIDY4MTIsIDY4MTQsIDY4MTYsIDY4MTgsIDY4MjAsIDY4MjIsIDY4MjQsIDY4MjYsIDY4MjgsIDY4MzAsIDY4MzIsIAotICAgIDY4MzQsIDY4MzYsIDY4MzgsIDY4NDAsIDY4NDIsIDY4NDQsIDY4NDYsIDY4NDgsIDY4NTAsIDY4NTIsIDY4NTQsIDY4NTYsIAotICAgIDY4NTgsIDY4NjAsIDY4NjIsIDY4NjQsIDY4NjYsIDY4NjgsIDY4NzAsIDY4NzIsIDY4NzQsIDY4NzYsIDY4NzgsIDY4ODAsIAotICAgIDY4ODIsIDY4ODQsIDY4ODYsIDY4ODgsIDY4OTAsIDY4OTIsIDY4OTQsIDY4OTYsIDY4OTgsIDY5MDAsIDY5MDIsIDY5MDQsIAotICAgIDY5MDYsIDY5MDgsIDY5MTAsIDY5MTIsIDY5MTQsIDY5MTYsIDY5MTgsIDY5MjAsIDY5MjIsIDY5MjQsIDY5MjYsIDY5MjgsIAotICAgIDY5MzAsIDY5MzIsIDY5MzQsIDY5MzYsIDY5MzgsIDY5NDAsIDY5NDIsIDY5NDQsIDY5NDYsIDY5NDgsIDY5NTAsIDY5NTIsIAotICAgIDY5NTQsIDY5NTYsIDY5NTgsIDY5NjAsIDY5NjIsIDY5NjQsIDY5NjYsIDY5NjgsIDY5NzAsIDY5NzIsIDY5NzQsIDY5NzYsIAotICAgIDY5NzgsIDY5ODAsIDY5ODIsIDY5ODQsIDY5ODYsIDY5ODgsIDY5OTAsIDY5OTIsIDY5OTQsIDY5OTYsIDY5OTgsIDcwMDAsIAotICAgIDcwMDIsIDcwMDQsIDcwMDYsIDcwMDgsIDcwMTAsIDcwMTIsIDcwMTQsIDcwMTYsIDcwMTgsIDcwMjAsIDcwMjIsIDcwMjQsIAotICAgIDcwMjYsIDcwMjgsIDcwMzAsIDcwMzIsIDcwMzQsIDcwMzYsIDcwMzgsIDcwNDAsIDcwNDIsIDcwNDQsIDcwNDYsIDcwNDgsIAotICAgIDcwNTAsIDcwNTIsIDcwNTQsIDcwNTYsIDcwNTgsIDcwNjAsIDcwNjIsIDcwNjQsIDcwNjYsIDcwNjgsIDcwNzAsIDcwNzIsIAotICAgIDcwNzQsIDcwNzYsIDcwNzgsIDcwODAsIDcwODIsIDcwODQsIDcwODYsIDcwODgsIDcwOTAsIDcwOTIsIDcwOTQsIDcwOTYsIAotICAgIDcwOTgsIDcxMDAsIDcxMDIsIDcxMDQsIDcxMDYsIDcxMDgsIDcxMTAsIDcxMTIsIDcxMTQsIDcxMTYsIDcxMTgsIDcxMjAsIAotICAgIDcxMjIsIDcxMjQsIDcxMjYsIDcxMjgsIDcxMzAsIDcxMzIsIDcxMzQsIDcxMzYsIDcxMzgsIDcxNDAsIDcxNDIsIDcxNDQsIAotICAgIDcxNDYsIDcxNDgsIDcxNTAsIDcxNTIsIDcxNTQsIDcxNTYsIDcxNTgsIDcxNjAsIDcxNjIsIDcxNjQsIDcxNjYsIDcxNjgsIAotICAgIDcxNzAsIDcxNzIsIDcxNzQsIDcxNzYsIDcxNzgsIDcxODAsIDcxODIsIDcxODQsIDcxODYsIDcxODgsIDcxOTAsIDAsIDAsIAotICAgIDcxOTIsIDAsIDcxOTQsIDAsIDAsIDcxOTYsIDcxOTgsIDcyMDAsIDcyMDIsIDcyMDQsIDcyMDYsIDcyMDgsIDcyMTAsIAotICAgIDcyMTIsIDcyMTQsIDAsIDcyMTYsIDAsIDcyMTgsIDAsIDAsIDcyMjAsIDcyMjIsIDAsIDAsIDAsIDcyMjQsIDcyMjYsIAotICAgIDcyMjgsIDcyMzAsIDcyMzIsIDcyMzQsIDcyMzYsIDcyMzgsIDcyNDAsIDcyNDIsIDcyNDQsIDcyNDYsIDcyNDgsIDcyNTAsIAotICAgIDcyNTIsIDcyNTQsIDcyNTYsIDcyNTgsIDcyNjAsIDcyNjIsIDcyNjQsIDcyNjYsIDcyNjgsIDcyNzAsIDcyNzIsIDcyNzQsIAotICAgIDcyNzYsIDcyNzgsIDcyODAsIDcyODIsIDcyODQsIDcyODYsIDcyODgsIDcyOTAsIDcyOTIsIDcyOTQsIDcyOTYsIDcyOTgsIAotICAgIDczMDAsIDczMDIsIDczMDQsIDczMDYsIDczMDgsIDczMTAsIDczMTIsIDczMTQsIDczMTYsIDczMTgsIDczMjAsIDczMjIsIAotICAgIDczMjQsIDczMjYsIDczMjgsIDczMzAsIDczMzIsIDczMzQsIDczMzYsIDczMzgsIDczNDAsIDczNDIsIDczNDQsIDczNDYsIAotICAgIDczNDgsIDczNTAsIDczNTIsIDczNTQsIDczNTYsIDczNTgsIDAsIDAsIDczNjAsIDczNjIsIDczNjQsIDczNjYsIDczNjgsIAotICAgIDczNzAsIDczNzIsIDczNzQsIDczNzYsIDczNzgsIDczODAsIDczODIsIDczODQsIDczODYsIDczODgsIDczOTAsIDczOTIsIAotICAgIDczOTQsIDczOTYsIDczOTgsIDc0MDAsIDc0MDIsIDc0MDQsIDc0MDYsIDc0MDgsIDc0MTAsIDc0MTIsIDc0MTQsIDc0MTYsIAotICAgIDc0MTgsIDc0MjAsIDc0MjIsIDc0MjQsIDc0MjYsIDc0MjgsIDc0MzAsIDc0MzIsIDc0MzQsIDc0MzYsIDc0MzgsIDc0NDAsIAotICAgIDc0NDIsIDc0NDQsIDc0NDYsIDc0NDgsIDc0NTAsIDc0NTIsIDc0NTQsIDc0NTYsIDc0NTgsIDc0NjAsIDc0NjIsIDc0NjQsIAotICAgIDc0NjYsIDc0NjgsIDc0NzAsIDc0NzIsIDc0NzQsIDc0NzYsIDc0NzgsIDc0ODAsIDc0ODIsIDc0ODQsIDc0ODYsIDc0ODgsIAotICAgIDc0OTAsIDc0OTIsIDc0OTQsIDc0OTYsIDc0OTgsIDc1MDAsIDc1MDIsIDc1MDQsIDc1MDYsIDc1MDgsIDc1MTAsIDc1MTIsIAotICAgIDc1MTQsIDc1MTYsIDc1MTgsIDc1MjAsIDc1MjIsIDc1MjQsIDc1MjYsIDc1MjgsIDc1MzAsIDc1MzIsIDc1MzQsIDc1MzYsIAotICAgIDc1MzgsIDc1NDAsIDc1NDIsIDc1NDQsIDc1NDYsIDc1NDgsIDc1NTAsIDc1NTIsIDc1NTQsIDc1NTYsIDc1NTgsIDc1NjAsIAotICAgIDc1NjIsIDc1NjQsIDc1NjYsIDc1NjgsIDc1NzAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDc1NzIsIDc1NzUsIDc1NzgsIDc1ODEsIDc1ODUsIDc1ODksIDc1OTIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDc1OTUsIDc1OTgsIDc2MDEsIDc2MDQsIDc2MDcsIDAsIDAsIDAsIDAsIDAsIDc2MTAsIDAsIDc2MTMsIDc2MTYsIAotICAgIDc2MTgsIDc2MjAsIDc2MjIsIDc2MjQsIDc2MjYsIDc2MjgsIDc2MzAsIDc2MzIsIDc2MzQsIDc2MzYsIDc2MzksIDc2NDIsIAotICAgIDc2NDUsIDc2NDgsIDc2NTEsIDc2NTQsIDc2NTcsIDc2NjAsIDc2NjMsIDc2NjYsIDc2NjksIDc2NzIsIDAsIDc2NzUsIAotICAgIDc2NzgsIDc2ODEsIDc2ODQsIDc2ODcsIDAsIDc2OTAsIDAsIDc2OTMsIDc2OTYsIDAsIDc2OTksIDc3MDIsIDAsIDc3MDUsIAotICAgIDc3MDgsIDc3MTEsIDc3MTQsIDc3MTcsIDc3MjAsIDc3MjMsIDc3MjYsIDc3MjksIDc3MzIsIDc3MzUsIDc3MzcsIDc3MzksIAotICAgIDc3NDEsIDc3NDMsIDc3NDUsIDc3NDcsIDc3NDksIDc3NTEsIDc3NTMsIDc3NTUsIDc3NTcsIDc3NTksIDc3NjEsIDc3NjMsIAotICAgIDc3NjUsIDc3NjcsIDc3NjksIDc3NzEsIDc3NzMsIDc3NzUsIDc3NzcsIDc3NzksIDc3ODEsIDc3ODMsIDc3ODUsIDc3ODcsIAotICAgIDc3ODksIDc3OTEsIDc3OTMsIDc3OTUsIDc3OTcsIDc3OTksIDc4MDEsIDc4MDMsIDc4MDUsIDc4MDcsIDc4MDksIDc4MTEsIAotICAgIDc4MTMsIDc4MTUsIDc4MTcsIDc4MTksIDc4MjEsIDc4MjMsIDc4MjUsIDc4MjcsIDc4MjksIDc4MzEsIDc4MzMsIDc4MzUsIAotICAgIDc4MzcsIDc4MzksIDc4NDEsIDc4NDMsIDc4NDUsIDc4NDcsIDc4NDksIDc4NTEsIDc4NTMsIDc4NTUsIDc4NTcsIDc4NTksIAotICAgIDc4NjEsIDc4NjMsIDc4NjUsIDc4NjcsIDc4NjksIDc4NzEsIDc4NzMsIDc4NzUsIDc4NzcsIDc4NzksIDc4ODEsIDc4ODMsIAotICAgIDc4ODUsIDc4ODcsIDc4ODksIDc4OTEsIDc4OTMsIDc4OTUsIDc4OTcsIDc4OTksIDc5MDEsIDc5MDMsIDc5MDUsIDc5MDcsIAotICAgIDc5MDksIDc5MTEsIDc5MTMsIDc5MTUsIDc5MTcsIDc5MTksIDc5MjEsIDc5MjMsIDc5MjUsIDc5MjcsIDc5MjksIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDc5MzEsIDc5MzMsIDc5MzUsIDc5MzcsIDc5MzksIDc5NDEsIDc5NDMsIDc5NDUsIAotICAgIDc5NDcsIDc5NDksIDc5NTEsIDc5NTMsIDc5NTUsIDc5NTcsIDc5NTksIDc5NjEsIDc5NjMsIDc5NjUsIDc5NjcsIDc5NjksIAotICAgIDc5NzEsIDc5NzMsIDc5NzUsIDc5NzcsIDc5ODAsIDc5ODMsIDc5ODYsIDc5ODksIDc5OTIsIDc5OTUsIDc5OTgsIDgwMDEsIAotICAgIDgwMDQsIDgwMDcsIDgwMTAsIDgwMTMsIDgwMTYsIDgwMTksIDgwMjIsIDgwMjUsIDgwMjgsIDgwMzEsIDgwMzMsIDgwMzUsIAotICAgIDgwMzcsIDgwMzksIDgwNDIsIDgwNDUsIDgwNDgsIDgwNTEsIDgwNTQsIDgwNTcsIDgwNjAsIDgwNjMsIDgwNjYsIDgwNjksIAotICAgIDgwNzIsIDgwNzUsIDgwNzgsIDgwODEsIDgwODQsIDgwODcsIDgwOTAsIDgwOTMsIDgwOTYsIDgwOTksIDgxMDIsIDgxMDUsIAotICAgIDgxMDgsIDgxMTEsIDgxMTQsIDgxMTcsIDgxMjAsIDgxMjMsIDgxMjYsIDgxMjksIDgxMzIsIDgxMzUsIDgxMzgsIDgxNDEsIAotICAgIDgxNDQsIDgxNDcsIDgxNTAsIDgxNTMsIDgxNTYsIDgxNTksIDgxNjIsIDgxNjUsIDgxNjgsIDgxNzEsIDgxNzQsIDgxNzcsIAotICAgIDgxODAsIDgxODMsIDgxODYsIDgxODksIDgxOTIsIDgxOTUsIDgxOTgsIDgyMDEsIDgyMDQsIDgyMDcsIDgyMTAsIDgyMTMsIAotICAgIDgyMTYsIDgyMTksIDgyMjIsIDgyMjUsIDgyMjgsIDgyMzEsIDgyMzQsIDgyMzcsIDgyNDAsIDgyNDMsIDgyNDYsIDgyNDksIAotICAgIDgyNTIsIDgyNTUsIDgyNTgsIDgyNjEsIDgyNjQsIDgyNjcsIDgyNzAsIDgyNzMsIDgyNzYsIDgyNzksIDgyODIsIDgyODUsIAotICAgIDgyODgsIDgyOTEsIDgyOTQsIDgyOTcsIDgzMDAsIDgzMDMsIDgzMDYsIDgzMDksIDgzMTIsIDgzMTUsIDgzMTgsIDgzMjEsIAotICAgIDgzMjUsIDgzMjksIDgzMzMsIDgzMzcsIDgzNDEsIDgzNDUsIDgzNDgsIDgzNTEsIDgzNTQsIDgzNTcsIDgzNjAsIDgzNjMsIAotICAgIDgzNjYsIDgzNjksIDgzNzIsIDgzNzUsIDgzNzgsIDgzODEsIDgzODQsIDgzODcsIDgzOTAsIDgzOTMsIDgzOTYsIDgzOTksIAotICAgIDg0MDIsIDg0MDUsIDg0MDgsIDg0MTEsIDg0MTQsIDg0MTcsIDg0MjAsIDg0MjMsIDg0MjYsIDg0MjksIDg0MzIsIDg0MzUsIAotICAgIDg0MzgsIDg0NDEsIDg0NDQsIDg0NDcsIDg0NTAsIDg0NTMsIDg0NTYsIDg0NTksIDg0NjIsIDg0NjUsIDg0NjgsIDg0NzEsIAotICAgIDg0NzQsIDg0NzcsIDg0ODAsIDg0ODMsIDg0ODYsIDg0ODksIDg0OTIsIDg0OTUsIDg0OTgsIDg1MDEsIDg1MDQsIDg1MDcsIAotICAgIDg1MTAsIDg1MTMsIDg1MTYsIDg1MTksIDg1MjIsIDg1MjUsIDg1MjgsIDg1MzEsIDg1MzQsIDg1MzcsIDg1NDAsIDg1NDMsIAotICAgIDg1NDYsIDg1NDksIDg1NTIsIDg1NTUsIDg1NTgsIDg1NjEsIDg1NjQsIDg1NjcsIDg1NzAsIDg1NzMsIDg1NzYsIDg1NzksIAotICAgIDg1ODIsIDg1ODUsIDg1ODgsIDg1OTEsIDg1OTQsIDg1OTcsIDg2MDAsIDg2MDMsIDg2MDYsIDg2MDksIDg2MTIsIDg2MTUsIAotICAgIDg2MTgsIDg2MjEsIDg2MjQsIDg2MjcsIDg2MzAsIDg2MzMsIDg2MzYsIDg2MzksIDg2NDIsIDg2NDUsIDg2NDgsIDg2NTEsIAotICAgIDg2NTQsIDg2NTcsIDg2NjAsIDg2NjMsIDg2NjYsIDg2NjksIDg2NzIsIDg2NzUsIDg2NzgsIDg2ODEsIDg2ODQsIDg2ODcsIAotICAgIDg2OTAsIDg2OTMsIDg2OTYsIDg2OTksIDg3MDIsIDg3MDUsIDg3MDgsIDg3MTEsIDg3MTQsIDg3MTcsIDg3MjAsIDg3MjMsIAotICAgIDg3MjYsIDg3MjksIDg3MzIsIDg3MzUsIDg3MzgsIDg3NDEsIDg3NDQsIDg3NDcsIDg3NTAsIDg3NTMsIDg3NTYsIDg3NTksIAotICAgIDg3NjIsIDg3NjUsIDg3NjgsIDg3NzEsIDg3NzUsIDg3NzksIDg3ODMsIDg3ODYsIDg3ODksIDg3OTIsIDg3OTUsIDg3OTgsIAotICAgIDg4MDEsIDg4MDQsIDg4MDcsIDg4MTAsIDg4MTMsIDg4MTYsIDg4MTksIDg4MjIsIDg4MjUsIDg4MjgsIDg4MzEsIDg4MzQsIAotICAgIDg4MzcsIDg4NDAsIDg4NDMsIDg4NDYsIDg4NDksIDg4NTIsIDg4NTUsIDg4NTgsIDg4NjEsIDg4NjQsIDg4NjcsIDg4NzAsIAotICAgIDg4NzMsIDg4NzYsIDg4NzksIDg4ODIsIDg4ODUsIDg4ODgsIDg4OTEsIDg4OTQsIDg4OTcsIDg5MDAsIDg5MDMsIDg5MDYsIAotICAgIDg5MDksIDg5MTIsIDg5MTUsIDg5MTgsIDg5MjEsIDg5MjQsIDg5MjcsIDg5MzAsIDg5MzMsIDg5MzYsIDg5MzksIDg5NDIsIAotICAgIDg5NDUsIDg5NDgsIDg5NTEsIDg5NTQsIDg5NTcsIDg5NjAsIDg5NjMsIDg5NjYsIDg5NjksIDg5NzIsIDg5NzUsIDg5NzgsIAotICAgIDg5ODEsIDg5ODQsIDg5ODcsIDg5OTAsIDg5OTMsIDg5OTYsIDg5OTksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDkwMDIsIDkwMDYsIDkwMTAsIDkwMTQsIDkwMTgsIDkwMjIsIDkwMjYsIDkwMzAsIAotICAgIDkwMzQsIDkwMzgsIDkwNDIsIDkwNDYsIDkwNTAsIDkwNTQsIDkwNTgsIDkwNjIsIDkwNjYsIDkwNzAsIDkwNzQsIDkwNzgsIAotICAgIDkwODIsIDkwODYsIDkwOTAsIDkwOTQsIDkwOTgsIDkxMDIsIDkxMDYsIDkxMTAsIDkxMTQsIDkxMTgsIDkxMjIsIDkxMjYsIAotICAgIDkxMzAsIDkxMzQsIDkxMzgsIDkxNDIsIDkxNDYsIDkxNTAsIDkxNTQsIDkxNTgsIDkxNjIsIDkxNjYsIDkxNzAsIDkxNzQsIAotICAgIDkxNzgsIDkxODIsIDkxODYsIDkxOTAsIDkxOTQsIDkxOTgsIDkyMDIsIDkyMDYsIDkyMTAsIDkyMTQsIDkyMTgsIDkyMjIsIAotICAgIDkyMjYsIDkyMzAsIDkyMzQsIDkyMzgsIDkyNDIsIDkyNDYsIDkyNTAsIDkyNTQsIDAsIDAsIDkyNTgsIDkyNjIsIDkyNjYsIAotICAgIDkyNzAsIDkyNzQsIDkyNzgsIDkyODIsIDkyODYsIDkyOTAsIDkyOTQsIDkyOTgsIDkzMDIsIDkzMDYsIDkzMTAsIDkzMTQsIAotICAgIDkzMTgsIDkzMjIsIDkzMjYsIDkzMzAsIDkzMzQsIDkzMzgsIDkzNDIsIDkzNDYsIDkzNTAsIDkzNTQsIDkzNTgsIDkzNjIsIAotICAgIDkzNjYsIDkzNzAsIDkzNzQsIDkzNzgsIDkzODIsIDkzODYsIDkzOTAsIDkzOTQsIDkzOTgsIDk0MDIsIDk0MDYsIDk0MTAsIAotICAgIDk0MTQsIDk0MTgsIDk0MjIsIDk0MjYsIDk0MzAsIDk0MzQsIDk0MzgsIDk0NDIsIDk0NDYsIDk0NTAsIDk0NTQsIDk0NTgsIAotICAgIDk0NjIsIDk0NjYsIDk0NzAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDk0NzQsIAotICAgIDk0NzgsIDk0ODIsIDk0ODcsIDk0OTIsIDk0OTcsIDk1MDIsIDk1MDcsIDk1MTIsIDk1MTcsIDk1MjEsIDk1NDAsIDk1NDksIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDk1NTQsIDk1NTYsIAotICAgIDk1NTgsIDk1NjAsIDk1NjIsIDk1NjQsIDk1NjYsIDk1NjgsIDk1NzAsIDk1NzIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDk1NzQsIDk1NzYsIDk1NzgsIDk1ODAsIDk1ODIsIAotICAgIDk1ODQsIDk1ODYsIDk1ODgsIDk1OTAsIDk1OTIsIDk1OTQsIDk1OTYsIDk1OTgsIDk2MDAsIDk2MDIsIDk2MDQsIDk2MDYsIAotICAgIDk2MDgsIDk2MTAsIDk2MTIsIDk2MTQsIDAsIDAsIDk2MTYsIDk2MTgsIDk2MjAsIDk2MjIsIDk2MjQsIDk2MjYsIDk2MjgsIAotICAgIDk2MzAsIDk2MzIsIDk2MzQsIDk2MzYsIDk2MzgsIDAsIDk2NDAsIDk2NDIsIDk2NDQsIDk2NDYsIDk2NDgsIDk2NTAsIAotICAgIDk2NTIsIDk2NTQsIDk2NTYsIDk2NTgsIDk2NjAsIDk2NjIsIDk2NjQsIDk2NjYsIDk2NjgsIDk2NzAsIDk2NzIsIDk2NzQsIAotICAgIDk2NzYsIDAsIDk2NzgsIDk2ODAsIDk2ODIsIDk2ODQsIDAsIDAsIDAsIDAsIDk2ODYsIDk2ODksIDk2OTIsIDAsIDk2OTUsIAotICAgIDAsIDk2OTgsIDk3MDEsIDk3MDQsIDk3MDcsIDk3MTAsIDk3MTMsIDk3MTYsIDk3MTksIDk3MjIsIDk3MjUsIDk3MjgsIAotICAgIDk3MzAsIDk3MzIsIDk3MzQsIDk3MzYsIDk3MzgsIDk3NDAsIDk3NDIsIDk3NDQsIDk3NDYsIDk3NDgsIDk3NTAsIDk3NTIsIAotICAgIDk3NTQsIDk3NTYsIDk3NTgsIDk3NjAsIDk3NjIsIDk3NjQsIDk3NjYsIDk3NjgsIDk3NzAsIDk3NzIsIDk3NzQsIDk3NzYsIAotICAgIDk3NzgsIDk3ODAsIDk3ODIsIDk3ODQsIDk3ODYsIDk3ODgsIDk3OTAsIDk3OTIsIDk3OTQsIDk3OTYsIDk3OTgsIDk4MDAsIAotICAgIDk4MDIsIDk4MDQsIDk4MDYsIDk4MDgsIDk4MTAsIDk4MTIsIDk4MTQsIDk4MTYsIDk4MTgsIDk4MjAsIDk4MjIsIDk4MjQsIAotICAgIDk4MjYsIDk4MjgsIDk4MzAsIDk4MzIsIDk4MzQsIDk4MzYsIDk4MzgsIDk4NDAsIDk4NDIsIDk4NDQsIDk4NDYsIDk4NDgsIAotICAgIDk4NTAsIDk4NTIsIDk4NTQsIDk4NTYsIDk4NTgsIDk4NjAsIDk4NjIsIDk4NjQsIDk4NjYsIDk4NjgsIDk4NzAsIDk4NzIsIAotICAgIDk4NzQsIDk4NzYsIDk4NzgsIDk4ODAsIDk4ODIsIDk4ODQsIDk4ODYsIDk4ODgsIDk4OTAsIDk4OTIsIDk4OTQsIDk4OTYsIAotICAgIDk4OTgsIDk5MDAsIDk5MDIsIDk5MDQsIDk5MDYsIDk5MDgsIDk5MTAsIDk5MTIsIDk5MTQsIDk5MTYsIDk5MTgsIDk5MjAsIAotICAgIDk5MjIsIDk5MjQsIDk5MjYsIDk5MjgsIDk5MzAsIDk5MzIsIDk5MzQsIDk5MzYsIDk5MzgsIDk5NDAsIDk5NDIsIDk5NDQsIAotICAgIDk5NDYsIDk5NDgsIDk5NTAsIDk5NTIsIDk5NTQsIDk5NTYsIDk5NTgsIDk5NjAsIDk5NjIsIDk5NjUsIDk5NjgsIDk5NzEsIAotICAgIDk5NzQsIDk5NzcsIDk5ODAsIDk5ODMsIDAsIDAsIDAsIDAsIDk5ODYsIDk5ODgsIDk5OTAsIDk5OTIsIDk5OTQsIDk5OTYsIAotICAgIDk5OTgsIDEwMDAwLCAxMDAwMiwgMTAwMDQsIDEwMDA2LCAxMDAwOCwgMTAwMTAsIDEwMDEyLCAxMDAxNCwgMTAwMTYsIAotICAgIDEwMDE4LCAxMDAyMCwgMTAwMjIsIDEwMDI0LCAxMDAyNiwgMTAwMjgsIDEwMDMwLCAxMDAzMiwgMTAwMzQsIDEwMDM2LCAKLSAgICAxMDAzOCwgMTAwNDAsIDEwMDQyLCAxMDA0NCwgMTAwNDYsIDEwMDQ4LCAxMDA1MCwgMTAwNTIsIDEwMDU0LCAxMDA1NiwgCi0gICAgMTAwNTgsIDEwMDYwLCAxMDA2MiwgMTAwNjQsIDEwMDY2LCAxMDA2OCwgMTAwNzAsIDEwMDcyLCAxMDA3NCwgMTAwNzYsIAotICAgIDEwMDc4LCAxMDA4MCwgMTAwODIsIDEwMDg0LCAxMDA4NiwgMTAwODgsIDEwMDkwLCAxMDA5MiwgMTAwOTQsIDEwMDk2LCAKLSAgICAxMDA5OCwgMTAxMDAsIDEwMTAyLCAxMDEwNCwgMTAxMDYsIDEwMTA4LCAxMDExMCwgMTAxMTIsIDEwMTE0LCAxMDExNiwgCi0gICAgMTAxMTgsIDEwMTIwLCAxMDEyMiwgMTAxMjQsIDEwMTI2LCAxMDEyOCwgMTAxMzAsIDEwMTMyLCAxMDEzNCwgMTAxMzYsIAotICAgIDEwMTM4LCAxMDE0MCwgMTAxNDIsIDEwMTQ0LCAxMDE0NiwgMTAxNDgsIDEwMTUwLCAxMDE1MiwgMTAxNTQsIDEwMTU2LCAKLSAgICAxMDE1OCwgMTAxNjAsIDEwMTYyLCAxMDE2NCwgMTAxNjYsIDEwMTY4LCAxMDE3MCwgMTAxNzIsIDEwMTc0LCAxMDE3NiwgCi0gICAgMTAxNzgsIDEwMTgwLCAxMDE4MiwgMTAxODQsIDEwMTg2LCAxMDE4OCwgMTAxOTAsIDEwMTkyLCAxMDE5NCwgMTAxOTYsIAotICAgIDEwMTk4LCAxMDIwMCwgMTAyMDIsIDEwMjA0LCAxMDIwNiwgMTAyMDgsIDEwMjEwLCAxMDIxMiwgMTAyMTQsIDEwMjE2LCAKLSAgICAxMDIxOCwgMTAyMjAsIDEwMjIyLCAxMDIyNCwgMTAyMjYsIDEwMjI4LCAxMDIzMCwgMTAyMzIsIDEwMjM0LCAxMDIzNiwgCi0gICAgMTAyMzgsIDEwMjQwLCAxMDI0MiwgMTAyNDQsIDEwMjQ2LCAxMDI0OCwgMTAyNTAsIDEwMjUyLCAxMDI1NCwgMTAyNTYsIAotICAgIDEwMjU4LCAxMDI2MCwgMTAyNjIsIDEwMjY0LCAxMDI2NiwgMTAyNjgsIDEwMjcwLCAxMDI3MiwgMTAyNzQsIDEwMjc2LCAKLSAgICAxMDI3OCwgMTAyODAsIDEwMjgyLCAxMDI4NCwgMTAyODYsIDEwMjg4LCAxMDI5MCwgMTAyOTIsIDEwMjk0LCAxMDI5NiwgCi0gICAgMTAyOTgsIDEwMzAwLCAxMDMwMiwgMTAzMDQsIDEwMzA2LCAxMDMwOCwgMTAzMTAsIDEwMzEyLCAxMDMxNCwgMTAzMTYsIAotICAgIDEwMzE4LCAxMDMyMCwgMTAzMjIsIDEwMzI0LCAxMDMyNiwgMTAzMjgsIDEwMzMwLCAxMDMzMiwgMTAzMzQsIDEwMzM2LCAKLSAgICAxMDMzOCwgMTAzNDAsIDEwMzQyLCAxMDM0NCwgMTAzNDYsIDEwMzQ4LCAxMDM1MCwgMTAzNTIsIDEwMzU0LCAxMDM1NiwgCi0gICAgMTAzNTgsIDEwMzYwLCAxMDM2MiwgMTAzNjQsIDAsIDAsIDAsIDEwMzY2LCAxMDM2OCwgMTAzNzAsIDEwMzcyLCAxMDM3NCwgCi0gICAgMTAzNzYsIDAsIDAsIDEwMzc4LCAxMDM4MCwgMTAzODIsIDEwMzg0LCAxMDM4NiwgMTAzODgsIDAsIDAsIDEwMzkwLCAKLSAgICAxMDM5MiwgMTAzOTQsIDEwMzk2LCAxMDM5OCwgMTA0MDAsIDAsIDAsIDEwNDAyLCAxMDQwNCwgMTA0MDYsIDAsIDAsIDAsIAotICAgIDEwNDA4LCAxMDQxMCwgMTA0MTIsIDEwNDE0LCAxMDQxNiwgMTA0MTgsIDEwNDIwLCAwLCAxMDQyMiwgMTA0MjQsIDEwNDI2LCAKLSAgICAxMDQyOCwgMTA0MzAsIDEwNDMyLCAxMDQzNCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTA0MzYsIDAsIDEwNDM5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMDQ0MiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTA0NDUsIDEwNDQ4LCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA2NjQ2LCA2NjQ4LCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKQEAgLTQ1NDQsNjExICs0ODA2LDgxMyBAQAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDY2NTAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEwNDUxLCAxMDQ1NCwgMTA0NTcsIDEwNDYwLCAxMDQ2MywgCi0gICAgMTA0NjYsIDEwNDY5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA2NjUyLCA2NjU0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMDQ3MiwgMTA0NzUsIAotICAgIDEwNDc4LCAxMDQ4MSwgMTA0ODQsIDEwNDg3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA2NjU2LCA2NjU4LCA2NjYwLCA2NjYyLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAxMDQ5MCwgMTA0OTIsIDEwNDk0LCAxMDQ5NiwgMTA0OTgsIDEwNTAwLCAxMDUwMiwgMTA1MDQsIDEwNTA2LCAxMDUwOCwgCi0gICAgMTA1MTAsIDEwNTEyLCAxMDUxNCwgMTA1MTYsIDEwNTE4LCAxMDUyMCwgMTA1MjIsIDEwNTI0LCAxMDUyNiwgMTA1MjgsIAotICAgIDEwNTMwLCAxMDUzMiwgMTA1MzQsIDEwNTM2LCAxMDUzOCwgMTA1NDAsIDEwNTQyLCAxMDU0NCwgMTA1NDYsIDEwNTQ4LCAKLSAgICAxMDU1MCwgMTA1NTIsIDEwNTU0LCAxMDU1NiwgMTA1NTgsIDEwNTYwLCAxMDU2MiwgMTA1NjQsIDEwNTY2LCAxMDU2OCwgCi0gICAgMTA1NzAsIDEwNTcyLCAxMDU3NCwgMTA1NzYsIDEwNTc4LCAxMDU4MCwgMTA1ODIsIDEwNTg0LCAxMDU4NiwgMTA1ODgsIAotICAgIDEwNTkwLCAxMDU5MiwgMTA1OTQsIDEwNTk2LCAxMDU5OCwgMTA2MDAsIDEwNjAyLCAxMDYwNCwgMTA2MDYsIDEwNjA4LCAKLSAgICAxMDYxMCwgMTA2MTIsIDEwNjE0LCAxMDYxNiwgMTA2MTgsIDEwNjIwLCAxMDYyMiwgMTA2MjQsIDEwNjI2LCAxMDYyOCwgCi0gICAgMTA2MzAsIDEwNjMyLCAxMDYzNCwgMTA2MzYsIDEwNjM4LCAxMDY0MCwgMTA2NDIsIDEwNjQ0LCAxMDY0NiwgMTA2NDgsIAotICAgIDEwNjUwLCAxMDY1MiwgMTA2NTQsIDEwNjU2LCAxMDY1OCwgMCwgMTA2NjAsIDEwNjYyLCAxMDY2NCwgMTA2NjYsIDEwNjY4LCAKLSAgICAxMDY3MCwgMTA2NzIsIDEwNjc0LCAxMDY3NiwgMTA2NzgsIDEwNjgwLCAxMDY4MiwgMTA2ODQsIDEwNjg2LCAxMDY4OCwgCi0gICAgMTA2OTAsIDEwNjkyLCAxMDY5NCwgMTA2OTYsIDEwNjk4LCAxMDcwMCwgMTA3MDIsIDEwNzA0LCAxMDcwNiwgMTA3MDgsIAotICAgIDEwNzEwLCAxMDcxMiwgMTA3MTQsIDEwNzE2LCAxMDcxOCwgMTA3MjAsIDEwNzIyLCAxMDcyNCwgMTA3MjYsIDEwNzI4LCAKLSAgICAxMDczMCwgMTA3MzIsIDEwNzM0LCAxMDczNiwgMTA3MzgsIDEwNzQwLCAxMDc0MiwgMTA3NDQsIDEwNzQ2LCAxMDc0OCwgCi0gICAgMTA3NTAsIDEwNzUyLCAxMDc1NCwgMTA3NTYsIDEwNzU4LCAxMDc2MCwgMTA3NjIsIDEwNzY0LCAxMDc2NiwgMTA3NjgsIAotICAgIDEwNzcwLCAxMDc3MiwgMTA3NzQsIDEwNzc2LCAxMDc3OCwgMTA3ODAsIDEwNzgyLCAxMDc4NCwgMTA3ODYsIDEwNzg4LCAKLSAgICAxMDc5MCwgMTA3OTIsIDEwNzk0LCAxMDc5NiwgMTA3OTgsIDEwODAwLCAwLCAxMDgwMiwgMTA4MDQsIDAsIDAsIDEwODA2LCAKLSAgICAwLCAwLCAxMDgwOCwgMTA4MTAsIDAsIDAsIDEwODEyLCAxMDgxNCwgMTA4MTYsIDEwODE4LCAwLCAxMDgyMCwgMTA4MjIsIAotICAgIDEwODI0LCAxMDgyNiwgMTA4MjgsIDEwODMwLCAxMDgzMiwgMTA4MzQsIDEwODM2LCAxMDgzOCwgMTA4NDAsIDEwODQyLCAwLCAKLSAgICAxMDg0NCwgMCwgMTA4NDYsIDEwODQ4LCAxMDg1MCwgMTA4NTIsIDEwODU0LCAxMDg1NiwgMTA4NTgsIDAsIDEwODYwLCAKLSAgICAxMDg2MiwgMTA4NjQsIDEwODY2LCAxMDg2OCwgMTA4NzAsIDEwODcyLCAxMDg3NCwgMTA4NzYsIDEwODc4LCAxMDg4MCwgCi0gICAgMTA4ODIsIDEwODg0LCAxMDg4NiwgMTA4ODgsIDEwODkwLCAxMDg5MiwgMTA4OTQsIDEwODk2LCAxMDg5OCwgMTA5MDAsIAotICAgIDEwOTAyLCAxMDkwNCwgMTA5MDYsIDEwOTA4LCAxMDkxMCwgMTA5MTIsIDEwOTE0LCAxMDkxNiwgMTA5MTgsIDEwOTIwLCAKLSAgICAxMDkyMiwgMTA5MjQsIDEwOTI2LCAxMDkyOCwgMTA5MzAsIDEwOTMyLCAxMDkzNCwgMTA5MzYsIDEwOTM4LCAxMDk0MCwgCi0gICAgMTA5NDIsIDEwOTQ0LCAxMDk0NiwgMTA5NDgsIDEwOTUwLCAxMDk1MiwgMTA5NTQsIDEwOTU2LCAxMDk1OCwgMTA5NjAsIAotICAgIDEwOTYyLCAxMDk2NCwgMTA5NjYsIDEwOTY4LCAxMDk3MCwgMTA5NzIsIDEwOTc0LCAxMDk3NiwgMTA5NzgsIDEwOTgwLCAKLSAgICAxMDk4MiwgMTA5ODQsIDEwOTg2LCAxMDk4OCwgMCwgMTA5OTAsIDEwOTkyLCAxMDk5NCwgMTA5OTYsIDAsIDAsIDEwOTk4LCAKLSAgICAxMTAwMCwgMTEwMDIsIDExMDA0LCAxMTAwNiwgMTEwMDgsIDExMDEwLCAxMTAxMiwgMCwgMTEwMTQsIDExMDE2LCAxMTAxOCwgCi0gICAgMTEwMjAsIDExMDIyLCAxMTAyNCwgMTEwMjYsIDAsIDExMDI4LCAxMTAzMCwgMTEwMzIsIDExMDM0LCAxMTAzNiwgMTEwMzgsIAotICAgIDExMDQwLCAxMTA0MiwgMTEwNDQsIDExMDQ2LCAxMTA0OCwgMTEwNTAsIDExMDUyLCAxMTA1NCwgMTEwNTYsIDExMDU4LCAKLSAgICAxMTA2MCwgMTEwNjIsIDExMDY0LCAxMTA2NiwgMTEwNjgsIDExMDcwLCAxMTA3MiwgMTEwNzQsIDExMDc2LCAxMTA3OCwgCi0gICAgMTEwODAsIDExMDgyLCAwLCAxMTA4NCwgMTEwODYsIDExMDg4LCAxMTA5MCwgMCwgMTEwOTIsIDExMDk0LCAxMTA5NiwgCi0gICAgMTEwOTgsIDExMTAwLCAwLCAxMTEwMiwgMCwgMCwgMCwgMTExMDQsIDExMTA2LCAxMTEwOCwgMTExMTAsIDExMTEyLCAKLSAgICAxMTExNCwgMTExMTYsIDAsIDExMTE4LCAxMTEyMCwgMTExMjIsIDExMTI0LCAxMTEyNiwgMTExMjgsIDExMTMwLCAxMTEzMiwgCi0gICAgMTExMzQsIDExMTM2LCAxMTEzOCwgMTExNDAsIDExMTQyLCAxMTE0NCwgMTExNDYsIDExMTQ4LCAxMTE1MCwgMTExNTIsIAotICAgIDExMTU0LCAxMTE1NiwgMTExNTgsIDExMTYwLCAxMTE2MiwgMTExNjQsIDExMTY2LCAxMTE2OCwgMTExNzAsIDExMTcyLCAKLSAgICAxMTE3NCwgMTExNzYsIDExMTc4LCAxMTE4MCwgMTExODIsIDExMTg0LCAxMTE4NiwgMTExODgsIDExMTkwLCAxMTE5MiwgCi0gICAgMTExOTQsIDExMTk2LCAxMTE5OCwgMTEyMDAsIDExMjAyLCAxMTIwNCwgMTEyMDYsIDExMjA4LCAxMTIxMCwgMTEyMTIsIAotICAgIDExMjE0LCAxMTIxNiwgMTEyMTgsIDExMjIwLCAxMTIyMiwgMTEyMjQsIDExMjI2LCAxMTIyOCwgMTEyMzAsIDExMjMyLCAKLSAgICAxMTIzNCwgMTEyMzYsIDExMjM4LCAxMTI0MCwgMTEyNDIsIDExMjQ0LCAxMTI0NiwgMTEyNDgsIDExMjUwLCAxMTI1MiwgCi0gICAgMTEyNTQsIDExMjU2LCAxMTI1OCwgMTEyNjAsIDExMjYyLCAxMTI2NCwgMTEyNjYsIDExMjY4LCAxMTI3MCwgMTEyNzIsIAotICAgIDExMjc0LCAxMTI3NiwgMTEyNzgsIDExMjgwLCAxMTI4MiwgMTEyODQsIDExMjg2LCAxMTI4OCwgMTEyOTAsIDExMjkyLCAKLSAgICAxMTI5NCwgMTEyOTYsIDExMjk4LCAxMTMwMCwgMTEzMDIsIDExMzA0LCAxMTMwNiwgMTEzMDgsIDExMzEwLCAxMTMxMiwgCi0gICAgMTEzMTQsIDExMzE2LCAxMTMxOCwgMTEzMjAsIDExMzIyLCAxMTMyNCwgMTEzMjYsIDExMzI4LCAxMTMzMCwgMTEzMzIsIAotICAgIDExMzM0LCAxMTMzNiwgMTEzMzgsIDExMzQwLCAxMTM0MiwgMTEzNDQsIDExMzQ2LCAxMTM0OCwgMTEzNTAsIDExMzUyLCAKLSAgICAxMTM1NCwgMTEzNTYsIDExMzU4LCAxMTM2MCwgMTEzNjIsIDExMzY0LCAxMTM2NiwgMTEzNjgsIDExMzcwLCAxMTM3MiwgCi0gICAgMTEzNzQsIDExMzc2LCAxMTM3OCwgMTEzODAsIDExMzgyLCAxMTM4NCwgMTEzODYsIDExMzg4LCAxMTM5MCwgMTEzOTIsIAotICAgIDExMzk0LCAxMTM5NiwgMTEzOTgsIDExNDAwLCAxMTQwMiwgMTE0MDQsIDExNDA2LCAxMTQwOCwgMTE0MTAsIDExNDEyLCAKLSAgICAxMTQxNCwgMTE0MTYsIDExNDE4LCAxMTQyMCwgMTE0MjIsIDExNDI0LCAxMTQyNiwgMTE0MjgsIDExNDMwLCAxMTQzMiwgCi0gICAgMTE0MzQsIDExNDM2LCAxMTQzOCwgMTE0NDAsIDExNDQyLCAxMTQ0NCwgMTE0NDYsIDExNDQ4LCAxMTQ1MCwgMTE0NTIsIAotICAgIDExNDU0LCAxMTQ1NiwgMTE0NTgsIDExNDYwLCAxMTQ2MiwgMTE0NjQsIDExNDY2LCAxMTQ2OCwgMTE0NzAsIDExNDcyLCAKLSAgICAxMTQ3NCwgMTE0NzYsIDExNDc4LCAxMTQ4MCwgMTE0ODIsIDExNDg0LCAxMTQ4NiwgMTE0ODgsIDExNDkwLCAxMTQ5MiwgCi0gICAgMTE0OTQsIDExNDk2LCAxMTQ5OCwgMTE1MDAsIDExNTAyLCAxMTUwNCwgMTE1MDYsIDExNTA4LCAxMTUxMCwgMTE1MTIsIAotICAgIDExNTE0LCAxMTUxNiwgMTE1MTgsIDExNTIwLCAxMTUyMiwgMTE1MjQsIDExNTI2LCAxMTUyOCwgMTE1MzAsIDExNTMyLCAKLSAgICAxMTUzNCwgMTE1MzYsIDExNTM4LCAxMTU0MCwgMTE1NDIsIDExNTQ0LCAxMTU0NiwgMTE1NDgsIDExNTUwLCAxMTU1MiwgCi0gICAgMTE1NTQsIDExNTU2LCAxMTU1OCwgMTE1NjAsIDExNTYyLCAxMTU2NCwgMTE1NjYsIDExNTY4LCAxMTU3MCwgMTE1NzIsIAotICAgIDExNTc0LCAxMTU3NiwgMTE1NzgsIDExNTgwLCAxMTU4MiwgMTE1ODQsIDExNTg2LCAxMTU4OCwgMTE1OTAsIDExNTkyLCAKLSAgICAxMTU5NCwgMTE1OTYsIDExNTk4LCAxMTYwMCwgMTE2MDIsIDExNjA0LCAxMTYwNiwgMTE2MDgsIDExNjEwLCAxMTYxMiwgCi0gICAgMTE2MTQsIDExNjE2LCAxMTYxOCwgMTE2MjAsIDExNjIyLCAxMTYyNCwgMTE2MjYsIDExNjI4LCAxMTYzMCwgMTE2MzIsIAotICAgIDExNjM0LCAxMTYzNiwgMTE2MzgsIDExNjQwLCAxMTY0MiwgMTE2NDQsIDExNjQ2LCAxMTY0OCwgMTE2NTAsIDExNjUyLCAKLSAgICAxMTY1NCwgMTE2NTYsIDExNjU4LCAxMTY2MCwgMTE2NjIsIDExNjY0LCAxMTY2NiwgMTE2NjgsIDExNjcwLCAxMTY3MiwgCi0gICAgMTE2NzQsIDExNjc2LCAxMTY3OCwgMTE2ODAsIDExNjgyLCAxMTY4NCwgMTE2ODYsIDExNjg4LCAxMTY5MCwgMTE2OTIsIAotICAgIDExNjk0LCAxMTY5NiwgMTE2OTgsIDExNzAwLCAxMTcwMiwgMTE3MDQsIDExNzA2LCAxMTcwOCwgMTE3MTAsIDExNzEyLCAKLSAgICAxMTcxNCwgMTE3MTYsIDExNzE4LCAxMTcyMCwgMTE3MjIsIDExNzI0LCAxMTcyNiwgMTE3MjgsIDExNzMwLCAxMTczMiwgCi0gICAgMTE3MzQsIDExNzM2LCAxMTczOCwgMTE3NDAsIDExNzQyLCAxMTc0NCwgMTE3NDYsIDExNzQ4LCAxMTc1MCwgMTE3NTIsIAotICAgIDExNzU0LCAxMTc1NiwgMTE3NTgsIDExNzYwLCAxMTc2MiwgMTE3NjQsIDExNzY2LCAxMTc2OCwgMTE3NzAsIDExNzcyLCAKLSAgICAxMTc3NCwgMTE3NzYsIDExNzc4LCAxMTc4MCwgMTE3ODIsIDExNzg0LCAxMTc4NiwgMTE3ODgsIDExNzkwLCAxMTc5MiwgCi0gICAgMTE3OTQsIDExNzk2LCAwLCAwLCAxMTc5OCwgMTE4MDAsIDExODAyLCAxMTgwNCwgMTE4MDYsIDExODA4LCAxMTgxMCwgCi0gICAgMTE4MTIsIDExODE0LCAxMTgxNiwgMTE4MTgsIDExODIwLCAxMTgyMiwgMTE4MjQsIDExODI2LCAxMTgyOCwgMTE4MzAsIAotICAgIDExODMyLCAxMTgzNCwgMTE4MzYsIDExODM4LCAxMTg0MCwgMTE4NDIsIDExODQ0LCAxMTg0NiwgMTE4NDgsIDExODUwLCAKLSAgICAxMTg1MiwgMTE4NTQsIDExODU2LCAxMTg1OCwgMTE4NjAsIDExODYyLCAxMTg2NCwgMTE4NjYsIDExODY4LCAxMTg3MCwgCi0gICAgMTE4NzIsIDExODc0LCAxMTg3NiwgMTE4NzgsIDExODgwLCAxMTg4MiwgMTE4ODQsIDExODg2LCAxMTg4OCwgMTE4OTAsIAotICAgIDExODkyLCAxMTg5NCwgMTE4OTYsIDExODk4LCAxMTkwMCwgMTE5MDIsIDExOTA0LCAxMTkwNiwgMTE5MDgsIDExOTEwLCAKLSAgICAxMTkxMiwgMTE5MTQsIDExOTE2LCAxMTkxOCwgMTE5MjAsIDExOTIyLCAxMTkyNCwgMTE5MjYsIDExOTI4LCAxMTkzMCwgCi0gICAgMTE5MzIsIDExOTM0LCAxMTkzNiwgMTE5MzgsIDExOTQwLCAxMTk0MiwgMTE5NDQsIDExOTQ2LCAxMTk0OCwgMTE5NTAsIAotICAgIDExOTUyLCAxMTk1NCwgMTE5NTYsIDExOTU4LCAxMTk2MCwgMTE5NjIsIDExOTY0LCAxMTk2NiwgMTE5NjgsIDExOTcwLCAKLSAgICAxMTk3MiwgMTE5NzQsIDExOTc2LCAxMTk3OCwgMTE5ODAsIDExOTgyLCAxMTk4NCwgMTE5ODYsIDExOTg4LCAxMTk5MCwgCi0gICAgMTE5OTIsIDExOTk0LCAxMTk5NiwgMTE5OTgsIDEyMDAwLCAxMjAwMiwgMTIwMDQsIDEyMDA2LCAxMjAwOCwgMTIwMTAsIAotICAgIDEyMDEyLCAxMjAxNCwgMTIwMTYsIDEyMDE4LCAxMjAyMCwgMTIwMjIsIDEyMDI0LCAxMjAyNiwgMTIwMjgsIDEyMDMwLCAKLSAgICAxMjAzMiwgMTIwMzQsIDEyMDM2LCAxMjAzOCwgMTIwNDAsIDEyMDQyLCAxMjA0NCwgMTIwNDYsIDEyMDQ4LCAxMjA1MCwgCi0gICAgMTIwNTIsIDEyMDU0LCAxMjA1NiwgMTIwNTgsIDEyMDYwLCAxMjA2MiwgMTIwNjQsIDEyMDY2LCAxMjA2OCwgMTIwNzAsIAotICAgIDEyMDcyLCAxMjA3NCwgMTIwNzYsIDEyMDc4LCAxMjA4MCwgMTIwODIsIDEyMDg0LCAxMjA4NiwgMTIwODgsIDEyMDkwLCAKLSAgICAxMjA5MiwgMTIwOTQsIDEyMDk2LCAxMjA5OCwgMTIxMDAsIDEyMTAyLCAxMjEwNCwgMTIxMDYsIDEyMTA4LCAxMjExMCwgCi0gICAgMTIxMTIsIDEyMTE0LCAxMjExNiwgMTIxMTgsIDEyMTIwLCAxMjEyMiwgMTIxMjQsIDEyMTI2LCAxMjEyOCwgMTIxMzAsIAotICAgIDEyMTMyLCAxMjEzNCwgMTIxMzYsIDEyMTM4LCAxMjE0MCwgMTIxNDIsIDEyMTQ0LCAxMjE0NiwgMTIxNDgsIDEyMTUwLCAKLSAgICAxMjE1MiwgMTIxNTQsIDEyMTU2LCAxMjE1OCwgMTIxNjAsIDEyMTYyLCAxMjE2NCwgMTIxNjYsIDEyMTY4LCAxMjE3MCwgCi0gICAgMTIxNzIsIDEyMTc0LCAxMjE3NiwgMTIxNzgsIDEyMTgwLCAxMjE4MiwgMTIxODQsIDEyMTg2LCAxMjE4OCwgMTIxOTAsIAotICAgIDEyMTkyLCAxMjE5NCwgMTIxOTYsIDEyMTk4LCAxMjIwMCwgMTIyMDIsIDEyMjA0LCAxMjIwNiwgMTIyMDgsIDEyMjEwLCAKLSAgICAxMjIxMiwgMTIyMTQsIDEyMjE2LCAxMjIxOCwgMTIyMjAsIDEyMjIyLCAxMjIyNCwgMTIyMjYsIDEyMjI4LCAxMjIzMCwgCi0gICAgMTIyMzIsIDEyMjM0LCAxMjIzNiwgMTIyMzgsIDEyMjQwLCAxMjI0MiwgMTIyNDQsIDEyMjQ2LCAxMjI0OCwgMTIyNTAsIAotICAgIDEyMjUyLCAxMjI1NCwgMTIyNTYsIDEyMjU4LCAxMjI2MCwgMTIyNjIsIDEyMjY0LCAxMjI2NiwgMTIyNjgsIDEyMjcwLCAKLSAgICAxMjI3MiwgMTIyNzQsIDEyMjc2LCAxMjI3OCwgMTIyODAsIDEyMjgyLCAxMjI4NCwgMTIyODYsIDEyMjg4LCAxMjI5MCwgCi0gICAgMTIyOTIsIDEyMjk0LCAxMjI5NiwgMTIyOTgsIDEyMzAwLCAxMjMwMiwgMTIzMDQsIDEyMzA2LCAxMjMwOCwgMTIzMTAsIAotICAgIDEyMzEyLCAxMjMxNCwgMTIzMTYsIDEyMzE4LCAxMjMyMCwgMTIzMjIsIDEyMzI0LCAxMjMyNiwgMTIzMjgsIDEyMzMwLCAKLSAgICAxMjMzMiwgMTIzMzQsIDEyMzM2LCAxMjMzOCwgMTIzNDAsIDEyMzQyLCAxMjM0NCwgMTIzNDYsIDEyMzQ4LCAxMjM1MCwgCi0gICAgMTIzNTIsIDEyMzU0LCAxMjM1NiwgMTIzNTgsIDEyMzYwLCAxMjM2MiwgMTIzNjQsIDEyMzY2LCAxMjM2OCwgMTIzNzAsIAotICAgIDEyMzcyLCAxMjM3NCwgMTIzNzYsIDEyMzc4LCAxMjM4MCwgMCwgMCwgMTIzODIsIDEyMzg0LCAxMjM4NiwgMTIzODgsIAotICAgIDEyMzkwLCAxMjM5MiwgMTIzOTQsIDEyMzk2LCAxMjM5OCwgMTI0MDAsIDEyNDAyLCAxMjQwNCwgMTI0MDYsIDEyNDA4LCAKLSAgICAxMjQxMCwgMTI0MTIsIDEyNDE0LCAxMjQxNiwgMTI0MTgsIDEyNDIwLCAxMjQyMiwgMTI0MjQsIDEyNDI2LCAxMjQyOCwgCi0gICAgMTI0MzAsIDEyNDMyLCAxMjQzNCwgMTI0MzYsIDEyNDM4LCAxMjQ0MCwgMTI0NDIsIDEyNDQ0LCAxMjQ0NiwgMTI0NDgsIAotICAgIDEyNDUwLCAxMjQ1MiwgMTI0NTQsIDEyNDU2LCAxMjQ1OCwgMTI0NjAsIDEyNDYyLCAxMjQ2NCwgMTI0NjYsIDEyNDY4LCAKLSAgICAxMjQ3MCwgMTI0NzIsIDEyNDc0LCAxMjQ3NiwgMTI0NzgsIDEyNDgwLCAxMjQ4MiwgMTI0ODQsIDEyNDg2LCAxMjQ4OCwgMCwgCi0gICAgMTI0OTAsIDEyNDkyLCAxMjQ5NCwgMTI0OTYsIDEyNDk4LCAxMjUwMCwgMTI1MDIsIDEyNTA0LCAxMjUwNiwgMTI1MDgsIAotICAgIDEyNTEwLCAxMjUxMiwgMTI1MTQsIDEyNTE2LCAxMjUxOCwgMTI1MjAsIDEyNTIyLCAxMjUyNCwgMTI1MjYsIDEyNTI4LCAKLSAgICAxMjUzMCwgMTI1MzIsIDEyNTM0LCAxMjUzNiwgMTI1MzgsIDEyNTQwLCAxMjU0MiwgMCwgMTI1NDQsIDEyNTQ2LCAwLCAKLSAgICAxMjU0OCwgMCwgMCwgMTI1NTAsIDAsIDEyNTUyLCAxMjU1NCwgMTI1NTYsIDEyNTU4LCAxMjU2MCwgMTI1NjIsIDEyNTY0LCAKLSAgICAxMjU2NiwgMTI1NjgsIDEyNTcwLCAwLCAxMjU3MiwgMTI1NzQsIDEyNTc2LCAxMjU3OCwgMCwgMTI1ODAsIDAsIDEyNTgyLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAxMjU4NCwgMCwgMCwgMCwgMCwgMTI1ODYsIDAsIDEyNTg4LCAwLCAxMjU5MCwgMCwgMTI1OTIsIAotICAgIDEyNTk0LCAxMjU5NiwgMCwgMTI1OTgsIDEyNjAwLCAwLCAxMjYwMiwgMCwgMCwgMTI2MDQsIDAsIDEyNjA2LCAwLCAxMjYwOCwgCi0gICAgMCwgMTI2MTAsIDAsIDEyNjEyLCAwLCAxMjYxNCwgMTI2MTYsIDAsIDEyNjE4LCAwLCAwLCAxMjYyMCwgMTI2MjIsIDEyNjI0LCAKLSAgICAxMjYyNiwgMCwgMTI2MjgsIDEyNjMwLCAxMjYzMiwgMTI2MzQsIDEyNjM2LCAxMjYzOCwgMTI2NDAsIDAsIDEyNjQyLCAKLSAgICAxMjY0NCwgMTI2NDYsIDEyNjQ4LCAwLCAxMjY1MCwgMTI2NTIsIDEyNjU0LCAxMjY1NiwgMCwgMTI2NTgsIDAsIDEyNjYwLCAKLSAgICAxMjY2MiwgMTI2NjQsIDEyNjY2LCAxMjY2OCwgMTI2NzAsIDEyNjcyLCAxMjY3NCwgMTI2NzYsIDEyNjc4LCAwLCAxMjY4MCwgCi0gICAgMTI2ODIsIDEyNjg0LCAxMjY4NiwgMTI2ODgsIDEyNjkwLCAxMjY5MiwgMTI2OTQsIDEyNjk2LCAxMjY5OCwgMTI3MDAsIAotICAgIDEyNzAyLCAxMjcwNCwgMTI3MDYsIDEyNzA4LCAxMjcxMCwgMTI3MTIsIDAsIDAsIDAsIDAsIDAsIDEyNzE0LCAxMjcxNiwgCi0gICAgMTI3MTgsIDAsIDEyNzIwLCAxMjcyMiwgMTI3MjQsIDEyNzI2LCAxMjcyOCwgMCwgMTI3MzAsIDEyNzMyLCAxMjczNCwgCi0gICAgMTI3MzYsIDEyNzM4LCAxMjc0MCwgMTI3NDIsIDEyNzQ0LCAxMjc0NiwgMTI3NDgsIDEyNzUwLCAxMjc1MiwgMTI3NTQsIAotICAgIDEyNzU2LCAxMjc1OCwgMTI3NjAsIDEyNzYyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCA2NjY0LCA2NjY2LCA2NjY4LCA2NjcwLCA2NjcyLCA2Njc0LCA2Njc2LCA2Njc4LCAKKyAgICA2NjgwLCA2NjgyLCA2Njg0LCA2Njg2LCA2Njg4LCA2NjkwLCA2NjkyLCA2Njk0LCA2Njk2LCA2Njk4LCA2NzAwLCA2NzAyLCAKKyAgICA2NzA0LCA2NzA2LCA2NzA4LCA2NzEwLCA2NzEyLCA2NzE0LCA2NzE2LCA2NzE4LCA2NzIwLCA2NzIyLCA2NzI0LCA2NzI2LCAKKyAgICA2NzI4LCA2NzMwLCA2NzMyLCA2NzM0LCA2NzM2LCA2NzM4LCA2NzQwLCA2NzQyLCA2NzQ0LCA2NzQ2LCA2NzQ4LCA2NzUwLCAKKyAgICA2NzUyLCA2NzU0LCA2NzU2LCA2NzU4LCA2NzYwLCA2NzYyLCA2NzY0LCA2NzY2LCA2NzY4LCA2NzcwLCA2NzcyLCA2Nzc0LCAKKyAgICA2Nzc2LCA2Nzc4LCA2NzgwLCA2NzgyLCA2Nzg0LCA2Nzg2LCA2Nzg4LCA2NzkwLCA2NzkyLCA2Nzk0LCA2Nzk2LCA2Nzk4LCAKKyAgICA2ODAwLCA2ODAyLCA2ODA0LCA2ODA2LCA2ODA4LCA2ODEwLCA2ODEyLCA2ODE0LCA2ODE2LCA2ODE4LCA2ODIwLCA2ODIyLCAKKyAgICA2ODI0LCA2ODI2LCA2ODI4LCA2ODMwLCA2ODMyLCA2ODM0LCA2ODM2LCA2ODM4LCA2ODQwLCA2ODQyLCA2ODQ0LCA2ODQ2LCAKKyAgICA2ODQ4LCA2ODUwLCA2ODUyLCA2ODU0LCA2ODU2LCA2ODU4LCA2ODYwLCA2ODYyLCA2ODY0LCA2ODY2LCA2ODY4LCA2ODcwLCAKKyAgICA2ODcyLCA2ODc0LCA2ODc2LCA2ODc4LCA2ODgwLCA2ODgyLCA2ODg0LCA2ODg2LCA2ODg4LCA2ODkwLCA2ODkyLCA2ODk0LCAKKyAgICA2ODk2LCA2ODk4LCA2OTAwLCA2OTAyLCA2OTA0LCA2OTA2LCA2OTA4LCA2OTEwLCA2OTEyLCA2OTE0LCA2OTE2LCA2OTE4LCAKKyAgICA2OTIwLCA2OTIyLCA2OTI0LCA2OTI2LCA2OTI4LCA2OTMwLCA2OTMyLCA2OTM0LCA2OTM2LCA2OTM4LCA2OTQwLCA2OTQyLCAKKyAgICA2OTQ0LCA2OTQ2LCA2OTQ4LCA2OTUwLCA2OTUyLCA2OTU0LCA2OTU2LCA2OTU4LCA2OTYwLCA2OTYyLCA2OTY0LCA2OTY2LCAKKyAgICA2OTY4LCA2OTcwLCA2OTcyLCA2OTc0LCA2OTc2LCA2OTc4LCA2OTgwLCA2OTgyLCA2OTg0LCA2OTg2LCA2OTg4LCA2OTkwLCAKKyAgICA2OTkyLCA2OTk0LCA2OTk2LCA2OTk4LCA3MDAwLCA3MDAyLCA3MDA0LCA3MDA2LCA3MDA4LCA3MDEwLCA3MDEyLCA3MDE0LCAKKyAgICA3MDE2LCA3MDE4LCA3MDIwLCA3MDIyLCA3MDI0LCA3MDI2LCA3MDI4LCA3MDMwLCA3MDMyLCA3MDM0LCA3MDM2LCA3MDM4LCAKKyAgICA3MDQwLCA3MDQyLCA3MDQ0LCA3MDQ2LCA3MDQ4LCA3MDUwLCA3MDUyLCA3MDU0LCA3MDU2LCA3MDU4LCA3MDYwLCA3MDYyLCAKKyAgICA3MDY0LCA3MDY2LCA3MDY4LCA3MDcwLCA3MDcyLCA3MDc0LCA3MDc2LCA3MDc4LCA3MDgwLCA3MDgyLCA3MDg0LCA3MDg2LCAKKyAgICA3MDg4LCA3MDkwLCA3MDkyLCA3MDk0LCA3MDk2LCA3MDk4LCA3MTAwLCA3MTAyLCA3MTA0LCA3MTA2LCA3MTA4LCA3MTEwLCAKKyAgICA3MTEyLCA3MTE0LCA3MTE2LCA3MTE4LCA3MTIwLCA3MTIyLCA3MTI0LCA3MTI2LCA3MTI4LCA3MTMwLCA3MTMyLCA3MTM0LCAKKyAgICA3MTM2LCA3MTM4LCA3MTQwLCA3MTQyLCA3MTQ0LCA3MTQ2LCA3MTQ4LCA3MTUwLCA3MTUyLCA3MTU0LCA3MTU2LCA3MTU4LCAKKyAgICA3MTYwLCA3MTYyLCA3MTY0LCA3MTY2LCA3MTY4LCA3MTcwLCA3MTcyLCA3MTc0LCA3MTc2LCA3MTc4LCA3MTgwLCA3MTgyLCAKKyAgICA3MTg0LCA3MTg2LCA3MTg4LCA3MTkwLCA3MTkyLCA3MTk0LCA3MTk2LCA3MTk4LCA3MjAwLCA3MjAyLCAwLCAwLCA3MjA0LCAKKyAgICAwLCA3MjA2LCAwLCAwLCA3MjA4LCA3MjEwLCA3MjEyLCA3MjE0LCA3MjE2LCA3MjE4LCA3MjIwLCA3MjIyLCA3MjI0LCAKKyAgICA3MjI2LCAwLCA3MjI4LCAwLCA3MjMwLCAwLCAwLCA3MjMyLCA3MjM0LCAwLCAwLCAwLCA3MjM2LCA3MjM4LCA3MjQwLCAKKyAgICA3MjQyLCA3MjQ0LCA3MjQ2LCA3MjQ4LCA3MjUwLCA3MjUyLCA3MjU0LCA3MjU2LCA3MjU4LCA3MjYwLCA3MjYyLCA3MjY0LCAKKyAgICA3MjY2LCA3MjY4LCA3MjcwLCA3MjcyLCA3Mjc0LCA3Mjc2LCA3Mjc4LCA3MjgwLCA3MjgyLCA3Mjg0LCA3Mjg2LCA3Mjg4LCAKKyAgICA3MjkwLCA3MjkyLCA3Mjk0LCA3Mjk2LCA3Mjk4LCA3MzAwLCA3MzAyLCA3MzA0LCA3MzA2LCA3MzA4LCA3MzEwLCA3MzEyLCAKKyAgICA3MzE0LCA3MzE2LCA3MzE4LCA3MzIwLCA3MzIyLCA3MzI0LCA3MzI2LCA3MzI4LCA3MzMwLCA3MzMyLCA3MzM0LCA3MzM2LCAKKyAgICA3MzM4LCA3MzQwLCA3MzQyLCA3MzQ0LCA3MzQ2LCA3MzQ4LCA3MzUwLCA3MzUyLCA3MzU0LCA3MzU2LCA3MzU4LCA3MzYwLCAKKyAgICA3MzYyLCA3MzY0LCA3MzY2LCA3MzY4LCA3MzcwLCAwLCAwLCA3MzcyLCA3Mzc0LCA3Mzc2LCA3Mzc4LCA3MzgwLCA3MzgyLCAKKyAgICA3Mzg0LCA3Mzg2LCA3Mzg4LCA3MzkwLCA3MzkyLCA3Mzk0LCA3Mzk2LCA3Mzk4LCA3NDAwLCA3NDAyLCA3NDA0LCA3NDA2LCAKKyAgICA3NDA4LCA3NDEwLCA3NDEyLCA3NDE0LCA3NDE2LCA3NDE4LCA3NDIwLCA3NDIyLCA3NDI0LCA3NDI2LCA3NDI4LCA3NDMwLCAKKyAgICA3NDMyLCA3NDM0LCA3NDM2LCA3NDM4LCA3NDQwLCA3NDQyLCA3NDQ0LCA3NDQ2LCA3NDQ4LCA3NDUwLCA3NDUyLCA3NDU0LCAKKyAgICA3NDU2LCA3NDU4LCA3NDYwLCA3NDYyLCA3NDY0LCA3NDY2LCA3NDY4LCA3NDcwLCA3NDcyLCA3NDc0LCA3NDc2LCA3NDc4LCAKKyAgICA3NDgwLCA3NDgyLCA3NDg0LCA3NDg2LCA3NDg4LCA3NDkwLCA3NDkyLCA3NDk0LCA3NDk2LCA3NDk4LCA3NTAwLCA3NTAyLCAKKyAgICA3NTA0LCA3NTA2LCA3NTA4LCA3NTEwLCA3NTEyLCA3NTE0LCA3NTE2LCA3NTE4LCA3NTIwLCA3NTIyLCA3NTI0LCA3NTI2LCAKKyAgICA3NTI4LCA3NTMwLCA3NTMyLCA3NTM0LCA3NTM2LCA3NTM4LCA3NTQwLCA3NTQyLCA3NTQ0LCA3NTQ2LCA3NTQ4LCA3NTUwLCAKKyAgICA3NTUyLCA3NTU0LCA3NTU2LCA3NTU4LCA3NTYwLCA3NTYyLCA3NTY0LCA3NTY2LCA3NTY4LCA3NTcwLCA3NTcyLCA3NTc0LCAKKyAgICA3NTc2LCA3NTc4LCA3NTgwLCA3NTgyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA3NTg0LCAKKyAgICA3NTg3LCA3NTkwLCA3NTkzLCA3NTk3LCA3NjAxLCA3NjA0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICA3NjA3LCA3NjEwLCA3NjEzLCA3NjE2LCA3NjE5LCAwLCAwLCAwLCAwLCAwLCA3NjIyLCAwLCA3NjI1LCA3NjI4LCA3NjMwLCAKKyAgICA3NjMyLCA3NjM0LCA3NjM2LCA3NjM4LCA3NjQwLCA3NjQyLCA3NjQ0LCA3NjQ2LCA3NjQ4LCA3NjUxLCA3NjU0LCA3NjU3LCAKKyAgICA3NjYwLCA3NjYzLCA3NjY2LCA3NjY5LCA3NjcyLCA3Njc1LCA3Njc4LCA3NjgxLCA3Njg0LCAwLCA3Njg3LCA3NjkwLCAKKyAgICA3NjkzLCA3Njk2LCA3Njk5LCAwLCA3NzAyLCAwLCA3NzA1LCA3NzA4LCAwLCA3NzExLCA3NzE0LCAwLCA3NzE3LCA3NzIwLCAKKyAgICA3NzIzLCA3NzI2LCA3NzI5LCA3NzMyLCA3NzM1LCA3NzM4LCA3NzQxLCA3NzQ0LCA3NzQ3LCA3NzQ5LCA3NzUxLCA3NzUzLCAKKyAgICA3NzU1LCA3NzU3LCA3NzU5LCA3NzYxLCA3NzYzLCA3NzY1LCA3NzY3LCA3NzY5LCA3NzcxLCA3NzczLCA3Nzc1LCA3Nzc3LCAKKyAgICA3Nzc5LCA3NzgxLCA3NzgzLCA3Nzg1LCA3Nzg3LCA3Nzg5LCA3NzkxLCA3NzkzLCA3Nzk1LCA3Nzk3LCA3Nzk5LCA3ODAxLCAKKyAgICA3ODAzLCA3ODA1LCA3ODA3LCA3ODA5LCA3ODExLCA3ODEzLCA3ODE1LCA3ODE3LCA3ODE5LCA3ODIxLCA3ODIzLCA3ODI1LCAKKyAgICA3ODI3LCA3ODI5LCA3ODMxLCA3ODMzLCA3ODM1LCA3ODM3LCA3ODM5LCA3ODQxLCA3ODQzLCA3ODQ1LCA3ODQ3LCA3ODQ5LCAKKyAgICA3ODUxLCA3ODUzLCA3ODU1LCA3ODU3LCA3ODU5LCA3ODYxLCA3ODYzLCA3ODY1LCA3ODY3LCA3ODY5LCA3ODcxLCA3ODczLCAKKyAgICA3ODc1LCA3ODc3LCA3ODc5LCA3ODgxLCA3ODgzLCA3ODg1LCA3ODg3LCA3ODg5LCA3ODkxLCA3ODkzLCA3ODk1LCA3ODk3LCAKKyAgICA3ODk5LCA3OTAxLCA3OTAzLCA3OTA1LCA3OTA3LCA3OTA5LCA3OTExLCA3OTEzLCA3OTE1LCA3OTE3LCA3OTE5LCA3OTIxLCAKKyAgICA3OTIzLCA3OTI1LCA3OTI3LCA3OTI5LCA3OTMxLCA3OTMzLCA3OTM1LCA3OTM3LCA3OTM5LCA3OTQxLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCA3OTQzLCA3OTQ1LCA3OTQ3LCA3OTQ5LCA3OTUxLCA3OTUzLCA3OTU1LCA3OTU3LCA3OTU5LCAKKyAgICA3OTYxLCA3OTYzLCA3OTY1LCA3OTY3LCA3OTY5LCA3OTcxLCA3OTczLCA3OTc1LCA3OTc3LCA3OTc5LCA3OTgxLCA3OTgzLCAKKyAgICA3OTg1LCA3OTg3LCA3OTg5LCA3OTkyLCA3OTk1LCA3OTk4LCA4MDAxLCA4MDA0LCA4MDA3LCA4MDEwLCA4MDEzLCA4MDE2LCAKKyAgICA4MDE5LCA4MDIyLCA4MDI1LCA4MDI4LCA4MDMxLCA4MDM0LCA4MDM3LCA4MDQwLCA4MDQzLCA4MDQ1LCA4MDQ3LCA4MDQ5LCAKKyAgICA4MDUxLCA4MDU0LCA4MDU3LCA4MDYwLCA4MDYzLCA4MDY2LCA4MDY5LCA4MDcyLCA4MDc1LCA4MDc4LCA4MDgxLCA4MDg0LCAKKyAgICA4MDg3LCA4MDkwLCA4MDkzLCA4MDk2LCA4MDk5LCA4MTAyLCA4MTA1LCA4MTA4LCA4MTExLCA4MTE0LCA4MTE3LCA4MTIwLCAKKyAgICA4MTIzLCA4MTI2LCA4MTI5LCA4MTMyLCA4MTM1LCA4MTM4LCA4MTQxLCA4MTQ0LCA4MTQ3LCA4MTUwLCA4MTUzLCA4MTU2LCAKKyAgICA4MTU5LCA4MTYyLCA4MTY1LCA4MTY4LCA4MTcxLCA4MTc0LCA4MTc3LCA4MTgwLCA4MTgzLCA4MTg2LCA4MTg5LCA4MTkyLCAKKyAgICA4MTk1LCA4MTk4LCA4MjAxLCA4MjA0LCA4MjA3LCA4MjEwLCA4MjEzLCA4MjE2LCA4MjE5LCA4MjIyLCA4MjI1LCA4MjI4LCAKKyAgICA4MjMxLCA4MjM0LCA4MjM3LCA4MjQwLCA4MjQzLCA4MjQ2LCA4MjQ5LCA4MjUyLCA4MjU1LCA4MjU4LCA4MjYxLCA4MjY0LCAKKyAgICA4MjY3LCA4MjcwLCA4MjczLCA4Mjc2LCA4Mjc5LCA4MjgyLCA4Mjg1LCA4Mjg4LCA4MjkxLCA4Mjk0LCA4Mjk3LCA4MzAwLCAKKyAgICA4MzAzLCA4MzA2LCA4MzA5LCA4MzEyLCA4MzE1LCA4MzE4LCA4MzIxLCA4MzI0LCA4MzI3LCA4MzMwLCA4MzMzLCA4MzM3LCAKKyAgICA4MzQxLCA4MzQ1LCA4MzQ5LCA4MzUzLCA4MzU3LCA4MzYwLCA4MzYzLCA4MzY2LCA4MzY5LCA4MzcyLCA4Mzc1LCA4Mzc4LCAKKyAgICA4MzgxLCA4Mzg0LCA4Mzg3LCA4MzkwLCA4MzkzLCA4Mzk2LCA4Mzk5LCA4NDAyLCA4NDA1LCA4NDA4LCA4NDExLCA4NDE0LCAKKyAgICA4NDE3LCA4NDIwLCA4NDIzLCA4NDI2LCA4NDI5LCA4NDMyLCA4NDM1LCA4NDM4LCA4NDQxLCA4NDQ0LCA4NDQ3LCA4NDUwLCAKKyAgICA4NDUzLCA4NDU2LCA4NDU5LCA4NDYyLCA4NDY1LCA4NDY4LCA4NDcxLCA4NDc0LCA4NDc3LCA4NDgwLCA4NDgzLCA4NDg2LCAKKyAgICA4NDg5LCA4NDkyLCA4NDk1LCA4NDk4LCA4NTAxLCA4NTA0LCA4NTA3LCA4NTEwLCA4NTEzLCA4NTE2LCA4NTE5LCA4NTIyLCAKKyAgICA4NTI1LCA4NTI4LCA4NTMxLCA4NTM0LCA4NTM3LCA4NTQwLCA4NTQzLCA4NTQ2LCA4NTQ5LCA4NTUyLCA4NTU1LCA4NTU4LCAKKyAgICA4NTYxLCA4NTY0LCA4NTY3LCA4NTcwLCA4NTczLCA4NTc2LCA4NTc5LCA4NTgyLCA4NTg1LCA4NTg4LCA4NTkxLCA4NTk0LCAKKyAgICA4NTk3LCA4NjAwLCA4NjAzLCA4NjA2LCA4NjA5LCA4NjEyLCA4NjE1LCA4NjE4LCA4NjIxLCA4NjI0LCA4NjI3LCA4NjMwLCAKKyAgICA4NjMzLCA4NjM2LCA4NjM5LCA4NjQyLCA4NjQ1LCA4NjQ4LCA4NjUxLCA4NjU0LCA4NjU3LCA4NjYwLCA4NjYzLCA4NjY2LCAKKyAgICA4NjY5LCA4NjcyLCA4Njc1LCA4Njc4LCA4NjgxLCA4Njg0LCA4Njg3LCA4NjkwLCA4NjkzLCA4Njk2LCA4Njk5LCA4NzAyLCAKKyAgICA4NzA1LCA4NzA4LCA4NzExLCA4NzE0LCA4NzE3LCA4NzIwLCA4NzIzLCA4NzI2LCA4NzI5LCA4NzMyLCA4NzM1LCA4NzM4LCAKKyAgICA4NzQxLCA4NzQ0LCA4NzQ3LCA4NzUwLCA4NzUzLCA4NzU2LCA4NzU5LCA4NzYyLCA4NzY1LCA4NzY4LCA4NzcxLCA4Nzc0LCAKKyAgICA4Nzc3LCA4NzgwLCA4NzgzLCA4Nzg3LCA4NzkxLCA4Nzk1LCA4Nzk4LCA4ODAxLCA4ODA0LCA4ODA3LCA4ODEwLCA4ODEzLCAKKyAgICA4ODE2LCA4ODE5LCA4ODIyLCA4ODI1LCA4ODI4LCA4ODMxLCA4ODM0LCA4ODM3LCA4ODQwLCA4ODQzLCA4ODQ2LCA4ODQ5LCAKKyAgICA4ODUyLCA4ODU1LCA4ODU4LCA4ODYxLCA4ODY0LCA4ODY3LCA4ODcwLCA4ODczLCA4ODc2LCA4ODc5LCA4ODgyLCA4ODg1LCAKKyAgICA4ODg4LCA4ODkxLCA4ODk0LCA4ODk3LCA4OTAwLCA4OTAzLCA4OTA2LCA4OTA5LCA4OTEyLCA4OTE1LCA4OTE4LCA4OTIxLCAKKyAgICA4OTI0LCA4OTI3LCA4OTMwLCA4OTMzLCA4OTM2LCA4OTM5LCA4OTQyLCA4OTQ1LCA4OTQ4LCA4OTUxLCA4OTU0LCA4OTU3LCAKKyAgICA4OTYwLCA4OTYzLCA4OTY2LCA4OTY5LCA4OTcyLCA4OTc1LCA4OTc4LCA4OTgxLCA4OTg0LCA4OTg3LCA4OTkwLCA4OTkzLCAKKyAgICA4OTk2LCA4OTk5LCA5MDAyLCA5MDA1LCA5MDA4LCA5MDExLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCA5MDE0LCA5MDE4LCA5MDIyLCA5MDI2LCA5MDMwLCA5MDM0LCA5MDM4LCA5MDQyLCA5MDQ2LCAKKyAgICA5MDUwLCA5MDU0LCA5MDU4LCA5MDYyLCA5MDY2LCA5MDcwLCA5MDc0LCA5MDc4LCA5MDgyLCA5MDg2LCA5MDkwLCA5MDk0LCAKKyAgICA5MDk4LCA5MTAyLCA5MTA2LCA5MTEwLCA5MTE0LCA5MTE4LCA5MTIyLCA5MTI2LCA5MTMwLCA5MTM0LCA5MTM4LCA5MTQyLCAKKyAgICA5MTQ2LCA5MTUwLCA5MTU0LCA5MTU4LCA5MTYyLCA5MTY2LCA5MTcwLCA5MTc0LCA5MTc4LCA5MTgyLCA5MTg2LCA5MTkwLCAKKyAgICA5MTk0LCA5MTk4LCA5MjAyLCA5MjA2LCA5MjEwLCA5MjE0LCA5MjE4LCA5MjIyLCA5MjI2LCA5MjMwLCA5MjM0LCA5MjM4LCAKKyAgICA5MjQyLCA5MjQ2LCA5MjUwLCA5MjU0LCA5MjU4LCA5MjYyLCA5MjY2LCAwLCAwLCA5MjcwLCA5Mjc0LCA5Mjc4LCA5MjgyLCAKKyAgICA5Mjg2LCA5MjkwLCA5Mjk0LCA5Mjk4LCA5MzAyLCA5MzA2LCA5MzEwLCA5MzE0LCA5MzE4LCA5MzIyLCA5MzI2LCA5MzMwLCAKKyAgICA5MzM0LCA5MzM4LCA5MzQyLCA5MzQ2LCA5MzUwLCA5MzU0LCA5MzU4LCA5MzYyLCA5MzY2LCA5MzcwLCA5Mzc0LCA5Mzc4LCAKKyAgICA5MzgyLCA5Mzg2LCA5MzkwLCA5Mzk0LCA5Mzk4LCA5NDAyLCA5NDA2LCA5NDEwLCA5NDE0LCA5NDE4LCA5NDIyLCA5NDI2LCAKKyAgICA5NDMwLCA5NDM0LCA5NDM4LCA5NDQyLCA5NDQ2LCA5NDUwLCA5NDU0LCA5NDU4LCA5NDYyLCA5NDY2LCA5NDcwLCA5NDc0LCAKKyAgICA5NDc4LCA5NDgyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5NDg2LCA5NDkwLCAKKyAgICA5NDk0LCA5NDk5LCA5NTA0LCA5NTA5LCA5NTE0LCA5NTE5LCA5NTI0LCA5NTI5LCA5NTMzLCA5NTUyLCA5NTYxLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5NTY2LCA5NTY4LCA5NTcwLCAKKyAgICA5NTcyLCA5NTc0LCA5NTc2LCA5NTc4LCA5NTgwLCA5NTgyLCA5NTg0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5NTg2LCA5NTg4LCA5NTkwLCA5NTkyLCA5NTk0LCA5NTk2LCAKKyAgICA5NTk4LCA5NjAwLCA5NjAyLCA5NjA0LCA5NjA2LCA5NjA4LCA5NjEwLCA5NjEyLCA5NjE0LCA5NjE2LCA5NjE4LCA5NjIwLCAKKyAgICA5NjIyLCA5NjI0LCA5NjI2LCAwLCAwLCA5NjI4LCA5NjMwLCA5NjMyLCA5NjM0LCA5NjM2LCA5NjM4LCA5NjQwLCA5NjQyLCAKKyAgICA5NjQ0LCA5NjQ2LCA5NjQ4LCA5NjUwLCAwLCA5NjUyLCA5NjU0LCA5NjU2LCA5NjU4LCA5NjYwLCA5NjYyLCA5NjY0LCAKKyAgICA5NjY2LCA5NjY4LCA5NjcwLCA5NjcyLCA5Njc0LCA5Njc2LCA5Njc4LCA5NjgwLCA5NjgyLCA5Njg0LCA5Njg2LCA5Njg4LCAKKyAgICAwLCA5NjkwLCA5NjkyLCA5Njk0LCA5Njk2LCAwLCAwLCAwLCAwLCA5Njk4LCA5NzAxLCA5NzA0LCAwLCA5NzA3LCAwLCAKKyAgICA5NzEwLCA5NzEzLCA5NzE2LCA5NzE5LCA5NzIyLCA5NzI1LCA5NzI4LCA5NzMxLCA5NzM0LCA5NzM3LCA5NzQwLCA5NzQyLCAKKyAgICA5NzQ0LCA5NzQ2LCA5NzQ4LCA5NzUwLCA5NzUyLCA5NzU0LCA5NzU2LCA5NzU4LCA5NzYwLCA5NzYyLCA5NzY0LCA5NzY2LCAKKyAgICA5NzY4LCA5NzcwLCA5NzcyLCA5Nzc0LCA5Nzc2LCA5Nzc4LCA5NzgwLCA5NzgyLCA5Nzg0LCA5Nzg2LCA5Nzg4LCA5NzkwLCAKKyAgICA5NzkyLCA5Nzk0LCA5Nzk2LCA5Nzk4LCA5ODAwLCA5ODAyLCA5ODA0LCA5ODA2LCA5ODA4LCA5ODEwLCA5ODEyLCA5ODE0LCAKKyAgICA5ODE2LCA5ODE4LCA5ODIwLCA5ODIyLCA5ODI0LCA5ODI2LCA5ODI4LCA5ODMwLCA5ODMyLCA5ODM0LCA5ODM2LCA5ODM4LCAKKyAgICA5ODQwLCA5ODQyLCA5ODQ0LCA5ODQ2LCA5ODQ4LCA5ODUwLCA5ODUyLCA5ODU0LCA5ODU2LCA5ODU4LCA5ODYwLCA5ODYyLCAKKyAgICA5ODY0LCA5ODY2LCA5ODY4LCA5ODcwLCA5ODcyLCA5ODc0LCA5ODc2LCA5ODc4LCA5ODgwLCA5ODgyLCA5ODg0LCA5ODg2LCAKKyAgICA5ODg4LCA5ODkwLCA5ODkyLCA5ODk0LCA5ODk2LCA5ODk4LCA5OTAwLCA5OTAyLCA5OTA0LCA5OTA2LCA5OTA4LCA5OTEwLCAKKyAgICA5OTEyLCA5OTE0LCA5OTE2LCA5OTE4LCA5OTIwLCA5OTIyLCA5OTI0LCA5OTI2LCA5OTI4LCA5OTMwLCA5OTMyLCA5OTM0LCAKKyAgICA5OTM2LCA5OTM4LCA5OTQwLCA5OTQyLCA5OTQ0LCA5OTQ2LCA5OTQ4LCA5OTUwLCA5OTUyLCA5OTU0LCA5OTU2LCA5OTU4LCAKKyAgICA5OTYwLCA5OTYyLCA5OTY0LCA5OTY2LCA5OTY4LCA5OTcwLCA5OTcyLCA5OTc0LCA5OTc3LCA5OTgwLCA5OTgzLCA5OTg2LCAKKyAgICA5OTg5LCA5OTkyLCA5OTk1LCAwLCAwLCAwLCAwLCA5OTk4LCAxMDAwMCwgMTAwMDIsIDEwMDA0LCAxMDAwNiwgMTAwMDgsIAorICAgIDEwMDEwLCAxMDAxMiwgMTAwMTQsIDEwMDE2LCAxMDAxOCwgMTAwMjAsIDEwMDIyLCAxMDAyNCwgMTAwMjYsIDEwMDI4LCAKKyAgICAxMDAzMCwgMTAwMzIsIDEwMDM0LCAxMDAzNiwgMTAwMzgsIDEwMDQwLCAxMDA0MiwgMTAwNDQsIDEwMDQ2LCAxMDA0OCwgCisgICAgMTAwNTAsIDEwMDUyLCAxMDA1NCwgMTAwNTYsIDEwMDU4LCAxMDA2MCwgMTAwNjIsIDEwMDY0LCAxMDA2NiwgMTAwNjgsIAorICAgIDEwMDcwLCAxMDA3MiwgMTAwNzQsIDEwMDc2LCAxMDA3OCwgMTAwODAsIDEwMDgyLCAxMDA4NCwgMTAwODYsIDEwMDg4LCAKKyAgICAxMDA5MCwgMTAwOTIsIDEwMDk0LCAxMDA5NiwgMTAwOTgsIDEwMTAwLCAxMDEwMiwgMTAxMDQsIDEwMTA2LCAxMDEwOCwgCisgICAgMTAxMTAsIDEwMTEyLCAxMDExNCwgMTAxMTYsIDEwMTE4LCAxMDEyMCwgMTAxMjIsIDEwMTI0LCAxMDEyNiwgMTAxMjgsIAorICAgIDEwMTMwLCAxMDEzMiwgMTAxMzQsIDEwMTM2LCAxMDEzOCwgMTAxNDAsIDEwMTQyLCAxMDE0NCwgMTAxNDYsIDEwMTQ4LCAKKyAgICAxMDE1MCwgMTAxNTIsIDEwMTU0LCAxMDE1NiwgMTAxNTgsIDEwMTYwLCAxMDE2MiwgMTAxNjQsIDEwMTY2LCAxMDE2OCwgCisgICAgMTAxNzAsIDEwMTcyLCAxMDE3NCwgMTAxNzYsIDEwMTc4LCAxMDE4MCwgMTAxODIsIDEwMTg0LCAxMDE4NiwgMTAxODgsIAorICAgIDEwMTkwLCAxMDE5MiwgMTAxOTQsIDEwMTk2LCAxMDE5OCwgMTAyMDAsIDEwMjAyLCAxMDIwNCwgMTAyMDYsIDEwMjA4LCAKKyAgICAxMDIxMCwgMTAyMTIsIDEwMjE0LCAxMDIxNiwgMTAyMTgsIDEwMjIwLCAxMDIyMiwgMTAyMjQsIDEwMjI2LCAxMDIyOCwgCisgICAgMTAyMzAsIDEwMjMyLCAxMDIzNCwgMTAyMzYsIDEwMjM4LCAxMDI0MCwgMTAyNDIsIDEwMjQ0LCAxMDI0NiwgMTAyNDgsIAorICAgIDEwMjUwLCAxMDI1MiwgMTAyNTQsIDEwMjU2LCAxMDI1OCwgMTAyNjAsIDEwMjYyLCAxMDI2NCwgMTAyNjYsIDEwMjY4LCAKKyAgICAxMDI3MCwgMTAyNzIsIDEwMjc0LCAxMDI3NiwgMTAyNzgsIDEwMjgwLCAxMDI4MiwgMTAyODQsIDEwMjg2LCAxMDI4OCwgCisgICAgMTAyOTAsIDEwMjkyLCAxMDI5NCwgMTAyOTYsIDEwMjk4LCAxMDMwMCwgMTAzMDIsIDEwMzA0LCAxMDMwNiwgMTAzMDgsIAorICAgIDEwMzEwLCAxMDMxMiwgMTAzMTQsIDEwMzE2LCAxMDMxOCwgMTAzMjAsIDEwMzIyLCAxMDMyNCwgMTAzMjYsIDEwMzI4LCAKKyAgICAxMDMzMCwgMTAzMzIsIDEwMzM0LCAxMDMzNiwgMTAzMzgsIDEwMzQwLCAxMDM0MiwgMTAzNDQsIDEwMzQ2LCAxMDM0OCwgCisgICAgMTAzNTAsIDEwMzUyLCAxMDM1NCwgMTAzNTYsIDEwMzU4LCAxMDM2MCwgMTAzNjIsIDEwMzY0LCAxMDM2NiwgMTAzNjgsIAorICAgIDEwMzcwLCAxMDM3MiwgMTAzNzQsIDEwMzc2LCAwLCAwLCAwLCAxMDM3OCwgMTAzODAsIDEwMzgyLCAxMDM4NCwgMTAzODYsIAorICAgIDEwMzg4LCAwLCAwLCAxMDM5MCwgMTAzOTIsIDEwMzk0LCAxMDM5NiwgMTAzOTgsIDEwNDAwLCAwLCAwLCAxMDQwMiwgCisgICAgMTA0MDQsIDEwNDA2LCAxMDQwOCwgMTA0MTAsIDEwNDEyLCAwLCAwLCAxMDQxNCwgMTA0MTYsIDEwNDE4LCAwLCAwLCAwLCAKKyAgICAxMDQyMCwgMTA0MjIsIDEwNDI0LCAxMDQyNiwgMTA0MjgsIDEwNDMwLCAxMDQzMiwgMCwgMTA0MzQsIDEwNDM2LCAxMDQzOCwgCisgICAgMTA0NDAsIDEwNDQyLCAxMDQ0NCwgMTA0NDYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDEyNzY0LCAxMjc2NywgMTI3NzAsIDEyNzczLCAxMjc3NiwgMTI3NzksIDEyNzgyLCAxMjc4NSwgCi0gICAgMTI3ODgsIDEyNzkxLCAxMjc5NCwgMCwgMCwgMCwgMCwgMCwgMTI3OTcsIDEyODAxLCAxMjgwNSwgMTI4MDksIDEyODEzLCAKLSAgICAxMjgxNywgMTI4MjEsIDEyODI1LCAxMjgyOSwgMTI4MzMsIDEyODM3LCAxMjg0MSwgMTI4NDUsIDEyODQ5LCAxMjg1MywgCi0gICAgMTI4NTcsIDEyODYxLCAxMjg2NSwgMTI4NjksIDEyODczLCAxMjg3NywgMTI4ODEsIDEyODg1LCAxMjg4OSwgMTI4OTMsIAotICAgIDEyODk3LCAxMjkwMSwgMTI5MDUsIDEyOTA3LCAxMjkwOSwgMTI5MTIsIDAsIDEyOTE1LCAxMjkxNywgMTI5MTksIDEyOTIxLCAKLSAgICAxMjkyMywgMTI5MjUsIDEyOTI3LCAxMjkyOSwgMTI5MzEsIDEyOTMzLCAxMjkzNSwgMTI5MzcsIDEyOTM5LCAxMjk0MSwgCi0gICAgMTI5NDMsIDEyOTQ1LCAxMjk0NywgMTI5NDksIDEyOTUxLCAxMjk1MywgMTI5NTUsIDEyOTU3LCAxMjk1OSwgMTI5NjEsIAotICAgIDEyOTYzLCAxMjk2NSwgMTI5NjcsIDEyOTcwLCAxMjk3MywgMTI5NzYsIDEyOTc5LCAxMjk4MywgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTI5ODYsIDEyOTg5LCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMjk5MiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMTA0NDgsIDAsIDEwNDUxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAxMDQ1NCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMTI5OTUsIDEyOTk4LCAxMzAwMSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMTMwMDMsIDEzMDA1LCAxMzAwNywgMTMwMDksIDEzMDExLCAxMzAxMywgMTMwMTUsIDEzMDE3LCAxMzAxOSwgMTMwMjEsIAotICAgIDEzMDIzLCAxMzAyNSwgMTMwMjcsIDEzMDI5LCAxMzAzMSwgMTMwMzMsIDEzMDM1LCAxMzAzNywgMTMwMzksIDEzMDQxLCAKLSAgICAxMzA0MywgMTMwNDUsIDEzMDQ3LCAxMzA0OSwgMTMwNTEsIDEzMDUzLCAxMzA1NSwgMTMwNTcsIDEzMDU5LCAxMzA2MSwgCi0gICAgMTMwNjMsIDEzMDY1LCAxMzA2NywgMTMwNjksIDEzMDcxLCAxMzA3MywgMTMwNzUsIDEzMDc3LCAxMzA3OSwgMTMwODEsIAotICAgIDEzMDgzLCAxMzA4NSwgMTMwODcsIDAsIDAsIDAsIDAsIDAsIDEzMDg5LCAxMzA5MywgMTMwOTcsIDEzMTAxLCAxMzEwNSwgCi0gICAgMTMxMDksIDEzMTEzLCAxMzExNywgMTMxMjEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEzMTI1LCAxMzEyNywgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTA0NTcsIDEwNDYwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAxMDQ2MywgMTA0NjYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDEzMTI5LCAxMzEzMSwgMTMxMzMsIDEzMTM1LCAxMzEzNywgMTMxMzksIDEzMTQxLCAxMzE0MywgMTMxNDUsIAotICAgIDEzMTQ3LCAxMzE0OSwgMTMxNTEsIDEzMTUzLCAxMzE1NSwgMTMxNTcsIDEzMTU5LCAxMzE2MSwgMTMxNjMsIDEzMTY1LCAKLSAgICAxMzE2NywgMTMxNjksIDEzMTcxLCAxMzE3MywgMTMxNzUsIDEzMTc3LCAxMzE3OSwgMTMxODEsIDEzMTgzLCAxMzE4NSwgCi0gICAgMTMxODcsIDEzMTg5LCAxMzE5MSwgMTMxOTMsIDEzMTk1LCAxMzE5NywgMTMxOTksIDEzMjAxLCAxMzIwMywgMTMyMDUsIAotICAgIDEzMjA3LCAxMzIwOSwgMTMyMTEsIDEzMjEzLCAxMzIxNSwgMTMyMTcsIDEzMjE5LCAxMzIyMSwgMTMyMjMsIDEzMjI1LCAKLSAgICAxMzIyNywgMTMyMjksIDEzMjMxLCAxMzIzMywgMTMyMzUsIDEzMjM3LCAxMzIzOSwgMTMyNDEsIDEzMjQzLCAxMzI0NSwgCi0gICAgMTMyNDcsIDEzMjQ5LCAxMzI1MSwgMTMyNTMsIDEzMjU1LCAxMzI1NywgMTMyNTksIDEzMjYxLCAxMzI2MywgMTMyNjUsIAotICAgIDEzMjY3LCAxMzI2OSwgMTMyNzEsIDEzMjczLCAxMzI3NSwgMTMyNzcsIDEzMjc5LCAxMzI4MSwgMTMyODMsIDEzMjg1LCAKLSAgICAxMzI4NywgMTMyODksIDEzMjkxLCAxMzI5MywgMTMyOTUsIDEzMjk3LCAxMzI5OSwgMTMzMDEsIDEzMzAzLCAxMzMwNSwgCi0gICAgMTMzMDcsIDEzMzA5LCAxMzMxMSwgMTMzMTMsIDEzMzE1LCAxMzMxNywgMTMzMTksIDEzMzIxLCAxMzMyMywgMTMzMjUsIAotICAgIDEzMzI3LCAxMzMyOSwgMTMzMzEsIDEzMzMzLCAxMzMzNSwgMTMzMzcsIDEzMzM5LCAxMzM0MSwgMTMzNDMsIDEzMzQ1LCAKLSAgICAxMzM0NywgMTMzNDksIDEzMzUxLCAxMzM1MywgMTMzNTUsIDEzMzU3LCAxMzM1OSwgMTMzNjEsIDEzMzYzLCAxMzM2NSwgCi0gICAgMTMzNjcsIDEzMzY5LCAxMzM3MSwgMTMzNzMsIDEzMzc1LCAxMzM3NywgMTMzNzksIDEzMzgxLCAxMzM4MywgMTMzODUsIAotICAgIDEzMzg3LCAxMzM4OSwgMTMzOTEsIDEzMzkzLCAxMzM5NSwgMTMzOTcsIDEzMzk5LCAxMzQwMSwgMTM0MDMsIDEzNDA1LCAKLSAgICAxMzQwNywgMTM0MDksIDEzNDExLCAxMzQxMywgMTM0MTUsIDEzNDE3LCAxMzQxOSwgMTM0MjEsIDEzNDIzLCAxMzQyNSwgCi0gICAgMTM0MjcsIDEzNDI5LCAxMzQzMSwgMTM0MzMsIDEzNDM1LCAxMzQzNywgMTM0MzksIDEzNDQxLCAxMzQ0MywgMTM0NDUsIAotICAgIDEzNDQ3LCAxMzQ0OSwgMTM0NTEsIDEzNDUzLCAxMzQ1NSwgMTM0NTcsIDEzNDU5LCAxMzQ2MSwgMTM0NjMsIDEzNDY1LCAKLSAgICAxMzQ2NywgMTM0NjksIDEzNDcxLCAxMzQ3MywgMTM0NzUsIDEzNDc3LCAxMzQ3OSwgMTM0ODEsIDEzNDgzLCAxMzQ4NSwgCi0gICAgMTM0ODcsIDEzNDg5LCAxMzQ5MSwgMTM0OTMsIDEzNDk1LCAxMzQ5NywgMTM0OTksIDEzNTAxLCAxMzUwMywgMTM1MDUsIAotICAgIDEzNTA3LCAxMzUwOSwgMTM1MTEsIDEzNTEzLCAxMzUxNSwgMTM1MTcsIDEzNTE5LCAxMzUyMSwgMTM1MjMsIDEzNTI1LCAKLSAgICAxMzUyNywgMTM1MjksIDEzNTMxLCAxMzUzMywgMTM1MzUsIDEzNTM3LCAxMzUzOSwgMTM1NDEsIDEzNTQzLCAxMzU0NSwgCi0gICAgMTM1NDcsIDEzNTQ5LCAxMzU1MSwgMTM1NTMsIDEzNTU1LCAxMzU1NywgMTM1NTksIDEzNTYxLCAxMzU2MywgMTM1NjUsIAotICAgIDEzNTY3LCAxMzU2OSwgMTM1NzEsIDEzNTczLCAxMzU3NSwgMTM1NzcsIDEzNTc5LCAxMzU4MSwgMTM1ODMsIDEzNTg1LCAKLSAgICAxMzU4NywgMTM1ODksIDEzNTkxLCAxMzU5MywgMTM1OTUsIDEzNTk3LCAxMzU5OSwgMTM2MDEsIDEzNjAzLCAxMzYwNSwgCi0gICAgMTM2MDcsIDEzNjA5LCAxMzYxMSwgMTM2MTMsIDEzNjE1LCAxMzYxNywgMTM2MTksIDEzNjIxLCAxMzYyMywgMTM2MjUsIAotICAgIDEzNjI3LCAxMzYyOSwgMTM2MzEsIDEzNjMzLCAxMzYzNSwgMTM2MzcsIDEzNjM5LCAxMzY0MSwgMTM2NDMsIDEzNjQ1LCAKLSAgICAxMzY0NywgMTM2NDksIDEzNjUxLCAxMzY1MywgMTM2NTUsIDEzNjU3LCAxMzY1OSwgMTM2NjEsIDEzNjYzLCAxMzY2NSwgCi0gICAgMTM2NjcsIDEzNjY5LCAxMzY3MSwgMTM2NzMsIDEzNjc1LCAxMzY3NywgMTM2NzksIDEzNjgxLCAxMzY4MywgMTM2ODUsIAotICAgIDEzNjg3LCAxMzY4OSwgMTM2OTEsIDEzNjkzLCAxMzY5NSwgMTM2OTcsIDEzNjk5LCAxMzcwMSwgMTM3MDMsIDEzNzA1LCAKLSAgICAxMzcwNywgMTM3MDksIDEzNzExLCAxMzcxMywgMTM3MTUsIDEzNzE3LCAxMzcxOSwgMTM3MjEsIDEzNzIzLCAxMzcyNSwgCi0gICAgMTM3MjcsIDEzNzI5LCAxMzczMSwgMTM3MzMsIDEzNzM1LCAxMzczNywgMTM3MzksIDEzNzQxLCAxMzc0MywgMTM3NDUsIAotICAgIDEzNzQ3LCAxMzc0OSwgMTM3NTEsIDEzNzUzLCAxMzc1NSwgMTM3NTcsIDEzNzU5LCAxMzc2MSwgMTM3NjMsIDEzNzY1LCAKLSAgICAxMzc2NywgMTM3NjksIDEzNzcxLCAxMzc3MywgMTM3NzUsIDEzNzc3LCAxMzc3OSwgMTM3ODEsIDEzNzgzLCAxMzc4NSwgCi0gICAgMTM3ODcsIDEzNzg5LCAxMzc5MSwgMTM3OTMsIDEzNzk1LCAxMzc5NywgMTM3OTksIDEzODAxLCAxMzgwMywgMTM4MDUsIAotICAgIDEzODA3LCAxMzgwOSwgMTM4MTEsIDEzODEzLCAxMzgxNSwgMTM4MTcsIDEzODE5LCAxMzgyMSwgMTM4MjMsIDEzODI1LCAKLSAgICAxMzgyNywgMTM4MjksIDEzODMxLCAxMzgzMywgMTM4MzUsIDEzODM3LCAxMzgzOSwgMTM4NDEsIDEzODQzLCAxMzg0NSwgCi0gICAgMTM4NDcsIDEzODQ5LCAxMzg1MSwgMTM4NTMsIDEzODU1LCAxMzg1NywgMTM4NTksIDEzODYxLCAxMzg2MywgMTM4NjUsIAotICAgIDEzODY3LCAxMzg2OSwgMTM4NzEsIDEzODczLCAxMzg3NSwgMTM4NzcsIDEzODc5LCAxMzg4MSwgMTM4ODMsIDEzODg1LCAKLSAgICAxMzg4NywgMTM4ODksIDEzODkxLCAxMzg5MywgMTM4OTUsIDEzODk3LCAxMzg5OSwgMTM5MDEsIDEzOTAzLCAxMzkwNSwgCi0gICAgMTM5MDcsIDEzOTA5LCAxMzkxMSwgMTM5MTMsIDEzOTE1LCAxMzkxNywgMTM5MTksIDEzOTIxLCAxMzkyMywgMTM5MjUsIAotICAgIDEzOTI3LCAxMzkyOSwgMTM5MzEsIDEzOTMzLCAxMzkzNSwgMTM5MzcsIDEzOTM5LCAxMzk0MSwgMTM5NDMsIDEzOTQ1LCAKLSAgICAxMzk0NywgMTM5NDksIDEzOTUxLCAxMzk1MywgMTM5NTUsIDEzOTU3LCAxMzk1OSwgMTM5NjEsIDEzOTYzLCAxMzk2NSwgCi0gICAgMTM5NjcsIDEzOTY5LCAxMzk3MSwgMTM5NzMsIDEzOTc1LCAxMzk3NywgMTM5NzksIDEzOTgxLCAxMzk4MywgMTM5ODUsIAotICAgIDEzOTg3LCAxMzk4OSwgMTM5OTEsIDEzOTkzLCAxMzk5NSwgMTM5OTcsIDEzOTk5LCAxNDAwMSwgMTQwMDMsIDE0MDA1LCAKLSAgICAxNDAwNywgMTQwMDksIDE0MDExLCAxNDAxMywgMTQwMTUsIDE0MDE3LCAxNDAxOSwgMTQwMjEsIDE0MDIzLCAxNDAyNSwgCi0gICAgMTQwMjcsIDE0MDI5LCAxNDAzMSwgMTQwMzMsIDE0MDM1LCAxNDAzNywgMTQwMzksIDE0MDQxLCAxNDA0MywgMTQwNDUsIAotICAgIDE0MDQ3LCAxNDA0OSwgMTQwNTEsIDE0MDUzLCAxNDA1NSwgMTQwNTcsIDE0MDU5LCAxNDA2MSwgMTQwNjMsIDE0MDY1LCAKLSAgICAxNDA2NywgMTQwNjksIDE0MDcxLCAxNDA3MywgMTQwNzUsIDE0MDc3LCAxNDA3OSwgMTQwODEsIDE0MDgzLCAxNDA4NSwgCi0gICAgMTQwODcsIDE0MDg5LCAxNDA5MSwgMTQwOTMsIDE0MDk1LCAxNDA5NywgMTQwOTksIDE0MTAxLCAxNDEwMywgMTQxMDUsIAotICAgIDE0MTA3LCAxNDEwOSwgMTQxMTEsIDE0MTEzLCAxNDExNSwgMTQxMTcsIDE0MTE5LCAxNDEyMSwgMTQxMjMsIDE0MTI1LCAKLSAgICAxNDEyNywgMTQxMjksIDE0MTMxLCAxNDEzMywgMTQxMzUsIDE0MTM3LCAxNDEzOSwgMTQxNDEsIDE0MTQzLCAxNDE0NSwgCi0gICAgMTQxNDcsIDE0MTQ5LCAxNDE1MSwgMTQxNTMsIDE0MTU1LCAxNDE1NywgMTQxNTksIDE0MTYxLCAxNDE2MywgMTQxNjUsIAotICAgIDE0MTY3LCAxNDE2OSwgMTQxNzEsIDE0MTczLCAxNDE3NSwgMTQxNzcsIDE0MTc5LCAxNDE4MSwgMTQxODMsIDE0MTg1LCAKLSAgICAxNDE4NywgMTQxODksIDE0MTkxLCAxNDE5MywgMTQxOTUsIDE0MTk3LCAxNDE5OSwgMTQyMDEsIDE0MjAzLCAxNDIwNSwgCi0gICAgMTQyMDcsIDE0MjA5LCAxNDIxMSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTA0NjksIAorICAgIDEwNDcyLCAwLCAxMDQ3NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTA0NzgsIDEwNDgxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAxMDQ4NCwgMTA0ODcsIDEwNDkwLCAxMDQ5MywgMTA0OTYsIDEwNDk5LCAxMDUwMiwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTA1MDUsIDEwNTA4LCAxMDUxMSwgMTA1MTQsIDEwNTE3LCAKKyAgICAxMDUyMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTA1MjMsIDEwNTI1LCAxMDUyNywgCisgICAgMTA1MjksIDEwNTMxLCAxMDUzMywgMTA1MzUsIDEwNTM3LCAxMDUzOSwgMTA1NDEsIDEwNTQzLCAxMDU0NSwgMTA1NDcsIAorICAgIDEwNTQ5LCAxMDU1MSwgMTA1NTMsIDEwNTU1LCAxMDU1NywgMTA1NTksIDEwNTYxLCAxMDU2MywgMTA1NjUsIDEwNTY3LCAKKyAgICAxMDU2OSwgMTA1NzEsIDEwNTczLCAxMDU3NSwgMTA1NzcsIDEwNTc5LCAxMDU4MSwgMTA1ODMsIDEwNTg1LCAxMDU4NywgCisgICAgMTA1ODksIDEwNTkxLCAxMDU5MywgMTA1OTUsIDEwNTk3LCAxMDU5OSwgMTA2MDEsIDEwNjAzLCAxMDYwNSwgMTA2MDcsIAorICAgIDEwNjA5LCAxMDYxMSwgMTA2MTMsIDEwNjE1LCAxMDYxNywgMTA2MTksIDEwNjIxLCAxMDYyMywgMTA2MjUsIDEwNjI3LCAKKyAgICAxMDYyOSwgMTA2MzEsIDEwNjMzLCAxMDYzNSwgMTA2MzcsIDEwNjM5LCAxMDY0MSwgMTA2NDMsIDEwNjQ1LCAxMDY0NywgCisgICAgMTA2NDksIDEwNjUxLCAxMDY1MywgMTA2NTUsIDEwNjU3LCAxMDY1OSwgMTA2NjEsIDEwNjYzLCAxMDY2NSwgMTA2NjcsIAorICAgIDEwNjY5LCAxMDY3MSwgMTA2NzMsIDEwNjc1LCAxMDY3NywgMTA2NzksIDEwNjgxLCAxMDY4MywgMTA2ODUsIDEwNjg3LCAKKyAgICAxMDY4OSwgMTA2OTEsIDAsIDEwNjkzLCAxMDY5NSwgMTA2OTcsIDEwNjk5LCAxMDcwMSwgMTA3MDMsIDEwNzA1LCAxMDcwNywgCisgICAgMTA3MDksIDEwNzExLCAxMDcxMywgMTA3MTUsIDEwNzE3LCAxMDcxOSwgMTA3MjEsIDEwNzIzLCAxMDcyNSwgMTA3MjcsIAorICAgIDEwNzI5LCAxMDczMSwgMTA3MzMsIDEwNzM1LCAxMDczNywgMTA3MzksIDEwNzQxLCAxMDc0MywgMTA3NDUsIDEwNzQ3LCAKKyAgICAxMDc0OSwgMTA3NTEsIDEwNzUzLCAxMDc1NSwgMTA3NTcsIDEwNzU5LCAxMDc2MSwgMTA3NjMsIDEwNzY1LCAxMDc2NywgCisgICAgMTA3NjksIDEwNzcxLCAxMDc3MywgMTA3NzUsIDEwNzc3LCAxMDc3OSwgMTA3ODEsIDEwNzgzLCAxMDc4NSwgMTA3ODcsIAorICAgIDEwNzg5LCAxMDc5MSwgMTA3OTMsIDEwNzk1LCAxMDc5NywgMTA3OTksIDEwODAxLCAxMDgwMywgMTA4MDUsIDEwODA3LCAKKyAgICAxMDgwOSwgMTA4MTEsIDEwODEzLCAxMDgxNSwgMTA4MTcsIDEwODE5LCAxMDgyMSwgMTA4MjMsIDEwODI1LCAxMDgyNywgCisgICAgMTA4MjksIDEwODMxLCAxMDgzMywgMCwgMTA4MzUsIDEwODM3LCAwLCAwLCAxMDgzOSwgMCwgMCwgMTA4NDEsIDEwODQzLCAwLCAKKyAgICAwLCAxMDg0NSwgMTA4NDcsIDEwODQ5LCAxMDg1MSwgMCwgMTA4NTMsIDEwODU1LCAxMDg1NywgMTA4NTksIDEwODYxLCAKKyAgICAxMDg2MywgMTA4NjUsIDEwODY3LCAxMDg2OSwgMTA4NzEsIDEwODczLCAxMDg3NSwgMCwgMTA4NzcsIDAsIDEwODc5LCAKKyAgICAxMDg4MSwgMTA4ODMsIDEwODg1LCAxMDg4NywgMTA4ODksIDEwODkxLCAwLCAxMDg5MywgMTA4OTUsIDEwODk3LCAxMDg5OSwgCisgICAgMTA5MDEsIDEwOTAzLCAxMDkwNSwgMTA5MDcsIDEwOTA5LCAxMDkxMSwgMTA5MTMsIDEwOTE1LCAxMDkxNywgMTA5MTksIAorICAgIDEwOTIxLCAxMDkyMywgMTA5MjUsIDEwOTI3LCAxMDkyOSwgMTA5MzEsIDEwOTMzLCAxMDkzNSwgMTA5MzcsIDEwOTM5LCAKKyAgICAxMDk0MSwgMTA5NDMsIDEwOTQ1LCAxMDk0NywgMTA5NDksIDEwOTUxLCAxMDk1MywgMTA5NTUsIDEwOTU3LCAxMDk1OSwgCisgICAgMTA5NjEsIDEwOTYzLCAxMDk2NSwgMTA5NjcsIDEwOTY5LCAxMDk3MSwgMTA5NzMsIDEwOTc1LCAxMDk3NywgMTA5NzksIAorICAgIDEwOTgxLCAxMDk4MywgMTA5ODUsIDEwOTg3LCAxMDk4OSwgMTA5OTEsIDEwOTkzLCAxMDk5NSwgMTA5OTcsIDEwOTk5LCAKKyAgICAxMTAwMSwgMTEwMDMsIDExMDA1LCAxMTAwNywgMTEwMDksIDExMDExLCAxMTAxMywgMTEwMTUsIDExMDE3LCAxMTAxOSwgCisgICAgMTEwMjEsIDAsIDExMDIzLCAxMTAyNSwgMTEwMjcsIDExMDI5LCAwLCAwLCAxMTAzMSwgMTEwMzMsIDExMDM1LCAxMTAzNywgCisgICAgMTEwMzksIDExMDQxLCAxMTA0MywgMTEwNDUsIDAsIDExMDQ3LCAxMTA0OSwgMTEwNTEsIDExMDUzLCAxMTA1NSwgMTEwNTcsIAorICAgIDExMDU5LCAwLCAxMTA2MSwgMTEwNjMsIDExMDY1LCAxMTA2NywgMTEwNjksIDExMDcxLCAxMTA3MywgMTEwNzUsIDExMDc3LCAKKyAgICAxMTA3OSwgMTEwODEsIDExMDgzLCAxMTA4NSwgMTEwODcsIDExMDg5LCAxMTA5MSwgMTEwOTMsIDExMDk1LCAxMTA5NywgCisgICAgMTEwOTksIDExMTAxLCAxMTEwMywgMTExMDUsIDExMTA3LCAxMTEwOSwgMTExMTEsIDExMTEzLCAxMTExNSwgMCwgMTExMTcsIAorICAgIDExMTE5LCAxMTEyMSwgMTExMjMsIDAsIDExMTI1LCAxMTEyNywgMTExMjksIDExMTMxLCAxMTEzMywgMCwgMTExMzUsIDAsIAorICAgIDAsIDAsIDExMTM3LCAxMTEzOSwgMTExNDEsIDExMTQzLCAxMTE0NSwgMTExNDcsIDExMTQ5LCAwLCAxMTE1MSwgMTExNTMsIAorICAgIDExMTU1LCAxMTE1NywgMTExNTksIDExMTYxLCAxMTE2MywgMTExNjUsIDExMTY3LCAxMTE2OSwgMTExNzEsIDExMTczLCAKKyAgICAxMTE3NSwgMTExNzcsIDExMTc5LCAxMTE4MSwgMTExODMsIDExMTg1LCAxMTE4NywgMTExODksIDExMTkxLCAxMTE5MywgCisgICAgMTExOTUsIDExMTk3LCAxMTE5OSwgMTEyMDEsIDExMjAzLCAxMTIwNSwgMTEyMDcsIDExMjA5LCAxMTIxMSwgMTEyMTMsIAorICAgIDExMjE1LCAxMTIxNywgMTEyMTksIDExMjIxLCAxMTIyMywgMTEyMjUsIDExMjI3LCAxMTIyOSwgMTEyMzEsIDExMjMzLCAKKyAgICAxMTIzNSwgMTEyMzcsIDExMjM5LCAxMTI0MSwgMTEyNDMsIDExMjQ1LCAxMTI0NywgMTEyNDksIDExMjUxLCAxMTI1MywgCisgICAgMTEyNTUsIDExMjU3LCAxMTI1OSwgMTEyNjEsIDExMjYzLCAxMTI2NSwgMTEyNjcsIDExMjY5LCAxMTI3MSwgMTEyNzMsIAorICAgIDExMjc1LCAxMTI3NywgMTEyNzksIDExMjgxLCAxMTI4MywgMTEyODUsIDExMjg3LCAxMTI4OSwgMTEyOTEsIDExMjkzLCAKKyAgICAxMTI5NSwgMTEyOTcsIDExMjk5LCAxMTMwMSwgMTEzMDMsIDExMzA1LCAxMTMwNywgMTEzMDksIDExMzExLCAxMTMxMywgCisgICAgMTEzMTUsIDExMzE3LCAxMTMxOSwgMTEzMjEsIDExMzIzLCAxMTMyNSwgMTEzMjcsIDExMzI5LCAxMTMzMSwgMTEzMzMsIAorICAgIDExMzM1LCAxMTMzNywgMTEzMzksIDExMzQxLCAxMTM0MywgMTEzNDUsIDExMzQ3LCAxMTM0OSwgMTEzNTEsIDExMzUzLCAKKyAgICAxMTM1NSwgMTEzNTcsIDExMzU5LCAxMTM2MSwgMTEzNjMsIDExMzY1LCAxMTM2NywgMTEzNjksIDExMzcxLCAxMTM3MywgCisgICAgMTEzNzUsIDExMzc3LCAxMTM3OSwgMTEzODEsIDExMzgzLCAxMTM4NSwgMTEzODcsIDExMzg5LCAxMTM5MSwgMTEzOTMsIAorICAgIDExMzk1LCAxMTM5NywgMTEzOTksIDExNDAxLCAxMTQwMywgMTE0MDUsIDExNDA3LCAxMTQwOSwgMTE0MTEsIDExNDEzLCAKKyAgICAxMTQxNSwgMTE0MTcsIDExNDE5LCAxMTQyMSwgMTE0MjMsIDExNDI1LCAxMTQyNywgMTE0MjksIDExNDMxLCAxMTQzMywgCisgICAgMTE0MzUsIDExNDM3LCAxMTQzOSwgMTE0NDEsIDExNDQzLCAxMTQ0NSwgMTE0NDcsIDExNDQ5LCAxMTQ1MSwgMTE0NTMsIAorICAgIDExNDU1LCAxMTQ1NywgMTE0NTksIDExNDYxLCAxMTQ2MywgMTE0NjUsIDExNDY3LCAxMTQ2OSwgMTE0NzEsIDExNDczLCAKKyAgICAxMTQ3NSwgMTE0NzcsIDExNDc5LCAxMTQ4MSwgMTE0ODMsIDExNDg1LCAxMTQ4NywgMTE0ODksIDExNDkxLCAxMTQ5MywgCisgICAgMTE0OTUsIDExNDk3LCAxMTQ5OSwgMTE1MDEsIDExNTAzLCAxMTUwNSwgMTE1MDcsIDExNTA5LCAxMTUxMSwgMTE1MTMsIAorICAgIDExNTE1LCAxMTUxNywgMTE1MTksIDExNTIxLCAxMTUyMywgMTE1MjUsIDExNTI3LCAxMTUyOSwgMTE1MzEsIDExNTMzLCAKKyAgICAxMTUzNSwgMTE1MzcsIDExNTM5LCAxMTU0MSwgMTE1NDMsIDExNTQ1LCAxMTU0NywgMTE1NDksIDExNTUxLCAxMTU1MywgCisgICAgMTE1NTUsIDExNTU3LCAxMTU1OSwgMTE1NjEsIDExNTYzLCAxMTU2NSwgMTE1NjcsIDExNTY5LCAxMTU3MSwgMTE1NzMsIAorICAgIDExNTc1LCAxMTU3NywgMTE1NzksIDExNTgxLCAxMTU4MywgMTE1ODUsIDExNTg3LCAxMTU4OSwgMTE1OTEsIDExNTkzLCAKKyAgICAxMTU5NSwgMTE1OTcsIDExNTk5LCAxMTYwMSwgMTE2MDMsIDExNjA1LCAxMTYwNywgMTE2MDksIDExNjExLCAxMTYxMywgCisgICAgMTE2MTUsIDExNjE3LCAxMTYxOSwgMTE2MjEsIDExNjIzLCAxMTYyNSwgMTE2MjcsIDExNjI5LCAxMTYzMSwgMTE2MzMsIAorICAgIDExNjM1LCAxMTYzNywgMTE2MzksIDExNjQxLCAxMTY0MywgMTE2NDUsIDExNjQ3LCAxMTY0OSwgMTE2NTEsIDExNjUzLCAKKyAgICAxMTY1NSwgMTE2NTcsIDExNjU5LCAxMTY2MSwgMTE2NjMsIDExNjY1LCAxMTY2NywgMTE2NjksIDExNjcxLCAxMTY3MywgCisgICAgMTE2NzUsIDExNjc3LCAxMTY3OSwgMTE2ODEsIDExNjgzLCAxMTY4NSwgMTE2ODcsIDExNjg5LCAxMTY5MSwgMTE2OTMsIAorICAgIDExNjk1LCAxMTY5NywgMTE2OTksIDExNzAxLCAxMTcwMywgMTE3MDUsIDExNzA3LCAxMTcwOSwgMTE3MTEsIDExNzEzLCAKKyAgICAxMTcxNSwgMTE3MTcsIDExNzE5LCAxMTcyMSwgMTE3MjMsIDExNzI1LCAxMTcyNywgMTE3MjksIDExNzMxLCAxMTczMywgCisgICAgMTE3MzUsIDExNzM3LCAxMTczOSwgMTE3NDEsIDExNzQzLCAxMTc0NSwgMTE3NDcsIDExNzQ5LCAxMTc1MSwgMTE3NTMsIAorICAgIDExNzU1LCAxMTc1NywgMTE3NTksIDExNzYxLCAxMTc2MywgMTE3NjUsIDExNzY3LCAxMTc2OSwgMTE3NzEsIDExNzczLCAKKyAgICAxMTc3NSwgMTE3NzcsIDExNzc5LCAxMTc4MSwgMTE3ODMsIDExNzg1LCAxMTc4NywgMTE3ODksIDExNzkxLCAxMTc5MywgCisgICAgMTE3OTUsIDExNzk3LCAxMTc5OSwgMTE4MDEsIDExODAzLCAxMTgwNSwgMTE4MDcsIDExODA5LCAxMTgxMSwgMTE4MTMsIAorICAgIDExODE1LCAxMTgxNywgMTE4MTksIDExODIxLCAxMTgyMywgMTE4MjUsIDExODI3LCAxMTgyOSwgMCwgMCwgMTE4MzEsIAorICAgIDExODMzLCAxMTgzNSwgMTE4MzcsIDExODM5LCAxMTg0MSwgMTE4NDMsIDExODQ1LCAxMTg0NywgMTE4NDksIDExODUxLCAKKyAgICAxMTg1MywgMTE4NTUsIDExODU3LCAxMTg1OSwgMTE4NjEsIDExODYzLCAxMTg2NSwgMTE4NjcsIDExODY5LCAxMTg3MSwgCisgICAgMTE4NzMsIDExODc1LCAxMTg3NywgMTE4NzksIDExODgxLCAxMTg4MywgMTE4ODUsIDExODg3LCAxMTg4OSwgMTE4OTEsIAorICAgIDExODkzLCAxMTg5NSwgMTE4OTcsIDExODk5LCAxMTkwMSwgMTE5MDMsIDExOTA1LCAxMTkwNywgMTE5MDksIDExOTExLCAKKyAgICAxMTkxMywgMTE5MTUsIDExOTE3LCAxMTkxOSwgMTE5MjEsIDExOTIzLCAxMTkyNSwgMTE5MjcsIDExOTI5LCAxMTkzMSwgCisgICAgMTE5MzMsIDExOTM1LCAxMTkzNywgMTE5MzksIDExOTQxLCAxMTk0MywgMTE5NDUsIDExOTQ3LCAxMTk0OSwgMTE5NTEsIAorICAgIDExOTUzLCAxMTk1NSwgMTE5NTcsIDExOTU5LCAxMTk2MSwgMTE5NjMsIDExOTY1LCAxMTk2NywgMTE5NjksIDExOTcxLCAKKyAgICAxMTk3MywgMTE5NzUsIDExOTc3LCAxMTk3OSwgMTE5ODEsIDExOTgzLCAxMTk4NSwgMTE5ODcsIDExOTg5LCAxMTk5MSwgCisgICAgMTE5OTMsIDExOTk1LCAxMTk5NywgMTE5OTksIDEyMDAxLCAxMjAwMywgMTIwMDUsIDEyMDA3LCAxMjAwOSwgMTIwMTEsIAorICAgIDEyMDEzLCAxMjAxNSwgMTIwMTcsIDEyMDE5LCAxMjAyMSwgMTIwMjMsIDEyMDI1LCAxMjAyNywgMTIwMjksIDEyMDMxLCAKKyAgICAxMjAzMywgMTIwMzUsIDEyMDM3LCAxMjAzOSwgMTIwNDEsIDEyMDQzLCAxMjA0NSwgMTIwNDcsIDEyMDQ5LCAxMjA1MSwgCisgICAgMTIwNTMsIDEyMDU1LCAxMjA1NywgMTIwNTksIDEyMDYxLCAxMjA2MywgMTIwNjUsIDEyMDY3LCAxMjA2OSwgMTIwNzEsIAorICAgIDEyMDczLCAxMjA3NSwgMTIwNzcsIDEyMDc5LCAxMjA4MSwgMTIwODMsIDEyMDg1LCAxMjA4NywgMTIwODksIDEyMDkxLCAKKyAgICAxMjA5MywgMTIwOTUsIDEyMDk3LCAxMjA5OSwgMTIxMDEsIDEyMTAzLCAxMjEwNSwgMTIxMDcsIDEyMTA5LCAxMjExMSwgCisgICAgMTIxMTMsIDEyMTE1LCAxMjExNywgMTIxMTksIDEyMTIxLCAxMjEyMywgMTIxMjUsIDEyMTI3LCAxMjEyOSwgMTIxMzEsIAorICAgIDEyMTMzLCAxMjEzNSwgMTIxMzcsIDEyMTM5LCAxMjE0MSwgMTIxNDMsIDEyMTQ1LCAxMjE0NywgMTIxNDksIDEyMTUxLCAKKyAgICAxMjE1MywgMTIxNTUsIDEyMTU3LCAxMjE1OSwgMTIxNjEsIDEyMTYzLCAxMjE2NSwgMTIxNjcsIDEyMTY5LCAxMjE3MSwgCisgICAgMTIxNzMsIDEyMTc1LCAxMjE3NywgMTIxNzksIDEyMTgxLCAxMjE4MywgMTIxODUsIDEyMTg3LCAxMjE4OSwgMTIxOTEsIAorICAgIDEyMTkzLCAxMjE5NSwgMTIxOTcsIDEyMTk5LCAxMjIwMSwgMTIyMDMsIDEyMjA1LCAxMjIwNywgMTIyMDksIDEyMjExLCAKKyAgICAxMjIxMywgMTIyMTUsIDEyMjE3LCAxMjIxOSwgMTIyMjEsIDEyMjIzLCAxMjIyNSwgMTIyMjcsIDEyMjI5LCAxMjIzMSwgCisgICAgMTIyMzMsIDEyMjM1LCAxMjIzNywgMTIyMzksIDEyMjQxLCAxMjI0MywgMTIyNDUsIDEyMjQ3LCAxMjI0OSwgMTIyNTEsIAorICAgIDEyMjUzLCAxMjI1NSwgMTIyNTcsIDEyMjU5LCAxMjI2MSwgMTIyNjMsIDEyMjY1LCAxMjI2NywgMTIyNjksIDEyMjcxLCAKKyAgICAxMjI3MywgMTIyNzUsIDEyMjc3LCAxMjI3OSwgMTIyODEsIDEyMjgzLCAxMjI4NSwgMTIyODcsIDEyMjg5LCAxMjI5MSwgCisgICAgMTIyOTMsIDEyMjk1LCAxMjI5NywgMTIyOTksIDEyMzAxLCAxMjMwMywgMTIzMDUsIDEyMzA3LCAxMjMwOSwgMTIzMTEsIAorICAgIDEyMzEzLCAxMjMxNSwgMTIzMTcsIDEyMzE5LCAxMjMyMSwgMTIzMjMsIDEyMzI1LCAxMjMyNywgMTIzMjksIDEyMzMxLCAKKyAgICAxMjMzMywgMTIzMzUsIDEyMzM3LCAxMjMzOSwgMTIzNDEsIDEyMzQzLCAxMjM0NSwgMTIzNDcsIDEyMzQ5LCAxMjM1MSwgCisgICAgMTIzNTMsIDEyMzU1LCAxMjM1NywgMTIzNTksIDEyMzYxLCAxMjM2MywgMTIzNjUsIDEyMzY3LCAxMjM2OSwgMTIzNzEsIAorICAgIDEyMzczLCAxMjM3NSwgMTIzNzcsIDEyMzc5LCAxMjM4MSwgMTIzODMsIDEyMzg1LCAxMjM4NywgMTIzODksIDEyMzkxLCAKKyAgICAxMjM5MywgMTIzOTUsIDEyMzk3LCAxMjM5OSwgMTI0MDEsIDEyNDAzLCAxMjQwNSwgMTI0MDcsIDEyNDA5LCAxMjQxMSwgCisgICAgMTI0MTMsIDAsIDAsIDEyNDE1LCAxMjQxNywgMTI0MTksIDEyNDIxLCAxMjQyMywgMTI0MjUsIDEyNDI3LCAxMjQyOSwgCisgICAgMTI0MzEsIDEyNDMzLCAxMjQzNSwgMTI0MzcsIDEyNDM5LCAxMjQ0MSwgMTI0NDMsIDEyNDQ1LCAxMjQ0NywgMTI0NDksIAorICAgIDEyNDUxLCAxMjQ1MywgMTI0NTUsIDEyNDU3LCAxMjQ1OSwgMTI0NjEsIDEyNDYzLCAxMjQ2NSwgMTI0NjcsIDEyNDY5LCAKKyAgICAxMjQ3MSwgMTI0NzMsIDEyNDc1LCAxMjQ3NywgMTI0NzksIDEyNDgxLCAxMjQ4MywgMTI0ODUsIDEyNDg3LCAxMjQ4OSwgCisgICAgMTI0OTEsIDEyNDkzLCAxMjQ5NSwgMTI0OTcsIDEyNDk5LCAxMjUwMSwgMTI1MDMsIDEyNTA1LCAxMjUwNywgMTI1MDksIAorICAgIDEyNTExLCAxMjUxMywgMTI1MTUsIDEyNTE3LCAxMjUxOSwgMTI1MjEsIDAsIDEyNTIzLCAxMjUyNSwgMTI1MjcsIDEyNTI5LCAKKyAgICAxMjUzMSwgMTI1MzMsIDEyNTM1LCAxMjUzNywgMTI1MzksIDEyNTQxLCAxMjU0MywgMTI1NDUsIDEyNTQ3LCAxMjU0OSwgCisgICAgMTI1NTEsIDEyNTUzLCAxMjU1NSwgMTI1NTcsIDEyNTU5LCAxMjU2MSwgMTI1NjMsIDEyNTY1LCAxMjU2NywgMTI1NjksIAorICAgIDEyNTcxLCAxMjU3MywgMTI1NzUsIDAsIDEyNTc3LCAxMjU3OSwgMCwgMTI1ODEsIDAsIDAsIDEyNTgzLCAwLCAxMjU4NSwgCisgICAgMTI1ODcsIDEyNTg5LCAxMjU5MSwgMTI1OTMsIDEyNTk1LCAxMjU5NywgMTI1OTksIDEyNjAxLCAxMjYwMywgMCwgMTI2MDUsIAorICAgIDEyNjA3LCAxMjYwOSwgMTI2MTEsIDAsIDEyNjEzLCAwLCAxMjYxNSwgMCwgMCwgMCwgMCwgMCwgMCwgMTI2MTcsIDAsIDAsIAorICAgIDAsIDAsIDEyNjE5LCAwLCAxMjYyMSwgMCwgMTI2MjMsIDAsIDEyNjI1LCAxMjYyNywgMTI2MjksIDAsIDEyNjMxLCAxMjYzMywgCisgICAgMCwgMTI2MzUsIDAsIDAsIDEyNjM3LCAwLCAxMjYzOSwgMCwgMTI2NDEsIDAsIDEyNjQzLCAwLCAxMjY0NSwgMCwgMTI2NDcsIAorICAgIDEyNjQ5LCAwLCAxMjY1MSwgMCwgMCwgMTI2NTMsIDEyNjU1LCAxMjY1NywgMTI2NTksIDAsIDEyNjYxLCAxMjY2MywgCisgICAgMTI2NjUsIDEyNjY3LCAxMjY2OSwgMTI2NzEsIDEyNjczLCAwLCAxMjY3NSwgMTI2NzcsIDEyNjc5LCAxMjY4MSwgMCwgCisgICAgMTI2ODMsIDEyNjg1LCAxMjY4NywgMTI2ODksIDAsIDEyNjkxLCAwLCAxMjY5MywgMTI2OTUsIDEyNjk3LCAxMjY5OSwgCisgICAgMTI3MDEsIDEyNzAzLCAxMjcwNSwgMTI3MDcsIDEyNzA5LCAxMjcxMSwgMCwgMTI3MTMsIDEyNzE1LCAxMjcxNywgMTI3MTksIAorICAgIDEyNzIxLCAxMjcyMywgMTI3MjUsIDEyNzI3LCAxMjcyOSwgMTI3MzEsIDEyNzMzLCAxMjczNSwgMTI3MzcsIDEyNzM5LCAKKyAgICAxMjc0MSwgMTI3NDMsIDEyNzQ1LCAwLCAwLCAwLCAwLCAwLCAxMjc0NywgMTI3NDksIDEyNzUxLCAwLCAxMjc1MywgMTI3NTUsIAorICAgIDEyNzU3LCAxMjc1OSwgMTI3NjEsIDAsIDEyNzYzLCAxMjc2NSwgMTI3NjcsIDEyNzY5LCAxMjc3MSwgMTI3NzMsIDEyNzc1LCAKKyAgICAxMjc3NywgMTI3NzksIDEyNzgxLCAxMjc4MywgMTI3ODUsIDEyNzg3LCAxMjc4OSwgMTI3OTEsIDEyNzkzLCAxMjc5NSwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTI3OTcsIDEyODAwLCAKKyAgICAxMjgwMywgMTI4MDYsIDEyODA5LCAxMjgxMiwgMTI4MTUsIDEyODE4LCAxMjgyMSwgMTI4MjQsIDEyODI3LCAwLCAwLCAwLCAKKyAgICAwLCAwLCAxMjgzMCwgMTI4MzQsIDEyODM4LCAxMjg0MiwgMTI4NDYsIDEyODUwLCAxMjg1NCwgMTI4NTgsIDEyODYyLCAKKyAgICAxMjg2NiwgMTI4NzAsIDEyODc0LCAxMjg3OCwgMTI4ODIsIDEyODg2LCAxMjg5MCwgMTI4OTQsIDEyODk4LCAxMjkwMiwgCisgICAgMTI5MDYsIDEyOTEwLCAxMjkxNCwgMTI5MTgsIDEyOTIyLCAxMjkyNiwgMTI5MzAsIDEyOTM0LCAxMjkzOCwgMTI5NDAsIAorICAgIDEyOTQyLCAxMjk0NSwgMCwgMTI5NDgsIDEyOTUwLCAxMjk1MiwgMTI5NTQsIDEyOTU2LCAxMjk1OCwgMTI5NjAsIDEyOTYyLCAKKyAgICAxMjk2NCwgMTI5NjYsIDEyOTY4LCAxMjk3MCwgMTI5NzIsIDEyOTc0LCAxMjk3NiwgMTI5NzgsIDEyOTgwLCAxMjk4MiwgCisgICAgMTI5ODQsIDEyOTg2LCAxMjk4OCwgMTI5OTAsIDEyOTkyLCAxMjk5NCwgMTI5OTYsIDEyOTk4LCAxMzAwMCwgMTMwMDMsIAorICAgIDEzMDA2LCAxMzAwOSwgMTMwMTIsIDEzMDE2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMzAxOSwgMTMwMjIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDEzMDI1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMzAyOCwgMTMwMzEsIAorICAgIDEzMDM0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMzAzNiwgMTMwMzgsIDEzMDQwLCAxMzA0MiwgCisgICAgMTMwNDQsIDEzMDQ2LCAxMzA0OCwgMTMwNTAsIDEzMDUyLCAxMzA1NCwgMTMwNTYsIDEzMDU4LCAxMzA2MCwgMTMwNjIsIAorICAgIDEzMDY0LCAxMzA2NiwgMTMwNjgsIDEzMDcwLCAxMzA3MiwgMTMwNzQsIDEzMDc2LCAxMzA3OCwgMTMwODAsIDEzMDgyLCAKKyAgICAxMzA4NCwgMTMwODYsIDEzMDg4LCAxMzA5MCwgMTMwOTIsIDEzMDk0LCAxMzA5NiwgMTMwOTgsIDEzMTAwLCAxMzEwMiwgCisgICAgMTMxMDQsIDEzMTA2LCAxMzEwOCwgMTMxMTAsIDEzMTEyLCAxMzExNCwgMTMxMTYsIDEzMTE4LCAxMzEyMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMTMxMjIsIDEzMTI2LCAxMzEzMCwgMTMxMzQsIDEzMTM4LCAxMzE0MiwgMTMxNDYsIDEzMTUwLCAxMzE1NCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMTMxNTgsIDEzMTYwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMzE2MiwgMTMxNjQsIDEzMTY2LCAxMzE2OCwgMTMxNzAsIDEzMTcyLCAxMzE3NCwgCisgICAgMTMxNzYsIDEzMTc4LCAxMzE4MCwgMTMxODIsIDEzMTg0LCAxMzE4NiwgMTMxODgsIDEzMTkwLCAxMzE5MiwgMTMxOTQsIAorICAgIDEzMTk2LCAxMzE5OCwgMTMyMDAsIDEzMjAyLCAxMzIwNCwgMTMyMDYsIDEzMjA4LCAxMzIxMCwgMTMyMTIsIDEzMjE0LCAKKyAgICAxMzIxNiwgMTMyMTgsIDEzMjIwLCAxMzIyMiwgMTMyMjQsIDEzMjI2LCAxMzIyOCwgMTMyMzAsIDEzMjMyLCAxMzIzNCwgCisgICAgMTMyMzYsIDEzMjM4LCAxMzI0MCwgMTMyNDIsIDEzMjQ0LCAxMzI0NiwgMTMyNDgsIDEzMjUwLCAxMzI1MiwgMTMyNTQsIAorICAgIDEzMjU2LCAxMzI1OCwgMTMyNjAsIDEzMjYyLCAxMzI2NCwgMTMyNjYsIDEzMjY4LCAxMzI3MCwgMTMyNzIsIDEzMjc0LCAKKyAgICAxMzI3NiwgMTMyNzgsIDEzMjgwLCAxMzI4MiwgMTMyODQsIDEzMjg2LCAxMzI4OCwgMTMyOTAsIDEzMjkyLCAxMzI5NCwgCisgICAgMTMyOTYsIDEzMjk4LCAxMzMwMCwgMTMzMDIsIDEzMzA0LCAxMzMwNiwgMTMzMDgsIDEzMzEwLCAxMzMxMiwgMTMzMTQsIAorICAgIDEzMzE2LCAxMzMxOCwgMTMzMjAsIDEzMzIyLCAxMzMyNCwgMTMzMjYsIDEzMzI4LCAxMzMzMCwgMTMzMzIsIDEzMzM0LCAKKyAgICAxMzMzNiwgMTMzMzgsIDEzMzQwLCAxMzM0MiwgMTMzNDQsIDEzMzQ2LCAxMzM0OCwgMTMzNTAsIDEzMzUyLCAxMzM1NCwgCisgICAgMTMzNTYsIDEzMzU4LCAxMzM2MCwgMTMzNjIsIDEzMzY0LCAxMzM2NiwgMTMzNjgsIDEzMzcwLCAxMzM3MiwgMTMzNzQsIAorICAgIDEzMzc2LCAxMzM3OCwgMTMzODAsIDEzMzgyLCAxMzM4NCwgMTMzODYsIDEzMzg4LCAxMzM5MCwgMTMzOTIsIDEzMzk0LCAKKyAgICAxMzM5NiwgMTMzOTgsIDEzNDAwLCAxMzQwMiwgMTM0MDQsIDEzNDA2LCAxMzQwOCwgMTM0MTAsIDEzNDEyLCAxMzQxNCwgCisgICAgMTM0MTYsIDEzNDE4LCAxMzQyMCwgMTM0MjIsIDEzNDI0LCAxMzQyNiwgMTM0MjgsIDEzNDMwLCAxMzQzMiwgMTM0MzQsIAorICAgIDEzNDM2LCAxMzQzOCwgMTM0NDAsIDEzNDQyLCAxMzQ0NCwgMTM0NDYsIDEzNDQ4LCAxMzQ1MCwgMTM0NTIsIDEzNDU0LCAKKyAgICAxMzQ1NiwgMTM0NTgsIDEzNDYwLCAxMzQ2MiwgMTM0NjQsIDEzNDY2LCAxMzQ2OCwgMTM0NzAsIDEzNDcyLCAxMzQ3NCwgCisgICAgMTM0NzYsIDEzNDc4LCAxMzQ4MCwgMTM0ODIsIDEzNDg0LCAxMzQ4NiwgMTM0ODgsIDEzNDkwLCAxMzQ5MiwgMTM0OTQsIAorICAgIDEzNDk2LCAxMzQ5OCwgMTM1MDAsIDEzNTAyLCAxMzUwNCwgMTM1MDYsIDEzNTA4LCAxMzUxMCwgMTM1MTIsIDEzNTE0LCAKKyAgICAxMzUxNiwgMTM1MTgsIDEzNTIwLCAxMzUyMiwgMTM1MjQsIDEzNTI2LCAxMzUyOCwgMTM1MzAsIDEzNTMyLCAxMzUzNCwgCisgICAgMTM1MzYsIDEzNTM4LCAxMzU0MCwgMTM1NDIsIDEzNTQ0LCAxMzU0NiwgMTM1NDgsIDEzNTUwLCAxMzU1MiwgMTM1NTQsIAorICAgIDEzNTU2LCAxMzU1OCwgMTM1NjAsIDEzNTYyLCAxMzU2NCwgMTM1NjYsIDEzNTY4LCAxMzU3MCwgMTM1NzIsIDEzNTc0LCAKKyAgICAxMzU3NiwgMTM1NzgsIDEzNTgwLCAxMzU4MiwgMTM1ODQsIDEzNTg2LCAxMzU4OCwgMTM1OTAsIDEzNTkyLCAxMzU5NCwgCisgICAgMTM1OTYsIDEzNTk4LCAxMzYwMCwgMTM2MDIsIDEzNjA0LCAxMzYwNiwgMTM2MDgsIDEzNjEwLCAxMzYxMiwgMTM2MTQsIAorICAgIDEzNjE2LCAxMzYxOCwgMTM2MjAsIDEzNjIyLCAxMzYyNCwgMTM2MjYsIDEzNjI4LCAxMzYzMCwgMTM2MzIsIDEzNjM0LCAKKyAgICAxMzYzNiwgMTM2MzgsIDEzNjQwLCAxMzY0MiwgMTM2NDQsIDEzNjQ2LCAxMzY0OCwgMTM2NTAsIDEzNjUyLCAxMzY1NCwgCisgICAgMTM2NTYsIDEzNjU4LCAxMzY2MCwgMTM2NjIsIDEzNjY0LCAxMzY2NiwgMTM2NjgsIDEzNjcwLCAxMzY3MiwgMTM2NzQsIAorICAgIDEzNjc2LCAxMzY3OCwgMTM2ODAsIDEzNjgyLCAxMzY4NCwgMTM2ODYsIDEzNjg4LCAxMzY5MCwgMTM2OTIsIDEzNjk0LCAKKyAgICAxMzY5NiwgMTM2OTgsIDEzNzAwLCAxMzcwMiwgMTM3MDQsIDEzNzA2LCAxMzcwOCwgMTM3MTAsIDEzNzEyLCAxMzcxNCwgCisgICAgMTM3MTYsIDEzNzE4LCAxMzcyMCwgMTM3MjIsIDEzNzI0LCAxMzcyNiwgMTM3MjgsIDEzNzMwLCAxMzczMiwgMTM3MzQsIAorICAgIDEzNzM2LCAxMzczOCwgMTM3NDAsIDEzNzQyLCAxMzc0NCwgMTM3NDYsIDEzNzQ4LCAxMzc1MCwgMTM3NTIsIDEzNzU0LCAKKyAgICAxMzc1NiwgMTM3NTgsIDEzNzYwLCAxMzc2MiwgMTM3NjQsIDEzNzY2LCAxMzc2OCwgMTM3NzAsIDEzNzcyLCAxMzc3NCwgCisgICAgMTM3NzYsIDEzNzc4LCAxMzc4MCwgMTM3ODIsIDEzNzg0LCAxMzc4NiwgMTM3ODgsIDEzNzkwLCAxMzc5MiwgMTM3OTQsIAorICAgIDEzNzk2LCAxMzc5OCwgMTM4MDAsIDEzODAyLCAxMzgwNCwgMTM4MDYsIDEzODA4LCAxMzgxMCwgMTM4MTIsIDEzODE0LCAKKyAgICAxMzgxNiwgMTM4MTgsIDEzODIwLCAxMzgyMiwgMTM4MjQsIDEzODI2LCAxMzgyOCwgMTM4MzAsIDEzODMyLCAxMzgzNCwgCisgICAgMTM4MzYsIDEzODM4LCAxMzg0MCwgMTM4NDIsIDEzODQ0LCAxMzg0NiwgMTM4NDgsIDEzODUwLCAxMzg1MiwgMTM4NTQsIAorICAgIDEzODU2LCAxMzg1OCwgMTM4NjAsIDEzODYyLCAxMzg2NCwgMTM4NjYsIDEzODY4LCAxMzg3MCwgMTM4NzIsIDEzODc0LCAKKyAgICAxMzg3NiwgMTM4NzgsIDEzODgwLCAxMzg4MiwgMTM4ODQsIDEzODg2LCAxMzg4OCwgMTM4OTAsIDEzODkyLCAxMzg5NCwgCisgICAgMTM4OTYsIDEzODk4LCAxMzkwMCwgMTM5MDIsIDEzOTA0LCAxMzkwNiwgMTM5MDgsIDEzOTEwLCAxMzkxMiwgMTM5MTQsIAorICAgIDEzOTE2LCAxMzkxOCwgMTM5MjAsIDEzOTIyLCAxMzkyNCwgMTM5MjYsIDEzOTI4LCAxMzkzMCwgMTM5MzIsIDEzOTM0LCAKKyAgICAxMzkzNiwgMTM5MzgsIDEzOTQwLCAxMzk0MiwgMTM5NDQsIDEzOTQ2LCAxMzk0OCwgMTM5NTAsIDEzOTUyLCAxMzk1NCwgCisgICAgMTM5NTYsIDEzOTU4LCAxMzk2MCwgMTM5NjIsIDEzOTY0LCAxMzk2NiwgMTM5NjgsIDEzOTcwLCAxMzk3MiwgMTM5NzQsIAorICAgIDEzOTc2LCAxMzk3OCwgMTM5ODAsIDEzOTgyLCAxMzk4NCwgMTM5ODYsIDEzOTg4LCAxMzk5MCwgMTM5OTIsIDEzOTk0LCAKKyAgICAxMzk5NiwgMTM5OTgsIDE0MDAwLCAxNDAwMiwgMTQwMDQsIDE0MDA2LCAxNDAwOCwgMTQwMTAsIDE0MDEyLCAxNDAxNCwgCisgICAgMTQwMTYsIDE0MDE4LCAxNDAyMCwgMTQwMjIsIDE0MDI0LCAxNDAyNiwgMTQwMjgsIDE0MDMwLCAxNDAzMiwgMTQwMzQsIAorICAgIDE0MDM2LCAxNDAzOCwgMTQwNDAsIDE0MDQyLCAxNDA0NCwgMTQwNDYsIDE0MDQ4LCAxNDA1MCwgMTQwNTIsIDE0MDU0LCAKKyAgICAxNDA1NiwgMTQwNTgsIDE0MDYwLCAxNDA2MiwgMTQwNjQsIDE0MDY2LCAxNDA2OCwgMTQwNzAsIDE0MDcyLCAxNDA3NCwgCisgICAgMTQwNzYsIDE0MDc4LCAxNDA4MCwgMTQwODIsIDE0MDg0LCAxNDA4NiwgMTQwODgsIDE0MDkwLCAxNDA5MiwgMTQwOTQsIAorICAgIDE0MDk2LCAxNDA5OCwgMTQxMDAsIDE0MTAyLCAxNDEwNCwgMTQxMDYsIDE0MTA4LCAxNDExMCwgMTQxMTIsIDE0MTE0LCAKKyAgICAxNDExNiwgMTQxMTgsIDE0MTIwLCAxNDEyMiwgMTQxMjQsIDE0MTI2LCAxNDEyOCwgMTQxMzAsIDE0MTMyLCAxNDEzNCwgCisgICAgMTQxMzYsIDE0MTM4LCAxNDE0MCwgMTQxNDIsIDE0MTQ0LCAxNDE0NiwgMTQxNDgsIDE0MTUwLCAxNDE1MiwgMTQxNTQsIAorICAgIDE0MTU2LCAxNDE1OCwgMTQxNjAsIDE0MTYyLCAxNDE2NCwgMTQxNjYsIDE0MTY4LCAxNDE3MCwgMTQxNzIsIDE0MTc0LCAKKyAgICAxNDE3NiwgMTQxNzgsIDE0MTgwLCAxNDE4MiwgMTQxODQsIDE0MTg2LCAxNDE4OCwgMTQxOTAsIDE0MTkyLCAxNDE5NCwgCisgICAgMTQxOTYsIDE0MTk4LCAxNDIwMCwgMTQyMDIsIDE0MjA0LCAxNDIwNiwgMTQyMDgsIDE0MjEwLCAxNDIxMiwgMTQyMTQsIAorICAgIDE0MjE2LCAxNDIxOCwgMTQyMjAsIDE0MjIyLCAxNDIyNCwgMTQyMjYsIDE0MjI4LCAxNDIzMCwgMTQyMzIsIDE0MjM0LCAKKyAgICAxNDIzNiwgMTQyMzgsIDE0MjQwLCAxNDI0MiwgMTQyNDQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogfTsKIAogLyogTkZDIHBhaXJzICovCiAjZGVmaW5lIENPTVBfU0hJRlQgMgogc3RhdGljIHVuc2lnbmVkIHNob3J0IGNvbXBfaW5kZXhbXSA9IHsKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0LCA1LCA2LCA3LCA4LCA5LCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMCwgMCwgMCwgMTEsIDAsIDEyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMywgCi0gICAgMTQsIDE1LCAwLCAwLCAxNiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTcsIDE4LCAwLCAxOSwgMjAsIDIxLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAyMiwgMjMsIDI0LCAyNSwgMjYsIDI3LCAyOCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjksIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDMwLCAzMSwgMzIsIDAsIDAsIDMzLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAzNCwgMzUsIDM2LCAwLCAzNywgMzgsIDM5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0MCwgNDEsIDQyLCA0MywgNDQsIAotICAgIDQ1LCA0NiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDQ4LCAwLCA0OSwgMCwgNTAsIDUxLCA1MiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTMsIDAsIDU0LCAwLCA1NSwgNTYsIDU3LCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1OCwgNTksIDAsIDAsIDYwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA2MSwgNjIsIAotICAgIDYzLCAwLCA2NCwgNjUsIDY2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA2NywgNjgsIDY5LCA3MCwgNzEsIDcyLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCA3MywgNzQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDc1LCA3NiwgNzcsIAotICAgIDc4LCA3OSwgODAsIDgxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA4MiwgODMsIDg0LCAwLCA4NSwgODYsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDg3LCA4OCwgMCwgODksIDkwLCA5MSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOTIsIDkzLCA5NCwgCi0gICAgOTUsIDk2LCA5NywgOTgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDk5LCAwLCAwLCAwLCAxMDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDEwMSwgMTAyLCAwLCAwLCAxMDMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEwNCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTA1LCAxMDYsIDEwNywgMCwgMTA4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAxMDksIDExMCwgMTExLCAwLCAxMTIsIDAsIDExMywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTE0LCAxMTUsIDExNiwgCi0gICAgMTE3LCAxMTgsIDExOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTIwLCAwLCAwLCAxMjEsIDAsIDEyMiwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMTIzLCAxMjQsIDEyNSwgMCwgMCwgMTI2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMjcsIAotICAgIDEyOCwgMCwgMTI5LCAxMzAsIDEzMSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTMyLCAxMzMsIDEzNCwgMTM1LCAxMzYsIDEzNywgCi0gICAgMTM4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMzksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDE0MCwgMTQxLCAxNDIsIDAsIDAsIDE0MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTQ0LCAxNDUsIDE0NiwgMCwgMTQ3LCAKLSAgICAxNDgsIDE0OSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTUwLCAxNTEsIDE1MiwgMTUzLCAxNTQsIDE1NSwgMTU2LCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAxNTcsIDAsIDE1OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTU5LCAwLCAxNjAsIAotICAgIDAsIDE2MSwgMTYyLCAxNjMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE2NCwgMCwgMTY1LCAwLCAxNjYsIDE2NywgMTY4LCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAxNjksIDE3MCwgMCwgMCwgMTcxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNzIsIAotICAgIDE3MywgMTc0LCAwLCAxNzUsIDE3NiwgMTc3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNzgsIDE3OSwgMTgwLCAxODEsIDE4MiwgCi0gICAgMTgzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxODQsIDE4NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMTg2LCAxODcsIDE4OCwgMTg5LCAxOTAsIDE5MSwgMTkyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxOTMsIDE5NCwgMTk1LCAKLSAgICAwLCAxOTYsIDE5NywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTk4LCAxOTksIDAsIDIwMCwgMjAxLCAyMDIsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDIwMywgMjA0LCAyMDUsIDIwNiwgMjA3LCAyMDgsIDIwOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMjEwLCAwLCAwLCAwLCAyMTEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDIxMiwgMjEzLCAyMTQsIDAsIDIxNSwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjE2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyMTcsIAotICAgIDIxOCwgMjE5LCAwLCAyMjAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDIyMSwgMjIyLCAyMjMsIDAsIDIyNCwgMCwgCi0gICAgMjI1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyMjYsIDAsIDAsIDAsIDAsIDAsIDAsIDIyNywgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMjI4LCAwLCAyMjksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDIzMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMjMxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyMzIsIDIzMywgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjM0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAyMzUsIDAsIDIzNiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjM3LCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyMzgsIDAsIDIzOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMjQwLCAyNDEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI0MiwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMjQzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNDQsIDI0NSwgCi0gICAgMjQ2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNDcsIDAsIDI0OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMjQ5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNTAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI1MSwgMjUyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAyNTMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI1NCwgMCwgMjU1LCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAyNTYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI1NywgMCwgCi0gICAgMjU4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNTksIDI2MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMjYxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNjIsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI2MywgMjY0LCAyNjUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDI2NiwgMCwgMjY3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNjgsIDAsIDI2OSwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjcwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNzEsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI3MiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMjczLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNzQsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI3NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjc2LCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNzcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDI3OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjc5LCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyODAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI4MSwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjgyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAyODMsIDAsIDI4NCwgMCwgMjg1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyODYsIDAsIDI4NywgMCwgCi0gICAgMjg4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyODksIDAsIDI5MCwgMCwgMjkxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAyOTIsIDAsIDI5MywgMCwgMjk0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyOTUsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI5NiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMjk3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyOTgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDI5OSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzMDEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDMwMiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzAzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAzMDQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDMwNSwgMzA2LCAwLCAzMDcsIAotICAgIDAsIDAsIDAsIDMwOCwgMCwgMCwgMCwgMCwgMCwgMCwgMzA5LCAwLCAwLCAzMTAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDMxMSwgMCwgMCwgMzEyLCAwLCAwLCAwLCAzMTMsIDAsIDAsIDAsIDAsIDAsIDAsIDMxNCwgMzE1LCAwLCAzMTYsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDMxNywgMCwgMCwgMzE4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAzMTksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDMyMCwgMzIxLCAwLCAzMjIsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDMyMywgMCwgMCwgMzI0LCAwLCAwLCAwLCAzMjUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDMyNiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzI3LCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAzMjgsIDMyOSwgMCwgMzMwLCAwLCAwLCAwLCAzMzEsIDAsIDAsIDAsIDAsIDAsIDAsIDMzMiwgMCwgMCwgCi0gICAgMzMzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzMzQsIDAsIDAsIDMzNSwgMCwgMCwgMCwgMzM2LCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAzMzcsIDMzOCwgMCwgMzM5LCAwLCAwLCAwLCAzNDAsIDAsIDAsIDAsIDAsIDAsIDAsIDM0MSwgMCwgMCwgCi0gICAgMzQyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzNDMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDM0NCwgMzQ1LCAwLCAzNDYsIDAsIDAsIDAsIDM0NywgMCwgMCwgMCwgMCwgMCwgMCwgMzQ4LCAwLCAwLCAzNDksIAotICAgIDAsIDAsIDAsIDM1MCwgMCwgMCwgMCwgMCwgMCwgMCwgMzUxLCAwLCAwLCAwLCAwLCAwLCAwLCAzNTIsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDM1MywgMCwgMCwgMCwgMCwgMCwgMCwgMzU0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAzNTUsIDAsIDAsIDAsIDAsIDAsIDAsIDM1NiwgMzU3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAzNTgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDM1OSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMzYwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzNjEsIDM2MiwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzYzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAzNjQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDM2NSwgMzY2LCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAzNjcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDM2OCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzY5LCAzNzAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDM3MSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzcyLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzNzMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDM3NCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzc1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAzNzYsIDM3NywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzc4LCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzNzksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDM4MCwgCi0gICAgMzgxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzODIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDM4MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzg0LCAzODUsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDM4NiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMzg3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzODgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDM4OSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzkwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzOTEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDM5MiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzkzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAzOTQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDM5NSwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzk2LCAzOTcsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDM5OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzk5LCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0MDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDQwMSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDAyLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0MDMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDQwNCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCA0MDYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQwNywgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDA4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCA0MDksIDQxMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDExLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0MTIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQxMywgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDE0LCA0MTUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDQxNiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDE3LCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0MTgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDQxOSwgNDIwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0MjEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQyMiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDIzLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0MjQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDQyNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDI2LCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0MjcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQyOCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDI5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCA0MzAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQzMSwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDMyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0MzMsIDAsIAotICAgIDAsIDQzNCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDM1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCA0MzYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQzNywgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDM4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCA0MzksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ0MCwgNDQxLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCA0NDIsIDQ0MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDQ0LCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0NDUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDQ0NiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDQ3LCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0NDgsIDAsIDAsIDAsIDAsIDAsIDAsIDQ0OSwgMCwgMCwgMCwgMCwgMCwgMCwgNDUwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCA0NTEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ1MiwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDUzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCA0NTQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ1NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgNDU2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0NTcsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDQ1OCwgMCwgMCwgMCwgMCwgMCwgMCwgNDU5LCAwLCAwLCAwLCAwLCAwLCAwLCA0NjAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDQ2MSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDYyLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0NjMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ2NCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDY1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCA0NjYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ2NywgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgNDY4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0NjksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDQ3MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDcxLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0NzIsIDAsIDAsIDAsIDAsIDAsIDAsIDQ3MywgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgNDc0LCAwLCAwLCAwLCAwLCAwLCAwLCA0NzUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDQ3NiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDc3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCA0NzgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ3OSwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDgwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICA0ODEsIDAsIDAsIDAsIDAsIDAsIDAsIDQ4MiwgMCwgMCwgMCwgMCwgMCwgMCwgNDgzLCAwLCAwLCAwLCAwLCAwLCAwLCA0ODQsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDQ4NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDg2LCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0ODcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDQ4OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDg5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCA0OTAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ5MSwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgNDkyLCAwLCAwLCAwLCAwLCAwLCAwLCA0OTMsIDAsIDAsIDAsIDAsIDAsIDAsIDQ5NCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgNDk1LCAwLCAwLCAwLCAwLCAwLCAwLCA0OTYsIDAsIDAsIDAsIDAsIDAsIDAsIDQ5NywgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgNDk4LCAwLCAwLCAwLCAwLCAwLCAwLCA0OTksIDAsIDAsIDAsIDAsIDAsIDAsIDUwMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTAxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1MDIsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUwMywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgNTA0LCAwLCAwLCAwLCAwLCAwLCAwLCA1MDUsIDAsIDAsIDAsIDAsIDAsIDAsIDUwNiwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgNTA3LCAwLCAwLCAwLCAwLCAwLCAwLCA1MDgsIDAsIDAsIDAsIDAsIDAsIDAsIDUwOSwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgNTEwLCAwLCAwLCAwLCAwLCAwLCAwLCA1MTEsIDAsIDAsIDAsIDAsIDAsIDAsIDUxMiwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgNTEzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1MTQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDUxNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTE2LCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1MTcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDUxOCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTE5LCAwLCAwLCAwLCAwLCAwLCAwLCA1MjAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDUyMSwgMCwgMCwgMCwgMCwgMCwgMCwgNTIyLCAwLCAwLCAwLCAwLCAwLCAwLCA1MjMsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUyNCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgNTI1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1MjYsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUyNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTI4LCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1MjksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDUzMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTMxLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1MzIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUzMywgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgNTM0LCAwLCAwLCAwLCAwLCAwLCAwLCA1MzUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDUzNiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTM3LCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCA1MzgsIDAsIDAsIDAsIDAsIDAsIDAsIDUzOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTQwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NDEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDU0MiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTQzLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NDQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU0NSwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTQ2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCA1NDcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU0OCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTQ5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NTAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU1MSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgNTUyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NTMsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU1NCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTU1LCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NTYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDU1NywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTU4LCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NTksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU2MCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTYxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCA1NjIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU2MywgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTY0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NjUsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU2NiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgNTY3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NjgsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU2OSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTcwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NzEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDU3MiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTczLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NzQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU3NSwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTc2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCA1NzcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU3OCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTc5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1ODAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU4MSwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTgyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICA1ODMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU4NCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgNTg1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1ODYsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU4NywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgNTg4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1ODksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDU5MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTkxLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1OTIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDU5MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTk0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCA1OTUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU5NiwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTk3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICA1OTgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU5OSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgNjAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA2MDEsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDYwMiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgNjAzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA2MDQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDYwNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjA2LCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA2MDcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDYwOCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCA2MTAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDYxMSwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjEyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICA2MTMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDYxNCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgNjE1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA2MTYsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDYxNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgNjE4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA2MTksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDYyMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjIxLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA2MjIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDYyMywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjI0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCA2MjUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDYyNiwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjI3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICA2MjgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDYyOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgNjMwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA2MzEsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDYzMiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgNjMzLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0LCA1LCAKKyAgICA2LCA3LCA4LCA5LCAxMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTEsIDAsIDAsIDEyLCAwLCAxMywgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMTQsIDE1LCAxNiwgMTcsIDAsIDE4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAxOSwgMjAsIDAsIDIxLCAyMiwgMjMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI0LCAyNSwgMjYsIDI3LCAyOCwgMjksIAorICAgIDMwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzMSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMzIsIDMzLCAzNCwgMzUsIDAsIDM2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzNywgMzgsIDM5LCAwLCAKKyAgICA0MCwgNDEsIDQyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0MywgNDQsIDQ1LCA0NiwgNDcsIDAsIDQ4LCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCA0OSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTAsIDAsIDAsIAorICAgIDUxLCA1MiwgNTMsIDAsIDU0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NSwgMCwgNTYsIDAsIDU3LCA1OCwgNTksIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDYwLCAwLCA2MSwgMCwgNjIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDYzLCA2NCwgNjUsIDAsIDY2LCA2NywgNjgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDY5LCA3MCwgNzEsIDcyLCA3MywgMCwgCisgICAgNzQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDc1LCA3NiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgNzcsIDAsIDc4LCA3OSwgODAsIDgxLCAwLCA4MiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgODMsIDg0LCA4NSwgCisgICAgMCwgODYsIDg3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA4OCwgODksIDkwLCA5MSwgOTIsIDkzLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCA5NCwgOTUsIDk2LCA5NywgOTgsIDk5LCAxMDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDEwMSwgMCwgMCwgMTAyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMDMsIDEwNCwgMCwgMCwgMTA1LCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMDYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDEwNywgMTA4LCAxMDksIDAsIDExMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTExLCAxMTIsIDExMywgCisgICAgMTE0LCAxMTUsIDAsIDAsIDExNiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTE3LCAxMTgsIDExOSwgMTIwLCAxMjEsIAorICAgIDEyMiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTIzLCAwLCAxMjQsIDAsIDAsIDEyNSwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMTI2LCAxMjcsIDEyOCwgMCwgMCwgMTI5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAxMzAsIDEzMSwgMTMyLCAxMzMsIDEzNCwgMTM1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMzYsIDEzNywgMTM4LCAxMzksIAorICAgIDE0MCwgMTQxLCAxNDIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE0MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMTQ0LCAxNDUsIDE0NiwgMCwgMCwgMTQ3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAxNDgsIDE0OSwgMTUwLCAxNTEsIDE1MiwgMTUzLCAxNTQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE1NSwgMTU2LCAxNTcsIAorICAgIDE1OCwgMTU5LCAxNjAsIDE2MSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTYyLCAwLCAxNjMsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE2NCwgMCwgMTY1LCAwLCAxNjYsIDE2NywgMTY4LCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAxNjksIDAsIDAsIDE3MCwgMTcxLCAxNzIsIDE3MywgMTc0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNzUsIAorICAgIDE3NiwgMCwgMCwgMTc3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNzgsIDE3OSwgMTgwLCAxODEsIDE4MiwgCisgICAgMTgzLCAxODQsIDE4NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTg2LCAxODcsIDE4OCwgMTg5LCAxOTAsIDE5MSwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTkyLCAwLCAxOTMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDE5NCwgMTk1LCAxOTYsIDE5NywgMTk4LCAxOTksIDIwMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjAxLCAyMDIsIAorICAgIDIwMywgMjA0LCAyMDUsIDIwNiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjA3LCAyMDgsIDAsIDIwOSwgCisgICAgMjEwLCAyMTEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDIxMiwgMjEzLCAyMTQsIDIxNSwgMjE2LCAyMTcsIDIxOCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjE5LCAwLCAwLCAwLCAyMjAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDIyMSwgMjIyLCAyMjMsIDAsIDIyNCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjI1LCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyMjYsIDIyNywgMjI4LCAwLCAyMjksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDIzMCwgMjMxLCAyMzIsIDAsIDIzMywgMCwgMjM0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyMzUsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDIzNiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjM3LCAwLCAyMzgsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDIzOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMjQwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNDEsIDI0MiwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjQzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAyNDQsIDI0NSwgMjQ2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNDcsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI0OCwgMjQ5LCAyNTAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDI1MSwgMjUyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNTMsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI1NCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMjU1LCAyNTYsIDAsIDI1NywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjU4LCAwLCAKKyAgICAyNTksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI2MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMjYxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNjIsIAorICAgIDI2MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjY0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNjUsIDI2NiwgMjY3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAyNjgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI2OSwgMjcwLCAyNzEsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI3MiwgMjczLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAyNzQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI3NSwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjc2LCAyNzcsIDAsIDI3OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMjc5LCAwLCAyODAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI4MSwgMjgyLCAKKyAgICAyODMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI4NCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMjg1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyODYsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI4NywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjg4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAyODksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI5MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjkxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyOTIsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI5MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjk0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAyOTUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI5NiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMjk3LCAyOTgsIDI5OSwgMCwgMzAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAzMDEsIDAsIDMwMiwgMCwgMzAzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzMDQsIDMwNSwgMzA2LCAwLCAzMDcsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDMwOCwgMCwgMzA5LCAwLCAzMTAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDMxMSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzEyLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzMTMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDMxNCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzE1LCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzMTYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDMxNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzE4LCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzMTksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDMyMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzIxLCAzMjIsIDAsIDAsIAorICAgIDMyMywgMCwgMCwgMzI0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzMjUsIDAsIDAsIDMyNiwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMzI3LCAwLCAwLCAwLCAzMjgsIDAsIDAsIDMyOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzMwLCAKKyAgICAzMzEsIDAsIDMzMiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzMzLCAwLCAwLCAwLCAzMzQsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDMzNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMzM2LCAzMzcsIDMzOCwgMCwgMzM5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzNDAsIDAsIDAsIDM0MSwgCisgICAgMCwgMCwgMCwgMzQyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzNDMsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDM0NCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzQ1LCAzNDYsIDAsIAorICAgIDAsIDM0NywgMCwgMCwgMzQ4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzNDksIDAsIDAsIDM1MCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMzUxLCAwLCAwLCAwLCAzNTIsIDAsIDAsIDM1MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMzU0LCAzNTUsIDAsIDM1NiwgMCwgMCwgMCwgMzU3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzNTgsIDAsIDAsIDAsIDM1OSwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzYwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAzNjEsIDM2MiwgMzYzLCAwLCAzNjQsIDAsIDAsIDM2NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzY2LCAwLCAKKyAgICAwLCAzNjcsIDAsIDAsIDAsIDM2OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzY5LCAwLCAwLCAwLCAwLCAwLCAwLCAzNzAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDM3MSwgMCwgMCwgMCwgMCwgMCwgMCwgMzcyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAzNzMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDM3NCwgMzc1LCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzNzYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDM3NywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzc4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzNzksIDM4MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMzgxLCAzODIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDM4MywgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzg0LCAzODUsIDM4NiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMzg3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzODgsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDM4OSwgMzkwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAzOTEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDM5MiwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzkzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAzOTQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDM5NSwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzk2LCAzOTcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDM5OCwgMzk5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0MDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQwMSwgNDAyLCA0MDMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDQwNCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgNDA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0MDYsIDQwNywgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDA4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICA0MDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQxMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDExLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCA0MTIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQxMywgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDE0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICA0MTUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQxNiwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDE3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCA0MTgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQxOSwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDIwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCA0MjEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQyMiwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDIzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCA0MjQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQyNSwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDI2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCA0MjcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQyOCwgCisgICAgNDI5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0MzAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQzMSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgNDMyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0MzMsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQzNCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgNDM1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0MzYsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQzNywgNDM4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCA0MzksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ0MCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDQxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCA0NDIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ0MywgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDQ0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCA0NDUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ0NiwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDQ3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCA0NDgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ0OSwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDUwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCA0NTEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ1MiwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDUzLCAwLCAwLCAwLCA0NTQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDQ1NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDU2LCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0NTcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDQ1OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDU5LCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0NjAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDQ2MSwgNDYyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0NjMsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ2NCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgNDY1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0NjYsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ2NywgMCwgMCwgMCwgMCwgMCwgMCwgNDY4LCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCA0NjksIDAsIDAsIDAsIDAsIDAsIDAsIDQ3MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgNDcxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0NzIsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ3MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgNDc0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0NzUsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ3NiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDc3LCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCA0NzgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ3OSwgMCwgMCwgMCwgMCwgMCwgMCwgNDgwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0ODEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDQ4MiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDgzLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0ODQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDQ4NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDg2LCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCA0ODcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ4OCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDg5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCA0OTAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ5MSwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgNDkyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0OTMsIDAsIDAsIDAsIDAsIDAsIDAsIDQ5NCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDk1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCA0OTYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ5NywgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDk4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCA0OTksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUwMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgNTAxLCAwLCAwLCAwLCAwLCAwLCAwLCA1MDIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUwMywgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgNTA0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1MDUsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUwNiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgNTA3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1MDgsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUwOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgNTEwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1MTEsIDAsIDAsIDAsIDAsIDAsIDAsIDUxMiwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTEzLCAwLCAwLCAwLCAwLCAwLCAwLCA1MTQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDUxNSwgMCwgMCwgMCwgMCwgMCwgMCwgNTE2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1MTcsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDUxOCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTE5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCA1MjAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUyMSwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTIyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCA1MjMsIDAsIDAsIDAsIDAsIDAsIDAsIDUyNCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTI1LCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCA1MjYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUyNywgMCwgMCwgMCwgMCwgMCwgMCwgNTI4LCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCA1MjksIDAsIDAsIDAsIDAsIDAsIDAsIDUzMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTMxLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCA1MzIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUzMywgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTM0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCA1MzUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUzNiwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTM3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCA1MzgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUzOSwgMCwgMCwgMCwgMCwgMCwgMCwgNTQwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCA1NDEsIDAsIDAsIDAsIDAsIDAsIDAsIDU0MiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgNTQzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NDQsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU0NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgNTQ2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NDcsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU0OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgNTQ5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NTAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU1MSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgNTUyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NTMsIDAsIDAsIDAsIDAsIDAsIDAsIDU1NCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTU1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCA1NTYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU1NywgMCwgMCwgMCwgMCwgMCwgMCwgNTU4LCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NTksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDU2MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTYxLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NjIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDU2MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTY0LCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NjUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDU2NiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTY3LCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NjgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDU2OSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTcwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NzEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDU3MiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTczLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NzQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDU3NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTc2LCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NzcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDU3OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTc5LCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1ODAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDU4MSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTgyLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1ODMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDU4NCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTg1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1ODYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDU4NywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTg4LCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1ODksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDU5MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTkxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1OTIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDU5MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTk0LCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1OTUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDU5NiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTk3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1OTgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDU5OSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA2MDEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDYwMiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjAzLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA2MDQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDYwNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjA2LCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA2MDcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDYwOCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjA5LCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA2MTAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDYxMSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjEyLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA2MTMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDYxNCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjE1LCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA2MTYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDYxNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjE4LCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA2MTksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDYyMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjIxLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA2MjIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDYyMywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjI0LCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA2MjUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDYyNiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjI3LCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA2MjgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDYyOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjMwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA2MzEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDYzMiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjMzLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA2MzQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDYzNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjM2LCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA2MzcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDYzOCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjM5LCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA2NDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDY0MSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjQyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA2NDMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDY0NCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjQ1LCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA2NDYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDY0NywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjQ4LCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA2NDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDY1MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjUxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA2NTIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDY1MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjU0LCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA2NTUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDY1NiwgCiB9OwogCiBzdGF0aWMgdW5zaWduZWQgaW50IGNvbXBfZGF0YVtdID0gewotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDg4MTQsIDAsIDAsIDAsIDg4MDAsIDAsIDAsIDAsIDg4MTUsIDE5MiwgMTkzLCAxOTQsIAotICAgIDE5NSwgMjU2LCAyNTgsIDU1MCwgMTk2LCA3ODQyLCAxOTcsIDAsIDQ2MSwgNTEyLCA1MTQsIDAsIDAsIDAsIDc4NDAsIDAsIAotICAgIDc2ODAsIDAsIDAsIDI2MCwgMCwgMCwgMCwgNzY4MiwgMCwgMCwgNzY4NCwgMCwgMCwgMCwgMCwgNzY4NiwgMCwgMCwgMjYyLCAKLSAgICAyNjQsIDAsIDAsIDAsIDI2NiwgMCwgMCwgMCwgMCwgMjY4LCAwLCAxOTksIDAsIDAsIDAsIDAsIDc2OTAsIDAsIDAsIDAsIDAsIAotICAgIDI3MCwgMCwgNzY5MiwgMCwgMCwgMCwgNzY5NiwgMCwgNzY5OCwgMCwgMCwgNzY5NCwgMCwgMjAwLCAyMDEsIDIwMiwgNzg2OCwgCi0gICAgMjc0LCAyNzYsIDI3OCwgMjAzLCA3ODY2LCAwLCAwLCAyODIsIDUxNiwgNTE4LCAwLCAwLCAwLCA3ODY0LCAwLCAwLCAwLCAKLSAgICA1NTIsIDI4MCwgNzcwNCwgMCwgNzcwNiwgMCwgMCwgMCwgMCwgNzcxMCwgMCwgMCwgNTAwLCAyODQsIDAsIDc3MTIsIDI4NiwgCi0gICAgMjg4LCAwLCAwLCAwLCAwLCA0ODYsIDAsIDI5MCwgMCwgMCwgMCwgMCwgMjkyLCAwLCAwLCAwLCA3NzE0LCA3NzE4LCAwLCAwLCAKLSAgICAwLCA1NDIsIDAsIDc3MTYsIDAsIDAsIDAsIDc3MjAsIDAsIDAsIDc3MjIsIDAsIDAsIDAsIDIwNCwgMjA1LCAyMDYsIDI5NiwgCi0gICAgMjk4LCAzMDAsIDMwNCwgMjA3LCA3ODgwLCAwLCAwLCA0NjMsIDUyMCwgNTIyLCAwLCAwLCAwLCA3ODgyLCAwLCAwLCAwLCAwLCAKLSAgICAzMDIsIDAsIDAsIDc3MjQsIDAsIDAsIDAsIDAsIDMwOCwgMCwgMCwgNzcyOCwgMCwgMCwgMCwgMCwgMCwgNDg4LCAwLCAKLSAgICA3NzMwLCAwLCAwLCAwLCAzMTAsIDAsIDAsIDAsIDAsIDc3MzIsIDAsIDAsIDMxMywgMCwgMCwgMCwgMCwgMCwgMzE3LCAwLCAKLSAgICA3NzM0LCAwLCAwLCAwLCAzMTUsIDAsIDc3NDAsIDAsIDAsIDc3MzgsIDAsIDAsIDc3NDIsIDAsIDAsIDAsIDAsIDc3NDQsIDAsIAotICAgIDAsIDc3NDYsIDAsIDAsIDUwNCwgMzIzLCAwLCAyMDksIDAsIDAsIDc3NDgsIDAsIDAsIDAsIDAsIDMyNywgMCwgNzc1MCwgMCwgCi0gICAgMCwgMCwgMzI1LCAwLCA3NzU0LCAwLCAwLCA3NzUyLCAwLCAyMTAsIDIxMSwgMjEyLCAyMTMsIDMzMiwgMzM0LCA1NTgsIAotICAgIDIxNCwgNzg4NiwgMCwgMzM2LCA0NjUsIDUyNCwgNTI2LCAwLCAwLCA0MTYsIDc4ODQsIDAsIDAsIDAsIDAsIDQ5MCwgMCwgMCwgCi0gICAgNzc2NCwgMCwgMCwgMCwgMCwgNzc2NiwgMCwgMCwgMzQwLCAwLCAwLCAwLCAwLCA3NzY4LCAwLCAwLCAwLCAwLCAzNDQsIAotICAgIDUyOCwgNTMwLCAwLCAwLCAwLCA3NzcwLCAwLCAwLCAwLCAzNDIsIDAsIDAsIDAsIDAsIDc3NzQsIDAsIDAsIDM0NiwgMzQ4LCAKLSAgICAwLCAwLCAwLCA3Nzc2LCAwLCAwLCAwLCAwLCAzNTIsIDAsIDc3NzgsIDAsIDAsIDUzNiwgMzUwLCAwLCAwLCAwLCAwLCAKLSAgICA3Nzg2LCAwLCAwLCAwLCAwLCAzNTYsIDAsIDc3ODgsIDAsIDAsIDUzOCwgMzU0LCAwLCA3NzkyLCAwLCAwLCA3NzkwLCAwLCAKLSAgICAyMTcsIDIxOCwgMjE5LCAzNjAsIDM2MiwgMzY0LCAwLCAyMjAsIDc5MTAsIDM2NiwgMzY4LCA0NjcsIDUzMiwgNTM0LCAwLCAKLSAgICAwLCA0MzEsIDc5MDgsIDc3OTQsIDAsIDAsIDAsIDM3MCwgNzc5OCwgMCwgNzc5NiwgMCwgMCwgMCwgMCwgMCwgNzgwNCwgMCwgCi0gICAgNzgwNiwgMCwgMCwgNzgwOCwgNzgxMCwgMzcyLCAwLCAwLCAwLCA3ODE0LCA3ODEyLCAwLCA3ODE2LCAwLCAwLCAwLCAwLCAKLSAgICA3ODE4LCA3ODIwLCA3OTIyLCAyMjEsIDM3NCwgNzkyOCwgNTYyLCAwLCA3ODIyLCAzNzYsIDc5MjYsIDAsIDAsIDAsIDAsIAotICAgIDc5MjQsIDAsIDAsIDAsIDM3NywgNzgyNCwgMCwgMCwgMCwgMzc5LCAwLCAwLCAwLCAwLCAzODEsIDAsIDc4MjYsIDAsIDAsIAotICAgIDAsIDAsIDc4MjgsIDAsIDIyNCwgMjI1LCAyMjYsIDIyNywgMjU3LCAyNTksIDU1MSwgMjI4LCA3ODQzLCAyMjksIDAsIDQ2MiwgCi0gICAgNTEzLCA1MTUsIDAsIDAsIDAsIDc4NDEsIDAsIDc2ODEsIDAsIDAsIDI2MSwgMCwgMCwgMCwgNzY4MywgMCwgMCwgNzY4NSwgCi0gICAgMCwgMCwgMCwgMCwgNzY4NywgMCwgMCwgMjYzLCAyNjUsIDAsIDAsIDAsIDI2NywgMCwgMCwgMCwgMCwgMjY5LCAwLCAyMzEsIAotICAgIDAsIDAsIDAsIDAsIDc2OTEsIDAsIDAsIDAsIDAsIDI3MSwgMCwgNzY5MywgMCwgMCwgMCwgNzY5NywgMCwgNzY5OSwgMCwgMCwgCi0gICAgNzY5NSwgMCwgMjMyLCAyMzMsIDIzNCwgNzg2OSwgMjc1LCAyNzcsIDI3OSwgMjM1LCA3ODY3LCAwLCAwLCAyODMsIDUxNywgCi0gICAgNTE5LCAwLCAwLCAwLCA3ODY1LCAwLCAwLCAwLCA1NTMsIDI4MSwgNzcwNSwgMCwgNzcwNywgMCwgMCwgMCwgMCwgNzcxMSwgCi0gICAgMCwgMCwgNTAxLCAyODUsIDAsIDc3MTMsIDI4NywgMjg5LCAwLCAwLCAwLCAwLCA0ODcsIDAsIDI5MSwgMCwgMCwgMCwgMCwgCi0gICAgMjkzLCAwLCAwLCAwLCA3NzE1LCA3NzE5LCAwLCAwLCAwLCA1NDMsIDAsIDc3MTcsIDAsIDAsIDAsIDc3MjEsIDAsIDAsIAotICAgIDc3MjMsIDAsIDc4MzAsIDAsIDIzNiwgMjM3LCAyMzgsIDI5NywgMjk5LCAzMDEsIDAsIDIzOSwgNzg4MSwgMCwgMCwgNDY0LCAKLSAgICA1MjEsIDUyMywgMCwgMCwgMCwgNzg4MywgMCwgMCwgMCwgMCwgMzAzLCAwLCAwLCA3NzI1LCAwLCAwLCAwLCAwLCAzMDksIDAsIAotICAgIDAsIDAsIDAsIDQ5NiwgMCwgNzcyOSwgMCwgMCwgMCwgMCwgMCwgNDg5LCAwLCA3NzMxLCAwLCAwLCAwLCAzMTEsIDAsIDAsIAotICAgIDAsIDAsIDc3MzMsIDAsIDAsIDMxNCwgMCwgMCwgMCwgMCwgMCwgMzE4LCAwLCA3NzM1LCAwLCAwLCAwLCAzMTYsIDAsIAotICAgIDc3NDEsIDAsIDAsIDc3MzksIDAsIDAsIDc3NDMsIDAsIDAsIDAsIDAsIDc3NDUsIDAsIDAsIDc3NDcsIDAsIDAsIDUwNSwgCi0gICAgMzI0LCAwLCAyNDEsIDAsIDAsIDc3NDksIDAsIDAsIDAsIDAsIDMyOCwgMCwgNzc1MSwgMCwgMCwgMCwgMzI2LCAwLCA3NzU1LCAKLSAgICAwLCAwLCA3NzUzLCAwLCAyNDIsIDI0MywgMjQ0LCAyNDUsIDMzMywgMzM1LCA1NTksIDI0NiwgNzg4NywgMCwgMzM3LCA0NjYsIAotICAgIDUyNSwgNTI3LCAwLCAwLCA0MTcsIDc4ODUsIDAsIDAsIDAsIDAsIDQ5MSwgMCwgMCwgNzc2NSwgMCwgMCwgMCwgMCwgNzc2NywgCi0gICAgMCwgMCwgMzQxLCAwLCAwLCAwLCAwLCA3NzY5LCAwLCAwLCAwLCAwLCAzNDUsIDUyOSwgNTMxLCAwLCAwLCAwLCA3NzcxLCAwLCAKLSAgICAwLCAwLCAzNDMsIDAsIDAsIDAsIDAsIDc3NzUsIDAsIDAsIDM0NywgMzQ5LCAwLCAwLCAwLCA3Nzc3LCAwLCAwLCAwLCAwLCAKLSAgICAzNTMsIDAsIDc3NzksIDAsIDAsIDUzNywgMzUxLCAwLCAwLCAwLCAwLCA3Nzg3LCA3ODMxLCAwLCAwLCAwLCAzNTcsIDAsIAotICAgIDc3ODksIDAsIDAsIDUzOSwgMzU1LCAwLCA3NzkzLCAwLCAwLCA3NzkxLCAwLCAyNDksIDI1MCwgMjUxLCAzNjEsIDM2MywgCi0gICAgMzY1LCAwLCAyNTIsIDc5MTEsIDM2NywgMzY5LCA0NjgsIDUzMywgNTM1LCAwLCAwLCA0MzIsIDc5MDksIDc3OTUsIDAsIDAsIAotICAgIDAsIDM3MSwgNzc5OSwgMCwgNzc5NywgMCwgMCwgMCwgMCwgMCwgNzgwNSwgMCwgNzgwNywgMCwgMCwgNzgwOSwgNzgxMSwgCi0gICAgMzczLCAwLCAwLCAwLCA3ODE1LCA3ODEzLCAwLCA3ODMyLCAwLCAwLCAwLCA3ODE3LCAwLCAwLCAwLCAwLCA3ODE5LCA3ODIxLCAKLSAgICA3OTIzLCAyNTMsIDM3NSwgNzkyOSwgNTYzLCAwLCA3ODIzLCAyNTUsIDc5MjcsIDc4MzMsIDAsIDAsIDAsIDc5MjUsIDAsIDAsIAotICAgIDAsIDM3OCwgNzgyNSwgMCwgMCwgMCwgMzgwLCAwLCAwLCAwLCAwLCAzODIsIDAsIDc4MjcsIDAsIDAsIDAsIDAsIDc4MjksIAotICAgIDAsIDgxNzMsIDkwMSwgMCwgMCwgODEyOSwgMCwgMCwgMCwgNzg0NiwgNzg0NCwgMCwgNzg1MCwgNzg0OCwgMCwgMCwgMCwgCi0gICAgNDc4LCAwLCAwLCAwLCAwLCA1MDYsIDAsIDAsIDAsIDUwOCwgMCwgMCwgNDgyLCAwLCAwLCAwLCAwLCA3Njg4LCAwLCAwLCAKLSAgICA3ODcyLCA3ODcwLCAwLCA3ODc2LCA3ODc0LCAwLCAwLCAwLCAwLCA3NzI2LCAwLCAwLCA3ODkwLCA3ODg4LCAwLCA3ODk0LCAKLSAgICA3ODkyLCAwLCAwLCAwLCAwLCA3NzU2LCAwLCAwLCA1NTYsIDAsIDAsIDc3NTgsIDU1NCwgMCwgMCwgMCwgMCwgNTEwLCAwLCAKLSAgICAwLCA0NzUsIDQ3MSwgMCwgMCwgNDY5LCAwLCAwLCAwLCAwLCAwLCAwLCA0NzMsIDc4NDcsIDc4NDUsIDAsIDc4NTEsIDc4NDksIAotICAgIDAsIDAsIDAsIDQ3OSwgMCwgMCwgMCwgMCwgNTA3LCAwLCAwLCAwLCA1MDksIDAsIDAsIDQ4MywgMCwgMCwgMCwgMCwgNzY4OSwgCi0gICAgMCwgMCwgNzg3MywgNzg3MSwgMCwgNzg3NywgNzg3NSwgMCwgMCwgMCwgMCwgNzcyNywgMCwgMCwgNzg5MSwgNzg4OSwgMCwgCi0gICAgNzg5NSwgNzg5MywgMCwgMCwgMCwgMCwgNzc1NywgMCwgMCwgNTU3LCAwLCAwLCA3NzU5LCA1NTUsIDAsIDAsIDAsIDAsIAotICAgIDUxMSwgMCwgMCwgNDc2LCA0NzIsIDAsIDAsIDQ3MCwgMCwgMCwgMCwgMCwgMCwgMCwgNDc0LCA3ODU2LCA3ODU0LCAwLCAKLSAgICA3ODYwLCA3ODU4LCAwLCAwLCAwLCA3ODU3LCA3ODU1LCAwLCA3ODYxLCA3ODU5LCAwLCAwLCAwLCA3NzAwLCA3NzAyLCAwLCAKLSAgICAwLCA3NzAxLCA3NzAzLCAwLCAwLCA3NzYwLCA3NzYyLCAwLCAwLCA3NzYxLCA3NzYzLCAwLCAwLCAwLCAwLCA3NzgwLCAwLCAKLSAgICAwLCAwLCA3NzgxLCAwLCAwLCAwLCA3NzgyLCAwLCAwLCAwLCA3NzgzLCAwLCAwLCA3ODAwLCAwLCAwLCAwLCA3ODAxLCAwLCAKLSAgICAwLCAwLCAwLCAwLCA3ODAyLCAwLCAwLCAwLCA3ODAzLCAwLCAwLCA3ODM1LCAwLCA3OTAwLCA3ODk4LCAwLCA3OTA0LCAKLSAgICA3OTAyLCAwLCAwLCAwLCAwLCA3OTA2LCAwLCAwLCA3OTAxLCA3ODk5LCAwLCA3OTA1LCA3OTAzLCAwLCAwLCAwLCAwLCAKLSAgICA3OTA3LCAwLCAwLCA3OTE0LCA3OTEyLCAwLCA3OTE4LCA3OTE2LCAwLCAwLCAwLCAwLCA3OTIwLCAwLCAwLCA3OTE1LCAKLSAgICA3OTEzLCAwLCA3OTE5LCA3OTE3LCAwLCAwLCAwLCAwLCA3OTIxLCAwLCAwLCAwLCAwLCAwLCA0OTQsIDQ5MiwgMCwgMCwgMCwgCi0gICAgNDkzLCAwLCAwLCAwLCA0ODAsIDAsIDAsIDAsIDQ4MSwgMCwgMCwgMCwgMCwgNzcwOCwgMCwgMCwgMCwgNzcwOSwgMCwgMCwgCi0gICAgNTYwLCAwLCAwLCAwLCA1NjEsIDAsIDAsIDAsIDAsIDAsIDAsIDQ5NSwgODEyMiwgOTAyLCAwLCAwLCA4MTIxLCA4MTIwLCAwLCAKLSAgICAwLCAwLCAwLCA3OTQ0LCA3OTQ1LCAwLCA4MTI0LCAwLCAwLCA4MTM2LCA5MDQsIDAsIDAsIDAsIDAsIDc5NjAsIDc5NjEsIAotICAgIDgxMzgsIDkwNSwgMCwgMCwgMCwgMCwgNzk3NiwgNzk3NywgMCwgODE0MCwgMCwgMCwgODE1NCwgOTA2LCAwLCAwLCA4MTUzLCAKLSAgICA4MTUyLCAwLCA5MzgsIDAsIDAsIDc5OTIsIDc5OTMsIDgxODQsIDkwOCwgMCwgMCwgMCwgMCwgODAwOCwgODAwOSwgMCwgMCwgCi0gICAgMCwgODE3MiwgODE3MCwgOTEwLCAwLCAwLCA4MTY5LCA4MTY4LCAwLCA5MzksIDAsIDAsIDAsIDgwMjUsIDgxODYsIDkxMSwgCi0gICAgMCwgMCwgMCwgMCwgODA0MCwgODA0MSwgMCwgODE4OCwgMCwgMCwgMCwgODExNiwgMCwgMCwgMCwgODEzMiwgMCwgMCwgCi0gICAgODA0OCwgOTQwLCAwLCAwLCA4MTEzLCA4MTEyLCAwLCAwLCAwLCAwLCA3OTM2LCA3OTM3LCA4MTE4LCA4MTE1LCAwLCAwLCAKLSAgICA4MDUwLCA5NDEsIDAsIDAsIDAsIDAsIDc5NTIsIDc5NTMsIDgwNTIsIDk0MiwgMCwgMCwgMCwgMCwgNzk2OCwgNzk2OSwgCi0gICAgODEzNCwgODEzMSwgMCwgMCwgODA1NCwgOTQzLCAwLCAwLCA4MTQ1LCA4MTQ0LCAwLCA5NzAsIDAsIDAsIDc5ODQsIDc5ODUsIAotICAgIDgxNTAsIDAsIDAsIDAsIDgwNTYsIDk3MiwgMCwgMCwgMCwgMCwgODAwMCwgODAwMSwgMCwgMCwgODE2NCwgODE2NSwgODA1OCwgCi0gICAgOTczLCAwLCAwLCA4MTYxLCA4MTYwLCAwLCA5NzEsIDAsIDAsIDgwMTYsIDgwMTcsIDgxNjYsIDAsIDAsIDAsIDgwNjAsIAotICAgIDk3NCwgMCwgMCwgMCwgMCwgODAzMiwgODAzMywgODE4MiwgODE3OSwgMCwgMCwgODE0NiwgOTEyLCAwLCAwLCA4MTUxLCAwLCAKLSAgICAwLCAwLCA4MTYyLCA5NDQsIDAsIDAsIDgxNjcsIDAsIDAsIDAsIDAsIDgxODAsIDAsIDAsIDAsIDk3OSwgMCwgMCwgMCwgMCwgCi0gICAgMCwgOTgwLCAwLCAwLCAwLCAxMDMxLCAwLCAxMjMyLCAwLCAxMjM0LCAwLCAxMDI3LCAwLCAwLCAxMDI0LCAwLCAwLCAwLCAwLCAKLSAgICAxMjM4LCAwLCAxMDI1LCAwLCAxMjE3LCAwLCAxMjQ0LCAwLCAwLCAwLCAxMjQ2LCAxMDM3LCAwLCAwLCAwLCAxMjUwLCAKLSAgICAxMDQ5LCAwLCAxMjUyLCAwLCAxMDM2LCAwLCAwLCAwLCAwLCAwLCAxMjU0LCAxMjYyLCAxMDM4LCAwLCAxMjY0LCAwLCAwLCAKLSAgICAxMjY2LCAwLCAwLCAwLCAwLCAxMjY4LCAwLCAwLCAwLCAxMjcyLCAwLCAwLCAwLCAxMjYwLCAwLCAxMjMzLCAwLCAxMjM1LCAKLSAgICAwLCAxMTA3LCAwLCAwLCAxMTA0LCAwLCAwLCAwLCAwLCAxMjM5LCAwLCAxMTA1LCAwLCAxMjE4LCAwLCAxMjQ1LCAwLCAwLCAKLSAgICAwLCAxMjQ3LCAxMTE3LCAwLCAwLCAwLCAxMjUxLCAxMDgxLCAwLCAxMjUzLCAwLCAxMTE2LCAwLCAwLCAwLCAwLCAwLCAKLSAgICAxMjU1LCAxMjYzLCAxMTE4LCAwLCAxMjY1LCAwLCAwLCAxMjY3LCAwLCAwLCAwLCAwLCAxMjY5LCAwLCAwLCAwLCAxMjczLCAKLSAgICAwLCAwLCAwLCAxMjYxLCAwLCAwLCAwLCAxMTExLCAxMTQyLCAwLCAwLCAwLCAxMTQzLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAxMjQyLCAwLCAwLCAwLCAxMjQzLCAwLCAwLCAwLCAxMjU4LCAwLCAwLCAwLCAxMjU5LCAwLCAwLCAxNTcwLCAxNTcxLCAKLSAgICAxNTczLCAwLCAwLCAwLCAwLCAwLCAwLCAxNTcyLCAwLCAwLCAwLCAxNTc0LCAwLCAwLCAwLCAxNzMwLCAwLCAwLCAwLCAKLSAgICAxNzQ3LCAwLCAwLCAwLCAxNzI4LCAwLCAyMzQ1LCAwLCAwLCAwLCAyMzUzLCAwLCAwLCAwLCAyMzU2LCAwLCAwLCAwLCAwLCAKLSAgICAyNTA3LCAyNTA4LCAyODkxLCAyODg4LCAyODkyLCAwLCAyOTY0LCAwLCAwLCAwLCAwLCAwLCAwLCAzMDE4LCAzMDIwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAzMDE5LCAwLCAzMTQ0LCAwLCAwLCAwLCAwLCAwLCAzMjY0LCAwLCAwLCAzMjc0LCAzMjcxLCAKLSAgICAzMjcyLCAwLCAwLCAwLCAwLCAwLCAwLCAzMjc1LCAwLCAzNDAyLCAzNDA0LCAwLCAwLCAzNDAzLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAzNTQ2LCAzNTQ4LCAzNTUwLCAwLCAwLCAwLCAwLCAwLCAzNTQ5LCAwLCAwLCA0MTM0LCAwLCAwLCAwLCAwLCA2OTE4LCAwLCAKLSAgICAwLCAwLCA2OTIwLCAwLCAwLCAwLCA2OTIyLCAwLCAwLCAwLCA2OTI0LCAwLCAwLCAwLCA2OTI2LCAwLCAwLCAwLCA2OTMwLCAKLSAgICAwLCAwLCAwLCA2OTcxLCAwLCAwLCAwLCA2OTczLCAwLCAwLCAwLCA2OTc2LCAwLCAwLCAwLCA2OTc3LCAwLCAwLCAwLCAKLSAgICA2OTc5LCA3NzM2LCAwLCAwLCAwLCA3NzM3LCAwLCAwLCAwLCA3NzcyLCAwLCAwLCAwLCA3NzczLCAwLCAwLCAwLCAwLCAwLCAKLSAgICA3Nzg0LCAwLCAwLCAwLCA3Nzg1LCAwLCAwLCAwLCA3ODUyLCAwLCAwLCA3ODYyLCAwLCAwLCAwLCAwLCA3ODUzLCAwLCAwLCAKLSAgICA3ODYzLCAwLCAwLCAwLCAwLCA3ODc4LCAwLCAwLCAwLCA3ODc5LCAwLCAwLCAwLCA3ODk2LCAwLCAwLCAwLCA3ODk3LCAwLCAKLSAgICA3OTM4LCA3OTQwLCAwLCAwLCA3OTQyLCA4MDY0LCAwLCAwLCA3OTM5LCA3OTQxLCAwLCAwLCA3OTQzLCA4MDY1LCAwLCAwLCAKLSAgICAwLCA4MDY2LCAwLCAwLCAwLCA4MDY3LCAwLCAwLCAwLCA4MDY4LCAwLCAwLCAwLCA4MDY5LCAwLCAwLCAwLCA4MDcwLCAwLCAKLSAgICAwLCAwLCA4MDcxLCAwLCAwLCA3OTQ2LCA3OTQ4LCAwLCAwLCA3OTUwLCA4MDcyLCAwLCAwLCA3OTQ3LCA3OTQ5LCAwLCAwLCAKLSAgICA3OTUxLCA4MDczLCAwLCAwLCAwLCA4MDc0LCAwLCAwLCAwLCA4MDc1LCAwLCAwLCAwLCA4MDc2LCAwLCAwLCAwLCA4MDc3LCAKLSAgICAwLCAwLCAwLCA4MDc4LCAwLCAwLCAwLCA4MDc5LCAwLCAwLCA3OTU0LCA3OTU2LCAwLCAwLCA3OTU1LCA3OTU3LCAwLCAwLCAKLSAgICA3OTYyLCA3OTY0LCAwLCAwLCA3OTYzLCA3OTY1LCAwLCAwLCA3OTcwLCA3OTcyLCAwLCAwLCA3OTc0LCA4MDgwLCAwLCAwLCAKLSAgICA3OTcxLCA3OTczLCAwLCAwLCA3OTc1LCA4MDgxLCAwLCAwLCAwLCA4MDgyLCAwLCAwLCAwLCA4MDgzLCAwLCAwLCAwLCAKLSAgICA4MDg0LCAwLCAwLCAwLCA4MDg1LCAwLCAwLCAwLCA4MDg2LCAwLCAwLCAwLCA4MDg3LCAwLCAwLCA3OTc4LCA3OTgwLCAwLCAKLSAgICAwLCA3OTgyLCA4MDg4LCAwLCAwLCA3OTc5LCA3OTgxLCAwLCAwLCA3OTgzLCA4MDg5LCAwLCAwLCAwLCA4MDkwLCAwLCAwLCAKLSAgICAwLCA4MDkxLCAwLCAwLCAwLCA4MDkyLCAwLCAwLCAwLCA4MDkzLCAwLCAwLCAwLCA4MDk0LCAwLCAwLCAwLCA4MDk1LCAwLCAKLSAgICAwLCA3OTg2LCA3OTg4LCAwLCAwLCA3OTkwLCAwLCAwLCAwLCA3OTg3LCA3OTg5LCAwLCAwLCA3OTkxLCAwLCAwLCAwLCAKLSAgICA3OTk0LCA3OTk2LCAwLCAwLCA3OTk4LCAwLCAwLCAwLCA3OTk1LCA3OTk3LCAwLCAwLCA3OTk5LCAwLCAwLCAwLCA4MDAyLCAKLSAgICA4MDA0LCAwLCAwLCA4MDAzLCA4MDA1LCAwLCAwLCA4MDEwLCA4MDEyLCAwLCAwLCA4MDExLCA4MDEzLCAwLCAwLCA4MDE4LCAKLSAgICA4MDIwLCAwLCAwLCA4MDIyLCAwLCAwLCAwLCA4MDE5LCA4MDIxLCAwLCAwLCA4MDIzLCAwLCAwLCAwLCA4MDI3LCA4MDI5LCAKLSAgICAwLCAwLCA4MDMxLCAwLCAwLCAwLCA4MDM0LCA4MDM2LCAwLCAwLCA4MDM4LCA4MDk2LCAwLCAwLCA4MDM1LCA4MDM3LCAwLCAKLSAgICAwLCA4MDM5LCA4MDk3LCAwLCAwLCAwLCA4MDk4LCAwLCAwLCAwLCA4MDk5LCAwLCAwLCAwLCA4MTAwLCAwLCAwLCAwLCAKLSAgICA4MTAxLCAwLCAwLCAwLCA4MTAyLCAwLCAwLCAwLCA4MTAzLCAwLCAwLCA4MDQyLCA4MDQ0LCAwLCAwLCA4MDQ2LCA4MTA0LCAKLSAgICAwLCAwLCA4MDQzLCA4MDQ1LCAwLCAwLCA4MDQ3LCA4MTA1LCAwLCAwLCAwLCA4MTA2LCAwLCAwLCAwLCA4MTA3LCAwLCAwLCAKLSAgICAwLCA4MTA4LCAwLCAwLCAwLCA4MTA5LCAwLCAwLCAwLCA4MTEwLCAwLCAwLCAwLCA4MTExLCAwLCAwLCAwLCA4MTE0LCAwLCAKLSAgICAwLCAwLCA4MTMwLCAwLCAwLCAwLCA4MTc4LCAwLCAwLCAwLCA4MTE5LCAwLCAwLCA4MTQxLCA4MTQyLCAwLCAwLCA4MTQzLCAKLSAgICAwLCAwLCAwLCAwLCA4MTM1LCAwLCAwLCAwLCA4MTgzLCAwLCAwLCA4MTU3LCA4MTU4LCAwLCAwLCA4MTU5LCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCA4NjAyLCAwLCAwLCAwLCA4NjAzLCAwLCAwLCAwLCA4NjIyLCAwLCAwLCAwLCA4NjUzLCAwLCAwLCAwLCAKLSAgICA4NjU1LCAwLCAwLCAwLCA4NjU0LCAwLCAwLCAwLCA4NzA4LCAwLCAwLCAwLCA4NzEzLCAwLCAwLCAwLCA4NzE2LCAwLCAwLCAKLSAgICAwLCA4NzQwLCAwLCAwLCAwLCA4NzQyLCAwLCAwLCAwLCA4NzY5LCAwLCAwLCAwLCA4NzcyLCAwLCAwLCAwLCA4Nzc1LCAwLCAKLSAgICAwLCAwLCA4Nzc3LCAwLCAwLCAwLCA4ODEzLCAwLCAwLCAwLCA4ODAyLCAwLCAwLCAwLCA4ODE2LCAwLCAwLCAwLCA4ODE3LCAKLSAgICAwLCAwLCAwLCA4ODIwLCAwLCAwLCAwLCA4ODIxLCAwLCAwLCAwLCA4ODI0LCAwLCAwLCAwLCA4ODI1LCAwLCAwLCAwLCAKLSAgICA4ODMyLCAwLCAwLCAwLCA4ODMzLCAwLCAwLCAwLCA4OTI4LCAwLCAwLCAwLCA4OTI5LCAwLCAwLCAwLCA4ODM2LCAwLCAwLCAKLSAgICAwLCA4ODM3LCAwLCAwLCAwLCA4ODQwLCAwLCAwLCAwLCA4ODQxLCAwLCAwLCAwLCA4OTMwLCAwLCAwLCAwLCA4OTMxLCAwLCAKLSAgICAwLCAwLCA4ODc2LCAwLCAwLCAwLCA4ODc3LCAwLCAwLCAwLCA4ODc4LCAwLCAwLCAwLCA4ODc5LCAwLCAwLCAwLCA4OTM4LCAKLSAgICAwLCAwLCAwLCA4OTM5LCAwLCAwLCAwLCA4OTQwLCAwLCAwLCAwLCA4OTQxLCAxMjQzNiwgMCwgMCwgMCwgMTIzNjQsIDAsIDAsIAotICAgIDAsIDEyMzY2LCAwLCAwLCAwLCAxMjM2OCwgMCwgMCwgMCwgMTIzNzAsIDAsIDAsIDAsIDEyMzcyLCAwLCAwLCAwLCAxMjM3NCwgCi0gICAgMCwgMCwgMCwgMTIzNzYsIDAsIDAsIDAsIDEyMzc4LCAwLCAwLCAwLCAxMjM4MCwgMCwgMCwgMCwgMTIzODIsIDAsIDAsIDAsIAotICAgIDEyMzg0LCAwLCAwLCAwLCAxMjM4NiwgMCwgMCwgMCwgMTIzODksIDAsIDAsIDAsIDEyMzkxLCAwLCAwLCAwLCAxMjM5MywgMCwgCi0gICAgMCwgMCwgMTI0MDAsIDEyNDAxLCAwLCAwLCAxMjQwMywgMTI0MDQsIDAsIDAsIDEyNDA2LCAxMjQwNywgMCwgMCwgMTI0MDksIAotICAgIDEyNDEwLCAwLCAwLCAxMjQxMiwgMTI0MTMsIDAsIDAsIDEyNDQ2LCAwLCAwLCAwLCAxMjUzMiwgMCwgMCwgMCwgMTI0NjAsIAotICAgIDAsIDAsIDAsIDEyNDYyLCAwLCAwLCAwLCAxMjQ2NCwgMCwgMCwgMCwgMTI0NjYsIDAsIDAsIDAsIDEyNDY4LCAwLCAwLCAwLCAKLSAgICAxMjQ3MCwgMCwgMCwgMCwgMTI0NzIsIDAsIDAsIDAsIDEyNDc0LCAwLCAwLCAwLCAxMjQ3NiwgMCwgMCwgMCwgMTI0NzgsIDAsIAotICAgIDAsIDAsIDEyNDgwLCAwLCAwLCAwLCAxMjQ4MiwgMCwgMCwgMCwgMTI0ODUsIDAsIDAsIDAsIDEyNDg3LCAwLCAwLCAwLCAKLSAgICAxMjQ4OSwgMCwgMCwgMCwgMTI0OTYsIDEyNDk3LCAwLCAwLCAxMjQ5OSwgMTI1MDAsIDAsIDAsIDEyNTAyLCAxMjUwMywgMCwgCi0gICAgMCwgMTI1MDUsIDEyNTA2LCAwLCAwLCAxMjUwOCwgMTI1MDksIDAsIDAsIDEyNTM1LCAwLCAwLCAwLCAxMjUzNiwgMCwgMCwgCi0gICAgMCwgMTI1MzcsIDAsIDAsIDAsIDEyNTM4LCAwLCAwLCAwLCAxMjU0MiwgMCwgMCwgMCwgMCwgMCwgNjk3ODYsIDAsIDAsIDAsIAotICAgIDY5Nzg4LCAwLCAwLCAwLCA2OTgwMywgMCwgMCwgMCwgMCwgNjk5MzQsIDAsIDAsIDAsIDY5OTM1LCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCA4ODE0LCAwLCA4ODAwLCAwLCAwLCAwLCAwLCAwLCA4ODE1LCAwLCAwLCAxOTIsIDE5MywgCisgICAgMTk0LCAxOTUsIDI1NiwgMjU4LCA1NTAsIDE5NiwgNzg0MiwgMTk3LCAwLCA0NjEsIDUxMiwgNTE0LCAwLCAwLCAwLCA3ODQwLCAKKyAgICAwLCA3NjgwLCAwLCAwLCAyNjAsIDAsIDAsIDAsIDAsIDAsIDc2ODIsIDAsIDAsIDc2ODQsIDAsIDAsIDAsIDAsIDc2ODYsIDAsIAorICAgIDAsIDAsIDAsIDI2MiwgMjY0LCAwLCAwLCAwLCAyNjYsIDAsIDAsIDAsIDAsIDI2OCwgMCwgMCwgMCwgMCwgMCwgMTk5LCAwLCAKKyAgICAwLCA3NjkwLCAwLCAwLCAwLCAwLCAyNzAsIDAsIDc2OTIsIDAsIDAsIDAsIDc2OTYsIDAsIDc2OTgsIDAsIDAsIDc2OTQsIDAsIAorICAgIDAsIDAsIDIwMCwgMjAxLCAyMDIsIDc4NjgsIDI3NCwgMjc2LCAyNzgsIDIwMywgNzg2NiwgMCwgMCwgMjgyLCA1MTYsIDUxOCwgCisgICAgMCwgMCwgMCwgNzg2NCwgMCwgMCwgMCwgNTUyLCAyODAsIDc3MDQsIDAsIDc3MDYsIDAsIDAsIDc3MTAsIDAsIDAsIDAsIDAsIAorICAgIDUwMCwgMjg0LCAwLCA3NzEyLCAyODYsIDI4OCwgMCwgMCwgMCwgMCwgNDg2LCAwLCAwLCAwLCAwLCAwLCAyOTAsIDAsIDAsIAorICAgIDI5MiwgMCwgMCwgMCwgNzcxNCwgNzcxOCwgMCwgMCwgMCwgNTQyLCAwLCA3NzE2LCAwLCAwLCAwLCA3NzIwLCAwLCAwLCAKKyAgICA3NzIyLCAwLCAwLCAwLCAwLCAwLCAyMDQsIDIwNSwgMjA2LCAyOTYsIDI5OCwgMzAwLCAzMDQsIDIwNywgNzg4MCwgMCwgMCwgCisgICAgNDYzLCA1MjAsIDUyMiwgMCwgMCwgMCwgNzg4MiwgMzAyLCAwLCAwLCA3NzI0LCAwLCAwLCAzMDgsIDAsIDAsIDAsIDAsIAorICAgIDc3MjgsIDAsIDQ4OCwgMCwgMCwgMCwgMCwgMCwgNzczMCwgMCwgMCwgMCwgMzEwLCA3NzMyLCAwLCAwLCAwLCAwLCAzMTMsIAorICAgIDAsIDAsIDAsIDAsIDAsIDMxNywgMCwgNzczNCwgMCwgMCwgMCwgMzE1LCAwLCA3NzQwLCAwLCAwLCA3NzM4LCAwLCAwLCAwLCAKKyAgICAwLCA3NzQyLCA3NzQ0LCAwLCAwLCAwLCAwLCAwLCAwLCA3NzQ2LCA1MDQsIDMyMywgMCwgMjA5LCAwLCAwLCA3NzQ4LCAwLCAKKyAgICAwLCAwLCAwLCAzMjcsIDAsIDc3NTAsIDAsIDAsIDAsIDMyNSwgMCwgNzc1NCwgMCwgMCwgNzc1MiwgMCwgMCwgMCwgMjEwLCAKKyAgICAyMTEsIDIxMiwgMjEzLCAzMzIsIDMzNCwgNTU4LCAyMTQsIDc4ODYsIDAsIDMzNiwgNDY1LCA1MjQsIDUyNiwgMCwgMCwgCisgICAgNDE2LCA3ODg0LCA0OTAsIDAsIDAsIDAsIDAsIDc3NjQsIDAsIDAsIDAsIDAsIDc3NjYsIDAsIDAsIDAsIDAsIDM0MCwgCisgICAgNzc2OCwgMCwgMCwgMCwgMCwgMzQ0LCA1MjgsIDUzMCwgMCwgMCwgMCwgNzc3MCwgMCwgMCwgMCwgMzQyLCA3Nzc0LCAwLCAwLCAKKyAgICAwLCAwLCAzNDYsIDM0OCwgMCwgMCwgMCwgNzc3NiwgMCwgMCwgMCwgMCwgMzUyLCAwLCA3Nzc4LCAwLCAwLCA1MzYsIDM1MCwgCisgICAgMCwgMCwgNzc4NiwgMCwgMCwgMCwgMCwgMzU2LCAwLCAwLCAwLCAwLCAwLCA3Nzg4LCAwLCAwLCA1MzgsIDM1NCwgMCwgCisgICAgNzc5MiwgMCwgMCwgNzc5MCwgMCwgMCwgMCwgMjE3LCAyMTgsIDIxOSwgMzYwLCAzNjIsIDM2NCwgMCwgMjIwLCA3OTEwLCAKKyAgICAzNjYsIDM2OCwgNDY3LCA1MzIsIDUzNCwgMCwgMCwgNDMxLCA3OTA4LCA3Nzk0LCAwLCAwLCAwLCAzNzAsIDc3OTgsIDAsIAorICAgIDc3OTYsIDAsIDAsIDAsIDc4MDQsIDAsIDAsIDAsIDAsIDAsIDc4MDYsIDc4MDgsIDc4MTAsIDM3MiwgMCwgMCwgMCwgNzgxNCwgCisgICAgNzgxMiwgMCwgNzgxNiwgMCwgMCwgNzgxOCwgNzgyMCwgMCwgMCwgNzkyMiwgMjIxLCAzNzQsIDc5MjgsIDU2MiwgMCwgCisgICAgNzgyMiwgMzc2LCA3OTI2LCAwLCAwLCAwLCAwLCA3OTI0LCAwLCAwLCAwLCAwLCAwLCAzNzcsIDc4MjQsIDAsIDAsIDAsIAorICAgIDM3OSwgMCwgMCwgMCwgMCwgMzgxLCAwLCAwLCAwLCAwLCAwLCA3ODI2LCA3ODI4LCAwLCAwLCAwLCAyMjQsIDIyNSwgMjI2LCAKKyAgICAyMjcsIDI1NywgMjU5LCA1NTEsIDIyOCwgNzg0MywgMjI5LCAwLCA0NjIsIDUxMywgNTE1LCAwLCAwLCAwLCA3ODQxLCAwLCAKKyAgICA3NjgxLCAwLCAwLCAyNjEsIDAsIDc2ODMsIDAsIDAsIDAsIDAsIDAsIDAsIDc2ODUsIDc2ODcsIDAsIDAsIDAsIDAsIDI2MywgCisgICAgMjY1LCAwLCAwLCAwLCAyNjcsIDAsIDAsIDAsIDAsIDI2OSwgMCwgMjMxLCAwLCAwLCA3NjkxLCAwLCAwLCAwLCAwLCAyNzEsIAorICAgIDAsIDAsIDAsIDAsIDAsIDc2OTMsIDAsIDAsIDAsIDc2OTcsIDAsIDc2OTksIDAsIDAsIDc2OTUsIDAsIDAsIDAsIDIzMiwgCisgICAgMjMzLCAyMzQsIDc4NjksIDI3NSwgMjc3LCAyNzksIDIzNSwgNzg2NywgMCwgMCwgMjgzLCA1MTcsIDUxOSwgMCwgMCwgMCwgCisgICAgNzg2NSwgMCwgMCwgMCwgNTUzLCAyODEsIDc3MDUsIDAsIDc3MDcsIDAsIDAsIDc3MTEsIDAsIDAsIDAsIDAsIDUwMSwgMjg1LCAKKyAgICAwLCA3NzEzLCAyODcsIDI4OSwgMCwgMCwgMCwgMCwgNDg3LCAwLCAyOTEsIDAsIDAsIDI5MywgMCwgMCwgMCwgNzcxNSwgCisgICAgNzcxOSwgMCwgMCwgMCwgNTQzLCAwLCAwLCAwLCAwLCAwLCA3NzE3LCAwLCAwLCAwLCA3NzIxLCAwLCAwLCA3NzIzLCAwLCAKKyAgICA3ODMwLCAwLCAwLCAwLCAyMzYsIDIzNywgMjM4LCAyOTcsIDI5OSwgMzAxLCAwLCAyMzksIDc4ODEsIDAsIDAsIDQ2NCwgCisgICAgNTIxLCA1MjMsIDAsIDAsIDAsIDc4ODMsIDAsIDAsIDAsIDAsIDMwMywgMCwgMCwgNzcyNSwgMCwgMCwgMzA5LCAwLCAwLCAwLCAKKyAgICAwLCA0OTYsIDAsIDAsIDAsIDc3MjksIDAsIDAsIDAsIDAsIDAsIDQ4OSwgMCwgNzczMSwgMCwgMCwgMCwgMzExLCAwLCAwLCAKKyAgICAwLCAwLCA3NzMzLCAwLCAwLCAwLCAwLCAzMTQsIDAsIDMxOCwgMCwgMCwgMCwgMCwgMCwgNzczNSwgMCwgMCwgMCwgMzE2LCAKKyAgICAwLCA3NzQxLCAwLCAwLCA3NzM5LCAwLCAwLCAwLCAwLCA3NzQzLCAwLCAwLCAwLCAwLCA3NzQ1LCAwLCAwLCA3NzQ3LCAwLCAKKyAgICAwLCAwLCAwLCA1MDUsIDMyNCwgMCwgMjQxLCAwLCAwLCA3NzQ5LCAwLCAwLCAwLCAwLCAzMjgsIDAsIDAsIDAsIDAsIDAsIAorICAgIDc3NTEsIDAsIDAsIDAsIDMyNiwgMCwgNzc1NSwgMCwgMCwgNzc1MywgMCwgMCwgMCwgMjQyLCAyNDMsIDI0NCwgMjQ1LCAKKyAgICAzMzMsIDMzNSwgNTU5LCAyNDYsIDc4ODcsIDAsIDMzNywgNDY2LCA1MjUsIDUyNywgMCwgMCwgNDE3LCA3ODg1LCAwLCAwLCAKKyAgICAwLCAwLCA0OTEsIDAsIDAsIDAsIDAsIDc3NjUsIDc3NjcsIDAsIDAsIDAsIDAsIDM0MSwgMCwgMCwgMCwgMCwgNzc2OSwgMCwgCisgICAgMCwgMCwgMCwgMzQ1LCA1MjksIDUzMSwgMCwgMCwgMCwgNzc3MSwgMCwgMCwgMCwgMzQzLCAwLCAwLCAwLCAwLCA3Nzc1LCAwLCAKKyAgICAwLCAwLCAwLCAzNDcsIDM0OSwgMCwgMCwgMCwgNzc3NywgMCwgMCwgMCwgMCwgMzUzLCAwLCAwLCAwLCAwLCAwLCA3Nzc5LCAKKyAgICAwLCAwLCA1MzcsIDM1MSwgMCwgMCwgNzc4NywgNzgzMSwgMCwgMCwgMCwgMzU3LCAwLCA3Nzg5LCAwLCAwLCA1MzksIDM1NSwgCisgICAgMCwgNzc5MywgMCwgMCwgNzc5MSwgMCwgMCwgMCwgMjQ5LCAyNTAsIDI1MSwgMzYxLCAzNjMsIDM2NSwgMCwgMjUyLCA3OTExLCAKKyAgICAzNjcsIDM2OSwgNDY4LCA1MzMsIDUzNSwgMCwgMCwgNDMyLCA3OTA5LCA3Nzk1LCAwLCAwLCAwLCAzNzEsIDc3OTksIDAsIAorICAgIDc3OTcsIDAsIDAsIDAsIDc4MDUsIDAsIDc4MDcsIDAsIDAsIDAsIDAsIDc4MDksIDc4MTEsIDM3MywgMCwgMCwgMCwgNzgxNSwgCisgICAgNzgxMywgMCwgNzgzMiwgMCwgMCwgMCwgNzgxNywgMCwgMCwgNzgxOSwgNzgyMSwgMCwgMCwgNzkyMywgMjUzLCAzNzUsIAorICAgIDc5MjksIDU2MywgMCwgNzgyMywgMjU1LCA3OTI3LCA3ODMzLCAwLCAwLCAwLCA3OTI1LCAwLCAzNzgsIDc4MjUsIDAsIDAsIAorICAgIDAsIDM4MCwgMCwgMCwgMCwgMCwgMzgyLCAwLCA3ODI3LCAwLCAwLCAwLCAwLCA3ODI5LCAwLCAwLCAwLCA4MTczLCA5MDEsIAorICAgIDAsIDAsIDgxMjksIDAsIDc4NDYsIDc4NDQsIDAsIDc4NTAsIDc4NDgsIDAsIDAsIDAsIDAsIDAsIDQ3OCwgMCwgMCwgNTA2LCAKKyAgICAwLCAwLCAwLCAwLCAwLCA1MDgsIDAsIDAsIDQ4MiwgMCwgMCwgNzY4OCwgMCwgMCwgMCwgMCwgNzg3MiwgNzg3MCwgMCwgCisgICAgNzg3NiwgMCwgMCwgMCwgMCwgNzg3NCwgMCwgMCwgNzcyNiwgMCwgMCwgMCwgMCwgNzg5MCwgNzg4OCwgMCwgNzg5NCwgMCwgCisgICAgMCwgMCwgMCwgNzg5MiwgMCwgMCwgNzc1NiwgMCwgMCwgNTU2LCAwLCAwLCA3NzU4LCAwLCAwLCA1NTQsIDAsIDAsIDUxMCwgCisgICAgMCwgMCwgMCwgMCwgNDc1LCA0NzEsIDAsIDAsIDQ2OSwgMCwgMCwgNDczLCAwLCAwLCA3ODQ3LCA3ODQ1LCAwLCA3ODUxLCAKKyAgICA3ODQ5LCAwLCAwLCAwLCAwLCAwLCA0NzksIDAsIDAsIDUwNywgMCwgMCwgMCwgMCwgMCwgNTA5LCAwLCAwLCA0ODMsIDAsIDAsIAorICAgIDc2ODksIDAsIDAsIDAsIDAsIDc4NzMsIDc4NzEsIDAsIDc4NzcsIDAsIDAsIDAsIDAsIDc4NzUsIDAsIDAsIDc3MjcsIDAsIAorICAgIDAsIDAsIDAsIDc4OTEsIDc4ODksIDAsIDc4OTUsIDAsIDAsIDAsIDAsIDc4OTMsIDAsIDAsIDc3NTcsIDAsIDAsIDU1NywgMCwgCisgICAgMCwgNzc1OSwgMCwgMCwgNTU1LCAwLCAwLCA1MTEsIDAsIDAsIDAsIDAsIDQ3NiwgNDcyLCAwLCAwLCA0NzAsIDAsIDAsIAorICAgIDQ3NCwgMCwgMCwgNzg1NiwgNzg1NCwgMCwgNzg2MCwgNzg1OCwgMCwgMCwgMCwgMCwgMCwgNzg1NywgNzg1NSwgMCwgNzg2MSwgCisgICAgMCwgMCwgMCwgMCwgNzg1OSwgMCwgNzcwMCwgNzcwMiwgMCwgMCwgMCwgMCwgNzcwMSwgNzcwMywgNzc2MCwgNzc2MiwgMCwgCisgICAgMCwgMCwgMCwgNzc2MSwgNzc2MywgMCwgMCwgNzc4MCwgMCwgNzc4MSwgMCwgMCwgMCwgMCwgMCwgNzc4MiwgMCwgNzc4MywgCisgICAgMCwgMCwgMCwgMCwgNzgwMCwgMCwgMCwgMCwgMCwgMCwgNzgwMSwgMCwgMCwgMCwgNzgwMiwgMCwgNzgwMywgMCwgMCwgMCwgCisgICAgMCwgNzgzNSwgMCwgMCwgMCwgNzkwMCwgNzg5OCwgMCwgNzkwNCwgMCwgMCwgMCwgMCwgNzkwMiwgMCwgMCwgMCwgMCwgCisgICAgNzkwNiwgNzkwMSwgNzg5OSwgMCwgNzkwNSwgNzkwMywgMCwgMCwgMCwgMCwgNzkwNywgMCwgMCwgMCwgMCwgNzkxNCwgCisgICAgNzkxMiwgMCwgNzkxOCwgMCwgMCwgMCwgMCwgNzkxNiwgMCwgMCwgMCwgMCwgNzkyMCwgNzkxNSwgNzkxMywgMCwgNzkxOSwgCisgICAgNzkxNywgMCwgMCwgMCwgMCwgNzkyMSwgMCwgMCwgMCwgNDk0LCAwLCAwLCA0OTIsIDAsIDAsIDAsIDAsIDAsIDQ5MywgMCwgCisgICAgNDgwLCAwLCAwLCAwLCAwLCAwLCA0ODEsIDAsIDAsIDc3MDgsIDAsIDAsIDAsIDAsIDAsIDc3MDksIDU2MCwgMCwgMCwgMCwgCisgICAgMCwgMCwgNTYxLCAwLCAwLCAwLCAwLCA0OTUsIDAsIDAsIDgxMjIsIDkwMiwgMCwgMCwgODEyMSwgODEyMCwgNzk0NCwgCisgICAgNzk0NSwgMCwgMCwgMCwgMCwgMCwgODEyNCwgODEzNiwgOTA0LCAwLCAwLCAwLCAwLCA3OTYwLCA3OTYxLCAwLCAwLCA4MTM4LCAKKyAgICA5MDUsIDc5NzYsIDc5NzcsIDAsIDAsIDAsIDAsIDAsIDgxNDAsIDgxNTQsIDkwNiwgMCwgMCwgODE1MywgODE1MiwgMCwgCisgICAgOTM4LCAwLCAwLCA3OTkyLCA3OTkzLCAwLCAwLCA4MTg0LCA5MDgsIDgwMDgsIDgwMDksIDAsIDAsIDAsIDAsIDAsIDgxNzIsIAorICAgIDAsIDAsIDgxNzAsIDkxMCwgMCwgMCwgODE2OSwgODE2OCwgMCwgOTM5LCAwLCAwLCAwLCA4MDI1LCAwLCAwLCA4MTg2LCAKKyAgICA5MTEsIDAsIDAsIDAsIDAsIDgwNDAsIDgwNDEsIDAsIDgxODgsIDAsIDAsIDAsIDAsIDAsIDgxMTYsIDAsIDgxMzIsIDAsIDAsIAorICAgIDAsIDAsIDgwNDgsIDk0MCwgMCwgMCwgODExMywgODExMiwgNzkzNiwgNzkzNywgMCwgMCwgMCwgMCwgODExOCwgODExNSwgCisgICAgODA1MCwgOTQxLCAwLCAwLCAwLCAwLCA3OTUyLCA3OTUzLCAwLCAwLCA4MDUyLCA5NDIsIDc5NjgsIDc5NjksIDAsIDAsIDAsIAorICAgIDAsIDgxMzQsIDgxMzEsIDgwNTQsIDk0MywgMCwgMCwgODE0NSwgODE0NCwgMCwgOTcwLCAwLCAwLCA3OTg0LCA3OTg1LCAKKyAgICA4MTUwLCAwLCAwLCAwLCAwLCAwLCA4MDU2LCA5NzIsIDgwMDAsIDgwMDEsIDAsIDAsIDAsIDAsIDgxNjQsIDgxNjUsIDAsIDAsIAorICAgIDgwNTgsIDk3MywgMCwgMCwgODE2MSwgODE2MCwgMCwgOTcxLCAwLCAwLCA4MDE2LCA4MDE3LCAwLCAwLCAwLCAwLCA4MTY2LCAKKyAgICAwLCA4MDYwLCA5NzQsIDAsIDAsIDAsIDAsIDgwMzIsIDgwMzMsIDgxODIsIDgxNzksIDAsIDAsIDAsIDAsIDgxNDYsIDkxMiwgCisgICAgMCwgMCwgODE1MSwgMCwgODE2MiwgOTQ0LCAwLCAwLCA4MTY3LCAwLCAwLCAwLCAwLCAwLCAwLCA4MTgwLCAwLCA5NzksIDAsIAorICAgIDAsIDAsIDAsIDAsIDk4MCwgMCwgMTAzMSwgMCwgMCwgMCwgMTIzMiwgMCwgMTIzNCwgMCwgMCwgMCwgMTAyNywgMTAyNCwgMCwgCisgICAgMCwgMCwgMCwgMTIzOCwgMCwgMTAyNSwgMCwgMCwgMCwgMTIxNywgMCwgMTI0NCwgMCwgMCwgMCwgMCwgMCwgMTI0NiwgMCwgCisgICAgMCwgMTAzNywgMCwgMCwgMCwgMTI1MCwgMTA0OSwgMCwgMTI1MiwgMCwgMCwgMCwgMTAzNiwgMCwgMCwgMCwgMTI1NCwgMCwgCisgICAgMCwgMTI2MiwgMTAzOCwgMCwgMTI2NCwgMCwgMCwgMTI2NiwgMCwgMCwgMTI2OCwgMCwgMCwgMCwgMCwgMCwgMTI3MiwgMCwgCisgICAgMTI2MCwgMCwgMCwgMCwgMTIzMywgMCwgMTIzNSwgMCwgMCwgMCwgMTEwNywgMTEwNCwgMCwgMCwgMCwgMCwgMTIzOSwgMCwgCisgICAgMTEwNSwgMCwgMCwgMCwgMTIxOCwgMCwgMTI0NSwgMCwgMCwgMCwgMCwgMCwgMTI0NywgMCwgMCwgMTExNywgMCwgMCwgMCwgCisgICAgMTI1MSwgMTA4MSwgMCwgMTI1MywgMCwgMCwgMCwgMTExNiwgMCwgMCwgMCwgMTI1NSwgMCwgMCwgMTI2MywgMTExOCwgMCwgCisgICAgMTI2NSwgMCwgMCwgMTI2NywgMCwgMCwgMTI2OSwgMCwgMCwgMCwgMCwgMCwgMTI3MywgMCwgMTI2MSwgMCwgMCwgMCwgMCwgCisgICAgMCwgMTExMSwgMCwgMCwgMTE0MiwgMCwgMTE0MywgMCwgMCwgMCwgMCwgMTI0MiwgMCwgMCwgMCwgMCwgMCwgMTI0MywgMCwgCisgICAgMTI1OCwgMCwgMCwgMCwgMCwgMCwgMTI1OSwgMTU3MCwgMTU3MSwgMTU3MywgMCwgMCwgMCwgMCwgMTU3MiwgMCwgMTU3NCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMTczMCwgMCwgMTc0NywgMCwgMCwgMCwgMCwgMCwgMTcyOCwgMCwgMCwgMCwgMjM0NSwgMCwgCisgICAgMjM1MywgMCwgMCwgMCwgMCwgMCwgMjM1NiwgMCwgMCwgMjUwNywgMjUwOCwgMCwgMCwgMjg5MSwgMjg4OCwgMjg5MiwgMCwgCisgICAgMCwgMCwgMjk2NCwgMCwgMCwgMCwgMCwgMzAxOCwgMzAyMCwgMCwgMCwgMCwgMCwgMzAxOSwgMCwgMCwgMCwgMzE0NCwgMCwgCisgICAgMCwgMCwgMzI2NCwgMzI3NCwgMzI3MSwgMzI3MiwgMCwgMCwgMCwgMCwgMzI3NSwgMCwgMCwgMCwgMzQwMiwgMzQwNCwgMCwgCisgICAgMCwgMCwgMCwgMzQwMywgMCwgMCwgMCwgMzU0NiwgMzU0OCwgMzU1MCwgMCwgMCwgMCwgMzU0OSwgNDEzNCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgNjkxOCwgMCwgNjkyMCwgMCwgMCwgMCwgMCwgMCwgNjkyMiwgMCwgNjkyNCwgMCwgMCwgMCwgMCwgMCwgCisgICAgNjkyNiwgMCwgNjkzMCwgMCwgMCwgMCwgMCwgMCwgNjk3MSwgMCwgNjk3MywgMCwgMCwgMCwgMCwgMCwgNjk3NiwgMCwgCisgICAgNjk3NywgMCwgMCwgMCwgMCwgMCwgNjk3OSwgMCwgMCwgNzczNiwgMCwgNzczNywgMCwgMCwgMCwgMCwgMCwgNzc3MiwgMCwgCisgICAgNzc3MywgMCwgMCwgMCwgNzc4NCwgMCwgMCwgMCwgMCwgMCwgNzc4NSwgMCwgNzg1MiwgMCwgMCwgNzg2MiwgMCwgMCwgCisgICAgNzg1MywgMCwgMCwgNzg2MywgMCwgMCwgNzg3OCwgMCwgMCwgMCwgMCwgMCwgNzg3OSwgMCwgNzg5NiwgMCwgMCwgMCwgMCwgCisgICAgMCwgNzg5NywgMCwgMCwgMCwgNzkzOCwgNzk0MCwgMCwgMCwgNzk0MiwgODA2NCwgNzkzOSwgNzk0MSwgMCwgMCwgNzk0MywgCisgICAgODA2NSwgMCwgMCwgMCwgMCwgMCwgODA2NiwgMCwgODA2NywgMCwgMCwgMCwgMCwgMCwgODA2OCwgMCwgODA2OSwgMCwgMCwgCisgICAgMCwgMCwgMCwgODA3MCwgMCwgODA3MSwgMCwgMCwgMCwgMCwgNzk0NiwgNzk0OCwgMCwgMCwgNzk1MCwgODA3MiwgNzk0NywgCisgICAgNzk0OSwgMCwgMCwgNzk1MSwgODA3MywgMCwgMCwgMCwgMCwgMCwgODA3NCwgMCwgODA3NSwgMCwgMCwgMCwgMCwgMCwgCisgICAgODA3NiwgMCwgODA3NywgMCwgMCwgMCwgMCwgMCwgODA3OCwgMCwgODA3OSwgMCwgMCwgMCwgMCwgNzk1NCwgNzk1NiwgCisgICAgNzk1NSwgNzk1NywgMCwgMCwgMCwgMCwgNzk2MiwgNzk2NCwgNzk2MywgNzk2NSwgMCwgMCwgMCwgMCwgNzk3MCwgNzk3MiwgCisgICAgMCwgMCwgNzk3NCwgODA4MCwgNzk3MSwgNzk3MywgMCwgMCwgNzk3NSwgODA4MSwgMCwgMCwgMCwgMCwgMCwgODA4MiwgMCwgCisgICAgODA4MywgMCwgMCwgMCwgMCwgMCwgODA4NCwgMCwgODA4NSwgMCwgMCwgMCwgMCwgMCwgODA4NiwgMCwgODA4NywgMCwgMCwgCisgICAgMCwgMCwgNzk3OCwgNzk4MCwgMCwgMCwgNzk4MiwgODA4OCwgNzk3OSwgNzk4MSwgMCwgMCwgNzk4MywgODA4OSwgMCwgMCwgCisgICAgMCwgMCwgMCwgODA5MCwgMCwgODA5MSwgMCwgMCwgMCwgMCwgMCwgODA5MiwgMCwgODA5MywgMCwgMCwgMCwgMCwgMCwgCisgICAgODA5NCwgMCwgODA5NSwgMCwgMCwgMCwgMCwgNzk4NiwgNzk4OCwgMCwgMCwgNzk5MCwgMCwgNzk4NywgNzk4OSwgMCwgMCwgCisgICAgNzk5MSwgMCwgMCwgMCwgMCwgMCwgNzk5NCwgNzk5NiwgMCwgMCwgNzk5OCwgMCwgNzk5NSwgNzk5NywgMCwgMCwgNzk5OSwgCisgICAgMCwgMCwgMCwgMCwgMCwgODAwMiwgODAwNCwgODAwMywgODAwNSwgMCwgMCwgMCwgMCwgODAxMCwgODAxMiwgODAxMSwgCisgICAgODAxMywgMCwgMCwgMCwgMCwgODAxOCwgODAyMCwgMCwgMCwgODAyMiwgMCwgODAxOSwgODAyMSwgMCwgMCwgODAyMywgMCwgCisgICAgMCwgMCwgMCwgMCwgODAyNywgODAyOSwgMCwgMCwgODAzMSwgMCwgODAzNCwgODAzNiwgMCwgMCwgODAzOCwgODA5NiwgMCwgCisgICAgMCwgMCwgMCwgODAzNSwgODAzNywgMCwgMCwgODAzOSwgODA5NywgMCwgODA5OCwgMCwgMCwgMCwgMCwgMCwgODA5OSwgMCwgCisgICAgODEwMCwgMCwgMCwgMCwgMCwgMCwgODEwMSwgMCwgODEwMiwgMCwgMCwgMCwgMCwgMCwgODEwMywgODA0MiwgODA0NCwgMCwgCisgICAgMCwgODA0NiwgODEwNCwgMCwgMCwgMCwgMCwgODA0MywgODA0NSwgMCwgMCwgODA0NywgODEwNSwgMCwgODEwNiwgMCwgMCwgCisgICAgMCwgMCwgMCwgODEwNywgMCwgODEwOCwgMCwgMCwgMCwgMCwgMCwgODEwOSwgMCwgODExMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgODExMSwgMCwgODExNCwgMCwgMCwgMCwgMCwgMCwgODEzMCwgMCwgODE3OCwgMCwgMCwgMCwgMCwgMCwgODExOSwgODE0MSwgCisgICAgODE0MiwgMCwgMCwgODE0MywgMCwgMCwgMCwgMCwgMCwgMCwgODEzNSwgMCwgODE4MywgMCwgMCwgMCwgMCwgODE1NywgCisgICAgODE1OCwgMCwgMCwgODE1OSwgMCwgMCwgMCwgMCwgODYwMiwgMCwgODYwMywgMCwgMCwgMCwgMCwgMCwgODYyMiwgMCwgCisgICAgODY1MywgMCwgMCwgMCwgMCwgMCwgODY1NSwgMCwgODY1NCwgMCwgMCwgMCwgMCwgMCwgODcwOCwgMCwgODcxMywgMCwgMCwgCisgICAgMCwgMCwgMCwgODcxNiwgMCwgODc0MCwgMCwgMCwgMCwgMCwgMCwgODc0MiwgMCwgODc2OSwgMCwgMCwgMCwgMCwgMCwgCisgICAgODc3MiwgMCwgODc3NSwgMCwgMCwgMCwgMCwgMCwgODc3NywgMCwgODgxMywgMCwgMCwgMCwgMCwgMCwgODgwMiwgMCwgCisgICAgODgxNiwgMCwgMCwgMCwgMCwgMCwgODgxNywgMCwgODgyMCwgMCwgMCwgMCwgMCwgMCwgODgyMSwgMCwgODgyNCwgMCwgMCwgCisgICAgMCwgMCwgMCwgODgyNSwgMCwgODgzMiwgMCwgMCwgMCwgMCwgMCwgODgzMywgMCwgODkyOCwgMCwgMCwgMCwgMCwgMCwgCisgICAgODkyOSwgMCwgODgzNiwgMCwgMCwgMCwgMCwgMCwgODgzNywgMCwgODg0MCwgMCwgMCwgMCwgMCwgMCwgODg0MSwgMCwgCisgICAgODkzMCwgMCwgMCwgMCwgMCwgMCwgODkzMSwgMCwgODg3NiwgMCwgMCwgMCwgMCwgMCwgODg3NywgMCwgODg3OCwgMCwgMCwgCisgICAgMCwgMCwgMCwgODg3OSwgMCwgODkzOCwgMCwgMCwgMCwgMCwgMCwgODkzOSwgMCwgODk0MCwgMCwgMCwgMCwgMCwgMCwgCisgICAgODk0MSwgMCwgMCwgMTI0MzYsIDAsIDEyMzY0LCAwLCAwLCAwLCAwLCAwLCAxMjM2NiwgMCwgMTIzNjgsIDAsIDAsIDAsIDAsIAorICAgIDAsIDEyMzcwLCAwLCAxMjM3MiwgMCwgMCwgMCwgMCwgMCwgMTIzNzQsIDAsIDEyMzc2LCAwLCAwLCAwLCAwLCAwLCAxMjM3OCwgCisgICAgMCwgMTIzODAsIDAsIDAsIDAsIDAsIDAsIDEyMzgyLCAwLCAxMjM4NCwgMCwgMCwgMCwgMCwgMCwgMTIzODYsIDAsIDEyMzg5LCAKKyAgICAwLCAwLCAwLCAwLCAwLCAxMjM5MSwgMCwgMTIzOTMsIDAsIDAsIDAsIDAsIDAsIDEyNDAwLCAxMjQwMSwgMTI0MDMsIAorICAgIDEyNDA0LCAwLCAwLCAwLCAwLCAxMjQwNiwgMTI0MDcsIDEyNDA5LCAxMjQxMCwgMCwgMCwgMCwgMCwgMTI0MTIsIDEyNDEzLCAKKyAgICAxMjQ0NiwgMCwgMCwgMCwgMCwgMCwgMTI1MzIsIDAsIDEyNDYwLCAwLCAwLCAwLCAwLCAwLCAxMjQ2MiwgMCwgMTI0NjQsIDAsIAorICAgIDAsIDAsIDAsIDAsIDEyNDY2LCAwLCAxMjQ2OCwgMCwgMCwgMCwgMCwgMCwgMTI0NzAsIDAsIDEyNDcyLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAxMjQ3NCwgMCwgMTI0NzYsIDAsIDAsIDAsIDAsIDAsIDEyNDc4LCAwLCAxMjQ4MCwgMCwgMCwgMCwgMCwgMCwgMTI0ODIsIAorICAgIDAsIDEyNDg1LCAwLCAwLCAwLCAwLCAwLCAxMjQ4NywgMCwgMTI0ODksIDAsIDAsIDAsIDAsIDAsIDEyNDk2LCAxMjQ5NywgCisgICAgMTI0OTksIDEyNTAwLCAwLCAwLCAwLCAwLCAxMjUwMiwgMTI1MDMsIDEyNTA1LCAxMjUwNiwgMCwgMCwgMCwgMCwgMTI1MDgsIAorICAgIDEyNTA5LCAxMjUzNSwgMCwgMCwgMCwgMCwgMCwgMTI1MzYsIDAsIDEyNTM3LCAwLCAwLCAwLCAwLCAwLCAxMjUzOCwgMCwgCisgICAgMTI1NDIsIDAsIDAsIDAsIDY5Nzg2LCAwLCAwLCAwLCAwLCAwLCA2OTc4OCwgMCwgNjk4MDMsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDY5OTM0LCAwLCA2OTkzNSwgMCwgMCwgNzA0NzUsIDcwNDc2LCAwLCAwLCA3MDg0NCwgNzA4NDMsIDcwODQ2LCAwLCAwLCAKKyAgICA3MTA5OCwgMCwgMCwgMCwgMCwgMCwgNzEwOTksIAogfTsKIAogc3RhdGljIGNvbnN0IGNoYW5nZV9yZWNvcmQgY2hhbmdlX3JlY29yZHNfM18yXzBbXSA9IHsKQEAgLTUyMTAsNzMgKzU2NzQsNzQgQEAKIH07CiBzdGF0aWMgdW5zaWduZWQgY2hhciBjaGFuZ2VzXzNfMl8wX2luZGV4W10gPSB7CiAgICAgMCwgMSwgMiwgMiwgMywgNCwgNSwgNiwgMiwgNywgOCwgOSwgMTAsIDExLCAxMiwgMTMsIDE0LCAxNSwgMTYsIDE3LCAxOCwgCi0gICAgMTksIDIwLCAyMSwgMjIsIDIzLCAyNCwgMiwgMiwgMjUsIDI2LCAyNywgMjgsIDI5LCAzMCwgMzEsIDMyLCAzMywgMzQsIDM1LCAKLSAgICAzNiwgMiwgMiwgMiwgMzcsIDM4LCAyLCAzOSwgMiwgNDAsIDQxLCA0MiwgNDMsIDQ0LCA0NSwgNDYsIDQ3LCA0OCwgNDksIAotICAgIDUwLCAyLCA1MSwgMiwgMiwgNTIsIDUzLCA1NCwgNTUsIDU2LCAyLCA1NywgNTgsIDU5LCA2MCwgMiwgMiwgNjEsIDYyLCA2MywgCi0gICAgNjQsIDY1LCA2NSwgMiwgMiwgMiwgMiwgNjYsIDIsIDY3LCA2OCwgNjksIDcwLCA3MSwgMiwgMiwgMiwgNzIsIDczLCA3NCwgCi0gICAgNzUsIDc2LCA3NywgNzgsIDc5LCA4MCwgODEsIDIsIDIsIDIsIDIsIDIsIDIsIDgyLCAyLCAyLCAyLCAyLCAyLCA4MywgMiwgCisgICAgMTksIDIwLCAyMSwgMjIsIDIzLCAyNCwgMjUsIDIsIDI2LCAyNywgMjgsIDI5LCAzMCwgMzEsIDMyLCAzMywgMzQsIDM1LCAKKyAgICAzNiwgMzcsIDIsIDIsIDIsIDM4LCAzOSwgMiwgNDAsIDIsIDQxLCA0MiwgNDMsIDQ0LCA0NSwgNDYsIDQ3LCA0OCwgNDksIAorICAgIDUwLCA1MSwgMiwgNTIsIDIsIDIsIDUzLCA1NCwgNTUsIDU2LCA1NywgMiwgNTgsIDU5LCA2MCwgNjEsIDIsIDIsIDYyLCA2MywgCisgICAgNjQsIDY1LCA2NiwgNjYsIDIsIDIsIDIsIDIsIDY3LCA2OCwgNjksIDcwLCA3MSwgNzIsIDczLCAyLCAyLCAyLCA3NCwgNzUsIAorICAgIDc2LCA3NywgNzgsIDc5LCA4MCwgODEsIDgyLCA4MywgMiwgMiwgMiwgMiwgMiwgMiwgODQsIDIsIDIsIDIsIDIsIDIsIDg1LCAKICAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAKLSAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCA4NCwgMiwgODUsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDg2LCAKLSAgICA4NywgMiwgMiwgMiwgMiwgMiwgMiwgMiwgODgsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDg5LCA5MCwgCisgICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgODYsIDIsIDg3LCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAKKyAgICA4OCwgODksIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDkwLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCA5MSwgCisgICAgOTIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIAorICAgIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDkzLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAKICAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAKLSAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCA5MSwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgCi0gICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgCi0gICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgOTIsIDIsIDIsIDIsIDIsIAotICAgIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDkzLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAKLSAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCA5NCwgOTUsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDk2LCA0OSwgNDksIAotICAgIDk3LCA5OCwgNDksIDk5LCAxMDAsIDEwMSwgMTAyLCAxMDMsIDEwNCwgMTA1LCAxMDYsIDEwNywgMiwgMiwgMiwgMiwgMiwgMiwgCisgICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgOTQsIDIsIDIsIDIsIAorICAgIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDk1LCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAKKyAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCA5NiwgOTcsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDk4LCA1MCwgNTAsIAorICAgIDk5LCAxMDAsIDUwLCAxMDEsIDEwMiwgMTAzLCAxMDQsIDEwNSwgMTA2LCAxMDcsIDEwOCwgMTA5LCAyLCAyLCAyLCAyLCAyLCAKICAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAKICAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAKICAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAKLSAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAxMDgsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIAorICAgIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDExMCwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgCiAgICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgCiAgICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgCi0gICAgMiwgMiwgMiwgMiwgMTA5LCAxMTAsIDExMSwgMTEyLCAxMTMsIDExNCwgMiwgMiwgMiwgMTE1LCAxMTYsIDIsIDExNywgMTE4LCAKLSAgICAxMTksIDEyMCwgMTIxLCAxMjIsIDIsIDEyMywgMTI0LCAxMjUsIDEyNiwgMTI3LCAyLCAyLCAyLCAyLCAyLCAyLCAxMjgsIDIsIAotICAgIDEyOSwgMTMwLCAxMzEsIDIsIDEzMiwgMiwgMTMzLCAyLCAyLCAyLCAxMzQsIDIsIDIsIDIsIDEzNSwgMTM2LCAxMzcsIDEzOCwgCi0gICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMTM5LCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAKLSAgICAyLCAyLCAyLCAyLCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCAxNDAsIDIsIDE0MSwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgCi0gICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIAotICAgIDQ5LCAxNDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIAorICAgIDIsIDIsIDIsIDIsIDIsIDExMSwgMTEyLCAxMTMsIDExNCwgMTE1LCAxMTYsIDIsIDIsIDExNywgMTE4LCAxMTksIDIsIDEyMCwgCisgICAgMTIxLCAxMjIsIDEyMywgMTI0LCAxMjUsIDIsIDEyNiwgMTI3LCAxMjgsIDEyOSwgMTMwLCAxMzEsIDIsIDUwLCA1MCwgMTMyLCAKKyAgICAyLCAxMzMsIDEzNCwgMTM1LCAxMzYsIDEzNywgMTM4LCAxMzksIDE0MCwgMTQxLCAyLCAyLCAyLCAxNDIsIDIsIDIsIDIsIAorICAgIDE0MywgMTQ0LCAxNDUsIDE0NiwgMTQ3LCAxNDgsIDE0OSwgMiwgMiwgMTUwLCAyLCAxNTEsIDE1MiwgMTUzLCAyLCAyLCAyLCAKKyAgICAxNTQsIDIsIDIsIDIsIDE1NSwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCisgICAgNTAsIDE1NiwgMTU3LCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAKKyAgICAyLCAyLCAyLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDE1OCwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgCiAgICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgCiAgICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgCiAgICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgCi0gICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgNDksIDQ5LCA0OSwgNDksIDE0MywgMiwgMiwgMiwgMiwgMiwgMiwgMiwgCi0gICAgMiwgMiwgMTQ0LCAxNDUsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIAorICAgIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDUwLCA1MCwgCisgICAgNTAsIDUwLCAxNTksIDE2MCwgMTYxLCAxNjIsIDIsIDIsIDIsIDIsIDIsIDIsIDE2MywgMTY0LCAyLCAyLCAyLCAyLCAyLCAyLCAKICAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAKICAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAKICAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAKICAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAKLSAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAxNDYsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIAogICAgIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIAorICAgIDIsIDIsIDE2NSwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgCisgICAgMiwgMiwgMTY2LCAxNjcsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIAorICAgIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDE2OCwgMiwgCisgICAgMTY5LCAyLCAxNzAsIDIsIDIsIDE3MSwgMiwgMiwgMiwgMTcyLCAxNzMsIDE3NCwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgCiAgICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgCi0gICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMTQ3LCAyLCAxNDgsIDIsIDE0OSwgMiwgMiwgMTUwLCAyLCAyLCAyLCAxNTEsIDE1MiwgCi0gICAgMTUzLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAKLSAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAxNTQsIDE1NSwgCi0gICAgMiwgMiwgMTU2LCAxNTcsIDE1OCwgMTU5LCAxNjAsIDIsIDE2MSwgMTYyLCAxNjMsIDE2NCwgMTY1LCAxNjYsIDE2NywgMTQ4LCAKLSAgICAxNjgsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDE2OSwgMTcwLCA5MywgMiwgCi0gICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgODIsIDE3MSwgMiwgMTcyLCAxNzMsIDIsIDIsIDIsIAorICAgIDUwLCAxNzUsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDE3NiwgMTc3LCAyLCAyLCAxNzgsIDE3OSwgMTgwLCAKKyAgICAxODEsIDE4MiwgMiwgMTgzLCAxODQsIDUwLCAxODUsIDE4NiwgMTg3LCAxODgsIDE4OSwgMTkwLCAxOTEsIDE5MiwgMTkzLCAKKyAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAxOTQsIDE5NSwgOTUsIDIsIDIsIDIsIDIsIDIsIDIsIAorICAgIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDg0LCAxOTYsIDIsIDE5NywgMTk4LCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAKICAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAKLSAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAxNzQsIDIsIDIsIAotICAgIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDE3NSwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgCi0gICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMTc2LCAyLCAyLCAyLCAKKyAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAxOTksIDIsIDIsIDIsIDIsIDIsIDIsIDIsIAorICAgIDIsIDIsIDIsIDIsIDIwMCwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgCisgICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMjAxLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAKICAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAKICAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAKKyAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyMDIsIDIsIDIsIAogICAgIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIAotICAgIDIsIDIsIDE3NywgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgCiAgICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgCiAgICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgCiAgICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgCiAgICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgCi0gICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgNDksIDQ5LCA0OSwgCi0gICAgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgCi0gICAgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCAxNzgsIDQ5LCAxNzksIDIsIDIsIDIsIDIsIDIsIAorICAgIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKKyAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKKyAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgMjAzLCA1MCwgMjA0LCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAKICAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAKICAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAKICAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAKICAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAKKyAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAxOTksIDIsIAogICAgIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIAotICAgIDIsIDIsIDIsIDE3NCwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgCiAgICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgCiAgICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgCiAgICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgCkBAIC01NTExLDcgKzU5NzYsNyBAQAogICAgIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIAogICAgIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIAogICAgIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIAotICAgIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDQ5LCAxODAsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIAorICAgIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDUwLCAyMDUsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIAogICAgIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIAogICAgIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIAogICAgIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIApAQCAtNTU3NSw3ICs2MDQwLDcgQEAKICAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAKICAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAKICAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAKLSAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAKKyAgICAyLCAyLCAyLCAyLCAyLCAyLCAKIH07CiAKIHN0YXRpYyB1bnNpZ25lZCBjaGFyIGNoYW5nZXNfM18yXzBfZGF0YVtdID0gewpAQCAtNTYxMSw3ICs2MDc2LDcgQEAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCAxMCwgMCwgOSwgOSwgMCwgMCwgMCwgOSwgOSwgCi0gICAgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgOSwgMCwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCkBAIC01NjIzLDE2ICs2MDg4LDE2IEBACiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgMCwgMCwgMCwgMTEsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDAsIDksIDksIDksIDksIDksIDksIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIAogICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDksIDAsIDksIDAsIDksIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIAogICAgIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIApAQCAtNTY2MCwxNiArNjEyNSwxNiBAQAogICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDksIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDksIDAsIDAsIDAsIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDAsIDAsIDAsIDAsIDAsIAogICAgIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDAsIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIApAQCAtNTY5NiwxOCArNjE2MSwxOCBAQAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDksIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDAsIDIwLCAwLCAwLCAwLCAwLCAwLCAwLCAyMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgMCwgMCwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCkBAIC01NzE2LDc5NiArNjE4MSwzMTAgQEAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAyMSwgMjEsIDIxLCAyMSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgCi0gICAgMCwgMCwgMCwgMCwgMCwgOSwgMCwgMCwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgMCwgMCwgMCwgCi0gICAgMCwgMCwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgCi0gICAgMCwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgCi0gICAgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjIsIDIzLCAKLSAgICAyNCwgMjUsIDI2LCAyNywgMjgsIDI5LCAzMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMjEsIDIxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzMSwgMzEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDksIDAsIDAsIDAsIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDMyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzMywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDksIDksIDksIDksIDAsIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDksIDAsIDksIDksIDksIAotICAgIDksIDAsIDAsIDAsIDAsIDAsIDAsIDM1LCA0LCAwLCAwLCAzNiwgMzcsIDM4LCAzOSwgNDAsIDQxLCAxLCAxLCAwLCAwLCAwLCAKLSAgICA0LCAzNSwgOCwgNiwgNywgMzYsIDM3LCAzOCwgMzksIDQwLCA0MSwgMSwgMSwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQzLCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0NCwgNDQsIDQ0LCA0NCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgNDUsIDQ2LCAxMSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCAKLSAgICA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCAKLSAgICA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCAwLCAwLCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCAwLCAwLCAwLCAwLCAwLCA5LCAwLCAwLCAwLCAwLCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCA5LCAwLCA5LCAwLCAwLCAwLCAwLCA5LCA5LCA5LCAwLCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCAKLSAgICA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzNCwgMzQsIDM0LCAzNCwgMzQsIAotICAgIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIAotICAgIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIAotICAgIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIAotICAgIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIAotICAgIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIAotICAgIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIAotICAgIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDksIDAsIDAsIDAsIDAsIDAsIDksIDAsIDAsIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDAsIDksIDksIDksIDksIAotICAgIDksIDksIDksIDAsIDksIDksIDksIDksIDksIDksIDksIDAsIDksIDksIDksIDksIDksIDksIDksIDAsIDksIDksIDksIDksIAotICAgIDksIDksIDksIDAsIDksIDksIDksIDksIDksIDksIDksIDAsIDksIDksIDksIDksIDksIDksIDksIDAsIDksIDksIDksIDksIAotICAgIDksIDksIDksIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ4LCA0OCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDAsIDAsIDAsIDAsIDAsIDE5LCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxOSwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTksIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE5LCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAxOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgNTAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE5LCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTEsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAxOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAxOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIAotICAgIDAsIDAsIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDAsIDAsIDksIDksIDksIDksIDksIDksIDAsIDAsIDksIDksIDksIAotICAgIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDAsIDksIDksIDksIDksIAotICAgIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxOSwgCi0gICAgMCwgMCwgMCwgMCwgMTksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxOSwgMCwgMTksIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE5LCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICAzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyMSwgMjEsIDIxLCAyMSwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgMCwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgMCwgMCwgMCwgMCwgMCwgOSwgMCwgMCwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgOSwgOSwgOSwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCiAgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCiAgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgOSwgMCwgMCwgMCwgMCwgMCwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgMCwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMjIsIDIzLCAyNCwgMjUsIDI2LCAyNywgMjgsIDI5LCAzMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjEsIDIxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzMSwgMzEsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDAsIDAsIDAsIDAsIDAsIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAogICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAogICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDAsIDAsIDAsIDEsIDEsIDIxLCAyMSwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMSwgMCwgMSwgMCwgMiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgNDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE0LCAxNCwgMTQsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDAsIDksIDksIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIAorICAgIDksIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIAorICAgIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIAogICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAogICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAogICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAogICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIAogICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDksIDksIDksIDksIDksIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDUzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgOSwgCi0gICAgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgOSwgOSwgCi0gICAgMCwgMCwgMCwgOSwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgMCwgOSwgOSwgMCwgMCwgCi0gICAgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgOSwgOSwgOSwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgOSwgCi0gICAgOSwgOSwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCiAgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCiAgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCiAgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCiAgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgCiAgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCiAgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDMzLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzNCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgCisgICAgMCwgMCwgMCwgMCwgOSwgMCwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMzUsIDQsIDAsIDAsIDM2LCAzNywgMzgsIAorICAgIDM5LCA0MCwgNDEsIDEsIDEsIDAsIDAsIDAsIDQsIDM1LCA4LCA2LCA3LCAzNiwgMzcsIDM4LCAzOSwgNDAsIDQxLCAxLCAxLCAKKyAgICAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCAKICAgICA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0MiwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDMsIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDQ0LCA0NCwgNDQsIDQ0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0NSwgNDYsIDExLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKICAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKICAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIAorICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIAorICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDcsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDAsIDAsIDksIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDU0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTQsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCA5LCAwLCAwLCAwLCAwLCA5LCA5LCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgMCwgOSwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgCisgICAgMCwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAKKyAgICAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAKKyAgICAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAKKyAgICAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAKKyAgICAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAKKyAgICAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAKKyAgICAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAKKyAgICAzNCwgMzQsIDM0LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAKKyAgICAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCAwLCA5LCAwLCAwLCAwLCAwLCAwLCA5LCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0OCwgNDgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ5LCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCAwLCAKKyAgICAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCA5LCA5LCAwLCA5LCAwLCAwLCA5LCAwLCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCA5LCA5LCA5LCA5LCAwLCA5LCAwLCA5LCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCA5LCAwLCAwLCAwLCAwLCA5LCAwLCA5LCAwLCA5LCAwLCA5LCA5LCA5LCAwLCA5LCA5LCAwLCA5LCAwLCAwLCA5LCAwLCAKLSAgICA5LCAwLCA5LCAwLCA5LCAwLCA5LCAwLCA5LCA5LCAwLCA5LCAwLCAwLCA5LCA5LCA5LCA5LCAwLCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCAwLCA5LCA5LCA5LCA5LCAwLCA5LCA5LCA5LCA5LCAwLCA5LCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAKLSAgICA5LCA5LCA5LCAwLCA5LCA5LCA5LCA5LCA5LCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKICAgICA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCAwLCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCA5LCA5LCA5LCAKLSAgICA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCA5LCAKLSAgICAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCA5LCA5LCA5LCA5LCAwLCAwLCAwLCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE5LCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAxOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDE5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxOSwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCA5LCAwLCAwLCAwLCAwLCAwLCAxOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCkBAIC02NTE2LDM4ICs2NDk1LDY1NyBAQAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTksIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMTksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDE5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAxOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTksIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDE5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTksIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE5LCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCA1MiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIAorICAgIDksIDksIDksIDAsIDAsIDksIDksIDksIDksIDksIDksIDAsIDAsIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDAsIDksIDksIDksIDksIDksIDksIDksIDAsIDksIDksIDksIDksIAogICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIAorICAgIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIAogICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIAogICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxOSwgMCwgMCwgMCwgMCwgMTksIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxOSwgMCwgMTksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICA5LCA5LCA5LCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKICAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKICAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKICAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKICAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0NSwgNDYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDAsIDAsIDAsIDEsIDEsIDIxLCAyMSwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMSwgMCwgMSwgMCwgMiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgNDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE0LCAxNCwgMTQsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDAsIDksIDksIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIAorICAgIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDUzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxOSwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgOSwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgOSwgOSwgMCwgMCwgMCwgOSwgMCwgMCwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgMCwgOSwgOSwgMCwgCisgICAgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgOSwgOSwgOSwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgCisgICAgOSwgOSwgOSwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgCisgICAgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgOSwgMCwgMCwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgMCwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgMCwgMCwgOSwgOSwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgOSwgOSwgMCwgOSwgOSwgOSwgCisgICAgOSwgOSwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgOSwgOSwgMCwgMCwgOSwgOSwgOSwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgCisgICAgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgNTQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU0LCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCAwLCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICAwLCA5LCA5LCAwLCA5LCAwLCAwLCA5LCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCA5LCA5LCA5LCA5LCAKKyAgICAwLCA5LCAwLCA5LCAwLCAwLCAwLCAwLCAwLCAwLCA5LCAwLCAwLCAwLCAwLCA5LCAwLCA5LCAwLCA5LCAwLCA5LCA5LCA5LCAKKyAgICAwLCA5LCA5LCAwLCA5LCAwLCAwLCA5LCAwLCA5LCAwLCA5LCAwLCA5LCAwLCA5LCAwLCA5LCA5LCAwLCA5LCAwLCAwLCA5LCAKKyAgICA5LCA5LCA5LCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCA5LCA5LCA5LCA5LCAwLCA5LCA5LCA5LCA5LCAwLCA5LCAwLCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCAwLCA5LCA5LCA5LCA5LCA5LCAwLCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxOSwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTksIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDE5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTksIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAxOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTksIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDE5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAxOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDE5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxOSwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiB9OwogCiBzdGF0aWMgY29uc3QgY2hhbmdlX3JlY29yZCogZ2V0X2NoYW5nZV8zXzJfMChQeV9VQ1M0IG4pCmRpZmYgLS1naXQgYS9Nb2R1bGVzL3VuaWNvZGVuYW1lX2RiLmggYi9Nb2R1bGVzL3VuaWNvZGVuYW1lX2RiLmgKaW5kZXggN2NjYjEyNi4uZGQwNWY4NSAxMDA2NDQKLS0tIGEvTW9kdWxlcy91bmljb2RlbmFtZV9kYi5oCisrKyBiL01vZHVsZXMvdW5pY29kZW5hbWVfZGIuaApAQCAtNCw3NiArNCw3NSBAQAogCiAvKiBsZXhpY29uICovCiBzdGF0aWMgdW5zaWduZWQgY2hhciBsZXhpY29uW10gPSB7Ci0gICAgNzYsIDY5LCA4NCwgODQsIDY5LCAyMTAsIDg3LCA3MywgODQsIDIwMCwgODMsIDg5LCA3NiwgNzYsIDY1LCA2NiwgNzYsIAotICAgIDE5NywgODMsIDc3LCA2NSwgNzYsIDIwNCwgODMsIDczLCA3MSwgMjA2LCA2NywgNjUsIDgwLCA3MywgODQsIDY1LCAyMDQsIAotICAgIDc2LCA2NSwgODQsIDczLCAyMDYsIDg5LCAyMDEsIDY1LCA4MiwgNjUsIDY2LCA3MywgMTk1LCA2NywgNzQsIDIwMywgNzcsIAorICAgIDc2LCA2OSwgODQsIDg0LCA2OSwgMjEwLCA4NywgNzMsIDg0LCAyMDAsIDgzLCA3MywgNzEsIDIwNiwgODMsIDg5LCA3NiwgCisgICAgNzYsIDY1LCA2NiwgNzYsIDE5NywgODMsIDc3LCA2NSwgNzYsIDIwNCwgNjcsIDY1LCA4MCwgNzMsIDg0LCA2NSwgMjA0LCAKKyAgICA3NiwgNjUsIDg0LCA3MywgMjA2LCA2NSwgODIsIDY1LCA2NiwgNzMsIDE5NSwgODksIDIwMSwgNjcsIDc0LCAyMDMsIDc3LCAKICAgICA2NSwgODQsIDcyLCA2OSwgNzcsIDY1LCA4NCwgNzMsIDY3LCA2NSwgMjA0LCA2OSwgNzEsIDg5LCA4MCwgODQsIDczLCA2NSwgCi0gICAgMjA2LCA3MiwgNzMsIDY5LCA4MiwgNzksIDcxLCA3NiwgODksIDgwLCAyMDAsIDY3LCA3OSwgNzcsIDgwLCA2NSwgODQsIDczLCAKLSAgICA2NiwgNzMsIDc2LCA3MywgODQsIDIxNywgNjcsIDg1LCA3OCwgNjksIDczLCA3MCwgNzksIDgyLCAyMDUsIDgzLCA4OSwgNzcsIAotICAgIDY2LCA3OSwgMjA0LCA3MCwgNzksIDgyLCA3NywgMTI4LCA2NywgNjUsIDc4LCA2NSwgNjgsIDczLCA2NSwgMjA2LCA4MywgCi0gICAgODksIDc2LCA3NiwgNjUsIDY2LCA3MywgNjcsIDIxMSwgNjYsIDY1LCA3NywgODUsIDIwNSwgNjgsIDczLCA3MSwgNzMsIAotICAgIDIxMiwgNjUsIDc4LCAxOTYsIDY2LCA3OSwgNzYsIDE5NiwgNzIsIDY1LCA3OCwgNzEsIDg1LCAyMDQsIDg2LCA3OSwgODcsIAotICAgIDY5LCAyMDQsIDcxLCA4MiwgNjksIDY5LCAyMDMsIDc2LCA3MywgNzEsIDY1LCA4NCwgODUsIDgyLCAxOTcsIDc3LCA4NSwgCi0gICAgODMsIDczLCA2NywgNjUsIDIwNCwgNjksIDg0LCA3MiwgNzMsIDc5LCA4MCwgNzMsIDE5NSwgODQsIDczLCA3NywgNjksIAotICAgIDIxMSwgNzAsIDc5LCAyMTAsIDczLCA4NCwgNjUsIDc2LCA3MywgMTk1LCA2NywgODksIDgyLCA3MywgNzYsIDc2LCA3MywgCi0gICAgMTk1LCA4MiwgNjUsIDY4LCA3MywgNjcsIDY1LCAyMDQsIDgzLCA2NSwgNzgsIDgzLCA0NSwgODMsIDY5LCA4MiwgNzMsIAotICAgIDE5OCwgODQsIDY1LCA3NywgNzMsIDIwNCwgNjcsIDczLCA4MiwgNjcsIDc2LCA2OSwgMTk2LCA2NywgNzksIDc3LCA2NiwgCi0gICAgNzMsIDc4LCA3MywgNzgsIDE5OSwgODQsIDY1LCAyMDEsIDcwLCA3MywgNzgsIDY1LCAyMDQsIDg2LCA2NSwgMjAxLCA4MywgCi0gICAgODEsIDg1LCA2NSwgODIsIDE5NywgNzYsIDY5LCA3MCwgMjEyLCA4MiwgNzMsIDcxLCA3MiwgMjEyLCA4NiwgNjUsIDgyLCAKLSAgICA3MywgNjUsIDg0LCA3MywgNzksIDIwNiwgNjYsIDgyLCA2NSwgNzMsIDc2LCA3NiwgMTk3LCA4MCwgNjUsIDg0LCA4NCwgNjksIAotICAgIDgyLCAyMDYsIDY1LCA2NiwgNzksIDg2LCA2OSwgMTI4LCA2NiwgODksIDkwLCA2NSwgNzgsIDg0LCA3MywgNzgsIDE5NywgCi0gICAgODMsIDczLCA3MSwgNzgsIDEyOCwgNjYsIDY5LCA3NiwgNzksIDg3LCAxMjgsIDY4LCA3OSwgODUsIDY2LCA3NiwgMTk3LCAKLSAgICA3MywgODMsIDc5LCA3NiwgNjUsIDg0LCA2OSwgMTk2LCA3OCwgODUsIDc3LCA2NiwgNjksIDIxMCwgNzUsIDY1LCA4NCwgNjUsIAotICAgIDc1LCA2NSwgNzgsIDE5MywgMTk0LCA3NywgNzksIDY4LCA3MywgNzAsIDczLCA2OSwgMjEwLCA2OCwgNzksIDIxMiwgNzUsIAotICAgIDY1LCA3OCwgNzEsIDg4LCAyMDEsIDY1LCAxMjgsIDc2LCA3MywgNzgsIDY5LCA2NSwgMjEwLCA4NCwgNzMsIDY2LCA2OSwgCi0gICAgODQsIDY1LCAyMDYsIDc5LCAxOTgsIDczLCA3OCwgNzMsIDg0LCA3MywgNjUsIDIwNCwgNzcsIDY5LCA2OSwgMjA1LCA4NiwgCi0gICAgNjksIDgyLCA4NCwgNzMsIDY3LCA2NSwgMjA0LCA3NywgODksIDY1LCA3OCwgNzcsIDY1LCAyMTAsIDg1LCAxMjgsIDc1LCAKLSAgICA3MiwgNzcsIDY5LCAyMTAsIDg3LCA3MiwgNzMsIDg0LCAxOTcsIDY1LCA2NiwgNzksIDg2LCAxOTcsIDY3LCA2NSwgODIsIAotICAgIDgyLCA3MywgNjksIDIxMCwgNzMsIDEyOCwgNjUsIDgyLCA4MiwgNzksIDg3LCAxMjgsIDg5LCA2OSwgMjAwLCA3OSwgMTI4LCAKLSAgICA3NywgNjUsIDgyLCA3NSwgMTI4LCA2NSwgODIsIDgyLCA3OSwgMjE1LCA2NywgNzksIDgwLCA4NCwgNzMsIDE5NSwgODAsIAotICAgIDcyLCA2NSwgODMsIDY5LCA0NSwgMTk3LCA3NywgNzksIDc4LCA3MSwgNzksIDc2LCA3MywgNjUsIDIwNiwgNjgsIDY5LCA4NiwgCi0gICAgNjUsIDc4LCA2NSwgNzEsIDY1LCA4MiwgMjAxLCA2NiwgNzYsIDY1LCA2NywgMjAzLCA4NCwgNzMsIDc2LCAxOTcsIDgzLCAKLSAgICA4OSwgNzcsIDY2LCA3OSwgNzYsIDEyOCwgODAsIDY1LCA4MiwgNjksIDc4LCA4NCwgNzIsIDY5LCA4MywgNzMsIDkwLCA2OSwgCi0gICAgMTk2LCA4NCwgNzIsIDY1LCAyMDUsIDc0LCA3OSwgNzgsIDcxLCA4MywgNjksIDc5LCA3OCwgMTk5LCA4MywgODQsIDgyLCAKLSAgICA3OSwgNzUsIDY5LCAxMjgsIDgzLCA4MSwgODUsIDY1LCA4MiwgNjksIDE5NiwgNjYsIDc5LCAyMTYsIDcyLCA2OSwgNjYsIAotICAgIDgyLCA2OSwgMjE1LCA3NywgNzMsIDY1LCAyMDcsIDgwLCA3NiwgODUsIDIxMSwgODIsIDczLCA3MSwgNzIsIDg0LCA4NywgCi0gICAgNjUsIDgyLCA2OCwgMjExLCA3MSwgNjksIDc5LCA4MiwgNzEsIDczLCA2NSwgMjA2LCA2OCwgODIsIDY1LCA4NywgNzMsIDc4LCAKLSAgICA3MSwgMjExLCA2NywgNzIsIDc5LCA4MywgNjksIDc5LCA3OCwgMTk5LCA3MiwgNjUsIDc2LCA3MCwgODcsIDczLCA2OCwgODQsIAotICAgIDIwMCwgNjYsIDY1LCA3NiwgNzMsIDc4LCA2OSwgODMsIDE5NywgNzIsIDc5LCA3OSwgNzUsIDEyOCwgMjEzLCA4NCwgODcsIAotICAgIDc5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAyMDUsIDgwLCA3MiwgNjUsIDgzLCA2OSwgNDUsIDE5NiwgCi0gICAgNjUsIDc2LCA2NywgNzIsIDY5LCA3NywgNzMsIDY3LCA2NSwgMjA0LCA2NSwgNzYsIDY5LCAxOTgsIDczLCA2OCwgNjksIDc5LCAKLSAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDczLCAxOTUsIDc5LCA3OCwgNjksIDEyOCwgODQsIDc5LCAxMjgsIDg0LCA4NywgMjA3LCAKLSAgICA3MiwgNjksIDY1LCA4NiwgMjE3LCA3OSwgODYsIDY5LCAyMTAsIDY3LCA3OSwgNzgsIDgzLCA3OSwgNzgsIDY1LCA3OCwgCi0gICAgMjEyLCA2NiwgODIsIDY1LCA3MiwgNzcsIDIwMSwgODMsIDY3LCA4MiwgNzMsIDgwLCAyMTIsIDg1LCAyMDgsIDc2LCA3OSwgCi0gICAgMjE1LCA3MiwgNjUsIDIwMCwgNzksIDc4LCAxOTcsIDY4LCA3OSwgODcsIDIwNiwgNzIsIDczLCA3MSwgMjAwLCA3MCwgODUsIAotICAgIDc2LCA3NiwgODcsIDczLCA2OCwgODQsIDIwMCwgNjYsIDgyLCA2NSwgNjcsIDc1LCA2OSwgODQsIDEyOCwgNjksIDgxLCA4NSwgCi0gICAgNjUsIDIwNCwgODQsIDY1LCAxOTksIDY2LCA2NSwgODIsIDEyOCwgNjgsIDc5LCA3NywgNzMsIDc4LCAyMDcsIDc4LCA4NSwgCi0gICAgNzcsIDY5LCA4MiwgNzMsIDE5NSwgNzAsIDgyLCA2NSwgNzUsIDg0LCA4NSwgMjEwLCA4NCwgNzIsIDgyLCA2OSwgMTk3LCAKLSAgICA2NywgNzIsIDY1LCA4MiwgNjUsIDY3LCA4NCwgNjksIDIxMCwgNzcsIDY1LCA3NiwgNjUsIDg5LCA2NSwgNzYsIDY1LCAyMDUsIAotICAgIDgwLCA3MiwgNjUsIDgzLCA2OSwgNDUsIDE5NSwgODQsIDc5LCA3OCwgMTk3LCA2OCwgNzksIDg1LCA2NiwgNzYsIDY5LCA0NSwgCi0gICAgODMsIDg0LCA4MiwgODUsIDY3LCAyMDMsIDc2LCA2OSwgNzAsIDg0LCA4NywgNjUsIDgyLCA2OCwgMjExLCA3MiwgNzMsIDgyLCAKLSAgICA2NSwgNzEsIDY1LCA3OCwgMTkzLCA2NSwgNjcsIDg1LCA4NCwgNjksIDEyOCwgNzQsIDg1LCA3OCwgNzEsIDgzLCA2OSwgNzksIAotICAgIDc4LCAxOTksIDcxLCA3NiwgNjUsIDcxLCA3OSwgNzYsIDczLCA4NCwgNzMsIDE5NSwgNjYsIDY5LCA3OCwgNzEsIDY1LCA3NiwgCi0gICAgMjAxLCA3NywgNjksIDY4LCA3MywgNjUsIDIwNCwgODQsIDY5LCA3NiwgODUsIDcxLCAyMTMsIDg2LCA3OSwgNjcsIDY1LCAKLSAgICA3NiwgNzMsIDE5NSwgNjUsIDgyLCA3NywgNjksIDc4LCA3MywgNjUsIDIwNiwgNzQsIDY5LCA2OSwgMjA1LCA3OCwgNjksIAotICAgIDcxLCA2NSwgODQsIDczLCA4NiwgMTk3LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDIwMCwgNzQsIDY1LCA4NiwgCi0gICAgNjUsIDc4LCA2OSwgODMsIDE5NywgNzksIDgyLCA3MywgODksIDE5MywgODQsIDcyLCA4MiwgNjksIDY5LCAxMjgsIDg3LCAKLSAgICA2OSwgODMsIDg0LCA0NSwgNjcsIDgyLCA2OSwgMTk3LCA3MCwgNzksIDg1LCA4MiwgMTI4LCA3MiwgNjUsIDEyOCwgNzIsIAotICAgIDY1LCA3NiwgMTk4LCA3NywgNjUsIDgyLCAyMDMsIDc1LCA2NSwgNzgsIDc4LCA2NSwgNjgsIDE5MywgNzgsIDY5LCAyMTUsIAotICAgIDgwLCA3MiwgNjUsIDgzLCA2OSwgNDUsIDE5MywgODQsIDcyLCA2NSwgMjAxLCA2NywgNzIsIDY5LCA4MiwgNzksIDc1LCA2OSwgCi0gICAgMTk3LCA2OCwgNzksIDg0LCAyMTEsIDcxLCA4NSwgNzQsIDY1LCA4MiwgNjUsIDg0LCAyMDEsIDY3LCA3MiwgNjUsIDIwNSwgCi0gICAgNzYsIDg1LCAxOTcsIDgzLCA3MiwgNjUsIDgyLCA2NSwgNjgsIDE5MywgODMsIDczLCA3OCwgNzIsIDY1LCA3NiwgMTkzLCAKLSAgICA3NSwgNjUsIDEyOCwgODIsIDg1LCA3OCwgNzMsIDE5NSwgODMsIDY1LCA4NSwgODIsIDY1LCA4MywgNzIsIDg0LCA4MiwgCi0gICAgMTkzLCA4NCwgNjksIDg0LCA4MiwgNjUsIDcxLCA4MiwgNjUsIDIwNSwgNjgsIDY5LCA4MywgNjksIDgyLCA2OSwgMjEyLCAKLSAgICA3MiwgNjUsIDc3LCA5MCwgMTkzLCA4MywgODksIDgyLCA3MywgNjUsIDE5NSwgODQsIDczLCA3NiwgNjgsIDY5LCAxMjgsIAotICAgIDcxLCA4NSwgODIsIDc3LCA4NSwgNzUsIDcyLCAyMDEsIDc3LCA2NSwgMTI4LCA3NywgNjUsIDg5LCA2OSwgMjAzLCA3NywgCi0gICAgNjksIDY5LCA4NCwgNjksIDIwMSwgNzgsIDc5LCA4NCwgNjUsIDg0LCA3MywgNzksIDIwNiwgNzAsIDczLCA4NiwgNjksIAotICAgIDEyOCwgODAsIDY1LCAxMjgsIDg5LCA2NSwgMTI4LCA3NiwgNzMsIDcxLCA3MiwgMjEyLCA4MywgNzMsIDg4LCAxMjgsIDY5LCAKLSAgICA3MywgNzEsIDcyLCA4NCwgMTI4LCA3NiwgNjksIDgwLCA2NywgNzIsIDE5MywgNzgsIDY1LCAxMjgsIDgzLCA2OSwgODYsIAotICAgIDY5LCA3OCwgMTI4LCA3NiwgNzksIDc4LCAxOTksIDc4LCA3MywgNzgsIDY5LCAxMjgsIDg0LCA4NSwgODIsIDc1LCA3MywgCi0gICAgMTk1LCA3MiwgNzksIDgyLCA3MywgOTAsIDc5LCA3OCwgODQsIDY1LCAyMDQsIDc5LCA4MCwgNjksIDIwNiwgODIsIDY1LCAKLSAgICAxMjgsIDgzLCA2NSwgMTI4LCA4MywgODUsIDc4LCA2OCwgNjUsIDc4LCA2OSwgODMsIDE5NywgODYsIDczLCA2OSwgMjEyLCAKLSAgICA3NiwgNjUsIDIwNywgOTAsIDkwLCA4OSwgODgsIDEyOCwgOTAsIDkwLCA4OSwgODQsIDEyOCwgOTAsIDkwLCA4OSwgODIsIAorICAgIDIwNiwgNzIsIDczLCA2OSwgODIsIDc5LCA3MSwgNzYsIDg5LCA4MCwgMjAwLCA2NywgODUsIDc4LCA2OSwgNzMsIDcwLCA3OSwgCisgICAgODIsIDIwNSwgNjcsIDc5LCA3NywgODAsIDY1LCA4NCwgNzMsIDY2LCA3MywgNzYsIDczLCA4NCwgMjE3LCA4MywgODksIDc3LCAKKyAgICA2NiwgNzksIDIwNCwgNzAsIDc5LCA4MiwgNzcsIDEyOCwgNjgsIDczLCA3MSwgNzMsIDIxMiwgNjcsIDY1LCA3OCwgNjUsIAorICAgIDY4LCA3MywgNjUsIDIwNiwgODMsIDg5LCA3NiwgNzYsIDY1LCA2NiwgNzMsIDY3LCAyMTEsIDY2LCA2NSwgNzcsIDg1LCAKKyAgICAyMDUsIDg2LCA3OSwgODcsIDY5LCAyMDQsIDY1LCA3OCwgMTk2LCA2NiwgNzksIDc2LCAxOTYsIDcyLCA2NSwgNzgsIDcxLCAKKyAgICA4NSwgMjA0LCA3NiwgNzMsIDc4LCA2OSwgNjUsIDIxMCwgNzEsIDgyLCA2OSwgNjksIDIwMywgNzYsIDczLCA3MSwgNjUsIAorICAgIDg0LCA4NSwgODIsIDE5NywgODQsIDczLCA3NywgNjksIDIxMSwgNzcsIDg1LCA4MywgNzMsIDY3LCA2NSwgMjA0LCA2OSwgCisgICAgODQsIDcyLCA3MywgNzksIDgwLCA3MywgMTk1LCAxOTMsIDcwLCA3OSwgMjEwLCA2NywgODksIDgyLCA3MywgNzYsIDc2LCAKKyAgICA3MywgMTk1LCA3MywgODQsIDY1LCA3NiwgNzMsIDE5NSwgNjcsIDc5LCA3NywgNjYsIDczLCA3OCwgNzMsIDc4LCAxOTksIAorICAgIDgyLCA2NSwgNjgsIDczLCA2NywgNjUsIDIwNCwgODMsIDY1LCA3OCwgODMsIDQ1LCA4MywgNjksIDgyLCA3MywgMTk4LCA2NywgCisgICAgNzMsIDgyLCA2NywgNzYsIDY5LCAxOTYsIDg0LCA2NSwgNzcsIDczLCAyMDQsIDg0LCA2NSwgMjAxLCA3MCwgNzMsIDc4LCAKKyAgICA2NSwgMjA0LCA3OCwgODUsIDc3LCA2NiwgNjksIDIxMCwgNjUsIDgyLCA4MiwgNzksIDg3LCAxMjgsIDg2LCA2NSwgMjAxLCAKKyAgICA3NiwgNjksIDcwLCAyMTIsIDgyLCA3MywgNzEsIDcyLCAyMTIsIDgzLCA4MSwgODUsIDY1LCA4MiwgMTk3LCA2OCwgNzksIAorICAgIDg1LCA2NiwgNzYsIDE5NywgNjUsIDgyLCA4MiwgNzksIDIxNSwgNjUsIDY2LCA3OSwgODYsIDY5LCAxMjgsIDgzLCA3MywgCisgICAgNzEsIDc4LCAxMjgsIDg2LCA2NSwgODIsIDczLCA2NSwgODQsIDczLCA3OSwgMjA2LCA2NiwgNjksIDc2LCA3OSwgODcsIAorICAgIDEyOCwgNjYsIDgyLCA2NSwgNzMsIDc2LCA3NiwgMTk3LCA4MCwgNjUsIDg0LCA4NCwgNjksIDgyLCAyMDYsIDY2LCA4OSwgCisgICAgOTAsIDY1LCA3OCwgODQsIDczLCA3OCwgMTk3LCA4NywgNzIsIDczLCA4NCwgMTk3LCA2NiwgNzYsIDY1LCA2NywgMjAzLCAKKyAgICA3MywgODMsIDc5LCA3NiwgNjUsIDg0LCA2OSwgMTk2LCA2NSwgMTI4LCAxOTQsIDc1LCA2NSwgODQsIDY1LCA3NSwgNjUsIAorICAgIDc4LCAxOTMsIDc3LCA3OSwgNjgsIDczLCA3MCwgNzMsIDY5LCAyMTAsIDc3LCA4OSwgNjUsIDc4LCA3NywgNjUsIDIxMCwgCisgICAgNjgsIDc5LCAyMTIsIDc1LCA2NSwgNzgsIDcxLCA4OCwgMjAxLCA3NSwgNzMsIDc1LCA2NSwgNzUsIDg1LCAyMDEsIDc3LCAKKyAgICA2OSwgNzgsIDY4LCAxOTcsIDg1LCAxMjgsIDg0LCA3MywgNjYsIDY5LCA4NCwgNjUsIDIwNiwgNzksIDE5OCwgNzMsIDEyOCwgCisgICAgNzksIDEyOCwgNzIsIDY5LCA2NSwgODYsIDIxNywgNzMsIDc4LCA3MywgODQsIDczLCA2NSwgMjA0LCA4NiwgNjksIDgyLCAKKyAgICA4NCwgNzMsIDY3LCA2NSwgMjA0LCA3NywgNjksIDY5LCAyMDUsIDY3LCA3OSwgODAsIDg0LCA3MywgMTk1LCA3NSwgNzIsIAorICAgIDc3LCA2OSwgMjEwLCA3NywgNjUsIDgyLCA3NSwgMTI4LCA2NSwgNjYsIDc5LCA4NiwgMTk3LCA2NywgNjUsIDgyLCA4MiwgCisgICAgNzMsIDY5LCAyMTAsIDgyLCA3MywgNzEsIDcyLCA4NCwgODcsIDY1LCA4MiwgNjgsIDIxMSwgODksIDY5LCAyMDAsIDgwLCAKKyAgICA3MiwgNjUsIDgzLCA2OSwgNDUsIDE5NywgNjgsIDY5LCA4NiwgNjUsIDc4LCA2NSwgNzEsIDY1LCA4MiwgMjAxLCA3NywgNzksIAorICAgIDc4LCA3MSwgNzksIDc2LCA3MywgNjUsIDIwNiwgODMsIDg0LCA4MiwgNzksIDc1LCA2OSwgMTI4LCA3NiwgNjksIDcwLCA4NCwgCisgICAgODcsIDY1LCA4MiwgNjgsIDIxMSwgODMsIDg5LCA3NywgNjYsIDc5LCA3NiwgMTI4LCA4NCwgNzMsIDc2LCAxOTcsIDY4LCAKKyAgICA4NSwgODAsIDc2LCA3OSwgODksIDY1LCAyMDYsIDY2LCA3OSwgMjE2LCA4MCwgNjUsIDgyLCA2OSwgNzgsIDg0LCA3MiwgNjksIAorICAgIDgzLCA3MywgOTAsIDY5LCAxOTYsIDgzLCA4MSwgODUsIDY1LCA4MiwgNjksIDE5NiwgODQsIDcyLCA2NSwgMjA1LCA3NCwgCisgICAgNzksIDc4LCA3MSwgODMsIDY5LCA3OSwgNzgsIDE5OSwgODAsIDc2LCA4NSwgMjExLCA3OSwgNzgsIDY5LCAxMjgsIDcyLCAKKyAgICA2OSwgNjYsIDgyLCA2OSwgMjE1LCA3NywgNzMsIDY1LCAyMDcsIDg0LCA4NywgNzksIDEyOCwgMjEzLCA2NywgNzksIDc4LCAKKyAgICA4MywgNzksIDc4LCA2NSwgNzgsIDIxMiwgNzEsIDY5LCA3OSwgODIsIDcxLCA3MywgNjUsIDIwNiwgNzIsIDc5LCA3OSwgNzUsIAorICAgIDEyOCwgNjgsIDgyLCA2NSwgODcsIDczLCA3OCwgNzEsIDIxMSwgNzIsIDc3LCA3OSwgNzgsIDE5OSwgODAsIDY1LCA3MiwgCisgICAgNjUsIDg3LCAyMDAsIDY3LCA3MiwgNzksIDgzLCA2OSwgNzksIDc4LCAxOTksIDc2LCA3OSwgMjE1LCA4NiwgNzksIDY3LCAKKyAgICA2NSwgNzYsIDczLCAxOTUsIDcyLCA2NSwgNzYsIDcwLCA4NywgNzMsIDY4LCA4NCwgMjAwLCA2NiwgNjUsIDc2LCA3MywgNzgsIAorICAgIDY5LCA4MywgMTk3LCA4NCwgODcsIDIwNywgNzksIDc4LCAxOTcsIDg1LCAyMDgsIDgzLCA2NywgODIsIDczLCA4MCwgMjEyLCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgMjA1LCA4MCwgNzIsIDY1LCA4MywgNjksIDQ1LCAxOTYsIDg0LCA3OSwgCisgICAgMTI4LCA2NSwgNzYsIDY3LCA3MiwgNjksIDc3LCA3MywgNjcsIDY1LCAyMDQsIDY1LCA3NiwgNjksIDE5OCwgNzIsIDczLCAKKyAgICA3MSwgMjAwLCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA3MywgMTk1LCA4NCwgNzIsIDgyLCA2OSwgCisgICAgMTk3LCA2OCwgNzksIDg3LCAyMDYsIDc5LCA4NiwgNjksIDIxMCwgODMsIDczLCA3OCwgNzIsIDY1LCA3NiwgMTkzLCA3OCwgCisgICAgODUsIDc3LCA2OSwgODIsIDczLCAxOTUsIDY2LCA2NSwgODIsIDEyOCwgODQsIDc5LCA3OCwgMTk3LCA2NiwgODIsIDY1LCAKKyAgICA3MiwgNzcsIDIwMSwgNjYsIDY1LCA4MiwgMTk0LCA3MCwgNzksIDg1LCA4MiwgMTI4LCA3MiwgNjUsIDIwMCwgNzcsIDY1LCAKKyAgICA4MiwgMjAzLCA4NCwgNzIsIDgyLCA2OSwgNjksIDEyOCwgNzgsIDc5LCA4MiwgODQsIDIwMCwgNzAsIDg1LCA3NiwgNzYsIAorICAgIDg3LCA3MywgNjgsIDg0LCAyMDAsIDY2LCA4MiwgNjUsIDY3LCA3NSwgNjksIDg0LCAxMjgsIDY5LCA4MSwgODUsIDY1LCAKKyAgICAyMDQsIDc2LCA3MywgNzEsIDcyLCAyMTIsIDg0LCA2NSwgMTk5LCA2OCwgNzksIDc3LCA3MywgNzgsIDIwNywgNzYsIDc5LCAKKyAgICA3OCwgMTk5LCA2NSwgNjcsIDg1LCA4NCwgNjksIDEyOCwgNzAsIDgyLCA2NSwgNzUsIDg0LCA4NSwgMjEwLCA3MiwgNjUsIAorICAgIDEyOCwgNzcsIDY1LCA3NiwgNjUsIDg5LCA2NSwgNzYsIDY1LCAyMDUsIDY3LCA3MiwgNjUsIDgyLCA2NSwgNjcsIDg0LCA2OSwgCisgICAgMjEwLCA4MCwgNzIsIDY1LCA4MywgNjksIDQ1LCAxOTUsIDY4LCA3OSwgODUsIDY2LCA3NiwgNjksIDQ1LCA4MywgODQsIDgyLCAKKyAgICA4NSwgNjcsIDIwMywgNzIsIDY1LCA3NiwgMTk4LCA3MiwgNzMsIDgyLCA2NSwgNzEsIDY1LCA3OCwgMTkzLCA3NCwgODUsIAorICAgIDc4LCA3MSwgODMsIDY5LCA3OSwgNzgsIDE5OSwgODQsIDY5LCA3NiwgODUsIDcxLCAyMTMsIDY1LCA4MiwgNzcsIDY5LCA3OCwgCisgICAgNzMsIDY1LCAyMDYsIDY2LCA2OSwgNzgsIDcxLCA2NSwgNzYsIDIwMSwgNzEsIDc2LCA2NSwgNzEsIDc5LCA3NiwgNzMsIDg0LCAKKyAgICA3MywgMTk1LCA4NSwgODAsIDg3LCA2NSwgODIsIDY4LCAyMTEsIDcwLCA3MywgODYsIDY5LCAxMjgsIDc3LCA2OSwgNjgsIAorICAgIDczLCA2NSwgMjA0LCA3OCwgNjksIDcxLCA2NSwgODQsIDczLCA4NiwgMTk3LCA3NCwgNjksIDY5LCAyMDUsIDc1LCA2NSwgCisgICAgMTI4LCA2OCwgNzksIDg3LCA3OCwgODcsIDY1LCA4MiwgNjgsIDIxMSwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICAyMDAsIDc0LCA2NSwgODYsIDY1LCA3OCwgNjksIDgzLCAxOTcsIDY4LCA3OSwgODQsIDIxMSwgNzksIDgyLCA3MywgODksIAorICAgIDE5MywgODAsIDY1LCAxMjgsIDg3LCA2OSwgODMsIDg0LCA0NSwgNjcsIDgyLCA2OSwgMTk3LCA4MiwgODUsIDc4LCA3MywgCisgICAgMTk1LCA4MywgMTI4LCA3NSwgNjUsIDc4LCA3OCwgNjUsIDY4LCAxOTMsIDgzLCA3MywgODgsIDEyOCwgNzcsIDY1LCAxMjgsIAorICAgIDc4LCA2OSwgMjE1LCA4MCwgNzIsIDY1LCA4MywgNjksIDQ1LCAxOTMsIDgzLCA3OSwgODUsIDg0LCAyMDAsIDg0LCA3MiwgCisgICAgNjUsIDIwMSwgODksIDY1LCAxMjgsIDY3LCA2NSwgODIsIDE5NiwgNjcsIDcyLCA2OSwgODIsIDc5LCA3NSwgNjksIDE5NywgCisgICAgNjksIDczLCA3MSwgNzIsIDg0LCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDIwNCwgODMsIDY5LCAKKyAgICA4NiwgNjksIDc4LCAxMjgsIDgzLCA3MiwgNjUsIDgyLCA2NSwgNjgsIDE5MywgNjcsIDczLCA4NCwgMjAxLCA3MSwgODUsIAorICAgIDc0LCA2NSwgODIsIDY1LCA4NCwgMjAxLCA3OCwgNjUsIDEyOCwgNzgsIDczLCA3OCwgNjksIDEyOCwgODQsIDg1LCA4MiwgCisgICAgNzgsIDY5LCAxOTYsIDg3LCA2NSwgODIsIDY1LCA3OCwgMTk5LCA2NywgNzIsIDY1LCAyMDUsIDcxLCA4MiwgNjUsIDc4LCAKKyAgICA4NCwgNzIsIDE5MywgOTAsIDkwLCA4OSwgODgsIDEyOCwgOTAsIDkwLCA4OSwgODQsIDEyOCwgOTAsIDkwLCA4OSwgODIsIAogICAgIDg4LCAxMjgsIDkwLCA5MCwgODksIDgyLCAxMjgsIDkwLCA5MCwgODksIDgwLCAxMjgsIDkwLCA5MCwgODksIDY1LCAxMjgsIAogICAgIDkwLCA5MCwgODksIDEyOCwgOTAsIDkwLCA4NSwgODgsIDEyOCwgOTAsIDkwLCA4NSwgODIsIDg4LCAxMjgsIDkwLCA5MCwgCiAgICAgODUsIDgyLCAxMjgsIDkwLCA5MCwgODUsIDgwLCAxMjgsIDkwLCA5MCwgODUsIDEyOCwgOTAsIDkwLCA4MywgODksIDY1LCAKQEAgLTg0LDE4MSArODMsMTkyIEBACiAgICAgOTAsIDY5LCA4MCwgMTI4LCA5MCwgOTAsIDY5LCA2OSwgMTI4LCA5MCwgOTAsIDY5LCAxMjgsIDkwLCA5MCwgNjUsIDg4LCAKICAgICAxMjgsIDkwLCA5MCwgNjUsIDg0LCAxMjgsIDkwLCA5MCwgNjUsIDgwLCAxMjgsIDkwLCA5MCwgNjUsIDY1LCAxMjgsIDkwLCAKICAgICA5MCwgNjUsIDEyOCwgOTAsIDg5LCA3MSwgNzksIDgzLCAxMjgsIDkwLCA4NywgODMsIDgwLCAxMjgsIDkwLCA4NywgNzgsIAotICAgIDc0LCAxMjgsIDkwLCA4NywgNzgsIDY2LCA4MywgODAsIDEyOCwgOTAsIDg3LCA3NCwgMTI4LCA5MCwgODcsIDY1LCA4MiwgCi0gICAgNjUsIDc1LCA2NSwgODksIDEyOCwgOTAsIDg3LCA2NSwgMTI4LCA5MCwgODUsIDg0LCAxMjgsIDkwLCA4NSwgNzksIDg4LCAKLSAgICAxMjgsIDkwLCA4NSwgNzksIDgwLCAxMjgsIDkwLCA4NSwgNzksIDEyOCwgOTAsIDg1LCA3NywgMTI4LCA5MCwgODUsIDY2LCAKLSAgICA4NSwgODIsIDEyOCwgOTAsIDg1LCA1MywgMTI4LCA5MCwgODUsIDE4MSwgOTAsIDgzLCA3MiwgNjUsIDEyOCwgOTAsIDgyLCAKLSAgICA2NSwgMTI4LCA5MCwgODEsIDY1LCA4MCwgNzIsIDE5MywgOTAsIDc5LCA4NCwgMTI4LCA5MCwgNzksIDc5LCAxMjgsIDkwLCAKLSAgICA3OSwgNjUsIDEyOCwgOTAsIDc2LCA2NSwgNzcsIDE5MywgOTAsIDc2LCA2NSwgMTI4LCA5MCwgNzYsIDE5MywgOTAsIDc0LCAKLSAgICA2OSwgMTI4LCA5MCwgNzMsIDkwLCA1MCwgMTI4LCA5MCwgNzMsIDgxLCA2NSwgNjUsIDEyOCwgOTAsIDczLCA3OCwgNzksIAotICAgIDgyLCAxMjgsIDkwLCA3MywgNzYsIDY4LCA2OSwgMTI4LCA5MCwgNzMsIDcxLCA5MCwgNjUsIDE5OSwgOTAsIDczLCA3MSwgCi0gICAgMTI4LCA5MCwgNzMsIDY4LCAxOTMsIDkwLCA3MywgNjYsIDEyOCwgOTAsIDczLCAxOTQsIDkwLCA3MywgNTEsIDEyOCwgOTAsIAotICAgIDIwMSwgOTAsIDcyLCA4OSwgODgsIDEyOCwgOTAsIDcyLCA4OSwgODQsIDEyOCwgOTAsIDcyLCA4OSwgODIsIDg4LCAxMjgsIAotICAgIDkwLCA3MiwgODksIDgyLCAxMjgsIDkwLCA3MiwgODksIDgwLCAxMjgsIDkwLCA3MiwgODksIDEyOCwgOTAsIDcyLCA4NywgCi0gICAgNjksIDEyOCwgOTAsIDcyLCA4NywgNjUsIDEyOCwgOTAsIDcyLCA4NSwgODgsIDEyOCwgOTAsIDcyLCA4NSwgODQsIDEyOCwgCi0gICAgOTAsIDcyLCA4NSwgODIsIDg4LCAxMjgsIDkwLCA3MiwgODUsIDgyLCAxMjgsIDkwLCA3MiwgODUsIDgwLCAxMjgsIDkwLCAKLSAgICA3MiwgODUsIDc5LCA4OCwgMTI4LCA5MCwgNzIsIDg1LCA3OSwgODAsIDEyOCwgOTAsIDcyLCA4NSwgNzksIDEyOCwgOTAsIAotICAgIDcyLCA4NSwgMTI4LCA5MCwgNzIsIDc5LCA4OCwgMTI4LCA5MCwgNzIsIDc5LCA4NCwgMTI4LCA5MCwgNzIsIDc5LCA4MCwgCi0gICAgMTI4LCA5MCwgNzIsIDc5LCA3OSwgMTI4LCA5MCwgNzIsIDc5LCAxMjgsIDkwLCA3MiwgNzMsIDg2LCA2OSwgODQsIDY5LCAKLSAgICAxMjgsIDkwLCA3MiwgNzMsIDEyOCwgOTAsIDcyLCA2OSwgODgsIDEyOCwgOTAsIDcyLCA2OSwgODQsIDEyOCwgOTAsIDcyLCAKLSAgICA2OSwgODAsIDEyOCwgOTAsIDcyLCA2OSwgNjksIDEyOCwgOTAsIDcyLCA2OSwgMTI4LCA5MCwgNzIsIDE5NywgOTAsIDcyLCAKLSAgICA2NSwgODgsIDEyOCwgOTAsIDcyLCA2NSwgODQsIDEyOCwgOTAsIDcyLCA2NSwgODIsIDEyOCwgOTAsIDcyLCA2NSwgODAsIAotICAgIDEyOCwgOTAsIDcyLCA2NSwgNzMsIDc4LCAxMjgsIDkwLCA3MiwgNjUsIDY1LCAxMjgsIDkwLCA3MiwgNjUsIDEyOCwgOTAsIAotICAgIDcyLCAxMjgsIDkwLCA2OSwgODQsIDY1LCAxMjgsIDkwLCA2OSwgODIsIDc5LCAxMjgsIDkwLCA2OSwgODIsIDIwNywgOTAsIAotICAgIDY5LCA3OCwgMTI4LCA5MCwgNjksIDc3LCA3NiwgODksIDY1LCAxMjgsIDkwLCA2OSwgNzcsIDc2LCA3NCwgNjUsIDEyOCwgCi0gICAgOTAsIDY5LCA1MCwgMTI4LCA5MCwgMTk3LCA5MCwgNjUsIDg5LCA3OCwgMTI4LCA5MCwgNjUsIDg5LCA3MywgNzgsIDEyOCwgCi0gICAgOTAsIDY1LCA4OSwgNzMsIDIwNiwgOTAsIDY1LCA4NiwgNzMsIDg5LCA2NSwgNzgsIDczLCAxMjgsIDkwLCA2NSwgODQsIDY1LCAKLSAgICAxMjgsIDkwLCA2NSwgODIsIDgxLCA2NSwgMTI4LCA5MCwgNjUsIDgxLCA2OSwgMTk4LCA5MCwgNjUsIDc3LCA4OCwgMTI4LCAKLSAgICA5MCwgNjUsIDIwNCwgOTAsIDY1LCA3MywgNzgsIDEyOCwgOTAsIDY1LCA3MywgMjA2LCA5MCwgNjUsIDczLCAxMjgsIDkwLCAKLSAgICA2NSwgNzIsIDEyOCwgOTAsIDY1LCAyMDAsIDkwLCA2NSwgNzEsIDEyOCwgOTAsIDY1LCA2OSwgNzAsIDEyOCwgOTAsIDQ4LCAKLSAgICA0OSwgNTQsIDcyLCAxMjgsIDkwLCA0OCwgNDksIDU0LCA3MSwgMTI4LCA5MCwgNDgsIDQ5LCA1NCwgNzAsIDEyOCwgOTAsIAotICAgIDQ4LCA0OSwgNTQsIDY5LCAxMjgsIDkwLCA0OCwgNDksIDU0LCA2OCwgMTI4LCA5MCwgNDgsIDQ5LCA1NCwgNjcsIDEyOCwgCi0gICAgOTAsIDQ4LCA0OSwgNTQsIDY2LCAxMjgsIDkwLCA0OCwgNDksIDU0LCA2NSwgMTI4LCA5MCwgNDgsIDQ5LCA1NCwgMTI4LCAKLSAgICA5MCwgNDgsIDQ5LCA1MywgNzMsIDEyOCwgOTAsIDQ4LCA0OSwgNTMsIDcyLCAxMjgsIDkwLCA0OCwgNDksIDUzLCA3MSwgCi0gICAgMTI4LCA5MCwgNDgsIDQ5LCA1MywgNzAsIDEyOCwgOTAsIDQ4LCA0OSwgNTMsIDY5LCAxMjgsIDkwLCA0OCwgNDksIDUzLCAKLSAgICA2OCwgMTI4LCA5MCwgNDgsIDQ5LCA1MywgNjcsIDEyOCwgOTAsIDQ4LCA0OSwgNTMsIDY2LCAxMjgsIDkwLCA0OCwgNDksIAotICAgIDUzLCA2NSwgMTI4LCA5MCwgNDgsIDQ5LCA1MywgMTI4LCA5MCwgNDgsIDQ5LCA1MiwgMTI4LCA5MCwgNDgsIDQ5LCA1MSwgCi0gICAgMTI4LCA5MCwgNDgsIDQ5LCA1MCwgMTI4LCA5MCwgNDgsIDQ5LCA0OSwgMTI4LCA5MCwgNDgsIDQ5LCA0OCwgMTI4LCA5MCwgCi0gICAgNDgsIDQ4LCA1NywgMTI4LCA5MCwgNDgsIDQ4LCA1NiwgMTI4LCA5MCwgNDgsIDQ4LCA1NSwgMTI4LCA5MCwgNDgsIDQ4LCAKLSAgICA1NCwgMTI4LCA5MCwgNDgsIDQ4LCA1MywgNjUsIDEyOCwgOTAsIDQ4LCA0OCwgNTMsIDEyOCwgOTAsIDQ4LCA0OCwgNTIsIAotICAgIDY1LCAxMjgsIDkwLCA0OCwgNDgsIDUyLCAxMjgsIDkwLCA0OCwgNDgsIDUxLCA2NiwgMTI4LCA5MCwgNDgsIDQ4LCA1MSwgCi0gICAgNjUsIDEyOCwgOTAsIDQ4LCA0OCwgNTEsIDEyOCwgOTAsIDQ4LCA0OCwgNTAsIDY4LCAxMjgsIDkwLCA0OCwgNDgsIDUwLCAKLSAgICA2NywgMTI4LCA5MCwgNDgsIDQ4LCA1MCwgNjYsIDEyOCwgOTAsIDQ4LCA0OCwgNTAsIDY1LCAxMjgsIDkwLCA0OCwgNDgsIAotICAgIDUwLCAxMjgsIDkwLCA0OCwgNDgsIDQ5LCAxMjgsIDkwLCAxMjgsIDIxOCwgODksIDg5LCA4OCwgMTI4LCA4OSwgODksIDg0LCAKLSAgICAxMjgsIDg5LCA4OSwgODIsIDg4LCAxMjgsIDg5LCA4OSwgODIsIDEyOCwgODksIDg5LCA4MCwgMTI4LCA4OSwgODksIDY5LCAKLSAgICAxMjgsIDg5LCA4OSwgNjUsIDY1LCAxMjgsIDg5LCA4OSwgNjUsIDEyOCwgODksIDg5LCAxMjgsIDg5LCA4NywgNzksIDc5LCAKLSAgICAxMjgsIDg5LCA4NywgNzksIDEyOCwgODksIDg3LCA3MywgNzMsIDEyOCwgODksIDg3LCA3MywgMTI4LCA4OSwgODcsIDY5LCAKLSAgICAxMjgsIDg5LCA4NywgNjUsIDY1LCAxMjgsIDg5LCA4NywgNjUsIDEyOCwgODksIDg2LCAxMjgsIDg5LCA4NSwgODgsIDEyOCwgCi0gICAgODksIDg1LCA4NywgNzksIDgxLCAxMjgsIDg5LCA4NSwgODUsIDc1LCA2NSwgNzYsIDY5LCA2NSwgODAsIDczLCA3OCwgODQsIAotICAgIDg1LCAxMjgsIDg5LCA4NSwgODUsIDEyOCwgODksIDg1LCA4NCwgMTI4LCA4OSwgODUsIDgzLCAxMjgsIDg5LCA4NSwgMjExLCAKLSAgICA4OSwgODUsIDgyLCA4OCwgMTI4LCA4OSwgODUsIDgyLCAxMjgsIDg5LCA4NSwgODEsIDEyOCwgODksIDg1LCAyMDksIDg5LCAKLSAgICA4NSwgODAsIDEyOCwgODksIDg1LCA3OSwgODgsIDEyOCwgODksIDg1LCA3OSwgODQsIDEyOCwgODksIDg1LCA3OSwgODAsIAotICAgIDEyOCwgODksIDg1LCA3OSwgNzcsIDEyOCwgODksIDg1LCA3OSwgMTI4LCA4OSwgODUsIDc4LCAxMjgsIDg5LCA4NSwgNzcsIAotICAgIDEyOCwgODksIDg1LCA2OSwgODEsIDEyOCwgODksIDg1LCA2OSwgMTI4LCA4OSwgODUsIDY4LCA3MiwgMTI4LCA4OSwgODUsIAotICAgIDY4LCAyMDAsIDg5LCA4NSwgNjUsIDc4LCAxMjgsIDg5LCA4NSwgNjUsIDY5LCA3OCwgMTI4LCA4OSwgODUsIDQ1LCA4OSwgCi0gICAgNjksIDc5LCAxMjgsIDg5LCA4NSwgNDUsIDg5LCA2OSwgMTI4LCA4OSwgODUsIDQ1LCA4NSwgMTI4LCA4OSwgODUsIDQ1LCAKLSAgICA3OSwgMTI4LCA4OSwgODUsIDQ1LCA3MywgMTI4LCA4OSwgODUsIDQ1LCA2OSwgNzksIDEyOCwgODksIDg1LCA0NSwgNjksIAotICAgIDEyOCwgODksIDg1LCA0NSwgNjUsIDY5LCAxMjgsIDg5LCA4NSwgNDUsIDY1LCAxMjgsIDg5LCA4NSwgMTI4LCA4OSwgMjEzLCAKLSAgICA4OSwgODAsIDgzLCA3MywgNzYsIDczLCAxMjgsIDg5LCA4MCwgNzksIDgyLCA4MiwgNzksIDczLCAxMjgsIDg5LCA4MCwgNzksIAotICAgIDc1LCA4MiwgNzMsIDgzLCA3MywgODMsIDEyOCwgODksIDgwLCA3OSwgNzUsIDgyLCA3MywgODMsIDczLCAyMTEsIDg5LCA4MCwgCi0gICAgNzksIDcxLCA2OSwgNzEsIDgyLCA2NSwgNzcsIDc3LCA2OSwgNzgsIDczLCAxMjgsIDg5LCA3OSwgODksIDEyOCwgODksIDc5LCAKLSAgICA4OCwgMTI4LCA4OSwgNzksIDg1LCA4NCwgNzIsIDcwLCA4NSwgNzYsIDc4LCA2OSwgODMsIDgzLCAxMjgsIDg5LCA3OSwgODUsIAotICAgIDg0LCA3MiwgNzAsIDg1LCAyMDQsIDg5LCA3OSwgODQsIDEyOCwgODksIDc5LCA4MiwgNzMsIDEyOCwgODksIDc5LCA4MSwgCi0gICAgMTI4LCA4OSwgNzksIDIwOSwgODksIDc5LCA4MCwgMTI4LCA4OSwgNzksIDc5LCAxMjgsIDg5LCA3OSwgNzcsIDc5LCAxMjgsIAotICAgIDg5LCA3OSwgNzEsIDcyLCAxMjgsIDg5LCA3OSwgNjgsIDcyLCAxMjgsIDg5LCA3OSwgNjgsIDEyOCwgODksIDc5LCAxOTYsIAotICAgIDg5LCA3OSwgNjUsIDEyOCwgODksIDc5LCA0NSwgODksIDY5LCA3OSwgMTI4LCA4OSwgNzksIDQ1LCA4OSwgNjUsIDY5LCAKLSAgICAxMjgsIDg5LCA3OSwgNDUsIDg5LCA2NSwgMTI4LCA4OSwgNzksIDQ1LCA3OSwgMTI4LCA4OSwgNzksIDQ1LCA3MywgMTI4LCAKLSAgICA4OSwgNzksIDQ1LCA2OSwgNzksIDEyOCwgODksIDc5LCA0NSwgNjUsIDY5LCAxMjgsIDg5LCA3OSwgNDUsIDY1LCAxMjgsIAotICAgIDg5LCA3OSwgMTI4LCA4OSwgMjA3LCA4OSwgNzMsIDkwLCA2OSwgODQsIDEyOCwgODksIDczLCA4OCwgMTI4LCA4OSwgNzMsIAotICAgIDg3LCA3OCwgMTI4LCA4OSwgNzMsIDg0LCAxMjgsIDg5LCA3MywgODAsIDEyOCwgODksIDczLCA3OCwgNzEsIDEyOCwgODksIAotICAgIDczLCA3MywgMTI4LCA4OSwgNzMsIDE5OSwgODksIDczLCA2OSwgODgsIDEyOCwgODksIDczLCA2OSwgODQsIDEyOCwgODksIAotICAgIDczLCA2OSwgODAsIDEyOCwgODksIDczLCA2OSwgNjksIDEyOCwgODksIDczLCA2OSwgMTI4LCA4OSwgNzMsIDY4LCA2OCwgCi0gICAgNzMsIDgzLCAyMDAsIDg5LCA3MywgNDUsIDg1LCAxMjgsIDg5LCA3MywgMTI4LCA4OSwgNzAsIDY5LCA4MywgNzMsIDgzLCAKLSAgICAxMjgsIDg5LCA3MCwgNjksIDgzLCA3MywgMjExLCA4OSwgNzAsIDY5LCAyMDYsIDg5LCA2OSwgODksIDEyOCwgODksIDY5LCAKLSAgICA4NywgMTI4LCA4OSwgNjksIDg1LCA4OCwgMTI4LCA4OSwgNjksIDg1LCA4MiwgNjUsIDY5LCAxMjgsIDg5LCA2OSwgODUsIAotICAgIDgxLCAxMjgsIDg5LCA2OSwgODUsIDc3LCAxMjgsIDg5LCA2OSwgODUsIDY1LCA2OSwgODQsIDEyOCwgODksIDY5LCA4NSwgCi0gICAgNjUsIDY5LCAxMjgsIDg5LCA2OSwgODQsIDczLCA4NiwgMTI4LCA4OSwgNjksIDgzLCA4NCwgODUsIDEyOCwgODksIDY5LCAKLSAgICA4MywgNzMsIDY5LCA4NSwgNzgsIDcxLCA0NSwgODMsIDczLCA3OSwgODMsIDEyOCwgODksIDY5LCA4MywgNzMsIDY5LCA4NSwgCi0gICAgNzgsIDcxLCA0NSwgODAsIDY1LCA3OCwgODMsIDczLCA3OSwgODMsIDEyOCwgODksIDY5LCA4MywgNzMsIDY5LCA4NSwgNzgsIAotICAgIDcxLCA0NSwgNzcsIDczLCA2OSwgODUsIDc3LCAxMjgsIDg5LCA2OSwgODMsIDczLCA2OSwgODUsIDc4LCA3MSwgNDUsIDcyLCAKLSAgICA3MywgNjksIDg1LCA3MiwgMTI4LCA4OSwgNjksIDgzLCA3MywgNjksIDg1LCA3OCwgNzEsIDEyOCwgODksIDY5LCA4MiwgODUsIAotICAgIDEyOCwgODksIDY5LCA4MiwgMjEzLCA4OSwgNjksIDgyLCA3MywgMTI4LCA4OSwgNjksIDgyLCA2NSwgMjAwLCA4OSwgNjksIAotICAgIDgyLCAxMjgsIDg5LCA2OSwgNzksIDgyLCA3MywgNzgsIDcyLCA3MywgNjksIDg1LCA3MiwgMTI4LCA4OSwgNjksIDc5LCA0NSwgCi0gICAgODksIDY1LCAxMjgsIDg5LCA2OSwgNzksIDQ1LCA4NSwgMTI4LCA4OSwgNjksIDc5LCA0NSwgNzksIDEyOCwgODksIDY5LCAKLSAgICA3OCwgNzMsIDgzLCA2OSwgMjAxLCA4OSwgNjksIDc4LCA2NSwgODAsIDEyOCwgODksIDY5LCA3OCwgMTI4LCA4OSwgNjksIAotICAgIDIwNiwgODksIDY5LCA3NiwgNzYsIDc5LCA4NywgMTI4LCA4OSwgNjksIDc2LCA3NiwgNzksIDIxNSwgODksIDY5LCA3MiwgCi0gICAgMTI4LCA4OSwgNjksIDY5LCAxMjgsIDg5LCA2OSwgNjUsIDIxMCwgODksIDY5LCA2NSwgMTI4LCA4OSwgNjUsIDkwLCA5MCwgCi0gICAgMTI4LCA4OSwgNjUsIDkwLCA3MiwgMTI4LCA4OSwgNjUsIDkwLCAxMjgsIDg5LCA2NSwgODksIDY1LCA3OCwgNzgsIDY1LCAKLSAgICAxMjgsIDg5LCA2NSwgODksIDEyOCwgODksIDY1LCA4NywgMTI4LCA4OSwgNjUsIDg2LCAxMjgsIDg5LCA2NSwgODUsIDEyOCwgCi0gICAgODksIDY1LCA4NCwgODQsIDEyOCwgODksIDY1LCA4NCwgNzMsIDEyOCwgODksIDY1LCA4NCwgNzIsIDEyOCwgODksIDY1LCAKLSAgICA4NCwgMTI4LCA4OSwgNjUsIDgzLCA4MywgMTI4LCA4OSwgNjUsIDgzLCA3MiwgMTI4LCA4OSwgNjUsIDgzLCAxMjgsIDg5LCAKLSAgICA2NSwgODIsIDgyLCAxMjgsIDg5LCA2NSwgODIsIDEyOCwgODksIDY1LCAyMTAsIDg5LCA2NSwgODEsIDEyOCwgODksIDY1LCAKLSAgICA4MCwgMTI4LCA4OSwgNjUsIDc4LCA4MywgNjUsIDg5LCA2NSwgMTI4LCA4OSwgNjUsIDc4LCA3MSwgMTI4LCA4OSwgNjUsIAotICAgIDc4LCAxOTksIDg5LCA2NSwgNzgsIDEyOCwgODksIDY1LCA3NywgNzksIDc1LCAxMjgsIDg5LCA2NSwgNzcsIDY1LCA3NSwgCi0gICAgNzUsIDY1LCA3OCwgMTI4LCA4OSwgNjUsIDc3LCAxMjgsIDg5LCA2NSwgNzYsIDEyOCwgODksIDY1LCA3NSwgNzIsIDcyLCAKLSAgICAxMjgsIDg5LCA2NSwgNzUsIDcyLCAxMjgsIDg5LCA2NSwgNzUsIDY1LCA4MywgNzIsIDEyOCwgODksIDY1LCA3NSwgMTI4LCAKLSAgICA4OSwgNjUsIDc0LCA4NSwgODIsIDg2LCA2OSwgNjgsIDczLCAxOTUsIDg5LCA2NSwgNzQsIDEyOCwgODksIDY1LCA3MywgCi0gICAgMTI4LCA4OSwgNjUsIDcyLCA3MiwgMTI4LCA4OSwgNjUsIDcyLCAxMjgsIDg5LCA2NSwgNzEsIDc4LCAxMjgsIDg5LCA2NSwgCi0gICAgNzEsIDcyLCA3MiwgMTI4LCA4OSwgNjUsIDcxLCA3MiwgMTI4LCA4OSwgNjUsIDcxLCAxMjgsIDg5LCA2NSwgNzAsIDIxMywgCi0gICAgODksIDY1LCA3MCwgMTI4LCA4OSwgNjUsIDY5LCA3NywgNzcsIDY1LCA2OSwgMTI4LCA4OSwgNjUsIDY4LCA3MiwgMTI4LCAKLSAgICA4OSwgNjUsIDY4LCA2OCwgNzIsIDEyOCwgODksIDY1LCA2OCwgNjgsIDEyOCwgODksIDY1LCA2OCwgMTI4LCA4OSwgNjUsIAotICAgIDY3LCA3MiwgMTI4LCA4OSwgNjUsIDY2LCA3MiwgMTI4LCA4OSwgNjUsIDY2LCAxMjgsIDg5LCA2NSwgNjUsIDgyLCA4NSwgCi0gICAgMTI4LCA4OSwgNjUsIDY1LCA3MywgMTI4LCA4OSwgNjUsIDY1LCA2OCwgNzksIDEyOCwgODksIDY1LCA0NSwgODksIDc5LCAKLSAgICAxMjgsIDg5LCA2NSwgNDUsIDg1LCAxMjgsIDg5LCA2NSwgNDUsIDc5LCAxMjgsIDg5LCA0OCwgNDgsIDU2LCAxMjgsIDg5LCAKLSAgICA0OCwgNDgsIDU1LCAxMjgsIDg5LCA0OCwgNDgsIDU0LCAxMjgsIDg5LCA0OCwgNDgsIDUzLCAxMjgsIDg5LCA0OCwgNDgsIAotICAgIDUyLCAxMjgsIDg5LCA0OCwgNDgsIDUxLCAxMjgsIDg5LCA0OCwgNDgsIDUwLCAxMjgsIDg5LCA0OCwgNDgsIDQ5LCA2NSwgCi0gICAgMTI4LCA4OSwgNDgsIDQ4LCA0OSwgMTI4LCA4OSwgNDUsIDY3LCA4MiwgNjksIDE5NywgODgsIDg5LCA4OCwgMTI4LCA4OCwgCi0gICAgODksIDg1LCAxMjgsIDg4LCA4OSwgODQsIDEyOCwgODgsIDg5LCA4MiwgODgsIDEyOCwgODgsIDg5LCA4MiwgMTI4LCA4OCwgCi0gICAgODksIDgwLCAxMjgsIDg4LCA4OSwgNzksIDEyOCwgODgsIDg5LCA3MywgMTI4LCA4OCwgODksIDY5LCA2OSwgMTI4LCA4OCwgCi0gICAgODksIDY5LCAxMjgsIDg4LCA4OSwgNjUsIDY1LCAxMjgsIDg4LCA4OSwgNjUsIDEyOCwgODgsIDg5LCAxMjgsIDg4LCA4NywgCi0gICAgNzMsIDEyOCwgODgsIDg3LCA2OSwgNjksIDEyOCwgODgsIDg3LCA2OSwgMTI4LCA4OCwgODcsIDY1LCA2NSwgMTI4LCA4OCwgCi0gICAgODcsIDY1LCAxMjgsIDg4LCA4NiwgNjksIDEyOCwgODgsIDg2LCA2NSwgMTI4LCA4OCwgODUsIDc5LCA4OCwgMTI4LCA4OCwgCi0gICAgODUsIDc5LCAxMjgsIDg4LCA4NSwgMTI4LCA4OCwgODMsIDcyLCA2NSwgNjUsIDg5LCA2NSwgODQsIDcyLCA3MywgODksIDY1LCAKLSAgICAxMjgsIDg4LCA3OSwgODgsIDEyOCwgODgsIDc5LCA4NCwgMTI4LCA4OCwgNzksIDgyLCAxMjgsIDg4LCA3OSwgODAsIDEyOCwgCi0gICAgODgsIDc5LCA2NSwgMTI4LCA4OCwgNzksIDEyOCwgODgsIDczLCA4OCwgMTI4LCA4OCwgNzMsIDg0LCAxMjgsIDg4LCA3MywgCi0gICAgODIsIDc5LCAyMDYsIDg4LCA3MywgODAsIDEyOCwgODgsIDczLCA2OSwgODgsIDEyOCwgODgsIDczLCA2OSwgODQsIDEyOCwgCi0gICAgODgsIDczLCA2OSwgODAsIDEyOCwgODgsIDczLCA2OSwgMTI4LCA4OCwgNzMsIDEyOCwgODgsIDcxLCAxMjgsIDg4LCA2OSwgCi0gICAgODMsIDg0LCA2OSwgMjExLCA4OCwgNjksIDcyLCAxMjgsIDg4LCA2OSwgNjksIDEyOCwgODgsIDY5LCAxMjgsIDg4LCA2NSwgCi0gICAgNzgsIDEyOCwgODgsIDY1LCA2NSwgMTI4LCA4OCwgNjUsIDEyOCwgODgsIDQ4LCA0OCwgNTYsIDY1LCAxMjgsIDg4LCA0OCwgCi0gICAgNDgsIDU2LCAxMjgsIDg4LCA0OCwgNDgsIDU1LCAxMjgsIDg4LCA0OCwgNDgsIDU0LCA2NSwgMTI4LCA4OCwgNDgsIDQ4LCAKLSAgICA1NCwgMTI4LCA4OCwgNDgsIDQ4LCA1MywgMTI4LCA4OCwgNDgsIDQ4LCA1MiwgNjYsIDEyOCwgODgsIDQ4LCA0OCwgNTIsIAotICAgIDY1LCAxMjgsIDg4LCA0OCwgNDgsIDUyLCAxMjgsIDg4LCA0OCwgNDgsIDUxLCAxMjgsIDg4LCA0OCwgNDgsIDUwLCAxMjgsIAotICAgIDg4LCA0OCwgNDgsIDQ5LCAxMjgsIDg3LCA5MCwgMTI4LCA4NywgODksIDc4LCA3OCwgMTI4LCA4NywgODksIDc4LCAyMDYsIAotICAgIDg3LCA4NiwgMTI4LCA4NywgODUsIDgwLCAxMjgsIDg3LCA4NSwgNzksIDg4LCAxMjgsIDg3LCA4NSwgNzksIDgwLCAxMjgsIAotICAgIDg3LCA4NSwgNzksIDEyOCwgODcsIDg1LCA3OCwgNzQsIDIwNywgODcsIDg1LCA3OCwgMTI4LCA4NywgODUsIDc2LCA4NSwgCi0gICAgMTI4LCA4NywgODUsIDc2LCAyMTMsIDg3LCA4NSwgNjksIDEyOCwgODcsIDg1LCA2NSwgNjksIDg0LCAxMjgsIDg3LCA4NSwgCi0gICAgNjUsIDY5LCA3OCwgMTI4LCA4NywgODUsIDEyOCwgODcsIDgyLCAyMTcsIDg3LCA4MiwgNzksIDc4LCA3MSwgMTI4LCA4NywgCi0gICAgODIsIDczLCA4NCwgNzMsIDc4LCAxOTksIDg3LCA4MiwgNjksIDc4LCA2NywgNzIsIDEyOCwgODcsIDgyLCA2OSwgNjUsIDg0LCAKLSAgICAyMDAsIDg3LCA4MiwgNjUsIDgwLCA4MCwgNjksIDE5NiwgODcsIDgyLCA2NSwgODAsIDEyOCwgODcsIDc5LCA4OCwgMTI4LCAKLSAgICA4NywgNzksIDgyLCA4MiwgNzMsIDY5LCAxOTYsIDg3LCA3OSwgODIsIDc1LCA2OSwgODIsIDEyOCwgODcsIDc5LCA4MiwgNzUsIAotICAgIDEyOCwgODcsIDc5LCA4MiwgMjAzLCA4NywgNzksIDgyLCA2OCwgODMsIDgwLCA2NSwgNjcsIDY5LCAxMjgsIDg3LCA3OSwgCi0gICAgODIsIDE5NiwgODcsIDc5LCA4MCwgMTI4LCA4NywgNzksIDc5LCA3OCwgMTI4LCA4NywgNzksIDc5LCA3NiwgMTI4LCA4NywgCi0gICAgNzksIDc5LCA2OCwgODMsIDQ1LCA2NywgODIsIDY5LCAxOTcsIDg3LCA3OSwgNzksIDY4LCAxMjgsIDg3LCA3OSwgNzgsIAotICAgIDEyOCwgODcsIDc5LCAyMDYsIDg3LCA3OSwgNzcsIDY5LCA3OCwgMjExLCA4NywgNzksIDc3LCA2OSwgMjA2LCA4NywgNzksIAotICAgIDc3LCA2NSwgNzgsIDIxMSwgODcsIDc5LCA3NywgNjUsIDc4LCAxMjgsIDg3LCA3OSwgNzcsIDY1LCAyMDYsIDg3LCA3OSwgCi0gICAgNzYsIDc5LCA4MywgNzksIDEyOCwgODcsIDc5LCA3NiwgMTk4LCA4NywgNzksIDY5LCAxMjgsIDg3LCA3OSwgNjUsIDEyOCwgCi0gICAgODcsIDczLCA4NCwgNzIsIDc5LCA4NSwgMjEyLCA4NywgNzMsIDg0LCA3MiwgNzMsIDc4LCAxMjgsIDg3LCA3MywgNzgsIDg0LCAKLSAgICA2OSwgODIsIDEyOCwgODcsIDczLCA3OCwgNzUsIDczLCA3OCwgMTk5LCA4NywgNzMsIDc4LCA3NCwgNjUsIDEyOCwgODcsIAotICAgIDczLCA3OCwgNzEsIDgzLCAxMjgsIDg3LCA3MywgNzgsIDY5LCAxMjgsIDg3LCA3MywgNzgsIDE5NywgODcsIDczLCA3OCwgCi0gICAgNjgsIDg1LCAxMjgsIDg3LCA3MywgNzgsIDY4LCAxMjgsIDg3LCA3MywgNzgsIDE5NiwgODcsIDczLCA3OCwgMTI4LCA4NywgCisgICAgNzQsIDEyOCwgOTAsIDg3LCA3OCwgNjYsIDgzLCA4MCwgMTI4LCA5MCwgODcsIDc0LCAxMjgsIDkwLCA4NywgMjAyLCA5MCwgCisgICAgODcsIDY1LCA4MiwgNjUsIDc1LCA2NSwgODksIDEyOCwgOTAsIDg3LCA2NSwgMTI4LCA5MCwgODUsIDg0LCAxMjgsIDkwLCAKKyAgICA4NSwgNzksIDg4LCAxMjgsIDkwLCA4NSwgNzksIDgwLCAxMjgsIDkwLCA4NSwgNzksIDEyOCwgOTAsIDg1LCA3NywgMTI4LCAKKyAgICA5MCwgODUsIDY2LCA4NSwgODIsIDEyOCwgOTAsIDg1LCA1MywgMTI4LCA5MCwgODUsIDE4MSwgOTAsIDgzLCA3MiwgNjUsIAorICAgIDEyOCwgOTAsIDgyLCA2NSwgMTI4LCA5MCwgODEsIDY1LCA4MCwgNzIsIDE5MywgOTAsIDc5LCA4NCwgMTI4LCA5MCwgNzksIAorICAgIDc5LCAxMjgsIDkwLCA3OSwgNjUsIDEyOCwgOTAsIDc2LCA2NSwgNzcsIDE5MywgOTAsIDc2LCA2NSwgMTI4LCA5MCwgNzYsIAorICAgIDE5MywgOTAsIDc0LCA2OSwgMTI4LCA5MCwgNzMsIDkwLCA1MCwgMTI4LCA5MCwgNzMsIDgxLCA2NSwgNjUsIDEyOCwgOTAsIAorICAgIDczLCA3OCwgNzksIDgyLCAxMjgsIDkwLCA3MywgNzYsIDY4LCA2OSwgMTI4LCA5MCwgNzMsIDcxLCA5MCwgNjUsIDE5OSwgCisgICAgOTAsIDczLCA3MSwgMTI4LCA5MCwgNzMsIDY4LCAxOTMsIDkwLCA3MywgNjYsIDEyOCwgOTAsIDczLCAxOTQsIDkwLCA3MywgCisgICAgNTEsIDEyOCwgOTAsIDIwMSwgOTAsIDcyLCA4OSwgODgsIDEyOCwgOTAsIDcyLCA4OSwgODQsIDEyOCwgOTAsIDcyLCA4OSwgCisgICAgODIsIDg4LCAxMjgsIDkwLCA3MiwgODksIDgyLCAxMjgsIDkwLCA3MiwgODksIDgwLCAxMjgsIDkwLCA3MiwgODksIDEyOCwgCisgICAgOTAsIDcyLCA4NywgNjksIDEyOCwgOTAsIDcyLCA4NywgNjUsIDEyOCwgOTAsIDcyLCA4NSwgODgsIDEyOCwgOTAsIDcyLCAKKyAgICA4NSwgODQsIDEyOCwgOTAsIDcyLCA4NSwgODIsIDg4LCAxMjgsIDkwLCA3MiwgODUsIDgyLCAxMjgsIDkwLCA3MiwgODUsIAorICAgIDgwLCAxMjgsIDkwLCA3MiwgODUsIDc5LCA4OCwgMTI4LCA5MCwgNzIsIDg1LCA3OSwgODAsIDEyOCwgOTAsIDcyLCA4NSwgCisgICAgNzksIDEyOCwgOTAsIDcyLCA4NSwgMTI4LCA5MCwgNzIsIDc5LCA4OCwgMTI4LCA5MCwgNzIsIDc5LCA4NCwgMTI4LCA5MCwgCisgICAgNzIsIDc5LCA4MCwgMTI4LCA5MCwgNzIsIDc5LCA3OSwgMTI4LCA5MCwgNzIsIDc5LCA3MywgMTI4LCA5MCwgNzIsIDc5LCAKKyAgICAxMjgsIDkwLCA3MiwgNzMsIDg2LCA2OSwgODQsIDY5LCAxMjgsIDkwLCA3MiwgNzMsIDc2LCAxMjgsIDkwLCA3MiwgNzMsIAorICAgIDEyOCwgOTAsIDcyLCA2OSwgODgsIDEyOCwgOTAsIDcyLCA2OSwgODQsIDEyOCwgOTAsIDcyLCA2OSwgODAsIDEyOCwgOTAsIAorICAgIDcyLCA2OSwgNjksIDEyOCwgOTAsIDcyLCA2OSwgMTI4LCA5MCwgNzIsIDE5NywgOTAsIDcyLCA2NSwgODksIDczLCA3OCwgCisgICAgMTI4LCA5MCwgNzIsIDY1LCA4OCwgMTI4LCA5MCwgNzIsIDY1LCA4NCwgMTI4LCA5MCwgNzIsIDY1LCA4MiwgMTI4LCA5MCwgCisgICAgNzIsIDY1LCA4MCwgMTI4LCA5MCwgNzIsIDY1LCA3MywgNzgsIDEyOCwgOTAsIDcyLCA2NSwgNjUsIDEyOCwgOTAsIDcyLCAKKyAgICA2NSwgMTI4LCA5MCwgNzIsIDEyOCwgOTAsIDY5LCA4NCwgNjUsIDEyOCwgOTAsIDY5LCA4MiwgNzksIDEyOCwgOTAsIDY5LCAKKyAgICA4MiwgMjA3LCA5MCwgNjksIDc4LCAxMjgsIDkwLCA2OSwgNzcsIDc2LCA4OSwgNjUsIDEyOCwgOTAsIDY5LCA3NywgNzYsIAorICAgIDc0LCA2NSwgMTI4LCA5MCwgNjksIDUwLCAxMjgsIDkwLCAxOTcsIDkwLCA2NSwgODksIDc4LCAxMjgsIDkwLCA2NSwgODksIAorICAgIDczLCA3OCwgMTI4LCA5MCwgNjUsIDg5LCA3MywgMjA2LCA5MCwgNjUsIDg2LCA3MywgODksIDY1LCA3OCwgNzMsIDEyOCwgCisgICAgOTAsIDY1LCA4NCwgNjUsIDEyOCwgOTAsIDY1LCA4MiwgODEsIDY1LCAxMjgsIDkwLCA2NSwgODIsIDc2LCAxMjgsIDkwLCAKKyAgICA2NSwgODEsIDY5LCAxOTgsIDkwLCA2NSwgNzcsIDg4LCAxMjgsIDkwLCA2NSwgMjA0LCA5MCwgNjUsIDczLCA3OCwgMTI4LCAKKyAgICA5MCwgNjUsIDczLCAyMDYsIDkwLCA2NSwgNzMsIDEyOCwgOTAsIDY1LCA3MiwgMTI4LCA5MCwgNjUsIDIwMCwgOTAsIDY1LCAKKyAgICA3MSwgMTI4LCA5MCwgNjUsIDY5LCA3MCwgMTI4LCA5MCwgMTkzLCA5MCwgNDgsIDQ5LCA1NCwgNzIsIDEyOCwgOTAsIDQ4LCAKKyAgICA0OSwgNTQsIDcxLCAxMjgsIDkwLCA0OCwgNDksIDU0LCA3MCwgMTI4LCA5MCwgNDgsIDQ5LCA1NCwgNjksIDEyOCwgOTAsIAorICAgIDQ4LCA0OSwgNTQsIDY4LCAxMjgsIDkwLCA0OCwgNDksIDU0LCA2NywgMTI4LCA5MCwgNDgsIDQ5LCA1NCwgNjYsIDEyOCwgCisgICAgOTAsIDQ4LCA0OSwgNTQsIDY1LCAxMjgsIDkwLCA0OCwgNDksIDU0LCAxMjgsIDkwLCA0OCwgNDksIDUzLCA3MywgMTI4LCAKKyAgICA5MCwgNDgsIDQ5LCA1MywgNzIsIDEyOCwgOTAsIDQ4LCA0OSwgNTMsIDcxLCAxMjgsIDkwLCA0OCwgNDksIDUzLCA3MCwgCisgICAgMTI4LCA5MCwgNDgsIDQ5LCA1MywgNjksIDEyOCwgOTAsIDQ4LCA0OSwgNTMsIDY4LCAxMjgsIDkwLCA0OCwgNDksIDUzLCAKKyAgICA2NywgMTI4LCA5MCwgNDgsIDQ5LCA1MywgNjYsIDEyOCwgOTAsIDQ4LCA0OSwgNTMsIDY1LCAxMjgsIDkwLCA0OCwgNDksIAorICAgIDUzLCAxMjgsIDkwLCA0OCwgNDksIDUyLCAxMjgsIDkwLCA0OCwgNDksIDUxLCAxMjgsIDkwLCA0OCwgNDksIDUwLCAxMjgsIAorICAgIDkwLCA0OCwgNDksIDQ5LCAxMjgsIDkwLCA0OCwgNDksIDQ4LCAxMjgsIDkwLCA0OCwgNDgsIDU3LCAxMjgsIDkwLCA0OCwgCisgICAgNDgsIDU2LCAxMjgsIDkwLCA0OCwgNDgsIDU1LCAxMjgsIDkwLCA0OCwgNDgsIDU0LCAxMjgsIDkwLCA0OCwgNDgsIDUzLCAKKyAgICA2NSwgMTI4LCA5MCwgNDgsIDQ4LCA1MywgMTI4LCA5MCwgNDgsIDQ4LCA1MiwgNjUsIDEyOCwgOTAsIDQ4LCA0OCwgNTIsIAorICAgIDEyOCwgOTAsIDQ4LCA0OCwgNTEsIDY2LCAxMjgsIDkwLCA0OCwgNDgsIDUxLCA2NSwgMTI4LCA5MCwgNDgsIDQ4LCA1MSwgCisgICAgMTI4LCA5MCwgNDgsIDQ4LCA1MCwgNjgsIDEyOCwgOTAsIDQ4LCA0OCwgNTAsIDY3LCAxMjgsIDkwLCA0OCwgNDgsIDUwLCAKKyAgICA2NiwgMTI4LCA5MCwgNDgsIDQ4LCA1MCwgNjUsIDEyOCwgOTAsIDQ4LCA0OCwgNTAsIDEyOCwgOTAsIDQ4LCA0OCwgNDksIAorICAgIDEyOCwgOTAsIDEyOCwgMjE4LCA4OSwgODksIDg4LCAxMjgsIDg5LCA4OSwgODQsIDEyOCwgODksIDg5LCA4MiwgODgsIDEyOCwgCisgICAgODksIDg5LCA4MiwgMTI4LCA4OSwgODksIDgwLCAxMjgsIDg5LCA4OSwgNjksIDEyOCwgODksIDg5LCA2NSwgNjUsIDEyOCwgCisgICAgODksIDg5LCA2NSwgMTI4LCA4OSwgODksIDEyOCwgODksIDg3LCA3OSwgNzksIDEyOCwgODksIDg3LCA3OSwgMTI4LCA4OSwgCisgICAgODcsIDczLCA3MywgMTI4LCA4OSwgODcsIDczLCAxMjgsIDg5LCA4NywgNjksIDEyOCwgODksIDg3LCA2NSwgNjUsIDEyOCwgCisgICAgODksIDg3LCA2NSwgMTI4LCA4OSwgODYsIDEyOCwgODksIDg1LCA4OCwgMTI4LCA4OSwgODUsIDg3LCA3OSwgODEsIDEyOCwgCisgICAgODksIDg1LCA4NSwgNzUsIDY1LCA3NiwgNjksIDY1LCA4MCwgNzMsIDc4LCA4NCwgODUsIDEyOCwgODksIDg1LCA4NSwgMTI4LCAKKyAgICA4OSwgODUsIDg0LCAxMjgsIDg5LCA4NSwgODMsIDEyOCwgODksIDg1LCAyMTEsIDg5LCA4NSwgODIsIDg4LCAxMjgsIDg5LCAKKyAgICA4NSwgODIsIDEyOCwgODksIDg1LCA4MSwgMTI4LCA4OSwgODUsIDIwOSwgODksIDg1LCA4MCwgMTI4LCA4OSwgODUsIDc5LCAKKyAgICA4OCwgMTI4LCA4OSwgODUsIDc5LCA4NCwgMTI4LCA4OSwgODUsIDc5LCA4MCwgMTI4LCA4OSwgODUsIDc5LCA3NywgMTI4LCAKKyAgICA4OSwgODUsIDc5LCAxMjgsIDg5LCA4NSwgNzgsIDEyOCwgODksIDg1LCA3NywgMTI4LCA4OSwgODUsIDc0LCAxMjgsIDg5LCAKKyAgICA4NSwgNjksIDgxLCAxMjgsIDg5LCA4NSwgNjksIDEyOCwgODksIDg1LCA2OCwgNzIsIDEyOCwgODksIDg1LCA2OCwgMjAwLCAKKyAgICA4OSwgODUsIDY1LCA3OCwgMTI4LCA4OSwgODUsIDY1LCA2OSwgNzgsIDEyOCwgODksIDg1LCA0NSwgODksIDY5LCA3OSwgCisgICAgMTI4LCA4OSwgODUsIDQ1LCA4OSwgNjksIDEyOCwgODksIDg1LCA0NSwgODUsIDEyOCwgODksIDg1LCA0NSwgNzksIDEyOCwgCisgICAgODksIDg1LCA0NSwgNzMsIDEyOCwgODksIDg1LCA0NSwgNjksIDc5LCAxMjgsIDg5LCA4NSwgNDUsIDY5LCAxMjgsIDg5LCAKKyAgICA4NSwgNDUsIDY1LCA2OSwgMTI4LCA4OSwgODUsIDQ1LCA2NSwgMTI4LCA4OSwgODUsIDEyOCwgODksIDIxMywgODksIDgyLCAKKyAgICA4OSwgMTI4LCA4OSwgODAsIDgzLCA3MywgNzYsIDczLCAxMjgsIDg5LCA4MCwgNzksIDgyLCA4MiwgNzksIDczLCAxMjgsIAorICAgIDg5LCA4MCwgNzksIDc1LCA4MiwgNzMsIDgzLCA3MywgODMsIDEyOCwgODksIDgwLCA3OSwgNzUsIDgyLCA3MywgODMsIDczLCAKKyAgICAyMTEsIDg5LCA4MCwgNzksIDcxLCA2OSwgNzEsIDgyLCA2NSwgNzcsIDc3LCA2OSwgNzgsIDczLCAxMjgsIDg5LCA3OSwgODksIAorICAgIDEyOCwgODksIDc5LCA4OCwgMTI4LCA4OSwgNzksIDg3LCA2OCwgMTI4LCA4OSwgNzksIDg1LCA4NCwgNzIsIDcwLCA4NSwgCisgICAgNzYsIDc4LCA2OSwgODMsIDgzLCAxMjgsIDg5LCA3OSwgODUsIDg0LCA3MiwgNzAsIDg1LCAyMDQsIDg5LCA3OSwgODQsIAorICAgIDEyOCwgODksIDc5LCA4MiwgNzMsIDEyOCwgODksIDc5LCA4MSwgMTI4LCA4OSwgNzksIDIwOSwgODksIDc5LCA4MCwgMTI4LCAKKyAgICA4OSwgNzksIDc5LCAxMjgsIDg5LCA3OSwgNzcsIDc5LCAxMjgsIDg5LCA3OSwgNzEsIDcyLCAxMjgsIDg5LCA3OSwgNjgsIAorICAgIDcyLCAxMjgsIDg5LCA3OSwgNjgsIDEyOCwgODksIDc5LCAxOTYsIDg5LCA3OSwgNjUsIDEyOCwgODksIDc5LCA0NSwgODksIAorICAgIDY5LCA3OSwgMTI4LCA4OSwgNzksIDQ1LCA4OSwgNjUsIDY5LCAxMjgsIDg5LCA3OSwgNDUsIDg5LCA2NSwgMTI4LCA4OSwgCisgICAgNzksIDQ1LCA3OSwgMTI4LCA4OSwgNzksIDQ1LCA3MywgMTI4LCA4OSwgNzksIDQ1LCA2OSwgNzksIDEyOCwgODksIDc5LCAKKyAgICA0NSwgNjUsIDY5LCAxMjgsIDg5LCA3OSwgNDUsIDY1LCAxMjgsIDg5LCA3OSwgMTI4LCA4OSwgMjA3LCA4OSwgNzMsIDkwLCAKKyAgICA2OSwgODQsIDEyOCwgODksIDczLCA4OCwgMTI4LCA4OSwgNzMsIDg3LCA3OCwgMTI4LCA4OSwgNzMsIDg0LCAxMjgsIDg5LCAKKyAgICA3MywgODAsIDEyOCwgODksIDczLCA3OCwgNzEsIDEyOCwgODksIDczLCA3MywgMTI4LCA4OSwgNzMsIDE5OSwgODksIDczLCAKKyAgICA2OSwgODgsIDEyOCwgODksIDczLCA2OSwgODQsIDEyOCwgODksIDczLCA2OSwgODAsIDEyOCwgODksIDczLCA2OSwgNjksIAorICAgIDEyOCwgODksIDczLCA2OSwgMTI4LCA4OSwgNzMsIDY4LCA2OCwgNzMsIDgzLCAyMDAsIDg5LCA3MywgNDUsIDg1LCAxMjgsIAorICAgIDg5LCA3MywgMTI4LCA4OSwgNzAsIDY5LCA4MywgNzMsIDgzLCAxMjgsIDg5LCA3MCwgNjksIDgzLCA3MywgMjExLCA4OSwgCisgICAgNzAsIDY5LCAyMDYsIDg5LCA2OSwgODksIDEyOCwgODksIDY5LCA4NywgMTI4LCA4OSwgNjksIDg1LCA4OCwgMTI4LCA4OSwgCisgICAgNjksIDg1LCA4MiwgNjUsIDY5LCAxMjgsIDg5LCA2OSwgODUsIDgxLCAxMjgsIDg5LCA2OSwgODUsIDc3LCAxMjgsIDg5LCAKKyAgICA2OSwgODUsIDY1LCA2OSwgODQsIDEyOCwgODksIDY5LCA4NSwgNjUsIDY5LCAxMjgsIDg5LCA2OSwgODQsIDczLCA4NiwgCisgICAgMTI4LCA4OSwgNjksIDgzLCA4NCwgODUsIDEyOCwgODksIDY5LCA4MywgNzMsIDY5LCA4NSwgNzgsIDcxLCA0NSwgODMsIDczLCAKKyAgICA3OSwgODMsIDEyOCwgODksIDY5LCA4MywgNzMsIDY5LCA4NSwgNzgsIDcxLCA0NSwgODAsIDY1LCA3OCwgODMsIDczLCA3OSwgCisgICAgODMsIDEyOCwgODksIDY5LCA4MywgNzMsIDY5LCA4NSwgNzgsIDcxLCA0NSwgNzcsIDczLCA2OSwgODUsIDc3LCAxMjgsIDg5LCAKKyAgICA2OSwgODMsIDczLCA2OSwgODUsIDc4LCA3MSwgNDUsIDcyLCA3MywgNjksIDg1LCA3MiwgMTI4LCA4OSwgNjksIDgzLCA3MywgCisgICAgNjksIDg1LCA3OCwgNzEsIDEyOCwgODksIDY5LCA4MiwgODUsIDEyOCwgODksIDY5LCA4MiwgMjEzLCA4OSwgNjksIDgyLCAKKyAgICA3MywgMTI4LCA4OSwgNjksIDgyLCA2NSwgMjAwLCA4OSwgNjksIDgyLCAxMjgsIDg5LCA2OSwgNzksIDgyLCA3MywgNzgsIAorICAgIDcyLCA3MywgNjksIDg1LCA3MiwgMTI4LCA4OSwgNjksIDc5LCA0NSwgODksIDY1LCAxMjgsIDg5LCA2OSwgNzksIDQ1LCA4NSwgCisgICAgMTI4LCA4OSwgNjksIDc5LCA0NSwgNzksIDEyOCwgODksIDY5LCA3OCwgNzMsIDgzLCA2OSwgMjAxLCA4OSwgNjksIDc4LCAKKyAgICA2NSwgODAsIDEyOCwgODksIDY5LCA3OCwgMTI4LCA4OSwgNjksIDIwNiwgODksIDY5LCA3NiwgNzYsIDc5LCA4NywgMTI4LCAKKyAgICA4OSwgNjksIDc2LCA3NiwgNzksIDIxNSwgODksIDY5LCA3MywgNzgsIDEyOCwgODksIDY5LCA3MiwgMTI4LCA4OSwgNjksIAorICAgIDY5LCA3MSwgMTI4LCA4OSwgNjksIDY5LCAxMjgsIDg5LCA2OSwgNjUsIDIxMCwgODksIDY5LCA2NSwgMTI4LCA4OSwgNjUsIAorICAgIDkwLCA5MCwgMTI4LCA4OSwgNjUsIDkwLCA3MiwgMTI4LCA4OSwgNjUsIDkwLCAxMjgsIDg5LCA2NSwgODksIDY4LCAxMjgsIAorICAgIDg5LCA2NSwgODksIDY1LCA3OCwgNzgsIDY1LCAxMjgsIDg5LCA2NSwgODksIDEyOCwgODksIDY1LCA4NywgMTI4LCA4OSwgCisgICAgNjUsIDg2LCAxMjgsIDg5LCA2NSwgODUsIDEyOCwgODksIDY1LCA4NCwgODQsIDEyOCwgODksIDY1LCA4NCwgNzMsIDEyOCwgCisgICAgODksIDY1LCA4NCwgNzIsIDEyOCwgODksIDY1LCA4NCwgMTI4LCA4OSwgNjUsIDgzLCA4MywgMTI4LCA4OSwgNjUsIDgzLCAKKyAgICA3MiwgMTI4LCA4OSwgNjUsIDgzLCAxMjgsIDg5LCA2NSwgODIsIDgyLCAxMjgsIDg5LCA2NSwgODIsIDEyOCwgODksIDY1LCAKKyAgICAyMTAsIDg5LCA2NSwgODEsIDEyOCwgODksIDY1LCA4MCwgMTI4LCA4OSwgNjUsIDc4LCA4MywgNjUsIDg5LCA2NSwgMTI4LCAKKyAgICA4OSwgNjUsIDc4LCA3MSwgMTI4LCA4OSwgNjUsIDc4LCAxOTksIDg5LCA2NSwgNzgsIDEyOCwgODksIDY1LCA3NywgNzksIAorICAgIDc1LCAxMjgsIDg5LCA2NSwgNzcsIDY1LCA3NSwgNzUsIDY1LCA3OCwgMTI4LCA4OSwgNjUsIDc3LCAxMjgsIDg5LCA2NSwgCisgICAgNzYsIDEyOCwgODksIDY1LCA3NSwgNzIsIDcyLCAxMjgsIDg5LCA2NSwgNzUsIDcyLCAxMjgsIDg5LCA2NSwgNzUsIDY1LCAKKyAgICA4MywgNzIsIDEyOCwgODksIDY1LCA3NSwgMTI4LCA4OSwgNjUsIDc0LCA4NSwgODIsIDg2LCA2OSwgNjgsIDczLCAxOTUsIAorICAgIDg5LCA2NSwgNzQsIDEyOCwgODksIDY1LCA3MywgMTI4LCA4OSwgNjUsIDcyLCA3MiwgMTI4LCA4OSwgNjUsIDcyLCAxMjgsIAorICAgIDg5LCA2NSwgNzEsIDc4LCAxMjgsIDg5LCA2NSwgNzEsIDcyLCA3MiwgMTI4LCA4OSwgNjUsIDcxLCA3MiwgMTI4LCA4OSwgCisgICAgNjUsIDcxLCAxMjgsIDg5LCA2NSwgNzAsIDIxMywgODksIDY1LCA3MCwgMTI4LCA4OSwgNjUsIDY5LCA3NywgNzcsIDY1LCAKKyAgICA2OSwgMTI4LCA4OSwgNjUsIDY4LCA3MiwgMTI4LCA4OSwgNjUsIDY4LCA2OCwgNzIsIDEyOCwgODksIDY1LCA2OCwgNjgsIAorICAgIDEyOCwgODksIDY1LCA2OCwgMTI4LCA4OSwgNjUsIDY3LCA3MiwgMTI4LCA4OSwgNjUsIDY2LCA3MiwgMTI4LCA4OSwgNjUsIAorICAgIDY2LCAxMjgsIDg5LCA2NSwgNjUsIDgyLCA4NSwgMTI4LCA4OSwgNjUsIDY1LCA3MywgMTI4LCA4OSwgNjUsIDY1LCA2OCwgCisgICAgNzksIDEyOCwgODksIDY1LCA0NSwgODksIDc5LCAxMjgsIDg5LCA2NSwgNDUsIDg1LCAxMjgsIDg5LCA2NSwgNDUsIDc5LCAKKyAgICAxMjgsIDg5LCA0OCwgNDgsIDU2LCAxMjgsIDg5LCA0OCwgNDgsIDU1LCAxMjgsIDg5LCA0OCwgNDgsIDU0LCAxMjgsIDg5LCAKKyAgICA0OCwgNDgsIDUzLCAxMjgsIDg5LCA0OCwgNDgsIDUyLCAxMjgsIDg5LCA0OCwgNDgsIDUxLCAxMjgsIDg5LCA0OCwgNDgsIAorICAgIDUwLCAxMjgsIDg5LCA0OCwgNDgsIDQ5LCA2NSwgMTI4LCA4OSwgNDgsIDQ4LCA0OSwgMTI4LCA4OSwgNDUsIDY3LCA4MiwgCisgICAgNjksIDE5NywgODgsIDg5LCA4OCwgMTI4LCA4OCwgODksIDg1LCAxMjgsIDg4LCA4OSwgODQsIDEyOCwgODgsIDg5LCA4MiwgCisgICAgODgsIDEyOCwgODgsIDg5LCA4MiwgMTI4LCA4OCwgODksIDgwLCAxMjgsIDg4LCA4OSwgNzksIDc5LCA3NCwgMTI4LCA4OCwgCisgICAgODksIDc5LCA3OSwgMTI4LCA4OCwgODksIDc5LCAxMjgsIDg4LCA4OSwgNzMsIDEyOCwgODgsIDg5LCA2OSwgNjksIDIwNSwgCisgICAgODgsIDg5LCA2OSwgNjksIDEyOCwgODgsIDg5LCA2OSwgMTI4LCA4OCwgODksIDY1LCA2NSwgMTI4LCA4OCwgODksIDY1LCAKKyAgICAxMjgsIDg4LCA4OSwgMTI4LCA4OCwgODcsIDczLCAxMjgsIDg4LCA4NywgNjksIDY5LCAxMjgsIDg4LCA4NywgNjksIDEyOCwgCisgICAgODgsIDg3LCA2NSwgNjUsIDEyOCwgODgsIDg3LCA2NSwgMTI4LCA4OCwgODcsIDEyOCwgODgsIDg2LCA2OSwgMTI4LCA4OCwgCisgICAgODYsIDY1LCAxMjgsIDg4LCA4NSwgNzksIDg4LCAxMjgsIDg4LCA4NSwgNzksIDEyOCwgODgsIDg1LCAxMjgsIDg4LCA4MywgCisgICAgNzIsIDY1LCA2NSwgODksIDY1LCA4NCwgNzIsIDczLCA4OSwgNjUsIDEyOCwgODgsIDc5LCA4OCwgMTI4LCA4OCwgNzksIDg0LCAKKyAgICAxMjgsIDg4LCA3OSwgODIsIDEyOCwgODgsIDc5LCA4MCwgNzIsIDEyOCwgODgsIDc5LCA4MCwgMTI4LCA4OCwgNzksIDY1LCAKKyAgICAxMjgsIDg4LCA3OSwgMTI4LCA4OCwgNzMsIDg4LCAxMjgsIDg4LCA3MywgODQsIDEyOCwgODgsIDczLCA4MiwgNzksIDIwNiwgCisgICAgODgsIDczLCA4MCwgMTI4LCA4OCwgNzMsIDY5LCA4OCwgMTI4LCA4OCwgNzMsIDY5LCA4NCwgMTI4LCA4OCwgNzMsIDY5LCAKKyAgICA4MCwgMTI4LCA4OCwgNzMsIDY5LCAxMjgsIDg4LCA3MywgNjUsIDY2LCAxMjgsIDg4LCA3MywgMTI4LCA4OCwgNzEsIDEyOCwgCisgICAgODgsIDY5LCA4OSwgNzgsIDEyOCwgODgsIDY5LCA4MywgODQsIDY5LCAyMTEsIDg4LCA2OSwgNzIsIDEyOCwgODgsIDY5LCAKKyAgICA2OSwgMTI4LCA4OCwgNjksIDEyOCwgODgsIDY1LCA4NSwgODMsIDEyOCwgODgsIDY1LCA4NSwgMTI4LCA4OCwgNjUsIDgwLCAKKyAgICA3MiwgMTI4LCA4OCwgNjUsIDc4LCAxMjgsIDg4LCA2NSwgNjUsIDEyOCwgODgsIDY1LCAxMjgsIDg4LCA0OCwgNDgsIDU2LCAKKyAgICA2NSwgMTI4LCA4OCwgNDgsIDQ4LCA1NiwgMTI4LCA4OCwgNDgsIDQ4LCA1NSwgMTI4LCA4OCwgNDgsIDQ4LCA1NCwgNjUsIAorICAgIDEyOCwgODgsIDQ4LCA0OCwgNTQsIDEyOCwgODgsIDQ4LCA0OCwgNTMsIDEyOCwgODgsIDQ4LCA0OCwgNTIsIDY2LCAxMjgsIAorICAgIDg4LCA0OCwgNDgsIDUyLCA2NSwgMTI4LCA4OCwgNDgsIDQ4LCA1MiwgMTI4LCA4OCwgNDgsIDQ4LCA1MSwgMTI4LCA4OCwgCisgICAgNDgsIDQ4LCA1MCwgMTI4LCA4OCwgNDgsIDQ4LCA0OSwgMTI4LCA4OCwgNDUsIDIxNiwgODcsIDkwLCAxMjgsIDg3LCA4OSwgCisgICAgNzgsIDc4LCAxMjgsIDg3LCA4OSwgNzgsIDIwNiwgODcsIDg2LCA3MywgMTI4LCA4NywgODYsIDY5LCAxMjgsIDg3LCA4NiwgCisgICAgNjUsIDEyOCwgODcsIDg2LCAxMjgsIDg3LCA4NSwgODAsIDEyOCwgODcsIDg1LCA3OSwgODgsIDEyOCwgODcsIDg1LCA3OSwgCisgICAgODAsIDEyOCwgODcsIDg1LCA3OSwgMTI4LCA4NywgODUsIDc4LCA3NCwgMjA3LCA4NywgODUsIDc4LCAxMjgsIDg3LCA4NSwgCisgICAgNzYsIDg1LCAxMjgsIDg3LCA4NSwgNzYsIDIxMywgODcsIDg1LCA3MywgMTI4LCA4NywgODUsIDY5LCAxMjgsIDg3LCA4NSwgCisgICAgNjUsIDY5LCA4NCwgMTI4LCA4NywgODUsIDY1LCA2OSwgNzgsIDEyOCwgODcsIDg1LCAxMjgsIDg3LCA4MiwgMjE3LCA4NywgCisgICAgODIsIDc5LCA3OCwgNzEsIDEyOCwgODcsIDgyLCA3MywgODQsIDczLCA3OCwgMTk5LCA4NywgODIsIDY5LCA3OCwgNjcsIDcyLCAKKyAgICAxMjgsIDg3LCA4MiwgNjksIDY1LCA4NCwgMjAwLCA4NywgODIsIDY1LCA4MCwgODAsIDY5LCAxOTYsIDg3LCA4MiwgNjUsIAorICAgIDgwLCAxMjgsIDg3LCA3OSwgODgsIDEyOCwgODcsIDc5LCA4NywgMTI4LCA4NywgNzksIDgyLCA4MiwgNzMsIDY5LCAxOTYsIAorICAgIDg3LCA3OSwgODIsIDc2LCAxOTYsIDg3LCA3OSwgODIsIDc1LCA2OSwgODIsIDEyOCwgODcsIDc5LCA4MiwgNzUsIDEyOCwgCisgICAgODcsIDc5LCA4MiwgMjAzLCA4NywgNzksIDgyLCA2OCwgODMsIDgwLCA2NSwgNjcsIDY5LCAxMjgsIDg3LCA3OSwgODIsIAorICAgIDE5NiwgODcsIDc5LCA4MCwgMTI4LCA4NywgNzksIDc5LCA3OCwgMTI4LCA4NywgNzksIDc5LCA3NiwgMTI4LCA4NywgNzksIAorICAgIDc5LCA2OCwgODMsIDQ1LCA2NywgODIsIDY5LCAxOTcsIDg3LCA3OSwgNzksIDY4LCAxMjgsIDg3LCA3OSwgNzgsIDEyOCwgCisgICAgODcsIDc5LCAyMDYsIDg3LCA3OSwgNzcsIDY5LCA3OCwgMjExLCA4NywgNzksIDc3LCA2OSwgMjA2LCA4NywgNzksIDc3LCAKKyAgICA2NSwgNzgsIDIxMSwgODcsIDc5LCA3NywgNjUsIDc4LCAxMjgsIDg3LCA3OSwgNzcsIDY1LCAyMDYsIDg3LCA3OSwgNzYsIAorICAgIDc5LCA4MywgNzksIDEyOCwgODcsIDc5LCA3NiwgMTk4LCA4NywgNzksIDY5LCAxMjgsIDg3LCA3OSwgNjUsIDEyOCwgODcsIAorICAgIDczLCA4NCwgNzIsIDc5LCA4NSwgMjEyLCA4NywgNzMsIDg0LCA3MiwgNzMsIDc4LCAxMjgsIDg3LCA3MywgODQsIDcyLCA3MywgCisgICAgMjA2LCA4NywgNzMsIDgyLCA2OSwgMTk2LCA4NywgNzMsIDc4LCA4NCwgNjksIDgyLCAxMjgsIDg3LCA3MywgNzgsIDc1LCAKKyAgICA3MywgNzgsIDE5OSwgODcsIDczLCA3OCwgNzQsIDY1LCAxMjgsIDg3LCA3MywgNzgsIDcxLCA4MywgMTI4LCA4NywgNzMsIAorICAgIDc4LCA2OSwgMTI4LCA4NywgNzMsIDc4LCAxOTcsIDg3LCA3MywgNzgsIDY4LCA4NSwgMTI4LCA4NywgNzMsIDc4LCA2OCwgCisgICAgNzksIDg3LCAxMjgsIDg3LCA3MywgNzgsIDY4LCAxMjgsIDg3LCA3MywgNzgsIDE5NiwgODcsIDczLCA3OCwgMTI4LCA4NywgCiAgICAgNzMsIDcxLCA3OCwgODksIDY1LCA3OCwgMTI4LCA4NywgNzMsIDcxLCA3MSwgNzYsIDIxNywgODcsIDczLCA2OCwgNjksIDQ1LCAKICAgICA3MiwgNjksIDY1LCA2OCwgNjksIDE5NiwgODcsIDczLCA2OCwgMTk3LCA4NywgNzMsIDY1LCA3OCwgNzEsIDg3LCA2NSwgNjUsIAogICAgIDc1LCAxMjgsIDg3LCA3MywgNjUsIDc4LCA3MSwgMTI4LCA4NywgNzIsIDc5LCA3NiwgMTk3LCA4NywgNzIsIDczLCA4NCwgCiAgICAgNjksIDQ1LCA3MCwgNjksIDY1LCA4NCwgNzIsIDY5LCA4MiwgNjksIDE5NiwgODcsIDcyLCA3MywgODQsIDY5LCAxMjgsIDg3LCAKICAgICA3MiwgNjksIDY5LCA3NiwgNjksIDE5NiwgODcsIDcyLCA2OSwgNjksIDc2LCA2NywgNzIsIDY1LCA3MywgMjEwLCA4NywgNzIsIAogICAgIDY5LCA2OSwgNzYsIDEyOCwgODcsIDcyLCA2OSwgNjksIDIwNCwgODcsIDcyLCA2OSwgNjUsIDg0LCAxMjgsIDg3LCA3MiwgCi0gICAgNjUsIDc2LCA2OSwgMTI4LCA4NywgNzEsIDEyOCwgODcsIDY5LCA4OCwgMTI4LCA4NywgNjksIDg1LCA4OCwgMTI4LCA4NywgCi0gICAgNjksIDgzLCA4NCwgNjksIDgyLCAyMDYsIDg3LCA2OSwgODMsIDg0LCAxMjgsIDg3LCA2OSwgODMsIDIxMiwgODcsIDY5LCAKLSAgICA4MCwgMTI4LCA4NywgNjksIDc5LCAxMjgsIDg3LCA2OSwgNzgsIDEyOCwgODcsIDY5LCA3NiwgNzYsIDEyOCwgODcsIDY5LCAKLSAgICA3MywgNzEsIDcyLCAyMTIsIDg3LCA2OSwgNzMsIDY5LCA4MiwgODMsIDg0LCA4MiwgNjUsIDgzLCAyMTEsIDg3LCA2OSwgNjksIAotICAgIDc4LCAxMjgsIDg3LCA2OSwgNjgsIDcxLCA2OSwgNDUsIDg0LCA2NSwgNzMsIDc2LCA2OSwgMTk2LCA4NywgNjksIDY4LCA2OCwgCi0gICAgNzMsIDc4LCA3MSwgMTI4LCA4NywgNjksIDY1LCA4MiwgMjE3LCA4NywgNjksIDY1LCA4MCwgNzksIDc4LCAxMjgsIDg3LCAKLSAgICA2NywgMTI4LCA4NywgNjYsIDEyOCwgODcsIDY1LCA4OSwgMTI4LCA4NywgNjUsIDIxNywgODcsIDY1LCA4OCwgNzMsIDc4LCAKLSAgICAxOTksIDg3LCA2NSwgODgsIDEyOCwgODcsIDY1LCA4NywgNDUsIDY1LCA4OSwgNzMsIDc4LCA0NSwgODIsIDY5LCA4MywgNzIsIAotICAgIDEyOCwgODcsIDY1LCA4NywgMTI4LCA4NywgNjUsIDIxNSwgODcsIDY1LCA4NiwgMjE3LCA4NywgNjUsIDg2LCA3MywgNzgsIAotICAgIDE5OSwgODcsIDY1LCA4NiwgNjksIDgzLCAxMjgsIDg3LCA2NSwgODYsIDY5LCAxMjgsIDg3LCA2NSwgODYsIDE5NywgODcsIAotICAgIDY1LCA4NSwgMTI4LCA4NywgNjUsIDg0LCA4NCwgNzksIDEyOCwgODcsIDY1LCA4NCwgNjksIDgyLCA3NywgNjksIDc2LCA3OSwgCi0gICAgNzgsIDEyOCwgODcsIDY1LCA4NCwgNjksIDgyLCAxMjgsIDg3LCA2NSwgODQsIDY5LCAyMTAsIDg3LCA2NSwgODQsIDY3LCAKLSAgICA3MiwgMTI4LCA4NywgNjUsIDg0LCAxMjgsIDg3LCA2NSwgODMsIDg0LCA3MywgNzgsIDcxLCAxMjgsIDg3LCA2NSwgODMsIAotICAgIDgzLCA2NSwgNzYsIDc2LCA2NSwgNzcsIDEyOCwgODcsIDY1LCA4MywgNzYsIDY1LCAxMjgsIDg3LCA2NSwgODMsIDc2LCAKLSAgICAxOTMsIDg3LCA2NSwgODMsIDY1LCA3NiwgNzYsIDY1LCA3NywgMTI4LCA4NywgNjUsIDgzLCA2NSwgNzYsIDc2LCA2NSwgCi0gICAgMjA1LCA4NywgNjUsIDgyLCA3OCwgNzMsIDc4LCAxOTksIDg3LCA2NSwgODAsIDEyOCwgODcsIDY1LCA3OCwgNzMsIDc4LCAKLSAgICAxOTksIDg3LCA2NSwgNzgsIDcxLCA3NSwgODUsIDc5LCA4MSwgMTI4LCA4NywgNjUsIDc4LCA2OCwgNjksIDgyLCA2OSwgODIsIAotICAgIDEyOCwgODcsIDY1LCA3OCwgMTI4LCA4NywgNjUsIDc2LCA3NiwgMTI4LCA4NywgNjUsIDc2LCA3NSwgMTI4LCA4NywgNjUsIAotICAgIDc2LCAyMDMsIDg3LCA2NSwgNzMsIDg0LCA3MywgNzgsIDcxLCAxMjgsIDg3LCA2NSwgNzMsIDEyOCwgODcsIDY1LCA2OSwgCi0gICAgNzgsIDEyOCwgODcsIDY1LCA2OSwgMTI4LCA4NywgNjUsIDY1LCA4NiwgODUsIDEyOCwgODcsIDQ4LCA1MCwgNTMsIDEyOCwgCi0gICAgODcsIDQ4LCA1MCwgNTIsIDY1LCAxMjgsIDg3LCA0OCwgNTAsIDUyLCAxMjgsIDg3LCA0OCwgNTAsIDUxLCAxMjgsIDg3LCAKLSAgICA0OCwgNTAsIDUwLCAxMjgsIDg3LCA0OCwgNTAsIDQ5LCAxMjgsIDg3LCA0OCwgNTAsIDQ4LCAxMjgsIDg3LCA0OCwgNDksIAotICAgIDU3LCAxMjgsIDg3LCA0OCwgNDksIDU2LCA2NSwgMTI4LCA4NywgNDgsIDQ5LCA1NiwgMTI4LCA4NywgNDgsIDQ5LCA1NSwgCi0gICAgNjUsIDEyOCwgODcsIDQ4LCA0OSwgNTUsIDEyOCwgODcsIDQ4LCA0OSwgNTQsIDEyOCwgODcsIDQ4LCA0OSwgNTMsIDEyOCwgCi0gICAgODcsIDQ4LCA0OSwgNTIsIDY1LCAxMjgsIDg3LCA0OCwgNDksIDUyLCAxMjgsIDg3LCA0OCwgNDksIDUxLCAxMjgsIDg3LCAKLSAgICA0OCwgNDksIDUwLCAxMjgsIDg3LCA0OCwgNDksIDQ5LCAxMjgsIDg3LCA0OCwgNDksIDQ4LCA2NSwgMTI4LCA4NywgNDgsIAotICAgIDQ5LCA0OCwgMTI4LCA4NywgNDgsIDQ4LCA1NywgNjUsIDEyOCwgODcsIDQ4LCA0OCwgNTcsIDEyOCwgODcsIDQ4LCA0OCwgCi0gICAgNTYsIDEyOCwgODcsIDQ4LCA0OCwgNTUsIDEyOCwgODcsIDQ4LCA0OCwgNTQsIDEyOCwgODcsIDQ4LCA0OCwgNTMsIDEyOCwgCi0gICAgODcsIDQ4LCA0OCwgNTIsIDEyOCwgODcsIDQ4LCA0OCwgNTEsIDY1LCAxMjgsIDg3LCA0OCwgNDgsIDUxLCAxMjgsIDg3LCAKLSAgICA0OCwgNDgsIDUwLCAxMjgsIDg3LCA0OCwgNDgsIDQ5LCAxMjgsIDg2LCA5MCwgNzcsIDY5LCA4NCwgMTI4LCA4NiwgODksIAotICAgIDg4LCAxMjgsIDg2LCA4OSwgODQsIDEyOCwgODYsIDg5LCA4MiwgODgsIDEyOCwgODYsIDg5LCA4MiwgMTI4LCA4NiwgODksIAotICAgIDgwLCAxMjgsIDg2LCA4OSwgMTI4LCA4NiwgODcsIDY1LCAxMjgsIDg2LCA4NSwgODgsIDEyOCwgODYsIDg1LCA4NSwgMTI4LCAKKyAgICA2NSwgNzYsIDY5LCAxMjgsIDg3LCA3MiwgMTI4LCA4NywgNzEsIDEyOCwgODcsIDY5LCA4OCwgMTI4LCA4NywgNjksIDg1LCAKKyAgICA4OCwgMTI4LCA4NywgNjksIDgzLCA4NCwgNjksIDgyLCAyMDYsIDg3LCA2OSwgODMsIDg0LCAxMjgsIDg3LCA2OSwgODMsIAorICAgIDIxMiwgODcsIDY5LCA4MCwgMTI4LCA4NywgNjksIDc5LCAxMjgsIDg3LCA2OSwgNzgsIDEyOCwgODcsIDY5LCA3NiwgNzYsIAorICAgIDEyOCwgODcsIDY5LCA3MywgNzEsIDcyLCAyMTIsIDg3LCA2OSwgNzMsIDY5LCA4MiwgODMsIDg0LCA4MiwgNjUsIDgzLCAKKyAgICAyMTEsIDg3LCA2OSwgNzMsIDEyOCwgODcsIDY5LCA2OSwgNzgsIDEyOCwgODcsIDY5LCA2OCwgNzEsIDY5LCA0NSwgODQsIAorICAgIDY1LCA3MywgNzYsIDY5LCAxOTYsIDg3LCA2OSwgNjgsIDY4LCA3MywgNzgsIDcxLCAxMjgsIDg3LCA2OSwgNjYsIDEyOCwgCisgICAgODcsIDY5LCA2NSwgODIsIDIxNywgODcsIDY5LCA2NSwgODAsIDc5LCA3OCwgMTI4LCA4NywgNjcsIDEyOCwgODcsIDY2LCAKKyAgICAxMjgsIDg3LCA2NSwgODksIDEyOCwgODcsIDY1LCAyMTcsIDg3LCA2NSwgODgsIDczLCA3OCwgMTk5LCA4NywgNjUsIDg4LCAKKyAgICAxMjgsIDg3LCA2NSwgODcsIDQ1LCA2NSwgODksIDczLCA3OCwgNDUsIDgyLCA2OSwgODMsIDcyLCAxMjgsIDg3LCA2NSwgODcsIAorICAgIDEyOCwgODcsIDY1LCAyMTUsIDg3LCA2NSwgODYsIDIxNywgODcsIDY1LCA4NiwgNzMsIDc4LCAxOTksIDg3LCA2NSwgODYsIAorICAgIDY5LCA4MywgMTI4LCA4NywgNjUsIDg2LCA2OSwgMTI4LCA4NywgNjUsIDg2LCAxOTcsIDg3LCA2NSwgODUsIDEyOCwgODcsIAorICAgIDY1LCA4NCwgODQsIDc5LCAxMjgsIDg3LCA2NSwgODQsIDY5LCA4MiwgNzcsIDY5LCA3NiwgNzksIDc4LCAxMjgsIDg3LCA2NSwgCisgICAgODQsIDY5LCA4MiwgMTI4LCA4NywgNjUsIDg0LCA2OSwgMjEwLCA4NywgNjUsIDg0LCA2NywgNzIsIDEyOCwgODcsIDY1LCAKKyAgICA4NCwgMTI4LCA4NywgNjUsIDgzLCA4NCwgNzMsIDc4LCA3MSwgMTI4LCA4NywgNjUsIDgzLCA4NCwgNjksIDY2LCA2NSwgODMsIAorICAgIDc1LCA2OSwgODQsIDEyOCwgODcsIDY1LCA4MywgODMsIDY1LCA3NiwgNzYsIDY1LCA3NywgMTI4LCA4NywgNjUsIDgzLCA3NiwgCisgICAgNjUsIDEyOCwgODcsIDY1LCA4MywgNzYsIDE5MywgODcsIDY1LCA4MywgNjUsIDc2LCA3NiwgNjUsIDc3LCAxMjgsIDg3LCAKKyAgICA2NSwgODMsIDY1LCA3NiwgNzYsIDY1LCAyMDUsIDg3LCA2NSwgODIsIDc4LCA3MywgNzgsIDE5OSwgODcsIDY1LCA4MCwgCisgICAgMTI4LCA4NywgNjUsIDc4LCA3MywgNzgsIDE5OSwgODcsIDY1LCA3OCwgNzEsIDc1LCA4NSwgNzksIDgxLCAxMjgsIDg3LCAKKyAgICA2NSwgNzgsIDY4LCA2OSwgODIsIDY5LCA4MiwgMTI4LCA4NywgNjUsIDc4LCAxMjgsIDg3LCA2NSwgNzYsIDc2LCAxMjgsIAorICAgIDg3LCA2NSwgNzYsIDc1LCAxMjgsIDg3LCA2NSwgNzYsIDIwMywgODcsIDY1LCA3MywgODQsIDczLCA3OCwgNzEsIDEyOCwgCisgICAgODcsIDY1LCA3MywgMTI4LCA4NywgNjUsIDY5LCA3OCwgMTI4LCA4NywgNjUsIDY5LCAxMjgsIDg3LCA2NSwgNjgsIDY4LCAKKyAgICA2NSwgMTI4LCA4NywgNjUsIDY1LCA4NiwgODUsIDEyOCwgODcsIDQ4LCA1MCwgNTMsIDEyOCwgODcsIDQ4LCA1MCwgNTIsIAorICAgIDY1LCAxMjgsIDg3LCA0OCwgNTAsIDUyLCAxMjgsIDg3LCA0OCwgNTAsIDUxLCAxMjgsIDg3LCA0OCwgNTAsIDUwLCAxMjgsIAorICAgIDg3LCA0OCwgNTAsIDQ5LCAxMjgsIDg3LCA0OCwgNTAsIDQ4LCAxMjgsIDg3LCA0OCwgNDksIDU3LCAxMjgsIDg3LCA0OCwgCisgICAgNDksIDU2LCA2NSwgMTI4LCA4NywgNDgsIDQ5LCA1NiwgMTI4LCA4NywgNDgsIDQ5LCA1NSwgNjUsIDEyOCwgODcsIDQ4LCAKKyAgICA0OSwgNTUsIDEyOCwgODcsIDQ4LCA0OSwgNTQsIDEyOCwgODcsIDQ4LCA0OSwgNTMsIDEyOCwgODcsIDQ4LCA0OSwgNTIsIAorICAgIDY1LCAxMjgsIDg3LCA0OCwgNDksIDUyLCAxMjgsIDg3LCA0OCwgNDksIDUxLCAxMjgsIDg3LCA0OCwgNDksIDUwLCAxMjgsIAorICAgIDg3LCA0OCwgNDksIDQ5LCAxMjgsIDg3LCA0OCwgNDksIDQ4LCA2NSwgMTI4LCA4NywgNDgsIDQ5LCA0OCwgMTI4LCA4NywgCisgICAgNDgsIDQ4LCA1NywgNjUsIDEyOCwgODcsIDQ4LCA0OCwgNTcsIDEyOCwgODcsIDQ4LCA0OCwgNTYsIDEyOCwgODcsIDQ4LCAKKyAgICA0OCwgNTUsIDEyOCwgODcsIDQ4LCA0OCwgNTQsIDEyOCwgODcsIDQ4LCA0OCwgNTMsIDEyOCwgODcsIDQ4LCA0OCwgNTIsIAorICAgIDEyOCwgODcsIDQ4LCA0OCwgNTEsIDY1LCAxMjgsIDg3LCA0OCwgNDgsIDUxLCAxMjgsIDg3LCA0OCwgNDgsIDUwLCAxMjgsIAorICAgIDg3LCA0OCwgNDgsIDQ5LCAxMjgsIDg2LCA5MCwgNzcsIDY5LCA4NCwgMTI4LCA4NiwgODksIDg4LCAxMjgsIDg2LCA4OSwgCisgICAgODQsIDEyOCwgODYsIDg5LCA4MiwgODgsIDEyOCwgODYsIDg5LCA4MiwgMTI4LCA4NiwgODksIDgwLCAxMjgsIDg2LCA4OSwgCisgICAgMTI4LCA4NiwgODcsIDc0LCAxMjgsIDg2LCA4NywgNjUsIDEyOCwgODYsIDg1LCA4OCwgMTI4LCA4NiwgODUsIDg1LCAxMjgsIAogICAgIDg2LCA4NSwgODQsIDEyOCwgODYsIDg1LCA4MiwgODgsIDEyOCwgODYsIDg1LCA4MiwgMTI4LCA4NiwgODUsIDgwLCAxMjgsIAogICAgIDg2LCA4NSwgNzYsIDcxLCA2NSwgMjEwLCA4NiwgODUsIDY5LCA4MSwgMTI4LCA4NiwgODQsIDgzLCAxMjgsIDg2LCA4NCwgCiAgICAgMTI4LCA4NiwgODMsIDU3LCA1NywgMTI4LCA4NiwgODMsIDU3LCA1NiwgMTI4LCA4NiwgODMsIDU3LCA1NSwgMTI4LCA4NiwgCkBAIC0zNDcsMjMyICszNTcsMjUwIEBACiAgICAgNDgsIDQ5LCAxMjgsIDg2LCA4MywgNDksIDQ4LCA0OCwgMTI4LCA4NiwgODMsIDQ5LCA0OCwgMTI4LCA4NiwgODMsIDQ5LCAKICAgICAxMjgsIDg2LCA4MywgMTI4LCA4NiwgODIsIDY1LCA2NywgNzIsIDg5LCAxMjgsIDg2LCA3OSwgODgsIDEyOCwgODYsIDc5LCAKICAgICA4NywgNjksIDc2LCA0NSwgNjcsIDY1LCA4MiwgODIsIDczLCA2OSwgMjEwLCA4NiwgNzksIDg3LCAxMjgsIDg2LCA3OSwgODUsIAotICAgIDEyOCwgODYsIDc5LCA4NCwgMTI4LCA4NiwgNzksIDgwLCAxMjgsIDg2LCA3OSwgNzksIDEyOCwgODYsIDc5LCA3NywgMTI4LCAKLSAgICA4NiwgNzksIDc2LCA4NSwgNzcsIDE5NywgODYsIDc5LCA3NiwgODQsIDY1LCA3MSwgMTk3LCA4NiwgNzksIDc2LCA2NywgNjUsIAotICAgIDc4LCA3OSwgMTI4LCA4NiwgNzksIDczLCAxOTYsIDg2LCA3OSwgNzMsIDY3LCA3MywgNzgsIDcxLCAxMjgsIDg2LCA3OSwgCi0gICAgNzMsIDY3LCA2OSwgNzYsIDY5LCA4MywgMjExLCA4NiwgNzksIDczLCA2NywgNjksIDE5NiwgODYsIDc5LCA2NywgNjUsIDc2LCAKLSAgICA3MywgOTAsIDY1LCA4NCwgNzMsIDc5LCAyMDYsIDg2LCA3OSwgNjcsIDY1LCAyMDQsIDg2LCA3OSwgMTI4LCA4NiwgNzMsIAotICAgIDg4LCAxMjgsIDg2LCA3MywgODQsIDgyLCA3MywgNzksIDc2LCA0NSwgNTAsIDEyOCwgODYsIDczLCA4NCwgODIsIDczLCA3OSwgCi0gICAgNzYsIDEyOCwgODYsIDczLCA4NCwgNjUsIDY5LCA0NSwgNTAsIDEyOCwgODYsIDczLCA4NCwgNjUsIDY5LCAxMjgsIDg2LCAKLSAgICA3MywgODQsIDEyOCwgODYsIDczLCA4MywgNzMsIDcxLCA3OSwgODQsIDcyLCA3MywgMTk1LCA4NiwgNzMsIDgzLCA2NSwgODIsIAotICAgIDcxLCA2NSwgODksIDY1LCAxMjgsIDg2LCA3MywgODMsIDY1LCA4MiwgNzEsIDY1LCAxMjgsIDg2LCA3MywgODMsIDY1LCA4MiwgCi0gICAgNzEsIDE5MywgODYsIDczLCA4MiwgNzMsIDY1LCA3NywgMTI4LCA4NiwgNzMsIDgyLCA3MSwgNzksIDEyOCwgODYsIDczLCAKLSAgICA4MiwgNzEsIDY1LCAxMjgsIDg2LCA3MywgODIsIDY1LCA3NywgNjUsIDEyOCwgODYsIDczLCA4MCwgMTI4LCA4NiwgNzMsIAotICAgIDc5LCA3NiwgNzMsIDc4LCAxMjgsIDg2LCA3MywgNzgsIDY5LCA3MSwgNjUsIDgyLCA0NSwgNTEsIDEyOCwgODYsIDczLCA3OCwgCi0gICAgNjksIDcxLCA2NSwgODIsIDQ1LCA1MCwgMTI4LCA4NiwgNzMsIDc4LCA2OSwgNzEsIDY1LCA4MiwgMTI4LCA4NiwgNzMsIDc4LCAKLSAgICA2OSwgNzEsIDY1LCAyMTAsIDg2LCA3MywgNzgsIDY5LCAxMjgsIDg2LCA3MywgNzgsIDEyOCwgODYsIDczLCA3NiwgNzYsIAotICAgIDY1LCA3MSwgNjksIDEyOCwgODYsIDczLCA3MywgMTI4LCA4NiwgNzMsIDY5LCA4OCwgMTI4LCA4NiwgNzMsIDY5LCA4NywgCi0gICAgNzMsIDc4LCAxOTksIDg2LCA3MywgNjksIDg3LCA2OCwgNjUsIDg0LCAxOTMsIDg2LCA3MywgNjksIDg0LCAxMjgsIDg2LCAKLSAgICA3MywgNjksIDgwLCAxMjgsIDg2LCA3MywgNjksIDEyOCwgODYsIDczLCA2OCwgNzQsIDQ1LCA1MCwgMTI4LCA4NiwgNzMsIAotICAgIDY4LCA3NCwgMTI4LCA4NiwgNzMsIDY4LCA2OSwgNzksIDY3LCA2NSwgODMsIDgzLCA2OSwgODQsIDg0LCA2OSwgMTI4LCA4NiwgCi0gICAgNzMsIDY4LCA2OSwgMjA3LCA4NiwgNzMsIDY4LCA2NSwgMTI4LCA4NiwgNzMsIDY3LCA4NCwgNzksIDgyLCAyMTcsIDg2LCAKLSAgICA3MywgNjYsIDgyLCA2NSwgODQsIDczLCA3OSwgMjA2LCA4NiwgNzMsIDEyOCwgODYsIDcwLCA2NSwgMTI4LCA4NiwgNjksIAotICAgIDg4LCAxMjgsIDg2LCA2OSwgODcsIDEyOCwgODYsIDY5LCAyMTUsIDg2LCA2OSwgODUsIDg4LCAxMjgsIDg2LCA2OSwgODUsIAotICAgIDc3LCAxMjgsIDg2LCA2OSwgODUsIDY1LCA2OSwgODAsIDY5LCA3OCwgMTI4LCA4NiwgNjksIDg1LCA2NSwgNjksIDEyOCwgCi0gICAgODYsIDY5LCA4MywgODQsIDY1LCAxMjgsIDg2LCA2OSwgODMsIDgzLCA2OSwgMjA0LCA4NiwgNjksIDgyLCAyMTcsIDg2LCAKLSAgICA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCA3NiwgNzYsIDg5LCAxMjgsIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCA3NiwgCi0gICAgNzYsIDIxNywgODYsIDY5LCA4MiwgODQsIDczLCA2NywgNjUsIDc2LCA0NSwgNDgsIDU0LCA0NSwgNDgsIDU0LCAxMjgsIDg2LCAKLSAgICA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCA3NiwgNDUsIDQ4LCA1NCwgNDUsIDQ4LCA1MywgMTI4LCA4NiwgNjksIDgyLCA4NCwgCi0gICAgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgNTQsIDQ1LCA0OCwgNTIsIDEyOCwgODYsIDY5LCA4MiwgODQsIDczLCA2NywgNjUsIAotICAgIDc2LCA0NSwgNDgsIDU0LCA0NSwgNDgsIDUxLCAxMjgsIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCA3NiwgNDUsIDQ4LCAKLSAgICA1NCwgNDUsIDQ4LCA1MCwgMTI4LCA4NiwgNjksIDgyLCA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgNTQsIDQ1LCA0OCwgCi0gICAgNDksIDEyOCwgODYsIDY5LCA4MiwgODQsIDczLCA2NywgNjUsIDc2LCA0NSwgNDgsIDU0LCA0NSwgNDgsIDQ4LCAxMjgsIDg2LCAKLSAgICA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCA3NiwgNDUsIDQ4LCA1MywgNDUsIDQ4LCA1NCwgMTI4LCA4NiwgNjksIDgyLCA4NCwgCi0gICAgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgNTMsIDQ1LCA0OCwgNTMsIDEyOCwgODYsIDY5LCA4MiwgODQsIDczLCA2NywgNjUsIAotICAgIDc2LCA0NSwgNDgsIDUzLCA0NSwgNDgsIDUyLCAxMjgsIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCA3NiwgNDUsIDQ4LCAKLSAgICA1MywgNDUsIDQ4LCA1MSwgMTI4LCA4NiwgNjksIDgyLCA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgNTMsIDQ1LCA0OCwgCi0gICAgNTAsIDEyOCwgODYsIDY5LCA4MiwgODQsIDczLCA2NywgNjUsIDc2LCA0NSwgNDgsIDUzLCA0NSwgNDgsIDQ5LCAxMjgsIDg2LCAKLSAgICA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCA3NiwgNDUsIDQ4LCA1MywgNDUsIDQ4LCA0OCwgMTI4LCA4NiwgNjksIDgyLCA4NCwgCi0gICAgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgNTIsIDQ1LCA0OCwgNTQsIDEyOCwgODYsIDY5LCA4MiwgODQsIDczLCA2NywgNjUsIAotICAgIDc2LCA0NSwgNDgsIDUyLCA0NSwgNDgsIDUzLCAxMjgsIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCA3NiwgNDUsIDQ4LCAKLSAgICA1MiwgNDUsIDQ4LCA1MiwgMTI4LCA4NiwgNjksIDgyLCA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgNTIsIDQ1LCA0OCwgCi0gICAgNTEsIDEyOCwgODYsIDY5LCA4MiwgODQsIDczLCA2NywgNjUsIDc2LCA0NSwgNDgsIDUyLCA0NSwgNDgsIDUwLCAxMjgsIDg2LCAKLSAgICA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCA3NiwgNDUsIDQ4LCA1MiwgNDUsIDQ4LCA0OSwgMTI4LCA4NiwgNjksIDgyLCA4NCwgCi0gICAgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgNTIsIDQ1LCA0OCwgNDgsIDEyOCwgODYsIDY5LCA4MiwgODQsIDczLCA2NywgNjUsIAotICAgIDc2LCA0NSwgNDgsIDUxLCA0NSwgNDgsIDU0LCAxMjgsIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCA3NiwgNDUsIDQ4LCAKLSAgICA1MSwgNDUsIDQ4LCA1MywgMTI4LCA4NiwgNjksIDgyLCA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgNTEsIDQ1LCA0OCwgCi0gICAgNTIsIDEyOCwgODYsIDY5LCA4MiwgODQsIDczLCA2NywgNjUsIDc2LCA0NSwgNDgsIDUxLCA0NSwgNDgsIDUxLCAxMjgsIDg2LCAKLSAgICA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCA3NiwgNDUsIDQ4LCA1MSwgNDUsIDQ4LCA1MCwgMTI4LCA4NiwgNjksIDgyLCA4NCwgCi0gICAgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgNTEsIDQ1LCA0OCwgNDksIDEyOCwgODYsIDY5LCA4MiwgODQsIDczLCA2NywgNjUsIAotICAgIDc2LCA0NSwgNDgsIDUxLCA0NSwgNDgsIDQ4LCAxMjgsIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCA3NiwgNDUsIDQ4LCAKLSAgICA1MCwgNDUsIDQ4LCA1NCwgMTI4LCA4NiwgNjksIDgyLCA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgNTAsIDQ1LCA0OCwgCi0gICAgNTMsIDEyOCwgODYsIDY5LCA4MiwgODQsIDczLCA2NywgNjUsIDc2LCA0NSwgNDgsIDUwLCA0NSwgNDgsIDUyLCAxMjgsIDg2LCAKLSAgICA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCA3NiwgNDUsIDQ4LCA1MCwgNDUsIDQ4LCA1MSwgMTI4LCA4NiwgNjksIDgyLCA4NCwgCi0gICAgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgNTAsIDQ1LCA0OCwgNTAsIDEyOCwgODYsIDY5LCA4MiwgODQsIDczLCA2NywgNjUsIAotICAgIDc2LCA0NSwgNDgsIDUwLCA0NSwgNDgsIDQ5LCAxMjgsIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCA3NiwgNDUsIDQ4LCAKLSAgICA1MCwgNDUsIDQ4LCA0OCwgMTI4LCA4NiwgNjksIDgyLCA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgNDksIDQ1LCA0OCwgCi0gICAgNTQsIDEyOCwgODYsIDY5LCA4MiwgODQsIDczLCA2NywgNjUsIDc2LCA0NSwgNDgsIDQ5LCA0NSwgNDgsIDUzLCAxMjgsIDg2LCAKLSAgICA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCA3NiwgNDUsIDQ4LCA0OSwgNDUsIDQ4LCA1MiwgMTI4LCA4NiwgNjksIDgyLCA4NCwgCi0gICAgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgNDksIDQ1LCA0OCwgNTEsIDEyOCwgODYsIDY5LCA4MiwgODQsIDczLCA2NywgNjUsIAotICAgIDc2LCA0NSwgNDgsIDQ5LCA0NSwgNDgsIDUwLCAxMjgsIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCA3NiwgNDUsIDQ4LCAKLSAgICA0OSwgNDUsIDQ4LCA0OSwgMTI4LCA4NiwgNjksIDgyLCA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgNDksIDQ1LCA0OCwgCi0gICAgNDgsIDEyOCwgODYsIDY5LCA4MiwgODQsIDczLCA2NywgNjUsIDc2LCA0NSwgNDgsIDQ4LCA0NSwgNDgsIDU0LCAxMjgsIDg2LCAKLSAgICA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCA3NiwgNDUsIDQ4LCA0OCwgNDUsIDQ4LCA1MywgMTI4LCA4NiwgNjksIDgyLCA4NCwgCi0gICAgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgNDgsIDQ1LCA0OCwgNTIsIDEyOCwgODYsIDY5LCA4MiwgODQsIDczLCA2NywgNjUsIAotICAgIDc2LCA0NSwgNDgsIDQ4LCA0NSwgNDgsIDUxLCAxMjgsIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCA3NiwgNDUsIDQ4LCAKLSAgICA0OCwgNDUsIDQ4LCA1MCwgMTI4LCA4NiwgNjksIDgyLCA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgNDgsIDQ1LCA0OCwgCi0gICAgNDksIDEyOCwgODYsIDY5LCA4MiwgODQsIDczLCA2NywgNjUsIDc2LCA0NSwgNDgsIDQ4LCA0NSwgNDgsIDQ4LCAxMjgsIDg2LCAKLSAgICA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCA3NiwgMTI4LCA4NiwgNjksIDgyLCA4MywgNzMsIDY3LCA3NiwgNjksIDEyOCwgODYsIAotICAgIDY5LCA4MiwgODMsIDE5NywgODYsIDY5LCA4MiwgNzEsIDY5LCAxMjgsIDg2LCA2OSwgODIsIDY4LCA3MywgNzEsIDgyLCA3MywgCi0gICAgODMsIDEyOCwgODYsIDY5LCA4MCwgMTI4LCA4NiwgNjksIDc4LCA2OCwgMTI4LCA4NiwgNjksIDczLCA3NiwgMTI4LCA4NiwgCisgICAgMTI4LCA4NiwgNzksIDg0LCAxMjgsIDg2LCA3OSwgMjExLCA4NiwgNzksIDgwLCAxMjgsIDg2LCA3OSwgNzksIDczLCAxMjgsIAorICAgIDg2LCA3OSwgNzksIDEyOCwgODYsIDc5LCA3NywgMTI4LCA4NiwgNzksIDc2LCA4NSwgNzcsIDE5NywgODYsIDc5LCA3NiwgCisgICAgODQsIDY1LCA3MSwgMTk3LCA4NiwgNzksIDc2LCA2NywgNjUsIDc4LCA3OSwgMTI4LCA4NiwgNzksIDc2LCA2NSwgODAsIDg1LCAKKyAgICAyMDMsIDg2LCA3OSwgNzMsIDE5NiwgODYsIDc5LCA3MywgNjcsIDczLCA3OCwgNzEsIDEyOCwgODYsIDc5LCA3MywgNjcsIAorICAgIDY5LCA3NiwgNjksIDgzLCAyMTEsIDg2LCA3OSwgNzMsIDY3LCA2OSwgMTk2LCA4NiwgNzksIDY3LCA2NSwgNzYsIDczLCA5MCwgCisgICAgNjUsIDg0LCA3MywgNzksIDIwNiwgODYsIDc5LCA2NywgNjUsIDIwNCwgODYsIDc5LCAxMjgsIDg2LCA3MywgODksIDc5LCAKKyAgICAxMjgsIDg2LCA3MywgODgsIDEyOCwgODYsIDczLCA4NCwgODIsIDczLCA3OSwgNzYsIDQ1LCA1MCwgMTI4LCA4NiwgNzMsIAorICAgIDg0LCA4MiwgNzMsIDc5LCA3NiwgMTI4LCA4NiwgNzMsIDg0LCA2NSwgNjksIDQ1LCA1MCwgMTI4LCA4NiwgNzMsIDg0LCA2NSwgCisgICAgNjksIDEyOCwgODYsIDczLCA4NCwgMTI4LCA4NiwgNzMsIDgzLCA3MywgNzEsIDc5LCA4NCwgNzIsIDczLCAxOTUsIDg2LCAKKyAgICA3MywgODMsIDY1LCA4MiwgNzEsIDY1LCA4OSwgNjUsIDEyOCwgODYsIDczLCA4MywgNjUsIDgyLCA3MSwgNjUsIDEyOCwgODYsIAorICAgIDczLCA4MywgNjUsIDgyLCA3MSwgMTkzLCA4NiwgNzMsIDgyLCA3MywgNjUsIDc3LCAxMjgsIDg2LCA3MywgODIsIDcxLCA3OSwgCisgICAgMTI4LCA4NiwgNzMsIDgyLCA3MSwgNjUsIDEyOCwgODYsIDczLCA4MiwgNjUsIDc3LCA2NSwgMTI4LCA4NiwgNzMsIDgwLCAKKyAgICAxMjgsIDg2LCA3MywgNzksIDc2LCA3MywgNzgsIDEyOCwgODYsIDczLCA3OCwgNjksIDcxLCA2NSwgODIsIDQ1LCA1MSwgCisgICAgMTI4LCA4NiwgNzMsIDc4LCA2OSwgNzEsIDY1LCA4MiwgNDUsIDUwLCAxMjgsIDg2LCA3MywgNzgsIDY5LCA3MSwgNjUsIDgyLCAKKyAgICAxMjgsIDg2LCA3MywgNzgsIDY5LCA3MSwgNjUsIDIxMCwgODYsIDczLCA3OCwgNjksIDEyOCwgODYsIDczLCA3OCwgMTk3LCAKKyAgICA4NiwgNzMsIDc4LCAxMjgsIDg2LCA3MywgNzYsIDc2LCA2NSwgNzEsIDY5LCAxMjgsIDg2LCA3MywgNzMsIDEyOCwgODYsIAorICAgIDczLCA2OSwgODgsIDEyOCwgODYsIDczLCA2OSwgODcsIDczLCA3OCwgMTk5LCA4NiwgNzMsIDY5LCA4NywgNjgsIDY1LCA4NCwgCisgICAgMTkzLCA4NiwgNzMsIDY5LCA4NCwgMTI4LCA4NiwgNzMsIDY5LCAyMTIsIDg2LCA3MywgNjksIDgwLCAxMjgsIDg2LCA3MywgCisgICAgNjksIDEyOCwgODYsIDczLCA2OCwgNzQsIDQ1LCA1MCwgMTI4LCA4NiwgNzMsIDY4LCA3NCwgMTI4LCA4NiwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDY3LCA2NSwgODMsIDgzLCA2OSwgODQsIDg0LCA2OSwgMTI4LCA4NiwgNzMsIDY4LCA2OSwgMjA3LCA4NiwgNzMsIAorICAgIDY4LCA2NSwgMTI4LCA4NiwgNzMsIDY3LCA4NCwgNzksIDgyLCAyMTcsIDg2LCA3MywgNjYsIDgyLCA2NSwgODQsIDczLCA3OSwgCisgICAgMjA2LCA4NiwgNzAsIDY1LCAxMjgsIDg2LCA2OSwgODksIDkwLCAxMjgsIDg2LCA2OSwgODgsIDEyOCwgODYsIDY5LCA4NywgCisgICAgMTI4LCA4NiwgNjksIDIxNSwgODYsIDY5LCA4NSwgODgsIDEyOCwgODYsIDY5LCA4NSwgNzcsIDEyOCwgODYsIDY5LCA4NSwgCisgICAgNjUsIDY5LCA4MCwgNjksIDc4LCAxMjgsIDg2LCA2OSwgODUsIDY1LCA2OSwgMTI4LCA4NiwgNjksIDgzLCA4NCwgNjUsIAorICAgIDEyOCwgODYsIDY5LCA4MywgODMsIDY5LCAyMDQsIDg2LCA2OSwgODIsIDIxNywgODYsIDY5LCA4MiwgODQsIDczLCA2NywgCisgICAgNjUsIDc2LCA3NiwgODksIDEyOCwgODYsIDY5LCA4MiwgODQsIDczLCA2NywgNjUsIDc2LCA3NiwgMjE3LCA4NiwgNjksIDgyLCAKKyAgICA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgNTQsIDQ1LCA0OCwgNTQsIDEyOCwgODYsIDY5LCA4MiwgODQsIDczLCA2NywgCisgICAgNjUsIDc2LCA0NSwgNDgsIDU0LCA0NSwgNDgsIDUzLCAxMjgsIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCA3NiwgNDUsIAorICAgIDQ4LCA1NCwgNDUsIDQ4LCA1MiwgMTI4LCA4NiwgNjksIDgyLCA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgNTQsIDQ1LCAKKyAgICA0OCwgNTEsIDEyOCwgODYsIDY5LCA4MiwgODQsIDczLCA2NywgNjUsIDc2LCA0NSwgNDgsIDU0LCA0NSwgNDgsIDUwLCAxMjgsIAorICAgIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCA3NiwgNDUsIDQ4LCA1NCwgNDUsIDQ4LCA0OSwgMTI4LCA4NiwgNjksIDgyLCAKKyAgICA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgNTQsIDQ1LCA0OCwgNDgsIDEyOCwgODYsIDY5LCA4MiwgODQsIDczLCA2NywgCisgICAgNjUsIDc2LCA0NSwgNDgsIDUzLCA0NSwgNDgsIDU0LCAxMjgsIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCA3NiwgNDUsIAorICAgIDQ4LCA1MywgNDUsIDQ4LCA1MywgMTI4LCA4NiwgNjksIDgyLCA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgNTMsIDQ1LCAKKyAgICA0OCwgNTIsIDEyOCwgODYsIDY5LCA4MiwgODQsIDczLCA2NywgNjUsIDc2LCA0NSwgNDgsIDUzLCA0NSwgNDgsIDUxLCAxMjgsIAorICAgIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCA3NiwgNDUsIDQ4LCA1MywgNDUsIDQ4LCA1MCwgMTI4LCA4NiwgNjksIDgyLCAKKyAgICA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgNTMsIDQ1LCA0OCwgNDksIDEyOCwgODYsIDY5LCA4MiwgODQsIDczLCA2NywgCisgICAgNjUsIDc2LCA0NSwgNDgsIDUzLCA0NSwgNDgsIDQ4LCAxMjgsIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCA3NiwgNDUsIAorICAgIDQ4LCA1MiwgNDUsIDQ4LCA1NCwgMTI4LCA4NiwgNjksIDgyLCA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgNTIsIDQ1LCAKKyAgICA0OCwgNTMsIDEyOCwgODYsIDY5LCA4MiwgODQsIDczLCA2NywgNjUsIDc2LCA0NSwgNDgsIDUyLCA0NSwgNDgsIDUyLCAxMjgsIAorICAgIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCA3NiwgNDUsIDQ4LCA1MiwgNDUsIDQ4LCA1MSwgMTI4LCA4NiwgNjksIDgyLCAKKyAgICA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgNTIsIDQ1LCA0OCwgNTAsIDEyOCwgODYsIDY5LCA4MiwgODQsIDczLCA2NywgCisgICAgNjUsIDc2LCA0NSwgNDgsIDUyLCA0NSwgNDgsIDQ5LCAxMjgsIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCA3NiwgNDUsIAorICAgIDQ4LCA1MiwgNDUsIDQ4LCA0OCwgMTI4LCA4NiwgNjksIDgyLCA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgNTEsIDQ1LCAKKyAgICA0OCwgNTQsIDEyOCwgODYsIDY5LCA4MiwgODQsIDczLCA2NywgNjUsIDc2LCA0NSwgNDgsIDUxLCA0NSwgNDgsIDUzLCAxMjgsIAorICAgIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCA3NiwgNDUsIDQ4LCA1MSwgNDUsIDQ4LCA1MiwgMTI4LCA4NiwgNjksIDgyLCAKKyAgICA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgNTEsIDQ1LCA0OCwgNTEsIDEyOCwgODYsIDY5LCA4MiwgODQsIDczLCA2NywgCisgICAgNjUsIDc2LCA0NSwgNDgsIDUxLCA0NSwgNDgsIDUwLCAxMjgsIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCA3NiwgNDUsIAorICAgIDQ4LCA1MSwgNDUsIDQ4LCA0OSwgMTI4LCA4NiwgNjksIDgyLCA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgNTEsIDQ1LCAKKyAgICA0OCwgNDgsIDEyOCwgODYsIDY5LCA4MiwgODQsIDczLCA2NywgNjUsIDc2LCA0NSwgNDgsIDUwLCA0NSwgNDgsIDU0LCAxMjgsIAorICAgIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCA3NiwgNDUsIDQ4LCA1MCwgNDUsIDQ4LCA1MywgMTI4LCA4NiwgNjksIDgyLCAKKyAgICA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgNTAsIDQ1LCA0OCwgNTIsIDEyOCwgODYsIDY5LCA4MiwgODQsIDczLCA2NywgCisgICAgNjUsIDc2LCA0NSwgNDgsIDUwLCA0NSwgNDgsIDUxLCAxMjgsIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCA3NiwgNDUsIAorICAgIDQ4LCA1MCwgNDUsIDQ4LCA1MCwgMTI4LCA4NiwgNjksIDgyLCA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgNTAsIDQ1LCAKKyAgICA0OCwgNDksIDEyOCwgODYsIDY5LCA4MiwgODQsIDczLCA2NywgNjUsIDc2LCA0NSwgNDgsIDUwLCA0NSwgNDgsIDQ4LCAxMjgsIAorICAgIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCA3NiwgNDUsIDQ4LCA0OSwgNDUsIDQ4LCA1NCwgMTI4LCA4NiwgNjksIDgyLCAKKyAgICA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgNDksIDQ1LCA0OCwgNTMsIDEyOCwgODYsIDY5LCA4MiwgODQsIDczLCA2NywgCisgICAgNjUsIDc2LCA0NSwgNDgsIDQ5LCA0NSwgNDgsIDUyLCAxMjgsIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCA3NiwgNDUsIAorICAgIDQ4LCA0OSwgNDUsIDQ4LCA1MSwgMTI4LCA4NiwgNjksIDgyLCA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgNDksIDQ1LCAKKyAgICA0OCwgNTAsIDEyOCwgODYsIDY5LCA4MiwgODQsIDczLCA2NywgNjUsIDc2LCA0NSwgNDgsIDQ5LCA0NSwgNDgsIDQ5LCAxMjgsIAorICAgIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCA3NiwgNDUsIDQ4LCA0OSwgNDUsIDQ4LCA0OCwgMTI4LCA4NiwgNjksIDgyLCAKKyAgICA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgNDgsIDQ1LCA0OCwgNTQsIDEyOCwgODYsIDY5LCA4MiwgODQsIDczLCA2NywgCisgICAgNjUsIDc2LCA0NSwgNDgsIDQ4LCA0NSwgNDgsIDUzLCAxMjgsIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCA3NiwgNDUsIAorICAgIDQ4LCA0OCwgNDUsIDQ4LCA1MiwgMTI4LCA4NiwgNjksIDgyLCA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgNDgsIDQ1LCAKKyAgICA0OCwgNTEsIDEyOCwgODYsIDY5LCA4MiwgODQsIDczLCA2NywgNjUsIDc2LCA0NSwgNDgsIDQ4LCA0NSwgNDgsIDUwLCAxMjgsIAorICAgIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCA3NiwgNDUsIDQ4LCA0OCwgNDUsIDQ4LCA0OSwgMTI4LCA4NiwgNjksIDgyLCAKKyAgICA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgNDgsIDQ1LCA0OCwgNDgsIDEyOCwgODYsIDY5LCA4MiwgODQsIDczLCA2NywgCisgICAgNjUsIDc2LCAxMjgsIDg2LCA2OSwgODIsIDgzLCA3MywgNjcsIDc2LCA2OSwgMTI4LCA4NiwgNjksIDgyLCA4MywgMTk3LCAKKyAgICA4NiwgNjksIDgyLCA3MSwgNjksIDEyOCwgODYsIDY5LCA4MiwgNjgsIDczLCA3MSwgODIsIDczLCA4MywgMTI4LCA4NiwgNjksIAorICAgIDgyLCAxMjgsIDg2LCA2OSwgODAsIDEyOCwgODYsIDY5LCA3OCwgNjgsIDEyOCwgODYsIDY5LCA3MywgNzYsIDEyOCwgODYsIAogICAgIDY5LCA3MiwgNzMsIDY3LCA3NiwgNjksIDEyOCwgODYsIDY5LCA3MiwgMTI4LCA4NiwgNjksIDIwMCwgODYsIDY5LCA2OSwgCiAgICAgMTI4LCA4NiwgNjksIDE5NywgODYsIDY5LCA2OCwgNjksIDEyOCwgODYsIDY5LCA2NywgODQsIDc5LCAyMTAsIDg2LCA2NSwgCiAgICAgODksIDY1LCA3OCwgNzgsIDY1LCAxMjgsIDg2LCA2NSwgODgsIDEyOCwgODYsIDY1LCA4NiwgMTI4LCA4NiwgNjUsIDIxNCwgCiAgICAgODYsIDY1LCA4NSwgMTI4LCA4NiwgNjUsIDg0LCA3MiwgODksIDEyOCwgODYsIDY1LCA4NCwgMTI4LCA4NiwgNjUsIDgzLCAKICAgICA4NCwgNzgsIDY5LCA4MywgMjExLCA4NiwgNjUsIDgzLCA3MywgODMsIDEyOCwgODYsIDY1LCA4MiwgODksIDIxMSwgODYsIAotICAgIDY1LCA4MiwgNzMsIDc1LCA2NSwgMTI4LCA4NiwgNjUsIDgyLCA3MywgNjUsIDc4LCAyMTIsIDg2LCA2NSwgODIsIDczLCA2NSwgCi0gICAgMTI4LCA4NiwgNjUsIDgyLCA3MywgMTkzLCA4NiwgNjUsIDgyLCA2OSwgNzMsIDY1LCAyMDEsIDg2LCA2NSwgODIsIDY5LCAKLSAgICA3MywgMTkzLCA4NiwgNjUsIDgwLCA3OSwgODUsIDgyLCA4MywgMTI4LCA4NiwgNjUsIDgwLCAxMjgsIDg2LCA2NSwgNzgsIAotICAgIDY5LCAxMjgsIDg2LCA2NSwgNzcsIDY1LCA3MSwgNzksIDc3LCA4NSwgNzUsIDcyLCA2NSwgMTI4LCA4NiwgNjUsIDc3LCA2NSwgCi0gICAgNzEsIDc5LCA3NywgODUsIDc1LCA3MiwgMTkzLCA4NiwgNjUsIDc2LCA3NiwgNjksIDg5LCAxMjgsIDg2LCA2NSwgNzMsIAotICAgIDEyOCwgODYsIDY1LCA3MiwgMTI4LCA4NiwgNjUsIDY1LCA4NiwgODUsIDEyOCwgODYsIDY1LCA2NSwgMTI4LCA4NiwgNDgsIAotICAgIDUyLCA0OCwgNjUsIDEyOCwgODYsIDQ4LCA1MiwgNDgsIDEyOCwgODYsIDQ4LCA1MSwgNTcsIDEyOCwgODYsIDQ4LCA1MSwgCi0gICAgNTYsIDEyOCwgODYsIDQ4LCA1MSwgNTUsIDY1LCAxMjgsIDg2LCA0OCwgNTEsIDU1LCAxMjgsIDg2LCA0OCwgNTEsIDU0LCAKLSAgICAxMjgsIDg2LCA0OCwgNTEsIDUzLCAxMjgsIDg2LCA0OCwgNTEsIDUyLCAxMjgsIDg2LCA0OCwgNTEsIDUxLCA2NSwgMTI4LCAKLSAgICA4NiwgNDgsIDUxLCA1MSwgMTI4LCA4NiwgNDgsIDUxLCA1MCwgMTI4LCA4NiwgNDgsIDUxLCA0OSwgNjUsIDEyOCwgODYsIAotICAgIDQ4LCA1MSwgNDksIDEyOCwgODYsIDQ4LCA1MSwgNDgsIDY1LCAxMjgsIDg2LCA0OCwgNTEsIDQ4LCAxMjgsIDg2LCA0OCwgCi0gICAgNTAsIDU3LCA2NSwgMTI4LCA4NiwgNDgsIDUwLCA1NywgMTI4LCA4NiwgNDgsIDUwLCA1NiwgNjUsIDEyOCwgODYsIDQ4LCAKLSAgICA1MCwgNTYsIDEyOCwgODYsIDQ4LCA1MCwgNTUsIDEyOCwgODYsIDQ4LCA1MCwgNTQsIDEyOCwgODYsIDQ4LCA1MCwgNTMsIAotICAgIDEyOCwgODYsIDQ4LCA1MCwgNTIsIDEyOCwgODYsIDQ4LCA1MCwgNTEsIDY1LCAxMjgsIDg2LCA0OCwgNTAsIDUxLCAxMjgsIAotICAgIDg2LCA0OCwgNTAsIDUwLCAxMjgsIDg2LCA0OCwgNTAsIDQ5LCAxMjgsIDg2LCA0OCwgNTAsIDQ4LCA3NiwgMTI4LCA4NiwgCi0gICAgNDgsIDUwLCA0OCwgNzUsIDEyOCwgODYsIDQ4LCA1MCwgNDgsIDc0LCAxMjgsIDg2LCA0OCwgNTAsIDQ4LCA3MywgMTI4LCAKLSAgICA4NiwgNDgsIDUwLCA0OCwgNzIsIDEyOCwgODYsIDQ4LCA1MCwgNDgsIDcxLCAxMjgsIDg2LCA0OCwgNTAsIDQ4LCA3MCwgCi0gICAgMTI4LCA4NiwgNDgsIDUwLCA0OCwgNjksIDEyOCwgODYsIDQ4LCA1MCwgNDgsIDY4LCAxMjgsIDg2LCA0OCwgNTAsIDQ4LCAKLSAgICA2NywgMTI4LCA4NiwgNDgsIDUwLCA0OCwgNjYsIDEyOCwgODYsIDQ4LCA1MCwgNDgsIDY1LCAxMjgsIDg2LCA0OCwgNTAsIAotICAgIDQ4LCAxMjgsIDg2LCA0OCwgNDksIDU3LCAxMjgsIDg2LCA0OCwgNDksIDU2LCAxMjgsIDg2LCA0OCwgNDksIDU1LCAxMjgsIAotICAgIDg2LCA0OCwgNDksIDU0LCAxMjgsIDg2LCA0OCwgNDksIDUzLCAxMjgsIDg2LCA0OCwgNDksIDUyLCAxMjgsIDg2LCA0OCwgCi0gICAgNDksIDUxLCAxMjgsIDg2LCA0OCwgNDksIDUwLCA2NiwgMTI4LCA4NiwgNDgsIDQ5LCA1MCwgNjUsIDEyOCwgODYsIDQ4LCAKLSAgICA0OSwgNTAsIDEyOCwgODYsIDQ4LCA0OSwgNDksIDY3LCAxMjgsIDg2LCA0OCwgNDksIDQ5LCA2NiwgMTI4LCA4NiwgNDgsIAotICAgIDQ5LCA0OSwgNjUsIDEyOCwgODYsIDQ4LCA0OSwgNDksIDEyOCwgODYsIDQ4LCA0OSwgNDgsIDEyOCwgODYsIDQ4LCA0OCwgCi0gICAgNTcsIDEyOCwgODYsIDQ4LCA0OCwgNTYsIDEyOCwgODYsIDQ4LCA0OCwgNTUsIDY2LCAxMjgsIDg2LCA0OCwgNDgsIDU1LCAKLSAgICA2NSwgMTI4LCA4NiwgNDgsIDQ4LCA1NSwgMTI4LCA4NiwgNDgsIDQ4LCA1NCwgMTI4LCA4NiwgNDgsIDQ4LCA1MywgMTI4LCAKLSAgICA4NiwgNDgsIDQ4LCA1MiwgMTI4LCA4NiwgNDgsIDQ4LCA1MSwgMTI4LCA4NiwgNDgsIDQ4LCA1MCwgNjUsIDEyOCwgODYsIAotICAgIDQ4LCA0OCwgNTAsIDEyOCwgODYsIDQ4LCA0OCwgNDksIDczLCAxMjgsIDg2LCA0OCwgNDgsIDQ5LCA3MiwgMTI4LCA4NiwgCi0gICAgNDgsIDQ4LCA0OSwgNzEsIDEyOCwgODYsIDQ4LCA0OCwgNDksIDcwLCAxMjgsIDg2LCA0OCwgNDgsIDQ5LCA2OSwgMTI4LCAKLSAgICA4NiwgNDgsIDQ4LCA0OSwgNjgsIDEyOCwgODYsIDQ4LCA0OCwgNDksIDY3LCAxMjgsIDg2LCA0OCwgNDgsIDQ5LCA2NiwgCi0gICAgMTI4LCA4NiwgNDgsIDQ4LCA0OSwgNjUsIDEyOCwgODYsIDQ4LCA0OCwgNDksIDEyOCwgODUsIDkwLCA4NSwgMTI4LCA4NSwgCi0gICAgOTAsIDUxLCAxMjgsIDg1LCA5MCwgMTc5LCA4NSwgODksIDY1LCA3OCwgNzgsIDY1LCAxMjgsIDg1LCA4OSwgMTI4LCA4NSwgCi0gICAgODUsIDg5LCA2NSwgNzgsIDc4LCA2NSwgMTI4LCA4NSwgODUsIDg1LCA4NSwgMTI4LCA4NSwgODUsIDg1LCA1MSwgMTI4LCAKLSAgICA4NSwgODUsIDg1LCA1MCwgMTI4LCA4NSwgODUsIDY5LCAxMjgsIDg1LCA4NCwgODUsIDc1LCA3MywgMTI4LCA4NSwgODMsIAotICAgIDgzLCA4NSwgNTEsIDEyOCwgODUsIDgzLCA4MywgODUsIDEyOCwgODUsIDgzLCA3MiwgODgsIDEyOCwgODUsIDgzLCA3MiwgCi0gICAgODUsIDc3LCA4OCwgMTI4LCA4NSwgODMsIDcyLCA2OSwgNzgsIDc4LCA2NSwgMTI4LCA4NSwgODMsIDcyLCA1MCwgMTI4LCAKLSAgICA4NSwgODMsIDcyLCAxMjgsIDg1LCA4MywgMjAwLCA4NSwgODMsIDY5LCAxOTYsIDg1LCA4MywgNjksIDQ1LCA1MCwgMTI4LCAKLSAgICA4NSwgODMsIDY5LCA0NSwgNDksIDEyOCwgODUsIDgzLCA2OSwgMTI4LCA4NSwgODMsIDE5NywgODUsIDgyLCA4NSwgMjE4LCAKLSAgICA4NSwgODIsIDg1LCA4MywgMTI4LCA4NSwgODIsIDg1LCA2OCwgNjUsIDEyOCwgODUsIDgyLCA4NSwgNjgsIDE5MywgODUsIAotICAgIDgyLCA4NSwgMTI4LCA4NSwgODIsIDIxMywgODUsIDgyLCA3OCwgMTI4LCA4NSwgODIsIDczLCA3OCwgNjksIDEyOCwgODUsIAotICAgIDgyLCA3MywgNTEsIDEyOCwgODUsIDgyLCA3MywgMTI4LCA4NSwgODIsIDY1LCA3OCwgODUsIDgzLCAxMjgsIDg1LCA4MiwgCi0gICAgNjUsIDEyOCwgODUsIDgyLCA1MiwgMTI4LCA4NSwgODIsIDUwLCAxMjgsIDg1LCA4MiwgMTc4LCA4NSwgODAsIDg3LCA2NSwgCi0gICAgODIsIDY4LCA4MywgMTI4LCA4NSwgODAsIDg3LCA2NSwgODIsIDY4LCAyMTEsIDg1LCA4MCwgODcsIDY1LCA4MiwgNjgsIAotICAgIDEyOCwgODUsIDgwLCA4NywgNjUsIDgyLCAxOTYsIDg1LCA4MCwgODQsIDg1LCA4MiwgNzgsIDEyOCwgODUsIDgwLCA4MywgCi0gICAgNzMsIDc2LCA3OSwgNzgsIDEyOCwgODUsIDgwLCA4MywgNzMsIDc2LCA3OSwgMjA2LCA4NSwgODAsIDgyLCA3MywgNzEsIDcyLCAKLSAgICAyMTIsIDg1LCA4MCwgODAsIDY5LCAyMTAsIDg1LCA4MCwgNjUsIDY4LCA3MiwgNzcsIDY1LCA3OCwgNzMsIDg5LCA2NSwgCi0gICAgMTI4LCA4NSwgODAsIDQ1LCA4MCwgNzksIDczLCA3OCwgODQsIDczLCA3OCwgMTk5LCA4NSwgNzksIDc4LCAxMjgsIDg1LCAKLSAgICA3OCwgNzgsIDEyOCwgODUsIDc4LCA3NywgNjUsIDgyLCA4MiwgNzMsIDY5LCAxOTYsIDg1LCA3OCwgNzUsIDc4LCA3OSwgODcsIAotICAgIDc4LCAxMjgsIDg1LCA3OCwgNzMsIDg2LCA2OSwgODIsIDgzLCA2NSwgMjA0LCA4NSwgNzgsIDczLCA4NCwgODksIDEyOCwgCi0gICAgODUsIDc4LCA3MywgODQsIDEyOCwgODUsIDc4LCA3MywgMjEyLCA4NSwgNzgsIDczLCA3OSwgNzgsIDEyOCwgODUsIDc4LCAKLSAgICA3MywgNzksIDIwNiwgODUsIDc4LCA3MywgNzAsIDczLCA2OSwgMTk2LCA4NSwgNzgsIDY4LCAyMDcsIDg1LCA3OCwgNjgsIAotICAgIDY5LCA4MiwgODQsIDczLCA2OSwgMTI4LCA4NSwgNzgsIDY4LCA2OSwgODIsIDc2LCA3MywgNzgsIDE5NywgODUsIDc4LCA2OCwgCi0gICAgNjksIDgyLCA2OCwgNzksIDg0LCAxMjgsIDg1LCA3OCwgNjgsIDY5LCA4MiwgNjYsIDY1LCA4MiwgMTI4LCA4NSwgNzgsIDY4LCAKLSAgICA2OSwgMjEwLCA4NSwgNzgsIDY3LCA3MywgMTkzLCA4NSwgNzgsIDY1LCA4MywgODAsIDczLCA4MiwgNjUsIDg0LCA2OSwgNjgsIAotICAgIDEyOCwgODUsIDc4LCA2NSwgODAsIDEyOCwgODUsIDc4LCA2NSwgNzcsIDg1LCA4MywgNjksIDE5NiwgODUsIDc4LCA2NSwgCi0gICAgMTI4LCA4NSwgMjA2LCA4NSwgNzcsIDg1LCA3NywgMTI4LCA4NSwgNzcsIDg1LCAyMDUsIDg1LCA3NywgNjYsIDgyLCA2OSwgCi0gICAgNzYsIDc2LCA2NSwgMTI4LCA4NSwgNzcsIDY2LCA4MiwgNjksIDc2LCA3NiwgMTkzLCA4NSwgNzcsIDY2LCA3MywgNzgsIAotICAgIDEyOCwgODUsIDc1LCA4NSwgMTI4LCA4NSwgNzUsIDgyLCA2NSwgNzMsIDc4LCA3MywgNjUsIDIwNiwgODUsIDc1LCA2NSwgCi0gICAgODIsIDY1LCAxMjgsIDg1LCA3NSwgNjUsIDgyLCAxOTMsIDg1LCA3NSwgMTI4LCA4NSwgNzMsIDc2LCA3NiwgNjksIDY1LCAKLSAgICA3OCwgNzgsIDEyOCwgODUsIDczLCA3MSwgNzIsIDg1LCAyMTAsIDg1LCA3MSwgNjUsIDgyLCA3MywgODQsIDczLCAxOTUsIAotICAgIDg1LCA2OSwgODksIDEyOCwgODUsIDY5LCA3MywgMTI4LCA4NSwgNjksIDY5LCAxMjgsIDg1LCA2OSwgNjUsIDEyOCwgODUsIAotICAgIDY4LCA4NSwgNzEsIDEyOCwgODUsIDY4LCA2NSwgODQsIDg0LCA2NSwgMTI4LCA4NSwgNjgsIDY1LCA4NCwgODQsIDE5MywgCi0gICAgODUsIDY4LCA2NSwgNjUsIDg0LCAxMjgsIDg1LCA2OCwgMTI4LCA4NSwgMTk2LCA4NSwgNjcsIDEyOCwgODUsIDY2LCA4NSwgCi0gICAgNzAsIDczLCA3NiwgNzMsIDEyOCwgODUsIDY2LCA3MiwgNjUsIDg5LCA2NSwgODQsIDIwNywgODUsIDY2LCA2NSwgNjgsIDY1LCAKLSAgICA3NywgNjUsIDEyOCwgODUsIDY2LCAxMjgsIDg1LCA2NSwgODQsIDcyLCAxMjgsIDg1LCA2NSwgNzgsIDcxLCAxMjgsIDg1LCAKLSAgICA2NSwgMTI4LCA4NSwgMTc4LCA4NSwgNDgsIDUyLCA1MCwgMTI4LCA4NSwgNDgsIDUyLCA0OSwgMTI4LCA4NSwgNDgsIDUyLCAKLSAgICA0OCwgMTI4LCA4NSwgNDgsIDUxLCA1NywgMTI4LCA4NSwgNDgsIDUxLCA1NiwgMTI4LCA4NSwgNDgsIDUxLCA1NSwgMTI4LCAKLSAgICA4NSwgNDgsIDUxLCA1NCwgMTI4LCA4NSwgNDgsIDUxLCA1MywgMTI4LCA4NSwgNDgsIDUxLCA1MiwgMTI4LCA4NSwgNDgsIAotICAgIDUxLCA1MSwgMTI4LCA4NSwgNDgsIDUxLCA1MCwgNjUsIDEyOCwgODUsIDQ4LCA1MSwgNTAsIDEyOCwgODUsIDQ4LCA1MSwgCi0gICAgNDksIDEyOCwgODUsIDQ4LCA1MSwgNDgsIDEyOCwgODUsIDQ4LCA1MCwgNTcsIDY1LCAxMjgsIDg1LCA0OCwgNTAsIDU3LCAKLSAgICAxMjgsIDg1LCA0OCwgNTAsIDU2LCAxMjgsIDg1LCA0OCwgNTAsIDU1LCAxMjgsIDg1LCA0OCwgNTAsIDU0LCAxMjgsIDg1LCAKLSAgICA0OCwgNTAsIDUzLCAxMjgsIDg1LCA0OCwgNTAsIDUyLCAxMjgsIDg1LCA0OCwgNTAsIDUxLCA2NSwgMTI4LCA4NSwgNDgsIAotICAgIDUwLCA1MSwgMTI4LCA4NSwgNDgsIDUwLCA1MCwgMTI4LCA4NSwgNDgsIDUwLCA0OSwgMTI4LCA4NSwgNDgsIDUwLCA0OCwgCi0gICAgMTI4LCA4NSwgNDgsIDQ5LCA1NywgMTI4LCA4NSwgNDgsIDQ5LCA1NiwgMTI4LCA4NSwgNDgsIDQ5LCA1NSwgMTI4LCA4NSwgCi0gICAgNDgsIDQ5LCA1NCwgMTI4LCA4NSwgNDgsIDQ5LCA1MywgMTI4LCA4NSwgNDgsIDQ5LCA1MiwgMTI4LCA4NSwgNDgsIDQ5LCAKLSAgICA1MSwgMTI4LCA4NSwgNDgsIDQ5LCA1MCwgMTI4LCA4NSwgNDgsIDQ5LCA0OSwgMTI4LCA4NSwgNDgsIDQ5LCA0OCwgMTI4LCAKLSAgICA4NSwgNDgsIDQ4LCA1NywgMTI4LCA4NSwgNDgsIDQ4LCA1NiwgMTI4LCA4NSwgNDgsIDQ4LCA1NSwgMTI4LCA4NSwgNDgsIAotICAgIDQ4LCA1NCwgNjYsIDEyOCwgODUsIDQ4LCA0OCwgNTQsIDY1LCAxMjgsIDg1LCA0OCwgNDgsIDU0LCAxMjgsIDg1LCA0OCwgCi0gICAgNDgsIDUzLCAxMjgsIDg1LCA0OCwgNDgsIDUyLCAxMjgsIDg1LCA0OCwgNDgsIDUxLCAxMjgsIDg1LCA0OCwgNDgsIDUwLCAKLSAgICAxMjgsIDg1LCA0OCwgNDgsIDQ5LCAxMjgsIDg1LCA0NSwgNzMsIDQ1LCA3MywgMTI4LCA4NSwgNDUsIDY5LCA3OSwgNDUsIAotICAgIDY5LCA4NSwgMTI4LCA4NSwgNDUsIDY2LCA4MiwgNzQsIDcxLCA4NSwgMTI4LCA4NCwgOTAsIDg1LCAxMjgsIDg0LCA5MCwgCi0gICAgNzksIDY1LCAxMjgsIDg0LCA5MCwgNzksIDEyOCwgODQsIDkwLCA3MywgMjEwLCA4NCwgOTAsIDczLCAxMjgsIDg0LCA5MCwgCi0gICAgNjksIDY5LCAxMjgsIDg0LCA5MCwgNjksIDEyOCwgODQsIDkwLCA2NSwgNjUsIDEyOCwgODQsIDkwLCA2NSwgMTI4LCA4NCwgCi0gICAgOTAsIDEyOCwgODQsIDg5LCAyMTAsIDg0LCA4OSwgODAsIDY5LCA0NSwgMTgzLCA4NCwgODksIDgwLCA2OSwgNDUsIDE4MiwgCi0gICAgODQsIDg5LCA4MCwgNjksIDQ1LCAxODEsIDg0LCA4OSwgODAsIDY5LCA0NSwgMTgwLCA4NCwgODksIDgwLCA2OSwgNDUsIAotICAgIDE3OSwgODQsIDg5LCA4MCwgNjksIDQ1LCAxNzgsIDg0LCA4OSwgODAsIDY5LCA0NSwgMTc3LCA4NCwgODksIDgwLCAxOTcsIAotICAgIDg0LCA4OSwgNzksIDEyOCwgODQsIDg5LCA3MywgMTI4LCA4NCwgODksIDY5LCAxMjgsIDg0LCA4OSwgNjUsIDEyOCwgODQsIAotICAgIDg3LCA3OSwgNzksIDEyOCwgODQsIDg3LCA3OSwgNDUsIDg3LCA2NSwgMjE3LCA4NCwgODcsIDc5LCA0NSwgODQsIDcyLCA3MywgCi0gICAgODIsIDg0LCA4OSwgMTI4LCA4NCwgODcsIDc5LCA0NSwgNzYsIDczLCA3OCwgMTk3LCA4NCwgODcsIDc5LCA0NSwgNzIsIDY5LCAKLSAgICA2NSwgNjgsIDY5LCAxOTYsIDg0LCA4NywgNzksIDQ1LCA2OSwgMjA1LCA4NCwgODcsIDczLCA4MywgODQsIDY5LCAxOTYsIAotICAgIDg0LCA4NywgNzMsIDczLCAxMjgsIDg0LCA4NywgNzMsIDEyOCwgODQsIDg3LCA2OSwgNzgsIDg0LCA4OSwgNDUsIDg0LCA4NywgCi0gICAgNzksIDEyOCwgODQsIDg3LCA2OSwgNzgsIDg0LCA4OSwgNDUsIDg0LCA3MiwgODIsIDY5LCA2OSwgMTI4LCA4NCwgODcsIDY5LCAKLSAgICA3OCwgODQsIDg5LCA0NSwgODMsIDczLCA4OCwgMTI4LCA4NCwgODcsIDY5LCA3OCwgODQsIDg5LCA0NSwgODMsIDY5LCA4NiwgCi0gICAgNjksIDc4LCAxMjgsIDg0LCA4NywgNjksIDc4LCA4NCwgODksIDQ1LCA3OSwgNzgsIDY5LCAxMjgsIDg0LCA4NywgNjksIDc4LCAKLSAgICA4NCwgODksIDQ1LCA3OCwgNzMsIDc4LCA2OSwgMTI4LCA4NCwgODcsIDY5LCA3OCwgODQsIDg5LCA0NSwgNzAsIDc5LCA4NSwgCi0gICAgODIsIDEyOCwgODQsIDg3LCA2OSwgNzgsIDg0LCA4OSwgNDUsIDcwLCA3MywgODYsIDY5LCAxMjgsIDg0LCA4NywgNjksIDc4LCAKLSAgICA4NCwgODksIDQ1LCA2OSwgNzMsIDcxLCA3MiwgODQsIDIwMCwgODQsIDg3LCA2OSwgNzgsIDg0LCA4OSwgNDUsIDY5LCA3MywgCi0gICAgNzEsIDcyLCA4NCwgMTI4LCA4NCwgODcsIDY5LCA3OCwgODQsIDg5LCAxMjgsIDg0LCA4NywgNjksIDc4LCA4NCwgMjE3LCAKLSAgICA4NCwgODcsIDY5LCA3NiwgODYsIDY5LCA0NSwgODQsIDcyLCA3MywgODIsIDg0LCA4OSwgMTI4LCA4NCwgODcsIDY5LCA3NiwgCi0gICAgODYsIDY5LCAxMjgsIDg0LCA4NywgNjksIDc2LCA4NiwgMTk3LCA4NCwgODcsIDY5LCAxMjgsIDg0LCA4NywgNjUsIDY1LCAKLSAgICAxMjgsIDg0LCA4NywgNjUsIDEyOCwgODQsIDg2LCA4MiwgNzMsIDY4LCA3OSwgMTI4LCA4NCwgODYsIDczLCA3NywgNjUsIAotICAgIDY4LCA4NSwgMjEwLCA4NCwgODUsIDg4LCAxMjgsIDg0LCA4NSwgODUsIDc3LCA4NSwgMTI4LCA4NCwgODUsIDg1LCAxMjgsIAotICAgIDg0LCA4NSwgODQsIDg0LCA4OSwgMTI4LCA4NCwgODUsIDg0LCA2OSwgODksIDY1LCA4MywgNjUsIDg0LCAxMjgsIDg0LCA4NSwgCi0gICAgODQsIDEyOCwgODQsIDg1LCA4MiwgODgsIDEyOCwgODQsIDg1LCA4MiwgODUsIDEyOCwgODQsIDg1LCA4MiwgODQsIDc2LCAKLSAgICA2OSwgMTI4LCA4NCwgODUsIDgyLCA3OSwgNTAsIDEyOCwgODQsIDg1LCA4MiwgNzgsIDgzLCA4NCwgNzMsIDc2LCA2OSwgCi0gICAgMTI4LCA4NCwgODUsIDgyLCA3OCwgNjksIDE5NiwgODQsIDg1LCA4MiwgMjA2LCA4NCwgODUsIDgyLCA3NSwgNzMsIDgzLCAKLSAgICAyMDAsIDg0LCA4NSwgODIsIDY2LCA2NSwgNzgsIDEyOCwgODQsIDg1LCA4MiwgMTI4LCA4NCwgODUsIDgwLCAxMjgsIDg0LCAKLSAgICA4NSwgNzksIDg4LCAxMjgsIDg0LCA4NSwgNzksIDg0LCAxMjgsIDg0LCA4NSwgNzksIDgwLCAxMjgsIDg0LCA4NSwgNzksIAotICAgIDEyOCwgODQsIDg1LCA3OCwgNzgsIDg5LCAxMjgsIDg0LCA4NSwgNzcsIDY5LCA4NCwgNjksIDgzLCAxMjgsIDg0LCA4NSwgCi0gICAgNzcsIDY1LCA2OSwgMTI4LCA4NCwgODUsIDc3LCAxMjgsIDg0LCA4NSwgNzYsIDczLCA4MCwgMTI4LCA4NCwgODUsIDc1LCAKLSAgICA4NywgNjksIDc4LCA4NCwgNzMsIDgzLCAxMjgsIDg0LCA4NSwgNzUsIDEyOCwgODQsIDg1LCA3MSwgODIsIDczLCAyMDMsIAotICAgIDg0LCA4NSwgNzEsIDUwLCAxMjgsIDg0LCA4NSwgNzEsIDE3OCwgODQsIDg1LCA2NSwgODIsIDY5LCAxOTksIDg0LCA4NSwgCi0gICAgNjUsIDY5LCA4MCwgMTI4LCA4NCwgODUsIDY1LCA2OSwgMTI4LCA4NCwgMjEzLCA4NCwgODQsIDg1LCA4NSwgMTI4LCA4NCwgCi0gICAgODQsIDg1LCA2OCwgNjgsIDY1LCA3MSwgMTI4LCA4NCwgODQsIDg1LCA2OCwgNjgsIDY1LCA2NSwgNzEsIDEyOCwgODQsIDg0LCAKLSAgICA4NSwgMTI4LCA4NCwgODQsIDg0LCA3MiwgNjUsIDEyOCwgODQsIDg0LCA4NCwgNjUsIDEyOCwgODQsIDg0LCA4MywgODUsIAotICAgIDEyOCwgODQsIDg0LCA4MywgNzksIDEyOCwgODQsIDg0LCA4MywgNzMsIDEyOCwgODQsIDg0LCA4MywgNjksIDY5LCAxMjgsIAotICAgIDg0LCA4NCwgODMsIDY5LCAxMjgsIDg0LCA4NCwgODMsIDY1LCAxMjgsIDg0LCA4NCwgNzksIDc5LCAxMjgsIDg0LCA4NCwgCi0gICAgNzMsIDczLCAxMjgsIDg0LCA4NCwgNzMsIDEyOCwgODQsIDg0LCA3MiwgODcsIDY5LCAxMjgsIDg0LCA4NCwgNzIsIDg1LCAKLSAgICAxMjgsIDg0LCA4NCwgNzIsIDc5LCA3OSwgMTI4LCA4NCwgODQsIDcyLCA3OSwgMTI4LCA4NCwgODQsIDcyLCA3MywgMTI4LCAKLSAgICA4NCwgODQsIDcyLCA2OSwgNjksIDEyOCwgODQsIDg0LCA3MiwgNjksIDEyOCwgODQsIDg0LCA3MiwgNjUsIDY1LCAxMjgsIAotICAgIDg0LCA4NCwgNzIsIDEyOCwgODQsIDg0LCA2OSwgNzIsIDY5LCA3MiwgMTI4LCA4NCwgODQsIDY5LCA3MiwgNjksIDIwMCwgCi0gICAgODQsIDg0LCA2OSwgNzIsIDEyOCwgODQsIDg0LCA2OSwgMjAwLCA4NCwgODQsIDY5LCA2OSwgMTI4LCA4NCwgODQsIDY1LCAKLSAgICA4OSwgNjUsIDc4LCA3OCwgNjUsIDEyOCwgODQsIDg0LCA2NSwgODUsIDEyOCwgODQsIDg0LCA2NSwgNzMsIDEyOCwgODQsIAotICAgIDg0LCA2NSwgNjUsIDEyOCwgODQsIDg0LCA1MCwgMTI4LCA4NCwgODMsIDg3LCA2OSwgMTI4LCA4NCwgODMsIDg3LCA2NSwgCi0gICAgMTI4LCA4NCwgODMsIDg2LCAxMjgsIDg0LCA4MywgODMsIDY5LCAxMjgsIDg0LCA4MywgODMsIDY1LCAxMjgsIDg0LCA4MywgCi0gICAgNzIsIDg1LCA3MSwgODMsIDEyOCwgODQsIDgzLCA3MiwgNzksIDc5LCA3NSwgMTI4LCA4NCwgODMsIDcyLCA3OSwgNzksIAotICAgIDIwMywgODQsIDgzLCA3MiwgNjksIDgzLCAxMjgsIDg0LCA4MywgNzIsIDY5LCA3MSwgMTI4LCA4NCwgODMsIDcyLCA2OSwgCi0gICAgMTk5LCA4NCwgODMsIDcyLCA2OSwgMTI4LCA4NCwgODMsIDcyLCA2NSwgMTI4LCA4NCwgODMsIDY5LCA4MiwgNjksIDEyOCwgCi0gICAgODQsIDgzLCA2NSwgNjgsIDczLCAxMjgsIDg0LCA4MywgNjUsIDY4LCAyMDEsIDg0LCA4MywgNjUsIDY1LCA2OCwgNzMsIDg5LCAKLSAgICAxMjgsIDg0LCA4MywgNjUsIDY1LCAxMjgsIDg0LCA4MywgMTkzLCA4NCwgODIsIDg5LCA2NiwgNzYsIDczLCA3OSwgMjA2LCAKLSAgICA4NCwgODIsIDg1LCA4NCwgNzIsIDEyOCwgODQsIDgyLCA4NSwgNzgsIDc1LCAxMjgsIDg0LCA4MiwgODUsIDc4LCA2NywgNjUsIAotICAgIDg0LCA2OSwgMTk2LCA4NCwgODIsIDg1LCA3NywgODAsIDY5LCA4NCwgMTI4LCA4NCwgODIsIDg1LCA2OSwgMTI4LCA4NCwgCi0gICAgODIsIDg1LCA2NywgNzUsIDEyOCwgODQsIDgyLCA3OSwgODAsIDczLCA2NywgNjUsIDIwNCwgODQsIDgyLCA3OSwgODAsIDcyLCAKLSAgICA4OSwgMTI4LCA4NCwgODIsIDc5LCA3NywgNzMsIDc1LCA3OSwgODMsIDg5LCA3OCwgNjUsIDcxLCA3NywgNjUsIDEyOCwgODQsIAotICAgIDgyLCA3OSwgNzcsIDczLCA3NSwgNzksIDgwLCA4MywgNzMsIDcwLCA3MywgODMsIDg0LCA3OSwgNzgsIDEyOCwgODQsIDgyLCAKLSAgICA3OSwgNzcsIDczLCA3NSwgNzksIDgwLCA2NSwgODIsIDY1LCA3NSwgNjUsIDc2LCA2OSwgODMsIDc3LCA2NSwgMTI4LCA4NCwgCi0gICAgODIsIDc5LCA3NywgNzMsIDc1LCA3OSwgNzgsIDEyOCwgODQsIDgyLCA3OSwgNzcsIDczLCA3NSwgNzksIDIwNiwgODQsIDgyLCAKLSAgICA3OSwgNzcsIDczLCA3NSwgNzksIDc2LCA4OSwgNzEsIDczLCA4MywgNzcsIDY1LCAxMjgsIDg0LCA4MiwgNzksIDc2LCA3NiwgCi0gICAgNjksIDg5LCA2NiwgODUsIDgzLCAxMjgsIDg0LCA4MiwgNzksIDc1LCA4NSwgODQsIDY1LCA4MywgODQsIDIwMSwgODQsIDgyLCAKLSAgICA3OSwgNjksIDkwLCA2OSwgNzgsIDczLCA2NSwgMjA2LCA4NCwgODIsIDczLCA4NSwgNzcsIDgwLCA3MiwgMTI4LCA4NCwgODIsIAotICAgIDczLCA4NCwgNzksIDIxMSwgODQsIDgyLCA3MywgODQsIDczLCA3NywgNzksIDgyLCA3MywgNzksIDc4LCAxMjgsIDg0LCA4MiwgCi0gICAgNzMsIDgzLCA3MywgNzcsIDc5LCA4NSwgMTI4LCA4NCwgODIsIDczLCA4MywgNjksIDc3LCA2OSwgMTI4LCA4NCwgODIsIDczLCAKLSAgICA4MCwgNzksIDY4LCAxMjgsIDg0LCA4MiwgNzMsIDgwLCA3NiwgNzMsIDEyOCwgODQsIDgyLCA3MywgODAsIDc2LCAxOTcsIAotICAgIDg0LCA4MiwgNzMsIDc5LCAyMDYsIDg0LCA4MiwgNzMsIDczLCA4MywgNjUsIDgwLCAxMjgsIDg0LCA4MiwgNzMsIDcxLCA4MiwgCi0gICAgNjUsIDc3LCA3NywgNzksIDIxMSwgODQsIDgyLCA3MywgNzEsIDgyLCA2NSwgMjA1LCA4NCwgODIsIDczLCA3MSwgNzksIDgyLCAKLSAgICA3MSwgNzksIDc4LCAxMjgsIDg0LCA4MiwgNzMsIDcwLCA3OSwgNzgsIDczLCA2NSwgODMsIDEyOCwgODQsIDgyLCA3MywgNzAsIAotICAgIDc5LCA3NiwgNzMsIDY1LCA4NCwgMTk3LCA4NCwgODIsIDczLCA2OCwgNjksIDc4LCA4NCwgMTI4LCA4NCwgODIsIDczLCA2OCwgCi0gICAgNjksIDc4LCAyMTIsIDg0LCA4MiwgNzMsIDY3LCA3OSwgNzYsIDc5LCA3OCwgMTI4LCA4NCwgODIsIDczLCA2NSwgNzgsIDcxLCAKLSAgICA4NSwgNzYsIDY1LCAyMTAsIDg0LCA4MiwgNzMsIDY1LCA3OCwgNzEsIDc2LCA2OSwgNDUsIDgyLCA3OSwgODUsIDc4LCAxOTYsIAotICAgIDg0LCA4MiwgNzMsIDY1LCA3OCwgNzEsIDc2LCA2OSwgNDUsIDcyLCA2OSwgNjUsIDY4LCA2OSwgMTk2LCA4NCwgODIsIDczLCAKLSAgICA2NSwgNzgsIDcxLCA3NiwgNjksIDEyOCwgODQsIDgyLCA3MywgNjUsIDc4LCA3MSwgNzYsIDE5NywgODQsIDgyLCA3MywgNjUsIAotICAgIDEyOCwgODQsIDgyLCA3MywgMTI4LCA4NCwgODIsIDY5LCA4MywgNzMsIDc2LCA3NiwgNzksIDEyOCwgODQsIDgyLCA2OSwgCi0gICAgNzgsIDY4LCAxMjgsIDg0LCA4MiwgNjksIDc4LCAxOTYsIDg0LCA4MiwgNjksIDc3LCA3OSwgNzYsIDc5LCA0NSwgNTEsIAorICAgIDY1LCA4MiwgNzMsIDc1LCA2NSwgMTI4LCA4NiwgNjUsIDgyLCA3MywgNjUsIDc4LCA4NCwgMTI4LCA4NiwgNjUsIDgyLCA3MywgCisgICAgNjUsIDc4LCAyMTIsIDg2LCA2NSwgODIsIDczLCA2NSwgMTI4LCA4NiwgNjUsIDgyLCA3MywgMTkzLCA4NiwgNjUsIDgyLCAKKyAgICA2OSwgNzMsIDY1LCAyMDEsIDg2LCA2NSwgODIsIDY5LCA3MywgMTkzLCA4NiwgNjUsIDgwLCA3OSwgODUsIDgyLCA4MywgCisgICAgMTI4LCA4NiwgNjUsIDgwLCAxMjgsIDg2LCA2NSwgNzgsIDY5LCAxMjgsIDg2LCA2NSwgNzcsIDY1LCA3MSwgNzksIDc3LCAKKyAgICA4NSwgNzUsIDcyLCA2NSwgMTI4LCA4NiwgNjUsIDc3LCA2NSwgNzEsIDc5LCA3NywgODUsIDc1LCA3MiwgMTkzLCA4NiwgNjUsIAorICAgIDc2LCA3NiwgNjksIDg5LCAxMjgsIDg2LCA2NSwgNzQsIDEyOCwgODYsIDY1LCA3MywgMTI4LCA4NiwgNjUsIDcyLCAxMjgsIAorICAgIDg2LCA2NSwgMjAwLCA4NiwgNjUsIDY1LCA4NiwgODUsIDEyOCwgODYsIDY1LCA2NSwgMTI4LCA4NiwgNDgsIDUyLCA0OCwgCisgICAgNjUsIDEyOCwgODYsIDQ4LCA1MiwgNDgsIDEyOCwgODYsIDQ4LCA1MSwgNTcsIDEyOCwgODYsIDQ4LCA1MSwgNTYsIDEyOCwgCisgICAgODYsIDQ4LCA1MSwgNTUsIDY1LCAxMjgsIDg2LCA0OCwgNTEsIDU1LCAxMjgsIDg2LCA0OCwgNTEsIDU0LCAxMjgsIDg2LCAKKyAgICA0OCwgNTEsIDUzLCAxMjgsIDg2LCA0OCwgNTEsIDUyLCAxMjgsIDg2LCA0OCwgNTEsIDUxLCA2NSwgMTI4LCA4NiwgNDgsIAorICAgIDUxLCA1MSwgMTI4LCA4NiwgNDgsIDUxLCA1MCwgMTI4LCA4NiwgNDgsIDUxLCA0OSwgNjUsIDEyOCwgODYsIDQ4LCA1MSwgCisgICAgNDksIDEyOCwgODYsIDQ4LCA1MSwgNDgsIDY1LCAxMjgsIDg2LCA0OCwgNTEsIDQ4LCAxMjgsIDg2LCA0OCwgNTAsIDU3LCAKKyAgICA2NSwgMTI4LCA4NiwgNDgsIDUwLCA1NywgMTI4LCA4NiwgNDgsIDUwLCA1NiwgNjUsIDEyOCwgODYsIDQ4LCA1MCwgNTYsIAorICAgIDEyOCwgODYsIDQ4LCA1MCwgNTUsIDEyOCwgODYsIDQ4LCA1MCwgNTQsIDEyOCwgODYsIDQ4LCA1MCwgNTMsIDEyOCwgODYsIAorICAgIDQ4LCA1MCwgNTIsIDEyOCwgODYsIDQ4LCA1MCwgNTEsIDY1LCAxMjgsIDg2LCA0OCwgNTAsIDUxLCAxMjgsIDg2LCA0OCwgCisgICAgNTAsIDUwLCAxMjgsIDg2LCA0OCwgNTAsIDQ5LCAxMjgsIDg2LCA0OCwgNTAsIDQ4LCA3NiwgMTI4LCA4NiwgNDgsIDUwLCAKKyAgICA0OCwgNzUsIDEyOCwgODYsIDQ4LCA1MCwgNDgsIDc0LCAxMjgsIDg2LCA0OCwgNTAsIDQ4LCA3MywgMTI4LCA4NiwgNDgsIAorICAgIDUwLCA0OCwgNzIsIDEyOCwgODYsIDQ4LCA1MCwgNDgsIDcxLCAxMjgsIDg2LCA0OCwgNTAsIDQ4LCA3MCwgMTI4LCA4NiwgCisgICAgNDgsIDUwLCA0OCwgNjksIDEyOCwgODYsIDQ4LCA1MCwgNDgsIDY4LCAxMjgsIDg2LCA0OCwgNTAsIDQ4LCA2NywgMTI4LCAKKyAgICA4NiwgNDgsIDUwLCA0OCwgNjYsIDEyOCwgODYsIDQ4LCA1MCwgNDgsIDY1LCAxMjgsIDg2LCA0OCwgNTAsIDQ4LCAxMjgsIAorICAgIDg2LCA0OCwgNDksIDU3LCAxMjgsIDg2LCA0OCwgNDksIDU2LCAxMjgsIDg2LCA0OCwgNDksIDU1LCAxMjgsIDg2LCA0OCwgCisgICAgNDksIDU0LCAxMjgsIDg2LCA0OCwgNDksIDUzLCAxMjgsIDg2LCA0OCwgNDksIDUyLCAxMjgsIDg2LCA0OCwgNDksIDUxLCAKKyAgICAxMjgsIDg2LCA0OCwgNDksIDUwLCA2NiwgMTI4LCA4NiwgNDgsIDQ5LCA1MCwgNjUsIDEyOCwgODYsIDQ4LCA0OSwgNTAsIAorICAgIDEyOCwgODYsIDQ4LCA0OSwgNDksIDY3LCAxMjgsIDg2LCA0OCwgNDksIDQ5LCA2NiwgMTI4LCA4NiwgNDgsIDQ5LCA0OSwgCisgICAgNjUsIDEyOCwgODYsIDQ4LCA0OSwgNDksIDEyOCwgODYsIDQ4LCA0OSwgNDgsIDEyOCwgODYsIDQ4LCA0OCwgNTcsIDEyOCwgCisgICAgODYsIDQ4LCA0OCwgNTYsIDEyOCwgODYsIDQ4LCA0OCwgNTUsIDY2LCAxMjgsIDg2LCA0OCwgNDgsIDU1LCA2NSwgMTI4LCAKKyAgICA4NiwgNDgsIDQ4LCA1NSwgMTI4LCA4NiwgNDgsIDQ4LCA1NCwgMTI4LCA4NiwgNDgsIDQ4LCA1MywgMTI4LCA4NiwgNDgsIAorICAgIDQ4LCA1MiwgMTI4LCA4NiwgNDgsIDQ4LCA1MSwgMTI4LCA4NiwgNDgsIDQ4LCA1MCwgNjUsIDEyOCwgODYsIDQ4LCA0OCwgCisgICAgNTAsIDEyOCwgODYsIDQ4LCA0OCwgNDksIDczLCAxMjgsIDg2LCA0OCwgNDgsIDQ5LCA3MiwgMTI4LCA4NiwgNDgsIDQ4LCAKKyAgICA0OSwgNzEsIDEyOCwgODYsIDQ4LCA0OCwgNDksIDcwLCAxMjgsIDg2LCA0OCwgNDgsIDQ5LCA2OSwgMTI4LCA4NiwgNDgsIAorICAgIDQ4LCA0OSwgNjgsIDEyOCwgODYsIDQ4LCA0OCwgNDksIDY3LCAxMjgsIDg2LCA0OCwgNDgsIDQ5LCA2NiwgMTI4LCA4NiwgCisgICAgNDgsIDQ4LCA0OSwgNjUsIDEyOCwgODYsIDQ4LCA0OCwgNDksIDEyOCwgODUsIDkwLCA4NSwgMTI4LCA4NSwgOTAsIDUxLCAKKyAgICAxMjgsIDg1LCA5MCwgMTc5LCA4NSwgODksIDY1LCA3OCwgNzgsIDY1LCAxMjgsIDg1LCA4OSwgMTI4LCA4NSwgODcsIDg1LCAKKyAgICAxMjgsIDg1LCA4NSwgODksIDY1LCA3OCwgNzgsIDY1LCAxMjgsIDg1LCA4NSwgODUsIDg1LCAxMjgsIDg1LCA4NSwgODUsIAorICAgIDUxLCAxMjgsIDg1LCA4NSwgODUsIDUwLCAxMjgsIDg1LCA4NSwgNjksIDEyOCwgODUsIDg0LCA4NSwgNzUsIDczLCAxMjgsIAorICAgIDg1LCA4MywgODMsIDg1LCA1MSwgMTI4LCA4NSwgODMsIDgzLCA4NSwgMTI4LCA4NSwgODMsIDcyLCA4OCwgMTI4LCA4NSwgCisgICAgODMsIDcyLCA4NSwgNzcsIDg4LCAxMjgsIDg1LCA4MywgNzIsIDY5LCA3OCwgNzgsIDY1LCAxMjgsIDg1LCA4MywgNzIsIDUwLCAKKyAgICAxMjgsIDg1LCA4MywgNzIsIDEyOCwgODUsIDgzLCAyMDAsIDg1LCA4MywgNjksIDE5NiwgODUsIDgzLCA2OSwgNDUsIDUwLCAKKyAgICAxMjgsIDg1LCA4MywgNjksIDQ1LCA0OSwgMTI4LCA4NSwgODMsIDY5LCAxMjgsIDg1LCA4MywgMTk3LCA4NSwgODIsIDg1LCAKKyAgICAyMTgsIDg1LCA4MiwgODUsIDgzLCAxMjgsIDg1LCA4MiwgODUsIDY4LCA2NSwgMTI4LCA4NSwgODIsIDg1LCA2OCwgMTkzLCAKKyAgICA4NSwgODIsIDg1LCAxMjgsIDg1LCA4MiwgMjEzLCA4NSwgODIsIDc4LCAxMjgsIDg1LCA4MiwgNzMsIDc4LCA2OSwgMTI4LCAKKyAgICA4NSwgODIsIDczLCA1MSwgMTI4LCA4NSwgODIsIDczLCAxMjgsIDg1LCA4MiwgNjUsIDc4LCA4NSwgODMsIDEyOCwgODUsIAorICAgIDgyLCA2NSwgMTI4LCA4NSwgODIsIDUyLCAxMjgsIDg1LCA4MiwgNTAsIDEyOCwgODUsIDgyLCAxNzgsIDg1LCA4MCwgODcsIAorICAgIDY1LCA4MiwgNjgsIDgzLCAxMjgsIDg1LCA4MCwgODcsIDY1LCA4MiwgNjgsIDEyOCwgODUsIDgwLCA4NywgNjUsIDgyLCAKKyAgICAxOTYsIDg1LCA4MCwgODQsIDg1LCA4MiwgNzgsIDEyOCwgODUsIDgwLCA4MywgNzMsIDc2LCA3OSwgNzgsIDEyOCwgODUsIAorICAgIDgwLCA4MywgNzMsIDc2LCA3OSwgMjA2LCA4NSwgODAsIDgyLCA3MywgNzEsIDcyLCAyMTIsIDg1LCA4MCwgODAsIDY5LCAKKyAgICAyMTAsIDg1LCA4MCwgNjUsIDY4LCA3MiwgNzcsIDY1LCA3OCwgNzMsIDg5LCA2NSwgMTI4LCA4NSwgODAsIDQ1LCA4MCwgNzksIAorICAgIDczLCA3OCwgODQsIDczLCA3OCwgMTk5LCA4NSwgNzksIDc4LCAxMjgsIDg1LCA3OCwgNzgsIDEyOCwgODUsIDc4LCA3NywgCisgICAgNjUsIDgyLCA4MiwgNzMsIDY5LCAxOTYsIDg1LCA3OCwgNzUsIDc4LCA3OSwgODcsIDc4LCAxMjgsIDg1LCA3OCwgNzMsIDg2LCAKKyAgICA2OSwgODIsIDgzLCA2NSwgMjA0LCA4NSwgNzgsIDczLCA4NCwgODksIDEyOCwgODUsIDc4LCA3MywgODQsIDEyOCwgODUsIAorICAgIDc4LCA3MywgMjEyLCA4NSwgNzgsIDczLCA3OSwgNzgsIDEyOCwgODUsIDc4LCA3MywgNzksIDIwNiwgODUsIDc4LCA3MywgCisgICAgNzAsIDczLCA2OSwgMTk2LCA4NSwgNzgsIDY4LCAyMDcsIDg1LCA3OCwgNjgsIDY5LCA4MiwgODQsIDczLCA2OSwgMTI4LCAKKyAgICA4NSwgNzgsIDY4LCA2OSwgODIsIDc2LCA3MywgNzgsIDE5NywgODUsIDc4LCA2OCwgNjksIDgyLCA2OCwgNzksIDg0LCAxMjgsIAorICAgIDg1LCA3OCwgNjgsIDY5LCA4MiwgNjYsIDY1LCA4MiwgMTI4LCA4NSwgNzgsIDY4LCA2OSwgMjEwLCA4NSwgNzgsIDY3LCA3MywgCisgICAgMTkzLCA4NSwgNzgsIDY3LCA2OSwgODIsIDg0LCA2NSwgNzMsIDc4LCA4NCwgMjE3LCA4NSwgNzgsIDY1LCA4MywgODAsIDczLCAKKyAgICA4MiwgNjUsIDg0LCA2OSwgNjgsIDEyOCwgODUsIDc4LCA2NSwgODAsIDEyOCwgODUsIDc4LCA2NSwgNzcsIDg1LCA4MywgNjksIAorICAgIDE5NiwgODUsIDc4LCA2NSwgMTI4LCA4NSwgMjA2LCA4NSwgNzcsIDg1LCA3NywgMTI4LCA4NSwgNzcsIDg1LCAyMDUsIDg1LCAKKyAgICA3NywgNjYsIDgyLCA2OSwgNzYsIDc2LCA2NSwgMTI4LCA4NSwgNzcsIDY2LCA4MiwgNjksIDc2LCA3NiwgMTkzLCA4NSwgNzcsIAorICAgIDY2LCA3MywgNzgsIDEyOCwgODUsIDc1LCA4NSwgMTI4LCA4NSwgNzUsIDgyLCA2NSwgNzMsIDc4LCA3MywgNjUsIDIwNiwgCisgICAgODUsIDc1LCA2NSwgODIsIDY1LCAxMjgsIDg1LCA3NSwgNjUsIDgyLCAxOTMsIDg1LCA3NSwgMTI4LCA4NSwgNzMsIDc2LCAKKyAgICA3NiwgNjksIDY1LCA3OCwgNzgsIDEyOCwgODUsIDczLCA3MSwgNzIsIDg1LCAyMTAsIDg1LCA3MSwgNjUsIDgyLCA3MywgODQsIAorICAgIDczLCAxOTUsIDg1LCA2OSwgODksIDEyOCwgODUsIDY5LCA3MywgMTI4LCA4NSwgNjksIDY5LCAxMjgsIDg1LCA2OSwgNjUsIAorICAgIDEyOCwgODUsIDY4LCA4NSwgNzEsIDEyOCwgODUsIDY4LCA2NSwgODQsIDg0LCA2NSwgMTI4LCA4NSwgNjgsIDY1LCA4NCwgCisgICAgODQsIDE5MywgODUsIDY4LCA2NSwgNjUsIDg0LCAxMjgsIDg1LCA2OCwgMTI4LCA4NSwgMTk2LCA4NSwgNjcsIDEyOCwgODUsIAorICAgIDY2LCA4NSwgNzAsIDczLCA3NiwgNzMsIDEyOCwgODUsIDY2LCA3MiwgNjUsIDg5LCA2NSwgODQsIDIwNywgODUsIDY2LCA2NSwgCisgICAgNjgsIDY1LCA3NywgNjUsIDEyOCwgODUsIDY2LCAxMjgsIDg1LCA2NSwgODQsIDcyLCAxMjgsIDg1LCA2NSwgNzgsIDcxLCAKKyAgICAxMjgsIDg1LCA2NSwgMTI4LCA4NSwgMTc4LCA4NSwgNDgsIDUyLCA1MCwgMTI4LCA4NSwgNDgsIDUyLCA0OSwgMTI4LCA4NSwgCisgICAgNDgsIDUyLCA0OCwgMTI4LCA4NSwgNDgsIDUxLCA1NywgMTI4LCA4NSwgNDgsIDUxLCA1NiwgMTI4LCA4NSwgNDgsIDUxLCAKKyAgICA1NSwgMTI4LCA4NSwgNDgsIDUxLCA1NCwgMTI4LCA4NSwgNDgsIDUxLCA1MywgMTI4LCA4NSwgNDgsIDUxLCA1MiwgMTI4LCAKKyAgICA4NSwgNDgsIDUxLCA1MSwgMTI4LCA4NSwgNDgsIDUxLCA1MCwgNjUsIDEyOCwgODUsIDQ4LCA1MSwgNTAsIDEyOCwgODUsIAorICAgIDQ4LCA1MSwgNDksIDEyOCwgODUsIDQ4LCA1MSwgNDgsIDEyOCwgODUsIDQ4LCA1MCwgNTcsIDY1LCAxMjgsIDg1LCA0OCwgCisgICAgNTAsIDU3LCAxMjgsIDg1LCA0OCwgNTAsIDU2LCAxMjgsIDg1LCA0OCwgNTAsIDU1LCAxMjgsIDg1LCA0OCwgNTAsIDU0LCAKKyAgICAxMjgsIDg1LCA0OCwgNTAsIDUzLCAxMjgsIDg1LCA0OCwgNTAsIDUyLCAxMjgsIDg1LCA0OCwgNTAsIDUxLCA2NSwgMTI4LCAKKyAgICA4NSwgNDgsIDUwLCA1MSwgMTI4LCA4NSwgNDgsIDUwLCA1MCwgMTI4LCA4NSwgNDgsIDUwLCA0OSwgMTI4LCA4NSwgNDgsIAorICAgIDUwLCA0OCwgMTI4LCA4NSwgNDgsIDQ5LCA1NywgMTI4LCA4NSwgNDgsIDQ5LCA1NiwgMTI4LCA4NSwgNDgsIDQ5LCA1NSwgCisgICAgMTI4LCA4NSwgNDgsIDQ5LCA1NCwgMTI4LCA4NSwgNDgsIDQ5LCA1MywgMTI4LCA4NSwgNDgsIDQ5LCA1MiwgMTI4LCA4NSwgCisgICAgNDgsIDQ5LCA1MSwgMTI4LCA4NSwgNDgsIDQ5LCA1MCwgMTI4LCA4NSwgNDgsIDQ5LCA0OSwgMTI4LCA4NSwgNDgsIDQ5LCAKKyAgICA0OCwgMTI4LCA4NSwgNDgsIDQ4LCA1NywgMTI4LCA4NSwgNDgsIDQ4LCA1NiwgMTI4LCA4NSwgNDgsIDQ4LCA1NSwgMTI4LCAKKyAgICA4NSwgNDgsIDQ4LCA1NCwgNjYsIDEyOCwgODUsIDQ4LCA0OCwgNTQsIDY1LCAxMjgsIDg1LCA0OCwgNDgsIDU0LCAxMjgsIAorICAgIDg1LCA0OCwgNDgsIDUzLCAxMjgsIDg1LCA0OCwgNDgsIDUyLCAxMjgsIDg1LCA0OCwgNDgsIDUxLCAxMjgsIDg1LCA0OCwgCisgICAgNDgsIDUwLCAxMjgsIDg1LCA0OCwgNDgsIDQ5LCAxMjgsIDg1LCA0NSwgODMsIDcyLCA2NSwgODAsIDY5LCAxOTYsIDg1LCAKKyAgICA0NSwgNzMsIDQ1LCA3MywgMTI4LCA4NSwgNDUsIDY5LCA3OSwgNDUsIDY5LCA4NSwgMTI4LCA4NSwgNDUsIDY2LCA4MiwgNzQsIAorICAgIDcxLCA4NSwgMTI4LCA4NCwgOTAsIDg1LCAxMjgsIDg0LCA5MCwgNzksIDY1LCAxMjgsIDg0LCA5MCwgNzksIDEyOCwgODQsIAorICAgIDkwLCA3MywgMjEwLCA4NCwgOTAsIDczLCAxMjgsIDg0LCA5MCwgNjksIDY5LCAxMjgsIDg0LCA5MCwgNjksIDEyOCwgODQsIAorICAgIDkwLCA2NSwgNjUsIDEyOCwgODQsIDkwLCA2NSwgMTI4LCA4NCwgOTAsIDEyOCwgODQsIDg5LCAyMTAsIDg0LCA4OSwgODAsIAorICAgIDY5LCA0NSwgMTgzLCA4NCwgODksIDgwLCA2OSwgNDUsIDE4MiwgODQsIDg5LCA4MCwgNjksIDQ1LCAxODEsIDg0LCA4OSwgCisgICAgODAsIDY5LCA0NSwgMTgwLCA4NCwgODksIDgwLCA2OSwgNDUsIDE3OSwgODQsIDg5LCA4MCwgNjksIDQ1LCAxNzgsIDg0LCAKKyAgICA4OSwgODAsIDY5LCA0NSwgMTc3LCA4NCwgODksIDgwLCAxOTcsIDg0LCA4OSwgNzksIDEyOCwgODQsIDg5LCA3MywgMTI4LCAKKyAgICA4NCwgODksIDY5LCAxMjgsIDg0LCA4OSwgNjUsIDg5LCAxMjgsIDg0LCA4OSwgNjUsIDEyOCwgODQsIDg4LCA4NywgODYsIAorICAgIDEyOCwgODQsIDg4LCA4NywgMjE0LCA4NCwgODgsIDcyLCA2OSwgNjksIDIwMiwgODQsIDg3LCA3OSwgNzksIDEyOCwgODQsIAorICAgIDg3LCA3OSwgNDUsIDg3LCA2NSwgMjE3LCA4NCwgODcsIDc5LCA0NSwgODQsIDcyLCA3MywgODIsIDg0LCA4OSwgMTI4LCA4NCwgCisgICAgODcsIDc5LCA0NSwgNzYsIDczLCA3OCwgMTk3LCA4NCwgODcsIDc5LCA0NSwgNzIsIDY5LCA2NSwgNjgsIDY5LCAxOTYsIDg0LCAKKyAgICA4NywgNzksIDQ1LCA2OSwgMjA1LCA4NCwgODcsIDczLCA4MywgODQsIDY5LCAxOTYsIDg0LCA4NywgNzMsIDczLCAxMjgsIAorICAgIDg0LCA4NywgNzMsIDEyOCwgODQsIDg3LCA2OSwgNzgsIDg0LCA4OSwgNDUsIDg0LCA4NywgNzksIDEyOCwgODQsIDg3LCA2OSwgCisgICAgNzgsIDg0LCA4OSwgNDUsIDg0LCA3MiwgODIsIDY5LCA2OSwgMTI4LCA4NCwgODcsIDY5LCA3OCwgODQsIDg5LCA0NSwgODMsIAorICAgIDczLCA4OCwgMTI4LCA4NCwgODcsIDY5LCA3OCwgODQsIDg5LCA0NSwgODMsIDY5LCA4NiwgNjksIDc4LCAxMjgsIDg0LCA4NywgCisgICAgNjksIDc4LCA4NCwgODksIDQ1LCA3OSwgNzgsIDY5LCAxMjgsIDg0LCA4NywgNjksIDc4LCA4NCwgODksIDQ1LCA3OCwgNzMsIAorICAgIDc4LCA2OSwgMTI4LCA4NCwgODcsIDY5LCA3OCwgODQsIDg5LCA0NSwgNzAsIDc5LCA4NSwgODIsIDEyOCwgODQsIDg3LCA2OSwgCisgICAgNzgsIDg0LCA4OSwgNDUsIDcwLCA3MywgODYsIDY5LCAxMjgsIDg0LCA4NywgNjksIDc4LCA4NCwgODksIDQ1LCA2OSwgNzMsIAorICAgIDcxLCA3MiwgODQsIDIwMCwgODQsIDg3LCA2OSwgNzgsIDg0LCA4OSwgNDUsIDY5LCA3MywgNzEsIDcyLCA4NCwgMTI4LCA4NCwgCisgICAgODcsIDY5LCA3OCwgODQsIDg5LCAxMjgsIDg0LCA4NywgNjksIDc4LCA4NCwgMjE3LCA4NCwgODcsIDY5LCA3NiwgODYsIDY5LCAKKyAgICA0NSwgODQsIDcyLCA3MywgODIsIDg0LCA4OSwgMTI4LCA4NCwgODcsIDY5LCA3NiwgODYsIDY5LCAxMjgsIDg0LCA4NywgNjksIAorICAgIDc2LCA4NiwgMTk3LCA4NCwgODcsIDY5LCAxMjgsIDg0LCA4NywgNjUsIDY1LCAxMjgsIDg0LCA4NywgNjUsIDEyOCwgODQsIAorICAgIDg2LCA4MiwgNzMsIDY4LCA3OSwgMTI4LCA4NCwgODYsIDczLCA3NywgNjUsIDY4LCA4NSwgMjEwLCA4NCwgODUsIDg4LCAKKyAgICAxMjgsIDg0LCA4NSwgODUsIDc3LCA4NSwgMTI4LCA4NCwgODUsIDg1LCAxMjgsIDg0LCA4NSwgODQsIDg0LCA4OSwgMTI4LCAKKyAgICA4NCwgODUsIDg0LCA2OSwgODksIDY1LCA4MywgNjUsIDg0LCAxMjgsIDg0LCA4NSwgODQsIDEyOCwgODQsIDg1LCA4MiwgODgsIAorICAgIDEyOCwgODQsIDg1LCA4MiwgODUsIDEyOCwgODQsIDg1LCA4MiwgODQsIDc2LCA2OSwgMTI4LCA4NCwgODUsIDgyLCA3OSwgCisgICAgNTAsIDEyOCwgODQsIDg1LCA4MiwgNzgsIDgzLCA4NCwgNzMsIDc2LCA2OSwgMTI4LCA4NCwgODUsIDgyLCAyMDYsIDg0LCAKKyAgICA4NSwgODIsIDc1LCA3MywgODMsIDIwMCwgODQsIDg1LCA4MiwgNzUsIDczLCAxOTUsIDg0LCA4NSwgODIsIDY2LCA2NSwgNzgsIAorICAgIDEyOCwgODQsIDg1LCA4MiwgMTI4LCA4NCwgODUsIDgwLCAxMjgsIDg0LCA4NSwgNzksIDg4LCAxMjgsIDg0LCA4NSwgNzksIAorICAgIDg0LCAxMjgsIDg0LCA4NSwgNzksIDgwLCAxMjgsIDg0LCA4NSwgNzksIDEyOCwgODQsIDg1LCA3OCwgNzgsIDg5LCAxMjgsIAorICAgIDg0LCA4NSwgNzcsIDY5LCA4NCwgNjksIDgzLCAxMjgsIDg0LCA4NSwgNzcsIDY1LCA2OSwgMTI4LCA4NCwgODUsIDc3LCAKKyAgICAxMjgsIDg0LCA4NSwgNzYsIDczLCA4MCwgMTI4LCA4NCwgODUsIDc1LCA4NywgNjksIDc4LCA4NCwgNzMsIDgzLCAxMjgsIAorICAgIDg0LCA4NSwgNzUsIDEyOCwgODQsIDg1LCA3MSwgODIsIDczLCAyMDMsIDg0LCA4NSwgNzEsIDUwLCAxMjgsIDg0LCA4NSwgCisgICAgNzEsIDE3OCwgODQsIDg1LCA2NiwgMTI4LCA4NCwgODUsIDY1LCA4MiwgNjksIDE5OSwgODQsIDg1LCA2NSwgNjksIDgwLCAKKyAgICAxMjgsIDg0LCA4NSwgNjUsIDY5LCAxMjgsIDg0LCAyMTMsIDg0LCA4NCwgODUsIDg1LCAxMjgsIDg0LCA4NCwgODUsIDY4LCAKKyAgICA2OCwgNjUsIDcxLCAxMjgsIDg0LCA4NCwgODUsIDY4LCA2OCwgNjUsIDY1LCA3MSwgMTI4LCA4NCwgODQsIDg1LCAxMjgsIAorICAgIDg0LCA4NCwgODQsIDcyLCA2NSwgMTI4LCA4NCwgODQsIDg0LCA2NSwgMTI4LCA4NCwgODQsIDgzLCA4NSwgMTI4LCA4NCwgCisgICAgODQsIDgzLCA3OSwgMTI4LCA4NCwgODQsIDgzLCA3MywgMTI4LCA4NCwgODQsIDgzLCA2OSwgNjksIDEyOCwgODQsIDg0LCAKKyAgICA4MywgNjksIDEyOCwgODQsIDg0LCA4MywgNjUsIDEyOCwgODQsIDg0LCA3OSwgNzksIDEyOCwgODQsIDg0LCA3MywgNzMsIAorICAgIDEyOCwgODQsIDg0LCA3MywgMTI4LCA4NCwgODQsIDcyLCA4NywgNjksIDEyOCwgODQsIDg0LCA3MiwgODUsIDEyOCwgODQsIAorICAgIDg0LCA3MiwgNzksIDc5LCAxMjgsIDg0LCA4NCwgNzIsIDc5LCAxMjgsIDg0LCA4NCwgNzIsIDczLCAxMjgsIDg0LCA4NCwgCisgICAgNzIsIDY5LCA2OSwgMTI4LCA4NCwgODQsIDcyLCA2OSwgMTI4LCA4NCwgODQsIDcyLCA2NSwgNjUsIDEyOCwgODQsIDg0LCAKKyAgICA3MiwgMTI4LCA4NCwgODQsIDY5LCA3MiwgNjksIDcyLCAxMjgsIDg0LCA4NCwgNjksIDcyLCA2OSwgMjAwLCA4NCwgODQsIAorICAgIDY5LCA3MiwgMTI4LCA4NCwgODQsIDY5LCAyMDAsIDg0LCA4NCwgNjksIDY5LCAxMjgsIDg0LCA4NCwgNjUsIDg5LCA2NSwgCisgICAgNzgsIDc4LCA2NSwgMTI4LCA4NCwgODQsIDY1LCA4NSwgMTI4LCA4NCwgODQsIDY1LCA3MywgMTI4LCA4NCwgODQsIDY1LCAKKyAgICA2NSwgMTI4LCA4NCwgODQsIDUwLCAxMjgsIDg0LCA4MywgODcsIDY5LCAxMjgsIDg0LCA4MywgODcsIDY2LCAxMjgsIDg0LCAKKyAgICA4MywgODcsIDY1LCAxMjgsIDg0LCA4MywgODYsIDEyOCwgODQsIDgzLCA4MywgNjksIDEyOCwgODQsIDgzLCA4MywgNjUsIAorICAgIDEyOCwgODQsIDgzLCA3OSwgMjE0LCA4NCwgODMsIDczLCA4NSwgMTI4LCA4NCwgODMsIDcyLCA4NSwgNzEsIDgzLCAxMjgsIAorICAgIDg0LCA4MywgNzIsIDc5LCA3OSwgNzUsIDEyOCwgODQsIDgzLCA3MiwgNzksIDc5LCAyMDMsIDg0LCA4MywgNzIsIDc5LCA3OSwgCisgICAgNzQsIDEyOCwgODQsIDgzLCA3MiwgNjksIDgzLCAxMjgsIDg0LCA4MywgNzIsIDY5LCA3MSwgMTI4LCA4NCwgODMsIDcyLCAKKyAgICA2OSwgMTk5LCA4NCwgODMsIDcyLCA2OSwgNjksIDc0LCAxMjgsIDg0LCA4MywgNzIsIDY5LCAxMjgsIDg0LCA4MywgNzIsIAorICAgIDY1LCAxOTQsIDg0LCA4MywgNzIsIDY1LCAxMjgsIDg0LCA4MywgNjksIDgyLCA2OSwgMTI4LCA4NCwgODMsIDY5LCA2OSwgCisgICAgNjYsIDEyOCwgODQsIDgzLCA2NSwgNjgsIDczLCAxMjgsIDg0LCA4MywgNjUsIDY4LCAyMDEsIDg0LCA4MywgNjUsIDY2LCAKKyAgICAxMjgsIDg0LCA4MywgNjUsIDY1LCA2OCwgNzMsIDg5LCAxMjgsIDg0LCA4MywgNjUsIDY1LCAxMjgsIDg0LCA4MywgMTkzLCAKKyAgICA4NCwgODIsIDg5LCA2NiwgNzYsIDczLCA3OSwgMjA2LCA4NCwgODIsIDg1LCA4NCwgNzIsIDEyOCwgODQsIDgyLCA4NSwgNzgsIAorICAgIDc1LCAxMjgsIDg0LCA4MiwgODUsIDc4LCA2NywgNjUsIDg0LCA2OSwgMTk2LCA4NCwgODIsIDg1LCA3NywgODAsIDY5LCA4NCwgCisgICAgMTI4LCA4NCwgODIsIDg1LCA3NywgODAsIDQ1LCA1NywgMTI4LCA4NCwgODIsIDg1LCA3NywgODAsIDQ1LCA1NiwgMTI4LCAKKyAgICA4NCwgODIsIDg1LCA3NywgODAsIDQ1LCA1NSwgMTI4LCA4NCwgODIsIDg1LCA3NywgODAsIDQ1LCA1NCwgMTI4LCA4NCwgODIsIAorICAgIDg1LCA3NywgODAsIDQ1LCA1MywgMTI4LCA4NCwgODIsIDg1LCA3NywgODAsIDQ1LCA1MiwgMTI4LCA4NCwgODIsIDg1LCA3NywgCisgICAgODAsIDQ1LCA1MSwgMTI4LCA4NCwgODIsIDg1LCA3NywgODAsIDQ1LCA1MCwgNDksIDEyOCwgODQsIDgyLCA4NSwgNzcsIDgwLCAKKyAgICA0NSwgNTAsIDQ4LCAxMjgsIDg0LCA4MiwgODUsIDc3LCA4MCwgNDUsIDUwLCAxMjgsIDg0LCA4MiwgODUsIDc3LCA4MCwgNDUsIAorICAgIDQ5LCA1NywgMTI4LCA4NCwgODIsIDg1LCA3NywgODAsIDQ1LCA0OSwgNTYsIDEyOCwgODQsIDgyLCA4NSwgNzcsIDgwLCA0NSwgCisgICAgNDksIDU1LCAxMjgsIDg0LCA4MiwgODUsIDc3LCA4MCwgNDUsIDQ5LCA1NCwgMTI4LCA4NCwgODIsIDg1LCA3NywgODAsIDQ1LCAKKyAgICA0OSwgNTMsIDEyOCwgODQsIDgyLCA4NSwgNzcsIDgwLCA0NSwgNDksIDUyLCAxMjgsIDg0LCA4MiwgODUsIDc3LCA4MCwgNDUsIAorICAgIDQ5LCA1MSwgMTI4LCA4NCwgODIsIDg1LCA3NywgODAsIDQ1LCA0OSwgNTAsIDEyOCwgODQsIDgyLCA4NSwgNzcsIDgwLCA0NSwgCisgICAgNDksIDQ5LCAxMjgsIDg0LCA4MiwgODUsIDc3LCA4MCwgNDUsIDQ5LCA0OCwgMTI4LCA4NCwgODIsIDg1LCA3NywgODAsIDQ1LCAKKyAgICA0OSwgMTI4LCA4NCwgODIsIDg1LCA2OSwgMTI4LCA4NCwgODIsIDg1LCA2NywgNzUsIDEyOCwgODQsIDgyLCA3OSwgODAsIAorICAgIDczLCA2NywgNjUsIDIwNCwgODQsIDgyLCA3OSwgODAsIDcyLCA4OSwgMTI4LCA4NCwgODIsIDc5LCA3NywgNzMsIDc1LCA3OSwgCisgICAgODMsIDg5LCA3OCwgNjUsIDcxLCA3NywgNjUsIDEyOCwgODQsIDgyLCA3OSwgNzcsIDczLCA3NSwgNzksIDgwLCA4MywgNzMsIAorICAgIDcwLCA3MywgODMsIDg0LCA3OSwgNzgsIDEyOCwgODQsIDgyLCA3OSwgNzcsIDczLCA3NSwgNzksIDgwLCA2NSwgODIsIDY1LCAKKyAgICA3NSwgNjUsIDc2LCA2OSwgODMsIDc3LCA2NSwgMTI4LCA4NCwgODIsIDc5LCA3NywgNzMsIDc1LCA3OSwgNzgsIDEyOCwgODQsIAorICAgIDgyLCA3OSwgNzcsIDczLCA3NSwgNzksIDIwNiwgODQsIDgyLCA3OSwgNzcsIDczLCA3NSwgNzksIDc2LCA4OSwgNzEsIDczLCAKKyAgICA4MywgNzcsIDY1LCAxMjgsIDg0LCA4MiwgNzksIDc2LCA3NiwgNjksIDg5LCA2NiwgODUsIDgzLCAxMjgsIDg0LCA4MiwgNzksIAorICAgIDc1LCA4NSwgODQsIDY1LCA4MywgODQsIDIwMSwgODQsIDgyLCA3OSwgNjksIDkwLCA2OSwgNzgsIDczLCA2NSwgMjA2LCA4NCwgCisgICAgODIsIDczLCA4NSwgNzcsIDgwLCA3MiwgMTI4LCA4NCwgODIsIDczLCA4NCwgNzksIDIxMSwgODQsIDgyLCA3MywgODQsIDczLCAKKyAgICA3NywgNzksIDgyLCA3MywgNzksIDc4LCAxMjgsIDg0LCA4MiwgNzMsIDgzLCA3MywgNzcsIDc5LCA4NSwgMTI4LCA4NCwgODIsIAorICAgIDczLCA4MywgNjksIDc3LCA2OSwgMTI4LCA4NCwgODIsIDczLCA4MCwgNzksIDY4LCAxMjgsIDg0LCA4MiwgNzMsIDgwLCA3NiwgCisgICAgNzMsIDEyOCwgODQsIDgyLCA3MywgODAsIDc2LCAxOTcsIDg0LCA4MiwgNzMsIDc5LCAyMDYsIDg0LCA4MiwgNzMsIDc2LCAKKyAgICA3NiwgNzMsIDc5LCA3OCwgODMsIDEyOCwgODQsIDgyLCA3MywgNzMsIDgzLCA2NSwgODAsIDEyOCwgODQsIDgyLCA3MywgNzEsIAorICAgIDgyLCA2NSwgNzcsIDc3LCA3OSwgMjExLCA4NCwgODIsIDczLCA3MSwgODIsIDY1LCAyMDUsIDg0LCA4MiwgNzMsIDcxLCA3OSwgCisgICAgODIsIDcxLCA3OSwgNzgsIDEyOCwgODQsIDgyLCA3MywgNzAsIDc5LCA3OCwgNzMsIDY1LCA4MywgMTI4LCA4NCwgODIsIDczLCAKKyAgICA3MCwgNzksIDc2LCA3MywgNjUsIDg0LCAxOTcsIDg0LCA4MiwgNzMsIDY4LCA2OSwgNzgsIDg0LCAxMjgsIDg0LCA4MiwgNzMsIAorICAgIDY4LCA2OSwgNzgsIDIxMiwgODQsIDgyLCA3MywgNjcsIDc5LCA3NiwgNzksIDc4LCAxMjgsIDg0LCA4MiwgNzMsIDY1LCA3OCwgCisgICAgNzEsIDg1LCA3NiwgNjUsIDIxMCwgODQsIDgyLCA3MywgNjUsIDc4LCA3MSwgNzYsIDY5LCA0NSwgODIsIDc5LCA4NSwgNzgsIAorICAgIDE5NiwgODQsIDgyLCA3MywgNjUsIDc4LCA3MSwgNzYsIDY5LCA0NSwgNzIsIDY5LCA2NSwgNjgsIDY5LCAxOTYsIDg0LCA4MiwgCisgICAgNzMsIDY1LCA3OCwgNzEsIDc2LCA2OSwgMTI4LCA4NCwgODIsIDczLCA2NSwgNzgsIDcxLCA3NiwgMTk3LCA4NCwgODIsIDczLCAKKyAgICA2NSwgMTI4LCA4NCwgODIsIDczLCAxMjgsIDg0LCA4MiwgNjksIDgzLCA3MywgNzYsIDc2LCA3OSwgMTI4LCA4NCwgODIsIAorICAgIDY5LCA3OCwgNjgsIDEyOCwgODQsIDgyLCA2OSwgNzgsIDE5NiwgODQsIDgyLCA2OSwgNzcsIDc5LCA3NiwgNzksIDQ1LCA1MSwgCiAgICAgMTI4LCA4NCwgODIsIDY5LCA3NywgNzksIDc2LCA3OSwgNDUsIDUwLCAxMjgsIDg0LCA4MiwgNjksIDc3LCA3OSwgNzYsIDc5LCAKICAgICA0NSwgNDksIDEyOCwgODQsIDgyLCA2OSwgNjksIDEyOCwgODQsIDgyLCA2OSwgMTk3LCA4NCwgODIsIDY5LCA2NSwgNjgsIAogICAgIDczLCA3OCwgNzEsIDEyOCwgODQsIDgyLCA2NSwgODksIDEyOCwgODQsIDgyLCA2NSwgODAsIDY5LCA5MCwgNzMsIDg1LCA3NywgCkBAIC01ODMsMTQxNCArNjExLDE0ODMgQEAKICAgICA4NCwgODIsIDY1LCAyMDUsIDg0LCA4MiwgNjUsIDczLCA3OCwgMTI4LCA4NCwgODIsIDY1LCA3MywgMjA2LCA4NCwgODIsIAogICAgIDY1LCA3MywgNzYsIDczLCA3OCwgMTk5LCA4NCwgODIsIDY1LCA3MCwgNzAsIDczLCA2NywgMTI4LCA4NCwgODIsIDY1LCA3MCwgCiAgICAgNzAsIDczLCAxOTUsIDg0LCA4MiwgNjUsIDY4LCAxOTcsIDg0LCA4MiwgNjUsIDY3LCA4NCwgNzksIDgyLCAxMjgsIDg0LCAKLSAgICA4MiwgNjUsIDY3LCA3NSwgMTI4LCA4NCwgODIsIDEyOCwgODQsIDc5LCA4OCwgMTI4LCA4NCwgNzksIDg3LCA2OSwgODIsIAotICAgIDEyOCwgODQsIDc5LCA4NSwgODIsIDc4LCA3OSwgNzMsIDIxMSwgODQsIDc5LCA4NCwgNjUsIDIwNCwgODQsIDc5LCA4NCwgCi0gICAgMTI4LCA4NCwgNzksIDgyLCA4NCwgNzksIDczLCA4MywgMTk3LCA4NCwgNzksIDgyLCA2NywgODUsIDc2LCA4NSwgODMsIAotICAgIDEyOCwgODQsIDc5LCA4MiwgNjcsIDg1LCA3NiwgODUsIDIxMSwgODQsIDc5LCA4MiwgNjcsIDcyLCAxMjgsIDg0LCA3OSwgCi0gICAgODEsIDEyOCwgODQsIDc5LCA4MCwgNjYsIDY1LCA4MiwgMTI4LCA4NCwgNzksIDgwLCA0NSwgNzYsIDczLCA3MSwgNzIsIDg0LCAKLSAgICA2OSwgMTk2LCA4NCwgNzksIDgwLCAxMjgsIDg0LCA3OSwgMjA4LCA4NCwgNzksIDc5LCA4NCwgNzIsIDEyOCwgODQsIDc5LCAKLSAgICA3OSwgNzgsIDEyOCwgODQsIDc5LCA3OCwgNzksIDgzLCAxMjgsIDg0LCA3OSwgNzgsIDcxLCA4NSwgNjksIDEyOCwgODQsIAotICAgIDc5LCA3OCwgNzEsIDg1LCAxOTcsIDg0LCA3OSwgNzgsIDcxLCAxMjgsIDg0LCA3OSwgNzgsIDY5LCA0NSwgNTYsIDEyOCwgCi0gICAgODQsIDc5LCA3OCwgNjksIDQ1LCA1NSwgMTI4LCA4NCwgNzksIDc4LCA2OSwgNDUsIDU0LCAxMjgsIDg0LCA3OSwgNzgsIDY5LCAKLSAgICA0NSwgNTMsIDEyOCwgODQsIDc5LCA3OCwgNjksIDQ1LCA1MiwgMTI4LCA4NCwgNzksIDc4LCA2OSwgNDUsIDUxLCAxMjgsIAotICAgIDg0LCA3OSwgNzgsIDY5LCA0NSwgNTAsIDEyOCwgODQsIDc5LCA3OCwgNjksIDQ1LCA0OSwgMTI4LCA4NCwgNzksIDc4LCA2OSwgCi0gICAgMTI4LCA4NCwgNzksIDc4LCA2NSwgMjA0LCA4NCwgNzksIDc3LCA4MCwgNzMsIDEyOCwgODQsIDc5LCA3NywgNjUsIDg0LCAKLSAgICA3OSwgMTI4LCA4NCwgNzksIDc2LCA3OSwgNzgsIDcxLCAxMjgsIDg0LCA3OSwgNzUsIDg5LCAyMDcsIDg0LCA3OSwgNzMsIAotICAgIDc2LCA2OSwgODQsIDEyOCwgODQsIDc5LCA3MSwgNjksIDg0LCA3MiwgNjksIDgyLCAxMjgsIDg0LCA3OSwgNjgsIDIwNywgCi0gICAgODQsIDc5LCA2NSwgNzgsIDY4LCA2NSwgNzUsIDcyLCA3MywgNjUsIDg0LCAxMjgsIDg0LCA3OSwgNjUsIDEyOCwgODQsIDc4LCAKLSAgICAxMjgsIDg0LCA3NiwgODYsIDEyOCwgODQsIDc2LCA4NSwgMTI4LCA4NCwgNzYsIDc5LCAxMjgsIDg0LCA3NiwgNzMsIDEyOCwgCi0gICAgODQsIDc2LCA3MiwgODksIDY1LCAxMjgsIDg0LCA3NiwgNzIsIDg3LCA2OSwgMTI4LCA4NCwgNzYsIDcyLCA4NSwgMTI4LCAKLSAgICA4NCwgNzYsIDcyLCA3OSwgNzksIDEyOCwgODQsIDc2LCA3MiwgNzksIDEyOCwgODQsIDc2LCA3MiwgNzMsIDEyOCwgODQsIAotICAgIDc2LCA3MiwgNjksIDY5LCAxMjgsIDg0LCA3NiwgNzIsIDY5LCAxMjgsIDg0LCA3NiwgNzIsIDY1LCAxMjgsIDg0LCA3NiwgCi0gICAgNjksIDY5LCAxMjgsIDg0LCA3NiwgNjUsIDEyOCwgODQsIDc0LCA2OSwgMTI4LCA4NCwgNzMsIDg4LCAxMjgsIDg0LCA3MywgCi0gICAgODcsIDc4LCAxMjgsIDg0LCA3MywgODcsIDY1LCAyMTgsIDg0LCA3MywgODQsIDg1LCA2NSwgNjksIDgwLCAxMjgsIDg0LCAKLSAgICA3MywgODQsIDc2LCA3OSwgMTI4LCA4NCwgNzMsIDg0LCAxOTMsIDg0LCA3MywgODQsIDEyOCwgODQsIDczLCA4MiwgODksIAotICAgIDY1LCA3NSwgMTI4LCA4NCwgNzMsIDgyLCA4NCwgMTkzLCA4NCwgNzMsIDgyLCA3OSwgNzgsIDczLCA2NSwgMjA2LCA4NCwgCi0gICAgNzMsIDgyLCA2OSwgMTk2LCA4NCwgNzMsIDgyLCAxMjgsIDg0LCA3MywgMjEwLCA4NCwgNzMsIDgwLCA4MCwgNzMsIDEyOCwgCi0gICAgODQsIDczLCA4MCwgNjksIDcyLCA2NSwgMTI4LCA4NCwgNzMsIDgwLCAxMjgsIDg0LCA3MywgMjA4LCA4NCwgNzMsIDc4LCAKLSAgICA4OSwgMTI4LCA4NCwgNzMsIDc4LCAyMTcsIDg0LCA3MywgNzgsIDc4LCA2OSwgMTI4LCA4NCwgNzMsIDc4LCA2NywgODQsIAotICAgIDg1LCA4MiwgNjksIDEyOCwgODQsIDczLCA3OCwgNjUsIDcxLCA3NywgNjUsIDEyOCwgODQsIDczLCA3NywgNjksIDgzLCAKLSAgICAxMjgsIDg0LCA3MywgNzcsIDY5LCAyMTAsIDg0LCA3MywgNzcsIDY5LCAxMjgsIDg0LCA3MywgNzYsIDY4LCAxOTcsIDg0LCAKLSAgICA3MywgNzYsIDEyOCwgODQsIDczLCAyMDQsIDg0LCA3MywgNzUsIDY5LCA4NSwgODQsIDQ1LCA4NCwgNzIsIDczLCA2OSwgODUsIAotICAgIDg0LCA3MiwgMTI4LCA4NCwgNzMsIDc1LCA2OSwgODUsIDg0LCA0NSwgODMsIDczLCA3OSwgODMsIDQ1LCA3NSwgNzMsIDg5LCAKLSAgICA2OSwgNzksIDc1LCAxMjgsIDg0LCA3MywgNzUsIDY5LCA4NSwgODQsIDQ1LCA4MywgNzMsIDc5LCA4MywgMTI4LCA4NCwgNzMsIAotICAgIDc1LCA2OSwgODUsIDg0LCA0NSwgODIsIDczLCA2OSwgODUsIDc2LCAxMjgsIDg0LCA3MywgNzUsIDY5LCA4NSwgODQsIDQ1LCAKLSAgICA4MCwgNzMsIDY5LCA4NSwgODAsIDEyOCwgODQsIDczLCA3NSwgNjksIDg1LCA4NCwgNDUsIDc3LCA3MywgNjksIDg1LCA3NywgCi0gICAgMTI4LCA4NCwgNzMsIDc1LCA2OSwgODUsIDg0LCA0NSwgNzUsIDczLCA4OSwgNjksIDc5LCA3NSwgMTI4LCA4NCwgNzMsIDc1LCAKLSAgICA2OSwgODUsIDg0LCA0NSwgNjcsIDczLCA2OSwgODUsIDY3LCAxMjgsIDg0LCA3MywgNzUsIDY5LCA4NSwgODQsIDQ1LCA2NywgCi0gICAgNzIsIDczLCA2OSwgODUsIDY3LCA3MiwgMTI4LCA4NCwgNzMsIDc1LCA2OSwgODUsIDg0LCAxMjgsIDg0LCA3MywgNzUsIDY5LCAKLSAgICA4NSwgMjEyLCA4NCwgNzMsIDcxLCA3MiwgODQsIDc2LCA4OSwgNDUsIDY3LCA3NiwgNzksIDgzLCA2OSwgMTk2LCA4NCwgNzMsIAotICAgIDcxLCA3MiwgMjEyLCA4NCwgNzMsIDcxLCA2OSwgODIsIDEyOCwgODQsIDczLCA3MSwgNjksIDIxMCwgODQsIDczLCA3MCwgCi0gICAgNzMsIDc4LCA2NSwgNzEsIDIwMCwgODQsIDczLCA2OSwgODgsIDEyOCwgODQsIDczLCA2OSwgODAsIDEyOCwgODQsIDczLCAKLSAgICAxOTcsIDg0LCA3MywgNjcsIDc1LCA2OSwgODQsIDEyOCwgODQsIDczLCA2NywgNzUsIDEyOCwgODQsIDczLCA2NywgMjAzLCAKLSAgICA4NCwgNzMsIDY1LCA4MiwgNjUsIDEyOCwgODQsIDcyLCA5MCwgMTI4LCA4NCwgNzIsIDg5LCA3OSwgNzksIDIwNSwgODQsIAotICAgIDcyLCA4NywgNzksIDc5LCAxMjgsIDg0LCA3MiwgODcsIDc5LCAxMjgsIDg0LCA3MiwgODcsIDczLCA3MywgMTI4LCA4NCwgCi0gICAgNzIsIDg3LCA3MywgMTI4LCA4NCwgNzIsIDg3LCA2OSwgNjksIDEyOCwgODQsIDcyLCA4NywgNjUsIDY1LCAxMjgsIDg0LCAKLSAgICA3MiwgODcsIDY1LCAxMjgsIDg0LCA3MiwgODUsIDgyLCAyMTEsIDg0LCA3MiwgODUsIDgyLCA3MywgODMsIDY1LCAyMTgsIAotICAgIDg0LCA3MiwgODUsIDc4LCA3MSwgMTI4LCA4NCwgNzIsIDg1LCA3OCwgNjgsIDY5LCA4MiwgODMsIDg0LCA3OSwgODIsIDc3LCAKLSAgICAxMjgsIDg0LCA3MiwgODUsIDc4LCA2OCwgNjksIDgyLCAxMjgsIDg0LCA3MiwgODUsIDc4LCA2OCwgNjksIDIxMCwgODQsIAotICAgIDcyLCA4NSwgNzcsIDY2LCAyMTEsIDg0LCA3MiwgODIsIDc5LCA4NywgNzMsIDc4LCAxOTksIDg0LCA3MiwgODIsIDc5LCA4NSwgCi0gICAgNzEsIDcyLCAxMjgsIDg0LCA3MiwgODIsIDc5LCA4NSwgNzEsIDIwMCwgODQsIDcyLCA4MiwgNjksIDY5LCA0NSwgODQsIDcyLCAKLSAgICA3MywgODIsIDg0LCA4OSwgMTI4LCA4NCwgNzIsIDgyLCA2OSwgNjksIDQ1LCA4MCwgNjksIDgyLCA0NSwgNjksIDIwNSwgODQsIAotICAgIDcyLCA4MiwgNjksIDY5LCA0NSwgNzYsIDczLCA3OCwgMTk3LCA4NCwgNzIsIDgyLCA2OSwgNjksIDQ1LCA2OSwgMjA1LCA4NCwgCi0gICAgNzIsIDgyLCA2OSwgNjksIDQ1LCAxOTYsIDg0LCA3MiwgODIsIDY5LCA2NSwgNjgsIDEyOCwgODQsIDcyLCA3OSwgODUsIDgzLCAKLSAgICA2NSwgNzgsIDY4LCAyMTEsIDg0LCA3MiwgNzksIDg1LCA4MywgNjUsIDc4LCA2OCwgMTI4LCA4NCwgNzIsIDc5LCA4NSwgODMsIAotICAgIDY1LCA3OCwgMTk2LCA4NCwgNzIsIDc5LCA4NSwgNzEsIDcyLCAyMTIsIDg0LCA3MiwgNzksIDg1LCAxMjgsIDg0LCA3MiwgCi0gICAgNzksIDgyLCA3OCwgMTI4LCA4NCwgNzIsIDc5LCA4MiwgMjA2LCA4NCwgNzIsIDc5LCA3OCwgNzEsIDEyOCwgODQsIDcyLCAKLSAgICA3OSwgNjUsIDEyOCwgODQsIDcyLCAyMDcsIDg0LCA3MiwgNzMsIDg1LCA4NCwgNzIsIDEyOCwgODQsIDcyLCA3MywgODQsIAotICAgIDY1LCAxMjgsIDg0LCA3MiwgNzMsIDgyLCA4NCwgODksIDQ1LCA4MywgNjksIDY3LCA3OSwgNzgsIDE5NiwgODQsIDcyLCA3MywgCi0gICAgODIsIDg0LCA4OSwgNDUsIDc5LCA3OCwgNjksIDEyOCwgODQsIDcyLCA3MywgODIsIDg0LCAyMTcsIDg0LCA3MiwgNzMsIDgyLCAKLSAgICA4NCwgNjksIDY5LCA3OCwgMTI4LCA4NCwgNzIsIDczLCA4MiwgODQsIDY5LCA2OSwgMjA2LCA4NCwgNzIsIDczLCA4MiwgNjgsIAotICAgIDgzLCAxMjgsIDg0LCA3MiwgNzMsIDgyLCA2OCwgMjExLCA4NCwgNzIsIDczLCA4MiwgNjgsIDEyOCwgODQsIDcyLCA3MywgCi0gICAgODIsIDE5NiwgODQsIDcyLCA3MywgMjA2LCA4NCwgNzIsIDczLCA3MywgMTI4LCA4NCwgNzIsIDczLCA3MSwgNzIsIDEyOCwgCi0gICAgODQsIDcyLCA3MywgNjksIDg1LCA4NCwgMjAwLCA4NCwgNzIsIDY5LCA4OSwgMTI4LCA4NCwgNzIsIDY5LCA4NCwgNzIsIDY5LCAKLSAgICAxMjgsIDg0LCA3MiwgNjksIDg0LCA3MiwgMTI4LCA4NCwgNzIsIDY5LCA4NCwgNjUsIDEyOCwgODQsIDcyLCA2OSwgODQsIAotICAgIDE5MywgODQsIDcyLCA2OSwgODMsIDgwLCA3MywgNjUsIDIwNiwgODQsIDcyLCA2OSwgODMsIDY5LCA3OSwgODMsIDEyOCwgCi0gICAgODQsIDcyLCA2OSwgODMsIDY5LCA3OSwgMjExLCA4NCwgNzIsIDY5LCAyMTEsIDg0LCA3MiwgNjksIDgyLCA3NywgNzksIDY4LCAKLSAgICA4OSwgNzgsIDY1LCA3NywgNzMsIDY3LCAxMjgsIDg0LCA3MiwgNjksIDgyLCA2OSwgNzAsIDc5LCA4MiwgNjksIDEyOCwgODQsIAotICAgIDcyLCA2OSwgODIsIDE5NywgODQsIDcyLCA2OSwgMjA2LCA4NCwgNzIsIDY5LCA3NywgNjUsIDg0LCA3MywgODMsIDc3LCA3OSwgCi0gICAgMjExLCA4NCwgNzIsIDY5LCA3NywgNjUsIDEyOCwgODQsIDcyLCA2OSwgNzcsIDE5MywgODQsIDcyLCA2OSwgNzIsIDEyOCwgCi0gICAgODQsIDcyLCA2OSwgMjAwLCA4NCwgNzIsIDE5NywgODQsIDcyLCA2NSwgODcsIDEyOCwgODQsIDcyLCA2NSwgNzgsIDg0LCAKLSAgICA3MiwgNjUsIDc1LCA3MiwgNjUsIDg0LCAxMjgsIDg0LCA3MiwgNjUsIDc4LCA3OCwgNjUsIDEyOCwgODQsIDcyLCA2NSwgNzgsIAotICAgIDEyOCwgODQsIDcyLCA2NSwgMjA2LCA4NCwgNzIsIDY1LCA3NiwgMTI4LCA4NCwgNzIsIDY1LCAyMDQsIDg0LCA3MiwgNjUsIAotICAgIDcyLCA2NSwgNzgsIDEyOCwgODQsIDcyLCA2NSwgNjUsIDc4LCAxOTMsIDg0LCA3MiwgNjUsIDY1LCA3NiwgODUsIDEyOCwgCi0gICAgODQsIDcyLCA0NSwgNjcsIDgyLCA2OSwgMTk3LCA4NCwgNjksIDg4LCA4NCwgMTI4LCA4NCwgNjksIDg4LCAxMjgsIDg0LCAKLSAgICA2OSwgODYsIDczLCA4MiwgMTI4LCA4NCwgNjksIDg1LCA4NCwgNjksIDg1LCA4OCwgMTI4LCA4NCwgNjksIDg1LCA4NCwgNjksIAotICAgIDg1LCA4NywgNjksIDc4LCAxMjgsIDg0LCA2OSwgODUsIDg0LCAxMjgsIDg0LCA2OSwgODUsIDc4LCAxMjgsIDg0LCA2OSwgCi0gICAgODUsIDY1LCA2OSwgODEsIDEyOCwgODQsIDY5LCA4NSwgNjUsIDY5LCA3OCwgMTI4LCA4NCwgNjksIDg1LCAxMjgsIDg0LCAKLSAgICA2OSwgODQsIDgyLCA2NSwgODMsIDczLCA3NywgNzksIDg1LCAxMjgsIDg0LCA2OSwgODQsIDgyLCA2NSwgODMsIDY5LCA3NywgCi0gICAgNjksIDEyOCwgODQsIDY5LCA4NCwgODIsIDY1LCA4MCwgNzYsIDczLCAxMjgsIDg0LCA2OSwgODQsIDgyLCA2NSwgNzAsIDc5LCAKLSAgICA3OCwgNzMsIDY1LCA4MywgMTI4LCA4NCwgNjksIDg0LCA3MiwgMTI4LCA4NCwgNjksIDg0LCAyMDAsIDg0LCA2OSwgODQsIAotICAgIDY1LCA4MiwgODQsIDc5LCAyMTEsIDg0LCA2OSwgODQsIDY1LCA4MiwgODQsIDczLCA3NywgNzksIDgyLCA3MywgNzksIDc4LCAKLSAgICAxMjgsIDg0LCA2OSwgODQsIDEyOCwgODQsIDY5LCAyMTIsIDg0LCA2OSwgODMsIDgzLCA2OSwgODIsIDY1LCAxMjgsIDg0LCAKLSAgICA2OSwgODMsIDgzLCA2OSwgODIsIDE5MywgODQsIDY5LCA4MywgODMsIDY1LCA4MiwgNzksIDIwNiwgODQsIDY5LCA4MywgCisgICAgODIsIDY1LCA2NywgNzUsIDY2LCA2NSwgNzYsIDc2LCAxMjgsIDg0LCA4MiwgNjUsIDY3LCA3NSwgMTI4LCA4NCwgODIsIDY1LCAKKyAgICAxMjgsIDg0LCA4MiwgMTI4LCA4NCwgNzksIDg4LCAxMjgsIDg0LCA3OSwgODcsIDY5LCA4MiwgMTI4LCA4NCwgNzksIDg2LCAKKyAgICAxMjgsIDg0LCA3OSwgODUsIDgyLCA3OCwgNzksIDczLCAyMTEsIDg0LCA3OSwgODUsIDY3LCA3MiwgODQsIDc5LCA3OCwgCisgICAgMTk3LCA4NCwgNzksIDg0LCA2NSwgMjA0LCA4NCwgNzksIDg0LCAxMjgsIDg0LCA3OSwgODMsIDEyOCwgODQsIDc5LCA4MiwgCisgICAgODQsIDc5LCA3MywgODMsIDE5NywgODQsIDc5LCA4MiwgNzgsIDY1LCA2OCwgNzksIDEyOCwgODQsIDc5LCA4MiwgNjcsIDg1LCAKKyAgICA3NiwgODUsIDgzLCAxMjgsIDg0LCA3OSwgODIsIDY3LCA4NSwgNzYsIDg1LCAyMTEsIDg0LCA3OSwgODIsIDY3LCA3MiwgCisgICAgMTI4LCA4NCwgNzksIDgxLCAxMjgsIDg0LCA3OSwgODAsIDY2LCA2NSwgODIsIDEyOCwgODQsIDc5LCA4MCwgNDUsIDc2LCAKKyAgICA3MywgNzEsIDcyLCA4NCwgNjksIDE5NiwgODQsIDc5LCA4MCwgMTI4LCA4NCwgNzksIDIwOCwgODQsIDc5LCA3OSwgODQsIAorICAgIDcyLCAxMjgsIDg0LCA3OSwgNzksIDc4LCAxMjgsIDg0LCA3OSwgNzgsIDc5LCA4MywgMTI4LCA4NCwgNzksIDc4LCA3MSwgCisgICAgODUsIDY5LCAxMjgsIDg0LCA3OSwgNzgsIDcxLCA4NSwgMTk3LCA4NCwgNzksIDc4LCA3MSwgMTI4LCA4NCwgNzksIDc4LCAKKyAgICA2OSwgNDUsIDU2LCAxMjgsIDg0LCA3OSwgNzgsIDY5LCA0NSwgNTUsIDEyOCwgODQsIDc5LCA3OCwgNjksIDQ1LCA1NCwgCisgICAgMTI4LCA4NCwgNzksIDc4LCA2OSwgNDUsIDUzLCAxMjgsIDg0LCA3OSwgNzgsIDY5LCA0NSwgNTIsIDEyOCwgODQsIDc5LCAKKyAgICA3OCwgNjksIDQ1LCA1MSwgMTI4LCA4NCwgNzksIDc4LCA2OSwgNDUsIDUwLCAxMjgsIDg0LCA3OSwgNzgsIDY5LCA0NSwgNDksIAorICAgIDEyOCwgODQsIDc5LCA3OCwgNjksIDEyOCwgODQsIDc5LCA3OCwgNjUsIDIwNCwgODQsIDc5LCA3NywgODAsIDczLCAxMjgsIAorICAgIDg0LCA3OSwgNzcsIDY1LCA4NCwgNzksIDEyOCwgODQsIDc5LCA3NiwgNzksIDc4LCA3MSwgMTI4LCA4NCwgNzksIDc1LCA4OSwgCisgICAgMjA3LCA4NCwgNzksIDczLCA3NiwgNjksIDg0LCAxMjgsIDg0LCA3OSwgNzEsIDY5LCA4NCwgNzIsIDY5LCA4MiwgMTI4LCAKKyAgICA4NCwgNzksIDY4LCAyMDcsIDg0LCA3OSwgNjUsIDc4LCA2OCwgNjUsIDc1LCA3MiwgNzMsIDY1LCA4NCwgMTI4LCA4NCwgNzksIAorICAgIDY1LCAxMjgsIDg0LCA3OCwgMTI4LCA4NCwgNzYsIDg2LCAxMjgsIDg0LCA3NiwgODUsIDEyOCwgODQsIDc2LCA3OSwgMTI4LCAKKyAgICA4NCwgNzYsIDczLCAxMjgsIDg0LCA3NiwgNzIsIDg5LCA2NSwgMTI4LCA4NCwgNzYsIDcyLCA4NywgNjksIDEyOCwgODQsIAorICAgIDc2LCA3MiwgODUsIDEyOCwgODQsIDc2LCA3MiwgNzksIDc5LCAxMjgsIDg0LCA3NiwgNzIsIDc5LCAxMjgsIDg0LCA3NiwgCisgICAgNzIsIDczLCAxMjgsIDg0LCA3NiwgNzIsIDY5LCA2OSwgMTI4LCA4NCwgNzYsIDcyLCA2OSwgMTI4LCA4NCwgNzYsIDcyLCAKKyAgICA2NSwgMTI4LCA4NCwgNzYsIDY5LCA2OSwgMTI4LCA4NCwgNzYsIDY1LCAxMjgsIDg0LCA3NCwgNjksIDEyOCwgODQsIDczLCAKKyAgICA4OCwgMTI4LCA4NCwgNzMsIDg3LCA4MiwgMTI4LCA4NCwgNzMsIDg3LCA3OCwgMTI4LCA4NCwgNzMsIDg3LCA2NSwgMjE4LCAKKyAgICA4NCwgNzMsIDg0LCA4NSwgNjUsIDY5LCA4MCwgMTI4LCA4NCwgNzMsIDg0LCA3NiwgNzksIDEyOCwgODQsIDczLCA4NCwgCisgICAgMTkzLCA4NCwgNzMsIDg0LCAxMjgsIDg0LCA3MywgODIsIDg5LCA2NSwgNzUsIDEyOCwgODQsIDczLCA4MiwgODQsIDE5MywgCisgICAgODQsIDczLCA4MiwgNzksIDc4LCA3MywgNjUsIDIwNiwgODQsIDczLCA4MiwgNzIsIDg1LCA4NCwgMTkzLCA4NCwgNzMsIDgyLCAKKyAgICA2OSwgMTk2LCA4NCwgNzMsIDgyLCAxMjgsIDg0LCA3MywgMjEwLCA4NCwgNzMsIDgwLCA4MCwgNzMsIDEyOCwgODQsIDczLCAKKyAgICA4MCwgNjksIDcyLCA2NSwgMTI4LCA4NCwgNzMsIDgwLCAxMjgsIDg0LCA3MywgMjA4LCA4NCwgNzMsIDc4LCA4OSwgMTI4LCAKKyAgICA4NCwgNzMsIDc4LCAyMTcsIDg0LCA3MywgNzgsIDc4LCA2OSwgMTI4LCA4NCwgNzMsIDc4LCA2NywgODQsIDg1LCA4MiwgNjksIAorICAgIDEyOCwgODQsIDczLCA3OCwgNjUsIDcxLCA3NywgNjUsIDEyOCwgODQsIDczLCA3NywgNjksIDgzLCAxMjgsIDg0LCA3MywgCisgICAgNzcsIDY5LCAyMTAsIDg0LCA3MywgNzcsIDY5LCAxMjgsIDg0LCA3MywgNzYsIDY5LCA4MywgMTI4LCA4NCwgNzMsIDc2LCAKKyAgICA2OCwgNjksIDEyOCwgODQsIDczLCA3NiwgNjgsIDE5NywgODQsIDczLCA3NiwgMTI4LCA4NCwgNzMsIDIwNCwgODQsIDczLCAKKyAgICA3NSwgNjksIDg1LCA4NCwgNDUsIDg0LCA3MiwgNzMsIDY5LCA4NSwgODQsIDcyLCAxMjgsIDg0LCA3MywgNzUsIDY5LCA4NSwgCisgICAgODQsIDQ1LCA4MywgNzMsIDc5LCA4MywgNDUsIDc1LCA3MywgODksIDY5LCA3OSwgNzUsIDEyOCwgODQsIDczLCA3NSwgNjksIAorICAgIDg1LCA4NCwgNDUsIDgzLCA3MywgNzksIDgzLCAxMjgsIDg0LCA3MywgNzUsIDY5LCA4NSwgODQsIDQ1LCA4MiwgNzMsIDY5LCAKKyAgICA4NSwgNzYsIDEyOCwgODQsIDczLCA3NSwgNjksIDg1LCA4NCwgNDUsIDgwLCA3MywgNjksIDg1LCA4MCwgMTI4LCA4NCwgNzMsIAorICAgIDc1LCA2OSwgODUsIDg0LCA0NSwgNzcsIDczLCA2OSwgODUsIDc3LCAxMjgsIDg0LCA3MywgNzUsIDY5LCA4NSwgODQsIDQ1LCAKKyAgICA3NSwgNzMsIDg5LCA2OSwgNzksIDc1LCAxMjgsIDg0LCA3MywgNzUsIDY5LCA4NSwgODQsIDQ1LCA2NywgNzMsIDY5LCA4NSwgCisgICAgNjcsIDEyOCwgODQsIDczLCA3NSwgNjksIDg1LCA4NCwgNDUsIDY3LCA3MiwgNzMsIDY5LCA4NSwgNjcsIDcyLCAxMjgsIDg0LCAKKyAgICA3MywgNzUsIDY5LCA4NSwgODQsIDEyOCwgODQsIDczLCA3NSwgNjksIDg1LCAyMTIsIDg0LCA3MywgNzEsIDcyLCA4NCwgNzYsIAorICAgIDg5LCA0NSwgNjcsIDc2LCA3OSwgODMsIDY5LCAxOTYsIDg0LCA3MywgNzEsIDcyLCAyMTIsIDg0LCA3MywgNzEsIDY5LCA4MiwgCisgICAgMTI4LCA4NCwgNzMsIDcxLCA2OSwgMjEwLCA4NCwgNzMsIDcwLCA3MywgNzgsIDY1LCA3MSwgMjAwLCA4NCwgNzMsIDY5LCAKKyAgICA4OCwgMTI4LCA4NCwgNzMsIDY5LCA4MCwgMTI4LCA4NCwgNzMsIDE5NywgODQsIDczLCA2NywgNzUsIDY5LCA4NCwgODMsIAorICAgIDEyOCwgODQsIDczLCA2NywgNzUsIDY5LCA4NCwgMTI4LCA4NCwgNzMsIDY3LCA3NSwgMTI4LCA4NCwgNzMsIDY3LCAyMDMsIAorICAgIDg0LCA3MywgNjUsIDgyLCA2NSwgMTI4LCA4NCwgNzMsIDUwLCAxMjgsIDg0LCA3MiwgOTAsIDEyOCwgODQsIDcyLCA4OSwgCisgICAgNzksIDc5LCAyMDUsIDg0LCA3MiwgODcsIDc5LCA3OSwgMTI4LCA4NCwgNzIsIDg3LCA3OSwgMTI4LCA4NCwgNzIsIDg3LCAKKyAgICA3MywgNzMsIDEyOCwgODQsIDcyLCA4NywgNzMsIDEyOCwgODQsIDcyLCA4NywgNjksIDY5LCAxMjgsIDg0LCA3MiwgODcsIAorICAgIDY1LCA2NSwgMTI4LCA4NCwgNzIsIDg3LCA2NSwgMTI4LCA4NCwgNzIsIDg1LCA4MiwgMjExLCA4NCwgNzIsIDg1LCA4MiwgCisgICAgNzMsIDgzLCA2NSwgMjE4LCA4NCwgNzIsIDg1LCA3OCwgNzEsIDEyOCwgODQsIDcyLCA4NSwgNzgsIDY4LCA2OSwgODIsIDgzLCAKKyAgICA4NCwgNzksIDgyLCA3NywgMTI4LCA4NCwgNzIsIDg1LCA3OCwgNjgsIDY5LCA4MiwgMTI4LCA4NCwgNzIsIDg1LCA3OCwgNjgsIAorICAgIDY5LCAyMTAsIDg0LCA3MiwgODUsIDc3LCA2NiwgMjExLCA4NCwgNzIsIDgyLCA3OSwgODcsIDczLCA3OCwgMTk5LCA4NCwgCisgICAgNzIsIDgyLCA3OSwgODUsIDcxLCA3MiwgMTI4LCA4NCwgNzIsIDgyLCA3OSwgODUsIDcxLCAyMDAsIDg0LCA3MiwgODIsIDY5LCAKKyAgICA2OSwgNDUsIDg0LCA3MiwgNzMsIDgyLCA4NCwgODksIDEyOCwgODQsIDcyLCA4MiwgNjksIDY5LCA0NSwgODAsIDY5LCA4MiwgCisgICAgNDUsIDY5LCAyMDUsIDg0LCA3MiwgODIsIDY5LCA2OSwgNDUsIDc2LCA3MywgNzgsIDE5NywgODQsIDcyLCA4MiwgNjksIDY5LCAKKyAgICA0NSwgNjksIDIwNSwgODQsIDcyLCA4MiwgNjksIDY5LCA0NSwgMTk2LCA4NCwgNzIsIDgyLCA2OSwgNjUsIDY4LCAxMjgsIAorICAgIDg0LCA3MiwgNzksIDg1LCA4MywgNjUsIDc4LCA2OCwgODMsIDEyOCwgODQsIDcyLCA3OSwgODUsIDgzLCA2NSwgNzgsIDY4LCAKKyAgICAyMTEsIDg0LCA3MiwgNzksIDg1LCA4MywgNjUsIDc4LCA2OCwgMTI4LCA4NCwgNzIsIDc5LCA4NSwgODMsIDY1LCA3OCwgCisgICAgMTk2LCA4NCwgNzIsIDc5LCA4NSwgNzEsIDcyLCAyMTIsIDg0LCA3MiwgNzksIDg1LCAxMjgsIDg0LCA3MiwgNzksIDgyLCAKKyAgICA3OCwgMTI4LCA4NCwgNzIsIDc5LCA4MiwgMjA2LCA4NCwgNzIsIDc5LCA3OCwgNzEsIDEyOCwgODQsIDcyLCA3OSwgNzcsIAorICAgIDEyOCwgODQsIDcyLCA3OSwgNzQsIDEyOCwgODQsIDcyLCA3OSwgNjUsIDEyOCwgODQsIDcyLCAyMDcsIDg0LCA3MiwgNzMsIAorICAgIDg1LCA4NCwgNzIsIDEyOCwgODQsIDcyLCA3MywgODQsIDY1LCAxMjgsIDg0LCA3MiwgNzMsIDgyLCA4NCwgODksIDQ1LCA4MywgCisgICAgNjksIDY3LCA3OSwgNzgsIDE5NiwgODQsIDcyLCA3MywgODIsIDg0LCA4OSwgNDUsIDc5LCA3OCwgNjksIDEyOCwgODQsIDcyLCAKKyAgICA3MywgODIsIDg0LCAyMTcsIDg0LCA3MiwgNzMsIDgyLCA4NCwgNjksIDY5LCA3OCwgMTI4LCA4NCwgNzIsIDczLCA4MiwgODQsIAorICAgIDY5LCA2OSwgMjA2LCA4NCwgNzIsIDczLCA4MiwgNjgsIDgzLCAxMjgsIDg0LCA3MiwgNzMsIDgyLCA2OCwgMjExLCA4NCwgCisgICAgNzIsIDczLCA4MiwgNjgsIDQ1LCA4MywgODQsIDY1LCA3MSwgMTk3LCA4NCwgNzIsIDczLCA4MiwgNjgsIDEyOCwgODQsIDcyLCAKKyAgICA3MywgODIsIDE5NiwgODQsIDcyLCA3MywgNzMsIDEyOCwgODQsIDcyLCA3MywgNzEsIDcyLCAxMjgsIDg0LCA3MiwgNzMsIAorICAgIDY5LCA4NSwgODQsIDIwMCwgODQsIDcyLCA3MywgNjcsIDIwMywgODQsIDcyLCA3MywgNjUsIDY2LCAxMjgsIDg0LCA3MiwgCisgICAgNjksIDg5LCAxMjgsIDg0LCA3MiwgNjksIDg0LCA3MiwgNjksIDEyOCwgODQsIDcyLCA2OSwgODQsIDcyLCAxMjgsIDg0LCAKKyAgICA3MiwgNjksIDg0LCA2NSwgMTI4LCA4NCwgNzIsIDY5LCA4NCwgMTkzLCA4NCwgNzIsIDY5LCA4MywgODAsIDczLCA2NSwgCisgICAgMjA2LCA4NCwgNzIsIDY5LCA4MywgNjksIDc5LCA4MywgMTI4LCA4NCwgNzIsIDY5LCA4MywgNjksIDc5LCAyMTEsIDg0LCAKKyAgICA3MiwgNjksIDIxMSwgODQsIDcyLCA2OSwgODIsIDc3LCA3OSwgNzcsIDY5LCA4NCwgNjksIDgyLCAxMjgsIDg0LCA3MiwgNjksIAorICAgIDgyLCA3NywgNzksIDY4LCA4OSwgNzgsIDY1LCA3NywgNzMsIDY3LCAxMjgsIDg0LCA3MiwgNjksIDgyLCA2OSwgNzAsIDc5LCAKKyAgICA4MiwgNjksIDEyOCwgODQsIDcyLCA2OSwgODIsIDE5NywgODQsIDcyLCA2OSwgMjA2LCA4NCwgNzIsIDY5LCA3NywgNjUsIAorICAgIDg0LCA3MywgODMsIDc3LCA3OSwgMjExLCA4NCwgNzIsIDY5LCA3NywgNjUsIDEyOCwgODQsIDcyLCA2OSwgNzcsIDE5MywgCisgICAgODQsIDcyLCA2OSwgNzIsIDEyOCwgODQsIDcyLCA2OSwgMjAwLCA4NCwgNzIsIDY5LCA2NSwgMTI4LCA4NCwgNzIsIDE5NywgCisgICAgODQsIDcyLCA2NSwgODcsIDEyOCwgODQsIDcyLCA2NSwgNzgsIDg0LCA3MiwgNjUsIDc1LCA3MiwgNjUsIDg0LCAxMjgsIDg0LCAKKyAgICA3MiwgNjUsIDc4LCA3OCwgNjUsIDEyOCwgODQsIDcyLCA2NSwgNzgsIDEyOCwgODQsIDcyLCA2NSwgMjA2LCA4NCwgNzIsIAorICAgIDY1LCA3NywgNjksIDY4LCA3MiwgMTI4LCA4NCwgNzIsIDY1LCA3NiwgMTI4LCA4NCwgNzIsIDY1LCAyMDQsIDg0LCA3MiwgCisgICAgNjUsIDc0LCAxMjgsIDg0LCA3MiwgNjUsIDcyLCA2NSwgNzgsIDEyOCwgODQsIDcyLCA2NSwgNjUsIDc4LCAxOTMsIDg0LCAKKyAgICA3MiwgNjUsIDY1LCA3NiwgODUsIDEyOCwgODQsIDcyLCA0NSwgNjcsIDgyLCA2OSwgMTk3LCA4NCwgNjksIDg4LCA4NCwgCisgICAgMTI4LCA4NCwgNjksIDg4LCAyMTIsIDg0LCA2OSwgODgsIDEyOCwgODQsIDY5LCA4NiwgNzMsIDgyLCAxMjgsIDg0LCA2OSwgCisgICAgODUsIDg0LCA2OSwgODUsIDg4LCAxMjgsIDg0LCA2OSwgODUsIDg0LCA2OSwgODUsIDg3LCA2OSwgNzgsIDEyOCwgODQsIDY5LCAKKyAgICA4NSwgODQsIDEyOCwgODQsIDY5LCA4NSwgNzgsIDEyOCwgODQsIDY5LCA4NSwgNjUsIDY5LCA4MSwgMTI4LCA4NCwgNjksIAorICAgIDg1LCA2NSwgNjksIDc4LCAxMjgsIDg0LCA2OSwgODUsIDEyOCwgODQsIDY5LCA4NCwgODIsIDY1LCA4MywgNzMsIDc3LCA3OSwgCisgICAgODUsIDEyOCwgODQsIDY5LCA4NCwgODIsIDY1LCA4MywgNjksIDc3LCA2OSwgMTI4LCA4NCwgNjksIDg0LCA4MiwgNjUsIDgwLCAKKyAgICA3NiwgNzMsIDEyOCwgODQsIDY5LCA4NCwgODIsIDY1LCA3MSwgODIsIDY1LCAyMDUsIDg0LCA2OSwgODQsIDgyLCA2NSwgNzAsIAorICAgIDc5LCA3OCwgNzMsIDY1LCA4MywgMTI4LCA4NCwgNjksIDg0LCA3MiwgMTI4LCA4NCwgNjksIDg0LCAyMDAsIDg0LCA2OSwgCisgICAgODQsIDY1LCA4MiwgODQsIDc5LCAyMTEsIDg0LCA2OSwgODQsIDY1LCA4MiwgODQsIDczLCA3NywgNzksIDgyLCA3MywgNzksIAorICAgIDc4LCAxMjgsIDg0LCA2OSwgODQsIDEyOCwgODQsIDY5LCAyMTIsIDg0LCA2OSwgODMsIDgzLCA2OSwgODIsIDY1LCAxMjgsIAorICAgIDg0LCA2OSwgODMsIDgzLCA2OSwgODIsIDE5MywgODQsIDY5LCA4MywgODMsIDY1LCA4MiwgNzksIDIwNiwgODQsIDY5LCA4MywgCiAgICAgMjAwLCA4NCwgNjksIDgyLCA3NywgNzMsIDc4LCA2NSwgODQsIDc5LCA4MiwgMTI4LCA4NCwgNjksIDgwLCAxMjgsIDg0LCAKICAgICA2OSwgNzgsIDg1LCA4NCwgNzksIDEyOCwgODQsIDY5LCA3OCwgODUsIDEyOCwgODQsIDY5LCA3OCwgMjEzLCA4NCwgNjksIAotICAgIDc4LCA4NCwgNzIsIDEyOCwgODQsIDY5LCA3OCwgODQsIDEyOCwgODQsIDY5LCA3OCwgMjExLCA4NCwgNjksIDc4LCA3OCwgCi0gICAgNzMsIDIxMSwgODQsIDY5LCA3OCwgNzEsIDE5NywgODQsIDY5LCA3OCwgNDUsIDg0LCA3MiwgNzMsIDgyLCA4NCwgODksIAotICAgIDEyOCwgODQsIDY5LCA3OCwgMTI4LCA4NCwgNjksIDIwNiwgODQsIDY5LCA3NywgODAsIDg1LCAyMTEsIDg0LCA2OSwgNzYsIAotICAgIDg1LCAxMjgsIDg0LCA2OSwgNzYsIDc5LCA4NSwgMjExLCA4NCwgNjksIDc2LCA3NiwgNjksIDIxMCwgODQsIDY5LCA3NiwgCi0gICAgNzMsIDgzLCA3MiwgMTkzLCA4NCwgNjksIDc2LCA2OSwgODYsIDczLCA4MywgNzMsIDc5LCA3OCwgMTI4LCA4NCwgNjksIDc2LCAKLSAgICA2OSwgODMsIDY3LCA3OSwgODAsIDY5LCAxMjgsIDg0LCA2OSwgNzYsIDY5LCA4MCwgNzIsIDc5LCA3OCwgNjksIDEyOCwgODQsIAotICAgIDY5LCA3NiwgNjksIDgwLCA3MiwgNzksIDc4LCAxOTcsIDg0LCA2OSwgNzYsIDY5LCA3MywgNjUsIDEyOCwgODQsIDY5LCA3NiwgCi0gICAgNjksIDcxLCA4MiwgNjUsIDgwLCAyMDAsIDg0LCA2OSwgNzMsIDg3LCA4MywgMTI4LCA4NCwgNjksIDcxLCA2OSwgNzIsIAotICAgIDEyOCwgODQsIDY5LCA2OSwgNjksIDY5LCAxMjgsIDg0LCA2OSwgMTk3LCA4NCwgNjksIDY4LCA4NSwgNzgsIDcxLCAxMjgsIAotICAgIDg0LCA2OSwgNjUsIDgyLCAyMTEsIDg0LCA2OSwgNjUsIDgyLCA2OCwgODIsIDc5LCA4MCwgNDUsIDgzLCA4MCwgNzksIDc1LCAKLSAgICA2OSwgMTk2LCA4NCwgNjksIDY1LCA4MiwgNjgsIDgyLCA3OSwgODAsIDQ1LCA4MywgNzIsIDY1LCA3OCwgNzUsIDY5LCAxOTYsIAotICAgIDg0LCA2OSwgNjUsIDgyLCA2OCwgODIsIDc5LCA4MCwgNDUsIDY2LCA2NSwgODIsIDY2LCA2OSwgMTk2LCA4NCwgNjksIDY1LCAKLSAgICA4MiwgNDUsIDc5LCA3MCwgMTk4LCA4NCwgNjksIDY1LCA2NywgODUsIDIwOCwgODQsIDY5LCA0NSwgODUsIDEyOCwgODQsIAotICAgIDY5LCA0NSwgNTAsIDEyOCwgODQsIDY3LCA3MiwgNjksIDcyLCA2OSwgNzIsIDEyOCwgODQsIDY3LCA3MiwgNjksIDcyLCA2OSwgCi0gICAgMjAwLCA4NCwgNjcsIDcyLCA2OSwgNzIsIDEyOCwgODQsIDY3LCA3MiwgNjksIDIwMCwgODQsIDY3LCA3MiwgNjksIDEyOCwgCi0gICAgODQsIDE5NSwgODQsIDY1LCA4OSwgMTI4LCA4NCwgNjUsIDg4LCA3MywgMTI4LCA4NCwgNjUsIDg4LCAxMjgsIDg0LCA2NSwgCi0gICAgODcsIDY5LCA3NiwgNzYsIDY5LCA3NywgNjksIDIxMiwgODQsIDY1LCA4NywgNjUsIDEyOCwgODQsIDY1LCA4NywgMTI4LCAKLSAgICA4NCwgNjUsIDg2LCA3MywgODksIDY1LCA3OCwgNzMsIDEyOCwgODQsIDY1LCA4NiwgMTI4LCA4NCwgNjUsIDIxNCwgODQsIAotICAgIDY1LCA4NSwgODIsIDg1LCA4MywgMTI4LCA4NCwgNjUsIDIxMywgODQsIDY1LCA4NCwgODcsIDY5LCA2OSwgNzYsIDEyOCwgCi0gICAgODQsIDY1LCA4NCwgODcsIDY5LCA2OSwgMjA0LCA4NCwgNjUsIDg0LCA4NCwgNzksIDc5LCA2OSwgMTk2LCA4NCwgNjUsIDg0LCAKLSAgICAxMjgsIDg0LCA2NSwgODIsIDg1LCA3OCwgNzEsIDEyOCwgODQsIDY1LCA4MiwgODQsIDY1LCA4MiwgNDUsIDUwLCAxMjgsIAotICAgIDg0LCA2NSwgODIsIDg0LCA2NSwgODIsIDEyOCwgODQsIDY1LCA4MSwgMTI4LCA4NCwgNjUsIDgwLCA2OSwgODIsIDEyOCwgCi0gICAgODQsIDY1LCA4MCwgMTk3LCA4NCwgNjUsIDgwLCAxMjgsIDg0LCA2NSwgNzksIDEyOCwgODQsIDY1LCA3OCwgNzgsIDY5LCAKLSAgICAxOTYsIDg0LCA2NSwgNzgsIDcxLCA2OSwgODIsIDczLCA3OCwgNjksIDEyOCwgODQsIDY1LCA3OCwgMTk5LCA4NCwgNjUsIAotICAgIDc4LCA2NSwgNjYsIDY1LCA4NCwgMTkzLCA4NCwgNjUsIDc4LCAxMjgsIDg0LCA2NSwgNzcsIDczLCA3OCwgNzEsIDEyOCwgCi0gICAgODQsIDY1LCA3NywgMTI4LCA4NCwgNjUsIDc2LCA3NiwgMTI4LCA4NCwgNjUsIDc2LCAyMDQsIDg0LCA2NSwgNzYsIDczLCAKLSAgICA3OCwgNzEsIDEyOCwgODQsIDY1LCA3NiwgNzMsIDc4LCAxOTksIDg0LCA2NSwgNzYsIDY5LCA3OCwgODQsIDgzLCAxMjgsIAotICAgIDg0LCA2NSwgNzYsIDY5LCA3OCwgMjEyLCA4NCwgNjUsIDc1LCA4MiwgMjAxLCA4NCwgNjUsIDc1LCA3MiwgNjUsIDc2LCA3NiwgCi0gICAgODUsIDgzLCAxMjgsIDg0LCA2NSwgNzUsIDY5LCAxMjgsIDg0LCA2NSwgNzUsIDUyLCAxMjgsIDg0LCA2NSwgNzUsIDEyOCwgCi0gICAgODQsIDY1LCA3MywgODMsIDg5LCA3OSwgODUsIDEyOCwgODQsIDY1LCA3MywgNzYsIDc2LCA2OSwgODMsIDIxMSwgODQsIDY1LCAKLSAgICA3MywgNzYsIDEyOCwgODQsIDY1LCA3MywgMjA0LCA4NCwgNjUsIDcyLCAxMjgsIDg0LCA2NSwgMjAwLCA4NCwgNjUsIDcxLCAKLSAgICA2NiwgNjUsIDc4LCA4NywgMTkzLCA4NCwgNjUsIDcxLCA2NSwgNzYsIDc5LCAxOTksIDg0LCA2NSwgNzEsIDEyOCwgODQsIAotICAgIDY1LCA2OSwgMjA2LCA4NCwgNjUsIDY3LCA3NSwgMTI4LCA4NCwgNjUsIDY3LCAyMDMsIDg0LCA2NSwgNjYsIDg1LCA3NiwgCi0gICAgNjUsIDg0LCA3MywgNzksIDc4LCAxMjgsIDg0LCA2NSwgNjYsIDg1LCA3NiwgNjUsIDg0LCA3MywgNzksIDIwNiwgODQsIDY1LCAKLSAgICA2NiwgODMsIDEyOCwgODQsIDY1LCA2NiwgNzYsIDY5LCAxMjgsIDg0LCA2NSwgNjYsIDEyOCwgODQsIDY1LCAxOTQsIDg0LCAKLSAgICA2NSwgNjUsIDgzLCA3MiwgNjUsIDY5LCAxMjgsIDg0LCA2NSwgNjUsIDgxLCAxMjgsIDg0LCA2NSwgNjUsIDc3LCAxMjgsIAotICAgIDg0LCA2NSwgNjUsIDc2LCA4NSwgNzQsIDE5MywgODQsIDY1LCA2NSwgNzMsIDEyOCwgODQsIDY1LCA2NSwgNzAsIDEyOCwgCi0gICAgODQsIDY1LCA1MCwgMTI4LCA4NCwgNjUsIDQ1LCA4MiwgNzksIDc2LCAxMjgsIDg0LCA2NSwgNDUsIDUwLCAxMjgsIDg0LCAKLSAgICA0OCwgNTEsIDU0LCAxMjgsIDg0LCA0OCwgNTEsIDUzLCAxMjgsIDg0LCA0OCwgNTEsIDUyLCAxMjgsIDg0LCA0OCwgNTEsIAotICAgIDUxLCA2NSwgMTI4LCA4NCwgNDgsIDUxLCA1MSwgMTI4LCA4NCwgNDgsIDUxLCA1MCwgNjUsIDEyOCwgODQsIDQ4LCA1MSwgCi0gICAgNTAsIDEyOCwgODQsIDQ4LCA1MSwgNDksIDEyOCwgODQsIDQ4LCA1MSwgNDgsIDEyOCwgODQsIDQ4LCA1MCwgNTcsIDEyOCwgCi0gICAgODQsIDQ4LCA1MCwgNTYsIDEyOCwgODQsIDQ4LCA1MCwgNTUsIDEyOCwgODQsIDQ4LCA1MCwgNTQsIDEyOCwgODQsIDQ4LCAKLSAgICA1MCwgNTMsIDEyOCwgODQsIDQ4LCA1MCwgNTIsIDEyOCwgODQsIDQ4LCA1MCwgNTEsIDEyOCwgODQsIDQ4LCA1MCwgNTAsIAotICAgIDEyOCwgODQsIDQ4LCA1MCwgNDksIDEyOCwgODQsIDQ4LCA1MCwgNDgsIDEyOCwgODQsIDQ4LCA0OSwgNTcsIDEyOCwgODQsIAotICAgIDQ4LCA0OSwgNTYsIDEyOCwgODQsIDQ4LCA0OSwgNTUsIDEyOCwgODQsIDQ4LCA0OSwgNTQsIDY1LCAxMjgsIDg0LCA0OCwgCi0gICAgNDksIDU0LCAxMjgsIDg0LCA0OCwgNDksIDUzLCAxMjgsIDg0LCA0OCwgNDksIDUyLCAxMjgsIDg0LCA0OCwgNDksIDUxLCAKLSAgICAxMjgsIDg0LCA0OCwgNDksIDUwLCAxMjgsIDg0LCA0OCwgNDksIDQ5LCA2NSwgMTI4LCA4NCwgNDgsIDQ5LCA0OSwgMTI4LCAKLSAgICA4NCwgNDgsIDQ5LCA0OCwgMTI4LCA4NCwgNDgsIDQ4LCA1NywgNjUsIDEyOCwgODQsIDQ4LCA0OCwgNTcsIDEyOCwgODQsIAotICAgIDQ4LCA0OCwgNTYsIDY1LCAxMjgsIDg0LCA0OCwgNDgsIDU2LCAxMjgsIDg0LCA0OCwgNDgsIDU1LCA2NSwgMTI4LCA4NCwgCi0gICAgNDgsIDQ4LCA1NSwgMTI4LCA4NCwgNDgsIDQ4LCA1NCwgMTI4LCA4NCwgNDgsIDQ4LCA1MywgMTI4LCA4NCwgNDgsIDQ4LCAKLSAgICA1MiwgMTI4LCA4NCwgNDgsIDQ4LCA1MSwgNjUsIDEyOCwgODQsIDQ4LCA0OCwgNTEsIDEyOCwgODQsIDQ4LCA0OCwgNTAsIAotICAgIDEyOCwgODQsIDQ4LCA0OCwgNDksIDEyOCwgODQsIDQ1LCA4MywgNzIsIDczLCA4MiwgODQsIDEyOCwgODMsIDkwLCA5MCwgCi0gICAgMTI4LCA4MywgOTAsIDg3LCA3MSwgMTI4LCA4MywgOTAsIDg3LCA2NSwgMTI4LCA4MywgOTAsIDg1LCAxMjgsIDgzLCA5MCwgCi0gICAgNzksIDEyOCwgODMsIDkwLCA3MywgMTI4LCA4MywgOTAsIDY5LCA2OSwgMTI4LCA4MywgOTAsIDY5LCAxMjgsIDgzLCA5MCwgCi0gICAgNjUsIDY1LCAxMjgsIDgzLCA5MCwgNjUsIDEyOCwgODMsIDkwLCAxMjgsIDgzLCA4OSwgODgsIDEyOCwgODMsIDg5LCA4NCwgCi0gICAgMTI4LCA4MywgODksIDgzLCA4NCwgNjksIDIwNSwgODMsIDg5LCA4MiwgODgsIDEyOCwgODMsIDg5LCA4MiwgNzcsIDY1LCAKLSAgICA4NCwgNzMsIDc1LCA3MywgMTI4LCA4MywgODksIDgyLCA3NywgNjUsIDEyOCwgODMsIDg5LCA4MiwgNzMsIDc4LCA3MSwgNjksIAotICAgIDEyOCwgODMsIDg5LCA4MiwgMTI4LCA4MywgODksIDgwLCAxMjgsIDgzLCA4OSwgNzksIDg1LCA4NywgNjUsIDEyOCwgODMsIAotICAgIDg5LCA3OCwgNjksIDg2LCA3NywgNjUsIDEyOCwgODMsIDg5LCA3OCwgNjgsIDY5LCA4MywgNzcsIDc5LCAyMTEsIDgzLCA4OSwgCi0gICAgNzgsIDY3LCA3MiwgODIsIDc5LCA3OCwgNzksIDg1LCAyMTEsIDgzLCA4OSwgNzgsIDY1LCA3MSwgNzcsIDE5MywgODMsIDg5LCAKLSAgICA3OCwgNjUsIDcwLCA3MywgMTI4LCA4MywgODksIDc4LCAxMjgsIDgzLCA4OSwgNzcsIDc3LCA2OSwgODQsIDgyLCA4OSwgCi0gICAgMTI4LCA4MywgODksIDc3LCA3NywgNjksIDg0LCA4MiwgNzMsIDE5NSwgODMsIDg5LCA3NywgNjYsIDc5LCA3NiwgODMsIAotICAgIDEyOCwgODMsIDg5LCA3NywgNjYsIDc5LCA3NiwgNDUsIDU3LCAxMjgsIDgzLCA4OSwgNzcsIDY2LCA3OSwgNzYsIDQ1LCA1NiwgCi0gICAgMTI4LCA4MywgODksIDc3LCA2NiwgNzksIDc2LCA0NSwgNTUsIDEyOCwgODMsIDg5LCA3NywgNjYsIDc5LCA3NiwgNDUsIDU0LCAKLSAgICAxMjgsIDgzLCA4OSwgNzcsIDY2LCA3OSwgNzYsIDQ1LCA1MywgNTIsIDEyOCwgODMsIDg5LCA3NywgNjYsIDc5LCA3NiwgNDUsIAotICAgIDUzLCA1MSwgMTI4LCA4MywgODksIDc3LCA2NiwgNzksIDc2LCA0NSwgNTMsIDUwLCAxMjgsIDgzLCA4OSwgNzcsIDY2LCA3OSwgCi0gICAgNzYsIDQ1LCA1MywgNDksIDEyOCwgODMsIDg5LCA3NywgNjYsIDc5LCA3NiwgNDUsIDUzLCA0OCwgMTI4LCA4MywgODksIDc3LCAKLSAgICA2NiwgNzksIDc2LCA0NSwgNTMsIDEyOCwgODMsIDg5LCA3NywgNjYsIDc5LCA3NiwgNDUsIDUyLCA1NywgMTI4LCA4MywgODksIAotICAgIDc3LCA2NiwgNzksIDc2LCA0NSwgNTIsIDU2LCAxMjgsIDgzLCA4OSwgNzcsIDY2LCA3OSwgNzYsIDQ1LCA1MiwgNTUsIDEyOCwgCi0gICAgODMsIDg5LCA3NywgNjYsIDc5LCA3NiwgNDUsIDUyLCA1MywgMTI4LCA4MywgODksIDc3LCA2NiwgNzksIDc2LCA0NSwgNTIsIAotICAgIDUxLCAxMjgsIDgzLCA4OSwgNzcsIDY2LCA3OSwgNzYsIDQ1LCA1MiwgNTAsIDEyOCwgODMsIDg5LCA3NywgNjYsIDc5LCA3NiwgCi0gICAgNDUsIDUyLCA0OCwgMTI4LCA4MywgODksIDc3LCA2NiwgNzksIDc2LCA0NSwgNTIsIDEyOCwgODMsIDg5LCA3NywgNjYsIDc5LCAKLSAgICA3NiwgNDUsIDUxLCA1NywgMTI4LCA4MywgODksIDc3LCA2NiwgNzksIDc2LCA0NSwgNTEsIDU2LCAxMjgsIDgzLCA4OSwgNzcsIAotICAgIDY2LCA3OSwgNzYsIDQ1LCA1MSwgNTUsIDEyOCwgODMsIDg5LCA3NywgNjYsIDc5LCA3NiwgNDUsIDUxLCA1NCwgMTI4LCA4MywgCi0gICAgODksIDc3LCA2NiwgNzksIDc2LCA0NSwgNTEsIDUwLCAxMjgsIDgzLCA4OSwgNzcsIDY2LCA3OSwgNzYsIDQ1LCA1MSwgNDgsIAotICAgIDEyOCwgODMsIDg5LCA3NywgNjYsIDc5LCA3NiwgNDUsIDUxLCAxMjgsIDgzLCA4OSwgNzcsIDY2LCA3OSwgNzYsIDQ1LCA1MCwgCi0gICAgNTcsIDEyOCwgODMsIDg5LCA3NywgNjYsIDc5LCA3NiwgNDUsIDUwLCA1NSwgMTI4LCA4MywgODksIDc3LCA2NiwgNzksIDc2LCAKLSAgICA0NSwgNTAsIDU0LCAxMjgsIDgzLCA4OSwgNzcsIDY2LCA3OSwgNzYsIDQ1LCA1MCwgNTMsIDEyOCwgODMsIDg5LCA3NywgNjYsIAotICAgIDc5LCA3NiwgNDUsIDUwLCA1MiwgMTI4LCA4MywgODksIDc3LCA2NiwgNzksIDc2LCA0NSwgNTAsIDUxLCAxMjgsIDgzLCA4OSwgCi0gICAgNzcsIDY2LCA3OSwgNzYsIDQ1LCA1MCwgNTAsIDEyOCwgODMsIDg5LCA3NywgNjYsIDc5LCA3NiwgNDUsIDUwLCA0OSwgMTI4LCAKLSAgICA4MywgODksIDc3LCA2NiwgNzksIDc2LCA0NSwgNTAsIDQ4LCAxMjgsIDgzLCA4OSwgNzcsIDY2LCA3OSwgNzYsIDQ1LCA1MCwgCi0gICAgMTI4LCA4MywgODksIDc3LCA2NiwgNzksIDc2LCA0NSwgNDksIDU3LCAxMjgsIDgzLCA4OSwgNzcsIDY2LCA3OSwgNzYsIDQ1LCAKLSAgICA0OSwgNTYsIDEyOCwgODMsIDg5LCA3NywgNjYsIDc5LCA3NiwgNDUsIDQ5LCA1NSwgMTI4LCA4MywgODksIDc3LCA2NiwgNzksIAotICAgIDc2LCA0NSwgNDksIDU0LCAxMjgsIDgzLCA4OSwgNzcsIDY2LCA3OSwgNzYsIDQ1LCA0OSwgNTMsIDEyOCwgODMsIDg5LCA3NywgCi0gICAgNjYsIDc5LCA3NiwgNDUsIDQ5LCA1MiwgMTI4LCA4MywgODksIDc3LCA2NiwgNzksIDc2LCA0NSwgNDksIDUxLCAxMjgsIDgzLCAKLSAgICA4OSwgNzcsIDY2LCA3OSwgNzYsIDQ1LCA0OSwgNTAsIDEyOCwgODMsIDg5LCA3NywgNjYsIDc5LCA3NiwgNDUsIDQ5LCA0OSwgCi0gICAgMTI4LCA4MywgODksIDc3LCA2NiwgNzksIDc2LCA0NSwgNDksIDQ4LCAxMjgsIDgzLCA4OSwgNzcsIDY2LCA3OSwgNzYsIDQ1LCAKLSAgICA0OSwgMTI4LCA4MywgODksIDc2LCA3OSwgODQsIDIwMSwgODMsIDg5LCAxMjgsIDgzLCA4NywgOTAsIDEyOCwgODMsIDg3LCAKLSAgICA4NSwgNzgsIDE5OSwgODMsIDg3LCA3OSwgODIsIDY4LCA4MywgMTI4LCA4MywgODcsIDc5LCA4MiwgNjgsIDEyOCwgODMsIAotICAgIDg3LCA3OSwgNzksIDEyOCwgODMsIDg3LCA3OSwgMTI4LCA4MywgODcsIDczLCA4MiwgMjA0LCA4MywgODcsIDczLCA3NywgCi0gICAgNzcsIDczLCA3OCwgNzEsIDEyOCwgODMsIDg3LCA3MywgNzcsIDc3LCA2OSwgODIsIDEyOCwgODMsIDg3LCA3MywgNzMsIAotICAgIDEyOCwgODMsIDg3LCA3MywgMTI4LCA4MywgODcsIDcxLCAxMjgsIDgzLCA4NywgNjksIDY5LCA4NCwgMTI4LCA4MywgODcsIAotICAgIDY5LCA2OSwgMjEyLCA4MywgODcsIDY5LCA2NSwgODQsIDEyOCwgODMsIDg3LCA2OSwgNjUsIDIxMiwgODMsIDg3LCA2NSwgCi0gICAgODMsIDIwMCwgODMsIDg3LCA2NSwgODAsIDgwLCA3MywgNzgsIDcxLCAxMjgsIDgzLCA4NywgNjUsIDY1LCAxMjgsIDgzLCAKLSAgICA4NywgMTI4LCA4MywgODYsIDY1LCA4MywgODQsIDIwMSwgODMsIDg2LCA2NSwgODIsIDczLCA4NCwgNjUsIDEyOCwgODMsIAotICAgIDg2LCA2NSwgODIsIDczLCA4NCwgMTkzLCA4MywgODUsIDg4LCAxMjgsIDgzLCA4NSwgODUsIDEyOCwgODMsIDg1LCA4NCwgCi0gICAgMTI4LCA4MywgODUsIDgzLCA4MCwgNjksIDc4LCA4MywgNzMsIDc5LCAyMDYsIDgzLCA4NSwgODMsIDcyLCA3MywgMTI4LCAKLSAgICA4MywgODUsIDgyLCA4OSwgNjUsIDEyOCwgODMsIDg1LCA4MiwgODgsIDEyOCwgODMsIDg1LCA4MiwgODIsIDc5LCA4NSwgNzgsIAotICAgIDY4LCAxMjgsIDgzLCA4NSwgODIsIDgyLCA3OSwgODUsIDc4LCAxOTYsIDgzLCA4NSwgODIsIDcwLCA2OSwgODIsIDEyOCwgCi0gICAgODMsIDg1LCA4MiwgNzAsIDY1LCA2NywgMTk3LCA4MywgODUsIDgyLCA2OSwgMTI4LCA4MywgODUsIDgyLCA2NSwgNzgsIDcxLCAKLSAgICAxMjgsIDgzLCA4NSwgODIsIDU3LCAxMjgsIDgzLCA4NSwgODIsIDEyOCwgODMsIDg1LCAyMTAsIDgzLCA4NSwgODAsIDgyLCAKLSAgICA2NSwgNzYsIDczLCA3OCwgNjksIDY1LCAyMTAsIDgzLCA4NSwgODAsIDY5LCA4MiwgODYsIDczLCA4MywgNjksIDEyOCwgODMsIAotICAgIDg1LCA4MCwgNjksIDgyLCA4MywgNjksIDg0LCAxMjgsIDgzLCA4NSwgODAsIDY5LCA4MiwgODMsIDY5LCAyMTIsIDgzLCA4NSwgCi0gICAgODAsIDY5LCA4MiwgODMsIDY3LCA4MiwgNzMsIDgwLCAyMTIsIDgzLCA4NSwgODAsIDY5LCA4MiwgNzMsIDc3LCA4MCwgNzksIAotICAgIDgzLCA2OSwgMTk2LCA4MywgODUsIDgwLCA2OSwgODIsIDcwLCA3MywgODgsIDY5LCAxOTYsIDgzLCA4NSwgODAsIDY5LCAKLSAgICAyMTAsIDgzLCA4NSwgODAsIDEyOCwgODMsIDg1LCA3OSwgODgsIDEyOCwgODMsIDg1LCA3OSwgODAsIDEyOCwgODMsIDg1LCAKLSAgICA3OSwgMTI4LCA4MywgODUsIDc4LCA4MywgNjksIDIxMiwgODMsIDg1LCA3OCwgODIsIDczLCA4MywgNjksIDEyOCwgODMsIAotICAgIDg1LCA3OCwgODIsIDczLCA4MywgMTk3LCA4MywgODUsIDc4LCA3MSwgNzYsIDY1LCA4MywgODMsIDY5LCA4MywgMTI4LCA4MywgCi0gICAgODUsIDc4LCA3MSwgMTI4LCA4MywgODUsIDc4LCA3MCwgNzYsIDc5LCA4NywgNjksIDgyLCAxMjgsIDgzLCA4NSwgNzgsIAotICAgIDEyOCwgODMsIDg1LCAyMDYsIDgzLCA4NSwgNzcsIDc3LCA2OSwgODIsIDEyOCwgODMsIDg1LCA3NywgNzcsIDY1LCA4NCwgCi0gICAgNzMsIDc5LCA3OCwgMTI4LCA4MywgODUsIDc3LCA3NywgNjUsIDg0LCA3MywgNzksIDIwNiwgODMsIDg1LCA3NywgNjUsIDgzLCAKLSAgICA3MiwgMTI4LCA4MywgODUsIDc3LCAxMjgsIDgzLCA4NSwgNzYsIDcwLCA4NSwgODIsIDEyOCwgODMsIDg1LCA3NSwgODUsIAotICAgIDc4LCAxMjgsIDgzLCA4NSwgNzUsIDg1LCAyMDYsIDgzLCA4NSwgNzUsIDg1LCAxMjgsIDgzLCA4NSwgNzUsIDIxMywgODMsIAotICAgIDg1LCA3MywgODQsIDY1LCA2NiwgNzYsIDY5LCAxMjgsIDgzLCA4NSwgNzMsIDg0LCAxMjgsIDgzLCA4NSwgNzIsIDg1LCA4MiwgCi0gICAgMTI4LCA4MywgODUsIDY5LCAxMjgsIDgzLCA4NSwgNjgsIDUwLCAxMjgsIDgzLCA4NSwgNjgsIDEyOCwgODMsIDg1LCA2NywgCi0gICAgNjcsIDY5LCA2OSwgNjgsIDgzLCAxMjgsIDgzLCA4NSwgNjcsIDY3LCA2OSwgNjksIDY4LCAyMTEsIDgzLCA4NSwgNjcsIDY3LCAKLSAgICA2OSwgNjksIDY4LCAxMjgsIDgzLCA4NSwgNjcsIDY3LCA2OSwgNjksIDE5NiwgODMsIDg1LCA2NiwgODUsIDc4LCA3MywgODQsIAotICAgIDEyOCwgODMsIDg1LCA2NiwgODMsIDg0LCA3MywgODQsIDg1LCA4NCwgNzMsIDc5LCAyMDYsIDgzLCA4NSwgNjYsIDgzLCA4NCwgCi0gICAgNzMsIDg0LCA4NSwgODQsIDY5LCAxMjgsIDgzLCA4NSwgNjYsIDgzLCA4NCwgNzMsIDg0LCA4NSwgODQsIDE5NywgODMsIDg1LCAKLSAgICA2NiwgODMsIDY5LCA4NCwgMTI4LCA4MywgODUsIDY2LCA4MywgNjksIDIxMiwgODMsIDg1LCA2NiwgODMsIDY3LCA4MiwgNzMsIAotICAgIDgwLCAyMTIsIDgzLCA4NSwgNjYsIDgwLCA4NSwgNzgsIDY3LCA4NCwgNzMsIDgzLCAxMjgsIDgzLCA4NSwgNjYsIDc2LCA3MywgCi0gICAgNzgsIDY5LCA2NSwgMjEwLCA4MywgODUsIDY2LCA3NiwgNzMsIDc3LCA2NSwgODQsIDczLCA3OSwgNzgsIDEyOCwgODMsIDg1LCAKLSAgICA2NiwgNzYsIDczLCA3NywgNjUsIDg0LCA2OSwgNDUsIDUxLCAxMjgsIDgzLCA4NSwgNjYsIDc2LCA3MywgNzcsIDY1LCA4NCwgCi0gICAgNjksIDQ1LCA1MCwgMTI4LCA4MywgODUsIDY2LCA3NiwgNzMsIDc3LCA2NSwgODQsIDY5LCAxMjgsIDgzLCA4NSwgNjYsIDc2LCAKLSAgICA3MywgNzcsIDY1LCA4NCwgMTk3LCA4MywgODUsIDY2LCA3NCwgNzksIDczLCA3OCwgNjksIDE5NiwgODMsIDg1LCA2NiwgNzQsIAotICAgIDY5LCA2NywgODQsIDEyOCwgODMsIDg1LCA2NiwgNzMsIDg0LCA3OSwgMTI4LCA4MywgODUsIDY2LCA3MSwgODIsIDc5LCA4NSwgCi0gICAgODAsIDEyOCwgODMsIDg1LCA2NiwgNzEsIDgyLCA3OSwgODUsIDIwOCwgODMsIDg1LCA2NiwgMTI4LCA4MywgODUsIDY1LCAKLSAgICA2OSwgODQsIDEyOCwgODMsIDg1LCA2NSwgNjksIDc4LCAxMjgsIDgzLCA4NSwgNjUsIDY5LCAxMjgsIDgzLCA4NSwgNjUsIAotICAgIDEyOCwgODMsIDIxMywgODMsIDg0LCA4OCwgMTI4LCA4MywgODQsIDg3LCA2NSwgMTI4LCA4MywgODQsIDg1LCA2OCwgODksIAotICAgIDEyOCwgODMsIDg0LCA4NSwgNjcsIDc1LCA0NSwgNzksIDg1LCAyMTIsIDgzLCA4NCwgODMsIDEyOCwgODMsIDg0LCA4MiwgCi0gICAgNzksIDc4LCAxOTksIDgzLCA4NCwgODIsIDc5LCA3NSwgNjksIDgzLCAxMjgsIDgzLCA4NCwgODIsIDc5LCA3NSwgNjksIAotICAgIDIxMSwgODMsIDg0LCA4MiwgNzksIDc1LCA2OSwgNDUsIDU3LCAxMjgsIDgzLCA4NCwgODIsIDc5LCA3NSwgNjksIDQ1LCA1NiwgCi0gICAgMTI4LCA4MywgODQsIDgyLCA3OSwgNzUsIDY5LCA0NSwgNTUsIDEyOCwgODMsIDg0LCA4MiwgNzksIDc1LCA2OSwgNDUsIDU0LCAKLSAgICAxMjgsIDgzLCA4NCwgODIsIDc5LCA3NSwgNjksIDQ1LCA1MywgMTI4LCA4MywgODQsIDgyLCA3OSwgNzUsIDY5LCA0NSwgNTIsIAotICAgIDEyOCwgODMsIDg0LCA4MiwgNzksIDc1LCA2OSwgNDUsIDUxLCAxMjgsIDgzLCA4NCwgODIsIDc5LCA3NSwgNjksIDQ1LCA1MCwgCi0gICAgMTI4LCA4MywgODQsIDgyLCA3OSwgNzUsIDY5LCA0NSwgNDksIDQ5LCAxMjgsIDgzLCA4NCwgODIsIDc5LCA3NSwgNjksIDQ1LCAKLSAgICA0OSwgNDgsIDEyOCwgODMsIDg0LCA4MiwgNzksIDc1LCA2OSwgNDUsIDQ5LCAxMjgsIDgzLCA4NCwgODIsIDc5LCA3NSwgCi0gICAgMTk3LCA4MywgODQsIDgyLCA3MywgODAsIDY5LCAxMjgsIDgzLCA4NCwgODIsIDczLCA3OCwgNzEsIDEyOCwgODMsIDg0LCAKLSAgICA4MiwgNzMsIDc4LCAxOTksIDgzLCA4NCwgODIsIDczLCA3NSwgNjksIDg0LCA3MiwgODIsIDc5LCA4NSwgNzEsIDcyLCAxMjgsIAotICAgIDgzLCA4NCwgODIsIDczLCA2OCwgNjksIDEyOCwgODMsIDg0LCA4MiwgNzMsIDY3LCA4NCwgNzYsIDIxNywgODMsIDg0LCA4MiwgCi0gICAgNjksIDg0LCA2NywgNzIsIDY5LCAxOTYsIDgzLCA4NCwgODIsIDY5LCA4MywgMjExLCA4MywgODQsIDgyLCA2OSwgNzgsIDcxLCAKLSAgICA4NCwgNzIsIDEyOCwgODMsIDg0LCA4MiwgNjksIDY1LCA3NywgNjksIDgyLCAxMjgsIDgzLCA4NCwgODIsIDY1LCA4NywgNjYsIAotICAgIDY5LCA4MiwgODIsIDg5LCAxMjgsIDgzLCA4NCwgODIsIDY1LCA4NCwgODUsIDc3LCA0NSwgNTAsIDEyOCwgODMsIDg0LCA4MiwgCi0gICAgNjUsIDg0LCA4NSwgNzcsIDEyOCwgODMsIDg0LCA4MiwgNjUsIDg0LCA4NSwgMjA1LCA4MywgODQsIDgyLCA2NSwgODQsIDczLCAKLSAgICA2NSwgMjA2LCA4MywgODQsIDgyLCA2NSwgNzMsIDc4LCA2OSwgODIsIDEyOCwgODMsIDg0LCA4MiwgNjUsIDczLCA3MSwgNzIsIAotICAgIDg0LCA3OCwgNjksIDgzLCA4MywgMTI4LCA4MywgODQsIDgyLCA2NSwgNzMsIDcxLCA3MiwgMjEyLCA4MywgODQsIDgyLCA2NSwgCi0gICAgNzMsIDcwLCAxMjgsIDgzLCA4NCwgODIsIDY1LCA3MSwgNzEsIDczLCA4MywgNzcsIDY1LCA4NCwgNjUsIDEyOCwgODMsIDg0LCAKLSAgICA3OSwgODYsIDY5LCAxMjgsIDgzLCA4NCwgNzksIDgyLCA2OSwgMTI4LCA4MywgODQsIDc5LCA4MCwgODcsIDY1LCA4NCwgNjcsIAotICAgIDcyLCAxMjgsIDgzLCA4NCwgNzksIDgwLCA4MCwgNzMsIDc4LCA3MSwgMTI4LCA4MywgODQsIDc5LCA4MCwgODAsIDY1LCA3MSwgCi0gICAgNjksIDEyOCwgODMsIDg0LCA3OSwgODAsIDEyOCwgODMsIDg0LCA3OSwgMjA4LCA4MywgODQsIDc5LCA3OCwgNjksIDEyOCwgCi0gICAgODMsIDg0LCA3OSwgNjcsIDc1LCAxMjgsIDgzLCA4NCwgNzMsIDc3LCA3NywgNjksIDEyOCwgODMsIDg0LCA3MywgNzYsIAotICAgIDIwNCwgODMsIDg0LCA3MywgNzYsIDE5NywgODMsIDg0LCA3MywgNzEsIDc3LCA2NSwgMTI4LCA4MywgODQsIDY5LCA4MCwgCi0gICAgMTI4LCA4MywgODQsIDY5LCA3NywgMTI4LCA4MywgODQsIDY5LCA2NSwgNzcsIDczLCA3OCwgMTk5LCA4MywgODQsIDY5LCAKLSAgICA2NSwgNzcsIDEyOCwgODMsIDg0LCA2OSwgNjUsIDIwNSwgODMsIDg0LCA2NSwgODYsIDgyLCA3OSwgODUsIDEyOCwgODMsIAotICAgIDg0LCA2NSwgODYsIDgyLCA3OSwgODMsIDEyOCwgODMsIDg0LCA2NSwgODYsIDgyLCA3OSwgMjExLCA4MywgODQsIDY1LCA4NSwgCi0gICAgODIsIDc5LCA4MywgMTI4LCA4MywgODQsIDY1LCA4NCwgODUsIDE5NywgODMsIDg0LCA2NSwgODQsIDczLCA3OSwgNzgsIAotICAgIDEyOCwgODMsIDg0LCA2NSwgODQsIDY5LCA4MiwgODMsIDEyOCwgODMsIDg0LCA2NSwgODQsIDY5LCAxMjgsIDgzLCA4NCwgCi0gICAgNjUsIDgyLCAyMTIsIDgzLCA4NCwgNjUsIDgyLCA4MywgMTI4LCA4MywgODQsIDY1LCA4MiwgODIsIDY5LCAxOTYsIDgzLCAKLSAgICA4NCwgNjUsIDgyLCA3NSwgMTI4LCA4MywgODQsIDY1LCA4MiwgMTI4LCA4MywgODQsIDY1LCAyMTAsIDgzLCA4NCwgNjUsIAotICAgIDc4LCA2OCwgODMsIDg0LCA3MywgNzYsIDc2LCAxMjgsIDgzLCA4NCwgNjUsIDc4LCA2OCwgNjUsIDgyLCAxOTYsIDgzLCA4NCwgCi0gICAgNjUsIDc4LCA2OCwgMTI4LCA4MywgODQsIDY1LCA3OCwgMTI4LCA4MywgODQsIDY1LCA3NiwgNzYsIDczLCA3OSwgNzgsIAotICAgIDEyOCwgODMsIDg0LCA2NSwgNzAsIDcwLCAxMjgsIDgzLCA4NCwgNjUsIDcwLCAxOTgsIDgzLCA4NCwgNjUsIDY3LCA2NywgCi0gICAgNjUsIDg0LCA3OSwgMTI4LCA4MywgODQsIDY1LCA2NywgNjcsIDY1LCA4NCwgNzMsIDgzLCA4MywgNzMsIDc3LCA3OSwgMTI4LCAKLSAgICA4MywgODQsIDUwLCAxMjgsIDgzLCA4MywgODksIDg4LCAxMjgsIDgzLCA4MywgODksIDg0LCAxMjgsIDgzLCA4MywgODksIAotICAgIDgyLCA4OCwgMTI4LCA4MywgODMsIDg5LCA4MiwgMTI4LCA4MywgODMsIDg5LCA4MCwgMTI4LCA4MywgODMsIDg5LCAxMjgsIAotICAgIDgzLCA4MywgODUsIDg4LCAxMjgsIDgzLCA4MywgODUsIDg1LCAxMjgsIDgzLCA4MywgODUsIDg0LCAxMjgsIDgzLCA4MywgCi0gICAgODUsIDgwLCAxMjgsIDgzLCA4MywgNzksIDg4LCAxMjgsIDgzLCA4MywgNzksIDg0LCAxMjgsIDgzLCA4MywgNzksIDgwLCAKLSAgICAxMjgsIDgzLCA4MywgNzksIDc5LCAxMjgsIDgzLCA4MywgNzksIDEyOCwgODMsIDgzLCA3MywgODgsIDEyOCwgODMsIDgzLCAKLSAgICA3MywgODQsIDEyOCwgODMsIDgzLCA3MywgODAsIDEyOCwgODMsIDgzLCA3MywgNzMsIDEyOCwgODMsIDgzLCA3MywgNjksIAotICAgIDg4LCAxMjgsIDgzLCA4MywgNzMsIDY5LCA4MCwgMTI4LCA4MywgODMsIDczLCA2OSwgMTI4LCA4MywgODMsIDczLCAxMjgsIAotICAgIDgzLCA4MywgNzIsIDY5LCAxMjgsIDgzLCA4MywgNjksIDg4LCAxMjgsIDgzLCA4MywgNjksIDgwLCAxMjgsIDgzLCA4MywgCi0gICAgNjksIDY5LCAxMjgsIDgzLCA4MywgNjUsIDg4LCAxMjgsIDgzLCA4MywgNjUsIDg1LCAxMjgsIDgzLCA4MywgNjUsIDg0LCAKLSAgICAxMjgsIDgzLCA4MywgNjUsIDgwLCAxMjgsIDgzLCA4MywgNjUsIDc4LCA3MSwgODksIDY5LCA3OSwgODIsIDczLCA3OCwgNzIsIAotICAgIDczLCA2OSwgODUsIDcyLCAxMjgsIDgzLCA4MywgNjUsIDc4LCA3MSwgODQsIDczLCA3NSwgNjksIDg1LCA4NCwgNDUsIDgwLCAKLSAgICA3MywgNjksIDg1LCA4MCwgMTI4LCA4MywgODMsIDY1LCA3OCwgNzEsIDg0LCA3MywgNzUsIDY5LCA4NSwgODQsIDEyOCwgODMsIAotICAgIDgzLCA2NSwgNzgsIDcxLCA4NCwgNzIsIDczLCA2OSwgODUsIDg0LCA3MiwgMTI4LCA4MywgODMsIDY1LCA3OCwgNzEsIDgzLCAKLSAgICA3MywgNzksIDgzLCA0NSwgODQsIDczLCA3NSwgNjksIDg1LCA4NCwgMTI4LCA4MywgODMsIDY1LCA3OCwgNzEsIDgzLCA3MywgCi0gICAgNzksIDgzLCA0NSwgODAsIDczLCA2OSwgODUsIDgwLCAxMjgsIDgzLCA4MywgNjUsIDc4LCA3MSwgODMsIDczLCA3OSwgODMsIAotICAgIDQ1LCA3NSwgNzMsIDg5LCA2OSwgNzksIDc1LCAxMjgsIDgzLCA4MywgNjUsIDc4LCA3MSwgODMsIDczLCA3OSwgODMsIDEyOCwgCi0gICAgODMsIDgzLCA2NSwgNzgsIDcxLCA4MiwgNzMsIDY5LCA4NSwgNzYsIDQ1LCA3NSwgNzIsIDczLCA2OSwgODUsIDc1LCA3MiwgCi0gICAgMTI4LCA4MywgODMsIDY1LCA3OCwgNzEsIDgyLCA3MywgNjksIDg1LCA3NiwgMTI4LCA4MywgODMsIDY1LCA3OCwgNzEsIDgwLCAKLSAgICA3MywgNjksIDg1LCA4MCwgMTI4LCA4MywgODMsIDY1LCA3OCwgNzEsIDc4LCA3MywgNjksIDg1LCA3OCwgMTI4LCA4MywgODMsIAotICAgIDY1LCA3OCwgNzEsIDc3LCA3MywgNjksIDg1LCA3NywgMTI4LCA4MywgODMsIDY1LCA3OCwgNzEsIDc1LCA3MywgODksIDY5LCAKLSAgICA3OSwgNzUsIDEyOCwgODMsIDgzLCA2NSwgNzgsIDcxLCA3MywgNjksIDg1LCA3OCwgNzEsIDEyOCwgODMsIDgzLCA2NSwgNzgsIAotICAgIDcxLCA3MiwgNzMsIDY5LCA4NSwgNzIsIDEyOCwgODMsIDgzLCA2NSwgNzgsIDcxLCA2NywgNzMsIDY5LCA4NSwgNjcsIDQ1LCAKLSAgICA3MiwgNzMsIDY5LCA4NSwgNzIsIDEyOCwgODMsIDgzLCA2NSwgNzgsIDcxLCA2NywgNzMsIDY5LCA4NSwgNjcsIDEyOCwgODMsIAotICAgIDgzLCA2NSwgNzgsIDcxLCA2NSwgODIsIDY1LCA2OSwgNjUsIDEyOCwgODMsIDgzLCA2NSwgNzMsIDEyOCwgODMsIDgzLCA2NSwgCi0gICAgNjUsIDEyOCwgODMsIDgzLCA1MSwgMTI4LCA4MywgODMsIDUwLCAxMjgsIDgzLCA4MiwgMTI4LCA4MywgODEsIDg1LCA3MywgCi0gICAgODMsIDIwMCwgODMsIDgxLCA4NSwgNzMsIDgyLCA4MiwgNjksIDIwNCwgODMsIDgxLCA4NSwgNzMsIDcxLCA3MSwgNzYsIAorICAgIDc4LCA4NCwgNzIsIDEyOCwgODQsIDY5LCA3OCwgODQsIDEyOCwgODQsIDY5LCA3OCwgODMsIDEyOCwgODQsIDY5LCA3OCwgCisgICAgMjExLCA4NCwgNjksIDc4LCA3OCwgNzMsIDIxMSwgODQsIDY5LCA3OCwgNzEsIDE5NywgODQsIDY5LCA3OCwgNDUsIDg0LCAKKyAgICA3MiwgNzMsIDgyLCA4NCwgODksIDEyOCwgODQsIDY5LCA3OCwgMTI4LCA4NCwgNjksIDIwNiwgODQsIDY5LCA3NywgODAsIAorICAgIDg1LCAyMTEsIDg0LCA2OSwgNzYsIDg1LCAxMjgsIDg0LCA2OSwgNzYsIDc5LCA4NSwgMjExLCA4NCwgNjksIDc2LCA3NiwgCisgICAgNjksIDIxMCwgODQsIDY5LCA3NiwgNzMsIDgzLCA3MiwgMTkzLCA4NCwgNjksIDc2LCA2OSwgODYsIDczLCA4MywgNzMsIDc5LCAKKyAgICA3OCwgMTI4LCA4NCwgNjksIDc2LCA2OSwgODMsIDY3LCA3OSwgODAsIDY5LCAxMjgsIDg0LCA2OSwgNzYsIDY5LCA4MCwgNzIsIAorICAgIDc5LCA3OCwgNjksIDEyOCwgODQsIDY5LCA3NiwgNjksIDgwLCA3MiwgNzksIDc4LCAxOTcsIDg0LCA2OSwgNzYsIDY5LCA3MywgCisgICAgNjUsIDEyOCwgODQsIDY5LCA3NiwgNjksIDcxLCA4MiwgNjUsIDgwLCAyMDAsIDg0LCA2OSwgNzUsIDEyOCwgODQsIDY5LCAKKyAgICA3MywgODcsIDgzLCAxMjgsIDg0LCA2OSwgNzEsIDY5LCA3MiwgMTI4LCA4NCwgNjksIDY5LCA3OCwgODMsIDEyOCwgODQsIAorICAgIDY5LCA2OSwgNjksIDY5LCAxMjgsIDg0LCA2OSwgMTk3LCA4NCwgNjksIDY4LCA4NSwgNzgsIDcxLCAxMjgsIDg0LCA2OSwgCisgICAgNjUsIDgyLCAyMTEsIDg0LCA2OSwgNjUsIDgyLCA2OCwgODIsIDc5LCA4MCwgNDUsIDgzLCA4MCwgNzksIDc1LCA2OSwgMTk2LCAKKyAgICA4NCwgNjksIDY1LCA4MiwgNjgsIDgyLCA3OSwgODAsIDQ1LCA4MywgNzIsIDY1LCA3OCwgNzUsIDY5LCAxOTYsIDg0LCA2OSwgCisgICAgNjUsIDgyLCA2OCwgODIsIDc5LCA4MCwgNDUsIDY2LCA2NSwgODIsIDY2LCA2OSwgMTk2LCA4NCwgNjksIDY1LCA4MiwgNDUsIAorICAgIDc5LCA3MCwgMTk4LCA4NCwgNjksIDY1LCA2NywgODUsIDIwOCwgODQsIDY5LCA0NSwgODUsIDEyOCwgODQsIDY5LCA0NSwgCisgICAgNTAsIDEyOCwgODQsIDY3LCA3MiwgNjksIDcyLCA2OSwgNzIsIDEyOCwgODQsIDY3LCA3MiwgNjksIDcyLCA2OSwgMjAwLCAKKyAgICA4NCwgNjcsIDcyLCA2OSwgNzIsIDEyOCwgODQsIDY3LCA3MiwgNjksIDIwMCwgODQsIDY3LCA3MiwgNjksIDEyOCwgODQsIAorICAgIDE5NSwgODQsIDY1LCA4OSwgMTI4LCA4NCwgNjUsIDg4LCA3MywgMTI4LCA4NCwgNjUsIDg4LCAxMjgsIDg0LCA2NSwgODcsIAorICAgIDY5LCA3NiwgNzYsIDY5LCA3NywgNjksIDIxMiwgODQsIDY1LCA4NywgNjUsIDEyOCwgODQsIDY1LCA4NywgMTI4LCA4NCwgCisgICAgNjUsIDg2LCA3MywgODksIDY1LCA3OCwgNzMsIDEyOCwgODQsIDY1LCA4NiwgMTI4LCA4NCwgNjUsIDIxNCwgODQsIDY1LCAKKyAgICA4NSwgODIsIDg1LCA4MywgMTI4LCA4NCwgNjUsIDg1LCA3NywgMTI4LCA4NCwgNjUsIDIxMywgODQsIDY1LCA4NCwgODcsIAorICAgIDY5LCA2OSwgNzYsIDEyOCwgODQsIDY1LCA4NCwgODcsIDY5LCA2OSwgMjA0LCA4NCwgNjUsIDg0LCA4NCwgNzksIDc5LCA2OSwgCisgICAgMTk2LCA4NCwgNjUsIDg0LCAxMjgsIDg0LCA2NSwgODMsIDEyOCwgODQsIDY1LCA4MiwgODUsIDc4LCA3MSwgMTI4LCA4NCwgCisgICAgNjUsIDgyLCA4NCwgNjUsIDgyLCA0NSwgNTAsIDEyOCwgODQsIDY1LCA4MiwgODQsIDY1LCA4MiwgMTI4LCA4NCwgNjUsIDgyLCAKKyAgICA3MSwgNjksIDg0LCAxMjgsIDg0LCA2NSwgODEsIDEyOCwgODQsIDY1LCA4MCwgNjksIDgyLCAxMjgsIDg0LCA2NSwgODAsIAorICAgIDE5NywgODQsIDY1LCA4MCwgMTI4LCA4NCwgNjUsIDc5LCAxMjgsIDg0LCA2NSwgNzgsIDc4LCA2OSwgMTk2LCA4NCwgNjUsIAorICAgIDc4LCA3MSwgNjksIDgyLCA3MywgNzgsIDY5LCAxMjgsIDg0LCA2NSwgNzgsIDcxLCA2OSwgNzgsIDg0LCAxMjgsIDg0LCA2NSwgCisgICAgNzgsIDcxLCA2OSwgNzgsIDIxMiwgODQsIDY1LCA3OCwgMTk5LCA4NCwgNjUsIDc4LCA2NSwgNjYsIDY1LCA4NCwgMTkzLCAKKyAgICA4NCwgNjUsIDc4LCAxMjgsIDg0LCA2NSwgNzcsIDczLCA3OCwgNzEsIDEyOCwgODQsIDY1LCA3NywgMTI4LCA4NCwgNjUsIAorICAgIDc2LCA3NiwgMTI4LCA4NCwgNjUsIDc2LCAyMDQsIDg0LCA2NSwgNzYsIDczLCA3OCwgNzEsIDEyOCwgODQsIDY1LCA3NiwgCisgICAgNzMsIDc4LCAxOTksIDg0LCA2NSwgNzYsIDY5LCA3OCwgODQsIDgzLCAxMjgsIDg0LCA2NSwgNzYsIDY5LCA3OCwgMjEyLCAKKyAgICA4NCwgNjUsIDc1LCA4MiwgMjAxLCA4NCwgNjUsIDc1LCA3MiwgNjUsIDc2LCA3NiwgODUsIDgzLCAxMjgsIDg0LCA2NSwgNzUsIAorICAgIDY5LCAxMjgsIDg0LCA2NSwgNzUsIDUyLCAxMjgsIDg0LCA2NSwgNzUsIDEyOCwgODQsIDY1LCA3MywgODMsIDg5LCA3OSwgCisgICAgODUsIDEyOCwgODQsIDY1LCA3MywgNzYsIDc2LCA2OSwgODMsIDIxMSwgODQsIDY1LCA3MywgNzYsIDEyOCwgODQsIDY1LCAKKyAgICA3MywgMjA0LCA4NCwgNjUsIDcyLCAxMjgsIDg0LCA2NSwgMjAwLCA4NCwgNjUsIDcxLCA2NiwgNjUsIDc4LCA4NywgMTkzLCAKKyAgICA4NCwgNjUsIDcxLCA2NSwgNzYsIDc5LCAxOTksIDg0LCA2NSwgNzEsIDEyOCwgODQsIDY1LCA2OSwgMjA2LCA4NCwgNjUsIAorICAgIDY3LCA3NSwgMTI4LCA4NCwgNjUsIDY3LCAyMDMsIDg0LCA2NSwgNjYsIDg1LCA3NiwgNjUsIDg0LCA3MywgNzksIDc4LCAKKyAgICAxMjgsIDg0LCA2NSwgNjYsIDg1LCA3NiwgNjUsIDg0LCA3MywgNzksIDIwNiwgODQsIDY1LCA2NiwgODMsIDEyOCwgODQsIAorICAgIDY1LCA2NiwgNzYsIDY5LCAxMjgsIDg0LCA2NSwgNjYsIDEyOCwgODQsIDY1LCAxOTQsIDg0LCA2NSwgNjUsIDgzLCA3MiwgCisgICAgNjUsIDY5LCAxMjgsIDg0LCA2NSwgNjUsIDgxLCAxMjgsIDg0LCA2NSwgNjUsIDc3LCAxMjgsIDg0LCA2NSwgNjUsIDc2LCAKKyAgICA4NSwgNzQsIDE5MywgODQsIDY1LCA2NSwgNzMsIDEyOCwgODQsIDY1LCA2NSwgNzAsIDEyOCwgODQsIDY1LCA1MCwgMTI4LCAKKyAgICA4NCwgNjUsIDQ1LCA4MiwgNzksIDc2LCAxMjgsIDg0LCA2NSwgNDUsIDUwLCAxMjgsIDg0LCA0OCwgNTEsIDU0LCAxMjgsIAorICAgIDg0LCA0OCwgNTEsIDUzLCAxMjgsIDg0LCA0OCwgNTEsIDUyLCAxMjgsIDg0LCA0OCwgNTEsIDUxLCA2NSwgMTI4LCA4NCwgCisgICAgNDgsIDUxLCA1MSwgMTI4LCA4NCwgNDgsIDUxLCA1MCwgNjUsIDEyOCwgODQsIDQ4LCA1MSwgNTAsIDEyOCwgODQsIDQ4LCAKKyAgICA1MSwgNDksIDEyOCwgODQsIDQ4LCA1MSwgNDgsIDEyOCwgODQsIDQ4LCA1MCwgNTcsIDEyOCwgODQsIDQ4LCA1MCwgNTYsIAorICAgIDEyOCwgODQsIDQ4LCA1MCwgNTUsIDEyOCwgODQsIDQ4LCA1MCwgNTQsIDEyOCwgODQsIDQ4LCA1MCwgNTMsIDEyOCwgODQsIAorICAgIDQ4LCA1MCwgNTIsIDEyOCwgODQsIDQ4LCA1MCwgNTEsIDEyOCwgODQsIDQ4LCA1MCwgNTAsIDEyOCwgODQsIDQ4LCA1MCwgCisgICAgNDksIDEyOCwgODQsIDQ4LCA1MCwgNDgsIDEyOCwgODQsIDQ4LCA0OSwgNTcsIDEyOCwgODQsIDQ4LCA0OSwgNTYsIDEyOCwgCisgICAgODQsIDQ4LCA0OSwgNTUsIDEyOCwgODQsIDQ4LCA0OSwgNTQsIDY1LCAxMjgsIDg0LCA0OCwgNDksIDU0LCAxMjgsIDg0LCAKKyAgICA0OCwgNDksIDUzLCAxMjgsIDg0LCA0OCwgNDksIDUyLCAxMjgsIDg0LCA0OCwgNDksIDUxLCAxMjgsIDg0LCA0OCwgNDksIAorICAgIDUwLCAxMjgsIDg0LCA0OCwgNDksIDQ5LCA2NSwgMTI4LCA4NCwgNDgsIDQ5LCA0OSwgMTI4LCA4NCwgNDgsIDQ5LCA0OCwgCisgICAgMTI4LCA4NCwgNDgsIDQ4LCA1NywgNjUsIDEyOCwgODQsIDQ4LCA0OCwgNTcsIDEyOCwgODQsIDQ4LCA0OCwgNTYsIDY1LCAKKyAgICAxMjgsIDg0LCA0OCwgNDgsIDU2LCAxMjgsIDg0LCA0OCwgNDgsIDU1LCA2NSwgMTI4LCA4NCwgNDgsIDQ4LCA1NSwgMTI4LCAKKyAgICA4NCwgNDgsIDQ4LCA1NCwgMTI4LCA4NCwgNDgsIDQ4LCA1MywgMTI4LCA4NCwgNDgsIDQ4LCA1MiwgMTI4LCA4NCwgNDgsIAorICAgIDQ4LCA1MSwgNjUsIDEyOCwgODQsIDQ4LCA0OCwgNTEsIDEyOCwgODQsIDQ4LCA0OCwgNTAsIDEyOCwgODQsIDQ4LCA0OCwgCisgICAgNDksIDEyOCwgODQsIDQ1LCA4MywgNzIsIDczLCA4MiwgODQsIDEyOCwgODMsIDkwLCA5MCwgMTI4LCA4MywgOTAsIDg3LCAKKyAgICA3MSwgMTI4LCA4MywgOTAsIDg3LCA2NSwgMTI4LCA4MywgOTAsIDg1LCAxMjgsIDgzLCA5MCwgNzksIDEyOCwgODMsIDkwLCAKKyAgICA3MywgMTI4LCA4MywgOTAsIDY5LCA2OSwgMTI4LCA4MywgOTAsIDY5LCAxMjgsIDgzLCA5MCwgNjUsIDY1LCAxMjgsIDgzLCAKKyAgICA5MCwgNjUsIDEyOCwgODMsIDkwLCAxMjgsIDgzLCA4OSwgODgsIDEyOCwgODMsIDg5LCA4NCwgMTI4LCA4MywgODksIDgzLCAKKyAgICA4NCwgNjksIDIwNSwgODMsIDg5LCA4MiwgODgsIDEyOCwgODMsIDg5LCA4MiwgNzcsIDY1LCA4NCwgNzMsIDc1LCA3MywgCisgICAgMTI4LCA4MywgODksIDgyLCA3NywgNjUsIDEyOCwgODMsIDg5LCA4MiwgNzMsIDc4LCA3MSwgNjksIDEyOCwgODMsIDg5LCAKKyAgICA4MiwgNzMsIDY1LCAxOTUsIDgzLCA4OSwgODIsIDEyOCwgODMsIDg5LCA4MCwgMTI4LCA4MywgODksIDc5LCA4NSwgODcsIAorICAgIDY1LCAxMjgsIDgzLCA4OSwgNzgsIDY5LCA4NiwgNzcsIDY1LCAxMjgsIDgzLCA4OSwgNzgsIDY4LCA2OSwgODMsIDc3LCA3OSwgCisgICAgMjExLCA4MywgODksIDc4LCA2NywgNzIsIDgyLCA3OSwgNzgsIDc5LCA4NSwgMjExLCA4MywgODksIDc4LCA2NSwgNzEsIDc3LCAKKyAgICAxOTMsIDgzLCA4OSwgNzgsIDY1LCA3MCwgNzMsIDEyOCwgODMsIDg5LCA3OCwgMTI4LCA4MywgODksIDc3LCA3NywgNjksIAorICAgIDg0LCA4MiwgODksIDEyOCwgODMsIDg5LCA3NywgNzcsIDY5LCA4NCwgODIsIDczLCAxOTUsIDgzLCA4OSwgNzcsIDY2LCA3OSwgCisgICAgNzYsIDgzLCAxMjgsIDgzLCA4OSwgNzcsIDY2LCA3OSwgNzYsIDQ1LCA1NywgMTI4LCA4MywgODksIDc3LCA2NiwgNzksIDc2LCAKKyAgICA0NSwgNTYsIDEyOCwgODMsIDg5LCA3NywgNjYsIDc5LCA3NiwgNDUsIDU1LCAxMjgsIDgzLCA4OSwgNzcsIDY2LCA3OSwgNzYsIAorICAgIDQ1LCA1NCwgMTI4LCA4MywgODksIDc3LCA2NiwgNzksIDc2LCA0NSwgNTMsIDUyLCAxMjgsIDgzLCA4OSwgNzcsIDY2LCA3OSwgCisgICAgNzYsIDQ1LCA1MywgNTEsIDEyOCwgODMsIDg5LCA3NywgNjYsIDc5LCA3NiwgNDUsIDUzLCA1MCwgMTI4LCA4MywgODksIDc3LCAKKyAgICA2NiwgNzksIDc2LCA0NSwgNTMsIDQ5LCAxMjgsIDgzLCA4OSwgNzcsIDY2LCA3OSwgNzYsIDQ1LCA1MywgNDgsIDEyOCwgODMsIAorICAgIDg5LCA3NywgNjYsIDc5LCA3NiwgNDUsIDUzLCAxMjgsIDgzLCA4OSwgNzcsIDY2LCA3OSwgNzYsIDQ1LCA1MiwgNTcsIDEyOCwgCisgICAgODMsIDg5LCA3NywgNjYsIDc5LCA3NiwgNDUsIDUyLCA1NiwgMTI4LCA4MywgODksIDc3LCA2NiwgNzksIDc2LCA0NSwgNTIsIAorICAgIDU1LCAxMjgsIDgzLCA4OSwgNzcsIDY2LCA3OSwgNzYsIDQ1LCA1MiwgNTMsIDEyOCwgODMsIDg5LCA3NywgNjYsIDc5LCA3NiwgCisgICAgNDUsIDUyLCA1MSwgMTI4LCA4MywgODksIDc3LCA2NiwgNzksIDc2LCA0NSwgNTIsIDUwLCAxMjgsIDgzLCA4OSwgNzcsIDY2LCAKKyAgICA3OSwgNzYsIDQ1LCA1MiwgNDgsIDEyOCwgODMsIDg5LCA3NywgNjYsIDc5LCA3NiwgNDUsIDUyLCAxMjgsIDgzLCA4OSwgNzcsIAorICAgIDY2LCA3OSwgNzYsIDQ1LCA1MSwgNTcsIDEyOCwgODMsIDg5LCA3NywgNjYsIDc5LCA3NiwgNDUsIDUxLCA1NiwgMTI4LCA4MywgCisgICAgODksIDc3LCA2NiwgNzksIDc2LCA0NSwgNTEsIDU1LCAxMjgsIDgzLCA4OSwgNzcsIDY2LCA3OSwgNzYsIDQ1LCA1MSwgNTQsIAorICAgIDEyOCwgODMsIDg5LCA3NywgNjYsIDc5LCA3NiwgNDUsIDUxLCA1MCwgMTI4LCA4MywgODksIDc3LCA2NiwgNzksIDc2LCA0NSwgCisgICAgNTEsIDQ4LCAxMjgsIDgzLCA4OSwgNzcsIDY2LCA3OSwgNzYsIDQ1LCA1MSwgMTI4LCA4MywgODksIDc3LCA2NiwgNzksIDc2LCAKKyAgICA0NSwgNTAsIDU3LCAxMjgsIDgzLCA4OSwgNzcsIDY2LCA3OSwgNzYsIDQ1LCA1MCwgNTUsIDEyOCwgODMsIDg5LCA3NywgNjYsIAorICAgIDc5LCA3NiwgNDUsIDUwLCA1NCwgMTI4LCA4MywgODksIDc3LCA2NiwgNzksIDc2LCA0NSwgNTAsIDUzLCAxMjgsIDgzLCA4OSwgCisgICAgNzcsIDY2LCA3OSwgNzYsIDQ1LCA1MCwgNTIsIDEyOCwgODMsIDg5LCA3NywgNjYsIDc5LCA3NiwgNDUsIDUwLCA1MSwgMTI4LCAKKyAgICA4MywgODksIDc3LCA2NiwgNzksIDc2LCA0NSwgNTAsIDUwLCAxMjgsIDgzLCA4OSwgNzcsIDY2LCA3OSwgNzYsIDQ1LCA1MCwgCisgICAgNDksIDEyOCwgODMsIDg5LCA3NywgNjYsIDc5LCA3NiwgNDUsIDUwLCA0OCwgMTI4LCA4MywgODksIDc3LCA2NiwgNzksIDc2LCAKKyAgICA0NSwgNTAsIDEyOCwgODMsIDg5LCA3NywgNjYsIDc5LCA3NiwgNDUsIDQ5LCA1NywgMTI4LCA4MywgODksIDc3LCA2NiwgNzksIAorICAgIDc2LCA0NSwgNDksIDU2LCAxMjgsIDgzLCA4OSwgNzcsIDY2LCA3OSwgNzYsIDQ1LCA0OSwgNTUsIDEyOCwgODMsIDg5LCA3NywgCisgICAgNjYsIDc5LCA3NiwgNDUsIDQ5LCA1NCwgMTI4LCA4MywgODksIDc3LCA2NiwgNzksIDc2LCA0NSwgNDksIDUzLCAxMjgsIDgzLCAKKyAgICA4OSwgNzcsIDY2LCA3OSwgNzYsIDQ1LCA0OSwgNTIsIDEyOCwgODMsIDg5LCA3NywgNjYsIDc5LCA3NiwgNDUsIDQ5LCA1MSwgCisgICAgMTI4LCA4MywgODksIDc3LCA2NiwgNzksIDc2LCA0NSwgNDksIDUwLCAxMjgsIDgzLCA4OSwgNzcsIDY2LCA3OSwgNzYsIDQ1LCAKKyAgICA0OSwgNDksIDEyOCwgODMsIDg5LCA3NywgNjYsIDc5LCA3NiwgNDUsIDQ5LCA0OCwgMTI4LCA4MywgODksIDc3LCA2NiwgNzksIAorICAgIDc2LCA0NSwgNDksIDEyOCwgODMsIDg5LCA3NiwgNzksIDg0LCAyMDEsIDgzLCA4OSwgMTI4LCA4MywgODcsIDkwLCAxMjgsIAorICAgIDgzLCA4NywgODUsIDc4LCAxOTksIDgzLCA4NywgNzksIDgyLCA2OCwgODMsIDEyOCwgODMsIDg3LCA3OSwgODIsIDY4LCAKKyAgICAxMjgsIDgzLCA4NywgNzksIDc5LCAxMjgsIDgzLCA4NywgNzksIDEyOCwgODMsIDg3LCA3MywgODIsIDIwNCwgODMsIDg3LCAKKyAgICA3MywgNzcsIDc3LCA3MywgNzgsIDcxLCAxMjgsIDgzLCA4NywgNzMsIDc3LCA3NywgNjksIDgyLCAxMjgsIDgzLCA4NywgNzMsIAorICAgIDczLCAxMjgsIDgzLCA4NywgNzMsIDEyOCwgODMsIDg3LCA3MSwgMTI4LCA4MywgODcsIDY5LCA2OSwgODQsIDEyOCwgODMsIAorICAgIDg3LCA2OSwgNjksIDIxMiwgODMsIDg3LCA2OSwgNjUsIDg0LCAxMjgsIDgzLCA4NywgNjksIDY1LCAyMTIsIDgzLCA4NywgCisgICAgNjUsIDgzLCAyMDAsIDgzLCA4NywgNjUsIDgwLCA4MCwgNzMsIDc4LCA3MSwgMTI4LCA4MywgODcsIDY1LCA2NSwgMTI4LCAKKyAgICA4MywgODcsIDEyOCwgODMsIDg2LCA2NSwgODMsIDg0LCAyMDEsIDgzLCA4NiwgNjUsIDgyLCA3MywgODQsIDY1LCAxMjgsIAorICAgIDgzLCA4NiwgNjUsIDgyLCA3MywgODQsIDE5MywgODMsIDg1LCA4OCwgMTI4LCA4MywgODUsIDg1LCAxMjgsIDgzLCA4NSwgCisgICAgODQsIDgyLCAxOTMsIDgzLCA4NSwgODQsIDEyOCwgODMsIDg1LCA4MywgODAsIDY5LCA3OCwgODMsIDczLCA3OSwgMjA2LCAKKyAgICA4MywgODUsIDgzLCA3MiwgNzMsIDEyOCwgODMsIDg1LCA4MiwgODksIDY1LCAxMjgsIDgzLCA4NSwgODIsIDg4LCAxMjgsIAorICAgIDgzLCA4NSwgODIsIDgyLCA3OSwgODUsIDc4LCA2OCwgMTI4LCA4MywgODUsIDgyLCA4MiwgNzksIDg1LCA3OCwgMTk2LCA4MywgCisgICAgODUsIDgyLCA3MCwgNjksIDgyLCAxMjgsIDgzLCA4NSwgODIsIDcwLCA2NSwgNjcsIDE5NywgODMsIDg1LCA4MiwgNjksIAorICAgIDEyOCwgODMsIDg1LCA4MiwgNjUsIDc4LCA3MSwgMTI4LCA4MywgODUsIDgyLCA1NywgMTI4LCA4MywgODUsIDgyLCAxMjgsIAorICAgIDgzLCA4NSwgMjEwLCA4MywgODUsIDgwLCA4MiwgNjUsIDc2LCA3MywgNzgsIDY5LCA2NSwgMjEwLCA4MywgODUsIDgwLCA2OSwgCisgICAgODIsIDg2LCA3MywgODMsIDY5LCAxMjgsIDgzLCA4NSwgODAsIDY5LCA4MiwgODMsIDY5LCA4NCwgMTI4LCA4MywgODUsIDgwLCAKKyAgICA2OSwgODIsIDgzLCA2OSwgMjEyLCA4MywgODUsIDgwLCA2OSwgODIsIDgzLCA2NywgODIsIDczLCA4MCwgMjEyLCA4MywgODUsIAorICAgIDgwLCA2OSwgODIsIDczLCA3NywgODAsIDc5LCA4MywgNjksIDE5NiwgODMsIDg1LCA4MCwgNjksIDgyLCA3MCwgNzMsIDg4LCAKKyAgICA2OSwgMTk2LCA4MywgODUsIDgwLCA2OSwgMjEwLCA4MywgODUsIDgwLCAxMjgsIDgzLCA4NSwgNzksIDg4LCAxMjgsIDgzLCAKKyAgICA4NSwgNzksIDgwLCAxMjgsIDgzLCA4NSwgNzksIDEyOCwgODMsIDg1LCA3OCwgODMsIDY5LCAyMTIsIDgzLCA4NSwgNzgsIAorICAgIDgyLCA3MywgODMsIDY5LCAxMjgsIDgzLCA4NSwgNzgsIDgyLCA3MywgODMsIDE5NywgODMsIDg1LCA3OCwgNzEsIDc2LCA2NSwgCisgICAgODMsIDgzLCA2OSwgODMsIDEyOCwgODMsIDg1LCA3OCwgNzEsIDEyOCwgODMsIDg1LCA3OCwgNzAsIDc2LCA3OSwgODcsIDY5LCAKKyAgICA4MiwgMTI4LCA4MywgODUsIDc4LCA2OCwgNjUsIDc4LCA2OSwgODMsIDE5NywgODMsIDg1LCA3OCwgMTI4LCA4MywgODUsIAorICAgIDIwNiwgODMsIDg1LCA3NywgNzcsIDY5LCA4MiwgMTI4LCA4MywgODUsIDc3LCA3NywgNjUsIDg0LCA3MywgNzksIDc4LCAKKyAgICAxMjgsIDgzLCA4NSwgNzcsIDc3LCA2NSwgODQsIDczLCA3OSwgMjA2LCA4MywgODUsIDc3LCA2NSwgODMsIDcyLCAxMjgsIAorICAgIDgzLCA4NSwgNzcsIDEyOCwgODMsIDg1LCA3NiwgNzAsIDg1LCA4MiwgMTI4LCA4MywgODUsIDc1LCA4NSwgNzgsIDEyOCwgCisgICAgODMsIDg1LCA3NSwgODUsIDIwNiwgODMsIDg1LCA3NSwgODUsIDEyOCwgODMsIDg1LCA3NSwgMjEzLCA4MywgODUsIDczLCAKKyAgICA4NCwgNjUsIDY2LCA3NiwgNjksIDEyOCwgODMsIDg1LCA3MywgODQsIDEyOCwgODMsIDg1LCA3MywgMjEyLCA4MywgODUsIAorICAgIDcyLCA4NSwgODIsIDEyOCwgODMsIDg1LCA2OSwgMTI4LCA4MywgODUsIDY4LCA1MCwgMTI4LCA4MywgODUsIDY4LCAxMjgsIAorICAgIDgzLCA4NSwgNjcsIDY3LCA2OSwgNjksIDY4LCA4MywgMTI4LCA4MywgODUsIDY3LCA2NywgNjksIDY5LCA2OCwgMjExLCA4MywgCisgICAgODUsIDY3LCA2NywgNjksIDY5LCA2OCwgMTI4LCA4MywgODUsIDY3LCA2NywgNjksIDY5LCAxOTYsIDgzLCA4NSwgNjYsIDg1LCAKKyAgICA3OCwgNzMsIDg0LCAxMjgsIDgzLCA4NSwgNjYsIDgzLCA4NCwgNzMsIDg0LCA4NSwgODQsIDczLCA3OSwgMjA2LCA4MywgODUsIAorICAgIDY2LCA4MywgODQsIDczLCA4NCwgODUsIDg0LCA2OSwgMTI4LCA4MywgODUsIDY2LCA4MywgODQsIDczLCA4NCwgODUsIDg0LCAKKyAgICAxOTcsIDgzLCA4NSwgNjYsIDgzLCA2OSwgODQsIDEyOCwgODMsIDg1LCA2NiwgODMsIDY5LCAyMTIsIDgzLCA4NSwgNjYsIAorICAgIDgzLCA2NywgODIsIDczLCA4MCwgMjEyLCA4MywgODUsIDY2LCA4MCwgODUsIDc4LCA2NywgODQsIDczLCA4MywgMTI4LCA4MywgCisgICAgODUsIDY2LCA3NiwgNzMsIDc4LCA2OSwgNjUsIDIxMCwgODMsIDg1LCA2NiwgNzYsIDczLCA3NywgNjUsIDg0LCA3MywgNzksIAorICAgIDc4LCAxMjgsIDgzLCA4NSwgNjYsIDc2LCA3MywgNzcsIDY1LCA4NCwgNjksIDQ1LCA1MSwgMTI4LCA4MywgODUsIDY2LCA3NiwgCisgICAgNzMsIDc3LCA2NSwgODQsIDY5LCA0NSwgNTAsIDEyOCwgODMsIDg1LCA2NiwgNzYsIDczLCA3NywgNjUsIDg0LCA2OSwgMTI4LCAKKyAgICA4MywgODUsIDY2LCA3NiwgNzMsIDc3LCA2NSwgODQsIDE5NywgODMsIDg1LCA2NiwgNzQsIDc5LCA3MywgNzgsIDY5LCAxOTYsIAorICAgIDgzLCA4NSwgNjYsIDc0LCA2OSwgNjcsIDg0LCAxMjgsIDgzLCA4NSwgNjYsIDczLCA4NCwgNzksIDEyOCwgODMsIDg1LCA2NiwgCisgICAgNzEsIDgyLCA3OSwgODUsIDgwLCAxMjgsIDgzLCA4NSwgNjYsIDcxLCA4MiwgNzksIDg1LCAyMDgsIDgzLCA4NSwgNjYsIAorICAgIDEyOCwgODMsIDg1LCA2NSwgNzcsIDEyOCwgODMsIDg1LCA2NSwgNjksIDg0LCAxMjgsIDgzLCA4NSwgNjUsIDY5LCA3OCwgCisgICAgMTI4LCA4MywgODUsIDY1LCA2OSwgMTI4LCA4MywgODUsIDY1LCA2NiwgMTI4LCA4MywgODUsIDY1LCAxMjgsIDgzLCAyMTMsIAorICAgIDgzLCA4NCwgODgsIDEyOCwgODMsIDg0LCA4NywgNjUsIDEyOCwgODMsIDg0LCA4NSwgNjgsIDg5LCAxMjgsIDgzLCA4NCwgCisgICAgODUsIDY4LCA3MywgMjA3LCA4MywgODQsIDg1LCA2NywgNzUsIDQ1LCA3OSwgODUsIDIxMiwgODMsIDg0LCA4MywgMTI4LCAKKyAgICA4MywgODQsIDgyLCA3OSwgNzgsIDE5OSwgODMsIDg0LCA4MiwgNzksIDc1LCA2OSwgODMsIDEyOCwgODMsIDg0LCA4MiwgNzksIAorICAgIDc1LCA2OSwgMjExLCA4MywgODQsIDgyLCA3OSwgNzUsIDY5LCA0NSwgNTcsIDEyOCwgODMsIDg0LCA4MiwgNzksIDc1LCA2OSwgCisgICAgNDUsIDU2LCAxMjgsIDgzLCA4NCwgODIsIDc5LCA3NSwgNjksIDQ1LCA1NSwgMTI4LCA4MywgODQsIDgyLCA3OSwgNzUsIDY5LCAKKyAgICA0NSwgNTQsIDEyOCwgODMsIDg0LCA4MiwgNzksIDc1LCA2OSwgNDUsIDUzLCAxMjgsIDgzLCA4NCwgODIsIDc5LCA3NSwgNjksIAorICAgIDQ1LCA1MiwgMTI4LCA4MywgODQsIDgyLCA3OSwgNzUsIDY5LCA0NSwgNTEsIDEyOCwgODMsIDg0LCA4MiwgNzksIDc1LCA2OSwgCisgICAgNDUsIDUwLCAxMjgsIDgzLCA4NCwgODIsIDc5LCA3NSwgNjksIDQ1LCA0OSwgNDksIDEyOCwgODMsIDg0LCA4MiwgNzksIDc1LCAKKyAgICA2OSwgNDUsIDQ5LCA0OCwgMTI4LCA4MywgODQsIDgyLCA3OSwgNzUsIDY5LCA0NSwgNDksIDEyOCwgODMsIDg0LCA4MiwgNzksIAorICAgIDc1LCAxOTcsIDgzLCA4NCwgODIsIDczLCA4MCwgNjksIDEyOCwgODMsIDg0LCA4MiwgNzMsIDc4LCA3MSwgMTI4LCA4MywgCisgICAgODQsIDgyLCA3MywgNzgsIDE5OSwgODMsIDg0LCA4MiwgNzMsIDc1LCA2OSwgODQsIDcyLCA4MiwgNzksIDg1LCA3MSwgNzIsIAorICAgIDEyOCwgODMsIDg0LCA4MiwgNzMsIDY4LCA2OSwgMTI4LCA4MywgODQsIDgyLCA3MywgNjcsIDg0LCA3NiwgMjE3LCA4MywgCisgICAgODQsIDgyLCA2OSwgODQsIDY3LCA3MiwgNjksIDE5NiwgODMsIDg0LCA4MiwgNjksIDgzLCAyMTEsIDgzLCA4NCwgODIsIDY5LCAKKyAgICA3OCwgNzEsIDg0LCA3MiwgMTI4LCA4MywgODQsIDgyLCA2OSwgNjUsIDc3LCA2OSwgODIsIDEyOCwgODMsIDg0LCA4MiwgNjUsIAorICAgIDg3LCA2NiwgNjksIDgyLCA4MiwgODksIDEyOCwgODMsIDg0LCA4MiwgNjUsIDg0LCA4NSwgNzcsIDQ1LCA1MCwgMTI4LCA4MywgCisgICAgODQsIDgyLCA2NSwgODQsIDg1LCA3NywgMTI4LCA4MywgODQsIDgyLCA2NSwgODQsIDg1LCAyMDUsIDgzLCA4NCwgODIsIDY1LCAKKyAgICA4NCwgNzMsIDY1LCAyMDYsIDgzLCA4NCwgODIsIDY1LCA3MywgNzgsIDY5LCA4MiwgMTI4LCA4MywgODQsIDgyLCA2NSwgNzMsIAorICAgIDcxLCA3MiwgODQsIDc4LCA2OSwgODMsIDgzLCAxMjgsIDgzLCA4NCwgODIsIDY1LCA3MywgNzEsIDcyLCAyMTIsIDgzLCA4NCwgCisgICAgODIsIDY1LCA3MywgNzAsIDEyOCwgODMsIDg0LCA4MiwgNjUsIDcxLCA3MSwgNzMsIDgzLCA3NywgNjUsIDg0LCA2NSwgMTI4LCAKKyAgICA4MywgODQsIDc5LCA4NiwgNjksIDEyOCwgODMsIDg0LCA3OSwgODIsIDY5LCAxMjgsIDgzLCA4NCwgNzksIDgwLCA4NywgNjUsIAorICAgIDg0LCA2NywgNzIsIDEyOCwgODMsIDg0LCA3OSwgODAsIDgwLCA3MywgNzgsIDcxLCAxMjgsIDgzLCA4NCwgNzksIDgwLCA4MCwgCisgICAgNjUsIDcxLCA2OSwgMTI4LCA4MywgODQsIDc5LCA4MCwgMTI4LCA4MywgODQsIDc5LCAyMDgsIDgzLCA4NCwgNzksIDc4LCAKKyAgICA2OSwgMTI4LCA4MywgODQsIDc5LCA2NywgNzUsIDEyOCwgODMsIDg0LCA3OSwgNjcsIDIwMywgODMsIDg0LCA3MywgODIsIAorICAgIDgyLCA4NSwgMjA4LCA4MywgODQsIDczLCA3NywgNzcsIDY5LCAxMjgsIDgzLCA4NCwgNzMsIDc2LCAyMDQsIDgzLCA4NCwgCisgICAgNzMsIDc2LCAxOTcsIDgzLCA4NCwgNzMsIDcxLCA3NywgNjUsIDEyOCwgODMsIDg0LCA2OSwgODIsIDY5LCA3OSwgMTI4LCAKKyAgICA4MywgODQsIDY5LCA4MCwgMTI4LCA4MywgODQsIDY5LCA3OCwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNzMsIDE5NSwgODMsIAorICAgIDg0LCA2OSwgNzcsIDEyOCwgODMsIDg0LCA2OSwgNjUsIDc3LCA3MywgNzgsIDE5OSwgODMsIDg0LCA2OSwgNjUsIDc3LCAKKyAgICAxMjgsIDgzLCA4NCwgNjksIDY1LCAyMDUsIDgzLCA4NCwgNjUsIDg2LCA4MiwgNzksIDg1LCAxMjgsIDgzLCA4NCwgNjUsIAorICAgIDg2LCA4MiwgNzksIDgzLCAxMjgsIDgzLCA4NCwgNjUsIDg2LCA4MiwgNzksIDIxMSwgODMsIDg0LCA2NSwgODUsIDgyLCA3OSwgCisgICAgODMsIDEyOCwgODMsIDg0LCA2NSwgODQsIDg1LCAxOTcsIDgzLCA4NCwgNjUsIDg0LCA3MywgNzksIDc4LCAxMjgsIDgzLCAKKyAgICA4NCwgNjUsIDg0LCA2OSwgODIsIDgzLCAxMjgsIDgzLCA4NCwgNjUsIDg0LCA2OSwgMTI4LCA4MywgODQsIDY1LCA4MiwgCisgICAgMjEyLCA4MywgODQsIDY1LCA4MiwgODMsIDEyOCwgODMsIDg0LCA2NSwgODIsIDgyLCA2OSwgMTk2LCA4MywgODQsIDY1LCAKKyAgICA4MiwgNzUsIDEyOCwgODMsIDg0LCA2NSwgODIsIDEyOCwgODMsIDg0LCA2NSwgMjEwLCA4MywgODQsIDY1LCA3OCwgNjgsIAorICAgIDgzLCA4NCwgNzMsIDc2LCA3NiwgMTI4LCA4MywgODQsIDY1LCA3OCwgNjgsIDY1LCA4MiwgMTk2LCA4MywgODQsIDY1LCA3OCwgCisgICAgNjgsIDEyOCwgODMsIDg0LCA2NSwgNzgsIDEyOCwgODMsIDg0LCA2NSwgNzcsIDgwLCA2OSwgMTk2LCA4MywgODQsIDY1LCAKKyAgICA3NiwgNzYsIDczLCA3OSwgNzgsIDEyOCwgODMsIDg0LCA2NSwgNzAsIDcwLCAxMjgsIDgzLCA4NCwgNjUsIDcwLCAxOTgsIAorICAgIDgzLCA4NCwgNjUsIDY4LCA3MywgODUsIDc3LCAxMjgsIDgzLCA4NCwgNjUsIDY3LCA2NywgNjUsIDg0LCA3OSwgMTI4LCA4MywgCisgICAgODQsIDY1LCA2NywgNjcsIDY1LCA4NCwgNzMsIDgzLCA4MywgNzMsIDc3LCA3OSwgMTI4LCA4MywgODQsIDUwLCAxMjgsIDgzLCAKKyAgICA4MywgODksIDg4LCAxMjgsIDgzLCA4MywgODksIDg0LCAxMjgsIDgzLCA4MywgODksIDgyLCA4OCwgMTI4LCA4MywgODMsIAorICAgIDg5LCA4MiwgMTI4LCA4MywgODMsIDg5LCA4MCwgMTI4LCA4MywgODMsIDg5LCAxMjgsIDgzLCA4MywgODUsIDg4LCAxMjgsIAorICAgIDgzLCA4MywgODUsIDg1LCAxMjgsIDgzLCA4MywgODUsIDg0LCAxMjgsIDgzLCA4MywgODUsIDgwLCAxMjgsIDgzLCA4MywgCisgICAgNzksIDg4LCAxMjgsIDgzLCA4MywgNzksIDg0LCAxMjgsIDgzLCA4MywgNzksIDgwLCAxMjgsIDgzLCA4MywgNzksIDc5LCAKKyAgICAxMjgsIDgzLCA4MywgNzksIDEyOCwgODMsIDgzLCA3MywgODgsIDEyOCwgODMsIDgzLCA3MywgODQsIDEyOCwgODMsIDgzLCAKKyAgICA3MywgODAsIDEyOCwgODMsIDgzLCA3MywgNzMsIDEyOCwgODMsIDgzLCA3MywgNjksIDg4LCAxMjgsIDgzLCA4MywgNzMsIAorICAgIDY5LCA4MCwgMTI4LCA4MywgODMsIDczLCA2OSwgMTI4LCA4MywgODMsIDczLCAxMjgsIDgzLCA4MywgNzIsIDczLCA3OCwgCisgICAgMTI4LCA4MywgODMsIDcyLCA2OSwgMTI4LCA4MywgODMsIDY5LCA4OCwgMTI4LCA4MywgODMsIDY5LCA4MCwgMTI4LCA4MywgCisgICAgODMsIDY5LCA2OSwgMTI4LCA4MywgODMsIDY1LCA4OCwgMTI4LCA4MywgODMsIDY1LCA4NSwgMTI4LCA4MywgODMsIDY1LCAKKyAgICA4NCwgMTI4LCA4MywgODMsIDY1LCA4MCwgMTI4LCA4MywgODMsIDY1LCA3OCwgNzEsIDg5LCA2OSwgNzksIDgyLCA3MywgNzgsIAorICAgIDcyLCA3MywgNjksIDg1LCA3MiwgMTI4LCA4MywgODMsIDY1LCA3OCwgNzEsIDg0LCA3MywgNzUsIDY5LCA4NSwgODQsIDQ1LCAKKyAgICA4MCwgNzMsIDY5LCA4NSwgODAsIDEyOCwgODMsIDgzLCA2NSwgNzgsIDcxLCA4NCwgNzMsIDc1LCA2OSwgODUsIDg0LCAxMjgsIAorICAgIDgzLCA4MywgNjUsIDc4LCA3MSwgODQsIDcyLCA3MywgNjksIDg1LCA4NCwgNzIsIDEyOCwgODMsIDgzLCA2NSwgNzgsIDcxLCAKKyAgICA4MywgNzMsIDc5LCA4MywgNDUsIDg0LCA3MywgNzUsIDY5LCA4NSwgODQsIDEyOCwgODMsIDgzLCA2NSwgNzgsIDcxLCA4MywgCisgICAgNzMsIDc5LCA4MywgNDUsIDgwLCA3MywgNjksIDg1LCA4MCwgMTI4LCA4MywgODMsIDY1LCA3OCwgNzEsIDgzLCA3MywgNzksIAorICAgIDgzLCA0NSwgNzUsIDczLCA4OSwgNjksIDc5LCA3NSwgMTI4LCA4MywgODMsIDY1LCA3OCwgNzEsIDgzLCA3MywgNzksIDgzLCAKKyAgICAxMjgsIDgzLCA4MywgNjUsIDc4LCA3MSwgODIsIDczLCA2OSwgODUsIDc2LCA0NSwgNzUsIDcyLCA3MywgNjksIDg1LCA3NSwgCisgICAgNzIsIDEyOCwgODMsIDgzLCA2NSwgNzgsIDcxLCA4MiwgNzMsIDY5LCA4NSwgNzYsIDEyOCwgODMsIDgzLCA2NSwgNzgsIDcxLCAKKyAgICA4MCwgNzMsIDY5LCA4NSwgODAsIDEyOCwgODMsIDgzLCA2NSwgNzgsIDcxLCA3OCwgNzMsIDY5LCA4NSwgNzgsIDEyOCwgODMsIAorICAgIDgzLCA2NSwgNzgsIDcxLCA3NywgNzMsIDY5LCA4NSwgNzcsIDEyOCwgODMsIDgzLCA2NSwgNzgsIDcxLCA3NSwgNzMsIDg5LCAKKyAgICA2OSwgNzksIDc1LCAxMjgsIDgzLCA4MywgNjUsIDc4LCA3MSwgNzMsIDY5LCA4NSwgNzgsIDcxLCAxMjgsIDgzLCA4MywgNjUsIAorICAgIDc4LCA3MSwgNzIsIDczLCA2OSwgODUsIDcyLCAxMjgsIDgzLCA4MywgNjUsIDc4LCA3MSwgNjcsIDczLCA2OSwgODUsIDY3LCAKKyAgICA0NSwgNzIsIDczLCA2OSwgODUsIDcyLCAxMjgsIDgzLCA4MywgNjUsIDc4LCA3MSwgNjcsIDczLCA2OSwgODUsIDY3LCAxMjgsIAorICAgIDgzLCA4MywgNjUsIDc4LCA3MSwgNjUsIDgyLCA2NSwgNjksIDY1LCAxMjgsIDgzLCA4MywgNjUsIDczLCAxMjgsIDgzLCA4MywgCisgICAgNjUsIDY1LCAxMjgsIDgzLCA4MywgNTEsIDEyOCwgODMsIDgzLCA1MCwgMTI4LCA4MywgODIsIDEyOCwgODMsIDgxLCA4NSwgCisgICAgNzMsIDgzLCAyMDAsIDgzLCA4MSwgODUsIDczLCA4MiwgODIsIDY5LCAyMDQsIDgzLCA4MSwgODUsIDczLCA3MSwgNzEsIDc2LCAKICAgICAxOTcsIDgzLCA4MSwgODUsIDY1LCAyMTIsIDgzLCA4MSwgODUsIDY1LCA4MiwgNjksIDgzLCAxMjgsIDgzLCA4MSwgODUsIAotICAgIDY1LCA4MiwgNjksIDY4LCAxMjgsIDgzLCA4MSwgODUsIDY1LCA4MiwgNjksIDEyOCwgODMsIDgwLCA4NywgNjUsIDEyOCwgCi0gICAgODMsIDgwLCA4NSwgNzgsIDcxLCAyMTEsIDgzLCA4MCwgODIsIDc5LCA4NSwgODQsIDEyOCwgODMsIDgwLCA4MiwgNzMsIDc4LCAKLSAgICA3MSwgODMsIDEyOCwgODMsIDgwLCA4MiwgNzMsIDc4LCA3MSwgMTI4LCA4MywgODAsIDgyLCA2OSwgNjcsIDcyLCA3MSwgNjksIAotICAgIDgzLCA2NSwgNzgsIDE5OSwgODMsIDgwLCA3OSwgODUsIDg0LCA3MywgNzgsIDE5OSwgODMsIDgwLCA3OSwgODQsIDEyOCwgCi0gICAgODMsIDgwLCA3OSwgNzksIDc4LCAxMjgsIDgzLCA4MCwgNzYsIDczLCA4NCwgODQsIDczLCA3OCwgMTk5LCA4MywgODAsIDc2LCAKLSAgICA2NSwgODMsIDcyLCA3MywgNzgsIDE5OSwgODMsIDgwLCA3MywgODIsIDczLCA4NCwgODUsIDIxMSwgODMsIDgwLCA3MywgODIsIAotICAgIDczLCA4NCwgMTI4LCA4MywgODAsIDczLCA4MiwgNzMsIDIxMiwgODMsIDgwLCA3MywgODIsIDY1LCA3OCwgODQsIDEyOCwgCi0gICAgODMsIDgwLCA3MywgODIsIDY1LCA3NiwgMTI4LCA4MywgODAsIDczLCA4MiwgNjUsIDIwNCwgODMsIDgwLCA3MywgNjgsIDY5LCAKLSAgICA4MiwgMjE3LCA4MywgODAsIDczLCA2NywgNjksIDEyOCwgODMsIDgwLCA3MiwgNjksIDgyLCA3MywgNjcsIDY1LCAyMDQsIAotICAgIDgzLCA4MCwgNjksIDgzLCA3NywgNzMsIDc2LCAyMDcsIDgzLCA4MCwgNjksIDY5LCA2OCwgNjYsIDc5LCA2NSwgODQsIDEyOCwgCi0gICAgODMsIDgwLCA2OSwgNjksIDY3LCA3MiwgMTI4LCA4MywgODAsIDY5LCA2OSwgNjcsIDIwMCwgODMsIDgwLCA2OSwgNjcsIDczLCAKLSAgICA2NSwgNzYsIDEyOCwgODMsIDgwLCA2OSwgNjUsIDgyLCAxMjgsIDgzLCA4MCwgNjksIDY1LCA3NSwgNjksIDgyLCAxMjgsIAotICAgIDgzLCA4MCwgNjksIDY1LCA3NSwgNjksIDIxMCwgODMsIDgwLCA2OSwgNjUsIDc1LCA0NSwgNzgsIDc5LCA0NSwgNjksIDg2LCAKLSAgICA3MywgMjA0LCA4MywgODAsIDY1LCA4NCwgNzIsIDczLCAxMjgsIDgzLCA4MCwgNjUsIDgyLCA3NSwgNzYsIDczLCA3OCwgCi0gICAgMTk5LCA4MywgODAsIDY1LCA4MiwgNzUsIDc2LCA2OSwgODMsIDEyOCwgODMsIDgwLCA2NSwgODIsIDc1LCA3NiwgNjksIDgyLCAKLSAgICAxMjgsIDgzLCA4MCwgNjUsIDgyLCA3NSwgNzYsIDY5LCAxMjgsIDgzLCA4MCwgNjUsIDcxLCA3MiwgNjksIDg0LCA4NCwgNzMsIAotICAgIDEyOCwgODMsIDgwLCA2NSwgNjgsIDY5LCA4MywgMTI4LCA4MywgODAsIDY1LCA2OCwgMTk3LCA4MywgODAsIDY1LCA2NywgCi0gICAgNzMsIDc4LCAxOTksIDgzLCA4MCwgNjUsIDY3LCAxOTcsIDgzLCA4MCwgNjUsIDEyOCwgODMsIDc5LCA4OSwgMTI4LCA4MywgCi0gICAgNzksIDg3LCA3MywgNzYsIDIwNywgODMsIDc5LCA4NywgMTI4LCA4MywgNzksIDg1LCA4NCwgNzIsIDY5LCA4MiwgMjA2LCAKLSAgICA4MywgNzksIDg1LCA4NCwgNzIsIDQ1LCA4MywgNzYsIDY1LCA4NiwgNjksIDIxNywgODMsIDc5LCA4NSwgODQsIDIwMCwgODMsIAorICAgIDY1LCA4MiwgNjksIDY4LCAxMjgsIDgzLCA4MSwgODUsIDY1LCA4MiwgNjksIDEyOCwgODMsIDgwLCA4OSwgMTI4LCA4MywgCisgICAgODAsIDg3LCA2NSwgMTI4LCA4MywgODAsIDg1LCA3OCwgNzEsIDIxMSwgODMsIDgwLCA4MiwgNzksIDg1LCA4NCwgMTI4LCAKKyAgICA4MywgODAsIDgyLCA3MywgNzgsIDcxLCA4MywgMTI4LCA4MywgODAsIDgyLCA3MywgNzgsIDcxLCAxMjgsIDgzLCA4MCwgODIsIAorICAgIDY5LCA2NywgNzIsIDcxLCA2OSwgODMsIDY1LCA3OCwgMTk5LCA4MywgODAsIDc5LCA4NSwgODQsIDczLCA3OCwgMTk5LCA4MywgCisgICAgODAsIDc5LCA4NCwgMTI4LCA4MywgODAsIDc5LCA4MiwgODQsIDIxMSwgODMsIDgwLCA3OSwgNzksIDc4LCAxMjgsIDgzLCAKKyAgICA4MCwgNzYsIDczLCA4NCwgODQsIDczLCA3OCwgMTk5LCA4MywgODAsIDc2LCA2NSwgODksIDY5LCA2OCwgMTI4LCA4MywgODAsIAorICAgIDc2LCA2NSwgODMsIDcyLCA3MywgNzgsIDE5OSwgODMsIDgwLCA3MywgODIsIDczLCA4NCwgODUsIDIxMSwgODMsIDgwLCA3MywgCisgICAgODIsIDczLCA4NCwgMTI4LCA4MywgODAsIDczLCA4MiwgNzMsIDIxMiwgODMsIDgwLCA3MywgODIsIDY1LCA3OCwgODQsIAorICAgIDEyOCwgODMsIDgwLCA3MywgODIsIDY1LCA3NiwgMTI4LCA4MywgODAsIDczLCA4MiwgNjUsIDIwNCwgODMsIDgwLCA3MywgCisgICAgNjgsIDY5LCA4MiwgMjE3LCA4MywgODAsIDczLCA2OCwgNjksIDgyLCAxMjgsIDgzLCA4MCwgNzMsIDY4LCA2OSwgMjEwLCAKKyAgICA4MywgODAsIDczLCA2NywgNjksIDEyOCwgODMsIDgwLCA3MiwgNjksIDgyLCA3MywgNjcsIDY1LCAyMDQsIDgzLCA4MCwgNjksIAorICAgIDgzLCA3NywgNzMsIDc2LCAyMDcsIDgzLCA4MCwgNjksIDY5LCA2OCwgNjYsIDc5LCA2NSwgODQsIDEyOCwgODMsIDgwLCA2OSwgCisgICAgNjksIDY3LCA3MiwgMTI4LCA4MywgODAsIDY5LCA2OSwgNjcsIDIwMCwgODMsIDgwLCA2OSwgNjcsIDczLCA2NSwgNzYsIAorICAgIDEyOCwgODMsIDgwLCA2OSwgNjUsIDgyLCAxMjgsIDgzLCA4MCwgNjksIDY1LCA3NSwgNzMsIDc4LCAxOTksIDgzLCA4MCwgCisgICAgNjksIDY1LCA3NSwgNjksIDgyLCAxMjgsIDgzLCA4MCwgNjksIDY1LCA3NSwgNjksIDIxMCwgODMsIDgwLCA2OSwgNjUsIDc1LCAKKyAgICA0NSwgNzgsIDc5LCA0NSwgNjksIDg2LCA3MywgMjA0LCA4MywgODAsIDY1LCA4NCwgNzIsIDczLCAxMjgsIDgzLCA4MCwgNjUsIAorICAgIDgyLCA3NSwgNzYsIDczLCA3OCwgMTk5LCA4MywgODAsIDY1LCA4MiwgNzUsIDc2LCA2OSwgODMsIDEyOCwgODMsIDgwLCA2NSwgCisgICAgODIsIDc1LCA3NiwgNjksIDgyLCAxMjgsIDgzLCA4MCwgNjUsIDgyLCA3NSwgNzYsIDY5LCAxMjgsIDgzLCA4MCwgNjUsIDcxLCAKKyAgICA3MiwgNjksIDg0LCA4NCwgNzMsIDEyOCwgODMsIDgwLCA2NSwgNjgsIDY5LCA4MywgMTI4LCA4MywgODAsIDY1LCA2OCwgCisgICAgMTk3LCA4MywgODAsIDY1LCA2NywgNzMsIDc4LCAxOTksIDgzLCA4MCwgNjUsIDY3LCAxOTcsIDgzLCA4MCwgNjUsIDEyOCwgCisgICAgODMsIDc5LCA4OSwgMTI4LCA4MywgNzksIDg3LCA3MywgNzYsIDIwNywgODMsIDc5LCA4NywgMTI4LCA4MywgNzksIDg1LCAKKyAgICA4NCwgNzIsIDY5LCA4MiwgMjA2LCA4MywgNzksIDg1LCA4NCwgNzIsIDQ1LCA4MywgNzYsIDY1LCA4NiwgNjksIDIxNywgODMsIAogICAgIDc5LCA4NSwgODIsIDY3LCA2OSwgMTI4LCA4MywgNzksIDg1LCA3OCwgNjgsIDEyOCwgODMsIDc5LCA4NSwgNzgsIDE5NiwgCiAgICAgODMsIDc5LCA4NSwgNzgsIDY1LCA4MCwgMTI4LCA4MywgNzksIDg1LCAxMjgsIDgzLCA3OSwgODMsIDEyOCwgODMsIDc5LCAKICAgICA4MiwgMTkzLCA4MywgNzksIDgxLCAxMjgsIDgzLCA3OSwgNzksIDIwNiwgODMsIDc5LCA3OCwgNzQsIDY1LCA3NywgMTI4LCAKICAgICA4MywgNzksIDc4LCA3MSwgMTI4LCA4MywgNzksIDc4LCAxMjgsIDgzLCA3OSwgNzcsIDgwLCA2OSwgNzgsIDE5OSwgODMsIAogICAgIDc5LCA3NywgMTI4LCA4MywgNzksIDc2LCA3MywgNjgsIDg1LCA4MywgMTI4LCA4MywgNzksIDc2LCA3MywgNjgsIDg1LCAKLSAgICAyMTEsIDgzLCA3OSwgNzIsIDEyOCwgODMsIDc5LCA3MSwgNjgsIDczLCA2NSwgMjA2LCA4MywgNzksIDcwLCA4NCwgODcsIAotICAgIDY1LCA4MiwgNjksIDQ1LCA3MCwgODUsIDc4LCA2NywgODQsIDczLCA3OSwgMjA2LCA4MywgNzksIDcwLCA4NCwgNzgsIDY5LCAKLSAgICA4MywgODMsIDEyOCwgODMsIDc5LCA3MCwgMjEyLCA4MywgNzksIDE5OCwgODMsIDc5LCA2NywgNzMsIDY5LCA4NCwgODksIAotICAgIDEyOCwgODMsIDc5LCA2NywgNjcsIDY5LCAyMTAsIDgzLCA3OSwgNjUsIDgwLCAxMjgsIDgzLCA3OSwgNjUsIDEyOCwgODMsIAotICAgIDIwNywgODMsIDc4LCA3OSwgODcsIDc3LCA2NSwgNzgsIDEyOCwgODMsIDc4LCA3OSwgODcsIDc3LCA2NSwgMjA2LCA4MywgCi0gICAgNzgsIDc5LCA4NywgNzAsIDc2LCA2NSwgNzUsIDY5LCAxMjgsIDgzLCA3OCwgNzksIDg3LCA2NiwgNzksIDY1LCA4MiwgNjgsIAotICAgIDY5LCA4MiwgMTI4LCA4MywgNzgsIDc5LCA4NywgMTI4LCA4MywgNzgsIDc5LCA4NSwgODQsIDEyOCwgODMsIDc4LCA3OSwgCi0gICAgODUsIDIxMiwgODMsIDc4LCA2NSwgMjA4LCA4MywgNzgsIDY1LCA3NSwgNjksIDEyOCwgODMsIDc4LCA2NSwgNzUsIDE5NywgCi0gICAgODMsIDc4LCA2NSwgNzMsIDc2LCAxMjgsIDgzLCA3OCwgMTkzLCA4MywgNzcsIDc5LCA3NSwgNzMsIDc4LCAxOTksIDgzLCAKLSAgICA3NywgNzMsIDgyLCA3NSwgNzMsIDc4LCAxOTksIDgzLCA3NywgNzMsIDc2LCA3MywgNzgsIDE5OSwgODMsIDc3LCA3MywgNzYsIAotICAgIDY5LCAxMjgsIDgzLCA3NywgNjksIDY1LCA4MiwgMTI4LCA4MywgNzcsIDY1LCA4MywgMjAwLCA4MywgNzcsIDY1LCA3NiwgCi0gICAgNzYsIDY5LCAyMTAsIDgzLCA3NywgNjUsIDc2LCA3NiwgMTI4LCA4MywgNzYsIDg1LCA4MiwgMTI4LCA4MywgNzYsIDc5LCAKLSAgICA4NywgNzYsIDg5LCAxMjgsIDgzLCA3NiwgNzksIDIxNSwgODMsIDc2LCA3OSwgODYsIDc5LCAxMjgsIDgzLCA3NiwgNzksIAotICAgIDIxMiwgODMsIDc2LCA3OSwgODAsIDczLCA3OCwgMTk5LCA4MywgNzYsIDc5LCA4MCwgNjksIDEyOCwgODMsIDc2LCA3MywgCi0gICAgNzgsIDcxLCAxMjgsIDgzLCA3NiwgNzMsIDY4LCA3MywgNzgsIDcxLCAxMjgsIDgzLCA3NiwgNzMsIDY3LCA2OSwgMTI4LCAKLSAgICA4MywgNzYsIDczLCA2NywgMTk3LCA4MywgNzYsIDY5LCA2OSwgODAsIDIxNywgODMsIDc2LCA2OSwgNjksIDgwLCA3MywgNzgsIAotICAgIDE5OSwgODMsIDc2LCA2NSwgODYsIDc5LCA3OCwgNzMsIDE5NSwgODMsIDc2LCA2NSwgODYsIDY5LCAxMjgsIDgzLCA3NiwgCi0gICAgNjUsIDgzLCA3MiwgMTI4LCA4MywgNzYsIDY1LCA4MywgMjAwLCA4MywgNzYsIDY1LCA3OCwgODQsIDY5LCAxOTYsIDgzLCAKLSAgICA3NSwgODcsIDY1LCAxMjgsIDgzLCA3NSwgODcsIDEyOCwgODMsIDc1LCA4NSwgNzYsIDc2LCAxMjgsIDgzLCA3NSwgODUsIAotICAgIDc2LCAyMDQsIDgzLCA3NSwgNzYsIDczLCA4MiwgNzksIDIwNiwgODMsIDc1LCA3MywgNzgsIDEyOCwgODMsIDc1LCA3MywgCi0gICAgNjksIDgyLCAxMjgsIDgzLCA3NSwgMjAxLCA4MywgNzUsIDY5LCA4NywgNjksIDE5NiwgODMsIDc1LCA2NSwgODQsIDY5LCAKLSAgICAxMjgsIDgzLCA3NSwgMTI4LCA4MywgNzQsIDY5LCAxMjgsIDgzLCA3MywgODgsIDg0LCA4OSwgNDUsIDcwLCA3OSwgODUsIAotICAgIDgyLCA4NCwgMjAwLCA4MywgNzMsIDg4LCA4NCwgODksIDEyOCwgODMsIDczLCA4OCwgODQsIDIxNywgODMsIDczLCA4OCwgCi0gICAgODQsIDcyLCA4MywgMTI4LCA4MywgNzMsIDg4LCA4NCwgNzIsIDIxMSwgODMsIDczLCA4OCwgODQsIDcyLCAxMjgsIDgzLCAKLSAgICA3MywgODgsIDg0LCA2OSwgNjksIDc4LCA4NCwgNzIsIDgzLCAxMjgsIDgzLCA3MywgODgsIDg0LCA2OSwgNjksIDc4LCA4NCwgCi0gICAgNzIsIDEyOCwgODMsIDczLCA4OCwgODQsIDY5LCA2OSwgNzgsIDg0LCAyMDAsIDgzLCA3MywgODgsIDg0LCA2OSwgNjksIDc4LCAKLSAgICAxMjgsIDgzLCA3MywgODgsIDg0LCA2OSwgNjksIDIwNiwgODMsIDczLCA4OCwgNDUsIDg0LCA3MiwgNzMsIDgyLCA4NCwgODksIAotICAgIDEyOCwgODMsIDczLCA4OCwgNDUsIDgzLCA4NCwgODIsIDczLCA3OCwgMTk5LCA4MywgNzMsIDg4LCA0NSwgODAsIDY5LCA4MiwgCi0gICAgNDUsIDY5LCAyMDUsIDgzLCA3MywgODgsIDQ1LCA3NiwgNzMsIDc4LCAxOTcsIDgzLCA3MywgMjE2LCA4MywgNzMsIDg0LCAKLSAgICA2OSwgMTI4LCA4MywgNzMsIDgzLCA2NSwgMTI4LCA4MywgNzMsIDgyLCA3MywgNzgsIDcxLCA4NSwgMTI4LCA4MywgNzMsIAotICAgIDc5LCA4MywgNDUsIDg0LCA3MiwgNzMsIDY5LCA4NSwgODQsIDcyLCAxMjgsIDgzLCA3MywgNzksIDgzLCA0NSwgODMsIDgzLCAKLSAgICA2NSwgNzgsIDcxLCA4MywgNzMsIDc5LCA4MywgMTI4LCA4MywgNzMsIDc5LCA4MywgNDUsIDgyLCA3MywgNjksIDg1LCA3NiwgCi0gICAgMTI4LCA4MywgNzMsIDc5LCA4MywgNDUsIDgwLCA3MywgNjksIDg1LCA4MCwgNDUsIDc1LCA3MywgODksIDY5LCA3OSwgNzUsIAotICAgIDEyOCwgODMsIDczLCA3OSwgODMsIDQ1LCA4MCwgNzIsIDczLCA2OSwgODUsIDgwLCA3MiwgMTI4LCA4MywgNzMsIDc5LCA4MywgCi0gICAgNDUsIDgwLCA2NSwgNzgsIDgzLCA3MywgNzksIDgzLCAxMjgsIDgzLCA3MywgNzksIDgzLCA0NSwgNzgsIDczLCA2OSwgODUsIAotICAgIDc4LCAxMjgsIDgzLCA3MywgNzksIDgzLCA0NSwgNzcsIDczLCA2OSwgODUsIDc3LCAxMjgsIDgzLCA3MywgNzksIDgzLCA0NSwgCi0gICAgNzUsIDcyLCA3MywgNjksIDg1LCA3NSwgNzIsIDEyOCwgODMsIDczLCA3OSwgODMsIDQ1LCA3NSwgNjUsIDgwLCA4OSwgNjksIAotICAgIDc5LCA4NSwgNzgsIDgwLCA3MywgNjksIDg1LCA4MCwgMTI4LCA4MywgNzMsIDc5LCA4MywgNDUsIDczLCA2OSwgODUsIDc4LCAKLSAgICA3MSwgMTI4LCA4MywgNzMsIDc5LCA4MywgNDUsIDcyLCA3MywgNjksIDg1LCA3MiwgMTI4LCA4MywgNzMsIDc5LCA4MywgNDUsIAotICAgIDY3LCA3MywgNjksIDg1LCA2NywgMTI4LCA4MywgNzMsIDc5LCA4MywgNDUsIDY3LCA3MiwgNzMsIDY5LCA4NSwgNjcsIDcyLCAKLSAgICAxMjgsIDgzLCA3MywgNzksIDIxMSwgODMsIDczLCA3OCwgNzUsIDczLCA3OCwgNzEsIDEyOCwgODMsIDczLCA3OCwgNzEsIAotICAgIDc2LCA2OSwgNDUsIDgzLCA3MiwgNzMsIDcwLCA4NCwgNDUsIDUxLCAxMjgsIDgzLCA3MywgNzgsIDcxLCA3NiwgNjksIDQ1LCAKLSAgICA4MywgNzIsIDczLCA3MCwgODQsIDQ1LCA1MCwgMTI4LCA4MywgNzMsIDc4LCA3MSwgNzYsIDY5LCA0NSwgNzYsIDczLCA3OCwgCi0gICAgMTk3LCA4MywgNzMsIDc4LCA3MSwgNzYsIDY5LCAxMjgsIDgzLCA3MywgNzgsIDcxLCA3NiwgMTk3LCA4MywgNzMsIDc4LCAKLSAgICA3MSwgNjUsIDY1LCA4NCwgMTI4LCA4MywgNzMsIDc4LCAxOTcsIDgzLCA3MywgNzgsIDY4LCA3MiwgMjAxLCA4MywgNzMsIAotICAgIDIwNiwgODMsIDczLCA3NywgODAsIDc2LCA3MywgNzAsIDczLCA2OSwgMTk2LCA4MywgNzMsIDc3LCA3MywgNzYsIDY1LCA4MiwgCi0gICAgMTI4LCA4MywgNzMsIDc3LCA3MywgNzYsIDY1LCAyMTAsIDgzLCA3MywgNzcsIDY1LCA3OCwgODMsIDczLCAyMTEsIDgzLCAKLSAgICA3MywgNzcsIDY1LCA3NiwgODUsIDc4LCA3MSwgODUsIDIwNiwgODMsIDczLCA3NywgNjUsIDEyOCwgODMsIDczLCA3NiwgODYsIAotICAgIDY5LCA4MiwgMTI4LCA4MywgNzMsIDc2LCA3NSwgMTI4LCA4MywgNzMsIDc2LCA3MywgODEsIDg1LCAxOTMsIDgzLCA3MywgCi0gICAgNzYsIDcyLCA3OSwgODUsIDY5LCA4NCwgODQsIDY5LCAxMjgsIDgzLCA3MywgNzYsIDcyLCA3OSwgODUsIDY5LCA4NCwgODQsIAotICAgIDE5NywgODMsIDczLCA3NiwgNjUsIDUxLCAxMjgsIDgzLCA3MywgNzUsIDczLCAxMjgsIDgzLCA3MywgNzUsIDUwLCAxMjgsIAotICAgIDgzLCA3MywgNzUsIDE3OCwgODMsIDczLCA3MSwgNzgsIDgzLCAxMjgsIDgzLCA3MywgNzEsIDc3LCA2NSwgMTI4LCA4MywgCi0gICAgNzMsIDcxLCA3NywgMTkzLCA4MywgNzMsIDcxLCA2OSwgMjA0LCA4MywgNzMsIDcxLCA1MiwgMTI4LCA4MywgNzMsIDcxLCAKLSAgICAxODAsIDgzLCA3MywgNzEsIDEyOCwgODMsIDczLCA2OSwgNjksIDEyOCwgODMsIDczLCA2OCwgNjksIDg3LCA2NSwgODksIAotICAgIDIxMSwgODMsIDczLCA2NywgNzUsIDc4LCA2OSwgODMsIDgzLCAxMjgsIDgzLCA3MywgNjcsIDc1LCA3NiwgNjksIDEyOCwgCi0gICAgODMsIDczLCA2NiwgMTk3LCA4MywgMjAxLCA4MywgNzIsIDg5LCA4OCwgMTI4LCA4MywgNzIsIDg5LCA4NCwgMTI4LCA4MywgCi0gICAgNzIsIDg5LCA4MiwgODgsIDEyOCwgODMsIDcyLCA4OSwgODIsIDEyOCwgODMsIDcyLCA4OSwgODAsIDEyOCwgODMsIDcyLCAKLSAgICA4OSwgNjksIDEyOCwgODMsIDcyLCA4OSwgNjUsIDEyOCwgODMsIDcyLCA4OSwgMTI4LCA4MywgNzIsIDg3LCA3OSwgODksIAotICAgIDEyOCwgODMsIDcyLCA4NywgNzksIDc5LCAxMjgsIDgzLCA3MiwgODcsIDc5LCAxMjgsIDgzLCA3MiwgODcsIDczLCA3MywgCi0gICAgMTI4LCA4MywgNzIsIDg3LCA3MywgMTI4LCA4MywgNzIsIDg3LCA2OSwgMTI4LCA4MywgNzIsIDg3LCA2NSwgNjUsIDEyOCwgCi0gICAgODMsIDcyLCA4NywgNjUsIDEyOCwgODMsIDcyLCA4NSwgODgsIDEyOCwgODMsIDcyLCA4NSwgODUsIDEyOCwgODMsIDcyLCAKLSAgICA4NSwgODQsIDEyOCwgODMsIDcyLCA4NSwgODIsIDg4LCAxMjgsIDgzLCA3MiwgODUsIDgyLCAxMjgsIDgzLCA3MiwgODUsIAotICAgIDgwLCAxMjgsIDgzLCA3MiwgODUsIDc5LCA4OCwgMTI4LCA4MywgNzIsIDg1LCA3OSwgODAsIDEyOCwgODMsIDcyLCA4NSwgCi0gICAgNzksIDEyOCwgODMsIDcyLCA4NSwgNzcsIDEyOCwgODMsIDcyLCA4NSwgNzAsIDcwLCA3NiwgMTk3LCA4MywgNzIsIDg1LCAKLSAgICA2OSwgODEsIDEyOCwgODMsIDcyLCA4NSwgNjksIDc4LCA4MywgNzIsIDg1LCA2OSwgODQsIDEyOCwgODMsIDcyLCA4NSwgNjYsIAotICAgIDg1LCA4MiwgMTI4LCA4MywgNzIsIDg1LCA1MCwgMTI4LCA4MywgNzIsIDg1LCAxNzgsIDgzLCA3MiwgODUsIDEyOCwgODMsIAotICAgIDcyLCAyMTMsIDgzLCA3MiwgODQsIDY1LCA4MCwgNzMsIDY3LCAxMjgsIDgzLCA3MiwgODQsIDY1LCAxMjgsIDgzLCA3MiwgCi0gICAgODIsIDczLCA3OCwgNjksIDEyOCwgODMsIDcyLCA4MiwgNzMsIDc3LCA4MCwgMTI4LCA4MywgNzIsIDgyLCA3MywgNzMsIAotICAgIDEyOCwgODMsIDcyLCA3OSwgODksIDEyOCwgODMsIDcyLCA3OSwgODgsIDEyOCwgODMsIDcyLCA3OSwgODcsIDY5LCA4MiwgCi0gICAgMTI4LCA4MywgNzIsIDc5LCA4NSwgNzYsIDY4LCA2OSwgODIsIDY5LCAxOTYsIDgzLCA3MiwgNzksIDg0LCAxMjgsIDgzLCAKLSAgICA3MiwgNzksIDgyLCA4NCwgODMsIDEyOCwgODMsIDcyLCA3OSwgODIsIDg0LCAyMTEsIDgzLCA3MiwgNzksIDgyLCA4NCwgNjksIAotICAgIDc4LCA2OSwgODIsIDEyOCwgODMsIDcyLCA3OSwgODIsIDg0LCA2NywgNjUsIDc1LCA2OSwgMTI4LCA4MywgNzIsIDc5LCA4MiwgCi0gICAgODQsIDQ1LCA4NCwgODcsIDczLCA3MSwgNDUsIDg5LCA4MiwgMTI4LCA4MywgNzIsIDc5LCA4MiwgODQsIDQ1LCA4NCwgODcsIAotICAgIDczLCA3MSwgNDUsIDg0LCA4OSwgMjEwLCA4MywgNzIsIDc5LCA4MiwgODQsIDQ1LCA4NCwgODcsIDczLCA3MSwgNDUsIDgzLCAKLSAgICA3OSwgMjA0LCA4MywgNzIsIDc5LCA4MiwgODQsIDQ1LCA4NCwgODcsIDczLCA3MSwgNDUsIDc5LCA4MywgMjExLCA4MywgNzIsIAotICAgIDc5LCA4MiwgODQsIDQ1LCA4NCwgODcsIDczLCA3MSwgNDUsIDc4LCA2NSwgODUsIDE5NiwgODMsIDcyLCA3OSwgODIsIDg0LCAKLSAgICA0NSwgODQsIDg3LCA3MywgNzEsIDQ1LCA3NywgNjUsIDY4LCAyMTAsIDgzLCA3MiwgNzksIDgyLCA4NCwgNDUsIDg0LCA4NywgCi0gICAgNzMsIDcxLCA0NSwgNzIsIDY1LCA3MSwgNjUsIDc2LCAyMDQsIDgzLCA3MiwgNzksIDgyLCA4NCwgNDUsIDg0LCA4NywgNzMsIAotICAgIDcxLCA0NSwgNjYsIDc0LCA2NSwgODIsIDc1LCA2NSwgMjA2LCA4MywgNzIsIDc5LCA4MiwgODQsIDQ1LCA4NCwgODcsIDczLCAKLSAgICA3MSwgNDUsIDY1LCAyMTAsIDgzLCA3MiwgNzksIDgyLCA4NCwgMTI4LCA4MywgNzIsIDc5LCA4MiwgMjEyLCA4MywgNzIsIAotICAgIDc5LCA4MSwgMTI4LCA4MywgNzIsIDc5LCAyMDksIDgzLCA3MiwgNzksIDgwLCAxMjgsIDgzLCA3MiwgNzksIDc5LCA4NCwgCi0gICAgNzMsIDc4LCAxOTksIDgzLCA3MiwgNzksIDc5LCA4NCwgMTI4LCA4MywgNzIsIDc5LCA3OSwgMTI4LCA4MywgNzIsIDc5LCAKLSAgICA3MSwgMjAxLCA4MywgNzIsIDc5LCAxOTksIDgzLCA3MiwgNzksIDY5LCAxMjgsIDgzLCA3MiwgNzksIDE5NywgODMsIDcyLCAKLSAgICA3OSwgNjUsIDEyOCwgODMsIDcyLCA3OSwgMTI4LCA4MywgNzIsIDczLCA4OSwgODksIDY1LCA2NSwgNzYsIDY1LCA2NSwgCi0gICAgMTI4LCA4MywgNzIsIDczLCA4NCwgNjUsIDEyOCwgODMsIDcyLCA3MywgODQsIDE5MywgODMsIDcyLCA3MywgODIsIDIxMiwgCi0gICAgODMsIDcyLCA3MywgODIsIDY1LCA2OSwgMTI4LCA4MywgNzIsIDczLCA4MiwgMTI4LCA4MywgNzIsIDczLCAyMTAsIDgzLCAKLSAgICA3MiwgNzMsIDgxLCAxMjgsIDgzLCA3MiwgNzMsIDgwLCAxMjgsIDgzLCA3MiwgNzMsIDc4LCA4NCwgMjA3LCA4MywgNzIsIAotICAgIDczLCA3OCwgNzMsIDcxLCAxMjgsIDgzLCA3MiwgNzMsIDc4LCA2OCwgMTkzLCA4MywgNzIsIDczLCA3OCwgMTI4LCA4MywgCi0gICAgNzIsIDczLCAyMDYsIDgzLCA3MiwgNzMsIDc3LCA2NSwgMTI4LCA4MywgNzIsIDczLCA3NywgMTkzLCA4MywgNzIsIDczLCAKLSAgICA3NywgMTI4LCA4MywgNzIsIDczLCAyMDUsIDgzLCA3MiwgNzMsIDczLCA3OCwgMTI4LCA4MywgNzIsIDczLCA3MywgMTI4LCAKLSAgICA4MywgNzIsIDczLCA3MCwgMjEyLCA4MywgNzIsIDczLCA2OSwgNzYsIDY4LCAxMjgsIDgzLCA3MiwgNzMsIDY4LCAxMjgsIAotICAgIDgzLCA3MiwgNzMsIDE5NiwgODMsIDcyLCA3MiwgNjUsIDEyOCwgODMsIDcyLCA3MiwgMTkzLCA4MywgNzIsIDY5LCA4OCwgCi0gICAgMTI4LCA4MywgNzIsIDY5LCA4NiwgNjUsIDEyOCwgODMsIDcyLCA2OSwgODUsIDg4LCAxMjgsIDgzLCA3MiwgNjksIDg1LCAKLSAgICA3OSwgODEsIDEyOCwgODMsIDcyLCA2OSwgODUsIDY1LCA2OSwgODEsIDg0LCA4NSwgMTI4LCA4MywgNzIsIDY5LCA4NSwgNjUsIAotICAgIDY5LCA4MSwgMTI4LCA4MywgNzIsIDY5LCA4NSwgNjUsIDY5LCAxMjgsIDgzLCA3MiwgNjksIDg0LCAxMjgsIDgzLCA3MiwgCi0gICAgNjksIDIxMiwgODMsIDcyLCA2OSwgODMsIDcyLCA3NiwgNjUsIDc3LCAxMjgsIDgzLCA3MiwgNjksIDgzLCA3MiwgNzMsIDcxLCAKLSAgICAxMjgsIDgzLCA3MiwgNjksIDgzLCA3MiwgNzMsIDE5OSwgODMsIDcyLCA2OSwgODMsIDcyLCA1MCwgMTI4LCA4MywgNzIsIAotICAgIDY5LCA4MywgNzIsIDEyOCwgODMsIDcyLCA2OSwgODEsIDY5LCAyMDQsIDgzLCA3MiwgNjksIDgwLCAxMjgsIDgzLCA3MiwgCi0gICAgNjksIDc4LCAxMjgsIDgzLCA3MiwgNjksIDc2LCA3NiwgMTI4LCA4MywgNzIsIDY5LCA3NiwgMjA0LCA4MywgNzIsIDY5LCAKLSAgICA3NiwgNzAsIDEyOCwgODMsIDcyLCA2OSwgNzMsIDEyOCwgODMsIDcyLCA2OSwgNzEsIDU3LCAxMjgsIDgzLCA3MiwgNjksIAotICAgIDY5LCA4MCwgMTI4LCA4MywgNzIsIDY5LCA2OSwgNzgsIDg1LCAxMjgsIDgzLCA3MiwgNjksIDY5LCA3OCwgMTI4LCA4MywgCi0gICAgNzIsIDY5LCA2OSwgMjA2LCA4MywgNzIsIDY5LCA2OSwgMTI4LCA4MywgNzIsIDY5LCA0NSwgNzEsIDc5LCA2NSwgODQsIAotICAgIDEyOCwgODMsIDcyLCAxOTcsIDgzLCA3MiwgNjcsIDcyLCA2NSwgMTI4LCA4MywgNzIsIDY1LCA4OSwgMTI4LCA4MywgNzIsIAotICAgIDY1LCA4OCwgMTI4LCA4MywgNzIsIDY1LCA4NiwgNzMsIDg5LCA2NSwgNzgsIDczLCAxMjgsIDgzLCA3MiwgNjUsIDg2LCA3MywgCi0gICAgNjUsIDIwNiwgODMsIDcyLCA2NSwgODYsIDY5LCAxOTYsIDgzLCA3MiwgNjUsIDg1LCAxMjgsIDgzLCA3MiwgNjUsIDg0LCAKLSAgICAxMjgsIDgzLCA3MiwgNjUsIDgyLCA4NSwgMTI4LCA4MywgNzIsIDY1LCA4MiwgMjEzLCA4MywgNzIsIDY1LCA4MiwgODAsIAotICAgIDEyOCwgODMsIDcyLCA2NSwgODIsIDIwOCwgODMsIDcyLCA2NSwgODIsIDY1LCAxMjgsIDgzLCA3MiwgNjUsIDgyLCA1MCwgCi0gICAgMTI4LCA4MywgNzIsIDY1LCA4MiwgMTc4LCA4MywgNzIsIDY1LCA4MCwgNzMsIDc4LCA3MSwgMTI4LCA4MywgNzIsIDY1LCAKLSAgICA4MCwgNjksIDgzLCAxMjgsIDgzLCA3MiwgNjUsIDgwLCAxOTcsIDgzLCA3MiwgNjUsIDgwLCAxMjgsIDgzLCA3MiwgNjUsIAotICAgIDc4LCA3MSwgMTI4LCA4MywgNzIsIDY1LCA3OCwgMTI4LCA4MywgNzIsIDY1LCAyMDYsIDgzLCA3MiwgNjUsIDc3LCA4MiwgCi0gICAgNzksIDY3LCA3NSwgMTI4LCA4MywgNzIsIDY1LCA3NiwgODMsIDcyLCA2OSwgNzYsIDY5LCA4NCwgMTI4LCA4MywgNzIsIDY1LCAKLSAgICA3NSwgODQsIDczLCAxMjgsIDgzLCA3MiwgNjUsIDczLCAxMjgsIDgzLCA3MiwgNjUsIDY4LCA3OSwgODcsIDY5LCAxOTYsIAotICAgIDgzLCA3MiwgNjUsIDY4LCA2OSwgMTI4LCA4MywgNzIsIDY1LCA2OCwgNjgsIDY1LCAxMjgsIDgzLCA3MiwgNjUsIDY4LCA2OCwgCi0gICAgMTkzLCA4MywgNzIsIDY1LCA2OCwgMTI4LCA4MywgNzIsIDY1LCAxOTYsIDgzLCA3MiwgNjUsIDY2LCA1NCwgMTI4LCA4MywgCi0gICAgNzIsIDY1LCA2NSwgMTI4LCA4MywgNzIsIDY1LCA1NCwgMTI4LCA4MywgNzIsIDY1LCA1MSwgMTI4LCA4MywgNzIsIDY1LCAKLSAgICAxNzksIDgzLCA3MSwgODIsIDE5MywgODMsIDcxLCA3OSwgMjEwLCA4MywgNzEsIDY3LCAxMjgsIDgzLCA3MSwgNjUsIDIxNSwgCi0gICAgODMsIDcxLCA2NSwgMTk0LCA4MywgNzEsIDEyOCwgODMsIDY5LCA4OCwgODQsIDg1LCA3NiwgMTkzLCA4MywgNjksIDg4LCAKLSAgICA4NCwgNzMsIDc2LCA2OSwgMTI4LCA4MywgNjksIDg4LCA4NCwgNjUsIDc4LCAyMTEsIDgzLCA2OSwgODYsIDY5LCA4MiwgNjUsIAotICAgIDc4LCA2NywgNjksIDEyOCwgODMsIDY5LCA4NiwgNjksIDc4LCA4NCwgODksIDEyOCwgODMsIDY5LCA4NiwgNjksIDc4LCA4NCwgCi0gICAgMjE3LCA4MywgNjksIDg2LCA2OSwgNzgsIDg0LCA3MiwgMTI4LCA4MywgNjksIDg2LCA2OSwgNzgsIDg0LCA2OSwgNjksIDc4LCAKLSAgICAxMjgsIDgzLCA2OSwgODYsIDY5LCA3OCwgODQsIDY5LCA2OSwgMjA2LCA4MywgNjksIDg2LCA2OSwgNzgsIDQ1LCA4NCwgNzIsIAotICAgIDczLCA4MiwgODQsIDg5LCAxMjgsIDgzLCA2OSwgODYsIDY5LCAyMDYsIDgzLCA2OSwgODUsIDg4LCAxMjgsIDgzLCA2OSwgCi0gICAgODUsIDc4LCA4OSwgNjUsIDc3LCAxMjgsIDgzLCA2OSwgODUsIDY1LCA2OSwgODEsIDEyOCwgODMsIDY5LCA4NCwgNzAsIDc5LCAKLSAgICA3OCwgMTI4LCA4MywgNjksIDgzLCA4NCwgNjksIDgyLCA4NCwgNzMsIDg1LCAyMTEsIDgzLCA2OSwgODMsIDgxLCA4NSwgNzMsIAotICAgIDgxLCA4NSwgNjUsIDY4LCA4MiwgNjUsIDg0LCA2OSwgMTI4LCA4MywgNjksIDgzLCA2NSwgNzcsIDE5NywgODMsIDY5LCA4MiwgCi0gICAgODYsIDczLCA2NywgMTk3LCA4MywgNjksIDgyLCA3MywgNzAsIDgzLCAxMjgsIDgzLCA2OSwgODIsIDczLCA3MCwgMjExLCAKLSAgICA4MywgNjksIDgxLCA4NSwgNjksIDc4LCA2NywgMTk3LCA4MywgNjksIDgwLCA4NCwgNjksIDc3LCA2NiwgNjksIDgyLCAxMjgsIAotICAgIDgzLCA2OSwgODAsIDY1LCA4MiwgNjUsIDg0LCA3OSwgODIsIDEyOCwgODMsIDY5LCA4MCwgNjUsIDgyLCA2NSwgODQsIDc5LCAKLSAgICAyMTAsIDgzLCA2OSwgNzgsIDg0LCA3OSwgMTI4LCA4MywgNjksIDc4LCA4NCwgNzMsIDEyOCwgODMsIDY5LCA3NywgODUsIAotICAgIDc4LCA2NywgNzMsIDE5MywgODMsIDY5LCA3NywgNzUsIDY1LCA4NCwgNzIsIDEyOCwgODMsIDY5LCA3NywgNzUsIDEyOCwgCi0gICAgODMsIDY5LCA3NywgNzMsIDg2LCA3OSwgODcsIDY5LCAyMDQsIDgzLCA2OSwgNzcsIDczLCA4MywgNzksIDcwLCAyMTIsIDgzLCAKLSAgICA2OSwgNzcsIDczLCA4MywgNjksIDg4LCA4NCwgNzMsIDc2LCA2OSwgMTI4LCA4MywgNjksIDc3LCA3MywgNzcsIDczLCA3OCwgCi0gICAgNzMsIDc3LCAxOTMsIDgzLCA2OSwgNzcsIDczLCA2OCwgNzMsIDgyLCA2OSwgNjcsIDIxMiwgODMsIDY5LCA3NywgNzMsIDY3LCAKLSAgICA3OSwgNzYsIDc5LCA3OCwgMTI4LCA4MywgNjksIDc3LCA3MywgNjcsIDc5LCA3NiwgNzksIDIwNiwgODMsIDY5LCA3NywgNzMsIAotICAgIDY3LCA3MywgODIsIDY3LCA4NSwgNzYsIDY1LCAyMTAsIDgzLCA2OSwgNzcsIDczLCA2NywgNzMsIDgyLCA2NywgNzYsIDE5NywgCi0gICAgODMsIDY5LCA3NywgNzMsIDY2LCA4MiwgNjksIDg2LCA3MywgMjExLCA4MywgNjksIDc3LCA3MywgNDUsIDg2LCA3OSwgNzMsIAotICAgIDY3LCA2OSwgMTk2LCA4MywgNjksIDc2LCA3MCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1NywgCi0gICAgNTcsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTcsIDU2LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCAKLSAgICA2NywgODQsIDc5LCA4MiwgNDUsIDU3LCA1NSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1NywgCi0gICAgNTQsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTcsIDUzLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCAKLSAgICA2NywgODQsIDc5LCA4MiwgNDUsIDU3LCA1MiwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1NywgCi0gICAgNTEsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTcsIDUwLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCAKLSAgICA2NywgODQsIDc5LCA4MiwgNDUsIDU3LCA0OSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1NywgCi0gICAgNDgsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTcsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCAKLSAgICA4NCwgNzksIDgyLCA0NSwgNTYsIDU3LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDU2LCA1NiwgCi0gICAgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1NiwgNTUsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCAKLSAgICA4NCwgNzksIDgyLCA0NSwgNTYsIDU0LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDU2LCA1MywgCi0gICAgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1NiwgNTIsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCAKLSAgICA4NCwgNzksIDgyLCA0NSwgNTYsIDUxLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDU2LCA1MCwgCi0gICAgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1NiwgNDksIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCAKLSAgICA4NCwgNzksIDgyLCA0NSwgNTYsIDQ4LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDU2LCAxMjgsIAotICAgIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDU1LCA1NywgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCAKLSAgICA3OSwgODIsIDQ1LCA1NSwgNTYsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTUsIDU1LCAxMjgsIAotICAgIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDU1LCA1NCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCAKLSAgICA3OSwgODIsIDQ1LCA1NSwgNTMsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTUsIDUyLCAxMjgsIAotICAgIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDU1LCA1MSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCAKLSAgICA3OSwgODIsIDQ1LCA1NSwgNTAsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTUsIDQ5LCAxMjgsIAotICAgIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDU1LCA0OCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCAKLSAgICA3OSwgODIsIDQ1LCA1NSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1NCwgNTcsIDEyOCwgODMsIAotICAgIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTQsIDU2LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCAKLSAgICA4MiwgNDUsIDU0LCA1NSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1NCwgNTQsIDEyOCwgODMsIAotICAgIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTQsIDUzLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCAKLSAgICA4MiwgNDUsIDU0LCA1MiwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1NCwgNTEsIDEyOCwgODMsIAotICAgIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTQsIDUwLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCAKLSAgICA4MiwgNDUsIDU0LCA0OSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1NCwgNDgsIDEyOCwgODMsIAotICAgIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTQsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCAKLSAgICA0NSwgNTMsIDU3LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUzLCA1NiwgMTI4LCA4MywgNjksIAotICAgIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MywgNTUsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCAKLSAgICA0NSwgNTMsIDU0LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUzLCA1MywgMTI4LCA4MywgNjksIAotICAgIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MywgNTIsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCAKLSAgICA0NSwgNTMsIDUxLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUzLCA1MCwgMTI4LCA4MywgNjksIAotICAgIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MywgNDksIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCAKLSAgICA0NSwgNTMsIDQ4LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUzLCAxMjgsIDgzLCA2OSwgNzYsIAotICAgIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUyLCA1NywgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCAKLSAgICA1MiwgNTYsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTIsIDU1LCAxMjgsIDgzLCA2OSwgNzYsIAotICAgIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUyLCA1NCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCAKLSAgICA1MiwgNTMsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTIsIDUyLCAxMjgsIDgzLCA2OSwgNzYsIAotICAgIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUyLCA1MSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCAKLSAgICA1MiwgNTAsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTIsIDQ5LCAxMjgsIDgzLCA2OSwgNzYsIAotICAgIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUyLCA0OCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCAKLSAgICA1MiwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MSwgNTcsIDEyOCwgODMsIDY5LCA3NiwgNjksIAotICAgIDY3LCA4NCwgNzksIDgyLCA0NSwgNTEsIDU2LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUxLCAKLSAgICA1NSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MSwgNTQsIDEyOCwgODMsIDY5LCA3NiwgNjksIAotICAgIDY3LCA4NCwgNzksIDgyLCA0NSwgNTEsIDUzLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUxLCAKLSAgICA1MiwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MSwgNTEsIDEyOCwgODMsIDY5LCA3NiwgNjksIAotICAgIDY3LCA4NCwgNzksIDgyLCA0NSwgNTEsIDUwLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUxLCAKLSAgICA0OSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MSwgNDgsIDEyOCwgODMsIDY5LCA3NiwgNjksIAotICAgIDY3LCA4NCwgNzksIDgyLCA0NSwgNTEsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDU3LCAKLSAgICAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA1NiwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIAotICAgIDg0LCA3OSwgODIsIDQ1LCA1MCwgNTUsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDU0LCAKLSAgICAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA1MywgNTQsIDEyOCwgODMsIDY5LCA3NiwgNjksIAotICAgIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDUzLCA1MywgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCAKLSAgICA1MCwgNTMsIDUyLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA1MywgNTEsIDEyOCwgODMsIAotICAgIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDUzLCA1MCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCAKLSAgICA3OSwgODIsIDQ1LCA1MCwgNTMsIDQ5LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA1MywgCi0gICAgNDgsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDUzLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCAKLSAgICA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA1MiwgNTcsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgCi0gICAgNTAsIDUyLCA1NiwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNTIsIDU1LCAxMjgsIDgzLCAKLSAgICA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA1MiwgNTQsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgCi0gICAgNzksIDgyLCA0NSwgNTAsIDUyLCA1MywgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNTIsIAotICAgIDUyLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA1MiwgNTEsIDEyOCwgODMsIDY5LCA3NiwgCi0gICAgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDUyLCA1MCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIAotICAgIDQ1LCA1MCwgNTIsIDQ5LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA1MiwgNDgsIDEyOCwgCi0gICAgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDUyLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIAotICAgIDc5LCA4MiwgNDUsIDUwLCA1MSwgNTcsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDUxLCAKLSAgICA1NiwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNTEsIDU1LCAxMjgsIDgzLCA2OSwgNzYsIAotICAgIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA1MSwgNTQsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCAKLSAgICA0NSwgNTAsIDUxLCA1MywgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNTEsIDUyLCAxMjgsIAotICAgIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA1MSwgNTEsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCAKLSAgICA4NCwgNzksIDgyLCA0NSwgNTAsIDUxLCA1MCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgCi0gICAgNTEsIDQ5LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA1MSwgNDgsIDEyOCwgODMsIDY5LCAKLSAgICA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDUxLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgCi0gICAgNDUsIDUwLCA1MCwgNTcsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDUwLCA1NiwgMTI4LCAKLSAgICA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNTAsIDU1LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgCi0gICAgODQsIDc5LCA4MiwgNDUsIDUwLCA1MCwgNTQsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIAotICAgIDUwLCA1MywgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNTAsIDUyLCAxMjgsIDgzLCA2OSwgCi0gICAgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA1MCwgNTEsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIAotICAgIDgyLCA0NSwgNTAsIDUwLCA1MCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNTAsIDQ5LCAKLSAgICAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA1MCwgNDgsIDEyOCwgODMsIDY5LCA3NiwgNjksIAotICAgIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDUwLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCAKLSAgICA0OSwgNTcsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDQ5LCA1NiwgMTI4LCA4MywgNjksIAotICAgIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNDksIDU1LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCAKLSAgICA4MiwgNDUsIDUwLCA0OSwgNTQsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDQ5LCA1MywgCi0gICAgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNDksIDUyLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCAKLSAgICA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA0OSwgNTEsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgCi0gICAgNTAsIDQ5LCA1MCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNDksIDQ5LCAxMjgsIDgzLCAKLSAgICA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA0OSwgNDgsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgCi0gICAgNzksIDgyLCA0NSwgNTAsIDQ5LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA0OCwgNTcsIAotICAgIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDQ4LCA1NiwgMTI4LCA4MywgNjksIDc2LCA2OSwgCi0gICAgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNDgsIDU1LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIAotICAgIDUwLCA0OCwgNTQsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDQ4LCA1MywgMTI4LCA4MywgCi0gICAgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNDgsIDUyLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIAotICAgIDc5LCA4MiwgNDUsIDUwLCA0OCwgNTEsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDQ4LCAKLSAgICA1MCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNDgsIDQ5LCAxMjgsIDgzLCA2OSwgNzYsIAotICAgIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA0OCwgNDgsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCAKLSAgICA0NSwgNTAsIDQ4LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCAxMjgsIDgzLCA2OSwgNzYsIAotICAgIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1NywgNTcsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCAKLSAgICA0NSwgNDksIDU3LCA1NiwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTcsIDU1LCAxMjgsIAotICAgIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1NywgNTQsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCAKLSAgICA4NCwgNzksIDgyLCA0NSwgNDksIDU3LCA1MywgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgCi0gICAgNTcsIDUyLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1NywgNTEsIDEyOCwgODMsIDY5LCAKLSAgICA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDU3LCA1MCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgCi0gICAgODIsIDQ1LCA0OSwgNTcsIDQ5LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1NywgNDgsIAotICAgIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDU3LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgCi0gICAgODQsIDc5LCA4MiwgNDUsIDQ5LCA1NiwgNTcsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIAotICAgIDU2LCA1NiwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTYsIDU1LCAxMjgsIDgzLCA2OSwgCi0gICAgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1NiwgNTQsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIAotICAgIDgyLCA0NSwgNDksIDU2LCA1MywgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTYsIDUyLCAKLSAgICAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1NiwgNTEsIDEyOCwgODMsIDY5LCA3NiwgNjksIAotICAgIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDU2LCA1MCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCAKLSAgICA0OSwgNTYsIDQ5LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1NiwgNDgsIDEyOCwgODMsIAotICAgIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDU2LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCAKLSAgICA4MiwgNDUsIDQ5LCA1NSwgNTcsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDU1LCA1NiwgCi0gICAgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTUsIDU1LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCAKLSAgICA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1NSwgNTQsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgCi0gICAgNDksIDU1LCA1MywgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTUsIDUyLCAxMjgsIDgzLCAKLSAgICA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1NSwgNTEsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgCi0gICAgNzksIDgyLCA0NSwgNDksIDU1LCA1MCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTUsIAotICAgIDQ5LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1NSwgNDgsIDEyOCwgODMsIDY5LCA3NiwgCi0gICAgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDU1LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIAotICAgIDQ5LCA1NCwgNTcsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDU0LCA1NiwgMTI4LCA4MywgCi0gICAgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTQsIDU1LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIAotICAgIDc5LCA4MiwgNDUsIDQ5LCA1NCwgNTQsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDU0LCAKLSAgICA1MywgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTQsIDUyLCAxMjgsIDgzLCA2OSwgNzYsIAotICAgIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1NCwgNTEsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCAKLSAgICA0NSwgNDksIDU0LCA1MCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTQsIDQ5LCAxMjgsIAotICAgIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1NCwgNDgsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCAKLSAgICA4NCwgNzksIDgyLCA0NSwgNDksIDU0LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1MywgCi0gICAgNTcsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDUzLCA1NiwgMTI4LCA4MywgNjksIDc2LCAKLSAgICA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTMsIDU1LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgCi0gICAgNDUsIDQ5LCA1MywgNTQsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDUzLCA1MywgMTI4LCAKLSAgICA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTMsIDUyLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgCi0gICAgODQsIDc5LCA4MiwgNDUsIDQ5LCA1MywgNTEsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIAotICAgIDUzLCA1MCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTMsIDQ5LCAxMjgsIDgzLCA2OSwgCi0gICAgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1MywgNDgsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIAotICAgIDgyLCA0NSwgNDksIDUzLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1MiwgNTcsIDEyOCwgCi0gICAgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDUyLCA1NiwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIAotICAgIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTIsIDU1LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCAKLSAgICA1MiwgNTQsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDUyLCA1MywgMTI4LCA4MywgNjksIAotICAgIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTIsIDUyLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCAKLSAgICA4MiwgNDUsIDQ5LCA1MiwgNTEsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDUyLCA1MCwgCi0gICAgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTIsIDQ5LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCAKLSAgICA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1MiwgNDgsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgCi0gICAgNDksIDUyLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1MSwgNTcsIDEyOCwgODMsIDY5LCAKLSAgICA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDUxLCA1NiwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgCi0gICAgODIsIDQ1LCA0OSwgNTEsIDU1LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1MSwgNTQsIAotICAgIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDUxLCA1MywgMTI4LCA4MywgNjksIDc2LCA2OSwgCi0gICAgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTEsIDUyLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIAotICAgIDQ5LCA1MSwgNTEsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDUxLCA1MCwgMTI4LCA4MywgCi0gICAgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTEsIDQ5LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIAotICAgIDc5LCA4MiwgNDUsIDQ5LCA1MSwgNDgsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDUxLCAKLSAgICAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1MCwgNTcsIDEyOCwgODMsIDY5LCA3NiwgNjksIAotICAgIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDUwLCA1NiwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCAKLSAgICA0OSwgNTAsIDU1LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1MCwgNTQsIDEyOCwgODMsIAotICAgIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDUwLCA1MywgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCAKLSAgICA3OSwgODIsIDQ1LCA0OSwgNTAsIDUyLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1MCwgCi0gICAgNTEsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDUwLCA1MCwgMTI4LCA4MywgNjksIDc2LCAKLSAgICA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTAsIDQ5LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgCi0gICAgNDUsIDQ5LCA1MCwgNDgsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDUwLCAxMjgsIDgzLCAKLSAgICA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA0OSwgNTcsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgCi0gICAgNzksIDgyLCA0NSwgNDksIDQ5LCA1NiwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNDksIAotICAgIDU1LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA0OSwgNTQsIDEyOCwgODMsIDY5LCA3NiwgCi0gICAgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDQ5LCA1MywgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIAotICAgIDQ1LCA0OSwgNDksIDUyLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA0OSwgNTEsIDEyOCwgCi0gICAgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDQ5LCA1MCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIAotICAgIDg0LCA3OSwgODIsIDQ1LCA0OSwgNDksIDQ5LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCAKLSAgICA0OSwgNDgsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDQ5LCAxMjgsIDgzLCA2OSwgNzYsIAotICAgIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA0OCwgNTcsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCAKLSAgICA0NSwgNDksIDQ4LCA1NiwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNDgsIDU1LCAxMjgsIAotICAgIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA0OCwgNTQsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCAKLSAgICA4NCwgNzksIDgyLCA0NSwgNDksIDQ4LCA1MywgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgCi0gICAgNDgsIDUyLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA0OCwgNTEsIDEyOCwgODMsIDY5LCAKLSAgICA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDQ4LCA1MCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgCi0gICAgODIsIDQ1LCA0OSwgNDgsIDQ5LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA0OCwgNDgsIAotICAgIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDQ4LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgCi0gICAgODQsIDc5LCA4MiwgNDUsIDQ5LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCAyMTAsIDgzLCA2OSwgNzYsIDY5LCAKLSAgICA2NywgODQsIDY5LCAxOTYsIDgzLCA2OSwgNzMsIDgzLCA3NywgNjUsIDEyOCwgODMsIDY5LCA3MywgODMsIDc3LCAxOTMsIAotICAgIDgzLCA2OSwgNzIsIDEyOCwgODMsIDY5LCA3MSwgNzksIDc2LCAxMjgsIDgzLCA2OSwgNzEsIDc4LCA3OSwgMTI4LCA4MywgCi0gICAgNjksIDcxLCA3NywgNjksIDc4LCA4NCwgMTI4LCA4MywgNjksIDY5LCA3OCwgODUsIDEyOCwgODMsIDY5LCA2OSwgNzgsIAotICAgIDEyOCwgODMsIDY5LCA2OSwgMjA2LCA4MywgNjksIDY5LCA2OCwgNzYsIDczLCA3OCwgNzEsIDEyOCwgODMsIDY5LCA2OSwgCi0gICAgNDUsIDc4LCA3OSwgNDUsIDY5LCA4NiwgNzMsIDIwNCwgODMsIDY5LCA2NywgODQsIDc5LCA4MiwgMTI4LCA4MywgNjksIDY3LCAKLSAgICA4NCwgNzMsIDc5LCA3OCwgMTI4LCA4MywgNjksIDY3LCA4NCwgNzMsIDc5LCAyMDYsIDgzLCA2OSwgNjcsIDgyLCA2OSwgODQsIAotICAgIDEyOCwgODMsIDY5LCA2NywgNzksIDc4LCA2OCwgMTI4LCA4MywgNjksIDY2LCA2NSwgODQsIDY2LCA2OSwgNzMsIDIxMiwgCi0gICAgODMsIDY5LCA2NSwgODQsIDEyOCwgODMsIDY5LCA2NSwgNzYsIDEyOCwgODMsIDY5LCA2NSwgNzEsIDg1LCA3NiwgMjA0LCAKLSAgICA4MywgNjgsIDc5LCA3OCwgMTk5LCA4MywgNjgsIDEyOCwgODMsIDY3LCA4NywgNjUsIDEyOCwgODMsIDY3LCA4MiwgODUsIAotICAgIDgwLCA3NiwgNjksIDEyOCwgODMsIDY3LCA4MiwgNzksIDc2LCA3NiwgMTI4LCA4MywgNjcsIDgyLCA3MywgODAsIDg0LCAKLSAgICAxMjgsIDgzLCA2NywgODIsIDY5LCA2OSwgNzgsIDEyOCwgODMsIDY3LCA4MiwgNjksIDY5LCAyMDYsIDgzLCA2NywgODIsIAotICAgIDY5LCA2NSwgNzcsIDczLCA3OCwgMTk5LCA4MywgNjcsIDc5LCA4MiwgODAsIDczLCA4NSwgODMsIDEyOCwgODMsIDY3LCA3OSwgCi0gICAgODIsIDY5LCAxMjgsIDgzLCA2NywgNzMsIDgzLCA4MywgNzksIDgyLCA4MywgMTI4LCA4MywgNjcsIDczLCAxMjgsIDgzLCAKLSAgICA2NywgNzIsIDg3LCA2NSwgMTI4LCA4MywgNjcsIDcyLCA4NywgMTkzLCA4MywgNjcsIDcyLCA4MiwgNzksIDY5LCA2OCwgNjksIAotICAgIDgyLCAxMjgsIDgzLCA2NywgNzIsIDc5LCA3OSwgNzYsIDEyOCwgODMsIDY3LCA3MiwgNzksIDc5LCAyMDQsIDgzLCA2NywgCi0gICAgNzIsIDc5LCA3NiwgNjUsIDgyLCAxMjgsIDgzLCA2NywgNzIsIDY5LCA3NywgMTkzLCA4MywgNjcsIDY5LCA4MCwgODQsIDY5LCAKLSAgICAyMTAsIDgzLCA2NywgNjUsIDc4LCA2OCwgNzMsIDY3LCA4NSwgODMsIDEyOCwgODMsIDY3LCA2NSwgNzgsIDY4LCA3MywgNjcsIAotICAgIDg1LCAyMTEsIDgzLCA2NywgNjUsIDIwNiwgODMsIDY3LCA2NSwgNzYsIDY5LCA4MywgMTI4LCA4MywgNjYsIDg1LCAxOTQsIAotICAgIDgzLCA2NiwgODIsIDg1LCAyMDQsIDgzLCA2NSwgODksIDczLCA4MywgMjAxLCA4MywgNjUsIDg5LCA2NSwgNzgsIDc4LCA2NSwgCi0gICAgMTI4LCA4MywgNjUsIDg5LCAxMjgsIDgzLCA2NSwgODgsIDc5LCA4MCwgNzIsIDc5LCA3OCwgNjksIDEyOCwgODMsIDY1LCAKLSAgICA4OCwgNzMsIDc3LCA2NSwgODQsIDY1LCAxMjgsIDgzLCA2NSwgODcsIDY1LCA3OCwgMTI4LCA4MywgNjUsIDg3LCAxMjgsIAotICAgIDgzLCA2NSwgODYsIDc5LCA4NSwgODIsIDczLCA3OCwgMTk5LCA4MywgNjUsIDg1LCA3MywgNzYsIDEyOCwgODMsIDY1LCA4NCwgCi0gICAgODUsIDgyLCA3OCwgMTI4LCA4MywgNjUsIDg0LCA3NSwgNjUsIDY1LCA3OCwgNzUsIDg1LCA4NSwgMTI4LCA4MywgNjUsIDg0LCAKLSAgICA3NSwgNjUsIDY1LCA3OCwgMTI4LCA4MywgNjUsIDg0LCA2OSwgNzYsIDc2LCA3MywgODQsIDE5NywgODMsIDY1LCA4NCwgNjcsIAotICAgIDcyLCA2OSwgNzYsIDEyOCwgODMsIDY1LCA4NCwgNjUsIDc4LCA3MSwgNjUsIDEyOCwgODMsIDY1LCA4MywgNzIsIDEyOCwgCi0gICAgODMsIDY1LCA4MywgNjUsIDc1LCAxMjgsIDgzLCA2NSwgODIsIDczLCAxMjgsIDgzLCA2NSwgODIsIDE5MywgODMsIDY1LCAKLSAgICA4MiwgMTI4LCA4MywgNjUsIDgxLCAxMjgsIDgzLCA2NSwgODAsIDY1LCAxMjgsIDgzLCA2NSwgNzgsIDg5LCA3OSwgNzksIAotICAgIDcxLCAxOTMsIDgzLCA2NSwgNzgsIDg5LCA2NSwgNzUsIDE5MywgODMsIDY1LCA3OCwgODQsIDczLCA3MywgNzcsIDg1LCAKLSAgICAxMjgsIDgzLCA2NSwgNzgsIDc4LCA4OSwgNjUsIDEyOCwgODMsIDY1LCA3OCwgNzEsIDY1LCA1MCwgMTI4LCA4MywgNjUsIAotICAgIDc4LCA2OCwgNjUsIDc2LCAxMjgsIDgzLCA2NSwgNzgsIDY1LCA3MiwgMTI4LCA4MywgNjUsIDc4LCAxMjgsIDgzLCA2NSwgCi0gICAgNzcsIDg5LCA3OSwgMjAzLCA4MywgNjUsIDc3LCA4NiwgNjUsIDg0LCAxMjgsIDgzLCA2NSwgNzcsIDgwLCA3MywgMTI4LCAKLSAgICA4MywgNjUsIDc3LCA4MCwgNzIsIDY1LCA3OSwgMTI4LCA4MywgNjUsIDc3LCA3NSwgNjUsIDEyOCwgODMsIDY1LCA3NywgNjksIAotICAgIDc1LCA3MiwgMTI4LCA4MywgNjUsIDc3LCA2OSwgNzUsIDIwMCwgODMsIDY1LCA3NywgNjYsIDY1LCAxMjgsIDgzLCA2NSwgCi0gICAgNzcsIDY1LCA4MiwgNzMsIDg0LCA2NSwgMjA2LCA4MywgNjUsIDc3LCAxMjgsIDgzLCA2NSwgNzYsIDg0LCA3MywgODIsIDY5LCAKLSAgICAxMjgsIDgzLCA2NSwgNzYsIDg0LCA3MywgNzYsIDc2LCA3OSwgMTI4LCA4MywgNjUsIDc2LCA4NCwgNDUsIDUwLCAxMjgsIAotICAgIDgzLCA2NSwgNzYsIDg0LCAxMjgsIDgzLCA2NSwgNzYsIDIxMiwgODMsIDY1LCA3NiwgNzYsIDY1LCA3NiwgNzYsIDY1LCA3MiwgCi0gICAgNzksIDIxMywgODMsIDY1LCA3NiwgNzYsIDE5MywgODMsIDY1LCA3NiwgNjUsIDIwNSwgODMsIDY1LCA3NiwgNjUsIDEyOCwgCi0gICAgODMsIDY1LCA3NiwgNDUsIDY1LCA3NywgNzcsIDc5LCA3OCwgNzMsIDY1LCA2NywgMTI4LCA4MywgNjUsIDc2LCAxMjgsIDgzLCAKLSAgICA2NSwgNzUsIDc5LCA4NCwgMTI4LCA4MywgNjUsIDc1LCA2OSwgODUsIDY1LCA2OSwgMTI4LCA4MywgNjUsIDc1LCAxOTcsIAotICAgIDgzLCA2NSwgNzQsIDY4LCA2NSwgNzIsIDEyOCwgODMsIDY1LCA3MywgNzYsIDY2LCA3OSwgNjUsIDg0LCAxMjgsIDgzLCA2NSwgCi0gICAgNzMsIDc2LCAxMjgsIDgzLCA2NSwgNzMsIDc1LCA4NSwgODIsIDg1LCAxMjgsIDgzLCA2NSwgNzIsIDEyOCwgODMsIDY1LCAKLSAgICA3MSwgNzMsIDg0LCA4NCwgNjUsIDgyLCA3MywgODUsIDgzLCAxMjgsIDgzLCA2NSwgNzEsIDY1LCAxMjgsIDgzLCA2NSwgNzEsIAotICAgIDEyOCwgODMsIDY1LCAxOTksIDgzLCA2NSwgNzAsIDcyLCA2NSwgMTI4LCA4MywgNjUsIDY4LCA3MiwgNjksIDEyOCwgODMsIAotICAgIDY1LCA2OCwgNjksIDEyOCwgODMsIDY1LCA2OCwgMTI4LCA4MywgNjUsIDE5NiwgODMsIDY1LCA2NywgODIsIDczLCA3MCwgCi0gICAgNzMsIDY3LCA3MywgNjUsIDIwNCwgODMsIDY1LCA2NSwgNzMsIDEyOCwgODMsIDY1LCA2NSwgNjgsIDcyLCA4NSwgMTI4LCAKLSAgICA4MywgNjUsIDQ1LCA3MywgMTI4LCA4MywgNjUsIDQ1LCA1MCwgMTI4LCA4MywgNDgsIDUyLCA1NCwgMTI4LCA4MywgNDgsIAotICAgIDUyLCA1MywgMTI4LCA4MywgNDgsIDUyLCA1MiwgMTI4LCA4MywgNDgsIDUyLCA1MSwgMTI4LCA4MywgNDgsIDUyLCA1MCwgCi0gICAgMTI4LCA4MywgNDgsIDUyLCA0OSwgMTI4LCA4MywgNDgsIDUyLCA0OCwgMTI4LCA4MywgNDgsIDUxLCA1NywgMTI4LCA4MywgCi0gICAgNDgsIDUxLCA1NiwgMTI4LCA4MywgNDgsIDUxLCA1NSwgMTI4LCA4MywgNDgsIDUxLCA1NCwgMTI4LCA4MywgNDgsIDUxLCAKLSAgICA1MywgNjUsIDEyOCwgODMsIDQ4LCA1MSwgNTMsIDEyOCwgODMsIDQ4LCA1MSwgNTIsIDEyOCwgODMsIDQ4LCA1MSwgNTEsIAotICAgIDEyOCwgODMsIDQ4LCA1MSwgNTAsIDEyOCwgODMsIDQ4LCA1MSwgNDksIDEyOCwgODMsIDQ4LCA1MSwgNDgsIDEyOCwgODMsIAotICAgIDQ4LCA1MCwgNTcsIDEyOCwgODMsIDQ4LCA1MCwgNTYsIDEyOCwgODMsIDQ4LCA1MCwgNTUsIDEyOCwgODMsIDQ4LCA1MCwgCi0gICAgNTQsIDY2LCAxMjgsIDgzLCA0OCwgNTAsIDU0LCA2NSwgMTI4LCA4MywgNDgsIDUwLCA1NCwgMTI4LCA4MywgNDgsIDUwLCAKLSAgICA1MywgMTI4LCA4MywgNDgsIDUwLCA1MiwgMTI4LCA4MywgNDgsIDUwLCA1MSwgMTI4LCA4MywgNDgsIDUwLCA1MCwgMTI4LCAKLSAgICA4MywgNDgsIDUwLCA0OSwgMTI4LCA4MywgNDgsIDUwLCA0OCwgMTI4LCA4MywgNDgsIDQ5LCA1NywgMTI4LCA4MywgNDgsIAotICAgIDQ5LCA1NiwgMTI4LCA4MywgNDgsIDQ5LCA1NSwgNjUsIDEyOCwgODMsIDQ4LCA0OSwgNTUsIDEyOCwgODMsIDQ4LCA0OSwgCi0gICAgNTQsIDEyOCwgODMsIDQ4LCA0OSwgNTMsIDEyOCwgODMsIDQ4LCA0OSwgNTIsIDY2LCAxMjgsIDgzLCA0OCwgNDksIDUyLCAKLSAgICA2NSwgMTI4LCA4MywgNDgsIDQ5LCA1MiwgMTI4LCA4MywgNDgsIDQ5LCA1MSwgMTI4LCA4MywgNDgsIDQ5LCA1MCwgMTI4LCAKLSAgICA4MywgNDgsIDQ5LCA0OSwgMTI4LCA4MywgNDgsIDQ5LCA0OCwgMTI4LCA4MywgNDgsIDQ4LCA1NywgMTI4LCA4MywgNDgsIAotICAgIDQ4LCA1NiwgMTI4LCA4MywgNDgsIDQ4LCA1NSwgMTI4LCA4MywgNDgsIDQ4LCA1NCwgNjUsIDEyOCwgODMsIDQ4LCA0OCwgCi0gICAgNTQsIDEyOCwgODMsIDQ4LCA0OCwgNTMsIDEyOCwgODMsIDQ4LCA0OCwgNTIsIDEyOCwgODMsIDQ4LCA0OCwgNTEsIDEyOCwgCi0gICAgODMsIDQ4LCA0OCwgNTAsIDY1LCAxMjgsIDgzLCA0OCwgNDgsIDUwLCAxMjgsIDgzLCA0OCwgNDgsIDQ5LCAxMjgsIDgzLCAKLSAgICA0NSwgODcsIDEyOCwgODMsIDQ1LCA4MywgNzIsIDY1LCA4MCwgNjksIDE5NiwgODIsIDg5LCA4OSwgMTI4LCA4MiwgODksIAotICAgIDg4LCAxMjgsIDgyLCA4OSwgODQsIDEyOCwgODIsIDg5LCA4MiwgODgsIDEyOCwgODIsIDg5LCA4MiwgMTI4LCA4MiwgODksIAotICAgIDgwLCAxMjgsIDgyLCA4NywgNzksIDc5LCAxMjgsIDgyLCA4NywgNzksIDEyOCwgODIsIDg3LCA3MywgNzMsIDEyOCwgODIsIAotICAgIDg3LCA3MywgMTI4LCA4MiwgODcsIDY5LCA2OSwgMTI4LCA4MiwgODcsIDY5LCAxMjgsIDgyLCA4NywgNjUsIDcyLCA2NSwgCi0gICAgMTI4LCA4MiwgODcsIDY1LCA2NSwgMTI4LCA4MiwgODcsIDY1LCAxMjgsIDgyLCA4NSwgODgsIDEyOCwgODIsIDg1LCA4NSwgCi0gICAgNjYsIDg1LCA4MiwgODUsIDEyOCwgODIsIDg1LCA4NSwgMTI4LCA4MiwgODUsIDg0LCAxMjgsIDgyLCA4NSwgODMsIDczLCAKLSAgICAxMjgsIDgyLCA4NSwgODIsIDg4LCAxMjgsIDgyLCA4NSwgODIsIDEyOCwgODIsIDg1LCA4MCwgNzMsIDczLCAxMjgsIDgyLCAKLSAgICA4NSwgODAsIDY5LCAxOTcsIDgyLCA4NSwgODAsIDEyOCwgODIsIDg1LCA3OSwgODgsIDEyOCwgODIsIDg1LCA3OSwgODAsIAotICAgIDEyOCwgODIsIDg1LCA3OSwgMTI4LCA4MiwgODUsIDc4LCA3OSwgODUsIDg0LCAxMjgsIDgyLCA4NSwgNzgsIDc4LCA3MywgCi0gICAgNzgsIDE5OSwgODIsIDg1LCA3OCwgNzgsIDY5LCA4MiwgMTI4LCA4MiwgODUsIDc4LCAxMjgsIDgyLCA4NSwgNzcsIDIwMSwgCi0gICAgODIsIDg1LCA3NywgNjUsIDIwMSwgODIsIDg1LCA3NywgMTI4LCA4MiwgODUsIDIwNSwgODIsIDg1LCA3NiwgNjksIDgyLCAKLSAgICAxMjgsIDgyLCA4NSwgNzYsIDY5LCA0NSwgNjgsIDY5LCA3NiwgNjUsIDg5LCA2OSwgNjgsIDEyOCwgODIsIDg1LCA3NiwgNjksIAotICAgIDEyOCwgODIsIDg1LCA3NSwgNzUsIDY1LCA3NSwgNzIsIDY1LCAxMjgsIDgyLCA4NSwgNzMsIDgzLCAxMjgsIDgyLCA4NSwgCi0gICAgNzEsIDY2LCAyMTcsIDgyLCA4NSwgMTk0LCA4MiwgODUsIDY1LCAxMjgsIDgyLCA4NCwgNzIsIDY1LCA3OCwgMTk5LCA4MiwgCi0gICAgODQsIDY1LCA3MSwgODMsIDEyOCwgODIsIDg0LCA2NSwgNzEsIDIxMSwgODIsIDgyLCA4OSwgODgsIDEyOCwgODIsIDgyLCAKLSAgICA4OSwgODQsIDEyOCwgODIsIDgyLCA4OSwgODIsIDg4LCAxMjgsIDgyLCA4MiwgODksIDgyLCAxMjgsIDgyLCA4MiwgODksIAotICAgIDgwLCAxMjgsIDgyLCA4MiwgODUsIDg4LCAxMjgsIDgyLCA4MiwgODUsIDg1LCAxMjgsIDgyLCA4MiwgODUsIDg0LCAxMjgsIAotICAgIDgyLCA4MiwgODUsIDgyLCA4OCwgMTI4LCA4MiwgODIsIDg1LCA4MiwgMTI4LCA4MiwgODIsIDg1LCA4MCwgMTI4LCA4MiwgCi0gICAgODIsIDg1LCA3OSwgODgsIDEyOCwgODIsIDgyLCA4NSwgNzksIDEyOCwgODIsIDgyLCA4NSwgMTI4LCA4MiwgODIsIDc5LCAKLSAgICA4OCwgMTI4LCA4MiwgODIsIDc5LCA4NCwgMTI4LCA4MiwgODIsIDc5LCA4MCwgMTI4LCA4MiwgODIsIDc5LCA3OSwgMTI4LCAKLSAgICA4MiwgODIsIDc5LCAxMjgsIDgyLCA4MiwgNzMsIDczLCAxMjgsIDgyLCA4MiwgNzMsIDEyOCwgODIsIDgyLCA2OSwgODgsIAotICAgIDEyOCwgODIsIDgyLCA2OSwgODQsIDEyOCwgODIsIDgyLCA2OSwgODAsIDEyOCwgODIsIDgyLCA2OSwgNzIsIDEyOCwgODIsIAotICAgIDgyLCA2OSwgMjAwLCA4MiwgODIsIDY5LCA2OSwgMTI4LCA4MiwgODIsIDY5LCAxMjgsIDgyLCA4MiwgNjUsIDg4LCAxMjgsIAotICAgIDgyLCA4MiwgNjUsIDg1LCAxMjgsIDgyLCA4MiwgNjUsIDczLCAxMjgsIDgyLCA4MiwgNjUsIDY1LCAxMjgsIDgyLCA4MiwgCi0gICAgNjUsIDEyOCwgODIsIDc5LCA4NywgNjYsIDc5LCA2NSwgODQsIDEyOCwgODIsIDc5LCA4NSwgNzgsIDY4LCA2OSwgMTk2LCAKLSAgICA4MiwgNzksIDg1LCA3OCwgNjgsIDQ1LCA4NCwgNzMsIDgwLCA4MCwgNjksIDE5NiwgODIsIDc5LCA4NCwgODUsIDc4LCA2OCwgCi0gICAgNjUsIDEyOCwgODIsIDc5LCA4NCwgNjUsIDg0LCA2OSwgMTk2LCA4MiwgNzksIDgzLCA3MiwgMTI4LCA4MiwgNzksIDgzLCAKLSAgICA2OSwgODQsIDg0LCA2OSwgMTI4LCA4MiwgNzksIDgzLCA2OSwgMTI4LCA4MiwgNzksIDc5LCA4NCwgMTI4LCA4MiwgNzksIAotICAgIDc5LCA4MywgODQsIDY5LCA4MiwgMTI4LCA4MiwgNzksIDc5LCA3NSwgMTI4LCA4MiwgNzksIDc5LCA3MCwgMTI4LCA4MiwgCi0gICAgNzksIDc3LCA2NSwgMjA2LCA4MiwgNzksIDc3LCAxMjgsIDgyLCA3OSwgNzYsIDc2LCA2OSwgMjEwLCA4MiwgNzksIDcyLCAKLSAgICA3MywgNzgsIDcxLCA4OSwgMTkzLCA4MiwgNzksIDE5NiwgODIsIDc5LCA2NywgNzUsIDY5LCA4NCwgMTI4LCA4MiwgNzksIAotICAgIDY3LCAyMDMsIDgyLCA3OSwgNjcsIDEyOCwgODIsIDc5LCA2NiwgNjUsIDg0LCAxMjgsIDgyLCA3OSwgNjUsIDgzLCA4NCwgCi0gICAgNjksIDE5NiwgODIsIDc5LCA2NSwgODIsIDEyOCwgODIsIDc5LCA2NSwgMTI4LCA4MiwgNzgsIDg5LCA3MywgNzgsIDE5OSwgCi0gICAgODIsIDc4LCA3OSwgNzksIDc4LCAxMjgsIDgyLCA3OCwgNzksIDc5LCAyMDYsIDgyLCA3OCwgNjUsIDIwNSwgODIsIDc3LCAKLSAgICA4NCwgMTI4LCA4MiwgNzYsIDc5LCAxMjgsIDgyLCA3NiwgNzcsIDEyOCwgODIsIDc2LCA3MywgMTI4LCA4MiwgNzYsIDY5LCAKLSAgICAxMjgsIDgyLCA3NCwgNjksIDIxMSwgODIsIDc0LCA2OSwgMTI4LCA4MiwgNzQsIDE5NywgODIsIDczLCA4NiwgNjksIDgyLCAKLSAgICAxMjgsIDgyLCA3MywgODQsIDg1LCA2NSwgNzYsIDEyOCwgODIsIDczLCA4NCwgODQsIDc5LCA4MiwgODUsIDEyOCwgODIsIAotICAgIDczLCA4NCwgODMsIDczLCAxMjgsIDgyLCA3MywgODMsIDczLCA3OCwgMTk5LCA4MiwgNzMsIDgzLCA3MiwgMTI4LCA4MiwgCi0gICAgNzMsIDgyLCA2NSwgMTI4LCA4MiwgNzMsIDgwLCAxMjgsIDgyLCA3MywgNzgsIDcxLCAyMTEsIDgyLCA3MywgNzgsIDcwLCAKLSAgICA3OSwgODIsIDkwLCA2NSwgNzgsIDY4LCA3OSwgMTI4LCA4MiwgNzMsIDIwNiwgODIsIDczLCA3NywgNzEsIDY2LCA2NSwgCisgICAgMjExLCA4MywgNzksIDc2LCA3MywgMTk2LCA4MywgNzksIDcyLCAxMjgsIDgzLCA3OSwgNzEsIDY4LCA3MywgNjUsIDIwNiwgCisgICAgODMsIDc5LCA3MCwgODQsIDg3LCA2NSwgODIsIDY5LCA0NSwgNzAsIDg1LCA3OCwgNjcsIDg0LCA3MywgNzksIDIwNiwgODMsIAorICAgIDc5LCA3MCwgODQsIDc4LCA2OSwgODMsIDgzLCAxMjgsIDgzLCA3OSwgNzAsIDIxMiwgODMsIDc5LCAxOTgsIDgzLCA3OSwgCisgICAgNjcsIDczLCA2OSwgODQsIDg5LCAxMjgsIDgzLCA3OSwgNjcsIDY3LCA2OSwgMjEwLCA4MywgNzksIDY1LCA4MCwgMTI4LCAKKyAgICA4MywgNzksIDY1LCAxMjgsIDgzLCAyMDcsIDgzLCA3OCwgNzksIDg3LCA3NywgNjUsIDc4LCAxMjgsIDgzLCA3OCwgNzksIAorICAgIDg3LCA3NywgNjUsIDIwNiwgODMsIDc4LCA3OSwgODcsIDcwLCA3NiwgNjUsIDc1LCA2OSwgMTI4LCA4MywgNzgsIDc5LCA4NywgCisgICAgNjYsIDc5LCA2NSwgODIsIDY4LCA2OSwgODIsIDEyOCwgODMsIDc4LCA3OSwgODcsIDEyOCwgODMsIDc4LCA3OSwgMjE1LCAKKyAgICA4MywgNzgsIDc5LCA4NSwgODQsIDEyOCwgODMsIDc4LCA3OSwgODUsIDIxMiwgODMsIDc4LCA2NSwgMjA4LCA4MywgNzgsIAorICAgIDY1LCA3NSwgNjksIDEyOCwgODMsIDc4LCA2NSwgNzUsIDE5NywgODMsIDc4LCA2NSwgNzMsIDc2LCAxMjgsIDgzLCA3OCwgCisgICAgMTkzLCA4MywgNzcsIDc5LCA3NSwgNzMsIDc4LCAxOTksIDgzLCA3NywgNzMsIDgyLCA3NSwgNzMsIDc4LCAxOTksIDgzLCAKKyAgICA3NywgNzMsIDc2LCA3MywgNzgsIDE5OSwgODMsIDc3LCA3MywgNzYsIDY5LCAxMjgsIDgzLCA3NywgNjksIDY1LCA4MiwgCisgICAgMTI4LCA4MywgNzcsIDY1LCA4MywgMjAwLCA4MywgNzcsIDY1LCA3NiwgNzYsIDY5LCAyMTAsIDgzLCA3NywgNjUsIDc2LCAKKyAgICA3NiwgMTI4LCA4MywgNzYsIDg1LCA4MiwgMTI4LCA4MywgNzYsIDc5LCA4NywgNzYsIDg5LCAxMjgsIDgzLCA3NiwgNzksIAorICAgIDIxNSwgODMsIDc2LCA3OSwgODYsIDc5LCAxMjgsIDgzLCA3NiwgNzksIDIxMiwgODMsIDc2LCA3OSwgODAsIDczLCA3OCwgCisgICAgMTk5LCA4MywgNzYsIDc5LCA4MCwgNjksIDEyOCwgODMsIDc2LCA3OSwgNjUsIDIwNiwgODMsIDc2LCA3MywgNzgsIDcxLCAKKyAgICAxMjgsIDgzLCA3NiwgNzMsIDcxLCA3MiwgODQsIDc2LCAyMTcsIDgzLCA3NiwgNzMsIDY4LCA3MywgNzgsIDcxLCAxMjgsIAorICAgIDgzLCA3NiwgNzMsIDY4LCA2OSwgODIsIDEyOCwgODMsIDc2LCA3MywgNjcsIDY5LCAxMjgsIDgzLCA3NiwgNzMsIDY3LCAKKyAgICAxOTcsIDgzLCA3NiwgNjksIDg1LCA4NCwgMjAwLCA4MywgNzYsIDY5LCA2OSwgODAsIDIxNywgODMsIDc2LCA2OSwgNjksIAorICAgIDgwLCA3MywgNzgsIDE5OSwgODMsIDc2LCA2NSwgODYsIDc5LCA3OCwgNzMsIDE5NSwgODMsIDc2LCA2NSwgODYsIDY5LCAKKyAgICAxMjgsIDgzLCA3NiwgNjUsIDgzLCA3MiwgMTI4LCA4MywgNzYsIDY1LCA4MywgMjAwLCA4MywgNzYsIDY1LCA3OCwgODQsIAorICAgIDY5LCAxOTYsIDgzLCA3NSwgODcsIDY1LCAxMjgsIDgzLCA3NSwgODcsIDEyOCwgODMsIDc1LCA4NSwgNzYsIDc2LCAxMjgsIAorICAgIDgzLCA3NSwgODUsIDc2LCAyMDQsIDgzLCA3NSwgNzYsIDczLCA4MiwgNzksIDIwNiwgODMsIDc1LCA3MywgNzgsIDEyOCwgCisgICAgODMsIDc1LCA3MywgNjksIDgyLCAxMjgsIDgzLCA3NSwgMjAxLCA4MywgNzUsIDY5LCA4NywgNjksIDE5NiwgODMsIDc1LCAKKyAgICA2NSwgODQsIDY5LCAxMjgsIDgzLCA3NSwgMTI4LCA4MywgNzQsIDY5LCAxMjgsIDgzLCA3MywgOTAsIDE5NywgODMsIDczLCAKKyAgICA4OCwgODQsIDg5LCA0NSwgNzAsIDc5LCA4NSwgODIsIDg0LCAyMDAsIDgzLCA3MywgODgsIDg0LCA4OSwgMTI4LCA4MywgNzMsIAorICAgIDg4LCA4NCwgMjE3LCA4MywgNzMsIDg4LCA4NCwgNzIsIDgzLCAxMjgsIDgzLCA3MywgODgsIDg0LCA3MiwgMjExLCA4MywgCisgICAgNzMsIDg4LCA4NCwgNzIsIDEyOCwgODMsIDczLCA4OCwgODQsIDY5LCA2OSwgNzgsIDg0LCA3MiwgODMsIDEyOCwgODMsIDczLCAKKyAgICA4OCwgODQsIDY5LCA2OSwgNzgsIDg0LCA3MiwgMTI4LCA4MywgNzMsIDg4LCA4NCwgNjksIDY5LCA3OCwgODQsIDIwMCwgODMsIAorICAgIDczLCA4OCwgODQsIDY5LCA2OSwgNzgsIDEyOCwgODMsIDczLCA4OCwgODQsIDY5LCA2OSwgMjA2LCA4MywgNzMsIDg4LCA0NSwgCisgICAgODQsIDcyLCA3MywgODIsIDg0LCA4OSwgMTI4LCA4MywgNzMsIDg4LCA0NSwgODMsIDg0LCA4MiwgNzMsIDc4LCAxOTksIDgzLCAKKyAgICA3MywgODgsIDQ1LCA4MCwgNjksIDgyLCA0NSwgNjksIDIwNSwgODMsIDczLCA4OCwgNDUsIDc2LCA3MywgNzgsIDE5NywgODMsIAorICAgIDczLCAyMTYsIDgzLCA3MywgODQsIDY5LCAxMjgsIDgzLCA3MywgODMsIDY1LCAxMjgsIDgzLCA3MywgODIsIDczLCA3OCwgCisgICAgNzEsIDg1LCAxMjgsIDgzLCA3MywgNzksIDgzLCA0NSwgODQsIDcyLCA3MywgNjksIDg1LCA4NCwgNzIsIDEyOCwgODMsIDczLCAKKyAgICA3OSwgODMsIDQ1LCA4MywgODMsIDY1LCA3OCwgNzEsIDgzLCA3MywgNzksIDgzLCAxMjgsIDgzLCA3MywgNzksIDgzLCA0NSwgCisgICAgODIsIDczLCA2OSwgODUsIDc2LCAxMjgsIDgzLCA3MywgNzksIDgzLCA0NSwgODAsIDczLCA2OSwgODUsIDgwLCA0NSwgNzUsIAorICAgIDczLCA4OSwgNjksIDc5LCA3NSwgMTI4LCA4MywgNzMsIDc5LCA4MywgNDUsIDgwLCA3MiwgNzMsIDY5LCA4NSwgODAsIDcyLCAKKyAgICAxMjgsIDgzLCA3MywgNzksIDgzLCA0NSwgODAsIDY1LCA3OCwgODMsIDczLCA3OSwgODMsIDEyOCwgODMsIDczLCA3OSwgODMsIAorICAgIDQ1LCA3OCwgNzMsIDY5LCA4NSwgNzgsIDEyOCwgODMsIDczLCA3OSwgODMsIDQ1LCA3NywgNzMsIDY5LCA4NSwgNzcsIDEyOCwgCisgICAgODMsIDczLCA3OSwgODMsIDQ1LCA3NSwgNzIsIDczLCA2OSwgODUsIDc1LCA3MiwgMTI4LCA4MywgNzMsIDc5LCA4MywgNDUsIAorICAgIDc1LCA2NSwgODAsIDg5LCA2OSwgNzksIDg1LCA3OCwgODAsIDczLCA2OSwgODUsIDgwLCAxMjgsIDgzLCA3MywgNzksIDgzLCAKKyAgICA0NSwgNzMsIDY5LCA4NSwgNzgsIDcxLCAxMjgsIDgzLCA3MywgNzksIDgzLCA0NSwgNzIsIDczLCA2OSwgODUsIDcyLCAxMjgsIAorICAgIDgzLCA3MywgNzksIDgzLCA0NSwgNjcsIDczLCA2OSwgODUsIDY3LCAxMjgsIDgzLCA3MywgNzksIDgzLCA0NSwgNjcsIDcyLCAKKyAgICA3MywgNjksIDg1LCA2NywgNzIsIDEyOCwgODMsIDczLCA3OSwgMjExLCA4MywgNzMsIDc4LCA4NSwgODMsIDc5LCA3MywgCisgICAgMTk2LCA4MywgNzMsIDc4LCA3NSwgNzMsIDc4LCA3MSwgMTI4LCA4MywgNzMsIDc4LCA3MSwgNzYsIDY5LCA0NSwgODMsIDcyLCAKKyAgICA3MywgNzAsIDg0LCA0NSwgNTEsIDEyOCwgODMsIDczLCA3OCwgNzEsIDc2LCA2OSwgNDUsIDgzLCA3MiwgNzMsIDcwLCA4NCwgCisgICAgNDUsIDUwLCAxMjgsIDgzLCA3MywgNzgsIDcxLCA3NiwgNjksIDQ1LCA3NiwgNzMsIDc4LCAxOTcsIDgzLCA3MywgNzgsIDcxLCAKKyAgICA3NiwgNjksIDEyOCwgODMsIDczLCA3OCwgNzEsIDc2LCAxOTcsIDgzLCA3MywgNzgsIDcxLCA2NSwgNjUsIDg0LCAxMjgsIAorICAgIDgzLCA3MywgNzgsIDE5NywgODMsIDczLCA3OCwgNjgsIDcyLCAyMDEsIDgzLCA3MywgMjA2LCA4MywgNzMsIDc3LCA4MCwgCisgICAgNzYsIDczLCA3MCwgNzMsIDY5LCAxOTYsIDgzLCA3MywgNzcsIDczLCA3NiwgNjUsIDgyLCAxMjgsIDgzLCA3MywgNzcsIDczLCAKKyAgICA3NiwgNjUsIDIxMCwgODMsIDczLCA3NywgNjUsIDc4LCA4MywgNzMsIDIxMSwgODMsIDczLCA3NywgNjUsIDc2LCA4NSwgNzgsIAorICAgIDcxLCA4NSwgMjA2LCA4MywgNzMsIDc3LCA2NSwgMTI4LCA4MywgNzMsIDc2LCA4NiwgNjksIDgyLCAxMjgsIDgzLCA3MywgCisgICAgNzYsIDc1LCAxMjgsIDgzLCA3MywgNzYsIDczLCA4MSwgODUsIDE5MywgODMsIDczLCA3NiwgNzIsIDc5LCA4NSwgNjksIDg0LCAKKyAgICA4NCwgNjksIDEyOCwgODMsIDczLCA3NiwgNzIsIDc5LCA4NSwgNjksIDg0LCA4NCwgMTk3LCA4MywgNzMsIDc2LCA2NSwgNTEsIAorICAgIDEyOCwgODMsIDczLCA3NSwgNzMsIDEyOCwgODMsIDczLCA3NSwgNTAsIDEyOCwgODMsIDczLCA3NSwgMTc4LCA4MywgNzMsIAorICAgIDcxLCA3OCwgODMsIDEyOCwgODMsIDczLCA3MSwgNzcsIDY1LCAxMjgsIDgzLCA3MywgNzEsIDc3LCAxOTMsIDgzLCA3MywgCisgICAgNzEsIDY5LCAyMDQsIDgzLCA3MywgNzEsIDUyLCAxMjgsIDgzLCA3MywgNzEsIDE4MCwgODMsIDczLCA3MSwgMTI4LCA4MywgCisgICAgNzMsIDY5LCA2OSwgMTI4LCA4MywgNzMsIDY4LCA2OSwgODcsIDY1LCA4OSwgMjExLCA4MywgNzMsIDY4LCA2OCwgNzIsIDY1LCAKKyAgICA3NywgMTI4LCA4MywgNzMsIDY4LCA2OCwgNzIsIDY1LCAyMDUsIDgzLCA3MywgNjcsIDc1LCA3OCwgNjksIDgzLCA4MywgCisgICAgMTI4LCA4MywgNzMsIDY3LCA3NSwgNzYsIDY5LCAxMjgsIDgzLCA3MywgNjYsIDE5NywgODMsIDczLCA2NSwgMTI4LCA4MywgCisgICAgMjAxLCA4MywgNzIsIDg5LCA4OCwgMTI4LCA4MywgNzIsIDg5LCA4NCwgMTI4LCA4MywgNzIsIDg5LCA4MiwgODgsIDEyOCwgCisgICAgODMsIDcyLCA4OSwgODIsIDEyOCwgODMsIDcyLCA4OSwgODAsIDEyOCwgODMsIDcyLCA4OSwgNjksIDEyOCwgODMsIDcyLCAKKyAgICA4OSwgNjUsIDEyOCwgODMsIDcyLCA4OSwgMTI4LCA4MywgNzIsIDg3LCA3OSwgODksIDEyOCwgODMsIDcyLCA4NywgNzksIAorICAgIDc5LCAxMjgsIDgzLCA3MiwgODcsIDc5LCAxMjgsIDgzLCA3MiwgODcsIDczLCA3MywgMTI4LCA4MywgNzIsIDg3LCA3MywgCisgICAgMTI4LCA4MywgNzIsIDg3LCA2OSwgMTI4LCA4MywgNzIsIDg3LCAxOTcsIDgzLCA3MiwgODcsIDY1LCA2NSwgMTI4LCA4MywgCisgICAgNzIsIDg3LCA2NSwgMTI4LCA4MywgNzIsIDg1LCA4OCwgMTI4LCA4MywgNzIsIDg1LCA4NSwgMTI4LCA4MywgNzIsIDg1LCAKKyAgICA4NCwgMTI4LCA4MywgNzIsIDg1LCA4MiwgODgsIDEyOCwgODMsIDcyLCA4NSwgODIsIDEyOCwgODMsIDcyLCA4NSwgODAsIAorICAgIDEyOCwgODMsIDcyLCA4NSwgNzksIDg4LCAxMjgsIDgzLCA3MiwgODUsIDc5LCA4MCwgMTI4LCA4MywgNzIsIDg1LCA3OSwgCisgICAgMTI4LCA4MywgNzIsIDg1LCA3NywgMTI4LCA4MywgNzIsIDg1LCA3NiwgMTI4LCA4MywgNzIsIDg1LCA3MCwgNzAsIDc2LCAKKyAgICAxOTcsIDgzLCA3MiwgODUsIDY5LCA4MSwgMTI4LCA4MywgNzIsIDg1LCA2OSwgNzgsIDgzLCA3MiwgODUsIDY5LCA4NCwgCisgICAgMTI4LCA4MywgNzIsIDg1LCA2NiwgODUsIDgyLCAxMjgsIDgzLCA3MiwgODUsIDUwLCAxMjgsIDgzLCA3MiwgODUsIDE3OCwgCisgICAgODMsIDcyLCA4NSwgMTI4LCA4MywgNzIsIDIxMywgODMsIDcyLCA4NCwgNjUsIDgwLCA3MywgNjcsIDEyOCwgODMsIDcyLCAKKyAgICA4NCwgNjUsIDEyOCwgODMsIDcyLCA4MiwgNzMsIDc4LCA2OSwgMTI4LCA4MywgNzIsIDgyLCA3MywgNzcsIDgwLCAxMjgsIAorICAgIDgzLCA3MiwgODIsIDczLCA3MywgMTI4LCA4MywgNzIsIDgyLCA3MywgMTI4LCA4MywgNzIsIDc5LCA4OSwgMTI4LCA4MywgCisgICAgNzIsIDc5LCA4OCwgMTI4LCA4MywgNzIsIDc5LCA4NywgNjksIDgyLCAxMjgsIDgzLCA3MiwgNzksIDg1LCA3NiwgNjgsIDY5LCAKKyAgICA4MiwgNjksIDE5NiwgODMsIDcyLCA3OSwgODQsIDEyOCwgODMsIDcyLCA3OSwgODIsIDg0LCA4MywgMTI4LCA4MywgNzIsIAorICAgIDc5LCA4MiwgODQsIDIxMSwgODMsIDcyLCA3OSwgODIsIDg0LCA3MiwgNjUsIDc4LCAxOTYsIDgzLCA3MiwgNzksIDgyLCA4NCwgCisgICAgNjksIDc4LCA2OSwgODIsIDEyOCwgODMsIDcyLCA3OSwgODIsIDg0LCA2NywgNjUsIDc1LCA2OSwgMTI4LCA4MywgNzIsIDc5LCAKKyAgICA4MiwgODQsIDQ1LCA4NCwgODcsIDczLCA3MSwgNDUsIDg5LCA4MiwgMTI4LCA4MywgNzIsIDc5LCA4MiwgODQsIDQ1LCA4NCwgCisgICAgODcsIDczLCA3MSwgNDUsIDg0LCA4OSwgMjEwLCA4MywgNzIsIDc5LCA4MiwgODQsIDQ1LCA4NCwgODcsIDczLCA3MSwgNDUsIAorICAgIDgzLCA3OSwgMjA0LCA4MywgNzIsIDc5LCA4MiwgODQsIDQ1LCA4NCwgODcsIDczLCA3MSwgNDUsIDc5LCA4MywgMjExLCA4MywgCisgICAgNzIsIDc5LCA4MiwgODQsIDQ1LCA4NCwgODcsIDczLCA3MSwgNDUsIDc4LCA2NSwgODUsIDE5NiwgODMsIDcyLCA3OSwgODIsIAorICAgIDg0LCA0NSwgODQsIDg3LCA3MywgNzEsIDQ1LCA3NywgNjUsIDY4LCAyMTAsIDgzLCA3MiwgNzksIDgyLCA4NCwgNDUsIDg0LCAKKyAgICA4NywgNzMsIDcxLCA0NSwgNzIsIDY1LCA3MSwgNjUsIDc2LCAyMDQsIDgzLCA3MiwgNzksIDgyLCA4NCwgNDUsIDg0LCA4NywgCisgICAgNzMsIDcxLCA0NSwgNjYsIDc0LCA2NSwgODIsIDc1LCA2NSwgMjA2LCA4MywgNzIsIDc5LCA4MiwgODQsIDQ1LCA4NCwgODcsIAorICAgIDczLCA3MSwgNDUsIDY1LCAyMTAsIDgzLCA3MiwgNzksIDgyLCA4NCwgMTI4LCA4MywgNzIsIDc5LCA4MiwgMjEyLCA4MywgCisgICAgNzIsIDc5LCA4MSwgMTI4LCA4MywgNzIsIDc5LCAyMDksIDgzLCA3MiwgNzksIDgwLCA4MCwgNzMsIDc4LCAxOTksIDgzLCAKKyAgICA3MiwgNzksIDgwLCAxMjgsIDgzLCA3MiwgNzksIDc5LCA4NCwgNzMsIDc4LCAxOTksIDgzLCA3MiwgNzksIDc5LCA4NCwgCisgICAgMTI4LCA4MywgNzIsIDc5LCA3OSwgNzMsIDEyOCwgODMsIDcyLCA3OSwgNzksIDEyOCwgODMsIDcyLCA3OSwgNzEsIDIwMSwgCisgICAgODMsIDcyLCA3OSwgMTk5LCA4MywgNzIsIDc5LCA2OSwgMTI4LCA4MywgNzIsIDc5LCAxOTcsIDgzLCA3MiwgNzksIDY1LCAKKyAgICAxMjgsIDgzLCA3MiwgNzksIDEyOCwgODMsIDcyLCA3MywgODksIDg5LCA2NSwgNjUsIDc2LCA2NSwgNjUsIDEyOCwgODMsIAorICAgIDcyLCA3MywgODQsIDY1LCAxMjgsIDgzLCA3MiwgNzMsIDg0LCAxOTMsIDgzLCA3MiwgNzMsIDgyLCAyMTIsIDgzLCA3MiwgCisgICAgNzMsIDgyLCA2NSwgNjksIDEyOCwgODMsIDcyLCA3MywgODIsIDEyOCwgODMsIDcyLCA3MywgMjEwLCA4MywgNzIsIDczLCAKKyAgICA4MSwgMTI4LCA4MywgNzIsIDczLCA4MCwgMTI4LCA4MywgNzIsIDczLCA3OCwgODQsIDIwNywgODMsIDcyLCA3MywgNzgsIAorICAgIDczLCA3MSwgMTI4LCA4MywgNzIsIDczLCA3OCwgNjgsIDE5MywgODMsIDcyLCA3MywgMjA2LCA4MywgNzIsIDczLCA3NywgCisgICAgNjUsIDEyOCwgODMsIDcyLCA3MywgNzcsIDE5MywgODMsIDcyLCA3MywgNzcsIDEyOCwgODMsIDcyLCA3MywgMjA1LCA4MywgCisgICAgNzIsIDczLCA3MywgNzgsIDEyOCwgODMsIDcyLCA3MywgNzMsIDEyOCwgODMsIDcyLCA3MywgNzAsIDIxMiwgODMsIDcyLCAKKyAgICA3MywgNjksIDc2LCA2OCwgMTI4LCA4MywgNzIsIDczLCA2OCwgMTI4LCA4MywgNzIsIDczLCAxOTYsIDgzLCA3MiwgNzIsIAorICAgIDY1LCAxMjgsIDgzLCA3MiwgNzIsIDE5MywgODMsIDcyLCA2OSwgODgsIDEyOCwgODMsIDcyLCA2OSwgODYsIDY1LCAxMjgsIAorICAgIDgzLCA3MiwgNjksIDg1LCA4OCwgMTI4LCA4MywgNzIsIDY5LCA4NSwgNzksIDgxLCAxMjgsIDgzLCA3MiwgNjksIDg1LCA2NSwgCisgICAgNjksIDgxLCA4NCwgODUsIDEyOCwgODMsIDcyLCA2OSwgODUsIDY1LCA2OSwgODEsIDEyOCwgODMsIDcyLCA2OSwgODUsIDY1LCAKKyAgICA2OSwgMTI4LCA4MywgNzIsIDY5LCA4NCwgMTI4LCA4MywgNzIsIDY5LCAyMTIsIDgzLCA3MiwgNjksIDgzLCA3MiwgNzYsIAorICAgIDY1LCA3NywgMTI4LCA4MywgNzIsIDY5LCA4MywgNzIsIDczLCA3MSwgMTI4LCA4MywgNzIsIDY5LCA4MywgNzIsIDczLCAKKyAgICAxOTksIDgzLCA3MiwgNjksIDgzLCA3MiwgNTAsIDEyOCwgODMsIDcyLCA2OSwgODMsIDcyLCAxMjgsIDgzLCA3MiwgNjksIAorICAgIDgxLCA2OSwgMjA0LCA4MywgNzIsIDY5LCA4MCwgMTI4LCA4MywgNzIsIDY5LCA3OCwgMTI4LCA4MywgNzIsIDY5LCA3NiwgCisgICAgNzYsIDEyOCwgODMsIDcyLCA2OSwgNzYsIDIwNCwgODMsIDcyLCA2OSwgNzYsIDcwLCAxMjgsIDgzLCA3MiwgNjksIDczLCAKKyAgICAxMjgsIDgzLCA3MiwgNjksIDcxLCA1NywgMTI4LCA4MywgNzIsIDY5LCA2OSwgODAsIDEyOCwgODMsIDcyLCA2OSwgNjksIAorICAgIDc4LCA4NSwgMTI4LCA4MywgNzIsIDY5LCA2OSwgNzgsIDEyOCwgODMsIDcyLCA2OSwgNjksIDIwNiwgODMsIDcyLCA2OSwgCisgICAgNjksIDEyOCwgODMsIDcyLCA2OSwgNDUsIDcxLCA3OSwgNjUsIDg0LCAxMjgsIDgzLCA3MiwgMTk3LCA4MywgNzIsIDY3LCAKKyAgICA3MiwgNzksIDc5LCA3MywgMTI4LCA4MywgNzIsIDY3LCA3MiwgNjUsIDEyOCwgODMsIDcyLCA2NSwgODksIDEyOCwgODMsIAorICAgIDcyLCA2NSwgODgsIDEyOCwgODMsIDcyLCA2NSwgODYsIDczLCA4OSwgNjUsIDc4LCA3MywgMTI4LCA4MywgNzIsIDY1LCA4NiwgCisgICAgNzMsIDY1LCAyMDYsIDgzLCA3MiwgNjUsIDg2LCA2OSwgMTk2LCA4MywgNzIsIDY1LCA4NSwgMTI4LCA4MywgNzIsIDY1LCAKKyAgICA4NCwgMTI4LCA4MywgNzIsIDY1LCA4MiwgODUsIDEyOCwgODMsIDcyLCA2NSwgODIsIDIxMywgODMsIDcyLCA2NSwgODIsIAorICAgIDgwLCAxMjgsIDgzLCA3MiwgNjUsIDgyLCAyMDgsIDgzLCA3MiwgNjUsIDgyLCA2NSwgMTI4LCA4MywgNzIsIDY1LCA4MiwgCisgICAgNTAsIDEyOCwgODMsIDcyLCA2NSwgODIsIDE3OCwgODMsIDcyLCA2NSwgODAsIDczLCA3OCwgNzEsIDEyOCwgODMsIDcyLCAKKyAgICA2NSwgODAsIDY5LCA4MywgMTI4LCA4MywgNzIsIDY1LCA4MCwgMTk3LCA4MywgNzIsIDY1LCA4MCwgMTI4LCA4MywgNzIsIAorICAgIDY1LCA3OCwgNzEsIDEyOCwgODMsIDcyLCA2NSwgNzgsIDEyOCwgODMsIDcyLCA2NSwgMjA2LCA4MywgNzIsIDY1LCA3NywgCisgICAgODIsIDc5LCA2NywgNzUsIDEyOCwgODMsIDcyLCA2NSwgNzYsIDgzLCA3MiwgNjksIDc2LCA2OSwgODQsIDEyOCwgODMsIDcyLCAKKyAgICA2NSwgNzUsIDg0LCA3MywgMTI4LCA4MywgNzIsIDY1LCA3NSwgMTI4LCA4MywgNzIsIDY1LCA3MywgMTI4LCA4MywgNzIsIAorICAgIDY1LCA3MCwgODQsIDEyOCwgODMsIDcyLCA2NSwgNzAsIDIxMiwgODMsIDcyLCA2NSwgNjgsIDc5LCA4NywgNjksIDE5NiwgCisgICAgODMsIDcyLCA2NSwgNjgsIDY5LCAxOTYsIDgzLCA3MiwgNjUsIDY4LCA2OSwgMTI4LCA4MywgNzIsIDY1LCA2OCwgNjgsIDY1LCAKKyAgICAxMjgsIDgzLCA3MiwgNjUsIDY4LCA2OCwgMTkzLCA4MywgNzIsIDY1LCA2OCwgMTI4LCA4MywgNzIsIDY1LCAxOTYsIDgzLCAKKyAgICA3MiwgNjUsIDY2LCA1NCwgMTI4LCA4MywgNzIsIDY1LCA2NSwgMTI4LCA4MywgNzIsIDY1LCA1NCwgMTI4LCA4MywgNzIsIAorICAgIDY1LCA1MSwgMTI4LCA4MywgNzIsIDY1LCAxNzksIDgzLCA3MSwgODIsIDE5MywgODMsIDcxLCA3OSwgMjEwLCA4MywgNzEsIAorICAgIDY3LCAxMjgsIDgzLCA3MSwgNjUsIDIxNSwgODMsIDcxLCA2NSwgMTk0LCA4MywgNzEsIDEyOCwgODMsIDY5LCA4OSwgNzUsIAorICAgIDEyOCwgODMsIDY5LCA4OCwgODQsIDg1LCA3NiwgMTkzLCA4MywgNjksIDg4LCA4NCwgNzMsIDc2LCA2OSwgMTI4LCA4MywgCisgICAgNjksIDg4LCA4NCwgNjUsIDc4LCAyMTEsIDgzLCA2OSwgODYsIDY5LCA4MiwgNjUsIDc4LCA2NywgNjksIDEyOCwgODMsIDY5LCAKKyAgICA4NiwgNjksIDc4LCA4NCwgODksIDEyOCwgODMsIDY5LCA4NiwgNjksIDc4LCA4NCwgMjE3LCA4MywgNjksIDg2LCA2OSwgNzgsIAorICAgIDg0LCA3MiwgMTI4LCA4MywgNjksIDg2LCA2OSwgNzgsIDg0LCA2OSwgNjksIDc4LCAxMjgsIDgzLCA2OSwgODYsIDY5LCA3OCwgCisgICAgODQsIDY5LCA2OSwgMjA2LCA4MywgNjksIDg2LCA2OSwgNzgsIDQ1LCA4NCwgNzIsIDczLCA4MiwgODQsIDg5LCAxMjgsIDgzLCAKKyAgICA2OSwgODYsIDY5LCAyMDYsIDgzLCA2OSwgODUsIDg4LCAxMjgsIDgzLCA2OSwgODUsIDc4LCA4OSwgNjUsIDc3LCAxMjgsIAorICAgIDgzLCA2OSwgODUsIDY1LCA2OSwgODEsIDEyOCwgODMsIDY5LCA4NCwgNzAsIDc5LCA3OCwgMTI4LCA4MywgNjksIDgzLCA4NCwgCisgICAgNjksIDgyLCA4NCwgNzMsIDg1LCAyMTEsIDgzLCA2OSwgODMsIDgxLCA4NSwgNzMsIDgxLCA4NSwgNjUsIDY4LCA4MiwgNjUsIAorICAgIDg0LCA2OSwgMTI4LCA4MywgNjksIDgzLCA2NSwgNzcsIDE5NywgODMsIDY5LCA4MiwgODYsIDczLCA2NywgMTk3LCA4MywgCisgICAgNjksIDgyLCA3MywgNzAsIDgzLCAxMjgsIDgzLCA2OSwgODIsIDczLCA3MCwgMjExLCA4MywgNjksIDgyLCA3MywgNzAsIAorICAgIDEyOCwgODMsIDY5LCA4MSwgODUsIDY5LCA3OCwgNjcsIDE5NywgODMsIDY5LCA4MCwgODQsIDY5LCA3NywgNjYsIDY5LCA4MiwgCisgICAgMTI4LCA4MywgNjksIDgwLCA2NSwgODIsIDY1LCA4NCwgNzksIDgyLCAxMjgsIDgzLCA2OSwgODAsIDY1LCA4MiwgNjUsIDg0LCAKKyAgICA3OSwgMjEwLCA4MywgNjksIDc4LCA4NCwgNzksIDEyOCwgODMsIDY5LCA3OCwgODQsIDczLCAxMjgsIDgzLCA2OSwgNzcsIAorICAgIDg1LCA3OCwgNjcsIDczLCAxOTMsIDgzLCA2OSwgNzcsIDc1LCA2NSwgODQsIDcyLCAxMjgsIDgzLCA2OSwgNzcsIDc1LCAKKyAgICAxMjgsIDgzLCA2OSwgNzcsIDczLCA4NiwgNzksIDg3LCA2OSwgMjA0LCA4MywgNjksIDc3LCA3MywgODMsIDc5LCA3MCwgCisgICAgMjEyLCA4MywgNjksIDc3LCA3MywgODMsIDY5LCA4OCwgODQsIDczLCA3NiwgNjksIDEyOCwgODMsIDY5LCA3NywgNzMsIDc3LCAKKyAgICA3MywgNzgsIDczLCA3NywgMTkzLCA4MywgNjksIDc3LCA3MywgNjgsIDczLCA4MiwgNjksIDY3LCAyMTIsIDgzLCA2OSwgNzcsIAorICAgIDczLCA2NywgNzksIDc2LCA3OSwgNzgsIDEyOCwgODMsIDY5LCA3NywgNzMsIDY3LCA3OSwgNzYsIDc5LCAyMDYsIDgzLCA2OSwgCisgICAgNzcsIDczLCA2NywgNzMsIDgyLCA2NywgODUsIDc2LCA2NSwgMjEwLCA4MywgNjksIDc3LCA3MywgNjcsIDczLCA4MiwgNjcsIAorICAgIDc2LCAxOTcsIDgzLCA2OSwgNzcsIDczLCA2NiwgODIsIDY5LCA4NiwgNzMsIDIxMSwgODMsIDY5LCA3NywgNzMsIDQ1LCA4NiwgCisgICAgNzksIDczLCA2NywgNjksIDE5NiwgODMsIDY5LCA3NiwgNzAsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCAKKyAgICA0NSwgNTcsIDU3LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDU3LCA1NiwgMTI4LCA4MywgNjksIAorICAgIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1NywgNTUsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCAKKyAgICA0NSwgNTcsIDU0LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDU3LCA1MywgMTI4LCA4MywgNjksIAorICAgIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1NywgNTIsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCAKKyAgICA0NSwgNTcsIDUxLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDU3LCA1MCwgMTI4LCA4MywgNjksIAorICAgIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1NywgNDksIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCAKKyAgICA0NSwgNTcsIDQ4LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDU3LCAxMjgsIDgzLCA2OSwgNzYsIAorICAgIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDU2LCA1NywgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCAKKyAgICA1NiwgNTYsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTYsIDU1LCAxMjgsIDgzLCA2OSwgNzYsIAorICAgIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDU2LCA1NCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCAKKyAgICA1NiwgNTMsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTYsIDUyLCAxMjgsIDgzLCA2OSwgNzYsIAorICAgIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDU2LCA1MSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCAKKyAgICA1NiwgNTAsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTYsIDQ5LCAxMjgsIDgzLCA2OSwgNzYsIAorICAgIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDU2LCA0OCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCAKKyAgICA1NiwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1NSwgNTcsIDEyOCwgODMsIDY5LCA3NiwgNjksIAorICAgIDY3LCA4NCwgNzksIDgyLCA0NSwgNTUsIDU2LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDU1LCAKKyAgICA1NSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1NSwgNTQsIDEyOCwgODMsIDY5LCA3NiwgNjksIAorICAgIDY3LCA4NCwgNzksIDgyLCA0NSwgNTUsIDUzLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDU1LCAKKyAgICA1MiwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1NSwgNTEsIDEyOCwgODMsIDY5LCA3NiwgNjksIAorICAgIDY3LCA4NCwgNzksIDgyLCA0NSwgNTUsIDUwLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDU1LCAKKyAgICA0OSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1NSwgNDgsIDEyOCwgODMsIDY5LCA3NiwgNjksIAorICAgIDY3LCA4NCwgNzksIDgyLCA0NSwgNTUsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTQsIDU3LCAKKyAgICAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDU0LCA1NiwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIAorICAgIDg0LCA3OSwgODIsIDQ1LCA1NCwgNTUsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTQsIDU0LCAKKyAgICAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDU0LCA1MywgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIAorICAgIDg0LCA3OSwgODIsIDQ1LCA1NCwgNTIsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTQsIDUxLCAKKyAgICAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDU0LCA1MCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIAorICAgIDg0LCA3OSwgODIsIDQ1LCA1NCwgNDksIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTQsIDQ4LCAKKyAgICAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDU0LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIAorICAgIDc5LCA4MiwgNDUsIDUzLCA1NywgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MywgNTYsIDEyOCwgCisgICAgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTMsIDU1LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIAorICAgIDc5LCA4MiwgNDUsIDUzLCA1NCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MywgNTMsIDEyOCwgCisgICAgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTMsIDUyLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIAorICAgIDc5LCA4MiwgNDUsIDUzLCA1MSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MywgNTAsIDEyOCwgCisgICAgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTMsIDQ5LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIAorICAgIDc5LCA4MiwgNDUsIDUzLCA0OCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MywgMTI4LCA4MywgCisgICAgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MiwgNTcsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIAorICAgIDgyLCA0NSwgNTIsIDU2LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUyLCA1NSwgMTI4LCA4MywgCisgICAgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MiwgNTQsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIAorICAgIDgyLCA0NSwgNTIsIDUzLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUyLCA1MiwgMTI4LCA4MywgCisgICAgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MiwgNTEsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIAorICAgIDgyLCA0NSwgNTIsIDUwLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUyLCA0OSwgMTI4LCA4MywgCisgICAgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MiwgNDgsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIAorICAgIDgyLCA0NSwgNTIsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTEsIDU3LCAxMjgsIDgzLCA2OSwgCisgICAgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUxLCA1NiwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIAorICAgIDQ1LCA1MSwgNTUsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTEsIDU0LCAxMjgsIDgzLCA2OSwgCisgICAgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUxLCA1MywgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIAorICAgIDQ1LCA1MSwgNTIsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTEsIDUxLCAxMjgsIDgzLCA2OSwgCisgICAgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUxLCA1MCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIAorICAgIDQ1LCA1MSwgNDksIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTEsIDQ4LCAxMjgsIDgzLCA2OSwgCisgICAgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUxLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIAorICAgIDUwLCA1NywgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNTYsIDEyOCwgODMsIDY5LCA3NiwgCisgICAgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDU1LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIAorICAgIDUwLCA1NCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNTMsIDU0LCAxMjgsIDgzLCA2OSwgCisgICAgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA1MywgNTMsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIAorICAgIDgyLCA0NSwgNTAsIDUzLCA1MiwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNTMsIDUxLCAKKyAgICAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA1MywgNTAsIDEyOCwgODMsIDY5LCA3NiwgNjksIAorICAgIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDUzLCA0OSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCAKKyAgICA1MCwgNTMsIDQ4LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA1MywgMTI4LCA4MywgNjksIAorICAgIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNTIsIDU3LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCAKKyAgICA4MiwgNDUsIDUwLCA1MiwgNTYsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDUyLCA1NSwgCisgICAgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNTIsIDU0LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCAKKyAgICA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA1MiwgNTMsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgCisgICAgNTAsIDUyLCA1MiwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNTIsIDUxLCAxMjgsIDgzLCAKKyAgICA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA1MiwgNTAsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgCisgICAgNzksIDgyLCA0NSwgNTAsIDUyLCA0OSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNTIsIAorICAgIDQ4LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA1MiwgMTI4LCA4MywgNjksIDc2LCA2OSwgCisgICAgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNTEsIDU3LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIAorICAgIDUwLCA1MSwgNTYsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDUxLCA1NSwgMTI4LCA4MywgCisgICAgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNTEsIDU0LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIAorICAgIDc5LCA4MiwgNDUsIDUwLCA1MSwgNTMsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDUxLCAKKyAgICA1MiwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNTEsIDUxLCAxMjgsIDgzLCA2OSwgNzYsIAorICAgIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA1MSwgNTAsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCAKKyAgICA0NSwgNTAsIDUxLCA0OSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNTEsIDQ4LCAxMjgsIAorICAgIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA1MSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCAKKyAgICA3OSwgODIsIDQ1LCA1MCwgNTAsIDU3LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA1MCwgCisgICAgNTYsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDUwLCA1NSwgMTI4LCA4MywgNjksIDc2LCAKKyAgICA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNTAsIDU0LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgCisgICAgNDUsIDUwLCA1MCwgNTMsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDUwLCA1MiwgMTI4LCAKKyAgICA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNTAsIDUxLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgCisgICAgODQsIDc5LCA4MiwgNDUsIDUwLCA1MCwgNTAsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIAorICAgIDUwLCA0OSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNTAsIDQ4LCAxMjgsIDgzLCA2OSwgCisgICAgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA1MCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIAorICAgIDQ1LCA1MCwgNDksIDU3LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA0OSwgNTYsIDEyOCwgCisgICAgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDQ5LCA1NSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIAorICAgIDg0LCA3OSwgODIsIDQ1LCA1MCwgNDksIDU0LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCAKKyAgICA0OSwgNTMsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDQ5LCA1MiwgMTI4LCA4MywgNjksIAorICAgIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNDksIDUxLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCAKKyAgICA4MiwgNDUsIDUwLCA0OSwgNTAsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDQ5LCA0OSwgCisgICAgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNDksIDQ4LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCAKKyAgICA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA0OSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgCisgICAgNDgsIDU3LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA0OCwgNTYsIDEyOCwgODMsIDY5LCAKKyAgICA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDQ4LCA1NSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgCisgICAgODIsIDQ1LCA1MCwgNDgsIDU0LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA0OCwgNTMsIAorICAgIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDQ4LCA1MiwgMTI4LCA4MywgNjksIDc2LCA2OSwgCisgICAgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNDgsIDUxLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIAorICAgIDUwLCA0OCwgNTAsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDQ4LCA0OSwgMTI4LCA4MywgCisgICAgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNDgsIDQ4LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIAorICAgIDc5LCA4MiwgNDUsIDUwLCA0OCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgMTI4LCA4MywgCisgICAgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTcsIDU3LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIAorICAgIDc5LCA4MiwgNDUsIDQ5LCA1NywgNTYsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDU3LCAKKyAgICA1NSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTcsIDU0LCAxMjgsIDgzLCA2OSwgNzYsIAorICAgIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1NywgNTMsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCAKKyAgICA0NSwgNDksIDU3LCA1MiwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTcsIDUxLCAxMjgsIAorICAgIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1NywgNTAsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCAKKyAgICA4NCwgNzksIDgyLCA0NSwgNDksIDU3LCA0OSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgCisgICAgNTcsIDQ4LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1NywgMTI4LCA4MywgNjksIDc2LCAKKyAgICA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTYsIDU3LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgCisgICAgNDUsIDQ5LCA1NiwgNTYsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDU2LCA1NSwgMTI4LCAKKyAgICA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTYsIDU0LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgCisgICAgODQsIDc5LCA4MiwgNDUsIDQ5LCA1NiwgNTMsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIAorICAgIDU2LCA1MiwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTYsIDUxLCAxMjgsIDgzLCA2OSwgCisgICAgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1NiwgNTAsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIAorICAgIDgyLCA0NSwgNDksIDU2LCA0OSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTYsIDQ4LCAKKyAgICAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1NiwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIAorICAgIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTUsIDU3LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCAKKyAgICA1NSwgNTYsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDU1LCA1NSwgMTI4LCA4MywgNjksIAorICAgIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTUsIDU0LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCAKKyAgICA4MiwgNDUsIDQ5LCA1NSwgNTMsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDU1LCA1MiwgCisgICAgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTUsIDUxLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCAKKyAgICA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1NSwgNTAsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgCisgICAgNDksIDU1LCA0OSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTUsIDQ4LCAxMjgsIDgzLCAKKyAgICA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1NSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgCisgICAgODIsIDQ1LCA0OSwgNTQsIDU3LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1NCwgNTYsIAorICAgIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDU0LCA1NSwgMTI4LCA4MywgNjksIDc2LCA2OSwgCisgICAgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTQsIDU0LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIAorICAgIDQ5LCA1NCwgNTMsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDU0LCA1MiwgMTI4LCA4MywgCisgICAgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTQsIDUxLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIAorICAgIDc5LCA4MiwgNDUsIDQ5LCA1NCwgNTAsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDU0LCAKKyAgICA0OSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTQsIDQ4LCAxMjgsIDgzLCA2OSwgNzYsIAorICAgIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1NCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCAKKyAgICA0OSwgNTMsIDU3LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1MywgNTYsIDEyOCwgODMsIAorICAgIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDUzLCA1NSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCAKKyAgICA3OSwgODIsIDQ1LCA0OSwgNTMsIDU0LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1MywgCisgICAgNTMsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDUzLCA1MiwgMTI4LCA4MywgNjksIDc2LCAKKyAgICA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTMsIDUxLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgCisgICAgNDUsIDQ5LCA1MywgNTAsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDUzLCA0OSwgMTI4LCAKKyAgICA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTMsIDQ4LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgCisgICAgODQsIDc5LCA4MiwgNDUsIDQ5LCA1MywgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTIsIAorICAgIDU3LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1MiwgNTYsIDEyOCwgODMsIDY5LCA3NiwgCisgICAgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDUyLCA1NSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIAorICAgIDQ1LCA0OSwgNTIsIDU0LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1MiwgNTMsIDEyOCwgCisgICAgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDUyLCA1MiwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIAorICAgIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTIsIDUxLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCAKKyAgICA1MiwgNTAsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDUyLCA0OSwgMTI4LCA4MywgNjksIAorICAgIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTIsIDQ4LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCAKKyAgICA4MiwgNDUsIDQ5LCA1MiwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTEsIDU3LCAxMjgsIAorICAgIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1MSwgNTYsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCAKKyAgICA4NCwgNzksIDgyLCA0NSwgNDksIDUxLCA1NSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgCisgICAgNTEsIDU0LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1MSwgNTMsIDEyOCwgODMsIDY5LCAKKyAgICA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDUxLCA1MiwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgCisgICAgODIsIDQ1LCA0OSwgNTEsIDUxLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1MSwgNTAsIAorICAgIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDUxLCA0OSwgMTI4LCA4MywgNjksIDc2LCA2OSwgCisgICAgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTEsIDQ4LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIAorICAgIDQ5LCA1MSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTAsIDU3LCAxMjgsIDgzLCA2OSwgCisgICAgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1MCwgNTYsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIAorICAgIDgyLCA0NSwgNDksIDUwLCA1NSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTAsIDU0LCAKKyAgICAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1MCwgNTMsIDEyOCwgODMsIDY5LCA3NiwgNjksIAorICAgIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDUwLCA1MiwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCAKKyAgICA0OSwgNTAsIDUxLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1MCwgNTAsIDEyOCwgODMsIAorICAgIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDUwLCA0OSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCAKKyAgICA3OSwgODIsIDQ1LCA0OSwgNTAsIDQ4LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1MCwgCisgICAgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNDksIDU3LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCAKKyAgICA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA0OSwgNTYsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgCisgICAgNDksIDQ5LCA1NSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNDksIDU0LCAxMjgsIDgzLCAKKyAgICA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA0OSwgNTMsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgCisgICAgNzksIDgyLCA0NSwgNDksIDQ5LCA1MiwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNDksIAorICAgIDUxLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA0OSwgNTAsIDEyOCwgODMsIDY5LCA3NiwgCisgICAgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDQ5LCA0OSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIAorICAgIDQ1LCA0OSwgNDksIDQ4LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA0OSwgMTI4LCA4MywgCisgICAgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNDgsIDU3LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIAorICAgIDc5LCA4MiwgNDUsIDQ5LCA0OCwgNTYsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDQ4LCAKKyAgICA1NSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNDgsIDU0LCAxMjgsIDgzLCA2OSwgNzYsIAorICAgIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA0OCwgNTMsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCAKKyAgICA0NSwgNDksIDQ4LCA1MiwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNDgsIDUxLCAxMjgsIAorICAgIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA0OCwgNTAsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCAKKyAgICA4NCwgNzksIDgyLCA0NSwgNDksIDQ4LCA0OSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgCisgICAgNDgsIDQ4LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA0OCwgMTI4LCA4MywgNjksIDc2LCAKKyAgICA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDEyOCwgODMsIAorICAgIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDIxMCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNjksIDE5NiwgODMsIDY5LCA3MywgCisgICAgODMsIDc3LCA2NSwgMTI4LCA4MywgNjksIDczLCA4MywgNzcsIDE5MywgODMsIDY5LCA3MiwgMTI4LCA4MywgNjksIDcxLCAKKyAgICA3OSwgNzYsIDEyOCwgODMsIDY5LCA3MSwgNzgsIDc5LCAxMjgsIDgzLCA2OSwgNzEsIDc3LCA2OSwgNzgsIDg0LCAxMjgsIAorICAgIDgzLCA2OSwgNjksIDg2LCAxMjgsIDgzLCA2OSwgNjksIDc4LCA4NSwgMTI4LCA4MywgNjksIDY5LCA3OCwgMTI4LCA4MywgCisgICAgNjksIDY5LCAyMDYsIDgzLCA2OSwgNjksIDY4LCA3NiwgNzMsIDc4LCA3MSwgMTI4LCA4MywgNjksIDY5LCA0NSwgNzgsIDc5LCAKKyAgICA0NSwgNjksIDg2LCA3MywgMjA0LCA4MywgNjksIDY3LCA4NCwgNzksIDgyLCAxMjgsIDgzLCA2OSwgNjcsIDg0LCA3MywgNzksIAorICAgIDc4LCAxMjgsIDgzLCA2OSwgNjcsIDg0LCA3MywgNzksIDIwNiwgODMsIDY5LCA2NywgODIsIDY5LCA4NCwgMTI4LCA4MywgCisgICAgNjksIDY3LCA3OSwgNzgsIDY4LCAxMjgsIDgzLCA2OSwgNjcsIDY1LCA3OCwgODQsIDEyOCwgODMsIDY5LCA2NiwgNjUsIDg0LCAKKyAgICA2NiwgNjksIDczLCAyMTIsIDgzLCA2OSwgNjUsIDg0LCAxMjgsIDgzLCA2OSwgNjUsIDc2LCAxMjgsIDgzLCA2OSwgNjUsIAorICAgIDcxLCA4NSwgNzYsIDIwNCwgODMsIDY4LCA3OSwgNzgsIDE5OSwgODMsIDY4LCAxMjgsIDgzLCA2NywgODcsIDY1LCAxMjgsIAorICAgIDgzLCA2NywgODIsIDg1LCA4MCwgNzYsIDY5LCAxMjgsIDgzLCA2NywgODIsIDc5LCA3NiwgNzYsIDEyOCwgODMsIDY3LCA4MiwgCisgICAgNzMsIDgwLCA4NCwgMTI4LCA4MywgNjcsIDgyLCA2OSwgNjksIDc4LCAxMjgsIDgzLCA2NywgODIsIDY5LCA2OSwgMjA2LCAKKyAgICA4MywgNjcsIDgyLCA2OSwgNjUsIDc3LCA3MywgNzgsIDE5OSwgODMsIDY3LCA3OSwgODIsIDgwLCA3MywgODUsIDgzLCAxMjgsIAorICAgIDgzLCA2NywgNzksIDgyLCA2OSwgMTI4LCA4MywgNjcsIDczLCA4MywgODMsIDc5LCA4MiwgODMsIDEyOCwgODMsIDY3LCA3MywgCisgICAgMTI4LCA4MywgNjcsIDcyLCA4NywgNjUsIDEyOCwgODMsIDY3LCA3MiwgODcsIDE5MywgODMsIDY3LCA3MiwgODIsIDc5LCAKKyAgICA2OSwgNjgsIDY5LCA4MiwgMTI4LCA4MywgNjcsIDcyLCA3OSwgNzksIDc2LCAxMjgsIDgzLCA2NywgNzIsIDc5LCA3OSwgCisgICAgMjA0LCA4MywgNjcsIDcyLCA3OSwgNzYsIDY1LCA4MiwgMTI4LCA4MywgNjcsIDcyLCA2OSwgNzcsIDE5MywgODMsIDY3LCAKKyAgICA2OSwgODAsIDg0LCA2OSwgMjEwLCA4MywgNjcsIDY1LCA3OCwgNjgsIDczLCA2NywgODUsIDgzLCAxMjgsIDgzLCA2NywgNjUsIAorICAgIDc4LCA2OCwgNzMsIDY3LCA4NSwgMjExLCA4MywgNjcsIDY1LCAyMDYsIDgzLCA2NywgNjUsIDc2LCA2OSwgODMsIDEyOCwgCisgICAgODMsIDY2LCA4NSwgMTk0LCA4MywgNjYsIDgyLCA4NSwgMjA0LCA4MywgNjUsIDg5LCA3MywgODMsIDIwMSwgODMsIDY1LCAKKyAgICA4OSwgNjUsIDc4LCA3OCwgNjUsIDEyOCwgODMsIDY1LCA4OSwgMTI4LCA4MywgNjUsIDg4LCA3OSwgODAsIDcyLCA3OSwgNzgsIAorICAgIDY5LCAxMjgsIDgzLCA2NSwgODgsIDczLCA3NywgNjUsIDg0LCA2NSwgMTI4LCA4MywgNjUsIDg3LCA2NSwgNzgsIDEyOCwgCisgICAgODMsIDY1LCA4NywgMTI4LCA4MywgNjUsIDg2LCA3OSwgODUsIDgyLCA3MywgNzgsIDE5OSwgODMsIDY1LCA4NSwgODIsIDY1LCAKKyAgICA4MywgNzIsIDg0LCA4MiwgMTkzLCA4MywgNjUsIDg1LCA3MywgNzYsIDEyOCwgODMsIDY1LCA4NCwgODUsIDgyLCA3OCwgCisgICAgMTI4LCA4MywgNjUsIDg0LCA3NSwgNjUsIDY1LCA3OCwgNzUsIDg1LCA4NSwgMTI4LCA4MywgNjUsIDg0LCA3NSwgNjUsIDY1LCAKKyAgICA3OCwgMTI4LCA4MywgNjUsIDg0LCA2OSwgNzYsIDc2LCA3MywgODQsIDY5LCAxMjgsIDgzLCA2NSwgODQsIDY5LCA3NiwgNzYsIAorICAgIDczLCA4NCwgMTk3LCA4MywgNjUsIDg0LCA2NywgNzIsIDY5LCA3NiwgMTI4LCA4MywgNjUsIDg0LCA2NSwgNzgsIDcxLCA2NSwgCisgICAgMTI4LCA4MywgNjUsIDgzLCA3MiwgMTI4LCA4MywgNjUsIDgzLCA2NSwgNzUsIDEyOCwgODMsIDY1LCA4MiwgNzMsIDEyOCwgCisgICAgODMsIDY1LCA4MiwgMTkzLCA4MywgNjUsIDgyLCAxMjgsIDgzLCA2NSwgODEsIDEyOCwgODMsIDY1LCA4MCwgNjUsIDEyOCwgCisgICAgODMsIDY1LCA3OCwgODksIDc5LCA3OSwgNzEsIDE5MywgODMsIDY1LCA3OCwgODksIDY1LCA3NSwgMTkzLCA4MywgNjUsIDc4LCAKKyAgICA4NCwgNzMsIDczLCA3NywgODUsIDEyOCwgODMsIDY1LCA3OCwgNzgsIDg5LCA2NSwgMTI4LCA4MywgNjUsIDc4LCA3MSwgNjUsIAorICAgIDUwLCAxMjgsIDgzLCA2NSwgNzgsIDY4LCA3MiwgMjAxLCA4MywgNjUsIDc4LCA2OCwgNjUsIDc2LCAxMjgsIDgzLCA2NSwgCisgICAgNzgsIDY1LCA3MiwgMTI4LCA4MywgNjUsIDc4LCAxMjgsIDgzLCA2NSwgNzcsIDg5LCA3OSwgMjAzLCA4MywgNjUsIDc3LCAKKyAgICA4NiwgNjUsIDg0LCAxMjgsIDgzLCA2NSwgNzcsIDgwLCA3MywgMTI4LCA4MywgNjUsIDc3LCA4MCwgNzIsIDY1LCA3OSwgCisgICAgMTI4LCA4MywgNjUsIDc3LCA3NSwgNjUsIDEyOCwgODMsIDY1LCA3NywgNjksIDc1LCA3MiwgMTI4LCA4MywgNjUsIDc3LCAKKyAgICA2OSwgNzUsIDIwMCwgODMsIDY1LCA3NywgNjYsIDY1LCAxMjgsIDgzLCA2NSwgNzcsIDY1LCA4MiwgNzMsIDg0LCA2NSwgCisgICAgMjA2LCA4MywgNjUsIDc3LCAxMjgsIDgzLCA2NSwgNzYsIDg0LCA3MywgODIsIDY5LCAxMjgsIDgzLCA2NSwgNzYsIDg0LCAKKyAgICA3MywgNzYsIDc2LCA3OSwgMTI4LCA4MywgNjUsIDc2LCA4NCwgNDUsIDUwLCAxMjgsIDgzLCA2NSwgNzYsIDg0LCAxMjgsIAorICAgIDgzLCA2NSwgNzYsIDIxMiwgODMsIDY1LCA3NiwgNzYsIDY1LCA3NiwgNzYsIDY1LCA3MiwgNzksIDIxMywgODMsIDY1LCA3NiwgCisgICAgNzYsIDE5MywgODMsIDY1LCA3NiwgNjUsIDIwNSwgODMsIDY1LCA3NiwgNjUsIDEyOCwgODMsIDY1LCA3NiwgNDUsIDY1LCAKKyAgICA3NywgNzcsIDc5LCA3OCwgNzMsIDY1LCA2NywgMTI4LCA4MywgNjUsIDc2LCAxMjgsIDgzLCA2NSwgNzUsIDc5LCA4NCwgCisgICAgMTI4LCA4MywgNjUsIDc1LCA2OSwgODUsIDY1LCA2OSwgMTI4LCA4MywgNjUsIDc1LCAxOTcsIDgzLCA2NSwgNzQsIDY4LCAKKyAgICA2NSwgNzIsIDEyOCwgODMsIDY1LCA3MywgNzYsIDY2LCA3OSwgNjUsIDg0LCAxMjgsIDgzLCA2NSwgNzMsIDc2LCAxMjgsIAorICAgIDgzLCA2NSwgNzMsIDc1LCA4NSwgODIsIDg1LCAxMjgsIDgzLCA2NSwgNzIsIDEyOCwgODMsIDY1LCA3MSwgNzMsIDg0LCA4NCwgCisgICAgNjUsIDgyLCA3MywgODUsIDgzLCAxMjgsIDgzLCA2NSwgNzEsIDY1LCAxMjgsIDgzLCA2NSwgNzEsIDEyOCwgODMsIDY1LCAKKyAgICAxOTksIDgzLCA2NSwgNzAsIDcyLCA2NSwgMTI4LCA4MywgNjUsIDcwLCA2OSwgODQsIDIxNywgODMsIDY1LCA2OCwgNzIsIAorICAgIDY5LCAxMjgsIDgzLCA2NSwgNjgsIDY5LCAxMjgsIDgzLCA2NSwgNjgsIDEyOCwgODMsIDY1LCAxOTYsIDgzLCA2NSwgNjcsIAorICAgIDgyLCA3MywgNzAsIDczLCA2NywgNzMsIDY1LCAyMDQsIDgzLCA2NSwgNjUsIDczLCAxMjgsIDgzLCA2NSwgNjUsIDY4LCA3MiwgCisgICAgODUsIDEyOCwgODMsIDY1LCA0NSwgNzMsIDEyOCwgODMsIDY1LCA0NSwgNTAsIDEyOCwgODMsIDQ4LCA1MiwgNTQsIDEyOCwgCisgICAgODMsIDQ4LCA1MiwgNTMsIDEyOCwgODMsIDQ4LCA1MiwgNTIsIDEyOCwgODMsIDQ4LCA1MiwgNTEsIDEyOCwgODMsIDQ4LCAKKyAgICA1MiwgNTAsIDEyOCwgODMsIDQ4LCA1MiwgNDksIDEyOCwgODMsIDQ4LCA1MiwgNDgsIDEyOCwgODMsIDQ4LCA1MSwgNTcsIAorICAgIDEyOCwgODMsIDQ4LCA1MSwgNTYsIDEyOCwgODMsIDQ4LCA1MSwgNTUsIDEyOCwgODMsIDQ4LCA1MSwgNTQsIDEyOCwgODMsIAorICAgIDQ4LCA1MSwgNTMsIDY1LCAxMjgsIDgzLCA0OCwgNTEsIDUzLCAxMjgsIDgzLCA0OCwgNTEsIDUyLCAxMjgsIDgzLCA0OCwgCisgICAgNTEsIDUxLCAxMjgsIDgzLCA0OCwgNTEsIDUwLCAxMjgsIDgzLCA0OCwgNTEsIDQ5LCAxMjgsIDgzLCA0OCwgNTEsIDQ4LCAKKyAgICAxMjgsIDgzLCA0OCwgNTAsIDU3LCAxMjgsIDgzLCA0OCwgNTAsIDU2LCAxMjgsIDgzLCA0OCwgNTAsIDU1LCAxMjgsIDgzLCAKKyAgICA0OCwgNTAsIDU0LCA2NiwgMTI4LCA4MywgNDgsIDUwLCA1NCwgNjUsIDEyOCwgODMsIDQ4LCA1MCwgNTQsIDEyOCwgODMsIAorICAgIDQ4LCA1MCwgNTMsIDEyOCwgODMsIDQ4LCA1MCwgNTIsIDEyOCwgODMsIDQ4LCA1MCwgNTEsIDEyOCwgODMsIDQ4LCA1MCwgCisgICAgNTAsIDEyOCwgODMsIDQ4LCA1MCwgNDksIDEyOCwgODMsIDQ4LCA1MCwgNDgsIDEyOCwgODMsIDQ4LCA0OSwgNTcsIDEyOCwgCisgICAgODMsIDQ4LCA0OSwgNTYsIDEyOCwgODMsIDQ4LCA0OSwgNTUsIDY1LCAxMjgsIDgzLCA0OCwgNDksIDU1LCAxMjgsIDgzLCAKKyAgICA0OCwgNDksIDU0LCAxMjgsIDgzLCA0OCwgNDksIDUzLCAxMjgsIDgzLCA0OCwgNDksIDUyLCA2NiwgMTI4LCA4MywgNDgsIAorICAgIDQ5LCA1MiwgNjUsIDEyOCwgODMsIDQ4LCA0OSwgNTIsIDEyOCwgODMsIDQ4LCA0OSwgNTEsIDEyOCwgODMsIDQ4LCA0OSwgCisgICAgNTAsIDEyOCwgODMsIDQ4LCA0OSwgNDksIDEyOCwgODMsIDQ4LCA0OSwgNDgsIDEyOCwgODMsIDQ4LCA0OCwgNTcsIDEyOCwgCisgICAgODMsIDQ4LCA0OCwgNTYsIDEyOCwgODMsIDQ4LCA0OCwgNTUsIDEyOCwgODMsIDQ4LCA0OCwgNTQsIDY1LCAxMjgsIDgzLCAKKyAgICA0OCwgNDgsIDU0LCAxMjgsIDgzLCA0OCwgNDgsIDUzLCAxMjgsIDgzLCA0OCwgNDgsIDUyLCAxMjgsIDgzLCA0OCwgNDgsIAorICAgIDUxLCAxMjgsIDgzLCA0OCwgNDgsIDUwLCA2NSwgMTI4LCA4MywgNDgsIDQ4LCA1MCwgMTI4LCA4MywgNDgsIDQ4LCA0OSwgCisgICAgMTI4LCA4MywgNDUsIDg3LCAxMjgsIDgzLCA0NSwgODMsIDcyLCA2NSwgODAsIDY5LCAxOTYsIDgyLCA4OSwgODksIDEyOCwgCisgICAgODIsIDg5LCA4OCwgMTI4LCA4MiwgODksIDg0LCAxMjgsIDgyLCA4OSwgODIsIDg4LCAxMjgsIDgyLCA4OSwgODIsIDEyOCwgCisgICAgODIsIDg5LCA4MCwgMTI4LCA4MiwgODcsIDc5LCA3OSwgMTI4LCA4MiwgODcsIDc5LCAxMjgsIDgyLCA4NywgNzMsIDczLCAKKyAgICAxMjgsIDgyLCA4NywgNzMsIDEyOCwgODIsIDg3LCA2OSwgNjksIDEyOCwgODIsIDg3LCA2OSwgMTI4LCA4MiwgODcsIDY1LCAKKyAgICA3MiwgNjUsIDEyOCwgODIsIDg3LCA2NSwgNjUsIDEyOCwgODIsIDg3LCA2NSwgMTI4LCA4MiwgODUsIDg4LCAxMjgsIDgyLCAKKyAgICA4NSwgODUsIDY2LCA4NSwgODIsIDg1LCAxMjgsIDgyLCA4NSwgODUsIDEyOCwgODIsIDg1LCA4NCwgMTI4LCA4MiwgODUsIAorICAgIDgzLCA3MywgMTI4LCA4MiwgODUsIDgyLCA4OCwgMTI4LCA4MiwgODUsIDgyLCAxMjgsIDgyLCA4NSwgODAsIDczLCA3MywgCisgICAgMTI4LCA4MiwgODUsIDgwLCA2OSwgMTk3LCA4MiwgODUsIDgwLCAxMjgsIDgyLCA4NSwgNzksIDg4LCAxMjgsIDgyLCA4NSwgCisgICAgNzksIDgwLCAxMjgsIDgyLCA4NSwgNzksIDEyOCwgODIsIDg1LCA3OCwgNzksIDg1LCA4NCwgMTI4LCA4MiwgODUsIDc4LCAKKyAgICA3OCwgNzMsIDc4LCAxOTksIDgyLCA4NSwgNzgsIDc4LCA2OSwgODIsIDEyOCwgODIsIDg1LCA3OCwgMTI4LCA4MiwgODUsIAorICAgIDc3LCAyMDEsIDgyLCA4NSwgNzcsIDY1LCAyMDEsIDgyLCA4NSwgNzcsIDEyOCwgODIsIDg1LCAyMDUsIDgyLCA4NSwgNzYsIAorICAgIDY5LCA4MiwgMTI4LCA4MiwgODUsIDc2LCA2OSwgNDUsIDY4LCA2OSwgNzYsIDY1LCA4OSwgNjksIDY4LCAxMjgsIDgyLCA4NSwgCisgICAgNzYsIDY5LCAxMjgsIDgyLCA4NSwgNzUsIDc1LCA2NSwgNzUsIDcyLCA2NSwgMTI4LCA4MiwgODUsIDczLCA4MywgMTI4LCAKKyAgICA4MiwgODUsIDcxLCA2NiwgMjE3LCA4MiwgODUsIDY2LCA3NiwgMTk3LCA4MiwgODUsIDE5NCwgODIsIDg1LCA2NSwgMTI4LCAKKyAgICA4MiwgODQsIDcyLCA2NSwgNzgsIDE5OSwgODIsIDg0LCA2NSwgNzEsIDgzLCAxMjgsIDgyLCA4NCwgNjUsIDcxLCAyMTEsIAorICAgIDgyLCA4MiwgODksIDg4LCAxMjgsIDgyLCA4MiwgODksIDg0LCAxMjgsIDgyLCA4MiwgODksIDgyLCA4OCwgMTI4LCA4MiwgCisgICAgODIsIDg5LCA4MiwgMTI4LCA4MiwgODIsIDg5LCA4MCwgMTI4LCA4MiwgODIsIDg1LCA4OCwgMTI4LCA4MiwgODIsIDg1LCAKKyAgICA4NSwgMTI4LCA4MiwgODIsIDg1LCA4NCwgMTI4LCA4MiwgODIsIDg1LCA4MiwgODgsIDEyOCwgODIsIDgyLCA4NSwgODIsIAorICAgIDEyOCwgODIsIDgyLCA4NSwgODAsIDEyOCwgODIsIDgyLCA4NSwgNzksIDg4LCAxMjgsIDgyLCA4MiwgODUsIDc5LCAxMjgsIAorICAgIDgyLCA4MiwgODUsIDEyOCwgODIsIDgyLCA3OSwgODgsIDEyOCwgODIsIDgyLCA3OSwgODQsIDEyOCwgODIsIDgyLCA3OSwgCisgICAgODAsIDEyOCwgODIsIDgyLCA3OSwgNzksIDEyOCwgODIsIDgyLCA3OSwgMTI4LCA4MiwgODIsIDczLCA3MywgMTI4LCA4MiwgCisgICAgODIsIDczLCAxMjgsIDgyLCA4MiwgNjksIDg4LCAxMjgsIDgyLCA4MiwgNjksIDg0LCAxMjgsIDgyLCA4MiwgNjksIDgwLCAKKyAgICAxMjgsIDgyLCA4MiwgNjksIDcyLCAxMjgsIDgyLCA4MiwgNjksIDIwMCwgODIsIDgyLCA2OSwgNjksIDEyOCwgODIsIDgyLCAKKyAgICA2OSwgMTI4LCA4MiwgODIsIDY1LCA4OCwgMTI4LCA4MiwgODIsIDY1LCA4NSwgMTI4LCA4MiwgODIsIDY1LCA3MywgMTI4LCAKKyAgICA4MiwgODIsIDY1LCA2NSwgMTI4LCA4MiwgODIsIDY1LCAxMjgsIDgyLCA3OSwgODcsIDY2LCA3OSwgNjUsIDg0LCAxMjgsIAorICAgIDgyLCA3OSwgODUsIDc4LCA2OCwgNjksIDE5NiwgODIsIDc5LCA4NSwgNzgsIDY4LCA0NSwgODQsIDczLCA4MCwgODAsIDY5LCAKKyAgICAxOTYsIDgyLCA3OSwgODQsIDg1LCA3OCwgNjgsIDY1LCAxMjgsIDgyLCA3OSwgODQsIDY1LCA4NCwgNjksIDE5NiwgODIsIAorICAgIDc5LCA4MywgNzIsIDEyOCwgODIsIDc5LCA4MywgNjksIDg0LCA4NCwgNjksIDEyOCwgODIsIDc5LCA4MywgNjksIDEyOCwgCisgICAgODIsIDc5LCA3OSwgODQsIDEyOCwgODIsIDc5LCA3OSwgODMsIDg0LCA2OSwgODIsIDEyOCwgODIsIDc5LCA3OSwgNzUsIAorICAgIDEyOCwgODIsIDc5LCA3OSwgNzAsIDEyOCwgODIsIDc5LCA3NywgNjUsIDc4LCA3MywgNjUsIDIwNiwgODIsIDc5LCA3NywgCisgICAgNjUsIDIwNiwgODIsIDc5LCA3NywgMTI4LCA4MiwgNzksIDc2LCA3NiwgNjksIDIxMCwgODIsIDc5LCA3NiwgNzYsIDY5LCAKKyAgICA2OCwgNDUsIDg1LCAyMDgsIDgyLCA3OSwgNzIsIDczLCA3OCwgNzEsIDg5LCAxOTMsIDgyLCA3OSwgNzEsIDEyOCwgODIsIAorICAgIDc5LCAxOTYsIDgyLCA3OSwgNjcsIDc1LCA2OSwgODQsIDEyOCwgODIsIDc5LCA2NywgMjAzLCA4MiwgNzksIDY3LCAxMjgsIAorICAgIDgyLCA3OSwgNjYsIDY1LCA4NCwgMTI4LCA4MiwgNzksIDY1LCA4MywgODQsIDY5LCAxOTYsIDgyLCA3OSwgNjUsIDgyLCAKKyAgICAxMjgsIDgyLCA3OSwgNjUsIDEyOCwgODIsIDc4LCA4OSwgNzMsIDc4LCAxOTksIDgyLCA3OCwgNzksIDc5LCA3OCwgMTI4LCAKKyAgICA4MiwgNzgsIDc5LCA3OSwgMjA2LCA4MiwgNzgsIDY1LCAyMDUsIDgyLCA3NywgODQsIDEyOCwgODIsIDc2LCA3OSwgMTI4LCAKKyAgICA4MiwgNzYsIDc3LCAxMjgsIDgyLCA3NiwgNzMsIDEyOCwgODIsIDc2LCA2OSwgMTI4LCA4MiwgNzQsIDY5LCAyMTEsIDgyLCAKKyAgICA3NCwgNjksIDEyOCwgODIsIDc0LCAxOTcsIDgyLCA3MywgODYsIDY5LCA4MiwgMTI4LCA4MiwgNzMsIDg0LCA4NSwgNjUsIAorICAgIDc2LCAxMjgsIDgyLCA3MywgODQsIDg0LCA3OSwgODIsIDg1LCAxMjgsIDgyLCA3MywgODQsIDgzLCA3MywgMTI4LCA4MiwgCisgICAgNzMsIDgzLCA3MywgNzgsIDE5OSwgODIsIDczLCA4MywgNzIsIDEyOCwgODIsIDczLCA4MiwgNjUsIDEyOCwgODIsIDczLCAKKyAgICA4MCwgMTI4LCA4MiwgNzMsIDc4LCA3MSwgMjExLCA4MiwgNzMsIDc4LCA3MSwgNzMsIDc4LCAxOTksIDgyLCA3MywgNzgsIAorICAgIDcwLCA3OSwgODIsIDkwLCA2NSwgNzgsIDY4LCA3OSwgMTI4LCA4MiwgNzMsIDIwNiwgODIsIDczLCA3NywgNzEsIDY2LCA2NSwgCiAgICAgMTI4LCA4MiwgNzMsIDc1LCA4MiwgNzMsIDc1LCAxMjgsIDgyLCA3MywgNzEsIDg2LCA2OSwgNjgsIDczLCAxOTUsIDgyLCAKICAgICA3MywgNzEsIDcyLCA4NCwgODcsIDY1LCA4MiwgNjgsIDgzLCAxMjgsIDgyLCA3MywgNzEsIDcyLCA4NCwgNzIsIDY1LCA3OCwgCiAgICAgMTk2LCA4MiwgNzMsIDcxLCA3MiwgODQsIDQ1LCA4NCwgNzksIDQ1LCA3NiwgNjksIDcwLCAyMTIsIDgyLCA3MywgNzEsIDcyLCAKICAgICA4NCwgNDUsIDgzLCA3MywgNjgsIDE5NywgODIsIDczLCA3MSwgNzIsIDg0LCA0NSwgODMsIDcyLCA2NSwgNjgsIDc5LCA4NywgCiAgICAgNjksIDE5NiwgODIsIDczLCA3MSwgNzIsIDg0LCA0NSwgODMsIDcyLCA2NSwgNjgsIDY5LCAxOTYsIDgyLCA3MywgNzEsIDcyLCAKLSAgICA4NCwgNDUsIDgwLCA3OSwgNzMsIDc4LCA4NCwgNzMsIDc4LCAxOTksIDgyLCA3MywgNzEsIDcyLCA4NCwgNDUsIDcyLCA2NSwgCi0gICAgNzgsIDY4LCA2OSwgMTk2LCA4MiwgNzMsIDcxLCA3MiwgODQsIDQ1LCA3MiwgNjUsIDc4LCAxOTYsIDgyLCA3MywgNzEsIDcyLCAKLSAgICA4NCwgNDUsIDcwLCA2NSwgNjcsIDczLCA3OCwgMTk5LCA4MiwgNzMsIDcxLCA3MiwgODQsIDEyOCwgODIsIDczLCA2OSwgODUsIAotICAgIDc2LCA0NSwgODksIDY5LCA4MywgNzMsIDY5LCA4NSwgNzgsIDcxLCAxMjgsIDgyLCA3MywgNjksIDg1LCA3NiwgNDUsIDg5LCAKLSAgICA2OSwgNzksIDgyLCA3MywgNzgsIDcyLCA3MywgNjksIDg1LCA3MiwgNDUsIDcyLCA3MywgNjksIDg1LCA3MiwgMTI4LCA4MiwgCi0gICAgNzMsIDY5LCA4NSwgNzYsIDQ1LCA4OSwgNjksIDc5LCA4MiwgNzMsIDc4LCA3MiwgNzMsIDY5LCA4NSwgNzIsIDEyOCwgODIsIAotICAgIDczLCA2OSwgODUsIDc2LCA0NSwgODQsIDczLCA3NSwgNjksIDg1LCA4NCwgNDUsIDcyLCA3MywgNjksIDg1LCA3MiwgMTI4LCAKLSAgICA4MiwgNzMsIDY5LCA4NSwgNzYsIDQ1LCA4NCwgNzMsIDc1LCA2OSwgODUsIDg0LCAxMjgsIDgyLCA3MywgNjksIDg1LCA3NiwgCi0gICAgNDUsIDg0LCA3MiwgNzMsIDY5LCA4NSwgODQsIDcyLCAxMjgsIDgyLCA3MywgNjksIDg1LCA3NiwgNDUsIDgzLCA4MywgNjUsIAotICAgIDc4LCA3MSwgODQsIDczLCA3NSwgNjksIDg1LCA4NCwgMTI4LCA4MiwgNzMsIDY5LCA4NSwgNzYsIDQ1LCA4MywgODMsIDY1LCAKLSAgICA3OCwgNzEsIDgzLCA3MywgNzksIDgzLCAxMjgsIDgyLCA3MywgNjksIDg1LCA3NiwgNDUsIDgzLCA4MywgNjUsIDc4LCA3MSwgCi0gICAgODAsIDczLCA2OSwgODUsIDgwLCAxMjgsIDgyLCA3MywgNjksIDg1LCA3NiwgNDUsIDgzLCA4MywgNjUsIDc4LCA3MSwgNzUsIAotICAgIDczLCA4OSwgNjksIDc5LCA3NSwgMTI4LCA4MiwgNzMsIDY5LCA4NSwgNzYsIDQ1LCA4MywgNzMsIDc5LCA4MywgMTI4LCA4MiwgCi0gICAgNzMsIDY5LCA4NSwgNzYsIDQ1LCA4MCwgNzMsIDY5LCA4NSwgODAsIDQ1LCA4NCwgNzMsIDc1LCA2OSwgODUsIDg0LCAxMjgsIAotICAgIDgyLCA3MywgNjksIDg1LCA3NiwgNDUsIDgwLCA3MywgNjksIDg1LCA4MCwgNDUsIDgzLCA3MywgNzksIDgzLCAxMjgsIDgyLCAKLSAgICA3MywgNjksIDg1LCA3NiwgNDUsIDgwLCA3MywgNjksIDg1LCA4MCwgNDUsIDgwLCA3MiwgNzMsIDY5LCA4NSwgODAsIDcyLCAKLSAgICAxMjgsIDgyLCA3MywgNjksIDg1LCA3NiwgNDUsIDgwLCA3MywgNjksIDg1LCA4MCwgNDUsIDcyLCA3MywgNjksIDg1LCA3MiwgCi0gICAgMTI4LCA4MiwgNzMsIDY5LCA4NSwgNzYsIDQ1LCA4MCwgNzMsIDY5LCA4NSwgODAsIDEyOCwgODIsIDczLCA2OSwgODUsIDc2LCAKLSAgICA0NSwgODAsIDcyLCA3MywgNjksIDg1LCA4MCwgNzIsIDEyOCwgODIsIDczLCA2OSwgODUsIDc2LCA0NSwgODAsIDY1LCA3OCwgCi0gICAgODMsIDczLCA3OSwgODMsIDEyOCwgODIsIDczLCA2OSwgODUsIDc2LCA0NSwgNzgsIDczLCA2OSwgODUsIDc4LCAxMjgsIDgyLCAKLSAgICA3MywgNjksIDg1LCA3NiwgNDUsIDc3LCA3MywgNjksIDg1LCA3NywgNDUsIDgzLCA3MywgNzksIDgzLCAxMjgsIDgyLCA3MywgCi0gICAgNjksIDg1LCA3NiwgNDUsIDc3LCA3MywgNjksIDg1LCA3NywgNDUsIDc1LCA3MywgODksIDY5LCA3OSwgNzUsIDEyOCwgODIsIAotICAgIDczLCA2OSwgODUsIDc2LCA0NSwgNzcsIDczLCA2OSwgODUsIDc3LCA0NSwgNzIsIDczLCA2OSwgODUsIDcyLCAxMjgsIDgyLCAKLSAgICA3MywgNjksIDg1LCA3NiwgNDUsIDc3LCA3MywgNjksIDg1LCA3NywgMTI4LCA4MiwgNzMsIDY5LCA4NSwgNzYsIDQ1LCA3NSwgCi0gICAgNzMsIDg5LCA2OSwgNzksIDc1LCA0NSwgODMsIDczLCA3OSwgODMsIDEyOCwgODIsIDczLCA2OSwgODUsIDc2LCA0NSwgNzUsIAotICAgIDczLCA4OSwgNjksIDc5LCA3NSwgNDUsIDcyLCA3MywgNjksIDg1LCA3MiwgMTI4LCA4MiwgNzMsIDY5LCA4NSwgNzYsIDQ1LCAKLSAgICA3NSwgNzMsIDg5LCA2OSwgNzksIDc1LCAxMjgsIDgyLCA3MywgNjksIDg1LCA3NiwgNDUsIDc1LCA2NSwgODAsIDg5LCA2OSwgCi0gICAgNzksIDg1LCA3OCwgODAsIDczLCA2OSwgODUsIDgwLCAxMjgsIDgyLCA3MywgNjksIDg1LCA3NiwgNDUsIDcyLCA3MywgNjksIAotICAgIDg1LCA3MiwgMTI4LCA4MiwgNzMsIDY5LCA4NSwgNzYsIDQ1LCA2NywgNzMsIDY5LCA4NSwgNjcsIDEyOCwgODIsIDczLCA2OSwgCi0gICAgODUsIDIwNCwgODIsIDczLCA2OSwgNzYsIDEyOCwgODIsIDczLCA2OSwgNjksIDEyOCwgODIsIDczLCA2NywgNjksIDc3LCAKLSAgICAxMjgsIDgyLCA3MywgNjcsIDY5LCAxMjgsIDgyLCA3MywgNjcsIDE5NywgODIsIDczLCA2NiwgNjYsIDc5LCA3OCwgMTI4LCAKLSAgICA4MiwgNzMsIDY1LCAyMDQsIDgyLCA3MiwgNzksIDg0LCA3MywgMTk1LCA4MiwgNzIsIDc5LCAxMjgsIDgyLCA3MiwgMjA3LCAKLSAgICA4MiwgNzIsIDY1LCAxMjgsIDgyLCA3MSwgODksIDczLCA3OCwgNzEsIDgzLCAxMjgsIDgyLCA3MSwgODksIDY1LCA3OCwgCi0gICAgMTI4LCA4MiwgNzEsIDg5LCAxOTMsIDgyLCA2OSwgODYsIDc5LCA3NiwgODYsIDczLCA3OCwgMTk5LCA4MiwgNjksIDg2LCAKLSAgICA3OSwgNzYsIDg1LCA4NCwgNzMsIDc5LCA3OCwgMTI4LCA4MiwgNjksIDg2LCA3NywgNjUsIDEyOCwgODIsIDY5LCA4NiwgNzMsIAotICAgIDY1LCAxMjgsIDgyLCA2OSwgODYsIDY5LCA4MiwgODMsIDY5LCA2OCwgMTI4LCA4MiwgNjksIDg2LCA2OSwgODIsIDgzLCA2OSwgCi0gICAgMTk2LCA4MiwgNjksIDg2LCA2OSwgODIsIDgzLCAxOTcsIDgyLCA2OSwgODUsIDg4LCAxMjgsIDgyLCA2OSwgODUsIDEyOCwgCi0gICAgODIsIDY5LCA4NCwgODUsIDgyLCA3OCwgMTI4LCA4MiwgNjksIDg0LCA4NSwgODIsIDIwNiwgODIsIDY5LCA4NCwgODIsIDc5LCAKLSAgICA3MCwgNzYsIDY5LCAyMTYsIDgyLCA2OSwgODQsIDgyLCA2OSwgNjUsIDg0LCAxMjgsIDgyLCA2OSwgODQsIDc5LCA4MiwgODQsIAotICAgIDEyOCwgODIsIDY5LCA4MywgODUsIDgwLCA3MywgNzgsIDg1LCA4MywgMTI4LCA4MiwgNjksIDgzLCA4NCwgODIsIDc5LCA3OSwgCi0gICAgNzcsIDEyOCwgODIsIDY5LCA4MywgODQsIDgyLCA3MywgNjcsIDg0LCA2OSwgMTk2LCA4MiwgNjksIDgzLCA4NCwgMTI4LCAKLSAgICA4MiwgNjksIDgzLCA4MCwgNzksIDc4LCA4MywgNjksIDEyOCwgODIsIDY5LCA4MywgNzksIDg1LCA4MiwgNjcsIDY5LCAxMjgsIAotICAgIDgyLCA2OSwgODMsIDc5LCA3NiwgODUsIDg0LCA3MywgNzksIDc4LCAxMjgsIDgyLCA2OSwgODMsIDczLCA4MywgODQsIDY1LCAKLSAgICA3OCwgNjcsIDY5LCAxMjgsIDgyLCA2OSwgODMsIDczLCA2OCwgNjksIDc4LCA2NywgNjksIDEyOCwgODIsIDY5LCA4MywgCi0gICAgMjAwLCA4MiwgNjksIDgyLCA2OSwgNzgsIDcxLCA3MSwgNjUsIDc4LCAxMjgsIDgyLCA2OSwgODIsIDY5LCA3NSwgNjUsIDc4LCAKLSAgICAxMjgsIDgyLCA2OSwgODAsIDgyLCA2OSwgODMsIDY5LCA3OCwgODQsIDEyOCwgODIsIDY5LCA4MCwgNzYsIDY1LCA2NywgNjksIAotICAgIDc3LCA2OSwgNzgsIDIxMiwgODIsIDY5LCA4MCwgNzIsIDEyOCwgODIsIDY5LCA4MCwgNjksIDg0LCA3MywgODQsIDczLCA3OSwgCi0gICAgMjA2LCA4MiwgNjksIDgwLCA2OSwgNjUsIDg0LCA2OSwgMTk2LCA4MiwgNjksIDgwLCA2OSwgNjUsIDg0LCAxMjgsIDgyLCAKLSAgICA2OSwgODAsIDY5LCA2NSwgMjEyLCA4MiwgNjksIDgwLCA2NSwgODksIDY1LCAxMjgsIDgyLCA2OSwgODAsIDY1LCAxMjgsIAotICAgIDgyLCA2OSwgODAsIDE5MywgODIsIDY5LCA3OCwgODQsIDc5LCA3MSwgNjksIDc4LCAxMjgsIDgyLCA2OSwgNzgsIDEyOCwgCi0gICAgODIsIDY5LCAyMDYsIDgyLCA2OSwgNzcsIDg1LCAxMjgsIDgyLCA2OSwgNzcsIDY5LCA2OCwgODksIDEyOCwgODIsIDY5LCAKLSAgICA3NiwgNzMsIDcxLCA3MywgNzksIDc4LCAxMjgsIDgyLCA2OSwgNzYsIDczLCA2OSwgODYsIDY5LCAxOTYsIDgyLCA2OSwgNzYsIAotICAgIDY5LCA2NSwgODMsIDY5LCAxMjgsIDgyLCA2OSwgNzYsIDY1LCA4NCwgNzMsIDc5LCA3OCwgNjUsIDIwNCwgODIsIDY5LCA3NiwgCi0gICAgNjUsIDg0LCA3MywgNzksIDc4LCAxMjgsIDgyLCA2OSwgNzYsIDY1LCA2NSwgMTI4LCA4MiwgNjksIDc0LCA2NSwgNzgsIAotICAgIDE5OSwgODIsIDY5LCA3MywgMTk2LCA4MiwgNjksIDcxLCA4NSwgNzYsIDg1LCA4MywgNDUsIDUyLCAxMjgsIDgyLCA2OSwgCi0gICAgNzEsIDg1LCA3NiwgODUsIDgzLCA0NSwgNTEsIDEyOCwgODIsIDY5LCA3MSwgODUsIDc2LCA4NSwgODMsIDQ1LCA1MCwgMTI4LCAKLSAgICA4MiwgNjksIDcxLCA4NSwgNzYsIDg1LCA4MywgMTI4LCA4MiwgNjksIDcxLCA4NSwgNzYsIDg1LCAyMTEsIDgyLCA2OSwgNzEsIAotICAgIDczLCA4MywgODQsIDY5LCA4MiwgNjksIDE5NiwgODIsIDY5LCA3MSwgNzMsIDc5LCA3OCwgNjUsIDIwNCwgODIsIDY5LCA3MSwgCi0gICAgNzMsIDY1LCA0NSwgNTAsIDEyOCwgODIsIDY5LCA3MSwgNzMsIDY1LCAxMjgsIDgyLCA2OSwgNzAsIDc5LCA4MiwgNzcsIDY5LCAKLSAgICAxOTYsIDgyLCA2OSwgNzAsIDY5LCA4MiwgNjksIDc4LCA2NywgMTk3LCA4MiwgNjksIDY4LCA4NSwgODAsIDc2LCA3MywgNjcsIAotICAgIDY1LCA4NCwgNzMsIDc5LCA3OCwgMTI4LCA4MiwgNjksIDY3LCA4OSwgNjcsIDc2LCA3MywgNzgsIDE5OSwgODIsIDY5LCA2NywgCi0gICAgODksIDY3LCA3NiwgNjksIDE5NiwgODIsIDY5LCA2NywgODQsIDczLCA3NiwgNzMsIDc4LCA2OSwgNjUsIDIxMCwgODIsIDY5LCAKLSAgICA2NywgODQsIDY1LCA3OCwgNzEsIDg1LCA3NiwgNjUsIDIxMCwgODIsIDY5LCA2NywgODQsIDY1LCA3OCwgNzEsIDc2LCA2OSwgCi0gICAgMTI4LCA4MiwgNjksIDY3LCA4NCwgNjUsIDc4LCA3MSwgNzYsIDE5NywgODIsIDY5LCA2NywgODIsIDY5LCA2NSwgODQsIDczLCAKLSAgICA3OSwgNzgsIDY1LCAyMDQsIDgyLCA2OSwgNjcsIDc5LCA4MiwgNjgsIDczLCA3OCwgMTk5LCA4MiwgNjksIDY3LCA3OSwgODIsIAotICAgIDY4LCA2OSwgODIsIDEyOCwgODIsIDY5LCA2NywgNzksIDgyLCAxOTYsIDgyLCA2OSwgNjcsIDY5LCA4MCwgODQsIDczLCA4NiwgCi0gICAgMTk3LCA4MiwgNjksIDY3LCA2OSwgNzMsIDg2LCA2OSwgODIsIDEyOCwgODIsIDY5LCA2NSwgNzYsIDcxLCA2NSwgODIsIDQ1LCAKLSAgICA1MCwgMTI4LCA4MiwgNjksIDY1LCA3NiwgNzEsIDY1LCA4MiwgMTI4LCA4MiwgNjksIDY1LCA3MiwgNzcsIDg1LCA3NSwgCi0gICAgMTI4LCA4MiwgNjksIDY1LCA2NywgNzIsIDEyOCwgODIsIDY4LCAyMDcsIDgyLCA2OCwgNjksIDIwNCwgODIsIDY2LCA2NSwgCi0gICAgODMsIDE5MywgODIsIDY1LCA4OSwgODMsIDEyOCwgODIsIDY1LCA4OSwgNjUsIDc4LCA3OCwgNjUsIDEyOCwgODIsIDY1LCAKLSAgICA4NCwgNzMsIDc5LCAxMjgsIDgyLCA2NSwgODQsIDcyLCA2NSwgMTI4LCA4MiwgNjUsIDg0LCA3MiwgMTkzLCA4MiwgNjUsIAotICAgIDg0LCA2NSwgMTI4LCA4MiwgNjUsIDg0LCAxMjgsIDgyLCA2NSwgODMsIDg3LCA2NSwgNjgsIDczLCAxMjgsIDgyLCA2NSwgCi0gICAgODMsIDc5LCA4NSwgMjA0LCA4MiwgNjUsIDgzLCA3MiwgNjUsIDEyOCwgODIsIDY1LCA4MSwgMTI4LCA4MiwgNjUsIDgwLCAKLSAgICA3MywgODMsIDc3LCA2NSwgMTI4LCA4MiwgNjUsIDc4LCA3MSwgMTk3LCA4MiwgNjUsIDc4LCA2NSwgMTI4LCA4MiwgNjUsIAotICAgIDc4LCAxMjgsIDgyLCA2NSwgNzcsIDIxMSwgODIsIDY1LCA3NywgNjYsIDY1LCA4NCwgMTI4LCA4MiwgNjUsIDc1LCA3MiwgCi0gICAgNjUsIDc4LCA3MSwgMTI4LCA4MiwgNjUsIDc1LCA2NSwgNjUsIDgyLCA2NSwgNjUsIDc4LCA4MywgNjUsIDg5LCA2NSwgMTI4LCAKLSAgICA4MiwgNjUsIDczLCA4MywgNzMsIDc4LCAxOTksIDgyLCA2NSwgNzMsIDgzLCA2OSwgMTk2LCA4MiwgNjUsIDczLCA3OCwgNjYsIAotICAgIDc5LCA4NywgMTI4LCA4MiwgNjUsIDczLCA3NiwgODcsIDY1LCA4OSwgMTI4LCA4MiwgNjUsIDczLCA3NiwgODcsIDY1LCAKLSAgICAyMTcsIDgyLCA2NSwgNzMsIDc2LCAxMjgsIDgyLCA2NSwgNzMsIDY4LCAyMDcsIDgyLCA2NSwgNzMsIDY4LCA2NSwgMTI4LCAKLSAgICA4MiwgNjUsIDcyLCA3NywgNjUsIDg0LCA4NSwgNzYsIDc2LCA2NSwgMjAwLCA4MiwgNjUsIDcyLCAxMjgsIDgyLCA2NSwgNzAsIAotICAgIDY5LCAxMjgsIDgyLCA2NSwgNjksIDc3LCAxMjgsIDgyLCA2NSwgNjgsIDczLCA3OSwgNjUsIDY3LCA4NCwgNzMsIDg2LCAKLSAgICAxOTcsIDgyLCA2NSwgNjgsIDczLCA3OSwgMTI4LCA4MiwgNjUsIDY4LCA3MywgMjA3LCA4MiwgNjUsIDY4LCAyMDEsIDgyLCAKLSAgICA2NSwgNjgsIDEyOCwgODIsIDY1LCAxOTYsIDgyLCA2NSwgNjcsIDgxLCA4NSwgNjksIDIxMiwgODIsIDY1LCA2NywgNzMsIAotICAgIDc4LCA3MSwgMTI4LCA4MiwgNjUsIDY2LCA2NiwgNzMsIDg0LCAxMjgsIDgyLCA2NSwgNjYsIDY2LCA3MywgMjEyLCA4MiwgCi0gICAgNjUsIDY2LCAxMjgsIDgyLCA2NSwgNjUsIDczLCAxMjgsIDgyLCA2NSwgNTEsIDEyOCwgODIsIDY1LCA1MCwgMTI4LCA4MiwgCi0gICAgNjUsIDQ1LCA1MCwgMTI4LCA4MiwgNDgsIDUwLCA1NywgMTI4LCA4MiwgNDgsIDUwLCA1NiwgMTI4LCA4MiwgNDgsIDUwLCAKLSAgICA1NSwgMTI4LCA4MiwgNDgsIDUwLCA1NCwgMTI4LCA4MiwgNDgsIDUwLCA1MywgMTI4LCA4MiwgNDgsIDUwLCA1MiwgMTI4LCAKLSAgICA4MiwgNDgsIDUwLCA1MSwgMTI4LCA4MiwgNDgsIDUwLCA1MCwgMTI4LCA4MiwgNDgsIDUwLCA0OSwgMTI4LCA4MiwgNDgsIAotICAgIDUwLCA0OCwgMTI4LCA4MiwgNDgsIDQ5LCA1NywgMTI4LCA4MiwgNDgsIDQ5LCA1NiwgMTI4LCA4MiwgNDgsIDQ5LCA1NSwgCi0gICAgMTI4LCA4MiwgNDgsIDQ5LCA1NCwgNjUsIDEyOCwgODIsIDQ4LCA0OSwgNTQsIDEyOCwgODIsIDQ4LCA0OSwgNTMsIDEyOCwgCi0gICAgODIsIDQ4LCA0OSwgNTIsIDEyOCwgODIsIDQ4LCA0OSwgNTEsIDEyOCwgODIsIDQ4LCA0OSwgNTAsIDEyOCwgODIsIDQ4LCAKLSAgICA0OSwgNDksIDEyOCwgODIsIDQ4LCA0OSwgNDgsIDY1LCAxMjgsIDgyLCA0OCwgNDksIDQ4LCAxMjgsIDgyLCA0OCwgNDgsIAotICAgIDU3LCAxMjgsIDgyLCA0OCwgNDgsIDU2LCAxMjgsIDgyLCA0OCwgNDgsIDU1LCAxMjgsIDgyLCA0OCwgNDgsIDU0LCAxMjgsIAotICAgIDgyLCA0OCwgNDgsIDUzLCAxMjgsIDgyLCA0OCwgNDgsIDUyLCAxMjgsIDgyLCA0OCwgNDgsIDUxLCA2NiwgMTI4LCA4MiwgCi0gICAgNDgsIDQ4LCA1MSwgNjUsIDEyOCwgODIsIDQ4LCA0OCwgNTEsIDEyOCwgODIsIDQ4LCA0OCwgNTAsIDY1LCAxMjgsIDgyLCAKLSAgICA0OCwgNDgsIDUwLCAxMjgsIDgyLCA0OCwgNDgsIDQ5LCAxMjgsIDgyLCA0NSwgNjcsIDgyLCA2OSwgMTk3LCA4MSwgODksIAotICAgIDg4LCAxMjgsIDgxLCA4OSwgODUsIDEyOCwgODEsIDg5LCA4NCwgMTI4LCA4MSwgODksIDgyLCA4OCwgMTI4LCA4MSwgODksIAotICAgIDgyLCAxMjgsIDgxLCA4OSwgODAsIDEyOCwgODEsIDg5LCA3OSwgMTI4LCA4MSwgODksIDczLCAxMjgsIDgxLCA4OSwgNjksIAotICAgIDY5LCAxMjgsIDgxLCA4OSwgNjksIDEyOCwgODEsIDg5LCA2NSwgNjUsIDEyOCwgODEsIDg5LCA2NSwgMTI4LCA4MSwgODksIAotICAgIDEyOCwgODEsIDg3LCA3MywgMTI4LCA4MSwgODcsIDY5LCA2OSwgMTI4LCA4MSwgODcsIDY5LCAxMjgsIDgxLCA4NywgNjUsIAotICAgIDY1LCAxMjgsIDgxLCA4NywgNjUsIDEyOCwgODEsIDg1LCA4OCwgMTI4LCA4MSwgODUsIDg2LCAxMjgsIDgxLCA4NSwgODUsIAotICAgIDg2LCAxMjgsIDgxLCA4NSwgODUsIDEyOCwgODEsIDg1LCA4NCwgMTI4LCA4MSwgODUsIDgzLCA3MiwgODMsIDcyLCA2NSwgCi0gICAgODksIDY1LCAxMjgsIDgxLCA4NSwgODIsIDg4LCAxMjgsIDgxLCA4NSwgODIsIDEyOCwgODEsIDg1LCA4MCwgMTI4LCA4MSwgCi0gICAgODUsIDc5LCA4OCwgMTI4LCA4MSwgODUsIDc5LCA4NCwgMTk3LCA4MSwgODUsIDc5LCA4NCwgNjUsIDg0LCA3MywgNzksIAotICAgIDIwNiwgODEsIDg1LCA3OSwgODQsIDEyOCwgODEsIDg1LCA3OSwgODAsIDEyOCwgODEsIDg1LCA3OSwgMTI4LCA4MSwgODUsIAotICAgIDc1LCAxMjgsIDgxLCA4NSwgNzMsIDc4LCA4NCwgNjksIDgzLCA4MywgNjksIDc4LCA2NywgNjksIDEyOCwgODEsIDg1LCA3MywgCi0gICAgNzgsIDY4LCA3MywgNjcsIDY5LCA4MywgNzMsIDc3LCAxOTMsIDgxLCA4NSwgNzMsIDc4LCA2NywgODUsIDc4LCA4OCwgMTI4LCAKLSAgICA4MSwgODUsIDczLCA3OCwgNjUsIDgyLCA3MywgODUsIDIxMSwgODEsIDg1LCA3MywgNzYsIDc2LCAxMjgsIDgxLCA4NSwgNzMsIAotICAgIDY3LCAyMDMsIDgxLCA4NSwgNzMsIDEyOCwgODEsIDg1LCA3MCwgMTI4LCA4MSwgODUsIDY5LCA4MywgODQsIDczLCA3OSwgCi0gICAgNzgsIDY5LCAxOTYsIDgxLCA4NSwgNjksIDgzLCA4NCwgNzMsIDc5LCA3OCwgMTI4LCA4MSwgODUsIDY5LCA4MywgODQsIDczLCAKLSAgICA3OSwgMjA2LCA4MSwgODUsIDY5LCA2OSwgNzgsIDEyOCwgODEsIDg1LCA2OSwgNjksIDIwNiwgODEsIDg1LCA2OSwgMTI4LCAKLSAgICA4MSwgODUsIDY2LCA4NSwgODQsIDgzLCAxMjgsIDgxLCA4NSwgNjUsIDg0LCA2OSwgODIsIDc4LCA3MywgNzksIDIwNiwgODEsIAotICAgIDg1LCA2NSwgODIsIDg0LCA2OSwgODIsIDgzLCAxMjgsIDgxLCA4NSwgNjUsIDgyLCA4NCwgNjksIDgyLCAyMTEsIDgxLCA4NSwgCi0gICAgNjUsIDgyLCA4NCwgNjksIDgyLCAxMjgsIDgxLCA4NSwgNjUsIDgyLCA4NCwgNjksIDIxMCwgODEsIDg1LCA2NSwgNzgsIDg0LCAKLSAgICA3MywgODQsIDIxNywgODEsIDg1LCA2NSwgNjgsIDgyLCA4NSwgODAsIDc2LCAxOTcsIDgxLCA4NSwgNjUsIDY4LCA4MiwgNjUsIAotICAgIDc4LCA4NCwgMTI4LCA4MSwgODUsIDY1LCA2OCwgODIsIDY1LCA3OCwgMjEyLCA4MSwgODUsIDY1LCA2OCwgMTI4LCA4MSwgCi0gICAgODUsIDY1LCAxOTYsIDgxLCA4NSwgNjUsIDEyOCwgODEsIDg1LCAxMjgsIDgxLCAyMDgsIDgxLCA3OSwgODgsIDEyOCwgODEsIAotICAgIDc5LCA4NCwgMTI4LCA4MSwgNzksIDgwLCA3MiwgMTI4LCA4MSwgNzksIDgwLCA2NSwgMTI4LCA4MSwgNzksIDgwLCAxMjgsIAotICAgIDgxLCA3OSwgNzksIDEyOCwgODEsIDc5LCAyMDcsIDgxLCA3OSwgNzAsIDEyOCwgODEsIDc5LCAxOTgsIDgxLCA3OSwgNjUsIAotICAgIDEyOCwgODEsIDc5LCAxMjgsIDgxLCA3OCwgMTI4LCA4MSwgNzMsIDg4LCAxMjgsIDgxLCA3MywgODQsIDgzLCA2NSwgMTI4LCAKLSAgICA4MSwgNzMsIDg0LCAxMjgsIDgxLCA3MywgODAsIDEyOCwgODEsIDczLCA3MywgMTI4LCA4MSwgNzMsIDY5LCA4OCwgMTI4LCAKLSAgICA4MSwgNzMsIDY5LCA4NCwgMTI4LCA4MSwgNzMsIDY5LCA4MCwgMTI4LCA4MSwgNzMsIDY5LCAxMjgsIDgxLCA3MywgMTI4LCAKLSAgICA4MSwgNzIsIDg3LCA3MywgMTI4LCA4MSwgNzIsIDg3LCA2OSwgNjksIDEyOCwgODEsIDcyLCA4NywgNjksIDEyOCwgODEsIAotICAgIDcyLCA4NywgNjUsIDY1LCAxMjgsIDgxLCA3MiwgODcsIDY1LCAxMjgsIDgxLCA3MiwgODUsIDEyOCwgODEsIDcyLCA3OSwgCi0gICAgMTI4LCA4MSwgNzIsIDczLCAxMjgsIDgxLCA3MiwgNjksIDY5LCAxMjgsIDgxLCA3MiwgNjksIDEyOCwgODEsIDcyLCA2NSwgCi0gICAgNjUsIDEyOCwgODEsIDcyLCA2NSwgMTI4LCA4MSwgNzEsIDY1LCAxMjgsIDgxLCA2OSwgODQsIDY1LCA3OCwgNjUsIDEyOCwgCi0gICAgODEsIDY5LCA2OSwgMTI4LCA4MSwgNjksIDEyOCwgODEsIDY1LCA4NSwgMTI4LCA4MSwgNjUsIDg0LCA2NSwgNzgsIDEyOCwgCi0gICAgODEsIDY1LCA4MiwgNzgsIDY5LCAyMTcsIDgxLCA2NSwgODIsIDEyOCwgODEsIDY1LCA4MSwgMTI4LCA4MSwgNjUsIDgwLCAKLSAgICA3MiwgMTI4LCA4MSwgNjUsIDc3LCA2NSwgODQsIDgzLCAxMjgsIDgxLCA2NSwgNzcsIDY1LCA4NCwgMjExLCA4MSwgNjUsIAotICAgIDc2LCAxOTMsIDgxLCA2NSwgNzMsIDgyLCA4NCwgNzIsIDgyLCA2NSwgMTI4LCA4MSwgNjUsIDczLCAxMjgsIDgxLCA2NSwgCi0gICAgNzAsIDEyOCwgODEsIDY1LCAxOTgsIDgxLCA2NSwgNjgsIDc3LCA2NSwgMTI4LCA4MSwgNjUsIDY1LCA3MywgMTI4LCA4MSwgCi0gICAgNjUsIDY1LCA3MCwgODUsIDEyOCwgODEsIDY1LCA2NSwgNzAsIDEyOCwgODEsIDQ4LCA0OCwgNTUsIDEyOCwgODEsIDQ4LCAKLSAgICA0OCwgNTQsIDEyOCwgODEsIDQ4LCA0OCwgNTMsIDEyOCwgODEsIDQ4LCA0OCwgNTIsIDEyOCwgODEsIDQ4LCA0OCwgNTEsIAotICAgIDEyOCwgODEsIDQ4LCA0OCwgNTAsIDEyOCwgODEsIDQ4LCA0OCwgNDksIDEyOCwgODAsIDkwLCAxMjgsIDgwLCA4OSwgODgsIAotICAgIDEyOCwgODAsIDg5LCA4NCwgMTI4LCA4MCwgODksIDgyLCA4OCwgMTI4LCA4MCwgODksIDgyLCAxMjgsIDgwLCA4OSwgODAsIAotICAgIDEyOCwgODAsIDg5LCAxMjgsIDgwLCA4NywgNzksIDg5LCAxMjgsIDgwLCA4NywgNzksIDc5LCAxMjgsIDgwLCA4NywgNzksIAotICAgIDEyOCwgODAsIDg3LCAyMDcsIDgwLCA4NywgNzMsIDczLCAxMjgsIDgwLCA4NywgNzMsIDEyOCwgODAsIDg3LCA2OSwgNjksIAotICAgIDEyOCwgODAsIDg3LCA2OSwgMTI4LCA4MCwgODcsIDY1LCA2NSwgMTI4LCA4MCwgODcsIDEyOCwgODAsIDg2LCAxMjgsIDgwLCAKLSAgICA4NSwgODgsIDEyOCwgODAsIDg1LCA4NSwgODQsIDEyOCwgODAsIDg1LCA4NSwgMTI4LCA4MCwgODUsIDg0LCA4MiwgNjksIAotICAgIDcwLCA2NSwgNjcsIDg0LCA3MywgNzksIDc4LCAxMjgsIDgwLCA4NSwgODQsIDEyOCwgODAsIDg1LCAyMTIsIDgwLCA4NSwgCi0gICAgODMsIDcyLCA4MCwgNzMsIDc4LCAxMjgsIDgwLCA4NSwgODMsIDcyLCA4MCwgNzMsIDc1LCA2NSwgMTI4LCA4MCwgODUsIDgzLCAKLSAgICA3MiwgNzMsIDc4LCAxOTksIDgwLCA4NSwgODIsIDg4LCAxMjgsIDgwLCA4NSwgODIsIDgzLCA2OSwgMTI4LCA4MCwgODUsIAotICAgIDgyLCA4MCwgNzYsIDE5NywgODAsIDg1LCA4MiwgNzgsIDY1LCA3NywgNjUsIDEyOCwgODAsIDg1LCA4MiwgNzMsIDg0LCA4OSwgCi0gICAgMTI4LCA4MCwgODUsIDgyLCA3MywgNzAsIDg5LCAxMjgsIDgwLCA4NSwgODIsIDEyOCwgODAsIDg1LCA4MSwgMTI4LCA4MCwgCi0gICAgODUsIDgwLCAxMjgsIDgwLCA4NSwgNzksIDg4LCAxMjgsIDgwLCA4NSwgNzksIDgwLCAxMjgsIDgwLCA4NSwgNzksIDEyOCwgCi0gICAgODAsIDg1LCA3OCwgNzEsIDY1LCA2NSwgNzcsIDEyOCwgODAsIDg1LCA3OCwgNzEsIDEyOCwgODAsIDg1LCA3OCwgNjcsIDg0LCAKLSAgICA4NSwgNjUsIDg0LCA3MywgNzksIDc4LCAxMjgsIDgwLCA4NSwgNzgsIDY3LCA4NCwgODUsIDY1LCA4NCwgNzMsIDc5LCAyMDYsIAotICAgIDgwLCA4NSwgNzcsIDgwLCAxMjgsIDgwLCA4NSwgNzcsIDEyOCwgODAsIDg1LCA2OSwgMTI4LCA4MCwgODUsIDY2LCA3NiwgCi0gICAgNzMsIDE5NSwgODAsIDg1LCA2NSwgODEsIDEyOCwgODAsIDg1LCA2NSwgNjksIDEyOCwgODAsIDg1LCA1MCwgMTI4LCA4MCwgCi0gICAgODUsIDQ5LCAxMjgsIDgwLCA4NSwgMTI4LCA4MCwgODQsIDcyLCA2NSwgNzIsIDE5MywgODAsIDg0LCA2OSwgMTI4LCA4MCwgCi0gICAgODMsIDczLCA3NiwgMjAxLCA4MCwgODMsIDczLCA3MCwgNzMsIDgzLCA4NCwgNzksIDgzLCA4OSwgNzgsIDY1LCA3MSwgNzcsIAotICAgIDY1LCAxMjgsIDgwLCA4MywgNzMsIDcwLCA3MywgODMsIDg0LCA3OSwgODAsIDY1LCA4MiwgNjUsIDc1LCA2NSwgNzYsIDY5LCAKLSAgICA4MywgNzcsIDY1LCAxMjgsIDgwLCA4MywgNzMsIDcwLCA3MywgODMsIDg0LCA3OSwgMjA2LCA4MCwgODMsIDczLCA3MCwgNzMsIAotICAgIDgzLCA4NCwgNzksIDc2LCA4OSwgNzEsIDczLCA4MywgNzcsIDY1LCAxMjgsIDgwLCA4MywgNzMsIDEyOCwgODAsIDgzLCAKLSAgICAxMjgsIDgwLCA4MiwgNzksIDg2LCA2OSwgMTI4LCA4MCwgODIsIDc5LCA4NCwgNzksIDg2LCA2NSwgODIsIDg5LCAyMTEsIAotICAgIDgwLCA4MiwgNzksIDg0LCA3OSwgMjExLCA4MCwgODIsIDc5LCA4NCwgNjksIDY3LCA4NCwgNjksIDE5NiwgODAsIDgyLCA3OSwgCi0gICAgODMsIDcxLCA2OSwgNzEsIDgyLCA2NSwgNzcsIDc3LCA2OSwgNzgsIDczLCAxMjgsIDgwLCA4MiwgNzksIDgwLCA3OSwgODIsIAotICAgIDg0LCA3MywgNzksIDc4LCA2NSwgMjA0LCA4MCwgODIsIDc5LCA4MCwgNzksIDgyLCA4NCwgNzMsIDc5LCA3OCwgMTI4LCA4MCwgCi0gICAgODIsIDc5LCA4MCwgNjksIDgyLCA4NCwgMjE3LCA4MCwgODIsIDc5LCA4MCwgNjksIDc2LCA3NiwgNjksIDIxMCwgODAsIDgyLCAKLSAgICA3OSwgNzksIDcwLCAxMjgsIDgwLCA4MiwgNzksIDc2LCA3OSwgNzgsIDcxLCA2OSwgMTk2LCA4MCwgODIsIDc5LCA3NiwgNjUsIAotICAgIDg0LCA3MywgNzksIDc4LCAxOTcsIDgwLCA4MiwgNzksIDc0LCA2OSwgNjcsIDg0LCA3MywgODYsIDY5LCAxMjgsIDgwLCA4MiwgCi0gICAgNzksIDc0LCA2OSwgNjcsIDg0LCA3MywgNzksIDc4LCAxMjgsIDgwLCA4MiwgNzksIDcxLCA4MiwgNjksIDgzLCA4MywgMTI4LCAKLSAgICA4MCwgODIsIDc5LCA3MSwgODIsIDY1LCAyMDUsIDgwLCA4MiwgNzksIDcwLCA3OSwgODUsIDc4LCA2OCwgMTI4LCA4MCwgODIsIAotICAgIDc5LCA2OCwgODUsIDY3LCA4NCwgMTI4LCA4MCwgODIsIDc5LCA2OCwgODUsIDY3LCAyMTIsIDgwLCA4MiwgNzMsIDg2LCA2NSwgCi0gICAgODQsIDY5LCAxMjgsIDgwLCA4MiwgNzMsIDg2LCA2NSwgODQsIDE5NywgODAsIDgyLCA3MywgODYsIDY1LCA2NywgMjE3LCAKLSAgICA4MCwgODIsIDczLCA4MywgNzIsIDg0LCA3MiwgNjUsIDc3LCA2NSwgODQsIDgyLCAxOTMsIDgwLCA4MiwgNzMsIDc4LCA4NCwgCi0gICAgODMsIDEyOCwgODAsIDgyLCA3MywgNzgsIDg0LCAxMjgsIDgwLCA4MiwgNzMsIDc4LCAyMTIsIDgwLCA4MiwgNzMsIDc4LCAKLSAgICA2NywgNjksIDgzLCA4MywgMTI4LCA4MCwgODIsIDczLCA3NywgNjksIDEyOCwgODAsIDgyLCA3MywgNzcsIDE5NywgODAsIAotICAgIDgyLCA2OSwgODYsIDczLCA3OSwgODUsIDIxMSwgODAsIDgyLCA2OSwgODMsIDY5LCA4NCwgMTI4LCA4MCwgODIsIDY5LCA4MywgCi0gICAgNjksIDc4LCA4NCwgNjUsIDg0LCA3MywgNzksIDIwNiwgODAsIDgyLCA2OSwgODMsIDY3LCA4MiwgNzMsIDgwLCA4NCwgNzMsIAotICAgIDc5LCAyMDYsIDgwLCA4MiwgNjksIDgwLCA3OSwgNzgsIDY4LCA2OSwgODIsIDY1LCA3OCwgNjcsIDY5LCAxMjgsIDgwLCA4MiwgCi0gICAgNjksIDc4LCA3NSwgNzIsIDY1LCAxMjgsIDgwLCA4MiwgNjksIDcwLCA2NSwgNjcsIDE5NywgODAsIDgyLCA2OSwgNjcsIDczLCAKLSAgICA4MCwgNzMsIDg0LCA2NSwgODQsIDY5LCAxMjgsIDgwLCA4MiwgNjksIDY3LCA2OSwgNjgsIDczLCA3OCwgMTk5LCA4MCwgODIsIAotICAgIDY5LCA2NywgNjksIDY4LCA2OSwgODMsIDEyOCwgODAsIDgyLCA2OSwgNjcsIDY5LCA2OCwgNjksIDIxMSwgODAsIDgyLCA2OSwgCi0gICAgNjcsIDY5LCA2OCwgNjksIDE5NiwgODAsIDgyLCA2OSwgNjcsIDY5LCA2OCwgNjksIDEyOCwgODAsIDgyLCA2OSwgNjcsIDY5LCAKLSAgICA2OCwgMTk3LCA4MCwgODIsIDY1LCA3NywgNDUsIDgwLCA3MywgNzMsIDEyOCwgODAsIDgyLCA2NSwgNzcsIDQ1LCA4MCwgNzMsIAotICAgIDIwMSwgODAsIDgyLCA2NSwgNzcsIDQ1LCA3NywgODUsIDc5LCA4OSwgMTI4LCA4MCwgODIsIDY1LCA3NywgNDUsIDc3LCA4NSwgCi0gICAgNzksIDIxNywgODAsIDgyLCA2NSwgNzcsIDQ1LCA2NiwgODUsIDc5LCA3OCwgMTI4LCA4MCwgODIsIDY1LCA3NywgNDUsIDY2LCAKLSAgICA4NSwgNzksIDIwNiwgODAsIDgyLCA2NSwgNzcsIDQ1LCA2NiwgNjksIDczLCAxMjgsIDgwLCA4MiwgNjUsIDc3LCA0NSwgNjYsIAotICAgIDY5LCAyMDEsIDgwLCA4MiwgNjUsIDc3LCAxMjgsIDgwLCA4MiwgNjUsIDIwNSwgODAsIDgyLCAxMjgsIDgwLCA4MCwgODYsIAotICAgIDEyOCwgODAsIDgwLCA3NywgMTI4LCA4MCwgODAsIDY1LCAxMjgsIDgwLCA3OSwgODksIDEyOCwgODAsIDc5LCA4OCwgMTI4LCAKLSAgICA4MCwgNzksIDg3LCA2OSwgODIsIDIxMSwgODAsIDc5LCA4NywgNjksIDgyLCAxMjgsIDgwLCA3OSwgODcsIDY4LCA2OSwgODIsIAotICAgIDY5LCAxOTYsIDgwLCA3OSwgODcsIDY4LCA2OSwgODIsIDEyOCwgODAsIDc5LCA4NSwgNzgsIDE5NiwgODAsIDc5LCA4NSwgCi0gICAgNzYsIDg0LCA4MiwgMjE3LCA4MCwgNzksIDg1LCA2NywgNzIsIDEyOCwgODAsIDc5LCA4NCwgNjUsIDg0LCA3OSwgMTI4LCAKLSAgICA4MCwgNzksIDg0LCA2NSwgNjYsIDc2LCAxOTcsIDgwLCA3OSwgMjEyLCA4MCwgNzksIDgzLCA4NCwgODAsIDc5LCA4MywgNzMsIAotICAgIDg0LCA3MywgNzksIDIwNiwgODAsIDc5LCA4MywgODQsIDY2LCA3OSwgODgsIDEyOCwgODAsIDc5LCA4MywgODQsIDY1LCAKLSAgICAyMDQsIDgwLCA3OSwgODMsIDg0LCAxMjgsIDgwLCA3OSwgODMsIDIxMiwgODAsIDc5LCA4MywgODMsIDY5LCA4MywgODMsIAotICAgIDczLCA3OSwgNzgsIDEyOCwgODAsIDc5LCA4MiwgODIsIDY5LCA2NywgODQsIDg1LCA4MywgMTI4LCA4MCwgNzksIDgyLCA4MiwgCi0gICAgNjksIDY3LCA4NCwgODUsIDIxMSwgODAsIDc5LCA4MCwgODAsIDY5LCA4MiwgMTI4LCA4MCwgNzksIDgwLCAxMjgsIDgwLCAKLSAgICA3OSwgMjA4LCA4MCwgNzksIDc5LCA2OCwgNzYsIDY5LCAxMjgsIDgwLCA3OSwgNzksIDEyOCwgODAsIDc5LCA3OCwgNjgsIAotICAgIDc5LCAxMjgsIDgwLCA3OSwgMjA2LCA4MCwgNzksIDc3LCA3NywgNjksIDY5LCAxMjgsIDgwLCA3OSwgNzcsIDc3LCA2OSwgCi0gICAgMTk3LCA4MCwgNzksIDc2LCA3MywgODMsIDcyLCAxMjgsIDgwLCA3OSwgNzYsIDczLCA2NywgMTk3LCA4MCwgNzksIDc2LCAKLSAgICAyMDEsIDgwLCA3OSwgNzYsIDY5LCAxMjgsIDgwLCA3OSwgNzYsIDE5NywgODAsIDc5LCA3NSwgODIsIDg5LCA4NCwgNzMsIAotICAgIDY5LCAxMjgsIDgwLCA3OSwgNzUsIDc5LCA3NCwgNzMsIDEyOCwgODAsIDc5LCA3MywgNzgsIDg0LCAyMTEsIDgwLCA3OSwgCi0gICAgNzMsIDc4LCA4NCwgNzksIDEyOCwgODAsIDc5LCA3MywgNzgsIDg0LCA2OSwgODIsIDEyOCwgODAsIDc5LCA3MywgNzgsIDg0LCAKLSAgICA2OSwgMTk2LCA4MCwgNzksIDczLCA3OCwgODQsIDEyOCwgODAsIDc5LCA3MywgNzgsIDIxMiwgODAsIDc5LCA2OSwgODQsIAotICAgIDgyLCAyMTcsIDgwLCA3OSwgNjksIDg0LCA3MywgMTk1LCA4MCwgNzksIDY4LCA2NSwgODQsIDg1LCA4MywgMTI4LCA4MCwgCi0gICAgNzksIDY1LCAxMjgsIDgwLCA3OSwgMTI4LCA4MCwgMjA3LCA4MCwgNzgsIDY5LCA4NSwgNzcsIDY1LCA4NCwgNjUsIDEyOCwgCi0gICAgODAsIDc2LCA4NSwgODQsIDc5LCAxMjgsIDgwLCA3NiwgODUsIDgzLCA0NSwgNzcsIDczLCA3OCwgODUsIDIxMSwgODAsIDc2LCAKLSAgICA4NSwgODMsIDEyOCwgODAsIDc2LCA4NSwgODIsIDY1LCA3NiwgMTI4LCA4MCwgNzYsIDg1LCA3NywgNjksIDE5NiwgODAsIAotICAgIDc2LCA4NSwgNzcsIDEyOCwgODAsIDc2LCA4NSwgNzUsIDEyOCwgODAsIDc2LCA4NSwgNzEsIDEyOCwgODAsIDc2LCA4NSwgCi0gICAgMTI4LCA4MCwgNzYsIDc5LCA4NywgMTI4LCA4MCwgNzYsIDc5LCA4MCwgNzIsIDg1LCAxMjgsIDgwLCA3NiwgNjksIDg0LCAKLSAgICA3MiwgODIsIDc5LCA3OCwgMTI4LCA4MCwgNzYsIDY4LCAxMjgsIDgwLCA3NiwgNjUsIDg5LCA3MywgNzgsIDE5OSwgODAsIAotICAgIDc2LCA2NSwgODMsIDg0LCA3MywgNjcsIDgzLCAxMjgsIDgwLCA3NiwgNjUsIDc4LCA2OSwgMTI4LCA4MCwgNzYsIDY1LCA3OCwgCi0gICAgMTk3LCA4MCwgNzYsIDY1LCA3OCwgNjcsIDIwMywgODAsIDc2LCA2NSwgNzUsIDEyOCwgODAsIDc2LCA2NSwgNzEsIDczLCAKLSAgICA3OSwgMjExLCA4MCwgNzYsIDY1LCA2NywgNjksIDcyLCA3OSwgNzYsIDY4LCA2OSwgMjEwLCA4MCwgNzYsIDY1LCA2NywgCi0gICAgMTk3LCA4MCwgNzYsIDY1LCAxMjgsIDgwLCA3MywgOTAsIDkwLCA3MywgNjcsIDY1LCA4NCwgNzksIDEyOCwgODAsIDczLCAKLSAgICA5MCwgOTAsIDY1LCAxMjgsIDgwLCA3MywgODgsIDEyOCwgODAsIDczLCA4NywgODIsIDEyOCwgODAsIDczLCA4NCwgNjcsIAotICAgIDcyLCA3MCwgNzksIDgyLCA3NSwgMTI4LCA4MCwgNzMsIDg0LCA2NywgNzIsIDcwLCA3OSwgODIsIDIwMywgODAsIDczLCA4NCwgCi0gICAgMTI4LCA4MCwgNzMsIDgzLCA4NCwgNzksIDc2LCAxMjgsIDgwLCA3MywgODMsIDY5LCA3NiwgNjksIDcyLCAxMjgsIDgwLCAKLSAgICA3MywgODMsIDY3LCA2OSwgODMsIDEyOCwgODAsIDczLCA4MiwgNzMsIDcxLCAxMjgsIDgwLCA3MywgODIsIDczLCAxOTksIAotICAgIDgwLCA3MywgODIsIDczLCA2OSwgNjksIDc4LCAxMjgsIDgwLCA3MywgODAsIDczLCA3OCwgNzEsIDEyOCwgODAsIDczLCA4MCwgCi0gICAgNjUsIDY5LCA3NywgNzEsIDY2LCA3MywgNjksIDY5LCAxMjgsIDgwLCA3MywgODAsIDY1LCA2OSwgNzcsIDY2LCA2NSwgMTI4LCAKLSAgICA4MCwgNzMsIDgwLCAxMjgsIDgwLCA3MywgNzgsIDg3LCA3MiwgNjksIDY5LCAyMDQsIDgwLCA3MywgNzgsIDY5LCA2NSwgODAsIAotICAgIDgwLCA3NiwgNjksIDEyOCwgODAsIDczLCA3OCwgMTk3LCA4MCwgNzMsIDc4LCA2NSwgODIsIDY2LCA3OSwgODIsIDY1LCA4MywgCi0gICAgMTI4LCA4MCwgNzMsIDc2LCA3NiwgMTI4LCA4MCwgNzMsIDc2LCAxOTcsIDgwLCA3MywgNzYsIDY3LCA4MiwgNzksIDIxNSwgCi0gICAgODAsIDczLCA3NSwgODUsIDgyLCA4NSwgMTI4LCA4MCwgNzMsIDc1LCA3OSwgMTI4LCA4MCwgNzMsIDcxLCAxMjgsIDgwLCAKLSAgICA3MywgMTk5LCA4MCwgNzMsIDY5LCA4OCwgMTI4LCA4MCwgNzMsIDY5LCA4NSwgODAsIDQ1LCA4NCwgNzIsIDczLCA2OSwgODUsIAotICAgIDg0LCA3MiwgMTI4LCA4MCwgNzMsIDY5LCA4NSwgODAsIDQ1LCA4MywgODMsIDY1LCA3OCwgNzEsIDgzLCA3MywgNzksIDgzLCAKLSAgICAxMjgsIDgwLCA3MywgNjksIDg1LCA4MCwgNDUsIDgzLCA3MywgNzksIDgzLCA0NSwgODQsIDczLCA3NSwgNjksIDg1LCA4NCwgCi0gICAgMTI4LCA4MCwgNzMsIDY5LCA4NSwgODAsIDQ1LCA4MywgNzMsIDc5LCA4MywgNDUsIDg0LCA3MiwgNzMsIDY5LCA4NSwgODQsIAotICAgIDcyLCAxMjgsIDgwLCA3MywgNjksIDg1LCA4MCwgNDUsIDgzLCA3MywgNzksIDgzLCA0NSwgODAsIDczLCA2OSwgODUsIDgwLCAKLSAgICAxMjgsIDgwLCA3MywgNjksIDg1LCA4MCwgNDUsIDgzLCA3MywgNzksIDgzLCA0NSwgNzUsIDczLCA4OSwgNjksIDc5LCA3NSwgCi0gICAgMTI4LCA4MCwgNzMsIDY5LCA4NSwgODAsIDQ1LCA4MywgNzMsIDc5LCA4MywgNDUsIDY3LCA3MywgNjksIDg1LCA2NywgMTI4LCAKLSAgICA4MCwgNzMsIDY5LCA4NSwgODAsIDQ1LCA4MiwgNzMsIDY5LCA4NSwgNzYsIDQ1LCA4MCwgNzIsIDczLCA2OSwgODUsIDgwLCAKLSAgICA3MiwgMTI4LCA4MCwgNzMsIDY5LCA4NSwgODAsIDQ1LCA4MiwgNzMsIDY5LCA4NSwgNzYsIDEyOCwgODAsIDczLCA2OSwgODUsIAotICAgIDgwLCA0NSwgNzgsIDczLCA2OSwgODUsIDc4LCAxMjgsIDgwLCA3MywgNjksIDg1LCA4MCwgNDUsIDc3LCA3MywgNjksIDg1LCAKLSAgICA3NywgMTI4LCA4MCwgNzMsIDY5LCA4NSwgODAsIDQ1LCA3NSwgNzIsIDczLCA2OSwgODUsIDc1LCA3MiwgMTI4LCA4MCwgNzMsIAotICAgIDY5LCA4NSwgODAsIDQ1LCA2NywgNzMsIDY5LCA4NSwgNjcsIDEyOCwgODAsIDczLCA2OSwgODUsIDgwLCA0NSwgNjcsIDcyLCAKLSAgICA3MywgNjksIDg1LCA2NywgNzIsIDEyOCwgODAsIDczLCA2OSwgODUsIDIwOCwgODAsIDczLCA2OSwgODQsIDEyOCwgODAsIAotICAgIDczLCA2OSwgODAsIDEyOCwgODAsIDczLCA2OSwgNjksIDg0LCAxMjgsIDgwLCA3MywgNjksIDY5LCA4MSwgMTI4LCA4MCwgCi0gICAgNzMsIDY5LCA2NywgNjksIDEyOCwgODAsIDczLCA2OSwgMTI4LCA4MCwgNzMsIDY3LCA3NSwgNjksIDg0LCAxMjgsIDgwLCAKLSAgICA3MywgNjcsIDc1LCAxMjgsIDgwLCA3MywgNjUsIDgzLCA4NSwgODQsIDc5LCA4MiwgODUsIDEyOCwgODAsIDczLCA2NSwgODMsIAotICAgIDc3LCAxOTMsIDgwLCA3MywgNjUsIDc4LCA3OSwgMTI4LCA4MCwgMjAxLCA4MCwgNzIsIDg3LCA2NSwgMTI4LCA4MCwgNzIsIAotICAgIDg1LCA4NCwgNzIsIDY1LCA3OSwgMTI4LCA4MCwgNzIsIDg1LCAyMTAsIDgwLCA3MiwgODUsIDc4LCA3MSwgMTI4LCA4MCwgCi0gICAgNzIsIDgyLCA2NSwgODMsIDY5LCAxMjgsIDgwLCA3MiwgNzksIDc4LCA2OSwgODMsIDEyOCwgODAsIDcyLCA3OSwgNjksIDc4LCAKLSAgICA3MywgNjcsIDczLCA2NSwgMjA2LCA4MCwgNzIsIDc5LCA2NSwgMTI4LCA4MCwgNzIsIDc5LCAxMjgsIDgwLCA3MiwgMjA3LCAKLSAgICA4MCwgNzIsIDc4LCA2NSwgNjksIDIwMywgODAsIDcyLCA3MywgNzgsIDg0LCA3MiwgODUsIDEyOCwgODAsIDcyLCA3MywgNzYsIAotICAgIDc5LCA4MywgNzksIDgwLCA3MiwgNjksIDgyLCAyMTEsIDgwLCA3MiwgNzMsIDc2LCA3MywgODAsIDgwLCA3MywgNzgsIDE5NywgCi0gICAgODAsIDcyLCA3MywgNjksIDg1LCA4MCwgNzIsIDQ1LCA4NCwgNzIsIDczLCA2OSwgODUsIDg0LCA3MiwgMTI4LCA4MCwgNzIsIAotICAgIDczLCA2OSwgODUsIDgwLCA3MiwgNDUsIDgzLCA3MywgNzksIDgzLCAxMjgsIDgwLCA3MiwgNzMsIDY5LCA4NSwgODAsIDcyLCAKLSAgICA0NSwgODAsIDczLCA2OSwgODUsIDgwLCAxMjgsIDgwLCA3MiwgNzMsIDY5LCA4NSwgODAsIDcyLCA0NSwgNzIsIDczLCA2OSwgCi0gICAgODUsIDcyLCAxMjgsIDgwLCA3MiwgNzMsIDY5LCA4NSwgODAsIDIwMCwgODAsIDcyLCA3MywgMTI4LCA4MCwgNzIsIDIwMSwgCi0gICAgODAsIDcyLCA2OSwgNjksIDEyOCwgODAsIDcyLCA2OSwgMTI4LCA4MCwgNzIsIDY1LCA4MywgNjksIDQ1LCAxOTgsIDgwLCAKLSAgICA3MiwgNjUsIDgzLCA2OSwgNDUsIDE5NCwgODAsIDcyLCA2NSwgODIsIDg5LCA3OCwgNzEsIDY5LCA2NSwgMjA0LCA4MCwgNzIsIAotICAgIDY1LCA4MiwgMTI4LCA4MCwgNzIsIDY1LCA3OCwgMTI4LCA4MCwgNzIsIDY1LCA3NywgMTI4LCA4MCwgNzIsIDY1LCA3MywgCi0gICAgODMsIDg0LCA3OSwgMjExLCA4MCwgNzIsIDY1LCA3MSwgODMsIDQ1LCA4MCwgMTkzLCA4MCwgNzIsIDY1LCA2NSwgODIsIDc1LCAKLSAgICA2NSwgNjUsIDEyOCwgODAsIDcyLCA2NSwgNjUsIDEyOCwgODAsIDcyLCA2NSwgMTI4LCA4MCwgNzEsIDEyOCwgODAsIDcwLCAKLSAgICAxMjgsIDgwLCA2OSwgODUsIDg4LCAxMjgsIDgwLCA2OSwgODUsIDg0LCA2NSwgNjksIDEyOCwgODAsIDY5LCA4NSwgODQsIAotICAgIDEyOCwgODAsIDY5LCA4NCwgNjUsIDgzLCA4NCwgNzksIDc1LCA3OSwgODUsIDcwLCA3MywgODMsIDc3LCA2NSwgMTI4LCA4MCwgCi0gICAgNjksIDg0LCA2NSwgODMsIDg0LCA3MywgMTI4LCA4MCwgNjksIDg0LCA2NSwgODMsIDc3LCA2NSwgMTI4LCA4MCwgNjksIDg0LCAKLSAgICA2NSwgNzYsIDc2LCA2OSwgMTk2LCA4MCwgNjksIDgzLCA3OSwgMTI4LCA4MCwgNjksIDgzLCAyMDcsIDgwLCA2OSwgODMsIAotICAgIDcyLCA1MCwgMTI4LCA4MCwgNjksIDgzLCA2OSwgODQsIDE5MywgODAsIDY5LCAyMTEsIDgwLCA2OSwgODIsIDg0LCA3MiwgCi0gICAgMjA3LCA4MCwgNjksIDgyLCA4MywgODAsIDY5LCA2NywgODQsIDczLCA4NiwgNjksIDEyOCwgODAsIDY5LCA4MiwgODMsIDc5LCAKLSAgICA3OCwgNjUsIDIwNCwgODAsIDY5LCA4MiwgODMsIDc5LCA3OCwgMTI4LCA4MCwgNjksIDgyLCA4MywgNzksIDIwNiwgODAsIAotICAgIDY5LCA4MiwgODMsIDczLCA2NSwgMjA2LCA4MCwgNjksIDgyLCA4MywgNjksIDg2LCA2OSwgODIsIDczLCA3OCwgMTk5LCA4MCwgCi0gICAgNjksIDgyLCA4MCwgNjksIDc4LCA2OCwgNzMsIDY3LCA4NSwgNzYsIDY1LCA4MiwgMTI4LCA4MCwgNjksIDgyLCA4MCwgNjksIAotICAgIDc4LCA2OCwgNzMsIDY3LCA4NSwgNzYsIDY1LCAyMTAsIDgwLCA2OSwgODIsIDc3LCA3MywgODQsIDg0LCA2OSwgMTk2LCA4MCwgCi0gICAgNjksIDgyLCA3NywgNjUsIDc4LCA2OSwgNzgsIDIxMiwgODAsIDY5LCA4MiwgNzMsIDgzLCA4MCwgNzksIDc3LCA2OSwgNzgsIAotICAgIDczLCAxMjgsIDgwLCA2OSwgODIsIDczLCA4MywgODAsIDc5LCA3NywgNjksIDc4LCAyMDEsIDgwLCA2OSwgODIsIDcwLCA3OSwgCi0gICAgODIsIDc3LCA3MywgNzgsIDE5OSwgODAsIDY5LCA4MiwgNzAsIDY5LCA2NywgODQsIDg1LCAyMDUsIDgwLCA2OSwgODIsIDcwLCAKLSAgICA2OSwgNjcsIDg0LCA2NSwgMTI4LCA4MCwgNjksIDgyLCA3MCwgNjksIDY3LCA4NCwgMTkzLCA4MCwgNjksIDgyLCA2NywgODUsIAotICAgIDgzLCA4MywgNzMsIDg2LCA2OSwgMTI4LCA4MCwgNjksIDgyLCA2NywgNjksIDc4LCAyMTIsIDgwLCA2OSwgODAsIDY5LCA4NCwgCi0gICAgMTI4LCA4MCwgNjksIDgwLCA2OSwgMjEyLCA4MCwgNjksIDc5LCA4MiwgODQsIDIwMCwgODAsIDY5LCA3OSwgODAsIDc2LCAKLSAgICA2OSwgMTI4LCA4MCwgNjksIDc4LCA4NCwgNjUsIDgzLCA2OSwgNzcsIDY5LCAxMjgsIDgwLCA2OSwgNzgsIDg0LCA2NSwgNzEsIAotICAgIDgyLCA2NSwgNzcsIDEyOCwgODAsIDY5LCA3OCwgODQsIDY1LCA3MSwgNzksIDc4LCAxMjgsIDgwLCA2OSwgNzgsIDgzLCA4NSwgCi0gICAgMTI4LCA4MCwgNjksIDc4LCA4MywgNzMsIDg2LCAxOTcsIDgwLCA2OSwgNzgsIDc4LCAyMTcsIDgwLCA2OSwgNzgsIDczLCAKLSAgICA3MiwgNzMsIDEyOCwgODAsIDY5LCA3OCwgNzEsIDg1LCA3MywgNzgsIDEyOCwgODAsIDY5LCA3OCwgNzEsIDc1LCA2NSwgNzYsIAotICAgIDEyOCwgODAsIDY5LCA3OCwgNjksIDg0LCA4MiwgNjUsIDg0LCA3MywgNzksIDc4LCAxMjgsIDgwLCA2OSwgNzgsIDY3LCA3MywgCi0gICAgNzYsIDEyOCwgODAsIDY5LCA3NiwgNjUsIDgzLCA4NCwgNzksIDc4LCAxMjgsIDgwLCA2OSwgNzYsIDY1LCA4MywgODQsIDc5LCAKLSAgICAyMDYsIDgwLCA2OSwgNzMsIDg0LCA3MiwgMTI4LCA4MCwgNjksIDcyLCA2OSwgNzIsIDEyOCwgODAsIDY5LCA3MiwgNjksIAotICAgIDIwMCwgODAsIDY5LCA3MiwgMTI4LCA4MCwgNjksIDIwMCwgODAsIDY5LCA2OSwgOTAsIDczLCAxMjgsIDgwLCA2OSwgNjksIAotICAgIDgzLCA3MiwgNzMsIDEyOCwgODAsIDY5LCA2OSwgODAsIDEyOCwgODAsIDY5LCA2OSwgNzcsIDEyOCwgODAsIDY5LCA2OSwgCi0gICAgMTI4LCA4MCwgNjksIDY4LCA2OSwgODMsIDg0LCA4MiwgNzMsIDY1LCA3OCwgODMsIDEyOCwgODAsIDY5LCA2OCwgNjksIDgzLCAKLSAgICA4NCwgODIsIDczLCA2NSwgNzgsIDEyOCwgODAsIDY5LCA2OCwgNjksIDgzLCA4NCwgNjUsIDc2LCAxMjgsIDgwLCA2OSwgNjgsIAotICAgIDY5LCA4MywgODQsIDY1LCAyMDQsIDgwLCA2OSwgNjgsIDY1LCAyMDQsIDgwLCA2OSwgNjUsIDY3LCA3MiwgMTI4LCA4MCwgCi0gICAgNjksIDY1LCA2NywgNjksIDEyOCwgODAsIDY5LCA2NSwgNjcsIDE5NywgODAsIDY4LCA3MywgMTI4LCA4MCwgNjgsIDcwLCAKLSAgICAxMjgsIDgwLCA2OCwgMTI4LCA4MCwgNjcsIDEyOCwgODAsIDY1LCA5MCwgNjksIDgyLCAxMjgsIDgwLCA2NSwgODksIDY5LCAKLSAgICA4MiwgNzksIDc1LCAxMjgsIDgwLCA2NSwgODksIDY1LCA3OCwgNzgsIDY1LCAxMjgsIDgwLCA2NSwgODksIDEyOCwgODAsIAotICAgIDY1LCA4OCwgMTI4LCA4MCwgNjUsIDg3LCA3OCwgMTI4LCA4MCwgNjUsIDIxNSwgODAsIDY1LCA4NiwgNzMsIDg5LCA2NSwgCi0gICAgNzgsIDczLCAxMjgsIDgwLCA2NSwgODUsIDEyOCwgODAsIDY1LCA4NCwgODQsIDY5LCA4MiwgNzgsIDEyOCwgODAsIDY1LCAKLSAgICA4NCwgNzIsIDY1LCA3NywgNjUsIDgzLCA2NSwgODQsIDEyOCwgODAsIDY1LCA4NCwgMjAwLCA4MCwgNjUsIDg0LCA2NSwgNzUsIAotICAgIDEyOCwgODAsIDY1LCA4NCwgNjUsIDcyLCAxMjgsIDgwLCA2NSwgODQsIDEyOCwgODAsIDY1LCA4MywgODUsIDgxLCAxMjgsIAotICAgIDgwLCA2NSwgODMsIDgzLCA4MCwgNzksIDgyLCAyMTIsIDgwLCA2NSwgODMsIDgzLCA3MywgODYsIDY5LCA0NSwgODAsIDg1LCAKLSAgICA3NiwgNzYsIDQ1LCA4NSwgODAsIDQ1LCA3OSwgODUsIDg0LCA4MCwgODUsIDIxMiwgODAsIDY1LCA4MywgODMsIDczLCA4NiwgCi0gICAgNjksIDQ1LCA4MCwgODUsIDc2LCA3NiwgNDUsIDY4LCA3OSwgODcsIDc4LCA0NSwgNzksIDg1LCA4NCwgODAsIDg1LCAyMTIsIAotICAgIDgwLCA2NSwgODMsIDcyLCA4NCwgNjUsIDEyOCwgODAsIDY1LCA4MywgNzIsIDY1LCA2OSwgMTI4LCA4MCwgNjUsIDgzLCA2OSwgCi0gICAgODEsIDEyOCwgODAsIDY1LCA4MywgNjUsIDc4LCA3MSwgNjUsIDIwNiwgODAsIDY1LCA4MiwgODUsIDc3LCAxMjgsIDgwLCAKLSAgICA2NSwgODIsIDg0LCAyMTcsIDgwLCA2NSwgODIsIDg0LCA3OCwgNjksIDgyLCA4MywgNzIsIDczLCAyMDgsIDgwLCA2NSwgODIsIAotICAgIDg0LCA3MywgNjUsIDc2LCA3NiwgODksIDQ1LCA4MiwgNjksIDY3LCA4OSwgNjcsIDc2LCA2OSwgMTk2LCA4MCwgNjUsIDgyLCAKLSAgICA4NCwgNzMsIDY1LCAyMDQsIDgwLCA2NSwgODIsIDg0LCA3MiwgNzMsIDY1LCAyMDYsIDgwLCA2NSwgODIsIDIxMiwgODAsIAotICAgIDY1LCA4MiwgNzMsIDY3LCA3MiwgNzksIDc4LCAxMjgsIDgwLCA2NSwgODIsIDY5LCA4MywgODQsIDczLCA3MSwgNzcsIDY5LCAKLSAgICA3OCwgNzksIDIwNiwgODAsIDY1LCA4MiwgNjksIDgyLCA2OSwgNzgsIDEyOCwgODAsIDY1LCA4MiwgNjksIDc4LCA4NCwgNzIsIAotICAgIDY5LCA4MywgNzMsIDgzLCAxMjgsIDgwLCA2NSwgODIsIDY5LCA3OCwgODQsIDcyLCA2OSwgODMsIDczLCAyMTEsIDgwLCA2NSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDgyLCA2NSwgODMsIDE5NywgODAsIDY1LCA4MiwgNjUsIDc2LCA3NiwgNjksIDc2LCA3OSwgNzEsIAotICAgIDgyLCA2NSwgNzcsIDEyOCwgODAsIDY1LCA4MiwgNjUsIDc2LCA3NiwgNjksIDc2LCAxMjgsIDgwLCA2NSwgODIsIDY1LCA3NiwgCi0gICAgNzYsIDY5LCAyMDQsIDgwLCA2NSwgODIsIDY1LCA3NSwgNzYsIDczLCA4NCwgNzMsIDc1LCA3MywgMTI4LCA4MCwgNjUsIDgyLCAKLSAgICA2NSwgNzUsIDc2LCA3MywgODQsIDczLCA3NSwgMjAxLCA4MCwgNjUsIDgyLCA2NSwgNzUsIDY1LCA3NiwgNjksIDgzLCA3NywgCi0gICAgMTkzLCA4MCwgNjUsIDgyLCA2NSwgNzEsIDgyLCA2NSwgODAsIDcyLCA3OSwgODMsIDEyOCwgODAsIDY1LCA4MiwgNjUsIDcxLCAKLSAgICA4MiwgNjUsIDgwLCA3MiwgMTI4LCA4MCwgNjUsIDgyLCA2NSwgNzEsIDgyLCA2NSwgODAsIDIwMCwgODAsIDY1LCA4MiwgNjUsIAotICAgIDEyOCwgODAsIDY1LCA4MiwgMTI4LCA4MCwgNjUsIDgwLCA4OSwgODIsIDg1LCA4MywgMTI4LCA4MCwgNjUsIDgwLCA2OSwgCi0gICAgODIsIDY3LCA3NiwgNzMsIDgwLCAxMjgsIDgwLCA2NSwgODAsIDY5LCAyMTAsIDgwLCA2NSwgODAsIDEyOCwgODAsIDY1LCAKLSAgICAyMDgsIDgwLCA2NSwgMjA3LCA4MCwgNjUsIDc4LCA4OSwgODUsIDc1LCA4NSwgMTI4LCA4MCwgNjUsIDc4LCA4OSwgNzMsIAotICAgIDc1LCA4NSwgMTI4LCA4MCwgNjUsIDc4LCA4OSwgNjksIDY3LCA2OSwgNzUsIDEyOCwgODAsIDY1LCA3OCwgODksIDY1LCA3OCwgCi0gICAgNzEsIDcxLCA2NSwgMTI4LCA4MCwgNjUsIDc4LCA4OSwgNjUsIDc1LCA4MiwgNjUsIDEyOCwgODAsIDY1LCA3OCwgODQsIDczLCAKLSAgICAxMjgsIDgwLCA2NSwgNzgsIDgzLCA3MywgNzksIDgzLCA0NSwgODAsIDczLCA2OSwgODUsIDgwLCAxMjgsIDgwLCA2NSwgNzgsIAotICAgIDgzLCA3MywgNzksIDgzLCA0NSwgNzUsIDY1LCA4MCwgODksIDY5LCA3OSwgODUsIDc4LCA4MCwgNzMsIDY5LCA4NSwgODAsIAotICAgIDEyOCwgODAsIDY1LCA3OCwgNzksIDc4LCA3MSwgNzksIDc4LCA2NSwgNzgsIDEyOCwgODAsIDY1LCA3OCwgNzksIDc2LCA3OSwgCi0gICAgNzgsIDcxLCAxMjgsIDgwLCA2NSwgNzgsIDcxLCA4NywgNzMsIDgzLCA2NSwgNjgsIDEyOCwgODAsIDY1LCA3OCwgNzEsIDgyLCAKLSAgICA2NSwgNzgsIDcxLCA3NSwgNjksIDgwLCAxMjgsIDgwLCA2NSwgNzgsIDcxLCA3OSwgNzYsIDY1LCA4NCwgMTI4LCA4MCwgNjUsIAotICAgIDc4LCA3MSwgNzYsIDc5LCA3OCwgNzEsIDEyOCwgODAsIDY1LCA3OCwgNzEsIDc2LCA2NSwgODksIDY1LCA4MiwgMTI4LCA4MCwgCi0gICAgNjUsIDc4LCA3MSwgNzUsIDc5LCA3OCwgMTI4LCA4MCwgNjUsIDc4LCA3MSwgNzUsIDY1LCA4NCwgMTI4LCA4MCwgNjUsIDc4LCAKLSAgICA3MSwgNzIsIDg1LCA3NiwgODUsIDEyOCwgODAsIDY1LCA3OCwgNzEsIDEyOCwgODAsIDY1LCA3OCwgNjksIDg1LCA3NiwgNjksIAotICAgIDg1LCA3OCwgNzEsIDEyOCwgODAsIDY1LCA3OCwgNjgsIDE5MywgODAsIDY1LCA3OCwgNjUsIDY5LCA3NiwgNjUsIDY5LCA3OCwgCi0gICAgNzEsIDEyOCwgODAsIDY1LCA3OCwgMTI4LCA4MCwgNjUsIDc3LCA4NSwgNzgsIDcxLCA3NSwgNjUsIDcyLCAxMjgsIDgwLCAKLSAgICA2NSwgNzcsIDg1LCA2OCwgODAsIDc5LCA2OCwgMTI4LCA4MCwgNjUsIDc3LCA4MywgNzIsIDY1LCA2OSwgMTI4LCA4MCwgNjUsIAotICAgIDc3LCA4MCwgNzIsIDg5LCA3NiwgNzMsIDY1LCAyMDYsIDgwLCA2NSwgNzcsIDczLCA3OCwgNzEsIDc1LCA2NSwgNzYsIDEyOCwgCi0gICAgODAsIDY1LCA3NywgNjksIDgwLCA2OSwgODQsIDEyOCwgODAsIDY1LCA3NywgNjksIDc4LCA2OSwgNzgsIDcxLCAxMjgsIDgwLCAKLSAgICA2NSwgNzcsIDY1LCA2OCwgNjUsIDEyOCwgODAsIDY1LCA3NywgNjUsIDY1LCA2OSwgNzIsIDEyOCwgODAsIDY1LCA3NiwgODUsIAotICAgIDg0LCA2NSwgMTI4LCA4MCwgNjUsIDc2LCA3OSwgNjcsIDcyLCA3NSwgNjUsIDEyOCwgODAsIDY1LCA3NiwgMjA1LCA4MCwgCi0gICAgNjUsIDc2LCA3NiwgNjUsIDg3LCA2NSwgMTI4LCA4MCwgNjUsIDc2LCA3NiwgNjUsIDgzLCAxMjgsIDgwLCA2NSwgNzYsIDY5LCAKLSAgICA4NCwgODQsIDY5LCAxMjgsIDgwLCA2NSwgNzYsIDY1LCA4NSwgNzgsIDE5OSwgODAsIDY1LCA3NiwgNjUsIDg0LCA2NSwgNzYsIAotICAgIDczLCA5MCwgNjksIDE5NiwgODAsIDY1LCA3NiwgNjUsIDg0LCA2NSwgNzYsIDczLCA5MCwgNjUsIDg0LCA3MywgNzksIDc4LCAKLSAgICAxMjgsIDgwLCA2NSwgNzYsIDY1LCA4NCwgNjUsIDIwNCwgODAsIDY1LCA3NSwgODAsIDY1LCAyMDMsIDgwLCA2NSwgNzMsIAotICAgIDg5LCA2NSwgNzgsIDc4LCA3OSwgNzMsIDEyOCwgODAsIDY1LCA3MywgODIsIDg0LCA3MiwgODIsIDY1LCAxMjgsIDgwLCA2NSwgCi0gICAgNzMsIDgyLCA2OSwgMTk2LCA4MCwgNjUsIDczLCAxMjgsIDgwLCA2NSwgNzIsIDc2LCA2NSwgODYsIDIwMSwgODAsIDY1LCAKLSAgICA3MiwgMTI4LCA4MCwgNjUsIDcxLCA2OSwgODIsIDEyOCwgODAsIDY1LCA3MSwgMTk3LCA4MCwgNjUsIDY4LCA3NywgMTkzLCAKLSAgICA4MCwgNjUsIDY4LCA2OCwgNzMsIDc4LCAxOTksIDgwLCA2NSwgNjgsIDE5MywgODAsIDY1LCA2OCwgMTI4LCA4MCwgNjUsIAotICAgIDY3LCA3NSwgNzMsIDc4LCA3MSwgMTI4LCA4MCwgNjUsIDY3LCA3NSwgNjUsIDcxLCA2OSwgMTI4LCA4MCwgNjUsIDY1LCA4NCwgCi0gICAgODUsIDEyOCwgODAsIDY1LCA2NSwgODMsIDY5LCA3OCwgODQsIDc5LCAxMjgsIDgwLCA2NSwgNjUsIDgyLCA2NSwgNjksIAotICAgIDEyOCwgODAsIDY1LCA2NSwgNzcsIDEyOCwgODAsIDY1LCA2NSwgNzMsIDEyOCwgODAsIDY1LCA2NSwgNDUsIDgwLCA3MywgCi0gICAgNzYsIDc2LCA2NSwgMTI4LCA4MCwgNjUsIDY1LCAxMjgsIDgwLCA1MCwgMTI4LCA4MCwgNDgsIDQ5LCA0OSwgMTI4LCA4MCwgCi0gICAgNDgsIDQ5LCA0OCwgMTI4LCA4MCwgNDgsIDQ4LCA1NywgMTI4LCA4MCwgNDgsIDQ4LCA1NiwgMTI4LCA4MCwgNDgsIDQ4LCAKLSAgICA1NSwgMTI4LCA4MCwgNDgsIDQ4LCA1NCwgMTI4LCA4MCwgNDgsIDQ4LCA1MywgMTI4LCA4MCwgNDgsIDQ4LCA1MiwgMTI4LCAKLSAgICA4MCwgNDgsIDQ4LCA1MSwgNjUsIDEyOCwgODAsIDQ4LCA0OCwgNTEsIDEyOCwgODAsIDQ4LCA0OCwgNTAsIDEyOCwgODAsIAotICAgIDQ4LCA0OCwgNDksIDY1LCAxMjgsIDgwLCA0OCwgNDgsIDQ5LCAxMjgsIDc5LCA4OSwgODIsIDY1LCA3OCwgNzMsIDgzLCA3NywgCi0gICAgMTkzLCA3OSwgODksIDY1LCA3OCwgNzgsIDY1LCAxMjgsIDc5LCA4OCwgNzMsIDY1LCAxMjgsIDc5LCA4OCwgNzMsIDE5MywgCi0gICAgNzksIDg4LCA2OSwgNzMsIDY1LCAyMDEsIDc5LCA4OCwgNjksIDczLCAxOTMsIDc5LCA4NiwgNjksIDgyLCA4MiwgNzMsIDY4LCAKLSAgICA2OSwgMTI4LCA3OSwgODYsIDY5LCA4MiwgNzYsIDc5LCA3OCwgMTk5LCA3OSwgODYsIDY5LCA4MiwgNzYsIDczLCA3OCwgNjksIAorICAgIDg0LCA0NSwgODAsIDc5LCA3MywgNzgsIDg0LCA3MywgNzgsIDE5OSwgODIsIDczLCA3MSwgNzIsIDg0LCA0NSwgNzYsIDczLCAKKyAgICA3MSwgNzIsIDg0LCA2OSwgMTk2LCA4MiwgNzMsIDcxLCA3MiwgODQsIDQ1LCA3MiwgNjUsIDc4LCA2OCwgNjksIDE5NiwgODIsIAorICAgIDczLCA3MSwgNzIsIDg0LCA0NSwgNzIsIDY1LCA3OCwgMTk2LCA4MiwgNzMsIDcxLCA3MiwgODQsIDQ1LCA3MCwgNjUsIDY3LCAKKyAgICA3MywgNzgsIDE5OSwgODIsIDczLCA3MSwgNzIsIDg0LCAxMjgsIDgyLCA3MywgNjksIDg1LCA3NiwgNDUsIDg5LCA2OSwgODMsIAorICAgIDczLCA2OSwgODUsIDc4LCA3MSwgMTI4LCA4MiwgNzMsIDY5LCA4NSwgNzYsIDQ1LCA4OSwgNjksIDc5LCA4MiwgNzMsIDc4LCAKKyAgICA3MiwgNzMsIDY5LCA4NSwgNzIsIDQ1LCA3MiwgNzMsIDY5LCA4NSwgNzIsIDEyOCwgODIsIDczLCA2OSwgODUsIDc2LCA0NSwgCisgICAgODksIDY5LCA3OSwgODIsIDczLCA3OCwgNzIsIDczLCA2OSwgODUsIDcyLCAxMjgsIDgyLCA3MywgNjksIDg1LCA3NiwgNDUsIAorICAgIDg0LCA3MywgNzUsIDY5LCA4NSwgODQsIDQ1LCA3MiwgNzMsIDY5LCA4NSwgNzIsIDEyOCwgODIsIDczLCA2OSwgODUsIDc2LCAKKyAgICA0NSwgODQsIDczLCA3NSwgNjksIDg1LCA4NCwgMTI4LCA4MiwgNzMsIDY5LCA4NSwgNzYsIDQ1LCA4NCwgNzIsIDczLCA2OSwgCisgICAgODUsIDg0LCA3MiwgMTI4LCA4MiwgNzMsIDY5LCA4NSwgNzYsIDQ1LCA4MywgODMsIDY1LCA3OCwgNzEsIDg0LCA3MywgNzUsIAorICAgIDY5LCA4NSwgODQsIDEyOCwgODIsIDczLCA2OSwgODUsIDc2LCA0NSwgODMsIDgzLCA2NSwgNzgsIDcxLCA4MywgNzMsIDc5LCAKKyAgICA4MywgMTI4LCA4MiwgNzMsIDY5LCA4NSwgNzYsIDQ1LCA4MywgODMsIDY1LCA3OCwgNzEsIDgwLCA3MywgNjksIDg1LCA4MCwgCisgICAgMTI4LCA4MiwgNzMsIDY5LCA4NSwgNzYsIDQ1LCA4MywgODMsIDY1LCA3OCwgNzEsIDc1LCA3MywgODksIDY5LCA3OSwgNzUsIAorICAgIDEyOCwgODIsIDczLCA2OSwgODUsIDc2LCA0NSwgODMsIDczLCA3OSwgODMsIDEyOCwgODIsIDczLCA2OSwgODUsIDc2LCA0NSwgCisgICAgODAsIDczLCA2OSwgODUsIDgwLCA0NSwgODQsIDczLCA3NSwgNjksIDg1LCA4NCwgMTI4LCA4MiwgNzMsIDY5LCA4NSwgNzYsIAorICAgIDQ1LCA4MCwgNzMsIDY5LCA4NSwgODAsIDQ1LCA4MywgNzMsIDc5LCA4MywgMTI4LCA4MiwgNzMsIDY5LCA4NSwgNzYsIDQ1LCAKKyAgICA4MCwgNzMsIDY5LCA4NSwgODAsIDQ1LCA4MCwgNzIsIDczLCA2OSwgODUsIDgwLCA3MiwgMTI4LCA4MiwgNzMsIDY5LCA4NSwgCisgICAgNzYsIDQ1LCA4MCwgNzMsIDY5LCA4NSwgODAsIDQ1LCA3MiwgNzMsIDY5LCA4NSwgNzIsIDEyOCwgODIsIDczLCA2OSwgODUsIAorICAgIDc2LCA0NSwgODAsIDczLCA2OSwgODUsIDgwLCAxMjgsIDgyLCA3MywgNjksIDg1LCA3NiwgNDUsIDgwLCA3MiwgNzMsIDY5LCAKKyAgICA4NSwgODAsIDcyLCAxMjgsIDgyLCA3MywgNjksIDg1LCA3NiwgNDUsIDgwLCA2NSwgNzgsIDgzLCA3MywgNzksIDgzLCAxMjgsIAorICAgIDgyLCA3MywgNjksIDg1LCA3NiwgNDUsIDc4LCA3MywgNjksIDg1LCA3OCwgMTI4LCA4MiwgNzMsIDY5LCA4NSwgNzYsIDQ1LCAKKyAgICA3NywgNzMsIDY5LCA4NSwgNzcsIDQ1LCA4MywgNzMsIDc5LCA4MywgMTI4LCA4MiwgNzMsIDY5LCA4NSwgNzYsIDQ1LCA3NywgCisgICAgNzMsIDY5LCA4NSwgNzcsIDQ1LCA3NSwgNzMsIDg5LCA2OSwgNzksIDc1LCAxMjgsIDgyLCA3MywgNjksIDg1LCA3NiwgNDUsIAorICAgIDc3LCA3MywgNjksIDg1LCA3NywgNDUsIDcyLCA3MywgNjksIDg1LCA3MiwgMTI4LCA4MiwgNzMsIDY5LCA4NSwgNzYsIDQ1LCAKKyAgICA3NywgNzMsIDY5LCA4NSwgNzcsIDEyOCwgODIsIDczLCA2OSwgODUsIDc2LCA0NSwgNzUsIDczLCA4OSwgNjksIDc5LCA3NSwgCisgICAgNDUsIDgzLCA3MywgNzksIDgzLCAxMjgsIDgyLCA3MywgNjksIDg1LCA3NiwgNDUsIDc1LCA3MywgODksIDY5LCA3OSwgNzUsIAorICAgIDQ1LCA3MiwgNzMsIDY5LCA4NSwgNzIsIDEyOCwgODIsIDczLCA2OSwgODUsIDc2LCA0NSwgNzUsIDczLCA4OSwgNjksIDc5LCAKKyAgICA3NSwgMTI4LCA4MiwgNzMsIDY5LCA4NSwgNzYsIDQ1LCA3NSwgNjUsIDgwLCA4OSwgNjksIDc5LCA4NSwgNzgsIDgwLCA3MywgCisgICAgNjksIDg1LCA4MCwgMTI4LCA4MiwgNzMsIDY5LCA4NSwgNzYsIDQ1LCA3MiwgNzMsIDY5LCA4NSwgNzIsIDEyOCwgODIsIDczLCAKKyAgICA2OSwgODUsIDc2LCA0NSwgNjcsIDczLCA2OSwgODUsIDY3LCAxMjgsIDgyLCA3MywgNjksIDg1LCAyMDQsIDgyLCA3MywgNjksIAorICAgIDc2LCAxMjgsIDgyLCA3MywgNjksIDY5LCAxMjgsIDgyLCA3MywgNjcsIDY5LCA3NywgMTI4LCA4MiwgNzMsIDY3LCA2OSwgCisgICAgMTI4LCA4MiwgNzMsIDY3LCAxOTcsIDgyLCA3MywgNjYsIDY2LCA3OSwgNzgsIDEyOCwgODIsIDczLCA2NiwgNjYsIDc5LCAKKyAgICAyMDYsIDgyLCA3MywgNjUsIDIwNCwgODIsIDcyLCA3OSwgODQsIDczLCAxOTUsIDgyLCA3MiwgNzksIDEyOCwgODIsIDcyLCAKKyAgICAyMDcsIDgyLCA3MiwgNjUsIDEyOCwgODIsIDcyLCAxMjgsIDgyLCA3MSwgODksIDczLCA3OCwgNzEsIDgzLCAxMjgsIDgyLCAKKyAgICA3MSwgODksIDY1LCA3OCwgMTI4LCA4MiwgNzEsIDg5LCAxOTMsIDgyLCA2OSwgODYsIDc5LCA3NiwgODYsIDczLCA3OCwgCisgICAgMTk5LCA4MiwgNjksIDg2LCA3OSwgNzYsIDg1LCA4NCwgNzMsIDc5LCA3OCwgMTI4LCA4MiwgNjksIDg2LCA3NywgNjUsIAorICAgIDEyOCwgODIsIDY5LCA4NiwgNzMsIDY1LCAxMjgsIDgyLCA2OSwgODYsIDY5LCA4MiwgODMsIDY5LCA2OCwgNDUsIDgzLCA2NywgCisgICAgNzIsIDg3LCA2NSwgMTI4LCA4MiwgNjksIDg2LCA2OSwgODIsIDgzLCA2OSwgNjgsIDEyOCwgODIsIDY5LCA4NiwgNjksIDgyLCAKKyAgICA4MywgNjksIDE5NiwgODIsIDY5LCA4NiwgNjksIDgyLCA4MywgMTk3LCA4MiwgNjksIDg1LCA4OCwgMTI4LCA4MiwgNjksIAorICAgIDg1LCAxMjgsIDgyLCA2OSwgODQsIDg1LCA4MiwgNzgsIDEyOCwgODIsIDY5LCA4NCwgODUsIDgyLCAyMDYsIDgyLCA2OSwgCisgICAgODQsIDgyLCA3OSwgNzAsIDc2LCA2OSwgMjE2LCA4MiwgNjksIDg0LCA4MiwgNjksIDY1LCA4NCwgMTI4LCA4MiwgNjksIDg0LCAKKyAgICA3OSwgODIsIDg0LCAxMjgsIDgyLCA2OSwgODMsIDg1LCA4MCwgNzMsIDc4LCA4NSwgODMsIDEyOCwgODIsIDY5LCA4MywgODQsIAorICAgIDgyLCA3OSwgNzksIDc3LCAxMjgsIDgyLCA2OSwgODMsIDg0LCA4MiwgNzMsIDY3LCA4NCwgNjksIDE5NiwgODIsIDY5LCA4MywgCisgICAgODQsIDEyOCwgODIsIDY5LCA4MywgODAsIDc5LCA3OCwgODMsIDY5LCAxMjgsIDgyLCA2OSwgODMsIDc5LCA4NSwgODIsIDY3LCAKKyAgICA2OSwgMTI4LCA4MiwgNjksIDgzLCA3OSwgNzYsIDg1LCA4NCwgNzMsIDc5LCA3OCwgMTI4LCA4MiwgNjksIDgzLCA3MywgODMsIAorICAgIDg0LCA2NSwgNzgsIDY3LCA2OSwgMTI4LCA4MiwgNjksIDgzLCA3MywgNjgsIDY5LCA3OCwgNjcsIDY5LCAxMjgsIDgyLCA2OSwgCisgICAgODMsIDIwMCwgODIsIDY5LCA4MiwgNjksIDc4LCA3MSwgNzEsIDY1LCA3OCwgMTI4LCA4MiwgNjksIDgyLCA2OSwgNzUsIDY1LCAKKyAgICA3OCwgMTI4LCA4MiwgNjksIDgwLCA4MiwgNjksIDgzLCA2OSwgNzgsIDg0LCAxMjgsIDgyLCA2OSwgODAsIDc2LCA2NSwgNjcsIAorICAgIDY5LCA3NywgNjksIDc4LCAyMTIsIDgyLCA2OSwgODAsIDcyLCAxMjgsIDgyLCA2OSwgODAsIDY5LCA4NCwgNzMsIDg0LCA3MywgCisgICAgNzksIDIwNiwgODIsIDY5LCA4MCwgNjksIDY1LCA4NCwgNjksIDE5NiwgODIsIDY5LCA4MCwgNjksIDY1LCA4NCwgMTI4LCAKKyAgICA4MiwgNjksIDgwLCA2OSwgNjUsIDIxMiwgODIsIDY5LCA4MCwgNjUsIDg5LCA2NSwgMTI4LCA4MiwgNjksIDgwLCA2NSwgCisgICAgMTI4LCA4MiwgNjksIDgwLCAxOTMsIDgyLCA2OSwgNzgsIDg0LCA3OSwgNzEsIDY5LCA3OCwgMTI4LCA4MiwgNjksIDc4LCAKKyAgICAxMjgsIDgyLCA2OSwgMjA2LCA4MiwgNjksIDc3LCA4NSwgMTI4LCA4MiwgNjksIDc3LCA3MywgNzgsIDY4LCA2OSwgMjEwLCAKKyAgICA4MiwgNjksIDc3LCA2OSwgNjgsIDg5LCAxMjgsIDgyLCA2OSwgNzYsIDczLCA3MSwgNzMsIDc5LCA3OCwgMTI4LCA4MiwgNjksIAorICAgIDc2LCA3MywgNjksIDg2LCA2OSwgMTk2LCA4MiwgNjksIDc2LCA2OSwgNjUsIDgzLCA2OSwgMTI4LCA4MiwgNjksIDc2LCA2NSwgCisgICAgODQsIDczLCA3OSwgNzgsIDY1LCAyMDQsIDgyLCA2OSwgNzYsIDY1LCA4NCwgNzMsIDc5LCA3OCwgMTI4LCA4MiwgNjksIDc2LCAKKyAgICA2NSwgNjUsIDEyOCwgODIsIDY5LCA3NCwgNjUsIDc4LCAxOTksIDgyLCA2OSwgNzMsIDE5NiwgODIsIDY5LCA3MywgMTI4LCAKKyAgICA4MiwgNjksIDcxLCA4NSwgNzYsIDg1LCA4MywgNDUsIDUyLCAxMjgsIDgyLCA2OSwgNzEsIDg1LCA3NiwgODUsIDgzLCA0NSwgCisgICAgNTEsIDEyOCwgODIsIDY5LCA3MSwgODUsIDc2LCA4NSwgODMsIDQ1LCA1MCwgMTI4LCA4MiwgNjksIDcxLCA4NSwgNzYsIDg1LCAKKyAgICA4MywgMTI4LCA4MiwgNjksIDcxLCA4NSwgNzYsIDg1LCAyMTEsIDgyLCA2OSwgNzEsIDczLCA4MywgODQsIDY5LCA4MiwgNjksIAorICAgIDE5NiwgODIsIDY5LCA3MSwgNzMsIDc5LCA3OCwgNjUsIDIwNCwgODIsIDY5LCA3MSwgNzMsIDY1LCA0NSwgNTAsIDEyOCwgCisgICAgODIsIDY5LCA3MSwgNzMsIDY1LCAxMjgsIDgyLCA2OSwgNzAsIDc5LCA4MiwgNzcsIDY5LCAxOTYsIDgyLCA2OSwgNzAsIDY5LCAKKyAgICA4MiwgNjksIDc4LCA2NywgMTk3LCA4MiwgNjksIDY4LCA4NSwgODAsIDc2LCA3MywgNjcsIDY1LCA4NCwgNzMsIDc5LCA3OCwgCisgICAgMTI4LCA4MiwgNjksIDY3LCA4OSwgNjcsIDc2LCA3MywgNzgsIDE5OSwgODIsIDY5LCA2NywgODksIDY3LCA3NiwgNjksIAorICAgIDE5NiwgODIsIDY5LCA2NywgODQsIDczLCA3NiwgNzMsIDc4LCA2OSwgNjUsIDIxMCwgODIsIDY5LCA2NywgODQsIDY1LCA3OCwgCisgICAgNzEsIDg1LCA3NiwgNjUsIDIxMCwgODIsIDY5LCA2NywgODQsIDY1LCA3OCwgNzEsIDc2LCA2OSwgMTI4LCA4MiwgNjksIDY3LCAKKyAgICA4NCwgNjUsIDc4LCA3MSwgNzYsIDE5NywgODIsIDY5LCA2NywgODIsIDY5LCA2NSwgODQsIDczLCA3OSwgNzgsIDY1LCAyMDQsIAorICAgIDgyLCA2OSwgNjcsIDc5LCA4MiwgNjgsIDczLCA3OCwgMTk5LCA4MiwgNjksIDY3LCA3OSwgODIsIDY4LCA2OSwgODIsIDEyOCwgCisgICAgODIsIDY5LCA2NywgNzksIDgyLCA2OCwgMTI4LCA4MiwgNjksIDY3LCA3OSwgODIsIDE5NiwgODIsIDY5LCA2NywgNjksIDgwLCAKKyAgICA4NCwgNzMsIDg2LCAxOTcsIDgyLCA2OSwgNjcsIDY5LCA3MywgODYsIDY5LCA4MiwgMTI4LCA4MiwgNjksIDY3LCA2OSwgNzMsIAorICAgIDg2LCA2OSwgMjEwLCA4MiwgNjksIDY1LCA3NiwgNzEsIDY1LCA4MiwgNDUsIDUwLCAxMjgsIDgyLCA2OSwgNjUsIDc2LCA3MSwgCisgICAgNjUsIDgyLCAxMjgsIDgyLCA2OSwgNjUsIDcyLCA3NywgODUsIDc1LCAxMjgsIDgyLCA2OSwgNjUsIDY3LCA3MiwgMTI4LCAKKyAgICA4MiwgNjgsIDIwNywgODIsIDY4LCA2OSwgMjA0LCA4MiwgNjYsIDY1LCA4MywgMTkzLCA4MiwgNjUsIDg5LCA4MywgMTI4LCAKKyAgICA4MiwgNjUsIDg5LCAyMTEsIDgyLCA2NSwgODksIDY1LCA3OCwgNzgsIDY1LCAxMjgsIDgyLCA2NSwgODQsIDczLCA3OSwgCisgICAgMTI4LCA4MiwgNjUsIDg0LCA3MiwgNjUsIDEyOCwgODIsIDY1LCA4NCwgNzIsIDE5MywgODIsIDY1LCA4NCwgNjUsIDEyOCwgCisgICAgODIsIDY1LCA4NCwgMTI4LCA4MiwgNjUsIDgzLCA4NywgNjUsIDY4LCA3MywgMTI4LCA4MiwgNjUsIDgzLCA3OSwgODUsIAorICAgIDIwNCwgODIsIDY1LCA4MywgNzIsIDY1LCAxMjgsIDgyLCA2NSwgODEsIDEyOCwgODIsIDY1LCA4MCwgNzMsIDgzLCA3NywgCisgICAgNjUsIDEyOCwgODIsIDY1LCA3OCwgNzEsIDE5NywgODIsIDY1LCA3OCwgNjUsIDEyOCwgODIsIDY1LCA3OCwgMTI4LCA4MiwgCisgICAgNjUsIDc3LCAyMTEsIDgyLCA2NSwgNzcsIDY2LCA2NSwgODQsIDEyOCwgODIsIDY1LCA3NSwgNzIsIDY1LCA3OCwgNzEsIAorICAgIDEyOCwgODIsIDY1LCA3NSwgNjUsIDY1LCA4MiwgNjUsIDY1LCA3OCwgODMsIDY1LCA4OSwgNjUsIDEyOCwgODIsIDY1LCA3MywgCisgICAgODMsIDczLCA3OCwgMTk5LCA4MiwgNjUsIDczLCA4MywgNjksIDE5NiwgODIsIDY1LCA3MywgNzgsIDY2LCA3OSwgODcsIAorICAgIDEyOCwgODIsIDY1LCA3MywgNzYsIDg3LCA2NSwgODksIDEyOCwgODIsIDY1LCA3MywgNzYsIDg3LCA2NSwgMjE3LCA4MiwgCisgICAgNjUsIDczLCA3NiwgMTI4LCA4MiwgNjUsIDczLCA2OCwgMjA3LCA4MiwgNjUsIDczLCA2OCwgNjUsIDEyOCwgODIsIDY1LCAKKyAgICA3MiwgNzcsIDY1LCA4NCwgODUsIDc2LCA3NiwgNjUsIDIwMCwgODIsIDY1LCA3MiwgMTI4LCA4MiwgNjUsIDcwLCA2OSwgCisgICAgMTI4LCA4MiwgNjUsIDY5LCA3NywgMTI4LCA4MiwgNjUsIDY4LCA3MywgNzksIDY1LCA2NywgODQsIDczLCA4NiwgMTk3LCAKKyAgICA4MiwgNjUsIDY4LCA3MywgNzksIDEyOCwgODIsIDY1LCA2OCwgNzMsIDIwNywgODIsIDY1LCA2OCwgMjAxLCA4MiwgNjUsIAorICAgIDY4LCAxMjgsIDgyLCA2NSwgMTk2LCA4MiwgNjUsIDY3LCA4MSwgODUsIDY5LCAyMTIsIDgyLCA2NSwgNjcsIDczLCA3OCwgCisgICAgNzEsIDEyOCwgODIsIDY1LCA2NywgNzMsIDc4LCAxOTksIDgyLCA2NSwgNjYsIDY2LCA3MywgODQsIDEyOCwgODIsIDY1LCAKKyAgICA2NiwgNjYsIDczLCAyMTIsIDgyLCA2NSwgNjYsIDEyOCwgODIsIDY1LCA2NSwgNzMsIDEyOCwgODIsIDY1LCA1MSwgMTI4LCAKKyAgICA4MiwgNjUsIDUwLCAxMjgsIDgyLCA2NSwgNDUsIDUwLCAxMjgsIDgyLCA0OCwgNTAsIDU3LCAxMjgsIDgyLCA0OCwgNTAsIAorICAgIDU2LCAxMjgsIDgyLCA0OCwgNTAsIDU1LCAxMjgsIDgyLCA0OCwgNTAsIDU0LCAxMjgsIDgyLCA0OCwgNTAsIDUzLCAxMjgsIAorICAgIDgyLCA0OCwgNTAsIDUyLCAxMjgsIDgyLCA0OCwgNTAsIDUxLCAxMjgsIDgyLCA0OCwgNTAsIDUwLCAxMjgsIDgyLCA0OCwgCisgICAgNTAsIDQ5LCAxMjgsIDgyLCA0OCwgNTAsIDQ4LCAxMjgsIDgyLCA0OCwgNDksIDU3LCAxMjgsIDgyLCA0OCwgNDksIDU2LCAKKyAgICAxMjgsIDgyLCA0OCwgNDksIDU1LCAxMjgsIDgyLCA0OCwgNDksIDU0LCA2NSwgMTI4LCA4MiwgNDgsIDQ5LCA1NCwgMTI4LCAKKyAgICA4MiwgNDgsIDQ5LCA1MywgMTI4LCA4MiwgNDgsIDQ5LCA1MiwgMTI4LCA4MiwgNDgsIDQ5LCA1MSwgMTI4LCA4MiwgNDgsIAorICAgIDQ5LCA1MCwgMTI4LCA4MiwgNDgsIDQ5LCA0OSwgMTI4LCA4MiwgNDgsIDQ5LCA0OCwgNjUsIDEyOCwgODIsIDQ4LCA0OSwgCisgICAgNDgsIDEyOCwgODIsIDQ4LCA0OCwgNTcsIDEyOCwgODIsIDQ4LCA0OCwgNTYsIDEyOCwgODIsIDQ4LCA0OCwgNTUsIDEyOCwgCisgICAgODIsIDQ4LCA0OCwgNTQsIDEyOCwgODIsIDQ4LCA0OCwgNTMsIDEyOCwgODIsIDQ4LCA0OCwgNTIsIDEyOCwgODIsIDQ4LCAKKyAgICA0OCwgNTEsIDY2LCAxMjgsIDgyLCA0OCwgNDgsIDUxLCA2NSwgMTI4LCA4MiwgNDgsIDQ4LCA1MSwgMTI4LCA4MiwgNDgsIAorICAgIDQ4LCA1MCwgNjUsIDEyOCwgODIsIDQ4LCA0OCwgNTAsIDEyOCwgODIsIDQ4LCA0OCwgNDksIDEyOCwgODIsIDQ1LCA2NywgCisgICAgODIsIDY5LCAxOTcsIDgxLCA4OSwgODgsIDEyOCwgODEsIDg5LCA4NSwgMTI4LCA4MSwgODksIDg0LCAxMjgsIDgxLCA4OSwgCisgICAgODIsIDg4LCAxMjgsIDgxLCA4OSwgODIsIDEyOCwgODEsIDg5LCA4MCwgMTI4LCA4MSwgODksIDc5LCAxMjgsIDgxLCA4OSwgCisgICAgNzMsIDEyOCwgODEsIDg5LCA2OSwgNjksIDEyOCwgODEsIDg5LCA2OSwgMTI4LCA4MSwgODksIDY1LCA2NSwgMTI4LCA4MSwgCisgICAgODksIDY1LCAxMjgsIDgxLCA4OSwgMTI4LCA4MSwgODcsIDczLCAxMjgsIDgxLCA4NywgNjksIDY5LCAxMjgsIDgxLCA4NywgCisgICAgNjksIDEyOCwgODEsIDg3LCA2NSwgNjUsIDEyOCwgODEsIDg3LCA2NSwgMTI4LCA4MSwgODUsIDg4LCAxMjgsIDgxLCA4NSwgCisgICAgODYsIDEyOCwgODEsIDg1LCA4NSwgODYsIDEyOCwgODEsIDg1LCA4NSwgMTI4LCA4MSwgODUsIDg0LCAxMjgsIDgxLCA4NSwgCisgICAgODMsIDcyLCA4MywgNzIsIDY1LCA4OSwgNjUsIDEyOCwgODEsIDg1LCA4MiwgODgsIDEyOCwgODEsIDg1LCA4MiwgMTI4LCAKKyAgICA4MSwgODUsIDgwLCAxMjgsIDgxLCA4NSwgNzksIDg4LCAxMjgsIDgxLCA4NSwgNzksIDg0LCAxOTcsIDgxLCA4NSwgNzksIAorICAgIDg0LCA2NSwgODQsIDczLCA3OSwgMjA2LCA4MSwgODUsIDc5LCA4NCwgMTI4LCA4MSwgODUsIDc5LCA4MCwgMTI4LCA4MSwgCisgICAgODUsIDc5LCAxMjgsIDgxLCA4NSwgNzUsIDEyOCwgODEsIDg1LCA3MywgNzgsIDg0LCA2OSwgODMsIDgzLCA2OSwgNzgsIDY3LCAKKyAgICA2OSwgMTI4LCA4MSwgODUsIDczLCA3OCwgNjgsIDczLCA2NywgNjksIDgzLCA3MywgNzcsIDE5MywgODEsIDg1LCA3MywgNzgsIAorICAgIDY3LCA4NSwgNzgsIDg4LCAxMjgsIDgxLCA4NSwgNzMsIDc4LCA2NSwgODIsIDczLCA4NSwgMjExLCA4MSwgODUsIDczLCA3NiwgCisgICAgMjEyLCA4MSwgODUsIDczLCA3NiwgNzYsIDEyOCwgODEsIDg1LCA3MywgNjcsIDIwMywgODEsIDg1LCA3MywgMTI4LCA4MSwgCisgICAgODUsIDcwLCAxMjgsIDgxLCA4NSwgNjksIDgzLCA4NCwgNzMsIDc5LCA3OCwgNjksIDE5NiwgODEsIDg1LCA2OSwgODMsIDg0LCAKKyAgICA3MywgNzksIDc4LCAxMjgsIDgxLCA4NSwgNjksIDgzLCA4NCwgNzMsIDc5LCAyMDYsIDgxLCA4NSwgNjksIDY5LCA3OCwgCisgICAgMTI4LCA4MSwgODUsIDY5LCA2OSwgMjA2LCA4MSwgODUsIDY5LCAxMjgsIDgxLCA4NSwgNjYsIDg1LCA4NCwgODMsIDEyOCwgCisgICAgODEsIDg1LCA2NSwgODQsIDY5LCA4MiwgNzgsIDczLCA3OSwgMjA2LCA4MSwgODUsIDY1LCA4MiwgODQsIDY5LCA4MiwgODMsIAorICAgIDEyOCwgODEsIDg1LCA2NSwgODIsIDg0LCA2OSwgODIsIDIxMSwgODEsIDg1LCA2NSwgODIsIDg0LCA2OSwgODIsIDEyOCwgCisgICAgODEsIDg1LCA2NSwgODIsIDg0LCA2OSwgMjEwLCA4MSwgODUsIDY1LCA3OCwgODQsIDczLCA4NCwgMjE3LCA4MSwgODUsIDY1LCAKKyAgICA2OCwgODIsIDg1LCA4MCwgNzYsIDE5NywgODEsIDg1LCA2NSwgNjgsIDgyLCA2NSwgNzgsIDg0LCAxMjgsIDgxLCA4NSwgNjUsIAorICAgIDY4LCA4MiwgNjUsIDc4LCAyMTIsIDgxLCA4NSwgNjUsIDY4LCA2NywgNzksIDc2LCA3OSwgNzgsIDEyOCwgODEsIDg1LCA2NSwgCisgICAgNjgsIDEyOCwgODEsIDg1LCA2NSwgMTk2LCA4MSwgODUsIDY1LCAxMjgsIDgxLCA4NSwgMTI4LCA4MSwgMjA4LCA4MSwgNzksIAorICAgIDg4LCAxMjgsIDgxLCA3OSwgODQsIDEyOCwgODEsIDc5LCA4MCwgNzIsIDEyOCwgODEsIDc5LCA4MCwgNjUsIDEyOCwgODEsIAorICAgIDc5LCA4MCwgMTI4LCA4MSwgNzksIDc5LCAxMjgsIDgxLCA3OSwgMjA3LCA4MSwgNzksIDcwLCAxMjgsIDgxLCA3OSwgMTk4LCAKKyAgICA4MSwgNzksIDY1LCAxMjgsIDgxLCA3OSwgMTI4LCA4MSwgNzgsIDEyOCwgODEsIDczLCA4OCwgMTI4LCA4MSwgNzMsIDg0LCAKKyAgICA4MywgNjUsIDEyOCwgODEsIDczLCA4NCwgMTI4LCA4MSwgNzMsIDgwLCAxMjgsIDgxLCA3MywgNzMsIDEyOCwgODEsIDczLCAKKyAgICA2OSwgODgsIDEyOCwgODEsIDczLCA2OSwgODQsIDEyOCwgODEsIDczLCA2OSwgODAsIDEyOCwgODEsIDczLCA2OSwgMTI4LCAKKyAgICA4MSwgNzMsIDEyOCwgODEsIDcyLCA4NywgNzMsIDEyOCwgODEsIDcyLCA4NywgNjksIDY5LCAxMjgsIDgxLCA3MiwgODcsIAorICAgIDY5LCAxMjgsIDgxLCA3MiwgODcsIDY1LCA2NSwgMTI4LCA4MSwgNzIsIDg3LCA2NSwgMTI4LCA4MSwgNzIsIDg1LCAxMjgsIAorICAgIDgxLCA3MiwgNzksIDgwLCA3MiwgMTI4LCA4MSwgNzIsIDc5LCAxMjgsIDgxLCA3MiwgNzMsIDEyOCwgODEsIDcyLCA2OSwgCisgICAgNjksIDEyOCwgODEsIDcyLCA2OSwgMTI4LCA4MSwgNzIsIDY1LCA4NSwgMTI4LCA4MSwgNzIsIDY1LCA2NSwgMTI4LCA4MSwgCisgICAgNzIsIDY1LCAxMjgsIDgxLCA3MSwgNjUsIDEyOCwgODEsIDY5LCA4NCwgNjUsIDc4LCA2NSwgMTI4LCA4MSwgNjksIDY5LCAKKyAgICAxMjgsIDgxLCA2OSwgMTI4LCA4MSwgNjUsIDg5LCAxMjgsIDgxLCA2NSwgODUsIDEyOCwgODEsIDY1LCA4NCwgNjUsIDc4LCAKKyAgICAxMjgsIDgxLCA2NSwgODIsIDc4LCA2OSwgMjE3LCA4MSwgNjUsIDgyLCAxMjgsIDgxLCA2NSwgODEsIDEyOCwgODEsIDY1LCAKKyAgICA4MCwgNzIsIDEyOCwgODEsIDY1LCA3NywgNjUsIDg0LCA4MywgMTI4LCA4MSwgNjUsIDc3LCA2NSwgODQsIDIxMSwgODEsIAorICAgIDY1LCA3NiwgMTkzLCA4MSwgNjUsIDczLCA4MiwgODQsIDcyLCA4MiwgNjUsIDEyOCwgODEsIDY1LCA3MywgMTI4LCA4MSwgCisgICAgNjUsIDcwLCAxMjgsIDgxLCA2NSwgMTk4LCA4MSwgNjUsIDY4LCA3NywgNjUsIDEyOCwgODEsIDY1LCA2NSwgNzMsIDEyOCwgCisgICAgODEsIDY1LCA2NSwgNzAsIDg1LCAxMjgsIDgxLCA2NSwgNjUsIDcwLCAxMjgsIDgxLCA0OCwgNDgsIDU1LCAxMjgsIDgxLCAKKyAgICA0OCwgNDgsIDU0LCAxMjgsIDgxLCA0OCwgNDgsIDUzLCAxMjgsIDgxLCA0OCwgNDgsIDUyLCAxMjgsIDgxLCA0OCwgNDgsIAorICAgIDUxLCAxMjgsIDgxLCA0OCwgNDgsIDUwLCAxMjgsIDgxLCA0OCwgNDgsIDQ5LCAxMjgsIDgwLCA5MCwgMTI4LCA4MCwgODksIAorICAgIDg4LCAxMjgsIDgwLCA4OSwgODQsIDEyOCwgODAsIDg5LCA4MiwgODgsIDEyOCwgODAsIDg5LCA4MiwgMTI4LCA4MCwgODksIAorICAgIDgwLCAxMjgsIDgwLCA4NywgNzksIDg5LCAxMjgsIDgwLCA4NywgNzksIDc5LCAxMjgsIDgwLCA4NywgNzksIDEyOCwgODAsIAorICAgIDg3LCAyMDcsIDgwLCA4NywgNzMsIDczLCAxMjgsIDgwLCA4NywgNzMsIDEyOCwgODAsIDg3LCA2OSwgNjksIDEyOCwgODAsIAorICAgIDg3LCA2OSwgMTI4LCA4MCwgODcsIDY1LCA2NSwgMTI4LCA4MCwgODcsIDEyOCwgODAsIDg2LCAxMjgsIDgwLCA4NSwgODgsIAorICAgIDEyOCwgODAsIDg1LCA4NSwgODQsIDEyOCwgODAsIDg1LCA4NSwgMTI4LCA4MCwgODUsIDg0LCA4MiwgNjksIDcwLCA2NSwgCisgICAgNjcsIDg0LCA3MywgNzksIDc4LCAxMjgsIDgwLCA4NSwgODQsIDEyOCwgODAsIDg1LCAyMTIsIDgwLCA4NSwgODMsIDcyLCAKKyAgICA4MCwgNzMsIDc4LCAxMjgsIDgwLCA4NSwgODMsIDcyLCA4MCwgNzMsIDc1LCA2NSwgMTI4LCA4MCwgODUsIDgzLCA3MiwgNzMsIAorICAgIDc4LCAxOTksIDgwLCA4NSwgODIsIDg4LCAxMjgsIDgwLCA4NSwgODIsIDgzLCA2OSwgMTI4LCA4MCwgODUsIDgyLCA4MCwgCisgICAgNzYsIDE5NywgODAsIDg1LCA4MiwgNzgsIDY1LCA3NywgNjUsIDEyOCwgODAsIDg1LCA4MiwgNzMsIDg0LCA4OSwgMTI4LCAKKyAgICA4MCwgODUsIDgyLCA3MywgNzAsIDg5LCAxMjgsIDgwLCA4NSwgODIsIDEyOCwgODAsIDg1LCA4MSwgMTI4LCA4MCwgODUsIAorICAgIDgwLCAxMjgsIDgwLCA4NSwgNzksIDg4LCAxMjgsIDgwLCA4NSwgNzksIDgwLCAxMjgsIDgwLCA4NSwgNzksIDEyOCwgODAsIAorICAgIDg1LCA3OCwgNzEsIDY1LCA2NSwgNzcsIDEyOCwgODAsIDg1LCA3OCwgNzEsIDEyOCwgODAsIDg1LCA3OCwgNjcsIDg0LCA4NSwgCisgICAgNjUsIDg0LCA3MywgNzksIDc4LCAxMjgsIDgwLCA4NSwgNzgsIDY3LCA4NCwgODUsIDY1LCA4NCwgNzMsIDc5LCAyMDYsIDgwLCAKKyAgICA4NSwgNzcsIDgwLCAxMjgsIDgwLCA4NSwgNzcsIDEyOCwgODAsIDg1LCA2OSwgMTI4LCA4MCwgODUsIDY2LCA3NiwgNzMsIAorICAgIDE5NSwgODAsIDg1LCAxOTQsIDgwLCA4NSwgNjUsIDgxLCAxMjgsIDgwLCA4NSwgNjUsIDY5LCAxMjgsIDgwLCA4NSwgNTAsIAorICAgIDEyOCwgODAsIDg1LCA0OSwgMTI4LCA4MCwgODUsIDEyOCwgODAsIDg0LCA3MiwgNjUsIDcyLCAxOTMsIDgwLCA4NCwgNjksIAorICAgIDEyOCwgODAsIDgzLCA3MywgNzYsIDIwMSwgODAsIDgzLCA3MywgNzAsIDczLCA4MywgODQsIDc5LCA4MywgODksIDc4LCA2NSwgCisgICAgNzEsIDc3LCA2NSwgMTI4LCA4MCwgODMsIDczLCA3MCwgNzMsIDgzLCA4NCwgNzksIDgwLCA2NSwgODIsIDY1LCA3NSwgNjUsIAorICAgIDc2LCA2OSwgODMsIDc3LCA2NSwgMTI4LCA4MCwgODMsIDczLCA3MCwgNzMsIDgzLCA4NCwgNzksIDIwNiwgODAsIDgzLCA3MywgCisgICAgNzAsIDczLCA4MywgODQsIDc5LCA3NiwgODksIDcxLCA3MywgODMsIDc3LCA2NSwgMTI4LCA4MCwgODMsIDczLCAxMjgsIDgwLCAKKyAgICA4MywgNjUsIDc2LCA4NCwgNjksIDIxMCwgODAsIDgzLCAxMjgsIDgwLCA4MiwgNzksIDg2LCA2OSwgMTI4LCA4MCwgODIsIAorICAgIDc5LCA4NCwgNzksIDg2LCA2NSwgODIsIDg5LCAyMTEsIDgwLCA4MiwgNzksIDg0LCA3OSwgMjExLCA4MCwgODIsIDc5LCA4NCwgCisgICAgNjksIDY3LCA4NCwgNjksIDE5NiwgODAsIDgyLCA3OSwgODMsIDcxLCA2OSwgNzEsIDgyLCA2NSwgNzcsIDc3LCA2OSwgNzgsIAorICAgIDczLCAxMjgsIDgwLCA4MiwgNzksIDgwLCA3OSwgODIsIDg0LCA3MywgNzksIDc4LCA2NSwgMjA0LCA4MCwgODIsIDc5LCA4MCwgCisgICAgNzksIDgyLCA4NCwgNzMsIDc5LCA3OCwgMTI4LCA4MCwgODIsIDc5LCA4MCwgNjksIDgyLCA4NCwgMjE3LCA4MCwgODIsIDc5LCAKKyAgICA4MCwgNjksIDc2LCA3NiwgNjksIDIxMCwgODAsIDgyLCA3OSwgNzksIDcwLCAxMjgsIDgwLCA4MiwgNzksIDc2LCA3OSwgNzgsIAorICAgIDcxLCA2OSwgMTk2LCA4MCwgODIsIDc5LCA3NiwgNjUsIDg0LCA3MywgNzksIDc4LCAxOTcsIDgwLCA4MiwgNzksIDc0LCA2OSwgCisgICAgNjcsIDg0LCA3OSwgODIsIDEyOCwgODAsIDgyLCA3OSwgNzQsIDY5LCA2NywgODQsIDczLCA4NiwgNjksIDEyOCwgODAsIDgyLCAKKyAgICA3OSwgNzQsIDY5LCA2NywgODQsIDczLCA3OSwgNzgsIDEyOCwgODAsIDgyLCA3OSwgNzIsIDczLCA2NiwgNzMsIDg0LCA2OSwgCisgICAgMTk2LCA4MCwgODIsIDc5LCA3MSwgODIsIDY5LCA4MywgODMsIDEyOCwgODAsIDgyLCA3OSwgNzEsIDgyLCA2NSwgMjA1LCAKKyAgICA4MCwgODIsIDc5LCA3MCwgNzksIDg1LCA3OCwgNjgsIDEyOCwgODAsIDgyLCA3OSwgNjgsIDg1LCA2NywgODQsIDEyOCwgODAsIAorICAgIDgyLCA3OSwgNjgsIDg1LCA2NywgMjEyLCA4MCwgODIsIDczLCA4NiwgNjUsIDg0LCA2OSwgMTI4LCA4MCwgODIsIDczLCA4NiwgCisgICAgNjUsIDg0LCAxOTcsIDgwLCA4MiwgNzMsIDg2LCA2NSwgNjcsIDIxNywgODAsIDgyLCA3MywgODMsIDcyLCA4NCwgNzIsIDY1LCAKKyAgICA3NywgNjUsIDg0LCA4MiwgMTkzLCA4MCwgODIsIDczLCA3OCwgODQsIDgzLCAxMjgsIDgwLCA4MiwgNzMsIDc4LCA4NCwgNjksIAorICAgIDgyLCAxMjgsIDgwLCA4MiwgNzMsIDc4LCA4NCwgNjksIDIxMCwgODAsIDgyLCA3MywgNzgsIDg0LCAxMjgsIDgwLCA4MiwgCisgICAgNzMsIDc4LCAyMTIsIDgwLCA4MiwgNzMsIDc4LCA2NywgNjksIDgzLCA4MywgMTI4LCA4MCwgODIsIDczLCA3NywgNjksIAorICAgIDEyOCwgODAsIDgyLCA3MywgNzcsIDE5NywgODAsIDgyLCA2OSwgODYsIDczLCA3OSwgODUsIDIxMSwgODAsIDgyLCA2OSwgCisgICAgODMsIDY5LCA4NCwgMTI4LCA4MCwgODIsIDY5LCA4MywgNjksIDc4LCA4NCwgNjUsIDg0LCA3MywgNzksIDIwNiwgODAsIDgyLCAKKyAgICA2OSwgODMsIDY3LCA4MiwgNzMsIDgwLCA4NCwgNzMsIDc5LCAyMDYsIDgwLCA4MiwgNjksIDgwLCA3OSwgNzgsIDY4LCA2OSwgCisgICAgODIsIDY1LCA3OCwgNjcsIDY5LCAxMjgsIDgwLCA4MiwgNjksIDc4LCA3NSwgNzIsIDY1LCAxMjgsIDgwLCA4MiwgNjksIDcwLCAKKyAgICA2NSwgNjcsIDE5NywgODAsIDgyLCA2OSwgNjcsIDczLCA4MCwgNzMsIDg0LCA2NSwgODQsIDY5LCAxMjgsIDgwLCA4MiwgNjksIAorICAgIDY3LCA2OSwgNjgsIDczLCA3OCwgMTk5LCA4MCwgODIsIDY5LCA2NywgNjksIDY4LCA2OSwgODMsIDEyOCwgODAsIDgyLCA2OSwgCisgICAgNjcsIDY5LCA2OCwgNjksIDIxMSwgODAsIDgyLCA2OSwgNjcsIDY5LCA2OCwgNjksIDE5NiwgODAsIDgyLCA2OSwgNjcsIDY5LCAKKyAgICA2OCwgNjksIDEyOCwgODAsIDgyLCA2OSwgNjcsIDY5LCA2OCwgMTk3LCA4MCwgODIsIDY1LCA3NywgNDUsIDgwLCA3MywgNzMsIAorICAgIDEyOCwgODAsIDgyLCA2NSwgNzcsIDQ1LCA4MCwgNzMsIDIwMSwgODAsIDgyLCA2NSwgNzcsIDQ1LCA3NywgODUsIDc5LCA4OSwgCisgICAgMTI4LCA4MCwgODIsIDY1LCA3NywgNDUsIDc3LCA4NSwgNzksIDIxNywgODAsIDgyLCA2NSwgNzcsIDQ1LCA2NiwgODUsIDc5LCAKKyAgICA3OCwgMTI4LCA4MCwgODIsIDY1LCA3NywgNDUsIDY2LCA4NSwgNzksIDIwNiwgODAsIDgyLCA2NSwgNzcsIDQ1LCA2NiwgNjksIAorICAgIDczLCAxMjgsIDgwLCA4MiwgNjUsIDc3LCA0NSwgNjYsIDY5LCAyMDEsIDgwLCA4MiwgNjUsIDc3LCAxMjgsIDgwLCA4MiwgCisgICAgNjUsIDIwNSwgODAsIDgyLCAxMjgsIDgwLCA4MCwgODYsIDEyOCwgODAsIDgwLCA3NywgMTI4LCA4MCwgODAsIDY1LCAxMjgsIAorICAgIDgwLCA3OSwgODksIDEyOCwgODAsIDc5LCA4OCwgMTI4LCA4MCwgNzksIDg3LCA2OSwgODIsIDIxMSwgODAsIDc5LCA4NywgCisgICAgNjksIDgyLCAxMjgsIDgwLCA3OSwgODcsIDY4LCA2OSwgODIsIDY5LCAxOTYsIDgwLCA3OSwgODcsIDY4LCA2OSwgODIsIAorICAgIDEyOCwgODAsIDc5LCA4NSwgNzgsIDE5NiwgODAsIDc5LCA4NSwgNzYsIDg0LCA4MiwgMjE3LCA4MCwgNzksIDg1LCA2NywgCisgICAgNzIsIDEyOCwgODAsIDc5LCA4NCwgNjUsIDg0LCA3OSwgMTI4LCA4MCwgNzksIDg0LCA2NSwgNjYsIDc2LCAxOTcsIDgwLCAKKyAgICA3OSwgMjEyLCA4MCwgNzksIDgzLCA4NCwgODAsIDc5LCA4MywgNzMsIDg0LCA3MywgNzksIDIwNiwgODAsIDc5LCA4MywgODQsIAorICAgIDY2LCA3OSwgODgsIDEyOCwgODAsIDc5LCA4MywgODQsIDY1LCAyMDQsIDgwLCA3OSwgODMsIDg0LCAxMjgsIDgwLCA3OSwgCisgICAgODMsIDIxMiwgODAsIDc5LCA4MywgODMsIDY5LCA4MywgODMsIDczLCA3OSwgNzgsIDEyOCwgODAsIDc5LCA4MiwgODQsIDY1LCAKKyAgICA2NiwgNzYsIDE5NywgODAsIDc5LCA4MiwgODIsIDY5LCA2NywgODQsIDg1LCA4MywgMTI4LCA4MCwgNzksIDgyLCA4MiwgNjksIAorICAgIDY3LCA4NCwgODUsIDIxMSwgODAsIDc5LCA4MCwgODAsIDY5LCA4MiwgMTI4LCA4MCwgNzksIDgwLCAxMjgsIDgwLCA3OSwgCisgICAgMjA4LCA4MCwgNzksIDc5LCA2OCwgNzYsIDY5LCAxMjgsIDgwLCA3OSwgNzksIDEyOCwgODAsIDc5LCA3OCwgNjgsIDc5LCAKKyAgICAxMjgsIDgwLCA3OSwgMjA2LCA4MCwgNzksIDc3LCA3NywgNjksIDY5LCAxMjgsIDgwLCA3OSwgNzcsIDc3LCA2OSwgMTk3LCAKKyAgICA4MCwgNzksIDc2LCA3MywgODMsIDcyLCAxMjgsIDgwLCA3OSwgNzYsIDczLCA2NywgMTk3LCA4MCwgNzksIDc2LCAyMDEsIAorICAgIDgwLCA3OSwgNzYsIDY5LCAxMjgsIDgwLCA3OSwgNzYsIDE5NywgODAsIDc5LCA3NSwgODIsIDg5LCA4NCwgNzMsIDY5LCAKKyAgICAxMjgsIDgwLCA3OSwgNzUsIDc5LCA3NCwgNzMsIDEyOCwgODAsIDc5LCA3MywgNzgsIDg0LCAyMTEsIDgwLCA3OSwgNzMsIAorICAgIDc4LCA4NCwgNzksIDEyOCwgODAsIDc5LCA3MywgNzgsIDg0LCA2OSwgODIsIDEyOCwgODAsIDc5LCA3MywgNzgsIDg0LCA2OSwgCisgICAgMTk2LCA4MCwgNzksIDczLCA3OCwgODQsIDEyOCwgODAsIDc5LCA3MywgNzgsIDIxMiwgODAsIDc5LCA2OSwgODQsIDgyLCAKKyAgICAyMTcsIDgwLCA3OSwgNjksIDg0LCA3MywgMTk1LCA4MCwgNzksIDY4LCA2NSwgODQsIDg1LCA4MywgMTI4LCA4MCwgNzksIAorICAgIDY3LCA3NSwgNjksIDIxMiwgODAsIDc5LCA2NSwgMTI4LCA4MCwgNzksIDEyOCwgODAsIDIwNywgODAsIDc4LCA2OSwgODUsIAorICAgIDc3LCA2NSwgODQsIDY1LCAxMjgsIDgwLCA3NiwgODUsIDg0LCA3OSwgMTI4LCA4MCwgNzYsIDg1LCA4NCwgNjUsIDEyOCwgCisgICAgODAsIDc2LCA4NSwgODMsIDQ1LCA3NywgNzMsIDc4LCA4NSwgMjExLCA4MCwgNzYsIDg1LCA4MywgMTI4LCA4MCwgNzYsIDg1LCAKKyAgICA4MiwgNjUsIDc2LCAxMjgsIDgwLCA3NiwgODUsIDc3LCA2OSwgMTk2LCA4MCwgNzYsIDg1LCA3NywgMTI4LCA4MCwgNzYsIAorICAgIDg1LCA3NSwgMTI4LCA4MCwgNzYsIDg1LCA3MSwgMTI4LCA4MCwgNzYsIDg1LCAxMjgsIDgwLCA3NiwgNzksIDg3LCAxMjgsIAorICAgIDgwLCA3NiwgNzksIDgwLCA3MiwgODUsIDEyOCwgODAsIDc2LCA3MiwgNjUsIDg1LCAxMjgsIDgwLCA3NiwgNjksIDg0LCA3MiwgCisgICAgODIsIDc5LCA3OCwgMTI4LCA4MCwgNzYsIDY4LCAxMjgsIDgwLCA3NiwgNjUsIDg5LCA3MywgNzgsIDE5OSwgODAsIDc2LCAKKyAgICA2NSwgODQsIDY5LCAxMjgsIDgwLCA3NiwgNjUsIDgzLCA4NCwgNzMsIDY3LCA4MywgMTI4LCA4MCwgNzYsIDY1LCA3OCwgNjksIAorICAgIDEyOCwgODAsIDc2LCA2NSwgNzgsIDE5NywgODAsIDc2LCA2NSwgNzgsIDY3LCAyMDMsIDgwLCA3NiwgNjUsIDc1LCAxMjgsIAorICAgIDgwLCA3NiwgNjUsIDcxLCA3MywgNzksIDIxMSwgODAsIDc2LCA2NSwgNjcsIDY5LCA3MiwgNzksIDc2LCA2OCwgNjksIDIxMCwgCisgICAgODAsIDc2LCA2NSwgNjcsIDE5NywgODAsIDc2LCA2NSwgMTI4LCA4MCwgNzMsIDkwLCA5MCwgNzMsIDY3LCA2NSwgODQsIDc5LCAKKyAgICAxMjgsIDgwLCA3MywgOTAsIDkwLCA2NSwgMTI4LCA4MCwgNzMsIDg4LCAxMjgsIDgwLCA3MywgODcsIDgyLCAxMjgsIDgwLCAKKyAgICA3MywgODQsIDY3LCA3MiwgNzAsIDc5LCA4MiwgNzUsIDEyOCwgODAsIDczLCA4NCwgNjcsIDcyLCA3MCwgNzksIDgyLCAyMDMsIAorICAgIDgwLCA3MywgODQsIDEyOCwgODAsIDczLCA4MywgODQsIDc5LCA3NiwgMTI4LCA4MCwgNzMsIDgzLCA2OSwgNzYsIDY5LCA3MiwgCisgICAgMTI4LCA4MCwgNzMsIDgzLCA2NywgNjksIDgzLCAxMjgsIDgwLCA3MywgODIsIDczLCA3MSwgMTI4LCA4MCwgNzMsIDgyLCAKKyAgICA3MywgMTk5LCA4MCwgNzMsIDgyLCA3MywgNjksIDY5LCA3OCwgMTI4LCA4MCwgNzMsIDgyLCA2NSwgNjcsIDg5LCAxMjgsIAorICAgIDgwLCA3MywgODIsIDUwLCAxMjgsIDgwLCA3MywgODAsIDczLCA3OCwgNzEsIDEyOCwgODAsIDczLCA4MCwgNjUsIDY5LCA3NywgCisgICAgNzEsIDY2LCA3MywgNjksIDY5LCAxMjgsIDgwLCA3MywgODAsIDY1LCA2OSwgNzcsIDY2LCA2NSwgMTI4LCA4MCwgNzMsIDgwLCAKKyAgICAxMjgsIDgwLCA3MywgNzgsIDg3LCA3MiwgNjksIDY5LCAyMDQsIDgwLCA3MywgNzgsIDY5LCA2NSwgODAsIDgwLCA3NiwgNjksIAorICAgIDEyOCwgODAsIDczLCA3OCwgMTk3LCA4MCwgNzMsIDc4LCA2NSwgODIsIDY2LCA3OSwgODIsIDY1LCA4MywgMTI4LCA4MCwgCisgICAgNzMsIDc2LCA3NiwgMTI4LCA4MCwgNzMsIDc2LCAxOTcsIDgwLCA3MywgNzYsIDY3LCA4MiwgNzksIDIxNSwgODAsIDczLCAKKyAgICA3NSwgODUsIDgyLCA4NSwgMTI4LCA4MCwgNzMsIDc1LCA3OSwgMTI4LCA4MCwgNzMsIDcxLCAxMjgsIDgwLCA3MywgMTk5LCAKKyAgICA4MCwgNzMsIDY5LCA4OCwgMTI4LCA4MCwgNzMsIDY5LCA4NSwgODAsIDQ1LCA4NCwgNzIsIDczLCA2OSwgODUsIDg0LCA3MiwgCisgICAgMTI4LCA4MCwgNzMsIDY5LCA4NSwgODAsIDQ1LCA4MywgODMsIDY1LCA3OCwgNzEsIDgzLCA3MywgNzksIDgzLCAxMjgsIDgwLCAKKyAgICA3MywgNjksIDg1LCA4MCwgNDUsIDgzLCA3MywgNzksIDgzLCA0NSwgODQsIDczLCA3NSwgNjksIDg1LCA4NCwgMTI4LCA4MCwgCisgICAgNzMsIDY5LCA4NSwgODAsIDQ1LCA4MywgNzMsIDc5LCA4MywgNDUsIDg0LCA3MiwgNzMsIDY5LCA4NSwgODQsIDcyLCAxMjgsIAorICAgIDgwLCA3MywgNjksIDg1LCA4MCwgNDUsIDgzLCA3MywgNzksIDgzLCA0NSwgODAsIDczLCA2OSwgODUsIDgwLCAxMjgsIDgwLCAKKyAgICA3MywgNjksIDg1LCA4MCwgNDUsIDgzLCA3MywgNzksIDgzLCA0NSwgNzUsIDczLCA4OSwgNjksIDc5LCA3NSwgMTI4LCA4MCwgCisgICAgNzMsIDY5LCA4NSwgODAsIDQ1LCA4MywgNzMsIDc5LCA4MywgNDUsIDY3LCA3MywgNjksIDg1LCA2NywgMTI4LCA4MCwgNzMsIAorICAgIDY5LCA4NSwgODAsIDQ1LCA4MiwgNzMsIDY5LCA4NSwgNzYsIDQ1LCA4MCwgNzIsIDczLCA2OSwgODUsIDgwLCA3MiwgMTI4LCAKKyAgICA4MCwgNzMsIDY5LCA4NSwgODAsIDQ1LCA4MiwgNzMsIDY5LCA4NSwgNzYsIDEyOCwgODAsIDczLCA2OSwgODUsIDgwLCA0NSwgCisgICAgNzgsIDczLCA2OSwgODUsIDc4LCAxMjgsIDgwLCA3MywgNjksIDg1LCA4MCwgNDUsIDc3LCA3MywgNjksIDg1LCA3NywgMTI4LCAKKyAgICA4MCwgNzMsIDY5LCA4NSwgODAsIDQ1LCA3NSwgNzIsIDczLCA2OSwgODUsIDc1LCA3MiwgMTI4LCA4MCwgNzMsIDY5LCA4NSwgCisgICAgODAsIDQ1LCA2NywgNzMsIDY5LCA4NSwgNjcsIDEyOCwgODAsIDczLCA2OSwgODUsIDgwLCA0NSwgNjcsIDcyLCA3MywgNjksIAorICAgIDg1LCA2NywgNzIsIDEyOCwgODAsIDczLCA2OSwgODUsIDIwOCwgODAsIDczLCA2OSwgODQsIDEyOCwgODAsIDczLCA2OSwgCisgICAgODAsIDEyOCwgODAsIDczLCA2OSwgNjksIDg0LCAxMjgsIDgwLCA3MywgNjksIDY5LCA4MSwgMTI4LCA4MCwgNzMsIDY5LCAKKyAgICA2NywgNjksIDEyOCwgODAsIDczLCA2OSwgMTI4LCA4MCwgNzMsIDY3LCA4NCwgODUsIDgyLCA2OSwgMTI4LCA4MCwgNzMsIAorICAgIDY3LCA3NSwgNjksIDg0LCAxMjgsIDgwLCA3MywgNjcsIDc1LCAxMjgsIDgwLCA3MywgNjUsIDgzLCA4NSwgODQsIDc5LCA4MiwgCisgICAgODUsIDEyOCwgODAsIDczLCA2NSwgODMsIDc3LCAxOTMsIDgwLCA3MywgNjUsIDc4LCA3OSwgMTI4LCA4MCwgMjAxLCA4MCwgCisgICAgNzIsIDg3LCA2NSwgMTI4LCA4MCwgNzIsIDg1LCA4NCwgNzIsIDY1LCA3OSwgMTI4LCA4MCwgNzIsIDg1LCAyMTAsIDgwLCAKKyAgICA3MiwgODUsIDc4LCA3MSwgMTI4LCA4MCwgNzIsIDgyLCA2NSwgODMsIDY5LCAxMjgsIDgwLCA3MiwgNzksIDc4LCA2OSwgODMsIAorICAgIDEyOCwgODAsIDcyLCA3OSwgNjksIDc4LCA3MywgNjcsIDczLCA2NSwgMjA2LCA4MCwgNzIsIDc5LCA2NSwgMTI4LCA4MCwgCisgICAgNzIsIDc5LCAxMjgsIDgwLCA3MiwgMjA3LCA4MCwgNzIsIDc4LCA2NSwgNjksIDIwMywgODAsIDcyLCA3MywgNzgsIDg0LCAKKyAgICA3MiwgODUsIDEyOCwgODAsIDcyLCA3MywgNzYsIDc5LCA4MywgNzksIDgwLCA3MiwgNjksIDgyLCAyMTEsIDgwLCA3MiwgNzMsIAorICAgIDc2LCA3MywgODAsIDgwLCA3MywgNzgsIDE5NywgODAsIDcyLCA3MywgNjksIDg1LCA4MCwgNzIsIDQ1LCA4NCwgNzIsIDczLCAKKyAgICA2OSwgODUsIDg0LCA3MiwgMTI4LCA4MCwgNzIsIDczLCA2OSwgODUsIDgwLCA3MiwgNDUsIDgzLCA3MywgNzksIDgzLCAxMjgsIAorICAgIDgwLCA3MiwgNzMsIDY5LCA4NSwgODAsIDcyLCA0NSwgODAsIDczLCA2OSwgODUsIDgwLCAxMjgsIDgwLCA3MiwgNzMsIDY5LCAKKyAgICA4NSwgODAsIDcyLCA0NSwgNzIsIDczLCA2OSwgODUsIDcyLCAxMjgsIDgwLCA3MiwgNzMsIDY5LCA4NSwgODAsIDIwMCwgODAsIAorICAgIDcyLCA3MywgMTI4LCA4MCwgNzIsIDIwMSwgODAsIDcyLCA2OSwgNjksIDEyOCwgODAsIDcyLCA2OSwgMTI4LCA4MCwgNzIsIAorICAgIDY1LCA4MywgNjksIDQ1LCAxOTgsIDgwLCA3MiwgNjUsIDgzLCA2OSwgNDUsIDE5NCwgODAsIDcyLCA2NSwgODIsIDg5LCA3OCwgCisgICAgNzEsIDY5LCA2NSwgMjA0LCA4MCwgNzIsIDY1LCA4MiwgMTI4LCA4MCwgNzIsIDY1LCA3OCwgMTI4LCA4MCwgNzIsIDY1LCAKKyAgICA3NywgMTI4LCA4MCwgNzIsIDY1LCA3MywgODMsIDg0LCA3OSwgMjExLCA4MCwgNzIsIDY1LCA3MSwgODMsIDQ1LCA4MCwgCisgICAgMTkzLCA4MCwgNzIsIDY1LCA2NiwgMTI4LCA4MCwgNzIsIDY1LCA2NSwgODIsIDc1LCA2NSwgNjUsIDEyOCwgODAsIDcyLCAKKyAgICA2NSwgNjUsIDEyOCwgODAsIDcyLCA2NSwgMTI4LCA4MCwgNzEsIDEyOCwgODAsIDcwLCAxMjgsIDgwLCA2OSwgODUsIDg4LCAKKyAgICAxMjgsIDgwLCA2OSwgODUsIDg0LCA2NSwgNjksIDEyOCwgODAsIDY5LCA4NSwgODQsIDEyOCwgODAsIDY5LCA4NCwgNjUsIAorICAgIDgzLCA4NCwgNzksIDc1LCA3OSwgODUsIDcwLCA3MywgODMsIDc3LCA2NSwgMTI4LCA4MCwgNjksIDg0LCA2NSwgODMsIDg0LCAKKyAgICA3MywgMTI4LCA4MCwgNjksIDg0LCA2NSwgODMsIDc3LCA2NSwgMTI4LCA4MCwgNjksIDg0LCA2NSwgNzYsIDc2LCA2OSwgCisgICAgMTk2LCA4MCwgNjksIDgzLCA3OSwgMTI4LCA4MCwgNjksIDgzLCAyMDcsIDgwLCA2OSwgODMsIDcyLCA1MCwgMTI4LCA4MCwgCisgICAgNjksIDgzLCA3MiwgMTc4LCA4MCwgNjksIDgzLCA2OSwgODQsIDE5MywgODAsIDY5LCAyMTEsIDgwLCA2OSwgODIsIDg0LCAKKyAgICA3MiwgMjA3LCA4MCwgNjksIDgyLCA4MywgODAsIDY5LCA2NywgODQsIDczLCA4NiwgNjksIDEyOCwgODAsIDY5LCA4MiwgODMsIAorICAgIDc5LCA3OCwgNjUsIDIwNCwgODAsIDY5LCA4MiwgODMsIDc5LCA3OCwgMTI4LCA4MCwgNjksIDgyLCA4MywgNzksIDIwNiwgCisgICAgODAsIDY5LCA4MiwgODMsIDczLCA2NSwgMjA2LCA4MCwgNjksIDgyLCA4MywgNjksIDg2LCA2OSwgODIsIDczLCA3OCwgMTk5LCAKKyAgICA4MCwgNjksIDgyLCA4MCwgNjksIDc4LCA2OCwgNzMsIDY3LCA4NSwgNzYsIDY1LCA4MiwgMTI4LCA4MCwgNjksIDgyLCA4MCwgCisgICAgNjksIDc4LCA2OCwgNzMsIDY3LCA4NSwgNzYsIDY1LCAyMTAsIDgwLCA2OSwgODIsIDc4LCA3MywgMjA2LCA4MCwgNjksIDgyLCAKKyAgICA3NywgNzMsIDg0LCA4NCwgNjksIDE5NiwgODAsIDY5LCA4MiwgNzcsIDczLCAxOTUsIDgwLCA2OSwgODIsIDc3LCA2NSwgNzgsIAorICAgIDY5LCA3OCwgMjEyLCA4MCwgNjksIDgyLCA3MywgODMsIDgwLCA3OSwgNzcsIDY5LCA3OCwgNzMsIDEyOCwgODAsIDY5LCA4MiwgCisgICAgNzMsIDgzLCA4MCwgNzksIDc3LCA2OSwgNzgsIDIwMSwgODAsIDY5LCA4MiwgNzAsIDc5LCA4MiwgNzcsIDczLCA3OCwgMTk5LCAKKyAgICA4MCwgNjksIDgyLCA3MCwgNjksIDY3LCA4NCwgODUsIDIwNSwgODAsIDY5LCA4MiwgNzAsIDY5LCA2NywgODQsIDY1LCAxMjgsIAorICAgIDgwLCA2OSwgODIsIDcwLCA2OSwgNjcsIDg0LCAxOTMsIDgwLCA2OSwgODIsIDY3LCA4NSwgODMsIDgzLCA3MywgODYsIDY5LCAKKyAgICAxMjgsIDgwLCA2OSwgODIsIDY3LCA2OSwgNzgsIDIxMiwgODAsIDY5LCA4MCwgODAsIDY5LCA4MiwgMTI4LCA4MCwgNjksIAorICAgIDgwLCA2OSwgODQsIDEyOCwgODAsIDY5LCA4MCwgNjksIDIxMiwgODAsIDY5LCA3OSwgODIsIDg0LCAyMDAsIDgwLCA2OSwgCisgICAgNzksIDgwLCA3NiwgNjksIDEyOCwgODAsIDY5LCA3OCwgODQsIDY1LCA4MywgNjksIDc3LCA2OSwgMTI4LCA4MCwgNjksIDc4LCAKKyAgICA4NCwgNjUsIDcxLCA4MiwgNjUsIDc3LCAxMjgsIDgwLCA2OSwgNzgsIDg0LCA2NSwgNzEsIDc5LCA3OCwgMTI4LCA4MCwgNjksIAorICAgIDc4LCA4MywgODUsIDEyOCwgODAsIDY5LCA3OCwgODMsIDczLCA4NiwgMTk3LCA4MCwgNjksIDc4LCA3OCwgMjE3LCA4MCwgCisgICAgNjksIDc4LCA3OCwgNjUsIDc4LCA4NCwgMTI4LCA4MCwgNjksIDc4LCA3MywgNzIsIDczLCAxMjgsIDgwLCA2OSwgNzgsIDcxLCAKKyAgICA4NSwgNzMsIDc4LCAxMjgsIDgwLCA2OSwgNzgsIDcxLCA3NSwgNjUsIDc2LCAxMjgsIDgwLCA2OSwgNzgsIDY5LCA4NCwgODIsIAorICAgIDY1LCA4NCwgNzMsIDc5LCA3OCwgMTI4LCA4MCwgNjksIDc4LCA2NywgNzMsIDc2LCAxMjgsIDgwLCA2OSwgMjA2LCA4MCwgCisgICAgNjksIDc2LCA2NSwgODMsIDg0LCA3OSwgNzgsIDEyOCwgODAsIDY5LCA3NiwgNjUsIDgzLCA4NCwgNzksIDIwNiwgODAsIDY5LCAKKyAgICA3MywgODQsIDcyLCAxMjgsIDgwLCA2OSwgNzIsIDY5LCA3MiwgMTI4LCA4MCwgNjksIDcyLCA2OSwgMjAwLCA4MCwgNjksIAorICAgIDcyLCAxMjgsIDgwLCA2OSwgMjAwLCA4MCwgNjksIDY5LCA5MCwgNzMsIDEyOCwgODAsIDY5LCA2OSwgODMsIDcyLCA3MywgCisgICAgMTI4LCA4MCwgNjksIDY5LCA4MCwgMTI4LCA4MCwgNjksIDY5LCA3NywgMTI4LCA4MCwgNjksIDY5LCA3MywgMTI4LCA4MCwgCisgICAgNjksIDY5LCAxMjgsIDgwLCA2OSwgNjgsIDY5LCA4MywgODQsIDgyLCA3MywgNjUsIDc4LCA4MywgMTI4LCA4MCwgNjksIDY4LCAKKyAgICA2OSwgODMsIDg0LCA4MiwgNzMsIDY1LCA3OCwgMTI4LCA4MCwgNjksIDY4LCA2OSwgODMsIDg0LCA2NSwgNzYsIDEyOCwgODAsIAorICAgIDY5LCA2OCwgNjksIDgzLCA4NCwgNjUsIDIwNCwgODAsIDY5LCA2OCwgNjUsIDIwNCwgODAsIDY5LCA2NSwgNjcsIDcyLCAKKyAgICAxMjgsIDgwLCA2OSwgNjUsIDY3LCA2OSwgMTI4LCA4MCwgNjksIDY1LCA2NywgMTk3LCA4MCwgNjgsIDczLCAxMjgsIDgwLCAKKyAgICA2OCwgNzAsIDEyOCwgODAsIDY4LCAxMjgsIDgwLCA2NywgMTI4LCA4MCwgNjUsIDkwLCA2OSwgODIsIDEyOCwgODAsIDY1LCAKKyAgICA4OSwgNjksIDgyLCA3OSwgNzUsIDEyOCwgODAsIDY1LCA4OSwgNjUsIDc4LCA3OCwgNjUsIDEyOCwgODAsIDY1LCA4OSwgCisgICAgMTI4LCA4MCwgNjUsIDg4LCAxMjgsIDgwLCA2NSwgODcsIDc4LCAxMjgsIDgwLCA2NSwgMjE1LCA4MCwgNjUsIDg2LCA3MywgCisgICAgODksIDY1LCA3OCwgNzMsIDEyOCwgODAsIDY1LCA4NSwgMTI4LCA4MCwgNjUsIDIxMywgODAsIDY1LCA4NCwgODQsIDY5LCAKKyAgICA4MiwgNzgsIDEyOCwgODAsIDY1LCA4NCwgNzIsIDY1LCA3NywgNjUsIDgzLCA2NSwgODQsIDEyOCwgODAsIDY1LCA4NCwgCisgICAgMjAwLCA4MCwgNjUsIDg0LCA2NSwgNzUsIDEyOCwgODAsIDY1LCA4NCwgNjUsIDcyLCAxMjgsIDgwLCA2NSwgODQsIDEyOCwgCisgICAgODAsIDY1LCA4MywgODUsIDgxLCAxMjgsIDgwLCA2NSwgODMsIDgzLCA4MCwgNzksIDgyLCAyMTIsIDgwLCA2NSwgODMsIDgzLCAKKyAgICA3MywgODYsIDY5LCA0NSwgODAsIDg1LCA3NiwgNzYsIDQ1LCA4NSwgODAsIDQ1LCA3OSwgODUsIDg0LCA4MCwgODUsIDIxMiwgCisgICAgODAsIDY1LCA4MywgODMsIDczLCA4NiwgNjksIDQ1LCA4MCwgODUsIDc2LCA3NiwgNDUsIDY4LCA3OSwgODcsIDc4LCA0NSwgCisgICAgNzksIDg1LCA4NCwgODAsIDg1LCAyMTIsIDgwLCA2NSwgODMsIDgzLCA2OSwgNzgsIDcxLCA2OSwgMjEwLCA4MCwgNjUsIDgzLCAKKyAgICA3MiwgODQsIDY1LCAxMjgsIDgwLCA2NSwgODMsIDcyLCA2NSwgNjksIDEyOCwgODAsIDY1LCA4MywgNjksIDgxLCAxMjgsIAorICAgIDgwLCA2NSwgODMsIDY1LCA3OCwgNzEsIDY1LCAyMDYsIDgwLCA2NSwgODIsIDg1LCA3NywgMTI4LCA4MCwgNjUsIDgyLCA4NCwgCisgICAgMjE3LCA4MCwgNjUsIDgyLCA4NCwgNzgsIDY5LCA4MiwgODMsIDcyLCA3MywgMjA4LCA4MCwgNjUsIDgyLCA4NCwgNzMsIDY1LCAKKyAgICA3NiwgNzYsIDg5LCA0NSwgODIsIDY5LCA2NywgODksIDY3LCA3NiwgNjksIDE5NiwgODAsIDY1LCA4MiwgODQsIDczLCA2NSwgCisgICAgMjA0LCA4MCwgNjUsIDgyLCA4NCwgNzIsIDczLCA2NSwgMjA2LCA4MCwgNjUsIDgyLCAyMTIsIDgwLCA2NSwgODIsIDc1LCAKKyAgICAxMjgsIDgwLCA2NSwgODIsIDczLCA2NywgNzIsIDc5LCA3OCwgMTI4LCA4MCwgNjUsIDgyLCA2OSwgODMsIDg0LCA3MywgNzEsIAorICAgIDc3LCA2OSwgNzgsIDc5LCAyMDYsIDgwLCA2NSwgODIsIDY5LCA4MiwgNjksIDc4LCAxMjgsIDgwLCA2NSwgODIsIDY5LCA3OCwgCisgICAgODQsIDcyLCA2OSwgODMsIDczLCA4MywgMTI4LCA4MCwgNjUsIDgyLCA2OSwgNzgsIDg0LCA3MiwgNjksIDgzLCA3MywgMjExLCAKKyAgICA4MCwgNjUsIDgyLCA2OSwgNzgsIDg0LCA3MiwgNjksIDgzLCA2OSwgMjExLCA4MCwgNjUsIDgyLCA2NSwgODAsIDcyLCA4MiwgCisgICAgNjUsIDgzLCAxOTcsIDgwLCA2NSwgODIsIDY1LCA3NiwgNzYsIDY5LCA3NiwgNzksIDcxLCA4MiwgNjUsIDc3LCAxMjgsIDgwLCAKKyAgICA2NSwgODIsIDY1LCA3NiwgNzYsIDY5LCA3NiwgMTI4LCA4MCwgNjUsIDgyLCA2NSwgNzYsIDc2LCA2OSwgMjA0LCA4MCwgNjUsIAorICAgIDgyLCA2NSwgNzUsIDc2LCA3MywgODQsIDczLCA3NSwgNzMsIDEyOCwgODAsIDY1LCA4MiwgNjUsIDc1LCA3NiwgNzMsIDg0LCAKKyAgICA3MywgNzUsIDIwMSwgODAsIDY1LCA4MiwgNjUsIDc1LCA2NSwgNzYsIDY5LCA4MywgNzcsIDE5MywgODAsIDY1LCA4MiwgNjUsIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNzksIDgzLCAxMjgsIDgwLCA2NSwgODIsIDY1LCA3MSwgODIsIDY1LCA4MCwgNzIsIDEyOCwgCisgICAgODAsIDY1LCA4MiwgNjUsIDcxLCA4MiwgNjUsIDgwLCAyMDAsIDgwLCA2NSwgODIsIDY1LCAxMjgsIDgwLCA2NSwgODIsIAorICAgIDEyOCwgODAsIDY1LCA4MCwgODksIDgyLCA4NSwgODMsIDEyOCwgODAsIDY1LCA4MCwgNjksIDgyLCA2NywgNzYsIDczLCA4MCwgCisgICAgODMsIDEyOCwgODAsIDY1LCA4MCwgNjksIDgyLCA2NywgNzYsIDczLCA4MCwgMTI4LCA4MCwgNjUsIDgwLCA2OSwgMjEwLCAKKyAgICA4MCwgNjUsIDgwLCAxMjgsIDgwLCA2NSwgMjA4LCA4MCwgNjUsIDIwNywgODAsIDY1LCA3OCwgODksIDg1LCA3NSwgODUsIAorICAgIDEyOCwgODAsIDY1LCA3OCwgODksIDczLCA3NSwgODUsIDEyOCwgODAsIDY1LCA3OCwgODksIDY5LCA2NywgNjksIDc1LCAKKyAgICAxMjgsIDgwLCA2NSwgNzgsIDg5LCA2NSwgNzgsIDcxLCA3MSwgNjUsIDEyOCwgODAsIDY1LCA3OCwgODksIDY1LCA3NSwgODIsIAorICAgIDY1LCAxMjgsIDgwLCA2NSwgNzgsIDg0LCA3MywgMTI4LCA4MCwgNjUsIDc4LCA4MywgNzMsIDc5LCA4MywgNDUsIDgwLCA3MywgCisgICAgNjksIDg1LCA4MCwgMTI4LCA4MCwgNjUsIDc4LCA4MywgNzMsIDc5LCA4MywgNDUsIDc1LCA2NSwgODAsIDg5LCA2OSwgNzksIAorICAgIDg1LCA3OCwgODAsIDczLCA2OSwgODUsIDgwLCAxMjgsIDgwLCA2NSwgNzgsIDc5LCA3OCwgNzEsIDc5LCA3OCwgNjUsIDc4LCAKKyAgICAxMjgsIDgwLCA2NSwgNzgsIDc5LCA3NiwgNzksIDc4LCA3MSwgMTI4LCA4MCwgNjUsIDc4LCA3MSwgODcsIDczLCA4MywgNjUsIAorICAgIDY4LCAxMjgsIDgwLCA2NSwgNzgsIDcxLCA4MiwgNjUsIDc4LCA3MSwgNzUsIDY5LCA4MCwgMTI4LCA4MCwgNjUsIDc4LCA3MSwgCisgICAgNzksIDc2LCA2NSwgODQsIDEyOCwgODAsIDY1LCA3OCwgNzEsIDc2LCA3OSwgNzgsIDcxLCAxMjgsIDgwLCA2NSwgNzgsIDcxLCAKKyAgICA3NiwgNjUsIDg5LCA2NSwgODIsIDEyOCwgODAsIDY1LCA3OCwgNzEsIDc1LCA3OSwgNzgsIDEyOCwgODAsIDY1LCA3OCwgNzEsIAorICAgIDc1LCA2NSwgODQsIDEyOCwgODAsIDY1LCA3OCwgNzEsIDcyLCA4NSwgNzYsIDg1LCAxMjgsIDgwLCA2NSwgNzgsIDcxLCAKKyAgICAxMjgsIDgwLCA2NSwgNzgsIDY5LCA4NSwgNzYsIDY5LCA4NSwgNzgsIDcxLCAxMjgsIDgwLCA2NSwgNzgsIDY4LCAxOTMsIAorICAgIDgwLCA2NSwgNzgsIDY1LCA2OSwgNzYsIDY1LCA2OSwgNzgsIDcxLCAxMjgsIDgwLCA2NSwgNzgsIDEyOCwgODAsIDY1LCA3NywgCisgICAgODUsIDc4LCA3MSwgNzUsIDY1LCA3MiwgMTI4LCA4MCwgNjUsIDc3LCA4NSwgNjgsIDgwLCA3OSwgNjgsIDEyOCwgODAsIDY1LCAKKyAgICA3NywgODMsIDcyLCA2NSwgNjksIDEyOCwgODAsIDY1LCA3NywgODAsIDcyLCA4OSwgNzYsIDczLCA2NSwgMjA2LCA4MCwgNjUsIAorICAgIDc3LCA3MywgNzgsIDcxLCA3NSwgNjUsIDc2LCAxMjgsIDgwLCA2NSwgNzcsIDY5LCA4MCwgNjksIDg0LCAxMjgsIDgwLCA2NSwgCisgICAgNzcsIDY5LCA3OCwgNjksIDc4LCA3MSwgMTI4LCA4MCwgNjUsIDc3LCA2NSwgNjgsIDY1LCAxMjgsIDgwLCA2NSwgNzcsIDY1LCAKKyAgICA2NSwgNjksIDcyLCAxMjgsIDgwLCA2NSwgNzYsIDg1LCA4NCwgNjUsIDEyOCwgODAsIDY1LCA3NiwgNzksIDY3LCA3MiwgNzUsIAorICAgIDY1LCAxMjgsIDgwLCA2NSwgNzYsIDc3LCA4OSwgODIsIDY5LCA3OCwgMTk3LCA4MCwgNjUsIDc2LCAyMDUsIDgwLCA2NSwgCisgICAgNzYsIDc2LCA2NSwgODcsIDY1LCAxMjgsIDgwLCA2NSwgNzYsIDc2LCA2NSwgODMsIDEyOCwgODAsIDY1LCA3NiwgNjksIDg0LCAKKyAgICA4NCwgNjksIDEyOCwgODAsIDY1LCA3NiwgNjUsIDg1LCA3OCwgMTk5LCA4MCwgNjUsIDc2LCA2NSwgODQsIDY1LCA3NiwgNzMsIAorICAgIDkwLCA2OSwgMTk2LCA4MCwgNjUsIDc2LCA2NSwgODQsIDY1LCA3NiwgNzMsIDkwLCA2NSwgODQsIDczLCA3OSwgNzgsIDEyOCwgCisgICAgODAsIDY1LCA3NiwgNjUsIDg0LCA2NSwgMjA0LCA4MCwgNjUsIDc1LCA4MCwgNjUsIDIwMywgODAsIDY1LCA3MywgODksIDY1LCAKKyAgICA3OCwgNzgsIDc5LCA3MywgMTI4LCA4MCwgNjUsIDczLCA4MiwgODQsIDcyLCA4MiwgNjUsIDEyOCwgODAsIDY1LCA3MywgODIsIAorICAgIDY5LCAxOTYsIDgwLCA2NSwgNzMsIDc4LCA4NCwgNjYsIDgyLCA4NSwgODMsIDcyLCAxMjgsIDgwLCA2NSwgNzMsIDEyOCwgCisgICAgODAsIDY1LCA3MiwgNzYsIDY1LCA4NiwgMjAxLCA4MCwgNjUsIDcyLCAxMjgsIDgwLCA2NSwgNzEsIDY5LCA4MywgMTI4LCAKKyAgICA4MCwgNjUsIDcxLCA2OSwgODIsIDEyOCwgODAsIDY1LCA3MSwgMTk3LCA4MCwgNjUsIDY4LCA3NywgMTkzLCA4MCwgNjUsIAorICAgIDY4LCA2OCwgNzMsIDc4LCAxOTksIDgwLCA2NSwgNjgsIDE5MywgODAsIDY1LCA2OCwgMTI4LCA4MCwgNjUsIDY3LCA3NSwgCisgICAgNzMsIDc4LCA3MSwgMTI4LCA4MCwgNjUsIDY3LCA3NSwgNjUsIDcxLCA2OSwgMTI4LCA4MCwgNjUsIDY1LCA4NCwgODUsIAorICAgIDEyOCwgODAsIDY1LCA2NSwgODMsIDY5LCA3OCwgODQsIDc5LCAxMjgsIDgwLCA2NSwgNjUsIDgyLCA2NSwgNjksIDEyOCwgCisgICAgODAsIDY1LCA2NSwgNzcsIDEyOCwgODAsIDY1LCA2NSwgNzMsIDEyOCwgODAsIDY1LCA2NSwgNDUsIDgwLCA3MywgNzYsIDc2LCAKKyAgICA2NSwgMTI4LCA4MCwgNjUsIDY1LCAxMjgsIDgwLCA1MCwgMTI4LCA4MCwgNDgsIDQ5LCA0OSwgMTI4LCA4MCwgNDgsIDQ5LCAKKyAgICA0OCwgMTI4LCA4MCwgNDgsIDQ4LCA1NywgMTI4LCA4MCwgNDgsIDQ4LCA1NiwgMTI4LCA4MCwgNDgsIDQ4LCA1NSwgMTI4LCAKKyAgICA4MCwgNDgsIDQ4LCA1NCwgMTI4LCA4MCwgNDgsIDQ4LCA1MywgMTI4LCA4MCwgNDgsIDQ4LCA1MiwgMTI4LCA4MCwgNDgsIAorICAgIDQ4LCA1MSwgNjUsIDEyOCwgODAsIDQ4LCA0OCwgNTEsIDEyOCwgODAsIDQ4LCA0OCwgNTAsIDEyOCwgODAsIDQ4LCA0OCwgCisgICAgNDksIDY1LCAxMjgsIDgwLCA0OCwgNDgsIDQ5LCAxMjgsIDc5LCA4OSwgODIsIDY1LCA3OCwgNzMsIDgzLCA3NywgMTkzLCAKKyAgICA3OSwgODksIDY1LCA3OCwgNzgsIDY1LCAxMjgsIDc5LCA4OCwgNzMsIDY1LCAxMjgsIDc5LCA4OCwgNzMsIDE5MywgNzksIAorICAgIDg4LCA2OSwgNzMsIDY1LCAyMDEsIDc5LCA4OCwgNjksIDczLCAxOTMsIDc5LCA4NiwgNjksIDgyLCA4MiwgNzMsIDY4LCA2OSwgCisgICAgMTI4LCA3OSwgODYsIDY5LCA4MiwgNzYsIDc5LCA3OCwgMTk5LCA3OSwgODYsIDY5LCA4MiwgNzYsIDczLCA3OCwgNjksIAogICAgIDEyOCwgNzksIDg2LCA2OSwgODIsIDc2LCA2NSwgODksIDEyOCwgNzksIDg2LCA2OSwgODIsIDc2LCA2NSwgODAsIDgwLCA3MywgCi0gICAgNzgsIDE5OSwgNzksIDg2LCA2OSwgODIsIDc2LCA2NSwgNzMsIDY4LCAxMjgsIDc5LCA4NiwgNjksIDgyLCA2NiwgNjUsIDgyLCAKLSAgICAxMjgsIDc5LCA4NiwgNjUsIDIwNCwgNzksIDg2LCAxMjgsIDc5LCA4NSwgODQsIDc2LCA3MywgNzgsIDY5LCAxOTYsIDc5LCAKLSAgICA4NSwgODQsIDc2LCA3MywgNzgsIDY5LCAxMjgsIDc5LCA4NSwgODQsIDY5LCAyMTAsIDc5LCA4NSwgODQsIDY2LCA3OSwgCi0gICAgMjE2LCA3OSwgODUsIDc4LCA3NSwgNzMsIDE5MywgNzksIDg1LCA3OCwgNjcsIDY5LCAxMjgsIDc5LCA4NSwgNzgsIDY3LCAKLSAgICAxOTcsIDc5LCA4NCwgODUsIDEyOCwgNzksIDg0LCA4NCwgNjUsIDg2LCAxOTMsIDc5LCA4NCwgODQsIDEyOCwgNzksIDg0LCAKLSAgICA3MiwgNjUsIDc2LCA2NSwgMjA2LCA3OSwgODQsIDcyLCA2NSwgNzYsIDEyOCwgNzksIDgzLCA3NywgNjUsIDc4LCA4OSwgCi0gICAgMTkzLCA3OSwgODMsIDY3LCAxMjgsIDc5LCA4MiwgODQsIDcyLCA3OSwgNzEsIDc5LCA3OCwgNjUsIDIwNCwgNzksIDgyLCAKLSAgICA4NCwgNzIsIDc5LCA2OCwgNzksIDIxNiwgNzksIDgyLCA3OCwgNjUsIDg0LCAxOTcsIDc5LCA4MiwgNzgsIDY1LCA3NywgNjksIAotICAgIDc4LCA4NCwgMTI4LCA3OSwgODIsIDc4LCA2NSwgNzcsIDY5LCA3OCwgMjEyLCA3OSwgODIsIDc1LCA3MiwgNzksIDIwNiwgCi0gICAgNzksIDgyLCA3MywgNzEsIDczLCA3OCwgNjUsIDIwNCwgNzksIDgyLCA3MywgNzEsIDczLCA3OCwgMTI4LCA3OSwgODIsIDY5LCAKLSAgICA0NSwgNTAsIDEyOCwgNzksIDgyLCA2OCwgNzMsIDc4LCA2NSwgMjA0LCA3OSwgODIsIDY4LCA2OSwgMjEwLCA3OSwgODIsIAotICAgIDY3LCA3MiwgNzMsIDY4LCAxMjgsIDc5LCA4MiwgNjUsIDc4LCA3MSwgMTk3LCA3OSwgODAsIDg0LCA3MywgNzksIDIwNiwgCi0gICAgNzksIDgwLCA4NCwgNzMsIDY3LCA2NSwgMjA0LCA3OSwgODAsIDgwLCA4MiwgNjksIDgzLCA4MywgNzMsIDc5LCA3OCwgMTI4LCAKLSAgICA3OSwgODAsIDgwLCA3OSwgODMsIDczLCA4NCwgNzMsIDc5LCA3OCwgMTI4LCA3OSwgODAsIDgwLCA3OSwgODMsIDczLCA3OCwgCi0gICAgMTk5LCA3OSwgODAsIDgwLCA3OSwgODMsIDY5LCAxMjgsIDc5LCA4MCwgNzIsIDczLCA4NSwgNjcsIDcyLCA4NSwgODMsIAotICAgIDEyOCwgNzksIDgwLCA2OSwgODIsIDY1LCA4NCwgNzksIDgyLCAxMjgsIDc5LCA4MCwgNjksIDgyLCA2NSwgODQsIDc5LCAKLSAgICAyMTAsIDc5LCA4MCwgNjksIDgyLCA2NSwgODQsIDczLCA3OCwgMTk5LCA3OSwgODAsIDY5LCA3OCwgNzMsIDc4LCAxOTksIAotICAgIDc5LCA4MCwgNjksIDc4LCA0NSwgODAsIDEyOCwgNzksIDgwLCA2OSwgNzgsIDQ1LCA3OSwgODUsIDg0LCA3NiwgNzMsIDc4LCAKLSAgICA2OSwgMTk2LCA3OSwgODAsIDY5LCA3OCwgNDUsIDcyLCA2OSwgNjUsIDY4LCA2OSwgMTk2LCA3OSwgODAsIDY5LCA3OCwgNDUsIAotICAgIDY3LCA3MywgODIsIDY3LCA4NSwgNzMsIDg0LCA0NSwgNzksIDg1LCA4NCwgODAsIDg1LCAyMTIsIDc5LCA3OSwgOTAsIDY5LCAKLSAgICAxMjgsIDc5LCA3OSwgODksIDY1LCA3OCwgNzgsIDY1LCAxMjgsIDc5LCA3OSwgODUsIDEyOCwgNzksIDc5LCA3NywgODUsIAotICAgIDEyOCwgNzksIDc5LCA2OSwgMTI4LCA3OSwgNzksIDY2LCA3OSwgNzksIDcwLCA3MywgNzYsIDczLCAxMjgsIDc5LCA3OCwgCi0gICAgODUsIDEyOCwgNzksIDc4LCA4MywgODUsIDEyOCwgNzksIDc4LCA3OCwgMTI4LCA3OSwgNzgsIDc1LCA2NSwgODIsIDEyOCwgCi0gICAgNzksIDc4LCA2OSwgODMsIDY5LCA3NiwgNzAsIDEyOCwgNzksIDc4LCA2OSwgNDUsIDg3LCA2NSwgMjE3LCA3OSwgNzgsIDY5LCAKLSAgICA0NSwgODQsIDcyLCA3MywgODIsIDg0LCA4OSwgMTI4LCA3OSwgNzgsIDY5LCA0NSwgNzYsIDczLCA3OCwgMTk3LCA3OSwgNzgsIAotICAgIDY3LCA3OSwgNzcsIDczLCA3OCwgMTk5LCA3OSwgNzgsIDY1LCA4MCwgMTI4LCA3OSwgNzcsIDczLCA4MywgODMsIDczLCA3OSwgCi0gICAgMjA2LCA3OSwgNzcsIDczLCA2NywgODIsIDc5LCA3OCwgMTI4LCA3OSwgNzcsIDczLCA2NywgODIsIDc5LCAyMDYsIDc5LCAKLSAgICA3NywgNjksIDcxLCA2NSwgMTI4LCA3OSwgNzcsIDY5LCA3MSwgMTkzLCA3OSwgNzcsIDY1LCA3NiwgNzksIDc4LCAxMjgsIAotICAgIDc5LCA3NiwgNzMsIDg2LCA2OSwgMTI4LCA3OSwgNzYsIDczLCA3MSwgNzksIDIwNiwgNzksIDc2LCA2OCwgMTI4LCA3OSwgCi0gICAgNzUsIDg0LCAyMDcsIDc5LCA3NSwgNjUsIDgyLCA2NSwgMTI4LCA3OSwgNzUsIDY1LCA4MiwgMTkzLCA3OSwgNzQsIDczLCAKLSAgICA2NiwgODcsIDY1LCAyMTcsIDc5LCA3NCwgNjksIDc5LCA3OCwgMTI4LCA3OSwgNzMsIDc2LCAxMjgsIDc5LCA3MiwgNzcsIAotICAgIDEyOCwgNzksIDcyLCAyMDUsIDc5LCA3MSwgODIsIDY5LCAxMjgsIDc5LCA3MSwgNzksIDc4LCA2OSwgNzUsIDEyOCwgNzksIAotICAgIDcxLCA3OSwgNzgsIDY5LCAyMDMsIDc5LCA3MSwgNzIsIDY1LCAyMDUsIDc5LCA3MCwgNzAsIDczLCA2NywgNjksIDgyLCAKLSAgICAxMjgsIDc5LCA3MCwgNzAsIDczLCA2NywgNjksIDEyOCwgNzksIDcwLCA3MCwgNzMsIDY3LCAxOTcsIDc5LCA3MCwgNzAsIAotICAgIDEyOCwgNzksIDY5LCA4OSwgMTI4LCA3OSwgNjksIDc1LCAxMjgsIDc5LCA2OCwgNjksIDc4LCAxMjgsIDc5LCA2OCwgMTk2LCAKLSAgICA3OSwgNjcsIDg0LCA3OSwgODAsIDg1LCA4MywgMTI4LCA3OSwgNjcsIDg0LCA3OSwgNjYsIDY5LCA4MiwgMTI4LCA3OSwgNjcsIAotICAgIDg0LCA2OSwgMjEyLCA3OSwgNjcsIDIxMCwgNzksIDY3LCA3NiwgNzksIDY3LCA3NSwgMTI4LCA3OSwgNjcsIDY3LCA3NiwgCi0gICAgODUsIDgzLCA3MywgNzksIDc4LCAxMjgsIDc5LCA2NiwgODMsIDg0LCA4MiwgODUsIDY3LCA4NCwgNzMsIDc5LCA3OCwgMTI4LCAKLSAgICA3OSwgNjYsIDc5LCA3NiwgMjExLCA3OSwgNjYsIDc5LCAyMDQsIDc5LCA2NiwgNzksIDcwLCA3MywgNzYsIDczLCAxMjgsIAotICAgIDc5LCA2NiwgNzYsIDczLCA4MSwgODUsIDE5NywgNzksIDY2LCA3NCwgNjksIDY3LCAyMTIsIDc5LCA2NiwgNjksIDc2LCA4NSwgCi0gICAgODMsIDEyOCwgNzksIDY2LCA2OSwgNzYsIDc5LCA4MywgMTI4LCA3OSwgNjYsIDEyOCwgNzksIDY1LCA4OSwgMTI4LCA3OSwgCi0gICAgNjUsIDc1LCAxMjgsIDc5LCA2NSwgNjYsIDc5LCA2NSwgNzAsIDczLCA3NiwgNzMsIDEyOCwgNzksIDE5MywgNzksIDQ4LCAKLSAgICA1MywgNDksIDEyOCwgNzksIDQ4LCA1MywgNDgsIDY2LCAxMjgsIDc5LCA0OCwgNTMsIDQ4LCA2NSwgMTI4LCA3OSwgNDgsIAotICAgIDUzLCA0OCwgMTI4LCA3OSwgNDgsIDUyLCA1NywgMTI4LCA3OSwgNDgsIDUyLCA1NiwgMTI4LCA3OSwgNDgsIDUyLCA1NSwgCi0gICAgMTI4LCA3OSwgNDgsIDUyLCA1NCwgMTI4LCA3OSwgNDgsIDUyLCA1MywgMTI4LCA3OSwgNDgsIDUyLCA1MiwgMTI4LCA3OSwgCi0gICAgNDgsIDUyLCA1MSwgMTI4LCA3OSwgNDgsIDUyLCA1MCwgMTI4LCA3OSwgNDgsIDUyLCA0OSwgMTI4LCA3OSwgNDgsIDUyLCAKLSAgICA0OCwgMTI4LCA3OSwgNDgsIDUxLCA1NywgMTI4LCA3OSwgNDgsIDUxLCA1NiwgMTI4LCA3OSwgNDgsIDUxLCA1NSwgMTI4LCAKLSAgICA3OSwgNDgsIDUxLCA1NCwgNjgsIDEyOCwgNzksIDQ4LCA1MSwgNTQsIDY3LCAxMjgsIDc5LCA0OCwgNTEsIDU0LCA2NiwgCi0gICAgMTI4LCA3OSwgNDgsIDUxLCA1NCwgNjUsIDEyOCwgNzksIDQ4LCA1MSwgNTQsIDEyOCwgNzksIDQ4LCA1MSwgNTMsIDEyOCwgCi0gICAgNzksIDQ4LCA1MSwgNTIsIDEyOCwgNzksIDQ4LCA1MSwgNTEsIDY1LCAxMjgsIDc5LCA0OCwgNTEsIDUxLCAxMjgsIDc5LCAKLSAgICA0OCwgNTEsIDUwLCAxMjgsIDc5LCA0OCwgNTEsIDQ5LCAxMjgsIDc5LCA0OCwgNTEsIDQ4LCA2NSwgMTI4LCA3OSwgNDgsIAotICAgIDUxLCA0OCwgMTI4LCA3OSwgNDgsIDUwLCA1NywgNjUsIDEyOCwgNzksIDQ4LCA1MCwgNTcsIDEyOCwgNzksIDQ4LCA1MCwgCi0gICAgNTYsIDEyOCwgNzksIDQ4LCA1MCwgNTUsIDEyOCwgNzksIDQ4LCA1MCwgNTQsIDEyOCwgNzksIDQ4LCA1MCwgNTMsIDY1LCAKLSAgICAxMjgsIDc5LCA0OCwgNTAsIDUzLCAxMjgsIDc5LCA0OCwgNTAsIDUyLCA2NSwgMTI4LCA3OSwgNDgsIDUwLCA1MiwgMTI4LCAKLSAgICA3OSwgNDgsIDUwLCA1MSwgMTI4LCA3OSwgNDgsIDUwLCA1MCwgMTI4LCA3OSwgNDgsIDUwLCA0OSwgMTI4LCA3OSwgNDgsIAotICAgIDUwLCA0OCwgNjUsIDEyOCwgNzksIDQ4LCA1MCwgNDgsIDEyOCwgNzksIDQ4LCA0OSwgNTcsIDY1LCAxMjgsIDc5LCA0OCwgCi0gICAgNDksIDU3LCAxMjgsIDc5LCA0OCwgNDksIDU2LCAxMjgsIDc5LCA0OCwgNDksIDU1LCAxMjgsIDc5LCA0OCwgNDksIDU0LCAKLSAgICAxMjgsIDc5LCA0OCwgNDksIDUzLCAxMjgsIDc5LCA0OCwgNDksIDUyLCAxMjgsIDc5LCA0OCwgNDksIDUxLCAxMjgsIDc5LCAKLSAgICA0OCwgNDksIDUwLCAxMjgsIDc5LCA0OCwgNDksIDQ5LCAxMjgsIDc5LCA0OCwgNDksIDQ4LCA2NywgMTI4LCA3OSwgNDgsIAotICAgIDQ5LCA0OCwgNjYsIDEyOCwgNzksIDQ4LCA0OSwgNDgsIDY1LCAxMjgsIDc5LCA0OCwgNDksIDQ4LCAxMjgsIDc5LCA0OCwgCi0gICAgNDgsIDU3LCAxMjgsIDc5LCA0OCwgNDgsIDU2LCAxMjgsIDc5LCA0OCwgNDgsIDU1LCAxMjgsIDc5LCA0OCwgNDgsIDU0LCAKLSAgICA3MCwgMTI4LCA3OSwgNDgsIDQ4LCA1NCwgNjksIDEyOCwgNzksIDQ4LCA0OCwgNTQsIDY4LCAxMjgsIDc5LCA0OCwgNDgsIAotICAgIDU0LCA2NywgMTI4LCA3OSwgNDgsIDQ4LCA1NCwgNjYsIDEyOCwgNzksIDQ4LCA0OCwgNTQsIDY1LCAxMjgsIDc5LCA0OCwgCi0gICAgNDgsIDU0LCAxMjgsIDc5LCA0OCwgNDgsIDUzLCA2NSwgMTI4LCA3OSwgNDgsIDQ4LCA1MywgMTI4LCA3OSwgNDgsIDQ4LCAKLSAgICA1MiwgMTI4LCA3OSwgNDgsIDQ4LCA1MSwgMTI4LCA3OSwgNDgsIDQ4LCA1MCwgMTI4LCA3OSwgNDgsIDQ4LCA0OSwgNjUsIAotICAgIDEyOCwgNzksIDQ4LCA0OCwgNDksIDEyOCwgNzksIDQ1LCA4OSwgNjksIDEyOCwgNzksIDQ1LCA3OSwgNDUsIDczLCAxMjgsIAotICAgIDc5LCA0NSwgNjksIDEyOCwgNzgsIDkwLCA4OSwgODgsIDEyOCwgNzgsIDkwLCA4OSwgODQsIDEyOCwgNzgsIDkwLCA4OSwgCi0gICAgODIsIDg4LCAxMjgsIDc4LCA5MCwgODksIDgyLCAxMjgsIDc4LCA5MCwgODksIDgwLCAxMjgsIDc4LCA5MCwgODksIDEyOCwgCi0gICAgNzgsIDkwLCA4NSwgODgsIDEyOCwgNzgsIDkwLCA4NSwgODIsIDg4LCAxMjgsIDc4LCA5MCwgODUsIDgyLCAxMjgsIDc4LCAKLSAgICA5MCwgODUsIDgxLCAxMjgsIDc4LCA5MCwgODUsIDgwLCAxMjgsIDc4LCA5MCwgODUsIDc5LCA4OCwgMTI4LCA3OCwgOTAsIAotICAgIDg1LCA3OSwgMTI4LCA3OCwgOTAsIDg1LCAyMDYsIDc4LCA5MCwgODUsIDEyOCwgNzgsIDkwLCA3OSwgODgsIDEyOCwgNzgsIAotICAgIDkwLCA3OSwgODAsIDEyOCwgNzgsIDkwLCA3MywgODgsIDEyOCwgNzgsIDkwLCA3MywgODQsIDEyOCwgNzgsIDkwLCA3MywgCi0gICAgODAsIDEyOCwgNzgsIDkwLCA3MywgNjksIDg4LCAxMjgsIDc4LCA5MCwgNzMsIDY5LCA4MCwgMTI4LCA3OCwgOTAsIDczLCAKLSAgICA2OSwgMTI4LCA3OCwgOTAsIDczLCAxMjgsIDc4LCA5MCwgNjksIDg4LCAxMjgsIDc4LCA5MCwgNjksIDg1LCA3NywgMTI4LCAKLSAgICA3OCwgOTAsIDY5LCAxMjgsIDc4LCA5MCwgNjUsIDg4LCAxMjgsIDc4LCA5MCwgNjUsIDg0LCAxMjgsIDc4LCA5MCwgNjUsIAotICAgIDgxLCAxMjgsIDc4LCA5MCwgNjUsIDgwLCAxMjgsIDc4LCA5MCwgNjUsIDEyOCwgNzgsIDkwLCAxOTMsIDc4LCA4OSwgODcsIAotICAgIDY1LCAxMjgsIDc4LCA4OSwgODUsIDg4LCAxMjgsIDc4LCA4OSwgODUsIDg1LCAxMjgsIDc4LCA4OSwgODUsIDg0LCAxMjgsIAotICAgIDc4LCA4OSwgODUsIDgwLCAxMjgsIDc4LCA4OSwgODUsIDc5LCA4OCwgMTI4LCA3OCwgODksIDg1LCA3OSwgODAsIDEyOCwgCi0gICAgNzgsIDg5LCA4NSwgNzksIDEyOCwgNzgsIDg5LCA4NSwgNjksIDEyOCwgNzgsIDg5LCA4NSwgMTI4LCA3OCwgODksIDc5LCAKLSAgICA4OCwgMTI4LCA3OCwgODksIDc5LCA4NCwgMTI4LCA3OCwgODksIDc5LCA4MCwgMTI4LCA3OCwgODksIDc5LCA3OSwgMTI4LCAKLSAgICA3OCwgODksIDc5LCA2NSwgMTI4LCA3OCwgODksIDc5LCAxMjgsIDc4LCA4OSwgNzQsIDY1LCAxMjgsIDc4LCA4OSwgNzMsIAotICAgIDg4LCAxMjgsIDc4LCA4OSwgNzMsIDg0LCAxMjgsIDc4LCA4OSwgNzMsIDIxMiwgNzgsIDg5LCA3MywgMjExLCA3OCwgODksIAotICAgIDczLCAyMTAsIDc4LCA4OSwgNzMsIDgwLCAxMjgsIDc4LCA4OSwgNzMsIDc4LCA0NSwgNjgsIDc5LCAxMjgsIDc4LCA4OSwgCi0gICAgNzMsIDczLCAxMjgsIDc4LCA4OSwgNzMsIDY5LCA4OCwgMTI4LCA3OCwgODksIDczLCA2OSwgODQsIDEyOCwgNzgsIDg5LCAKLSAgICA3MywgNjksIDgwLCAxMjgsIDc4LCA4OSwgNzMsIDY5LCAxMjgsIDc4LCA4OSwgNzMsIDEyOCwgNzgsIDg5LCAyMDEsIDc4LCAKLSAgICA4OSwgNzIsIDY1LCAxMjgsIDc4LCA4OSwgNjksIDg0LCAxMjgsIDc4LCA4OSwgNjksIDIxMiwgNzgsIDg5LCA2OSwgNzIsIAotICAgIDEyOCwgNzgsIDg5LCA2OSwgMjAwLCA3OCwgODksIDY5LCA2OSwgMTI4LCA3OCwgODksIDY5LCAxMjgsIDc4LCA4OSwgMTk2LCAKLSAgICA3OCwgODksIDY3LCA2NSwgMTI4LCA3OCwgODksIDY1LCA4NSwgMTI4LCA3OCwgODksIDY1LCA3MywgMTI4LCA3OCwgODksIAotICAgIDY1LCA3MiwgMTI4LCA3OCwgODksIDY1LCA2OSwgNzcsIDY1LCA2OSwgMTI4LCA3OCwgODksIDY1LCA2NSwgMTI4LCA3OCwgCi0gICAgODcsIDc5LCA3OSwgMTI4LCA3OCwgODcsIDc5LCAxMjgsIDc4LCA4NywgNzMsIDczLCAxMjgsIDc4LCA4NywgNzMsIDEyOCwgCi0gICAgNzgsIDg3LCA2OSwgMTI4LCA3OCwgODcsIDY1LCA2NSwgMTI4LCA3OCwgODcsIDY1LCAxMjgsIDc4LCA4NywgMTI4LCA3OCwgCi0gICAgODYsIDEyOCwgNzgsIDg1LCA4OCwgMTI4LCA3OCwgODUsIDg1LCA3OCwgMTI4LCA3OCwgODUsIDg1LCAxMjgsIDc4LCA4NSwgCi0gICAgODQsIDczLCA3NiwgNzYsIDg1LCAxMjgsIDc4LCA4NSwgODQsIDEyOCwgNzgsIDg1LCAyMTIsIDc4LCA4NSwgODIsIDg4LCAKLSAgICAxMjgsIDc4LCA4NSwgODIsIDEyOCwgNzgsIDg1LCA4MCwgMTI4LCA3OCwgODUsIDc5LCA4OCwgMTI4LCA3OCwgODUsIDc5LCAKLSAgICA4MCwgMTI4LCA3OCwgODUsIDc5LCAxMjgsIDc4LCA4NSwgNzgsIDg1LCA5MCwgMTI4LCA3OCwgODUsIDc4LCA4NSwgMjE4LCAKLSAgICA3OCwgODUsIDc4LCA3MSwgMTI4LCA3OCwgODUsIDc4LCA2NSwgODYsIDg1LCAyMTIsIDc4LCA4NSwgNzgsIDY1LCA4NiwgNzMsIAotICAgIDIwMywgNzgsIDg1LCA3OCwgMTI4LCA3OCwgODUsIDIwNiwgNzgsIDg1LCA3NywgNjksIDgyLCAyMDcsIDc4LCA4NSwgNzcsIAotICAgIDY5LCA4MiwgNjUsIDg0LCA3OSwgMjEwLCA3OCwgODUsIDc3LCA2OSwgODIsIDY1LCAyMDQsIDc4LCA4NSwgNzcsIDY2LCA2OSwgCi0gICAgODIsIDgzLCAxMjgsIDc4LCA4NSwgNzcsIDY2LCA2OSwgODIsIDEyOCwgNzgsIDg1LCA3NywgMTI4LCA3OCwgODUsIDc2LCAKLSAgICA3NiwgMTI4LCA3OCwgODUsIDc2LCAyMDQsIDc4LCA4NSwgNzYsIDEyOCwgNzgsIDg1LCA3NSwgODQsIDY1LCAxMjgsIDc4LCAKLSAgICA4NSwgNjksIDc4LCA3MSwgMTI4LCA3OCwgODUsIDY5LCAxMjgsIDc4LCA4NSwgNjYsIDczLCA2NSwgMjA2LCA3OCwgODUsIAotICAgIDY1LCA2OSwgMTI4LCA3OCwgODUsIDQ5LCA0OSwgMTI4LCA3OCwgODUsIDQ5LCAxNzcsIDc4LCA4NSwgNDgsIDUwLCA1MCwgCi0gICAgNjUsIDEyOCwgNzgsIDg1LCA0OCwgNTAsIDUwLCAxMjgsIDc4LCA4NSwgNDgsIDUwLCA0OSwgMTI4LCA3OCwgODUsIDQ4LCAKLSAgICA1MCwgNDgsIDEyOCwgNzgsIDg1LCA0OCwgNDksIDU3LCAxMjgsIDc4LCA4NSwgNDgsIDQ5LCA1NiwgNjUsIDEyOCwgNzgsIAotICAgIDg1LCA0OCwgNDksIDU2LCAxMjgsIDc4LCA4NSwgNDgsIDQ5LCA1NSwgMTI4LCA3OCwgODUsIDQ4LCA0OSwgNTQsIDEyOCwgCi0gICAgNzgsIDg1LCA0OCwgNDksIDUzLCAxMjgsIDc4LCA4NSwgNDgsIDQ5LCA1MiwgMTI4LCA3OCwgODUsIDQ4LCA0OSwgNTEsIAotICAgIDEyOCwgNzgsIDg1LCA0OCwgNDksIDUwLCAxMjgsIDc4LCA4NSwgNDgsIDQ5LCA0OSwgNjUsIDEyOCwgNzgsIDg1LCA0OCwgCi0gICAgNDksIDQ5LCAxMjgsIDc4LCA4NSwgNDgsIDQ5LCA0OCwgNjUsIDEyOCwgNzgsIDg1LCA0OCwgNDksIDQ4LCAxMjgsIDc4LCAKLSAgICA4NSwgNDgsIDQ4LCA1NywgMTI4LCA3OCwgODUsIDQ4LCA0OCwgNTYsIDEyOCwgNzgsIDg1LCA0OCwgNDgsIDU1LCAxMjgsIAotICAgIDc4LCA4NSwgNDgsIDQ4LCA1NCwgMTI4LCA3OCwgODUsIDQ4LCA0OCwgNTMsIDEyOCwgNzgsIDg1LCA0OCwgNDgsIDUyLCAKLSAgICAxMjgsIDc4LCA4NSwgNDgsIDQ4LCA1MSwgMTI4LCA3OCwgODUsIDQ4LCA0OCwgNTAsIDEyOCwgNzgsIDg1LCA0OCwgNDgsIAotICAgIDQ5LCAxMjgsIDc4LCA4NCwgODUsIDg1LCAxMjgsIDc4LCA4NCwgODUsIDc3LCAxMjgsIDc4LCA4NCwgMjEzLCA3OCwgODQsIAotICAgIDc5LCA4MSwgODAsIDY5LCA3OCwgMTI4LCA3OCwgODQsIDczLCA2OSwgMTk3LCA3OCwgODQsIDY5LCA4NSwgNzgsIDcxLCA2NiwgCi0gICAgNjUsIDEyOCwgNzgsIDg0LCA2OSwgODUsIDc3LCAxMjgsIDc4LCA4NCwgNjksIDc4LCAxMjgsIDc4LCA4NCwgNjksIDY5LCAKLSAgICAxMjgsIDc4LCA4NCwgNjUsIDgwLCAxMjgsIDc4LCA4NCwgNjUsIDIwOCwgNzgsIDg0LCA2NSwgNjUsIDEyOCwgNzgsIDgzLCAKLSAgICA4NSwgNzksIDIxMiwgNzgsIDgzLCA4NSwgNzgsIDEyOCwgNzgsIDgzLCA4NSwgNzcsIDEyOCwgNzgsIDgzLCA3OSwgNzcsIAotICAgIDEyOCwgNzgsIDgzLCA3MywgNjksIDY5LCA4NCwgMTI4LCA3OCwgODMsIDczLCA2OSwgNjksIDgwLCAxMjgsIDc4LCA4MywgCi0gICAgNzMsIDY5LCA2OSwgMTI4LCA3OCwgODMsIDcyLCA4NSwgODQsIDEyOCwgNzgsIDgzLCA3MiwgODUsIDIxMiwgNzgsIDgzLCAKLSAgICA3MiwgODUsIDc5LCA4MCwgMTI4LCA3OCwgODMsIDcyLCA4NSwgNjksIDEyOCwgNzgsIDgzLCA3MiwgNzMsIDY5LCA2OSwgCi0gICAgMTI4LCA3OCwgODMsIDcyLCA2OSwgNjksIDEyOCwgNzgsIDgzLCA3MiwgNjUsIDgxLCAxMjgsIDc4LCA4MywgNzIsIDY1LCAKLSAgICAxMjgsIDc4LCA4MywgNjksIDg1LCA2NSwgNjksIDc4LCAxMjgsIDc4LCA4MywgNjksIDc4LCAxMjgsIDc4LCA4MywgNjUsIAotICAgIDEyOCwgNzgsIDgyLCA4OSwgODgsIDEyOCwgNzgsIDgyLCA4OSwgODQsIDEyOCwgNzgsIDgyLCA4OSwgODIsIDg4LCAxMjgsIAotICAgIDc4LCA4MiwgODksIDgyLCAxMjgsIDc4LCA4MiwgODksIDgwLCAxMjgsIDc4LCA4MiwgODksIDEyOCwgNzgsIDgyLCA4NSwgCi0gICAgODgsIDEyOCwgNzgsIDgyLCA4NSwgODQsIDEyOCwgNzgsIDgyLCA4NSwgODIsIDg4LCAxMjgsIDc4LCA4MiwgODUsIDgyLCAKLSAgICAxMjgsIDc4LCA4MiwgODUsIDgwLCAxMjgsIDc4LCA4MiwgODUsIDEyOCwgNzgsIDgyLCA3OSwgODgsIDEyOCwgNzgsIDgyLCAKLSAgICA3OSwgODAsIDEyOCwgNzgsIDgyLCA3OSwgMTI4LCA3OCwgODIsIDY5LCA4OCwgMTI4LCA3OCwgODIsIDY5LCA4NCwgMTI4LCAKLSAgICA3OCwgODIsIDY5LCA4MCwgMTI4LCA3OCwgODIsIDY5LCAxMjgsIDc4LCA4MiwgNjUsIDg4LCAxMjgsIDc4LCA4MiwgNjUsIAotICAgIDg0LCAxMjgsIDc4LCA4MiwgNjUsIDgwLCAxMjgsIDc4LCA4MiwgNjUsIDEyOCwgNzgsIDc5LCA4OSwgMTI4LCA3OCwgNzksIAotICAgIDg4LCAxMjgsIDc4LCA3OSwgODYsIDY5LCA3NywgNjYsIDY5LCA4MiwgMTI4LCA3OCwgNzksIDg0LCA4NCwgNzksIDEyOCwgCi0gICAgNzgsIDc5LCA4NCwgNjksIDgzLCAxMjgsIDc4LCA3OSwgODQsIDY5LCA3MiwgNjksIDY1LCA2OCwgMTI4LCA3OCwgNzksIDg0LCAKLSAgICA2OSwgNzIsIDY5LCA2NSwgMTk2LCA3OCwgNzksIDg0LCA2OSwgNjYsIDc5LCA3OSwgNzUsIDEyOCwgNzgsIDc5LCA4NCwgNjksIAotICAgIDY2LCA3OSwgNzksIDIwMywgNzgsIDc5LCA4NCwgNjksIDEyOCwgNzgsIDc5LCA4NCwgMTk3LCA3OCwgNzksIDg0LCA2NywgCi0gICAgNzIsIDY5LCAxOTYsIDc4LCA3OSwgODQsIDY3LCA3MiwgMTI4LCA3OCwgNzksIDg0LCAxMjgsIDc4LCA3OSwgMjEyLCA3OCwgCi0gICAgNzksIDgzLCA2OSwgMTI4LCA3OCwgNzksIDgyLCA4NCwgNzIsIDg3LCA2OSwgODMsIDIxMiwgNzgsIDc5LCA4MiwgODQsIDcyLCAKLSAgICA2OSwgODIsIDIwNiwgNzgsIDc5LCA4MiwgODQsIDIwMCwgNzgsIDc5LCA4MiwgNzcsIDY1LCAyMDQsIDc4LCA3OSwgMjEwLCAKKyAgICA3OCwgMTk5LCA3OSwgODYsIDY5LCA4MiwgNzYsIDY1LCA4MCwgMTI4LCA3OSwgODYsIDY5LCA4MiwgNzYsIDY1LCA3MywgNjgsIAorICAgIDEyOCwgNzksIDg2LCA2OSwgODIsIDY2LCA2NSwgODIsIDEyOCwgNzksIDg2LCA2NSwgMjA0LCA3OSwgODUsIDg0LCA3NiwgCisgICAgNzMsIDc4LCA2OSwgMTk2LCA3OSwgODUsIDg0LCA3NiwgNzMsIDc4LCA2OSwgMTI4LCA3OSwgODUsIDg0LCA2OSwgMjEwLCAKKyAgICA3OSwgODUsIDg0LCA2NiwgNzksIDIxNiwgNzksIDg1LCA3OCwgNzUsIDczLCAxOTMsIDc5LCA4NSwgNzgsIDY3LCA2OSwgCisgICAgMTI4LCA3OSwgODUsIDc4LCA2NywgMTk3LCA3OSwgODQsIDg1LCAxMjgsIDc5LCA4NCwgODQsIDY1LCA4NiwgMTkzLCA3OSwgCisgICAgODQsIDg0LCAxMjgsIDc5LCA4NCwgNzIsIDY1LCA3NiwgNjUsIDIwNiwgNzksIDg0LCA3MiwgNjUsIDc2LCAxMjgsIDc5LCAKKyAgICA4MywgNzcsIDY1LCA3OCwgODksIDE5MywgNzksIDgzLCA2NywgMTI4LCA3OSwgODIsIDg0LCA3MiwgNzksIDcxLCA3OSwgNzgsIAorICAgIDY1LCAyMDQsIDc5LCA4MiwgODQsIDcyLCA3OSwgNjgsIDc5LCAyMTYsIDc5LCA4MiwgNzgsIDY1LCA4NCwgMTk3LCA3OSwgCisgICAgODIsIDc4LCA2NSwgNzcsIDY5LCA3OCwgODQsIDEyOCwgNzksIDgyLCA3OCwgNjUsIDc3LCA2OSwgNzgsIDIxMiwgNzksIDgyLCAKKyAgICA3NSwgNzIsIDc5LCAyMDYsIDc5LCA4MiwgNzMsIDcxLCA3MywgNzgsIDY1LCAyMDQsIDc5LCA4MiwgNzMsIDcxLCA3MywgNzgsIAorICAgIDEyOCwgNzksIDgyLCA2OSwgNDUsIDUwLCAxMjgsIDc5LCA4MiwgNjgsIDczLCA3OCwgNjUsIDIwNCwgNzksIDgyLCA2OCwgCisgICAgNjksIDIxMCwgNzksIDgyLCA2NywgNzIsIDczLCA2OCwgMTI4LCA3OSwgODIsIDY1LCA3OCwgNzEsIDE5NywgNzksIDgwLCAKKyAgICA4NCwgNzMsIDc5LCAyMDYsIDc5LCA4MCwgODQsIDczLCA2NywgNjUsIDIwNCwgNzksIDgwLCA4MCwgODIsIDY5LCA4MywgODMsIAorICAgIDczLCA3OSwgNzgsIDEyOCwgNzksIDgwLCA4MCwgNzksIDgzLCA3MywgODQsIDczLCA3OSwgNzgsIDEyOCwgNzksIDgwLCA4MCwgCisgICAgNzksIDgzLCA3MywgNzgsIDE5OSwgNzksIDgwLCA4MCwgNzksIDgzLCA2OSwgMTI4LCA3OSwgODAsIDcyLCA3MywgODUsIDY3LCAKKyAgICA3MiwgODUsIDgzLCAxMjgsIDc5LCA4MCwgNjksIDgyLCA2NSwgODQsIDc5LCA4MiwgMTI4LCA3OSwgODAsIDY5LCA4MiwgNjUsIAorICAgIDg0LCA3OSwgMjEwLCA3OSwgODAsIDY5LCA4MiwgNjUsIDg0LCA3MywgNzgsIDE5OSwgNzksIDgwLCA2OSwgNzgsIDczLCA3OCwgCisgICAgMTk5LCA3OSwgODAsIDY5LCA3OCwgNDUsIDgwLCAxMjgsIDc5LCA4MCwgNjksIDc4LCA0NSwgNzksIDg1LCA4NCwgNzYsIDczLCAKKyAgICA3OCwgNjksIDE5NiwgNzksIDgwLCA2OSwgNzgsIDQ1LCA3OSwgMTI4LCA3OSwgODAsIDY5LCA3OCwgNDUsIDIwNywgNzksIAorICAgIDgwLCA2OSwgNzgsIDQ1LCA3MiwgNjksIDY1LCA2OCwgNjksIDE5NiwgNzksIDgwLCA2OSwgNzgsIDQ1LCA2NywgNzMsIDgyLCAKKyAgICA2NywgODUsIDczLCA4NCwgNDUsIDc5LCA4NSwgODQsIDgwLCA4NSwgMjEyLCA3OSwgODAsIDY5LCAyMDYsIDc5LCA3OSwgOTAsIAorICAgIDY5LCAxMjgsIDc5LCA3OSwgODksIDY1LCA3OCwgNzgsIDY1LCAxMjgsIDc5LCA3OSwgODUsIDEyOCwgNzksIDc5LCA3NywgCisgICAgODUsIDEyOCwgNzksIDc5LCA3MiwgMTI4LCA3OSwgNzksIDY5LCAxMjgsIDc5LCA3OSwgNjYsIDc5LCA3OSwgNzAsIDczLCAKKyAgICA3NiwgNzMsIDEyOCwgNzksIDc4LCA4NSwgMTI4LCA3OSwgNzgsIDgzLCA4NSwgMTI4LCA3OSwgNzgsIDc4LCAxMjgsIDc5LCAKKyAgICA3OCwgNzUsIDY1LCA4MiwgMTI4LCA3OSwgNzgsIDY5LCA4MywgNjksIDc2LCA3MCwgMTI4LCA3OSwgNzgsIDY5LCA0NSwgODcsIAorICAgIDY1LCAyMTcsIDc5LCA3OCwgNjksIDQ1LCA4NCwgNzIsIDczLCA4MiwgODQsIDg5LCAxMjgsIDc5LCA3OCwgNjksIDQ1LCA3NiwgCisgICAgNzMsIDc4LCAxOTcsIDc5LCA3OCwgNjcsIDc5LCA3NywgNzMsIDc4LCAxOTksIDc5LCA3OCwgNjUsIDgwLCAxMjgsIDc5LCAKKyAgICA3NywgNzMsIDgzLCA4MywgNzMsIDc5LCAyMDYsIDc5LCA3NywgNzMsIDY3LCA4MiwgNzksIDc4LCAxMjgsIDc5LCA3NywgNzMsIAorICAgIDY3LCA4MiwgNzksIDIwNiwgNzksIDc3LCA2OSwgNzEsIDY1LCAxMjgsIDc5LCA3NywgNjksIDcxLCAxOTMsIDc5LCA3NywgCisgICAgNjUsIDc2LCA3OSwgNzgsIDEyOCwgNzksIDc2LCA3MywgODYsIDY5LCAxMjgsIDc5LCA3NiwgNzMsIDcxLCA3OSwgMjA2LCAKKyAgICA3OSwgNzYsIDY4LCAxMjgsIDc5LCA3NSwgODQsIDIwNywgNzksIDc1LCA2NSwgODIsIDY1LCAxMjgsIDc5LCA3NSwgNjUsIAorICAgIDgyLCAxOTMsIDc5LCA3NCwgNzMsIDY2LCA4NywgNjUsIDIxNywgNzksIDc0LCA2OSwgNzksIDc4LCAxMjgsIDc5LCA3MywgCisgICAgNzYsIDEyOCwgNzksIDczLCAyMDQsIDc5LCA3MiwgNzcsIDEyOCwgNzksIDcyLCAyMDUsIDc5LCA3MSwgODIsIDY5LCAxMjgsIAorICAgIDc5LCA3MSwgNzksIDc4LCA2OSwgNzUsIDEyOCwgNzksIDcxLCA3OSwgNzgsIDY5LCAyMDMsIDc5LCA3MSwgNzIsIDY1LCAKKyAgICAyMDUsIDc5LCA3MCwgNzAsIDczLCA2NywgNjksIDgyLCAxMjgsIDc5LCA3MCwgNzAsIDczLCA2NywgNjksIDEyOCwgNzksIAorICAgIDcwLCA3MCwgNzMsIDY3LCAxOTcsIDc5LCA3MCwgNzAsIDEyOCwgNzksIDY5LCA4OSwgMTI4LCA3OSwgNjksIDc1LCAxMjgsIAorICAgIDc5LCA2OCwgNjksIDc4LCAxMjgsIDc5LCA2OCwgNjgsIDEyOCwgNzksIDY4LCAxOTYsIDc5LCA2NywgODQsIDc5LCA4MCwgCisgICAgODUsIDgzLCAxMjgsIDc5LCA2NywgODQsIDc5LCA2NiwgNjksIDgyLCAxMjgsIDc5LCA2NywgODQsIDY5LCAyMTIsIDc5LCAKKyAgICA2NywgODQsIDY1LCA3MSwgNzksIDc4LCAxMjgsIDc5LCA2NywgMjEwLCA3OSwgNjcsIDc2LCA3OSwgNjcsIDc1LCAxMjgsIAorICAgIDc5LCA2NywgNjcsIDc2LCA4NSwgODMsIDczLCA3OSwgNzgsIDEyOCwgNzksIDY2LCA4MywgODQsIDgyLCA4NSwgNjcsIDg0LCAKKyAgICA3MywgNzksIDc4LCAxMjgsIDc5LCA2NiwgNzksIDc2LCAyMTEsIDc5LCA2NiwgNzksIDIwNCwgNzksIDY2LCA3OSwgNzAsIAorICAgIDczLCA3NiwgNzMsIDEyOCwgNzksIDY2LCA3NiwgNzMsIDgxLCA4NSwgMTk3LCA3OSwgNjYsIDc0LCA2OSwgNjcsIDIxMiwgCisgICAgNzksIDY2LCA2OSwgNzYsIDg1LCA4MywgMTI4LCA3OSwgNjYsIDY5LCA3NiwgNzksIDgzLCAxMjgsIDc5LCA2NiwgMTI4LCAKKyAgICA3OSwgNjUsIDg5LCAxMjgsIDc5LCA2NSwgNzUsIDEyOCwgNzksIDY1LCA2NiwgNzksIDY1LCA3MCwgNzMsIDc2LCA3MywgCisgICAgMTI4LCA3OSwgMTkzLCA3OSwgNDgsIDUzLCA0OSwgMTI4LCA3OSwgNDgsIDUzLCA0OCwgNjYsIDEyOCwgNzksIDQ4LCA1MywgCisgICAgNDgsIDY1LCAxMjgsIDc5LCA0OCwgNTMsIDQ4LCAxMjgsIDc5LCA0OCwgNTIsIDU3LCAxMjgsIDc5LCA0OCwgNTIsIDU2LCAKKyAgICAxMjgsIDc5LCA0OCwgNTIsIDU1LCAxMjgsIDc5LCA0OCwgNTIsIDU0LCAxMjgsIDc5LCA0OCwgNTIsIDUzLCAxMjgsIDc5LCAKKyAgICA0OCwgNTIsIDUyLCAxMjgsIDc5LCA0OCwgNTIsIDUxLCAxMjgsIDc5LCA0OCwgNTIsIDUwLCAxMjgsIDc5LCA0OCwgNTIsIAorICAgIDQ5LCAxMjgsIDc5LCA0OCwgNTIsIDQ4LCAxMjgsIDc5LCA0OCwgNTEsIDU3LCAxMjgsIDc5LCA0OCwgNTEsIDU2LCAxMjgsIAorICAgIDc5LCA0OCwgNTEsIDU1LCAxMjgsIDc5LCA0OCwgNTEsIDU0LCA2OCwgMTI4LCA3OSwgNDgsIDUxLCA1NCwgNjcsIDEyOCwgCisgICAgNzksIDQ4LCA1MSwgNTQsIDY2LCAxMjgsIDc5LCA0OCwgNTEsIDU0LCA2NSwgMTI4LCA3OSwgNDgsIDUxLCA1NCwgMTI4LCAKKyAgICA3OSwgNDgsIDUxLCA1MywgMTI4LCA3OSwgNDgsIDUxLCA1MiwgMTI4LCA3OSwgNDgsIDUxLCA1MSwgNjUsIDEyOCwgNzksIAorICAgIDQ4LCA1MSwgNTEsIDEyOCwgNzksIDQ4LCA1MSwgNTAsIDEyOCwgNzksIDQ4LCA1MSwgNDksIDEyOCwgNzksIDQ4LCA1MSwgCisgICAgNDgsIDY1LCAxMjgsIDc5LCA0OCwgNTEsIDQ4LCAxMjgsIDc5LCA0OCwgNTAsIDU3LCA2NSwgMTI4LCA3OSwgNDgsIDUwLCAKKyAgICA1NywgMTI4LCA3OSwgNDgsIDUwLCA1NiwgMTI4LCA3OSwgNDgsIDUwLCA1NSwgMTI4LCA3OSwgNDgsIDUwLCA1NCwgMTI4LCAKKyAgICA3OSwgNDgsIDUwLCA1MywgNjUsIDEyOCwgNzksIDQ4LCA1MCwgNTMsIDEyOCwgNzksIDQ4LCA1MCwgNTIsIDY1LCAxMjgsIAorICAgIDc5LCA0OCwgNTAsIDUyLCAxMjgsIDc5LCA0OCwgNTAsIDUxLCAxMjgsIDc5LCA0OCwgNTAsIDUwLCAxMjgsIDc5LCA0OCwgCisgICAgNTAsIDQ5LCAxMjgsIDc5LCA0OCwgNTAsIDQ4LCA2NSwgMTI4LCA3OSwgNDgsIDUwLCA0OCwgMTI4LCA3OSwgNDgsIDQ5LCAKKyAgICA1NywgNjUsIDEyOCwgNzksIDQ4LCA0OSwgNTcsIDEyOCwgNzksIDQ4LCA0OSwgNTYsIDEyOCwgNzksIDQ4LCA0OSwgNTUsIAorICAgIDEyOCwgNzksIDQ4LCA0OSwgNTQsIDEyOCwgNzksIDQ4LCA0OSwgNTMsIDEyOCwgNzksIDQ4LCA0OSwgNTIsIDEyOCwgNzksIAorICAgIDQ4LCA0OSwgNTEsIDEyOCwgNzksIDQ4LCA0OSwgNTAsIDEyOCwgNzksIDQ4LCA0OSwgNDksIDEyOCwgNzksIDQ4LCA0OSwgCisgICAgNDgsIDY3LCAxMjgsIDc5LCA0OCwgNDksIDQ4LCA2NiwgMTI4LCA3OSwgNDgsIDQ5LCA0OCwgNjUsIDEyOCwgNzksIDQ4LCAKKyAgICA0OSwgNDgsIDEyOCwgNzksIDQ4LCA0OCwgNTcsIDEyOCwgNzksIDQ4LCA0OCwgNTYsIDEyOCwgNzksIDQ4LCA0OCwgNTUsIAorICAgIDEyOCwgNzksIDQ4LCA0OCwgNTQsIDcwLCAxMjgsIDc5LCA0OCwgNDgsIDU0LCA2OSwgMTI4LCA3OSwgNDgsIDQ4LCA1NCwgCisgICAgNjgsIDEyOCwgNzksIDQ4LCA0OCwgNTQsIDY3LCAxMjgsIDc5LCA0OCwgNDgsIDU0LCA2NiwgMTI4LCA3OSwgNDgsIDQ4LCAKKyAgICA1NCwgNjUsIDEyOCwgNzksIDQ4LCA0OCwgNTQsIDEyOCwgNzksIDQ4LCA0OCwgNTMsIDY1LCAxMjgsIDc5LCA0OCwgNDgsIAorICAgIDUzLCAxMjgsIDc5LCA0OCwgNDgsIDUyLCAxMjgsIDc5LCA0OCwgNDgsIDUxLCAxMjgsIDc5LCA0OCwgNDgsIDUwLCAxMjgsIAorICAgIDc5LCA0OCwgNDgsIDQ5LCA2NSwgMTI4LCA3OSwgNDgsIDQ4LCA0OSwgMTI4LCA3OSwgNDUsIDg5LCA2OSwgMTI4LCA3OSwgCisgICAgNDUsIDc5LCA0NSwgNzMsIDEyOCwgNzksIDQ1LCA2OSwgMTI4LCA3OCwgOTAsIDg5LCA4OCwgMTI4LCA3OCwgOTAsIDg5LCAKKyAgICA4NCwgMTI4LCA3OCwgOTAsIDg5LCA4MiwgODgsIDEyOCwgNzgsIDkwLCA4OSwgODIsIDEyOCwgNzgsIDkwLCA4OSwgODAsIAorICAgIDEyOCwgNzgsIDkwLCA4OSwgMTI4LCA3OCwgOTAsIDg1LCA4OCwgMTI4LCA3OCwgOTAsIDg1LCA4MiwgODgsIDEyOCwgNzgsIAorICAgIDkwLCA4NSwgODIsIDEyOCwgNzgsIDkwLCA4NSwgODEsIDEyOCwgNzgsIDkwLCA4NSwgODAsIDEyOCwgNzgsIDkwLCA4NSwgCisgICAgNzksIDg4LCAxMjgsIDc4LCA5MCwgODUsIDc5LCAxMjgsIDc4LCA5MCwgODUsIDIwNiwgNzgsIDkwLCA4NSwgMTI4LCA3OCwgCisgICAgOTAsIDc5LCA4OCwgMTI4LCA3OCwgOTAsIDc5LCA4MCwgMTI4LCA3OCwgOTAsIDczLCA4OCwgMTI4LCA3OCwgOTAsIDczLCAKKyAgICA4NCwgMTI4LCA3OCwgOTAsIDczLCA4MCwgMTI4LCA3OCwgOTAsIDczLCA2OSwgODgsIDEyOCwgNzgsIDkwLCA3MywgNjksIAorICAgIDgwLCAxMjgsIDc4LCA5MCwgNzMsIDY5LCAxMjgsIDc4LCA5MCwgNzMsIDEyOCwgNzgsIDkwLCA2OSwgODgsIDEyOCwgNzgsIAorICAgIDkwLCA2OSwgODUsIDc3LCAxMjgsIDc4LCA5MCwgNjksIDEyOCwgNzgsIDkwLCA2NSwgODgsIDEyOCwgNzgsIDkwLCA2NSwgCisgICAgODQsIDEyOCwgNzgsIDkwLCA2NSwgODEsIDEyOCwgNzgsIDkwLCA2NSwgODAsIDEyOCwgNzgsIDkwLCA2NSwgMTI4LCA3OCwgCisgICAgOTAsIDE5MywgNzgsIDg5LCA4NywgNjUsIDEyOCwgNzgsIDg5LCA4NSwgODgsIDEyOCwgNzgsIDg5LCA4NSwgODUsIDEyOCwgCisgICAgNzgsIDg5LCA4NSwgODQsIDEyOCwgNzgsIDg5LCA4NSwgODAsIDEyOCwgNzgsIDg5LCA4NSwgNzksIDg4LCAxMjgsIDc4LCAKKyAgICA4OSwgODUsIDc5LCA4MCwgMTI4LCA3OCwgODksIDg1LCA3OSwgMTI4LCA3OCwgODksIDg1LCA3OCwgMTI4LCA3OCwgODksIAorICAgIDg1LCA2OSwgMTI4LCA3OCwgODksIDg1LCAxMjgsIDc4LCA4OSwgNzksIDg4LCAxMjgsIDc4LCA4OSwgNzksIDg0LCAxMjgsIAorICAgIDc4LCA4OSwgNzksIDgwLCAxMjgsIDc4LCA4OSwgNzksIDc5LCAxMjgsIDc4LCA4OSwgNzksIDc4LCAxMjgsIDc4LCA4OSwgCisgICAgNzksIDY1LCAxMjgsIDc4LCA4OSwgNzksIDEyOCwgNzgsIDg5LCA3NCwgNjUsIDEyOCwgNzgsIDg5LCA3MywgODgsIDEyOCwgCisgICAgNzgsIDg5LCA3MywgODQsIDEyOCwgNzgsIDg5LCA3MywgMjEyLCA3OCwgODksIDczLCAyMTEsIDc4LCA4OSwgNzMsIDIxMCwgCisgICAgNzgsIDg5LCA3MywgODAsIDEyOCwgNzgsIDg5LCA3MywgNzgsIDQ1LCA2OCwgNzksIDEyOCwgNzgsIDg5LCA3MywgNzgsIAorICAgIDEyOCwgNzgsIDg5LCA3MywgNzMsIDEyOCwgNzgsIDg5LCA3MywgNjksIDg4LCAxMjgsIDc4LCA4OSwgNzMsIDY5LCA4NCwgCisgICAgMTI4LCA3OCwgODksIDczLCA2OSwgODAsIDEyOCwgNzgsIDg5LCA3MywgNjksIDEyOCwgNzgsIDg5LCA3MywgMTI4LCA3OCwgCisgICAgODksIDIwMSwgNzgsIDg5LCA3MiwgNjUsIDEyOCwgNzgsIDg5LCA2OSwgODQsIDEyOCwgNzgsIDg5LCA2OSwgMjEyLCA3OCwgCisgICAgODksIDY5LCA3OCwgMTI4LCA3OCwgODksIDY5LCA3MiwgMTI4LCA3OCwgODksIDY5LCAyMDAsIDc4LCA4OSwgNjksIDY5LCAKKyAgICAxMjgsIDc4LCA4OSwgNjksIDEyOCwgNzgsIDg5LCAxOTYsIDc4LCA4OSwgNjcsIDY1LCAxMjgsIDc4LCA4OSwgNjUsIDg1LCAKKyAgICAxMjgsIDc4LCA4OSwgNjUsIDczLCAxMjgsIDc4LCA4OSwgNjUsIDcyLCAxMjgsIDc4LCA4OSwgNjUsIDY5LCA3NywgNjUsIAorICAgIDY5LCAxMjgsIDc4LCA4OSwgNjUsIDY1LCAxMjgsIDc4LCA4NywgNzksIDc5LCAxMjgsIDc4LCA4NywgNzksIDEyOCwgNzgsIAorICAgIDg3LCA3MywgNzMsIDEyOCwgNzgsIDg3LCA3MywgMTI4LCA3OCwgODcsIDY5LCAxMjgsIDc4LCA4NywgNjUsIDY1LCAxMjgsIAorICAgIDc4LCA4NywgNjUsIDEyOCwgNzgsIDg3LCAxMjgsIDc4LCA4NiwgMTI4LCA3OCwgODUsIDg4LCAxMjgsIDc4LCA4NSwgODUsIAorICAgIDc4LCAxMjgsIDc4LCA4NSwgODUsIDEyOCwgNzgsIDg1LCA4NCwgNzMsIDc2LCA3NiwgODUsIDEyOCwgNzgsIDg1LCA4NCwgCisgICAgMTI4LCA3OCwgODUsIDIxMiwgNzgsIDg1LCA4MiwgODgsIDEyOCwgNzgsIDg1LCA4MiwgMTI4LCA3OCwgODUsIDgwLCAxMjgsIAorICAgIDc4LCA4NSwgNzksIDg4LCAxMjgsIDc4LCA4NSwgNzksIDgwLCAxMjgsIDc4LCA4NSwgNzksIDEyOCwgNzgsIDg1LCA3OCwgCisgICAgODUsIDkwLCAxMjgsIDc4LCA4NSwgNzgsIDg1LCAyMTgsIDc4LCA4NSwgNzgsIDcxLCAxMjgsIDc4LCA4NSwgNzgsIDY1LCAKKyAgICA4NiwgODUsIDIxMiwgNzgsIDg1LCA3OCwgNjUsIDg2LCA3MywgMjAzLCA3OCwgODUsIDc4LCAxMjgsIDc4LCA4NSwgMjA2LCAKKyAgICA3OCwgODUsIDc3LCA2OSwgODIsIDIwNywgNzgsIDg1LCA3NywgNjksIDgyLCA2NSwgODQsIDc5LCAyMTAsIDc4LCA4NSwgNzcsIAorICAgIDY5LCA4MiwgNjUsIDIwNCwgNzgsIDg1LCA3NywgNjYsIDY5LCA4MiwgODMsIDEyOCwgNzgsIDg1LCA3NywgNjYsIDY5LCA4MiwgCisgICAgMTI4LCA3OCwgODUsIDc3LCAxMjgsIDc4LCA4NSwgNzYsIDc2LCAxMjgsIDc4LCA4NSwgNzYsIDIwNCwgNzgsIDg1LCA3NiwgCisgICAgMTI4LCA3OCwgODUsIDc1LCA4NCwgNjUsIDEyOCwgNzgsIDg1LCA2OSwgNzgsIDcxLCAxMjgsIDc4LCA4NSwgNjksIDEyOCwgCisgICAgNzgsIDg1LCA2NiwgNzMsIDY1LCAyMDYsIDc4LCA4NSwgNjUsIDY5LCAxMjgsIDc4LCA4NSwgNDksIDQ5LCAxMjgsIDc4LCAKKyAgICA4NSwgNDksIDE3NywgNzgsIDg1LCA0OCwgNTAsIDUwLCA2NSwgMTI4LCA3OCwgODUsIDQ4LCA1MCwgNTAsIDEyOCwgNzgsIAorICAgIDg1LCA0OCwgNTAsIDQ5LCAxMjgsIDc4LCA4NSwgNDgsIDUwLCA0OCwgMTI4LCA3OCwgODUsIDQ4LCA0OSwgNTcsIDEyOCwgCisgICAgNzgsIDg1LCA0OCwgNDksIDU2LCA2NSwgMTI4LCA3OCwgODUsIDQ4LCA0OSwgNTYsIDEyOCwgNzgsIDg1LCA0OCwgNDksIDU1LCAKKyAgICAxMjgsIDc4LCA4NSwgNDgsIDQ5LCA1NCwgMTI4LCA3OCwgODUsIDQ4LCA0OSwgNTMsIDEyOCwgNzgsIDg1LCA0OCwgNDksIAorICAgIDUyLCAxMjgsIDc4LCA4NSwgNDgsIDQ5LCA1MSwgMTI4LCA3OCwgODUsIDQ4LCA0OSwgNTAsIDEyOCwgNzgsIDg1LCA0OCwgCisgICAgNDksIDQ5LCA2NSwgMTI4LCA3OCwgODUsIDQ4LCA0OSwgNDksIDEyOCwgNzgsIDg1LCA0OCwgNDksIDQ4LCA2NSwgMTI4LCAKKyAgICA3OCwgODUsIDQ4LCA0OSwgNDgsIDEyOCwgNzgsIDg1LCA0OCwgNDgsIDU3LCAxMjgsIDc4LCA4NSwgNDgsIDQ4LCA1NiwgCisgICAgMTI4LCA3OCwgODUsIDQ4LCA0OCwgNTUsIDEyOCwgNzgsIDg1LCA0OCwgNDgsIDU0LCAxMjgsIDc4LCA4NSwgNDgsIDQ4LCAKKyAgICA1MywgMTI4LCA3OCwgODUsIDQ4LCA0OCwgNTIsIDEyOCwgNzgsIDg1LCA0OCwgNDgsIDUxLCAxMjgsIDc4LCA4NSwgNDgsIAorICAgIDQ4LCA1MCwgMTI4LCA3OCwgODUsIDQ4LCA0OCwgNDksIDEyOCwgNzgsIDg0LCA4OCwgNzMsIDg2LCAxMjgsIDc4LCA4NCwgCisgICAgODUsIDg1LCAxMjgsIDc4LCA4NCwgODUsIDc3LCAxMjgsIDc4LCA4NCwgODUsIDc0LCAxMjgsIDc4LCA4NCwgMjEzLCA3OCwgCisgICAgODQsIDgzLCA2NSwgODUsIDEyOCwgNzgsIDg0LCA3OSwgODEsIDgwLCA2OSwgNzgsIDEyOCwgNzgsIDg0LCA3OSwgNzEsIAorICAgIDEyOCwgNzgsIDg0LCA3OSwgMTk5LCA3OCwgODQsIDczLCA2OSwgMTk3LCA3OCwgODQsIDcyLCA2NSwgODUsIDEyOCwgNzgsIAorICAgIDg0LCA2OSwgODUsIDc4LCA3MSwgNjYsIDY1LCAxMjgsIDc4LCA4NCwgNjksIDg1LCA3NywgMTI4LCA3OCwgODQsIDY5LCA3OCwgCisgICAgMTI4LCA3OCwgODQsIDY5LCA2OSwgMTI4LCA3OCwgODQsIDY1LCA4MCwgMTI4LCA3OCwgODQsIDY1LCAyMDgsIDc4LCA4NCwgCisgICAgNjUsIDY1LCAxMjgsIDc4LCA4MywgODUsIDc5LCAyMTIsIDc4LCA4MywgODUsIDc4LCAxMjgsIDc4LCA4MywgODUsIDc3LCAKKyAgICAxMjgsIDc4LCA4MywgNzksIDc3LCAxMjgsIDc4LCA4MywgNzMsIDY5LCA2OSwgODQsIDEyOCwgNzgsIDgzLCA3MywgNjksIAorICAgIDY5LCA4MCwgMTI4LCA3OCwgODMsIDczLCA2OSwgNjksIDEyOCwgNzgsIDgzLCA3MiwgODUsIDg0LCAxMjgsIDc4LCA4MywgCisgICAgNzIsIDg1LCAyMTIsIDc4LCA4MywgNzIsIDg1LCA3OSwgODAsIDEyOCwgNzgsIDgzLCA3MiwgODUsIDY5LCAxMjgsIDc4LCAKKyAgICA4MywgNzIsIDczLCA2OSwgNjksIDEyOCwgNzgsIDgzLCA3MiwgNjksIDY5LCAxMjgsIDc4LCA4MywgNzIsIDY1LCA4MSwgCisgICAgMTI4LCA3OCwgODMsIDcyLCA2NSwgMTI4LCA3OCwgODMsIDY5LCA4NSwgNjUsIDY5LCA3OCwgMTI4LCA3OCwgODMsIDY5LCAKKyAgICA3OCwgMTI4LCA3OCwgODMsIDY1LCAxMjgsIDc4LCA4MiwgODksIDg4LCAxMjgsIDc4LCA4MiwgODksIDg0LCAxMjgsIDc4LCAKKyAgICA4MiwgODksIDgyLCA4OCwgMTI4LCA3OCwgODIsIDg5LCA4MiwgMTI4LCA3OCwgODIsIDg5LCA4MCwgMTI4LCA3OCwgODIsIAorICAgIDg5LCAxMjgsIDc4LCA4MiwgODUsIDg4LCAxMjgsIDc4LCA4MiwgODUsIDg0LCAxMjgsIDc4LCA4MiwgODUsIDgyLCA4OCwgCisgICAgMTI4LCA3OCwgODIsIDg1LCA4MiwgMTI4LCA3OCwgODIsIDg1LCA4MCwgMTI4LCA3OCwgODIsIDg1LCA2NSwgMTI4LCA3OCwgCisgICAgODIsIDg1LCAxMjgsIDc4LCA4MiwgNzksIDg4LCAxMjgsIDc4LCA4MiwgNzksIDgwLCAxMjgsIDc4LCA4MiwgNzksIDEyOCwgCisgICAgNzgsIDgyLCA2OSwgODgsIDEyOCwgNzgsIDgyLCA2OSwgODQsIDEyOCwgNzgsIDgyLCA2OSwgMjExLCA3OCwgODIsIDY5LCAKKyAgICA4MCwgMTI4LCA3OCwgODIsIDY5LCAxMjgsIDc4LCA4MiwgNjUsIDg4LCAxMjgsIDc4LCA4MiwgNjUsIDg0LCAxMjgsIDc4LCAKKyAgICA4MiwgNjUsIDgwLCAxMjgsIDc4LCA4MiwgNjUsIDEyOCwgNzgsIDgxLCA3MywgNzEsIDEyOCwgNzgsIDc5LCA4OSwgMTI4LCAKKyAgICA3OCwgNzksIDg4LCAxMjgsIDc4LCA3OSwgODcsIDY3LCAxMjgsIDc4LCA3OSwgODYsIDY5LCA3NywgNjYsIDY5LCA4MiwgCisgICAgMTI4LCA3OCwgNzksIDg0LCA4NCwgNzksIDEyOCwgNzgsIDc5LCA4NCwgNjksIDgzLCAxMjgsIDc4LCA3OSwgODQsIDY5LCAKKyAgICA3MiwgNjksIDY1LCA2OCwgMTI4LCA3OCwgNzksIDg0LCA2OSwgNzIsIDY5LCA2NSwgMTk2LCA3OCwgNzksIDg0LCA2OSwgNjYsIAorICAgIDc5LCA3OSwgNzUsIDEyOCwgNzgsIDc5LCA4NCwgNjksIDY2LCA3OSwgNzksIDIwMywgNzgsIDc5LCA4NCwgNjksIDEyOCwgCisgICAgNzgsIDc5LCA4NCwgMTk3LCA3OCwgNzksIDg0LCA2NywgNzIsIDY5LCAxOTYsIDc4LCA3OSwgODQsIDY3LCA3MiwgMTI4LCAKKyAgICA3OCwgNzksIDg0LCA2NSwgODQsIDczLCA3OSwgMjA2LCA3OCwgNzksIDg0LCAxMjgsIDc4LCA3OSwgMjEyLCA3OCwgNzksIAorICAgIDgzLCA2OSwgMTI4LCA3OCwgNzksIDgyLCA4NCwgNzIsIDg3LCA2OSwgODMsIDIxMiwgNzgsIDc5LCA4MiwgODQsIDcyLCA2OSwgCisgICAgODIsIDIwNiwgNzgsIDc5LCA4MiwgODQsIDcyLCA2OSwgNjUsIDgzLCA4NCwgNDUsIDgwLCA3OSwgNzMsIDc4LCA4NCwgNzMsIAorICAgIDc4LCAxOTksIDc4LCA3OSwgODIsIDc3LCA2NSwgMjA0LCA3OCwgNzksIDgyLCA2OCwgNzMsIDE5NSwgNzgsIDc5LCAyMTAsIAogICAgIDc4LCA3OSwgODAsIDEyOCwgNzgsIDc5LCA3OSwgNzgsIDg1LCAxMjgsIDc4LCA3OSwgNzksIDEyOCwgNzgsIDc5LCA3OCwgCiAgICAgNzAsIDc5LCA4MiwgNzUsIDczLCA3OCwgNzEsIDEyOCwgNzgsIDc5LCA3OCwgNDUsIDgwLCA3OSwgODQsIDY1LCA2NiwgNzYsIAogICAgIDE5NywgNzgsIDc5LCA3OCwgNDUsIDc0LCA3OSwgNzMsIDc4LCA2OSwgODIsIDEyOCwgNzgsIDc5LCA3OCwgNDUsIDY2LCA4MiwgCi0gICAgNjksIDY1LCA3NSwgNzMsIDc4LCAxOTksIDc4LCA3OSwgNzcsIDczLCA3OCwgNjUsIDIwNCwgNzgsIDc5LCA3NSwgNzIsIDg1LCAKLSAgICA3NSwgMTI4LCA3OCwgNzksIDY4LCA2OSwgMTI4LCA3OCwgNzksIDY1LCAxMjgsIDc4LCA3OSwgNDUsIDY2LCA4MiwgNjksIAotICAgIDY1LCAyMDMsIDc4LCA3OCwgODUsIDg1LCAxMjgsIDc4LCA3OCwgODUsIDEyOCwgNzgsIDc4LCA3OSwgNzksIDEyOCwgNzgsIAotICAgIDc4LCA3OSwgMTI4LCA3OCwgNzgsIDc4LCA4NSwgODUsIDEyOCwgNzgsIDc4LCA3OCwgODUsIDEyOCwgNzgsIDc4LCA3OCwgCi0gICAgNzksIDc5LCAxMjgsIDc4LCA3OCwgNzgsIDc5LCAxMjgsIDc4LCA3OCwgNzgsIDczLCA3MywgMTI4LCA3OCwgNzgsIDc4LCAKLSAgICA3MywgMTI4LCA3OCwgNzgsIDc4LCA2OSwgNjksIDEyOCwgNzgsIDc4LCA3OCwgNjksIDEyOCwgNzgsIDc4LCA3OCwgNjUsIAotICAgIDg1LCAxMjgsIDc4LCA3OCwgNzgsIDY1LCA3MywgMTI4LCA3OCwgNzgsIDc4LCA2NSwgNjUsIDEyOCwgNzgsIDc4LCA3OCwgCi0gICAgNjUsIDEyOCwgNzgsIDc4LCA3OCwgMTI4LCA3OCwgNzgsIDcyLCA2NSwgMTI4LCA3OCwgNzgsIDcxLCA3OSwgNzksIDEyOCwgCi0gICAgNzgsIDc4LCA3MSwgNzksIDEyOCwgNzgsIDc4LCA3MSwgNzMsIDczLCAxMjgsIDc4LCA3OCwgNzEsIDczLCAxMjgsIDc4LCAKLSAgICA3OCwgNzEsIDY1LCA2NSwgMTI4LCA3OCwgNzgsIDcxLCA2NSwgMTI4LCA3OCwgNzgsIDcxLCAxMjgsIDc4LCA3OCwgNjYsIAotICAgIDgzLCA4MCwgMTI4LCA3OCwgNzcsIDEyOCwgNzgsIDc2LCA0OCwgNTAsIDQ4LCAxMjgsIDc4LCA3NiwgNDgsIDQ5LCA1NywgCi0gICAgMTI4LCA3OCwgNzYsIDQ4LCA0OSwgNTYsIDEyOCwgNzgsIDc2LCA0OCwgNDksIDU1LCA2NSwgMTI4LCA3OCwgNzYsIDQ4LCAKLSAgICA0OSwgNTUsIDEyOCwgNzgsIDc2LCA0OCwgNDksIDU0LCAxMjgsIDc4LCA3NiwgNDgsIDQ5LCA1MywgMTI4LCA3OCwgNzYsIAotICAgIDQ4LCA0OSwgNTIsIDEyOCwgNzgsIDc2LCA0OCwgNDksIDUxLCAxMjgsIDc4LCA3NiwgNDgsIDQ5LCA1MCwgMTI4LCA3OCwgCi0gICAgNzYsIDQ4LCA0OSwgNDksIDEyOCwgNzgsIDc2LCA0OCwgNDksIDQ4LCAxMjgsIDc4LCA3NiwgNDgsIDQ4LCA1NywgMTI4LCAKLSAgICA3OCwgNzYsIDQ4LCA0OCwgNTYsIDEyOCwgNzgsIDc2LCA0OCwgNDgsIDU1LCAxMjgsIDc4LCA3NiwgNDgsIDQ4LCA1NCwgCi0gICAgMTI4LCA3OCwgNzYsIDQ4LCA0OCwgNTMsIDY1LCAxMjgsIDc4LCA3NiwgNDgsIDQ4LCA1MywgMTI4LCA3OCwgNzYsIDQ4LCAKLSAgICA0OCwgNTIsIDEyOCwgNzgsIDc2LCA0OCwgNDgsIDUxLCAxMjgsIDc4LCA3NiwgNDgsIDQ4LCA1MCwgMTI4LCA3OCwgNzYsIAotICAgIDQ4LCA0OCwgNDksIDEyOCwgNzgsIDc2LCAxMjgsIDc4LCA3NSwgNzksIDc3LCAxMjgsIDc4LCA3NSwgMjA3LCA3OCwgNzUsIAotICAgIDczLCA3OCwgNjgsIDczLCAxMjgsIDc4LCA3NSwgNjUsIDY1LCA4MiwgNjUsIDY5LCAxMjgsIDc4LCA3NCwgODksIDg4LCAKLSAgICAxMjgsIDc4LCA3NCwgODksIDg0LCAxMjgsIDc4LCA3NCwgODksIDgyLCA4OCwgMTI4LCA3OCwgNzQsIDg5LCA4MiwgMTI4LCAKLSAgICA3OCwgNzQsIDg5LCA4MCwgMTI4LCA3OCwgNzQsIDg5LCAxMjgsIDc4LCA3NCwgODUsIDg4LCAxMjgsIDc4LCA3NCwgODUsIAotICAgIDgyLCA4OCwgMTI4LCA3OCwgNzQsIDg1LCA4MiwgMTI4LCA3OCwgNzQsIDg1LCA4MSwgNjUsIDEyOCwgNzgsIDc0LCA4NSwgCi0gICAgODAsIDEyOCwgNzgsIDc0LCA4NSwgNzksIDg4LCAxMjgsIDc4LCA3NCwgODUsIDc5LCAxMjgsIDc4LCA3NCwgODUsIDY5LCAKLSAgICA4MSwgMTI4LCA3OCwgNzQsIDg1LCA2NSwgNjksIDEyOCwgNzgsIDc0LCA4NSwgMTI4LCA3OCwgNzQsIDc5LCA4OCwgMTI4LCAKLSAgICA3OCwgNzQsIDc5LCA4NCwgMTI4LCA3OCwgNzQsIDc5LCA4MCwgMTI4LCA3OCwgNzQsIDc5LCA3OSwgMTI4LCA3OCwgNzQsIAotICAgIDc5LCAxMjgsIDc4LCA3NCwgNzMsIDg4LCAxMjgsIDc4LCA3NCwgNzMsIDg0LCAxMjgsIDc4LCA3NCwgNzMsIDgwLCAxMjgsIAotICAgIDc4LCA3NCwgNzMsIDY5LCA4OCwgMTI4LCA3OCwgNzQsIDczLCA2OSwgODQsIDEyOCwgNzgsIDc0LCA3MywgNjksIDgwLCAKLSAgICAxMjgsIDc4LCA3NCwgNzMsIDY5LCA2OSwgMTI4LCA3OCwgNzQsIDczLCA2OSwgMTI4LCA3OCwgNzQsIDczLCAxMjgsIDc4LCAKLSAgICA3NCwgMjAxLCA3OCwgNzQsIDY5LCA4NSwgODgsIDEyOCwgNzgsIDc0LCA2OSwgODUsIDg0LCAxMjgsIDc4LCA3NCwgNjksIAotICAgIDg1LCA2NSwgNjksIDc4LCA2NSwgMTI4LCA3OCwgNzQsIDY5LCA4NSwgNjUsIDY5LCA3NywgMTI4LCA3OCwgNzQsIDY5LCA2OSwgCi0gICAgNjksIDY5LCAxMjgsIDc4LCA3NCwgNjksIDY5LCAxMjgsIDc4LCA3NCwgNjksIDE5NywgNzgsIDc0LCA2OSwgMTI4LCA3OCwgCi0gICAgNzQsIDY1LCA4MSwgMTI4LCA3OCwgNzQsIDY1LCA4MCwgMTI4LCA3OCwgNzQsIDY1LCA2OSwgNzcsIDc2LCA3MywgMTI4LCAKLSAgICA3OCwgNzQsIDY1LCA2OSwgNzcsIDEyOCwgNzgsIDc0LCA2NSwgNjUsIDEyOCwgNzgsIDczLCA4OCwgMTI4LCA3OCwgNzMsIAotICAgIDg0LCA4MiwgNjksIDEyOCwgNzgsIDczLCA4MywgNjUsIDcxLCAxMjgsIDc4LCA3MywgODIsIDg1LCA3MSwgODUsIDEyOCwgCi0gICAgNzgsIDczLCA4MCwgMTI4LCA3OCwgNzMsIDc4LCA4NCwgNzIsIDEyOCwgNzgsIDczLCA3OCwgNjksIDg0LCA4OSwgMTI4LCAKLSAgICA3OCwgNzMsIDc4LCA2OSwgODQsIDIxNywgNzgsIDczLCA3OCwgNjksIDg0LCA2OSwgNjksIDc4LCAxMjgsIDc4LCA3MywgNzgsIAotICAgIDY5LCA4NCwgNjksIDY5LCAyMDYsIDc4LCA3MywgNzgsIDY5LCA0NSwgODQsIDcyLCA3MywgODIsIDg0LCA4OSwgMTI4LCA3OCwgCi0gICAgNzMsIDc4LCAxOTcsIDc4LCA3MywgNzgsIDY4LCA2NSwgNTAsIDEyOCwgNzgsIDczLCA3OCwgNjgsIDY1LCAxNzgsIDc4LCAKLSAgICA3MywgNzcsIDEyOCwgNzgsIDczLCAyMDUsIDc4LCA3MywgNzUsIDcyLCA2NSwgNzIsIDczLCA4NCwgMTI4LCA3OCwgNzMsIAotICAgIDc1LCA2NSwgNzIsIDczLCA4NCwgMTI4LCA3OCwgNzMsIDc1LCA2NSwgMTI4LCA3OCwgNzMsIDcyLCA4MywgNzIsIDg2LCA2NSwgCi0gICAgODMsIDY1LCAxMjgsIDc4LCA3MywgNzEsIDczLCA2OCwgNjUsIDc3LCA3MywgNzgsIDEyOCwgNzgsIDczLCA3MSwgNzMsIDY4LCAKLSAgICA2NSwgNjksIDgzLCA3MiwgMTI4LCA3OCwgNzMsIDcxLCA3MiwgODQsIDEyOCwgNzgsIDczLCA3MSwgNzIsIDIxMiwgNzgsIAotICAgIDczLCA3MSwgNzEsIDY1LCA3MiwgNzMsIDg0LCA2NSwgMTI4LCA3OCwgNzMsIDY5LCA4OCwgMTI4LCA3OCwgNzMsIDY5LCA4NSwgCi0gICAgNzgsIDQ1LCA4NCwgNzMsIDc1LCA2OSwgODUsIDg0LCAxMjgsIDc4LCA3MywgNjksIDg1LCA3OCwgNDUsIDg0LCA3MiwgNzMsIAotICAgIDY5LCA4NSwgODQsIDcyLCAxMjgsIDc4LCA3MywgNjksIDg1LCA3OCwgNDUsIDgzLCA3MywgNzksIDgzLCAxMjgsIDc4LCA3MywgCi0gICAgNjksIDg1LCA3OCwgNDUsIDgyLCA3MywgNjksIDg1LCA3NiwgMTI4LCA3OCwgNzMsIDY5LCA4NSwgNzgsIDQ1LCA4MCwgNzMsIAotICAgIDY5LCA4NSwgODAsIDEyOCwgNzgsIDczLCA2OSwgODUsIDc4LCA0NSwgODAsIDY1LCA3OCwgODMsIDczLCA3OSwgODMsIDEyOCwgCi0gICAgNzgsIDczLCA2OSwgODUsIDc4LCA0NSwgNzUsIDczLCA4OSwgNjksIDc5LCA3NSwgMTI4LCA3OCwgNzMsIDY5LCA4NSwgNzgsIAotICAgIDQ1LCA3MiwgNzMsIDY5LCA4NSwgNzIsIDEyOCwgNzgsIDczLCA2OSwgODUsIDc4LCA0NSwgNjcsIDczLCA2OSwgODUsIDY3LCAKLSAgICAxMjgsIDc4LCA3MywgNjksIDg1LCA3OCwgNDUsIDY3LCA3MiwgNzMsIDY5LCA4NSwgNjcsIDcyLCAxMjgsIDc4LCA3MywgNjksIAotICAgIDg1LCAyMDYsIDc4LCA3MywgNjksIDgwLCAxMjgsIDc4LCA3MywgNjksIDEyOCwgNzgsIDczLCA2NiwgMTI4LCA3OCwgNzMsIAotICAgIDY1LCAxMjgsIDc4LCA3MywgNTAsIDEyOCwgNzgsIDcyLCA4NSwgNjksIDEyOCwgNzgsIDcyLCA3NCwgNjUsIDEyOCwgNzgsIAotICAgIDcyLCAxMjgsIDc4LCA3MSwgODksIDY5LCAxMjgsIDc4LCA3MSwgODYsIDY5LCAxMjgsIDc4LCA3MSwgODUsIDg1LCAxMjgsIAotICAgIDc4LCA3MSwgODUsIDc5LCA4OCwgMTI4LCA3OCwgNzEsIDg1LCA3OSwgODQsIDEyOCwgNzgsIDcxLCA4NSwgNzksIDEyOCwgCi0gICAgNzgsIDcxLCA4NSwgNjUsIDY5LCA4NCwgMTI4LCA3OCwgNzEsIDg1LCA2NSwgNjksIDEyOCwgNzgsIDcxLCA3OSwgODgsIAotICAgIDEyOCwgNzgsIDcxLCA3OSwgODUsIDEyOCwgNzgsIDcxLCA3OSwgMjEzLCA3OCwgNzEsIDc5LCA4NCwgMTI4LCA3OCwgNzEsIAotICAgIDc5LCA4MSwgMTI4LCA3OCwgNzEsIDc5LCA4MCwgMTI4LCA3OCwgNzEsIDc5LCA3OCwgMTI4LCA3OCwgNzEsIDc5LCA3NywgCi0gICAgMTI4LCA3OCwgNzEsIDc5LCA2OSwgNzIsIDEyOCwgNzgsIDcxLCA3OSwgNjksIDIwMCwgNzgsIDcxLCAyMDcsIDc4LCA3MSwgCi0gICAgNzUsIDg5LCA2OSwgNjksIDEyOCwgNzgsIDcxLCA3NSwgODcsIDY1LCA2OSwgNzgsIDEyOCwgNzgsIDcxLCA3NSwgODUsIDgwLCAKLSAgICAxMjgsIDc4LCA3MSwgNzUsIDg1LCA3OCwgMTI4LCA3OCwgNzEsIDc1LCA4NSwgNzcsIDEyOCwgNzgsIDcxLCA3NSwgODUsIAotICAgIDY5LCA3OCwgOTAsIDY5LCA4NSwgNzcsIDEyOCwgNzgsIDcxLCA3NSwgODUsIDE5NywgNzgsIDcxLCA3NSwgNzMsIDc4LCA2OCwgCi0gICAgMjAxLCA3OCwgNzEsIDc1LCA3MywgNjksIDY5LCAxMjgsIDc4LCA3MSwgNzUsIDY5LCA4NSwgODgsIDEyOCwgNzgsIDcxLCAKLSAgICA3NSwgNjksIDg1LCA4MiwgNzMsIDEyOCwgNzgsIDcxLCA3NSwgNjksIDg1LCA2NSwgNjksIDgxLCAxMjgsIDc4LCA3MSwgNzUsIAotICAgIDY5LCA4NSwgNjUsIDY5LCA3NywgMTI4LCA3OCwgNzEsIDc1LCA2NSwgODEsIDEyOCwgNzgsIDcxLCA3NSwgNjUsIDgwLCAKLSAgICAxMjgsIDc4LCA3MSwgNzUsIDY1LCA2NSwgNzcsIDczLCAxMjgsIDc4LCA3MSwgNzUsIDY1LCAxMjgsIDc4LCA3MSwgNzMsIAotICAgIDY5LCA4OCwgMTI4LCA3OCwgNzEsIDczLCA2OSwgODAsIDEyOCwgNzgsIDcxLCA3MywgNjksIDEyOCwgNzgsIDcxLCA3MiwgCi0gICAgNjUsIDEyOCwgNzgsIDcxLCA3MSwgODcsIDY1LCA2OSwgNzgsIDEyOCwgNzgsIDcxLCA3MSwgODUsIDgyLCA2NSwgNjksIAotICAgIDEyOCwgNzgsIDcxLCA3MSwgODUsIDgwLCAxMjgsIDc4LCA3MSwgNzEsIDg1LCA3OSwgODEsIDEyOCwgNzgsIDcxLCA3MSwgCi0gICAgODUsIDc5LCAyMDksIDc4LCA3MSwgNzEsIDg1LCA3OSwgNzgsIDEyOCwgNzgsIDcxLCA3MSwgODUsIDc5LCA3NywgMTI4LCAKLSAgICA3OCwgNzEsIDcxLCA4NSwgNzcsIDEyOCwgNzgsIDcxLCA3MSwgODUsIDY5LCA2OSwgODQsIDEyOCwgNzgsIDcxLCA3MSwgODUsIAotICAgIDY1LCA2OSwgODMsIDcyLCA2NSwgMTk3LCA3OCwgNzEsIDcxLCA4NSwgNjUsIDY5LCAyMDYsIDc4LCA3MSwgNzEsIDg1LCAKLSAgICAxMjgsIDc4LCA3MSwgNzEsIDc5LCA3OSwgMTI4LCA3OCwgNzEsIDcxLCA3OSwgMTI4LCA3OCwgNzEsIDcxLCA3MywgMTI4LCAKLSAgICA3OCwgNzEsIDcxLCA2OSwgODUsIDg4LCAxMjgsIDc4LCA3MSwgNzEsIDY5LCA4NSwgNjUsIDY5LCA4NCwgMTI4LCA3OCwgNzEsIAotICAgIDcxLCA2OSwgODUsIDY1LCA2OSwgMTI4LCA3OCwgNzEsIDcxLCA2OSwgMjEzLCA3OCwgNzEsIDcxLCA2OSwgNzgsIDEyOCwgCi0gICAgNzgsIDcxLCA3MSwgNjksIDY5LCA4NCwgMTI4LCA3OCwgNzEsIDcxLCA2OSwgNjksIDY5LCA2OSwgMTI4LCA3OCwgNzEsIDcxLCAKLSAgICA2OSwgNjksIDEyOCwgNzgsIDcxLCA3MSwgNjksIDEyOCwgNzgsIDcxLCA3MSwgNjUsIDgwLCAxMjgsIDc4LCA3MSwgNzEsIAotICAgIDY1LCA2NSwgNzcsIDY1LCA2OSwgMTI4LCA3OCwgNzEsIDcxLCA2NSwgNjUsIDc3LCAxMjgsIDc4LCA3MSwgNzEsIDEyOCwgCi0gICAgNzgsIDcxLCA2OSwgODgsIDEyOCwgNzgsIDcxLCA2OSwgODUsIDgyLCA2OSwgODUsIDg0LCAxMjgsIDc4LCA3MSwgNjksIDgwLCAKLSAgICAxMjgsIDc4LCA3MSwgNjksIDc4LCAxMjgsIDc4LCA3MSwgNjksIDY5LCAxMjgsIDc4LCA3MSwgNjksIDY1LCA2OCwgNjUsIAotICAgIDc2LCAxMjgsIDc4LCA3MSwgNjUsIDg4LCAxMjgsIDc4LCA3MSwgNjUsIDg1LCAxMjgsIDc4LCA3MSwgNjUsIDg0LCAxMjgsIAotICAgIDc4LCA3MSwgNjUsIDIxMSwgNzgsIDcxLCA2NSwgODEsIDEyOCwgNzgsIDcxLCA2NSwgODAsIDEyOCwgNzgsIDcxLCA2NSwgCi0gICAgNzgsIDcxLCA4NSwgMTI4LCA3OCwgNzEsIDY1LCA3OCwgMTI4LCA3OCwgNzEsIDY1LCA3MywgMTI4LCA3OCwgNzEsIDY1LCAKLSAgICA3MiwgMTI4LCA3OCwgNzEsIDY1LCA2NSwgNzMsIDEyOCwgNzgsIDcxLCAxOTMsIDc4LCA3MCwgMTI4LCA3OCwgNjksIDg4LCAKLSAgICAyMTIsIDc4LCA2OSwgODgsIDEyOCwgNzgsIDY5LCA4NywgODMsIDgwLCA2NSwgODAsIDY5LCA4MiwgMTI4LCA3OCwgNjksIAotICAgIDg3LCA3NiwgNzMsIDc4LCA2OSwgMTI4LCA3OCwgNjksIDg3LCAxMjgsIDc4LCA2OSwgODUsIDg0LCA4MiwgNjUsIDIwNCwgCi0gICAgNzgsIDY5LCA4NSwgODQsIDY5LCA4MiwgMTI4LCA3OCwgNjksIDg0LCAxMjgsIDc4LCA2OSwgMjEyLCA3OCwgNjksIDgzLCAKLSAgICA4NCwgNjksIDE5NiwgNzgsIDY5LCA4MSwgODUsIDY4LCA2NSwgNjUsIDEyOCwgNzgsIDY5LCA4MCwgODQsIDg1LCA3OCwgNjksIAotICAgIDEyOCwgNzgsIDY5LCA4MCwgMTI4LCA3OCwgNjksIDc5LCAxMjgsIDc4LCA2OSwgMjA3LCA3OCwgNjksIDc4LCA2NSwgNzgsIAotICAgIDc5LCAxMjgsIDc4LCA2OSwgNzgsIDEyOCwgNzgsIDY5LCA3NiwgMTI4LCA3OCwgNjksIDczLCA4NCwgNzIsIDY5LCAyMTAsIAotICAgIDc4LCA2OSwgNzEsIDY1LCA4NCwgNzMsIDc5LCAyMDYsIDc4LCA2OSwgNzEsIDY1LCA4NCwgNjksIDE5NiwgNzgsIDY5LCA2NywgCi0gICAgNzUsIDg0LCA3MywgNjksIDEyOCwgNzgsIDY5LCA2NiwgNjksIDc4LCA4MywgODQsIDczLCA3NywgNzcsIDY5LCAxMjgsIDc4LCAKLSAgICA2OCwgODUsIDg4LCAxMjgsIDc4LCA2OCwgODUsIDg0LCAxMjgsIDc4LCA2OCwgODUsIDgyLCA4OCwgMTI4LCA3OCwgNjgsIAotICAgIDg1LCA4MiwgMTI4LCA3OCwgNjgsIDg1LCA4MCwgMTI4LCA3OCwgNjgsIDg1LCA3OCwgMTI4LCA3OCwgNjgsIDIxMywgNzgsIAotICAgIDY4LCA3OSwgODgsIDEyOCwgNzgsIDY4LCA3OSwgODQsIDEyOCwgNzgsIDY4LCA3OSwgODAsIDEyOCwgNzgsIDY4LCA3OSwgCi0gICAgNzksIDEyOCwgNzgsIDY4LCA3OSwgNzgsIDEyOCwgNzgsIDY4LCA3OSwgNzcsIDY2LCA4NSwgMTI4LCA3OCwgNjgsIDc5LCAKLSAgICA3NiwgMTk3LCA3OCwgNjgsIDczLCA4OCwgMTI4LCA3OCwgNjgsIDczLCA4NCwgMTI4LCA3OCwgNjgsIDczLCA4MSwgMTI4LCAKLSAgICA3OCwgNjgsIDczLCA4MCwgMTI4LCA3OCwgNjgsIDczLCA2OSwgODgsIDEyOCwgNzgsIDY4LCA3MywgNjksIDEyOCwgNzgsIAotICAgIDY4LCA3MywgNjgsIDY1LCAxMjgsIDc4LCA2OCwgNzMsIDY1LCA4MSwgMTI4LCA3OCwgNjgsIDY5LCA4OCwgMTI4LCA3OCwgCi0gICAgNjgsIDY5LCA4NSwgODgsIDEyOCwgNzgsIDY4LCA2OSwgODUsIDg0LCAxMjgsIDc4LCA2OCwgNjksIDg1LCA2NSwgNjksIDgyLCAKLSAgICA2OSwgNjksIDEyOCwgNzgsIDY4LCA2OSwgODAsIDEyOCwgNzgsIDY4LCA2OSwgNjksIDEyOCwgNzgsIDY4LCA2OSwgMTI4LCAKLSAgICA3OCwgNjgsIDY1LCA4OCwgMTI4LCA3OCwgNjgsIDY1LCA4NCwgMTI4LCA3OCwgNjgsIDY1LCA4MCwgMTI4LCA3OCwgNjgsIAotICAgIDY1LCA3NywgMTI4LCA3OCwgNjgsIDY1LCA2NSwgNzgsIDcxLCA3MSwgNjksIDg1LCA2NSwgNjksIDg0LCAxMjgsIDc4LCA2OCwgCi0gICAgNjUsIDY1LCAxMjgsIDc4LCA2OCwgNjUsIDE5MywgNzgsIDY2LCA4OSwgODgsIDEyOCwgNzgsIDY2LCA4OSwgODQsIDEyOCwgCi0gICAgNzgsIDY2LCA4OSwgODIsIDg4LCAxMjgsIDc4LCA2NiwgODksIDgyLCAxMjgsIDc4LCA2NiwgODksIDgwLCAxMjgsIDc4LCAKLSAgICA2NiwgODksIDEyOCwgNzgsIDY2LCA4NSwgODgsIDEyOCwgNzgsIDY2LCA4NSwgODQsIDEyOCwgNzgsIDY2LCA4NSwgODIsIAotICAgIDg4LCAxMjgsIDc4LCA2NiwgODUsIDgyLCAxMjgsIDc4LCA2NiwgODUsIDgwLCAxMjgsIDc4LCA2NiwgODUsIDEyOCwgNzgsIAotICAgIDY2LCA3OSwgODgsIDEyOCwgNzgsIDY2LCA3OSwgODQsIDEyOCwgNzgsIDY2LCA3OSwgODAsIDEyOCwgNzgsIDY2LCA3OSwgCi0gICAgMTI4LCA3OCwgNjYsIDczLCA4OCwgMTI4LCA3OCwgNjYsIDczLCA4NCwgMTI4LCA3OCwgNjYsIDczLCA4MCwgMTI4LCA3OCwgCi0gICAgNjYsIDczLCA2OSwgODgsIDEyOCwgNzgsIDY2LCA3MywgNjksIDgwLCAxMjgsIDc4LCA2NiwgNzMsIDY5LCAxMjgsIDc4LCAKLSAgICA2NiwgNzMsIDEyOCwgNzgsIDY2LCA3MiwgMTI4LCA3OCwgNjYsIDY1LCA4OCwgMTI4LCA3OCwgNjYsIDY1LCA4NCwgMTI4LCAKLSAgICA3OCwgNjYsIDY1LCA4MCwgMTI4LCA3OCwgNjYsIDY1LCAxMjgsIDc4LCA2NSwgODksIDY1LCA3OCwgNzgsIDY1LCAxMjgsIAotICAgIDc4LCA2NSwgODksIDEyOCwgNzgsIDY1LCA4OCwgNzMsIDY1LCAyMDYsIDc4LCA2NSwgODgsIDEyOCwgNzgsIDY1LCA4NSwgCi0gICAgODQsIDcyLCA4MywgMTI4LCA3OCwgNjUsIDg1LCA2OCwgNzMsIDIxOCwgNzgsIDY1LCA4NCwgODUsIDgyLCA2NSwgMjA0LCAKLSAgICA3OCwgNjUsIDg0LCA3MywgNzksIDc4LCA2NSwgMjA0LCA3OCwgNjUsIDgzLCA3NSwgNjUsIDgwLCAyMDEsIDc4LCA2NSwgODMsIAotICAgIDcyLCA3MywgMTI4LCA3OCwgNjUsIDgzLCA2NSwgNzYsIDczLCA5MCwgNjUsIDg0LCA3MywgNzksIDc4LCAxMjgsIDc4LCA2NSwgCi0gICAgODMsIDY1LCA3NiwgNzMsIDkwLCA2NSwgODQsIDczLCA3OSwgMjA2LCA3OCwgNjUsIDgyLCA4MiwgNzksIDIxNSwgNzgsIDY1LCAKLSAgICA4MiwgMTI4LCA3OCwgNjUsIDgxLCAxMjgsIDc4LCA2NSwgNzksIDIxMSwgNzgsIDY1LCA3OCwgODMsIDY1LCA3OCwgNjUsIAotICAgIDgxLCAxMjgsIDc4LCA2NSwgNzgsIDcxLCA3NywgNzksIDc4LCA4NCwgNzIsIDc5LCAxMjgsIDc4LCA2NSwgNzgsIDY4LCAKLSAgICAxMjgsIDc4LCA2NSwgNzgsIDY1LCAxMjgsIDc4LCA2NSwgNzcsIDY5LCAxMjgsIDc4LCA2NSwgNzcsIDE5NywgNzgsIDY1LCAKLSAgICA3NywgNTAsIDEyOCwgNzgsIDY1LCA3NywgMTI4LCA3OCwgNjUsIDc1LCAxMjgsIDc4LCA2NSwgNzMsIDgyLCAxOTMsIDc4LCAKLSAgICA2NSwgNzMsIDIwNCwgNzgsIDY1LCA3MSwgODIsIDIwMSwgNzgsIDY1LCA3MSwgNjUsIDgyLCAxMjgsIDc4LCA2NSwgNzEsIAotICAgIDY1LCAxMjgsIDc4LCA2NSwgNzEsIDE5MywgNzgsIDY1LCA3MSwgMTI4LCA3OCwgNjUsIDE5OSwgNzgsIDY1LCA2OSwgMTI4LCAKLSAgICA3OCwgNjUsIDY2LCA3NiwgNjUsIDEyOCwgNzgsIDY1LCA2NSwgODMsIDczLCA3NSwgODksIDY1LCA4OSwgNjUsIDEyOCwgNzgsIAorICAgIDY5LCA2NSwgNzUsIDczLCA3OCwgMTk5LCA3OCwgNzksIDc4LCAxMjgsIDc4LCA3OSwgNzcsIDczLCA3OCwgNjUsIDIwNCwgCisgICAgNzgsIDc5LCA3NSwgNzIsIDg1LCA3NSwgMTI4LCA3OCwgNzksIDY4LCA2OSwgMTI4LCA3OCwgNzksIDY1LCAxMjgsIDc4LCAKKyAgICA3OSwgNDUsIDY2LCA4MiwgNjksIDY1LCAyMDMsIDc4LCA3OCwgODUsIDg1LCAxMjgsIDc4LCA3OCwgODUsIDEyOCwgNzgsIAorICAgIDc4LCA3OSwgNzksIDEyOCwgNzgsIDc4LCA3OSwgMTI4LCA3OCwgNzgsIDc4LCA4NSwgODUsIDEyOCwgNzgsIDc4LCA3OCwgCisgICAgODUsIDEyOCwgNzgsIDc4LCA3OCwgNzksIDc5LCAxMjgsIDc4LCA3OCwgNzgsIDc5LCAxMjgsIDc4LCA3OCwgNzgsIDczLCAKKyAgICA3MywgMTI4LCA3OCwgNzgsIDc4LCA3MywgMTI4LCA3OCwgNzgsIDc4LCA2OSwgNjksIDEyOCwgNzgsIDc4LCA3OCwgNjksIAorICAgIDEyOCwgNzgsIDc4LCA3OCwgNjUsIDg1LCAxMjgsIDc4LCA3OCwgNzgsIDY1LCA3MywgMTI4LCA3OCwgNzgsIDc4LCA2NSwgCisgICAgNjUsIDEyOCwgNzgsIDc4LCA3OCwgNjUsIDEyOCwgNzgsIDc4LCA3OCwgMTI4LCA3OCwgNzgsIDcyLCA2NSwgMTI4LCA3OCwgCisgICAgNzgsIDcxLCA3OSwgNzksIDEyOCwgNzgsIDc4LCA3MSwgNzksIDEyOCwgNzgsIDc4LCA3MSwgNzMsIDczLCAxMjgsIDc4LCAKKyAgICA3OCwgNzEsIDczLCAxMjgsIDc4LCA3OCwgNzEsIDY1LCA2NSwgMTI4LCA3OCwgNzgsIDcxLCA2NSwgMTI4LCA3OCwgNzgsIAorICAgIDcxLCAxMjgsIDc4LCA3OCwgNjYsIDgzLCA4MCwgMTI4LCA3OCwgNzcsIDEyOCwgNzgsIDc2LCA2NSwgODUsIDEyOCwgNzgsIAorICAgIDc2LCA0OCwgNTAsIDQ4LCAxMjgsIDc4LCA3NiwgNDgsIDQ5LCA1NywgMTI4LCA3OCwgNzYsIDQ4LCA0OSwgNTYsIDEyOCwgCisgICAgNzgsIDc2LCA0OCwgNDksIDU1LCA2NSwgMTI4LCA3OCwgNzYsIDQ4LCA0OSwgNTUsIDEyOCwgNzgsIDc2LCA0OCwgNDksIDU0LCAKKyAgICAxMjgsIDc4LCA3NiwgNDgsIDQ5LCA1MywgMTI4LCA3OCwgNzYsIDQ4LCA0OSwgNTIsIDEyOCwgNzgsIDc2LCA0OCwgNDksIAorICAgIDUxLCAxMjgsIDc4LCA3NiwgNDgsIDQ5LCA1MCwgMTI4LCA3OCwgNzYsIDQ4LCA0OSwgNDksIDEyOCwgNzgsIDc2LCA0OCwgCisgICAgNDksIDQ4LCAxMjgsIDc4LCA3NiwgNDgsIDQ4LCA1NywgMTI4LCA3OCwgNzYsIDQ4LCA0OCwgNTYsIDEyOCwgNzgsIDc2LCAKKyAgICA0OCwgNDgsIDU1LCAxMjgsIDc4LCA3NiwgNDgsIDQ4LCA1NCwgMTI4LCA3OCwgNzYsIDQ4LCA0OCwgNTMsIDY1LCAxMjgsIAorICAgIDc4LCA3NiwgNDgsIDQ4LCA1MywgMTI4LCA3OCwgNzYsIDQ4LCA0OCwgNTIsIDEyOCwgNzgsIDc2LCA0OCwgNDgsIDUxLCAKKyAgICAxMjgsIDc4LCA3NiwgNDgsIDQ4LCA1MCwgMTI4LCA3OCwgNzYsIDQ4LCA0OCwgNDksIDEyOCwgNzgsIDc2LCAxMjgsIDc4LCAKKyAgICA3NSwgNzksIDc3LCAxMjgsIDc4LCA3NSwgMjA3LCA3OCwgNzUsIDczLCA3OCwgNjgsIDczLCAxMjgsIDc4LCA3NSwgNjUsIAorICAgIDg1LCAxMjgsIDc4LCA3NSwgNjUsIDY1LCA4MiwgNjUsIDY5LCAxMjgsIDc4LCA3NCwgODksIDg4LCAxMjgsIDc4LCA3NCwgCisgICAgODksIDg0LCAxMjgsIDc4LCA3NCwgODksIDgyLCA4OCwgMTI4LCA3OCwgNzQsIDg5LCA4MiwgMTI4LCA3OCwgNzQsIDg5LCAKKyAgICA4MCwgMTI4LCA3OCwgNzQsIDg5LCAxMjgsIDc4LCA3NCwgODUsIDg4LCAxMjgsIDc4LCA3NCwgODUsIDgyLCA4OCwgMTI4LCAKKyAgICA3OCwgNzQsIDg1LCA4MiwgMTI4LCA3OCwgNzQsIDg1LCA4MSwgNjUsIDEyOCwgNzgsIDc0LCA4NSwgODAsIDEyOCwgNzgsIAorICAgIDc0LCA4NSwgNzksIDg4LCAxMjgsIDc4LCA3NCwgODUsIDc5LCAxMjgsIDc4LCA3NCwgODUsIDY5LCA4MSwgMTI4LCA3OCwgCisgICAgNzQsIDg1LCA2NSwgNjksIDEyOCwgNzgsIDc0LCA4NSwgMTI4LCA3OCwgNzQsIDc5LCA4OCwgMTI4LCA3OCwgNzQsIDc5LCAKKyAgICA4NCwgMTI4LCA3OCwgNzQsIDc5LCA4MCwgMTI4LCA3OCwgNzQsIDc5LCA3OSwgMTI4LCA3OCwgNzQsIDc5LCAxMjgsIDc4LCAKKyAgICA3NCwgNzMsIDg4LCAxMjgsIDc4LCA3NCwgNzMsIDg0LCAxMjgsIDc4LCA3NCwgNzMsIDgwLCAxMjgsIDc4LCA3NCwgNzMsIAorICAgIDY5LCA4OCwgMTI4LCA3OCwgNzQsIDczLCA2OSwgODQsIDEyOCwgNzgsIDc0LCA3MywgNjksIDgwLCAxMjgsIDc4LCA3NCwgCisgICAgNzMsIDY5LCA2OSwgMTI4LCA3OCwgNzQsIDczLCA2OSwgMTI4LCA3OCwgNzQsIDczLCAxMjgsIDc4LCA3NCwgMjAxLCA3OCwgCisgICAgNzQsIDY5LCA4NSwgODgsIDEyOCwgNzgsIDc0LCA2OSwgODUsIDg0LCAxMjgsIDc4LCA3NCwgNjksIDg1LCA2NSwgNjksIDc4LCAKKyAgICA2NSwgMTI4LCA3OCwgNzQsIDY5LCA4NSwgNjUsIDY5LCA3NywgMTI4LCA3OCwgNzQsIDY5LCA2OSwgNjksIDY5LCAxMjgsIAorICAgIDc4LCA3NCwgNjksIDY5LCAxMjgsIDc4LCA3NCwgNjksIDE5NywgNzgsIDc0LCA2OSwgMTI4LCA3OCwgNzQsIDY1LCA4MSwgCisgICAgMTI4LCA3OCwgNzQsIDY1LCA4MCwgMTI4LCA3OCwgNzQsIDY1LCA2OSwgNzcsIDc2LCA3MywgMTI4LCA3OCwgNzQsIDY1LCAKKyAgICA2OSwgNzcsIDEyOCwgNzgsIDc0LCA2NSwgNjUsIDEyOCwgNzgsIDczLCA4OCwgMTI4LCA3OCwgNzMsIDg0LCA4MiwgNjksIAorICAgIDEyOCwgNzgsIDczLCA4MywgNjUsIDcxLCAxMjgsIDc4LCA3MywgODIsIDg1LCA3MSwgODUsIDEyOCwgNzgsIDczLCA4MCwgCisgICAgMTI4LCA3OCwgNzMsIDc4LCA4NCwgNzIsIDEyOCwgNzgsIDczLCA3OCwgNjksIDg0LCA4OSwgMTI4LCA3OCwgNzMsIDc4LCAKKyAgICA2OSwgODQsIDIxNywgNzgsIDczLCA3OCwgNjksIDg0LCA2OSwgNjksIDc4LCAxMjgsIDc4LCA3MywgNzgsIDY5LCA4NCwgNjksIAorICAgIDY5LCAyMDYsIDc4LCA3MywgNzgsIDY5LCA0NSwgODQsIDcyLCA3MywgODIsIDg0LCA4OSwgMTI4LCA3OCwgNzMsIDc4LCAKKyAgICAxOTcsIDc4LCA3MywgNzgsIDY4LCA2NSwgNTAsIDEyOCwgNzgsIDczLCA3OCwgNjgsIDY1LCAxNzgsIDc4LCA3MywgNzgsIAorICAgIDU3LCAxMjgsIDc4LCA3MywgNzgsIDEyOCwgNzgsIDczLCA3NywgMTI4LCA3OCwgNzMsIDIwNSwgNzgsIDczLCA3NSwgNzIsIAorICAgIDY1LCA3MiwgNzMsIDg0LCAxMjgsIDc4LCA3MywgNzUsIDY1LCA3MiwgNzMsIDg0LCAxMjgsIDc4LCA3MywgNzUsIDY1LCAKKyAgICAxMjgsIDc4LCA3MywgNzIsIDgzLCA3MiwgODYsIDY1LCA4MywgNjUsIDEyOCwgNzgsIDczLCA3MSwgNzMsIDY4LCA2NSwgNzcsIAorICAgIDczLCA3OCwgMTI4LCA3OCwgNzMsIDcxLCA3MywgNjgsIDY1LCA2OSwgODMsIDcyLCAxMjgsIDc4LCA3MywgNzEsIDcyLCA4NCwgCisgICAgMTI4LCA3OCwgNzMsIDcxLCA3MiwgMjEyLCA3OCwgNzMsIDcxLCA3MSwgNjUsIDcyLCA3MywgODQsIDY1LCAxMjgsIDc4LCAKKyAgICA3MywgNjksIDg4LCAxMjgsIDc4LCA3MywgNjksIDg1LCA3OCwgNDUsIDg0LCA3MywgNzUsIDY5LCA4NSwgODQsIDEyOCwgNzgsIAorICAgIDczLCA2OSwgODUsIDc4LCA0NSwgODQsIDcyLCA3MywgNjksIDg1LCA4NCwgNzIsIDEyOCwgNzgsIDczLCA2OSwgODUsIDc4LCAKKyAgICA0NSwgODMsIDczLCA3OSwgODMsIDEyOCwgNzgsIDczLCA2OSwgODUsIDc4LCA0NSwgODIsIDczLCA2OSwgODUsIDc2LCAxMjgsIAorICAgIDc4LCA3MywgNjksIDg1LCA3OCwgNDUsIDgwLCA3MywgNjksIDg1LCA4MCwgMTI4LCA3OCwgNzMsIDY5LCA4NSwgNzgsIDQ1LCAKKyAgICA4MCwgNjUsIDc4LCA4MywgNzMsIDc5LCA4MywgMTI4LCA3OCwgNzMsIDY5LCA4NSwgNzgsIDQ1LCA3NSwgNzMsIDg5LCA2OSwgCisgICAgNzksIDc1LCAxMjgsIDc4LCA3MywgNjksIDg1LCA3OCwgNDUsIDcyLCA3MywgNjksIDg1LCA3MiwgMTI4LCA3OCwgNzMsIDY5LCAKKyAgICA4NSwgNzgsIDQ1LCA2NywgNzMsIDY5LCA4NSwgNjcsIDEyOCwgNzgsIDczLCA2OSwgODUsIDc4LCA0NSwgNjcsIDcyLCA3MywgCisgICAgNjksIDg1LCA2NywgNzIsIDEyOCwgNzgsIDczLCA2OSwgODUsIDIwNiwgNzgsIDczLCA2OSwgODAsIDEyOCwgNzgsIDczLCAKKyAgICA2OSwgMTI4LCA3OCwgNzMsIDY2LCAxMjgsIDc4LCA3MywgNjUsIDEyOCwgNzgsIDczLCA1MCwgMTI4LCA3OCwgNzIsIDg1LCAKKyAgICA2OSwgMTI4LCA3OCwgNzIsIDc0LCA2NSwgMTI4LCA3OCwgNzIsIDEyOCwgNzgsIDcxLCA4OSwgNjksIDEyOCwgNzgsIDcxLCAKKyAgICA4NiwgNjksIDEyOCwgNzgsIDcxLCA4NSwgODUsIDEyOCwgNzgsIDcxLCA4NSwgNzksIDg4LCAxMjgsIDc4LCA3MSwgODUsIAorICAgIDc5LCA4NCwgMTI4LCA3OCwgNzEsIDg1LCA3OSwgMTI4LCA3OCwgNzEsIDg1LCA2NSwgNzgsIDEyOCwgNzgsIDcxLCA4NSwgCisgICAgNjUsIDY5LCA4NCwgMTI4LCA3OCwgNzEsIDg1LCA2NSwgNjksIDEyOCwgNzgsIDcxLCA3OSwgODgsIDEyOCwgNzgsIDcxLCAKKyAgICA3OSwgODUsIDEyOCwgNzgsIDcxLCA3OSwgMjEzLCA3OCwgNzEsIDc5LCA4NCwgMTI4LCA3OCwgNzEsIDc5LCA4MSwgMTI4LCAKKyAgICA3OCwgNzEsIDc5LCA4MCwgMTI4LCA3OCwgNzEsIDc5LCA3OCwgMTI4LCA3OCwgNzEsIDc5LCA3NywgMTI4LCA3OCwgNzEsIAorICAgIDc5LCA2OSwgNzIsIDEyOCwgNzgsIDcxLCA3OSwgNjksIDIwMCwgNzgsIDcxLCAyMDcsIDc4LCA3MSwgNzUsIDg5LCA2OSwgCisgICAgNjksIDEyOCwgNzgsIDcxLCA3NSwgODcsIDY1LCA2OSwgNzgsIDEyOCwgNzgsIDcxLCA3NSwgODUsIDgwLCAxMjgsIDc4LCAKKyAgICA3MSwgNzUsIDg1LCA3OCwgMTI4LCA3OCwgNzEsIDc1LCA4NSwgNzcsIDEyOCwgNzgsIDcxLCA3NSwgODUsIDY5LCA3OCwgOTAsIAorICAgIDY5LCA4NSwgNzcsIDEyOCwgNzgsIDcxLCA3NSwgODUsIDE5NywgNzgsIDcxLCA3NSwgNzMsIDc4LCA2OCwgMjAxLCA3OCwgCisgICAgNzEsIDc1LCA3MywgNjksIDY5LCAxMjgsIDc4LCA3MSwgNzUsIDY5LCA4NSwgODgsIDEyOCwgNzgsIDcxLCA3NSwgNjksIDg1LCAKKyAgICA4MiwgNzMsIDEyOCwgNzgsIDcxLCA3NSwgNjksIDg1LCA2NSwgNjksIDgxLCAxMjgsIDc4LCA3MSwgNzUsIDY5LCA4NSwgNjUsIAorICAgIDY5LCA3NywgMTI4LCA3OCwgNzEsIDc1LCA2NSwgODEsIDEyOCwgNzgsIDcxLCA3NSwgNjUsIDgwLCAxMjgsIDc4LCA3MSwgCisgICAgNzUsIDY1LCA2NSwgNzcsIDczLCAxMjgsIDc4LCA3MSwgNzUsIDY1LCAxMjgsIDc4LCA3MSwgNzMsIDY5LCA4OCwgMTI4LCAKKyAgICA3OCwgNzEsIDczLCA2OSwgODAsIDEyOCwgNzgsIDcxLCA3MywgNjksIDEyOCwgNzgsIDcxLCA3MiwgNjUsIDEyOCwgNzgsIAorICAgIDcxLCA3MSwgODcsIDY1LCA2OSwgNzgsIDEyOCwgNzgsIDcxLCA3MSwgODUsIDgyLCA2NSwgNjksIDEyOCwgNzgsIDcxLCA3MSwgCisgICAgODUsIDgwLCAxMjgsIDc4LCA3MSwgNzEsIDg1LCA3OSwgODEsIDEyOCwgNzgsIDcxLCA3MSwgODUsIDc5LCAyMDksIDc4LCAKKyAgICA3MSwgNzEsIDg1LCA3OSwgNzgsIDEyOCwgNzgsIDcxLCA3MSwgODUsIDc5LCA3NywgMTI4LCA3OCwgNzEsIDcxLCA4NSwgNzcsIAorICAgIDEyOCwgNzgsIDcxLCA3MSwgODUsIDY5LCA2OSwgODQsIDEyOCwgNzgsIDcxLCA3MSwgODUsIDY1LCA2OSwgODMsIDcyLCA2NSwgCisgICAgMTk3LCA3OCwgNzEsIDcxLCA4NSwgNjUsIDY5LCAyMDYsIDc4LCA3MSwgNzEsIDg1LCA2NSwgMTI4LCA3OCwgNzEsIDcxLCAKKyAgICA4NSwgMTI4LCA3OCwgNzEsIDcxLCA3OSwgNzksIDEyOCwgNzgsIDcxLCA3MSwgNzksIDEyOCwgNzgsIDcxLCA3MSwgNzMsIAorICAgIDEyOCwgNzgsIDcxLCA3MSwgNjksIDg1LCA4OCwgMTI4LCA3OCwgNzEsIDcxLCA2OSwgODUsIDY1LCA2OSwgODQsIDEyOCwgCisgICAgNzgsIDcxLCA3MSwgNjksIDg1LCA2NSwgNjksIDEyOCwgNzgsIDcxLCA3MSwgNjksIDIxMywgNzgsIDcxLCA3MSwgNjksIDc4LCAKKyAgICAxMjgsIDc4LCA3MSwgNzEsIDY5LCA2OSwgODQsIDEyOCwgNzgsIDcxLCA3MSwgNjksIDY5LCA2OSwgNjksIDEyOCwgNzgsIAorICAgIDcxLCA3MSwgNjksIDY5LCAxMjgsIDc4LCA3MSwgNzEsIDY5LCAxMjgsIDc4LCA3MSwgNzEsIDY1LCA4MCwgMTI4LCA3OCwgCisgICAgNzEsIDcxLCA2NSwgNjUsIDc3LCA2NSwgNjksIDEyOCwgNzgsIDcxLCA3MSwgNjUsIDY1LCA3NywgMTI4LCA3OCwgNzEsIDcxLCAKKyAgICA2NSwgNjUsIDEyOCwgNzgsIDcxLCA3MSwgMTI4LCA3OCwgNzEsIDY5LCA4OCwgMTI4LCA3OCwgNzEsIDY5LCA4NSwgODIsIAorICAgIDY5LCA4NSwgODQsIDEyOCwgNzgsIDcxLCA2OSwgODAsIDEyOCwgNzgsIDcxLCA2OSwgNzgsIDEyOCwgNzgsIDcxLCA2OSwgCisgICAgNjksIDEyOCwgNzgsIDcxLCA2OSwgNjUsIDY4LCA2NSwgNzYsIDEyOCwgNzgsIDcxLCA2NSwgODgsIDEyOCwgNzgsIDcxLCAKKyAgICA2NSwgODUsIDEyOCwgNzgsIDcxLCA2NSwgODQsIDEyOCwgNzgsIDcxLCA2NSwgMjExLCA3OCwgNzEsIDY1LCA4MSwgMTI4LCAKKyAgICA3OCwgNzEsIDY1LCA4MCwgMTI4LCA3OCwgNzEsIDY1LCA3OCwgNzEsIDg1LCAxMjgsIDc4LCA3MSwgNjUsIDc4LCAxMjgsIAorICAgIDc4LCA3MSwgNjUsIDczLCAxMjgsIDc4LCA3MSwgNjUsIDcyLCAxMjgsIDc4LCA3MSwgNjUsIDY1LCA3MywgMTI4LCA3OCwgCisgICAgNzEsIDE5MywgNzgsIDcwLCAxMjgsIDc4LCA2OSwgODgsIDIxMiwgNzgsIDY5LCA4OCwgMTI4LCA3OCwgNjksIDg3LCA4MywgCisgICAgODAsIDY1LCA4MCwgNjksIDgyLCAxMjgsIDc4LCA2OSwgODcsIDc2LCA3MywgNzgsIDY5LCAxMjgsIDc4LCA2OSwgODcsIDc2LCAKKyAgICA3MywgNzgsIDE5NywgNzgsIDY5LCA4NywgMTI4LCA3OCwgNjksIDg1LCA4NCwgODIsIDY1LCAyMDQsIDc4LCA2OSwgODUsIAorICAgIDg0LCA2OSwgODIsIDEyOCwgNzgsIDY5LCA4NCwgODcsIDc5LCA4MiwgNzUsIDY5LCAxOTYsIDc4LCA2OSwgODQsIDEyOCwgCisgICAgNzgsIDY5LCAyMTIsIDc4LCA2OSwgODMsIDg0LCA2OSwgMTk2LCA3OCwgNjksIDgxLCA4NSwgNjgsIDY1LCA2NSwgMTI4LCAKKyAgICA3OCwgNjksIDgwLCA4NCwgODUsIDc4LCA2OSwgMTI4LCA3OCwgNjksIDgwLCAxMjgsIDc4LCA2OSwgNzksIDEyOCwgNzgsIAorICAgIDY5LCAyMDcsIDc4LCA2OSwgNzgsIDc5LCA2OSwgMTI4LCA3OCwgNjksIDc4LCA2NSwgNzgsIDc5LCAxMjgsIDc4LCA2OSwgCisgICAgNzgsIDEyOCwgNzgsIDY5LCA3NiwgMTI4LCA3OCwgNjksIDczLCA4NCwgNzIsIDY5LCAyMTAsIDc4LCA2OSwgNzEsIDY1LCAKKyAgICA4NCwgNzMsIDc5LCAyMDYsIDc4LCA2OSwgNzEsIDY1LCA4NCwgNjksIDE5NiwgNzgsIDY5LCA2NywgNzUsIDg0LCA3MywgNjksIAorICAgIDEyOCwgNzgsIDY5LCA2NiwgNjksIDc4LCA4MywgODQsIDczLCA3NywgNzcsIDY5LCAxMjgsIDc4LCA2OCwgODUsIDg4LCAKKyAgICAxMjgsIDc4LCA2OCwgODUsIDg0LCAxMjgsIDc4LCA2OCwgODUsIDgyLCA4OCwgMTI4LCA3OCwgNjgsIDg1LCA4MiwgMTI4LCAKKyAgICA3OCwgNjgsIDg1LCA4MCwgMTI4LCA3OCwgNjgsIDg1LCA3OCwgMTI4LCA3OCwgNjgsIDIxMywgNzgsIDY4LCA3OSwgODgsIAorICAgIDEyOCwgNzgsIDY4LCA3OSwgODQsIDEyOCwgNzgsIDY4LCA3OSwgODAsIDEyOCwgNzgsIDY4LCA3OSwgNzksIDEyOCwgNzgsIAorICAgIDY4LCA3OSwgNzgsIDEyOCwgNzgsIDY4LCA3OSwgNzcsIDY2LCA4NSwgMTI4LCA3OCwgNjgsIDc5LCA3NiwgMTk3LCA3OCwgCisgICAgNjgsIDczLCA4OCwgMTI4LCA3OCwgNjgsIDczLCA4NCwgMTI4LCA3OCwgNjgsIDczLCA4MSwgMTI4LCA3OCwgNjgsIDczLCAKKyAgICA4MCwgMTI4LCA3OCwgNjgsIDczLCA2OSwgODgsIDEyOCwgNzgsIDY4LCA3MywgNjksIDEyOCwgNzgsIDY4LCA3MywgNjgsIAorICAgIDY1LCAxMjgsIDc4LCA2OCwgNzMsIDY1LCA4MSwgMTI4LCA3OCwgNjgsIDY5LCA4OCwgMTI4LCA3OCwgNjgsIDY5LCA4NSwgCisgICAgODgsIDEyOCwgNzgsIDY4LCA2OSwgODUsIDg0LCAxMjgsIDc4LCA2OCwgNjksIDg1LCA2NSwgNjksIDgyLCA2OSwgNjksIAorICAgIDEyOCwgNzgsIDY4LCA2OSwgODAsIDEyOCwgNzgsIDY4LCA2OSwgNjksIDEyOCwgNzgsIDY4LCA2OSwgMTI4LCA3OCwgNjgsIAorICAgIDY1LCA4OCwgMTI4LCA3OCwgNjgsIDY1LCA4NCwgMTI4LCA3OCwgNjgsIDY1LCA4MCwgMTI4LCA3OCwgNjgsIDY1LCA3NywgCisgICAgMTI4LCA3OCwgNjgsIDY1LCA2NSwgNzgsIDcxLCA3MSwgNjksIDg1LCA2NSwgNjksIDg0LCAxMjgsIDc4LCA2OCwgNjUsIDY1LCAKKyAgICAxMjgsIDc4LCA2OCwgNjUsIDE5MywgNzgsIDY3LCA3MiwgNjUsIDg1LCAxMjgsIDc4LCA2NiwgODksIDg4LCAxMjgsIDc4LCAKKyAgICA2NiwgODksIDg0LCAxMjgsIDc4LCA2NiwgODksIDgyLCA4OCwgMTI4LCA3OCwgNjYsIDg5LCA4MiwgMTI4LCA3OCwgNjYsIAorICAgIDg5LCA4MCwgMTI4LCA3OCwgNjYsIDg5LCAxMjgsIDc4LCA2NiwgODUsIDg4LCAxMjgsIDc4LCA2NiwgODUsIDg0LCAxMjgsIAorICAgIDc4LCA2NiwgODUsIDgyLCA4OCwgMTI4LCA3OCwgNjYsIDg1LCA4MiwgMTI4LCA3OCwgNjYsIDg1LCA4MCwgMTI4LCA3OCwgCisgICAgNjYsIDg1LCAxMjgsIDc4LCA2NiwgNzksIDg4LCAxMjgsIDc4LCA2NiwgNzksIDg0LCAxMjgsIDc4LCA2NiwgNzksIDgwLCAKKyAgICAxMjgsIDc4LCA2NiwgNzksIDEyOCwgNzgsIDY2LCA3MywgODgsIDEyOCwgNzgsIDY2LCA3MywgODQsIDEyOCwgNzgsIDY2LCAKKyAgICA3MywgODAsIDEyOCwgNzgsIDY2LCA3MywgNjksIDg4LCAxMjgsIDc4LCA2NiwgNzMsIDY5LCA4MCwgMTI4LCA3OCwgNjYsIAorICAgIDczLCA2OSwgMTI4LCA3OCwgNjYsIDczLCAxMjgsIDc4LCA2NiwgNzIsIDEyOCwgNzgsIDY2LCA2NSwgODgsIDEyOCwgNzgsIAorICAgIDY2LCA2NSwgODQsIDEyOCwgNzgsIDY2LCA2NSwgODAsIDEyOCwgNzgsIDY2LCA2NSwgMTI4LCA3OCwgNjUsIDg5LCA2NSwgCisgICAgNzgsIDc4LCA2NSwgMTI4LCA3OCwgNjUsIDg5LCAxMjgsIDc4LCA2NSwgODgsIDczLCA2NSwgMjA2LCA3OCwgNjUsIDg4LCAKKyAgICAxMjgsIDc4LCA2NSwgODUsIDg0LCA3MiwgODMsIDEyOCwgNzgsIDY1LCA4NSwgNjgsIDczLCAyMTgsIDc4LCA2NSwgODQsIAorICAgIDg1LCA4MiwgNjUsIDIwNCwgNzgsIDY1LCA4NCwgNzMsIDc5LCA3OCwgNjUsIDIwNCwgNzgsIDY1LCA4MywgNzUsIDY1LCA4MCwgCisgICAgMjAxLCA3OCwgNjUsIDgzLCA3MiwgNzMsIDEyOCwgNzgsIDY1LCA4MywgNjUsIDc2LCA3MywgOTAsIDY1LCA4NCwgNzMsIDc5LCAKKyAgICA3OCwgMTI4LCA3OCwgNjUsIDgzLCA2NSwgNzYsIDczLCA5MCwgNjUsIDg0LCA3MywgNzksIDIwNiwgNzgsIDY1LCA4MywgNjUsIAorICAgIDIwNCwgNzgsIDY1LCA4MiwgODIsIDc5LCAyMTUsIDc4LCA2NSwgODIsIDEyOCwgNzgsIDY1LCA4MSwgMTI4LCA3OCwgNjUsIAorICAgIDc5LCAyMTEsIDc4LCA2NSwgNzgsIDgzLCA2NSwgNzgsIDY1LCA4MSwgMTI4LCA3OCwgNjUsIDc4LCA3MSwgNzcsIDc5LCA3OCwgCisgICAgODQsIDcyLCA3OSwgMTI4LCA3OCwgNjUsIDc4LCA2OCwgMTI4LCA3OCwgNjUsIDc4LCA2NSwgMTI4LCA3OCwgNjUsIDc3LCAKKyAgICA2OSwgMTI4LCA3OCwgNjUsIDc3LCAxOTcsIDc4LCA2NSwgNzcsIDUwLCAxMjgsIDc4LCA2NSwgNzcsIDEyOCwgNzgsIDY1LCAKKyAgICA3NSwgMTI4LCA3OCwgNjUsIDczLCA4MiwgMTkzLCA3OCwgNjUsIDczLCAyMDQsIDc4LCA2NSwgNzEsIDgyLCAyMDEsIDc4LCAKKyAgICA2NSwgNzEsIDY1LCA4MiwgMTI4LCA3OCwgNjUsIDcxLCA2NSwgMTI4LCA3OCwgNjUsIDcxLCAxOTMsIDc4LCA2NSwgNzEsIAorICAgIDEyOCwgNzgsIDY1LCAxOTksIDc4LCA2NSwgNjksIDEyOCwgNzgsIDY1LCA2NiwgNzYsIDY1LCAxMjgsIDc4LCA2NSwgNjYsIAorICAgIDY1LCA4NCwgNjUsIDY5LCA2NSwgMjA2LCA3OCwgNjUsIDY1LCA4MywgNzMsIDc1LCA4OSwgNjUsIDg5LCA2NSwgMTI4LCA3OCwgCiAgICAgNjUsIDY1LCA3NSwgODMsIDczLCA3NSwgODksIDY1LCA4OSwgNjUsIDEyOCwgNzgsIDY1LCA2NSwgNzMsIDEyOCwgNzgsIDY1LCAKLSAgICAxOTMsIDc4LCA2NSwgNTAsIDEyOCwgNzgsIDY1LCA0NSwgNTAsIDEyOCwgNzgsIDQ4LCA1MiwgNTAsIDEyOCwgNzgsIDQ4LCAKLSAgICA1MiwgNDksIDEyOCwgNzgsIDQ4LCA1MiwgNDgsIDEyOCwgNzgsIDQ4LCA1MSwgNTcsIDEyOCwgNzgsIDQ4LCA1MSwgNTYsIAotICAgIDEyOCwgNzgsIDQ4LCA1MSwgNTUsIDY1LCAxMjgsIDc4LCA0OCwgNTEsIDU1LCAxMjgsIDc4LCA0OCwgNTEsIDU0LCAxMjgsIAotICAgIDc4LCA0OCwgNTEsIDUzLCA2NSwgMTI4LCA3OCwgNDgsIDUxLCA1MywgMTI4LCA3OCwgNDgsIDUxLCA1MiwgNjUsIDEyOCwgCi0gICAgNzgsIDQ4LCA1MSwgNTIsIDEyOCwgNzgsIDQ4LCA1MSwgNTEsIDY1LCAxMjgsIDc4LCA0OCwgNTEsIDUxLCAxMjgsIDc4LCAKLSAgICA0OCwgNTEsIDUwLCAxMjgsIDc4LCA0OCwgNTEsIDQ5LCAxMjgsIDc4LCA0OCwgNTEsIDQ4LCAxMjgsIDc4LCA0OCwgNTAsIAotICAgIDU3LCAxMjgsIDc4LCA0OCwgNTAsIDU2LCAxMjgsIDc4LCA0OCwgNTAsIDU1LCAxMjgsIDc4LCA0OCwgNTAsIDU0LCAxMjgsIAotICAgIDc4LCA0OCwgNTAsIDUzLCA2NSwgMTI4LCA3OCwgNDgsIDUwLCA1MywgMTI4LCA3OCwgNDgsIDUwLCA1MiwgMTI4LCA3OCwgCi0gICAgNDgsIDUwLCA1MSwgMTI4LCA3OCwgNDgsIDUwLCA1MCwgMTI4LCA3OCwgNDgsIDUwLCA0OSwgMTI4LCA3OCwgNDgsIDUwLCAKLSAgICA0OCwgMTI4LCA3OCwgNDgsIDQ5LCA1NywgMTI4LCA3OCwgNDgsIDQ5LCA1NiwgNjYsIDEyOCwgNzgsIDQ4LCA0OSwgNTYsIAotICAgIDY1LCAxMjgsIDc4LCA0OCwgNDksIDU2LCAxMjgsIDc4LCA0OCwgNDksIDU1LCAxMjgsIDc4LCA0OCwgNDksIDU0LCAxMjgsIAotICAgIDc4LCA0OCwgNDksIDUzLCAxMjgsIDc4LCA0OCwgNDksIDUyLCAxMjgsIDc4LCA0OCwgNDksIDUxLCAxMjgsIDc4LCA0OCwgCi0gICAgNDksIDUwLCAxMjgsIDc4LCA0OCwgNDksIDQ5LCAxMjgsIDc4LCA0OCwgNDksIDQ4LCAxMjgsIDc4LCA0OCwgNDgsIDU3LCAKLSAgICAxMjgsIDc4LCA0OCwgNDgsIDU2LCAxMjgsIDc4LCA0OCwgNDgsIDU1LCAxMjgsIDc4LCA0OCwgNDgsIDU0LCAxMjgsIDc4LCAKLSAgICA0OCwgNDgsIDUzLCAxMjgsIDc4LCA0OCwgNDgsIDUyLCAxMjgsIDc4LCA0OCwgNDgsIDUxLCAxMjgsIDc4LCA0OCwgNDgsIAotICAgIDUwLCAxMjgsIDc4LCA0OCwgNDgsIDQ5LCAxMjgsIDc4LCA0NSwgNjcsIDgyLCA2OSwgMTk3LCA3OCwgNDUsIDY1LCA4MiwgCi0gICAgMjE3LCA3NywgODksIDg4LCAxMjgsIDc3LCA4OSwgODQsIDEyOCwgNzcsIDg5LCA4MywgNzYsIDczLCA4NCwgNjksIDEyOCwgCi0gICAgNzcsIDg5LCA4MCwgMTI4LCA3NywgODksIDY1LCAxMjgsIDc3LCA4OSwgMTkzLCA3NywgODksIDEyOCwgNzcsIDIxNywgNzcsIAotICAgIDg3LCA3OSwgNzksIDEyOCwgNzcsIDg3LCA3OSwgMTI4LCA3NywgODcsIDczLCA3MywgMTI4LCA3NywgODcsIDczLCAxMjgsIAotICAgIDc3LCA4NywgNjksIDY5LCAxMjgsIDc3LCA4NywgNjksIDEyOCwgNzcsIDg3LCA2NSwgNjUsIDEyOCwgNzcsIDg3LCA2NSwgCi0gICAgMTI4LCA3NywgODcsIDEyOCwgNzcsIDIxNSwgNzcsIDg2LCA4MywgMTI4LCA3NywgODYsIDc5LCA4MCwgMTI4LCA3NywgODYsIAotICAgIDczLCAxMjgsIDc3LCA4NiwgNjksIDg1LCA2NSwgNjksIDc4LCA3MSwgNjUsIDc3LCAxMjgsIDc3LCA4NiwgMTI4LCA3NywgCi0gICAgMjE0LCA3NywgODUsIDg4LCAxMjgsIDc3LCA4NSwgODUsIDgzLCA3MywgNzUsIDY1LCA4NCwgNzksIDY1LCA3OCwgMTI4LCAKLSAgICA3NywgODUsIDg1LCA4MiwgNjgsIDcyLCA2NSwgNzQsIDE5MywgNzcsIDg1LCA4NSwgMTI4LCA3NywgODUsIDg0LCAxMjgsIAotICAgIDc3LCA4NSwgODMsIDczLCA2NywgMTI4LCA3NywgODUsIDgzLCA3MywgMTk1LCA3NywgODUsIDgzLCA3MiwgODIsIDc5LCA3OSwgCi0gICAgNzcsIDEyOCwgNzcsIDg1LCA4MywgNzIsIDUxLCAxMjgsIDc3LCA4NSwgODMsIDcyLCAxNzksIDc3LCA4NSwgODMsIDcyLCAKLSAgICAxMjgsIDc3LCA4NSwgODMsIDIwMCwgNzcsIDg1LCA4MiwgODgsIDEyOCwgNzcsIDg1LCA4MiwgNzEsIDg1LCA1MCwgMTI4LCAKLSAgICA3NywgODUsIDgyLCA2OSwgMTI4LCA3NywgODUsIDgyLCA2OCwgNjUsIDEyOCwgNzcsIDg1LCA4MiwgNjgsIDE5MywgNzcsIAotICAgIDg1LCA4MiwgMTI4LCA3NywgODUsIDgxLCA2OCwgNjUsIDc3LCAxMjgsIDc3LCA4NSwgODAsIDEyOCwgNzcsIDg1LCA3OSwgCi0gICAgODgsIDEyOCwgNzcsIDg1LCA3OSwgODQsIDEyOCwgNzcsIDg1LCA3OSwgODAsIDEyOCwgNzcsIDg1LCA3OSwgNzcsIDY1LCAKLSAgICA2OSwgMTI4LCA3NywgODUsIDc5LCAxMjgsIDc3LCA4NSwgNzgsIDgzLCA4NSwgNjYsIDEyOCwgNzcsIDg1LCA3OCwgNjUsIAotICAgIDcyLCAxMjgsIDc3LCA4NSwgNzYsIDg0LCA3MywgODMsIDY5LCA4NCwgMTI4LCA3NywgODUsIDc2LCA4NCwgNzMsIDgzLCA2OSwgCi0gICAgMjEyLCA3NywgODUsIDc2LCA4NCwgNzMsIDgwLCA3NiwgNzMsIDY3LCA2NSwgODQsIDczLCA3OSwgNzgsIDEyOCwgNzcsIDg1LCAKLSAgICA3NiwgODQsIDczLCA4MCwgNzYsIDczLCA2NywgNjUsIDg0LCA3MywgNzksIDIwNiwgNzcsIDg1LCA3NiwgODQsIDczLCA4MCwgCi0gICAgNzYsIDE5NywgNzcsIDg1LCA3NiwgODQsIDczLCA3OSwgNjcsIDg1LCA3NiwgNjUsIDIxMCwgNzcsIDg1LCA3NiwgODQsIDczLCAKLSAgICA3NywgNjUsIDgwLCAxMjgsIDc3LCA4NSwgNzYsIDg0LCAyMDEsIDc3LCA4NSwgNzUsIDgwLCA3MiwgODIsIDY5LCA3OCwgNzEsIAotICAgIDEyOCwgNzcsIDg1LCA3MywgNzgsIDEyOCwgNzcsIDg1LCA3MSwgODMsIDEyOCwgNzcsIDg1LCA3MSwgMTI4LCA3NywgODUsIAotICAgIDE5OSwgNzcsIDg1LCA2OSwgMTI4LCA3NywgODUsIDY3LCA3MiwgMTI4LCA3NywgODUsIDY3LCAyMDAsIDc3LCA4NSwgNjcsIAotICAgIDY1LCA2NSwgNjgsIDEyOCwgNzcsIDg1LCA2NSwgNzgsIDEyOCwgNzcsIDg1LCA2NSwgNjksIDEyOCwgNzcsIDg1LCA0NSwgCi0gICAgNzEsIDY1LCA2NSwgNzIsIDc2LCA2NSwgMTkzLCA3NywgMjEzLCA3NywgODMsIDEyOCwgNzcsIDgwLCA2NSwgMTI4LCA3NywgCi0gICAgNzksIDg5LCA2NSwgNzMsIDEyOCwgNzcsIDc5LCA4OCwgMTI4LCA3NywgNzksIDg2LCA3MywgMTk3LCA3NywgNzksIDg2LCAKLSAgICA2OSwgMTk2LCA3NywgNzksIDg1LCA4NCwgNzIsIDEyOCwgNzcsIDc5LCA4NSwgODQsIDIwMCwgNzcsIDc5LCA4NSwgODMsIAotICAgIDY5LCAxMjgsIDc3LCA3OSwgODUsIDgzLCAxOTcsIDc3LCA3OSwgODUsIDc4LCA4NCwgNjUsIDczLCA3OCwgODMsIDEyOCwgCi0gICAgNzcsIDc5LCA4NSwgNzgsIDg0LCA2NSwgNzMsIDc4LCAxMjgsIDc3LCA3OSwgODUsIDc4LCA4NCwgNjUsIDczLCAyMDYsIDc3LCAKLSAgICA3OSwgODUsIDc4LCAyMTIsIDc3LCA3OSwgODUsIDc4LCA2OCwgMTI4LCA3NywgNzksIDg1LCA3OCwgMTk2LCA3NywgNzksIAotICAgIDg0LCA3MiwgNjksIDgyLCAxMjgsIDc3LCA3OSwgODQsIDEyOCwgNzcsIDc5LCA4MiwgODQsIDg1LCA4NSwgNzcsIDEyOCwgCi0gICAgNzcsIDc5LCA4MiwgODQsIDY1LCA4MiwgMTI4LCA3NywgNzksIDgyLCA4MCwgNzIsIDc5LCA3NiwgNzksIDcxLCA3MywgNjcsIAotICAgIDY1LCAyMDQsIDc3LCA3OSwgODIsIDc4LCA3MywgNzgsIDcxLCAxMjgsIDc3LCA3OSwgODAsIDEyOCwgNzcsIDc5LCA3OSwgCi0gICAgODMsIDY5LCA0NSwgNjcsIDgyLCA2OSwgMTk3LCA3NywgNzksIDc5LCA3OCwgMTI4LCA3NywgNzksIDc5LCAyMDYsIDc3LCAKLSAgICA3OSwgNzksIDc3LCA4MCwgODUsIDgxLCAxMjgsIDc3LCA3OSwgNzksIDc3LCA2OSwgODUsIDg0LCAxMjgsIDc3LCA3OSwgNzksIAotICAgIDEyOCwgNzcsIDc5LCA3OCwgODQsIDczLCA2OSwgNjksIDc4LCAxMjgsIDc3LCA3OSwgNzgsIDg0LCA3MiwgMTI4LCA3NywgCi0gICAgNzksIDc4LCA4NCwgMjAwLCA3NywgNzksIDc4LCA4MywgODQsIDY5LCA4MiwgMTI4LCA3NywgNzksIDc4LCA3OSwgODMsIDg0LCAKLSAgICA2NSwgNjYsIDc2LCAxOTcsIDc3LCA3OSwgNzgsIDc5LCA4MywgODAsIDY1LCA2NywgMTk3LCA3NywgNzksIDc4LCA3OSwgODIsIAotICAgIDY1LCA3MywgNzYsIDEyOCwgNzcsIDc5LCA3OCwgNzksIDcxLCA4MiwgNjUsIDgwLCAyMDAsIDc3LCA3OSwgNzgsIDc5LCA3MSwgCi0gICAgODIsIDY1LCA3NywgNzcsIDc5LCAyMTEsIDc3LCA3OSwgNzgsIDc5LCA3MSwgODIsIDY1LCAyMDUsIDc3LCA3OSwgNzgsIDc5LCAKLSAgICA3MCwgNzksIDc4LCA3MywgNjUsIDgzLCAxMjgsIDc3LCA3OSwgNzgsIDc5LCA2NywgODUsIDc2LCA2NSwgMjEwLCA3NywgNzksIAotICAgIDc4LCA3NSwgNjksIDg5LCAxMjgsIDc3LCA3OSwgNzgsIDc1LCA2OSwgMjE3LCA3NywgNzksIDc4LCA3MywgMTI4LCA3NywgCi0gICAgNzksIDc4LCA3MSwgNzUsIDY5LCA4NSwgNjUsIDY5LCA4MSwgMTI4LCA3NywgNzksIDc4LCA2OSwgMjE3LCA3NywgNzksIDc4LCAKLSAgICAxMjgsIDc3LCA3OSwgMjA2LCA3NywgNzksIDc2LCAxMjgsIDc3LCA3OSwgNzIsIDY1LCA3NywgNzcsIDY1LCAxOTYsIDc3LCAKLSAgICA3OSwgNjgsIDg1LCA3NiwgMjA3LCA3NywgNzksIDY4LCA2OSwgODMsIDg0LCA4OSwgMTI4LCA3NywgNzksIDY4LCA2OSwgNzYsIAotICAgIDgzLCAxMjgsIDc3LCA3OSwgNjgsIDY5LCA3NiwgMTI4LCA3NywgNzksIDY4LCA2OSwgMTI4LCA3NywgNzksIDY2LCA3MywgCi0gICAgNzYsIDE5NywgNzcsIDc5LCA2NSwgMTI4LCA3NywgMjA3LCA3NywgNzgsIDg5LCA2NSwgMjA1LCA3NywgNzgsIDY1LCA4MywgCi0gICAgMTI4LCA3NywgNzcsIDgzLCA4MCwgMTI4LCA3NywgNzcsIDEyOCwgNzcsIDIwNSwgNzcsIDc2LCA2NSwgMTI4LCA3NywgNzYsIAotICAgIDEyOCwgNzcsIDc1LCA4MCwgNjUsIDgyLCA2NSwgMjA5LCA3NywgNzMsIDg4LCAxMjgsIDc3LCA3MywgODQsIDEyOCwgNzcsIAotICAgIDczLCA4MywgODIsIDY1LCAxMjgsIDc3LCA3MywgODIsIDczLCA2NiwgNjUsIDY1LCA4MiwgODUsIDEyOCwgNzcsIDczLCA4MiwgCi0gICAgNzMsIDEyOCwgNzcsIDczLCA4MiwgNjksIDY4LCAxMjgsIDc3LCA3MywgODAsIDEyOCwgNzcsIDczLCA3OCwgODksIDEyOCwgCi0gICAgNzcsIDczLCA3OCwgODUsIDgzLCA0NSwgNzksIDgyLCA0NSwgODAsIDc2LCA4NSwgMjExLCA3NywgNzMsIDc4LCA4NSwgODMsIAotICAgIDEyOCwgNzcsIDczLCA3OCwgNzMsIDgzLCA4NCwgNjksIDgyLCAxMjgsIDc3LCA3MywgNzgsIDczLCA3NywgNjUsIDEyOCwgCi0gICAgNzcsIDczLCA3OCwgNzMsIDY4LCA3MywgODMsIDY3LCAxMjgsIDc3LCA3MywgNzgsIDczLCA2NiwgODUsIDgzLCAxMjgsIDc3LCAKLSAgICA3MywgNzcsIDY5LCAxMjgsIDc3LCA3MywgNzcsIDEyOCwgNzcsIDczLCA3NiwgNzYsIDczLCA3OSwgNzgsIDIxMSwgNzcsIAotICAgIDczLCA3NiwgNzYsIDY5LCA4NCwgMTI4LCA3NywgNzMsIDc2LCA3NiwgMTk3LCA3NywgNzMsIDc2LCAyMDQsIDc3LCA3MywgCi0gICAgNzYsIDc1LCAyMTcsIDc3LCA3MywgNzYsIDEyOCwgNzcsIDczLCA3NSwgODUsIDgyLCA3OSwgNzgsIDEyOCwgNzcsIDczLCAKLSAgICA3NSwgODIsIDc5LCAyMDYsIDc3LCA3MywgNzUsIDgyLCA3MywgMTI4LCA3NywgNzMsIDczLCA3OCwgMTI4LCA3NywgNzMsIAotICAgIDczLCAxMjgsIDc3LCA3MywgMTk5LCA3NywgNzMsIDY5LCA4OCwgMTI4LCA3NywgNzMsIDY5LCA4NSwgNzcsIDQ1LCA4NCwgCi0gICAgNzMsIDc1LCA2OSwgODUsIDg0LCAxMjgsIDc3LCA3MywgNjksIDg1LCA3NywgNDUsIDgzLCA4MywgNjUsIDc4LCA3MSwgODMsIAotICAgIDczLCA3OSwgODMsIDEyOCwgNzcsIDczLCA2OSwgODUsIDc3LCA0NSwgODMsIDgzLCA2NSwgNzgsIDcxLCA3OCwgNzMsIDY5LCAKLSAgICA4NSwgNzgsIDEyOCwgNzcsIDczLCA2OSwgODUsIDc3LCA0NSwgODIsIDczLCA2OSwgODUsIDc2LCAxMjgsIDc3LCA3MywgNjksIAotICAgIDg1LCA3NywgNDUsIDgwLCA3MywgNjksIDg1LCA4MCwgNDUsIDgzLCA3MywgNzksIDgzLCAxMjgsIDc3LCA3MywgNjksIDg1LCAKLSAgICA3NywgNDUsIDgwLCA3MywgNjksIDg1LCA4MCwgMTI4LCA3NywgNzMsIDY5LCA4NSwgNzcsIDQ1LCA4MCwgNjUsIDc4LCA4MywgCi0gICAgNzMsIDc5LCA4MywgMTI4LCA3NywgNzMsIDY5LCA4NSwgNzcsIDQ1LCA3OCwgNzMsIDY5LCA4NSwgNzgsIDEyOCwgNzcsIDczLCAKLSAgICA2OSwgODUsIDc3LCA0NSwgNjcsIDczLCA2OSwgODUsIDY3LCAxMjgsIDc3LCA3MywgNjksIDg1LCA3NywgNDUsIDY3LCA3MiwgCi0gICAgNzMsIDY5LCA4NSwgNjcsIDcyLCAxMjgsIDc3LCA3MywgNjksIDg1LCAyMDUsIDc3LCA3MywgNjksIDgwLCAxMjgsIDc3LCAKLSAgICA3MywgNjksIDY5LCAxMjgsIDc3LCA3MywgNjksIDEyOCwgNzcsIDczLCA2OCwgNzYsIDczLCA3OCwgMTk3LCA3NywgNzMsIAotICAgIDY4LCA2OCwgNzYsIDY5LCA0NSwgODcsIDY5LCA3NiwgODMsIDIwMCwgNzcsIDczLCA2OCwgNjgsIDc2LCAxOTcsIDc3LCA3MywgCisgICAgMTkzLCA3OCwgNjUsIDUyLCAxMjgsIDc4LCA2NSwgNTAsIDEyOCwgNzgsIDY1LCA0NSwgNTAsIDEyOCwgNzgsIDQ4LCA1MiwgCisgICAgNTAsIDEyOCwgNzgsIDQ4LCA1MiwgNDksIDEyOCwgNzgsIDQ4LCA1MiwgNDgsIDEyOCwgNzgsIDQ4LCA1MSwgNTcsIDEyOCwgCisgICAgNzgsIDQ4LCA1MSwgNTYsIDEyOCwgNzgsIDQ4LCA1MSwgNTUsIDY1LCAxMjgsIDc4LCA0OCwgNTEsIDU1LCAxMjgsIDc4LCAKKyAgICA0OCwgNTEsIDU0LCAxMjgsIDc4LCA0OCwgNTEsIDUzLCA2NSwgMTI4LCA3OCwgNDgsIDUxLCA1MywgMTI4LCA3OCwgNDgsIAorICAgIDUxLCA1MiwgNjUsIDEyOCwgNzgsIDQ4LCA1MSwgNTIsIDEyOCwgNzgsIDQ4LCA1MSwgNTEsIDY1LCAxMjgsIDc4LCA0OCwgCisgICAgNTEsIDUxLCAxMjgsIDc4LCA0OCwgNTEsIDUwLCAxMjgsIDc4LCA0OCwgNTEsIDQ5LCAxMjgsIDc4LCA0OCwgNTEsIDQ4LCAKKyAgICAxMjgsIDc4LCA0OCwgNTAsIDU3LCAxMjgsIDc4LCA0OCwgNTAsIDU2LCAxMjgsIDc4LCA0OCwgNTAsIDU1LCAxMjgsIDc4LCAKKyAgICA0OCwgNTAsIDU0LCAxMjgsIDc4LCA0OCwgNTAsIDUzLCA2NSwgMTI4LCA3OCwgNDgsIDUwLCA1MywgMTI4LCA3OCwgNDgsIAorICAgIDUwLCA1MiwgMTI4LCA3OCwgNDgsIDUwLCA1MSwgMTI4LCA3OCwgNDgsIDUwLCA1MCwgMTI4LCA3OCwgNDgsIDUwLCA0OSwgCisgICAgMTI4LCA3OCwgNDgsIDUwLCA0OCwgMTI4LCA3OCwgNDgsIDQ5LCA1NywgMTI4LCA3OCwgNDgsIDQ5LCA1NiwgNjYsIDEyOCwgCisgICAgNzgsIDQ4LCA0OSwgNTYsIDY1LCAxMjgsIDc4LCA0OCwgNDksIDU2LCAxMjgsIDc4LCA0OCwgNDksIDU1LCAxMjgsIDc4LCAKKyAgICA0OCwgNDksIDU0LCAxMjgsIDc4LCA0OCwgNDksIDUzLCAxMjgsIDc4LCA0OCwgNDksIDUyLCAxMjgsIDc4LCA0OCwgNDksIAorICAgIDUxLCAxMjgsIDc4LCA0OCwgNDksIDUwLCAxMjgsIDc4LCA0OCwgNDksIDQ5LCAxMjgsIDc4LCA0OCwgNDksIDQ4LCAxMjgsIAorICAgIDc4LCA0OCwgNDgsIDU3LCAxMjgsIDc4LCA0OCwgNDgsIDU2LCAxMjgsIDc4LCA0OCwgNDgsIDU1LCAxMjgsIDc4LCA0OCwgCisgICAgNDgsIDU0LCAxMjgsIDc4LCA0OCwgNDgsIDUzLCAxMjgsIDc4LCA0OCwgNDgsIDUyLCAxMjgsIDc4LCA0OCwgNDgsIDUxLCAKKyAgICAxMjgsIDc4LCA0OCwgNDgsIDUwLCAxMjgsIDc4LCA0OCwgNDgsIDQ5LCAxMjgsIDc4LCA0NSwgNjcsIDgyLCA2OSwgMTk3LCAKKyAgICA3OCwgNDUsIDY1LCA4MiwgMjE3LCA3NywgODksIDg4LCAxMjgsIDc3LCA4OSwgODQsIDEyOCwgNzcsIDg5LCA4MywgNzYsIAorICAgIDczLCA4NCwgNjksIDEyOCwgNzcsIDg5LCA4MCwgMTI4LCA3NywgODksIDY1LCAxMjgsIDc3LCA4OSwgMTkzLCA3NywgODksIAorICAgIDEyOCwgNzcsIDIxNywgNzcsIDg3LCA3OSwgNzksIDEyOCwgNzcsIDg3LCA3OSwgMTI4LCA3NywgODcsIDczLCA3MywgMTI4LCAKKyAgICA3NywgODcsIDczLCAxMjgsIDc3LCA4NywgNjksIDY5LCAxMjgsIDc3LCA4NywgNjksIDEyOCwgNzcsIDg3LCA2NSwgNjUsIAorICAgIDEyOCwgNzcsIDg3LCA2NSwgMTI4LCA3NywgODcsIDEyOCwgNzcsIDIxNSwgNzcsIDg2LCA4MywgMTI4LCA3NywgODYsIDc5LCAKKyAgICA4MCwgMTI4LCA3NywgODYsIDczLCAxMjgsIDc3LCA4NiwgNjksIDg1LCA2NSwgNjksIDc4LCA3MSwgNjUsIDc3LCAxMjgsIAorICAgIDc3LCA4NiwgMTI4LCA3NywgMjE0LCA3NywgODUsIDg4LCAxMjgsIDc3LCA4NSwgODUsIDgzLCA3MywgNzUsIDY1LCA4NCwgCisgICAgNzksIDY1LCA3OCwgMTI4LCA3NywgODUsIDg1LCA4MiwgNjgsIDcyLCA2NSwgNzQsIDE5MywgNzcsIDg1LCA4NSwgMTI4LCAKKyAgICA3NywgODUsIDg0LCAxMjgsIDc3LCA4NSwgODMsIDczLCA2NywgMTI4LCA3NywgODUsIDgzLCA3MywgMTk1LCA3NywgODUsIAorICAgIDgzLCA3MiwgODIsIDc5LCA3OSwgNzcsIDEyOCwgNzcsIDg1LCA4MywgNzIsIDUxLCAxMjgsIDc3LCA4NSwgODMsIDcyLCAKKyAgICAxNzksIDc3LCA4NSwgODMsIDcyLCAxMjgsIDc3LCA4NSwgODMsIDIwMCwgNzcsIDg1LCA4MywgMTI4LCA3NywgODUsIDgyLCAKKyAgICA4OCwgMTI4LCA3NywgODUsIDgyLCA3MSwgODUsIDUwLCAxMjgsIDc3LCA4NSwgODIsIDY5LCAxMjgsIDc3LCA4NSwgODIsIAorICAgIDY4LCA2NSwgMTI4LCA3NywgODUsIDgyLCA2OCwgMTkzLCA3NywgODUsIDgyLCAxMjgsIDc3LCA4NSwgODEsIDY4LCA2NSwgCisgICAgNzcsIDEyOCwgNzcsIDg1LCA4MCwgMTI4LCA3NywgODUsIDc5LCA4OCwgMTI4LCA3NywgODUsIDc5LCA4NCwgMTI4LCA3NywgCisgICAgODUsIDc5LCA4MCwgMTI4LCA3NywgODUsIDc5LCA3NywgNjUsIDY5LCAxMjgsIDc3LCA4NSwgNzksIDEyOCwgNzcsIDg1LCAKKyAgICA3OCwgODMsIDg1LCA2NiwgMTI4LCA3NywgODUsIDc4LCA2NSwgNzIsIDEyOCwgNzcsIDg1LCA3OCwgMTI4LCA3NywgODUsIAorICAgIDc2LCA4NCwgNzMsIDgzLCA2OSwgODQsIDEyOCwgNzcsIDg1LCA3NiwgODQsIDczLCA4MywgNjksIDIxMiwgNzcsIDg1LCA3NiwgCisgICAgODQsIDczLCA4MCwgNzYsIDczLCA2NywgNjUsIDg0LCA3MywgNzksIDc4LCAxMjgsIDc3LCA4NSwgNzYsIDg0LCA3MywgODAsIAorICAgIDc2LCA3MywgNjcsIDY1LCA4NCwgNzMsIDc5LCAyMDYsIDc3LCA4NSwgNzYsIDg0LCA3MywgODAsIDc2LCAxOTcsIDc3LCA4NSwgCisgICAgNzYsIDg0LCA3MywgNzksIDY3LCA4NSwgNzYsIDY1LCAyMTAsIDc3LCA4NSwgNzYsIDg0LCA3MywgNzcsIDY1LCA4MCwgMTI4LCAKKyAgICA3NywgODUsIDc2LCA4NCwgMjAxLCA3NywgODUsIDc1LCA4MCwgNzIsIDgyLCA2OSwgNzgsIDcxLCAxMjgsIDc3LCA4NSwgNzMsIAorICAgIDc4LCAxMjgsIDc3LCA4NSwgNzEsIDgzLCAxMjgsIDc3LCA4NSwgNzEsIDEyOCwgNzcsIDg1LCAxOTksIDc3LCA4NSwgNjksIAorICAgIDc4LCAxMjgsIDc3LCA4NSwgNjksIDEyOCwgNzcsIDg1LCA2NywgNzIsIDEyOCwgNzcsIDg1LCA2NywgMjAwLCA3NywgODUsIAorICAgIDY3LCA2NSwgNjUsIDY4LCAxMjgsIDc3LCA4NSwgNjUsIDgzLCAxMjgsIDc3LCA4NSwgNjUsIDc4LCAxMjgsIDc3LCA4NSwgCisgICAgNjUsIDY5LCAxMjgsIDc3LCA4NSwgNDUsIDcxLCA2NSwgNjUsIDcyLCA3NiwgNjUsIDE5MywgNzcsIDIxMywgNzcsIDgzLCAKKyAgICAxMjgsIDc3LCA4MiwgMjA3LCA3NywgODAsIDY1LCAxMjgsIDc3LCA3OSwgODksIDY1LCA3MywgMTI4LCA3NywgNzksIDg4LCAKKyAgICAxMjgsIDc3LCA3OSwgODYsIDczLCAxOTcsIDc3LCA3OSwgODYsIDY5LCAxOTYsIDc3LCA3OSwgODUsIDg0LCA3MiwgMTI4LCAKKyAgICA3NywgNzksIDg1LCA4NCwgMjAwLCA3NywgNzksIDg1LCA4MywgNjksIDEyOCwgNzcsIDc5LCA4NSwgODMsIDE5NywgNzcsIAorICAgIDc5LCA4NSwgNzgsIDg0LCA2NSwgNzMsIDc4LCA4MywgMTI4LCA3NywgNzksIDg1LCA3OCwgODQsIDY1LCA3MywgNzgsIDEyOCwgCisgICAgNzcsIDc5LCA4NSwgNzgsIDg0LCA2NSwgNzMsIDIwNiwgNzcsIDc5LCA4NSwgNzgsIDIxMiwgNzcsIDc5LCA4NSwgNzgsIDY4LCAKKyAgICAxMjgsIDc3LCA3OSwgODUsIDc4LCAxOTYsIDc3LCA3OSwgODQsIDc5LCA4MiwgODcsIDY1LCA4OSwgMTI4LCA3NywgNzksIAorICAgIDg0LCA3OSwgODIsIDY3LCA4OSwgNjcsIDc2LCA2OSwgMTI4LCA3NywgNzksIDg0LCA3OSwgMjEwLCA3NywgNzksIDg0LCA3MiwgCisgICAgNjksIDgyLCAxMjgsIDc3LCA3OSwgODQsIDEyOCwgNzcsIDc5LCA4MiwgODQsIDg1LCA4NSwgNzcsIDEyOCwgNzcsIDc5LCAKKyAgICA4MiwgODQsIDY1LCA4MiwgMTI4LCA3NywgNzksIDgyLCA4MCwgNzIsIDc5LCA3NiwgNzksIDcxLCA3MywgNjcsIDY1LCAyMDQsIAorICAgIDc3LCA3OSwgODIsIDc4LCA3MywgNzgsIDcxLCAxMjgsIDc3LCA3OSwgODAsIDEyOCwgNzcsIDc5LCA3OSwgODMsIDY5LCA0NSwgCisgICAgNjcsIDgyLCA2OSwgMTk3LCA3NywgNzksIDc5LCA3OCwgMTI4LCA3NywgNzksIDc5LCAyMDYsIDc3LCA3OSwgNzksIDc3LCAKKyAgICA4MCwgODUsIDgxLCAxMjgsIDc3LCA3OSwgNzksIDc3LCA2OSwgODUsIDg0LCAxMjgsIDc3LCA3OSwgNzksIDY4LCAxMjgsIAorICAgIDc3LCA3OSwgNzksIDE5NiwgNzcsIDc5LCA3OSwgMTI4LCA3NywgNzksIDc4LCA4NCwgNzMsIDY5LCA2OSwgNzgsIDEyOCwgCisgICAgNzcsIDc5LCA3OCwgODQsIDcyLCAxMjgsIDc3LCA3OSwgNzgsIDg0LCAyMDAsIDc3LCA3OSwgNzgsIDgzLCA4NCwgNjksIDgyLCAKKyAgICAxMjgsIDc3LCA3OSwgNzgsIDc5LCA4MywgODQsIDY1LCA2NiwgNzYsIDE5NywgNzcsIDc5LCA3OCwgNzksIDgzLCA4MCwgNjUsIAorICAgIDY3LCAxOTcsIDc3LCA3OSwgNzgsIDc5LCA4MiwgNjUsIDczLCA3NiwgMTI4LCA3NywgNzksIDc4LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDIwMCwgNzcsIDc5LCA3OCwgNzksIDcxLCA4MiwgNjUsIDc3LCA3NywgNzksIDIxMSwgNzcsIDc5LCA3OCwgNzksIDcxLCAKKyAgICA4MiwgNjUsIDIwNSwgNzcsIDc5LCA3OCwgNzksIDcwLCA3OSwgNzgsIDczLCA2NSwgODMsIDEyOCwgNzcsIDc5LCA3OCwgNzksIAorICAgIDY3LCA4NSwgNzYsIDY1LCAyMTAsIDc3LCA3OSwgNzgsIDc1LCA2OSwgODksIDEyOCwgNzcsIDc5LCA3OCwgNzUsIDY5LCAKKyAgICAyMTcsIDc3LCA3OSwgNzgsIDczLCAxMjgsIDc3LCA3OSwgNzgsIDcxLCA3NSwgNjksIDg1LCA2NSwgNjksIDgxLCAxMjgsIAorICAgIDc3LCA3OSwgNzgsIDY5LCAyMTcsIDc3LCA3OSwgNzgsIDEyOCwgNzcsIDc5LCAyMDYsIDc3LCA3OSwgNzYsIDEyOCwgNzcsIAorICAgIDc5LCA3MiwgNjUsIDc3LCA3NywgNjUsIDE5NiwgNzcsIDc5LCA2OCwgODUsIDc2LCAyMDcsIDc3LCA3OSwgNjgsIDIwMSwgCisgICAgNzcsIDc5LCA2OCwgNjksIDgzLCA4NCwgODksIDEyOCwgNzcsIDc5LCA2OCwgNjksIDc3LCAxMjgsIDc3LCA3OSwgNjgsIDY5LCAKKyAgICA3NiwgODMsIDEyOCwgNzcsIDc5LCA2OCwgNjksIDc2LCAxMjgsIDc3LCA3OSwgNjgsIDY5LCAxMjgsIDc3LCA3OSwgNjYsIAorICAgIDczLCA3NiwgMTk3LCA3NywgNzksIDY1LCAxMjgsIDc3LCAyMDcsIDc3LCA3OCwgODksIDY1LCAyMDUsIDc3LCA3OCwgNjUsIAorICAgIDgzLCAxMjgsIDc3LCA3NywgODMsIDgwLCAxMjgsIDc3LCA3NywgMTI4LCA3NywgMjA1LCA3NywgNzYsIDY1LCAxMjgsIDc3LCAKKyAgICA3NiwgMTI4LCA3NywgNzUsIDgwLCA2NSwgODIsIDY1LCAyMDksIDc3LCA3MywgODgsIDEyOCwgNzcsIDczLCA4NCwgMTI4LCAKKyAgICA3NywgNzMsIDgzLCA4MiwgNjUsIDEyOCwgNzcsIDczLCA4MiwgNzMsIDY2LCA2NSwgNjUsIDgyLCA4NSwgMTI4LCA3NywgNzMsIAorICAgIDgyLCA3MywgMTI4LCA3NywgNzMsIDgyLCA2OSwgNjgsIDEyOCwgNzcsIDczLCA4MCwgMTI4LCA3NywgNzMsIDc4LCA4OSwgCisgICAgMTI4LCA3NywgNzMsIDc4LCA4NSwgODMsIDQ1LCA3OSwgODIsIDQ1LCA4MCwgNzYsIDg1LCAyMTEsIDc3LCA3MywgNzgsIDg1LCAKKyAgICA4MywgMTI4LCA3NywgNzMsIDc4LCA3MywgODMsIDg0LCA2OSwgODIsIDEyOCwgNzcsIDczLCA3OCwgNzMsIDc3LCA3MywgOTAsIAorICAgIDY5LCAxMjgsIDc3LCA3MywgNzgsIDczLCA3NywgNjUsIDEyOCwgNzcsIDczLCA3OCwgNzMsIDY4LCA3MywgODMsIDY3LCAKKyAgICAxMjgsIDc3LCA3MywgNzgsIDczLCA2NiwgODUsIDgzLCAxMjgsIDc3LCA3MywgNzcsIDY5LCAxMjgsIDc3LCA3MywgNzcsIAorICAgIDEyOCwgNzcsIDczLCA3NiwgNzYsIDczLCA3OSwgNzgsIDgzLCAxMjgsIDc3LCA3MywgNzYsIDc2LCA3MywgNzksIDc4LCAKKyAgICAyMTEsIDc3LCA3MywgNzYsIDc2LCA2OSwgODQsIDEyOCwgNzcsIDczLCA3NiwgNzYsIDE5NywgNzcsIDczLCA3NiwgMjA0LCAKKyAgICA3NywgNzMsIDc2LCA3NSwgMjE3LCA3NywgNzMsIDc2LCA3MywgODQsIDY1LCA4MiwgMjE3LCA3NywgNzMsIDc2LCAxMjgsIAorICAgIDc3LCA3MywgNzUsIDg1LCA4MiwgNzksIDc4LCAxMjgsIDc3LCA3MywgNzUsIDgyLCA3OSwgMjA2LCA3NywgNzMsIDc1LCA4MiwgCisgICAgNzMsIDEyOCwgNzcsIDczLCA3MywgNzgsIDEyOCwgNzcsIDczLCA3MywgMTI4LCA3NywgNzMsIDE5OSwgNzcsIDczLCA2OSwgCisgICAgODgsIDEyOCwgNzcsIDczLCA2OSwgODUsIDc3LCA0NSwgODQsIDczLCA3NSwgNjksIDg1LCA4NCwgMTI4LCA3NywgNzMsIDY5LCAKKyAgICA4NSwgNzcsIDQ1LCA4MywgODMsIDY1LCA3OCwgNzEsIDgzLCA3MywgNzksIDgzLCAxMjgsIDc3LCA3MywgNjksIDg1LCA3NywgCisgICAgNDUsIDgzLCA4MywgNjUsIDc4LCA3MSwgNzgsIDczLCA2OSwgODUsIDc4LCAxMjgsIDc3LCA3MywgNjksIDg1LCA3NywgNDUsIAorICAgIDgyLCA3MywgNjksIDg1LCA3NiwgMTI4LCA3NywgNzMsIDY5LCA4NSwgNzcsIDQ1LCA4MCwgNzMsIDY5LCA4NSwgODAsIDQ1LCAKKyAgICA4MywgNzMsIDc5LCA4MywgMTI4LCA3NywgNzMsIDY5LCA4NSwgNzcsIDQ1LCA4MCwgNzMsIDY5LCA4NSwgODAsIDEyOCwgNzcsIAorICAgIDczLCA2OSwgODUsIDc3LCA0NSwgODAsIDY1LCA3OCwgODMsIDczLCA3OSwgODMsIDEyOCwgNzcsIDczLCA2OSwgODUsIDc3LCAKKyAgICA0NSwgNzgsIDczLCA2OSwgODUsIDc4LCAxMjgsIDc3LCA3MywgNjksIDg1LCA3NywgNDUsIDY3LCA3MywgNjksIDg1LCA2NywgCisgICAgMTI4LCA3NywgNzMsIDY5LCA4NSwgNzcsIDQ1LCA2NywgNzIsIDczLCA2OSwgODUsIDY3LCA3MiwgMTI4LCA3NywgNzMsIDY5LCAKKyAgICA4NSwgMjA1LCA3NywgNzMsIDY5LCA4MCwgMTI4LCA3NywgNzMsIDY5LCA2OSwgMTI4LCA3NywgNzMsIDY5LCAxMjgsIDc3LCAKKyAgICA3MywgNjgsIDc2LCA3MywgNzgsIDE5NywgNzcsIDczLCA2OCwgNjgsIDc2LCA2OSwgNDUsIDg3LCA2OSwgNzYsIDgzLCAyMDAsIAorICAgIDc3LCA3MywgNjgsIDY4LCA3NiwgMTk3LCA3NywgNzMsIDY4LCA0NSwgNzYsIDY5LCA4NiwgNjksIDIwNCwgNzcsIDczLCAKICAgICAxOTYsIDc3LCA3MywgNjcsIDgyLCA3OSwgODMsIDY3LCA3OSwgODAsIDY5LCAxMjgsIDc3LCA3MywgNjcsIDgyLCA3OSwgODAsIAogICAgIDcyLCA3OSwgNzgsIDY5LCAxMjgsIDc3LCA3MywgNjcsIDgyLCAyMDcsIDc3LCA3MywgNjcsIDIxMCwgNzcsIDcyLCA5MCwgCiAgICAgMTI4LCA3NywgNzIsIDY1LCAxMjgsIDc3LCA3MiwgMTI4LCA3NywgNzEsIDg1LCA4OCwgMTI4LCA3NywgNzEsIDg1LCA4NCwgCkBAIC0yMDE4LDE2MSArMjExNSwyMTkgQEAKICAgICA3NywgNjksIDgyLCA3OSwgNzMsIDg0LCA3MywgMTk1LCA3NywgNjksIDgyLCA3NSwgNzIsIDY1LCAxMjgsIDc3LCA2OSwgODIsIAogICAgIDc1LCA3MiwgMTkzLCA3NywgNjksIDgyLCA3MywgNjgsIDczLCA2NSwgNzgsIDgzLCAxMjgsIDc3LCA2OSwgODIsIDczLCAKICAgICAxMjgsIDc3LCA2OSwgODIsIDcxLCA2OSwgMTI4LCA3NywgNjksIDgyLCA2NywgODUsIDgyLCA4OSwgMTI4LCA3NywgNjksIAotICAgIDgyLCA2NywgODUsIDgyLCAyMTcsIDc3LCA2OSwgNzgsIDY4LCA4NSwgODQsIDEyOCwgNzcsIDY5LCA3OCwgMTI4LCA3NywgCi0gICAgNjksIDc3LCA3OSwgMTI4LCA3NywgNjksIDc3LCA2NiwgNjksIDgyLCA4MywgNzIsIDczLCA4MCwgMTI4LCA3NywgNjksIDc3LCAKLSAgICA2NiwgNjksIDgyLCAxMjgsIDc3LCA2OSwgNzcsIDY2LCA2OSwgMjEwLCA3NywgNjksIDc3LCA0NSwgODEsIDc5LCA4MCwgNzIsIAotICAgIDEyOCwgNzcsIDY5LCA3NywgMTI4LCA3NywgNjksIDIwNSwgNzcsIDY5LCA3NiwgNzksIDY4LCA3MywgMTk1LCA3NywgNjksIAotICAgIDc2LCA3MywgNzUsIDEyOCwgNzcsIDY5LCA3MywgOTAsIDczLCAxMjgsIDc3LCA2OSwgNzEsIDY1LCA4NCwgNzksIDc4LCAKLSAgICAxMjgsIDc3LCA2OSwgNzEsIDY1LCA4MCwgNzIsIDc5LCA3OCwgNjksIDEyOCwgNzcsIDY5LCA3MSwgNjUsIDc2LCA3MywgCi0gICAgMTI4LCA3NywgNjksIDY5LCA4NCwgNzksIDgyLCA4NSwgMTI4LCA3NywgNjksIDY5LCA4NCwgMTI4LCA3NywgNjksIDY5LCAKLSAgICA3NywgODUsIDEyOCwgNzcsIDY5LCA2OSwgNzcsIDEyOCwgNzcsIDY5LCA2OSwgNjksIDY5LCAxMjgsIDc3LCA2OSwgNjgsIAorICAgIDgyLCA2NywgODUsIDgyLCAyMTcsIDc3LCA2OSwgNzgsIDc5LCA2OSwgMTI4LCA3NywgNjksIDc4LCA2OCwgODUsIDg0LCAKKyAgICAxMjgsIDc3LCA2OSwgNzgsIDEyOCwgNzcsIDY5LCA3NywgNzksIDEyOCwgNzcsIDY5LCA3NywgNjYsIDY5LCA4MiwgODMsIAorICAgIDcyLCA3MywgODAsIDEyOCwgNzcsIDY5LCA3NywgNjYsIDY5LCA4MiwgMTI4LCA3NywgNjksIDc3LCA2NiwgNjksIDIxMCwgCisgICAgNzcsIDY5LCA3NywgNDUsIDgxLCA3OSwgODAsIDcyLCAxMjgsIDc3LCA2OSwgNzcsIDEyOCwgNzcsIDY5LCAyMDUsIDc3LCAKKyAgICA2OSwgNzYsIDc5LCA2OCwgNzMsIDE5NSwgNzcsIDY5LCA3NiwgNzMsIDc1LCAxMjgsIDc3LCA2OSwgNzMsIDkwLCA3MywgCisgICAgMTI4LCA3NywgNjksIDcxLCA2NSwgODQsIDc5LCA3OCwgMTI4LCA3NywgNjksIDcxLCA2NSwgODAsIDcyLCA3OSwgNzgsIDY5LCAKKyAgICAxMjgsIDc3LCA2OSwgNzEsIDY1LCA3NiwgNzMsIDEyOCwgNzcsIDY5LCA2OSwgODQsIDc5LCA4MiwgODUsIDEyOCwgNzcsIAorICAgIDY5LCA2OSwgODQsIDY5LCAyMDEsIDc3LCA2OSwgNjksIDg0LCAxMjgsIDc3LCA2OSwgNjksIDc3LCA4NSwgMTI4LCA3NywgCisgICAgNjksIDY5LCA3NywgMTI4LCA3NywgNjksIDY5LCAyMDIsIDc3LCA2OSwgNjksIDY5LCA2OSwgMTI4LCA3NywgNjksIDY4LCAKICAgICA3MywgODUsIDc3LCAxMjgsIDc3LCA2OSwgNjgsIDczLCA4NSwgMjA1LCA3NywgNjksIDY4LCA3MywgNjcsIDczLCA3OCwgNjksIAotICAgIDEyOCwgNzcsIDY5LCA2OCwgNzMsIDY3LCA2NSwgMjA0LCA3NywgNjksIDY1LCA4NCwgMTI4LCA3NywgNjksIDY1LCAyMTIsIAotICAgIDc3LCA2OSwgNjUsIDgzLCA4NSwgODIsIDY5LCAxOTYsIDc3LCA2OSwgNjUsIDgzLCA4NSwgODIsIDY5LCAxMjgsIDc3LCA2OSwgCi0gICAgNjUsIDgzLCA4NSwgODIsIDE5NywgNzcsIDY4LCA4NSwgMjA2LCA3NywgMTk2LCA3NywgNjcsIDcyLCAyMTMsIDc3LCA2NywgCi0gICAgNzIsIDY1LCAyMDYsIDc3LCAxOTUsIDc3LCA2NiwgODUsIDc5LCA4MSwgMTI4LCA3NywgNjYsIDg1LCA3OSwgMTI4LCA3NywgCi0gICAgNjYsIDg1LCA2OSwgMTI4LCA3NywgNjYsIDg1LCA2NSwgNjksIDc3LCAxMjgsIDc3LCA2NiwgODUsIDY1LCA2OSwgMTI4LCAKLSAgICA3NywgNjYsIDc5LCA3OSwgMTI4LCA3NywgNjYsIDc5LCAxMjgsIDc3LCA2NiwgNzMsIDg0LCAxMjgsIDc3LCA2NiwgNzMsIAotICAgIDIxMiwgNzcsIDY2LCA3MywgODIsIDczLCA2OSwgNjksIDc4LCAxMjgsIDc3LCA2NiwgNzMsIDEyOCwgNzcsIDY2LCA2OSwgCi0gICAgODUsIDg4LCAxMjgsIDc3LCA2NiwgNjksIDg1LCA4MiwgNzMsIDEyOCwgNzcsIDY2LCA2OSwgODUsIDc3LCAxMjgsIDc3LCAKLSAgICA2NiwgNjksIDgyLCA2NSwgNjksIDEyOCwgNzcsIDY2LCA2OSwgNzgsIDEyOCwgNzcsIDY2LCA2OSwgNjksIDc1LCA2OSwgNjksIAotICAgIDg0LCAxMjgsIDc3LCA2NiwgNjksIDY5LCAxMjgsIDc3LCA2NiwgNjksIDEyOCwgNzcsIDY2LCA2NSwgODEsIDEyOCwgNzcsIAotICAgIDY2LCA2NSwgNzgsIDg5LCA3MywgMTI4LCA3NywgNjYsIDY1LCA2NSwgODIsIDY1LCA2OSwgMTI4LCA3NywgNjYsIDY1LCA2NSwgCi0gICAgNzUsIDY5LCA4NCwgMTI4LCA3NywgNjYsIDY1LCA2NSwgMTI4LCA3NywgNjYsIDY1LCAxOTMsIDc3LCA2NiwgMTkzLCA3NywgCi0gICAgNjYsIDUyLCAxMjgsIDc3LCA2NiwgNTEsIDEyOCwgNzcsIDY2LCA1MCwgMTI4LCA3NywgNjYsIDEyOCwgNzcsIDE5NCwgNzcsIAotICAgIDY1LCA4OSwgNjUsIDc4LCA3OCwgNjUsIDEyOCwgNzcsIDY1LCA4OSwgMTI4LCA3NywgNjUsIDg4LCA3MywgNzcsIDY1LCAKLSAgICAxMjgsIDc3LCA2NSwgODgsIDEyOCwgNzcsIDY1LCA4NSwgMTI4LCA3NywgNjUsIDg0LCA4NCwgNzksIDY3LCA3NSwgMTI4LCAKLSAgICA3NywgNjUsIDg0LCA4MiwgNzMsIDg4LCAxMjgsIDc3LCA2NSwgODQsIDY5LCA4MiwgNzMsIDY1LCA3NiwgODMsIDEyOCwgNzcsIAotICAgIDY1LCA4NCwgMTI4LCA3NywgNjUsIDgzLCAyMTMsIDc3LCA2NSwgODMsIDgzLCA3MywgNzgsIDcxLCAxMjgsIDc3LCA2NSwgCi0gICAgODMsIDgzLCA2NSwgNzEsIDY5LCAxMjgsIDc3LCA2NSwgODMsIDc5LCA4MiwgMTkzLCA3NywgNjUsIDgzLCA3NSwgMTI4LCAKLSAgICA3NywgNjUsIDgzLCA3MiwgNzAsIDY1LCA2NSwgODQsIDEyOCwgNzcsIDY1LCA4MywgNzIsIDUwLCAxMjgsIDc3LCA2NSwgODMsIAotICAgIDY3LCA4NSwgNzYsIDczLCA3OCwgMTk3LCA3NywgNjUsIDgyLCA4OSwgMTI4LCA3NywgNjUsIDgyLCA4NSwgNzUsIDg1LCAKLSAgICAxMjgsIDc3LCA2NSwgODIsIDg0LCA4OSwgODIsIDczLCAxOTMsIDc3LCA2NSwgODIsIDgyLCA4OSwgNzMsIDc4LCAxOTksIAotICAgIDc3LCA2NSwgODIsIDgyLCA3MywgNjUsIDcxLCAxOTcsIDc3LCA2NSwgODIsIDc1LCA2OSwgODIsIDEyOCwgNzcsIDY1LCA4MiwgCi0gICAgNzUsIDQ1LCA1MiwgMTI4LCA3NywgNjUsIDgyLCA3NSwgNDUsIDUxLCAxMjgsIDc3LCA2NSwgODIsIDc1LCA0NSwgNTAsIAotICAgIDEyOCwgNzcsIDY1LCA4MiwgNzUsIDQ1LCA0OSwgMTI4LCA3NywgNjUsIDgyLCA2OSwgMTI4LCA3NywgNjUsIDgyLCA2NywgCi0gICAgNzIsIDEyOCwgNzcsIDY1LCA4MiwgNjcsIDY1LCA4NCwgNzksIDQ1LCA4MywgODQsIDY1LCA2NywgNjcsIDY1LCA4NCwgNzksIAotICAgIDEyOCwgNzcsIDY1LCA4MiwgNjcsIDY1LCA4NCwgNzksIDEyOCwgNzcsIDY1LCA4MiwgNjcsIDY1LCA4MywgNzMsIDg0LCA2OSwgCi0gICAgMTI4LCA3NywgNjUsIDgyLCA2NiwgODUsIDg0LCA2NSwgMTI4LCA3NywgNjUsIDgyLCA2NiwgODUsIDg0LCAxOTMsIDc3LCAKLSAgICA2NSwgODIsIDEyOCwgNzcsIDY1LCA4MSwgNjUsIDcwLCAxMjgsIDc3LCA2NSwgODEsIDEyOCwgNzcsIDY1LCA4MCwgNzYsIAotICAgIDE5NywgNzcsIDY1LCA4MCwgNzMsIDgxLCAxMjgsIDc3LCA2NSwgMjA4LCA3NywgNjUsIDc5LCAxMjgsIDc3LCA2NSwgNzgsIAotICAgIDgzLCA4OSwgNzksIDc4LCAxMjgsIDc3LCA2NSwgNzgsIDgzLCA4NSwgNjUsIDY5LCAxMjgsIDc3LCA2NSwgNzgsIDc4LCA2NSwgCi0gICAgMjE4LCA3NywgNjUsIDc4LCA3OCwgNjUsIDEyOCwgNzcsIDY1LCA3OCwgNzEsIDY1LCA3NiwgNjUsIDc3LCAxMjgsIDc3LCAKLSAgICA2NSwgNzgsIDY4LCA2NSwgNzMsIDc2LCA3MywgNzgsIDE5OSwgNzcsIDY1LCA3OCwgNjgsIDY1LCA3MywgMTk1LCA3NywgNjUsIAotICAgIDc4LCA2NywgNzIsIDIxMywgNzcsIDY1LCA3OCwgNjUsIDY3LCA3NiwgNjksIDgzLCAxMjgsIDc3LCA2NSwgNzYsIDg0LCA2OSwgCi0gICAgODMsIDE5NywgNzcsIDY1LCA3NiwgNjksIDY5LCA4MiwgNzMsIDEyOCwgNzcsIDY1LCA3NiwgNjksIDEyOCwgNzcsIDY1LCAKLSAgICA3NiwgMTk3LCA3NywgNjUsIDc2LCA2NSwgNzUsIDc5LCAyMDYsIDc3LCA2NSwgNzUsIDgzLCA4NSwgODIsIDY1LCAxMjgsIAotICAgIDc3LCA2NSwgNzUsIDgzLCA4NSwgODIsIDE5MywgNzcsIDY1LCA3MywgOTAsIDY5LCAxMjgsIDc3LCA2NSwgNzMsIDg5LCA2NSwgCi0gICAgNzcsIDc5LCA3NSwgMTI4LCA3NywgNjUsIDczLCA4NCwgNjUsIDczLCA3NSwgNzIsIDg1LCAxMjgsIDc3LCA2NSwgNzMsIDgyLCAKLSAgICA4NSwgMTI4LCA3NywgNjUsIDczLCA3NywgODUsIDY1LCA3OCwgMTI4LCA3NywgNjUsIDczLCA3NywgNjUsIDc2LCA2NSwgNzMsIAorICAgIDEyOCwgNzcsIDY5LCA2OCwgNzMsIDY3LCA2NSwgMjA0LCA3NywgNjksIDY4LCA2NSwgNzYsIDEyOCwgNzcsIDY5LCA2NSwgCisgICAgODQsIDEyOCwgNzcsIDY5LCA2NSwgMjEyLCA3NywgNjksIDY1LCA4MywgODUsIDgyLCA2OSwgMTk2LCA3NywgNjksIDY1LCAKKyAgICA4MywgODUsIDgyLCA2OSwgMTI4LCA3NywgNjksIDY1LCA4MywgODUsIDgyLCAxOTcsIDc3LCA2OCwgODUsIDIwNiwgNzcsIAorICAgIDE5NiwgNzcsIDY3LCA3MiwgMjEzLCA3NywgNjcsIDcyLCA2NSwgMjA2LCA3NywgMTk1LCA3NywgNjYsIDg1LCA4NSwgMTI4LCAKKyAgICA3NywgNjYsIDg1LCA3OSwgODEsIDEyOCwgNzcsIDY2LCA4NSwgNzksIDEyOCwgNzcsIDY2LCA4NSwgNjksIDEyOCwgNzcsIAorICAgIDY2LCA4NSwgNjUsIDY5LCA3NywgMTI4LCA3NywgNjYsIDg1LCA2NSwgNjksIDEyOCwgNzcsIDY2LCA3OSwgNzksIDEyOCwgCisgICAgNzcsIDY2LCA3OSwgMTI4LCA3NywgNjYsIDczLCA4NCwgMTI4LCA3NywgNjYsIDczLCAyMTIsIDc3LCA2NiwgNzMsIDgyLCAKKyAgICA3MywgNjksIDY5LCA3OCwgMTI4LCA3NywgNjYsIDczLCAxMjgsIDc3LCA2NiwgNjksIDg1LCA4OCwgMTI4LCA3NywgNjYsIAorICAgIDY5LCA4NSwgODIsIDczLCAxMjgsIDc3LCA2NiwgNjksIDg1LCA3NywgMTI4LCA3NywgNjYsIDY5LCA4MiwgNjUsIDY5LCAKKyAgICAxMjgsIDc3LCA2NiwgNjksIDc4LCAxMjgsIDc3LCA2NiwgNjksIDY5LCA3NSwgNjksIDY5LCA4NCwgMTI4LCA3NywgNjYsIAorICAgIDY5LCA2OSwgMTI4LCA3NywgNjYsIDY5LCAxMjgsIDc3LCA2NiwgNjUsIDgxLCAxMjgsIDc3LCA2NiwgNjUsIDc4LCA4OSwgCisgICAgNzMsIDEyOCwgNzcsIDY2LCA2NSwgNjUsIDgyLCA2NSwgNjksIDEyOCwgNzcsIDY2LCA2NSwgNjUsIDc1LCA2OSwgODQsIAorICAgIDEyOCwgNzcsIDY2LCA2NSwgNjUsIDEyOCwgNzcsIDY2LCA2NSwgMTkzLCA3NywgNjYsIDE5MywgNzcsIDY2LCA1MiwgMTI4LCAKKyAgICA3NywgNjYsIDUxLCAxMjgsIDc3LCA2NiwgNTAsIDEyOCwgNzcsIDY2LCAxMjgsIDc3LCAxOTQsIDc3LCA2NSwgODksIDY5LCAKKyAgICAyMDMsIDc3LCA2NSwgODksIDY1LCA3OCwgNzgsIDY1LCAxMjgsIDc3LCA2NSwgODksIDEyOCwgNzcsIDY1LCA4OCwgNzMsIAorICAgIDc3LCA3MywgOTAsIDY5LCAxMjgsIDc3LCA2NSwgODgsIDczLCA3NywgNjUsIDEyOCwgNzcsIDY1LCA4OCwgMTI4LCA3NywgCisgICAgNjUsIDg1LCAxMjgsIDc3LCA2NSwgODQsIDg0LCA3OSwgNjcsIDc1LCAxMjgsIDc3LCA2NSwgODQsIDgyLCA3MywgODgsIAorICAgIDEyOCwgNzcsIDY1LCA4NCwgNjksIDgyLCA3MywgNjUsIDc2LCA4MywgMTI4LCA3NywgNjUsIDg0LCAxMjgsIDc3LCA2NSwgCisgICAgODMsIDIxMywgNzcsIDY1LCA4MywgODMsIDczLCA3OCwgNzEsIDEyOCwgNzcsIDY1LCA4MywgODMsIDY1LCA3MSwgNjksIAorICAgIDEyOCwgNzcsIDY1LCA4MywgNzksIDgyLCAxOTMsIDc3LCA2NSwgODMsIDc1LCAxMjgsIDc3LCA2NSwgODMsIDcyLCA3MCwgCisgICAgNjUsIDY1LCA4NCwgMTI4LCA3NywgNjUsIDgzLCA3MiwgNTAsIDEyOCwgNzcsIDY1LCA4MywgNjcsIDg1LCA3NiwgNzMsIDc4LCAKKyAgICAxOTcsIDc3LCA2NSwgODIsIDg5LCAxMjgsIDc3LCA2NSwgODIsIDg3LCA2NSwgODIsIDIwMSwgNzcsIDY1LCA4MiwgODUsIAorICAgIDc1LCA4NSwgMTI4LCA3NywgNjUsIDgyLCA4NCwgODksIDgyLCA3MywgMTkzLCA3NywgNjUsIDgyLCA4MiwgODksIDczLCA3OCwgCisgICAgMTk5LCA3NywgNjUsIDgyLCA4MiwgNzMsIDY1LCA3MSwgMTk3LCA3NywgNjUsIDgyLCA3NSwgMjExLCA3NywgNjUsIDgyLCAKKyAgICA3NSwgNjksIDgyLCAxMjgsIDc3LCA2NSwgODIsIDc1LCA0NSwgNTIsIDEyOCwgNzcsIDY1LCA4MiwgNzUsIDQ1LCA1MSwgCisgICAgMTI4LCA3NywgNjUsIDgyLCA3NSwgNDUsIDUwLCAxMjgsIDc3LCA2NSwgODIsIDc1LCA0NSwgNDksIDEyOCwgNzcsIDY1LCAKKyAgICA4MiwgNjksIDEyOCwgNzcsIDY1LCA4MiwgNjcsIDcyLCAxMjgsIDc3LCA2NSwgODIsIDY3LCA2NSwgODQsIDc5LCA0NSwgODMsIAorICAgIDg0LCA2NSwgNjcsIDY3LCA2NSwgODQsIDc5LCAxMjgsIDc3LCA2NSwgODIsIDY3LCA2NSwgODQsIDc5LCAxMjgsIDc3LCA2NSwgCisgICAgODIsIDY3LCA2NSwgODMsIDczLCA4NCwgNjksIDEyOCwgNzcsIDY1LCA4MiwgNjYsIDg1LCA4NCwgNjUsIDEyOCwgNzcsIDY1LCAKKyAgICA4MiwgNjYsIDg1LCA4NCwgMTkzLCA3NywgNjUsIDgyLCAxMjgsIDc3LCA2NSwgODEsIDY1LCA3MCwgMTI4LCA3NywgNjUsIAorICAgIDgxLCAxMjgsIDc3LCA2NSwgODAsIDc2LCAxOTcsIDc3LCA2NSwgODAsIDczLCA4MSwgMTI4LCA3NywgNjUsIDIwOCwgNzcsIAorICAgIDY1LCA3OSwgMTI4LCA3NywgNjUsIDc4LCA4NCwgNjksIDc2LCA4MCwgNzMsIDY5LCA2NywgMTk3LCA3NywgNjUsIDc4LCA4MywgCisgICAgODksIDc5LCA3OCwgMTI4LCA3NywgNjUsIDc4LCA4MywgODUsIDY1LCA2OSwgMTI4LCA3NywgNjUsIDc4LCA3OCwgNjUsIAorICAgIDIxOCwgNzcsIDY1LCA3OCwgNzgsIDY1LCAxMjgsIDc3LCA2NSwgNzgsIDczLCA2NywgNzIsIDY1LCA2OSwgNjUsIDIwNiwgCisgICAgNzcsIDY1LCA3OCwgNzEsIDY1LCA3NiwgNjUsIDc3LCAxMjgsIDc3LCA2NSwgNzgsIDY4LCA2NSwgNzMsIDc2LCA3MywgNzgsIAorICAgIDE5OSwgNzcsIDY1LCA3OCwgNjgsIDY1LCA3MywgMTk1LCA3NywgNjUsIDc4LCA2NywgNzIsIDIxMywgNzcsIDY1LCA3OCwgCisgICAgNjUsIDIxMiwgNzcsIDY1LCA3OCwgNjUsIDY3LCA3NiwgNjksIDgzLCAxMjgsIDc3LCA2NSwgNzYsIDg0LCA2OSwgODMsIAorICAgIDE5NywgNzcsIDY1LCA3NiwgNjksIDY5LCA4MiwgNzMsIDEyOCwgNzcsIDY1LCA3NiwgNjksIDEyOCwgNzcsIDY1LCA3NiwgCisgICAgMTk3LCA3NywgNjUsIDc2LCA2NSwgNzUsIDc5LCAyMDYsIDc3LCA2NSwgNzUsIDgzLCA4NSwgODIsIDY1LCAxMjgsIDc3LCAKKyAgICA2NSwgNzUsIDgzLCA4NSwgODIsIDE5MywgNzcsIDY1LCA3MywgOTAsIDY5LCAxMjgsIDc3LCA2NSwgNzMsIDg5LCA2NSwgNzcsIAorICAgIDc5LCA3NSwgMTI4LCA3NywgNjUsIDczLCA4NCwgNjUsIDczLCA3NSwgNzIsIDg1LCAxMjgsIDc3LCA2NSwgNzMsIDgyLCA4NSwgCisgICAgMTI4LCA3NywgNjUsIDczLCA3NywgODUsIDY1LCA3OCwgMTI4LCA3NywgNjUsIDczLCA3NywgNjUsIDc2LCA2NSwgNzMsIAogICAgIDEyOCwgNzcsIDY1LCA3MywgNzYsIDY2LCA3OSwgMjE2LCA3NywgNjUsIDczLCA3NSwgODUsIDgyLCA3OSwgMTI4LCA3NywgCiAgICAgNjUsIDczLCA2OCwgNjksIDc4LCAxMjgsIDc3LCA2NSwgNzMsIDEyOCwgNzcsIDY1LCA3MiwgNzQsIDc5LCA3OCwgMTk5LCAKICAgICA3NywgNjUsIDcyLCA3MiwgNjUsIDEyOCwgNzcsIDY1LCA3MiwgNjUsIDgwLCA4MiwgNjUsIDc4LCA2NSwgMTI4LCA3NywgNjUsIAotICAgIDcyLCA2NSwgODAsIDY1LCA3NSwgNzIsIDEyOCwgNzcsIDY1LCA3MiwgNjUsIDY1LCA4MCwgODIsIDY1LCA2NSwgNzgsIDE5MywgCi0gICAgNzcsIDY1LCA3MiwgMTI4LCA3NywgNjUsIDcxLCA3OCwgNzMsIDcwLCA4OSwgNzMsIDc4LCAxOTksIDc3LCA2NSwgNjksIDgzLCAKLSAgICA3MywgMTI4LCA3NywgNjUsIDY5LCA3OCwgODksIDczLCAxMjgsIDc3LCA2NSwgNjksIDc4LCA3NCwgNjksIDg0LCAxMjgsIAotICAgIDc3LCA2NSwgNjksIDc3LCA4NiwgNjksIDg1LCA4OCwgMTI4LCA3NywgNjUsIDY5LCA3NywgNzUsIDgwLCA2OSwgNzgsIDEyOCwgCi0gICAgNzcsIDY1LCA2OSwgNzcsIDcxLCA2NiwgNzMsIDY5LCA2OSwgMTI4LCA3NywgNjUsIDY5LCA3NywgNjYsIDcxLCA2NiwgNzMsIAotICAgIDY5LCA2OSwgMTI4LCA3NywgNjUsIDY5LCA3NywgNjYsIDY1LCAxMjgsIDc3LCA2NSwgNjksIDc3LCAxMjgsIDc3LCA2NSwgCi0gICAgNjksIDc2LCA2OSwgNjksIDEyOCwgNzcsIDY1LCA2OSwgNzUsIDY5LCA4NSwgODAsIDEyOCwgNzcsIDY1LCA2OCwgODksIDY1LCAKLSAgICAxMjgsIDc3LCA2NSwgNjgsIDg1LCAxMjgsIDc3LCA2NSwgNjgsIDY4LCA2NSwgMjAwLCA3NywgNjUsIDY4LCA2OCwgNjUsIAotICAgIDEyOCwgNzcsIDY1LCA2OCwgNjgsIDE5MywgNzcsIDY1LCA2NywgODIsIDc5LCA3OCwgNDUsIDcxLCA4MiwgNjUsIDg2LCA2OSwgCi0gICAgMTI4LCA3NywgNjUsIDY3LCA4MiwgNzksIDc4LCA0NSwgNjYsIDgyLCA2OSwgODYsIDY5LCAxMjgsIDc3LCA2NSwgNjcsIDgyLCAKLSAgICA3OSwgNzgsIDQ1LCA2NSwgNjcsIDg1LCA4NCwgNjksIDEyOCwgNzcsIDY1LCA2NywgODIsIDc5LCA3OCwgMTI4LCA3NywgNjUsIAotICAgIDY3LCA4MiwgNzksIDIwNiwgNzcsIDY1LCA2NywgNzIsIDczLCA3OCwgNjksIDEyOCwgNzcsIDY1LCA2NSwgODksIDg5LCA2NSwgCi0gICAgNjUsIDEyOCwgNzcsIDY1LCA2NSwgNzMsIDEyOCwgNzcsIDY1LCA2NSwgMTI4LCA3NywgNjUsIDUwLCAxMjgsIDc3LCA0OCwgCi0gICAgNTIsIDUyLCAxMjgsIDc3LCA0OCwgNTIsIDUxLCAxMjgsIDc3LCA0OCwgNTIsIDUwLCAxMjgsIDc3LCA0OCwgNTIsIDQ5LCAKLSAgICAxMjgsIDc3LCA0OCwgNTIsIDQ4LCA2NSwgMTI4LCA3NywgNDgsIDUyLCA0OCwgMTI4LCA3NywgNDgsIDUxLCA1NywgMTI4LCAKLSAgICA3NywgNDgsIDUxLCA1NiwgMTI4LCA3NywgNDgsIDUxLCA1NSwgMTI4LCA3NywgNDgsIDUxLCA1NCwgMTI4LCA3NywgNDgsIAotICAgIDUxLCA1MywgMTI4LCA3NywgNDgsIDUxLCA1MiwgMTI4LCA3NywgNDgsIDUxLCA1MSwgNjYsIDEyOCwgNzcsIDQ4LCA1MSwgCi0gICAgNTEsIDY1LCAxMjgsIDc3LCA0OCwgNTEsIDUxLCAxMjgsIDc3LCA0OCwgNTEsIDUwLCAxMjgsIDc3LCA0OCwgNTEsIDQ5LCAKLSAgICA2NSwgMTI4LCA3NywgNDgsIDUxLCA0OSwgMTI4LCA3NywgNDgsIDUxLCA0OCwgMTI4LCA3NywgNDgsIDUwLCA1NywgMTI4LCAKLSAgICA3NywgNDgsIDUwLCA1NiwgNjUsIDEyOCwgNzcsIDQ4LCA1MCwgNTYsIDEyOCwgNzcsIDQ4LCA1MCwgNTUsIDEyOCwgNzcsIAotICAgIDQ4LCA1MCwgNTQsIDEyOCwgNzcsIDQ4LCA1MCwgNTMsIDEyOCwgNzcsIDQ4LCA1MCwgNTIsIDY1LCAxMjgsIDc3LCA0OCwgCi0gICAgNTAsIDUyLCAxMjgsIDc3LCA0OCwgNTAsIDUxLCAxMjgsIDc3LCA0OCwgNTAsIDUwLCA2NSwgMTI4LCA3NywgNDgsIDUwLCAKLSAgICA1MCwgMTI4LCA3NywgNDgsIDUwLCA0OSwgMTI4LCA3NywgNDgsIDUwLCA0OCwgMTI4LCA3NywgNDgsIDQ5LCA1NywgMTI4LCAKLSAgICA3NywgNDgsIDQ5LCA1NiwgMTI4LCA3NywgNDgsIDQ5LCA1NSwgNjUsIDEyOCwgNzcsIDQ4LCA0OSwgNTUsIDEyOCwgNzcsIAotICAgIDQ4LCA0OSwgNTQsIDY1LCAxMjgsIDc3LCA0OCwgNDksIDU0LCAxMjgsIDc3LCA0OCwgNDksIDUzLCA2NSwgMTI4LCA3NywgCi0gICAgNDgsIDQ5LCA1MywgMTI4LCA3NywgNDgsIDQ5LCA1MiwgMTI4LCA3NywgNDgsIDQ5LCA1MSwgMTI4LCA3NywgNDgsIDQ5LCAKKyAgICA3MiwgNjUsIDgwLCA2NSwgNzUsIDcyLCAxMjgsIDc3LCA2NSwgNzIsIDY1LCA3NCwgNjUsIDc4LCAyMDEsIDc3LCA2NSwgNzIsIAorICAgIDY1LCA2NSwgODAsIDgyLCA2NSwgNjUsIDc4LCAxOTMsIDc3LCA2NSwgNzIsIDEyOCwgNzcsIDY1LCA3MSwgNzgsIDczLCA3MCwgCisgICAgODksIDczLCA3OCwgMTk5LCA3NywgNjUsIDY5LCA4MywgNzMsIDEyOCwgNzcsIDY1LCA2OSwgNzgsIDg5LCA3MywgMTI4LCAKKyAgICA3NywgNjUsIDY5LCA3OCwgNzQsIDY5LCA4NCwgMTI4LCA3NywgNjUsIDY5LCA3NywgODYsIDY5LCA4NSwgODgsIDEyOCwgNzcsIAorICAgIDY1LCA2OSwgNzcsIDc1LCA4MCwgNjksIDc4LCAxMjgsIDc3LCA2NSwgNjksIDc3LCA3MSwgNjYsIDczLCA2OSwgNjksIDEyOCwgCisgICAgNzcsIDY1LCA2OSwgNzcsIDY2LCA3MSwgNjYsIDczLCA2OSwgNjksIDEyOCwgNzcsIDY1LCA2OSwgNzcsIDY2LCA2NSwgMTI4LCAKKyAgICA3NywgNjUsIDY5LCA3NywgMTI4LCA3NywgNjUsIDY5LCA3NiwgNjksIDY5LCAxMjgsIDc3LCA2NSwgNjksIDc1LCA2OSwgODUsIAorICAgIDgwLCAxMjgsIDc3LCA2NSwgNjgsIDg5LCA2NSwgMTI4LCA3NywgNjUsIDY4LCA4NSwgMTI4LCA3NywgNjUsIDY4LCA2OCwgCisgICAgNjUsIDIwMCwgNzcsIDY1LCA2OCwgNjgsIDY1LCAxMjgsIDc3LCA2NSwgNjgsIDY4LCAxOTMsIDc3LCA2NSwgNjcsIDgyLCAKKyAgICA3OSwgNzgsIDQ1LCA3MSwgODIsIDY1LCA4NiwgNjksIDEyOCwgNzcsIDY1LCA2NywgODIsIDc5LCA3OCwgNDUsIDY2LCA4MiwgCisgICAgNjksIDg2LCA2OSwgMTI4LCA3NywgNjUsIDY3LCA4MiwgNzksIDc4LCA0NSwgNjUsIDY3LCA4NSwgODQsIDY5LCAxMjgsIDc3LCAKKyAgICA2NSwgNjcsIDgyLCA3OSwgNzgsIDEyOCwgNzcsIDY1LCA2NywgODIsIDc5LCAyMDYsIDc3LCA2NSwgNjcsIDcyLCA3MywgNzgsIAorICAgIDY5LCAxMjgsIDc3LCA2NSwgNjUsIDg5LCA4OSwgNjUsIDY1LCAxMjgsIDc3LCA2NSwgNjUsIDczLCAxMjgsIDc3LCA2NSwgCisgICAgNjUsIDEyOCwgNzcsIDY1LCA1MCwgMTI4LCA3NywgNDksIDU3LCAxODMsIDc3LCA0OSwgNTcsIDE4MiwgNzcsIDQ5LCA1NywgCisgICAgMTgxLCA3NywgNDksIDU3LCAxODAsIDc3LCA0OSwgNTcsIDE3OSwgNzcsIDQ5LCA1NywgMTc4LCA3NywgNDksIDU3LCAxNzcsIAorICAgIDc3LCA0OSwgNTcsIDE3NiwgNzcsIDQ5LCA1NiwgMTg1LCA3NywgNDksIDU2LCAxODQsIDc3LCA0OSwgNTYsIDE4MywgNzcsIAorICAgIDQ5LCA1NiwgMTgyLCA3NywgNDksIDU2LCAxODEsIDc3LCA0OSwgNTYsIDE4MCwgNzcsIDQ5LCA1NiwgMTc5LCA3NywgNDksIAorICAgIDU2LCAxNzgsIDc3LCA0OSwgNTYsIDE3NywgNzcsIDQ5LCA1NiwgMTc2LCA3NywgNDksIDU1LCAxODUsIDc3LCA0OSwgNTUsIAorICAgIDE4NCwgNzcsIDQ5LCA1NSwgMTgzLCA3NywgNDksIDU1LCAxODIsIDc3LCA0OSwgNTUsIDE4MSwgNzcsIDQ5LCA1NSwgMTgwLCAKKyAgICA3NywgNDksIDU1LCAxNzksIDc3LCA0OSwgNTUsIDE3OCwgNzcsIDQ5LCA1NSwgMTc3LCA3NywgNDksIDU1LCAxNzYsIDc3LCAKKyAgICA0OSwgNTQsIDE4NSwgNzcsIDQ5LCA1NCwgMTg0LCA3NywgNDksIDU0LCAxODMsIDc3LCA0OSwgNTQsIDE4MiwgNzcsIDQ5LCAKKyAgICA1NCwgMTgxLCA3NywgNDksIDU0LCAxODAsIDc3LCA0OSwgNTQsIDE3OSwgNzcsIDQ5LCA1NCwgMTc4LCA3NywgNDksIDU0LCAKKyAgICAxNzcsIDc3LCA0OSwgNTQsIDE3NiwgNzcsIDQ5LCA1MywgMTg1LCA3NywgNDksIDUzLCAxODQsIDc3LCA0OSwgNTMsIDE4MywgCisgICAgNzcsIDQ5LCA1MywgMTgyLCA3NywgNDksIDUzLCAxODEsIDc3LCA0OSwgNTMsIDE4MCwgNzcsIDQ5LCA1MywgMTc5LCA3NywgCisgICAgNDksIDUzLCAxNzgsIDc3LCA0OSwgNTMsIDE3NywgNzcsIDQ5LCA1MywgMTc2LCA3NywgNDksIDUyLCAxODUsIDc3LCA0OSwgCisgICAgNTIsIDE4NCwgNzcsIDQ5LCA1MiwgMTgzLCA3NywgNDksIDUyLCAxODIsIDc3LCA0OSwgNTIsIDE4MSwgNzcsIDQ5LCA1MiwgCisgICAgMTgwLCA3NywgNDksIDUyLCAxNzksIDc3LCA0OSwgNTIsIDE3OCwgNzcsIDQ5LCA1MiwgMTc3LCA3NywgNDksIDUyLCAxNzYsIAorICAgIDc3LCA0OSwgNTEsIDE4NSwgNzcsIDQ5LCA1MSwgMTg0LCA3NywgNDksIDUxLCAxODMsIDc3LCA0OSwgNTEsIDE4MiwgNzcsIAorICAgIDQ5LCA1MSwgMTgxLCA3NywgNDksIDUxLCAxODAsIDc3LCA0OSwgNTEsIDE3OSwgNzcsIDQ5LCA1MSwgMTc4LCA3NywgNDksIAorICAgIDUxLCAxNzcsIDc3LCA0OSwgNTEsIDE3NiwgNzcsIDQ5LCA1MCwgMTg1LCA3NywgNDksIDUwLCAxODQsIDc3LCA0OSwgNTAsIAorICAgIDE4MywgNzcsIDQ5LCA1MCwgMTgyLCA3NywgNDksIDUwLCAxODEsIDc3LCA0OSwgNTAsIDE4MCwgNzcsIDQ5LCA1MCwgMTc5LCAKKyAgICA3NywgNDksIDUwLCAxNzgsIDc3LCA0OSwgNTAsIDE3NywgNzcsIDQ5LCA1MCwgMTc2LCA3NywgNDksIDQ5LCAxODUsIDc3LCAKKyAgICA0OSwgNDksIDE4NCwgNzcsIDQ5LCA0OSwgMTgzLCA3NywgNDksIDQ5LCAxODIsIDc3LCA0OSwgNDksIDE4MSwgNzcsIDQ5LCAKKyAgICA0OSwgMTgwLCA3NywgNDksIDQ5LCAxNzksIDc3LCA0OSwgNDksIDE3OCwgNzcsIDQ5LCA0OSwgMTc3LCA3NywgNDksIDQ5LCAKKyAgICAxNzYsIDc3LCA0OSwgNDgsIDE4NSwgNzcsIDQ5LCA0OCwgMTg0LCA3NywgNDksIDQ4LCAxODMsIDc3LCA0OSwgNDgsIDE4MiwgCisgICAgNzcsIDQ5LCA0OCwgMTgxLCA3NywgNDksIDQ4LCAxODAsIDc3LCA0OSwgNDgsIDE3OSwgNzcsIDQ5LCA0OCwgMTc4LCA3NywgCisgICAgNDksIDQ4LCAxNzcsIDc3LCA0OSwgNDgsIDE3NiwgNzcsIDQ4LCA1NywgMTg1LCA3NywgNDgsIDU3LCAxODQsIDc3LCA0OCwgCisgICAgNTcsIDE4MywgNzcsIDQ4LCA1NywgMTgyLCA3NywgNDgsIDU3LCAxODEsIDc3LCA0OCwgNTcsIDE4MCwgNzcsIDQ4LCA1NywgCisgICAgMTc5LCA3NywgNDgsIDU3LCAxNzgsIDc3LCA0OCwgNTcsIDE3NywgNzcsIDQ4LCA1NywgMTc2LCA3NywgNDgsIDU2LCAxODUsIAorICAgIDc3LCA0OCwgNTYsIDE4NCwgNzcsIDQ4LCA1NiwgMTgzLCA3NywgNDgsIDU2LCAxODIsIDc3LCA0OCwgNTYsIDE4MSwgNzcsIAorICAgIDQ4LCA1NiwgMTgwLCA3NywgNDgsIDU2LCAxNzksIDc3LCA0OCwgNTYsIDE3OCwgNzcsIDQ4LCA1NiwgMTc3LCA3NywgNDgsIAorICAgIDU2LCAxNzYsIDc3LCA0OCwgNTUsIDE4NSwgNzcsIDQ4LCA1NSwgMTg0LCA3NywgNDgsIDU1LCAxODMsIDc3LCA0OCwgNTUsIAorICAgIDE4MiwgNzcsIDQ4LCA1NSwgMTgxLCA3NywgNDgsIDU1LCAxODAsIDc3LCA0OCwgNTUsIDE3OSwgNzcsIDQ4LCA1NSwgMTc4LCAKKyAgICA3NywgNDgsIDU1LCAxNzcsIDc3LCA0OCwgNTUsIDE3NiwgNzcsIDQ4LCA1NCwgMTg1LCA3NywgNDgsIDU0LCAxODQsIDc3LCAKKyAgICA0OCwgNTQsIDE4MywgNzcsIDQ4LCA1NCwgMTgyLCA3NywgNDgsIDU0LCAxODEsIDc3LCA0OCwgNTQsIDE4MCwgNzcsIDQ4LCAKKyAgICA1NCwgMTc5LCA3NywgNDgsIDU0LCAxNzgsIDc3LCA0OCwgNTQsIDE3NywgNzcsIDQ4LCA1NCwgMTc2LCA3NywgNDgsIDUzLCAKKyAgICAxODUsIDc3LCA0OCwgNTMsIDE4NCwgNzcsIDQ4LCA1MywgMTgzLCA3NywgNDgsIDUzLCAxODIsIDc3LCA0OCwgNTMsIDE4MSwgCisgICAgNzcsIDQ4LCA1MywgMTgwLCA3NywgNDgsIDUzLCAxNzksIDc3LCA0OCwgNTMsIDE3OCwgNzcsIDQ4LCA1MywgMTc3LCA3NywgCisgICAgNDgsIDUzLCAxNzYsIDc3LCA0OCwgNTIsIDE4NSwgNzcsIDQ4LCA1MiwgMTg0LCA3NywgNDgsIDUyLCAxODMsIDc3LCA0OCwgCisgICAgNTIsIDE4MiwgNzcsIDQ4LCA1MiwgMTgxLCA3NywgNDgsIDUyLCA1MiwgMTI4LCA3NywgNDgsIDUyLCAxODAsIDc3LCA0OCwgCisgICAgNTIsIDUxLCAxMjgsIDc3LCA0OCwgNTIsIDE3OSwgNzcsIDQ4LCA1MiwgNTAsIDEyOCwgNzcsIDQ4LCA1MiwgMTc4LCA3NywgCisgICAgNDgsIDUyLCA0OSwgMTI4LCA3NywgNDgsIDUyLCAxNzcsIDc3LCA0OCwgNTIsIDQ4LCA2NSwgMTI4LCA3NywgNDgsIDUyLCAKKyAgICA0OCwgMTI4LCA3NywgNDgsIDUyLCAxNzYsIDc3LCA0OCwgNTEsIDU3LCAxMjgsIDc3LCA0OCwgNTEsIDE4NSwgNzcsIDQ4LCAKKyAgICA1MSwgNTYsIDEyOCwgNzcsIDQ4LCA1MSwgMTg0LCA3NywgNDgsIDUxLCA1NSwgMTI4LCA3NywgNDgsIDUxLCAxODMsIDc3LCAKKyAgICA0OCwgNTEsIDU0LCAxMjgsIDc3LCA0OCwgNTEsIDE4MiwgNzcsIDQ4LCA1MSwgNTMsIDEyOCwgNzcsIDQ4LCA1MSwgMTgxLCAKKyAgICA3NywgNDgsIDUxLCA1MiwgMTI4LCA3NywgNDgsIDUxLCAxODAsIDc3LCA0OCwgNTEsIDUxLCA2NiwgMTI4LCA3NywgNDgsIAorICAgIDUxLCA1MSwgNjUsIDEyOCwgNzcsIDQ4LCA1MSwgNTEsIDEyOCwgNzcsIDQ4LCA1MSwgMTc5LCA3NywgNDgsIDUxLCA1MCwgCisgICAgMTI4LCA3NywgNDgsIDUxLCAxNzgsIDc3LCA0OCwgNTEsIDQ5LCA2NSwgMTI4LCA3NywgNDgsIDUxLCA0OSwgMTI4LCA3NywgCisgICAgNDgsIDUxLCAxNzcsIDc3LCA0OCwgNTEsIDQ4LCAxMjgsIDc3LCA0OCwgNTEsIDE3NiwgNzcsIDQ4LCA1MCwgNTcsIDEyOCwgCisgICAgNzcsIDQ4LCA1MCwgMTg1LCA3NywgNDgsIDUwLCA1NiwgNjUsIDEyOCwgNzcsIDQ4LCA1MCwgNTYsIDEyOCwgNzcsIDQ4LCAKKyAgICA1MCwgMTg0LCA3NywgNDgsIDUwLCA1NSwgMTI4LCA3NywgNDgsIDUwLCAxODMsIDc3LCA0OCwgNTAsIDU0LCAxMjgsIDc3LCAKKyAgICA0OCwgNTAsIDE4MiwgNzcsIDQ4LCA1MCwgNTMsIDEyOCwgNzcsIDQ4LCA1MCwgMTgxLCA3NywgNDgsIDUwLCA1MiwgNjUsIAorICAgIDEyOCwgNzcsIDQ4LCA1MCwgNTIsIDEyOCwgNzcsIDQ4LCA1MCwgMTgwLCA3NywgNDgsIDUwLCA1MSwgMTI4LCA3NywgNDgsIAorICAgIDUwLCAxNzksIDc3LCA0OCwgNTAsIDUwLCA2NSwgMTI4LCA3NywgNDgsIDUwLCA1MCwgMTI4LCA3NywgNDgsIDUwLCAxNzgsIAorICAgIDc3LCA0OCwgNTAsIDQ5LCAxMjgsIDc3LCA0OCwgNTAsIDE3NywgNzcsIDQ4LCA1MCwgNDgsIDEyOCwgNzcsIDQ4LCA1MCwgCisgICAgMTc2LCA3NywgNDgsIDQ5LCA1NywgMTI4LCA3NywgNDgsIDQ5LCAxODUsIDc3LCA0OCwgNDksIDU2LCAxMjgsIDc3LCA0OCwgCisgICAgNDksIDE4NCwgNzcsIDQ4LCA0OSwgNTUsIDY1LCAxMjgsIDc3LCA0OCwgNDksIDU1LCAxMjgsIDc3LCA0OCwgNDksIDE4MywgCisgICAgNzcsIDQ4LCA0OSwgNTQsIDY1LCAxMjgsIDc3LCA0OCwgNDksIDU0LCAxMjgsIDc3LCA0OCwgNDksIDE4MiwgNzcsIDQ4LCAKKyAgICA0OSwgNTMsIDY1LCAxMjgsIDc3LCA0OCwgNDksIDUzLCAxMjgsIDc3LCA0OCwgNDksIDE4MSwgNzcsIDQ4LCA0OSwgNTIsIAorICAgIDEyOCwgNzcsIDQ4LCA0OSwgMTgwLCA3NywgNDgsIDQ5LCA1MSwgMTI4LCA3NywgNDgsIDQ5LCAxNzksIDc3LCA0OCwgNDksIAogICAgIDUwLCA3MiwgMTI4LCA3NywgNDgsIDQ5LCA1MCwgNzEsIDEyOCwgNzcsIDQ4LCA0OSwgNTAsIDcwLCAxMjgsIDc3LCA0OCwgCiAgICAgNDksIDUwLCA2OSwgMTI4LCA3NywgNDgsIDQ5LCA1MCwgNjgsIDEyOCwgNzcsIDQ4LCA0OSwgNTAsIDY3LCAxMjgsIDc3LCAKICAgICA0OCwgNDksIDUwLCA2NiwgMTI4LCA3NywgNDgsIDQ5LCA1MCwgNjUsIDEyOCwgNzcsIDQ4LCA0OSwgNTAsIDEyOCwgNzcsIAotICAgIDQ4LCA0OSwgNDksIDEyOCwgNzcsIDQ4LCA0OSwgNDgsIDY1LCAxMjgsIDc3LCA0OCwgNDksIDQ4LCAxMjgsIDc3LCA0OCwgCi0gICAgNDgsIDU3LCAxMjgsIDc3LCA0OCwgNDgsIDU2LCAxMjgsIDc3LCA0OCwgNDgsIDU1LCAxMjgsIDc3LCA0OCwgNDgsIDU0LCAKLSAgICAxMjgsIDc3LCA0OCwgNDgsIDUzLCAxMjgsIDc3LCA0OCwgNDgsIDUyLCAxMjgsIDc3LCA0OCwgNDgsIDUxLCA2NSwgMTI4LCAKLSAgICA3NywgNDgsIDQ4LCA1MSwgMTI4LCA3NywgNDgsIDQ4LCA1MCwgMTI4LCA3NywgNDgsIDQ4LCA0OSwgNjYsIDEyOCwgNzcsIAotICAgIDQ4LCA0OCwgNDksIDY1LCAxMjgsIDc3LCA0OCwgNDgsIDQ5LCAxMjgsIDc2LCAyMTgsIDc2LCA4OSwgODksIDEyOCwgNzYsIAotICAgIDg5LCA4OCwgMTI4LCA3NiwgODksIDg0LCAxMjgsIDc2LCA4OSwgODIsIDg4LCAxMjgsIDc2LCA4OSwgODIsIDEyOCwgNzYsIAotICAgIDg5LCA4MCwgMTI4LCA3NiwgODksIDY4LCA3MywgNjUsIDIwNiwgNzYsIDg5LCA2NywgNzMsIDY1LCAyMDYsIDc2LCA4OCwgCi0gICAgMTI4LCA3NiwgODcsIDc5LCA3OSwgMTI4LCA3NiwgODcsIDc5LCAxMjgsIDc2LCA4NywgNzMsIDczLCAxMjgsIDc2LCA4NywgCi0gICAgNzMsIDEyOCwgNzYsIDg3LCA2OSwgMTI4LCA3NiwgODcsIDY1LCA2NSwgMTI4LCA3NiwgODcsIDY1LCAxMjgsIDc2LCA4NSwgCi0gICAgODgsIDEyOCwgNzYsIDg1LCA4NSwgMTI4LCA3NiwgODUsIDg0LCAxMjgsIDc2LCA4NSwgODIsIDg4LCAxMjgsIDc2LCA4NSwgCi0gICAgODAsIDEyOCwgNzYsIDg1LCA3OSwgODgsIDEyOCwgNzYsIDg1LCA3OSwgODQsIDEyOCwgNzYsIDg1LCA3OSwgODAsIDEyOCwgCi0gICAgNzYsIDg1LCA3OSwgMTI4LCA3NiwgODUsIDc4LCA3MSwgODMsIDczLCAxMjgsIDc2LCA4NSwgNzgsIDY1LCA4NCwgMTk3LCAKLSAgICA3NiwgODUsIDIwNSwgNzYsIDg1LCA3NiwgMTI4LCA3NiwgODUsIDczLCA4MywgMTI4LCA3NiwgODUsIDcyLCA4NSwgODIsIAotICAgIDEyOCwgNzYsIDg1LCA3MiwgMTI4LCA3NiwgODUsIDcxLCA3MSwgNjUsIDcxLCA2OSwgMTI4LCA3NiwgODUsIDcxLCA2NSwgCi0gICAgNzYsIDEyOCwgNzYsIDg1LCA3MSwgNjUsIDIwNCwgNzYsIDg1LCA2OSwgMTI4LCA3NiwgODUsIDY1LCA2OSwgODAsIDEyOCwgCi0gICAgNzYsIDg1LCA1MSwgMTI4LCA3NiwgODUsIDUwLCAxMjgsIDc2LCA4NSwgMTc4LCA3NiwgODIsIDc5LCAxMjgsIDc2LCA4MiwgCi0gICAgNzcsIDEyOCwgNzYsIDgyLCA3MywgMTI4LCA3NiwgODIsIDY5LCAxMjgsIDc2LCA3OSwgOTAsIDY5LCA3OCwgNzEsIDY5LCAKLSAgICAxMjgsIDc2LCA3OSwgOTAsIDY5LCA3OCwgNzEsIDE5NywgNzYsIDc5LCA4OCwgMTI4LCA3NiwgNzksIDg3LCA2OSwgODIsIAotICAgIDY5LCAxOTYsIDc2LCA3OSwgODcsIDY5LCAyMTAsIDc2LCA3OSwgODcsIDQ1LCAxODUsIDc2LCA3OSwgODYsIDE5NywgNzYsIAotICAgIDc5LCA4NSwgODIsIDY5LCAxMjgsIDc2LCA3OSwgODUsIDY4LCA4MywgODAsIDY5LCA2NSwgNzUsIDY5LCA4MiwgMTI4LCA3NiwgCi0gICAgNzksIDg1LCA2OCwgNzYsIDIxNywgNzYsIDc5LCA4NCwgODUsIDgzLCAxMjgsIDc2LCA3OSwgODQsIDEyOCwgNzYsIDc5LCAKLSAgICA4MiwgODIsIDg5LCAxMjgsIDc2LCA3OSwgODIsIDgyLCA2NSwgNzMsIDc4LCA2OSwgMTI4LCA3NiwgNzksIDgxLCAxMjgsIAotICAgIDc2LCA3OSwgODAsIDEyOCwgNzYsIDc5LCA3OSwgODQsIDEyOCwgNzYsIDc5LCA3OSwgODAsIDY5LCAxOTYsIDc2LCA3OSwgCi0gICAgNzksIDgwLCAxMjgsIDc2LCA3OSwgNzksIDIwOCwgNzYsIDc5LCA3OSwgNzgsIDEyOCwgNzYsIDc5LCA3OSwgMjAzLCA3NiwgCi0gICAgNzksIDc5LCAxMjgsIDc2LCA3OSwgNzgsIDgzLCA4NSwgNzcsIDEyOCwgNzYsIDc5LCA3OCwgNzEsIDY1LCAxMjgsIDc2LCAKLSAgICA3OSwgNzgsIDcxLCAxOTMsIDc2LCA3OSwgNzgsIDcxLCA0NSwgNjYsIDgyLCA2NSwgNzgsIDY3LCA3MiwgNDUsIDg5LCA4MiwgCi0gICAgMTI4LCA3NiwgNzksIDc4LCA3MSwgNDUsIDY2LCA4MiwgNjUsIDc4LCA2NywgNzIsIDQ1LCA4MywgNzksIDIwNCwgNzYsIDc5LCAKLSAgICA3OCwgNzEsIDQ1LCA2NiwgODIsIDY1LCA3OCwgNjcsIDcyLCA0NSwgNzksIDgzLCAyMTEsIDc2LCA3OSwgNzgsIDcxLCA0NSwgCi0gICAgNjYsIDgyLCA2NSwgNzgsIDY3LCA3MiwgNDUsIDc3LCA2NSwgNjgsIDIxMCwgNzYsIDc5LCA3OCwgNzEsIDQ1LCA2NiwgODIsIAotICAgIDY1LCA3OCwgNjcsIDcyLCA0NSwgNzIsIDY1LCA3MSwgNjUsIDc2LCAyMDQsIDc2LCA3OSwgNzgsIDcxLCA0NSwgNjYsIDgyLCAKLSAgICA2NSwgNzgsIDY3LCA3MiwgNDUsIDY1LCAyMTAsIDc2LCA3OSwgNzcsIDc3LCA2NSwgNjksIDEyOCwgNzYsIDc5LCA3NywgCi0gICAgMTI4LCA3NiwgNzksIDIwNSwgNzYsIDc5LCA3NiwgNzYsIDczLCA4MCwgNzksIDgwLCAxMjgsIDc2LCA3OSwgNzYsIDc2LCAKLSAgICAxMjgsIDc2LCA3OSwgNzEsIDIxMCwgNzYsIDc5LCA3MSwgNzksIDg0LCA4OSwgODAsIDE5NywgNzYsIDc5LCA3MSwgNzksIAotICAgIDcxLCA4MiwgNjUsIDIwNSwgNzYsIDc5LCA3MSwgMTI4LCA3NiwgNzksIDY4LCA2OSwgODMsIDg0LCA3OSwgNzgsIDY5LCAKLSAgICAxMjgsIDc2LCA3OSwgNjcsIDc5LCA3NywgNzksIDg0LCA3MywgODYsIDY5LCAxMjgsIDc2LCA3OSwgNjcsIDc1LCA3MywgNzgsIAotICAgIDcxLCA0NSwgODMsIDcyLCA3MywgNzAsIDIxMiwgNzYsIDc5LCA2NywgMjAzLCA3NiwgNzksIDY3LCA2NSwgODQsIDczLCA4NiwgCi0gICAgNjksIDEyOCwgNzYsIDc5LCA2NywgNjUsIDg0LCA3MywgNzksIDIwNiwgNzYsIDc5LCA2NSwgMTI4LCA3NiwgNzgsIDEyOCwgCi0gICAgNzYsIDc2LCA4NSwgODUsIDEyOCwgNzYsIDc2LCA3OSwgNzksIDEyOCwgNzYsIDc2LCA3NiwgODUsIDg1LCAxMjgsIDc2LCAKLSAgICA3NiwgNzYsIDg1LCAxMjgsIDc2LCA3NiwgNzYsIDc5LCA3OSwgMTI4LCA3NiwgNzYsIDc2LCA3OSwgMTI4LCA3NiwgNzYsIAotICAgIDc2LCA3MywgNzMsIDEyOCwgNzYsIDc2LCA3NiwgNzMsIDEyOCwgNzYsIDc2LCA3NiwgNjksIDY5LCAxMjgsIDc2LCA3NiwgCi0gICAgNzYsIDY5LCAxMjgsIDc2LCA3NiwgNzYsIDY1LCA4NSwgMTI4LCA3NiwgNzYsIDc2LCA2NSwgNzMsIDEyOCwgNzYsIDc2LCAKLSAgICA3NiwgNjUsIDY1LCAxMjgsIDc2LCA3NiwgNzYsIDY1LCAxMjgsIDc2LCA3NiwgNzYsIDEyOCwgNzYsIDc0LCA4NSwgNjgsIAotICAgIDczLCA3NCwgNjksIDEyOCwgNzYsIDc0LCA2OSwgMTI4LCA3NiwgNzQsIDEyOCwgNzYsIDczLCA4OCwgMTI4LCA3NiwgNzMsIAotICAgIDg3LCA3OCwgMTI4LCA3NiwgNzMsIDg2LCA4MiwgMTk3LCA3NiwgNzMsIDg0LCA4NCwgNzYsIDE5NywgNzYsIDczLCA4NCwgCi0gICAgODQsIDY5LCAyMTAsIDc2LCA3MywgODQsIDgyLCAxOTMsIDc2LCA3MywgODQsIDEyOCwgNzYsIDczLCA4MywgMjEzLCA3NiwgCi0gICAgNzMsIDgyLCAxOTMsIDc2LCA3MywgODEsIDg1LCA3MywgMTk2LCA3NiwgNzMsIDgxLCAxMjgsIDc2LCA3MywgODAsIDgzLCAKLSAgICA4NCwgNzMsIDY3LCA3NSwgMTI4LCA3NiwgNzMsIDc4LCA3NSwgNzMsIDc4LCAxOTksIDc2LCA3MywgNzgsIDIwMywgNzYsIAotICAgIDczLCA3OCwgNzEsIDgzLCA2NSwgMTI4LCA3NiwgNzMsIDc4LCA2OSwgODMsIDEyOCwgNzYsIDczLCA3OCwgNjksIDIxMSwgCi0gICAgNzYsIDczLCA3OCwgNjksIDQ1LCA1NywgMTI4LCA3NiwgNzMsIDc4LCA2OSwgNDUsIDU1LCAxMjgsIDc2LCA3MywgNzgsIDY5LCAKLSAgICA0NSwgNTEsIDEyOCwgNzYsIDczLCA3OCwgNjksIDQ1LCA0OSwgMTI4LCA3NiwgNzMsIDc3LCA3NywgODUsIDUyLCAxMjgsIAotICAgIDc2LCA3MywgNzcsIDc3LCA4NSwgNTAsIDEyOCwgNzYsIDczLCA3NywgNzcsIDg1LCAxMjgsIDc2LCA3MywgNzcsIDc3LCAKLSAgICAyMTMsIDc2LCA3MywgNzcsIDczLCA4NCwgNjksIDE5NiwgNzYsIDczLCA3NywgNzMsIDg0LCA2NSwgODQsIDczLCA3OSwgNzgsIAotICAgIDEyOCwgNzYsIDczLCA3NywgNzMsIDg0LCAxMjgsIDc2LCA3MywgNzcsIDY5LCAxMjgsIDc2LCA3MywgNzcsIDY2LCAyMTMsIAotICAgIDc2LCA3MywgNzYsIDg5LCAxMjgsIDc2LCA3MywgNzYsIDczLCA4NCwgNzIsIDEyOCwgNzYsIDczLCA3NiwgMTI4LCA3NiwgCi0gICAgNzMsIDcxLCA3MiwgODQsIDc4LCA3MywgNzgsIDcxLCAxMjgsIDc2LCA3MywgNzEsIDcyLCA4NCwgNzIsIDc5LCA4NSwgODMsIAotICAgIDY5LCAxMjgsIDc2LCA3MywgNzEsIDcyLCA4NCwgMTI4LCA3NiwgNzMsIDcwLCA2OSwgMTI4LCA3NiwgNzMsIDY5LCA4OCwgCisgICAgNDgsIDQ5LCAxNzgsIDc3LCA0OCwgNDksIDQ5LCAxMjgsIDc3LCA0OCwgNDksIDE3NywgNzcsIDQ4LCA0OSwgNDgsIDY1LCAKKyAgICAxMjgsIDc3LCA0OCwgNDksIDQ4LCAxMjgsIDc3LCA0OCwgNDksIDE3NiwgNzcsIDQ4LCA0OCwgNTcsIDEyOCwgNzcsIDQ4LCAKKyAgICA0OCwgMTg1LCA3NywgNDgsIDQ4LCA1NiwgMTI4LCA3NywgNDgsIDQ4LCAxODQsIDc3LCA0OCwgNDgsIDU1LCAxMjgsIDc3LCAKKyAgICA0OCwgNDgsIDE4MywgNzcsIDQ4LCA0OCwgNTQsIDEyOCwgNzcsIDQ4LCA0OCwgMTgyLCA3NywgNDgsIDQ4LCA1MywgMTI4LCAKKyAgICA3NywgNDgsIDQ4LCAxODEsIDc3LCA0OCwgNDgsIDUyLCAxMjgsIDc3LCA0OCwgNDgsIDE4MCwgNzcsIDQ4LCA0OCwgNTEsIAorICAgIDY1LCAxMjgsIDc3LCA0OCwgNDgsIDUxLCAxMjgsIDc3LCA0OCwgNDgsIDE3OSwgNzcsIDQ4LCA0OCwgNTAsIDEyOCwgNzcsIAorICAgIDQ4LCA0OCwgMTc4LCA3NywgNDgsIDQ4LCA0OSwgNjYsIDEyOCwgNzcsIDQ4LCA0OCwgNDksIDY1LCAxMjgsIDc3LCA0OCwgCisgICAgNDgsIDQ5LCAxMjgsIDc3LCA0OCwgNDgsIDE3NywgNzYsIDIxOCwgNzYsIDg5LCA4OSwgMTI4LCA3NiwgODksIDg4LCAxMjgsIAorICAgIDc2LCA4OSwgODQsIDEyOCwgNzYsIDg5LCA4MiwgODgsIDEyOCwgNzYsIDg5LCA4MiwgMTI4LCA3NiwgODksIDgwLCAxMjgsIAorICAgIDc2LCA4OSwgNzMsIDg0LCAxMjgsIDc2LCA4OSwgNjgsIDczLCA2NSwgMjA2LCA3NiwgODksIDY3LCA3MywgNjUsIDIwNiwgCisgICAgNzYsIDg4LCAxMjgsIDc2LCA4NywgNzksIDc5LCAxMjgsIDc2LCA4NywgNzksIDEyOCwgNzYsIDg3LCA3MywgNzMsIDEyOCwgCisgICAgNzYsIDg3LCA3MywgMTI4LCA3NiwgODcsIDY5LCAxMjgsIDc2LCA4NywgNjUsIDY1LCAxMjgsIDc2LCA4NywgNjUsIDEyOCwgCisgICAgNzYsIDg1LCA4OCwgMTI4LCA3NiwgODUsIDg1LCAxMjgsIDc2LCA4NSwgODQsIDEyOCwgNzYsIDg1LCA4MiwgODgsIDEyOCwgCisgICAgNzYsIDg1LCA4MCwgMTI4LCA3NiwgODUsIDc5LCA4OCwgMTI4LCA3NiwgODUsIDc5LCA4NCwgMTI4LCA3NiwgODUsIDc5LCAKKyAgICA4MCwgMTI4LCA3NiwgODUsIDc5LCAxMjgsIDc2LCA4NSwgNzgsIDcxLCA4MywgNzMsIDEyOCwgNzYsIDg1LCA3OCwgNjUsIAorICAgIDg0LCAxOTcsIDc2LCA4NSwgMjA1LCA3NiwgODUsIDc2LCAxMjgsIDc2LCA4NSwgNzMsIDgzLCAxMjgsIDc2LCA4NSwgNzIsIAorICAgIDg1LCA4MiwgMTI4LCA3NiwgODUsIDcyLCAxMjgsIDc2LCA4NSwgNzEsIDcxLCA2NSwgNzEsIDY5LCAxMjgsIDc2LCA4NSwgCisgICAgNzEsIDY1LCA3NiwgMTI4LCA3NiwgODUsIDcxLCA2NSwgMjA0LCA3NiwgODUsIDY5LCAxMjgsIDc2LCA4NSwgMTk3LCA3NiwgCisgICAgODUsIDY2LCAxMjgsIDc2LCA4NSwgNjUsIDY5LCA4MCwgMTI4LCA3NiwgODUsIDUxLCAxMjgsIDc2LCA4NSwgNTAsIDEyOCwgCisgICAgNzYsIDg1LCAxNzgsIDc2LCA4MiwgNzksIDEyOCwgNzYsIDgyLCA3NywgMTI4LCA3NiwgODIsIDczLCAxMjgsIDc2LCA4MiwgCisgICAgNjksIDEyOCwgNzYsIDc5LCA5MCwgNjksIDc4LCA3MSwgNjksIDEyOCwgNzYsIDc5LCA5MCwgNjksIDc4LCA3MSwgMTk3LCAKKyAgICA3NiwgNzksIDg4LCAxMjgsIDc2LCA3OSwgODcsIDY5LCA4MiwgNjksIDE5NiwgNzYsIDc5LCA4NywgNjksIDIxMCwgNzYsIAorICAgIDc5LCA4NywgNDUsIDgyLCA2OSwgODYsIDY5LCA4MiwgODMsIDY5LCA2OCwgNDUsIDE4NSwgNzYsIDc5LCA4NywgNDUsIDc3LCAKKyAgICA3MywgMTk2LCA3NiwgNzksIDg3LCA0NSwgNzAsIDY1LCA3NiwgNzYsIDczLCA3OCwgMTk5LCA3NiwgNzksIDg3LCA0NSwgCisgICAgMTg1LCA3NiwgNzksIDg2LCAxOTcsIDc2LCA3OSwgODUsIDgyLCA2OSwgMTI4LCA3NiwgNzksIDg1LCA2OCwgODMsIDgwLCAKKyAgICA2OSwgNjUsIDc1LCA2OSwgODIsIDEyOCwgNzYsIDc5LCA4NSwgNjgsIDc2LCAyMTcsIDc2LCA3OSwgODQsIDg1LCA4MywgCisgICAgMTI4LCA3NiwgNzksIDg0LCAxMjgsIDc2LCA3OSwgODIsIDgyLCA4OSwgMTI4LCA3NiwgNzksIDgyLCA4MiwgNjUsIDczLCAKKyAgICA3OCwgNjksIDEyOCwgNzYsIDc5LCA4MSwgMTI4LCA3NiwgNzksIDgwLCAxMjgsIDc2LCA3OSwgNzksIDg0LCAxMjgsIDc2LCAKKyAgICA3OSwgNzksIDgwLCA2OSwgMTk2LCA3NiwgNzksIDc5LCA4MCwgMTI4LCA3NiwgNzksIDc5LCAyMDgsIDc2LCA3OSwgNzksIAorICAgIDc4LCAxMjgsIDc2LCA3OSwgNzksIDIwMywgNzYsIDc5LCA3OSwgMTI4LCA3NiwgNzksIDc4LCA4MywgODUsIDc3LCAxMjgsIAorICAgIDc2LCA3OSwgNzgsIDcxLCA2NSwgMTI4LCA3NiwgNzksIDc4LCA3MSwgMTkzLCA3NiwgNzksIDc4LCA3MSwgNDUsIDY2LCA4MiwgCisgICAgNjUsIDc4LCA2NywgNzIsIDQ1LCA4OSwgODIsIDEyOCwgNzYsIDc5LCA3OCwgNzEsIDQ1LCA2NiwgODIsIDY1LCA3OCwgNjcsIAorICAgIDcyLCA0NSwgODMsIDc5LCAyMDQsIDc2LCA3OSwgNzgsIDcxLCA0NSwgNjYsIDgyLCA2NSwgNzgsIDY3LCA3MiwgNDUsIDc5LCAKKyAgICA4MywgMjExLCA3NiwgNzksIDc4LCA3MSwgNDUsIDY2LCA4MiwgNjUsIDc4LCA2NywgNzIsIDQ1LCA3NywgNjUsIDY4LCAyMTAsIAorICAgIDc2LCA3OSwgNzgsIDcxLCA0NSwgNjYsIDgyLCA2NSwgNzgsIDY3LCA3MiwgNDUsIDcyLCA2NSwgNzEsIDY1LCA3NiwgMjA0LCAKKyAgICA3NiwgNzksIDc4LCA3MSwgNDUsIDY2LCA4MiwgNjUsIDc4LCA2NywgNzIsIDQ1LCA2NSwgMjEwLCA3NiwgNzksIDc3LCA3NywgCisgICAgNjUsIDY5LCAxMjgsIDc2LCA3OSwgNzcsIDEyOCwgNzYsIDc5LCAyMDUsIDc2LCA3OSwgNzYsIDc2LCA3MywgODAsIDc5LCAKKyAgICA4MCwgMTI4LCA3NiwgNzksIDc2LCA3NiwgMTI4LCA3NiwgNzksIDcxLCAyMTAsIDc2LCA3OSwgNzEsIDc5LCA4NCwgODksIAorICAgIDgwLCAxOTcsIDc2LCA3OSwgNzEsIDc5LCA3MSwgODIsIDY1LCAyMDUsIDc2LCA3OSwgNzEsIDEyOCwgNzYsIDc5LCA2OCwgCisgICAgNjksIDgzLCA4NCwgNzksIDc4LCA2OSwgMTI4LCA3NiwgNzksIDY3LCA3OSwgNzcsIDc5LCA4NCwgNzMsIDg2LCA2OSwgMTI4LCAKKyAgICA3NiwgNzksIDY3LCA3NSwgNzMsIDc4LCA3MSwgNDUsIDgzLCA3MiwgNzMsIDcwLCAyMTIsIDc2LCA3OSwgNjcsIDIwMywgNzYsIAorICAgIDc5LCA2NywgNjUsIDg0LCA3MywgODYsIDY5LCAxMjgsIDc2LCA3OSwgNjcsIDY1LCA4NCwgNzMsIDc5LCAyMDYsIDc2LCA3OSwgCisgICAgNjUsIDEyOCwgNzYsIDc4LCAxMjgsIDc2LCA3NiwgODUsIDg1LCAxMjgsIDc2LCA3NiwgNzksIDc5LCAxMjgsIDc2LCA3NiwgCisgICAgNzYsIDg1LCA4NSwgMTI4LCA3NiwgNzYsIDc2LCA4NSwgMTI4LCA3NiwgNzYsIDc2LCA3OSwgNzksIDEyOCwgNzYsIDc2LCAKKyAgICA3NiwgNzksIDEyOCwgNzYsIDc2LCA3NiwgNzMsIDczLCAxMjgsIDc2LCA3NiwgNzYsIDczLCAxMjgsIDc2LCA3NiwgNzYsIAorICAgIDY5LCA2OSwgMTI4LCA3NiwgNzYsIDc2LCA2OSwgMTI4LCA3NiwgNzYsIDc2LCA2NSwgODUsIDEyOCwgNzYsIDc2LCA3NiwgCisgICAgNjUsIDczLCAxMjgsIDc2LCA3NiwgNzYsIDY1LCA2NSwgMTI4LCA3NiwgNzYsIDc2LCA2NSwgMTI4LCA3NiwgNzYsIDc2LCAKKyAgICAxMjgsIDc2LCA3NCwgODUsIDY4LCA3MywgNzQsIDY5LCAxMjgsIDc2LCA3NCwgNjksIDEyOCwgNzYsIDc0LCAxMjgsIDc2LCAKKyAgICA3MywgODgsIDEyOCwgNzYsIDczLCA4NywgNzgsIDEyOCwgNzYsIDczLCA4NiwgODIsIDE5NywgNzYsIDczLCA4NCwgODQsIAorICAgIDc2LCAxOTcsIDc2LCA3MywgODQsIDg0LCA2OSwgMjEwLCA3NiwgNzMsIDg0LCA4MiwgMTkzLCA3NiwgNzMsIDg0LCAyMDAsIAorICAgIDc2LCA3MywgODQsIDEyOCwgNzYsIDczLCA4MywgMjEzLCA3NiwgNzMsIDgzLCAxMjgsIDc2LCA3MywgODIsIDE5MywgNzYsIAorICAgIDczLCA4MSwgODUsIDczLCAxOTYsIDc2LCA3MywgODEsIDEyOCwgNzYsIDczLCA4MCwgODMsIDg0LCA3MywgNjcsIDc1LCAKKyAgICAxMjgsIDc2LCA3MywgNzgsIDc1LCA3MywgNzgsIDE5OSwgNzYsIDczLCA3OCwgNzUsIDY5LCAxOTYsIDc2LCA3MywgNzgsIAorICAgIDIwMywgNzYsIDczLCA3OCwgNzEsIDgzLCA2NSwgMTI4LCA3NiwgNzMsIDc4LCA2OSwgODMsIDEyOCwgNzYsIDczLCA3OCwgCisgICAgNjksIDIxMSwgNzYsIDczLCA3OCwgNjksIDQ1LCA1NywgMTI4LCA3NiwgNzMsIDc4LCA2OSwgNDUsIDU1LCAxMjgsIDc2LCAKKyAgICA3MywgNzgsIDY5LCA0NSwgNTEsIDEyOCwgNzYsIDczLCA3OCwgNjksIDQ1LCA0OSwgMTI4LCA3NiwgNzMsIDc3LCA3NywgODUsIAorICAgIDUyLCAxMjgsIDc2LCA3MywgNzcsIDc3LCA4NSwgNTAsIDEyOCwgNzYsIDczLCA3NywgNzcsIDg1LCAxMjgsIDc2LCA3MywgCisgICAgNzcsIDc3LCAyMTMsIDc2LCA3MywgNzcsIDczLCA4NCwgNjksIDE5NiwgNzYsIDczLCA3NywgNzMsIDg0LCA2NSwgODQsIDczLCAKKyAgICA3OSwgNzgsIDEyOCwgNzYsIDczLCA3NywgNzMsIDg0LCAxMjgsIDc2LCA3MywgNzcsIDY5LCAxMjgsIDc2LCA3MywgNzcsIAorICAgIDY2LCAyMTMsIDc2LCA3MywgNzYsIDg5LCAxMjgsIDc2LCA3MywgNzYsIDczLCA4NCwgNzIsIDEyOCwgNzYsIDczLCA3NiwgCisgICAgMTI4LCA3NiwgNzMsIDcxLCA3MiwgODQsIDc4LCA3MywgNzgsIDcxLCAxMjgsIDc2LCA3MywgNzEsIDcyLCA4NCwgNzgsIDczLCAKKyAgICA3OCwgMTk5LCA3NiwgNzMsIDcxLCA3MiwgODQsIDcyLCA3OSwgODUsIDgzLCA2OSwgMTI4LCA3NiwgNzMsIDcxLCA3MiwgODQsIAorICAgIDEyOCwgNzYsIDczLCA3MCwgODQsIDY5LCA4MiwgMTI4LCA3NiwgNzMsIDcwLCA2OSwgMTI4LCA3NiwgNzMsIDY5LCA4OCwgCiAgICAgMTI4LCA3NiwgNzMsIDY5LCA4NCwgMTI4LCA3NiwgNzMsIDY5LCA4MCwgMTI4LCA3NiwgNzMsIDY5LCA2OSwgMTI4LCA3NiwgCiAgICAgNzMsIDY5LCAxMjgsIDc2LCA3MywgNjgsIDEyOCwgNzYsIDczLCA2NiwgODIsIDY1LCAxMjgsIDc2LCA3MywgNjYsIDY5LCAKICAgICA4MiwgODQsIDg5LCAxMjgsIDc2LCA3MywgNjUsIDY2LCA3MywgNzYsIDczLCA4NCwgMjE3LCA3NiwgNzIsIDczLCA3MywgCiAgICAgMTI4LCA3NiwgNzIsIDY1LCA4NiwgNzMsIDg5LCA2NSwgNzgsIDczLCAxMjgsIDc2LCA3MiwgNjUsIDE5OSwgNzYsIDcyLCAKICAgICA2NSwgNjUsIDEyOCwgNzYsIDcyLCAxMjgsIDc2LCA2OSwgOTAsIDcyLCAxMjgsIDc2LCA2OSwgODgsIDEyOCwgNzYsIDY5LCAKLSAgICA4NiwgNjksIDIwNCwgNzYsIDY5LCA4NSwgNzcsIDEyOCwgNzYsIDY5LCA4NSwgNjUsIDY5LCA4MCwgMTI4LCA3NiwgNjksIAotICAgIDg1LCA2NSwgNjksIDc3LCAxMjgsIDc2LCA2OSwgODUsIDEyOCwgNzYsIDY5LCAyMTMsIDc2LCA2OSwgODQsIDg0LCA2OSwgCi0gICAgODIsIDgzLCAxMjgsIDc2LCA2OSwgODQsIDg0LCA2OSwgODIsIDEyOCwgNzYsIDY5LCAyMTIsIDc2LCA2OSwgODMsIDgzLCAKLSAgICA2OSwgMjEwLCA3NiwgNjksIDgzLCA4MywgNDUsIDg0LCA3MiwgNjUsIDc4LCAxMjgsIDc2LCA2OSwgODMsIDgzLCA0NSwgODQsIAotICAgIDcyLCA2NSwgMjA2LCA3NiwgNjksIDgwLCAxMjgsIDc2LCA2OSwgNzksIDgwLCA2NSwgODIsIDY4LCAxMjgsIDc2LCA2OSwgCi0gICAgNzksIDEyOCwgNzYsIDY5LCA3OCwgODQsIDczLCA2NywgODUsIDc2LCA2NSwgMjEwLCA3NiwgNjksIDc4LCA3MywgODMsIAotICAgIDEyOCwgNzYsIDY5LCA3OCwgNzEsIDg0LCA3MiwgNjksIDc4LCA2OSwgODIsIDEyOCwgNzYsIDY5LCA3OCwgNzEsIDg0LCAKLSAgICAyMDAsIDc2LCA2OSwgNzgsIDcxLCA2NSwgMTI4LCA3NiwgNjksIDc4LCA3MSwgMTkzLCA3NiwgNjksIDc3LCA3OSwgNzgsIAotICAgIDEyOCwgNzYsIDY5LCA3NywgNzksIDczLCAxMjgsIDc2LCA2OSwgNzYsIDY5LCA4NCwgMTI4LCA3NiwgNjksIDc2LCA2OSwgCi0gICAgMjEyLCA3NiwgNjksIDIwMywgNzYsIDY5LCA3MywgNzcsIDc3LCA2NSwgMTI4LCA3NiwgNjksIDczLCA3NywgNzcsIDE5MywgCi0gICAgNzYsIDY5LCA3MSwgODMsIDEyOCwgNzYsIDY5LCA3MSwgNzMsIDc5LCA3OCwgMTI4LCA3NiwgNjksIDcxLCA2OSwgODQsIDc5LCAKLSAgICAyMTEsIDc2LCA2OSwgNzEsIDEyOCwgNzYsIDY5LCA3MCwgODQsIDg3LCA2NSwgODIsIDY4LCA4MywgMTI4LCA3NiwgNjksIAotICAgIDcwLCA4NCwgNDUsIDg0LCA3OSwgNDUsIDgyLCA3MywgNzEsIDcyLCAyMTIsIDc2LCA2OSwgNzAsIDg0LCA0NSwgODMsIDg0LCAKLSAgICA2OSwgMjA1LCA3NiwgNjksIDcwLCA4NCwgNDUsIDgzLCA3MywgNjgsIDE5NywgNzYsIDY5LCA3MCwgODQsIDQ1LCA4MywgNzIsIAotICAgIDY1LCA2OCwgNjksIDE5NiwgNzYsIDY5LCA3MCwgODQsIDQ1LCA4MCwgNzksIDczLCA3OCwgODQsIDczLCA3OCwgMTk5LCA3NiwgCisgICAgODYsIDczLCA4NCwgNjUsIDg0LCA3MywgNzgsIDcxLCAxMjgsIDc2LCA2OSwgODUsIDc3LCAxMjgsIDc2LCA2OSwgODUsIDY1LCAKKyAgICA2OSwgODAsIDEyOCwgNzYsIDY5LCA4NSwgNjUsIDY5LCA3NywgMTI4LCA3NiwgNjksIDg1LCAxMjgsIDc2LCA2OSwgMjEzLCAKKyAgICA3NiwgNjksIDg0LCA4NCwgNjksIDgyLCA4MywgMTI4LCA3NiwgNjksIDg0LCA4NCwgNjksIDgyLCAxMjgsIDc2LCA2OSwgCisgICAgMjEyLCA3NiwgNjksIDgzLCA4MywgNjksIDIxMCwgNzYsIDY5LCA4MywgODMsIDQ1LCA4NCwgNzIsIDY1LCA3OCwgMTI4LCAKKyAgICA3NiwgNjksIDgzLCA4MywgNDUsIDg0LCA3MiwgNjUsIDIwNiwgNzYsIDY5LCA4MCwgNjcsIDcyLCAxOTMsIDc2LCA2OSwgODAsIAorICAgIDEyOCwgNzYsIDY5LCA3OSwgODAsIDY1LCA4MiwgNjgsIDEyOCwgNzYsIDY5LCA3OSwgMTI4LCA3NiwgNjksIDc4LCA4NCwgCisgICAgNzMsIDY3LCA4NSwgNzYsIDY1LCAyMTAsIDc2LCA2OSwgNzgsIDczLCA4MywgMTI4LCA3NiwgNjksIDc4LCA3MywgMjExLCAKKyAgICA3NiwgNjksIDc4LCA3MSwgODQsIDcyLCA2OSwgNzgsIDY5LCA4MiwgMTI4LCA3NiwgNjksIDc4LCA3MSwgODQsIDIwMCwgNzYsIAorICAgIDY5LCA3OCwgNzEsIDY1LCAxMjgsIDc2LCA2OSwgNzgsIDcxLCAxOTMsIDc2LCA2OSwgNzcsIDc5LCA3OCwgMTI4LCA3NiwgCisgICAgNjksIDc3LCA3OSwgNzMsIDEyOCwgNzYsIDY5LCA3NiwgNjksIDg0LCAxMjgsIDc2LCA2OSwgNzYsIDY5LCAyMTIsIDc2LCAKKyAgICA2OSwgMjAzLCA3NiwgNjksIDczLCA3NywgNzcsIDY1LCAxMjgsIDc2LCA2OSwgNzMsIDc3LCA3NywgMTkzLCA3NiwgNjksIAorICAgIDczLCAxMjgsIDc2LCA2OSwgNzEsIDgzLCAxMjgsIDc2LCA2OSwgNzEsIDczLCA3OSwgNzgsIDEyOCwgNzYsIDY5LCA3MSwgCisgICAgNjksIDg0LCA3OSwgMjExLCA3NiwgNjksIDcxLCAxMjgsIDc2LCA2OSwgMTk5LCA3NiwgNjksIDcwLCA4NCwgODcsIDY1LCAKKyAgICA4MiwgNjgsIDgzLCAxMjgsIDc2LCA2OSwgNzAsIDg0LCA0NSwgODQsIDc5LCA0NSwgODIsIDczLCA3MSwgNzIsIDIxMiwgNzYsIAorICAgIDY5LCA3MCwgODQsIDQ1LCA4MywgODQsIDY5LCAyMDUsIDc2LCA2OSwgNzAsIDg0LCA0NSwgODMsIDczLCA2OCwgMTk3LCA3NiwgCisgICAgNjksIDcwLCA4NCwgNDUsIDgzLCA3MiwgNjUsIDY4LCA2OSwgMTk2LCA3NiwgNjksIDcwLCA4NCwgNDUsIDgwLCA3OSwgNzMsIAorICAgIDc4LCA4NCwgNzMsIDc4LCAxOTksIDc2LCA2OSwgNzAsIDg0LCA0NSwgNzYsIDczLCA3MSwgNzIsIDg0LCA2OSwgMTk2LCA3NiwgCiAgICAgNjksIDcwLCA4NCwgNDUsIDcyLCA2NSwgNzgsIDY4LCA2OSwgMTk2LCA3NiwgNjksIDcwLCA4NCwgNDUsIDcyLCA2NSwgNzgsIAogICAgIDE5NiwgNzYsIDY5LCA3MCwgODQsIDQ1LCA3MCwgNjUsIDY3LCA3MywgNzgsIDE5OSwgNzYsIDY5LCA3MCwgODQsIDEyOCwgCiAgICAgNzYsIDY5LCA2OSwgODIsIDY1LCA2OSwgODcsIDY1LCAxMjgsIDc2LCA2OSwgNjksIDc1LCAxMjgsIDc2LCA2OSwgNjksIDY5LCAKQEAgLTIxODEsMTM3ICsyMzM2LDE1MSBAQAogICAgIDY5LCA2NSwgNjgsIDY5LCA4MiwgMTI4LCA3NiwgNjksIDY1LCAxOTYsIDc2LCA2OCwgNjUsIDc4LCAxMjgsIDc2LCA2OCwgCiAgICAgNTAsIDEyOCwgNzYsIDY3LCAyMDEsIDc2LCA2NywgMTk3LCA3NiwgNjUsIDkwLCAyMTcsIDc2LCA2NSwgODksIDY1LCA3OCwgCiAgICAgNzgsIDY1LCAxMjgsIDc2LCA2NSwgODgsIDEyOCwgNzYsIDY1LCA4NywgMTI4LCA3NiwgNjUsIDIxNSwgNzYsIDY1LCA4NSwgCi0gICAgNzYsIDY1LCAxMjgsIDc2LCA2NSwgODUsIDc1LCA2NSwgMjE4LCA3NiwgNjUsIDg0LCA3MywgNzgsIDY1LCA4NCwgMTk3LCAKLSAgICA3NiwgNjUsIDg0LCA3MywgNzUsIDEyOCwgNzYsIDY1LCA4NCwgNjksIDgyLCA2NSwgMjA0LCA3NiwgNjUsIDg0LCAxOTcsIAotICAgIDc2LCA2NSwgODMsIDIxMiwgNzYsIDY1LCA4MiwgODksIDc4LCA3MSwgNjksIDY1LCAyMDQsIDc2LCA2NSwgODIsIDcxLCA2OSwgCi0gICAgMjEwLCA3NiwgNjUsIDgyLCA3MSwgNjksIDEyOCwgNzYsIDY1LCA4MiwgNzEsIDE5NywgNzYsIDY1LCA4MSwgMTI4LCA3NiwgCi0gICAgNjUsIDgwLCA2NSwgODEsIDEyOCwgNzYsIDY1LCA4MCwgMTI4LCA3NiwgNjUsIDc4LCA4NCwgNjksIDgyLCA3OCwgMTI4LCAKLSAgICA3NiwgNjUsIDc4LCA3MSwgODUsIDY1LCA3MSwgMTk3LCA3NiwgNjUsIDc4LCA2OSwgODMsIDEyOCwgNzYsIDY1LCA3NywgNjksIAotICAgIDY4LCA3MiwgMTI4LCA3NiwgNjUsIDc3LCA2OSwgNjgsIDEyOCwgNzYsIDY1LCA3NywgNjksIDE5NiwgNzYsIDY1LCA3NywgCi0gICAgNjksIDEyOCwgNzYsIDY1LCA3NywgMTk3LCA3NiwgNjUsIDc3LCA2OCwgNjUsIDEyOCwgNzYsIDY1LCA3NywgNjgsIDEyOCwgCi0gICAgNzYsIDY1LCA3NywgNjYsIDY4LCAxOTMsIDc2LCA2NSwgNzcsIDY1LCA2OCwgNzIsIDEyOCwgNzYsIDY1LCA3NiwgMTI4LCAKLSAgICA3NiwgNjUsIDIwNCwgNzYsIDY1LCA3NSwgNzUsIDcyLCA2NSwgNzgsIDcxLCA4OSwgNjUsIDc5LCAxMjgsIDc2LCA2NSwgNzQsIAotICAgIDY1LCA3OCwgODksIDY1LCA3NiwgNjUsIDc4LCAxMjgsIDc2LCA2NSwgMjAxLCA3NiwgNjUsIDcyLCA4MywgNzIsIDg1LCAKLSAgICAxMjgsIDc2LCA2NSwgNzIsIDEyOCwgNzYsIDY1LCA3MSwgODUsIDgzLCAxMjgsIDc2LCA2NSwgNzEsIDIxMywgNzYsIDY1LCAKLSAgICA3MSwgNjUsIDgyLCAxMjgsIDc2LCA2NSwgNzEsIDY1LCAyMTAsIDc2LCA2NSwgNzEsIDY1LCA2NiwgMTI4LCA3NiwgNjUsIAotICAgIDcxLCA2NSwgMTk0LCA3NiwgNjUsIDY5LCA4NiwgMTI4LCA3NiwgNjUsIDY5LCAxMjgsIDc2LCA2NSwgNjgsIDIxNywgNzYsIAotICAgIDY1LCA2NywgNzUsIDEyOCwgNzYsIDY1LCA2NywgNjUsIDEyOCwgNzYsIDY1LCA2NiwgNzksIDg1LCA4MiwgNzMsIDc4LCA3MSwgCi0gICAgMTI4LCA3NiwgNjUsIDY2LCA3OSwgODIsIDEyOCwgNzYsIDY1LCA2NiwgNzMsIDY1LCA3NiwgNzMsIDkwLCA2NSwgODQsIDczLCAKLSAgICA3OSwgMjA2LCA3NiwgNjUsIDY2LCA3MywgNjUsIDIwNCwgNzYsIDY1LCA2NiwgNjUsIDg0LCAxMjgsIDc2LCA2NSwgNjUsIAotICAgIDc4LCA2NSwgNjksIDEyOCwgNzYsIDY1LCA2NSwgNzgsIDEyOCwgNzYsIDY1LCA2NSwgNzcsIDg1LCAxMjgsIDc2LCA2NSwgCi0gICAgNjUsIDc3LCAxMjgsIDc2LCA2NSwgNjUsIDczLCAxMjgsIDc2LCA0OCwgNDgsIDU0LCA2NSwgMTI4LCA3NiwgNDgsIDQ4LCAKLSAgICA1MCwgNjUsIDEyOCwgNzYsIDQ1LCA4NCwgODksIDgwLCAxOTcsIDc2LCA0NSwgODMsIDcyLCA2NSwgODAsIDY5LCAxOTYsIAotICAgIDc1LCA4OSwgODUsIDgyLCA3MywgNzMsIDEyOCwgNzUsIDg5LCA4NSwgMTI4LCA3NSwgODksIDc5LCAxMjgsIDc1LCA4OSwgCi0gICAgNzYsIDczLCA4MywgNzcsIDY1LCAxMjgsIDc1LCA4OSwgNzMsIDEyOCwgNzUsIDg5LCA2OSwgMTI4LCA3NSwgODksIDY1LCAKLSAgICA4NCwgNzIsIDc5LCAyMTEsIDc1LCA4OSwgNjUsIDY1LCAxMjgsIDc1LCA4OSwgNjUsIDEyOCwgNzUsIDg4LCA4NywgNzMsIAotICAgIDEyOCwgNzUsIDg4LCA4NywgNjksIDY5LCAxMjgsIDc1LCA4OCwgODcsIDY5LCAxMjgsIDc1LCA4OCwgODcsIDY1LCA2NSwgCi0gICAgMTI4LCA3NSwgODgsIDg3LCA2NSwgMTI4LCA3NSwgODgsIDg1LCAxMjgsIDc1LCA4OCwgNzksIDEyOCwgNzUsIDg4LCA3MywgCi0gICAgMTI4LCA3NSwgODgsIDY5LCA2OSwgMTI4LCA3NSwgODgsIDY5LCAxMjgsIDc1LCA4OCwgNjUsIDY1LCAxMjgsIDc1LCA4OCwgCi0gICAgNjUsIDEyOCwgNzUsIDg3LCA4NSwgNTEsIDQ5LCA1NiwgMTI4LCA3NSwgODcsIDc5LCA3OSwgMTI4LCA3NSwgODcsIDc5LCAKLSAgICAxMjgsIDc1LCA4NywgNzMsIDczLCAxMjgsIDc1LCA4NywgNzMsIDEyOCwgNzUsIDg3LCA2OSwgNjksIDEyOCwgNzUsIDg3LCAKLSAgICA2OSwgMTI4LCA3NSwgODcsIDY1LCA4OSwgMTI4LCA3NSwgODcsIDY1LCA2OSwgODQsIDEyOCwgNzUsIDg3LCA2NSwgNjUsIAotICAgIDEyOCwgNzUsIDg2LCA2NSwgMTI4LCA3NSwgODYsIDEyOCwgNzUsIDg1LCA4OCwgMTI4LCA3NSwgODUsIDg1LCA3MiwgMTI4LCAKLSAgICA3NSwgODUsIDg0LCAxMjgsIDc1LCA4NSwgODMsIDc3LCA2NSwgMTI4LCA3NSwgODUsIDgzLCA3MiwgODUsIDUwLCAxMjgsIAotICAgIDc1LCA4NSwgODIsIDg4LCAxMjgsIDc1LCA4NSwgODIsIDg1LCA5MCwgNjksIDczLCA4MiwgNzksIDEyOCwgNzUsIDg1LCA4MiwgCi0gICAgODQsIDEyOCwgNzUsIDg1LCA4MiwgNzksIDc5LCA3OCwgNjksIDEyOCwgNzUsIDg1LCA4MiwgMTI4LCA3NSwgODUsIDIxMCwgCi0gICAgNzUsIDg1LCA4MSwgMTI4LCA3NSwgODUsIDc5LCA4OCwgMTI4LCA3NSwgODUsIDc5LCA4MCwgMTI4LCA3NSwgODUsIDc5LCAKLSAgICAyMDgsIDc1LCA4NSwgNzksIDc3LCAxMjgsIDc1LCA4NSwgNzksIDEyOCwgNzUsIDg1LCA3OCwgNzEsIDEyOCwgNzUsIDg1LCAKLSAgICA3OCwgNjgsIDY4LCA2NSwgNzYsIDczLCA4OSwgNjUsIDEyOCwgNzUsIDg1LCA3NiwgMTI4LCA3NSwgODUsIDIwNCwgNzUsIAotICAgIDg1LCA2OSwgODQsIDEyOCwgNzUsIDg1LCA1NSwgMTI4LCA3NSwgODUsIDUyLCAxMjgsIDc1LCA4NSwgMTgwLCA3NSwgODUsIAotICAgIDUxLCAxMjgsIDc1LCA4NSwgMTc5LCA3NSwgODQsIDEyOCwgNzUsIDgzLCA4MywgODUsIDg1LCAxMjgsIDc1LCA4MywgODMsIAotICAgIDg1LCAxMjgsIDc1LCA4MywgODMsIDc5LCA3OSwgMTI4LCA3NSwgODMsIDgzLCA3OSwgMTI4LCA3NSwgODMsIDgzLCA3MywgCi0gICAgNzMsIDEyOCwgNzUsIDgzLCA4MywgNzMsIDEyOCwgNzUsIDgzLCA4MywgNjksIDY5LCAxMjgsIDc1LCA4MywgODMsIDY5LCAKLSAgICAxMjgsIDc1LCA4MywgODMsIDY1LCA4NSwgMTI4LCA3NSwgODMsIDgzLCA2NSwgNzMsIDEyOCwgNzUsIDgzLCA4MywgNjUsIAotICAgIDY1LCAxMjgsIDc1LCA4MywgODMsIDY1LCAxMjgsIDc1LCA4MywgODMsIDEyOCwgNzUsIDgzLCA3MywgMTI4LCA3NSwgODIsIAotICAgIDY5LCA3NywgNjUsIDgzLCA4NCwgNzMsIDEyOCwgNzUsIDgyLCA2NSwgODQsIDczLCA3NywgNzksIDg5LCA4MCwgNzksIDgyLCAKLSAgICA4MiwgNzksIDc5LCA3OCwgMTI4LCA3NSwgODIsIDY1LCA4NCwgNzMsIDc3LCA3OSwgNzUsIDc5LCA4NSwgNzAsIDczLCA4MywgCi0gICAgNzcsIDY1LCAxMjgsIDc1LCA4MiwgNjUsIDg0LCA3MywgNzcsIDY1LCA4NCwgNjUsIDEyOCwgNzUsIDgyLCA2NSwgODQsIDczLCAKLSAgICA3NywgMTkzLCA3NSwgODAsIDg1LCAxMjgsIDc1LCA4MCwgNzksIDgxLCAxMjgsIDc1LCA4MCwgNzksIDc5LCAxMjgsIDc1LCAKLSAgICA4MCwgNzksIDEyOCwgNzUsIDgwLCA3MywgMTI4LCA3NSwgODAsIDY5LCA4NSwgODgsIDEyOCwgNzUsIDgwLCA2OSwgNjksIAotICAgIDEyOCwgNzUsIDgwLCA2OSwgMTI4LCA3NSwgODAsIDY1LCA4MiwgNjUsIDgxLCAxMjgsIDc1LCA4MCwgNjUsIDc4LCAxMjgsIAotICAgIDc1LCA4MCwgNjUsIDEyOCwgNzUsIDc5LCA4OCwgMTI4LCA3NSwgNzksIDg2LCA4NSwgODUsIDEyOCwgNzUsIDc5LCA4NCwgCi0gICAgNzksIDEyOCwgNzUsIDc5LCA4MiwgODUsIDc4LCA2NSwgMTI4LCA3NSwgNzksIDgyLCA3OSwgNzgsIDczLCA4MywgMTI4LCAKLSAgICA3NSwgNzksIDgyLCA2OSwgNjUsIDIwNiwgNzUsIDc5LCA4MiwgNjUsIDc4LCA3MywgMTk1LCA3NSwgNzksIDgxLCA3OCwgNjgsIAotICAgIDc5LCA3OCwgMTI4LCA3NSwgNzksIDgwLCA4MCwgNjUsIDEyOCwgNzUsIDc5LCA4MCwgMTI4LCA3NSwgNzksIDc5LCA4MCwgCi0gICAgNzksIDEyOCwgNzUsIDc5LCA3OSwgNzcsIDg1LCA4NSwgODQsIDEyOCwgNzUsIDc5LCA3OSwgMTI4LCA3NSwgNzksIDc4LCAKLSAgICA4NCwgNjksIDg2LCA3NywgNjUsIDEyOCwgNzUsIDc5LCA3OCwgODQsIDY5LCA4NiwgNzcsIDE5MywgNzUsIDc5LCA3NywgCi0gICAgMjAxLCA3NSwgNzksIDc3LCA2NiwgODUsIDg2LCA2NSwgMTI4LCA3NSwgNzksIDc3LCA2NiwgODUsIDg2LCAxOTMsIDc1LCAKLSAgICA3OSwgNzcsIDY2LCAyMTMsIDc1LCA3OSwgNzUsIDc5LCAxMjgsIDc1LCA3OSwgNzUsIDEyOCwgNzUsIDc5LCAyMDMsIDc1LCAKKyAgICA3NiwgNjUsIDEyOCwgNzYsIDY1LCA4NSwgNzUsIDY1LCAyMTgsIDc2LCA2NSwgODUsIDc0LCAxMjgsIDc2LCA2NSwgODQsIAorICAgIDczLCA3OCwgNjUsIDg0LCAxOTcsIDc2LCA2NSwgODQsIDczLCA3NSwgMTI4LCA3NiwgNjUsIDg0LCA2OSwgODIsIDY1LCAKKyAgICAyMDQsIDc2LCA2NSwgODQsIDE5NywgNzYsIDY1LCA4MywgMjEyLCA3NiwgNjUsIDgyLCA4OSwgNzgsIDcxLCA2OSwgNjUsIAorICAgIDIwNCwgNzYsIDY1LCA4MiwgNzEsIDY5LCAyMTAsIDc2LCA2NSwgODIsIDcxLCA2OSwgMTI4LCA3NiwgNjUsIDgyLCA3MSwgCisgICAgMTk3LCA3NiwgNjUsIDgxLCAxMjgsIDc2LCA2NSwgODAsIDY1LCA4MSwgMTI4LCA3NiwgNjUsIDIwNywgNzYsIDY1LCA3OCwgCisgICAgODQsIDY5LCA4MiwgNzgsIDEyOCwgNzYsIDY1LCA3OCwgNzEsIDg1LCA2NSwgNzEsIDE5NywgNzYsIDY1LCA3OCwgNjksIDgzLCAKKyAgICAxMjgsIDc2LCA2NSwgNzgsIDEyOCwgNzYsIDY1LCA3NywgODAsIDEyOCwgNzYsIDY1LCA3NywgNjksIDY4LCA3MiwgMTI4LCAKKyAgICA3NiwgNjUsIDc3LCA2OSwgNjgsIDEyOCwgNzYsIDY1LCA3NywgNjksIDE5NiwgNzYsIDY1LCA3NywgNjksIDEyOCwgNzYsIAorICAgIDY1LCA3NywgMTk3LCA3NiwgNjUsIDc3LCA2OCwgNjUsIDEyOCwgNzYsIDY1LCA3NywgNjgsIDEyOCwgNzYsIDY1LCA3NywgCisgICAgNjYsIDY4LCAxOTMsIDc2LCA2NSwgNzcsIDY1LCA2OCwgNzIsIDEyOCwgNzYsIDY1LCA3NiwgMTI4LCA3NiwgNjUsIDIwNCwgCisgICAgNzYsIDY1LCA3NSwgNzUsIDcyLCA2NSwgNzgsIDcxLCA4OSwgNjUsIDc5LCAxMjgsIDc2LCA2NSwgNzQsIDY1LCA3OCwgODksIAorICAgIDY1LCA3NiwgNjUsIDc4LCAxMjgsIDc2LCA2NSwgNzMsIDc4LCAxOTksIDc2LCA2NSwgMjAxLCA3NiwgNjUsIDcyLCA4MywgCisgICAgNzIsIDg1LCAxMjgsIDc2LCA2NSwgNzIsIDEyOCwgNzYsIDY1LCA3MSwgODUsIDgzLCAxMjgsIDc2LCA2NSwgNzEsIDIxMywgCisgICAgNzYsIDY1LCA3MSwgNjUsIDgyLCAxMjgsIDc2LCA2NSwgNzEsIDY1LCAyMTAsIDc2LCA2NSwgNzEsIDY1LCA2NiwgMTI4LCAKKyAgICA3NiwgNjUsIDcxLCA2NSwgMTk0LCA3NiwgNjUsIDY5LCA4NiwgMTI4LCA3NiwgNjUsIDY5LCAxMjgsIDc2LCA2NSwgNjgsIAorICAgIDIxNywgNzYsIDY1LCA2NywgNzUsIDEyOCwgNzYsIDY1LCA2NywgNjUsIDEyOCwgNzYsIDY1LCA2NiwgNzksIDg1LCA4MiwgCisgICAgNzMsIDc4LCA3MSwgMTI4LCA3NiwgNjUsIDY2LCA3OSwgODIsIDEyOCwgNzYsIDY1LCA2NiwgNzMsIDY1LCA3NiwgNzMsIDkwLCAKKyAgICA2NSwgODQsIDczLCA3OSwgMjA2LCA3NiwgNjUsIDY2LCA3MywgNjUsIDIwNCwgNzYsIDY1LCA2NiwgNjksIDc2LCAxMjgsIAorICAgIDc2LCA2NSwgNjYsIDY1LCA4NCwgMTI4LCA3NiwgNjUsIDY1LCA3OCwgNjUsIDY5LCAxMjgsIDc2LCA2NSwgNjUsIDc4LCAKKyAgICAxMjgsIDc2LCA2NSwgNjUsIDc3LCA4NSwgMTI4LCA3NiwgNjUsIDY1LCA3NywgMTI4LCA3NiwgNjUsIDY1LCA3MywgMTI4LCAKKyAgICA3NiwgNTQsIDEyOCwgNzYsIDUyLCAxMjgsIDc2LCA1MSwgMTI4LCA3NiwgNTAsIDEyOCwgNzYsIDQ4LCA0OCwgNTQsIDY1LCAKKyAgICAxMjgsIDc2LCA0OCwgNDgsIDUwLCA2NSwgMTI4LCA3NiwgNDUsIDg0LCA4OSwgODAsIDE5NywgNzYsIDQ1LCA4MywgNzIsIAorICAgIDY1LCA4MCwgNjksIDE5NiwgNzUsIDg5LCA4NSwgODIsIDczLCA3MywgMTI4LCA3NSwgODksIDg1LCAxMjgsIDc1LCA4OSwgCisgICAgNzksIDEyOCwgNzUsIDg5LCA3NiwgNzMsIDgzLCA3NywgNjUsIDEyOCwgNzUsIDg5LCA3MywgMTI4LCA3NSwgODksIDY5LCAKKyAgICAxMjgsIDc1LCA4OSwgNjUsIDg0LCA3MiwgNzksIDIxMSwgNzUsIDg5LCA2NSwgNjUsIDEyOCwgNzUsIDg5LCA2NSwgMTI4LCAKKyAgICA3NSwgODgsIDg3LCA3MywgMTI4LCA3NSwgODgsIDg3LCA2OSwgNjksIDEyOCwgNzUsIDg4LCA4NywgNjksIDEyOCwgNzUsIAorICAgIDg4LCA4NywgNjUsIDY1LCAxMjgsIDc1LCA4OCwgODcsIDY1LCAxMjgsIDc1LCA4OCwgODUsIDEyOCwgNzUsIDg4LCA3OSwgCisgICAgMTI4LCA3NSwgODgsIDczLCAxMjgsIDc1LCA4OCwgNjksIDY5LCAxMjgsIDc1LCA4OCwgNjksIDEyOCwgNzUsIDg4LCA2NSwgCisgICAgNjUsIDEyOCwgNzUsIDg4LCA2NSwgMTI4LCA3NSwgODcsIDg2LCAxMjgsIDc1LCA4NywgODUsIDUxLCA0OSwgNTYsIDEyOCwgCisgICAgNzUsIDg3LCA3OSwgNzksIDEyOCwgNzUsIDg3LCA3OSwgMTI4LCA3NSwgODcsIDc3LCAxMjgsIDc1LCA4NywgNzMsIDczLCAKKyAgICAxMjgsIDc1LCA4NywgNzMsIDEyOCwgNzUsIDg3LCA2OSwgNjksIDEyOCwgNzUsIDg3LCA2OSwgMTI4LCA3NSwgODcsIDY2LCAKKyAgICAxMjgsIDc1LCA4NywgNjUsIDg5LCAxMjgsIDc1LCA4NywgNjUsIDY5LCA4NCwgMTI4LCA3NSwgODcsIDY1LCA2NSwgMTI4LCAKKyAgICA3NSwgODYsIDY1LCAxMjgsIDc1LCA4NiwgMTI4LCA3NSwgODUsIDg4LCAxMjgsIDc1LCA4NSwgODYsIDEyOCwgNzUsIDg1LCAKKyAgICA4NSwgNzIsIDEyOCwgNzUsIDg1LCA4NCwgMTI4LCA3NSwgODUsIDgzLCA3NywgNjUsIDEyOCwgNzUsIDg1LCA4MywgNzIsIAorICAgIDg1LCA1MCwgMTI4LCA3NSwgODUsIDgyLCA4OCwgMTI4LCA3NSwgODUsIDgyLCA4NSwgOTAsIDY5LCA3MywgODIsIDc5LCAKKyAgICAxMjgsIDc1LCA4NSwgODIsIDg0LCAxMjgsIDc1LCA4NSwgODIsIDc5LCA3OSwgNzgsIDY5LCAxMjgsIDc1LCA4NSwgODIsIAorICAgIDEyOCwgNzUsIDg1LCAyMTAsIDc1LCA4NSwgODEsIDEyOCwgNzUsIDg1LCA3OSwgODgsIDEyOCwgNzUsIDg1LCA3OSwgODAsIAorICAgIDEyOCwgNzUsIDg1LCA3OSwgMjA4LCA3NSwgODUsIDc5LCA3NywgMTI4LCA3NSwgODUsIDc5LCAxMjgsIDc1LCA4NSwgNzgsIAorICAgIDcxLCAxMjgsIDc1LCA4NSwgNzgsIDY4LCA2OCwgNjUsIDc2LCA3MywgODksIDY1LCAxMjgsIDc1LCA4NSwgNzYsIDEyOCwgCisgICAgNzUsIDg1LCAyMDQsIDc1LCA4NSwgNzEsIDEyOCwgNzUsIDg1LCA2OSwgODQsIDEyOCwgNzUsIDg1LCA2NiwgMTI4LCA3NSwgCisgICAgODUsIDY1LCA4NiwgMTI4LCA3NSwgODUsIDY1LCA2NiwgMTI4LCA3NSwgODUsIDY1LCAxMjgsIDc1LCA4NSwgNTUsIDEyOCwgCisgICAgNzUsIDg1LCA1MiwgMTI4LCA3NSwgODUsIDE4MCwgNzUsIDg1LCA1MSwgMTI4LCA3NSwgODUsIDE3OSwgNzUsIDg0LCAxMjgsIAorICAgIDc1LCA4MywgODMsIDg1LCA4NSwgMTI4LCA3NSwgODMsIDgzLCA4NSwgMTI4LCA3NSwgODMsIDgzLCA3OSwgNzksIDEyOCwgCisgICAgNzUsIDgzLCA4MywgNzksIDEyOCwgNzUsIDgzLCA4MywgNzMsIDczLCAxMjgsIDc1LCA4MywgODMsIDczLCAxMjgsIDc1LCAKKyAgICA4MywgODMsIDY5LCA2OSwgMTI4LCA3NSwgODMsIDgzLCA2OSwgMTI4LCA3NSwgODMsIDgzLCA2NSwgODUsIDEyOCwgNzUsIAorICAgIDgzLCA4MywgNjUsIDczLCAxMjgsIDc1LCA4MywgODMsIDY1LCA2NSwgMTI4LCA3NSwgODMsIDgzLCA2NSwgMTI4LCA3NSwgCisgICAgODMsIDgzLCAxMjgsIDc1LCA4MywgNzMsIDEyOCwgNzUsIDgyLCA2OSwgNzcsIDY1LCA4MywgODQsIDczLCAxMjgsIDc1LCAKKyAgICA4MiwgNjUsIDg0LCA3MywgNzcsIDc5LCA4OSwgODAsIDc5LCA4MiwgODIsIDc5LCA3OSwgNzgsIDEyOCwgNzUsIDgyLCA2NSwgCisgICAgODQsIDczLCA3NywgNzksIDc1LCA3OSwgODUsIDcwLCA3MywgODMsIDc3LCA2NSwgMTI4LCA3NSwgODIsIDY1LCA4NCwgNzMsIAorICAgIDc3LCA2NSwgODQsIDY1LCAxMjgsIDc1LCA4MiwgNjUsIDg0LCA3MywgNzcsIDE5MywgNzUsIDgwLCA4NSwgMTI4LCA3NSwgCisgICAgODAsIDc5LCA4MSwgMTI4LCA3NSwgODAsIDc5LCA3OSwgMTI4LCA3NSwgODAsIDc5LCAxMjgsIDc1LCA4MCwgNzMsIDEyOCwgCisgICAgNzUsIDgwLCA2OSwgODUsIDg4LCAxMjgsIDc1LCA4MCwgNjksIDY5LCAxMjgsIDc1LCA4MCwgNjksIDEyOCwgNzUsIDgwLCAKKyAgICA2NSwgODIsIDY1LCA4MSwgMTI4LCA3NSwgODAsIDY1LCA3OCwgMTI4LCA3NSwgODAsIDY1LCA3MiwgMTI4LCA3NSwgODAsIAorICAgIDY1LCAxMjgsIDc1LCA3OSwgODgsIDEyOCwgNzUsIDc5LCA4NiwgODUsIDg1LCAxMjgsIDc1LCA3OSwgODYsIDEyOCwgNzUsIAorICAgIDc5LCA4NCwgNzksIDEyOCwgNzUsIDc5LCA4MiwgODUsIDc4LCA2NSwgMTI4LCA3NSwgNzksIDgyLCA3OSwgNzgsIDczLCA4MywgCisgICAgMTI4LCA3NSwgNzksIDgyLCA2OSwgNjUsIDIwNiwgNzUsIDc5LCA4MiwgNjUsIDc4LCA3MywgMTk1LCA3NSwgNzksIDgxLCAKKyAgICA3OCwgNjgsIDc5LCA3OCwgMTI4LCA3NSwgNzksIDgwLCA4MCwgNjUsIDEyOCwgNzUsIDc5LCA4MCwgMTI4LCA3NSwgNzksIAorICAgIDc5LCA4NiwgMTI4LCA3NSwgNzksIDc5LCA4MCwgNzksIDEyOCwgNzUsIDc5LCA3OSwgNzcsIDg1LCA4NSwgODQsIDEyOCwgCisgICAgNzUsIDc5LCA3OSwgNjYsIDEyOCwgNzUsIDc5LCA3OSwgMTI4LCA3NSwgNzksIDc4LCA4NCwgNjksIDg2LCA3NywgNjUsIAorICAgIDEyOCwgNzUsIDc5LCA3OCwgODQsIDY5LCA4NiwgNzcsIDE5MywgNzUsIDc5LCA3NywgMjAxLCA3NSwgNzksIDc3LCA2NiwgCisgICAgODUsIDg2LCA2NSwgMTI4LCA3NSwgNzksIDc3LCA2NiwgODUsIDg2LCAxOTMsIDc1LCA3OSwgNzcsIDY2LCAyMTMsIDc1LCAKKyAgICA3OSwgNzUsIDc5LCAxMjgsIDc1LCA3OSwgNzUsIDY5LCAxMjgsIDc1LCA3OSwgNzUsIDEyOCwgNzUsIDc5LCAyMDMsIDc1LCAKICAgICA3OSwgNzMsIDEyOCwgNzUsIDc5LCAyMDEsIDc1LCA3OSwgNzIsIDEyOCwgNzUsIDc5LCA3MSwgNzIsIDc5LCA3NywgMTI4LCAKLSAgICA3NSwgNzksIDY5LCA4NCwgMTI4LCA3NSwgNzksIDY1LCA3NiwgNjUsIDEyOCwgNzUsIDc5LCA2NSwgMTI4LCA3NSwgNzgsIAotICAgIDczLCA3MSwgNzIsIDg0LCAxMjgsIDc1LCA3OCwgNzMsIDcxLCA3MiwgMjEyLCA3NSwgNzgsIDczLCA3MCwgNjksIDEyOCwgCi0gICAgNzUsIDc4LCA3MywgNzAsIDE5NywgNzUsIDc3LCAxMjgsIDc1LCAyMDUsIDc1LCA3NiwgNzMsIDg0LCA3OSwgNzgsIDEyOCwgCi0gICAgNzUsIDc2LCA2NSwgODMsIDc3LCA2NSwgMTI4LCA3NSwgNzYsIDY1LCA4MywgNzcsIDE5MywgNzUsIDc2LCA2NSwgMTI4LCAKLSAgICA3NSwgNzYsIDEyOCwgNzUsIDc1LCA4NSwgMTI4LCA3NSwgNzUsIDc5LCAxMjgsIDc1LCA3NSwgNzMsIDEyOCwgNzUsIDc1LCAKLSAgICA2OSwgNjksIDEyOCwgNzUsIDc1LCA2OSwgMTI4LCA3NSwgNzUsIDY1LCAxMjgsIDc1LCA3NSwgMTI4LCA3NSwgNzQsIDY5LCAKLSAgICAxMjgsIDc1LCA3MywgODksIDY5LCA3OSwgNzUsIDQ1LCA4NCwgNzMsIDc1LCA2OSwgODUsIDg0LCAxMjgsIDc1LCA3MywgODksIAotICAgIDY5LCA3OSwgNzUsIDQ1LCA4MywgNzMsIDc5LCA4MywgNDUsIDc1LCA3MywgODksIDY5LCA3OSwgNzUsIDEyOCwgNzUsIDczLCAKLSAgICA4OSwgNjksIDc5LCA3NSwgNDUsIDgyLCA3MywgNjksIDg1LCA3NiwgMTI4LCA3NSwgNzMsIDg5LCA2OSwgNzksIDc1LCA0NSwgCi0gICAgODAsIDczLCA2OSwgODUsIDgwLCAxMjgsIDc1LCA3MywgODksIDY5LCA3OSwgNzUsIDQ1LCA3OCwgNzMsIDY5LCA4NSwgNzgsIAotICAgIDEyOCwgNzUsIDczLCA4OSwgNjksIDc5LCA3NSwgNDUsIDc1LCA3MiwgNzMsIDY5LCA4NSwgNzUsIDcyLCAxMjgsIDc1LCA3MywgCi0gICAgODksIDY5LCA3OSwgNzUsIDQ1LCA2NywgNzIsIDczLCA2OSwgODUsIDY3LCA3MiwgMTI4LCA3NSwgNzMsIDg5LCA2OSwgNzksIAotICAgIDIwMywgNzUsIDczLCA4OCwgMTI4LCA3NSwgNzMsIDg0LCAxMjgsIDc1LCA3MywgODMsIDgzLCA3MywgNzgsIDE5OSwgNzUsIAotICAgIDczLCA4MywgODMsIDEyOCwgNzUsIDczLCA4MywgMjExLCA3NSwgNzMsIDgzLCA3MywgNzcsIDUzLCAxMjgsIDc1LCA3MywgCi0gICAgODMsIDczLCA3NywgMTgxLCA3NSwgNzMsIDgzLCA3MiwgMTI4LCA3NSwgNzMsIDgzLCA2NSwgNzYsIDEyOCwgNzUsIDczLCAKLSAgICA4MiwgNzksIDg3LCA2NSwgODQsIDg0LCA3OSwgMTI4LCA3NSwgNzMsIDgyLCA3OSwgNzcsIDY5LCA2OSwgODQsIDc5LCA4MiwgCi0gICAgODUsIDEyOCwgNzUsIDczLCA4MiwgNzksIDcxLCA4NSwgODIsIDY1LCA3NywgODUsIDEyOCwgNzUsIDczLCA4MiwgNzksIAotICAgIDEyOCwgNzUsIDczLCA4MiwgNzEsIDcyLCA3MywgMjE4LCA3NSwgNzMsIDgxLCAxMjgsIDc1LCA3MywgODAsIDEyOCwgNzUsIAotICAgIDczLCAyMDgsIDc1LCA3MywgNzgsIDgzLCA3MiwgNzMsIDgwLCAxMjgsIDc1LCA3MywgNzgsIDY4LCA2OSwgODIsIDcxLCA2NSwgCi0gICAgODIsIDg0LCA2OSwgNzgsIDEyOCwgNzUsIDczLCA3NywgNzksIDc4LCA3OSwgMTI4LCA3NSwgNzMsIDczLCAxMjgsIDc1LCAKLSAgICA3MywgNzIsIDEyOCwgNzUsIDczLCA2OSwgODgsIDEyOCwgNzUsIDczLCA2OSwgODAsIDEyOCwgNzUsIDczLCA2OSwgNjksIAotICAgIDc3LCAxMjgsIDc1LCA3MywgNjksIDEyOCwgNzUsIDczLCA2OCwgMTI4LCA3NSwgNzMsIDE5NiwgNzUsIDczLCA2NywgNzUsIAotICAgIDEyOCwgNzUsIDcyLCA5MCwgMTI4LCA3NSwgNzIsIDg3LCA2NSwgNzMsIDEyOCwgNzUsIDcyLCA4NSwgNjksIDc4LCA0NSwgCi0gICAgNzYsIDg1LCAxOTcsIDc1LCA3MiwgODUsIDY5LCAyMDYsIDc1LCA3MiwgODUsIDY4LCA2NSwgNzcsIDEyOCwgNzUsIDcyLCAKLSAgICA4NSwgNjUsIDg0LCAxMjgsIDc1LCA3MiwgNzksIDg1LCAxMjgsIDc1LCA3MiwgNzksIDIxMiwgNzUsIDcyLCA3OSwgNzgsIAotICAgIDEyOCwgNzUsIDcyLCA3OSwgNzcsIDg1LCA4NCwgMTI4LCA3NSwgNzIsIDc5LCAxMjgsIDc1LCA3MiwgMjA3LCA3NSwgNzIsIAotICAgIDc3LCAyMTMsIDc1LCA3MiwgNzMsIDg0LCAxMjgsIDc1LCA3MiwgNzMsIDc4LCA4OSwgNjUsIDEyOCwgNzUsIDcyLCA3MywgCi0gICAgNjksIDg1LCA3NSwgMjAwLCA3NSwgNzIsIDczLCAxMjgsIDc1LCA3MiwgNzIsIDc5LCAxMjgsIDc1LCA3MiwgNzIsIDY1LCAKLSAgICAxMjgsIDc1LCA3MiwgNjksIDg0LCA3MiwgMTI4LCA3NSwgNzIsIDY5LCA3MywgMTI4LCA3NSwgNzIsIDY5LCA2OSwgMTI4LCAKLSAgICA3NSwgNzIsIDY5LCAxMjgsIDc1LCA3MiwgNjUsIDgyLCA3OSwgODMsIDcyLCA4NCwgNzIsIDIwMSwgNzUsIDcyLCA2NSwgODIsIAotICAgIDEyOCwgNzUsIDcyLCA2NSwgODAsIDcyLCAxMjgsIDc1LCA3MiwgNjUsIDc4LCAxOTksIDc1LCA3MiwgNjUsIDc4LCA2OCwgCi0gICAgMTkzLCA3NSwgNzIsIDY1LCA3OCwgMTI4LCA3NSwgNzIsIDY1LCA3NywgODQsIDIwMSwgNzUsIDcyLCA2NSwgNzUsIDY1LCAKLSAgICA4MywgODMsIDczLCA2NSwgMjA2LCA3NSwgNzIsIDY1LCA3MywgMTI4LCA3NSwgNzIsIDY1LCA3MiwgMTI4LCA3NSwgNzIsIAotICAgIDY1LCAyMDAsIDc1LCA3MiwgNjUsIDY1LCAxMjgsIDc1LCA3MSwgMTI4LCA3NSwgNjksIDg5LCA2NywgNjUsIDgwLCAxMjgsIAotICAgIDc1LCA2OSwgODksIDY3LCA2NSwgMjA4LCA3NSwgNjksIDg5LCA2NiwgNzksIDY1LCA4MiwgNjgsIDEyOCwgNzUsIDY5LCA4OCwgCi0gICAgMTI4LCA3NSwgNjksIDg1LCA4OSwgNjksIDg1LCA4OCwgMTI4LCA3NSwgNjksIDg1LCA4MywgNzIsIDY5LCA4NSwgNjUsIDY5LCAKLSAgICA4MCwgMTI4LCA3NSwgNjksIDg1LCA4MywgNjksIDg1LCA4OCwgMTI4LCA3NSwgNjksIDg1LCA4MCwgODUsIDgxLCAxMjgsIAotICAgIDc1LCA2OSwgODUsIDc5LCAyMTIsIDc1LCA2OSwgODUsIDc3LCAxMjgsIDc1LCA2OSwgODUsIDc1LCA2OSwgODUsIDg0LCA3OCwgCi0gICAgNjgsIDY1LCAxMjgsIDc1LCA2OSwgODUsIDc1LCA2NSwgODEsIDEyOCwgNzUsIDY5LCA4NSwgNjUsIDY5LCA4NCwgNzcsIDY5LCAKLSAgICA4NSwgNzgsIDEyOCwgNzUsIDY5LCA4NSwgNjUsIDY5LCA4MiwgNzMsIDEyOCwgNzUsIDY5LCA4NCwgODQsIDIwMSwgNzUsIAotICAgIDY5LCA4MywgNzIsIDUwLCAxMjgsIDc1LCA2OSwgODIsIDY5LCA4NCwgMTI4LCA3NSwgNjksIDc5LCA4NywgMTI4LCA3NSwgCi0gICAgNjksIDc4LCA4NCwgNzMsIDc3LCA2NSwgODQsIDY1LCAxMjgsIDc1LCA2OSwgNzgsIDg0LCA3MywgNzcsIDY1LCA4NCwgMTkzLCAKLSAgICA3NSwgNjksIDc4LCA4NCwgNzMsIDc3LCAxOTMsIDc1LCA2OSwgNzgsIDY1LCA4NCwgMTI4LCA3NSwgNjksIDc4LCAxMjgsIAotICAgIDc1LCA2OSwgMjA2LCA3NSwgNjksIDc3LCA4MCwgODUsIDc2LCAxMjgsIDc1LCA2OSwgNzcsIDgwLCA4NSwgMjA0LCA3NSwgCi0gICAgNjksIDc3LCA4MCwgNzYsIDczLCAxMjgsIDc1LCA2OSwgNzcsIDgwLCA3NiwgMjAxLCA3NSwgNjksIDc3LCA4MCwgNzIsIDgyLCAKLSAgICA2OSwgNzgsIDcxLCAxMjgsIDc1LCA2OSwgNzcsIDY2LCA2NSwgNzgsIDcxLCAxMjgsIDc1LCA2OSwgNzYsIDg2LCA3MywgCi0gICAgMjA2LCA3NSwgNjksIDcyLCA2OSwgNzIsIDEyOCwgNzUsIDY5LCA3MiwgNjksIDIwMCwgNzUsIDY5LCA3MiwgMTI4LCA3NSwgCi0gICAgNjksIDcwLCA4NSwgNzYsIDY1LCAxMjgsIDc1LCA2OSwgNjksIDgzLCA4NSwgMTI4LCA3NSwgNjksIDY5LCA4MCwgNzMsIDc4LCAKLSAgICAxOTksIDc1LCA2OSwgNjksIDc4LCA3MSwgMTI4LCA3NSwgNjcsIDY1LCA3NiwgMTI4LCA3NSwgNjYsIDEyOCwgNzUsIDY1LCAKLSAgICA5MCwgNjUsIDc1LCAyMDAsIDc1LCA2NSwgODksIDY1LCA3OCwgNzgsIDY1LCAxMjgsIDc1LCA2NSwgODksIDY1LCAyMDAsIAotICAgIDc1LCA2NSwgODgsIDEyOCwgNzUsIDY1LCA4NywgNzMsIDEyOCwgNzUsIDY1LCA4NiwgODksIDc1LCA2NSwgMTI4LCA3NSwgCi0gICAgNjUsIDg1LCA3OCwgNjUsIDEyOCwgNzUsIDY1LCA4NSwgMjA2LCA3NSwgNjUsIDg1LCAxMjgsIDc1LCA2NSwgODQsIDc5LCAKLSAgICAxMjgsIDc1LCA2NSwgODQsIDcyLCA3MywgODMsIDg0LCA3MywgMTI4LCA3NSwgNjUsIDg0LCA3MiwgNjUsIDc1LCAxOTMsIAotICAgIDc1LCA2NSwgODQsIDY1LCA4NiwgNjUsIDgzLCA3NywgNjUsIDEyOCwgNzUsIDY1LCA4NCwgNjUsIDg2LCAxOTMsIDc1LCA2NSwgCi0gICAgODQsIDY1LCA3NSwgNjUsIDc4LCA2NSwgNDUsIDcyLCA3MywgODIsIDY1LCA3MSwgNjUsIDc4LCAxOTMsIDc1LCA2NSwgODMsIAotICAgIDgyLCA2NSwgODQsIDY1LCA3OCwgMTI4LCA3NSwgNjUsIDgzLCA4MiwgNjUsIDg0LCA2NSwgMjA2LCA3NSwgNjUsIDgzLCA4MiwgCi0gICAgNjUsIDEyOCwgNzUsIDY1LCA4MywgODIsIDE5MywgNzUsIDY1LCA4MywgNzUsIDY1LCA3NiwgMTI4LCA3NSwgNjUsIDgzLCAKLSAgICA3NSwgNjUsIDIwNCwgNzUsIDY1LCA4MywgNzIsIDc3LCA3MywgODIsIDIwMSwgNzUsIDY1LCA4MiwgODMsIDcyLCA2NSwgNzgsIAotICAgIDY1LCAxMjgsIDc1LCA2NSwgODIsIDc5LCA4MiwgNzMsIDczLCAxMjgsIDc1LCA2NSwgODIsIDIwNywgNzUsIDY1LCA4MiwgCi0gICAgNjksIDIwNiwgNzUsIDY1LCA4MiwgNjUsIDg0LCA4NCwgNzksIDEyOCwgNzUsIDY1LCA4MiwgNjUsIDc4LCAxMjgsIDc1LCAKLSAgICA2NSwgODAsIDg5LCA2OSwgNzksIDg1LCA3OCwgODMsIDgzLCA2NSwgNzgsIDcxLCA4MCwgNzMsIDY5LCA4NSwgODAsIDEyOCwgCi0gICAgNzUsIDY1LCA4MCwgODksIDY5LCA3OSwgODUsIDc4LCA4MiwgNzMsIDY5LCA4NSwgNzYsIDEyOCwgNzUsIDY1LCA4MCwgODksIAotICAgIDY5LCA3OSwgODUsIDc4LCA4MCwgNzIsIDczLCA2OSwgODUsIDgwLCA3MiwgMTI4LCA3NSwgNjUsIDgwLCA4OSwgNjksIDc5LCAKLSAgICA4NSwgNzgsIDc3LCA3MywgNjksIDg1LCA3NywgMTI4LCA3NSwgNjUsIDgwLCA4MCwgNjUsIDEyOCwgNzUsIDY1LCA4MCwgODAsIAotICAgIDE5MywgNzUsIDY1LCA4MCwgNzksIDEyOCwgNzUsIDY1LCA4MCwgNzIsIDEyOCwgNzUsIDY1LCA4MCwgNjUsIDc2LCAxMjgsIAotICAgIDc1LCA2NSwgODAsIDY1LCAxMjgsIDc1LCA2NSwgNzgsIDg0LCA2NSwgNzQsIDE5MywgNzUsIDY1LCA3OCwgNzEsIDEyOCwgCi0gICAgNzUsIDY1LCA3OCwgMTk5LCA3NSwgNjUsIDc4LCA2NSwgNzUsIDc5LCAxMjgsIDc1LCA2NSwgNzcsIDUyLCAxMjgsIDc1LCAKLSAgICA2NSwgNzcsIDUwLCAxMjgsIDc1LCA2NSwgNzcsIDEyOCwgNzUsIDY1LCA3NSwgNzksIDEyOCwgNzUsIDY1LCA3NSwgNjUsIAotICAgIDY2LCA2NSwgODQsIDEyOCwgNzUsIDY1LCA3NSwgMTI4LCA3NSwgNjUsIDIwMywgNzUsIDY1LCA3MywgODQsIDcyLCAyMDEsIAotICAgIDc1LCA2NSwgNzMsIDgyLCA3MywgMTI4LCA3NSwgNjUsIDczLCAxMjgsIDc1LCA2NSwgMjAxLCA3NSwgNjUsIDcwLCA2NSwgCi0gICAgMTI4LCA3NSwgNjUsIDcwLCAxMjgsIDc1LCA2NSwgMTk4LCA3NSwgNjUsIDY4LCA1MywgMTI4LCA3NSwgNjUsIDY4LCAxODEsIAotICAgIDc1LCA2NSwgNjgsIDUyLCAxMjgsIDc1LCA2NSwgNjgsIDUxLCAxMjgsIDc1LCA2NSwgNjgsIDE3OSwgNzUsIDY1LCA2OCwgCi0gICAgNTAsIDEyOCwgNzUsIDY1LCA2OCwgMTI4LCA3NSwgNjUsIDY2LCAxOTMsIDc1LCA2NSwgNjYsIDEyOCwgNzUsIDY1LCA2NSwgCi0gICAgNzMsIDEyOCwgNzUsIDY1LCA2NSwgNzAsIDg1LCAxMjgsIDc1LCA2NSwgNjUsIDcwLCAxMjgsIDc1LCA2NSwgNTAsIDEyOCwgCisgICAgNzUsIDc5LCA2OSwgODQsIDEyOCwgNzUsIDc5LCA2NiwgMTI4LCA3NSwgNzksIDY1LCA3NiwgNjUsIDEyOCwgNzUsIDc5LCAKKyAgICA2NSwgMTI4LCA3NSwgNzgsIDc5LCA2NiwgODMsIDEyOCwgNzUsIDc4LCA3MywgNzEsIDcyLCA4NCwgMTI4LCA3NSwgNzgsIAorICAgIDczLCA3MSwgNzIsIDIxMiwgNzUsIDc4LCA3MywgNzAsIDY5LCAxMjgsIDc1LCA3OCwgNzMsIDcwLCAxOTcsIDc1LCA3NywgCisgICAgMTI4LCA3NSwgMjA1LCA3NSwgNzYsIDczLCA4NCwgNzksIDc4LCAxMjgsIDc1LCA3NiwgNjUsIDgzLCA3NywgNjUsIDEyOCwgCisgICAgNzUsIDc2LCA2NSwgODMsIDc3LCAxOTMsIDc1LCA3NiwgNjUsIDEyOCwgNzUsIDc2LCAxMjgsIDc1LCA3NSwgODUsIDEyOCwgCisgICAgNzUsIDc1LCA3OSwgMTI4LCA3NSwgNzUsIDczLCAxMjgsIDc1LCA3NSwgNjksIDY5LCAxMjgsIDc1LCA3NSwgNjksIDEyOCwgCisgICAgNzUsIDc1LCA2NSwgMTI4LCA3NSwgNzUsIDEyOCwgNzUsIDc0LCA2OSwgMTI4LCA3NSwgNzMsIDg5LCA2OSwgNzksIDc1LCAKKyAgICA0NSwgODQsIDczLCA3NSwgNjksIDg1LCA4NCwgMTI4LCA3NSwgNzMsIDg5LCA2OSwgNzksIDc1LCA0NSwgODMsIDczLCA3OSwgCisgICAgODMsIDQ1LCA3NSwgNzMsIDg5LCA2OSwgNzksIDc1LCAxMjgsIDc1LCA3MywgODksIDY5LCA3OSwgNzUsIDQ1LCA4MiwgNzMsIAorICAgIDY5LCA4NSwgNzYsIDEyOCwgNzUsIDczLCA4OSwgNjksIDc5LCA3NSwgNDUsIDgwLCA3MywgNjksIDg1LCA4MCwgMTI4LCA3NSwgCisgICAgNzMsIDg5LCA2OSwgNzksIDc1LCA0NSwgNzgsIDczLCA2OSwgODUsIDc4LCAxMjgsIDc1LCA3MywgODksIDY5LCA3OSwgNzUsIAorICAgIDQ1LCA3NSwgNzIsIDczLCA2OSwgODUsIDc1LCA3MiwgMTI4LCA3NSwgNzMsIDg5LCA2OSwgNzksIDc1LCA0NSwgNjcsIDcyLCAKKyAgICA3MywgNjksIDg1LCA2NywgNzIsIDEyOCwgNzUsIDczLCA4OSwgNjksIDc5LCAyMDMsIDc1LCA3MywgODgsIDEyOCwgNzUsIAorICAgIDczLCA4NywgMTI4LCA3NSwgNzMsIDg2LCAxMjgsIDc1LCA3MywgODQsIDEyOCwgNzUsIDczLCA4MywgODMsIDczLCA3OCwgCisgICAgMTk5LCA3NSwgNzMsIDgzLCA4MywgMTI4LCA3NSwgNzMsIDgzLCAyMTEsIDc1LCA3MywgODMsIDczLCA3NywgNTMsIDEyOCwgCisgICAgNzUsIDczLCA4MywgNzMsIDc3LCAxODEsIDc1LCA3MywgODMsIDcyLCAxMjgsIDc1LCA3MywgODMsIDY1LCA3NiwgMTI4LCAKKyAgICA3NSwgNzMsIDgyLCA3OSwgODcsIDY1LCA4NCwgODQsIDc5LCAxMjgsIDc1LCA3MywgODIsIDc5LCA3NywgNjksIDY5LCA4NCwgCisgICAgNzksIDgyLCA4NSwgMTI4LCA3NSwgNzMsIDgyLCA3OSwgNzEsIDg1LCA4MiwgNjUsIDc3LCA4NSwgMTI4LCA3NSwgNzMsIDgyLCAKKyAgICA3OSwgMTI4LCA3NSwgNzMsIDgyLCA3MSwgNzIsIDczLCAyMTgsIDc1LCA3MywgODEsIDEyOCwgNzUsIDczLCA4MCwgMTI4LCAKKyAgICA3NSwgNzMsIDIwOCwgNzUsIDczLCA3OCwgODMsIDcyLCA3MywgODAsIDEyOCwgNzUsIDczLCA3OCwgNjgsIDY5LCA4MiwgNzEsIAorICAgIDY1LCA4MiwgODQsIDY5LCA3OCwgMTI4LCA3NSwgNzMsIDc3LCA3OSwgNzgsIDc5LCAxMjgsIDc1LCA3MywgNzMsIDEyOCwgCisgICAgNzUsIDczLCA3MiwgMTI4LCA3NSwgNzMsIDY5LCA4OCwgMTI4LCA3NSwgNzMsIDY5LCA4MCwgMTI4LCA3NSwgNzMsIDY5LCAKKyAgICA2OSwgNzcsIDEyOCwgNzUsIDczLCA2OSwgMTI4LCA3NSwgNzMsIDY4LCAxMjgsIDc1LCA3MywgMTk2LCA3NSwgNzMsIDY3LCAKKyAgICA3NSwgMTI4LCA3NSwgNzMsIDY2LCAxMjgsIDc1LCA3MywgNjUsIDg2LCAxMjgsIDc1LCA3MywgNjUsIDY2LCAxMjgsIDc1LCAKKyAgICA3MiwgOTAsIDEyOCwgNzUsIDcyLCA4NywgNjUsIDczLCAxMjgsIDc1LCA3MiwgODUsIDY5LCA3OCwgNDUsIDc2LCA4NSwgCisgICAgMTk3LCA3NSwgNzIsIDg1LCA2OSwgMjA2LCA3NSwgNzIsIDg1LCA2OCwgNjUsIDg3LCA2NSwgNjgsIDIwMSwgNzUsIDcyLCAKKyAgICA4NSwgNjgsIDY1LCA3NywgMTI4LCA3NSwgNzIsIDg1LCA2NSwgODQsIDEyOCwgNzUsIDcyLCA3OSwgODUsIDEyOCwgNzUsIAorICAgIDcyLCA3OSwgMjEyLCA3NSwgNzIsIDc5LCA3OCwgMTI4LCA3NSwgNzIsIDc5LCA3NywgODUsIDg0LCAxMjgsIDc1LCA3MiwgCisgICAgNzksIDc0LCA3NSwgMjAxLCA3NSwgNzIsIDc5LCAxMjgsIDc1LCA3MiwgMjA3LCA3NSwgNzIsIDc3LCAyMTMsIDc1LCA3MiwgCisgICAgNzMsIDg0LCAxMjgsIDc1LCA3MiwgNzMsIDc4LCA4OSwgNjUsIDEyOCwgNzUsIDcyLCA3MywgNjksIDg1LCA3NSwgMjAwLCAKKyAgICA3NSwgNzIsIDczLCAxMjgsIDc1LCA3MiwgMjAxLCA3NSwgNzIsIDcyLCA3OSwgMTI4LCA3NSwgNzIsIDcyLCA2NSwgMTI4LCAKKyAgICA3NSwgNzIsIDY5LCA4NCwgNzIsIDEyOCwgNzUsIDcyLCA2OSwgNzMsIDEyOCwgNzUsIDcyLCA2OSwgNjksIDEyOCwgNzUsIAorICAgIDcyLCA2OSwgMTI4LCA3NSwgNzIsIDY1LCA4NiwgMTI4LCA3NSwgNzIsIDY1LCA4MiwgNzksIDgzLCA3MiwgODQsIDcyLCAKKyAgICAyMDEsIDc1LCA3MiwgNjUsIDgyLCAxMjgsIDc1LCA3MiwgNjUsIDgwLCA3MiwgMTI4LCA3NSwgNzIsIDY1LCA3OCwgMTk5LCAKKyAgICA3NSwgNzIsIDY1LCA3OCwgNjgsIDE5MywgNzUsIDcyLCA2NSwgNzgsIDEyOCwgNzUsIDcyLCA2NSwgNzcsIDg0LCAyMDEsIAorICAgIDc1LCA3MiwgNjUsIDc1LCA2NSwgODMsIDgzLCA3MywgNjUsIDIwNiwgNzUsIDcyLCA2NSwgNzMsIDEyOCwgNzUsIDcyLCA2NSwgCisgICAgNzIsIDEyOCwgNzUsIDcyLCA2NSwgMjAwLCA3NSwgNzIsIDY1LCA2NiwgMTI4LCA3NSwgNzIsIDY1LCA2NSwgMTI4LCA3NSwgCisgICAgNzEsIDEyOCwgNzUsIDY5LCA4OSwgNjcsIDY1LCA4MCwgMTI4LCA3NSwgNjksIDg5LCA2NywgNjUsIDIwOCwgNzUsIDY5LCAKKyAgICA4OSwgNjYsIDc5LCA2NSwgODIsIDY4LCAxMjgsIDc1LCA2OSwgODksIDY2LCA3OSwgNjUsIDgyLCAxOTYsIDc1LCA2OSwgODgsIAorICAgIDEyOCwgNzUsIDY5LCA4NiwgMTI4LCA3NSwgNjksIDg1LCA4OSwgNjksIDg1LCA4OCwgMTI4LCA3NSwgNjksIDg1LCA4MywgCisgICAgNzIsIDY5LCA4NSwgNjUsIDY5LCA4MCwgMTI4LCA3NSwgNjksIDg1LCA4MywgNjksIDg1LCA4OCwgMTI4LCA3NSwgNjksIDg1LCAKKyAgICA4MCwgODUsIDgxLCAxMjgsIDc1LCA2OSwgODUsIDc5LCAyMTIsIDc1LCA2OSwgODUsIDc3LCAxMjgsIDc1LCA2OSwgODUsIAorICAgIDc1LCA2OSwgODUsIDg0LCA3OCwgNjgsIDY1LCAxMjgsIDc1LCA2OSwgODUsIDc1LCA2NSwgODEsIDEyOCwgNzUsIDY5LCA4NSwgCisgICAgNjUsIDY5LCA4NCwgNzcsIDY5LCA4NSwgNzgsIDEyOCwgNzUsIDY5LCA4NSwgNjUsIDY5LCA4MiwgNzMsIDEyOCwgNzUsIDY5LCAKKyAgICA4NCwgODQsIDIwMSwgNzUsIDY5LCA4MywgNzIsIDUwLCAxMjgsIDc1LCA2OSwgODIsIDY5LCA4NCwgMTI4LCA3NSwgNjksIAorICAgIDc5LCA4NywgMTI4LCA3NSwgNjksIDc4LCA4NCwgNzMsIDc3LCA2NSwgODQsIDY1LCAxMjgsIDc1LCA2OSwgNzgsIDg0LCA3MywgCisgICAgNzcsIDY1LCA4NCwgMTkzLCA3NSwgNjksIDc4LCA4NCwgNzMsIDc3LCAxOTMsIDc1LCA2OSwgNzgsIDY1LCA4NCwgMTI4LCAKKyAgICA3NSwgNjksIDc4LCAxMjgsIDc1LCA2OSwgMjA2LCA3NSwgNjksIDc3LCA4MCwgODUsIDc2LCAxMjgsIDc1LCA2OSwgNzcsIAorICAgIDgwLCA4NSwgMjA0LCA3NSwgNjksIDc3LCA4MCwgNzYsIDczLCAxMjgsIDc1LCA2OSwgNzcsIDgwLCA3NiwgMjAxLCA3NSwgCisgICAgNjksIDc3LCA4MCwgNzIsIDgyLCA2OSwgNzgsIDcxLCAxMjgsIDc1LCA2OSwgNzcsIDY2LCA2NSwgNzgsIDcxLCAxMjgsIDc1LCAKKyAgICA2OSwgNzYsIDg2LCA3MywgMjA2LCA3NSwgNjksIDcyLCA2OSwgNzIsIDEyOCwgNzUsIDY5LCA3MiwgNjksIDIwMCwgNzUsIAorICAgIDY5LCA3MiwgMTI4LCA3NSwgNjksIDcwLCA4NSwgNzYsIDY1LCAxMjgsIDc1LCA2OSwgNjksIDg2LCAxMjgsIDc1LCA2OSwgCisgICAgNjksIDgzLCA4NSwgMTI4LCA3NSwgNjksIDY5LCA4MCwgNzMsIDc4LCAxOTksIDc1LCA2OSwgNjksIDc4LCA3MSwgMTI4LCAKKyAgICA3NSwgNjksIDY5LCA2NiwgMTI4LCA3NSwgNjksIDY2LCAxMjgsIDc1LCA2OSwgNjUsIDY1LCA2OSwgMTI4LCA3NSwgNjcsIAorICAgIDY1LCA3NiwgMTI4LCA3NSwgNjYsIDEyOCwgNzUsIDY1LCA5MCwgNjUsIDc1LCAyMDAsIDc1LCA2NSwgODksIDY1LCA3OCwgCisgICAgNzgsIDY1LCAxMjgsIDc1LCA2NSwgODksIDY1LCAyMDAsIDc1LCA2NSwgODgsIDEyOCwgNzUsIDY1LCA4NywgODYsIDEyOCwgCisgICAgNzUsIDY1LCA4NywgNzMsIDEyOCwgNzUsIDY1LCA4NywgNjYsIDEyOCwgNzUsIDY1LCA4NiwgODksIDc1LCA2NSwgMTI4LCAKKyAgICA3NSwgNjUsIDg2LCAxMjgsIDc1LCA2NSwgODUsIDg2LCAxMjgsIDc1LCA2NSwgODUsIDc4LCA2NSwgMTI4LCA3NSwgNjUsIAorICAgIDg1LCAyMDYsIDc1LCA2NSwgODUsIDY2LCAxMjgsIDc1LCA2NSwgODQsIDc5LCAxMjgsIDc1LCA2NSwgODQsIDcyLCA3MywgCisgICAgODMsIDg0LCA3MywgMTI4LCA3NSwgNjUsIDg0LCA3MiwgNjUsIDc1LCAxOTMsIDc1LCA2NSwgODQsIDY1LCA4NiwgNjUsIDgzLCAKKyAgICA3NywgNjUsIDEyOCwgNzUsIDY1LCA4NCwgNjUsIDg2LCAxOTMsIDc1LCA2NSwgODQsIDY1LCA3NSwgNjUsIDc4LCA2NSwgNDUsIAorICAgIDcyLCA3MywgODIsIDY1LCA3MSwgNjUsIDc4LCAxOTMsIDc1LCA2NSwgODMsIDgyLCA2NSwgODQsIDY1LCA3OCwgMTI4LCA3NSwgCisgICAgNjUsIDgzLCA4MiwgNjUsIDg0LCA2NSwgMjA2LCA3NSwgNjUsIDgzLCA4MiwgNjUsIDEyOCwgNzUsIDY1LCA4MywgODIsIAorICAgIDE5MywgNzUsIDY1LCA4MywgNzUsIDY1LCA3NiwgMTI4LCA3NSwgNjUsIDgzLCA3NSwgNjUsIDIwNCwgNzUsIDY1LCA4MywgCisgICAgNzIsIDc3LCA3MywgODIsIDIwMSwgNzUsIDY1LCA4MiwgODMsIDcyLCA2NSwgNzgsIDY1LCAxMjgsIDc1LCA2NSwgODIsIDc5LCAKKyAgICA4MiwgNzMsIDczLCAxMjgsIDc1LCA2NSwgODIsIDIwNywgNzUsIDY1LCA4MiwgNjksIDIwNiwgNzUsIDY1LCA4MiwgNjUsIAorICAgIDg0LCA4NCwgNzksIDEyOCwgNzUsIDY1LCA4MiwgNjUsIDc4LCAxMjgsIDc1LCA2NSwgODAsIDg5LCA2OSwgNzksIDg1LCA3OCwgCisgICAgODMsIDgzLCA2NSwgNzgsIDcxLCA4MCwgNzMsIDY5LCA4NSwgODAsIDEyOCwgNzUsIDY1LCA4MCwgODksIDY5LCA3OSwgODUsIAorICAgIDc4LCA4MiwgNzMsIDY5LCA4NSwgNzYsIDEyOCwgNzUsIDY1LCA4MCwgODksIDY5LCA3OSwgODUsIDc4LCA4MCwgNzIsIDczLCAKKyAgICA2OSwgODUsIDgwLCA3MiwgMTI4LCA3NSwgNjUsIDgwLCA4OSwgNjksIDc5LCA4NSwgNzgsIDc3LCA3MywgNjksIDg1LCA3NywgCisgICAgMTI4LCA3NSwgNjUsIDgwLCA4MCwgNjUsIDEyOCwgNzUsIDY1LCA4MCwgODAsIDE5MywgNzUsIDY1LCA4MCwgNzksIDEyOCwgCisgICAgNzUsIDY1LCA4MCwgNzIsIDEyOCwgNzUsIDY1LCA4MCwgNjUsIDc2LCAxMjgsIDc1LCA2NSwgODAsIDY1LCAxMjgsIDc1LCAKKyAgICA2NSwgMjA4LCA3NSwgNjUsIDc4LCA4NCwgNjUsIDc0LCAxOTMsIDc1LCA2NSwgNzgsIDcxLCAxMjgsIDc1LCA2NSwgNzgsIAorICAgIDE5OSwgNzUsIDY1LCA3OCwgNjUsIDc1LCA3OSwgMTI4LCA3NSwgNjUsIDc3LCA1MiwgMTI4LCA3NSwgNjUsIDc3LCA1MCwgCisgICAgMTI4LCA3NSwgNjUsIDc3LCAxMjgsIDc1LCA2NSwgNzUsIDc5LCAxMjgsIDc1LCA2NSwgNzUsIDY1LCA2NiwgNjUsIDg0LCAKKyAgICAxMjgsIDc1LCA2NSwgNzUsIDEyOCwgNzUsIDY1LCAyMDMsIDc1LCA2NSwgNzMsIDg2LCAxMjgsIDc1LCA2NSwgNzMsIDg0LCAKKyAgICA3MiwgMjAxLCA3NSwgNjUsIDczLCA4MiwgNzMsIDEyOCwgNzUsIDY1LCA3MywgNjYsIDEyOCwgNzUsIDY1LCA3MywgMTI4LCAKKyAgICA3NSwgNjUsIDIwMSwgNzUsIDY1LCA3MCwgNjUsIDEyOCwgNzUsIDY1LCA3MCwgMTI4LCA3NSwgNjUsIDE5OCwgNzUsIDY1LCAKKyAgICA2OCwgNTMsIDEyOCwgNzUsIDY1LCA2OCwgMTgxLCA3NSwgNjUsIDY4LCA1MiwgMTI4LCA3NSwgNjUsIDY4LCA1MSwgMTI4LCAKKyAgICA3NSwgNjUsIDY4LCAxNzksIDc1LCA2NSwgNjgsIDUwLCAxMjgsIDc1LCA2NSwgNjgsIDEyOCwgNzUsIDY1LCA2NiwgMTkzLCAKKyAgICA3NSwgNjUsIDY2LCAxMjgsIDc1LCA2NSwgNjUsIDg2LCAxMjgsIDc1LCA2NSwgNjUsIDczLCAxMjgsIDc1LCA2NSwgNjUsIAorICAgIDcwLCA4NSwgMTI4LCA3NSwgNjUsIDY1LCA3MCwgMTI4LCA3NSwgNjUsIDY1LCA2NiwgMTI4LCA3NSwgNjUsIDUwLCAxMjgsIAogICAgIDc1LCA2NSwgMTc4LCA3NSwgNDgsIDQ4LCA1NiwgMTI4LCA3NSwgNDgsIDQ4LCA1NSwgMTI4LCA3NSwgNDgsIDQ4LCA1NCwgCiAgICAgMTI4LCA3NSwgNDgsIDQ4LCA1MywgMTI4LCA3NSwgNDgsIDQ4LCA1MiwgMTI4LCA3NSwgNDgsIDQ4LCA1MSwgMTI4LCA3NSwgCiAgICAgNDgsIDQ4LCA1MCwgMTI4LCA3NSwgNDgsIDQ4LCA0OSwgMTI4LCA3NCwgODcsIDY1LCAxMjgsIDc0LCA4NSwgODUsIDEyOCwgCkBAIC0yMzE5LDE1MDkgKzI0ODgsMTUzOCBAQAogICAgIDc0LCA4NSwgODAsIDczLCA4NCwgNjksIDgyLCAxMjgsIDc0LCA4NSwgNzksIDg0LCAxMjgsIDc0LCA4NSwgNzksIDgwLCAKICAgICAxMjgsIDc0LCA4NSwgNzgsIDc5LCAxMjgsIDc0LCA4NSwgNzgsIDY5LCAxMjgsIDc0LCA4NSwgNzYsIDg5LCAxMjgsIDc0LCAKICAgICA4NSwgNjksIDg1LCA3MywgMTI4LCA3NCwgODUsIDY4LCA4NSwgNzYsIDEyOCwgNzQsIDg1LCA2OCwgNzEsIDY5LCAxMjgsIAotICAgIDc0LCA4NSwgNjgsIDY5LCA3OSwgNDUsIDgzLCA4MCwgNjUsIDc4LCA3MywgODMsIDIwMCwgNzQsIDc5LCA4OSwgNzksIDg1LCAKLSAgICAyMTEsIDc0LCA3OSwgODksIDEyOCwgNzQsIDc5LCA4NiwgNjksIDEyOCwgNzQsIDc5LCAyMTIsIDc0LCA3OSwgNzgsIDcxLCAKLSAgICAxMjgsIDc0LCA3OSwgNzgsIDE5MywgNzQsIDc5LCA3NSwgNjksIDgyLCAxMjgsIDc0LCA3OSwgNzMsIDc4LCA2OSwgNjgsIAotICAgIDEyOCwgNzQsIDc5LCA3MywgNzgsIDEyOCwgNzQsIDc5LCA2NSwgMTI4LCA3NCwgNzQsIDg5LCA4OCwgMTI4LCA3NCwgNzQsIAotICAgIDg5LCA4NCwgMTI4LCA3NCwgNzQsIDg5LCA4MCwgMTI4LCA3NCwgNzQsIDg5LCAxMjgsIDc0LCA3NCwgODUsIDg4LCAxMjgsIAotICAgIDc0LCA3NCwgODUsIDg0LCAxMjgsIDc0LCA3NCwgODUsIDgyLCA4OCwgMTI4LCA3NCwgNzQsIDg1LCA4MiwgMTI4LCA3NCwgCi0gICAgNzQsIDg1LCA4MCwgMTI4LCA3NCwgNzQsIDg1LCA3OSwgODgsIDEyOCwgNzQsIDc0LCA4NSwgNzksIDgwLCAxMjgsIDc0LCAKLSAgICA3NCwgODUsIDc5LCAxMjgsIDc0LCA3NCwgODUsIDEyOCwgNzQsIDc0LCA3OSwgODgsIDEyOCwgNzQsIDc0LCA3OSwgODQsIAotICAgIDEyOCwgNzQsIDc0LCA3OSwgODAsIDEyOCwgNzQsIDc0LCA3OSwgMTI4LCA3NCwgNzQsIDczLCA4OCwgMTI4LCA3NCwgNzQsIAotICAgIDczLCA4NCwgMTI4LCA3NCwgNzQsIDczLCA4MCwgMTI4LCA3NCwgNzQsIDczLCA2OSwgODgsIDEyOCwgNzQsIDc0LCA3MywgCi0gICAgNjksIDg0LCAxMjgsIDc0LCA3NCwgNzMsIDY5LCA4MCwgMTI4LCA3NCwgNzQsIDczLCA2OSwgMTI4LCA3NCwgNzQsIDczLCAKLSAgICAxMjgsIDc0LCA3NCwgNjksIDY5LCAxMjgsIDc0LCA3NCwgNjksIDEyOCwgNzQsIDc0LCA2NSwgMTI4LCA3NCwgNzMsIDc2LCAKLSAgICAxMjgsIDc0LCA3MywgNzMsIDEyOCwgNzQsIDczLCA3MiwgODYsIDY1LCA3NywgODUsIDc2LCA3MywgODksIDY1LCAxMjgsIAotICAgIDc0LCA3MywgNjUsIDEyOCwgNzQsIDcyLCA3OSwgMTI4LCA3NCwgNzIsIDY5LCA3MiwgMTI4LCA3NCwgNzIsIDY1LCA3OCwgCi0gICAgMTI4LCA3NCwgNzIsIDY1LCA3NywgMTI4LCA3NCwgNzIsIDY1LCA2NSwgMTI4LCA3NCwgNzIsIDY1LCAxMjgsIDc0LCA2OSwgCi0gICAgODUsIDEyOCwgNzQsIDY5LCA4MiwgODUsIDgzLCA2NSwgNzYsIDY5LCA3NywgMTI4LCA3NCwgNjksIDgyLCA2NSwgMjA2LCAKLSAgICA3NCwgNjksIDgyLCA2NSwgMTI4LCA3NCwgNjksIDgyLCAxMjgsIDc0LCA2OSwgNzIsIDEyOCwgNzQsIDY5LCAyMDAsIDc0LCAKLSAgICA2OSwgNzEsIDc5LCA3MSwgNjUsIDc4LCAxMjgsIDc0LCA2OSwgNjksIDc3LCAxMjgsIDc0LCA2OSwgNjUsIDc4LCA4MywgCi0gICAgMTI4LCA3NCwgNjUsIDg5LCA2NSwgNzgsIDc4LCA2NSwgMTI4LCA3NCwgNjUsIDg2LCA3MywgODksIDY1LCA3OCwgNzMsIAotICAgIDEyOCwgNzQsIDY1LCA4NSwgMTI4LCA3NCwgNjUsIDgyLCAxMjgsIDc0LCA2NSwgODAsIDY1LCA3OCwgNjksIDgzLCAxOTcsIAotICAgIDc0LCA2NSwgODAsIDY1LCA3OCwgMTI4LCA3NCwgNjUsIDc4LCA4NSwgNjUsIDgyLCA4OSwgMTI4LCA3NCwgNjUsIDc2LCA3NiwgCi0gICAgNjUsIDc0LCA2NSwgNzYsIDY1LCA3NiwgNzksIDg1LCA3MiwgNzksIDg1LCAxMjgsIDc0LCA2NSwgNzMsIDEyOCwgNzQsIDY1LCAKLSAgICA3MiwgMTI4LCA3NCwgNjUsIDY4LCA2OSwgMTI4LCA3NCwgNjUsIDY3LCA3NSwgNDUsIDc5LCA0NSwgNzYsIDY1LCA3OCwgODQsIAotICAgIDY5LCA4MiwgNzgsIDEyOCwgNzQsIDY1LCA2NywgMjAzLCA3NCwgNDUsIDgzLCA3MywgNzcsIDgwLCA3NiwgNzMsIDcwLCA3MywgCi0gICAgNjksIDE5NiwgMjAyLCA3MywgOTAsIDcyLCA3MywgODQsIDgzLCA2NSwgMTI4LCA3MywgOTAsIDcyLCA3MywgODQsIDgzLCAKLSAgICAxOTMsIDczLCA5MCwgNzIsIDY5LCAxMjgsIDczLCA5MCwgNjUsIDc1LCA2NSwgODksIDE5MywgNzMsIDg5LCA2OSwgNzUsIAotICAgIDEyOCwgNzMsIDg5LCA2NSwgNzgsIDc4LCA2NSwgMTI4LCA3MywgODUsIDc0LCA2NSwgMTI4LCA3MywgODUsIDEyOCwgNzMsIAotICAgIDg0LCAyMTEsIDczLCA4NCwgNjksIDgyLCA2NSwgODQsIDczLCA3OSwgMjA2LCA3MywgODQsIDY5LCA3NywgMTI4LCA3MywgCi0gICAgODMsIDgzLCA3MiwgNjUsIDgyLCAxMjgsIDczLCA4MywgNzksIDc4LCAxMjgsIDczLCA4MywgNzksIDIwNiwgNzMsIDgzLCAKLSAgICA3OSwgNzYsIDY1LCA4NCwgNjksIDEyOCwgNzMsIDgzLCA2OSwgNzgsIDQ1LCA3MywgODMsIDY5LCA3OCwgMTI4LCA3MywgODMsIAotICAgIDY1LCA3NSwgNzMsIDE5MywgNzMsIDgzLCA0NSwgODAsIDczLCA3NiwgNzYsIDY1LCAxMjgsIDczLCA4MiwgODUsIDg5LCA2NSwgCi0gICAgNzgsIDc4LCA2NSwgMTI4LCA3MywgODIsIDg1LCA4NSwgODksIDY1LCA3OCwgNzgsIDY1LCAxMjgsIDczLCA4MiwgNzksIDc4LCAKLSAgICA0NSwgNjcsIDc5LCA4MCwgODAsIDY5LCAyMTAsIDczLCA4MiwgNzksIDc4LCAxMjgsIDczLCA3OSwgODQsIDczLCA3MCwgNzMsIAotICAgIDY5LCAxOTYsIDczLCA3OSwgODQsIDY1LCA4NCwgNjksIDE5NiwgNzMsIDc5LCA4NCwgNjUsIDEyOCwgNzMsIDc5LCA4NCwgCi0gICAgMTkzLCA3MywgNzksIDgyLCAxMjgsIDczLCA3OSwgNjgsIDcyLCA2NSwgNjgsIDcyLCAxMjgsIDczLCA3OCwgODYsIDczLCAKLSAgICA4MywgNzMsIDY2LCA3NiwgMTk3LCA3MywgNzgsIDg2LCA2OSwgODIsIDg0LCA2OSwgNjgsIDEyOCwgNzMsIDc4LCA4NiwgNjksIAotICAgIDgyLCA4NCwgNjksIDE5NiwgNzMsIDc4LCA4NiwgNjksIDgyLCA4MywgMTk3LCA3MywgNzgsIDg0LCA4MiwgNzksIDY4LCA4NSwgCi0gICAgNjcsIDY5LCA4MiwgMTI4LCA3MywgNzgsIDg0LCA3MywgMTI4LCA3MywgNzgsIDg0LCA2OSwgODIsIDgzLCA4OSwgNzYsIDc2LCAKLSAgICA2NSwgNjYsIDczLCAxOTUsIDczLCA3OCwgODQsIDY5LCA4MiwgODMsIDY5LCA2NywgODQsIDczLCA3OSwgNzgsIDEyOCwgNzMsIAotICAgIDc4LCA4NCwgNjksIDgyLCA4MywgNjksIDY3LCA4NCwgNzMsIDc5LCAyMDYsIDczLCA3OCwgODQsIDY5LCA4MiwgODMsIDY5LCAKLSAgICA2NywgODQsIDczLCA3OCwgMTk5LCA3MywgNzgsIDg0LCA2OSwgODIsIDgyLCA3OSwgNjYsIDY1LCA3OCwgNzEsIDEyOCwgNzMsIAotICAgIDc4LCA4NCwgNjksIDgyLCA4MCwgNzksIDc2LCA2NSwgODQsIDczLCA3OSwgMjA2LCA3MywgNzgsIDg0LCA2OSwgODIsIDc2LCAKLSAgICA3OSwgNjcsIDc1LCA2OSwgMTk2LCA3MywgNzgsIDg0LCA2OSwgODIsIDc2LCA3MywgNzgsIDY5LCA2NSwgMjEwLCA3MywgNzgsIAotICAgIDg0LCA2OSwgODIsIDc2LCA2NSwgNjcsIDY5LCAxOTYsIDczLCA3OCwgODQsIDY5LCA4MiwgNzMsIDc5LCAyMTAsIDczLCA3OCwgCi0gICAgODQsIDY5LCA4MiwgNjksIDgzLCAyMTIsIDczLCA3OCwgODQsIDY5LCA4MiwgNjcsIDY1LCA3NiwgNjUsIDg0LCA2OSwgMTI4LCAKLSAgICA3MywgNzgsIDg0LCA2OSwgNzEsIDgyLCA2NSwgODQsIDczLCA3OSwgNzgsIDEyOCwgNzMsIDc4LCA4NCwgNjksIDcxLCA4MiwgCi0gICAgNjUsIDg0LCA3MywgNzksIDIwNiwgNzMsIDc4LCA4NCwgNjksIDcxLCA4MiwgNjUsIDc2LCAxMjgsIDczLCA3OCwgODQsIDY5LCAKLSAgICA3MSwgODIsIDY1LCAyMDQsIDczLCA3OCwgODMsIDg1LCA3NiwgNjUsIDIxMCwgNzMsIDc4LCA4MywgODQsIDgyLCA4NSwgNzcsIAotICAgIDY5LCA3OCwgODQsIDY1LCAyMDQsIDczLCA3OCwgODMsIDczLCA2OCwgNjksIDEyOCwgNzMsIDc4LCA4MywgNjksIDgyLCA4NCwgCi0gICAgNzMsIDc5LCAyMDYsIDczLCA3OCwgODMsIDY5LCA2NywgODQsIDEyOCwgNzMsIDc4LCA4MywgNjcsIDgyLCA3MywgODAsIDg0LCAKLSAgICA3MywgNzksIDc4LCA2NSwgMjA0LCA3MywgNzgsIDgwLCA4NSwgMjEyLCA3MywgNzgsIDc4LCA3OSwgNjcsIDY5LCA3OCwgNjcsIAotICAgIDY5LCAxMjgsIDczLCA3OCwgNzgsIDc4LCAxMjgsIDczLCA3OCwgNzgsIDY5LCA4MiwgMTI4LCA3MywgNzgsIDc4LCA2OSwgCi0gICAgMjEwLCA3MywgNzgsIDc4LCAxMjgsIDczLCA3OCwgNzMsIDc4LCA3MSwgODUsIDEyOCwgNzMsIDc4LCA3MywgMTI4LCA3MywgCi0gICAgNzgsIDcyLCA3MywgNjYsIDczLCAyMTIsIDczLCA3OCwgNzIsIDY5LCA4MiwgNjksIDc4LCAyMTIsIDczLCA3OCwgNzEsIDg3LCAKLSAgICA2NSwgOTAsIDEyOCwgNzMsIDc4LCA3MCwgNzksIDgyLCA3NywgNjUsIDg0LCA3MywgNzksIDIwNiwgNzMsIDc4LCA3MCwgNzYsIAotICAgIDg1LCA2OSwgNzgsIDY3LCA2OSwgMTI4LCA3MywgNzgsIDcwLCA3MywgNzgsIDczLCA4NCwgODksIDEyOCwgNzMsIDc4LCA3MCwgCi0gICAgNzMsIDc4LCA3MywgODQsIDIxNywgNzMsIDc4LCA2OCwgODUsIDgzLCA4NCwgODIsIDczLCA2NSwgMjA0LCA3MywgNzgsIDY4LCAKLSAgICA3MywgODIsIDY5LCA2NywgMjEyLCA3MywgNzgsIDY4LCA3MywgNjcsIDY1LCA4NCwgNzksIDgyLCAxMjgsIDczLCA3OCwgNjgsIAotICAgIDczLCA2NywgNjUsIDg0LCA3OSwgMjEwLCA3MywgNzgsIDY4LCA3MywgMTk1LCA3MywgNzgsIDY4LCA3MywgNjUsIDIwNiwgCi0gICAgNzMsIDc4LCA2OCwgNjksIDg4LCAxMjgsIDczLCA3OCwgNjgsIDY5LCA4MCwgNjksIDc4LCA2OCwgNjksIDc4LCAyMTIsIDczLCAKLSAgICA3OCwgNjcsIDgyLCA2OSwgNzcsIDY5LCA3OCwgODQsIDEyOCwgNzMsIDc4LCA2NywgODIsIDY5LCA2NSwgODMsIDY5LCAyMTEsIAotICAgIDczLCA3OCwgNjcsIDgyLCA2OSwgNjUsIDgzLCA2OSwgMTI4LCA3MywgNzgsIDY3LCA3OSwgNzcsIDgwLCA3NiwgNjksIDg0LCAKLSAgICAxOTcsIDczLCA3OCwgNjcsIDc5LCA3NywgNzMsIDc4LCAxOTksIDczLCA3OCwgNjcsIDc2LCA4NSwgNjgsIDczLCA3OCwgCi0gICAgMTk5LCA3MywgNzgsIDY3LCA3MiwgMTI4LCA3MywgNzgsIDY2LCA3OSwgMjE2LCA3MywgNzgsIDY1LCA4MCwgMTI4LCA3MywgCi0gICAgNzgsIDQ1LCA2NSwgNzYsIDY1LCA3MCwgMTI4LCA3MywgNzcsIDgwLCA2OSwgODIsIDczLCA2NSwgMjA0LCA3MywgNzcsIDgwLCAKLSAgICA2OSwgODIsIDcwLCA2OSwgNjcsIDg0LCA4NSwgMjA1LCA3MywgNzcsIDgwLCA2OSwgODIsIDcwLCA2OSwgNjcsIDg0LCA2NSwgCi0gICAgMTI4LCA3MywgNzcsIDgwLCA2OSwgODIsIDcwLCA2OSwgNjcsIDg0LCAxOTMsIDczLCA3NywgNzgsIDEyOCwgNzMsIDc3LCAKLSAgICA3MywgODMsIDY5LCA3OSwgMjExLCA3MywgNzcsIDczLCA3OCwgNTEsIDEyOCwgNzMsIDc3LCA3MywgNzgsIDEyOCwgNzMsIAotICAgIDc3LCA3MywgMjA2LCA3MywgNzcsIDczLCA3MCwgODQsIDcyLCA3OSwgODIsIDc5LCA3OCwgMTI4LCA3MywgNzcsIDczLCA3MCwgCi0gICAgODQsIDcyLCA3OSwgODIsIDY1LCAxMjgsIDczLCA3NywgNzMsIDcwLCA3OSwgNzgsIDc5LCA3OCwgMTI4LCA3MywgNzcsIDczLCAKLSAgICA2OCwgNzMsIDY1LCA4MiwgNzEsIDc5LCA3OCwgMTI4LCA3MywgNzcsIDY1LCA3MSwgMTk3LCA3MywgNzYsIDg1LCA4OSwgNjUsIAotICAgIDc4LCA3OCwgNjUsIDEyOCwgNzMsIDc2LCA4NSwgODksIDEyOCwgNzMsIDc2LCA4NSwgODUsIDg5LCA2NSwgNzgsIDc4LCA2NSwgCi0gICAgMTI4LCA3MywgNzYsIDg1LCA4NCwgMTI4LCA3MywgNzYsIDczLCA3NywgNzcsIDg1LCA1MiwgMTI4LCA3MywgNzYsIDczLCAKLSAgICA3NywgNzcsIDg1LCA1MSwgMTI4LCA3MywgNzYsIDczLCA3NywgNzcsIDg1LCAxMjgsIDczLCA3NiwgNzMsIDc3LCA3NywgCi0gICAgMjEzLCA3MywgNzYsIDUwLCAxMjgsIDczLCA3NSwgNjUsIDgyLCA2NSwgMTI4LCA3MywgNzUsIDY1LCA4MiwgMTkzLCA3MywgCi0gICAgNzQsIDEyOCwgNzMsIDczLCA4OSwgNjUsIDc4LCA3OCwgNjUsIDEyOCwgNzMsIDcxLCA3MywgMTI4LCA3MywgNzEsIDIwMSwgCi0gICAgNzMsIDcxLCA3MSwgODcsIDgzLCAxMjgsIDczLCA3MCwgNzMsIDc4LCAxMjgsIDczLCA2OSwgODUsIDc4LCA3MSwgNDUsIDg0LCAKLSAgICA3MywgNzUsIDY5LCA4NSwgODQsIDEyOCwgNzMsIDY5LCA4NSwgNzgsIDcxLCA0NSwgODQsIDcyLCA3MywgNjksIDg1LCA4NCwgCi0gICAgNzIsIDEyOCwgNzMsIDY5LCA4NSwgNzgsIDcxLCA0NSwgODMsIDgzLCA2NSwgNzgsIDcxLCA3NSwgNzMsIDg5LCA2OSwgNzksIAotICAgIDc1LCAxMjgsIDczLCA2OSwgODUsIDc4LCA3MSwgNDUsIDgyLCA3MywgNjksIDg1LCA3NiwgMTI4LCA3MywgNjksIDg1LCA3OCwgCi0gICAgNzEsIDQ1LCA4MCwgNzMsIDY5LCA4NSwgODAsIDEyOCwgNzMsIDY5LCA4NSwgNzgsIDcxLCA0NSwgODAsIDcyLCA3MywgNjksIAotICAgIDg1LCA4MCwgNzIsIDEyOCwgNzMsIDY5LCA4NSwgNzgsIDcxLCA0NSwgNzUsIDczLCA4OSwgNjksIDc5LCA3NSwgMTI4LCA3MywgCi0gICAgNjksIDg1LCA3OCwgNzEsIDQ1LCA3NSwgNzIsIDczLCA2OSwgODUsIDc1LCA3MiwgMTI4LCA3MywgNjksIDg1LCA3OCwgNzEsIAotICAgIDQ1LCA2NywgNzMsIDY5LCA4NSwgNjcsIDEyOCwgNzMsIDY5LCA4NSwgNzgsIDcxLCA0NSwgNjcsIDcyLCA3MywgNjksIDg1LCAKLSAgICA2NywgNzIsIDEyOCwgNzMsIDY5LCA4NSwgNzgsIDE5OSwgNzMsIDY4LCA3NiwgNjksIDEyOCwgNzMsIDY4LCA3MywgNzcsIAotICAgIDEyOCwgNzMsIDY4LCA3MywgMjA1LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA2OCwgCi0gICAgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjgsIDU2LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY4LCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA2OCwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjgsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNjUsIDY4LCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA2OCwgCi0gICAgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjgsIDUwLCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY4LCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA2OCwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjcsIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNjUsIDY3LCA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA2NywgCi0gICAgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjcsIDY3LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY3LCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA2NywgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjcsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNjUsIDY3LCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA2NywgCi0gICAgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjcsIDU0LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY3LCA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA2NywgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjcsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNjUsIDY3LCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA2NywgCi0gICAgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjcsIDQ4LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY2LCA3MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA2NiwgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjYsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNjUsIDY2LCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA2NiwgCi0gICAgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjYsIDY1LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY2LCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA2NiwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjYsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNjUsIDY2LCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA2NiwgCi0gICAgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjYsIDUyLCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY2LCA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA2NiwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjYsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNjUsIDY2LCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA2NSwgCi0gICAgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjUsIDY5LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY1LCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA2NSwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjUsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNjUsIDY1LCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA2NSwgCi0gICAgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjUsIDU2LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY1LCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA2NSwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjUsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNjUsIDY1LCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA2NSwgCi0gICAgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjUsIDUwLCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY1LCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA2NSwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTcsIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNjUsIDU3LCA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1NywgCi0gICAgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTcsIDY3LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU3LCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1NywgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTcsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNjUsIDU3LCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1NywgCi0gICAgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTcsIDU0LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU3LCA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1NywgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTcsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNjUsIDU3LCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1NywgCi0gICAgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTcsIDQ4LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU2LCA3MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1NiwgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTYsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNjUsIDU2LCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1NiwgCi0gICAgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTYsIDY1LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU2LCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1NiwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTYsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNjUsIDU2LCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1NiwgCi0gICAgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTYsIDUyLCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU2LCA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1NiwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTYsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNjUsIDU2LCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1NSwgCi0gICAgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTUsIDY5LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU1LCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1NSwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTUsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNjUsIDU1LCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1NSwgCi0gICAgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTUsIDU2LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU1LCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1NSwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTUsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNjUsIDU1LCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1NSwgCi0gICAgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTUsIDUwLCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU1LCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1NSwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTQsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNjUsIDU0LCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1NCwgCi0gICAgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTQsIDY1LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU0LCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1NCwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTQsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNjUsIDU0LCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1NCwgCi0gICAgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTQsIDUyLCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU0LCA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1NCwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTQsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNjUsIDU0LCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1MywgCi0gICAgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTMsIDY5LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUzLCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1MywgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTMsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNjUsIDUzLCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1MywgCi0gICAgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTMsIDU2LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUzLCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1MywgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTMsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNjUsIDUzLCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1MywgCi0gICAgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTMsIDUwLCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUzLCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1MywgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTIsIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNjUsIDUyLCA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1MiwgCi0gICAgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTIsIDY3LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUyLCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1MiwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTIsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNjUsIDUyLCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1MiwgCi0gICAgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTIsIDU0LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUyLCA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1MiwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTIsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNjUsIDUyLCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1MiwgCi0gICAgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTIsIDQ4LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUxLCA3MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1MSwgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTEsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNjUsIDUxLCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1MSwgCi0gICAgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTEsIDY1LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUxLCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1MSwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTEsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNjUsIDUxLCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1MSwgCi0gICAgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTEsIDUyLCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUxLCA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1MSwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTEsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNjUsIDUxLCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1MCwgCi0gICAgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTAsIDY5LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUwLCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1MCwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTAsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNjUsIDUwLCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1MCwgCi0gICAgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTAsIDU2LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUwLCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1MCwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTAsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNjUsIDUwLCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1MCwgCi0gICAgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTAsIDUwLCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUwLCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1MCwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA2NSwgNDksIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNjUsIDQ5LCA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA0OSwgCi0gICAgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNDksIDY3LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDQ5LCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA0OSwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA2NSwgNDksIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNjUsIDQ5LCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA0OSwgCi0gICAgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNDksIDU0LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDQ5LCA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA0OSwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA2NSwgNDksIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNjUsIDQ5LCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA0OSwgCi0gICAgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNDksIDQ4LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDQ4LCA3MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA0OCwgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA2NSwgNDgsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNjUsIDQ4LCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA0OCwgCi0gICAgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNDgsIDY1LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDQ4LCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA0OCwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA2NSwgNDgsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNjUsIDQ4LCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA0OCwgCi0gICAgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNDgsIDUyLCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDQ4LCA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA0OCwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA2NSwgNDgsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNjUsIDQ4LCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA3MCwgCi0gICAgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNzAsIDY5LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDcwLCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA3MCwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA1NywgNzAsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNTcsIDcwLCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA3MCwgCi0gICAgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNzAsIDU2LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDcwLCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA3MCwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA1NywgNzAsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNTcsIDcwLCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA3MCwgCi0gICAgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNzAsIDUwLCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDcwLCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA3MCwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA1NywgNjksIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNTcsIDY5LCA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2OSwgCi0gICAgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjksIDY3LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY5LCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2OSwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA1NywgNjksIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNTcsIDY5LCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2OSwgCi0gICAgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjksIDU0LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY5LCA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2OSwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA1NywgNjksIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNTcsIDY5LCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2OSwgCi0gICAgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjksIDQ4LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY4LCA3MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2OCwgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA1NywgNjgsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNTcsIDY4LCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2OCwgCi0gICAgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjgsIDY1LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY4LCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2OCwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA1NywgNjgsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNTcsIDY4LCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2OCwgCi0gICAgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjgsIDUyLCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY4LCA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2OCwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA1NywgNjgsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNTcsIDY4LCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2NywgCi0gICAgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjcsIDY5LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY3LCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2NywgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA1NywgNjcsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNTcsIDY3LCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2NywgCi0gICAgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjcsIDU2LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY3LCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2NywgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA1NywgNjcsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNTcsIDY3LCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2NywgCi0gICAgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjcsIDUwLCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY3LCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2NywgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA1NywgNjYsIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNTcsIDY2LCA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2NiwgCi0gICAgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjYsIDY3LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY2LCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2NiwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA1NywgNjYsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNTcsIDY2LCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2NiwgCi0gICAgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjYsIDU0LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY2LCA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2NiwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA1NywgNjYsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNTcsIDY2LCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2NiwgCi0gICAgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjYsIDQ4LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY1LCA3MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2NSwgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA1NywgNjUsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNTcsIDY1LCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2NSwgCi0gICAgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjUsIDY1LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY1LCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2NSwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA1NywgNjUsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNTcsIDY1LCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2NSwgCi0gICAgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjUsIDUyLCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY1LCA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2NSwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA1NywgNjUsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNTcsIDY1LCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1NywgCi0gICAgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTcsIDY5LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU3LCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1NywgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA1NywgNTcsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNTcsIDU3LCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1NywgCi0gICAgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTcsIDU2LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU3LCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1NywgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA1NywgNTcsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNTcsIDU3LCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1NywgCi0gICAgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTcsIDUwLCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU3LCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1NywgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA1NywgNTYsIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNTcsIDU2LCA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1NiwgCi0gICAgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTYsIDY3LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU2LCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1NiwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA1NywgNTYsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNTcsIDU2LCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1NiwgCi0gICAgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTYsIDU0LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU2LCA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1NiwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA1NywgNTYsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNTcsIDU2LCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1NiwgCi0gICAgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTYsIDQ4LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU1LCA3MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1NSwgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA1NywgNTUsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNTcsIDU1LCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1NSwgCi0gICAgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTUsIDY1LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU1LCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1NSwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA1NywgNTUsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNTcsIDU1LCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1NSwgCi0gICAgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTUsIDUyLCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU1LCA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1NSwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA1NywgNTUsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNTcsIDU1LCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1NCwgCi0gICAgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTQsIDY5LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU0LCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1NCwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA1NywgNTQsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNTcsIDU0LCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1NCwgCi0gICAgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTQsIDU2LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU0LCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1NCwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA1NywgNTQsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNTcsIDU0LCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1NCwgCi0gICAgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTQsIDUwLCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU0LCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1NCwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA1NywgNTMsIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNTcsIDUzLCA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1MywgCi0gICAgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTMsIDY3LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUzLCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1MywgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA1NywgNTMsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNTcsIDUzLCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1MywgCi0gICAgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTMsIDU0LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUzLCA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1MywgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA1NywgNTMsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNTcsIDUzLCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1MywgCi0gICAgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTMsIDQ4LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUyLCA3MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1MiwgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA1NywgNTIsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNTcsIDUyLCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1MiwgCi0gICAgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTIsIDY1LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUyLCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1MiwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA1NywgNTIsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNTcsIDUyLCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1MiwgCi0gICAgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTIsIDUyLCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUyLCA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1MiwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA1NywgNTIsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNTcsIDUyLCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1MSwgCi0gICAgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTEsIDY5LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUxLCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1MSwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA1NywgNTEsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNTcsIDUxLCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1MSwgCi0gICAgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTEsIDU2LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUxLCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1MSwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA1NywgNTEsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNTcsIDUxLCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1MSwgCi0gICAgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTEsIDUwLCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUxLCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1MSwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA1NywgNTAsIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNTcsIDUwLCA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1MCwgCi0gICAgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTAsIDY3LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUwLCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1MCwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA1NywgNTAsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNTcsIDUwLCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1MCwgCi0gICAgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTAsIDU0LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUwLCA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1MCwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA1NywgNTAsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNTcsIDUwLCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1MCwgCi0gICAgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTAsIDQ4LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDQ5LCA3MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA0OSwgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA1NywgNDksIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNTcsIDQ5LCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA0OSwgCi0gICAgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNDksIDY1LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDQ5LCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA0OSwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA1NywgNDksIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNTcsIDQ5LCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA0OSwgCi0gICAgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNDksIDUyLCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDQ5LCA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA0OSwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA1NywgNDksIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNTcsIDQ5LCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA0OCwgCi0gICAgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNDgsIDY5LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDQ4LCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA0OCwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA1NywgNDgsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNTcsIDQ4LCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA0OCwgCi0gICAgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNDgsIDU2LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDQ4LCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA0OCwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA1NywgNDgsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNTcsIDQ4LCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA0OCwgCi0gICAgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNDgsIDUwLCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDQ4LCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA0OCwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDU3LCA0OCwgNTIsIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA1NiwgNjgsIDU1LCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTYsIDY3LCA2NSwgCi0gICAgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDU2LCA1NywgNjksIDUxLCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1NSwgNjgsIDUyLCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTUsIDY1LCA1NSwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDU1LCA1NywgNTYsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA1NSwgNTQsIDY4LCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTUsIDUzLCA1MSwgCi0gICAgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDU1LCA1MywgNDksIDcwLCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1NSwgNDksIDUwLCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTUsIDQ4LCA2NiwgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDU0LCA3MCwgNDksIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA1NCwgNjksIDU2LCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTQsIDU1LCA1MCwgCi0gICAgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDU0LCA1NSwgNDgsIDU3LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1NCwgNTUsIDQ4LCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTQsIDU0LCA1MCwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDU0LCA1MywgNjYsIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA1NCwgNTMsIDU3LCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTQsIDUzLCA1MywgCi0gICAgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDU0LCA1MSwgNTMsIDUzLCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1NCwgNTEsIDQ4LCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTQsIDUwLCA1NywgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDU0LCA1MCwgNTMsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA1NCwgNTAsIDUyLCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTMsIDcwLCA1NiwgCi0gICAgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUzLCA2OCwgNjksIDU0LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MywgNjYsIDU2LCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTMsIDY2LCA1MywgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUzLCA1NywgNTAsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA1MywgNTcsIDQ5LCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTMsIDU2LCA3MCwgCi0gICAgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUzLCA1MywgNjYsIDU0LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MywgNTIsIDUxLCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTMsIDUyLCA0OCwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUzLCA1MSwgNzAsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA1MywgNTEsIDY3LCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTMsIDUwLCA2OCwgCi0gICAgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUzLCA1MCwgNTUsIDUwLCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MywgNTAsIDUyLCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTMsIDUwLCA0OSwgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUzLCA0OSwgNTYsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA1MiwgNjksIDY1LCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTIsIDY5LCA1NiwgCi0gICAgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUyLCA2OSwgNTAsIDY4LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MiwgNjksIDQ4LCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTIsIDY5LCA0OCwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNjUsIDQ5LCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA2NSwgNDksIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDY1LCA0OSwgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNjUsIAotICAgIDQ5LCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA2NSwgNDksIDU3LCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDY1LCA0OSwgNTYsIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNjUsIDQ5LCA1NSwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA2NSwgNDksIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDY1LCA0OSwgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNjUsIDQ5LCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA2NSwgNDksIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDY1LCA0OSwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNjUsIAotICAgIDQ5LCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA2NSwgNDksIDQ4LCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDY1LCA0OCwgNzAsIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNjUsIDQ4LCA2OSwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA2NSwgNDgsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDY1LCA0OCwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNjUsIDQ4LCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA2NSwgNDgsIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDY1LCA0OCwgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNjUsIAotICAgIDQ4LCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA2NSwgNDgsIDU1LCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDY1LCA0OCwgNTQsIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNjUsIDQ4LCA1MywgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA2NSwgNDgsIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDY1LCA0OCwgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNjUsIDQ4LCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA2NSwgNDgsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDY1LCA0OCwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIAotICAgIDcwLCA3MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNzAsIDY5LCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA3MCwgNjgsIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDcwLCA2NywgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNzAsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA3MCwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDcwLCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NywgNzAsIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU3LCA3MCwgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIAotICAgIDcwLCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNzAsIDUzLCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA3MCwgNTIsIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDcwLCA1MSwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNzAsIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA3MCwgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDcwLCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NywgNjksIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU3LCA2OSwgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIAotICAgIDY5LCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjksIDY3LCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2OSwgNjYsIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY5LCA2NSwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjksIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2OSwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY5LCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NywgNjksIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU3LCA2OSwgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIAotICAgIDY5LCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjksIDUxLCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2OSwgNTAsIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY5LCA0OSwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjksIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2OCwgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY4LCA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NywgNjgsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU3LCA2OCwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIAotICAgIDY4LCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjgsIDY1LCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2OCwgNTcsIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY4LCA1NiwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjgsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2OCwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY4LCA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NywgNjgsIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU3LCA2OCwgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIAotICAgIDY4LCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjgsIDQ5LCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2OCwgNDgsIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY3LCA3MCwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjcsIDY5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2NywgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY3LCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NywgNjcsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU3LCA2NywgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIAotICAgIDY3LCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjcsIDU2LCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2NywgNTUsIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY3LCA1NCwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjcsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2NywgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY3LCA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NywgNjcsIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU3LCA2NywgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIAotICAgIDY3LCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjYsIDcwLCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2NiwgNjksIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY2LCA2OCwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjYsIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2NiwgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY2LCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NywgNjYsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU3LCA2NiwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIAotICAgIDY2LCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjYsIDU0LCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2NiwgNTMsIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY2LCA1MiwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjYsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2NiwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY2LCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NywgNjYsIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU3LCA2NSwgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIAotICAgIDY1LCA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjUsIDY4LCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2NSwgNjcsIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY1LCA2NiwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjUsIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2NSwgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY1LCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NywgNjUsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU3LCA2NSwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIAotICAgIDY1LCA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjUsIDUyLCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2NSwgNTEsIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY1LCA1MCwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjUsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2NSwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU3LCA3MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NywgNTcsIDY5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU3LCA1NywgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIAotICAgIDU3LCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTcsIDY2LCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NywgNjUsIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU3LCA1NywgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTcsIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NywgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU3LCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NywgNTcsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU3LCA1NywgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIAotICAgIDU3LCA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTcsIDUwLCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NywgNDksIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU3LCA0OCwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTYsIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NiwgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU2LCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NywgNTYsIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU3LCA1NiwgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIAotICAgIDU2LCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTYsIDU3LCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NiwgNTYsIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU2LCA1NSwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTYsIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NiwgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU2LCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NywgNTYsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU3LCA1NiwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIAotICAgIDU2LCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTYsIDQ4LCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NSwgNzAsIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU1LCA2OSwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTUsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NSwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU1LCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NywgNTUsIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU3LCA1NSwgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIAotICAgIDU1LCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTUsIDU1LCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NSwgNTQsIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU1LCA1MywgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTUsIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NSwgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU1LCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NywgNTUsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU3LCA1NSwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIAotICAgIDU0LCA3MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTQsIDY5LCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NCwgNjgsIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU0LCA2NywgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTQsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NCwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU0LCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NywgNTQsIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU3LCA1NCwgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIAotICAgIDU0LCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTQsIDUzLCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NCwgNTIsIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU0LCA1MSwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTQsIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NCwgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU0LCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NywgNTMsIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU3LCA1MywgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIAotICAgIDUzLCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTMsIDY3LCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MywgNjYsIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUzLCA2NSwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTMsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MywgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUzLCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NywgNTMsIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU3LCA1MywgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIAotICAgIDUzLCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTMsIDUxLCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MywgNTAsIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUzLCA0OSwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTMsIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MiwgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUyLCA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NywgNTIsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU3LCA1MiwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIAotICAgIDUyLCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTIsIDY1LCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MiwgNTcsIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUyLCA1NiwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTIsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MiwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUyLCA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NywgNTIsIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU3LCA1MiwgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIAotICAgIDUyLCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTIsIDQ5LCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MiwgNDgsIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUxLCA3MCwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTEsIDY5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MSwgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUxLCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NywgNTEsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU3LCA1MSwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIAotICAgIDUxLCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTEsIDU2LCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MSwgNTUsIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUxLCA1NCwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTEsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MSwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUxLCA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NywgNTEsIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU3LCA1MSwgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIAotICAgIDUxLCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTAsIDcwLCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MCwgNjksIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUwLCA2OCwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTAsIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MCwgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUwLCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NywgNTAsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU3LCA1MCwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIAotICAgIDUwLCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTAsIDU0LCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MCwgNTMsIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUwLCA1MiwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTAsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MCwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUwLCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NywgNTAsIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU3LCA0OSwgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIAotICAgIDQ5LCA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNDksIDY4LCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA0OSwgNjcsIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDQ5LCA2NiwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNDksIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA0OSwgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDQ5LCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NywgNDksIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU3LCA0OSwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIAotICAgIDQ5LCA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNDksIDUyLCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA0OSwgNTEsIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDQ5LCA1MCwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNDksIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA0OSwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDQ4LCA3MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NywgNDgsIDY5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU3LCA0OCwgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIAotICAgIDQ4LCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNDgsIDY2LCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA0OCwgNjUsIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDQ4LCA1NywgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNDgsIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA0OCwgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDQ4LCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NywgNDgsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU3LCA0OCwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIAotICAgIDQ4LCA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNDgsIDUwLCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA0OCwgNDksIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDQ4LCA0OCwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNzAsIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA3MCwgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDcwLCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NiwgNzAsIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU2LCA3MCwgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIAotICAgIDcwLCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNzAsIDU3LCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA3MCwgNTYsIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDcwLCA1NSwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNzAsIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA3MCwgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDcwLCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NiwgNzAsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU2LCA3MCwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIAotICAgIDcwLCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNzAsIDQ4LCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2OSwgNzAsIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY5LCA2OSwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjksIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2OSwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY5LCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NiwgNjksIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU2LCA2OSwgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIAotICAgIDY5LCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjksIDU1LCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2OSwgNTQsIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY5LCA1MywgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjksIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2OSwgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY5LCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NiwgNjksIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU2LCA2OSwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIAotICAgIDY4LCA3MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjgsIDY5LCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2OCwgNjgsIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY4LCA2NywgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjgsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2OCwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY4LCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NiwgNjgsIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU2LCA2OCwgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIAotICAgIDY4LCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjgsIDUzLCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2OCwgNTIsIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY4LCA1MSwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjgsIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2OCwgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY4LCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NiwgNjcsIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU2LCA2NywgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIAotICAgIDY3LCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjcsIDY3LCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2NywgNjYsIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY3LCA2NSwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjcsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2NywgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY3LCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NiwgNjcsIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU2LCA2NywgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIAotICAgIDY3LCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjcsIDUxLCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2NywgNTAsIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY3LCA0OSwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjcsIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2NiwgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY2LCA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NiwgNjYsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU2LCA2NiwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIAotICAgIDY2LCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjYsIDY1LCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2NiwgNTcsIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY2LCA1NiwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjYsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2NiwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY2LCA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NiwgNjYsIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU2LCA2NiwgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIAotICAgIDY2LCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjYsIDQ5LCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2NiwgNDgsIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY1LCA3MCwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjUsIDY5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2NSwgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY1LCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NiwgNjUsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU2LCA2NSwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIAotICAgIDY1LCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjUsIDU2LCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2NSwgNTUsIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY1LCA1NCwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjUsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2NSwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY1LCA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NiwgNjUsIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU2LCA2NSwgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIAotICAgIDY1LCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTcsIDcwLCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NywgNjksIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU3LCA2OCwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTcsIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NywgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU3LCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NiwgNTcsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU2LCA1NywgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIAotICAgIDU3LCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTcsIDU0LCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NywgNTMsIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU3LCA1MiwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTcsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NywgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU3LCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NiwgNTcsIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU2LCA1NiwgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIAotICAgIDU2LCA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTYsIDY4LCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NiwgNjcsIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU2LCA2NiwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTYsIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NiwgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU2LCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NiwgNTYsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU2LCA1NiwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIAotICAgIDU2LCA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTYsIDUyLCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NiwgNTEsIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU2LCA1MCwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTYsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NiwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU1LCA3MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NiwgNTUsIDY5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU2LCA1NSwgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIAotICAgIDU1LCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTUsIDY2LCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NSwgNjUsIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU1LCA1NywgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTUsIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NSwgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU1LCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NiwgNTUsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU2LCA1NSwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIAotICAgIDU1LCA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTUsIDUwLCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NSwgNDksIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU1LCA0OCwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTQsIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NCwgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU0LCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NiwgNTQsIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU2LCA1NCwgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIAotICAgIDU0LCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTQsIDU3LCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NCwgNTYsIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU0LCA1NSwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTQsIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NCwgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU0LCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NiwgNTQsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU2LCA1NCwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIAotICAgIDU0LCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTQsIDQ4LCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MywgNzAsIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUzLCA2OSwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTMsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MywgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUzLCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NiwgNTMsIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU2LCA1MywgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIAotICAgIDUzLCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTMsIDU1LCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MywgNTQsIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUzLCA1MywgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTMsIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MywgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUzLCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NiwgNTMsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU2LCA1MywgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIAotICAgIDUyLCA3MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTIsIDY5LCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MiwgNjgsIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUyLCA2NywgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTIsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MiwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUyLCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NiwgNTIsIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU2LCA1MiwgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIAotICAgIDUyLCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTIsIDUzLCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MiwgNTIsIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUyLCA1MSwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTIsIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MiwgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUyLCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NiwgNTEsIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU2LCA1MSwgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIAotICAgIDUxLCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTEsIDY3LCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MSwgNjYsIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUxLCA2NSwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTEsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MSwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUxLCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NiwgNTEsIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU2LCA1MSwgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIAotICAgIDUxLCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTEsIDUxLCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MSwgNTAsIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUxLCA0OSwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTEsIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MCwgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUwLCA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NiwgNTAsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU2LCA1MCwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIAotICAgIDUwLCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTAsIDY1LCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MCwgNTcsIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUwLCA1NiwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTAsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MCwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUwLCA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NiwgNTAsIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU2LCA1MCwgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIAotICAgIDUwLCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTAsIDQ5LCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MCwgNDgsIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDQ5LCA3MCwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNDksIDY5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA0OSwgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDQ5LCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NiwgNDksIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU2LCA0OSwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIAotICAgIDQ5LCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNDksIDU2LCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA0OSwgNTUsIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDQ5LCA1NCwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNDksIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA0OSwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDQ5LCA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NiwgNDksIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU2LCA0OSwgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIAotICAgIDQ5LCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNDgsIDcwLCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA0OCwgNjksIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDQ4LCA2OCwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNDgsIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA0OCwgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDQ4LCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NiwgNDgsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU2LCA0OCwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIAotICAgIDQ4LCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNDgsIDU0LCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA0OCwgNTMsIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDQ4LCA1MiwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNDgsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA0OCwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDQ4LCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NiwgNDgsIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc4LCA4NCwgNzMsIDcwLCA3MywgNjcsIDY1LCA4NCwgCi0gICAgNzMsIDc5LCA3OCwgMTI4LCA3MywgNjgsIDY5LCA3OCwgODQsIDczLCA2NywgNjUsIDIwNCwgNzMsIDY3LCA3MiwgNzksIDg1LCAKLSAgICAxMjgsIDczLCA2NywgNzIsIDc5LCA4MywgMTI4LCA3MywgNjcsIDcyLCA3MywgNzcsIDY1LCA4NCwgNzksIDgzLCAxMjgsIAotICAgIDczLCA2NywgNzIsIDY1LCA2OCwgNzMsIDc4LCAxMjgsIDczLCA2NywgNjksIDc2LCA2NSwgNzgsIDY4LCA3MywgNjcsIDQ1LCAKLSAgICA4OSwgODIsIDEyOCwgNzMsIDY2LCA3MywgNzAsIDczLCA3NiwgNzMsIDEyOCwgNzMsIDY1LCA4NSwgNjgsIDY1LCAxMjgsIAotICAgIDczLCA0OCwgNDksIDUzLCAxMjgsIDczLCA0OCwgNDksIDUyLCAxMjgsIDczLCA0OCwgNDksIDUxLCAxMjgsIDczLCA0OCwgCi0gICAgNDksIDUwLCAxMjgsIDczLCA0OCwgNDksIDQ5LCA2NSwgMTI4LCA3MywgNDgsIDQ5LCA0OSwgMTI4LCA3MywgNDgsIDQ5LCAKLSAgICA0OCwgNjUsIDEyOCwgNzMsIDQ4LCA0OSwgNDgsIDEyOCwgNzMsIDQ4LCA0OCwgNTcsIDY1LCAxMjgsIDczLCA0OCwgNDgsIAotICAgIDU3LCAxMjgsIDczLCA0OCwgNDgsIDU2LCAxMjgsIDczLCA0OCwgNDgsIDU1LCAxMjgsIDczLCA0OCwgNDgsIDU0LCAxMjgsIAotICAgIDczLCA0OCwgNDgsIDUzLCA2NSwgMTI4LCA3MywgNDgsIDQ4LCA1MywgMTI4LCA3MywgNDgsIDQ4LCA1MiwgMTI4LCA3MywgCi0gICAgNDgsIDQ4LCA1MSwgMTI4LCA3MywgNDgsIDQ4LCA1MCwgMTI4LCA3MywgNDgsIDQ4LCA0OSwgMTI4LCA3MywgNDUsIDg5LCAKLSAgICA4NSwgMTI4LCA3MywgNDUsIDg5LCA3OSwgMTI4LCA3MywgNDUsIDg5LCA2OSwgNzksIDEyOCwgNzMsIDQ1LCA4OSwgNjksIAotICAgIDEyOCwgNzMsIDQ1LCA4OSwgNjUsIDY5LCAxMjgsIDczLCA0NSwgODksIDY1LCA0NSwgNzksIDEyOCwgNzMsIDQ1LCA4OSwgCi0gICAgNjUsIDEyOCwgNzMsIDQ1LCA3OSwgNDUsIDczLCAxMjgsIDczLCA0NSwgNzksIDEyOCwgNzMsIDQ1LCA2OSwgODUsIDEyOCwgCi0gICAgNzMsIDQ1LCA2NiwgNjksIDY1LCA3NywgMTI4LCA3MywgNDUsIDY1LCA4MiwgNjUsIDY5LCA2NSwgMTI4LCA3MywgNDUsIDY1LCAKLSAgICAxMjgsIDcyLCA5MCwgOTAsIDkwLCA3MSwgMTI4LCA3MiwgOTAsIDkwLCA5MCwgMTI4LCA3MiwgOTAsIDkwLCA4MCwgMTI4LCAKLSAgICA3MiwgOTAsIDkwLCAxMjgsIDcyLCA5MCwgODcsIDcxLCAxMjgsIDcyLCA5MCwgODcsIDEyOCwgNzIsIDkwLCA4NCwgMTI4LCAKLSAgICA3MiwgOTAsIDcxLCAxMjgsIDcyLCA4OSwgODMsIDg0LCA2OSwgODIsIDY5LCA4MywgNzMsIDIxMSwgNzIsIDg5LCA4MCwgNzksIAotICAgIDY4LCA3MywgNjUsIDgzLCA4NCwgNzksIDc2LCA2OSwgMTI4LCA3MiwgODksIDgwLCA3MiwgNjksIDc4LCA2NSwgODQsIDczLCAKLSAgICA3OSwgMjA2LCA3MiwgODksIDgwLCA3MiwgNjksIDc4LCA0NSwgNzcsIDczLCA3OCwgODUsIDgzLCAxMjgsIDcyLCA4OSwgODAsIAotICAgIDcyLCA2OSwgNzgsIDEyOCwgNzIsIDg5LCA4MCwgNzIsIDY5LCAyMDYsIDcyLCA4OCwgODcsIDcxLCAxMjgsIDcyLCA4OCwgCi0gICAgODUsIDc5LCA4OCwgMTI4LCA3MiwgODgsIDg1LCA3OSwgODQsIDEyOCwgNzIsIDg4LCA4NSwgNzksIDgwLCAxMjgsIDcyLCAKLSAgICA4OCwgODUsIDc5LCAxMjgsIDcyLCA4OCwgNzksIDg4LCAxMjgsIDcyLCA4OCwgNzksIDg0LCAxMjgsIDcyLCA4OCwgNzksIAotICAgIDgwLCAxMjgsIDcyLCA4OCwgNzksIDEyOCwgNzIsIDg4LCA3MywgODgsIDEyOCwgNzIsIDg4LCA3MywgODQsIDEyOCwgNzIsIAotICAgIDg4LCA3MywgODAsIDEyOCwgNzIsIDg4LCA3MywgNjksIDg4LCAxMjgsIDcyLCA4OCwgNzMsIDY5LCA4NCwgMTI4LCA3MiwgCi0gICAgODgsIDczLCA2OSwgODAsIDEyOCwgNzIsIDg4LCA3MywgNjksIDEyOCwgNzIsIDg4LCA3MywgMTI4LCA3MiwgODgsIDY5LCAKLSAgICA4OCwgMTI4LCA3MiwgODgsIDY5LCA4MCwgMTI4LCA3MiwgODgsIDY5LCAxMjgsIDcyLCA4OCwgNjUsIDg4LCAxMjgsIDcyLCAKLSAgICA4OCwgNjUsIDg0LCAxMjgsIDcyLCA4OCwgNjUsIDgwLCAxMjgsIDcyLCA4OCwgNjUsIDEyOCwgNzIsIDg3LCA4NSwgMTI4LCAKLSAgICA3MiwgODcsIDY1LCA3MywgODIsIDEyOCwgNzIsIDg2LCAxMjgsIDcyLCA4NSwgODMsIDcyLCA2OSwgMTk2LCA3MiwgODUsIAotICAgIDgyLCA2NSwgNzgsIDEyOCwgNzIsIDg1LCA3OSwgODQsIDEyOCwgNzIsIDg1LCA3OCwgNjgsIDgyLCA2OSwgNjgsIDEyOCwgCi0gICAgNzIsIDg1LCA3OCwgNjgsIDgyLCA2OSwgMTk2LCA3MiwgODUsIDc4LCAxMjgsIDcyLCA4NSwgNzcsIDY1LCA3OCwgMTI4LCAKLSAgICA3MiwgODUsIDc3LCA2NSwgMjA2LCA3MiwgODUsIDc2LCA1MCwgMTI4LCA3MiwgODUsIDczLCA3MywgODQsIDc5LCAxMjgsIAotICAgIDcyLCA4NSwgNjYsIDUwLCAxMjgsIDcyLCA4NSwgNjYsIDE3OCwgNzIsIDg1LCA2NiwgMTI4LCA3MiwgODUsIDY1LCA4MiwgCi0gICAgNjUsIDY4LCA2OCwgNzksIDEyOCwgNzIsIDg0LCA4MywgMTI4LCA3MiwgODQsIDc0LCAxMjgsIDcyLCA4MiwgODksIDg2LCAKLSAgICA3OCwgNzMsIDE5MywgNzIsIDgwLCA4NywgNzEsIDEyOCwgNzIsIDgwLCA2NSwgMTI4LCA3MiwgODAsIDEyOCwgNzIsIDc5LCAKLSAgICA4NSwgODMsIDE5NywgNzIsIDc5LCA4NSwgODIsIDcxLCA3NiwgNjUsIDgzLCA4MywgMTI4LCA3MiwgNzksIDg1LCA4MiwgNzEsIAotICAgIDc2LCA2NSwgODMsIDIxMSwgNzIsIDc5LCA4NSwgODIsIDEyOCwgNzIsIDc5LCA4NSwgMjEwLCA3MiwgNzksIDg0LCA2OSwgCi0gICAgNzYsIDEyOCwgNzIsIDc5LCA4NCwgNjUsIDEyOCwgNzIsIDc5LCA4MywgODAsIDczLCA4NCwgNjUsIDc2LCAxMjgsIDcyLCAKLSAgICA3OSwgODIsIDgzLCA2OSwgMTI4LCA3MiwgNzksIDgyLCA4MywgMTk3LCA3MiwgNzksIDgyLCA3OCwgODMsIDEyOCwgNzIsIAotICAgIDc5LCA4MiwgNzMsIDkwLCA3OSwgNzgsIDg0LCA2NSwgNzYsIDc2LCAyMTcsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCAKLSAgICA4NCwgNjUsIDc2LCA0NSwgNDgsIDU0LCA0NSwgNDgsIDU0LCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgCi0gICAgNjUsIDc2LCA0NSwgNDgsIDU0LCA0NSwgNDgsIDUzLCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIAotICAgIDc2LCA0NSwgNDgsIDU0LCA0NSwgNDgsIDUyLCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCAKLSAgICA0NSwgNDgsIDU0LCA0NSwgNDgsIDUxLCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgCi0gICAgNDgsIDU0LCA0NSwgNDgsIDUwLCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIAotICAgIDU0LCA0NSwgNDgsIDQ5LCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDU0LCAKLSAgICA0NSwgNDgsIDQ4LCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDUzLCA0NSwgCi0gICAgNDgsIDU0LCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDUzLCA0NSwgNDgsIAotICAgIDUzLCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDUzLCA0NSwgNDgsIDUyLCAKLSAgICAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDUzLCA0NSwgNDgsIDUxLCAxMjgsIAotICAgIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDUzLCA0NSwgNDgsIDUwLCAxMjgsIDcyLCAKLSAgICA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDUzLCA0NSwgNDgsIDQ5LCAxMjgsIDcyLCA3OSwgCi0gICAgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDUzLCA0NSwgNDgsIDQ4LCAxMjgsIDcyLCA3OSwgODIsIAotICAgIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDUyLCA0NSwgNDgsIDU0LCAxMjgsIDcyLCA3OSwgODIsIDczLCAKLSAgICA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDUyLCA0NSwgNDgsIDUzLCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgCi0gICAgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDUyLCA0NSwgNDgsIDUyLCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIAotICAgIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDUyLCA0NSwgNDgsIDUxLCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCAKLSAgICA4NCwgNjUsIDc2LCA0NSwgNDgsIDUyLCA0NSwgNDgsIDUwLCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgCi0gICAgNjUsIDc2LCA0NSwgNDgsIDUyLCA0NSwgNDgsIDQ5LCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIAotICAgIDc2LCA0NSwgNDgsIDUyLCA0NSwgNDgsIDQ4LCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCAKLSAgICA0NSwgNDgsIDUxLCA0NSwgNDgsIDU0LCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgCi0gICAgNDgsIDUxLCA0NSwgNDgsIDUzLCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIAotICAgIDUxLCA0NSwgNDgsIDUyLCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDUxLCAKLSAgICA0NSwgNDgsIDUxLCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDUxLCA0NSwgCi0gICAgNDgsIDUwLCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDUxLCA0NSwgNDgsIAotICAgIDQ5LCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDUxLCA0NSwgNDgsIDQ4LCAKLSAgICAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDUwLCA0NSwgNDgsIDU0LCAxMjgsIAotICAgIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDUwLCA0NSwgNDgsIDUzLCAxMjgsIDcyLCAKLSAgICA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDUwLCA0NSwgNDgsIDUyLCAxMjgsIDcyLCA3OSwgCi0gICAgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDUwLCA0NSwgNDgsIDUxLCAxMjgsIDcyLCA3OSwgODIsIAotICAgIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDUwLCA0NSwgNDgsIDUwLCAxMjgsIDcyLCA3OSwgODIsIDczLCAKLSAgICA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDUwLCA0NSwgNDgsIDQ5LCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgCi0gICAgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDUwLCA0NSwgNDgsIDQ4LCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIAotICAgIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDQ5LCA0NSwgNDgsIDU0LCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCAKLSAgICA4NCwgNjUsIDc2LCA0NSwgNDgsIDQ5LCA0NSwgNDgsIDUzLCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgCi0gICAgNjUsIDc2LCA0NSwgNDgsIDQ5LCA0NSwgNDgsIDUyLCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIAotICAgIDc2LCA0NSwgNDgsIDQ5LCA0NSwgNDgsIDUxLCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCAKLSAgICA0NSwgNDgsIDQ5LCA0NSwgNDgsIDUwLCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgCi0gICAgNDgsIDQ5LCA0NSwgNDgsIDQ5LCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIAotICAgIDQ5LCA0NSwgNDgsIDQ4LCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDQ4LCAKLSAgICA0NSwgNDgsIDU0LCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDQ4LCA0NSwgCi0gICAgNDgsIDUzLCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDQ4LCA0NSwgNDgsIAotICAgIDUyLCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDQ4LCA0NSwgNDgsIDUxLCAKLSAgICAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDQ4LCA0NSwgNDgsIDUwLCAxMjgsIAotICAgIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDQ4LCA0NSwgNDgsIDQ5LCAxMjgsIDcyLCAKLSAgICA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDQ4LCA0NSwgNDgsIDQ4LCAxMjgsIDcyLCA3OSwgCi0gICAgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCAxMjgsIDcyLCA3OSwgODIsIDczLCAxMjgsIDcyLCA3OSwgODIsIAotICAgIDE5MywgNzIsIDc5LCA3OSwgODIsIDg1LCAxMjgsIDcyLCA3OSwgNzksIDgwLCAxMjgsIDcyLCA3OSwgNzksIDc4LCAxMjgsIAotICAgIDcyLCA3OSwgNzksIDc1LCA2OSwgMTk2LCA3MiwgNzksIDc4LCA2OSwgODksIDY2LCA2OSwgNjksIDEyOCwgNzIsIDc5LCA3OCwgCi0gICAgNjksIDIxNywgNzIsIDc5LCA3NywgNzksIDg0LCA3MiwgNjksIDg0LCA3MywgNjcsIDEyOCwgNzIsIDc5LCA3NywgNzksIDg0LCAKLSAgICA3MiwgNjksIDg0LCA3MywgMTk1LCA3MiwgNzksIDc2LCA2OSwgMTI4LCA3MiwgNzksIDc2LCA2OCwgNzMsIDc4LCAxOTksIAorICAgIDc0LCA4NSwgNjgsIDY5LCA3OSwgNDUsIDgzLCA4MCwgNjUsIDc4LCA3MywgODMsIDIwMCwgNzQsIDc5LCA4OSwgODMsIDg0LCAKKyAgICA3MywgNjcsIDc1LCAxMjgsIDc0LCA3OSwgODksIDc5LCA4NSwgMjExLCA3NCwgNzksIDg5LCAxMjgsIDc0LCA3OSwgODYsIAorICAgIDY5LCAxMjgsIDc0LCA3OSwgMjEyLCA3NCwgNzksIDc4LCA3MSwgMTI4LCA3NCwgNzksIDc4LCAxOTMsIDc0LCA3OSwgNzUsIAorICAgIDY5LCA4MiwgMTI4LCA3NCwgNzksIDczLCA3OCwgNjksIDY4LCAxMjgsIDc0LCA3OSwgNzMsIDc4LCAxMjgsIDc0LCA3OSwgCisgICAgNjUsIDEyOCwgNzQsIDc0LCA4OSwgODgsIDEyOCwgNzQsIDc0LCA4OSwgODQsIDEyOCwgNzQsIDc0LCA4OSwgODAsIDEyOCwgCisgICAgNzQsIDc0LCA4OSwgMTI4LCA3NCwgNzQsIDg1LCA4OCwgMTI4LCA3NCwgNzQsIDg1LCA4NCwgMTI4LCA3NCwgNzQsIDg1LCAKKyAgICA4MiwgODgsIDEyOCwgNzQsIDc0LCA4NSwgODIsIDEyOCwgNzQsIDc0LCA4NSwgODAsIDEyOCwgNzQsIDc0LCA4NSwgNzksIAorICAgIDg4LCAxMjgsIDc0LCA3NCwgODUsIDc5LCA4MCwgMTI4LCA3NCwgNzQsIDg1LCA3OSwgMTI4LCA3NCwgNzQsIDg1LCAxMjgsIAorICAgIDc0LCA3NCwgNzksIDg4LCAxMjgsIDc0LCA3NCwgNzksIDg0LCAxMjgsIDc0LCA3NCwgNzksIDgwLCAxMjgsIDc0LCA3NCwgCisgICAgNzksIDEyOCwgNzQsIDc0LCA3MywgODgsIDEyOCwgNzQsIDc0LCA3MywgODQsIDEyOCwgNzQsIDc0LCA3MywgODAsIDEyOCwgCisgICAgNzQsIDc0LCA3MywgNjksIDg4LCAxMjgsIDc0LCA3NCwgNzMsIDY5LCA4NCwgMTI4LCA3NCwgNzQsIDczLCA2OSwgODAsIAorICAgIDEyOCwgNzQsIDc0LCA3MywgNjksIDEyOCwgNzQsIDc0LCA3MywgMTI4LCA3NCwgNzQsIDY5LCA2OSwgMTI4LCA3NCwgNzQsIAorICAgIDY5LCAxMjgsIDc0LCA3NCwgNjUsIDEyOCwgNzQsIDczLCA3NiwgMTI4LCA3NCwgNzMsIDczLCAxMjgsIDc0LCA3MywgNzIsIAorICAgIDg2LCA2NSwgNzcsIDg1LCA3NiwgNzMsIDg5LCA2NSwgMTI4LCA3NCwgNzMsIDY1LCAxMjgsIDc0LCA3MiwgNzksIDg4LCAKKyAgICAxMjgsIDc0LCA3MiwgNzksIDEyOCwgNzQsIDcyLCA2OSwgNzIsIDEyOCwgNzQsIDcyLCA2NSwgODksIDczLCA3OCwgMTI4LCAKKyAgICA3NCwgNzIsIDY1LCA3OCwgMTI4LCA3NCwgNzIsIDY1LCA3NywgMTI4LCA3NCwgNzIsIDY1LCA2NSwgMTI4LCA3NCwgNzIsIAorICAgIDY1LCAxMjgsIDc0LCA2OSwgODUsIDEyOCwgNzQsIDY5LCA4MiwgODUsIDgzLCA2NSwgNzYsIDY5LCA3NywgMTI4LCA3NCwgCisgICAgNjksIDgyLCA2NSwgMjA2LCA3NCwgNjksIDgyLCA2NSwgMTI4LCA3NCwgNjksIDgyLCAxMjgsIDc0LCA2OSwgNzIsIDEyOCwgCisgICAgNzQsIDY5LCAyMDAsIDc0LCA2OSwgNzEsIDc5LCA3MSwgNjUsIDc4LCAxMjgsIDc0LCA2OSwgNjksIDc3LCAxMjgsIDc0LCAKKyAgICA2OSwgNjUsIDc4LCA4MywgMTI4LCA3NCwgNjUsIDg5LCA3OCwgMTI4LCA3NCwgNjUsIDg5LCA3MywgNzgsIDEyOCwgNzQsIAorICAgIDY1LCA4OSwgNjUsIDc4LCA3OCwgNjUsIDEyOCwgNzQsIDY1LCA4NiwgNzMsIDg5LCA2NSwgNzgsIDczLCAxMjgsIDc0LCA2NSwgCisgICAgODUsIDEyOCwgNzQsIDY1LCA4MiwgMTI4LCA3NCwgNjUsIDgwLCA2NSwgNzgsIDY5LCA4MywgMTk3LCA3NCwgNjUsIDgwLCAKKyAgICA2NSwgNzgsIDEyOCwgNzQsIDY1LCA3OCwgODUsIDY1LCA4MiwgODksIDEyOCwgNzQsIDY1LCA3NiwgNzYsIDY1LCA3NCwgNjUsIAorICAgIDc2LCA2NSwgNzYsIDc5LCA4NSwgNzIsIDc5LCA4NSwgMTI4LCA3NCwgNjUsIDczLCAxMjgsIDc0LCA2NSwgNzIsIDEyOCwgCisgICAgNzQsIDY1LCA2OCwgNjksIDEyOCwgNzQsIDY1LCA2NywgNzUsIDgzLCAxMjgsIDc0LCA2NSwgNjcsIDc1LCA0NSwgNzksIDQ1LCAKKyAgICA3NiwgNjUsIDc4LCA4NCwgNjksIDgyLCA3OCwgMTI4LCA3NCwgNjUsIDY3LCAyMDMsIDc0LCA0NSwgODMsIDczLCA3NywgODAsIAorICAgIDc2LCA3MywgNzAsIDczLCA2OSwgMTk2LCA3MywgOTAsIDcyLCA3MywgODQsIDgzLCA2NSwgMTI4LCA3MywgOTAsIDcyLCA3MywgCisgICAgODQsIDgzLCAxOTMsIDczLCA5MCwgNzIsIDY5LCAxMjgsIDczLCA5MCwgNjUsIDc1LCA2NSwgODksIDE5MywgNzMsIDg5LCAKKyAgICA2OSwgNzUsIDEyOCwgNzMsIDg5LCA2NSwgNzgsIDc4LCA2NSwgMTI4LCA3MywgODUsIDc0LCA2NSwgMTI4LCA3MywgODQsIAorICAgIDIxMSwgNzMsIDg0LCA2OSwgODIsIDY1LCA4NCwgNzMsIDc5LCAyMDYsIDczLCA4NCwgNjksIDc3LCAxMjgsIDczLCA4MywgCisgICAgODMsIDcyLCA2NSwgODIsIDEyOCwgNzMsIDgzLCA3OSwgODMsIDY3LCA2OSwgNzYsIDY5LCAyMTEsIDczLCA4MywgNzksIDc4LCAKKyAgICAxMjgsIDczLCA4MywgNzksIDIwNiwgNzMsIDgzLCA3OSwgNzYsIDY1LCA4NCwgNjksIDEyOCwgNzMsIDgzLCA3NiwgNjUsIAorICAgIDc4LCA2OCwgMTI4LCA3MywgODMsIDY5LCA3OCwgNDUsIDczLCA4MywgNjksIDc4LCAxMjgsIDczLCA4MywgNjUsIDc1LCA3MywgCisgICAgMTkzLCA3MywgODMsIDQ1LCA4MCwgNzMsIDc2LCA3NiwgNjUsIDEyOCwgNzMsIDgyLCA4NSwgODksIDY1LCA3OCwgNzgsIDY1LCAKKyAgICAxMjgsIDczLCA4MiwgODUsIDg1LCA4OSwgNjUsIDc4LCA3OCwgNjUsIDEyOCwgNzMsIDgyLCA3OSwgNzgsIDQ1LCA2NywgNzksIAorICAgIDgwLCA4MCwgNjksIDIxMCwgNzMsIDgyLCA3OSwgNzgsIDEyOCwgNzMsIDgyLCA2NiwgMTI4LCA3MywgNzksIDg0LCA3MywgCisgICAgNzAsIDczLCA2OSwgMTk2LCA3MywgNzksIDg0LCA2NSwgODQsIDY5LCAxOTYsIDczLCA3OSwgODQsIDY1LCAxMjgsIDczLCAKKyAgICA3OSwgODQsIDE5MywgNzMsIDc5LCA4MiwgMTI4LCA3MywgNzksIDY4LCA3MiwgNjUsIDY4LCA3MiwgMTI4LCA3MywgNzgsIAorICAgIDg2LCA3MywgODMsIDczLCA2NiwgNzYsIDE5NywgNzMsIDc4LCA4NiwgNjksIDgyLCA4NCwgNjksIDY4LCAxMjgsIDczLCA3OCwgCisgICAgODYsIDY5LCA4MiwgODQsIDY5LCAxOTYsIDczLCA3OCwgODYsIDY5LCA4MiwgODMsIDE5NywgNzMsIDc4LCA4NCwgODIsIDc5LCAKKyAgICA2OCwgODUsIDY3LCA2OSwgODIsIDEyOCwgNzMsIDc4LCA4NCwgNzMsIDEyOCwgNzMsIDc4LCA4NCwgNjksIDgyLCA4MywgODksIAorICAgIDc2LCA3NiwgNjUsIDY2LCA3MywgMTk1LCA3MywgNzgsIDg0LCA2OSwgODIsIDgzLCA2OSwgNjcsIDg0LCA3MywgNzksIDc4LCAKKyAgICAxMjgsIDczLCA3OCwgODQsIDY5LCA4MiwgODMsIDY5LCA2NywgODQsIDczLCA3OSwgMjA2LCA3MywgNzgsIDg0LCA2OSwgODIsIAorICAgIDgzLCA2OSwgNjcsIDg0LCA3MywgNzgsIDE5OSwgNzMsIDc4LCA4NCwgNjksIDgyLCA4MiwgNzksIDY2LCA2NSwgNzgsIDcxLCAKKyAgICAxMjgsIDczLCA3OCwgODQsIDY5LCA4MiwgODIsIDc5LCA2NiwgNjUsIDc4LCAxOTksIDczLCA3OCwgODQsIDY5LCA4MiwgODAsIAorICAgIDc5LCA3NiwgNjUsIDg0LCA3MywgNzksIDIwNiwgNzMsIDc4LCA4NCwgNjksIDgyLCA3NiwgNzksIDY3LCA3NSwgNjksIDE5NiwgCisgICAgNzMsIDc4LCA4NCwgNjksIDgyLCA3NiwgNzMsIDc4LCA2OSwgNjUsIDIxMCwgNzMsIDc4LCA4NCwgNjksIDgyLCA3NiwgNjUsIAorICAgIDY3LCA2OSwgMTk2LCA3MywgNzgsIDg0LCA2OSwgODIsIDczLCA3OSwgMjEwLCA3MywgNzgsIDg0LCA2OSwgODIsIDY5LCA4MywgCisgICAgMjEyLCA3MywgNzgsIDg0LCA2OSwgODIsIDY3LCA2NSwgNzYsIDY1LCA4NCwgNjksIDEyOCwgNzMsIDc4LCA4NCwgNjksIDcxLCAKKyAgICA4MiwgNjUsIDg0LCA3MywgNzksIDc4LCAxMjgsIDczLCA3OCwgODQsIDY5LCA3MSwgODIsIDY1LCA4NCwgNzMsIDc5LCAyMDYsIAorICAgIDczLCA3OCwgODQsIDY5LCA3MSwgODIsIDY1LCA3NiwgMTI4LCA3MywgNzgsIDg0LCA2OSwgNzEsIDgyLCA2NSwgMjA0LCA3MywgCisgICAgNzgsIDgzLCA4NSwgNzYsIDY1LCAyMTAsIDczLCA3OCwgODMsIDg0LCA4MiwgODUsIDc3LCA2OSwgNzgsIDg0LCA2NSwgMjA0LCAKKyAgICA3MywgNzgsIDgzLCA3MywgNjgsIDY5LCAxMjgsIDczLCA3OCwgODMsIDczLCA2OCwgMTk3LCA3MywgNzgsIDgzLCA2OSwgODIsIAorICAgIDg0LCA3MywgNzksIDIwNiwgNzMsIDc4LCA4MywgNjksIDY3LCA4NCwgMTI4LCA3MywgNzgsIDgzLCA2NywgODIsIDczLCA4MCwgCisgICAgODQsIDczLCA3OSwgNzgsIDY1LCAyMDQsIDczLCA3OCwgODAsIDg1LCAyMTIsIDczLCA3OCwgNzgsIDc5LCA2NywgNjksIDc4LCAKKyAgICA2NywgNjksIDEyOCwgNzMsIDc4LCA3OCwgNzgsIDEyOCwgNzMsIDc4LCA3OCwgNjksIDgyLCAxMjgsIDczLCA3OCwgNzgsIAorICAgIDY5LCAyMTAsIDczLCA3OCwgNzgsIDEyOCwgNzMsIDc4LCA3MywgNzgsIDcxLCA4NSwgMTI4LCA3MywgNzgsIDczLCAxMjgsIAorICAgIDczLCA3OCwgNzIsIDczLCA2NiwgNzMsIDIxMiwgNzMsIDc4LCA3MiwgNjksIDgyLCA2OSwgNzgsIDIxMiwgNzMsIDc4LCA3MSwgCisgICAgODcsIDY1LCA5MCwgMTI4LCA3MywgNzgsIDcwLCA3OSwgODIsIDc3LCA2NSwgODQsIDczLCA3OSwgMjA2LCA3MywgNzgsIDcwLCAKKyAgICA3NiwgODUsIDY5LCA3OCwgNjcsIDY5LCAxMjgsIDczLCA3OCwgNzAsIDczLCA3OCwgNzMsIDg0LCA4OSwgMTI4LCA3MywgNzgsIAorICAgIDcwLCA3MywgNzgsIDczLCA4NCwgMjE3LCA3MywgNzgsIDY4LCA4NSwgODMsIDg0LCA4MiwgNzMsIDY1LCAyMDQsIDczLCA3OCwgCisgICAgNjgsIDczLCA4MiwgNjksIDY3LCAyMTIsIDczLCA3OCwgNjgsIDczLCA2NywgNjUsIDg0LCA3OSwgODIsIDEyOCwgNzMsIDc4LCAKKyAgICA2OCwgNzMsIDY3LCA2NSwgODQsIDc5LCAyMTAsIDczLCA3OCwgNjgsIDczLCAxOTUsIDczLCA3OCwgNjgsIDczLCA2NSwgCisgICAgMjA2LCA3MywgNzgsIDY4LCA2OSwgODgsIDEyOCwgNzMsIDc4LCA2OCwgNjksIDIxNiwgNzMsIDc4LCA2OCwgNjksIDgwLCAKKyAgICA2OSwgNzgsIDY4LCA2OSwgNzgsIDIxMiwgNzMsIDc4LCA2NywgODIsIDY5LCA3NywgNjksIDc4LCA4NCwgMTI4LCA3MywgNzgsIAorICAgIDY3LCA4MiwgNjksIDY1LCA4MywgNjksIDIxMSwgNzMsIDc4LCA2NywgODIsIDY5LCA2NSwgODMsIDY5LCAxMjgsIDczLCA3OCwgCisgICAgNjcsIDgyLCA2OSwgNjUsIDgzLCAxOTcsIDczLCA3OCwgNjcsIDc5LCA3NywgODAsIDc2LCA2OSwgODQsIDE5NywgNzMsIDc4LCAKKyAgICA2NywgNzksIDc3LCA3MywgNzgsIDE5OSwgNzMsIDc4LCA2NywgNzYsIDg1LCA2OCwgNzMsIDc4LCAxOTksIDczLCA3OCwgNjcsIAorICAgIDcyLCAxMjgsIDczLCA3OCwgNjYsIDc5LCAyMTYsIDczLCA3OCwgNjUsIDgwLCAxMjgsIDczLCA3OCwgNDUsIDY1LCA3NiwgCisgICAgNjUsIDcwLCAxMjgsIDczLCA3NywgODAsIDY5LCA4MiwgNzMsIDY1LCAyMDQsIDczLCA3NywgODAsIDY5LCA4MiwgNzAsIDY5LCAKKyAgICA2NywgODQsIDg1LCAyMDUsIDczLCA3NywgODAsIDY5LCA4MiwgNzAsIDY5LCA2NywgODQsIDY1LCAxMjgsIDczLCA3NywgODAsIAorICAgIDY5LCA4MiwgNzAsIDY5LCA2NywgODQsIDE5MywgNzMsIDc3LCA3OCwgMTI4LCA3MywgNzcsIDczLCA4MywgNjksIDc5LCAKKyAgICAyMTEsIDczLCA3NywgNzMsIDc4LCA1MSwgMTI4LCA3MywgNzcsIDczLCA3OCwgMTI4LCA3MywgNzcsIDczLCAyMDYsIDczLCAKKyAgICA3NywgNzMsIDcwLCA4NCwgNzIsIDc5LCA4MiwgNzksIDc4LCAxMjgsIDczLCA3NywgNzMsIDcwLCA4NCwgNzIsIDc5LCA4MiwgCisgICAgNjUsIDEyOCwgNzMsIDc3LCA3MywgNzAsIDc5LCA3OCwgNzksIDc4LCAxMjgsIDczLCA3NywgNzMsIDY4LCA3MywgNjUsIDgyLCAKKyAgICA3MSwgNzksIDc4LCAxMjgsIDczLCA3NywgNjUsIDcxLCAxOTcsIDczLCA3NiwgODUsIDg5LCA2NSwgNzgsIDc4LCA2NSwgCisgICAgMTI4LCA3MywgNzYsIDg1LCA4OSwgMTI4LCA3MywgNzYsIDg1LCA4NSwgODksIDY1LCA3OCwgNzgsIDY1LCAxMjgsIDczLCAKKyAgICA3NiwgODUsIDg0LCAxMjgsIDczLCA3NiwgNzMsIDc3LCA3NywgODUsIDUyLCAxMjgsIDczLCA3NiwgNzMsIDc3LCA3NywgODUsIAorICAgIDUxLCAxMjgsIDczLCA3NiwgNzMsIDc3LCA3NywgODUsIDEyOCwgNzMsIDc2LCA3MywgNzcsIDc3LCAyMTMsIDczLCA3NiwgCisgICAgNTAsIDEyOCwgNzMsIDc1LCA2NSwgODIsIDY1LCAxMjgsIDczLCA3NSwgNjUsIDgyLCAxOTMsIDczLCA3NCwgMTI4LCA3MywgCisgICAgNzMsIDg5LCA2NSwgNzgsIDc4LCA2NSwgMTI4LCA3MywgNzEsIDczLCAxMjgsIDczLCA3MSwgMjAxLCA3MywgNzEsIDcxLCAKKyAgICA4NywgODMsIDEyOCwgNzMsIDcwLCA3MywgNzgsIDEyOCwgNzMsIDY5LCA4NSwgNzgsIDcxLCA0NSwgODQsIDczLCA3NSwgNjksIAorICAgIDg1LCA4NCwgMTI4LCA3MywgNjksIDg1LCA3OCwgNzEsIDQ1LCA4NCwgNzIsIDczLCA2OSwgODUsIDg0LCA3MiwgMTI4LCA3MywgCisgICAgNjksIDg1LCA3OCwgNzEsIDQ1LCA4MywgODMsIDY1LCA3OCwgNzEsIDc1LCA3MywgODksIDY5LCA3OSwgNzUsIDEyOCwgNzMsIAorICAgIDY5LCA4NSwgNzgsIDcxLCA0NSwgODIsIDczLCA2OSwgODUsIDc2LCAxMjgsIDczLCA2OSwgODUsIDc4LCA3MSwgNDUsIDgwLCAKKyAgICA3MywgNjksIDg1LCA4MCwgMTI4LCA3MywgNjksIDg1LCA3OCwgNzEsIDQ1LCA4MCwgNzIsIDczLCA2OSwgODUsIDgwLCA3MiwgCisgICAgMTI4LCA3MywgNjksIDg1LCA3OCwgNzEsIDQ1LCA3NSwgNzMsIDg5LCA2OSwgNzksIDc1LCAxMjgsIDczLCA2OSwgODUsIDc4LCAKKyAgICA3MSwgNDUsIDc1LCA3MiwgNzMsIDY5LCA4NSwgNzUsIDcyLCAxMjgsIDczLCA2OSwgODUsIDc4LCA3MSwgNDUsIDY3LCA3MywgCisgICAgNjksIDg1LCA2NywgMTI4LCA3MywgNjksIDg1LCA3OCwgNzEsIDQ1LCA2NywgNzIsIDczLCA2OSwgODUsIDY3LCA3MiwgMTI4LCAKKyAgICA3MywgNjksIDg1LCA3OCwgMTk5LCA3MywgNjgsIDc2LCA2OSwgMTI4LCA3MywgNjgsIDczLCA3NywgMTI4LCA3MywgNjgsIAorICAgIDczLCAyMDUsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY4LCA1NywgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA2OCwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjgsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY4LCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDY1LCA2OCwgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjgsIAorICAgIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY4LCA1MSwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA2OCwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjgsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY4LCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDY1LCA2NywgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjcsIAorICAgIDY5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY3LCA2OCwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA2NywgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjcsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY3LCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDY1LCA2NywgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjcsIAorICAgIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY3LCA1NSwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA2NywgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjcsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY3LCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDY1LCA2NywgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjcsIAorICAgIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY3LCA0OSwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA2NywgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjYsIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY2LCA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDY1LCA2NiwgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjYsIAorICAgIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY2LCA2NiwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA2NiwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjYsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY2LCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDY1LCA2NiwgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjYsIAorICAgIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY2LCA1MywgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA2NiwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjYsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY2LCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDY1LCA2NiwgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjYsIAorICAgIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY1LCA3MCwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA2NSwgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjUsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY1LCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDY1LCA2NSwgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjUsIAorICAgIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY1LCA1NywgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA2NSwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjUsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY1LCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDY1LCA2NSwgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjUsIAorICAgIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY1LCA1MSwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA2NSwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjUsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY1LCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDY1LCA1NywgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTcsIAorICAgIDY5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU3LCA2OCwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1NywgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTcsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU3LCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDY1LCA1NywgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTcsIAorICAgIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU3LCA1NSwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1NywgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTcsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU3LCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDY1LCA1NywgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTcsIAorICAgIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU3LCA0OSwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1NywgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTYsIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU2LCA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDY1LCA1NiwgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTYsIAorICAgIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU2LCA2NiwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1NiwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTYsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU2LCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDY1LCA1NiwgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTYsIAorICAgIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU2LCA1MywgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1NiwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTYsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU2LCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDY1LCA1NiwgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTYsIAorICAgIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU1LCA3MCwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1NSwgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTUsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU1LCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDY1LCA1NSwgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTUsIAorICAgIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU1LCA1NywgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1NSwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTUsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU1LCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDY1LCA1NSwgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTUsIAorICAgIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU1LCA1MSwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1NSwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTUsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU1LCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDY1LCA1NCwgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTQsIAorICAgIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU0LCA2NiwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1NCwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTQsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU0LCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDY1LCA1NCwgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTQsIAorICAgIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU0LCA1MywgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1NCwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTQsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU0LCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDY1LCA1NCwgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTQsIAorICAgIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUzLCA3MCwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1MywgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTMsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUzLCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDY1LCA1MywgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTMsIAorICAgIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUzLCA1NywgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1MywgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTMsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUzLCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDY1LCA1MywgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTMsIAorICAgIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUzLCA1MSwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1MywgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTMsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUzLCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDY1LCA1MiwgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTIsIAorICAgIDY5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUyLCA2OCwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1MiwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTIsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUyLCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDY1LCA1MiwgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTIsIAorICAgIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUyLCA1NSwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1MiwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTIsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUyLCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDY1LCA1MiwgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTIsIAorICAgIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUyLCA0OSwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1MiwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTEsIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUxLCA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDY1LCA1MSwgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTEsIAorICAgIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUxLCA2NiwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1MSwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTEsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUxLCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDY1LCA1MSwgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTEsIAorICAgIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUxLCA1MywgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1MSwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTEsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUxLCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDY1LCA1MSwgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTEsIAorICAgIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUwLCA3MCwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1MCwgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTAsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUwLCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDY1LCA1MCwgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTAsIAorICAgIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUwLCA1NywgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1MCwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTAsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUwLCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDY1LCA1MCwgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTAsIAorICAgIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUwLCA1MSwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1MCwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTAsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUwLCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDY1LCA0OSwgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNDksIAorICAgIDY5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDQ5LCA2OCwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA0OSwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNDksIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNjUsIDQ5LCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDY1LCA0OSwgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNDksIAorICAgIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDQ5LCA1NSwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA0OSwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNDksIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNjUsIDQ5LCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDY1LCA0OSwgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNDksIAorICAgIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDQ5LCA0OSwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA0OSwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNDgsIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNjUsIDQ4LCA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDY1LCA0OCwgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNDgsIAorICAgIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDQ4LCA2NiwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA0OCwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNDgsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNjUsIDQ4LCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDY1LCA0OCwgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNDgsIAorICAgIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDQ4LCA1MywgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA0OCwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNDgsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNjUsIDQ4LCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDY1LCA0OCwgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNDgsIAorICAgIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDcwLCA3MCwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA3MCwgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNzAsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDcwLCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDU3LCA3MCwgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNzAsIAorICAgIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDcwLCA1NywgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA3MCwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNzAsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDcwLCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDU3LCA3MCwgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNzAsIAorICAgIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDcwLCA1MSwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA3MCwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNzAsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDcwLCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDU3LCA2OSwgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjksIAorICAgIDY5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY5LCA2OCwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2OSwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjksIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY5LCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDU3LCA2OSwgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjksIAorICAgIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY5LCA1NSwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2OSwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjksIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY5LCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDU3LCA2OSwgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjksIAorICAgIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY5LCA0OSwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2OSwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjgsIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY4LCA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDU3LCA2OCwgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjgsIAorICAgIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY4LCA2NiwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2OCwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjgsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY4LCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDU3LCA2OCwgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjgsIAorICAgIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY4LCA1MywgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2OCwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjgsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY4LCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDU3LCA2OCwgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjgsIAorICAgIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY3LCA3MCwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2NywgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjcsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY3LCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDU3LCA2NywgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjcsIAorICAgIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY3LCA1NywgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2NywgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjcsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY3LCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDU3LCA2NywgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjcsIAorICAgIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY3LCA1MSwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2NywgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjcsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY3LCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDU3LCA2NiwgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjYsIAorICAgIDY5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY2LCA2OCwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2NiwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjYsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY2LCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDU3LCA2NiwgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjYsIAorICAgIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY2LCA1NSwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2NiwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjYsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY2LCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDU3LCA2NiwgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjYsIAorICAgIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY2LCA0OSwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2NiwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjUsIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY1LCA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDU3LCA2NSwgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjUsIAorICAgIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY1LCA2NiwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2NSwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjUsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY1LCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDU3LCA2NSwgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjUsIAorICAgIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY1LCA1MywgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2NSwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjUsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY1LCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDU3LCA2NSwgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjUsIAorICAgIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU3LCA3MCwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1NywgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTcsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU3LCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDU3LCA1NywgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTcsIAorICAgIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU3LCA1NywgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1NywgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTcsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU3LCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDU3LCA1NywgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTcsIAorICAgIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU3LCA1MSwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1NywgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTcsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU3LCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDU3LCA1NiwgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTYsIAorICAgIDY5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU2LCA2OCwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1NiwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTYsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU2LCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDU3LCA1NiwgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTYsIAorICAgIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU2LCA1NSwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1NiwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTYsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU2LCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDU3LCA1NiwgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTYsIAorICAgIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU2LCA0OSwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1NiwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTUsIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU1LCA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDU3LCA1NSwgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTUsIAorICAgIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU1LCA2NiwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1NSwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTUsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU1LCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDU3LCA1NSwgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTUsIAorICAgIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU1LCA1MywgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1NSwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTUsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU1LCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDU3LCA1NSwgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTUsIAorICAgIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU0LCA3MCwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1NCwgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTQsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU0LCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDU3LCA1NCwgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTQsIAorICAgIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU0LCA1NywgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1NCwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTQsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU0LCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDU3LCA1NCwgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTQsIAorICAgIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU0LCA1MSwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1NCwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTQsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU0LCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDU3LCA1MywgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTMsIAorICAgIDY5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUzLCA2OCwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1MywgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTMsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUzLCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDU3LCA1MywgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTMsIAorICAgIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUzLCA1NSwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1MywgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTMsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUzLCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDU3LCA1MywgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTMsIAorICAgIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUzLCA0OSwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1MywgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTIsIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUyLCA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDU3LCA1MiwgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTIsIAorICAgIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUyLCA2NiwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1MiwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTIsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUyLCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDU3LCA1MiwgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTIsIAorICAgIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUyLCA1MywgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1MiwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTIsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUyLCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDU3LCA1MiwgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTIsIAorICAgIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUxLCA3MCwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1MSwgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTEsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUxLCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDU3LCA1MSwgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTEsIAorICAgIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUxLCA1NywgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1MSwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTEsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUxLCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDU3LCA1MSwgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTEsIAorICAgIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUxLCA1MSwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1MSwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTEsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUxLCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDU3LCA1MCwgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTAsIAorICAgIDY5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUwLCA2OCwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1MCwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTAsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUwLCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDU3LCA1MCwgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTAsIAorICAgIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUwLCA1NSwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1MCwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTAsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUwLCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDU3LCA1MCwgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTAsIAorICAgIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUwLCA0OSwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1MCwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNDksIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDQ5LCA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDU3LCA0OSwgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNDksIAorICAgIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDQ5LCA2NiwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA0OSwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNDksIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDQ5LCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDU3LCA0OSwgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNDksIAorICAgIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDQ5LCA1MywgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA0OSwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNDksIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDQ5LCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDU3LCA0OSwgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNDksIAorICAgIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDQ4LCA3MCwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA0OCwgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNDgsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDQ4LCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDU3LCA0OCwgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNDgsIAorICAgIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDQ4LCA1NywgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA0OCwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNDgsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDQ4LCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDU3LCA0OCwgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNDgsIAorICAgIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDQ4LCA1MSwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA0OCwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNDgsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDQ4LCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTcsIDQ4LCA1MiwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDU2LCA2OCwgNTUsIAorICAgIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1NiwgNjcsIDY1LCA1NywgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTYsIDU3LCA2OSwgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDU1LCA2OCwgNTIsIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA1NSwgNjUsIDU1LCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTUsIDU3LCA1NiwgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDU1LCA1NCwgNjgsIAorICAgIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1NSwgNTMsIDUxLCA1MSwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTUsIDUzLCA0OSwgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDU1LCA0OSwgNTAsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA1NSwgNDgsIDY2LCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTQsIDcwLCA0OSwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDU0LCA2OSwgNTYsIAorICAgIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1NCwgNTUsIDUwLCA2NywgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTQsIDU1LCA0OCwgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDU0LCA1NSwgNDgsIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA1NCwgNTQsIDUwLCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTQsIDUzLCA2NiwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDU0LCA1MywgNTcsIAorICAgIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1NCwgNTMsIDUzLCA1NSwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTQsIDUxLCA1MywgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDU0LCA1MSwgNDgsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA1NCwgNTAsIDU3LCA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTQsIDUwLCA1MywgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDU0LCA1MCwgNTIsIAorICAgIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MywgNzAsIDU2LCA2NywgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTMsIDY4LCA2OSwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUzLCA2NiwgNTYsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA1MywgNjYsIDUzLCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTMsIDU3LCA1MCwgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUzLCA1NywgNDksIAorICAgIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MywgNTYsIDcwLCA0OCwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTMsIDUzLCA2NiwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUzLCA1MiwgNTEsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA1MywgNTIsIDQ4LCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTMsIDUxLCA3MCwgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUzLCA1MSwgNjcsIAorICAgIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MywgNTAsIDY4LCA2OCwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTMsIDUwLCA1NSwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUzLCA1MCwgNTIsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA1MywgNTAsIDQ5LCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTMsIDQ5LCA1NiwgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUyLCA2OSwgNjUsIAorICAgIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MiwgNjksIDU2LCA2NywgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTIsIDY5LCA1MCwgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUyLCA2OSwgNDgsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA1MiwgNjksIDQ4LCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA2NSwgNDksIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDY1LCA0OSwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNjUsIDQ5LCAKKyAgICA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA2NSwgNDksIDY1LCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDY1LCA0OSwgNTcsIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNjUsIDQ5LCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA2NSwgNDksIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDY1LCA0OSwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNjUsIDQ5LCA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA2NSwgNDksIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDY1LCA0OSwgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNjUsIDQ5LCAKKyAgICA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA2NSwgNDksIDQ5LCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDY1LCA0OSwgNDgsIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNjUsIDQ4LCA3MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA2NSwgNDgsIDY5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDY1LCA0OCwgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNjUsIDQ4LCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA2NSwgNDgsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDY1LCA0OCwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNjUsIDQ4LCAKKyAgICA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA2NSwgNDgsIDU2LCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDY1LCA0OCwgNTUsIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNjUsIDQ4LCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA2NSwgNDgsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDY1LCA0OCwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNjUsIDQ4LCA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA2NSwgNDgsIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDY1LCA0OCwgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNjUsIDQ4LCAKKyAgICA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNzAsIDcwLCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA3MCwgNjksIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDcwLCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNzAsIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA3MCwgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTcsIDcwLCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NywgNzAsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU3LCA3MCwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDcwLCAKKyAgICA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNzAsIDU0LCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA3MCwgNTMsIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDcwLCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNzAsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA3MCwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTcsIDcwLCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NywgNzAsIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU3LCA2OSwgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY5LCAKKyAgICA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjksIDY4LCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2OSwgNjcsIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY5LCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjksIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2OSwgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTcsIDY5LCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NywgNjksIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU3LCA2OSwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY5LCAKKyAgICA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjksIDUyLCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2OSwgNTEsIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY5LCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjksIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2OSwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTcsIDY4LCA3MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NywgNjgsIDY5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU3LCA2OCwgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY4LCAKKyAgICA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjgsIDY2LCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2OCwgNjUsIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY4LCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjgsIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2OCwgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTcsIDY4LCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NywgNjgsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU3LCA2OCwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY4LCAKKyAgICA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjgsIDUwLCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2OCwgNDksIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY4LCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjcsIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2NywgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTcsIDY3LCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NywgNjcsIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU3LCA2NywgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY3LCAKKyAgICA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjcsIDU3LCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2NywgNTYsIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY3LCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjcsIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2NywgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTcsIDY3LCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NywgNjcsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU3LCA2NywgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY3LCAKKyAgICA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjcsIDQ4LCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2NiwgNzAsIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY2LCA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjYsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2NiwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTcsIDY2LCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NywgNjYsIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU3LCA2NiwgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY2LCAKKyAgICA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjYsIDU1LCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2NiwgNTQsIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY2LCA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjYsIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2NiwgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTcsIDY2LCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NywgNjYsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU3LCA2NiwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY1LCAKKyAgICA3MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjUsIDY5LCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2NSwgNjgsIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY1LCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjUsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2NSwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTcsIDY1LCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NywgNjUsIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU3LCA2NSwgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY1LCAKKyAgICA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjUsIDUzLCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2NSwgNTIsIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY1LCA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjUsIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2NSwgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTcsIDY1LCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NywgNTcsIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU3LCA1NywgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU3LCAKKyAgICA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTcsIDY3LCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NywgNjYsIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU3LCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTcsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NywgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTcsIDU3LCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NywgNTcsIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU3LCA1NywgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU3LCAKKyAgICA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTcsIDUxLCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NywgNTAsIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU3LCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTcsIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NiwgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTcsIDU2LCA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NywgNTYsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU3LCA1NiwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU2LCAKKyAgICA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTYsIDY1LCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NiwgNTcsIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU2LCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTYsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NiwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTcsIDU2LCA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NywgNTYsIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU3LCA1NiwgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU2LCAKKyAgICA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTYsIDQ5LCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NiwgNDgsIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU1LCA3MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTUsIDY5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NSwgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTcsIDU1LCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NywgNTUsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU3LCA1NSwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU1LCAKKyAgICA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTUsIDU2LCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NSwgNTUsIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU1LCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTUsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NSwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTcsIDU1LCA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NywgNTUsIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU3LCA1NSwgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU1LCAKKyAgICA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTQsIDcwLCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NCwgNjksIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU0LCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTQsIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NCwgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTcsIDU0LCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NywgNTQsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU3LCA1NCwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU0LCAKKyAgICA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTQsIDU0LCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NCwgNTMsIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU0LCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTQsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NCwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTcsIDU0LCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NywgNTQsIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU3LCA1MywgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUzLCAKKyAgICA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTMsIDY4LCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MywgNjcsIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUzLCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTMsIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MywgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTcsIDUzLCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NywgNTMsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU3LCA1MywgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUzLCAKKyAgICA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTMsIDUyLCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MywgNTEsIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUzLCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTMsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MywgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTcsIDUyLCA3MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NywgNTIsIDY5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU3LCA1MiwgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUyLCAKKyAgICA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTIsIDY2LCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MiwgNjUsIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUyLCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTIsIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MiwgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTcsIDUyLCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NywgNTIsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU3LCA1MiwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUyLCAKKyAgICA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTIsIDUwLCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MiwgNDksIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUyLCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTEsIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MSwgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTcsIDUxLCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NywgNTEsIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU3LCA1MSwgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUxLCAKKyAgICA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTEsIDU3LCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MSwgNTYsIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUxLCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTEsIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MSwgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTcsIDUxLCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NywgNTEsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU3LCA1MSwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUxLCAKKyAgICA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTEsIDQ4LCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MCwgNzAsIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUwLCA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTAsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MCwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTcsIDUwLCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NywgNTAsIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU3LCA1MCwgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUwLCAKKyAgICA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTAsIDU1LCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MCwgNTQsIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUwLCA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTAsIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MCwgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTcsIDUwLCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NywgNTAsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU3LCA1MCwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDQ5LCAKKyAgICA3MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNDksIDY5LCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA0OSwgNjgsIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDQ5LCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNDksIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA0OSwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTcsIDQ5LCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NywgNDksIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU3LCA0OSwgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDQ5LCAKKyAgICA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNDksIDUzLCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA0OSwgNTIsIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDQ5LCA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNDksIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA0OSwgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTcsIDQ5LCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NywgNDgsIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU3LCA0OCwgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDQ4LCAKKyAgICA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNDgsIDY3LCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA0OCwgNjYsIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDQ4LCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNDgsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA0OCwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTcsIDQ4LCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NywgNDgsIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU3LCA0OCwgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDQ4LCAKKyAgICA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNDgsIDUxLCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA0OCwgNTAsIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDQ4LCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNDgsIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA3MCwgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTYsIDcwLCA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NiwgNzAsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU2LCA3MCwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDcwLCAKKyAgICA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNzAsIDY1LCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA3MCwgNTcsIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDcwLCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNzAsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA3MCwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTYsIDcwLCA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NiwgNzAsIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU2LCA3MCwgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDcwLCAKKyAgICA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNzAsIDQ5LCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA3MCwgNDgsIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY5LCA3MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjksIDY5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2OSwgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTYsIDY5LCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NiwgNjksIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU2LCA2OSwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY5LCAKKyAgICA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjksIDU2LCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2OSwgNTUsIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY5LCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjksIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2OSwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTYsIDY5LCA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NiwgNjksIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU2LCA2OSwgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY5LCAKKyAgICA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjgsIDcwLCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2OCwgNjksIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY4LCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjgsIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2OCwgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTYsIDY4LCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NiwgNjgsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU2LCA2OCwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY4LCAKKyAgICA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjgsIDU0LCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2OCwgNTMsIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY4LCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjgsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2OCwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTYsIDY4LCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NiwgNjgsIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU2LCA2NywgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY3LCAKKyAgICA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjcsIDY4LCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2NywgNjcsIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY3LCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjcsIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2NywgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTYsIDY3LCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NiwgNjcsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU2LCA2NywgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY3LCAKKyAgICA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjcsIDUyLCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2NywgNTEsIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY3LCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjcsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2NywgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTYsIDY2LCA3MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NiwgNjYsIDY5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU2LCA2NiwgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY2LCAKKyAgICA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjYsIDY2LCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2NiwgNjUsIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY2LCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjYsIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2NiwgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTYsIDY2LCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NiwgNjYsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU2LCA2NiwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY2LCAKKyAgICA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjYsIDUwLCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2NiwgNDksIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY2LCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjUsIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2NSwgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTYsIDY1LCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NiwgNjUsIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU2LCA2NSwgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY1LCAKKyAgICA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjUsIDU3LCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2NSwgNTYsIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY1LCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjUsIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2NSwgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTYsIDY1LCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NiwgNjUsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU2LCA2NSwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY1LCAKKyAgICA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjUsIDQ4LCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NywgNzAsIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU3LCA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTcsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NywgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTYsIDU3LCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NiwgNTcsIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU2LCA1NywgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU3LCAKKyAgICA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTcsIDU1LCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NywgNTQsIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU3LCA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTcsIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NywgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTYsIDU3LCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NiwgNTcsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU2LCA1NywgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU2LCAKKyAgICA3MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTYsIDY5LCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NiwgNjgsIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU2LCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTYsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NiwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTYsIDU2LCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NiwgNTYsIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU2LCA1NiwgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU2LCAKKyAgICA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTYsIDUzLCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NiwgNTIsIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU2LCA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTYsIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NiwgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTYsIDU2LCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NiwgNTUsIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU2LCA1NSwgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU1LCAKKyAgICA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTUsIDY3LCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NSwgNjYsIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU1LCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTUsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NSwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTYsIDU1LCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NiwgNTUsIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU2LCA1NSwgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU1LCAKKyAgICA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTUsIDUxLCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NSwgNTAsIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU1LCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTUsIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NCwgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTYsIDU0LCA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NiwgNTQsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU2LCA1NCwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU0LCAKKyAgICA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTQsIDY1LCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NCwgNTcsIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU0LCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTQsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NCwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTYsIDU0LCA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NiwgNTQsIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU2LCA1NCwgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU0LCAKKyAgICA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTQsIDQ5LCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NCwgNDgsIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUzLCA3MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTMsIDY5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MywgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTYsIDUzLCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NiwgNTMsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU2LCA1MywgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUzLCAKKyAgICA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTMsIDU2LCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MywgNTUsIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUzLCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTMsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MywgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTYsIDUzLCA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NiwgNTMsIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU2LCA1MywgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUzLCAKKyAgICA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTIsIDcwLCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MiwgNjksIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUyLCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTIsIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MiwgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTYsIDUyLCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NiwgNTIsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU2LCA1MiwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUyLCAKKyAgICA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTIsIDU0LCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MiwgNTMsIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUyLCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTIsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MiwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTYsIDUyLCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NiwgNTIsIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU2LCA1MSwgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUxLCAKKyAgICA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTEsIDY4LCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MSwgNjcsIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUxLCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTEsIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MSwgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTYsIDUxLCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NiwgNTEsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU2LCA1MSwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUxLCAKKyAgICA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTEsIDUyLCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MSwgNTEsIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUxLCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTEsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MSwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTYsIDUwLCA3MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NiwgNTAsIDY5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU2LCA1MCwgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUwLCAKKyAgICA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTAsIDY2LCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MCwgNjUsIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUwLCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTAsIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MCwgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTYsIDUwLCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NiwgNTAsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU2LCA1MCwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUwLCAKKyAgICA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTAsIDUwLCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MCwgNDksIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUwLCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNDksIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA0OSwgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTYsIDQ5LCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NiwgNDksIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU2LCA0OSwgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDQ5LCAKKyAgICA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNDksIDU3LCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA0OSwgNTYsIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDQ5LCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNDksIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA0OSwgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTYsIDQ5LCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NiwgNDksIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU2LCA0OSwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDQ5LCAKKyAgICA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNDksIDQ4LCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA0OCwgNzAsIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDQ4LCA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNDgsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA0OCwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTYsIDQ4LCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NiwgNDgsIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU2LCA0OCwgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDQ4LCAKKyAgICA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNDgsIDU1LCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA0OCwgNTQsIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDQ4LCA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNDgsIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA0OCwgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTYsIDQ4LCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NiwgNDgsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU2LCA0OCwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzgsIDg0LCA3MywgNzAsIDczLCA2NywgNjUsIDg0LCA3MywgNzksIDc4LCAKKyAgICAxMjgsIDczLCA2OCwgNjksIDc4LCA4NCwgNzMsIDY3LCA2NSwgMjA0LCA3MywgNjcsIDc5LCA3OCwgMTI4LCA3MywgNjcsIAorICAgIDcyLCA3OSwgODUsIDEyOCwgNzMsIDY3LCA3MiwgNzksIDgzLCAxMjgsIDczLCA2NywgNzIsIDczLCA3NywgNjUsIDg0LCA3OSwgCisgICAgODMsIDEyOCwgNzMsIDY3LCA3MiwgNjUsIDY4LCA3MywgNzgsIDEyOCwgNzMsIDY3LCA2OSwgNzYsIDY1LCA3OCwgNjgsIDczLCAKKyAgICA2NywgNDUsIDg5LCA4MiwgMTI4LCA3MywgNjYsIDczLCA3MCwgNzMsIDc2LCA3MywgMTI4LCA3MywgNjUsIDg1LCA2OCwgNjUsIAorICAgIDEyOCwgNzMsIDQ4LCA0OSwgNTMsIDEyOCwgNzMsIDQ4LCA0OSwgNTIsIDEyOCwgNzMsIDQ4LCA0OSwgNTEsIDEyOCwgNzMsIAorICAgIDQ4LCA0OSwgNTAsIDEyOCwgNzMsIDQ4LCA0OSwgNDksIDY1LCAxMjgsIDczLCA0OCwgNDksIDQ5LCAxMjgsIDczLCA0OCwgCisgICAgNDksIDQ4LCA2NSwgMTI4LCA3MywgNDgsIDQ5LCA0OCwgMTI4LCA3MywgNDgsIDQ4LCA1NywgNjUsIDEyOCwgNzMsIDQ4LCAKKyAgICA0OCwgNTcsIDEyOCwgNzMsIDQ4LCA0OCwgNTYsIDEyOCwgNzMsIDQ4LCA0OCwgNTUsIDEyOCwgNzMsIDQ4LCA0OCwgNTQsIAorICAgIDEyOCwgNzMsIDQ4LCA0OCwgNTMsIDY1LCAxMjgsIDczLCA0OCwgNDgsIDUzLCAxMjgsIDczLCA0OCwgNDgsIDUyLCAxMjgsIAorICAgIDczLCA0OCwgNDgsIDUxLCAxMjgsIDczLCA0OCwgNDgsIDUwLCAxMjgsIDczLCA0OCwgNDgsIDQ5LCAxMjgsIDczLCA0NSwgCisgICAgODksIDg1LCAxMjgsIDczLCA0NSwgODksIDc5LCAxMjgsIDczLCA0NSwgODksIDY5LCA3OSwgMTI4LCA3MywgNDUsIDg5LCAKKyAgICA2OSwgMTI4LCA3MywgNDUsIDg5LCA2NSwgNjksIDEyOCwgNzMsIDQ1LCA4OSwgNjUsIDQ1LCA3OSwgMTI4LCA3MywgNDUsIAorICAgIDg5LCA2NSwgMTI4LCA3MywgNDUsIDc5LCA0NSwgNzMsIDEyOCwgNzMsIDQ1LCA3OSwgMTI4LCA3MywgNDUsIDY5LCA4NSwgCisgICAgMTI4LCA3MywgNDUsIDY2LCA2OSwgNjUsIDc3LCAxMjgsIDczLCA0NSwgNjUsIDgyLCA2NSwgNjksIDY1LCAxMjgsIDczLCAKKyAgICA0NSwgNjUsIDEyOCwgNzIsIDkwLCA5MCwgOTAsIDcxLCAxMjgsIDcyLCA5MCwgOTAsIDkwLCAxMjgsIDcyLCA5MCwgOTAsIAorICAgIDgwLCAxMjgsIDcyLCA5MCwgOTAsIDEyOCwgNzIsIDkwLCA4NywgNzEsIDEyOCwgNzIsIDkwLCA4NywgMTI4LCA3MiwgOTAsIAorICAgIDg0LCAxMjgsIDcyLCA5MCwgNzEsIDEyOCwgNzIsIDg5LCA4MywgODQsIDY5LCA4MiwgNjksIDgzLCA3MywgMjExLCA3MiwgCisgICAgODksIDgwLCA3OSwgNjgsIDczLCA2NSwgODMsIDg0LCA3OSwgNzYsIDY5LCAxMjgsIDcyLCA4OSwgODAsIDcyLCA2OSwgNzgsIAorICAgIDY1LCA4NCwgNzMsIDc5LCAyMDYsIDcyLCA4OSwgODAsIDcyLCA2OSwgNzgsIDQ1LCA3NywgNzMsIDc4LCA4NSwgODMsIDEyOCwgCisgICAgNzIsIDg5LCA4MCwgNzIsIDY5LCA3OCwgMTI4LCA3MiwgODksIDgwLCA3MiwgNjksIDIwNiwgNzIsIDg4LCA4NywgNzEsIAorICAgIDEyOCwgNzIsIDg4LCA4NSwgNzksIDg4LCAxMjgsIDcyLCA4OCwgODUsIDc5LCA4NCwgMTI4LCA3MiwgODgsIDg1LCA3OSwgCisgICAgODAsIDEyOCwgNzIsIDg4LCA4NSwgNzksIDEyOCwgNzIsIDg4LCA3OSwgODgsIDEyOCwgNzIsIDg4LCA3OSwgODQsIDEyOCwgCisgICAgNzIsIDg4LCA3OSwgODAsIDEyOCwgNzIsIDg4LCA3OSwgMTI4LCA3MiwgODgsIDczLCA4OCwgMTI4LCA3MiwgODgsIDczLCAKKyAgICA4NCwgMTI4LCA3MiwgODgsIDczLCA4MCwgMTI4LCA3MiwgODgsIDczLCA2OSwgODgsIDEyOCwgNzIsIDg4LCA3MywgNjksIAorICAgIDg0LCAxMjgsIDcyLCA4OCwgNzMsIDY5LCA4MCwgMTI4LCA3MiwgODgsIDczLCA2OSwgMTI4LCA3MiwgODgsIDczLCAxMjgsIAorICAgIDcyLCA4OCwgNjksIDg4LCAxMjgsIDcyLCA4OCwgNjksIDgwLCAxMjgsIDcyLCA4OCwgNjksIDEyOCwgNzIsIDg4LCA2NSwgCisgICAgODgsIDEyOCwgNzIsIDg4LCA2NSwgODQsIDEyOCwgNzIsIDg4LCA2NSwgODAsIDEyOCwgNzIsIDg4LCA2NSwgMTI4LCA3MiwgCisgICAgODcsIDg1LCAxMjgsIDcyLCA4NywgNjUsIDczLCA4MiwgMTI4LCA3MiwgODcsIDY1LCA3MiwgMTI4LCA3MiwgODYsIDEyOCwgCisgICAgNzIsIDg1LCA4NiwgNjUsIDEyOCwgNzIsIDg1LCA4MywgNzIsIDY5LCAxOTYsIDcyLCA4NSwgODMsIDcyLCAxMjgsIDcyLCAKKyAgICA4NSwgODIsIDY1LCA3OCwgMTI4LCA3MiwgODUsIDc5LCA4NCwgMTI4LCA3MiwgODUsIDc4LCA2OCwgODIsIDY5LCA2OCwgODMsIAorICAgIDEyOCwgNzIsIDg1LCA3OCwgNjgsIDgyLCA2OSwgNjgsIDEyOCwgNzIsIDg1LCA3OCwgNjgsIDgyLCA2OSwgMTk2LCA3MiwgCisgICAgODUsIDc4LCAxMjgsIDcyLCA4NSwgNzcsIDY1LCA3OCwgMTI4LCA3MiwgODUsIDc3LCA2NSwgMjA2LCA3MiwgODUsIDc2LCAKKyAgICA1MCwgMTI4LCA3MiwgODUsIDczLCA3MywgODQsIDc5LCAxMjgsIDcyLCA4NSwgNjYsIDUwLCAxMjgsIDcyLCA4NSwgNjYsIAorICAgIDE3OCwgNzIsIDg1LCA2NiwgMTI4LCA3MiwgODUsIDY1LCA4MiwgNjUsIDY4LCA2OCwgNzksIDEyOCwgNzIsIDg1LCA2NSwgCisgICAgNzgsIDEyOCwgNzIsIDg0LCA4MywgMTI4LCA3MiwgODQsIDc0LCAxMjgsIDcyLCA4MiwgODksIDg2LCA3OCwgNzMsIDE5MywgCisgICAgNzIsIDgwLCA4NywgNzEsIDEyOCwgNzIsIDgwLCA2NSwgMTI4LCA3MiwgODAsIDEyOCwgNzIsIDc5LCA4NSwgODMsIDE5NywgCisgICAgNzIsIDc5LCA4NSwgODIsIDcxLCA3NiwgNjUsIDgzLCA4MywgMTI4LCA3MiwgNzksIDg1LCA4MiwgNzEsIDc2LCA2NSwgODMsIAorICAgIDIxMSwgNzIsIDc5LCA4NSwgODIsIDEyOCwgNzIsIDc5LCA4NSwgMjEwLCA3MiwgNzksIDg0LCA2OSwgNzYsIDEyOCwgNzIsIAorICAgIDc5LCA4NCwgNjUsIDEyOCwgNzIsIDc5LCA4MywgODAsIDczLCA4NCwgNjUsIDc2LCAxMjgsIDcyLCA3OSwgODIsIDgzLCA2OSwgCisgICAgMTI4LCA3MiwgNzksIDgyLCA4MywgMTk3LCA3MiwgNzksIDgyLCA4MiwgMTI4LCA3MiwgNzksIDgyLCA3OCwgODMsIDEyOCwgCisgICAgNzIsIDc5LCA4MiwgNzMsIDkwLCA3OSwgNzgsIDg0LCA2NSwgNzYsIDc2LCAyMTcsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIAorICAgIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDU0LCA0NSwgNDgsIDU0LCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCAKKyAgICA4NCwgNjUsIDc2LCA0NSwgNDgsIDU0LCA0NSwgNDgsIDUzLCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgCisgICAgNjUsIDc2LCA0NSwgNDgsIDU0LCA0NSwgNDgsIDUyLCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIAorICAgIDc2LCA0NSwgNDgsIDU0LCA0NSwgNDgsIDUxLCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCAKKyAgICA0NSwgNDgsIDU0LCA0NSwgNDgsIDUwLCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgCisgICAgNDgsIDU0LCA0NSwgNDgsIDQ5LCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIAorICAgIDU0LCA0NSwgNDgsIDQ4LCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDUzLCAKKyAgICA0NSwgNDgsIDU0LCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDUzLCA0NSwgCisgICAgNDgsIDUzLCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDUzLCA0NSwgNDgsIAorICAgIDUyLCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDUzLCA0NSwgNDgsIDUxLCAKKyAgICAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDUzLCA0NSwgNDgsIDUwLCAxMjgsIAorICAgIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDUzLCA0NSwgNDgsIDQ5LCAxMjgsIDcyLCAKKyAgICA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDUzLCA0NSwgNDgsIDQ4LCAxMjgsIDcyLCA3OSwgCisgICAgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDUyLCA0NSwgNDgsIDU0LCAxMjgsIDcyLCA3OSwgODIsIAorICAgIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDUyLCA0NSwgNDgsIDUzLCAxMjgsIDcyLCA3OSwgODIsIDczLCAKKyAgICA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDUyLCA0NSwgNDgsIDUyLCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgCisgICAgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDUyLCA0NSwgNDgsIDUxLCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIAorICAgIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDUyLCA0NSwgNDgsIDUwLCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCAKKyAgICA4NCwgNjUsIDc2LCA0NSwgNDgsIDUyLCA0NSwgNDgsIDQ5LCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgCisgICAgNjUsIDc2LCA0NSwgNDgsIDUyLCA0NSwgNDgsIDQ4LCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIAorICAgIDc2LCA0NSwgNDgsIDUxLCA0NSwgNDgsIDU0LCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCAKKyAgICA0NSwgNDgsIDUxLCA0NSwgNDgsIDUzLCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgCisgICAgNDgsIDUxLCA0NSwgNDgsIDUyLCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIAorICAgIDUxLCA0NSwgNDgsIDUxLCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDUxLCAKKyAgICA0NSwgNDgsIDUwLCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDUxLCA0NSwgCisgICAgNDgsIDQ5LCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDUxLCA0NSwgNDgsIAorICAgIDQ4LCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDUwLCA0NSwgNDgsIDU0LCAKKyAgICAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDUwLCA0NSwgNDgsIDUzLCAxMjgsIAorICAgIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDUwLCA0NSwgNDgsIDUyLCAxMjgsIDcyLCAKKyAgICA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDUwLCA0NSwgNDgsIDUxLCAxMjgsIDcyLCA3OSwgCisgICAgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDUwLCA0NSwgNDgsIDUwLCAxMjgsIDcyLCA3OSwgODIsIAorICAgIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDUwLCA0NSwgNDgsIDQ5LCAxMjgsIDcyLCA3OSwgODIsIDczLCAKKyAgICA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDUwLCA0NSwgNDgsIDQ4LCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgCisgICAgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDQ5LCA0NSwgNDgsIDU0LCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIAorICAgIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDQ5LCA0NSwgNDgsIDUzLCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCAKKyAgICA4NCwgNjUsIDc2LCA0NSwgNDgsIDQ5LCA0NSwgNDgsIDUyLCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgCisgICAgNjUsIDc2LCA0NSwgNDgsIDQ5LCA0NSwgNDgsIDUxLCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIAorICAgIDc2LCA0NSwgNDgsIDQ5LCA0NSwgNDgsIDUwLCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCAKKyAgICA0NSwgNDgsIDQ5LCA0NSwgNDgsIDQ5LCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgCisgICAgNDgsIDQ5LCA0NSwgNDgsIDQ4LCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIAorICAgIDQ4LCA0NSwgNDgsIDU0LCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDQ4LCAKKyAgICA0NSwgNDgsIDUzLCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDQ4LCA0NSwgCisgICAgNDgsIDUyLCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDQ4LCA0NSwgNDgsIAorICAgIDUxLCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDQ4LCA0NSwgNDgsIDUwLCAKKyAgICAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDQ4LCA0NSwgNDgsIDQ5LCAxMjgsIAorICAgIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDQ4LCA0NSwgNDgsIDQ4LCAxMjgsIDcyLCAKKyAgICA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCAxMjgsIDcyLCA3OSwgODIsIDczLCAxMjgsIDcyLCA3OSwgODIsIAorICAgIDE5MywgNzIsIDc5LCA3OSwgODUsIDEyOCwgNzIsIDc5LCA3OSwgODIsIDg1LCAxMjgsIDcyLCA3OSwgNzksIDgwLCAxMjgsIAorICAgIDcyLCA3OSwgNzksIDc4LCAxMjgsIDcyLCA3OSwgNzksIDc1LCA2OSwgMTk2LCA3MiwgNzksIDc4LCA2OSwgODksIDY2LCA2OSwgCisgICAgNjksIDEyOCwgNzIsIDc5LCA3OCwgNjksIDIxNywgNzIsIDc5LCA3NywgNzksIDg0LCA3MiwgNjksIDg0LCA3MywgNjcsIAorICAgIDEyOCwgNzIsIDc5LCA3NywgNzksIDg0LCA3MiwgNjksIDg0LCA3MywgMTk1LCA3MiwgNzksIDc2LCA3OSwgMTI4LCA3MiwgCisgICAgNzksIDc2LCA3NiwgNzksIDIxNSwgNzIsIDc5LCA3NiwgNjksIDEyOCwgNzIsIDc5LCA3NiwgNjgsIDczLCA3OCwgMTk5LCAKICAgICA3MiwgNzksIDc2LCA2NSwgNzcsIDEyOCwgNzIsIDc5LCA3NiwgNjUsIDIwNSwgNzIsIDc5LCA3NSwgNjUsIDEyOCwgNzIsIAotICAgIDc5LCA3MywgMTI4LCA3MiwgNzksIDY3LCA3MiwgNzksIDEyOCwgNzIsIDc4LCA4NSwgODQsIDEyOCwgNzIsIDc4LCA4NSwgCi0gICAgNzksIDg4LCAxMjgsIDcyLCA3OCwgODUsIDc5LCAxMjgsIDcyLCA3OCwgNzksIDg4LCAxMjgsIDcyLCA3OCwgNzksIDg0LCAKLSAgICAxMjgsIDcyLCA3OCwgNzksIDgwLCAxMjgsIDcyLCA3OCwgNzMsIDg4LCAxMjgsIDcyLCA3OCwgNzMsIDg0LCAxMjgsIDcyLCAKLSAgICA3OCwgNzMsIDgwLCAxMjgsIDcyLCA3OCwgNzMsIDY5LCA4OCwgMTI4LCA3MiwgNzgsIDczLCA2OSwgODQsIDEyOCwgNzIsIAotICAgIDc4LCA3MywgNjksIDgwLCAxMjgsIDcyLCA3OCwgNzMsIDY5LCAxMjgsIDcyLCA3OCwgNzMsIDEyOCwgNzIsIDc4LCA2OSwgCi0gICAgODgsIDEyOCwgNzIsIDc4LCA2OSwgODAsIDEyOCwgNzIsIDc4LCA2OSwgMTI4LCA3MiwgNzgsIDY1LCA4OCwgMTI4LCA3MiwgCi0gICAgNzgsIDY1LCA4NCwgMTI4LCA3MiwgNzgsIDY1LCA4MCwgMTI4LCA3MiwgNzgsIDY1LCAxMjgsIDcyLCA3NywgODksIDg4LCAKLSAgICAxMjgsIDcyLCA3NywgODksIDgyLCA4OCwgMTI4LCA3MiwgNzcsIDg5LCA4MiwgMTI4LCA3MiwgNzcsIDg5LCA4MCwgMTI4LCAKLSAgICA3MiwgNzcsIDg5LCAxMjgsIDcyLCA3NywgODUsIDg4LCAxMjgsIDcyLCA3NywgODUsIDg0LCAxMjgsIDcyLCA3NywgODUsIAotICAgIDgyLCA4OCwgMTI4LCA3MiwgNzcsIDg1LCA4MiwgMTI4LCA3MiwgNzcsIDg1LCA4MCwgMTI4LCA3MiwgNzcsIDg1LCA3OSwgCi0gICAgODgsIDEyOCwgNzIsIDc3LCA4NSwgNzksIDgwLCAxMjgsIDcyLCA3NywgODUsIDc5LCAxMjgsIDcyLCA3NywgODUsIDEyOCwgCi0gICAgNzIsIDc3LCA3OSwgODgsIDEyOCwgNzIsIDc3LCA3OSwgODQsIDEyOCwgNzIsIDc3LCA3OSwgODAsIDEyOCwgNzIsIDc3LCAKLSAgICA3OSwgMTI4LCA3MiwgNzcsIDczLCA4OCwgMTI4LCA3MiwgNzcsIDczLCA4NCwgMTI4LCA3MiwgNzcsIDczLCA4MCwgMTI4LCAKLSAgICA3MiwgNzcsIDczLCA2OSwgODgsIDEyOCwgNzIsIDc3LCA3MywgNjksIDgwLCAxMjgsIDcyLCA3NywgNzMsIDY5LCAxMjgsIAotICAgIDcyLCA3NywgNzMsIDEyOCwgNzIsIDc3LCA2OSwgMTI4LCA3MiwgNzcsIDY1LCA4OCwgMTI4LCA3MiwgNzcsIDY1LCA4NCwgCi0gICAgMTI4LCA3MiwgNzcsIDY1LCA4MCwgMTI4LCA3MiwgNzcsIDY1LCAxMjgsIDcyLCA3NiwgODksIDg4LCAxMjgsIDcyLCA3NiwgCi0gICAgODksIDg0LCAxMjgsIDcyLCA3NiwgODksIDgyLCA4OCwgMTI4LCA3MiwgNzYsIDg5LCA4MiwgMTI4LCA3MiwgNzYsIDg5LCAKLSAgICA4MCwgMTI4LCA3MiwgNzYsIDg5LCAxMjgsIDcyLCA3NiwgODUsIDg4LCAxMjgsIDcyLCA3NiwgODUsIDg0LCAxMjgsIDcyLCAKLSAgICA3NiwgODUsIDgyLCA4OCwgMTI4LCA3MiwgNzYsIDg1LCA4MiwgMTI4LCA3MiwgNzYsIDg1LCA4MCwgMTI4LCA3MiwgNzYsIAotICAgIDg1LCA3OSwgODgsIDEyOCwgNzIsIDc2LCA4NSwgNzksIDgwLCAxMjgsIDcyLCA3NiwgODUsIDc5LCAxMjgsIDcyLCA3NiwgCi0gICAgODUsIDEyOCwgNzIsIDc2LCA3OSwgODgsIDEyOCwgNzIsIDc2LCA3OSwgODAsIDEyOCwgNzIsIDc2LCA3OSwgMTI4LCA3MiwgCi0gICAgNzYsIDczLCA4OCwgMTI4LCA3MiwgNzYsIDczLCA4NCwgMTI4LCA3MiwgNzYsIDczLCA4MCwgMTI4LCA3MiwgNzYsIDczLCAKLSAgICA2OSwgODgsIDEyOCwgNzIsIDc2LCA3MywgNjksIDgwLCAxMjgsIDcyLCA3NiwgNzMsIDY5LCAxMjgsIDcyLCA3NiwgNzMsIAotICAgIDEyOCwgNzIsIDc2LCA2OSwgODgsIDEyOCwgNzIsIDc2LCA2OSwgODAsIDEyOCwgNzIsIDc2LCA2OSwgMTI4LCA3MiwgNzYsIAotICAgIDY1LCA4OCwgMTI4LCA3MiwgNzYsIDY1LCA4NCwgMTI4LCA3MiwgNzYsIDY1LCA4MCwgMTI4LCA3MiwgNzYsIDY1LCAxMjgsIAotICAgIDcyLCA3NSwgMTI4LCA3MiwgNzMsIDkwLCA2NiwgMTI4LCA3MiwgNzMsIDgzLCA4NCwgNzksIDgyLCA3MywgMTk1LCA3MiwgCi0gICAgNzMsIDgyLCA3MywgODEsIDEyOCwgNzIsIDczLCA3MSwgNzIsIDQ1LCA4MywgODAsIDY5LCA2OSwgMTk2LCA3MiwgNzMsIDcxLCAKLSAgICA3MiwgNDUsIDgyLCA2OSwgODYsIDY5LCA4MiwgODMsIDY5LCA2OCwgNDUsIDE4NSwgNzIsIDczLCA3MSwgNzIsIDQ1LCA3MiwgCi0gICAgNjksIDY5LCA3NiwgNjksIDE5NiwgNzIsIDczLCA2OSwgODgsIDEyOCwgNzIsIDczLCA2OSwgODUsIDcyLCA0NSwgODMsIDczLCAKLSAgICA3OSwgODMsIDEyOCwgNzIsIDczLCA2OSwgODUsIDcyLCA0NSwgODIsIDczLCA2OSwgODUsIDc2LCAxMjgsIDcyLCA3MywgNjksIAotICAgIDg1LCA3MiwgNDUsIDgwLCA3MywgNjksIDg1LCA4MCwgMTI4LCA3MiwgNzMsIDY5LCA4NSwgNzIsIDQ1LCA3OCwgNzMsIDY5LCAKLSAgICA4NSwgNzgsIDEyOCwgNzIsIDczLCA2OSwgODUsIDcyLCA0NSwgNzcsIDczLCA2OSwgODUsIDc3LCAxMjgsIDcyLCA3MywgNjksIAotICAgIDg1LCAyMDAsIDcyLCA3MywgNjksIDgyLCA3OSwgNzEsIDc2LCA4OSwgODAsIDcyLCA3MywgMTk1LCA3MiwgNzMsIDY5LCAKLSAgICAxMjgsIDcyLCA3MywgNjgsIDczLCA3OCwgMTk5LCA3MiwgNzMsIDY4LCA2OSwgODQsIDEyOCwgNzIsIDczLCA2OCwgNjksIAotICAgIDEyOCwgNzIsIDczLCA2NiwgNzMsIDgzLCA2NywgODUsIDgzLCAxMjgsIDcyLCA3MiwgODcsIDY1LCAxMjgsIDcyLCA3MiwgCi0gICAgODUsIDEyOCwgNzIsIDcyLCA3MywgMTI4LCA3MiwgNzIsIDY5LCA2OSwgMTI4LCA3MiwgNzIsIDY5LCAxMjgsIDcyLCA3MiwgCi0gICAgNjUsIDY1LCAxMjgsIDcyLCA3MSwgMTI4LCA3MiwgNjksIDg4LCA3MywgNzAsIDc5LCA4MiwgMjA1LCA3MiwgNjksIDg4LCAKLSAgICA2NSwgNzEsIDgyLCA2NSwgMjA1LCA3MiwgNjksIDg4LCA2NSwgNzEsIDc5LCA3OCwgMTI4LCA3MiwgNjksIDgyLCA4NSwgODQsIAotICAgIDg1LCAxMjgsIDcyLCA2OSwgODIsIDg1LCAxMjgsIDcyLCA2OSwgODIsIDc3LCA3MywgODQsIDczLCA2NSwgMjA2LCA3MiwgCi0gICAgNjksIDgyLCA3NywgNzMsIDc5LCA3OCwgNzMsIDY1LCAyMDYsIDcyLCA2OSwgODIsIDc3LCA2OSwgODMsIDEyOCwgNzIsIDY5LCAKLSAgICA4MiwgNjksIDEyOCwgNzIsIDY5LCA4MiwgNjYsIDEyOCwgNzIsIDY5LCA4MiwgNjUsIDY5LCA4NSwgMjA1LCA3MiwgNjksIAotICAgIDc4LCA3MSwgMTI4LCA3MiwgNjksIDc4LCAxOTksIDcyLCA2OSwgNzcsIDgwLCAxMjgsIDcyLCA2OSwgNzYsIDc3LCA2OSwgCi0gICAgODQsIDEyOCwgNzIsIDY5LCA3NiwgNzcsIDY5LCAyMTIsIDcyLCA2OSwgNzYsIDIwNSwgNzIsIDY5LCA3NiwgNzMsIDY3LCAKLSAgICA3OSwgODAsIDg0LCA2OSwgODIsIDEyOCwgNzIsIDY5LCA3NSwgODUsIDg0LCA2NSwgNjUsIDgyLCA4NSwgMTI4LCA3MiwgNjksIAotICAgIDczLCA4MywgNjksIDczLCAxMjgsIDcyLCA2OSwgNjUsIDg2LCA4OSwgMTI4LCA3MiwgNjksIDY1LCA4NiwgNjksIDc4LCA3NiwgCi0gICAgMjE3LCA3MiwgNjksIDY1LCA4NiwgNjksIDc4LCAxMjgsIDcyLCA2OSwgNjUsIDg2LCA2OSwgMjA2LCA3MiwgNjksIDY1LCAKLSAgICA4MiwgODQsIDgzLCAxMjgsIDcyLCA2OSwgNjUsIDgyLCA4NCwgNDUsIDgzLCA3MiwgNjUsIDgwLCA2OSwgMTk2LCA3MiwgNjksIAotICAgIDY1LCA4MiwgODQsIDEyOCwgNzIsIDY5LCA2NSwgODIsIDIxMiwgNzIsIDY5LCA2NSwgODIsIDQ1LCA3OCwgNzksIDQ1LCA2OSwgCi0gICAgODYsIDczLCAyMDQsIDcyLCA2OSwgNjUsIDY4LCA4MywgODQsIDgyLCA3OSwgNzUsIDY5LCAxMjgsIDcyLCA2OSwgNjUsIDY4LCAKLSAgICA4MywgODQsIDc5LCA3OCwgMTk3LCA3MiwgNjksIDY1LCA2OCwgODAsIDcyLCA3OSwgNzgsIDY5LCAxMjgsIDcyLCA2OSwgNjUsIAotICAgIDY4LCA3MywgNzgsIDcxLCAxMjgsIDcyLCA2NiwgNjUsIDgzLCA2NSwgNDUsIDY5LCA4MywgNjUsIDgzLCAxOTMsIDcyLCA2NiwgCi0gICAgNjUsIDgzLCAxOTMsIDcyLCA2NSwgODksIDY1LCA3OCwgNzgsIDY1LCAxMjgsIDcyLCA2NSwgODYsIDY5LCAxMjgsIDcyLCAKLSAgICA2NSwgODUsIDgwLCA4NCwgODMsIDg0LCA3MywgNzcsIDc3LCA2OSwgMTI4LCA3MiwgNjUsIDg0LCA3MiwgNzMsIDEyOCwgNzIsIAotICAgIDY1LCA4NCwgNjksIDEyOCwgNzIsIDY1LCA4NCwgNjcsIDcyLCA3MywgNzgsIDE5OSwgNzIsIDY1LCA4NCwgNjUsIDE5OCwgCi0gICAgNzIsIDY1LCA4MywgNjksIDIxMCwgNzIsIDY1LCA4MywgNjUsIDc4LCA4NCwgNjUsIDEyOCwgNzIsIDY1LCA4MiwgODAsIDc5LCAKLSAgICA3OSwgNzgsIDEyOCwgNzIsIDY1LCA4MiwgODAsIDc5LCA3OSwgMjA2LCA3MiwgNjUsIDgyLCA3NywgNzksIDc4LCA3MywgNjcsIAotICAgIDEyOCwgNzIsIDY1LCA4MiwgNzUsIDc2LCA2OSwgNjUsIDIwNiwgNzIsIDY1LCA4MiwgNjgsIDc4LCA2OSwgODMsIDgzLCAKLSAgICAxMjgsIDcyLCA2NSwgODIsIDE5NiwgNzIsIDY1LCA4MCwgODAsIDIxNywgNzIsIDY1LCA3OCwgODUsIDc4LCA3OSwgMjA3LCAKLSAgICA3MiwgNjUsIDc4LCA3MSwgOTAsIDcyLCA3OSwgMjEzLCA3MiwgNjUsIDc4LCA2OCwgODMsIDEyOCwgNzIsIDY1LCA3OCwgNjgsIAotICAgIDIxMSwgNzIsIDY1LCA3OCwgNjgsIDc2LCA2OSwgODMsIDEyOCwgNzIsIDY1LCA3OCwgNjgsIDc2LCA2OSwgMTI4LCA3MiwgCi0gICAgNjUsIDc4LCA2OCwgNjYsIDY1LCA3MSwgMTI4LCA3MiwgNjUsIDc4LCA2OCwgMTI4LCA3MiwgNjUsIDc4LCA0NSwgNjUsIDc1LCAKLSAgICA2NSwgODQsIDEyOCwgNzIsIDY1LCA3NywgOTAsIDY1LCAxMjgsIDcyLCA2NSwgNzcsIDgzLCA4NCwgNjksIDIxMCwgNzIsIAorICAgIDc5LCA2NywgNzIsIDc5LCAxMjgsIDcyLCA3OCwgODUsIDg0LCAxMjgsIDcyLCA3OCwgODUsIDc5LCA4OCwgMTI4LCA3MiwgCisgICAgNzgsIDg1LCA3OSwgMTI4LCA3MiwgNzgsIDg1LCA2NiwgMTI4LCA3MiwgNzgsIDc5LCA4OCwgMTI4LCA3MiwgNzgsIDc5LCAKKyAgICA4NCwgMTI4LCA3MiwgNzgsIDc5LCA4MCwgMTI4LCA3MiwgNzgsIDczLCA4OCwgMTI4LCA3MiwgNzgsIDczLCA4NCwgMTI4LCAKKyAgICA3MiwgNzgsIDczLCA4MCwgMTI4LCA3MiwgNzgsIDczLCA2OSwgODgsIDEyOCwgNzIsIDc4LCA3MywgNjksIDg0LCAxMjgsIAorICAgIDcyLCA3OCwgNzMsIDY5LCA4MCwgMTI4LCA3MiwgNzgsIDczLCA2OSwgMTI4LCA3MiwgNzgsIDczLCAxMjgsIDcyLCA3OCwgCisgICAgNjksIDg4LCAxMjgsIDcyLCA3OCwgNjksIDgwLCAxMjgsIDcyLCA3OCwgNjksIDEyOCwgNzIsIDc4LCA2NSwgODgsIDEyOCwgCisgICAgNzIsIDc4LCA2NSwgODUsIDEyOCwgNzIsIDc4LCA2NSwgODQsIDEyOCwgNzIsIDc4LCA2NSwgODAsIDEyOCwgNzIsIDc4LCAKKyAgICA2NSwgMTI4LCA3MiwgNzcsIDg5LCA4OCwgMTI4LCA3MiwgNzcsIDg5LCA4MiwgODgsIDEyOCwgNzIsIDc3LCA4OSwgODIsIAorICAgIDEyOCwgNzIsIDc3LCA4OSwgODAsIDEyOCwgNzIsIDc3LCA4OSwgMTI4LCA3MiwgNzcsIDg1LCA4OCwgMTI4LCA3MiwgNzcsIAorICAgIDg1LCA4NCwgMTI4LCA3MiwgNzcsIDg1LCA4MiwgODgsIDEyOCwgNzIsIDc3LCA4NSwgODIsIDEyOCwgNzIsIDc3LCA4NSwgCisgICAgODAsIDEyOCwgNzIsIDc3LCA4NSwgNzksIDg4LCAxMjgsIDcyLCA3NywgODUsIDc5LCA4MCwgMTI4LCA3MiwgNzcsIDg1LCAKKyAgICA3OSwgMTI4LCA3MiwgNzcsIDg1LCAxMjgsIDcyLCA3NywgNzksIDg4LCAxMjgsIDcyLCA3NywgNzksIDg0LCAxMjgsIDcyLCAKKyAgICA3NywgNzksIDgwLCAxMjgsIDcyLCA3NywgNzksIDEyOCwgNzIsIDc3LCA3MywgODgsIDEyOCwgNzIsIDc3LCA3MywgODQsIAorICAgIDEyOCwgNzIsIDc3LCA3MywgODAsIDEyOCwgNzIsIDc3LCA3MywgNjksIDg4LCAxMjgsIDcyLCA3NywgNzMsIDY5LCA4MCwgCisgICAgMTI4LCA3MiwgNzcsIDczLCA2OSwgMTI4LCA3MiwgNzcsIDczLCAxMjgsIDcyLCA3NywgNjksIDEyOCwgNzIsIDc3LCA2NSwgCisgICAgODgsIDEyOCwgNzIsIDc3LCA2NSwgODQsIDEyOCwgNzIsIDc3LCA2NSwgODAsIDEyOCwgNzIsIDc3LCA2NSwgMTI4LCA3MiwgCisgICAgNzYsIDg5LCA4OCwgMTI4LCA3MiwgNzYsIDg5LCA4NCwgMTI4LCA3MiwgNzYsIDg5LCA4MiwgODgsIDEyOCwgNzIsIDc2LCAKKyAgICA4OSwgODIsIDEyOCwgNzIsIDc2LCA4OSwgODAsIDEyOCwgNzIsIDc2LCA4OSwgMTI4LCA3MiwgNzYsIDg1LCA4OCwgMTI4LCAKKyAgICA3MiwgNzYsIDg1LCA4NCwgMTI4LCA3MiwgNzYsIDg1LCA4MiwgODgsIDEyOCwgNzIsIDc2LCA4NSwgODIsIDEyOCwgNzIsIAorICAgIDc2LCA4NSwgODAsIDEyOCwgNzIsIDc2LCA4NSwgNzksIDg4LCAxMjgsIDcyLCA3NiwgODUsIDc5LCA4MCwgMTI4LCA3MiwgCisgICAgNzYsIDg1LCA3OSwgMTI4LCA3MiwgNzYsIDg1LCAxMjgsIDcyLCA3NiwgNzksIDg4LCAxMjgsIDcyLCA3NiwgNzksIDgwLCAKKyAgICAxMjgsIDcyLCA3NiwgNzksIDEyOCwgNzIsIDc2LCA3MywgODgsIDEyOCwgNzIsIDc2LCA3MywgODQsIDEyOCwgNzIsIDc2LCAKKyAgICA3MywgODAsIDEyOCwgNzIsIDc2LCA3MywgNjksIDg4LCAxMjgsIDcyLCA3NiwgNzMsIDY5LCA4MCwgMTI4LCA3MiwgNzYsIAorICAgIDczLCA2OSwgMTI4LCA3MiwgNzYsIDczLCAxMjgsIDcyLCA3NiwgNjksIDg4LCAxMjgsIDcyLCA3NiwgNjksIDgwLCAxMjgsIAorICAgIDcyLCA3NiwgNjksIDEyOCwgNzIsIDc2LCA2NSwgODgsIDEyOCwgNzIsIDc2LCA2NSwgODUsIDEyOCwgNzIsIDc2LCA2NSwgCisgICAgODQsIDEyOCwgNzIsIDc2LCA2NSwgODAsIDEyOCwgNzIsIDc2LCA2NSwgMTI4LCA3MiwgNzYsIDEyOCwgNzIsIDc1LCAxMjgsIAorICAgIDcyLCA3MywgOTAsIDY2LCAxMjgsIDcyLCA3MywgODksIDc5LCAxMjgsIDcyLCA3MywgODMsIDg0LCA3OSwgODIsIDczLCAKKyAgICAxOTUsIDcyLCA3MywgODIsIDczLCA4MSwgMTI4LCA3MiwgNzMsIDcxLCA3MiwgNDUsIDgzLCA4MCwgNjksIDY5LCAxOTYsIAorICAgIDcyLCA3MywgNzEsIDcyLCA0NSwgODIsIDY5LCA4NiwgNjksIDgyLCA4MywgNjksIDY4LCA0NSwgMTg1LCA3MiwgNzMsIDcxLCAKKyAgICA3MiwgNDUsIDc2LCA3OSwgMjE1LCA3MiwgNzMsIDcxLCA3MiwgNDUsIDcyLCA2OSwgNjksIDc2LCA2OSwgMTk2LCA3MiwgNzMsIAorICAgIDY5LCA4OCwgMTI4LCA3MiwgNzMsIDY5LCA4NSwgNzIsIDQ1LCA4MywgNzMsIDc5LCA4MywgMTI4LCA3MiwgNzMsIDY5LCA4NSwgCisgICAgNzIsIDQ1LCA4MiwgNzMsIDY5LCA4NSwgNzYsIDEyOCwgNzIsIDczLCA2OSwgODUsIDcyLCA0NSwgODAsIDczLCA2OSwgODUsIAorICAgIDgwLCAxMjgsIDcyLCA3MywgNjksIDg1LCA3MiwgNDUsIDc4LCA3MywgNjksIDg1LCA3OCwgMTI4LCA3MiwgNzMsIDY5LCA4NSwgCisgICAgNzIsIDQ1LCA3NywgNzMsIDY5LCA4NSwgNzcsIDEyOCwgNzIsIDczLCA2OSwgODUsIDIwMCwgNzIsIDczLCA2OSwgODIsIDc5LCAKKyAgICA3MSwgNzYsIDg5LCA4MCwgNzIsIDczLCAxOTUsIDcyLCA3MywgNjksIDEyOCwgNzIsIDczLCA2OCwgNzMsIDc4LCAxOTksIAorICAgIDcyLCA3MywgNjgsIDY5LCA4NCwgMTI4LCA3MiwgNzMsIDY4LCA2OSwgMTI4LCA3MiwgNzMsIDY2LCA3MywgODMsIDY3LCA4NSwgCisgICAgODMsIDEyOCwgNzIsIDcyLCA4NywgNjUsIDEyOCwgNzIsIDcyLCA4NSwgMTI4LCA3MiwgNzIsIDczLCAxMjgsIDcyLCA3MiwgCisgICAgNjksIDY5LCAxMjgsIDcyLCA3MiwgNjksIDEyOCwgNzIsIDcyLCA2NSwgNjUsIDEyOCwgNzIsIDcxLCAxMjgsIDcyLCA2OSwgCisgICAgODksIDg0LCAxMjgsIDcyLCA2OSwgODgsIDczLCA3MCwgNzksIDgyLCAyMDUsIDcyLCA2OSwgODgsIDY1LCA3MSwgODIsIDY1LCAKKyAgICAyMDUsIDcyLCA2OSwgODgsIDY1LCA3MSwgNzksIDc4LCAxMjgsIDcyLCA2OSwgODIsIDg1LCA4NCwgODUsIDEyOCwgNzIsIAorICAgIDY5LCA4MiwgODUsIDEyOCwgNzIsIDY5LCA4MiwgNzcsIDczLCA4NCwgNzMsIDY1LCAyMDYsIDcyLCA2OSwgODIsIDc3LCA3MywgCisgICAgNzksIDc4LCA3MywgNjUsIDIwNiwgNzIsIDY5LCA4MiwgNzcsIDY5LCA4MywgMTI4LCA3MiwgNjksIDgyLCA2OSwgMTI4LCAKKyAgICA3MiwgNjksIDgyLCA2NiwgMTI4LCA3MiwgNjksIDgyLCA2NSwgNjksIDg1LCAyMDUsIDcyLCA2OSwgNzgsIDcxLCAxMjgsIAorICAgIDcyLCA2OSwgNzgsIDE5OSwgNzIsIDY5LCA3NywgODAsIDEyOCwgNzIsIDY5LCA3NiwgNzcsIDY5LCA4NCwgMTI4LCA3MiwgCisgICAgNjksIDc2LCA3NywgNjksIDIxMiwgNzIsIDY5LCA3NiwgMjA1LCA3MiwgNjksIDc2LCA3MywgNjcsIDc5LCA4MCwgODQsIDY5LCAKKyAgICA4MiwgMTI4LCA3MiwgNjksIDc1LCA4NSwgODQsIDY1LCA2NSwgODIsIDg1LCAxMjgsIDcyLCA2OSwgNzMsIDgzLCA2OSwgNzMsIAorICAgIDEyOCwgNzIsIDY5LCA2OSwgNzMsIDEyOCwgNzIsIDY5LCA2NSwgODYsIDg5LCAxMjgsIDcyLCA2OSwgNjUsIDg2LCA2OSwgCisgICAgNzgsIDc2LCAyMTcsIDcyLCA2OSwgNjUsIDg2LCA2OSwgNzgsIDEyOCwgNzIsIDY5LCA2NSwgODYsIDY5LCAyMDYsIDcyLCAKKyAgICA2OSwgNjUsIDgyLCA4NCwgODMsIDEyOCwgNzIsIDY5LCA2NSwgODIsIDg0LCA0NSwgODMsIDcyLCA2NSwgODAsIDY5LCAxOTYsIAorICAgIDcyLCA2OSwgNjUsIDgyLCA4NCwgMTI4LCA3MiwgNjksIDY1LCA4MiwgMjEyLCA3MiwgNjksIDY1LCA4MiwgNDUsIDc4LCA3OSwgCisgICAgNDUsIDY5LCA4NiwgNzMsIDIwNCwgNzIsIDY5LCA2NSwgNjgsIDgzLCA4NCwgODIsIDc5LCA3NSwgNjksIDEyOCwgNzIsIDY5LCAKKyAgICA2NSwgNjgsIDgzLCA4NCwgNzksIDc4LCAxOTcsIDcyLCA2OSwgNjUsIDY4LCA4MCwgNzIsIDc5LCA3OCwgNjksIDEyOCwgNzIsIAorICAgIDY5LCA2NSwgNjgsIDczLCA3OCwgNzEsIDEyOCwgNzIsIDY2LCA2NSwgODMsIDY1LCA0NSwgNjksIDgzLCA2NSwgODMsIDE5MywgCisgICAgNzIsIDY2LCA2NSwgODMsIDE5MywgNzIsIDY1LCA4OSwgNjUsIDc4LCA3OCwgNjUsIDEyOCwgNzIsIDY1LCA4NywgNzQsIAorICAgIDEyOCwgNzIsIDY1LCA4NiwgNjksIDEyOCwgNzIsIDY1LCA4NSwgODAsIDg0LCA4MywgODQsIDczLCA3NywgNzcsIDY5LCAKKyAgICAxMjgsIDcyLCA2NSwgMjEzLCA3MiwgNjUsIDg0LCA3MiwgNzMsIDEyOCwgNzIsIDY1LCA4NCwgNjksIDEyOCwgNzIsIDY1LCAKKyAgICA4NCwgNjcsIDcyLCA3MywgNzgsIDE5OSwgNzIsIDY1LCA4NCwgNjUsIDE5OCwgNzIsIDY1LCA4MywgNjksIDIxMCwgNzIsIAorICAgIDY1LCA4MywgNjUsIDc4LCA4NCwgNjUsIDEyOCwgNzIsIDY1LCA4MiwgODAsIDc5LCA3OSwgNzgsIDEyOCwgNzIsIDY1LCA4MiwgCisgICAgODAsIDc5LCA3OSwgMjA2LCA3MiwgNjUsIDgyLCA3NywgNzksIDc4LCA3MywgNjcsIDEyOCwgNzIsIDY1LCA4MiwgNzUsIDc2LCAKKyAgICA2OSwgNjUsIDIwNiwgNzIsIDY1LCA4MiwgNjgsIDc4LCA2OSwgODMsIDgzLCAxMjgsIDcyLCA2NSwgODIsIDE5NiwgNzIsIAorICAgIDY1LCA4MCwgODAsIDIxNywgNzIsIDY1LCA3OCwgODUsIDc4LCA3OSwgMjA3LCA3MiwgNjUsIDc4LCA3MSwgOTAsIDcyLCA3OSwgCisgICAgMjEzLCA3MiwgNjUsIDc4LCA2OCwgODMsIDEyOCwgNzIsIDY1LCA3OCwgNjgsIDIxMSwgNzIsIDY1LCA3OCwgNjgsIDc2LCAKKyAgICA2OSwgODMsIDEyOCwgNzIsIDY1LCA3OCwgNjgsIDc2LCA2OSwgMTI4LCA3MiwgNjUsIDc4LCA2OCwgNjYsIDY1LCA3MSwgCisgICAgMTI4LCA3MiwgNjUsIDc4LCA2OCwgMTI4LCA3MiwgNjUsIDc4LCA0NSwgNjUsIDc1LCA2NSwgODQsIDEyOCwgNzIsIDY1LCAKKyAgICA3NywgOTAsIDY1LCAxMjgsIDcyLCA2NSwgNzcsIDkwLCAxOTMsIDcyLCA2NSwgNzcsIDgzLCA4NCwgNjksIDIxMCwgNzIsIAogICAgIDY1LCA3NywgNzcsIDY5LCA4MiwgMTI4LCA3MiwgNjUsIDc3LCA3NywgNjksIDIxMCwgNzIsIDY1LCA3NywgNjYsIDg1LCA4MiwgCiAgICAgNzEsIDY5LCA4MiwgMTI4LCA3MiwgNjUsIDc2LCA4MSwgNjUsIDEyOCwgNzIsIDY1LCA3NiwgNzksIDEyOCwgNzIsIDY1LCAKICAgICA3NiwgNzAsIDQ1LCA2NywgNzMsIDgyLCA2NywgNzYsIDE5NywgNzIsIDY1LCA3NiwgNzAsIDEyOCwgNzIsIDY1LCA3NiwgNjYsIAogICAgIDY5LCA4MiwgNjgsIDEyOCwgNzIsIDY1LCA3NiwgNjUsIDc4LCA4NCwgNjUsIDEyOCwgNzIsIDY1LCA3MywgODQsIDg1LCAKLSAgICAxMjgsIDcyLCA2NSwgNzMsIDgyLCA2NywgODUsIDg0LCAxMjgsIDcyLCA2NSwgNzMsIDgyLCAxMjgsIDcyLCA2NSwgNzEsIAotICAgIDc2LCA2NSwgMjE4LCA3MiwgNjUsIDcxLCA3NiwgMTI4LCA3MiwgNjUsIDcwLCA4NSwgNzUsIDcyLCA2NSwgMTI4LCA3MiwgCi0gICAgNjUsIDcwLCA4NSwgNzUsIDcyLCAxMjgsIDcyLCA2NSwgNjksIDcxLCAyMDQsIDcyLCA2NSwgNjUsIDgyLCA4NSwgMTI4LCAKLSAgICA3MiwgNjUsIDY1LCA3NywgMTI4LCA3MiwgNjUsIDE5MywgNzIsIDY1LCA0NSwgNzIsIDY1LCAxMjgsIDcyLCA0OCwgNDgsIAotICAgIDU2LCAxMjgsIDcyLCA0OCwgNDgsIDU1LCAxMjgsIDcyLCA0OCwgNDgsIDU0LCA2NSwgMTI4LCA3MiwgNDgsIDQ4LCA1NCwgCi0gICAgMTI4LCA3MiwgNDgsIDQ4LCA1MywgMTI4LCA3MiwgNDgsIDQ4LCA1MiwgMTI4LCA3MiwgNDgsIDQ4LCA1MSwgMTI4LCA3MiwgCi0gICAgNDgsIDQ4LCA1MCwgMTI4LCA3MiwgNDgsIDQ4LCA0OSwgMTI4LCA3MiwgNDUsIDg0LCA4OSwgODAsIDE5NywgNzEsIDg5LCAKLSAgICA4NSwgMTI4LCA3MSwgODksIDc5LCA3OCwgMTI4LCA3MSwgODksIDc5LCAxMjgsIDcxLCA4OSwgNzMsIDEyOCwgNzEsIDg5LCAKLSAgICA3MCwgMjEzLCA3MSwgODksIDY5LCA2OSwgMTI4LCA3MSwgODksIDY1LCA4MywgMTI4LCA3MSwgODksIDY1LCA2NSwgMTI4LCAKLSAgICA3MSwgODksIDY1LCAxMjgsIDcxLCA4OSwgMTI4LCA3MSwgODcsIDg1LCAxMjgsIDcxLCA4NywgNzMsIDEyOCwgNzEsIDg3LCAKLSAgICA2OSwgNjksIDEyOCwgNzEsIDg3LCA2OSwgMTI4LCA3MSwgODcsIDY1LCA2NSwgMTI4LCA3MSwgODcsIDY1LCAxMjgsIDcxLCAKLSAgICA4NiwgMTI4LCA3MSwgODUsIDgyLCA4NSwgODMsIDcyLCAxMjgsIDcxLCA4NSwgODIsIDg1LCA3OCwgMTI4LCA3MSwgODUsIAotICAgIDgyLCA2NSwgNzcsIDg1LCA4NCwgNzksIDc4LCAxMjgsIDcxLCA4NSwgODIsIDU1LCAxMjgsIDcxLCA4NSwgNzgsIDg1LCAKKyAgICAxMjgsIDcyLCA2NSwgNzMsIDIxMSwgNzIsIDY1LCA3MywgODIsIDY3LCA4NSwgODQsIDEyOCwgNzIsIDY1LCA3MywgODIsIAorICAgIDEyOCwgNzIsIDY1LCA3MSwgNzYsIDY1LCAyMTgsIDcyLCA2NSwgNzEsIDc2LCAxMjgsIDcyLCA2NSwgNzAsIDg1LCA3NSwgCisgICAgNzIsIDY1LCAxMjgsIDcyLCA2NSwgNzAsIDg1LCA3NSwgNzIsIDEyOCwgNzIsIDY1LCA2OSwgNzEsIDIwNCwgNzIsIDY1LCAKKyAgICA2NSwgODIsIDg1LCAxMjgsIDcyLCA2NSwgNjUsIDc3LCAxMjgsIDcyLCA2NSwgMTkzLCA3MiwgNjUsIDQ1LCA3MiwgNjUsIAorICAgIDEyOCwgNzIsIDQ4LCA0OCwgNTYsIDEyOCwgNzIsIDQ4LCA0OCwgNTUsIDEyOCwgNzIsIDQ4LCA0OCwgNTQsIDY1LCAxMjgsIAorICAgIDcyLCA0OCwgNDgsIDU0LCAxMjgsIDcyLCA0OCwgNDgsIDUzLCAxMjgsIDcyLCA0OCwgNDgsIDUyLCAxMjgsIDcyLCA0OCwgCisgICAgNDgsIDUxLCAxMjgsIDcyLCA0OCwgNDgsIDUwLCAxMjgsIDcyLCA0OCwgNDgsIDQ5LCAxMjgsIDcyLCA0NSwgODQsIDg5LCAKKyAgICA4MCwgMTk3LCA3MSwgODksIDg1LCAxMjgsIDcxLCA4OSwgNzksIDc4LCAxMjgsIDcxLCA4OSwgNzksIDEyOCwgNzEsIDg5LCAKKyAgICA3MywgMTI4LCA3MSwgODksIDcwLCAyMTMsIDcxLCA4OSwgNjksIDY5LCAxMjgsIDcxLCA4OSwgNjUsIDgzLCAxMjgsIDcxLCAKKyAgICA4OSwgNjUsIDY1LCAxMjgsIDcxLCA4OSwgNjUsIDEyOCwgNzEsIDg5LCAxMjgsIDcxLCA4NywgODUsIDEyOCwgNzEsIDg3LCAKKyAgICA3MywgMTI4LCA3MSwgODcsIDY5LCA2OSwgMTI4LCA3MSwgODcsIDY5LCAxMjgsIDcxLCA4NywgNjUsIDY1LCAxMjgsIDcxLCAKKyAgICA4NywgNjUsIDEyOCwgNzEsIDg2LCA2NSwgNzgsIDcxLCAxMjgsIDcxLCA4NiwgMTI4LCA3MSwgODUsIDgyLCA4NSwgODMsIAorICAgIDcyLCAxMjgsIDcxLCA4NSwgODIsIDg1LCA3OCwgMTI4LCA3MSwgODUsIDgyLCA3NywgODUsIDc1LCA3MiwgMjAxLCA3MSwgCisgICAgODUsIDgyLCA2NSwgNzcsIDg1LCA4NCwgNzksIDc4LCAxMjgsIDcxLCA4NSwgODIsIDU1LCAxMjgsIDcxLCA4NSwgNzgsIDg1LCAKICAgICAxMjgsIDcxLCA4NSwgNzgsIDIxMywgNzEsIDg1LCAyMDUsIDcxLCA4NSwgNzYsIDEyOCwgNzEsIDg1LCA3MywgODQsIDY1LCAKLSAgICA4MiwgMTI4LCA3MSwgODUsIDE5OSwgNzEsIDg1LCA2OSwgNzIsIDEyOCwgNzEsIDg1LCA2OSwgMjAwLCA3MSwgODUsIDY4LCAKLSAgICAxMjgsIDcxLCA4NSwgMTk2LCA3MSwgODUsIDY1LCA4MiwgNjgsIDgzLCA3NywgNjUsIDc4LCAxMjgsIDcxLCA4NSwgNjUsIAotICAgIDgyLCA2OCwgNjksIDY4LCA3OCwgNjksIDgzLCA4MywgMTI4LCA3MSwgODUsIDY1LCA4MiwgNjgsIDY5LCAxOTYsIDcxLCA4NSwgCi0gICAgNjUsIDgyLCA2OCwgMTI4LCA3MSwgODUsIDY1LCA4MiwgNjUsIDc4LCAyMDEsIDcxLCA4NSwgMTkzLCA3MSwgODUsIDE3OCwgCi0gICAgNzEsIDg0LCA2OSwgMjEwLCA3MSwgODMsIDg1LCA3NywgMTI4LCA3MSwgODMsIDg1LCAyMDUsIDcxLCA4MiwgMjEzLCA3MSwgCi0gICAgODIsIDc5LCA4NywgNzMsIDc4LCAxOTksIDcxLCA4MiwgNzksIDg1LCA3OCwgNjgsIDEyOCwgNzEsIDgyLCA3OSwgNzgsIDg0LCAKLSAgICA3MiwgNzMsIDgzLCA3NywgNjUsIDg0LCA2NSwgMTI4LCA3MSwgODIsIDczLCA3OCwgNzgsIDczLCA3OCwgMTk5LCA3MSwgODIsIAotICAgIDczLCA3NywgNjUsIDY3LCA3MywgNzgsIDE5OSwgNzEsIDgyLCA2OSwgNzEsIDc5LCA4MiwgNzMsIDY1LCAyMDYsIDcxLCA4MiwgCi0gICAgNjksIDY5LCAyMDYsIDcxLCA4MiwgNjksIDY1LCA4NCwgNzgsIDY5LCA4MywgODMsIDEyOCwgNzEsIDgyLCA2OSwgNjUsIDg0LCAKLSAgICA2OSwgODIsIDQ1LCA4NCwgNzIsIDY1LCA3OCwgMTI4LCA3MSwgODIsIDY5LCA2NSwgODQsIDY5LCA4MiwgNDUsIDg0LCA3MiwgCi0gICAgNjUsIDIwNiwgNzEsIDgyLCA2OSwgNjUsIDg0LCA2OSwgMjEwLCA3MSwgODIsIDY5LCA2NSwgMjEyLCA3MSwgODIsIDY1LCAKLSAgICA4NiwgNjksIDg5LCA2NSwgODIsIDE5NiwgNzEsIDgyLCA2NSwgODYsIDY5LCA0NSwgNzcsIDY1LCA2NywgODIsIDc5LCA3OCwgCi0gICAgMTI4LCA3MSwgODIsIDY1LCA4NiwgNjksIDQ1LCA2NSwgNjcsIDg1LCA4NCwgNjksIDQ1LCA3MSwgODIsIDY1LCA4NiwgNjksIAotICAgIDEyOCwgNzEsIDgyLCA2NSwgODYsIDE5NywgNzEsIDgyLCA2NSwgODQsIDY5LCA4MiwgMTI4LCA3MSwgODIsIDY1LCA4MywgCi0gICAgODMsIDEyOCwgNzEsIDgyLCA2NSwgODMsIDIxMSwgNzEsIDgyLCA2NSwgODAsIDcyLCA2OSwgNzcsIDE5NywgNzEsIDgyLCAKLSAgICA2NSwgODAsIDY5LCA4MywgMTI4LCA3MSwgODIsIDY1LCA3NywgNzcsIDE5MywgNzEsIDgyLCA2NSwgNzMsIDc4LCAxMjgsIAotICAgIDcxLCA4MiwgNjUsIDY4LCA4NSwgNjUsIDg0LCA3MywgNzksIDIwNiwgNzEsIDgyLCA2NSwgNjcsIDY5LCAxMjgsIDcxLCA4MiwgCi0gICAgNjUsIDY3LCAxOTcsIDcxLCA4MCwgNjUsIDEyOCwgNzEsIDc5LCA4MiwgODQsIDcyLCA3NywgNzMsIDc1LCA3OSwgMjA2LCAKLSAgICA3MSwgNzksIDgyLCA4NCwgMTI4LCA3MSwgNzksIDgyLCA3MSwgNzksIDg0LCA2OSwgODIsIDczLCAxMjgsIDcxLCA3OSwgODIsIAotICAgIDcxLCA3OSwgODMsIDg5LCA3OCwgODQsIDcyLCA2OSwgODQsIDc5LCA3OCwgMTI4LCA3MSwgNzksIDgyLCA3MSwgNzksIDIwNiwgCi0gICAgNzEsIDc5LCA4MiwgNzEsIDczLCAxMjgsIDcxLCA3OSwgODIsIDY1LCAxMjgsIDcxLCA3OSwgNzksIDE5NiwgNzEsIDc5LCAKLSAgICA3OCwgNzEsIDEyOCwgNzEsIDc5LCA3NiwgNjgsIDEyOCwgNzEsIDc5LCA3NSwgMTI4LCA3MSwgNzksIDczLCA3OCwgMTk5LCAKLSAgICA3MSwgNzksIDY2LCA3NiwgNzMsIDc4LCAxMjgsIDcxLCA3OSwgNjUsIDc2LCAxMjgsIDcxLCA3OSwgNjUsIDIwNCwgNzEsIAotICAgIDc5LCA2NSwgMTI4LCA3MSwgNzgsIDg5LCA3MywgODMsIDEyOCwgNzEsIDc4LCA2NSwgODYsIDczLCA4OSwgNjUsIDc4LCA3MywgCi0gICAgMTI4LCA3MSwgNzYsIDc5LCA4NywgNzMsIDc4LCAxOTksIDcxLCA3NiwgNzksIDg0LCA4NCwgNjUsIDIwNCwgNzEsIDc2LCAKLSAgICA3OSwgNjYsIDE5NywgNzEsIDc2LCA3MywgODMsIDgzLCA2NSwgNzgsIDY4LCAyMDcsIDcxLCA3NiwgNjksIDczLCA2NywgCi0gICAgMjAwLCA3MSwgNzYsIDY1LCA3MSwgNzksIDc2LCA3MywgMTI4LCA3MSwgNzYsIDY1LCAxMjgsIDcxLCA3NCwgNjksIDEyOCwgCi0gICAgNzEsIDczLCA4OCwgMTI4LCA3MSwgNzMsIDg0LCAxMjgsIDcxLCA3MywgODMsIDcyLCAxMjgsIDcxLCA3MywgODMsIDIwMCwgCi0gICAgNzEsIDczLCA4MywgNjUsIDc2LCAxMjgsIDcxLCA3MywgODIsIDg1LCA2OCwgNjUsIDY1LCAxMjgsIDcxLCA3MywgODIsIDc2LCAKKyAgICA4MiwgMTI4LCA3MSwgODUsIDE5OSwgNzEsIDg1LCA2OSwgNzMsIDEyOCwgNzEsIDg1LCA2OSwgNzIsIDEyOCwgNzEsIDg1LCAKKyAgICA2OSwgMjAwLCA3MSwgODUsIDY4LCAxMjgsIDcxLCA4NSwgMTk2LCA3MSwgODUsIDY1LCA4MiwgNjgsIDgzLCA3NywgNjUsIAorICAgIDc4LCAxMjgsIDcxLCA4NSwgNjUsIDgyLCA2OCwgNjksIDY4LCA3OCwgNjksIDgzLCA4MywgMTI4LCA3MSwgODUsIDY1LCA4MiwgCisgICAgNjgsIDY5LCAxOTYsIDcxLCA4NSwgNjUsIDgyLCA2OCwgMTI4LCA3MSwgODUsIDY1LCA4MiwgNjUsIDc4LCAyMDEsIDcxLCAKKyAgICA4NSwgMTkzLCA3MSwgODUsIDE3OCwgNzEsIDg0LCA2OSwgMjEwLCA3MSwgODMsIDg1LCA3NywgMTI4LCA3MSwgODMsIDg1LCAKKyAgICAyMDUsIDcxLCA4MiwgMjEzLCA3MSwgODIsIDc5LCA4NywgNzMsIDc4LCAxOTksIDcxLCA4MiwgNzksIDg1LCA3OCwgNjgsIAorICAgIDEyOCwgNzEsIDgyLCA3OSwgNzgsIDg0LCA3MiwgNzMsIDgzLCA3NywgNjUsIDg0LCA2NSwgMTI4LCA3MSwgODIsIDczLCA3OCwgCisgICAgNzgsIDczLCA3OCwgMTk5LCA3MSwgODIsIDczLCA3NywgNjUsIDY3LCA3MywgNzgsIDE5OSwgNzEsIDgyLCA2OSwgNzEsIDc5LCAKKyAgICA4MiwgNzMsIDY1LCAyMDYsIDcxLCA4MiwgNjksIDY5LCAyMDYsIDcxLCA4MiwgNjksIDY1LCA4NCwgNzgsIDY5LCA4MywgODMsIAorICAgIDEyOCwgNzEsIDgyLCA2OSwgNjUsIDg0LCA2OSwgODIsIDQ1LCA4NCwgNzIsIDY1LCA3OCwgMTI4LCA3MSwgODIsIDY5LCA2NSwgCisgICAgODQsIDY5LCA4MiwgNDUsIDg0LCA3MiwgNjUsIDIwNiwgNzEsIDgyLCA2OSwgNjUsIDg0LCA2OSwgMjEwLCA3MSwgODIsIDY5LCAKKyAgICA2NSwgMjEyLCA3MSwgODIsIDY1LCA4NiwgNjksIDg5LCA2NSwgODIsIDE5NiwgNzEsIDgyLCA2NSwgODYsIDY5LCA0NSwgNzcsIAorICAgIDY1LCA2NywgODIsIDc5LCA3OCwgMTI4LCA3MSwgODIsIDY1LCA4NiwgNjksIDQ1LCA2NSwgNjcsIDg1LCA4NCwgNjksIDQ1LCAKKyAgICA3MSwgODIsIDY1LCA4NiwgNjksIDEyOCwgNzEsIDgyLCA2NSwgODYsIDE5NywgNzEsIDgyLCA2NSwgODQsIDY5LCA4MiwgCisgICAgMTI4LCA3MSwgODIsIDY1LCA4MywgODMsIDEyOCwgNzEsIDgyLCA2NSwgODMsIDIxMSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKKyAgICA2OSwgNzcsIDE5NywgNzEsIDgyLCA2NSwgODAsIDY5LCA4MywgMTI4LCA3MSwgODIsIDY1LCA3NywgNzcsIDE5MywgNzEsIAorICAgIDgyLCA2NSwgNzMsIDc4LCAxMjgsIDcxLCA4MiwgNjUsIDY4LCA4NSwgNjUsIDg0LCA3MywgNzksIDIwNiwgNzEsIDgyLCA2NSwgCisgICAgNjcsIDY5LCAxMjgsIDcxLCA4MiwgNjUsIDY3LCAxOTcsIDcxLCA4MCwgNjUsIDEyOCwgNzEsIDc5LCA4MiwgODQsIDcyLCAKKyAgICA3NywgNzMsIDc1LCA3OSwgMjA2LCA3MSwgNzksIDgyLCA4NCwgMTI4LCA3MSwgNzksIDgyLCA3MSwgNzksIDg0LCA2OSwgODIsIAorICAgIDczLCAxMjgsIDcxLCA3OSwgODIsIDcxLCA3OSwgODMsIDg5LCA3OCwgODQsIDcyLCA2OSwgODQsIDc5LCA3OCwgMTI4LCA3MSwgCisgICAgNzksIDgyLCA3MSwgNzksIDIwNiwgNzEsIDc5LCA4MiwgNzEsIDczLCAxMjgsIDcxLCA3OSwgODIsIDY1LCAxMjgsIDcxLCAKKyAgICA3OSwgNzksIDE5NiwgNzEsIDc5LCA3OCwgNzEsIDEyOCwgNzEsIDc5LCA3NiwgNzAsIDY5LCA4MiwgMTI4LCA3MSwgNzksIAorICAgIDc2LCA2OCwgMTI4LCA3MSwgNzksIDc1LCAxMjgsIDcxLCA3OSwgNzMsIDc4LCAxOTksIDcxLCA3OSwgNjYsIDc2LCA3MywgCisgICAgNzgsIDEyOCwgNzEsIDc5LCA2NSwgNzYsIDEyOCwgNzEsIDc5LCA2NSwgMjA0LCA3MSwgNzksIDY1LCAxMjgsIDcxLCA3OCwgCisgICAgODksIDczLCA4MywgMTI4LCA3MSwgNzgsIDY1LCA4NiwgNzMsIDg5LCA2NSwgNzgsIDczLCAxMjgsIDcxLCA3NiwgNzksIDg3LCAKKyAgICA3MywgNzgsIDE5OSwgNzEsIDc2LCA3OSwgODQsIDg0LCA2NSwgMjA0LCA3MSwgNzYsIDc5LCA2NiwgMTk3LCA3MSwgNzYsIAorICAgIDczLCA4MywgODMsIDY1LCA3OCwgNjgsIDIwNywgNzEsIDc2LCA2OSwgNzMsIDY3LCAyMDAsIDcxLCA3NiwgNjUsIDcxLCA3OSwgCisgICAgNzYsIDczLCAxMjgsIDcxLCA3NiwgNjUsIDEyOCwgNzEsIDc0LCA2OSwgMTI4LCA3MSwgNzMsIDg4LCAxMjgsIDcxLCA3MywgCisgICAgODQsIDEyOCwgNzEsIDczLCA4MywgNzIsIDEyOCwgNzEsIDczLCA4MywgMjAwLCA3MSwgNzMsIDgzLCA2NSwgNzYsIDEyOCwgCisgICAgNzEsIDczLCA4MiwgODUsIDY4LCA2NSwgNjUsIDEyOCwgNzEsIDczLCA4MiwgNzYsIDIxMSwgNzEsIDczLCA4MiwgNzYsIAogICAgIDEyOCwgNzEsIDczLCA4MiwgNTEsIDEyOCwgNzEsIDczLCA4MiwgMTc5LCA3MSwgNzMsIDgyLCA1MCwgMTI4LCA3MSwgNzMsIAogICAgIDgyLCAxNzgsIDcxLCA3MywgODAsIDEyOCwgNzEsIDczLCA3OCwgNzMsIDczLCAxMjgsIDcxLCA3MywgNzcsIDY5LCA3NiwgCiAgICAgMTI4LCA3MSwgNzMsIDc3LCA2OSwgMjA0LCA3MSwgNzMsIDc3LCAxMjgsIDcxLCA3MywgNzEsIDY1LCAxMjgsIDcxLCA3MywgCi0gICAgNjksIDg0LCAxMjgsIDcxLCA3MywgNjgsIDczLCA3NywgMTI4LCA3MSwgNzMsIDY2LCA2NiwgNzksIDg1LCAyMTEsIDcxLCAKLSAgICA3MywgNjYsIDY1LCAxMjgsIDcxLCA3MywgNTIsIDEyOCwgNzEsIDczLCAxODAsIDcxLCA3MiwgOTAsIDEyOCwgNzEsIDcyLCAKLSAgICA4NywgNjUsIDEyOCwgNzEsIDcyLCA4NSwgNzgsIDc4LCA2NSwgMTI4LCA3MSwgNzIsIDg1LCA3OCwgNzgsIDE5MywgNzEsIAotICAgIDcyLCA4NSwgMTI4LCA3MSwgNzIsIDc5LCA4NSwgMTI4LCA3MSwgNzIsIDc5LCA4MywgODQsIDEyOCwgNzEsIDcyLCA3OSwgCi0gICAgMTI4LCA3MSwgNzIsIDczLCAxMjgsIDcxLCA3MiwgNzIsIDY1LCAxMjgsIDcxLCA3MiwgNjksIDg1LCA4OCwgMTI4LCA3MSwgCisgICAgNzEsIDEyOCwgNzEsIDczLCA2OSwgODQsIDEyOCwgNzEsIDczLCA2OCwgNzMsIDc3LCAxMjgsIDcxLCA3MywgNjYsIDY2LCAKKyAgICA3OSwgODUsIDIxMSwgNzEsIDczLCA2NiwgNjUsIDEyOCwgNzEsIDczLCA1MiwgMTI4LCA3MSwgNzMsIDE4MCwgNzEsIDcyLCAKKyAgICA5MCwgMTI4LCA3MSwgNzIsIDg3LCA2NSwgMTI4LCA3MSwgNzIsIDg1LCA3OCwgNzgsIDY1LCAxMjgsIDcxLCA3MiwgODUsIAorICAgIDc4LCA3OCwgMTkzLCA3MSwgNzIsIDg1LCAxMjgsIDcxLCA3MiwgNzksIDg1LCAxMjgsIDcxLCA3MiwgNzksIDgzLCA4NCwgCisgICAgMTI4LCA3MSwgNzIsIDc5LCAxMjgsIDcxLCA3MiwgNzMsIDc3LCA2OSwgNzYsIDEyOCwgNzEsIDcyLCA3MywgMTI4LCA3MSwgCisgICAgNzIsIDcyLCA2NSwgMTI4LCA3MSwgNzIsIDY5LCA4OSwgODMsIDEyOCwgNzEsIDcyLCA2OSwgODUsIDg4LCAxMjgsIDcxLCAKICAgICA3MiwgNjksIDg1LCA3OCwgMTI4LCA3MSwgNzIsIDY5LCA4NSwgNzEsIDcyLCA2OSwgODUsIDY1LCA2OSwgNzcsIDEyOCwgNzEsIAogICAgIDcyLCA2OSwgODUsIDcxLCA3MiwgNjksIDc4LCAxMjgsIDcxLCA3MiwgNjksIDg1LCA2NSwgNjksIDgyLCA2NSwgNjksIDEyOCwgCiAgICAgNzEsIDcyLCA2OSwgODUsIDY1LCA2OSwgNzEsIDcyLCA2OSwgODUsIDY1LCA2OSwgMTI4LCA3MSwgNzIsIDY5LCA4NCwgMTI4LCAKICAgICA3MSwgNzIsIDY5LCA2OSwgMTI4LCA3MSwgNzIsIDY5LCAxMjgsIDcxLCA3MiwgMTk3LCA3MSwgNzIsIDY1LCA4OSwgNzgsIAogICAgIDEyOCwgNzEsIDcyLCA2NSwgODIsIDY1LCA2OSwgMTI4LCA3MSwgNzIsIDY1LCA4MCwgMTI4LCA3MSwgNzIsIDY1LCA3OCwgCi0gICAgMTI4LCA3MSwgNzIsIDY1LCA3NywgNjUsIDc2LCAxMjgsIDcxLCA3MiwgNjUsIDczLCA3OCwgODUsIDEyOCwgNzEsIDcyLCAKLSAgICA2NSwgNzMsIDc4LCAxMjgsIDcxLCA3MiwgNjUsIDczLCAyMDYsIDcxLCA3MiwgNjUsIDY4LCAxMjgsIDcxLCA3MiwgNjUsIAotICAgIDY1LCA3NywgNjUsIDY5LCAxMjgsIDcxLCA3MiwgNjUsIDY1LCAxMjgsIDcxLCA3MSwgODcsIDczLCAxMjgsIDcxLCA3MSwgCi0gICAgODcsIDY5LCA2OSwgMTI4LCA3MSwgNzEsIDg3LCA2OSwgMTI4LCA3MSwgNzEsIDg3LCA2NSwgNjUsIDEyOCwgNzEsIDcxLCAKLSAgICA4NywgNjUsIDEyOCwgNzEsIDcxLCA4NSwgODgsIDEyOCwgNzEsIDcxLCA4NSwgODQsIDEyOCwgNzEsIDcxLCA4NSwgODIsIAotICAgIDg4LCAxMjgsIDcxLCA3MSwgODUsIDgyLCAxMjgsIDcxLCA3MSwgODUsIDc5LCA4OCwgMTI4LCA3MSwgNzEsIDg1LCA3OSwgCi0gICAgODQsIDEyOCwgNzEsIDcxLCA4NSwgNzksIDgwLCAxMjgsIDcxLCA3MSwgODUsIDc5LCAxMjgsIDcxLCA3MSwgNzksIDg4LCAKLSAgICAxMjgsIDcxLCA3MSwgNzksIDg0LCAxMjgsIDcxLCA3MSwgNzksIDgwLCAxMjgsIDcxLCA3MSwgNzMsIDg4LCAxMjgsIDcxLCAKLSAgICA3MSwgNzMsIDg0LCAxMjgsIDcxLCA3MSwgNzMsIDY5LCA4OCwgMTI4LCA3MSwgNzEsIDczLCA2OSwgODAsIDEyOCwgNzEsIAotICAgIDcxLCA3MywgNjksIDEyOCwgNzEsIDcxLCA2OSwgODgsIDEyOCwgNzEsIDcxLCA2OSwgODQsIDEyOCwgNzEsIDcxLCA2OSwgCi0gICAgODAsIDEyOCwgNzEsIDcxLCA2NSwgODgsIDEyOCwgNzEsIDcxLCA2NSwgODQsIDEyOCwgNzEsIDcxLCA2NSwgNjUsIDEyOCwgCi0gICAgNzEsIDY5LCA4NCwgMTkzLCA3MSwgNjksIDgzLCA4NCwgODUsIDgyLCA2OSwgMTI4LCA3MSwgNjksIDgzLCA3MiwgODUsIAotICAgIDEyOCwgNzEsIDY5LCA4MywgNzIsIDg0LCA3MywgNzgsIDEyOCwgNzEsIDY5LCA4MywgNzIsIDg0LCA3MywgMjA2LCA3MSwgCi0gICAgNjksIDgzLCA3MiwgNTAsIDEyOCwgNzEsIDY5LCA4MiwgODMsIDcyLCA2NSwgODksIDczLCA3NywgMTI4LCA3MSwgNjksIDgyLCAKLSAgICA3NywgNjUsIDIwNiwgNzEsIDY5LCA4MiwgNjksIDgzLCA3MiwgMTI4LCA3MSwgNjksIDgyLCA2OSwgODMsIDIwMCwgNzEsIAotICAgIDY5LCA3OSwgNzcsIDY5LCA4NCwgODIsIDczLCA2NywgNjUsIDc2LCA3NiwgMjE3LCA3MSwgNjksIDc5LCA3NywgNjksIDg0LCAKLSAgICA4MiwgNzMsIDE5NSwgNzEsIDY5LCA3OCwgODQsIDc2LCAxOTcsIDcxLCA2OSwgNzgsIDczLCA4NCwgNzMsIDg2LCA2OSwgCi0gICAgMTI4LCA3MSwgNjksIDc4LCA3MywgNzUsIDIwMSwgNzEsIDY5LCA3OCwgNjksIDgyLCA3MywgMTk1LCA3MSwgNjksIDc3LCAKLSAgICA3MywgNzgsIDczLCAxMjgsIDcxLCA2OSwgNzcsIDczLCA3OCwgNjUsIDg0LCA3MywgNzksIDIwNiwgNzEsIDY5LCAyMDUsIAotICAgIDcxLCA2OSwgNjgsIDc5LCA3NiwgNjUsIDEyOCwgNzEsIDY5LCA2OCwgNjksIDEyOCwgNzEsIDY5LCA2NiwgMjA3LCA3MSwgCi0gICAgNjksIDY2LCAxOTMsIDcxLCA2OSwgNjUsIDgyLCAxMjgsIDcxLCA2OSwgNjUsIDIxMCwgNzEsIDY4LCA2NSwgNzgsIDEyOCwgCi0gICAgNzEsIDY3LCA3MywgNzEsIDEyOCwgNzEsIDY3LCA2NSwgMjA2LCA3MSwgNjYsIDc5LCA3OCwgMTI4LCA3MSwgNjYsIDczLCAKLSAgICA2OSwgMTk3LCA3MSwgNjYsIDY5LCA4NSwgODgsIDEyOCwgNzEsIDY2LCA2OSwgODQsIDEyOCwgNzEsIDY2LCA2NSwgODksIAotICAgIDczLCAxMjgsIDcxLCA2NiwgNjUsIDc1LCA4NSwgODIsIDg1LCA3OCwgNjksIDc4LCAxMjgsIDcxLCA2NiwgMTI4LCA3MSwgCi0gICAgNjUsIDg5LCA2NSwgNzgsIDg1LCA3NSwgNzMsIDg0LCA4NCwgNjUsIDEyOCwgNzEsIDY1LCA4OSwgNjUsIDc4LCA3OCwgNjUsIAotICAgIDEyOCwgNzEsIDY1LCA4OSwgMTI4LCA3MSwgNjUsIDg1LCA3OCwgODQsIDc2LCA2OSwgODQsIDEyOCwgNzEsIDY1LCA4NCwgCi0gICAgNzIsIDY5LCA4MiwgNzMsIDc4LCA3MSwgMTI4LCA3MSwgNjUsIDg0LCA3MiwgNjksIDgyLCA3MywgNzgsIDE5OSwgNzEsIDY1LCAKLSAgICA4NCwgNjksIDEyOCwgNzEsIDY1LCA4MywgNzIsIDY1LCA3OCwgMTI4LCA3MSwgNjUsIDgyLCA4MywgNzIsIDg1LCA3OCwgNzMsIAotICAgIDEyOCwgNzEsIDY1LCA4MiwgNzksIDc4LCAxMjgsIDcxLCA2NSwgODIsIDc3LCA2OSwgNzgsIDg0LCAxMjgsIDcxLCA2NSwgCi0gICAgODIsIDY4LCA2OSwgNzgsIDEyOCwgNzEsIDY1LCA4MiwgNTEsIDEyOCwgNzEsIDY1LCA4MCwgODAsIDY5LCAxOTYsIDcxLCAKLSAgICA2NSwgMjA4LCA3MSwgNjUsIDc4LCA3NywgNjUsIDEyOCwgNzEsIDY1LCA3OCwgNzEsIDczLCA2NSwgMTI4LCA3MSwgNjUsIAotICAgIDc4LCA2OCwgMTkzLCA3MSwgNjUsIDc4LCA1MCwgMTI4LCA3MSwgNjUsIDc4LCAxNzgsIDcxLCA2NSwgNzcsIDc3LCA2NSwgCi0gICAgMTI4LCA3MSwgNjUsIDc3LCA3NiwgNjUsIDEyOCwgNzEsIDY1LCA3NywgNzYsIDEyOCwgNzEsIDY1LCA3NywgNjksIDEyOCwgCi0gICAgNzEsIDY1LCA3NywgMTk3LCA3MSwgNjUsIDc3LCA2NSwgNzgsIDEyOCwgNzEsIDY1LCA3NywgNjUsIDc2LCAxMjgsIDcxLCAKLSAgICA2NSwgNzcsIDY1LCAyMDQsIDcxLCA2NSwgNzEsIDEyOCwgNzEsIDY1LCA3MCwgMTI4LCA3MSwgNjUsIDE5OCwgNzEsIDY1LCAKLSAgICA2OSwgODQsIDg0LCA2NSwgNDUsIDgwLCA3MywgNzYsIDc2LCA2NSwgMTI4LCA3MSwgNjUsIDY4LCA3OSwgNzYsIDEyOCwgNzEsIAotICAgIDY1LCA2OCwgMTI4LCA3MSwgNjUsIDE5NiwgNzEsIDY1LCA2NiwgNjUsIDEyOCwgNzEsIDY1LCA2NiwgMTkzLCA3MSwgNjUsIAotICAgIDY1LCA3MCwgODUsIDEyOCwgNzEsIDY1LCAxNzgsIDcxLCA0OCwgNTMsIDUyLCAxMjgsIDcxLCA0OCwgNTMsIDUxLCAxMjgsIAotICAgIDcxLCA0OCwgNTMsIDUwLCAxMjgsIDcxLCA0OCwgNTMsIDQ5LCAxMjgsIDcxLCA0OCwgNTMsIDQ4LCAxMjgsIDcxLCA0OCwgCi0gICAgNTIsIDU3LCAxMjgsIDcxLCA0OCwgNTIsIDU2LCAxMjgsIDcxLCA0OCwgNTIsIDU1LCAxMjgsIDcxLCA0OCwgNTIsIDU0LCAKLSAgICAxMjgsIDcxLCA0OCwgNTIsIDUzLCA2NSwgMTI4LCA3MSwgNDgsIDUyLCA1MywgMTI4LCA3MSwgNDgsIDUyLCA1MiwgMTI4LCAKLSAgICA3MSwgNDgsIDUyLCA1MSwgNjUsIDEyOCwgNzEsIDQ4LCA1MiwgNTEsIDEyOCwgNzEsIDQ4LCA1MiwgNTAsIDEyOCwgNzEsIAotICAgIDQ4LCA1MiwgNDksIDEyOCwgNzEsIDQ4LCA1MiwgNDgsIDEyOCwgNzEsIDQ4LCA1MSwgNTcsIDEyOCwgNzEsIDQ4LCA1MSwgCi0gICAgNTYsIDEyOCwgNzEsIDQ4LCA1MSwgNTUsIDY1LCAxMjgsIDcxLCA0OCwgNTEsIDU1LCAxMjgsIDcxLCA0OCwgNTEsIDU0LCAKLSAgICA2NSwgMTI4LCA3MSwgNDgsIDUxLCA1NCwgMTI4LCA3MSwgNDgsIDUxLCA1MywgMTI4LCA3MSwgNDgsIDUxLCA1MiwgMTI4LCAKLSAgICA3MSwgNDgsIDUxLCA1MSwgMTI4LCA3MSwgNDgsIDUxLCA1MCwgMTI4LCA3MSwgNDgsIDUxLCA0OSwgMTI4LCA3MSwgNDgsIAotICAgIDUxLCA0OCwgMTI4LCA3MSwgNDgsIDUwLCA1NywgMTI4LCA3MSwgNDgsIDUwLCA1NiwgMTI4LCA3MSwgNDgsIDUwLCA1NSwgCi0gICAgMTI4LCA3MSwgNDgsIDUwLCA1NCwgNjUsIDEyOCwgNzEsIDQ4LCA1MCwgNTQsIDEyOCwgNzEsIDQ4LCA1MCwgNTMsIDEyOCwgCi0gICAgNzEsIDQ4LCA1MCwgNTIsIDEyOCwgNzEsIDQ4LCA1MCwgNTEsIDEyOCwgNzEsIDQ4LCA1MCwgNTAsIDEyOCwgNzEsIDQ4LCAKLSAgICA1MCwgNDksIDEyOCwgNzEsIDQ4LCA1MCwgNDgsIDY1LCAxMjgsIDcxLCA0OCwgNTAsIDQ4LCAxMjgsIDcxLCA0OCwgNDksIAotICAgIDU3LCAxMjgsIDcxLCA0OCwgNDksIDU2LCAxMjgsIDcxLCA0OCwgNDksIDU1LCAxMjgsIDcxLCA0OCwgNDksIDU0LCAxMjgsIAotICAgIDcxLCA0OCwgNDksIDUzLCAxMjgsIDcxLCA0OCwgNDksIDUyLCAxMjgsIDcxLCA0OCwgNDksIDUxLCAxMjgsIDcxLCA0OCwgCi0gICAgNDksIDUwLCAxMjgsIDcxLCA0OCwgNDksIDQ5LCA2NSwgMTI4LCA3MSwgNDgsIDQ5LCA0OSwgMTI4LCA3MSwgNDgsIDQ5LCAKLSAgICA0OCwgMTI4LCA3MSwgNDgsIDQ4LCA1NywgMTI4LCA3MSwgNDgsIDQ4LCA1NiwgMTI4LCA3MSwgNDgsIDQ4LCA1NSwgNjYsIAotICAgIDEyOCwgNzEsIDQ4LCA0OCwgNTUsIDY1LCAxMjgsIDcxLCA0OCwgNDgsIDU1LCAxMjgsIDcxLCA0OCwgNDgsIDU0LCA2NSwgCi0gICAgMTI4LCA3MSwgNDgsIDQ4LCA1NCwgMTI4LCA3MSwgNDgsIDQ4LCA1MywgMTI4LCA3MSwgNDgsIDQ4LCA1MiwgMTI4LCA3MSwgCi0gICAgNDgsIDQ4LCA1MSwgMTI4LCA3MSwgNDgsIDQ4LCA1MCwgMTI4LCA3MSwgNDgsIDQ4LCA0OSwgMTI4LCA3MCwgODksIDg4LCAKLSAgICAxMjgsIDcwLCA4OSwgODQsIDEyOCwgNzAsIDg5LCA4MCwgMTI4LCA3MCwgODksIDY1LCAxMjgsIDcwLCA4NywgNzMsIDEyOCwgCi0gICAgNzAsIDg3LCA2OSwgNjksIDEyOCwgNzAsIDg3LCA2OSwgMTI4LCA3MCwgODcsIDY1LCA2NSwgMTI4LCA3MCwgODcsIDY1LCAKLSAgICAxMjgsIDcwLCA4NiwgODMsIDUxLCAxMjgsIDcwLCA4NiwgODMsIDUwLCAxMjgsIDcwLCA4NiwgODMsIDQ5LCAxMjgsIDcwLCAKLSAgICA4NSwgODgsIDEyOCwgNzAsIDg1LCA4NCwgMTI4LCA3MCwgODUsIDgzLCA2OSwgMTI4LCA3MCwgODUsIDgzLCAxOTMsIDcwLCAKLSAgICA4NSwgODIsIDg4LCAxMjgsIDcwLCA4NSwgODAsIDEyOCwgNzAsIDg1LCA3OCwgNjksIDgyLCA2NSwgMjA0LCA3MCwgODUsIAotICAgIDc4LCA2NywgODQsIDczLCA3OSwgNzgsIDY1LCAyMDQsIDcwLCA4NSwgNzgsIDY3LCA4NCwgNzMsIDc5LCA3OCwgMTI4LCA3MCwgCi0gICAgODUsIDc2LCA3NiwgNzgsIDY5LCA4MywgODMsIDEyOCwgNzAsIDg1LCA3NiwgMjA0LCA3MCwgODUsIDc0LCA3MywgMTI4LCAKLSAgICA3MCwgODUsIDY5LCA4NCwgMTI4LCA3MCwgODUsIDY5LCAyMDQsIDcwLCA4NSwgNjksIDEyOCwgNzAsIDg0LCA3MiwgNzksIAotICAgIDgyLCAxOTMsIDcwLCA4MywgNzMsIDEyOCwgNzAsIDgyLCA3OSwgODcsIDc4LCA3MywgNzgsIDcxLCAxMjgsIDcwLCA4MiwgCi0gICAgNzksIDg3LCA3OCwgNzMsIDc4LCAxOTksIDcwLCA4MiwgNzksIDg3LCA3OCwgMTI4LCA3MCwgODIsIDc5LCA3OCwgODQsIDQ1LCAKLSAgICA4NCwgNzMsIDc2LCA4NCwgNjksIDE5NiwgNzAsIDgyLCA3OSwgNzgsIDg0LCA0NSwgNzAsIDY1LCA2NywgNzMsIDc4LCAxOTksIAotICAgIDcwLCA4MiwgNzksIDIwNSwgNzAsIDgyLCA3OSwgNzEsIDEyOCwgNzAsIDgyLCA3OSwgMTk5LCA3MCwgODIsIDczLCA4NCwgCi0gICAgODUsIDEyOCwgNzAsIDgyLCA3MywgNjksIDgzLCAxMjgsIDcwLCA4MiwgNzMsIDY5LCAxOTYsIDcwLCA4MiwgNzMsIDY3LCAKLSAgICA2NSwgODQsIDczLCA4NiwgNjksIDEyOCwgNzAsIDgyLCA2OSwgODQsIDY2LCA3OSwgNjUsIDgyLCA2OCwgMTI4LCA3MCwgODIsIAotICAgIDY5LCA3OCwgNjcsIDIwMCwgNzAsIDgyLCA2OSwgNjksIDEyOCwgNzAsIDgyLCA2OSwgMTk3LCA3MCwgODIsIDY1LCA3OCwgCi0gICAgMTk1LCA3MCwgODIsIDY1LCA3NywgNjksIDEyOCwgNzAsIDgyLCA2NSwgNzEsIDgyLCA2NSwgNzgsIDg0LCAxMjgsIDcwLCAKLSAgICA4MiwgNjUsIDcxLCA3NywgNjksIDc4LCA4NCwgMTI4LCA3MCwgODIsIDY1LCA2NywgODQsIDczLCA3OSwgMjA2LCA3MCwgNzksIAotICAgIDg4LCAxMjgsIDcwLCA3OSwgODUsIDgyLCA4NCwgNjksIDY5LCA3OCwgMTI4LCA3MCwgNzksIDg1LCA4MiwgODQsIDY5LCA2OSwgCi0gICAgMjA2LCA3MCwgNzksIDg1LCA4MiwgNDUsIDg0LCA3MiwgNzMsIDgyLCA4NCwgODksIDEyOCwgNzAsIDc5LCA4NSwgODIsIDQ1LCAKLSAgICA4MywgODQsIDgyLCA3MywgNzgsIDE5OSwgNzAsIDc5LCA4NSwgODIsIDQ1LCA4MCwgNjksIDgyLCA0NSwgNjksIDIwNSwgNzAsIAotICAgIDc5LCA4NSwgODIsIDQ1LCA3NiwgNzMsIDc4LCAxOTcsIDcwLCA3OSwgODUsIDIxMCwgNzAsIDc5LCA4NSwgNzgsIDg0LCA2NSwgCi0gICAgNzMsIDc4LCAxMjgsIDcwLCA3OSwgODMsIDg0LCA2OSwgODIsIDczLCA3OCwgNzEsIDEyOCwgNzAsIDc5LCA4MiwgODcsIDY1LCAKLSAgICA4MiwgNjgsIDEyOCwgNzAsIDc5LCA4MiwgODQsIDg5LCAxMjgsIDcwLCA3OSwgODIsIDg0LCAyMTcsIDcwLCA3OSwgODIsIAotICAgIDg0LCA2OSwgMTI4LCA3MCwgNzksIDgyLCA3NywgMjExLCA3MCwgNzksIDgyLCA3NywgNjUsIDg0LCA4NCwgNzMsIDc4LCA3MSwgCi0gICAgMTI4LCA3MCwgNzksIDgyLCA3NSwgNjksIDE5NiwgNzAsIDc5LCA4MiwgNjcsIDY5LCA4MywgMTI4LCA3MCwgNzksIDgyLCAKLSAgICA2NywgNjksIDEyOCwgNzAsIDc5LCA4MCwgMTI4LCA3MCwgNzksIDc5LCA4NCwgODMsIDg0LCA3OSwgNzksIDc2LCAxMjgsIAotICAgIDcwLCA3OSwgNzksIDg0LCA4MCwgODIsIDczLCA3OCwgODQsIDgzLCAxMjgsIDcwLCA3OSwgNzksIDg0LCA3OCwgNzksIDg0LCAKLSAgICAxOTcsIDcwLCA3OSwgNzksIDg0LCA2NiwgNjUsIDc2LCA3NiwgMTI4LCA3MCwgNzksIDc5LCA4NCwgMTI4LCA3MCwgNzksIAotICAgIDc5LCA2OCwgMTI4LCA3MCwgNzksIDc5LCAxMjgsIDcwLCA3OSwgNzgsIDcxLCA3NywgNjUsIDc4LCAxMjgsIDcwLCA3OSwgCi0gICAgNzcsIDEyOCwgNzAsIDc5LCA3NiwgNzYsIDg5LCAxMjgsIDcwLCA3OSwgNzYsIDc2LCA3OSwgODcsIDczLCA3OCwgNzEsIAotICAgIDEyOCwgNzAsIDc5LCA3NiwgNjgsIDY5LCA4MiwgMTI4LCA3MCwgNzksIDc2LCA2OCwgNjksIDE5NiwgNzAsIDc5LCA3MSwgCi0gICAgNzEsIDg5LCAxMjgsIDcwLCAyMDcsIDcwLCA3NywgMTI4LCA3MCwgNzYsIDg5LCAxMjgsIDcwLCA3NiwgODUsIDg0LCA4NCwgCi0gICAgNjksIDgyLCA3MywgNzgsIDE5OSwgNzAsIDc2LCA4NSwgODQsIDY5LCAxMjgsIDcwLCA3NiwgODUsIDgzLCA3MiwgNjksIAotICAgIDE5NiwgNzAsIDc2LCA3OSwgODcsIDczLCA3OCwgMTk5LCA3MCwgNzYsIDc5LCA4NywgNjksIDIxMCwgNzAsIDc2LCA3OSwgCi0gICAgODUsIDgyLCA3MywgODMsIDcyLCAxMjgsIDcwLCA3NiwgNzksIDgyLCA2OSwgODQsIDg0LCA2OSwgMTI4LCA3MCwgNzYsIDc5LCAKLSAgICA4MiwgNjUsIDIwNCwgNzAsIDc2LCA3OSwgODAsIDgwLCAyMTcsIDcwLCA3NiwgNzksIDc5LCA4MiwgMTI4LCA3MCwgNzYsIAotICAgIDczLCA4MCwgMTI4LCA3MCwgNzYsIDczLCA3MSwgNzIsIDg0LCAxMjgsIDcwLCA3NiwgNjksIDg4LCA4NSwgODMsIDEyOCwgCi0gICAgNzAsIDc2LCA2OSwgODgsIDY5LCAxOTYsIDcwLCA3NiwgNjksIDg1LCA4MiwgNDUsIDY4LCA2OSwgNDUsIDc2LCA3MywgODMsIAotICAgIDEyOCwgNzAsIDc2LCA2NSwgODQsIDg0LCA2OSwgNzgsIDY5LCAxOTYsIDcwLCA3NiwgNjUsIDg0LCA3OCwgNjksIDgzLCA4MywgCi0gICAgMTI4LCA3MCwgNzYsIDY1LCA4NCwgMTI4LCA3MCwgNzYsIDY1LCAyMTIsIDcwLCA3NiwgNjUsIDcxLCA4MywgMTI4LCA3MCwgCi0gICAgNzYsIDY1LCA3MSwgNDUsIDUzLCAxMjgsIDcwLCA3NiwgNjUsIDcxLCA0NSwgNTIsIDEyOCwgNzAsIDc2LCA2NSwgNzEsIDQ1LCAKLSAgICA1MSwgMTI4LCA3MCwgNzYsIDY1LCA3MSwgNDUsIDUwLCAxMjgsIDcwLCA3NiwgNjUsIDcxLCA0NSwgNDksIDEyOCwgNzAsIAotICAgIDc2LCA2NSwgNzEsIDEyOCwgNzAsIDc2LCA2NSwgMTk5LCA3MCwgNzYsIDY1LCAxMjgsIDcwLCA3NiwgMTI4LCA3MCwgNzMsIAotICAgIDg4LCA2OSwgNjgsIDQ1LCA3MCwgNzksIDgyLCAyMDUsIDcwLCA3MywgODgsIDEyOCwgNzAsIDczLCA4NiwgNjksIDQ1LCA4NCwgCi0gICAgNzIsIDczLCA4MiwgODQsIDg5LCAxMjgsIDcwLCA3MywgODYsIDY5LCA0NSwgNzYsIDczLCA3OCwgMTk3LCA3MCwgNzMsIDg2LCAKLSAgICAxOTcsIDcwLCA3MywgODQsIDY1LCAxMjgsIDcwLCA3MywgODQsIDEyOCwgNzAsIDczLCA4MywgODQsIDY5LCAxOTYsIDcwLCAKLSAgICA3MywgODMsIDg0LCAxMjgsIDcwLCA3MywgODMsIDcyLCA3MywgNzgsIDE5OSwgNzAsIDczLCA4MywgNzIsIDcyLCA3OSwgNzksIAotICAgIDc1LCAxMjgsIDcwLCA3MywgODMsIDcyLCA3MiwgNzksIDc5LCAyMDMsIDcwLCA3MywgODMsIDcyLCA2OSwgODksIDY5LCAKKyAgICAxMjgsIDcxLCA3MiwgNjUsIDc3LCA3NywgNjUsIDEyOCwgNzEsIDcyLCA2NSwgNzcsIDY1LCA3NiwgMTI4LCA3MSwgNzIsIAorICAgIDY1LCA3MywgNzgsIDg1LCAxMjgsIDcxLCA3MiwgNjUsIDczLCA3OCwgMTI4LCA3MSwgNzIsIDY1LCA3MywgMjA2LCA3MSwgCisgICAgNzIsIDY1LCA2OCwgMTI4LCA3MSwgNzIsIDY1LCA2NSwgNzcsIDY1LCA2OSwgMTI4LCA3MSwgNzIsIDY1LCA2NSwgMTI4LCAKKyAgICA3MSwgNzEsIDg3LCA3MywgMTI4LCA3MSwgNzEsIDg3LCA2OSwgNjksIDEyOCwgNzEsIDcxLCA4NywgNjksIDEyOCwgNzEsIAorICAgIDcxLCA4NywgNjUsIDY1LCAxMjgsIDcxLCA3MSwgODcsIDY1LCAxMjgsIDcxLCA3MSwgODUsIDg4LCAxMjgsIDcxLCA3MSwgCisgICAgODUsIDg0LCAxMjgsIDcxLCA3MSwgODUsIDgyLCA4OCwgMTI4LCA3MSwgNzEsIDg1LCA4MiwgMTI4LCA3MSwgNzEsIDg1LCAKKyAgICA3OSwgODgsIDEyOCwgNzEsIDcxLCA4NSwgNzksIDg0LCAxMjgsIDcxLCA3MSwgODUsIDc5LCA4MCwgMTI4LCA3MSwgNzEsIAorICAgIDg1LCA3OSwgMTI4LCA3MSwgNzEsIDc5LCA4OCwgMTI4LCA3MSwgNzEsIDc5LCA4NCwgMTI4LCA3MSwgNzEsIDc5LCA4MCwgCisgICAgMTI4LCA3MSwgNzEsIDczLCA4OCwgMTI4LCA3MSwgNzEsIDczLCA4NCwgMTI4LCA3MSwgNzEsIDczLCA2OSwgODgsIDEyOCwgCisgICAgNzEsIDcxLCA3MywgNjksIDgwLCAxMjgsIDcxLCA3MSwgNzMsIDY5LCAxMjgsIDcxLCA3MSwgNjksIDg4LCAxMjgsIDcxLCAKKyAgICA3MSwgNjksIDg0LCAxMjgsIDcxLCA3MSwgNjksIDgwLCAxMjgsIDcxLCA3MSwgNjUsIDg4LCAxMjgsIDcxLCA3MSwgNjUsIAorICAgIDg0LCAxMjgsIDcxLCA2OSwgODQsIDE5MywgNzEsIDY5LCA4MywgODQsIDg1LCA4MiwgNjksIDEyOCwgNzEsIDY5LCA4MywgCisgICAgNzIsIDg1LCAxMjgsIDcxLCA2OSwgODMsIDcyLCA4NCwgNzMsIDc4LCAxMjgsIDcxLCA2OSwgODMsIDcyLCA4NCwgNzMsIAorICAgIDIwNiwgNzEsIDY5LCA4MywgNzIsIDUwLCAxMjgsIDcxLCA2OSwgODIsIDgzLCA3MiwgNjUsIDg5LCA3MywgNzcsIDEyOCwgCisgICAgNzEsIDY5LCA4MiwgNzcsIDY1LCAyMDYsIDcxLCA2OSwgODIsIDY5LCA4MywgNzIsIDEyOCwgNzEsIDY5LCA4MiwgNjksIDgzLCAKKyAgICAyMDAsIDcxLCA2OSwgNzksIDc3LCA2OSwgODQsIDgyLCA3MywgNjcsIDY1LCA3NiwgNzYsIDIxNywgNzEsIDY5LCA3OSwgNzcsIAorICAgIDY5LCA4NCwgODIsIDczLCAxOTUsIDcxLCA2OSwgNzgsIDg0LCA3NiwgMTk3LCA3MSwgNjksIDc4LCA3MywgODQsIDczLCA4NiwgCisgICAgNjksIDEyOCwgNzEsIDY5LCA3OCwgNzMsIDc1LCAyMDEsIDcxLCA2OSwgNzgsIDY5LCA4MiwgNzMsIDE5NSwgNzEsIDY5LCAKKyAgICA3NywgNzMsIDc4LCA3MywgMTI4LCA3MSwgNjksIDc3LCA3MywgNzgsIDY1LCA4NCwgNzMsIDc5LCAyMDYsIDcxLCA2OSwgCisgICAgMjA1LCA3MSwgNjksIDY5LCA3NywgMTI4LCA3MSwgNjksIDY4LCA3OSwgNzYsIDY1LCAxMjgsIDcxLCA2OSwgNjgsIDY5LCAKKyAgICAxMjgsIDcxLCA2OSwgNjYsIDIwNywgNzEsIDY5LCA2NiwgMTkzLCA3MSwgNjksIDY1LCA4MiwgMTI4LCA3MSwgNjksIDY1LCAKKyAgICAyMTAsIDcxLCA2OSwgNTAsIDUwLCAxMjgsIDcxLCA2OCwgNjUsIDc4LCAxMjgsIDcxLCA2NywgNzMsIDcxLCAxMjgsIDcxLCAKKyAgICA2NywgNjUsIDIwNiwgNzEsIDY2LCA3OSwgNzgsIDEyOCwgNzEsIDY2LCA3MywgNjksIDE5NywgNzEsIDY2LCA2OSwgODUsIAorICAgIDg4LCAxMjgsIDcxLCA2NiwgNjksIDg0LCAxMjgsIDcxLCA2NiwgNjUsIDg5LCA3MywgMTI4LCA3MSwgNjYsIDY1LCA3NSwgCisgICAgODUsIDgyLCA4NSwgNzgsIDY5LCA3OCwgMTI4LCA3MSwgNjYsIDEyOCwgNzEsIDY1LCA4OSwgNjUsIDc4LCA4NSwgNzUsIDczLCAKKyAgICA4NCwgODQsIDY1LCAxMjgsIDcxLCA2NSwgODksIDY1LCA3OCwgNzgsIDY1LCAxMjgsIDcxLCA2NSwgODksIDEyOCwgNzEsIAorICAgIDY1LCA4NSwgNzgsIDg0LCA3NiwgNjksIDg0LCAxMjgsIDcxLCA2NSwgODQsIDcyLCA2OSwgODIsIDczLCA3OCwgNzEsIDEyOCwgCisgICAgNzEsIDY1LCA4NCwgNzIsIDY5LCA4MiwgNzMsIDc4LCAxOTksIDcxLCA2NSwgODQsIDY5LCAxMjgsIDcxLCA2NSwgODMsIDcyLCAKKyAgICA2NSwgNzgsIDEyOCwgNzEsIDY1LCA4MiwgODMsIDcyLCA4NSwgNzgsIDczLCAxMjgsIDcxLCA2NSwgODIsIDc5LCA3OCwgCisgICAgMTI4LCA3MSwgNjUsIDgyLCA3NywgNjksIDc4LCA4NCwgMTI4LCA3MSwgNjUsIDgyLCA2OCwgNjksIDc4LCAxMjgsIDcxLCAKKyAgICA2NSwgODIsIDUxLCAxMjgsIDcxLCA2NSwgODAsIDgwLCA2OSwgMTk2LCA3MSwgNjUsIDIwOCwgNzEsIDY1LCA3OCwgNzcsIAorICAgIDY1LCAxMjgsIDcxLCA2NSwgNzgsIDcxLCA3MywgNjUsIDEyOCwgNzEsIDY1LCA3OCwgNjgsIDE5MywgNzEsIDY1LCA3OCwgCisgICAgNTAsIDEyOCwgNzEsIDY1LCA3OCwgMTc4LCA3MSwgNjUsIDc3LCA3NywgNjUsIDEyOCwgNzEsIDY1LCA3NywgNzYsIDY1LCAKKyAgICAxMjgsIDcxLCA2NSwgNzcsIDc2LCAxMjgsIDcxLCA2NSwgNzcsIDY5LCAxMjgsIDcxLCA2NSwgNzcsIDE5NywgNzEsIDY1LCAKKyAgICA3NywgNjUsIDc4LCAxMjgsIDcxLCA2NSwgNzcsIDY1LCA3NiwgMTI4LCA3MSwgNjUsIDc3LCA2NSwgMjA0LCA3MSwgNjUsIAorICAgIDcxLCAxMjgsIDcxLCA2NSwgNzAsIDEyOCwgNzEsIDY1LCAxOTgsIDcxLCA2NSwgNjksIDg0LCA4NCwgNjUsIDQ1LCA4MCwgCisgICAgNzMsIDc2LCA3NiwgNjUsIDEyOCwgNzEsIDY1LCA2OCwgNzksIDc2LCAxMjgsIDcxLCA2NSwgNjgsIDEyOCwgNzEsIDY1LCAKKyAgICAxOTYsIDcxLCA2NSwgNjYsIDY1LCAxMjgsIDcxLCA2NSwgNjYsIDE5MywgNzEsIDY1LCA2NSwgNzAsIDg1LCAxMjgsIDcxLCAKKyAgICA2NSwgMTc4LCA3MSwgNDgsIDUzLCA1MiwgMTI4LCA3MSwgNDgsIDUzLCA1MSwgMTI4LCA3MSwgNDgsIDUzLCA1MCwgMTI4LCAKKyAgICA3MSwgNDgsIDUzLCA0OSwgMTI4LCA3MSwgNDgsIDUzLCA0OCwgMTI4LCA3MSwgNDgsIDUyLCA1NywgMTI4LCA3MSwgNDgsIAorICAgIDUyLCA1NiwgMTI4LCA3MSwgNDgsIDUyLCA1NSwgMTI4LCA3MSwgNDgsIDUyLCA1NCwgMTI4LCA3MSwgNDgsIDUyLCA1MywgCisgICAgNjUsIDEyOCwgNzEsIDQ4LCA1MiwgNTMsIDEyOCwgNzEsIDQ4LCA1MiwgNTIsIDEyOCwgNzEsIDQ4LCA1MiwgNTEsIDY1LCAKKyAgICAxMjgsIDcxLCA0OCwgNTIsIDUxLCAxMjgsIDcxLCA0OCwgNTIsIDUwLCAxMjgsIDcxLCA0OCwgNTIsIDQ5LCAxMjgsIDcxLCAKKyAgICA0OCwgNTIsIDQ4LCAxMjgsIDcxLCA0OCwgNTEsIDU3LCAxMjgsIDcxLCA0OCwgNTEsIDU2LCAxMjgsIDcxLCA0OCwgNTEsIAorICAgIDU1LCA2NSwgMTI4LCA3MSwgNDgsIDUxLCA1NSwgMTI4LCA3MSwgNDgsIDUxLCA1NCwgNjUsIDEyOCwgNzEsIDQ4LCA1MSwgCisgICAgNTQsIDEyOCwgNzEsIDQ4LCA1MSwgNTMsIDEyOCwgNzEsIDQ4LCA1MSwgNTIsIDEyOCwgNzEsIDQ4LCA1MSwgNTEsIDEyOCwgCisgICAgNzEsIDQ4LCA1MSwgNTAsIDEyOCwgNzEsIDQ4LCA1MSwgNDksIDEyOCwgNzEsIDQ4LCA1MSwgNDgsIDEyOCwgNzEsIDQ4LCAKKyAgICA1MCwgNTcsIDEyOCwgNzEsIDQ4LCA1MCwgNTYsIDEyOCwgNzEsIDQ4LCA1MCwgNTUsIDEyOCwgNzEsIDQ4LCA1MCwgNTQsIAorICAgIDY1LCAxMjgsIDcxLCA0OCwgNTAsIDU0LCAxMjgsIDcxLCA0OCwgNTAsIDUzLCAxMjgsIDcxLCA0OCwgNTAsIDUyLCAxMjgsIAorICAgIDcxLCA0OCwgNTAsIDUxLCAxMjgsIDcxLCA0OCwgNTAsIDUwLCAxMjgsIDcxLCA0OCwgNTAsIDQ5LCAxMjgsIDcxLCA0OCwgCisgICAgNTAsIDQ4LCA2NSwgMTI4LCA3MSwgNDgsIDUwLCA0OCwgMTI4LCA3MSwgNDgsIDQ5LCA1NywgMTI4LCA3MSwgNDgsIDQ5LCAKKyAgICA1NiwgMTI4LCA3MSwgNDgsIDQ5LCA1NSwgMTI4LCA3MSwgNDgsIDQ5LCA1NCwgMTI4LCA3MSwgNDgsIDQ5LCA1MywgMTI4LCAKKyAgICA3MSwgNDgsIDQ5LCA1MiwgMTI4LCA3MSwgNDgsIDQ5LCA1MSwgMTI4LCA3MSwgNDgsIDQ5LCA1MCwgMTI4LCA3MSwgNDgsIAorICAgIDQ5LCA0OSwgNjUsIDEyOCwgNzEsIDQ4LCA0OSwgNDksIDEyOCwgNzEsIDQ4LCA0OSwgNDgsIDEyOCwgNzEsIDQ4LCA0OCwgCisgICAgNTcsIDEyOCwgNzEsIDQ4LCA0OCwgNTYsIDEyOCwgNzEsIDQ4LCA0OCwgNTUsIDY2LCAxMjgsIDcxLCA0OCwgNDgsIDU1LCAKKyAgICA2NSwgMTI4LCA3MSwgNDgsIDQ4LCA1NSwgMTI4LCA3MSwgNDgsIDQ4LCA1NCwgNjUsIDEyOCwgNzEsIDQ4LCA0OCwgNTQsIAorICAgIDEyOCwgNzEsIDQ4LCA0OCwgNTMsIDEyOCwgNzEsIDQ4LCA0OCwgNTIsIDEyOCwgNzEsIDQ4LCA0OCwgNTEsIDEyOCwgNzEsIAorICAgIDQ4LCA0OCwgNTAsIDEyOCwgNzEsIDQ4LCA0OCwgNDksIDEyOCwgNzAsIDg5LCA4OCwgMTI4LCA3MCwgODksIDg0LCAxMjgsIAorICAgIDcwLCA4OSwgODAsIDEyOCwgNzAsIDg5LCA2NSwgMTI4LCA3MCwgODcsIDczLCAxMjgsIDcwLCA4NywgNjksIDY5LCAxMjgsIAorICAgIDcwLCA4NywgNjksIDEyOCwgNzAsIDg3LCA2NSwgNjUsIDEyOCwgNzAsIDg3LCA2NSwgMTI4LCA3MCwgODYsIDgzLCA1MSwgCisgICAgMTI4LCA3MCwgODYsIDgzLCA1MCwgMTI4LCA3MCwgODYsIDgzLCA0OSwgMTI4LCA3MCwgODUsIDg4LCAxMjgsIDcwLCA4NSwgCisgICAgODQsIDEyOCwgNzAsIDg1LCA4MywgNjksIDEyOCwgNzAsIDg1LCA4MywgMTkzLCA3MCwgODUsIDgyLCA4OCwgMTI4LCA3MCwgCisgICAgODUsIDgwLCAxMjgsIDcwLCA4NSwgNzgsIDY5LCA4MiwgNjUsIDIwNCwgNzAsIDg1LCA3OCwgNjcsIDg0LCA3MywgNzksIDc4LCAKKyAgICA2NSwgMjA0LCA3MCwgODUsIDc4LCA2NywgODQsIDczLCA3OSwgNzgsIDEyOCwgNzAsIDg1LCA3NiwgNzYsIDc4LCA2OSwgODMsIAorICAgIDgzLCAxMjgsIDcwLCA4NSwgNzYsIDIwNCwgNzAsIDg1LCA3NCwgNzMsIDEyOCwgNzAsIDg1LCA2OSwgODQsIDEyOCwgNzAsIAorICAgIDg1LCA2OSwgMjA0LCA3MCwgODUsIDY5LCAxMjgsIDcwLCA4NSwgNjUsIDEyOCwgNzAsIDg0LCA3MiwgNzksIDgyLCAxOTMsIAorICAgIDcwLCA4MywgNzMsIDEyOCwgNzAsIDgyLCA3OSwgODcsIDc4LCA3MywgNzgsIDcxLCAxMjgsIDcwLCA4MiwgNzksIDg3LCA3OCwgCisgICAgNzMsIDc4LCAxOTksIDcwLCA4MiwgNzksIDg3LCA3OCwgMTI4LCA3MCwgODIsIDc5LCA3OCwgODQsIDQ1LCA4NCwgNzMsIDc2LCAKKyAgICA4NCwgNjksIDE5NiwgNzAsIDgyLCA3OSwgNzgsIDg0LCA0NSwgNzAsIDY1LCA2NywgNzMsIDc4LCAxOTksIDcwLCA4MiwgNzksIAorICAgIDIwNSwgNzAsIDgyLCA3OSwgNzEsIDEyOCwgNzAsIDgyLCA3OSwgMTk5LCA3MCwgODIsIDczLCA4NCwgODUsIDEyOCwgNzAsIAorICAgIDgyLCA3MywgNjksIDgzLCAxMjgsIDcwLCA4MiwgNzMsIDY5LCAxOTYsIDcwLCA4MiwgNzMsIDY3LCA2NSwgODQsIDczLCA4NiwgCisgICAgNjksIDEyOCwgNzAsIDgyLCA2OSwgODQsIDY2LCA3OSwgNjUsIDgyLCA2OCwgMTI4LCA3MCwgODIsIDY5LCA3OCwgNjcsIAorICAgIDIwMCwgNzAsIDgyLCA2OSwgNjksIDEyOCwgNzAsIDgyLCA2OSwgMTk3LCA3MCwgODIsIDY1LCA3OCwgNzUsIDIxMSwgNzAsIAorICAgIDgyLCA2NSwgNzgsIDE5NSwgNzAsIDgyLCA2NSwgNzcsIDY5LCA4MywgMTI4LCA3MCwgODIsIDY1LCA3NywgNjksIDEyOCwgCisgICAgNzAsIDgyLCA2NSwgNzcsIDE5NywgNzAsIDgyLCA2NSwgNzEsIDgyLCA2NSwgNzgsIDg0LCAxMjgsIDcwLCA4MiwgNjUsIDcxLCAKKyAgICA3NywgNjksIDc4LCA4NCwgMTI4LCA3MCwgODIsIDY1LCA2NywgODQsIDczLCA3OSwgMjA2LCA3MCwgNzksIDg4LCAxMjgsIAorICAgIDcwLCA3OSwgODUsIDgyLCA4NCwgNjksIDY5LCA3OCwgMTI4LCA3MCwgNzksIDg1LCA4MiwgODQsIDY5LCA2OSwgMjA2LCA3MCwgCisgICAgNzksIDg1LCA4MiwgNDUsIDg0LCA3MiwgNzMsIDgyLCA4NCwgODksIDEyOCwgNzAsIDc5LCA4NSwgODIsIDQ1LCA4MywgODQsIAorICAgIDgyLCA3MywgNzgsIDE5OSwgNzAsIDc5LCA4NSwgODIsIDQ1LCA4MCwgNjksIDgyLCA0NSwgNjksIDIwNSwgNzAsIDc5LCA4NSwgCisgICAgODIsIDQ1LCA3NiwgNzMsIDc4LCAxOTcsIDcwLCA3OSwgODUsIDIxMCwgNzAsIDc5LCA4NSwgNzgsIDg0LCA2NSwgNzMsIDc4LCAKKyAgICAxMjgsIDcwLCA3OSwgODUsIDc4LCA4NCwgNjUsIDczLCAyMDYsIDcwLCA3OSwgODMsIDg0LCA2OSwgODIsIDczLCA3OCwgNzEsIAorICAgIDEyOCwgNzAsIDc5LCA4MiwgODcsIDY1LCA4MiwgNjgsIDEyOCwgNzAsIDc5LCA4MiwgODQsIDg5LCAxMjgsIDcwLCA3OSwgCisgICAgODIsIDg0LCAyMTcsIDcwLCA3OSwgODIsIDg0LCA2OSwgMTI4LCA3MCwgNzksIDgyLCA3NywgMjExLCA3MCwgNzksIDgyLCAKKyAgICA3NywgNjUsIDg0LCA4NCwgNzMsIDc4LCA3MSwgMTI4LCA3MCwgNzksIDgyLCA3NywgNjUsIDIxMiwgNzAsIDc5LCA4MiwgNzUsIAorICAgIDY5LCAxOTYsIDcwLCA3OSwgODIsIDY3LCA2OSwgODMsIDEyOCwgNzAsIDc5LCA4MiwgNjcsIDY5LCAxMjgsIDcwLCA3OSwgCisgICAgODAsIDEyOCwgNzAsIDc5LCA3OSwgODQsIDgzLCA4NCwgNzksIDc5LCA3NiwgMTI4LCA3MCwgNzksIDc5LCA4NCwgODAsIDgyLCAKKyAgICA3MywgNzgsIDg0LCA4MywgMTI4LCA3MCwgNzksIDc5LCA4NCwgNzgsIDc5LCA4NCwgMTk3LCA3MCwgNzksIDc5LCA4NCwgNjYsIAorICAgIDY1LCA3NiwgNzYsIDEyOCwgNzAsIDc5LCA3OSwgODQsIDEyOCwgNzAsIDc5LCA3OSwgNzYsIDEyOCwgNzAsIDc5LCA3OSwgCisgICAgNjgsIDEyOCwgNzAsIDc5LCA3OSwgMTI4LCA3MCwgNzksIDc4LCAyMTIsIDcwLCA3OSwgNzgsIDcxLCA3NywgNjUsIDc4LCAKKyAgICAxMjgsIDcwLCA3OSwgNzcsIDEyOCwgNzAsIDc5LCA3NiwgNzYsIDg5LCAxMjgsIDcwLCA3OSwgNzYsIDc2LCA3OSwgODcsIAorICAgIDczLCA3OCwgNzEsIDEyOCwgNzAsIDc5LCA3NiwgNjgsIDY5LCA4MiwgMTI4LCA3MCwgNzksIDc2LCA2OCwgNjksIDE5NiwgCisgICAgNzAsIDc5LCA3MSwgNzEsIDg5LCAxMjgsIDcwLCA3OSwgNzEsIDEyOCwgNzAsIDIwNywgNzAsIDc3LCAxMjgsIDcwLCA3NiwgCisgICAgODksIDczLCA3OCwgMTk5LCA3MCwgNzYsIDg5LCAxMjgsIDcwLCA3NiwgODUsIDg0LCA4NCwgNjksIDgyLCA3MywgNzgsIAorICAgIDE5OSwgNzAsIDc2LCA4NSwgODQsIDY5LCAxMjgsIDcwLCA3NiwgODUsIDgzLCA3MiwgNjksIDE5NiwgNzAsIDc2LCA3OSwgCisgICAgODcsIDczLCA3OCwgMTk5LCA3MCwgNzYsIDc5LCA4NywgNjksIDgyLCA4MywgMTI4LCA3MCwgNzYsIDc5LCA4NywgNjksIAorICAgIDIxMCwgNzAsIDc2LCA3OSwgODUsIDgyLCA3MywgODMsIDcyLCAxMjgsIDcwLCA3NiwgNzksIDgyLCA2OSwgODQsIDg0LCA2OSwgCisgICAgMTI4LCA3MCwgNzYsIDc5LCA4MiwgNjUsIDIwNCwgNzAsIDc2LCA3OSwgODAsIDgwLCAyMTcsIDcwLCA3NiwgNzksIDc5LCAKKyAgICA4MiwgMTI4LCA3MCwgNzYsIDczLCA4MCwgMTI4LCA3MCwgNzYsIDczLCA3MSwgNzIsIDg0LCAxMjgsIDcwLCA3NiwgNjksIAorICAgIDg4LCA4NSwgODMsIDEyOCwgNzAsIDc2LCA2OSwgODgsIDY5LCAxOTYsIDcwLCA3NiwgNjksIDg1LCA4MiwgNzksIDc4LCAKKyAgICAxMjgsIDcwLCA3NiwgNjksIDg1LCA4MiwgNDUsIDY4LCA2OSwgNDUsIDc2LCA3MywgODMsIDEyOCwgNzAsIDc2LCA2NSwgODQsIAorICAgIDg0LCA2OSwgNzgsIDY5LCAxOTYsIDcwLCA3NiwgNjUsIDg0LCA3OCwgNjksIDgzLCA4MywgMTI4LCA3MCwgNzYsIDY1LCA4NCwgCisgICAgMTI4LCA3MCwgNzYsIDY1LCAyMTIsIDcwLCA3NiwgNjUsIDgzLCA3MiwgMTI4LCA3MCwgNzYsIDY1LCA3MSwgODMsIDEyOCwgCisgICAgNzAsIDc2LCA2NSwgNzEsIDQ1LCA1MywgMTI4LCA3MCwgNzYsIDY1LCA3MSwgNDUsIDUyLCAxMjgsIDcwLCA3NiwgNjUsIDcxLCAKKyAgICA0NSwgNTEsIDEyOCwgNzAsIDc2LCA2NSwgNzEsIDQ1LCA1MCwgMTI4LCA3MCwgNzYsIDY1LCA3MSwgNDUsIDQ5LCAxMjgsIAorICAgIDcwLCA3NiwgNjUsIDcxLCAxMjgsIDcwLCA3NiwgNjUsIDE5OSwgNzAsIDc2LCA2NSwgMTI4LCA3MCwgNzYsIDEyOCwgNzAsIAorICAgIDczLCA4OCwgNjksIDY4LCA0NSwgNzAsIDc5LCA4MiwgMjA1LCA3MCwgNzMsIDg4LCAxMjgsIDcwLCA3MywgODYsIDY5LCA0NSwgCisgICAgODQsIDcyLCA3MywgODIsIDg0LCA4OSwgMTI4LCA3MCwgNzMsIDg2LCA2OSwgNDUsIDc2LCA3MywgNzgsIDE5NywgNzAsIDczLCAKKyAgICA4NiwgMTk3LCA3MCwgNzMsIDg0LCA2NSwgMTI4LCA3MCwgNzMsIDg0LCAxMjgsIDcwLCA3MywgODMsIDg0LCA2OSwgMTk2LCAKKyAgICA3MCwgNzMsIDgzLCA4NCwgMTI4LCA3MCwgNzMsIDgzLCA3MiwgNzMsIDc4LCAxOTksIDcwLCA3MywgODMsIDcyLCA3MiwgNzksIAorICAgIDc5LCA3NSwgMTI4LCA3MCwgNzMsIDgzLCA3MiwgNzIsIDc5LCA3OSwgMjAzLCA3MCwgNzMsIDgzLCA3MiwgNjksIDg5LCA2OSwgCiAgICAgMTI4LCA3MCwgNzMsIDgzLCA3MiwgMTI4LCA3MCwgNzMsIDgzLCAyMDAsIDcwLCA3MywgODIsIDgzLCAyMTIsIDcwLCA3MywgCiAgICAgODIsIDczLCAxMjgsIDcwLCA3MywgODIsIDY5LCA4NywgNzksIDgyLCA3NSwgODMsIDEyOCwgNzAsIDczLCA4MiwgNjksIDg3LCAKICAgICA3OSwgODIsIDIwMywgNzAsIDczLCA4MiwgNjksIDEyOCwgNzAsIDczLCA4MiwgMTk3LCA3MCwgNzMsIDgwLCAxMjgsIDcwLCAKLSAgICA3MywgNzgsIDczLCA4NCwgMTk3LCA3MCwgNzMsIDc4LCA3MSwgNjksIDgyLCA3OCwgNjUsIDczLCA3NiwgODMsIDEyOCwgNzAsIAotICAgIDczLCA3OCwgNzEsIDY5LCA4MiwgNjksIDE5NiwgNzAsIDczLCA3OCwgNjUsIDc4LCA2NywgNzMsIDY1LCA3NiwgMTI4LCA3MCwgCi0gICAgNzMsIDc2LCA3NiwgNjksIDgyLCAxMjgsIDcwLCA3MywgNzYsIDc2LCA2OSwgMTk2LCA3MCwgNzMsIDc2LCA3NiwgMTI4LCAKLSAgICA3MCwgNzMsIDc2LCAyMDQsIDcwLCA3MywgNzYsIDE5NywgNzAsIDczLCA3MywgMTI4LCA3MCwgNzMsIDcxLCA4NSwgODIsIAotICAgIDY5LCA0NSwgNTEsIDEyOCwgNzAsIDczLCA3MSwgODUsIDgyLCA2OSwgNDUsIDUwLCAxMjgsIDcwLCA3MywgNzEsIDg1LCA4MiwgCi0gICAgNjksIDQ1LCA0OSwgMTI4LCA3MCwgNzMsIDcxLCA4NSwgODIsIDE5NywgNzAsIDczLCA3MSwgNzIsIDg0LCAxMjgsIDcwLCAKLSAgICA3MywgNzAsIDg0LCA4OSwgMTI4LCA3MCwgNzMsIDcwLCA4NCwgMjE3LCA3MCwgNzMsIDcwLCA4NCwgNzIsIDgzLCAxMjgsIAotICAgIDcwLCA3MywgNzAsIDg0LCA3MiwgMTI4LCA3MCwgNzMsIDcwLCA4NCwgNjksIDY5LCA3OCwgMTI4LCA3MCwgNzMsIDcwLCA4NCwgCi0gICAgNjksIDY5LCAyMDYsIDcwLCA3MywgNjksIDc2LCA2OCwgMTI4LCA3MCwgNzIsIDg0LCA3OSwgODIsIDE5MywgNzAsIDcwLCAKLSAgICA3NiwgMTI4LCA3MCwgNzAsIDczLCAxMjgsIDcwLCA2OSwgODUsIDg4LCAxMjgsIDcwLCA2OSwgODUsIDcwLCA2OSwgODUsIAotICAgIDY1LCA2OSwgODQsIDEyOCwgNzAsIDY5LCA4MywgODQsIDczLCA4NiwgNjUsIDc2LCAxMjgsIDcwLCA2OSwgODIsIDgyLCA4OSwgCi0gICAgMTI4LCA3MCwgNjksIDgyLCA4MiwgNzMsIDIxMSwgNzAsIDY5LCA4MiwgNzcsIDY1LCA4NCwgNjUsIDEyOCwgNzAsIDY5LCAKLSAgICA4MiwgNzcsIDY1LCA4NCwgMTkzLCA3MCwgNjksIDc5LCAyMDAsIDcwLCA2OSwgNzgsIDE5OSwgNzAsIDY5LCA3OCwgNjcsIAotICAgIDY5LCAxMjgsIDcwLCA2OSwgNzcsIDczLCA3OCwgNzMsIDc4LCAxOTcsIDcwLCA2OSwgNzcsIDY1LCA3NiwgNjksIDEyOCwgCi0gICAgNzAsIDY5LCA3NywgNjUsIDc2LCAxOTcsIDcwLCA2OSwgNzYsIDc2LCA3OSwgODcsIDgzLCA3MiwgNzMsIDgwLCAxMjgsIDcwLCAKLSAgICA2OSwgNzMsIDEyOCwgNzAsIDY5LCA3MiwgMjEzLCA3MCwgNjksIDcyLCAxMjgsIDcwLCA2OSwgMjAwLCA3MCwgNjksIDY5LCAKLSAgICA3OCwgNzEsIDEyOCwgNzAsIDY5LCA2OSwgNjgsIDEyOCwgNzAsIDY5LCA2OSwgMTk2LCA3MCwgNjksIDY5LCAxMjgsIDcwLCAKLSAgICA2OSwgNjYsIDgyLCA4NSwgNjUsIDgyLCA4OSwgMTI4LCA3MCwgNjksIDY1LCA4NCwgNzIsIDY5LCA4MiwgMTI4LCA3MCwgNjksIAotICAgIDY1LCA4NCwgNzIsIDY5LCAyMTAsIDcwLCA2OSwgNjUsIDgyLCA3OCwgMTI4LCA3MCwgNjksIDY1LCA4MiwgNzAsIDg1LCAKLSAgICAyMDQsIDcwLCA2OSwgNjUsIDgyLCAxMjgsIDcwLCA2NSwgODksIDY1LCA3OCwgNzgsIDY1LCAxMjgsIDcwLCA2NSwgODksIAotICAgIDEyOCwgNzAsIDY1LCA4OCwgMTI4LCA3MCwgNjUsIDIxNiwgNzAsIDY1LCA4NCwgNzMsIDcxLCA4NSwgNjksIDEyOCwgNzAsIAotICAgIDY1LCA4NCwgNzIsIDY5LCA4MiwgMTI4LCA3MCwgNjUsIDg0LCA3MiwgNjksIDIxMCwgNzAsIDY1LCA4NCwgNzIsIDY1LCA4NCwgCi0gICAgNjUsIDc4LCAxMjgsIDcwLCA2NSwgODQsIDcyLCA2NSwgODQsIDY1LCAyMDYsIDcwLCA2NSwgODQsIDcyLCA2NSwgMTI4LCAKLSAgICA3MCwgNjUsIDg0LCA3MiwgMTkzLCA3MCwgNjUsIDg0LCAxMjgsIDcwLCA2NSwgODIsIDgzLCAyMDEsIDcwLCA2NSwgODEsIAotICAgIDEyOCwgNzAsIDY1LCA4MCwgMTI4LCA3MCwgNjUsIDc4LCA3MSwgMTI4LCA3MCwgNjUsIDc4LCA2OSwgODIsIDc5LCA4MywgCi0gICAgNzMsIDIxMSwgNzAsIDY1LCA3OCwgMTI4LCA3MCwgNjUsIDc3LCA3MywgNzYsIDg5LCAxMjgsIDcwLCA2NSwgNzYsIDc2LCAKLSAgICA3MywgNzgsIDE5OSwgNzAsIDY1LCA3NiwgNzYsIDY5LCAyMDYsIDcwLCA2NSwgNzMsIDc2LCA4NSwgODIsIDY5LCAxMjgsIAotICAgIDcwLCA2NSwgNzMsIDcyLCA4NSwgMTI4LCA3MCwgNjUsIDcyLCA4MiwgNjksIDc4LCA3MiwgNjksIDczLCA4NCwgMTI4LCA3MCwgCi0gICAgNjUsIDY3LCA4NCwgNzksIDgyLCA4OSwgMTI4LCA3MCwgNjUsIDY3LCA4NCwgNzksIDIxMCwgNzAsIDY1LCA2NywgODMsIDczLCAKLSAgICA3NywgNzMsIDc2LCAxOTcsIDcwLCA2NSwgNjcsIDY5LCA0NSwgNTQsIDEyOCwgNzAsIDY1LCA2NywgNjksIDQ1LCA1MywgCi0gICAgMTI4LCA3MCwgNjUsIDY3LCA2OSwgNDUsIDUyLCAxMjgsIDcwLCA2NSwgNjcsIDY5LCA0NSwgNTEsIDEyOCwgNzAsIDY1LCAKLSAgICA2NywgNjksIDQ1LCA1MCwgMTI4LCA3MCwgNjUsIDY3LCA2OSwgNDUsIDQ5LCAxMjgsIDcwLCA2NSwgNjUsIDc3LCA2NSwgNjksIAotICAgIDEyOCwgNzAsIDY1LCA2NSwgNzMsIDEyOCwgNzAsIDY1LCA2NSwgNzAsIDg1LCAxMjgsIDcwLCA0OCwgNTMsIDUxLCAxMjgsIAotICAgIDcwLCA0OCwgNTMsIDUwLCAxMjgsIDcwLCA0OCwgNTMsIDQ5LCA2NywgMTI4LCA3MCwgNDgsIDUzLCA0OSwgNjYsIDEyOCwgCi0gICAgNzAsIDQ4LCA1MywgNDksIDY1LCAxMjgsIDcwLCA0OCwgNTMsIDQ5LCAxMjgsIDcwLCA0OCwgNTMsIDQ4LCAxMjgsIDcwLCAKLSAgICA0OCwgNTIsIDU3LCAxMjgsIDcwLCA0OCwgNTIsIDU2LCAxMjgsIDcwLCA0OCwgNTIsIDU1LCA2NSwgMTI4LCA3MCwgNDgsIAotICAgIDUyLCA1NSwgMTI4LCA3MCwgNDgsIDUyLCA1NCwgNjUsIDEyOCwgNzAsIDQ4LCA1MiwgNTQsIDEyOCwgNzAsIDQ4LCA1MiwgCi0gICAgNTMsIDY1LCAxMjgsIDcwLCA0OCwgNTIsIDUzLCAxMjgsIDcwLCA0OCwgNTIsIDUyLCAxMjgsIDcwLCA0OCwgNTIsIDUxLCAKLSAgICAxMjgsIDcwLCA0OCwgNTIsIDUwLCAxMjgsIDcwLCA0OCwgNTIsIDQ5LCAxMjgsIDcwLCA0OCwgNTIsIDQ4LCAxMjgsIDcwLCAKLSAgICA0OCwgNTEsIDU3LCAxMjgsIDcwLCA0OCwgNTEsIDU2LCA2NSwgMTI4LCA3MCwgNDgsIDUxLCA1NiwgMTI4LCA3MCwgNDgsIAotICAgIDUxLCA1NSwgNjUsIDEyOCwgNzAsIDQ4LCA1MSwgNTUsIDEyOCwgNzAsIDQ4LCA1MSwgNTQsIDEyOCwgNzAsIDQ4LCA1MSwgCi0gICAgNTMsIDEyOCwgNzAsIDQ4LCA1MSwgNTIsIDEyOCwgNzAsIDQ4LCA1MSwgNTEsIDEyOCwgNzAsIDQ4LCA1MSwgNTAsIDEyOCwgCi0gICAgNzAsIDQ4LCA1MSwgNDksIDY1LCAxMjgsIDcwLCA0OCwgNTEsIDQ5LCAxMjgsIDcwLCA0OCwgNTEsIDQ4LCAxMjgsIDcwLCAKLSAgICA0OCwgNTAsIDU3LCAxMjgsIDcwLCA0OCwgNTAsIDU2LCAxMjgsIDcwLCA0OCwgNTAsIDU1LCAxMjgsIDcwLCA0OCwgNTAsIAotICAgIDU0LCAxMjgsIDcwLCA0OCwgNTAsIDUzLCAxMjgsIDcwLCA0OCwgNTAsIDUyLCAxMjgsIDcwLCA0OCwgNTAsIDUxLCAxMjgsIAotICAgIDcwLCA0OCwgNTAsIDUwLCAxMjgsIDcwLCA0OCwgNTAsIDQ5LCA2NSwgMTI4LCA3MCwgNDgsIDUwLCA0OSwgMTI4LCA3MCwgCi0gICAgNDgsIDUwLCA0OCwgMTI4LCA3MCwgNDgsIDQ5LCA1NywgMTI4LCA3MCwgNDgsIDQ5LCA1NiwgMTI4LCA3MCwgNDgsIDQ5LCAKLSAgICA1NSwgMTI4LCA3MCwgNDgsIDQ5LCA1NCwgMTI4LCA3MCwgNDgsIDQ5LCA1MywgMTI4LCA3MCwgNDgsIDQ5LCA1MiwgMTI4LCAKLSAgICA3MCwgNDgsIDQ5LCA1MSwgNjUsIDEyOCwgNzAsIDQ4LCA0OSwgNTEsIDEyOCwgNzAsIDQ4LCA0OSwgNTAsIDEyOCwgNzAsIAotICAgIDQ4LCA0OSwgNDksIDEyOCwgNzAsIDQ4LCA0OSwgNDgsIDEyOCwgNzAsIDQ4LCA0OCwgNTcsIDEyOCwgNzAsIDQ4LCA0OCwgCi0gICAgNTYsIDEyOCwgNzAsIDQ4LCA0OCwgNTUsIDEyOCwgNzAsIDQ4LCA0OCwgNTQsIDEyOCwgNzAsIDQ4LCA0OCwgNTMsIDEyOCwgCi0gICAgNzAsIDQ4LCA0OCwgNTIsIDEyOCwgNzAsIDQ4LCA0OCwgNTEsIDEyOCwgNzAsIDQ4LCA0OCwgNTAsIDEyOCwgNzAsIDQ4LCAKLSAgICA0OCwgNDksIDY1LCAxMjgsIDcwLCA0OCwgNDgsIDQ5LCAxMjgsIDY5LCA5MCwgMjAwLCA2OSwgOTAsIDY5LCA3OCwgMTI4LCAKLSAgICA2OSwgOTAsIDY5LCAyMDYsIDY5LCA5MCwgMTI4LCA2OSwgODksIDY5LCA4MywgMTI4LCA2OSwgODksIDY5LCA3MSwgNzYsIAotICAgIDY1LCA4MywgODMsIDY5LCA4MywgMTI4LCA2OSwgODksIDY2LCA2OSwgODksIDcwLCA3MywgNzYsIDczLCAxMjgsIDY5LCA4OSwgCi0gICAgNjUsIDc4LCA3OCwgNjUsIDEyOCwgNjksIDg4LCA4NCwgODIsIDY1LCA4NCwgNjksIDgyLCA4MiwgNjksIDgzLCA4NCwgODIsIAotICAgIDczLCA2NSwgMjA0LCA2OSwgODgsIDg0LCA4MiwgNjUsIDQ1LCA3NiwgNzksIDIxNSwgNjksIDg4LCA4NCwgODIsIDY1LCA0NSwgCi0gICAgNzIsIDczLCA3MSwgMjAwLCA2OSwgODgsIDg0LCA2OSwgNzgsIDgzLCA3MywgNzksIDc4LCAxMjgsIDY5LCA4OCwgODQsIDY5LCAKLSAgICA3OCwgNjgsIDY5LCAxOTYsIDY5LCA4OCwgODAsIDgyLCA2OSwgODMsIDgzLCA3MywgNzksIDc4LCA3NiwgNjksIDgzLCAyMTEsIAotICAgIDY5LCA4OCwgODAsIDc5LCA3OCwgNjksIDc4LCAyMTIsIDY5LCA4OCwgNzksIDEyOCwgNjksIDg4LCAyMDcsIDY5LCA4OCwgCi0gICAgNzMsIDgzLCA4NCwgODMsIDEyOCwgNjksIDg4LCA3MywgODMsIDg0LCAxMjgsIDY5LCA4OCwgNzIsIDY1LCA4NSwgODMsIDg0LCAKLSAgICA3MywgNzksIDc4LCAxMjgsIDY5LCA4OCwgNjcsIDc2LCA2NSwgNzcsIDY1LCA4NCwgNzMsIDc5LCA3OCwgMTI4LCA2OSwgODgsIAotICAgIDY3LCA3NiwgNjUsIDc3LCA2NSwgODQsIDczLCA3OSwgMjA2LCA2OSwgODgsIDY3LCA3MiwgNjUsIDc4LCA3MSwgNjksIDEyOCwgCi0gICAgNjksIDg4LCA2NywgNjksIDgzLCA4MywgMTI4LCA2OSwgODgsIDY3LCA2OSwgNzYsIDc2LCA2OSwgNzgsIDg0LCAxMjgsIDY5LCAKLSAgICA4NywgNjksIDEyOCwgNjksIDg2LCA2OSwgODIsIDcxLCA4MiwgNjksIDY5LCAyMDYsIDY5LCA4NiwgNjksIDc4LCA3MywgNzgsIAotICAgIDcxLCAxMjgsIDY5LCA4NSwgODIsIDc5LCA4MCwgNjksIDY1LCAyMDYsIDY5LCA4NSwgODIsIDc5LCA4MCwgNjksIDQ1LCA2NSwgCi0gICAgNzAsIDgyLCA3MywgNjcsIDY1LCAxMjgsIDY5LCA4NSwgODIsIDc5LCA0NSwgNjcsIDg1LCA4MiwgODIsIDY5LCA3OCwgNjcsIAotICAgIDIxNywgNjksIDg1LCA4MiwgMjA3LCA2OSwgODUsIDc2LCA2OSwgMjEwLCA2OSwgODUsIDQ1LCA4NSwgMTI4LCA2OSwgODUsIAotICAgIDQ1LCA3OSwgMTI4LCA2OSwgODUsIDQ1LCA2OSwgODUsIDEyOCwgNjksIDg1LCA0NSwgNjksIDc5LCAxMjgsIDY5LCA4NSwgCi0gICAgNDUsIDY5LCAxMjgsIDY5LCA4NSwgNDUsIDY1LCAxMjgsIDY5LCA4NCwgODgsIDEyOCwgNjksIDg0LCA3OCwgNjUsIDcyLCAKLSAgICA4NCwgNjUsIDEyOCwgNjksIDg0LCA3MiwgNjksIDIwNCwgNjksIDg0LCA2OSwgODIsIDc5LCAyMDYsIDY5LCA4NCwgNjksIAotICAgIDgyLCA3OCwgNzMsIDg0LCA4OSwgMTI4LCA2OSwgODQsIDY2LCAxMjgsIDY5LCA4MywgODUsIDc1LCA4NSwgODUsIDY4LCA3OSwgCi0gICAgMTI4LCA2OSwgODMsIDg0LCA3MywgNzcsIDY1LCA4NCwgNjksIDgzLCAxMjgsIDY5LCA4MywgODQsIDczLCA3NywgNjUsIDg0LCAKLSAgICA2OSwgMTk2LCA2OSwgODMsIDcyLCA2OSwgNTEsIDEyOCwgNjksIDgzLCA3MiwgNTAsIDQ5LCAxMjgsIDY5LCA4MywgNzIsIAotICAgIDE3OCwgNjksIDgzLCA3MiwgNDksIDU0LCAxMjgsIDY5LCA4MywgNjcsIDY1LCA4MCwgNjksIDEyOCwgNjksIDgzLCA2NywgCi0gICAgMTI4LCA2OSwgODMsIDY1LCAxMjgsIDY5LCA4MywgNDUsIDg0LCA2OSwgMTI4LCA2OSwgODIsIDgyLCA3OSwgODIsIDQ1LCAKLSAgICA2NiwgNjUsIDgyLCA4MiwgNjksIDE5NiwgNjksIDgyLCA4MiwgMTI4LCA2OSwgODIsIDczLCA3OCwgNTAsIDEyOCwgNjksIAotICAgIDgyLCA3MSwgMTI4LCA2OSwgODIsIDY1LCA4MywgMTk3LCA2OSwgODEsIDg1LCA3MywgODYsIDY1LCA3NiwgNjksIDc4LCAKLSAgICAyMTIsIDY5LCA4MSwgODUsIDczLCA2OCwgMTI4LCA2OSwgODEsIDg1LCA3MywgNjUsIDc4LCA3MSwgODUsIDc2LCA2NSwgCi0gICAgMjEwLCA2OSwgODEsIDg1LCA2NSwgNzYsIDgzLCAxMjgsIDY5LCA4MSwgODUsIDY1LCA3NiwgMjExLCA2OSwgODEsIDg1LCAKLSAgICA2NSwgNzYsIDEyOCwgNjksIDgwLCA4MywgNzMsIDc2LCA3OSwgNzgsIDEyOCwgNjksIDgwLCA4MywgNzMsIDc2LCA3OSwgCisgICAgNzMsIDc4LCA3MywgODQsIDE5NywgNzAsIDczLCA3OCwgNzEsIDY5LCA4MiwgODMsIDEyOCwgNzAsIDczLCA3OCwgNzEsIDY5LCAKKyAgICA4MiwgMjExLCA3MCwgNzMsIDc4LCA3MSwgNjksIDgyLCA3OCwgNjUsIDczLCA3NiwgODMsIDEyOCwgNzAsIDczLCA3OCwgNzEsIAorICAgIDY5LCA4MiwgNjksIDE5NiwgNzAsIDczLCA3OCwgNzEsIDY5LCA4MiwgNDUsIDgwLCA3OSwgODMsIDIxMiwgNzAsIDczLCA3OCwgCisgICAgNzEsIDY5LCAyMTAsIDcwLCA3MywgNzgsIDY1LCA3OCwgNjcsIDczLCA2NSwgNzYsIDEyOCwgNzAsIDczLCA3OCwgNjUsIDc2LCAKKyAgICAxMjgsIDcwLCA3MywgNzYsIDIwNSwgNzAsIDczLCA3NiwgNzYsIDY5LCA4MiwgMTI4LCA3MCwgNzMsIDc2LCA3NiwgNjksIAorICAgIDE5NiwgNzAsIDczLCA3NiwgNzYsIDEyOCwgNzAsIDczLCA3NiwgMjA0LCA3MCwgNzMsIDc2LCAxOTcsIDcwLCA3MywgNzMsIAorICAgIDEyOCwgNzAsIDczLCA3MSwgODUsIDgyLCA2OSwgNDUsIDUxLCAxMjgsIDcwLCA3MywgNzEsIDg1LCA4MiwgNjksIDQ1LCA1MCwgCisgICAgMTI4LCA3MCwgNzMsIDcxLCA4NSwgODIsIDY5LCA0NSwgNDksIDEyOCwgNzAsIDczLCA3MSwgODUsIDgyLCAxOTcsIDcwLCAKKyAgICA3MywgNzEsIDcyLCA4NCwgMTI4LCA3MCwgNzMsIDcwLCA4NCwgODksIDEyOCwgNzAsIDczLCA3MCwgODQsIDIxNywgNzAsIAorICAgIDczLCA3MCwgODQsIDcyLCA4MywgMTI4LCA3MCwgNzMsIDcwLCA4NCwgNzIsIDEyOCwgNzAsIDczLCA3MCwgODQsIDY5LCA2OSwgCisgICAgNzgsIDEyOCwgNzAsIDczLCA3MCwgODQsIDY5LCA2OSwgMjA2LCA3MCwgNzMsIDY5LCA3NiwgNjgsIDEyOCwgNzAsIDcyLCAKKyAgICA4NCwgNzksIDgyLCAxOTMsIDcwLCA3MCwgNzYsIDEyOCwgNzAsIDcwLCA3MywgMTI4LCA3MCwgNjksIDg1LCA4OCwgMTI4LCAKKyAgICA3MCwgNjksIDg1LCA3MCwgNjksIDg1LCA2NSwgNjksIDg0LCAxMjgsIDcwLCA2OSwgODMsIDg0LCA3MywgODYsIDY1LCA3NiwgCisgICAgMTI4LCA3MCwgNjksIDgyLCA4MiwgODksIDEyOCwgNzAsIDY5LCA4MiwgODIsIDczLCAyMTEsIDcwLCA2OSwgODIsIDc3LCAKKyAgICA2NSwgODQsIDY1LCAxMjgsIDcwLCA2OSwgODIsIDc3LCA2NSwgODQsIDE5MywgNzAsIDY5LCA3OSwgMjAwLCA3MCwgNjksIAorICAgIDc4LCAxOTksIDcwLCA2OSwgNzgsIDY3LCA2OSwgMTI4LCA3MCwgNjksIDc3LCA3MywgNzgsIDczLCA3OCwgMTk3LCA3MCwgCisgICAgNjksIDc3LCA2NSwgNzYsIDY5LCAxMjgsIDcwLCA2OSwgNzcsIDY1LCA3NiwgMTk3LCA3MCwgNjksIDc2LCA3NiwgNzksIDg3LCAKKyAgICA4MywgNzIsIDczLCA4MCwgMTI4LCA3MCwgNjksIDczLCAxMjgsIDcwLCA2OSwgNzIsIDIxMywgNzAsIDY5LCA3MiwgMTI4LCAKKyAgICA3MCwgNjksIDIwMCwgNzAsIDY5LCA2OSwgNzgsIDcxLCAxMjgsIDcwLCA2OSwgNjksIDc3LCAxMjgsIDcwLCA2OSwgNjksIAorICAgIDY4LCAxMjgsIDcwLCA2OSwgNjksIDE5NiwgNzAsIDY5LCA2OSwgMTI4LCA3MCwgNjksIDY2LCA4MiwgODUsIDY1LCA4MiwgCisgICAgODksIDEyOCwgNzAsIDY5LCA2NSwgODQsIDcyLCA2OSwgODIsIDEyOCwgNzAsIDY5LCA2NSwgODQsIDcyLCA2OSwgMjEwLCAKKyAgICA3MCwgNjksIDY1LCA4MiwgNzgsIDEyOCwgNzAsIDY5LCA2NSwgODIsIDcwLCA4NSwgMjA0LCA3MCwgNjksIDY1LCA4MiwgCisgICAgMTI4LCA3MCwgNjUsIDg5LCA2NSwgNzgsIDc4LCA2NSwgMTI4LCA3MCwgNjUsIDg5LCAxMjgsIDcwLCA2NSwgODgsIDEyOCwgCisgICAgNzAsIDY1LCAyMTYsIDcwLCA2NSwgODQsIDczLCA3MSwgODUsIDY5LCAxMjgsIDcwLCA2NSwgODQsIDcyLCA2OSwgODIsIAorICAgIDEyOCwgNzAsIDY1LCA4NCwgNzIsIDY5LCAyMTAsIDcwLCA2NSwgODQsIDcyLCA2NSwgODQsIDY1LCA3OCwgMTI4LCA3MCwgCisgICAgNjUsIDg0LCA3MiwgNjUsIDg0LCA2NSwgMjA2LCA3MCwgNjUsIDg0LCA3MiwgNjUsIDEyOCwgNzAsIDY1LCA4NCwgNzIsIAorICAgIDE5MywgNzAsIDY1LCA4NCwgMTI4LCA3MCwgNjUsIDgyLCA4MywgMjAxLCA3MCwgNjUsIDgxLCAxMjgsIDcwLCA2NSwgODAsIAorICAgIDEyOCwgNzAsIDY1LCA3OCwgNzEsIDEyOCwgNzAsIDY1LCA3OCwgNjksIDgyLCA3OSwgODMsIDczLCAyMTEsIDcwLCA2NSwgCisgICAgNzgsIDEyOCwgNzAsIDY1LCA3NywgNzMsIDc2LCA4OSwgMTI4LCA3MCwgNjUsIDc3LCAxMjgsIDcwLCA2NSwgNzYsIDc2LCAKKyAgICA2OSwgMjA2LCA3MCwgNjUsIDc0LCAxMjgsIDcwLCA2NSwgNzMsIDc2LCA4NSwgODIsIDY5LCAxMjgsIDcwLCA2NSwgNzMsIAorICAgIDcyLCA4NSwgMTI4LCA3MCwgNjUsIDczLCA2NiwgMTI4LCA3MCwgNjUsIDcyLCA4MiwgNjksIDc4LCA3MiwgNjksIDczLCA4NCwgCisgICAgMTI4LCA3MCwgNjUsIDY3LCA4NCwgNzksIDgyLCA4OSwgMTI4LCA3MCwgNjUsIDY3LCA4NCwgNzksIDIxMCwgNzAsIDY1LCAKKyAgICA2NywgODMsIDczLCA3NywgNzMsIDc2LCAxOTcsIDcwLCA2NSwgNjcsIDY5LCA0NSwgNTQsIDEyOCwgNzAsIDY1LCA2NywgNjksIAorICAgIDQ1LCA1MywgMTI4LCA3MCwgNjUsIDY3LCA2OSwgNDUsIDUyLCAxMjgsIDcwLCA2NSwgNjcsIDY5LCA0NSwgNTEsIDEyOCwgCisgICAgNzAsIDY1LCA2NywgNjksIDQ1LCA1MCwgMTI4LCA3MCwgNjUsIDY3LCA2OSwgNDUsIDQ5LCAxMjgsIDcwLCA2NSwgNjUsIDc3LCAKKyAgICA2NSwgNjksIDEyOCwgNzAsIDY1LCA2NSwgNzMsIDEyOCwgNzAsIDY1LCA2NSwgNzAsIDg1LCAxMjgsIDcwLCA0OCwgNTMsIAorICAgIDUxLCAxMjgsIDcwLCA0OCwgNTMsIDUwLCAxMjgsIDcwLCA0OCwgNTMsIDQ5LCA2NywgMTI4LCA3MCwgNDgsIDUzLCA0OSwgCisgICAgNjYsIDEyOCwgNzAsIDQ4LCA1MywgNDksIDY1LCAxMjgsIDcwLCA0OCwgNTMsIDQ5LCAxMjgsIDcwLCA0OCwgNTMsIDQ4LCAKKyAgICAxMjgsIDcwLCA0OCwgNTIsIDU3LCAxMjgsIDcwLCA0OCwgNTIsIDU2LCAxMjgsIDcwLCA0OCwgNTIsIDU1LCA2NSwgMTI4LCAKKyAgICA3MCwgNDgsIDUyLCA1NSwgMTI4LCA3MCwgNDgsIDUyLCA1NCwgNjUsIDEyOCwgNzAsIDQ4LCA1MiwgNTQsIDEyOCwgNzAsIAorICAgIDQ4LCA1MiwgNTMsIDY1LCAxMjgsIDcwLCA0OCwgNTIsIDUzLCAxMjgsIDcwLCA0OCwgNTIsIDUyLCAxMjgsIDcwLCA0OCwgCisgICAgNTIsIDUxLCAxMjgsIDcwLCA0OCwgNTIsIDUwLCAxMjgsIDcwLCA0OCwgNTIsIDQ5LCAxMjgsIDcwLCA0OCwgNTIsIDQ4LCAKKyAgICAxMjgsIDcwLCA0OCwgNTEsIDU3LCAxMjgsIDcwLCA0OCwgNTEsIDU2LCA2NSwgMTI4LCA3MCwgNDgsIDUxLCA1NiwgMTI4LCAKKyAgICA3MCwgNDgsIDUxLCA1NSwgNjUsIDEyOCwgNzAsIDQ4LCA1MSwgNTUsIDEyOCwgNzAsIDQ4LCA1MSwgNTQsIDEyOCwgNzAsIAorICAgIDQ4LCA1MSwgNTMsIDEyOCwgNzAsIDQ4LCA1MSwgNTIsIDEyOCwgNzAsIDQ4LCA1MSwgNTEsIDEyOCwgNzAsIDQ4LCA1MSwgCisgICAgNTAsIDEyOCwgNzAsIDQ4LCA1MSwgNDksIDY1LCAxMjgsIDcwLCA0OCwgNTEsIDQ5LCAxMjgsIDcwLCA0OCwgNTEsIDQ4LCAKKyAgICAxMjgsIDcwLCA0OCwgNTAsIDU3LCAxMjgsIDcwLCA0OCwgNTAsIDU2LCAxMjgsIDcwLCA0OCwgNTAsIDU1LCAxMjgsIDcwLCAKKyAgICA0OCwgNTAsIDU0LCAxMjgsIDcwLCA0OCwgNTAsIDUzLCAxMjgsIDcwLCA0OCwgNTAsIDUyLCAxMjgsIDcwLCA0OCwgNTAsIAorICAgIDUxLCAxMjgsIDcwLCA0OCwgNTAsIDUwLCAxMjgsIDcwLCA0OCwgNTAsIDQ5LCA2NSwgMTI4LCA3MCwgNDgsIDUwLCA0OSwgCisgICAgMTI4LCA3MCwgNDgsIDUwLCA0OCwgMTI4LCA3MCwgNDgsIDQ5LCA1NywgMTI4LCA3MCwgNDgsIDQ5LCA1NiwgMTI4LCA3MCwgCisgICAgNDgsIDQ5LCA1NSwgMTI4LCA3MCwgNDgsIDQ5LCA1NCwgMTI4LCA3MCwgNDgsIDQ5LCA1MywgMTI4LCA3MCwgNDgsIDQ5LCAKKyAgICA1MiwgMTI4LCA3MCwgNDgsIDQ5LCA1MSwgNjUsIDEyOCwgNzAsIDQ4LCA0OSwgNTEsIDEyOCwgNzAsIDQ4LCA0OSwgNTAsIAorICAgIDEyOCwgNzAsIDQ4LCA0OSwgNDksIDEyOCwgNzAsIDQ4LCA0OSwgNDgsIDEyOCwgNzAsIDQ4LCA0OCwgNTcsIDEyOCwgNzAsIAorICAgIDQ4LCA0OCwgNTYsIDEyOCwgNzAsIDQ4LCA0OCwgNTUsIDEyOCwgNzAsIDQ4LCA0OCwgNTQsIDEyOCwgNzAsIDQ4LCA0OCwgCisgICAgNTMsIDEyOCwgNzAsIDQ4LCA0OCwgNTIsIDEyOCwgNzAsIDQ4LCA0OCwgNTEsIDEyOCwgNzAsIDQ4LCA0OCwgNTAsIDEyOCwgCisgICAgNzAsIDQ4LCA0OCwgNDksIDY1LCAxMjgsIDcwLCA0OCwgNDgsIDQ5LCAxMjgsIDY5LCA5MCwgMjAwLCA2OSwgOTAsIDY5LCAKKyAgICA3OCwgMTI4LCA2OSwgOTAsIDY5LCAyMDYsIDY5LCA5MCwgMTI4LCA2OSwgODksIDg5LCA4OSwgMTI4LCA2OSwgODksIDY5LCAKKyAgICA4MywgMTI4LCA2OSwgODksIDY5LCA3MSwgNzYsIDY1LCA4MywgODMsIDY5LCA4MywgMTI4LCA2OSwgODksIDY2LCA2OSwgODksIAorICAgIDcwLCA3MywgNzYsIDczLCAxMjgsIDY5LCA4OSwgNjUsIDc4LCA3OCwgNjUsIDEyOCwgNjksIDg4LCA4NCwgODIsIDY5LCA3NywgCisgICAgNjksIDc2LCAyMTcsIDY5LCA4OCwgODQsIDgyLCA2NSwgODQsIDY5LCA4MiwgODIsIDY5LCA4MywgODQsIDgyLCA3MywgNjUsIAorICAgIDIwNCwgNjksIDg4LCA4NCwgODIsIDY1LCA0NSwgNzYsIDc5LCAyMTUsIDY5LCA4OCwgODQsIDgyLCA2NSwgNDUsIDcyLCA3MywgCisgICAgNzEsIDIwMCwgNjksIDg4LCA4NCwgNjksIDc4LCA4MywgNzMsIDc5LCA3OCwgMTI4LCA2OSwgODgsIDg0LCA2OSwgNzgsIDY4LCAKKyAgICA2OSwgNjgsIDEyOCwgNjksIDg4LCA4NCwgNjksIDc4LCA2OCwgNjksIDE5NiwgNjksIDg4LCA4MCwgODIsIDY5LCA4MywgODMsIAorICAgIDczLCA3OSwgNzgsIDc2LCA2OSwgODMsIDIxMSwgNjksIDg4LCA4MCwgNzksIDc4LCA2OSwgNzgsIDIxMiwgNjksIDg4LCA3OSwgCisgICAgMTI4LCA2OSwgODgsIDIwNywgNjksIDg4LCA3MywgODMsIDg0LCA4MywgMTI4LCA2OSwgODgsIDczLCA4MywgODQsIDEyOCwgCisgICAgNjksIDg4LCA3MiwgNjUsIDg1LCA4MywgODQsIDczLCA3OSwgNzgsIDEyOCwgNjksIDg4LCA2NywgNzYsIDY1LCA3NywgNjUsIAorICAgIDg0LCA3MywgNzksIDc4LCAxMjgsIDY5LCA4OCwgNjcsIDc2LCA2NSwgNzcsIDY1LCA4NCwgNzMsIDc5LCAyMDYsIDY5LCA4OCwgCisgICAgNjcsIDcyLCA2NSwgNzgsIDcxLCA2OSwgMTI4LCA2OSwgODgsIDY3LCA2OSwgODMsIDgzLCAxMjgsIDY5LCA4OCwgNjcsIDY5LCAKKyAgICA3NiwgNzYsIDY5LCA3OCwgODQsIDEyOCwgNjksIDg3LCA2OSwgMTI4LCA2OSwgODYsIDY5LCA4MiwgNzEsIDgyLCA2OSwgNjksIAorICAgIDIwNiwgNjksIDg2LCA2OSwgNzgsIDczLCA3OCwgNzEsIDEyOCwgNjksIDg1LCA4MiwgNzksIDgwLCA2OSwgNjUsIDIwNiwgCisgICAgNjksIDg1LCA4MiwgNzksIDgwLCA2OSwgNDUsIDY1LCA3MCwgODIsIDczLCA2NywgNjUsIDEyOCwgNjksIDg1LCA4MiwgNzksIAorICAgIDQ1LCA2NywgODUsIDgyLCA4MiwgNjksIDc4LCA2NywgMjE3LCA2OSwgODUsIDgyLCAyMDcsIDY5LCA4NSwgNzYsIDY5LCAKKyAgICAyMTAsIDY5LCA4NSwgNDUsIDg1LCAxMjgsIDY5LCA4NSwgNDUsIDc5LCAxMjgsIDY5LCA4NSwgNDUsIDY5LCA4NSwgMTI4LCAKKyAgICA2OSwgODUsIDQ1LCA2OSwgNzksIDEyOCwgNjksIDg1LCA0NSwgNjksIDEyOCwgNjksIDg1LCA0NSwgNjUsIDEyOCwgNjksIAorICAgIDg0LCA4OCwgMTI4LCA2OSwgODQsIDc4LCA2NSwgNzIsIDg0LCA2NSwgMTI4LCA2OSwgODQsIDcyLCA2OSwgMjA0LCA2OSwgCisgICAgODQsIDY5LCA4MiwgNzksIDIwNiwgNjksIDg0LCA2OSwgODIsIDc4LCA3MywgODQsIDg5LCAxMjgsIDY5LCA4NCwgNjksIDgyLCAKKyAgICA3OCwgNzMsIDg0LCAyMTcsIDY5LCA4NCwgNjYsIDEyOCwgNjksIDgzLCA4NSwgNzUsIDg1LCA4NSwgNjgsIDc5LCAxMjgsIAorICAgIDY5LCA4MywgODQsIDczLCA3NywgNjUsIDg0LCA2OSwgODMsIDEyOCwgNjksIDgzLCA4NCwgNzMsIDc3LCA2NSwgODQsIDY5LCAKKyAgICAxOTYsIDY5LCA4MywgNzIsIDY5LCA1MSwgMTI4LCA2OSwgODMsIDcyLCA1MCwgNDksIDEyOCwgNjksIDgzLCA3MiwgNDksIAorICAgIDU0LCAxMjgsIDY5LCA4MywgNjcsIDY1LCA4MCwgNjksIDEyOCwgNjksIDgzLCA2NywgMTI4LCA2OSwgODMsIDY1LCAxMjgsIAorICAgIDY5LCA4MywgNDUsIDg0LCA2OSwgMTI4LCA2OSwgODMsIDQ1LCA1MSwgMTI4LCA2OSwgODMsIDQ1LCA1MCwgMTI4LCA2OSwgCisgICAgODMsIDQ1LCA0OSwgMTI4LCA2OSwgODIsIDgyLCA3OSwgODIsIDQ1LCA2NiwgNjUsIDgyLCA4MiwgNjksIDE5NiwgNjksIDgyLCAKKyAgICA4MiwgMTI4LCA2OSwgODIsIDczLCA3OCwgNTAsIDEyOCwgNjksIDgyLCA3MSwgMTI4LCA2OSwgODIsIDY1LCA4MywgMTk3LCAKKyAgICA2OSwgODEsIDg1LCA3MywgODYsIDY1LCA3NiwgNjksIDc4LCAyMTIsIDY5LCA4MSwgODUsIDczLCA3NiwgNjUsIDg0LCA2OSwgCisgICAgODIsIDY1LCAyMDQsIDY5LCA4MSwgODUsIDczLCA2OCwgMTI4LCA2OSwgODEsIDg1LCA3MywgNjUsIDc4LCA3MSwgODUsIDc2LCAKKyAgICA2NSwgMjEwLCA2OSwgODEsIDg1LCA2NSwgNzYsIDgzLCAxMjgsIDY5LCA4MSwgODUsIDY1LCA3NiwgMjExLCA2OSwgODEsIAorICAgIDg1LCA2NSwgNzYsIDEyOCwgNjksIDgwLCA4MywgNzMsIDc2LCA3OSwgNzgsIDEyOCwgNjksIDgwLCA4MywgNzMsIDc2LCA3OSwgCiAgICAgMjA2LCA2OSwgODAsIDc5LCA2NywgNzIsIDEyOCwgNjksIDgwLCA3MywgNzEsIDgyLCA2NSwgODAsIDcyLCA3MywgMTk1LCAKICAgICA2OSwgODAsIDczLCA2OCwgNjUsIDg1LCA4MiwgNjksIDY1LCAyMDYsIDY5LCA4MCwgNjksIDc4LCA4NCwgNzIsIDY5LCA4NCwgCi0gICAgNzMsIDE5NSwgNjksIDgwLCA2OSwgNzEsIDY5LCA4MiwgNzcsIDY1LCAxMjgsIDY5LCA3OSwgODQsIDEyOCwgNjksIDc5LCAKLSAgICA3NywgMTI4LCA2OSwgNzksIDc2LCA3MiwgODgsIDEyOCwgNjksIDc5LCA3NiwgMTI4LCA2OSwgNzksIDcyLCAxMjgsIDY5LCAKLSAgICA3OCwgODksIDEyOCwgNjksIDc4LCA4NiwgNjksIDc2LCA3OSwgODAsIDY5LCAxMjgsIDY5LCA3OCwgODYsIDY5LCA3NiwgNzksIAotICAgIDgwLCAxOTcsIDY5LCA3OCwgODUsIDc3LCA2OSwgODIsIDY1LCA4NCwgNzMsIDc5LCAyMDYsIDY5LCA3OCwgODQsIDgyLCA4OSwgCi0gICAgNDUsIDUwLCAxMjgsIDY5LCA3OCwgODQsIDgyLCA4OSwgNDUsIDQ5LCAxMjgsIDY5LCA3OCwgODQsIDgyLCA4OSwgMTI4LCAKLSAgICA2OSwgNzgsIDg0LCA4MiwgMjE3LCA2OSwgNzgsIDg0LCA3MiwgODUsIDgzLCA3MywgNjUsIDgzLCA3NywgMTI4LCA2OSwgNzgsIAotICAgIDg0LCA2OSwgODIsIDgwLCA4MiwgNzMsIDgzLCA2OSwgMTI4LCA2OSwgNzgsIDg0LCA2OSwgODIsIDczLCA3OCwgMTk5LCA2OSwgCi0gICAgNzgsIDg0LCA2OSwgODIsIDEyOCwgNjksIDc4LCA4NCwgNjksIDIxMCwgNjksIDc4LCA4MSwgODUsIDczLCA4MiwgODksIAotICAgIDEyOCwgNjksIDc4LCA4MSwgMTI4LCA2OSwgNzgsIDc5LCAyMTEsIDY5LCA3OCwgNzgsIDEyOCwgNjksIDc4LCA3NiwgNjUsIAotICAgIDgyLCA3MSwgNjksIDc3LCA2OSwgNzgsIDg0LCAxMjgsIDY5LCA3OCwgNzEsIDczLCA3OCwgNjksIDEyOCwgNjksIDc4LCA2OCwgCi0gICAgNzksIDcwLCA3OSwgNzgsIDc5LCA3OCwgMTI4LCA2OSwgNzgsIDY4LCA3MywgNzgsIDE5OSwgNjksIDc4LCA2OCwgNjksIDgwLCAKLSAgICAxMjgsIDY5LCA3OCwgNjgsIDY5LCA2NSwgODYsIDc5LCA4NSwgODIsIDEyOCwgNjksIDc4LCA2NywgNzksIDg1LCA3OCwgODQsIAotICAgIDY5LCA4MiwgODMsIDEyOCwgNjksIDc4LCA2NywgNzYsIDc5LCA4MywgODUsIDgyLCA2OSwgMTI4LCA2OSwgNzgsIDY3LCA3NiwgCi0gICAgNzksIDgzLCA3MywgNzgsIDE5OSwgNjksIDc4LCA2NywgMTI4LCA2OSwgNzgsIDY1LCA4MiwgODgsIDczLCAyMTEsIDY5LCAKLSAgICA3OCwgNjUsIDgyLCA3NywgNzksIDc4LCA3MywgNzksIDIxMSwgNjksIDc3LCA4MCwgODQsIDIxNywgNjksIDc3LCA4MCwgNzIsIAotICAgIDY1LCA4NCwgNzMsIDE5NSwgNjksIDc3LCA4MCwgNzIsIDY1LCA4MywgNzMsIDIxMSwgNjksIDc3LCA2NiwgODIsIDc5LCA3MywgCi0gICAgNjgsIDY5LCA4MiwgODksIDEyOCwgNjksIDc3LCA2NiwgNzYsIDY5LCA3NywgMTI4LCA2OSwgNzcsIDY2LCA2OSwgNzYsIDc2LCAKLSAgICA3MywgODMsIDcyLCA3NywgNjksIDc4LCA4NCwgMTI4LCA2OSwgNzcsIDY2LCA2OSwgNjgsIDY4LCA3MywgNzgsIDcxLCAxMjgsIAotICAgIDY5LCA3NiwgODQsIDEyOCwgNjksIDc2LCA3NiwgNzMsIDgwLCA4NCwgNzMsIDE5NSwgNjksIDc2LCA3NiwgNzMsIDgwLCA4MywgCi0gICAgNzMsIDgzLCAxMjgsIDY5LCA3NiwgNzYsIDczLCA4MCwgODMsIDY5LCAxMjgsIDY5LCA3NiwgNzMsIDcwLCA3MywgMTI4LCAKLSAgICA2OSwgNzYsIDY5LCA4NiwgNjksIDc4LCA0NSwgODQsIDcyLCA3MywgODIsIDg0LCA4OSwgMTI4LCA2OSwgNzYsIDY5LCA4NiwgCi0gICAgNjksIDc4LCAxMjgsIDY5LCA3NiwgNjksIDg2LCA2OSwgMjA2LCA2OSwgNzYsIDY5LCA4MCwgNzIsIDY1LCA3OCwgODQsIAotICAgIDEyOCwgNjksIDc2LCA2OSwgNzcsIDY5LCA3OCwgMjEyLCA2OSwgNzYsIDY5LCA2NywgODQsIDgyLCA3MywgNjcsIDY1LCAKLSAgICAyMDQsIDY5LCA3NiwgNjksIDY3LCA4NCwgODIsIDczLCAxOTUsIDY5LCA3NiwgNjUsIDcwLCA4MiwgNzksIDc4LCAxMjgsIAotICAgIDY5LCA3NSwgODMsIDg0LCA4MiwgNjksIDgwLCA4NCwgNzksIDc4LCAxMjgsIDY5LCA3NSwgODMsIDEyOCwgNjksIDc1LCA3MCwgCi0gICAgNzksIDc4LCA3MywgODQsIDczLCA3NSwgNzksIDc4LCAxMjgsIDY5LCA3NSwgNjUsIDgyLCA2NSwgMTI4LCA2OSwgNzQsIDY5LCAKLSAgICA2NywgMjEyLCA2OSwgNzMsIDgzLCAxMjgsIDY5LCA3MywgNzEsIDcyLCA4NCwgODksIDEyOCwgNjksIDczLCA3MSwgNzIsIAotICAgIDg0LCAyMTcsIDY5LCA3MywgNzEsIDcyLCA4NCwgNzIsIDgzLCAxMjgsIDY5LCA3MywgNzEsIDcyLCA4NCwgNzIsIDIxMSwgCi0gICAgNjksIDczLCA3MSwgNzIsIDg0LCA3MiwgMTI4LCA2OSwgNzMsIDcxLCA3MiwgODQsIDY5LCA2OSwgNzgsIDEyOCwgNjksIDczLCAKLSAgICA3MSwgNzIsIDg0LCA2OSwgNjksIDIwNiwgNjksIDczLCA3MSwgNzIsIDg0LCA0NSwgODQsIDcyLCA3MywgODIsIDg0LCA4OSwgCi0gICAgMTI4LCA2OSwgNzMsIDY5LCAxMjgsIDY5LCA3MiwgODcsIDY1LCAyMTgsIDY5LCA3MSwgODksIDgwLCA4NCwgNzksIDc2LCAKLSAgICA3OSwgNzEsIDczLCA2NywgNjUsIDIwNCwgNjksIDcxLCA3MywgODIsIDEyOCwgNjksIDcxLCA3MSwgMTI4LCA2OSwgNjksIAotICAgIDg5LCA2NSwgNzgsIDc4LCA2NSwgMTI4LCA2OSwgNjksIDc1LCA2NSwgNjUsIDEyOCwgNjksIDY5LCA3MiwgMTI4LCA2OSwgCi0gICAgNjksIDY2LCA2OSwgNjksIDcwLCA3MywgNzYsIDczLCAxMjgsIDY5LCA2OCwgNzMsIDg0LCA3OSwgODIsIDczLCA2NSwgMjA0LCAKLSAgICA2OSwgNjgsIDczLCA3OCwgMTI4LCA2OSwgNjgsIDY4LCAxMjgsIDY5LCA2NiwgNjksIDcwLCA3MywgNzYsIDczLCAxMjgsIAotICAgIDY5LCA2NSwgODMsIDg0LCA2OSwgODIsIDIwNiwgNjksIDY1LCA4MywgMjEyLCA2OSwgNjUsIDgyLCA4NCwgNzIsIDc2LCAKLSAgICAyMTcsIDY5LCA2NSwgODIsIDg0LCA3MiwgMTI4LCA2OSwgNjUsIDgyLCA4NCwgMjAwLCA2OSwgNjUsIDgyLCA4MywgMTI4LCAKLSAgICA2OSwgNjUsIDgyLCA3NiwgMjE3LCA2OSwgNjUsIDc3LCA3MiwgNjUsIDc4LCA2NywgNzIsIDc5LCA3NiwgNzYsIDEyOCwgNjksIAotICAgIDY1LCA3MSwgNzYsIDY5LCAxMjgsIDY5LCA2NSwgNjgsIDcyLCA2NSwgNjgsIDcyLCAxMjgsIDY5LCA2NSwgNjYsIDcyLCA2NSwgCi0gICAgNjgsIDcyLCAxMjgsIDY5LCAxNzgsIDY5LCA0OCwgNTEsIDU2LCAxMjgsIDY5LCA0OCwgNTEsIDU1LCAxMjgsIDY5LCA0OCwgCi0gICAgNTEsIDU0LCAxMjgsIDY5LCA0OCwgNTEsIDUyLCA2NSwgMTI4LCA2OSwgNDgsIDUxLCA1MiwgMTI4LCA2OSwgNDgsIDUxLCAKLSAgICA1MSwgMTI4LCA2OSwgNDgsIDUxLCA1MCwgMTI4LCA2OSwgNDgsIDUxLCA0OSwgMTI4LCA2OSwgNDgsIDUxLCA0OCwgMTI4LCAKLSAgICA2OSwgNDgsIDUwLCA1NywgMTI4LCA2OSwgNDgsIDUwLCA1NiwgNjUsIDEyOCwgNjksIDQ4LCA1MCwgNTYsIDEyOCwgNjksIAotICAgIDQ4LCA1MCwgNTUsIDEyOCwgNjksIDQ4LCA1MCwgNTQsIDEyOCwgNjksIDQ4LCA1MCwgNTMsIDEyOCwgNjksIDQ4LCA1MCwgCi0gICAgNTIsIDEyOCwgNjksIDQ4LCA1MCwgNTEsIDEyOCwgNjksIDQ4LCA1MCwgNTAsIDEyOCwgNjksIDQ4LCA1MCwgNDksIDEyOCwgCi0gICAgNjksIDQ4LCA1MCwgNDgsIDY1LCAxMjgsIDY5LCA0OCwgNTAsIDQ4LCAxMjgsIDY5LCA0OCwgNDksIDU3LCAxMjgsIDY5LCAKLSAgICA0OCwgNDksIDU2LCAxMjgsIDY5LCA0OCwgNDksIDU1LCA2NSwgMTI4LCA2OSwgNDgsIDQ5LCA1NSwgMTI4LCA2OSwgNDgsIAotICAgIDQ5LCA1NCwgNjUsIDEyOCwgNjksIDQ4LCA0OSwgNTQsIDEyOCwgNjksIDQ4LCA0OSwgNTMsIDEyOCwgNjksIDQ4LCA0OSwgCi0gICAgNTIsIDEyOCwgNjksIDQ4LCA0OSwgNTEsIDEyOCwgNjksIDQ4LCA0OSwgNTAsIDEyOCwgNjksIDQ4LCA0OSwgNDksIDEyOCwgCi0gICAgNjksIDQ4LCA0OSwgNDgsIDEyOCwgNjksIDQ4LCA0OCwgNTcsIDY1LCAxMjgsIDY5LCA0OCwgNDgsIDU3LCAxMjgsIDY5LCAKLSAgICA0OCwgNDgsIDU2LCA2NSwgMTI4LCA2OSwgNDgsIDQ4LCA1NiwgMTI4LCA2OSwgNDgsIDQ4LCA1NSwgMTI4LCA2OSwgNDgsIAotICAgIDQ4LCA1NCwgMTI4LCA2OSwgNDgsIDQ4LCA1MywgMTI4LCA2OSwgNDgsIDQ4LCA1MiwgMTI4LCA2OSwgNDgsIDQ4LCA1MSwgCi0gICAgMTI4LCA2OSwgNDgsIDQ4LCA1MCwgMTI4LCA2OSwgNDgsIDQ4LCA0OSwgMTI4LCA2OSwgNDUsIDc3LCA2NSwgNzMsIDIwNCwgCi0gICAgNjgsIDkwLCA5MCwgNjksIDEyOCwgNjgsIDkwLCA5MCwgNjUsIDEyOCwgNjgsIDkwLCA4NywgNjksIDEyOCwgNjgsIDkwLCAKLSAgICA4NSwgMTI4LCA2OCwgOTAsIDc5LCAxMjgsIDY4LCA5MCwgNzQsIDY5LCAxMjgsIDY4LCA5MCwgNzMsIDEyOCwgNjgsIDkwLCAKLSAgICA3MiwgNjksIDEyOCwgNjgsIDkwLCA3MiwgNjUsIDEyOCwgNjgsIDkwLCA2OSwgNzYsIDc5LCAxMjgsIDY4LCA5MCwgNjksIAotICAgIDY5LCAxMjgsIDY4LCA5MCwgNjksIDEyOCwgNjgsIDkwLCA2NSwgNjUsIDEyOCwgNjgsIDkwLCA2NSwgMTI4LCA2OCwgOTAsIAotICAgIDEyOCwgNjgsIDIxOCwgNjgsIDg5LCA3OSwgMTI4LCA2OCwgODksIDIwNywgNjgsIDg5LCA2OSwgNzIsIDEyOCwgNjgsIDg5LCAKLSAgICA2OSwgMjAwLCA2OCwgODcsIDc5LCAxMjgsIDY4LCA4NywgNjksIDEyOCwgNjgsIDg3LCA2NSwgMTI4LCA2OCwgODYsIDczLCAKLSAgICA4MywgODYsIDY1LCA4MiwgNjUsIDEyOCwgNjgsIDg2LCA2OCwgMTI4LCA2OCwgODYsIDEyOCwgNjgsIDg1LCA4NCwgNzMsIAotICAgIDY5LCA4MywgMTI4LCA2OCwgODUsIDgzLCA3NSwgMTI4LCA2OCwgODUsIDgzLCA3MiwgNjksIDc4LCA3OCwgNjUsIDEyOCwgCi0gICAgNjgsIDg1LCA4MiwgNjUsIDg0LCA3MywgNzksIDc4LCAxMjgsIDY4LCA4NSwgODIsIDUwLCAxMjgsIDY4LCA4NSwgODAsIDc5LCAKLSAgICA3OCwgNjgsIDczLCA4NSwgMjExLCA2OCwgODUsIDc5LCA4OCwgMTI4LCA2OCwgODUsIDc5LCAxMjgsIDY4LCA4NSwgNzgsIAotICAgIDUyLCAxMjgsIDY4LCA4NSwgNzgsIDUxLCAxMjgsIDY4LCA4NSwgNzgsIDE3OSwgNjgsIDg1LCA3NywgMTI4LCA2OCwgODUsIAotICAgIDIwNCwgNjgsIDg1LCA3MiwgMTI4LCA2OCwgODUsIDcxLCA4NSwgNjgsIDEyOCwgNjgsIDg1LCA2NiwgNTAsIDEyOCwgNjgsIAotICAgIDg1LCA2NiwgMTI4LCA2OCwgODUsIDE5NCwgNjgsIDgyLCA4OSwgMTI4LCA2OCwgODIsIDIxNywgNjgsIDgyLCA4NSwgNzcsIAotICAgIDEyOCwgNjgsIDgyLCA4NSwgMjA1LCA2OCwgODIsIDc5LCA4MCwgODMsIDEyOCwgNjgsIDgyLCA3OSwgODAsIDc2LCA2OSwgCi0gICAgODQsIDEyOCwgNjgsIDgyLCA3OSwgODAsIDQ1LCA4MywgNzIsIDY1LCA2OCwgNzksIDg3LCA2OSwgMTk2LCA2OCwgODIsIDc5LCAKLSAgICA3NywgNjksIDY4LCA2NSwgODIsIDIxNywgNjgsIDgyLCA3MywgODYsIDY5LCAxMjgsIDY4LCA4MiwgNzMsIDg2LCAxOTcsIAotICAgIDY4LCA4MiwgNzMsIDc4LCA3NSwgMTI4LCA2OCwgODIsIDczLCAyMDQsIDY4LCA4MiwgNjksIDgzLCA4MywgMTI4LCA2OCwgCi0gICAgODIsIDY1LCA4NSwgNzEsIDcyLCA4NCwgMjExLCA2OCwgODIsIDY1LCA3NywgMTI4LCA2OCwgODIsIDY1LCAyMDUsIDY4LCAKLSAgICA4MiwgNjUsIDcxLCA3OSwgNzgsIDEyOCwgNjgsIDgyLCA2NSwgNzEsIDc5LCAyMDYsIDY4LCA4MiwgNjUsIDcwLCA4NCwgNzMsIAotICAgIDc4LCAxOTksIDY4LCA4MiwgNjUsIDY3LCA3MiwgNzcsIDY1LCA4MywgMTI4LCA2OCwgODIsIDY1LCA2NywgNzIsIDc3LCA2NSwgCi0gICAgMTI4LCA2OCwgODIsIDY1LCA2NywgNzIsIDc3LCAxOTMsIDY4LCA3OSwgODcsIDc4LCA4NywgNjUsIDgyLCA2OCwgODMsIAotICAgIDEyOCwgNjgsIDc5LCA4NywgNzgsIDg3LCA2NSwgODIsIDY4LCAyMTEsIDY4LCA3OSwgODcsIDc4LCA0NSwgODAsIDc5LCA3MywgCi0gICAgNzgsIDg0LCA3MywgNzgsIDE5OSwgNjgsIDc5LCA4NywgNzgsIDEyOCwgNjgsIDc5LCA4NiwgNjksIDEyOCwgNjgsIDc5LCAKLSAgICA4NSwgNzEsIDcyLCA3OCwgODUsIDg0LCAxMjgsIDY4LCA3OSwgODUsIDY2LCA4NCwgMTI4LCA2OCwgNzksIDg1LCA2NiwgNzYsIAotICAgIDY5LCAxOTYsIDY4LCA3OSwgODUsIDY2LCA3NiwgNjksIDQ1LCA3NiwgNzMsIDc4LCAxOTcsIDY4LCA3OSwgODUsIDY2LCA3NiwgCi0gICAgNjksIDQ1LCA2OSwgNzgsIDY4LCA2OSwgMTk2LCA2OCwgNzksIDg1LCA2NiwgNzYsIDY5LCAxMjgsIDY4LCA3OSwgODQsIDg0LCAKLSAgICA2OSwgNjgsIDQ1LCA4MCwgMTI4LCA2OCwgNzksIDg0LCA4NCwgNjksIDY4LCA0NSwgNzgsIDEyOCwgNjgsIDc5LCA4NCwgODQsIAotICAgIDY5LCA2OCwgNDUsIDc2LCAxMjgsIDY4LCA3OSwgODQsIDg0LCA2OSwgNjgsIDEyOCwgNjgsIDc5LCA4NCwgODQsIDY5LCAKLSAgICAxOTYsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTYsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1NSwgNTYsIDEyOCwgNjgsIAotICAgIDc5LCA4NCwgODMsIDQ1LCA1NSwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDU0LCA1NiwgMTI4LCA2OCwgNzksIDg0LCA4MywgCi0gICAgNDUsIDU0LCA1NSwgNTYsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1NCwgNTUsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCAKLSAgICA1NCwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUzLCA1NiwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUzLCA1NSwgNTYsIAotICAgIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1MywgNTUsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1MywgNTQsIDU2LCAKLSAgICAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTMsIDU0LCA1NSwgNTYsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1MywgNTQsIAotICAgIDU1LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTMsIDU0LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTMsIDEyOCwgCi0gICAgNjgsIDc5LCA4NCwgODMsIDQ1LCA1MiwgNTYsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1MiwgNTUsIDU2LCAxMjgsIDY4LCAKLSAgICA3OSwgODQsIDgzLCA0NSwgNTIsIDU1LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTIsIDU0LCA1NiwgMTI4LCA2OCwgNzksIAotICAgIDg0LCA4MywgNDUsIDUyLCA1NCwgNTUsIDU2LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTIsIDU0LCA1NSwgMTI4LCA2OCwgCi0gICAgNzksIDg0LCA4MywgNDUsIDUyLCA1NCwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUyLCA1MywgNTYsIDEyOCwgNjgsIDc5LCAKLSAgICA4NCwgODMsIDQ1LCA1MiwgNTMsIDU1LCA1NiwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUyLCA1MywgNTUsIDEyOCwgNjgsIAotICAgIDc5LCA4NCwgODMsIDQ1LCA1MiwgNTMsIDU0LCA1NiwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUyLCA1MywgNTQsIDU1LCAKLSAgICA1NiwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUyLCA1MywgNTQsIDU1LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTIsIAotICAgIDUzLCA1NCwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUyLCA1MywgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUyLCAKLSAgICAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTEsIDU2LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTEsIDU1LCA1NiwgCi0gICAgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUxLCA1NSwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUxLCA1NCwgNTYsIAorICAgIDczLCAxOTUsIDY5LCA4MCwgNjksIDcxLCA2OSwgODIsIDc3LCA2NSwgMTI4LCA2OSwgODAsIDY1LCA2NywgMjEyLCA2OSwgCisgICAgNzksIDg0LCAxMjgsIDY5LCA3OSwgNzcsIDEyOCwgNjksIDc5LCA3NiwgNzIsIDg4LCAxMjgsIDY5LCA3OSwgNzYsIDEyOCwgCisgICAgNjksIDc5LCA3MiwgMTI4LCA2OSwgNzgsIDg5LCAxMjgsIDY5LCA3OCwgODYsIDY5LCA3NiwgNzksIDgwLCA2OSwgMTI4LCAKKyAgICA2OSwgNzgsIDg2LCA2OSwgNzYsIDc5LCA4MCwgMTk3LCA2OSwgNzgsIDg1LCA3NywgNjksIDgyLCA2NSwgODQsIDczLCA3OSwgCisgICAgMjA2LCA2OSwgNzgsIDg0LCA4MiwgODksIDQ1LCA1MCwgMTI4LCA2OSwgNzgsIDg0LCA4MiwgODksIDQ1LCA0OSwgMTI4LCAKKyAgICA2OSwgNzgsIDg0LCA4MiwgODksIDEyOCwgNjksIDc4LCA4NCwgODIsIDIxNywgNjksIDc4LCA4NCwgNzIsIDg1LCA4MywgNzMsIAorICAgIDY1LCA4MywgNzcsIDEyOCwgNjksIDc4LCA4NCwgNjksIDgyLCA4MCwgODIsIDczLCA4MywgNjksIDEyOCwgNjksIDc4LCA4NCwgCisgICAgNjksIDgyLCA3MywgNzgsIDE5OSwgNjksIDc4LCA4NCwgNjksIDgyLCAxMjgsIDY5LCA3OCwgODQsIDY5LCAyMTAsIDY5LCAKKyAgICA3OCwgODEsIDg1LCA3MywgODIsIDg5LCAxMjgsIDY5LCA3OCwgODEsIDEyOCwgNjksIDc4LCA3OSwgMjExLCA2OSwgNzgsIAorICAgIDc4LCA3MywgMTI4LCA2OSwgNzgsIDc4LCAxMjgsIDY5LCA3OCwgNzYsIDY1LCA4MiwgNzEsIDY5LCA3NywgNjksIDc4LCA4NCwgCisgICAgMTI4LCA2OSwgNzgsIDcxLCA3MywgNzgsIDY5LCAxMjgsIDY5LCA3OCwgNjgsIDc5LCA3MCwgNzksIDc4LCA3OSwgNzgsIAorICAgIDEyOCwgNjksIDc4LCA2OCwgNzMsIDc4LCAxOTksIDY5LCA3OCwgNjgsIDY5LCA4MCwgMTI4LCA2OSwgNzgsIDY4LCA2OSwgCisgICAgNjUsIDg2LCA3OSwgODUsIDgyLCAxMjgsIDY5LCA3OCwgNjcsIDc5LCA4NSwgNzgsIDg0LCA2OSwgODIsIDgzLCAxMjgsIDY5LCAKKyAgICA3OCwgNjcsIDc2LCA3OSwgODMsIDg1LCA4MiwgNjksIDEyOCwgNjksIDc4LCA2NywgNzYsIDc5LCA4MywgNzMsIDc4LCAxOTksIAorICAgIDY5LCA3OCwgNjcsIDEyOCwgNjksIDc4LCA2NSwgODIsIDg4LCA3MywgMjExLCA2OSwgNzgsIDY1LCA4MiwgNzcsIDc5LCA3OCwgCisgICAgNzMsIDc5LCAyMTEsIDY5LCA3NywgODAsIDg0LCAyMTcsIDY5LCA3NywgODAsIDcyLCA2NSwgODQsIDczLCAxOTUsIDY5LCAKKyAgICA3NywgODAsIDcyLCA2NSwgODMsIDczLCAyMTEsIDY5LCA3NywgNjYsIDgyLCA3OSwgNzMsIDY4LCA2OSwgODIsIDg5LCAxMjgsIAorICAgIDY5LCA3NywgNjYsIDc2LCA2OSwgNzcsIDEyOCwgNjksIDc3LCA2NiwgNjksIDc2LCA3NiwgNzMsIDgzLCA3MiwgNzcsIDY5LCAKKyAgICA3OCwgODQsIDEyOCwgNjksIDc3LCA2NiwgNjksIDY4LCA2OCwgNzMsIDc4LCA3MSwgMTI4LCA2OSwgNzYsIDg0LCAxMjgsIAorICAgIDY5LCA3NiwgNzYsIDczLCA4MCwgODQsIDczLCAxOTUsIDY5LCA3NiwgNzYsIDczLCA4MCwgODMsIDczLCA4MywgMTI4LCA2OSwgCisgICAgNzYsIDc2LCA3MywgODAsIDgzLCA2OSwgMTI4LCA2OSwgNzYsIDczLCA3MCwgNzMsIDEyOCwgNjksIDc2LCA2OSwgODYsIDY5LCAKKyAgICA3OCwgNDUsIDg0LCA3MiwgNzMsIDgyLCA4NCwgODksIDEyOCwgNjksIDc2LCA2OSwgODYsIDY5LCA3OCwgMTI4LCA2OSwgNzYsIAorICAgIDY5LCA4NiwgNjksIDIwNiwgNjksIDc2LCA2OSwgODAsIDcyLCA2NSwgNzgsIDg0LCAxMjgsIDY5LCA3NiwgNjksIDc3LCA2OSwgCisgICAgNzgsIDIxMiwgNjksIDc2LCA2OSwgNjcsIDg0LCA4MiwgNzMsIDY3LCA2NSwgMjA0LCA2OSwgNzYsIDY5LCA2NywgODQsIDgyLCAKKyAgICA3MywgMTk1LCA2OSwgNzYsIDY2LCA2NSwgODMsIDY1LCAyMDYsIDY5LCA3NiwgNjUsIDc3LCA3MywgODQsIDY5LCAxMjgsIAorICAgIDY5LCA3NiwgNjUsIDc3LCA3MywgODQsIDE5NywgNjksIDc2LCA2NSwgNzAsIDgyLCA3OSwgNzgsIDEyOCwgNjksIDc1LCA4MywgCisgICAgODQsIDgyLCA2OSwgODAsIDg0LCA3OSwgNzgsIDEyOCwgNjksIDc1LCA4MywgMTI4LCA2OSwgNzUsIDcwLCA3OSwgNzgsIDczLCAKKyAgICA4NCwgNzMsIDc1LCA3OSwgNzgsIDEyOCwgNjksIDc1LCA2NSwgODIsIDY1LCAxMjgsIDY5LCA3NSwgNjUsIDc3LCAxMjgsIAorICAgIDY5LCA3NCwgNjksIDY3LCAyMTIsIDY5LCA3MywgODMsIDEyOCwgNjksIDczLCA3MSwgNzIsIDg0LCA4OSwgMTI4LCA2OSwgCisgICAgNzMsIDcxLCA3MiwgODQsIDIxNywgNjksIDczLCA3MSwgNzIsIDg0LCA3MiwgODMsIDEyOCwgNjksIDczLCA3MSwgNzIsIDg0LCAKKyAgICA3MiwgMjExLCA2OSwgNzMsIDcxLCA3MiwgODQsIDcyLCAxMjgsIDY5LCA3MywgNzEsIDcyLCA4NCwgNjksIDY5LCA3OCwgCisgICAgMTI4LCA2OSwgNzMsIDcxLCA3MiwgODQsIDY5LCA2OSwgMjA2LCA2OSwgNzMsIDcxLCA3MiwgODQsIDQ1LCA4NCwgNzIsIDczLCAKKyAgICA4MiwgODQsIDg5LCAxMjgsIDY5LCA3MywgNjksIDEyOCwgNjksIDcyLCA4NywgNjUsIDIxOCwgNjksIDcxLCA4OSwgODAsIAorICAgIDg0LCA3OSwgNzYsIDc5LCA3MSwgNzMsIDY3LCA2NSwgMjA0LCA2OSwgNzEsIDczLCA4MiwgMTI4LCA2OSwgNzEsIDcxLCAKKyAgICAxMjgsIDY5LCA2OSwgODksIDY1LCA3OCwgNzgsIDY1LCAxMjgsIDY5LCA2OSwgNzUsIDY1LCA2NSwgMTI4LCA2OSwgNjksIAorICAgIDcyLCAxMjgsIDY5LCA2OSwgNjYsIDY5LCA2OSwgNzAsIDczLCA3NiwgNzMsIDEyOCwgNjksIDY4LCA3MywgODQsIDc5LCA4MiwgCisgICAgNzMsIDY1LCAyMDQsIDY5LCA2OCwgNzMsIDc4LCAxMjgsIDY5LCA2OCwgNjgsIDEyOCwgNjksIDY2LCA2OSwgNzAsIDczLCAKKyAgICA3NiwgNzMsIDEyOCwgNjksIDY1LCA4MywgODQsIDY5LCA4MiwgMjA2LCA2OSwgNjUsIDgzLCA4NCwgMTI4LCA2OSwgNjUsIAorICAgIDgzLCAyMTIsIDY5LCA2NSwgODIsIDg0LCA3MiwgNzYsIDIxNywgNjksIDY1LCA4MiwgODQsIDcyLCAxMjgsIDY5LCA2NSwgCisgICAgODIsIDg0LCAyMDAsIDY5LCA2NSwgODIsIDgzLCAxMjgsIDY5LCA2NSwgODIsIDc2LCAyMTcsIDY5LCA2NSwgNzcsIDcyLCAKKyAgICA2NSwgNzgsIDY3LCA3MiwgNzksIDc2LCA3NiwgMTI4LCA2OSwgNjUsIDcxLCA3NiwgNjksIDEyOCwgNjksIDY1LCA2OCwgNzIsIAorICAgIDY1LCA2OCwgNzIsIDEyOCwgNjksIDY1LCA2NiwgNzIsIDY1LCA2OCwgNzIsIDEyOCwgNjksIDE3OCwgNjksIDQ4LCA1MSwgCisgICAgNTYsIDEyOCwgNjksIDQ4LCA1MSwgNTUsIDEyOCwgNjksIDQ4LCA1MSwgNTQsIDEyOCwgNjksIDQ4LCA1MSwgNTIsIDY1LCAKKyAgICAxMjgsIDY5LCA0OCwgNTEsIDUyLCAxMjgsIDY5LCA0OCwgNTEsIDUxLCAxMjgsIDY5LCA0OCwgNTEsIDUwLCAxMjgsIDY5LCAKKyAgICA0OCwgNTEsIDQ5LCAxMjgsIDY5LCA0OCwgNTEsIDQ4LCAxMjgsIDY5LCA0OCwgNTAsIDU3LCAxMjgsIDY5LCA0OCwgNTAsIAorICAgIDU2LCA2NSwgMTI4LCA2OSwgNDgsIDUwLCA1NiwgMTI4LCA2OSwgNDgsIDUwLCA1NSwgMTI4LCA2OSwgNDgsIDUwLCA1NCwgCisgICAgMTI4LCA2OSwgNDgsIDUwLCA1MywgMTI4LCA2OSwgNDgsIDUwLCA1MiwgMTI4LCA2OSwgNDgsIDUwLCA1MSwgMTI4LCA2OSwgCisgICAgNDgsIDUwLCA1MCwgMTI4LCA2OSwgNDgsIDUwLCA0OSwgMTI4LCA2OSwgNDgsIDUwLCA0OCwgNjUsIDEyOCwgNjksIDQ4LCAKKyAgICA1MCwgNDgsIDEyOCwgNjksIDQ4LCA0OSwgNTcsIDEyOCwgNjksIDQ4LCA0OSwgNTYsIDEyOCwgNjksIDQ4LCA0OSwgNTUsIAorICAgIDY1LCAxMjgsIDY5LCA0OCwgNDksIDU1LCAxMjgsIDY5LCA0OCwgNDksIDU0LCA2NSwgMTI4LCA2OSwgNDgsIDQ5LCA1NCwgCisgICAgMTI4LCA2OSwgNDgsIDQ5LCA1MywgMTI4LCA2OSwgNDgsIDQ5LCA1MiwgMTI4LCA2OSwgNDgsIDQ5LCA1MSwgMTI4LCA2OSwgCisgICAgNDgsIDQ5LCA1MCwgMTI4LCA2OSwgNDgsIDQ5LCA0OSwgMTI4LCA2OSwgNDgsIDQ5LCA0OCwgMTI4LCA2OSwgNDgsIDQ4LCAKKyAgICA1NywgNjUsIDEyOCwgNjksIDQ4LCA0OCwgNTcsIDEyOCwgNjksIDQ4LCA0OCwgNTYsIDY1LCAxMjgsIDY5LCA0OCwgNDgsIAorICAgIDU2LCAxMjgsIDY5LCA0OCwgNDgsIDU1LCAxMjgsIDY5LCA0OCwgNDgsIDU0LCAxMjgsIDY5LCA0OCwgNDgsIDUzLCAxMjgsIAorICAgIDY5LCA0OCwgNDgsIDUyLCAxMjgsIDY5LCA0OCwgNDgsIDUxLCAxMjgsIDY5LCA0OCwgNDgsIDUwLCAxMjgsIDY5LCA0OCwgCisgICAgNDgsIDQ5LCAxMjgsIDY5LCA0NSwgNzcsIDY1LCA3MywgMjA0LCA2OCwgOTAsIDkwLCA3MiwgNjksIDEyOCwgNjgsIDkwLCAKKyAgICA5MCwgNjksIDEyOCwgNjgsIDkwLCA5MCwgNjUsIDEyOCwgNjgsIDkwLCA4OSwgNjUsIDg5LCAxMjgsIDY4LCA5MCwgODcsIAorICAgIDY5LCAxMjgsIDY4LCA5MCwgODUsIDEyOCwgNjgsIDkwLCA3OSwgMTI4LCA2OCwgOTAsIDc0LCA2OSwgMTI4LCA2OCwgOTAsIAorICAgIDczLCA4NCwgNjUsIDEyOCwgNjgsIDkwLCA3MywgMTI4LCA2OCwgOTAsIDcyLCA3OSwgNzMsIDEyOCwgNjgsIDkwLCA3MiwgCisgICAgNjksIDEyOCwgNjgsIDkwLCA3MiwgNjUsIDEyOCwgNjgsIDkwLCA2OSwgNzYsIDc5LCAxMjgsIDY4LCA5MCwgNjksIDY5LCAKKyAgICAxMjgsIDY4LCA5MCwgNjksIDEyOCwgNjgsIDkwLCA2NSwgODksIDEyOCwgNjgsIDkwLCA2NSwgNjUsIDEyOCwgNjgsIDkwLCAKKyAgICA2NSwgMTI4LCA2OCwgOTAsIDEyOCwgNjgsIDIxOCwgNjgsIDg5LCA3OSwgMTI4LCA2OCwgODksIDIwNywgNjgsIDg5LCA2OSwgCisgICAgNzIsIDEyOCwgNjgsIDg5LCA2OSwgMjAwLCA2OCwgODksIDY1LCA3OCwgMTI4LCA2OCwgODcsIDc5LCAxMjgsIDY4LCA4NywgCisgICAgNjksIDEyOCwgNjgsIDg3LCA2NSwgMTI4LCA2OCwgODYsIDczLCA4MywgODYsIDY1LCA4MiwgNjUsIDEyOCwgNjgsIDg2LCAKKyAgICA2OCwgMTI4LCA2OCwgODYsIDEyOCwgNjgsIDg1LCA4NCwgNzMsIDY5LCA4MywgMTI4LCA2OCwgODUsIDgzLCA3NSwgMTI4LCAKKyAgICA2OCwgODUsIDgzLCA3MiwgNjksIDc4LCA3OCwgNjUsIDEyOCwgNjgsIDg1LCA4MiwgNjUsIDg0LCA3MywgNzksIDc4LCAxMjgsIAorICAgIDY4LCA4NSwgODIsIDUwLCAxMjgsIDY4LCA4NSwgODAsIDc5LCA3OCwgNjgsIDczLCA4NSwgMjExLCA2OCwgODUsIDc5LCA4OCwgCisgICAgMTI4LCA2OCwgODUsIDc5LCAxMjgsIDY4LCA4NSwgNzgsIDUyLCAxMjgsIDY4LCA4NSwgNzgsIDUxLCAxMjgsIDY4LCA4NSwgCisgICAgNzgsIDE3OSwgNjgsIDg1LCA3NywgMTI4LCA2OCwgODUsIDIwNCwgNjgsIDg1LCA3MiwgMTI4LCA2OCwgODUsIDcxLCA4NSwgCisgICAgNjgsIDEyOCwgNjgsIDg1LCA2NiwgNTAsIDEyOCwgNjgsIDg1LCA2NiwgMTI4LCA2OCwgODUsIDE5NCwgNjgsIDgyLCA4OSwgCisgICAgMTI4LCA2OCwgODIsIDIxNywgNjgsIDgyLCA4NSwgNzcsIDEyOCwgNjgsIDgyLCA4NSwgMjA1LCA2OCwgODIsIDc5LCA4MCwgCisgICAgODMsIDEyOCwgNjgsIDgyLCA3OSwgODAsIDc2LCA2OSwgODQsIDEyOCwgNjgsIDgyLCA3OSwgODAsIDQ1LCA4MywgNzIsIDY1LCAKKyAgICA2OCwgNzksIDg3LCA2OSwgMTk2LCA2OCwgODIsIDc5LCA3NywgNjksIDY4LCA2NSwgODIsIDIxNywgNjgsIDgyLCA3MywgODYsIAorICAgIDY5LCAxMjgsIDY4LCA4MiwgNzMsIDg2LCAxOTcsIDY4LCA4MiwgNzMsIDc4LCA3NSwgMTI4LCA2OCwgODIsIDczLCAyMDQsIAorICAgIDY4LCA4MiwgNjksIDgzLCA4MywgMTI4LCA2OCwgODIsIDY1LCA4NSwgNzEsIDcyLCA4NCwgMjExLCA2OCwgODIsIDY1LCA3NywgCisgICAgMTI4LCA2OCwgODIsIDY1LCAyMDUsIDY4LCA4MiwgNjUsIDcxLCA3OSwgNzgsIDEyOCwgNjgsIDgyLCA2NSwgNzEsIDc5LCAKKyAgICAyMDYsIDY4LCA4MiwgNjUsIDcwLCA4NCwgNzMsIDc4LCAxOTksIDY4LCA4MiwgNjUsIDY3LCA3MiwgNzcsIDY1LCA4MywgCisgICAgMTI4LCA2OCwgODIsIDY1LCA2NywgNzIsIDc3LCA2NSwgMTI4LCA2OCwgODIsIDY1LCA2NywgNzIsIDc3LCAxOTMsIDY4LCAKKyAgICA3OSwgODcsIDc4LCA4NywgNjUsIDgyLCA2OCwgODMsIDEyOCwgNjgsIDc5LCA4NywgNzgsIDQ1LCA4MCwgNzksIDczLCA3OCwgCisgICAgODQsIDczLCA3OCwgMTk5LCA2OCwgNzksIDg3LCA3OCwgMTI4LCA2OCwgNzksIDg2LCA2OSwgMTI4LCA2OCwgNzksIDg2LCAKKyAgICAxOTcsIDY4LCA3OSwgODUsIDcxLCA3MiwgNzgsIDg1LCA4NCwgMTI4LCA2OCwgNzksIDg1LCA2NiwgODQsIDEyOCwgNjgsIAorICAgIDc5LCA4NSwgNjYsIDc2LCA2OSwgMTk2LCA2OCwgNzksIDg1LCA2NiwgNzYsIDY5LCA0NSwgNzYsIDczLCA3OCwgMTk3LCA2OCwgCisgICAgNzksIDg1LCA2NiwgNzYsIDY5LCA0NSwgNjksIDc4LCA2OCwgNjksIDE5NiwgNjgsIDc5LCA4NSwgNjYsIDc2LCA2OSwgMTI4LCAKKyAgICA2OCwgNzksIDg0LCA4NCwgNjksIDY4LCA0NSwgODAsIDEyOCwgNjgsIDc5LCA4NCwgODQsIDY5LCA2OCwgNDUsIDc4LCAxMjgsIAorICAgIDY4LCA3OSwgODQsIDg0LCA2OSwgNjgsIDQ1LCA3NiwgMTI4LCA2OCwgNzksIDg0LCA4NCwgNjksIDY4LCAxMjgsIDY4LCA3OSwgCisgICAgODQsIDg0LCA2OSwgMTk2LCA2OCwgNzksIDg0LCA4MywgNDUsIDU2LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTUsIDU2LCAKKyAgICAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTUsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1NCwgNTYsIDEyOCwgNjgsIAorICAgIDc5LCA4NCwgODMsIDQ1LCA1NCwgNTUsIDU2LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTQsIDU1LCAxMjgsIDY4LCA3OSwgCisgICAgODQsIDgzLCA0NSwgNTQsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1MywgNTYsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCAKKyAgICA1MywgNTUsIDU2LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTMsIDU1LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTMsIAorICAgIDU0LCA1NiwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUzLCA1NCwgNTUsIDU2LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgCisgICAgNTMsIDU0LCA1NSwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUzLCA1NCwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUzLCAKKyAgICAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTIsIDU2LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTIsIDU1LCA1NiwgCisgICAgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUyLCA1NSwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUyLCA1NCwgNTYsIAorICAgIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1MiwgNTQsIDU1LCA1NiwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUyLCA1NCwgCisgICAgNTUsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1MiwgNTQsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1MiwgNTMsIDU2LCAKKyAgICAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTIsIDUzLCA1NSwgNTYsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1MiwgNTMsIAorICAgIDU1LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTIsIDUzLCA1NCwgNTYsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1MiwgCisgICAgNTMsIDU0LCA1NSwgNTYsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1MiwgNTMsIDU0LCA1NSwgMTI4LCA2OCwgNzksIDg0LCAKKyAgICA4MywgNDUsIDUyLCA1MywgNTQsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1MiwgNTMsIDEyOCwgNjgsIDc5LCA4NCwgODMsIAorICAgIDQ1LCA1MiwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUxLCA1NiwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUxLCA1NSwgCisgICAgNTYsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1MSwgNTUsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1MSwgNTQsIDU2LCAKICAgICAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTEsIDU0LCA1NSwgNTYsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1MSwgNTQsIAogICAgIDU1LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTEsIDU0LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTEsIDUzLCA1NiwgCiAgICAgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUxLCA1MywgNTUsIDU2LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTEsIDUzLCAKQEAgLTM5NTIsOTkgKzQxNTAsMTA2IEBACiAgICAgNzEsIDEyOCwgNjgsIDc5LCA3OCwgNzEsIDEyOCwgNjgsIDc5LCA3NywgNjUsIDczLCAyMDYsIDY4LCA3OSwgNzYsIDgwLCAKICAgICA3MiwgNzMsIDc4LCAxMjgsIDY4LCA3OSwgNzYsIDc2LCA4MywgMTI4LCA2OCwgNzksIDc2LCA3NiwgNjUsIDIxMCwgNjgsIAogICAgIDc5LCA3NiwgNzMsIDg1LCA3NywgMTI4LCA2OCwgNzksIDc1LCA3NywgNjUsIDczLCAxMjgsIDY4LCA3OSwgNzMsIDg0LCAKLSAgICAxMjgsIDY4LCA3OSwgNzEsIDEyOCwgNjgsIDc5LCAxOTksIDY4LCA3OSwgNjksIDIxMSwgNjgsIDc5LCA2OCwgNjksIDc1LCAKLSAgICA2NSwgODQsIDY1LCAxMjgsIDY4LCA3OSwgNjYsIDgyLCA3OSwgMTI4LCA2OCwgNzksIDY1LCA2NywgNzIsIDY1LCA4MywgNzIsIAotICAgIDc3LCA2OSwgNjksIDEyOCwgNjgsIDc5LCA2NSwgNjcsIDcyLCA2NSwgODMsIDcyLCA3NywgNjksIDE5NywgNjgsIDc5LCA2NSwgCi0gICAgMTI4LCA2OCwgNzksIDQ1LCA3OSwgMTI4LCA2OCwgNzcsIDEyOCwgNjgsIDIwNSwgNjgsIDc2LCA4NSwgMTI4LCA2OCwgNzYsIAotICAgIDc5LCAxMjgsIDY4LCA3NiwgNzMsIDEyOCwgNjgsIDc2LCA3MiwgODksIDY1LCAxMjgsIDY4LCA3NiwgNzIsIDY1LCAxMjgsIAotICAgIDY4LCA3NiwgNjksIDY5LCAxMjgsIDY4LCA3NiwgNjUsIDEyOCwgNjgsIDc2LCAxMjgsIDY4LCA3NSwgNjUsIDgyLCAxMjgsIAotICAgIDY4LCA3NSwgNjUsIDIxMCwgNjgsIDc0LCA2OSwgODIsIDg2LCA3MywgMTI4LCA2OCwgNzQsIDY5LCA4MiwgODYsIDEyOCwgCi0gICAgNjgsIDc0LCA2OSwgMTI4LCA2OCwgNzQsIDY1LCAxMjgsIDY4LCA3MywgOTAsIDkwLCAyMTcsIDY4LCA3MywgODYsIDc5LCAKLSAgICA4MiwgNjcsIDE5NywgNjgsIDczLCA4NiwgNzMsIDgzLCA3MywgNzksIDc4LCAxMjgsIDY4LCA3MywgODYsIDczLCA4MywgNzMsIAotICAgIDc5LCAyMDYsIDY4LCA3MywgODYsIDczLCA3OCwgNjUsIDg0LCA3MywgNzksIDc4LCAxMjgsIDY4LCA3MywgODYsIDczLCA2OCwgCi0gICAgNjksIDgzLCAxMjgsIDY4LCA3MywgODYsIDczLCA2OCwgNjksIDgyLCAxMjgsIDY4LCA3MywgODYsIDczLCA2OCwgNjksIAotICAgIDE5NiwgNjgsIDczLCA4NiwgNzMsIDY4LCA2OSwgMTI4LCA2OCwgNzMsIDg2LCA3MywgNjgsIDE5NywgNjgsIDczLCA4NiwgCi0gICAgNjksIDgyLCA3MSwgNjksIDc4LCA2NywgNjksIDEyOCwgNjgsIDczLCA4NCwgODQsIDIwNywgNjgsIDczLCA4MywgODQsIDc5LCAKLSAgICA4MiwgODQsIDczLCA3OSwgNzgsIDEyOCwgNjgsIDczLCA4MywgODQsIDczLCA3OCwgNzEsIDg1LCA3MywgODMsIDcyLCAxMjgsIAotICAgIDY4LCA3MywgODMsIDg0LCA3MywgNzYsIDc2LCAxMjgsIDY4LCA3MywgODMsIDgzLCA3OSwgNzYsIDg2LCA2OSwgNDUsIDUwLCAKLSAgICAxMjgsIDY4LCA3MywgODMsIDgzLCA3OSwgNzYsIDg2LCA2OSwgMTI4LCA2OCwgNzMsIDgzLCA4MCwgNjksIDgyLCA4MywgNzMsIAotICAgIDc5LCA3OCwgMTI4LCA2OCwgNzMsIDgzLCA3NSwgMTI4LCA2OCwgNzMsIDgzLCA3MywgNzcsIDc5LCA4NSwgMTI4LCA2OCwgCi0gICAgNzMsIDgzLCA3MiwgMTI4LCA2OCwgNzMsIDgzLCA2NywgNzksIDc4LCA4NCwgNzMsIDc4LCA4NSwgNzksIDg1LCAyMTEsIDY4LCAKLSAgICA3MywgODMsIDE5NSwgNjgsIDczLCA4MywgNjUsIDgwLCA4MCwgNzksIDczLCA3OCwgODQsIDY5LCAxOTYsIDY4LCA3MywgODMsIAotICAgIDY1LCA2NiwgNzYsIDY5LCAxOTYsIDY4LCA3MywgODIsIDcxLCAxOTMsIDY4LCA3MywgODIsIDY5LCA2NywgODQsIDc2LCAKLSAgICAyMTcsIDY4LCA3MywgODIsIDY5LCA2NywgODQsIDczLCA3OSwgNzgsIDY1LCAyMDQsIDY4LCA3MywgODAsIDg0LCA2OSwgCi0gICAgMTI4LCA2OCwgNzMsIDgwLCA4MCwgNjksIDgyLCAxMjgsIDY4LCA3MywgODAsIDc2LCA3OSwgODUsIDc4LCAxMjgsIDY4LCAKLSAgICA3MywgODAsIDc2LCA3MywgMTI4LCA2OCwgNzMsIDgwLCA3NiwgMjAxLCA2OCwgNzMsIDc4LCA3MSwgNjYsIDY1LCAyMTIsIAotICAgIDY4LCA3MywgMjA2LCA2OCwgNzMsIDc3LCA3NywgNzMsIDc4LCA3MSwgMTI4LCA2OCwgNzMsIDc3LCA3MywgNzgsIDg1LCA4NCwgCi0gICAgNzMsIDc5LCA3OCwgNDUsIDUxLCAxMjgsIDY4LCA3MywgNzcsIDczLCA3OCwgODUsIDg0LCA3MywgNzksIDc4LCA0NSwgNTAsIAotICAgIDEyOCwgNjgsIDczLCA3NywgNzMsIDc4LCA4NSwgODQsIDczLCA3OSwgNzgsIDQ1LCA0OSwgMTI4LCA2OCwgNzMsIDc3LCA3MywgCi0gICAgNzgsIDczLCA4MywgNzIsIDc3LCA2OSwgNzgsIDg0LCAxMjgsIDY4LCA3MywgNzcsIDczLCA2OCwgNzMsIDE5MywgNjgsIDczLCAKLSAgICA3NywgNjksIDc4LCA4MywgNzMsIDc5LCA3OCwgNjUsIDIwNCwgNjgsIDczLCA3NywgNjksIDc4LCA4MywgNzMsIDc5LCAyMDYsIAotICAgIDY4LCA3MywgNzcsIDUwLCAxMjgsIDY4LCA3MywgNzYsIDEyOCwgNjgsIDczLCA3MSwgODIsIDY1LCA4MCwgNzIsIDEyOCwgCi0gICAgNjgsIDczLCA3MSwgODIsIDY1LCA4MCwgMjAwLCA2OCwgNzMsIDcxLCA4MiwgNjUsIDc3LCA3NywgNzksIDIxMSwgNjgsIDczLCAKLSAgICA3MSwgODIsIDY1LCA3NywgNzcsIDE5MywgNjgsIDczLCA3MSwgODIsIDY1LCAyMDUsIDY4LCA3MywgNzEsIDc5LCA4MiwgNzEsIAotICAgIDc5LCA3OCwgMTI4LCA2OCwgNzMsIDcxLCA3OSwgODIsIDcxLCA3OSwgMjA2LCA2OCwgNzMsIDcxLCA2NSwgNzcsIDc3LCA2NSwgCi0gICAgMTI4LCA2OCwgNzMsIDcxLCAxOTMsIDY4LCA3MywgNzAsIDg0LCA3OSwgNzEsIDcxLCA3OSwgMjExLCA2OCwgNzMsIDcwLCAKLSAgICA3OSwgNzgsIDczLCA2NSwgODMsIDEyOCwgNjgsIDczLCA3MCwgNzAsIDczLCA2NywgODUsIDc2LCA4NCwgMjE3LCA2OCwgNzMsIAotICAgIDcwLCA3MCwgNzMsIDY3LCA4NSwgNzYsIDg0LCA3MywgNjksIDgzLCAxMjgsIDY4LCA3MywgNzAsIDcwLCA2OSwgODIsIDY5LCAKLSAgICA3OCwgODQsIDczLCA2NSwgNzYsIDEyOCwgNjgsIDczLCA3MCwgNzAsIDY5LCA4MiwgNjksIDc4LCA2NywgMTk3LCA2OCwgNzMsIAotICAgIDcwLCA2NSwgODQsIDEyOCwgNjgsIDczLCA2OSwgODMsIDczLCA4MywgMTI4LCA2OCwgNzMsIDY5LCA4MywgNzMsIDIxMSwgCi0gICAgNjgsIDczLCA2OSwgODAsIDEyOCwgNjgsIDczLCAxOTcsIDY4LCA3MywgNjYsIDEyOCwgNjgsIDczLCA2NSwgODQsIDc5LCAKLSAgICA3OCwgNzksIDIwNiwgNjgsIDczLCA2NSwgODQsIDc5LCA3OCwgNzMsIDc1LCAyMDEsIDY4LCA3MywgNjUsIDgzLCA4NCwgNzksIAotICAgIDc2LCAyMDEsIDY4LCA3MywgNjUsIDc3LCA3OSwgNzgsIDY4LCA4MywgMTI4LCA2OCwgNzMsIDY1LCA3NywgNzksIDc4LCA2OCwgCi0gICAgMTI4LCA2OCwgNzMsIDY1LCA3NywgNzksIDc4LCAxOTYsIDY4LCA3MywgNjUsIDc3LCA2OSwgODQsIDY5LCAyMTAsIDY4LCAKLSAgICA3MywgNjUsIDc2LCA4OSwgODQsIDczLCA3NSwgNjUsIDEyOCwgNjgsIDczLCA2NSwgNzYsIDg5LCA4NCwgNzMsIDc1LCAxOTMsIAotICAgIDY4LCA3MywgNjUsIDc2LCA2OSwgNjcsIDg0LCA0NSwgMjA4LCA2OCwgNzMsIDY1LCA3MSwgNzksIDc4LCA2NSwgNzYsIDEyOCwgCi0gICAgNjgsIDczLCA2NSwgNzEsIDc5LCA3OCwgNjUsIDIwNCwgNjgsIDczLCA2NSwgNjksIDgyLCA2OSwgODMsIDczLCA5MCwgNjksIAotICAgIDE5NiwgNjgsIDczLCA2NSwgNjksIDgyLCA2OSwgODMsIDczLCA4MywgMTI4LCA2OCwgNzMsIDY1LCA2OSwgODIsIDY5LCA4MywgCi0gICAgNzMsIDIxMSwgNjgsIDcyLCA3OSwgODUsIDEyOCwgNjgsIDcyLCA3OSwgNzksIDEyOCwgNjgsIDcyLCA3OSwgMTI4LCA2OCwgCi0gICAgNzIsIDczLCAxMjgsIDY4LCA3MiwgNzIsIDg1LCAxMjgsIDY4LCA3MiwgNzIsIDc5LCA3OSwgMTI4LCA2OCwgNzIsIDcyLCAKLSAgICA3OSwgMTI4LCA2OCwgNzIsIDcyLCA3MywgMTI4LCA2OCwgNzIsIDcyLCA2OSwgNjksIDEyOCwgNjgsIDcyLCA3MiwgNjksIAotICAgIDEyOCwgNjgsIDcyLCA3MiwgNjUsIDEyOCwgNjgsIDcyLCA2OSwgNjksIDEyOCwgNjgsIDcyLCA2NSwgODIsIDc3LCA2NSwgCi0gICAgMTI4LCA2OCwgNzIsIDY1LCA3NiwgNjksIDg0LCA3MiwgMTI4LCA2OCwgNzIsIDY1LCA3NiwgNjUsIDg0LCA3MiwgMTI4LCAKLSAgICA2OCwgNzIsIDY1LCA3NiwgMTI4LCA2OCwgNzIsIDY1LCA2OCwgNzIsIDY5LCAxMjgsIDY4LCA3MiwgNjUsIDY1LCA3NiwgODUsIAotICAgIDEyOCwgNjgsIDcyLCA2NSwgNjUsIDEyOCwgNjgsIDcyLCA2NSwgMTI4LCA2OCwgNjksIDkwLCAyMDAsIDY4LCA2OSwgODksIAotICAgIDg0LCA2OSwgODIsIDc5LCAyMTMsIDY4LCA2OSwgODksIDg0LCA2OSwgODIsIDc5LCAyMTEsIDY4LCA2OSwgODgsIDczLCA2NSwgCi0gICAgMTI4LCA2OCwgNjksIDg2LCA3MywgNjcsIDE5NywgNjgsIDY5LCA4NiwgNjksIDc2LCA3OSwgODAsIDc3LCA2OSwgNzgsIDg0LCAKLSAgICAxMjgsIDY4LCA2OSwgODUsIDc4LCA3MSwgMTI4LCA2OCwgNjksIDgzLCAyMDMsIDY4LCA2OSwgODMsIDczLCA3MSwgNzgsIAotICAgIDEyOCwgNjgsIDY5LCA4MywgNzMsIDEyOCwgNjgsIDY5LCA4MywgNjcsIDgyLCA3MywgODAsIDg0LCA3MywgNzksIDIwNiwgCi0gICAgNjgsIDY5LCA4MywgNjcsIDY5LCA3OCwgNjgsIDczLCA3OCwgMTk5LCA2OCwgNjksIDgzLCA2NywgNjksIDc4LCA2OCwgNjksIAotICAgIDgyLCAxMjgsIDY4LCA2OSwgODIsIDY5LCA4NCwgNDUsIDcyLCA3MywgNjgsIDY5LCA4NCwgMTI4LCA2OCwgNjksIDgyLCA2OSwgCi0gICAgODQsIDEyOCwgNjgsIDY5LCA4MCwgNjUsIDgyLCA4NCwgODUsIDgyLCA2OSwgMTI4LCA2OCwgNjksIDgwLCA2NSwgODIsIDg0LCAKLSAgICA3NywgNjksIDc4LCAyMTIsIDY4LCA2OSwgODAsIDY1LCA4MiwgODQsIDczLCA3OCwgMTk5LCA2OCwgNjksIDc4LCA4NCwgNzMsIAotICAgIDgzLCA4NCwgODIsIDIxNywgNjgsIDY5LCA3OCwgODQsIDY1LCAyMDQsIDY4LCA2OSwgNzgsIDc5LCA3NywgNzMsIDc4LCA2NSwgCi0gICAgODQsIDc5LCA4MiwgMTI4LCA2OCwgNjksIDc4LCA3OSwgNzcsIDczLCA3OCwgNjUsIDg0LCA3OSwgMjEwLCA2OCwgNjksIDc4LCAKLSAgICA3OCwgNjksIDc4LCAxMjgsIDY4LCA2OSwgNzgsIDcxLCAxMjgsIDY4LCA2OSwgNzgsIDE5NywgNjgsIDY5LCA3OCwgNjUsIAotICAgIDgyLCA3MywgODUsIDIxMSwgNjgsIDY5LCA3NiwgODQsIDY1LCAxMjgsIDY4LCA2OSwgNzYsIDg0LCAxOTMsIDY4LCA2OSwgCi0gICAgNzYsIDg0LCAxMjgsIDY4LCA2OSwgNzYsIDgwLCA3MiwgNzMsIDE5NSwgNjgsIDY5LCA3NiwgNzMsIDg2LCA2OSwgODIsIAotICAgIDIxNywgNjgsIDY5LCA3NiwgNzMsIDg2LCA2OSwgODIsIDY1LCA3OCwgNjcsIDY5LCAxMjgsIDY4LCA2OSwgNzYsIDczLCA3NywgCi0gICAgNzMsIDg0LCA2OSwgODIsIDEyOCwgNjgsIDY5LCA3NiwgNzMsIDc3LCA3MywgODQsIDY5LCAyMTAsIDY4LCA2OSwgNzYsIDczLCAKLSAgICA2NywgNzMsIDc5LCA4NSwgMjExLCA2OCwgNjksIDc2LCA2OSwgODQsIDY5LCAxMjgsIDY4LCA2OSwgNzYsIDY5LCA4NCwgCi0gICAgMTk3LCA2OCwgNjksIDc1LCA2NSwgMTI4LCA2OCwgNjksIDc1LCAxMjgsIDY4LCA2OSwgNzMsIDEyOCwgNjgsIDY5LCA3MiwgCi0gICAgNzMsIDEyOCwgNjgsIDY5LCA3MSwgODIsIDY5LCAxOTcsIDY4LCA2OSwgNzAsIDczLCA3OCwgNzMsIDg0LCA3MywgNzksIDc4LCAKKyAgICAxMjgsIDY4LCA3OSwgNzMsIDEyOCwgNjgsIDc5LCA3MSwgMTI4LCA2OCwgNzksIDE5OSwgNjgsIDc5LCA2OSwgMjExLCA2OCwgCisgICAgNzksIDY4LCA2OSwgNzUsIDY1LCA4NCwgNjUsIDEyOCwgNjgsIDc5LCA2NywgODUsIDc3LCA2OSwgNzgsIDg0LCAxMjgsIDY4LCAKKyAgICA3OSwgNjcsIDg1LCA3NywgNjksIDc4LCAyMTIsIDY4LCA3OSwgNjYsIDgyLCA3OSwgMTI4LCA2OCwgNzksIDY1LCA2NywgNzIsIAorICAgIDY1LCA4MywgNzIsIDc3LCA2OSwgNjksIDEyOCwgNjgsIDc5LCA2NSwgNjcsIDcyLCA2NSwgODMsIDcyLCA3NywgNjksIDE5NywgCisgICAgNjgsIDc5LCA2NSwgMTI4LCA2OCwgNzksIDQ1LCA3OSwgMTI4LCA2OCwgNzcsIDEyOCwgNjgsIDIwNSwgNjgsIDc2LCA4NSwgCisgICAgMTI4LCA2OCwgNzYsIDc5LCAxMjgsIDY4LCA3NiwgNzMsIDEyOCwgNjgsIDc2LCA3MiwgODksIDY1LCAxMjgsIDY4LCA3NiwgCisgICAgNzIsIDY1LCAxMjgsIDY4LCA3NiwgNjksIDY5LCAxMjgsIDY4LCA3NiwgNjUsIDEyOCwgNjgsIDc2LCAxMjgsIDY4LCA3NSwgCisgICAgNjUsIDgyLCAxMjgsIDY4LCA3NSwgNjUsIDIxMCwgNjgsIDc0LCA2OSwgODIsIDg2LCA3MywgMTI4LCA2OCwgNzQsIDY5LCAKKyAgICA4MiwgODYsIDEyOCwgNjgsIDc0LCA2OSwgMTI4LCA2OCwgNzQsIDY1LCAxMjgsIDY4LCA3MywgOTAsIDkwLCAyMTcsIDY4LCAKKyAgICA3MywgODYsIDc5LCA4MiwgNjcsIDE5NywgNjgsIDczLCA4NiwgNzMsIDgzLCA3MywgNzksIDc4LCAxMjgsIDY4LCA3MywgODYsIAorICAgIDczLCA4MywgNzMsIDc5LCAyMDYsIDY4LCA3MywgODYsIDczLCA3OCwgNjUsIDg0LCA3MywgNzksIDc4LCAxMjgsIDY4LCA3MywgCisgICAgODYsIDczLCA2OCwgNjksIDgzLCAxMjgsIDY4LCA3MywgODYsIDczLCA2OCwgNjksIDgyLCA4MywgMTI4LCA2OCwgNzMsIDg2LCAKKyAgICA3MywgNjgsIDY5LCA4MiwgMTI4LCA2OCwgNzMsIDg2LCA3MywgNjgsIDY5LCAxOTYsIDY4LCA3MywgODYsIDczLCA2OCwgNjksIAorICAgIDEyOCwgNjgsIDczLCA4NiwgNzMsIDY4LCAxOTcsIDY4LCA3MywgODYsIDY5LCA4MiwgNzEsIDY5LCA3OCwgNjcsIDY5LCAKKyAgICAxMjgsIDY4LCA3MywgODQsIDg0LCAyMDcsIDY4LCA3MywgODMsIDg0LCA3OSwgODIsIDg0LCA3MywgNzksIDc4LCAxMjgsIAorICAgIDY4LCA3MywgODMsIDg0LCA3MywgNzgsIDcxLCA4NSwgNzMsIDgzLCA3MiwgMTI4LCA2OCwgNzMsIDgzLCA4NCwgNzMsIDc2LCAKKyAgICA3NiwgMTI4LCA2OCwgNzMsIDgzLCA4MywgNzksIDc2LCA4NiwgNjksIDQ1LCA1MCwgMTI4LCA2OCwgNzMsIDgzLCA4MywgNzksIAorICAgIDc2LCA4NiwgNjksIDEyOCwgNjgsIDczLCA4MywgODAsIDY5LCA4MiwgODMsIDczLCA3OSwgNzgsIDEyOCwgNjgsIDczLCA4MywgCisgICAgNzUsIDEyOCwgNjgsIDczLCA4MywgNzMsIDc3LCA3OSwgODUsIDEyOCwgNjgsIDczLCA4MywgNzIsIDEyOCwgNjgsIDczLCAKKyAgICA4MywgNjcsIDc5LCA3OCwgODQsIDczLCA3OCwgODUsIDc5LCA4NSwgMjExLCA2OCwgNzMsIDgzLCAxOTUsIDY4LCA3MywgODMsIAorICAgIDY1LCA4MCwgODAsIDc5LCA3MywgNzgsIDg0LCA2OSwgMTk2LCA2OCwgNzMsIDgzLCA2NSwgNjYsIDc2LCA2OSwgMTk2LCA2OCwgCisgICAgNzMsIDgyLCA3MSwgMTkzLCA2OCwgNzMsIDgyLCA2OSwgNjcsIDg0LCA3NiwgMjE3LCA2OCwgNzMsIDgyLCA2OSwgNjcsIDg0LCAKKyAgICA3MywgNzksIDc4LCA2NSwgMjA0LCA2OCwgNzMsIDgwLCA4NCwgNjksIDEyOCwgNjgsIDczLCA4MCwgODAsIDY5LCA4MiwgCisgICAgMTI4LCA2OCwgNzMsIDgwLCA3NiwgNzksIDg1LCA3OCwgMTI4LCA2OCwgNzMsIDgwLCA3NiwgNzMsIDEyOCwgNjgsIDczLCAKKyAgICA4MCwgNzYsIDIwMSwgNjgsIDczLCA3OCwgNzEsIDY2LCA2NSwgMjEyLCA2OCwgNzMsIDIwNiwgNjgsIDczLCA3NywgNzcsIAorICAgIDczLCA3OCwgNzEsIDEyOCwgNjgsIDczLCA3NywgNzMsIDc4LCA4NSwgODQsIDczLCA3OSwgNzgsIDQ1LCA1MSwgMTI4LCA2OCwgCisgICAgNzMsIDc3LCA3MywgNzgsIDg1LCA4NCwgNzMsIDc5LCA3OCwgNDUsIDUwLCAxMjgsIDY4LCA3MywgNzcsIDczLCA3OCwgODUsIAorICAgIDg0LCA3MywgNzksIDc4LCA0NSwgNDksIDEyOCwgNjgsIDczLCA3NywgNzMsIDc4LCA3MywgODMsIDcyLCA3NywgNjksIDc4LCAKKyAgICA4NCwgMTI4LCA2OCwgNzMsIDc3LCA3MywgNjgsIDczLCAxOTMsIDY4LCA3MywgNzcsIDY5LCA3OCwgODMsIDczLCA3OSwgNzgsIAorICAgIDY1LCAyMDQsIDY4LCA3MywgNzcsIDY5LCA3OCwgODMsIDczLCA3OSwgMjA2LCA2OCwgNzMsIDc3LCA1MCwgMTI4LCA2OCwgCisgICAgNzMsIDc2LCAxMjgsIDY4LCA3MywgNzEsIDgyLCA2NSwgODAsIDcyLCAxMjgsIDY4LCA3MywgNzEsIDgyLCA2NSwgODAsIAorICAgIDIwMCwgNjgsIDczLCA3MSwgODIsIDY1LCA3NywgNzcsIDc5LCAyMTEsIDY4LCA3MywgNzEsIDgyLCA2NSwgNzcsIDc3LCAKKyAgICAxOTMsIDY4LCA3MywgNzEsIDgyLCA2NSwgMjA1LCA2OCwgNzMsIDcxLCA3OSwgODIsIDcxLCA3OSwgNzgsIDEyOCwgNjgsIAorICAgIDczLCA3MSwgNzksIDgyLCA3MSwgNzksIDIwNiwgNjgsIDczLCA3MSwgNjUsIDc3LCA3NywgNjUsIDEyOCwgNjgsIDczLCA3MSwgCisgICAgMTkzLCA2OCwgNzMsIDcwLCA4NCwgNzksIDcxLCA3MSwgNzksIDIxMSwgNjgsIDczLCA3MCwgNzksIDc4LCA3MywgNjUsIDgzLCAKKyAgICAxMjgsIDY4LCA3MywgNzAsIDcwLCA3MywgNjcsIDg1LCA3NiwgODQsIDIxNywgNjgsIDczLCA3MCwgNzAsIDczLCA2NywgODUsIAorICAgIDc2LCA4NCwgNzMsIDY5LCA4MywgMTI4LCA2OCwgNzMsIDcwLCA3MCwgNjksIDgyLCA2OSwgNzgsIDg0LCA3MywgNjUsIDc2LCAKKyAgICAxMjgsIDY4LCA3MywgNzAsIDcwLCA2OSwgODIsIDY5LCA3OCwgNjcsIDE5NywgNjgsIDczLCA3MCwgNjUsIDg0LCAxMjgsIAorICAgIDY4LCA3MywgNjksIDgzLCA3MywgODMsIDEyOCwgNjgsIDczLCA2OSwgODMsIDczLCAyMTEsIDY4LCA3MywgNjksIDgzLCA2OSwgCisgICAgMjA0LCA2OCwgNzMsIDY5LCA4MCwgMTI4LCA2OCwgNzMsIDE5NywgNjgsIDczLCA2NiwgMTI4LCA2OCwgNzMsIDY1LCA4NCwgCisgICAgNzksIDc4LCA3OSwgMjA2LCA2OCwgNzMsIDY1LCA4NCwgNzksIDc4LCA3MywgNzUsIDIwMSwgNjgsIDczLCA2NSwgODMsIDg0LCAKKyAgICA3OSwgNzYsIDIwMSwgNjgsIDczLCA2NSwgNzcsIDc5LCA3OCwgNjgsIDgzLCAxMjgsIDY4LCA3MywgNjUsIDc3LCA3OSwgNzgsIAorICAgIDY4LCAxMjgsIDY4LCA3MywgNjUsIDc3LCA3OSwgNzgsIDE5NiwgNjgsIDczLCA2NSwgNzcsIDY5LCA4NCwgNjksIDIxMCwgCisgICAgNjgsIDczLCA2NSwgNzYsIDg5LCA4NCwgNzMsIDc1LCA2NSwgMTI4LCA2OCwgNzMsIDY1LCA3NiwgODksIDg0LCA3MywgNzUsIAorICAgIDE5MywgNjgsIDczLCA2NSwgNzYsIDY5LCA2NywgODQsIDQ1LCAyMDgsIDY4LCA3MywgNjUsIDcxLCA3OSwgNzgsIDY1LCA3NiwgCisgICAgMTI4LCA2OCwgNzMsIDY1LCA3MSwgNzksIDc4LCA2NSwgMjA0LCA2OCwgNzMsIDY1LCA2OSwgODIsIDY5LCA4MywgNzMsIDkwLCAKKyAgICA2OSwgMTk2LCA2OCwgNzMsIDY1LCA2OSwgODIsIDY5LCA4MywgNzMsIDgzLCA0NSwgODIsIDczLCA3OCwgNzEsIDEyOCwgNjgsIAorICAgIDczLCA2NSwgNjksIDgyLCA2OSwgODMsIDczLCA4MywgMTI4LCA2OCwgNzMsIDY1LCA2OSwgODIsIDY5LCA4MywgNzMsIDIxMSwgCisgICAgNjgsIDcyLCA3OSwgODUsIDEyOCwgNjgsIDcyLCA3OSwgNzksIDEyOCwgNjgsIDcyLCA3OSwgMTI4LCA2OCwgNzIsIDczLCAKKyAgICA3MywgMTI4LCA2OCwgNzIsIDczLCAxMjgsIDY4LCA3MiwgNzIsIDg1LCAxMjgsIDY4LCA3MiwgNzIsIDc5LCA3OSwgMTI4LCAKKyAgICA2OCwgNzIsIDcyLCA3OSwgMTI4LCA2OCwgNzIsIDcyLCA3MywgMTI4LCA2OCwgNzIsIDcyLCA2OSwgNjksIDEyOCwgNjgsIAorICAgIDcyLCA3MiwgNjksIDEyOCwgNjgsIDcyLCA3MiwgNjUsIDEyOCwgNjgsIDcyLCA2OSwgNjksIDEyOCwgNjgsIDcyLCA2NSwgCisgICAgODIsIDc3LCA2NSwgMTI4LCA2OCwgNzIsIDY1LCA3NywgNjksIDY4LCA3MiwgMTI4LCA2OCwgNzIsIDY1LCA3NiwgNjksIDg0LCAKKyAgICA3MiwgMTI4LCA2OCwgNzIsIDY1LCA3NiwgNjUsIDg0LCA3MiwgMTI4LCA2OCwgNzIsIDY1LCA3NiwgMTI4LCA2OCwgNzIsIAorICAgIDY1LCA2OCwgNzIsIDY5LCAxMjgsIDY4LCA3MiwgNjUsIDY1LCA3NiwgODUsIDEyOCwgNjgsIDcyLCA2NSwgNjUsIDEyOCwgCisgICAgNjgsIDcyLCA2NSwgMTI4LCA2OCwgNjksIDkwLCAyMDAsIDY4LCA2OSwgODksIDg0LCA2OSwgODIsIDc5LCAyMTMsIDY4LCAKKyAgICA2OSwgODksIDg0LCA2OSwgODIsIDc5LCAyMTEsIDY4LCA2OSwgODgsIDczLCA2NSwgMTI4LCA2OCwgNjksIDg2LCA3MywgNjcsIAorICAgIDE5NywgNjgsIDY5LCA4NiwgNjksIDc2LCA3OSwgODAsIDc3LCA2OSwgNzgsIDg0LCAxMjgsIDY4LCA2OSwgODUsIDc4LCA3MSwgCisgICAgMTI4LCA2OCwgNjksIDgzLCA3NSwgODQsIDc5LCAyMDgsIDY4LCA2OSwgODMsIDIwMywgNjgsIDY5LCA4MywgNzMsIDcxLCAKKyAgICA3OCwgMTI4LCA2OCwgNjksIDgzLCA3MywgMTI4LCA2OCwgNjksIDgzLCA2OSwgODIsIDg0LCAxMjgsIDY4LCA2OSwgODMsIAorICAgIDY5LCA4MiwgMjEyLCA2OCwgNjksIDgzLCA2OSwgODIsIDY5LCAyMTIsIDY4LCA2OSwgODMsIDY3LCA4MiwgNzMsIDgwLCA4NCwgCisgICAgNzMsIDc5LCAyMDYsIDY4LCA2OSwgODMsIDY3LCA2OSwgNzgsIDY4LCA3MywgNzgsIDE5OSwgNjgsIDY5LCA4MywgNjcsIDY5LCAKKyAgICA3OCwgNjgsIDY5LCA4MiwgMTI4LCA2OCwgNjksIDgyLCA2OSwgODQsIDQ1LCA3MiwgNzMsIDY4LCA2OSwgODQsIDEyOCwgNjgsIAorICAgIDY5LCA4MiwgNjksIDg0LCAxMjgsIDY4LCA2OSwgODIsIDY5LCA3NiwgNzMsIDY3LCAyMTIsIDY4LCA2OSwgODAsIDY1LCA4MiwgCisgICAgODQsIDg1LCA4MiwgNjksIDEyOCwgNjgsIDY5LCA4MCwgNjUsIDgyLCA4NCwgNzcsIDY5LCA3OCwgMjEyLCA2OCwgNjksIDgwLCAKKyAgICA2NSwgODIsIDg0LCA3MywgNzgsIDE5OSwgNjgsIDY5LCA3OCwgODQsIDczLCA4MywgODQsIDgyLCAyMTcsIDY4LCA2OSwgNzgsIAorICAgIDg0LCA2NSwgMjA0LCA2OCwgNjksIDc4LCA3OSwgNzcsIDczLCA3OCwgNjUsIDg0LCA3OSwgODIsIDEyOCwgNjgsIDY5LCA3OCwgCisgICAgNzksIDc3LCA3MywgNzgsIDY1LCA4NCwgNzksIDIxMCwgNjgsIDY5LCA3OCwgNzgsIDY5LCA3OCwgMTI4LCA2OCwgNjksIDc4LCAKKyAgICA3MSwgMTI4LCA2OCwgNjksIDc4LCAxOTcsIDY4LCA2OSwgNzgsIDY1LCA4MiwgNzMsIDg1LCAyMTEsIDY4LCA2OSwgNzYsIAorICAgIDg0LCA2NSwgMTI4LCA2OCwgNjksIDc2LCA4NCwgMTkzLCA2OCwgNjksIDc2LCA4NCwgMTI4LCA2OCwgNjksIDc2LCA4MCwgCisgICAgNzIsIDczLCAxOTUsIDY4LCA2OSwgNzYsIDczLCA4NiwgNjksIDgyLCAyMTcsIDY4LCA2OSwgNzYsIDczLCA4NiwgNjksIDgyLCAKKyAgICA2NSwgNzgsIDY3LCA2OSwgMTI4LCA2OCwgNjksIDc2LCA3MywgNzcsIDczLCA4NCwgNjksIDgyLCAxMjgsIDY4LCA2OSwgNzYsIAorICAgIDczLCA3NywgNzMsIDg0LCA2OSwgMjEwLCA2OCwgNjksIDc2LCA3MywgNjcsIDczLCA3OSwgODUsIDIxMSwgNjgsIDY5LCA3NiwgCisgICAgNjksIDg0LCA2OSwgMTI4LCA2OCwgNjksIDc2LCA2OSwgODQsIDE5NywgNjgsIDY5LCA3NSwgNjUsIDEyOCwgNjgsIDY5LCAKKyAgICA3NSwgMTI4LCA2OCwgNjksIDczLCAxMjgsIDY4LCA2OSwgNzIsIDczLCAxMjgsIDY4LCA2OSwgNzEsIDgyLCA2OSwgNjksIAorICAgIDgzLCAxMjgsIDY4LCA2OSwgNzEsIDgyLCA2OSwgMTk3LCA2OCwgNjksIDcwLCA3MywgNzgsIDczLCA4NCwgNzMsIDc5LCA3OCwgCiAgICAgMTI4LCA2OCwgNjksIDcwLCA2OSwgNjcsIDg0LCA3MywgODYsIDY5LCA3OCwgNjksIDgzLCAyMTEsIDY4LCA2OSwgNjksIDgyLCAKICAgICAxMjgsIDY4LCA2OSwgNjksIDgwLCA3NiwgODksIDEyOCwgNjgsIDY5LCA2OSwgNzYsIDEyOCwgNjgsIDY5LCA2NywgODIsIAogICAgIDY5LCA4MywgNjcsIDY5LCA3OCwgNjgsIDc5LCAxMjgsIDY4LCA2OSwgNjcsIDgyLCA2OSwgNjUsIDgzLCA2OSwgMTI4LCA2OCwgCi0gICAgNjksIDY3LCA3OSwgODIsIDY1LCA4NCwgNzMsIDg2LCAxOTcsIDY4LCA2OSwgNjcsIDc5LCA4MiwgNjUsIDg0LCA3MywgNzksIAotICAgIDc4LCAxMjgsIDY4LCA2OSwgNjcsIDczLCA4MywgNzMsIDg2LCA2OSwgNzgsIDY5LCA4MywgODMsIDEyOCwgNjgsIDY5LCA2NywgCi0gICAgNzMsIDc3LCA2NSwgMjA0LCA2OCwgNjksIDY3LCA3MywgNjgsIDg1LCA3OSwgODUsIDIxMSwgNjgsIDY5LCA2NywgNjksIDc3LCAKLSAgICA2NiwgNjksIDgyLCAxMjgsIDY4LCA2OSwgNjcsIDY1LCA4OSwgNjksIDY4LCAxMjgsIDY4LCA2OSwgNjYsIDczLCAyMTIsIAotICAgIDY4LCA2OSwgNjUsIDg0LCA3MiwgMTI4LCA2OCwgNjksIDY1LCA2OCwgMTI4LCA2OCwgNjgsIDg3LCA2NSwgMTI4LCA2OCwgCi0gICAgNjgsIDg1LCA4OCwgMTI4LCA2OCwgNjgsIDg1LCA4NCwgMTI4LCA2OCwgNjgsIDg1LCA4MiwgODgsIDEyOCwgNjgsIDY4LCAKLSAgICA4NSwgODIsIDEyOCwgNjgsIDY4LCA4NSwgODAsIDEyOCwgNjgsIDY4LCA4NSwgNzksIDg4LCAxMjgsIDY4LCA2OCwgODUsIAotICAgIDc5LCA4MCwgMTI4LCA2OCwgNjgsIDg1LCA3OSwgMTI4LCA2OCwgNjgsIDg1LCAxMjgsIDY4LCA2OCwgNzksIDg4LCAxMjgsIAotICAgIDY4LCA2OCwgNzksIDg0LCAxMjgsIDY4LCA2OCwgNzksIDgwLCAxMjgsIDY4LCA2OCwgNzksIDY1LCAxMjgsIDY4LCA2OCwgCi0gICAgNzMsIDg4LCAxMjgsIDY4LCA2OCwgNzMsIDg0LCAxMjgsIDY4LCA2OCwgNzMsIDgwLCAxMjgsIDY4LCA2OCwgNzMsIDY5LCAKLSAgICA4OCwgMTI4LCA2OCwgNjgsIDczLCA2OSwgODAsIDEyOCwgNjgsIDY4LCA3MywgNjksIDEyOCwgNjgsIDY4LCA3MywgMTI4LCAKLSAgICA2OCwgNjgsIDcyLCA4NSwgMTI4LCA2OCwgNjgsIDcyLCA3OSwgMTI4LCA2OCwgNjgsIDcyLCA3MywgMTI4LCA2OCwgNjgsIAotICAgIDcyLCA2OSwgNjksIDEyOCwgNjgsIDY4LCA3MiwgNjksIDEyOCwgNjgsIDY4LCA3MiwgNjUsIDY1LCAxMjgsIDY4LCA2OCwgCi0gICAgNzIsIDY1LCAxMjgsIDY4LCA2OCwgNjksIDg4LCAxMjgsIDY4LCA2OCwgNjksIDgwLCAxMjgsIDY4LCA2OCwgNjksIDY5LCAKLSAgICAxMjgsIDY4LCA2OCwgNjksIDEyOCwgNjgsIDY4LCA2OCwgNzIsIDY1LCAxMjgsIDY4LCA2OCwgNjgsIDY1LCAxMjgsIDY4LCAKLSAgICA2OCwgNjUsIDg5LCA2NSwgNzgsIDc4LCA2NSwgMTI4LCA2OCwgNjgsIDY1LCA4OCwgMTI4LCA2OCwgNjgsIDY1LCA4NCwgCi0gICAgMTI4LCA2OCwgNjgsIDY1LCA4MCwgMTI4LCA2OCwgNjgsIDY1LCA3NiwgMTI4LCA2OCwgNjgsIDY1LCAyMDQsIDY4LCA2OCwgCi0gICAgNjUsIDcyLCA2NSwgNzYsIDEyOCwgNjgsIDY4LCA2NSwgNzIsIDY1LCAyMDQsIDY4LCA2OCwgNjUsIDY1LCAxMjgsIDY4LCAKLSAgICA2NywgODMsIDEyOCwgNjgsIDY3LCA1MiwgMTI4LCA2OCwgNjcsIDUxLCAxMjgsIDY4LCA2NywgNTAsIDEyOCwgNjgsIDY3LCAKLSAgICA0OSwgMTI4LCA2OCwgMTk0LCA2OCwgNjUsIDg5LCA0NSwgNzgsIDczLCA3MSwgNzIsIDg0LCAxMjgsIDY4LCA2NSwgMjE3LCAKKyAgICA2OSwgNjcsIDgyLCA2OSwgNjUsIDgzLCAxOTcsIDY4LCA2OSwgNjcsIDc5LCA4MiwgNjUsIDg0LCA3MywgODYsIDE5NywgNjgsIAorICAgIDY5LCA2NywgNzksIDgyLCA2NSwgODQsIDczLCA3OSwgNzgsIDEyOCwgNjgsIDY5LCA2NywgNzMsIDgzLCA3MywgODYsIDY5LCAKKyAgICA3OCwgNjksIDgzLCA4MywgMTI4LCA2OCwgNjksIDY3LCA3MywgNzcsIDY1LCAyMDQsIDY4LCA2OSwgNjcsIDczLCA2OCwgODUsIAorICAgIDc5LCA4NSwgMjExLCA2OCwgNjksIDY3LCA2OSwgNzcsIDY2LCA2OSwgODIsIDEyOCwgNjgsIDY5LCA2NywgNjUsIDg5LCA2OSwgCisgICAgNjgsIDEyOCwgNjgsIDY5LCA2NiwgNzMsIDIxMiwgNjgsIDY5LCA2NSwgODQsIDcyLCAxMjgsIDY4LCA2OSwgNjUsIDY4LCAKKyAgICAxMjgsIDY4LCA2OCwgODcsIDY1LCAxMjgsIDY4LCA2OCwgODUsIDg4LCAxMjgsIDY4LCA2OCwgODUsIDg0LCAxMjgsIDY4LCAKKyAgICA2OCwgODUsIDgyLCA4OCwgMTI4LCA2OCwgNjgsIDg1LCA4MiwgMTI4LCA2OCwgNjgsIDg1LCA4MCwgMTI4LCA2OCwgNjgsIAorICAgIDg1LCA3OSwgODgsIDEyOCwgNjgsIDY4LCA4NSwgNzksIDgwLCAxMjgsIDY4LCA2OCwgODUsIDc5LCAxMjgsIDY4LCA2OCwgCisgICAgODUsIDEyOCwgNjgsIDY4LCA3OSwgODgsIDEyOCwgNjgsIDY4LCA3OSwgODQsIDEyOCwgNjgsIDY4LCA3OSwgODAsIDEyOCwgCisgICAgNjgsIDY4LCA3OSwgNjUsIDEyOCwgNjgsIDY4LCA3MywgODgsIDEyOCwgNjgsIDY4LCA3MywgODQsIDEyOCwgNjgsIDY4LCAKKyAgICA3MywgODAsIDEyOCwgNjgsIDY4LCA3MywgNjksIDg4LCAxMjgsIDY4LCA2OCwgNzMsIDY5LCA4MCwgMTI4LCA2OCwgNjgsIAorICAgIDczLCA2OSwgMTI4LCA2OCwgNjgsIDczLCAxMjgsIDY4LCA2OCwgNzIsIDg1LCAxMjgsIDY4LCA2OCwgNzIsIDc5LCAxMjgsIAorICAgIDY4LCA2OCwgNzIsIDczLCAxMjgsIDY4LCA2OCwgNzIsIDY5LCA2OSwgMTI4LCA2OCwgNjgsIDcyLCA2OSwgMTI4LCA2OCwgCisgICAgNjgsIDcyLCA2NSwgNjUsIDEyOCwgNjgsIDY4LCA3MiwgNjUsIDEyOCwgNjgsIDY4LCA2OSwgODgsIDEyOCwgNjgsIDY4LCAKKyAgICA2OSwgODAsIDEyOCwgNjgsIDY4LCA2OSwgNjksIDEyOCwgNjgsIDY4LCA2OSwgMTI4LCA2OCwgNjgsIDY4LCA3MiwgNjUsIAorICAgIDEyOCwgNjgsIDY4LCA2OCwgNjUsIDEyOCwgNjgsIDY4LCA2NSwgODksIDY1LCA3OCwgNzgsIDY1LCAxMjgsIDY4LCA2OCwgCisgICAgNjUsIDg4LCAxMjgsIDY4LCA2OCwgNjUsIDg0LCAxMjgsIDY4LCA2OCwgNjUsIDgwLCAxMjgsIDY4LCA2OCwgNjUsIDc2LCAKKyAgICAxMjgsIDY4LCA2OCwgNjUsIDIwNCwgNjgsIDY4LCA2NSwgNzIsIDY1LCA3NiwgMTI4LCA2OCwgNjgsIDY1LCA3MiwgNjUsIAorICAgIDIwNCwgNjgsIDY4LCA2NSwgNjUsIDEyOCwgNjgsIDY3LCA4MywgMTI4LCA2OCwgNjcsIDcyLCA2OSwgMTI4LCA2OCwgNjcsIAorICAgIDUyLCAxMjgsIDY4LCA2NywgNTEsIDEyOCwgNjgsIDY3LCA1MCwgMTI4LCA2OCwgNjcsIDQ5LCAxMjgsIDY4LCAxOTQsIDY4LCAKKyAgICA2NSwgODksIDQ1LCA3OCwgNzMsIDcxLCA3MiwgODQsIDEyOCwgNjgsIDY1LCAyMTcsIDY4LCA2NSwgODcsIDY2LCAxMjgsIAogICAgIDY4LCA2NSwgODYsIDczLCA4OSwgNjUsIDc4LCA3MywgMTI4LCA2OCwgNjUsIDg2LCA3MywgNjgsIDEyOCwgNjgsIDY1LCA4NCwgCiAgICAgMTk3LCA2OCwgNjUsIDgzLCA3MywgNjUsIDEyOCwgNjgsIDY1LCA4MywgNzMsIDE5MywgNjgsIDY1LCA4MywgNzIsIDY5LCAKICAgICAxOTYsIDY4LCA2NSwgODMsIDcyLCAxMjgsIDY4LCA2NSwgODMsIDIwMCwgNjgsIDY1LCA4MywgNjksIDczLCA2NSwgMTI4LCAKQEAgLTQwNjEsMjg1ICs0MjY2LDMxMCBAQAogICAgIDY5LCA4NCwgNzIsIDEyOCwgNjgsIDY1LCA3NiwgNjksIDg0LCAxMjgsIDY4LCA2NSwgNzYsIDY5LCAyMTIsIDY4LCA2NSwgCiAgICAgNzYsIDY4LCA2NSwgMTI4LCA2OCwgNjUsIDc2LCA2NSwgODQsIDcyLCAxMjgsIDY4LCA2NSwgNzYsIDY1LCA4NCwgMjAwLCAKICAgICA2OCwgNjUsIDc2LCA2NSwgODQsIDEyOCwgNjgsIDY1LCA3MywgODIsIDEyOCwgNjgsIDY1LCA3MywgNzgsIDcxLCAxMjgsIAotICAgIDY4LCA2NSwgNzIsIDg5LCA2NSwgNjUsIDg1LCA4MywgNzIsIDQ1LCA1MCwgMTI4LCA2OCwgNjUsIDcyLCA4OSwgNjUsIDY1LCAKLSAgICA4NSwgODMsIDcyLCAxMjgsIDY4LCA2NSwgNzEsIDgzLCAxMjgsIDY4LCA2NSwgNzEsIDcxLCA2OSwgODIsIDEyOCwgNjgsIAotICAgIDY1LCA3MSwgNzEsIDY5LCAyMTAsIDY4LCA2NSwgNzEsIDY5LCA4MywgNzIsIDEyOCwgNjgsIDY1LCA3MSwgNjksIDgzLCAKLSAgICAyMDAsIDY4LCA2NSwgNzEsIDY2LCA2NSwgODMsIDczLCA3OCwgNzgsIDY1LCAxMjgsIDY4LCA2NSwgNzEsIDY1LCAyMTgsIAotICAgIDY4LCA2NSwgNzEsIDY1LCA3NiwgNzEsIDY1LCAxMjgsIDY4LCA2NSwgMTk5LCA2OCwgNjUsIDY5LCA3OCwgNzEsIDEyOCwgCi0gICAgNjgsIDY1LCA2OSwgMTk5LCA2OCwgNjUsIDY4LCAxMjgsIDY4LCA2NSwgMTk2LCA2OCwgNjUsIDY1LCA4MywgODUsIDEyOCwgCi0gICAgNjgsIDY1LCA2NSwgNjgsIDcyLCA4NSwgMTI4LCA2OCwgNDgsIDU0LCA1NSwgNzIsIDEyOCwgNjgsIDQ4LCA1NCwgNTUsIDcxLCAKLSAgICAxMjgsIDY4LCA0OCwgNTQsIDU1LCA3MCwgMTI4LCA2OCwgNDgsIDU0LCA1NSwgNjksIDEyOCwgNjgsIDQ4LCA1NCwgNTUsIAotICAgIDY4LCAxMjgsIDY4LCA0OCwgNTQsIDU1LCA2NywgMTI4LCA2OCwgNDgsIDU0LCA1NSwgNjYsIDEyOCwgNjgsIDQ4LCA1NCwgCi0gICAgNTUsIDY1LCAxMjgsIDY4LCA0OCwgNTQsIDU1LCAxMjgsIDY4LCA0OCwgNTQsIDU0LCAxMjgsIDY4LCA0OCwgNTQsIDUzLCAKLSAgICAxMjgsIDY4LCA0OCwgNTQsIDUyLCAxMjgsIDY4LCA0OCwgNTQsIDUxLCAxMjgsIDY4LCA0OCwgNTQsIDUwLCAxMjgsIDY4LCAKLSAgICA0OCwgNTQsIDQ5LCAxMjgsIDY4LCA0OCwgNTQsIDQ4LCAxMjgsIDY4LCA0OCwgNTMsIDU3LCAxMjgsIDY4LCA0OCwgNTMsIAotICAgIDU2LCAxMjgsIDY4LCA0OCwgNTMsIDU1LCAxMjgsIDY4LCA0OCwgNTMsIDU0LCAxMjgsIDY4LCA0OCwgNTMsIDUzLCAxMjgsIAotICAgIDY4LCA0OCwgNTMsIDUyLCA2NSwgMTI4LCA2OCwgNDgsIDUzLCA1MiwgMTI4LCA2OCwgNDgsIDUzLCA1MSwgMTI4LCA2OCwgCi0gICAgNDgsIDUzLCA1MCwgNjUsIDEyOCwgNjgsIDQ4LCA1MywgNTAsIDEyOCwgNjgsIDQ4LCA1MywgNDksIDEyOCwgNjgsIDQ4LCAKLSAgICA1MywgNDgsIDczLCAxMjgsIDY4LCA0OCwgNTMsIDQ4LCA3MiwgMTI4LCA2OCwgNDgsIDUzLCA0OCwgNzEsIDEyOCwgNjgsIAotICAgIDQ4LCA1MywgNDgsIDcwLCAxMjgsIDY4LCA0OCwgNTMsIDQ4LCA2OSwgMTI4LCA2OCwgNDgsIDUzLCA0OCwgNjgsIDEyOCwgCi0gICAgNjgsIDQ4LCA1MywgNDgsIDY3LCAxMjgsIDY4LCA0OCwgNTMsIDQ4LCA2NiwgMTI4LCA2OCwgNDgsIDUzLCA0OCwgNjUsIAotICAgIDEyOCwgNjgsIDQ4LCA1MywgNDgsIDEyOCwgNjgsIDQ4LCA1MiwgNTcsIDEyOCwgNjgsIDQ4LCA1MiwgNTYsIDY1LCAxMjgsIAotICAgIDY4LCA0OCwgNTIsIDU2LCAxMjgsIDY4LCA0OCwgNTIsIDU1LCAxMjgsIDY4LCA0OCwgNTIsIDU0LCA2NSwgMTI4LCA2OCwgCi0gICAgNDgsIDUyLCA1NCwgMTI4LCA2OCwgNDgsIDUyLCA1MywgMTI4LCA2OCwgNDgsIDUyLCA1MiwgMTI4LCA2OCwgNDgsIDUyLCAKLSAgICA1MSwgMTI4LCA2OCwgNDgsIDUyLCA1MCwgMTI4LCA2OCwgNDgsIDUyLCA0OSwgMTI4LCA2OCwgNDgsIDUyLCA0OCwgMTI4LCAKLSAgICA2OCwgNDgsIDUxLCA1NywgMTI4LCA2OCwgNDgsIDUxLCA1NiwgMTI4LCA2OCwgNDgsIDUxLCA1NSwgMTI4LCA2OCwgNDgsIAotICAgIDUxLCA1NCwgMTI4LCA2OCwgNDgsIDUxLCA1MywgMTI4LCA2OCwgNDgsIDUxLCA1MiwgNjUsIDEyOCwgNjgsIDQ4LCA1MSwgCi0gICAgNTIsIDEyOCwgNjgsIDQ4LCA1MSwgNTEsIDEyOCwgNjgsIDQ4LCA1MSwgNTAsIDEyOCwgNjgsIDQ4LCA1MSwgNDksIDY1LCAKLSAgICAxMjgsIDY4LCA0OCwgNTEsIDQ5LCAxMjgsIDY4LCA0OCwgNTEsIDQ4LCAxMjgsIDY4LCA0OCwgNTAsIDU3LCAxMjgsIDY4LCAKLSAgICA0OCwgNTAsIDU2LCAxMjgsIDY4LCA0OCwgNTAsIDU1LCA2NSwgMTI4LCA2OCwgNDgsIDUwLCA1NSwgMTI4LCA2OCwgNDgsIAotICAgIDUwLCA1NCwgMTI4LCA2OCwgNDgsIDUwLCA1MywgMTI4LCA2OCwgNDgsIDUwLCA1MiwgMTI4LCA2OCwgNDgsIDUwLCA1MSwgCi0gICAgMTI4LCA2OCwgNDgsIDUwLCA1MCwgMTI4LCA2OCwgNDgsIDUwLCA0OSwgMTI4LCA2OCwgNDgsIDUwLCA0OCwgMTI4LCA2OCwgCi0gICAgNDgsIDQ5LCA1NywgMTI4LCA2OCwgNDgsIDQ5LCA1NiwgMTI4LCA2OCwgNDgsIDQ5LCA1NSwgMTI4LCA2OCwgNDgsIDQ5LCAKLSAgICA1NCwgMTI4LCA2OCwgNDgsIDQ5LCA1MywgMTI4LCA2OCwgNDgsIDQ5LCA1MiwgMTI4LCA2OCwgNDgsIDQ5LCA1MSwgMTI4LCAKLSAgICA2OCwgNDgsIDQ5LCA1MCwgMTI4LCA2OCwgNDgsIDQ5LCA0OSwgMTI4LCA2OCwgNDgsIDQ5LCA0OCwgMTI4LCA2OCwgNDgsIAotICAgIDQ4LCA1NywgMTI4LCA2OCwgNDgsIDQ4LCA1NiwgNjUsIDEyOCwgNjgsIDQ4LCA0OCwgNTYsIDEyOCwgNjgsIDQ4LCA0OCwgCi0gICAgNTUsIDEyOCwgNjgsIDQ4LCA0OCwgNTQsIDEyOCwgNjgsIDQ4LCA0OCwgNTMsIDEyOCwgNjgsIDQ4LCA0OCwgNTIsIDEyOCwgCi0gICAgNjgsIDQ4LCA0OCwgNTEsIDEyOCwgNjgsIDQ4LCA0OCwgNTAsIDEyOCwgNjgsIDQ4LCA0OCwgNDksIDEyOCwgNjcsIDg5LCAKLSAgICA4OCwgMTI4LCA2NywgODksIDg0LCAxMjgsIDY3LCA4OSwgODIsIDg4LCAxMjgsIDY3LCA4OSwgODIsIDY5LCA3OCwgNjUsIAotICAgIDczLCAxOTUsIDY3LCA4OSwgODIsIDEyOCwgNjcsIDg5LCA4MCwgODIsIDczLCA3OSwgMjEyLCA2NywgODksIDgwLCA2OSwgCi0gICAgODIsIDg1LCA4MywgMTI4LCA2NywgODksIDgwLCAxMjgsIDY3LCA4OSwgNzYsIDczLCA3OCwgNjgsIDgyLCA3MywgNjcsIDczLCAKLSAgICA4NCwgODksIDEyOCwgNjcsIDg5LCA2NywgNzYsIDc5LCA3OCwgNjksIDEyOCwgNjcsIDg5LCA2NSwgMTI4LCA2NywgODksIAotICAgIDEyOCwgNjcsIDg3LCA3OSwgNzksIDEyOCwgNjcsIDg3LCA3OSwgMTI4LCA2NywgODcsIDczLCA3MywgMTI4LCA2NywgODcsIAotICAgIDczLCAxMjgsIDY3LCA4NywgNjksIDc5LCA4MiwgODQsIDcyLCAxMjgsIDY3LCA4NywgNjksIDEyOCwgNjcsIDg3LCA2NSwgCi0gICAgNjUsIDEyOCwgNjcsIDg1LCA4OCwgMTI4LCA2NywgODUsIDg1LCAxMjgsIDY3LCA4NSwgMjEyLCA2NywgODUsIDgzLCA4NCwgCi0gICAgNzksIDc3LCA4MywgMTI4LCA2NywgODUsIDgzLCA4NCwgNzksIDc3LCA2OSwgMjEwLCA2NywgODUsIDgzLCA4NCwgNjUsIDgyLCAKLSAgICA2OCwgMTI4LCA2NywgODUsIDgyLCA4OCwgMTI4LCA2NywgODUsIDgyLCA4NiwgNzMsIDc4LCAxOTksIDY3LCA4NSwgODIsIAotICAgIDg2LCA2OSwgMTk2LCA2NywgODUsIDgyLCA4NiwgNjksIDEyOCwgNjcsIDg1LCA4MiwgODYsIDE5NywgNjcsIDg1LCA4MiwgCi0gICAgODMsIDczLCA4NiwgMTk3LCA2NywgODUsIDgyLCA4MiwgMjE3LCA2NywgODUsIDgyLCA4MiwgNjksIDc4LCA4NCwgMTI4LCAKLSAgICA2NywgODUsIDgyLCA4MiwgNjksIDc4LCAyMTIsIDY3LCA4NSwgODIsIDc2LCAyMTcsIDY3LCA4NSwgODIsIDc2LCAxMjgsIAotICAgIDY3LCA4NSwgODIsIDEyOCwgNjcsIDg1LCA4MCwgMTI4LCA2NywgODUsIDc5LCA4OCwgMTI4LCA2NywgODUsIDc5LCA4MCwgCi0gICAgMTI4LCA2NywgODUsIDc5LCAxMjgsIDY3LCA4NSwgMjA1LCA2NywgODUsIDY2LCA2OSwgNjgsIDEyOCwgNjcsIDg1LCA2NiwgCi0gICAgMTk3LCA2NywgODUsIDY1LCA4NCwgODIsIDczLCA3NiwgNzYsIDc5LCAxMjgsIDY3LCA4NSwgNjUsIDg0LCA4MiwgNzMsIDc2LCAKLSAgICA3NiwgMjA3LCA2NywgODUsIDEyOCwgNjcsIDgzLCA3MywgMTI4LCA2NywgODIsIDg5LCA4MywgODQsIDY1LCAyMDQsIDY3LCAKLSAgICA4MiwgODksIDgwLCA4NCwgNzksIDcxLCA4MiwgNjUsIDc3LCA3NywgNzMsIDE5NSwgNjcsIDgyLCA4OSwgNzMsIDc4LCAxOTksIAotICAgIDY3LCA4MiwgODUsIDkwLCA2OSwgNzMsIDgyLCAyMDcsIDY3LCA4MiwgODUsIDY3LCA3MywgNjYsIDc2LCA2OSwgNDUsIDUzLCAKLSAgICAxMjgsIDY3LCA4MiwgODUsIDY3LCA3MywgNjYsIDc2LCA2OSwgNDUsIDUyLCAxMjgsIDY3LCA4MiwgODUsIDY3LCA3MywgNjYsIAotICAgIDc2LCA2OSwgNDUsIDUxLCAxMjgsIDY3LCA4MiwgODUsIDY3LCA3MywgNjYsIDc2LCA2OSwgNDUsIDUwLCAxMjgsIDY3LCA4MiwgCi0gICAgODUsIDY3LCA3MywgNjYsIDc2LCA2OSwgMTI4LCA2NywgODIsIDc5LCA4NywgNzgsIDEyOCwgNjcsIDgyLCA3OSwgODMsIDgzLCAKLSAgICA3MywgNzgsIDcxLCAxMjgsIDY3LCA4MiwgNzksIDgzLCA4MywgNzMsIDc4LCAxOTksIDY3LCA4MiwgNzksIDgzLCA4MywgNzIsIAotICAgIDY1LCA4NCwgNjcsIDIwMCwgNjcsIDgyLCA3OSwgODMsIDgzLCA2OSwgNjgsIDQ1LCA4NCwgNjUsIDczLCA3NiwgMTI4LCA2NywgCi0gICAgODIsIDc5LCA4MywgODMsIDY5LCAxOTYsIDY3LCA4MiwgNzksIDgzLCA4MywgNjYsIDc5LCA3OCwgNjksIDgzLCAxMjgsIDY3LCAKLSAgICA4MiwgNzksIDgzLCA4MywgMTI4LCA2NywgODIsIDc5LCA4MywgMjExLCA2NywgODIsIDc5LCA4MCwgMTI4LCA2NywgODIsIAotICAgIDc5LCA3MywgODgsIDEyOCwgNjcsIDgyLCA3OSwgNjcsIDg1LCAyMTEsIDY3LCA4MiwgNzksIDY3LCA3OSwgNjgsIDczLCA3NiwgCi0gICAgNjksIDEyOCwgNjcsIDgyLCA2OSwgODMsIDY3LCA2OSwgNzgsIDg0LCAxMjgsIDY3LCA4MiwgNjksIDgzLCA2NywgNjksIDc4LCAKLSAgICAyMTIsIDY3LCA4MiwgNjksIDY4LCA3MywgMjEyLCA2NywgODIsIDY5LCA2NSwgODQsIDczLCA4NiwgMTk3LCA2NywgODIsIAotICAgIDY5LCA2NSwgNzcsIDEyOCwgNjcsIDgyLCA2NSwgNjcsIDc1LCA2OSwgODIsIDEyOCwgNjcsIDgyLCAxMjgsIDY3LCA3OSwgCi0gICAgODgsIDEyOCwgNjcsIDc5LCA4NywgMTI4LCA2NywgNzksIDIxNSwgNjcsIDc5LCA4NiwgNjksIDgyLCAxMjgsIDY3LCA3OSwgCi0gICAgODUsIDgwLCA3NiwgMTk3LCA2NywgNzksIDg1LCA3OCwgODQsIDczLCA3OCwgMTk5LCA2NywgNzksIDg1LCA3OCwgODQsIDY5LCAKLSAgICA4MiwgODMsIDczLCA3OCwgNzUsIDEyOCwgNjcsIDc5LCA4NSwgNzgsIDg0LCA2OSwgODIsIDY2LCA3OSwgODIsIDY5LCAxMjgsIAotICAgIDY3LCA3OSwgODUsIDc4LCA2NywgNzMsIDIwNCwgNjcsIDc5LCA4NCwgMTI4LCA2NywgNzksIDgyLCA4MiwgNjksIDgzLCA4MCwgCi0gICAgNzksIDc4LCA2OCwgMjExLCA2NywgNzksIDgyLCA4MiwgNjksIDY3LCA4NCwgMTI4LCA2NywgNzksIDgyLCA4MCwgODMsIDY5LCAKLSAgICAxMjgsIDY3LCA3OSwgODIsIDgwLCA3OSwgODIsIDY1LCA4NCwgNzMsIDc5LCA3OCwgMTI4LCA2NywgNzksIDgyLCA3OSwgNzgsIAotICAgIDczLCA4MywgMTI4LCA2NywgNzksIDgyLCA3OCwgNjksIDgyLCA4MywgMTI4LCA2NywgNzksIDgyLCA3OCwgNjksIDgyLCAKLSAgICAxMjgsIDY3LCA3OSwgODIsIDc4LCA2OSwgMjEwLCA2NywgNzksIDgwLCA4OSwgODIsIDczLCA3MSwgNzIsIDg0LCAxMjgsIAotICAgIDY3LCA3OSwgODAsIDg5LCA4MiwgNzMsIDcxLCA3MiwgMjEyLCA2NywgNzksIDgwLCA4OSwgMTI4LCA2NywgNzksIDgwLCA4MiwgCi0gICAgNzksIDY4LCA4NSwgNjcsIDg0LCAxMjgsIDY3LCA3OSwgODAsIDgwLCA2OSwgODIsIDQ1LCA1MCwgMTI4LCA2NywgNzksIDgwLCAKLSAgICA4MCwgNjksIDgyLCAxMjgsIDY3LCA3OSwgODAsIDEyOCwgNjcsIDc5LCA3OSwgNzYsIDEyOCwgNjcsIDc5LCA3OSwgNzUsIAotICAgIDczLCA3OCwgNzEsIDEyOCwgNjcsIDc5LCA3OSwgNzUsIDczLCA2OSwgMTI4LCA2NywgNzksIDc5LCA3NSwgNjksIDE5NiwgCi0gICAgNjcsIDc5LCA3OSwgMTI4LCA2NywgNzksIDc4LCA4NiwgNjksIDgyLCA3MSwgNzMsIDc4LCAxOTksIDY3LCA3OSwgNzgsIDg2LCAKLSAgICA2OSwgNzgsIDczLCA2OSwgNzgsIDY3LCAxOTcsIDY3LCA3OSwgNzgsIDg0LCA4MiwgNzksIDc2LCAxMjgsIDY3LCA3OSwgNzgsIAotICAgIDg0LCA4MiwgNzksIDIwNCwgNjcsIDc5LCA3OCwgODQsIDgyLCA2NSwgODIsIDczLCA2OSwgODQsIDg5LCAxMjgsIDY3LCA3OSwgCi0gICAgNzgsIDg0LCA4MiwgNjUsIDY3LCA4NCwgNzMsIDc5LCA3OCwgMTI4LCA2NywgNzksIDc4LCA4NCwgNzksIDg1LCA4MiwgNjksIAotICAgIDE5NiwgNjcsIDc5LCA3OCwgODQsIDc5LCA4NSwgMjEwLCA2NywgNzksIDc4LCA4NCwgNjksIDc4LCA4NCwgNzMsIDc5LCA3OCwgCi0gICAgMTI4LCA2NywgNzksIDc4LCA4NCwgNjksIDc3LCA4MCwgNzYsIDY1LCA4NCwgNzMsIDc5LCA3OCwgMTI4LCA2NywgNzksIDc4LCAKLSAgICA4NCwgNjUsIDczLCA3OCwgMjExLCA2NywgNzksIDc4LCA4NCwgNjUsIDczLCA3OCwgNzMsIDc4LCAxOTksIDY3LCA3OSwgNzgsIAotICAgIDg0LCA2NSwgNzMsIDIwNiwgNjcsIDc5LCA3OCwgODQsIDY1LCA2NywgODQsIDEyOCwgNjcsIDc5LCA3OCwgODMsIDg0LCA4MiwgCi0gICAgODUsIDY3LCA4NCwgNzMsIDc5LCAyMDYsIDY3LCA3OSwgNzgsIDgzLCA4NCwgNjUsIDc4LCA4NCwgMTI4LCA2NywgNzksIDc4LCAKLSAgICA4MywgODQsIDY1LCA3OCwgMjEyLCA2NywgNzksIDc4LCA4MywgODQsIDY1LCA3OCwgNjcsIDg5LCAxMjgsIDY3LCA3OSwgNzgsIAotICAgIDgzLCA2OSwgNjcsIDg1LCA4NCwgNzMsIDg2LCAxOTcsIDY3LCA3OSwgNzgsIDc0LCA4NSwgNzgsIDY3LCA4NCwgNzMsIDc5LCAKLSAgICA3OCwgMTI4LCA2NywgNzksIDc4LCA3NCwgODUsIDcxLCA2NSwgODQsIDE5NywgNjcsIDc5LCA3OCwgNzQsIDc5LCA3MywgNzgsIAotICAgIDczLCA3OCwgMTk5LCA2NywgNzksIDc4LCA3MywgNjcsIDY1LCAyMDQsIDY3LCA3OSwgNzgsIDcxLCA4MiwgODUsIDY5LCA3OCwgCi0gICAgMjEyLCA2NywgNzksIDc4LCA3MSwgODIsIDY1LCA4NCwgODUsIDc2LCA2NSwgODQsIDczLCA3OSwgNzgsIDEyOCwgNjcsIDc5LCAKLSAgICA3OCwgNzAsIDg1LCA4MywgNjksIDE5NiwgNjcsIDc5LCA3OCwgNzAsIDc5LCA4NSwgNzgsIDY4LCA2OSwgMTk2LCA2NywgNzksIAotICAgIDc4LCA3MCwgNzYsIDczLCA2NywgODQsIDEyOCwgNjcsIDc5LCA3OCwgNzAsIDY5LCA4NCwgODQsIDIwMSwgNjcsIDc5LCA3OCwgCi0gICAgNjcsIDY1LCA4NiwgNjksIDQ1LCA4MywgNzMsIDY4LCA2OSwgMTk2LCA2NywgNzksIDc4LCA2NywgNjUsIDg2LCA2OSwgNDUsIAotICAgIDgwLCA3OSwgNzMsIDc4LCA4NCwgNjksIDE5NiwgNjcsIDc5LCA3OCwgMTI4LCA2NywgNzksIDc3LCA4MCwgODUsIDg0LCA2OSwgCi0gICAgODIsIDEyOCwgNjcsIDc5LCA3NywgODAsIDc5LCA4MywgNzMsIDg0LCA3MywgNzksIDc4LCAxMjgsIDY3LCA3OSwgNzcsIDgwLCAKLSAgICA3OSwgODMsIDczLCA4NCwgNzMsIDc5LCAyMDYsIDY3LCA3OSwgNzcsIDgwLCA3NiwgNzMsIDY1LCA3OCwgNjcsIDY5LCAxMjgsIAotICAgIDY3LCA3OSwgNzcsIDgwLCA3NiwgNjksIDg0LCA3MywgNzksIDc4LCAxMjgsIDY3LCA3OSwgNzcsIDgwLCA3NiwgNjksIDg0LCAKLSAgICA2OSwgNjgsIDEyOCwgNjcsIDc5LCA3NywgODAsIDc2LCA2OSwgNzcsIDY5LCA3OCwgODQsIDEyOCwgNjcsIDc5LCA3NywgODAsIAotICAgIDY1LCA4MiwgNjksIDEyOCwgNjcsIDc5LCA3NywgNzcsIDc5LCAyMDYsIDY3LCA3OSwgNzcsIDc3LCA2OSwgODIsIDY3LCA3MywgCi0gICAgNjUsIDIwNCwgNjcsIDc5LCA3NywgNzcsIDY1LCA3OCwgNjgsIDEyOCwgNjcsIDc5LCA3NywgNzcsIDY1LCAxMjgsIDY3LCAKLSAgICA3OSwgNzcsIDc3LCAxOTMsIDY3LCA3OSwgNzcsIDY5LCA4NCwgMTI4LCA2NywgNzksIDc3LCA2NiwgMTI4LCA2NywgNzksIAotICAgIDc2LCA4NSwgNzcsIDc4LCAxMjgsIDY3LCA3OSwgNzYsIDc5LCA4MiwgMTI4LCA2NywgNzksIDc2LCA3NiwgNzMsIDgzLCA3MywgCi0gICAgNzksIDIwNiwgNjcsIDc5LCA3NiwgNzYsIDEyOCwgNjcsIDc5LCA3NiwgMTk2LCA2NywgNzksIDcwLCA3MCwgNzMsIDc4LCAKLSAgICAxMjgsIDY3LCA3OSwgNjksIDc4LCA3MSwgMTI4LCA2NywgNzksIDY5LCA3OCwgMTk5LCA2NywgNzksIDY4LCA2NSwgMTI4LCAKLSAgICA2NywgNzksIDY3LCA3NSwgODQsIDY1LCA3MywgMjA0LCA2NywgNzksIDY1LCA4MywgODQsIDY5LCA4MiwgMTI4LCA2NywgNzksIAotICAgIDY1LCAxMjgsIDY3LCA3OSwgMTI4LCA2NywgNzcsIDEyOCwgNjcsIDIwNSwgNjcsIDc2LCA4NSwgODMsIDg0LCA2OSwgMjEwLCAKLSAgICA2NywgNzYsIDg1LCA2NiwgODMsIDEyOCwgNjcsIDc2LCA4NSwgNjYsIDQ1LCA4MywgODAsIDc5LCA3NSwgNjksIDE5NiwgNjcsIAotICAgIDc2LCA4NSwgNjYsIDEyOCwgNjcsIDc2LCA4NSwgMTk0LCA2NywgNzYsIDc5LCA4NiwgNjksIDgyLCAxMjgsIDY3LCA3NiwgCi0gICAgNzksIDg1LCA2OCwgMTI4LCA2NywgNzYsIDc5LCA4NSwgMTk2LCA2NywgNzYsIDc5LCA4NCwgNzIsIDY5LCA4MywgMTI4LCAKLSAgICA2NywgNzYsIDc5LCA4NCwgNzIsIDEyOCwgNjcsIDc2LCA3OSwgODMsIDY5LCA4NCwgMTI4LCA2NywgNzYsIDc5LCA4MywgNjksIAotICAgIDc4LCA2OSwgODMsIDgzLCAxMjgsIDY3LCA3NiwgNzksIDgzLCA2OSwgNjgsIDEyOCwgNjcsIDc2LCA3OSwgODMsIDE5NywgCi0gICAgNjcsIDc2LCA3OSwgNjcsIDc1LCA4NywgNzMsIDgzLCAxOTcsIDY3LCA3NiwgNzksIDY3LCAyMDMsIDY3LCA3NiwgNzMsIDg2LCAKLSAgICA3MywgODMsIDEyOCwgNjcsIDc2LCA3MywgODAsIDY2LCA3OSwgNjUsIDgyLCA2OCwgMTI4LCA2NywgNzYsIDczLCA3OCwgNzUsIAotICAgIDczLCA3OCwgMTk5LCA2NywgNzYsIDczLCA3OCwgNzEsIDczLCA3OCwgMTk5LCA2NywgNzYsIDczLCA3NywgNjUsIDY3LCA4NSwgCi0gICAgODMsIDEyOCwgNjcsIDc2LCA3MywgNzAsIDcwLCAxMjgsIDY3LCA3NiwgNzMsIDY3LCA3NSwgMTI4LCA2NywgNzYsIDY5LCAKLSAgICA3MCwgNDUsIDUwLCAxMjgsIDY3LCA3NiwgNjksIDcwLCA0NSwgNDksIDEyOCwgNjcsIDc2LCA2OSwgNzAsIDEyOCwgNjcsIAotICAgIDc2LCA2OSwgMTk4LCA2NywgNzYsIDY5LCA2NSwgODYsIDY5LCA4MiwgMTI4LCA2NywgNzYsIDY5LCA2NSwgMjEwLCA2NywgCi0gICAgNzYsIDY1LCA4NywgMTI4LCA2NywgNzYsIDY1LCA4MCwgODAsIDczLCA3OCwgMTk5LCA2NywgNzYsIDY1LCA4MCwgODAsIDY5LCAKLSAgICAyMTAsIDY3LCA3NiwgNjUsIDc4LCAxMjgsIDY3LCA3NiwgNjUsIDczLCA3NywgMTI4LCA2NywgNzYsIDEyOCwgNjcsIDczLCAKLSAgICA4OCwgMTI4LCA2NywgNzMsIDg2LCA3MywgNzYsIDczLCA2NSwgNzgsIDEyOCwgNjcsIDczLCA4NCwgODksIDgzLCA2NywgNjUsIAotICAgIDgwLCAxOTcsIDY3LCA3MywgODQsIDEyOCwgNjcsIDczLCA4MiwgNjcsIDg1LCAyMTEsIDY3LCA3MywgODIsIDY3LCA4NSwgCi0gICAgNzcsIDcwLCA3NiwgNjksIDg4LCAxMjgsIDY3LCA3MywgODIsIDY3LCA4NSwgNzcsIDcwLCA3NiwgNjksIDIxNiwgNjcsIDczLCAKLSAgICA4MiwgNjcsIDg1LCA3NiwgNjUsIDg0LCA3MywgNzksIDIwNiwgNjcsIDczLCA4MiwgNjcsIDc2LCA2OSwgODMsIDEyOCwgNjcsIAotICAgIDczLCA4MiwgNjcsIDc2LCA2OSwgMTI4LCA2NywgNzMsIDgwLCAxMjgsIDY3LCA3MywgNzgsIDc4LCA2NSwgNjYsIDY1LCA4MiwgCi0gICAgMTI4LCA2NywgNzMsIDc4LCA2OSwgNzcsIDY1LCAxMjgsIDY3LCA3MywgNzMsIDEyOCwgNjcsIDczLCA2OSwgODgsIDEyOCwgCi0gICAgNjcsIDczLCA2OSwgODUsIDY3LCA0NSwgODMsIDgzLCA2NSwgNzgsIDcxLCA4MCwgNzMsIDY5LCA4NSwgODAsIDEyOCwgNjcsIAotICAgIDczLCA2OSwgODUsIDY3LCA0NSwgODAsIDczLCA2OSwgODUsIDgwLCAxMjgsIDY3LCA3MywgNjksIDg1LCA2NywgNDUsIDczLCAKLSAgICA2OSwgODUsIDc4LCA3MSwgMTI4LCA2NywgNzMsIDY5LCA4NSwgMTk1LCA2NywgNzMsIDY5LCA4NCwgMTI4LCA2NywgNzMsIAotICAgIDY5LCA4MCwgMTI4LCA2NywgNzMsIDY5LCAxMjgsIDY3LCA3MiwgODksIDg4LCAxMjgsIDY3LCA3MiwgODksIDg0LCAxMjgsIAotICAgIDY3LCA3MiwgODksIDgyLCA4OCwgMTI4LCA2NywgNzIsIDg5LCA4MiwgMTI4LCA2NywgNzIsIDg5LCA4MCwgMTI4LCA2NywgCi0gICAgNzIsIDg1LCA4OCwgMTI4LCA2NywgNzIsIDg1LCA4MiwgODgsIDEyOCwgNjcsIDcyLCA4NSwgODIsIDY3LCA3MiwgMTI4LCAKLSAgICA2NywgNzIsIDg1LCA4MiwgMTI4LCA2NywgNzIsIDg1LCA4MCwgMTI4LCA2NywgNzIsIDg1LCA3OSwgODgsIDEyOCwgNjcsIAotICAgIDcyLCA4NSwgNzksIDg0LCAxMjgsIDY3LCA3MiwgODUsIDc5LCA4MCwgMTI4LCA2NywgNzIsIDg1LCA3OSwgMTI4LCA2NywgCi0gICAgNzIsIDg1LCA3NiwgNjUsIDEyOCwgNjcsIDcyLCA4NSwgMTI4LCA2NywgNzIsIDgyLCA4OSwgODMsIDY1LCA3OCwgODQsIDcyLCAKLSAgICA2OSwgNzcsIDg1LCA3NywgMTI4LCA2NywgNzIsIDgyLCA3OSwgNzgsIDc5LCA4NSwgMTI4LCA2NywgNzIsIDgyLCA3OSwgNzgsIAotICAgIDc5LCA3OCwgMTI4LCA2NywgNzIsIDgyLCA3OSwgNzcsIDE5MywgNjcsIDcyLCA4MiwgNzksIDE5MywgNjcsIDcyLCA4MiwgCi0gICAgNzMsIDg2LCA3MywgMTI4LCA2NywgNzIsIDgyLCA3MywgODMsIDg0LCA3NywgNjUsIDgzLCAxMjgsIDY3LCA3MiwgODIsIDczLCAKLSAgICA4MywgODQsIDc3LCA2NSwgMjExLCA2NywgNzIsIDc5LCA4OCwgMTI4LCA2NywgNzIsIDc5LCA4NCwgMTI4LCA2NywgNzIsIAotICAgIDc5LCA4MiwgNjksIDg2LCA3NywgMTkzLCA2NywgNzIsIDc5LCA4MCwgMTI4LCA2NywgNzIsIDc5LCA3NSwgNjksIDEyOCwgCi0gICAgNjcsIDcyLCA3OSwgNjksIDEyOCwgNjcsIDcyLCA3OSwgNjcsIDc5LCA3NiwgNjUsIDg0LCAxOTcsIDY3LCA3MiwgNzksIDY1LCAKLSAgICAxMjgsIDY3LCA3MiwgMjA3LCA2NywgNzIsIDczLCA4NCwgODUsIDY5LCA4NSwgNzcsIDgzLCA4MywgNjUsIDc4LCA3MSwgODMsIAotICAgIDczLCA3OSwgODMsIDEyOCwgNjcsIDcyLCA3MywgODQsIDg1LCA2OSwgODUsIDc3LCA4MywgODMsIDY1LCA3OCwgNzEsIDY3LCAKLSAgICA3MywgNjksIDg1LCA2NywgMTI4LCA2NywgNzIsIDczLCA4NCwgODUsIDY5LCA4NSwgNzcsIDgzLCA3MywgNzksIDgzLCAxMjgsIAotICAgIDY3LCA3MiwgNzMsIDg0LCA4NSwgNjksIDg1LCA3NywgNjcsIDczLCA2OSwgODUsIDY3LCAxMjgsIDY3LCA3MiwgNzMsIDg0LCAKLSAgICA4NSwgNjksIDg1LCA3NywgNjcsIDcyLCA3MywgNjksIDg1LCA2NywgNzIsIDEyOCwgNjcsIDcyLCA3MywgODIsIDc5LCA3OCwgCi0gICAgMTI4LCA2NywgNzIsIDczLCA4MiwgNjksIDg0LCAxMjgsIDY3LCA3MiwgNzMsIDc4LCA3MSwgMTI4LCA2NywgNzIsIDczLCAKLSAgICA3OCwgNjksIDgzLCAxOTcsIDY3LCA3MiwgNzMsIDc4LCAxMjgsIDY3LCA3MiwgNzMsIDc3LCA2OSwgMTI4LCA2NywgNzIsIAotICAgIDczLCA3NiwgNzYsIDIxMywgNjcsIDcyLCA3MywgNzYsIDY4LCA4MiwgNjksIDIwNiwgNjcsIDcyLCA3MywgNzYsIDY4LCAKLSAgICAxMjgsIDY3LCA3MiwgNzMsIDc2LCAxMjgsIDY3LCA3MiwgNzMsIDc1LCAyMDEsIDY3LCA3MiwgNzMsIDY5LCA4NSwgNjcsIAotICAgIDcyLCA0NSwgNzUsIDcyLCA3MywgNjksIDg1LCA3NSwgNzIsIDEyOCwgNjcsIDcyLCA3MywgNjksIDg1LCA2NywgNzIsIDQ1LCAKLSAgICA3MiwgNzMsIDY5LCA4NSwgNzIsIDEyOCwgNjcsIDcyLCA3MywgNjksIDg1LCA2NywgMjAwLCA2NywgNzIsIDczLCA2NywgNzUsIAotICAgIDY5LCA3OCwgMTI4LCA2NywgNzIsIDczLCA2NywgNzUsIDEyOCwgNjcsIDcyLCA3MywgMTI4LCA2NywgNzIsIDIwMSwgNjcsIAotICAgIDcyLCA3MiwgNjUsIDEyOCwgNjcsIDcyLCA2OSwgODgsIDEyOCwgNjcsIDcyLCA2OSwgODYsIDgyLCA3OSwgMjA2LCA2NywgCi0gICAgNzIsIDY5LCA4NCwgMTI4LCA2NywgNzIsIDY5LCA4MywgODQsIDc4LCA4NSwgODQsIDEyOCwgNjcsIDcyLCA2OSwgODMsIAotICAgIDIxMSwgNjcsIDcyLCA2OSwgODIsIDgyLCAyMTcsIDY3LCA3MiwgNjksIDgyLCA4MiwgNzMsIDY5LCA4MywgMTI4LCA2NywgCisgICAgNjgsIDY1LCA3MywgMTI4LCA2OCwgNjUsIDcyLCA4OSwgNjUsIDY1LCA4NSwgODMsIDcyLCA0NSwgNTAsIDEyOCwgNjgsIDY1LCAKKyAgICA3MiwgODksIDY1LCA2NSwgODUsIDgzLCA3MiwgMTI4LCA2OCwgNjUsIDcxLCA4MywgMTI4LCA2OCwgNjUsIDcxLCA3MSwgNjksIAorICAgIDgyLCAxMjgsIDY4LCA2NSwgNzEsIDcxLCA2OSwgMjEwLCA2OCwgNjUsIDcxLCA2OSwgODMsIDcyLCAxMjgsIDY4LCA2NSwgCisgICAgNzEsIDY5LCA4MywgMjAwLCA2OCwgNjUsIDcxLCA2NiwgNjUsIDgzLCA3MywgNzgsIDc4LCA2NSwgMTI4LCA2OCwgNjUsIDcxLCAKKyAgICA2NSwgMjE4LCA2OCwgNjUsIDcxLCA2NSwgNzYsIDcxLCA2NSwgMTI4LCA2OCwgNjUsIDcxLCA1MSwgMTI4LCA2OCwgNjUsIAorICAgIDE5OSwgNjgsIDY1LCA2OSwgNzgsIDcxLCAxMjgsIDY4LCA2NSwgNjksIDE5OSwgNjgsIDY1LCA2OCwgMTI4LCA2OCwgNjUsIAorICAgIDE5NiwgNjgsIDY1LCA2NSwgODMsIDg1LCAxMjgsIDY4LCA2NSwgNjUsIDY4LCA3MiwgODUsIDEyOCwgNjgsIDQ4LCA1NCwgCisgICAgNTUsIDcyLCAxMjgsIDY4LCA0OCwgNTQsIDU1LCA3MSwgMTI4LCA2OCwgNDgsIDU0LCA1NSwgNzAsIDEyOCwgNjgsIDQ4LCAKKyAgICA1NCwgNTUsIDY5LCAxMjgsIDY4LCA0OCwgNTQsIDU1LCA2OCwgMTI4LCA2OCwgNDgsIDU0LCA1NSwgNjcsIDEyOCwgNjgsIAorICAgIDQ4LCA1NCwgNTUsIDY2LCAxMjgsIDY4LCA0OCwgNTQsIDU1LCA2NSwgMTI4LCA2OCwgNDgsIDU0LCA1NSwgMTI4LCA2OCwgCisgICAgNDgsIDU0LCA1NCwgMTI4LCA2OCwgNDgsIDU0LCA1MywgMTI4LCA2OCwgNDgsIDU0LCA1MiwgMTI4LCA2OCwgNDgsIDU0LCAKKyAgICA1MSwgMTI4LCA2OCwgNDgsIDU0LCA1MCwgMTI4LCA2OCwgNDgsIDU0LCA0OSwgMTI4LCA2OCwgNDgsIDU0LCA0OCwgMTI4LCAKKyAgICA2OCwgNDgsIDUzLCA1NywgMTI4LCA2OCwgNDgsIDUzLCA1NiwgMTI4LCA2OCwgNDgsIDUzLCA1NSwgMTI4LCA2OCwgNDgsIAorICAgIDUzLCA1NCwgMTI4LCA2OCwgNDgsIDUzLCA1MywgMTI4LCA2OCwgNDgsIDUzLCA1MiwgNjUsIDEyOCwgNjgsIDQ4LCA1MywgCisgICAgNTIsIDEyOCwgNjgsIDQ4LCA1MywgNTEsIDEyOCwgNjgsIDQ4LCA1MywgNTAsIDY1LCAxMjgsIDY4LCA0OCwgNTMsIDUwLCAKKyAgICAxMjgsIDY4LCA0OCwgNTMsIDQ5LCAxMjgsIDY4LCA0OCwgNTMsIDQ4LCA3MywgMTI4LCA2OCwgNDgsIDUzLCA0OCwgNzIsIAorICAgIDEyOCwgNjgsIDQ4LCA1MywgNDgsIDcxLCAxMjgsIDY4LCA0OCwgNTMsIDQ4LCA3MCwgMTI4LCA2OCwgNDgsIDUzLCA0OCwgCisgICAgNjksIDEyOCwgNjgsIDQ4LCA1MywgNDgsIDY4LCAxMjgsIDY4LCA0OCwgNTMsIDQ4LCA2NywgMTI4LCA2OCwgNDgsIDUzLCAKKyAgICA0OCwgNjYsIDEyOCwgNjgsIDQ4LCA1MywgNDgsIDY1LCAxMjgsIDY4LCA0OCwgNTMsIDQ4LCAxMjgsIDY4LCA0OCwgNTIsIAorICAgIDU3LCAxMjgsIDY4LCA0OCwgNTIsIDU2LCA2NSwgMTI4LCA2OCwgNDgsIDUyLCA1NiwgMTI4LCA2OCwgNDgsIDUyLCA1NSwgCisgICAgMTI4LCA2OCwgNDgsIDUyLCA1NCwgNjUsIDEyOCwgNjgsIDQ4LCA1MiwgNTQsIDEyOCwgNjgsIDQ4LCA1MiwgNTMsIDEyOCwgCisgICAgNjgsIDQ4LCA1MiwgNTIsIDEyOCwgNjgsIDQ4LCA1MiwgNTEsIDEyOCwgNjgsIDQ4LCA1MiwgNTAsIDEyOCwgNjgsIDQ4LCAKKyAgICA1MiwgNDksIDEyOCwgNjgsIDQ4LCA1MiwgNDgsIDEyOCwgNjgsIDQ4LCA1MSwgNTcsIDEyOCwgNjgsIDQ4LCA1MSwgNTYsIAorICAgIDEyOCwgNjgsIDQ4LCA1MSwgNTUsIDEyOCwgNjgsIDQ4LCA1MSwgNTQsIDEyOCwgNjgsIDQ4LCA1MSwgNTMsIDEyOCwgNjgsIAorICAgIDQ4LCA1MSwgNTIsIDY1LCAxMjgsIDY4LCA0OCwgNTEsIDUyLCAxMjgsIDY4LCA0OCwgNTEsIDUxLCAxMjgsIDY4LCA0OCwgCisgICAgNTEsIDUwLCAxMjgsIDY4LCA0OCwgNTEsIDQ5LCA2NSwgMTI4LCA2OCwgNDgsIDUxLCA0OSwgMTI4LCA2OCwgNDgsIDUxLCAKKyAgICA0OCwgMTI4LCA2OCwgNDgsIDUwLCA1NywgMTI4LCA2OCwgNDgsIDUwLCA1NiwgMTI4LCA2OCwgNDgsIDUwLCA1NSwgNjUsIAorICAgIDEyOCwgNjgsIDQ4LCA1MCwgNTUsIDEyOCwgNjgsIDQ4LCA1MCwgNTQsIDEyOCwgNjgsIDQ4LCA1MCwgNTMsIDEyOCwgNjgsIAorICAgIDQ4LCA1MCwgNTIsIDEyOCwgNjgsIDQ4LCA1MCwgNTEsIDEyOCwgNjgsIDQ4LCA1MCwgNTAsIDEyOCwgNjgsIDQ4LCA1MCwgCisgICAgNDksIDEyOCwgNjgsIDQ4LCA1MCwgNDgsIDEyOCwgNjgsIDQ4LCA0OSwgNTcsIDEyOCwgNjgsIDQ4LCA0OSwgNTYsIDEyOCwgCisgICAgNjgsIDQ4LCA0OSwgNTUsIDEyOCwgNjgsIDQ4LCA0OSwgNTQsIDEyOCwgNjgsIDQ4LCA0OSwgNTMsIDEyOCwgNjgsIDQ4LCAKKyAgICA0OSwgNTIsIDEyOCwgNjgsIDQ4LCA0OSwgNTEsIDEyOCwgNjgsIDQ4LCA0OSwgNTAsIDEyOCwgNjgsIDQ4LCA0OSwgNDksIAorICAgIDEyOCwgNjgsIDQ4LCA0OSwgNDgsIDEyOCwgNjgsIDQ4LCA0OCwgNTcsIDEyOCwgNjgsIDQ4LCA0OCwgNTYsIDY1LCAxMjgsIAorICAgIDY4LCA0OCwgNDgsIDU2LCAxMjgsIDY4LCA0OCwgNDgsIDU1LCAxMjgsIDY4LCA0OCwgNDgsIDU0LCAxMjgsIDY4LCA0OCwgCisgICAgNDgsIDUzLCAxMjgsIDY4LCA0OCwgNDgsIDUyLCAxMjgsIDY4LCA0OCwgNDgsIDUxLCAxMjgsIDY4LCA0OCwgNDgsIDUwLCAKKyAgICAxMjgsIDY4LCA0OCwgNDgsIDQ5LCAxMjgsIDY3LCA4OSwgODgsIDEyOCwgNjcsIDg5LCA4NCwgMTI4LCA2NywgODksIDgyLCAKKyAgICA4OCwgMTI4LCA2NywgODksIDgyLCA2OSwgNzgsIDY1LCA3MywgMTk1LCA2NywgODksIDgyLCAxMjgsIDY3LCA4OSwgODAsIAorICAgIDgyLCA3MywgNzksIDIxMiwgNjcsIDg5LCA4MCwgNjksIDgyLCA4NSwgODMsIDEyOCwgNjcsIDg5LCA4MCwgMTI4LCA2NywgCisgICAgODksIDc2LCA3MywgNzgsIDY4LCA4MiwgNzMsIDY3LCA3MywgODQsIDg5LCAxMjgsIDY3LCA4OSwgNjcsIDc2LCA3OSwgNzgsIAorICAgIDY5LCAxMjgsIDY3LCA4OSwgNjUsIDg5LCAxMjgsIDY3LCA4OSwgNjUsIDg3LCAxMjgsIDY3LCA4OSwgNjUsIDEyOCwgNjcsIAorICAgIDg3LCA3OSwgNzksIDEyOCwgNjcsIDg3LCA3OSwgMTI4LCA2NywgODcsIDczLCA3MywgMTI4LCA2NywgODcsIDczLCAxMjgsIAorICAgIDY3LCA4NywgNjksIDc5LCA4MiwgODQsIDcyLCAxMjgsIDY3LCA4NywgNjksIDEyOCwgNjcsIDg3LCA2NSwgNjUsIDEyOCwgCisgICAgNjcsIDg1LCA4OCwgMTI4LCA2NywgODUsIDg1LCAxMjgsIDY3LCA4NSwgMjEyLCA2NywgODUsIDgzLCA4NCwgNzksIDc3LCAKKyAgICA4MywgMTI4LCA2NywgODUsIDgzLCA4NCwgNzksIDc3LCA2OSwgMjEwLCA2NywgODUsIDgzLCA4NCwgNjUsIDgyLCA2OCwgCisgICAgMTI4LCA2NywgODUsIDgzLCA4MCwgMTI4LCA2NywgODUsIDgyLCA4OCwgMTI4LCA2NywgODUsIDgyLCA4NiwgNzMsIDc4LCAKKyAgICAxOTksIDY3LCA4NSwgODIsIDg2LCA2OSwgMTk2LCA2NywgODUsIDgyLCA4NiwgNjksIDEyOCwgNjcsIDg1LCA4MiwgODYsIAorICAgIDE5NywgNjcsIDg1LCA4MiwgODMsIDczLCA4NiwgMTk3LCA2NywgODUsIDgyLCA4MiwgMjE3LCA2NywgODUsIDgyLCA4MiwgCisgICAgNjksIDc4LCA4NCwgMTI4LCA2NywgODUsIDgyLCA4MiwgNjksIDc4LCAyMTIsIDY3LCA4NSwgODIsIDc2LCAyMTcsIDY3LCAKKyAgICA4NSwgODIsIDc2LCAxMjgsIDY3LCA4NSwgODIsIDEyOCwgNjcsIDg1LCA4MCwgMTI4LCA2NywgODUsIDc5LCA4OCwgMTI4LCAKKyAgICA2NywgODUsIDc5LCA4MCwgMTI4LCA2NywgODUsIDc5LCAxMjgsIDY3LCA4NSwgMjA1LCA2NywgODUsIDY2LCA2OSwgNjgsIAorICAgIDEyOCwgNjcsIDg1LCA2NiwgMTk3LCA2NywgODUsIDY1LCA4NCwgODIsIDczLCA3NiwgNzYsIDc5LCAxMjgsIDY3LCA4NSwgCisgICAgNjUsIDg0LCA4MiwgNzMsIDc2LCA3NiwgMjA3LCA2NywgODUsIDY1LCAyMDUsIDY3LCA4NSwgMTI4LCA2NywgODMsIDczLCAKKyAgICAxMjgsIDY3LCA4MiwgODksIDgzLCA4NCwgNjUsIDIwNCwgNjcsIDgyLCA4OSwgODAsIDg0LCA3OSwgNzEsIDgyLCA2NSwgNzcsIAorICAgIDc3LCA3MywgMTk1LCA2NywgODIsIDg5LCA3MywgNzgsIDE5OSwgNjcsIDgyLCA4NSwgOTAsIDY5LCA3MywgODIsIDIwNywgCisgICAgNjcsIDgyLCA4NSwgNjcsIDczLCA3MCwgNzksIDgyLCAyMDUsIDY3LCA4MiwgODUsIDY3LCA3MywgNjYsIDc2LCA2OSwgNDUsIAorICAgIDUzLCAxMjgsIDY3LCA4MiwgODUsIDY3LCA3MywgNjYsIDc2LCA2OSwgNDUsIDUyLCAxMjgsIDY3LCA4MiwgODUsIDY3LCA3MywgCisgICAgNjYsIDc2LCA2OSwgNDUsIDUxLCAxMjgsIDY3LCA4MiwgODUsIDY3LCA3MywgNjYsIDc2LCA2OSwgNDUsIDUwLCAxMjgsIDY3LCAKKyAgICA4MiwgODUsIDY3LCA3MywgNjYsIDc2LCA2OSwgMTI4LCA2NywgODIsIDc5LCA4NywgNzgsIDEyOCwgNjcsIDgyLCA3OSwgODMsIAorICAgIDgzLCA3MywgNzgsIDcxLCAxMjgsIDY3LCA4MiwgNzksIDgzLCA4MywgNzMsIDc4LCAxOTksIDY3LCA4MiwgNzksIDgzLCA4MywgCisgICAgNzIsIDY1LCA4NCwgNjcsIDIwMCwgNjcsIDgyLCA3OSwgODMsIDgzLCA2OSwgNjgsIDQ1LCA4NCwgNjUsIDczLCA3NiwgMTI4LCAKKyAgICA2NywgODIsIDc5LCA4MywgODMsIDY5LCAxOTYsIDY3LCA4MiwgNzksIDgzLCA4MywgNjYsIDc5LCA3OCwgNjksIDgzLCAxMjgsIAorICAgIDY3LCA4MiwgNzksIDgzLCA4MywgMTI4LCA2NywgODIsIDc5LCA4MywgMjExLCA2NywgODIsIDc5LCA4MCwgMTI4LCA2NywgCisgICAgODIsIDc5LCA3MywgODgsIDEyOCwgNjcsIDgyLCA3OSwgNjcsIDg1LCAyMTEsIDY3LCA4MiwgNzksIDY3LCA3OSwgNjgsIDczLCAKKyAgICA3NiwgNjksIDEyOCwgNjcsIDgyLCA2OSwgODMsIDY3LCA2OSwgNzgsIDg0LCAxMjgsIDY3LCA4MiwgNjksIDgzLCA2NywgNjksIAorICAgIDc4LCAyMTIsIDY3LCA4MiwgNjksIDY4LCA3MywgMjEyLCA2NywgODIsIDY5LCA2NSwgODQsIDczLCA4NiwgMTk3LCA2NywgCisgICAgODIsIDY5LCA2NSwgNzcsIDEyOCwgNjcsIDgyLCA2NSwgODksIDc5LCA3OCwgMTI4LCA2NywgODIsIDY1LCA2NywgNzUsIDY5LCAKKyAgICA4MiwgMTI4LCA2NywgODIsIDEyOCwgNjcsIDc5LCA4OCwgMTI4LCA2NywgNzksIDg3LCAxMjgsIDY3LCA3OSwgMjE1LCA2NywgCisgICAgNzksIDg2LCA2OSwgODIsIDEyOCwgNjcsIDc5LCA4NSwgODAsIDc2LCAxOTcsIDY3LCA3OSwgODUsIDc4LCA4NCwgNzMsIDc4LCAKKyAgICAxOTksIDY3LCA3OSwgODUsIDc4LCA4NCwgNjksIDgyLCA4MywgNzMsIDc4LCA3NSwgMTI4LCA2NywgNzksIDg1LCA3OCwgODQsIAorICAgIDY5LCA4MiwgNjYsIDc5LCA4MiwgNjksIDEyOCwgNjcsIDc5LCA4NSwgNzgsIDY3LCA3MywgMjA0LCA2NywgNzksIDg1LCA2NywgCisgICAgMjAwLCA2NywgNzksIDg0LCAxMjgsIDY3LCA3OSwgODIsIDgyLCA2OSwgODMsIDgwLCA3OSwgNzgsIDY4LCAyMTEsIDY3LCAKKyAgICA3OSwgODIsIDgyLCA2OSwgNjcsIDg0LCAxMjgsIDY3LCA3OSwgODIsIDgwLCA4MywgNjksIDEyOCwgNjcsIDc5LCA4MiwgODAsIAorICAgIDc5LCA4MiwgNjUsIDg0LCA3MywgNzksIDc4LCAxMjgsIDY3LCA3OSwgODIsIDc5LCA3OCwgNzMsIDgzLCAxMjgsIDY3LCA3OSwgCisgICAgODIsIDc4LCA2OSwgODIsIDgzLCAxMjgsIDY3LCA3OSwgODIsIDc4LCA2OSwgODIsIDEyOCwgNjcsIDc5LCA4MiwgNzgsIDY5LCAKKyAgICAyMTAsIDY3LCA3OSwgODAsIDg5LCA4MiwgNzMsIDcxLCA3MiwgODQsIDEyOCwgNjcsIDc5LCA4MCwgODksIDgyLCA3MywgNzEsIAorICAgIDcyLCAyMTIsIDY3LCA3OSwgODAsIDg5LCAxMjgsIDY3LCA3OSwgODAsIDgyLCA3OSwgNjgsIDg1LCA2NywgODQsIDEyOCwgCisgICAgNjcsIDc5LCA4MCwgODAsIDY5LCA4MiwgNDUsIDUwLCAxMjgsIDY3LCA3OSwgODAsIDgwLCA2OSwgODIsIDEyOCwgNjcsIDc5LCAKKyAgICA4MCwgMTI4LCA2NywgNzksIDc5LCA3NiwgMTI4LCA2NywgNzksIDc5LCA3NSwgNzMsIDc4LCA3MSwgMTI4LCA2NywgNzksIAorICAgIDc5LCA3NSwgNzMsIDY5LCAxMjgsIDY3LCA3OSwgNzksIDc1LCA2OSwgMTk2LCA2NywgNzksIDc5LCAxMjgsIDY3LCA3OSwgCisgICAgNzgsIDg2LCA2OSwgODIsIDcxLCA3MywgNzgsIDE5OSwgNjcsIDc5LCA3OCwgODYsIDY5LCA3OCwgNzMsIDY5LCA3OCwgNjcsIAorICAgIDE5NywgNjcsIDc5LCA3OCwgODQsIDgyLCA3OSwgNzYsIDEyOCwgNjcsIDc5LCA3OCwgODQsIDgyLCA3OSwgMjA0LCA2NywgCisgICAgNzksIDc4LCA4NCwgODIsIDY1LCA4MiwgNzMsIDY5LCA4NCwgODksIDEyOCwgNjcsIDc5LCA3OCwgODQsIDgyLCA2NSwgNjcsIAorICAgIDg0LCA3MywgNzksIDc4LCAxMjgsIDY3LCA3OSwgNzgsIDg0LCA3OSwgODUsIDgyLCA2OSwgMTk2LCA2NywgNzksIDc4LCA4NCwgCisgICAgNzksIDg1LCAyMTAsIDY3LCA3OSwgNzgsIDg0LCA3MywgNzgsIDg1LCA3MywgNzgsIDE5OSwgNjcsIDc5LCA3OCwgODQsIDY5LCAKKyAgICA3OCwgODQsIDczLCA3OSwgNzgsIDEyOCwgNjcsIDc5LCA3OCwgODQsIDY5LCA3NywgODAsIDc2LCA2NSwgODQsIDczLCA3OSwgCisgICAgNzgsIDEyOCwgNjcsIDc5LCA3OCwgODQsIDY1LCA3MywgNzgsIDIxMSwgNjcsIDc5LCA3OCwgODQsIDY1LCA3MywgNzgsIDczLCAKKyAgICA3OCwgMTk5LCA2NywgNzksIDc4LCA4NCwgNjUsIDczLCAyMDYsIDY3LCA3OSwgNzgsIDg0LCA2NSwgNjcsIDg0LCAxMjgsIAorICAgIDY3LCA3OSwgNzgsIDgzLCA4NCwgODIsIDg1LCA2NywgODQsIDczLCA3OSwgNzgsIDEyOCwgNjcsIDc5LCA3OCwgODMsIDg0LCAKKyAgICA4MiwgODUsIDY3LCA4NCwgNzMsIDc5LCAyMDYsIDY3LCA3OSwgNzgsIDgzLCA4NCwgNjUsIDc4LCA4NCwgMTI4LCA2NywgNzksIAorICAgIDc4LCA4MywgODQsIDY1LCA3OCwgMjEyLCA2NywgNzksIDc4LCA4MywgODQsIDY1LCA3OCwgNjcsIDg5LCAxMjgsIDY3LCA3OSwgCisgICAgNzgsIDgzLCA2OSwgNjcsIDg1LCA4NCwgNzMsIDg2LCAxOTcsIDY3LCA3OSwgNzgsIDc0LCA4NSwgNzgsIDY3LCA4NCwgNzMsIAorICAgIDc5LCA3OCwgMTI4LCA2NywgNzksIDc4LCA3NCwgODUsIDcxLCA2NSwgODQsIDE5NywgNjcsIDc5LCA3OCwgNzQsIDc5LCA3MywgCisgICAgNzgsIDczLCA3OCwgMTk5LCA2NywgNzksIDc4LCA3MywgNjcsIDY1LCAyMDQsIDY3LCA3OSwgNzgsIDcxLCA4MiwgODUsIDY5LCAKKyAgICA3OCwgMjEyLCA2NywgNzksIDc4LCA3MSwgODIsIDY1LCA4NCwgODUsIDc2LCA2NSwgODQsIDczLCA3OSwgNzgsIDEyOCwgNjcsIAorICAgIDc5LCA3OCwgNzAsIDg1LCA4MywgNjksIDE5NiwgNjcsIDc5LCA3OCwgNzAsIDc5LCA4NSwgNzgsIDY4LCA2OSwgMTk2LCA2NywgCisgICAgNzksIDc4LCA3MCwgNzYsIDczLCA2NywgODQsIDEyOCwgNjcsIDc5LCA3OCwgNzAsIDY5LCA4NCwgODQsIDIwMSwgNjcsIDc5LCAKKyAgICA3OCwgNjcsIDY1LCA4NiwgNjksIDQ1LCA4MywgNzMsIDY4LCA2OSwgMTk2LCA2NywgNzksIDc4LCA2NywgNjUsIDg2LCA2OSwgCisgICAgNDUsIDgwLCA3OSwgNzMsIDc4LCA4NCwgNjksIDE5NiwgNjcsIDc5LCA3NywgODAsIDg1LCA4NCwgNjksIDgyLCA4MywgMTI4LCAKKyAgICA2NywgNzksIDc3LCA4MCwgODUsIDg0LCA2OSwgODIsIDEyOCwgNjcsIDc5LCA3NywgODAsIDgyLCA2OSwgODMsIDgzLCA3MywgCisgICAgNzksIDc4LCAxMjgsIDY3LCA3OSwgNzcsIDgwLCA4MiwgNjksIDgzLCA4MywgNjksIDE5NiwgNjcsIDc5LCA3NywgODAsIDc5LCAKKyAgICA4MywgNzMsIDg0LCA3MywgNzksIDc4LCAxMjgsIDY3LCA3OSwgNzcsIDgwLCA3OSwgODMsIDczLCA4NCwgNzMsIDc5LCAyMDYsIAorICAgIDY3LCA3OSwgNzcsIDgwLCA3NiwgNzMsIDY1LCA3OCwgNjcsIDY5LCAxMjgsIDY3LCA3OSwgNzcsIDgwLCA3NiwgNjksIDg0LCAKKyAgICA3MywgNzksIDc4LCAxMjgsIDY3LCA3OSwgNzcsIDgwLCA3NiwgNjksIDg0LCA2OSwgNjgsIDEyOCwgNjcsIDc5LCA3NywgODAsIAorICAgIDc2LCA2OSwgNzcsIDY5LCA3OCwgODQsIDEyOCwgNjcsIDc5LCA3NywgODAsIDY1LCA4MiwgNjksIDEyOCwgNjcsIDc5LCA3NywgCisgICAgNzcsIDc5LCAyMDYsIDY3LCA3OSwgNzcsIDc3LCA2OSwgODIsIDY3LCA3MywgNjUsIDIwNCwgNjcsIDc5LCA3NywgNzcsIDY1LCAKKyAgICA3OCwgNjgsIDEyOCwgNjcsIDc5LCA3NywgNzcsIDY1LCAxMjgsIDY3LCA3OSwgNzcsIDc3LCAxOTMsIDY3LCA3OSwgNzcsIAorICAgIDY5LCA4NCwgMTI4LCA2NywgNzksIDc3LCA2NiwgMTI4LCA2NywgNzksIDc2LCA4NSwgNzcsIDc4LCAxMjgsIDY3LCA3OSwgCisgICAgNzYsIDc5LCA4MiwgMTI4LCA2NywgNzksIDc2LCA3NiwgNzMsIDgzLCA3MywgNzksIDIwNiwgNjcsIDc5LCA3NiwgNzYsIAorICAgIDEyOCwgNjcsIDc5LCA3NiwgMTk2LCA2NywgNzksIDcwLCA3MCwgNzMsIDc4LCAxMjgsIDY3LCA3OSwgNjksIDc4LCA3MSwgCisgICAgMTI4LCA2NywgNzksIDY5LCA3OCwgMTk5LCA2NywgNzksIDY4LCA2NSwgMTI4LCA2NywgNzksIDY3LCA3NSwgODQsIDY1LCAKKyAgICA3MywgMjA0LCA2NywgNzksIDY1LCA4MywgODQsIDY5LCA4MiwgMTI4LCA2NywgNzksIDY1LCAxMjgsIDY3LCA3OSwgMTI4LCAKKyAgICA2NywgNzcsIDEyOCwgNjcsIDIwNSwgNjcsIDc2LCA4NSwgODMsIDg0LCA2OSwgMjEwLCA2NywgNzYsIDg1LCA2NiwgODMsIAorICAgIDEyOCwgNjcsIDc2LCA4NSwgNjYsIDQ1LCA4MywgODAsIDc5LCA3NSwgNjksIDE5NiwgNjcsIDc2LCA4NSwgNjYsIDEyOCwgCisgICAgNjcsIDc2LCA4NSwgMTk0LCA2NywgNzYsIDc5LCA4NiwgNjksIDgyLCAxMjgsIDY3LCA3NiwgNzksIDg1LCA2OCwgMTI4LCAKKyAgICA2NywgNzYsIDc5LCA4NSwgMTk2LCA2NywgNzYsIDc5LCA4NCwgNzIsIDY5LCA4MywgMTI4LCA2NywgNzYsIDc5LCA4NCwgNzIsIAorICAgIDEyOCwgNjcsIDc2LCA3OSwgODMsIDY5LCA4NCwgMTI4LCA2NywgNzYsIDc5LCA4MywgNjksIDc4LCA2OSwgODMsIDgzLCAKKyAgICAxMjgsIDY3LCA3NiwgNzksIDgzLCA2OSwgNjgsIDEyOCwgNjcsIDc2LCA3OSwgODMsIDE5NywgNjcsIDc2LCA3OSwgNjcsIAorICAgIDc1LCA4NywgNzMsIDgzLCAxOTcsIDY3LCA3NiwgNzksIDY3LCAyMDMsIDY3LCA3NiwgNzMsIDg2LCA3MywgODMsIDEyOCwgCisgICAgNjcsIDc2LCA3MywgODAsIDY2LCA3OSwgNjUsIDgyLCA2OCwgMTI4LCA2NywgNzYsIDczLCA3OCwgNzUsIDczLCA3OCwgMTk5LCAKKyAgICA2NywgNzYsIDczLCA3OCwgNzEsIDczLCA3OCwgMTk5LCA2NywgNzYsIDczLCA3NywgNjUsIDY3LCA4NSwgODMsIDEyOCwgNjcsIAorICAgIDc2LCA3MywgNzAsIDcwLCAxMjgsIDY3LCA3NiwgNzMsIDY3LCA3NSwgMTI4LCA2NywgNzYsIDY5LCA3MCwgNDUsIDUwLCAKKyAgICAxMjgsIDY3LCA3NiwgNjksIDcwLCA0NSwgNDksIDEyOCwgNjcsIDc2LCA2OSwgNzAsIDEyOCwgNjcsIDc2LCA2OSwgMTk4LCAKKyAgICA2NywgNzYsIDY5LCA2NSwgODYsIDY5LCA4MiwgMTI4LCA2NywgNzYsIDY5LCA2NSwgMjEwLCA2NywgNzYsIDY1LCA4NywgCisgICAgMTI4LCA2NywgNzYsIDY1LCA4MywgODMsIDczLCA2NywgNjUsIDIwNCwgNjcsIDc2LCA2NSwgODAsIDgwLCA3MywgNzgsIAorICAgIDE5OSwgNjcsIDc2LCA2NSwgODAsIDgwLCA2OSwgMjEwLCA2NywgNzYsIDY1LCA3OCwgMTI4LCA2NywgNzYsIDY1LCAyMDYsIAorICAgIDY3LCA3NiwgNjUsIDc3LCA4MywgNzIsIDY5LCA3NiwgMjA0LCA2NywgNzYsIDY1LCA3MywgNzcsIDEyOCwgNjcsIDc2LCAKKyAgICAxMjgsIDY3LCA3MywgODgsIDEyOCwgNjcsIDczLCA4NiwgNzMsIDc2LCA3MywgNjUsIDc4LCAxMjgsIDY3LCA3MywgODQsIAorICAgIDg5LCA4MywgNjcsIDY1LCA4MCwgNjksIDEyOCwgNjcsIDczLCA4NCwgODksIDgzLCA2NywgNjUsIDgwLCAxOTcsIDY3LCA3MywgCisgICAgODQsIDY1LCA4NCwgNzMsIDc5LCAyMDYsIDY3LCA3MywgODQsIDEyOCwgNjcsIDczLCA4MiwgNjcsIDg1LCAyMTEsIDY3LCAKKyAgICA3MywgODIsIDY3LCA4NSwgNzcsIDcwLCA3NiwgNjksIDg4LCAxMjgsIDY3LCA3MywgODIsIDY3LCA4NSwgNzcsIDcwLCA3NiwgCisgICAgNjksIDIxNiwgNjcsIDczLCA4MiwgNjcsIDg1LCA3NiwgNjUsIDg0LCA3MywgNzksIDIwNiwgNjcsIDczLCA4MiwgNjcsIDc2LCAKKyAgICA3MywgNzgsIDE5OSwgNjcsIDczLCA4MiwgNjcsIDc2LCA2OSwgODMsIDEyOCwgNjcsIDczLCA4MiwgNjcsIDc2LCA2OSwgCisgICAgMTI4LCA2NywgNzMsIDgwLCAxMjgsIDY3LCA3MywgNzgsIDc4LCA2NSwgNjYsIDY1LCA4MiwgMTI4LCA2NywgNzMsIDc4LCAKKyAgICA2OSwgNzcsIDY1LCAxMjgsIDY3LCA3MywgMjA2LCA2NywgNzMsIDIwNSwgNjcsIDczLCA3MywgMTI4LCA2NywgNzMsIDY5LCAKKyAgICA4OCwgMTI4LCA2NywgNzMsIDY5LCA4NSwgNjcsIDQ1LCA4MywgODMsIDY1LCA3OCwgNzEsIDgwLCA3MywgNjksIDg1LCA4MCwgCisgICAgMTI4LCA2NywgNzMsIDY5LCA4NSwgNjcsIDQ1LCA4MCwgNzMsIDY5LCA4NSwgODAsIDEyOCwgNjcsIDczLCA2OSwgODUsIDY3LCAKKyAgICA0NSwgNzMsIDY5LCA4NSwgNzgsIDcxLCAxMjgsIDY3LCA3MywgNjksIDg1LCAxOTUsIDY3LCA3MywgNjksIDg0LCAxMjgsIAorICAgIDY3LCA3MywgNjksIDgwLCAxMjgsIDY3LCA3MywgNjksIDEyOCwgNjcsIDcyLCA4OSwgODgsIDEyOCwgNjcsIDcyLCA4OSwgCisgICAgODQsIDEyOCwgNjcsIDcyLCA4OSwgODIsIDg4LCAxMjgsIDY3LCA3MiwgODksIDgyLCAxMjgsIDY3LCA3MiwgODksIDgwLCAKKyAgICAxMjgsIDY3LCA3MiwgODcsIDg2LCAxMjgsIDY3LCA3MiwgODUsIDg4LCAxMjgsIDY3LCA3MiwgODUsIDgyLCA4OCwgMTI4LCAKKyAgICA2NywgNzIsIDg1LCA4MiwgNjcsIDcyLCAxMjgsIDY3LCA3MiwgODUsIDgyLCAxMjgsIDY3LCA3MiwgODUsIDgwLCAxMjgsIAorICAgIDY3LCA3MiwgODUsIDc5LCA4OCwgMTI4LCA2NywgNzIsIDg1LCA3OSwgODQsIDEyOCwgNjcsIDcyLCA4NSwgNzksIDgwLCAKKyAgICAxMjgsIDY3LCA3MiwgODUsIDc5LCAxMjgsIDY3LCA3MiwgODUsIDc2LCA2NSwgMTI4LCA2NywgNzIsIDg1LCAxMjgsIDY3LCAKKyAgICA3MiwgODIsIDg5LCA4MywgNjUsIDc4LCA4NCwgNzIsIDY5LCA3NywgODUsIDc3LCAxMjgsIDY3LCA3MiwgODIsIDc5LCA3OCwgCisgICAgNzksIDg1LCAxMjgsIDY3LCA3MiwgODIsIDc5LCA3OCwgNzksIDc4LCAxMjgsIDY3LCA3MiwgODIsIDc5LCA3NywgMTkzLCAKKyAgICA2NywgNzIsIDgyLCA3OSwgMTkzLCA2NywgNzIsIDgyLCA3MywgODYsIDczLCAxMjgsIDY3LCA3MiwgODIsIDczLCA4MywgODQsIAorICAgIDc3LCA2NSwgODMsIDEyOCwgNjcsIDcyLCA4MiwgNzMsIDgzLCA4NCwgNzcsIDY1LCAyMTEsIDY3LCA3MiwgNzksIDg5LCAKKyAgICAxMjgsIDY3LCA3MiwgNzksIDg4LCAxMjgsIDY3LCA3MiwgNzksIDg0LCAxMjgsIDY3LCA3MiwgNzksIDgyLCA2OSwgODYsIAorICAgIDc3LCAxOTMsIDY3LCA3MiwgNzksIDgwLCAxMjgsIDY3LCA3MiwgNzksIDc1LCA2OSwgMTI4LCA2NywgNzIsIDc5LCA2OSwgCisgICAgMTI4LCA2NywgNzIsIDc5LCA2NywgNzksIDc2LCA2NSwgODQsIDE5NywgNjcsIDcyLCA3OSwgNjUsIDEyOCwgNjcsIDcyLCAKKyAgICAyMDcsIDY3LCA3MiwgNzMsIDg0LCA4NSwgNjksIDg1LCA3NywgODMsIDgzLCA2NSwgNzgsIDcxLCA4MywgNzMsIDc5LCA4MywgCisgICAgMTI4LCA2NywgNzIsIDczLCA4NCwgODUsIDY5LCA4NSwgNzcsIDgzLCA4MywgNjUsIDc4LCA3MSwgNjcsIDczLCA2OSwgODUsIAorICAgIDY3LCAxMjgsIDY3LCA3MiwgNzMsIDg0LCA4NSwgNjksIDg1LCA3NywgODMsIDczLCA3OSwgODMsIDEyOCwgNjcsIDcyLCA3MywgCisgICAgODQsIDg1LCA2OSwgODUsIDc3LCA2NywgNzMsIDY5LCA4NSwgNjcsIDEyOCwgNjcsIDcyLCA3MywgODQsIDg1LCA2OSwgODUsIAorICAgIDc3LCA2NywgNzIsIDczLCA2OSwgODUsIDY3LCA3MiwgMTI4LCA2NywgNzIsIDczLCA4MiwgNzksIDc4LCAxMjgsIDY3LCA3MiwgCisgICAgNzMsIDgyLCA2OSwgODQsIDEyOCwgNjcsIDcyLCA3MywgODAsIDc3LCA4NSwgNzgsIDc1LCAxMjgsIDY3LCA3MiwgNzMsIDc4LCAKKyAgICA3OSwgNzksIDIwMywgNjcsIDcyLCA3MywgNzgsIDcxLCAxMjgsIDY3LCA3MiwgNzMsIDc4LCA2OSwgODMsIDE5NywgNjcsIAorICAgIDcyLCA3MywgNzgsIDEyOCwgNjcsIDcyLCA3MywgNzcsIDY5LCAxMjgsIDY3LCA3MiwgNzMsIDc2LCA3NiwgMjEzLCA2NywgCisgICAgNzIsIDczLCA3NiwgNjgsIDgyLCA2OSwgMjA2LCA2NywgNzIsIDczLCA3NiwgNjgsIDEyOCwgNjcsIDcyLCA3MywgNzYsIAorICAgIDEyOCwgNjcsIDcyLCA3MywgNzUsIDIwMSwgNjcsIDcyLCA3MywgNjksIDg1LCA2NywgNzIsIDQ1LCA3NSwgNzIsIDczLCA2OSwgCisgICAgODUsIDc1LCA3MiwgMTI4LCA2NywgNzIsIDczLCA2OSwgODUsIDY3LCA3MiwgNDUsIDcyLCA3MywgNjksIDg1LCA3MiwgMTI4LCAKKyAgICA2NywgNzIsIDczLCA2OSwgODUsIDY3LCAyMDAsIDY3LCA3MiwgNzMsIDY3LCA3NSwgNjksIDc4LCAxMjgsIDY3LCA3MiwgNzMsIAorICAgIDY3LCA3NSwgMTI4LCA2NywgNzIsIDczLCAxMjgsIDY3LCA3MiwgMjAxLCA2NywgNzIsIDcyLCA2NSwgMTI4LCA2NywgNzIsIAorICAgIDY5LCA4OCwgMTI4LCA2NywgNzIsIDY5LCA4NiwgODIsIDc5LCAyMDYsIDY3LCA3MiwgNjksIDg0LCAxMjgsIDY3LCA3MiwgCisgICAgNjksIDgzLCA4NCwgNzgsIDg1LCA4NCwgMTI4LCA2NywgNzIsIDY5LCA4MywgMjExLCA2NywgNzIsIDY5LCA4MiwgODksIAorICAgIDEyOCwgNjcsIDcyLCA2OSwgODIsIDgyLCAyMTcsIDY3LCA3MiwgNjksIDgyLCA4MiwgNzMsIDY5LCA4MywgMTI4LCA2NywgCiAgICAgNzIsIDY5LCA4MSwgODUsIDY5LCA4MiwgNjksIDE5NiwgNjcsIDcyLCA2OSwgODAsIDEyOCwgNjcsIDcyLCA2OSwgMjA2LCAKICAgICA2NywgNzIsIDY5LCA3MywgNzgsIDY1LCA4MCwgMTI4LCA2NywgNzIsIDY5LCA3MywgNzUsIDcyLCA2OSwgNzMsIDEyOCwgNjcsIAogICAgIDcyLCA2OSwgNzMsIDc1LCA3MiwgNjUsIDc4LCAxMjgsIDY3LCA3MiwgNjksIDY5LCA4MiwgNzMsIDc4LCAxOTksIDY3LCA3MiwgCi0gICAgNjksIDY5LCAxMjgsIDY3LCA3MiwgNjksIDY3LCA3NSwgMTI4LCA2NywgNzIsIDY5LCA2NywgMjAzLCA2NywgNzIsIDE5NywgCi0gICAgNjcsIDcyLCA2NSwgODgsIDEyOCwgNjcsIDcyLCA2NSwgODYsIDczLCA4OSwgNjUsIDc4LCA3MywgMTI4LCA2NywgNzIsIDY1LCAKLSAgICA4NCwgODQsIDY1LCA4NywgNjUsIDEyOCwgNjcsIDcyLCA2NSwgODQsIDEyOCwgNjcsIDcyLCA2NSwgODIsIDg0LCAxMjgsIAotICAgIDY3LCA3MiwgNjUsIDgyLCAyMTIsIDY3LCA3MiwgNjUsIDgyLCA3MywgNzksIDg0LCAxMjgsIDY3LCA3MiwgNjUsIDgyLCA3MywgCi0gICAgNzksIDIxMiwgNjcsIDcyLCA2NSwgODIsIDY1LCA2NywgODQsIDY5LCA4MiwgODMsIDEyOCwgNjcsIDcyLCA2NSwgODIsIDY1LCAKLSAgICA2NywgODQsIDY5LCA4MiwgMTI4LCA2NywgNzIsIDY1LCA4MiwgMTI4LCA2NywgNzIsIDY1LCA4MCwgMTI4LCA2NywgNzIsIAotICAgIDY1LCA3OCwgNzEsIDEyOCwgNjcsIDcyLCA2NSwgNzgsIDEyOCwgNjcsIDcyLCA2NSwgNzcsIDc1LCA3OSwgMTI4LCA2NywgCi0gICAgNzIsIDY1LCA3NywgNzMsIDc2LCA3OSwgNzgsIDEyOCwgNjcsIDcyLCA2NSwgNzcsIDczLCA3NiwgNzMsIDEyOCwgNjcsIDcyLCAKLSAgICA2NSwgNzUsIDc3LCAxOTMsIDY3LCA3MiwgNjUsIDczLCA4MiwgMTI4LCA2NywgNzIsIDY1LCA3MywgNzgsIDgzLCAxMjgsIAotICAgIDY3LCA3MiwgNjUsIDY4LCA2NSwgMTI4LCA2NywgNzIsIDY1LCAxOTYsIDY3LCA3MiwgNjUsIDY1LCAxMjgsIDY3LCA3MSwgCi0gICAgNzQsIDEyOCwgNjcsIDY5LCA4OCwgMTI4LCA2NywgNjksIDgyLCA2OSwgODMsIDEyOCwgNjcsIDY5LCA4MiwgNjksIDc3LCAKLSAgICA3OSwgNzgsIDg5LCAxMjgsIDY3LCA2OSwgODIsIDY5LCA3NSwgMTI4LCA2NywgNjksIDgyLCA0NSwgODcsIDY1LCAxMjgsIAotICAgIDY3LCA2OSwgODAsIDEyOCwgNjcsIDY5LCA3OSwgNzgsIDcxLCA2NywgNzIsIDczLCA2OSwgODUsIDc3LCA4MywgODMsIDY1LCAKLSAgICA3OCwgNzEsIDgzLCA3MywgNzksIDgzLCAxMjgsIDY3LCA2OSwgNzksIDc4LCA3MSwgNjcsIDcyLCA3MywgNjksIDg1LCA3NywgCi0gICAgODMsIDgzLCA2NSwgNzgsIDcxLCA2NywgNzMsIDY5LCA4NSwgNjcsIDEyOCwgNjcsIDY5LCA3OSwgNzgsIDcxLCA2NywgNzIsIAotICAgIDczLCA2OSwgODUsIDc3LCA4MywgNzMsIDc5LCA4MywgMTI4LCA2NywgNjksIDc5LCA3OCwgNzEsIDY3LCA3MiwgNzMsIDY5LCAKLSAgICA4NSwgNzcsIDY3LCA3MywgNjksIDg1LCA2NywgMTI4LCA2NywgNjksIDc5LCA3OCwgNzEsIDY3LCA3MiwgNzMsIDY5LCA4NSwgCi0gICAgNzcsIDY3LCA3MiwgNzMsIDY5LCA4NSwgNjcsIDcyLCAxMjgsIDY3LCA2OSwgNzgsIDg0LCA4NSwgODIsIDczLCA2NSwgMjA0LCAKLSAgICA2NywgNjksIDc4LCA4NCwgODIsIDY5LCA3NiwgNzMsIDc4LCAxOTcsIDY3LCA2OSwgNzgsIDg0LCA4MiwgNjksIDE5NiwgNjcsIAotICAgIDY5LCA3OCwgODQsIDgyLCA2OSwgMTI4LCA2NywgNjksIDc4LCA4NCwgODIsIDE5NywgNjcsIDY5LCA3OCwgMTI4LCA2NywgCi0gICAgNjksIDc2LCA4MywgNzMsIDg1LCA4MywgMTI4LCA2NywgNjksIDc2LCA2OSwgNjYsIDgyLCA2NSwgODQsIDczLCA3OSwgNzgsIAotICAgIDEyOCwgNjcsIDY5LCA3MywgODIsIDg0LCAxMjgsIDY3LCA2OSwgNzMsIDc2LCA3MywgNzgsIDcxLCAxMjgsIDY3LCA2OSwgCi0gICAgNjksIDEyOCwgNjcsIDY5LCA2OCwgNzMsIDc2LCA3NiwgNjUsIDEyOCwgNjcsIDY5LCA2OCwgNzMsIDc2LCA3NiwgMTkzLCAKLSAgICA2NywgNjksIDY4LCAyMDEsIDY3LCA2OSwgNjcsIDY5LCA3NSwgMTI4LCA2NywgNjksIDY3LCA2NSwgNzUsIDEyOCwgNjcsIAotICAgIDY5LCA2NywgNjUsIDIwMywgNjcsIDY5LCA2NSwgNzYsIDY3LCAxMjgsIDY3LCA2NywgODUsIDEyOCwgNjcsIDY3LCA3OSwgCi0gICAgMTI4LCA2NywgNjcsIDczLCAxMjgsIDY3LCA2NywgNzIsIDg1LCAxMjgsIDY3LCA2NywgNzIsIDc5LCAxMjgsIDY3LCA2NywgCi0gICAgNzIsIDczLCAxMjgsIDY3LCA2NywgNzIsIDcyLCA4NSwgMTI4LCA2NywgNjcsIDcyLCA3MiwgNzksIDEyOCwgNjcsIDY3LCAKLSAgICA3MiwgNzIsIDczLCAxMjgsIDY3LCA2NywgNzIsIDcyLCA2OSwgNjksIDEyOCwgNjcsIDY3LCA3MiwgNzIsIDY5LCAxMjgsIAotICAgIDY3LCA2NywgNzIsIDcyLCA2NSwgNjUsIDEyOCwgNjcsIDY3LCA3MiwgNzIsIDY1LCAxMjgsIDY3LCA2NywgNzIsIDY5LCA2OSwgCi0gICAgMTI4LCA2NywgNjcsIDcyLCA2OSwgMTI4LCA2NywgNjcsIDcyLCA2NSwgNjUsIDEyOCwgNjcsIDY3LCA3MiwgNjUsIDEyOCwgCi0gICAgNjcsIDY3LCA3MiwgMTI4LCA2NywgNjcsIDY5LCA2OSwgMTI4LCA2NywgNjcsIDY5LCAxMjgsIDY3LCA2NywgNjUsIDY1LCAKLSAgICAxMjgsIDY3LCA2NywgNjUsIDEyOCwgNjcsIDY1LCA4OSwgNzgsIDEyOCwgNjcsIDY1LCA4OSwgNjUsIDc4LCA3OCwgNjUsIAotICAgIDEyOCwgNjcsIDY1LCA4OCwgMTI4LCA2NywgNjUsIDg2LCA2OSwgMTI4LCA2NywgNjUsIDg1LCA4NCwgNzMsIDc5LCAyMDYsIAotICAgIDY3LCA2NSwgODUsIDc2LCA2OCwgODIsIDc5LCA3OCwgMTI4LCA2NywgNjUsIDg1LCA2OCwgNjUsIDEyOCwgNjcsIDY1LCA4NSwgCisgICAgNjksIDY5LCA3NywgMTI4LCA2NywgNzIsIDY5LCA2OSwgMTI4LCA2NywgNzIsIDY5LCA2NywgNzUsIDY5LCAyMTAsIDY3LCAKKyAgICA3MiwgNjksIDY3LCA3NSwgMTI4LCA2NywgNzIsIDY5LCA2NywgMjAzLCA2NywgNzIsIDE5NywgNjcsIDcyLCA2NSwgODgsIAorICAgIDEyOCwgNjcsIDcyLCA2NSwgODYsIDczLCA4OSwgNjUsIDc4LCA3MywgMTI4LCA2NywgNzIsIDY1LCA4NCwgODQsIDY1LCA4NywgCisgICAgNjUsIDEyOCwgNjcsIDcyLCA2NSwgODQsIDEyOCwgNjcsIDcyLCA2NSwgODIsIDg0LCAxMjgsIDY3LCA3MiwgNjUsIDgyLCAKKyAgICAyMTIsIDY3LCA3MiwgNjUsIDgyLCA3MywgNzksIDg0LCAxMjgsIDY3LCA3MiwgNjUsIDgyLCA3MywgNzksIDIxMiwgNjcsIAorICAgIDcyLCA2NSwgODIsIDY1LCA2NywgODQsIDY5LCA4MiwgODMsIDEyOCwgNjcsIDcyLCA2NSwgODIsIDY1LCA2NywgODQsIDY5LCAKKyAgICA4MiwgMTI4LCA2NywgNzIsIDY1LCA4MiwgMTI4LCA2NywgNzIsIDY1LCA4MCwgODQsIDY5LCA4MiwgMTI4LCA2NywgNzIsIAorICAgIDY1LCA4MCwgMTI4LCA2NywgNzIsIDY1LCA3OCwgNzEsIDEyOCwgNjcsIDcyLCA2NSwgNzgsIDEyOCwgNjcsIDcyLCA2NSwgCisgICAgNzcsIDc1LCA3OSwgMTI4LCA2NywgNzIsIDY1LCA3NywgNzMsIDc2LCA3OSwgNzgsIDEyOCwgNjcsIDcyLCA2NSwgNzcsIDczLCAKKyAgICA3NiwgNzMsIDEyOCwgNjcsIDcyLCA2NSwgNzUsIDc3LCAxOTMsIDY3LCA3MiwgNjUsIDczLCA4MiwgMTI4LCA2NywgNzIsIAorICAgIDY1LCA3MywgNzgsIDgzLCAxMjgsIDY3LCA3MiwgNjUsIDY4LCA2NSwgMTI4LCA2NywgNzIsIDY1LCAxOTYsIDY3LCA3MiwgCisgICAgNjUsIDY1LCAxMjgsIDY3LCA3MSwgNzQsIDEyOCwgNjcsIDY5LCA4OCwgMTI4LCA2NywgNjksIDgyLCA2OSwgODMsIDEyOCwgCisgICAgNjcsIDY5LCA4MiwgNjksIDc3LCA3OSwgNzgsIDg5LCAxMjgsIDY3LCA2OSwgODIsIDY5LCA3NSwgMTI4LCA2NywgNjksIDgyLCAKKyAgICA0NSwgODcsIDY1LCAxMjgsIDY3LCA2OSwgODAsIDEyOCwgNjcsIDY5LCA3OSwgNzgsIDcxLCA2NywgNzIsIDczLCA2OSwgODUsIAorICAgIDc3LCA4MywgODMsIDY1LCA3OCwgNzEsIDgzLCA3MywgNzksIDgzLCAxMjgsIDY3LCA2OSwgNzksIDc4LCA3MSwgNjcsIDcyLCAKKyAgICA3MywgNjksIDg1LCA3NywgODMsIDgzLCA2NSwgNzgsIDcxLCA2NywgNzMsIDY5LCA4NSwgNjcsIDEyOCwgNjcsIDY5LCA3OSwgCisgICAgNzgsIDcxLCA2NywgNzIsIDczLCA2OSwgODUsIDc3LCA4MywgNzMsIDc5LCA4MywgMTI4LCA2NywgNjksIDc5LCA3OCwgNzEsIAorICAgIDY3LCA3MiwgNzMsIDY5LCA4NSwgNzcsIDY3LCA3MywgNjksIDg1LCA2NywgMTI4LCA2NywgNjksIDc5LCA3OCwgNzEsIDY3LCAKKyAgICA3MiwgNzMsIDY5LCA4NSwgNzcsIDY3LCA3MiwgNzMsIDY5LCA4NSwgNjcsIDcyLCAxMjgsIDY3LCA2OSwgNzgsIDg0LCA4NSwgCisgICAgODIsIDczLCA2NSwgMjA0LCA2NywgNjksIDc4LCA4NCwgODIsIDY5LCA3NiwgNzMsIDc4LCAxOTcsIDY3LCA2OSwgNzgsIDg0LCAKKyAgICA4MiwgNjksIDY4LCAxMjgsIDY3LCA2OSwgNzgsIDg0LCA4MiwgNjksIDE5NiwgNjcsIDY5LCA3OCwgODQsIDgyLCA2OSwgCisgICAgMTI4LCA2NywgNjksIDc4LCA4NCwgODIsIDE5NywgNjcsIDY5LCA3OCwgODQsIDgyLCA2NSwgNzYsIDczLCA5MCwgNjUsIDg0LCAKKyAgICA3MywgNzksIDIwNiwgNjcsIDY5LCA3OCwgMTI4LCA2NywgNjksIDc2LCA4NCwgNzMsIDE5NSwgNjcsIDY5LCA3NiwgODMsIAorICAgIDczLCA4NSwgODMsIDEyOCwgNjcsIDY5LCA3NiwgNjksIDY2LCA4MiwgNjUsIDg0LCA3MywgNzksIDc4LCAxMjgsIDY3LCA2OSwgCisgICAgNzMsIDgyLCA4NCwgMTI4LCA2NywgNjksIDczLCA3NiwgNzMsIDc4LCA3MSwgMTI4LCA2NywgNjksIDY5LCA4NiwgMTI4LCAKKyAgICA2NywgNjksIDY5LCA2NiwgMTI4LCA2NywgNjksIDY5LCAxMjgsIDY3LCA2OSwgNjgsIDczLCA3NiwgNzYsIDY1LCAxMjgsIAorICAgIDY3LCA2OSwgNjgsIDczLCA3NiwgNzYsIDE5MywgNjcsIDY5LCA2OCwgMjAxLCA2NywgNjksIDY3LCA2OSwgNzUsIDEyOCwgCisgICAgNjcsIDY5LCA2NywgNjUsIDc1LCAxMjgsIDY3LCA2OSwgNjcsIDY1LCAyMDMsIDY3LCA2OSwgNjUsIDc2LCA2NywgMTI4LCAKKyAgICA2NywgNjcsIDg1LCAxMjgsIDY3LCA2NywgNzksIDEyOCwgNjcsIDY3LCA3MywgMTI4LCA2NywgNjcsIDcyLCA4NSwgMTI4LCAKKyAgICA2NywgNjcsIDcyLCA3OSwgMTI4LCA2NywgNjcsIDcyLCA3MywgMTI4LCA2NywgNjcsIDcyLCA3MiwgODUsIDEyOCwgNjcsIAorICAgIDY3LCA3MiwgNzIsIDc5LCAxMjgsIDY3LCA2NywgNzIsIDcyLCA3MywgMTI4LCA2NywgNjcsIDcyLCA3MiwgNjksIDY5LCAKKyAgICAxMjgsIDY3LCA2NywgNzIsIDcyLCA2OSwgMTI4LCA2NywgNjcsIDcyLCA3MiwgNjUsIDY1LCAxMjgsIDY3LCA2NywgNzIsIAorICAgIDcyLCA2NSwgMTI4LCA2NywgNjcsIDcyLCA2OSwgNjksIDEyOCwgNjcsIDY3LCA3MiwgNjksIDEyOCwgNjcsIDY3LCA3MiwgCisgICAgNjUsIDY1LCAxMjgsIDY3LCA2NywgNzIsIDY1LCAxMjgsIDY3LCA2NywgNzIsIDEyOCwgNjcsIDY3LCA2OSwgNjksIDEyOCwgCisgICAgNjcsIDY3LCA2OSwgMTI4LCA2NywgNjcsIDY1LCA2NSwgMTI4LCA2NywgNjcsIDY1LCAxMjgsIDY3LCA2NSwgODksIDc4LCAKKyAgICAxMjgsIDY3LCA2NSwgODksIDY1LCA3OCwgNzgsIDY1LCAxMjgsIDY3LCA2NSwgODgsIDEyOCwgNjcsIDY1LCA4NiwgNjksIAorICAgIDEyOCwgNjcsIDY1LCA4NSwgODQsIDczLCA3OSwgMjA2LCA2NywgNjUsIDg1LCA3NiwgNjgsIDgyLCA3OSwgNzgsIDEyOCwgCisgICAgNjcsIDY1LCA4NSwgNjgsIDY1LCAxMjgsIDY3LCA2NSwgODUsIDY3LCA2NSwgODMsIDczLCA2NSwgMjA2LCA2NywgNjUsIDg1LCAKICAgICAxMjgsIDY3LCA2NSwgODQsIDY1LCA4NywgNjUsIDEyOCwgNjcsIDY1LCA4NCwgMTI4LCA2NywgNjUsIDIxMiwgNjcsIDY1LCAKLSAgICA4MywgODQsIDc2LCA2OSwgMTI4LCA2NywgNjUsIDgyLCA4OSwgODMsIDg0LCA3MywgNjUsIDIwNiwgNjcsIDY1LCA4MiwgODQsIAotICAgIDEyOCwgNjcsIDY1LCA4MiwgMjExLCA2NywgNjUsIDgyLCA4MiwgNzMsIDY1LCA3MSwgMTk3LCA2NywgNjUsIDgyLCA4MCwgCi0gICAgNjksIDc4LCA4NCwgODIsIDIxNywgNjcsIDY1LCA4MiwgMjA4LCA2NywgNjUsIDgyLCA3OSwgODUsIDgzLCA2OSwgMjA0LCAKLSAgICA2NywgNjUsIDgyLCA3OSwgNzgsIDEyOCwgNjcsIDY1LCA4MiwgNzksIDIwNiwgNjcsIDY1LCA4MiwgNzMsIDIwMywgNjcsIAotICAgIDY1LCA4MiwgNzMsIDY1LCAyMDYsIDY3LCA2NSwgODIsIDY5LCA4NCwgMTI4LCA2NywgNjUsIDgyLCA2OSwgMjEyLCA2NywgCi0gICAgNjUsIDgyLCAxOTcsIDY3LCA2NSwgODIsIDY4LCA4MywgMTI4LCA2NywgNjUsIDgyLCA2OCwgMTI4LCA2NywgNjUsIDgyLCAKLSAgICAxOTYsIDY3LCA2NSwgODIsIDEyOCwgNjcsIDY1LCAyMTAsIDY3LCA2NSwgODAsIDg1LCAyMTIsIDY3LCA2NSwgODAsIDg0LCAKLSAgICA3MywgODYsIDY5LCAxMjgsIDY3LCA2NSwgODAsIDgyLCA3MywgNjcsIDc5LCA4MiwgNzgsIDEyOCwgNjcsIDY1LCA4MCwgNzksIAotICAgIDEyOCwgNjcsIDY1LCA4MCwgNzMsIDg0LCA2NSwgNzYsIDEyOCwgNjcsIDY1LCA3OCwgODQsIDczLCA3NiwgNzYsIDY1LCA4NCwgCi0gICAgNzMsIDc5LCAyMDYsIDY3LCA2NSwgNzgsIDE5OSwgNjcsIDY1LCA3OCwgNjgsIDg5LCAxMjgsIDY3LCA2NSwgNzgsIDY4LCAKLSAgICA4MiwgNjUsIDY2LCA3MywgNzgsIDY4LCA4NSwgMTI4LCA2NywgNjUsIDc4LCA2OCwgODIsIDY1LCA2NiwgNzMsIDc4LCA2OCwgCi0gICAgMjEzLCA2NywgNjUsIDc4LCA2OCwgODIsIDY1LCAxMjgsIDY3LCA2NSwgNzgsIDY4LCA4MiwgMTkzLCA2NywgNjUsIDc4LCAKLSAgICA2NywgNjksIDgyLCAxMjgsIDY3LCA2NSwgNzgsIDY3LCA2OSwgNzYsIDc2LCA2NSwgODQsIDczLCA3OSwgMjA2LCA2NywgNjUsIAotICAgIDc4LCA2NywgNjksIDc2LCAxMjgsIDY3LCA2NSwgNzgsIDY3LCA2OSwgMjA0LCA2NywgNjUsIDc4LCAxMjgsIDY3LCA2NSwgCi0gICAgNzcsIDc4LCA4NSwgMTk1LCA2NywgNjUsIDc3LCA2OSwgODIsIDY1LCAxMjgsIDY3LCA2NSwgNzcsIDY5LCA3NiwgMTI4LCAKLSAgICA2NywgNjUsIDc2LCA4OSwgNjUsIDEyOCwgNjcsIDY1LCA3NiwgODksIDE5MywgNjcsIDY1LCA3NiwgODgsIDEyOCwgNjcsIAotICAgIDY1LCA3NiwgNzYsIDEyOCwgNjcsIDY1LCA3NiwgNjksIDc4LCA2OCwgNjUsIDgyLCAxMjgsIDY3LCA2NSwgNzYsIDY3LCAKLSAgICAxMjgsIDY3LCA2NSwgNzUsIDgyLCA2NSwgMTI4LCA2NywgNjUsIDc1LCAxOTcsIDY3LCA2NSwgNzMsIDEyOCwgNjcsIDY1LCAKLSAgICA3MiwgMTI4LCA2NywgNjUsIDY5LCA4MywgODUsIDgyLCA2NSwgMTI4LCA2NywgNjUsIDY4LCA4NSwgNjcsIDY5LCA4NSwgODMsIAotICAgIDEyOCwgNjcsIDY1LCA2OCwgMTkzLCA2NywgNjUsIDY3LCA4NCwgODUsIDgzLCAxMjgsIDY3LCA2NSwgNjYsIDc2LCA2OSwgCi0gICAgODcsIDY1LCA4OSwgMTI4LCA2NywgNjUsIDY2LCA2NiwgNjUsIDcxLCA2OSwgNDUsIDg0LCA4MiwgNjksIDY5LCAxMjgsIDY3LCAKLSAgICA2NSwgNjUsIDc4LCA3MSwgMTI4LCA2NywgNjUsIDY1LCA3MywgMTI4LCA2NywgMTkzLCA2NywgNDgsIDUwLCA1MiwgMTI4LCAKLSAgICA2NywgNDgsIDUwLCA1MSwgMTI4LCA2NywgNDgsIDUwLCA1MCwgMTI4LCA2NywgNDgsIDUwLCA0OSwgMTI4LCA2NywgNDgsIAotICAgIDUwLCA0OCwgMTI4LCA2NywgNDgsIDQ5LCA1NywgMTI4LCA2NywgNDgsIDQ5LCA1NiwgMTI4LCA2NywgNDgsIDQ5LCA1NSwgCi0gICAgMTI4LCA2NywgNDgsIDQ5LCA1NCwgMTI4LCA2NywgNDgsIDQ5LCA1MywgMTI4LCA2NywgNDgsIDQ5LCA1MiwgMTI4LCA2NywgCi0gICAgNDgsIDQ5LCA1MSwgMTI4LCA2NywgNDgsIDQ5LCA1MCwgMTI4LCA2NywgNDgsIDQ5LCA0OSwgMTI4LCA2NywgNDgsIDQ5LCAKLSAgICA0OCwgNjUsIDEyOCwgNjcsIDQ4LCA0OSwgNDgsIDEyOCwgNjcsIDQ4LCA0OCwgNTcsIDEyOCwgNjcsIDQ4LCA0OCwgNTYsIAotICAgIDEyOCwgNjcsIDQ4LCA0OCwgNTUsIDEyOCwgNjcsIDQ4LCA0OCwgNTQsIDEyOCwgNjcsIDQ4LCA0OCwgNTMsIDEyOCwgNjcsIAotICAgIDQ4LCA0OCwgNTIsIDEyOCwgNjcsIDQ4LCA0OCwgNTEsIDEyOCwgNjcsIDQ4LCA0OCwgNTAsIDY3LCAxMjgsIDY3LCA0OCwgCi0gICAgNDgsIDUwLCA2NiwgMTI4LCA2NywgNDgsIDQ4LCA1MCwgNjUsIDEyOCwgNjcsIDQ4LCA0OCwgNTAsIDEyOCwgNjcsIDQ4LCAKLSAgICA0OCwgNDksIDEyOCwgNjcsIDQ1LCA4MywgNzMsIDc3LCA4MCwgNzYsIDczLCA3MCwgNzMsIDY5LCAxOTYsIDY3LCA0NSwgNTEsIAotICAgIDU3LCAxMjgsIDY3LCA0NSwgNDksIDU2LCAxMjgsIDY2LCA5MCwgODUsIDc4LCAxOTksIDY2LCA5MCwgNzIsIDIwMSwgNjYsIAotICAgIDg5LCA4NCwgMTk3LCA2NiwgODksIDY5LCA3NiwgNzksIDgyLCA4NSwgODMsIDgzLCA3MywgNjUsIDc4LCA0NSwgODUsIDc1LCAKLSAgICA4MiwgNjUsIDczLCA3OCwgNzMsIDY1LCAyMDYsIDY2LCA4OCwgNzEsIDEyOCwgNjYsIDg3LCA3MywgMTI4LCA2NiwgODcsIAotICAgIDY5LCA2OSwgMTI4LCA2NiwgODcsIDY5LCAxMjgsIDY2LCA4NywgNjUsIDEyOCwgNjYsIDg1LCA4NSwgNzcsIDczLCA4MywgCi0gICAgNzIsIDEyOCwgNjYsIDg1LCA4NCwgODQsIDc5LCA3OCwgMTI4LCA2NiwgODUsIDIxMiwgNjYsIDg1LCA4MywgODQsIDIxMSwgCi0gICAgNjYsIDg1LCA4MywgMjEyLCA2NiwgODUsIDgzLCA4MywgODksIDY5LCA4MiwgODUsIDEyOCwgNjYsIDg1LCAyMTEsIDY2LCAKKyAgICA4MywgODQsIDc2LCA2OSwgMTI4LCA2NywgNjUsIDgzLCA3NSwgNjksIDIxMiwgNjcsIDY1LCA4MiwgODksIDgzLCA4NCwgNzMsIAorICAgIDY1LCAyMDYsIDY3LCA2NSwgODIsIDg0LCA4MiwgNzMsIDY4LCA3MSwgNjksIDEyOCwgNjcsIDY1LCA4MiwgODQsIDEyOCwgCisgICAgNjcsIDY1LCA4MiwgMjExLCA2NywgNjUsIDgyLCA4MiwgNzMsIDY1LCA3MSwgMTk3LCA2NywgNjUsIDgyLCA4MCwgNjksIDc4LCAKKyAgICA4NCwgODIsIDIxNywgNjcsIDY1LCA4MiwgMjA4LCA2NywgNjUsIDgyLCA3OSwgODUsIDgzLCA2OSwgMjA0LCA2NywgNjUsIAorICAgIDgyLCA3OSwgNzgsIDEyOCwgNjcsIDY1LCA4MiwgNzksIDIwNiwgNjcsIDY1LCA4MiwgNzMsIDIwMywgNjcsIDY1LCA4MiwgCisgICAgNzMsIDY1LCAyMDYsIDY3LCA2NSwgODIsIDY5LCA4NCwgMTI4LCA2NywgNjUsIDgyLCA2OSwgMjEyLCA2NywgNjUsIDgyLCAKKyAgICAxOTcsIDY3LCA2NSwgODIsIDY4LCA4MywgMTI4LCA2NywgNjUsIDgyLCA2OCwgMTI4LCA2NywgNjUsIDgyLCAxMjgsIDY3LCAKKyAgICA2NSwgMjEwLCA2NywgNjUsIDgwLCA4NSwgMjEyLCA2NywgNjUsIDgwLCA4NCwgNzMsIDg2LCA2OSwgMTI4LCA2NywgNjUsIAorICAgIDgwLCA4MiwgNzMsIDY3LCA3OSwgODIsIDc4LCAxMjgsIDY3LCA2NSwgODAsIDgwLCA2OSwgMTk2LCA2NywgNjUsIDgwLCA3OSwgCisgICAgMTI4LCA2NywgNjUsIDgwLCA3MywgODQsIDg1LCA3NiwgODUsIDc3LCAxMjgsIDY3LCA2NSwgODAsIDczLCA4NCwgNjUsIDc2LCAKKyAgICAxMjgsIDY3LCA2NSwgNzgsIDg0LCA3MywgNzYsIDc2LCA2NSwgODQsIDczLCA3OSwgMjA2LCA2NywgNjUsIDc4LCAxOTksIAorICAgIDY3LCA2NSwgNzgsIDY4LCA4OSwgMTI4LCA2NywgNjUsIDc4LCA2OCwgODIsIDY1LCA2NiwgNzMsIDc4LCA2OCwgODUsIDEyOCwgCisgICAgNjcsIDY1LCA3OCwgNjgsIDgyLCA2NSwgNjYsIDczLCA3OCwgNjgsIDIxMywgNjcsIDY1LCA3OCwgNjgsIDgyLCA2NSwgMTI4LCAKKyAgICA2NywgNjUsIDc4LCA2OCwgODIsIDE5MywgNjcsIDY1LCA3OCwgNjgsIDc2LCA2OSwgMTI4LCA2NywgNjUsIDc4LCA2NywgNjksIAorICAgIDgyLCAxMjgsIDY3LCA2NSwgNzgsIDY3LCA2OSwgNzYsIDc2LCA2NSwgODQsIDczLCA3OSwgMjA2LCA2NywgNjUsIDc4LCA2NywgCisgICAgNjksIDc2LCAxMjgsIDY3LCA2NSwgNzgsIDY3LCA2OSwgMjA0LCA2NywgNjUsIDc4LCAxMjgsIDY3LCA2NSwgNzcsIDgwLCAKKyAgICA3MywgNzgsIDcxLCAxMjgsIDY3LCA2NSwgNzcsIDc4LCA4NSwgMTk1LCA2NywgNjUsIDc3LCA2OSwgODIsIDY1LCAxMjgsIAorICAgIDY3LCA2NSwgNzcsIDY5LCA4MiwgMTkzLCA2NywgNjUsIDc3LCA2OSwgNzYsIDEyOCwgNjcsIDY1LCA3NiwgODksIDY1LCAKKyAgICAxMjgsIDY3LCA2NSwgNzYsIDg5LCAxOTMsIDY3LCA2NSwgNzYsIDg4LCAxMjgsIDY3LCA2NSwgNzYsIDc2LCAxMjgsIDY3LCAKKyAgICA2NSwgNzYsIDY5LCA3OCwgNjgsIDY1LCA4MiwgMTI4LCA2NywgNjUsIDc2LCA2OSwgNzgsIDY4LCA2NSwgMjEwLCA2NywgNjUsIAorICAgIDc2LCA2NywgODUsIDc2LCA2NSwgODQsIDc5LCA4MiwgMTI4LCA2NywgNjUsIDc2LCA2NywgMTI4LCA2NywgNjUsIDc1LCA4MiwgCisgICAgNjUsIDEyOCwgNjcsIDY1LCA3NSwgMTk3LCA2NywgNjUsIDczLCAxMjgsIDY3LCA2NSwgNzIsIDEyOCwgNjcsIDY1LCA2OSwgCisgICAgODMsIDg1LCA4MiwgNjUsIDEyOCwgNjcsIDY1LCA2OCwgODUsIDY3LCA2OSwgODUsIDgzLCAxMjgsIDY3LCA2NSwgNjgsIAorICAgIDE5MywgNjcsIDY1LCA2NywgODQsIDg1LCA4MywgMTI4LCA2NywgNjUsIDY2LCA3NiwgNjksIDg3LCA2NSwgODksIDEyOCwgCisgICAgNjcsIDY1LCA2NiwgNzMsIDc4LCA2OSwgODQsIDEyOCwgNjcsIDY1LCA2NiwgNjYsIDY1LCA3MSwgNjksIDQ1LCA4NCwgODIsIAorICAgIDY5LCA2OSwgMTI4LCA2NywgNjUsIDY1LCA3OCwgNzEsIDEyOCwgNjcsIDY1LCA2NSwgNzMsIDEyOCwgNjcsIDE5MywgNjcsIAorICAgIDQ4LCA1MCwgNTIsIDEyOCwgNjcsIDQ4LCA1MCwgNTEsIDEyOCwgNjcsIDQ4LCA1MCwgNTAsIDEyOCwgNjcsIDQ4LCA1MCwgCisgICAgNDksIDEyOCwgNjcsIDQ4LCA1MCwgNDgsIDEyOCwgNjcsIDQ4LCA0OSwgNTcsIDEyOCwgNjcsIDQ4LCA0OSwgNTYsIDEyOCwgCisgICAgNjcsIDQ4LCA0OSwgNTUsIDEyOCwgNjcsIDQ4LCA0OSwgNTQsIDEyOCwgNjcsIDQ4LCA0OSwgNTMsIDEyOCwgNjcsIDQ4LCAKKyAgICA0OSwgNTIsIDEyOCwgNjcsIDQ4LCA0OSwgNTEsIDEyOCwgNjcsIDQ4LCA0OSwgNTAsIDEyOCwgNjcsIDQ4LCA0OSwgNDksIAorICAgIDEyOCwgNjcsIDQ4LCA0OSwgNDgsIDY1LCAxMjgsIDY3LCA0OCwgNDksIDQ4LCAxMjgsIDY3LCA0OCwgNDgsIDU3LCAxMjgsIAorICAgIDY3LCA0OCwgNDgsIDU2LCAxMjgsIDY3LCA0OCwgNDgsIDU1LCAxMjgsIDY3LCA0OCwgNDgsIDU0LCAxMjgsIDY3LCA0OCwgCisgICAgNDgsIDUzLCAxMjgsIDY3LCA0OCwgNDgsIDUyLCAxMjgsIDY3LCA0OCwgNDgsIDUxLCAxMjgsIDY3LCA0OCwgNDgsIDUwLCAKKyAgICA2NywgMTI4LCA2NywgNDgsIDQ4LCA1MCwgNjYsIDEyOCwgNjcsIDQ4LCA0OCwgNTAsIDY1LCAxMjgsIDY3LCA0OCwgNDgsIAorICAgIDUwLCAxMjgsIDY3LCA0OCwgNDgsIDQ5LCAxMjgsIDY3LCA0NSwgODMsIDczLCA3NywgODAsIDc2LCA3MywgNzAsIDczLCA2OSwgCisgICAgMTk2LCA2NywgNDUsIDUxLCA1NywgMTI4LCA2NywgNDUsIDQ5LCA1NiwgMTI4LCA2NiwgOTAsIDg1LCA3OCwgMTk5LCA2NiwgCisgICAgOTAsIDcyLCAyMDEsIDY2LCA4OSwgODQsIDE5NywgNjYsIDg5LCA2OSwgNzYsIDc5LCA4MiwgODUsIDgzLCA4MywgNzMsIDY1LCAKKyAgICA3OCwgNDUsIDg1LCA3NSwgODIsIDY1LCA3MywgNzgsIDczLCA2NSwgMjA2LCA2NiwgODgsIDcxLCAxMjgsIDY2LCA4NywgNzMsIAorICAgIDEyOCwgNjYsIDg3LCA2OSwgNjksIDEyOCwgNjYsIDg3LCA2OSwgMTI4LCA2NiwgODcsIDY1LCAxMjgsIDY2LCA4NSwgODUsIAorICAgIDc3LCA3MywgODMsIDcyLCAxMjgsIDY2LCA4NSwgODQsIDg0LCA3OSwgNzgsIDEyOCwgNjYsIDg1LCA4NCwgODQsIDc5LCAKKyAgICAyMDYsIDY2LCA4NSwgMjEyLCA2NiwgODUsIDgzLCA4NCwgMjExLCA2NiwgODUsIDgzLCAyMTIsIDY2LCA4NSwgODMsIDgzLCAKKyAgICA4OSwgNjksIDgyLCA4NSwgMTI4LCA2NiwgODUsIDgzLCA3MywgNzgsIDY5LCA4MywgMjExLCA2NiwgODUsIDIxMSwgNjYsIAogICAgIDg1LCA4MiwgMjEzLCA2NiwgODUsIDgyLCA1MCwgMTI4LCA2NiwgODUsIDIxMCwgNjYsIDg1LCA3OSwgODgsIDEyOCwgNjYsIAogICAgIDg1LCA3OSwgODAsIDEyOCwgNjYsIDg1LCA3OCwgNzgsIDIxNywgNjYsIDg1LCA3OCwgNzEsIDEyOCwgNjYsIDg1LCA3NywgCiAgICAgODAsIDIxNywgNjYsIDg1LCA3NiwgODUsIDcxLCAxMjgsIDY2LCA4NSwgNzYsIDg1LCAxOTksIDY2LCA4NSwgNzYsIDc2LCAKLSAgICA4MywgNjksIDg5LCA2OSwgMTI4LCA2NiwgODUsIDc2LCA3NiwgMjExLCA2NiwgODUsIDc2LCA3NiwgNjksIDg0LCAxMjgsIAotICAgIDY2LCA4NSwgNzYsIDc2LCA2OSwgMjEyLCA2NiwgODUsIDc2LCA3NiwgMTI4LCA2NiwgODUsIDc2LCA2NiwgMTI4LCA2NiwgCi0gICAgODUsIDc1LCA4OSwgMTI4LCA2NiwgODUsIDczLCA3NiwgNjgsIDczLCA3OCwgNzEsIDgzLCAxMjgsIDY2LCA4NSwgNzMsIDc2LCAKLSAgICA2OCwgNzMsIDc4LCA3MSwgMTI4LCA2NiwgODUsIDcyLCA3MywgMTk2LCA2NiwgODUsIDcxLCA3MywgNzgsIDY5LCA4MywgCi0gICAgMTk3LCA2NiwgODUsIDcxLCAxMjgsIDY2LCA4NSwgNzAsIDcwLCA2NSwgNzYsIDc5LCAxMjgsIDY2LCA4NSwgNjcsIDc1LCAKLSAgICA3NiwgNjksIDEyOCwgNjYsIDgzLCA4NCwgNjUsIDgyLCAxMjgsIDY2LCA4MywgNzUsIDg1LCAyMTAsIDY2LCA4MywgNzUsIAotICAgIDY1LCAxNzMsIDY2LCA4MywgNjgsIDg1LCAyMTEsIDY2LCA4MiwgODUsIDgzLCA3MiwgMTI4LCA2NiwgODIsIDg1LCA4MywgCi0gICAgMjAwLCA2NiwgODIsIDc5LCA3OCwgOTAsIDY5LCAxMjgsIDY2LCA4MiwgNzksIDc1LCA2OSwgMjA2LCA2NiwgODIsIDc5LCAKLSAgICA2NSwgMTk2LCA2NiwgODIsIDczLCA4MywgODQsIDc2LCA2OSwgMTI4LCA2NiwgODIsIDczLCA3MSwgNzIsIDg0LCA3OCwgNjksIAotICAgIDgzLCAyMTEsIDY2LCA4MiwgNzMsIDY5LCA3MCwgNjcsIDY1LCA4MywgNjksIDEyOCwgNjYsIDgyLCA3MywgNjgsIDcxLCAKLSAgICAxOTcsIDY2LCA4MiwgNzMsIDY4LCAxOTcsIDY2LCA4MiwgNzMsIDY3LCA3NSwgMTI4LCA2NiwgODIsIDY5LCA4NiwgNzMsIAotICAgIDgzLCAxMjgsIDY2LCA4MiwgNjksIDg2LCA2OSwgNDUsIDc3LCA2NSwgNjcsIDgyLCA3OSwgNzgsIDEyOCwgNjYsIDgyLCA2OSwgCi0gICAgODYsIDE5NywgNjYsIDgyLCA2OSwgNjUsIDg0LCAyMDAsIDY2LCA4MiwgNjksIDY1LCA3NSwgODQsIDcyLCA4MiwgNzksIDg1LCAKLSAgICA3MSwgNzIsIDEyOCwgNjYsIDgyLCA2OSwgNjUsIDY4LCAxMjgsIDY2LCA4MiwgNjgsIDE5MywgNjYsIDgyLCA2NSwgNzgsIAotICAgIDY3LCA3MiwgNzMsIDc4LCAxOTksIDY2LCA4MiwgNjUsIDc4LCA2NywgNzIsIDEyOCwgNjYsIDgyLCA2NSwgNzgsIDY3LCAKKyAgICA4MywgNjksIDg5LCA2OSwgMTI4LCA2NiwgODUsIDc2LCA3NiwgMjExLCA2NiwgODUsIDc2LCA3NiwgNzIsIDc5LCA4MiwgNzgsIAorICAgIDEyOCwgNjYsIDg1LCA3NiwgNzYsIDcyLCA3OSwgODIsIDIwNiwgNjYsIDg1LCA3NiwgNzYsIDY5LCA4NCwgMTI4LCA2NiwgCisgICAgODUsIDc2LCA3NiwgNjksIDIxMiwgNjYsIDg1LCA3NiwgNzYsIDEyOCwgNjYsIDg1LCA3NiwgNjYsIDEyOCwgNjYsIDg1LCAKKyAgICA3NSwgODksIDEyOCwgNjYsIDg1LCA3MywgNzYsIDY4LCA3MywgNzgsIDcxLCA4MywgMTI4LCA2NiwgODUsIDczLCA3NiwgNjgsIAorICAgIDczLCA3OCwgNzEsIDEyOCwgNjYsIDg1LCA3MywgNzYsIDY4LCA3MywgNzgsIDE5OSwgNjYsIDg1LCA3MiwgNzMsIDE5NiwgCisgICAgNjYsIDg1LCA3MSwgNzMsIDc4LCA2OSwgODMsIDE5NywgNjYsIDg1LCA3MSwgMTI4LCA2NiwgODUsIDcwLCA3MCwgNjUsIDc2LCAKKyAgICA3OSwgMTI4LCA2NiwgODUsIDY4LCAxMjgsIDY2LCA4NSwgNjcsIDc1LCA3NiwgNjksIDEyOCwgNjYsIDg1LCA2NiwgNjYsIAorICAgIDc2LCA2OSwgODMsIDEyOCwgNjYsIDg1LCA2NiwgNjYsIDc2LCA2OSwgMTI4LCA2NiwgODMsIDg0LCA2NSwgODIsIDEyOCwgCisgICAgNjYsIDgzLCA3NSwgODUsIDIxMCwgNjYsIDgzLCA3NSwgNjUsIDE3MywgNjYsIDgzLCA2OCwgODUsIDIxMSwgNjYsIDgyLCAKKyAgICA4NSwgODMsIDIwMCwgNjYsIDgyLCA3OSwgNzgsIDkwLCA2OSwgMTI4LCA2NiwgODIsIDc5LCA3NSwgNjksIDIwNiwgNjYsIAorICAgIDgyLCA3OSwgNjUsIDE5NiwgNjYsIDgyLCA3MywgODMsIDg0LCA3NiwgNjksIDEyOCwgNjYsIDgyLCA3MywgNzEsIDcyLCA4NCwgCisgICAgNzgsIDY5LCA4MywgMjExLCA2NiwgODIsIDczLCA2OSwgNzAsIDY3LCA2NSwgODMsIDY5LCAxMjgsIDY2LCA4MiwgNzMsIDY4LCAKKyAgICA3MSwgMTk3LCA2NiwgODIsIDczLCA2OCwgMTk3LCA2NiwgODIsIDczLCA2NywgNzUsIDEyOCwgNjYsIDgyLCA2OSwgODYsIAorICAgIDczLCA4MywgMTI4LCA2NiwgODIsIDY5LCA4NiwgNjksIDQ1LCA3NywgNjUsIDY3LCA4MiwgNzksIDc4LCAxMjgsIDY2LCA4MiwgCisgICAgNjksIDg2LCAxOTcsIDY2LCA4MiwgNjksIDY1LCA4NCwgMjAwLCA2NiwgODIsIDY5LCA2NSwgNzUsIDg0LCA3MiwgODIsIDc5LCAKKyAgICA4NSwgNzEsIDcyLCAxMjgsIDY2LCA4MiwgNjksIDY1LCA2OCwgMTI4LCA2NiwgODIsIDY4LCAxOTMsIDY2LCA4MiwgNjUsIAorICAgIDc4LCA2NywgNzIsIDczLCA3OCwgMTk5LCA2NiwgODIsIDY1LCA3OCwgNjcsIDcyLCAxMjgsIDY2LCA4MiwgNjUsIDc4LCA2NywgCiAgICAgMjAwLCA2NiwgODIsIDY1LCA3NSwgNjcsIDY5LCA4NCwgMTI4LCA2NiwgODIsIDY1LCA2NywgNzUsIDY5LCA4NCwgNjksIAogICAgIDE5NiwgNjYsIDgyLCA2NSwgNjcsIDc1LCA2OSwgMjEyLCA2NiwgODIsIDY1LCA2NywgNjksIDEyOCwgNjYsIDgxLCAxMjgsIAotICAgIDY2LCA4MCwgNzIsIDEyOCwgNjYsIDc5LCA4OSwgMTI4LCA2NiwgNzksIDg3LCA4NCwgNzMsIDY5LCAxMjgsIDY2LCA3OSwgCi0gICAgODcsIDg0LCA3MywgMTk3LCA2NiwgNzksIDg3LCA3NiwgNzMsIDc4LCA3MSwgMTI4LCA2NiwgNzksIDg3LCA3NiwgMTI4LCAKLSAgICA2NiwgNzksIDg3LCA3MywgNzgsIDE5OSwgNjYsIDc5LCAyMTUsIDY2LCA3OSwgODUsIDgxLCA4NSwgNjksIDg0LCAxMjgsIAotICAgIDY2LCA3OSwgODUsIDc4LCA2OCwgNjUsIDgyLCAyMTcsIDY2LCA3OSwgODQsIDg0LCA3OSwgNzcsIDQ1LCA3NiwgNzMsIDcxLCAKLSAgICA3MiwgODQsIDY5LCAxOTYsIDY2LCA3OSwgODQsIDg0LCA3OSwgNzcsIDEyOCwgNjYsIDc5LCA4NCwgODQsIDc5LCAyMDUsIAotICAgIDY2LCA3OSwgODQsIDg0LCA3NiwgNjksIDEyOCwgNjYsIDc5LCA4NCwgODQsIDc2LCAxOTcsIDY2LCA3OSwgODQsIDIwMCwgCi0gICAgNjYsIDc5LCA4MiwgODUsIDg0LCA3OSwgMTI4LCA2NiwgNzksIDgyLCA2NSwgODgsIDQ1LCA1MSwgMTI4LCA2NiwgNzksIDgyLCAKLSAgICA2NSwgODgsIDQ1LCA1MCwgMTI4LCA2NiwgNzksIDgyLCA2NSwgODgsIDEyOCwgNjYsIDc5LCA4MCwgNzksIDc3LCA3OSwgNzAsIAotICAgIDIwNywgNjYsIDc5LCA3OSwgODQsIDgzLCAxMjgsIDY2LCA3OSwgNzksIDg0LCAxMjgsIDY2LCA3OSwgNzksIDc3LCA2OSwgCi0gICAgODIsIDY1LCA3OCwgNzEsIDEyOCwgNjYsIDc5LCA3OSwgNzUsIDgzLCAxMjgsIDY2LCA3OSwgNzksIDc1LCA3NywgNjUsIDgyLCAKLSAgICA3NSwgMTI4LCA2NiwgNzksIDc5LCA3NSwgNzcsIDY1LCA4MiwgMjAzLCA2NiwgNzksIDc4LCA2OSwgMTI4LCA2NiwgNzksIAotICAgIDc3LCA2NiwgMTI4LCA2NiwgNzksIDc3LCAxMjgsIDY2LCA3OSwgNzYsIDg0LCAxMjgsIDY2LCA3OSwgNzYsIDIxMiwgNjYsIAotICAgIDc5LCA3MiwgNjUsIDczLCA4MiwgNzMsIDE5NSwgNjYsIDc5LCA2OCwgODksIDEyOCwgNjYsIDc5LCA2NSwgODIsIDEyOCwgCi0gICAgNjYsIDc5LCA2NSwgMTI4LCA2NiwgNzYsIDg1LCA2OSwgMTI4LCA2NiwgNzYsIDg1LCAxOTcsIDY2LCA3NiwgNzksIDg3LCAKLSAgICA3MCwgNzMsIDgzLCA3MiwgMTI4LCA2NiwgNzYsIDc5LCA4MywgODMsIDc5LCA3NywgMTI4LCA2NiwgNzYsIDc5LCA3OSwgNjgsIAotICAgIDEyOCwgNjYsIDc2LCA3OSwgNzgsIDE5NiwgNjYsIDc2LCA3OSwgNjcsIDc1LCAxMjgsIDY2LCA3NiwgNjksIDc4LCA2OCwgCi0gICAgNjksIDE5NiwgNjYsIDc2LCA2NSwgNzgsIDc1LCAxMjgsIDY2LCA3NiwgNjUsIDc4LCAyMDMsIDY2LCA3NiwgNjUsIDY4LCAKLSAgICAxOTcsIDY2LCA3NiwgNjUsIDY3LCA3NSwgNzAsIDc5LCA3OSwgMjEyLCA2NiwgNzYsIDY1LCA2NywgNzUsIDQ1LCA3NiwgNjksIAotICAgIDg0LCA4NCwgNjksIDIxMCwgNjYsIDc2LCA2NSwgNjcsIDc1LCA0NSwgNzAsIDY5LCA2NSwgODQsIDcyLCA2OSwgODIsIDY5LCAKLSAgICAxOTYsIDY2LCA3NiwgNjUsIDY3LCA3NSwgMTI4LCA2NiwgNzUsIDY1LCAxNzMsIDY2LCA3MywgODQsIDg0LCA2OSwgODIsIAotICAgIDEyOCwgNjYsIDczLCA4NCwgNzMsIDc4LCAxOTksIDY2LCA3MywgODMsIDc3LCA4NSwgODQsIDIwMCwgNjYsIDczLCA4MywgCi0gICAgNzcsIDczLCA3NiwgNzYsIDY1LCAyMDAsIDY2LCA3MywgODMsIDcyLCA3OSwgODAsIDEyOCwgNjYsIDczLCA4MywgNjksIDY3LCAKLSAgICA4NCwgNzMsIDc4LCAxOTksIDY2LCA3MywgODMsIDY1LCA3MiwgMTI4LCA2NiwgNzMsIDgyLCA4NSwgMTI4LCA2NiwgNzMsIAotICAgIDgyLCA4NCwgNzIsIDY4LCA2NSwgMjE3LCA2NiwgNzMsIDgyLCA3MSwgNjUsIDEyOCwgNjYsIDczLCA4MiwgNjgsIDEyOCwgCi0gICAgNjYsIDczLCA3OSwgNzIsIDY1LCA5MCwgNjUsIDgyLCAxOTYsIDY2LCA3MywgNzgsIDc5LCA2NywgODUsIDc2LCA2NSwgMjEwLCAKLSAgICA2NiwgNzMsIDc4LCA2OCwgNzMsIDc4LCAxOTksIDY2LCA3MywgNzgsIDY4LCA3MywgMTI4LCA2NiwgNzMsIDc4LCA2NSwgODIsIAotICAgIDIxNywgNjYsIDczLCA3NiwgNzYsIDczLCA2NSwgODIsIDY4LCA4MywgMTI4LCA2NiwgNzMsIDc2LCA2NSwgNjYsIDczLCA2NSwgCi0gICAgMjA0LCA2NiwgNzMsIDc1LCA3MywgNzgsIDczLCAxMjgsIDY2LCA3MywgNzEsIDEyOCwgNjYsIDczLCAxOTksIDY2LCA3MywgCi0gICAgNjksIDg0LCAxMjgsIDY2LCA3MywgNjgsIDY5LCA3OCwgODQsIDY1LCAyMDQsIDY2LCA3MywgNjgsIDY1LCA3NSwgODUsIDc5LCAKKyAgICA2NiwgODAsIDcyLCAxMjgsIDY2LCA3OSwgODksIDIxMSwgNjYsIDc5LCA4OSwgMTI4LCA2NiwgNzksIDg3LCA4NCwgNzMsIAorICAgIDY5LCAxMjgsIDY2LCA3OSwgODcsIDg0LCA3MywgMTk3LCA2NiwgNzksIDg3LCA3NiwgNzMsIDc4LCA3MSwgMTI4LCA2NiwgCisgICAgNzksIDg3LCA3NiwgMTI4LCA2NiwgNzksIDg3LCA3MywgNzgsIDE5OSwgNjYsIDc5LCAyMTUsIDY2LCA3OSwgODUsIDgxLCAKKyAgICA4NSwgNjksIDg0LCAxMjgsIDY2LCA3OSwgODUsIDgxLCA4NSwgNjksIDIxMiwgNjYsIDc5LCA4NSwgNzgsIDY4LCA2NSwgODIsIAorICAgIDIxNywgNjYsIDc5LCA4NCwgODQsIDc5LCA3NywgNDUsIDgzLCA3MiwgNjUsIDY4LCA2OSwgMTk2LCA2NiwgNzksIDg0LCA4NCwgCisgICAgNzksIDc3LCA0NSwgNzYsIDczLCA3MSwgNzIsIDg0LCA2OSwgMTk2LCA2NiwgNzksIDg0LCA4NCwgNzksIDc3LCAxMjgsIDY2LCAKKyAgICA3OSwgODQsIDg0LCA3OSwgMjA1LCA2NiwgNzksIDg0LCA4NCwgNzYsIDY5LCAxMjgsIDY2LCA3OSwgODQsIDg0LCA3NiwgCisgICAgMTk3LCA2NiwgNzksIDg0LCAyMDAsIDY2LCA3OSwgODIsIDg1LCA4NCwgNzksIDEyOCwgNjYsIDc5LCA4MiwgNjUsIDg4LCAKKyAgICA0NSwgNTEsIDEyOCwgNjYsIDc5LCA4MiwgNjUsIDg4LCA0NSwgNTAsIDEyOCwgNjYsIDc5LCA4MiwgNjUsIDg4LCAxMjgsIAorICAgIDY2LCA3OSwgODAsIDc5LCA3NywgNzksIDcwLCAyMDcsIDY2LCA3OSwgNzksIDg0LCA4MywgMTI4LCA2NiwgNzksIDc5LCA4NCwgCisgICAgMTI4LCA2NiwgNzksIDc5LCA3NywgNjksIDgyLCA2NSwgNzgsIDcxLCAxMjgsIDY2LCA3OSwgNzksIDc1LCA4MywgMTI4LCAKKyAgICA2NiwgNzksIDc5LCA3NSwgNzcsIDY1LCA4MiwgNzUsIDEyOCwgNjYsIDc5LCA3OSwgNzUsIDc3LCA2NSwgODIsIDIwMywgNjYsIAorICAgIDc5LCA3OCwgNjksIDEyOCwgNjYsIDc5LCA3NywgNjYsIDEyOCwgNjYsIDc5LCA3NywgMTI4LCA2NiwgNzksIDc2LCA4NCwgCisgICAgMTI4LCA2NiwgNzksIDc2LCAyMTIsIDY2LCA3OSwgNzIsIDY1LCA3MywgODIsIDczLCAxOTUsIDY2LCA3OSwgNjgsIDg5LCAKKyAgICAxMjgsIDY2LCA3OSwgNjUsIDgyLCAxMjgsIDY2LCA3OSwgNjUsIDEyOCwgNjYsIDc2LCA4NSwgNjksIDEyOCwgNjYsIDc2LCAKKyAgICA4NSwgMTk3LCA2NiwgNzYsIDc5LCA4NywgNzMsIDc4LCAxOTksIDY2LCA3NiwgNzksIDg3LCA3MCwgNzMsIDgzLCA3MiwgCisgICAgMTI4LCA2NiwgNzYsIDc5LCA4MywgODMsIDc5LCA3NywgMTI4LCA2NiwgNzYsIDc5LCA3OSwgNjgsIDEyOCwgNjYsIDc2LCAKKyAgICA3OSwgNzgsIDE5NiwgNjYsIDc2LCA3OSwgNjcsIDc1LCAxMjgsIDY2LCA3NiwgNjksIDc4LCA2OCwgNjksIDE5NiwgNjYsIAorICAgIDc2LCA2NSwgNzgsIDc1LCAxMjgsIDY2LCA3NiwgNjUsIDc4LCAyMDMsIDY2LCA3NiwgNjUsIDY4LCAxOTcsIDY2LCA3NiwgCisgICAgNjUsIDY3LCA3NSwgNzYsIDY5LCA4NCwgODQsIDY5LCAyMTAsIDY2LCA3NiwgNjUsIDY3LCA3NSwgNzAsIDc5LCA3OSwgMjEyLCAKKyAgICA2NiwgNzYsIDY1LCA2NywgNzUsIDQ1LCA3NiwgNjksIDg0LCA4NCwgNjksIDIxMCwgNjYsIDc2LCA2NSwgNjcsIDc1LCA0NSwgCisgICAgNzAsIDY5LCA2NSwgODQsIDcyLCA2OSwgODIsIDY5LCAxOTYsIDY2LCA3NiwgNjUsIDY3LCA3NSwgMTI4LCA2NiwgNzUsIDY1LCAKKyAgICAxNzMsIDY2LCA3MywgODQsIDg0LCA2OSwgODIsIDEyOCwgNjYsIDczLCA4NCwgNzMsIDc4LCAxOTksIDY2LCA3MywgODMsIAorICAgIDc3LCA4NSwgODQsIDIwMCwgNjYsIDczLCA4MywgNzcsIDczLCA3NiwgNzYsIDY1LCAyMDAsIDY2LCA3MywgODMsIDcyLCA3OSwgCisgICAgODAsIDEyOCwgNjYsIDczLCA4MywgNjksIDY3LCA4NCwgNzMsIDc4LCAxOTksIDY2LCA3MywgODMsIDY1LCA3MiwgMTI4LCAKKyAgICA2NiwgNzMsIDgyLCA4NSwgMTI4LCA2NiwgNzMsIDgyLCA4NCwgNzIsIDY4LCA2NSwgMjE3LCA2NiwgNzMsIDgyLCA3MSwgNjUsIAorICAgIDEyOCwgNjYsIDczLCA4MiwgNjgsIDEyOCwgNjYsIDczLCA3OSwgNzIsIDY1LCA5MCwgNjUsIDgyLCAxOTYsIDY2LCA3MywgCisgICAgNzgsIDc5LCA2NywgODUsIDc2LCA2NSwgMjEwLCA2NiwgNzMsIDc4LCA2OCwgNzMsIDc4LCAxOTksIDY2LCA3MywgNzgsIDY4LCAKKyAgICA3MywgMTI4LCA2NiwgNzMsIDc4LCA2NSwgODIsIDIxNywgNjYsIDczLCA3NiwgNzYsIDczLCA3OSwgNzgsIDgzLCAxMjgsIAorICAgIDY2LCA3MywgNzYsIDc2LCA3MywgNjUsIDgyLCA2OCwgODMsIDEyOCwgNjYsIDczLCA3NiwgNjUsIDY2LCA3MywgNjUsIDIwNCwgCisgICAgNjYsIDczLCA3NSwgNzMsIDc4LCA3MywgMTI4LCA2NiwgNzMsIDcxLCAxMjgsIDY2LCA3MywgMTk5LCA2NiwgNzMsIDY5LCAKKyAgICA4NCwgMTI4LCA2NiwgNzMsIDY4LCA2OSwgNzgsIDg0LCA2NSwgMjA0LCA2NiwgNzMsIDY4LCA2NSwgNzUsIDg1LCA3OSwgCiAgICAgMjA2LCA2NiwgNzMsIDY3LCA4OSwgNjcsIDc2LCA3MywgODMsIDg0LCAxMjgsIDY2LCA3MywgNjcsIDg5LCA2NywgNzYsIDY5LCAKICAgICA4MywgMTI4LCA2NiwgNzMsIDY3LCA4OSwgNjcsIDc2LCA2OSwgMTI4LCA2NiwgNzMsIDY3LCA2OSwgODAsIDgzLCAxMjgsIAogICAgIDY2LCA3MywgNjYsIDc2LCA2OSwgNDUsIDY3LCA4MiwgNjksIDE5NywgNjYsIDczLCA2NiwgMTI4LCA2NiwgMjAxLCA2NiwgCkBAIC00MzUxLDE1NDg3ICs0NTgxLDE3MjAxIEBACiAgICAgODQsIDg3LCA2OSwgNjksIDIwNiwgNjYsIDY5LCA4NCwgNzIsIDEyOCwgNjYsIDY5LCA4NCwgNjUsIDEyOCwgNjYsIDY5LCAKICAgICA4NCwgMTkzLCA2NiwgNjksIDIxMiwgNjYsIDY5LCA4MywgNzMsIDY4LCAxOTcsIDY2LCA2OSwgODIsIDc1LCA2NSwgNzgsIAogICAgIDY1LCAyMDYsIDY2LCA2OSwgODIsIDY2LCA2OSwgMjEwLCA2NiwgNjksIDgwLCAxMjgsIDY2LCA2OSwgNzksIDgyLCAxOTUsIAotICAgIDY2LCA2OSwgNzgsIDkwLCA2OSwgNzgsIDE5NywgNjYsIDY5LCA3OCwgODQsIDIwNywgNjYsIDY5LCA3OCwgNjgsIDY5LCAKLSAgICAxMjgsIDY2LCA2OSwgNzgsIDY4LCAxMjgsIDY2LCA2OSwgMjA2LCA2NiwgNjksIDc2LCA4NCwgMTI4LCA2NiwgNjksIDc2LCAKLSAgICAyMTIsIDY2LCA2OSwgNzYsIDc5LCAyMTUsIDY2LCA2OSwgNzYsIDc2LCAxMjgsIDY2LCA2OSwgNzYsIDIwNCwgNjYsIDY5LCAKLSAgICA3NiwgNzEsIDg0LCA3MiwgNzksIDIxMCwgNjYsIDY5LCA3NiwgMTI4LCA2NiwgNjksIDczLCA4NCwgNzIsIDEyOCwgNjYsIAotICAgIDY5LCA3MiwgNzMsIDc4LCAxOTYsIDY2LCA2OSwgNzIsIDY5LCA3MiwgMTI4LCA2NiwgNjksIDcyLCA2OSwgMjAwLCA2NiwgCi0gICAgNjksIDcyLCAxMjgsIDY2LCA2OSwgMjAwLCA2NiwgNjksIDcxLCA3MywgNzgsIDc4LCA3MywgNzgsIDcxLCAxMjgsIDY2LCAKLSAgICA2OSwgNzEsIDczLCA3OCwgNzgsIDY5LCA4MiwgMTI4LCA2NiwgNjksIDcxLCA3MywgMjA2LCA2NiwgNjksIDcwLCA3OSwgODIsIAotICAgIDE5NywgNjYsIDY5LCA2OSwgODQsIDc2LCA2OSwgMTI4LCA2NiwgNjksIDY5LCA4NCwgNjUsIDEyOCwgNjYsIDY5LCA2OSwgCi0gICAgMjEwLCA2NiwgNjksIDY5LCA3MiwgNzMsIDg2LCA2OSwgMTI4LCA2NiwgNjksIDY5LCA3MiwgMTI4LCA2NiwgNjksIDY5LCAKLSAgICAyMDAsIDY2LCA2OSwgNjcsIDY1LCA4NSwgODMsIDY5LCAxMjgsIDY2LCA2OSwgNjUsIDg2LCA2OSwgMjEwLCA2NiwgNjksIAotICAgIDY1LCA4NCwgNzMsIDc4LCAxOTksIDY2LCA2OSwgNjUsIDg0LCAxMjgsIDY2LCA2OSwgNjUsIDIxMCwgNjYsIDY5LCA2NSwgCi0gICAgNzgsIDEyOCwgNjYsIDY5LCA2NSwgNzcsIDY5LCAxOTYsIDY2LCA2NywgNjUsIDY4LCAxMjgsIDY2LCA2NywgNjUsIDE5NiwgCi0gICAgNjYsIDY2LCA4OSwgODgsIDEyOCwgNjYsIDY2LCA4OSwgODQsIDEyOCwgNjYsIDY2LCA4OSwgODAsIDEyOCwgNjYsIDY2LCAKLSAgICA4OSwgMTI4LCA2NiwgNjYsIDg1LCA4OCwgMTI4LCA2NiwgNjYsIDg1LCA4NCwgMTI4LCA2NiwgNjYsIDg1LCA4MiwgODgsIAotICAgIDEyOCwgNjYsIDY2LCA4NSwgODIsIDEyOCwgNjYsIDY2LCA4NSwgODAsIDEyOCwgNjYsIDY2LCA4NSwgNzksIDg4LCAxMjgsIAotICAgIDY2LCA2NiwgODUsIDc5LCA4MCwgMTI4LCA2NiwgNjYsIDg1LCA3OSwgMTI4LCA2NiwgNjYsIDg1LCAxMjgsIDY2LCA2NiwgCi0gICAgNzksIDg4LCAxMjgsIDY2LCA2NiwgNzksIDg0LCAxMjgsIDY2LCA2NiwgNzksIDgwLCAxMjgsIDY2LCA2NiwgNzksIDEyOCwgCi0gICAgNjYsIDY2LCA3MywgODgsIDEyOCwgNjYsIDY2LCA3MywgODAsIDEyOCwgNjYsIDY2LCA3MywgNjksIDg4LCAxMjgsIDY2LCAKLSAgICA2NiwgNzMsIDY5LCA4NCwgMTI4LCA2NiwgNjYsIDczLCA2OSwgODAsIDEyOCwgNjYsIDY2LCA3MywgNjksIDEyOCwgNjYsIAotICAgIDY2LCA3MywgMTI4LCA2NiwgNjYsIDY5LCA4OCwgMTI4LCA2NiwgNjYsIDY5LCA4MCwgMTI4LCA2NiwgNjYsIDY5LCA2OSwgCi0gICAgMTI4LCA2NiwgNjYsIDY5LCAxMjgsIDY2LCA2NiwgNjUsIDg4LCAxMjgsIDY2LCA2NiwgNjUsIDg0LCAxMjgsIDY2LCA2NiwgCi0gICAgNjUsIDgwLCAxMjgsIDY2LCA2NiwgNjUsIDY1LCAxMjgsIDY2LCA2NiwgNjUsIDEyOCwgNjYsIDY1LCA4OSwgNjUsIDc4LCAKLSAgICA3OCwgNjUsIDEyOCwgNjYsIDY1LCA4NSwgMTI4LCA2NiwgNjUsIDg0LCA4NCwgNjksIDgyLCA4OSwgMTI4LCA2NiwgNjUsIAotICAgIDg0LCA3MiwgODQsIDg1LCA2NiwgMTI4LCA2NiwgNjUsIDg0LCA3MiwgNjUsIDc3LCA2NSwgODMsIDY1LCA4NCwgMTI4LCA2NiwgCi0gICAgNjUsIDg0LCA3MiwgMTI4LCA2NiwgNjUsIDg0LCAyMDAsIDY2LCA2NSwgODQsIDY1LCAyMDMsIDY2LCA2NSwgODMsIDgzLCAKLSAgICA2NSwgMTI4LCA2NiwgNjUsIDgzLCA3NSwgNjksIDg0LCA2NiwgNjUsIDc2LCAyMDQsIDY2LCA2NSwgODMsIDcyLCA3NSwgNzMsIAotICAgIDIxMCwgNjYsIDY1LCA4MywgNzIsIDEyOCwgNjYsIDY1LCA4MywgNjksIDY2LCA2NSwgNzYsIDc2LCAxMjgsIDY2LCA2NSwgCi0gICAgODMsIDY5LCAxMjgsIDY2LCA2NSwgODMsIDE5NywgNjYsIDY1LCA4MiwgODMsIDEyOCwgNjYsIDY1LCA4MiwgODIsIDczLCAKLSAgICA2OSwgODIsIDEyOCwgNjYsIDY1LCA4MiwgODIsIDY5LCA3NSwgNzIsIDEyOCwgNjYsIDY1LCA4MiwgODIsIDY5LCA2OSwgCi0gICAgMTI4LCA2NiwgNjUsIDgyLCA4MiwgNjksIDE5NywgNjYsIDY1LCA4MiwgNzYsIDczLCA3OCwgNjksIDEyOCwgNjYsIDY1LCAKLSAgICA4MiwgNzYsIDY5LCA4OSwgMTI4LCA2NiwgNjUsIDgyLCA3MywgODksIDc5LCA3OSwgODMsIDY1LCA3OCwgMTI4LCA2NiwgNjUsIAotICAgIDgyLCA2NiwgNjksIDIxMCwgNjYsIDY1LCA4MiwgMTk0LCA2NiwgNjUsIDgyLCA2NSwgNTAsIDEyOCwgNjYsIDY1LCAyMTAsIAotICAgIDY2LCA2NSwgNzgsIDg0LCA3OSwgNjcsIDEyOCwgNjYsIDY1LCA3OCwgNzUsIDc4LCA3OSwgODQsIDE5NywgNjYsIDY1LCA3OCwgCi0gICAgNzUsIDEyOCwgNjYsIDY1LCA3OCwgMjAzLCA2NiwgNjUsIDc4LCA2OCwgMTI4LCA2NiwgNjUsIDc4LCA2NSwgNzgsIDY1LCAKLSAgICAxMjgsIDY2LCA2NSwgNzgsIDUwLCAxMjgsIDY2LCA2NSwgNzgsIDE3OCwgNjYsIDY1LCA3NywgNjYsIDc5LCA3OSwgODMsIAotICAgIDEyOCwgNjYsIDY1LCA3NywgNjYsIDc5LCA3OSwgMTI4LCA2NiwgNjUsIDc2LCA4NSwgNjgsIDY1LCAxMjgsIDY2LCA2NSwgCi0gICAgNzYsIDc2LCA3OSwgMjEyLCA2NiwgNjUsIDc2LCA3NiwgNzksIDc5LCA3OCwgNDUsIDgzLCA4MCwgNzksIDc1LCA2OSwgMTk2LCAKLSAgICA2NiwgNjUsIDc2LCA3NiwgNzksIDc5LCA3OCwgMTI4LCA2NiwgNjUsIDc2LCA2NSwgNzEsIDEyOCwgNjYsIDY1LCA3NiwgCi0gICAgMTI4LCA2NiwgNjUsIDIwNCwgNjYsIDY1LCA3MywgODIsIDc1LCA2NSwgNzgsIDEyOCwgNjYsIDY1LCA3MywgNzcsIDY1LCAKLSAgICA3MywgMTI4LCA2NiwgNjUsIDcyLCA4NCwgMTI4LCA2NiwgNjUsIDcyLCA3MywgODIsIDcxLCA3OSwgNzcsIDg1LCA3NSwgNzIsIAotICAgIDY1LCAxMjgsIDY2LCA2NSwgNzIsIDY1LCA4MiwgNTAsIDEyOCwgNjYsIDY1LCA3MiwgMTI4LCA2NiwgNjUsIDcxLCA3MSwgCi0gICAgNjUsIDcxLCAxOTcsIDY2LCA2NSwgNzEsIDY1LCAxMjgsIDY2LCA2NSwgNzEsIDUxLCAxMjgsIDY2LCA2NSwgMTk5LCA2NiwgCi0gICAgNjUsIDY4LCA3MSwgNjksIDgyLCAxMjgsIDY2LCA2NSwgNjgsIDcxLCA2OSwgMTI4LCA2NiwgNjUsIDY4LCAxMjgsIDY2LCAKLSAgICA2NSwgNjcsIDg0LCA4MiwgNzMsIDY1LCAyMDYsIDY2LCA2NSwgNjcsIDc1LCA4NywgNjUsIDgyLCA2OCwgMTI4LCA2NiwgNjUsIAotICAgIDY3LCA3NSwgODMsIDgwLCA2NSwgNjcsIDY5LCAxMjgsIDY2LCA2NSwgNjcsIDc1LCA4MywgNzYsIDY1LCA4MywgNzIsIDEyOCwgCi0gICAgNjYsIDY1LCA2NywgNzUsIDgzLCA3NiwgNjUsIDgzLCAyMDAsIDY2LCA2NSwgNjcsIDc1LCA3MiwgNjUsIDc4LCAxOTYsIDY2LCAKLSAgICA2NSwgNjcsIDc1LCA0NSwgODQsIDczLCA3NiwgODQsIDY5LCAxOTYsIDY2LCA2NSwgNjcsIDc1LCAxMjgsIDY2LCA2NSwgNjcsIAotICAgIDIwMywgNjYsIDY1LCA2NiwgODksIDEyOCwgNjYsIDY1LCA2NiwgMjE3LCA2NiwgNjUsIDY1LCA4MiwgNjksIDgyLCA4NSwgCi0gICAgMTI4LCA2NiwgNjUsIDQ1LCA1MCwgMTI4LCA2NiwgNTEsIDQ4LCA1MywgMTI4LCA2NiwgNTAsIDUzLCA1NywgMTI4LCA2NiwgCi0gICAgNTAsIDUzLCA1NiwgMTI4LCA2NiwgNTAsIDUzLCA1NSwgMTI4LCA2NiwgNTAsIDUzLCA1NCwgMTI4LCA2NiwgNTAsIDUzLCAKLSAgICA1MywgMTI4LCA2NiwgNTAsIDUzLCAxODAsIDY2LCA1MCwgNTMsIDUxLCAxMjgsIDY2LCA1MCwgNTMsIDUwLCAxMjgsIDY2LCAKLSAgICA1MCwgNTMsIDQ5LCAxMjgsIDY2LCA1MCwgNTMsIDQ4LCAxMjgsIDY2LCA1MCwgNTIsIDU3LCAxMjgsIDY2LCA1MCwgNTIsIAotICAgIDU2LCAxMjgsIDY2LCA1MCwgNTIsIDE4MywgNjYsIDUwLCA1MiwgNTQsIDEyOCwgNjYsIDUwLCA1MiwgNTMsIDEyOCwgNjYsIAotICAgIDUwLCA1MiwgMTc5LCA2NiwgNTAsIDUyLCAxNzgsIDY2LCA1MCwgNTIsIDE3NywgNjYsIDUwLCA1MiwgMTc2LCA2NiwgNTAsIAotICAgIDUxLCA1NCwgMTI4LCA2NiwgNTAsIDUxLCA1MiwgMTI4LCA2NiwgNTAsIDUxLCAxNzksIDY2LCA1MCwgNTEsIDUwLCAxMjgsIAotICAgIDY2LCA1MCwgNTEsIDE3NywgNjYsIDUwLCA1MSwgMTc2LCA2NiwgNTAsIDUwLCA1NywgMTI4LCA2NiwgNTAsIDUwLCA1NiwgCi0gICAgMTI4LCA2NiwgNTAsIDUwLCA1NSwgMTI4LCA2NiwgNTAsIDUwLCA1NCwgMTI4LCA2NiwgNTAsIDUwLCAxODEsIDY2LCA1MCwgCi0gICAgNTAsIDUwLCAxMjgsIDY2LCA1MCwgNTAsIDQ5LCAxMjgsIDY2LCA1MCwgNTAsIDE3NiwgNjYsIDUwLCA0OSwgNTcsIDEyOCwgCi0gICAgNjYsIDUwLCA0OSwgNTYsIDEyOCwgNjYsIDUwLCA0OSwgNTUsIDEyOCwgNjYsIDUwLCA0OSwgNTQsIDEyOCwgNjYsIDUwLCAKLSAgICA0OSwgNTMsIDEyOCwgNjYsIDUwLCA0OSwgNTIsIDEyOCwgNjYsIDUwLCA0OSwgNTEsIDEyOCwgNjYsIDUwLCA0OSwgNTAsIAotICAgIDEyOCwgNjYsIDUwLCA0OSwgNDksIDEyOCwgNjYsIDUwLCA0OSwgNDgsIDEyOCwgNjYsIDUwLCA0OCwgNTcsIDEyOCwgNjYsIAotICAgIDUwLCA0OCwgNTYsIDEyOCwgNjYsIDUwLCA0OCwgNTUsIDEyOCwgNjYsIDUwLCA0OCwgNTQsIDEyOCwgNjYsIDUwLCA0OCwgCi0gICAgNTMsIDEyOCwgNjYsIDUwLCA0OCwgNTIsIDEyOCwgNjYsIDUwLCA0OCwgNTEsIDEyOCwgNjYsIDUwLCA0OCwgNTAsIDEyOCwgCi0gICAgNjYsIDUwLCA0OCwgNDksIDEyOCwgNjYsIDUwLCA0OCwgNDgsIDEyOCwgNjYsIDQ5LCA1NywgMTc3LCA2NiwgNDksIDU3LCAKLSAgICA0OCwgMTI4LCA2NiwgNDksIDU2LCA1NywgMTI4LCA2NiwgNDksIDU2LCA1MywgMTI4LCA2NiwgNDksIDU2LCA1MiwgMTI4LCAKLSAgICA2NiwgNDksIDU2LCA1MSwgMTI4LCA2NiwgNDksIDU2LCA1MCwgMTI4LCA2NiwgNDksIDU2LCA0OSwgMTI4LCA2NiwgNDksIAotICAgIDU2LCA0OCwgMTI4LCA2NiwgNDksIDU1LCA1NywgMTI4LCA2NiwgNDksIDU1LCA1NiwgMTI4LCA2NiwgNDksIDU1LCA1NSwgCi0gICAgMTI4LCA2NiwgNDksIDU1LCAxODIsIDY2LCA0OSwgNTUsIDUyLCAxMjgsIDY2LCA0OSwgNTUsIDE3OSwgNjYsIDQ5LCA1NSwgCi0gICAgNTAsIDEyOCwgNjYsIDQ5LCA1NSwgNDksIDEyOCwgNjYsIDQ5LCA1NSwgNDgsIDEyOCwgNjYsIDQ5LCA1NCwgNTcsIDEyOCwgCi0gICAgNjYsIDQ5LCA1NCwgNTYsIDEyOCwgNjYsIDQ5LCA1NCwgNTUsIDEyOCwgNjYsIDQ5LCA1NCwgNTQsIDEyOCwgNjYsIDQ5LCAKLSAgICA1NCwgNTMsIDEyOCwgNjYsIDQ5LCA1NCwgNTIsIDEyOCwgNjYsIDQ5LCA1NCwgMTc5LCA2NiwgNDksIDU0LCAxNzgsIDY2LCAKLSAgICA0OSwgNTQsIDQ5LCAxMjgsIDY2LCA0OSwgNTQsIDQ4LCAxMjgsIDY2LCA0OSwgNTMsIDE4NSwgNjYsIDQ5LCA1MywgNTYsIAotICAgIDEyOCwgNjYsIDQ5LCA1MywgNTUsIDEyOCwgNjYsIDQ5LCA1MywgMTgyLCA2NiwgNDksIDUzLCA1MywgMTI4LCA2NiwgNDksIAotICAgIDUzLCA1MiwgMTI4LCA2NiwgNDksIDUzLCA1MSwgMTI4LCA2NiwgNDksIDUzLCA1MCwgMTI4LCA2NiwgNDksIDUzLCAxNzcsIAotICAgIDY2LCA0OSwgNTMsIDQ4LCAxMjgsIDY2LCA0OSwgNTIsIDU0LCAxMjgsIDY2LCA0OSwgNTIsIDE4MSwgNjYsIDQ5LCA1MiwgCi0gICAgNTAsIDEyOCwgNjYsIDQ5LCA1MiwgMTc3LCA2NiwgNDksIDUyLCAxNzYsIDY2LCA0OSwgNTEsIDE4MSwgNjYsIDQ5LCA1MSwgCi0gICAgMTc5LCA2NiwgNDksIDUxLCA1MCwgMTI4LCA2NiwgNDksIDUxLCAxNzcsIDY2LCA0OSwgNTEsIDE3NiwgNjYsIDQ5LCA1MCwgCi0gICAgMTg0LCA2NiwgNDksIDUwLCAxODMsIDY2LCA0OSwgNTAsIDE4MSwgNjYsIDQ5LCA1MCwgMTc5LCA2NiwgNDksIDUwLCAxNzgsIAotICAgIDY2LCA0OSwgNTAsIDE3NywgNjYsIDQ5LCA1MCwgMTc2LCA2NiwgNDksIDQ4LCA1NywgMjA1LCA2NiwgNDksIDQ4LCA1NywgCi0gICAgMTk4LCA2NiwgNDksIDQ4LCA1NiwgMjA1LCA2NiwgNDksIDQ4LCA1NiwgMTk4LCA2NiwgNDksIDQ4LCA1NSwgMjA1LCA2NiwgCi0gICAgNDksIDQ4LCA1NSwgMTk4LCA2NiwgNDksIDQ4LCA1NCwgMjA1LCA2NiwgNDksIDQ4LCA1NCwgMTk4LCA2NiwgNDksIDQ4LCAKLSAgICA1MywgMjA1LCA2NiwgNDksIDQ4LCA1MywgMTk4LCA2NiwgNDksIDQ4LCAxODEsIDY2LCA0OSwgNDgsIDE4MCwgNjYsIDQ5LCAKLSAgICA0OCwgMTc4LCA2NiwgNDksIDQ4LCAxNzYsIDY2LCA0OCwgNTcsIDE3NywgNjYsIDQ4LCA1NywgMTc2LCA2NiwgNDgsIDU2LCAKLSAgICA1NywgMTI4LCA2NiwgNDgsIDU2LCAxODMsIDY2LCA0OCwgNTYsIDU0LCAxMjgsIDY2LCA0OCwgNTYsIDE4MSwgNjYsIDQ4LCAKLSAgICA1NiwgNTEsIDEyOCwgNjYsIDQ4LCA1NiwgNTAsIDEyOCwgNjYsIDQ4LCA1NiwgMTc3LCA2NiwgNDgsIDU2LCAxNzYsIDY2LCAKLSAgICA0OCwgNTUsIDU3LCAxMjgsIDY2LCA0OCwgNTUsIDE4NCwgNjYsIDQ4LCA1NSwgMTgzLCA2NiwgNDgsIDU1LCAxODIsIDY2LCAKLSAgICA0OCwgNTUsIDE4MSwgNjYsIDQ4LCA1NSwgMTgwLCA2NiwgNDgsIDU1LCAxNzksIDY2LCA0OCwgNTUsIDE3OCwgNjYsIDQ4LCAKLSAgICA1NSwgMTc3LCA2NiwgNDgsIDU1LCAxNzYsIDY2LCA0OCwgNTQsIDE4NSwgNjYsIDQ4LCA1NCwgMTg0LCA2NiwgNDgsIDU0LCAKLSAgICAxODMsIDY2LCA0OCwgNTQsIDE4MiwgNjYsIDQ4LCA1NCwgMTgxLCA2NiwgNDgsIDU0LCA1MiwgMTI4LCA2NiwgNDgsIDU0LCAKLSAgICA1MSwgMTI4LCA2NiwgNDgsIDU0LCAxNzgsIDY2LCA0OCwgNTQsIDE3NywgNjYsIDQ4LCA1NCwgMTc2LCA2NiwgNDgsIDUzLCAKLSAgICAxODUsIDY2LCA0OCwgNTMsIDE4NCwgNjYsIDQ4LCA1MywgMTgzLCA2NiwgNDgsIDUzLCA1NCwgMTI4LCA2NiwgNDgsIDUzLCAKLSAgICAxODEsIDY2LCA0OCwgNTMsIDE4MCwgNjYsIDQ4LCA1MywgMTc5LCA2NiwgNDgsIDUzLCAxNzgsIDY2LCA0OCwgNTMsIDE3NywgCi0gICAgNjYsIDQ4LCA1MywgMTc2LCA2NiwgNDgsIDUyLCA1NywgMTI4LCA2NiwgNDgsIDUyLCAxODQsIDY2LCA0OCwgNTIsIDU1LCAKLSAgICAxMjgsIDY2LCA0OCwgNTIsIDE4MiwgNjYsIDQ4LCA1MiwgMTgxLCA2NiwgNDgsIDUyLCAxODAsIDY2LCA0OCwgNTIsIDE3OSwgCi0gICAgNjYsIDQ4LCA1MiwgMTc4LCA2NiwgNDgsIDUyLCAxNzcsIDY2LCA0OCwgNTIsIDE3NiwgNjYsIDQ4LCA1MSwgMTg1LCA2NiwgCi0gICAgNDgsIDUxLCAxODQsIDY2LCA0OCwgNTEsIDE4MywgNjYsIDQ4LCA1MSwgMTgyLCA2NiwgNDgsIDUxLCA1MiwgMTI4LCA2NiwgCi0gICAgNDgsIDUxLCAxNzksIDY2LCA0OCwgNTEsIDE3OCwgNjYsIDQ4LCA1MSwgMTc3LCA2NiwgNDgsIDUxLCAxNzYsIDY2LCA0OCwgCi0gICAgNTAsIDE4NSwgNjYsIDQ4LCA1MCwgMTg0LCA2NiwgNDgsIDUwLCAxODMsIDY2LCA0OCwgNTAsIDE4MiwgNjYsIDQ4LCA1MCwgCi0gICAgMTgxLCA2NiwgNDgsIDUwLCAxODAsIDY2LCA0OCwgNTAsIDE3OSwgNjYsIDQ4LCA1MCwgNTAsIDEyOCwgNjYsIDQ4LCA1MCwgCi0gICAgMTc3LCA2NiwgNDgsIDUwLCAxNzYsIDY2LCA0OCwgNDksIDU3LCAxMjgsIDY2LCA0OCwgNDksIDU2LCAxMjgsIDY2LCA0OCwgCi0gICAgNDksIDE4MywgNjYsIDQ4LCA0OSwgMTgyLCA2NiwgNDgsIDQ5LCAxODEsIDY2LCA0OCwgNDksIDE4MCwgNjYsIDQ4LCA0OSwgCi0gICAgMTc5LCA2NiwgNDgsIDQ5LCAxNzgsIDY2LCA0OCwgNDksIDE3NywgNjYsIDQ4LCA0OSwgMTc2LCA2NiwgNDgsIDQ4LCA1NywgCi0gICAgMTI4LCA2NiwgNDgsIDQ4LCAxODUsIDY2LCA0OCwgNDgsIDU2LCAxMjgsIDY2LCA0OCwgNDgsIDE4NCwgNjYsIDQ4LCA0OCwgCi0gICAgNTUsIDEyOCwgNjYsIDQ4LCA0OCwgMTgzLCA2NiwgNDgsIDQ4LCA1NCwgMTI4LCA2NiwgNDgsIDQ4LCAxODIsIDY2LCA0OCwgCi0gICAgNDgsIDUzLCA2NSwgMTI4LCA2NiwgNDgsIDQ4LCA1MywgMTI4LCA2NiwgNDgsIDQ4LCAxODEsIDY2LCA0OCwgNDgsIDUyLCAKLSAgICAxMjgsIDY2LCA0OCwgNDgsIDE4MCwgNjYsIDQ4LCA0OCwgNTEsIDEyOCwgNjYsIDQ4LCA0OCwgMTc5LCA2NiwgNDgsIDQ4LCAKLSAgICA1MCwgMTI4LCA2NiwgNDgsIDQ4LCAxNzgsIDY2LCA0OCwgNDgsIDQ5LCAxMjgsIDY2LCA0OCwgNDgsIDE3NywgNjUsIDkwLCAKLSAgICA4NSwgMTI4LCA2NSwgODksIDY5LCAyMTAsIDY1LCA4OSwgNjYsIDEyOCwgNjUsIDg5LCA2NSwgNzIsIDEyOCwgNjUsIDg4LCAKLSAgICA2OSwgMTI4LCA2NSwgODcsIDY5LCAxMjgsIDY1LCA4NiwgNjksIDgzLCA4NCwgNjUsIDIwNiwgNjUsIDg2LCA2OSwgODIsIAotICAgIDY1LCA3MSwgMTk3LCA2NSwgODYsIDY1LCA3NSwgODIsIDY1LCA3MiwgNjUsIDgzLCA2NSwgNzgsIDg5LCA2NSwgMTI4LCA2NSwgCi0gICAgODYsIDY1LCA3MSwgODIsIDY1LCA3MiwgNjUsIDEyOCwgNjUsIDg1LCA4OSwgNjUsIDc4LCA3OCwgNjUsIDEyOCwgNjUsIDg1LCAKLSAgICA4NCwgODUsIDc3LCA3OCwgMTI4LCA2NSwgODUsIDg0LCA3OSwgNzcsIDc5LCA2NiwgNzMsIDc2LCA2OSwgMTI4LCA2NSwgODUsIAotICAgIDg0LCA3OSwgNzcsIDY1LCA4NCwgNjksIDE5NiwgNjUsIDg1LCA4MywgODQsIDgyLCA2NSwgMjA0LCA2NSwgODUsIDgyLCA3MywgCi0gICAgODAsIDczLCA3MSwgNzcsIDY5LCA3OCwgODQsIDEyOCwgNjUsIDg1LCA4MiwgNjUsIDc3LCA2NSwgOTAsIDY4LCA2NSwgNjUsIAotICAgIDcyLCA2NSwgMTI4LCA2NSwgODUsIDgyLCA2NSwgNzcsIDY1LCA5MCwgNjgsIDY1LCA2NSwgNDUsIDUwLCAxMjgsIDY1LCA4NSwgCi0gICAgODIsIDY1LCA3NywgNjUsIDkwLCA2OCwgNjUsIDY1LCAxMjgsIDY1LCA4NSwgNzgsIDc4LCAxMjgsIDY1LCA4NSwgNzEsIDg1LCAKLSAgICA4MywgODQsIDEyOCwgNjUsIDg1LCA3MSwgNzcsIDY5LCA3OCwgODQsIDY1LCA4NCwgNzMsIDc5LCAyMDYsIDY1LCA4NSwgNjksIAotICAgIDEyOCwgNjUsIDg1LCA2NiwgNjksIDgyLCA3MSwgNzMsIDc4LCA2OSwgMTI4LCA2NSwgODQsIDg0LCA3MywgMTk1LCA2NSwgCi0gICAgODQsIDg0LCA3MiwgNjUsIDY3LCA2NSwgNzgsIDEyOCwgNjUsIDg0LCA4NCwgNjksIDc4LCA4NCwgNzMsIDc5LCA3OCwgMTI4LCAKLSAgICA2NSwgODQsIDg0LCA2NSwgMjAzLCA2NSwgODQsIDc5LCAyMDUsIDY1LCA4NCwgNzgsIDY1LCAyMDAsIDY1LCA4NCwgNzcsIAotICAgIDY1LCA2NSwgODUsIDEyOCwgNjUsIDg0LCA3MywgODksIDY1LCAxMjgsIDY1LCA4NCwgNzIsIDc2LCA2OSwgODQsIDczLCAKLSAgICAxOTUsIDY1LCA4NCwgNzIsIDY1LCA4MiwgODYsIDY1LCA4NiwgNjksIDY4LCA3MywgMTk1LCA2NSwgODQsIDcyLCA2NSwgODAsIAotICAgIDY1LCA4MywgNjcsIDY1LCAyMDYsIDY1LCA4MywgOTAsIDEyOCwgNjUsIDgzLCA4OSwgODUsIDgyLCAxOTMsIDY1LCA4MywgCi0gICAgODksIDc3LCA4MCwgODQsIDc5LCA4NCwgNzMsIDY3LCA2NSwgNzYsIDc2LCAyMTcsIDY1LCA4MywgODQsIDgyLCA3OSwgNzgsIAotICAgIDc5LCA3NywgNzMsIDY3LCA2NSwgMjA0LCA2NSwgODMsIDg0LCA4MiwgNzksIDc2LCA3OSwgNzEsIDczLCA2NywgNjUsIDIwNCwgCi0gICAgNjUsIDgzLCA4NCwgNzksIDc4LCA3MywgODMsIDcyLCA2OSwgMTk2LCA2NSwgODMsIDg0LCA2OSwgODIsIDczLCA4MywgNzcsIAotICAgIDEyOCwgNjUsIDgzLCA4NCwgNjksIDgyLCA3MywgODMsIDc1LCAyMTEsIDY1LCA4MywgODQsIDY5LCA4MiwgNzMsIDgzLCA3NSwgCi0gICAgMTI4LCA2NSwgODMsIDg0LCA2OSwgODIsIDczLCA4MywgMjAzLCA2NSwgODMsIDg0LCA2OSwgODIsIDczLCA4MywgNjcsIDg1LCAKLSAgICA4MywgMTI4LCA2NSwgODMsIDgzLCA4OSwgODIsIDczLCA2NSwgMjA2LCA2NSwgODMsIDgzLCA2OSwgODIsIDg0LCA3MywgNzksIAotICAgIDc4LCAxMjgsIDY1LCA4MywgODAsIDczLCA4MiwgNjUsIDg0LCA3MywgNzksIDc4LCAxMjgsIDY1LCA4MywgODAsIDczLCA4MiwgCi0gICAgNjUsIDg0LCA2OSwgMTk2LCA2NSwgODMsIDgwLCA2OSwgODIsIDEyOCwgNjUsIDgzLCA3MywgNjUsIDQ1LCA2NSwgODUsIDgzLCAKLSAgICA4NCwgODIsIDY1LCA3NiwgNzMsIDY1LCAxMjgsIDY1LCA4MywgNzIsIDcxLCA2NSwgNjYsIDEyOCwgNjUsIDgzLCA3MiwgNjksIAotICAgIDgzLCAxMjgsIDY1LCA4MywgNzIsIDU3LCAxMjgsIDY1LCA4MywgNzIsIDE3OCwgNjUsIDgzLCA2NywgNjksIDc4LCA4NCwgCisgICAgNjYsIDY5LCA3OCwgOTAsIDY5LCA3OCwgMTk3LCA2NiwgNjksIDc4LCA4NCwgMjA3LCA2NiwgNjksIDc4LCAyMTIsIDY2LCAKKyAgICA2OSwgNzgsIDY4LCA2OSwgMTI4LCA2NiwgNjksIDc4LCA2OCwgMTI4LCA2NiwgNjksIDIwNiwgNjYsIDY5LCA3NiwgODQsIAorICAgIDEyOCwgNjYsIDY5LCA3NiwgMjEyLCA2NiwgNjksIDc2LCA3OSwgMjE1LCA2NiwgNjksIDc2LCA3NiwgNzIsIDc5LCAyMDgsIAorICAgIDY2LCA2OSwgNzYsIDc2LCAxMjgsIDY2LCA2OSwgNzYsIDIwNCwgNjYsIDY5LCA3NiwgNzEsIDg0LCA3MiwgNzksIDIxMCwgCisgICAgNjYsIDY5LCA3MywgODQsIDcyLCAxMjgsIDY2LCA2OSwgNzIsIDczLCA3OCwgMTk2LCA2NiwgNjksIDcyLCA2OSwgNzIsIAorICAgIDEyOCwgNjYsIDY5LCA3MiwgNjksIDIwMCwgNjYsIDY5LCA3MiwgMTI4LCA2NiwgNjksIDIwMCwgNjYsIDY5LCA3MSwgNzMsIAorICAgIDc4LCA3OCwgNzMsIDc4LCA3MSwgMTI4LCA2NiwgNjksIDcxLCA3MywgNzgsIDc4LCA2OSwgODIsIDEyOCwgNjYsIDY5LCA3MSwgCisgICAgNzMsIDIwNiwgNjYsIDY5LCA3MCwgNzksIDgyLCAxOTcsIDY2LCA2OSwgNjksIDg0LCA3NiwgNjksIDEyOCwgNjYsIDY5LCAKKyAgICA2OSwgODQsIDY1LCAxMjgsIDY2LCA2OSwgNjksIDIxMCwgNjYsIDY5LCA2OSwgNzIsIDczLCA4NiwgNjksIDEyOCwgNjYsIAorICAgIDY5LCA2OSwgNzIsIDEyOCwgNjYsIDY5LCA2OSwgMjAwLCA2NiwgNjksIDY3LCA2NSwgODUsIDgzLCA2OSwgMTI4LCA2NiwgCisgICAgNjksIDY1LCA4NiwgNjksIDIxMCwgNjYsIDY5LCA2NSwgODQsIDczLCA3OCwgMTk5LCA2NiwgNjksIDY1LCA4NCwgMTI4LCAKKyAgICA2NiwgNjksIDY1LCAyMTAsIDY2LCA2OSwgNjUsIDc4LCAxMjgsIDY2LCA2OSwgNjUsIDc3LCA2OSwgMTk2LCA2NiwgNjksIAorICAgIDY1LCA2NywgMjAwLCA2NiwgNjcsIDY1LCA2OCwgMTI4LCA2NiwgNjcsIDY1LCAxOTYsIDY2LCA2NiwgODksIDg4LCAxMjgsIAorICAgIDY2LCA2NiwgODksIDg0LCAxMjgsIDY2LCA2NiwgODksIDgwLCAxMjgsIDY2LCA2NiwgODksIDEyOCwgNjYsIDY2LCA4NSwgCisgICAgODgsIDEyOCwgNjYsIDY2LCA4NSwgODQsIDEyOCwgNjYsIDY2LCA4NSwgODIsIDg4LCAxMjgsIDY2LCA2NiwgODUsIDgyLCAKKyAgICAxMjgsIDY2LCA2NiwgODUsIDgwLCAxMjgsIDY2LCA2NiwgODUsIDc5LCA4OCwgMTI4LCA2NiwgNjYsIDg1LCA3OSwgODAsIAorICAgIDEyOCwgNjYsIDY2LCA4NSwgNzksIDEyOCwgNjYsIDY2LCA4NSwgMTI4LCA2NiwgNjYsIDc5LCA4OCwgMTI4LCA2NiwgNjYsIAorICAgIDc5LCA4NCwgMTI4LCA2NiwgNjYsIDc5LCA4MCwgMTI4LCA2NiwgNjYsIDc5LCAxMjgsIDY2LCA2NiwgNzMsIDg4LCAxMjgsIAorICAgIDY2LCA2NiwgNzMsIDgwLCAxMjgsIDY2LCA2NiwgNzMsIDY5LCA4OCwgMTI4LCA2NiwgNjYsIDczLCA2OSwgODQsIDEyOCwgCisgICAgNjYsIDY2LCA3MywgNjksIDgwLCAxMjgsIDY2LCA2NiwgNzMsIDY5LCAxMjgsIDY2LCA2NiwgNzMsIDEyOCwgNjYsIDY2LCAKKyAgICA2OSwgODgsIDEyOCwgNjYsIDY2LCA2OSwgODAsIDEyOCwgNjYsIDY2LCA2OSwgNjksIDEyOCwgNjYsIDY2LCA2OSwgMTI4LCAKKyAgICA2NiwgNjYsIDY1LCA4OCwgMTI4LCA2NiwgNjYsIDY1LCA4NCwgMTI4LCA2NiwgNjYsIDY1LCA4MCwgMTI4LCA2NiwgNjYsIAorICAgIDY1LCA2NSwgMTI4LCA2NiwgNjYsIDY1LCAxMjgsIDY2LCA2NSwgODksIDY1LCA3OCwgNzgsIDY1LCAxMjgsIDY2LCA2NSwgCisgICAgODUsIDEyOCwgNjYsIDY1LCA4NCwgODQsIDY5LCA4MiwgODksIDEyOCwgNjYsIDY1LCA4NCwgNzIsIDg0LCA4NSwgNjYsIAorICAgIDEyOCwgNjYsIDY1LCA4NCwgNzIsIDY1LCA3NywgNjUsIDgzLCA2NSwgODQsIDEyOCwgNjYsIDY1LCA4NCwgNzIsIDEyOCwgCisgICAgNjYsIDY1LCA4NCwgMjAwLCA2NiwgNjUsIDg0LCA2NSwgMjAzLCA2NiwgNjUsIDgzLCA4MywgNjUsIDEyOCwgNjYsIDY1LCAKKyAgICA4MywgODMsIDE5MywgNjYsIDY1LCA4MywgNzUsIDY5LCA4NCwgNjYsIDY1LCA3NiwgMjA0LCA2NiwgNjUsIDgzLCA3MiwgNzUsIAorICAgIDczLCAyMTAsIDY2LCA2NSwgODMsIDcyLCAxMjgsIDY2LCA2NSwgODMsIDY5LCA3NiwgNzMsIDc4LCAxOTcsIDY2LCA2NSwgCisgICAgODMsIDY5LCA2NiwgNjUsIDc2LCA3NiwgMTI4LCA2NiwgNjUsIDgzLCA2OSwgMTI4LCA2NiwgNjUsIDgzLCAxOTcsIDY2LCAKKyAgICA2NSwgODIsIDgzLCAxMjgsIDY2LCA2NSwgODIsIDgyLCA3MywgNjksIDgyLCAxMjgsIDY2LCA2NSwgODIsIDgyLCA2OSwgNzUsIAorICAgIDcyLCAxMjgsIDY2LCA2NSwgODIsIDgyLCA2OSwgNjksIDEyOCwgNjYsIDY1LCA4MiwgODIsIDY5LCAxOTcsIDY2LCA2NSwgCisgICAgODIsIDc2LCA3MywgNzgsIDY5LCAxMjgsIDY2LCA2NSwgODIsIDc2LCA2OSwgODksIDEyOCwgNjYsIDY1LCA4MiwgNzMsIDg5LCAKKyAgICA3OSwgNzksIDgzLCA2NSwgNzgsIDEyOCwgNjYsIDY1LCA4MiwgNjYsIDY5LCAyMTAsIDY2LCA2NSwgODIsIDY1LCA1MCwgCisgICAgMTI4LCA2NiwgNjUsIDIxMCwgNjYsIDY1LCA3OCwgODQsIDc5LCA2NywgMTI4LCA2NiwgNjUsIDc4LCA3NSwgNzgsIDc5LCAKKyAgICA4NCwgMTk3LCA2NiwgNjUsIDc4LCA3NSwgMTI4LCA2NiwgNjUsIDc4LCAyMDMsIDY2LCA2NSwgNzgsIDY4LCAxMjgsIDY2LCAKKyAgICA2NSwgNzgsIDY1LCA3OCwgNjUsIDEyOCwgNjYsIDY1LCA3OCwgNTAsIDEyOCwgNjYsIDY1LCA3OCwgMTc4LCA2NiwgNjUsIAorICAgIDc3LCA2NiwgNzksIDc5LCA4MywgMTI4LCA2NiwgNjUsIDc3LCA2NiwgNzksIDc5LCAxMjgsIDY2LCA2NSwgNzYsIDg1LCA2OCwgCisgICAgNjUsIDEyOCwgNjYsIDY1LCA3NiwgNzYsIDgwLCA3OSwgNzMsIDc4LCAyMTIsIDY2LCA2NSwgNzYsIDc2LCA3OSwgODQsIAorICAgIDEyOCwgNjYsIDY1LCA3NiwgNzYsIDc5LCAyMTIsIDY2LCA2NSwgNzYsIDc2LCA3OSwgNzksIDc4LCA0NSwgODMsIDgwLCA3OSwgCisgICAgNzUsIDY5LCAxOTYsIDY2LCA2NSwgNzYsIDc2LCA3OSwgNzksIDc4LCAxMjgsIDY2LCA2NSwgNzYsIDY1LCA3MSwgMTI4LCAKKyAgICA2NiwgNjUsIDc2LCAxMjgsIDY2LCA2NSwgMjA0LCA2NiwgNjUsIDczLCA4MiwgNzUsIDY1LCA3OCwgMTI4LCA2NiwgNjUsIAorICAgIDczLCA3NywgNjUsIDczLCAxMjgsIDY2LCA2NSwgNzIsIDg0LCAxMjgsIDY2LCA2NSwgNzIsIDczLCA4MiwgNzEsIDc5LCA3NywgCisgICAgODUsIDc1LCA3MiwgNjUsIDEyOCwgNjYsIDY1LCA3MiwgNjUsIDgyLCA1MCwgMTI4LCA2NiwgNjUsIDcyLCAxMjgsIDY2LCAKKyAgICA2NSwgNzEsIDgzLCAxMjgsIDY2LCA2NSwgNzEsIDcxLCA2NSwgNzEsIDE5NywgNjYsIDY1LCA3MSwgNjUsIDEyOCwgNjYsIAorICAgIDY1LCA3MSwgNTEsIDEyOCwgNjYsIDY1LCAxOTksIDY2LCA2NSwgNjgsIDcxLCA2OSwgODIsIDEyOCwgNjYsIDY1LCA2OCwgCisgICAgNzEsIDY5LCAxMjgsIDY2LCA2NSwgNjgsIDEyOCwgNjYsIDY1LCA2NywgODQsIDgyLCA3MywgNjUsIDIwNiwgNjYsIDY1LCAKKyAgICA2NywgNzUsIDg3LCA2NSwgODIsIDY4LCAxMjgsIDY2LCA2NSwgNjcsIDc1LCA4MywgODAsIDY1LCA2NywgNjksIDEyOCwgNjYsIAorICAgIDY1LCA2NywgNzUsIDgzLCA3NiwgNjUsIDgzLCA3MiwgMTI4LCA2NiwgNjUsIDY3LCA3NSwgODMsIDc2LCA2NSwgODMsIDIwMCwgCisgICAgNjYsIDY1LCA2NywgNzUsIDgzLCA3NiwgNjUsIDc4LCA4NCwgNjksIDE5NiwgNjYsIDY1LCA2NywgNzUsIDcyLCA2NSwgNzgsIAorICAgIDE5NiwgNjYsIDY1LCA2NywgNzUsIDQ1LCA4NCwgNzMsIDc2LCA4NCwgNjksIDE5NiwgNjYsIDY1LCA2NywgNzUsIDEyOCwgCisgICAgNjYsIDY1LCA2NywgMjAzLCA2NiwgNjUsIDY2LCA4OSwgMTI4LCA2NiwgNjUsIDY2LCAyMTcsIDY2LCA2NSwgNjUsIDgyLCAKKyAgICA2OSwgODIsIDg1LCAxMjgsIDY2LCA2NSwgNDUsIDUwLCAxMjgsIDY2LCA1MSwgNDgsIDUzLCAxMjgsIDY2LCA1MCwgNTMsIAorICAgIDU3LCAxMjgsIDY2LCA1MCwgNTMsIDU2LCAxMjgsIDY2LCA1MCwgNTMsIDU1LCAxMjgsIDY2LCA1MCwgNTMsIDU0LCAxMjgsIAorICAgIDY2LCA1MCwgNTMsIDUzLCAxMjgsIDY2LCA1MCwgNTMsIDE4MCwgNjYsIDUwLCA1MywgNTEsIDEyOCwgNjYsIDUwLCA1MywgCisgICAgNTAsIDEyOCwgNjYsIDUwLCA1MywgNDksIDEyOCwgNjYsIDUwLCA1MywgNDgsIDEyOCwgNjYsIDUwLCA1MiwgNTcsIDEyOCwgCisgICAgNjYsIDUwLCA1MiwgNTYsIDEyOCwgNjYsIDUwLCA1MiwgMTgzLCA2NiwgNTAsIDUyLCA1NCwgMTI4LCA2NiwgNTAsIDUyLCAKKyAgICA1MywgMTI4LCA2NiwgNTAsIDUyLCAxNzksIDY2LCA1MCwgNTIsIDE3OCwgNjYsIDUwLCA1MiwgMTc3LCA2NiwgNTAsIDUyLCAKKyAgICAxNzYsIDY2LCA1MCwgNTEsIDU0LCAxMjgsIDY2LCA1MCwgNTEsIDUyLCAxMjgsIDY2LCA1MCwgNTEsIDE3OSwgNjYsIDUwLCAKKyAgICA1MSwgNTAsIDEyOCwgNjYsIDUwLCA1MSwgMTc3LCA2NiwgNTAsIDUxLCAxNzYsIDY2LCA1MCwgNTAsIDU3LCAxMjgsIDY2LCAKKyAgICA1MCwgNTAsIDU2LCAxMjgsIDY2LCA1MCwgNTAsIDU1LCAxMjgsIDY2LCA1MCwgNTAsIDU0LCAxMjgsIDY2LCA1MCwgNTAsIAorICAgIDE4MSwgNjYsIDUwLCA1MCwgNTAsIDEyOCwgNjYsIDUwLCA1MCwgNDksIDEyOCwgNjYsIDUwLCA1MCwgMTc2LCA2NiwgNTAsIAorICAgIDQ5LCA1NywgMTI4LCA2NiwgNTAsIDQ5LCA1NiwgMTI4LCA2NiwgNTAsIDQ5LCA1NSwgMTI4LCA2NiwgNTAsIDQ5LCA1NCwgCisgICAgMTI4LCA2NiwgNTAsIDQ5LCA1MywgMTI4LCA2NiwgNTAsIDQ5LCA1MiwgMTI4LCA2NiwgNTAsIDQ5LCA1MSwgMTI4LCA2NiwgCisgICAgNTAsIDQ5LCA1MCwgMTI4LCA2NiwgNTAsIDQ5LCA0OSwgMTI4LCA2NiwgNTAsIDQ5LCA0OCwgMTI4LCA2NiwgNTAsIDQ4LCAKKyAgICA1NywgMTI4LCA2NiwgNTAsIDQ4LCA1NiwgMTI4LCA2NiwgNTAsIDQ4LCA1NSwgMTI4LCA2NiwgNTAsIDQ4LCA1NCwgMTI4LCAKKyAgICA2NiwgNTAsIDQ4LCA1MywgMTI4LCA2NiwgNTAsIDQ4LCA1MiwgMTI4LCA2NiwgNTAsIDQ4LCA1MSwgMTI4LCA2NiwgNTAsIAorICAgIDQ4LCA1MCwgMTI4LCA2NiwgNTAsIDQ4LCA0OSwgMTI4LCA2NiwgNTAsIDQ4LCA0OCwgMTI4LCA2NiwgNDksIDU3LCAxNzcsIAorICAgIDY2LCA0OSwgNTcsIDQ4LCAxMjgsIDY2LCA0OSwgNTYsIDU3LCAxMjgsIDY2LCA0OSwgNTYsIDUzLCAxMjgsIDY2LCA0OSwgCisgICAgNTYsIDUyLCAxMjgsIDY2LCA0OSwgNTYsIDUxLCAxMjgsIDY2LCA0OSwgNTYsIDUwLCAxMjgsIDY2LCA0OSwgNTYsIDQ5LCAKKyAgICAxMjgsIDY2LCA0OSwgNTYsIDQ4LCAxMjgsIDY2LCA0OSwgNTUsIDU3LCAxMjgsIDY2LCA0OSwgNTUsIDU2LCAxMjgsIDY2LCAKKyAgICA0OSwgNTUsIDU1LCAxMjgsIDY2LCA0OSwgNTUsIDE4MiwgNjYsIDQ5LCA1NSwgNTIsIDEyOCwgNjYsIDQ5LCA1NSwgMTc5LCAKKyAgICA2NiwgNDksIDU1LCA1MCwgMTI4LCA2NiwgNDksIDU1LCA0OSwgMTI4LCA2NiwgNDksIDU1LCA0OCwgMTI4LCA2NiwgNDksIAorICAgIDU0LCA1NywgMTI4LCA2NiwgNDksIDU0LCA1NiwgMTI4LCA2NiwgNDksIDU0LCA1NSwgMTI4LCA2NiwgNDksIDU0LCA1NCwgCisgICAgMTI4LCA2NiwgNDksIDU0LCA1MywgMTI4LCA2NiwgNDksIDU0LCA1MiwgMTI4LCA2NiwgNDksIDU0LCAxNzksIDY2LCA0OSwgCisgICAgNTQsIDE3OCwgNjYsIDQ5LCA1NCwgNDksIDEyOCwgNjYsIDQ5LCA1NCwgNDgsIDEyOCwgNjYsIDQ5LCA1MywgMTg1LCA2NiwgCisgICAgNDksIDUzLCA1NiwgMTI4LCA2NiwgNDksIDUzLCA1NSwgMTI4LCA2NiwgNDksIDUzLCAxODIsIDY2LCA0OSwgNTMsIDUzLCAKKyAgICAxMjgsIDY2LCA0OSwgNTMsIDUyLCAxMjgsIDY2LCA0OSwgNTMsIDUxLCAxMjgsIDY2LCA0OSwgNTMsIDUwLCAxMjgsIDY2LCAKKyAgICA0OSwgNTMsIDE3NywgNjYsIDQ5LCA1MywgNDgsIDEyOCwgNjYsIDQ5LCA1MiwgNTQsIDEyOCwgNjYsIDQ5LCA1MiwgMTgxLCAKKyAgICA2NiwgNDksIDUyLCA1MCwgMTI4LCA2NiwgNDksIDUyLCAxNzcsIDY2LCA0OSwgNTIsIDE3NiwgNjYsIDQ5LCA1MSwgMTgxLCAKKyAgICA2NiwgNDksIDUxLCAxNzksIDY2LCA0OSwgNTEsIDUwLCAxMjgsIDY2LCA0OSwgNTEsIDE3NywgNjYsIDQ5LCA1MSwgMTc2LCAKKyAgICA2NiwgNDksIDUwLCAxODQsIDY2LCA0OSwgNTAsIDE4MywgNjYsIDQ5LCA1MCwgMTgxLCA2NiwgNDksIDUwLCAxNzksIDY2LCAKKyAgICA0OSwgNTAsIDE3OCwgNjYsIDQ5LCA1MCwgMTc3LCA2NiwgNDksIDUwLCAxNzYsIDY2LCA0OSwgNDgsIDU3LCAyMDUsIDY2LCAKKyAgICA0OSwgNDgsIDU3LCAxOTgsIDY2LCA0OSwgNDgsIDU2LCAyMDUsIDY2LCA0OSwgNDgsIDU2LCAxOTgsIDY2LCA0OSwgNDgsIAorICAgIDU1LCAyMDUsIDY2LCA0OSwgNDgsIDU1LCAxOTgsIDY2LCA0OSwgNDgsIDU0LCAyMDUsIDY2LCA0OSwgNDgsIDU0LCAxOTgsIAorICAgIDY2LCA0OSwgNDgsIDUzLCAyMDUsIDY2LCA0OSwgNDgsIDUzLCAxOTgsIDY2LCA0OSwgNDgsIDE4MSwgNjYsIDQ5LCA0OCwgCisgICAgMTgwLCA2NiwgNDksIDQ4LCAxNzgsIDY2LCA0OSwgNDgsIDE3NiwgNjYsIDQ4LCA1NywgMTc3LCA2NiwgNDgsIDU3LCAxNzYsIAorICAgIDY2LCA0OCwgNTYsIDU3LCAxMjgsIDY2LCA0OCwgNTYsIDE4MywgNjYsIDQ4LCA1NiwgNTQsIDEyOCwgNjYsIDQ4LCA1NiwgCisgICAgMTgxLCA2NiwgNDgsIDU2LCA1MSwgMTI4LCA2NiwgNDgsIDU2LCA1MCwgMTI4LCA2NiwgNDgsIDU2LCAxNzcsIDY2LCA0OCwgCisgICAgNTYsIDE3NiwgNjYsIDQ4LCA1NSwgNTcsIDEyOCwgNjYsIDQ4LCA1NSwgMTg0LCA2NiwgNDgsIDU1LCAxODMsIDY2LCA0OCwgCisgICAgNTUsIDE4MiwgNjYsIDQ4LCA1NSwgMTgxLCA2NiwgNDgsIDU1LCAxODAsIDY2LCA0OCwgNTUsIDE3OSwgNjYsIDQ4LCA1NSwgCisgICAgMTc4LCA2NiwgNDgsIDU1LCAxNzcsIDY2LCA0OCwgNTUsIDE3NiwgNjYsIDQ4LCA1NCwgMTg1LCA2NiwgNDgsIDU0LCAxODQsIAorICAgIDY2LCA0OCwgNTQsIDE4MywgNjYsIDQ4LCA1NCwgMTgyLCA2NiwgNDgsIDU0LCAxODEsIDY2LCA0OCwgNTQsIDUyLCAxMjgsIAorICAgIDY2LCA0OCwgNTQsIDUxLCAxMjgsIDY2LCA0OCwgNTQsIDE3OCwgNjYsIDQ4LCA1NCwgMTc3LCA2NiwgNDgsIDU0LCAxNzYsIAorICAgIDY2LCA0OCwgNTMsIDE4NSwgNjYsIDQ4LCA1MywgMTg0LCA2NiwgNDgsIDUzLCAxODMsIDY2LCA0OCwgNTMsIDU0LCAxMjgsIAorICAgIDY2LCA0OCwgNTMsIDE4MSwgNjYsIDQ4LCA1MywgMTgwLCA2NiwgNDgsIDUzLCAxNzksIDY2LCA0OCwgNTMsIDE3OCwgNjYsIAorICAgIDQ4LCA1MywgMTc3LCA2NiwgNDgsIDUzLCAxNzYsIDY2LCA0OCwgNTIsIDU3LCAxMjgsIDY2LCA0OCwgNTIsIDE4NCwgNjYsIAorICAgIDQ4LCA1MiwgNTUsIDEyOCwgNjYsIDQ4LCA1MiwgMTgyLCA2NiwgNDgsIDUyLCAxODEsIDY2LCA0OCwgNTIsIDE4MCwgNjYsIAorICAgIDQ4LCA1MiwgMTc5LCA2NiwgNDgsIDUyLCAxNzgsIDY2LCA0OCwgNTIsIDE3NywgNjYsIDQ4LCA1MiwgMTc2LCA2NiwgNDgsIAorICAgIDUxLCAxODUsIDY2LCA0OCwgNTEsIDE4NCwgNjYsIDQ4LCA1MSwgMTgzLCA2NiwgNDgsIDUxLCAxODIsIDY2LCA0OCwgNTEsIAorICAgIDUyLCAxMjgsIDY2LCA0OCwgNTEsIDE3OSwgNjYsIDQ4LCA1MSwgMTc4LCA2NiwgNDgsIDUxLCAxNzcsIDY2LCA0OCwgNTEsIAorICAgIDE3NiwgNjYsIDQ4LCA1MCwgMTg1LCA2NiwgNDgsIDUwLCAxODQsIDY2LCA0OCwgNTAsIDE4MywgNjYsIDQ4LCA1MCwgMTgyLCAKKyAgICA2NiwgNDgsIDUwLCAxODEsIDY2LCA0OCwgNTAsIDE4MCwgNjYsIDQ4LCA1MCwgMTc5LCA2NiwgNDgsIDUwLCA1MCwgMTI4LCAKKyAgICA2NiwgNDgsIDUwLCAxNzcsIDY2LCA0OCwgNTAsIDE3NiwgNjYsIDQ4LCA0OSwgNTcsIDEyOCwgNjYsIDQ4LCA0OSwgNTYsIAorICAgIDEyOCwgNjYsIDQ4LCA0OSwgMTgzLCA2NiwgNDgsIDQ5LCAxODIsIDY2LCA0OCwgNDksIDE4MSwgNjYsIDQ4LCA0OSwgMTgwLCAKKyAgICA2NiwgNDgsIDQ5LCAxNzksIDY2LCA0OCwgNDksIDE3OCwgNjYsIDQ4LCA0OSwgMTc3LCA2NiwgNDgsIDQ5LCAxNzYsIDY2LCAKKyAgICA0OCwgNDgsIDU3LCAxMjgsIDY2LCA0OCwgNDgsIDE4NSwgNjYsIDQ4LCA0OCwgNTYsIDEyOCwgNjYsIDQ4LCA0OCwgMTg0LCAKKyAgICA2NiwgNDgsIDQ4LCA1NSwgMTI4LCA2NiwgNDgsIDQ4LCAxODMsIDY2LCA0OCwgNDgsIDU0LCAxMjgsIDY2LCA0OCwgNDgsIAorICAgIDE4MiwgNjYsIDQ4LCA0OCwgNTMsIDY1LCAxMjgsIDY2LCA0OCwgNDgsIDUzLCAxMjgsIDY2LCA0OCwgNDgsIDE4MSwgNjYsIAorICAgIDQ4LCA0OCwgNTIsIDEyOCwgNjYsIDQ4LCA0OCwgMTgwLCA2NiwgNDgsIDQ4LCA1MSwgMTI4LCA2NiwgNDgsIDQ4LCAxNzksIAorICAgIDY2LCA0OCwgNDgsIDUwLCAxMjgsIDY2LCA0OCwgNDgsIDE3OCwgNjYsIDQ4LCA0OCwgNDksIDEyOCwgNjYsIDQ4LCA0OCwgCisgICAgMTc3LCA2NSwgOTAsIDg1LCAxMjgsIDY1LCA4OSwgNjksIDIxMCwgNjUsIDg5LCA2NiwgMTI4LCA2NSwgODksIDY1LCA3MiwgCisgICAgMTI4LCA2NSwgODgsIDY5LCAxMjgsIDY1LCA4NywgNjksIDEyOCwgNjUsIDg2LCA2OSwgODMsIDg0LCA2NSwgMjA2LCA2NSwgCisgICAgODYsIDY5LCA4MiwgNjUsIDcxLCAxOTcsIDY1LCA4NiwgNjUsIDc1LCA4MiwgNjUsIDcyLCA2NSwgODMsIDY1LCA3OCwgODksIAorICAgIDY1LCAxMjgsIDY1LCA4NiwgNjUsIDcxLCA4MiwgNjUsIDcyLCA2NSwgMTI4LCA2NSwgODUsIDg5LCA2NSwgNzgsIDc4LCA2NSwgCisgICAgMTI4LCA2NSwgODUsIDg0LCA4NSwgNzcsIDc4LCAxMjgsIDY1LCA4NSwgODQsIDc5LCA3NywgNzksIDY2LCA3MywgNzYsIDY5LCAKKyAgICAxMjgsIDY1LCA4NSwgODQsIDc5LCA3NywgNjUsIDg0LCA2OSwgMTk2LCA2NSwgODUsIDgzLCA4NCwgODIsIDY1LCAyMDQsIAorICAgIDY1LCA4NSwgODIsIDczLCA4MCwgNzMsIDcxLCA3NywgNjksIDc4LCA4NCwgMTI4LCA2NSwgODUsIDgyLCA2NSwgNzcsIDY1LCAKKyAgICA5MCwgNjgsIDY1LCA2NSwgNzIsIDY1LCAxMjgsIDY1LCA4NSwgODIsIDY1LCA3NywgNjUsIDkwLCA2OCwgNjUsIDY1LCA0NSwgCisgICAgNTAsIDEyOCwgNjUsIDg1LCA4MiwgNjUsIDc3LCA2NSwgOTAsIDY4LCA2NSwgNjUsIDEyOCwgNjUsIDg1LCA3OCwgNzgsIAorICAgIDEyOCwgNjUsIDg1LCA3MSwgODUsIDgzLCA4NCwgMTI4LCA2NSwgODUsIDcxLCA3NywgNjksIDc4LCA4NCwgNjUsIDg0LCA3MywgCisgICAgNzksIDIwNiwgNjUsIDg1LCA2OSwgMTI4LCA2NSwgODUsIDY2LCA2OSwgODIsIDcxLCA3MywgNzgsIDY5LCAxMjgsIDY1LCAKKyAgICA4NCwgODQsIDczLCAxOTUsIDY1LCA4NCwgODQsIDcyLCA2NSwgNjcsIDY1LCA3OCwgMTI4LCA2NSwgODQsIDg0LCA2OSwgNzgsIAorICAgIDg0LCA3MywgNzksIDc4LCAxMjgsIDY1LCA4NCwgODQsIDY1LCAyMDMsIDY1LCA4NCwgODQsIDY1LCA2NywgNzIsIDY5LCAKKyAgICAxOTYsIDY1LCA4NCwgNzksIDIwNSwgNjUsIDg0LCA3OCwgNjUsIDIwMCwgNjUsIDg0LCA3NywgNjUsIDY1LCA4NSwgMTI4LCAKKyAgICA2NSwgODQsIDczLCA4OSwgNjUsIDEyOCwgNjUsIDg0LCA3MiwgNzYsIDY5LCA4NCwgNzMsIDE5NSwgNjUsIDg0LCA3MiwgNjUsIAorICAgIDgyLCA4NiwgNjUsIDg2LCA2OSwgNjgsIDczLCAxOTUsIDY1LCA4NCwgNzIsIDY1LCA4MCwgNjUsIDgzLCA2NywgNjUsIDIwNiwgCisgICAgNjUsIDgzLCA5MCwgMTI4LCA2NSwgODMsIDg5LCA4NSwgODIsIDE5MywgNjUsIDgzLCA4OSwgNzcsIDgwLCA4NCwgNzksIDg0LCAKKyAgICA3MywgNjcsIDY1LCA3NiwgNzYsIDIxNywgNjUsIDgzLCA4NCwgODIsIDc5LCA3OCwgNzksIDc3LCA3MywgNjcsIDY1LCAyMDQsIAorICAgIDY1LCA4MywgODQsIDgyLCA3OSwgNzYsIDc5LCA3MSwgNzMsIDY3LCA2NSwgMjA0LCA2NSwgODMsIDg0LCA3OSwgNzgsIDczLCAKKyAgICA4MywgNzIsIDY5LCAxOTYsIDY1LCA4MywgODQsIDY5LCA4MiwgNzMsIDgzLCA3NywgMTI4LCA2NSwgODMsIDg0LCA2OSwgODIsIAorICAgIDczLCA4MywgNzUsIDIxMSwgNjUsIDgzLCA4NCwgNjksIDgyLCA3MywgODMsIDc1LCAxMjgsIDY1LCA4MywgODQsIDY5LCA4MiwgCisgICAgNzMsIDgzLCAyMDMsIDY1LCA4MywgODQsIDY5LCA4MiwgNzMsIDgzLCA2NywgODUsIDgzLCAxMjgsIDY1LCA4MywgODMsIDg5LCAKKyAgICA4MiwgNzMsIDY1LCAyMDYsIDY1LCA4MywgODMsIDY5LCA4MiwgODQsIDczLCA3OSwgNzgsIDEyOCwgNjUsIDgzLCA4MCwgNzMsIAorICAgIDgyLCA2NSwgODQsIDczLCA3OSwgNzgsIDEyOCwgNjUsIDgzLCA4MCwgNzMsIDgyLCA2NSwgODQsIDY5LCAxOTYsIDY1LCA4MywgCisgICAgODAsIDY5LCA4MiwgMTI4LCA2NSwgODMsIDczLCA2NSwgNDUsIDY1LCA4NSwgODMsIDg0LCA4MiwgNjUsIDc2LCA3MywgNjUsIAorICAgIDEyOCwgNjUsIDgzLCA3MiwgNzEsIDY1LCA2NiwgMTI4LCA2NSwgODMsIDcyLCA2OSwgODMsIDEyOCwgNjUsIDgzLCA3MiwgCisgICAgNTcsIDEyOCwgNjUsIDgzLCA3MiwgNTEsIDEyOCwgNjUsIDgzLCA3MiwgMTc4LCA2NSwgODMsIDY3LCA2OSwgNzgsIDg0LCAKICAgICAxMjgsIDY1LCA4MywgNjcsIDY5LCA3OCwgNjgsIDczLCA3OCwgMTk5LCA2NSwgODMsIDY1LCA3NiwgNTAsIDEyOCwgNjUsIAogICAgIDgyLCA4NSwgNzIsIDg1LCA2NSwgMTI4LCA2NSwgODIsIDg0LCA3MywgODMsIDIxMiwgNjUsIDgyLCA4NCwgNzMsIDY3LCA4NSwgCiAgICAgNzYsIDY1LCA4NCwgNjksIDE5NiwgNjUsIDgyLCA4NCwgNjUsIDY2LCAxOTcsIDY1LCA4MiwgODMsIDY5LCA3OSwgODMsIAogICAgIDEyOCwgNjUsIDgyLCA4MywgNjksIDc5LCAyMTEsIDY1LCA4MiwgODMsIDY5LCA3OCwgNzMsIDY3LCAxMjgsIDY1LCA4MiwgCiAgICAgODIsIDc5LCA4NywgODMsIDEyOCwgNjUsIDgyLCA4MiwgNzksIDg3LCAyMTEsIDY1LCA4MiwgODIsIDc5LCA4NywgNzIsIDY5LCAKICAgICA2NSwgNjgsIDEyOCwgNjUsIDgyLCA4MiwgNzksIDg3LCA3MiwgNjksIDY1LCAxOTYsIDY1LCA4MiwgODIsIDc5LCA4NywgNDUsIAotICAgIDg0LCA2NSwgNzMsIDc2LCAxMjgsIDY1LCA4MiwgODIsIDczLCA4NiwgNjksIDEyOCwgNjUsIDgyLCA4MiwgNjUsIDg5LCAKLSAgICAxMjgsIDY1LCA4MiwgODAsIDY5LCA3MSwgNzEsIDczLCA2NSwgODQsIDIwNywgNjUsIDgyLCA3OSwgODUsIDgzLCA3MywgNzgsIAotICAgIDE5OSwgNjUsIDgyLCA3OSwgODUsIDgyLCAxOTMsIDY1LCA4MiwgNzksIDg1LCA3OCwgNjgsIDQ1LCA4MCwgODIsIDc5LCA3MCwgCi0gICAgNzMsIDc2LCA2OSwgMTI4LCA2NSwgODIsIDc5LCA4NSwgNzgsIDE5NiwgNjUsIDgyLCA3NywgODksIDEyOCwgNjUsIDgyLCAKLSAgICA3NywgNzksIDg1LCA4MiwgMTI4LCA2NSwgODIsIDIwNSwgNjUsIDgyLCA3NiwgNjUsIDg1LCAxOTksIDY1LCA4MiwgNzUsIAotICAgIDg0LCA3MywgNzUsIDIwNywgNjUsIDgyLCA3NSwgNjUsIDY2LCAxMjgsIDY1LCA4MiwgNzUsIDY1LCA2NSwgNzgsIDg1LCAKLSAgICAxMjgsIDY1LCA4MiwgNzMsIDgzLCA4NCwgNjksIDgyLCA2NSwgMTI4LCA2NSwgODIsIDczLCA4MywgODQsIDY5LCA4MiwgCi0gICAgMTkzLCA2NSwgODIsIDczLCA2OSwgODMsIDEyOCwgNjUsIDgyLCA3MSwgNzksIDg0LCA2OSwgODIsIDczLCAxMjgsIDY1LCAKLSAgICA4MiwgNzEsIDc5LCA4MywgODksIDc4LCA4NCwgNzIsIDY5LCA4NCwgNzksIDc4LCAxMjgsIDY1LCA4MiwgNzEsIDczLCAxMjgsIAotICAgIDY1LCA4MiwgNjksIDgwLCA2NSwgMTI4LCA2NSwgODIsIDY5LCA2NSwgMTI4LCA2NSwgODIsIDY4LCA3MiwgNjUsIDg2LCA3MywgCi0gICAgODMsIDY1LCA4MiwgNzEsIDY1LCAxMjgsIDY1LCA4MiwgNjcsIDcyLCA2NSwgNzMsIDc5LCA3OCwgMTI4LCA2NSwgODIsIDY3LCAKLSAgICA3MiwgNjUsIDczLCA3OSwgMjA2LCA2NSwgODIsIDY3LCA3MiwgNjUsIDczLCAxOTUsIDY1LCA4MiwgNjcsIDIwMCwgNjUsIAotICAgIDgyLCA2NywgMTI4LCA2NSwgODIsIDE5NSwgNjUsIDgyLCA2NSwgNzcsIDY1LCA3MywgMTk1LCA2NSwgODIsIDY1LCA2OSwgCi0gICAgNjUsIDY5LCAxMjgsIDY1LCA4MiwgNjUsIDY5LCA2NSwgNDUsIDg1LCAxMjgsIDY1LCA4MiwgNjUsIDY5LCA2NSwgNDUsIDczLCAKLSAgICAxMjgsIDY1LCA4MiwgNjUsIDY5LCA2NSwgNDUsIDY5LCA3OSwgMTI4LCA2NSwgODIsIDY1LCA2OSwgNjUsIDQ1LCA2OSwgCi0gICAgMTI4LCA2NSwgODIsIDY1LCA2OSwgNjUsIDQ1LCA2NSwgMTI4LCA2NSwgODIsIDY1LCA2OCwgMTI4LCA2NSwgODIsIDY1LCAKLSAgICAxOTYsIDY1LCA4MiwgNjUsIDY2LCA3MywgNjcsIDQ1LCA3MywgNzgsIDY4LCA3MywgMTk1LCA2NSwgODIsIDY1LCA2NiwgNzMsIAotICAgIDY1LCAyMDYsIDY1LCA4MiwgNDUsIDgyLCA2NSwgNzIsIDc3LCA2NSwgMjA2LCA2NSwgODIsIDQ1LCA4MiwgNjUsIDcyLCA2OSwgCi0gICAgNjksIDc3LCAxMjgsIDY1LCA4MSwgODUsIDY1LCA4MiwgNzMsIDg1LCA4MywgMTI4LCA2NSwgODEsIDg1LCA2NSwgNzAsIDc5LCAKLSAgICA4MiwgODQsIDczLCA4MywgMTI4LCA2NSwgODEsIDg1LCAxOTMsIDY1LCA4MCwgODUsIDIwNiwgNjUsIDgwLCA4MiwgNzMsIAotICAgIDc2LCAxMjgsIDY1LCA4MCwgODAsIDgyLCA3OSwgODgsIDczLCA3NywgNjUsIDg0LCA2OSwgNzYsIDIxNywgNjUsIDgwLCA4MCwgCi0gICAgODIsIDc5LCA4OCwgNzMsIDc3LCA2NSwgODQsIDY5LCAxMjgsIDY1LCA4MCwgODAsIDgyLCA3OSwgNjUsIDY3LCA3MiwgNjksIAotICAgIDIxMSwgNjUsIDgwLCA4MCwgODIsIDc5LCA2NSwgNjcsIDcyLCAxMjgsIDY1LCA4MCwgODAsIDc2LCA3MywgNjcsIDY1LCA4NCwgCi0gICAgNzMsIDc5LCA3OCwgMTI4LCA2NSwgODAsIDgwLCA3NiwgNzMsIDY3LCA2NSwgODQsIDczLCA3OSwgMjA2LCA2NSwgODAsIDc5LCAKLSAgICA4NCwgNzIsIDY5LCA4MywgMTI4LCA2NSwgODAsIDc5LCA4NCwgNzIsIDY5LCA3NywgNjUsIDEyOCwgNjUsIDgwLCA3OSwgODMsIAotICAgIDg0LCA4MiwgNzksIDgwLCA3MiwgNjksIDEyOCwgNjUsIDgwLCA3OSwgODMsIDg0LCA4MiwgNzksIDcwLCA3OSwgODMsIDEyOCwgCi0gICAgNjUsIDgwLCA3OSwgODMsIDg0LCA4MiwgNzksIDcwLCA3OSwgMjExLCA2NSwgODAsIDc5LCA4MywgODQsIDgyLCA3OSwgNzAsIAotICAgIDc5LCAyMDEsIDY1LCA4MCwgNzksIDY4LCA2OSwgODgsIDczLCA2NSwgMTI4LCA2NSwgODAsIDc5LCA2OCwgNjksIDgyLCA3NywgCi0gICAgMTkzLCA2NSwgODAsIDc2LCA3OSwgODUsIDc4LCAxMjgsIDY1LCA4MCwgNzYsIDIwMSwgNjUsIDgwLCAyMDQsIDY1LCA4MCwgCi0gICAgNzMsIDc4LCAxMjgsIDY1LCA4MCwgNjksIDgzLCAyMDcsIDY1LCA4MCwgNjcsIDEyOCwgNjUsIDgwLCA2NSwgODIsIDg0LCAKLSAgICAxMjgsIDY1LCA4MCwgNjUsIDY1LCA4NCwgNzksIDEyOCwgNjUsIDc4LCA4NSwgODMsIDg2LCA2NSwgODIsIDY1LCA4OSwgNjUsIAotICAgIDEyOCwgNjUsIDc4LCA4NSwgODMsIDg2LCA2NSwgODIsIDY1LCAxMjgsIDY1LCA3OCwgODUsIDgzLCA4NiwgNjUsIDgyLCAKLSAgICAxOTMsIDY1LCA3OCwgODUsIDY4LCA2NSwgODQsIDg0LCA2NSwgMTI4LCA2NSwgNzgsIDg1LCA2OCwgNjUsIDg0LCA4NCwgCi0gICAgMTkzLCA2NSwgNzgsIDg0LCA3MywgODIsIDY5LCA4MywgODQsIDgyLCA3MywgNjcsIDg0LCA3MywgNzksIDc4LCAxMjgsIDY1LCAKLSAgICA3OCwgODQsIDczLCA3NywgNzksIDc4LCA4OSwgNDUsIDUwLCAxMjgsIDY1LCA3OCwgODQsIDczLCA3NywgNzksIDc4LCA4OSwgCi0gICAgMTI4LCA2NSwgNzgsIDg0LCA3MywgNzcsIDc5LCA3OCwgMjE3LCA2NSwgNzgsIDg0LCA3MywgNzcsIDc5LCA3OCwgNzMsIDY1LCAKLSAgICA4NCwgNjksIDEyOCwgNjUsIDc4LCA4NCwgNzMsIDc1LCA2OSwgNzgsIDc5LCA3NywgNjUsIDEyOCwgNjUsIDc4LCA4NCwgNzMsIAotICAgIDc1LCA2OSwgNzgsIDc5LCA3NSwgODksIDc2LCA3MywgODMsIDc3LCA2NSwgMTI4LCA2NSwgNzgsIDg0LCA3MywgNzAsIDc5LCAKLSAgICA3OCwgNzMsIDY1LCAxMjgsIDY1LCA3OCwgODQsIDczLCA2NywgNzYsIDc5LCA2NywgNzUsIDg3LCA3MywgODMsIDY5LCA0NSwgCi0gICAgODIsIDc5LCA4NCwgNjUsIDg0LCA2OSwgMTk2LCA2NSwgNzgsIDg0LCA3MywgNjcsIDc2LCA3OSwgNjcsIDc1LCA4NywgNzMsIAotICAgIDgzLCAxOTcsIDY1LCA3OCwgODQsIDY5LCA3OCwgNzgsIDY1LCAxMjgsIDY1LCA3OCwgODQsIDY5LCA3OCwgNzgsIDE5MywgCi0gICAgNjUsIDc4LCA4NCwgNjUsIDgyLCA3MSwgNzksIDc3LCA4NSwgNzUsIDcyLCA2NSwgMTI4LCA2NSwgNzgsIDgzLCA4NSwgMjE4LCAKLSAgICA2NSwgNzgsIDgzLCA3MiwgNjksIDEyOCwgNjUsIDc4LCA4MCwgNjksIDY1LCAxMjgsIDY1LCA3OCwgMjA3LCA2NSwgNzgsIAotICAgIDc4LCA4NSwgNzMsIDg0LCAyMTcsIDY1LCA3OCwgNzgsIDc5LCA4NCwgNjUsIDg0LCA3MywgNzksIDIwNiwgNjUsIDc4LCA3OCwgCi0gICAgNjUsIDY1LCA4NSwgMTI4LCA2NSwgNzgsIDc1LCA3MiwgMTI4LCA2NSwgNzgsIDc0LCA3MywgMTI4LCA2NSwgNzgsIDcyLCAKLSAgICA4NSwgMTI4LCA2NSwgNzgsIDcxLCA4NSwgNzYsIDY1LCA4MiwgMTI4LCA2NSwgNzgsIDcxLCA4NSwgNzMsIDgzLCA3MiwgNjksIAotICAgIDE5NiwgNjUsIDc4LCA3MSwgODMsIDg0LCA4MiwgNzksIDIwNSwgNjUsIDc4LCA3MSwgODIsIDIxNywgNjUsIDc4LCA3MSwgCi0gICAgNzUsIDcyLCA2NSwgNzgsIDc1LCA3MiwgODUsIDEyOCwgNjUsIDc4LCA3MSwgNjksIDIxMCwgNjUsIDc4LCA3MSwgNjksIDc2LCAKLSAgICAxMjgsIDY1LCA3OCwgNzEsIDY5LCA2OCwgMTI4LCA2NSwgNzgsIDY4LCA2NSwgODAsIDEyOCwgNjUsIDc4LCA2NywgNzksIAotICAgIDgyLCA2NSwgMTI4LCA2NSwgNzgsIDY3LCA3MiwgNzksIDgyLCAxMjgsIDY1LCA3OCwgNjUsIDg0LCA4MiwgNzMsIDY3LCA3MiwgCi0gICAgNzMsIDgzLCA3NywgNjUsIDEyOCwgNjUsIDc4LCA2NSwgODAsIDEyOCwgNjUsIDc3LCA4MCwgODMsIDEyOCwgNjUsIDc3LCAKLSAgICA4MCwgNjksIDgyLCA4MywgNjUsIDc4LCA2OCwgMTI4LCA2NSwgNzcsIDc5LCA4NSwgNzgsIDIxMiwgNjUsIDc3LCA2OSwgODIsIAotICAgIDczLCA2NywgNjUsIDgzLCAxMjgsIDY1LCA3NywgNjksIDgyLCA3MywgNjcsIDY1LCAyMDYsIDY1LCA3NywgNjYsIDg1LCA3NiwgCi0gICAgNjUsIDc4LCA2NywgNjksIDEyOCwgNjUsIDc3LCA2NiwgMTkzLCA2NSwgNzcsIDY1LCA4MiwgMTI4LCA2NSwgNzcsIDY1LCAKLSAgICAyMTAsIDY1LCA3NywgNjUsIDc2LCA3MSwgNjUsIDc3LCA2NSwgODQsIDczLCA3OSwgMjA2LCA2NSwgNzcsIDY1LCA3NiwgNzEsIAotICAgIDY1LCA3NywgMTI4LCA2NSwgNzYsIDg2LCA2OSwgNzksIDc2LCA2NSwgMjEwLCA2NSwgNzYsIDg1LCA3NywgMTI4LCA2NSwgCi0gICAgNzYsIDg0LCA2OSwgODIsIDc4LCA2NSwgODQsIDczLCA4NiwgMTk3LCA2NSwgNzYsIDg0LCA2OSwgODIsIDc4LCA2NSwgODQsIAotICAgIDczLCA3OSwgMjA2LCA2NSwgNzYsIDg0LCA2OSwgODIsIDc4LCA2NSwgODQsIDE5NywgNjUsIDc2LCA4NCwgNjUsIDEyOCwgCi0gICAgNjUsIDc2LCA4MCwgNzIsIDY1LCAxMjgsIDY1LCA3NiwgODAsIDcyLCAxOTMsIDY1LCA3NiwgODAsIDY1LCA4MCwgODIsIDY1LCAKLSAgICA3OCwgNjUsIDEyOCwgNjUsIDc2LCA4MCwgNjUsIDgwLCA4MiwgNjUsIDY1LCA3OCwgMTkzLCA2NSwgNzYsIDgwLCA2NSwgCi0gICAgMTI4LCA2NSwgNzYsIDc3LCA3OSwgODMsIDIxMiwgNjUsIDc2LCA3NywgMTI4LCA2NSwgNzYsIDc2LCA3OSwgMTI4LCA2NSwgCi0gICAgNzYsIDc2LCA3MywgNjUsIDc4LCA2NywgNjksIDEyOCwgNjUsIDc2LCA3NiwgMjAxLCA2NSwgNzYsIDc2LCA2NSwgMjAwLCAKLSAgICA2NSwgNzYsIDc1LCA2NSwgNzYsIDczLCA0NSwgNTAsIDEyOCwgNjUsIDc2LCA3NSwgNjUsIDc2LCA3MywgMTI4LCA2NSwgNzYsIAotICAgIDczLCA3MSwgNzgsIDY5LCAxOTYsIDY1LCA3NiwgNzMsIDcwLCA4NSwgMTI4LCA2NSwgNzYsIDczLCA2OSwgNzgsIDEyOCwgCi0gICAgNjUsIDc2LCA3MywgNjksIDIwNiwgNjUsIDc2LCA3MSwgNzMsIDIxOCwgNjUsIDc2LCA3MCwgNjUsIDEyOCwgNjUsIDc2LCAKLSAgICA2OSwgODUsIDIxMiwgNjUsIDc2LCA2OSwgODIsIDg0LCAxMjgsIDY1LCA3NiwgNjksIDgwLCA3MiwgMTI4LCA2NSwgNzYsIAotICAgIDY5LCA3NywgNjYsIDczLCA2NywgMTI4LCA2NSwgNzYsIDY5LCA3MCwgMTI4LCA2NSwgNzYsIDY1LCA4OSwgNzIsIDY5LCAKLSAgICAxMjgsIDY1LCA3NiwgNjUsIDg5LCA3MiwgMTk3LCA2NSwgNzYsIDY1LCA4MiwgMjA1LCA2NSwgNzYsIDY1LCA4MCwgNzIsIAotICAgIDEyOCwgNjUsIDc2LCA0NSwgNzYsIDY1LCA3NSwgODUsIDc4LCA2NSwgMTI4LCA2NSwgNzUsIDg0LCA3MywgNjksIDgzLCA2OSwgCi0gICAgNzYsIDgzLCA3NSwgNjUsIDY2LCAxMjgsIDY1LCA3NSwgODMsIDY1LCAxMjgsIDY1LCA3NSwgNzIsIDc3LCA3MywgNzcsIDczLCAKLSAgICAxOTUsIDY1LCA3NSwgNjYsIDY1LCAyMTAsIDY1LCA3NSwgNjUsIDgyLCA2NSwgMTI4LCA2NSwgNzUsIDY1LCA4MiwgMTkzLCAKLSAgICA2NSwgNzMsIDg5LCA2NSwgNzgsIDc4LCA2NSwgMTI4LCA2NSwgNzMsIDg2LCA3MywgNzYsIDczLCAyMDMsIDY1LCA3MywgODQsIAotICAgIDc5LCAyMDYsIDY1LCA3MywgODIsIDgwLCA3NiwgNjUsIDc4LCA2OSwgMTI4LCA2NSwgNzMsIDc4LCAyMTMsIDY1LCA3MywgCi0gICAgNzgsIDc4LCAxMjgsIDY1LCA3MywgNzYsIDc3LCAxMjgsIDY1LCA3MywgNzUsIDY1LCA4MiwgNjUsIDEyOCwgNjUsIDczLCAKLSAgICA3MiwgODYsIDg1LCA4MywgMTI4LCA2NSwgNzIsIDgzLCA2OCwgNjUsIDEyOCwgNjUsIDcyLCA4MywgNjUsIDEyOCwgNjUsIAotICAgIDcyLCA2NSwgNzgsIDE5OSwgNjUsIDcyLCA2NSwgNzEsIDcxLCA2NSwgMjEwLCA2NSwgNzIsIDY1LCA2OCwgMTI4LCA2NSwgCi0gICAgNzEsIDg1LCA3OCwgNzEsIDEyOCwgNjUsIDcxLCA3OSwgNzEsIDIwMSwgNjUsIDcxLCA3MSwgODIsIDY1LCA4NiwgNjUsIDg0LCAKLSAgICA3MywgNzksIDc4LCAxMjgsIDY1LCA3MSwgNzEsIDgyLCA2NSwgODYsIDY1LCA4NCwgNjksIDE5NiwgNjUsIDcxLCA2NSwgNzMsIAotICAgIDc4LCAxMjgsIDY1LCA3MCwgODQsIDY5LCAyMTAsIDY1LCA3MCwgODMsIDY1LCA2NSwgODEsIDEyOCwgNjUsIDcwLCA4MiwgCi0gICAgNzMsIDY3LCA2NSwgMjA2LCA2NSwgNzAsIDc5LCA4MiwgNjksIDc3LCA2OSwgNzgsIDg0LCA3MywgNzksIDc4LCA2OSwgNjgsIAotICAgIDEyOCwgNjUsIDcwLCA3MSwgNzIsIDY1LCA3OCwgMjAxLCA2NSwgNzAsIDcwLCA4MiwgNzMsIDY3LCA2NSwgODQsIDczLCA3OSwgCi0gICAgMjA2LCA2NSwgNjksIDg5LCA2NSwgNzgsIDc4LCA2NSwgMTI4LCA2NSwgNjksIDg5LCAxMjgsIDY1LCA2OSwgODMsIDY3LCAKKyAgICA4NCwgNjUsIDczLCA3NiwgMTI4LCA2NSwgODIsIDgyLCA3MywgODYsIDczLCA3OCwgNzEsIDEyOCwgNjUsIDgyLCA4MiwgNzMsIAorICAgIDg2LCA2OSwgMTI4LCA2NSwgODIsIDgyLCA2NSwgODksIDEyOCwgNjUsIDgyLCA4MCwgNjksIDcxLCA3MSwgNzMsIDY1LCA4NCwgCisgICAgMjA3LCA2NSwgODIsIDc5LCA4NSwgODMsIDczLCA3OCwgMTk5LCA2NSwgODIsIDc5LCA4NSwgODIsIDE5MywgNjUsIDgyLCAKKyAgICA3OSwgODUsIDc4LCA2OCwgNDUsIDgwLCA4MiwgNzksIDcwLCA3MywgNzYsIDY5LCAxMjgsIDY1LCA4MiwgNzksIDg1LCA3OCwgCisgICAgMTk2LCA2NSwgODIsIDc3LCA4OSwgMTI4LCA2NSwgODIsIDc3LCA3OSwgODUsIDgyLCAxMjgsIDY1LCA4MiwgMjA1LCA2NSwgCisgICAgODIsIDc2LCA2NSwgODUsIDE5OSwgNjUsIDgyLCA3NSwgODQsIDczLCA3NSwgMjA3LCA2NSwgODIsIDc1LCA2NSwgNjYsIAorICAgIDEyOCwgNjUsIDgyLCA3NSwgNjUsIDY1LCA3OCwgODUsIDEyOCwgNjUsIDgyLCA3MywgODMsIDg0LCA2OSwgODIsIDY1LCAKKyAgICAxMjgsIDY1LCA4MiwgNzMsIDgzLCA4NCwgNjksIDgyLCAxOTMsIDY1LCA4MiwgNzMsIDY5LCA4MywgMTI4LCA2NSwgODIsIAorICAgIDcxLCA3OSwgODQsIDY5LCA4MiwgNzMsIDEyOCwgNjUsIDgyLCA3MSwgNzksIDgzLCA4OSwgNzgsIDg0LCA3MiwgNjksIDg0LCAKKyAgICA3OSwgNzgsIDEyOCwgNjUsIDgyLCA3MSwgNzMsIDEyOCwgNjUsIDgyLCA2OSwgODAsIDY1LCAxMjgsIDY1LCA4MiwgNjksIAorICAgIDY1LCAxMjgsIDY1LCA4MiwgNjgsIDcyLCA2NSwgODYsIDczLCA4MywgNjUsIDgyLCA3MSwgNjUsIDEyOCwgNjUsIDgyLCA2OCwgCisgICAgNzIsIDY1LCA2NywgNjUsIDc4LCA2OCwgODIsIDY1LCAxMjgsIDY1LCA4MiwgNjcsIDcyLCA2NSwgNzMsIDc5LCA3OCwgMTI4LCAKKyAgICA2NSwgODIsIDY3LCA3MiwgNjUsIDczLCA3OSwgMjA2LCA2NSwgODIsIDY3LCA3MiwgNjUsIDczLCAxOTUsIDY1LCA4MiwgNjcsIAorICAgIDIwMCwgNjUsIDgyLCA2NywgMTI4LCA2NSwgODIsIDE5NSwgNjUsIDgyLCA2NSwgNzcsIDY1LCA3MywgMTk1LCA2NSwgODIsIAorICAgIDY1LCA2OSwgNjUsIDY5LCAxMjgsIDY1LCA4MiwgNjUsIDY5LCA2NSwgNDUsIDg1LCAxMjgsIDY1LCA4MiwgNjUsIDY5LCA2NSwgCisgICAgNDUsIDczLCAxMjgsIDY1LCA4MiwgNjUsIDY5LCA2NSwgNDUsIDY5LCA3OSwgMTI4LCA2NSwgODIsIDY1LCA2OSwgNjUsIDQ1LCAKKyAgICA2OSwgMTI4LCA2NSwgODIsIDY1LCA2OSwgNjUsIDQ1LCA2NSwgMTI4LCA2NSwgODIsIDY1LCA2OCwgMTI4LCA2NSwgODIsIAorICAgIDY1LCAxOTYsIDY1LCA4MiwgNjUsIDY2LCA3MywgNjcsIDQ1LCA3MywgNzgsIDY4LCA3MywgMTk1LCA2NSwgODIsIDY1LCA2NiwgCisgICAgNzMsIDY1LCAyMDYsIDY1LCA4MiwgNDUsIDgyLCA2NSwgNzIsIDc3LCA2NSwgMjA2LCA2NSwgODIsIDQ1LCA4MiwgNjUsIDcyLCAKKyAgICA2OSwgNjksIDc3LCAxMjgsIDY1LCA4MSwgODUsIDY1LCA4MiwgNzMsIDg1LCA4MywgMTI4LCA2NSwgODEsIDg1LCA2NSwgNzAsIAorICAgIDc5LCA4MiwgODQsIDczLCA4MywgMTI4LCA2NSwgODEsIDg1LCAxOTMsIDY1LCA4MCwgODUsIDIwNiwgNjUsIDgwLCA4MiwgCisgICAgNzMsIDc2LCAxMjgsIDY1LCA4MCwgODAsIDgyLCA3OSwgODgsIDczLCA3NywgNjUsIDg0LCA2OSwgNzYsIDIxNywgNjUsIDgwLCAKKyAgICA4MCwgODIsIDc5LCA4OCwgNzMsIDc3LCA2NSwgODQsIDY5LCAxMjgsIDY1LCA4MCwgODAsIDgyLCA3OSwgNjUsIDY3LCA3MiwgCisgICAgNjksIDIxMSwgNjUsIDgwLCA4MCwgODIsIDc5LCA2NSwgNjcsIDcyLCAxMjgsIDY1LCA4MCwgODAsIDc2LCA3MywgNjcsIDY1LCAKKyAgICA4NCwgNzMsIDc5LCA3OCwgMTI4LCA2NSwgODAsIDgwLCA3NiwgNzMsIDY3LCA2NSwgODQsIDczLCA3OSwgMjA2LCA2NSwgODAsIAorICAgIDc5LCA4NCwgNzIsIDY5LCA4MywgMTI4LCA2NSwgODAsIDc5LCA4NCwgNzIsIDY5LCA3NywgNjUsIDEyOCwgNjUsIDgwLCA3OSwgCisgICAgODMsIDg0LCA4MiwgNzksIDgwLCA3MiwgNjksIDEyOCwgNjUsIDgwLCA3OSwgODMsIDg0LCA4MiwgNzksIDcwLCA3OSwgODMsIAorICAgIDEyOCwgNjUsIDgwLCA3OSwgODMsIDg0LCA4MiwgNzksIDcwLCA3OSwgMjExLCA2NSwgODAsIDc5LCA4MywgODQsIDgyLCA3OSwgCisgICAgNzAsIDc5LCAyMDEsIDY1LCA4MCwgNzksIDY4LCA2OSwgODgsIDczLCA2NSwgMTI4LCA2NSwgODAsIDc5LCA2OCwgNjksIDgyLCAKKyAgICA3NywgMTkzLCA2NSwgODAsIDc2LCA3OSwgODUsIDc4LCAxMjgsIDY1LCA4MCwgNzYsIDIwMSwgNjUsIDgwLCAyMDQsIDY1LCAKKyAgICA4MCwgNzMsIDc4LCAxMjgsIDY1LCA4MCwgNjksIDgzLCAyMDcsIDY1LCA4MCwgNjcsIDEyOCwgNjUsIDgwLCA2NSwgODIsIAorICAgIDg0LCAxMjgsIDY1LCA4MCwgNjUsIDY1LCA4NCwgNzksIDEyOCwgNjUsIDc5LCA4NSwgMTI4LCA2NSwgNzksIDgyLCAxMjgsIAorICAgIDY1LCA3OCwgODUsIDgzLCA4NiwgNjUsIDgyLCA2NSwgODksIDY1LCAxMjgsIDY1LCA3OCwgODUsIDgzLCA4NiwgNjUsIDgyLCAKKyAgICA2NSwgMTI4LCA2NSwgNzgsIDg1LCA4MywgODYsIDY1LCA4MiwgMTkzLCA2NSwgNzgsIDg1LCA2OCwgNjUsIDg0LCA4NCwgNjUsIAorICAgIDEyOCwgNjUsIDc4LCA4NSwgNjgsIDY1LCA4NCwgODQsIDE5MywgNjUsIDc4LCA4NCwgNzMsIDgyLCA2OSwgODMsIDg0LCA4MiwgCisgICAgNzMsIDY3LCA4NCwgNzMsIDc5LCA3OCwgMTI4LCA2NSwgNzgsIDg0LCA3MywgNzcsIDc5LCA3OCwgODksIDQ1LCA1MCwgMTI4LCAKKyAgICA2NSwgNzgsIDg0LCA3MywgNzcsIDc5LCA3OCwgODksIDEyOCwgNjUsIDc4LCA4NCwgNzMsIDc3LCA3OSwgNzgsIDIxNywgNjUsIAorICAgIDc4LCA4NCwgNzMsIDc3LCA3OSwgNzgsIDczLCA2NSwgODQsIDY5LCAxMjgsIDY1LCA3OCwgODQsIDczLCA3NSwgNjksIDc4LCAKKyAgICA3OSwgNzcsIDY1LCAxMjgsIDY1LCA3OCwgODQsIDczLCA3NSwgNjksIDc4LCA3OSwgNzUsIDg5LCA3NiwgNzMsIDgzLCA3NywgCisgICAgNjUsIDEyOCwgNjUsIDc4LCA4NCwgNzMsIDcwLCA3OSwgNzgsIDczLCA2NSwgMTI4LCA2NSwgNzgsIDg0LCA3MywgNjcsIDc2LCAKKyAgICA3OSwgNjcsIDc1LCA4NywgNzMsIDgzLCA2OSwgNDUsIDgyLCA3OSwgODQsIDY1LCA4NCwgNjksIDE5NiwgNjUsIDc4LCA4NCwgCisgICAgNzMsIDY3LCA3NiwgNzksIDY3LCA3NSwgODcsIDczLCA4MywgNjksIDEyOCwgNjUsIDc4LCA4NCwgNzMsIDY3LCA3NiwgNzksIAorICAgIDY3LCA3NSwgODcsIDczLCA4MywgMTk3LCA2NSwgNzgsIDg0LCA2OSwgNzgsIDc4LCA2NSwgMTI4LCA2NSwgNzgsIDg0LCA2OSwgCisgICAgNzgsIDc4LCAxOTMsIDY1LCA3OCwgODQsIDY1LCA4MiwgNzEsIDc5LCA3NywgODUsIDc1LCA3MiwgNjUsIDEyOCwgNjUsIDc4LCAKKyAgICA4MywgODUsIDIxOCwgNjUsIDc4LCA4MywgNzIsIDY5LCAxMjgsIDY1LCA3OCwgODAsIDY5LCA2NSwgMTI4LCA2NSwgNzgsIAorICAgIDIwNywgNjUsIDc4LCA3OCwgODUsIDczLCA4NCwgMjE3LCA2NSwgNzgsIDc4LCA3OSwgODQsIDY1LCA4NCwgNzMsIDc5LCAKKyAgICAyMDYsIDY1LCA3OCwgNzgsIDY1LCA2NSwgODUsIDEyOCwgNjUsIDc4LCA3NSwgNzIsIDEyOCwgNjUsIDc4LCA3NCwgNzMsIAorICAgIDEyOCwgNjUsIDc4LCA3MiwgODUsIDEyOCwgNjUsIDc4LCA3MSwgODUsIDc2LCA2NSwgODIsIDEyOCwgNjUsIDc4LCA3MSwgCisgICAgODUsIDczLCA4MywgNzIsIDY5LCAxOTYsIDY1LCA3OCwgNzEsIDgzLCA4NCwgODIsIDc5LCAyMDUsIDY1LCA3OCwgNzEsIDgyLCAKKyAgICAyMTcsIDY1LCA3OCwgNzEsIDc1LCA3MiwgNjUsIDc4LCA3NSwgNzIsIDg1LCAxMjgsIDY1LCA3OCwgNzEsIDY5LCAyMTAsIAorICAgIDY1LCA3OCwgNzEsIDY5LCA3NiwgMTI4LCA2NSwgNzgsIDcxLCA2OSwgNjgsIDEyOCwgNjUsIDc4LCA2OCwgNjUsIDgwLCAKKyAgICAxMjgsIDY1LCA3OCwgNjcsIDc5LCA4MiwgNjUsIDEyOCwgNjUsIDc4LCA2NywgNzIsIDc5LCA4MiwgMTI4LCA2NSwgNzgsIAorICAgIDY1LCA4NCwgODIsIDczLCA2NywgNzIsIDczLCA4MywgNzcsIDY1LCAxMjgsIDY1LCA3OCwgNjUsIDgwLCAxMjgsIDY1LCA3NywgCisgICAgODAsIDgzLCAxMjgsIDY1LCA3NywgODAsIDY5LCA4MiwgODMsIDY1LCA3OCwgNjgsIDEyOCwgNjUsIDc3LCA4MCwgNjksIDgyLCAKKyAgICA4MywgNjUsIDc4LCAxOTYsIDY1LCA3NywgNzksIDg1LCA3OCwgMjEyLCA2NSwgNzcsIDY5LCA4MiwgNzMsIDY3LCA2NSwgODMsIAorICAgIDEyOCwgNjUsIDc3LCA2OSwgODIsIDczLCA2NywgNjUsIDIwNiwgNjUsIDc3LCA2NiwgODUsIDc2LCA2NSwgNzgsIDY3LCA2OSwgCisgICAgMTI4LCA2NSwgNzcsIDY2LCAxOTMsIDY1LCA3NywgNjUsIDgyLCAxMjgsIDY1LCA3NywgNjUsIDIxMCwgNjUsIDc3LCA2NSwgCisgICAgNzYsIDcxLCA2NSwgNzcsIDY1LCA4NCwgNzMsIDc5LCAyMDYsIDY1LCA3NywgNjUsIDc2LCA3MSwgNjUsIDc3LCAxMjgsIDY1LCAKKyAgICA3NiwgODYsIDY5LCA3OSwgNzYsIDY1LCAyMTAsIDY1LCA3NiwgODUsIDc3LCAxMjgsIDY1LCA3NiwgODQsIDY5LCA4MiwgNzgsIAorICAgIDY1LCA4NCwgNzMsIDg2LCAxOTcsIDY1LCA3NiwgODQsIDY5LCA4MiwgNzgsIDY1LCA4NCwgNzMsIDc5LCAyMDYsIDY1LCA3NiwgCisgICAgODQsIDY5LCA4MiwgNzgsIDY1LCA4NCwgMTk3LCA2NSwgNzYsIDg0LCA2NSwgMTI4LCA2NSwgNzYsIDgwLCA3MiwgNjUsIAorICAgIDEyOCwgNjUsIDc2LCA4MCwgNzIsIDE5MywgNjUsIDc2LCA4MCwgNjUsIDgwLCA4MiwgNjUsIDc4LCA2NSwgMTI4LCA2NSwgCisgICAgNzYsIDgwLCA2NSwgODAsIDgyLCA2NSwgNjUsIDc4LCAxOTMsIDY1LCA3NiwgODAsIDY1LCAxMjgsIDY1LCA3NiwgNzcsIDc5LCAKKyAgICA4MywgMjEyLCA2NSwgNzYsIDc3LCAxMjgsIDY1LCA3NiwgNzYsIDc5LCAxMjgsIDY1LCA3NiwgNzYsIDczLCA2NSwgNzgsIAorICAgIDY3LCA2OSwgMTI4LCA2NSwgNzYsIDc2LCAyMDEsIDY1LCA3NiwgNzYsIDY1LCAyMDAsIDY1LCA3NiwgNzUsIDY1LCA3NiwgCisgICAgNzMsIDQ1LCA1MCwgMTI4LCA2NSwgNzYsIDc1LCA2NSwgNzYsIDczLCAxMjgsIDY1LCA3NiwgNzMsIDcxLCA3OCwgNjksIAorICAgIDE5NiwgNjUsIDc2LCA3MywgNzAsIDg1LCAxMjgsIDY1LCA3NiwgNzMsIDY5LCA3OCwgMTI4LCA2NSwgNzYsIDczLCA2OSwgCisgICAgMjA2LCA2NSwgNzYsIDcxLCA3MywgMjE4LCA2NSwgNzYsIDcwLCA2NSwgMTI4LCA2NSwgNzYsIDY5LCA4NSwgMjEyLCA2NSwgCisgICAgNzYsIDY5LCA4MiwgODQsIDEyOCwgNjUsIDc2LCA2OSwgODAsIDcyLCAxMjgsIDY1LCA3NiwgNjksIDc3LCA2NiwgNzMsIDY3LCAKKyAgICAxMjgsIDY1LCA3NiwgNjksIDcwLCAxMjgsIDY1LCA3NiwgNjYsIDY1LCA3OCwgNzMsIDY1LCAyMDYsIDY1LCA3NiwgNjUsIAorICAgIDg5LCA3MiwgNjksIDEyOCwgNjUsIDc2LCA2NSwgODksIDcyLCAxOTcsIDY1LCA3NiwgNjUsIDgyLCAyMDUsIDY1LCA3NiwgCisgICAgNjUsIDgwLCA3MiwgMTI4LCA2NSwgNzYsIDQ1LCA3NiwgNjUsIDc1LCA4NSwgNzgsIDY1LCAxMjgsIDY1LCA3NSwgODQsIDczLCAKKyAgICA2OSwgODMsIDY5LCA3NiwgODMsIDc1LCA2NSwgNjYsIDEyOCwgNjUsIDc1LCA4MywgNjUsIDEyOCwgNjUsIDc1LCA3MiwgNzcsIAorICAgIDczLCA3NywgNzMsIDE5NSwgNjUsIDc1LCA2NiwgNjUsIDIxMCwgNjUsIDc1LCA2NSwgODIsIDY1LCAxMjgsIDY1LCA3NSwgCisgICAgNjUsIDgyLCAxOTMsIDY1LCA3MywgODksIDY1LCA3OCwgNzgsIDY1LCAxMjgsIDY1LCA3MywgODYsIDczLCA3NiwgNzMsIAorICAgIDIwMywgNjUsIDczLCA4NCwgNzksIDIwNiwgNjUsIDczLCA4MiwgODAsIDc2LCA2NSwgNzgsIDY5LCAxMjgsIDY1LCA3MywgCisgICAgODIsIDgwLCA3NiwgNjUsIDc4LCAxOTcsIDY1LCA3MywgNzgsIDIxMywgNjUsIDczLCA3OCwgNzgsIDEyOCwgNjUsIDczLCAKKyAgICA3NiwgNzcsIDEyOCwgNjUsIDczLCA3NSwgNjUsIDgyLCA2NSwgMTI4LCA2NSwgNzMsIDcyLCA4NiwgODUsIDgzLCAxMjgsIAorICAgIDY1LCA3MiwgODMsIDY4LCA2NSwgMTI4LCA2NSwgNzIsIDgzLCA2NSwgMTI4LCA2NSwgNzIsIDY1LCA3OCwgMTk5LCA2NSwgCisgICAgNzIsIDY1LCA3MSwgNzEsIDY1LCAyMTAsIDY1LCA3MiwgNjUsIDY4LCAxMjgsIDY1LCA3MSwgODUsIDc4LCA3MSwgMTI4LCAKKyAgICA2NSwgNzEsIDc5LCA3MSwgMjAxLCA2NSwgNzEsIDcxLCA4MiwgNjUsIDg2LCA2NSwgODQsIDczLCA3OSwgNzgsIDEyOCwgNjUsIAorICAgIDcxLCA3MSwgODIsIDY1LCA4NiwgNjUsIDg0LCA2OSwgMTk2LCA2NSwgNzEsIDY1LCA3MywgNzgsIDEyOCwgNjUsIDcwLCA4NCwgCisgICAgNjksIDIxMCwgNjUsIDcwLCA4MywgNjUsIDY1LCA4MSwgMTI4LCA2NSwgNzAsIDgyLCA3MywgNjcsIDY1LCAyMDYsIDY1LCAKKyAgICA3MCwgNzksIDgyLCA2OSwgNzcsIDY5LCA3OCwgODQsIDczLCA3OSwgNzgsIDY5LCA2OCwgMTI4LCA2NSwgNzAsIDcxLCA3MiwgCisgICAgNjUsIDc4LCAyMDEsIDY1LCA3MCwgNzAsIDgyLCA3MywgNjcsIDY1LCA4NCwgNzMsIDc5LCAyMDYsIDY1LCA3MCwgNzAsIDczLCAKKyAgICAyMTYsIDY1LCA2OSwgODksIDY1LCA3OCwgNzgsIDY1LCAxMjgsIDY1LCA2OSwgODksIDEyOCwgNjUsIDY5LCA4MywgNjcsIAogICAgIDg1LCA3NiwgNjUsIDgwLCA3MywgODUsIDgzLCAxMjgsIDY1LCA2OSwgODMsIDY3LCAxMjgsIDY1LCA2OSwgODMsIDEyOCwgCiAgICAgNjUsIDY5LCA4MiwgNzMsIDY1LCAyMDQsIDY1LCA2OSwgODIsIDEyOCwgNjUsIDY5LCA3NiwgNjUsIDQ1LCA4MCwgNzMsIDc2LCAKICAgICA3NiwgNjUsIDEyOCwgNjUsIDY5LCA3NiwgMTI4LCA2NSwgNjksIDc1LCAxMjgsIDY1LCA2OSwgNzEsIDY5LCA2NSwgMjA2LCAKICAgICA2NSwgNjksIDcxLCAxMjgsIDY1LCA2OSwgNjksIDg5LCA2NSwgNzgsIDc4LCA2NSwgMTI4LCA2NSwgNjksIDY5LCAxMjgsIAogICAgIDY1LCA2OSwgNjgsIDY1LCA0NSwgODAsIDczLCA3NiwgNzYsIDY1LCAxMjgsIDY1LCA2OSwgNjgsIDEyOCwgNjUsIDY5LCA2NiwgCiAgICAgMTI4LCA2NSwgNjgsIDg2LCA2NSwgNzgsIDg0LCA2NSwgNzEsIDY5LCAxMjgsIDY1LCA2OCwgODYsIDY1LCA3OCwgNjcsIDY5LCAKLSAgICAxMjgsIDY1LCA2OCwgNjksIDcxLCAxMjgsIDY1LCA2OCwgNjksIDE5OSwgNjUsIDY4LCA2OCwgODIsIDY5LCA4MywgODMsIAotICAgIDY5LCAxOTYsIDY1LCA2OCwgNjgsIDgyLCA2OSwgODMsIDIxMSwgNjUsIDY4LCA2OCwgNjUsIDc1LCAxMjgsIDY1LCA2OCwgCi0gICAgNjUsIDIwMywgNjUsIDY3LCA4NSwgODQsIDY5LCA0NSwgNzcsIDY1LCA2NywgODIsIDc5LCA3OCwgMTI4LCA2NSwgNjcsIDg1LCAKLSAgICA4NCwgNjksIDQ1LCA3MSwgODIsIDY1LCA4NiwgNjksIDQ1LCA2NSwgNjcsIDg1LCA4NCwgNjksIDEyOCwgNjUsIDY3LCA4NSwgCi0gICAgODQsIDE5NywgNjUsIDY3LCA4NCwgODUsIDY1LCA3NiwgNzYsIDIxNywgNjUsIDY3LCA4NCwgNzMsIDg2LCA2NSwgODQsIAotICAgIDE5NywgNjUsIDY3LCA4MiwgNzksIDgwLCA3MiwgNzksIDc4LCA3MywgMTk1LCA2NSwgNjcsIDc1LCA3OCwgNzksIDg3LCA3NiwgCi0gICAgNjksIDY4LCA3MSwgNjksIDEyOCwgNjUsIDY3LCA2NywgODUsIDc3LCA4NSwgNzYsIDY1LCA4NCwgNzMsIDc5LCA3OCwgMTI4LCAKLSAgICA2NSwgNjcsIDY3LCA3OSwgODUsIDc4LCAyMTIsIDY1LCA2NywgNjcsIDY5LCA4MCwgODQsIDEyOCwgNjUsIDY3LCA2NywgNjksIAotICAgIDc4LCA4NCwgNDUsIDgzLCA4NCwgNjUsIDY3LCA2NywgNjUsIDg0LCA3OSwgMTI4LCA2NSwgNjcsIDY3LCA2OSwgNzgsIDg0LCAKLSAgICAxMjgsIDY1LCA2NywgNjcsIDY5LCA3OCwgMjEyLCA2NSwgNjcsIDY1LCA2OCwgNjksIDc3LCAyMTcsIDY1LCA2NiwgODksIAotICAgIDgzLCA3NywgNjUsIDIwNCwgNjUsIDY2LCA4NSwgNzgsIDY4LCA2NSwgNzgsIDY3LCA2OSwgMTI4LCA2NSwgNjYsIDc1LCA3MiwgCi0gICAgNjUsIDgzLCA3MywgNjUsIDIwNiwgNjUsIDY2LCA2NiwgODIsIDY5LCA4NiwgNzMsIDY1LCA4NCwgNzMsIDc5LCAyMDYsIDY1LCAKLSAgICA2NiwgNjUsIDcwLCA3MywgNzYsIDczLCAxMjgsIDY1LCA2NiwgMTc4LCA2NSwgNjUsIDg5LCA2NSwgNzgsIDc4LCA2NSwgCi0gICAgMTI4LCA2NSwgNjUsIDg5LCAxMjgsIDY1LCA2NSwgODcsIDEyOCwgNjUsIDY1LCA3OSwgMTI4LCA2NSwgNjUsIDc0LCAxMjgsIAotICAgIDY1LCA2NSwgNjYsIDY1LCA2NSwgNzAsIDczLCA3NiwgNzMsIDEyOCwgNjUsIDY1LCA0OCwgNTEsIDUwLCAxMjgsIDY1LCA2NSwgCi0gICAgNDgsIDUxLCA0OSwgMTI4LCA2NSwgNjUsIDQ4LCA1MSwgNDgsIDEyOCwgNjUsIDY1LCA0OCwgNTAsIDU3LCAxMjgsIDY1LCAKLSAgICA2NSwgNDgsIDUwLCA1NiwgMTI4LCA2NSwgNjUsIDQ4LCA1MCwgNTUsIDEyOCwgNjUsIDY1LCA0OCwgNTAsIDU0LCAxMjgsIAotICAgIDY1LCA2NSwgNDgsIDUwLCA1MywgMTI4LCA2NSwgNjUsIDQ4LCA1MCwgNTIsIDEyOCwgNjUsIDY1LCA0OCwgNTAsIDUxLCAKLSAgICAxMjgsIDY1LCA2NSwgNDgsIDUwLCA1MCwgMTI4LCA2NSwgNjUsIDQ4LCA1MCwgNDksIDEyOCwgNjUsIDY1LCA0OCwgNTAsIAotICAgIDQ4LCAxMjgsIDY1LCA2NSwgNDgsIDQ5LCA1NywgMTI4LCA2NSwgNjUsIDQ4LCA0OSwgNTYsIDEyOCwgNjUsIDY1LCA0OCwgCi0gICAgNDksIDU1LCAxMjgsIDY1LCA2NSwgNDgsIDQ5LCA1NCwgMTI4LCA2NSwgNjUsIDQ4LCA0OSwgNTMsIDEyOCwgNjUsIDY1LCAKLSAgICA0OCwgNDksIDUyLCAxMjgsIDY1LCA2NSwgNDgsIDQ5LCA1MSwgMTI4LCA2NSwgNjUsIDQ4LCA0OSwgNTAsIDEyOCwgNjUsIAotICAgIDY1LCA0OCwgNDksIDQ5LCAxMjgsIDY1LCA2NSwgNDgsIDQ5LCA0OCwgMTI4LCA2NSwgNjUsIDQ4LCA0OCwgNTcsIDEyOCwgCi0gICAgNjUsIDY1LCA0OCwgNDgsIDU2LCAxMjgsIDY1LCA2NSwgNDgsIDQ4LCA1NSwgNjYsIDEyOCwgNjUsIDY1LCA0OCwgNDgsIDU1LCAKLSAgICA2NSwgMTI4LCA2NSwgNjUsIDQ4LCA0OCwgNTUsIDEyOCwgNjUsIDY1LCA0OCwgNDgsIDU0LCAxMjgsIDY1LCA2NSwgNDgsIAotICAgIDQ4LCA1MywgMTI4LCA2NSwgNjUsIDQ4LCA0OCwgNTIsIDEyOCwgNjUsIDY1LCA0OCwgNDgsIDUxLCAxMjgsIDY1LCA2NSwgCi0gICAgNDgsIDQ4LCA1MCwgMTI4LCA2NSwgNjUsIDQ4LCA0OCwgNDksIDEyOCwgNjUsIDQ4LCA1NSwgNDgsIDEyOCwgNjUsIDQ4LCAKLSAgICA1NCwgNTcsIDEyOCwgNjUsIDQ4LCA1NCwgNTYsIDEyOCwgNjUsIDQ4LCA1NCwgNTUsIDEyOCwgNjUsIDQ4LCA1NCwgNTQsIAotICAgIDEyOCwgNjUsIDQ4LCA1NCwgNTMsIDEyOCwgNjUsIDQ4LCA1NCwgNTIsIDEyOCwgNjUsIDQ4LCA1NCwgNTEsIDEyOCwgNjUsIAotICAgIDQ4LCA1NCwgNTAsIDEyOCwgNjUsIDQ4LCA1NCwgNDksIDEyOCwgNjUsIDQ4LCA1NCwgNDgsIDEyOCwgNjUsIDQ4LCA1MywgCi0gICAgNTcsIDEyOCwgNjUsIDQ4LCA1MywgNTYsIDEyOCwgNjUsIDQ4LCA1MywgNTUsIDEyOCwgNjUsIDQ4LCA1MywgNTQsIDEyOCwgCi0gICAgNjUsIDQ4LCA1MywgNTMsIDEyOCwgNjUsIDQ4LCA1MywgNTIsIDEyOCwgNjUsIDQ4LCA1MywgNTEsIDEyOCwgNjUsIDQ4LCAKLSAgICA1MywgNTAsIDEyOCwgNjUsIDQ4LCA1MywgNDksIDEyOCwgNjUsIDQ4LCA1MywgNDgsIDEyOCwgNjUsIDQ4LCA1MiwgNTcsIAotICAgIDEyOCwgNjUsIDQ4LCA1MiwgNTYsIDEyOCwgNjUsIDQ4LCA1MiwgNTUsIDEyOCwgNjUsIDQ4LCA1MiwgNTQsIDEyOCwgNjUsIAotICAgIDQ4LCA1MiwgNTMsIDY1LCAxMjgsIDY1LCA0OCwgNTIsIDUzLCAxMjgsIDY1LCA0OCwgNTIsIDUyLCAxMjgsIDY1LCA0OCwgCi0gICAgNTIsIDUxLCA2NSwgMTI4LCA2NSwgNDgsIDUyLCA1MSwgMTI4LCA2NSwgNDgsIDUyLCA1MCwgNjUsIDEyOCwgNjUsIDQ4LCAKLSAgICA1MiwgNTAsIDEyOCwgNjUsIDQ4LCA1MiwgNDksIDEyOCwgNjUsIDQ4LCA1MiwgNDgsIDY1LCAxMjgsIDY1LCA0OCwgNTIsIAotICAgIDQ4LCAxMjgsIDY1LCA0OCwgNTEsIDU3LCAxMjgsIDY1LCA0OCwgNTEsIDU2LCAxMjgsIDY1LCA0OCwgNTEsIDU1LCAxMjgsIAotICAgIDY1LCA0OCwgNTEsIDU0LCAxMjgsIDY1LCA0OCwgNTEsIDUzLCAxMjgsIDY1LCA0OCwgNTEsIDUyLCAxMjgsIDY1LCA0OCwgCi0gICAgNTEsIDUxLCAxMjgsIDY1LCA0OCwgNTEsIDUwLCA2NSwgMTI4LCA2NSwgNDgsIDQ5LCA1NSwgNjUsIDEyOCwgNjUsIDQ4LCAKLSAgICA0OSwgNTIsIDY1LCAxMjgsIDY1LCA0OCwgNDgsIDU0LCA2NiwgMTI4LCA2NSwgNDgsIDQ4LCA1NCwgNjUsIDEyOCwgNjUsIAotICAgIDQ4LCA0OCwgNTMsIDY1LCAxMjgsIDY1LCA0NSwgNjksIDg1LCAxMjgsIDQ1LCA4NSwgMjA1LCA0NSwgODAsIDcyLCA4MiwgCi0gICAgODUsIDEyOCwgNDUsIDc1LCA3MiwgODksIDg1LCAxOTYsIDQ1LCA3NSwgNzIsIDg5LCA3MywgNzYsIDEyOCwgNDUsIDY4LCAKLSAgICA5MCwgODUsIDE5NiwgNDUsIDY3LCA3MiwgNjUsIDIxMCwgNDUsIDY3LCA3MiwgNjUsIDc2LCAxMjgsIAorICAgIDEyOCwgNjUsIDY4LCA3NywgNzMsIDgzLCA4MywgNzMsIDc5LCAyMDYsIDY1LCA2OCwgNjksIDcxLCAxMjgsIDY1LCA2OCwgCisgICAgNjksIDE5OSwgNjUsIDY4LCA2OCwgODIsIDY5LCA4MywgODMsIDY5LCAxOTYsIDY1LCA2OCwgNjgsIDgyLCA2OSwgODMsIAorICAgIDIxMSwgNjUsIDY4LCA2OCwgNjUsIDc1LCAxMjgsIDY1LCA2OCwgNjUsIDIwMywgNjUsIDY3LCA4NSwgODQsIDY5LCA0NSwgCisgICAgNzcsIDY1LCA2NywgODIsIDc5LCA3OCwgMTI4LCA2NSwgNjcsIDg1LCA4NCwgNjksIDQ1LCA3MSwgODIsIDY1LCA4NiwgNjksIAorICAgIDQ1LCA2NSwgNjcsIDg1LCA4NCwgNjksIDEyOCwgNjUsIDY3LCA4NSwgODQsIDE5NywgNjUsIDY3LCA4NCwgODUsIDY1LCA3NiwgCisgICAgNzYsIDIxNywgNjUsIDY3LCA4NCwgNzMsIDg2LCA2NSwgODQsIDE5NywgNjUsIDY3LCA4MiwgNzksIDgwLCA3MiwgNzksIDc4LCAKKyAgICA3MywgMTk1LCA2NSwgNjcsIDc1LCA3OCwgNzksIDg3LCA3NiwgNjksIDY4LCA3MSwgNjksIDEyOCwgNjUsIDY3LCA2NywgODUsIAorICAgIDc3LCA4NSwgNzYsIDY1LCA4NCwgNzMsIDc5LCA3OCwgMTI4LCA2NSwgNjcsIDY3LCA3OSwgODUsIDc4LCAyMTIsIDY1LCA2NywgCisgICAgNjcsIDc5LCA3NywgNzcsIDc5LCA2OCwgNjUsIDg0LCA3MywgNzksIDc4LCAxMjgsIDY1LCA2NywgNjcsIDY5LCA4MCwgODQsIAorICAgIDEyOCwgNjUsIDY3LCA2NywgNjksIDc4LCA4NCwgNDUsIDgzLCA4NCwgNjUsIDY3LCA2NywgNjUsIDg0LCA3OSwgMTI4LCA2NSwgCisgICAgNjcsIDY3LCA2OSwgNzgsIDg0LCAxMjgsIDY1LCA2NywgNjcsIDY5LCA3OCwgMjEyLCA2NSwgNjcsIDY1LCA2OCwgNjksIDc3LCAKKyAgICAyMTcsIDY1LCA2NiwgODksIDgzLCA3NywgNjUsIDIwNCwgNjUsIDY2LCA4NSwgNzgsIDY4LCA2NSwgNzgsIDY3LCA2OSwgCisgICAgMTI4LCA2NSwgNjYsIDc1LCA3MiwgNjUsIDgzLCA3MywgNjUsIDIwNiwgNjUsIDY2LCA2NiwgODIsIDY5LCA4NiwgNzMsIDY1LCAKKyAgICA4NCwgNzMsIDc5LCAyMDYsIDY1LCA2NiwgNjUsIDcwLCA3MywgNzYsIDczLCAxMjgsIDY1LCA2NiwgMTc4LCA2NSwgNjYsIAorICAgIDQ5LCA1NywgNDksIDEyOCwgNjUsIDY2LCA0OSwgNTYsIDU2LCAxMjgsIDY1LCA2NiwgNDksIDU2LCA0OCwgMTI4LCA2NSwgCisgICAgNjYsIDQ5LCA1NSwgNDksIDEyOCwgNjUsIDY2LCA0OSwgNTQsIDUyLCAxMjgsIDY1LCA2NiwgNDksIDUxLCA0OSwgNjYsIAorICAgIDEyOCwgNjUsIDY2LCA0OSwgNTEsIDQ5LCA2NSwgMTI4LCA2NSwgNjYsIDQ5LCA1MCwgNTEsIDEyOCwgNjUsIDY2LCA0OSwgCisgICAgNTAsIDUwLCAxMjgsIDY1LCA2NiwgNDksIDUwLCA0OCwgMTI4LCA2NSwgNjYsIDQ5LCA0OSwgNTYsIDEyOCwgNjUsIDY2LCAKKyAgICA0OCwgNTYsIDU1LCAxMjgsIDY1LCA2NiwgNDgsIDU2LCA1NCwgMTI4LCA2NSwgNjYsIDQ4LCA1NiwgNTMsIDEyOCwgNjUsIAorICAgIDY2LCA0OCwgNTYsIDUwLCAxMjgsIDY1LCA2NiwgNDgsIDU2LCA0OSwgMTI4LCA2NSwgNjYsIDQ4LCA1NiwgNDgsIDEyOCwgCisgICAgNjUsIDY2LCA0OCwgNTUsIDU3LCAxMjgsIDY1LCA2NiwgNDgsIDU1LCA1NiwgMTI4LCA2NSwgNjYsIDQ4LCA1NSwgNTUsIAorICAgIDEyOCwgNjUsIDY2LCA0OCwgNTUsIDU0LCAxMjgsIDY1LCA2NiwgNDgsIDU1LCA1MiwgMTI4LCA2NSwgNjYsIDQ4LCA1NSwgCisgICAgNTEsIDEyOCwgNjUsIDY2LCA0OCwgNTUsIDQ4LCAxMjgsIDY1LCA2NiwgNDgsIDU0LCA1NywgMTI4LCA2NSwgNjYsIDQ4LCAKKyAgICA1NCwgNTUsIDEyOCwgNjUsIDY2LCA0OCwgNTQsIDU0LCAxMjgsIDY1LCA2NiwgNDgsIDU0LCA1MywgMTI4LCA2NSwgNjYsIAorICAgIDQ4LCA1NCwgNDksIDEyOCwgNjUsIDY2LCA0OCwgNTQsIDQ4LCAxMjgsIDY1LCA2NiwgNDgsIDUzLCA1NywgMTI4LCA2NSwgCisgICAgNjYsIDQ4LCA1MywgNTYsIDEyOCwgNjUsIDY2LCA0OCwgNTMsIDU1LCAxMjgsIDY1LCA2NiwgNDgsIDUzLCA1NCwgMTI4LCAKKyAgICA2NSwgNjYsIDQ4LCA1MywgNTMsIDEyOCwgNjUsIDY2LCA0OCwgNTMsIDUyLCAxMjgsIDY1LCA2NiwgNDgsIDUzLCA1MSwgCisgICAgMTI4LCA2NSwgNjYsIDQ4LCA1MywgNDksIDEyOCwgNjUsIDY2LCA0OCwgNTMsIDQ4LCAxMjgsIDY1LCA2NiwgNDgsIDUyLCAKKyAgICA1NywgMTI4LCA2NSwgNjYsIDQ4LCA1MiwgNTYsIDEyOCwgNjUsIDY2LCA0OCwgNTIsIDU1LCAxMjgsIDY1LCA2NiwgNDgsIAorICAgIDUyLCA1NCwgMTI4LCA2NSwgNjYsIDQ4LCA1MiwgNTMsIDEyOCwgNjUsIDY2LCA0OCwgNTIsIDUyLCAxMjgsIDY1LCA2NiwgCisgICAgNDgsIDUyLCA0OSwgMTI4LCA2NSwgNjYsIDQ4LCA1MiwgNDgsIDEyOCwgNjUsIDY2LCA0OCwgNTEsIDU3LCAxMjgsIDY1LCAKKyAgICA2NiwgNDgsIDUxLCA1NiwgMTI4LCA2NSwgNjYsIDQ4LCA1MSwgNTUsIDEyOCwgNjUsIDY2LCA0OCwgNTEsIDUyLCAxMjgsIAorICAgIDY1LCA2NiwgNDgsIDUxLCA0OSwgMTI4LCA2NSwgNjYsIDQ4LCA1MSwgNDgsIDEyOCwgNjUsIDY2LCA0OCwgNTAsIDU3LCAKKyAgICAxMjgsIDY1LCA2NiwgNDgsIDUwLCA1NiwgMTI4LCA2NSwgNjYsIDQ4LCA1MCwgNTUsIDEyOCwgNjUsIDY2LCA0OCwgNTAsIAorICAgIDU0LCAxMjgsIDY1LCA2NiwgNDgsIDUwLCA1MiwgMTI4LCA2NSwgNjYsIDQ4LCA1MCwgNTEsIDc3LCAxMjgsIDY1LCA2NiwgCisgICAgNDgsIDUwLCA1MSwgMTI4LCA2NSwgNjYsIDQ4LCA1MCwgNTAsIDc3LCAxMjgsIDY1LCA2NiwgNDgsIDUwLCA1MCwgNzAsIAorICAgIDEyOCwgNjUsIDY2LCA0OCwgNTAsIDUwLCAxMjgsIDY1LCA2NiwgNDgsIDUwLCA0OSwgNzcsIDEyOCwgNjUsIDY2LCA0OCwgCisgICAgNTAsIDQ5LCA3MCwgMTI4LCA2NSwgNjYsIDQ4LCA1MCwgNDksIDEyOCwgNjUsIDY2LCA0OCwgNTAsIDQ4LCAxMjgsIDY1LCAKKyAgICA2NiwgNDgsIDQ5LCA1NSwgMTI4LCA2NSwgNjYsIDQ4LCA0OSwgNTQsIDEyOCwgNjUsIDY2LCA0OCwgNDksIDUxLCAxMjgsIAorICAgIDY1LCA2NiwgNDgsIDQ5LCA0OSwgMTI4LCA2NSwgNjYsIDQ4LCA0OSwgNDgsIDEyOCwgNjUsIDY2LCA0OCwgNDgsIDU3LCAKKyAgICAxMjgsIDY1LCA2NiwgNDgsIDQ4LCA1NiwgMTI4LCA2NSwgNjYsIDQ4LCA0OCwgNTUsIDEyOCwgNjUsIDY2LCA0OCwgNDgsIAorICAgIDU0LCAxMjgsIDY1LCA2NiwgNDgsIDQ4LCA1MywgMTI4LCA2NSwgNjYsIDQ4LCA0OCwgNTIsIDEyOCwgNjUsIDY2LCA0OCwgCisgICAgNDgsIDUxLCAxMjgsIDY1LCA2NiwgNDgsIDQ4LCA1MCwgMTI4LCA2NSwgNjYsIDQ4LCA0OCwgNDksIDEyOCwgNjUsIDY1LCAKKyAgICA4OSwgNzMsIDc4LCAxMjgsIDY1LCA2NSwgODksIDY1LCA3OCwgNzgsIDY1LCAxMjgsIDY1LCA2NSwgODksIDEyOCwgNjUsIAorICAgIDY1LCA4NywgMTI4LCA2NSwgNjUsIDc5LCAxMjgsIDY1LCA2NSwgNzQsIDEyOCwgNjUsIDY1LCA2NiwgNjUsIDY1LCA3MCwgCisgICAgNzMsIDc2LCA3MywgMTI4LCA2NSwgNjUsIDQ4LCA1MSwgNTAsIDEyOCwgNjUsIDY1LCA0OCwgNTEsIDQ5LCAxMjgsIDY1LCAKKyAgICA2NSwgNDgsIDUxLCA0OCwgMTI4LCA2NSwgNjUsIDQ4LCA1MCwgNTcsIDEyOCwgNjUsIDY1LCA0OCwgNTAsIDU2LCAxMjgsIAorICAgIDY1LCA2NSwgNDgsIDUwLCA1NSwgMTI4LCA2NSwgNjUsIDQ4LCA1MCwgNTQsIDEyOCwgNjUsIDY1LCA0OCwgNTAsIDUzLCAKKyAgICAxMjgsIDY1LCA2NSwgNDgsIDUwLCA1MiwgMTI4LCA2NSwgNjUsIDQ4LCA1MCwgNTEsIDEyOCwgNjUsIDY1LCA0OCwgNTAsIAorICAgIDUwLCAxMjgsIDY1LCA2NSwgNDgsIDUwLCA0OSwgMTI4LCA2NSwgNjUsIDQ4LCA1MCwgNDgsIDEyOCwgNjUsIDY1LCA0OCwgCisgICAgNDksIDU3LCAxMjgsIDY1LCA2NSwgNDgsIDQ5LCA1NiwgMTI4LCA2NSwgNjUsIDQ4LCA0OSwgNTUsIDEyOCwgNjUsIDY1LCAKKyAgICA0OCwgNDksIDU0LCAxMjgsIDY1LCA2NSwgNDgsIDQ5LCA1MywgMTI4LCA2NSwgNjUsIDQ4LCA0OSwgNTIsIDEyOCwgNjUsIAorICAgIDY1LCA0OCwgNDksIDUxLCAxMjgsIDY1LCA2NSwgNDgsIDQ5LCA1MCwgMTI4LCA2NSwgNjUsIDQ4LCA0OSwgNDksIDEyOCwgCisgICAgNjUsIDY1LCA0OCwgNDksIDQ4LCAxMjgsIDY1LCA2NSwgNDgsIDQ4LCA1NywgMTI4LCA2NSwgNjUsIDQ4LCA0OCwgNTYsIAorICAgIDEyOCwgNjUsIDY1LCA0OCwgNDgsIDU1LCA2NiwgMTI4LCA2NSwgNjUsIDQ4LCA0OCwgNTUsIDY1LCAxMjgsIDY1LCA2NSwgCisgICAgNDgsIDQ4LCA1NSwgMTI4LCA2NSwgNjUsIDQ4LCA0OCwgNTQsIDEyOCwgNjUsIDY1LCA0OCwgNDgsIDUzLCAxMjgsIDY1LCAKKyAgICA2NSwgNDgsIDQ4LCA1MiwgMTI4LCA2NSwgNjUsIDQ4LCA0OCwgNTEsIDEyOCwgNjUsIDY1LCA0OCwgNDgsIDUwLCAxMjgsIAorICAgIDY1LCA2NSwgNDgsIDQ4LCA0OSwgMTI4LCA2NSwgNTYsIDQ4LCA1NSwgMTI4LCA2NSwgNTYsIDQ4LCA1NCwgMTI4LCA2NSwgCisgICAgNTYsIDQ4LCA1MywgMTI4LCA2NSwgNTYsIDQ4LCA1MiwgMTI4LCA2NSwgNTYsIDQ4LCA1MSwgMTI4LCA2NSwgNTYsIDQ4LCAKKyAgICA1MCwgMTI4LCA2NSwgNTYsIDQ4LCA0OSwgMTI4LCA2NSwgNTYsIDQ4LCA0OCwgMTI4LCA2NSwgNTUsIDUxLCAxNzgsIDY1LCAKKyAgICA1NSwgNTAsIDE4MiwgNjUsIDU1LCA0OSwgMTgzLCA2NSwgNTUsIDQ5LCAxODEsIDY1LCA1NSwgNDksIDE4MCwgNjUsIDU1LCAKKyAgICA0OSwgMTc5LCA2NSwgNTUsIDQ5LCAxNzgsIDY1LCA1NSwgNDksIDE3NywgNjUsIDU1LCA0OSwgMTc2LCA2NSwgNTUsIDQ4LCAKKyAgICA1NywgNDUsIDE4MiwgNjUsIDU1LCA0OCwgNTcsIDQ1LCAxODAsIDY1LCA1NSwgNDgsIDU3LCA0NSwgMTc5LCA2NSwgNTUsIAorICAgIDQ4LCA1NywgNDUsIDE3OCwgNjUsIDU1LCA0OCwgMTg1LCA2NSwgNTUsIDQ4LCAxODQsIDY1LCA1NSwgNDgsIDE4MywgNjUsIAorICAgIDU1LCA0OCwgMTgyLCA2NSwgNTUsIDQ4LCAxODEsIDY1LCA1NSwgNDgsIDE4MCwgNjUsIDU1LCA0OCwgMTc5LCA2NSwgNTUsIAorICAgIDQ4LCAxNzgsIDY1LCA1NSwgNDgsIDE3NywgNjUsIDU0LCA1NCwgNTIsIDEyOCwgNjUsIDU0LCA1NCwgNTEsIDEyOCwgNjUsIAorICAgIDU0LCA1NCwgNTAsIDEyOCwgNjUsIDU0LCA1NCwgNDksIDEyOCwgNjUsIDU0LCA1NCwgNDgsIDEyOCwgNjUsIDU0LCA1MywgCisgICAgNTcsIDEyOCwgNjUsIDU0LCA1MywgNTYsIDEyOCwgNjUsIDU0LCA1MywgNTUsIDEyOCwgNjUsIDU0LCA1MywgNTQsIDEyOCwgCisgICAgNjUsIDU0LCA1MywgNTMsIDEyOCwgNjUsIDU0LCA1MywgNTIsIDEyOCwgNjUsIDU0LCA1MywgNTEsIDEyOCwgNjUsIDU0LCAKKyAgICA1MywgNTAsIDEyOCwgNjUsIDU0LCA1MywgNDksIDEyOCwgNjUsIDU0LCA1MiwgNTcsIDEyOCwgNjUsIDU0LCA1MiwgNTYsIAorICAgIDEyOCwgNjUsIDU0LCA1MiwgNTQsIDEyOCwgNjUsIDU0LCA1MiwgNTMsIDEyOCwgNjUsIDU0LCA1MiwgNTIsIDEyOCwgNjUsIAorICAgIDU0LCA1MiwgNTEsIDEyOCwgNjUsIDU0LCA1MiwgNTAsIDEyOCwgNjUsIDU0LCA1MiwgNDgsIDEyOCwgNjUsIDU0LCA1MSwgCisgICAgNTYsIDEyOCwgNjUsIDU0LCA1MSwgNTUsIDEyOCwgNjUsIDU0LCA1MSwgNTIsIDEyOCwgNjUsIDU0LCA1MCwgNTcsIDEyOCwgCisgICAgNjUsIDU0LCA1MCwgNTYsIDEyOCwgNjUsIDU0LCA1MCwgNTUsIDEyOCwgNjUsIDU0LCA1MCwgNTQsIDEyOCwgNjUsIDU0LCAKKyAgICA1MCwgNTIsIDEyOCwgNjUsIDU0LCA1MCwgNTEsIDEyOCwgNjUsIDU0LCA1MCwgNTAsIDEyOCwgNjUsIDU0LCA1MCwgNDksIAorICAgIDEyOCwgNjUsIDU0LCA1MCwgNDgsIDEyOCwgNjUsIDU0LCA0OSwgNTcsIDEyOCwgNjUsIDU0LCA0OSwgNTYsIDEyOCwgNjUsIAorICAgIDU0LCA0OSwgNTUsIDEyOCwgNjUsIDU0LCA0OSwgNTQsIDEyOCwgNjUsIDU0LCA0OSwgNTMsIDEyOCwgNjUsIDU0LCA0OSwgCisgICAgNTIsIDEyOCwgNjUsIDU0LCA0OSwgNTEsIDEyOCwgNjUsIDU0LCA0OSwgNTAsIDEyOCwgNjUsIDU0LCA0OSwgNDksIDEyOCwgCisgICAgNjUsIDU0LCA0OSwgNDgsIDEyOCwgNjUsIDU0LCA0OCwgNTcsIDEyOCwgNjUsIDU0LCA0OCwgNTYsIDEyOCwgNjUsIDU0LCAKKyAgICA0OCwgNTQsIDEyOCwgNjUsIDU0LCA0OCwgNTIsIDEyOCwgNjUsIDU0LCA0OCwgNTEsIDEyOCwgNjUsIDU0LCA0OCwgNTAsIAorICAgIDEyOCwgNjUsIDU0LCA0OCwgNDksIDEyOCwgNjUsIDU0LCA0OCwgNDgsIDEyOCwgNjUsIDUzLCA1NywgNTYsIDEyOCwgNjUsIAorICAgIDUzLCA1NywgNTQsIDEyOCwgNjUsIDUzLCA1NywgNTMsIDEyOCwgNjUsIDUzLCA1NywgNTIsIDEyOCwgNjUsIDUzLCA1NywgCisgICAgNTAsIDEyOCwgNjUsIDUzLCA1NywgNDksIDEyOCwgNjUsIDUzLCA1NiwgNTcsIDEyOCwgNjUsIDUzLCA1NiwgNTYsIDEyOCwgCisgICAgNjUsIDUzLCA1NiwgNTUsIDEyOCwgNjUsIDUzLCA1NiwgNTQsIDEyOCwgNjUsIDUzLCA1NiwgNTMsIDEyOCwgNjUsIDUzLCAKKyAgICA1NiwgNTIsIDEyOCwgNjUsIDUzLCA1NiwgNTEsIDEyOCwgNjUsIDUzLCA1NiwgNTAsIDEyOCwgNjUsIDUzLCA1NiwgNDksIAorICAgIDEyOCwgNjUsIDUzLCA1NiwgNDgsIDEyOCwgNjUsIDUzLCA1NSwgNTcsIDEyOCwgNjUsIDUzLCA1NSwgNTYsIDEyOCwgNjUsIAorICAgIDUzLCA1NSwgNTUsIDEyOCwgNjUsIDUzLCA1NSwgNTQsIDEyOCwgNjUsIDUzLCA1NSwgNTMsIDEyOCwgNjUsIDUzLCA1NSwgCisgICAgNTIsIDEyOCwgNjUsIDUzLCA1NSwgNTEsIDEyOCwgNjUsIDUzLCA1NSwgNTAsIDEyOCwgNjUsIDUzLCA1NSwgNDksIDEyOCwgCisgICAgNjUsIDUzLCA1NSwgNDgsIDEyOCwgNjUsIDUzLCA1NCwgNTcsIDEyOCwgNjUsIDUzLCA1NCwgNTYsIDEyOCwgNjUsIDUzLCAKKyAgICA1NCwgNTQsIDEyOCwgNjUsIDUzLCA1NCwgNTMsIDEyOCwgNjUsIDUzLCA1NCwgNTIsIDEyOCwgNjUsIDUzLCA1NCwgNTEsIAorICAgIDEyOCwgNjUsIDUzLCA1MywgNTcsIDEyOCwgNjUsIDUzLCA1MywgNTUsIDEyOCwgNjUsIDUzLCA1MywgNTQsIDEyOCwgNjUsIAorICAgIDUzLCA1MywgNTMsIDEyOCwgNjUsIDUzLCA1MywgNTIsIDEyOCwgNjUsIDUzLCA1MywgNTEsIDEyOCwgNjUsIDUzLCA1MywgCisgICAgNTAsIDEyOCwgNjUsIDUzLCA1MywgNDksIDEyOCwgNjUsIDUzLCA1MywgNDgsIDEyOCwgNjUsIDUzLCA1MiwgNTcsIDEyOCwgCisgICAgNjUsIDUzLCA1MiwgNTYsIDEyOCwgNjUsIDUzLCA1MiwgNTUsIDEyOCwgNjUsIDUzLCA1MiwgNTMsIDEyOCwgNjUsIDUzLCAKKyAgICA1MiwgNTAsIDEyOCwgNjUsIDUzLCA1MiwgNDksIDEyOCwgNjUsIDUzLCA1MiwgNDgsIDEyOCwgNjUsIDUzLCA1MSwgNTcsIAorICAgIDEyOCwgNjUsIDUzLCA1MSwgNTYsIDEyOCwgNjUsIDUzLCA1MSwgNTUsIDEyOCwgNjUsIDUzLCA1MSwgNTQsIDEyOCwgNjUsIAorICAgIDUzLCA1MSwgNTMsIDEyOCwgNjUsIDUzLCA1MSwgNTIsIDEyOCwgNjUsIDUzLCA1MSwgNTAsIDEyOCwgNjUsIDUzLCA1MSwgCisgICAgNDksIDEyOCwgNjUsIDUzLCA1MSwgNDgsIDEyOCwgNjUsIDUzLCA1MCwgNTcsIDEyOCwgNjUsIDUzLCA1MCwgNTYsIDEyOCwgCisgICAgNjUsIDUzLCA1MCwgNTUsIDEyOCwgNjUsIDUzLCA1MCwgNTQsIDEyOCwgNjUsIDUzLCA1MCwgNTMsIDEyOCwgNjUsIDUzLCAKKyAgICA1MCwgNTIsIDEyOCwgNjUsIDUzLCA1MCwgNTEsIDEyOCwgNjUsIDUzLCA1MCwgNDksIDEyOCwgNjUsIDUzLCA1MCwgNDgsIAorICAgIDEyOCwgNjUsIDUzLCA0OSwgNTQsIDEyOCwgNjUsIDUzLCA0OSwgNTMsIDEyOCwgNjUsIDUzLCA0OSwgNTEsIDEyOCwgNjUsIAorICAgIDUzLCA0OSwgNTAsIDEyOCwgNjUsIDUzLCA0OSwgNDksIDEyOCwgNjUsIDUzLCA0OSwgNDgsIDEyOCwgNjUsIDUzLCA0OCwgCisgICAgNTcsIDEyOCwgNjUsIDUzLCA0OCwgNTYsIDEyOCwgNjUsIDUzLCA0OCwgNTQsIDEyOCwgNjUsIDUzLCA0OCwgNTMsIDEyOCwgCisgICAgNjUsIDUzLCA0OCwgNTIsIDEyOCwgNjUsIDUzLCA0OCwgNTEsIDEyOCwgNjUsIDUzLCA0OCwgNTAsIDEyOCwgNjUsIDUzLCAKKyAgICA0OCwgNDksIDEyOCwgNjUsIDUyLCA0OSwgNTYsIDQ1LCA4NiwgNjUsIDgzLCAxMjgsIDY1LCA1MiwgNDksIDU1LCA0NSwgODYsIAorICAgIDY1LCA4MywgMTI4LCA2NSwgNTIsIDQ5LCA1NCwgNDUsIDg2LCA2NSwgODMsIDEyOCwgNjUsIDUyLCA0OSwgNTMsIDQ1LCA4NiwgCisgICAgNjUsIDgzLCAxMjgsIDY1LCA1MiwgNDksIDUyLCA0NSwgODYsIDY1LCA4MywgMTI4LCA2NSwgNTIsIDQ5LCA1MSwgNDUsIDg2LCAKKyAgICA2NSwgODMsIDEyOCwgNjUsIDUyLCA0OSwgNTAsIDQ1LCA4NiwgNjUsIDgzLCAxMjgsIDY1LCA1MiwgNDksIDQ5LCA0NSwgODYsIAorICAgIDY1LCA4MywgMTI4LCA2NSwgNTIsIDQ5LCA0OCwgNDUsIDg2LCA2NSwgODMsIDEyOCwgNjUsIDUyLCA0OCwgNTcsIDQ1LCA4NiwgCisgICAgNjUsIDgzLCAxMjgsIDY1LCA1MiwgNDgsIDU2LCA0NSwgODYsIDY1LCA4MywgMTI4LCA2NSwgNTIsIDQ4LCA1NSwgNDUsIDg2LCAKKyAgICA2NSwgODMsIDEyOCwgNjUsIDUyLCA0OCwgNTQsIDQ1LCA4NiwgNjUsIDgzLCAxMjgsIDY1LCA1MiwgNDgsIDUzLCA0NSwgODYsIAorICAgIDY1LCA4MywgMTI4LCA2NSwgNTIsIDQ4LCA1MiwgNDUsIDg2LCA2NSwgODMsIDEyOCwgNjUsIDUyLCA0OCwgNTEsIDQ1LCA4NiwgCisgICAgNjUsIDgzLCAxMjgsIDY1LCA1MiwgNDgsIDUwLCA0NSwgODYsIDY1LCA4MywgMTI4LCA2NSwgNTIsIDQ4LCA0OSwgNDUsIDg2LCAKKyAgICA2NSwgODMsIDEyOCwgNjUsIDUyLCA0OCwgNDgsIDQ1LCA4NiwgNjUsIDgzLCAxMjgsIDY1LCA1MSwgNTUsIDQ5LCAxMjgsIAorICAgIDY1LCA1MSwgNTUsIDQ4LCAxMjgsIDY1LCA1MSwgNTQsIDU3LCAxMjgsIDY1LCA1MSwgNTQsIDU2LCAxMjgsIDY1LCA1MSwgCisgICAgNTQsIDU1LCAxMjgsIDY1LCA1MSwgNTQsIDU0LCAxMjgsIDY1LCA1MSwgNTQsIDUzLCAxMjgsIDY1LCA1MSwgNTQsIDUyLCAKKyAgICAxMjgsIDY1LCA1MSwgNTQsIDUxLCAxMjgsIDY1LCA1MSwgNTQsIDUwLCAxMjgsIDY1LCA1MSwgNTQsIDQ5LCAxMjgsIDY1LCAKKyAgICA1MSwgNTQsIDQ4LCAxMjgsIDY1LCA1MSwgNTMsIDU3LCAxMjgsIDY1LCA1MSwgNTMsIDU2LCAxMjgsIDY1LCA1MSwgNTMsIAorICAgIDU1LCAxMjgsIDY1LCA1MSwgNTMsIDU0LCAxMjgsIDY1LCA1MSwgNTMsIDUzLCAxMjgsIDY1LCA1MSwgNTMsIDUyLCAxMjgsIAorICAgIDY1LCA1MSwgNTMsIDUxLCAxMjgsIDY1LCA1MSwgNTMsIDUwLCAxMjgsIDY1LCA1MSwgNTMsIDQ5LCAxMjgsIDY1LCA1MSwgCisgICAgNTMsIDQ4LCAxMjgsIDY1LCA1MSwgNTIsIDU3LCAxMjgsIDY1LCA1MSwgNTIsIDU2LCAxMjgsIDY1LCA1MSwgNTIsIDU1LCAKKyAgICAxMjgsIDY1LCA1MSwgNTIsIDU0LCAxMjgsIDY1LCA1MSwgNTIsIDUzLCAxMjgsIDY1LCA1MSwgNTIsIDUyLCAxMjgsIDY1LCAKKyAgICA1MSwgNTIsIDUxLCAxMjgsIDY1LCA1MSwgNTIsIDUwLCAxMjgsIDY1LCA1MSwgNTIsIDQ5LCAxMjgsIDY1LCA1MSwgNTIsIAorICAgIDQ4LCAxMjgsIDY1LCA1MSwgNTEsIDU3LCAxMjgsIDY1LCA1MSwgNTEsIDU2LCAxMjgsIDY1LCA1MSwgNTEsIDU1LCAxMjgsIAorICAgIDY1LCA1MSwgNTEsIDU0LCAxMjgsIDY1LCA1MSwgNTEsIDUzLCAxMjgsIDY1LCA1MSwgNTEsIDUyLCAxMjgsIDY1LCA1MSwgCisgICAgNTEsIDUxLCAxMjgsIDY1LCA1MSwgNTEsIDUwLCAxMjgsIDY1LCA1MSwgNTEsIDQ5LCAxMjgsIDY1LCA1MSwgNTEsIDQ4LCAKKyAgICAxMjgsIDY1LCA1MSwgNTAsIDU3LCAxMjgsIDY1LCA1MSwgNTAsIDU2LCAxMjgsIDY1LCA1MSwgNTAsIDU1LCAxMjgsIDY1LCAKKyAgICA1MSwgNTAsIDU0LCAxMjgsIDY1LCA1MSwgNTAsIDUzLCAxMjgsIDY1LCA1MSwgNTAsIDUyLCAxMjgsIDY1LCA1MSwgNTAsIAorICAgIDUxLCAxMjgsIDY1LCA1MSwgNTAsIDUwLCAxMjgsIDY1LCA1MSwgNTAsIDQ5LCAxMjgsIDY1LCA1MSwgNTAsIDQ4LCAxMjgsIAorICAgIDY1LCA1MSwgNDksIDU3LCAxMjgsIDY1LCA1MSwgNDksIDU2LCAxMjgsIDY1LCA1MSwgNDksIDU1LCAxMjgsIDY1LCA1MSwgCisgICAgNDksIDU0LCAxMjgsIDY1LCA1MSwgNDksIDUzLCAxMjgsIDY1LCA1MSwgNDksIDUyLCAxMjgsIDY1LCA1MSwgNDksIDUxLCAKKyAgICA2NywgMTI4LCA2NSwgNTEsIDQ5LCA1MSwgNjYsIDEyOCwgNjUsIDUxLCA0OSwgNTEsIDY1LCAxMjgsIDY1LCA1MSwgNDksIAorICAgIDUwLCAxMjgsIDY1LCA1MSwgNDksIDQ5LCAxMjgsIDY1LCA1MSwgNDksIDQ4LCAxMjgsIDY1LCA1MSwgNDgsIDU3LCA2NywgCisgICAgMTI4LCA2NSwgNTEsIDQ4LCA1NywgNjYsIDEyOCwgNjUsIDUxLCA0OCwgNTcsIDY1LCAxMjgsIDY1LCA1MSwgNDgsIDU2LCAKKyAgICAxMjgsIDY1LCA1MSwgNDgsIDU1LCAxMjgsIDY1LCA1MSwgNDgsIDU0LCAxMjgsIDY1LCA1MSwgNDgsIDUzLCAxMjgsIDY1LCAKKyAgICA1MSwgNDgsIDUyLCAxMjgsIDY1LCA1MSwgNDgsIDUxLCAxMjgsIDY1LCA1MSwgNDgsIDUwLCAxMjgsIDY1LCA1MSwgNDgsIAorICAgIDQ5LCAxMjgsIDY1LCA0OSwgNTEsIDQ5LCA2NywgMTI4LCA2NSwgNDksIDUwLCA0OCwgNjYsIDEyOCwgNjUsIDQ5LCA0OCwgCisgICAgNDgsIDQ1LCA0OSwgNDgsIDUwLCAxMjgsIDY1LCA0OCwgNTUsIDQ4LCAxMjgsIDY1LCA0OCwgNTQsIDU3LCAxMjgsIDY1LCAKKyAgICA0OCwgNTQsIDU2LCAxMjgsIDY1LCA0OCwgNTQsIDU1LCAxMjgsIDY1LCA0OCwgNTQsIDU0LCAxMjgsIDY1LCA0OCwgNTQsIAorICAgIDUzLCAxMjgsIDY1LCA0OCwgNTQsIDUyLCAxMjgsIDY1LCA0OCwgNTQsIDUxLCAxMjgsIDY1LCA0OCwgNTQsIDUwLCAxMjgsIAorICAgIDY1LCA0OCwgNTQsIDQ5LCAxMjgsIDY1LCA0OCwgNTQsIDQ4LCAxMjgsIDY1LCA0OCwgNTMsIDU3LCAxMjgsIDY1LCA0OCwgCisgICAgNTMsIDU2LCAxMjgsIDY1LCA0OCwgNTMsIDU1LCAxMjgsIDY1LCA0OCwgNTMsIDU0LCAxMjgsIDY1LCA0OCwgNTMsIDUzLCAKKyAgICAxMjgsIDY1LCA0OCwgNTMsIDUyLCAxMjgsIDY1LCA0OCwgNTMsIDUxLCAxMjgsIDY1LCA0OCwgNTMsIDUwLCAxMjgsIDY1LCAKKyAgICA0OCwgNTMsIDQ5LCAxMjgsIDY1LCA0OCwgNTMsIDQ4LCAxMjgsIDY1LCA0OCwgNTIsIDU3LCAxMjgsIDY1LCA0OCwgNTIsIAorICAgIDU2LCAxMjgsIDY1LCA0OCwgNTIsIDU1LCAxMjgsIDY1LCA0OCwgNTIsIDU0LCAxMjgsIDY1LCA0OCwgNTIsIDUzLCA2NSwgCisgICAgMTI4LCA2NSwgNDgsIDUyLCA1MywgMTI4LCA2NSwgNDgsIDUyLCA1MiwgMTI4LCA2NSwgNDgsIDUyLCA1MSwgNjUsIDEyOCwgCisgICAgNjUsIDQ4LCA1MiwgNTEsIDEyOCwgNjUsIDQ4LCA1MiwgNTAsIDY1LCAxMjgsIDY1LCA0OCwgNTIsIDUwLCAxMjgsIDY1LCAKKyAgICA0OCwgNTIsIDQ5LCAxMjgsIDY1LCA0OCwgNTIsIDQ4LCA2NSwgMTI4LCA2NSwgNDgsIDUyLCA0OCwgMTI4LCA2NSwgNDgsIAorICAgIDUxLCA1NywgMTI4LCA2NSwgNDgsIDUxLCA1NiwgMTI4LCA2NSwgNDgsIDUxLCA1NSwgMTI4LCA2NSwgNDgsIDUxLCA1NCwgCisgICAgMTI4LCA2NSwgNDgsIDUxLCA1MywgMTI4LCA2NSwgNDgsIDUxLCA1MiwgMTI4LCA2NSwgNDgsIDUxLCA1MSwgMTI4LCA2NSwgCisgICAgNDgsIDUxLCA1MCwgNjUsIDEyOCwgNjUsIDQ4LCA1MCwgNTYsIDY2LCAxMjgsIDY1LCA0OCwgNDksIDU1LCA2NSwgMTI4LCAKKyAgICA2NSwgNDgsIDQ5LCA1MiwgNjUsIDEyOCwgNjUsIDQ4LCA0OCwgNTQsIDY2LCAxMjgsIDY1LCA0OCwgNDgsIDU0LCA2NSwgCisgICAgMTI4LCA2NSwgNDgsIDQ4LCA1MywgNjUsIDEyOCwgNjUsIDQ1LCA2OSwgODUsIDEyOCwgNDUsIDg1LCAyMDUsIDQ1LCA4MCwgCisgICAgNzIsIDgyLCA4NSwgMTI4LCA0NSwgNzUsIDcyLCA4OSwgODUsIDE5NiwgNDUsIDc1LCA3MiwgODksIDczLCA3NiwgMTI4LCAKKyAgICA0NSwgNjgsIDkwLCA4NSwgMTk2LCA0NSwgNjcsIDcyLCA2NSwgMjEwLCA0NSwgNjcsIDcyLCA2NSwgNzYsIDEyOCwgCiB9OwogCiBzdGF0aWMgdW5zaWduZWQgaW50IGxleGljb25fb2Zmc2V0W10gPSB7Ci0gICAgMCwgMCwgNiwgMTAsIDE4LCAyMywgMjcsIDM0LCAzOSwgNDEsIDQ3LCA1MCwgNjIsIDcwLCA4MCwgOTMsIDEwMiwgMTA4LCAKLSAgICAxMTMsIDEyMSwgMTMwLCAxMzUsIDE0MCwgMTQzLCAxNDcsIDE1MywgMTU4LCAxNjMsIDE3MSwgMTc4LCAxODYsIDE5MSwgCi0gICAgMTk0LCAyMDAsIDIwOCwgMjE1LCAyMjUsIDIzMCwgMjM3LCAyNDYsIDI0OSwgMjU0LCAyNTcsIDI2MywgMjY3LCAyNzIsIAotICAgIDI4MSwgMjg4LCAyOTUsIDMwMSwgMzEwLCAzMTUsIDMyMSwgMzI3LCAzMzUsIDE0NCwgMzQxLCAzNDksIDM1MCwgMzU4LCAKLSAgICAzNjEsIDM2NywgMzY5LCAzNzUsIDM4MiwgMzg0LCAzOTEsIDM5NSwgNDAzLCA0MTAsIDQxMiwgNDE3LCA0MjIsIDQyNywgCi0gICAgNDM0LCA0MzYsIDI5OSwgNDQyLCA0NDUsIDQ0NywgNDUyLCA0NTcsIDQ2MywgNDcwLCA0NzksIDQ4OSwgNDk0LCA0OTgsIAotICAgIDUwNSwgNTE4LCA1MjIsIDUzMSwgNTM4LCA1NDUsIDU0OCwgNTU0LCA1NTgsIDU2MiwgNTcyLCA1ODAsIDU4OCwgNTk2LCAKLSAgICA2MDUsIDYxMywgNjE4LCA2MTksIDYyMywgNjMxLCA2MzgsIDY0OCwgNjUyLCA2NjMsIDY2NywgNjcwLCA2NzMsIDY3OCwgCi0gICAgMzQ4LCA2ODIsIDY5MSwgNjk3LCA3MDMsIDcwNSwgNzA4LCA3MTEsIDcxNCwgNzE4LCA3MjIsIDczMSwgNzM5LCA3NDQsIAotICAgIDc0NywgNzUxLCA3NTcsIDc2NCwgNzcxLCA3NzYsIDc4NSwgNzk0LCA4MDEsIDgwNSwgODE4LCA4MjcsIDgzNSwgODQxLCAKLSAgICA1NTcsIDg1MCwgODYwLCA4NjcsIDg3MywgODc5LCA4ODYsIDg5NCwgODk4LCA3NDksIDkwNiwgOTE1LCA1MDMsIDkyMywgCi0gICAgOTI4LCA5MzQsIDE3LCA5NDMsIDk0OCwgOTUxLCA5NTUsIDk1OSwgOTY2LCA5NjksIDk3NiwgOTgwLCA5ODgsIDk5MiwgCi0gICAgMTAwMCwgMTAwNCwgMTAwNywgMTAxNCwgMTAyMSwgMTkyLCAxMDI0LCAxMDI5LCAxMDM5LCAxMDQ4LCAxMDU1LCAxMDYwLCAKLSAgICAxMDY2LCAxMDcyLCAxMDgwLCAxMDgzLCAxMDg4LCAxMDk0LCAxMTAyLCAxMTA3LCAxMTEwLCAxMTEzLCAxMTEsIDExMTgsIAotICAgIDExMjIsIDExMjgsIDExMzQsIDExMzcsIDExNDMsIDExNDcsIDExNTIsIDExNTgsIDExNjgsIDExNzIsIDExNzUsIDExNzgsIAotICAgIDExODcsIDExOTEsIDExOTQsIDExOTksIDEyMDQsIDEyMTAsIDEyMTUsIDEyMjAsIDEyMjUsIDEyMjksIDEyMzQsIDEyNDAsIAotICAgIDEyNDUsIDEyNTAsIDEyNTQsIDEyNjAsIDEyNjUsIDEyNzAsIDEyNzUsIDEyNzksIDEyODQsIDEyODksIDEyOTQsIDEzMDAsIAotICAgIDEzMDYsIDEzMTIsIDEzMTcsIDEzMjEsIDEzMjYsIDEzMzEsIDEzMzYsIDEzNDAsIDEzNDUsIDEzNTAsIDEzNTUsIDEzNjAsIAotICAgIDExOTUsIDEyMDAsIDEyMDUsIDEyMTEsIDEyMTYsIDEzNjQsIDEyMjYsIDEzNzAsIDEzNzUsIDEzODAsIDEzODcsIDEzOTEsIAotICAgIDE0MDAsIDEyMzAsIDE0MDQsIDEyMzUsIDEyNDEsIDEyNDYsIDE0MDgsIDE0MTMsIDE0MTgsIDE0MjIsIDE0MjYsIDE0MzIsIAotICAgIDE0MzYsIDEyNTEsIDE0MzksIDEyNjEsIDE0NDQsIDE0NDgsIDEyNjYsIDE0NTQsIDEyNzEsIDE0NTgsIDE0NjIsIDEyNzYsIAotICAgIDE0NjYsIDE0NzEsIDE0NzUsIDE0NzgsIDE0ODIsIDEyODAsIDEyODUsIDE0ODcsIDEyOTAsIDE0OTMsIDE0OTksIDE1MDUsIAotICAgIDE1MTEsIDEyOTUsIDEzMDcsIDEzMTMsIDE1MTUsIDE1MTksIDE1MjMsIDE1MjYsIDEzMTgsIDE1MzAsIDE1MzIsIDE1MzcsIAotICAgIDE1NDIsIDE1NDgsIDE1NTMsIDE1NTgsIDE1NjIsIDE1NjcsIDE1NzIsIDE1NzcsIDE1ODIsIDE1ODgsIDE1OTMsIDE1OTgsIAotICAgIDE2MDQsIDE2MTAsIDE2MTUsIDE2MTksIDE2MjQsIDE2MjksIDE2MzQsIDE2MzksIDE2NDMsIDE2NTEsIDE2NTUsIDE2NjAsIAotICAgIDE2NjUsIDE2NzAsIDE2NzUsIDE2NzksIDE2ODIsIDE2ODcsIDE2OTIsIDE2OTcsIDE3MDIsIDE3MDgsIDE3MTMsIDE3MTcsIAotICAgIDEzMjIsIDE3MjAsIDE3MjUsIDE3MzAsIDEzMjcsIDE3MzQsIDE3MzgsIDE3NDUsIDEzMzIsIDE3NTIsIDEzMzcsIDE3NTYsIAotICAgIDE3NTgsIDE3NjMsIDE3NjksIDEzNDEsIDE3NzQsIDE3ODMsIDEzNDYsIDE3ODgsIDE3OTQsIDEzNTEsIDE3OTksIDE4MDQsIAotICAgIDE4MDcsIDE4MTIsIDE4MTYsIDE4MjAsIDE4MjQsIDE4MjcsIDE4MzEsIDEzNTYsIDEzNjEsIDEwNTgsIDE4MzYsIDE4NDIsIAotICAgIDE4NDgsIDE4NTQsIDE4NjAsIDE4NjYsIDE4NzIsIDE4NzgsIDE4ODQsIDE4ODksIDE4OTUsIDE5MDEsIDE5MDcsIDE5MTMsIAotICAgIDE5MTksIDE5MjUsIDE5MzEsIDE5MzcsIDE5NDMsIDE5NDgsIDE5NTMsIDE5NTgsIDE5NjMsIDE5NjgsIDE5NzMsIDE5NzgsIAotICAgIDE5ODMsIDE5ODgsIDE5OTMsIDE5OTksIDIwMDQsIDIwMTAsIDIwMTUsIDIwMjEsIDIwMjcsIDIwMzIsIDIwMzgsIDIwNDQsIAotICAgIDIwNTAsIDIwNTYsIDIwNjEsIDIwNjYsIDIwNjgsIDIwNjksIDIwNzMsIDIwNzcsIDIwODIsIDIwODYsIDIwOTAsIDIwOTQsIAotICAgIDIwOTksIDIxMDMsIDIxMDYsIDIxMTEsIDIxMTUsIDIxMjAsIDIxMjQsIDIxMjgsIDIxMzMsIDIxMzcsIDIxNDAsIDIxNDQsIAotICAgIDIxNTAsIDIxNjQsIDIxNjgsIDIxNzIsIDIxNzYsIDIxNzksIDIxODQsIDIxODgsIDIxOTIsIDIxOTUsIDIxOTksIDIyMDQsIAotICAgIDIyMDksIDIyMTQsIDIyMTksIDIyMjMsIDIyMjcsIDIyMzEsIDIyMzYsIDIyNDAsIDIyNDUsIDIyNDksIDIyNTQsIDIyNjAsIAotICAgIDIyNjcsIDIyNzMsIDIyNzgsIDIyODMsIDIyODgsIDIyOTQsIDIyOTksIDIzMDUsIDIzMTAsIDIzMTMsIDEyMTIsIDIzMTUsIAotICAgIDIzMjIsIDIzMzAsIDIzNDAsIDIzNDksIDIzNjMsIDIzNjcsIDIzNzEsIDIzODQsIDIzOTIsIDIzOTYsIDI0MDEsIDI0MDUsIAotICAgIDI0MDgsIDI0MTIsIDI0MTYsIDI0MjEsIDI0MjYsIDI0MzEsIDI0MzUsIDI0MzgsIDI0NDIsIDI0NDksIDI0NTYsIDI0NjIsIAotICAgIDI0NjcsIDI0NzIsIDI0NzgsIDI0ODQsIDI0ODksIDI0OTIsIDE3NjAsIDI0OTQsIDI1MDAsIDI1MDQsIDI1MDksIDI1MTMsIAotICAgIDI1MTcsIDE3NjUsIDE3NzEsIDI1MjIsIDI1MjYsIDI1MjksIDI1MzQsIDI1MzksIDI1NDQsIDI1NDksIDI1NTMsIDI1NjAsIAotICAgIDI1NjUsIDI1NjgsIDI1NzUsIDI1ODEsIDI1ODUsIDI1ODksIDI1OTMsIDI1OTgsIDI2MDUsIDI2MTAsIDI2MTUsIDI2MjIsIAotICAgIDI2MjgsIDI2MzQsIDI2NDAsIDI2NTQsIDI2NzEsIDI2ODYsIDI3MDEsIDI3MTAsIDI3MTUsIDI3MTksIDI3MjQsIDI3MjksIAotICAgIDI3MzMsIDI3NDUsIDI3NTIsIDI3NTgsIDIyNjMsIDI3NjQsIDI3NzEsIDI3NzcsIDI3ODEsIDI3ODQsIDI3OTEsIDI3OTcsIAotICAgIDI4MDEsIDI4MDUsIDI4MDksIDIwOTEsIDI4MTMsIDI4MTgsIDI4MjMsIDI4MjcsIDI4MzUsIDI4MzksIDI4NDMsIDI4NDcsIAotICAgIDI4NTEsIDI4NTYsIDI4NjEsIDI4NjYsIDI4NzAsIDI4NzUsIDI4ODAsIDI4ODQsIDI4ODksIDI4OTMsIDI4OTYsIDI5MDAsIAotICAgIDI5MDQsIDI5MTIsIDI5MTcsIDI5MjEsIDI5MjUsIDI5MzEsIDI5NDAsIDI5NDQsIDI5NDgsIDI5NTQsIDI5NTksIDI5NjYsIAotICAgIDI5NzAsIDI5ODAsIDI5ODQsIDI5ODgsIDI5OTMsIDI5OTcsIDMwMDIsIDMwMDgsIDMwMTMsIDMwMTcsIDMwMjEsIDMwMjUsIAotICAgIDI0NTIsIDMwMzMsIDMwMzgsIDMwNDQsIDMwNDksIDMwNTMsIDMwNTgsIDMwNjMsIDMwNjcsIDMwNzMsIDMwNzgsIDIwOTUsIAotICAgIDMwODQsIDMwOTAsIDMwOTUsIDMxMDAsIDMxMDUsIDMxMTAsIDMxMTUsIDMxMjAsIDMxMjUsIDMxMzAsIDMxMzUsIDMxNDEsIAotICAgIDMxNDYsIDEyMjcsIDkyLCAzMTUyLCAzMTU2LCAzMTYwLCAzMTY0LCAzMTY5LCAzMTczLCAzMTc3LCAzMTgxLCAzMTg1LCAKLSAgICAzMTkwLCAzMTk0LCAzMTk5LCAzMjAzLCAzMjA2LCAzMjEwLCAzMjE1LCAzMjE5LCAzMjI0LCAzMjI4LCAzMjMyLCAzMjM2LCAKLSAgICAzMjQxLCAzMjQ1LCAzMjQ4LCAzMjYxLCAzMjY1LCAzMjY5LCAzMjczLCAzMjc3LCAzMjgxLCAzMjg0LCAzMjg4LCAzMjkyLCAKLSAgICAzMjk3LCAzMzAxLCAzMzA2LCAzMzExLCAzMzE2LCAzMzIwLCAzMzIzLCAzMzI2LCAzMzMyLCAzMzM2LCAzMzQwLCAzMzQzLCAKLSAgICAzMzQ3LCAzMzUxLCAzMzU0LCAzMzYwLCAzMzY1LCAzMzcwLCAzMzc2LCAzMzgxLCAzMzg2LCAzMzkyLCAzMzk4LCAzNDAzLCAKLSAgICAzNDA4LCAzNDEzLCAxMTIwLCA1NDcsIDM0MTgsIDM0MjEsIDM0MjYsIDM0MzAsIDM0MzMsIDM0MzcsIDM0NDIsIDM0NDcsIAotICAgIDM0NTEsIDM0NTYsIDM0NjAsIDM0NjUsIDM0NjksIDM0NzMsIDM0NzksIDM0ODUsIDM0ODgsIDM0OTEsIDM0OTcsIDM1MDQsIAotICAgIDM1MTEsIDM1MTcsIDM1MjQsIDM1MjksIDM1MzMsIDM1NDAsIDM1NDcsIDM1NTIsIDM1NTYsIDM1NjYsIDM1NzAsIDM1NzQsIAotICAgIDM1NzksIDM1ODQsIDM1OTQsIDIxMDcsIDM1OTksIDM2MDMsIDM2MDYsIDM2MTIsIDM2MTcsIDM2MjMsIDM2MjksIDM2MzQsIAotICAgIDM2NDEsIDM2NDUsIDM2NDksIDYyMCwgNjcxLCAxMzg4LCAzNjUzLCAzNjYwLCAzNjY3LCAzNjc0LCAzNjgxLCAzNjg3LCAKLSAgICAzNjkzLCAzNjk4LCAzNzAyLCAzNzA4LCAzNzEzLCAzNzE3LCAyMTE2LCAzNzIxLCAzNzI5LCA2MDAsIDM3MzUsIDM3NDYsIAotICAgIDM3NTAsIDM3NjAsIDIxMjEsIDM3NjYsIDM3NzEsIDM3ODYsIDM3OTIsIDM3OTksIDM4MDksIDM4MTUsIDM4MjAsIDM4MjYsIAotICAgIDM4MzIsIDM4MzUsIDM4MzksIDM4NDQsIDM4NTEsIDM4NTYsIDM4NjAsIDM4NjQsIDM4NjgsIDM4NzIsIDM4NzcsIDM4ODMsIAotICAgIDM4OTQsIDMyMTEsIDM4OTksIDM5MTEsIDM5MTksIDM5MjQsIDE1NjQsIDM5MzEsIDM5MzQsIDM5MzcsIDM5NDEsIDM5NDQsIAotICAgIDM5NTAsIDM5NTQsIDM5NjgsIDM5NzIsIDM5NzUsIDM5NzksIDM5ODUsIDM5OTEsIDM5OTYsIDQwMDAsIDQwMDQsIDQwMTAsIAotICAgIDQwMjEsIDQwMjcsIDQwMzIsIDQwMzgsIDQwNDIsIDQwNTAsIDQwNjAsIDQwNjYsIDQwNzEsIDQwODAsIDQwODgsIDQwOTUsIAotICAgIDQwOTksIDQxMDUsIDQxMTQsIDQxMjMsIDQxMjcsIDQxMzIsIDQxMzcsIDQxNDEsIDQxNDksIDQxNTMsIDQxNTgsIDQxNjIsIAotICAgIDIxMjksIDE0MDEsIDQxNjgsIDQxNzMsIDQxNzksIDQxODQsIDQxODksIDQxOTQsIDQxOTksIDQyMDQsIDQyMDksIDQyMTUsIAotICAgIDQyMjAsIDQyMjYsIDQyMzEsIDQyMzYsIDQyNDEsIDQyNDcsIDQyNTIsIDQyNTcsIDQyNjIsIDQyNjcsIDQyNzMsIDQyNzgsIAotICAgIDQyODQsIDQyODksIDQyOTQsIDQyOTksIDQzMDQsIDQzMDksIDQzMTQsIDQzMjAsIDQzMjUsIDQzMzAsIDMxOSwgNDU2LCAKLSAgICA0MzM1LCA0MzQxLCA0MzQ1LCA0MzQ5LCA0MzU0LCA0MzU4LCA0MzYyLCA0MzY1LCA0MzY5LCA0MzczLCA0Mzc3LCA0MzgxLCAKLSAgICA0Mzg2LCA0MzkwLCA0Mzk0LCA0NDAwLCA0MTY1LCA0NDA1LCA0NDA5LCA0NDEyLCA0NDE3LCA0NDIyLCA0NDI3LCA0NDMyLCAKLSAgICA0NDM3LCA0NDQyLCA0NDQ3LCA0NDUyLCA0NDU3LCA0NDYyLCA0NDY2LCA0NDcxLCA0NDc2LCA0NDgxLCA0NDg2LCA0NDkxLCAKLSAgICA0NDk2LCA0NTAxLCA0NTA2LCA0NTExLCA0NTE2LCA0NTIwLCA0NTI1LCA0NTMwLCA0NTM1LCA0NTQwLCA0NTQ1LCA0NTUwLCAKLSAgICA0NTU1LCA0NTYwLCA0NTY1LCA0NTcwLCA0NTc0LCA0NTc5LCA0NTg0LCA0NTg5LCA0NTk0LCA0NTk5LCA0NjA0LCA0NjA5LCAKLSAgICA0NjE0LCA0NjE5LCA0NjI0LCA0NjI4LCA0NjMzLCA0NjM4LCA0NjQzLCA0NjQ4LCA0NjUzLCA0NjU4LCA0NjYzLCA0NjY4LCAKLSAgICA0NjczLCA0Njc4LCA0NjgyLCA0Njg3LCA0NjkyLCA0Njk3LCA0NzAyLCA0NzA3LCA0NzEyLCA0NzE3LCA0NzIyLCA0NzI3LCAKLSAgICA0NzMyLCA0NzM2LCA0NzQxLCA0NzQ2LCA0NzUxLCA0NzU2LCA0NzYxLCA0NzY2LCA0NzcxLCA0Nzc2LCA0NzgxLCA0Nzg2LCAKLSAgICA0NzkwLCA0Nzk1LCA0ODAwLCA0ODA1LCA0ODEwLCA0ODE2LCA0ODIyLCA0ODI4LCA0ODM0LCA0ODQwLCA0ODQ2LCA0ODUyLCAKLSAgICA0ODU3LCA0ODYzLCA0ODY5LCA0ODc1LCA0ODgxLCA0ODg3LCA0ODkzLCA0ODk5LCA0OTA1LCA0OTExLCA0OTE3LCA0OTIyLCAKLSAgICA0OTI4LCA0OTM0LCA0OTQwLCA0OTQ2LCA0OTUyLCA0OTU4LCA0OTY0LCA0OTcwLCA0OTc2LCA0OTgyLCA0OTg3LCA0OTkzLCAKLSAgICA0OTk5LCA1MDA1LCA1MDExLCA1MDE3LCA1MDIzLCA1MDI5LCA1MDM1LCA1MDQxLCA1MDQ3LCA1MDUyLCA1MDU4LCA1MDY0LCAKLSAgICA1MDcwLCA1MDc2LCA1MDgyLCA1MDg4LCA1MDk0LCA1MTAwLCA1MTA2LCA1MTEyLCA1MTE3LCA1MTIzLCA1MTI5LCA1MTM1LCAKLSAgICA1MTQxLCA1MTQ3LCA1MTUzLCA1MTU5LCA1MTY1LCA1MTcxLCA1MTc3LCA1MTgyLCA1MTg2LCA1MTkyLCA1MTk4LCA1MjA0LCAKLSAgICA1MjEwLCA1MjE2LCA1MjIyLCA1MjI4LCA1MjM0LCA1MjQwLCA1MjQ2LCA1MjUxLCA1MjU3LCA1MjYzLCA1MjY5LCA1Mjc1LCAKLSAgICA1MjgxLCA1Mjg3LCA1MjkzLCA1Mjk5LCA1MzA1LCA1MzExLCA1MzE2LCA1MzIyLCA1MzI4LCA1MzM0LCA1MzQwLCA1MzQ2LCAKLSAgICA1MzUyLCA1MzU4LCA1MzY0LCA1MzcwLCA1Mzc2LCA1MzgxLCA1Mzg3LCA1MzkzLCA1Mzk5LCA1NDA1LCA1NDExLCA1NDE3LCAKLSAgICA1NDIzLCA1NDI5LCA1NDM1LCA1NDQxLCA1NDQ2LCA1NDUyLCA1NDU4LCA1NDY0LCA1NDcwLCA1NDc2LCA1NDgyLCA1NDg4LCAKLSAgICA1NDk0LCA1NTAwLCA1NTA2LCA1NTExLCA1NTE3LCA1NTIzLCA1NTI5LCA1NTM1LCA1NTQxLCA1NTQ3LCA1NTUzLCA1NTU5LCAKLSAgICA1NTY1LCA1NTcxLCA1NTc2LCA1NTgyLCA1NTg4LCA1NTk0LCA1NjAwLCA1NjA2LCA1NjEyLCA1NjE4LCA1NjI0LCA1NjMwLCAKLSAgICA1NjM2LCA1NjQxLCA1NjQ3LCA1NjUzLCA1NjU5LCA1NjY1LCA1NjcxLCA1Njc3LCA1NjgzLCA1Njg5LCA1Njk1LCA1NzAxLCAKLSAgICA1NzA2LCA1NzEyLCA1NzE4LCA1NzI0LCA1NzMwLCA1NzM2LCA1NzQyLCA1NzQ4LCA1NzU0LCA1NzYwLCA1NzY2LCA1NzcxLCAKLSAgICA1Nzc3LCA1NzgzLCA1Nzg5LCA1Nzk1LCA1ODAxLCA1ODA3LCA1ODEzLCA1ODE5LCA1ODI1LCA1ODMxLCA1ODM2LCA1ODQwLCAKLSAgICA1ODQzLCA1ODUwLCA1ODU0LCA1ODY3LCA1ODcxLCA1ODc1LCA1ODc5LCA1ODgzLCA1ODg3LCA1ODkxLCA1ODk3LCA1OTA0LCAKLSAgICA1OTEyLCA1OTE2LCA1OTI0LCA1OTMzLCA1OTM5LCA1OTUxLCA1OTU2LCA1OTU5LCA1OTYzLCA1OTczLCA1OTgxLCA1OTg5LCAKLSAgICA1OTk1LCA1OTk5LCA2MDA5LCA2MDE5LCA2MDI3LCA2MDM0LCA2MDQxLCA2MDQ3LCA2MDUzLCA2MDYwLCA2MDY0LCA2MDcxLCAKLSAgICA2MDgxLCA2MDkxLCA2MDk5LCA2MTA2LCA2MTExLCA2MTE1LCA2MTIzLCA2MTI3LCA2MTMyLCA2MTM5LCA2MTQ3LCA2MTUyLCAKLSAgICA2MTU3LCA2MTYxLCA2MTY4LCA2MTczLCA2MTg3LCA2MTkyLCA2MTk3LCA2MjA0LCA2MjEzLCA2MjE2LCA2MjIwLCA2MjI0LCAKLSAgICA2MjI4LCA2MjMxLCA2MjM2LCA2MjQxLCA2MjUwLCA2MjU2LCA2MjYyLCA2MjY4LCA2MjcyLCA2MjgzLCA2MjkzLCA2MzA4LCAKLSAgICA2MzIzLCA2MzM4LCA2MzUzLCA2MzY4LCA2MzgzLCA2Mzk4LCA2NDEzLCA2NDI4LCA2NDQzLCA2NDU4LCA2NDczLCA2NDg4LCAKLSAgICA2NTAzLCA2NTE4LCA2NTMzLCA2NTQ4LCA2NTYzLCA2NTc4LCA2NTkzLCA2NjA4LCA2NjIzLCA2NjM4LCA2NjUzLCA2NjY4LCAKLSAgICA2NjgzLCA2Njk4LCA2NzEzLCA2NzI4LCA2NzQzLCA2NzU4LCA2NzczLCA2Nzg4LCA2ODAzLCA2ODE4LCA2ODMzLCA2ODQ4LCAKLSAgICA2ODYzLCA2ODc4LCA2ODkzLCA2OTA4LCA2OTIzLCA2OTM4LCA2OTUzLCA2OTY4LCA2OTgzLCA2OTk4LCA3MDEzLCA3MDI4LCAKLSAgICA3MDM3LCA3MDQ2LCA3MDUxLCA3MDU3LCA3MDY3LCA3MDcxLCA3MDc2LCA3MDgxLCA3MDg5LCA3MDkzLCA3MDk2LCA3MTAwLCAKLSAgICAyOTc1LCA3MTAzLCA3MTA4LCAyOTgsIDQyNSwgNzExNCwgNzEyMiwgNzEyNiwgNzEzMCwgNzEzMywgNzEzNywgNzE0MywgCi0gICAgNzE0NywgNzE1NSwgNzE2MSwgNzE2NiwgNzE3MywgNzE4MCwgNzE4NiwgNzE5MSwgNzE5OCwgNzIwNCwgNzIxMiwgNzIxNiwgCi0gICAgNzIyMSwgNzIzMywgNzI0NCwgNzI1MSwgNzI1NSwgNzI1OSwgNzI2NSwgMzIzMywgNzI2OSwgNzI3NSwgNzI4MCwgNzI4NSwgCi0gICAgNzI5MCwgNzI5NiwgNzMwMSwgNzMwNiwgNzMxMSwgNzMxNiwgNzMyMiwgNzMyNywgNzMzMiwgNzMzOCwgNzM0MywgNzM0OSwgCi0gICAgNzM1NCwgNzM2MCwgNzM2NSwgNzM3MSwgNzM3NiwgNzM4MSwgNzM4NiwgNzM5MSwgNzM5NiwgNzQwMiwgNzQwNywgNzQxMiwgCi0gICAgNzQxNywgNzQyMywgNzQyOSwgNzQzNSwgNzQ0MSwgNzQ0NywgNzQ1MywgNzQ1OSwgNzQ2NSwgNzQ3MSwgNzQ3NywgNzQ4MywgCi0gICAgNzQ4OSwgNzQ5NCwgNzQ5OSwgNzUwNCwgNzUwOSwgNzUxNCwgNzUxOSwgNzUyNCwgNzUyOSwgNzUzNSwgNzU0MSwgNzU0NiwgCi0gICAgNzU1MiwgNzU1OCwgNzU2NCwgNzU2OSwgNzU3NCwgNzU3OSwgNzU4NCwgNzU5MCwgNzU5NiwgNzYwMSwgNzYwNiwgNzYxMSwgCi0gICAgNzYxNiwgNzYyMSwgNzYyNywgNzYzMiwgNzYzOCwgNzY0NCwgNzY1MCwgNzY1NiwgNzY2MiwgNzY2OCwgNzY3NCwgNzY4MCwgCi0gICAgNzY4NiwgMjEzOCwgNzEzMiwgNzY5MSwgNzY5NSwgNzY5OSwgNzcwMiwgNzcwOSwgNzcxMiwgNzcyMCwgNzcyNSwgNzczMCwgCi0gICAgNzcyMSwgNzczNSwgMjE2NSwgNzczOSwgNzc0NSwgNzc1MSwgNzc1NiwgNzc2MSwgNzc2OCwgNzc3NiwgNzc4MSwgNzc4NSwgCi0gICAgNzc4OCwgNzc5MiwgNzc5OCwgNzgwNCwgNzgwOCwgMjE3MywgNTYwLCA3ODExLCA3ODE1LCA3ODIwLCA3ODI2LCA3ODMxLCAKLSAgICA3ODM1LCA3ODM4LCA3ODQyLCA3ODQ4LCA3ODUzLCA3ODU3LCA3ODY0LCA3ODY4LCA3ODcyLCA3ODc2LCA5NDUsIDc2OSwgCi0gICAgNzg3OSwgNzg4NywgNzg5NCwgNzkwMSwgNzkwNywgNzkxNCwgNzkyMiwgNzkyOSwgNzkzNiwgNzk0MSwgNzk1MywgMTI0NywgCi0gICAgMTQwOSwgMTQxNCwgNzk2NCwgMTQxOSwgNzk2OCwgNzk3MiwgNzk4MSwgNzk4OSwgNzk5OCwgODAwNCwgODAwOSwgODAxMywgCi0gICAgODAxOSwgODAyNCwgMjcwNiwgODAzMSwgODAzNSwgODA0NCwgODA1MywgODA2MiwgODA3MSwgODA3NiwgODA4MSwgODA5MywgCi0gICAgODA5OCwgODEwNiwgMjIyNCwgODExMCwgODExMiwgODExNywgODEyMSwgODEzMCwgODEzOCwgMTQyMywgMTMzLCAzNDYxLCAKLSAgICAzNDY2LCA4MTQ0LCA4MTQ4LCA4MTU3LCA4MTYzLCA4MTY4LCA4MTcxLCA4MTgwLCAyNjk4LCA4MTg2LCA4MTk0LCA4MTk4LCAKLSAgICA4MjAyLCA4MjA2LCAyMjM3LCA4MjEwLCA4MjE1LCA4MjIyLCA4MjI4LCA4MjM0LCA4MjM3LCA4MjM5LCA4MjQyLCA4MjUwLCAKLSAgICA4MjU4LCA4MjY2LCA4MjY5LCA4Mjc0LCAyMjUwLCA4Mjc5LCA3NzMyLCA4MjgyLCA4Mjg0LCA4Mjg5LCA4Mjk0LCA4Mjk5LCAKLSAgICA4MzA0LCA4MzA5LCA4MzE0LCA4MzE5LCA4MzI0LCA4MzI5LCA4MzM0LCA4MzQwLCA4MzQ1LCA4MzUwLCA4MzU1LCA4MzYxLCAKLSAgICA4MzY2LCA4MzcxLCA4Mzc2LCA4MzgxLCA4Mzg2LCA4MzkxLCA4Mzk3LCA4NDAyLCA4NDA3LCA4NDEyLCA4NDE3LCA4NDIyLCAKLSAgICA4NDI3LCA4NDMyLCA4NDM3LCA4NDQyLCA4NDQ3LCA4NDUyLCA4NDU3LCA4NDYyLCA4NDY3LCA4NDcyLCA4NDc3LCA4NDgyLCAKLSAgICA4NDg4LCA4NDk0LCA4NDk5LCA4NTA0LCA4NTA5LCA4NTE0LCA4NTE5LCAyMjYxLCAyMjY4LCAyMjc0LCA4NTI0LCA4NTMwLCAKLSAgICA4NTM4LCAyMzAwLCAyMzA2LCA4NTQ2LCA4NTUwLCA4NTU1LCA4NTU5LCA4NTYzLCA4NTY3LCA4NTcyLCA4NTc2LCA4NTgxLCAKLSAgICA4NTg1LCA4NTg4LCA4NTkxLCA4NTk3LCA4NjAzLCA4NjA5LCA4NjE1LCA4NjIxLCA4NjI3LCA4NjMzLCA4NjM3LCA4NjQxLCAKLSAgICA4NjQ1LCA4NjQ5LCA4NjUzLCA4NjU4LCA4NjY1LCA4Njc2LCA4Njg0LCA4Njk0LCA4NzAwLCA4NzA3LCA4NzEyLCA4NzE2LCAKLSAgICA4NzI3LCA4NzQwLCA4NzUxLCA4NzY0LCA4Nzc1LCA4Nzg3LCA4Nzk5LCA4ODExLCA4ODI0LCA4ODM3LCA4ODQ0LCA4ODUwLCAKLSAgICA4ODY0LCA4ODcxLCA4ODc3LCA4ODgxLCA4ODg2LCA4ODkwLCA4ODk3LCA4OTA1LCA4OTA5LCA4OTE1LCA4OTE5LCA4OTI1LCAKLSAgICA4OTM1LCA4OTM5LCA4OTQ0LCA4OTQ5LCA4OTU2LCA4OTYyLCA4OTcyLCA3OTA5LCA4OTc4LCA4OTgyLCA4OTg5LCA4OTk2LCAKLSAgICA3NjgsIDkwMDAsIDkwMDQsIDkwMDksIDkwMTQsIDkwMTksIDkwMjMsIDkwMjksIDkwMzcsIDkwNDMsIDkwNDcsIDkwNTMsIAotICAgIDkwNjMsIDkwNjcsIDkwNzMsIDkwNzgsIDkwODIsIDkwODgsIDkwOTQsIDIxNjEsIDkwOTksIDkxMDEsIDkxMDYsIDkxMTQsIAotICAgIDkxMjMsIDkxMjcsIDkxMzMsIDkxMzgsIDkxNDMsIDkxNDgsIDkxNTMsIDkxNTksIDkxNjQsIDkxNjksIDQwMDYsIDkxNzQsIAotICAgIDkxNzksIDkxODMsIDkxODksIDkxOTQsIDkyMDAsIDkyMDUsIDkyMTAsIDkyMTYsIDkyMjEsIDkxMjgsIDkyMjcsIDkyMzEsIAotICAgIDkyMzgsIDkyNDQsIDkyNDksIDkyNTMsIDYxODMsIDkyNTgsIDkyNjcsIDkyNzIsIDkyNzcsIDgyMTgsIDgyMjUsIDkyODIsIAotICAgIDI4NTMsIDkyODYsIDkyOTEsIDkyOTYsIDkxMzksIDkzMDAsIDkzMDUsIDkxNDQsIDkxNDksIDkzMTAsIDkzMTcsIDkzMjQsIAotICAgIDkzMzAsIDkzMzYsIDkzNDIsIDkzNDcsIDkzNTIsIDkzNTcsIDkxNTQsIDkxNjAsIDkzNjMsIDkzNjksIDkzNzQsIDkzODIsIAotICAgIDkxNjUsIDkzODcsIDk5MCwgOTM5MCwgOTM5OCwgOTQwNCwgOTQxMCwgOTQxOSwgOTQyNywgOTQzMiwgOTQzOCwgOTQ0NiwgCi0gICAgOTQ1MywgOTQ2OCwgOTQ4NSwgOTUwNCwgOTUxMywgOTUyMSwgOTUzNiwgOTU0NywgOTU1NywgOTU2NywgOTU3NSwgOTU4MSwgCi0gICAgOTU5MywgOTYwMiwgOTYxMCwgOTYxNywgOTYyNCwgOTYzMCwgOTYzNSwgOTY0MywgOTY1MywgOTY2MCwgOTY3MCwgOTY4MCwgCi0gICAgOTY5MCwgOTY5OCwgOTcwNSwgOTcxNCwgOTcyNCwgOTczOCwgOTc1MywgOTc2MiwgOTc3MCwgOTc3NSwgOTc3OSwgOTc4OCwgCi0gICAgOTc5NCwgOTc5OSwgOTgwOSwgOTgxOSwgOTgyOSwgOTgzNCwgOTgzOCwgOTg0NywgOTg1MiwgOTg2MiwgOTg3MywgOTg4NiwgCi0gICAgOTg5NCwgOTkwNywgOTkxOSwgOTkyNywgOTkzMiwgOTkzNiwgOTk0MiwgOTk0NywgOTk1NSwgOTk2MywgOTk3MCwgOTk3NSwgCi0gICAgOTk4MywgOTk4OSwgOTk5MiwgOTk5NiwgMTAwMDIsIDEwMDEwLCAxMDAxNSwgMTAwMTksIDEwMDI3LCAxMDAzNiwgMTAwNDQsIAotICAgIDEwMDUwLCAxMDA1NCwgMTAwNjEsIDEwMDcyLCAxMDA3NiwgMTAwNzksIDEwMDg1LCA5MTcwLCAxMDA5MCwgMTAwOTYsIAotICAgIDEwMTAzLCAxMDEwOSwgMTAxMTQsIDEwMTIxLCAxMDEyOCwgMTAxMzUsIDEwMTQyLCAxMDE0OSwgMTAxNTYsIDEwMTYzLCAKLSAgICAxMDE3MCwgMTAxNzUsIDk0ODEsIDEwMTgwLCAxMDE4NiwgMTAxOTMsIDEwMjAwLCAxMDIwNSwgMTAyMTIsIDEwMjIxLCAKLSAgICAxMDIyNSwgMTAyMzcsIDgyNTYsIDEwMjQxLCAxMDI0NCwgMTAyNDgsIDEwMjUyLCAxMDI1NiwgMTAyNjAsIDEwMjY2LCAKLSAgICAxMDI3MiwgMTAyNzcsIDEwMjgzLCAxMDI4OCwgMTAyOTMsIDEwMjk5LCAxMDMwNCwgMTAzMDksIDg5NTIsIDEwMzE0LCAKLSAgICAxMDMxOCwgMTAzMjIsIDEwMzI2LCAxMDMzMSwgMTAzMzYsIDEwMzQ0LCAxMDM1MCwgMTAzNTQsIDEwMzU4LCAxMDM2NSwgCi0gICAgMTAzNzAsIDEwMzc4LCAxMDM4MywgMTAzODcsIDEwMzkwLCAxMDM5NiwgMTA0MDMsIDEwNDA3LCAxMDQxMCwgMTA0MTUsIAotICAgIDEwNDE5LCA0MDQ1LCAxMDQyNSwgMTA0MzQsIDM2LCAxMDQ0MiwgMTA0NDgsIDEwNDUzLCA4OTY3LCAxMDQ1OCwgMTA0NjMsIAotICAgIDEwNDY3LCAxMDQ3MCwgMTA0ODUsIDEwNTA0LCAxMDUxNiwgMTA1MjksIDEwNTQyLCAxMDU1NSwgMTA1NjksIDEwNTgyLCAKLSAgICAxMDU5NywgMTA2MDQsIDkxNzUsIDEwNjEwLCAxMDYyNCwgMTA2MjksIDEwNjM1LCAxMDY0MCwgMTA2NDgsIDEwNjUzLCAKLSAgICA4MDQwLCAxMDY1OCwgMTA2NjEsIDEwNjY4LCAxMDY3MywgMTA2NzcsIDI4NTgsIDk5OCwgMTA2ODMsIDEwNjg3LCAxMDY5MywgCi0gICAgMTA2OTksIDEwNzA0LCAxMDcxMCwgMTA3MTUsIDkxODQsIDEwNzIxLCAxMDcyNywgMTA3MzIsIDEwNzM3LCAxMDc0NSwgCi0gICAgMTA3NTEsIDEwNzY0LCAxMDc3MiwgMTA3NzksIDkxOTAsIDEwNzg1LCAxMDc5MywgMTA4MDEsIDEwODA4LCAxMDgyMSwgCi0gICAgMTA4MzMsIDEwODQzLCAxMDg1MSwgMTA4NTgsIDEwODY1LCAxMDg3NCwgMTA4ODMsIDEwODkxLCAxMDg5OCwgMTA5MDMsIAotICAgIDEwOTA5LCA5MTk1LCAxMDkxNCwgMTA5MjAsIDkyMDEsIDEwOTI1LCAxMDkyOCwgMTA5MzUsIDEwOTQxLCAxMDk1NCwgODY2OSwgCi0gICAgMTA5NjUsIDEwOTcxLCAxMDk4MCwgMTA5ODgsIDEwOTk1LCAxMTAwMSwgMTEwMDcsIDExMDEyLCAxMTAxNiwgMTEwMjEsIAotICAgIDEwNDc3LCAxMTAyNywgOTIwNiwgMTEwMzQsIDExMDM5LCAxMTA0NiwgMTEwNTIsIDExMDU4LCAxMTA2MywgMTEwNzEsIAotICAgIDExMDc5LCAxMTA4NiwgMTEwOTAsIDExMTA0LCAxMTExNCwgMTExMTksIDExMTIzLCAxMTEzNCwgMTExNDAsIDExMTQ1LCAKLSAgICAxMTE1MCwgOTIxMSwgOTIxNywgMTExNTQsIDExMTU3LCAxMTE2MiwgMTExNzQsIDExMTgxLCAxMTE4NiwgMTExOTAsIAotICAgIDExMTk1LCAxMTE5OSwgMTEyMDYsIDExMjEyLCA5MjIyLCA5MTI5LCAxMTIxOSwgMjg2MywgOCwgMTEyMjYsIDExMjMxLCAKLSAgICAxMTIzNSwgMTEyNDEsIDExMjQ5LCAxMTI1OSwgMTEyNjQsIDExMjY5LCAxMTI3NiwgMTEyODMsIDExMjg3LCAxMTI5OCwgCi0gICAgMTEzMDgsIDExMzE3LCAxMTMyOSwgMTEzMzQsIDExMzM4LCAxMTM0NiwgMTEzNjAsIDExMzY0LCAxMTM2NywgMTEzNzUsIAotICAgIDExMzgyLCAxMTM5MCwgMTEzOTQsIDExNDA1LCAxMTQwOSwgMTE0MTYsIDExNDIxLCAxMTQyNSwgMTE0MzEsIDExNDM2LCAKLSAgICAxMTQ0MCwgMTE0NDYsIDExNDUxLCAxMTQ2MiwgMTE0NjYsIDExNDY5LCAxMTQ3NSwgMTE0ODAsIDExNDg2LCAxMTQ5MiwgCi0gICAgMTE0OTksIDExNTEwLCAxMTUyMCwgMTE1MzAsIDExNTM5LCAxMTU0NiwgMTE1NTUsIDkyMzIsIDkyMzksIDkyNDUsIDkyNTAsIAotICAgIDExNTYxLCAxMTU2NywgOTI1NCwgMTE1NzMsIDExNTc2LCAxMTU4MywgMTE1ODgsIDExNjAzLCAxMTYxOSwgMTE2MzQsIAotICAgIDExNjQyLCAxMTY0OCwgMTE2NTMsIDgzOCwgNDIwLCAxMTY1OCwgMTE2NjYsIDExNjczLCAxMTY3OSwgMTE2ODQsIDExNjg5LCAKLSAgICA5MjU5LCAxMTY5MSwgMTE2OTUsIDExNzAwLCAxMTcwNCwgMTE3MTQsIDExNzE5LCAxMTcyMywgMTE3MzIsIDExNzM2LCAKLSAgICAxMTczOSwgOTI2OCwgMTE3NDYsIDExNzQ5LCAxMTc1NywgMTE3NjQsIDExNzcyLCAxMTc3NiwgMTE3ODMsIDExNzkyLCAKLSAgICAxMTc5NSwgMTE3OTksIDExODAzLCAxMTgwOSwgMTE4MTMsIDExODE3LCAxMTgyMSwgMTE4MjcsIDExODM3LCAxMTg0MSwgCi0gICAgMTE4NDksIDExODUzLCAxMTg2MCwgMTE4NjQsIDExODY5LCAxMTg3MywgMTE4ODAsIDExODg2LCAxMTg5NCwgMTE5MDAsIAotICAgIDExOTA1LCAxMTkxNSwgMTE5MjAsIDExOTI1LCAxMTkyOSwgMTE5MzcsIDM5MDUsIDExOTQ1LCAxMTk1MCwgOTI3MywgCi0gICAgMTE5NTQsIDExOTU4LCAxMTk2MSwgMTE5NjksIDExOTc2LCAxMTk4MCwgNTk5MSwgMTE5ODQsIDExOTg5LCAxMTk5MywgCi0gICAgMTIwMDQsIDEyMDE0LCAxMjAxOSwgMTIwMjUsIDEyMDI5LCAxMjAzMiwgMTIwNDAsIDEyMDQ1LCAxMjA1MCwgMTIwNTcsIAotICAgIDEyMDYyLCA5Mjc4LCAxMjA2NywgMTIwNzEsIDEyMDc4LCAxNzIyLCA2MTQ1LCAxMjA4MywgMTIwODgsIDEyMDkzLCAxMjA5OCwgCi0gICAgMTIxMDQsIDEyMTA5LCAxMjExNSwgMTIxMjAsIDEyMTI1LCAxMjEzMCwgMTIxMzUsIDEyMTQwLCAxMjE0NSwgMTIxNTAsIAotICAgIDEyMTU1LCAxMjE2MCwgMTIxNjUsIDEyMTcwLCAxMjE3NSwgMTIxODAsIDEyMTg1LCAxMjE5MCwgMTIxOTUsIDEyMjAxLCAKLSAgICAxMjIwNiwgMTIyMTEsIDEyMjE2LCAxMjIyMSwgMTIyMjYsIDEyMjMyLCAxMjIzNywgMTIyNDIsIDEyMjQ4LCAxMjI1MywgCi0gICAgMTIyNTksIDEyMjY0LCAxMjI3MCwgMTIyNzUsIDEyMjgwLCAxMjI4NSwgMTIyOTAsIDEyMjk2LCAxMjMwMSwgMTIzMDYsIAotICAgIDEyMzExLCA3MzcsIDEzOSwgMTIzMTksIDEyMzIzLCAxMjMyOCwgMTIzMzMsIDEyMzM3LCAxMjM0MSwgMTIzNDUsIDEyMzUwLCAKLSAgICAxMjM1NCwgMTIzNTksIDEyMzYzLCAxMjM2NiwgMTIzNzAsIDEyMzc0LCAxMjM4MCwgMTIzODUsIDEyMzk1LCAxMjQwMSwgCi0gICAgMTI0MDksIDEyNDEzLCAxMjQxNywgMTI0MjQsIDEyNDMyLCAxMjQ0MSwgMTI0NTIsIDEyNDU5LCAxMjQ2NiwgMTI0NzAsIAotICAgIDEyNDc5LCAxMjQ4OCwgMTI0OTYsIDEyNTA1LCAxMjUxNCwgMTI1MjMsIDEyNTMyLCAxMjU0MiwgMTI1NTIsIDEyNTYyLCAKLSAgICAxMjU3MiwgMTI1ODIsIDEyNTkxLCAxMjYwMSwgMTI2MTEsIDEyNjIxLCAxMjYzMSwgMTI2NDEsIDEyNjUxLCAxMjY2MSwgCi0gICAgMTI2NzAsIDEyNjgwLCAxMjY5MCwgMTI3MDAsIDEyNzEwLCAxMjcyMCwgMTI3MzAsIDEyNzM5LCAxMjc0OSwgMTI3NTksIAotICAgIDEyNzY5LCAxMjc3OSwgMTI3ODksIDEyNzk5LCAxMjgwOSwgMTI4MTksIDEyODI5LCAxMjgzOCwgMTI4NDgsIDEyODU4LCAKLSAgICAxMjg2OCwgMTI4NzgsIDEyODg4LCAxMjg5OCwgMTI5MDgsIDEyOTE4LCAxMjkyOCwgMTI5MzgsIDEyOTQ3LCAxMjU2LCAKLSAgICAxMjk1MywgMTI5NTYsIDEyOTYwLCAxMjk2NSwgMTI5NzIsIDEyOTc4LCAxMjk4MywgMTI5ODcsIDEyOTkyLCAxMzAwMSwgCi0gICAgMTMwMDksIDEzMDE0LCAxMzAxOCwgMTMwMjIsIDEzMDI4LCAxMzAzMywgMTMwMzksIDkyODcsIDEzMDQ0LCAxMzA0OSwgCi0gICAgMTMwNTgsIDkyOTIsIDEzMDYzLCAxMzA2NiwgMTMwNzIsIDEzMDgwLCA5Mjk3LCAxMzA4NywgMTMwOTEsIDEzMDk1LCAKLSAgICAxMzA5OSwgMTMxMDksIDEzMTE1LCAxMzEyMSwgMTMxMjYsIDEzMTM1LCAxMzE0MywgMTMxNTAsIDEzMTU3LCAxMzE2MiwgCi0gICAgMTMxNjksIDEzMTc0LCAxMzE3OCwgMTMxODEsIDEzMTkyLCAxMzIwMiwgMTMyMTEsIDEzMjE5LCAxMzIzMCwgMTMyNDIsIAotICAgIDEzMjUyLCAxMzI1NywgMTMyNjEsIDEzMjY2LCAxMzI3MSwgMTMyNzUsIDEzMjgxLCAxMzI4OSwgMTMyOTYsIDEzMzA3LCAKLSAgICAxMzMxMiwgMTMzMjIsIDEzMzI2LCAxMzMyOSwgMTMzMzYsIDEzMzQ2LCAxMzM1NSwgMTMzNjIsIDEzMzY2LCAxMzM3MywgCi0gICAgMTMzNzksIDEzMzg0LCAxMzM4OSwgMTMzOTMsIDEzNDAyLCAxMzQwNywgMTM0MTMsIDEzNDE3LCAxMzQyMiwgMTM0MjYsIAotICAgIDEzNDM1LCAxMzQ0MywgMTM0NTEsIDEzNDU4LCAxMzQ2NiwgMTM0NzgsIDEzNDg5LCAxMzQ5OSwgMTM1MDYsIDEzNTEyLCAKLSAgICAxMzUyMSwgMTM1MzIsIDEzNTQxLCAxMzU1MywgMTM1NjUsIDEzNTc3LCAxMzU4NywgMTM1OTYsIDEzNjA1LCAxMzYxMywgCi0gICAgMTM2MjAsIDEzNjI5LCAxMzYzNywgMTM2NDEsIDEzNjQ3LCAxMzY1MywgMTM2NTgsIDc3NTMsIDEzNjYyLCAxMzY2NCwgCi0gICAgMTM2NjgsIDEzNjczLCAxMzY3OSwgMTM2ODgsIDEzNjkyLCAxMzY5OCwgMTM3MDYsIDEzNzEzLCAxMzcyMiwgMTM3MzEsIAotICAgIDEzNzQwLCAxMzc0OSwgMTM3NTgsIDEzNzY3LCAxMzc3NiwgMTM3ODUsIDEzNzk1LCAxMzgwNSwgMTM4MTQsIDEzODIwLCAKLSAgICAxMzgyNywgMTM4MzQsIDEzODQwLCAxMzg1NCwgMTM4NjEsIDEzODY5LCAxMzg3OCwgMTM4ODQsIDEzODkzLCAxMzkwMiwgCi0gICAgMTM5MTMsIDEzOTIzLCAxMzkzMSwgMTM5MzgsIDEzOTQ2LCAxMzk1NSwgMTM5NjgsIDEzOTc2LCAxMzk4MywgMTM5OTYsIAotICAgIDE0MDAyLCAxNDAwOCwgMTQwMTgsIDE0MDI3LCAxNDAzNiwgMTQwNDEsIDE0MDQ1LCAxNDA1MSwgMTQwNTcsIDE0MDY0LCAKLSAgICA4OTY2LCAxNDA2OSwgMTQwNzQsIDE0MDgxLCAxNDA4NiwgMTIzNzYsIDE0MDkxLCAxNDA5OSwgMTQxMDUsIDE0MTEwLCAKLSAgICAxNDExOCwgMTQxMjYsIDE0MTMzLCAxNDE0MSwgMTQxNDcsIDE0MTU1LCAxNDE2MywgMTQxNjksIDE0MTc0LCAxNDE4MCwgCi0gICAgMTQxODcsIDE0MTkzLCAxNDE5OCwgMTQyMDIsIDE0MjEzLCAxNDIyMSwgMTQyMjcsIDE0MjMyLCAxNDI0MSwgMTQyNDcsIAotICAgIDE0MjUyLCAxNDI2MSwgMTQyNzUsIDM4NTMsIDE0Mjc5LCAxNDI4NCwgMTQyODksIDE0Mjk1LCAxNDMwMCwgMTQzMDUsIAotICAgIDE0MzA5LCAxNDMxNCwgMTQzMTksIDE0MzI0LCA3NzUyLCAxNDMyOSwgMTQzMzQsIDE0MzM5LCAxNDM0NCwgMTQzNDksIAotICAgIDE0MzUzLCAxNDM1OCwgMTQzNjMsIDE0MzY4LCAxNDM3MywgMTQzNzksIDE0Mzg1LCAxNDM5MCwgMTQzOTQsIDE0Mzk5LCAKLSAgICAxNDQwNCwgMTQ0MDksIDkzMDEsIDE0NDE0LCAxNDQxOSwgMTQ0MjQsIDE0NDI5LCAxNDQzNCwgMTQ0NTEsIDE0NDY5LCAKLSAgICAxNDQ4MSwgMTQ0OTQsIDE0NTExLCAxNDUyNywgMTQ1NDQsIDE0NTU0LCAxNDU3MywgMTQ1ODQsIDE0NTk1LCAxNDYwNiwgCi0gICAgMTQ2MTcsIDE0NjI5LCAxNDY0MCwgMTQ2NTEsIDE0NjY4LCAxNDY3OSwgMTQ2OTAsIDE0Njk1LCA5MzA2LCAxNDcwMCwgCi0gICAgMTQ3MDQsIDIzODEsIDE0NzA4LCAxNDcxMSwgMTQ3MTcsIDE0NzI1LCAxNDczMywgMTQ3MzgsIDE0NzQ2LCAxNDc1NCwgCi0gICAgMTQ3NjEsIDE0NzY2LCAxNDc3MiwgMTQ3NzksIDE0Nzg3LCAxNDc5NCwgMTQ4MDYsIDE0ODE0LCAxNDgxOSwgMTE1OTcsIAotICAgIDE0ODI1LCAxNDgzNCwgMTQ4NDMsIDE0ODUxLCAxNDg1OCwgMTQ4NjQsIDE0ODcyLCAxNDg3OSwgMTQ4ODUsIDE0ODkyLCAKLSAgICAxNDg5OCwgMTQ5MDcsIDE0OTE1LCAxNDkyNSwgMTQ5MzIsIDE0OTM4LCAxNDk0NiwgMTQ5NTIsIDE0OTYwLCAxNDk2NywgCi0gICAgMTQ5ODAsIDE0OTg3LCAxNDk5NiwgMTUwMDUsIDE1MDE0LCAxNTAyMiwgMTUwMzIsIDE1MDM5LCAxNTA0NCwgMzU2MCwgCi0gICAgMTUwNTEsIDE1MDU2LCAxMzcyLCAxNTA2MCwgMTQzMzAsIDE1MDY0LCAxNTA3MCwgMTUwNzQsIDE1MDgyLCAxNTA5NCwgCi0gICAgMTUwOTksIDE1MTA2LCAxNTExMiwgMTUxMTcsIDE1MTI0LCAxNDMzNSwgMTUxMjgsIDE1MTMyLCAxNTEzNiwgMTQzNDAsIAotICAgIDE1MTQwLCAxNDM0NSwgMTUxNDQsIDE1MTUxLCAxNTE1NiwgMTUxNjAsIDE1MTY3LCAxNTE3MSwgMTUxNzksIDE1MTg2LCAKLSAgICAxNTE5MCwgMTUxOTcsIDE1MjE0LCAxNTIyMywgMTUyMjcsIDE1MjMwLCAxNTIzOCwgMTUyNDQsIDE1MjQ5LCAzNjM4LCAKLSAgICAxNTI1MywgMTUyNTUsIDE1MjYzLCAxNTI3MCwgMTUyODAsIDE1MjkyLCAxNTI5NywgMTUzMDMsIDE1MzA4LCAxNTMxMiwgCi0gICAgMTUzMTgsIDE1MzIzLCAxNTMyOSwgMTUzMzIsIDE1MzM5LCAxNTM0NywgMTUzNTQsIDE1MzYwLCAxNTM2NiwgMTUzNzEsIAotICAgIDE1Mzc4LCAxNTM4NCwgMTUzODksIDE1Mzk2LCAxNTQwMCwgMTU0MDYsIDE1NDEwLCAxNTQxNywgMTU0MjMsIDE1NDI5LCAKLSAgICAxNTQzNywgMTU0NDMsIDE1NDQ4LCAxNTQ1NCwgMTU0NjIsIDE1NDcwLCAxNTQ3NiwgMTU0ODIsIDE1NDg3LCAxNTQ5NCwgCi0gICAgMTU0OTksIDE1NTAzLCAxNTUwOSwgMTU1MTQsIDE1NTIxLCAxNTUyNiwgMTU1MzIsIDE1NTM1LCAxNTU0MSwgMTU1NDcsIAotICAgIDE1NTUwLCAxNTU1NCwgMTU1NjYsIDE1NTcyLCAxNTU3NywgMTU1ODQsIDE1NTkwLCAxNTU5NiwgMTU2MDcsIDE1NjE3LCAKLSAgICAxNTYyNiwgMTU2MzQsIDE1NjQxLCAxNTY1MiwgMTU2NjIsIDE1NjcyLCAxNTY4MCwgMTU2ODMsIDE0MzU5LCAxNTY4OCwgCi0gICAgMTU2OTMsIDE0MzY0LCAxNDQ5OSwgMTU3MDEsIDE1NzE0LCAxNTcyOSwgMTU3NDAsIDE0NTE2LCAxNTc1OCwgMTU3NzEsIAotICAgIDE1Nzg0LCAxNTc5NSwgMTA0OTIsIDE1ODA2LCAxNTgxOSwgMTU4MzgsIDE1ODQ5LCAxNTg2MCwgMTU4NzEsIDI2NDksIAotICAgIDE1ODg0LCAxNTg4OCwgMTU4OTYsIDE1OTExLCAxNTkyNiwgMTU5MzcsIDE1OTQ0LCAxNTk1MCwgMTU5NTgsIDE1OTYyLCAKLSAgICAxNTk2OCwgMTU5NzEsIDE1OTgxLCAxNTk4OSwgMTU5OTYsIDE2MDA0LCAxNjAxNCwgMTYwMTksIDE2MDI2LCAxNjAzMSwgCi0gICAgMTYwMzgsIDE2MDQ5LCAxNjA1OSwgMTYwNjUsIDE2MDcwLCAxNjA3NSwgMTQzNjksIDE2MDc5LCAxNjA4NSwgMTYwOTEsIAotICAgIDE2MDk2LCAxNjEwMSwgMTYxMDYsIDE2MTEwLCAxNDM3NCwgMTQzODAsIDE2MTE0LCAxNDM4NiwgMTYxMTksIDE2MTI3LCAKLSAgICAxNjEzNiwgMTYxNDMsIDkxNTAsIDE2MTQ3LCAxNjE0OSwgMTYxNTQsIDE2MTU5LCAxNjE2NSwgMTYxNzAsIDE2MTc1LCAKLSAgICAxNjE4MCwgMTYxODUsIDE2MTg5LCAxNjE5NSwgMTYyMDEsIDE2MjA2LCAxNjIxMiwgMTYyMTcsIDE2MjIyLCAxNjIyOCwgCi0gICAgMTYyMzMsIDE2MjM4LCAxNjI0MywgMTYyNDgsIDE2MjU0LCAxNjI1OSwgMTYyNjQsIDE2MjcwLCAxNjI3NiwgMTYyODEsIAotICAgIDE2Mjg2LCAxNjI5MywgMTYyOTksIDE2MzEwLCAxNjMxNywgMTYzMjIsIDE2MzI2LCAxNjMzMCwgMTYzMzMsIDE2MzQxLCAKLSAgICAxNjM0NiwgMTYzNTMsIDE2MzYwLCAxNjM2NiwgMTYzNzEsIDE2Mzc2LCAxNjM4MywgMTYzOTMsIDE2Mzk4LCAxNjQwNSwgCi0gICAgMTY0MTEsIDE2NDIxLCAxNjQzMSwgMTY0NDUsIDE2NDU5LCAxNjQ3MywgMTY0ODcsIDE2NTAyLCAxNjUxNywgMTY1MzQsIAotICAgIDE2NTUyLCAxNjU2NSwgMTY1NzEsIDE2NTc2LCAxNjU4MSwgMTY1ODUsIDE2NTkwLCAxNjU5OCwgMTY2MDQsIDE2NjA5LCAKLSAgICAxNjYxNCwgMTY2MTgsIDE2NjIzLCAxNjYyNywgMTY2MzIsIDE2NjM2LCAxNjY0NywgMTY2NTMsIDE2NjU4LCAxNjY2MywgCi0gICAgMTY2NzAsIDE2Njc1LCAxNjY3OSwgMTY2ODQsIDE2Njg5LCAxNjY5NSwgMTY3MDIsIDE2NzA4LCAxNjcxMywgMTY3MTcsIAotICAgIDE2NzIzLCAxNjcyOCwgMTY3MzMsIDE2NzM3LCAxNjc0MywgMTY3NDgsIDE2NzUzLCAxNjc2MCwgMTY3NjUsIDEzMTExLCAKLSAgICAxNjc2OSwgMTY3NzQsIDE2Nzc4LCAxNjc4MywgMTY3ODksIDE2Nzk1LCAxNjgwMiwgMTY4MTIsIDE2ODIwLCAxNjgyNywgCi0gICAgMTY4MzIsIDE2ODM2LCAxNjg0NSwgMTY4NTMsIDE2ODYwLCAxNjg2NywgMTY4NzMsIDE2ODc5LCAxNjg4NCwgMTY4ODksIAotICAgIDE2ODk1LCAxNjkwMCwgMTY5MDYsIDE2OTExLCAxNjkxNywgMTY5MjMsIDE2OTMwLCAxNjkzNiwgMTY5NDEsIDE2OTQ2LCAKLSAgICA5MzQ4LCAxNjk1NSwgMTY5NTgsIDE2OTY0LCAxNjk2OSwgMTY5NzQsIDE2OTg0LCAxNjk5MSwgMTY5OTcsIDE3MDAyLCAKLSAgICAxNzAwNywgMTcwMTMsIDE3MDE4LCAxNzAyNCwgMTcwMjksIDE3MDM1LCAxNzA0MSwgMTcwNDYsIDE3MDU0LCAxNzA2MSwgCi0gICAgMTcwNjYsIDE3MDcxLCAxNzA3NywgMTcwODIsIDE3MDg2LCAxNzA5NSwgMTcxMDYsIDE3MTEzLCAxNzExOCwgMTcxMjYsIAotICAgIDE3MTMyLCAxNzEzOSwgMTcxNDUsIDE3MTUwLCAxNzE1NCwgMTcxNjAsIDE3MTY1LCAxNzE3MCwgMTcxNzUsIDE0NDAsIAotICAgIDc3NzcsIDI4NzcsIDE3MTc5LCAxNzE4MywgMTcxODcsIDE3MTkxLCAxNzE5NSwgMTcxOTksIDE3MjAyLCAxNzIwOSwgCi0gICAgMTcyMTcsIDE0NDAwLCAxNzIyNCwgMTcyMzQsIDE3MjQyLCAxNzI0OSwgMTcyNTcsIDE3MjY3LCAxNzI3NiwgMTcyODksIAotICAgIDE3Mjk0LCAxNzI5OSwgMTczMDcsIDE3MzE0LCAxMzIwNywgMTMyMTYsIDE3MzIxLCAxNzMzMSwgMTczNDYsIDE3MzUyLCAKLSAgICAxNzM1OSwgMTczNjYsIDE3MzcyLCAxNzM4MCwgMTczOTAsIDE3NDAwLCAxNDQwNSwgMTc0MDksIDE3NDE1LCAxNzQyMSwgCi0gICAgMTc0MjksIDE3NDM3LCAxNzQ0MiwgMTc0NTEsIDE3NDU5LCAxNzQ3MSwgMTc0ODEsIDE3NDkxLCAxNzUwMSwgMTc1MTAsIAotICAgIDE3NTIyLCAxNzUzMiwgMTc1NDIsIDE3NTUzLCAxNzU1OCwgMTc1NzAsIDE3NTgyLCAxNzU5NCwgMTc2MDYsIDE3NjE4LCAKLSAgICAxNzYzMCwgMTc2NDIsIDE3NjU0LCAxNzY2NiwgMTc2NzgsIDE3Njg5LCAxNzcwMSwgMTc3MTMsIDE3NzI1LCAxNzczNywgCi0gICAgMTc3NDksIDE3NzYxLCAxNzc3MywgMTc3ODUsIDE3Nzk3LCAxNzgwOSwgMTc4MjAsIDE3ODMyLCAxNzg0NCwgMTc4NTYsIAotICAgIDE3ODY4LCAxNzg4MCwgMTc4OTIsIDE3OTA0LCAxNzkxNiwgMTc5MjgsIDE3OTQwLCAxNzk1MSwgMTc5NjMsIDE3OTc1LCAKLSAgICAxNzk4NywgMTc5OTksIDE4MDExLCAxODAyMywgMTgwMzUsIDE4MDQ3LCAxODA1OSwgMTgwNzEsIDE4MDgyLCAxODA5NCwgCi0gICAgMTgxMDYsIDE4MTE4LCAxODEzMCwgMTgxNDIsIDE4MTU0LCAxODE2NiwgMTgxNzgsIDE4MTkwLCAxODIwMiwgMTgyMTMsIAotICAgIDE4MjI1LCAxODIzNywgMTgyNDksIDE4MjYxLCAxODI3MywgMTgyODUsIDE4Mjk3LCAxODMwOSwgMTgzMjEsIDE4MzMzLCAKLSAgICAxODM0NCwgMTgzNTYsIDE4MzY4LCAxODM4MCwgMTgzOTIsIDE4NDA0LCAxODQxNiwgMTg0MjgsIDE4NDQwLCAxODQ1MiwgCi0gICAgMTg0NjQsIDE4NDc1LCAxODQ4NywgMTg0OTksIDE4NTExLCAxODUyMywgMTg1MzYsIDE4NTQ5LCAxODU2MiwgMTg1NzUsIAotICAgIDE4NTg4LCAxODYwMSwgMTg2MTQsIDE4NjI2LCAxODYzOSwgMTg2NTIsIDE4NjY1LCAxODY3OCwgMTg2OTEsIDE4NzA0LCAKLSAgICAxODcxNywgMTg3MzAsIDE4NzQzLCAxODc1NiwgMTg3NjgsIDE4NzgxLCAxODc5NCwgMTg4MDcsIDE4ODIwLCAxODgzMywgCi0gICAgMTg4NDYsIDE4ODU5LCAxODg3MiwgMTg4ODUsIDE4ODk4LCAxODkxMCwgMTg5MjMsIDE4OTM2LCAxODk0OSwgMTg5NjIsIAotICAgIDE4OTc1LCAxODk4OCwgMTkwMDEsIDE5MDE0LCAxOTAyNywgMTkwNDAsIDE5MDUyLCAxOTA2NSwgMTkwNzgsIDE5MDkxLCAKLSAgICAxOTEwNCwgMTkxMTcsIDE5MTMwLCAxOTE0MywgMTkxNTYsIDE5MTY5LCAxOTE4MiwgMTkxOTQsIDE5MjA3LCAxOTIyMCwgCi0gICAgMTkyMzMsIDE5MjQ2LCAxOTI1OSwgMTkyNzIsIDE5Mjg1LCAxOTI5OCwgMTkzMTEsIDE5MzI0LCAxOTMzNiwgMTkzNDcsIAotICAgIDE5MzYwLCAxOTM3MywgMTkzODYsIDE5Mzk5LCAxOTQxMiwgMTk0MjUsIDE5NDM4LCAxOTQ1MSwgMTk0NjQsIDE5NDc3LCAKLSAgICAxOTQ4OSwgMTk1MDIsIDE5NTE1LCAxOTUyOCwgMTk1NDEsIDE5NTU0LCAxOTU2NywgMTk1ODAsIDE5NTkzLCAxOTYwNiwgCi0gICAgMTk2MTksIDE5NjMxLCAxOTY0NCwgMTk2NTcsIDE5NjcwLCAxOTY4MywgMTk2OTYsIDE5NzA5LCAxOTcyMiwgMTk3MzUsIAotICAgIDE5NzQ4LCAxOTc2MSwgMTk3NzMsIDE5Nzg2LCAxOTc5OSwgMTk4MTIsIDE5ODI1LCAxOTgzOCwgMTk4NTEsIDE5ODY0LCAKLSAgICAxOTg3NywgMTk4OTAsIDE5OTAzLCAxOTkxNSwgMTk5MjgsIDE5OTQxLCAxOTk1NCwgMTk5NjcsIDE5OTgwLCAxOTk5MywgCi0gICAgMjAwMDYsIDIwMDE5LCAyMDAzMiwgMjAwNDUsIDIwMDU3LCAyMDA3MCwgMjAwODMsIDIwMDk2LCAyMDEwOSwgMjAxMjIsIAotICAgIDIwMTM1LCAyMDE0OCwgMjAxNjEsIDIwMTc0LCAyMDE4NywgMjAxOTksIDIwMjEyLCAyMDIyNSwgMjAyMzgsIDIwMjUxLCAKLSAgICAyMDI2NCwgMjAyNzcsIDIwMjkwLCAyMDMwMywgMjAzMTYsIDIwMzI5LCAyMDM0MSwgMjAzNTQsIDIwMzY3LCAyMDM4MCwgCi0gICAgMjAzOTMsIDIwNDA2LCAyMDQxOSwgMjA0MzIsIDIwNDQ1LCAyMDQ1OCwgMjA0NzEsIDIwNDgzLCAyMDQ5NiwgMjA1MDksIAotICAgIDIwNTIyLCAyMDUzNSwgMjA1NDgsIDIwNTYxLCAyMDU3NCwgMjA1ODcsIDIwNjAwLCAyMDYxMywgMjA2MjUsIDIwNjM4LCAKLSAgICAyMDY1MSwgMjA2NjQsIDIwNjc3LCAyMDY5MCwgMjA3MDMsIDIwNzE2LCAyMDcyOSwgMjA3NDIsIDIwNzU1LCAyMDc2NywgCi0gICAgMjA3NzgsIDIwNzg2LCAyMDc5NCwgMjA4MDEsIDIwODA3LCAyMDgxMSwgMjA4MTcsIDIwODIzLCAyMDgzMSwgMjA4MzcsIAotICAgIDIwODQyLCAyMDg0NiwgMjA4NTUsIDkxNTUsIDIwODY2LCAyMDg3MywgMjA4ODEsIDIwODg4LCAyMDg5NSwgMTA5NDgsIAotICAgIDIwOTAyLCAyMDkxMSwgMjA5MTYsIDIwOTIxLCA3ODA1LCAyMDkyOCwgMjA5MzMsIDIwOTM2LCAyMDk0MSwgMjA5NDksIAotICAgIDIwOTU2LCAyMDk2MywgMjA5NzAsIDIwOTc2LCAyMDk4NSwgMjA5OTQsIDIxMDAwLCAyMTAwOSwgMjEwMTMsIDIxMDE5LCAKLSAgICAyMTAyNCwgMjEwMzQsIDIxMDQxLCAyMTA0NywgMjEwNTUsIDIxMDYxLCAyMTA2OCwgMjEwNzgsIDIxMDg3LCAyMTA5MSwgCi0gICAgMjEwOTgsIDIxMTAyLCAyMTEwNywgMjExMTMsIDIxMTIxLCAyMTEyNSwgMjExMzUsIDE0NDE1LCAyMTE0NCwgMjExNTAsIAotICAgIDIxMTU0LCAyMTE2MywgMTQ0MjAsIDIxMTY5LCAyMTE3NiwgMjExODcsIDIxMTk1LCAyMTIwNCwgMjEyMTIsIDg5MzEsIAotICAgIDIxMjIwLCAyMTIyNSwgMjEyMzEsIDIxMjM2LCAyMTI0MCwgMjEyNDQsIDIxMjQ4LCA5NjM5LCAyMTI1MywgMjEyNjEsIAotICAgIDIxMjY4LCAyMTI3NywgMjEyODQsIDIxMjkxLCAxMDg3OCwgMjEyOTgsIDIxMzA0LCAyMTMwOCwgMjEzMTQsIDIxMzIxLCAKLSAgICAyMTMyNywgMjEzMzUsIDIxMzQxLCAyMTM0OCwgMjEzNTQsIDIxMzYwLCAyMTM2OSwgMjEzNzMsIDIxMzgxLCAyMTM5MCwgCi0gICAgMjEzOTcsIDIxNDAyLCAyMTQwNiwgMjE0MTcsIDIxNDIyLCAyMTQyNywgMjE0MzIsIDIxNDQ1LCA3OTk1LCAyMTQ0OSwgCi0gICAgMjE0NTUsIDIxNDYzLCAyMTQ2NywgMjE0NzQsIDIxNDgzLCAyMTQ4OCwgMTQ2OTEsIDIxNDk2LCAyMTUwMCwgMjE1MTIsIAotICAgIDIxNTE3LCAyMTUyMSwgMjE1MjQsIDIxNTMwLCAyMTUzNiwgMjE1NDEsIDIxNTQ1LCAyMTU0OCwgMjE1NTksIDIxNTY0LCAKLSAgICA5MzgzLCAyMTU3MSwgMjE1NzYsIDkzODgsIDIxNTgxLCAyMTU4NiwgMjE1OTEsIDIxNTk2LCAyMTYwMSwgMjE2MDYsIAotICAgIDIxNjExLCAyMTYxNiwgMjE2MjEsIDIxNjI2LCAyMTYzMSwgMjE2MzYsIDIxNjQyLCAyMTY0NywgMjE2NTIsIDIxNjU3LCAKLSAgICAyMTY2MiwgMjE2NjcsIDIxNjcyLCAyMTY3NywgMjE2ODIsIDIxNjg3LCAyMTY5MywgMjE2OTksIDIxNzA0LCAyMTcwOSwgCi0gICAgMjE3MTQsIDIxNzE5LCAyMTcyNCwgMjE3MjksIDIxNzM0LCAyMTczOSwgMjE3NDQsIDIxNzUwLCAyMTc1NSwgMjE3NjAsIAotICAgIDIxNzY1LCAyMTc3MSwgMjE3NzcsIDIxNzgyLCAyMTc4NywgMjE3OTIsIDIxNzk3LCAyMTgwMiwgMjE4MDcsIDIxODEyLCAKLSAgICAyMTgxNywgMjE4MjMsIDIxODI4LCAyMTgzMywgMjE4MzgsIDIxODQzLCAyMTg0OSwgMjE4NTQsIDIxODU5LCAyMTg2MywgCi0gICAgMTM2OCwgMTI5LCAyMTg3MSwgMjE4NzUsIDIxODc5LCAyMTg4MywgMjE4ODgsIDIxODkyLCAxMzExNywgMTI0NzYsIDIxODk2LCAKLSAgICAyMTkwMSwgMjE5MDUsIDIxOTEwLCAyMTkxNCwgMjE5MTksIDIxOTIzLCAyMTkyOSwgMjE5MzQsIDIxOTM4LCAyMTk0MiwgCi0gICAgMjE5NTAsIDIxOTU0LCAyMTk1OCwgMjE5NjMsIDIxOTY4LCAyMTk3MiwgMjE5NzgsIDIxOTgzLCAyMTk4NywgMjE5OTIsIAotICAgIDIxOTk3LCAyMjAwMSwgMjIwMDgsIDIyMDE1LCAyMjAyMiwgMjIwMjYsIDIyMDMwLCAyMjAzNSwgMjIwMzksIDIyMDQyLCAKLSAgICAyMjA0OCwgMjIwNjEsIDIyMDY2LCAyMjA3NSwgMjIwODAsIDk0MjgsIDIyMDg1LCAyMjA4OCwgMjcxMiwgMjcxNywgMjIwOTIsIAotICAgIDIyMDk4LCAyMjEwNCwgNzIwOSwgMjIxMDksIDIyMTE0LCAyMjExOSwgMjIxMjUsIDIyMTMwLCAxMzkwOSwgMjIxMzUsIAotICAgIDIyMTQwLCAyMjE0NSwgMjIxNTAsIDIyMTU2LCAyMjE2MSwgMjIxNjYsIDIyMTcyLCAyMjE3NywgMjIxODEsIDIyMTg2LCAKLSAgICAyMjE5MSwgMjIxOTYsIDIyMjAxLCAyMjIwNSwgMjIyMTAsIDIyMjE0LCAyMjIxOSwgMjIyMjQsIDIyMjI5LCAyMjIzNCwgCi0gICAgMjIyMzgsIDIyMjQzLCAyMjI0NywgMjIyNTIsIDIyMjU3LCAyMjI2MiwgMjIyNjcsIDI4ODYsIDIyMTgyLCAyMjI3MSwgCi0gICAgMjIyNzksIDIyMjg2LCA5NzMzLCAyMjI5OCwgMjIzMDYsIDIyMTg3LCAyMjMxMywgMjIzMTgsIDIyMzI2LCAyMjE5MiwgCi0gICAgMjIzMzEsIDIyMzM2LCAyMjM0NCwgMjIzNDksIDIyMTk3LCAyMjM1NCwgMjIzNTksIDIyMzYzLCAyMjM2OSwgMjIzNzcsIAotICAgIDIyMzgwLCAyMjM4NywgMjIzOTEsIDIyMzk1LCAyMjQwMSwgMjI0MDgsIDIyNDEzLCA4OTU4LCAxNzI3LCAxNzMyLCAyMjQxNywgCi0gICAgMjI0MjMsIDIyNDI5LCAyMjQzNCwgMjI0MzgsIDIyNDQyLCAyMjQ0NiwgMjI0NTAsIDIyNDU0LCAyMjQ1OCwgMjI0NjIsIAotICAgIDIyNDY2LCAyMjQ2OSwgMjI0NzUsIDIyNDgyLCAyMjQ5MCwgMjI0OTYsIDIyNTAyLCAyMjUwNywgMjI1MTIsIDIyNTE2LCAKLSAgICAxMzgyOSwgMTM4MzYsIDIyNTIxLCAyMjUzMywgMjI1MzYsIDIyNTQzLCAxNjM2MiwgMjI1NTAsIDIyNTU4LCAyMjU2OSwgCi0gICAgMjI1NzgsIDIyNTkxLCAyMjYwMSwgMjI2MTUsIDIyNjI3LCAyMjY0MSwgMjI2NTMsIDIyNjYzLCAyMjY3NSwgMjI2ODEsIAotICAgIDIyNjk2LCAyMjcyMCwgMjI3MzgsIDIyNzU3LCAyMjc3MCwgMjI3ODQsIDIyODAyLCAyMjgxOCwgMjI4MzUsIDIyODUzLCAKLSAgICAyMjg2NCwgMjI4ODMsIDIyOTAwLCAyMjkyMCwgMjI5MzgsIDIyOTUwLCAyMjk2NCwgMjI5NzgsIDIyOTkwLCAyMzAwNywgCi0gICAgMjMwMjYsIDIzMDQ0LCAyMzA1NiwgMjMwNzQsIDIzMDkzLCAxNDU1OSwgMjMxMDYsIDIzMTI2LCAyMzEzOCwgMTA1MjMsIAotICAgIDIzMTUwLCAyMzE1NSwgMjMxNjAsIDIzMTY1LCAyMzE3MSwgMjMxNzYsIDIzMTgwLCAyMzE4NywgMjM5OCwgMjMxOTEsIAotICAgIDIzMTk3LCAyMzIwMSwgMjMyMDQsIDIzMjA4LCAyMzIxNiwgMjMyMjIsIDIyMjE1LCAyMzIyNiwgMjMyMzUsIDIzMjQ2LCAKLSAgICAyMzI1MiwgMjMyNTgsIDIzMjY3LCAyMzI3NSwgMjMyODIsIDIzMjg3LCAyMzI5MSwgMjMyOTgsIDIzMzA0LCAyMzMxMywgCi0gICAgMjMzMjEsIDIzMzI4LCAyMzMzOCwgMjMzNDcsIDIzMzU3LCAyMzM2MiwgMjMzNzEsIDIzMzgwLCAyMzM5MSwgMjM0MDIsIAotICAgIDM5NjMsIDIzNDEyLCAyMzQxNiwgMjM0MjYsIDIzNDM0LCAyMzQ0NCwgMjM0NTUsIDIzNDYwLCAyMzQ3MCwgMjM0NzgsIAotICAgIDIzNDg1LCAyMzQ5MSwgMjM0OTgsIDIzNTAzLCAyMjIyNSwgMjM1MDcsIDIzNTE2LCAyMzUyMCwgMjM1MjMsIDIzNTI4LCAKLSAgICAyMzUzNSwgMjM1NDQsIDIzNTUyLCAyMzU2MCwgMjM1NzAsIDIzNTc5LCAyMzU4NSwgMjM1OTEsIDIyMjMwLCAyMjIzNSwgCi0gICAgMjM1OTUsIDIzNjA1LCAyMzYxNSwgMjM2MjUsIDIzNjMzLCAyMzY0MCwgMjM2NTAsIDIzNjU4LCAyMzY2NiwgMjM2NzIsIAotICAgIDIzNjgwLCA5MzAsIDIzNjg5LCAxNDc1MCwgNTQyLCAyMzcwMywgMjM3MTIsIDIzNzIwLCAyMzczMSwgMjM3NDIsIDIzNzUyLCAKLSAgICAyMzc2MSwgMjM3NzMsIDIzNzgyLCAyMzc5MSwgMjM3OTcsIDIzODA2LCAyMzgxNSwgMjM4MjUsIDIzODMzLCAyMzg0MSwgCi0gICAgOTM2MCwgMjM4NDcsIDIzODUwLCAyMzg1NCwgMjM4NTksIDIzODY0LCA5ODQ4LCAyMjI0OCwgMjIyNTMsIDIzODcyLCAKLSAgICAyMzg3OCwgMjM4ODQsIDIzODg5LCAyMzg5NCwgMjM4OTgsIDIzOTA2LCAyMzkxMiwgMjM5MTgsIDIzOTIyLCAzNTI1LCAKLSAgICAyMzkzMCwgMjM5MzUsIDIzOTQwLCAyMzk0NCwgMjM5NDgsIDk5MjgsIDIzOTU1LCAyMzk2MywgMjM5NzcsIDIzOTg0LCAKLSAgICAyMzk5MCwgOTkzNywgOTk0MywgMjM5OTgsIDI0MDA2LCAyNDAxMywgMjQwMTgsIDI0MDIzLCAyMjI1OCwgMjQwMjksIAotICAgIDI0MDQwLCAyNDA0NCwgMjQwNDksIDI2MDEsIDI0MDU0LCAyNDA2NSwgMjQwNzEsIDI0MDc2LCAyNDA4MCwgMjQwODQsIAotICAgIDI0MDg3LCAyNDA5NCwgMjQxMDEsIDI0MTA4LCAyNDExNCwgMjQxMTgsIDIyMjYzLCAyNDEyMywgMjQxMjcsIDI0MTMxLCAKLSAgICAxMDM3LCAyNDEzNiwgMjQxNDEsIDI0MTQ2LCAyNDE1MSwgMjQxNTYsIDI0MTYxLCAyNDE2NiwgMjQxNzEsIDI0MTc2LCAKLSAgICAyNDE4MSwgMjQxODYsIDI0MTkxLCAyNDE5NiwgMjQyMDEsIDI0MjA3LCAyNDIxMiwgMjQyMTcsIDI0MjIyLCAyNDIyNywgCi0gICAgMjQyMzIsIDI0MjM3LCAyNDI0MywgMjQyNDgsIDI0MjUzLCAyNDI1OCwgMjQyNjMsIDI0MjY4LCAyNDI3MywgMjQyNzgsIAotICAgIDI0Mjg0LCAyNDI5MCwgMjQyOTUsIDI0MzAxLCAyNDMwNiwgMjQzMTEsIDUsIDI0MzE3LCAyNDMyMSwgMjQzMjUsIDI0MzI5LCAKLSAgICAyNDMzNCwgMjQzMzgsIDI0MzQyLCAyNDM0NiwgMjQzNTAsIDI0MzU1LCAyNDM1OSwgMjQzNjQsIDI0MzY4LCAyNDM3MSwgCi0gICAgMjQzNzUsIDI0MzgwLCAyNDM4NCwgMjQzODksIDI0MzkzLCAyNDM5NywgMjQ0MDEsIDI0NDA2LCAyNDQxMCwgMjQ0MTQsIAotICAgIDI0NDI0LCAyNDQyOSwgMjQ0MzMsIDI0NDM3LCAyNDQ0MiwgMjQ0NDcsIDI0NDU2LCAyNDQ2MSwgMjQ0NjYsIDI0NDcwLCAKLSAgICAyNDQ3NCwgMjQ0ODcsIDI0NDk5LCAyNDUwOCwgMjQ1MTcsIDI0NTIzLCAyNDUyOCwgMjQ1MzIsIDI0NTM2LCAyNDU0NiwgCi0gICAgMjQ1NTUsIDI0NTYzLCAyNDU2OSwgMjQ1NzQsIDI0NTc4LCAyNDU4NSwgMjQ1OTUsIDI0NjA0LCAyNDYxMiwgMjQ2MjAsIAotICAgIDI0NjI3LCAyNDYzNSwgMjQ2NDQsIDI0NjUzLCAyNDY2MSwgMjQ2NjYsIDI0NjcwLCAyNDY3NCwgMjQ2NzcsIDI0Njc5LCAKLSAgICAyNDY4MywgMjQ2ODcsIDI0NjkyLCAyNDY5NywgMjQ3MDEsIDI0NzA1LCAyNDcwOCwgMjQ3MTIsIDI0NzE1LCAyNDcxOSwgCi0gICAgMjQ3MjIsIDI0NzI1LCAyNDcyOSwgMjQ3MzUsIDI0NzM5LCAyNDc0MywgMjQ3NDcsIDI0NzUyLCAyNDc1NywgMjQ3NjIsIAotICAgIDI0NzY2LCAyNDc2OSwgMjQ3NzQsIDI0NzgwLCAyNDc4NSwgMjQ3OTEsIDI0Nzk2LCAyNDgwMCwgMjQ4MDQsIDI0ODA4LCAKLSAgICAyNDgxMywgMjQ4MTcsIDI0ODIyLCAyNDgyNiwgMjQ4MzAsIDI0ODM3LCAyNDg0MSwgMjQ4NDQsIDI0ODQ4LCAyNDg1NCwgCi0gICAgMjQ4NjAsIDI0ODY0LCAyNDg2OCwgMjQ4NzMsIDI0ODgwLCAyNDg4NiwgMjQ4OTAsIDI0ODk5LCAyNDkwMywgMjQ5MDcsIAotICAgIDI0OTEwLCAyNDkxNiwgMjQ5MjEsIDI0OTI3LCAxNDg5LCAxNzkxLCAyNDkzMiwgMjQ5MzcsIDI0OTQyLCAyNDk0NywgCi0gICAgMjQ5NTIsIDI0OTU3LCAyNDk2MiwgMjE0OCwgMjE5NCwgMjQ5NjcsIDI0OTcwLCAyNDk3NCwgMjQ5NzgsIDI0OTgzLCAKLSAgICAyNDk4NywgMjQ5OTEsIDI0OTk0LCAyNDk5OSwgMjUwMDQsIDI1MDA4LCAyNTAxMSwgMjUwMTYsIDI1MDIwLCAyNTAyNSwgCi0gICAgMjUwMjksIDE0NzYyLCAyNTAzNCwgMjUwMzcsIDI1MDQwLCAyNTA0NCwgMjUwNDksIDI1MDUzLCAyNTA2NiwgMjUwNzAsIAotICAgIDI1MDczLCAyNTA4MSwgMjUwOTAsIDI1MDk3LCAyNTEwMiwgMjUxMDgsIDI1MTE0LCAyNTEyMiwgMjUxMjksIDI1MTM2LCAKLSAgICAyNTE0MCwgMjUxNDQsIDI1MTQ4LCAyNTE1MywgMjUxNTgsIDI1MTYyLCAyNTE3MCwgMjUxNzUsIDI1MTg3LCAyNTE5OCwgCi0gICAgMjUyMDMsIDI1MjA3LCAyNTIxMSwgMjUyMTcsIDI1MjIyLCAyNTIyNywgMjUyMzEsIDI1MjM1LCAyNTIzOCwgMjUyNDQsIAotICAgIDc5MTUsIDIzMTYsIDI1MjQ4LCAyNTI1MywgMjUyNjksIDk0NzUsIDI1Mjg5LCAyNTI5OCwgMjUzMTQsIDI1MzE4LCAyNTMyMSwgCi0gICAgMjUzMjcsIDI1MzM3LCAyNTM0MywgMjUzNTIsIDI1MzY3LCAyNTM3OSwgMjUzOTAsIDI1Mzk4LCAyNTQwNywgMjU0MTMsIAotICAgIDI1NDIyLCAyNTQzMiwgMjU0NDMsIDI1NDU0LCAyNTQ2MywgMjU0NzAsIDI1NDc5LCAyNTQ4NywgMjU0OTQsIDI1NTAyLCAKLSAgICAyNTUwOSwgMjU1MTYsIDI1NTI5LCAyNTUzNiwgMjU1NDIsIDI1NTQ3LCAyNTU1NiwgMjU1NjIsIDI1NTY3LCAyNTU3NSwgCi0gICAgMjU1ODIsIDIzNDM2LCAyNTU5NCwgMjU2MDYsIDI1NjIwLCAyNTYyOCwgMjU2MzUsIDI1NjQ3LCAyNTY1NiwgMjU2NjUsIAotICAgIDI1NjczLCAyNTY4MSwgMjU2ODksIDI1Njk2LCAyNTcwNSwgMjU3MTMsIDI1NzIzLCAyNTczMiwgMjU3NDIsIDI1NzUxLCAKLSAgICAyNTc2MCwgMjU3NjgsIDI1NzczLCAyNTc3NywgMjU3ODAsIDI1Nzg0LCAyNTc4OCwgMjU3OTIsIDI1Nzk2LCAyNTgwMCwgCi0gICAgMjU4MDYsIDI1ODEyLCAyNTgyMCwgMTQ4MDcsIDI1ODI3LCAyNTgzMiwgMjU4MzksIDI1ODQ1LCAyNTg1MiwgMTQ4MTUsIAotICAgIDI1ODU5LCAyNTg2MiwgMjU4NzQsIDI1ODgyLCAyNTg4OCwgMjU4OTMsIDI1ODk3LCA5ODc4LCAyNTkwOCwgMjU5MTgsIAotICAgIDI1OTI3LCAyNTkzNCwgMjU5MzgsIDE0ODIwLCAyNTk0MSwgMjU5NDgsIDI1OTUyLCAyNTk1OCwgMjU5NjEsIDI1OTY4LCAKLSAgICAyNTk3NCwgMjU5ODEsIDI1OTg3LCAyNTk5MSwgMjU5OTYsIDI2MDAwLCAyNjAwOSwgMjYwMTYsIDI2MDIyLCA3OTU2LCAKLSAgICAyNjAyOSwgMjYwMzcsIDI2MDQ0LCAyNjA1MCwgMjYwNTUsIDI2MDYxLCAyNjA2NywgMjYwNzUsIDI2MDc5LCAyNjA4MiwgCi0gICAgMjYwODQsIDI1Nzg1LCAyNjA5MywgMjYwOTksIDI2MTA5LCAyNjExNCwgMjYxMjEsIDI2MTI3LCAyNjEzMiwgMjYxMzcsIAotICAgIDI2MTQyLCAyNjE0NiwgMjYxNTEsIDI2MTU4LCAyNjE2NywgMjYxNzEsIDI2MTc4LCAyNjE4NywgMjYxOTMsIDI2MTk4LCAKLSAgICAyNjIwNCwgMjYyMDksIDI2MjE2LCAyNjIyNywgMjYyMzIsIDI2MjM2LCAyNjI0NiwgMjYyNTIsIDI2MjU2LCAyNjI2MSwgCi0gICAgMjYyNzEsIDI2MjgwLCAyNjI4NCwgMjYyOTEsIDI2Mjk5LCAyNjMwNiwgMjYzMTIsIDI2MzE3LCAyNjMyNSwgMjYzMzIsIAotICAgIDI2MzQ0LCAyNjM1MywgMjYzNTcsIDEzMDUzLCAyNjM2NSwgMjYzNzUsIDI2Mzc5LCAyNTA3NywgMjYzOTAsIDI2Mzk1LCAKLSAgICAyNjM5OSwgMjY0MDYsIDI2NDEzLCAyMTk3NCwgMjU3MTAsIDI2NDE4LCAyNjQyMiwgMjY0MjUsIDIyODcwLCAyNjQzMCwgCi0gICAgMjY0NDQsIDI2NDYwLCAyNjQ3OCwgMjY0OTcsIDI2NTE0LCAyNjUzMiwgMjI4ODksIDI2NTQ5LCAyNjU2OSwgMjI5MDYsIAotICAgIDI2NTgxLCAyNjU5MywgMTU3NDUsIDI2NjA1LCAyMjkyNiwgMjY2MTksIDI2NjMxLCAxMDUzNiwgMjY2NDUsIDI2NjUwLCAKLSAgICAyNjY1NSwgMjY2NjAsIDI2NjY2LCAyNjY3MiwgMjY2NzgsIDI2NjgyLCAyNjY4OSwgMjY2OTQsIDI2NzA0LCAyNjcxMCwgCi0gICAgMTAxODMsIDI2NzE2LCAyNjcxOCwgMjY3MjMsIDI2NzMxLCAyNjczNSwgMjYxNTQsIDI2NzQxLCAyNjc0OCwgMTE1MjQsIAotICAgIDExNTM0LCAyNjc1NSwgMjY3NjUsIDI2NzcwLCAyNjc3NCwgMjY3NzcsIDI2NzgzLCAyNjc5MSwgMjY4MDMsIDI2ODEzLCAKLSAgICAyNjgyOSwgMjY4NDIsIDI2ODU2LCAxNTc2MywgMjY4NzAsIDI2ODc3LCAyNjg4MSwgMjY4ODQsIDI2ODg5LCAyNjg5MywgCi0gICAgMjY5MDAsIDI2OTA3LCAyNjkxNywgMjY5MjIsIDI2OTI3LCAyNjkzMiwgMjY5NDAsIDI2OTQ4LCAyNjk1NywgMjY5NjIsIAotICAgIDk1NzIsIDI2OTY2LCAyNjk2OSwgMjY5NzIsIDI2OTc3LCAyNjk4NCwgMjY5ODksIDI3MDA1LCAyNzAxMywgMjcwMjEsIAotICAgIDk0MjMsIDI3MDI5LCAyNzAzNCwgMjcwMzgsIDI3MDQ0LCAyNzA1MCwgMjcwNTMsIDI3MDU5LCAyNzA3MSwgMjcwNzksIAotICAgIDI3MDg2LCAyNzA5MiwgMjcwOTksIDI3MTEwLCAyNzEyNCwgMjcxMzcsIDI3MTQ2LCAyNzE1NSwgMjcxNjcsIDI3MTc4LCAKLSAgICAyNzE4OCwgMjcxOTcsIDI3MjA2LCAyNzIxNCwgMjcyMjUsIDc5MzgsIDI3MjMyLCAyNzIzOCwgMjcyNDMsIDI3MjQ5LCAKLSAgICAyNzI1NiwgMjcyNjYsIDI3Mjc2LCAyNzI4NSwgMjcyOTEsIDI3Mjk4LCAyNzMwMywgMjczMTAsIDI3MzE4LCAyNzMyNiwgCi0gICAgMjczMzgsIDYyNDYsIDI3MzQ1LCAyNzM1NCwgMjczNjIsIDI3MzY4LCAyNzM3NCwgMjczNzksIDI3MzgzLCAyNzM4NiwgCi0gICAgMjczOTIsIDI3Mzk5LCAyNzQwNCwgMjc0MDksIDI3NDEzLCAyNzQyNSwgMjc0MzYsIDI3NDQ1LCAyNzQ1MywgMTQ5NDcsIAotICAgIDI3NDU4LCAyNzQ2NCwgMjc0NzAsIDExNTE3LCA4NjM1LCAyNzQ3NSwgMjc0NzksIDI3NDgzLCAyNzQ4NiwgMjc0ODksIAotICAgIDI3NDk1LCAyNzUwMywgMjc1MTEsIDI3NTE1LCAyNzUxOSwgMjc1MjQsIDI3NTI3LCAyNzUzNiwgMjc1NDAsIDI3NTQ4LCAKLSAgICAyNzU1OSwgMjc1NjMsIDI3NTY5LCAyNzU3NSwgMjc1NzksIDI3NTg1LCAyNzU5MywgMjc2MTUsIDI3NjM5LCAyNzY0NiwgCi0gICAgMjc2NTMsIDI3NjU5LCAyNzY2NywgMjc2NzMsIDI3Njc4LCAyNzY4OSwgMjc3MDcsIDI3NzE0LCAyNzcyMiwgMjc3MjYsIAotICAgIDI3NzM1LCAyNzc0OCwgMjc3NTYsIDI3NzY4LCAyNzc3OSwgMjc3ODksIDI3ODAzLCAyNzgxMiwgMjc4MjAsIDI3ODMyLCAKLSAgICA5NDkyLCAyNzg0MywgMjc4NTQsIDI3ODY2LCAyNzg3NiwgMjc4ODUsIDI3ODkwLCAyNzg5NCwgMjc5MDIsIDI3OTEyLCAKLSAgICAyNzkxNywgMjc5MjEsIDI3OTI0LCAyNzkyNywgMjc5MzUsIDI3OTQzLCAyNzk1MiwgMjc5NjIsIDI3OTcxLCAyNzk3NywgCi0gICAgMjc5OTEsIDI2NjMsIDI4MDEzLCAyODAyNCwgMjgwMzMsIDI4MDQzLCAyODA1NSwgMjgwNjQsIDI4MDczLCAyODA4MywgCi0gICAgMjgwOTEsIDI4MDk5LCAyODEwOCwgMjgxMTMsIDI4MTI0LCAyODEyOSwgMjgxNDAsIDI4MTQ0LCAyODE1NCwgMjgxNjMsIAotICAgIDI4MTcxLCAyODE4MSwgMjgxOTEsIDI4MTk5LCAyODIwOCwgMjgyMTUsIDI4MjIzLCAyODIzMCwgMjgyMzksIDI4MjQzLCAKLSAgICAyODI1MSwgMjgyNTgsIDI4MjY2LCAyODI3MywgMjgyODQsIDI4Mjk5LCAyODMwNiwgMjgzMTIsIDI4MzIyLCAyODMzMSwgCi0gICAgMjgzMzcsIDI4MzQxLCAyODM0OCwgMjgzNTIsIDE0MDMxLCAyODM1OCwgMjgzNjIsIDI4MzY3LCAyODM3NCwgMjgzNzgsIAotICAgIDI4MzgyLCAyODM5MCwgMjgzOTgsIDI4NDA0LCAyODQxMywgMjg0MjAsIDI4NDI1LCAyODQzMCwgMjg0NDAsIDIzNTA1LCAKLSAgICAyODQ0NCwgMjg0NDcsIDI4NDUyLCAyODQ1NywgMjg0NjIsIDI4NDY3LCAyODQ3MiwgMjg0NzcsIDI4NDgyLCAyODQ4NywgCi0gICAgMjg0OTMsIDI4NDk4LCAyODUwMywgMjg1MDksIDEyMTgsIDcwNCwgMjg1MTQsIDI4NTIzLCAyMzY0LCAyODUzMCwgMjg1MzUsIAotICAgIDI4NTM5LCAyODU0NSwgMTI2NywgNTQ2LCAzMTgsIDI4NTUwLCAyODU1OSwgMjg1NjcsIDI4NTc2LCAyODU4NCwgMjg1OTUsIAotICAgIDI4NjA0LCAyODYxMiwgMjg2MTYsIDI4NjE5LCAyODYyNywgMjg2MzUsIDI4NjQwLCAxNDc3NSwgMjg2NDYsIDI4NjUyLCAKLSAgICAyODY1OCwgNTg3MiwgMjg2NjMsIDI4NjY3LCAyODY3MywgMjg2NzcsIDI4Njg0LCAxNDU1LCAyODY5MCwgMjg2OTcsIDk1NzksIAotICAgIDI4NzAxLCAyODcxMSwgMjg3MTksIDI4NzI1LCAyODczNCwgMjg3NDIsIDI4NzQ4LCAyODc1NiwgMjg3NjMsIDExMTEwLCAKLSAgICAyODc2OSwgMjg3NzYsIDI4NzgxLCAyODc4OCwgMTQ5NiwgMjE0NywgMjg3OTQsIDI4ODAwLCAyODgwNywgMjg4MTgsIAotICAgIDI4ODI5LCAyODgzNywgMjg4NDQsIDI4ODU0LCAyODg2MywgMjg4NzEsIDI4ODgwLCAyODg4NywgMjg4OTQsIDI4OTA3LCAKLSAgICAyODkxOCwgMTI3MiwgMjg5MzcsIDI4OTQyLCAyODk1MCwgMzU3NSwgMjg5NTQsIDI4OTU5LCAyODk2MywgMTQ1OSwgMjQ3MDYsIAotICAgIDI4OTczLCAyODk3NywgMjg5ODIsIDI4OTg2LCAzNDkzLCAyODk5MiwgMjkwMDAsIDI5MDA3LCAyOTAxOCwgMjkwMjYsIAotICAgIDI5MDM0LCAzNTc2LCAyNzksIDI5MDM5LCAyOTA0NywgMjkwNTUsIDI5MDYyLCAyOTA2OCwgMjkwNzMsIDIyMTYsIDI5MDgwLCAKLSAgICAyOTA4NiwgMjU5OTIsIDI2MjIyLCAyOTA5MiwgMTA2LCAyOTA5NiwgMjkxMDAsIDI5MTA2LCA2MTUsIDkzMjgsIDI5MTExLCAKLSAgICAyOTExOCwgMjkxMjQsIDIzMjcsIDI5MTI4LCAyOTEzMiwgMTUxODcsIDI5MTM1LCAyOTE0MCwgMjkxNDcsIDI5MTUzLCAKLSAgICAyOTE1OCwgMjkxNjYsIDI5MTczLCAyOTE3OSwgMjIzNTEsIDI5MTgzLCAyOTE4NywgMzY0NiwgMTY2MjUsIDI5MTkxLCAKLSAgICAyOTE5NiwgMjkxOTksIDI5MjA3LCAyOTIxNSwgMjkyMjAsIDI5MjIzLCAyOTIzMCwgMjkyNDAsIDI5MjUyLCAyOTI1NywgCi0gICAgMjkyNjEsIDI5MjY5LCAyOTI3NiwgMjkyODIsIDI5Mjg5LCAyOTI5NiwgMjkyOTksIDI5MzAzLCAyOTMwNywgMTQ2MywgCi0gICAgMjkzMTcsIDI5MzE5LCAyOTMyNCwgMjkzMzAsIDI5MzM2LCAyOTM0MSwgMjkzNDYsIDI5MzUxLCAyOTM1NiwgMjkzNjEsIAotICAgIDI5MzY2LCAyOTM3MSwgMjkzNzYsIDI5MzgxLCAyOTM4NiwgMjkzOTEsIDI5Mzk2LCAyOTQwMSwgMjk0MDYsIDI5NDEyLCAKLSAgICAyOTQxOCwgMjk0MjQsIDI5NDMwLCAyOTQzNSwgMjk0NDAsIDI5NDQ1LCAyOTQ1MSwgMjk0NTYsIDI5NDYxLCAyOTQ2NiwgCi0gICAgMjk0NzIsIDI5NDc3LCAyOTQ4MywgMjk0ODgsIDI5NDkzLCAyOTQ5OCwgMjk1MDMsIDI5NTA5LCAyOTUxNCwgMjk1MjAsIAotICAgIDI5NTI1LCAyOTUzMCwgMjk1MzUsIDI5NTQwLCAyOTU0NiwgMjk1NTEsIDI5NTU3LCAyOTU2MiwgMjk1NjcsIDI5NTcyLCAKLSAgICAyOTU3NywgMjk1ODIsIDI5NTg3LCAyOTU5MiwgMjk1OTcsIDI5NjAyLCAyOTYwOCwgMjk2MTQsIDI5NjIwLCAyOTYyNSwgCi0gICAgMjk2MzAsIDI5NjM1LCAyOTY0MCwgMjk2NDYsIDI5NjUyLCAyOTY1OCwgMjk2NjQsIDI5NjcwLCAyOTY3NiwgMjk2ODEsIAotICAgIDI5Njg3LCAyOTY5MiwgMjk2OTcsIDI5NzAyLCAyOTcwNywgMjk3MTMsIDI0NDMsIDI5NzE4LCAyNDUwLCAyNDU3LCAyNzU0LCAKLSAgICAyOTcyMywgMjQ2MywgMjQ3MywgMjk3MjksIDI5NzMzLCAyOTczOCwgMjk3NDMsIDI5NzQ5LCAyOTc1NCwgMjk3NTksIAotICAgIDI5NzYzLCAyOTc2OCwgMjk3NzQsIDI5Nzc5LCAyOTc4NCwgMjk3ODksIDI5Nzk1LCAyOTgwMCwgMjk4MDQsIDI5ODA4LCAKLSAgICAyOTgxMywgMjk4MTgsIDI5ODIzLCAyOTgyOCwgMjk4MzMsIDI5ODM5LCAyOTg0NSwgMjk4NTAsIDI5ODU0LCAyOTg1OSwgCi0gICAgMjk4NjUsIDI5ODY5LCAyOTg3NCwgMjk4NzksIDI5ODg0LCAyOTg4OSwgMjk4OTMsIDI5ODk2LCAyOTkwMSwgMjk5MDYsIAotICAgIDI5OTExLCAyOTkxNiwgMjk5MjEsIDI5OTI3LCAyOTkzMywgMjk5MzgsIDI5OTQzLCAyOTk0NywgMjk5NTIsIDI5OTU3LCAKLSAgICAyOTk2MiwgMjk5NjcsIDI5OTcyLCAyOTk3NiwgMjk5ODEsIDI5OTg2LCAyOTk5MSwgMjk5OTUsIDI5OTk5LCAzMDAwMywgCi0gICAgMzAwMDgsIDMwMDE2LCAzMDAyMSwgMzAwMjcsIDMwMDMzLCAzMDAzOSwgMzAwNDQsIDMwMDQ4LCAzMDA1MSwgMzAwNTYsIAotICAgIDMwMDYxLCAzMDA2NSwgMzAwNzAsIDMwMDc0LCAzMDA3OSwgMzAwODMsIDMwMDg2LCAzMDA5MSwgMTczMDIsIDMwMDk2LCAKLSAgICAzMDEwMSwgMzAxMDYsIDMwMTE0LCAyMTI4MCwgMjg2OTQsIDkwMjYsIDMwMTE5LCAzMDEyNCwgMzAxMjgsIDMwMTMzLCAKLSAgICAzMDEzNywgMzAxNDEsIDMwMTQ2LCAzMDE1MCwgMzAxNTMsIDMwMTU2LCAzMDE2MCwgMzAxNjUsIDMwMTY5LCAzMDE3NywgCi0gICAgMzAxODEsIDMwMTg0LCAzMDE4OSwgMzAxOTMsIDMwMTk3LCAzMDIwMiwgMzAyMDcsIDMwMjExLCAzMDIxNywgMzAyMjIsIAotICAgIDMwMjI3LCAzMDIzNCwgMzAyNDEsIDMwMjQ1LCAzMDI0OCwgMzAyNTQsIDMwMjYzLCAzMDI3MCwgMzAyNzgsIDMwMjg1LCAKLSAgICAzMDI4OSwgMzAyOTQsIDMwMjk4LCAzMDMwMiwgMzAzMDgsIDMwMzE0LCAzMDMxOCwgMzAzMjQsIDMwMzI5LCAzMDMzNCwgCi0gICAgMzAzMzgsIDMwMzQ1LCAzMDM1MSwgMzAzNTcsIDMwMzYzLCAzMDM2OSwgMzAzNzYsIDMwMzgyLCAzMDM4OCwgMzAzOTQsIAotICAgIDMwNDAwLCAzMDQwNiwgMzA0MTIsIDMwNDE4LCAzMDQyNSwgMzA0MzEsIDMwNDM4LCAzMDQ0NCwgMzA0NTAsIDMwNDU2LCAKLSAgICAzMDQ2MiwgMzA0NjgsIDMwNDc0LCAzMDQ4MCwgMzA0ODYsIDMwNDkyLCAxMTQxOCwgMzA0OTgsIDMwNTAzLCAzMDUwOCwgCi0gICAgMzA1MTEsIDMwNTE5LCAzMDUyNCwgMzA1MzMsIDMwNTM5LCAzMDU0NCwgMzA1NDksIDMwNTU0LCAzMDU1OCwgMzA1NjMsIAotICAgIDMwNTY4LCAzMDU3MywgMzA1NzgsIDMwNTgzLCAzMDU5MCwgMzA1OTcsIDMwNjAzLCAzMDYwOSwgMzA2MTQsIDE2MzAzLCAKLSAgICAzMDYyMSwgMzA2MjcsIDMwNjM0LCAzMDY0MCwgMzA2NDYsIDMwNjUxLCAzMDY1OSwgMzA2NjQsIDE2MDgyLCAzMDY2OCwgCi0gICAgMzA2NzMsIDMwNjc4LCAzMDY4NCwgMzA2ODksIDMwNjk0LCAzMDY5OCwgMzA3MDMsIDMwNzA4LCAzMDcxNCwgMzA3MTksIAotICAgIDMwNzI0LCAzMDcyOCwgMzA3MzMsIDMwNzM4LCAzMDc0MiwgMzA3NDcsIDMwNzUyLCAzMDc1NywgMzA3NjEsIDMwNzY2LCAKLSAgICAzMDc3MSwgMzA3NzYsIDMwNzgwLCAzMDc4NCwgMTUyOTMsIDMwNzg4LCAzMDc5NywgMzA4MDMsIDMwODA5LCAzMDgxOCwgCi0gICAgMzA4MjYsIDMwODM1LCAzMDg0MywgMzA4NDgsIDMwODUyLCAzMDg1OSwgMzA4NjUsIDMwODY5LCAzMDg3MiwgMzA4NzcsIAotICAgIDMwODg2LCAzMDg5NCwgMzA4OTksIDE0OTUsIDMwOTA1LCAzMDkwOCwgMzA5MTIsIDIyNDI0LCAyMjQzMCwgMzA5MTgsIAotICAgIDMwOTIyLCAzMDkzMywgMzA5NDQsIDMwOTU1LCAzMDk2NywgMzA5NzQsIDMwOTgxLCAzMDk4NiwgMzA5OTAsIDU5MDksIDc1NSwgCi0gICAgMjEyNzksIDMwOTk4LCAzMTAwMywgMzEwMDcsIDMxMDEyLCAzMTAxNiwgMzEwMjIsIDMxMDI3LCAzMTAzMywgMzEwMzgsIAotICAgIDMxMDQ0LCAzMTA0OSwgMzEwNTUsIDMxMDYwLCAzMTA2NiwgMzEwNzIsIDMxMDc4LCAzMTA4MywgMzEwMzksIDMxMDQ1LCAKLSAgICAzMTA4NywgMzEwOTIsIDMxMDk4LCAzMTEwMywgMzExMDksIDMxMTE0LCAzMTEyMCwgMzExMjUsIDMxMDUwLCAxMDQyMSwgCi0gICAgMzExMjksIDMxMDYxLCAzMTA2NywgMzEwNzMsIDI4MzEsIDM0MjMsIDMxMTM1LCAzMTEzOCwgMzExNDQsIDMxMTUwLCAKLSAgICAzMTE1NiwgMzExNjMsIDMxMTY5LCAzMTE3NSwgMzExODEsIDMxMTg3LCAzMTE5MywgMzExOTksIDMxMjA1LCAzMTIxMSwgCi0gICAgMzEyMTcsIDMxMjIzLCAzMTIyOSwgMzEyMzUsIDMxMjQyLCAzMTI0OCwgMzEyNTQsIDMxMjYwLCAzMTI2NiwgMzEyNzIsIAotICAgIDMxMjc1LCAzMTI4MCwgMzEyODMsIDMxMjkwLCAzMTI5OCwgMzEzMDMsIDMxMzA4LCAzMTMxNCwgMzEzMTksIDMxMzI0LCAKLSAgICAzMTMyOCwgMzEzMzMsIDMxMzM5LCAzMTM0NCwgMzEzNTAsIDMxMzU1LCAzMTM2MSwgMzEzNjYsIDMxMzcyLCAzMTM3OCwgCi0gICAgMzEzODIsIDMxMzg3LCAzMTM5MiwgMzEzOTcsIDMxNDAyLCAzMTQwNiwgMzE0MTEsIDMxNDE2LCAzMTQyMSwgMzE0MjcsIAotICAgIDMxNDMzLCAzMTQzOSwgMzE0NDUsIDMxNDUwLCAzMTQ1NCwgMzE0NTcsIDMxNDYzLCAzMTQ2OSwgMzE0NzgsIDMxNDg2LCAKLSAgICAzMTQ5MywgMzE0OTgsIDMxNTAyLCAzMTUwNiwgMzE1MTEsIDE1MTQ2LCAzMTUxNiwgMzE1MjQsIDMxNTMwLCAzNjgzLCAKLSAgICAxMzc3LCAzMTUzNSwgMzE1MzksIDgwMDUsIDMxNTQ1LCAzMTU1MSwgMzE1NTgsIDgwMTQsIDMxNTYyLCAzMTU2OCwgMzE1NzUsIAotICAgIDMxNTgxLCAzMTU5MCwgMzE1OTgsIDMxNjEwLCAzMTYxNCwgMzE2MjEsIDMxNjI3LCAzMTYzMSwgMzE2MzQsIDMxNjQzLCAKLSAgICAzMTY1MSwgMzEwNDAsIDMxNjU2LCAzMTY2NiwgMzE2NzYsIDMxNjg2LCAzMTY5MiwgMzE2OTcsIDMxNzA3LCAzMTcxMiwgCi0gICAgMzE3MjUsIDMxNzM5LCAzMTc1MCwgMzE3NjIsIDMxNzc0LCAzMTc4OCwgMzE4MDEsIDMxODEzLCAzMTgyNSwgMTQ2MDAsIAotICAgIDMxODM5LCAzMTg0NCwgMzE4NDksIDMxODUzLCAzMTg1NywgMzE4NjEsIDE3ODAsIDI3MTc2LCAzMTg2NSwgMzE4NzAsIAotICAgIDMxMDg4LCAzMTg3NSwgMzE4NzgsIDMxODgzLCAzMTg4OCwgMzE4OTMsIDMxODk5LCAzMTkwNSwgMTAwOTgsIDMxOTEwLCAKLSAgICAzMTkxNywgMTU2OTcsIDMxOTIzLCAzMTkyOCwgMzE5MzMsIDMxOTM3LCAzMTk0MiwgMzE5NDcsIDMxMDkzLCAzMTk1MiwgCi0gICAgMzE5NTcsIDMxOTYyLCAzMTk2OCwgMzEwOTksIDMxOTczLCAzMTk3NiwgMzE5ODMsIDMxOTkxLCAzMTk5NywgMzIwMDMsIAotICAgIDMyMDA5LCAzMjAyMCwgMzIwMjUsIDMyMDMyLCAzMjAzOSwgMzIwNDYsIDMyMDU0LCAzMjA2MywgMzIwNzIsIDMyMDc4LCAKLSAgICAzMjA4NCwgMzIwOTIsIDMxMTA0LCAzMjA5NywgMzIxMDMsIDMyMTA5LCAzMTExMCwgMzIxMTQsIDMyMTE5LCAzMjEyNywgCi0gICAgMzIxMzUsIDMyMTQxLCAzMjE0OCwgMzIxNTQsIDMyMTYxLCAzMjE2OCwgMzIxNzQsIDMyMTgyLCAzMjE5MiwgMzIxOTksIAotICAgIDMyMjA0LCAzMjIxMCwgMzIyMTUsIDMyMjIwLCAzMjIyNywgMzIyMzYsIDMyMjQ0LCAzMjI0OSwgMzIyNTUsIDMyMjYyLCAKLSAgICAzMjI3MCwgMzIyNzYsIDMyMjgxLCAzMjI4NywgMzIyOTYsIDI3OTU3LCAzMjMwMywgMzIzMDcsIDMyMzEyLCAzMjMyMSwgCi0gICAgMzIzMjYsIDMyMzMxLCAzMjMzNiwgMTI0MDUsIDMyMzQ0LCAzMjM0OSwgMzIzNTQsIDMyMzU5LCAzMjM2MywgMzIzNjgsIAotICAgIDMyMzczLCAzMjM4MCwgMzIzODUsIDMyMzkwLCAzMjM5NSwgMzExMTUsIDIxMjE2LCAzMjQwMSwgMjUxOSwgMjQ0LCAzMjQwNCwgCi0gICAgMzI0MDcsIDMyNDExLCAzMjQxNSwgMzI0MjUsIDMyNDMzLCAzMjQzNywgMzI0NDQsIDMyNDUxLCAzMjQ1NSwgMzI0NTgsIAotICAgIDMyNDY0LCAzMjQ3MiwgMzI0ODAsIDMyNDg0LCAzMjQ4OCwgMzI0OTEsIDMyNDk4LCAzMjUwMiwgMzI1MDYsIDMyNTEzLCAKLSAgICAzMjUyMSwgMzEwNTEsIDMyNTI4LCAzMjUzNiwgMTAxNTgsIDY2NCwgMzA4LCAzMjU0OCwgMzI1NTMsIDMyNTU4LCAzMjU2NCwgCi0gICAgMzI1NjksIDMyNTc0LCAzNzA0LCAzMjU3OSwgMzI1ODIsIDMyNTg3LCAzMjU5MiwgMzI1OTcsIDMyNjAyLCAzMjYwNywgCi0gICAgMzI2MTQsIDIyNTI5LCAzMjYxOSwgMzI2MjQsIDMyNjI5LCAzMjYzNCwgMzI2MzksIDMyNjQ1LCAzMjY1MCwgMzI2NTYsIAotICAgIDMxMjg2LCAzMjY2MiwgMzI2NjcsIDMyNjczLCAzMjY3OSwgMzI2ODksIDMyNjk0LCAzMjY5OSwgMzI3MDMsIDMyNzA4LCAKLSAgICAzMjcxMywgMzI3MTgsIDMyNzIzLCAzMjczNiwgMzI3NDEsIDIyMzAyLCAxNjcwNSwgMzcxMCwgMzI3NDUsIDMyNzUwLCAKLSAgICAzMjc1NSwgMzI3NjEsIDMyNzY2LCAzMjc3MSwgMzI3NzUsIDMyNzgwLCAzMjc4NSwgMzI3OTEsIDMyNzk2LCAzMjgwMSwgCi0gICAgMTM4MiwgMzI4MDUsIDMyODEwLCAzMjgxNSwgMzI4MjAsIDMyODI0LCAzMjgyOSwgMzI4MzQsIDMyODM5LCAzMjg0NSwgCi0gICAgMzI4NTEsIDMyODU2LCAzMjg2MCwgMzI4NjQsIDMyODY5LCAzMjg3NCwgMzI4NzksIDMyODgzLCAzMjg5MSwgMzI4OTUsIAotICAgIDMyOTAxLCAzMjkwNSwgMzI5MTIsIDE2NDk4LCAzMTA2MiwgMzI5MTgsIDMyOTI1LCAzMjkzMywgMzI5NDAsIDMyOTQ2LCAKLSAgICAzMjk1OSwgMzI5NzEsIDMyOTc3LCAzMjk4MSwgMjc3MywgMzI5ODUsIDMyOTg5LCAzMjQ5MywgMzI5OTgsIDMzMDA5LCAKLSAgICAzMzAxNCwgMzMwMTksIDMzMDI0LCAzMzAyOCwgMzMwMzMsIDIyNDM1LCAzMzAzNywgMzMwNDEsIDMzMDQ2LCAzMTA2OCwgCi0gICAgMjEzMDAsIDMzMDUwLCAzMzA1NSwgMzMwNjEsIDMzMDY2LCAzMzA3MCwgMzMwNzQsIDMzMDc3LCAzMzA4MSwgMzMwODcsIAotICAgIDMzMDk4LCAzMzExMCwgMzEwNzQsIDMzMTE1LCAzMzExOCwgMzMxMjIsIDM0NywgMzMxMjcsIDMzMTMyLCAzMzEzNywgCi0gICAgMzMxNDIsIDMzMTQ3LCAzMzE1MiwgMzMxNTgsIDMzMTYzLCAzMzE2OCwgMzMxNzQsIDMzMTc5LCAzMzE4NSwgMzMxOTAsIAotICAgIDMzMTk2LCAzMzIwMSwgMzMyMDYsIDMzMjExLCAzMzIxNiwgMzMyMjEsIDMzMjI2LCAzMzIzMSwgMzMyMzYsIDMzMjQyLCAKLSAgICAzMzI0NywgMzMyNTIsIDMzMjU3LCAzMzI2MiwgMzMyNjcsIDMzMjcyLCAzMzI3NywgMzMyODMsIDMzMjg5LCAzMzI5NCwgCi0gICAgMzMyOTksIDMzMzA0LCAzMzMwOSwgMzMzMTQsIDMzMzE5LCAzMzMyNCwgMzMzMjksIDMzMzM0LCAzMzMzOSwgMzMzNDQsIAotICAgIDMzMzQ5LCAzMzM1NCwgMzMzNTksIDMzMzY0LCAzMzM2OSwgMzMzNzQsIDMzMzc5LCAzMzM4NSwgMzEzLCAyNiwgMzMzOTAsIAotICAgIDMzMzk0LCAzMzM5OCwgMzM0MDYsIDMzNDEwLCAzMzQxNCwgMzM0MTcsIDMzNDIwLCAzMzQyMiwgMzM0MjcsIDMzNDMxLCAKLSAgICAzMzQzNiwgMzM0NDAsIDMzNDQ1LCAzMzQ0OSwgMzM0NTQsIDMzNDU4LCAzMzQ2MSwgMzM0NjMsIDMzNDY3LCAzMzQ3MiwgCi0gICAgMzM0NzYsIDMzNDg3LCAzMzQ5MCwgMzM0OTIsIDMzNDk2LCAzMzUwOCwgMzM1MTcsIDMzNTIxLCAzMzUyNSwgMzM1MzEsIAotICAgIDMzNTM2LCAzMzU0NSwgMzM1NTEsIDMzNTU2LCAzMzU2MSwgMzM1NjUsIDMzNTcwLCAzMzU3NywgMzM1ODIsIDMzNTg4LCAKLSAgICAzMzU5MywgMzM1OTcsIDMzNjA0LCAyNTcxOCwgMjU3MjgsIDMzNjA4LCAzMzYxMywgMzM2MTgsIDMzNjIzLCAzMzYzMCwgCi0gICAgMzM2MzQsIDMzNjQxLCA4MTEzLCAzMzY0NywgMzM2NTYsIDMzNjY0LCAzMzY3OSwgMzM2OTMsIDMzNzAxLCAzMzcxMiwgCi0gICAgMzM3MjEsIDMzNzI2LCA3MjI3LCAzMzczNiwgMzM3NDEsIDMzNzQ2LCAzMzc1MCwgMzM3NTMsIDMzNzU3LCAzMzc2MiwgCi0gICAgMzM3NjYsIDMzNzczLCAzMzc3OCwgMzM3ODMsIDg5MTIsIDMzNzkzLCAzMzc5NSwgMzM3OTgsIDMzODAyLCAzMzgwOCwgCi0gICAgMzM4MTIsIDMzODE3LCAzMzgyMiwgMzM4MjgsIDMzODMzLCAzMzgzOSwgMzM4NDQsIDMzODU0LCAzMzg2MywgMzM4NzEsIAotICAgIDMzODc2LCAzMzg4MiwgMzM4ODcsIDMzODk0LCAzMzg5OCwgMzM5MDYsIDMzOTEzLCAzMzkyNiwgMzM5MzQsIDMzOTM4LCAKLSAgICAzMzk0OCwgMzM5NTMsIDMzOTU3LCAzMzk2NSwgMzM5NzMsIDMzOTc3LCAzMzk4NiwgMzM5OTIsIDMzOTk3LCAzNDAwNSwgCi0gICAgMzQwMTUsIDM0MDI0LCAzNDAzMywgMzQwNDIsIDM0MDUzLCAzNDA2MSwgMzQwNzIsIDM0MDgxLCAzNDA4OCwgMzQwOTQsIAotICAgIDM0MDk5LCAzNDExMCwgMzQxMTUsIDM0MTE5LCAzNDEyMiwgMzQxMjYsIDM0MTM0LCAzNDE0MCwgMzQxNDgsIDM0MTU1LCAKLSAgICAzNDE2MSwgMzQxNjYsIDM0MTcyLCAyNDE4LCAzNDE3NiwgMzQxNzgsIDM0MTgzLCAzNDE4OCwgMzQxOTMsIDM0MTk2LCAKLSAgICAzNDE5OCwgMzQyMDIsIDM0MjA1LCAzNDIxMiwgMzQyMTYsIDk4OTEsIDM0MjIwLCAzNDIyNiwgMzQyMzYsIDM0MjQxLCAKLSAgICAzNDI0NywgMzQyNTEsIDM0MjU2LCAzNDI2OSwgMjYxMDQsIDM0Mjc1LCAzNDI4NCwgMTc0NzUsIDM0MjkxLCAzNDMwMCwgCi0gICAgMzE2NzIsIDM0MzA4LCAzNDMxMywgMzQzMTcsIDM0MzI1LCAzNDMzMiwgMzQzMzcsIDM0MzQxLCAzNDM0NiwgMzQzNTAsIAotICAgIDM0MzU4LCAzNDM2NCwgMzQzNzAsIDM0Mzc1LCAzNDM3OSwgMzQzODIsIDM0Mzg3LCAzNDQwMCwgMzQ0MTYsIDIyOTk2LCAKLSAgICAzNDQzMywgMzQ0NDUsIDM0NDYyLCAzNDQ3NCwgMzQ0ODgsIDIzMDEzLCAyMzAzMiwgMzQ1MDAsIDM0NTEyLCAyNjgwLCAKLSAgICAzNDUyNiwgMzQ1MzEsIDM0NTM2LCAzNDU0MSwgMzQ1NDUsIDM0NTUyLCAzNDU2NCwgMzQ1NzAsIDM0NTczLCAzNDU4NCwgCi0gICAgMzQ1OTUsIDM0NjAwLCAzMjA4OSwgNjk1LCAzNDYwNCwgMzQ2MDgsIDM0NjEyLCAzNDYxNSwgMzQ2MjAsIDM0NjI1LCAKLSAgICAzNDYzMSwgMzQ2MzYsIDM0NjQxLCAzNDY0NywgMzQ2NTMsIDM0NjU4LCAzNDY2MiwgMzQ2NjcsIDM0NjcyLCAzNDY3NywgCi0gICAgMzQ2ODEsIDM0Njg0LCAzNDY5MCwgMzQ2OTUsIDM0NzAwLCAzNDcwNSwgMzQ3MDksIDM0NzE0LCAzNDcyMCwgMzQ3MjgsIAotICAgIDI2MzM3LCAzNDczMywgMzQ3MzgsIDM0NzQ1LCAzNDc1MSwgMzQ3NTcsIDM0NzYyLCAzNDc3MCwgMjI1MzgsIDM0Nzc3LCAKLSAgICAzNDc4MiwgMzQ3ODcsIDM0NzkyLCAzNDc5NiwgMzQ3OTksIDM0ODA0LCAzNDgwOCwgMzQ4MTIsIDM0ODE5LCAzNDgyNSwgCi0gICAgMzQ4MzEsIDM0ODM3LCAzNDg0NCwgMzQ4NDksIDM0ODU1LCAzMzk2OCwgMzQ4NTksIDM0ODYzLCAzNDg2OCwgMzQ4ODEsIAotICAgIDM0ODg2LCAzNDg5MiwgMzQ5MDAsIDM0OTA3LCAzNDkxNSwgMzQ5MjUsIDM0OTMxLCAzNDkzNywgMzQ5NDMsIDM0OTQ3LCAKLSAgICAzNDk1NiwgMzQ5NjQsIDM0OTcxLCAzNDk3NiwgMzQ5ODEsIDEwNDQ0LCAzNDk4NiwgMzQ5OTQsIDM1MDAxLCAzNTAwNywgCi0gICAgMzUwMTcsIDM1MDIyLCAzNTAyOCwgMzUwMzYsIDM2MDgsIDM1MDQzLCAzNTA1MCwgMzYxNCwgMzUwNTQsIDM1MDU5LCAKLSAgICAzNTA3MCwgMzUwNzcsIDM1MDgzLCAzNTA5MiwgMzUwOTYsIDQwMTUsIDM1MDk5LCAzNTEwNiwgMzUxMTIsIDM1MTE4LCAKLSAgICAzNTEyNiwgMzUxMzYsIDI5MDYzLCAzNTE0MywgMzUxNTEsIDM1MTU2LCAzNTE2MiwgMzUxNjcsIDI1OTY0LCAzNTE3MywgCi0gICAgMzUxODAsIDM1MTg2LCAzNTE5NSwgMjM2NzcsIDM1MjAyLCAzNTIwNywgMzUyMTEsIDM1MjE5LCAzNTIyNywgOTYwNywgCi0gICAgNTg5NSwgMzUyMzQsIDM1MjM4LCAzNTI0MCwgMzUyNDQsIDM1MjQ5LCAzNTI1MSwgMzUyNTcsIDM1MjYyLCAzNTI2NywgCi0gICAgMzUyNzQsIDMyNjEwLCAzNTI4MCwgMzUyODUsIDM1Mjg5LCAzNTI5NCwgMzUyOTgsIDM1MzA3LCAzNTMxMSwgMzUzMTcsIAotICAgIDM1MzI0LCAzNTMzMCwgMzUzMzcsIDM1MzQyLCAzNTM1MSwgMzUzNTYsIDM1MzYwLCAzNTM2NSwgMzUzNzIsIDM1MzgwLCAKLSAgICAzNTM4OCwgMzUzOTMsIDIxMzU2LCAzNTM5NywgMzU0MDAsIDM1NDA0LCAzNTQwOCwgMzU0MTIsIDM1NDE1LCAzNTQxNywgCi0gICAgMzU0MjUsIDM1NDI5LCAzNTQzNiwgMzU0NDAsIDM1NDQ0LCAzNTQ1MiwgMzU0NTksIDM1NDY5LCAzNTQ3MywgMzU0NzcsIAotICAgIDM1NDg1LCAzNTQ5MywgMzU0OTksIDM1NTA0LCAzNTUxMywgMTMzNTcsIDM1NTE5LCAzNTUyOCwgMzU1MzMsIDM1NTQwLCAKLSAgICAzNTU0OCwgMzU1NTYsIDM1NTY0LCAzNTU3MSwgMzU1NzgsIDM1NTg1LCAzNTU5MiwgMzU1OTksIDM1NjA0LCAzNTYxMCwgCi0gICAgMzU2MjcsIDM1NjM1LCAzNTY0NSwgMzU2NTMsIDM1NjYwLCA0MDcsIDM1NjY0LCAzNTY3MCwgMzU2NzQsIDM1Njc5LCAKLSAgICAzMzcxNywgMzU2ODUsIDM1Njg4LCAzNTY5MiwgMzU3MDAsIDM2MTksIDM1NzA4LCAzNTcxNCwgMzU3MjAsIDM1NzI5LCAKLSAgICAzNTczOSwgMzU3NDYsIDM1NzUyLCAzNjI1LCAzNjMxLCAzNTc2MSwgMzU3NjgsIDM1Nzc2LCAzNTc4MSwgMzU3ODUsIAotICAgIDM1NzkyLCAzNTgwMCwgMzU4MDcsIDM1ODEzLCAzNTgyMiwgMzU4MzIsIDM1ODM4LCAzNTg0NiwgMzU4NTUsIDM1ODYyLCAKLSAgICAzNTg3MCwgMzU4NzcsIDIyMDMyLCAzNTg4MSwgMzU4ODgsIDM1ODk0LCAzNTkwNCwgMzU5MTMsIDM1OTI0LCAzNTkyOCwgCi0gICAgMzU5MzgsIDM1OTQ0LCAzNTk1MSwgMzU5NTksIDM1OTY4LCAzNTk3NywgMzU5ODcsIDM1OTk4LCAzNjAwNSwgMzYwMTAsIAotICAgIDM2MDE3LCAzMDI5LCAzNjAyNSwgMzYwMzEsIDM2MDM2LCAzNjA0MiwgMzYwNDgsIDM2MDUzLCAzNjA2NiwgMzYwNzksIAotICAgIDM2MDkyLCAzNjA5OSwgMzYxMDUsIDM2MTEzLCAzNjEyMSwgMzYxMjYsIDM2MTMwLCAxNDY5LCAzNjEzNCwgMzYxMzksIAotICAgIDM2MTQ0LCAzNjE0OSwgMzYxNTQsIDM2MTYwLCAzNjE2NSwgMzYxNzAsIDM2MTc1LCAzNjE4MCwgMzYxODUsIDM2MTkwLCAKLSAgICAzNjE5NSwgMzYyMDEsIDM2MjA3LCAzNjIxMiwgMzYyMTcsIDM2MjIzLCAzNjIyOCwgMzYyMzMsIDM2MjM4LCAzNjI0NCwgCi0gICAgMzYyNDksIDM2MjU0LCAzNjI1OSwgMzYyNjQsIDM2MjcwLCAzNjI3NSwgMzYyODAsIDM2Mjg2LCAzNjI5MSwgMzYyOTYsIAotICAgIDM2MzAxLCAzNjMwNiwgMzYzMTEsIDM2MzE3LCAzNjMyMiwgMzYzMjgsIDM2MzMzLCAzNjMzOSwgMzYzNDQsIDM2MzQ5LCAKLSAgICAzNjM1NCwgMzYzNjAsIDM2MzY2LCAzNjM3MiwgMzYzNzgsIDM2Mzg0LCAzNjM5MCwgMzYzOTYsIDM2NDAyLCAzNjQwNywgCi0gICAgMzY0MTIsIDM2NDE4LCAzNjQyMywgMzY0MjgsIDM2NDMzLCAzNjQzOCwgMzY0NDMsIDM2NDQ4LCAzNjQ1MywgMzY0NTksIAotICAgIDM2NDY0LCAzNjQ2OSwgMzY0NzUsIDM2NDgxLCAxMDEsIDM2NDg2LCAzNjQ4OCwgMzY0OTIsIDM2NDk2LCAzNjUwMCwgCi0gICAgMzY1MDUsIDM2NTA5LCA5NTI4LCAzNjUxMywgMzY1MTksIDE3NDEsIDYyODAsIDM2NTI1LCAzNjUyOCwgMzY1MzMsIDM2NTM3LCAKLSAgICAzNjU0MiwgMzY1NDYsIDM2NTUwLCAzNjU1NSwgMTAyNDUsIDM2NTU5LCAzNjU2MywgMzY1NjcsIDM2NTcxLCAxNTM4NSwgCi0gICAgMzY1NzYsIDM2NTgwLCAzNjU4NSwgMzY1OTAsIDM2NTk1LCAzNjU5OSwgMzY2MDYsIDI2MTI4LCAzNjYxMiwgMzY2MTUsIAotICAgIDM2NjE5LCAzNjYyNCwgMzY2MzAsIDM2NjM0LCAzNjY0MiwgMzY2NDgsIDM2NjUzLCAzNjY1NywgMzY2NjMsIDM2NjY3LCAKLSAgICAzNjY3MSwgMzQ2MiwgMzQ2NywgMjkyNTUsIDM2Njc0LCAzNjY3OCwgMzY2ODIsIDM2Njg2LCAzNjY5MCwgMzY2OTgsIAotICAgIDM2NzA1LCAzNjcwOSwgMzY3MTYsIDM2NzIxLCAzMTcsIDM2NzI2LCAzNjczMCwgMzY3MzYsIDM2NzQ4LCAzNjc1NCwgCi0gICAgMzY3NjAsIDM2NzY0LCAzNjc3MCwgMzY3NzksIDM2NzgzLCAzNjc4NywgMzY3OTIsIDM2Nzk4LCAzNjgwMywgMzY4MDcsIAotICAgIDM2ODEyLCAzNjgxNiwgMzY4MjAsIDM2ODI3LCAzNjgzMywgMzY4MzgsIDM2ODUzLCAzNjg2OCwgMzY4ODMsIDM2ODk5LCAKLSAgICAzNjkxNywgMTAxOTUsIDM2OTMxLCAzNjkzOCwgMzY5NDIsIDM2OTQ1LCAzNjk1NCwgMzY5NTksIDM2OTYzLCAzNjk3MSwgCi0gICAgMzM5MTksIDM2OTc5LCAzNjk4MywgMzY5OTMsIDM3MDA0LCAyOTIyNSwgMzcwMTcsIDM3MDIxLCAzNzAzMCwgMzcwMzgsIAotICAgIDk3ODUsIDE0OTEzLCAzNzA0MiwgMjI0NDcsIDM3MDQ1LCAzMDE3MywgMzcwNTAsIDk3ODQsIDM3MDU1LCAzNzA2MSwgCi0gICAgMzcwNjYsIDM3MDcyLCAzNzA3NywgMzcwODMsIDM3MDg4LCAzNzA5NCwgMzcwOTksIDM3MTA1LCAzNzExMSwgMzcxMTcsIAotICAgIDM3MTIyLCAzNzA3OCwgMzcwODQsIDM3MDg5LCAzNzA5NSwgMzcxMDAsIDM3MTA2LCAzNzExMiwgODEyNiwgMzg3NCwgCi0gICAgMzcxMjYsIDM3MTM0LCAzNzEzOCwgMzcxNDEsIDM3MTQ1LCAzNzE1MCwgMzcxNTUsIDM3MTYxLCAzNzE2NywgMzcxNzIsIAotICAgIDM3MTc2LCAyNTk3NiwgMzcxODAsIDM3MTg0LCAzNzE5MCwgMzcxOTQsIDkwNDksIDM3MjAzLCAzNzIxMCwgMzcyMTQsIAotICAgIDExODc1LCAzNzIyMSwgMzcyMjcsIDM3MjMyLCAzNzIzOSwgMzcyNDYsIDM3MjUzLCAyODU3MSwgODA0OSwgMzcyNjAsIAotICAgIDM3MjY3LCAzNzI3NCwgMzcyODAsIDM3Mjg1LCAzNzI5MiwgMzczMDMsIDM3MzA5LCAzNzMxNCwgMzczMTksIDM3MzI0LCAKLSAgICAzNzMzMSwgMzcwNzksIDM3MzM1LCAzNzM0NSwgMzczNTYsIDM3MzYyLCAzNzM2NywgMzczNzIsIDM3Mzc3LCAzNzM4MiwgCi0gICAgMzczODcsIDM3MzkxLCAzNzM5NSwgMzc0MDEsIDM3NDA5LCAyMzE5LCA4NjUsIDEwMjYxLCAxMDI3MywgMTAyNzgsIDEwMjg0LCAKLSAgICAzNzQxOCwgMTAyODksIDEwMjk0LCAxMDMwMCwgMzc0MjMsIDM3NDMzLCAzNzQzNywgMTAzMDUsIDM3NDQyLCAxNjkwMywgCi0gICAgMzc0NDUsIDM3NDUwLCAzNzQ1NCwgMzc0NTksIDM3NDY0LCAzNzQ3MSwgMzc0NzgsIDM3NDgyLCAzNzQ4NSwgMzc0OTMsIAotICAgIDEwMjA4LCAzNzUwMCwgMzc1MDMsIDM3NTA5LCAzNzUxOSwgNTkyOSwgMzc1MjgsIDM3NTMyLCAzNzU0MCwgMzc1NDQsIAotICAgIDM3NTU0LCAzNzU2MCwgMzc1NzEsIDM3NTc3LCAzNzU4MywgMzc1ODgsIDM3NTk0LCAzNzYwMCwgMzc2MDYsIDM3NjExLCAKLSAgICAzNzYxNCwgMzc2MjEsIDM3NjI3LCAzNzYzMiwgMzc2MzksIDM3NjQ2LCAzNzY1MCwgMzc2NjAsIDM3NjczLCAzNzY4MiwgCi0gICAgMzc2OTEsIDM3NzAyLCAzNzcxNSwgMzc3MjYsIDM3NzM1LCAzNzc0NiwgMzc3NTEsIDM3NzYwLCAzNzc2NSwgMTAzMTAsIAotICAgIDM3NzcxLCAzNzc3OCwgMzc3ODYsIDM3NzkxLCAzNzc5NSwgMzc4MDIsIDM3ODA5LCAzODI5LCAxNiwgMzc4MTMsIDM3ODE4LCAKLSAgICAxNjc1NywgMzc4MjIsIDM3ODI1LCAzNzgyOCwgMjgwNzcsIDM3ODMyLCAyODU4MCwgMzc4NDAsIDM3ODQ0LCAzNzg0OCwgCi0gICAgMzc4NTEsIDM3ODU3LCAzNzEwMSwgMzc4NjMsIDM3ODcxLCAzNzg3NywgMzc4ODQsIDI4MDYwLCAzNzg4OCwgMjgyNTQsIAotICAgIDM3ODkyLCAzNzkwMSwgMzc5MDcsIDM3OTEzLCAzNzkxOCwgMzc5MjIsIDM3OTI4LCAzNzkzMiwgMzc5NDAsIDM3OTQ4LCAKLSAgICAyNjE5NCwgMzc5NTQsIDM3OTYxLCAzNzk2NywgMzc5NzIsIDM3OTc3LCAzNzk4MSwgMzc5ODcsIDM3OTkyLCAzNzk5OCwgCi0gICAgNDA1NiwgNzkxLCAzODAwNSwgMzgwMDksIDM4MDEyLCAxNTI3NSwgMzgwMjQsIDM1ODUxLCAzODAzNSwgMzgwMzgsIDM4MDQ1LCAKLSAgICAzODA0OSwgMzgwNTUsIDM4MDU5LCAzODA2NSwgMzgwNzAsIDM4MDc2LCAzODA4MSwgMzgwODYsIDM4MDkwLCAzODA5NCwgCi0gICAgMzgwOTksIDM4MTA0LCAzODExNCwgMzgxMjAsIDM4MTMzLCAzODEzOSwgMzgxNDUsIDM4MTUyLCAzODE1NywgMzgxNjMsIAotICAgIDM4MTY4LCAxNjY0MywgMTQ3MiwgMTAxOSwgMzEyMTgsIDMxMjI0LCAzODE3MywgMzEyMzAsIDMxMjQzLCAzMTI0OSwgCi0gICAgMzEyNTUsIDM4MTc5LCAzMTI2MSwgMzEyNjcsIDM4MTg1LCAzODE5MSwgMjIsIDM4MTk5LCAzODIwNiwgMzgyMTAsIDM4MjE0LCAKLSAgICAzODIyMiwgMzE5NzgsIDM4MjI2LCAzODIzMCwgMzgyMzcsIDM4MjQyLCAzODI0NiwgMzgyNTEsIDM4MjU3LCAzODI2MiwgCi0gICAgMzgyNjgsIDM4MjczLCAzODI3NywgMzgyODEsIDM4Mjg1LCAzODI5MCwgMzgyOTQsIDM4Mjk5LCAzODMwMywgMzgzMTAsIAotICAgIDM4MzE1LCAzODMxOSwgMzgzMjQsIDM4MzI4LCAzODMzMywgMzgzMzcsIDM4MzQyLCAzODM0OCwgMTU0OTUsIDE1NTAwLCAKLSAgICAzODM1MywgMzgzNTcsIDM4MzYwLCAzODM2NCwgMjExODMsIDM4MzY5LCAzODM3MywgMzgzNzksIDM4Mzg2LCAzODM5MSwgCi0gICAgMzg0MDEsIDM4NDA2LCAzODQxNCwgMzg0MTgsIDM4NDIxLCAzMTk5MywgMzg0MjUsIDQxMDksIDM4NDMwLCAzODQzNSwgCi0gICAgMzg0MzksIDM4NDQ0LCAzODQ0OCwgMzg0NTMsIDEzMzc1LCAzODQ2NCwgMzg0NjgsIDM4NDcxLCAzODQ3NiwgMzg0ODAsIAotICAgIDM4NDg0LCAzODQ4NywgMzg0OTEsIDgxNDUsIDEzMzkxLCAzODQ5NCwgMzg0OTcsIDM4NTAzLCAzODUwOCwgMzg1MTQsIAotICAgIDM4NTE5LCAzODUyNSwgMzg1MzAsIDM4NTM2LCAzODU0MSwgMzg1NDcsIDM4NTUzLCAzODU1OSwgMzg1NjQsIDM4NTY4LCAKLSAgICAzODU3MiwgMzg1ODEsIDM4NTk3LCAzODYxMywgMzg2MjMsIDI3OTY3LCAzODYzMCwgMzg2MzQsIDM4NjM5LCAzODY0NCwgCi0gICAgMzg2NDgsIDM4NjUyLCAzNTk3MiwgMzg2NTgsIDM4NjYzLCAzODY2NywgMzg2NzQsIDM4Njc5LCAzODY4MywgMzg2ODcsIAotICAgIDI2OTk2LCAzODY5MywgMjE0NTEsIDM4Njk4LCAzODcwNSwgMzg3MTMsIDM4NzE5LCAzODcyNiwgMzg3MzQsIDM4NzQwLCAKLSAgICAzODc0NCwgMzg3NTAsIDM4NzU4LCAzODc2MiwgMzg3NzEsIDk1MDksIDM4Nzc5LCAzODc4MywgMzg3OTEsIDM4Nzk4LCAKLSAgICAzODgwMywgMzg4MDgsIDM4ODEyLCAzODgxNSwgMzg4MTksIDM4ODIyLCAzODgyNiwgMzg4MzMsIDM4ODM4LCAzODg0NCwgCi0gICAgMjY0MTUsIDMxMjgxLCAzODg0OCwgMzg4NTUsIDM4ODYxLCAzODg2NywgMzg4NzIsIDM4ODc1LCAzODg3NywgMzg4ODQsIAotICAgIDM4ODkxLCAzODg5NywgMzg5MDEsIDM4OTA0LCAzODkwOCwgMzg5MTIsIDM4OTE2LCAzODkyMSwgMzg5MjUsIDM4OTI5LCAKLSAgICAzODkzMiwgMzg5MzYsIDM4OTUwLCAyMzA2MiwgMzg5NjksIDM4OTgyLCAzODk5NSwgMzkwMDgsIDIzMDgwLCAzOTAyMywgCi0gICAgMTA0OTcsIDM5MDM4LCAzOTA0NCwgMzkwNDgsIDM5MDUyLCAzOTA1OSwgMzkwNjQsIDM5MDY4LCAzOTA3NSwgMzkwODEsIAotICAgIDM5MDg2LCAzOTA5MiwgMzkxMDIsIDM5MTE0LCAzOTEyNSwgMzkxMzAsIDM5MTM3LCAzOTE0MSwgMzkxNDUsIDM5MTQ4LCAKLSAgICAxNTg5MSwgMzY3NywgMzkxNTYsIDE1NTIyLCAzOTE2OSwgMzkxNzYsIDM5MTgwLCAzOTE4NCwgMzkxODksIDM5MTk0LCAKLSAgICAzOTIwMCwgMzkyMDQsIDM5MjA4LCAzOTIxMSwgNzc0MiwgMTU1MzMsIDM5MjE2LCAzOTIyMCwgMzkyMjYsIDM5MjM1LCAKLSAgICAzOTI0MCwgMzkyNDcsIDM1ODI4LCAzOTI1MywgMzkyNTgsIDM5MjYyLCAzOTI2NywgMzkyNzQsIDM5Mjc4LCAzOTI4MSwgCi0gICAgMzkyODUsIDM5MjkwLCAxNDU2NSwgMzkyOTcsIDM5MzA0LCAxMDc3LCAzOTMwOCwgMzkzMTMsIDM5MzE4LCAzOTMyNCwgCi0gICAgMzkzMjksIDM5MzM0LCAzOTMzOCwgMzkzNDgsIDM5MzUzLCAzOTM1OSwgMzkzNjQsIDM5MzcwLCAzOTM3NSwgMzkzODEsIAotICAgIDM5MzkxLCAzOTM5NiwgMzk0MDEsIDM5NDA1LCA3MjI5LCA3MjQxLCAzOTQxMCwgMzk0MTMsIDM5NDIwLCAzOTQyNiwgCi0gICAgMzQwODQsIDM0MDkxLCAzOTQzNSwgMzk0MzksIDMyMDQxLCAzOTQ0NywgMzk0NTgsIDM5NDY2LCAzNjAyMCwgMzk0NzMsIAotICAgIDM5NDc4LCAzOTQ4MywgMzk0OTQsIDM5NTAxLCAzOTUxMiwgMzIwNjUsIDIxNDU3LCAzOTUyMCwgNzM1LCAzOTUyNSwgCi0gICAgMzk1MzEsIDI4MDUxLCAzOTUzNywgMzk1NDIsIDM5NTUyLCAzOTU2MSwgMzk1NjgsIDM5NTc0LCAzOTU3OCwgMzk1ODEsIAotICAgIDM5NTg4LCAzOTU5NCwgMzk2MDEsIDM5NjA3LCAzOTYxNywgMzk2MjUsIDM5NjMxLCAzOTYzNywgMzk2NDIsIDM5NjQ2LCAKLSAgICAzOTY1MywgMzk2NTksIDM5NjY2LCAzODkxNywgNTM1LCAxMzgxOCwgMzk2NzIsIDM5Njc3LCAzOTY4MCwgMzk2ODYsIAotICAgIDM5Njk0LCAxMzk2LCAzOTY5OSwgMzk3MDMsIDM5NzA4LCAzOTcxNSwgMzk3MjEsIDM5NzI1LCAzOTcyOSwgMzk3MzQsIAotICAgIDM5NzQzLCAzOTc1MCwgMzk3NjAsIDM5NzY2LCAyODA5NSwgMzk3ODMsIDM5NzkyLCAzOTgwMCwgMzk4MDYsIDM5ODExLCAKLSAgICAzOTgxOCwgMzk4MjQsIDM5ODMyLCAzOTg0MSwgMzk4NDksIDM5ODUzLCAzOTg1OCwgMzk4NjYsIDMyMDc0LCAzOTg3MiwgCi0gICAgMzk4OTEsIDE1ODI0LCAzOTkwNSwgMzk5MjEsIDM5OTM1LCAzOTk0MSwgMzk5NDYsIDM5OTUxLCAzOTk1NiwgMzk5NjIsIAotICAgIDMyMDgwLCAzOTk2NywgMzk5NzQsIDM5OTc5LCAzOTk4MywgMzQ1LCAyOTM2LCAzOTk5MCwgMzk5OTUsIDQwMDAwLCAyNzMyMiwgCi0gICAgMzk4MjEsIDQwMDA0LCA0MDAwOSwgNDAwMTcsIDQwMDIxLCA0MDAyNCwgNDAwMzAsIDQwMDM2LCA0MDA0MCwgMjgxNTAsIAotICAgIDQwMDQzLCA0MDA0OCwgNDAwNTIsIDQwMDU1LCA0MDA2MCwgNDAwNjQsIDQwMDY5LCA0MDA3NCwgNDAwNzgsIDQwMDgzLCAKLSAgICA0MDA4NywgNDAwOTEsIDIxMTc5LCAyMTE5MCwgNDAwOTUsIDQwMTAwLCA0MDEwNiwgMjY5NTMsIDQwMTExLCA0MDExNSwgCi0gICAgMjEyNjYsIDE2MDcyLCA0MDExOCwgNDAxMjMsIDQwMTI4LCA0MDEzMywgNDAxMzgsIDQwMTQzLCA0MDE0OCwgNDAxNTMsIAotICAgIDQ1MCwgNDksIDMxMjk5LCAzMTMwNCwgMzEzMDksIDMxMzE1LCAzMTMyMCwgMzEzMjUsIDQwMTU4LCAzMTMyOSwgNDAxNjIsIAotICAgIDQwMTY2LCA0MDE3MCwgMzEzMzQsIDMxMzQwLCA0MDE4NCwgMzEzNTEsIDMxMzU2LCA0MDE5MiwgNDAxOTcsIDMxMzYyLCAKLSAgICA0MDIwMiwgNDAyMDcsIDQwMjEyLCA0MDIxNywgNDAyMjMsIDQwMjI5LCA0MDIzNSwgMzEzNzksIDQwMjQ4LCA0MDI1NCwgCi0gICAgMzEzODMsIDQwMjU4LCAzMTM4OCwgNDAyNjMsIDMxMzkzLCAzMTM5OCwgNDAyNjYsIDQwMjcxLCA0MDI3NSwgMzA5NDgsIAotICAgIDQwMjgxLCAxMzU5OSwgNDAyODgsIDQwMjkzLCAzMTQwMywgNDAyOTcsIDQwMzAyLCA0MDMwNywgNDAzMTIsIDQwMzE2LCAKLSAgICA0MDMyMSwgNDAzMjYsIDQwMzMyLCA0MDMzNywgNDAzNDIsIDQwMzQ4LCA0MDM1NCwgNDAzNTksIDQwMzYzLCA0MDM2OCwgCi0gICAgNDAzNzMsIDQwMzc4LCA0MDM4MiwgNDAzODcsIDQwMzkyLCA0MDM5NywgNDA0MDMsIDQwNDA5LCA0MDQxNSwgNDA0MjAsIAotICAgIDQwNDI0LCA0MDQyOSwgNDA0MzMsIDMxNDA3LCAzMTQxMiwgMzE0MTcsIDQwNDM3LCA0MDQ0MSwgNDA0NDUsIDMxNDIyLCAKLSAgICAzMTQyOCwgMzE0MzQsIDMxNDQ2LCA0MDQ1NywgMjYwMTMsIDQwNDYxLCA0MDQ2NSwgNDA0NzAsIDQwNDc1LCA0MDQ4MCwgCi0gICAgNDA0ODUsIDQwNDg5LCA0MDQ5MywgNDA1MDMsIDQwNTA4LCA0MDUxMywgNDA1MTcsIDQwNTIxLCA0MDUyNCwgNDA1MzIsIAotICAgIDMxNDk0LCA0MDUzNywgMTQ3OSwgNDA1NDMsIDQwNTUxLCA0MDU2MCwgNDA1NjQsIDQwNTY4LCA0MDU3NiwgNDA1ODIsIAotICAgIDQwNTkwLCA0MDYwNiwgNDA2MTAsIDQwNjE0LCA0MDYxOSwgNDA2MzQsIDMxNTMxLCAxNzQ5LCAxMjA1NSwgNDA2MzgsIAotICAgIDEzNzgsIDQwNjUwLCA0MDY1MSwgNDA2NTksIDQwNjY2LCA0MDY3MSwgNDA2NzgsIDQwNjgzLCA5Mzc5LCAxMTE5LCAxMDMzMiwgCi0gICAgNDA2OTAsIDQwNjk1LCA0MDY5OCwgNDA3MDEsIDQwNzEwLCAxMjg2LCA0MDcxNSwgMzkwNjUsIDQwNzIyLCA0MDcyNywgCi0gICAgNDA3MzEsIDIyNTAzLCAyNTU3LCA0MDczOSwgMTA3NDEsIDQwNzQ5LCA0MDc1NSwgMjMzNywgMjM0NywgNDA3NjQsIDQwNzczLCAKLSAgICA0MDc4MywgNDA3OTQsIDMyOTMsIDM0MjM3LCAxMDM4NCwgMzgwNywgMTY2ODEsIDEyOTEsIDQwNzk5LCA0MDgwNywgNDA4MTQsIAotICAgIDQwODE5LCA0MDgyMywgNDA4MjcsIDIzODc1LCAxMDQxMSwgNDA4MzUsIDQwODQ0LCA0MDg1MywgNDA4NjEsIDQwODY4LCAKLSAgICA0MDg3OSwgNDA4ODQsIDQwODk3LCA0MDkxMCwgNDA5MjIsIDQwOTM0LCA0MDk0NiwgNDA5NTksIDQwOTcwLCA0MDk4MSwgCi0gICAgNDA5OTEsIDQwOTk5LCA0MTAwNywgNDEwMTksIDQxMDMxLCA0MTA0MiwgNDEwNTEsIDQxMDU5LCA0MTA2NiwgNDEwNzgsIAotICAgIDQxMDg1LCA0MTA5NCwgNDExMDEsIDQxMTE0LCA0MTExOSwgNDExMjksIDQxMTM0LCA0MTE0MCwgNDExNDUsIDM3MjExLCAKLSAgICA0MTE0OSwgNDExNTYsIDQxMTYwLCA0MTE2NywgNDExNzUsIDI1MTgsIDQxMTgyLCA0MTE5MywgNDEyMDMsIDQxMjEyLCAKLSAgICA0MTIyMCwgNDEyMzAsIDQxMjM4LCA0MTI0OCwgNDEyNTcsIDQxMjYyLCA0MTI2OCwgNDEyNzQsIDM3MDksIDQxMjg1LCAKLSAgICA0MTI5NSwgNDEzMDQsIDQxMzEzLCA0MTMyMywgNDEzMzEsIDQxMzQwLCA0MTM0NSwgNDEzNTAsIDQxMzU1LCAxNzA1LCAzNywgCi0gICAgNDEzNjMsIDQxMzcxLCA0MTM4MiwgNDEzOTMsIDE2MzU2LCA0MTQwMywgNDE0MDcsIDQxNDE0LCA0MTQyMCwgNDE0MjUsIAotICAgIDQxNDI5LCA0MTQ0MCwgNDE0NTAsIDQxNDU5LCA0MTQ3MCwgMTY3MzAsIDE2NzM1LCA0MTQ3NSwgNDE0ODQsIDQxNDg5LCAKLSAgICA0MTQ5OSwgNDE1MDQsIDQxNTEyLCA0MTUyMCwgNDE1MjcsIDQxNTMzLCA3MDc4LCAyMjgsIDQxNTM3LCA0MTU0MywgNDE1NDgsIAotICAgIDQxNTUxLCAyMTE3LCAzOTE4MSwgNDE1NTksIDQxNTYzLCA0MTU2NiwgMTUxMiwgNDE1NzIsIDEzOTgwLCAxMjk2LCA0MTU3NywgCi0gICAgNDE1OTAsIDQxNjA0LCAyNjQzLCA0MTYyMiwgNDE2MzQsIDQxNjQ2LCAyNjU3LCAyNjc0LCA0MTY2MCwgNDE2NzMsIDI2ODksIAotICAgIDQxNjg3LCA0MTY5OSwgMjcwNCwgNDE3MTMsIDEzMDIsIDEzMDgsIDEzMTQsIDEwNjU5LCA0MTcxOCwgNDE3MjMsIDQxNzI4LCAKLSAgICA0MTczMiwgNDE3NDcsIDQxNzYyLCA0MTc3NywgNDE3OTIsIDQxODA3LCA0MTgyMiwgNDE4MzcsIDQxODUyLCA0MTg2NywgCi0gICAgNDE4ODIsIDQxODk3LCA0MTkxMiwgNDE5MjcsIDQxOTQyLCA0MTk1NywgNDE5NzIsIDQxOTg3LCA0MjAwMiwgNDIwMTcsIAotICAgIDQyMDMyLCA0MjA0NywgNDIwNjIsIDQyMDc3LCA0MjA5MiwgNDIxMDcsIDQyMTIyLCA0MjEzNywgNDIxNTIsIDQyMTY3LCAKLSAgICA0MjE4MiwgNDIxOTcsIDQyMjEyLCA0MjIyNywgNDIyNDIsIDQyMjU3LCA0MjI3MiwgNDIyODcsIDQyMzAyLCA0MjMxNywgCi0gICAgNDIzMzIsIDQyMzQ3LCA0MjM2MiwgNDIzNzcsIDQyMzkyLCA0MjQwNywgNDI0MjIsIDQyNDM3LCA0MjQ1MiwgNDI0NjcsIAotICAgIDQyNDgyLCA0MjQ5NywgNDI1MTIsIDQyNTI3LCA0MjU0MiwgNDI1NTcsIDQyNTcyLCA0MjU4NywgNDI2MDIsIDQyNjE3LCAKLSAgICA0MjYzMiwgNDI2NDcsIDQyNjYyLCA0MjY3NywgNDI2OTIsIDQyNzA3LCA0MjcyMiwgNDI3MzcsIDQyNzUyLCA0Mjc2NywgCi0gICAgNDI3ODIsIDQyNzk3LCA0MjgxMiwgNDI4MjcsIDQyODQyLCA0Mjg1NywgNDI4NzIsIDQyODg3LCA0MjkwMiwgNDI5MTcsIAotICAgIDQyOTMyLCA0Mjk0NywgNDI5NjIsIDQyOTc3LCA0Mjk5MiwgNDMwMDcsIDQzMDIyLCA0MzAzNywgNDMwNTIsIDQzMDY3LCAKLSAgICA0MzA4MiwgNDMwOTcsIDQzMTEyLCA0MzEyNywgNDMxNDIsIDQzMTU3LCA0MzE3MiwgNDMxODcsIDQzMjAyLCA0MzIxNywgCi0gICAgNDMyMzIsIDQzMjQ3LCA0MzI2MiwgNDMyNzcsIDQzMjkyLCA0MzMwNywgNDMzMjIsIDQzMzM3LCA0MzM1MiwgNDMzNjcsIAotICAgIDQzMzgyLCA0MzM5NywgNDM0MTIsIDQzNDI3LCA0MzQ0MiwgNDM0NTcsIDQzNDcyLCA0MzQ4NywgNDM1MDIsIDQzNTE3LCAKLSAgICA0MzUzMiwgNDM1NDcsIDQzNTYyLCA0MzU3NywgNDM1OTIsIDQzNjA3LCA0MzYyMiwgNDM2MzcsIDQzNjUyLCA0MzY2NywgCi0gICAgNDM2ODIsIDQzNjk3LCA0MzcxMiwgNDM3MjcsIDQzNzQyLCA0Mzc1NywgNDM3NzIsIDQzNzg3LCA0MzgwMiwgNDM4MTcsIAotICAgIDQzODMyLCA0Mzg0NywgNDM4NjIsIDQzODc3LCA0Mzg5MiwgNDM5MDcsIDQzOTIyLCA0MzkzNywgNDM5NTIsIDQzOTY3LCAKLSAgICA0Mzk4MiwgNDM5OTcsIDQ0MDEyLCA0NDAyNywgNDQwNDIsIDQ0MDU3LCA0NDA3MiwgNDQwODcsIDQ0MTAyLCA0NDExNywgCi0gICAgNDQxMzIsIDQ0MTQ3LCA0NDE2MiwgNDQxNzcsIDQ0MTkyLCA0NDIwNywgNDQyMjIsIDQ0MjM3LCA0NDI1MiwgNDQyNjcsIAotICAgIDQ0MjgyLCA0NDI5NywgNDQzMTIsIDQ0MzI3LCA0NDM0MiwgNDQzNTcsIDQ0MzcyLCA0NDM4NywgNDQ0MDIsIDQ0NDE3LCAKLSAgICA0NDQzMiwgNDQ0NDcsIDQ0NDYyLCA0NDQ3NywgNDQ0OTIsIDQ0NTA3LCA0NDUyMiwgNDQ1MzcsIDQ0NTUyLCA0NDU2NywgCi0gICAgNDQ1ODIsIDQ0NTk3LCA0NDYxMiwgNDQ2MjcsIDQ0NjQyLCA0NDY1NywgNDQ2NzIsIDQ0Njg3LCA0NDcwMiwgNDQ3MTcsIAotICAgIDQ0NzMyLCA0NDc0NywgNDQ3NjIsIDQ0Nzc3LCA0NDc5MiwgNDQ4MDcsIDQ0ODIyLCA0NDgzNywgNDQ4NTIsIDQ0ODY3LCAKLSAgICA0NDg4MiwgNDQ4OTcsIDQ0OTEyLCA0NDkyNywgNDQ5NDIsIDQ0OTU3LCA0NDk3MiwgNDQ5ODcsIDQ1MDAyLCA0NTAxNywgCi0gICAgNDUwMzIsIDQ1MDQ3LCA0NTA2MiwgNDUwNzcsIDQ1MDkyLCA0NTEwNywgNDUxMjIsIDQ1MTM3LCA0NTE1MiwgNDUxNjcsIAotICAgIDQ1MTgyLCA0NTE5NywgNDUyMTIsIDQ1MjI3LCA0NTI0MiwgNDUyNTcsIDQ1MjcyLCA0NTI4NywgNDUzMDIsIDQ1MzE3LCAKLSAgICA0NTMzMiwgNDUzNDcsIDQ1MzYyLCA0NTM3NywgNDUzOTIsIDQ1NDA3LCA0NTQyMiwgNDU0MzcsIDQ1NDUyLCA0NTQ2NywgCi0gICAgNDU0ODIsIDQ1NDk3LCA0NTUxMiwgNDU1MjcsIDQ1NTQyLCA0NTU1NywgNDU1NzIsIDQ1NTg3LCA0NTYwMiwgNDU2MTcsIAotICAgIDQ1NjMyLCA0NTY0NywgNDU2NjIsIDQ1Njc3LCA0NTY5MiwgNDU3MDcsIDQ1NzIyLCA0NTczNywgNDU3NTIsIDQ1NzY3LCAKLSAgICA0NTc4MiwgNDU3OTcsIDQ1ODEyLCA0NTgyNywgNDU4NDIsIDQ1ODU3LCA0NTg3MiwgNDU4ODcsIDQ1OTAyLCA0NTkxNywgCi0gICAgNDU5MzIsIDQ1OTQ3LCA0NTk2MiwgNDU5NzcsIDQ1OTkyLCA0NjAwNywgNDYwMjIsIDQ2MDM3LCA0NjA1MiwgNDYwNjcsIAotICAgIDQ2MDgyLCA0NjA5NywgNDYxMTIsIDQ2MTI3LCA0NjE0MiwgNDYxNTcsIDQ2MTcyLCA0NjE4NywgNDYyMDIsIDQ2MjE3LCAKLSAgICA0NjIzMiwgNDYyNDcsIDQ2MjYyLCA0NjI3NywgNDYyOTIsIDQ2MzA3LCA0NjMyMiwgNDYzMzcsIDQ2MzUyLCA0NjM2NywgCi0gICAgNDYzODIsIDQ2Mzk3LCA0NjQxMiwgNDY0MjcsIDQ2NDQyLCA0NjQ1NywgNDY0NzIsIDQ2NDg3LCA0NjUwMiwgNDY1MTcsIAotICAgIDQ2NTMyLCA0NjU0NywgNDY1NjIsIDQ2NTc3LCA0NjU5MiwgNDY2MDcsIDQ2NjIyLCA0NjYzNywgNDY2NTIsIDQ2NjY3LCAKLSAgICA0NjY4MiwgNDY2OTcsIDQ2NzEyLCA0NjcyNywgNDY3NDIsIDQ2NzU3LCA0Njc3MiwgNDY3ODcsIDQ2ODAyLCA0NjgxNywgCi0gICAgNDY4MzIsIDQ2ODQ3LCA0Njg2MiwgNDY4NzcsIDQ2ODkyLCA0NjkwNywgNDY5MjIsIDQ2OTM3LCA0Njk1MiwgNDY5NjcsIAotICAgIDQ2OTgyLCA0Njk5NywgNDcwMTIsIDQ3MDI3LCA0NzA0MiwgNDcwNTcsIDQ3MDcyLCA0NzA4NywgNDcxMDIsIDQ3MTE3LCAKLSAgICA0NzEzMiwgNDcxNDcsIDQ3MTYyLCA0NzE3NywgNDcxOTIsIDQ3MjA3LCA0NzIyMiwgNDcyMzcsIDQ3MjUyLCA0NzI2NywgCi0gICAgNDcyODIsIDQ3Mjk3LCA0NzMxMiwgNDczMjcsIDQ3MzQyLCA0NzM1NywgNDczNzIsIDQ3Mzg3LCA0NzQwMiwgNDc0MTcsIAotICAgIDQ3NDMyLCA0NzQ0NywgNDc0NjIsIDQ3NDc3LCA0NzQ5MiwgNDc1MDcsIDQ3NTIyLCA0NzUzNywgNDc1NTIsIDQ3NTY3LCAKLSAgICA0NzU4MiwgNDc1OTcsIDQ3NjEyLCA0NzYyNywgNDc2NDIsIDQ3NjU3LCA0NzY3MiwgNDc2ODcsIDQ3NzAyLCA0NzcxNywgCi0gICAgNDc3MzIsIDQ3NzQ3LCA0Nzc2MiwgNDc3NzcsIDQ3NzkyLCA0NzgwNywgNDc4MjIsIDQ3ODM3LCA0Nzg1MiwgNDc4NjcsIAotICAgIDQ3ODgyLCA0Nzg5NywgNDc5MTIsIDQ3OTI3LCA0Nzk0MiwgNDc5NTcsIDQ3OTcyLCA0Nzk4NywgNDgwMDIsIDQ4MDE3LCAKLSAgICA0ODAzMiwgNDgwNDcsIDQ4MDYyLCA0ODA3NywgNDgwOTIsIDQ4MTA3LCA0ODEyMiwgNDgxMzcsIDQ4MTUyLCA0ODE2NywgCi0gICAgNDgxODIsIDQ4MTk3LCA0ODIxMiwgNDgyMjcsIDQ4MjQyLCA0ODI1NywgNDgyNzIsIDQ4Mjg3LCA0ODMwMiwgNDgzMTcsIAotICAgIDQ4MzMyLCA0ODM0NywgNDgzNjIsIDQ4Mzc3LCA0ODM5MiwgNDg0MDcsIDQ4NDIyLCA0ODQzNywgNDg0NTIsIDQ4NDY3LCAKLSAgICA0ODQ4MiwgNDg0OTcsIDQ4NTEyLCA0ODUyNywgNDg1NDIsIDQ4NTU3LCA0ODU3MiwgNDg1ODcsIDQ4NjAyLCA0ODYxNywgCi0gICAgNDg2MzIsIDQ4NjQ3LCA0ODY2MiwgNDg2NzcsIDQ4NjkyLCA0ODcwNywgNDg3MjIsIDQ4NzM3LCA0ODc1MiwgNDg3NjcsIAotICAgIDQ4NzgyLCA0ODc5NywgNDg4MTIsIDQ4ODI3LCA0ODg0MiwgNDg4NTcsIDQ4ODcyLCA0ODg4NywgNDg5MDIsIDQ4OTE3LCAKLSAgICA0ODkzMiwgNDg5NDcsIDQ4OTYyLCA0ODk3NywgNDg5OTIsIDQ5MDA3LCA0OTAyMiwgNDkwMzcsIDQ5MDUyLCA0OTA2NywgCi0gICAgNDkwODIsIDQ5MDk3LCA0OTExMiwgNDkxMjcsIDQ5MTQyLCA0OTE1NywgNDkxNzIsIDQ5MTg3LCA0OTIwMiwgNDkyMTcsIAotICAgIDQ5MjMyLCA0OTI0NywgNDkyNjIsIDQ5Mjc3LCA0OTI5MiwgNDkzMDcsIDQ5MzIyLCA0OTMzNywgNDkzNTIsIDQ5MzY3LCAKLSAgICA0OTM4MiwgNDkzOTcsIDQ5NDEyLCA0OTQyNywgNDk0NDIsIDQ5NDU3LCA0OTQ3MiwgNDk0ODcsIDQ5NTAyLCA0OTUxNywgCi0gICAgNDk1MzIsIDQ5NTQ4LCA0OTU2NCwgNDk1ODAsIDQ5NTk2LCA0OTYxMiwgNDk2MjgsIDQ5NjQ0LCA0OTY2MCwgNDk2NzYsIAotICAgIDQ5NjkyLCA0OTcwOCwgNDk3MjQsIDQ5NzQwLCA0OTc1NiwgNDk3NzIsIDQ5Nzg4LCA0OTgwNCwgNDk4MjAsIDQ5ODM2LCAKLSAgICA0OTg1MiwgNDk4NjgsIDQ5ODg0LCA0OTkwMCwgNDk5MTYsIDQ5OTMyLCA0OTk0OCwgNDk5NjQsIDQ5OTgwLCA0OTk5NiwgCi0gICAgNTAwMTIsIDUwMDI4LCA1MDA0NCwgNTAwNjAsIDUwMDc2LCA1MDA5MiwgNTAxMDgsIDUwMTI0LCA1MDE0MCwgNTAxNTYsIAotICAgIDUwMTcyLCA1MDE4OCwgNTAyMDQsIDUwMjIwLCA1MDIzNiwgNTAyNTIsIDUwMjY4LCA1MDI4NCwgNTAzMDAsIDUwMzE2LCAKLSAgICA1MDMzMiwgNTAzNDgsIDUwMzY0LCA1MDM4MCwgNTAzOTYsIDUwNDEyLCA1MDQyOCwgNTA0NDQsIDUwNDYwLCA1MDQ3NiwgCi0gICAgNTA0OTIsIDUwNTA4LCA1MDUyNCwgNTA1NDAsIDUwNTU2LCA1MDU3MiwgNTA1ODgsIDUwNjA0LCA1MDYyMCwgNTA2MzYsIAotICAgIDUwNjUyLCA1MDY2OCwgNTA2ODQsIDUwNzAwLCA1MDcxNiwgNTA3MzIsIDUwNzQ4LCA1MDc2NCwgNTA3ODAsIDUwNzk2LCAKLSAgICA1MDgxMiwgNTA4MjgsIDUwODQ0LCA1MDg2MCwgNTA4NzYsIDUwODkyLCA1MDkwOCwgNTA5MjQsIDUwOTQwLCA1MDk1NiwgCi0gICAgNTA5NzIsIDUwOTg4LCA1MTAwNCwgNTEwMjAsIDUxMDM2LCA1MTA1MiwgNTEwNjgsIDUxMDg0LCA1MTEwMCwgNTExMTYsIAotICAgIDUxMTMyLCA1MTE0OCwgNTExNjQsIDUxMTgwLCA1MTE5NiwgNTEyMTIsIDUxMjI4LCA1MTI0NCwgNTEyNjAsIDUxMjc2LCAKLSAgICA1MTI5MiwgNTEzMDgsIDUxMzI0LCA1MTM0MCwgNTEzNTYsIDUxMzcyLCA1MTM4OCwgNTE0MDQsIDUxNDIwLCA1MTQzNiwgCi0gICAgNTE0NTIsIDUxNDY4LCA1MTQ4NCwgNTE1MDAsIDUxNTE2LCA1MTUzMiwgNTE1NDgsIDUxNTY0LCA1MTU4MCwgNTE1OTYsIAotICAgIDUxNjEyLCA1MTYyOCwgNTE2NDQsIDUxNjYwLCA1MTY3NiwgNTE2OTIsIDUxNzA4LCA1MTcyNCwgNTE3NDAsIDUxNzU2LCAKLSAgICA1MTc3MiwgNTE3ODgsIDUxODA0LCA1MTgyMCwgNTE4MzYsIDUxODUyLCA1MTg2OCwgNTE4ODQsIDUxOTAwLCA1MTkxNiwgCi0gICAgNTE5MzIsIDUxOTQ4LCA1MTk2NCwgNTE5ODAsIDUxOTk2LCA1MjAxMiwgNTIwMjgsIDUyMDQ0LCA1MjA2MCwgNTIwNzYsIAotICAgIDUyMDkyLCA1MjEwOCwgNTIxMjQsIDUyMTQwLCA1MjE1NiwgNTIxNzIsIDUyMTg4LCA1MjIwNCwgNTIyMjAsIDUyMjM2LCAKLSAgICA1MjI1MiwgNTIyNjgsIDUyMjg0LCA1MjMwMCwgNTIzMTYsIDUyMzMyLCA1MjM0OCwgNTIzNjQsIDUyMzgwLCA1MjM5NiwgCi0gICAgNTI0MTIsIDUyNDI4LCA1MjQ0NCwgNTI0NjAsIDUyNDc2LCA1MjQ5MiwgNTI1MDgsIDUyNTI0LCA1MjU0MCwgNTI1NTYsIAotICAgIDUyNTcyLCA1MjU4OCwgNTI2MDQsIDUyNjIwLCA1MjYzNiwgNTI2NTIsIDUyNjY4LCA1MjY4NCwgNTI3MDAsIDUyNzE2LCAKLSAgICA1MjczMiwgNTI3NDgsIDUyNzY0LCA1Mjc4MCwgNTI3OTYsIDUyODEyLCA1MjgyOCwgNTI4NDQsIDUyODYwLCA1Mjg3NiwgCi0gICAgNTI4OTIsIDUyOTA4LCA1MjkyNCwgNTI5NDAsIDUyOTU2LCA1Mjk3MiwgNTI5ODgsIDUzMDA0LCA1MzAyMCwgNTMwMzYsIAotICAgIDUzMDUyLCA1MzA2OCwgNTMwODQsIDUzMTAwLCA1MzExNiwgNTMxMzIsIDUzMTQ4LCA1MzE2NCwgNTMxODAsIDUzMTk2LCAKLSAgICA1MzIxMiwgNTMyMjgsIDUzMjQ0LCA1MzI2MCwgNTMyNzYsIDUzMjkyLCA1MzMwOCwgNTMzMjQsIDUzMzQwLCA1MzM1NiwgCi0gICAgNTMzNzIsIDUzMzg4LCA1MzQwNCwgNTM0MjAsIDUzNDM2LCA1MzQ1MiwgNTM0NjgsIDUzNDg0LCA1MzUwMCwgNTM1MTYsIAotICAgIDUzNTMyLCA1MzU0OCwgNTM1NjQsIDUzNTgwLCA1MzU5NiwgNTM2MTIsIDUzNjI4LCA1MzY0NCwgNTM2NjAsIDUzNjc2LCAKLSAgICA1MzY5MiwgNTM3MDgsIDUzNzI0LCA1Mzc0MCwgNTM3NTYsIDUzNzcyLCA1Mzc4OCwgNTM4MDQsIDUzODIwLCA1MzgzNiwgCi0gICAgNTM4NTIsIDUzODY4LCA1Mzg4NCwgNTM5MDAsIDUzOTE2LCA1MzkzMiwgNTM5NDgsIDUzOTY0LCA1Mzk4MCwgNTM5OTYsIAotICAgIDU0MDEyLCA1NDAyOCwgNTQwNDQsIDU0MDYwLCA1NDA3NiwgNTQwOTIsIDU0MTA4LCA1NDEyNCwgNTQxNDAsIDU0MTU2LCAKLSAgICA1NDE3MiwgNTQxODgsIDU0MjA0LCA1NDIyMCwgNTQyMzYsIDU0MjUyLCA1NDI2OCwgNTQyODQsIDU0MzAwLCA1NDMxNiwgCi0gICAgNTQzMzIsIDU0MzQ4LCA1NDM2NCwgNTQzODAsIDU0Mzk2LCA1NDQxMiwgNTQ0MjgsIDU0NDQ0LCA1NDQ2MCwgNTQ0NzYsIAotICAgIDU0NDkyLCA1NDUwOCwgNTQ1MjQsIDU0NTQwLCA1NDU1NiwgNTQ1NzIsIDU0NTg4LCA1NDYwNCwgNTQ2MjAsIDU0NjM2LCAKLSAgICA1NDY1MiwgNTQ2NjgsIDU0Njg0LCA1NDcwMCwgNTQ3MTYsIDU0NzMyLCA1NDc0OCwgNTQ3NjQsIDU0NzgwLCA1NDc5NiwgCi0gICAgNTQ4MTIsIDU0ODI4LCA1NDg0NCwgNTQ4NjAsIDU0ODc2LCA1NDg5MiwgNTQ5MDgsIDU0OTI0LCA1NDk0MCwgNTQ5NTYsIAotICAgIDU0OTcyLCA1NDk4OCwgNTUwMDQsIDU1MDIwLCA1NTAzNiwgNTUwNTIsIDU1MDY4LCA1NTA4NCwgNTUxMDAsIDU1MTE2LCAKLSAgICA1NTEzMiwgNTUxNDgsIDU1MTY0LCA1NTE4MCwgNTUxOTYsIDU1MjEyLCA1NTIyOCwgNTUyNDQsIDU1MjYwLCA1NTI3NiwgCi0gICAgNTUyOTIsIDU1MzA4LCA1NTMyNCwgNTUzNDAsIDU1MzU2LCA1NTM3MiwgNTUzODgsIDU1NDA0LCA1NTQyMCwgNTU0MzYsIAotICAgIDU1NDUyLCA1NTQ2OCwgNTU0ODQsIDU1NTAwLCA1NTUxNiwgNTU1MzIsIDU1NTQ4LCA1NTU2NCwgNTU1ODAsIDU1NTk2LCAKLSAgICA1NTYxMiwgNTU2MjgsIDU1NjQ0LCA1NTY2MCwgNTU2NzYsIDU1NjkyLCA1NTcwOCwgNTU3MjQsIDU1NzQwLCA1NTc1NiwgCi0gICAgNTU3NzIsIDU1Nzg4LCA1NTgwNCwgNTU4MjAsIDU1ODM2LCA1NTg1MiwgNTU4NjgsIDU1ODg0LCA1NTkwMCwgNTU5MTYsIAotICAgIDU1OTMyLCA1NTk0OCwgNTU5NjQsIDU1OTgwLCA1NTk5NiwgNTYwMTIsIDU2MDI4LCA1NjA0NCwgNTYwNjAsIDU2MDc2LCAKLSAgICA1NjA5MiwgNTYxMDgsIDU2MTI0LCA1NjE0MCwgNTYxNTYsIDU2MTcyLCA1NjE4OCwgNTYyMDQsIDU2MjIwLCA1NjIzNiwgCi0gICAgNTYyNTIsIDU2MjY4LCA1NjI4NCwgNTYzMDAsIDU2MzE2LCA1NjMzMiwgNTYzNDgsIDU2MzY0LCA1NjM4MCwgNTYzOTYsIAotICAgIDU2NDEyLCA1NjQyOCwgNTY0NDQsIDU2NDYwLCA1NjQ3NiwgNTY0OTIsIDU2NTA4LCA1NjUyNCwgNTY1NDAsIDU2NTU2LCAKLSAgICA1NjU3MiwgNTY1ODgsIDU2NjA0LCA1NjYyMCwgNTY2MzYsIDU2NjUyLCA1NjY2OCwgNTY2ODQsIDU2NzAwLCA1NjcxNiwgCi0gICAgNTY3MzIsIDU2NzQ4LCA1Njc2NCwgNTY3ODAsIDU2Nzk2LCA1NjgxMiwgNTY4MjgsIDU2ODQ0LCA1Njg2MCwgNTY4NzYsIAotICAgIDU2ODkyLCA1NjkwOCwgNTY5MjQsIDU2OTQwLCA1Njk1NiwgNTY5NzIsIDU2OTg4LCA1NzAwNCwgNTcwMjAsIDU3MDM2LCAKLSAgICA1NzA1MiwgNTcwNjgsIDU3MDg0LCA1NzEwMCwgNTcxMTYsIDU3MTMyLCA1NzE0OCwgNTcxNjQsIDU3MTgwLCA1NzE5NiwgCi0gICAgNTcyMTIsIDU3MjI4LCA1NzI0NCwgNTcyNjAsIDU3Mjc2LCA1NzI5MiwgNTczMDgsIDU3MzI0LCA1NzM0MCwgNTczNTYsIAotICAgIDU3MzcyLCA1NzM4OCwgNTc0MDQsIDU3NDIwLCA1NzQzNiwgNTc0NTIsIDU3NDY4LCA1NzQ4NCwgNTc1MDAsIDU3NTE2LCAKLSAgICA1NzUzMiwgNTc1NDgsIDU3NTY0LCA1NzU4MCwgNTc1OTYsIDU3NjEyLCA1NzYyOCwgNTc2NDQsIDU3NjYwLCA1NzY3NiwgCi0gICAgNTc2OTIsIDU3NzA4LCA1NzcyNCwgNTc3NDAsIDU3NzU2LCA1Nzc3MiwgNTc3ODgsIDU3ODA0LCA1NzgyMCwgNTc4MzYsIAotICAgIDU3ODUyLCA1Nzg2OCwgNTc4ODQsIDU3OTAwLCA1NzkxNiwgNTc5MzIsIDU3OTQ4LCA1Nzk2NCwgNTc5ODAsIDU3OTk2LCAKLSAgICA1ODAxMiwgNTgwMjgsIDU4MDQ0LCA1ODA2MCwgNTgwNzYsIDU4MDkyLCA1ODEwOCwgNTgxMjQsIDU4MTQwLCA1ODE1NiwgCi0gICAgNTgxNzIsIDU4MTg4LCA1ODIwNCwgNTgyMTksIDE2NzYyLCA1ODIyOCwgNTgyMzQsIDU4MjQwLCA1ODI1MCwgNTgyNTgsIAotICAgIDE0ODk0LCAxNTQ0NSwgOTk2MCwgNTgyNzEsIDE1MjAsIDU4Mjc5LCAzNzYxLCAyNzQzMiwgNzE4MywgNTgyODUsIDU4MjkwLCAKLSAgICA1ODI5NSwgNTgzMDAsIDU4MzA1LCA1ODMxMSwgNTgzMTYsIDU4MzIyLCA1ODMyNywgNTgzMzMsIDU4MzM4LCA1ODM0MywgCi0gICAgNTgzNDgsIDU4MzUzLCA1ODM1OSwgNTgzNjQsIDU4MzY5LCA1ODM3NCwgNTgzNzksIDU4Mzg0LCA1ODM4OSwgNTgzOTQsIAotICAgIDU4NDAwLCA1ODQwNSwgNTg0MTEsIDU4NDE4LCAyNTYxLCA1ODQyMywgNTg0MjksIDg1MjYsIDU4NDMzLCA1ODQzOCwgCi0gICAgNTg0NDUsIDU4NDUzLCA0MCwgNTg0NTcsIDU4NDYzLCA1ODQ2OCwgNTg0NzMsIDU4NDc3LCA1ODQ4MiwgNTg0ODYsIDU4NDkwLCAKLSAgICAxMDY4NCwgNTg0OTQsIDU4NTA0LCA1ODUxNywgNTg1MjgsIDU4NTQxLCA1ODU0OCwgNTg1NTQsIDU4NTU5LCA1ODU2NSwgCi0gICAgNTg1NzEsIDU4NTc3LCA1ODU4MiwgNTg1ODcsIDU4NTkyLCA1ODU5NywgNTg2MDEsIDU4NjA2LCA1ODYxMSwgNTg2MTYsIAotICAgIDU4NjIyLCA1ODYyOCwgNTg2MzQsIDU4NjM5LCA1ODY0MywgNTg2NDgsIDU4NjUzLCA1ODY1NywgNTg2NjIsIDU4NjY3LCAKLSAgICA1ODY3MiwgNTg2NzYsIDEwNzAwLCAxMDcxMSwgMTA3MTYsIDE1NjMsIDU4NjgwLCAxNTY4LCA1ODY4NiwgMTYyMzksIAotICAgIDU4Njg5LCA1ODY5NSwgMTU5OSwgNTg3MDEsIDE2MDUsIDE2MTEsIDEwNzQ2LCA1ODcwNiwgNTg3MTQsIDU4NzIxLCA1ODcyNSwgCi0gICAgNTg3MzEsIDU4NzM2LCAzMDk3NywgNTg3NDEsIDU4NzQ4LCA1ODc1MywgNTg3NTcsIDU4NzYxLCAxNjE2LCAxNjMzMSwgCi0gICAgNTg3NzAsIDU4Nzc0LCAxNjM0MiwgMTEyNSwgNTg3NzgsIDU4Nzg1LCA1ODc5MCwgNTg3OTQsIDE2MzY3LCAxNjIwLCAKLSAgICAzNzM1MCwgNTg3OTcsIDU4ODAyLCA1ODgxMiwgNTg4MjEsIDU4ODI2LCA1ODgzMCwgNTg4MzYsIDE2MjUsIDM5MjU5LCAKLSAgICA1ODg0MSwgNTg4NTAsIDU4ODU2LCA1ODg2MSwgMTA5MDQsIDEwOTEwLCA1ODg2NywgNTg4NzksIDU4ODk2LCA1ODkxMywgCi0gICAgNTg5MzAsIDU4OTQ3LCA1ODk2NCwgNTg5ODEsIDU4OTk4LCA1OTAxNSwgNTkwMzIsIDU5MDQ5LCA1OTA2NiwgNTkwODMsIAotICAgIDU5MTAwLCA1OTExNywgNTkxMzQsIDU5MTUxLCA1OTE2OCwgNTkxODUsIDU5MjAyLCA1OTIxOSwgNTkyMzYsIDU5MjUzLCAKLSAgICA1OTI3MCwgNTkyODcsIDU5MzA0LCA1OTMyMSwgNTkzMzgsIDU5MzU1LCA1OTM3MiwgNTkzODksIDU5NDA2LCA1OTQyMywgCi0gICAgNTk0NDAsIDU5NDU3LCA1OTQ3NCwgNTk0OTEsIDU5NTA4LCA1OTUyNSwgNTk1NDIsIDU5NTU5LCA1OTU3NiwgNTk1OTMsIAotICAgIDU5NjEwLCA1OTYyNywgNTk2NDQsIDU5NjYxLCA1OTY3OCwgNTk2OTUsIDU5NzEyLCA1OTcyMywgNTk3MjgsIDE2MzAsIAotICAgIDU5NzMyLCA1OTczOCwgNTk3NDMsIDU5NzQ4LCA5MzI2LCAxNjM1LCA1OTc1NCwgNTk3NjMsIDI3NzMxLCA1OTc2OCwgCi0gICAgNTk3NzksIDU5Nzg5LCA1OTc5NCwgNTk4MDEsIDU5ODA3LCA1OTgxMiwgNTk4MTcsIDE2NjE5LCA1OTgyMSwgMTA5MjEsIAotICAgIDE2NDAsIDEwOTI2LCA1OTgyNywgNTk4MzIsIDU5ODM4LCA1OTg0MywgNTk4NDgsIDU5ODUzLCA1OTg1OCwgNTk4NjMsIAotICAgIDU5ODY4LCA1OTg3MywgNTk4NzksIDU5ODg1LCA1OTg5MSwgNTk4OTYsIDU5OTAwLCA1OTkwNSwgNTk5MTAsIDU5OTE0LCAKLSAgICA1OTkxOSwgNTk5MjQsIDU5OTI5LCA1OTkzMywgNTk5MzgsIDU5OTQ0LCA1OTk0OSwgNTk5NTQsIDU5OTU4LCA1OTk2MywgCi0gICAgNTk5NjgsIDU5OTc0LCA1OTk3OSwgNTk5ODQsIDU5OTkwLCA1OTk5NiwgNjAwMDEsIDYwMDA1LCA2MDAxMCwgNjAwMTUsIAotICAgIDYwMDIwLCA2MDAyNCwgNjAwMjksIDYwMDM0LCA2MDAzOSwgNjAwNDUsIDYwMDUxLCA2MDA1NiwgNjAwNjAsIDYwMDY0LCAKLSAgICA2MDA2OSwgNjAwNzQsIDYwMDc5LCAyOTEyOSwgNjAwODMsIDYwMDg4LCA2MDA5MywgNjAwOTksIDYwMTA0LCA2MDEwOSwgCi0gICAgNjAxMTMsIDYwMTE4LCA2MDEyMywgNjAxMjksIDYwMTM0LCA2MDEzOSwgNjAxNDUsIDYwMTUxLCA2MDE1NiwgNjAxNjAsIAotICAgIDYwMTY1LCA2MDE3MCwgNjAxNzQsIDYwMTc5LCA2MDE4NCwgNjAxODksIDYwMTk1LCA2MDIwMSwgNjAyMDYsIDYwMjEwLCAKLSAgICA2MDIxNSwgNjAyMjAsIDYwMjI0LCA2MDIyOSwgNjAyMzQsIDYwMjM5LCA2MDI0MywgNjAyNDYsIDMxNjM5LCA2MDI1MSwgCi0gICAgNjAyNTksIDE2Njg1LCAzNjYzLCAxMTAxNywgNjAyNjUsIDYwMjc1LCA2MDI5MCwgMTEwMjIsIDYwMzAxLCA2MDMwNiwgCi0gICAgNjAzMTcsIDYwMzI5LCA2MDM0MSwgNjAzNTMsIDI2OTUsIDYwMzY1LCA2MDM3MCwgNjAzODIsIDYwMzg2LCA2MDM5MiwgCi0gICAgNjAzOTgsIDYwNDAzLCAxNjUyLCAxMDc4LCA2MDQxMiwgNjA0MTcsIDM5MzA5LCA2MDQyMSwgNjA0MjUsIDYwNDMwLCAKLSAgICA2MDQzNCwgMTY3NzAsIDYwNDM5LCA2MDQ0MiwgNjA0NTAsIDYwNDU4LCAxNjU2LCAxMTA0NywgMTEwNTMsIDE2NjEsIAotICAgIDYwNDY2LCA2MDQ3MywgNjA0NzgsIDYwNDg3LCA2MDQ5NywgNjA1MDQsIDYwNTA5LCA2MDUxNCwgMTY2NiwgNjA1MjEsIAotICAgIDYwNTI2LCAxNjg4NSwgNjA1MzAsIDYwNTM1LCA2MDU0MiwgNjA1NDgsIDYwNTUyLCA2MDU2MywgNjA1NzMsIDE2OTA3LCAKLSAgICA5MjM0LCA5MjQxLCAxNjcxLCA2MDU4MCwgNjA1ODYsIDYwNTk0LCA2MDYwMSwgNjA2MDcsIDYwNjE0LCA2MDYyNiwgNjA2MzIsIAotICAgIDYwNjM3LCA2MDY0OSwgNjA2NjAsIDYwNjY5LCA2MDY3OSwgMzc0MCwgMzA4MTMsIDMwODIyLCAxNjk0NywgMTY3NiwgMTY4MCwgCi0gICAgNjA2ODcsIDYwNjk4LCA2MDcwMywgMTY4MywgNjA3MTEsIDYwNzE2LCAxNjk5OCwgNjA3MjgsIDYwNzM0LCA2MDczOSwgCi0gICAgNjA3NDcsIDE2ODgsIDYwNzUyLCA2MDc1NywgNjA3NjUsIDYwNzczLCA2MDc4MCwgNjA3ODksIDYwNzk3LCA2MDgwNiwgCi0gICAgMTY5MywgNjA4MTAsIDE2OTgsIDYwODE1LCA2MDgyMiwgMTcwNzIsIDYwODMwLCA2MDgzNiwgNjA4NDEsIDYwODQ5LCAKLSAgICA2MDg1NiwgNjA4NjQsIDIyNTc0LCA2MDg2OSwgMTExODIsIDYwODc4LCA2MDg4NCwgNjA4OTEsIDYwODk4LCA2MDkwNCwgCi0gICAgNjA5MTQsIDYwOTIwLCA2MDkyNSwgNjA5MzYsIDYwOTQxLCA2MDk0OSwgMTExOTEsIDExMTk2LCA2MDk1NywgNjA5NjMsIAotICAgIDYwOTcxLCAzODA1LCAxNzExNCwgMzkzOTcsIDYwOTc2LCA2MDk4MiwgNjA5ODcsIDYwOTk1LCA2MTAwMiwgMTIwMzYsIAotICAgIDYxMDA3LCA2MTAxMywgMTcwOSwgNjEwMTgsIDYxMDIxLCAxMTMyLCA2MTAyNywgNjEwMzIsIDYxMDM3LCA2MTA0MywgCi0gICAgNjEwNDgsIDYxMDUzLCA2MTA1OCwgNjEwNjMsIDYxMDY4LCA2MTA3MywgMTcxOCwgOSwgNjEwNzksIDYxMDgzLCA2MTA4OCwgCi0gICAgNjEwOTIsIDYxMDk2LCA2MTEwMCwgMzE4NzksIDYxMTA1LCA2MTExMCwgNjExMTUsIDYxMTE5LCA2MTEyMiwgNjExMjYsIAotICAgIDYxMTMwLCA2MTEzNSwgNjExMzksIDYxMTQ0LCA2MTE0OCwgMzQ2MTYsIDM0NjIxLCAzNDYyNiwgNjExNTEsIDYxMTU4LCAKLSAgICA2MTE2NCwgMzkxMTgsIDYxMTc0LCAzNDYzMiwgMzIxMzcsIDMxODk0LCAzMTkwMCwgMzQ2NDgsIDMxOTA2LCA2MTE3OSwgCi0gICAgNjExODQsIDMyMTcwLCA2MTE4OCwgNjExOTEsIDYxMTk1LCA2MTIwMiwgNjEyMDUsIDYxMjEwLCA2MTIxNCwgNjEyMTgsIAotICAgIDYxMjIxLCA2MTIzMSwgNjEyNDMsIDYxMjUwLCA2MTI1NiwgNjEyNjMsIDMzNTczLCA2MTI2NiwgODU0MywgODc3LCA2MTI2OSwgCi0gICAgNjEyNzMsIDYxMjc4LCAzNjkwLCA2MTI4MiwgNjEyODUsIDEzNjMyLCA2MTI5MiwgNjEyOTksIDYxMzEyLCA2MTMyMCwgCi0gICAgNjEzMjksIDYxMzM4LCA2MTM0MywgNjEzNTMsIDYxMzY2LCA2MTM3OCwgNjEzODUsIDYxMzkwLCA2MTM5OSwgNjE0MTIsIAotICAgIDM2MDYwLCA2MTQzMCwgNjE0MzUsIDYxNDQyLCA2MTQ0OCwgNjU2LCA2MTQ1MywgNjE0NjEsIDYxNDY4LCAyNzI3MSwgNjI3LCAKLSAgICA2MTQ3NCwgNjE0ODAsIDYxNDkwLCA2MTQ5NiwgNjE1MDEsIDMxOTI0LCA2MDAzLCAzMTkzOCwgNjE1MDUsIDYxNTE1LCAKLSAgICA2MTUyMCwgNjE1MzAsIDYxNTQ1LCA2MTU1MSwgNjE1NTcsIDMxOTQ4LCA2MTU2MiwgMzEwOTQsIDYxNTY2LCA2MTU3MSwgCi0gICAgNjE1NzYsIDYxNTgwLCA2MTU4NSwgMTY5NTAsIDYxNTkyLCA2MTU5NywgNjE2MDEsIDYwNDQsIDMxOTc0LCA2MTYwNSwgCi0gICAgNjE2MTEsIDMxMiwgNjE2MjEsIDYxNjI4LCA2MTYzNSwgNjE2NDAsIDYxNjQ5LCA1ODgwNiwgNjE2NTUsIDYxNjYzLCAKLSAgICA2MTY2NywgNjE2NzEsIDYxNjc1LCA2MTY3OSwgNjE2ODQsIDYxNjg4LCA2MTY5NCwgNjE3MDIsIDYxNzA3LCA2MTcxMiwgCi0gICAgNjE3MTYsIDYxNzIxLCA2MTcyNSwgNjE3MjksIDYxNzM1LCA2MTc0MSwgNjE3NDYsIDYxNzUwLCAzMjA5OCwgNjE3NTUsIAotICAgIDMyMTA0LCAzMjExMCwgNjE3NjAsIDYxNzY2LCA2MTc3MywgNjE3NzgsIDYxNzgyLCAzMTExMSwgMTY2MTIsIDYxNzg1LCAKLSAgICA2MTc4OSwgNjE3OTQsIDYxODAxLCA2MTgwNywgNjE4MTEsIDYxODE2LCAzODgyOCwgNjE4MjIsIDYxODI2LCA2MTgzMCwgCi0gICAgNjE4MzUsIDYxODQxLCA2MTg0NywgNjE4NTksIDYxODY4LCA2MTg3OCwgNjE4ODQsIDYxODkxLCA2MTg5NiwgNjE5MDEsIAotICAgIDYxOTA1LCA2MTkwOCwgNjE5MTQsIDYxOTIxLCA2MTkyNiwgNjE5MzEsIDYxOTM4LCA2MTk0NSwgNjE5NTEsIDYxOTU2LCAKLSAgICA2MTk2MSwgNjE5NjksIDMyMTE1LCAyNDIzLCA2MTk3NCwgNjE5NzksIDYxOTg1LCA2MTk5MCwgNjE5OTYsIDYyMDAxLCAKLSAgICA2MjAwNiwgNjIwMTEsIDYyMDE3LCAzMjEzNiwgNjIwMjIsIDYyMDI4LCA2MjAzNCwgNjIwNDAsIDMyMjAwLCA2MjA0NSwgCi0gICAgNjIwNTAsIDYyMDU1LCAzMjIxMSwgNjIwNjAsIDYyMDY1LCA2MjA3MCwgNjIwNzYsIDYyMDgyLCAzMjIxNiwgNjIwODcsIAotICAgIDYyMDkyLCA2MjA5NywgMzIyNzEsIDMyMjc3LCA2MjEwMiwgNjIxMDcsIDMyMjgyLCA2MjExMiwgMjc5NTgsIDMyMzA0LCAKLSAgICAzMjMwOCwgNjIxMTcsIDYyMDkzLCA2MjEyMSwgNjIxMjksIDYyMTM1LCA2MjE0MywgNjIxNTAsIDYyMTU2LCA2MjE2NiwgCi0gICAgNjIxNzIsIDYyMTc5LCAxMDYzMSwgMzIzMjIsIDYyMTg1LCA2MjE5OCwgNjIyMDcsIDYyMjEzLCA2MjIyMiwgNjIyMjgsIAotICAgIDIzNTEyLCA2MjIzNSwgNjIyNDIsIDYyMjUyLCAzMjI3MiwgNjIyNTUsIDYyMjYyLCA2MjI2NywgNjIyNzEsIDYyMjc1LCAKLSAgICA2MjI4MCwgNjEyMCwgNjIyODQsIDYyMjg5LCA2MjI5NCwgMzQ3MTAsIDM0NzE1LCA2MjI5OCwgMzQ3MjksIDYyMzAzLCAKLSAgICAzNDczNCwgNjIzMDgsIDYyMzE0LCAzNDc0NiwgMzQ3NTIsIDM0NzU4LCA2MjMxOSwgNjIzMjUsIDIyNTM5LCA2MjMzNiwgCi0gICAgNjIzMzksIDYyMzUxLCA2MjM1OSwgMzIzNDUsIDYyMzYzLCA2MjM3MiwgNjIzODIsIDYyMzkxLCAzMjM1NSwgNjIzOTYsIAotICAgIDYyNDAzLCA2MjQxMiwgNjI0MTgsIDYyNDI2LCA2MjQzMywgNjA5NSwgNDM5NywgNjI0MzgsIDMyMjgzLCA2MjQ0NCwgCi0gICAgNjI0NDcsIDYyNDUzLCA2MjQ2MCwgNjI0NjUsIDYyNDcwLCAyMzQyMiwgNjI0NzQsIDYyNDgwLCA2MjQ4NiwgNjI0OTEsIAotICAgIDYyNDk2LCA2MjUwMCwgNjI1MDYsIDYyNTEyLCAzMzQ4MywgODYzLCAzNTcyMywgMzY2NDQsIDM2NjUwLCAzMjM5MSwgCi0gICAgNjI1MTcsIDYyNTIxLCA2MjUyNSwgNjI1MjgsIDYyNTQxLCA2MjU0NywgNjI1NTEsIDYyNTU0LCA2MjU1OSwgMzM3ODYsIAotICAgIDYyNTYzLCAzMTExNiwgMjEyODcsIDYyNTY5LCA2MDI0LCA2MDMyLCA5MDc1LCA2MjU3MiwgNjI1NzcsIDYyNTgyLCA2MjU4NywgCi0gICAgNjI1OTIsIDYyNTk3LCA2MjYwMiwgNjI2MDcsIDYyNjEyLCA2MjYxNywgNjI2MjMsIDYyNjI4LCA2MjYzMywgNjI2MzksIAotICAgIDYyNjQ0LCA2MjY0OSwgNjI2NTQsIDYyNjU5LCA2MjY2NCwgNjI2NjksIDYyNjc1LCA2MjY4MCwgNjI2ODYsIDYyNjkxLCAKLSAgICA2MjY5NiwgNjI3MDEsIDYyNzA2LCA2MjcxMSwgNjI3MTYsIDYyNzIxLCA2MjcyNiwgNjI3MzEsIDYyNzM2LCA2Mjc0MiwgCi0gICAgNjI3NDcsIDYyNzUyLCA2Mjc1NywgNjI3NjIsIDYyNzY3LCA2Mjc3MiwgNjI3NzgsIDYyNzgzLCA2Mjc4OCwgNjI3OTMsIAotICAgIDYyNzk4LCA2MjgwMywgNjI4MDgsIDYyODEzLCA2MjgxOCwgNjI4MjMsIDYyODI5LCA2MjgzNCwgNjI4MzksIDYyODQ0LCAKLSAgICA2Mjg0OSwgNjI4NTUsIDYyODYxLCA2Mjg2NiwgNjI4NzIsIDYyODc3LCA2Mjg4MiwgNjI4ODcsIDYyODkyLCA2Mjg5NywgCi0gICAgMTUxMywgMjQ1LCA2MjkwMiwgNjI5MDYsIDYyOTEwLCA2MjkxNCwgMjUxMzMsIDYyOTE4LCA2MjkyMiwgNjI5MjcsIDYyOTMxLCAKLSAgICA2MjkzNiwgNjI5NDAsIDYyOTQ1LCA2Mjk1MCwgNjI5NTUsIDYyOTU5LCA2Mjk2MywgNjI5NjgsIDYyOTcyLCAxMzM2OSwgCi0gICAgNjI5NzcsIDYyOTgxLCA2Mjk4OCwgNjI5OTgsIDE1MjA2LCA2MzAwNywgNjMwMTYsIDYzMDIwLCA2MzAyNSwgNjMwMzAsIAotICAgIDYzMDM0LCAyNDkyNCwgMzAxOSwgNjMwMzgsIDYzMDQ0LCAxNzM2MywgNjMwNDgsIDYzMDU3LCA2MzA2NSwgNjMwNzEsIAotICAgIDYzMDgzLCA2MzA5NSwgNjMwOTksIDYzMTA0LCA2MzEwOCwgNjMxMTQsIDYzMTIwLCA2MzEyNSwgNjMxMzUsIDYzMTQ1LCAKLSAgICA2MzE1MSwgNjMxNTYsIDYzMTYwLCA2MzE2NSwgNjMxNzEsIDYzMTgwLCA2MzE4OSwgNjMxOTcsIDE1NTYwLCA2MzIwMSwgCi0gICAgNjMyMTAsIDYzMjE4LCA2MzIzMCwgNjMyNDEsIDYzMjUyLCA2MzI2MSwgNjMyNjUsIDYzMjc0LCA2MzI4NCwgNjMyOTIsIAotICAgIDYzMjk4LCA2MzMwMywgNjMzMDksIDYzMzE0LCA5OCwgMzA5MjUsIDYzMzI1LCAyNjI2NiwgMjYyNzYsIDYzMzMxLCA2MzMzOCwgCi0gICAgNjMzNDQsIDYzMzQ4LCA2MzM1OCwgNjMzNjksIDYzMzc3LCA2MzM4NiwgNjMzOTEsIDYzMzk2LCA2MzQwMCwgMTczMTcsIAotICAgIDYzNDA4LCA2MzQxMiwgNjM0MTgsIDYzNDI4LCA2MzQzNSwgNjM0NDEsIDM0ODA5LCA2MzQ0NywgNjM0NDksIDYzNDUyLCAKLSAgICA2MzQ1NiwgNjM0NjYsIDYzNDcyLCA2MzQ3OSwgMTMzMTUsIDYzNDg2LCA2MzQ5MiwgNjM1MDEsIDYzNTEwLCA2MzUxNiwgCi0gICAgNjM1MjIsIDYzNTI4LCA2MzUzMywgNjM1NDAsIDYzNTQ3LCA2MzU1MywgNjM1NjYsIDYzNTc1LCA2MzU4NCwgNjM1ODksIAotICAgIDYzNTkzLCA2MzU5OSwgNjM2MDYsIDYzNjEzLCA2MzYyMCwgNjM2MjcsIDYzNjM0LCA2MzYzOSwgNjM2NDMsIDYzNjQ3LCAKLSAgICA2MzY1MCwgNjM2NjAsIDYzNjY0LCA2MzY3NiwgNjM2ODUsIDYzNjg5LCA2MzY5NCwgNjM2OTgsIDYzNzA0LCA2MzcwOSwgCi0gICAgNjM3MTYsIDYzNzI1LCA2MzczMywgNjM3NDEsIDYzNzQ2LCA2Mzc1MCwgNjM3NTUsIDYzNzYwLCA2Mzc3MCwgNjM3NzgsIAotICAgIDYzNzgzLCA2Mzc4NywgNjM3OTEsIDYzNzk3LCA2MzgwOSwgNjM4MTcsIDYzODI3LCA2MzgzNCwgNjM4NDAsIDYzODQ1LCAKLSAgICA2Mzg0OSwgNjM4NTMsIDYzODU3LCA2Mzg2NiwgNjM4NzUsIDYzODg0LCA2Mzg5MCwgNjM4OTYsIDYzOTAyLCA2MzkwNywgCi0gICAgNjM5MTQsIDYzOTIwLCA2MzkyOCwgNjM5MzUsIDEyNDYzLCA2Mzk0MSwgNjM5NDcsIDYzOTUxLCAxNDI0NCwgNjM5NTUsIAotICAgIDYzOTYwLCA2Mzk3MCwgNjM5NzksIDYzOTg1LCA2Mzk5MSwgNjM5OTksIDY0MDA2LCA2NDAxMCwgNjQwMTQsIDY0MDIwLCAKLSAgICA2NDAyOCwgNjQwMzUsIDY0MDQxLCA2NDA1MiwgNjQwNTYsIDY0MDYwLCA2NDA2NCwgNjQwNjcsIDY0MDczLCA2NDA3OCwgCi0gICAgNjQwODIsIDY0MDg2LCA2NDA5NSwgNjQxMDMsIDY0MTEwLCA2NDExNiwgNjQxMjMsIDI0MDQ2LCAzODg3MCwgNjQxMjgsIAotICAgIDY0MTM2LCA2NDE0MCwgNjQxNDQsIDY0MTQ3LCA2NDE1NSwgNjQxNjIsIDY0MTY4LCA2NDE3NywgNjQxODUsIDY0MTkxLCAKLSAgICA2NDE5NiwgNjQyMDAsIDY0MjA1LCA2NDIwOSwgNjQyMTMsIDY0MjE4LCA2NDIyNywgNjQyMzEsIDY0MjM4LCA2NDI0NSwgCi0gICAgNjQyNTEsIDY0MjU5LCA2NDI2NSwgNjQyNzYsIDY0Mjg0LCA2NDI5MCwgMjI2NjksIDY0Mjk5LCA2NDMwNiwgNjQzMTMsIAotICAgIDY0MzIwLCA2NDMyNywgNjQzMzQsIDQxOTA3LCAxMzE1MywgNjQzNDEsIDY0MzQ4LCA2NDM1MywgMzQ4NDUsIDYyMTcsIAotICAgIDY0MzU5LCA2NDM2NCwgNjQzNjksIDY0Mzc1LCA2NDM4MSwgNjQzODcsIDY0MzkyLCA2NDM5NywgNjQ0MDIsIDY0NDA3LCAKLSAgICA2NDQxMywgNjQ0MTgsIDY0NDI0LCA2NDQyOSwgNjQ0MzUsIDY0NDQwLCA2NDQ0NSwgNjQ0NTAsIDY0NDU1LCA2NDQ2MCwgCi0gICAgNjQ0NjUsIDY0NDcwLCA2NDQ3NiwgNjQ0ODEsIDY0NDg3LCA2NDQ5MiwgNjQ0OTcsIDY0NTAyLCA2NDUwNywgNjQ1MTIsIAotICAgIDY0NTE3LCA2NDUyMywgNjQ1MjgsIDY0NTMzLCA2NDUzOCwgNjQ1NDMsIDY0NTQ4LCA2NDU1MywgNjQ1NTgsIDY0NTYzLCAKLSAgICA2NDU2OCwgNjQ1NzMsIDY0NTc5LCA2NDU4NCwgNjQ1ODksIDY0NTk0LCA2NDU5OSwgNjQ2MDQsIDY0NjA5LCA2NDYxNCwgCi0gICAgNjQ2MTksIDY0NjI1LCA2NDYzMCwgNjQ2MzUsIDY0NjQwLCA2NDY0NSwgNjQ2NTAsIDY0NjU1LCA2NDY2MCwgNjQ2NjUsIAotICAgIDY0NjcwLCA2NDY3NSwgNjQ2ODAsIDY0Njg1LCA2NDY5MSwgMTgzNCwgMjI0LCAzNzQ0NiwgNjQ2OTYsIDY0Njk5LCA2NDcwNCwgCi0gICAgNjQ3MDgsIDY0NzExLCA2NDcxNiwgNjM3MzcsIDY0NzI3LCA2NDczNywgNjQ3NDQsIDY0NzYwLCA2NDc2OSwgNjQ3NzksIAotICAgIDY0Nzg5LCA2NDc5NywgNjQ4MTEsIDY0ODE5LCA2NDgyMywgNjQ4MjYsIDY0ODMzLCA2NDgzOSwgNjQ4NTAsIDY0ODYyLCAKLSAgICA2NDg3MywgNjQ4ODIsIDY0ODg5LCAxMjk3LCAyMzMxMSwgNjQ4OTksIDI1OTAsIDY0OTAzLCA2NDkxMiwgMTEzOCwgMTcyOTAsIAotICAgIDM4MDgzLCA2NDkyMCwgNjQ5MjgsIDY0OTQyLCA2NDk1NSwgNjQ5NTksIDY0OTY0LCA2NDk2OSwgNjQ5NzQsIDY0OTgwLCAKLSAgICA2NDk4NiwgNjQ5OTEsIDg1MzUsIDY0OTk2LCA2NTAwMCwgNjUwMDgsIDExMDQ4LCA2NTAxMywgNjUwMTksIDY1MDI4LCAKLSAgICAxNzIxLCAxMTA2MCwgNzM2LCA2NTAzMiwgNjUwNDEsIDY1MDUxLCAyNzAzMCwgNjUwNjAsIDY1MDY2LCAxNjg2MiwgNjUwNzIsIAotICAgIDY1MDc2LCAzOTY0LCAxMTM5MSwgNjUwODIsIDY1MDg5LCA2MDY5MywgNjUwOTMsIDY1MDk3LCAzOTg4LCAxODksIDE0MTU5LCAKLSAgICA2NTEwMywgNjUxMTUsIDY1MTE5LCA2NTEyNSwgMjc3NTEsIDY1MTI5LCAxMTM3OSwgMjczMCwgNCwgNjUxMzQsIDY1MTQ0LCAKLSAgICA2NTE1MCwgNjUxNjEsIDY1MTY4LCA2NTE3NCwgNjUxODAsIDY1MTg4LCA2NTE5NSwgNjUyMDEsIDY1MjExLCA2NTIyMSwgCi0gICAgNjUyMzEsIDIzNDk5LCAxMzA5LCA2NTI0MCwgNjUyNDQsIDY1MjQ4LCA2NTI1NCwgNjUyNTgsIDI3NTMsIDI3NTksIDg1MzIsIAotICAgIDIyNjQsIDY1MjYyLCA2NTI2NiwgNjUyNzUsIDY1MjgzLCA2NTI5NCwgNjUzMDIsIDY1MzEwLCA2NTMxNiwgNjUzMjEsIAotICAgIDY1MzMyLCA2NTM0MywgNjUzNTEsIDY1MzU3LCA5Njk0LCA2NTM2MiwgNjUzNzAsIDY1Mzc0LCA2NTM3OCwgNjUzODIsIAotICAgIDY1Mzk0LCAyODEzNiwgNjU0MDEsIDY1NDExLCA2NTQxNywgNjU0MjMsIDk3OTYsIDY1NDMzLCA2NTQ0NCwgNjU0NTQsIAotICAgIDY1NDYzLCA2NTQ2NywgNjU0NzQsIDExNDAsIDExNzAsIDY1NDg0LCA2NTQ4OSwgNjU0OTcsIDY1NTA1LCA2NTUxNiwgCi0gICAgNjU1MjMsIDY1NTM3LCAxNDA4OCwgMzkzLCA2NTU0NywgNjU1NTEsIDY1NTU5LCA2NTU2OCwgNjU1NzYsIDY1NTgyLCAKLSAgICA2NTU5NiwgNjU2MDMsIDY1NjA5LCA2NTYxOCwgNjU2MjUsIDY1NjM1LCA2NTY0MywgMzgxMiwgMTU2LCA2NTY1MSwgNjU2NjIsIAotICAgIDY1NjY2LCA2NTY3OCwgMjc5NDksIDE2MSwgNjU2ODQsIDY1Njg5LCA2NTY5MywgNjU3MDAsIDY1NzA2LCA2NTcxNCwgCi0gICAgNjU3MjEsIDg4MTgsIDY1NzI4LCA2NTczNywgNjU3NDUsIDM4NzgsIDY1NzU4LCA4MTk5LCA2NTc2MiwgMjc5OCwgNDQzLCAKLSAgICA2NTc2NywgNjU3ODAsIDY1Nzg1LCAxODMzLCA2NTAsIDY1Nzg5LCAzODk1LCA2NTc5NywgNjU4MDMsIDY1ODA3LCA5MzEsIAotICAgIDY1ODE3LCA2NTgyNiwgNjU4MzEsIDE0OTI4LCAxNDkzNSwgNDUyNjksIDY1ODM1LCAzODIyLCAxMzA0MSwgNjU4NDMsIAotICAgIDY1ODUwLCAyMzU1NSwgNjU4NTQsIDY1ODYxLCA2NTg2NywgNjU4NzIsIDY1ODc3LCAxNDk0OCwgMzcyLCA2NTg4MiwgCi0gICAgNjU4OTQsIDY1OTAwLCA2NTkwOCwgMjgxMCwgMTc1MywgNjU5MTYsIDY1OTE4LCA2NTkyMywgNjU5MjgsIDY1OTMzLCAKLSAgICA2NTkzOSwgNjU5NDQsIDY1OTQ5LCA2NTk1NCwgNjU5NTksIDY1OTY0LCA2NTk2OSwgNjU5NzUsIDY1OTgwLCA2NTk4NSwgCi0gICAgNjU5OTAsIDY1OTk1LCA2NjAwMCwgNjYwMDUsIDY2MDEwLCA2NjAxNSwgNjYwMjEsIDY2MDI2LCA2NjAzMSwgNjYwMzYsIAotICAgIDY2MDQyLCA2NjA0NywgNjYwNTMsIDY2MDU4LCA2NjA2MywgNjYwNjgsIDY2MDczLCA2NjA3OCwgNjYwODMsIDY2MDg4LCAKLSAgICA2NjA5NCwgNjYwOTksIDY2MTA1LCA2NjExMCwgNjYxMTUsIDY2MTIwLCA2NjEyNSwgNjYxMzAsIDY2MTM1LCA2NjE0MCwgCi0gICAgNjYxNDUsIDY2MTUxLCA2NjE1NiwgNjYxNjEsIDY2MTY2LCA2NjE3MCwgNjYxNzQsIDY2MTc5LCA2NjE4MywgNjYxODgsIAotICAgIDY2MTkzLCA2NjE5OSwgNjYyMDQsIDY2MjA4LCA2NjIxMywgNjYyMTcsIDY2MjIwLCA2NjIyMiwgNjYyMjYsIDY2MjI5LCAKLSAgICA2NjIzNCwgNjYyMzgsIDY2MjQyLCA2NjI0NiwgNjYyNTAsIDY2MjU5LCA2NjI2MywgMzI1NDksIDY2MjY2LCAzMjU1NCwgCi0gICAgNjYyNzMsIDY2Mjc4LCAzMjU1OSwgNjYyODcsIDY2Mjk2LCAzMjU2NSwgNjYzMDEsIDMyNTcwLCA2NjMxMCwgNjYzMTUsIAotICAgIDExNTc4LCA2NjMxOSwgNjYzMjQsIDY2MzI5LCAzMjU3NSwgNjYzMzMsIDQwMjI1LCA2NjMzNywgNjYzNDAsIDY2MzQ0LCAKLSAgICA4MjExLCA2NjM1MCwgNjYzNTUsIDY2MzU5LCAzNzA1LCAzMjU4MCwgNjYzNjIsIDY2MzY2LCA2NjM2OSwgNjYzNzQsIAotICAgIDY2Mzc4LCA2NjM4NCwgNjYzOTIsIDY2NDA1LCA2NjQxNCwgNjY0MjAsIDY2NDI1LCA2NjQzMSwgNjY0MzUsIDY2NDQxLCAKLSAgICA2NjQ0OSwgNjY0NTQsIDY2NDU4LCA2NjQ2NSwgNjY0NzEsIDY2NDc5LCA2NjQ4OCwgNjY0OTYsIDMyNTgzLCA2NjUwMywgCi0gICAgNjY1MTMsIDY2NTIyLCA2NjUzNSwgNjY1NDAsIDY2NTQ1LCA2NjU1NCwgNjY1NjAsIDY2NTY3LCA2NjU3OCwgNjY1OTAsIAotICAgIDY2NTk3LCA2NjYwNiwgNjY2MTUsIDY2NjI0LCA2NjYzMSwgNjY2MzcsIDY2NjQ0LCA2NjY1MiwgNjY2NTksIDY2NjY3LCAKLSAgICA2NjY3NiwgNjY2ODQsIDY2NjkxLCA2NjY5OSwgNjY3MDgsIDY2NzE2LCA2NjcyNSwgNjY3MzUsIDY2NzQ0LCA2Njc1MiwgCi0gICAgNjY3NTksIDY2NzY3LCA2Njc3NiwgNjY3ODQsIDY2NzkzLCA2NjgwMywgNjY4MTIsIDY2ODIwLCA2NjgyOSwgNjY4MzksIAotICAgIDY2ODQ4LCA2Njg1OCwgNjY4NjksIDY2ODc5LCA2Njg4OCwgNjY4OTYsIDY2OTAzLCA2NjkxMSwgNjY5MjAsIDY2OTI4LCAKLSAgICA2NjkzNywgNjY5NDcsIDY2OTU2LCA2Njk2NCwgNjY5NzMsIDY2OTgzLCA2Njk5MiwgNjcwMDIsIDY3MDEzLCA2NzAyMywgCi0gICAgNjcwMzIsIDY3MDQwLCA2NzA0OSwgNjcwNTksIDY3MDY4LCA2NzA3OCwgNjcwODksIDY3MDk5LCA2NzEwOCwgNjcxMTgsIAotICAgIDY3MTI5LCA2NzEzOSwgNjcxNTAsIDY3MTYyLCA2NzE3MywgNjcxODMsIDY3MTkyLCA2NzIwMCwgNjcyMDcsIDY3MjE1LCAKLSAgICA2NzIyNCwgNjcyMzIsIDY3MjQxLCA2NzI1MSwgNjcyNjAsIDY3MjY4LCA2NzI3NywgNjcyODcsIDY3Mjk2LCA2NzMwNiwgCi0gICAgNjczMTcsIDY3MzI3LCA2NzMzNiwgNjczNDQsIDY3MzUzLCA2NzM2MywgNjczNzIsIDY3MzgyLCA2NzM5MywgNjc0MDMsIAotICAgIDY3NDEyLCA2NzQyMiwgNjc0MzMsIDY3NDQzLCA2NzQ1NCwgNjc0NjYsIDY3NDc3LCA2NzQ4NywgNjc0OTYsIDY3NTA0LCAKLSAgICA2NzUxMywgNjc1MjMsIDY3NTMyLCA2NzU0MiwgNjc1NTMsIDY3NTYzLCA2NzU3MiwgNjc1ODIsIDY3NTkzLCA2NzYwMywgCi0gICAgNjc2MTQsIDY3NjI2LCA2NzYzNywgNjc2NDcsIDY3NjU2LCA2NzY2NiwgNjc2NzcsIDY3Njg3LCA2NzY5OCwgNjc3MTAsIAotICAgIDY3NzIxLCA2NzczMSwgNjc3NDIsIDY3NzU0LCA2Nzc2NSwgNjc3NzcsIDY3NzkwLCA2NzgwMiwgNjc4MTMsIDY3ODIzLCAKLSAgICA2NzgzMiwgNjc4NDAsIDY3ODQ3LCA2Nzg1NSwgNjc4NjQsIDY3ODcyLCA2Nzg4MSwgNjc4OTEsIDY3OTAwLCA2NzkwOCwgCi0gICAgNjc5MTcsIDY3OTI3LCA2NzkzNiwgNjc5NDYsIDY3OTU3LCA2Nzk2NywgNjc5NzYsIDY3OTg0LCA2Nzk5MywgNjgwMDMsIAotICAgIDY4MDEyLCA2ODAyMiwgNjgwMzMsIDY4MDQzLCA2ODA1MiwgNjgwNjIsIDY4MDczLCA2ODA4MywgNjgwOTQsIDY4MTA2LCAKLSAgICA2ODExNywgNjgxMjcsIDY4MTM2LCA2ODE0NCwgNjgxNTMsIDY4MTYzLCA2ODE3MiwgNjgxODIsIDY4MTkzLCA2ODIwMywgCi0gICAgNjgyMTIsIDY4MjIyLCA2ODIzMywgNjgyNDMsIDY4MjU0LCA2ODI2NiwgNjgyNzcsIDY4Mjg3LCA2ODI5NiwgNjgzMDYsIAotICAgIDY4MzE3LCA2ODMyNywgNjgzMzgsIDY4MzUwLCA2ODM2MSwgNjgzNzEsIDY4MzgyLCA2ODM5NCwgNjg0MDUsIDY4NDE3LCAKLSAgICA2ODQzMCwgNjg0NDIsIDY4NDUzLCA2ODQ2MywgNjg0NzIsIDY4NDgwLCA2ODQ4OSwgNjg0OTksIDY4NTA4LCA2ODUxOCwgCi0gICAgNjg1MjksIDY4NTM5LCA2ODU0OCwgNjg1NTgsIDY4NTY5LCA2ODU3OSwgNjg1OTAsIDY4NjAyLCA2ODYxMywgNjg2MjMsIAotICAgIDY4NjMyLCA2ODY0MiwgNjg2NTMsIDY4NjYzLCA2ODY3NCwgNjg2ODYsIDY4Njk3LCA2ODcwNywgNjg3MTgsIDY4NzMwLCAKLSAgICA2ODc0MSwgNjg3NTMsIDY4NzY2LCA2ODc3OCwgNjg3ODksIDY4Nzk5LCA2ODgwOCwgNjg4MTgsIDY4ODI5LCA2ODgzOSwgCi0gICAgNjg4NTAsIDY4ODYyLCA2ODg3MywgNjg4ODMsIDY4ODk0LCA2ODkwNiwgNjg5MTcsIDY4OTI5LCA2ODk0MiwgNjg5NTQsIAotICAgIDY4OTY1LCA2ODk3NSwgNjg5ODYsIDY4OTk4LCA2OTAwOSwgNjkwMjEsIDY5MDM0LCA2OTA0NiwgNjkwNTcsIDY5MDY5LCAKLSAgICA2OTA4MiwgNjkwOTQsIDY5MTA3LCA2OTEyMSwgNjkxMzQsIDY5MTQ2LCA2OTE1NywgNjkxNjcsIDY5MTc2LCA2OTE4NCwgCi0gICAgNjkxOTEsIDY5MTk2LCA4MDU4LCA2OTIwMywgMzI1OTMsIDY5MjA4LCA2OTIxMywgMzI1OTgsIDY5MjE5LCAyMDkyOSwgCi0gICAgMzI2MDMsIDY5MjI0LCA2OTIzMCwgNjkyMzgsIDY5MjQ0LCA2OTI1MCwgNjkyNTcsIDY5MjY0LCA2OTI2OSwgNjkyNzMsIAotICAgIDY5Mjc2LCA2OTI4MCwgNjkyODksIDY5Mjk1LCA2OTMwNywgNjkzMTgsIDY5MzIyLCAzMDgxLCA4MDMzLCA2OTMyNywgCi0gICAgNjkzMzAsIDY5MzMyLCA2OTMzNiwgNjkzNDAsIDY5MzQ0LCA2OTM1MCwgNjkzNTUsIDI1OTQ0LCA2OTM2MCwgNjkzNjQsIAotICAgIDY5MzY3LCA2OTM3MiwgNjkzNzYsIDY5MzgzLCA2OTM4OSwgNjkzOTMsIDYxNzAsIDY5Mzk3LCAzMjYyMCwgNjk0MDIsIAotICAgIDY5NDA5LCA2OTQxOCwgNjk0MjYsIDY5NDM3LCA2OTQ0NSwgNjk0NTMsIDY5NDYwLCA2OTQ2NywgNjk0NzMsIDY5NDg0LCAKLSAgICAzMjYyNSwgNjk0ODksIDY5NTAwLCA2OTUxMiwgNjk1MjAsIDY5NTMxLCA2OTU0MCwgNjk1NTEsIDY5NTU2LCA2OTU2NCwgCi0gICAgMjU1NiwgNjk1NjksIDM0Mjk1LCA2OTU4MiwgNjk1ODYsIDY5NTk4LCA2OTYwNiwgNjk2MTEsIDY5NjE5LCAxNzQ4NSwgCi0gICAgNjk2MzAsIDY5NjM2LCA2OTY0MywgNjk2NTEsIDY5NjU3LCAzMjYzNSwgNjk2NjIsIDM5MTQsIDU4MjU0LCA2OTY2OSwgCi0gICAgNjk2NzIsIDY5NjgwLCA2OTY5MywgNjk3MDYsIDY5NzE5LCA2OTczMiwgNjk3MzksIDY5NzUwLCA2OTc1OSwgNDE3MjQsIAotICAgIDQxNzI5LCA2OTc2NCwgNjk3NjgsIDY5Nzc2LCA2OTc4MywgNjk3OTIsIDY5ODAwLCA2OTgwNiwgNjk4MTUsIDY5ODIzLCAKLSAgICA2OTgzMSwgNjk4MzUsIDY5ODQ0LCA2OTg1MywgNjk4NjMsIDY5ODc2LCA2OTg4OSwgNjk4OTksIDMyNjQwLCA2OTkwNSwgCi0gICAgNjk5MTIsIDY5OTE4LCAzMjY0NiwgNjk5MjMsIDY5OTI2LCA2OTkzMCwgNjk5MzgsIDY5OTQ3LCA0MTQ2MiwgNjk5NTUsIAotICAgIDY5OTY0LCA2OTk3MiwgNjk5NzksIDY5OTg3LCA2OTk5NywgNzAwMDYsIDcwMDE1LCA3MDAyNCwgNzAwMzIsIDcwMDQzLCAKLSAgICA3MDA1MywgOTM2NiwgMjE1NjcsIDcwMDYyLCA3MDA2NywgNzAwNzIsIDcwMDc2LCA3MDA4MCwgNzAwODUsIDcwMDkxLCAKLSAgICA3MDA5NiwgNzAxMDEsIDcwMTA3LCA3MDExMiwgNzAxMTcsIDIxNTMyLCA3MDEyMiwgNzAxMjksIDcwMTM3LCA3MDE0NSwgCi0gICAgNzAxNTAsIDcwMTU3LCA3MDE2NCwgNzAxNjksIDcwMTczLCA3MDE3NywgNzAxODUsIDcwMTkzLCAzMjY2MywgNzAxOTksIAotICAgIDcwMjA1LCA3MDIxNywgNzAyMjMsIDcwMjI3LCA3MDIzNCwgNzAyMzksIDcwMjUwLCA3MDI2MCwgNzAyNzAsIDcwMjgyLCAKLSAgICA3MDI4OCwgNzAyOTgsIDcwMzA4LCAzMjY5MCwgNzAzMTcsIDcwMzI2LCA3MDMzMiwgNzAzNDQsIDcwMzU1LCA3MDM2MiwgCi0gICAgNzAzNjcsIDcwMzcxLCA3MDM3OSwgNzAzODUsIDcwMzkwLCA3MDM5NSwgNzA0MDIsIDcwNDEwLCA3MDQyMiwgNzA0MzIsIAotICAgIDcwNDQxLCA3MDQ1MCwgNzA0NTcsIDM0MTU3LCAyMzg1MSwgNzA0NjMsIDcwNDY4LCA3MDQ3MiwgNzA0NzYsIDcwNDgxLCAKLSAgICA3MDQ4NywgNzA0OTgsIDcwNTExLCA3MDUxNiwgNzA1MjMsIDMyNjk1LCA3MDUyOCwgNzA1NDAsIDcwNTQ5LCA3MDU1OSwgCi0gICAgNzA1NzAsIDcwNTgzLCA3MDU5MCwgNzA1OTksIDcwNjA4LCA3MDYxNiwgNzA2MjEsIDcwNjI3LCAxMDY5LCA3MDYzMiwgCi0gICAgNzA2MzcsIDcwNjQyLCA3MDY0NywgNzA2NTMsIDcwNjU4LCA3MDY2MywgNzA2NjksIDcwNjc1LCA3MDY4MCwgNzA2ODQsIAotICAgIDcwNjg5LCA3MDY5NCwgNzA2OTksIDU4NzY2LCA3MDcwNCwgNzA3MDksIDcwNzE0LCA3MDcxOSwgNzA3MjUsIDcwNzMxLCAKLSAgICA3MDczNiwgNzA3NDAsIDcwNzQ1LCA3MDc1MCwgNzA3NTUsIDcwNzYxLCA3MDc2NiwgNzA3NzIsIDcwNzc3LCA3MDc4MiwgCi0gICAgNzA3ODcsIDcwNzkyLCA3MDc5NiwgNzA4MDIsIDcwODA3LCA3MDgxNiwgNzA4MjEsIDcwODI2LCA3MDgzMSwgNzA4MzYsIAotICAgIDcwODQwLCA3MDg0NywgNzA4NTMsIDE3MTM1LCAxNzE0MiwgNzA4NTgsIDcwODYyLCA3MDg2NiwgNzA4NzAsIDcwODc0LCAKLSAgICA0NTUyNCwgNzA4NzgsIDcwODA4LCA3MDg4MCwgNzA4OTAsIDMyNzA0LCA3MDg5MywgNzA5MDIsIDcwOTA4LCA2MTQzLCAKLSAgICAzMjcwOSwgNzA5MTIsIDcwOTE4LCA3MDkyMywgNzA5MjksIDcwOTM0LCA3MDkzOCwgNzA5NDUsIDcwOTUwLCA3MDk2MCwgCi0gICAgNzA5NjksIDcwOTczLCA3MDk3OSwgNzA5ODUsIDcwOTkxLCA3MDk5NSwgNzEwMDMsIDcxMDEwLCA3MTAxOCwgNzEwMjYsIAotICAgIDMyNzE0LCA3MTAzMywgNzEwMzYsIDcxMDQzLCA3MTA0OSwgNzEwNTQsIDcxMDU4LCA3MTA2NCwgNzEwNzEsIDcxMDc2LCAKLSAgICA3MTA4MCwgNzEwODksIDcxMDk3LCA3MTEwMywgNzExMDgsIDMyNzE5LCA3MTExNSwgNzExMjIsIDcxMTI4LCA3MTEzMywgCi0gICAgNzExMzksIDcxMTQ2LCA3MTE1MiwgMjEyOTQsIDI3NDU1LCA3MTE1OCwgNzExNjMsIDcxMTY5LCA3MTE4MSwgNzA4NDEsIAotICAgIDcwODQ4LCAyMTQ3MCwgNzExOTEsIDcxMTk2LCA3MTIwMywgNzEyMDksIDcxMjE2LCA3MTIyMiwgNzEyMzMsIDcxMjM4LCAKLSAgICA5MTEwLCA3MTI0NiwgNzEyNDksIDcxMjU1LCA3MTI1OSwgNzEyNjMsIDcxMjY2LCA3MTI3MiwgMzI0NjgsIDYxOTQsIDk2NCwgCi0gICAgMTM0MTksIDcxMjc5LCA3MTI4NSwgNzEyOTEsIDcxMjk3LCA3MTMwMywgNzEzMDksIDcxMzE1LCA3MTMyMSwgNzEzMjcsIAotICAgIDcxMzMyLCA3MTMzNywgNzEzNDIsIDcxMzQ3LCA3MTM1MiwgNzEzNTcsIDcxMzYyLCA3MTM2NywgNzEzNzIsIDcxMzc3LCAKLSAgICA3MTM4MiwgNzEzODcsIDcxMzkyLCA3MTM5OCwgNzE0MDMsIDcxNDA4LCA3MTQxNCwgNzE0MTksIDcxNDI0LCA3MTQzMCwgCi0gICAgNzE0MzYsIDcxNDQyLCA3MTQ0OCwgNzE0NTQsIDcxNDYwLCA3MTQ2NiwgNzE0NzIsIDcxNDc4LCA3MTQ4MywgNzE0ODgsIAotICAgIDcxNDk0LCA3MTQ5OSwgNzE1MDQsIDcxNTEwLCA3MTUxNSwgNzE1MjAsIDcxNTI1LCA3MTUzMCwgNzE1MzUsIDcxNTQwLCAKLSAgICA3MTU0NSwgNzE1NTAsIDcxNTU1LCA3MTU2MCwgNzE1NjUsIDcxNTcwLCA3MTU3NiwgNzE1ODEsIDcxNTg2LCA3MTU5MSwgCi0gICAgNzE1OTcsIDcxNjAyLCA3MTYwNywgNzE2MTIsIDcxNjE3LCA3MTYyMywgNzE2MjgsIDcxNjMzLCA3MTYzOCwgNzE2NDMsIAotICAgIDcxNjQ4LCA3MTY1MywgNzE2NTgsIDcxNjYzLCA3MTY2OCwgNzE2NzMsIDcxNjc4LCA3MTY4MywgNzE2ODgsIDcxNjkzLCAKLSAgICA3MTY5OCwgNzE3MDMsIDcxNzA4LCA3MTcxMywgNzE3MTgsIDcxNzI0LCA3MTcyOSwgNzE3MzQsIDcxNzM5LCA3MTc0NCwgCi0gICAgNzE3NDksIDcxNzU0LCA3MTc1OSwgMTg2NCwgMTQyLCA3MTc2NCwgNzE3NjgsIDcxNzcyLCA3MTc3NywgNzE3ODUsIDcxNzg5LCAKLSAgICA3MTc5NiwgNzE4MDQsIDcxODA4LCA3MTgyMSwgNzE4MjksIDcxODMzLCA3MTgzNiwgNzE4NDEsIDcxODQ1LCA3MTg1MCwgCi0gICAgNzE4NTQsIDcxODYyLCA3MTg2NiwgMjA5MzcsIDcxODcxLCA3MTg3NSwgNjA5NjcsIDcxODc5LCA3MTg4MiwgNzE4OTAsIAotICAgIDcxODk4LCA3MTkwNiwgNzE5MTEsIDcxOTE4LCA3MTkyNCwgNzE5MzAsIDcxOTM1LCA3MTk0MiwgNzE5NDcsIDcxOTU1LCAKLSAgICA2NDk0NywgNzE5NjIsIDcxOTY3LCA3MTk3MiwgNzE5NzYsIDExNjQ1LCA3MTk4MCwgNzE5ODUsIDcxOTkwLCA3MTk5NCwgCi0gICAgNzE5OTcsIDcyMDAzLCA3MjAwNywgNzIwMTcsIDcyMDI2LCA3MjAyOSwgNzIwMzMsIDcyMDQwLCA3MjA1MywgNzIwNTksIAotICAgIDcyMDY3LCA3MjA3OCwgNzIwODksIDcyMTAwLCA3MjExMSwgNzIxMjAsIDcyMTI2LCA3MjEzNSwgNzIxNDMsIDcyMTUzLCAKLSAgICA3MjE2NiwgNzIxNzMsIDcyMTg0LCA3MjE5MCwgNzIxOTUsIDcyMjAwLCA3MjIwNiwgNzIyMTIsIDcyMjIyLCA3MjIzMSwgCi0gICAgNzA1MzAsIDcyMjM5LCA3MjI0NSwgNzIyNTMsIDcyMjU5LCA3MjI2NywgNzIyNzAsIDcyMjc0LCA3MjI3OCwgNzIyODEsIAotICAgIDcyMjg3LCA3MjI5MywgNzIzMDEsIDcyMzEzLCA3MjMyNSwgNzIzMzIsIDcyMzM2LCA3MjM0NywgNzIzNTUsIDcyMzYyLCAKLSAgICA3MjM3NCwgNzIzODIsIDcyMzkwLCA3MjM5NywgNzI0MDMsIDcyNDEzLCA3MjQyMiwgNzI0MjcsIDcyNDM3LCA3MjQ0NiwgCi0gICAgNDA3ODgsIDcyNDUzLCA3MjQ1NywgNzI0NjIsIDcyNDcwLCA3MjQ3NywgNzI0ODMsIDcyNDg3LCA3MjQ5NywgNzI1MDgsIAotICAgIDcyNTE2LCA3MjUyMywgNzI1MzUsIDcyNTQ3LCA3MjU1NiwgNjk1NzIsIDcyNTYzLCA3MjU3NCwgNzI1ODgsIDcyNTk2LCAKLSAgICA3MjYwNiwgNzI2MTMsIDcyNjIxLCA3MjYzMywgNzI2NDIsIDcyNjUwLCA3MjY2MCwgNzI2NzEsIDcyNjgzLCA3MjY5MiwgCi0gICAgNzI3MDIsIDcyNzA5LCA3MjcxOCwgNzI3MzMsIDcyNzQxLCA3Mjc1MSwgNzI3NjAsIDcyNzY4LCA3Mjc4MSwgNzI3OTYsIAotICAgIDcyODAwLCA3MjgwOSwgNzI4MjEsIDcyODMyLCA3Mjg0MywgNzI4NTQsIDcyODY0LCA3Mjg3NSwgNzI4ODMsIDcyODg5LCAKLSAgICA3Mjg5OSwgNzI5MDcsIDcyOTEzLCAyOTAyOCwgNzI5MTgsIDcyOTI0LCA3MjkyOSwgNzI5MzYsIDk3MDgsIDE3NTA1LCAKLSAgICA3Mjk0MiwgNzI5NTEsIDcyOTU2LCA3Mjk2MCwgNzI5NjcsIDcyOTczLCA3Mjk3OCwgNzI5ODMsIDcyOTkxLCA3Mjk5OSwgCi0gICAgNzMwMDMsIDczMDA2LCA3MzAwOSwgNzMwMTEsIDczMDE4LCA3MzAyNCwgNzMwMzUsIDczMDQwLCA3MzA0NCwgNzMwNTEsIAotICAgIDczMDU3LCA3MzA2MiwgNzMwNzAsIDY1NDQ2LCA2NTQ1NiwgNzMwNzYsIDczMDgzLCA3MzA5MywgMTA2MTgsIDczMTAwLCAKLSAgICA3MzEwNSwgMjkyMjQsIDczMTE0LCA3MzExOSwgNzMxMjYsIDczMTM2LCA3MzE0NCwgNzMxNTIsIDczMTYxLCA3MzE2NywgCi0gICAgNzMxNzMsIDczMTgwLCA3MzE4NywgNzMxOTIsIDczMTk2LCA3MzIwNCwgNzMyMDksIDczMjE0LCA3MzIyMiwgNzMyMjksIAotICAgIDczMjM0LCA3MzI0MCwgNzMyNDMsIDczMjQ3LCA3MzI1NiwgNzE4MTYsIDczMjY1LCA3MzI2OSwgNzMyNzUsIDczMjg2LCAKLSAgICA3MzI5NiwgMTc1MTQsIDczMzA3LCA3MzMxNSwgMTc1MjYsIDczMzIyLCA3MzMyNiwgNzMzMzUsIDI3MzQxLCA3MzM0MiwgCi0gICAgNzMzNDYsIDczMzUxLCA3MzM2OCwgNzMzODAsIDEwNTc2LCA3MzM5MiwgNzMzOTcsIDczNDAyLCA3MzQwNywgMjEwMTAsIAotICAgIDczNDExLCA3MzQxNiwgNzM0MjEsIDczNDI3LCA3MzQzMiwgNTg0NiwgMjEwMTQsIDczNDM3LCA3MzQ0MiwgNzM0NDgsIAotICAgIDczNDU1LCA3MzQ2MCwgNzM0NjUsIDczNDcxLCA3MzQ3NywgNzM0ODMsIDczNDg4LCA3MzQ5NCwgNzM0OTgsIDczNTEyLCAKLSAgICA3MzUyMCwgNzM1MjgsIDczNTM0LCA3MzUzOSwgNzM1NDYsIDczNTU2LCA3MzU2NSwgNzM1NzAsIDczNTc1LCA3MzU4MywgCi0gICAgNzM1ODgsIDczNTk0LCA3MzU5OSwgNzM2MDgsIDU5ODIzLCA3MzYxMywgNzM2MTYsIDczNjM0LCA3MzY1MywgNzM2NjYsIAotICAgIDczNjgwLCA3MzY5NiwgNzM3MDMsIDczNzEwLCA3MzcxNiwgNzM3MjMsIDczNzI4LCA3MzczNCwgNzM3NDAsIDczNzQ4LCAKLSAgICA3Mzc1NCwgNzM3NTksIDczNzY0LCA3Mzc4MCwgMTA1ODksIDczNzk0LCA3MzgwMSwgNzM4MDksIDczODE1LCA3MzgxOSwgCi0gICAgNzM4MjIsIDczODI3LCA3MzgzMiwgNzM4MzksIDczODQ0LCA3Mzg1MywgNzM4NTgsIDczODY0LCA3Mzg3MywgNzM4ODIsIAotICAgIDczODg3LCA3Mzg5MSwgNzM4OTksIDczOTA4LCAxMTY3NCwgNzM5MTcsIDczOTI1LCA3MzkzMCwgNzM5MzYsIDExNjg1LCAKLSAgICA3Mzk0MSwgNzM5NDQsIDczOTQ5LCA3Mzk1OSwgNzM5NjgsIDczOTczLCA3Mzk3OSwgNzM5ODQsIDczOTkyLCA3Mzk5OSwgCi0gICAgNzQwMTAsIDc0MDIwLCA3NDAyNSwgNjQ4NzUsIDc0MDMwLCA3NDAzNiwgNzQwNDEsIDc0MDQ4LCA3NDA1NywgNzQwNjUsIAotICAgIDc0MDcxLCA3NDA3NywgNzQwODQsIDc0MDkwLCA3NDA5NCwgMTY5NjAsIDMwNTUsIDc0MDk5LCA3NDEwMywgNzQxMDcsIAotICAgIDc0MTEzLCA3NDEyMiwgNzQxMjgsIDc0MTM1LCA3NDEzOSwgNzQxNjAsIDc0MTgyLCA3NDE5OCwgNzQyMTUsIDc0MjM0LCAKLSAgICA3NDI0MywgNzQyNTMsIDc0MjYwLCA3NDI2NywgMjcyMjgsIDc0MjczLCA3NDI3NywgNzQyODUsIDc0Mjk3LCA3NDMwMywgCi0gICAgNzQzMTEsIDc0MzE1LCA3NDMyMywgNzQzMzAsIDc0MzM0LCA3NDM0MCwgNzQzNDYsIDc0MzUxLCAzNTYzLCA0MTkyNCwgCi0gICAgNzQzNTcsIDc0MzYxLCA3NDM2NSwgNzQzNjksIDc0Mzc0LCA3NDM3OSwgNzQzODQsIDc0MzkwLCA3NDM5NiwgNzQ0MDIsIAotICAgIDc0NDA5LCA3NDQxNSwgNzQ0MjIsIDc0NDI4LCA3NDQzNCwgNzQ0MzksIDc0NDQ1LCA3NDQ1MCwgNzQ0NTQsIDc0NDU5LCAKLSAgICA3NDQ2MywgNzQ0NjgsIDQxOTM5LCA3NDQ3MiwgNzQ0NzcsIDc0NDg1LCA3NDQ4OSwgNzQ0OTQsIDc0NTAxLCA3NDUxMCwgCi0gICAgNzQ1MTYsIDc0NTIwLCA3NDUyNywgNzQ1MzEsIDc0NTM0LCA3NDU0MSwgNzQ1NTAsIDc0NTU1LCA3NDU1OSwgNzQ1NjcsIAotICAgIDc0NTc2LCA3NDU4MCwgNzQ1ODgsIDc0NTk0LCA3NDU5OSwgNzQ2MDQsIDc0NjEwLCA3NDYxNiwgNzQ2MjEsIDc0NjI1LCAKLSAgICA3NDYzMSwgNzQ2MzYsIDc0NjQwLCA3NDY0NCwgNzQ2NDcsIDc0NjUyLCA3NDY2MCwgNzQ2NzAsIDc0Njc1LCAzOTQxNiwgCi0gICAgNzQ2ODMsIDc0Njk1LCA3NDY5OSwgNzQ3MDUsIDc0NzE3LCA3NDcyOCwgNzQ3MzUsIDc0NzQxLCA3NDc0OCwgNzQ3NjAsIAotICAgIDc0NzY3LCA3NDc3MywgMjEwODgsIDc0Nzc3LCA3NDc4MywgNzQ3OTAsIDc0Nzk2LCA3NDgwMiwgNzQ4MDcsIDc0ODEyLCAKLSAgICA3NDgxNywgNzQ4MjYsIDcwMzMsIDc0ODMxLCAxNjQyNiwgNzQ4MzcsIDc0ODQxLCA3NDg0NSwgNzQ4NDksIDc0ODU3LCAKLSAgICA3NDg2NiwgNzQ4NzAsIDc0ODc3LCA3NDg4NiwgNzQ4OTksIDc0OTA1LCA3NDQ2NCwgMzAwODgsIDc0OTEwLCA3NDkxMiwgCi0gICAgNzQ5MTcsIDc0OTIyLCA3NDkyNywgNzQ5MzIsIDc0OTM3LCA3NDk0MiwgNzQ5NDcsIDc0OTUyLCA3NDk1NywgNzQ5NjIsIAotICAgIDc0OTY3LCA3NDk3MiwgNzQ5NzcsIDc0OTgyLCA3NDk4OCwgNzQ5OTMsIDc0OTk4LCA3NTAwMywgNzUwMDgsIDc1MDEzLCAKLSAgICA3NTAxOCwgNzUwMjMsIDc1MDI4LCA3NTAzNCwgNzUwNDAsIDc1MDQ2LCA3NTA1MSwgNzUwNTYsIDc1MDY4LCA3NTA3MywgCi0gICAgMTg3MCwgNDYsIDc1MDc4LCA3NTA4MywgMzI3NDYsIDc1MDg3LCAzMjc1MSwgMzI3NTYsIDMyNzYyLCAzMjc2NywgNzUwOTEsIAotICAgIDMyNzcyLCAyMjA4MywgNzUxMTMsIDc1MTE3LCA3NTEyMSwgNzUxMjYsIDc1MTMwLCAzMjc3NiwgNzUxMzQsIDc1MTQyLCAKLSAgICAzMjc4MSwgNzUxNDksIDc1MTUyLCA3NTE1NywgNzUxNjEsIDk1NDMsIDc1MTcwLCAzMjc4NiwgMjE5NDUsIDc1MTczLCAKLSAgICA3NTE3NywgMTQyOCwgNzUxODIsIDMyNzk3LCA3NTE4NSwgNzUxOTAsIDI1NzM3LCAyNTc0NywgMzUyNTgsIDc1MTk1LCAKLSAgICA3NTIwMCwgNzUyMDUsIDc1MjEwLCA3NTIxNiwgNzUyMjEsIDc1MjMwLCA3NTIzNSwgNzUyNDIsIDc1MjQ4LCA3NTI1MywgCi0gICAgNzUyNTgsIDc1MjYzLCA3NTI3MywgNzUyODIsIDc1Mjg3LCA3NTI5NSwgNzUyOTksIDc1MzA3LCAzMjYxMSwgMzczMTcsIAotICAgIDc1MzE0LCA3NTMyMCwgNzUzMjUsIDc1MzMwLCAxMjAxNiwgNzUzMzUsIDc1MzQxLCA3NTM0NiwgNzUzNTMsIDc1MzU5LCAKLSAgICA3NTM2NCwgNzUzNzIsIDc1MzgyLCA3NTM5MiwgNzUzOTgsIDc1NDAzLCA3NTQwOSwgMTc1MzYsIDc1NDE2LCAzNjA3MywgCi0gICAgNzU0MjksIDc1NDM0LCA3NTQ0MCwgMzA5OTMsIDc1NDUzLCA3NTQ1OSwgNzU0NjMsIDc1NDcyLCA3NTQ3OSwgNzU0ODUsIAotICAgIDc1NDkzLCA3NTUwMiwgNzU1MDksIDc1NTE1LCA3NTUxOCwgNzU1MjIsIDI1ODc4LCA3NTUyNiwgNzU1MzMsIDc1NTM5LCAKLSAgICA3NTU0NywgNzU1NTIsIDIzOTk0LCA3NTU1OCwgNzU1NjEsIDc1NTY5LCA3NTU3NywgNzU1OTEsIDc1NTk4LCA3NTYwNCwgCi0gICAgNzU2MTEsIDc1NjE3LCAzMjgxMSwgNzU2MjEsIDc1NjI4LCA3NTYzNiwgNzU2NDQsIDc1NjUwLCAzMjgxNiwgNzU2NTgsIAotICAgIDc1NjY0LCA3NTY2OSwgNzU2NzksIDc1Njg1LCA3NTY5NCwgMzA4MzAsIDM0NzE2LCA3NTcwMiwgNzU3MDcsIDc1NzEyLCAKLSAgICA3NTcxNiwgNzU3MjEsIDc1NzI1LCA3NTczMywgMTQ5MjAsIDM5NDI5LCA3NTczOCwgNzU3NDMsIDMyODIxLCA2MjI2OSwgCi0gICAgNzU3NDcsIDc1NzUyLCA3NTc1NiwgNzU3NjUsIDc1NzczLCA3NTc3OSwgNzU3ODQsIDc1NzkwLCA3NTc5NywgNzU4MDMsIAotICAgIDc1ODA4LCA3NTgxMywgNzU4MjIsIDc1ODM0LCA3NTg0OSwgMzMwODMsIDc1ODU1LCAxNjU0NSwgMzI4MjUsIDc1ODU5LCAKLSAgICA3NTg2NiwgMjQxMDQsIDc1ODcyLCA3NTg3OSwgNzU4ODgsIDc1ODk1LCA3NTkwNCwgNzU5MTAsIDc1OTE1LCA3NTkyMywgCi0gICAgNzU5MjksIDMyODM1LCA3NTkzNCwgNzU5NDMsIDc0NzIzLCA3NTk1MiwgNzU5NTksIDc1OTY1LCA3NTk3MSwgNzU5ODEsIAotICAgIDc1OTg5LCA3NTk5NiwgNzYwMDAsIDMyODQwLCA3NjAwMywgMzI4NDYsIDMyODUyLCA3NjAwOCwgNzYwMTYsIDc2MDI0LCAKLSAgICA3NjAzNCwgNzYwNDMsIDc2MDUxLCA3NjA1OCwgNzYwNjgsIDMyODU3LCA3NjA3MiwgNzYwNzQsIDc2MDc4LCA3NjA4MywgCi0gICAgNzYwODcsIDc2MDkxLCA3NjA5NywgNzYxMDIsIDc2MTA2LCA3NjExNywgNzYxMjIsIDc2MTI3LCAzMDYwLCA3NjEzMSwgCi0gICAgNzYxMzgsIDc2MTQyLCA3NjE1MSwgNzYxNTksIDc2MTY2LCA3NjE3MSwgNzYxNzYsIDYyMzE1LCA3NjE4MCwgNzYxODMsIAotICAgIDc2MTg5LCA3NjE5NywgNzYyMDMsIDc2MjA3LCA3NjIxMiwgNzYyMTksIDc2MjI0LCA3NjIzMCwgMzQ3NDcsIDc2MjM1LCAKLSAgICA3NjIzOCwgNzYyNDMsIDc2MjQ3LCA3NjI1MiwgNzYyNTcsIDc2MjYxLCA3NjI2OSwgNzYyNzMsIDI1NzU2LCAyNTc2NSwgCi0gICAgNzYyNzksIDc2Mjg1LCA3NjI5MSwgNzYyOTYsIDc2MzAwLCA3NjMwMywgNzYzMTMsIDc2MzIyLCA3NjMyNywgNzYzMzMsIAotICAgIDc2MzQwLCA3NjM0NiwgNzYzNTAsIDc2MzU4LCA3NjM2MywgMzQ3NTMsIDc2MzY3LCA3NjM3NSwgNzYzODEsIDc2Mzg4LCAKLSAgICA3NjM5MywgNzYzOTcsIDc2NDAyLCA1ODQ0MCwgMzQ3NTksIDc2NDA4LCA3NjQxMywgNzY0MTcsIDc2NDIyLCA3NjQyNywgCi0gICAgNzY0MzIsIDc2NDM2LCA3NjQ0MSwgNzY0NDYsIDc2NDUyLCA3NjQ1NywgNzY0NjIsIDc2NDY4LCA3NjQ3NCwgNzY0NzksIAotICAgIDc2NDgzLCA3NjQ4OCwgNzY0OTMsIDc2NDk4LCA3NjUwMiwgMjQxMDMsIDc2NTA3LCA3NjUxMiwgNzY1MTgsIDc2NTI0LCAKLSAgICA3NjUzMCwgNzY1MzUsIDc2NTM5LCA3NjU0NCwgNzY1NDksIDc2NTU0LCA3NjU1OCwgNzY1NjMsIDc2NTY4LCA3NjU3MywgCi0gICAgNzY1NzgsIDc2NTgyLCAzMjg2NSwgNzY1OTAsIDc2NTk0LCA3NjYwMiwgNzY2MTAsIDc2NjIxLCA3NjYyNiwgNzY2MzAsIAotICAgIDIyMzk3LCA3NjYzNSwgNzY2NDEsIDc2NjUxLCA3NjY1OCwgNzY2NjMsIDc2NjcyLCA3NjY3NywgNzY2ODEsIDc2Njg2LCAKLSAgICA3NjY5NCwgNzY3MDIsIDc2NzA5LCA2NTEwOSwgNzY3MTUsIDc2NzIzLCA3NjczMCwgNzY3NDEsIDc2NzQ3LCA3Njc1MSwgCi0gICAgNzY3NTcsIDMyODc1LCA3Njc2MCwgNzY3NjcsIDc2Nzc1LCA3Njc4MCwgMzk2MjAsIDc2Nzg0LCA3Njc4OSwgNzY3OTYsIAotICAgIDc2ODAxLCA4OTkyLCA3NjgwNSwgNzY4MTMsIDc2ODIwLCA3NjgyNywgNzY4MzMsIDc2ODQ3LCA2MzM4MSwgNzY4NTUsIAotICAgIDc2ODYxLCA3Njg2NSwgNzY4NjgsIDc2ODc2LCA3Njg4MywgNzY4ODgsIDc2OTAxLCA3NjkwOCwgNzY5MTIsIDc2OTE5LCAKLSAgICA3NjkyNCwgNjA4NjAsIDc2OTI5LCA3NjkzMiwgNzY5MzksIDc2OTQ1LCA3Njk0OSwgNzY5NTcsIDc2OTY2LCA3Njk3NiwgCi0gICAgNzY5ODYsIDc2OTk1LCA3NzAwMywgNzcwMTQsIDc3MDE5LCA3NzAyMywgNzcwMjgsIDc3MDMyLCAzNTM4OSwgNzcwNDAsIAotICAgIDIxMzU3LCAzNTM5OCwgNzcwNDUsIDc3MDUwLCA3NzA1NSwgNzcwNjAsIDc3MDY1LCA3NzA3MCwgNzcwNzUsIDc3MDc5LCAKLSAgICA3NzA4NCwgNzcwODksIDc3MDk0LCA3NzA5OSwgNzcxMDQsIDc3MTA5LCA3NzExMywgNzcxMTgsIDc3MTIzLCA3NzEyNywgCi0gICAgNzcxMzEsIDc3MTM1LCA3NzEzOSwgNzcxNDQsIDc3MTQ5LCA3NzE1MywgNzcxNTgsIDc3MTYyLCA3NzE2NiwgNzcxNzEsIAotICAgIDc3MTc2LCA3NzE4MSwgNzcxODYsIDc3MTkwLCA3NzE5NSwgNzcyMDAsIDc3MjA0LCA3NzIwOSwgNzcyMTQsIDc3MjE5LCAKLSAgICA3NzIyNCwgNzcyMjksIDc3MjM0LCA3NzIzOSwgNzcyNDQsIDc3MjQ5LCA3NzI1NCwgNzcyNTksIDc3MjY0LCA3NzI2OSwgCi0gICAgNzcyNzQsIDc3Mjc5LCA3NzI4NCwgNzcyODksIDc3Mjk0LCA3NzI5OSwgNzczMDQsIDc3MzA4LCA3NzMxMywgNzczMTgsIAotICAgIDc3MzIzLCA3NzMyOCwgNzczMzMsIDc3MzM4LCA3NzM0MywgNzczNDgsIDc3MzUzLCA3NzM1OCwgNzczNjMsIDc3MzY3LCAKLSAgICA3NzM3MiwgNzczNzYsIDc3MzgxLCA3NzM4NiwgNzczOTEsIDc3Mzk2LCA3NzQwMSwgNzc0MDYsIDc3NDExLCA3NzQxNiwgCi0gICAgNzc0MjEsIDc3NDI1LCA3NzQyOSwgNzc0MzQsIDc3NDM5LCA3NzQ0MywgNzc0NDgsIDc3NDUzLCA3NzQ1NywgNzc0NjIsIAotICAgIDc3NDY3LCA3NzQ3MiwgNzc0NzcsIDc3NDgxLCA3NzQ4NiwgNzc0OTEsIDc3NDk1LCA3NzUwMCwgNzc1MDQsIDc3NTA4LCAKLSAgICA3NzUxMiwgNzc1MTYsIDc3NTIxLCA3NzUyNSwgNzc1MjksIDc3NTMzLCA3NzUzNywgNzc1NDEsIDc3NTQ1LCA3NzU0OSwgCi0gICAgNzc1NTMsIDc3NTU3LCA3NzU2MiwgNzc1NjcsIDc3NTcyLCA3NzU3NywgNzc1ODIsIDc3NTg3LCA3NzU5MiwgNzc1OTcsIAotICAgIDc3NjAyLCA3NzYwNywgNzc2MTEsIDc3NjE1LCA3NzYxOSwgNzc2MjMsIDc3NjI3LCA3NzYzMSwgNzc2MzYsIDc3NjQwLCAKLSAgICA3NzY0NSwgNzc2NDksIDc3NjU0LCA3NzY1OSwgNzc2NjMsIDc3NjY3LCA3NzY3MiwgNzc2NzYsIDc3NjgwLCA3NzY4NCwgCi0gICAgNzc2ODgsIDc3NjkyLCA3NzY5NiwgNzc3MDAsIDc3NzA0LCA3NzcwOCwgNzc3MTIsIDc3NzE2LCA3NzcyMCwgNzc3MjQsIAotICAgIDc3NzI4LCA3NzczMywgNzc3MzgsIDc3NzQyLCA3Nzc0NiwgNzc3NTAsIDc3NzU0LCA3Nzc1OCwgNzc3NjIsIDc3NzY3LCAKLSAgICA3Nzc3MSwgNzc3NzUsIDc3Nzc5LCA3Nzc4MywgNzc3ODcsIDc3NzkxLCA3Nzc5NiwgNzc4MDAsIDc3ODA1LCA3NzgwOSwgCi0gICAgNzc4MTMsIDc3ODE3LCA3NzgyMSwgNzc4MjUsIDc3ODI5LCA3NzgzMywgNzc4MzcsIDc3ODQxLCA3Nzg0NSwgNzc4NDksIAotICAgIDc3ODU0LCA3Nzg1OCwgNzc4NjIsIDc3ODY2LCA3Nzg3MCwgNzc4NzQsIDc3ODc4LCA3Nzg4MiwgNzc4ODYsIDc3ODkwLCAKLSAgICA3Nzg5NCwgNzc4OTgsIDc3OTAzLCA3NzkwNywgNzc5MTEsIDc3OTE2LCA3NzkyMSwgNzc5MjUsIDc3OTI5LCA3NzkzMywgCi0gICAgNzc5MzcsIDc3OTQxLCA3Nzk0NSwgNzc5NDksIDc3OTUzLCA3Nzk1OCwgNzc5NjIsIDc3OTY3LCA3Nzk3MSwgNzc5NzYsIAotICAgIDc3OTgwLCA3Nzk4NSwgNzc5ODksIDc3OTk1LCA3ODAwMCwgNzgwMDQsIDc4MDA5LCA3ODAxMywgNzgwMTgsIDc4MDIyLCAKLSAgICA3ODAyNywgNzgwMzEsIDc4MDM2LCAxNTIxLCA3ODA0MCwgMjgyNCwgMTc1OSwgMTc2NCwgNzgwNDQsIDc4MDQ4LCAyODI4LCAKLSAgICA3ODA1MiwgMTM5NywgNzgwNTcsIDEzNDIsIDc4MDYxLCAyODQwLCA3ODA2NSwgNzgwNzIsIDc4MDc5LCA3ODA5MywgMjg0NCwgCi0gICAgNzEzMSwgNzgxMDIsIDc4MTEwLCA3ODExNywgNzgxMjgsIDc4MTM3LCA3ODE0NCwgNzgxNTYsIDc4MTY5LCA3ODE4MiwgCi0gICAgNzgxOTMsIDc4MTk4LCA3ODIwNSwgNzgyMTcsIDc4MjIxLCAyODQ4LCAxMTc0NywgNzgyMzEsIDc4MjM2LCA3ODI0NSwgCi0gICAgNzgyNTUsIDI4NTIsIDc4MjYwLCA3ODI2NCwgNzgyNjksIDc4Mjc2LCA3ODI4MiwgNzgyOTAsIDc4MzAyLCAxMzQ3LCAKLSAgICAxMzA0MiwgNzgzMTIsIDc4MzE2LCA3ODMyMiwgNzgzMzYsIDc4MzQ4LCA3ODM2MCwgNzgzNzAsIDc4Mzc5LCA3ODM4OCwgCi0gICAgNzgzOTcsIDc4NDA1LCA3ODQxNiwgNzg0MjQsIDQwNTEsIDc4NDM0LCA3ODQ0NSwgNzg0NTQsIDc4NDYwLCA3ODQ3NSwgCi0gICAgNzg0ODIsIDc4NDg4LCAzNTUxNCwgNzg0OTMsIDI4NzYsIDEzMDQ2LCA3ODQ5NywgNzg1MDQsIDg5MzAsIDc4NTEzLCAyODgxLCAKLSAgICAzMjM2MSwgNzg1MTksIDYwNjA5LCA3ODUyNiwgNzg1MzIsIDc4NTQzLCA3ODU0OSwgNzg1NTYsIDc4NTYyLCA3ODU3MCwgCi0gICAgNzg1NzcsIDc4NTgzLCA3ODU5MywgNzg2MDIsIDc4NjEzLCA3ODYyMCwgNzg2MjYsIDc4NjM2LCA3ODY0NCwgNzg2NTAsIAotICAgIDc4NjY1LCA3ODY3MSwgNzg2NzYsIDc4NjgzLCA3ODY4NiwgNzg2OTIsIDc4Njk5LCA3ODcwNSwgNzg3MTMsIDc4NzIyLCAKLSAgICA3ODczMCwgNzg3MzYsIDc4NzQ1LCA0MTQ2NCwgNzg3NTksIDc4NzY0LCA3ODc3MCwgMTQ3NTcsIDc4Nzc1LCA3ODc4OCwgCi0gICAgNzg3OTcsIDc4ODA1LCA3ODgxMiwgNzg4MTYsIDc4ODIwLCA3ODgyMywgNzg4MzAsIDc4ODM3LCA3ODg0NSwgNzg4NTMsIAotICAgIDc4ODYyLCA3ODg3MCwgMTQ2ODQsIDc4ODc4LCA3ODg4MywgNzg4ODcsIDc4ODk5LCA3ODkwNiwgNzg5MTUsIDc0OCwgCi0gICAgNzg5MjUsIDc4OTM0LCA3ODk0NSwgMjg5NywgNzg5NDksIDc4OTUzLCA3ODk1OSwgNzg5NzIsIDc4OTg0LCA3ODk5NCwgCi0gICAgNzkwMDMsIDc5MDE1LCAyNjM2OSwgNzkwMjYsIDc5MDM0LCA3OTA0MywgNzkwNTQsIDc5MDY1LCA3OTA3NSwgNzkwODUsIAotICAgIDc5MDk0LCA3OTEwMiwgMTEzMTIsIDc5MTA5LCA3OTExMywgNzkxMTYsIDc5MTIxLCA3OTEyNiwgNzkxMzAsIDc5MTM2LCAKLSAgICAxMzUyLCAxMTgxOCwgNzkxNDMsIDc5MTU0LCA3OTE2MywgNzkxNzEsIDc5MTgwLCA3OTE4OCwgNzkyMDQsIDc5MjE1LCAKLSAgICA3OTIyNCwgNzkyMzIsIDc5MjQ0LCA3OTI1NSwgNzkyNzEsIDc5MjgxLCA3OTMwMiwgNzkzMTUsIDc5MzIzLCA3OTMzMCwgCi0gICAgMTQ4NjgsIDc5MzQzLCA3OTM0OCwgNzkzNTQsIDU5MDgsIDc5MzYwLCA3OTM2MywgNzkzNzAsIDc5MzgwLCA4MTc2LCAKLSAgICA3OTM4NywgNzkzOTIsIDc5Mzk3LCA3OTQwMiwgNzk0MTAsIDc5NDE5LCA3OTQyNywgOTc1NiwgOTc2NSwgNzk0MzIsIAotICAgIDc5NDQzLCA3OTQ0OCwgNzk0NTQsIDI5MTMsIDI5MTgsIDc5NDYwLCAxMDg3OSwgNzk0NjYsIDc5NDczLCA3OTQ4MCwgCi0gICAgNzk0OTMsIDIyNTEsIDY4LCA3OTQ5OCwgNzk1MDMsIDc5NTEzLCA3OTUxOSwgNzk1MjgsIDc5NTM2LCA3OTU0NiwgNzk1NTAsIAotICAgIDc5NTU1LCA3OTU1OSwgNzk1NzEsIDI5NDEsIDc5NTc5LCA3OTU4NywgNzk1OTIsIDc5NjAzLCA3OTYxNCwgNzk2MjMsIAotICAgIDc5NjI4LCA3OTYzNCwgNzk2MzksIDc5NjQ5LCA3OTY1OSwgNzk2NjQsIDc5NjcwLCA3OTY3NCwgNzk2NzksIDc5Njg4LCAKLSAgICAyMTQxMCwgNzk2OTIsIDQxMjgsIDIwLCA3OTY5NywgNzk3MDYsIDc5NzEzLCA3OTcyMCwgNzk3MjYsIDc5NzMyLCA4NjQsIAotICAgIDc5NzM3LCA3OTc0MiwgNjA5MzcsIDc5NzQ3LCA3OTc1MiwgNzk3NTgsIDc5NzY0LCA3OTc3MiwgNzk3NzcsIDc5Nzg0LCAKLSAgICA3OTc5MCwgNzk3OTUsIDM4MDMwLCA0MTM1OCwgNzk4MDEsIDI5NDUsIDMyLCA3OTgxMSwgNzk4MjQsIDc5ODI5LCA3OTgzNywgCi0gICAgNzk4NDIsIDc5ODQ4LCAyOTY3LCAyODMxMCwgNzk4NTMsIDc5ODYxLCA3OTg2OCwgNzk4NzMsIDU4NjgyLCA2MTk0MCwgCi0gICAgNzk4ODIsIDc5ODg2LCAxNzA0LCAxODEzLCA3OTg5MSwgNzk4OTYsIDc5OTAzLCAxODE3LCAyNDcsIDc5OTEwLCA3OTkxNiwgCi0gICAgMjk4OSwgNzk5MjEsIDc5OTI2LCA3OTkzMywgMTgyMSwgNzk5MzgsIDc5OTQ0LCA3OTk0OSwgNzk5NjEsIDYxMTksIDc5OTcxLCAKLSAgICAxODI4LCA3OTk3NywgNzk5ODIsIDc5OTg5LCA3OTk5NiwgODAwMTEsIDgwMDE4LCA4MDAyOSwgODAwMzcsIDI2MTgsIAotICAgIDgwMDQxLCA4MDA1MywgODAwNTgsIDgwMDYyLCA4MDA2OCwgMjgxMzUsIDIyNTYsIDgwMDcyLCA4MDA4MywgODAwODcsIAotICAgIDgwMDkxLCA4MDA5NywgODAxMDEsIDgwMTEwLCA4MDExNCwgODAxMjUsIDgwMTI5LCAyMzAyLCAzMjE5MCwgODAxMzMsIAotICAgIDgwMTQzLCAzMDgwLCA5MzcxLCA4MDE1MSwgODAxNTYsIDgwMTYwLCA4MDE2OSwgODAxNzYsIDgwMTgyLCAzMDUwLCAxNzE1MiwgCi0gICAgODAxODYsIDgwMTk5LCA4MDIxNywgODAyMjIsIDgwMjMwLCA4MDIzOCwgODAyNDgsIDk5ODUsIDEzMTU0LCA4MDI2MCwgCi0gICAgODAyNzMsIDgwMjgwLCA4MDI4NywgODAzMDMsIDgwMzEwLCA4MDMxNiwgMTA2NCwgODAzMjMsIDgwMzMwLCA4MDM0MCwgCi0gICAgODAzNDksIDgwMzYxLCA0MjMyOCwgODAzNjksIDMwNjQsIDEyMDMwLCA4MDM3MiwgODAzODAsIDgwMzg0LCA3ODI3MiwgCi0gICAgMzA2OCwgODAzODgsIDIxMTkxLCAxMjA0NiwgMzc1NiwgODAzOTIsIDMwNzQsIDgwMzk2LCA4MDQwNiwgODA0MTIsIDgwNDE4LCAKLSAgICA4MDQyNCwgODA0MzAsIDgwNDM2LCA4MDQ0MiwgODA0NDgsIDgwNDU0LCA4MDQ2MCwgODA0NjYsIDgwNDcyLCA4MDQ3OCwgCi0gICAgODA0ODQsIDgwNDkwLCA4MDQ5NiwgODA1MDIsIDgwNTA4LCA4MDUxNCwgODA1MjAsIDgwNTI2LCA4MDUzMiwgODA1MzgsIAotICAgIDgwNTQ0LCA4MDU1MCwgODA1NTYsIDgwNTYzLCA4MDU3MCwgODA1NzYsIDgwNTgyLCA4MDU4OCwgODA1OTQsIDgwNjAwLCAKLSAgICA4MDYwNiwgMTM1NywgMTYwNjIsIDEyMDY4LCA4MDYxMiwgODA2MTcsIDgwNjIyLCA4MDYyNywgODA2MzIsIDgwNjM3LCAKLSAgICA4MDY0MiwgODA2NDcsIDgwNjUyLCA4MDY1NywgODA2NjIsIDgwNjY3LCA4MDY3MiwgODA2NzcsIDgwNjgyLCA4MDY4NywgCi0gICAgODA2OTIsIDgwNjk3LCA4MDcwMiwgODA3MDcsIDgwNzEyLCA4MDcxNywgODA3MjIsIDgwNzI3LCA4MDczMiwgODA3MzcsIAotICAgIDgwNzQzLCA4MDc0OCwgODA3NTMsIDgwNzU5LCA4MDc2NCwgODA3NzAsIDgwNzc1LCA4MDc4MCwgODA3ODYsIDgwNzkxLCAKLSAgICA4MDc5NiwgODA4MDEsIDgwODA2LCA4MDgxMSwgODA4MTYsIDgwODIxLCA4MDgyNiwgODA0MDcsIDgwNDEzLCA4MDQxOSwgCi0gICAgODA0MjUsIDgwNDMxLCA4MDQzNywgODA0NDMsIDgwNDQ5LCA4MDQ1NSwgODA0NjEsIDgwNDY3LCA4MDQ3MywgODA0NzksIAotICAgIDgwNDg1LCA4MDQ5MSwgODA4MzIsIDgwNDk3LCA4MDUwMywgODA1MDksIDgwODM4LCA4MDUxNSwgODA1MjEsIDgwNTI3LCAKLSAgICA4MDUzMywgODA1MzksIDgwNTQ1LCA4MDU1MSwgODA1NzEsIDgwODQ0LCA4MDg1MCwgODA1NzcsIDgwODU2LCA4MDU4MywgCi0gICAgODA1ODksIDgwNTk1LCA4MDYwMSwgODA2MDcsIDMwOTEsIDMwOTYsIDgwODYyLCA4MDg2NywgODA4NzAsIDgwODc2LCAKLSAgICA4MDg4MiwgODA4ODksIDgwODk0LCA4MDg5OSwgMjMwNywgCisgICAgMCwgMCwgNiwgMTAsIDE0LCAyMiwgMjcsIDM0LCAzOSwgNDUsIDQ3LCA1MCwgNjIsIDcwLCA4MCwgODksIDEwMiwgMTA4LCAKKyAgICAxMTMsIDExOCwgMTI2LCAxMzUsIDE0MCwgMTQ1LCAxNDgsIDE1MiwgMTU4LCAxNjQsIDE2OSwgMTc3LCAxODIsIDE4OSwgCisgICAgMTk3LCAxOTgsIDIwMSwgMjA5LCAyMTUsIDIyNCwgMjMxLCAyNDEsIDI0OCwgMjUzLCAyNTYsIDI2MSwgMTQ5LCAyNjcsIAorICAgIDI3MywgMjc2LCAyODAsIDI4NSwgMjkxLCAyOTcsIDMwMiwgMzA4LCAzMTMsIDMyMiwgMzI4LCAzMzUsIDM0MiwgMzUxLCAKKyAgICAzNTYsIDM2MSwgMzY5LCAzNzEsIDM3MiwgMzgwLCAzODgsIDM5NSwgMzk4LCA0MDQsIDQxMSwgNDE2LCA0MTgsIDQyNSwgCisgICAgNDI3LCAzMDYsIDQyOSwgNDMxLCA0MzYsIDQ0MywgNDUxLCA0NTUsIDQ2MSwgNDY2LCA0NzEsIDQ3NiwgNDgzLCA0OTMsIAorICAgIDQ5NiwgNTAzLCA1MTMsIDUyMiwgNTI5LCA1MzgsIDU0NSwgNTQ5LCA1NTcsIDU2MCwgNTczLCA1ODAsIDU4NCwgNTkzLCAKKyAgICA1OTcsIDYwMSwgNjA3LCA2MTEsIDYxNSwgNjE2LCA2MjUsIDYzMywgNjM4LCA2NDYsIDY1MSwgNjU3LCA2NjUsIDY2OCwgCisgICAgNjc1LCA2ODQsIDY5MiwgNjk1LCA2OTgsIDcwMCwgNzA2LCA3MTQsIDcyMSwgNzI0LCA3MzQsIDczOCwgNzQyLCA3NTMsIAorICAgIDc1OCwgNzYyLCA3NjYsIDc3MywgNzgwLCA3ODQsIDc4OCwgNzgyLCA3OTQsIDc5OCwgODAzLCA4MDYsIDgxMCwgODE2LCAKKyAgICA4MjEsIDgzMCwgODM4LCA4NDMsIDYxMCwgNTQzLCA4NDgsIDg1MSwgODU3LCA4NjEsIDg2NywgODc0LCA4NzcsIDg4NiwgCisgICAgODk1LCA5MDIsIDkxNSwgOTE5LCA5MjcsIDkzNiwgOTQyLCA5NTAsIDk1NywgOTY3LCA5NzQsIDk3OSwgOTg1LCA5OTMsIAorICAgIDk5NywgMTAwMCwgMjEsIDEwMDksIDEwMTgsIDEwMjYsIDEwMzAsIDEwMzUsIDEwMzgsIDEwNDcsIDEwNTIsIDEwNTQsIAorICAgIDEwNjEsIDEwNjUsIDEwNjgsIDEwNzEsIDEwNzgsIDEwODMsIDEwODcsIDEwOTAsIDEwOTQsIDExMDIsIDExMDgsIDExMTgsIAorICAgIDExMjQsIDExMzEsIDExMzUsIDExNDMsIDExNDYsIDExNTEsIDExNTcsIDExNjMsIDExNjcsIDExNzQsIDExNzksIDExODQsIAorICAgIDExOTAsIDExOTUsIDEyMDAsIDEyMDUsIDEyMDksIDEyMTQsIDEyMjAsIDEyMjUsIDEyMzAsIDEyMzQsIDEyNDAsIDEyNDUsIAorICAgIDEyNTAsIDEyNTUsIDEyNTksIDEyNjQsIDEyNjksIDEyNzQsIDEyODAsIDEyODYsIDEyOTIsIDEyOTcsIDEzMDEsIDEzMDYsIAorICAgIDEzMTEsIDEzMTYsIDEzMjAsIDEzMjUsIDEzMzAsIDEzMzUsIDEzNDAsIDExNzUsIDExODAsIDExODUsIDExOTEsIDExOTYsIAorICAgIDEzNDQsIDEyMDYsIDEzNTAsIDEzNTUsIDEzNjAsIDEzNjcsIDEzNzEsIDEzNzQsIDEzODMsIDEyMTAsIDEzODcsIDEyMTUsIAorICAgIDEyMjEsIDEyMjYsIDEzOTEsIDEzOTYsIDE0MDEsIDE0MDUsIDE0MDksIDE0MTUsIDE0MTksIDEyMzEsIDE0MjIsIDEyNDEsIAorICAgIDE0MjcsIDE0MzEsIDEyNDYsIDE0MzcsIDEyNTEsIDE0NDEsIDE0NDUsIDEyNTYsIDE0NDksIDE0NTQsIDE0NTgsIDE0NjEsIAorICAgIDE0NjUsIDEyNjAsIDEyNjUsIDE0NzAsIDEyNzAsIDE0NzYsIDE0ODIsIDE0ODgsIDE0OTQsIDEyNzUsIDEyODcsIDEyOTMsIAorICAgIDE0OTgsIDE1MDIsIDE1MDYsIDE1MDksIDEyOTgsIDE1MTMsIDE1MTUsIDE1MjAsIDE1MjUsIDE1MzEsIDE1MzYsIDE1NDEsIAorICAgIDE1NDUsIDE1NTAsIDE1NTUsIDE1NjAsIDE1NjUsIDE1NzEsIDE1NzYsIDE1ODEsIDE1ODcsIDE1OTMsIDE1OTgsIDE2MDIsIAorICAgIDE2MDcsIDE2MTIsIDE2MTcsIDE2MjIsIDE2MjcsIDE2MzEsIDE2MzksIDE2NDQsIDE2NDgsIDE2NTMsIDE2NTgsIDE2NjMsIAorICAgIDE2NjgsIDE2NzIsIDE2NzUsIDE2ODIsIDE2ODcsIDE2OTIsIDE2OTcsIDE3MDIsIDE3MDgsIDE3MTMsIDE3MTcsIDEzMDIsIAorICAgIDE3MjAsIDE3MjUsIDE3MzAsIDEzMDcsIDE3MzQsIDE3MzgsIDE3NDUsIDEzMTIsIDE3NTIsIDEzMTcsIDE3NTYsIDE3NTgsIAorICAgIDE3NjMsIDE3NjksIDEzMjEsIDE3NzQsIDE3ODMsIDEzMjYsIDE3ODgsIDE3OTQsIDE3OTksIDEzMzEsIDE4MDQsIDE4MDksIAorICAgIDE4MTIsIDE4MTcsIDE4MjEsIDE4MjUsIDE4MjksIDE4MzIsIDE4MzYsIDEzMzYsIDEzNDEsIDE4NDEsIDE4NDMsIDE4NDksIAorICAgIDE4NTUsIDE4NjEsIDE4NjcsIDE4NzMsIDE4NzksIDE4ODUsIDE4OTEsIDE4OTYsIDE5MDIsIDE5MDgsIDE5MTQsIDE5MjAsIAorICAgIDE5MjYsIDE5MzIsIDE5MzgsIDE5NDQsIDE5NTAsIDE5NTUsIDE5NjAsIDE5NjUsIDE5NzAsIDE5NzUsIDE5ODAsIDE5ODUsIAorICAgIDE5OTAsIDE5OTUsIDIwMDAsIDIwMDYsIDIwMTEsIDIwMTcsIDIwMjIsIDIwMjgsIDIwMzQsIDIwMzksIDIwNDUsIDIwNTEsIAorICAgIDIwNTcsIDIwNjMsIDIwNjgsIDIwNzMsIDIwNzUsIDIwNzYsIDIwODAsIDIwODQsIDIwODksIDIwOTMsIDIwOTcsIDIxMDEsIAorICAgIDIxMDYsIDIxMTAsIDIxMTMsIDIxMTgsIDIxMjIsIDIxMjcsIDIxMzEsIDIxMzUsIDIxNDAsIDIxNDQsIDIxNDcsIDIxNTEsIAorICAgIDIxNTcsIDIxNzEsIDIxNzUsIDIxNzksIDIxODMsIDIxODYsIDIxOTEsIDIxOTUsIDIxOTksIDIyMDIsIDIyMDYsIDIyMTEsIAorICAgIDIyMTYsIDIyMjEsIDIyMjYsIDIyMzAsIDIyMzQsIDIyMzgsIDIyNDIsIDIyNDcsIDIyNTEsIDIyNTYsIDIyNjAsIDIyNjUsIAorICAgIDIyNzEsIDIyNzgsIDIyODQsIDIyODksIDIyOTQsIDIyOTksIDIzMDUsIDIzMTAsIDIzMTYsIDIzMjEsIDIzMjQsIDIzMjYsIAorICAgIDExOTIsIDIzMzAsIDIzMzcsIDIzNDUsIDIzNTUsIDIzNjQsIDIzNzgsIDIzODIsIDIzODYsIDIzOTEsIDI0MDQsIDI0MTIsIAorICAgIDI0MTYsIDI0MjEsIDI0MjUsIDI0MjgsIDI0MzIsIDI0MzYsIDI0NDEsIDI0NDYsIDI0NTEsIDI0NTUsIDI0NTgsIDI0NjIsIAorICAgIDI0NjksIDI0NzYsIDI0ODIsIDI0ODcsIDI0OTIsIDI0OTgsIDI1MDQsIDI1MDksIDI1MTIsIDE3NjAsIDI1MTQsIDI1MjAsIAorICAgIDI1MjQsIDI1MjksIDI1MzMsIDI1MzcsIDE2NzgsIDE3NzEsIDI1NDIsIDI1NDYsIDI1NDksIDI1NTQsIDI1NTksIDI1NjQsIAorICAgIDI1NjksIDI1NzMsIDI1ODAsIDI1ODUsIDI1ODgsIDI1OTUsIDI2MDEsIDI2MDUsIDI2MDksIDI2MTMsIDI2MTgsIDI2MjUsIAorICAgIDI2MzAsIDI2MzUsIDI2NDIsIDI2NDgsIDI2NTQsIDI2NjAsIDI2NzQsIDI2OTEsIDI3MDYsIDI3MjEsIDI3MzAsIDI3MzUsIAorICAgIDI3MzksIDI3NDQsIDI3NDksIDI3NTMsIDI3NjUsIDI3NzIsIDI3NzgsIDIyNzQsIDI3ODQsIDI3OTEsIDI3OTcsIDI4MDEsIAorICAgIDI4MDQsIDI4MTEsIDI4MTcsIDI4MjIsIDI4MjYsIDI4MzEsIDI4MzUsIDI4MzksIDIwOTgsIDI4NDMsIDI4NDgsIDI4NTMsIAorICAgIDI4NTcsIDI4NjIsIDI4NzAsIDI4NzQsIDI4NzgsIDI4ODIsIDI4ODYsIDI4OTEsIDI4OTYsIDI5MDEsIDI5MDUsIDI5MTAsIAorICAgIDI5MTUsIDI5MTksIDI5MjQsIDI5MjgsIDI5MzEsIDI5MzUsIDI5MzksIDI5NDcsIDI5NTIsIDI5NTYsIDI5NjAsIDI5NjYsIAorICAgIDI5NzUsIDI5NzksIDI5ODMsIDI5ODksIDI5OTQsIDMwMDEsIDMwMDUsIDMwMTUsIDMwMTksIDMwMjMsIDMwMjgsIDMwMzIsIAorICAgIDMwMzcsIDMwNDMsIDMwNDgsIDMwNTIsIDMwNTYsIDMwNjAsIDI0NzIsIDMwNjgsIDMwNzMsIDMwNzksIDMwODQsIDMwODgsIAorICAgIDMwOTMsIDMwOTgsIDMxMDIsIDMxMDgsIDMxMTMsIDIxMDIsIDMxMTksIDMxMjUsIDMxMzAsIDMxMzUsIDMxNDAsIDMxNDUsIAorICAgIDMxNTAsIDMxNTUsIDMxNjAsIDMxNjUsIDMxNzAsIDMxNzYsIDMxODEsIDEyMDcsIDEwMSwgMzE4NywgMzE5MSwgMzE5NSwgCisgICAgMzE5OSwgMzIwNCwgMzIwOCwgMzIxMiwgMzIxOCwgMzIyMywgMzIyNywgMzIzMSwgMzIzNiwgMzI0MSwgMzI0NSwgMzI1MCwgCisgICAgMzI1NCwgMzI1NywgMzI2MSwgMzI2NiwgMzI3MCwgMzI3NSwgMzI3OSwgMzI4MiwgMzI4NiwgMzI5MCwgMzI5NSwgMzI5OSwgCisgICAgMzMwMiwgMzMxNSwgMzMxOSwgMzMyMywgMzMyNywgMzMzMiwgMzMzNiwgMzM0MCwgMzM0MywgMzM0NywgMzM1MSwgMzM1NiwgCisgICAgMzM2MCwgMzM2NSwgMzM3MCwgMzM3NSwgMzM3OSwgMzM4NCwgMzM4NywgMzM5MCwgMzM5NSwgMzQwMSwgMzQwNSwgMzQwOSwgCisgICAgMzQxMiwgMzQxNywgMzQyMSwgMzQyNiwgMzQzMCwgMzQzNCwgMzQzNywgMzQ0MywgMzQ0OCwgMzQ1MywgMzQ1OSwgMzQ2NCwgCisgICAgMzQ2OSwgMzQ3NSwgMzQ4MSwgMzQ4NiwgMzQ5MSwgMzQ5NiwgMzUwMSwgMTA2MywgNTU5LCAzNTA0LCAzNTA3LCAzNTEyLCAKKyAgICAzNTE2LCAzNTIwLCAzNTI0LCAzNTI4LCAzNTMxLCAzNTM1LCAzNTQwLCAzNTQ1LCAzNTQ5LCAzNTU0LCAzNTU4LCAzNTYzLCAKKyAgICAzNTY3LCAzNTcxLCAzNTc1LCAzNTgxLCAzNTg3LCAzNTkwLCAzNTkzLCAzNTk5LCAzNjA2LCAzNjEzLCAzNjE5LCAzNjI2LCAKKyAgICAzNjMxLCAzNjM1LCAzNjM5LCAzNjQ2LCAzNjUxLCAzNjU4LCAzNjYzLCAzNjY3LCAzNjc3LCAzNjgxLCAzNjg1LCAzNjkwLCAKKyAgICAzNjk1LCAzNzA1LCAyMTE0LCAzNzEwLCAzNzE0LCAzNzE3LCAzNzIzLCAzNzI4LCAzNzM0LCAzNzQwLCAzNzQ1LCAzNzUyLCAKKyAgICAzNzU2LCAzNzYwLCA2MTIsIDY5MywgMTM2OCwgMzc2NCwgMzc3MSwgMzc3OCwgMzc4NCwgMzc4OSwgMzc5NiwgMzgwMywgCisgICAgMzgwOSwgMzgxNSwgMzgyMCwgMzgyNCwgMzgzMCwgMzgzNywgMzg0MiwgMzg0NiwgMjEyMywgMzg1MCwgMzg1OCwgNjc5LCAKKyAgICAzODY0LCAzODc1LCAzODc5LCAzODg5LCAyMTI4LCAzODk1LCAzOTAwLCAzOTE1LCAzOTIxLCAzOTI4LCAzOTM4LCAzOTQ0LCAKKyAgICAzOTQ5LCAzOTU1LCAzOTYxLCAzOTY0LCAzOTY3LCAzOTcxLCAzOTc2LCAzOTgzLCAzOTg4LCAzOTkyLCAzOTk2LCA0MDAwLCAKKyAgICA0MDA0LCA0MDA5LCA0MDE1LCA0MDI2LCA0MDMwLCAzMjYyLCA0MDM1LCA0MDQ3LCA0MDU1LCA0MDU5LCA0MDY0LCAxNTQ3LCAKKyAgICA0MDcxLCA0MDc0LCA0MDc3LCA0MDgxLCA0MDg0LCA0MDkwLCA0MDk0LCA0MTA4LCA0MTEyLCA0MTE1LCA0MTE5LCA0MTI1LCAKKyAgICA0MTMxLCA0MTM2LCA0MTQwLCA0MTQ0LCA0MTUwLCA0MTYxLCA0MTY3LCA0MTcyLCA0MTc4LCA0MTgyLCA0MTkwLCA0MjAyLCAKKyAgICA0MjEyLCA0MjE4LCA0MjIzLCA0MjMyLCA0MjQwLCA0MjQ3LCA0MjUxLCA0MjU3LCA0MjY2LCA0Mjc1LCA0Mjc5LCA0Mjg0LCAKKyAgICA0Mjg5LCA0MjkzLCA0MzAxLCA0MzA1LCA0MzEwLCA0MzE0LCA0MzIwLCAyMTM2LCAxMzg0LCA0MzI2LCA0MzMxLCA0MzM3LCAKKyAgICA0MzQyLCA0MzQ3LCA0MzUyLCA0MzU3LCA0MzYyLCA0MzY3LCA0MzczLCA0Mzc4LCA0Mzg0LCA0Mzg5LCA0Mzk0LCA0Mzk5LCAKKyAgICA0NDA1LCA0NDEwLCA0NDE1LCA0NDIwLCA0NDI1LCA0NDMxLCA0NDM2LCA0NDQyLCA0NDQ3LCA0NDUyLCA0NDU3LCA0NDYyLCAKKyAgICA0NDY3LCA0NDcyLCA0NDc4LCA0NDgzLCA0NDg4LCAyNzEsIDMwMSwgNDQ5MywgNDQ5OSwgNDUwMywgNDUwNywgNDUxMiwgCisgICAgNDUxNiwgNDUyMCwgNDUyMywgNDUyNywgNDUzMSwgNDUzNSwgNDUzOSwgNDU0MywgNDU0OCwgNDU1MiwgNDU1NiwgNDU2MiwgCisgICAgNDMyMywgNDU2NywgNDU3MSwgNDU3NCwgNDU3OSwgNDU4NCwgNDU4OSwgNDU5NCwgNDU5OSwgNDYwNCwgNDYwOSwgNDYxNCwgCisgICAgNDYxOSwgNDYyNCwgNDYyOCwgNDYzMywgNDYzOCwgNDY0MywgNDY0OCwgNDY1MywgNDY1OCwgNDY2MywgNDY2OCwgNDY3MywgCisgICAgNDY3OCwgNDY4MiwgNDY4NywgNDY5MiwgNDY5NywgNDcwMiwgNDcwNywgNDcxMiwgNDcxNywgNDcyMiwgNDcyNywgNDczMiwgCisgICAgNDczNiwgNDc0MSwgNDc0NiwgNDc1MSwgNDc1NiwgNDc2MSwgNDc2NiwgNDc3MSwgNDc3NiwgNDc4MSwgNDc4NiwgNDc5MCwgCisgICAgNDc5NSwgNDgwMCwgNDgwNSwgNDgxMCwgNDgxNSwgNDgyMCwgNDgyNSwgNDgzMCwgNDgzNSwgNDg0MCwgNDg0NCwgNDg0OSwgCisgICAgNDg1NCwgNDg1OSwgNDg2NCwgNDg2OSwgNDg3NCwgNDg3OSwgNDg4NCwgNDg4OSwgNDg5NCwgNDg5OCwgNDkwMywgNDkwOCwgCisgICAgNDkxMywgNDkxOCwgNDkyMywgNDkyOCwgNDkzMywgNDkzOCwgNDk0MywgNDk0OCwgNDk1MiwgNDk1NywgNDk2MiwgNDk2NywgCisgICAgNDk3MiwgNDk3OCwgNDk4NCwgNDk5MCwgNDk5NiwgNTAwMiwgNTAwOCwgNTAxNCwgNTAxOSwgNTAyNSwgNTAzMSwgNTAzNywgCisgICAgNTA0MywgNTA0OSwgNTA1NSwgNTA2MSwgNTA2NywgNTA3MywgNTA3OSwgNTA4NCwgNTA5MCwgNTA5NiwgNTEwMiwgNTEwOCwgCisgICAgNTExNCwgNTEyMCwgNTEyNiwgNTEzMiwgNTEzOCwgNTE0NCwgNTE0OSwgNTE1NSwgNTE2MSwgNTE2NywgNTE3MywgNTE3OSwgCisgICAgNTE4NSwgNTE5MSwgNTE5NywgNTIwMywgNTIwOSwgNTIxNCwgNTIyMCwgNTIyNiwgNTIzMiwgNTIzOCwgNTI0NCwgNTI1MCwgCisgICAgNTI1NiwgNTI2MiwgNTI2OCwgNTI3NCwgNTI3OSwgNTI4NSwgNTI5MSwgNTI5NywgNTMwMywgNTMwOSwgNTMxNSwgNTMyMSwgCisgICAgNTMyNywgNTMzMywgNTMzOSwgNTM0NCwgNTM0OCwgNTM1NCwgNTM2MCwgNTM2NiwgNTM3MiwgNTM3OCwgNTM4NCwgNTM5MCwgCisgICAgNTM5NiwgNTQwMiwgNTQwOCwgNTQxMywgNTQxOSwgNTQyNSwgNTQzMSwgNTQzNywgNTQ0MywgNTQ0OSwgNTQ1NSwgNTQ2MSwgCisgICAgNTQ2NywgNTQ3MywgNTQ3OCwgNTQ4NCwgNTQ5MCwgNTQ5NiwgNTUwMiwgNTUwOCwgNTUxNCwgNTUyMCwgNTUyNiwgNTUzMiwgCisgICAgNTUzOCwgNTU0MywgNTU0OSwgNTU1NSwgNTU2MSwgNTU2NywgNTU3MywgNTU3OSwgNTU4NSwgNTU5MSwgNTU5NywgNTYwMywgCisgICAgNTYwOCwgNTYxNCwgNTYyMCwgNTYyNiwgNTYzMiwgNTYzOCwgNTY0NCwgNTY1MCwgNTY1NiwgNTY2MiwgNTY2OCwgNTY3MywgCisgICAgNTY3OSwgNTY4NSwgNTY5MSwgNTY5NywgNTcwMywgNTcwOSwgNTcxNSwgNTcyMSwgNTcyNywgNTczMywgNTczOCwgNTc0NCwgCisgICAgNTc1MCwgNTc1NiwgNTc2MiwgNTc2OCwgNTc3NCwgNTc4MCwgNTc4NiwgNTc5MiwgNTc5OCwgNTgwMywgNTgwOSwgNTgxNSwgCisgICAgNTgyMSwgNTgyNywgNTgzMywgNTgzOSwgNTg0NSwgNTg1MSwgNTg1NywgNTg2MywgNTg2OCwgNTg3NCwgNTg4MCwgNTg4NiwgCisgICAgNTg5MiwgNTg5OCwgNTkwNCwgNTkxMCwgNTkxNiwgNTkyMiwgNTkyOCwgNTkzMywgNTkzOSwgNTk0NSwgNTk1MSwgNTk1NywgCisgICAgNTk2MywgNTk2OSwgNTk3NSwgNTk4MSwgNTk4NywgNTk5MywgNTk5OCwgNjAwMiwgNjAwNSwgNjAxMiwgNjAxNiwgNjAyOSwgCisgICAgNjAzMywgNjAzNywgNjA0MSwgNjA0NCwgNjA0OCwgNjA1MywgNjA1NywgNjA2MSwgNjA2NywgNjA3NCwgNjA4MiwgNjA4OSwgCisgICAgNjA5MywgNjEwMSwgNjExMCwgNjExNiwgNjEyOCwgNjEzMywgNjEzNiwgNjE0MSwgNjE0NSwgNjE1NSwgNjE2MywgNjE3MSwgCisgICAgNjE3NywgNjE4MSwgNjE5MSwgNjIwMSwgNjIwOSwgNjIxNiwgNjIyMywgNjIyOSwgNjIzNSwgNjI0MiwgNjI0NiwgNjI1MywgCisgICAgNjI2MywgNjI3MywgNjI4MSwgNjI4OCwgNjI5MywgNjI5NywgNjMwMSwgNjMwOSwgNjMxMywgNjMxOCwgNjMyNSwgNjMzMywgCisgICAgNjMzOCwgNjM0MiwgNjM0NywgNjM1MSwgNjM1OCwgNjM2MywgNjM3NywgNjM4MiwgNjM4NywgNjM5NCwgMzUxNywgNjQwMywgCisgICAgNjQwNywgNjQxMiwgNjQxNiwgNjQyMCwgNjQyMywgNjQyOCwgNjQzMywgNjQ0MiwgNjQ0OCwgNjQ1NCwgNjQ2MCwgNjQ2NCwgCisgICAgNjQ3NSwgNjQ4NSwgNjUwMCwgNjUxNSwgNjUzMCwgNjU0NSwgNjU2MCwgNjU3NSwgNjU5MCwgNjYwNSwgNjYyMCwgNjYzNSwgCisgICAgNjY1MCwgNjY2NSwgNjY4MCwgNjY5NSwgNjcxMCwgNjcyNSwgNjc0MCwgNjc1NSwgNjc3MCwgNjc4NSwgNjgwMCwgNjgxNSwgCisgICAgNjgzMCwgNjg0NSwgNjg2MCwgNjg3NSwgNjg5MCwgNjkwNSwgNjkyMCwgNjkzNSwgNjk1MCwgNjk2NSwgNjk4MCwgNjk5NSwgCisgICAgNzAxMCwgNzAyNSwgNzA0MCwgNzA1NSwgNzA3MCwgNzA4NSwgNzEwMCwgNzExNSwgNzEzMCwgNzE0NSwgNzE2MCwgNzE3NSwgCisgICAgNzE5MCwgNzIwNSwgNzIyMCwgNzIyOSwgNzIzOCwgNzI0MywgNzI0OSwgNzI1OSwgNzI2MywgNzI2NywgNzI3MiwgNzI3NywgCisgICAgNzI4NSwgNzI4OSwgNzI5MiwgNzI5NiwgMzAxMCwgNzI5OSwgNzMwNCwgMzA1LCA0NzQsIDczMTAsIDczMTgsIDczMjIsIAorICAgIDczMjYsIDczMjksIDczMzMsIDczMzksIDczNDMsIDczNTEsIDczNTcsIDczNjIsIDczNjksIDczNzcsIDczODQsIDczOTAsIAorICAgIDczOTUsIDc0MDIsIDc0MDgsIDc0MTYsIDc0MjAsIDc0MjUsIDc0MzcsIDc0NDgsIDc0NTUsIDc0NTksIDc0NjMsIDc0NjcsIAorICAgIDc0NzAsIDc0NzYsIDMyODcsIDc0ODAsIDc0ODYsIDc0OTEsIDc0OTYsIDc1MDEsIDc1MDcsIDc1MTIsIDc1MTcsIDc1MjIsIAorICAgIDc1MjcsIDc1MzMsIDc1MzgsIDc1NDMsIDc1NDksIDc1NTQsIDc1NjAsIDc1NjUsIDc1NzEsIDc1NzYsIDc1ODIsIDc1ODcsIAorICAgIDc1OTIsIDc1OTcsIDc2MDIsIDc2MDcsIDc2MTMsIDc2MTgsIDc2MjMsIDc2MjgsIDc2MzQsIDc2NDAsIDc2NDYsIDc2NTIsIAorICAgIDc2NTgsIDc2NjQsIDc2NzAsIDc2NzYsIDc2ODIsIDc2ODgsIDc2OTQsIDc3MDAsIDc3MDUsIDc3MTAsIDc3MTUsIDc3MjAsIAorICAgIDc3MjUsIDc3MzAsIDc3MzUsIDc3NDAsIDc3NDYsIDc3NTIsIDc3NTcsIDc3NjMsIDc3NjksIDc3NzUsIDc3ODAsIDc3ODUsIAorICAgIDc3OTAsIDc3OTUsIDc4MDEsIDc4MDcsIDc4MTIsIDc4MTcsIDc4MjIsIDc4MjcsIDc4MzIsIDc4MzgsIDc4NDMsIDc4NDksIAorICAgIDc4NTUsIDc4NjEsIDc4NjcsIDc4NzMsIDc4NzksIDc4ODUsIDc4OTEsIDc4OTcsIDIxNDUsIDczMjgsIDc5MDIsIDc5MDYsIAorICAgIDc5MTAsIDc5MTMsIDc5MjAsIDc5MjMsIDc5MjcsIDc5MzUsIDc5NDAsIDc5NDUsIDc5MzYsIDc5NTAsIDIxNzIsIDc5NTQsIAorICAgIDc5NjAsIDc5NjYsIDc5NzEsIDc5NzYsIDc5ODMsIDc5OTEsIDc5OTYsIDgwMDAsIDgwMDMsIDgwMDcsIDgwMTMsIDgwMTksIAorICAgIDgwMjMsIDIxODAsIDU5NSwgODAyNiwgODAzMCwgODAzNSwgODA0MSwgODA0NiwgODA1MCwgODA1MywgODA1NywgODA2MywgCisgICAgODA2OCwgODA3MiwgODA3OSwgODA4MywgODA4NywgODA5MSwgODAwLCA4NzIsIDgwOTQsIDgxMDIsIDgxMDksIDgxMTUsIAorICAgIDgxMjIsIDgxMzAsIDgxMzcsIDgxNDQsIDgxNDksIDgxNjEsIDEyMjcsIDEzOTIsIDEzOTcsIDgxNzIsIDE0MDIsIDgxNzYsIAorICAgIDgxODAsIDgxODksIDgxOTcsIDgyMDYsIDgyMTIsIDgyMTcsIDgyMjEsIDgyMjcsIDgyMzIsIDI3MjYsIDgyMzksIDgyNDMsIAorICAgIDgyNTIsIDgyNjEsIDgyNzAsIDgyNzksIDgyODQsIDgyODksIDgzMDAsIDgzMTIsIDgzMTcsIDgzMjUsIDIyMzEsIDgzMjksIAorICAgIDgzMzEsIDgzMzYsIDgzNDAsIDgzNDksIDgzNTcsIDE0MDYsIDEzOCwgMzU1OSwgMzU2NCwgODM2MywgODM2NywgODM3NiwgCisgICAgODM4MiwgODM4NywgODM5MCwgODM5OSwgMzU2OCwgMjcxOCwgODQwNSwgODQxMywgODQxNywgODQyMSwgODQyNSwgMjI0OCwgCisgICAgODQyOSwgODQzNCwgODQ0MSwgODQ0NywgODQ1MywgODQ1NiwgODQ1OCwgODQ2MSwgODQ2OSwgODQ3NywgODQ4NSwgODQ4OCwgCisgICAgODQ5MywgMjI2MSwgODQ5OCwgNzk0NywgODUwMSwgODUwMywgODUwOCwgODUxMywgODUxOCwgODUyMywgODUyOCwgODUzMywgCisgICAgODUzOCwgODU0MywgODU0OCwgODU1MywgODU1OSwgODU2NCwgODU2OSwgODU3NCwgODU4MCwgODU4NSwgODU5MCwgODU5NSwgCisgICAgODYwMCwgODYwNSwgODYxMCwgODYxNiwgODYyMSwgODYyNiwgODYzMSwgODYzNiwgODY0MSwgODY0NiwgODY1MSwgODY1NiwgCisgICAgODY2MSwgODY2NiwgODY3MSwgODY3NiwgODY4MSwgODY4NiwgODY5MSwgODY5NiwgODcwMSwgODcwNywgODcxMywgODcxOCwgCisgICAgODcyMywgODcyOCwgODczMywgODczOCwgMjI3MiwgMjI3OSwgMjI4NSwgODc0MywgODc1MSwgODc1NywgODc2NSwgMjMxMSwgCisgICAgMjMxNywgODc3MywgODc3NywgODc4MiwgODc4NiwgODc5MCwgODc5NCwgODc5OSwgODgwMywgODgwOCwgODgxMiwgODgxNSwgCisgICAgODgxOCwgODgyNCwgODgzMCwgODgzNiwgODg0MiwgODg0OCwgODg1NCwgODg2MCwgODg2NCwgODg2OCwgODg3MiwgODg3NiwgCisgICAgODg4MSwgODg4NSwgODg5MCwgODg5NCwgODkwMCwgODkwNSwgODkxMiwgODkyMywgODkzMSwgODk0MSwgODk0NywgODk1NCwgCisgICAgODk1OSwgODk2MywgODk3NCwgODk4NywgODk5OCwgOTAxMSwgOTAyMiwgOTAzNCwgOTA0NiwgOTA1OCwgOTA3MSwgOTA4NCwgCisgICAgOTA5MSwgOTA5NywgOTExMSwgOTExOCwgOTEyNCwgOTEyOCwgOTEzMywgOTEzNywgOTE0NCwgOTE1MiwgOTE1NiwgOTE2MiwgCisgICAgOTE2NiwgOTE3MiwgOTE4MiwgOTE4NiwgOTE5MSwgOTE5NiwgOTIwMywgOTIwOSwgODExNywgOTIxOSwgOTIyMywgOTIzMCwgCisgICAgOTIzNiwgOTI0MywgODcxLCA5MjQ3LCA5MjUxLCA5MjU2LCA5MjYxLCA5MjY2LCA5MjcwLCA5Mjc2LCA5Mjg0LCA5MjkwLCAKKyAgICA5Mjk0LCA5MzAwLCA5MzEwLCA5MzE0LCA5MzIwLCA5MzI1LCA5MzI5LCA5MzMzLCA5MzM5LCA5MzQ1LCAyMTY4LCA5MzUwLCAKKyAgICA5MzUyLCA5MzU3LCA5MzY1LCA5Mzc0LCA5Mzc4LCA5Mzg0LCA5Mzg5LCA5Mzk0LCA5Mzk5LCA5NDA0LCA5NDEwLCA5NDE1LCAKKyAgICA5NDIwLCA0MTQ2LCA5NDI1LCA5NDMwLCA5NDM0LCA5NDQwLCA5NDQ1LCA5NDUxLCA5NDU2LCA5NDYxLCA5NDY3LCA5NDcyLCAKKyAgICA5Mzc5LCA5NDc4LCA5NDgyLCA5NDg5LCA5NDk1LCA5NTAwLCA5NTA0LCA2MzczLCA5NTA5LCA5NTE4LCA5NTIzLCA5NTI4LCAKKyAgICA4NDM3LCA4NDQ0LCA5NTMzLCAyODg4LCA5NTM3LCA5NTQyLCA5NTQ3LCA5NTUyLCA5MzkwLCA5NTU2LCA5NTYxLCA5NTY2LCAKKyAgICA5Mzk1LCA5NTcwLCA5NDAwLCA5NTc1LCA5NTgyLCA5NTg5LCA5NTk1LCA5NjAyLCA5NjA4LCA5NjE0LCA5NjE5LCA5NjI2LCAKKyAgICA5NjMxLCA5NjM2LCA5NjQxLCA5NjQ3LCA5NDA1LCA5NDExLCA5NjUzLCA5NjU5LCA5NjY0LCA5NjY5LCA5Njc3LCA5NDE2LCAKKyAgICA5NjgyLCAxMDI4LCA5Njg1LCA5NjkzLCA5Njk5LCA5NzA1LCA5NzE0LCA5NzIyLCA5NzMwLCA5NzM4LCA5NzQ2LCA5NzU0LCAKKyAgICA5NzYyLCA5NzcwLCA5Nzc4LCA5Nzg3LCA5Nzk2LCA5ODA0LCA5ODEzLCA5ODIyLCA5ODMxLCA5ODQwLCA5ODQ5LCA5ODU4LCAKKyAgICA5ODY3LCA5ODc2LCA5ODg1LCA5ODk0LCA5OTAyLCA5OTA3LCA5OTEzLCA5OTIxLCA5OTI4LCA5OTQzLCA5OTYwLCA5OTc5LCAKKyAgICA5OTg4LCA5OTk2LCAxMDAxMSwgMTAwMjIsIDEwMDMyLCAxMDA0MiwgMTAwNTAsIDEwMDU2LCAxMDA2OCwgMTAwNzcsIAorICAgIDEwMDg1LCAxMDA5MiwgMTAwOTksIDEwMTA1LCAxMDExMCwgMTAxMjAsIDEwMTI4LCAxMDEzOCwgMTAxNDUsIDEwMTU1LCAKKyAgICAxMDE2NSwgMTAxNzUsIDEwMTgzLCAxMDE5MCwgMTAxOTksIDEwMjA5LCAxMDIyMywgMTAyMzgsIDEwMjQ3LCAxMDI1NSwgCisgICAgMTAyNjAsIDEwMjY0LCAxMDI3MywgMTAyNzksIDEwMjg0LCAxMDI5NCwgMTAzMDQsIDEwMzE0LCAxMDMxOSwgMTAzMjMsIAorICAgIDEwMzMyLCAxMDMzNywgMTAzNDcsIDEwMzU4LCAxMDM3MSwgMTAzNzksIDEwMzkyLCAxMDQwNCwgMTA0MTIsIDEwNDE3LCAKKyAgICAxMDQyMSwgMTA0MjcsIDEwNDMyLCAxMDQ0MCwgMTA0NDgsIDEwNDU1LCAxMDQ2MCwgMTA0NjgsIDEwNDc4LCAxMDQ4NCwgCisgICAgMTA0ODgsIDEwNDkxLCAxMDQ5NSwgMTA1MDEsIDEwNTA1LCAxMDUxMywgMTA1MjIsIDEwNTI3LCAxMDUzMSwgMTA1MzUsIAorICAgIDEwNTQzLCAxMDU1MSwgMTA1NjAsIDEwNTY4LCAxMDU3NCwgMTA1NzgsIDEwNTg1LCAxMDU5NiwgMTA2MDAsIDEwNjAzLCAKKyAgICAxMDYwOSwgOTQyMSwgMTA2MTQsIDEwNjIwLCAxMDYyNywgMTA2MzMsIDEwNjM4LCAxMDY0NSwgMTA2NTIsIDEwNjU5LCAKKyAgICAxMDY2NiwgMTA2NzMsIDEwNjgwLCAxMDY4NywgMTA2OTQsIDEwNjk5LCA5OTU2LCAxMDcwNCwgMTA3MTAsIDEwNzE3LCAKKyAgICAxMDcyNCwgMTA3MjksIDEwNzM2LCAxMDc0NSwgMTA3NDksIDEwNzYxLCA4NDc1LCAxMDc2NSwgMTA3NjgsIDEwNzcyLCAKKyAgICAxMDc3NiwgMTA3ODAsIDEwNzg0LCAxMDc5MCwgMTA3OTYsIDEwODAxLCAxMDgwNywgMTA4MTIsIDEwODE3LCAxMDgyMywgCisgICAgMTA4MjgsIDEwODMzLCA5MTk5LCAxMDgzOCwgMTA4NDIsIDEwODQ2LCAxMDg1MCwgMTA4NTUsIDEwODYwLCAxMDg2NSwgCisgICAgMTA4NzMsIDEwODc5LCAxMDg4MywgMTA4ODcsIDEwODk0LCAxMDg5OSwgMTA5MDcsIDEwOTE0LCAxMDkxOSwgMTA5MjMsIAorICAgIDEwOTI2LCAxMDkzMiwgMTA5MzksIDEwOTQzLCAxMDk0NiwgMTA5NTEsIDEwOTU1LCA0MTg1LCAxMDk2MSwgMTA5NzAsIDM2LCAKKyAgICAxMDk3OCwgMTA5ODQsIDEwOTg5LCAxMDk5NCwgOTIxNCwgMTEwMDAsIDExMDA2LCAxMTAxMSwgMTEwMTUsIDExMDE4LCAKKyAgICAxMTAzMywgMTEwNTIsIDExMDY0LCAxMTA3NywgMTEwOTAsIDExMTAzLCAxMTExNywgMTExMzAsIDExMTQ1LCAxMTE1MiwgCisgICAgOTQyNiwgMTExNTgsIDExMTcyLCAxMTE3NywgMTExODMsIDExMTg4LCAxMTE5NiwgMTEyMDEsIDgyNDgsIDExMjA2LCAKKyAgICAxMTIwOSwgMTEyMTcsIDExMjI0LCAxMTIyOSwgMTEyMzMsIDExMjM5LCAyODkzLCAxMTMzLCAxMTI0MywgMTEyNDcsIAorICAgIDExMjUzLCAxMTI1OSwgMTEyNjQsIDExMjcwLCAxMTI3NSwgOTQzNSwgMTEyODEsIDExMjg3LCAxMTI5MiwgMTEyOTcsIAorICAgIDExMzA1LCAxMTMxMSwgMTEzMjQsIDExMzMyLCAxMTMzOSwgOTQ0MSwgMTEzNDUsIDExMzUzLCAxMTM2MSwgMTEzNjgsIAorICAgIDExMzgxLCAxMTM5MywgMTE0MDMsIDExNDExLCAxMTQxOCwgMTE0MjUsIDExNDM1LCAxMTQ0NCwgMTE0NTMsIDExNDYxLCAKKyAgICAxMTQ2OCwgMTE0NzMsIDExNDc5LCA5NDQ2LCAxMTQ4NCwgMTE0OTAsIDExNDk1LCAxMTUwMCwgOTQ1MiwgMTE1MDUsIAorICAgIDExNTA4LCAxMTUxNSwgMTE1MjEsIDExNTM0LCA4OTE2LCAxMTU0NSwgMTE1NTEsIDExNTYwLCAxMTU2OCwgMTE1NzUsIAorICAgIDExNTgxLCAxMTU5MiwgMTE1OTgsIDM3ODAsIDExNjAzLCAxMTYwOCwgMTEwMjUsIDExNjE0LCAxMTYyMSwgMTE2MjYsIAorICAgIDk0NTcsIDExNjMyLCAxMTYzNywgMTE2NDQsIDExNjUwLCAxMTY1NiwgMTE2NjEsIDExNjY5LCAxMTY3NywgMTE2ODQsIAorICAgIDExNjg4LCAxMTcwMCwgMTE3MTQsIDExNzI0LCAxMTcyOSwgMTE3MzMsIDExNzQ0LCAxMTc1MCwgMTE3NTUsIDExNzYwLCAKKyAgICA5NDYyLCAxMTc2NCwgOTQ2OCwgMTE3NjksIDExNzcyLCAxMTc3NywgMTE3ODksIDExNzk2LCAxMTgwMSwgMTE4MDUsIAorICAgIDExODEzLCAxMTgxOCwgMTE4MjIsIDExODI3LCAxMTgzNCwgMTE4NDAsIDk0NzMsIDkzODAsIDExODQ3LCAyODk4LCA4LCAKKyAgICAxMTg1NCwgMTE4NTksIDExODYzLCAxMTg2NywgMTE4NzMsIDExODgxLCAxMTg5MSwgMTE4OTYsIDExOTAxLCAxMTkwOCwgCisgICAgMTE5MTUsIDExOTE5LCAxMTkzMCwgMTE5NDAsIDExOTQ5LCAxMTk1OCwgMTE5NzAsIDExOTc1LCAxMTk3OSwgMTE5ODcsIAorICAgIDEyMDAxLCAxMjAwNSwgMTIwMDgsIDEyMDE2LCAxMjAyMywgMTIwMzEsIDEyMDM1LCAxMjA0NiwgMTIwNTAsIDEyMDU3LCAKKyAgICAxMjA2MiwgMTIwNjYsIDEyMDcyLCAxMjA3NywgMTIwODIsIDEyMDg2LCAxMjA5MiwgMTIwOTcsIDEyMTA4LCAxMjExMiwgCisgICAgMTIxMTUsIDEyMTIxLCAxMjEyNiwgMTIxMzIsIDEyMTM4LCAxMjE0NSwgMTIxNTYsIDEyMTY2LCAxMjE3NiwgMTIxODUsIAorICAgIDEyMTkyLCAxMjIwMSwgMTIyMDUsIDk0ODMsIDk0OTAsIDk0OTYsIDk1MDEsIDEyMjExLCAxMjIxNywgMTIyMjMsIDk1MDUsIAorICAgIDEyMjI5LCAxMjIzMiwgMTIyMzksIDEyMjQ0LCAxMjI1OSwgMTIyNzUsIDEyMjkwLCAxMjI5OCwgMTIzMDQsIDEyMzA5LCAKKyAgICA4NjQsIDM1NCwgMTIzMTQsIDEyMzIyLCAxMjMyOSwgMTIzMzUsIDEyMzQwLCAxMjM0NSwgOTUxMCwgMTIzNDcsIDEyMzUxLCAKKyAgICAxMjM1NiwgMTIzNjAsIDEyMzcwLCAxMjM3NSwgMTIzNzksIDEyMzg4LCAxMjM5MiwgMTIzOTUsIDEyNDAyLCA5NTE5LCAKKyAgICAxMjQwNywgMTI0MTAsIDEyNDE4LCAxMjQyNSwgMTI0MzMsIDEyNDM3LCAxMjQ0MSwgMTI0NDgsIDEyNDU3LCAxMjQ2NCwgCisgICAgMTI0NjAsIDEyNDcxLCAxMjQ3NSwgMTI0ODEsIDEyNDg1LCAxMjQ4OSwgMTI0OTMsIDEyNDk5LCAxMjUwOSwgMTI1MTcsIAorICAgIDEyNTI0LCAxMjUyOCwgMTI1MzYsIDEyNTQwLCAxMjU0NywgMTI1NTEsIDEyNTU2LCAxMjU2MCwgMTI1NjcsIDEyNTczLCAKKyAgICAxMjU4MSwgMTI1ODcsIDEyNTkyLCAxMjYwMiwgMTI2MDcsIDEyNjEyLCAxMjYxNiwgMTI2MjQsIDQwNDEsIDEyNjMyLCAKKyAgICAxMjYzNywgOTUyNCwgMTI2NDEsIDEyNjQ1LCAxMjY0OCwgMTI2NTYsIDEyNjYzLCAxMjY2NywgNjE3MywgMTI2NzEsIAorICAgIDEyNjc2LCAxMjY4MCwgMTI2OTEsIDEyNzAxLCAxMjcwNiwgMTI3MTIsIDEyNzE2LCAxMjcxOSwgMTI3MjcsIDEyNzMyLCAKKyAgICAxMjczNywgMTI3NDQsIDEyNzQ5LCA5NTI5LCAxMjc1NCwgMTI3NTgsIDEyNzY1LCAxNzIyLCA2MzMxLCAxMjc3MCwgMTI3NzUsIAorICAgIDEyNzgwLCAxMjc4NSwgMTI3OTEsIDEyNzk2LCAxMjgwMiwgMTI4MDcsIDEyODEyLCAxMjgxNywgMTI4MjIsIDEyODI3LCAKKyAgICAxMjgzMiwgMTI4MzcsIDEyODQyLCAxMjg0NywgMTI4NTIsIDEyODU3LCAxMjg2MiwgMTI4NjcsIDEyODcyLCAxMjg3NywgCisgICAgMTI4ODIsIDEyODg4LCAxMjg5MywgMTI4OTgsIDEyOTAzLCAxMjkwOCwgMTI5MTMsIDEyOTE5LCAxMjkyNCwgMTI5MjksIAorICAgIDEyOTM1LCAxMjk0MCwgMTI5NDYsIDEyOTUxLCAxMjk1NywgMTI5NjIsIDEyOTY3LCAxMjk3MiwgMTI5NzcsIDEyOTgzLCAKKyAgICAxMjk4OCwgMTI5OTMsIDEyOTk4LCA4MzYsIDExNywgMTMwMDYsIDEzMDEwLCAxMzAxNSwgMTMwMjAsIDEzMDI0LCAxMzAyOCwgCisgICAgMTMwMzIsIDEzMDM3LCAxMzA0MSwgMTMwNDYsIDEzMDUwLCAxMzA1MywgMTMwNTcsIDEzMDYxLCAxMzA2NywgMTMwNzIsIAorICAgIDEzMDgyLCAxMzA4OCwgMTMwOTYsIDEzMTAyLCAxMzEwNiwgMTMxMTAsIDEzMTE3LCAxMzEyNSwgMTMxMzQsIDEzMTQ1LCAKKyAgICAxMzE1MiwgMTMxNTksIDEzMTYzLCAxMzE3MiwgMTMxODEsIDEzMTg5LCAxMzE5OCwgMTMyMDcsIDEzMjE2LCAxMzIyNSwgCisgICAgMTMyMzUsIDEzMjQ1LCAxMzI1NSwgMTMyNjUsIDEzMjc1LCAxMzI4NCwgMTMyOTQsIDEzMzA0LCAxMzMxNCwgMTMzMjQsIAorICAgIDEzMzM0LCAxMzM0NCwgMTMzNTQsIDEzMzYzLCAxMzM3MywgMTMzODMsIDEzMzkzLCAxMzQwMywgMTM0MTMsIDEzNDIzLCAKKyAgICAxMzQzMiwgMTM0NDIsIDEzNDUyLCAxMzQ2MiwgMTM0NzIsIDEzNDgyLCAxMzQ5MiwgMTM1MDIsIDEzNTEyLCAxMzUyMiwgCisgICAgMTM1MzEsIDEzNTQxLCAxMzU1MSwgMTM1NjEsIDEzNTcxLCAxMzU4MSwgMTM1OTEsIDEzNjAxLCAxMzYxMSwgMTM2MjEsIAorICAgIDEzNjMxLCAxMzY0MCwgMTIzNiwgMTM2NDYsIDEzNjQ5LCAxMzY1MywgMTM2NTgsIDEzNjY1LCAxMzY3MSwgMTM2NzYsIAorICAgIDEzNjgwLCAxMzY4NSwgMTM2OTQsIDEzNzAyLCAxMzcwNywgMTM3MTEsIDEzNzE1LCAxMzcyMSwgMTM3MjYsIDEzNzMyLCAKKyAgICA5NTM4LCAxMzczNywgMTM3NDIsIDEzNzUxLCA5NTQ4LCAxMzc1NiwgMTM3NTksIDEzNzY1LCAxMzc3MywgOTU1MywgMTM3ODAsIAorICAgIDEzNzg0LCAxMzc4OCwgMTM3OTMsIDEzNzk3LCAxMzgwNywgMTM4MTMsIDEzODE5LCAxMzgyNCwgMTM4MzMsIDEzODQxLCAKKyAgICAxMzg0OCwgMTM4NTUsIDEzODYwLCAxMzg2NywgMTM4NzIsIDEzODc2LCAxMzg3OSwgMTM4OTAsIDEzOTAwLCAxMzkwOSwgCisgICAgMTM5MTcsIDEzOTI4LCAxMzk0MCwgMTM5NTAsIDEzOTU1LCAxMzk1OSwgMTM5NjQsIDEzOTY5LCAxMzk3MywgMTM5NzksIAorICAgIDEzOTg3LCAxMzk5NCwgMTQwMDUsIDE0MDEwLCAxNDAyMCwgMTQwMjksIDE0MDMzLCAxNDAzNiwgMTQwNDMsIDE0MDUzLCAKKyAgICAxNDA2MiwgMTQwNjksIDE0MDczLCAxNDA4MCwgMTQwODYsIDE0MDkxLCAxNDA5NiwgMTQxMDAsIDE0MTA5LCAxNDExNCwgCisgICAgMTQxMTgsIDE0MTI0LCAxNDEyOCwgMTQxMzMsIDE0MTM3LCAxNDE0NiwgMTQxNTQsIDE0MTYyLCAxNDE2OSwgMTQxNzcsIAorICAgIDE0MTg5LCAxNDIwMCwgMTQyMTAsIDE0MjE3LCAxNDIyMywgMTQyMzIsIDE0MjQzLCAxNDI1MiwgMTQyNjQsIDE0Mjc2LCAKKyAgICAxNDI4OCwgMTQyOTgsIDE0MzA3LCAxNDMxNiwgMTQzMjQsIDE0MzMxLCAxNDM0MCwgMTQzNDgsIDE0MzUyLCAxNDM1NywgCisgICAgMTQzNjMsIDE0MzY5LCAxNDM3NCwgMTQzNzksIDc5NjgsIDE0MzgzLCAxNDM4NSwgMTQzODksIDE0Mzk0LCAxNDQwMCwgCisgICAgMTQ0MDYsIDE0NDE1LCAxNDQxOSwgMTQ0MjUsIDE0NDMzLCAxNDQ0MCwgMTQ0NDksIDE0NDU4LCAxNDQ2NywgMTQ0NzYsIAorICAgIDE0NDg1LCAxNDQ5NCwgMTQ1MDMsIDE0NTEyLCAxNDUyMiwgMTQ1MzIsIDE0NTQxLCAxNDU0NywgMTQ1NTQsIDE0NTYxLCAKKyAgICAxNDU2NywgMTQ1ODEsIDE0NTg4LCAxNDU5NiwgMTQ2MDUsIDE0NjExLCAxNDYyMCwgMTQ2MjksIDE0NjQwLCAxNDY1MCwgCisgICAgMTQ2NTgsIDE0NjY1LCAxNDY3MywgMTQ2ODIsIDE0Njk1LCAxNDcwMywgMTQ3MTAsIDE0NzIzLCAxNDcyOSwgMTQ3MzUsIAorICAgIDE0NzQ1LCAxNDc1NCwgMTQ3NjMsIDE0NzY4LCAxNDc3MiwgMTQ3NzgsIDE0Nzg0LCAxNDc4OSwgMTQ3OTYsIDE0ODAzLCAKKyAgICA5MjEzLCAxNDgwOCwgMTQ4MTMsIDE0ODIwLCAxNDgyNywgMTQ4MzIsIDE0ODQ0LCAxMzA2MywgMTQ4NDksIDE0ODU3LCAKKyAgICAxNDg2MywgMTQ4NjgsIDE0ODc2LCAxNDg4NCwgMTQ4OTEsIDE0ODk5LCAxNDkwNSwgMTQ5MTMsIDE0OTIxLCAxNDkyNywgCisgICAgMTQ5MzIsIDE0OTM4LCAxNDk0NSwgMTQ5NTEsIDE0OTU2LCAxNDk2MCwgMTQ5NzEsIDE0OTc5LCAxNDk4NSwgMTQ5OTAsIAorICAgIDE0OTk3LCAxNTAwNiwgMTUwMTIsIDE1MDE3LCAxNTAyNSwgMTUwMzQsIDE1MDQ4LCAzOTg1LCAxNTA1MiwgMTUwNTcsIAorICAgIDE1MDYyLCAxNTA2OCwgMTUwNzMsIDE1MDc4LCAxNTA4MiwgMTUwODcsIDE1MDkyLCAxNTA5NywgNzk2NywgMTUxMDIsIAorICAgIDE1MTA3LCAxNTExMiwgMTUxMTcsIDE1MTIyLCAxNTEyNiwgMTUxMzEsIDE1MTM2LCAxNTE0MSwgMTUxNDYsIDE1MTUyLCAKKyAgICAxNTE1OCwgMTUxNjMsIDE1MTY3LCAxNTE3MywgMTUxNzgsIDE1MTgzLCAxNTE4OCwgOTU1NywgMTUxOTMsIDE1MTk4LCAKKyAgICAxNTIwMywgMTUyMDgsIDE1MjEzLCAxNTIzMCwgMTUyNDgsIDE1MjYwLCAxNTI3MywgMTUyOTAsIDE1MzA2LCAxNTMyMywgCisgICAgMTUzMzMsIDE1MzUyLCAxNTM2MywgMTUzNzQsIDE1Mzg1LCAxNTM5NiwgMTU0MDgsIDE1NDE5LCAxNTQzMCwgMTU0NDcsIAorICAgIDE1NDU4LCAxNTQ2OSwgMTU0NzQsIDk1NjIsIDE1NDc5LCAxNTQ4MywgMjQwMSwgMTU0ODcsIDE1NDkwLCAxNTQ5NiwgCisgICAgMTU1MDQsIDE1NTEyLCAxNTUxNywgMTU1MjUsIDE1NTMzLCAxNTU0MCwgMTU1NDQsIDE1NTQ5LCAxNTU1NSwgMTU1NjIsIAorICAgIDE1NTcwLCAxNTU3NywgMTU1ODksIDE1NTk3LCAxNTYwMiwgMTU2MDgsIDEyMjUzLCAxNTYxNCwgMTU2MjMsIDE1NjMxLCAKKyAgICAxNTY0MCwgMTU2NDgsIDE1NjU1LCAxNTY2MSwgMTU2NjksIDE1Njc2LCAxNTY4MiwgMTU2ODksIDE1Njk2LCAxNTcwMiwgCisgICAgMTU3MDgsIDE1NzE3LCAxNTcyNSwgMTU3MzUsIDE1NzQyLCAxNTc0OCwgMTU3NTYsIDE1NzYyLCAxNTc3MCwgMTU3NzgsIAorICAgIDE1Nzg1LCAxNTc5OCwgMTU4MDUsIDE1ODE0LCAxNTgyMywgMTU4MzIsIDE1ODQwLCAxNTg1MCwgMTU4NTcsIDE1ODYyLCAKKyAgICAzNjcxLCAxNTg2OSwgMTU4NzQsIDEzNTIsIDE1ODc4LCAxNTEwMywgMTU4ODIsIDE1ODg4LCAxNTg5MiwgMTU5MDAsIAorICAgIDE1OTEyLCAxNTkxOSwgMTU5MjUsIDE1OTMwLCAxNTkzNywgMTUxMDgsIDE1OTQxLCAxNTk0NSwgMTU5NDksIDE1MTEzLCAKKyAgICAxNTk1MywgMTUxMTgsIDE1OTU3LCAxNTk2NCwgMTU5NjksIDE1OTczLCAxNTk4MCwgMTU5ODQsIDE1OTkyLCAxNTk5OSwgCisgICAgMTYwMDQsIDE2MDA4LCAxNjAxNSwgMTYwMzIsIDE2MDQxLCAxNjA0NSwgMTYwNDgsIDE2MDU2LCAxNjA2MiwgMTYwNjcsIAorICAgIDM3NDksIDE2MDcxLCAxNjA3MywgMTYwODEsIDE2MDg4LCAxNjA5OCwgMTYxMTAsIDE2MTE1LCAxNjExOSwgMTYxMjUsIAorICAgIDE2MTMwLCAxNjEzNCwgMTYxNDAsIDE2MTQ1LCAxNjE1MSwgMTYxNTQsIDE2MTYxLCAxNjE2OSwgMTYxNzYsIDE2MTgyLCAKKyAgICAxNjE4OCwgMTYxOTMsIDE2MjAwLCAxNjIwNiwgMTYyMTEsIDE2MjE4LCAxNjIyMiwgMTYyMjgsIDE2MjMyLCAxNjIzOSwgCisgICAgMTYyNDUsIDE2MjUwLCAxNjI1NiwgMTYyNjQsIDE2MjcyLCAxNjI3OSwgMTYyODUsIDE2MjkwLCAxNjI5NiwgMTYzMDIsIAorICAgIDE2MzEwLCAxNjMxOCwgMTYzMjQsIDE2MzMwLCAxNjMzNSwgMTYzNDIsIDE2MzQ3LCAxNjM1MSwgMTYzNTcsIDE2MzYyLCAKKyAgICAxNjM2OSwgMTYzNzQsIDE2MzgwLCAxNjM4MywgMTYzODksIDE2Mzk1LCAxNjM5OCwgMTY0MDIsIDE2NDA2LCAxNjQxOCwgCisgICAgMTY0MjQsIDE2NDI5LCAxNjQzNiwgMTY0NDIsIDE2NDQ4LCAxNjQ1OSwgMTY0NjksIDE2NDc4LCAxNjQ4NiwgMTY0OTMsIAorICAgIDE2NTA0LCAxNjUxNCwgMTY1MjQsIDE2NTMyLCAxNjUzNSwgMTUxMzIsIDE2NTQwLCAxNjU0NSwgMTUxMzcsIDE1Mjc4LCAKKyAgICAxNjU1MywgMTY1NjYsIDE2NTgxLCAxNjU5MiwgMTUyOTUsIDE2NjEwLCAxNjYyMywgMTY2MzYsIDE2NjQ3LCAxMTA0MCwgCisgICAgMTY2NTgsIDE2NjcxLCAxNjY5MCwgMTY3MDEsIDE2NzEyLCAxNjcyMywgMjY2OSwgMTY3MzYsIDE2NzQwLCAxNjc0OCwgCisgICAgMTY3NTYsIDE2NzcxLCAxNjc4NiwgMTY3OTcsIDE2ODA0LCAxNjgxMCwgMTY4MTgsIDE2ODIyLCAxNjgyOCwgMTY4MzEsIAorICAgIDE2ODQxLCAxNjg0OSwgMTY4NTYsIDE2ODY0LCAxNjg3NCwgMTY4NzksIDE2ODg2LCAxNjg5MSwgMTY4OTgsIDE2OTA5LCAKKyAgICAxNjkxOSwgMTY5MjUsIDE2OTMwLCAxNjkzNSwgMTUxNDIsIDE2OTM5LCAxNjk0NSwgMTY5NTEsIDE2OTU2LCAxNjk2MSwgCisgICAgMTY5NjYsIDE2OTcwLCAxNTE0NywgMTUxNTMsIDE2OTc0LCAxNTE1OSwgMTY5NzksIDE2OTg3LCAxNjk5NSwgMTcwMDIsIAorICAgIDE3MDExLCAxNzAxOCwgMTcwMjIsIDk0MDEsIDE3MDI2LCAxNzAyOCwgMTcwMzMsIDE3MDM4LCAxNzA0NCwgMTcwNDksIAorICAgIDE3MDU0LCAxNzA1OSwgMTcwNjQsIDE3MDY4LCAxNzA3NCwgMTcwODAsIDE3MDg1LCAxNzA5MSwgMTcwOTYsIDE3MTAxLCAKKyAgICAxNzEwNSwgMTcxMTEsIDE3MTE2LCAxNzEyMSwgMTcxMjYsIDE3MTMxLCAxNzEzNywgMTcxNDIsIDE3MTQ3LCAxNzE1MywgCisgICAgMTcxNTksIDE3MTY0LCAxNzE2OSwgMTcxNzQsIDE3MTgxLCAxNzE4NywgMTcxOTgsIDE3MjA1LCAxNzIxMCwgMTcyMTQsIAorICAgIDE3MjE4LCAxNzIyMSwgMTcyMjksIDE3MjM0LCAxNzI0MSwgMTcyNDgsIDE3MjU0LCAxNzI1OSwgMTcyNjQsIDE3MjY5LCAKKyAgICAxNzI3NiwgMTcyODYsIDE3MjkxLCAxNzI5OCwgMTczMDQsIDE3MzEzLCAxNzMyMywgMTczMzMsIDE3MzQ3LCAxNzM2MSwgCisgICAgMTczNzUsIDE3Mzg5LCAxNzQwNCwgMTc0MTksIDE3NDM2LCAxNzQ1NCwgMTc0NjcsIDE3NDczLCAxNzQ3OCwgMTc0ODMsIAorICAgIDE3NDg3LCAxNzQ5NSwgMTc1MDAsIDE3NTA4LCAxNzUxNCwgMTc1MjAsIDE3NTI1LCAxNzUzMCwgMTc1MzQsIDE3NTM5LCAKKyAgICAxNzU0MywgMTc1NDgsIDE3NTUyLCAxNzU2MywgMTc1NjksIDE3NTc0LCAxNzU3OSwgMTc1ODYsIDE3NTkxLCAxNzU5NSwgCisgICAgMTc2MDAsIDE3NjA1LCAxNzYxMSwgMTc2MTgsIDE1MTY4LCAxNzYyNCwgMTc2MjgsIDE3NjM0LCAxNzYzOSwgMTc2NDQsIAorICAgIDE3NjQ4LCAxNzY1NCwgMTc2NTksIDE3NjY0LCAxNzY3MSwgMTc2NzYsIDEzODA5LCAxNzY4MCwgMTc2ODUsIDE3Njg5LCAKKyAgICAxNzY5NCwgMTc3MDAsIDE3NzA2LCAxNzcxMywgMTc3MjMsIDE3NzMxLCAxNzczOCwgMTc3NDMsIDE3NzQ3LCAxNzc1NiwgCisgICAgMTc3NjQsIDE3NzcxLCAxNzc3OCwgMTc3ODQsIDE3NzkwLCAxNzc5NSwgMTc4MDAsIDE3ODA2LCAxNzgxMSwgMTc4MTcsIAorICAgIDE3ODIyLCAxNzgyOCwgMTc4MzQsIDE3ODQxLCAxNzg0NywgMTc4NTIsIDE3ODU3LCA5NjI3LCAxNzg2NiwgMTc4NjksIAorICAgIDE3ODc3LCAxNzg4MywgMTc4ODgsIDE3ODkzLCAxNzkwMywgMTc5MTAsIDE3OTE2LCAxNzkyMSwgMTc5MjYsIDE3OTMyLCAKKyAgICAxNzkzNywgMTc5NDMsIDE3OTQ4LCAxNzk1NCwgMTc5NjAsIDE3OTY1LCAxNzk3MywgMTc5ODAsIDE3OTg1LCAxNzk5MCwgCisgICAgMTc5OTYsIDE4MDAxLCAxODAwNSwgMTgwMTQsIDE4MDI1LCAxODAzMiwgMTgwMzcsIDE4MDQyLCAxODA0OCwgMTgwNTMsIAorICAgIDE4MDYxLCAxODA2NywgMTgwNzMsIDE4MDgwLCAxODA4NiwgMTgwOTEsIDE4MDk1LCAxODEwMSwgMTgxMDYsIDE4MTExLCAKKyAgICAxODExNiwgMTQyMywgNzk5MiwgMjkxMiwgMTgxMjAsIDE4MTI0LCAxODEyOCwgMTgxMzIsIDE4MTM2LCAxODE0MCwgMTgxNDMsIAorICAgIDE4MTQ4LCAxODE1NSwgMTgxNjMsIDE1MTc5LCAxODE3MCwgMTgxODAsIDE4MTg4LCAxODE5NSwgMTgyMDMsIDE4MjEzLCAKKyAgICAxODIyMiwgMTgyMzUsIDE4MjQwLCAxODI0NSwgMTgyNTMsIDE4MjYwLCAxMzkwNSwgMTM5MTQsIDE4MjY3LCAxODI3NywgCisgICAgMTgyOTIsIDE4Mjk4LCAxODMwNSwgMTgzMTIsIDE4MzE4LCAxODMyNCwgMTgzMzIsIDE4MzQyLCAxODM1MiwgMTUxODQsIAorICAgIDE4MzYxLCAxODM2NywgMTgzNzMsIDE4MzgxLCAxODM4OSwgMTgzOTQsIDE4NDAzLCAxODQxMSwgMTg0MjMsIDE4NDMzLCAKKyAgICAxODQ0MywgMTg0NTMsIDE4NDYyLCAxODQ3NCwgMTg0ODQsIDE4NDk0LCAxODUwNSwgMTg1MTAsIDE4NTIyLCAxODUzNCwgCisgICAgMTg1NDYsIDE4NTU4LCAxODU3MCwgMTg1ODIsIDE4NTk0LCAxODYwNiwgMTg2MTgsIDE4NjMwLCAxODY0MSwgMTg2NTMsIAorICAgIDE4NjY1LCAxODY3NywgMTg2ODksIDE4NzAxLCAxODcxMywgMTg3MjUsIDE4NzM3LCAxODc0OSwgMTg3NjEsIDE4NzcyLCAKKyAgICAxODc4NCwgMTg3OTYsIDE4ODA4LCAxODgyMCwgMTg4MzIsIDE4ODQ0LCAxODg1NiwgMTg4NjgsIDE4ODgwLCAxODg5MiwgCisgICAgMTg5MDMsIDE4OTE1LCAxODkyNywgMTg5MzksIDE4OTUxLCAxODk2MywgMTg5NzUsIDE4OTg3LCAxODk5OSwgMTkwMTEsIAorICAgIDE5MDIzLCAxOTAzNCwgMTkwNDYsIDE5MDU4LCAxOTA3MCwgMTkwODIsIDE5MDk0LCAxOTEwNiwgMTkxMTgsIDE5MTMwLCAKKyAgICAxOTE0MiwgMTkxNTQsIDE5MTY1LCAxOTE3NywgMTkxODksIDE5MjAxLCAxOTIxMywgMTkyMjUsIDE5MjM3LCAxOTI0OSwgCisgICAgMTkyNjEsIDE5MjczLCAxOTI4NSwgMTkyOTYsIDE5MzA4LCAxOTMyMCwgMTkzMzIsIDE5MzQ0LCAxOTM1NiwgMTkzNjgsIAorICAgIDE5MzgwLCAxOTM5MiwgMTk0MDQsIDE5NDE2LCAxOTQyNywgMTk0MzksIDE5NDUxLCAxOTQ2MywgMTk0NzUsIDE5NDg4LCAKKyAgICAxOTUwMSwgMTk1MTQsIDE5NTI3LCAxOTU0MCwgMTk1NTMsIDE5NTY2LCAxOTU3OCwgMTk1OTEsIDE5NjA0LCAxOTYxNywgCisgICAgMTk2MzAsIDE5NjQzLCAxOTY1NiwgMTk2NjksIDE5NjgyLCAxOTY5NSwgMTk3MDgsIDE5NzIwLCAxOTczMywgMTk3NDYsIAorICAgIDE5NzU5LCAxOTc3MiwgMTk3ODUsIDE5Nzk4LCAxOTgxMSwgMTk4MjQsIDE5ODM3LCAxOTg1MCwgMTk4NjIsIDE5ODc1LCAKKyAgICAxOTg4OCwgMTk5MDEsIDE5OTE0LCAxOTkyNywgMTk5NDAsIDE5OTUzLCAxOTk2NiwgMTk5NzksIDE5OTkyLCAyMDAwNCwgCisgICAgMjAwMTcsIDIwMDMwLCAyMDA0MywgMjAwNTYsIDIwMDY5LCAyMDA4MiwgMjAwOTUsIDIwMTA4LCAyMDEyMSwgMjAxMzQsIAorICAgIDIwMTQ2LCAyMDE1OSwgMjAxNzIsIDIwMTg1LCAyMDE5OCwgMjAyMTEsIDIwMjI0LCAyMDIzNywgMjAyNTAsIDIwMjYzLCAKKyAgICAyMDI3NiwgMjAyODgsIDIwMjk5LCAyMDMxMiwgMjAzMjUsIDIwMzM4LCAyMDM1MSwgMjAzNjQsIDIwMzc3LCAyMDM5MCwgCisgICAgMjA0MDMsIDIwNDE2LCAyMDQyOSwgMjA0NDEsIDIwNDU0LCAyMDQ2NywgMjA0ODAsIDIwNDkzLCAyMDUwNiwgMjA1MTksIAorICAgIDIwNTMyLCAyMDU0NSwgMjA1NTgsIDIwNTcxLCAyMDU4MywgMjA1OTYsIDIwNjA5LCAyMDYyMiwgMjA2MzUsIDIwNjQ4LCAKKyAgICAyMDY2MSwgMjA2NzQsIDIwNjg3LCAyMDcwMCwgMjA3MTMsIDIwNzI1LCAyMDczOCwgMjA3NTEsIDIwNzY0LCAyMDc3NywgCisgICAgMjA3OTAsIDIwODAzLCAyMDgxNiwgMjA4MjksIDIwODQyLCAyMDg1NSwgMjA4NjcsIDIwODgwLCAyMDg5MywgMjA5MDYsIAorICAgIDIwOTE5LCAyMDkzMiwgMjA5NDUsIDIwOTU4LCAyMDk3MSwgMjA5ODQsIDIwOTk3LCAyMTAwOSwgMjEwMjIsIDIxMDM1LCAKKyAgICAyMTA0OCwgMjEwNjEsIDIxMDc0LCAyMTA4NywgMjExMDAsIDIxMTEzLCAyMTEyNiwgMjExMzksIDIxMTUxLCAyMTE2NCwgCisgICAgMjExNzcsIDIxMTkwLCAyMTIwMywgMjEyMTYsIDIxMjI5LCAyMTI0MiwgMjEyNTUsIDIxMjY4LCAyMTI4MSwgMjEyOTMsIAorICAgIDIxMzA2LCAyMTMxOSwgMjEzMzIsIDIxMzQ1LCAyMTM1OCwgMjEzNzEsIDIxMzg0LCAyMTM5NywgMjE0MTAsIDIxNDIzLCAKKyAgICAyMTQzNSwgMjE0NDgsIDIxNDYxLCAyMTQ3NCwgMjE0ODcsIDIxNTAwLCAyMTUxMywgMjE1MjYsIDIxNTM5LCAyMTU1MiwgCisgICAgMjE1NjUsIDIxNTc3LCAyMTU5MCwgMjE2MDMsIDIxNjE2LCAyMTYyOSwgMjE2NDIsIDIxNjU1LCAyMTY2OCwgMjE2ODEsIAorICAgIDIxNjk0LCAyMTcwNywgMjE3MTksIDIxNzMwLCAyMTczOSwgMjE3NDcsIDIxNzU1LCAyMTc2MiwgMjE3NjgsIDIxNzcyLCAKKyAgICAyMTc3OCwgMjE3ODQsIDIxNzkyLCAyMTc5NywgMjE4MDMsIDIxODA4LCAyMTgxMiwgMjE4MjEsIDk0MDYsIDIxODMyLCAKKyAgICAyMTgzOSwgMjE4NDcsIDIxODU0LCAyMTg2MSwgMTE1MjgsIDIxODY4LCAyMTg3NSwgMjE4ODQsIDIxODg5LCAyMTg5NCwgCisgICAgODAyMCwgMjE5MDEsIDIxOTA2LCAyMTkwOSwgMjE5MTQsIDIxOTIyLCAyMTkyOSwgMjE5MzYsIDIxOTQzLCAyMTk0OSwgCisgICAgMjE5NTgsIDIxOTY3LCAyMTk3MywgMjE5ODIsIDIxOTg2LCAyMTk5MiwgMjE5OTcsIDIyMDA3LCAyMjAxNCwgMjIwMjAsIAorICAgIDIyMDI4LCAyMjAzNCwgMjIwNDEsIDIyMDUxLCAyMjA2MCwgMjIwNjQsIDIyMDcxLCAyMjA3NSwgMjIwODAsIDIyMDg2LCAKKyAgICAyMjA5NCwgMjIwOTgsIDIyMTA4LCAxNTE5NCwgMjIxMTcsIDIyMTIzLCAyMjEyNywgMjIxMzYsIDIyMTQ2LCAxNTE5OSwgCisgICAgMjIxNTIsIDIyMTU5LCAyMjE3MCwgMjIxNzgsIDIyMTg4LCAyMjE5NywgMjIyMDUsIDkxNzgsIDIyMjEzLCAyMjIxOCwgCisgICAgMjIyMjQsIDIyMjI5LCAyMjIzMywgMjIyMzcsIDIyMjQxLCAxMDEyNCwgMjIyNDYsIDIyMjU0LCAyMjI2MSwgMjIyNzAsIAorICAgIDIyMjc3LCAyMjI4NCwgMjIyOTAsIDExNDQ4LCAyMjI5NywgMjIzMDMsIDIyMzA3LCAyMjMxMywgMjIzMjAsIDIyMzI2LCAKKyAgICAyMjMzNCwgMjIzNDAsIDIyMzQ3LCAyMjM1MywgMjIzNTksIDIyMzY4LCAyMjM3MiwgMjIzODAsIDIyMzg5LCAyMjM5NiwgCisgICAgMjI0MDEsIDIyNDA1LCAyMjQxNiwgMjI0MjEsIDIyNDI2LCAyMjQzMSwgMjI0NDQsIDgyMDMsIDIyNDQ4LCAyMjQ1NCwgCisgICAgMjI0NjIsIDIyNDY2LCAyMjQ3MywgMjI0ODIsIDIyNDg3LCAxNTQ3MCwgMjI0OTUsIDIyNDk5LCAyMjUxMSwgMjI1MTYsIAorICAgIDIyNTIwLCAyMjUyMywgMjI1MjksIDIyNTM1LCAyMjU0MSwgMjI1NDYsIDIyNTUwLCAyMjU1MywgMjI1NjQsIDIyNTY5LCAKKyAgICA5Njc4LCAyMjU3NiwgMjI1ODEsIDEyNDIsIDk2ODMsIDIyNTg2LCAyMjU5MSwgMjI1OTYsIDIyNjAxLCAyMjYwNiwgMjI2MTEsIAorICAgIDIyNjE2LCAyMjYyMSwgMjI2MjYsIDIyNjMxLCAyMjYzNiwgMjI2NDEsIDIyNjQ3LCAyMjY1MiwgMjI2NTcsIDIyNjYyLCAKKyAgICAyMjY2NywgMjI2NzIsIDIyNjc3LCAyMjY4MiwgMjI2ODcsIDIyNjkyLCAyMjY5OCwgMjI3MDQsIDIyNzA5LCAyMjcxNCwgCisgICAgMjI3MTksIDIyNzI0LCAyMjcyOSwgMjI3MzQsIDIyNzM5LCAyMjc0NCwgMjI3NDksIDIyNzU1LCAyMjc2MCwgMjI3NjUsIAorICAgIDIyNzcwLCAyMjc3NiwgMjI3ODIsIDIyNzg3LCAyMjc5MiwgMjI3OTcsIDIyODAyLCAyMjgwNywgMjI4MTIsIDIyODE3LCAKKyAgICAyMjgyMiwgMjI4MjgsIDIyODMzLCAyMjgzOCwgMjI4NDMsIDIyODQ4LCAyMjg1NCwgMjI4NTksIDIyODY0LCAyMjg2OCwgCisgICAgMTM0LCAyMjg3NiwgMjI4ODAsIDIyODg0LCAyMjg4OCwgMjI4OTMsIDIyODk3LCAxMzgxNSwgMjMyNywgMjI5MDEsIDIyOTA2LCAKKyAgICAyMjkxMCwgMjI5MTUsIDIyOTE5LCAyMjkyNCwgMjI5MjgsIDIyOTM0LCAyMjkzOSwgMjI5NDMsIDIyOTQ3LCAyMjk1NSwgCisgICAgMjI5NTksIDIyOTYzLCAyMjk2OCwgMjI5NzMsIDIyOTc3LCAyMjk4MywgMjI5ODgsIDIyOTkyLCAyMjk5NywgMjMwMDIsIAorICAgIDIzMDA2LCAyMzAxMywgMjMwMjAsIDIzMDI3LCAyMzAzMSwgMjMwMzUsIDIzMDQwLCAyMzA0NCwgMjMwNDcsIDIzMDUzLCAKKyAgICAyMzA2NiwgMjMwNzEsIDIzMDgwLCAyMzA4NSwgOTkwMywgMjMwOTAsIDIzMDk1LCAyMzA5OCwgMjczMiwgMjczNywgMjMxMDIsIAorICAgIDIzMTA4LCAyMzExNCwgNzQxMywgMjMxMTksIDIzMTI0LCAyMzEyOSwgMjMxMzUsIDIzMTQwLCAxNDYzNiwgMjMxNDUsIAorICAgIDIzMTUwLCAyMzE1NSwgMjMxNjAsIDIzMTY2LCAyMzE3MSwgMjMxNzYsIDIzMTgyLCAyMzE4NywgMjMxOTEsIDIzMTk2LCAKKyAgICAyMzIwMSwgMjMyMDYsIDIzMjExLCAyMzIxNSwgMjMyMjAsIDIzMjI0LCAyMzIyOSwgMjMyMzQsIDIzMjM5LCAyMzI0NCwgCisgICAgMjMyNDgsIDIzMjUzLCAyMzI1NywgMjMyNjIsIDIzMjY3LCAyMzI3MiwgMjMyNzcsIDI5MjEsIDIzMTkyLCAyMzI4MSwgCisgICAgMjMyODksIDIzMjk2LCAxMDIxOCwgMjMzMDgsIDIzMzE2LCAyMzE5NywgMjMzMjMsIDIzMzI4LCAyMzMzNiwgMjMyMDIsIAorICAgIDIzMzQxLCAyMzM0NiwgMjMzNTQsIDIzMzU5LCAyMzIwNywgMjMzNjQsIDIzMzcyLCAyMzM3NywgMjMzODEsIDIzMzg3LCAKKyAgICAyMzM5NiwgMjM0MDQsIDIzNDA4LCAyMzQxMSwgMjM0MTgsIDIzNDIyLCAyMzQyNiwgMjM0MzIsIDIzNDM5LCAyMzQ0NCwgCisgICAgOTIwNSwgMTcyNywgMTczMiwgMjM0NDgsIDIzNDU0LCAyMzQ2MCwgMjM0NjUsIDIzNDY5LCAyMzQ3MywgMjM0NzcsIDIzNDgxLCAKKyAgICAyMzQ4NSwgMjM0ODksIDIzNDkzLCAyMzQ5NywgMjM1MDAsIDIzNTA2LCAyMzUxMywgMjM1MjEsIDIzNTI3LCAyMzUzMywgCisgICAgMjM1MzgsIDIzNTQzLCAyMzU0NywgMjM1NTIsIDE0NTU2LCAxNDU2MywgMjM1NTksIDIzNTcxLCAyMzU3NCwgMjM1ODEsIAorICAgIDE3MjUwLCAyMzU4OCwgMjM1OTYsIDIzNjA3LCAyMzYxNiwgMjM2MjksIDIzNjM5LCAyMzY1MywgMjM2NjUsIDIzNjc5LCAKKyAgICAyMzY5MiwgMjM3MDQsIDIzNzE0LCAyMzcyNiwgMjM3MzIsIDIzNzQ3LCAyMzc3MSwgMjM3ODksIDIzODA4LCAyMzgyMSwgCisgICAgMjM4MzUsIDIzODUzLCAyMzg2OSwgMjM4ODYsIDIzOTA0LCAyMzkxNSwgMjM5MzQsIDIzOTUxLCAyMzk3MSwgMjM5ODksIAorICAgIDI0MDAxLCAyNDAxNSwgMjQwMjksIDI0MDQxLCAyNDA1OCwgMjQwNzcsIDI0MDk1LCAyNDEwNywgMjQxMjUsIDI0MTQ0LCAKKyAgICAxNTMzOCwgMjQxNTcsIDI0MTc3LCAyNDE4OSwgMTEwNzEsIDI0MjAxLCAyNDIwNiwgMjQyMTEsIDI0MjE2LCAyNDIyMiwgCisgICAgMjQyMjcsIDI0MjMxLCAyNDIzOCwgMjQyNDQsIDI0MTgsIDI0MjQ4LCAyNDI1NCwgMjQyNTgsIDI0MjYxLCAyNDI2NSwgCisgICAgMjQyNjgsIDI0Mjc2LCAyNDI4MiwgMjMyMjUsIDI0Mjg2LCAyNDI5NSwgMjQzMDYsIDI0MzEyLCAyNDMxOCwgMjQzMzMsIAorICAgIDI0MzQyLCAyNDM1MCwgMjQzNTcsIDI0MzYyLCAyNDM2NiwgMjQzNzMsIDI0Mzc5LCAyNDM4OCwgMjQzOTYsIDI0NDAzLCAKKyAgICAyNDQxMywgMjQ0MjIsIDI0NDMyLCAyNDQzNywgMjQ0NDYsIDI0NDU1LCAyNDQ2NiwgMjQ0NzcsIDQxMDMsIDI0NDg3LCAKKyAgICAyNDQ5MSwgMjQ1MDEsIDI0NTA5LCAyNDUxOSwgMjQ1MzAsIDI0NTM1LCAyNDU0NSwgMjQ1NTMsIDI0NTYwLCAyNDU2NiwgCisgICAgMjQ1NzMsIDI0NTc4LCAyMzIzNSwgMjQ1ODIsIDI0NTkxLCAyNDU5NSwgMjQ1OTgsIDI0NjAzLCAyNDYxMSwgMjQ2MTgsIAorICAgIDI0NjI3LCAyNDYzNSwgMjQ2NDMsIDI0NjUzLCAyNDY2MiwgMjQ2NjgsIDI0Njc0LCAyNDY3OCwgMjMyNDAsIDIzMjQ1LCAKKyAgICAyNDY4MiwgMjQ2OTIsIDI0NzAyLCAyNDcxMiwgMjQ3MjAsIDI0NzI3LCAyNDczNywgMjQ3NDUsIDI0NzUzLCAyNDc1OSwgCisgICAgMjQ3NjcsIDgxMiwgMjQ3NzYsIDE1NTI5LCA1NzcsIDI0NzkwLCAyNDc5OSwgMjQ4MDcsIDI0ODE4LCAyNDgyOSwgMjQ4MzksIAorICAgIDI0ODQ4LCAyNDg2MCwgMjQ4NjksIDI0ODc4LCAyNDg4NSwgMjQ4OTEsIDI0OTAwLCAyNDkwOSwgMjQ5MTcsIDI0OTI3LCAKKyAgICAyNDkzNSwgMjQ5NDMsIDk2NDQsIDI0OTQ5LCAyNDk1MiwgMjQ5NTYsIDI0OTYxLCAyNDk2NiwgMjQ5NzAsIDEwMzMzLCAKKyAgICAyMzI1OCwgMjMyNjMsIDI0OTc4LCAyNDk4NCwgMjQ5OTAsIDI0OTk1LCAyNTAwMCwgMjUwMDQsIDI1MDEyLCAyNTAxOCwgCisgICAgMjUwMjQsIDI1MDI4LCAzNjI3LCAyNTAzNiwgMjUwNDEsIDI1MDQ2LCAyNTA1MCwgMjUwNTQsIDEwNDEzLCAyNTA2MSwgCisgICAgMjUwNjksIDI1MDgzLCAyNTA5MCwgMjUwOTYsIDEwNDIyLCAxMDQyOCwgMjUxMDQsIDI1MTEyLCAyNTExOSwgMjUxMjQsIAorICAgIDI1MTI5LCAyMzI2OCwgMjUxMzUsIDI1MTQ2LCAyNTE1MCwgMjUxNTUsIDI2MjEsIDI1MTYwLCAyNTE3MSwgMjUxNzcsIAorICAgIDI1MTgyLCAyNTE4NiwgMjUxOTAsIDI1MTkzLCAyNTIwMCwgMjUyMDcsIDI1MjEzLCAyNTIyMCwgMjUyMjYsIDI1MjMwLCAKKyAgICAyMzI3MywgMjUyMzUsIDI1MjM5LCAyNTI0MywgMTQyOCwgODM4NSwgMjUyNDgsIDI1MjUzLCAyNTI1OCwgMjUyNjMsIAorICAgIDI1MjY4LCAyNTI3MywgMjUyNzgsIDI1MjgzLCAyNTI4OCwgMjUyOTMsIDI1Mjk4LCAyNTMwMywgMjUzMDgsIDI1MzEzLCAKKyAgICAyNTMxOSwgMjUzMjQsIDI1MzI5LCAyNTMzNCwgMjUzMzksIDI1MzQ0LCAyNTM0OSwgMjUzNTUsIDI1MzYwLCAyNTM2NSwgCisgICAgMjUzNzAsIDI1Mzc1LCAyNTM4MCwgMjUzODUsIDI1MzkwLCAyNTM5NiwgMjU0MDIsIDI1NDA3LCAyNTQxMywgMjU0MTgsIAorICAgIDI1NDIzLCA1LCAyNTQyOSwgMjU0MzMsIDI1NDM3LCAyNTQ0MSwgMjU0NDYsIDI1NDUwLCAyNTQ1NCwgMjU0NTgsIDI1NDYyLCAKKyAgICAyNTQ2NywgMjU0NzEsIDI1NDc2LCAyNTQ4MCwgMjU0ODMsIDI1NDg3LCAyNTQ5MiwgMjU0OTYsIDI1NTAxLCAyNTUwNSwgCisgICAgMjU1MDksIDI1NTEzLCAyNTUxOCwgMjU1MjIsIDI1NTI2LCAyNTUzNiwgMjU1NDEsIDI1NTQ1LCAyNTU0OSwgMjU1NTQsIAorICAgIDI1NTU5LCAyNTU2OCwgMjU1NzMsIDI1NTc4LCAyNTU4MiwgMjU1ODYsIDI1NTk5LCAyNTYxMSwgMjU2MjAsIDI1NjI5LCAKKyAgICAyNTYzNCwgMjU2NDAsIDI1NjQ1LCAyNTY0OSwgMjU2NTMsIDI1NjYzLCAyNTY3MiwgMjU2ODAsIDI1Njg2LCAyNTY5MSwgCisgICAgMjU2OTUsIDI1NzAyLCAyNTcxMiwgMjU3MjEsIDI1NzI5LCAyNTczNywgMjU3NDQsIDI1NzUyLCAyNTc2MSwgMjU3NzAsIAorICAgIDI1Nzc4LCAyNTc4OCwgMjU3OTMsIDI1Nzk3LCAyNTgwMSwgMjU4MDQsIDI1ODA2LCAyNTgxMCwgMjU4MTQsIDI1ODE5LCAKKyAgICAyNTgyNCwgMjU4MjgsIDI1ODMyLCAyNTgzNSwgMjU4MzksIDI1ODQyLCAyNTg0NiwgMjU4NDksIDI1ODUyLCAyNTg1NiwgCisgICAgMjU4NjIsIDI1ODY2LCAyNTg3MCwgMjU4NzQsIDI1ODc5LCAyNTg4NCwgMjU4ODksIDI1ODkzLCAyNTg5NiwgMjU5MDEsIAorICAgIDI1OTA3LCAyNTkxMiwgMjU5MTgsIDI1OTIzLCAyNTkyNywgMjU5MzMsIDI1OTM3LCAyNTk0MSwgMjU5NDYsIDI1OTUwLCAKKyAgICAyNTk1NSwgMjU5NjAsIDI1OTY0LCAyNTk2OCwgMjU5NzUsIDI1OTc5LCAyNTk4MiwgMjU5ODYsIDI1OTkwLCAyNTk5NiwgCisgICAgMjYwMDIsIDI2MDA2LCAyNjAxMCwgMjYwMTUsIDI2MDIyLCAyNjAyOCwgMjYwMzIsIDI2MDQxLCAyNjA0NSwgMjYwNDksIAorICAgIDI2MDUyLCAyNjA1OCwgMjYwNjMsIDI2MDY5LCAxNDcyLCAxNzkxLCAyNjA3NCwgMjYwNzksIDI2MDg0LCAyNjA4OSwgCisgICAgMjYwOTQsIDI2MDk5LCAyNjEwNCwgMjE1NSwgMjIwMSwgMjYxMDksIDI2MTEyLCAyNjExNiwgMjYxMjAsIDI2MTI1LCAKKyAgICAyNjEyOSwgMTU1NDEsIDI2MTMzLCAyNjEzOCwgMjYxNDMsIDI2MTQ3LCAyNjE1MCwgMjYxNTUsIDI2MTU5LCAyNjE2NCwgCisgICAgMjYxNjgsIDE1NTQ1LCAyNjE3MywgMjYxNzYsIDI2MTc5LCAyNjE4MywgMjYxODgsIDI2MTkyLCAyNjIwNSwgMjYyMDksIAorICAgIDI2MjEyLCAyNjIyMCwgMjYyMjksIDI2MjM2LCAyNjI0MSwgMjYyNDcsIDI2MjUzLCAyNjI2MSwgMjYyNjgsIDI2Mjc1LCAKKyAgICAyNjI3OSwgMjYyODMsIDI2Mjg3LCAyNjI5MiwgMjYyOTcsIDI2MzAxLCAyNjMwOSwgMjYzMTQsIDI2MzI2LCAyNjMzNywgCisgICAgMjYzNDIsIDI2MzQ2LCAyNjM1MCwgMjYzNTYsIDI2MzU5LCAyNjM2NCwgMjYzNjksIDI2MzczLCAyNjM3NywgMjYzODAsIAorICAgIDI2Mzg2LCA4MTIzLCAyMzMxLCAyNjM5MCwgMjYzOTUsIDI2NDExLCA5OTUwLCAyNjQzMSwgMjY0NDAsIDI2NDU2LCAyNjQ2MCwgCisgICAgMjY0NjcsIDI2NDcwLCAyNjQ3NiwgMjY0ODYsIDI2NDkyLCAyNjUwMSwgMjY1MTYsIDI2NTI4LCAyNjUzOSwgMjY1NDcsIAorICAgIDI2NTU2LCAyNjU2MiwgMjY1NzEsIDI2NTgxLCAyNjU5MSwgMjY2MDIsIDI2NjEzLCAyNjYyMywgMjY2MzIsIDI2NjM5LCAKKyAgICAyNjY0OCwgMjY2NTYsIDI2NjYzLCAyNjY3MSwgMjY2NzgsIDI2Njg1LCAyNjY5OCwgMjY3MDUsIDI2NzEzLCAyNjcyMCwgCisgICAgMjY3MjYsIDI2NzMxLCAyNjc0MCwgMjY3NDYsIDI2NzUxLCAyNjc1OSwgMjY3NjYsIDI0NTExLCAyNjc3OCwgMjY3OTAsIAorICAgIDI2ODA0LCAyNjgxMiwgMjY4MTksIDI2ODMxLCAyNjg0MCwgMjY4NDksIDI2ODU3LCAyNjg2NSwgMjY4NzMsIDI2ODgwLCAKKyAgICAyNjg4OSwgMjY4OTcsIDI2OTA3LCAyNjkxNiwgMjY5MjYsIDI2OTM1LCAyNjk0NCwgMjY5NTIsIDI2OTU3LCAyNjk2MSwgCisgICAgMjY5NjQsIDI2OTY4LCAyNjk3MiwgMjY5NzYsIDI2OTgwLCAyNjk4NCwgMjY5OTAsIDI2OTk2LCAyNzAwNCwgMTU1OTAsIAorICAgIDI3MDExLCAyNzAxNiwgMjcwMjMsIDI3MDI5LCAyNzAzNiwgMTU1OTgsIDI3MDQzLCAyNzA0NiwgMjcwNTgsIDI3MDY2LCAKKyAgICAyNzA3MiwgMjcwNzcsIDI3MDgxLCAxMDM2MywgMjcwOTIsIDI3MTAwLCAyNzExMCwgMjcxMTksIDI3MTI2LCAyNzEzMCwgCisgICAgMTU2MDksIDI3MTMzLCAyNzE0MCwgMjcxNDQsIDI3MTUwLCAyNzE1MywgMjcxNjAsIDI3MTY2LCAyNzE3MywgMjcxNzksIAorICAgIDI3MTgzLCAyNzE4OCwgMjcxOTIsIDI3MjAxLCAyNzIwOCwgMjcyMTQsIDgxNjQsIDI3MjIxLCAyNzIyOSwgMjcyMzYsIAorICAgIDI3MjQyLCAyNzI0NywgMjcyNTMsIDI3MjU5LCAyNzI2NywgMjcyNzMsIDI3Mjc3LCAyNzI4MCwgMjcyODIsIDI2OTY5LCAKKyAgICAyNzI5MSwgMjcyOTcsIDI3MzAzLCAyNzMxMywgMjczMTgsIDI3MzI1LCAyNzMzMSwgMjczMzYsIDI3MzQxLCAyNzM0NiwgCisgICAgMjczNTAsIDI3MzU1LCAyNzM2MiwgMjczNjgsIDI3Mzc3LCAyNzM4MSwgMjczODgsIDI3Mzk0LCAyNzQwMywgMjc0MDksIAorICAgIDI3NDE0LCAyNzQyMCwgMjc0MjUsIDI3NDMyLCAyNzQ0MywgMjc0NDgsIDI3NDUyLCAyNzQ2MiwgMjc0NjgsIDI3NDcyLCAKKyAgICAyNzQ3NywgMjc0ODcsIDI3NDk2LCAyNzUwMCwgMjc1MDcsIDI3NTE1LCAyNzUyMiwgMjc1MjgsIDI3NTMzLCAyNzU0MSwgCisgICAgMjc1NDgsIDI3NTUzLCAyNzU2MCwgMjc1NzIsIDI3NTgxLCAyNzU4NSwgMTM3NDYsIDI3NTkzLCAyNzYwMywgMjc2MDcsIAorICAgIDI2MjE2LCAyNzYxOCwgMjc2MjMsIDI3NjI3LCAyNzYzNCwgMjc2NDEsIDIyOTc5LCAyNjg5NCwgMjc2NDYsIDI3NjUwLCAKKyAgICAyNzY1MywgMjM5MjEsIDI3NjU4LCAyNzY3MiwgMjc2ODgsIDI3NzA2LCAyNzcyNSwgMjc3NDIsIDI3NzYwLCAyMzk0MCwgCisgICAgMjc3NzcsIDI3Nzk3LCAyMzk1NywgMjc4MDksIDI3ODIxLCAxNjU5NywgMjc4MzMsIDIzOTc3LCAyNzg0NywgMjc4NTksIAorICAgIDExMDg0LCAyNzg3MywgMjc4NzgsIDI3ODgzLCAyNzg4OCwgMjc4OTQsIDI3OTAwLCAyNzkwNiwgMjc5MTAsIDI3OTE4LCAKKyAgICAyNzkyNSwgMjc5MzAsIDI3OTQwLCAyNzk0NiwgMTA3MDcsIDI3OTUyLCAyNzk1NCwgMjc5NTksIDI3OTY3LCAyNzk3MSwgCisgICAgMjczNTgsIDI3OTc3LCAyNzk4NCwgMTIxNzAsIDEyMTgwLCAyNzk5MSwgMjgwMDEsIDI4MDA2LCAyODAxMCwgMjgwMTMsIAorICAgIDI4MDE5LCAyODAyNywgMjgwMzksIDI4MDQ5LCAyODA2NSwgMjgwNzgsIDI4MDkyLCAxNjYxNSwgMjgxMDYsIDI4MTEzLCAKKyAgICAyODExNywgMjgxMjAsIDI4MTI1LCAyODEyOSwgMjgxMzYsIDI4MTQzLCAyODE1MywgMjgxNTgsIDI4MTYzLCAyODE2OCwgCisgICAgMjgxNzYsIDI4MTg0LCAyODE4OSwgMjgxOTgsIDI4MjAzLCAzMzI5LCAyODIwNywgMjgyMTAsIDI4MjEzLCAyODIxOCwgCisgICAgMjgyMjUsIDI4MjMwLCAyODI0NiwgMjgyNTQsIDI4MjYyLCA5NzE4LCAyODI3MCwgMjgyNzUsIDI4Mjc5LCAyODI4NSwgCisgICAgMjgyOTAsIDI4Mjk2LCAyODI5OSwgMjgzMDUsIDI4MzE3LCAyODMyNSwgMjgzMzIsIDI4MzM4LCAyODM0NSwgMjgzNTYsIAorICAgIDI4MzcwLCAyODM4MywgMjgzODksIDI4Mzk4LCAyODQwNCwgMjg0MTMsIDI4NDI1LCAyODQzNiwgMjg0NDYsIDI4NDU1LCAKKyAgICAyODQ2NCwgMjg0NzIsIDI4NDgzLCA4MTQ2LCAyODQ5MCwgMjg0OTcsIDI4NTAzLCAyODUwOCwgMjg1MTQsIDI4NTIxLCAKKyAgICAyODUzMSwgMjg1NDEsIDI4NTUwLCAyODU1NiwgMjg1NjMsIDI4NTY4LCAyODU3NiwgMjg1ODMsIDI4NTkxLCAyODU5OSwgCisgICAgMjg2MTEsIDY0MzgsIDI4NjE4LCAyODYyMSwgMjg2MzAsIDI4NjM4LCAyODY0NCwgMjg2NTAsIDI4NjU1LCAyODY1OSwgCisgICAgMjg2NjIsIDI4NjY4LCAyODY3NSwgMjg2ODAsIDI4Njg1LCAyODY5MCwgMjg2OTQsIDI4NzA2LCAyODcxNywgMjg3MjYsIAorICAgIDI4NzM0LCAxNTc1NywgMjg3MzksIDI4NzQ1LCAyODc1MSwgMTIxNjMsIDg4NjIsIDI4NzU2LCAyODc2MCwgMjg3NjQsIAorICAgIDI4NzY3LCAyODc3MCwgMjg3NzYsIDI4Nzg0LCAyODc5MiwgMjg3OTYsIDI4ODAwLCAyODgwNSwgMjg4MDgsIDI4ODE3LCAKKyAgICAyODgyMSwgMjg4MjQsIDI4ODMyLCAyODg0MywgMjg4NDcsIDI4ODUzLCAyODg1OSwgMjg4NjMsIDI4ODY5LCAyODg3NywgCisgICAgMjg4OTksIDI4OTIzLCAyODkzMiwgMjg5MzksIDI4OTQ2LCAyODk1MiwgMjg5NjAsIDI4OTY2LCAyODk3MSwgMjg5ODIsIAorICAgIDI5MDAwLCAyOTAwNywgMjkwMTUsIDI5MDE5LCAyOTAyNCwgMjkwMzMsIDI5MDQ2LCAyOTA1NCwgMjkwNjYsIDI5MDc3LCAKKyAgICAyOTA4OCwgMjkwOTgsIDI5MTEyLCAyOTEyMSwgMjkxMjksIDI5MTQxLCA5OTY3LCAyOTE1MiwgMjkxNjMsIDI5MTc1LCAKKyAgICAyOTE4NSwgMjkxOTQsIDI5MTk5LCAyOTIwMywgMjkyMTEsIDI5MjIyLCAyOTIzMiwgMjkyMzcsIDI5MjQxLCAyOTI0NCwgCisgICAgMjkyNDcsIDI5MjU1LCAyOTI2MywgMjkyNzIsIDI5MjgyLCAyOTI5MSwgMjkyOTcsIDI5MzExLCAyNjgzLCAyOTMzMywgCisgICAgMjkzNDQsIDI5MzUzLCAyOTM2MywgMjkzNzUsIDI5Mzg0LCAyOTM5MywgMjk0MDMsIDI5NDExLCAyOTQxOSwgMjk0MjgsIAorICAgIDI5NDMzLCAyOTQ0NCwgMjk0NDksIDI5NDYwLCAyOTQ2NCwgMjk0NzQsIDI5NDgzLCAyOTQ5MSwgMjk1MDEsIDI5NTExLCAKKyAgICAyOTUxOSwgMjk1MjgsIDI5NTM1LCAyOTU0MywgMjk1NTAsIDI5NTU5LCAyOTU2OCwgMjk1NzIsIDI5NTgwLCAyOTU4NywgCisgICAgMjk1OTUsIDI5NjAyLCAyOTYxMywgMjk2MjgsIDI5NjM1LCAyOTY0MSwgMjk2NTEsIDI5NjYwLCAyOTY2NiwgMjk2NzcsIAorICAgIDI5NjgxLCAyOTY4OCwgMjk2OTIsIDI5Njk4LCAxNDc1OCwgMjk3MDQsIDI5NzA4LCAyOTcxMywgMjk3MjAsIDI5NzI0LCAKKyAgICAyOTcyOCwgMjk3MzYsIDI5NzQ0LCAyOTc1MCwgMjk3NTksIDI5NzY2LCAyOTc3MSwgMjk3NzYsIDI5Nzg2LCAyNDU4MCwgCisgICAgMjk3OTAsIDI5NzkzLCAyOTc5OCwgMjk4MDMsIDI5ODA4LCAyOTgxMywgMjk4MTgsIDI5ODIzLCAyOTgyOCwgMjk4MzMsIAorICAgIDI5ODM5LCAyOTg0NCwgMjk4NDksIDI5ODU1LCAxMTk4LCA2OTksIDI5ODYwLCAyOTg2OSwgMjM3OSwgMjk4NzYsIDI5ODgxLCAKKyAgICAyOTg4NSwgMjk4OTEsIDEyNDcsIDU1OCwgMjcwLCAyOTg5NiwgMjk5MDUsIDI5OTEzLCAyOTkyMiwgMjk5MzAsIDI5OTQxLCAKKyAgICAyOTk0OSwgMjk5NTgsIDI5OTY2LCAxMDUwMiwgMjk5NzAsIDI5OTc4LCAyOTk4NiwgMjk5OTEsIDE1NTU4LCAyOTk5NywgCisgICAgMzAwMDMsIDMwMDA5LCA2MDM0LCAzMDAxNCwgMzAwMTgsIDMwMDI0LCAzMDAyOCwgMzAwMzUsIDE0MzgsIDMwMDQxLCAKKyAgICAzMDA0OCwgMTM0NywgNjA0MiwgMzAwNTIsIDMwMDYyLCAzMDA3MCwgMzAwNzYsIDMwMDg1LCAzMDA5MywgMzAwOTksIAorICAgIDMwMTA3LCAzMDExNCwgMTE3MjAsIDMwMTIwLCAzMDEyNywgMzAxMzIsIDMwMTM5LCAxNDc5LCAxOTksIDIxNTQsIDMwMTQ1LCAKKyAgICAzMDE1MSwgMzAxNTgsIDMwMTY5LCAzMDE4MCwgMzAxODgsIDMwMTk1LCAzMDIwNSwgMzAyMTQsIDMwMjIyLCAzMDIzMSwgCisgICAgMzAyMzgsIDMwMjQ1LCAzMDI1OCwgMzAyNjUsIDMwMjcxLCAzMDI4MiwgMzAzMDEsIDEyNTIsIDMwMzA1LCAzMDMxMCwgCisgICAgMzAzMTgsIDM2ODYsIDMwMzIyLCAzMDMyNywgMzAzMzEsIDMwMzM1LCAxNDQyLCAyNTgzMywgMzAzNDUsIDMwMzQ5LCAKKyAgICAzMDM1NCwgMzAzNTgsIDM1OTUsIDMwMzY0LCAzMDM3MiwgMzAzNzksIDMwMzkwLCAzMDM5OCwgMzA0MDYsIDM2ODcsIDMyMCwgCisgICAgMzA0MTEsIDMwNDE5LCAzMDQyNywgMzA0MzQsIDMwNDQwLCAzMDQ0NSwgMjIyMywgMTEyNTEsIDMwNDUyLCAzMDQ1OCwgCisgICAgMjcxODQsIDI3NDM4LCAzMDQ2NCwgNTQyLCAxMDYsIDMwNDY4LCAzMDQ3MiwgMzA0NzgsIDYzNSwgOTU5MywgMzA0ODMsIAorICAgIDMwNDkwLCAzMDQ5NiwgMzA1MDAsIDE2MjQsIDMwNTAzLCAzMDUwNywgMTYwMDUsIDMwNTEwLCAzMDUxNSwgMzA1MjIsIAorICAgIDMwNTI4LCAzMDUzMywgMzA1NDEsIDMwNTQ4LCAzMDU1NCwgMjMzNjEsIDMwNTU4LCAzMDU2MiwgMzc1NywgMTc1NDEsIAorICAgIDMwNTY2LCAzMDU3MSwgMzA1NzUsIDMwNTc4LCAzMDU4NiwgMzA1OTQsIDMwNTk5LCAzMDYwNywgMzA2MTAsIDMwNjE3LCAKKyAgICAzMDYyNywgMzA2MzksIDMwNjQ0LCAzMDY0OCwgMzA2NTYsIDMwNjYzLCAzMDY2OSwgMzA2NzYsIDMwNjgzLCAzMDY4NiwgCisgICAgMzA2OTAsIDMwNjk0LCAxNDQ2LCAzMDcwNCwgMzA3MDYsIDMwNzExLCAzMDcxNywgMzA3MjMsIDMwNzI4LCAzMDczMywgCisgICAgMzA3MzgsIDMwNzQzLCAzMDc0OCwgMzA3NTMsIDMwNzU4LCAzMDc2MywgMzA3NjgsIDMwNzczLCAzMDc3OCwgMzA3ODMsIAorICAgIDMwNzg4LCAzMDc5MywgMzA3OTksIDMwODA1LCAzMDgxMSwgMzA4MTcsIDMwODIyLCAzMDgyNywgMzA4MzIsIDMwODM4LCAKKyAgICAzMDg0MywgMzA4NDgsIDMwODUzLCAzMDg1OSwgMzA4NjQsIDMwODcwLCAzMDg3NSwgMzA4ODAsIDMwODg1LCAzMDg5MCwgCisgICAgMzA4OTYsIDMwOTAxLCAzMDkwNywgMzA5MTIsIDMwOTE3LCAzMDkyMiwgMzA5MjcsIDMwOTMzLCAzMDkzOCwgMzA5NDQsIAorICAgIDMwOTQ5LCAzMDk1NCwgMzA5NTksIDMwOTY0LCAzMDk2OSwgMzA5NzQsIDMwOTc5LCAzMDk4NCwgMzA5ODksIDMwOTk1LCAKKyAgICAzMTAwMSwgMzEwMDcsIDMxMDEyLCAzMTAxNywgMzEwMjIsIDMxMDI3LCAzMTAzMywgMzEwMzksIDMxMDQ1LCAzMTA1MSwgCisgICAgMzEwNTcsIDMxMDYzLCAzMTA2OCwgMzEwNzQsIDMxMDc5LCAzMTA4NCwgMzEwODksIDMxMDk0LCAzMTEwMCwgMjQ2MywgCisgICAgMzExMDUsIDI0NzAsIDI0NzcsIDI3NzQsIDMxMTEwLCAyNDgzLCAyNDkzLCAzMTExNiwgMzExMjAsIDMxMTI1LCAzMTEzMCwgCisgICAgMzExMzYsIDMxMTQxLCAzMTE0NiwgMzExNTAsIDMxMTU1LCAzMTE2MSwgMzExNjYsIDMxMTcxLCAzMTE3NiwgMzExODIsIAorICAgIDMxMTg3LCAzMTE5MSwgMzExOTUsIDMxMjAwLCAzMTIwNSwgMzEyMTAsIDMxMjE1LCAzMTIyMCwgMzEyMjYsIDMxMjMyLCAKKyAgICAzMTIzNywgMzEyNDEsIDMxMjQ2LCAzMTI1MiwgMzEyNTYsIDMxMjYxLCAzMTI2NiwgMzEyNzEsIDMxMjc2LCAzMTI4MCwgCisgICAgMzEyODMsIDMxMjg4LCAzMTI5MywgMzEyOTgsIDMxMzAzLCAzMTMwOCwgMzEzMTQsIDMxMzIwLCAzMTMyNSwgMzEzMzAsIAorICAgIDMxMzM1LCAzMTMzOSwgMzEzNDQsIDMxMzQ5LCAzMTM1NCwgMzEzNTksIDMxMzY0LCAzMTM2OSwgMzEzNzMsIDMxMzc4LCAKKyAgICAzMTM4MywgMzEzODgsIDMxMzkyLCAzMTM5NiwgMzE0MDAsIDMxNDA1LCAzMTQxMywgMzE0MTgsIDMxNDIzLCAzMTQyOSwgCisgICAgMzE0MzUsIDMxNDQxLCAzMTQ0NiwgMzE0NTAsIDMxNDUzLCAzMTQ1OCwgMzE0NjMsIDMxNDY3LCAzMTQ3MiwgMzE0NzcsIAorICAgIDMxNDgxLCAzMTQ4NiwgMzE0OTAsIDMxNDkzLCAzMTQ5OCwgMzg1MywgMTgyNDgsIDMxNTAzLCAzMTUwOCwgMzE1MTMsIAorICAgIDMxNTIxLCAyMjI3MywgMzAwNDUsIDkyNzMsIDMxNTI2LCAzMTUzMSwgMzE1MzUsIDMxNTQwLCAzMTU0NCwgMzE1NDgsIAorICAgIDMxNTUzLCAzMTU1NywgMzE1NjAsIDMxNTYzLCAzMTU2NywgMzE1NzIsIDMxNTc2LCAzMTU4NCwgMzE1ODgsIDMxNTkxLCAKKyAgICAzMTU5NiwgMzE2MDAsIDMxNjA0LCAzMTYwOSwgMzE2MTQsIDMxNjE4LCAzMTYyNCwgMzE2MjksIDMxNjM0LCAzMTY0MSwgCisgICAgMzE2NDgsIDMxNjUyLCAzMTY1NSwgMzE2NjEsIDMxNjcwLCAzMTY3NywgMzE2ODUsIDMxNjkyLCAzMTY5NiwgMzE3MDEsIAorICAgIDMxNzA1LCAzMTcwOSwgMzE3MTUsIDMxNzIxLCAzMTcyNSwgMzE3MzEsIDMxNzM2LCAzMTc0MSwgMzE3NDUsIDMxNzUyLCAKKyAgICAzMTc1OCwgMzE3NjQsIDMxNzcwLCAzMTc3NiwgMzE3ODMsIDMxNzg5LCAzMTc5NSwgMzE4MDEsIDMxODA3LCAzMTgxMywgCisgICAgMzE4MTksIDMxODI1LCAzMTgzMiwgMzE4MzgsIDMxODQ1LCAzMTg1MSwgMzE4NTcsIDMxODYzLCAzMTg2OSwgMzE4NzUsIAorICAgIDMxODgxLCAzMTg4NywgMzE4OTMsIDMxODk5LCAxMjA1OSwgMzE5MDUsIDMxOTExLCAzMTkxNiwgMzE5MjEsIDMxOTI2LCAKKyAgICAzMTkyOSwgMzE5MzUsIDMxOTQzLCAzMTk0OCwgMzE5NTIsIDMxOTU3LCAzMTk2MywgMzE5NzIsIDMxOTc4LCAzMTk4MywgCisgICAgMzE5ODgsIDMxOTkzLCAzMTk5NywgMzIwMDIsIDMyMDA3LCAzMjAxMiwgMzIwMTcsIDMyMDIyLCAzMjAyOSwgMzIwMzYsIAorICAgIDMyMDQyLCAzMjA0OCwgMzIwNTMsIDE3MTkxLCAzMjA2MCwgMzIwNjYsIDMyMDczLCAzMjA3OSwgMzIwODUsIDMyMDkwLCAKKyAgICAzMjA5OCwgMzIxMDMsIDEwMTE3LCAzMjEwNywgMzIxMTIsIDMyMTE3LCAzMjEyMywgMzIxMjgsIDMyMTMzLCAzMjEzNywgCisgICAgMzIxNDIsIDMyMTQ3LCAzMjE1MywgMzIxNTgsIDMyMTYzLCAzMjE2OCwgMzIxNzIsIDMyMTc3LCAzMjE4MiwgMzIxODYsIAorICAgIDMyMTkxLCAzMjE5NiwgMzIyMDAsIDMyMjA1LCAzMjIwOSwgMzIyMTQsIDMyMjE5LCAzMjIyNCwgMzIyMjgsIDMyMjMzLCAKKyAgICAzMjIzNywgMzIyNDEsIDE2MTExLCAzMjI0NiwgMzIyNTUsIDMyMjYxLCAzMjI2NywgMzIyNzYsIDMyMjg0LCAzMjI5MywgCisgICAgMzIzMDEsIDMyMzA2LCAzMjMxMCwgMzIzMTcsIDMyMzIzLCAzMjMzMSwgMzIzMzUsIDMyMzM4LCAzMjM0MywgMzIzNTIsIAorICAgIDMyMzYwLCAzMjM3OCwgMzIzODQsIDE0NzgsIDMyMzkwLCAzMjM5MywgMzIzOTcsIDIzNDU1LCAyMzQ2MSwgMzI0MDMsIAorICAgIDMyNDA3LCAzMjQxOCwgMzI0MjksIDMyNDQwLCAzMjQ1MiwgMzI0NTYsIDMyNDYzLCAzMjQ3MCwgMzI0NzUsIDMyNDc5LCAKKyAgICA2MDc5LCA4NTUsIDIyMjcyLCAzMjQ4NywgMzI0OTIsIDMyNDk2LCAzMjUwMSwgMzI1MDUsIDMyNTExLCAzMjUxNiwgMzI1MjIsIAorICAgIDMyNTI3LCAzMjUzMywgMzI1MzgsIDMyNTQ0LCAzMjU0OSwgMzI1NTUsIDMyNTYxLCAzMjU2NywgMzI1NzIsIDMyNTI4LCAKKyAgICAzMjUzNCwgMzI1NzYsIDMyNTgxLCAzMjU4NywgMzI1OTIsIDMyNTk4LCAzMjYwMywgMzI2MDksIDMyNjE0LCAzMjUzOSwgCisgICAgMTA5NTcsIDMyNjE4LCAzMjU1MCwgMzI1NTYsIDMyNTYyLCAyODY2LCAzNTA5LCAzMjYyNCwgMzI2MjcsIDMyNjMyLCAKKyAgICAzMjYzOCwgMzI2NDQsIDMyNjUwLCAzMjY1NywgMzI2NjMsIDMyNjY5LCAzMjY3NSwgMzI2ODEsIDMyNjg3LCAzMjY5MywgCisgICAgMzI2OTksIDMyNzA1LCAzMjcxMSwgMzI3MTcsIDMyNzIzLCAzMjcyOSwgMzI3MzYsIDMyNzQyLCAzMjc0OCwgMzI3NTQsIAorICAgIDMyNzYwLCAzMjc2NiwgMzI3NjksIDMyNzc0LCAzMjc3NywgMzI3ODQsIDMyNzg5LCAzMjc5NywgMzI4MDIsIDMyODA3LCAKKyAgICAzMjgxMywgMzI4MTgsIDMyODIzLCAzMjgyNywgMzI4MzIsIDMyODM4LCAzMjg0MywgMzI4NDksIDMyODU0LCAzMjg2MCwgCisgICAgMzI4NjUsIDMyODcxLCAzMjg3NywgMzI4ODEsIDMyODg2LCAzMjg5MSwgMzI4OTYsIDMyOTAxLCAzMjkwNSwgMzI5MTAsIAorICAgIDMyOTE1LCAzMjkyMCwgMzI5MjYsIDMyOTMyLCAzMjkzOCwgMzI5NDQsIDMyOTQ5LCAzMjk1MywgMzI5NTYsIDMyOTYyLCAKKyAgICAzMjk2OCwgMzI5NzcsIDMyOTg1LCAzMjk5MiwgMzI5OTcsIDMzMDAxLCAzMzAwNSwgMzMwMTAsIDE1OTU5LCAzMzAxNSwgCisgICAgMzMwMjMsIDMzMDI5LCAzODA1LCAxMzU3LCAzMzAzNCwgMzMwMzgsIDgyMTMsIDMzMDQ0LCAzMzA1MCwgMzMwNTcsIDgyMjIsIAorICAgIDMzMDYxLCAzMzA2NywgMzMwNzQsIDMzMDgwLCAzMzA4OSwgMzMwOTcsIDMzMTA5LCAzMzExMywgMzMxMjAsIDMzMTI2LCAKKyAgICAzMzEzMSwgMzMxMzUsIDMzMTM5LCAzMzE0MiwgMzMxNTEsIDMzMTU5LCAzMjUyOSwgMzMxNjQsIDMzMTc0LCAzMzE4NCwgCisgICAgMzMxOTQsIDMzMjAwLCAzMzIwNSwgMzMyMTUsIDMzMjIwLCAzMzIzMywgMzMyNDcsIDMzMjU4LCAzMzI3MCwgMzMyODIsIAorICAgIDMzMjk2LCAzMzMwOSwgMzMzMjEsIDMzMzMzLCAxNTM3OSwgMzMzNDcsIDMzMzUyLCAzMzM1NywgMzMzNjEsIDMzMzY1LCAKKyAgICAzMzM2OSwgMTc4MCwgMjg0MzQsIDMzMzczLCAzMzM3OCwgMzI1NzcsIDMzMzgzLCAzMzM4NiwgMzMzOTEsIDMzMzk2LCAKKyAgICAzMzQwMSwgMzM0MDcsIDMzNDEzLCAxMDYyMiwgMzM0MTgsIDMzNDI0LCAzMzQzMSwgMTY1NDksIDMzNDM3LCAzMzQ0MiwgCisgICAgMzM0NDcsIDMzNDUxLCAzMzQ1NiwgMzM0NjEsIDMyNTgyLCAzMzQ2NiwgMzM0NzEsIDMzNDc2LCAzMzQ4MiwgMzI1ODgsIAorICAgIDMzNDg3LCAzMzQ5MCwgMzM0OTcsIDMzNTA1LCAzMzUxMSwgMzM1MTcsIDMzNTIzLCAzMzUzNCwgMzM1MzksIDMzNTQ2LCAKKyAgICAzMzU1MywgMzM1NjAsIDMzNTY4LCAzMzU3NywgMzM1ODYsIDMzNTkyLCAzMzU5OCwgMzM2MDYsIDMyNTkzLCAzMzYxMSwgCisgICAgMzM2MTcsIDMzNjIzLCAzMjU5OSwgMzM2MjgsIDMzNjMzLCAzMzY0MSwgMzM2NDksIDMzNjU1LCAzMzY2MiwgMzM2NjgsIAorICAgIDMzNjc1LCAzMzY4MiwgMzM2ODgsIDMzNjk2LCAzMzcwNiwgMzM3MTMsIDMzNzE5LCAzMzcyNCwgMzM3MzAsIDMzNzM1LCAKKyAgICAzMzc0MCwgMzM3NDcsIDMzNzU2LCAzMzc2NCwgMzM3NjksIDMzNzc1LCAzMzc4MiwgMzM3OTAsIDMzNzk2LCAzMzgwMSwgCisgICAgMzM4MDcsIDMzODE2LCAzMzgyMywgMjkyNzcsIDMzODI5LCAzMzgzMywgMzM4MzgsIDMzODQ3LCAzMzg1MiwgMzM4NTcsIAorICAgIDMzODYyLCAxMzA5MiwgMzM4NzAsIDMzODc1LCAzMzg4MCwgMzM4ODUsIDMzODg5LCAzMzg5NCwgMzM4OTksIDMzOTA2LCAKKyAgICAzMzkxMSwgMzM5MTYsIDMzOTIxLCAzMjYwNCwgMjIyMDksIDMzOTI3LCAyNTM5LCAyMjIsIDMzOTMwLCAzMzkzMywgMzM5MzcsIAorICAgIDMzOTQxLCAzMzk1MSwgMzM5NTksIDMzOTY2LCAzMzk3MCwgMzM5NzcsIDMzOTg0LCAzMzk5MywgMzM5OTcsIDM0MDAwLCAKKyAgICAzNDAwNiwgMzQwMTQsIDM0MDIyLCAzNDAyNiwgMzQwMzAsIDM0MDMzLCAzNDAzOSwgMzQwNDYsIDM0MDUwLCAzNDA1NCwgCisgICAgMzQwNjEsIDM0MDY5LCAzMjU0MCwgMzQwNzYsIDM0MDg0LCAxMDY4MiwgNTk4LCAzNDksIDM0MDk2LCAzNDEwMSwgMzQxMDYsIAorICAgIDM0MTEyLCAzNDExNywgMzQxMjIsIDM4MjYsIDM0MTI3LCAzNDEzMCwgMzQxMzUsIDM0MTQwLCAzNDE0NSwgMzQxNTAsIAorICAgIDM0MTU1LCAzNDE2MiwgMjM1NjcsIDM0MTY3LCAzNDE3MiwgMzQxNzcsIDM0MTgyLCAzNDE4NywgMzQxOTMsIDM0MTk4LCAKKyAgICAzNDIwNCwgMzI3ODAsIDM0MjEwLCAzNDIxNSwgMzQyMjEsIDM0MjI3LCAzNDIzNywgMzQyNDIsIDM0MjQ3LCAzNDI1MSwgCisgICAgMzQyNTYsIDM0MjYxLCAzNDI2NiwgMzQyNzEsIDM0Mjg0LCAzNDI4OSwgMjMzMTIsIDE3NjIxLCAzODM5LCAzNDI5MywgCisgICAgMzQyOTksIDM0MzA0LCAzNDMwOSwgMzQzMTUsIDM0MzIwLCAzNDMyNSwgMzQzMjksIDM0MzM0LCAzNDMzOSwgMzQzNDUsIAorICAgIDM0MzUwLCAzNDM1NSwgMTM2MiwgMzQzNTksIDM0MzY0LCAzNDM2OSwgMzQzNzQsIDM0Mzc4LCAzNDM4MywgMzQzODgsIAorICAgIDM0MzkzLCAzNDM5OSwgMzQ0MDUsIDM0NDEwLCAzNDQxNCwgMzQ0MTgsIDM0NDIzLCAzNDQyOCwgMzQ0MzMsIDM0NDM3LCAKKyAgICAzNDQ0NSwgMzQ0NDksIDM0NDU1LCAzNDQ1OSwgMzQ0NjYsIDE3NDAwLCAzMjU1MSwgMzQ0NzIsIDM0NDc5LCAzNDQ4NywgCisgICAgMzQ0OTQsIDM0NTAwLCAzNDUxMywgMzQ1MjUsIDM0NTMwLCAzNDUzNiwgMzQ1NDAsIDI3OTMsIDM0NTQ0LCAzNDU0OCwgCisgICAgMzQwNDEsIDM0NTU3LCAzNDU2OCwgMzQ1NzMsIDI5MzQwLCAzNDU3OCwgMzQ1ODMsIDM0NTg3LCAzNDU5MiwgMjM0NjYsIAorICAgIDM0NTk2LCAzNDYwMCwgMzQ2MDUsIDMyNTU3LCAyMjI5OSwgMzQ2MDksIDM0NjE0LCAzNDYyMCwgMzQ2MjUsIDM0NjI5LCAKKyAgICAzNDYzMywgMzQ2MzYsIDM0NjQwLCAzNDY0NiwgMzQ2NTUsIDM0NjY2LCAzNDY3OCwgMzI1NjMsIDM0NjgzLCAzNDY4NiwgCisgICAgMzQ2OTAsIDM0Njk0LCAzNzgsIDM0Njk5LCAzNDcwNCwgMzQ3MDksIDM0NzE0LCAzNDcxOSwgMzQ3MjQsIDM0NzMwLCAKKyAgICAzNDczNSwgMzQ3NDAsIDM0NzQ2LCAzNDc1MSwgMzQ3NTcsIDM0NzYyLCAzNDc2OCwgMzQ3NzMsIDM0Nzc4LCAzNDc4MywgCisgICAgMzQ3ODgsIDM0NzkzLCAzNDc5OCwgMzQ4MDMsIDM0ODA4LCAzNDgxNCwgMzQ4MTksIDM0ODI0LCAzNDgyOSwgMzQ4MzQsIAorICAgIDM0ODM5LCAzNDg0NCwgMzQ4NDksIDM0ODU1LCAzNDg2MSwgMzQ4NjYsIDM0ODcxLCAzNDg3NiwgMzQ4ODEsIDM0ODg2LCAKKyAgICAzNDg5MSwgMzQ4OTYsIDM0OTAxLCAzNDkwNiwgMzQ5MTEsIDM0OTE2LCAzNDkyMSwgMzQ5MjYsIDM0OTMxLCAzNDkzNiwgCisgICAgMzQ5NDEsIDM0OTQ2LCAzNDk1MSwgMzQ5NTcsIDMxMSwgMTMsIDM0OTYyLCAzNDk2NiwgMzQ5NzAsIDM0OTc4LCAzNDk4MiwgCisgICAgMzQ5ODYsIDM0OTg5LCAzNDk5MiwgMzQ5OTQsIDM0OTk5LCAzNTAwMywgMzUwMDgsIDM1MDEyLCAzNTAxNywgMzUwMjEsIAorICAgIDM1MDI2LCAzNTAzMCwgMzUwMzMsIDM1MDM1LCAzNTAzOSwgMzUwNDQsIDM1MDQ4LCAzNTA1OSwgMzUwNjIsIDM1MDY0LCAKKyAgICAzNTA2OCwgMzUwODAsIDM1MDg5LCAzNTA5MywgMzUwOTcsIDM1MTAzLCAzNTEwOCwgMzUxMTcsIDM1MTIzLCAzNTEyOCwgCisgICAgMzUxMzMsIDM1MTM3LCAzNTE0MSwgMzUxNDYsIDM1MTUzLCAzNTE1OCwgMzUxNjQsIDM1MTY5LCAzNTE3MywgMzUxODAsIAorICAgIDI2OTAyLCAyNjkxMiwgMzUxODQsIDM1MTg5LCAzNTE5NCwgMzUxOTksIDM1MjA2LCAzNTIxMCwgMzUyMTcsIDM1MjIzLCAKKyAgICA4MzMyLCAzNTIyNywgMzUyMzYsIDM1MjQ0LCAzNTI1OSwgMzUyNzMsIDM1MjgxLCAzNTI5MiwgMzUzMDEsIDM1MzA2LCAKKyAgICA3NDMxLCAzNTMxNiwgMzUzMjEsIDM1MzI2LCAzNTMzMCwgMzUzMzMsIDM1MzM4LCAzNTM0MiwgMzUzNDcsIDM1MzUxLCAKKyAgICAzNTM1OCwgMzUzNjMsIDM1MzY4LCAzNTM3MywgOTE1OSwgMzUzODMsIDM1Mzg1LCAzNTM4OCwgMzUzOTEsIDM1Mzk1LCAKKyAgICAzNTQwMSwgMzU0MDUsIDM1NDEwLCAzNTQxNSwgMzU0MjEsIDM1NDI2LCAzNTQzMiwgMzU0MzcsIDM1NDQ3LCAzNTQ1NiwgCisgICAgMzU0NjQsIDM1NDY5LCAzNTQ3NSwgMzU0ODAsIDM1NDg5LCAzNTUwMCwgMzU1MDUsIDM1NTEyLCAzNTUxNiwgMzU1MjQsIAorICAgIDM1NTMxLCAzNTU0NCwgMzU1NTIsIDM1NTU2LCAzNTU2NiwgMzU1NzEsIDM1NTc1LCAzNTU4MywgMzU1OTEsIDM1NTk2LCAKKyAgICAzNTYwMCwgMzU2MDQsIDM1NjEzLCAzNTYxOSwgMzU2MjQsIDM1NjMyLCAzNTY0MiwgMzU2NTEsIDM1NjYwLCAzNTY2OSwgCisgICAgMzU2ODAsIDM1Njg4LCAzNTY5OSwgMzU3MDgsIDM1NzE1LCAzNTcyMSwgMzU3MjYsIDM1NzM3LCAzNTc0MiwgMzU3NDYsIAorICAgIDM1NzQ5LCAzNTc1MywgMzU3NjEsIDM1NzY3LCAzNTc3MSwgMzU3NzksIDM1Nzg1LCAzNTc5MiwgMzU3OTgsIDM1ODAzLCAKKyAgICAzNTgwOSwgMjQzOCwgMzU4MTMsIDM1ODE1LCAzNTgyMCwgMzU4MjUsIDM1ODMwLCAzNTgzMywgMzU4MzUsIDM1ODM5LCAKKyAgICAzNTg0MiwgMzU4NDksIDM1ODUzLCAxMDM3NiwgMzU4NTcsIDM1ODYzLCAzNTg3MywgMzU4NzgsIDM1ODg0LCAzNTg4OCwgCisgICAgMzU4OTMsIDM1OTA2LCAyNzMwOCwgMzU5MTIsIDM1OTIxLCAzNTkzMCwgMTg0MjcsIDM1OTM3LCAzNTk0NiwgMzMxODAsIAorICAgIDM1OTU0LCAzNTk1OSwgMzU5NjMsIDM1OTcyLCAzNTk4MCwgMzU5ODcsIDM1OTkyLCAzNTk5NiwgMzYwMDEsIDM2MDA5LCAKKyAgICAzNjAxMywgMzYwMjEsIDM2MDI3LCAzNjAzMywgMzYwMzgsIDM2MDQyLCAzNjA0NSwgMzYwNTAsIDM2MDYzLCAzNjA3OSwgCisgICAgMjQwNDcsIDM2MDk2LCAzNjEwOCwgMzYxMjUsIDM2MTM3LCAzNjE1MSwgMjQwNjQsIDI0MDgzLCAzNjE2MywgMzYxNzUsIAorICAgIDI3MDAsIDM2MTg5LCAzNjE5NCwgMzYxOTksIDM2MjA0LCAzNjIwOCwgMzYyMTUsIDM2MjI3LCAzNjIzMywgMzYyNDIsIAorICAgIDM2MjQ1LCAzNjI1NiwgMzYyNjcsIDM2MjcyLCAzMzYwMywgNzkyLCAzNjI3NiwgMzYyODAsIDM2Mjg0LCAzNjI4NywgCisgICAgMzYyOTIsIDM2Mjk3LCAzNjMwMywgMzYzMDgsIDM2MzEzLCAzNjMxOSwgMzYzMjUsIDM2MzMwLCAzNjMzNCwgMzYzMzksIAorICAgIDM2MzQ0LCAzNjM0OSwgMzYzNTMsIDM2MzU2LCAzNjM2MiwgMzYzNjcsIDM2MzcyLCAzNjM3NywgMzYzODEsIDM2Mzg2LCAKKyAgICAzNjM5MiwgMzY0MDAsIDI3NTY1LCAzNjQwNSwgMzY0MTAsIDM2NDE3LCAzNjQyMywgMzY0MjksIDM2NDM0LCAzNjQ0MiwgCisgICAgMjM1NzYsIDM2NDQ5LCAzNjQ1NCwgMzY0NTksIDM2NDY0LCAzNjQ2OCwgMzY0NzEsIDM2NDc2LCAzNjQ4MCwgMzY0ODQsIAorICAgIDM2NDkxLCAzNjQ5NywgMzY1MDMsIDM2NTA5LCAzNjUxNiwgMzY1MjEsIDM2NTI3LCAzNTU4NiwgMzY1MzEsIDM2NTM1LCAKKyAgICAzNjU0MCwgMzY1NTMsIDM2NTU4LCAzNjU2NCwgMzY1NzIsIDM2NTc5LCAzNjU4NywgMzY1OTcsIDM2NjAzLCAzNjYwOSwgCisgICAgMzY2MTUsIDM2NjE5LCAzNjYyOCwgMzY2MzYsIDM2NjQzLCAzNjY0OCwgMzY2NTMsIDEwOTgwLCAzNjY1OCwgMzY2NjYsIAorICAgIDM2NjczLCAzNjY3OSwgMzY2ODksIDM2Njk0LCAzNjcwMCwgMzY3MDgsIDM3MTksIDM2NzE1LCAzNjcyMSwgMzY3MjgsIAorICAgIDM3MjUsIDM2NzMyLCAzNjczNywgMzY3NDgsIDM2NzU1LCAzNjc2MSwgMzY3NzAsIDM2Nzc0LCA0MTU1LCAzNjc3NywgCisgICAgMzY3ODQsIDM2NzkwLCAzNjc5NiwgMzY4MDQsIDM2ODE0LCAzMDQzNSwgMzY4MjEsIDM2ODI5LCAzNjgzNSwgMzY4NDAsIAorICAgIDM2ODQ2LCAzNjg1MSwgMzY4NTUsIDI3MTU2LCAzNjg2MSwgMzY4NjgsIDM2ODc0LCAzNjg4MywgMzY4OTAsIDI0NzY0LCAKKyAgICAzNjg5NiwgMzY5MDEsIDM2OTA1LCAzNjkxMywgMzY5MjEsIDEwMDgyLCA2MDY1LCAzNjkyOCwgMzY5MzIsIDM2OTM0LCAKKyAgICAzNjkzOCwgMzY5NDMsIDM2OTQ1LCAzNjk1MCwgMzY5NTYsIDM2OTYxLCAzNjk2NiwgMzY5NzMsIDM0MTU4LCAzNjk3OSwgCisgICAgMzY5ODQsIDM2OTg4LCAzNjk5MywgMzY5OTcsIDM3MDA2LCAzNzAxMCwgMzcwMTYsIDM3MDIzLCAzNzAyOSwgMzcwMzYsIAorICAgIDM3MDQxLCAzNzA1MCwgMzcwNTUsIDM3MDU5LCAzNzA2NCwgMzcwNzEsIDM3MDc5LCAzNzA4NywgMzcwOTIsIDIyMzU1LCAKKyAgICAzNzA5NiwgMzcwOTksIDM3MTAzLCAzNzEwNywgMzcxMTEsIDM3MTE0LCAzNzExNiwgMzcxMjEsIDM3MTI5LCAzNzEzMywgCisgICAgMzcxNDIsIDM3MTQ5LCAzNzE1MywgMzcxNTcsIDM3MTY1LCAzNzE3MiwgMzcxODIsIDM3MTg2LCAzNzE5MCwgMzcxOTgsIAorICAgIDM3MjA2LCAzNzIxMiwgMzcyMTcsIDM3MjI2LCAxNDA2NCwgMzcyMzIsIDM3MjQxLCAzNzI0NiwgMzcyNTMsIDM3MjYwLCAKKyAgICAzNzI2OCwgMzcyNzYsIDM3Mjg0LCAzNzI4OSwgMzcyOTYsIDM3MzAzLCAzNzMxMCwgMzczMTcsIDM3MzI0LCAzNzMyOSwgCisgICAgMzczMzUsIDM3MzUyLCAzNzM2MCwgMzczNzAsIDM3Mzc4LCAzNzM4NSwgMzkyLCAzNzM4OSwgMzczOTUsIDM3Mzk5LCAKKyAgICAzNzQwNCwgMzUyOTcsIDM3NDEwLCAzNzQxMywgMzc0MTcsIDM3NDI4LCAzNzQzNiwgMzczMCwgMzc0NDQsIDM3NDUwLCAKKyAgICAzNzQ1NiwgMzc0NjYsIDM3NDc1LCAzNzQ4NSwgMzc0OTIsIDM3NDk4LCAzNzUwMywgMzczNiwgMzc0MiwgMzc1MTIsIAorICAgIDM3NTE5LCAzNzUyNywgMzc1MzIsIDM3NTM2LCAzNzU0MywgMzc1NTEsIDM3NTU4LCAzNzU2NCwgMzc1NzMsIDM3NTgzLCAKKyAgICAzNzU4OSwgMzc1OTcsIDM3NjA2LCAzNzYxMywgMzc2MjEsIDM3NjI4LCAyMzAzNywgMzc2MzIsIDM3NjM5LCAzNzY0NSwgCisgICAgMzc2NTUsIDM3NjY0LCAzNzY3MiwgMzc2ODMsIDM3Njg3LCAzNzY5NywgMzc3MDMsIDM3NzEwLCAzNzcxOCwgMzc3MjcsIAorICAgIDM3NzM2LCAzNzc0NiwgMzc3NTcsIDM3NzY0LCAzNzc2OSwgMzc3NzYsIDMwNjQsIDM3Nzg0LCAzNzc5MCwgMzc3OTUsIAorICAgIDM3ODAxLCAzNzgwNywgMzc4MTIsIDM3ODI1LCAzNzgzOCwgMzc4NTEsIDM3ODU4LCAzNzg2NCwgMzc4NzIsIDM3ODgwLCAKKyAgICAzNzg4NSwgMzc4ODksIDE0NTIsIDM3ODkzLCAzNzg5NywgMzc5MDEsIDM3OTA1LCAzNzkwOSwgMzc5MTMsIDM3OTE3LCAKKyAgICAzNzkyMSwgMzc5MjUsIDM3OTI5LCAzNzkzMywgMzc5MzcsIDM3OTQxLCAzNzk0NSwgMzc5NDksIDM3OTUzLCAzNzk1NywgCisgICAgMzc5NjEsIDM3OTY1LCAzNzk2OSwgMzc5NzMsIDM3OTc3LCAzNzk4MSwgMzc5ODUsIDM3OTg5LCAzNzk5MywgMzc5OTcsIAorICAgIDM4MDAxLCAzODAwNSwgMzgwMDksIDM4MDEzLCAzODAxNywgMzgwMjEsIDM4MDI1LCAzODAyOSwgMzgwMzMsIDM4MDM3LCAKKyAgICAzODA0MSwgMzgwNDUsIDM4MDQ5LCAzODA1MywgMzgwNTcsIDM4MDYxLCAzODA2NSwgMzgwNjksIDM4MDczLCAzODA3NywgCisgICAgMzgwODEsIDM4MDg1LCAzODA4OSwgMzgwOTMsIDM4MDk3LCAzODEwMSwgMzgxMDUsIDM4MTA5LCAzODExMywgMzgxMTcsIAorICAgIDM4MTIxLCAzODEyNSwgMzgxMjksIDM4MTMzLCAzODEzNywgMzgxNDEsIDM4MTQ1LCAzODE0OSwgMzgxNTMsIDM4MTU3LCAKKyAgICAzODE2MSwgMzgxNjUsIDM4MTY5LCAzODE3MywgMzgxNzcsIDM4MTgxLCAzODE4NSwgMzgxODksIDM4MTkzLCAzODE5NywgCisgICAgMzgyMDEsIDM4MjA1LCAzODIwOSwgMzgyMTMsIDM4MjE3LCAzODIyMSwgMzgyMjUsIDM4MjI5LCAzODIzMywgMzgyMzcsIAorICAgIDM4MjQxLCAzODI0NSwgMzgyNDksIDM4MjUzLCAzODI1NywgMzgyNjEsIDM4MjY1LCAzODI2OSwgMzgyNzMsIDM4Mjc3LCAKKyAgICAzODI4MSwgMzgyODUsIDM4Mjg5LCAzODI5MywgMzgyOTcsIDM4MzAxLCAzODMwNSwgMzgzMDksIDM4MzEzLCAzODMxNywgCisgICAgMzgzMjEsIDM4MzI1LCAzODMyOSwgMzgzMzMsIDM4MzM3LCAzODM0MSwgMzgzNDUsIDM4MzQ5LCAzODM1MywgMzgzNTcsIAorICAgIDM4MzYxLCAzODM2NSwgMzgzNjksIDM4MzczLCAzODM3NywgMzgzODEsIDM4Mzg1LCAzODM4OSwgMzgzOTMsIDM4Mzk3LCAKKyAgICAzODQwMSwgMzg0MDUsIDM4NDA5LCAzODQxMywgMzg0MTcsIDM4NDIxLCAzODQyNSwgMzg0MjksIDM4NDMzLCAzODQzNywgCisgICAgMzg0NDEsIDM4NDQ1LCAzODQ0OSwgMzg0NTMsIDM4NDU3LCAzODQ2MSwgMzg0NjUsIDM4NDY5LCAzODQ3MywgMzg0NzcsIAorICAgIDM4NDgxLCAzODQ4NSwgMzg0ODksIDM4NDkzLCAzODQ5NywgMzg1MDEsIDM4NTA1LCAzODUxMCwgMzg1MTQsIDM4NTE5LCAKKyAgICAzODUyMywgMzg1MjgsIDM4NTMyLCAzODUzNywgMzg1NDEsIDM4NTQ3LCAzODU1MiwgMzg1NTYsIDM4NTYxLCAzODU2NSwgCisgICAgMzg1NzAsIDM4NTc0LCAzODU3OSwgMzg1ODMsIDM4NTg4LCAzODU5MiwgMzg1OTcsIDM4NjAxLCAzODYwNiwgMzg2MTAsIAorICAgIDM4NjE2LCAzODYyMiwgMzg2MjcsIDM4NjMxLCAzODYzNiwgMzg2NDAsIDM4NjQ2LCAzODY1MSwgMzg2NTUsIDM4NjYwLCAKKyAgICAzODY2NCwgMzg2NjksIDM4NjczLCAzODY3OSwgMzg2ODQsIDM4Njg4LCAzODY5MywgMzg2OTcsIDM4NzAyLCAzODcwNiwgCisgICAgMzg3MTEsIDM4NzE1LCAzODcyMSwgMzg3MjYsIDM4NzMwLCAzODczNSwgMzg3MzksIDM4NzQ1LCAzODc1MCwgMzg3NTQsIAorICAgIDM4NzU5LCAzODc2MywgMzg3NjgsIDM4NzcyLCAzODc3NywgMzg3ODEsIDM4Nzg2LCAzODc5MCwgMzg3OTYsIDM4ODAxLCAKKyAgICAzODgwNSwgMzg4MTEsIDM4ODE2LCAzODgyMCwgMzg4MjYsIDM4ODMxLCAzODgzNSwgMzg4NDAsIDM4ODQ0LCAzODg0OSwgCisgICAgMzg4NTMsIDM4ODU5LCAzODg2NSwgMzg4NzEsIDM4ODc3LCAzODg4MywgMzg4ODksIDM4ODk1LCAzODkwMSwgMzg5MDYsIAorICAgIDM4OTEwLCAzODkxNSwgMzg5MTksIDM4OTI1LCAzODkzMCwgMzg5MzQsIDM4OTM5LCAzODk0MywgMzg5NDgsIDM4OTUyLCAKKyAgICAzODk1NywgMzg5NjEsIDM4OTY2LCAzODk3MCwgMzg5NzUsIDM4OTc5LCAzODk4NCwgMzg5ODgsIDM4OTk0LCAzODk5OSwgCisgICAgMzkwMDMsIDM5MDA4LCAzOTAxMiwgMzkwMTgsIDM5MDI0LCAzOTAyOSwgMTExLCA4OCwgMzkwMzMsIDM5MDM1LCAzOTAzOSwgCisgICAgMzkwNDMsIDM5MDQ3LCAzOTA1MiwgMzkwNTYsIDM5MDYwLCAxMDAwMywgMzkwNjUsIDM5MDcxLCAxNzQxLCA2NDcyLCAKKyAgICAzOTA3NywgMzkwODAsIDM5MDg1LCAzOTA4OSwgMzkwOTQsIDM5MDk4LCAzOTEwMiwgMzkxMDcsIDEwNzY5LCAzOTExMSwgCisgICAgMzkxMTUsIDM5MTE5LCA1OTQsIDM5MTIzLCAxNjIwNywgMzkxMjgsIDM5MTMyLCAzOTEzNywgMzkxNDIsIDM5MTQ3LCAKKyAgICAzOTE1MSwgMzkxNTgsIDI3MzMyLCAzOTE2NCwgMzkxNjcsIDM5MTcxLCAzOTE3NiwgMzkxODIsIDM5MTg2LCAzOTE5NCwgCisgICAgMzkyMDAsIDM5MjA1LCAzOTIwOSwgMzkyMTIsIDM5MjE2LCAzOTIyMiwgMzkyMjYsIDM5MjMwLCAzNTYwLCAzNTY1LCAKKyAgICAzMDY0MiwgMzkyMzMsIDM5MjM3LCAzOTI0MSwgMzkyNDUsIDM5MjQ5LCAzOTI1NywgMzkyNjQsIDM5MjY4LCAzOTI3NSwgCisgICAgMzkyODAsIDM5Mjk0LCAzOTMwMSwgMzkzMTIsIDMyNCwgMzkzMTcsIDM5MzIxLCAzOTMyNywgMzkzMzksIDM5MzQ1LCAKKyAgICAzOTM1MSwgMzA2NzksIDM5MzU1LCAzOTM2MSwgMzkzNzAsIDM5Mzc0LCAzOTM3OCwgMzkzODMsIDM5Mzg5LCAzOTM5NCwgCisgICAgMzkzOTgsIDM5NDAzLCAzOTQwNywgMzk0MTEsIDM5NDE4LCAzOTQyNCwgMzk0MjksIDM5NDQ0LCAzOTQ1OSwgMzk0NzQsIAorICAgIDM5NDkwLCAzOTUwOCwgMTA3MTksIDM5NTIyLCAzOTUyOSwgMzk1MzMsIDM5NTM2LCAzOTU0NSwgMzk1NTAsIDM5NTU0LCAKKyAgICAzOTU2MiwgMzU1MzcsIDM5NTcwLCAzOTU3NCwgMzk1ODQsIDM5NTk1LCAzMDYxMiwgMzk2MDgsIDM5NjEyLCAzOTYyMSwgCisgICAgMzk2MjksIDEwMjcwLCAxNTcyMywgMzk2MzMsIDIzNDc4LCAzOTYzNiwgMzE1ODAsIDM5NjQxLCAxMDI2OSwgMzk2NDYsIAorICAgIDM5NjUyLCAzOTY1NywgMzk2NjMsIDM5NjY4LCAzOTY3NCwgMzk2NzksIDM5Njg1LCAzOTY5MCwgMzk2OTYsIDM5NzAyLCAKKyAgICAzOTcwOCwgMzk3MTMsIDM5NjY5LCAzOTY3NSwgMzk2ODAsIDM5Njg2LCAzOTY5MSwgMzk2OTcsIDM5NzAzLCA4MzQ1LCAKKyAgICA0MDA2LCAzOTcxNywgMzk3MjUsIDM5NzI5LCAzOTczMiwgMzk3MzYsIDM5NzQxLCAzOTc0NiwgMzk3NTIsIDM5NzU4LCAKKyAgICAzOTc2MywgMzk3NjcsIDM5NzcxLCAyNzE2OCwgMzk3NzUsIDM5Nzc5LCAzOTc4MywgMzk3ODksIDM5NzkzLCAyOTIxNywgCisgICAgOTI5NiwgMzk4MDIsIDM5ODA5LCAzOTgxNSwgMzk4MTksIDEyNTYyLCAzOTgyNiwgMzk4MzIsIDM5ODM3LCAzOTg0NCwgCisgICAgMzk4NTEsIDM5ODU4LCAyOTkxNywgODI1NywgMzk4NjUsIDM5ODcyLCAzOTg3OSwgMzk4ODUsIDM5ODkwLCAzOTg5NywgCisgICAgMzk5MDgsIDM5OTE0LCAzOTkxOSwgMzk5MjQsIDM5OTI5LCAzOTkzNiwgMzk2NzAsIDM5OTQwLCAzOTk1MCwgMzk5NTksIAorICAgIDM5OTcwLCAzOTk3NiwgMzk5ODMsIDM5OTg4LCAzOTk5MywgMzk5OTgsIDQwMDAzLCA0MDAwOCwgNDAwMTIsIDQwMDE2LCAKKyAgICA0MDAyMiwgNDAwMzAsIDIzMzQsIDk1NSwgMTA3ODUsIDEwNzk3LCAxMDgwMiwgMTA4MDgsIDQwMDM5LCAxMDgxMywgMTA4MTgsIAorICAgIDEwODI0LCA0MDA0NCwgNDAwNTQsIDQwMDU4LCAxMDgyOSwgNDAwNjMsIDE3ODE0LCA0MDA2NiwgNDAwNzEsIDQwMDc1LCAKKyAgICAzNjIzNywgNDAwODYsIDQwMDkxLCA0MDA5OCwgNDAxMDUsIDQwMTA5LCA0MDExMiwgNDAxMjAsIDEwNzMyLCA0MDEyNywgCisgICAgNDAxMzAsIDQwMTM2LCA0MDE0NiwgNjEwNiwgNDAxNTUsIDQwMTYxLCA0MDE2NSwgNDAxNzMsIDQwMTc3LCA0MDE4NywgCisgICAgNDAxOTMsIDQwMTk4LCA0MDIwOSwgNDAyMTUsIDQwMjIxLCA0MDIyNiwgNDAyMzIsIDQwMjM4LCA0MDI0NCwgNDAyNDksIAorICAgIDQwMjUyLCA0MDI1OSwgNDAyNjUsIDQwMjY5LCA0MDI3NCwgNDAyODEsIDQwMjg4LCA0MDI5MiwgNDAyOTUsIDQwMzA1LCAKKyAgICA0MDMxOCwgNDAzMjcsIDQwMzM2LCA0MDM0NywgNDAzNjAsIDQwMzcyLCA0MDM4MywgNDAzOTIsIDQwNDAzLCA0MDQwOCwgCisgICAgNDA0MTcsIDQwNDIyLCAxMDgzNCwgNDA0MjgsIDQwNDM1LCA0MDQ0MywgNDA0NDgsIDQwNDUyLCA0MDQ1OSwgNDA0NjYsIAorICAgIDM5NTgsIDIwLCA0MDQ3MCwgNDA0NzUsIDE3NjY4LCA0MDQ3OSwgNDA0ODIsIDQwNDg1LCAyOTM5NywgNDA0ODksIDI5OTI2LCAKKyAgICA0MDQ5NywgNDA1MDEsIDQwNTA1LCA0MDUwOCwgNDA1MTQsIDQwNTIwLCAzMjYyOCwgNDA1MjUsIDQwNTMzLCA0MDUzOSwgCisgICAgNDA1NDYsIDI5MzgwLCA0MDU1MCwgMjk1ODMsIDQwNTU0LCA0MDU2MywgNDA1NjksIDQwNTc1LCA0MDU4MCwgNDA1ODQsIAorICAgIDI5OTQ1LCA0MDU5MCwgNDA1OTMsIDQwNjAxLCA0MDYwOSwgMjc0MTAsIDQwNjE1LCA0MDYxOSwgNDA2MjQsIDQwNjMxLCAKKyAgICA0MDYzNywgNDA2NDIsIDQwNjQ3LCA0MDY1MSwgNDA2NTcsIDQwNjYyLCA0MDY2OCwgNDIwOCwgODgzLCA0MDY3NSwgNDA2NzksIAorICAgIDQwNjgyLCAxNjA5MywgNDA2OTQsIDQwNzA1LCAzNzYwMiwgNDA3MTAsIDQwNzEzLCA0MDcyMCwgNDA3MjQsIDQwNzMwLCAKKyAgICA0MDczNCwgNDA3NDAsIDQwNzQ1LCA0MDc1MSwgNDA3NTYsIDQwNzYxLCA0MDc2NSwgNDA3NjksIDQwNzc0LCA0MDc3OSwgCisgICAgNDA3ODksIDQwNzk1LCA0MDgwOCwgNDA4MTQsIDQwODIwLCA0MDgyNiwgNDA4MzMsIDQwODM4LCA0MDg0NCwgNDA4NDksIAorICAgIDE3NTU5LCAxNDU1LCA3NzEsIDQwODU0LCA0MDg1NywgNDA4NjAsIDQwODYzLCAzMjcxMiwgMzI3MTgsIDQwODY2LCAzMjcyNCwgCisgICAgMzI3MzcsIDMyNzQzLCAzMjc0OSwgNDA4NzIsIDMyNzU1LCAzMjc2MSwgNDA4NzgsIDQwODg0LCAyNiwgNDA4OTIsIDQwODk5LCAKKyAgICA0MDkwMywgNDA5MDcsIDQwOTE1LCAzMzQ5MiwgNDA5MTksIDQwOTIzLCA0MDkzMCwgNDA5MzUsIDQwOTM5LCA0MDk0NCwgCisgICAgNDA5NTAsIDQwOTU1LCA0MDk2MSwgNDA5NjYsIDQwOTcwLCA0MDk3NCwgNDA5NzgsIDQwOTgzLCA0MDk4NywgNDA5OTIsIAorICAgIDQwOTk2LCA0MTAwMCwgNDEwMDcsIDQxMDEyLCA0MTAxNiwgNDEwMjAsIDQxMDI1LCA0MTAyOSwgNDEwMzQsIDQxMDM4LCAKKyAgICA0MTA0MiwgNDEwNDcsIDQxMDUzLCAxNjM0MywgMTYzNDgsIDQxMDU4LCA0MTA2MiwgNDEwNjUsIDQxMDY5LCA0MTA3MywgCisgICAgMjIxNjYsIDQxMDc4LCA0MTA4MiwgNDEwODgsIDQxMDk1LCA0MTEwMCwgNDExMTAsIDQxMTE1LCA0MTEyMywgNDExMjcsIAorICAgIDQxMTMwLCAzMzUwNywgNDExMzQsIDQyNjEsIDQxMTM5LCA0MTE0NCwgNDExNDgsIDQxMTUzLCA0MTE1NywgNDExNjIsIAorICAgIDE0MDgyLCA0MTE3MywgNDExNzcsIDQxMTgwLCA0MTE4NCwgNDExODksIDQxMTkzLCA0MTE5OCwgNDEyMDMsIDQxMjA3LCAKKyAgICA0MTIxMSwgNDEyMTUsIDQxMjE4LCA0MTIyMiwgODM2NCwgMTQwOTgsIDQxMjI1LCA0MTIyOCwgNDEyMzQsIDQxMjM5LCAKKyAgICA0MTI0NSwgNDEyNTAsIDQxMjU2LCA0MTI2MSwgNDEyNjcsIDQxMjcyLCA0MTI3OCwgNDEyODQsIDQxMjkwLCA0MTI5NSwgCisgICAgNDEyOTksIDQxMzAzLCA0MTMxMiwgNDEzMjgsIDQxMzQ0LCA0MTM1NCwgMjkyODcsIDQxMzYxLCA0MTM2NSwgNDEzNzAsIAorICAgIDQxMzc1LCA0MTM3OSwgNDEzODMsIDM3NzMxLCA0MTM4OSwgNDEzOTQsIDQxMzk4LCA0MTQwNSwgNDE0MTAsIDQxNDE1LCAKKyAgICA0MTQxOSwgNDE0MjMsIDQxNDI5LCAyODIzNywgNDE0MzMsIDIyNDUwLCA0MTQzOCwgNDE0NDUsIDQxNDUzLCA0MTQ1OSwgCisgICAgNDE0NjYsIDQxNDc0LCA0MTQ4MCwgNDE0ODQsIDQxNDg5LCA0MTQ5NSwgNDE1MDMsIDQxNTA4LCA0MTUxMiwgNDE1MjEsIAorICAgIDk5ODQsIDQxNTI5LCA0MTUzMywgNDE1NDEsIDQxNTQ4LCA0MTU1MywgNDE1NTgsIDQxNTYzLCA0MTU2NywgNDE1NzAsIAorICAgIDQxNTc0LCA0MTU3NywgNDE1ODEsIDQxNTg4LCA0MTU5MywgNDE1OTcsIDQxNjAzLCAyNzY0MywgMzI3NzUsIDQxNjA3LCAKKyAgICA0MTYxMywgNDE2MjAsIDQxNjI2LCA0MTYzMiwgNDE2MzcsIDQxNjQwLCA0MTY0MiwgNDE2NDksIDQxNjU2LCA0MTY2MiwgCisgICAgNDE2NjYsIDQxNjY5LCA0MTY3MywgNDE2NzcsIDQxNjgxLCA0MTY4NiwgNDE2OTAsIDQxNjk0LCA0MTY5NywgNDE3MDEsIAorICAgIDQxNzE1LCAyNDExMywgNDE3MzQsIDQxNzQ3LCA0MTc2MCwgNDE3NzMsIDI0MTMxLCA0MTc4OCwgMTEwNDUsIDQxODAzLCAKKyAgICA0MTgwOSwgNDE4MTMsIDQxODE3LCA0MTgyMSwgNDE4MjUsIDQxODMyLCA0MTgzNywgNDE4NDEsIDQxODQ4LCA0MTg1NCwgCisgICAgNDE4NTksIDQxODY1LCA0MTg3NSwgNDE4ODcsIDQxODk4LCA0MTkwMywgNDE5MTAsIDQxOTE0LCA0MTkxOCwgNDE5MjEsIAorICAgIDE2NzUxLCAzNzk5LCA0MTkyOSwgMTYzNzAsIDQxOTQyLCA0MTk0OSwgNDE5NTMsIDQxOTU3LCA0MTk2MiwgNDE5NjcsIAorICAgIDQxOTczLCA0MTk3NywgNDE5ODEsIDQxOTg0LCA0MTk4OSwgNDE5OTMsIDQxOTk4LCA3OTU3LCAxNjM4MSwgNDIwMDMsIAorICAgIDQyMDA3LCA0MjAxMywgNDIwMjIsIDQyMDI3LCA0MjAzNiwgNDIwNDMsIDM3NTc5LCA0MjA0OSwgNDIwNTQsIDQyMDU4LCAKKyAgICA0MjA2MywgNDIwNzAsIDQyMDc2LCA0MjA4MCwgNDIwODMsIDQyMDg3LCA0MjA5MiwgMTUzNDQsIDQyMDk5LCA0MjEwNiwgCisgICAgNDIxMTAsIDQyMTEzLCA0MjExOCwgNDIxMjMsIDQyMTI5LCA0MjEzNCwgNDIxMzksIDQyMTQzLCA0MjE0OCwgNDIxNTgsIAorICAgIDQyMTYzLCA0MjE2OSwgNDIxNzQsIDQyMTgwLCA0MjE4NSwgNDIxOTEsIDQyMjAxLCA0MjIwNiwgNDIyMTEsIDQyMjE1LCAKKyAgICA0MjIyMCwgNzQzMywgNzQ0NSwgNDIyMjUsIDQyMjI4LCA0MjIzNSwgNDIyNDEsIDQyMjUwLCAzNTcxMSwgMzU3MTgsIAorICAgIDQyMjU4LCA0MjI2MiwgNDIyNjYsIDMzNTU1LCA0MjI3NCwgNDIyODUsIDQyMjkzLCAzNzc3OSwgNDIzMDAsIDQyMzA1LCAKKyAgICA0MjMxMCwgNDIzMjEsIDQyMzI4LCA0MjMzOSwgMzM1NzksIDIyNDU2LCA0MjM0NywgODM0LCA0MjM1MiwgMTQ0MjksIAorICAgIDQyMzU4LCAyOTM3MSwgNDIzNjQsIDQyMzY5LCA0MjM3OSwgNDIzODgsIDQyMzk1LCA0MjQwMSwgNDI0MDUsIDQyNDA4LCAKKyAgICA0MjQxNSwgNDI0MjEsIDQyNDI4LCA0MjQzNCwgNDI0NDQsIDQyNDUyLCA0MjQ1OCwgNDI0NjQsIDQyNDY5LCA0MjQ3MywgCisgICAgNDI0ODAsIDQyNDg1LCA0MjQ5MSwgNDI0OTgsIDQyNTA0LCA0MTY4MiwgNDI1MDksIDQyNTEzLCA1MjYsIDE0NTQ1LCAKKyAgICA0MjUxOSwgNDI1MjQsIDQyNTI3LCA0MjUzMywgNDI1NDEsIDEzNzksIDQyNTQ2LCA0MjU1MCwgNDI1NTUsIDQyNTYwLCAKKyAgICA0MjU2NSwgNDI1NzIsIDQyNTc2LCA0MjU4MSwgNDI1ODcsIDQyNTkxLCAzMjc4NSwgNDI1OTYsIDQyNjAxLCA0MjYxMCwgCisgICAgNDI2MTcsIDQyNjI3LCA0MjYzMywgMjk0MTUsIDQyNjUwLCA0MjY1OSwgNDI2NjcsIDQyNjczLCA0MjY3OCwgNDI2ODUsIAorICAgIDQyNjkxLCA0MjY5OSwgNDI3MDgsIDQyNzE2LCA0MjcyMCwgNDI3MjUsIDQyNzMzLCAzMDM2MCwgMzM1ODgsIDQyNzM5LCAKKyAgICA0Mjc1OCwgMTY2NzYsIDQyNzcyLCA0Mjc4OCwgNDI4MDIsIDQyODA4LCA0MjgxMywgNDI4MTgsIDQyODIzLCA0MjgyOSwgCisgICAgMzM1OTQsIDQyODM0LCA0MjgzNywgNDI4NDQsIDQyODQ5LCA0Mjg1MywgMzc2LCAyOTcxLCA0Mjg2MCwgNDI4NjUsIDQyODcwLCAKKyAgICAyODU5NSwgNDI2ODgsIDQyODc0LCA0Mjg3OSwgNDI4ODcsIDQyODkxLCA0Mjg5NCwgNDI4OTksIDQyOTA1LCA0MjkxMSwgCisgICAgNDI5MTYsIDQyOTIwLCAyOTQ3MCwgNDI5MjMsIDQyOTI4LCA0MjkzMiwgNDI5MzUsIDQyOTQwLCA0Mjk0NCwgNDI5NDksIAorICAgIDQyOTU0LCA0Mjk1OCwgNDI5NjMsIDQyOTY3LCA0Mjk3MSwgNDI5NzUsIDIyMTYyLCAyMjE3MywgNDI5ODAsIDQyOTg1LCAKKyAgICA0Mjk5MSwgNDI5OTYsIDI4MTk0LCA0MzAwMSwgNDMwMDUsIDIyMjU5LCAxNjkzMiwgNDMwMDgsIDQzMDEzLCA0MzAxOCwgCisgICAgNDMwMjMsIDQzMDI4LCA0MzAzMywgNDMwMzgsIDQzMDQzLCA0NjksIDQ5LCAzMjc5OCwgMzI4MDMsIDMyODA4LCAzMjgxNCwgCisgICAgMzI4MTksIDMyODI0LCA0MzA0OCwgMzI4MjgsIDQzMDUyLCA0MzA1NiwgNDMwNjAsIDMyODMzLCAzMjgzOSwgNDMwNzQsIAorICAgIDMyODUwLCAzMjg1NSwgNDMwODIsIDQzMDg3LCAzMjg2MSwgNDMwOTIsIDQzMDk3LCA0MzEwMiwgNDMxMDcsIDQzMTEzLCAKKyAgICA0MzExOSwgNDMxMjUsIDMyODc4LCA0MzEzOCwgNDMxNDcsIDQzMTUzLCAzMjg4MiwgNDMxNTcsIDMyODg3LCA0MzE2MiwgCisgICAgMzI4OTIsIDMyODk3LCA0MzE2NSwgNDMxNzAsIDQzMTc0LCAzMjQzMywgNDMxODAsIDE0MzEwLCA0MzE4NywgNDMxOTIsIAorICAgIDMyOTAyLCA0MzE5NiwgNDMyMDEsIDQzMjA2LCA0MzIxMSwgNDMyMTUsIDQzMjIwLCA0MzIyNSwgNDMyMzEsIDQzMjM2LCAKKyAgICA0MzI0MSwgNDMyNDcsIDQzMjUzLCA0MzI1OCwgNDMyNjIsIDQzMjY3LCA0MzI3MiwgNDMyNzcsIDQzMjgxLCA0MzI4NiwgCisgICAgNDMyOTEsIDQzMjk2LCA0MzMwMiwgNDMzMDgsIDQzMzE0LCA0MzMxOSwgNDMzMjMsIDQzMzI4LCA0MzMzMiwgMzI5MDYsIAorICAgIDMyOTExLCAzMjkxNiwgNDMzMzYsIDQzMzQwLCA0MzM0NCwgMzI5MjEsIDMyOTI3LCAzMjkzMywgMzI5NDUsIDQzMzU2LCAKKyAgICAyNzIwNSwgNDMzNjAsIDQzMzY1LCA0MzM2OSwgNDMzNzQsIDQzMzgxLCA0MzM4NiwgNDMzOTEsIDQzMzk2LCA0MzQwMCwgCisgICAgNDM0MDQsIDQzNDE0LCA0MzQxOSwgNDM0MjQsIDQzNDI4LCA0MzQzMiwgNDM0MzUsIDQzNDQzLCAzMjk5MywgNDM0NDgsIAorICAgIDE0NjIsIDQzNDU0LCA0MzQ1OSwgNDM0NjUsIDQzNDczLCA0MzQ4MiwgNDM0ODYsIDQzNDkwLCA0MzQ5OCwgNDM1MDQsIAorICAgIDQzNTEyLCA0MzUyOCwgNDM1MzIsIDQzNTM2LCA0MzU0MSwgNDM1NDcsIDQzNTYyLCAzMzAzMCwgMTc0OSwgMTI3NDIsIAorICAgIDQzNTY2LCAxMzU4LCAxMzczLCA0MzU3OCwgNDM1ODYsIDQzNTkzLCA0MzU5OCwgNDM2MDUsIDQzNjEwLCA5Njc0LCAxMDYyLCAKKyAgICAyNTI1LCAxMDg2MSwgNDM2MTcsIDk1NzIsIDQzNjIyLCA0MzYyNSwgNDM2MzQsIDEyNjYsIDQzNjM5LCA0MTgzOCwgNDM2NDYsIAorICAgIDQzNjU1LCA0MzY2MCwgNDM2NjQsIDQzNjcyLCAyMzUzNCwgMjU3NywgNDM2NzksIDExMzAxLCA0MzY4OSwgNDM2OTUsIAorICAgIDIzNTIsIDIzNjIsIDQzNzA0LCA0MzcxMywgNDM3MjMsIDQzNzM0LCAzMzUyLCAzNTg3NCwgNDM3MzksIDEwOTIwLCAzOTM2LCAKKyAgICAxNzU5NywgMTI3MSwgNDM3NDMsIDQzNzUxLCA0Mzc1OCwgNDM3NjMsIDQzNzY3LCA0Mzc3MSwgMjQ5ODEsIDQyMDk0LCAKKyAgICAxMDk0NywgNDM3NzksIDQzNzg4LCA0Mzc5NywgNDM4MDUsIDQzODEyLCA0MzgyMywgNDM4MjgsIDQzODQxLCA0Mzg1NCwgCisgICAgNDM4NjYsIDQzODc4LCA0Mzg5MCwgNDM5MDEsIDQzOTE0LCA0MzkyNSwgNDM5MzYsIDQzOTQ2LCA0Mzk1NCwgNDM5NjIsIAorICAgIDQzOTc0LCA0Mzk4NiwgNDM5OTcsIDQ0MDA2LCA0NDAxNCwgNDQwMjEsIDQ0MDMzLCA0NDA0MCwgNDQwNDYsIDQ0MDU1LCAKKyAgICA0NDA2MiwgNDQwNzUsIDQ0MDgwLCA0NDA5MCwgNDQwOTUsIDQ0MTAxLCA0NDEwNiwgMzk4MTYsIDQ0MTEwLCA0NDExNywgCisgICAgNDQxMjEsIDQ0MTI4LCA0NDEzNiwgMjUzOCwgNDQxNDMsIDQ0MTU0LCA0NDE2NCwgNDQxNzMsIDQ0MTgxLCA0NDE5MSwgCisgICAgNDQxOTksIDQ0MjA5LCA0NDIxOCwgNDQyMjMsIDQ0MjI5LCA0NDIzNSwgNDQyNDAsIDM4MzgsIDQ0MjUxLCA0NDI2MSwgCisgICAgNDQyNzAsIDQ0Mjc5LCA0NDI4NywgNDQyOTcsIDQ0MzA1LCA0NDMxNCwgNDQzMTksIDQ0MzI0LCA0NDMyOSwgMTY3OSwgMzcsIAorICAgIDQ0MzM3LCA0NDM0NSwgNDQzNTYsIDQ0MzY3LCAxNzI0NCwgNDQzNzcsIDQ0MzgxLCA0NDM4OCwgNDQzOTQsIDQ0Mzk5LCAKKyAgICA0NDQwMywgNDQ0MTQsIDQ0NDI0LCA0NDQzMywgNDQ0NDQsIDE3NjQxLCAxNzY0NiwgNDQ0NDksIDQ0NDU4LCA0NDQ2MywgCisgICAgNDQ0NzMsIDQ0NDc4LCA0NDQ4NiwgNDQ0OTQsIDQ0NTAxLCA0NDUwNywgMTY0MSwgMjUxLCA0NDUxMSwgNDQ1MTcsIDQ0NTIyLCAKKyAgICA0NDUyNSwgMjEyNCwgNDE5NTQsIDQ0NTMzLCA0NDUzNywgNDQ1NDAsIDE0OTUsIDQ0NTQ2LCAxNDcwNywgMTI3NiwgNDQ1NTEsIAorICAgIDQ0NTY0LCA0NDU3OCwgMjY2MywgNDQ1OTYsIDQ0NjA4LCA0NDYyMCwgMjY3NywgMjY5NCwgNDQ2MzQsIDQ0NjQ3LCAyNzA5LCAKKyAgICA0NDY2MSwgNDQ2NzMsIDI3MjQsIDQ0Njg3LCAxMjgyLCAxMjg4LCAxMjk0LCAxMTIwNywgNDQ2OTIsIDQ0Njk3LCA0NDcwMiwgCisgICAgNDQ3MDYsIDQ0NzIxLCA0NDczNiwgNDQ3NTEsIDQ0NzY2LCA0NDc4MSwgNDQ3OTYsIDQ0ODExLCA0NDgyNiwgNDQ4NDEsIAorICAgIDQ0ODU2LCA0NDg3MSwgNDQ4ODYsIDQ0OTAxLCA0NDkxNiwgNDQ5MzEsIDQ0OTQ2LCA0NDk2MSwgNDQ5NzYsIDQ0OTkxLCAKKyAgICA0NTAwNiwgNDUwMjEsIDQ1MDM2LCA0NTA1MSwgNDUwNjYsIDQ1MDgxLCA0NTA5NiwgNDUxMTEsIDQ1MTI2LCA0NTE0MSwgCisgICAgNDUxNTYsIDQ1MTcxLCA0NTE4NiwgNDUyMDEsIDQ1MjE2LCA0NTIzMSwgNDUyNDYsIDQ1MjYxLCA0NTI3NiwgNDUyOTEsIAorICAgIDQ1MzA2LCA0NTMyMSwgNDUzMzYsIDQ1MzUxLCA0NTM2NiwgNDUzODEsIDQ1Mzk2LCA0NTQxMSwgNDU0MjYsIDQ1NDQxLCAKKyAgICA0NTQ1NiwgNDU0NzEsIDQ1NDg2LCA0NTUwMSwgNDU1MTYsIDQ1NTMxLCA0NTU0NiwgNDU1NjEsIDQ1NTc2LCA0NTU5MSwgCisgICAgNDU2MDYsIDQ1NjIxLCA0NTYzNiwgNDU2NTEsIDQ1NjY2LCA0NTY4MSwgNDU2OTYsIDQ1NzExLCA0NTcyNiwgNDU3NDEsIAorICAgIDQ1NzU2LCA0NTc3MSwgNDU3ODYsIDQ1ODAxLCA0NTgxNiwgNDU4MzEsIDQ1ODQ2LCA0NTg2MSwgNDU4NzYsIDQ1ODkxLCAKKyAgICA0NTkwNiwgNDU5MjEsIDQ1OTM2LCA0NTk1MSwgNDU5NjYsIDQ1OTgxLCA0NTk5NiwgNDYwMTEsIDQ2MDI2LCA0NjA0MSwgCisgICAgNDYwNTYsIDQ2MDcxLCA0NjA4NiwgNDYxMDEsIDQ2MTE2LCA0NjEzMSwgNDYxNDYsIDQ2MTYxLCA0NjE3NiwgNDYxOTEsIAorICAgIDQ2MjA2LCA0NjIyMSwgNDYyMzYsIDQ2MjUxLCA0NjI2NiwgNDYyODEsIDQ2Mjk2LCA0NjMxMSwgNDYzMjYsIDQ2MzQxLCAKKyAgICA0NjM1NiwgNDYzNzEsIDQ2Mzg2LCA0NjQwMSwgNDY0MTYsIDQ2NDMxLCA0NjQ0NiwgNDY0NjEsIDQ2NDc2LCA0NjQ5MSwgCisgICAgNDY1MDYsIDQ2NTIxLCA0NjUzNiwgNDY1NTEsIDQ2NTY2LCA0NjU4MSwgNDY1OTYsIDQ2NjExLCA0NjYyNiwgNDY2NDEsIAorICAgIDQ2NjU2LCA0NjY3MSwgNDY2ODYsIDQ2NzAxLCA0NjcxNiwgNDY3MzEsIDQ2NzQ2LCA0Njc2MSwgNDY3NzYsIDQ2NzkxLCAKKyAgICA0NjgwNiwgNDY4MjEsIDQ2ODM2LCA0Njg1MSwgNDY4NjYsIDQ2ODgxLCA0Njg5NiwgNDY5MTEsIDQ2OTI2LCA0Njk0MSwgCisgICAgNDY5NTYsIDQ2OTcxLCA0Njk4NiwgNDcwMDEsIDQ3MDE2LCA0NzAzMSwgNDcwNDYsIDQ3MDYxLCA0NzA3NiwgNDcwOTEsIAorICAgIDQ3MTA2LCA0NzEyMSwgNDcxMzYsIDQ3MTUxLCA0NzE2NiwgNDcxODEsIDQ3MTk2LCA0NzIxMSwgNDcyMjYsIDQ3MjQxLCAKKyAgICA0NzI1NiwgNDcyNzEsIDQ3Mjg2LCA0NzMwMSwgNDczMTYsIDQ3MzMxLCA0NzM0NiwgNDczNjEsIDQ3Mzc2LCA0NzM5MSwgCisgICAgNDc0MDYsIDQ3NDIxLCA0NzQzNiwgNDc0NTEsIDQ3NDY2LCA0NzQ4MSwgNDc0OTYsIDQ3NTExLCA0NzUyNiwgNDc1NDEsIAorICAgIDQ3NTU2LCA0NzU3MSwgNDc1ODYsIDQ3NjAxLCA0NzYxNiwgNDc2MzEsIDQ3NjQ2LCA0NzY2MSwgNDc2NzYsIDQ3NjkxLCAKKyAgICA0NzcwNiwgNDc3MjEsIDQ3NzM2LCA0Nzc1MSwgNDc3NjYsIDQ3NzgxLCA0Nzc5NiwgNDc4MTEsIDQ3ODI2LCA0Nzg0MSwgCisgICAgNDc4NTYsIDQ3ODcxLCA0Nzg4NiwgNDc5MDEsIDQ3OTE2LCA0NzkzMSwgNDc5NDYsIDQ3OTYxLCA0Nzk3NiwgNDc5OTEsIAorICAgIDQ4MDA2LCA0ODAyMSwgNDgwMzYsIDQ4MDUxLCA0ODA2NiwgNDgwODEsIDQ4MDk2LCA0ODExMSwgNDgxMjYsIDQ4MTQxLCAKKyAgICA0ODE1NiwgNDgxNzEsIDQ4MTg2LCA0ODIwMSwgNDgyMTYsIDQ4MjMxLCA0ODI0NiwgNDgyNjEsIDQ4Mjc2LCA0ODI5MSwgCisgICAgNDgzMDYsIDQ4MzIxLCA0ODMzNiwgNDgzNTEsIDQ4MzY2LCA0ODM4MSwgNDgzOTYsIDQ4NDExLCA0ODQyNiwgNDg0NDEsIAorICAgIDQ4NDU2LCA0ODQ3MSwgNDg0ODYsIDQ4NTAxLCA0ODUxNiwgNDg1MzEsIDQ4NTQ2LCA0ODU2MSwgNDg1NzYsIDQ4NTkxLCAKKyAgICA0ODYwNiwgNDg2MjEsIDQ4NjM2LCA0ODY1MSwgNDg2NjYsIDQ4NjgxLCA0ODY5NiwgNDg3MTEsIDQ4NzI2LCA0ODc0MSwgCisgICAgNDg3NTYsIDQ4NzcxLCA0ODc4NiwgNDg4MDEsIDQ4ODE2LCA0ODgzMSwgNDg4NDYsIDQ4ODYxLCA0ODg3NiwgNDg4OTEsIAorICAgIDQ4OTA2LCA0ODkyMSwgNDg5MzYsIDQ4OTUxLCA0ODk2NiwgNDg5ODEsIDQ4OTk2LCA0OTAxMSwgNDkwMjYsIDQ5MDQxLCAKKyAgICA0OTA1NiwgNDkwNzEsIDQ5MDg2LCA0OTEwMSwgNDkxMTYsIDQ5MTMxLCA0OTE0NiwgNDkxNjEsIDQ5MTc2LCA0OTE5MSwgCisgICAgNDkyMDYsIDQ5MjIxLCA0OTIzNiwgNDkyNTEsIDQ5MjY2LCA0OTI4MSwgNDkyOTYsIDQ5MzExLCA0OTMyNiwgNDkzNDEsIAorICAgIDQ5MzU2LCA0OTM3MSwgNDkzODYsIDQ5NDAxLCA0OTQxNiwgNDk0MzEsIDQ5NDQ2LCA0OTQ2MSwgNDk0NzYsIDQ5NDkxLCAKKyAgICA0OTUwNiwgNDk1MjEsIDQ5NTM2LCA0OTU1MSwgNDk1NjYsIDQ5NTgxLCA0OTU5NiwgNDk2MTEsIDQ5NjI2LCA0OTY0MSwgCisgICAgNDk2NTYsIDQ5NjcxLCA0OTY4NiwgNDk3MDEsIDQ5NzE2LCA0OTczMSwgNDk3NDYsIDQ5NzYxLCA0OTc3NiwgNDk3OTEsIAorICAgIDQ5ODA2LCA0OTgyMSwgNDk4MzYsIDQ5ODUxLCA0OTg2NiwgNDk4ODEsIDQ5ODk2LCA0OTkxMSwgNDk5MjYsIDQ5OTQxLCAKKyAgICA0OTk1NiwgNDk5NzEsIDQ5OTg2LCA1MDAwMSwgNTAwMTYsIDUwMDMxLCA1MDA0NiwgNTAwNjEsIDUwMDc2LCA1MDA5MSwgCisgICAgNTAxMDYsIDUwMTIxLCA1MDEzNiwgNTAxNTEsIDUwMTY2LCA1MDE4MSwgNTAxOTYsIDUwMjExLCA1MDIyNiwgNTAyNDEsIAorICAgIDUwMjU2LCA1MDI3MSwgNTAyODYsIDUwMzAxLCA1MDMxNiwgNTAzMzEsIDUwMzQ2LCA1MDM2MSwgNTAzNzYsIDUwMzkxLCAKKyAgICA1MDQwNiwgNTA0MjEsIDUwNDM2LCA1MDQ1MSwgNTA0NjYsIDUwNDgxLCA1MDQ5NiwgNTA1MTEsIDUwNTI2LCA1MDU0MSwgCisgICAgNTA1NTYsIDUwNTcxLCA1MDU4NiwgNTA2MDEsIDUwNjE2LCA1MDYzMSwgNTA2NDYsIDUwNjYxLCA1MDY3NiwgNTA2OTEsIAorICAgIDUwNzA2LCA1MDcyMSwgNTA3MzYsIDUwNzUxLCA1MDc2NiwgNTA3ODEsIDUwNzk2LCA1MDgxMSwgNTA4MjYsIDUwODQxLCAKKyAgICA1MDg1NiwgNTA4NzEsIDUwODg2LCA1MDkwMSwgNTA5MTYsIDUwOTMxLCA1MDk0NiwgNTA5NjEsIDUwOTc2LCA1MDk5MSwgCisgICAgNTEwMDYsIDUxMDIxLCA1MTAzNiwgNTEwNTEsIDUxMDY2LCA1MTA4MSwgNTEwOTYsIDUxMTExLCA1MTEyNiwgNTExNDEsIAorICAgIDUxMTU2LCA1MTE3MSwgNTExODYsIDUxMjAxLCA1MTIxNiwgNTEyMzEsIDUxMjQ2LCA1MTI2MSwgNTEyNzYsIDUxMjkxLCAKKyAgICA1MTMwNiwgNTEzMjEsIDUxMzM2LCA1MTM1MSwgNTEzNjYsIDUxMzgxLCA1MTM5NiwgNTE0MTEsIDUxNDI2LCA1MTQ0MSwgCisgICAgNTE0NTYsIDUxNDcxLCA1MTQ4NiwgNTE1MDEsIDUxNTE2LCA1MTUzMSwgNTE1NDYsIDUxNTYxLCA1MTU3NiwgNTE1OTEsIAorICAgIDUxNjA2LCA1MTYyMSwgNTE2MzYsIDUxNjUxLCA1MTY2NiwgNTE2ODEsIDUxNjk2LCA1MTcxMSwgNTE3MjYsIDUxNzQxLCAKKyAgICA1MTc1NiwgNTE3NzEsIDUxNzg2LCA1MTgwMSwgNTE4MTYsIDUxODMxLCA1MTg0NiwgNTE4NjEsIDUxODc2LCA1MTg5MSwgCisgICAgNTE5MDYsIDUxOTIxLCA1MTkzNiwgNTE5NTEsIDUxOTY2LCA1MTk4MSwgNTE5OTYsIDUyMDExLCA1MjAyNiwgNTIwNDEsIAorICAgIDUyMDU2LCA1MjA3MSwgNTIwODYsIDUyMTAxLCA1MjExNiwgNTIxMzEsIDUyMTQ2LCA1MjE2MSwgNTIxNzYsIDUyMTkxLCAKKyAgICA1MjIwNiwgNTIyMjEsIDUyMjM2LCA1MjI1MSwgNTIyNjYsIDUyMjgxLCA1MjI5NiwgNTIzMTEsIDUyMzI2LCA1MjM0MSwgCisgICAgNTIzNTYsIDUyMzcxLCA1MjM4NiwgNTI0MDEsIDUyNDE2LCA1MjQzMSwgNTI0NDYsIDUyNDYxLCA1MjQ3NiwgNTI0OTEsIAorICAgIDUyNTA2LCA1MjUyMiwgNTI1MzgsIDUyNTU0LCA1MjU3MCwgNTI1ODYsIDUyNjAyLCA1MjYxOCwgNTI2MzQsIDUyNjUwLCAKKyAgICA1MjY2NiwgNTI2ODIsIDUyNjk4LCA1MjcxNCwgNTI3MzAsIDUyNzQ2LCA1Mjc2MiwgNTI3NzgsIDUyNzk0LCA1MjgxMCwgCisgICAgNTI4MjYsIDUyODQyLCA1Mjg1OCwgNTI4NzQsIDUyODkwLCA1MjkwNiwgNTI5MjIsIDUyOTM4LCA1Mjk1NCwgNTI5NzAsIAorICAgIDUyOTg2LCA1MzAwMiwgNTMwMTgsIDUzMDM0LCA1MzA1MCwgNTMwNjYsIDUzMDgyLCA1MzA5OCwgNTMxMTQsIDUzMTMwLCAKKyAgICA1MzE0NiwgNTMxNjIsIDUzMTc4LCA1MzE5NCwgNTMyMTAsIDUzMjI2LCA1MzI0MiwgNTMyNTgsIDUzMjc0LCA1MzI5MCwgCisgICAgNTMzMDYsIDUzMzIyLCA1MzMzOCwgNTMzNTQsIDUzMzcwLCA1MzM4NiwgNTM0MDIsIDUzNDE4LCA1MzQzNCwgNTM0NTAsIAorICAgIDUzNDY2LCA1MzQ4MiwgNTM0OTgsIDUzNTE0LCA1MzUzMCwgNTM1NDYsIDUzNTYyLCA1MzU3OCwgNTM1OTQsIDUzNjEwLCAKKyAgICA1MzYyNiwgNTM2NDIsIDUzNjU4LCA1MzY3NCwgNTM2OTAsIDUzNzA2LCA1MzcyMiwgNTM3MzgsIDUzNzU0LCA1Mzc3MCwgCisgICAgNTM3ODYsIDUzODAyLCA1MzgxOCwgNTM4MzQsIDUzODUwLCA1Mzg2NiwgNTM4ODIsIDUzODk4LCA1MzkxNCwgNTM5MzAsIAorICAgIDUzOTQ2LCA1Mzk2MiwgNTM5NzgsIDUzOTk0LCA1NDAxMCwgNTQwMjYsIDU0MDQyLCA1NDA1OCwgNTQwNzQsIDU0MDkwLCAKKyAgICA1NDEwNiwgNTQxMjIsIDU0MTM4LCA1NDE1NCwgNTQxNzAsIDU0MTg2LCA1NDIwMiwgNTQyMTgsIDU0MjM0LCA1NDI1MCwgCisgICAgNTQyNjYsIDU0MjgyLCA1NDI5OCwgNTQzMTQsIDU0MzMwLCA1NDM0NiwgNTQzNjIsIDU0Mzc4LCA1NDM5NCwgNTQ0MTAsIAorICAgIDU0NDI2LCA1NDQ0MiwgNTQ0NTgsIDU0NDc0LCA1NDQ5MCwgNTQ1MDYsIDU0NTIyLCA1NDUzOCwgNTQ1NTQsIDU0NTcwLCAKKyAgICA1NDU4NiwgNTQ2MDIsIDU0NjE4LCA1NDYzNCwgNTQ2NTAsIDU0NjY2LCA1NDY4MiwgNTQ2OTgsIDU0NzE0LCA1NDczMCwgCisgICAgNTQ3NDYsIDU0NzYyLCA1NDc3OCwgNTQ3OTQsIDU0ODEwLCA1NDgyNiwgNTQ4NDIsIDU0ODU4LCA1NDg3NCwgNTQ4OTAsIAorICAgIDU0OTA2LCA1NDkyMiwgNTQ5MzgsIDU0OTU0LCA1NDk3MCwgNTQ5ODYsIDU1MDAyLCA1NTAxOCwgNTUwMzQsIDU1MDUwLCAKKyAgICA1NTA2NiwgNTUwODIsIDU1MDk4LCA1NTExNCwgNTUxMzAsIDU1MTQ2LCA1NTE2MiwgNTUxNzgsIDU1MTk0LCA1NTIxMCwgCisgICAgNTUyMjYsIDU1MjQyLCA1NTI1OCwgNTUyNzQsIDU1MjkwLCA1NTMwNiwgNTUzMjIsIDU1MzM4LCA1NTM1NCwgNTUzNzAsIAorICAgIDU1Mzg2LCA1NTQwMiwgNTU0MTgsIDU1NDM0LCA1NTQ1MCwgNTU0NjYsIDU1NDgyLCA1NTQ5OCwgNTU1MTQsIDU1NTMwLCAKKyAgICA1NTU0NiwgNTU1NjIsIDU1NTc4LCA1NTU5NCwgNTU2MTAsIDU1NjI2LCA1NTY0MiwgNTU2NTgsIDU1Njc0LCA1NTY5MCwgCisgICAgNTU3MDYsIDU1NzIyLCA1NTczOCwgNTU3NTQsIDU1NzcwLCA1NTc4NiwgNTU4MDIsIDU1ODE4LCA1NTgzNCwgNTU4NTAsIAorICAgIDU1ODY2LCA1NTg4MiwgNTU4OTgsIDU1OTE0LCA1NTkzMCwgNTU5NDYsIDU1OTYyLCA1NTk3OCwgNTU5OTQsIDU2MDEwLCAKKyAgICA1NjAyNiwgNTYwNDIsIDU2MDU4LCA1NjA3NCwgNTYwOTAsIDU2MTA2LCA1NjEyMiwgNTYxMzgsIDU2MTU0LCA1NjE3MCwgCisgICAgNTYxODYsIDU2MjAyLCA1NjIxOCwgNTYyMzQsIDU2MjUwLCA1NjI2NiwgNTYyODIsIDU2Mjk4LCA1NjMxNCwgNTYzMzAsIAorICAgIDU2MzQ2LCA1NjM2MiwgNTYzNzgsIDU2Mzk0LCA1NjQxMCwgNTY0MjYsIDU2NDQyLCA1NjQ1OCwgNTY0NzQsIDU2NDkwLCAKKyAgICA1NjUwNiwgNTY1MjIsIDU2NTM4LCA1NjU1NCwgNTY1NzAsIDU2NTg2LCA1NjYwMiwgNTY2MTgsIDU2NjM0LCA1NjY1MCwgCisgICAgNTY2NjYsIDU2NjgyLCA1NjY5OCwgNTY3MTQsIDU2NzMwLCA1Njc0NiwgNTY3NjIsIDU2Nzc4LCA1Njc5NCwgNTY4MTAsIAorICAgIDU2ODI2LCA1Njg0MiwgNTY4NTgsIDU2ODc0LCA1Njg5MCwgNTY5MDYsIDU2OTIyLCA1NjkzOCwgNTY5NTQsIDU2OTcwLCAKKyAgICA1Njk4NiwgNTcwMDIsIDU3MDE4LCA1NzAzNCwgNTcwNTAsIDU3MDY2LCA1NzA4MiwgNTcwOTgsIDU3MTE0LCA1NzEzMCwgCisgICAgNTcxNDYsIDU3MTYyLCA1NzE3OCwgNTcxOTQsIDU3MjEwLCA1NzIyNiwgNTcyNDIsIDU3MjU4LCA1NzI3NCwgNTcyOTAsIAorICAgIDU3MzA2LCA1NzMyMiwgNTczMzgsIDU3MzU0LCA1NzM3MCwgNTczODYsIDU3NDAyLCA1NzQxOCwgNTc0MzQsIDU3NDUwLCAKKyAgICA1NzQ2NiwgNTc0ODIsIDU3NDk4LCA1NzUxNCwgNTc1MzAsIDU3NTQ2LCA1NzU2MiwgNTc1NzgsIDU3NTk0LCA1NzYxMCwgCisgICAgNTc2MjYsIDU3NjQyLCA1NzY1OCwgNTc2NzQsIDU3NjkwLCA1NzcwNiwgNTc3MjIsIDU3NzM4LCA1Nzc1NCwgNTc3NzAsIAorICAgIDU3Nzg2LCA1NzgwMiwgNTc4MTgsIDU3ODM0LCA1Nzg1MCwgNTc4NjYsIDU3ODgyLCA1Nzg5OCwgNTc5MTQsIDU3OTMwLCAKKyAgICA1Nzk0NiwgNTc5NjIsIDU3OTc4LCA1Nzk5NCwgNTgwMTAsIDU4MDI2LCA1ODA0MiwgNTgwNTgsIDU4MDc0LCA1ODA5MCwgCisgICAgNTgxMDYsIDU4MTIyLCA1ODEzOCwgNTgxNTQsIDU4MTcwLCA1ODE4NiwgNTgyMDIsIDU4MjE4LCA1ODIzNCwgNTgyNTAsIAorICAgIDU4MjY2LCA1ODI4MiwgNTgyOTgsIDU4MzE0LCA1ODMzMCwgNTgzNDYsIDU4MzYyLCA1ODM3OCwgNTgzOTQsIDU4NDEwLCAKKyAgICA1ODQyNiwgNTg0NDIsIDU4NDU4LCA1ODQ3NCwgNTg0OTAsIDU4NTA2LCA1ODUyMiwgNTg1MzgsIDU4NTU0LCA1ODU3MCwgCisgICAgNTg1ODYsIDU4NjAyLCA1ODYxOCwgNTg2MzQsIDU4NjUwLCA1ODY2NiwgNTg2ODIsIDU4Njk4LCA1ODcxNCwgNTg3MzAsIAorICAgIDU4NzQ2LCA1ODc2MiwgNTg3NzgsIDU4Nzk0LCA1ODgxMCwgNTg4MjYsIDU4ODQyLCA1ODg1OCwgNTg4NzQsIDU4ODkwLCAKKyAgICA1ODkwNiwgNTg5MjIsIDU4OTM4LCA1ODk1NCwgNTg5NzAsIDU4OTg2LCA1OTAwMiwgNTkwMTgsIDU5MDM0LCA1OTA1MCwgCisgICAgNTkwNjYsIDU5MDgyLCA1OTA5OCwgNTkxMTQsIDU5MTMwLCA1OTE0NiwgNTkxNjIsIDU5MTc4LCA1OTE5NCwgNTkyMTAsIAorICAgIDU5MjI2LCA1OTI0MiwgNTkyNTgsIDU5Mjc0LCA1OTI5MCwgNTkzMDYsIDU5MzIyLCA1OTMzOCwgNTkzNTQsIDU5MzcwLCAKKyAgICA1OTM4NiwgNTk0MDIsIDU5NDE4LCA1OTQzNCwgNTk0NTAsIDU5NDY2LCA1OTQ4MiwgNTk0OTgsIDU5NTE0LCA1OTUzMCwgCisgICAgNTk1NDYsIDU5NTYyLCA1OTU3OCwgNTk1OTQsIDU5NjEwLCA1OTYyNiwgNTk2NDIsIDU5NjU4LCA1OTY3NCwgNTk2OTAsIAorICAgIDU5NzA2LCA1OTcyMiwgNTk3MzgsIDU5NzU0LCA1OTc3MCwgNTk3ODYsIDU5ODAyLCA1OTgxOCwgNTk4MzQsIDU5ODUwLCAKKyAgICA1OTg2NiwgNTk4ODIsIDU5ODk4LCA1OTkxNCwgNTk5MzAsIDU5OTQ2LCA1OTk2MiwgNTk5NzgsIDU5OTk0LCA2MDAxMCwgCisgICAgNjAwMjYsIDYwMDQyLCA2MDA1OCwgNjAwNzQsIDYwMDkwLCA2MDEwNiwgNjAxMjIsIDYwMTM4LCA2MDE1NCwgNjAxNzAsIAorICAgIDYwMTg2LCA2MDIwMiwgNjAyMTgsIDYwMjM0LCA2MDI1MCwgNjAyNjYsIDYwMjgyLCA2MDI5OCwgNjAzMTQsIDYwMzMwLCAKKyAgICA2MDM0NiwgNjAzNjIsIDYwMzc4LCA2MDM5NCwgNjA0MTAsIDYwNDI2LCA2MDQ0MiwgNjA0NTgsIDYwNDc0LCA2MDQ5MCwgCisgICAgNjA1MDYsIDYwNTIyLCA2MDUzOCwgNjA1NTQsIDYwNTcwLCA2MDU4NiwgNjA2MDIsIDYwNjE4LCA2MDYzNCwgNjA2NTAsIAorICAgIDYwNjY2LCA2MDY4MiwgNjA2OTgsIDYwNzE0LCA2MDczMCwgNjA3NDYsIDYwNzYyLCA2MDc3OCwgNjA3OTQsIDYwODEwLCAKKyAgICA2MDgyNiwgNjA4NDIsIDYwODU4LCA2MDg3NCwgNjA4OTAsIDYwOTA2LCA2MDkyMiwgNjA5MzgsIDYwOTU0LCA2MDk3MCwgCisgICAgNjA5ODYsIDYxMDAyLCA2MTAxOCwgNjEwMzQsIDYxMDUwLCA2MTA2NiwgNjEwODIsIDYxMDk4LCA2MTExNCwgNjExMzAsIAorICAgIDYxMTQ2LCA2MTE2MiwgNjExNzgsIDYxMTkzLCAxNzY3MywgNjEyMDIsIDYxMjA3LCA2MTIxMywgNjEyMTksIDYxMjI5LCAKKyAgICA2MTIzNywgMTU3MDQsIDE2Mjg3LCAxMDQ0NSwgNjEyNTAsIDE1MDMsIDE1MDcsIDYxMjU4LCAzODkwLCAyODcxMywgNzM4NywgCisgICAgNjEyNjQsIDYxMjY5LCA2MTI3NCwgNjEyNzksIDYxMjg0LCA2MTI5MCwgNjEyOTUsIDYxMzAxLCA2MTMwNiwgNjEzMTIsIAorICAgIDYxMzE3LCA2MTMyMiwgNjEzMjcsIDYxMzMyLCA2MTMzOCwgNjEzNDMsIDYxMzQ4LCA2MTM1MywgNjEzNTgsIDYxMzYzLCAKKyAgICA2MTM2OCwgNjEzNzMsIDYxMzc5LCA2MTM4NCwgNjEzOTAsIDYxMzk3LCAyNTgxLCA2MTQwMiwgNjE0MDgsIDg3NTMsIAorICAgIDYxNDEyLCA2MTQxNywgNjE0MjQsIDYxNDMyLCA0NiwgNjE0MzYsIDYxNDQyLCA2MTQ0NywgNjE0NTIsIDYxNDU2LCA2MTQ2MSwgCisgICAgNjE0NjUsIDYxNDY5LCAxMTI0NCwgNjE0NzMsIDYxNDgzLCA2MTQ5NiwgNjE1MDcsIDYxNTIwLCA2MTUyNywgNjE1MzMsIAorICAgIDYxNTM4LCA2MTU0NCwgNjE1NTAsIDYxNTU2LCA2MTU2MSwgNjE1NjYsIDYxNTcxLCA2MTU3NiwgNjE1ODAsIDYxNTg1LCAKKyAgICA2MTU5MCwgNjE1OTUsIDYxNjAxLCA2MTYwNywgNjE2MTMsIDYxNjE4LCA2MTYyMiwgNjE2MjcsIDYxNjMyLCA2MTYzNiwgCisgICAgNjE2NDEsIDYxNjQ2LCA2MTY1MSwgNjE2NTUsIDExMjYwLCAxMTI3MSwgMTEyNzYsIDE1NDYsIDYxNjU5LCA2MTY2NSwgCisgICAgMTU1MSwgNjE2NzAsIDYxNjczLCAxNzEyMiwgNjE2NzgsIDYxNjg0LCA2MTY4OSwgMTU4MiwgNjE2OTUsIDE1ODgsIDE1OTQsIAorICAgIDExMzA2LCA2MTcwMCwgNjE3MDksIDYxNzE3LCA2MTcyNCwgNjE3MjgsIDYxNzM0LCA2MTczOSwgMzI0NjYsIDYxNzQ0LCAKKyAgICA2MTc1MSwgNjE3NTYsIDYxNzYwLCA2MTc2NCwgNjE3NzMsIDE1OTksIDE3MjE5LCA2MTc3OCwgNjE3ODIsIDE3MjMwLCAKKyAgICAxMTA1LCA2MTc4NiwgNjE3OTMsIDYxNzk4LCA2MTgwMiwgMTcyNjAsIDE2MDMsIDM5OTY0LCA2MTgwNSwgNjE4MTAsIAorICAgIDYxODIwLCA2MTgyOSwgNjE4MzQsIDYxODM4LCA2MTg0NCwgMTYwOCwgNDIwNTUsIDYxODQ5LCA2MTg1OCwgNjE4NjQsIAorICAgIDYxODY5LCA2MTg3NCwgMTE0NzQsIDExNDgwLCA2MTg4MCwgNjE4OTIsIDYxOTA5LCA2MTkyNiwgNjE5NDMsIDYxOTYwLCAKKyAgICA2MTk3NywgNjE5OTQsIDYyMDExLCA2MjAyOCwgNjIwNDUsIDYyMDYyLCA2MjA3OSwgNjIwOTYsIDYyMTEzLCA2MjEzMCwgCisgICAgNjIxNDcsIDYyMTY0LCA2MjE4MSwgNjIxOTgsIDYyMjE1LCA2MjIzMiwgNjIyNDksIDYyMjY2LCA2MjI4MywgNjIzMDAsIAorICAgIDYyMzE3LCA2MjMzNCwgNjIzNTEsIDYyMzY4LCA2MjM4NSwgNjI0MDIsIDYyNDE5LCA2MjQzNiwgNjI0NTMsIDYyNDcwLCAKKyAgICA2MjQ4NywgNjI1MDQsIDYyNTIxLCA2MjUzOCwgNjI1NTUsIDYyNTcyLCA2MjU4OSwgNjI2MDYsIDYyNjIzLCA2MjY0MCwgCisgICAgNjI2NTcsIDYyNjc0LCA2MjY5MSwgNjI3MDgsIDYyNzI1LCA2MjczNiwgNjI3NDEsIDE2MTMsIDYyNzQ1LCA2Mjc1MCwgCisgICAgNjI3NTYsIDYyNzYxLCA2Mjc2NiwgOTU5MSwgMTYxOCwgNjI3NzIsIDYyNzgxLCAyOTAyOSwgNjI3ODYsIDYyNzk3LCAKKyAgICAxMTQ5MSwgNjI4MDcsIDYyODEyLCA2MjgxOCwgNjI4MjMsIDYyODMwLCA2MjgzNiwgNjI4NDEsIDE2MjMsIDE3NTM1LCAKKyAgICA2Mjg0NiwgMTE1MDEsIDE2MjgsIDExNTA2LCA2Mjg1MiwgNjI4NTcsIDYyODYzLCA2Mjg2OCwgNjI4NzMsIDYyODc4LCAKKyAgICA2Mjg4MywgNjI4ODgsIDYyODkzLCA2Mjg5OCwgNjI5MDMsIDYyOTA5LCA2MjkxNSwgNjI5MjEsIDYyOTI2LCA2MjkzMCwgCisgICAgNjI5MzUsIDYyOTQwLCA2Mjk0NCwgNjI5NDksIDYyOTU0LCA2Mjk1OSwgNjI5NjQsIDYyOTY4LCA2Mjk3MywgNjI5NzksIAorICAgIDYyOTg0LCA2Mjk4OSwgNjI5OTMsIDYyOTk4LCA2MzAwMywgNjMwMDksIDYzMDE0LCA2MzAxOSwgNjMwMjUsIDYzMDMxLCAKKyAgICA2MzAzNiwgNjMwNDAsIDYzMDQ1LCA2MzA1MCwgNjMwNTUsIDYzMDU5LCA2MzA2NCwgNjMwNjksIDYzMDc0LCA2MzA4MCwgCisgICAgNjMwODYsIDYzMDkxLCA2MzA5NSwgNjMwOTksIDYzMTA0LCA2MzEwOSwgNjMxMTQsIDMwNTA0LCA2MzExOCwgNjMxMjMsIAorICAgIDYzMTI4LCA2MzEzNCwgNjMxMzksIDYzMTQ0LCA2MzE0OCwgNjMxNTMsIDYzMTU4LCA2MzE2NCwgNjMxNjksIDYzMTc0LCAKKyAgICA2MzE4MCwgNjMxODYsIDYzMTkxLCA2MzE5NSwgNjMyMDAsIDYzMjA1LCA2MzIwOSwgNjMyMTQsIDYzMjE5LCA2MzIyNCwgCisgICAgNjMyMzAsIDYzMjM2LCA2MzI0MSwgNjMyNDUsIDYzMjUwLCA2MzI1NSwgNjMyNTksIDYzMjY0LCA2MzI2OSwgNjMyNzQsIAorICAgIDYzMjc5LCA2MzI4MywgNjMyODYsIDYzMjg5LCA2MzI5NCwgMzMxNDcsIDYzMjk5LCA2MzMwNywgMTc2MDEsIDM3NzQsIAorICAgIDExNjA0LCA2MzMxMywgNjMzMjMsIDYzMzM4LCA2MzM0NiwgMTE2MDksIDYzMzU3LCA2MzM2MiwgNjMzNzMsIDYzMzg1LCAKKyAgICA2MzM5NywgNjM0MDksIDI3MTUsIDYzNDIxLCA2MzQyNiwgNjM0MzgsIDYzNDQyLCA2MzQ0OCwgNjM0NTQsIDYzNDU5LCAKKyAgICAxNjQ1LCAxNjgyNiwgNjM0NjgsIDYzNDczLCA0MjExNCwgNjM0NzcsIDYzNDgxLCA2MzQ4NiwgNjM0OTAsIDE3NjgxLCAKKyAgICA2MzQ5NSwgNjM0OTgsIDYzNTAzLCA2MzUxMSwgNjM1MTksIDE2NDksIDExNjQ1LCAxMTY1MSwgMTY1NCwgNjM1MjcsIAorICAgIDYzNTM0LCA2MzUzOSwgNjM1NDgsIDYzNTU4LCA2MzU2NSwgNjM1NzAsIDYzNTc1LCAxNjU5LCA2MzU4MiwgNjM1ODcsIAorICAgIDE3Nzk2LCA2MzU5MSwgNjM1OTYsIDYzNjAzLCA2MzYwOSwgNjM2MTMsIDYzNjI0LCA2MzYzNCwgMTc4MTgsIDk0ODUsIAorICAgIDk0OTIsIDYzNjQxLCAxNjY0LCA2MzY0NiwgNjM2NTIsIDYzNjYwLCA2MzY2NywgNjM2NzMsIDYzNjgwLCA2MzY5MiwgCisgICAgNjM2OTgsIDYzNzAzLCA2MzcxNSwgNjM3MjYsIDYzNzM1LCA2Mzc0NSwgMzg2OSwgMzIyNzEsIDMyMjgwLCAxNzg1OCwgCisgICAgMTY2OSwgMTY3MywgNjM3NTMsIDYzNzY0LCA2Mzc2OSwgMTY4MywgNjM3NzcsIDYzNzgyLCA2Mzc4NywgMTc5MTcsIDYzNzk5LCAKKyAgICA2MzgwMiwgNjM4MDgsIDYzODEzLCA2MzgyMSwgMTY4OCwgNjM4MjYsIDYzODMxLCA2MzgzOSwgNjM4NDcsIDYzODU0LCAKKyAgICA2Mzg2MywgNjM4NzEsIDYzODgwLCAxNjkzLCA2Mzg4NCwgMTY5OCwgMjIzMzAsIDYzODg5LCA2Mzg5NiwgMTc5OTEsIAorICAgIDYzOTA0LCA2MzkxMCwgNjM5MTUsIDYzOTIzLCA2MzkzMCwgNjM5MzgsIDE3MzA5LCA2Mzk0MywgMTE3OTcsIDYzOTUyLCAKKyAgICA2Mzk1OCwgNjM5NjMsIDYzOTcwLCA2Mzk3NywgNjM5ODMsIDE2OTkxLCA2Mzk5MywgNjM5OTksIDY0MDA0LCA2NDAxNSwgCisgICAgNjQwMjAsIDY0MDI4LCAxMTgxNCwgMTE4MTksIDY0MDM2LCA2NDA0MiwgNjQwNDYsIDY0MDU0LCAzOTM0LCAxODAzOCwgCisgICAgNDIyMDcsIDY0MDU5LCA2NDA2NSwgNjQwNzAsIDY0MDc4LCA2NDA4NSwgMTI3MjMsIDY0MDkwLCA2NDA5NiwgMTcwOSwgCisgICAgNjQxMDEsIDY0MTA0LCAxMTcyLCA2NDExMCwgNjQxMTUsIDY0MTIwLCA2NDEyNiwgNjQxMzEsIDY0MTM2LCA2NDE0MSwgCisgICAgNjQxNDYsIDY0MTUxLCA2NDE1NiwgMTcxOCwgOSwgNjQxNjIsIDY0MTY2LCA2NDE3MSwgNjQxNzUsIDY0MTc5LCA2NDE4MywgCisgICAgMzMzODcsIDY0MTg4LCAyNDI3NywgNjQxOTMsIDY0MTk4LCA2NDIwMiwgNjQyMDUsIDY0MjA5LCA2NDIxMywgNjQyMTgsIAorICAgIDY0MjIyLCA2NDIyNywgNjQyMzEsIDY0MjM3LCAzNjI4OCwgMzYyOTMsIDM2Mjk4LCA2NDI0MCwgNjQyNDcsIDY0MjUzLCAKKyAgICA2NDI2MSwgNDE4OTEsIDY0MjcxLCAzNjMwNCwgMzM2NTEsIDMzNDAyLCAzMzQwOCwgMzYzMjAsIDMzNDE0LCA2NDI3NiwgCisgICAgNjQyODEsIDMzNjg0LCA2NDI4NSwgNjQyODgsIDY0MjkyLCA2NDI5OSwgNjQzMDIsIDY0MzA3LCA2NDMxMiwgNjQzMTYsIAorICAgIDY0MzIwLCA2NDMyMywgNjQzMzMsIDY0MzQ1LCA2NDM1MiwgNjQzNTgsIDMzNDE5LCA2NDM2NSwgMzUxNDksIDY0MzY4LCAKKyAgICA4NzcwLCA5NDAsIDY0MzcxLCA2NDM3NSwgNjQzODAsIDM4MTIsIDY0Mzg0LCA2NDM4NywgMTQzNDMsIDY0Mzk0LCA2NDQwMSwgCisgICAgNjQ0MTQsIDY0NDIyLCA2NDQzMSwgNjQ0NDAsIDY0NDQ1LCA2NDQ1NSwgNjQ0NjgsIDY0NDgwLCA2NDQ4NywgNjQ0OTIsIAorICAgIDY0NTAxLCA2NDUxNCwgMzc4MTksIDY0NTMyLCA2NDUzNywgNjQ1NDQsIDY0NTUwLCA3NDYsIDY0NTU1LCA2NDU2MywgCisgICAgNjQ1NzAsIDI4NTM2LCA3MTAsIDY0NTc2LCA2NDU4MiwgNjQ1OTIsIDY0NTk4LCA2NDYwMywgMzM0MzgsIDYxODUsIDMzNDUyLCAKKyAgICA2NDYwNywgNjQ2MTcsIDY0NjIyLCA2NDYzMiwgNjQ2NDcsIDY0NjUzLCA2NDY1OSwgMzM0NjIsIDY0NjY0LCAzMjU4MywgCisgICAgNjQ2NjgsIDY0NjczLCA2NDY4MCwgNjQ2ODUsIDY0Njg5LCA2NDY5NCwgMTc4NjEsIDY0NzAxLCA2NDcwNiwgNjQ3MTAsIAorICAgIDYyMjYsIDMzNDg4LCA2NDcxNCwgNjQ3MjAsIDMxMCwgNjQ3MzAsIDY0NzM3LCA2NDc0NCwgNjQ3NDksIDY0NzU4LCA2MTgxNCwgCisgICAgNjQ3NjQsIDY0NzcyLCA2NDc3NiwgNjQ3ODAsIDY0Nzg0LCA2NDc4OCwgNjQ3OTMsIDY0Nzk3LCA2NDgwMywgNjQ4MTEsIAorICAgIDY0ODE2LCA2NDgyMSwgNjQ4MjYsIDY0ODMwLCA2NDgzNSwgNjQ4MzksIDY0ODQzLCA2NDg0OSwgNjQ4NTUsIDY0ODYwLCAKKyAgICA2NDg2NCwgNjQ4NjksIDMzNjEyLCA2NDg3MywgMzM2MTgsIDMzNjI0LCA2NDg3OCwgNjQ4ODQsIDY0ODkxLCA2NDg5NiwgCisgICAgNjQ5MDAsIDMyNjAwLCAxNzUyOCwgNjQ5MDMsIDY0OTA3LCA2NDkxMiwgNjQ5MTksIDY0OTI1LCA2NDkyOSwgNjQ5MzQsIAorICAgIDQxNTgzLCA2NDk0MCwgNjQ5NDQsIDY0OTUxLCA2NDk1NSwgNjQ5NjAsIDY0OTY2LCA2NDk3MiwgNjQ5NzgsIDY0OTkwLCAKKyAgICA2NDk5OSwgNjUwMDksIDY1MDE1LCA2NTAyMiwgNjUwMjcsIDY1MDMyLCA2NTAzNiwgNjUwMzksIDY1MDQ1LCA2NTA1MiwgCisgICAgNjUwNTcsIDY1MDYyLCA2NTA2OSwgNjUwNzYsIDY1MDgzLCA2NTA4OSwgNjUwOTQsIDY1MDk5LCA2NTEwNywgMzM2MjksIAorICAgIDI0NDMsIDY1MTEyLCA2NTExNywgNjUxMjMsIDY1MTI4LCA2NTEzNCwgNjUxMzksIDY1MTQ0LCA2NTE0OSwgNjUxNTUsIAorICAgIDMzNjUwLCA2NTE2MCwgNjUxNjYsIDY1MTcyLCA2NTE3OCwgMzM3MjAsIDY1MTgzLCA2NTE4OCwgNjUxOTMsIDMzNzMxLCAKKyAgICA2NTE5OCwgNjUyMDMsIDY1MjA4LCA2NTIxNCwgNjUyMjAsIDMzNzM2LCA2NTIyNSwgNjUyMzAsIDY1MjM1LCAzMzc5MSwgCisgICAgMzM3OTcsIDY1MjQwLCA2NTI0NSwgMzM4MDIsIDMzODI0LCAyOTI3OCwgMzM4MzAsIDMzODM0LCA2NTI1MCwgMTI0NjcsIAorICAgIDY1MjU0LCA2NTI2MiwgNjUyNjgsIDY1Mjc2LCA2NTI4MywgNjUyODksIDY1Mjk5LCA2NTMwNSwgNjUzMTIsIDExMTc5LCAKKyAgICAzMzg0OCwgNjUzMTgsIDY1MzMxLCA2NTM0MCwgNjUzNDYsIDY1MzU1LCA2NTM2MSwgMjQ1ODcsIDY1MzY4LCA2NTM3NSwgCisgICAgNjUzODUsIDY1Mzg4LCAzMzc5MiwgNjUzOTMsIDY1NDAwLCA2NTQwNSwgNjU0MDksIDY1NDEzLCA2NTQxOCwgNjU0MjIsIAorICAgIDYzMDYsIDY1NDI3LCA2NTQzMiwgNjU0MzcsIDM2MzgyLCAzNjM4NywgNjU0NDEsIDM2NDAxLCA2NTQ0NiwgMzY0MDYsIAorICAgIDY1NDUxLCA2NTQ1NywgMzY0MTgsIDM2NDI0LCAzNjQzMCwgNjU0NjIsIDY1NDY4LCAyMzU3NywgNjU0NzksIDY1NDgyLCAKKyAgICA2NTQ5NCwgNjU1MDIsIDMzODcxLCA2NTUwNiwgNjU1MTUsIDY1NTI1LCA2NTUzNCwgMzM4ODEsIDY1NTM5LCA2NTU0NiwgCisgICAgNjU1NTUsIDY1NTYxLCA2NTU2OSwgNjU1NzYsIDYyNzcsIDQ1NTksIDY1NTgxLCAzMzgwMywgNjU1ODcsIDY1NTkwLCAKKyAgICA2NTU5NiwgNjU2MDMsIDY1NjA4LCA2NTYxMywgMjQ0OTcsIDY1NjE3LCA2NTYyMywgNjU2MjksIDY1NjM0LCA2NTYzOSwgCisgICAgNjU2NDMsIDY1NjQ5LCA2NTY1NSwgMzUwNTUsIDk1MywgMzc0NjksIDM5MTk2LCAzOTIwMiwgMzM5MTIsIDMzOTE3LCAKKyAgICA2NTY2MCwgNjU2NjQsIDY1NjY4LCA2NTY3MSwgNjU2ODQsIDY1NjkwLCA2NTY5NCwgNjU2OTcsIDY1NzAyLCAzNTM3NiwgCisgICAgNjU3MDYsIDMyNjA1LCAyMjI4MCwgNjU3MTIsIDYyMDYsIDYyMTQsIDkzMjIsIDY1NzE1LCA2NTcyMCwgNjU3MjUsIDY1NzMwLCAKKyAgICA2NTczNSwgNjU3NDAsIDY1NzQ1LCA2NTc1MCwgNjU3NTUsIDY1NzYwLCA2NTc2NiwgNjU3NzEsIDY1Nzc2LCA2NTc4MiwgCisgICAgNjU3ODcsIDY1NzkyLCA2NTc5NywgNjU4MDIsIDY1ODA3LCA2NTgxMiwgNjU4MTgsIDY1ODIzLCA2NTgyOSwgNjU4MzQsIAorICAgIDY1ODM5LCA2NTg0NCwgNjU4NDksIDY1ODU0LCA2NTg1OSwgNjU4NjQsIDY1ODY5LCA2NTg3NCwgNjU4NzksIDY1ODg1LCAKKyAgICA2NTg5MCwgNjU4OTUsIDY1OTAwLCA2NTkwNSwgNjU5MTAsIDY1OTE1LCA2NTkyMSwgNjU5MjYsIDY1OTMxLCA2NTkzNiwgCisgICAgNjU5NDEsIDY1OTQ2LCA2NTk1MSwgNjU5NTYsIDY1OTYxLCA2NTk2NiwgNjU5NzIsIDY1OTc3LCA2NTk4MiwgNjU5ODcsIAorICAgIDY1OTkyLCA2NTk5OCwgNjYwMDQsIDY2MDA5LCA2NjAxNSwgNjYwMjAsIDY2MDI1LCA2NjAzMCwgNjYwMzUsIDY2MDQwLCAKKyAgICAxNDk2LCAyMjMsIDY2MDQ1LCA2NjA0OSwgNjYwNTMsIDY2MDU3LCAyNjI3MiwgNjYwNjEsIDY2MDY1LCA2NjA3MCwgNjYwNzQsIAorICAgIDY2MDc5LCA2NjA4MywgNjYwODgsIDY2MDkzLCA2NjA5OCwgNjYxMDIsIDY2MTA2LCA2NjExMSwgNjYxMTUsIDE0MDc2LCAKKyAgICA2NjEyMCwgNjYxMjQsIDY2MTMxLCA2NjE0MSwgMTYwMjQsIDY2MTUwLCA2NjE1OSwgNjYxNjMsIDY2MTY4LCA2NjE3MywgCisgICAgNjYxNzcsIDY2MTgxLCAyNjA2NiwgMzA1NCwgNjYxODUsIDY2MTkxLCAxODMwOSwgNjYxOTUsIDY2MjA0LCA2NjIxMiwgCisgICAgNjYyMTgsIDY2MjMwLCA2NjI0MiwgNjYyNDYsIDY2MjUxLCA2NjI1NSwgNjYyNjEsIDY2MjY3LCA2NjI3MiwgNjYyODIsIAorICAgIDY2MjkyLCA2NjI5OCwgNjYzMDMsIDY2MzA3LCA2NjMxMywgNjYzMTgsIDY2MzI1LCA2NjMzMSwgNjYzMzYsIDY2MzQ1LCAKKyAgICA2NjM1NCwgNjYzNjIsIDE2NDEyLCA2NjM2NiwgNjYzNzUsIDY2MzgzLCA2NjM5NSwgNjY0MDYsIDY2NDE3LCA2NjQyNiwgCisgICAgNjY0MzAsIDY2NDM5LCA2NjQ0NywgNjY0NTcsIDY2NDY1LCA2NjQ3MSwgNjY0NzYsIDY2NDgyLCA2NjQ4NywgNjY0OTgsIDg1LCAKKyAgICAzMjQxMCwgNjY1MDQsIDI3NDgyLCAyNzQ5MiwgNjY1MTAsIDY2NTE3LCA2NjUyMywgNjY1MjcsIDY2NTM3LCA2NjU0OCwgCisgICAgNjY1NTYsIDY2NTY1LCA2NjU3MCwgNjY1NzUsIDY2NTgwLCA2NjU4NCwgNjY1ODgsIDE4MjYzLCA2NjU5NiwgNjY2MDAsIAorICAgIDY2NjA2LCA2NjYxNiwgNjY2MjMsIDY2NjI5LCA2NjYzNSwgMzY0ODEsIDY2NjM5LCA2NjY0MSwgNjY2NDQsIDY2NjUwLCAKKyAgICA2NjY1NCwgNjY2NjQsIDY2NjcwLCA2NjY3NywgNjY2ODQsIDE0MDEzLCA2NjY5MiwgNjY2OTgsIDY2NzA3LCA2NjcxNiwgCisgICAgNjY3MjIsIDY2NzI4LCA2NjczNCwgNjY3MzksIDY2NzQ2LCA2Njc1MywgNjY3NTksIDY2NzY3LCA2Njc4MCwgNjY3ODksIAorICAgIDY2Nzk4LCA2NjgwMywgNjY4MDcsIDY2ODEzLCA2NjgxOSwgNjY4MjYsIDY2ODMzLCA2Njg0MCwgNjY4NDcsIDY2ODU0LCAKKyAgICA2Njg1OSwgNjY4NjMsIDY2ODY3LCA2Njg3MCwgNjY4ODAsIDY2ODg0LCA2Njg5NiwgNjY5MDUsIDY2OTA5LCA2NjkxNCwgCisgICAgNjY5MTgsIDY2OTI0LCA2NjkyOSwgNjY5MzYsIDY2OTQ1LCA2Njk1MywgNjY5NjEsIDY2OTY2LCA2Njk3MCwgNjY5NzUsIAorICAgIDY2OTgwLCA2Njk5MCwgNjY5OTgsIDY3MDAzLCA2NzAwNywgNjcwMTEsIDY3MDE3LCA2NzAyNSwgNjcwMzIsIDY3MDQ0LCAKKyAgICA2NzA1MiwgNjcwNjMsIDY3MDY5LCA2NzA3OSwgNjcwODUsIDY3MDg5LCA2NzA5NiwgNjcxMDIsIDY3MTA3LCA2NzExMSwgCisgICAgNjcxMTUsIDY3MTE5LCA2NzEyOCwgNjcxMzcsIDY3MTQ2LCA2NzE1MiwgNjcxNTgsIDY3MTY0LCA2NzE2OSwgNjcxNzYsIAorICAgIDY3MTgyLCA2NzE5MCwgNjcxOTcsIDEzMTU2LCA2NzIwMywgNjcyMDksIDY3MjEzLCAxNTAwOSwgNjcyMTcsIDY3MjIyLCAKKyAgICA2NzIzMiwgNjcyNDEsIDY3MjQ3LCA2NzI1MywgNjcyNjEsIDY3MjY4LCA2NzI3MiwgNjcyNzYsIDY3MjgyLCA2NzI5MCwgCisgICAgNjcyOTcsIDY3MzAzLCA2NzMxNCwgNjczMTgsIDY3MzIyLCA2NzMyNiwgNjczMjksIDY3MzM1LCA2NzM0MCwgNjczNDUsIAorICAgIDY3MzQ5LCA2NzM1MywgNjczNjIsIDY3MzcwLCA2NzM3NywgNjczODMsIDY3MzkwLCAyNTE1MiwgNDE2MzUsIDY3Mzk1LCAKKyAgICA2NzQwMywgNjc0MDcsIDY3NDExLCA2NzQxNCwgNjc0MjIsIDY3NDI5LCA2NzQzNSwgNjc0NDQsIDY3NDUyLCA2NzQ1OCwgCisgICAgNjc0NjMsIDY3NDY3LCA2NzQ3MiwgNjc0NzYsIDY3NDgwLCA2NzQ4NSwgNjc0OTQsIDY3NDk4LCA2NzUwNSwgMzkzMDUsIAorICAgIDY3NTA5LCA2NzUxNSwgNjc1MTksIDY3NTI3LCA2NzUzMywgNjc1MzgsIDY3NTQ5LCA2NzU1NywgNjc1NjMsIDIzNzIwLCAKKyAgICA2NzU3MiwgNjc1NzksIDY3NTg2LCA2NzU5MywgNjc2MDAsIDY3NjA3LCA0NDg4MSwgMTM4NTEsIDY3NjE0LCA2NzYyMSwgCisgICAgNjc2MjYsIDM2NTE3LCA2NDA0LCA2NzYzMiwgNjc2MzcsIDY3NjQyLCA2NzY0OCwgNjc2NTQsIDY3NjYwLCA2NzY2NSwgCisgICAgNjc2NzAsIDY3Njc1LCA2NzY4MCwgNjc2ODYsIDY3NjkxLCA2NzY5NywgNjc3MDIsIDY3NzA4LCA2NzcxMywgNjc3MTgsIAorICAgIDY3NzIzLCA2NzcyOCwgNjc3MzMsIDY3NzM4LCA2Nzc0MywgNjc3NDksIDY3NzU0LCA2Nzc2MCwgNjc3NjUsIDY3NzcwLCAKKyAgICA2Nzc3NSwgNjc3ODAsIDY3Nzg1LCA2Nzc5MCwgNjc3OTYsIDY3ODAxLCA2NzgwNiwgNjc4MTEsIDY3ODE2LCA2NzgyMSwgCisgICAgNjc4MjYsIDY3ODMxLCA2NzgzNiwgNjc4NDEsIDY3ODQ2LCA2Nzg1MiwgNjc4NTcsIDY3ODYyLCA2Nzg2NywgNjc4NzIsIAorICAgIDY3ODc3LCA2Nzg4MiwgNjc4ODcsIDY3ODkyLCA2Nzg5OCwgNjc5MDMsIDY3OTA4LCA2NzkxMywgNjc5MTgsIDY3OTIzLCAKKyAgICA2NzkyOCwgNjc5MzMsIDY3OTM4LCA2Nzk0MywgNjc5NDgsIDY3OTUzLCA2Nzk1OCwgNjc5NjQsIDE4MzksIDI0MCwgNDAwNjcsIAorICAgIDY3OTY5LCA2Nzk3MiwgNjc5NzcsIDY3OTgxLCA2Nzk4NCwgMzM5MSwgNjc5ODksIDY3OTk0LCA2Njk1NywgNjgwMDUsIAorICAgIDY4MDE1LCA2ODAyMiwgNjgwMzEsIDY4MDQ3LCA2ODA1NiwgNjgwNjYsIDY4MDc2LCA2ODA4NSwgNjgwOTMsIDY4MTA3LCAKKyAgICA2ODExNSwgNjgxMTksIDY4MTIyLCA2ODEyOSwgNjgxMzUsIDY4MTQ2LCA2ODE1OCwgNjgxNjksIDY4MTc4LCA2ODE4NSwgCisgICAgMTI3NywgMjQzODYsIDY4MTk1LCAyNjEwLCA2ODE5OSwgNjgyMDgsIDExMTksIDE4MjM2LCAyMTc5NCwgNjgyMTYsIDY4MjI0LCAKKyAgICA2ODIzOCwgNjgyNTEsIDY4MjU1LCA2ODI2MCwgNjgyNjUsIDY4MjcwLCA2ODI3NiwgNjgyODIsIDY4Mjg3LCA4NzYyLCAKKyAgICA2ODI5MiwgNjgyOTYsIDY4MzA0LCAxMTY0NiwgNjgzMDksIDY4MzE1LCA2ODMyNCwgNjgzMzIsIDE3MjEsIDExNjU4LCA4MzUsIAorICAgIDYzNDAsIDY4MzM2LCA2ODM0NSwgNjgzNTUsIDI0MDAsIDI4MjcxLCA2ODM2NCwgNjgzNzAsIDE3NzczLCAyODI4NiwgCisgICAgNjgzNzYsIDQxMDQsIDEyMDMyLCA2ODM4MiwgNjgzODksIDYzNzU5LCA2ODM5MywgNjgzOTcsIDY4NDAzLCA2ODQwOCwgCisgICAgNjg0MTMsIDQxMjgsIDE4MCwgMTQ5MTcsIDY4NDE4LCA2ODQzMCwgNjg0MzQsIDY4NDQwLCAyOTA0OSwgNjg0NDQsIDEyMDIwLCAKKyAgICAyNzUwLCA0LCA2ODQ0OSwgNjg0NTksIDY4NDcwLCA2ODQ3NiwgNjg0ODcsIDY4NDk0LCA2ODUwMCwgNjg1MDYsIDY4NTE0LCAKKyAgICA2ODUyMSwgNjg1MjcsIDY4NTM3LCA2ODU0NywgNjg1NTcsIDY4NTY2LCAyNDU3NCwgMTI4OSwgNjg1NzEsIDY4NTc1LCAKKyAgICA2ODU3OSwgNjg1ODUsIDY4NTg5LCAyNzczLCAyNzc5LCA4NzU5LCAyMjc1LCA2ODU5MywgNjg1OTcsIDY4NjA2LCA2ODYxNCwgCisgICAgNjg2MjUsIDY4NjMzLCA2ODY0MSwgNjg2NDcsIDY4NjUyLCA2ODY2MywgNjg2NzQsIDY4NjgyLCA2ODY4OCwgMTAxNzksIAorICAgIDY4NjkzLCA2ODcwMSwgNjg3MDUsIDY4NzA5LCA2ODcxNCwgNjg3MTgsIDY4NzMwLCAyOTQ1NiwgMTU5NzcsIDY4NzM3LCAKKyAgICA2ODc0NywgNjg3NTMsIDY4NzU5LCAxMDI4MSwgNjg3NjksIDY4NzgwLCA2ODc5MCwgNjg3OTksIDY4ODAzLCA2ODgxMCwgCisgICAgMTEyMSwgMjYwMywgNjg4MjAsIDY4ODI1LCA2ODgzMywgNjg4NDEsIDY4ODUyLCA2ODg1OSwgNjg4NzMsIDE0ODQ2LCA0NTMsIAorICAgIDY4ODgzLCA2ODg4NywgNjg4OTUsIDY4OTA0LCA2ODkxMiwgNjg5MTgsIDY4OTMyLCA2ODkzOSwgNjg5NDUsIDY4OTU0LCAKKyAgICA2ODk2MSwgNjg5NzEsIDY4OTc5LCA2ODk4NiwgNjg5OTQsIDY5MDAxLCAzOTQxLCAxNDMsIDY5MDA5LCA2OTAyMCwgNjkwMjQsIAorICAgIDY5MDM2LCA2OTA0MiwgMTIyMDIsIDE2NywgNjkwNDcsIDY5MDUyLCA2OTA1NiwgNjkwNjMsIDY5MDY5LCA2OTA3NywgCisgICAgNjkwODQsIDkwNjUsIDY5MDkxLCA2OTEwMCwgNjkxMDgsIDQwMTAsIDY5MTIxLCA0MDI3LCA2OTEyNSwgMjgyMywgNDk0LCAKKyAgICA2OTEzMCwgNjkxNDMsIDY5MTQ4LCAxODM4LCA3MzYsIDY5MTUyLCA0MDMxLCA2OTE2MCwgNjkxNjYsIDY5MTcwLCA4MTMsIAorICAgIDY5MTgwLCA2OTE4OSwgNjkxOTQsIDE1NzM4LCAxNTc0NSwgNDgyNDMsIDY5MTk4LCA0MDU2LCAzOTUxLCAxMzczNCwgCisgICAgNjkyMDYsIDY5MjEzLCA2OTIxOCwgMjQ2MzgsIDY5MjIyLCA2OTIyOSwgNjkyMzUsIDY5MjQwLCA2OTI0NSwgMTU3NTgsIAorICAgIDE2MSwgNjkyNTAsIDY5MjYyLCA2OTI2OCwgNjkyNzYsIDI4NDAsIDE3NTMsIDY5Mjg0LCA2OTI4NiwgNjkyOTEsIDY5Mjk2LCAKKyAgICA2OTMwMSwgNjkzMDcsIDY5MzEyLCA2OTMxNywgNjkzMjIsIDY5MzI3LCA2OTMzMiwgNjkzMzcsIDY5MzQzLCA2OTM0OCwgCisgICAgNjkzNTMsIDY5MzU4LCA2OTM2MywgNjkzNjgsIDY5MzczLCA2OTM3OCwgNjkzODMsIDY5Mzg5LCA2OTM5NCwgNjkzOTksIAorICAgIDY5NDA0LCA2OTQxMCwgNjk0MTUsIDY5NDIxLCA2OTQyNiwgNjk0MzEsIDY5NDM2LCA2OTQ0MSwgNjk0NDYsIDY5NDUxLCAKKyAgICA2OTQ1NiwgNjk0NjIsIDY5NDY3LCA2OTQ3MywgNjk0NzgsIDY5NDgzLCA2OTQ4OCwgNjk0OTMsIDY5NDk4LCA2OTUwMywgCisgICAgNjk1MDgsIDY5NTEzLCA2OTUxOSwgNjk1MjUsIDY5NTMwLCA2OTUzNSwgNjk1NDEsIDY5NTQ2LCA2OTU1MCwgNjk1NTQsIAorICAgIDY5NTU5LCA2OTU2NSwgNjk1NjksIDY5NTc1LCA2OTU4MCwgNjk1ODUsIDY5NTkxLCA2OTU5NiwgNjk2MDAsIDY5NjA1LCAKKyAgICA2OTYxMCwgNjk2MTQsIDY5NjE3LCA2OTYxOSwgNjk2MjMsIDY5NjI2LCA2OTYzMSwgNjk2MzUsIDY5NjQwLCA2OTY0NCwgCisgICAgNjk2NDgsIDY5NjUyLCA2OTY2MSwgNjk2NjUsIDM0MDk3LCA2OTY2OCwgMzQxMDIsIDY5Njc1LCA2OTY4MCwgMzQxMDcsIAorICAgIDY5Njg5LCA2OTY5OCwgMzQxMTMsIDY5NzAzLCAzNDExOCwgNjk3MTIsIDY5NzE3LCAxMjIzNCwgNjk3MjEsIDY5NzI2LCAKKyAgICA2OTczMSwgMzQxMjMsIDY5NzM1LCA0MzExNSwgNjk3MzksIDY5NzQyLCA2OTc0NiwgODQzMCwgNjk3NTIsIDY5NzU3LCAKKyAgICA2OTc2MSwgMzgyNywgMzQxMjgsIDY5NzY0LCA2OTc2OCwgNjk3NzEsIDY5Nzc2LCA2OTc4MCwgNjk3ODYsIDY5Nzk0LCAKKyAgICA2OTgwNywgNjk4MTYsIDY5ODIyLCA2OTgyNywgNjk4MzMsIDY5ODM3LCA2OTg0MywgNjk4NTEsIDY5ODU2LCA2OTg2MCwgCisgICAgNjk4NjcsIDY5ODczLCA2OTg4MSwgNjk4OTAsIDY5ODk4LCAzNDEzMSwgNjk5MDUsIDY5OTE1LCA2OTkyOCwgNjk5MzMsIAorICAgIDY5OTM4LCA2OTk0MiwgNjk5NTEsIDY5OTU3LCA2OTk2NCwgNjk5NzUsIDY5OTg3LCA2OTk5NCwgNzAwMDMsIDcwMDEyLCAKKyAgICA3MDAyMSwgNzAwMjgsIDcwMDM0LCA3MDA0MSwgNzAwNDksIDcwMDU2LCA3MDA2NCwgNzAwNzMsIDcwMDgxLCA3MDA4OCwgCisgICAgNzAwOTYsIDcwMTA1LCA3MDExMywgNzAxMjIsIDcwMTMyLCA3MDE0MSwgNzAxNDksIDcwMTU2LCA3MDE2NCwgNzAxNzMsIAorICAgIDcwMTgxLCA3MDE5MCwgNzAyMDAsIDcwMjA5LCA3MDIxNywgNzAyMjYsIDcwMjM2LCA3MDI0NSwgNzAyNTUsIDcwMjY2LCAKKyAgICA3MDI3NiwgNzAyODUsIDcwMjkzLCA3MDMwMCwgNzAzMDgsIDcwMzE3LCA3MDMyNSwgNzAzMzQsIDcwMzQ0LCA3MDM1MywgCisgICAgNzAzNjEsIDcwMzcwLCA3MDM4MCwgNzAzODksIDcwMzk5LCA3MDQxMCwgNzA0MjAsIDcwNDI5LCA3MDQzNywgNzA0NDYsIAorICAgIDcwNDU2LCA3MDQ2NSwgNzA0NzUsIDcwNDg2LCA3MDQ5NiwgNzA1MDUsIDcwNTE1LCA3MDUyNiwgNzA1MzYsIDcwNTQ3LCAKKyAgICA3MDU1OSwgNzA1NzAsIDcwNTgwLCA3MDU4OSwgNzA1OTcsIDcwNjA0LCA3MDYxMiwgNzA2MjEsIDcwNjI5LCA3MDYzOCwgCisgICAgNzA2NDgsIDcwNjU3LCA3MDY2NSwgNzA2NzQsIDcwNjg0LCA3MDY5MywgNzA3MDMsIDcwNzE0LCA3MDcyNCwgNzA3MzMsIAorICAgIDcwNzQxLCA3MDc1MCwgNzA3NjAsIDcwNzY5LCA3MDc3OSwgNzA3OTAsIDcwODAwLCA3MDgwOSwgNzA4MTksIDcwODMwLCAKKyAgICA3MDg0MCwgNzA4NTEsIDcwODYzLCA3MDg3NCwgNzA4ODQsIDcwODkzLCA3MDkwMSwgNzA5MTAsIDcwOTIwLCA3MDkyOSwgCisgICAgNzA5MzksIDcwOTUwLCA3MDk2MCwgNzA5NjksIDcwOTc5LCA3MDk5MCwgNzEwMDAsIDcxMDExLCA3MTAyMywgNzEwMzQsIAorICAgIDcxMDQ0LCA3MTA1MywgNzEwNjMsIDcxMDc0LCA3MTA4NCwgNzEwOTUsIDcxMTA3LCA3MTExOCwgNzExMjgsIDcxMTM5LCAKKyAgICA3MTE1MSwgNzExNjIsIDcxMTc0LCA3MTE4NywgNzExOTksIDcxMjEwLCA3MTIyMCwgNzEyMjksIDcxMjM3LCA3MTI0NCwgCisgICAgNzEyNTIsIDcxMjYxLCA3MTI2OSwgNzEyNzgsIDcxMjg4LCA3MTI5NywgNzEzMDUsIDcxMzE0LCA3MTMyNCwgNzEzMzMsIAorICAgIDcxMzQzLCA3MTM1NCwgNzEzNjQsIDcxMzczLCA3MTM4MSwgNzEzOTAsIDcxNDAwLCA3MTQwOSwgNzE0MTksIDcxNDMwLCAKKyAgICA3MTQ0MCwgNzE0NDksIDcxNDU5LCA3MTQ3MCwgNzE0ODAsIDcxNDkxLCA3MTUwMywgNzE1MTQsIDcxNTI0LCA3MTUzMywgCisgICAgNzE1NDEsIDcxNTUwLCA3MTU2MCwgNzE1NjksIDcxNTc5LCA3MTU5MCwgNzE2MDAsIDcxNjA5LCA3MTYxOSwgNzE2MzAsIAorICAgIDcxNjQwLCA3MTY1MSwgNzE2NjMsIDcxNjc0LCA3MTY4NCwgNzE2OTMsIDcxNzAzLCA3MTcxNCwgNzE3MjQsIDcxNzM1LCAKKyAgICA3MTc0NywgNzE3NTgsIDcxNzY4LCA3MTc3OSwgNzE3OTEsIDcxODAyLCA3MTgxNCwgNzE4MjcsIDcxODM5LCA3MTg1MCwgCisgICAgNzE4NjAsIDcxODY5LCA3MTg3NywgNzE4ODYsIDcxODk2LCA3MTkwNSwgNzE5MTUsIDcxOTI2LCA3MTkzNiwgNzE5NDUsIAorICAgIDcxOTU1LCA3MTk2NiwgNzE5NzYsIDcxOTg3LCA3MTk5OSwgNzIwMTAsIDcyMDIwLCA3MjAyOSwgNzIwMzksIDcyMDUwLCAKKyAgICA3MjA2MCwgNzIwNzEsIDcyMDgzLCA3MjA5NCwgNzIxMDQsIDcyMTE1LCA3MjEyNywgNzIxMzgsIDcyMTUwLCA3MjE2MywgCisgICAgNzIxNzUsIDcyMTg2LCA3MjE5NiwgNzIyMDUsIDcyMjE1LCA3MjIyNiwgNzIyMzYsIDcyMjQ3LCA3MjI1OSwgNzIyNzAsIAorICAgIDcyMjgwLCA3MjI5MSwgNzIzMDMsIDcyMzE0LCA3MjMyNiwgNzIzMzksIDcyMzUxLCA3MjM2MiwgNzIzNzIsIDcyMzgzLCAKKyAgICA3MjM5NSwgNzI0MDYsIDcyNDE4LCA3MjQzMSwgNzI0NDMsIDcyNDU0LCA3MjQ2NiwgNzI0NzksIDcyNDkxLCA3MjUwNCwgCisgICAgNzI1MTgsIDcyNTMxLCA3MjU0MywgNzI1NTQsIDcyNTY0LCA3MjU3MywgNzI1ODEsIDcyNTg4LCA3MjU5MywgODI2NiwgCisgICAgNzI2MDAsIDM0MTQxLCA3MjYwNSwgNzI2MTAsIDM0MTQ2LCA3MjYxNiwgMjE5MDIsIDM0MTUxLCA3MjYyMSwgNzI2MjcsIAorICAgIDcyNjM1LCA3MjY0MSwgNzI2NDcsIDcyNjU0LCA3MjY2MSwgNzI2NjYsIDcyNjcwLCA3MjY3NCwgNzI2NzcsIDcyNjgxLCAKKyAgICA3MjY5MCwgNzI2OTksIDcyNzA3LCA3MjcxMywgNzI3MjUsIDcyNzM2LCA3Mjc0MCwgMzExNiwgODI0MSwgNzI3NDUsIAorICAgIDcyNzQ4LCA3Mjc1MCwgNzI3NTQsIDcyNzU4LCA3Mjc2MiwgNzI3NjgsIDcyNzczLCAyNzEzNiwgNzI3NzgsIDcyNzgyLCAKKyAgICA3Mjc4NSwgNzI3OTAsIDcyNzk0LCA3MjgwMSwgNzI4MDcsIDcyODExLCA2MzYwLCA3MjgxNSwgMzQxNjgsIDcyODIwLCAKKyAgICA3MjgyNywgNzI4MzYsIDcyODQ0LCA3Mjg1NSwgNzI4NjMsIDcyODcyLCA3Mjg4MCwgNzI4ODcsIDcyODk0LCA3MjkwMCwgCisgICAgNzI5MTEsIDM0MTczLCA3MjkxNiwgNzI5MjcsIDcyOTM5LCA3Mjk0NywgNzI5NTgsIDcyOTY3LCA3Mjk3OCwgNzI5ODMsIAorICAgIDcyOTkxLCAyNTc2LCA3Mjk5NiwgMzU5NDEsIDczMDA5LCA3MzAxMywgNzMwMjUsIDczMDMzLCA3MzAzOCwgNzMwNDYsIAorICAgIDE4NDM3LCA3MzA1NywgNzMwNjMsIDczMDcwLCA3MzA3OCwgNzMwODQsIDM0MTgzLCA3MzA4OSwgNDA1MCwgNjEyMzMsIAorICAgIDczMDk2LCA3MzA5OSwgNzMxMDcsIDczMTIwLCA3MzEzMywgNzMxNDYsIDczMTU5LCA3MzE2NiwgNzMxNzcsIDczMTg2LCAKKyAgICA0NDY5OCwgNDQ3MDMsIDczMTkxLCA3MzE5NSwgNzMyMDMsIDczMjEwLCA3MzIxOSwgNzMyMjcsIDczMjMzLCA3MzI0MiwgCisgICAgNzMyNTAsIDczMjU4LCA3MzI2MiwgNzMyNzEsIDczMjgwLCA3MzI5MCwgNzMzMDMsIDczMzE2LCA3MzMyNiwgMzQxODgsIAorICAgIDczMzMyLCA3MzMzOSwgNzMzNDUsIDczMzUxLCAzNDE5NCwgNzMzNTYsIDczMzU5LCA3MzM2MywgNzMzNzEsIDczMzgwLCAKKyAgICA0NDQzNiwgNzMzODgsIDczMzk3LCA3MzQwNSwgNzM0MTIsIDczNDIwLCA3MzQzMCwgNzM0MzksIDczNDQ4LCA3MzQ1NywgCisgICAgNzM0NjUsIDczNDc2LCA3MzQ5MSwgNzM1MDEsIDk2NTYsIDIyNTcyLCA3MzUxMCwgNzM1MTUsIDczNTIwLCA3MzUyNCwgCisgICAgNzM1MjksIDczNTMzLCA3MzUzOCwgNzM1NDQsIDczNTQ5LCA3MzU1NCwgNzM1NjAsIDczNTY1LCA3MzU3MCwgMjI1MzcsIAorICAgIDczNTc1LCA3MzU4MiwgNzM1OTAsIDczNTk4LCA3MzYwNiwgNzM2MTEsIDczNjE4LCA3MzYyNSwgNzM2MzAsIDIyNTMsIAorICAgIDczNjM0LCA3MzYzOCwgNzM2NDYsIDczNjU0LCAzNDIxMSwgNzM2NjAsIDczNjY2LCA3MzY3OCwgNzM2ODQsIDczNjkxLCAKKyAgICA3MzY5NSwgNzM3MDIsIDczNzA3LCA3MzcxNCwgNzM3MjAsIDczNzI3LCA3MzczOCwgNzM3NDgsIDczNzU4LCA3Mzc3MCwgCisgICAgNzM3NzYsIDczNzg0LCA3Mzc5NCwgNzM4MDQsIDM0MjM4LCA3MzgxMywgNzM4MjIsIDczODI4LCA3Mzg0MCwgNzM4NTEsIAorICAgIDczODU4LCA3Mzg2MywgNzM4NjcsIDczODc1LCA3Mzg4MSwgNzM4ODYsIDczODkxLCA3Mzg5OCwgNzM5MDYsIDczOTE4LCAKKyAgICA3MzkyOCwgNzM5MzcsIDczOTQ2LCA3Mzk1MywgMzU3OTQsIDI0OTUzLCA3Mzk1OSwgNzM5NjQsIDczOTY4LCA3Mzk3MiwgCisgICAgNzM5NzcsIDczOTg1LCA3Mzk5MSwgNzQwMDIsIDc0MDE1LCA3NDAyMCwgNzQwMjcsIDM0MjQzLCA3NDAzMiwgNzQwNDQsIAorICAgIDc0MDUzLCA3NDA2MSwgNzQwNzEsIDc0MDgyLCA3NDA5NSwgNzQxMDIsIDc0MTExLCA3NDEyMCwgNzQxMjgsIDc0MTMzLCAKKyAgICA3NDEzOSwgMTQ4NSwgNzQxNDQsIDc0MTQ5LCA3NDE1NCwgNzQxNTksIDc0MTY1LCA3NDE3MCwgNzQxNzUsIDc0MTgxLCAKKyAgICA3NDE4NywgNzQxOTIsIDc0MTk2LCA3NDIwMSwgNzQyMDYsIDc0MjExLCA2MTc2OSwgNzQyMTYsIDc0MjIxLCA3NDIyNiwgCisgICAgNzQyMzEsIDc0MjM3LCA3NDI0MywgNzQyNDgsIDc0MjUyLCA3NDI1NywgNzQyNjIsIDc0MjY3LCA3NDI3MywgNzQyNzgsIAorICAgIDc0Mjg0LCA3NDI4OSwgNzQyOTQsIDc0Mjk5LCA3NDMwNCwgNzQzMDgsIDc0MzE0LCA3NDMxOSwgNzQzMjgsIDc0MzMzLCAKKyAgICA3NDMzOCwgNzQzNDMsIDc0MzQ4LCA3NDM1MiwgNzQzNTksIDc0MzY1LCA0MzE2LCAxODA4MywgMzA4MSwgNzQzNzAsIAorICAgIDc0Mzc0LCA3NDM3OSwgNzQzODMsIDc0Mzg3LCA3NDM5MSwgNDg0OTgsIDc0Mzk1LCA3NDMyMCwgNzQzOTcsIDc0NDA3LCAKKyAgICAzNDI1MiwgNzQ0MTAsIDc0NDE1LCA3NDQyNCwgNzQ0MzAsIDYzMjksIDM0MjU3LCA3NDQzNCwgNzQ0NDAsIDc0NDQ1LCAKKyAgICA3NDQ1MSwgNzQ0NTYsIDc0NDYwLCA3NDQ2NywgNzQ0NzIsIDc0NDgyLCA3NDQ5MSwgNzQ0OTUsIDc0NTAxLCA3NDUwNywgCisgICAgNzQ1MTMsIDc0NTE3LCA3NDUyNSwgNzQ1MzIsIDc0NTQwLCA3NDU0OCwgMzQyNjIsIDc0NTU1LCA3NDU1OCwgNzQ1NjUsIAorICAgIDc0NTcxLCA3NDU3NiwgNzQ1ODAsIDc0NTg2LCA3NDU5MywgNzQ1OTgsIDc0NjAyLCA3NDYxMSwgNzQ2MTksIDc0NjI1LCAKKyAgICA3NDYzMCwgMzQyNjcsIDc0NjM3LCA3NDY0NCwgNzQ2NTAsIDc0NjU1LCA3NDY2MSwgNzQ2NjgsIDc0Njc0LCAyMjI5MywgCisgICAgMjg3MzYsIDc0NjgwLCA3NDY4NSwgNzQ2OTEsIDc0Njk1LCA3NDcwNywgNzQzNTMsIDc0MzYwLCAyMjQ2OSwgNzQ3MTcsIAorICAgIDc0NzIyLCA3NDcyOSwgNzQ3MzUsIDc0NzQyLCA3NDc0OCwgNzQ3NTksIDc0NzY0LCA3NDc3MiwgOTM2MSwgNzQ3NzcsIAorICAgIDc0NzgwLCA3NDc4NiwgNzQ3OTAsIDc0Nzk0LCA3NDc5NywgNzQ4MDMsIDM0MDEwLCA0MzE3LCAxMDU5LCAxNDEzMCwgCisgICAgNzQ4MTAsIDc0ODE2LCA3NDgyMiwgNzQ4MjgsIDc0ODM0LCA3NDg0MCwgNzQ4NDYsIDc0ODUyLCA3NDg1OCwgNzQ4NjMsIAorICAgIDc0ODY4LCA3NDg3MywgNzQ4NzgsIDc0ODgzLCA3NDg4OCwgNzQ4OTMsIDc0ODk4LCA3NDkwMywgNzQ5MDgsIDc0OTEzLCAKKyAgICA3NDkxOCwgNzQ5MjMsIDc0OTI5LCA3NDkzNCwgNzQ5MzksIDc0OTQ1LCA3NDk1MCwgNzQ5NTUsIDc0OTYxLCA3NDk2NywgCisgICAgNzQ5NzMsIDc0OTc5LCA3NDk4NSwgNzQ5OTEsIDc0OTk3LCA3NTAwMywgNzUwMDksIDc1MDE0LCA3NTAxOSwgNzUwMjUsIAorICAgIDc1MDMwLCA3NTAzNSwgNzUwNDEsIDc1MDQ2LCA3NTA1MSwgNzUwNTYsIDc1MDYxLCA3NTA2NiwgNzUwNzEsIDc1MDc2LCAKKyAgICA3NTA4MSwgNzUwODYsIDc1MDkxLCA3NTA5NiwgNzUxMDEsIDc1MTA3LCA3NTExMiwgNzUxMTcsIDc1MTIyLCA3NTEyOCwgCisgICAgNzUxMzMsIDc1MTM4LCA3NTE0MywgNzUxNDgsIDc1MTU0LCA3NTE1OSwgNzUxNjQsIDc1MTY5LCA3NTE3NCwgNzUxNzksIAorICAgIDc1MTg0LCA3NTE4OSwgNzUxOTQsIDc1MTk5LCA3NTIwNCwgNzUyMDksIDc1MjE0LCA3NTIxOSwgNzUyMjQsIDc1MjI5LCAKKyAgICA3NTIzNCwgNzUyMzksIDc1MjQ0LCA3NTI0OSwgNzUyNTUsIDc1MjYwLCA3NTI2NSwgNzUyNzAsIDc1Mjc1LCA3NTI4MCwgCisgICAgNzUyODUsIDc1MjkwLCAxODcxLCAxNDcsIDc1Mjk1LCA3NTI5OSwgNzUzMDMsIDc1MzA4LCA3NTMxNiwgNzUzMjAsIDc1MzI3LCAKKyAgICA3NTMzNSwgNzUzMzksIDc1MzUyLCA3NTM2MCwgNzUzNjUsIDc1MzcwLCAyNzU0NSwgNzUzNzQsIDc1Mzc5LCA3NTM4MywgCisgICAgNzUzODgsIDc1MzkyLCA3NTQwMCwgNzU0MDQsIDIxOTEwLCA3NTQwOSwgNzU0MTMsIDY0MDUwLCA3NTQxNywgNzU0MjAsIAorICAgIDc1NDI4LCA3NTQzNiwgNzU0NDQsIDc1NDQ5LCA3NTQ1NCwgNzU0NjEsIDc1NDY3LCA3NTQ3MywgNzU0NzgsIDc1NDg1LCAKKyAgICA3NTQ5MCwgNzU0OTgsIDY4MjQzLCA3NTUwNSwgNzU1MTAsIDc1NTE1LCA3NTUxOSwgMTIzMDEsIDc1NTIzLCA3NTUyOCwgCisgICAgNzU1MzMsIDc1NTM3LCA3NTU0MCwgNzU1NDYsIDc1NTUwLCA3NTU2MCwgNzU1NjksIDc1NTczLCA3NTU3NiwgNzU1ODAsIAorICAgIDc1NTg3LCA3NTYwMCwgNzU2MDYsIDc1NjE0LCA3NTYyMywgNzU2MzQsIDc1NjQ1LCA3NTY1NiwgNzU2NjcsIDc1Njc2LCAKKyAgICA3NTY4MiwgNzU2OTEsIDc1Njk5LCA3NTcwOSwgNzU3MjIsIDc1NzI5LCA3NTc0MCwgNzU3NDYsIDc1NzUxLCA3NTc1NiwgCisgICAgNzU3NjIsIDc1NzY4LCA3NTc3OCwgNzU3ODcsIDc0MDM0LCA3NTc5NSwgNzU4MDEsIDc1ODA5LCA3NTgxNSwgNzU4MjIsIAorICAgIDc1ODMwLCA3NTgzMywgNzU4MzcsIDc1ODQxLCA3NTg0NCwgNzU4NTAsIDc1ODU2LCA3NTg2NCwgNzU4NzYsIDc1ODg4LCAKKyAgICA3NTg5NSwgNzU5MDAsIDc1OTA0LCA3NTkxNSwgNzU5MjMsIDc1OTMwLCA3NTk0MiwgNzU5NTAsIDc1OTU4LCA3NTk2NSwgCisgICAgNzU5NzEsIDc1OTgxLCA3NTk5MCwgNzU5OTUsIDc2MDA1LCA3NjAxNCwgNDM3MjgsIDc2MDIxLCA3NjAyNSwgNzYwMzAsIAorICAgIDc2MDM4LCA3NjA0NSwgNzYwNTEsIDc2MDU1LCA3NjA2NSwgNzYwNzYsIDc2MDg0LCA3NjA5MSwgNzYxMDMsIDc2MTE1LCAKKyAgICA3NjEyNCwgNzI5OTksIDc2MTMxLCA3NjE0MSwgNzYxNTIsIDc2MTY2LCA3NjE3NCwgNzYxODQsIDc2MTkxLCA3NjE5OSwgCisgICAgNzYyMTIsIDc2MjI0LCA3NjIzMywgNzYyNDEsIDc2MjUxLCA3NjI2MiwgNzYyNzQsIDc2MjgzLCA3NjI5MywgNzYzMDAsIAorICAgIDc2MzA5LCA3NjMyNCwgNzYzMzIsIDc2MzQyLCA3NjM1MSwgNzYzNTksIDc2MzcyLCA2MTIwMywgNzYzODcsIDc2Mzk3LCAKKyAgICA3NjQwNiwgNzY0MTgsIDc2NDI4LCA3NjQ0MCwgNzY0NTEsIDc2NDYyLCA3NjQ3MywgNzY0ODMsIDc2NDk0LCA3NjUwMiwgCisgICAgNzY1MDgsIDc2NTE4LCA3NjUyNiwgNzY1MzIsIDMwNDAwLCA3NjUzNywgNzY1NDMsIDc2NTQ4LCA3NjU1NSwgMTAxOTMsIAorICAgIDE4NDU3LCA3NjU2MSwgNzY1NzAsIDc2NTc1LCA3NjU3OSwgNzY1ODYsIDc2NTkyLCA3NjU5NywgNzY2MDIsIDc2NjEwLCAKKyAgICA3NjYxOCwgNzY2MjIsIDc2NjI1LCA3NjYyOCwgNzY2MzAsIDc2NjM3LCA3NjY0MywgNzY2NTQsIDc2NjU5LCA3NjY2MywgCisgICAgNzY2NzAsIDc2Njc2LCA3NjY4MSwgNzY2ODksIDY4NzgyLCA2ODc5MiwgNzY2OTUsIDc2NzAyLCA3NjcxMiwgMTExNjYsIAorICAgIDc2NzE5LCA3NjcyNCwgMzA2MTEsIDc2NzMzLCA3NjczOCwgNzY3NDUsIDc2NzU1LCA3Njc2MywgNzY3NzEsIDc2NzgwLCAKKyAgICA3Njc4NiwgNzY3OTIsIDc2Nzk5LCA3NjgwNiwgNzY4MTEsIDc2ODE1LCA3NjgyMywgNzY4MjgsIDc2ODMzLCA3Njg0MiwgCisgICAgNzY4NTAsIDc2ODU3LCA3Njg2MiwgNzY4NjYsIDc2ODc1LCA3Njg4MSwgNzY4ODQsIDc2ODg4LCA3Njg5NywgNzY5MDcsIAorICAgIDc1MzQ3LCA3NjkxNiwgNzY5MjQsIDc2OTI4LCA3NjkzNCwgNzY5NDUsIDc2OTU1LCAxODQ2NiwgNzY5NjYsIDc2OTc0LCAKKyAgICA3Njk4MiwgMTg0NzgsIDc2OTg5LCA3Njk5MywgNzcwMDIsIDc3MDA5LCA3NzAxMiwgMjg2MTQsIDc3MDE1LCA3NzAxOSwgCisgICAgNzcwMjQsIDc3MDQxLCA3NzA1MywgMTExMjQsIDc3MDY1LCA3NzA3MCwgNzcwNzUsIDc3MDgwLCAyMTk4MywgNzcwODQsIAorICAgIDc3MDg5LCA3NzA5NCwgNzcxMDAsIDc3MTA1LCA2MDA4LCA3NzExMCwgMjE5ODcsIDc3MTE1LCA3NzEyMCwgNzcxMjYsIAorICAgIDc3MTMzLCA3NzEzOCwgNzcxNDMsIDc3MTQ5LCA3NzE1NSwgNzcxNjEsIDc3MTY2LCA3NzE3MiwgNzcxNzYsIDc3MTkwLCAKKyAgICA3NzE5OCwgNzcyMDYsIDc3MjEyLCA3NzIxNywgNzcyMjQsIDc3MjM0LCA3NzI0MywgNzcyNDgsIDc3MjUzLCA3NzI1OCwgCisgICAgNzcyNjYsIDc3MjcxLCA3NzI3NywgNzcyODIsIDc3MjkxLCA2Mjg0OCwgNzcyOTYsIDc3Mjk5LCA3NzMxNywgNzczMzYsIAorICAgIDc3MzQ5LCA3NzM2MywgNzczNzksIDc3Mzg2LCA3NzM5MywgNzc0MDIsIDc3NDA5LCA3NzQxNSwgNzc0MjIsIDc3NDI3LCAKKyAgICA3NzQzMywgNzc0MzksIDc3NDQ3LCA3NzQ1MywgNzc0NTgsIDc3NDYzLCA3NzQ3OSwgMTExMzcsIDc3NDkzLCA3NzUwMCwgCisgICAgNzc1MDgsIDc3NTE0LCA3NzUxOCwgNzc1MjEsIDc3NTI2LCA3NzUzMSwgNzc1MzgsIDc3NTQzLCA3NzU1MiwgNzc1NTcsIAorICAgIDc3NTYzLCA3NzU2OSwgNzc1NzgsIDc3NTg3LCA3NzU5MiwgNzc1OTYsIDc3NjA0LCA3NzYxMywgMTIzMzAsIDc3NjIyLCAKKyAgICA3NzYzMCwgNzc2MzYsIDc3NjQxLCA3NzY0OCwgNzc2NTQsIDEyMzQxLCA3NzY1OSwgNzc2NjIsIDc3NjY3LCAzNDI5NCwgCisgICAgNzc2NzcsIDc3Njg2LCA3NzY5MSwgNzc2OTcsIDc3NzAyLCA3NzcxMCwgNzc3MTcsIDc3NzI4LCA3NzczOCwgNzc3NDMsIAorICAgIDc3NzUxLCA2ODE3MSwgNzc3NTYsIDc3NzYyLCA3Nzc2NywgNzc3NzQsIDc3NzgzLCA3Nzc5MSwgNzc3OTcsIDc3ODAzLCAKKyAgICA3NzgxMCwgNzc4MTYsIDc3ODIwLCAxNzg3OSwgMzA5MCwgNzc4MjUsIDc3ODI5LCA3NzgzMywgNzc4MzksIDc3ODQ4LCAKKyAgICA3Nzg1NCwgNzc4NjEsIDc3ODY1LCA3Nzg4NiwgNzc5MDgsIDc3OTI0LCA3Nzk0MSwgNzc5NjAsIDc3OTY5LCA3Nzk3OSwgCisgICAgNzc5ODcsIDc3OTk0LCA3ODAwMSwgNzgwMDcsIDI4NDg2LCA3ODAyMSwgNzgwMjUsIDc4MDMxLCA3ODAzOSwgNzgwNTEsIAorICAgIDc4MDU3LCA3ODA2NSwgNzgwNzAsIDc4MDc1LCA3ODA3OSwgNzgwODcsIDc4MDk0LCA3ODA5OCwgNzgxMDQsIDc4MTEwLCAKKyAgICA3ODExNSwgMzY3NCwgNDQ4OTgsIDc4MTIxLCA3ODEyNSwgNzgxMjksIDc4MTMzLCA3ODEzOCwgNzgxNDMsIDc4MTQ4LCAKKyAgICA3ODE1NCwgNzgxNjAsIDc4MTY2LCA3ODE3MywgNzgxNzksIDc4MTg2LCA3ODE5MiwgNzgxOTgsIDc4MjAzLCA3ODIwOSwgCisgICAgNzgyMTQsIDc4MjE4LCA3ODIyMywgNzgyMjcsIDc4MjMyLCA0NDkxMywgNzgyMzYsIDc4MjQxLCA3ODI0OSwgNzgyNTMsIAorICAgIDc4MjU4LCA3ODI2NSwgNzgyNzQsIDc4MjgwLCA3ODI4OSwgNzgyOTMsIDc4MzAwLCA3ODMwNCwgNzgzMDcsIDc4MzE0LCAKKyAgICA3ODMyMCwgNzgzMjksIDc4MzM5LCA3ODM0NCwgNzgzNDgsIDc4MzU2LCA3ODM2NSwgNzgzNjksIDc4Mzc3LCA3ODM4MywgCisgICAgNzgzODgsIDc4MzkzLCA3ODM5OSwgNzg0MDUsIDc4NDEwLCA3ODQxNCwgNzg0MjAsIDc4NDI1LCA3ODQyOSwgNzg0MzIsIAorICAgIDc4NDM3LCA3ODQ0NSwgNzg0NTUsIDc4NDYxLCA3ODQ2NiwgNzg0NzYsIDQyMjMxLCA3ODQ4NCwgNzg0OTYsIDc4NTAwLCAKKyAgICA3ODUwNiwgNzg1MTgsIDc4NTI5LCA3ODUzNiwgNzg1NDIsIDc4NTQ5LCA3ODU1NiwgNzg1NjgsIDc4NTc1LCA3ODU4MSwgCisgICAgMjIwNjEsIDc4NTg1LCA3ODU5MywgNzg1OTksIDc4NjA2LCA3ODYxMiwgNzg2MTgsIDc4NjI0LCA3ODYyOSwgNzg2MzQsIAorICAgIDc4NjM5LCA3ODY0OCwgNzg2NTYsIDc4NjY3LCA3MjI1LCA3ODY3MiwgMTczMjgsIDc4Njc4LCA3ODY4MiwgNzg2ODYsIAorICAgIDc4NjkwLCA3ODY5OCwgNzg3MDcsIDc4NzExLCA3ODcxOCwgNzg3MjcsIDc4NzM1LCA3ODc0OCwgNzg3NTQsIDc4MjI4LCAKKyAgICAzMTQ5NSwgNzg3NTksIDc4NzYxLCA3ODc2NiwgNzg3NzEsIDc4Nzc2LCA3ODc4MSwgNzg3ODYsIDc4NzkxLCA3ODc5NiwgCisgICAgNzg4MDEsIDc4ODA2LCA3ODgxMSwgNzg4MTYsIDc4ODIxLCA3ODgyNiwgNzg4MzEsIDc4ODM3LCA3ODg0MiwgNzg4NDcsIAorICAgIDc4ODUyLCA3ODg1NywgNzg4NjIsIDc4ODY3LCA3ODg3MiwgNzg4NzcsIDc4ODgzLCA3ODg4OSwgNzg4OTUsIDc4OTAwLCAKKyAgICA3ODkwNSwgNzg5MTcsIDc4OTIyLCAxODc3LCA0NCwgNzg5MjcsIDc4OTMyLCAzNDMwMCwgNzg5MzYsIDM0MzA1LCAzNDMxMCwgCisgICAgMzQzMTYsIDM0MzIxLCA3ODk0MCwgMzQzMjYsIDIzMDg4LCA3ODk2MiwgNzg5NjYsIDc4OTcwLCA3ODk3NSwgNzg5NzksIAorICAgIDM0MzMwLCA3ODk4MywgNzg5OTEsIDc4OTk4LCAzNDMzNSwgNzkwMDQsIDc5MDA3LCA3OTAxMiwgNzkwMTYsIDc5MDI1LCAKKyAgICAxMDAxOCwgNzkwMzMsIDM0MzQwLCAyMjk1MCwgNzkwMzYsIDc5MDQwLCAxNDExLCA3OTA0NSwgMzQzNTEsIDc5MDQ4LCAKKyAgICA3OTA1MywgMjY5MjEsIDI2OTMxLCAzNjk1NywgNzkwNTgsIDc5MDYzLCA3OTA2OCwgNzkwNzMsIDc5MDc5LCA3OTA4NCwgCisgICAgNzkwOTMsIDc5MDk4LCA3OTEwNywgNzkxMTUsIDc5MTIyLCA3OTEyOCwgNzkxMzMsIDc5MTM4LCA3OTE0MywgNzkxNTMsIAorICAgIDc5MTYyLCA3OTE3MCwgNzkxNzUsIDc5MTgzLCA3OTE4NywgNzkxOTUsIDc5MTk5LCA3OTIwNiwgNzkyMTQsIDM0MTU5LCAKKyAgICAzOTkyMiwgNzkyMjEsIDc5MjI3LCA3OTIzMiwgNzkyMzcsIDEyNzAzLCAyOTY3MSwgNzkyNDIsIDc5MjQ3LCA3OTI1NCwgCisgICAgNzkyNjAsIDc5MjY1LCA3OTI3MywgNzkyODMsIDc5MjkzLCA3OTI5OSwgNzkzMDQsIDc5MzEwLCAxODQ4OCwgNzkzMTcsIAorICAgIDM3ODMyLCA3OTMzMCwgNzkzMzUsIDc5MzQxLCAzMjQ4MiwgNzkzNTQsIDc5MzYwLCA3OTM2NCwgNzkzNzMsIDc5MzgwLCAKKyAgICA3OTM4NiwgNzkzOTQsIDc5NDAzLCA3OTQxMCwgNzk0MTYsIDc5NDE5LCA3OTQyMywgNzk0MjcsIDI3MDYyLCA3OTQzMSwgCisgICAgNzk0MzgsIDc5NDQ0LCA3OTQ1MiwgNzk0NTcsIDI1MTAwLCA3OTQ2MywgNzk0NjYsIDc5NDc0LCA3OTQ4MSwgNzk0ODksIAorICAgIDc5NTAyLCA3OTUxNiwgNzk1MjMsIDc5NTI5LCA3OTUzNiwgNzk1NDIsIDM0MzY1LCA3OTU0NiwgNzk1NTMsIDc5NTYxLCAKKyAgICA3OTU2OSwgNzk1NzUsIDM0MzcwLCA3OTU4MywgNzk1ODksIDc5NTk0LCA3OTYwNCwgNzk2MTAsIDc5NjE5LCAzMjI4OCwgCisgICAgMzYzODgsIDc5NjI3LCA3OTYzMiwgNzk2MzcsIDc5NjQxLCA3OTY0NiwgNzk2NTAsIDc5NjU4LCAxNTczMCwgNDIyNDQsIAorICAgIDc5NjYzLCA3OTY2OCwgMzQzNzUsIDY1NDA3LCA3OTY3MiwgNzk2NzcsIDc5NjgxLCA3OTY4OCwgNzk2OTcsIDc5NzA1LCAKKyAgICA3OTcxMSwgNzk3MTYsIDc5NzIyLCA3OTcyOSwgNzk3MzUsIDc5NzQwLCA3OTc0NSwgNzk3NTYsIDc5NzY1LCA3OTc3NywgCisgICAgNzk3OTIsIDM0NjQyLCA3OTc5OCwgMTc0NDcsIDM0Mzc5LCA3OTgwMiwgNzk4MDksIDI1MjE2LCA3OTgxNSwgNzk4MjIsIAorICAgIDc5ODMxLCA3OTgzOCwgNzk4NDcsIDc5ODUzLCA3OTg1OCwgNzk4NjYsIDc5ODcyLCAzNDM4OSwgNzk4NzcsIDc5ODg2LCAKKyAgICA3ODUyNCwgNzk4OTUsIDc5OTAyLCA3OTkwOCwgNzk5MTQsIDc5OTIzLCA3OTkzMywgNzk5NDEsIDc5OTQ4LCA3OTk1MiwgCisgICAgMzQzOTQsIDc5OTU1LCAzNDQwMCwgMzQ0MDYsIDc5OTYwLCA3OTk2OCwgNzk5NzYsIDc5OTg2LCA3OTk5NSwgODAwMDMsIAorICAgIDgwMDEwLCA4MDAyMCwgMzQ0MTEsIDgwMDI0LCA4MDAyNiwgODAwMzAsIDgwMDM1LCA4MDAzOSwgODAwNDMsIDgwMDQ5LCAKKyAgICA4MDA1NCwgODAwNTgsIDgwMDY5LCA4MDA3NCwgODAwNzksIDMwOTUsIDgwMDgzLCA4MDA5MCwgODAwOTQsIDgwMTAzLCAKKyAgICA4MDExMSwgODAxMTgsIDgwMTIzLCA4MDEyOCwgNjU0NTgsIDgwMTMyLCA4MDEzNSwgODAxNDEsIDgwMTQ5LCA4MDE1NSwgCisgICAgODAxNTksIDgwMTY0LCA4MDE3MSwgODAxNzYsIDgwMTgwLCA4MDE4NiwgMzY0MTksIDgwMTkxLCA4MDE5NCwgODAxOTksIAorICAgIDgwMjAzLCA4MDIwOCwgODAyMTUsIDgwMjIwLCA4MDIyNCwgNDA4MTYsIDgwMjMyLCAyNjk0MCwgMjY5NDksIDgwMjM4LCAKKyAgICA4MDI0NCwgODAyNTAsIDgwMjU1LCA4MDI1OSwgODAyNjIsIDgwMjcyLCA4MDI4MSwgODAyODYsIDgwMjkyLCA4MDI5OSwgCisgICAgODAzMDUsIDgwMzA5LCA4MDMxNywgODAzMjIsIDM2NDI1LCA3NTU0MiwgODAzMjYsIDgwMzM0LCA4MDM0MCwgODAzNDcsIAorICAgIDgwMzUyLCA4MDM1NiwgODAzNjEsIDYxNDE5LCA4MDM2NywgMzY0MzEsIDgwMzcyLCA4MDM3NywgODAzODEsIDgwMzg2LCAKKyAgICA4MDM5MSwgODAzOTYsIDgwNDAwLCA4MDQwNSwgODA0MTAsIDgwNDE2LCA4MDQyMSwgODA0MjYsIDgwNDMyLCA4MDQzOCwgCisgICAgODA0NDMsIDgwNDQ3LCA4MDQ1MiwgODA0NTcsIDgwNDYyLCA4MDQ2NiwgMjUyMTUsIDgwNDcxLCA4MDQ3NiwgODA0ODIsIAorICAgIDgwNDg4LCA4MDQ5NCwgODA0OTksIDgwNTAzLCA4MDUwOCwgODA1MTMsIDgwNTE4LCA4MDUyMiwgODA1MjcsIDgwNTMyLCAKKyAgICA4MDUzNywgODA1NDIsIDQ1MTY4LCA4MDU0NiwgMzQ0MTksIDgwNTU0LCA4MDU1OCwgODA1NjYsIDgwNTc0LCA4MDU4NSwgCisgICAgODA1OTAsIDgwNTk0LCAyMzQyOCwgODA1OTksIDgwNjA1LCA4MDYxMCwgODA2MjAsIDgwNjI3LCA4MDYzMiwgODA2NDAsIAorICAgIDgwNjQ5LCA4MDY1NCwgODA2NTgsIDgwNjYzLCA4MDY3MSwgODA2NzksIDgwNjg2LCA2ODQyNCwgODA2OTIsIDgwNzAwLCAKKyAgICA4MDcwNywgODA3MTgsIDgwNzI0LCA4MDczMCwgMzQ0MjksIDgwNzMzLCA4MDc0MCwgODA3NDgsIDgwNzUzLCA0MjQ0NywgCisgICAgODA3NTcsIDgwNzYyLCA4MDc2OSwgODA3NzQsIDkyMzksIDgwNzc4LCA4MDc4NiwgODA3OTMsIDgwODAwLCA4MDgwOSwgCisgICAgODA4MTYsIDgwODIyLCA4MDgzNiwgMTA0NzMsIDgwODQ0LCA4MDg1MCwgODA4NTQsIDgwODU3LCA4MDg2NSwgODA4NzIsIAorICAgIDgwODc3LCA4MDg5MCwgODA4OTcsIDgwOTAxLCA4MDkwNiwgODA5MTMsIDgwOTE4LCA2MzkzNCwgODA5MjMsIDgwOTI2LCAKKyAgICA4MDkzMywgODA5MzksIDgwOTQzLCA4MDk1MSwgODA5NjAsIDgwOTcwLCA4MDk4MCwgODA5ODksIDgxMDAwLCA4MTAwOCwgCisgICAgODEwMTksIDgxMDI0LCA4MTAyOCwgODEwMzMsIDgxMDM3LCAzNzA4OCwgODEwNDUsIDIyMzU2LCAzNzA5NywgODEwNTAsIAorICAgIDgxMDU1LCA4MTA2MCwgODEwNjUsIDgxMDcwLCA4MTA3NSwgODEwODAsIDgxMDg0LCA4MTA4OSwgODEwOTQsIDgxMDk5LCAKKyAgICA4MTEwNCwgODExMDksIDgxMTE0LCA4MTExOCwgODExMjMsIDgxMTI4LCA4MTEzMiwgODExMzYsIDgxMTQwLCA4MTE0NCwgCisgICAgODExNDksIDgxMTU0LCA4MTE1OCwgODExNjMsIDgxMTY3LCA4MTE3MSwgODExNzYsIDgxMTgxLCA4MTE4NiwgODExOTEsIAorICAgIDgxMTk1LCA4MTIwMCwgODEyMDUsIDgxMjA5LCA4MTIxNCwgODEyMTksIDgxMjI0LCA4MTIyOSwgODEyMzQsIDgxMjM5LCAKKyAgICA4MTI0NCwgODEyNDksIDgxMjU0LCA4MTI1OSwgODEyNjQsIDgxMjY5LCA4MTI3NCwgODEyNzksIDgxMjg0LCA4MTI4OSwgCisgICAgODEyOTQsIDgxMjk5LCA4MTMwNCwgODEzMDksIDgxMzEzLCA4MTMxOCwgODEzMjMsIDgxMzI4LCA4MTMzMywgODEzMzgsIAorICAgIDgxMzQzLCA4MTM0OCwgODEzNTMsIDgxMzU4LCA4MTM2MywgODEzNjgsIDgxMzcyLCA4MTM3NywgODEzODEsIDgxMzg2LCAKKyAgICA4MTM5MSwgODEzOTYsIDgxNDAxLCA4MTQwNiwgODE0MTEsIDgxNDE2LCA4MTQyMSwgODE0MjYsIDgxNDMwLCA4MTQzNCwgCisgICAgODE0MzksIDgxNDQ0LCA4MTQ0OCwgODE0NTMsIDgxNDU4LCA4MTQ2MiwgODE0NjcsIDgxNDcyLCA4MTQ3NywgODE0ODIsIAorICAgIDgxNDg2LCA4MTQ5MSwgODE0OTYsIDgxNTAwLCA4MTUwNSwgODE1MDksIDgxNTEzLCA4MTUxNywgODE1MjEsIDgxNTI2LCAKKyAgICA4MTUzMCwgODE1MzQsIDgxNTM4LCA4MTU0MiwgODE1NDYsIDgxNTUwLCA4MTU1NCwgODE1NTgsIDgxNTYyLCA4MTU2NywgCisgICAgODE1NzIsIDgxNTc3LCA4MTU4MiwgODE1ODcsIDgxNTkyLCA4MTU5NywgODE2MDIsIDgxNjA3LCA4MTYxMiwgODE2MTYsIAorICAgIDgxNjIwLCA4MTYyNCwgODE2MjgsIDgxNjMyLCA4MTYzNiwgODE2NDEsIDgxNjQ1LCA4MTY1MCwgODE2NTQsIDgxNjU5LCAKKyAgICA4MTY2NCwgODE2NjgsIDgxNjcyLCA4MTY3NywgODE2ODEsIDgxNjg1LCA4MTY4OSwgODE2OTMsIDgxNjk3LCA4MTcwMSwgCisgICAgODE3MDUsIDgxNzA5LCA4MTcxMywgODE3MTcsIDgxNzIxLCA4MTcyNSwgODE3MjksIDgxNzMzLCA4MTczOCwgODE3NDMsIAorICAgIDgxNzQ3LCA4MTc1MSwgODE3NTUsIDgxNzU5LCA4MTc2MywgODE3NjcsIDgxNzcyLCA4MTc3NiwgODE3ODAsIDgxNzg0LCAKKyAgICA4MTc4OCwgODE3OTIsIDgxNzk2LCA4MTgwMSwgODE4MDUsIDgxODEwLCA4MTgxNCwgODE4MTgsIDgxODIyLCA4MTgyNiwgCisgICAgODE4MzAsIDgxODM0LCA4MTgzOCwgODE4NDIsIDgxODQ2LCA4MTg1MCwgODE4NTQsIDgxODU5LCA4MTg2MywgODE4NjcsIAorICAgIDgxODcxLCA4MTg3NSwgODE4NzksIDgxODgzLCA4MTg4NywgODE4OTEsIDgxODk1LCA4MTg5OSwgODE5MDMsIDgxOTA4LCAKKyAgICA4MTkxMiwgODE5MTYsIDgxOTIxLCA4MTkyNiwgODE5MzAsIDgxOTM0LCA4MTkzOCwgODE5NDIsIDgxOTQ2LCA4MTk1MCwgCisgICAgODE5NTQsIDgxOTU4LCA4MTk2MywgODE5NjcsIDgxOTcyLCA4MTk3NiwgODE5ODEsIDgxOTg1LCA4MTk5MCwgODE5OTQsIAorICAgIDgyMDAwLCA4MjAwNSwgODIwMDksIDgyMDE0LCA4MjAxOCwgODIwMjMsIDgyMDI3LCA4MjAzMiwgODIwMzYsIDgyMDQxLCAKKyAgICAxNTA0LCA4MjA0NSwgMjg1NCwgMTc1OSwgMTY3NywgODIwNDksIDgyMDUzLCAyODYzLCA4MjA1NywgMTM4MCwgODIwNjIsIAorICAgIDEzMjIsIDgyMDY2LCAyODc1LCA4MjA3MCwgODIwNzcsIDgyMDg0LCA4MjA5OCwgMjg3OSwgNzMyNywgODIxMDcsIDgyMTE1LCAKKyAgICA4MjEyMiwgODIxMzMsIDgyMTQyLCA4MjE0OSwgODIxNjEsIDgyMTc0LCA4MjE4NywgODIxOTgsIDgyMjAzLCA4MjIxMCwgCisgICAgODIyMjIsIDgyMjI2LCAyODgzLCAxMjQwOCwgODIyMzYsIDgyMjQxLCA4MjI1MCwgODIyNjAsIDgyMjY1LCAyODg3LCAKKyAgICA4MjI3MywgODIyNzcsIDgyMjgyLCA4MjI4OSwgODIyOTUsIDgyMzAzLCA4MjMxNSwgMTMyNywgMTM3MzUsIDgyMzI1LCAKKyAgICA4MjMyOSwgODIzMzUsIDgyMzQ5LCA4MjM2MSwgODIzNzMsIDgyMzgzLCA4MjM5MiwgODI0MDEsIDgyNDEwLCA4MjQxOCwgCisgICAgODI0MjksIDgyNDM3LCA0MjAzLCA4MjQ0NywgODI0NTgsIDgyNDY3LCA4MjQ3MywgODI0ODgsIDgyNDk1LCA4MjUwMSwgCisgICAgODI1MDYsIDM3MjI3LCA4MjUxMSwgMjkxMSwgMTM3MzksIDgyNTE1LCA4MjUyMiwgOTE3NywgODI1MzEsIDI5MTYsIDMzODg3LCAKKyAgICA4MjUzNywgNjM2NzUsIDgyNTQ0LCA4MjU1MCwgODI1NjEsIDgyNTY3LCA4MjU3NCwgODI1ODAsIDgyNTg4LCA4MjU5NSwgCisgICAgODI2MDEsIDgyNjExLCA4MjYyMCwgODI2MzEsIDgyNjQwLCA4MjY0NywgODI2NTMsIDgyNjYzLCA4MjY3MSwgODI2NzcsIAorICAgIDgyNjkyLCA4MjY5OCwgODI3MDMsIDgyNzEwLCA4MjcxMywgODI3MTksIDgyNzI2LCA4MjczMiwgODI3NDAsIDgyNzQ5LCAKKyAgICA4Mjc1NywgODI3NjMsIDgyNzcyLCA0NDQzOCwgODI3ODYsIDgyNzkxLCA4Mjc5NywgMTU1MzYsIDgyODAyLCA4MjgxNSwgCisgICAgODI4MjcsIDgyODM2LCA4Mjg0NCwgODI4NTEsIDgyODU1LCA4Mjg1OSwgODI4NjIsIDgyODY5LCA4Mjg3NiwgODI4ODQsIAorICAgIDgyODkyLCA4MjkwMSwgODI5MDksIDE1NDYzLCA4MjkxNywgODI5MjIsIDgyOTI2LCA4MjkzOCwgODI5NDUsIDgyOTU0LCAKKyAgICA3ODEsIDgyOTY0LCA4Mjk3MywgODI5ODQsIDI5MzIsIDgyOTg4LCA4Mjk5MiwgODI5OTgsIDgzMDExLCA4MzAyMywgODMwMzMsIAorICAgIDgzMDQyLCA4MzA1NCwgMjc1OTcsIDgzMDY1LCA4MzA3MywgODMwODIsIDgzMDkzLCA4MzEwNCwgODMxMTQsIDgzMTI0LCAKKyAgICA4MzEzMywgODMxNDEsIDExOTQ0LCA4MzE0OCwgODMxNTIsIDgzMTU1LCA4MzE2MCwgODMxNjUsIDgzMTY5LCA4MzE3NSwgCisgICAgMTMzMiwgODMxODIsIDgzMTg2LCAxMjQ5MCwgODMxOTAsIDgzMjAxLCA4MzIxMCwgODMyMTgsIDgzMjI3LCA4MzIzNSwgCisgICAgODMyNTEsIDgzMjYyLCA4MzI3MSwgODMyNzksIDgzMjkxLCA4MzMwMiwgODMzMTgsIDgzMzI4LCA4MzM0OSwgODMzNjMsIAorICAgIDgzMzc2LCA4MzM4NCwgODMzOTEsIDczNzMsIDgzNDA0LCA4MzQwOSwgODM0MTUsIDYwNzgsIDgzNDIxLCA4MzQyNCwgCisgICAgODM0MzEsIDgzNDQxLCA4Mzk1LCA4MzQ0OCwgODM0NTMsIDgzNDU4LCA4MzQ2MywgODM0NzEsIDgzNDgwLCA4MzQ4OCwgCisgICAgMTAyNDEsIDEwMjUwLCA4MzQ5MywgODM1MDQsIDgzNTA5LCA4MzUxNSwgMjk0OCwgMTE2MCwgODM1MjEsIDExNDQ5LCAKKyAgICA4MzUyNywgODM1MzQsIDgzNTQxLCA4MzU1NCwgMjI2MiwgNjgsIDgzNTU5LCA4MzU2NCwgODM1NzQsIDgzNTgzLCA4MzU4OSwgCisgICAgODM1OTgsIDgzNjA2LCA4MzYxNiwgODM2MjAsIDgzNjI1LCA4MzYyOSwgODM2NDEsIDI5NzYsIDgzNjQ5LCA4MzY1NywgCisgICAgODM2NjIsIDgzNjczLCA4MzY4NCwgODM2OTMsIDIyMzk3LCA4MzY5OCwgODM3MDQsIDgzNzA5LCA4MzcxOSwgODM3MjksIAorICAgIDgzNzM0LCA4Mzc0MCwgODM3NDQsIDgzNzQ5LCA4Mzc1OCwgMjI0MDksIDgzNzYyLCA0MjgwLCAyNCwgODM3NjcsIDgzNzc2LCAKKyAgICA4Mzc4MywgODM3OTAsIDgzNzk2LCA4MzgwMiwgOTU0LCA4MzgwNywgODM4MTIsIDY0MDE2LCA4MzgxNywgODM4MjIsIAorICAgIDgzODI4LCA4MzgzNCwgODM4NDIsIDgzODQ3LCA4Mzg1NSwgODM4NjIsIDgzODY4LCA4Mzg3MywgNDA3MDAsIDQ0MzMyLCAKKyAgICA4Mzg3OSwgMjk4MCwgMzIsIDgzODg5LCA4MzkwMiwgODM5MDcsIDgzOTE1LCA4MzkyMCwgODM5MjYsIDMwMDIsIDI5NjM5LCAKKyAgICA4MzkzMSwgODM5MzksIDgzOTQ2LCA4Mzk1MSwgODM5NjAsIDYxNjYxLCA2NTA3OCwgODM5NjgsIDgzOTcyLCAxNzA0LCAKKyAgICAxODE4LCA4Mzk3NywgODM5ODIsIDgzOTg5LCAxODIyLCAyNTQsIDgzOTk2LCA4NDAwMiwgMzAyNCwgODQwMDcsIDg0MDEyLCAKKyAgICA4NDAxOSwgMTgyNiwgODQwMjQsIDg0MDMwLCA4NDAzNSwgODQwNDcsIDYzMDUsIDg0MDU3LCAxODMzLCA4NDA2MywgODQwNjgsIAorICAgIDg0MDc1LCA4NDA4MiwgODQwOTcsIDg0MTA0LCA4NDExNSwgODQxMjAsIDg0MTI4LCAyNjM4LCA4NDEzMiwgODQxNDQsIAorICAgIDg0MTQ5LCA4NDE1MywgODQxNTksIDI5NDU1LCAyMjY3LCA4NDE2MywgODQxNzQsIDg0MTc4LCA4NDE4MiwgODQxODgsIAorICAgIDg0MTkyLCA4NDIwMSwgODQyMDUsIDg0MjE2LCA4NDIyMCwgMjMxMywgMzM3MDQsIDg0MjI0LCA4NDIzNCwgMzExNSwgCisgICAgODQyNDIsIDk2NjEsIDg0MjUxLCA4NDI1NiwgODQyNjAsIDg0MjY5LCA4NDI3NiwgODQyODIsIDMwODUsIDE4MDkzLCAKKyAgICA4NDI4NiwgODQyOTksIDg0MzE3LCA4NDMyMiwgODQzMzAsIDg0MzM4LCA4NDM0OCwgMTA0ODAsIDEzODUyLCA4NDM2MCwgCisgICAgODQzNzMsIDg0MzgwLCA4NDM5NCwgODQ0MDEsIDg0NDE3LCA4NDQyNCwgODQ0MzAsIDIyNDQxLCAxMzEwMCwgODQ0MzcsIAorICAgIDg0NDQ0LCA4NDQ1NCwgODQ0NjMsIDQ1MTY3LCA4NDQ3NSwgNDUzMDIsIDg0NDgzLCA4NDQ4NiwgODQ0OTIsIDg0NDk4LCAKKyAgICA4NDUwNCwgODQ1MTAsIDg0NTE2LCA4NDUyMywgODQ1MzAsIDg0NTM2LCA4NDU0MiwgODQ1NDgsIDg0NTU0LCA4NDU2MCwgCisgICAgODQ1NjYsIDg0NTcyLCA4NDU3OCwgODQ1ODQsIDg0NTkwLCA4NDU5NiwgODQ2MDIsIDg0NjA4LCA4NDYxNCwgODQ2MjAsIAorICAgIDg0NjI2LCA4NDYzMiwgODQ2MzgsIDg0NjQ0LCA4NDY1MCwgODQ2NTYsIDg0NjYyLCA4NDY2OCwgODQ2NzQsIDg0NjgwLCAKKyAgICA4NDY4NiwgODQ2OTIsIDg0Njk4LCA4NDcwNCwgODQ3MTAsIDg0NzE2LCA4NDcyMiwgODQ3MjgsIDg0NzM0LCA4NDc0MCwgCisgICAgODQ3NDYsIDg0NzUyLCA4NDc1OCwgODQ3NjQsIDg0NzcwLCA4NDc3NiwgODQ3ODIsIDg0Nzg4LCA4NDc5NCwgODQ4MDAsIAorICAgIDg0ODA2LCA4NDgxMiwgODQ4MTgsIDg0ODI0LCA4NDgzMCwgODQ4MzYsIDg0ODQzLCA4NDg0OSwgODQ4NTYsIDg0ODYzLCAKKyAgICA4NDg2OSwgODQ4NzYsIDg0ODgzLCA4NDg4OSwgODQ4OTUsIDg0OTAxLCA4NDkwNywgODQ5MTMsIDg0OTE5LCA4NDkyNSwgCisgICAgODQ5MzEsIDg0OTM3LCA4NDk0MywgODQ5NDksIDg0OTU1LCA4NDk2MSwgODQ5NjcsIDg0OTczLCAzMDk5LCA5NjM0LCAKKyAgICA4NDk3OSwgODQ5ODUsIDg0OTkzLCA4NDk5NywgODIyODUsIDMxMDMsIDg1MDAxLCAyMjE3NCwgMTI3MzMsIDM4ODUsIAorICAgIDg1MDA1LCAzMTA5LCA4NTAwOSwgODUwMTksIDg1MDI1LCA4NTAzMSwgODUwMzcsIDg1MDQzLCA4NTA0OSwgODUwNTUsIAorICAgIDg1MDYxLCA4NTA2NywgODUwNzMsIDg1MDc5LCA4NTA4NSwgODUwOTEsIDg1MDk3LCA4NTEwMywgODUxMDksIDg1MTE1LCAKKyAgICA4NTEyMSwgODUxMjcsIDg1MTMzLCA4NTEzOSwgODUxNDUsIDg1MTUxLCA4NTE1NywgODUxNjMsIDg1MTY5LCA4NTE3NiwgCisgICAgODUxODMsIDg1MTg5LCA4NTE5NSwgODUyMDEsIDg1MjA3LCA4NTIxMywgODUyMTksIDEzMzcsIDg1MjI1LCA4NTIzMCwgCisgICAgODUyMzUsIDg1MjQwLCA4NTI0NSwgODUyNTAsIDg1MjU1LCA4NTI2MCwgODUyNjUsIDg1MjY5LCA4NTI3MywgODUyNzcsIAorICAgIDg1MjgxLCA4NTI4NSwgODUyODksIDg1MjkzLCA4NTI5NywgODUzMDEsIDg1MzA3LCA4NTMxMywgODUzMTksIDg1MzI1LCAKKyAgICA4NTMyOSwgODUzMzMsIDg1MzM3LCA4NTM0MSwgODUzNDUsIDg1MzQ5LCA4NTM1MywgODUzNTcsIDg1MzYxLCA4NTM2NiwgCisgICAgODUzNzEsIDg1Mzc2LCA4NTM4MSwgODUzODYsIDg1MzkxLCA4NTM5NiwgODU0MDEsIDg1NDA2LCA4NTQxMSwgODU0MTYsIAorICAgIDg1NDIxLCA4NTQyNiwgODU0MzEsIDg1NDM2LCA4NTQ0MSwgODU0NDYsIDg1NDUxLCA4NTQ1NiwgODU0NjEsIDg1NDY2LCAKKyAgICA4NTQ3MSwgODU0NzYsIDg1NDgxLCA4NTQ4NiwgODU0OTEsIDg1NDk2LCA4NTUwMSwgODU1MDYsIDg1NTExLCA4NTUxNiwgCisgICAgODU1MjEsIDg1NTI2LCA4NTUzMSwgODU1MzYsIDg1NTQxLCA4NTU0NiwgODU1NTEsIDg1NTU2LCA4NTU2MSwgODU1NjYsIAorICAgIDg1NTcxLCA4NTU3NiwgODU1ODEsIDg1NTg2LCA4NTU5MSwgODU1OTYsIDg1NjAxLCA4NTYwNiwgODU2MTEsIDg1NjE2LCAKKyAgICA4NTYyMSwgODU2MjYsIDg1NjMxLCA4NTYzNiwgODU2NDEsIDg1NjQ2LCA4NTY1MSwgODU2NTYsIDg1NjYxLCA4NTY2NiwgCisgICAgODU2NzEsIDg1Njc2LCA4NTY4MSwgODU2ODYsIDg1NjkxLCA4NTY5NiwgODU3MDEsIDg1NzA2LCA4NTcxMSwgODU3MTYsIAorICAgIDg1NzIxLCA4NTcyNiwgODU3MzEsIDg1NzM2LCA4NTc0MSwgODU3NDYsIDg1NzUxLCA4NTc1NiwgODU3NjEsIDg1NzY2LCAKKyAgICA4NTc3MSwgODU3NzYsIDg1NzgxLCA4NTc4NiwgODU3OTEsIDg1Nzk2LCA4NTgwMSwgODU4MDYsIDg1ODExLCA4NTgxNiwgCisgICAgODU4MjEsIDg1ODI2LCA4NTgzMSwgODU4MzYsIDg1ODQxLCA4NTg0NiwgODU4NTEsIDg1ODU2LCA4NTg2MSwgODU4NjYsIAorICAgIDg1ODcxLCA4NTg3NiwgODU4ODEsIDg1ODg2LCA4NTg5MSwgODU4OTYsIDg1OTAxLCA4NTkwNiwgODU5MTEsIDg1OTE2LCAKKyAgICA4NTkyMSwgODU5MjYsIDg1OTMxLCA4NTkzNiwgODU5NDEsIDg1OTQ2LCA4NTk1MSwgODU5NTYsIDg1OTYxLCA4NTk2NiwgCisgICAgODU5NzEsIDg1OTc2LCA4NTk4MSwgODU5ODYsIDg1OTkxLCA4NTk5NiwgODYwMDEsIDg2MDA2LCA4NjAxMSwgODYwMTYsIAorICAgIDg2MDIxLCA4NjAzMCwgODYwMzksIDg2MDQ4LCA4NjA1NywgODYwNjYsIDg2MDc1LCA4NjA4NCwgODYwOTMsIDg2MTAyLCAKKyAgICA4NjExMSwgODYxMjAsIDg2MTI5LCA4NjEzOCwgODYxNDcsIDg2MTU2LCA4NjE2NSwgODYxNzQsIDg2MTgzLCA4NjE5MiwgCisgICAgODYxOTcsIDg2MjAyLCA4NjIwNywgODYyMTIsIDg2MjE3LCA4NjIyMiwgODYyMjcsIDg2MjMyLCA4NjIzNywgODYyNDIsIAorICAgIDg2MjQ3LCA4NjI1MiwgODYyNTcsIDg2MjYyLCA4NjI2NywgODYyNzIsIDg2Mjc3LCA4NjI4MiwgODYyODcsIDg2MjkyLCAKKyAgICA4NjI5NywgODYzMDIsIDg2MzA3LCA4NjMxMiwgODYzMTcsIDg2MzIyLCA4NjMyNywgODYzMzIsIDg2MzM3LCA4NjM0MiwgCisgICAgODYzNDcsIDg2MzUyLCA4NjM1NywgODYzNjIsIDg2MzY3LCA4NjM3MiwgODYzNzcsIDg2MzgyLCA4NjM4NywgODYzOTIsIAorICAgIDg2Mzk3LCA4NjQwMiwgODY0MDcsIDg2NDEyLCA4NjQxNywgODY0MjIsIDg2NDI3LCA4NjQzMiwgODY0MzcsIDg2NDQyLCAKKyAgICA4NjQ0NywgODY0NTIsIDg2NDU3LCA4NjQ2MiwgODY0NjcsIDg2NDcyLCA4NjQ3NywgODY0ODIsIDg2NDg4LCA4NjQ5NCwgCisgICAgODY1MDAsIDg2NTA1LCA4NjUxMCwgODY1MTUsIDg2NTIxLCA4NjUyNywgODY1MzMsIDg2NTM4LCA4NjU0MywgODY1NDgsIAorICAgIDg2NTUzLCA4NjU1OCwgODY1NjMsIDg2NTY4LCAxNjkyMiwgMTI3NTUsIDg2NTczLCA4NjU3OSwgODY1ODUsIDg2NTk0LCAKKyAgICA4NjU5OSwgODY2MDQsIDg2NjA5LCA4NjYxNCwgODY2MTksIDg2NjI0LCA4NjYyOSwgODY2MzQsIDg2NjM5LCA4NjY0NCwgCisgICAgODY2NDksIDg2NjU0LCA4NjY1OSwgODY2NjQsIDg2NjY5LCA4NjY3NCwgODY2NzksIDg2Njg0LCA4NjY4OSwgODY2OTQsIAorICAgIDg2Njk5LCA4NjcwNCwgODY3MDksIDg2NzE0LCA4NjcxOSwgODY3MjUsIDg2NzMwLCA4NjczNSwgODY3NDEsIDg2NzQ2LCAKKyAgICA4Njc1MiwgODY3NTcsIDg2NzYyLCA4Njc2OCwgODY3NzMsIDg2Nzc4LCA4Njc4MywgODY3ODgsIDg2NzkzLCA4Njc5OCwgCisgICAgODY4MDMsIDg2ODA4LCA4NTAyMCwgODUwMjYsIDg1MDMyLCA4NTAzOCwgODY4MTQsIDg1MDQ0LCA4NTA1MCwgODUwNTYsIAorICAgIDg1MDYyLCA4NTA2OCwgODUwNzQsIDg1MDgwLCA4NTA4NiwgODUwOTIsIDg1MDk4LCA4NTEwNCwgODY4MjAsIDg1MTEwLCAKKyAgICA4NTExNiwgODUxMjIsIDg2ODI2LCA4NTEyOCwgODUxMzQsIDg1MTQwLCA4NTE0NiwgODUxNTIsIDg1MTU4LCA4NTE2NCwgCisgICAgODUxODQsIDg2ODMyLCA4NjgzOCwgODUxOTAsIDg2ODQ0LCA4NTE5NiwgODUyMDIsIDg1MjA4LCA4NTIxNCwgODUyMjAsIAorICAgIDMxMjYsIDMxMzEsIDg2ODUwLCA4Njg1NSwgODY4NTgsIDg2ODY0LCA4Njg3MCwgODY4NzcsIDg2ODgyLCA4Njg4NywgMjMxOCwgCiB9OwogCiAvKiBjb2RlLT5uYW1lIHBocmFzZWJvb2sgKi8KLSNkZWZpbmUgcGhyYXNlYm9va19zaGlmdCA3Ci0jZGVmaW5lIHBocmFzZWJvb2tfc2hvcnQgMjA5CisjZGVmaW5lIHBocmFzZWJvb2tfc2hpZnQgOAorI2RlZmluZSBwaHJhc2Vib29rX3Nob3J0IDIwNAogc3RhdGljIHVuc2lnbmVkIGNoYXIgcGhyYXNlYm9va1tdID0gewotICAgIDAsIDIxOSwgMjAsIDI0NSwgMzksIDc5LCAyMjQsIDEsIDc5LCA1NCwgNTAsIDI0NywgMTQwLCA1MCwgMjI1LCAxODUsIDUwLCAKLSAgICAyNTQsIDEzNCwgMjU0LCA2NSwgNDMsIDIyNiwgNywgNDQsIDIyNiwgNywgMjUzLCAyMjQsIDk2LCA1MCwgMjQ5LCAyMjcsIAotICAgIDI0MCwgMTc0LCAyNDMsIDIzNiwgMjE4LCAxMzEsIDIxOSwgNDgsIDIxLCAyMTAsIDg2LCAyMSwgMTExLCAyMSwgMTA1LCAyMSwgCi0gICAgMTU4LCAyMSwgMTYxLCAyMSwgMTkwLCAyMSwgMTk1LCAyMSwgMTk5LCAyMSwgMTk2LCAyMSwgMjAxLCAyNDksIDIzNCwgMjIwLCAKLSAgICAxNTIsIDIzMywgMjEsIDUwLCAyNDUsIDEwNiwgNTAsIDI0MiwgMTM3LCA1MCwgMjI0LCAxNiwgNzksIDI0OSwgMjI1LCAyNTMsIAotICAgIDIxNCwgNywgNiwgMSwgNjEsIDcsIDYsIDEsIDI1MywgMTY2LCA3LCA2LCAxLCAyNTEsIDc0LCA3LCA2LCAxLCAyNDksIDY4LCAKLSAgICA3LCA2LCAxLCA3NiwgNywgNiwgMSwgMjQ1LCAxNCwgNywgNiwgMSwgMjQzLCAyMDksIDcsIDYsIDEsIDI0MiwgNjcsIDcsIDYsIAotICAgIDEsIDc0LCA3LCA2LCAxLCAyMzUsIDE1MCwgNywgNiwgMSwgMjM1LCAyOSwgNywgNiwgMSwgMTU2LCA3LCA2LCAxLCAxOTQsIAotICAgIDcsIDYsIDEsIDIzMCwgMzAsIDcsIDYsIDEsIDc4LCA3LCA2LCAxLCAyMjYsIDEwOSwgNywgNiwgMSwgMjI0LCA5OSwgNywgNiwgCi0gICAgMSwgMTUzLCA3LCA2LCAxLCAyMjIsIDkzLCA3LCA2LCAxLCAyMTcsIDE1MywgNywgNiwgMSwgNjksIDcsIDYsIDEsIDIxNCwgCi0gICAgMTA1LCA3LCA2LCAxLCAyMTIsIDk4LCA3LCA2LCAxLCAyMTEsIDE3OCwgNywgNiwgMSwgMjExLCAxMTcsIDcsIDYsIDEsIAotICAgIDIxMCwgMTU5LCA0MywgNDIsIDEyNywgMjIzLCA1MywgMjE5LCA0OCwgNDQsIDQyLCAxMjcsIDI1MCwgMzksIDI1NSwgMjMsIAotICAgIDEyMSwgMjMyLCAyMTksIDI0MiwgMTQ0LCAyNTUsIDIzLCA3LCA0LCAxLCA2MSwgNywgNCwgMSwgMjUzLCAxNjYsIDcsIDQsIAotICAgIDEsIDI1MSwgNzQsIDcsIDQsIDEsIDI0OSwgNjgsIDcsIDQsIDEsIDc2LCA3LCA0LCAxLCAyNDUsIDE0LCA3LCA0LCAxLCAKLSAgICAyNDMsIDIwOSwgNywgNCwgMSwgMjQyLCA2NywgNywgNCwgMSwgNzQsIDcsIDQsIDEsIDIzNSwgMTUwLCA3LCA0LCAxLCAyMzUsIAotICAgIDI5LCA3LCA0LCAxLCAxNTYsIDcsIDQsIDEsIDE5NCwgNywgNCwgMSwgMjMwLCAzMCwgNywgNCwgMSwgNzgsIDcsIDQsIDEsIAotICAgIDIyNiwgMTA5LCA3LCA0LCAxLCAyMjQsIDk5LCA3LCA0LCAxLCAxNTMsIDcsIDQsIDEsIDIyMiwgOTMsIDcsIDQsIDEsIDIxNywgCi0gICAgMTUzLCA3LCA0LCAxLCA2OSwgNywgNCwgMSwgMjE0LCAxMDUsIDcsIDQsIDEsIDIxMiwgOTgsIDcsIDQsIDEsIDIxMSwgMTc4LCAKLSAgICA3LCA0LCAxLCAyMTEsIDExNywgNywgNCwgMSwgMjEwLCAxNTksIDQzLCAyNDksIDEwNywgMTI3LCA2NywgMjMyLCAyMTksIAotICAgIDQ0LCAyNDksIDEwNywgMTI3LCAxODQsIDIyOCwgNzgsIDIxOSwgMjAsIDIzNSwgMjAwLCAyNDUsIDM5LCA3OSwgMjUwLCAKLSAgICAxODQsIDUwLCAyMjQsIDIzMSwgNTAsIDI0OSwgMTA2LCA1MCwgMjExLCA0MCwgNTAsIDI1MSwgMTQzLCAxMzAsIDIyMSwgCi0gICAgMTc1LCA1MCwgMjQ4LCA5LCAyNDksIDE3MSwgNTAsIDI0NCwgMTQ0LCAyMjYsIDE1OCwgMjM1LCAyNDUsIDIzMywgNDgsIDUyLCAKLSAgICAyNTQsIDExOCwgMjI0LCAxLCA3OSwgMjI4LCA1NywgNTAsIDIxOSwgNTQsIDI0MCwgMTc1LCAyMjMsIDEwNSwgNTAsIDIzMSwgCi0gICAgMjM3LCAyNDgsIDc5LCA1MCwgMjI1LCAyNCwgNTAsIDIxOCwgMjQsIDEwNSwgMjE4LCAyNCwgMTU4LCAyNTUsIDEyLCAyNTUsIAotICAgIDIzLCAyMzAsIDIzMywgNTAsIDIyNSwgNzEsIDUwLCAyMzAsIDIyOSwgMjQ3LCAxMjgsIDI1MCwgMTkxLCAyMTgsIDI0LCAKLSAgICAxMTEsIDIzMSwgMTUzLCAyMjYsIDE1OCwgMjM1LCAyNDUsIDIyMiwgMjUwLCA1MiwgMjU0LCAxMTgsIDIyNCwgMSwgNzksIAotICAgIDIxMiwgMTE0LCAyNDQsIDEwLCAxMjMsIDIyNCwgMjQsIDIxMiwgMTE0LCAyNDQsIDEwLCAxMjMsIDI0MiwgMzQsIDIxMiwgCi0gICAgMTE0LCAyNDQsIDEwLCAxMzQsIDIyNCwgMjIsIDIzNSwgMjAwLCAyMjQsIDE2LCA3OSwgNywgNiwgMSwgMTE2LCAyLCAyNDIsIAotICAgIDE0MywgNywgNiwgMSwgMTE2LCAyLCAxNDIsIDcsIDYsIDEsIDExNiwgMiwgMjUwLCAzOCwgNywgNiwgMSwgMTE2LCAyLCAKLSAgICAxODQsIDcsIDYsIDEsIDExNiwgMiwgMjQ4LCA5LCA3LCA2LCAxLCAxMTYsIDIsIDIyMiwgMjM3LCA0OCwgNywgNiwgMSwgCi0gICAgMjU0LCAyNTIsIDcsIDYsIDEsIDI1MSwgNzUsIDIsIDI1MCwgMTkxLCA3LCA2LCAxLCAxNjAsIDIsIDI0MiwgMTQzLCA3LCA2LCAKLSAgICAxLCAxNjAsIDIsIDE0MiwgNywgNiwgMSwgMTYwLCAyLCAyNTAsIDM4LCA3LCA2LCAxLCAxNjAsIDIsIDI0OCwgOSwgNywgNiwgCi0gICAgMSwgMjQwLCAxNjEsIDIsIDI0MiwgMTQzLCA3LCA2LCAxLCAyNDAsIDE2MSwgMiwgMTQyLCA3LCA2LCAxLCAyNDAsIDE2MSwgCi0gICAgMiwgMjUwLCAzOCwgNywgNiwgMSwgMjQwLCAxNjEsIDIsIDI0OCwgOSwgNywgNiwgMSwgMjQ1LCA2NywgNywgNiwgMSwgMjMwLCAKLSAgICAzMSwgMiwgMTg0LCA3LCA2LCAxLCAxNDQsIDIsIDI0MiwgMTQzLCA3LCA2LCAxLCAxNDQsIDIsIDE0MiwgNywgNiwgMSwgCi0gICAgMTQ0LCAyLCAyNTAsIDM4LCA3LCA2LCAxLCAxNDQsIDIsIDE4NCwgNywgNiwgMSwgMTQ0LCAyLCAyNDgsIDksIDIzMCwgODksIAotICAgIDUwLCA3LCA2LCAxLCAxNDQsIDIsIDkxLCA3LCA2LCAxLCAxMDQsIDIsIDI0MiwgMTQzLCA3LCA2LCAxLCAxMDQsIDIsIDE0MiwgCi0gICAgNywgNiwgMSwgMTA0LCAyLCAyNTAsIDM4LCA3LCA2LCAxLCAxMDQsIDIsIDI0OCwgOSwgNywgNiwgMSwgMjExLCAxMTgsIDIsIAotICAgIDE0MiwgNywgNiwgMSwgMjE2LCAxNTIsIDcsIDQsIDEsIDIyMCwgNzgsIDIyMiwgOTMsIDcsIDQsIDEsIDExNiwgMiwgMjQyLCAKLSAgICAxNDMsIDcsIDQsIDEsIDExNiwgMiwgMTQyLCA3LCA0LCAxLCAxMTYsIDIsIDI1MCwgMzgsIDcsIDQsIDEsIDExNiwgMiwgCi0gICAgMTg0LCA3LCA0LCAxLCAxMTYsIDIsIDI0OCwgOSwgNywgNCwgMSwgMTE2LCAyLCAyMjIsIDIzNywgNDgsIDcsIDQsIDEsIAotICAgIDI1NCwgMjUyLCA3LCA0LCAxLCAyNTEsIDc1LCAyLCAyNTAsIDE5MSwgNywgNCwgMSwgMTYwLCAyLCAyNDIsIDE0MywgNywgNCwgCi0gICAgMSwgMTYwLCAyLCAxNDIsIDcsIDQsIDEsIDE2MCwgMiwgMjUwLCAzOCwgNywgNCwgMSwgMTYwLCAyLCAyNDgsIDksIDcsIDQsIAotICAgIDEsIDI0MCwgMTYxLCAyLCAyNDIsIDE0MywgNywgNCwgMSwgMjQwLCAxNjEsIDIsIDE0MiwgNywgNCwgMSwgMjQwLCAxNjEsIAotICAgIDIsIDI1MCwgMzgsIDcsIDQsIDEsIDI0MCwgMTYxLCAyLCAyNDgsIDksIDcsIDQsIDEsIDI0NSwgNjcsIDcsIDQsIDEsIDIzMCwgCi0gICAgMzEsIDIsIDE4NCwgNywgNCwgMSwgMTQ0LCAyLCAyNDIsIDE0MywgNywgNCwgMSwgMTQ0LCAyLCAxNDIsIDcsIDQsIDEsIAotICAgIDE0NCwgMiwgMjUwLCAzOCwgNywgNCwgMSwgMTQ0LCAyLCAxODQsIDcsIDQsIDEsIDE0NCwgMiwgMjQ4LCA5LCAyNDcsIDE3NywgCi0gICAgNTAsIDcsIDQsIDEsIDE0NCwgMiwgOTEsIDcsIDQsIDEsIDEwNCwgMiwgMjQyLCAxNDMsIDcsIDQsIDEsIDEwNCwgMiwgMTQyLCAKLSAgICA3LCA0LCAxLCAxMDQsIDIsIDI1MCwgMzgsIDcsIDQsIDEsIDEwNCwgMiwgMjQ4LCA5LCA3LCA0LCAxLCAyMTEsIDExOCwgMiwgCi0gICAgMTQyLCA3LCA0LCAxLCAyMTYsIDE1MiwgNywgNCwgMSwgMjExLCAxMTgsIDIsIDI0OCwgOSwgNywgNiwgMSwgMTE2LCAyLCAKLSAgICAyMzEsIDIzNywgNywgNCwgMSwgMTE2LCAyLCAyMzEsIDIzNywgNywgNiwgMSwgMTE2LCAyLCAyNTEsIDE1NCwgNywgNCwgMSwgCi0gICAgMTE2LCAyLCAyNTEsIDE1NCwgNywgNiwgMSwgMTE2LCAyLCAyMjYsIDIyOCwgNywgNCwgMSwgMTE2LCAyLCAyMjYsIDIyOCwgCi0gICAgNywgNiwgMSwgMjUxLCA3NSwgMiwgMTQyLCA3LCA0LCAxLCAyNTEsIDc1LCAyLCAxNDIsIDcsIDYsIDEsIDI1MSwgNzUsIDIsIAotICAgIDI1MCwgMzgsIDcsIDQsIDEsIDI1MSwgNzUsIDIsIDI1MCwgMzgsIDcsIDYsIDEsIDI1MSwgNzUsIDIsIDU5LCA0OCwgNywgNCwgCi0gICAgMSwgMjUxLCA3NSwgMiwgNTksIDQ4LCA3LCA2LCAxLCAyNTEsIDc1LCAyLCAyNTAsIDI0MiwgNywgNCwgMSwgMjUxLCA3NSwgCi0gICAgMiwgMjUwLCAyNDIsIDcsIDYsIDEsIDI0OSwgNjksIDIsIDI1MCwgMjQyLCA3LCA0LCAxLCAyNDksIDY5LCAyLCAyNTAsIAotICAgIDI0MiwgNywgNiwgMSwgMjQ5LCA2OSwgMiwgOTEsIDcsIDQsIDEsIDI0OSwgNjksIDIsIDkxLCA3LCA2LCAxLCAxNjAsIDIsIAotICAgIDIzMSwgMjM3LCA3LCA0LCAxLCAxNjAsIDIsIDIzMSwgMjM3LCA3LCA2LCAxLCAxNjAsIDIsIDI1MSwgMTU0LCA3LCA0LCAxLCAKLSAgICAxNjAsIDIsIDI1MSwgMTU0LCA3LCA2LCAxLCAxNjAsIDIsIDU5LCA0OCwgNywgNCwgMSwgMTYwLCAyLCA1OSwgNDgsIDcsIDYsIAotICAgIDEsIDE2MCwgMiwgMjI2LCAyMjgsIDcsIDQsIDEsIDE2MCwgMiwgMjI2LCAyMjgsIDcsIDYsIDEsIDE2MCwgMiwgMjUwLCAKLSAgICAyNDIsIDcsIDQsIDEsIDE2MCwgMiwgMjUwLCAyNDIsIDcsIDYsIDEsIDI0MywgMjEwLCAyLCAyNTAsIDM4LCA3LCA0LCAxLCAKLSAgICAyNDMsIDIxMCwgMiwgMjUwLCAzOCwgNywgNiwgMSwgMjQzLCAyMTAsIDIsIDI1MSwgMTU0LCA3LCA0LCAxLCAyNDMsIDIxMCwgCi0gICAgMiwgMjUxLCAxNTQsIDcsIDYsIDEsIDI0MywgMjEwLCAyLCA1OSwgNDgsIDcsIDQsIDEsIDI0MywgMjEwLCAyLCA1OSwgNDgsIAotICAgIDcsIDYsIDEsIDI0MywgMjEwLCAyLCAyNTAsIDE5MSwgNywgNCwgMSwgMjQzLCAyMTAsIDIsIDI1MCwgMTkxLCA3LCA2LCAxLCAKLSAgICAyNDIsIDY4LCAyLCAyNTAsIDM4LCA3LCA0LCAxLCAyNDIsIDY4LCAyLCAyNTAsIDM4LCA3LCA2LCAxLCAyNDIsIDY4LCAyLCAKLSAgICA5MSwgNywgNCwgMSwgMjQyLCA2OCwgMiwgOTEsIDcsIDYsIDEsIDI0MCwgMTYxLCAyLCAxODQsIDcsIDQsIDEsIDI0MCwgCi0gICAgMTYxLCAyLCAxODQsIDcsIDYsIDEsIDI0MCwgMTYxLCAyLCAyMzEsIDIzNywgNywgNCwgMSwgMjQwLCAxNjEsIDIsIDIzMSwgCi0gICAgMjM3LCA3LCA2LCAxLCAyNDAsIDE2MSwgMiwgMjUxLCAxNTQsIDcsIDQsIDEsIDI0MCwgMTYxLCAyLCAyNTEsIDE1NCwgNywgCi0gICAgNiwgMSwgMjQwLCAxNjEsIDIsIDIyNiwgMjI4LCA3LCA0LCAxLCAyNDAsIDE2MSwgMiwgMjI2LCAyMjgsIDcsIDYsIDEsIAotICAgIDI0MCwgMTYxLCAyLCA1OSwgNDgsIDcsIDQsIDEsIDI0NywgMTI3LCA3NCwgNywgNiwgMjcsIDIzNiwgMzgsIDcsIDQsIDI3LCAKLSAgICAyMzYsIDM4LCA3LCA2LCAxLCAyMzUsIDE1MSwgMiwgMjUwLCAzOCwgNywgNCwgMSwgMjM1LCAxNTEsIDIsIDI1MCwgMzgsIDcsIAotICAgIDYsIDEsIDIzNSwgMzAsIDIsIDI1MCwgMTkxLCA3LCA0LCAxLCAyMzUsIDMwLCAyLCAyNTAsIDE5MSwgNywgNCwgMSwgMjMzLCAKLSAgICAyNDUsIDcsIDYsIDEsIDIzMywgMTU1LCAyLCAxNDIsIDcsIDQsIDEsIDIzMywgMTU1LCAyLCAxNDIsIDcsIDYsIDEsIDIzMywgCi0gICAgMTU1LCAyLCAyNTAsIDE5MSwgNywgNCwgMSwgMjMzLCAxNTUsIDIsIDI1MCwgMTkxLCA3LCA2LCAxLCAyMzMsIDE1NSwgMiwgCi0gICAgMjUwLCAyNDIsIDcsIDQsIDEsIDIzMywgMTU1LCAyLCAyNTAsIDI0MiwgNywgNiwgMSwgMjMzLCAxNTUsIDIsIDIzMCwgMjI5LCAKLSAgICAyNDcsIDEyOCwgNywgNCwgMSwgMjMzLCAxNTUsIDIsIDIzMCwgMjI5LCAyNDcsIDEyOCwgNywgNiwgMSwgMjMzLCAxNTUsIDIsIAotICAgIDkxLCA3LCA0LCAxLCAyMzMsIDE1NSwgMiwgOTEsIDcsIDYsIDEsIDIzMCwgMzEsIDIsIDE0MiwgNywgNCwgMSwgMjMwLCAzMSwgCi0gICAgMiwgMTQyLCA3LCA2LCAxLCAyMzAsIDMxLCAyLCAyNTAsIDE5MSwgNywgNCwgMSwgMjMwLCAzMSwgMiwgMjUwLCAxOTEsIDcsIAotICAgIDYsIDEsIDIzMCwgMzEsIDIsIDI1MCwgMjQyLCA3LCA0LCAxLCAyMzAsIDMxLCAyLCAyNTAsIDI0MiwgNywgNCwgMSwgMjMwLCAKLSAgICAzMSwgMjI0LCAyMDcsIDI1MSwgODYsIDI1NCwgNjUsIDcsIDYsIDEsIDI0NSwgMTQ2LCA3LCA0LCAxLCAyNDUsIDE0NiwgNywgCi0gICAgNiwgMSwgMTQ0LCAyLCAyMzEsIDIzNywgNywgNCwgMSwgMTQ0LCAyLCAyMzEsIDIzNywgNywgNiwgMSwgMTQ0LCAyLCAyNTEsIAotICAgIDE1NCwgNywgNCwgMSwgMTQ0LCAyLCAyNTEsIDE1NCwgNywgNiwgMSwgMTQ0LCAyLCA1MiwgMTQyLCA3LCA0LCAxLCAxNDQsIAotICAgIDIsIDUyLCAxNDIsIDcsIDYsIDI3LCAyMjYsIDIzOCwgNywgNCwgMjcsIDIyNiwgMjM4LCA3LCA2LCAxLCAyMjMsIDIyNywgMiwgCi0gICAgMTQyLCA3LCA0LCAxLCAyMjMsIDIyNywgMiwgMTQyLCA3LCA2LCAxLCAyMjMsIDIyNywgMiwgMjUwLCAxOTEsIDcsIDQsIDEsIAotICAgIDIyMywgMjI3LCAyLCAyNTAsIDE5MSwgNywgNiwgMSwgMjIzLCAyMjcsIDIsIDI1MCwgMjQyLCA3LCA0LCAxLCAyMjMsIDIyNywgCi0gICAgMiwgMjUwLCAyNDIsIDcsIDYsIDEsIDIyMiwgOTQsIDIsIDE0MiwgNywgNCwgMSwgMjIyLCA5NCwgMiwgMTQyLCA3LCA2LCAxLCAKLSAgICAyMjIsIDk0LCAyLCAyNTAsIDM4LCA3LCA0LCAxLCAyMjIsIDk0LCAyLCAyNTAsIDM4LCA3LCA2LCAxLCAyMjIsIDk0LCAyLCAKLSAgICAyNTAsIDE5MSwgNywgNCwgMSwgMjIyLCA5NCwgMiwgMjUwLCAxOTEsIDcsIDYsIDEsIDIyMiwgOTQsIDIsIDI1MCwgMjQyLCAKLSAgICA3LCA0LCAxLCAyMjIsIDk0LCAyLCAyNTAsIDI0MiwgNywgNiwgMSwgMjE3LCAxNTQsIDIsIDI1MCwgMTkxLCA3LCA0LCAxLCAKLSAgICAyMTcsIDE1NCwgMiwgMjUwLCAxOTEsIDcsIDYsIDEsIDIxNywgMTU0LCAyLCAyNTAsIDI0MiwgNywgNCwgMSwgMjE3LCAxNTQsIAotICAgIDIsIDI1MCwgMjQyLCA3LCA2LCAxLCAyMTcsIDE1NCwgMiwgOTEsIDcsIDQsIDEsIDIxNywgMTU0LCAyLCA5MSwgNywgNiwgMSwgCi0gICAgMTA0LCAyLCAxODQsIDcsIDQsIDEsIDEwNCwgMiwgMTg0LCA3LCA2LCAxLCAxMDQsIDIsIDIzMSwgMjM3LCA3LCA0LCAxLCAKLSAgICAxMDQsIDIsIDIzMSwgMjM3LCA3LCA2LCAxLCAxMDQsIDIsIDI1MSwgMTU0LCA3LCA0LCAxLCAxMDQsIDIsIDI1MSwgMTU0LCAKLSAgICA3LCA2LCAxLCAxMDQsIDIsIDIyMiwgMjM3LCA0OCwgNywgNCwgMSwgMTA0LCAyLCAyMjIsIDIzNywgNDgsIDcsIDYsIDEsIAotICAgIDEwNCwgMiwgNTIsIDE0MiwgNywgNCwgMSwgMTA0LCAyLCA1MiwgMTQyLCA3LCA2LCAxLCAxMDQsIDIsIDIyNiwgMjI4LCA3LCAKLSAgICA0LCAxLCAxMDQsIDIsIDIyNiwgMjI4LCA3LCA2LCAxLCAyMTIsIDk5LCAyLCAyNTAsIDM4LCA3LCA0LCAxLCAyMTIsIDk5LCAKLSAgICAyLCAyNTAsIDM4LCA3LCA2LCAxLCAyMTEsIDExOCwgMiwgMjUwLCAzOCwgNywgNCwgMSwgMjExLCAxMTgsIDIsIDI1MCwgMzgsIAotICAgIDcsIDYsIDEsIDIxMSwgMTE4LCAyLCAyNDgsIDksIDcsIDYsIDEsIDIxMCwgMTYwLCAyLCAxNDIsIDcsIDQsIDEsIDIxMCwgCi0gICAgMTYwLCAyLCAxNDIsIDcsIDYsIDEsIDIxMCwgMTYwLCAyLCA1OSwgNDgsIDcsIDQsIDEsIDIxMCwgMTYwLCAyLCA1OSwgNDgsIAotICAgIDcsIDYsIDEsIDIxMCwgMTYwLCAyLCAyNTAsIDI0MiwgNywgNCwgMSwgMjEwLCAxNjAsIDIsIDI1MCwgMjQyLCA3LCA0LCAxLCAKLSAgICAyMDAsIDIyMiwgOTMsIDcsIDQsIDEsIDU3LCAyLCA5MSwgNywgNiwgMSwgNTcsIDIsIDEwMywgNywgNiwgMSwgNTcsIDIsIAotICAgIDIxNiwgMTIsIDcsIDQsIDEsIDU3LCAyLCAyMTYsIDEyLCA3LCA2LCAxLCAxMzgsIDE5NSwgNywgNCwgMSwgMTM4LCAxOTUsIAotICAgIDcsIDYsIDEsIDIwNCwgNzgsIDcsIDYsIDEsIDI1MSwgNzUsIDIsIDEwMywgNywgNCwgMSwgMjUxLCA3NSwgMiwgMTAzLCA3LCAKLSAgICA2LCAxLCAyNTQsIDIyOCwgMjQ5LCA2OCwgNywgNiwgMSwgMjQ5LCA2OSwgMiwgMTAzLCA3LCA2LCAxLCAyNDksIDY5LCAyLCAKLSAgICAyMTYsIDEyLCA3LCA0LCAxLCAyNDksIDY5LCAyLCAyMTYsIDEyLCA3LCA0LCAxLCAyMTUsIDk0LCAyNDgsIDYyLCA3LCA2LCAKLSAgICAxLCAyMjMsIDUyLCA3NiwgNywgNiwgMSwgMjIxLCAxOTcsIDcsIDYsIDEsIDIwNCwgNzYsIDcsIDYsIDEsIDI0NSwgMTUsIDIsIAotICAgIDEwMywgNywgNCwgMSwgMjQ1LCAxNSwgMiwgMTAzLCA3LCA2LCAxLCAyNDMsIDIxMCwgMiwgMTAzLCA3LCA2LCAxLCAyNDMsIAotICAgIDExNCwgNywgNCwgMSwgMjQwLCAyMDgsIDcsIDYsIDEsIDIzNSwgMTkyLCA3LCA2LCAxLCAyNDAsIDE2MSwgMiwgOTEsIDcsIAotICAgIDYsIDEsIDIzNSwgMzAsIDIsIDEwMywgNywgNCwgMSwgMjM1LCAzMCwgMiwgMTAzLCA3LCA0LCAxLCAyMzMsIDE1NSwgMiwgCi0gICAgMTMwLCA3LCA0LCAxLCAyMzMsIDEwNiwgMiwgOTEsIDcsIDYsIDEsIDIxNSwgOTQsIDE5NCwgNywgNiwgMSwgMjMwLCAzMSwgCi0gICAgMiwgNDMsIDEwMywgNywgNCwgMSwgMjMwLCAzMSwgMiwgMjAwLCA0NCwgMjMzLCA0MiwgNywgNiwgMSwgMTQ0LCAyLCAyMzAsIAotICAgIDIyOSwgMTg0LCA3LCA2LCAxLCAxNDQsIDIsIDI0MCwgMjU1LCA3LCA0LCAxLCAxNDQsIDIsIDI0MCwgMjU1LCA3LCA2LCAxLCAKLSAgICAyMjYsIDIyMywgNywgNCwgMSwgMjI2LCAyMjMsIDcsIDYsIDEsIDIyNiwgMTEwLCAyLCAxMDMsIDcsIDQsIDEsIDIyNiwgCi0gICAgMTEwLCAyLCAxMDMsIDcsIDEsIDIxMCwgMjE0LCA3LCA2LCAxLCAxMzgsIDEwNSwgNywgNCwgMSwgMTM4LCAxMDUsIDcsIDYsIAotICAgIDEsIDI0NSwgODMsIDcsIDEsIDIyMywgNTIsIDI0NSwgODQsIDIzMiwgMTI5LCA3LCA0LCAxLCAyMTcsIDE1NCwgMiwgMjI2LCAKLSAgICA3MCwgMTAzLCA3LCA2LCAxLCAyMTcsIDE1NCwgMiwgMTAzLCA3LCA0LCAxLCAyMTcsIDE1NCwgMiwgMTAzLCA3LCA2LCAxLCAKLSAgICAyMTcsIDE1NCwgMiwgMjIzLCA1OCwgMTAzLCA3LCA2LCAxLCAxMDQsIDIsIDI0MCwgMjU1LCA3LCA0LCAxLCAxMDQsIDIsIAotICAgIDI0MCwgMjU1LCA3LCA2LCAxLCAyMTQsIDE1NywgNywgNiwgMSwgMjE0LCAxMDYsIDIsIDEwMywgNywgNiwgMSwgMjExLCAKLSAgICAxMTgsIDIsIDEwMywgNywgNCwgMSwgMjExLCAxMTgsIDIsIDEwMywgNywgNiwgMSwgMjEwLCAxNjAsIDIsIDkxLCA3LCA0LCAKLSAgICAxLCAyMTAsIDE2MCwgMiwgOTEsIDcsIDYsIDEsIDI0NSwgMTYsIDcsIDYsIDEsIDI0NSwgMTcsIDIyMywgNTEsIDcsIDQsIDEsIAotICAgIDI0NSwgMTcsIDIyMywgNTEsIDcsIDQsIDEsIDI0NSwgMTcsIDIsIDIxNywgNzgsIDcsIDEsIDExMywgMiwgOTEsIDcsIDYsIAotICAgIDEsIDEzOCwgMTkwLCA3LCA0LCAxLCAxMzgsIDE5MCwgNywgMSwgMjM1LCAyMDAsIDI0MiwgMTg3LCAyMTgsIDEzMiwgMiwgCi0gICAgOTEsIDcsIDEsIDIxMSwgMTgxLCA3LCAxLCAyNDgsIDU1LCAyNTAsIDE5LCA3LCAxLCAyMzMsIDgzLCAyNTAsIDE5LCA3LCAxLCAKLSAgICAyNTQsIDE0NSwgMjUwLCAxOSwgNywgMSwgMjIzLCA1OCwgMjUwLCAxOSwgNywgNiwgMSwgMjQ2LCA0OCwgMiwgMjUwLCAyNDIsIAotICAgIDcsIDYsIDEsIDI0OSwgNjksIDIsIDQsIDEsIDIxMCwgMTYwLCAyLCAyNTAsIDI0MiwgNywgNCwgMSwgMjQ2LCA0OCwgMiwgCi0gICAgMjUwLCAyNDIsIDcsIDYsIDEsIDIzMiwgMTk0LCA3LCA2LCAxLCAyMzMsIDE1NSwgMiwgNCwgMSwgMjM1LCAxNTAsIDcsIDQsIAotICAgIDEsIDIzMiwgMTk0LCA3LCA2LCAxLCAyMjgsIDE5MSwgNywgNiwgMSwgMjMwLCAzMSwgMiwgNCwgMSwgMjM1LCAxNTAsIDcsIAotICAgIDQsIDEsIDIyOCwgMTkxLCA3LCA2LCAxLCAxMTYsIDIsIDI1MCwgMjQyLCA3LCA0LCAxLCAxMTYsIDIsIDI1MCwgMjQyLCA3LCAKLSAgICA2LCAxLCAyNDAsIDE2MSwgMiwgMjUwLCAyNDIsIDcsIDQsIDEsIDI0MCwgMTYxLCAyLCAyNTAsIDI0MiwgNywgNiwgMSwgCi0gICAgMTQ0LCAyLCAyNTAsIDI0MiwgNywgNCwgMSwgMTQ0LCAyLCAyNTAsIDI0MiwgNywgNiwgMSwgMTA0LCAyLCAyNTAsIDI0MiwgCi0gICAgNywgNCwgMSwgMTA0LCAyLCAyNTAsIDI0MiwgNywgNiwgMSwgMTA0LCAyLCAyNDgsIDEwLCAyMiwgMjMxLCAyMzcsIDcsIDQsIAotICAgIDEsIDEwNCwgMiwgMjQ4LCAxMCwgMjIsIDIzMSwgMjM3LCA3LCA2LCAxLCAxMDQsIDIsIDI0OCwgMTAsIDIyLCAxNDIsIDcsIAotICAgIDQsIDEsIDEwNCwgMiwgMjQ4LCAxMCwgMjIsIDE0MiwgNywgNiwgMSwgMTA0LCAyLCAyNDgsIDEwLCAyMiwgMjUwLCAyNDIsIAotICAgIDcsIDQsIDEsIDEwNCwgMiwgMjQ4LCAxMCwgMjIsIDI1MCwgMjQyLCA3LCA2LCAxLCAxMDQsIDIsIDI0OCwgMTAsIDIyLCAKLSAgICAyNDIsIDE0MywgNywgNCwgMSwgMTA0LCAyLCAyNDgsIDEwLCAyMiwgMjQyLCAxNDMsIDcsIDQsIDEsIDIxNSwgOTQsIDc2LCAKLSAgICA3LCA2LCAxLCAxMTYsIDIsIDI0OCwgMTAsIDIyLCAyMzEsIDIzNywgNywgNCwgMSwgMTE2LCAyLCAyNDgsIDEwLCAyMiwgCi0gICAgMjMxLCAyMzcsIDcsIDYsIDEsIDExNiwgMiwgNTksIDcyLCAyMiwgMjMxLCAyMzcsIDcsIDQsIDEsIDExNiwgMiwgNTksIDcyLCAKLSAgICAyMiwgMjMxLCAyMzcsIDcsIDYsIDEsIDI1NCwgMjUzLCAyLCAyMzEsIDIzNywgNywgNCwgMSwgMjU0LCAyNTMsIDIsIDIzMSwgCi0gICAgMjM3LCA3LCA2LCAxLCAyNDMsIDIxMCwgMiwgOTEsIDcsIDQsIDEsIDI0MywgMjEwLCAyLCA5MSwgNywgNiwgMSwgMjQzLCAKLSAgICAyMTAsIDIsIDI1MCwgMjQyLCA3LCA0LCAxLCAyNDMsIDIxMCwgMiwgMjUwLCAyNDIsIDcsIDYsIDEsIDIzNSwgMzAsIDIsIAotICAgIDI1MCwgMjQyLCA3LCA0LCAxLCAyMzUsIDMwLCAyLCAyNTAsIDI0MiwgNywgNiwgMSwgMTQ0LCAyLCAyMjYsIDIyOCwgNywgNCwgCi0gICAgMSwgMTQ0LCAyLCAyMjYsIDIyOCwgNywgNiwgMSwgMTQ0LCAyLCAyMjYsIDIyOSwgMjIsIDIzMSwgMjM3LCA3LCA0LCAxLCAKLSAgICAxNDQsIDIsIDIyNiwgMjI5LCAyMiwgMjMxLCAyMzcsIDcsIDYsIDEsIDI0NSwgMTcsIDIsIDI1MCwgMjQyLCA3LCA0LCAxLCAKLSAgICAyNDUsIDE3LCAyLCAyNTAsIDI0MiwgNywgNCwgMSwgMjM1LCAxNTEsIDIsIDI1MCwgMjQyLCA3LCA2LCAxLCAyNDYsIDQ3LCAKLSAgICA3LCA2LCAxLCAyNDksIDY5LCAyLCA0LCAxLCAyMTAsIDE1OSwgNywgNCwgMSwgMjQ2LCA0NywgNywgNiwgMSwgMjQzLCAyMTAsIAotICAgIDIsIDE0MiwgNywgNCwgMSwgMjQzLCAyMTAsIDIsIDE0MiwgNywgNiwgMSwgMjQwLCAyMDYsIDcsIDYsIDEsIDIxMSwgMTgxLCAKLSAgICA3LCA2LCAxLCAyMzAsIDMxLCAyLCAyNDIsIDE0MywgNywgNCwgMSwgMjMwLCAzMSwgMiwgMjQyLCAxNDMsIDcsIDYsIDEsIAotICAgIDExNiwgMiwgMjIyLCAyMzcsIDcyLCAyMiwgMTQyLCA3LCA0LCAxLCAxMTYsIDIsIDIyMiwgMjM3LCA3MiwgMjIsIDE0MiwgNywgCi0gICAgNiwgMSwgMjU0LCAyNTMsIDIsIDE0MiwgNywgNCwgMSwgMjU0LCAyNTMsIDIsIDE0MiwgNywgNiwgMSwgMTQ0LCAyLCAyMTgsIAotICAgIDEwNSwgMjIsIDE0MiwgNywgNCwgMSwgMTQ0LCAyLCAyMTgsIDEwNSwgMjIsIDE0MiwgNywgNiwgMSwgMTE2LCAyLCA1MiwgCi0gICAgMjQyLCAxNDMsIDcsIDQsIDEsIDExNiwgMiwgNTIsIDI0MiwgMTQzLCA3LCA2LCAxLCAxMTYsIDIsIDIzNSwgMjAwLCAyNTEsIAotICAgIDE1NCwgNywgNCwgMSwgMTE2LCAyLCAyMzUsIDIwMCwgMjUxLCAxNTQsIDcsIDYsIDEsIDE2MCwgMiwgNTIsIDI0MiwgMTQzLCAKLSAgICA3LCA0LCAxLCAxNjAsIDIsIDUyLCAyNDIsIDE0MywgNywgNiwgMSwgMTYwLCAyLCAyMzUsIDIwMCwgMjUxLCAxNTQsIDcsIDQsIAotICAgIDEsIDE2MCwgMiwgMjM1LCAyMDAsIDI1MSwgMTU0LCA3LCA2LCAxLCAyNDAsIDE2MSwgMiwgNTIsIDI0MiwgMTQzLCA3LCA0LCAKLSAgICAxLCAyNDAsIDE2MSwgMiwgNTIsIDI0MiwgMTQzLCA3LCA2LCAxLCAyNDAsIDE2MSwgMiwgMjM1LCAyMDAsIDI1MSwgMTU0LCAKLSAgICA3LCA0LCAxLCAyNDAsIDE2MSwgMiwgMjM1LCAyMDAsIDI1MSwgMTU0LCA3LCA2LCAxLCAxNDQsIDIsIDUyLCAyNDIsIDE0MywgCi0gICAgNywgNCwgMSwgMTQ0LCAyLCA1MiwgMjQyLCAxNDMsIDcsIDYsIDEsIDE0NCwgMiwgMjM1LCAyMDAsIDI1MSwgMTU0LCA3LCA0LCAKLSAgICAxLCAxNDQsIDIsIDIzNSwgMjAwLCAyNTEsIDE1NCwgNywgNiwgMSwgMjIzLCAyMjcsIDIsIDUyLCAyNDIsIDE0MywgNywgNCwgCi0gICAgMSwgMjIzLCAyMjcsIDIsIDUyLCAyNDIsIDE0MywgNywgNiwgMSwgMjIzLCAyMjcsIDIsIDIzNSwgMjAwLCAyNTEsIDE1NCwgCi0gICAgNywgNCwgMSwgMjIzLCAyMjcsIDIsIDIzNSwgMjAwLCAyNTEsIDE1NCwgNywgNiwgMSwgMTA0LCAyLCA1MiwgMjQyLCAxNDMsIAotICAgIDcsIDQsIDEsIDEwNCwgMiwgNTIsIDI0MiwgMTQzLCA3LCA2LCAxLCAxMDQsIDIsIDIzNSwgMjAwLCAyNTEsIDE1NCwgNywgNCwgCi0gICAgMSwgMTA0LCAyLCAyMzUsIDIwMCwgMjUxLCAxNTQsIDcsIDYsIDEsIDIyMiwgOTQsIDIsIDI0OSwgMjI4LCA1MSwgNywgNCwgCi0gICAgMSwgMjIyLCA5NCwgMiwgMjQ5LCAyMjgsIDUxLCA3LCA2LCAxLCAyMTcsIDE1NCwgMiwgMjQ5LCAyMjgsIDUxLCA3LCA0LCAxLCAKLSAgICAyMTcsIDE1NCwgMiwgMjQ5LCAyMjgsIDUxLCA3LCA2LCAxLCAyMTAsIDIzMSwgNywgNCwgMSwgMjEwLCAyMzEsIDcsIDYsIDEsIAotICAgIDI0MiwgNjgsIDIsIDI1MCwgMjQyLCA3LCA0LCAxLCAyNDIsIDY4LCAyLCAyNTAsIDI0MiwgNywgNiwgMSwgMjMwLCAzMSwgMiwgCi0gICAgMjAwLCA0NCwgMjMzLCA0MiwgNywgNCwgMSwgMjQ5LCA2OSwgMiwgMjQ5LCAxMDgsIDcsIDYsIDEsIDIyNiwgMTM4LCA3LCA0LCAKLSAgICAxLCAyMjYsIDEzOCwgNywgNiwgMSwgMjEwLCAxNjAsIDIsIDEwMywgNywgNCwgMSwgMjEwLCAxNjAsIDIsIDEwMywgNywgNiwgCi0gICAgMSwgMTE2LCAyLCA1OSwgNDgsIDcsIDQsIDEsIDExNiwgMiwgNTksIDQ4LCA3LCA2LCAxLCAxNjAsIDIsIDI1MCwgMTkxLCA3LCAKLSAgICA0LCAxLCAxNjAsIDIsIDI1MCwgMTkxLCA3LCA2LCAxLCAxNDQsIDIsIDI0OCwgMTAsIDIyLCAyMzEsIDIzNywgNywgNCwgMSwgCi0gICAgMTQ0LCAyLCAyNDgsIDEwLCAyMiwgMjMxLCAyMzcsIDcsIDYsIDEsIDE0NCwgMiwgMjE2LCA5MCwgMjIsIDIzMSwgMjM3LCA3LCAKLSAgICA0LCAxLCAxNDQsIDIsIDIxNiwgOTAsIDIyLCAyMzEsIDIzNywgNywgNiwgMSwgMTQ0LCAyLCA1OSwgNDgsIDcsIDQsIDEsIAotICAgIDE0NCwgMiwgNTksIDQ4LCA3LCA2LCAxLCAxNDQsIDIsIDU5LCA3MiwgMjIsIDIzMSwgMjM3LCA3LCA0LCAxLCAxNDQsIDIsIAotICAgIDU5LCA3MiwgMjIsIDIzMSwgMjM3LCA3LCA2LCAxLCAyMTEsIDExOCwgMiwgMjMxLCAyMzcsIDcsIDQsIDEsIDIxMSwgMTE4LCAKLSAgICAyLCAyMzEsIDIzNywgNywgNCwgMSwgMjMzLCAxNTUsIDIsIDI0OSwgMTA4LCA3LCA0LCAxLCAyMzAsIDMxLCAyLCAyNDksIAotICAgIDEwOCwgNywgNCwgMSwgMjE3LCAxNTQsIDIsIDI0OSwgMTA4LCA3LCA0LCAxLCAyNDcsIDEyNywgMjM1LCAxNTAsIDcsIDQsIAotICAgIDEsIDI0OCwgMTUxLCAyNDcsIDIyOCwgNywgNCwgMSwgMjI0LCAzNCwgMjQ3LCAyMjgsIDcsIDYsIDEsIDExNiwgMiwgOTEsIAotICAgIDcsIDYsIDEsIDI1MSwgNzUsIDIsIDkxLCA3LCA0LCAxLCAyNTEsIDc1LCAyLCA5MSwgNywgNiwgMSwgMjMzLCAxNTUsIDIsIAotICAgIDEzMCwgNywgNiwgMSwgMjE3LCAxNTQsIDIsIDI0OCwgNywgOTEsIDcsIDQsIDEsIDIyMiwgOTQsIDIsIDIxNywgMjUxLCAKLSAgICAyMTcsIDc4LCA3LCA0LCAxLCAyMTAsIDE2MCwgMiwgMjE3LCAyNTEsIDIxNywgNzgsIDcsIDYsIDEsIDI0MiwgMTg3LCAyMTgsIAotICAgIDEzMSwgNywgNCwgMSwgMjQyLCAxODcsIDIxOCwgMTMxLCA3LCA2LCAxLCA1NywgMiwgOTEsIDcsIDYsIDEsIDEwNCwgMTMwLCAKLSAgICA3LCA2LCAxLCAyMTUsIDk0LCAyMTQsIDEwNSwgNywgNiwgMSwgMTYwLCAyLCA5MSwgNywgNCwgMSwgMTYwLCAyLCA5MSwgNywgCi0gICAgNiwgMSwgMjM1LCAxNTEsIDIsIDkxLCA3LCA0LCAxLCAyMzUsIDE1MSwgMiwgOTEsIDcsIDYsIDEsIDQsIDIyNCwgMTAwLCAyLCAKLSAgICAyNDEsIDU5LCAyMTcsIDc4LCA3LCA0LCAxLCAyMjQsIDEwMCwgMiwgMjQxLCA1OSwgMjE3LCA3OCwgNywgNiwgMSwgMjIzLCAKLSAgICAyMjcsIDIsIDkxLCA3LCA0LCAxLCAyMjMsIDIyNywgMiwgOTEsIDcsIDYsIDEsIDIxMSwgMTE4LCAyLCA5MSwgNywgNCwgMSwgCi0gICAgMjExLCAxMTgsIDIsIDkxLCA3LCA0LCAxLCAyMTUsIDk0LCA2MSwgNywgNCwgMSwgMjU0LCAxNTEsIDcsIDQsIDEsIDIxNSwgCi0gICAgOTQsIDI1NCwgMTUxLCA3LCA0LCAxLCA1NywgMiwgMTAzLCA3LCA0LCAxLCAyMDQsIDc4LCA3LCA0LCAxLCAyNTEsIDc1LCAyLCAKLSAgICAyNDksIDEwOCwgNywgNCwgMSwgMjQ5LCA2OSwgMiwgMjE3LCA3OCwgNywgNCwgMSwgMjQ5LCA2OSwgMiwgMTAzLCA3LCA0LCAKLSAgICAxLCAyMjMsIDUyLCA3NiwgNywgNCwgMSwgMjIxLCAxOTcsIDcsIDQsIDEsIDIyMSwgMTk4LCAyLCAxMDMsIDcsIDQsIDEsIAotICAgIDIwNCwgNzYsIDcsIDQsIDEsIDIyMywgNTIsIDIwNCwgNzYsIDcsIDQsIDEsIDIyMywgNTIsIDIwNCwgMTYwLCAyLCAxMDMsIAotICAgIDcsIDQsIDEsIDI1MCwgOCwgMjIzLCA1MiwgMjA0LCA3NiwgNywgNCwgMSwgMjQ3LCAxMjcsIDIzNSwgMTUxLCAyLCA5MSwgNywgCi0gICAgNCwgMSwgMjQzLCAyMTAsIDIsIDEwMywgNywgNCwgMSwgMTE5LCAyNDMsIDIwOSwgNywgMSwgNCwgNiwgMjQzLCAyMDksIDcsIAotICAgIDQsIDEsIDI0MywgMTE0LCA3LCA0LCAxLCAyMjMsIDE1NCwgMjQwLCAyNTUsIDcsIDQsIDEsIDIxNSwgOTQsIDI0MiwgNjcsIAotICAgIDcsIDQsIDEsIDI0MiwgNjgsIDIsIDEwMywgNywgNCwgMSwgMjQxLCAyMTUsIDIsIDEwMywgNywgNCwgMSwgMjQwLCAxNjEsIAotICAgIDIsIDkxLCA3LCA0LCAxLCAyMzUsIDE5MiwgNywgMSwgNCwgNiwgNzQsIDcsIDQsIDEsIDIzMywgMTU1LCAyLCAyMzAsIDIyOSwgCi0gICAgMTg0LCA3LCA0LCAxLCAyMzMsIDE1NSwgMiwgMjUyLCA0OSwgNywgNCwgMSwgMjMzLCAxNTUsIDIsIDIyMywgNTgsIDEwMywgCi0gICAgNywgNCwgMSwgMjMzLCA3LCA3LCA0LCAxLCAyMTUsIDk0LCAxOTQsIDcsIDQsIDEsIDIxNSwgOTQsIDIzMiwgNTUsIDIsIAotICAgIDIwMCwgMjMzLCA0MiwgNywgNCwgMSwgMjMyLCA1NSwgMiwgMTAzLCA3LCA0LCAxLCAyMzAsIDMxLCAyLCA0MywgMTAzLCA3LCAKLSAgICA0LCAxLCAyMzAsIDMxLCAyLCAyMjMsIDU4LCAxMDMsIDcsIDEsIDQsIDYsIDIzMCwgMzAsIDcsIDQsIDEsIDI1MiwgMTQyLCAKLSAgICA3OCwgNywgMSwgNCwgNiwgMjI2LCAyMzgsIDcsIDQsIDEsIDI1MCwgOCwgMjI2LCAyMDUsIDcsIDQsIDEsIDIyNSwgMTM2LCAKLSAgICA3LCA0LCAxLCAyMTUsIDk0LCAxNTMsIDcsIDQsIDEsIDIxNSwgOTQsIDIyMywgMjI3LCAyLCAyMDAsIDIzMywgNDIsIDcsIDQsIAotICAgIDEsIDIxNSwgOTQsIDIyMywgMjI3LCAyLCAxMDMsIDcsIDQsIDEsIDIyMywgMjI3LCAyLCAyMDAsIDIzMywgNDIsIDcsIDQsIAotICAgIDEsIDIyMywgMjI3LCAyLCAyMTcsIDc4LCA3LCA0LCAxLCAyMjMsIDIyNywgMiwgMjQ0LCA5NSwgNywgNCwgMSwgMjIzLCA1MiwgCi0gICAgMjIzLCAyMjcsIDIsIDI0NCwgOTUsIDcsIDEsIDQsIDYsIDE1MywgNywgMSwgNCwgNiwgMjM1LCAyMDAsIDE1MywgNywgNCwgCi0gICAgMSwgMjIyLCA5NCwgMiwgMTAzLCA3LCA0LCAxLCAyNDUsIDgzLCA3LCA0LCAxLCAyNDcsIDEyNywgMjM1LCAxNTEsIDIsIAotICAgIDIxOCwgMTA1LCAyMiwgMTAzLCA3LCA0LCAxLCAyMTgsIDIzMywgMjIzLCA1MiwgMjQ1LCA4MywgNywgNCwgMSwgMjQ1LCA4NCwgCi0gICAgMiwgMjQ5LCAxMDgsIDcsIDQsIDEsIDIxNSwgOTQsIDIxNywgMTUzLCA3LCA0LCAxLCAyMTcsIDE1NCwgMiwgMjIzLCA1OCwgCi0gICAgMTAzLCA3LCA0LCAxLCAxMDQsIDEzMCwgNywgNCwgMSwgMjE0LCAxNTcsIDcsIDQsIDEsIDIxNCwgMTA2LCAyLCAxMDMsIDcsIAotICAgIDQsIDEsIDIxNSwgOTQsIDIxNCwgMTA1LCA3LCA0LCAxLCAyMTUsIDk0LCAyMTIsIDk4LCA3LCA0LCAxLCAyMTUsIDk0LCAKLSAgICAyMTEsIDExNywgNywgMSwgNCwgNiwgMjExLCAxMTcsIDcsIDQsIDEsIDIxMCwgMTYwLCAyLCAyMjMsIDU4LCAxMDMsIDcsIDQsIAotICAgIDEsIDIxMCwgMTYwLCAyLCAyNDksIDEwOCwgNywgNCwgMSwgMjQ1LCAxNiwgNywgNCwgMSwgMjQ1LCAxNywgMiwgMjQ5LCAKLSAgICAxMDgsIDcsIDEsIDI0MiwgMTg3LCAyMTgsIDEzMSwgNywgMSwgMjI1LCAxNDIsIDIxMywgMTM1LCAyNDQsIDEsIDcsIDEsIAotICAgIDIzNSwgMjAwLCAyNDIsIDE4NywgMjE4LCAxMzEsIDcsIDEsIDIxOCwgMTEyLCAyNTEsIDc0LCA3LCAxLCAyNTEsIDI1NCwgCi0gICAgMjUwLCAxOSwgNywgMSwgNCwgNiwgMjUzLCAxNjYsIDcsIDQsIDEsIDI1MCwgOCwgMjA0LCA3NiwgNywgMSwgNCwgNiwgMjQzLCAKLSAgICAyMTAsIDIsIDEwMywgNywgMSwgNCwgNiwgMjQyLCA2NywgNywgNCwgMSwgMjM1LCAxNTEsIDIsIDI0OSwgMTM1LCA3LCA0LCAKLSAgICAxLCAyMTUsIDk0LCAyMzUsIDI5LCA3LCAxLCA0LCA2LCAxNTYsIDcsIDQsIDEsIDIyNCwgMTAwLCAyLCAxMDMsIDcsIDEsIAotICAgIDI0MiwgMTg3LCAyMTgsIDEzMiwgMiwgOTEsIDcsIDEsIDIyMywgNTIsIDI0MiwgMTg3LCAyMTgsIDEzMiwgMiwgOTEsIDcsIAotICAgIDQsIDEsIDI0NiwgNDgsIDI0NywgMjI4LCA3LCA0LCAxLCAyNDgsIDM0LCAyNDcsIDIyOCwgNywgNCwgMSwgMjQ2LCA0OCwgCi0gICAgMjQ3LCAyMjksIDIsIDI0OSwgMTA4LCA3LCA0LCAxLCAyMTUsIDE4NiwgMjQ3LCAyMjgsIDcsIDQsIDEsIDIxNiwgMjM2LCAKLSAgICAyNDcsIDIyOCwgNywgNCwgMSwgMjE3LCAzMCwgMjQ3LCAyMjksIDIsIDI0OSwgMTA4LCA3LCA0LCAxLCAyNDQsIDE0MiwgCi0gICAgMjQ3LCAyMjgsIDcsIDQsIDEsIDIzMiwgMTA1LCAyNDcsIDIyOCwgNywgNCwgMSwgMjMyLCA1NiwgMjQ3LCAyMjgsIDcsIDEsIAotICAgIDI1MSwgMjU0LCAyMjUsIDE4NCwgNywgMSwgMjUyLCA2LCAyMjUsIDE4NCwgNywgNCwgMSwgMjE1LCA5NCwgMjQyLCA2OCwgMiwgCi0gICAgMjQ0LCA5NSwgNywgNCwgMSwgMjE1LCA5NCwgMjQyLCA2OCwgMiwgMjQ0LCA5NiwgMjIsIDIxNywgNzgsIDU4LCAxLCA0LCAKLSAgICAyNDIsIDY3LCA1OCwgMSwgNCwgMjQyLCA2OCwgMiwgMTAzLCA1OCwgMSwgNCwgMjM1LCAxNTAsIDU4LCAxLCA0LCAxNTMsIAotICAgIDU4LCAxLCA0LCAyMTUsIDk0LCAxNTMsIDU4LCAxLCA0LCAyMTUsIDk0LCAyMjMsIDIyNywgMiwgMTAzLCA1OCwgMSwgNCwgNiwgCi0gICAgMjM1LCAyMDAsIDE1MywgNTgsIDEsIDQsIDIxMiwgOTgsIDU4LCAxLCA0LCAyMTEsIDExNywgNTgsIDEsIDIyNCwgMTkzLCAKLSAgICA1OCwgMSwgNTIsIDIyNCwgMTkzLCA1OCwgMSwgMjE1LCA5NCwgMjQ5LCAyMjcsIDU4LCAxLCAyNTQsIDY1LCA1OCwgMSwgCi0gICAgMjIzLCA1MiwgMjQ5LCAyMjcsIDU4LCAxLCA0NCwgMTYzLCAyMjIsIDIzNiwgNTgsIDEsIDQzLCAxNjMsIDIyMiwgMjM2LCAKLSAgICA1OCwgMSwgMjQyLCAxODcsIDIxOCwgMTMxLCA1OCwgMSwgMjIzLCA1MiwgMjQyLCAxODcsIDIxOCwgMTMxLCA1OCwgMSwgNDMsIAotICAgIDI1NCwgMSwgNTgsIDEsIDQ0LCAyNTQsIDEsIDU4LCAxLCAxMjAsIDI1NCwgMSwgNTgsIDEsIDEyNCwgMjU0LCAxLCA1OCwgMSwgCi0gICAgMjUwLCAzOSwgMjU1LCAyMywgMjUwLCAyNDIsIDU4LCAxLCA2NywgMjMyLCAyMTksIDU4LCAxLCAyMzEsIDIzNywgNTgsIDEsIAotICAgIDI1NSwgMTIsIDI1NSwgMjMsIDU4LCAxLCAyNDIsIDE0NCwgMjU1LCAyMywgNTgsIDEsIDEyMSwgNjcsIDIzMiwgMjE5LCA1OCwgCi0gICAgMSwgMTIxLCAyMzEsIDIzNywgNTgsIDEsIDEyMSwgMjQyLCAxNDQsIDI1NSwgMjMsIDU4LCAxLCAxMjEsIDI1NSwgMTIsIAotICAgIDI1NSwgMjMsIDU4LCAxLCAyMTUsIDIyMywgMjQ5LCAyMzQsIDU4LCAxLCAxNjMsIDIxNSwgMjIzLCAyNDksIDIzNCwgNTgsIAotICAgIDEsIDI1MCwgMTgxLCA0NCwgMTYzLCAyMjIsIDIzNiwgNTgsIDEsIDI1MCwgMTgxLCA0MywgMTYzLCAyMjIsIDIzNiwgNTgsIAotICAgIDEsIDEyMCwgMjE3LCA4OCwgNTgsIDEsIDEyNCwgMjE3LCA4OCwgNTgsIDEsIDk2LCA1MCwgNTgsIDEsIDIzMCwgMTg3LCA1MCwgCi0gICAgMjUxLCAxNTQsIDU5LCA0OCwgMjIyLCAyMzcsIDQ4LCAyMjYsIDIyOCwgNCwgMTg0LCA1MiwgMjU1LCAxMiwgMjU1LCAyMywgCi0gICAgNTgsIDEsIDIyMywgMzksIDEwMywgNTgsIDEsIDI0OSwgMTM5LCAyNTUsIDIzLCA1OCwgMSwgNCwgMjQzLCAxMTQsIDU4LCAxLCAKLSAgICA0LCAxNTYsIDU4LCAxLCA0LCAyMjIsIDkzLCA1OCwgMSwgNCwgMjExLCAxNzgsIDU4LCAxLCA0LCAyMjMsIDUyLCAyNDIsIAotICAgIDE4NywgMjE4LCAxMzEsIDU4LCAxLCAyNDUsIDI4LCAxMzgsIDEzMCwgNTgsIDEsIDEyNSwgMTM4LCAxMzAsIDU4LCAxLCAKLSAgICAyMzAsIDIzMCwgMTM4LCAxMzAsIDU4LCAxLCAxMjEsIDEzOCwgMTMwLCA1OCwgMSwgMjQ1LCAyNywgMTM4LCAxMzAsIDU4LCAKLSAgICAxLCAyMTAsIDI1NCwgMjQ4LCA1MiwgMTM4LCA3OSwgNTgsIDEsIDIxMSwgNzAsIDI0OCwgNTIsIDEzOCwgNzksIDU4LCAxLCAKLSAgICAyMTMsIDEzMywgNTgsIDEsIDIxNCwgMTg2LCA1OCwgMSwgNTIsIDI1NCwgNjUsIDU4LCAxLCAxMjEsIDEyNCwgMjU0LCAxLCAKLSAgICA1OCwgMSwgMTIxLCAxMjAsIDI1NCwgMSwgNTgsIDEsIDEyMSwgNDMsIDI1NCwgMSwgNTgsIDEsIDEyMSwgNDQsIDI1NCwgMSwgCi0gICAgNTgsIDEsIDEyMSwgMjIyLCAyMzYsIDU4LCAxLCAyMzAsIDIyOSwgMjQyLCAxNDQsIDI1NSwgMjMsIDU4LCAxLCAyMzAsIAotICAgIDIyOSwgNTIsIDI0MiwgMTQ0LCAyNTUsIDIzLCA1OCwgMSwgMjMwLCAyMjksIDUyLCAyNTUsIDEyLCAyNTUsIDIzLCA1OCwgMSwgCi0gICAgMTIxLCAxODQsIDU4LCAxLCAyMjMsIDE2MCwgMjQ5LCAyMzQsIDU4LCAxLCAyNTIsIDY2LCAxMjUsIDIxNiwgMzEsIDU4LCAxLCAKLSAgICAyNDUsIDE1MSwgMTI1LCAyMTYsIDMxLCA1OCwgMSwgMjUyLCA2NiwgMTIxLCAyMTYsIDMxLCA1OCwgMSwgMjQ1LCAxNTEsIAotICAgIDEyMSwgMjE2LCAzMSwgNTgsIDEsIDIyMCwgNTYsIDU4LCAxLCAyMDQsIDIyMCwgNTYsIDU4LCAxLCAxMjEsIDQzLCA3NSwgCi0gICAgMzgsIDI0MiwgMTQ0LCAyNTUsIDIzLCAzOCwgMjU1LCAxMiwgMjU1LCAyMywgMzgsIDI1MCwgMzksIDI1NSwgMjMsIDM4LCAKLSAgICAxODQsIDM4LCAyMzEsIDIzNywgMzgsIDIyNiwgMTIzLCAzOCwgMjUxLCAxNTQsIDM4LCA1OSwgNDgsIDM4LCAyNDgsIDksIAotICAgIDM4LCAyNDEsIDU5LCA0OCwgMzgsIDIyMiwgMjM3LCA0OCwgMzgsIDUyLCAyNTUsIDEyLCAyNTUsIDIzLCAzOCwgMjUwLCAKLSAgICAyNDIsIDM4LCA2NywgMjMyLCAyMjAsIDQ4LCAzOCwgNTIsIDY3LCAyMzIsIDIyMCwgNDgsIDM4LCA1MiwgMjQyLCAxNDQsIAotICAgIDI1NSwgMjMsIDM4LCAyNTEsIDcsIDM4LCAyMzUsIDIwMCwgMjUxLCAxNTQsIDM4LCAyMTUsIDk0LCAyNDksIDIyOCwgNDgsIAotICAgIDM4LCAyNDksIDIyOCwgNDgsIDM4LCAyMjMsIDUyLCAyNDksIDIyOCwgNDgsIDM4LCAyNDksIDIyOCwgNzIsIDIyMiwgMjU0LCAKLSAgICAzOCwgMjQyLCAxNDQsIDI1NSwgMjQsIDUxLCAzOCwgMjU1LCAxMiwgMjU1LCAyNCwgNTEsIDM4LCA0MywgMjE3LCA4OSwgNTEsIAotICAgIDM4LCA0NCwgMjE3LCA4OSwgNTEsIDM4LCA0MywgMjU0LCAxMTgsIDQ4LCAzOCwgMjQwLCAyNTUsIDM4LCA0MywgMTYzLCAKLSAgICAyMjIsIDIzNywgNTEsIDM4LCAxMjAsIDIxNywgODksIDUxLCAzOCwgMTI0LCAyMTcsIDg5LCA1MSwgMzgsIDk2LCA1LCA1MSwgCi0gICAgMzgsIDIzMCwgMTg3LCA1LCA1MSwgMzgsIDIyNiwgNjgsIDI0MSwgNTksIDUxLCAzOCwgMjIzLCA1OCwgMjQxLCA1OSwgNTEsIAotICAgIDM4LCA1OSwgNTEsIDM4LCAyNDgsIDEwLCA1MSwgMzgsIDIyMiwgMjM3LCA1MSwgMzgsIDI0OSwgMjI4LCA1MSwgMzgsIDI1MCwgCi0gICAgMTkxLCAzOCwgMjI2LCAyMjgsIDM4LCA2NywgMjMyLCAyMjAsIDUxLCAzOCwgMjUxLCAxNDgsIDUxLCAzOCwgMjM1LCAyMDAsIAotICAgIDUyLCAyNTQsIDMyLCA1MSwgMzgsIDI1MCwgMjQzLCA1MSwgMzgsIDI1MCwgMzksIDI1NSwgMjQsIDUxLCAzOCwgMjUxLCAKLSAgICAxNTUsIDUxLCAzOCwgMjM1LCAyMDAsIDI1MSwgMTU1LCA1MSwgMzgsIDIxNiwgOTAsIDUxLCAzOCwgMjMxLCAyMzgsIDUxLCAKLSAgICAzOCwgMTIxLCAyMzIsIDIxOSwgMzgsIDUyLCAxMjEsIDIzMiwgMjE5LCAzOCwgMjE2LCA5MCwgMjI2LCAxMjQsIDM4LCAyMTksIAotICAgIDI1MywgMjE4LCAxMDUsIDIyNiwgMTI0LCAzOCwgMjAwLCAyMTgsIDEwNSwgMjI2LCAxMjQsIDM4LCAyMTksIDI1MywgMjE5LCAKLSAgICA0OSwgMjI2LCAxMjQsIDM4LCAyMDAsIDIxOSwgNDksIDIyNiwgMTI0LCAzOCwgNDQsIDE2MywgMjIyLCAyMzcsIDUxLCAzOCwgCi0gICAgMjM1LCAyMDAsIDI1MSwgMTQ4LCA1MSwgMzgsIDQyLCA1MSwgMzgsIDIyMSwgMTgyLCA1MSwgMzgsIDIxMSwgMTc5LCA0OCwgCi0gICAgMzgsIDY3LCAxODQsIDM4LCA1MiwgMjI2LCAxMjMsIDM4LCAyNDIsIDE0NCwgMTM4LCA3OSwgMzgsIDI1NSwgMTIsIDEzOCwgCi0gICAgNzksIDM4LCAyNiwgMjI1LCAxNzgsIDM4LCAyNiwgMjM0LCA4LCAzOCwgMjYsIDI0OCwgNCwgMjE2LCAxOSwgMzgsIDI2LCAKLSAgICAyMTAsIDIxOSwgMzgsIDI1MSwgMTQ4LCA0OCwgMzgsIDI0NSwgMTA2LCA1LCA1MSwgMzgsIDUyLCA2NywgMjMyLCAyMjAsIAotICAgIDUxLCAzOCwgNDMsIDI1NCwgMTE4LCA1MSwgMzgsIDIyOCwgNTcsIDIxNiwgOTAsIDQ4LCAzOCwgMjQxLCA2NSwgNDgsIDM4LCAKLSAgICAyNTQsIDE1NiwgMTI4LCAyMTYsIDQzLCA0OCwgMzgsIDQzLCA0NCwgODAsIDUxLCAzOCwgMjE0LCAxNTMsIDgwLCA1MSwgMzgsIAotICAgIDI0MiwgMTQ5LCAyMzUsIDY5LCAzOCwgNDQsIDI1NCwgMiwgNDgsIDM4LCA0MywgMTYzLCAyMjIsIDIzNywgNDgsIDM4LCAKLSAgICAyNDQsIDEzOSwgMzgsIDIxMSwgMTc5LCA1MSwgMzgsIDQzLCAyNTQsIDIsIDUxLCAzOCwgNDQsIDI1NCwgMiwgNTEsIDM4LCAKLSAgICA0NCwgMjU0LCAyLCAyMiwgMTIwLCAyNTQsIDIsIDUxLCAzOCwgNDQsIDE2MywgMjIyLCAyMzcsIDQ4LCAzOCwgNTksIDcyLCAKLSAgICAyMjIsIDI1NCwgMzgsIDI1MywgMjI1LCA1MSwgMzgsIDUyLCAyMjIsIDIzNywgNTEsIDM4LCAyMTAsIDM1LCA0OCwgMzgsIAotICAgIDUyLCAyNTEsIDE1NSwgNTEsIDM4LCA1MiwgMjUxLCAxNTQsIDM4LCA1MiwgMjMxLCAyMzcsIDM4LCA1MiwgMjMxLCAyMzgsIAotICAgIDUxLCAzOCwgNTIsIDE4NCwgMzgsIDUyLCAyMzUsIDIwMCwgMjUxLCAxNTQsIDM4LCA1MiwgOTcsIDgwLCA1MSwgMzgsIDcsIAotICAgIDQsIDEsIDYxLCAzOCwgNywgNCwgMSwgNzYsIDM4LCA3LCA0LCAxLCA3NCwgMzgsIDcsIDQsIDEsIDc4LCAzOCwgNywgNCwgMSwgCi0gICAgNjksIDM4LCA3LCA0LCAxLCAyNTEsIDc0LCAzOCwgNywgNCwgMSwgMjQ5LCA2OCwgMzgsIDcsIDQsIDEsIDI0MiwgNjcsIDM4LCAKLSAgICA3LCA0LCAxLCAxOTQsIDM4LCA3LCA0LCAxLCAxNTMsIDM4LCA3LCA0LCAxLCAyMTcsIDE1MywgMzgsIDcsIDQsIDEsIDIxNCwgCi0gICAgMTA1LCAzOCwgNywgNCwgMSwgMjExLCAxNzgsIDI2LCA2LCAxLCAyNDEsIDIwMywgMjYsIDQsIDEsIDI0MSwgMjAzLCAyNiwgCi0gICAgNiwgMSwgMjU0LCAzMSwgMjIxLCAyNDgsIDI2LCA0LCAxLCAyNTQsIDMxLCAyMjEsIDI0OCwgMjYsIDIyNywgMjAyLCA1MCwgCi0gICAgMjYsIDIzMiwgMTE0LCAyMjcsIDIwMiwgNTAsIDI2LCA2LCAxLCAyMjYsIDU1LCAyNDcsIDIzNSwgMjYsIDQsIDEsIDIyNiwgCi0gICAgNTUsIDI0NywgMjM1LCAyNiwgMjEwLCAyMTksIDI2LCA0LCAyMjMsIDUyLCAyMzIsIDg4LCAyMTksIDE4MCwgODcsIDI2LCA0LCAKLSAgICAyNDYsIDEyNiwgMjMyLCA4OCwgMjE5LCAxODAsIDg3LCAyNiwgNCwgMjIzLCA1MiwgMjQ2LCAxMjYsIDIzMiwgODgsIDIxOSwgCi0gICAgMTgwLCA4NywgMjYsIDIyNCwgMTYsIDc5LCAyNiwgMjE2LCAxOSwgMjYsIDI0OCwgNCwgMjE2LCAxOSwgMjYsIDYsIDEsIAotICAgIDI1NCwgMTUyLCAyLCAyMTYsIDE5LCAyNiwgMjU0LCAxMDUsIDIxNywgMywgMjYsIDYsIDEsIDI0NSwgMTA5LCAyLCAyMTYsIAotICAgIDE5LCAyNiwgNiwgMSwgMjQ1LCA3MiwgMiwgMjE2LCAxOSwgMjYsIDYsIDEsIDIzNSwgMTkzLCAyLCAyMTYsIDE5LCAyNiwgNiwgCi0gICAgMSwgMjI2LCAyMDQsIDIsIDIxNiwgMTksIDI2LCA2LCAxLCAyMTQsIDE1OCwgMiwgMjE2LCAxOSwgMjYsIDYsIDEsIDIyNiwgCi0gICAgMjA2LCAyLCAyMTYsIDE5LCAyNiwgNCwgMSwgMjM1LCAxOTMsIDIsIDI0OCwgNCwgMjIsIDIxNiwgMTksIDI2LCA2LCAxLCAKLSAgICAyNTQsIDE1MSwgMjYsIDYsIDEsIDI1MiwgMzQsIDI2LCA2LCAxLCAyNDMsIDExNCwgMjYsIDYsIDEsIDI0OCwgNjIsIDI2LCAKLSAgICA2LCAxLCAyNDUsIDEwOCwgMjYsIDYsIDEsIDIxMCwgODUsIDI2LCA2LCAxLCAyNDUsIDcxLCAyNiwgNiwgMSwgMjE2LCAxODAsIAotICAgIDI2LCA2LCAxLCAyMzUsIDE5MiwgMjYsIDYsIDEsIDIzNCwgMjI4LCAyNiwgNiwgMSwgMjMzLCAxMDQsIDI2LCA2LCAxLCAKLSAgICAyMzAsIDEwNywgMjYsIDYsIDEsIDIyNywgMjQyLCAyNiwgNiwgMSwgMjExLCAxNTcsIDI2LCA2LCAxLCAyMjYsIDIwMywgMjYsIAotICAgIDYsIDEsIDIyNSwgMTExLCAyNiwgNiwgMSwgMjIzLCA0MCwgMjYsIDYsIDEsIDIxOSwgMTc5LCAyNiwgNiwgMSwgMjE3LCA0MiwgCi0gICAgMjYsIDYsIDEsIDIxNCwgMTU3LCAyNiwgNiwgMSwgMjI1LCAxMzYsIDI2LCA2LCAxLCAyNTAsIDExOCwgMjYsIDYsIDEsIAotICAgIDIyNCwgMTY0LCAyNiwgNiwgMSwgMjI2LCAyMDUsIDI2LCA2LCAxLCAyMzUsIDE5MywgMiwgMjQ4LCAzLCAyNiwgNiwgMSwgCi0gICAgMjE0LCAxNTgsIDIsIDI0OCwgMywgMjYsIDQsIDEsIDI1NCwgMTUyLCAyLCAyMTYsIDE5LCAyNiwgNCwgMSwgMjQ1LCAxMDksIAotICAgIDIsIDIxNiwgMTksIDI2LCA0LCAxLCAyNDUsIDcyLCAyLCAyMTYsIDE5LCAyNiwgNCwgMSwgMjM1LCAxOTMsIDIsIDIxNiwgCi0gICAgMTksIDI2LCA0LCAxLCAyMTQsIDE1OCwgMiwgMjQ4LCA0LCAyMiwgMjE2LCAxOSwgMjYsIDQsIDEsIDI1NCwgMTUxLCAyNiwgCi0gICAgNCwgMSwgMjUyLCAzNCwgMjYsIDQsIDEsIDI0MywgMTE0LCAyNiwgNCwgMSwgMjQ4LCA2MiwgMjYsIDQsIDEsIDI0NSwgMTA4LCAKLSAgICAyNiwgNCwgMSwgMjEwLCA4NSwgMjYsIDQsIDEsIDI0NSwgNzEsIDI2LCA0LCAxLCAyMTYsIDE4MCwgMjYsIDQsIDEsIDIzNSwgCi0gICAgMTkyLCAyNiwgNCwgMSwgMjM0LCAyMjgsIDI2LCA0LCAxLCAyMzMsIDEwNCwgMjYsIDQsIDEsIDIzMCwgMTA3LCAyNiwgNCwgCi0gICAgMSwgMjI3LCAyNDIsIDI2LCA0LCAxLCAyMTEsIDE1NywgMjYsIDQsIDEsIDIyNiwgMjAzLCAyNiwgNCwgMSwgMjI1LCAxMTEsIAotICAgIDI2LCA0LCAxLCAyMjMsIDQwLCAyNiwgNCwgMSwgNDAsIDIxOSwgMTc5LCAyNiwgNCwgMSwgMjE5LCAxNzksIDI2LCA0LCAxLCAKLSAgICAyMTcsIDQyLCAyNiwgNCwgMSwgMjE0LCAxNTcsIDI2LCA0LCAxLCAyMjUsIDEzNiwgMjYsIDQsIDEsIDI1MCwgMTE4LCAyNiwgCi0gICAgNCwgMSwgMjI0LCAxNjQsIDI2LCA0LCAxLCAyMjYsIDIwNSwgMjYsIDQsIDEsIDIzNSwgMTkzLCAyLCAyNDgsIDMsIDI2LCA0LCAKLSAgICAxLCAyMTQsIDE1OCwgMiwgMjQ4LCAzLCAyNiwgNCwgMSwgMjI2LCAyMDQsIDIsIDIxNiwgMTksIDI2LCA0LCAxLCAyMTQsIAotICAgIDE1OCwgMiwgMjE2LCAxOSwgMjYsIDQsIDEsIDIyNiwgMjA2LCAyLCAyMTYsIDE5LCAyNiwgNiwgMjM0LCAyNTMsIDg3LCAyNiwgCi0gICAgMjUyLCAzNSwgODcsIDI2LCAyMTYsIDE4MSwgODcsIDI2LCAyMTQsIDE1OCwgMiwgMjQxLCA1OSwgODcsIDI2LCAyMTQsIAotICAgIDE1OCwgMiwgMjU1LCAxMiwgMjIsIDI0MSwgNTksIDg3LCAyNiwgMjE0LCAxNTgsIDIsIDI0OCwgMTAsIDIyLCAyNDEsIDU5LCAKLSAgICA4NywgMjYsIDIyNSwgMTM3LCA4NywgMjYsIDIyNSwgMTEyLCA4NywgMjYsIDIzNCwgMjUzLCA4NywgMjYsIDEsIDI1NCwgMzEsIAotICAgIDIzNCwgMTIsIDI2LCA0LCAxLCAyNTQsIDMxLCAyMzQsIDEyLCAyNiwgMSwgMjE4LCAxMzksIDI2LCA0LCAxLCAyMTgsIDEzOSwgCi0gICAgMjYsIDEsIDI0NywgMjM1LCAyNiwgNCwgMSwgMjQ3LCAyMzUsIDI2LCAxLCAyMzQsIDEyLCAyNiwgNCwgMSwgMjM0LCAxMiwgCi0gICAgMjYsIDEsIDIyMSwgMjQ4LCAyNiwgNCwgMSwgMjIxLCAyNDgsIDgxLCA2LCAxLCAyMjAsIDU3LCA4MSwgNCwgMSwgMjIwLCAKLSAgICA1NywgODEsIDYsIDEsIDI0NCwgMTQ4LCA4MSwgNCwgMSwgMjQ0LCAxNDgsIDgxLCA2LCAxLCAyMzQsIDEyMywgODEsIDQsIDEsIAotICAgIDIzNCwgMTIzLCA4MSwgNiwgMSwgMjQxLCA1MiwgODEsIDQsIDEsIDI0MSwgNTIsIDgxLCA2LCAxLCAyNDMsIDEwOSwgODEsIAotICAgIDQsIDEsIDI0MywgMTA5LCA4MSwgNiwgMSwgMjIwLCAyNCwgODEsIDQsIDEsIDIyMCwgMjQsIDgxLCA2LCAxLCAyNDgsIDc3LCAKLSAgICA4MSwgNCwgMSwgMjQ4LCA3NywgMjYsIDIzNCwgMjI5LCA4NywgMjYsIDIyMywgNDEsIDg3LCAyNiwgMjMyLCA4OCwgMjE5LCAKLSAgICAxODAsIDg3LCAyNiwgMSwgMjEwLCAyMjQsIDI2LCA2LCAyMTYsIDE4MSwgODcsIDI2LCAyMzIsIDg4LCAyNDUsIDEwOSwgODcsIAotICAgIDI2LCAyMjMsIDUyLCAyMzIsIDg4LCAyNDUsIDEwOSwgODcsIDI2LCA2LCAxLCAyMjAsIDksIDI2LCA0LCAxLCAyMjAsIDksIAotICAgIDI2LCA2LCAyMzIsIDg4LCAyMTksIDE4MCwgODcsIDI2LCA2LCAxLCAyMjEsIDI0NSwgMjYsIDQsIDEsIDIyMSwgMjQ1LCAyNiwgCi0gICAgMjIzLCA0MSwgMiwgMjE4LCAxMDUsIDg3LCAyNiwgNiwgMjIzLCA1MiwgMjMyLCA4OCwgMjE5LCAxODAsIDg3LCAyNiwgNiwgCi0gICAgMjQ2LCAxMjYsIDIzMiwgODgsIDIxOSwgMTgwLCA4NywgMjYsIDYsIDIyMywgNTIsIDI0NiwgMTI2LCAyMzIsIDg4LCAyMTksIAotICAgIDE4MCwgODcsIDMzLCA2LCAxLCAyMzYsIDY4LCAyLCAyNDIsIDE0MywgMzMsIDYsIDEsIDIzNSwgMTk2LCAzMywgNiwgMSwgCi0gICAgMjQ3LCAxNzAsIDMzLCA2LCAxLCAyNDIsIDE5NCwgMzMsIDYsIDEsIDIxNCwgMjAyLCAyMzYsIDY3LCAzMywgNiwgMSwgMjQ2LCAKLSAgICA0NCwgMzMsIDYsIDEsIDI1MSwgODQsIDc0LCAzMywgNiwgMSwgMjExLCA4LCAzMywgNiwgMSwgMjM1LCAxMzIsIDMzLCA2LCAKLSAgICAxLCAyMzIsIDE5MywgMzMsIDYsIDEsIDIyOCwgMTgzLCAzMywgNiwgMSwgMjE1LCAxNzUsIDMzLCA2LCAxLCAyMzQsIDU0LCAKLSAgICAzMywgNiwgMSwgMjQwLCAxNjEsIDIsIDI0MiwgMTQzLCAzMywgNiwgMSwgMjE5LCAyNTMsIDY5LCAzMywgNiwgMSwgMjQ2LCAKLSAgICA0MCwgMzMsIDYsIDEsIDYxLCAzMywgNiwgMSwgMjUyLCA4MywgMzMsIDYsIDEsIDIxMywgMjU1LCAzMywgNiwgMSwgMjQyLCAKLSAgICAyNDMsIDMzLCA2LCAxLCAyNDgsIDk4LCAzMywgNiwgMSwgMjM2LCA2NywgMzMsIDYsIDEsIDIxMCwgNzQsIDMzLCA2LCAxLCAKLSAgICAyMTAsIDk0LCAzMywgNiwgMSwgNzQsIDMzLCA2LCAxLCAyMTksIDI1MywgNzQsIDMzLCA2LCAxLCAxNzYsIDMzLCA2LCAxLCAKLSAgICAyNDUsIDE4MiwgMzMsIDYsIDEsIDI0NSwgMTY3LCAzMywgNiwgMSwgMjQ1LCAxNTgsIDMzLCA2LCAxLCA3OCwgMzMsIDYsIDEsIAotICAgIDIyNSwgMjI0LCAzMywgNiwgMSwgMjQ1LCAxMDAsIDMzLCA2LCAxLCAyNDUsIDkwLCAzMywgNiwgMSwgMjE3LCAyMywgMzMsIAotICAgIDYsIDEsIDY5LCAzMywgNiwgMSwgMjQ1LCAyMTAsIDMzLCA2LCAxLCAxNjIsIDMzLCA2LCAxLCAyMTUsIDE3OSwgMzMsIDYsIAotICAgIDEsIDI1MCwgMTM5LCAzMywgNiwgMSwgMjIwLCAxMDQsIDMzLCA2LCAxLCAyMjAsIDY3LCAzMywgNiwgMSwgMjQyLCAxMCwgCi0gICAgNTAsIDMzLCA2LCAxLCAyMTEsIDI3LCAzMywgNiwgMSwgMjE5LCA1NCwgNTAsIDMzLCA2LCAxLCA3NiwgMzMsIDYsIDEsIAotICAgIDIxMCwgMjEyLCAzMywgNiwgMSwgMTkyLCAzMywgNCwgMSwgNjEsIDMzLCA0LCAxLCAyNTIsIDgzLCAzMywgNCwgMSwgMjEzLCAKLSAgICAyNTUsIDMzLCA0LCAxLCAyNDIsIDI0MywgMzMsIDQsIDEsIDI0OCwgOTgsIDMzLCA0LCAxLCAyMzYsIDY3LCAzMywgNCwgMSwgCi0gICAgMjEwLCA3NCwgMzMsIDQsIDEsIDIxMCwgOTQsIDMzLCA0LCAxLCA3NCwgMzMsIDQsIDEsIDIxOSwgMjUzLCA3NCwgMzMsIDQsIAotICAgIDEsIDE3NiwgMzMsIDQsIDEsIDI0NSwgMTgyLCAzMywgNCwgMSwgMjQ1LCAxNjcsIDMzLCA0LCAxLCAyNDUsIDE1OCwgMzMsIAotICAgIDQsIDEsIDc4LCAzMywgNCwgMSwgMjI1LCAyMjQsIDMzLCA0LCAxLCAyNDUsIDEwMCwgMzMsIDQsIDEsIDI0NSwgOTAsIDMzLCAKLSAgICA0LCAxLCAyMTcsIDIzLCAzMywgNCwgMSwgNjksIDMzLCA0LCAxLCAyNDUsIDIxMCwgMzMsIDQsIDEsIDE2MiwgMzMsIDQsIDEsIAotICAgIDIxNSwgMTc5LCAzMywgNCwgMSwgMjUwLCAxMzksIDMzLCA0LCAxLCAyMjAsIDEwNCwgMzMsIDQsIDEsIDIyMCwgNjcsIDMzLCAKLSAgICA0LCAxLCAyNDIsIDEwLCA1MCwgMzMsIDQsIDEsIDIxMSwgMjcsIDMzLCA0LCAxLCAyMTksIDU0LCA1MCwgMzMsIDQsIDEsIAotICAgIDc2LCAzMywgNCwgMSwgMjEwLCAyMTIsIDMzLCA0LCAxLCAxOTIsIDMzLCA0LCAxLCAyMzYsIDY4LCAyLCAyNDIsIDE0MywgCi0gICAgMzMsIDQsIDEsIDIzNSwgMTk2LCAzMywgNCwgMSwgMjQ3LCAxNzAsIDMzLCA0LCAxLCAyNDIsIDE5NCwgMzMsIDQsIDEsIAotICAgIDIxNCwgMjAyLCAyMzYsIDY3LCAzMywgNCwgMSwgMjQ2LCA0NCwgMzMsIDQsIDEsIDI1MSwgODQsIDc0LCAzMywgNCwgMSwgCi0gICAgMjExLCA4LCAzMywgNCwgMSwgMjM1LCAxMzIsIDMzLCA0LCAxLCAyMzIsIDE5MywgMzMsIDQsIDEsIDIyOCwgMTgzLCAzMywgCi0gICAgNCwgMSwgMjE1LCAxNzUsIDMzLCA0LCAxLCAyMzQsIDU0LCAzMywgNCwgMSwgMjQwLCAxNjEsIDIsIDI0MiwgMTQzLCAzMywgCi0gICAgNCwgMSwgMjE5LCAyNTMsIDY5LCAzMywgNCwgMSwgMjQ2LCA0MCwgMzMsIDYsIDEsIDIyNiwgMjA1LCAzMywgNCwgMSwgMjI2LCAKLSAgICAyMDUsIDMzLCA2LCAxLCAyMTEsIDU5LCAzMywgNCwgMSwgMjExLCA1OSwgMzMsIDYsIDEsIDIzNSwgMTkwLCA3NiwgMzMsIDQsIAotICAgIDEsIDIzNSwgMTkwLCA3NiwgMzMsIDYsIDEsIDIzMiwgMTk4LCAyMTAsIDE4MywgMzMsIDQsIDEsIDIzMiwgMTk4LCAyMTAsIAotICAgIDE4MywgMzMsIDYsIDEsIDIzNSwgMTkwLCAyMzIsIDE5OCwgMjEwLCAxODMsIDMzLCA0LCAxLCAyMzUsIDE5MCwgMjMyLCAKLSAgICAxOTgsIDIxMCwgMTgzLCAzMywgNiwgMSwgMjUyLCAxLCAyMTAsIDE4MywgMzMsIDQsIDEsIDI1MiwgMSwgMjEwLCAxODMsIAotICAgIDMzLCA2LCAxLCAyMzUsIDE5MCwgMjUyLCAxLCAyMTAsIDE4MywgMzMsIDQsIDEsIDIzNSwgMTkwLCAyNTIsIDEsIDIxMCwgCi0gICAgMTgzLCAzMywgNiwgMSwgMjMzLCAyMzksIDMzLCA0LCAxLCAyMzMsIDIzOSwgMzMsIDYsIDEsIDIyNCwgMTY0LCAzMywgNCwgCi0gICAgMSwgMjI0LCAxNjQsIDMzLCA2LCAxLCAyNDQsIDkwLCAzMywgNCwgMSwgMjQ0LCA5MCwgMzMsIDYsIDEsIDIzNSwgMTUyLCAKLSAgICAzMywgNCwgMSwgMjM1LCAxNTIsIDMzLCA2LCAxLCAyMzUsIDE1MywgMiwgNTIsIDI0MiwgMTQ0LCAyNTUsIDIzLCAzMywgNCwgCi0gICAgMSwgMjM1LCAxNTMsIDIsIDUyLCAyNDIsIDE0NCwgMjU1LCAyMywgMzMsIDYsIDEsIDIxNCwgMjA1LCAzMywgNCwgMSwgMjE0LCAKLSAgICAyMDUsIDMzLCA2LCAxLCAyMjIsIDE4NywgMjI2LCAyMDUsIDMzLCA0LCAxLCAyMjIsIDE4NywgMjI2LCAyMDUsIDMzLCA2LCAKLSAgICAxLCAyMjYsIDIwNiwgMiwgMjE2LCA2NiwgMzMsIDQsIDEsIDIyNiwgMjA2LCAyLCAyMTYsIDY2LCAzMywgNiwgMSwgMjI2LCAKLSAgICAxNDQsIDMzLCA0LCAxLCAyMjYsIDE0NCwgMzMsIDYsIDEsIDIzNCwgMTIsIDMzLCA0LCAxLCAyMzQsIDEyLCAzMywgMjE2LCAKLSAgICAxNDcsIDUwLCAzOCwgMzMsIDIxNiwgNjYsIDM4LCAzMywgMjI2LCA2OSwgMzgsIDMzLCAyNDgsIDE2MiwgMjI1LCAyMSwgMzgsIAotICAgIDMzLCAyMjQsIDE1OCwgMjI1LCAyMSwgMzgsIDMzLCAyMjUsIDYsIDM4LCAzMywgMjQwLCAyMTgsIDIxNiwgMTQ3LCA1MCwgCi0gICAgMzgsIDMzLCAyMzAsIDE5NiwgNTAsIDMzLCA2LCAxLCAyMTksIDI1MywgMjQwLCAxNjEsIDIsIDIxNywgNzgsIDMzLCA0LCAxLCAKLSAgICAyMTksIDI1MywgMjQwLCAxNjEsIDIsIDIxNywgNzgsIDMzLCA2LCAxLCAyMjAsIDE0OCwgNTAsIDMzLCA0LCAxLCAyMjAsIAotICAgIDE0OCwgNTAsIDMzLCA2LCAxLCAyNDUsIDEwMSwgMiwgMjE2LCAxMTUsIDMzLCA0LCAxLCAyNDUsIDEwMSwgMiwgMjE2LCAKLSAgICAxMTUsIDMzLCA2LCAxLCAyNDIsIDI0NCwgMiwgMjE0LCAxNTYsIDMzLCA0LCAxLCAyNDIsIDI0NCwgMiwgMjE0LCAxNTYsIAotICAgIDMzLCA2LCAxLCAyNDIsIDI0NCwgMiwgOTEsIDMzLCA0LCAxLCAyNDIsIDI0NCwgMiwgOTEsIDMzLCA2LCAxLCAyNDIsIDI0NCwgCi0gICAgMiwgMjMwLCAyMjksIDEwMywgMzMsIDQsIDEsIDI0MiwgMjQ0LCAyLCAyMzAsIDIyOSwgMTAzLCAzMywgNiwgMSwgMjEwLCAKLSAgICA3NSwgMiwgMjQ4LCA0NywgMzMsIDQsIDEsIDIxMCwgNzUsIDIsIDI0OCwgNDcsIDMzLCA2LCAxLCAyMTAsIDk1LCAyLCAyNDgsIAotICAgIDQ3LCAzMywgNCwgMSwgMjEwLCA5NSwgMiwgMjQ4LCA0NywgMzMsIDYsIDEsIDIzNSwgMTksIDIsIDI0OCwgNDcsIDMzLCA0LCAKLSAgICAxLCAyMzUsIDE5LCAyLCAyNDgsIDQ3LCAzMywgNiwgMSwgMjM1LCAxOSwgMiwgNjcsIDkxLCAzMywgNCwgMSwgMjM1LCAxOSwgCi0gICAgMiwgNjcsIDkxLCAzMywgNiwgMSwgMjM1LCAxOSwgMiwgOTEsIDMzLCA0LCAxLCAyMzUsIDE5LCAyLCA5MSwgMzMsIDYsIDEsIAotICAgIDI1MiwgMTMyLCAxNzYsIDMzLCA0LCAxLCAyNTIsIDEzMiwgMTc2LCAzMywgNiwgMSwgMjQ1LCAxNTksIDIsIDI0OCwgNDcsIAotICAgIDMzLCA0LCAxLCAyNDUsIDE1OSwgMiwgMjQ4LCA0NywgMzMsIDYsIDI3LCAyNDUsIDE1OSwgMjQyLCAyNDMsIDMzLCA0LCAyNywgCi0gICAgMjQ1LCAxNTksIDI0MiwgMjQzLCAzMywgNiwgMSwgMjI1LCAyMjUsIDIsIDIzMCwgMjI5LCAxMDMsIDMzLCA0LCAxLCAyMjUsIAotICAgIDIyNSwgMiwgMjMwLCAyMjksIDEwMywgMzMsIDYsIDEsIDI1NSwgMjksIDE2MiwgMzMsIDQsIDEsIDI1NSwgMjksIDE2MiwgCi0gICAgMzMsIDYsIDEsIDI0NSwgOTEsIDIsIDI0OCwgNDcsIDMzLCA0LCAxLCAyNDUsIDkxLCAyLCAyNDgsIDQ3LCAzMywgNiwgMSwgCi0gICAgMjE3LCAyNCwgMiwgMjQ4LCA0NywgMzMsIDQsIDEsIDIxNywgMjQsIDIsIDI0OCwgNDcsIDMzLCA2LCAxLCAyMTgsIDEyMywgCi0gICAgNjksIDMzLCA0LCAxLCAyMTgsIDEyMywgNjksIDMzLCA2LCAxLCAyMTgsIDEyMywgMTA0LCAyLCA5MSwgMzMsIDQsIDEsIAotICAgIDIxOCwgMTIzLCAxMDQsIDIsIDkxLCAzMywgNiwgMSwgMjQyLCA1NiwgMiwgMjQ4LCA0NywgMzMsIDQsIDEsIDI0MiwgNTYsIAotICAgIDIsIDI0OCwgNDcsIDMzLCA2LCAyNywgMjE3LCAyNCwgMjE1LCAxNzksIDMzLCA0LCAyNywgMjE3LCAyNCwgMjE1LCAxNzksIAotICAgIDMzLCA2LCAxLCAyNTAsIDE0MCwgMiwgMjQ4LCA0NywgMzMsIDQsIDEsIDI1MCwgMTQwLCAyLCAyNDgsIDQ3LCAzMywgNiwgMSwgCi0gICAgMjUwLCAxNDAsIDIsIDY3LCA5MSwgMzMsIDQsIDEsIDI1MCwgMTQwLCAyLCA2NywgOTEsIDMzLCA2LCAxLCAyMjAsIDM1LCAKLSAgICAzMywgNCwgMSwgMjIwLCAzNSwgMzMsIDYsIDEsIDI1NSwgMjksIDI1MCwgMTM5LCAzMywgNCwgMSwgMjU1LCAyOSwgMjUwLCAKLSAgICAxMzksIDMzLCA2LCAxLCAyNTUsIDI5LCAyNTAsIDE0MCwgMiwgMjQ4LCA0NywgMzMsIDQsIDEsIDI1NSwgMjksIDI1MCwgCi0gICAgMTQwLCAyLCAyNDgsIDQ3LCAzMywgMSwgMjI2LCA2MiwgMzMsIDYsIDEsIDIxMCwgNzUsIDIsIDI1MSwgMTU0LCAzMywgNCwgCi0gICAgMSwgMjEwLCA3NSwgMiwgMjUxLCAxNTQsIDMzLCA2LCAxLCAyMzUsIDE5LCAyLCAxMDMsIDMzLCA0LCAxLCAyMzUsIDE5LCAyLCAKLSAgICAxMDMsIDMzLCA2LCAxLCAyNDUsIDE4MywgMiwgMjE3LCA3OCwgMzMsIDQsIDEsIDI0NSwgMTgzLCAyLCAyMTcsIDc4LCAzMywgCi0gICAgNiwgMSwgMjQ1LCAxNTksIDIsIDEwMywgMzMsIDQsIDEsIDI0NSwgMTU5LCAyLCAxMDMsIDMzLCA2LCAxLCAyNDUsIDE1OSwgCi0gICAgMiwgMjE3LCA3OCwgMzMsIDQsIDEsIDI0NSwgMTU5LCAyLCAyMTcsIDc4LCAzMywgNiwgMSwgMjM0LCAxMzMsIDI1MCwgMTM5LCAKLSAgICAzMywgNCwgMSwgMjM0LCAxMzMsIDI1MCwgMTM5LCAzMywgNiwgMSwgMjQ1LCAxNjgsIDIsIDIxNywgNzgsIDMzLCA0LCAxLCAKLSAgICAyNDUsIDE2OCwgMiwgMjE3LCA3OCwgMzMsIDQsIDEsIDIyNiwgNjIsIDMzLCA2LCAxLCAxMTYsIDIsIDI1MSwgMTU0LCAzMywgCi0gICAgNCwgMSwgMTE2LCAyLCAyNTEsIDE1NCwgMzMsIDYsIDEsIDExNiwgMiwgMjQ4LCA5LCAzMywgNCwgMSwgMTE2LCAyLCAyNDgsIAotICAgIDksIDMzLCA2LCAyNywgMTE2LCAyMzYsIDY3LCAzMywgNCwgMjcsIDExNiwgMjM2LCA2NywgMzMsIDYsIDEsIDIzNiwgNjgsIAotICAgIDIsIDI1MSwgMTU0LCAzMywgNCwgMSwgMjM2LCA2OCwgMiwgMjUxLCAxNTQsIDMzLCA2LCAxLCAyMjEsIDE5NywgMzMsIDQsIAotICAgIDEsIDIyMSwgMTk3LCAzMywgNiwgMSwgMjIxLCAxOTgsIDIsIDI0OCwgOSwgMzMsIDQsIDEsIDIyMSwgMTk4LCAyLCAyNDgsIAotICAgIDksIDMzLCA2LCAxLCAyMTAsIDc1LCAyLCAyNDgsIDksIDMzLCA0LCAxLCAyMTAsIDc1LCAyLCAyNDgsIDksIDMzLCA2LCAxLCAKLSAgICAyMTAsIDk1LCAyLCAyNDgsIDksIDMzLCA0LCAxLCAyMTAsIDk1LCAyLCAyNDgsIDksIDMzLCA2LCAxLCAyNTUsIDI5LCAyNDYsIAotICAgIDQ0LCAzMywgNCwgMSwgMjU1LCAyOSwgMjQ2LCA0NCwgMzMsIDYsIDEsIDI0MCwgMTYxLCAyLCAyMzEsIDIzNywgMzMsIDQsIAotICAgIDEsIDI0MCwgMTYxLCAyLCAyMzEsIDIzNywgMzMsIDYsIDEsIDI0MCwgMTYxLCAyLCAyNDgsIDksIDMzLCA0LCAxLCAyNDAsIAotICAgIDE2MSwgMiwgMjQ4LCA5LCAzMywgNiwgMSwgMTQ0LCAyLCAyNDgsIDksIDMzLCA0LCAxLCAxNDQsIDIsIDI0OCwgOSwgMzMsIAotICAgIDYsIDEsIDI1MiwgMTQyLCA3OCwgMzMsIDQsIDEsIDI1MiwgMTQyLCA3OCwgMzMsIDYsIDEsIDI1MiwgMTQyLCAxNDQsIDIsIAotICAgIDI0OCwgOSwgMzMsIDQsIDEsIDI1MiwgMTQyLCAxNDQsIDIsIDI0OCwgOSwgMzMsIDYsIDEsIDE2MCwgMiwgMjQ4LCA5LCAzMywgCi0gICAgNCwgMSwgMTYwLCAyLCAyNDgsIDksIDMzLCA2LCAxLCAxMDQsIDIsIDIzMSwgMjM3LCAzMywgNCwgMSwgMTA0LCAyLCAyMzEsIAotICAgIDIzNywgMzMsIDYsIDEsIDEwNCwgMiwgMjQ4LCA5LCAzMywgNCwgMSwgMTA0LCAyLCAyNDgsIDksIDMzLCA2LCAxLCAxMDQsIAotICAgIDIsIDUyLCAxNDIsIDMzLCA0LCAxLCAxMDQsIDIsIDUyLCAxNDIsIDMzLCA2LCAxLCAyNTAsIDE0MCwgMiwgMjQ4LCA5LCAzMywgCi0gICAgNCwgMSwgMjUwLCAxNDAsIDIsIDI0OCwgOSwgMzMsIDYsIDEsIDI0MiwgMjQ0LCAyLCAyNDgsIDQ3LCAzMywgNCwgMSwgMjQyLCAKLSAgICAyNDQsIDIsIDI0OCwgNDcsIDMzLCA2LCAxLCAyMTEsIDI4LCAyLCAyNDgsIDksIDMzLCA0LCAxLCAyMTEsIDI4LCAyLCAyNDgsIAotICAgIDksIDMzLCA2LCAxLCAyNDIsIDI0NCwgMiwgMjE4LCAxMDUsIDIyLCAxMDMsIDMzLCA0LCAxLCAyNDIsIDI0NCwgMiwgMjE4LCAKLSAgICAxMDUsIDIyLCAxMDMsIDMzLCA2LCAxLCAyNDIsIDU2LCAyLCAxMDMsIDMzLCA0LCAxLCAyNDIsIDU2LCAyLCAxMDMsIDMzLCAKLSAgICA2LCAxLCAyNDIsIDU2LCAyLCA5MSwgMzMsIDQsIDEsIDI0MiwgNTYsIDIsIDkxLCAzMywgNiwgMSwgMjM0LCAyMCwgMjQ4LCAKLSAgICA5OCwgMzMsIDQsIDEsIDIzNCwgMjAsIDI0OCwgOTgsIDMzLCA2LCAxLCAyMzQsIDIwLCAyNDcsIDE3MCwgMzMsIDQsIDEsIAotICAgIDIzNCwgMjAsIDI0NywgMTcwLCAzMywgNiwgMSwgMjM0LCAyMCwgMjEwLCAyNywgMzMsIDQsIDEsIDIzNCwgMjAsIDIxMCwgCi0gICAgMjcsIDMzLCA2LCAxLCAyMzQsIDIwLCAyNDYsIDM4LCAzMywgNCwgMSwgMjM0LCAyMCwgMjQ2LCAzOCwgMzMsIDYsIDEsIAotICAgIDIzNCwgMjAsIDIzMiwgMTkzLCAzMywgNCwgMSwgMjM0LCAyMCwgMjMyLCAxOTMsIDMzLCA2LCAxLCAyMzQsIDIwLCAyMjgsIAotICAgIDE4MywgMzMsIDQsIDEsIDIzNCwgMjAsIDIyOCwgMTgzLCAzMywgNiwgMSwgMjM0LCAyMCwgMjE5LCAxMTEsIDMzLCA0LCAxLCAKLSAgICAyMzQsIDIwLCAyMTksIDExMSwgMzMsIDYsIDEsIDIzNCwgMjAsIDIxNiwgNjEsIDMzLCA0LCAxLCAyMzQsIDIwLCAyMTYsIAotICAgIDYxLCAzMywgNiwgMSwgMjIzLCA1MiwgMjEwLCA5NCwgMzMsIDQsIDEsIDIyMywgNTIsIDIxMCwgOTQsIDMzLCA2LCAxLCAKLSAgICAyNDUsIDE4MywgMiwgMTAzLCAzMywgNCwgMSwgMjQ1LCAxODMsIDIsIDEwMywgMzMsIDYsIDEsIDIzMywgNCwgMzMsIDQsIDEsIAotICAgIDIzMywgNCwgMzMsIDYsIDEsIDIyMywgNDIsIDMzLCA0LCAxLCAyMjMsIDQyLCAzMywgNiwgMSwgMjExLCA5MiwgMzMsIDQsIAotICAgIDEsIDIxMSwgOTIsIDMzLCA2LCAxLCAyMjQsIDkxLCAzMywgNCwgMSwgMjI0LCA5MSwgMzMsIDYsIDEsIDIxMiwgMjIsIDMzLCAKLSAgICA0LCAxLCAyMTIsIDIyLCAzMywgNiwgMSwgMjU0LCAxNzUsIDE3NiwgMzMsIDQsIDEsIDI1NCwgMTc1LCAxNzYsIDMzLCA2LCAKLSAgICAxLCAyNDUsIDE4MywgMiwgMjMwLCAyMjksIDEwMywgMzMsIDQsIDEsIDI0NSwgMTgzLCAyLCAyMzAsIDIyOSwgMTAzLCAzMywgCi0gICAgNiwgMSwgMjQ1LCAxNTksIDIsIDIzMCwgMjI5LCAxMDMsIDMzLCA0LCAxLCAyNDUsIDE1OSwgMiwgMjMwLCAyMjksIDEwMywgCi0gICAgMzMsIDYsIDEsIDIyNSwgMjI1LCAyLCAyNDgsIDQ3LCAzMywgNCwgMSwgMjI1LCAyMjUsIDIsIDI0OCwgNDcsIDMzLCA2LCAxLCAKLSAgICAyMjAsIDM2LCAyLCAyNDgsIDQ3LCAzMywgNCwgMSwgMjIwLCAzNiwgMiwgMjQ4LCA0NywgMTUwLCA2LCAxLCAyNTMsIDE3MiwgCi0gICAgMTUwLCA2LCAxLCAyNTIsIDQ3LCAxNTAsIDYsIDEsIDI0MiwgMjEwLCAxNTAsIDYsIDEsIDI0OCwgMjI5LCAxNTAsIDYsIDEsIAotICAgIDI0NSwgMjIxLCAxNTAsIDYsIDEsIDIxMCwgMTE2LCAxNTAsIDYsIDEsIDI0NSwgMjA1LCAxNTAsIDYsIDEsIDI0NSwgNzMsIAotICAgIDE1MCwgNiwgMSwgMTEyLCAxNTAsIDYsIDEsIDIxMCwgNzQsIDE1MCwgNiwgMSwgMjM1LCAyMzQsIDE1MCwgNiwgMSwgMjMyLCAKLSAgICAxOTYsIDE1MCwgNiwgMSwgMjExLCAxNjAsIDE1MCwgNiwgMSwgMjUxLCA0MSwgMTUwLCA2LCAxLCAyMzQsIDE3MSwgMTUwLCAKLSAgICA2LCAxLCAyNDEsIDc1LCAxNTAsIDYsIDEsIDIzNSwgMTQ3LCAxNTAsIDYsIDEsIDI0MiwgMjUzLCAxNTAsIDYsIDEsIDI1MCwgCi0gICAgMTM0LCAxNTAsIDYsIDEsIDIzMSwgNjMsIDE1MCwgNiwgMSwgMjExLCA4LCAxNTAsIDYsIDEsIDIyOCwgNDQsIDE1MCwgNiwgCi0gICAgMSwgMjIwLCAxMDQsIDE1MCwgNiwgMSwgMjEzLCAxMzgsIDE1MCwgNiwgMSwgMjUwLCAxNjUsIDE1MCwgNiwgMSwgMjI1LCAKLSAgICAyMDgsIDE1MCwgNiwgMSwgMjM1LCAxMTYsIDE1MCwgNiwgMSwgMjA1LCAxNTAsIDYsIDEsIDIyMSwgMTYzLCAxNTAsIDYsIDEsIAotICAgIDIxMywgMTc5LCAxNTAsIDYsIDEsIDIxNiwgNjMsIDE1MCwgNiwgMSwgMjIzLCA5OCwgMTUwLCA2LCAxLCAyNDksIDI0NiwgCi0gICAgMTUwLCA2LCAxLCAyMTAsIDI0OSwgMTUwLCA2LCAxLCAyMjUsIDQ5LCAxNTAsIDYsIDEsIDIzNCwgMTgyLCAxNTAsIDYsIDEsIAotICAgIDIyNiwgMjI2LCAxNTAsIDYsIDEsIDI0NCwgMTUwLCAxNTAsIDU4LCAxLCA0MywgMTYzLCAyMjIsIDIzNiwgMTUwLCAyNTQsIAotICAgIDY1LCAxNTAsIDI0NSwgMTYyLCA3OSwgMTUwLCAyNDUsIDM5LCA3OSwgMTUwLCAyNDksIDIyNywgMTUwLCAyMjQsIDE2LCA3OSwgCi0gICAgMTUwLCAyNTUsIDMwLCA3OSwgMTUwLCA0LCAxLCAyNTMsIDE3MiwgMTUwLCA0LCAxLCAyNTIsIDQ3LCAxNTAsIDQsIDEsIAotICAgIDI0MiwgMjEwLCAxNTAsIDQsIDEsIDI0OCwgMjI5LCAxNTAsIDQsIDEsIDI0NSwgMjIxLCAxNTAsIDQsIDEsIDIxMCwgMTE2LCAKLSAgICAxNTAsIDQsIDEsIDI0NSwgMjA1LCAxNTAsIDQsIDEsIDI0NSwgNzMsIDE1MCwgNCwgMSwgMTEyLCAxNTAsIDQsIDEsIDIxMCwgCi0gICAgNzQsIDE1MCwgNCwgMSwgMjM1LCAyMzQsIDE1MCwgNCwgMSwgMjMyLCAxOTYsIDE1MCwgNCwgMSwgMjExLCAxNjAsIDE1MCwgCi0gICAgNCwgMSwgMjUxLCA0MSwgMTUwLCA0LCAxLCAyMzQsIDE3MSwgMTUwLCA0LCAxLCAyNDEsIDc1LCAxNTAsIDQsIDEsIDIzNSwgCi0gICAgMTQ3LCAxNTAsIDQsIDEsIDI0MiwgMjUzLCAxNTAsIDQsIDEsIDI1MCwgMTM0LCAxNTAsIDQsIDEsIDIzMSwgNjMsIDE1MCwgCi0gICAgNCwgMSwgMjExLCA4LCAxNTAsIDQsIDEsIDIyOCwgNDQsIDE1MCwgNCwgMSwgMjIwLCAxMDQsIDE1MCwgNCwgMSwgMjEzLCAKLSAgICAxMzgsIDE1MCwgNCwgMSwgMjUwLCAxNjUsIDE1MCwgNCwgMSwgMjI1LCAyMDgsIDE1MCwgNCwgMSwgMjM1LCAxMTYsIDE1MCwgCi0gICAgNCwgMSwgMjA1LCAxNTAsIDQsIDEsIDIyMSwgMTYzLCAxNTAsIDQsIDEsIDIxMywgMTc5LCAxNTAsIDQsIDEsIDIxNiwgNjMsIAotICAgIDE1MCwgNCwgMSwgMjIzLCA5OCwgMTUwLCA0LCAxLCAyNDksIDI0NiwgMTUwLCA0LCAxLCAyMTAsIDI0OSwgMTUwLCA0LCAxLCAKLSAgICAyMjUsIDQ5LCAxNTAsIDQsIDEsIDIzNCwgMTgyLCAxNTAsIDQsIDEsIDIyNiwgMjI2LCAxNTAsIDQsIDEsIDI0NCwgMTUwLCAKLSAgICAxNTAsIDQsIDI3LCAyNDUsIDIyMiwgMjEwLCAyNDksIDE1MCwgMjQzLCAyMzYsIDIxOCwgMTMxLCAxNTAsIDI0MCwgMTc1LCAKLSAgICAxNTAsIDI0NiwgMTAzLCA1MCwgOTQsIDI1NSwgMjQsIDI0NSwgNjUsIDk0LCAyNTUsIDI0LCAyMjEsIDE2NCwgOTQsIDI1NSwgCi0gICAgMjQsIDIyMCwgOTAsIDk0LCAyNTUsIDI0LCAyMTAsIDEwNCwgMjI0LCA3NCwgOTQsIDI1NSwgMjQsIDIxMCwgMTA0LCAyNDMsIAotICAgIDEzMiwgOTQsIDI1NSwgMjQsIDIxNiwgNzYsIDk0LCAyNTUsIDI0LCAyMjMsIDUwLCA5NCwgMjU1LCAyNCwgMjEwLCAxMDMsIAotICAgIDk0LCAyNTUsIDI0LCAyMjUsIDI0OSwgOTQsIDI1NSwgMjQsIDIxMSwgMjAsIDk0LCAyNTUsIDI0LCAyMTYsIDIxNSwgOTQsIAotICAgIDI1NSwgMjQsIDI0MywgNDgsIDk0LCAyNTUsIDI0LCAyNDMsIDQ5LCAyMzAsIDc0LCA5NCwgMjU1LCAyNCwgMjQzLCA0NiwgCi0gICAgOTQsIDI1NSwgMjQsIDIyNCwgNzUsIDIyNiwgMjAsIDk0LCAyNTUsIDI0LCAyMTYsIDI1NCwgMjQzLCA2MywgOTQsIDI1NSwgCi0gICAgMjQsIDIyNSwgMjMwLCA5NCwgMjU1LCAyNCwgMjUzLCAyMDgsIDI0MiwgNDgsIDk0LCAyNTUsIDI0LCAyMzAsIDg0LCA5NCwgCi0gICAgMjU1LCAyNCwgMjMxLCAyMTMsIDk0LCAyNTUsIDI0LCAyMzEsIDU0LCA5NCwgMjU1LCAyNCwgMjMxLCA1NSwgMjM0LCAxODMsIAotICAgIDk0LCAyNTUsIDI0LCAyNDgsIDE3MSwgOTQsIDI1NSwgMjQsIDIyNCwgODYsIDk0LCAyNTUsIDI0LCAyMTYsIDI1NCwgMjI0LCAKLSAgICA3MCwgOTQsIDI1NSwgMjQsIDIxMSwgMzAsIDI1MiwgNDgsIDIxMCwgMjMwLCA5NCwgMjU1LCAyNCwgMjI2LCAyMTEsIDk0LCAKLSAgICAyNTUsIDI0LCAyMzYsIDI2LCA5NCwgMjU1LCAyNCwgMjQ4LCA3OCwgOTQsIDI1NSwgMjQsIDIxMCwgMzMsIDk0LCAxNjQsIAotICAgIDIzMSwgMTQ4LCAyNTAsIDQzLCA5NCwgMjI1LCAxNCwgMjIwLCAzOCwgOTQsIDIyNSwgMTQsIDI0MiwgMSwgMjIxLCAxNjQsIAotICAgIDk0LCAyMjUsIDE0LCAyNDIsIDEsIDIyNSwgMjQzLCA5NCwgMjI1LCAxNCwgMjQyLCAxLCAyMjQsIDc5LCA5NCwgMjI1LCAxNCwgCi0gICAgMjQxLCAxNjUsIDk0LCAyMjUsIDE0LCAyMTUsIDE3NywgOTQsIDIyNSwgMTQsIDIyMSwgMTY0LCA5NCwgMjI1LCAxNCwgMjI1LCAKLSAgICAyNDMsIDk0LCAyMjUsIDE0LCAyMjQsIDc5LCA5NCwgMjI1LCAxNCwgMjQxLCA2OCwgOTQsIDIyNSwgMTQsIDI0MSwgNjksIAotICAgIDI0MiwgMywgMzEsIDIxNCwgMywgOTQsIDIyNSwgMTQsIDIyNCwgMjAsIDk0LCAyMjUsIDE0LCAyNDgsIDIxNiwgMTc3LCAKLSAgICAyMzEsIDE3NiwgOTQsIDIyNSwgMTQsIDIzMSwgNDMsIDk0LCAyMjQsIDE0NCwgMjMxLCAxNzMsIDk0LCAyMjUsIDE0LCAyMjMsIAotICAgIDE3MiwgOTQsIDIyNCwgMTQ0LCAyMjUsIDI1MSwgOTQsIDIyNSwgMTQsIDIyMCwgMjMsIDI0NywgMTI4LCA5NCwgMjI1LCAxNCwgCi0gICAgMjE5LCAxNjEsIDI0NywgMTI4LCA5NCwgMjI0LCAxNDQsIDIxOSwgNTUsIDIyNSwgMjQ1LCA5NCwgMTY0LCAyMTQsIDE2MCwgCi0gICAgMjQ3LCAxMjgsIDk0LCAxNjQsIDIzMiwgMTE0LCAyNDcsIDEyOCwgOTQsIDIyNCwgMTQ0LCAyMjcsIDE5OSwgMjQyLCA0NywgCi0gICAgOTQsIDIyNSwgMTQsIDIyNCwgODAsIDIyNCwgNzQsIDk0LCAxLCAyNTQsIDE3OSwgOTQsIDEsIDI1MiwgMzYsIDk0LCAxLCAKLSAgICAyNDIsIDIwOCwgOTQsIDEsIDI0OCwgMTk3LCA5NCwgMSwgMjQxLCAyNDUsIDk0LCAxLCAyMTQsIDMsIDk0LCAxLCAyMTAsIAotICAgIDk3LCA5NCwgMSwgMjQxLCAyMDQsIDk0LCAxLCAyMTYsIDIzMSwgOTQsIDEsIDIxMCwgMjMzLCA5NCwgMSwgNDAsIDIzNSwgMCwgCi0gICAgOTQsIDEsIDIzNSwgMCwgOTQsIDEsIDIzMywgMTAwLCA5NCwgMSwgNDAsIDIzMSwgNzAsIDk0LCAxLCAyMzEsIDcwLCA5NCwgCi0gICAgMSwgNDAsIDIyNywgMTk4LCA5NCwgMSwgMjI3LCAxOTgsIDk0LCAxLCAyMjEsIDI1MSwgOTQsIDEsIDI1MywgMTcwLCA5NCwgCi0gICAgMSwgNDAsIDIyNSwgMjI0LCA5NCwgMSwgMjI1LCAyMjQsIDk0LCAxLCA0MCwgMjE1LCAxODAsIDk0LCAxLCAyMTUsIDE4MCwgCi0gICAgOTQsIDEsIDIyNCwgNDIsIDk0LCAxLCAyMjMsIDcwLCA5NCwgMSwgMjIwLCAyMiwgOTQsIDEsIDIxNywgMzksIDk0LCAyNywgCi0gICAgMjExLCA2LCA1MiwgMjE0LCAzLCA5NCwgMjcsIDIxMSwgNiwgMjE0LCA0LCAyMTAsIDIzMywgOTQsIDI3LCAyMTEsIDYsIDUyLCAKLSAgICAyMTAsIDIzMywgOTQsIDIyNCwgMTQ0LCAyNDMsIDQ4LCA5NCwgMjI0LCAxNDQsIDI0MywgNDYsIDksIDU0LCA1MCwgOSwgNSwgCi0gICAgMjIxLCAyNDQsIDksIDI0NCwgMzgsIDIzMSwgMTU5LCA5LCA1LCAyMjIsIDI1LCA5LCA1LCAyMjEsIDI0NywgMjU0LCA0NSwgCi0gICAgMjQ5LCAxMTcsIDIyMiwgMTk1LCAyNTQsIDQ1LCAyNDQsIDEyLCAyMjIsIDE5NSwgOSwgMjIzLCAxMzcsIDI1NCwgNDUsIAotICAgIDIyNSwgMTg2LCAyMzAsIDE5OCwgNTAsIDI1NCwgNDUsIDIyNSwgMTg2LCAyMTYsIDI0OSwgMjE2LCAxNDksIDUwLCAyNTQsIAotICAgIDIzMCwgNTAsIDksIDI0OSwgMjI3LCA5LCAyNDgsIDE1OCwgMjIwLCAxMzksIDksIDIyNSwgMTYsIDIxMywgMjQxLCA1MCwgOSwgCi0gICAgNSwgMjMwLCAxNzksIDksIDUsIDIyMiwgNSwgMjU0LCAxODEsIDIxMiwgNDUsIDksIDUsIDI1NCwgMTgxLCAyNTMsIDIyOSwgCi0gICAgOSwgNSwgMjIzLCAxNzAsIDI1NCwgMTgwLCA5LCA1LCAyMjMsIDE3OCwgMjU0LCAxNjEsIDI1NCwgMTEyLCA5LCA1LCAyMTcsIAotICAgIDcxLCA5LCA0LCAxMjUsIDIxNywgODEsIDksIDQsIDEyNSwgMjcsIDEwOSwgMiwgMjMzLCAxMDksIDIsIDIxMSwgNDMsIDksIAotICAgIDQsIDEyNSwgMjEwLCAxMDgsIDksIDQsIDI0NCwgMTczLCA5LCA0LCAyNDgsIDE5MiwgOSwgNCwgMjM0LCAyMTEsIDksIDIyMCwgCi0gICAgMTUyLCA5LCAxLCA3OSwgOSwgMjE1LCAyMTIsIDU5LCAyMjQsIDE0NCwgNzksIDksIDIyNCwgMTYsIDc5LCA5LCAxLCAyMzQsIAotICAgIDIxNSwgMjExLCA0MywgOSwgMSwgMjQyLCAyNiwgOSwgMSwgMTA5LCAyLCAyMzEsIDIzMywgNDgsIDksIDEsIDEwOSwgMiwgCi0gICAgMTgyLCA0OCwgOSwgMSwgMjEyLCAzMSwgMiwgMTgyLCA0OCwgOSwgMSwgMTA5LCAyLCAxODIsIDUxLCA5LCAxLCA3NywgMiwgCi0gICAgMTgyLCA0OCwgOSwgMSwgMjU0LCAxNzksIDksIDEsIDI1MiwgNjIsIDksIDEsIDIxNywgOSwgMjMxLCAxNjksIDksIDEsIAotICAgIDIxNywgOCwgOSwgMSwgMjE2LCAxOTMsIDksIDEsIDIzNSwgMTI5LCA5LCAxLCAyNDIsIDQ0LCA5LCAxLCAyMzQsIDEzNSwgOSwgCi0gICAgMSwgMjQ4LCAyMDMsIDksIDEsIDIxNiwgMjAzLCA5LCAxLCAyMjMsIDk4LCA5LCAxLCAyMTAsIDEwOCwgOSwgMSwgMjIxLCAKLSAgICAxNjgsIDksIDEsIDIyMCwgNjEsIDksIDEsIDIyMiwgMjgsIDksIDEsIDI0OCwgMjI0LCA5LCAxLCAyMTcsIDgxLCA5LCAxLCAKLSAgICAyMTAsIDExMSwgOSwgMSwgMjU0LCAyMDUsIDksIDEsIDI0MiwgMjUxLCA5LCAxLCAyMzQsIDE4MSwgMiwgMTEzLCAxNzAsIAotICAgIDQ4LCA5LCAxLCAyMzQsIDE4MSwgMiwgMTM0LCAxNzAsIDUxLCA5LCAxLCAyNDQsIDE3NiwgNzcsIDIsIDIzNSwgMjAwLCAKLSAgICAyMTQsIDEwNSwgOSwgMSwgMjQ0LCAxNzYsIDc3LCAyLCAxMTMsIDE3MCwgNDgsIDksIDEsIDI0NCwgMTc2LCA3NywgMiwgCi0gICAgMTM0LCAxNzAsIDQ4LCA5LCAyMTcsIDQ0LCA5LCAxLCAyNDQsIDE1MCwgOSwgMSwgMjI0LCA4NCwgOSwgMSwgMjM1LCAwLCA5LCAKLSAgICAxLCAyMzMsIDEwOCwgOSwgMSwgMjMxLCA4MywgOSwgMSwgMjI4LCA2NywgOSwgMSwgMjQxLCAyMjUsIDksIDEsIDIxMiwgMzAsIAotICAgIDksIDEsIDEwOSwgMjMxLCAxOTcsIDksIDEsIDIxMSwgNDMsIDksIDI0NCwgMTcxLCA5LCAyNDgsIDE5MCwgOSwgMjM0LCAKLSAgICAyMDksIDksIDI0NCwgMTczLCA5LCAyNDgsIDE5MiwgOSwgMjM0LCAyMTEsIDksIDIyMCwgOTUsIDksIDIxOCwgNDYsIDksIAotICAgIDIzMSwgMjMxLCA0OCwgOSwgMTgyLCA0OCwgOSwgMTgyLCA1MSwgOSwgMjE4LCA2NiwgMjU0LCAxNzksIDksIDIzNSwgMjAwLCAKLSAgICAyNDgsIDE5MiwgOSwgMTY0LCAyMjgsIDY4LCAyNDIsIDIyNSwgOSwgMjA5LCAyNTUsIDksIDI1LCA1LCA0LCAyMTQsIDEwNiwgCi0gICAgNDgsIDksIDI1LCA1LCAyMzUsIDIwMCwgNCwgMjE0LCAxMDYsIDQ4LCA5LCAyNSwgNSwgNTksIDUxLCA5LCAyMjMsIDUyLCAKLSAgICAyNDgsIDE5MiwgOSwgMjQ0LCAxNzQsIDIsIDExMywgMjQ3LCAxMjYsIDksIDIxMiwgMzIsIDE4MiwgNTEsIDI1NCwgNDUsIAotICAgIDIxLCAyMTAsIDg2LCAyNTQsIDQ1LCAyMSwgMTExLCAyNTQsIDQ1LCAyMSwgMTA1LCAyNTQsIDQ1LCAyMSwgMTU4LCAyNTQsIAotICAgIDQ1LCAyMSwgMTYxLCAyNTQsIDQ1LCAyMSwgMTkwLCAyNTQsIDQ1LCAyMSwgMTk1LCAyNTQsIDQ1LCAyMSwgMTk5LCAyNTQsIAotICAgIDQ1LCAyMSwgMTk2LCAyNTQsIDQ1LCAyMSwgMjAxLCA5LCAyMjUsIDE4NSwgNTAsIDksIDI0OCwgOTEsIDIyMCwgMTM5LCA5LCAKLSAgICAyMTYsIDE0NywgMjIwLCAxMzksIDksIDI0NCwgODksIDIyNSwgMTIsIDIxOCwgMTU4LCA5LCAxLCAyNDcsIDEyNywgMjUyLCAKLSAgICA2MiwgOSwgMSwgMjQ3LCAxMjcsIDIyNCwgODQsIDksIDEsIDIxOCwgMjQsIDI1NCwgMTc5LCA5LCAxLCAxMDksIDIxMiwgNDYsIAotICAgIDksIDEsIDEwOSwgMiwgMjEyLCAzMiwgMTgyLCA0OCwgOSwgMSwgMTA5LCAyLCAyMTIsIDMyLCAxODIsIDUxLCA5LCAxLCAKLSAgICAxMjUsIDI0MiwgMjYsIDksIDEsIDEyNSwgMTgyLCAyNTQsIDE3OSwgOSwgMSwgMTI1LCAxODIsIDIxMiwgMzAsIDksIDEsIAotICAgIDEwNCwgMiwgMTgyLCA0OCwgOSwgMSwgMTI1LCAxODIsIDIxMSwgNDMsIDksIDEsIDIxNSwgMTQ5LCA5LCAxLCAyMTUsIDE0NywgCi0gICAgOSwgMSwgMjUyLCA3MiwgOSwgMSwgMjE3LCA5LCAyLCAyMjIsIDIzNiwgOSwgMSwgMjE3LCA5LCAyLCAxMzQsIDE3MCwgNzIsIAotICAgIDI0NiwgMTExLCA5LCAxLCAyMjUsIDIwOCwgOSwgMSwgMjE3LCA2LCA5LCAxLCAyNTIsIDYwLCA5LCAxLCAxMjIsIDIsIDE4MiwgCi0gICAgNDgsIDksIDEsIDEyMiwgMiwgMTEzLCAxNzAsIDY3LCA0OCwgOSwgMSwgMjI3LCAxNTcsIDksIDEsIDI0NiwgNTEsIDksIDEsIAotICAgIDEyMiwgMiwgMTM0LCAxNzAsIDQ4LCA5LCAxLCAyMTcsIDI3LCA5LCAxLCAyMTcsIDI1LCA5LCAxLCAyNDgsIDEzOCwgOSwgMSwgCi0gICAgMjQ4LCAyMDQsIDIsIDIyMiwgMjM2LCA5LCAxLCAyNDgsIDIwNCwgMiwgNTksIDUxLCA5LCAxLCAyNDgsIDIwNCwgMiwgNTksIAotICAgIDI1MiwgNTEsIDIyLCA0LCAyMTcsIDgxLCA5LCAxLCAyNDgsIDIwOSwgOSwgMSwgMjQ4LCAxNDAsIDksIDEsIDI0NiwgNzgsIAotICAgIDksIDEsIDI0OCwgMjA0LCAyLCAxMzQsIDE3MCwgNzIsIDI0NiwgMTExLCA5LCAxLCAyNDgsIDIwNCwgMiwgMjQ0LCAxOSwgCi0gICAgMTcwLCA0OCwgOSwgMSwgMjIyLCAxNzMsIDksIDEsIDIyMywgOTksIDIsIDQsIDIxNCwgMTA1LCA5LCAxLCAyMjMsIDk5LCAyLCAKLSAgICAyMjIsIDIzNiwgOSwgMSwgMjIzLCA5OSwgMiwgNTksIDUxLCA5LCAxLCAyMjMsIDk5LCAyLCA0LCAyMTQsIDEwNiwgNTEsIDksIAotICAgIDEsIDIyMywgOTksIDIsIDU5LCAyNTIsIDUxLCAyMiwgNTksIDQ4LCA5LCAxLCAyMjMsIDk5LCAyLCAxMTMsIDE3MCwgNDgsIAotICAgIDksIDEsIDIzNSwgMTI2LCA5LCAxLCAyMjMsIDk5LCAyLCAyNDQsIDE5LCAxNzAsIDQ4LCA5LCAxLCAyMjEsIDE2OSwgMiwgCi0gICAgNTksIDI1MiwgNTEsIDIyLCA1OSwgNDgsIDksIDEsIDIyMSwgMTY5LCAyLCAxMzQsIDE3MCwgNTEsIDksIDEsIDIyMSwgMTY5LCAKLSAgICAyLCAxMzQsIDE3MCwgMjUyLCA1MSwgMjIsIDEzNCwgMTcwLCA0OCwgOSwgMSwgMjIyLCAyOSwgMiwgMTEzLCAxNzAsIDUxLCAKLSAgICA5LCAxLCAyMjIsIDI5LCAyLCAxMzQsIDE3MCwgNDgsIDksIDEsIDIxNywgODIsIDIsIDEzNCwgMTcwLCA0OCwgOSwgMSwgCi0gICAgMjU0LCAyMDYsIDIsIDEzNCwgMTcwLCA0OCwgOSwgMSwgMjQ3LCAxMjcsIDI0NCwgMTUwLCA5LCAxLCAyNDQsIDE1MSwgMiwgCi0gICAgNTksIDIzMCwgMTE0LCA1MSwgOSwgMSwgMjQ0LCAxNTEsIDIsIDU5LCA1MSwgOSwgMSwgMjEzLCAyNDgsIDksIDEsIDI0NCwgCi0gICAgMTUxLCAyLCAxMzQsIDE3MCwgNTEsIDksIDEsIDIyNSwgMjA2LCA5LCAxLCAyMjQsIDg1LCAyLCA1OSwgNDgsIDksIDEsIAotICAgIDIyNCwgODUsIDIsIDEzNCwgMTcwLCA0OCwgOSwgMSwgMjM0LCAxODAsIDksIDEsIDIxNywgMjUxLCAyMzUsIDAsIDksIDEsIAotICAgIDIzNSwgMSwgMiwgMjIyLCAyMzYsIDksIDEsIDIzNSwgMSwgMiwgNTksIDQ4LCA5LCAxLCAyMjksIDg0LCA5LCAxLCAyMzUsIAotICAgIDEsIDIsIDEzNCwgMTcwLCA1MSwgOSwgMSwgMjQzLCAxMjksIDksIDEsIDI0MywgMTMwLCAyLCAyMjIsIDIzNiwgOSwgMSwgCi0gICAgMjI5LCA3LCA5LCAxLCAyNDMsIDEzMCwgMiwgMTEzLCAxNzAsIDUxLCA5LCAxLCAyNDIsIDEwOCwgOSwgMSwgMjQzLCAxMzAsIAotICAgIDIsIDEzNCwgMTcwLCA0OCwgOSwgMSwgMjMzLCAxMDksIDIsIDQsIDIxNCwgMTA1LCA5LCAxLCAyMzMsIDEwOSwgMiwgNTksIAotICAgIDQ4LCA5LCAxLCAyMzMsIDEwOSwgMiwgMTM0LCAxNzAsIDQ4LCA5LCAxLCAyMzMsIDEwOSwgMiwgMTM0LCAxNzAsIDUxLCA5LCAKLSAgICAxLCAyMjgsIDY4LCAyLCA1OSwgNTEsIDksIDEsIDIyOCwgNjgsIDI0MiwgMjI1LCA5LCAxLCAyMjIsIDIxNiwgOSwgMSwgCi0gICAgMjI4LCA2OCwgMiwgMjIyLCAyMzYsIDksIDEsIDIyOCwgNjgsIDIsIDEzNCwgMTcwLCA0OCwgOSwgMSwgMjQxLCAyMjYsIAotICAgIDI0NywgMTQ5LCA5LCAxLCAyMTcsIDI4LCAyLCA1OSwgNDgsIDksIDEsIDI0MSwgMjI2LCAyLCA3NywgNDgsIDksIDEsIDI0MSwgCi0gICAgMjI2LCAyNDIsIDE3OCwgOSwgMSwgMjQxLCAyMjYsIDI0MiwgMTc5LCAyLCAxODIsIDQ4LCA5LCAxLCAyMTcsIDksIDIzMSwgCi0gICAgMTcwLCAyNDIsIDE3OCwgOSwgMSwgMjEyLCAzMSwgMiwgMjIyLCAyMzYsIDksIDEsIDIzNCwgNzksIDIyNiwgMjM4LCA5LCAxLCAKLSAgICAyMjYsIDIzOCwgOSwgMSwgNjksIDksIDEsIDIxMCwgMjEyLCA5LCAxLCAyMzQsIDc5LCAyMTAsIDIxMiwgOSwgMSwgMjEyLCAKLSAgICAzMSwgMiwgMTEzLCAxNzAsIDQ4LCA5LCAxLCAyMTMsIDI1NSwgOSwgMSwgMjQ0LCAxNzYsIDIxMSwgNDMsIDksIDEsIDc3LCAKLSAgICAyLCAyMTcsIDc4LCA5LCAxLCA3NywgMiwgNCwgMjE0LCAxMDUsIDksIDEsIDIxMiwgMzEsIDIsIDU5LCA0OCwgOSwgMSwgNzYsIAotICAgIDksIDEsIDc3LCAyLCAxMzQsIDE3MCwgNTEsIDksIDEsIDc3LCAyNTIsIDE0MCwgOSwgMSwgNzcsIDI1MiwgMTQxLCAyLCAKLSAgICAxODIsIDQ4LCA5LCAyNDMsIDIzNiwgMjE4LCAxMzEsIDksIDEsIDI1NCwgMjUyLCA5LCA0LCAxMjUsIDI3LCAyMjIsIDI5LCAKLSAgICAyLCAyMzMsIDEwOSwgMiwgMTA5LCAyMzEsIDE5NywgOSwgNCwgMTI1LCAyNywgMjI0LCA4NSwgMiwgMjMzLCAxMDksIDIsIAotICAgIDEwOSwgMjMxLCAxOTcsIDksIDQsIDEyNSwgNjYsIDY1LCAxNywgOSwgNCwgMTI1LCAyMzMsIDEwOSwgMjU0LCAxNzksIDksIAotICAgIDQsIDEyNSwgMjM1LCAxMjksIDksIDQsIDEyNSwgMTM0LCAyNDcsIDEyNiwgOSwgNCwgMTI1LCAyMjEsIDE2OCwgOSwgMjQ1LCAKLSAgICAxNTEsIDY0LCAyNTMsIDE3NCwgOSwgMjE4LCAxNTQsIDY0LCAyMjIsIDE0MCwgMjQ1LCAxODMsIDI0MSwgMTYyLCA5LCA0LCAKLSAgICAxMjUsIDIyMiwgMTg1LCAyMTAsIDg2LCA5LCA0LCAxMjUsIDIxNCwgMTU5LCAyMjMsIDExOCwgMjEwLCA4NiwgOSwgNCwgCi0gICAgMTI1LCAyNDcsIDEyNywgMjQxLCAyNDMsIDY0LCAyMzQsIDEzNSwgOSwgNCwgMTI1LCA2NiwgNTMsIDE3LCA5LCA0LCAxMjEsIAotICAgIDIyMSwgMTY4LCA5LCA0LCAxMjUsIDIzMSwgMjMyLCA5LCA0LCAyMTIsIDMwLCA5LCA0LCAyMTEsIDQzLCA5LCA0LCAxMjUsIAotICAgIDIxMSwgNDMsIDksIDQsIDEyNSwgMjI4LCA2NywgOSwgMjI1LCA0NCwgNjQsIDIyMiwgMTUsIDksIDI0NSwgMTYwLCAyNTAsIAotICAgIDE4MywgMTIxLCAyMTgsIDEzMSwgOSwgMjQ1LCAxNjAsIDI1MCwgMTgzLCAxMjUsIDIxOCwgMTMxLCA5LCAyMjIsIDE4NSwgCi0gICAgMTI1LCAyMTgsIDEzMiwgMiwgMjQ0LCAxMTIsIDI1MCwgMTgyLCA5LCA0LCAxMjEsIDIzMSwgODMsIDksIDEsIDI0OCwgMjA0LCAKLSAgICAyLCAyMzUsIDIwMCwgMjE0LCAxMDUsIDksIDEsIDIyMywgOTksIDIsIDIzNSwgMjAwLCAyMTQsIDEwNSwgMjQ1LCAzMCwgCi0gICAgMjU0LCA0NSwgMjEsIDIxMCwgODYsIDI0NSwgMzAsIDI1NCwgNDUsIDIxLCAxMTEsIDI0NSwgMzAsIDI1NCwgNDUsIDIxLCAKLSAgICAxMDUsIDI0NSwgMzAsIDI1NCwgNDUsIDIxLCAxNTgsIDI0NSwgMzAsIDI1NCwgNDUsIDIxLCAxNjEsIDI0NSwgMzAsIDI1NCwgCi0gICAgNDUsIDIxLCAxOTAsIDI0NSwgMzAsIDI1NCwgNDUsIDIxLCAxOTUsIDI0NSwgMzAsIDI1NCwgNDUsIDIxLCAxOTksIDI0NSwgCi0gICAgMzAsIDI1NCwgNDUsIDIxLCAxOTYsIDI0NSwgMzAsIDI1NCwgNDUsIDIxLCAyMDEsIDksIDEsIDIyMCwgNjIsIDIsIDU5LCAKLSAgICA1MSwgOSwgMSwgMjQ4LCAyMjUsIDIsIDU5LCA1MSwgOSwgMSwgMjQyLCAyNTIsIDIsIDU5LCA1MSwgOSwgNSwgMjE5LCAxNjAsIAotICAgIDI1NCwgMTM0LCA5LCA1LCAyMTksIDE2MCwgMjI0LCAyMzgsIDIzMSwgNjMsIDksIDEsIDI0MSwgMjI2LCAyLCAyMzUsIDIwMCwgCi0gICAgMjE0LCAxMDUsIDE4MywgMjQ1LCAxNTEsIDY0LCAyMjYsIDE4LCAxODMsIDIxOCwgMjAsIDI0MywgMjM2LCAyMTgsIDEzMSwgCi0gICAgMTgzLCAyMTgsIDY4LCAyNDMsIDIzNiwgMjE4LCAxMzEsIDE4MywgMjE4LCAyMCwgMjQ5LCAyMzQsIDE4MywgMjE4LCA2OCwgCi0gICAgMjQ5LCAyMzQsIDE4MywgMjAzLCAyNDksIDIzNCwgMTgzLCAyNDksIDIzNSwgMjE5LCAxMDgsIDIzMywgNTIsIDE4MywgMjQ5LCAKLSAgICAyMzUsIDIxOSwgMTA4LCAyMjIsIDI1NCwgMTgzLCAyMTgsIDIwLCAyNDksIDIzNSwgMjE5LCAxMDgsIDIzMywgNTIsIDE4MywgCi0gICAgMjE4LCA2OCwgMjQ5LCAyMzUsIDIxOSwgMTA4LCAyMjIsIDI1NCwgMTgzLCAyNDksIDE4OCwgMTgzLCAyNDIsIDgsIDIyNiwgCi0gICAgMjU0LCAxODMsIDI0MiwgOCwgMjMxLCA0MSwgMTgzLCAyNDIsIDgsIDI1MywgMjI2LCAxODMsIDI1NSwgMzAsIDc5LCAxODMsIAotICAgIDEsIDI1NCwgMTgzLCAxODMsIDEsIDIxOCwgMjQsIDI1NCwgMTgzLCAxODMsIDEsIDI1MiwgMzMsIDE4MywgMSwgMjQzLCAKLSAgICAxMjAsIDE4MywgMSwgMjQzLCAxMjEsIDI0MywgOTgsIDE4MywgMSwgMjQ4LCAyMDAsIDE4MywgMSwgMjQ3LCAxMjcsIDI0OCwgCi0gICAgMjAxLCAyMjIsIDIzMiwgMTgzLCAxLCAyNDEsIDI0NSwgMTgzLCAxLCAyMTIsIDMwLCAxODMsIDEsIDIxMCwgMTA4LCAxODMsIAotICAgIDEsIDI0MSwgMjAyLCAxODMsIDEsIDIxNiwgMjI3LCAxODMsIDEsIDIxNiwgMjI4LCAyNDMsIDk4LCAxODMsIDEsIDIxMCwgCi0gICAgMTk5LCAxODMsIDEsIDIxMCwgMjAwLCAyNDEsIDI0NSwgMTgzLCAxLCAyMzQsIDIzMSwgMTgzLCAxLCAyMzMsIDEwNywgMTgzLCAKLSAgICAxLCAyMzAsIDE5NSwgMTgzLCAxLCAyMjcsIDE5OCwgMTgzLCAxLCAyMjAsIDE0NSwgMTgzLCAxLCA0MCwgMjIwLCAxNDUsIAotICAgIDE4MywgMSwgNzYsIDE4MywgMSwgMjI1LCAyMjQsIDE4MywgMSwgMjIzLCA1MiwgMjI1LCAyMjQsIDE4MywgMSwgMjIyLCAyNiwgCi0gICAgMTgzLCAxLCAyMjQsIDc4LCAxODMsIDEsIDIyMiwgMjMyLCAxODMsIDEsIDIyMCwgMjIsIDE4MywgMSwgMjE3LCAzNywgMTgzLCAKLSAgICAxLCAyMjUsIDE3MiwgMjUyLCAyMCwgMTgzLCAxLCAyMjUsIDE3MiwgMjQyLCAyNDksIDE4MywgMSwgMjI1LCAxNzIsIDI0OCwgCi0gICAgMjgsIDE4MywgMjI0LCAxNTQsIDQ4LCAxODMsIDIyNCwgMTU0LCA1MSwgMTgzLCAyMjQsIDE1NCwgMjQ2LCAxMjUsIDE4MywgCi0gICAgMjEwLCAxNywgNDgsIDE4MywgMjEwLCAxNywgNTEsIDE4MywgMjEwLCAxNywgMjQ2LCAxMjUsIDE4MywgMjIzLCAxMzQsIDQ4LCAKLSAgICAxODMsIDIyMywgMTM0LCA1MSwgMTgzLCAyNDYsIDEyNiwgMjEwLCAyNCwgMjQxLCA1MSwgMTgzLCAyNDYsIDEyNiwgMjEwLCAKLSAgICAyNCwgMjU0LCAxMTMsIDE4MywgMjQxLCAyNDgsIDQ4LCAxODMsIDI0MSwgMjQ4LCA1MSwgMTgzLCAyNDEsIDI0NywgMjQ2LCAKLSAgICAxMjUsIDE4MywgMjQ1LCA4NywgNDgsIDE4MywgMjQ1LCA4NywgNTEsIDE4MywgMjIyLCAxMDksIDE4MywgMjQ0LCAxNDQsIAotICAgIDI0NywgMTI4LCAxODMsIDIyMywgMjUxLCAxODMsIDIyMiwgMTM2LCAxODMsIDExMywgNjcsIDE3MCwgNDgsIDE4MywgMTEzLCAKLSAgICA2NywgMTcwLCA1MSwgMTgzLCAxMzQsIDE3MCwgNDgsIDE4MywgMTM0LCAxNzAsIDUxLCAxODMsIDIyNiwgMjUyLCAyMzIsIAotICAgIDIyMCwgNDgsIDE4MywgMjI2LCAyNTIsIDIzMiwgMjIwLCA1MSwgMTgzLCAyMzAsIDYxLCAxODMsIDI1MiwgMTM5LCAxODMsIAotICAgIDEsIDIxOSwgNTEsIDIxMCwgODAsIDE4MywgMSwgMjE5LCA1MSwgMjM0LCAxMjgsIDE4MywgMSwgMjE5LCA1MSwgMjQ0LCAKLSAgICAxNjIsIDksIDEsIDI1MiwgNjMsIDIsIDEzNCwgMTcwLCAyNDEsIDEsIDUxLCA5LCAxLCAyNTIsIDYzLCAyLCA1OSwgMjUyLCAKLSAgICA1MSwgMjIsIDEzNCwgMTcwLCA0OCwgOSwgMSwgMjUyLCA2MywgMiwgMTM0LCAxNzAsIDIyNSwgMTAsIDIxNCwgMTUzLCA1MSwgCi0gICAgOSwgMSwgMjUyLCA2MywgMiwgMTM0LCAxNzAsIDIyNSwgMTAsIDIxNCwgMTUzLCAyNTIsIDUxLCAyMiwgMTEzLCAxNzAsIDQ4LCAKLSAgICA5LCAxLCAyNTIsIDYzLCAyLCAxMTMsIDE3MCwgMjUyLCA1MSwgMjIsIDU5LCA0OCwgOSwgMSwgMjUyLCA2MywgMiwgMjM1LCAKLSAgICAyMDAsIDQsIDIxNCwgMTA2LCA1MSwgOSwgMSwgMjUyLCA2MywgMiwgNCwgMjE0LCAxMDUsIDksIDEsIDEyMiwgMiwgMTEzLCAKLSAgICAxNzAsIDQ4LCA5LCAxLCAxMjIsIDIsIDEzNCwgMTcwLCAyMjUsIDEwLCAyMTQsIDE1MywgNTEsIDksIDEsIDI0OCwgMjA0LCAKLSAgICAyLCAxMTMsIDE3MCwgMjEzLCAxODksIDI1MiwgNTEsIDIyLCA0LCAyMTcsIDgxLCA5LCAxLCAyNDgsIDIwNCwgMiwgMjM1LCAKLSAgICAyMDAsIDQsIDIxNCwgMTA2LCA1MSwgOSwgMSwgMjIzLCA5OSwgMiwgOTEsIDksIDEsIDIyMSwgMTY5LCAyLCAyNDQsIDE5LCAKLSAgICAxNzAsIDQ4LCA5LCAxLCAyNTQsIDIwNiwgMiwgMTEzLCAxNzAsIDQ4LCA5LCAxLCAyNTQsIDIwNiwgMiwgMTM0LCAxNzAsIAotICAgIDIyNSwgMTAsIDI0NiwgMTEyLCA0OCwgOSwgMSwgMjU0LCAyMDYsIDIsIDExMywgMTcwLCAyMTMsIDE4OSwgNDgsIDksIDEsIAotICAgIDI0NCwgMTUxLCAyLCAxMTMsIDE3MCwgNTEsIDksIDEsIDI0NCwgMTUxLCAyLCAxMzQsIDE3MCwgMjI1LCAxMCwgMjE0LCAKLSAgICAxNTMsIDUxLCA5LCAxLCAyMzQsIDE4MSwgMiwgNTksIDQ4LCA5LCAxLCAyMzQsIDE4MSwgMiwgMTM0LCAxNzAsIDQ4LCA5LCAKLSAgICAxLCAyMzQsIDE4MSwgMiwgMTM0LCAxNzAsIDIyNSwgMTAsIDIxNCwgMTUzLCA1MSwgOSwgMSwgNjYsIDIsIDU5LCA0OCwgOSwgCi0gICAgMSwgNjYsIDIsIDU5LCA1MSwgOSwgMSwgMjI4LCA2OCwgMiwgMTEzLCAxNzAsIDUxLCA5LCAxLCAyMjgsIDY4LCAyLCA0LCAKLSAgICAyMTcsIDgxLCA5LCAxLCAyMjgsIDY4LCAyLCA0LCAyMTQsIDEwNSwgOSwgMSwgMjMzLCAxMDksIDIsIDEzMCwgOSwgMSwgCi0gICAgMjIzLCA5OSwgMiwgMTEzLCAxNzAsIDIxMywgMTg5LCA0OCwgOSwgMSwgMjIzLCA5OSwgMiwgMTgyLCA0OCwgOSwgMSwgMjIxLCAKLSAgICAxNjksIDIsIDExMywgMTcwLCAyMTMsIDE4OSwgNDgsIDksIDEsIDEyMiwgMiwgNCwgOSwgMSwgMjE3LCA4MiwgNTEsIDksIDEsIAotICAgIDEyMiwgMiwgNCwgOSwgMSwgMjE3LCA4MiwgMjIsIDExMywgMjQ3LCAxMjYsIDksIDEsIDIyMSwgMTY5LCAyLCA0LCA5LCAxLCAKLSAgICAyMTcsIDgyLCAyMiwgMTEzLCAyNDcsIDEyNiwgOSwgMSwgMjIzLCA5OSwgMiwgNCwgOSwgMSwgMjE3LCA4MiwgMjIsIDExMywgCi0gICAgMjQ3LCAxMjYsIDksIDEsIDEyMiwgMiwgNCwgOSwgMSwgMjE3LCA4MiwgNDgsIDksIDEsIDEwOSwgMiwgMjQ1LCAzMCwgMjU0LCAKLSAgICA0NSwgMjEsIDExMywgNDgsIDksIDEsIDEwOSwgMiwgMjQ1LCAzMCwgMjU0LCA0NSwgMjEsIDEzNCwgNDgsIDksIDEsIDI0NCwgCi0gICAgMTc2LCA3NywgMiwgMjQ1LCAzMCwgMjU0LCA0NSwgMjEsIDExMywgNDgsIDksIDEsIDI0NCwgMTc2LCA3NywgMiwgMjQ1LCAKLSAgICAzMCwgMjU0LCA0NSwgMjEsIDEzNCwgNDgsIDksIDEsIDI0NCwgMTc2LCA3NywgMiwgMjQ1LCAzMCwgMjU0LCA0NSwgMjEsIAotICAgIDI0NCwgMTksIDUxLCA5LCAxLCAyMTIsIDMxLCAyLCAyNDUsIDMwLCAyNTQsIDQ1LCAyMSwgMTEzLCA0OCwgOSwgMSwgMjEyLCAKLSAgICAzMSwgMiwgMjQ1LCAzMCwgMjU0LCA0NSwgMjEsIDEzNCwgNDgsIDksIDEsIDc3LCAyNTIsIDE0MSwgMiwgMjQ1LCAzMCwgCi0gICAgMjU0LCA0NSwgMjEsIDExMywgNDgsIDksIDEsIDc3LCAyNTIsIDE0MSwgMiwgMjQ1LCAzMCwgMjU0LCA0NSwgMjEsIDEzNCwgCi0gICAgNDgsIDksIDEsIDEyMiwgMiwgMjQ1LCAzMCwgMjU0LCA0NSwgMjEsIDI0NCwgMTksIDUxLCA5LCAxLCAyMjEsIDE2OSwgMiwgCi0gICAgMjQ1LCAzMCwgMjU0LCA0NSwgMjEsIDI0NCwgMTksIDQ4LCA5LCAxLCAyMjEsIDE2OSwgMiwgMjM1LCAyMDAsIDIxNCwgMTA1LCAKLSAgICA5LCAxLCAyMzUsIDEsIDIsIDExMywgMTcwLCA0OCwgMjE2LCAyMDYsIDEsIDI0MiwgNTMsIDIxNiwgMjA2LCAxLCAyMjAsIAotICAgIDcwLCAyMTYsIDIwNiwgMSwgMjI4LCA2NiwgMjE2LCAyMDYsIDEsIDIyMywgMTg3LCAyMTYsIDIwNiwgMSwgMjUyLCAxOTcsIAotICAgIDIxNiwgMjA2LCAxLCAyMzMsIDEsIDIxNiwgMjA2LCAxLCAyMzUsIDE0LCAyMTYsIDIwNiwgMSwgMjU0LCAxNjgsIDIxNiwgCi0gICAgMjA2LCAxLCAyMTQsIDI1LCAyMTYsIDIwNiwgMSwgMjMxLCA4MiwgMjE2LCAyMDYsIDEsIDI0NCwgMjAyLCAyMTYsIDIwNiwgCi0gICAgMSwgMjQ4LCAzMSwgMjE2LCAyMDYsIDEsIDIxNiwgMjA4LCAyMTYsIDIwNiwgMSwgMjMzLCAxMzcsIDIxNiwgMjA2LCAxLCAKLSAgICAyNDMsIDEzOCwgMjE2LCAyMDYsIDEsIDI0MiwgMTg0LCAyMTYsIDIwNiwgMSwgMjIxLCAxNjcsIDIxNiwgMjA2LCAxLCAyNDgsIAotICAgIDE1NiwgMjE2LCAyMDYsIDEsIDIxMCwgMTAwLCAyMTYsIDIwNiwgMSwgMjE3LCAzOCwgMjE2LCAyMDYsIDEsIDIxMSwgMTAzLCAKLSAgICAyMTYsIDIwNiwgMSwgMjI1LCAyMzcsIDIxNiwgMjA2LCAxLCAyMzUsIDEzNCwgMjE2LCAyMDYsIDEsIDI1MCwgMTQyLCAyMTYsIAotICAgIDIwNiwgMSwgMjE1LCAxNTYsIDIxNiwgMjA2LCAxLCAyNDEsIDE5NSwgMjE2LCAyMDYsIDEsIDIzNCwgMTM3LCAyMTYsIDIwNiwgCi0gICAgMSwgMjE2LCAyMDcsIDIxNiwgMjA2LCAxLCAyMTAsIDExNSwgMjE2LCAyMDYsIDEsIDIyMCwgNjAsIDIxNiwgMjA2LCAxLCAKLSAgICAyMjIsIDMyLCAyMTYsIDIwNiwgMSwgMjQ4LCAyMjcsIDIxNiwgMjA2LCAxLCAxMTIsIDIxNiwgMjA2LCAxLCAyMTAsIDIzLCAKLSAgICAyMTYsIDIwNiwgMSwgMjU0LCAyMDIsIDIxNiwgMjA2LCAxLCAyNDIsIDI1MCwgMjE2LCAyMDYsIDEsIDIyNCwgODgsIDIxNiwgCi0gICAgMjA2LCAxLCAyMTIsIDYzLCAyMTYsIDIwNiwgMjU1LCAzMSwgMjE2LCAyMDYsIDI1NSwgNDcsIDIxNiwgMjA2LCAyNDAsIAotICAgIDEyMSwgMjE2LCAyMDYsIDI0NSwgMjE2LCAyMTYsIDIwNiwgMjE0LCAyMjIsIDIxNiwgMjA2LCAyMjYsIDE4NiwgMjE2LCAKLSAgICAyMDYsIDI0NSwgMjI0LCAyMTYsIDIwNiwgMjQ1LCAyNCwgMjE2LCAyMDYsIDIyNiwgMjUxLCAyMTYsIDIwNiwgMjI3LCAzLCAKLSAgICAyMTYsIDIwNiwgMjE4LCA0NiwgMjE2LCAyMDYsIDEsIDIyOSwgMjMwLCAyMjgsIDE0MiwgMjEsIDIxMCwgODYsIDIyOCwgCi0gICAgMTQyLCAyMSwgMTExLCAyMjgsIDE0MiwgMjEsIDEwNSwgMjI4LCAxNDIsIDIxLCAxNTgsIDIyOCwgMTQyLCAyMSwgMTYxLCAKLSAgICAyMjgsIDE0MiwgMjEsIDE5MCwgMjI4LCAxNDIsIDIxLCAxOTUsIDIyOCwgMTQyLCAyMSwgMTk5LCAyMjgsIDE0MiwgMjEsIAotICAgIDE5NiwgMjI4LCAxNDIsIDIxLCAyMDEsIDIyOCwgMTQyLCAxLCA2MSwgMjI4LCAxNDIsIDEsIDI0NSwgMjE3LCAyMjgsIDE0MiwgCi0gICAgMSwgNzQsIDIyOCwgMTQyLCAxLCA3NiwgMjI4LCAxNDIsIDEsIDY5LCAyMjgsIDE0MiwgMSwgMjI2LCAxODcsIDIyOCwgMTQyLCAKLSAgICAxLCA3OCwgMjI4LCAxNDIsIDEsIDI0OCwgMjE3LCAyMjgsIDE0MiwgMSwgMjMwLCAzMCwgMjI4LCAxNDIsIDEsIDI1MiwgCi0gICAgMTk5LCAyMjgsIDE0MiwgMSwgMTkxLCAyMjgsIDE0MiwgMSwgMjE3LCAxMDYsIDIyOCwgMTQyLCAxLCAyMzUsIDE0NywgMjI4LCAKLSAgICAxNDIsIDEsIDI1MCwgMTY1LCAyMjgsIDE0MiwgMSwgMjQ4LCAyMjksIDIyOCwgMTQyLCAxLCAyMDUsIDIyOCwgMTQyLCAxLCAKLSAgICAyMjIsIDE4MSwgMjI4LCAxNDIsIDEsIDIwNiwgMjI4LCAxNDIsIDEsIDI0MywgODYsIDIyOCwgMTQyLCAxLCAyNDQsIDIwNCwgCi0gICAgMjI4LCAxNDIsIDEsIDE3NiwgMjI4LCAxNDIsIDEsIDIzMywgMTQxLCAyMjgsIDE0MiwgMSwgMjI5LCAyMzQsIDIxMSwgMjIzLCAKLSAgICAyMjgsIDE0MiwgMSwgMTg2LCAyMjgsIDE0MiwgMSwgMjI3LCAxNjksIDIyOCwgMTQyLCAxLCAxOTgsIDIyOCwgMTQyLCAxLCAKLSAgICAxNjIsIDIyOCwgMTQyLCAxLCAyMTIsIDY1LCAyMjgsIDE0MiwgMSwgMTkyLCAyMjgsIDE0MiwgMSwgMjI3LCAxNzAsIDIxMSwgCi0gICAgMjIzLCAyMjgsIDE0MiwgMSwgMjM1LCA2NywgMjM1LCAxNDcsIDIyOCwgMTQyLCAxLCAyMzUsIDY3LCAyNTAsIDE2NSwgMjI4LCAKLSAgICAxNDIsIDEsIDIzNSwgNjcsIDIwNSwgMjI4LCAxNDIsIDM4LCAyMTksIDI1MywgMTI1LCAyMTYsIDMxLCAyMjgsIDE0MiwgMzgsIAotICAgIDIxOSwgMjUzLCAxMjEsIDIxNiwgMzEsIDIyOCwgMTQyLCAzOCwgMjE5LCAyNTMsIDIyMiwgMjMxLCAyMTYsIDMxLCAyMjgsIAotICAgIDE0MiwgMzgsIDIwMCwgMjQ4LCA0NiwgMjE2LCAzMSwgMjI4LCAxNDIsIDM4LCAyMDAsIDEyNSwgMjE2LCAzMSwgMjI4LCAKLSAgICAxNDIsIDM4LCAyMDAsIDEyMSwgMjE2LCAzMSwgMjI4LCAxNDIsIDM4LCAyMDAsIDIyMiwgMjMxLCAyMTYsIDMxLCAyMjgsIAotICAgIDE0MiwgMzgsIDIyOSwgMTk4LCA3OSwgMjI4LCAxNDIsIDM4LCA1MiwgNTksIDQ4LCAyMjgsIDE0MiwgMTI1LCAxMzgsIDI1NCwgCi0gICAgNjUsIDIyOCwgMTQyLCAxMjEsIDEzOCwgMjU0LCA2NSwgMjI4LCAxNDIsIDE2LCAyMjYsIDE4OCwgMjQ4LCA1OCwgMjI4LCAKLSAgICAxNDIsIDE2LCAyNDMsIDg1LCAyMjgsIDE0MiwgMjQ5LCAyMjcsIDIyOCwgMTQyLCAyNDUsIDM5LCA3OSwgMjI4LCAxNDIsIAotICAgIDIzMywgMTE0LCAyMjEsIDI1NCwgMSwgMjU0LCAxODUsIDIyMSwgMjU0LCAxLCAyNTEsIDIzNiwgMjIxLCAyNTQsIDEsIDI0MywgCi0gICAgMTE5LCAyMjEsIDI1NCwgMSwgMjQ4LCAyMDIsIDIyMSwgMjU0LCAxLCAyMzUsIDE1OCwgMjIxLCAyNTQsIDEsIDI1MiwgMTk3LCAKLSAgICAyMjEsIDI1NCwgMSwgMjEwLCA4OSwgMjIxLCAyNTQsIDEsIDIzNSwgMTY2LCAyMjEsIDI1NCwgMSwgMjE2LCA2OCwgMjIxLCAKLSAgICAyNTQsIDEsIDIxMCwgMTgyLCAyMjEsIDI1NCwgMSwgMjM1LCAxNSwgMjIxLCAyNTQsIDEsIDIzMywgMTM0LCAyMjEsIDI1NCwgCi0gICAgMSwgMjMwLCAxOTUsIDIyMSwgMjU0LCAxLCAyMjcsIDE5OCwgMjIxLCAyNTQsIDEsIDIxOSwgMTU4LCAyMjEsIDI1NCwgMSwgCi0gICAgMjM2LCA2LCAyMjEsIDI1NCwgMSwgMjQ0LCAxMjksIDIyMSwgMjU0LCAxLCAyMTUsIDE4MiwgMjIxLCAyNTQsIDEsIDIyNCwgCi0gICAgMTMsIDIyMSwgMjU0LCAxLCAyMjIsIDIzMiwgMjIxLCAyNTQsIDEsIDIyMCwgODcsIDIyMSwgMjU0LCAxLCAyMTcsIDEwMSwgCi0gICAgMjIxLCAyNTQsIDE2NCwgMjM2LCA2LCAyMjEsIDI1NCwgMTY0LCAyMzYsIDUsIDIyMSwgMjU0LCAxNjQsIDIyNiwgMjQ3LCAKLSAgICAyMjEsIDI1NCwgMTY0LCAyNDgsIDIxNSwgMjIxLCAyNTQsIDU4LCAxLCAyNDUsIDExMywgMjEwLCAxODIsIDIyMSwgMjU0LCAKLSAgICAxNjQsIDI0NSwgMTEzLCAyMTAsIDE4MiwgMjIxLCAyNTQsIDI1LCA1LCAyMDAsIDc2LCAyMjEsIDI1NCwgMjUsIDUsIDc2LCAKLSAgICAyMjEsIDI1NCwgMjUsIDUsIDIyNiwgMTIyLCAyNTUsIDgyLCAyMjEsIDI1NCwgMjUsIDUsIDIwMCwgMjU1LCA4MiwgMjIxLCAKLSAgICAyNTQsIDI1LCA1LCAyNTUsIDgyLCAyMjEsIDI1NCwgMjUsIDUsIDIyNiwgMTIyLCA2MSwgMjIxLCAyNTQsIDI1LCA1LCAyMDAsIAotICAgIDYxLCAyMjEsIDI1NCwgMjUsIDUsIDYxLCAyMjEsIDI1NCwgNTgsIDEsIDIxOSwgMjUzLCA2MSwgMjIxLCAyNTQsIDI1LCA1LCAKLSAgICAyMTksIDI1MywgNjEsIDIyMSwgMjU0LCAyNSwgNSwgMjAwLCA2OSwgMjIxLCAyNTQsIDI1LCA1LCA2OSwgMjIxLCAyNTQsIAotICAgIDU4LCAxLCA3NCwgMjIxLCAyNTQsIDI1LCA1LCAyMDAsIDc0LCAyMjEsIDI1NCwgMjUsIDUsIDc0LCAyMjEsIDI1NCwgMjUsIAotICAgIDUsIDc4LCAyMjEsIDI1NCwgMjUsIDUsIDIxOCwgNDYsIDIyMSwgMjU0LCAxNjQsIDIyOSwgOTcsIDIyMSwgMjU0LCAyMjQsIAotICAgIDE0NCwgMjI5LCA5NywgMjIxLCAyNTQsIDIyNCwgMTQ0LCAyNTQsIDIyNywgMjIxLCAyNTQsIDIyNCwgMTQ0LCAyNTQsIDEyMiwgCi0gICAgMjIxLCAyNTQsIDIyNCwgMTQ0LCAyNTIsIDEyMiwgMjIxLCAyNTQsIDIyNCwgMTQ0LCAyNTMsIDIwOSwgMjIxLCAyNTQsIAotICAgIDIyNCwgMTQ0LCAyMjAsIDEwLCAyMjEsIDI1NCwgMjU1LCAzMCwgNzksIDIyMSwgMjU0LCAyMjQsIDE0NCwgMjMxLCA3MywgCi0gICAgMjI0LCA0OCwgMjIxLCAyNTQsIDIyNCwgMTQ0LCAyMTAsIDMxLCAyMjEsIDI1NCwgMjI0LCAxNDQsIDIyNCwgNDgsIDIyMSwgCi0gICAgMjU0LCAyMjQsIDE0NCwgMjEwLCAxMTQsIDIyMSwgMjU0LCAyMjQsIDE0NCwgMjE1LCA5MCwgMjIxLCAyNTQsIDIyNCwgMTQ0LCAKLSAgICAyNTQsIDE3LCAyMjEsIDI1NCwgMjI0LCAxNDQsIDIxOSwgNTUsIDIzMSwgMTUwLCAyMjEsIDI1NCwgMjI0LCAxNDQsIDI1NCwgCi0gICAgMTA4LCAyMzEsIDE4NywgMSwgMjQyLCAzMSwgMjMxLCAxODcsIDEsIDI1NSwgMzQsIDIzMSwgMTg3LCAxLCAyNTQsIDIyNSwgCi0gICAgMjMxLCAxODcsIDEsIDI1NSwgOCwgMjMxLCAxODcsIDEsIDI1NCwgMjE4LCAyMzEsIDE4NywgMSwgMjE0LCAxMjQsIDIzMSwgCi0gICAgMTg3LCAxLCAyNTMsIDE2OCwgMjMxLCAxODcsIDEsIDIzNSwgMTY2LCAyMzEsIDE4NywgMSwgMjUzLCAyMDYsIDIzMSwgMTg3LCAKLSAgICAxLCAyNTQsIDE5MCwgMjMxLCAxODcsIDEsIDI1NCwgMTk1LCAyMzEsIDE4NywgMSwgMjU0LCAxODcsIDIzMSwgMTg3LCAxLCAKLSAgICAyNTQsIDE0NCwgMjMxLCAxODcsIDEsIDI1NCwgMTMxLCAyMzEsIDE4NywgMSwgMjUzLCAyNDUsIDIzMSwgMTg3LCAxLCAyMzYsIAotICAgIDYsIDIzMSwgMTg3LCAxLCAyNTQsIDgwLCAyMzEsIDE4NywgMSwgMjUzLCAyMTYsIDIzMSwgMTg3LCAxLCAyNTQsIDUzLCAKLSAgICAyMzEsIDE4NywgMSwgMjU0LCA0OSwgMjMxLCAxODcsIDEsIDI1MywgMjM5LCAyMzEsIDE4NywgMSwgMjUzLCAyMTQsIDIzMSwgCi0gICAgMTg3LCAxLCAyNDYsIDYzLCAyMzEsIDE4NywgMSwgMjM1LCA4LCAyMzEsIDE4NywgMSwgMjU0LCAyMDUsIDIzMSwgMTg3LCAKLSAgICAyNTQsIDIzMSwgNzksIDIzMSwgMTg3LCAyMTMsIDEzNiwgNzksIDIzMSwgMTg3LCAyNDMsIDYwLCA3OSwgMjMxLCAxODcsIAotICAgIDIyNCwgMTQzLCA5LCAxLCAyNTIsIDYzLCAyLCA0LCAyMTQsIDEwNiwgNTEsIDksIDEsIDE1MSwgMiwgMTEzLCAxNzAsIDQ4LCAKLSAgICA5LCAxLCAyMTcsIDgyLCAyLCAxMTMsIDE3MCwgNDgsIDksIDEsIDI0NCwgMTUxLCAyLCA1OSwgMjUyLCA1MSwgMjIsIDEzNCwgCi0gICAgMTcwLCA0OCwgOSwgMSwgMjI0LCA4NSwgMiwgNTksIDUxLCA5LCAxLCAyMzMsIDEwOSwgMiwgNTIsIDEzMCwgOSwgMSwgNjYsIAotICAgIDIsIDEzNCwgMTcwLCA0OCwgOSwgMSwgNzcsIDIsIDExMywgMTcwLCAyNTIsIDUxLCAyMiwgMTgyLCA0OCwgOSwgMSwgNzcsIAotICAgIDIsIDExMywgMTcwLCAyNTIsIDUxLCAyMiwgNTksIDQ4LCA5LCAxLCAyMjMsIDk5LCAyLCAyMzIsIDEyOSwgOSwgMSwgMjEyLCAKLSAgICAzMSwgMiwgNTksIDIxMSwgMjMxLCA5LCAxLCAyMjIsIDIwMywgMjExLCA0MywgOSwgMjQ5LCAxMDcsIDI0NCwgMTczLCA5LCAKLSAgICAyNDksIDEwNywgMjQ4LCAxOTIsIDksIDI0OSwgMTA3LCAyMzQsIDIxMSwgOSwgMjQ5LCAxMDcsIDI0NCwgMTcxLCA5LCAyNDksIAotICAgIDEwNywgMjQ4LCAxOTAsIDksIDI0OSwgMTA3LCAyMzQsIDIwOSwgOSwgMTM4LCAxMjMsIDU5LCA0OCwgOSwgMTM4LCAxMTMsIAotICAgIDE3MCwgNDgsIDksIDEzOCwgMjMyLCAxMzAsIDQ4LCA5LCAxMzgsIDEyMywgNTksIDUxLCA5LCAxMzgsIDExMywgMTcwLCA1MSwgCi0gICAgOSwgMTM4LCAyMzIsIDEzMCwgNTEsIDksIDIwNCwgMjQ0LCAxNzEsIDksIDIwNCwgMjQ4LCAxOTAsIDksIDIwNCwgMjM0LCAKLSAgICAyMDksIDksIDQsIDEyNSwgMjEyLCAzMCwgOSwgMjQ0LCAxNzQsIDIsIDIyMiwgMjM2LCA5LCAyNDQsIDE3NCwgMiwgNTksIAotICAgIDQ4LCA5LCAyMzQsIDIxMiwgMiwgNTksIDUxLCA5LCA0MywgMjU0LCAyLCA0OCwgOSwgNDQsIDI1NCwgMiwgNDgsIDksIDQzLCAKLSAgICAyNTQsIDIsIDUxLCA5LCA0NCwgMjU0LCAyLCA1MSwgOSwgNTIsIDQ0LCAyNTQsIDIsIDQ4LCA5LCA1MiwgNDQsIDI1NCwgMiwgCi0gICAgNzIsIDIsIDI0NywgMTI4LCA5LCA0NCwgMjU0LCAyLCA3MiwgMiwgMjQ3LCAxMjgsIDksIDI0OCwgMTkzLCAyLCAyNDcsIAotICAgIDEyOCwgODQsIDUsIDIzNSwgMjAwLCAyNTEsIDcsIDg0LCA1LCAyNTEsIDcsIDg0LCA1LCAyNTQsIDgzLCA4NCwgNSwgMjEzLCAKLSAgICAxNDcsIDg0LCAxLCAyMTksIDI1MywgNjEsIDg0LCAxLCA2MSwgODQsIDEsIDI1NSwgODIsIDg0LCAxLCA3NCwgODQsIDEsIAotICAgIDIzNiwgNDAsIDg0LCAxLCA2OSwgODQsIDEsIDIxNCwgMTE4LCA4NCwgMSwgMTQ5LCAxNTMsIDg0LCAxLCAxNDksIDE1NiwgCi0gICAgODQsIDEsIDI1MSwgMTAsIDc2LCA4NCwgMSwgMjE5LCAyNTMsIDc2LCA4NCwgMSwgNzYsIDg0LCAxLCAyNTQsIDIxMCwgODQsIAotICAgIDEsIDI1MSwgMTAsIDc4LCA4NCwgMSwgMjE5LCAyNTMsIDc4LCA4NCwgMSwgNzgsIDg0LCAxLCAyNTMsIDIwMCwgODQsIDEsIAotICAgIDE3NiwgODQsIDEsIDIzNCwgMTM4LCA4NCwgMSwgMjQzLCAxNDIsIDg0LCAxLCAyNDMsIDAsIDg0LCAxLCAyMjksIDgyLCA4NCwgCi0gICAgMSwgMjUxLCA0MSwgODQsIDEsIDI1MCwgMTY1LCA4NCwgMSwgMjM1LCAxNDcsIDg0LCAxLCAyMzUsIDEyMCwgODQsIDEsIAotICAgIDIyNywgMTY5LCA4NCwgMSwgMjE1LCAxNTcsIDg0LCAxLCAyMTUsIDE0NSwgODQsIDEsIDI0OCwgMTQzLCA4NCwgMSwgMjQ4LCAKLSAgICAxMjcsIDg0LCAxLCAyMjgsIDExNSwgODQsIDEsIDIxNywgMTA2LCA4NCwgMSwgMjE2LCAyMDksIDg0LCAxLCAyNDgsIDIyOSwgCi0gICAgODQsIDEsIDI0OCwgMzMsIDg0LCAxLCAxOTgsIDg0LCAxLCAyMjgsIDk3LCA4NCwgMSwgMTkxLCA4NCwgMSwgMjI1LCAxNTAsIAotICAgIDg0LCAxLCAyNTIsIDE5OSwgODQsIDEsIDI1MiwgMjYsIDg0LCAxLCAxODYsIDg0LCAxLCAxOTIsIDg0LCAxLCAyMDUsIDg0LCAKLSAgICAxLCAyMjIsIDE4MSwgODQsIDEsIDIzMywgMTQxLCA4NCwgMSwgMjMyLCAxOTAsIDg0LCAxLCAyMzIsIDE4MSwgODQsIDEsIAotICAgIDIxNCwgMjcsIDg0LCAxLCAyMjAsIDEwNCwgODQsIDEsIDIxOCwgMjI1LCA4NCwgMSwgMjA2LCA4NCwgMSwgMTYyLCA4NCwgCi0gICAgMjUsIDUsIDIyNiwgMjM4LCA4NCwgMjUsIDUsIDIyNiwgMTg1LCA4NCwgNSwgMjI3LCAyMDksIDg0LCA1LCAyNTMsIDE4MywgCi0gICAgODQsIDI1LCA1LCAyNTUsIDgyLCA4NCwgMjUsIDUsIDc0LCA4NCwgMjUsIDUsIDIzNiwgNDAsIDg0LCAyNSwgNSwgNjksIDg0LCAKLSAgICAyNSwgNSwgMjE0LCAxMTgsIDg0LCAyNSwgNSwgMTQ5LCAxNTMsIDg0LCAyNSwgNSwgMTQ5LCAyMjIsIDE4MiwgODQsIDI1LCAKLSAgICA1LCAyNTEsIDEwLCA3NiwgODQsIDI1LCA1LCAyMTksIDI1MywgNzYsIDg0LCAyNSwgNSwgNzYsIDg0LCAyNSwgNSwgMjU0LCAKLSAgICAyMTAsIDg0LCAyNSwgNSwgMjUxLCAxMCwgNzgsIDg0LCAyNSwgNSwgMjE5LCAyNTMsIDc4LCA4NCwgMjUsIDUsIDc4LCA4NCwgCi0gICAgMjUsIDUsIDI1MywgMjAwLCA4NCwgNSwgMjEzLCAxNTIsIDg0LCAyNSwgNSwgMjI0LCAxODgsIDc2LCA4NCwgMjUsIDUsIAotICAgIDI1MywgMTc5LCA4NCwgMjI2LCAyMDgsIDg0LCAyMTgsIDExMywgNSwgMjE0LCAyMTYsIDg0LCAyMTgsIDExMywgNSwgMjU0LCAKLSAgICA4NSwgODQsIDI0MiwgMTQ0LCAyNTUsIDIzLCA4NCwgMjU1LCAxMiwgMjU1LCAyMywgODQsIDI1LCA1LCAyNTEsIDEwLCAyMDAsIAotICAgIDc2LCA4NCwgMjUsIDUsIDIxNCwgMjE0LCA4NCwgMjUsIDUsIDIxNCwgMTE3LCA4NCwgMSwgMjI0LCA5MSwgODQsIDEsIDIzNCwgCi0gICAgMTIxLCA4NCwgMSwgMjQyLCAyMzMsIDg0LCAxLCAyMTAsIDExNiwgODQsIDEsIDI0OCwgMTMyLCA4NCwgMSwgMjIzLCA0MiwgCi0gICAgODQsIDEsIDI0NCwgMjA0LCA4NCwgMSwgMjEwLCAxNjgsIDg0LCAxLCAxNDksIDIyMiwgMTgyLCA4NCwgMSwgMTQ5LCAyMzIsIAotICAgIDE5MSwgODQsIDI1LCA1LCAxNDksIDE1NiwgODQsIDI1LCA1LCAxNDksIDIzMiwgMTkxLCA4NCwgMjQ4LCAxODYsIDg0LCA1MiwgCi0gICAgMjQ4LCAxODYsIDg0LCAyMSwgMjEwLCA4NiwgODQsIDIxLCAxMTEsIDg0LCAyMSwgMTA1LCA4NCwgMjEsIDE1OCwgODQsIDIxLCAKLSAgICAxNjEsIDg0LCAyMSwgMTkwLCA4NCwgMjEsIDE5NSwgODQsIDIxLCAxOTksIDg0LCAyMSwgMTk2LCA4NCwgMjEsIDIwMSwgODQsIAotICAgIDI1NSwgMzAsIDUwLCA4NCwgNSwgMTI1LCAyMTksIDE5LCAyNDcsIDEyOCwgODQsIDEsIDI1MSwgMTAsIDYxLCA4NCwgMSwgCi0gICAgMjI2LCAyMzgsIDg0LCAxLCAyMjYsIDE4NSwgODQsIDEsIDI1MywgMTc5LCA4NCwgMSwgMjE0LCAyMTQsIDg0LCAxLCAyMTQsIAotICAgIDExNywgODQsIDEsIDIxMCwgODIsIDg0LCAxLCAxMTQsIDE5MiwgODQsIDEsIDI0MywgMzYsIDg0LCAxLCAyMzUsIDEwMiwgCi0gICAgODQsIDEsIDI0MiwgMTg3LCAyMTgsIDEzMSwgODQsIDEsIDI0OCwgMTMzLCA4NCwgMSwgMjUyLCAxMTksIDE0NiwgNSwgMjUxLCAKLSAgICA3LCAxNDYsIDUsIDI1NCwgODMsIDE0NiwgNSwgMjEzLCAxNDcsIDE0NiwgMSwgNjEsIDE0NiwgMSwgMjU1LCA4MiwgMTQ2LCAKLSAgICAxLCA3NCwgMTQ2LCAxLCAyMzYsIDQwLCAxNDYsIDEsIDY5LCAxNDYsIDEsIDIxNCwgMTE4LCAxNDYsIDEsIDE0OSwgMTUzLCAKLSAgICAxNDYsIDEsIDE0OSwgMTU2LCAxNDYsIDEsIDc2LCAxNDYsIDEsIDI1NCwgMjEwLCAxNDYsIDEsIDc4LCAxNDYsIDEsIDI1MywgCi0gICAgMjAwLCAxNDYsIDEsIDE3NiwgMTQ2LCAxLCAyMzQsIDEzOCwgMTQ2LCAxLCAyNDMsIDE0MiwgMTQ2LCAxLCAyNDMsIDAsIAotICAgIDE0NiwgMSwgMjI5LCA4MiwgMTQ2LCAxLCAyNTEsIDQxLCAxNDYsIDEsIDI1MCwgMTY1LCAxNDYsIDEsIDIzNSwgMTQ3LCAKLSAgICAxNDYsIDEsIDIzNSwgMTIwLCAxNDYsIDEsIDIyNywgMTY5LCAxNDYsIDEsIDIxNSwgMTU3LCAxNDYsIDEsIDIxNSwgMTQ1LCAKLSAgICAxNDYsIDEsIDI0OCwgMTQzLCAxNDYsIDEsIDI0OCwgMTI3LCAxNDYsIDEsIDIyOCwgMTE1LCAxNDYsIDEsIDIxNywgMTA2LCAKLSAgICAxNDYsIDEsIDIxNiwgMjA5LCAxNDYsIDEsIDI0OCwgMjI5LCAxNDYsIDEsIDI0OCwgMzMsIDE0NiwgMSwgMTk4LCAxNDYsIDEsIAotICAgIDE5MSwgMTQ2LCAxLCAyMjUsIDE1MCwgMTQ2LCAxLCAyNTIsIDE5OSwgMTQ2LCAxLCAyNTIsIDI2LCAxNDYsIDEsIDE4NiwgCi0gICAgMTQ2LCAxLCAxOTIsIDE0NiwgMSwgMjA1LCAxNDYsIDEsIDIzMywgMTQxLCAxNDYsIDEsIDIyMCwgMTA0LCAxNDYsIDEsIAotICAgIDIxOCwgMjI1LCAxNDYsIDEsIDIwNiwgMTQ2LCAxLCAxNjIsIDE0NiwgNSwgMjI3LCAyMDksIDE0NiwgNSwgMjUzLCAxODMsIAotICAgIDE0NiwgMjUsIDUsIDI1NSwgODIsIDE0NiwgMjUsIDUsIDc0LCAxNDYsIDI1LCA1LCAyMzYsIDQwLCAxNDYsIDI1LCA1LCA2OSwgCi0gICAgMTQ2LCAyNSwgNSwgMjE0LCAxMTgsIDE0NiwgMjUsIDUsIDE0OSwgMTUzLCAxNDYsIDI1LCA1LCAxNDksIDIyMiwgMTgyLCAKLSAgICAxNDYsIDI1LCA1LCA3NiwgMTQ2LCAyNSwgNSwgMjU0LCAyMTAsIDE0NiwgMjUsIDUsIDc4LCAxNDYsIDI1LCA1LCAyNTMsIAotICAgIDIwMCwgMTQ2LCA1LCAyMTMsIDE1MiwgMTQ2LCAxLCAyMzQsIDEzMCwgMjE3LCAxMDYsIDE0NiwgMjUzLCAyMDEsIDIzMywgCi0gICAgMjksIDc5LCAxNDYsIDEsIDIyMiwgMTgxLCAxNDYsIDEsIDIyMywgNDIsIDE0NiwgMSwgMjEwLCAxNjgsIDE0NiwgMSwgMTQ5LCAKLSAgICAyMjIsIDE4MiwgMTQ2LCAxLCAxNDksIDIzMiwgMTkxLCAxNDYsIDI1LCA1LCAxNDksIDE1NiwgMTQ2LCAyNSwgNSwgMTQ5LCAKLSAgICAyMzIsIDE5MSwgMTQ2LCAyMSwgMjEwLCA4NiwgMTQ2LCAyMSwgMTExLCAxNDYsIDIxLCAxMDUsIDE0NiwgMjEsIDE1OCwgCi0gICAgMTQ2LCAyMSwgMTYxLCAxNDYsIDIxLCAxOTAsIDE0NiwgMjEsIDE5NSwgMTQ2LCAyMSwgMTk5LCAxNDYsIDIxLCAxOTYsIAotICAgIDE0NiwgMjEsIDIwMSwgMTQ2LCAxLCAyMjMsIDE5MSwgMiwgMjMwLCAyMjksIDI0OCwgNiwgMTQ2LCAxLCAyMjMsIDE5MSwgMiwgCi0gICAgMjMyLCAxMTQsIDI0OCwgNiwgMTQ2LCAyMjIsIDEyMCwgNzksIDE0NiwgMjIyLCAxMjAsIDUwLCAxNDYsIDI0OSwgMTA2LCAKLSAgICAyMjcsIDIwMSwgMTExLCAxNDYsIDI0OSwgMTA2LCAyMjcsIDIwMSwgMTA1LCAxNDYsIDI0OSwgMTA2LCAyMjcsIDIwMSwgCi0gICAgMTU4LCAxNDYsIDI0OSwgMTA2LCAyMjcsIDIwMSwgMTYxLCAxNDYsIDI0OSwgMTA2LCAyMjcsIDIwMSwgMTIzLCAyMzMsIDIyLCAKLSAgICAyMTYsIDIwMiwgMjE2LCAxOTcsIDI0OCwgNTYsIDE0NiwgMjQ5LCAxMDYsIDI0OCwgNTcsIDIxOSwgMTIxLCAxNDYsIDIzNSwgCi0gICAgMTY3LCAxNDYsIDI0MywgMTEwLCA3OSwgMTg1LCA1LCAyNTUsIDcsIDI1MSwgMjUxLCAxODUsIDUsIDI1MSwgMjUxLCAxODUsIAotICAgIDUsIDIxMywgMTQ3LCAxODUsIDEsIDYxLCAxODUsIDEsIDI1NSwgODIsIDE4NSwgMSwgNzQsIDE4NSwgMSwgMjM2LCA0MCwgCi0gICAgMTg1LCAxLCA2OSwgMTg1LCAxLCAyMTQsIDExOCwgMTg1LCAxLCAyNDUsIDIxNywgMTg1LCAxLCAyNTQsIDIxMCwgMTg1LCAxLCAKLSAgICAyMjYsIDE4NywgMTg1LCAxLCAyNTMsIDIwMCwgMTg1LCAxLCAxNzYsIDE4NSwgMSwgMjM0LCAxMzgsIDE4NSwgMSwgMjQzLCAKLSAgICAxNDIsIDE4NSwgMSwgMjQzLCAwLCAxODUsIDEsIDIyOSwgODIsIDE4NSwgMSwgMjUxLCA0MSwgMTg1LCAxLCAyNTAsIDE2NSwgCi0gICAgMTg1LCAxLCAyMzUsIDE0NywgMTg1LCAxLCAyMzUsIDEyMCwgMTg1LCAxLCAyMjcsIDE2OSwgMTg1LCAxLCAyMTUsIDE1NywgCi0gICAgMTg1LCAxLCAyMTUsIDE0NSwgMTg1LCAxLCAyNDgsIDE0MywgMTg1LCAxLCAyNDgsIDEyNywgMTg1LCAxLCAyMjgsIDExNSwgCi0gICAgMTg1LCAxLCAyMTcsIDEwNiwgMTg1LCAxLCAyMTYsIDIwOSwgMTg1LCAxLCAyNDgsIDIyOSwgMTg1LCAxLCAyNDgsIDMzLCAKLSAgICAxODUsIDEsIDE5OCwgMTg1LCAxLCAxOTEsIDE4NSwgMSwgMjI1LCAxNTAsIDE4NSwgMSwgMjUyLCAxOTksIDE4NSwgMSwgCi0gICAgMjUyLCAyNiwgMTg1LCAxLCAxODYsIDE4NSwgMSwgMTkyLCAxODUsIDEsIDIwNSwgMTg1LCAxLCAyMzMsIDE0MSwgMTg1LCAxLCAKLSAgICAyMzIsIDE5MCwgMTg1LCAxLCAyMTQsIDI3LCAxODUsIDEsIDIyMCwgMTA0LCAxODUsIDEsIDIwNiwgMTg1LCAxLCAxNjIsIAotICAgIDE4NSwgNSwgMjI3LCAyMDksIDE4NSwgMjUsIDUsIDI1NSwgODIsIDE4NSwgMjUsIDUsIDc0LCAxODUsIDI1LCA1LCAyMzYsIAotICAgIDQwLCAxODUsIDI1LCA1LCA2OSwgMTg1LCAyNSwgNSwgMjE0LCAxMTgsIDE4NSwgMjUsIDUsIDI0NSwgMjE3LCAxODUsIDI1LCAKLSAgICA1LCAyNTQsIDIxMCwgMTg1LCAyNSwgNSwgMjI2LCAxODcsIDE4NSwgMjUsIDUsIDI1MywgMjAwLCAxODUsIDUsIDIxMywgCi0gICAgMTUyLCAxODUsIDUsIDIxNCwgMjE4LCAxODUsIDEsIDIzNCwgMTIxLCAxODUsIDEsIDI0MiwgMjMzLCAxODUsIDEsIDIxMCwgCi0gICAgMTE2LCAxODUsIDEsIDIyMiwgMTgxLCAxODUsIDEsIDI0NCwgMjA0LCAxODUsIDIxLCAyMTAsIDg2LCAxODUsIDIxLCAxMTEsIAotICAgIDE4NSwgMjEsIDEwNSwgMTg1LCAyMSwgMTU4LCAxODUsIDIxLCAxNjEsIDE4NSwgMjEsIDE5MCwgMTg1LCAyMSwgMTk1LCAKLSAgICAxODUsIDIxLCAxOTksIDE4NSwgMjEsIDE5NiwgMTg1LCAyMSwgMjAxLCAxODUsIDIxNiwgNzUsIDE4NSwgMjU1LCA2LCAxODUsIAotICAgIDIzNSwgMTg1LCAxODUsIDIxNCwgMTQ2LCAxODUsIDI0NSwgMTg5LCAyMjYsIDE5MiwgMTg1LCA1LCAyMTEsIDc4LCAxNzEsIAotICAgIDUsIDI1MSwgNywgMTcxLCA1LCAyNTQsIDgzLCAxNzEsIDUsIDIxMywgMTQ3LCAxNzEsIDEsIDYxLCAxNzEsIDEsIDI1NSwgCi0gICAgODIsIDE3MSwgMSwgNzQsIDE3MSwgMSwgMjM2LCA0MCwgMTcxLCAxLCA2OSwgMTcxLCAxLCAyMTQsIDExOCwgMTcxLCAxLCAKLSAgICAxNDksIDE1MywgMTcxLCAxLCAxNDksIDE1NiwgMTcxLCAyNSwgMjUxLCAxMCwgNzYsIDE3MSwgMSwgNzYsIDE3MSwgMSwgCi0gICAgMjU0LCAyMTAsIDE3MSwgMjUsIDI1MSwgMTAsIDc4LCAxNzEsIDEsIDc4LCAxNzEsIDEsIDI1MywgMjAwLCAxNzEsIDEsIAotICAgIDE3NiwgMTcxLCAxLCAyMzQsIDEzOCwgMTcxLCAxLCAyNDMsIDE0MiwgMTcxLCAxLCAyNDMsIDAsIDE3MSwgMSwgMjI5LCA4MiwgCi0gICAgMTcxLCAxLCAyNTEsIDQxLCAxNzEsIDEsIDI1MCwgMTY1LCAxNzEsIDEsIDIzNSwgMTQ3LCAxNzEsIDEsIDIzNSwgMTIwLCAKLSAgICAxNzEsIDEsIDIyNywgMTY5LCAxNzEsIDEsIDIxNSwgMTU3LCAxNzEsIDEsIDIxNSwgMTQ1LCAxNzEsIDEsIDI0OCwgMTQzLCAKLSAgICAxNzEsIDEsIDI0OCwgMTI3LCAxNzEsIDEsIDIyOCwgMTE1LCAxNzEsIDEsIDIxNywgMTA2LCAxNzEsIDEsIDIxNiwgMjA5LCAKLSAgICAxNzEsIDEsIDI0OCwgMjI5LCAxNzEsIDEsIDI0OCwgMzMsIDE3MSwgMSwgMTk4LCAxNzEsIDEsIDE5MSwgMTcxLCAxLCAyMjUsIAotICAgIDE1MCwgMTcxLCAxLCAyNTIsIDE5OSwgMTcxLCAxLCAyNTIsIDI2LCAxNzEsIDEsIDE4NiwgMTcxLCAxLCAxOTIsIDE3MSwgMSwgCi0gICAgMjA1LCAxNzEsIDEsIDIzMywgMTQxLCAxNzEsIDEsIDIzMiwgMTkwLCAxNzEsIDEsIDIxNCwgMjcsIDE3MSwgMSwgMjIwLCAKLSAgICAxMDQsIDE3MSwgMSwgMjE4LCAyMjUsIDE3MSwgMSwgMjA2LCAxNzEsIDEsIDE2MiwgMTcxLCA1LCAyMjcsIDIwOSwgMTcxLCAKLSAgICA1LCAyNTMsIDE4MywgMTcxLCAyNSwgNSwgMjU1LCA4MiwgMTcxLCAyNSwgNSwgNzQsIDE3MSwgMjUsIDUsIDIzNiwgNDAsIAotICAgIDE3MSwgMjUsIDUsIDY5LCAxNzEsIDI1LCA1LCAyMTQsIDExOCwgMTcxLCAyNSwgNSwgMTQ5LCAxNTMsIDE3MSwgMjUsIDUsIAotICAgIDE0OSwgMjIyLCAxODIsIDE3MSwgMjUsIDUsIDI1MSwgMTAsIDc2LCAxNzEsIDI1LCA1LCA3NiwgMTcxLCAyNSwgNSwgMjU0LCAKLSAgICAyMTAsIDE3MSwgMjUsIDUsIDI1MSwgMTAsIDc4LCAxNzEsIDI1LCA1LCA3OCwgMTcxLCAyNSwgNSwgMjUzLCAyMDAsIDE3MSwgCi0gICAgNSwgMjEzLCAxNTIsIDE3MSwgMjI2LCAyMDgsIDE3MSwgMSwgMTQ5LCAyMjIsIDE4MiwgMTcxLCAxLCAxNDksIDIzMiwgMTkxLCAKLSAgICAxNzEsIDI1LCA1LCAxNDksIDE1NiwgMTcxLCAyNSwgNSwgMTQ5LCAyMzIsIDE5MSwgMTcxLCAyMSwgMjEwLCA4NiwgMTcxLCAKLSAgICAyMSwgMTExLCAxNzEsIDIxLCAxMDUsIDE3MSwgMjEsIDE1OCwgMTcxLCAyMSwgMTYxLCAxNzEsIDIxLCAxOTAsIDE3MSwgMjEsIAotICAgIDE5NSwgMTcxLCAyMSwgMTk5LCAxNzEsIDIxLCAxOTYsIDE3MSwgMjEsIDIwMSwgMTcxLCAyNTUsIDMwLCA1MCwgMTcxLCAKLSAgICAyMjIsIDEyMCwgNTAsIDE1NywgNSwgMjUxLCA3LCAxNTcsIDUsIDI1NCwgODMsIDE1NywgNSwgMjEzLCAxNDcsIDE1NywgMSwgCi0gICAgNjEsIDE1NywgMSwgMjU1LCA4MiwgMTU3LCAxLCA3NCwgMTU3LCAxLCAyMzYsIDQwLCAxNTcsIDEsIDY5LCAxNTcsIDEsIAotICAgIDIxNCwgMTE4LCAxNTcsIDEsIDE0OSwgMTUzLCAxNTcsIDEsIDE0OSwgMTU2LCAxNTcsIDEsIDc2LCAxNTcsIDEsIDI1NCwgCi0gICAgMjEwLCAxNTcsIDEsIDc4LCAxNTcsIDEsIDI1MywgMjAwLCAxNTcsIDEsIDE3NiwgMTU3LCAxLCAyMzQsIDEzOCwgMTU3LCAxLCAKLSAgICAyNDMsIDE0MiwgMTU3LCAxLCAyNDMsIDAsIDE1NywgMSwgMjI5LCA4MiwgMTU3LCAxLCAyNTEsIDQxLCAxNTcsIDEsIDI1MCwgCi0gICAgMTY1LCAxNTcsIDEsIDIzNSwgMTQ3LCAxNTcsIDEsIDIzNSwgMTIwLCAxNTcsIDEsIDIyNywgMTY5LCAxNTcsIDEsIDIxNSwgCi0gICAgMTU3LCAxNTcsIDEsIDIxNSwgMTQ1LCAxNTcsIDEsIDI0OCwgMTQzLCAxNTcsIDEsIDI0OCwgMTI3LCAxNTcsIDEsIDIyOCwgCi0gICAgMTE1LCAxNTcsIDEsIDIxNywgMTA2LCAxNTcsIDEsIDIxNiwgMjA5LCAxNTcsIDEsIDI0OCwgMjI5LCAxNTcsIDEsIDI0OCwgCi0gICAgMzMsIDE1NywgMSwgMTk4LCAxNTcsIDEsIDE5MSwgMTU3LCAxLCAyMjUsIDE1MCwgMTU3LCAxLCAyNTIsIDE5OSwgMTU3LCAxLCAKLSAgICAyNTIsIDI2LCAxNTcsIDEsIDE4NiwgMTU3LCAxLCAxOTIsIDE1NywgMSwgMjA1LCAxNTcsIDEsIDIzMywgMTQxLCAxNTcsIDEsIAotICAgIDIzMiwgMTkwLCAxNTcsIDEsIDIxNCwgMjcsIDE1NywgMSwgMjIwLCAxMDQsIDE1NywgMSwgMjE4LCAyMjUsIDE1NywgMSwgCi0gICAgMjA2LCAxNTcsIDEsIDE2MiwgMTU3LCA1LCAyMjcsIDIwOSwgMTU3LCA1LCAyNTMsIDE4MywgMTU3LCAyNSwgNSwgMjU1LCAKLSAgICA4MiwgMTU3LCAyNSwgNSwgNzQsIDE1NywgMjUsIDUsIDIzNiwgNDAsIDE1NywgMjUsIDUsIDY5LCAxNTcsIDI1LCA1LCAyMTQsIAotICAgIDExOCwgMTU3LCAyNSwgNSwgMTQ5LCAxNTMsIDE1NywgMjUsIDUsIDE0OSwgMjIyLCAxODIsIDE1NywgMjUsIDUsIDc2LCAKLSAgICAxNTcsIDI1LCA1LCAyNTQsIDIxMCwgMTU3LCAyNSwgNSwgNzgsIDE1NywgMjUsIDUsIDI1MywgMjAwLCAxNTcsIDUsIDIxMywgCi0gICAgMTUyLCAxNTcsIDI1NCwgMjExLCAyMzMsIDI5LCA3OSwgMTU3LCAyNTMsIDIwMSwgMjMzLCAyOSwgNzksIDE1NywgMSwgMjIyLCAKLSAgICAxODEsIDE1NywgMSwgMjIzLCA0MiwgMTU3LCAxLCAyMTAsIDE2OCwgMTU3LCAxLCAxNDksIDIyMiwgMTgyLCAxNTcsIDEsIAotICAgIDE0OSwgMjMyLCAxOTEsIDE1NywgMjUsIDUsIDE0OSwgMTU2LCAxNTcsIDI1LCA1LCAxNDksIDIzMiwgMTkxLCAxNTcsIDIxLCAKLSAgICAyMTAsIDg2LCAxNTcsIDIxLCAxMTEsIDE1NywgMjEsIDEwNSwgMTU3LCAyMSwgMTU4LCAxNTcsIDIxLCAxNjEsIDE1NywgMjEsIAotICAgIDE5MCwgMTU3LCAyMSwgMTk1LCAxNTcsIDIxLCAxOTksIDE1NywgMjEsIDE5NiwgMTU3LCAyMSwgMjAxLCAxNTcsIDIzNSwgCi0gICAgMTY3LCAxNTcsIDEsIDIxMiwgNjUsIDE1NywgMjQ0LCAxMCwgMTIzLCAyMjQsIDI0LCAxNTcsIDI0NCwgMTAsIDEyMywgMjQyLCAKLSAgICAzNCwgMTU3LCAyNDQsIDEwLCAxMzQsIDIyNCwgMjIsIDE1NywgMjQ0LCAxMCwgMTIzLCAyMTksIDExOSwgMTU3LCAyNDQsIAotICAgIDEwLCAxMjMsIDI0NSwgMTk2LCAxNTcsIDI0NCwgMTAsIDEzNCwgMjE5LCAxMTgsIDM2LCA1LCAyNTQsIDgzLCAzNiwgNSwgCi0gICAgMjEzLCAxNDcsIDM2LCAxLCA2MSwgMzYsIDEsIDI1NSwgODIsIDM2LCAxLCA3NCwgMzYsIDEsIDIzNiwgNDAsIDM2LCAxLCAKLSAgICA2OSwgMzYsIDEsIDIxNCwgMTE4LCAzNiwgMSwgNzYsIDM2LCAxLCAyNDUsIDIxNywgMzYsIDEsIDI1NCwgMjEwLCAzNiwgMSwgCi0gICAgNzgsIDM2LCAxLCAyMjYsIDE4NywgMzYsIDEsIDI1MywgMjAwLCAzNiwgMSwgMTc2LCAzNiwgMSwgMjI5LCA4MiwgMzYsIDEsIAotICAgIDI1MSwgNDEsIDM2LCAxLCAyMzUsIDE0NywgMzYsIDEsIDIyNywgMTY5LCAzNiwgMSwgMjE1LCAxNTcsIDM2LCAxLCAyMjgsIAotICAgIDExNSwgMzYsIDEsIDIxNywgMTA2LCAzNiwgMSwgMTk4LCAzNiwgMSwgMjI4LCA5NywgMzYsIDEsIDE5MSwgMzYsIDEsIDE4NiwgCi0gICAgMzYsIDEsIDE5MiwgMzYsIDEsIDIwNSwgMzYsIDEsIDIyMiwgMTgxLCAzNiwgMSwgMjMzLCAxNDEsIDM2LCAxLCAyMzIsIAotICAgIDE5MCwgMzYsIDEsIDIzMiwgMTgxLCAzNiwgMSwgMjE0LCAyNywgMzYsIDEsIDIyMCwgMTA0LCAzNiwgMSwgMjE4LCAyMjUsIAotICAgIDM2LCAxLCAyMDYsIDM2LCAxLCAxNjIsIDM2LCAyNSwgNSwgMjU1LCA4MiwgMzYsIDI1LCA1LCA3NCwgMzYsIDI1LCA1LCAKLSAgICAyMzYsIDQwLCAzNiwgMjUsIDUsIDY5LCAzNiwgMjUsIDUsIDIxNCwgMTE4LCAzNiwgMjUsIDUsIDc2LCAzNiwgMjUsIDUsIAotICAgIDI0NSwgMjE3LCAzNiwgMjUsIDUsIDI1NCwgMjEwLCAzNiwgMjUsIDUsIDc4LCAzNiwgMjUsIDUsIDIyNiwgMTg3LCAzNiwgCi0gICAgMjUsIDUsIDI1MywgMjAwLCAzNiwgNSwgMjEzLCAxNTIsIDM2LCAyMjYsIDIwOCwgMzYsIDI1MywgMjAxLCAyMzMsIDI5LCAKLSAgICA3OSwgMzYsIDIxLCAyMTAsIDg2LCAzNiwgMjEsIDExMSwgMzYsIDIxLCAxMDUsIDM2LCAyMSwgMTU4LCAzNiwgMjEsIDE2MSwgCi0gICAgMzYsIDIxLCAxOTAsIDM2LCAyMSwgMTk1LCAzNiwgMjEsIDE5OSwgMzYsIDIxLCAxOTYsIDM2LCAyMSwgMjAxLCAzNiwgNTQsIAotICAgIDIxNiwgMjQ4LCAzNiwgNTQsIDEyMywgMjQwLCAyMTcsIDM2LCA1NCwgMTIzLCAyMTYsIDE0OCwgMzYsIDI0OCwgMTU0LCA1MCwgCi0gICAgMzYsIDIzMCwgMTQwLCA1MCwgMzYsIDIxMSwgNDUsIDUwLCAzNiwgMjQ4LCA5NSwgNTAsIDM2LCAyNDksIDE0NywgNTAsIDM2LCAKLSAgICAyNTMsIDI0NiwgNzIsIDUwLCAzNiwgMjIyLCAxMjAsIDUwLCAzNiwgNTQsIDUwLCAxNDgsIDUsIDI1MSwgNywgMTQ4LCA1LCAKLSAgICAyNTQsIDgzLCAxNDgsIDUsIDIxMywgMTQ3LCAxNDgsIDEsIDYxLCAxNDgsIDEsIDI1NSwgODIsIDE0OCwgMSwgNzQsIDE0OCwgCi0gICAgMSwgMjM2LCA0MCwgMTQ4LCAxLCA2OSwgMTQ4LCAxLCAyMTQsIDExOCwgMTQ4LCAxLCAxNDksIDE1MywgMTQ4LCAxLCAxNDksIAotICAgIDE1NiwgMTQ4LCAxLCA3NiwgMTQ4LCAxLCAyNDUsIDIxNywgMTQ4LCAxLCAyNTQsIDIxMCwgMTQ4LCAxLCA3OCwgMTQ4LCAxLCAKLSAgICAyMjYsIDE4NywgMTQ4LCAxLCAyNTMsIDIwMCwgMTQ4LCAxLCAxNzYsIDE0OCwgMSwgMjM0LCAxMzgsIDE0OCwgMSwgMjQzLCAKLSAgICAxNDIsIDE0OCwgMSwgMjQzLCAwLCAxNDgsIDEsIDIyOSwgODIsIDE0OCwgMSwgMjUxLCA0MSwgMTQ4LCAxLCAyNTAsIDE2NSwgCi0gICAgMTQ4LCAxLCAyMzUsIDE0NywgMTQ4LCAxLCAyMzUsIDEyMCwgMTQ4LCAxLCAyMjcsIDE2OSwgMTQ4LCAxLCAyMTUsIDE1NywgCi0gICAgMTQ4LCAxLCAyMTUsIDE0NSwgMTQ4LCAxLCAyNDgsIDE0MywgMTQ4LCAxLCAyNDgsIDEyNywgMTQ4LCAxLCAyMjgsIDExNSwgCi0gICAgMTQ4LCAxLCAyMTcsIDEwNiwgMTQ4LCAxLCAyMTYsIDIwOSwgMTQ4LCAxLCAyNDgsIDIyOSwgMTQ4LCAxLCAyNDgsIDMzLCAKLSAgICAxNDgsIDEsIDE5OCwgMTQ4LCAxLCAxOTEsIDE0OCwgMSwgMjI1LCAxNTAsIDE0OCwgMSwgMjUyLCAxOTksIDE0OCwgMSwgCi0gICAgMjUyLCAyNiwgMTQ4LCAxLCAxODYsIDE0OCwgMSwgMTkyLCAxNDgsIDEsIDIwNSwgMTQ4LCAxLCAyMjIsIDE4MSwgMTQ4LCAxLCAKLSAgICAyMzMsIDE0MSwgMTQ4LCAxLCAyMzIsIDE5MCwgMTQ4LCAxLCAyMTQsIDI3LCAxNDgsIDEsIDIyMCwgMTA0LCAxNDgsIDEsIAotICAgIDIxOCwgMjI1LCAxNDgsIDEsIDIwNiwgMTQ4LCAxLCAxNjIsIDE0OCwgNSwgMjUzLCAxODMsIDE0OCwgMjUsIDUsIDI1NSwgCi0gICAgODIsIDE0OCwgMjUsIDUsIDc0LCAxNDgsIDI1LCA1LCAyMzYsIDQwLCAxNDgsIDI1LCA1LCA2OSwgMTQ4LCAyNSwgNSwgMjE0LCAKLSAgICAxMTgsIDE0OCwgMjUsIDUsIDE0OSwgMTUzLCAxNDgsIDI1LCA1LCAxNDksIDIyMiwgMTgyLCAxNDgsIDI1LCA1LCA3NiwgCi0gICAgMTQ4LCAyNSwgNSwgMjQ1LCAyMTcsIDE0OCwgMjUsIDUsIDI1NCwgMjEwLCAxNDgsIDI1LCA1LCA3OCwgMTQ4LCAyNSwgNSwgCi0gICAgMjI2LCAxODcsIDE0OCwgMjUsIDUsIDI1MywgMjAwLCAxNDgsIDUsIDIxMywgMTUyLCAxNDgsIDIzMywgMjksIDc5LCAxNDgsIAotICAgIDI1NCwgMjExLCAyMzMsIDI5LCA3OSwgMTQ4LCAxLCAyMTUsIDE4NCwgMTQ4LCAxLCAyNDYsIDQ2LCAxNDgsIDEsIDE0OSwgCi0gICAgMjIyLCAxODIsIDE0OCwgMSwgMTQ5LCAyMzIsIDE5MSwgMTQ4LCAyNSwgNSwgMTQ5LCAxNTYsIDE0OCwgMjUsIDUsIDE0OSwgCi0gICAgMjMyLCAxOTEsIDE0OCwgMjEsIDIxMCwgODYsIDE0OCwgMjEsIDExMSwgMTQ4LCAyMSwgMTA1LCAxNDgsIDIxLCAxNTgsIAotICAgIDE0OCwgMjEsIDE2MSwgMTQ4LCAyMSwgMTkwLCAxNDgsIDIxLCAxOTUsIDE0OCwgMjEsIDE5OSwgMTQ4LCAyMSwgMTk2LCAKLSAgICAxNDgsIDIxLCAyMDEsIDE0OCwgMjQ0LCAxMCwgMjEsIDIxMCwgODcsIDMxLCAyMjYsIDI0MSwgMjI0LCAyMjYsIDY0LCAxNjEsIAotICAgIDE0OCwgMjQ0LCAxMCwgMjEsIDEyMywgMzEsIDIyNiwgMjQxLCAyMjQsIDIyNiwgNjQsIDE2MSwgMTQ4LCAyNDQsIDEwLCAyMSwgCi0gICAgMTEzLCAzMSwgMjI2LCAyNDEsIDIyNCwgMjI2LCA2NCwgMTYxLCAxNDgsIDI0NCwgMTAsIDIxLCAxMzQsIDMxLCAyMjYsIAotICAgIDI0MSwgMjI0LCAyMjYsIDY0LCAxNjEsIDE0OCwgMjQ0LCAxMCwgMjEsIDEyMywgMzEsIDI0NSwgNTAsIDIyNCwgMjI2LCA2NCwgCi0gICAgMTYxLCAxNDgsIDI0NCwgMTAsIDIxLCAxMTMsIDMxLCAyNDUsIDUwLCAyMjQsIDIyNiwgNjQsIDE2MSwgMTQ4LCAyNDQsIDEwLCAKLSAgICAyMSwgMTM0LCAzMSwgMjQ1LCA1MCwgMjI0LCAyMjYsIDY0LCAxNjEsIDE0OCwgNSwgMjE1LCA4NCwgMTY1LCA1LCAyNTQsIAotICAgIDgzLCAxNjUsIDUsIDIxMywgMTQ3LCAxNjUsIDEsIDYxLCAxNjUsIDEsIDI1NSwgODIsIDE2NSwgMSwgNzQsIDE2NSwgMSwgCi0gICAgMjM2LCA0MCwgMTY1LCAxLCA2OSwgMTY1LCAxLCAyMTQsIDExOCwgMTY1LCAxLCAxNDksIDE1MywgMTY1LCAxLCAxNDksIAotICAgIDE1NiwgMTY1LCAxLCA3NiwgMTY1LCAxLCAyNDUsIDIxNywgMTY1LCAxLCAyNTQsIDIxMCwgMTY1LCAxLCA3OCwgMTY1LCAxLCAKLSAgICAyMjYsIDE4NywgMTY1LCAxLCAyNTMsIDIwMCwgMTY1LCAxLCAxNzYsIDE2NSwgMSwgMjM0LCAxMzgsIDE2NSwgMSwgMjQzLCAKLSAgICAxNDIsIDE2NSwgMSwgMjQzLCAwLCAxNjUsIDEsIDIyOSwgODIsIDE2NSwgMSwgMjUxLCA0MSwgMTY1LCAxLCAyNTAsIDE2NSwgCi0gICAgMTY1LCAxLCAyMzUsIDE0NywgMTY1LCAxLCAyMzUsIDEyMCwgMTY1LCAxLCAyMjcsIDE2OSwgMTY1LCAxLCAyMTUsIDE1NywgCi0gICAgMTY1LCAxLCAyMTUsIDE0NSwgMTY1LCAxLCAyNDgsIDE0MywgMTY1LCAxLCAyNDgsIDEyNywgMTY1LCAxLCAyMjgsIDExNSwgCi0gICAgMTY1LCAxLCAyMTcsIDEwNiwgMTY1LCAxLCAyMTYsIDIwOSwgMTY1LCAxLCAyNDgsIDIyOSwgMTY1LCAxLCAyNDgsIDMzLCAKLSAgICAxNjUsIDEsIDE5OCwgMTY1LCAxLCAxOTEsIDE2NSwgMSwgMjI1LCAxNTAsIDE2NSwgMSwgMjUyLCAxOTksIDE2NSwgMSwgCi0gICAgMjUyLCAyNiwgMTY1LCAxLCAxODYsIDE2NSwgMSwgMTkyLCAxNjUsIDEsIDIwNSwgMTY1LCAxLCAyMjIsIDE4MSwgMTY1LCAxLCAKLSAgICAyMzMsIDE0MSwgMTY1LCAxLCAyMzIsIDE5MCwgMTY1LCAxLCAyMTQsIDI3LCAxNjUsIDEsIDIyMCwgMTA0LCAxNjUsIDEsIAotICAgIDIxOCwgMjI1LCAxNjUsIDEsIDIwNiwgMTY1LCAxLCAxNjIsIDE2NSwgNSwgMjI3LCAyMDksIDE2NSwgNSwgMjUzLCAxODMsIAotICAgIDE2NSwgMjUsIDUsIDI1NSwgODIsIDE2NSwgMjUsIDUsIDc0LCAxNjUsIDI1LCA1LCAyMzYsIDQwLCAxNjUsIDI1LCA1LCA2OSwgCi0gICAgMTY1LCAyNSwgNSwgMjE0LCAxMTgsIDE2NSwgMjUsIDUsIDE0OSwgMTUzLCAxNjUsIDI1LCA1LCAxNDksIDIyMiwgMTgyLCAKLSAgICAxNjUsIDI1LCA1LCA3NiwgMTY1LCAyNSwgNSwgMjQ1LCAyMTcsIDE2NSwgMjUsIDUsIDI1NCwgMjEwLCAxNjUsIDI1LCA1LCAKLSAgICA3OCwgMTY1LCAyNSwgNSwgMjI2LCAxODcsIDE2NSwgMjUsIDUsIDI1MywgMjAwLCAxNjUsIDUsIDIxMywgMTUyLCAxNjUsIAotICAgIDIzMywgMjksIDc5LCAxNjUsIDI1NCwgMjExLCAyMzMsIDI5LCA3OSwgMTY1LCAxLCAyNDQsIDIwNCwgMTY1LCAxLCAxNDksIAotICAgIDIyMiwgMTgyLCAxNjUsIDEsIDE0OSwgMjMyLCAxOTEsIDE2NSwgMjUsIDUsIDE0OSwgMTU2LCAxNjUsIDI1LCA1LCAxNDksIAotICAgIDIzMiwgMTkxLCAxNjUsIDIxLCAyMTAsIDg2LCAxNjUsIDIxLCAxMTEsIDE2NSwgMjEsIDEwNSwgMTY1LCAyMSwgMTU4LCAKLSAgICAxNjUsIDIxLCAxNjEsIDE2NSwgMjEsIDE5MCwgMTY1LCAyMSwgMTk1LCAxNjUsIDIxLCAxOTksIDE2NSwgMjEsIDE5NiwgCi0gICAgMTY1LCAyMSwgMjAxLCAxNjUsIDUsIDIzNSwgMTA4LCAxNjUsIDUsIDIxNCwgMTYxLCAxMzYsIDUsIDI1NCwgODMsIDEzNiwgCi0gICAgNSwgMjEzLCAxNDcsIDEzNiwgMSwgNjEsIDEzNiwgMSwgMjU1LCA4MiwgMTM2LCAxLCA3NCwgMTM2LCAxLCAyMzYsIDQwLCAKLSAgICAxMzYsIDEsIDY5LCAxMzYsIDEsIDIxNCwgMTE4LCAxMzYsIDEsIDE0OSwgMTUzLCAxMzYsIDEsIDE0OSwgMTU2LCAxMzYsIDEsIAotICAgIDc2LCAxMzYsIDEsIDI0NSwgMjE3LCAxMzYsIDEsIDI1NCwgMjEwLCAxMzYsIDEsIDc4LCAxMzYsIDEsIDIyNiwgMTg3LCAKLSAgICAxMzYsIDEsIDI1MywgMjAwLCAxMzYsIDEsIDE3NiwgMTM2LCAxLCAyMzQsIDEzOCwgMTM2LCAxLCAyNDMsIDE0MiwgMTM2LCAKLSAgICAxLCAyNDMsIDAsIDEzNiwgMSwgMjI5LCA4MiwgMTM2LCAxLCAyNTEsIDQxLCAxMzYsIDEsIDI1MCwgMTY1LCAxMzYsIDEsIAotICAgIDIzNSwgMTQ3LCAxMzYsIDEsIDIzNSwgMTIwLCAxMzYsIDEsIDIyNywgMTY5LCAxMzYsIDEsIDIxNSwgMTU3LCAxMzYsIDEsIAotICAgIDIxNSwgMTQ1LCAxMzYsIDEsIDI0OCwgMTQzLCAxMzYsIDEsIDI0OCwgMTI3LCAxMzYsIDEsIDIyOCwgMTE1LCAxMzYsIDEsIAotICAgIDIxNywgMTA2LCAxMzYsIDEsIDIxNiwgMjA5LCAxMzYsIDEsIDI0OCwgMjI5LCAxMzYsIDEsIDI0OCwgMzMsIDEzNiwgMSwgCi0gICAgMTk4LCAxMzYsIDEsIDIyOCwgOTcsIDEzNiwgMSwgMTkxLCAxMzYsIDEsIDIyNSwgMTUwLCAxMzYsIDEsIDI1MiwgMTk5LCAKLSAgICAxMzYsIDEsIDI1MiwgMjYsIDEzNiwgMSwgMTg2LCAxMzYsIDEsIDE5MiwgMTM2LCAxLCAyMDUsIDEzNiwgMSwgMjIyLCAxODEsIAotICAgIDEzNiwgMSwgMjMzLCAxNDEsIDEzNiwgMSwgMjMyLCAxOTAsIDEzNiwgMSwgMjMyLCAxODEsIDEzNiwgMSwgMjE0LCAyNywgCi0gICAgMTM2LCAxLCAyMjAsIDEwNCwgMTM2LCAxLCAyMTgsIDIyNSwgMTM2LCAxLCAyMDYsIDEzNiwgMSwgMTYyLCAxMzYsIDEsIAotICAgIDIxNSwgMTI2LCAxMzYsIDUsIDI1MywgMTgzLCAxMzYsIDI1LCA1LCAyNTUsIDgyLCAxMzYsIDI1LCA1LCA3NCwgMTM2LCAyNSwgCi0gICAgNSwgMjM2LCA0MCwgMTM2LCAyNSwgNSwgNjksIDEzNiwgMjUsIDUsIDIxNCwgMTE4LCAxMzYsIDI1LCA1LCAxNDksIDE1MywgCi0gICAgMTM2LCAyNSwgNSwgMTQ5LCAyMjIsIDE4MiwgMTM2LCAyNSwgNSwgNzYsIDEzNiwgMjUsIDUsIDI0NSwgMjE3LCAxMzYsIDI1LCAKLSAgICA1LCAyNTQsIDIxMCwgMTM2LCAyNSwgNSwgNzgsIDEzNiwgMjUsIDUsIDIyNiwgMTg3LCAxMzYsIDI1LCA1LCAyNTMsIDIwMCwgCi0gICAgMTM2LCA1LCAyMTMsIDE1MiwgMTM2LCAxLCA1OSwgMjIzLCA3NiwgMTM2LCAyNTMsIDIwMSwgMjMzLCAyOSwgNzksIDEzNiwgCi0gICAgMSwgMTQ5LCAyMjIsIDE4MiwgMTM2LCAxLCAxNDksIDIzMiwgMTkxLCAxMzYsIDI1LCA1LCAxNDksIDE1NiwgMTM2LCAyNSwgCi0gICAgNSwgMTQ5LCAyMzIsIDE5MSwgMTM2LCAyMSwgMjEwLCA4NiwgMTM2LCAyMSwgMTExLCAxMzYsIDIxLCAxMDUsIDEzNiwgMjEsIAotICAgIDE1OCwgMTM2LCAyMSwgMTYxLCAxMzYsIDIxLCAxOTAsIDEzNiwgMjEsIDE5NSwgMTM2LCAyMSwgMTk5LCAxMzYsIDIxLCAKLSAgICAxOTYsIDEzNiwgMjEsIDIwMSwgMTM2LCA1NCwgMjE2LCAyNDgsIDEzNiwgNTQsIDEyMywgMjQwLCAyMTcsIDEzNiwgNTQsIAotICAgIDEyMywgMjE2LCAxNDgsIDEzNiwgMjQ0LCAxMCwgMTIzLCAyMjQsIDI0LCAxMzYsIDI0NCwgMTAsIDEyMywgMjQyLCAzNCwgCi0gICAgMTM2LCAyNDQsIDEwLCAxMzQsIDIyNCwgMjIsIDEzNiwgMjQ4LCAxNTgsIDc5LCAxMzYsIDEsIDI1MCwgMTA3LCAyMjgsIAotICAgIDExNiwgMTM2LCAxLCAyNTAsIDEwNywgMjMwLCAzMCwgMTM2LCAxLCAyNTAsIDEwNywgMjIyLCAxODIsIDEzNiwgMSwgMjUwLCAKLSAgICAxMDcsIDE1NiwgMTM2LCAxLCAyNTAsIDEwNywgMjMyLCAxOTEsIDEzNiwgMSwgMjUwLCAxMDcsIDIzNSwgMjksIDE3NSwgNSwgCi0gICAgMjU0LCA4MiwgMTc1LCA1LCAyMTMsIDE0NiwgMTc1LCAxLCAyNTMsIDE3MywgMTc1LCAxLCAyNTUsIDM2LCAxNzUsIDEsIAotICAgIDI1NCwgMjMyLCAxNzUsIDEsIDI1NCwgMjQ3LCAxNzUsIDEsIDIzNSwgMTU3LCAxNzUsIDEsIDIzNiwgMzksIDE3NSwgMSwgCi0gICAgMjE0LCAxMTAsIDE3NSwgMSwgMjE0LCAxMTIsIDE3NSwgMSwgMjM1LCAxODAsIDE3NSwgMSwgMjM1LCAxODEsIDE3NSwgMSwgCi0gICAgMjM2LCAyNSwgMTc1LCAxLCAyMzYsIDI3LCAxNzUsIDEsIDI0NSwgMjUsIDE3NSwgMSwgMjQ1LCAyMTIsIDE3NSwgMSwgMjU0LCAKLSAgICAxOTcsIDE3NSwgMSwgMjI2LCAxMTIsIDE3NSwgMSwgMjI2LCAxODEsIDE3NSwgMSwgMjUzLCAxODYsIDE3NSwgMSwgMjU0LCAKLSAgICAxNTQsIDIzNCwgMTkzLCAxNzUsIDEsIDIzMSwgMjE0LCAyMzQsIDE5MywgMTc1LCAxLCAyNTQsIDE1NCwgMjQzLCA4OSwgCi0gICAgMTc1LCAxLCAyMzEsIDIxNCwgMjQzLCA4OSwgMTc1LCAxLCAyMzQsIDIzNSwgMjI5LCAyMjcsIDE3NSwgMSwgMjIxLCAyMzgsIAotICAgIDI0MywgODksIDE3NSwgMSwgMjU0LCAxNTQsIDI1MCwgMjI0LCAxNzUsIDEsIDIzMSwgMjE0LCAyNTAsIDIyNCwgMTc1LCAxLCAKLSAgICAyNTQsIDE1NCwgMjM1LCAxMzMsIDE3NSwgMSwgMjMxLCAyMTQsIDIzNSwgMTMzLCAxNzUsIDEsIDIxNywgOTksIDIyOSwgCi0gICAgMjI3LCAxNzUsIDEsIDIxNywgOTksIDIyMSwgMjM3LCAyMjksIDIyOCwgMTc1LCAxLCAyMjEsIDIzOCwgMjM1LCAxMzMsIAotICAgIDE3NSwgMSwgMjU0LCAxNTQsIDIxNSwgMTUzLCAxNzUsIDEsIDIzMSwgMjE0LCAyMTUsIDE1MywgMTc1LCAxLCAyNTQsIDE1NCwgCi0gICAgMjQ4LCAxMzQsIDE3NSwgMSwgMjMxLCAyMTQsIDI0OCwgMTM0LCAxNzUsIDEsIDIzMCwgNTgsIDIyOSwgMTg1LCAxNzUsIDEsIAotICAgIDIyMSwgMjM4LCAyNDgsIDEzNCwgMTc1LCAxLCAyNTQsIDE1NCwgMjE3LCAzMSwgMTc1LCAxLCAyMzEsIDIxNCwgMjE3LCAzMSwgCi0gICAgMTc1LCAxLCAyNTQsIDE1NCwgMjQ4LCAxNTIsIDE3NSwgMSwgMjMxLCAyMTQsIDI0OCwgMTUyLCAxNzUsIDEsIDI0OCwgMTgyLCAKLSAgICAyMjksIDE4NSwgMTc1LCAxLCAyMjEsIDIzOCwgMjQ4LCAxNTIsIDE3NSwgMSwgMjU0LCAxNTQsIDIyNSwgMjMyLCAxNzUsIDEsIAotICAgIDIzMSwgMjE0LCAyMjUsIDIzMiwgMTc1LCAxLCAyNTQsIDE1NCwgMjUyLCAxMjAsIDE3NSwgMSwgMjMxLCAyMTQsIDI1MiwgCi0gICAgMTIwLCAxNzUsIDEsIDIzMSwgMTM2LCAxNzUsIDEsIDI1NCwgMTM5LCAyNTIsIDEyMCwgMTc1LCAxLCAyMTEsIDUxLCAxNzUsIAotICAgIDEsIDIyMywgMTM2LCAxNzUsIDEsIDI0OCwgMTgyLCAyMzMsIDczLCAxNzUsIDEsIDIxNCwgMSwgMTc1LCAxLCAyMTcsIDk5LCAKLSAgICAyMjEsIDIxMiwgMTc1LCAxLCAyMzAsIDU4LCAyMjEsIDIxMiwgMTc1LCAxLCAyNDgsIDE4MiwgMjIxLCAyMTIsIDE3NSwgMSwgCi0gICAgMjQxLCAyNDksIDE3NSwgMSwgMjMwLCA1OCwgMjMzLCA3MywgMTc1LCAxLCAyNDQsIDE2NCwgMTc1LCA1LCAyNTQsIDE4NiwgCi0gICAgMTc1LCAyNSwgNSwgMjU0LCAyNDIsIDE3NSwgMjUsIDUsIDIzNCwgMTYxLCAyNTQsIDI0OSwgMTc1LCAyNSwgNSwgMjQ3LCAKLSAgICAyMzYsIDI1NCwgMjQ5LCAxNzUsIDI1LCA1LCAyMzQsIDE2MSwgMjM1LCAxNzcsIDE3NSwgMjUsIDUsIDI0NywgMjM2LCAyMzUsIAotICAgIDE3NywgMTc1LCAyNSwgNSwgMjM0LCAxNjEsIDIyNiwgOTIsIDE3NSwgMjUsIDUsIDI0NywgMjM2LCAyMjYsIDkyLCAxNzUsIAotICAgIDI1LCA1LCAyNDMsIDEzMSwgMTc1LCAyNSwgNSwgMjM0LCAyMSwgMTc1LCAyNSwgNSwgMjQ3LCAyMzYsIDIzNCwgMjEsIDE3NSwgCi0gICAgMjUsIDUsIDIzNCwgMjMsIDI0OCwgNzUsIDE3NSwgMjUsIDUsIDIzNCwgMjIsIDI0MiwgNTQsIDI1NCwgMjQyLCAxNzUsIDI1LCAKLSAgICA1LCAyMzQsIDIyLCAyNDIsIDU0LCAyNDcsIDIzNiwgMjU0LCAyNDIsIDE3NSwgMjUsIDUsIDIzNCwgMjIsIDI0MiwgNTQsIAotICAgIDI0MywgODgsIDE3NSwgMjUsIDUsIDI0MywgODgsIDE3NSwgMjUsIDUsIDI0NywgMjM2LCAyNDMsIDEzMSwgMTc1LCAyNSwgNSwgCi0gICAgMjQ3LCAyMzYsIDI0MywgODgsIDE3NSwgMjI0LCAxNDQsIDIzMywgMjEzLCAxNjgsIDEzNSwgMjM0LCAzNSwgMjM0LCAyNTIsIAotICAgIDE2OCwgMTM1LCAyMzQsIDExMiwgMjM0LCAxMzQsIDE2OCwgMTM1LCAyMzQsIDExMiwgMjM0LCAxMDUsIDE2OCwgMTM1LCAKLSAgICAyMzQsIDExMiwgMjM0LCAxMDEsIDE2OCwgMTM1LCAyMzQsIDExMiwgMjM0LCAxMDksIDE2OCwgMTM1LCAyMzQsIDExMiwgCi0gICAgMjIzLCAxNTcsIDE2OCwgMTM1LCAyMjksIDEwLCAyMjgsIDI1MywgMTY4LCAxMzUsIDI1MCwgOTUsIDI1MCwgMTU1LCAxNjgsIAotICAgIDEzNSwgMjUwLCA5NSwgMjUwLCAxMDMsIDE2OCwgMTM1LCAyNTAsIDk1LCAyNTAsIDE1NCwgMTY4LCAxMzUsIDIxOSwgNjEsIAotICAgIDIxOSwgNjAsIDE2OCwgMTM1LCAyNTAsIDk1LCAyNTAsIDkxLCAxNjgsIDEzNSwgMjEwLCAyNDUsIDIxMCwgMjUyLCAxNjgsIAotICAgIDEzNSwgMjQ3LCAxNTQsIDI1MCwgMTYyLCAxNjgsIDEzNSwgMjE2LCA0MywgMjI1LCAyNDIsIDE2OCwgMTM1LCAyMTYsIDE1OCwgCi0gICAgMjE2LCAyMDEsIDE2OCwgMTM1LCAyMTYsIDE1OCwgMjI5LCAyMDYsIDE2OCwgMTM1LCAyMTYsIDE1OCwgMjI1LCAxMTQsIAotICAgIDE2OCwgMTM1LCAyMjgsIDgwLCAyMjksIDEwMywgMTY4LCAxMzUsIDI0NywgMTU0LCAyNDgsIDc2LCAxNjgsIDEzNSwgMjE2LCAKLSAgICA0MywgMjE3LCA1NiwgMTY4LCAxMzUsIDIxNiwgMTU4LCAyMTYsIDEzMiwgMTY4LCAxMzUsIDIxNiwgMTU4LCAyMTYsIDIwNSwgCi0gICAgMTY4LCAxMzUsIDIxNiwgMTU4LCAyMTYsIDE1NSwgMTY4LCAxMzUsIDIyOCwgODAsIDIyNywgMjQyLCAxNjgsIDEzNSwgMjUxLCAKLSAgICAyMTQsIDI1MiwgMTcyLCAxNjgsIDEzNSwgMjI1LCAyMCwgMjI1LCA0NSwgMTY4LCAxMzUsIDIyNSwgMTI1LCAyMjUsIDExNiwgCi0gICAgMTY4LCAxMzUsIDI0NCwgNTIsIDI0NCwgMjA0LCAxNjgsIDEzNSwgMjI1LCAxMjUsIDIyNSwgMTQ0LCAxNjgsIDEzNSwgMjQ0LCAKLSAgICA1MiwgMjQ0LCAxODEsIDE2OCwgMTM1LCAyMjUsIDEyNSwgMjIxLCAyNDksIDE2OCwgMTM1LCAyMzAsIDE2NywgMTg2LCAxNjgsIAotICAgIDEzNSwgMjEwLCAyNDUsIDIxMSwgNzksIDE2OCwgMTM1LCAyMjIsIDIxNCwgMjIyLCAxNDEsIDE2OCwgMTM1LCAyMjIsIDE0MiwgCi0gICAgMTY4LCAxMzUsIDIzMiwgMTYzLCAyMzIsIDIxMiwgMTY4LCAxMzUsIDIzMiwgMTAzLCAxNjgsIDEzNSwgMjExLCAyMjgsIAotICAgIDIxMiwgNjEsIDE2OCwgMTM1LCAyMTksIDYxLCAyMjIsIDgsIDE2OCwgMTM1LCAyMTksIDYxLCAyMjIsIDExNiwgMTY4LCAKLSAgICAxMzUsIDIxOSwgNjEsIDIxOCwgODMsIDE2OCwgMTM1LCAyNDEsIDc2LCAyNDEsIDE2NiwgMTY4LCAxMzUsIDIzMiwgMTYzLCAKLSAgICAyNTAsIDc2LCAxNjgsIDEzNSwgMTQ0LCAyNTQsIDEyMywgMTY4LCAxMzUsIDI0MSwgNzYsIDIyOCwgNzUsIDE2OCwgMTM1LCAKLSAgICAyMjYsIDcyLCAxNjgsIDEzNSwgMjIxLCAyMzIsIDYxLCAxNjgsIDEzNSwgMjMxLCAyMDksIDI0MiwgMjQsIDE2OCwgMTM1LCAKLSAgICAyMjEsIDIzMiwgMjU1LCA4MiwgMTY4LCAxMzUsIDIyMSwgMjMyLCAyNTQsIDE0NCwgMTY4LCAxMzUsIDIyMSwgMjMyLCA3NCwgCi0gICAgMTY4LCAxMzUsIDIyMSwgMjMyLCAyMzYsIDQwLCAxNjgsIDEzNSwgMjIxLCAyMzIsIDIxNCwgMjE0LCAxNjgsIDEzNSwgMjIxLCAKLSAgICAyMzIsIDIxNCwgMjEyLCAxNjgsIDEzNSwgMjIxLCAyMzIsIDY5LCAxNjgsIDEzNSwgMjIxLCAyMzIsIDIxNCwgMTE4LCAxNjgsIAotICAgIDEzNSwgMjI1LCAxMjcsIDE2OCwgMjQ5LCAxMDYsIDE2LCAyNTIsIDE3MywgMTY4LCAxMzUsIDIyMSwgMjMyLCA3NiwgMTY4LCAKLSAgICAxMzUsIDIyMSwgMjMyLCAyNTQsIDI1MiwgMTY4LCAxMzUsIDIyMSwgMjMyLCA3OCwgMTY4LCAxMzUsIDIyMSwgMjMyLCAyNTQsIAotICAgIDIxMSwgMjMxLCAyMDMsIDE2OCwgMTM1LCAyMjEsIDIzMiwgMjU0LCAyMTEsIDIzMSwgMjA0LCAxNjgsIDEzNSwgMjMzLCAKLSAgICAxMTIsIDE2OCwgMTM1LCAyMzEsIDIwMCwgMTY4LCAxMzUsIDIzMSwgMjAxLCAxNjgsIDEzNSwgMjMxLCAyMDksIDI0NSwgCi0gICAgMTg4LCAxNjgsIDEzNSwgMjMxLCAyMDksIDIxNiwgMTU3LCAxNjgsIDEzNSwgMjMxLCAyMDksIDIxNSwgMjI5LCAxNjgsIAotICAgIDEzNSwgMjMxLCAyMDksIDI1MCwgMTQzLCAxNjgsIDEzNSwgMjE2LCAxOTksIDE2OCwgMTM1LCAyMjgsIDIxMCwgMTY4LCAKLSAgICAxMzUsIDIxMSwgNzMsIDE2OCwgMTM1LCAyNDQsIDQzLCAxNjgsIDIxLCAyMTAsIDg2LCAxNjgsIDIxLCAxMTEsIDE2OCwgMjEsIAotICAgIDEwNSwgMTY4LCAyMSwgMTU4LCAxNjgsIDIxLCAxNjEsIDE2OCwgMjEsIDE5MCwgMTY4LCAyMSwgMTk1LCAxNjgsIDIxLCAKLSAgICAxOTksIDE2OCwgMjEsIDE5NiwgMTY4LCAyMSwgMjAxLCAxNjgsIDEzNSwgMjU0LCAxMTksIDE2OCwgMTM1LCAyMzQsIDExMCwgCi0gICAgMjA5LCAyMDksIDEsIDIzNCwgMzQsIDIwOSwgMjA5LCAxLCAyMzQsIDExMiwgMjE4LCAzNiwgMjA5LCAyMDksIDEsIDIzNCwgCi0gICAgMTEyLCAyMTcsIDYzLCAyMDksIDIwOSwgMSwgMjI5LCA5LCAyMDksIDIwOSwgMSwgMjQ5LCAyNDYsIDIwOSwgMjA5LCAxLCAKLSAgICAyMTksIDYxLCAyMTcsIDYzLCAyMDksIDIwOSwgMSwgMjI3LCAxMzgsIDIwOSwgMjA5LCAxLCAyNDcsIDE1MywgMjA5LCAyMDksIAotICAgIDEsIDExMiwgMjA5LCAyMDksIDEsIDIxNiwgMTU4LCAyMTgsIDM2LCAyMDksIDIwOSwgMSwgMjE2LCAxNTgsIDIxNywgNjMsIAotICAgIDIwOSwgMjA5LCAxLCAyMjgsIDc5LCAyMDksIDIwOSwgMSwgMjUxLCAyMTMsIDIwOSwgMjA5LCAxLCAyMjUsIDE5LCAyMDksIAotICAgIDIwOSwgMSwgMjI1LCAxMjUsIDIxOCwgMzYsIDIwOSwgMjA5LCAxLCAyNDQsIDUyLCAyMTcsIDYzLCAyMDksIDIwOSwgMSwgCi0gICAgMjI1LCAxMjUsIDIxNywgNjMsIDIwOSwgMjA5LCAxLCAyNDQsIDUyLCAyMTgsIDM2LCAyMDksIDIwOSwgMSwgMjMwLCAxNjYsIAotICAgIDIwOSwgMjA5LCAxLCAyMTAsIDI0NCwgMjA5LCAyMDksIDEsIDIzMiwgMTYzLCAyMzIsIDIxMiwgMjA5LCAyMDksIDEsIDIzMiwgCi0gICAgMTYzLCAyMzIsIDEyNywgMjA5LCAyMDksIDEsIDIxMSwgMjI3LCAyMDksIDIwOSwgMSwgMjE5LCA2MSwgMjE4LCAzNiwgMjA5LCAKLSAgICAyMDksIDEsIDI0MSwgNzYsIDIxOCwgMzYsIDIwOSwgMjA5LCAxLCA3OCwgMjA5LCAyMDksIDEsIDI0MSwgNzYsIDIxNywgNjMsIAotICAgIDIwOSwgMjA5LCAyNDUsIDE3MSwgMjA5LCAyMDksIDI1LCA1LCA2MSwgMjA5LCAyMDksIDI1LCA1LCAyMzEsIDIwOSwgMjM0LCAKLSAgICAyNDAsIDIwOSwgMjA5LCAyNSwgNSwgMjU1LCA4MiwgMjA5LCAyMDksIDI1LCA1LCAyNTQsIDE0NCwgMjA5LCAyMDksIDI1LCAKLSAgICA1LCA3NCwgMjA5LCAyMDksIDI1LCA1LCAyMzYsIDQwLCAyMDksIDIwOSwgMjUsIDUsIDIxMSwgMTE3LCAyMDksIDIwOSwgMjUsIAotICAgIDUsIDIxMCwgMTY5LCAyMDksIDIwOSwgMjUsIDUsIDY5LCAyMDksIDIwOSwgMjUsIDUsIDIxNCwgMTE4LCAyMDksIDIwOSwgCi0gICAgMjUsIDUsIDIzMSwgMjA5LCAyMzQsIDE5LCAyMDksIDIwOSwgMjIwLCAxNDcsIDUsIDIzMiwgMTYyLCAyMDksIDIwOSwgMjIwLCAKLSAgICAxNDcsIDUsIDIyNywgMTM4LCAyMDksIDIwOSwgMjUsIDUsIDc2LCAyMDksIDIwOSwgMjUsIDUsIDI0NSwgMjAzLCAyMDksIAotICAgIDIwOSwgMjUsIDUsIDc4LCAyMDksIDIwOSwgMjUsIDUsIDI1MywgMTc1LCAyMDksIDIwOSwgMjUsIDUsIDI1NCwgMjEwLCAKLSAgICAyMDksIDIwOSwgMjM0LCAzNSwgMjMzLCAxNDEsIDIwOSwgMjA5LCAxMzgsIDIzMSwgMjA5LCAyNDUsIDE4OCwgMjA5LCAyMDksIAotICAgIDEzOCwgMjMxLCAyMDksIDIxNiwgMTU3LCAyMDksIDIwOSwgMTM4LCAyMzEsIDIwOSwgMjE2LCAxMTgsIDIwOSwgMjA5LCAKLSAgICAxMzgsIDIzMSwgMjA5LCAyNTAsIDIzMSwgMjA5LCAyMDksIDI1MSwgMTIsIDc5LCAyMDksIDIwOSwgMjI4LCAyMTksIDIwOSwgCi0gICAgMjA5LCAyMSwgMjEwLCA4NiwgMjA5LCAyMDksIDIxLCAxMTEsIDIwOSwgMjA5LCAyMSwgMTA1LCAyMDksIDIwOSwgMjEsIAotICAgIDE1OCwgMjA5LCAyMDksIDIxLCAxNjEsIDIwOSwgMjA5LCAyMSwgMTkwLCAyMDksIDIwOSwgMjEsIDE5NSwgMjA5LCAyMDksIAotICAgIDIxLCAxOTksIDIwOSwgMjA5LCAyMSwgMTk2LCAyMDksIDIwOSwgMjEsIDIwMSwgMjA5LCAyMDksIDI0MSwgNzYsIDIyOCwgCi0gICAgNzksIDIwOSwgMjA5LCAyNDEsIDc2LCAyMzAsIDE2NiwgMjA5LCAyMDksIDEsIDIzNCwgMTEzLCAyNDIsIDE4MSwgMjA5LCAKLSAgICAyMDksIDEsIDIzNCwgMTEzLCAyMjcsIDEzOCwgNjMsIDMsIDIyNiwgMjA4LCA2MywgMTY0LCAyNDIsIDEyMiwgMjExLCAwLCAKLSAgICAyMzAsIDI1MywgMjE1LCAxOTAsIDYxLCA2MywgMTY0LCAyNDIsIDEyMiwgMjExLCAwLCAyMzAsIDI1MywgMjU1LCAxNjgsIAotICAgIDIyMiwgMjE4LCAyNTIsIDg1LCAxODYsIDYzLCAxNjQsIDI0MiwgMTIyLCAyMTEsIDAsIDIzMCwgMjUzLCAyNTUsIDE2OCwgCi0gICAgMjQyLCAxMjIsIDIxNSwgMTc0LCAxODYsIDYzLCAxNjQsIDY1LCAyMTEsIDAsIDIzMCwgMjUzLCAyMzEsIDk4LCAxODYsIDYzLCAKLSAgICAxNjQsIDI1MCwgNCwgMjExLCAwLCAyMzAsIDI1MywgMjIwLCAxMTEsIDE4NiwgNjMsIDE2NCwgMjUwLCAyNDcsIDIxMSwgMCwgCi0gICAgMjMwLCAyNTMsIDIyNSwgMTE1LCAyMjAsIDk4LCAxODYsIDYzLCAxNjQsIDIxMSwgMCwgMjMwLCAyNTMsIDIxNSwgMTc0LCAKLSAgICAyMjAsIDk4LCAxODYsIDYzLCAxNjQsIDIyMSwgMjEwLCAyMjAsIDk3LCA2MywgMTY0LCAyNTEsIDEzNiwgMjExLCAwLCAyMzAsIAotICAgIDI1MiwgNjMsIDE2NCwgMjUxLCAyMzEsIDIyMCwgNSwgMjExLCAwLCAyMzAsIDI1MiwgNjMsIDE2NCwgMjM1LCAyMDQsIDIxNSwgCi0gICAgMTczLCA2MywgMTY0LCAyNDgsIDY5LCAyMTUsIDE3NCwgMjUxLCAxMzUsIDYzLCAxNjQsIDIyMCwgOTcsIDYzLCAxNjQsIAotICAgIDIyNywgMTQzLCAyMjAsIDk3LCA2MywgMTY0LCAyMTUsIDE3NCwgMjIwLCA5NywgNjMsIDE2NCwgMjI3LCAxNDMsIDIxNSwgCi0gICAgMTc0LCAyMjAsIDk3LCA2MywgMTY0LCAyMjIsIDIzOSwgMjUwLCAxMzAsIDIxOCwgMjM4LCAyMjAsIDk3LCA2MywgMTY0LCAKLSAgICAyMjMsIDQ1LCAyNDIsIDE1MywgMjIwLCA5NywgNjMsIDE2NCwgMjUwLCAyNDcsIDI1NSwgMTcyLCAyMjIsIDE0NiwgMjMxLCAKLSAgICA5NywgMjAwLCAyNTEsIDE1LCA2MywgMTY0LCAyNDIsIDEyMiwgMjE1LCAxNzMsIDYzLCAyMzIsIDE1MCwgNSwgMjUwLCAxNjMsIAotICAgIDIyMiwgMTQ1LCA2MywgMjMyLCAxNTAsIDUsIDIzMywgMiwgMjIyLCAxNDUsIDYzLCAyNTMsIDIyMCwgNSwgMjIwLCAxMDcsIAotICAgIDI0MywgNzIsIDI1NSwgMTczLCAyMjIsIDE0NSwgNjMsIDI1MywgMjIwLCA1LCAyNTUsIDE3MCwgMTkxLCA2MywgMjUzLCAKLSAgICAyMjAsIDUsIDIyMSwgMTg0LCAyMTUsIDE2OSwgNjMsIDUsIDIyMywgMTMzLCAyNDcsIDE2NywgMjQzLCA3MSwgNjMsIDUsIAotICAgIDIyMywgMTMzLCAyNDcsIDE2NywgMjQyLCAxODMsIDYzLCA1LCAyMjMsIDEzMywgMjQ3LCAxNjcsIDI0MiwgMTIzLCA2MywgNSwgCi0gICAgMjIzLCAxMzMsIDIyOSwgMjI0LCAyNDMsIDcxLCA2MywgNSwgMjIzLCAxMzMsIDIyOSwgMjI0LCAyNDIsIDE4MywgNjMsIDUsIAotICAgIDIyMywgMTMzLCAyNDcsIDE2NywgMjIzLCAxMzMsIDIyOSwgMjIzLCA2MywgMjEsIDIxMCwgODYsIDYzLCAyMSwgMTExLCA2MywgCi0gICAgMjEsIDEwNSwgNjMsIDIxLCAxNTgsIDYzLCAyMSwgMTYxLCA2MywgMjEsIDE5MCwgNjMsIDIxLCAxOTUsIDYzLCAyMSwgMTk5LCAKLSAgICA2MywgMjEsIDE5NiwgNjMsIDIxLCAyMDEsIDYzLCAyMSwgMTYzLCAxMTEsIDYzLCAyMSwgMTYzLCAxMDUsIDYzLCAyMSwgCi0gICAgMTYzLCAxNTgsIDYzLCAyMSwgMTYzLCAxNjEsIDYzLCAyMSwgMTYzLCAxOTAsIDYzLCAyMSwgMTYzLCAxOTUsIDYzLCAyMSwgCi0gICAgMTYzLCAxOTksIDYzLCAyMSwgMTYzLCAxOTYsIDYzLCAyMSwgMTYzLCAyMDEsIDYzLCAyMSwgMTYzLCAyMTAsIDg2LCA2MywgCi0gICAgMTY0LCAyNTEsIDEzOCwgMjIyLCAxNDUsIDYzLCAxNjQsIDIyOSwgNzMsIDI1MSwgNzYsIDIyNywgMTUzLCAyMTAsIDI1LCAKLSAgICA2MywgMTY0LCAyNTAsIDI0NywgMjU1LCAxNzIsIDIyMiwgMTQ2LCAyNTEsIDc3LCAyMzAsIDIwNywgMjUxLCAxNSwgNjMsIAotICAgIDE2NCwgMjI5LCA3MywgMjUxLCA3NiwgMjIwLCAxMDgsIDIyMiwgMTQ1LCA2MywgMTY0LCAyNTAsIDE0MCwgMjMwLCAyNTIsIAotICAgIDYzLCAxNjQsIDIxNSwgMTg1LCAyNTUsIDE2OSwgNjMsIDE2NCwgMjQyLCAxMDcsIDIyMiwgMTQ2LCAyNDIsIDcwLCA2MywgCi0gICAgMTY0LCAyNDIsIDEwNywgMjIyLCAxNDYsIDI0MiwgNzYsIDYzLCAxNjQsIDI1NCwgMTI0LCAyMzQsIDEyOSwgMjQyLCA3MCwgCi0gICAgNjMsIDE2NCwgMjU0LCAxMjQsIDIzNCwgMTI5LCAyNDIsIDc2LCA2MywgNSwgMjExLCA2NSwgMjE1LCAxNzIsIDYzLCA1LCAKLSAgICAyMzEsIDE3MiwgMjE1LCAxNzIsIDYzLCAxLCAxNzYsIDYzLCAxLCAyMzQsIDEzOCwgNjMsIDEsIDI0MywgMTQyLCA2MywgMSwgCi0gICAgMjQzLCAwLCA2MywgMSwgMjI5LCA4MiwgNjMsIDEsIDI1MSwgNDEsIDYzLCAxLCAyNTAsIDE2NSwgNjMsIDEsIDIzNSwgMTQ3LCAKLSAgICA2MywgMSwgMjI3LCAxNjksIDYzLCAxLCAyMTUsIDE1NywgNjMsIDEsIDIxNSwgMTQ1LCA2MywgMSwgMjQ4LCAxNDMsIDYzLCAKLSAgICAxLCAyNDgsIDEyNywgNjMsIDEsIDIyOCwgMTE1LCA2MywgMSwgMjE3LCAxMDYsIDYzLCAxLCAyMTYsIDIwOSwgNjMsIDEsIAotICAgIDI0OCwgMjI5LCA2MywgMSwgMjQ4LCAzMywgNjMsIDEsIDE5OCwgNjMsIDEsIDE5MSwgNjMsIDEsIDIyNSwgMTUwLCA2MywgMSwgCi0gICAgMjUyLCAxOTksIDYzLCAxLCAyNTIsIDI2LCA2MywgMSwgMTg2LCA2MywgMSwgMjE1LCAxODQsIDYzLCAxLCAyMTUsIDE3NiwgCi0gICAgNjMsIDEsIDI0NiwgNDYsIDYzLCAxLCAyNDYsIDQxLCA2MywgMSwgMjEyLCA2NSwgNjMsIDEsIDIxMCwgODIsIDYzLCAxLCAKLSAgICAyMTAsIDExNiwgNjMsIDEsIDI1NSwgMTc1LCA2MywgMSwgMTkyLCA2MywgMSwgMjA1LCA2MywgMSwgMjMzLCAxNDEsIDYzLCAKLSAgICAxLCAyMjAsIDEwNCwgNjMsIDEsIDIxOCwgMjI1LCA2MywgMSwgMjA2LCA2MywgMSwgMTYyLCA2MywgMSwgNjEsIDYzLCAxLCAKLSAgICAyMzMsIDIzNywgNjMsIDEsIDI0NCwgODUsIDIwNSwgNjMsIDEsIDIzNCwgNTIsIDYzLCAxLCAyMjIsIDE4MSwgNjMsIDI1LCAKLSAgICA1LCAyNTUsIDgyLCA2MywgMjUsIDUsIDc0LCA2MywgMjUsIDUsIDIzNiwgNDAsIDYzLCAyNSwgNSwgNjksIDYzLCAyNSwgNSwgCi0gICAgMjE0LCAxMTgsIDYzLCAyNSwgNSwgMTQ5LCAxNTMsIDYzLCAyNSwgNSwgMTQ5LCAyMjIsIDE4MiwgNjMsIDI1LCA1LCAxNDksIAotICAgIDE1NiwgNjMsIDI1LCA1LCAxNDksIDIzMiwgMTkxLCA2MywgMjUsIDUsIDc2LCA2MywgMjUsIDUsIDI0NSwgMjE3LCA2MywgCi0gICAgMjUsIDUsIDc4LCA2MywgMjUsIDUsIDIyNiwgMTg3LCA2MywgNSwgMjIyLCAyMjQsIDIxOCwgODUsIDIyOSwgODMsIDIyMiwgCi0gICAgMjEzLCA2MywgNSwgMjIyLCAyMTgsIDI1MiwgODQsIDYzLCAyNSwgNSwgMjIzLCA1MiwgNzQsIDYzLCAyNSwgNSwgMjIzLCAKLSAgICA1MiwgMjM2LCA0MCwgNjMsIDUsIDIyNywgMTUzLCAyMTAsIDI2LCAyMjksIDIzMSwgMjQ4LCAyMjksIDYzLCA1LCAyMTksIAotICAgIDczLCAyMzMsIDY2LCA2MywgMTY0LCAyNDIsIDM2LCA2MywgMTY0LCAyMjYsIDYxLCA2MywgNSwgMjMzLCA2OSwgMjIyLCAKLSAgICAxNDUsIDYzLCA1LCAyMTEsIDcwLCAyMjIsIDE0NSwgNjMsIDUsIDIzMywgNzAsIDIxNSwgMTg1LCAyNTEsIDE1LCA2MywgNSwgCi0gICAgMjMxLCAxMDAsIDI1MSwgMTUsIDYzLCA1LCAyNDIsIDEyNiwgMjUxLCAxNiwgMjIzLCA0MywgNjMsIDUsIDI0MiwgMTI2LCAKLSAgICAyMzEsIDkwLCAyMjMsIDQzLCA2MywgNSwgMjM1LCAyMDAsIDIzMSwgMTAwLCAyNTEsIDE1LCA2MywgMjE4LCA3NCwgNSwgCi0gICAgMjMzLCA3MCwgMjE1LCAxODUsIDI1MSwgMTUsIDYzLCAyMTgsIDc0LCA1LCAyMzEsIDEwMCwgMjUxLCAxNSwgNjMsIDIxOCwgCi0gICAgNzQsIDUsIDIzNSwgMjAwLCAyMzEsIDEwMCwgMjUxLCAxNSwgNjMsIDIxOCwgNzQsIDEsIDE3NiwgNjMsIDIxOCwgNzQsIDEsIAotICAgIDIzNCwgMTM4LCA2MywgMjE4LCA3NCwgMSwgMjQzLCAxNDIsIDYzLCAyMTgsIDc0LCAxLCAyNDMsIDAsIDYzLCAyMTgsIDc0LCAKLSAgICAxLCAyMjksIDgyLCA2MywgMjE4LCA3NCwgMSwgMjUxLCA0MSwgNjMsIDIxOCwgNzQsIDEsIDI1MCwgMTY1LCA2MywgMjE4LCAKLSAgICA3NCwgMSwgMjM1LCAxNDcsIDYzLCAyMTgsIDc0LCAxLCAyMjcsIDE2OSwgNjMsIDIxOCwgNzQsIDEsIDIxNSwgMTU3LCA2MywgCi0gICAgMjE4LCA3NCwgMSwgMjE1LCAxNDUsIDYzLCAyMTgsIDc0LCAxLCAyNDgsIDE0MywgNjMsIDIxOCwgNzQsIDEsIDI0OCwgMTI3LCAKLSAgICA2MywgMjE4LCA3NCwgMSwgMjI4LCAxMTUsIDYzLCAyMTgsIDc0LCAxLCAyMTcsIDEwNiwgNjMsIDIxOCwgNzQsIDEsIDIxNiwgCi0gICAgMjA5LCA2MywgMjE4LCA3NCwgMSwgMjQ4LCAyMjksIDYzLCAyMTgsIDc0LCAxLCAyNDgsIDMzLCA2MywgMjE4LCA3NCwgMSwgCi0gICAgMTk4LCA2MywgMjE4LCA3NCwgMSwgMTkxLCA2MywgMjE4LCA3NCwgMSwgMjI1LCAxNTAsIDYzLCAyMTgsIDc0LCAxLCAyNTIsIAotICAgIDE5OSwgNjMsIDIxOCwgNzQsIDEsIDI1MiwgMjYsIDYzLCAyMTgsIDc0LCAxLCAxODYsIDYzLCAyMTgsIDc0LCAxLCAyMTUsIAotICAgIDE4NCwgNjMsIDIxOCwgNzQsIDEsIDIxNSwgMTc2LCA2MywgMjE4LCA3NCwgMSwgMjQ2LCA0NiwgNjMsIDIxOCwgNzQsIDEsIAotICAgIDI0NiwgNDEsIDYzLCAyMTgsIDc0LCAxLCAyMTIsIDY1LCA2MywgMjE4LCA3NCwgMSwgMjEwLCA4MiwgNjMsIDIxOCwgNzQsIAotICAgIDEsIDIxMCwgMTE2LCA2MywgMjE4LCA3NCwgMSwgMjU1LCAxNzUsIDYzLCAyMTgsIDc0LCAxLCAxOTIsIDYzLCAyMTgsIDc0LCAKLSAgICAxLCAyMDUsIDYzLCAyMTgsIDc0LCAxLCAyMzMsIDE0MSwgNjMsIDIxOCwgNzQsIDEsIDIyMCwgMTA0LCA2MywgMjE4LCA3NCwgCi0gICAgMSwgMjE4LCAyMjUsIDYzLCAyMTgsIDc0LCAxLCAyMDYsIDYzLCAyMTgsIDc0LCAxLCAxNjIsIDYzLCAyMTgsIDc0LCAxLCAKLSAgICA2MSwgNjMsIDIxOCwgNzQsIDEsIDIzMywgMjM3LCA2MywgMjE4LCA3NCwgMSwgMjQ0LCA4NSwgMjEyLCA2NSwgNjMsIDIxOCwgCi0gICAgNzQsIDEsIDI0NCwgODUsIDE5MiwgNjMsIDIxOCwgNzQsIDEsIDI0NCwgODUsIDIwNSwgNjMsIDIzMywgMjI0LCAyMjIsIAotICAgIDE0MywgMjM0LCAxMzgsIDYzLCAyMzMsIDIyNCwgMjIyLCAxNDMsIDIzNCwgMTM5LCAyNTEsIDc3LCAyMzAsIDIwNywgMjUxLCAKLSAgICAxNSwgNjMsIDI1MSwgNCwgNSwgMTE0LCAyNTIsIDc4LCA2MywgMjUxLCA0LCA1LCAxOTMsIDI1MiwgNzgsIDYzLCAyNTEsIDQsIAotICAgIDUsIDI1MSwgNSwgMjE3LCAyMSwgNjMsIDI1MSwgNCwgNSwgMjIxLCAyMDksIDI1NSwgMTc0LCA2MywgMTYsIDI0NiwgOTksIAotICAgIDI1MSwgMTMzLCA2MywgMTYsIDIyMywgMTMyLCAyMjIsIDIyNSwgNjMsIDE2LCAyMjYsIDgxLCAyNDMsIDcwLCA2MywgMTYsIAotICAgIDIyMywgMTMyLCAyMjIsIDIyNiwgMjIzLCA0NSwgMjQyLCAxNTIsIDYzLCAxNiwgMjI1LCAxMTUsIDE5MSwgNjMsIDE2LCAKLSAgICAyMjgsIDY0LCAyNTEsIDEzMywgNjMsIDE2LCAyMjgsIDY0LCAyNTEsIDEzNCwgMjI3LCAxNDMsIDI1NSwgMTcxLCA2MywgMTYsIAotICAgIDIyOCwgNjQsIDI1MSwgMTM0LCAyNDIsIDEyNCwgMjU1LCAxNzEsIDYzLCAxNiwgMjI4LCA2NCwgMjUxLCAxMzQsIDI1MSwgCi0gICAgNzcsIDI1NSwgMTcxLCA2MywgNSwgMjIzLCAxMzMsIDIyOSwgMjI0LCAyMjMsIDEzMywgMjQ3LCAxNjYsIDYzLCA1LCAyMjMsIAotICAgIDEzMywgMjI5LCAyMjQsIDI0MiwgMTIzLCA2MywgMTY0LCAyNTEsIDEzNywgMjIwLCA1LCAyNDIsIDIyMiwgMjMwLCAyNTMsIAotICAgIDIyMywgNDQsIDYzLCAxNjQsIDIzMCwgMTY4LCAyMTEsIDAsIDI0MiwgMjIyLCAyMzAsIDI1MywgMjIzLCA0NCwgNjMsIDE2NCwgCi0gICAgMjI3LCAxNDMsIDIxNSwgMTczLCA2MywgMTY0LCA2NSwgMjUxLCAxNjAsIDIyMiwgMjE1LCAyMTEsIDAsIDIzMCwgMjUzLCAKLSAgICAyMzEsIDk4LCAxODYsIDYzLCAxNjQsIDI1MCwgNCwgMjUxLCAxNjAsIDIyMiwgMjE1LCAyMTEsIDAsIDIzMCwgMjUzLCAyMjAsIAotICAgIDExMSwgMTg2LCAyMjIsIDI1MywgMjE4LCAwLCA1MCwgMjMzLCA1MSwgMjE4LCAwLCA1MCwgMjIyLCAyNTMsIDIxOCwgMCwgNSwgCi0gICAgMiwgMjQ3LCAxMjYsIDIzMywgNTEsIDIxOCwgMCwgNSwgMiwgMjQ3LCAxMjYsIDYzLCAxNjQsIDIzMywgNjEsIDIzMSwgMTAxLCAKLSAgICAyMjIsIDE0NSwgNjMsIDE2NCwgMjE1LCAyNTEsIDIzMSwgMTAxLCAyMjIsIDE0NSwgNjgsIDEsIDE3NiwgNjgsIDEsIDIzNCwgCi0gICAgMTM4LCA2OCwgMSwgMjQzLCAxNDIsIDY4LCAxLCAyNDMsIDAsIDY4LCAxLCAyMjksIDgyLCA2OCwgMSwgMjUxLCA0MSwgNjgsIAotICAgIDEsIDI1MCwgMTY1LCA2OCwgMSwgMjM1LCAxNDcsIDY4LCAxLCAyMzUsIDEyMCwgNjgsIDEsIDIyNywgMTY5LCA2OCwgMSwgCi0gICAgMjI4LCA4MSwgNjgsIDEsIDIxNSwgMTU3LCA2OCwgMSwgMjE1LCAxNDUsIDY4LCAxLCAyNDgsIDE0MywgNjgsIDEsIDI0OCwgCi0gICAgMTI3LCA2OCwgMSwgMjI4LCAxMTUsIDY4LCAxLCAyMTcsIDEwNiwgNjgsIDEsIDIxNiwgMjA5LCA2OCwgMSwgMjQ4LCAyMjksIAotICAgIDY4LCAxLCAyNDgsIDMzLCA2OCwgMSwgMTk4LCA2OCwgMSwgMTkxLCA2OCwgMSwgMjI1LCAxNTAsIDY4LCAxLCAyNTIsIDE5OSwgCi0gICAgNjgsIDEsIDI1MiwgMjYsIDY4LCAxLCAxODYsIDY4LCAxLCAxOTIsIDY4LCAxLCAyMDUsIDY4LCAxLCAyMzMsIDE0MSwgNjgsIAotICAgIDEsIDIxMiwgNjUsIDY4LCAxLCAyMDYsIDY4LCAxLCAxNjIsIDY4LCAxLCAyMzIsIDE5MCwgNjgsIDEsIDYxLCA2OCwgMSwgCi0gICAgMjIwLCA4OCwgNjEsIDY4LCAxLCA3NCwgNjgsIDEsIDIzNiwgNDAsIDY4LCAxLCA2OSwgNjgsIDEsIDIxNCwgMTE4LCA2OCwgCi0gICAgMSwgNzYsIDY4LCAxLCAyMzAsIDE1NiwgNzYsIDY4LCAxLCA3OCwgNjgsIDEsIDI1MywgMjAwLCA2OCwgMjUsIDUsIDIxNywgCi0gICAgNjUsIDI1NSwgODIsIDY4LCAyNSwgNSwgMjU1LCA4MiwgNjgsIDI1LCA1LCA3NCwgNjgsIDI1LCA1LCAyMzYsIDQwLCA2OCwgCi0gICAgMjUsIDUsIDY5LCA2OCwgMjUsIDUsIDIxNCwgMTE4LCA2OCwgMjUsIDUsIDc2LCA2OCwgMjUsIDUsIDI1NCwgMjEwLCA2OCwgCi0gICAgMjUsIDUsIDIzMCwgMTU2LCAyMzYsIDQwLCA2OCwgMjUsIDUsIDIzMCwgMTU2LCA3OCwgNjgsIDI1LCA1LCAxNjAsIDQ4LCAKLSAgICA2OCwgNSwgMjU0LCA4MywgNjgsIDUsIDU5LCA1MSwgNjgsIDUsIDIxMywgMTQ3LCA2OCwgNSwgMjEzLCAxNTIsIDY4LCA1LCAKLSAgICAyNTMsIDI0MywgNjgsIDExNywgNSwgMTQ3LCAxOTIsIDY4LCAxMTcsIDUsIDE0NywgMjA1LCA2OCwgMTE3LCA1LCAxNDcsIAotICAgIDIxMiwgNjUsIDY4LCAxMTcsIDUsIDE0NywgMTYyLCA2OCwgMSwgMjQyLCAxMzksIDIwNiwgNjgsIDIxLCAyMTAsIDg2LCA2OCwgCi0gICAgMjEsIDExMSwgNjgsIDIxLCAxMDUsIDY4LCAyMSwgMTU4LCA2OCwgMjEsIDE2MSwgNjgsIDIxLCAxOTAsIDY4LCAyMSwgMTk1LCAKLSAgICA2OCwgMjEsIDE5OSwgNjgsIDIxLCAxOTYsIDY4LCAyMSwgMjAxLCA2OCwgNSwgMjMyLCAxOTgsIDIyMSwgMTc0LCA2OCwgNSwgCi0gICAgMjIxLCAxNzQsIDY4LCAxNiwgMjMyLCAxNTksIDY4LCAxNiwgMjQ5LCAyMjEsIDY4LCAxNiwgMjU0LCAyMjksIDY4LCAxNiwgCi0gICAgMjQzLCA1NSwgNjgsIDEsIDIyMCwgMTA0LCA2OCwgMSwgMjE4LCAyMjUsIDY4LCAxLCAxNDksIDE1MywgNjgsIDEsIDE0OSwgCi0gICAgMjIyLCAxODIsIDY4LCAxLCAxNDksIDE1NiwgNjgsIDEsIDE0OSwgMjMyLCAxOTEsIDY4LCAyNSwgNSwgMTQ5LCAxNTMsIDY4LCAKLSAgICAyNSwgNSwgMTQ5LCAyMjIsIDE4MiwgNjgsIDI1LCA1LCAxNDksIDE1NiwgNjgsIDI1LCA1LCAxNDksIDIzMiwgMTkxLCA2OCwgCi0gICAgMSwgMjMwLCAxNTYsIDIyOSwgODIsIDY4LCAxLCAyMzAsIDE1NiwgMjM1LCAxMjAsIDY4LCAxLCAyMzAsIDE1NiwgMjUyLCAKLSAgICAxMTksIDY4LCAxLCAyMzAsIDE1NiwgMjUyLCAxMTQsIDY4LCAxMTcsIDUsIDIzMCwgMTU2LCAxNDcsIDE5OCwgNjgsIDExNywgCi0gICAgNSwgMjMwLCAxNTYsIDE0NywgMTg2LCA2OCwgMTE3LCA1LCAyMzAsIDE1NiwgMTQ3LCAyMzMsIDE0MSwgNjgsIDEsIDIyMCwgCi0gICAgMTEwLCAyMzQsIDIxOSwgMjIwLCAxMDQsIDY4LCAyNSwgNSwgMjIwLCAxMTAsIDIzNCwgMjE5LCAyNDUsIDYzLCA2OCwgMTM4LCAKLSAgICAxNjQsIDIyMCwgMTEwLCAyMzQsIDIxOSwgMjQxLCAyNTQsIDY4LCAxMzgsIDE2NCwgMjIwLCAxMTAsIDIzNCwgMjE5LCAyMzQsIAotICAgIDE4OSwgMjI1LCAxMjQsIDY4LCAxLCAyMTIsIDcsIDIyNCwgMTExLCAyMzQsIDIxOSwgMjE2LCAyMDksIDY4LCAxLCAyMTIsIAotICAgIDcsIDIyNCwgMTExLCAyMzQsIDIxOSwgMjI0LCAxMTcsIDY4LCAyNSwgNSwgMjEyLCA3LCAyMjQsIDExMSwgMjM0LCAyMTksIAotICAgIDI0NSwgNjMsIDY4LCAyNSwgNSwgMjEyLCA3LCAyMjQsIDExMSwgMjM0LCAyMTksIDIxNCwgMjE0LCA2OCwgNSwgMjEyLCA3LCAKLSAgICAyMjQsIDExMSwgMjM0LCAyMTksIDIxNiwgMzAsIDY4LCA1LCAyMTIsIDcsIDIyNCwgMTExLCAyMzQsIDIxOSwgMjE2LCAyOSwgCi0gICAgNjgsIDUsIDIxMiwgNywgMjI0LCAxMTEsIDIzNCwgMjE5LCAyMTYsIDI4LCA2OCwgNSwgMjEyLCA3LCAyMjQsIDExMSwgMjM0LCAKLSAgICAyMTksIDIxNiwgMjcsIDY4LCA1LCAyMTIsIDcsIDIyNCwgMTExLCAyMzQsIDIxOSwgMjE2LCAyNiwgNjgsIDEsIDI0NSwgCi0gICAgMjI3LCAyMjQsIDExMSwgMjM0LCAyMTksIDIyOCwgMTE1LCA2OCwgMSwgMjQ1LCAyMjcsIDIyNCwgMTExLCAyMzQsIDIxOSwgCi0gICAgMjEwLCAxNzYsIDY4LCAxLCAyNDUsIDIyNywgMjI0LCAxMTEsIDIzNCwgMjE5LCAyNDIsIDIyNCwgNjgsIDI1LCA1LCAyNDMsIAotICAgIDY2LCAyMzQsIDIxOSwgNzQsIDY4LCAyNSwgNSwgMjM0LCAxOTQsIDIyNiwgMjM4LCA2OCwgMjUsIDUsIDIzNCwgMTk0LCA2OSwgCi0gICAgNjgsIDI1LCA1LCAyMzQsIDE5NCwgMjQ1LCAyMTcsIDY4LCAxLCAyMjAsIDg4LCAxNzYsIDY4LCAxLCAyMjAsIDg4LCAyMzQsIAotICAgIDEzOCwgNjgsIDEsIDIyMCwgODgsIDI0MywgMTQyLCA2OCwgMSwgMjIwLCA4OCwgMjUxLCA0MSwgNjgsIDEsIDIyMCwgODgsIAotICAgIDIxMCwgMTE2LCA2OCwgMSwgMjIwLCA4OCwgMjI3LCAxNjksIDY4LCAxLCAyMjAsIDg4LCAyNDgsIDIyOSwgNjgsIDEsIDIyMCwgCi0gICAgODgsIDE5OCwgNjgsIDEsIDIyMCwgODgsIDIyNSwgMTUwLCA2OCwgMSwgMjIwLCA4OCwgMjQ0LCAyMDQsIDY4LCAxLCAyMjAsIAotICAgIDg4LCAyNTIsIDE5OSwgNjgsIDEsIDIyMCwgODgsIDIxNiwgMjA5LCA2OCwgMSwgMjIwLCA4OCwgMTYyLCA2OCwgMTE3LCA1LCAKLSAgICAyMjAsIDg4LCAxNDcsIDIxMiwgNjUsIDY4LCAyNSwgNSwgMjIwLCA4OCwgMjU1LCA4MiwgNjgsIDI1LCA1LCAyMjAsIDg4LCAKLSAgICA3NiwgNjgsIDI1LCA1LCAyMjAsIDg4LCAxNjAsIDQ4LCA2OCwgMjUsIDUsIDIyMCwgODgsIDQwLCAyMTEsIDExNywgNjgsIDUsIAotICAgIDIyMCwgODgsIDIxNiwgMjksIDY4LCA1LCAyMjAsIDg4LCAyMTYsIDI4LCA2OCwgNSwgMjIwLCA4OCwgMjE2LCAyNiwgNjgsIAotICAgIDUsIDIyMCwgODgsIDIxNiwgMjUsIDY4LCA1LCAyMjAsIDg4LCAyNDksIDE2MCwgMjE2LCAyOSwgNjgsIDUsIDIyMCwgODgsIAotICAgIDI0OSwgMTYwLCAyMTYsIDI4LCA2OCwgNSwgMjIwLCA4OCwgMjQ5LCAxNjAsIDI0NSwgMTYxLCAyMTYsIDMxLCA2OCwgMSwgCi0gICAgMjIyLCAxMzAsIDIyNiwgNjcsIDI0NCwgMjA0LCA2OCwgNSwgMjIyLCAxMzAsIDIyNiwgNjcsIDIxNiwgMjYsIDY4LCAyMjAsIAotICAgIDg4LCAyMSwgMjEwLCA4NiwgNjgsIDIyMCwgODgsIDIxLCAxMTEsIDY4LCAyMjAsIDg4LCAyMSwgMTA1LCA2OCwgMjIwLCA4OCwgCi0gICAgMjEsIDE1OCwgNjgsIDIyMCwgODgsIDIxLCAxNjEsIDY4LCAyMjAsIDg4LCAyMSwgMTkwLCA2OCwgMjIwLCA4OCwgMjEsIAotICAgIDE5NSwgNjgsIDIyMCwgODgsIDIxLCAxOTksIDY4LCAyMjAsIDg4LCAyMSwgMTk2LCA2OCwgMjIwLCA4OCwgMjEsIDIwMSwgCi0gICAgNjgsIDUsIDIzNCwgMTMyLCAyMTYsIDMwLCA2OCwgNSwgMjM0LCAxMzIsIDIxNiwgMjgsIDY4LCAyNSwgNSwgMjU0LCAxOTksIAotICAgIDYxLCA2OCwgMjUsIDUsIDI1NCwgMTk5LCAyNTQsIDIxMCwgNjgsIDE2LCAyMjAsIDg4LCAxMTEsIDY4LCAxNiwgMjIwLCA4OCwgCi0gICAgMjQ1LCAzOCwgOTgsIDYsIDEsIDI1NCwgMTMxLCA5OCwgNiwgMSwgMjUyLCAxNjAsIDk4LCA2LCAxLCAyNDMsIDExMywgOTgsIAotICAgIDYsIDEsIDI0NywgMTM2LCA5OCwgNiwgMSwgMjQ1LCAxNTgsIDk4LCA2LCAxLCAyMTMsIDE2MCwgOTgsIDYsIDEsIDIxMCwgCi0gICAgODksIDk4LCA2LCAxLCAyMTcsIDYxLCA5OCwgNiwgMSwgMjM2LCA2LCA5OCwgNiwgMSwgMjM0LCAyNDAsIDk4LCA2LCAxLCAKLSAgICAyMzMsIDg3LCA5OCwgNiwgMSwgMjMxLCAxOTAsIDk4LCA2LCAxLCAyMjksIDIwMCwgOTgsIDYsIDEsIDIyNiwgMjAwLCA5OCwgCi0gICAgNiwgMSwgMjI2LCAyMSwgOTgsIDYsIDEsIDIxMCwgNzgsIDk4LCA2LCAxLCAyMjMsIDE3NCwgOTgsIDYsIDEsIDIyMSwgMjQ1LCAKLSAgICA5OCwgNiwgMSwgMjE3LCA1MSwgOTgsIDYsIDEsIDIxNCwgMTkwLCA5OCwgNiwgMSwgMjI1LCAxNDMsIDk4LCA2LCAxLCAyMzQsIAotICAgIDEyNywgOTgsIDYsIDEsIDI0MiwgMjQ4LCA5OCwgNiwgMSwgMjI0LCA3NiwgOTgsIDYsIDEsIDIyMCwgMjIsIDk4LCA2LCAxLCAKLSAgICAyNTAsIDEwNSwgOTgsIDYsIDEsIDI1MSwgMTUsIDk4LCA2LCAxLCAyMzUsIDEwNiwgOTgsIDYsIDEsIDI1MCwgNDgsIDk4LCAKLSAgICA2LCAxLCAyNTAsIDE1MSwgOTgsIDYsIDEsIDIxMSwgMTYzLCA5OCwgNiwgMSwgMjM1LCAxMTcsIDk4LCA2LCAxLCAyNDIsIAotICAgIDUwLCA5OCwgNiwgMSwgMjQxLCAyNDUsIDk4LCA2LCAxLCAyNDEsIDE4MiwgOTgsIDYsIDEsIDIxMiwgMjIsIDk4LCA2LCAxLCAKLSAgICAyNDIsIDExLCA5OCwgNiwgMSwgMjQxLCA3MiwgOTgsIDYsIDEsIDIxMCwgMjQ2LCA5OCwgNiwgMSwgMjU0LCAyNDEsIDk4LCAKLSAgICAxLCAyNTQsIDEzMSwgOTgsIDEsIDI1MiwgMTYwLCA5OCwgMSwgMjQzLCAxMTMsIDk4LCAxLCAyNDcsIDEzNiwgOTgsIDEsIAotICAgIDI0NSwgMTU4LCA5OCwgMSwgMjEzLCAxNjAsIDk4LCAxLCAyMTAsIDg5LCA5OCwgMSwgMjE3LCA2MSwgOTgsIDEsIDIzNiwgNiwgCi0gICAgOTgsIDEsIDIzNCwgMjQwLCA5OCwgMSwgMjMzLCA4NywgOTgsIDEsIDIzMSwgMTkwLCA5OCwgMSwgMjI5LCAyMDAsIDk4LCAxLCAKLSAgICAyMjYsIDIwMCwgOTgsIDEsIDIyNiwgMjEsIDk4LCAxLCAyMTAsIDc4LCA5OCwgMSwgMjIzLCAxNzQsIDk4LCAxLCAyMjEsIAotICAgIDI0NSwgOTgsIDEsIDIxNywgNTEsIDk4LCAxLCAyMTQsIDE5MCwgOTgsIDEsIDIyNSwgMTQzLCA5OCwgMSwgMjM0LCAxMjcsIAotICAgIDk4LCAxLCAyNDIsIDI0OCwgOTgsIDEsIDIyNCwgNzYsIDk4LCAxLCAyMjAsIDIyLCA5OCwgMSwgMjUwLCAxMDUsIDk4LCAxLCAKLSAgICAyNTEsIDE1LCA5OCwgMSwgMjM1LCAxMDYsIDk4LCAxLCAyNTAsIDQ4LCA5OCwgMSwgMjUwLCAxNTEsIDk4LCAxLCAyMTEsIAotICAgIDE2MywgOTgsIDEsIDIzNSwgMTE3LCA5OCwgMSwgMjQyLCA1MCwgOTgsIDEsIDI0MSwgMjQ1LCA5OCwgMSwgMjQxLCAxODIsIAotICAgIDk4LCAxLCAyMTIsIDIyLCA5OCwgMSwgMjQyLCAxMSwgOTgsIDEsIDI0MSwgNzIsIDk4LCAxLCAyNDQsIDEyOSwgOTgsIDEsIAotICAgIDIxMCwgMjQ2LCA5OCwgMSwgMjQ1LCAxNzMsIDk4LCAxLCAyMTUsIDk0LCAyNDMsIDExMywgOTgsIDEsIDI1NCwgMjA1LCA5OCwgCi0gICAgMjI2LCAxOSwgMjIwLCAxMzksIDU4LCAxLCA5OCwgMjI5LCAyMDAsIDk4LCAxLCAyNTQsIDI0MSwgOTgsIDEsIDI0MiwgMTAsIAotICAgIDUwLCA5OCwgMSwgMjMzLCAxMzMsIDUwLCAyNCwgMTAwLCAyMzQsIDY0LCAyNCwgMTAwLCAyMTgsIDIxNywgMjQsIDEwMCwgCi0gICAgMjI4LCAyMzEsIDI0LCAxMDAsIDIxNiwgMTAyLCAyNCwgMTAwLCAyMTgsIDIwNiwgMjQsIDEwMCwgMjIzLCAyOSwgMjQsIAotICAgIDEwMCwgMjMwLCAyMjIsIDI0LCAxMDAsIDIyNSwgOTgsIDI0LCAxMDAsIDIxOCwgMjE0LCAyNCwgMTAwLCAyMTksIDE1MCwgCi0gICAgMjQsIDEwMCwgMjE4LCAyMTEsIDI0LCAxMDAsIDIzNiwgNjMsIDI0LCAxMDAsIDI1MCwgNTQsIDI0LCAxMDAsIDIxOCwgMjIxLCAKLSAgICAyNCwgMTAwLCAyNTAsIDExNCwgMjQsIDEwMCwgMjM0LCAxMTYsIDI0LCAxMDAsIDIxNiwgMTc0LCAyNCwgMTAwLCAyMjUsIAotICAgIDEzNCwgMjQsIDEwMCwgMjQxLCAxNzksIDI0LCAxMDAsIDIyOCwgMjI3LCAyNCwgMTAwLCAyMTgsIDIxNSwgMjQsIDEwMCwgCi0gICAgMjI4LCAyMjEsIDI0LCAxMDAsIDIyOCwgMjI1LCAyNCwgMTAwLCAyMTYsIDk5LCAyNCwgMTAwLCAyMjMsIDE3LCAyNCwgMTAwLCAKLSAgICAyMTgsIDIxMywgMjQsIDEwMCwgMjIzLCAyNywgMjQsIDEwMCwgMjM0LCAyMjQsIDI0LCAxMDAsIDIzMCwgMjE1LCAyNCwgCi0gICAgMTAwLCAyMzQsIDIyNywgMjQsIDEwMCwgMjI1LCA5MywgMjQsIDEwMCwgMjI1LCA5MSwgMjQsIDEwMCwgMjI1LCA3OSwgMjQsIAotICAgIDEwMCwgMjI1LCA4NywgMjQsIDEwMCwgMjI1LCA4NSwgMjQsIDEwMCwgMjI1LCA4MiwgMjQsIDEwMCwgMjI1LCA4NCwgMjQsIAotICAgIDEwMCwgMjI1LCA4MSwgMjQsIDEwMCwgMjI1LCA4NiwgMjQsIDEwMCwgMjI1LCA5NiwgMjQsIDEwMCwgMjI1LCA5NywgMjQsIAotICAgIDEwMCwgMjI1LCA4MCwgMjQsIDEwMCwgMjI1LCA5MCwgMjQsIDEwMCwgMjM0LCAyMjUsIDI0LCAxMDAsIDIzNCwgMjIzLCAyNCwgCi0gICAgMTAwLCAyMTksIDE0MywgMjQsIDEwMCwgMjE5LCAxNDEsIDI0LCAxMDAsIDIxOSwgMTMzLCAyNCwgMTAwLCAyMTksIDEzNiwgCi0gICAgMjQsIDEwMCwgMjE5LCAxNDIsIDI0LCAxMDAsIDIxOSwgMTM4LCAyNCwgMTAwLCAyMTksIDEzNywgMjQsIDEwMCwgMjE5LCAKLSAgICAxMzUsIDI0LCAxMDAsIDIxOSwgMTQ2LCAyNCwgMTAwLCAyMTksIDE0OCwgMjQsIDEwMCwgMjE5LCAxNDksIDI0LCAxMDAsIAotICAgIDIxOSwgMTQ0LCAyNCwgMTAwLCAyMTksIDEzNCwgMjQsIDEwMCwgMjE5LCAxMzksIDI0LCAxMDAsIDIxOSwgMTQ3LCAyNCwgCi0gICAgMTAwLCAyNTAsIDk4LCAyNCwgMTAwLCAyNTAsIDk2LCAyNCwgMTAwLCAyNTAsIDE3NiwgMjQsIDEwMCwgMjUwLCAxNzQsIDI0LCAKLSAgICAxMDAsIDIyNiwgMzYsIDI0LCAxMDAsIDIzNiwgNTgsIDI0LCAxMDAsIDIzNiwgNDksIDI0LCAxMDAsIDIzNiwgNTcsIDI0LCAKLSAgICAxMDAsIDIzNiwgNTQsIDI0LCAxMDAsIDIzNiwgNTIsIDI0LCAxMDAsIDIzNiwgNTYsIDI0LCAxMDAsIDIxOCwgMjE4LCAyNCwgCi0gICAgMTAwLCAyMzYsIDYxLCAyNCwgMTAwLCAyMzYsIDYyLCAyNCwgMTAwLCAyMzYsIDUwLCAyNCwgMTAwLCAyMzYsIDU1LCAyNCwgCi0gICAgMTAwLCAyMTEsIDI2LCAyNCwgMTAwLCAyNTAsIDUzLCAyNCwgMTAwLCAyNTAsIDk5LCAyNCwgMTAwLCAyNTAsIDk3LCAyNCwgCi0gICAgMTAwLCAyNTAsIDE3NywgMjQsIDEwMCwgMjUwLCAxNzUsIDI0LCAxMDAsIDI1MCwgMTEyLCAyNCwgMTAwLCAyNTAsIDExMywgCi0gICAgMjQsIDEwMCwgMjUwLCAxMDAsIDI0LCAxMDAsIDI1MCwgMTc4LCAyNCwgMTAwLCAyMjUsIDEzMiwgMjQsIDEwMCwgMjM0LCAKLSAgICAyMjYsIDI0LCAxMDAsIDIxOCwgMjE5LCAyNCwgMTAwLCAyMTEsIDMyLCAyNCwgMTAwLCAyMzQsIDU1LCAyNCwgMTAwLCAyMjgsIAotICAgIDIyMywgMjQsIDEwMCwgMjI4LCAyMjksIDI0LCAxMDAsIDIyOCwgMjI4LCAyNCwgMTAwLCAyMTYsIDk2LCAyNCwgMTAwLCAKLSAgICAyNDQsIDExMSwgMjQsIDE0MywgMjQ0LCAxMTEsIDI0LCAxNDMsIDYxLCAyNCwgMTQzLCAyNTQsIDI1MiwgMjQsIDE0MywgCi0gICAgMTkyLCAyNCwgMTQzLCAyMTEsIDkyLCAyNCwgMTQzLCAyNDUsIDEyNSwgMjQsIDE0MywgNzYsIDI0LCAxNDMsIDIxMSwgMzYsIAotICAgIDI0LCAxNDMsIDIxMSwgNDcsIDI0LCAxNDMsIDc4LCAyNCwgMTQzLCAyMTIsIDY1LCAyNCwgMTQzLCAyMTIsIDYyLCAyNCwgCi0gICAgMTQzLCAyMjYsIDIzOCwgMjQsIDE0MywgMjEwLCAyNDQsIDI0LCAxNDMsIDY5LCAyNCwgMTQzLCAyMTIsIDExLCAyNCwgMTQzLCAKLSAgICAyMTIsIDIyLCAyNCwgMTQzLCAyMTEsIDI1MCwgMjQsIDE0MywgMjEwLCAyMTIsIDI0LCAxNDMsIDI0NSwgNjMsIDI0LCAxNDMsIAotICAgIDIxMSwgOCwgMjQsIDE0MywgNzQsIDI0LCAxNDMsIDI1NSwgMTY2LCAyNCwgMTQzLCAyNTUsIDE2NSwgMjQsIDE0MywgMjExLCAKLSAgICAxMDYsIDI0LCAxNDMsIDIxMSwgMTA0LCAyNCwgMTQzLCAyNDUsIDEyMywgMjQsIDE0MywgMjQ1LCAxMjIsIDI0LCAxNDMsIAotICAgIDI0NSwgMTI0LCAyNCwgMTQzLCAyMTEsIDM1LCAyNCwgMTQzLCAyMTEsIDM0LCAyNCwgMTQzLCAyMjcsIDg4LCAyNCwgMTQzLCAKLSAgICAyMjcsIDg5LCAyNCwgMTQzLCAyMjcsIDgyLCAyNCwgMTQzLCAyMjcsIDg3LCAyNCwgMTQzLCAyMjcsIDg1LCAyNCwgMTQzLCAKLSAgICAyMTAsIDIzOCwgMjQsIDE0MywgMjEwLCAyMzcsIDI0LCAxNDMsIDIxMCwgMjM2LCAyNCwgMTQzLCAyMTAsIDIzOSwgMjQsIAotICAgIDE0MywgMjEwLCAyNDAsIDI0LCAxNDMsIDIxNSwgMzAsIDI0LCAxNDMsIDIxNSwgMjksIDI0LCAxNDMsIDIxNSwgMjcsIDI0LCAKLSAgICAxNDMsIDIxNSwgMjQsIDI0LCAxNDMsIDIxNSwgMjUsIDI0LCAxNDMsIDIxMCwgMjExLCAyNCwgMTQzLCAyMTAsIDIwOCwgMjQsIAotICAgIDE0MywgMjEwLCAyMDksIDI0LCAxNDMsIDIxMCwgMjAzLCAyNCwgMTQzLCAyMTAsIDIwNCwgMjQsIDE0MywgMjEwLCAyMDUsIAotICAgIDI0LCAxNDMsIDIxMCwgMjA3LCAyNCwgMTQzLCAyNDUsIDU3LCAyNCwgMTQzLCAyNDUsIDU5LCAyNCwgMTQzLCAyMTEsIDcsIAotICAgIDI0LCAxNDMsIDI0MCwgMTYwLCAyNCwgMTQzLCAyNDAsIDE1MiwgMjQsIDE0MywgMjQwLCAxNTUsIDI0LCAxNDMsIDI0MCwgCi0gICAgMTUzLCAyNCwgMTQzLCAyNDAsIDE1NywgMjQsIDE0MywgMjQwLCAxNTksIDI0LCAxNDMsIDI1NCwgNDIsIDI0LCAxNDMsIAotICAgIDI1NCwgMzksIDI0LCAxNDMsIDI1NCwgMzcsIDI0LCAxNDMsIDI1NCwgMzgsIDI0LCAxNDMsIDIxOCwgMjIyLCAyNCwgMTQzLCAKLSAgICAyNTUsIDE2NywgMjQsIDE0MywgMjExLCAxMDUsIDI0LCAxNDMsIDIxMSwgMzMsIDI0LCAxNDMsIDIyNywgODQsIDI0LCAxNDMsIAotICAgIDIyNywgODMsIDI0LCA5MCwgMjM0LCA2NCwgMjQsIDkwLCAyMTgsIDIxNywgMjQsIDkwLCAyMzQsIDU3LCAyNCwgOTAsIDIyOCwgCi0gICAgMjMxLCAyNCwgOTAsIDIyOCwgMjI5LCAyNCwgOTAsIDIyOCwgMjI4LCAyNCwgOTAsIDIxNiwgMTAyLCAyNCwgOTAsIDIyMywgCi0gICAgMjksIDI0LCA5MCwgMjIzLCAyNCwgMjQsIDkwLCAyMjMsIDIxLCAyNCwgOTAsIDIyMywgMTQsIDI0LCA5MCwgMjIzLCA5LCAKLSAgICAyNCwgOTAsIDIyMywgNCwgMjQsIDkwLCAyMjMsIDE1LCAyNCwgOTAsIDIyMywgMjcsIDI0LCA5MCwgMjMwLCAyMjIsIDI0LCAKLSAgICA5MCwgMjI1LCA5OCwgMjQsIDkwLCAyMjUsIDg3LCAyNCwgOTAsIDIxOSwgMTUwLCAyNCwgOTAsIDIxOCwgMjExLCAyNCwgOTAsIAotICAgIDIzNiwgNjMsIDI0LCA5MCwgMjUwLCA1NCwgMjQsIDkwLCAyNTAsIDExNCwgMjQsIDkwLCAyMzQsIDExNiwgMjQsIDkwLCAKLSAgICAyMTYsIDE3NCwgMjQsIDkwLCAyMjUsIDEzNCwgMjQsIDkwLCAyNDEsIDE3OSwgMjQsIDkwLCAyMzQsIDU4LCAyNCwgOTAsIAotICAgIDIzNCwgNTYsIDI0LCA5MCwgMjI4LCAyMjcsIDI0LCA5MCwgMjI4LCAyMjEsIDI0LCA5MCwgMjI4LCAyMjMsIDI0LCA5MCwgCi0gICAgMjI4LCAyMjYsIDI0LCA5MCwgMjI4LCAyMjIsIDI0LCA5MCwgMjE2LCA5OSwgMjQsIDkwLCAyMTYsIDk2LCAyNCwgOTAsIAotICAgIDIyMywgMjIsIDI0LCA5MCwgMjIzLCAxNywgMjQsIDkwLCAyMjMsIDMsIDI0LCA5MCwgMjIzLCAyLCAyNCwgOTAsIDIxOCwgCi0gICAgMjEzLCAyNCwgOTAsIDIyMywgMTksIDI0LCA5MCwgMjIzLCAxOCwgMjQsIDkwLCAyMjMsIDExLCAyNCwgOTAsIDIyMywgMTMsIAotICAgIDI0LCA5MCwgMjIzLCAyNiwgMjQsIDkwLCAyMjMsIDYsIDI0LCA5MCwgMjIzLCAxNiwgMjQsIDkwLCAyMjMsIDI1LCAyNCwgCi0gICAgOTAsIDIyMywgMSwgMjQsIDkwLCAyMzAsIDIxOCwgMjQsIDkwLCAyMzAsIDIxMywgMjQsIDkwLCAyMzAsIDIxNSwgMjQsIDkwLCAKLSAgICAyMzAsIDIxMiwgMjQsIDkwLCAyMzAsIDIxMCwgMjQsIDkwLCAyMzAsIDIxNiwgMjQsIDkwLCAyMzAsIDIyMSwgMjQsIDkwLCAKLSAgICAyMzAsIDIxOSwgMjQsIDkwLCAyMzQsIDIyNywgMjQsIDkwLCAyMjUsIDg5LCAyNCwgOTAsIDIyNSwgOTAsIDI0LCA5MCwgCi0gICAgMjI1LCA5NSwgMjQsIDkwLCAyMzQsIDIyNSwgMjQsIDkwLCAyMTksIDE0MywgMjQsIDkwLCAyMTksIDEzMywgMjQsIDkwLCAKLSAgICAyMTksIDEzNiwgMjQsIDkwLCAyMTksIDEzOCwgMjQsIDkwLCAyMjYsIDM2LCAyNCwgOTAsIDIzNiwgNTgsIDI0LCA5MCwgCi0gICAgMjM2LCA1MSwgMjQsIDkwLCAyMTgsIDIxOCwgMjQsIDkwLCAyMzYsIDU5LCAyNCwgOTAsIDIxMSwgMjYsIDI0LCA5MCwgMjExLCAKLSAgICAyMiwgMjQsIDkwLCAyMTEsIDIzLCAyNCwgOTAsIDIyNSwgMTMyLCAyNCwgOTAsIDIzNCwgMjI2LCAyNCwgOTAsIDI0MSwgCi0gICAgMTc3LCAyNCwgOTAsIDI0MSwgMTc1LCAyNCwgOTAsIDI0MSwgMTc4LCAyNCwgOTAsIDI0MSwgMTc2LCAyNCwgOTAsIDIxMSwgCi0gICAgMzIsIDI0LCA5MCwgMjM0LCA2MCwgMjQsIDkwLCAyMzQsIDU5LCAyNCwgOTAsIDIzNCwgNjMsIDI0LCA5MCwgMjM0LCA2MSwgCi0gICAgMjQsIDkwLCAyMzQsIDYyLCAyNCwgOTAsIDIxOCwgMjE1LCAyOSwgMywgMTYyLCAyOSwgMywgMjQwLCAyMjksIDI5LCAzLCAKLSAgICAyNDEsIDE4NywgMjksIDMsIDI0MiwgNTMsIDI5LCAzLCAyNDEsIDIyNywgMjksIDMsIDI0MSwgMjQ1LCAyOSwgMywgMjQxLCAKLSAgICA3NSwgMjksIDMsIDI0MSwgNzQsIDI5LCAzLCAyMzMsIDE0MSwgMjksIDMsIDIzMiwgMTAzLCAyOSwgMywgMjMyLCAyNDcsIAotICAgIDI5LCAzLCAyMzMsIDE0MCwgMjksIDMsIDIzMywgNTYsIDI5LCAzLCAyMzMsIDY0LCAyOSwgMywgMjMyLCAxNjIsIDI5LCAzLCAKLSAgICAyMzIsIDc1LCAyOSwgMywgMjQxLCAxOTYsIDI5LCAzLCAyNDEsIDE5MCwgMjksIDMsIDI0MSwgMTkyLCAyOSwgMywgMjQxLCAKLSAgICAxOTUsIDI5LCAzLCAyNDEsIDE5MywgMjksIDMsIDI0MSwgMTk0LCAyOSwgMywgMjQxLCAxOTEsIDI5LCAzLCAyNDEsIDE4OSwgCi0gICAgMjksIDMsIDE4NiwgMjksIDMsIDIzMCwgMTA3LCAyOSwgMywgMjMwLCAyMzUsIDI5LCAzLCAyMzEsIDI0MiwgMjksIDMsIAotICAgIDIzMSwgODUsIDI5LCAzLCAyMzEsIDk2LCAyOSwgMywgMjMwLCAxNjYsIDI5LCAzLCAyMzAsIDQ3LCAyOSwgMywgMjE3LCAKLSAgICAxNjQsIDI5LCAzLCAyMTcsIDE1OCwgMjksIDMsIDIxNywgMTYwLCAyOSwgMywgMjE3LCAxNjMsIDI5LCAzLCAyMTcsIDE2MSwgCi0gICAgMjksIDMsIDIxNywgMTYyLCAyOSwgMywgMjE3LCAxNTksIDI5LCAzLCAyMTcsIDE1NywgMjksIDMsIDIwNSwgMjksIDMsIAotICAgIDIyMiwgMTQyLCAyOSwgMywgMjIzLCAzOCwgMjksIDMsIDIyMywgMTg3LCAyOSwgMywgMjIzLCAxMTEsIDI5LCAzLCAyMjMsIAotICAgIDEzMSwgMjksIDMsIDIyMiwgMjEzLCAyOSwgMywgMjIyLCAxMTEsIDI5LCAzLCAyMDYsIDI5LCAzLCAyMTgsIDg0LCAyOSwgMywgCi0gICAgMjE5LCAxOTMsIDI5LCAzLCAyMjIsIDMzLCAyOSwgMywgMjIxLCAxNzIsIDI5LCAzLCAyMjEsIDE4MywgMjksIDMsIDIxOSwgCi0gICAgNjAsIDI5LCAzLCAyMTcsIDI1NCwgMjksIDMsIDIyMCwgMTA0LCAyOSwgMywgMjE5LCAyMjcsIDI5LCAzLCAyMjAsIDM0LCAKLSAgICAyOSwgMywgMjIwLCAxMDAsIDI5LCAzLCAyMjAsIDYzLCAyOSwgMywgMjIwLCA2NSwgMjksIDMsIDIyMCwgOSwgMjksIDMsIAotICAgIDIxOSwgMjEwLCAyOSwgMywgMjI0LCA5MSwgMjksIDMsIDIyNCwgMzMsIDI5LCAzLCAyMjQsIDU2LCAyOSwgMywgMjI0LCA5MCwgCi0gICAgMjksIDMsIDIyNCwgNzEsIDI5LCAzLCAyMjQsIDcyLCAyOSwgMywgMjI0LCA0NSwgMjksIDMsIDIyNCwgNDQsIDI5LCAzLCAKLSAgICAyMjMsIDI0NSwgMjksIDMsIDIyMywgMjQxLCAyOSwgMywgMjIzLCAyNDQsIDI5LCAzLCAyMjMsIDI0MiwgMjksIDMsIDIyMywgCi0gICAgMjQzLCAyOSwgMywgMjI0LCA2OCwgMjksIDMsIDIyNCwgNjIsIDI5LCAzLCAyMjQsIDY0LCAyOSwgMywgMjI0LCA2NywgMjksIAotICAgIDMsIDIyNCwgNjUsIDI5LCAzLCAyMjQsIDY2LCAyOSwgMywgMjI0LCA2MywgMjksIDMsIDIyNCwgNjEsIDI5LCAzLCAyMjQsIAotICAgIDU3LCAyOSwgMywgMjI0LCA2MCwgMjksIDMsIDIyNCwgNTgsIDI5LCAzLCAyMjQsIDU5LCAyOSwgMywgMjUyLCAxOTksIDI5LCAKLSAgICAzLCAyNTEsIDEzMywgMjksIDMsIDI1MiwgMTQsIDI5LCAzLCAyNTIsIDE5NywgMjksIDMsIDI1MiwgNzQsIDI5LCAzLCAyNTIsIAotICAgIDgzLCAyOSwgMywgMjUxLCAyMTMsIDI5LCAzLCAyNTEsIDkxLCAyOSwgMywgMjE0LCAyNywgMjksIDMsIDIxMiwgMTE2LCAyOSwgCi0gICAgMywgMjEzLCAxNzYsIDI5LCAzLCAyMTQsIDI2LCAyOSwgMywgMjEzLCAyNTAsIDI5LCAzLCAyMTMsIDI1NSwgMjksIDMsIAotICAgIDIxMywgMTM4LCAyOSwgMywgMjEyLCAxMDcsIDI5LCAzLCAyMTcsIDEwNiwgMjksIDMsIDIxNSwgMTE5LCAyOSwgMywgMjE2LCAKLSAgICAxMTgsIDI5LCAzLCAyMTcsIDEwMiwgMjksIDMsIDIxNywgMTIsIDI5LCAzLCAyMTcsIDIzLCAyOSwgMywgMTEyLCAyOSwgMywgCi0gICAgMjE1LCA4MCwgMjksIDMsIDI1MSwgNDEsIDI5LCAzLCAyNDksIDEyMCwgMjksIDMsIDI1MCwgNTksIDI5LCAzLCAyNTEsIDQwLCAKLSAgICAyOSwgMywgMjUwLCAxOTAsIDI5LCAzLCAyNTAsIDE5OCwgMjksIDMsIDI0OSwgMjQ2LCAyOSwgMywgMjQ5LCA4OSwgMjksIDMsIAotICAgIDIxMSwgMTY1LCAyOSwgMywgMjExLCAxNDEsIDI5LCAzLCAyMTEsIDE1NywgMjksIDMsIDIxMSwgMTY0LCAyOSwgMywgMjExLCAKLSAgICAxNjEsIDI5LCAzLCAyMTEsIDE2MiwgMjksIDMsIDIxMSwgMTQ4LCAyOSwgMywgMjExLCAxNDcsIDI5LCAzLCAyMTEsIDEzNiwgCi0gICAgMjksIDMsIDIxMSwgMTMyLCAyOSwgMywgMjExLCAxMzUsIDI5LCAzLCAyMTEsIDEzMywgMjksIDMsIDIxMSwgMTM0LCAyOSwgCi0gICAgMywgMTk4LCAyOSwgMywgMjI3LCAyNDIsIDI5LCAzLCAyMjgsIDIzOCwgMjksIDMsIDIyOSwgMjMwLCAyOSwgMywgMjI5LCAKLSAgICAxMDgsIDI5LCAzLCAyMjksIDExMiwgMjksIDMsIDIyOCwgNzksIDI5LCAzLCAyMjcsIDE3OCwgMjksIDMsIDIyNywgMTY5LCAKLSAgICAyOSwgMywgMjI3LCAxMzIsIDI5LCAzLCAyMjcsIDE1MiwgMjksIDMsIDIyNywgMTY4LCAyOSwgMywgMjI3LCAxNTksIDI5LCAKLSAgICAzLCAyMjcsIDE2MCwgMjksIDMsIDIyNywgMTM4LCAyOSwgMywgMjI3LCAxMjMsIDI5LCAzLCAyNDIsIDE4NywgNjEsIDI5LCAKLSAgICAzLCAyNDIsIDE4NywgNjksIDI5LCAzLCAyNDIsIDE4NywgNzQsIDI5LCAzLCAyNDIsIDE4NywgMjU1LCA4MiwgMjksIDMsIAotICAgIDI0MiwgMTg3LCAyNDUsIDIxNywgMjksIDMsIDI0MiwgMTg3LCA3NiwgMjksIDMsIDI0MiwgMTg3LCA3OCwgMjksIDMsIDI0MiwgCi0gICAgMTg3LCAyMTIsIDY1LCAyOSwgMywgMTc2LCAyOSwgMywgMjMzLCAyMjMsIDI5LCAzLCAyMzQsIDk4LCAyOSwgMywgMjM1LCAKLSAgICAxNiwgMjksIDMsIDIzNCwgMTg3LCAyOSwgMywgMjM0LCAxODgsIDI5LCAzLCAyMzQsIDM0LCAyOSwgMywgMjM0LCAzMywgMjksIAotICAgIDMsIDIzMywgMTg4LCAyOSwgMywgMjMzLCAxODIsIDI5LCAzLCAyMzMsIDE4NywgMjksIDMsIDIzMywgMTgzLCAyOSwgMywgCi0gICAgMjMzLCAxODQsIDI5LCAzLCAyMzMsIDE3NywgMjksIDMsIDIzMywgMTcxLCAyOSwgMywgMjMzLCAxNzMsIDI5LCAzLCAyMzMsIAotICAgIDE3NiwgMjksIDMsIDIzMywgMTc0LCAyOSwgMywgMjMzLCAxNzUsIDI5LCAzLCAyMzMsIDE3MiwgMjksIDMsIDIzMywgMTcwLCAKLSAgICAyOSwgMywgMjMzLCAxNjYsIDI5LCAzLCAyMzMsIDE2OSwgMjksIDMsIDIzMywgMTY3LCAyOSwgMywgMjMzLCAxNjgsIDI5LCAKLSAgICAzLCAyMTIsIDY1LCAyOSwgMywgMjExLCAxOTUsIDI5LCAzLCAyMTEsIDI1MCwgMjksIDMsIDIxMiwgNjQsIDI5LCAzLCAyMTIsIAotICAgIDE3LCAyOSwgMywgMjEyLCAyMiwgMjksIDMsIDIxMSwgMjI3LCAyOSwgMywgMjExLCAyMjYsIDI5LCAzLCAyMjUsIDE0MiwgCi0gICAgNjEsIDI5LCAzLCAyMjUsIDE0MiwgNjksIDI5LCAzLCAyMjUsIDE0MiwgNzQsIDI5LCAzLCAyMjUsIDE0MiwgMjU1LCA4MiwgCi0gICAgMjksIDMsIDIyNSwgMTQyLCAyNDUsIDIxNywgMjksIDMsIDIyNSwgMTQyLCA3NiwgMjksIDMsIDIyNSwgMTQyLCA3OCwgMjksIAotICAgIDMsIDIxMCwgMTE2LCAyOSwgMywgMjEwLCAxMywgMjksIDMsIDIxMCwgNDQsIDI5LCAzLCAyMTAsIDExNSwgMjksIDMsIDIxMCwgCi0gICAgOTIsIDI5LCAzLCAyMTAsIDk0LCAyOSwgMywgMjEwLCAyMywgMjksIDMsIDIxMCwgMCwgMjksIDMsIDIxMCwgODIsIDI5LCAzLCAKLSAgICAyMTAsIDYyLCAyOSwgMywgMjEwLCA2OSwgMjksIDMsIDIxMCwgODEsIDI5LCAzLCAyMTAsIDczLCAyOSwgMywgMjEwLCA3NCwgCi0gICAgMjksIDMsIDIxMCwgNjcsIDI5LCAzLCAyMTAsIDUzLCAyOSwgMywgMTkyLCAyOSwgMywgMjEwLCAyMTIsIDI5LCAzLCAyMTEsIAotICAgIDgsIDI5LCAzLCAyMTEsIDEwMywgMjksIDMsIDIxMSwgNDQsIDI5LCAzLCAyMTEsIDQ3LCAyOSwgMywgMjEwLCAyNDQsIDI5LCAKLSAgICAzLCAyMTAsIDIzNSwgMjksIDMsIDI0OCwgMjI5LCAyOSwgMywgMjQ2LCA4NiwgMjksIDMsIDI0OCwgMTEsIDI5LCAzLCAyNDgsIAotICAgIDIyOCwgMjksIDMsIDI0OCwgODUsIDI5LCAzLCAyNDgsIDk4LCAyOSwgMywgMjQ3LCAxNTMsIDI5LCAzLCAyNDYsIDU1LCAyOSwgCi0gICAgMywgMjQ4LCAxNDMsIDI5LCAzLCAyNDgsIDEwOCwgMjksIDMsIDI0OCwgMTIwLCAyOSwgMywgMjQ4LCAxNDIsIDI5LCAzLCAKLSAgICAyNDgsIDEzMCwgMjksIDMsIDI0OCwgMTMxLCAyOSwgMywgMjQ4LCAxMTMsIDI5LCAzLCAyNDgsIDk5LCAyOSwgMywgMjM1LCAKLSAgICAxNDcsIDI5LCAzLCAyMzUsIDU3LCAyOSwgMywgMjM1LCAxMTQsIDI5LCAzLCAyMzUsIDE0NiwgMjksIDMsIDIzNSwgMTMwLCAKLSAgICAyOSwgMywgMjM1LCAxMzIsIDI5LCAzLCAyMzUsIDc0LCAyOSwgMywgMjM1LCAzNywgMjksIDMsIDI0MywgMTQyLCAyOSwgMywgCi0gICAgMjQyLCAxMjAsIDI5LCAzLCAyNDIsIDIyMSwgMjksIDMsIDI0MywgMTM5LCAyOSwgMywgMjQzLCA2MiwgMjksIDMsIDI0MywgCi0gICAgNjksIDI5LCAzLCAyNDIsIDE4MSwgMjksIDMsIDI0MiwgMTgwLCAyOSwgMywgMjQyLCA4NSwgMjksIDMsIDI0MiwgODEsIDI5LCAKLSAgICAzLCAyNDIsIDg0LCAyOSwgMywgMjQyLCA4MiwgMjksIDMsIDI0MiwgODMsIDI5LCAzLCAyNDMsIDM2LCAyOSwgMywgMjQzLCAKLSAgICAxNiwgMjksIDMsIDI0MywgMjYsIDI5LCAzLCAyNDMsIDM1LCAyOSwgMywgMjQzLCAzMCwgMjksIDMsIDI0MywgMzEsIDI5LCAKLSAgICAzLCAyNDMsIDIwLCAyOSwgMywgMjQzLCA1LCAyOSwgMywgMjE2LCAyMDksIDI5LCAzLCAyMTYsIDEzNywgMjksIDMsIDIxNiwgCi0gICAgMTc2LCAyOSwgMywgMjE2LCAyMDgsIDI5LCAzLCAyMTYsIDE5NSwgMjksIDMsIDIxNiwgMTk2LCAyOSwgMywgMjE2LCAxNTcsIAotICAgIDI5LCAzLCAyMTYsIDEyOSwgMjksIDMsIDI1MCwgMTY1LCAyOSwgMywgMjUwLCA3NywgMjksIDMsIDI1MCwgMTE4LCAyOSwgMywgCi0gICAgMjUwLCAxNjQsIDI5LCAzLCAyNTAsIDEzNiwgMjksIDMsIDI1MCwgMTM5LCAyOSwgMywgMjUwLCA5NCwgMjksIDMsIDI1MCwgCi0gICAgNjYsIDI5LCAzLCAyMjUsIDE1MCwgMjksIDMsIDIyNSwgMTE3LCAyOSwgMywgMjI1LCAxMzYsIDI5LCAzLCAyMjUsIDE0OSwgCi0gICAgMjksIDMsIDIyNSwgMTM4LCAyOSwgMywgMjI1LCAxMzksIDI5LCAzLCAyMjUsIDEyNCwgMjksIDMsIDIyNSwgMTEzLCAyOSwgCi0gICAgMywgMjE1LCAxODQsIDI5LCAzLCAyMTUsIDE2NCwgMjksIDMsIDIxNSwgMTY4LCAyOSwgMywgMjE1LCAxODMsIDI5LCAzLCAKLSAgICAyMTUsIDE3OCwgMjksIDMsIDIxNSwgMTc5LCAyOSwgMywgMjE1LCAxNjcsIDI5LCAzLCAyMTUsIDE2MiwgMjksIDMsIDIxNSwgCi0gICAgMzksIDI5LCAzLCAyMTUsIDMxLCAyOSwgMywgMjE1LCAzNSwgMjksIDMsIDIxNSwgMzgsIDI5LCAzLCAyMTUsIDM2LCAyOSwgCi0gICAgMywgMjE1LCAzNywgMjksIDMsIDIxNSwgMzMsIDI5LCAzLCAyMTUsIDMyLCAyOSwgMywgMjQ0LCAyMDQsIDI5LCAzLCAyNDMsIAotICAgIDI0MSwgMjksIDMsIDI0NCwgMTI5LCAyOSwgMywgMjQ0LCAyMDMsIDI5LCAzLCAyNDQsIDE1NSwgMjksIDMsIDI0NCwgMTYyLCAKLSAgICAyOSwgMywgMjQ0LCA1MSwgMjksIDMsIDI0MywgMjIwLCAyOSwgMywgMTkxLCAyOSwgMywgMjI0LCAxNTMsIDI5LCAzLCAyMjUsIAotICAgIDExMSwgMjksIDMsIDIyNiwgOTMsIDI5LCAzLCAyMjUsIDIxNCwgMjksIDMsIDIyNSwgMjI0LCAyOSwgMywgMjI1LCAxOSwgCi0gICAgMjksIDMsIDIyNCwgMTE3LCAyOSwgMywgMjIyLCAxMDEsIDI5LCAzLCAyMzAsIDM2LCAyOSwgMywgMjQzLCAyMTQsIDI5LCAKLSAgICAzOCwgMjQzLCA2MCwgMjIsIDI1LCAyMzMsIDI5LCA3OSwgMjksIDM4LCAyNSwgMjMzLCAyOSwgNzksIDI5LCAzOCwgMjQzLCAKLSAgICA2MCwgNzksIDI5LCAyMjEsIDE3NSwgNzksIDI5LCAyMTEsIDIwOCwgMjksIDI0MywgMjM2LCAyMTgsIDEzMSwgMjksIDI0OSwgCi0gICAgMjI3LCAyOSwgMjIwLCAxNTIsIDI5LCAyNDksIDIzNCwgMjksIDIyNCwgMjAyLCAyNDksIDIzNCwgMjksIDIyNCwgMTYsIDc5LCAKLSAgICAyOSwgMjI2LCAxOSwgMjIwLCAxMzksIDI5LCAyMSwgMTExLCAyOSwgMjEsIDEwNSwgMjksIDIxLCAxNTgsIDI5LCAyMSwgCi0gICAgMTYxLCAyOSwgMjEsIDE5MCwgMjksIDIxLCAxOTUsIDI5LCAyMSwgMTk5LCAyOSwgMjEsIDE5NiwgMjksIDIxLCAyMDEsIDI5LCAKLSAgICA1NCwgMjE2LCAyNDgsIDI5LCA1NCwgMjE1LCA3MywgMjksIDU0LCAyMTYsIDE2MywgMjksIDU0LCAyNDQsIDIzLCAyOSwgNTQsIAotICAgIDI0NCwgMTIyLCAyOSwgNTQsIDIxOSwgMTEzLCAyOSwgNTQsIDIyMCwgMTE4LCAyOSwgNTQsIDI0NSwgMTkyLCAyOSwgNTQsIAotICAgIDIyOCwgMjAwLCAyOSwgNTQsIDI0MCwgMjE3LCAyOSwgNTQsIDIxNiwgMjQ5LCAyMTYsIDE0OCwgMjksIDMsIDIyMSwgMTc5LCAKLSAgICAyMzAsIDQ3LCAyOSwgMywgMjMwLCA0MywgMjksIDMsIDIzMCwgNDQsIDI5LCAzLCAyMzAsIDQ1LCAyOSwgMywgMjIxLCAxNzksIAotICAgIDI1MSwgOTEsIDI5LCAzLCAyNTEsIDg4LCAyOSwgMywgMjUxLCA4OSwgMjksIDMsIDI1MSwgOTAsIDI5LCAzLCAyMjEsIDE3OSwgCi0gICAgMjQzLCAyMjAsIDI5LCAzLCAyNDMsIDIxNiwgMjksIDMsIDI0MywgMjE3LCAyOSwgMywgMjQzLCAyMTgsIDI5LCAzLCAyMjEsIAotICAgIDE3OSwgMjI0LCAxMTcsIDI5LCAzLCAyMjQsIDExMywgMjksIDMsIDIyNCwgMTE0LCAyOSwgMywgMjI0LCAxMTUsIDI5LCAKLSAgICAyMTYsIDMyLCAxNjQsIDIxMCwgMjQ3LCAyOSwgMjE2LCAzMiwgMTY0LCAyNDgsIDQ5LCAyOSwgMjE2LCAzMiwgMTY0LCAyMjIsIAotICAgIDI0MSwgMjksIDIxNiwgMzIsIDE2NCwgMjE5LCAyNTMsIDIyMiwgMjQxLCAyOSwgMjE2LCAzMiwgMTY0LCAyNDcsIDI0MywgCi0gICAgMjksIDIxNiwgMzIsIDE2NCwgMjM0LCAxNzAsIDI5LCAyMTYsIDMyLCAxNjQsIDI1MCwgMTAyLCAyOSwgMjE2LCAzMiwgMTY0LCAKLSAgICAyNDEsIDE4NCwgMjksIDIxNiwgMzIsIDE2NCwgMjQ4LCA0OCwgMjksIDIxNiwgMzIsIDE2NCwgMjMzLCAyMDAsIDE2OSwgMSwgCi0gICAgNjEsIDE2OSwgMSwgNzYsIDE2OSwgMSwgNzQsIDE2OSwgMSwgNzgsIDE2OSwgMSwgNjksIDE2OSwgMSwgMjE0LCAxMDUsIAotICAgIDE2OSwgMSwgMjQzLCAxNDIsIDE2OSwgMSwgMTc2LCAxNjksIDEsIDI0MywgNjksIDE2OSwgMSwgMjQyLCAyMjEsIDE2OSwgMSwgCi0gICAgMjQyLCAxODEsIDE2OSwgMSwgMjQyLCAxMjAsIDE2OSwgMSwgMjQyLCA4NiwgMTY5LCAxLCAxNjIsIDE2OSwgMSwgMjQxLCAKLSAgICAyNDUsIDE2OSwgMSwgMjQxLCAxODcsIDE2OSwgMSwgMjQxLCA3NSwgMTY5LCAxLCAyNDAsIDIyOSwgMTY5LCAxLCAyNDAsIAotICAgIDIwOCwgMTY5LCAxLCAyMzMsIDE0MSwgMTY5LCAxLCAyMzMsIDY0LCAxNjksIDEsIDIzMiwgMjQ3LCAxNjksIDEsIDIzMiwgCi0gICAgMTYyLCAxNjksIDEsIDIzMiwgMTAzLCAxNjksIDEsIDIzMiwgNzYsIDE2OSwgMSwgMTg2LCAxNjksIDEsIDIzMSwgOTYsIAotICAgIDE2OSwgMSwgMjMwLCAyMzUsIDE2OSwgMSwgMjMwLCAxNjYsIDE2OSwgMSwgMjMwLCAxMDcsIDE2OSwgMSwgMTk4LCAxNjksIAotICAgIDEsIDI0MSwgOTcsIDE2OSwgMSwgMjI5LCAyMTgsIDE2OSwgMSwgMjI5LCAxMTIsIDE2OSwgMSwgMjI4LCAyMzgsIDE2OSwgMSwgCi0gICAgMjI4LCA3OSwgMTY5LCAxLCAyMjcsIDI0MiwgMTY5LCAxLCAyMjcsIDE4MCwgMTY5LCAxLCAyMjQsIDMyLCAxNjksIDEsIAotICAgIDIyNCwgMTksIDE2OSwgMSwgMjI0LCAxMiwgMTY5LCAxLCAyMjQsIDQsIDE2OSwgMSwgMjIzLCAyNDksIDE2OSwgMSwgMjIzLCAKLSAgICAyNDcsIDE2OSwgMSwgMjA2LCAxNjksIDEsIDIyMiwgOTMsIDE2OSwgMSwgMjIxLCAxODMsIDE2OSwgMSwgMjE5LCAxOTMsIAotICAgIDE2OSwgMSwgMjE5LCA2MCwgMTY5LCAxLCAyMTgsIDg0LCAxNjksIDEsIDIxOCwgMywgMTY5LCAxLCAyNDgsIDIyOSwgMTY5LCAKLSAgICAxLCAyMTcsIDEwNiwgMTY5LCAxLCAyNDgsIDk4LCAxNjksIDEsIDIxNywgMjMsIDE2OSwgMSwgMjQ4LCAxMSwgMTY5LCAxLCAKLSAgICAyMTYsIDExOCwgMTY5LCAxLCAyNDcsIDE1MywgMTY5LCAxLCAyNDYsIDg2LCAxNjksIDEsIDI0NiwgNTgsIDE2OSwgMSwgCi0gICAgMjQ3LCAxNjQsIDE2OSwgMSwgMjE2LCA2MCwgMTY5LCAxLCAyMTYsIDU5LCAxNjksIDEsIDIxNiwgNDgsIDE2OSwgMSwgMjE2LCAKLSAgICA0NywgMTY5LCAxLCAyMTYsIDQ2LCAxNjksIDEsIDIxNiwgNDUsIDE2OSwgMSwgMjE1LCAxODQsIDE2OSwgMSwgMjE1LCAxNzksIAotICAgIDE2OSwgMSwgMjE1LCAxNjgsIDE2OSwgMSwgMjE1LCAxNjcsIDE2OSwgMSwgMjE1LCAxNjQsIDE2OSwgMSwgMjE1LCAxNjMsIAotICAgIDE2OSwgMSwgMjEyLCA2NSwgMTY5LCAxLCAyMTIsIDIyLCAxNjksIDEsIDIxMSwgMjUwLCAxNjksIDEsIDIxMSwgMjI3LCAKLSAgICAxNjksIDEsIDIxMSwgMTk1LCAxNjksIDEsIDIxMSwgMTgzLCAxNjksIDEsIDE5MiwgMTY5LCAxLCAyMTEsIDQ3LCAxNjksIDEsIAotICAgIDIxMSwgOCwgMTY5LCAxLCAyMTAsIDI0NCwgMTY5LCAxLCAyMTAsIDIxMiwgMTY5LCAxLCAyMTAsIDE3NywgMTgsIDE5LCAKLSAgICAyNDAsIDE3NSwgMTgsIDE5LCA3NiwgMTgsIDE5LCAyNTUsIDQ2LCAxOCwgMTksIDc0LCAxOCwgMTksIDIzNiwgNDAsIDE4LCAKLSAgICAxOSwgNzgsIDE4LCAxOSwgMjI2LCAxODcsIDE4LCAxOSwgMjExLCAxMTYsIDIyNiwgMTg3LCAxOCwgMTksIDczLCAyNDUsIAotICAgIDIxNywgMTgsIDE5LCA3MywgNzQsIDE4LCAxOSwgNjEsIDE4LCAxOSwgMjU1LCA4MiwgMTgsIDE5LCAyMTIsIDIyLCAxOCwgCi0gICAgMTksIDE1OSwgMjEyLCAyMiwgMTgsIDE5LCAyMTEsIDI1MCwgMTgsIDE5LCAxNTksIDIxMSwgMjUwLCAxOCwgMTksIDIxMSwgCi0gICAgMjQyLCAxOCwgMTksIDE1OSwgMjExLCAyNDIsIDE4LCAxOSwgMjExLCAyMjcsIDE4LCAxOSwgMTU5LCAyMTEsIDIyNywgMTgsIAotICAgIDE5LCAyMTEsIDIxNSwgMTgsIDE5LCAxNTksIDIxMSwgMjE1LCAxOCwgMTksIDIyOSwgMTk1LCAyMTEsIDIxNSwgMTgsIDE5LCAKLSAgICAyMTIsIDY1LCAxOCwgMTksIDE1OSwgMjEyLCA2NSwgMTgsIDE5LCAyMTIsIDY0LCAxOCwgMTksIDE1OSwgMjEyLCA2NCwgMTgsIAotICAgIDE5LCAyMjksIDE5NSwgMjEyLCA2NCwgMTgsIDE5LCAyNTQsIDIxMCwgMTgsIDE5LCAyMTEsIDExNiwgMjEyLCA5OCwgMTgsIAotICAgIDE5LCAyNDIsIDE4NywgMjE4LCAxMzEsIDE4LCAxOSwgNDAsIDE0MiwgMTgsIDE5LCA0MCwgMjQyLCAxNDMsIDE4LCAxOSwgCi0gICAgNDAsIDI1MSwgMTgzLCAxNjMsIDIyMiwgMjM2LCAxOCwgMTksIDQwLCAyMTYsIDE1LCAxNjMsIDIyMiwgMjM2LCAxOCwgMTksIAotICAgIDQwLCA0NCwgMTYzLCAyMjIsIDIzNiwgMTgsIDE5LCA0MCwgMjIyLCAyMzYsIDE4LCAxOSwgNDAsIDUyLCAxNDIsIDE4LCAxOSwgCi0gICAgNDAsIDUyLCAyMTksIDI1MywgNjcsIDIxOCwgOTIsIDE4LCAxOSwgNDAsIDIzMCwgMjI5LCAyNDcsIDEyOCwgMTgsIDE5LCAKLSAgICA0MCwgMjE5LCAyNTMsIDIwMywgOTEsIDE4LCAxOSwgNDAsIDIyNSwgMjUsIDE4LCAxOSwgNDAsIDEyNCwgMjE3LCA4OCwgMTgsIAotICAgIDE5LCAyNDUsIDE1OCwgMTgsIDE5LCAyMzYsIDYsIDE4LCAxOSwgMjI2LCAyMDAsIDE4LCAxOSwgMjU0LCAxMzEsIDE4LCAxOSwgCi0gICAgMjI1LCAyMjQsIDE4LCAxOSwgMjI2LCA5MSwgMTgsIDE5LCAyMjUsIDExMSwgMTgsIDE5LCAyMjUsIDc0LCAxOCwgMTksIAotICAgIDIyNSwgMTksIDE4LCAxOSwgMjI0LCAyNTIsIDE4LCAxOSwgMjExLCAxMTYsIDIyNCwgMjUyLCAxOCwgMTksIDczLCAyNDEsIAotICAgIDIyNywgMTgsIDE5LCA3MywgMjQxLCAxODcsIDE4LCAxOSwgMTkxLCAxOCwgMTksIDIyNiwgOTMsIDE4LCAxOSwgMjI0LCAKLSAgICAxMTUsIDE4LCAxOSwgMTU5LCAyMjQsIDExNSwgMTgsIDE5LCAyMjQsIDExMywgMTgsIDE5LCAxNTksIDIyNCwgMTEzLCAxOCwgCi0gICAgMTksIDIyNCwgMTEyLCAxOCwgMTksIDE1OSwgMjI0LCAxMTIsIDE4LCAxOSwgMjI0LCAxMTAsIDE4LCAxOSwgMTU5LCAyMjQsIAotICAgIDExMCwgMTgsIDE5LCAyMjQsIDEwOSwgMTgsIDE5LCAxNTksIDIyNCwgMTA5LCAxOCwgMTksIDIyNCwgMTE3LCAxOCwgMTksIAotICAgIDE1OSwgMjI0LCAxMTcsIDE4LCAxOSwgMjI0LCAxMTYsIDE4LCAxOSwgMTU5LCAyMjQsIDExNiwgMTgsIDE5LCAyMTEsIDExNiwgCi0gICAgMjI0LCAxMTYsIDE4LCAxOSwgMjI2LCAxMDksIDE4LCAxOSwgMTU5LCAyMjYsIDEwOSwgMTgsIDE5LCA3MywgMjQyLCA2NywgCi0gICAgMTgsIDE5LCAyMTcsIDIzLCAxOCwgMTksIDIxNywgMTAwLCAxOCwgMTksIDIxNiwgMTE4LCAxOCwgMTksIDIxNiwgMTA0LCAKLSAgICAxOCwgMTksIDExMiwgMTgsIDE5LCAyMTYsIDE4LCAxOCwgMTksIDIxMSwgMTE2LCAyMTYsIDE4LCAxOCwgMTksIDczLCAyNDgsIAotICAgIDg1LCAxOCwgMTksIDczLCAyNDgsIDExLCAxOCwgMTksIDIxNywgMTA2LCAxOCwgMTksIDIxNywgMTAyLCAxOCwgMTksIDIxNSwgCi0gICAgNzgsIDE4LCAxOSwgMTU5LCAyMTUsIDc4LCAxOCwgMTksIDIxNSwgNjIsIDE4LCAxOSwgMTU5LCAyMTUsIDYyLCAxOCwgMTksIAotICAgIDIxNSwgNjEsIDE4LCAxOSwgMTU5LCAyMTUsIDYxLCAxOCwgMTksIDEwNSwgMTgsIDE5LCAxNTksIDEwNSwgMTgsIDE5LCAKLSAgICAyMTUsIDU0LCAxOCwgMTksIDE1OSwgMjE1LCA1NCwgMTgsIDE5LCAyMTUsIDgwLCAxOCwgMTksIDE1OSwgMjE1LCA4MCwgMTgsIAotICAgIDE5LCAyMTUsIDc5LCAxOCwgMTksIDE1OSwgMjE1LCA3OSwgMTgsIDE5LCAyMjksIDE5NSwgMjE1LCA3OSwgMTgsIDE5LCAKLSAgICAyMTcsIDE1MywgMTgsIDE5LCAyMTUsIDE1MiwgMTgsIDE5LCAyMTUsIDEzNiwgMTgsIDE5LCAyMTUsIDEzNCwgMTgsIDE5LCAKLSAgICAyMTUsIDE1NywgMTgsIDE5LCAyMzQsIDE4OCwgMTgsIDE5LCAyMzUsIDEzLCAxOCwgMTksIDIzNCwgOTgsIDE4LCAxOSwgCi0gICAgMjM0LCA4OSwgMTgsIDE5LCAyMzQsIDM0LCAxOCwgMTksIDIzNCwgMTYsIDE4LCAxOSwgMjExLCAxMTYsIDIzNCwgMTYsIDE4LCAKLSAgICAxOSwgMTc2LCAxOCwgMTksIDIzNSwgMTYsIDE4LCAxOSwgMjMzLCAxODQsIDE4LCAxOSwgMTU5LCAyMzMsIDE4NCwgMTgsIAotICAgIDE5LCAyMzMsIDE4MiwgMTgsIDE5LCAxNTksIDIzMywgMTgyLCAxOCwgMTksIDIzMywgMTgxLCAxOCwgMTksIDE1OSwgMjMzLCAKLSAgICAxODEsIDE4LCAxOSwgMjMzLCAxODAsIDE4LCAxOSwgMTU5LCAyMzMsIDE4MCwgMTgsIDE5LCAyMzMsIDE3OSwgMTgsIDE5LCAKLSAgICAxNTksIDIzMywgMTc5LCAxOCwgMTksIDIzMywgMTg4LCAxOCwgMTksIDE1OSwgMjMzLCAxODgsIDE4LCAxOSwgMjMzLCAxODcsIAotICAgIDE4LCAxOSwgMTU5LCAyMzMsIDE4NywgMTgsIDE5LCAyMjksIDE5NSwgMjMzLCAxODcsIDE4LCAxOSwgMjM1LCAyOSwgMTgsIAotICAgIDE5LCAyMzMsIDE4OSwgMTgsIDE5LCAyMTksIDI5LCAyMzQsIDE4MiwgMTgsIDE5LCAyMTksIDI5LCAyMzQsIDkwLCAxOCwgCi0gICAgMTksIDIxOSwgMjksIDIzNCwgMjksIDE4LCAxOSwgMjE5LCAyOSwgMjM0LCAyNTQsIDE4LCAxOSwgMjUwLCAxOTgsIDE4LCAKLSAgICAxOSwgMjUxLCAzOSwgMTgsIDE5LCAyNTAsIDU5LCAxOCwgMTksIDI1MCwgNDksIDE4LCAxOSwgMjQ5LCAyNDYsIDE4LCAxOSwgCi0gICAgMjQ5LCAxODIsIDE4LCAxOSwgMjExLCAxMTYsIDI0OSwgMTgyLCAxOCwgMTksIDI1MSwgNDEsIDE4LCAxOSwgMjUxLCA0MCwgCi0gICAgMTgsIDE5LCAyNDksIDg3LCAxOCwgMTksIDE1OSwgMjQ5LCA4NywgMTgsIDE5LCAyNDksIDg1LCAxOCwgMTksIDE1OSwgMjQ5LCAKLSAgICA4NSwgMTgsIDE5LCAyNDksIDg0LCAxOCwgMTksIDE1OSwgMjQ5LCA4NCwgMTgsIDE5LCAyNDksIDgzLCAxOCwgMTksIDE1OSwgCi0gICAgMjQ5LCA4MywgMTgsIDE5LCAyNDksIDgyLCAxOCwgMTksIDE1OSwgMjQ5LCA4MiwgMTgsIDE5LCAyNDksIDg5LCAxOCwgMTksIAotICAgIDE1OSwgMjQ5LCA4OSwgMTgsIDE5LCAyNDksIDg4LCAxOCwgMTksIDE1OSwgMjQ5LCA4OCwgMTgsIDE5LCAyMjksIDE5NSwgCi0gICAgMjQ5LCA4OCwgMTgsIDE5LCAyNTEsIDc0LCAxOCwgMTksIDIyMSwgMjExLCAyMTYsIDIxMSwgMTgsIDE5LCAyMzEsIDk2LCAKLSAgICAxOCwgMTksIDIzMSwgMjQxLCAxOCwgMTksIDIzMCwgMjM1LCAxOCwgMTksIDIzMCwgMjA2LCAxOCwgMTksIDIzMCwgMTY2LCAKLSAgICAxOCwgMTksIDIzMCwgMTM3LCAxOCwgMTksIDIxMSwgMTE2LCAyMzAsIDEzNywgMTgsIDE5LCAxODYsIDE4LCAxOSwgMjMxLCAKLSAgICAyNDIsIDE4LCAxOSwgMjMwLCA0NSwgMTgsIDE5LCAxNTksIDIzMCwgNDUsIDE4LCAxOSwgMjMwLCA0MywgMTgsIDE5LCAxNTksIAotICAgIDIzMCwgNDMsIDE4LCAxOSwgMjMwLCA0MiwgMTgsIDE5LCAxNTksIDIzMCwgNDIsIDE4LCAxOSwgMjMwLCA0MSwgMTgsIDE5LCAKLSAgICAxNTksIDIzMCwgNDEsIDE4LCAxOSwgMjMwLCA0MCwgMTgsIDE5LCAxNTksIDIzMCwgNDAsIDE4LCAxOSwgMjMwLCA0NywgMTgsIAotICAgIDE5LCAxNTksIDIzMCwgNDcsIDE4LCAxOSwgMjMwLCA0NiwgMTgsIDE5LCAxNTksIDIzMCwgNDYsIDE4LCAxOSwgMjI5LCAKLSAgICAxOTUsIDIzMCwgNDYsIDE4LCAxOSwgMTk0LCAxOCwgMTksIDE1OSwgMTk0LCAxOCwgMTksIDIzMCwgMjM5LCAxOCwgMTksIAotICAgIDI1MywgMjEzLCAxOTQsIDE4LCAxOSwgMjIxLCAyMTEsIDE5NCwgMTgsIDE5LCAyMjksIDExMiwgMTgsIDE5LCAyMjksIDIyOSwgCi0gICAgMTgsIDE5LCAyMjgsIDIzOCwgMTgsIDE5LCAyMjgsIDIxMywgMTgsIDE5LCAyMjgsIDc5LCAxOCwgMTksIDIyOCwgNjksIDE4LCAKLSAgICAxOSwgMjExLCAxMTYsIDIyOCwgNjksIDE4LCAxOSwgMTk4LCAxOCwgMTksIDIyOSwgMjMwLCAxOCwgMTksIDIyNywgMTc2LCAKLSAgICAxOCwgMTksIDE1OSwgMjI3LCAxNzYsIDE4LCAxOSwgMjI3LCAxNzgsIDE4LCAxOSwgMTU5LCAyMjcsIDE3OCwgMTgsIDE5LCAKLSAgICAyMjcsIDE3NywgMTgsIDE5LCAxNTksIDIyNywgMTc3LCAxOCwgMTksIDIyOSwgMTk1LCAyMjcsIDE3NywgMTgsIDE5LCAyMzAsIAotICAgIDMwLCAxOCwgMTksIDczLCAyMjksIDg0LCAxOCwgMTksIDIyOCwgMjQzLCAxOCwgMTksIDIzMywgNjQsIDE4LCAxOSwgMjMzLCAKLSAgICAxMzksIDE4LCAxOSwgMjMyLCAyNDcsIDE4LCAxOSwgMjMyLCAyMzMsIDE4LCAxOSwgMjMyLCAxNjIsIDE4LCAxOSwgMjMyLCAKLSAgICAxMzMsIDE4LCAxOSwgMjExLCAxMTYsIDIzMiwgMTMzLCAxOCwgMTksIDIzMywgMTQxLCAxOCwgMTksIDIzMywgMTQwLCAxOCwgCi0gICAgMTksIDIzMiwgNzMsIDE4LCAxOSwgMTU5LCAyMzIsIDczLCAxOCwgMTksIDIzMiwgNzIsIDE4LCAxOSwgMTU5LCAyMzIsIDcyLCAKLSAgICAxOCwgMTksIDIzMiwgNzEsIDE4LCAxOSwgMTU5LCAyMzIsIDcxLCAxOCwgMTksIDIzMiwgNzAsIDE4LCAxOSwgMTU5LCAyMzIsIAotICAgIDcwLCAxOCwgMTksIDIzMiwgNjksIDE4LCAxOSwgMTU5LCAyMzIsIDY5LCAxOCwgMTksIDIzMiwgNzUsIDE4LCAxOSwgMTU5LCAKLSAgICAyMzIsIDc1LCAxOCwgMTksIDIzMiwgNzQsIDE4LCAxOSwgMTU5LCAyMzIsIDc0LCAxOCwgMTksIDE1NiwgMTgsIDE5LCAxNTksIAotICAgIDE1NiwgMTgsIDE5LCAxNDcsIDE1NiwgMTgsIDE5LCAyMjEsIDE4MywgMTgsIDE5LCAyMjIsIDMxLCAxOCwgMTksIDIxOSwgCi0gICAgMTkzLCAxOCwgMTksIDIxOSwgMTc3LCAxOCwgMTksIDIxOSwgNjAsIDE4LCAxOSwgMjE5LCA0MiwgMTgsIDE5LCAyMTEsIAotICAgIDExNiwgMjE5LCA0MiwgMTgsIDE5LCAyMDYsIDE4LCAxOSwgMjIyLCAzMywgMTgsIDE5LCAyMTcsIDI1MCwgMTgsIDE5LCAKLSAgICAxNTksIDIxNywgMjUwLCAxOCwgMTksIDIxNywgMjQ0LCAxOCwgMTksIDE1OSwgMjE3LCAyNDQsIDE4LCAxOSwgMjE3LCAyNDMsIAotICAgIDE4LCAxOSwgMTU5LCAyMTcsIDI0MywgMTgsIDE5LCAyMTcsIDIzOSwgMTgsIDE5LCAxNTksIDIxNywgMjM5LCAxOCwgMTksIAotICAgIDIxNywgMjM4LCAxOCwgMTksIDE1OSwgMjE3LCAyMzgsIDE4LCAxOSwgMjE3LCAyNTQsIDE4LCAxOSwgMTU5LCAyMTcsIDI1NCwgCi0gICAgMTgsIDE5LCAyMTcsIDI1MywgMTgsIDE5LCAxNTksIDIxNywgMjUzLCAxOCwgMTksIDIyOSwgMTk1LCAyMTcsIDI1MywgMTgsIAotICAgIDE5LCAyMjIsIDkzLCAxOCwgMTksIDI1MywgMjEzLCAyMjIsIDkzLCAxOCwgMTksIDIxNywgMjU1LCAxOCwgMTksIDI1MSwgCi0gICAgMjI2LCAyMjIsIDkzLCAxOCwgMTksIDIzMCwgMTMyLCAyMTksIDExMCwgMTgsIDE5LCAyMjksIDE5NSwgMjE5LCAxMDEsIDE4LCAKLSAgICAxOSwgMjI5LCAxOTUsIDIyMiwgOTEsIDE4LCAxOSwgMjI5LCAxOTUsIDIxOCwgMjM3LCAxOCwgMTksIDIyOSwgMTk1LCAyMTgsIAotICAgIDg3LCAxOCwgMTksIDIyOSwgMTk1LCAyMTksIDEwMCwgMTgsIDE5LCAyMjksIDE5NSwgMjIxLCAxODYsIDE4LCAxOSwgMjIwLCAKLSAgICA2NSwgMTgsIDE5LCAyMjAsIDM0LCAxOCwgMTksIDIyMCwgMjksIDE4LCAxOSwgMjIwLCA5LCAxOCwgMTksIDIyMCwgMywgMTgsIAotICAgIDE5LCAyMjAsIDEwNCwgMTgsIDE5LCAyMjAsIDEwMCwgMTgsIDE5LCAyMTksIDIwOCwgMTgsIDE5LCAxNTksIDIxOSwgMjA4LCAKLSAgICAxOCwgMTksIDIxOSwgMjA3LCAxOCwgMTksIDE1OSwgMjE5LCAyMDcsIDE4LCAxOSwgMjE5LCAyMDYsIDE4LCAxOSwgMTU5LCAKLSAgICAyMTksIDIwNiwgMTgsIDE5LCAyMTksIDIwNSwgMTgsIDE5LCAxNTksIDIxOSwgMjA1LCAxOCwgMTksIDIxOSwgMjA0LCAxOCwgCi0gICAgMTksIDE1OSwgMjE5LCAyMDQsIDE4LCAxOSwgMjE5LCAyMTAsIDE4LCAxOSwgMTU5LCAyMTksIDIxMCwgMTgsIDE5LCAyMTksIAotICAgIDIwOSwgMTgsIDE5LCAxNTksIDIxOSwgMjA5LCAxOCwgMTksIDIyMCwgMTA2LCAxOCwgMTksIDIxMSwgNDcsIDE4LCAxOSwgCi0gICAgMjExLCAxMDEsIDE4LCAxOSwgMjExLCA4LCAxOCwgMTksIDIxMCwgMjU1LCAxOCwgMTksIDIxMCwgMjQ0LCAxOCwgMTksIAotICAgIDIxMCwgMjI5LCAxOCwgMTksIDIxMSwgMTE2LCAyMTAsIDIyOSwgMTgsIDE5LCAxOTIsIDE4LCAxOSwgMjExLCAxMDMsIDE4LCAKLSAgICAxOSwgMjEwLCAxNzQsIDE4LCAxOSwgMTU5LCAyMTAsIDE3NCwgMTgsIDE5LCAyMTAsIDE3MywgMTgsIDE5LCAxNTksIDIxMCwgCi0gICAgMTczLCAxOCwgMTksIDIxMCwgMTcyLCAxOCwgMTksIDE1OSwgMjEwLCAxNzIsIDE4LCAxOSwgMjEwLCAxNzEsIDE4LCAxOSwgCi0gICAgMTU5LCAyMTAsIDE3MSwgMTgsIDE5LCAyMTAsIDE3MCwgMTgsIDE5LCAxNTksIDIxMCwgMTcwLCAxOCwgMTksIDIxMCwgMTc2LCAKLSAgICAxOCwgMTksIDE1OSwgMjEwLCAxNzYsIDE4LCAxOSwgMjEwLCAxNzUsIDE4LCAxOSwgMTU5LCAyMTAsIDE3NSwgMTgsIDE5LCAKLSAgICAyMjksIDE5NSwgMjEwLCAxNzUsIDE4LCAxOSwgMjExLCAxMTcsIDE4LCAxOSwgMjUyLCAxMiwgMjExLCAxMTcsIDE4LCAxOSwgCi0gICAgMTU5LCAyMTEsIDExNywgMTgsIDE5LCAyMjEsIDIxMSwgMjExLCA4LCAxOCwgMTksIDIyMywgMTMxLCAxOCwgMTksIDIyMywgCi0gICAgMjI2LCAyMjMsIDEzMSwgMTgsIDE5LCAxNTksIDIzMywgNjQsIDE4LCAxOSwgMjIzLCAxODYsIDE4LCAxOSwgMjIzLCAzOCwgCi0gICAgMTgsIDE5LCAyMjIsIDI0MiwgMTgsIDE5LCAyMjIsIDIxMywgMTgsIDE5LCAyMjIsIDE5OSwgMTgsIDE5LCAxNTksIDIzMiwgCi0gICAgMTYyLCAxOCwgMTksIDIwNSwgMTgsIDE5LCAyMjMsIDE4NywgMTgsIDE5LCAxNTksIDIzMywgMTQxLCAxOCwgMTksIDIyMiwgCi0gICAgMTEwLCAxOCwgMTksIDE1OSwgMjIyLCAxMTAsIDE4LCAxOSwgMTUzLCAxOCwgMTksIDE1OSwgMTUzLCAxOCwgMTksIDE0NywgCi0gICAgMTUzLCAxOCwgMTksIDI0NCwgMTYyLCAxOCwgMTksIDI0NCwgMjAxLCAxOCwgMTksIDI0NCwgMTI5LCAxOCwgMTksIDI0NCwgCi0gICAgMTE2LCAxOCwgMTksIDI0NCwgNTEsIDE4LCAxOSwgMjQ0LCA0MiwgMTgsIDE5LCAyNDQsIDIwNCwgMTgsIDE5LCAyNDQsIAotICAgIDIwMywgMTgsIDE5LCAyNDMsIDIxOSwgMTgsIDE5LCAxNTksIDI0MywgMjE5LCAxOCwgMTksIDI0NSwgMTQsIDE4LCAxOSwgCi0gICAgMjE2LCAxOTYsIDE4LCAxOSwgMjMwLCAyOCwgMjE2LCAxOTYsIDE4LCAxOSwgMjE2LCAxNzYsIDE4LCAxOSwgMjMwLCAyOCwgCi0gICAgMjE2LCAxNzYsIDE4LCAxOSwgMjE2LCAxNzIsIDE4LCAxOSwgMjMwLCAyOCwgMjE2LCAxNzIsIDE4LCAxOSwgMjE2LCAxNTcsIAotICAgIDE4LCAxOSwgMjE2LCAxNTQsIDE4LCAxOSwgMjE2LCAyMDksIDE4LCAxOSwgMjE2LCAyMDgsIDE4LCAxOSwgMjE2LCAxMjgsIAotICAgIDE4LCAxOSwgMTU5LCAyMTYsIDEyOCwgMTgsIDE5LCAyMTYsIDIxMSwgMTgsIDE5LCAyMTUsIDE0MywgMTgsIDE5LCAyMTUsIAotICAgIDE0MSwgMTgsIDE5LCAyMTUsIDE0MCwgMTgsIDE5LCAyMTUsIDE0NSwgMTgsIDE5LCAyMTUsIDE0NiwgMTgsIDE5LCAyMTUsIAotICAgIDUyLCAxOCwgMTksIDIxNSwgNTEsIDE4LCAxOSwgMjE1LCA1MCwgMTgsIDE5LCAyMTUsIDUzLCAxOCwgMTksIDIyNywgMTk3LCAKLSAgICAyNDEsIDI0NSwgMTgsIDE5LCAyMjcsIDE5NywgMjQxLCAxODcsIDE4LCAxOSwgMjI3LCAxOTcsIDI0MSwgMTY4LCAxOCwgMTksIAotICAgIDIyNywgMTk3LCAyNDEsIDc1LCAxOCwgMTksIDIyNywgMTk3LCAyNDEsIDYwLCAxOCwgMTksIDIyNywgMTk3LCAxNjIsIDE4LCAKLSAgICAxOSwgMjI3LCAxOTcsIDI0MiwgNTMsIDE4LCAxOSwgMjI3LCAxOTcsIDI0MiwgNjcsIDE4LCAxOSwgMjI3LCAxOTYsIDI0MiwgCi0gICAgNjcsIDE4LCAxOSwgMjQxLCAxNjEsIDE4LCAxOSwgMjI0LCA4NywgMTgsIDE5LCAyMjQsIDU2LCAxOCwgMTksIDIyNCwgNTEsIAotICAgIDE4LCAxOSwgMjI0LCA0NSwgMTgsIDE5LCAyMjQsIDQwLCAxOCwgMTksIDIyNCwgOTEsIDE4LCAxOSwgMjI0LCA5MCwgMTgsIAotICAgIDE5LCAyMjQsIDk5LCAxOCwgMTksIDIxNiwgNTYsIDE4LCAxOSwgMjE2LCA1NCwgMTgsIDE5LCAyMTYsIDUzLCAxOCwgMTksIAotICAgIDIxNiwgNTcsIDE4LCAxOSwgMTU5LCAyMjMsIDEzMSwgMTgsIDE5LCAxNTksIDIyMywgMzgsIDE4LCAxOSwgMTU5LCAyMjIsIAotICAgIDIxMywgMTgsIDE5LCAxNTksIDIwNSwgMTgsIDE5LCAyMjksIDgwLCAxOCwgMTksIDIyOSwgMzIsIDE4LCAxOSwgMjI5LCAyOCwgCi0gICAgMTgsIDE5LCAyMjksIDksIDE4LCAxOSwgMjI5LCA0LCAxOCwgMTksIDIyOSwgODIsIDE4LCAxOSwgMjI5LCA4MSwgMTgsIDE5LCAKLSAgICAyMjksIDg0LCAxOCwgMTksIDIyOCwgMTA4LCAxOCwgMTksIDIyMSwgMjExLCAyMjAsIDY1LCAxOCwgMTksIDIyMSwgMjExLCAKLSAgICAyMjAsIDM0LCAxOCwgMTksIDIyMSwgMjExLCAyMjAsIDksIDE4LCAxOSwgMjIxLCAyMTEsIDIyMCwgMTA0LCAxOCwgMTksIAotICAgIDIxMSwgMjEzLCAyMTYsIDE5NiwgMTgsIDE5LCAyMTEsIDIxMywgMjE2LCAxNzYsIDE4LCAxOSwgMjExLCAyMTMsIDIxNiwgCi0gICAgMTU3LCAxOCwgMTksIDIxMSwgMjEzLCAyMTYsIDIwOSwgMTgsIDE5LCAyMTEsIDIxMywgMjE2LCAyMTEsIDE4LCAxOSwgMjMyLCAKLSAgICAyNTQsIDE4LCAxOSwgMjMyLCAyNTMsIDE4LCAxOSwgMjMyLCAyNTIsIDE4LCAxOSwgMjMyLCAyNTEsIDE4LCAxOSwgMjMzLCAKLSAgICA0LCAxOCwgMTksIDIzMywgMywgMTgsIDE5LCAyMzMsIDUsIDE4LCAxOSwgMjE2LCAyMTAsIDIxNiwgMTk2LCAxOCwgMTksIAotICAgIDIxNiwgMjEwLCAyMTYsIDE3NiwgMTgsIDE5LCAyMTYsIDIxMCwgMjE2LCAxNzIsIDE4LCAxOSwgMjE2LCAyMTAsIDIxNiwgCi0gICAgMTU3LCAxOCwgMTksIDIxNiwgMjEwLCAyMTYsIDE1NCwgMTgsIDE5LCAyMTYsIDIxMCwgMjE2LCAyMDksIDE4LCAxOSwgMjE2LCAKLSAgICAyMTAsIDIxNiwgMjA4LCAxOCwgMTksIDIxNiwgMjEwLCAyMTYsIDIxMSwgMTgsIDE5LCAyNTQsIDE5OCwgMjUzLCAxNjYsIAotICAgIDE4LCAxOSwgMjUxLCAyMjYsIDc2LCAxOCwgMTksIDI1MSwgMjI2LCA3NCwgMTgsIDE5LCAyNTEsIDIyNiwgNzgsIDE4LCAxOSwgCi0gICAgMjUxLCAyMjYsIDYxLCAxOCwgMTksIDI1MSwgMjI2LCAyMTIsIDIyLCAxOCwgMTksIDI1MSwgMjI2LCAyMTEsIDI1MCwgMTgsIAotICAgIDE5LCAyNTEsIDIyNiwgMjExLCAyMjcsIDE4LCAxOSwgMjUxLCAyMjYsIDIxMiwgNjUsIDE4LCAxOSwgMjUxLCAyMjYsIDIyOSwgCi0gICAgMTEyLCAxOCwgMTksIDI1MSwgMjI2LCAyMjgsIDIzOCwgMTgsIDE5LCAyNTEsIDIyNiwgMjI4LCA3OSwgMTgsIDE5LCAyNTEsIAotICAgIDIyNiwgMTk4LCAxOCwgMTksIDI1MSwgMjI2LCAyMzQsIDE4OCwgMTgsIDE5LCAyNTEsIDIyNiwgMjM0LCA5OCwgMTgsIDE5LCAKLSAgICAyNTEsIDIyNiwgMjM0LCAzNCwgMTgsIDE5LCAyNTEsIDIyNiwgMTc2LCAxOCwgMTksIDIyMSwgMjExLCAyNDEsIDI0NSwgMTgsIAotICAgIDE5LCAyMjEsIDIxMSwgMjQxLCAxODcsIDE4LCAxOSwgMjIxLCAyMTEsIDI0MSwgNzUsIDE4LCAxOSwgMjIxLCAyMTEsIDE2MiwgCi0gICAgMTgsIDE5LCA3MywgMjQyLCAyMjcsIDE4LCAxOSwgNzMsIDI0MiwgMjMxLCAxOCwgMTksIDczLCAyNDIsIDI0MywgMTgsIDE5LCAKLSAgICA3MywgMjQyLCAyNDIsIDE4LCAxOSwgNzMsIDI0MiwgMjMyLCAxOCwgMTksIDczLCAyNDMsIDAsIDE4LCAxOSwgNzMsIDIyMiwgCi0gICAgMTQyLCAxOCwgMTksIDczLCAyMjIsIDIxMywgMTgsIDE5LCA3MywgMjIzLCAxMzEsIDE4LCAxOSwgNzMsIDIyMywgMTExLCAKLSAgICAxOCwgMTksIDczLCAyMjMsIDM4LCAxOCwgMTksIDczLCAyMDUsIDE4LCAxOSwgNzMsIDIxMSwgMTk1LCAxOCwgMTksIDczLCAKLSAgICAyMTEsIDIyNywgMTgsIDE5LCA3MywgMjEyLCAyMiwgMTgsIDE5LCA3MywgMjEyLCAxNywgMTgsIDE5LCA3MywgMjExLCAyNTAsIAotICAgIDE4LCAxOSwgNzMsIDIxMiwgNjUsIDE4LCAxOSwgNzMsIDI0MCwgMjAxLCAxOCwgMTksIDczLCAyNDAsIDIwMiwgMTgsIDE5LCAKLSAgICA3MywgMjQwLCAyMDUsIDE4LCAxOSwgNzMsIDI0MCwgMjA0LCAxOCwgMTksIDczLCAyNDAsIDIwMywgMTgsIDE5LCA3MywgCi0gICAgMjQwLCAyMDcsIDE4LCAxOSwgNzMsIDIxNiwgMTM3LCAxOCwgMTksIDczLCAyMTYsIDE1NywgMTgsIDE5LCA3MywgMjE2LCAKLSAgICAxOTYsIDE4LCAxOSwgNzMsIDIxNiwgMTk1LCAxOCwgMTksIDczLCAyMTYsIDE3NiwgMTgsIDE5LCA3MywgMjE2LCAyMDksIAotICAgIDE4LCAxOSwgNzMsIDIxNSwgMTI0LCAxOCwgMTksIDczLCAyMTUsIDEzNCwgMTgsIDE5LCA3MywgMjE1LCAxNTIsIDE4LCAxOSwgCi0gICAgNzMsIDIxNSwgMTUxLCAxOCwgMTksIDczLCAyMTUsIDEzNiwgMTgsIDE5LCA3MywgMjE1LCAxNTcsIDE4LCAxOSwgNzMsIAotICAgIDIyNCwgMTUzLCAxOCwgMTksIDczLCAyMjUsIDE5LCAxOCwgMTksIDczLCAyMjUsIDIyNCwgMTgsIDE5LCA3MywgMjI1LCAKLSAgICAyMTQsIDE4LCAxOSwgNzMsIDIyNSwgMTExLCAxOCwgMTksIDczLCAxOTEsIDE4LCAxOSwgNzMsIDIyNiwgMTA5LCAxOCwgMTksIAotICAgIDczLCAyNDIsIDEyMCwgMTgsIDE5LCA3MywgMjQyLCAxODEsIDE4LCAxOSwgNzMsIDI0MywgNjksIDE4LCAxOSwgNzMsIDI0MywgCi0gICAgNjIsIDE4LCAxOSwgNzMsIDI0MiwgMjIxLCAxOCwgMTksIDczLCAyNDMsIDE0MiwgMTgsIDE5LCA3MywgMjM0LCAxMDYsIDE4LCAKLSAgICAxOSwgNzMsIDIzNCwgMTExLCAxOCwgMTksIDczLCAyMzQsIDEyNSwgMTgsIDE5LCA3MywgMjM0LCAxMjQsIDE4LCAxOSwgNzMsIAotICAgIDIzNCwgMTE4LCAxOCwgMTksIDczLCAyMzQsIDEzOCwgMTgsIDE5LCA3MywgMjM0LCA0NywgMTgsIDE5LCA3MywgMjM0LCA0OCwgCi0gICAgMTgsIDE5LCA3MywgMjM0LCA1MSwgMTgsIDE5LCA3MywgMjM0LCA1MCwgMTgsIDE5LCA3MywgMjM0LCA0OSwgMTgsIDE5LCAKLSAgICA3MywgMjM0LCA1MiwgMTgsIDE5LCA3MywgMjM0LCA1MywgMTgsIDE5LCA3MywgMjI3LCAyNDIsIDE4LCAxOSwgNzMsIDIyOCwgCi0gICAgNzksIDE4LCAxOSwgNzMsIDIyOSwgMTEyLCAxOCwgMTksIDczLCAyMjksIDEwOCwgMTgsIDE5LCA3MywgMjI4LCAyMzgsIDE4LCAKLSAgICAxOSwgNzMsIDE5OCwgMTgsIDE5LCA3MywgMjMwLCAxMDcsIDE4LCAxOSwgNzMsIDIzMCwgMTY2LCAxOCwgMTksIDczLCAyMzEsIAotICAgIDk2LCAxOCwgMTksIDczLCAyMzEsIDg1LCAxOCwgMTksIDczLCAyMzAsIDIzNSwgMTgsIDE5LCA3MywgMTg2LCAxOCwgMTksIAotICAgIDczLCAyMTAsIDIxMiwgMTgsIDE5LCA3MywgMjEwLCAyNDQsIDE4LCAxOSwgNzMsIDIxMSwgNDcsIDE4LCAxOSwgNzMsIDIxMSwgCi0gICAgNDQsIDE4LCAxOSwgNzMsIDIxMSwgOCwgMTgsIDE5LCA3MywgMTkyLCAxOCwgMTksIDczLCAyMzUsIDU3LCAxOCwgMTksIAotICAgIDIyMSwgMjExLCAyMzUsIDU3LCAxOCwgMTksIDczLCAyMzUsIDc0LCAxOCwgMTksIDczLCAyMzUsIDEzMiwgMTgsIDE5LCA3MywgCi0gICAgMjM1LCAxMzAsIDE4LCAxOSwgNzMsIDIzNSwgMTE0LCAxOCwgMTksIDIyMSwgMjExLCAyMzUsIDExNCwgMTgsIDE5LCA3MywgCi0gICAgMjM1LCAxNDcsIDE4LCAxOSwgNzMsIDIzNSwgODcsIDE4LCAxOSwgNzMsIDIzNSwgOTEsIDE4LCAxOSwgNzMsIDIzNSwgMTAxLCAKLSAgICAxOCwgMTksIDczLCAyMzUsIDEwMCwgMTgsIDE5LCA3MywgMjM1LCA5OSwgMTgsIDE5LCA3MywgMjM1LCAxMDIsIDE4LCAxOSwgCi0gICAgNzMsIDIzMiwgMTAzLCAxOCwgMTksIDczLCAyMzIsIDE2MiwgMTgsIDE5LCA3MywgMjMzLCA2NCwgMTgsIDE5LCA3MywgMjMzLCAKLSAgICA1NiwgMTgsIDE5LCA3MywgMjMyLCAyNDcsIDE4LCAxOSwgNzMsIDIzMywgMTQxLCAxOCwgMTksIDczLCAyNDcsIDE1NywgMTgsIAotICAgIDE5LCA3MywgMjQ3LCAxNTgsIDE4LCAxOSwgNzMsIDI0NywgMTYzLCAxOCwgMTksIDczLCAyNDcsIDE2MiwgMTgsIDE5LCA3MywgCi0gICAgMjQ3LCAxNTksIDE4LCAxOSwgNzMsIDI0NywgMTY0LCAxOCwgMTksIDczLCAyMzIsIDI1MCwgMTgsIDE5LCA3MywgMjMyLCAKLSAgICAyNTIsIDE4LCAxOSwgNzMsIDIzMywgMCwgMTgsIDE5LCA3MywgMjMyLCAyNTUsIDE4LCAxOSwgNzMsIDIzMiwgMjU0LCAxOCwgCi0gICAgMTksIDczLCAyMzMsIDQsIDE4LCAxOSwgNzMsIDIxNiwgNTEsIDE4LCAxOSwgNzMsIDIxNiwgNTMsIDE4LCAxOSwgNzMsIAotICAgIDIxNiwgNTYsIDE4LCAxOSwgNzMsIDIxNiwgNTUsIDE4LCAxOSwgNzMsIDIxNiwgNTQsIDE4LCAxOSwgNzMsIDIxNiwgNTcsIAotICAgIDE4LCAxOSwgNzMsIDIxNiwgNDYsIDE4LCAxOSwgNzMsIDIxNiwgNDcsIDE4LCAxOSwgNzMsIDIxNiwgNTksIDE4LCAxOSwgCi0gICAgNzMsIDIxNiwgNTgsIDE4LCAxOSwgNzMsIDIxNiwgNDgsIDE4LCAxOSwgNzMsIDIxNiwgNjAsIDE4LCAxOSwgNzMsIDIxMCwgCi0gICAgMTMsIDE4LCAxOSwgNzMsIDIxMCwgMjMsIDE4LCAxOSwgNzMsIDIxMCwgOTQsIDE4LCAxOSwgNzMsIDIxMCwgOTIsIDE4LCAKLSAgICAxOSwgNzMsIDIxMCwgNDQsIDE4LCAxOSwgNzMsIDIxMCwgMTE2LCAxOCwgMTksIDczLCAyMTAsIDE1OSwgMTgsIDE5LCA3MywgCi0gICAgNjUsIDIxMCwgMTU5LCAxOCwgMTksIDczLCAyNDYsIDM2LCAxOCwgMTksIDczLCAyNDYsIDM3LCAxOCwgMTksIDczLCAyNDYsIAotICAgIDQ0LCAxOCwgMTksIDczLCAyNDYsIDQzLCAxOCwgMTksIDczLCAyNDYsIDM5LCAxOCwgMTksIDczLCAyNDYsIDQ2LCAxOCwgCi0gICAgMTksIDczLCAyMTgsIDg0LCAxOCwgMTksIDczLCAyMTksIDYwLCAxOCwgMTksIDczLCAyMjEsIDE4MywgMTgsIDE5LCA3MywgCi0gICAgMjIxLCAxNzIsIDE4LCAxOSwgNzMsIDIxOSwgMTkzLCAxOCwgMTksIDczLCAyMDYsIDE4LCAxOSwgNzMsIDIxOSwgMjI3LCAKLSAgICAxOCwgMTksIDczLCAyMjAsIDksIDE4LCAxOSwgNzMsIDIyMCwgNjUsIDE4LCAxOSwgNzMsIDIyMCwgNjMsIDE4LCAxOSwgNzMsIAotICAgIDIyMCwgMzQsIDE4LCAxOSwgNzMsIDIyMCwgMTA0LCAxOCwgMTksIDczLCAyMjAsIDEwNiwgMTgsIDE5LCA3MywgMjE1LCAKLSAgICAxNjQsIDE4LCAxOSwgNzMsIDIxNSwgMTY3LCAxOCwgMTksIDczLCAyMTUsIDE3OSwgMTgsIDE5LCA3MywgMjE1LCAxNzgsIAotICAgIDE4LCAxOSwgNzMsIDIxNSwgMTY4LCAxOCwgMTksIDczLCAyMTUsIDE4NCwgMTgsIDE5LCA3MywgMjUwLCA3NywgMTgsIDE5LCAKLSAgICA3MywgMjUwLCA5NCwgMTgsIDE5LCA3MywgMjUwLCAxMzksIDE4LCAxOSwgNzMsIDI1MCwgMTM2LCAxOCwgMTksIDczLCAyNTAsIAotICAgIDExOCwgMTgsIDE5LCA3MywgMjUwLCAxNjUsIDE4LCAxOSwgNzMsIDIxNSwgMTI3LCAxOCwgMTksIDczLCAyMTUsIDEyOCwgCi0gICAgMTgsIDE5LCA3MywgMjE1LCAxMzEsIDE4LCAxOSwgNzMsIDIxNSwgMTMwLCAxOCwgMTksIDczLCAyMTUsIDEyOSwgMTgsIDE5LCAKLSAgICA3MywgMjE1LCAxMzIsIDE4LCAxOSwgMjUwLCAxMTksIDUwLCAxOCwgMTksIDI0MywgMjM2LCAyMTgsIDEzMSwgMTgsIDE5LCAKLSAgICAyMjQsIDgzLCAxOCwgMTksIDIyOSwgNzgsIDE4LCAxOSwgMjI4LCAxMDUsIDE4LCAxOSwgMjI4LCAxMDQsIDE4LCAxOSwgCi0gICAgMjI4LCAxMDMsIDE4LCAxOSwgMjI4LCAxMDIsIDE4LCAxOSwgMjI4LCAxMDcsIDE4LCAxOSwgMjI4LCAxMDYsIDE4LCAxOSwgCi0gICAgMjExLCAyMTMsIDIxNiwgMTI2LCAxOCwgMTksIDIxMSwgMjEzLCAyMTYsIDEyNSwgMTgsIDE5LCAyMTEsIDIxMywgMjE2LCAKLSAgICAxMjQsIDE4LCAxOSwgMjExLCAyMTMsIDIxNiwgMTIzLCAxOCwgMTksIDIxMSwgMjEzLCAyMTYsIDEyMiwgMTgsIDE5LCAyMTEsIAotICAgIDIxMywgMjE2LCAxMjksIDE4LCAxOSwgMjExLCAyMTMsIDIxNiwgMTI4LCAxOCwgMTksIDIxMSwgMjEzLCA0MCwgMjE2LCAKLSAgICAyMTEsIDE4LCAxOSwgMjUxLCAyMjYsIDIxMiwgOTgsIDIyNiwgMjMwLCAyMTksIDIxLCA3OSwgMjI2LCAyMzAsIDEsIDI1MiwgCi0gICAgNTYsIDIyNiwgMjMwLCAxLCAyMzIsIDkyLCAyMjYsIDIzMCwgMSwgMjQ0LCAxNTksIDIyNiwgMjMwLCAxLCAyMjIsIDE3LCAKLSAgICAyMjYsIDIzMCwgMSwgMjI4LCAxOTgsIDIyNiwgMjMwLCAxLCAyMTQsIDIyNiwgMjI2LCAyMzAsIDEsIDI0OCwgMjA1LCAyMjYsIAotICAgIDIzMCwgMSwgMjE2LCA4MSwgMjI2LCAyMzAsIDEsIDI0OSwgMjM3LCAyMjYsIDIzMCwgMSwgMjUwLCAxODgsIDIyNiwgMjMwLCAKLSAgICAxLCAyMzAsIDk2LCAyMjYsIDIzMCwgMSwgMjQyLCAxNjMsIDIyNiwgMjMwLCAxLCAyMjksIDY4LCAyMjYsIDIzMCwgMSwgCi0gICAgMjE4LCAxMjQsIDIyNiwgMjMwLCAxLCAyMjIsIDEzNywgMjI2LCAyMzAsIDEsIDI1NCwgMjA3LCAyMjYsIDIzMCwgMSwgMjI2LCAKLSAgICAxOTEsIDIyNiwgMjMwLCAxLCAyMTQsIDE1MCwgMjI2LCAyMzAsIDEsIDI0NSwgMjM5LCAyMjYsIDIzMCwgMSwgMjM1LCAxOTUsIAotICAgIDIyNiwgMjMwLCAxLCAyNDUsIDI0MCwgMjI2LCAyMzAsIDEsIDIyNiwgMTYyLCAyMjYsIDIzMCwgMSwgMjE0LCAyMDYsIDIyNiwgCi0gICAgMjMwLCAxLCAyMzYsIDQ2LCAyMjYsIDIzMCwgMSwgMjQ1LCAyMzcsIDIyNiwgMjMwLCAxLCAyMjUsIDIwNSwgMjI2LCAyMzAsIAotICAgIDI0NCwgMTU4LCA3OSwgMjI2LCAyMzAsIDIyMywgNTIsIDI0NCwgMTU4LCA3OSwgMTc4LCAxLCAyNDQsIDE0OSwgMjQ0LCAKLSAgICAxNDEsIDI0NCwgMTYzLCAyNDUsIDE0LCAxNzgsIDEsIDIxNCwgMTA1LCAxNzgsIDEsIDIxNCwgMTM1LCAyMTQsIDE1MSwgNjksIAotICAgIDE3OCwgMSwgMjEwLCAyMTQsIDE3OCwgMSwgMjExLCAxMTcsIDE3OCwgMSwgMjEyLCA5OCwgMTc4LCAxLCAyMTYsIDEzMSwgCi0gICAgMjE2LCAxMzAsIDIxNiwgMTUyLCAxNzgsIDEsIDI0NSwgNjcsIDE3OCwgMSwgMjU0LCAxMDEsIDYxLCAxNzgsIDEsIDIyNiwgCi0gICAgMTQ3LCA3OCwgMTc4LCAxLCAyNTUsIDI2LCA2MSwgMTc4LCAxLCAyNTQsIDIzNiwgMTc4LCAxLCAyMzIsIDEzOSwgNzgsIAotICAgIDE3OCwgMSwgMjE5LCAyNDYsIDc4LCAxNzgsIDEsIDc4LCAxNzgsIDEsIDIyNiwgMjM4LCAxNzgsIDEsIDIyNiwgMjAwLCAKLSAgICAxNzgsIDEsIDIyMywgMTY3LCAyMjMsIDE4MCwgMjIzLCA5NywgMTUzLCAxNzgsIDEsIDIzNCwgMTk5LCAxNzgsIDEsIDI1MCwgCi0gICAgMTg1LCAxNzgsIDEsIDIzNCwgMjAwLCAyMzUsIDI5LCAxNzgsIDEsIDI0MywgMjA5LCAxNzgsIDEsIDI0NSwgMTQ2LCAxNzgsIAotICAgIDEsIDI0MywgNjUsIDI0MiwgNzMsIDI0MywgMjA5LCAxNzgsIDEsIDI0MywgMTAzLCAxNzgsIDEsIDIxMSwgMTg4LCAyMTEsIAotICAgIDE4MiwgMjEyLCA5OCwgMTc4LCAxLCAyNDIsIDQ1LCAyNDIsIDY3LCAxNzgsIDEsIDI0MiwgNDksIDI0MiwgNjcsIDE3OCwgMSwgCi0gICAgMjMyLCAxNDEsIDI0MiwgNjcsIDE3OCwgMSwgMjE5LCAyNDksIDI0MiwgNjcsIDE3OCwgMSwgMjI5LCAxOTAsIDIyNywgMTYxLCAKLSAgICAyMjksIDE5MSwgMjMwLCAzMCwgMTc4LCAxLCAyMTksIDI0NywgMjMwLCAzMCwgMTc4LCAxLCAyNDYsIDEyMywgMTc4LCAxLCAKLSAgICAyMzUsIDE3NSwgMjM1LCAxNzksIDIzNSwgMTY4LCA3NCwgMTc4LCAxLCA3NiwgMTc4LCAxLCAyMzUsIDEyMywgMjM1LCAxNTAsIAotICAgIDE3OCwgMSwgMjQzLCA1MCwgMTc4LCAxLCAyMzIsIDE0MiwgMjU0LCAyNTIsIDE3OCwgMSwgMjE5LCAyNTEsIDYxLCAxNzgsIAotICAgIDEsIDIzNSwgMTYwLCAyNDUsIDEyMSwgMTc4LCAxLCAyMjUsIDE2NywgMjI1LCAxODksIDIyNiwgMTA5LCAxNzgsIDEsIDI1NCwgCi0gICAgMTcyLCAyNDUsIDExOSwgMTc4LCAxLCAyMTksIDI2LCAyMjIsIDkzLCAxNzgsIDEsIDIxOSwgMTgxLCAyMzIsIDEzOCwgMjIyLCAKLSAgICA5MywgMTc4LCAxLCAyMTksIDI0NSwgMjIyLCA5MywgMTc4LCAxLCAyNTEsIDc0LCAxNzgsIDEsIDIxMCwgMTU5LCAxNzgsIDEsIAotICAgIDIxNiwgNjQsIDIxNiwgNzQsIDIxNSwgNDEsIDIxNywgMTUzLCAxNzgsIDEsIDIxOSwgMjQ0LCAyMTcsIDE1MywgMTc4LCAxLCAKLSAgICAyNDksIDY4LCAxNzgsIDEsIDI1MiwgMzksIDI1MiwgNDIsIDI1MSwgMjMyLCAyNTMsIDE2NiwgMTc4LCAxLCAyMTksIDI1MCwgCi0gICAgMjUzLCAxNjYsIDE3OCwgMSwgMjQ2LCAxMjIsIDE3OCwgMSwgMjI2LCAxNzUsIDE3OCwgMSwgMjQ1LCAyMDQsIDI0NSwgMjA2LCAKLSAgICA3NiwgMTc4LCAxLCAyMzEsIDE4MywgMjMxLCAxOTEsIDE5NCwgMTc4LCAxLCAyMzIsIDE0MCwgMTk0LCAxNzgsIDEsIDIxOSwgCi0gICAgMjQ4LCAxOTQsIDE3OCwgMSwgMjMzLCA3OSwgMjMzLCAxMjAsIDIzMiwgMTQ5LCAxNTYsIDE3OCwgMSwgMjQ2LCAxMjQsIAotICAgIDE3OCwgMSwgMjM1LCAyMzcsIDE3OCwgMSwgMjM1LCAyMzgsIDE3OCwgMSwgMjQ4LCAyMTgsIDI0OCwgMjIzLCAyNDksIDY4LCAKLSAgICAxNzgsIDEsIDIyNiwgMTQyLCAyNDUsIDY2LCA3OCwgMTc4LCAxLCAyNDUsIDIzNSwgMTc4LCAxLCAyMzUsIDE5NCwgMTc4LCAKLSAgICAxLCAyNDksIDg2LCAxNzgsIDEsIDI1MSwgMjUsIDE3OCwgMSwgMjUwLCAxOTcsIDE3OCwgMSwgMjE4LCAxNjMsIDE3OCwgMSwgCi0gICAgMjMyLCAxMzcsIDE3OCwgMSwgMjE5LCAyNDMsIDE3OCwgMSwgMjQwLCAxMTcsIDE3OCwgMSwgMjI0LCA5OSwgMTc4LCAxLCAKLSAgICAyMTEsIDE3OCwgMTc4LCAyMTksIDE1NywgMjI0LCAxNDMsIDE3OCwgMjMwLCA5MCwgMjI0LCAxNDMsIDE3OCwgMjQ5LCAxMzksIAotICAgIDIyNCwgMTQzLCAxNzgsIDI1NCwgMTQsIDg3LCAxNzgsIDIxNSwgODIsIDg3LCAxNzgsIDI1MiwgNTQsIDg3LCAyMTcsIDg0LCAKLSAgICAxLCA2MSwgMjE3LCA4NCwgMSwgNzQsIDIxNywgODQsIDEsIDY5LCAyMTcsIDg0LCAxLCAxNzYsIDIxNywgODQsIDEsIDI0MywgCi0gICAgMTQyLCAyMTcsIDg0LCAxLCAyMjksIDgyLCAyMTcsIDg0LCAxLCAyMTcsIDEwNiwgMjE3LCA4NCwgMSwgMjQ4LCAyMjksIAotICAgIDIxNywgODQsIDEsIDE5OCwgMjE3LCA4NCwgMSwgMTkxLCAyMTcsIDg0LCAxLCAyNTIsIDE5OSwgMjE3LCA4NCwgMSwgMTg2LCAKLSAgICAyMTcsIDg0LCAxLCAxOTIsIDIxNywgODQsIDEsIDIzMywgMTQxLCAyMTcsIDg0LCAxLCAyMTIsIDY1LCAyMTcsIDg0LCAxLCAKLSAgICAyMDYsIDIxNywgODQsIDEsIDE2MiwgMjE3LCA4NCwgMjUsIDUsIDc0LCAyMTcsIDg0LCAyNSwgNSwgNjksIDIxNywgODQsIDUsIAotICAgIDIxMywgMTUyLCAyNDIsIDE0LCAxLCA2MSwgMjQyLCAxNCwgMSwgNzQsIDI0MiwgMTQsIDEsIDY5LCAyNDIsIDE0LCAxLCAKLSAgICAxNzYsIDI0MiwgMTQsIDEsIDI0MywgMTQyLCAyNDIsIDE0LCAxLCAyMjksIDgyLCAyNDIsIDE0LCAxLCAyMTcsIDEwNiwgCi0gICAgMjQyLCAxNCwgMSwgMjQ4LCAyMjksIDI0MiwgMTQsIDEsIDE5OCwgMjQyLCAxNCwgMSwgMTkxLCAyNDIsIDE0LCAxLCAyNTIsIAotICAgIDE5OSwgMjQyLCAxNCwgMSwgMTg2LCAyNDIsIDE0LCAxLCAxOTIsIDI0MiwgMTQsIDEsIDIwNSwgMjQyLCAxNCwgMSwgMjMzLCAKLSAgICAxNDEsIDI0MiwgMTQsIDEsIDIxMiwgNjUsIDI0MiwgMTQsIDEsIDIwNiwgMjQyLCAxNCwgMSwgMTYyLCAyNDIsIDE0LCAyNSwgCi0gICAgNSwgNzQsIDI0MiwgMTQsIDI1LCA1LCA2OSwgMjQyLCAxNCwgNSwgMjI2LCA1MywgMjI1LCAxMjksIDIxOSwgMTU3LCAyMjQsIAotICAgIDE0MywgMjI1LCAxMjksIDUyLCAyMjQsIDE0MywgMjUxLCAxMjgsIDEsIDYxLCAyNTEsIDEyOCwgMSwgNzQsIDI1MSwgMTI4LCAKLSAgICAxLCA2OSwgMjUxLCAxMjgsIDEsIDE3NiwgMjUxLCAxMjgsIDEsIDI0MywgMTQyLCAyNTEsIDEyOCwgMSwgMjI5LCA4MiwgCi0gICAgMjUxLCAxMjgsIDEsIDIxNywgMTA2LCAyNTEsIDEyOCwgMSwgMjQ4LCAyMjksIDI1MSwgMTI4LCAxLCAxOTgsIDI1MSwgMTI4LCAKLSAgICAxLCAxOTEsIDI1MSwgMTI4LCAxLCAyNTIsIDE5OSwgMjUxLCAxMjgsIDEsIDE4NiwgMjUxLCAxMjgsIDEsIDE5MiwgMjUxLCAKLSAgICAxMjgsIDEsIDIwNSwgMjUxLCAxMjgsIDEsIDIzMywgMTQxLCAyNTEsIDEyOCwgMSwgMjEyLCA2NSwgMjUxLCAxMjgsIDEsIAotICAgIDIwNiwgMjUxLCAxMjgsIDEsIDE2MiwgMjUxLCAxMjgsIDI1LCA1LCA3NCwgMjUxLCAxMjgsIDI1LCA1LCA2OSwgMjE3LCA4MywgCi0gICAgMSwgNjEsIDIxNywgODMsIDEsIDc0LCAyMTcsIDgzLCAxLCA2OSwgMjE3LCA4MywgMSwgMTc2LCAyMTcsIDgzLCAxLCAyNDMsIAotICAgIDE0MiwgMjE3LCA4MywgMSwgMjI5LCA4MiwgMjE3LCA4MywgMSwgMjE3LCAxMDYsIDIxNywgODMsIDEsIDI0OCwgMjI5LCAKLSAgICAyMTcsIDgzLCAxLCAxOTgsIDIxNywgODMsIDEsIDE5MSwgMjE3LCA4MywgMSwgMjUyLCAxOTksIDIxNywgODMsIDEsIDE4NiwgCi0gICAgMjE3LCA4MywgMSwgMTkyLCAyMTcsIDgzLCAxLCAyMzMsIDE0MSwgMjE3LCA4MywgMSwgMjEyLCA2NSwgMjE3LCA4MywgMSwgCi0gICAgMjA2LCAyMTcsIDgzLCAyNSwgNSwgNzQsIDIxNywgODMsIDI1LCA1LCA2OSwgNzAsIDEsIDE3NiwgNzAsIDEsIDIzNCwgMTM4LCAKLSAgICA3MCwgMSwgMjM0LCAzNCwgNzAsIDEsIDIzNCwgMTExLCA3MCwgMSwgMjI5LCA5LCA3MCwgMSwgMjUxLCA0MSwgNzAsIDEsIAotICAgIDI1MCwgMTY1LCA3MCwgMSwgMjQ5LCAyNDYsIDcwLCAxLCAyNTAsIDk0LCA3MCwgMSwgMjI3LCAxMzgsIDcwLCAxLCAyNDgsIAotICAgIDIyOSwgNzAsIDEsIDIxNSwgMTQ1LCA3MCwgMSwgMjQ3LCAxNTMsIDcwLCAxLCAyMTUsIDE0MCwgNzAsIDEsIDIyOCwgODUsIAotICAgIDcwLCAxLCAyMTcsIDEwNiwgNzAsIDEsIDIxNiwgMjA5LCA3MCwgMSwgMTEyLCA3MCwgMSwgMjE2LCAxNTcsIDcwLCAxLCAKLSAgICAyMjgsIDc5LCA3MCwgMSwgMjUyLCAxOTksIDcwLCAxLCAyMjUsIDE1MCwgNzAsIDEsIDIyNSwgMTksIDcwLCAxLCAyMjUsIAotICAgIDEyNCwgNzAsIDEsIDIzMCwgMTY2LCA3MCwgMSwgMjEwLCAyNDQsIDcwLCAxLCAyMjIsIDIxMywgNzAsIDEsIDIzMiwgMTYyLCAKLSAgICA3MCwgMSwgMjEzLCAxMzgsIDcwLCAxLCAyMjAsIDEwNCwgNzAsIDEsIDIxOCwgMTg2LCA3MCwgMSwgMjA2LCA3MCwgMSwgCi0gICAgMTYyLCA3MCwgMSwgMjMzLCAxNDEsIDcwLCAxLCAyMjQsIDkxLCA3MCwgMjM1LCAyNTAsIDI1LCAyMjQsIDc3LCA3MCwgMjM1LCAKLSAgICAyNTAsIDI1LCAyMjQsIDkwLCA3MCwgMjM1LCAyNTAsIDI1LCAyMjQsIDU2LCA3MCwgMjM1LCAyNTAsIDI1LCAyMjQsIDUxLCAKLSAgICA3MCwgMjM1LCAyNTAsIDI1LCAyMjQsIDMzLCA3MCwgMjM1LCAyNTAsIDI1LCAyMjQsIDUsIDcwLCAyMzUsIDI1MCwgMjUsIAotICAgIDIyMywgMjQ5LCA3MCwgMjM1LCAyNTAsIDI1LCAyMjMsIDI0OCwgNzAsIDIzNSwgMjUwLCAyNSwgMjIyLCAxMDIsIDcwLCAKLSAgICAyMzUsIDI1MCwgMjUsIDIyMiwgOTUsIDcwLCAyMzUsIDI1MCwgMjUsIDIzMiwgNjcsIDcwLCAyMzUsIDI1MCwgMjUsIDIzMiwgCi0gICAgNTcsIDcwLCAyMzUsIDI1MCwgMjUsIDIyNCwgNzIsIDcwLCAyMzUsIDI1MCwgMjUsIDIyNCwgODMsIDcwLCAyMzUsIDI1MCwgCi0gICAgMjUsIDIyNCwgNDEsIDIxNSwgNDksIDExMSwgNzAsIDIzNSwgMjUwLCAyNSwgMjI0LCA0MSwgMjE1LCA0OSwgMTA1LCA3MCwgCi0gICAgMjM1LCAyNTAsIDI1LCAyMjQsIDczLCA3MCwgMjUsIDIzNSwgMjM2LCAyNTQsIDUzLCA3MCwgMjUsIDIzNSwgMjM2LCAyNTUsIAotICAgIDgyLCA3MCwgMjUsIDUsIDI1NSwgODIsIDcwLCAyNSwgNSwgNzQsIDcwLCAyNSwgNSwgMjM2LCA0MCwgNzAsIDI1LCA1LCAKLSAgICAyMTEsIDExNywgNzAsIDI1LCA1LCAyMTAsIDE2OSwgNzAsIDI1LCA1LCA2OSwgNzAsIDI1LCA1LCAyMTQsIDExOCwgNzAsIAotICAgIDI1LCA1LCAyMTQsIDIyOSwgNzAsIDI1LCA1LCAyMjYsIDIzOCwgNzAsIDI1LCA1LCAxOTIsIDcwLCAyNSwgNSwgMjM2LCA2NywgCi0gICAgNzAsIDI1LCA1LCA3NiwgNzAsIDI1LCA1LCAyNTQsIDI1MiwgNzAsIDI1LCA1LCAyNTQsIDIxMCwgNzAsIDI1LCA1LCAyMjYsIAotICAgIDE4NywgNzAsIDI1LCA1LCAyNTMsIDIwMCwgNzAsIDUsIDIyOCwgMjExLCA3MCwgNSwgMjIzLCAxMjksIDcwLCA1LCAyMTAsIAotICAgIDE4MCwgNzAsIDUsIDIzMCwgNTcsIDcwLCA1LCAyMTUsIDIxNCwgNzAsIDUsIDI1MiwgMTUxLCA3MCwgNSwgMjIyLCAyMDgsIAotICAgIDcwLCA1LCAyMTYsIDQxLCA3MCwgNSwgMjM0LCAyNDcsIDcwLCA1LCAyNTQsIDIxMiwgNzAsIDUsIDIyMSwgMjQ2LCAyMjEsIAotICAgIDI0MCwgNzAsIDUsIDIxMywgMTQ5LCA3MCwgNSwgMjQ5LCAyNDAsIDcwLCA1LCAyNTIsIDEyNSwgNzAsIDUsIDIzNCwgMTMxLCAKLSAgICA3MCwgNSwgMjUyLCAxNDUsIDcwLCA1LCAyNTEsIDE3LCAyMjUsIDc1LCAyMzMsIDE5MywgNzAsIDUsIDIzMywgMzYsIDIxNiwgCi0gICAgMTgsIDcwLCA1LCAyNTIsIDI4LCA3MCwgNSwgMjI1LCAxMjYsIDIzMCwgMTA0LCA3MCwgNSwgMjM0LCAxNSwgNzAsIDI0OSwgCi0gICAgMTA2LCAxNiwgMjIzLCAzMSwgNzAsIDUsIDI1MywgMTgyLCA3MCwgNSwgMjUzLCAyMDMsIDcwLCAyMSwgMjEwLCA4NiwgNzAsIAotICAgIDIxLCAxMTEsIDcwLCAyMSwgMTA1LCA3MCwgMjEsIDE1OCwgNzAsIDIxLCAxNjEsIDcwLCAyMSwgMTkwLCA3MCwgMjEsIDE5NSwgCi0gICAgNzAsIDIxLCAxOTksIDcwLCAyMSwgMTk2LCA3MCwgMjEsIDIwMSwgNzAsIDE2LCAyMzMsIDM2LCAyNTMsIDIwNSwgMjE5LCAKLSAgICA0NSwgNzAsIDE2LCAyMzMsIDM2LCAyNTMsIDIwNSwgMjMwLCA3NiwgNzAsIDE2LCAyMzMsIDM2LCAyNTMsIDIwNSwgMjI1LCAKLSAgICA3NCwgNzAsIDE2LCAyMzMsIDM2LCAyNTMsIDIwNSwgMjUyLCA1NywgNzAsIDE2LCAyMzMsIDM2LCAyNTMsIDIwNSwgMjUxLCAKLSAgICAxMTEsIDcwLCAxNiwgMjMzLCAzNiwgMjUzLCAyMDUsIDIyNCwgMjE4LCA3MCwgMTYsIDIzMywgMzYsIDI1MywgMjA1LCAyMjQsIAotICAgIDIxMiwgNzAsIDE2LCAyMzMsIDM2LCAyNTMsIDIwNSwgMjI0LCAyMTAsIDcwLCAxNiwgMjMzLCAzNiwgMjUzLCAyMDUsIDIyNCwgCi0gICAgMjE2LCA3MCwgMTYsIDIzMywgMzYsIDI1MywgMjA1LCAyMjQsIDIxNCwgODMsIDI1MSwgMjQ0LCA4MywgMjQ1LCAxNzEsIDgzLCAKLSAgICAyNDksIDIyNywgODMsIDI0MywgMjM2LCAyMTgsIDEzMSwgODMsIDI0OSwgMjM0LCA4MywgMjQ0LCAxOSwgMjQ3LCAxMjYsIAotICAgIDgzLCAyMTYsIDQwLCAyMTksIDU0LCAyNDAsIDE3NSwgODMsIDIxOSwgMTkyLCAzLCAyNTEsIDE4MCwgMjMxLCAxNTksIDgzLCAKLSAgICAyMzEsIDE4OCwgMjQ5LCAyMjcsIDgzLCAyMzEsIDE4OCwgMjQzLCAyMzYsIDIxOCwgMTMxLCA4MywgMjI4LCAxOTYsIDgzLCAKLSAgICAyNDQsIDUsIDQ1LCAyMjEsIDE1OSwgMTExLCA4MywgMjQ0LCA1LCA0NSwgMjIxLCAxNTksIDEwNSwgODMsIDI0NCwgNSwgNDUsIAotICAgIDIyMSwgMTU5LCAxNTgsIDgzLCAyNSwgMjIwLCAxMzksIDgzLCAyMSwgMjEwLCA4NiwgODMsIDIxLCAxMTEsIDgzLCAyMSwgCi0gICAgMTA1LCA4MywgMjEsIDE1OCwgODMsIDIxLCAxNjEsIDgzLCAyMSwgMTkwLCA4MywgMjEsIDE5NSwgODMsIDIxLCAxOTksIDgzLCAKLSAgICAyMSwgMTk2LCA4MywgMjEsIDIwMSwgODMsIDEsIDYxLCA4MywgMSwgNzYsIDgzLCAxLCA3NCwgODMsIDEsIDc4LCA4MywgMSwgCi0gICAgNjksIDgzLCAxLCAyMjYsIDIzOCwgODMsIDEsIDIxNCwgMjE0LCA4MywgMSwgMjQ1LCAyMTcsIDgzLCAxLCAxOTgsIDgzLCAxLCAKLSAgICAyNTQsIDEyMywgODMsIDEsIDI1MiwgMTk5LCA4MywgMSwgMTkxLCA4MywgMSwgMjI0LCA5MSwgODMsIDEsIDI0MywgMTQyLCAKLSAgICA4MywgMSwgMTg2LCA4MywgMSwgMjMzLCAxNDEsIDgzLCAxLCAyMDYsIDgzLCAxLCAyMjAsIDEwNCwgODMsIDEsIDIxNywgCi0gICAgMTA2LCA4MywgMSwgMjQ4LCAyMjksIDgzLCAxLCAyNTAsIDE2NSwgODMsIDEsIDIzNSwgMTQ3LCA4MywgMSwgMTkyLCA4MywgCi0gICAgMSwgMjA1LCA4MywgMSwgMjEyLCA2NSwgODMsIDEsIDI0NCwgMjA0LCA4MywgMSwgMTc2LCA4MywgMSwgMjM0LCAxMzgsIDgzLCAKLSAgICAxLCAyMTUsIDE4NCwgODMsIDEsIDIxMCwgMTE2LCA4MywgMSwgMjQyLCA1MywgODMsIDEsIDIxMCwgMTYsIDgzLCAxLCAyMzMsIAotICAgIDQsIDgzLCAxLCAyMTAsIDY5LCA4MywgMSwgMjUwLCAxMTgsIDgzLCAxLCAyMTYsIDQwLCAyMDAsIDI1LCA1MCwgODMsIDEsIAotICAgIDIxNiwgNDAsIDc2LCA4MywgMSwgMjE2LCA0MCwgNzQsIDgzLCAxLCAyMTYsIDQwLCA3OCwgODMsIDEsIDIxNiwgNDAsIDY5LCAKLSAgICA4MywgMSwgMjE2LCA0MCwgMjI2LCAyMzgsIDgzLCAxLCAyMTYsIDQwLCAyMTQsIDIxNCwgODMsIDEsIDIxNiwgNDAsIDI1NCwgCi0gICAgMTIzLCA4MywgMSwgMjE2LCA0MCwgMjUyLCAxOTksIDgzLCAxLCAyMTYsIDQwLCAxOTEsIDgzLCAxLCAyMTYsIDQwLCAyMjQsIAotICAgIDkxLCA4MywgMSwgMjE2LCA0MCwgMjQzLCAxNDIsIDgzLCAxLCAyMTYsIDQwLCAxODYsIDgzLCAxLCAyMTYsIDQwLCAyMTcsIAotICAgIDEwNiwgODMsIDEsIDIxNiwgNDAsIDI0OCwgMjI5LCA4MywgMSwgMjE2LCA0MCwgMjUwLCAxNjUsIDgzLCAxLCAyMTYsIDQwLCAKLSAgICAyMzUsIDE0NywgODMsIDEsIDIxNiwgNDAsIDIxNSwgMTg0LCA4MywgMSwgMjE2LCA0MCwgMTkyLCA4MywgMSwgMjE2LCA0MCwgCi0gICAgMjEyLCA2NSwgODMsIDEsIDIxNiwgNDAsIDE3NiwgODMsIDEsIDIxNiwgNDAsIDI0MywgMTM5LCA4MywgMSwgMjE2LCA0MCwgCi0gICAgMjQyLCA1MywgODMsIDEsIDIxNiwgNDAsIDIzNSwgMTEzLCA4MywgMSwgMjE2LCA0MCwgMjI4LCAyMzYsIDgzLCAxLCAyMTYsIAotICAgIDQwLCAyNDYsIDQ2LCA4MywgMSwgMjE5LCAxOTIsIDc2LCA4MywgMSwgMjE5LCAxOTIsIDc0LCA4MywgMSwgMjE5LCAxOTIsIAotICAgIDIzNSwgMTU4LCA4MywgMSwgMjE5LCAxOTIsIDIxNCwgMjE0LCA4MywgMSwgMjE5LCAxOTIsIDY5LCA4MywgMSwgMjE5LCAKLSAgICAxOTIsIDI1NCwgMTIzLCA4MywgMSwgMjE5LCAxOTIsIDE3NiwgODMsIDEsIDIxOSwgMTkyLCAyNDMsIDE0MiwgODMsIDEsIAotICAgIDIxOSwgMTkyLCAxNjIsIDgzLCAxLCAyMTksIDE5MiwgMTkxLCA4MywgMSwgMjE5LCAxOTIsIDIyMCwgMTA0LCA4MywgMSwgCi0gICAgMjE5LCAxOTIsIDIxNywgMTA2LCA4MywgMSwgMjE5LCAxOTIsIDI0OCwgMjI5LCA4MywgMSwgMjE5LCAxOTIsIDIzNSwgMTQ3LCAKLSAgICA4MywgMSwgMjE5LCAxOTIsIDI0NCwgMjA0LCA4MywgMSwgMjE5LCAxOTIsIDI0MywgMTM5LCA4MywgMSwgMjE5LCAxOTIsIAotICAgIDI0MiwgNTMsIDgzLCAxLCAyMTksIDE5MiwgMjE1LCAxODQsIDgzLCAxLCAyMTksIDE5MiwgMjEwLCAxMTYsIDgzLCAxLCAKLSAgICAyMTksIDE5MiwgMjIzLCAxODcsIDgzLCAxLCAyMTksIDE5MiwgMjUwLCAxNjUsIDgzLCAxLCAyMTksIDE5MiwgMjEwLCA4MiwgCi0gICAgODMsIDEsIDIzMSwgMTg4LCA3NCwgODMsIDEsIDIzMSwgMTg4LCAxNzYsIDgzLCAxLCAyMzEsIDE4OCwgMjA1LCA4MywgMSwgCi0gICAgMjMxLCAxODgsIDI0NCwgMjA0LCA4MywgMSwgMjMxLCAxODgsIDIxMCwgODIsIDgzLCAxLCAyNTQsIDE3MSwgMjQzLCAxMjMsIAotICAgIDI1NCwgODQsIDExMSwgODMsIDEsIDI1NCwgMTcxLCAyNDMsIDEyMywgMjEzLCAxNDgsIDExMSwgODMsIDEsIDI1NCwgMTcxLCAKLSAgICAyNDMsIDEyMywgMjQ4LCAxOTQsIDgzLCAxLCAyNTQsIDE3MSwgMjQzLCAxMjMsIDIxNCwgMjI0LCA4MywgMSwgMjU0LCAxNzEsIAotICAgIDI0MywgMTIzLCAyMzUsIDIwMCwgMjE0LCAyMjQsIDgzLCAxLCAyNTQsIDE3MSwgMjQzLCAxMjMsIDI1MiwgMTYzLCA4MywgMSwgCi0gICAgMjU0LCAxNzEsIDI0MywgMTIzLCAxMzQsIDI1MiwgMTYzLCA4MywgMSwgMjU0LCAxNzEsIDI0MywgMTIzLCA2MSwgODMsIDEsIAotICAgIDI1NCwgMTcxLCAyNDMsIDEyMywgNzQsIDgzLCAxLCAyNTQsIDE3MSwgMjQzLCAxMjMsIDE3NiwgODMsIDEsIDI1NCwgMTcxLCAKLSAgICAyNDMsIDEyMywgMjI5LCA4MiwgODMsIDEsIDI1NCwgMTcxLCAyNDMsIDEyMywgMjUxLCA0MSwgODMsIDEsIDI1NCwgMTcxLCAKLSAgICAyNDMsIDEyMywgMjE1LCAxNTcsIDgzLCAxLCAyNTQsIDE3MSwgMjQzLCAxMjMsIDIxNSwgMTQ1LCA4MywgMSwgMjU0LCAxNzEsIAotICAgIDI0MywgMTIzLCAyNDgsIDE0MywgODMsIDEsIDI1NCwgMTcxLCAyNDMsIDEyMywgMjI4LCAxMTUsIDgzLCAxLCAyNTQsIDE3MSwgCi0gICAgMjQzLCAxMjMsIDIxNywgMTA2LCA4MywgMSwgMjU0LCAxNzEsIDI0MywgMTIzLCAyNDgsIDIyOSwgODMsIDEsIDI1NCwgMTcxLCAKLSAgICAyNDMsIDEyMywgMTkxLCA4MywgMSwgMjU0LCAxNzEsIDI0MywgMTIzLCAyMjUsIDE1MCwgODMsIDEsIDI1NCwgMTcxLCAyNDMsIAotICAgIDEyMywgMjE4LCAyMjUsIDgzLCAxLCAyNTQsIDE3MSwgMjQzLCAxMjMsIDIxMCwgODIsIDgzLCAxLCAyNTQsIDE3MSwgMjQzLCAKLSAgICAxMjMsIDIxMCwgMTE2LCA4MywgMSwgMjU0LCAxNzEsIDI0MywgMTIzLCAyNTQsIDIxOCwgODMsIDEsIDIxNiwgNDAsIDI1NCwgCi0gICAgMTcxLCAyNDMsIDEyMywgMjE3LCAxMDYsIDgzLCAxLCAyMTYsIDQwLCAyNTQsIDE3MSwgMjQzLCAxMjMsIDIxMCwgODIsIDgzLCAKLSAgICAxLCAyMzEsIDE4OCwgMjU0LCAxNzEsIDI0MywgMTIzLCAyNDMsIDAsIDgzLCAxLCAyMzEsIDE4OCwgMjU0LCAxNzEsIDI0MywgCi0gICAgMTIzLCAyMjksIDgyLCA4MywgMSwgMjMxLCAxODgsIDI1NCwgMTcxLCAyNDMsIDEyMywgMjUxLCA0MSwgODMsIDEsIDIzMSwgCi0gICAgMTg4LCAyNTQsIDE3MSwgMjQzLCAxMjMsIDIzNSwgMTIwLCA4MywgMSwgMjMxLCAxODgsIDI1NCwgMTcxLCAyNDMsIDEyMywgCi0gICAgMjE1LCAxNTcsIDgzLCAxLCAyMzEsIDE4OCwgMjU0LCAxNzEsIDI0MywgMTIzLCAyNDgsIDEyNywgODMsIDEsIDIzMSwgMTg4LCAKLSAgICAyNTQsIDE3MSwgMjQzLCAxMjMsIDIxNywgMTA2LCA4MywgMSwgMjMxLCAxODgsIDI1NCwgMTcxLCAyNDMsIDEyMywgMjQ4LCAKLSAgICAzMywgODMsIDEsIDIzMSwgMTg4LCAyNTQsIDE3MSwgMjQzLCAxMjMsIDIxOCwgMjI1LCA4MywgMSwgMjMxLCAxODgsIDI1NCwgCi0gICAgMTcxLCAyNDMsIDEyMywgMjQ5LCA4MCwgODMsIDEsIDIzMSwgMTg4LCAyNTQsIDE3MSwgMjQzLCAxMjMsIDIxMCwgODIsIDgzLCAKLSAgICAxLCAyMzEsIDE4OCwgMjU0LCAxNzEsIDI0MywgMTIzLCAyMTAsIDExNiwgODMsIDEsIDI1NCwgMTcxLCAyNDMsIDEyMywgCi0gICAgMTYzLCA2OSwgODMsIDEsIDI1NCwgMTcxLCAyNDMsIDEyMywgMTYzLCAxOTIsIDgzLCAxLCAyMzEsIDE4OCwgMjU0LCAxNzEsIAotICAgIDI0MywgMTIzLCAyNTIsIDI2LCA4MywgMSwgMjU0LCAxNzEsIDI0MywgMTIzLCAyNDgsIDIxOSwgODMsIDEsIDIzMSwgMTg4LCAKLSAgICAyNTQsIDE3MSwgMjQzLCAxMjMsIDIzMywgNCwgMTgsIDE5LCAyMjYsIDExMywgMTgsIDE5LCAyNTMsIDE3NSwgMTgsIDE5LCAKLSAgICAyNTUsIDM3LCAxOCwgMTksIDIxMiwgMjUsIDE4LCAxOSwgMjI0LCAyMjQsIDE4LCAxOSwgMjI1LCAyMzMsIDE4LCAxOSwgCi0gICAgMjI0LCAxMDgsIDE4LCAxOSwgMjE3LCAzMiwgMTgsIDE5LCAyMzQsIDE5NSwgMTgsIDE5LCAyMzMsIDE4NSwgMTgsIDE5LCAKLSAgICAyMzEsIDEzNywgMTgsIDE5LCAyMjgsIDQyLCAxOCwgMTksIDIyOSwgMTg2LCAxOCwgMTksIDIzMywgNzQsIDE4LCAxOSwgCi0gICAgMjE5LCAyNCwgMTgsIDE5LCAyMjEsIDIxMywgMTgsIDE5LCAyMTksIDIzNCwgMTgsIDE5LCAyMjAsIDY4LCAxOCwgMTksIAotICAgIDIxOSwgMjAzLCAxOCwgMTksIDIxMCwgMjIwLCAxOCwgMTksIDIxMSwgNTIsIDE4LCAxOSwgMjIzLCAxMzcsIDE4LCAxOSwgCi0gICAgMjI3LCAxNzUsIDE4LCAxOSwgMjI2LCAyMjAsIDIyNywgMTc1LCAxOCwgMTksIDIyNywgMTc0LCAxOCwgMTksIDIyNiwgMjIwLCAKLSAgICAyMjcsIDE3NCwgMTgsIDE5LCAyMjcsIDE3MywgMTgsIDE5LCAyMjYsIDIyMCwgMjI3LCAxNzMsIDE4LCAxOSwgMjI3LCAxNzIsIAotICAgIDE4LCAxOSwgMjI2LCAyMjAsIDIyNywgMTcyLCAxOCwgMTksIDIyMiwgMTA3LCAxOCwgMTksIDIyMiwgMTA2LCAxOCwgMTksIAotICAgIDIyMiwgMTA1LCAxOCwgMTksIDIyMiwgMTA0LCAxOCwgMTksIDIyMiwgMTAzLCAxOCwgMTksIDIyMiwgMTExLCAxOCwgMTksIAotICAgIDIyNiwgMjIwLCAyMjYsIDEwOSwgMTgsIDE5LCAyMjYsIDIyMCwgMjE3LCAxNTMsIDE4LCAxOSwgMjI2LCAyMjAsIDIzNSwgCi0gICAgMjksIDE4LCAxOSwgMjI2LCAyMjAsIDI1MSwgNzQsIDE4LCAxOSwgMjI2LCAyMjAsIDE5NCwgMTgsIDE5LCAyMjYsIDIyMCwgCi0gICAgMjMwLCAzMCwgMTgsIDE5LCAyMjYsIDIyMCwgMjIyLCA5MywgMTgsIDE5LCAyMjYsIDIyMCwgMjIwLCAxMDYsIDE4LCAxOSwgCi0gICAgMjQ1LCAyMjcsIDIxMiwgOTgsIDE4LCAxOSwgMjEyLCA3LCAyMTIsIDk4LCAxOCwgMTksIDQwLCA0LCAyMjIsIDIzNiwgMTgsIAotICAgIDE5LCA0MCwgMjIzLCAxNjAsIDI0NywgMTI4LCAxOCwgMTksIDIyMywgMjI2LCAyMjIsIDEwOCwgMTgsIDE5LCAxNTksIDIzMiwgCi0gICAgMTMzLCAxOCwgMTksIDE1OSwgMjMzLCAxNDAsIDE4LCAxOSwgMjE2LCAxMjcsIDE4LCAxOSwgMjE2LCAxMjksIDE4LCAxOSwgCi0gICAgMjE1LCAxMzcsIDE4LCAxOSwgMjE1LCAxMzksIDE4LCAxOSwgMjE1LCAxNDQsIDE4LCAxOSwgMjE2LCA1MCwgMTgsIDE5LCAKLSAgICAyMTYsIDUyLCAxOCwgMTksIDIyMSwgMjExLCAyMTksIDIwOCwgMTgsIDE5LCAyMjEsIDIxMSwgMjIwLCAzLCAxOCwgMTksIAotICAgIDIyMSwgMjExLCAyNDEsIDYwLCAxOCwgMTksIDczLCAyNDIsIDgwLCAxOCwgMTksIDczLCAyNDgsIDYwLCAyNDMsIDYyLCAxOCwgCi0gICAgMTksIDczLCAyNDMsIDEzOSwgMTgsIDE5LCA3MywgMjQyLCA4NSwgMTgsIDE5LCAyMjEsIDIxMSwgMjM1LCAzOSwgMTgsIDE5LCAKLSAgICA3MywgMjM1LCAzNywgMTgsIDE5LCAyNTIsIDc2LCAyNDgsIDYwLCAxNTYsIDE4LCAxOSwgMjUyLCA3NiwgMjQ4LCA2MCwgCi0gICAgMTUzLCAxOCwgMTksIDczLCAyNDgsIDU1LCAyMjIsIDkzLCAyMzIsIDIyOSwgMjEzLCAxMjIsIDIzMywgMTYsIDIzMiwgMjI5LCAKLSAgICAxLCAxNzYsIDIzMiwgMjI5LCAxLCAyMzQsIDEzOCwgMjMyLCAyMjksIDEsIDI0MywgMTQyLCAyMzIsIDIyOSwgMSwgMjQzLCAKLSAgICAwLCAyMzIsIDIyOSwgMSwgMjI5LCA4MiwgMjMyLCAyMjksIDEsIDI1MSwgNDEsIDIzMiwgMjI5LCAxLCAyNTAsIDE2NSwgCi0gICAgMjMyLCAyMjksIDEsIDIzNSwgMTQ3LCAyMzIsIDIyOSwgMSwgMjM1LCAxMjAsIDIzMiwgMjI5LCAxLCAyMTEsIDcxLCAyMzIsIAotICAgIDIyOSwgMSwgMjE3LCAxMDYsIDIzMiwgMjI5LCAxLCAyMTYsIDIwOSwgMjMyLCAyMjksIDEsIDI0OCwgMjI5LCAyMzIsIDIyOSwgCi0gICAgMSwgMjQ4LCAzMywgMjMyLCAyMjksIDEsIDE5OCwgMjMyLCAyMjksIDEsIDE5MSwgMjMyLCAyMjksIDEsIDIyNSwgMTUwLCAKLSAgICAyMzIsIDIyOSwgMSwgMjUyLCAxOTksIDIzMiwgMjI5LCAxLCAyNTIsIDI2LCAyMzIsIDIyOSwgMSwgMTg2LCAyMzIsIDIyOSwgCi0gICAgMSwgMTkyLCAyMzIsIDIyOSwgMSwgMjA1LCAyMzIsIDIyOSwgMSwgMjMzLCAxNDEsIDIzMiwgMjI5LCAxLCAyMTIsIDY1LCAKLSAgICAyMzIsIDIyOSwgMSwgMjIwLCAxMDQsIDIzMiwgMjI5LCAxLCAyMTgsIDIyNSwgMjMyLCAyMjksIDEsIDIwNiwgMjMyLCAyMjksIAotICAgIDEsIDE2MiwgMjMyLCAyMjksIDI1LCA1LCA2MSwgMjMyLCAyMjksIDI1LCA1LCA3NCwgMjMyLCAyMjksIDI1LCA1LCA2OSwgCi0gICAgMjMyLCAyMjksIDI1LCA1LCAyNDUsIDIxNywgMjMyLCAyMjksIDI1LCA1LCAyNTQsIDIxMCwgMjMyLCAyMjksIDI1LCA1LCAKLSAgICAyMjYsIDE4NywgMjMyLCAyMjksIDI1LCA1LCAyNTMsIDIwMCwgMjMyLCAyMjksIDI1LCA1LCA3NiwgMjMyLCAyMjksIDI1LCAKLSAgICA1LCA3OCwgMjMyLCAyMjksIDIxOCwgNzQsIDEsIDE5MiwgMjMyLCAyMjksIDIxOCwgNzQsIDEsIDIwNSwgMjMyLCAyMjksIAotICAgIDIxOCwgNzQsIDEsIDIxMiwgNjUsIDIzMiwgMjI5LCA0LCAxLCAxNzYsIDIzMiwgMjI5LCA0LCAxLCAyMjksIDgyLCAyMzIsIAotICAgIDIyOSwgNCwgMSwgMjU0LCA4MywgMjMyLCAyMjksIDQsIDEsIDIxNywgMTA2LCAyMzIsIDIyOSwgNCwgMSwgMTk4LCAyMzIsIAotICAgIDIyOSwgNCwgMSwgMTkxLCAyMzIsIDIyOSwgNCwgMSwgMTg2LCAyMzIsIDIyOSwgNCwgMSwgMjA1LCAyMzIsIDIyOSwgNCwgMSwgCi0gICAgMjMzLCAxNDEsIDIzMiwgMjI5LCA1LCAyMzAsIDk0LCAyMzIsIDIyOSwgNSwgMjM0LCAxNzcsIDIzMiwgMjI5LCA1LCAyMjIsIAotICAgIDM0LCAyMzIsIDIyOSwgNSwgMjMyLCAxMzMsIDIzMiwgMjI5LCAyNDUsIDM5LCA3OSwgMjMyLCAyMjksIDIyNCwgMTYsIDc5LCAKLSAgICAyMzIsIDIyOSwgMjEsIDIxMCwgODYsIDIzMiwgMjI5LCAyMSwgMTExLCAyMzIsIDIyOSwgMjEsIDEwNSwgMjMyLCAyMjksIAotICAgIDIxLCAxNTgsIDIzMiwgMjI5LCAyMSwgMTYxLCAyMzIsIDIyOSwgMjEsIDE5MCwgMjMyLCAyMjksIDIxLCAxOTUsIDIzMiwgCi0gICAgMjI5LCAyMSwgMTk5LCAyMzIsIDIyOSwgMjEsIDE5NiwgMjMyLCAyMjksIDIxLCAyMDEsIDM5LCAyMzMsIDY1LCAxLCAxNzYsIAotICAgIDM5LCAyMzMsIDY1LCAxLCAyMTEsIDE2NSwgMzksIDIzMywgNjUsIDEsIDIyOSwgODIsIDM5LCAyMzMsIDY1LCAxLCAyMTUsIAotICAgIDE4NCwgMzksIDIzMywgNjUsIDEsIDIwNiwgMzksIDIzMywgNjUsIDEsIDE5MiwgMzksIDIzMywgNjUsIDEsIDIxNywgMTA2LCAKLSAgICAzOSwgMjMzLCA2NSwgMSwgMjE2LCAyMDksIDM5LCAyMzMsIDY1LCAxLCAyMzMsIDE0MSwgMzksIDIzMywgNjUsIDEsIDE5MSwgCi0gICAgMzksIDIzMywgNjUsIDEsIDIyNSwgMTUwLCAzOSwgMjMzLCA2NSwgMSwgMTg2LCAzOSwgMjMzLCA2NSwgMSwgMjQ0LCAyMDQsIAotICAgIDM5LCAyMzMsIDY1LCAxLCAyMTQsIDI3LCAzOSwgMjMzLCA2NSwgMSwgMTYyLCAzOSwgMjMzLCA2NSwgMSwgMjI0LCA5MSwgCi0gICAgMzksIDIzMywgNjUsIDEsIDIzNCwgMTM4LCAzOSwgMjMzLCA2NSwgMSwgMjE1LCAxNzYsIDM5LCAyMzMsIDY1LCAxLCAxOTgsIAotICAgIDM5LCAyMzMsIDY1LCAxLCA2MSwgMzksIDIzMywgNjUsIDEsIDc0LCAzOSwgMjMzLCA2NSwgMSwgMjQ1LCAyMTcsIDM5LCAKLSAgICAyMzMsIDY1LCAxLCAyNDUsIDIwNSwgMzksIDIzMywgNjUsIDEsIDY5LCAzOSwgMjMzLCA2NSwgMSwgMjI2LCAxODcsIDM5LCAKLSAgICAyMzMsIDY1LCAxLCA3OCwgMzksIDIzMywgNjUsIDEsIDIxNCwgMjE0LCAzOSwgMjMzLCA2NSwgMSwgNzYsIDM5LCAyMzMsIAotICAgIDY1LCAxLCAyNTMsIDE5OCwgMzksIDIzMywgNjUsIDEsIDI1NCwgMjEwLCAzOSwgMjMzLCA2NSwgMSwgMjE2LCAyOSwgMzksIAotICAgIDIzMywgNjUsIDEsIDIxNiwgMjgsIDM5LCAyMzMsIDY1LCAxLCAyMTYsIDI3LCAzOSwgMjMzLCA2NSwgMSwgMjE2LCAyNiwgCi0gICAgMzksIDIzMywgNjUsIDEsIDIxNiwgMjUsIDE2NiwgMzksIDE3MywgMSwgMTI1LCAyMjQsIDkxLCAxNjYsIDM5LCAxNzMsIDEsIAotICAgIDEyMSwgMjI0LCA5MSwgMTY2LCAzOSwgMTczLCAxLCAxMjUsIDE3NiwgMTY2LCAzOSwgMTczLCAxLCAxMjUsIDIxMSwgMTY1LCAKLSAgICAxNjYsIDM5LCAxNzMsIDEsIDEyNSwgMjI5LCA4MiwgMTY2LCAzOSwgMTczLCAxLCAxMjEsIDE3NiwgMTY2LCAzOSwgMTczLCAKLSAgICAxLCAxMjEsIDIxMSwgMTY1LCAxNjYsIDM5LCAxNzMsIDEsIDEyMSwgMjI5LCA4MiwgMTY2LCAzOSwgMTczLCAxLCAxMjUsIAotICAgIDIxNSwgMTg0LCAxNjYsIDM5LCAxNzMsIDEsIDEyNSwgMjA2LCAxNjYsIDM5LCAxNzMsIDEsIDEyNSwgMTkyLCAxNjYsIDM5LCAKLSAgICAxNzMsIDEsIDEyMSwgMjE1LCAxODQsIDE2NiwgMzksIDE3MywgMSwgMTIxLCAyMDYsIDE2NiwgMzksIDE3MywgMSwgMTIxLCAKLSAgICAxOTIsIDE2NiwgMzksIDE3MywgMSwgMTI1LCAyMTcsIDEwNiwgMTY2LCAzOSwgMTczLCAxLCAxMjUsIDIxNiwgMjA5LCAxNjYsIAotICAgIDM5LCAxNzMsIDEsIDEyNSwgMTk4LCAxNjYsIDM5LCAxNzMsIDEsIDEyMSwgMjE3LCAxMDYsIDE2NiwgMzksIDE3MywgMSwgCi0gICAgMTIxLCAyMTYsIDIwOSwgMTY2LCAzOSwgMTczLCAxLCAxMjEsIDE5OCwgMTY2LCAzOSwgMTczLCAxLCAxMjUsIDE5MSwgMTY2LCAKLSAgICAzOSwgMTczLCAxLCAxMjUsIDIyNSwgMTUwLCAxNjYsIDM5LCAxNzMsIDEsIDEyNSwgMTg2LCAxNjYsIDM5LCAxNzMsIDEsIAotICAgIDEyMSwgMTkxLCAxNjYsIDM5LCAxNzMsIDEsIDEyMSwgMjI1LCAxNTAsIDE2NiwgMzksIDE3MywgMSwgMTIxLCAxODYsIDE2NiwgCi0gICAgMzksIDE3MywgMSwgMTI1LCAyNDQsIDIwNCwgMTY2LCAzOSwgMTczLCAxLCAxMjUsIDIxNCwgMjcsIDE2NiwgMzksIDE3MywgCi0gICAgMSwgMTI1LCAyMzMsIDE0MSwgMTY2LCAzOSwgMTczLCAxLCAxMjEsIDI0NCwgMjA0LCAxNjYsIDM5LCAxNzMsIDEsIDEyMSwgCi0gICAgMjE0LCAyNywgMTY2LCAzOSwgMTczLCAxLCAxMjEsIDIzMywgMTQxLCAxNjYsIDM5LCAxNzMsIDEsIDEyNSwgMTYyLCAxNjYsIAotICAgIDM5LCAxNzMsIDEsIDEyNSwgMjQ4LCAyMjksIDE2NiwgMzksIDE3MywgMSwgMTI1LCAyNTIsIDE5OSwgMTY2LCAzOSwgMTczLCAKLSAgICAxLCAxMjEsIDE2MiwgMTY2LCAzOSwgMTczLCAxLCAxMjEsIDI0OCwgMjI5LCAxNjYsIDM5LCAxNzMsIDEsIDEyMSwgMjUyLCAKLSAgICAxOTksIDE2NiwgMzksIDE3MywgMSwgMTI1LCAyMzMsIDE5MCwgMTY2LCAzOSwgMTczLCAxLCAxMjUsIDIxMSwgMTM4LCAxNjYsIAotICAgIDM5LCAxNzMsIDEsIDEyMSwgMjMzLCAxOTAsIDE2NiwgMzksIDE3MywgMSwgMTIxLCAyMTEsIDEzOCwgMTY2LCAzOSwgMTczLCAKLSAgICAxLCAxMjUsIDIxOCwgODMsIDE2NiwgMzksIDE3MywgMSwgMTIxLCAyMTgsIDgzLCAxNjYsIDM5LCAxNzMsIDI1LCA1LCAyNSwgCi0gICAgMjE5LCAyNDEsIDE2NiwgMzksIDE3MywgMjUsIDUsIDI1NSwgODIsIDE2NiwgMzksIDE3MywgMjUsIDUsIDIzNiwgNDAsIAotICAgIDE2NiwgMzksIDE3MywgMjUsIDUsIDY5LCAxNjYsIDM5LCAxNzMsIDI1LCA1LCAyMTQsIDExOCwgMTY2LCAzOSwgMTczLCAyNSwgCi0gICAgNSwgNzYsIDE2NiwgMzksIDE3MywgMjUsIDUsIDI1NCwgMjUyLCAxNjYsIDM5LCAxNzMsIDI1LCA1LCA3OCwgMTY2LCAzOSwgCi0gICAgMTczLCAyNSwgNSwgMjI3LCA0LCAxNjYsIDM5LCAxNzMsIDI1LCA1LCAyMTQsIDIxNCwgMTY2LCAzOSwgMTczLCAyNSwgNSwgCi0gICAgMjUzLCAxNzUsIDE2NiwgMzksIDE3MywgMjUsIDUsIDI1NSwgMzcsIDE2NiwgMzksIDE3MywgMjUsIDUsIDIxNCwgMTExLCAKLSAgICAxNjYsIDM5LCAxNzMsIDI1LCA1LCAyMjYsIDExMywgMTY2LCAzOSwgMTczLCAyNSwgNSwgMjI3LCAxLCAxNjYsIDM5LCAxNzMsIAotICAgIDI1LCA1LCAyMTQsIDIxMCwgMTY2LCAzOSwgMTczLCAyNSwgNSwgMjM1LCAxNTgsIDE2NiwgMzksIDE3MywgMSwgNDAsIDIxNCwgCi0gICAgMTA1LCAxNjYsIDM5LCAxNzMsIDEsIDQwLCAyMjksIDg0LCAxNjYsIDM5LCAxNzMsIDEsIDQwLCAyMzAsIDMwLCAxNjYsIDM5LCAKLSAgICAxNzMsIDEsIDQwLCAxOTQsIDE2NiwgMzksIDE3MywgMSwgNDAsIDIzNSwgMjksIDE2NiwgMzksIDE3MywgMSwgNDAsIDI0OSwgCi0gICAgNjgsIDE2NiwgMzksIDE3MywgMSwgNDAsIDI1MywgMTY2LCAxNjYsIDM5LCAxNzMsIDEzOCwgMjMxLCAxNjMsIDE2NiwgMzksIAotICAgIDE3MywgMTM4LCAyMzEsIDE2MiwgMTY2LCAzOSwgMTczLCAyMSwgMjEwLCA4NiwgMTY2LCAzOSwgMTczLCAyMSwgMTExLCAKLSAgICAxNjYsIDM5LCAxNzMsIDIxLCAxMDUsIDE2NiwgMzksIDE3MywgMjEsIDE1OCwgMTY2LCAzOSwgMTczLCAyMSwgMTYxLCAxNjYsIAotICAgIDM5LCAxNzMsIDIxLCAxOTAsIDE2NiwgMzksIDE3MywgMjEsIDE5NSwgMTY2LCAzOSwgMTczLCAyMSwgMTk5LCAxNjYsIDM5LCAKLSAgICAxNzMsIDIxLCAxOTYsIDE2NiwgMzksIDE3MywgMjEsIDIwMSwgMTY2LCAzOSwgMTczLCA4OSwgMjEsIDExMSwgMTY2LCAzOSwgCi0gICAgMTczLCA1LCAyMzMsIDEyNiwgMTY2LCAzOSwgMTczLCA1LCAyMzMsIDEyNSwgNzAsIDE2LCAyMjUsIDI0MCwgNzAsIDE2LCAKLSAgICAyMzAsIDc3LCAyMzQsIDMxLCA3MCwgMTYsIDIyNSwgNzUsIDIzNCwgMzEsIDcwLCAxNiwgMjUyLCA1OCwgMjM0LCAzMSwgNzAsIAotICAgIDE2LCAyNTEsIDExMiwgMjM0LCAzMSwgNzAsIDE2LCAyMjQsIDIxOSwgMjM0LCAzMSwgNzAsIDE2LCAyMjQsIDIxMywgMjM0LCAKLSAgICAzMSwgNzAsIDE2LCAyMjQsIDIxMSwgMjM0LCAzMSwgNzAsIDE2LCAyMjQsIDIxNywgMjM0LCAzMSwgNzAsIDE2LCAyMjQsIAotICAgIDIxNSwgMjM0LCAzMSwgNzAsIDE2LCAyNDgsIDE4MSwgMjM0LCAzMSwgNzAsIDE2LCAyNDgsIDE3NywgMjM0LCAzMSwgNzAsIAotICAgIDE2LCAyNDgsIDE3NiwgMjM0LCAzMSwgNzAsIDE2LCAyNDgsIDE3OSwgMjM0LCAzMSwgNzAsIDE2LCAyNDgsIDE3OCwgMjM0LCAKLSAgICAzMSwgNzAsIDE2LCAyNDgsIDE3NSwgMjM0LCAzMSwgNzAsIDE2LCAyMTUsIDg3LCA3MCwgMTYsIDIzMCwgNzcsIDIyMiwgCi0gICAgMjA3LCA3MCwgMTYsIDIyNSwgNzUsIDIyMiwgMjA3LCA3MCwgMTYsIDI1MiwgNTgsIDIyMiwgMjA3LCA3MCwgMTYsIDI1MSwgCi0gICAgMTEyLCAyMjIsIDIwNywgNzAsIDE2LCAyMjQsIDIxOSwgMjIyLCAyMDcsIDcwLCAxNiwgMjI0LCAyMTMsIDIyMiwgMjA3LCAKLSAgICA3MCwgMTYsIDIyNCwgMjExLCAyMjIsIDIwNywgNzAsIDE2LCAyMjQsIDIxNywgMjIyLCAyMDcsIDcwLCAxNiwgMjI0LCAyMTUsIAotICAgIDIyMiwgMjA3LCA3MCwgMTYsIDI0OCwgMTgxLCAyMjIsIDIwNywgNzAsIDE2LCAyNDgsIDE3NywgMjIyLCAyMDcsIDcwLCAxNiwgCi0gICAgMjQ4LCAxNzYsIDIyMiwgMjA3LCA3MCwgMTYsIDI0OCwgMTc5LCAyMjIsIDIwNywgNzAsIDE2LCAyNDgsIDE3OCwgMjIyLCAKLSAgICAyMDcsIDcwLCAxNiwgMjQ4LCAxNzUsIDIyMiwgMjA3LCAyNTEsIDEyOSwgMSwgMTc2LCAyNTEsIDEyOSwgMSwgMjQzLCAxNDIsIAotICAgIDI1MSwgMTI5LCAxLCAyMjksIDgyLCAyNTEsIDEyOSwgMSwgMjI5LCAyNywgMjUxLCAxMjksIDEsIDE5MSwgMjUxLCAxMjksIAotICAgIDEsIDI1MiwgMTk5LCAyNTEsIDEyOSwgMSwgMTg2LCAyNTEsIDEyOSwgMSwgMjMwLCAxMTAsIDI1MSwgMTI5LCAxLCAyMTcsIAotICAgIDEwNiwgMjUxLCAxMjksIDEsIDI0OCwgMjI5LCAyNTEsIDEyOSwgMSwgMTk4LCAyNTEsIDEyOSwgMSwgMjI4LCA0MSwgMjUxLCAKLSAgICAxMjksIDEsIDI1MSwgNDEsIDI1MSwgMTI5LCAxLCAyMzUsIDE0NywgMjUxLCAxMjksIDEsIDIyNywgMTY5LCAyNTEsIDEyOSwgCi0gICAgMSwgMjI3LCAxNjIsIDI1MSwgMTI5LCAxLCAxOTIsIDI1MSwgMTI5LCAxLCAyMDUsIDI1MSwgMTI5LCAxLCAyMzMsIDE0MSwgCi0gICAgMjUxLCAxMjksIDEsIDIxNCwgMjcsIDI1MSwgMTI5LCAxLCAyMDYsIDI1MSwgMTI5LCAxLCA2MSwgMjUxLCAxMjksIDEsIAotICAgIDE2MiwgMjUxLCAxMjksIDI1LCA1LCA3NCwgMjUxLCAxMjksIDI1LCA1LCA2OSwgMjUxLCAxMjksIDI1LCA1LCA3NiwgMjUxLCAKLSAgICAxMjksIDI1LCA1LCA3OCwgMjUxLCAxMjksIDI1LCA1LCAyNTQsIDI1MiwgMjUxLCAxMjksIDIyNiwgNjQsIDI1MSwgMTI5LCAKLSAgICAyNDUsIDE1MSwgNjQsIDIyMSwgMTc0LCAzOSwgODksIDEsIDEyNSwgMTc2LCAzOSwgODksIDEsIDEyNSwgMjM0LCAxMzgsIAotICAgIDM5LCA4OSwgMSwgMTI1LCAyMzMsIDE3NywgMzksIDg5LCAxLCAxMjEsIDE3NiwgMzksIDg5LCAxLCAxMjEsIDIzMywgMTc3LCAKLSAgICAzOSwgODksIDEsIDEyMSwgMjM0LCAxMzgsIDM5LCA4OSwgMSwgMjI5LCA4MiwgMzksIDg5LCAxLCAxMjUsIDI1MSwgNDEsIAotICAgIDM5LCA4OSwgMSwgMTI1LCAyNTAsIDE2NSwgMzksIDg5LCAxLCAxMjEsIDI1MSwgNDEsIDM5LCA4OSwgMSwgMTIxLCAyMDYsIAotICAgIDM5LCA4OSwgMSwgMTIxLCAyNTAsIDE2NSwgMzksIDg5LCAxLCAyMjcsIDE2OSwgMzksIDg5LCAxLCAyMjMsIDE0MywgMzksIAotICAgIDg5LCAxLCAxMjUsIDIyMywgMTQxLCAzOSwgODksIDEsIDI0OCwgMjI5LCAzOSwgODksIDEsIDEyMSwgMjIzLCAxNDEsIDM5LCAKLSAgICA4OSwgMSwgMjIzLCAxNTIsIDM5LCA4OSwgMSwgMTI1LCAyMTcsIDEwNiwgMzksIDg5LCAxLCAxMjUsIDIxNiwgMjA5LCAzOSwgCi0gICAgODksIDEsIDEyMSwgMjE3LCAxMDYsIDM5LCA4OSwgMSwgMTIxLCAyMTYsIDIwOSwgMzksIDg5LCAxLCAxOTgsIDM5LCA4OSwgCi0gICAgMSwgMjUyLCAxOTksIDM5LCA4OSwgMSwgMTI1LCAxOTEsIDM5LCA4OSwgMSwgMTI1LCAyMjUsIDE1MCwgMzksIDg5LCAxLCAKLSAgICAxMjUsIDI0NCwgMjA0LCAzOSwgODksIDEsIDEyMSwgMTkxLCAzOSwgODksIDEsIDEyMSwgMjQ0LCAyMDQsIDM5LCA4OSwgMSwgCi0gICAgMTIxLCAyMjUsIDE1MCwgMzksIDg5LCAxLCAxODYsIDM5LCA4OSwgMSwgMTIxLCAxOTIsIDM5LCA4OSwgMSwgMTI1LCAxOTIsIAotICAgIDM5LCA4OSwgMSwgMjA1LCAzOSwgODksIDEsIDIyMiwgMTM5LCAzOSwgODksIDEsIDIzMywgMTQxLCAzOSwgODksIDEsIDIzMiwgCi0gICAgOTgsIDM5LCA4OSwgMSwgMjEyLCA2NSwgMzksIDg5LCAxLCAxMjUsIDIyMCwgMTA0LCAzOSwgODksIDEsIDEyNSwgMjE4LCAKLSAgICAyMjUsIDM5LCA4OSwgMSwgMTI1LCAyMDYsIDM5LCA4OSwgMSwgMTI1LCAxNjIsIDM5LCA4OSwgMSwgMjMyLCAxOTAsIDM5LCAKLSAgICA4OSwgMSwgNjEsIDM5LCA4OSwgMSwgMTIxLCAxNjIsIDM5LCA4OSwgMSwgNzQsIDM5LCA4OSwgMSwgMjM2LCA0MCwgMzksIAotICAgIDg5LCAxLCA2OSwgMzksIDg5LCAxLCAyMTQsIDExOCwgMzksIDg5LCAxLCAyNDUsIDIxNywgMzksIDg5LCAxLCAyMjYsIDE4NywgCi0gICAgMzksIDg5LCAxLCAyMzMsIDEyNiwgMzksIDg5LCAxLCAyNDIsIDEzOSwgMjA2LCAzOSwgODksIDExNywgNSwgMTQ3LCAyMDUsIAotICAgIDM5LCA4OSwgMTE3LCA1LCAxNDcsIDIzMywgMTQxLCAzOSwgODksIDExNywgNSwgMjMzLCAxNDIsIDIxNywgNTksIDIzMywgCi0gICAgMTE1LCAzOSwgODksIDUsIDIzMSwgMjA5LCAyMzQsIDIzNywgMjMzLCAxMTUsIDM5LCA4OSwgMTE3LCA1LCA0MCwgMjI5LCAKLSAgICA4MiwgMzksIDg5LCAxMTcsIDUsIDEyMSwgMTkxLCAzOSwgODksIDExNywgNSwgMTI1LCAyMjMsIDE0MiwgMTc3LCAxMjEsIAotICAgIDE5MSwgMzksIDg5LCAxMTcsIDUsIDE4NiwgMzksIDg5LCAxMTcsIDUsIDI1MiwgMTk5LCAzOSwgODksIDExNywgNSwgMjA2LCAKLSAgICAzOSwgODksIDUsIDIyMiwgMTIsIDM5LCA4OSwgMjUsIDUsIDYxLCAzOSwgODksIDI1LCA1LCAyMzEsIDIwOSwgMjIxLCAyMjgsIAotICAgIDM5LCA4OSwgMjUsIDUsIDI1NSwgODIsIDM5LCA4OSwgMjUsIDUsIDIxNywgNjUsIDI1NSwgODIsIDM5LCA4OSwgMjUsIDUsIAotICAgIDc0LCAzOSwgODksIDI1LCA1LCAyMzYsIDQwLCAzOSwgODksIDI1LCA1LCAyMTQsIDIxNCwgMzksIDg5LCAyNSwgNSwgMjE0LCAKLSAgICAxMTcsIDM5LCA4OSwgMjUsIDUsIDY5LCAzOSwgODksIDI1LCA1LCAyMTQsIDExOCwgMzksIDg5LCAyNSwgNSwgNzgsIDM5LCAKLSAgICA4OSwgMjUsIDUsIDIyNywgNSwgNTEsIDM5LCA4OSwgMjUsIDUsIDIyNiwgMTEzLCAzOSwgODksIDI1LCA1LCA3NiwgMzksIAotICAgIDg5LCAyNSwgNSwgMjU0LCAyNTIsIDM5LCA4OSwgMjUsIDUsIDIyNiwgMTg3LCAzOSwgODksIDI1LCA1LCAyNTQsIDIxMCwgCi0gICAgMzksIDg5LCAyNSwgNSwgODksIDI1NCwgMjEwLCAzOSwgODksIDI1LCA1LCAyMjcsIDUsIDQ4LCAzOSwgODksIDUsIDIzMSwgCi0gICAgMjA5LCAyMzQsIDIzNiwgMzksIDg5LCA1LCAyMTYsIDMwLCAzOSwgODksIDUsIDIxNiwgMjksIDM5LCA4OSwgNSwgMjM0LCAKLSAgICAxMDMsIDIxNiwgMjgsIDM5LCA4OSwgNSwgMjM0LCAxMDMsIDIxNiwgMjcsIDM5LCA4OSwgNSwgMjM0LCAxMDMsIDIxNiwgMjYsIAotICAgIDM5LCA4OSwgNSwgMjIzLCAxOTEsIDI0MiwgNTIsIDM5LCA4OSwgNSwgMjMxLCAyMDksIDIyMSwgMjU1LCAzOSwgODksIDUsIAotICAgIDIzNCwgMTAyLCAyMzQsIDIyMSwgMzksIDg5LCAzOCwgMjQ5LCAxMjMsIDI0NywgMTI4LCAzOSwgODksIDI0MSwgNTMsIDIxLCAKLSAgICAyMTAsIDg2LCAzOSwgODksIDI0MSwgNTMsIDIxLCAxMTEsIDM5LCA4OSwgMjQxLCA1MywgMjEsIDEwNSwgMzksIDg5LCAyNDEsIAotICAgIDUzLCAyMSwgMTU4LCAzOSwgODksIDI0MSwgNTMsIDIxLCAxNjEsIDM5LCA4OSwgMjQxLCA1MywgMjEsIDE5MCwgMzksIDg5LCAKLSAgICAyNDEsIDUzLCAyMSwgMTk1LCAzOSwgODksIDI0MSwgNTMsIDIxLCAxOTksIDM5LCA4OSwgMjQxLCA1MywgMjEsIDE5NiwgMzksIAotICAgIDg5LCAyNDEsIDUzLCAyMSwgMjAxLCAzOSwgODksIDg5LCAyMSwgMjEwLCA4NiwgMzksIDg5LCA4OSwgMjEsIDExMSwgMzksIAotICAgIDg5LCA4OSwgMjEsIDEwNSwgMzksIDg5LCA4OSwgMjEsIDE1OCwgMzksIDg5LCA4OSwgMjEsIDE2MSwgMzksIDg5LCA4OSwgCi0gICAgMjEsIDE5MCwgMzksIDg5LCA4OSwgMjEsIDE5NSwgMzksIDg5LCA4OSwgMjEsIDE5OSwgMzksIDg5LCA4OSwgMjEsIDE5NiwgCi0gICAgMzksIDg5LCA4OSwgMjEsIDIwMSwgMzksIDg5LCA1LCAyMTEsIDI0OSwgMzksIDg5LCA1LCAyMTEsIDI0OCwgMzksIDg5LCA1LCAKLSAgICAyMjEsIDIxNywgMzksIDg5LCA1LCAyMzQsIDE2NiwgMzksIDg5LCA1LCAyNDAsIDIzOSwgMzksIDg5LCA1LCAyNDcsIDE0MiwgCi0gICAgMzksIDg5LCA1LCAyMjMsIDUyLCAyMjIsIDE4OSwgMjIzLCAxNTIsIDM5LCA4OSwgNSwgMjMxLCAyMDksIDIxMSwgNzIsIDM5LCAKLSAgICA4OSwgNSwgMjM1LCAxMiwgMzksIDg5LCA1LCAyMzUsIDExLCAzOSwgODksIDUsIDIyMSwgMjI0LCAzOSwgODksIDUsIDIyMSwgCi0gICAgMjIzLCAzOSwgODksIDUsIDI0MiwgMTYsIDM5LCA4OSwgNSwgMjUxLCAzOCwgMTAyLCA1LCAyMTQsIDIwMCwgMjIzLCAzMywgCi0gICAgMTAyLCA1LCAyMTQsIDIwMCwgMjUxLCA5LCAxMDIsIDUsIDI1MCwgMTk0LCAxMDIsIDUsIDIxOCwgMTYsIDEwMiwgNSwgMjUxLCAKLSAgICAyNDEsIDEwMiwgMSwgMjU0LCAxOTMsIDEwMiwgMSwgMjU0LCAxOTQsIDIxNywgMTQsIDEwMiwgMSwgMjM2LCAzNiwgMTAyLCAKLSAgICAxLCAyMzYsIDM3LCAyMTcsIDE0LCAxMDIsIDEsIDIxNCwgMjAzLCAxMDIsIDEsIDIxNCwgMjA0LCAyMTcsIDE0LCAxMDIsIDEsIAotICAgIDIyMywgMTkxLCAyMjMsIDgyLCAxMDIsIDEsIDIyMywgMTkxLCAyMjMsIDgzLCAyMTcsIDE0LCAxMDIsIDEsIDIzMywgMTQyLCAKLSAgICAyMzMsIDMwLCAxMDIsIDEsIDIzMywgMTQyLCAyMzMsIDMxLCAyMTcsIDE0LCAxMDIsIDEsIDI0NSwgMTg3LCAxMDIsIDEsIAotICAgIDI1NCwgMjA4LCAxMDIsIDEsIDIyNiwgMjE2LCAxMDIsIDEsIDIyNiwgMjE3LCAyMTcsIDE0LCAxMDIsIDEsIDE3NiwgMTAyLCAKLSAgICAxLCAyMzUsIDE5LCAyMzEsIDIxMiwgMTAyLCAxLCAyNDMsIDE0MiwgMTAyLCAxLCAyNDMsIDE0MywgMjQyLCAxNjgsIDEwMiwgCi0gICAgMSwgMjI5LCA4MiwgMTAyLCAxLCAyNTEsIDQxLCAxMDIsIDEsIDI1MSwgNDIsIDIzMywgMTI5LCAxMDIsIDEsIDIzNSwgMTQ3LCAKLSAgICAxMDIsIDEsIDIzNSwgMTQ4LCAyMzUsIDEyNCwgMTAyLCAxLCAyMjcsIDE2OSwgMTAyLCAxLCAyMTcsIDEwNywgMjMzLCA4MiwgCi0gICAgMTAyLCAxLCAyMTcsIDEwNywgMjMwLCA3MiwgMjMxLCAyMTIsIDEwMiwgMSwgMjQ4LCAyMzAsIDIzMCwgNzIsIDI1NCwgMTUzLCAKLSAgICAxMDIsIDEsIDI0OCwgMjMwLCAyMzAsIDcyLCAyMzEsIDIxMiwgMTAyLCAxLCAyMjksIDIzNCwgMjIzLCAxNTUsIDEwMiwgMSwgCi0gICAgMjE3LCAxMDYsIDEwMiwgMSwgMjE3LCAxMDcsIDIxNywgMzYsIDEwMiwgMSwgMjQ4LCAyMjksIDEwMiwgMSwgMjQ4LCAyMzAsIAotICAgIDIzMSwgMjMwLCAxMDIsIDEsIDE5OCwgMTAyLCAxLCAxOTEsIDEwMiwgMSwgMjI2LCA5NCwgMjM0LCAyMzIsIDEwMiwgMSwgCi0gICAgMjUyLCAxOTksIDEwMiwgMSwgMjUyLCAyMDAsIDIzNCwgMTc4LCAxMDIsIDEsIDE4NiwgMTAyLCAxLCAxOTIsIDEwMiwgMSwgCi0gICAgMjA1LCAxMDIsIDEsIDIzMywgMTQxLCAxMDIsIDEsIDIxMiwgNjUsIDEwMiwgMSwgMjIyLCAzNiwgMjIyLCAyMiwgMTAyLCAxLCAKLSAgICAyMjIsIDM2LCAyMjEsIDIzNSwgMTAyLCAxLCAyMDYsIDEwMiwgMSwgMTYyLCAxMDIsIDUsIDIyMywgNzMsIDEwMiwgMjUsIDUsIAotICAgIDIxNywgMTQsIDEwMiwgMjUsIDUsIDIxNCwgMTk5LCAxMDIsIDI1LCA1LCAyMTQsIDIwMCwgMjIxLCAyMzEsIDEwMiwgMjUsIAotICAgIDUsIDIxOCwgNDgsIDEwMiwgMjUsIDUsIDIxOCwgNDksIDIzNiwgMjgsIDEwMiwgMjUsIDUsIDIyMywgMTkxLCAyMjMsIDgyLCAKLSAgICAxMDIsIDI1LCA1LCAyMjMsIDE5MSwgMjIzLCA4MywgMjE3LCAxNCwgMTAyLCAyNSwgNSwgMjMzLCAxNDIsIDIzMywgMzAsIAotICAgIDEwMiwgMjUsIDUsIDIzMywgMTQyLCAyMzMsIDMxLCAyMTcsIDE0LCAxMDIsIDI1LCA1LCAyMTcsIDY2LCAxMDIsIDI1LCA1LCAKLSAgICAyMTcsIDY3LCAyMjMsIDgyLCAxMDIsIDI1LCA1LCAyMTcsIDY3LCAyMTcsIDE0LCAxMDIsIDI1LCA1LCAyMTcsIDY3LCAyMjMsIAotICAgIDgzLCAyMTcsIDE0LCAxMDIsIDI1LCA1LCAyMjUsIDE4NywgMTAyLCAyNSwgNSwgMjI1LCAxODgsIDIxNywgMTQsIDEwMiwgCi0gICAgMjU1LCAzLCAyNTUsIDIsIDEwMiwgMSwgMjM1LCAxLCAyMjEsIDIzMCwgMTAyLCAxLCAyMzQsIDEwOCwgMjIxLCAyMzAsIAotICAgIDEwMiwgMSwgMjE1LCAzNCwgMjIxLCAyMzAsIDEwMiwgMSwgMjQ1LCAyMTEsIDIyMSwgMjMwLCAxMDIsIDEsIDIxNCwgMCwgCi0gICAgMjIxLCAyMzAsIDEwMiwgMSwgMjEwLCAxMDcsIDIyMSwgMjMwLCAxMDIsIDEsIDI1MywgMjE3LCAyMjEsIDIzMCwgMTAyLCAKLSAgICAyMSwgMjEwLCA4NiwgMTAyLCAyMSwgMTExLCAxMDIsIDIxLCAxMDUsIDEwMiwgMjEsIDE1OCwgMTAyLCAyMSwgMTYxLCAxMDIsIAotICAgIDIxLCAxOTAsIDEwMiwgMjEsIDE5NSwgMTAyLCAyMSwgMTk5LCAxMDIsIDIxLCAxOTYsIDEwMiwgMjEsIDIwMSwgMTAyLCAKLSAgICAyMjYsIDMzLCAxMDIsIDIyNiwgNTksIDEwMiwgMjExLCAyMzgsIDEwMiwgMjUwLCAyNDQsIDIyNiwgNTIsIDEwMiwgMjUwLCAKLSAgICAyNDQsIDIxOSwgMTc0LCAxMDIsIDI1MCwgMjQ0LCAyMjYsIDYsIDEwMiwgMjI2LCA1OCwgMTAyLCAyOCwgMTYsIDI0NywgCi0gICAgMTM0LCAxMDIsIDI4LCAxNiwgMjQ4LCA1OSwgMTAyLCAyOCwgMTYsIDI0NiwgNzIsIDEwMiwgMjgsIDE2LCAyNDgsIDE4NCwgCi0gICAgMTAyLCAyOCwgMTYsIDI0OCwgMTg1LCAyMTgsIDE2LCAxMDIsIDI4LCAxNiwgMjQ3LCAyMTMsIDEwMiwgMjgsIDE2LCAyNDgsIAotICAgIDIyMiwgMTAyLCAyOCwgMTYsIDI0OCwgNDEsIDEwMiwgMjgsIDE2LCAyNDgsIDIwNiwgMTAyLCAyOCwgMTYsIDI0OCwgMTg1LCAKLSAgICAyNDMsIDY0LCAxMDIsIDI4LCAxNiwgMzgsIDIxNywgMTAsIDEwMiwgMjgsIDE2LCAzOCwgMjQ1LCAxNDksIDEwMiwgMjgsIAotICAgIDE2LCAzOCwgMjM0LCAxNzMsIDEwMiwgMjgsIDE2LCAzOCwgMjM0LCAxNzUsIDEwMiwgMjgsIDE2LCAzOCwgMjM1LCAxMjgsIAotICAgIDEwMiwgMjgsIDE2LCAzOCwgMjM0LCAxNzQsIDIsIDIzNSwgMTI4LCAxMDIsIDI4LCAxNiwgMzgsIDIzNCwgMTc2LCAyLCAKLSAgICAyMzUsIDEyOCwgMTAyLCAyOCwgMTYsIDM4LCAyNTIsIDQ1LCAxMDIsIDI4LCAxNiwgMzgsIDI0MiwgMTcyLCAxMDIsIDI4LCAKLSAgICAxNiwgMjIyLCAyNTIsIDIwNCwgMjQ2LCA4MiwgMTAyLCAyOCwgMTYsIDIyMiwgMjUyLCAyMDQsIDI0OCwgMjIwLCAxMDIsIAotICAgIDI4LCAxNiwgMjIyLCAyNTIsIDI1MCwgOCwgMjE1LCAxMTIsIDEwMiwgMjgsIDE2LCAyMjIsIDI1MiwgMjUwLCA4LCAyMTcsIAotICAgIDc0LCAxMDIsIDI4LCAxNiwgMjMzLCA1MCwgMjA0LCAyMjYsIDQ3LCAxMDIsIDI4LCAxNiwgMjMzLCA1MCwgMjA0LCAyMjQsIAotICAgIDE0MiwgMTAyLCAyOCwgMTYsIDIzMywgNTAsIDI1MCwgOCwgMjI1LCA0MSwgMTAyLCAyOCwgMTYsIDIzMywgNTAsIDI1MCwgOCwgCi0gICAgMjI1LCAyOSwgMTAyLCAyOCwgMTYsIDIzMywgNTAsIDIwNCwgMjI1LCA2NCwgMjA3LCA1LCAyMjYsIDMwLCAyMDcsIDUsIAotICAgIDIyNiwgNDMsIDIwNywgNSwgMjI2LCAzOSwgMjA3LCAxLCA2MSwgMjA3LCAxLCA3NCwgMjA3LCAxLCA2OSwgMjA3LCAxLCAKLSAgICAyNTQsIDI1MiwgMjA3LCAxLCA3OCwgMjA3LCAxLCA3NiwgMjA3LCAxLCAyNDUsIDYzLCAyMDcsIDEsIDE3NiwgMjA3LCAxLCAKLSAgICAyMjQsIDkxLCAyMDcsIDEsIDI0MywgMTQyLCAyMDcsIDEsIDIyOSwgODIsIDIwNywgMSwgMjUxLCA0MSwgMjA3LCAxLCAyMzUsIAotICAgIDE0NywgMjA3LCAxLCAyMTAsIDExNiwgMjA3LCAxLCAyMjcsIDE2OSwgMjA3LCAxLCAyMTcsIDEwNiwgMjA3LCAxLCAyNDgsIAotICAgIDIyOSwgMjA3LCAxLCAxOTgsIDIwNywgMSwgMTkxLCAyMDcsIDEsIDI0NCwgMjA0LCAyMDcsIDEsIDIxNCwgMjcsIDIwNywgMSwgCi0gICAgMjUyLCAxOTksIDIwNywgMSwgMTg2LCAyMDcsIDEsIDE5MiwgMjA3LCAxLCAyMDUsIDIwNywgMSwgMjMzLCAxNDEsIDIwNywgCi0gICAgMSwgMjEyLCA2NSwgMjA3LCAxLCAyMDYsIDIwNywgMSwgMjExLCAxNjUsIDIwNywgMSwgMTYyLCAyMDcsIDExNywgNSwgMjI2LCAKLSAgICA1NiwgMjA3LCAxMTcsIDUsIDIyNiwgMzIsIDIwNywgMTE3LCA1LCAyMjYsIDI5LCAyMDcsIDI1LCA1LCAyMjYsIDQ2LCAyMDcsIAotICAgIDI1LCA1LCAyMjYsIDI4LCAyMDcsIDI1LCA1LCAyMjYsIDUwLCAyMDcsIDI1LCA1LCAyMjYsIDM4LCAyMDcsIDI1LCA1LCAKLSAgICAyMjYsIDU3LCAyMDcsIDI1LCA1LCAyMjYsIDQ4LCAyMDcsIDUsIDIyNiwgNjAsIDIwNywgNSwgMjEzLCAxNTIsIDIwNywgCi0gICAgMTE3LCA1LCAyMjUsIDI1MiwgMTg2LCAyMDcsIDExNywgNSwgMjI1LCAyNTIsIDIxMiwgNjUsIDIwNywgMSwgMjM0LCAxMzgsIAotICAgIDIwNywgMSwgMjE3LCAyMzIsIDIwNywgMjEsIDIxMCwgODYsIDIwNywgMjEsIDExMSwgMjA3LCAyMSwgMTA1LCAyMDcsIDIxLCAKLSAgICAxNTgsIDIwNywgMjEsIDE2MSwgMjA3LCAyMSwgMTkwLCAyMDcsIDIxLCAxOTUsIDIwNywgMjEsIDE5OSwgMjA3LCAyMSwgCi0gICAgMTk2LCAyMDcsIDIxLCAyMDEsIDIwNywgMjUzLCAxODMsIDIwNywgMSwgMjIzLCA1NSwgMjA3LCAxLCAyMzMsIDEzLCAyMDcsIAotICAgIDEsIDI1MiwgMjYsIDIwNywgMSwgNDAsIDIzNSwgMjksIDIwNywgMSwgNDAsIDE5NCwgMjUyLCAxMjgsIDEsIDYxLCAyNTIsIAotICAgIDEyOCwgMSwgMjE5LCAxNjYsIDYxLCAyNTIsIDEyOCwgMSwgMTYyLCAyNTIsIDEyOCwgMSwgMjE5LCAxNjYsIDE2MiwgMjUyLCAKLSAgICAxMjgsIDEsIDIzMSwgMTg2LCAxNjIsIDI1MiwgMTI4LCAxLCAyNTIsIDE5OSwgMjUyLCAxMjgsIDEsIDIzNCwgMjE4LCAyNTIsIAotICAgIDE5OSwgMjUyLCAxMjgsIDEsIDE5MSwgMjUyLCAxMjgsIDEsIDIxOSwgMTY2LCAxOTEsIDI1MiwgMTI4LCAxLCAxOTgsIDI1MiwgCi0gICAgMTI4LCAxLCAyMzEsIDE4NiwgMTk4LCAyNTIsIDEyOCwgMSwgMjEyLCA2NSwgMjUyLCAxMjgsIDEsIDIxOSwgMTY2LCAyMTIsIAotICAgIDY1LCAyNTIsIDEyOCwgMSwgMjI2LCA3MSwgMjEyLCA2NSwgMjUyLCAxMjgsIDEsIDI0MywgMTQyLCAyNTIsIDEyOCwgMSwgCi0gICAgMjE5LCAxNjYsIDI0MywgMTQyLCAyNTIsIDEyOCwgMSwgMjM1LCAxNDcsIDI1MiwgMTI4LCAxLCAyNDgsIDIyOSwgMjUyLCAKLSAgICAxMjgsIDEsIDIwNSwgMjUyLCAxMjgsIDEsIDIxOSwgMTY2LCAyMDUsIDI1MiwgMTI4LCAxLCAxODYsIDI1MiwgMTI4LCAxLCAKLSAgICAyMTksIDE2NiwgMTg2LCAyNTIsIDEyOCwgMSwgMjE5LCAyOCwgMjE3LCAxMDYsIDI1MiwgMTI4LCAxLCAyMjgsIDYwLCAyMTcsIAotICAgIDEwNiwgMjUyLCAxMjgsIDEsIDIwNiwgMjUyLCAxMjgsIDEsIDIxOSwgMTY2LCAyMDYsIDI1MiwgMTI4LCAxLCAyMzEsIDE4NiwgCi0gICAgMjA2LCAyNTIsIDEyOCwgMSwgMTkyLCAyNTIsIDEyOCwgMSwgMjE5LCAxNjYsIDE5MiwgMjUyLCAxMjgsIDEsIDIyOSwgODIsIAotICAgIDI1MiwgMTI4LCAxLCAyMzMsIDE0MSwgMjUyLCAxMjgsIDEsIDIxOSwgMTY2LCAyMzMsIDE0MSwgMjUyLCAxMjgsIDEsIDIyNywgCi0gICAgMTY5LCAyNTIsIDEyOCwgMSwgMjUxLCA0MSwgMjUyLCAxMjgsIDEsIDIyOSwgMTUzLCAyNTIsIDEyOCwgMSwgMjMxLCAxMjksIAotICAgIDI1MiwgMTI4LCAxLCA3NCwgMjUyLCAxMjgsIDEsIDY5LCAyNTIsIDEyOCwgNSwgMjE2LCAzNCwgMjUyLCAxMjgsIDI1LCA1LCAKLSAgICA3NiwgMjUyLCAxMjgsIDI1LCA1LCAyMjYsIDcxLCA3NiwgMjUyLCAxMjgsIDI1LCA1LCAyNDUsIDIxNywgMjUyLCAxMjgsIAotICAgIDI1LCA1LCA3NCwgMjUyLCAxMjgsIDI1LCA1LCAyMzQsIDIxOCwgNzQsIDI1MiwgMTI4LCAyNSwgNSwgNzgsIDI1MiwgMTI4LCAKLSAgICAyNSwgNSwgMjM0LCAyMTgsIDc4LCAyNTIsIDEyOCwgMjUsIDUsIDY5LCAyNTIsIDEyOCwgMjUsIDUsIDEwNCwgMzEsIDIxOSwgCi0gICAgMTY2LCAyMDYsIDI1MiwgMTI4LCAxMTcsIDUsIDIyOSwgODQsIDI1MiwgMTI4LCAxMTcsIDUsIDI0MiwgNjcsIDI1MiwgMTI4LCAKLSAgICAyMjYsIDQxLCAyNTIsIDEyOCwgMjI2LCAzNywgMjUyLCAxMjgsIDE2LCAyNTEsIDI0OSwgMjI5LCAyMzQsIDIzMSwgNDIsIAotICAgIDI1MiwgMTI4LCAxNiwgMjUxLCAyNDksIDIyNSwgNjcsIDI1MiwgMTI4LCAxNiwgMjUxLCAyNDksIDIzNSwgNTQsIDI1MiwgCi0gICAgMTI4LCAxNiwgMjUxLCAyNDksIDIyNiwgNDEsIDE5NywgMSwgMTc2LCAxOTcsIDEsIDIzNCwgNDUsIDE5NywgMSwgMjM0LCAKLSAgICAxMzgsIDE5NywgMSwgMjQzLCAxNDIsIDE5NywgMSwgMjQyLCAxOTMsIDE5NywgMSwgMjI5LCA4MiwgMTk3LCAxLCAyNTEsIAotICAgIDQxLCAxOTcsIDEsIDI1MCwgMTY1LCAxOTcsIDEsIDIzNSwgMTQ3LCAxOTcsIDEsIDIyNywgMTY5LCAxOTcsIDEsIDIxNywgCi0gICAgMTA2LCAxOTcsIDEsIDIxNiwgMjA5LCAxOTcsIDEsIDI0OCwgMjI5LCAxOTcsIDEsIDE5OCwgMTk3LCAxLCAxOTEsIDE5NywgCi0gICAgMSwgMjI1LCA0NSwgMTk3LCAxLCAyMjUsIDE1MCwgMTk3LCAxLCAyNDQsIDIwNCwgMTk3LCAxLCAyNDQsIDgzLCAxOTcsIDEsIAotICAgIDI1MiwgMTk5LCAxOTcsIDEsIDI1MSwgMjMwLCAxOTcsIDEsIDE4NiwgMTk3LCAxLCAyMzAsIDE3MywgMTk3LCAxLCAyMTUsIAotICAgIDE4NCwgMTk3LCAxLCAyMTUsIDE3NiwgMTk3LCAxLCAyNDYsIDQ2LCAxOTcsIDEsIDE5MiwgMTk3LCAxLCAyMDUsIDE5NywgMSwgCi0gICAgMjMzLCAxNDEsIDE5NywgMSwgMTYyLCAxOTcsIDEsIDI0MSwgMTYwLCAxOTcsIDEsIDIxNCwgMjcsIDE5NywgMSwgMjA2LCAKLSAgICAxOTcsIDEsIDIyMCwgMTA0LCAxOTcsIDEsIDIxMiwgNjUsIDE5NywgMSwgNjEsIDE5NywgMjE4LCA3NCwgMSwgMTkyLCAxOTcsIAotICAgIDIxOCwgNzQsIDEsIDIwNSwgMTk3LCAyNSwgNSwgMjU1LCA4MiwgMTk3LCAyNSwgNSwgNzQsIDE5NywgMjUsIDUsIDc4LCAKLSAgICAxOTcsIDI1LCA1LCAyMjYsIDE4NywgMTk3LCAyNSwgNSwgNjksIDE5NywgMjUsIDUsIDIxNCwgMTE4LCAxOTcsIDI1LCA1LCAKLSAgICA3NiwgMTk3LCAxMTcsIDUsIDIzNSwgMjksIDE5NywgMTE3LCA1LCAxOTQsIDE5NywgMTE3LCA1LCAxNTYsIDE5NywgMTE3LCAKLSAgICA1LCAyMzAsIDMwLCAxOTcsIDExNywgNSwgMjI2LCAxMDksIDE5NywgMTE3LCA1LCAxNTMsIDE5NywgMTE3LCA1LCAyMTcsIAotICAgIDE1MywgMTk3LCAxMTcsIDUsIDIyNywgMTQ2LCAxOTcsIDExNywgNSwgMjM0LCAyMzYsIDE5NywgNSwgMjIzLCAxNTMsIDE5NywgCi0gICAgNSwgMjI3LCAyMDksIDE5NywgMjI0LCAxNDQsIDIxNywgMTA0LCAxOTcsIDIyNCwgMTQ0LCAyMjcsIDE1NiwgMjE2LCAxMjEsIAotICAgIDIxNywgMTA0LCAxOTcsIDIyNCwgMTQ0LCAyNTAsIDE3MiwgMTk3LCAyMjQsIDE0NCwgMjE1LCAxNzEsIDI1MCwgMTcyLCAKLSAgICAxOTcsIDIyNCwgMTQ0LCAyMTUsIDE3MCwgMTk3LCAyMSwgMjEwLCA4NiwgMTk3LCAyMSwgMTExLCAxOTcsIDIxLCAxMDUsIAotICAgIDE5NywgMjEsIDE1OCwgMTk3LCAyMSwgMTYxLCAxOTcsIDIxLCAxOTAsIDE5NywgMjEsIDE5NSwgMTk3LCAyMSwgMTk5LCAKLSAgICAxOTcsIDIxLCAxOTYsIDE5NywgMjEsIDIwMSwgMTk3LCAxLCAyMTUsIDE1NywgMTk3LCAxLCAyMTUsIDE0NSwgMTk3LCAxLCAKLSAgICAyNDgsIDE0MywgMjI2LCAyMTQsIDI1MCwgMTExLCAyMSwgMjEwLCA4NiwgMjI2LCAyMTQsIDI1MCwgMTExLCAyMSwgMTExLCAKLSAgICAyMjYsIDIxNCwgMjUwLCAxMTEsIDIxLCAxMDUsIDIyNiwgMjE0LCAyNTAsIDExMSwgMjEsIDE1OCwgMjI2LCAyMTQsIDI1MCwgCi0gICAgMTExLCAyMSwgMTYxLCAyMjYsIDIxNCwgMjUwLCAxMTEsIDIxLCAxOTAsIDIyNiwgMjE0LCAyNTAsIDExMSwgMjEsIDE5NSwgCi0gICAgMjI2LCAyMTQsIDI1MCwgMTExLCAyMSwgMTk5LCAyMjYsIDIxNCwgMjUwLCAxMTEsIDIxLCAxOTYsIDIyNiwgMjE0LCAyNTAsIAotICAgIDExMSwgMjEsIDIwMSwgMjI2LCAyMTQsIDI1MCwgMTExLCAxLCAyMzMsIDE0MSwgMjI2LCAyMTQsIDI1MCwgMTExLCAxLCAKLSAgICAyNTMsIDIxNCwgMjI2LCAyMTQsIDI1MCwgMTExLCAxLCAyNTQsIDIyNSwgMjI2LCAyMTQsIDI1MCwgMTExLCAxLCAyNTQsIAotICAgIDEyMywgMjI2LCAyMTQsIDI1MCwgMTExLCAxLCAyNTQsIDE4NywgMjI2LCAyMTQsIDI1MCwgMTExLCAxLCAyMzMsIDE0MCwgCi0gICAgMjI2LCAyMTQsIDI1MCwgMTExLCAxLCAyNTUsIDQ0LCAyMjYsIDIxNCwgMjUwLCAxMTEsIDEsIDI1NSwgNDUsIDIyNiwgMjE0LCAKLSAgICAyNTAsIDExMSwgMSwgMjU1LCA0MywgMjI2LCAyMTQsIDI1MCwgMTExLCAxLCAyNTUsIDM4LCAyMjYsIDIxNCwgMjUwLCAxMTEsIAotICAgIDEsIDIzMiwgMjQ3LCAyMjYsIDIxNCwgMjUwLCAxMTEsIDEsIDIzNSwgMTc4LCAyMjYsIDIxNCwgMjUwLCAxMTEsIDEsIDIzNiwgCi0gICAgNDEsIDIyNiwgMjE0LCAyNTAsIDExMSwgMSwgMjM1LCAxOTcsIDIyNiwgMjE0LCAyNTAsIDExMSwgMSwgMjM1LCAxODYsIAotICAgIDIyNiwgMjE0LCAyNTAsIDExMSwgMSwgMjMyLCAxMDMsIDIyNiwgMjE0LCAyNTAsIDExMSwgMSwgMjE0LCAyMjEsIDIyNiwgCi0gICAgMjE0LCAyNTAsIDExMSwgMSwgMjE0LCAyMTksIDIyNiwgMjE0LCAyNTAsIDExMSwgMSwgMjE0LCAxNjgsIDIyNiwgMjE0LCAKLSAgICAyNTAsIDExMSwgMSwgMjE0LCAxMTEsIDIyNiwgMjE0LCAyNTAsIDExMSwgMSwgMjMzLCA2NCwgMjI2LCAyMTQsIDI1MCwgCi0gICAgMTExLCAxLCAyNDUsIDExNiwgMjI2LCAyMTQsIDI1MCwgMTExLCAxLCAyNDUsIDIyMCwgMjI2LCAyMTQsIDI1MCwgMTExLCAxLCAKLSAgICAyNDUsIDE1OCwgMjI2LCAyMTQsIDI1MCwgMTExLCAxLCAyNDUsIDk0LCAyMjYsIDIxNCwgMjUwLCAxMTEsIDEsIDIzMiwgCi0gICAgMTYyLCAyMjYsIDIxNCwgMjUwLCAxMTEsIDEsIDIyNiwgMTQxLCAyMjYsIDIxNCwgMjUwLCAxMTEsIDEsIDIyNywgMCwgMjI2LCAKLSAgICAyMTQsIDI1MCwgMTExLCAxLCAyMjYsIDEyOSwgMjI2LCAyMTQsIDI1MCwgMTExLCAxLCAyMjYsIDIyNiwgMjI2LCAyMTQsIAotICAgIDI1MCwgMTExLCAyMzAsIDEwOCwgMjE1LCAxMjIsIDIyNiwgMjE0LCAyNTAsIDExMSwgMjQzLCAxMzcsIDIxNSwgMTIzLCAKLSAgICAyMjYsIDIxNCwgMjUwLCAxMTEsIDIzMCwgMTA2LCAyMTUsIDEyMywgMjI2LCAyMTQsIDI1MCwgMTExLCAyMjMsIDk1LCAyMjYsIAotICAgIDIxNCwgMjUwLCAxMTEsIDIyNSwgMTQ4LCAyMjYsIDIxNCwgMjUwLCAxMTEsIDI1NCwgMjE3LCAyMjYsIDIxNCwgMjUwLCAKLSAgICAxMTEsIDIyNCwgMTQ0LCAyMzAsIDEwMywgMjI2LCAyMTQsIDI1MCwgMTExLCAyMjQsIDE0NCwgNTIsIDIzMCwgMTAzLCAyMDcsIAotICAgIDIyNCwgMTQ0LCAyNTEsIDI0OSwgMjE4LCA5LCAyMDcsIDIyNCwgMTQ0LCAyNTEsIDI0OSwgMjI2LCA0MiwgMjA3LCAyMjQsIAotICAgIDE0NCwgMjUxLCAyNDksIDIyNCwgMTMyLCAyMDcsIDIyNCwgMTQ0LCAyNTEsIDI0OSwgMjUxLCAyNywgMjA3LCAyMjQsIDE0NCwgCi0gICAgMjUxLCAyNDksIDIzMywgMTQsIDIyMSwgMjI3LCAyMDcsIDIyNCwgMTQ0LCAyNTEsIDI0OSwgMjM1LCAxOSwgMjIxLCAyMjcsIAotICAgIDIwNywgMjI0LCAxNDQsIDI1MSwgMjQ5LCAyNDgsIDIzMCwgMjIxLCAyMjcsIDIwNywgMjI0LCAxNDQsIDI1MSwgMjQ5LCAKLSAgICAyNTIsIDIwMCwgMjIxLCAyMjcsIDIxMywgMjUyLCAxMzgsIDIzNCwgMjE2LCAyMTMsIDI1MiwgMTM4LCAyMjAsIDc5LCAyMTMsIAotICAgIDI1MiwgMTM4LCAyMjQsIDIwMSwgMjEzLCAyNTIsIDUsIDIyOCwgMjE0LCAyMTMsIDI1MiwgNSwgMjExLCA4MCwgMjMwLCAKLSAgICAyMjcsIDIxOCwgMSwgMjEzLCAyNTIsIDEzOCwgMjExLCA4MCwgMjU0LCAyMjIsIDIzNSwgMjUwLCAyMTgsIDEsIDIxMywgCi0gICAgMjUyLCAxMzgsIDIxMSwgODAsIDIzNSwgMjUwLCAyMTgsIDEsIDIxMywgMjUyLCAxMzgsIDIxMSwgODAsIDIzNCwgMjA0LCAKLSAgICAyMzUsIDI1MCwgMjE4LCAxLCAyMTMsIDI1MiwgMTM4LCAyNTEsIDEwLCA1MSwgMjEzLCAyNTIsIDEzOCwgMjExLCA4MCwgCi0gICAgMjM0LCAyMDQsIDIzNSwgMjUwLCAyMTgsIDIsIDIyMSwgMTk5LCAyMTMsIDI1MiwgMTM4LCA1MiwgMjE4LCAxLCAyMTMsIAotICAgIDI1MiwgMTM4LCAyMTUsIDIxMiwgMjE4LCAxLCAyMTMsIDI1MiwgMTM4LCAyMzQsIDIwNCwgMjU0LCA4NSwgMjEzLCAyNTIsIAotICAgIDEzOCwgNTksIDUxLCAyMTMsIDI1MiwgMTM4LCAxMTMsIDE3MCwgNTEsIDIxMywgMjUyLCAxMzgsIDEzNCwgMTcwLCA1MSwgCi0gICAgMjEzLCAyNTIsIDEzOCwgMjIyLCAyNDMsIDIzNCwgMjE1LCAyMzUsIDI1MCwgMjE4LCAxLCAyMTMsIDI1MiwgMTM4LCAyNTMsIAotICAgIDIxMiwgMjM1LCAyNTAsIDIxOCwgMSwgMjEzLCAyNTIsIDUsIDIxMywgMTQ4LCAyMTgsIDEsIDIxMywgMjUyLCA1LCAyMTMsIAotICAgIDE0OCwgMjE0LCAyMTYsIDIxMywgMjUyLCA1LCAyMjMsIDUyLCAyMTMsIDE0OCwgMjE0LCAyMTYsIDIxMywgMjUyLCA1LCAKLSAgICAyMTMsIDE0OCwgMjU0LCA4NSwgMjEzLCAyNTIsIDUsIDIyMywgNTIsIDIxMywgMTQ4LCAyNTQsIDg1LCAyMTMsIDI1MiwgNSwgCi0gICAgMjEzLCAxNDgsIDIxNCwgMjE3LCAyLCAyMTcsIDc4LCAyMTMsIDI1MiwgNSwgMjEzLCAxNDgsIDI1NCwgODYsIDIsIDIxNywgCi0gICAgNzgsIDIxMywgMjUyLCA1LCAyNTQsIDg0LCAyNTQsIDk5LCAyMTMsIDI1MiwgNSwgMjU0LCA4NCwgMjUyLCAxNzQsIDIxMywgCi0gICAgMjUyLCA1LCAyNTQsIDg0LCAyMTQsIDIwLCAyMTMsIDI1MiwgNSwgMjU0LCA4NCwgMjE0LCAyMSwgMiwgMjE3LCA3OCwgMjEzLCAKLSAgICAyNTIsIDUsIDIxNiwgNjksIDIxMywgMjUyLCA1LCAyNDEsIDE5OCwgMjAwLCAyNTQsIDgzLCAyMTMsIDI1MiwgNSwgMjAwLCAKLSAgICAyNTQsIDgzLCAyMTMsIDI1MiwgNSwgMjIyLCAxNDQsIDIwMCwgMjU0LCA4MywgMjEzLCAyNTIsIDUsIDI1NCwgODQsIDIxNCwgCi0gICAgMjIzLCAyMzAsIDk1LCAyMTMsIDI1MiwgNSwgMjU0LCAyOCwgMjEzLCAyNTIsIDUsIDIyMiwgMTg5LCAyNTQsIDI4LCAyMTMsIAotICAgIDI1MiwgMTM4LCAyNTEsIDEwLCA0OCwgMjEzLCAyNTIsIDUsIDIzNSwgMTA4LCAyMTMsIDI1MiwgNSwgMjE0LCAxNjEsIDcsIAotICAgIDEsIDQsIDYsIDYxLCA3LCAxLCA0LCA2LCAyNTQsIDI1MiwgNywgNCwgMSwgMjE1LCA5NCwgMjU0LCAyNTIsIDcsIDEsIDQsIAotICAgIDYsIDI1MiwgMTQyLCAyNTMsIDE2NiwgNywgMSwgNCwgNiwgMjUxLCA3NCwgNywgMSwgNCwgNiwgMjQ5LCA2OCwgNywgMSwgNCwgCi0gICAgNiwgMjQ1LCA2NywgNywgMSwgNCwgNiwgNzYsIDcsIDQsIDEsIDIxNSwgOTQsIDIwNCwgNzYsIDcsIDQsIDEsIDIxNSwgOTQsIAotICAgIDc0LCA3LCAxLCA0LCA2LCAyMzUsIDE1MCwgNywgMSwgNCwgNiwgMjM1LCAyOSwgNywgMSwgNCwgNiwgMjMzLCAxNTUsIDIsIAotICAgIDkxLCA3LCAxLCA0LCA2LCAxOTQsIDcsIDEsIDQsIDYsIDIyMywgNTIsIDIzMCwgMzAsIDcsIDEsIDQsIDYsIDc4LCA3LCAxLCAKLSAgICA0LCA2LCAyMDQsIDc4LCA3LCA0LCAxLCAyMTksIDE4OSwgNzgsIDcsIDQsIDEsIDIxOSwgMTg5LCAyMDQsIDc4LCA3LCA0LCAKLSAgICAxLCAyMTksIDE4OSwgMTQ0LCAyLCA5MSwgNywgNCwgMSwgMjE1LCA5NCwgMjI2LCAyMzgsIDcsIDEsIDQsIDYsIDIyNiwgCi0gICAgMTM4LCA3LCA0LCAxLCAyMTYsIDE1LCAxNjMsIDc4LCA3LCA0LCAxLCAyNTEsIDE4MywgMTYzLCA3OCwgNywgMSwgNCwgNiwgCi0gICAgMjI2LCAxMDksIDcsIDEsIDQsIDYsIDIyMywgNTIsIDE1MywgNywgMSwgNCwgNiwgMjE1LCA5NCwgMTUzLCA3LCAxLCA0LCA2LCAKLSAgICAyMTcsIDE1MywgNywgMSwgNCwgNiwgNjksIDcsIDQsIDEsIDIxOSwgMTg5LCA2OSwgNywgNCwgMSwgMjE5LCAxODksIDI0OCwgCi0gICAgOCwgNjksIDcsIDQsIDEsIDIxOSwgMTg5LCAyMTUsIDk0LCAxOTQsIDcsIDEsIDQsIDYsIDIxNCwgMTA1LCA3LCAxLCA0LCA2LCAKLSAgICAyMTIsIDk4LCA3LCAxLCA0LCA2LCAyMTAsIDE1OSwgNywgMSwgNCwgNiwgMjQ1LCAxNiwgNywgMSwgMjEzLCAxMzUsIDIzMywgCi0gICAgODgsIDIxOCwgMjUyLCA3LCAxLCAyNTQsIDIwNSwgMjYsIDEsIDQsIDYsIDI0MywgMTE0LCAyNiwgMSwgNCwgNiwgMjMzLCAKLSAgICAxMDQsIDI2LCAxLCA0LCA2LCAyMjUsIDExMSwgMjYsIDEsIDQsIDYsIDIyMywgNDAsIDI2LCAxLCA0LCA2LCAyMjQsIDE2NCwgCi0gICAgMzMsIDEsIDQsIDYsIDI0NSwgMTgyLCA1OCwgMSwgNiwgNjEsIDU4LCAxLCA2LCAyNTQsIDI1MiwgNTgsIDEsIDYsIDI1MywgCi0gICAgMTY2LCA1OCwgMSwgNiwgMjUyLCAxNDIsIDI1MywgMTY2LCA1OCwgMSwgNiwgMjQ5LCA2OCwgNTgsIDEsIDYsIDc2LCA1OCwgCi0gICAgMSwgNiwgMjIzLCA1MiwgNzYsIDU4LCAxLCA2LCAyNDMsIDIwOSwgNTgsIDEsIDYsIDI0MiwgNjcsIDU4LCAxLCA2LCA3NCwgCi0gICAgNTgsIDEsIDYsIDIzNSwgMTUwLCA1OCwgMSwgNiwgMjM1LCAyOSwgNTgsIDEsIDYsIDE1NiwgNTgsIDEsIDYsIDE5NCwgNTgsIAotICAgIDEsIDYsIDIzMCwgMzAsIDU4LCAxLCA2LCAyMjMsIDUyLCAyMzAsIDMwLCA1OCwgMSwgNiwgNzgsIDU4LCAxLCA2LCAyMjYsIAotICAgIDEzOCwgNTgsIDEsIDYsIDIyNiwgMTA5LCA1OCwgMSwgNiwgMTUzLCA1OCwgMSwgNiwgMjE3LCAxNTMsIDU4LCAxLCA2LCA2OSwgCi0gICAgNTgsIDEsIDYsIDIxMiwgOTgsIDU4LCAxLCA0LCA2MSwgNTgsIDEsIDQsIDIxNSwgOTQsIDYxLCA1OCwgMSwgNCwgMjU0LCAKLSAgICAxNTEsIDU4LCAxLCA0LCAyMTUsIDk0LCAyNTQsIDI1MiwgNTgsIDEsIDQsIDI1MywgMTY2LCA1OCwgMSwgNCwgMjQ5LCA2OCwgCi0gICAgNTgsIDEsIDQsIDc2LCA1OCwgMSwgNCwgMjIxLCAxOTcsIDU4LCAxLCA0LCAyMDQsIDc2LCA1OCwgMSwgNCwgMjE1LCA5NCwgCi0gICAgMjA0LCA3NiwgNTgsIDEsIDQsIDI0MywgMjA5LCA1OCwgMSwgNCwgMjE1LCA5NCwgNzQsIDU4LCAxLCA0LCAyMzUsIDI5LCAKLSAgICA1OCwgMSwgNCwgMTk0LCA1OCwgMSwgNCwgMjQ1LCAxNDYsIDU4LCAxLCA0LCA3OCwgNTgsIDEsIDQsIDIwNCwgNzgsIDU4LCAKLSAgICAxLCA0LCAyMTYsIDE1LCAxNjMsIDc4LCA1OCwgMSwgNCwgMjUxLCAxODMsIDE2MywgNzgsIDU4LCAxLCA0LCAyMjYsIDEwOSwgCi0gICAgNTgsIDEsIDQsIDIxNywgMTUzLCA1OCwgMSwgNCwgNjksIDU4LCAxLCA0LCAyMTksIDE4OSwgNjksIDU4LCAxLCA0LCAyMTUsIAotICAgIDk0LCAxOTQsIDU4LCAxLCA0LCAyMTQsIDEwNSwgNTgsIDEsIDQsIDI1NCwgMjA1LCA1OCwgMSwgNCwgMjUyLCAzNCwgNTgsIAotICAgIDEsIDQsIDI2LCAyNDMsIDExNCwgNTgsIDEsIDQsIDI0OCwgNjIsIDU4LCAxLCA0LCAyNiwgMjI1LCAxMzYsIDU4LCAxLCA0LCAKLSAgICAyNTAsIDExOCwgNywgMjE4LCA2NiwgNCwgMSwgNzQsIDcsIDIxOCwgNjYsIDQsIDEsIDE1MywgNywgMjE4LCA2NiwgNCwgMSwgCi0gICAgNjksIDcsIDIxOCwgNjYsIDQsIDEsIDIxNCwgMTA1LCAyNiwgMjE4LCA2NiwgNCwgMSwgMjUyLCAzNCwgMjYsIDIxOCwgNjYsIAotICAgIDQsIDEsIDI0MywgMTE0LCAyNiwgMjE4LCA2NiwgNCwgMSwgMjIzLCA0MCwgMjYsIDIxOCwgNjYsIDQsIDEsIDIyNSwgMTM2LCAKLSAgICAyNiwgMjE4LCA2NiwgNCwgMSwgMjUwLCAxMTgsIDcsIDQsIDEsIDIxNCwgMjE0LCA3LCA0LCAxLCA1NywgMiwgMjMwLCAyMjksIAotICAgIDE4NCwgNywgNCwgMSwgMjQ5LCA2OSwgMiwgMjMwLCAyMjksIDE4NCwgNywgNCwgMSwgMjQ1LCAxNSwgMiwgMjMwLCAyMjksIAotICAgIDE4NCwgNywgNCwgMSwgMjMyLCA1NSwgMiwgMjMwLCAyMjksIDE4NCwgNywgNCwgMSwgMjMwLCAzMSwgMiwgMjMwLCAyMjksIAotICAgIDE4NCwgNywgNCwgMSwgMjI2LCAxMTAsIDIsIDIzMCwgMjI5LCAxODQsIDcsIDQsIDEsIDIyMywgMjI3LCAyLCAyMzAsIDIyOSwgCi0gICAgMTg0LCA3LCA0LCAxLCAyMjMsIDIyNywgMiwgMjQ0LCA5NiwgMjIsIDIzMCwgMjI5LCAxODQsIDcsIDQsIDEsIDIyMiwgOTQsIAotICAgIDIsIDIzMCwgMjI5LCAxODQsIDcsIDQsIDEsIDIxNywgMTU0LCAyLCAyMzAsIDIyOSwgMTg0LCA3LCA0LCAxLCAyMTAsIDE2MCwgCi0gICAgMiwgMjMwLCAyMjksIDE4NCwgNywgNCwgMSwgMjE1LCA5NCwgMjQzLCAyMDksIDU4LCAxLCAzMywgMjQ1LCAxNTgsIDcsIDQsIAotICAgIDEsIDIzNSwgMjIwLCAyNDMsIDIwOSwgNywgNCwgMSwgMjE2LCAyMTIsIDIsIDIxOCwgMTA5LCA3LCA0LCA2LCAxLCAyNDAsIAotICAgIDE2MSwgMiwgOTEsIDcsIDQsIDEsIDIzNSwgMTkzLCAyLCA5MSwgNywgNCwgMSwgMjI2LCAxMTAsIDIsIDkxLCA3LCA0LCA2LCAKLSAgICAxLCAxMDQsIDIsIDkxLCA3LCA0LCAxLCAyMTQsIDE1OCwgMiwgOTEsIDcsIDQsIDEsIDU3LCAyLCAyMjYsIDcwLCAxMDMsIDcsIAotICAgIDQsIDEsIDI0OSwgNjksIDIsIDIyNiwgNzAsIDEwMywgNywgNCwgMSwgMjQ1LCAxNSwgMiwgMjI2LCA3MCwgMTAzLCA3LCA0LCAKLSAgICAxLCAyNDMsIDIxMCwgMiwgMjI2LCA3MCwgMTAzLCA3LCA0LCAxLCAyMzUsIDMwLCAyLCAyMjYsIDcwLCAxMDMsIDcsIDQsIDEsIAotICAgIDIzMywgMTU1LCAyLCAyMjYsIDcwLCAxMDMsIDcsIDQsIDEsIDIzMiwgNTUsIDIsIDIyNiwgNzAsIDEwMywgNywgNCwgMSwgCi0gICAgMjMwLCAzMSwgMiwgMjI2LCA3MCwgMTAzLCA3LCA0LCAxLCAyMjYsIDExMCwgMiwgMjI2LCA3MCwgMTAzLCA3LCA0LCAxLCAKLSAgICAyMjMsIDIyNywgMiwgMjI2LCA3MCwgMTAzLCA3LCA0LCAxLCAyMjIsIDk0LCAyLCAyMjYsIDcwLCAxMDMsIDcsIDQsIDEsIAotICAgIDI0NSwgODQsIDIsIDIyNiwgNzAsIDEwMywgNywgNCwgMSwgMjE0LCAxMDYsIDIsIDIyNiwgNzAsIDEwMywgNywgNCwgMSwgCi0gICAgMjExLCAxNzksIDIsIDIyNiwgNzAsIDEwMywgNywgNCwgMSwgMjEwLCAxNjAsIDIsIDIyNiwgNzAsIDEwMywgNywgNCwgMSwgCi0gICAgMTE2LCAyLCAyMjMsIDU4LCAxMDMsIDcsIDQsIDEsIDI1NCwgMTUyLCAyLCAyMjMsIDU4LCAxMDMsIDcsIDQsIDEsIDI0OSwgCi0gICAgNjksIDIsIDI0MSwgNTksIDIyLCAyMTcsIDc4LCA3LCA0LCAxLCAxNjAsIDIsIDIyMywgNTgsIDEwMywgNywgNCwgMSwgMjA0LCAKLSAgICAxNjAsIDIsIDIyMywgNTgsIDEwMywgNywgNCwgMSwgMjIzLCA1MiwgMjA0LCAxNjAsIDIsIDIyMywgNTgsIDEwMywgNywgNCwgCi0gICAgMSwgMjIxLCAxOTgsIDIsIDIyMywgNTgsIDEwMywgNywgNCwgMSwgMjQwLCAxNjEsIDIsIDIyMywgNTgsIDEwMywgNywgNCwgCi0gICAgMSwgMjA0LCAxNDQsIDIsIDIyMywgNTgsIDEwMywgNywgNCwgMSwgMjQ1LCA4NCwgMiwgMjIzLCA1OCwgMTAzLCA3LCA0LCAxLCAKLSAgICAxMDQsIDIsIDIyMywgNTgsIDEwMywgNywgNCwgMSwgMjQ1LCAxNywgMiwgMjIzLCA1OCwgMTAzLCA1OCwgMSwgNCwgMjE1LCAKLSAgICA5NCwgMjU0LCAxNTEsIDU4LCAxLCA0LCAyNTEsIDc0LCA1OCwgMSwgNCwgMjUxLCA3NSwgMiwgMjQ5LCAxMDgsIDU4LCAxLCAKLSAgICA0LCAyNDUsIDY3LCA1OCwgMSwgNCwgMjIzLCA1MiwgMjA0LCA3NiwgNTgsIDEsIDQsIDI0NSwgMTQsIDU4LCAxLCA0LCAyNDcsIAotICAgIDEyNywgMjM1LCAxNTEsIDIsIDkxLCA1OCwgMSwgNCwgMTE5LCAyNDMsIDIwOSwgNTgsIDEsIDQsIDIxNSwgOTQsIDI0MiwgCi0gICAgNjcsIDU4LCAxLCA0LCAyNDAsIDE2MSwgMiwgOTEsIDU4LCAxLCA0LCAyMzUsIDE5MiwgNTgsIDEsIDQsIDYsIDc0LCA1OCwgCi0gICAgMSwgNCwgNiwgMjQwLCAxNjEsIDIsIDkxLCA1OCwgMSwgNCwgMjM1LCAxNTEsIDIsIDI0OSwgMTM1LCA1OCwgMSwgNCwgMjMzLCAKLSAgICAxNTUsIDIsIDIyMywgNTgsIDEwMywgNTgsIDEsIDQsIDIzMywgMTU1LCAyLCAyMjYsIDcwLCAxMDMsIDU4LCAxLCA0LCA2LCAKLSAgICAxNTYsIDU4LCAxLCA0LCAyMzIsIDU1LCAyLCAxMDMsIDU4LCAxLCA0LCAyMTUsIDk0LCAyMzIsIDU1LCAyLCAyMDAsIDIzMywgCi0gICAgNDIsIDU4LCAxLCA0LCAyMzAsIDMxLCAyLCA0MywgMTAzLCA1OCwgMSwgNCwgMjMwLCAzMSwgMiwgMjIzLCA1OCwgMTAzLCAKLSAgICA1OCwgMSwgNCwgNiwgMjMwLCAzMCwgNTgsIDEsIDQsIDI1MiwgMTQyLCA3OCwgNTgsIDEsIDQsIDIyNSwgMTM2LCA1OCwgMSwgCi0gICAgNCwgMjIyLCA5NCwgMiwgMTAzLCA1OCwgMSwgNCwgMjQ1LCA4MywgNTgsIDEsIDQsIDIxNywgMTU0LCAyLCAyMjYsIDcwLCAKLSAgICAxMDMsIDU4LCAxLCA0LCAxMDQsIDEzMCwgNTgsIDEsIDQsIDIxNCwgMTU3LCA1OCwgMSwgNCwgNiwgNjksIDU4LCAxLCA0LCAKLSAgICAyMTQsIDEwNiwgMiwgMTAzLCA1OCwgMSwgNCwgMjE1LCA5NCwgMjE0LCAxMDUsIDU4LCAxLCA0LCAyMTAsIDE1OSwgNTgsIDEsIAotICAgIDQsIDIxMCwgMTYwLCAyLCAyMjMsIDU4LCAxMDMsIDU4LCAxLCA0LCAyMTAsIDE2MCwgMiwgMjQ5LCAxMDgsIDU4LCAxLCA0LCAKLSAgICAyNDUsIDE2LCA1OCwgMSwgNCwgMjE2LCAxODAsIDM4LCAyNDYsIDEyNiwgMjQyLCAxNDQsIDI1NSwgMjMsIDM4LCAyNDYsIAotICAgIDEyNiwgMjU1LCAxMiwgMjU1LCAyMywgMzgsIDIxOSwgNzEsIDUxLCAzOCwgMjE4LCA3LCA3OSwgMzgsIDIzMSwgMjM2LCAzOCwgCi0gICAgMjQyLCAxNDEsIDM4LCAyMzEsIDIzNCwgMzgsIDI1NSwgMTAsIDM4LCAyNDIsIDE0MiwgMzgsIDI1NSwgMTEsIDM4LCA3LCA0LCAKLSAgICAxLCAyMjMsIDIyNywgNTEsIDM4LCAyNTEsIDE1MywgMzgsIDIzMSwgMjM1LCAzOCwgNTIsIDI1MCwgMzksIDQ4LCAzOCwgCi0gICAgMjI2LCAyMjksIDQ4LCAzOCwgMjEwLCAzNSwgNTEsIDM4LCAyMzUsIDE3OSwgNTEsIDM4LCAyMTQsIDE1MSwgNDgsIDM4LCAKLSAgICAyMTQsIDEzNCwgNDgsIDM4LCA3LCA0LCAxLCAyNDQsIDcxLCAyMDQsIDExNiwgNDgsIDM4LCA3LCA0LCAxLCAyNTQsIDI1MiwgCi0gICAgMzgsIDcsIDQsIDEsIDI1NCwgODEsIDM4LCA3LCA0LCAxLCAyNTMsIDE4NCwgMzgsIDcsIDQsIDEsIDI1MSwgNzUsIDI1MCwgCi0gICAgMTkxLCAzOCwgNywgNCwgMSwgMjM1LCAyMjAsIDI0OSwgNjgsIDM4LCA3LCA0LCAxLCAyNDUsIDY3LCAzOCwgNywgNCwgMSwgCi0gICAgMjQzLCAyMDksIDM4LCA3LCAxLCA0LCA2LCAyNDMsIDIwOSwgMzgsIDcsIDQsIDEsIDIzNSwgMjksIDM4LCA3LCA0LCAxLCAKLSAgICAxNTYsIDM4LCA3LCAxLCA0LCA2LCAxNTYsIDM4LCA3LCAxLCA0LCA2LCAxOTQsIDM4LCA3LCA0LCAxLCAyMzAsIDMwLCAzOCwgCi0gICAgNywgMSwgNCwgNiwgMjMwLCAzMCwgMzgsIDcsIDEsIDQsIDYsIDE1MywgMzgsIDcsIDQsIDEsIDIyMywgMjI3LCAyMjIsIAotICAgIDE4OCwgMzgsIDcsIDQsIDEsIDIyMiwgOTMsIDM4LCA3LCA0LCAxLCAyMDAsIDIyMiwgOTMsIDM4LCA3LCA0LCAxLCAyMTAsIAotICAgIDE1OSwgMzgsIDUyLCAyMzUsIDIwMCwgMjUxLCAxNTUsIDUxLCAzOCwgMjU0LCAxNTYsIDEyOCwgMjE2LCA0MywgNTEsIDM4LCAKLSAgICA0MywgMjU0LCAyLCA0OCwgMzgsIDQ0LCAyNTQsIDIsIDIyLCAxMjQsIDI1NCwgMiwgNTEsIDcsIDYsIDEsIDExNiwgMiwgCi0gICAgMjIyLCAyMzcsIDUxLCA3LCA0LCAxLCAxMTYsIDIsIDIyMiwgMjM3LCA1MSwgNywgNiwgMSwgNTcsIDIsIDU5LCA0OCwgNywgCi0gICAgNCwgMSwgNTcsIDIsIDU5LCA0OCwgNywgNiwgMSwgNTcsIDIsIDU5LCA1MSwgNywgNCwgMSwgNTcsIDIsIDU5LCA1MSwgNywgCi0gICAgNiwgMSwgNTcsIDIsIDIzMiwgMjIwLCA1MSwgNywgNCwgMSwgNTcsIDIsIDIzMiwgMjIwLCA1MSwgNywgNiwgMSwgMjUxLCAKLSAgICA3NSwgMiwgMjUwLCAxOTIsIDIyLCAxNDIsIDcsIDQsIDEsIDI1MSwgNzUsIDIsIDI1MCwgMTkyLCAyMiwgMTQyLCA3LCA2LCAKLSAgICAxLCAyNDksIDY5LCAyLCA1OSwgNDgsIDcsIDQsIDEsIDI0OSwgNjksIDIsIDU5LCA0OCwgNywgNiwgMSwgMjQ5LCA2OSwgMiwgCi0gICAgNTksIDUxLCA3LCA0LCAxLCAyNDksIDY5LCAyLCA1OSwgNTEsIDcsIDYsIDEsIDI0OSwgNjksIDIsIDIzMiwgMjIwLCA1MSwgCi0gICAgNywgNCwgMSwgMjQ5LCA2OSwgMiwgMjMyLCAyMjAsIDUxLCA3LCA2LCAxLCAyNDksIDY5LCAyLCAyNTAsIDE5MSwgNywgNCwgCi0gICAgMSwgMjQ5LCA2OSwgMiwgMjUwLCAxOTEsIDcsIDYsIDEsIDI0OSwgNjksIDIsIDI1MCwgMzksIDUxLCA3LCA0LCAxLCAyNDksIAotICAgIDY5LCAyLCAyNTAsIDM5LCA1MSwgNywgNiwgMSwgMTYwLCAyLCAyMzEsIDIzOCwgMjIsIDI0MiwgMTQzLCA3LCA0LCAxLCAKLSAgICAxNjAsIDIsIDIzMSwgMjM4LCAyMiwgMjQyLCAxNDMsIDcsIDYsIDEsIDE2MCwgMiwgMjMxLCAyMzgsIDIyLCAxNDIsIDcsIDQsIAotICAgIDEsIDE2MCwgMiwgMjMxLCAyMzgsIDIyLCAxNDIsIDcsIDYsIDEsIDE2MCwgMiwgMjUwLCAzOSwgNTEsIDcsIDQsIDEsIDE2MCwgCi0gICAgMiwgMjUwLCAzOSwgNTEsIDcsIDYsIDEsIDE2MCwgMiwgMjE2LCA5MCwgNTEsIDcsIDQsIDEsIDE2MCwgMiwgMjE2LCA5MCwgCi0gICAgNTEsIDcsIDYsIDEsIDE2MCwgMiwgMjUwLCAxOTIsIDIyLCAyNTEsIDE1NCwgNywgNCwgMSwgMTYwLCAyLCAyNTAsIDE5MiwgCi0gICAgMjIsIDI1MSwgMTU0LCA3LCA2LCAxLCAyNDUsIDE1LCAyLCA1OSwgNDgsIDcsIDQsIDEsIDI0NSwgMTUsIDIsIDU5LCA0OCwgCi0gICAgNywgNiwgMSwgMjQzLCAyMTAsIDIsIDIzMSwgMjM3LCA3LCA0LCAxLCAyNDMsIDIxMCwgMiwgMjMxLCAyMzcsIDcsIDYsIDEsIAotICAgIDI0MiwgNjgsIDIsIDU5LCA0OCwgNywgNCwgMSwgMjQyLCA2OCwgMiwgNTksIDQ4LCA3LCA2LCAxLCAyNDIsIDY4LCAyLCA1OSwgCi0gICAgNTEsIDcsIDQsIDEsIDI0MiwgNjgsIDIsIDU5LCA1MSwgNywgNiwgMSwgMjQyLCA2OCwgMiwgMjQ4LCA5LCA3LCA0LCAxLCAKLSAgICAyNDIsIDY4LCAyLCAyNDgsIDksIDcsIDYsIDEsIDI0MiwgNjgsIDIsIDI1MCwgMTkxLCA3LCA0LCAxLCAyNDIsIDY4LCAyLCAKLSAgICAyNTAsIDE5MSwgNywgNiwgMSwgMjQyLCA2OCwgMiwgMjUxLCAxNTUsIDUxLCA3LCA0LCAxLCAyNDIsIDY4LCAyLCAyNTEsIAotICAgIDE1NSwgNTEsIDcsIDYsIDEsIDI0MCwgMTYxLCAyLCAyMTYsIDkwLCA1MSwgNywgNCwgMSwgMjQwLCAxNjEsIDIsIDIxNiwgCi0gICAgOTAsIDUxLCA3LCA2LCAxLCAyNDAsIDE2MSwgMiwgMjQ4LCAxMCwgMjIsIDE0MiwgNywgNCwgMSwgMjQwLCAxNjEsIDIsIAotICAgIDI0OCwgMTAsIDIyLCAxNDIsIDcsIDYsIDEsIDIzNSwgMzAsIDIsIDE0MiwgNywgNCwgMSwgMjM1LCAzMCwgMiwgMTQyLCA3LCAKLSAgICA2LCAxLCAyMzUsIDMwLCAyLCA1OSwgNTEsIDcsIDQsIDEsIDIzNSwgMzAsIDIsIDU5LCA1MSwgNywgNiwgMSwgMjM1LCAzMCwgCi0gICAgMiwgMjMyLCAyMjAsIDUxLCA3LCA0LCAxLCAyMzUsIDMwLCAyLCAyMzIsIDIyMCwgNTEsIDcsIDYsIDEsIDIzMywgMTU1LCAyLCAKLSAgICA1OSwgNTEsIDcsIDQsIDEsIDIzMywgMTU1LCAyLCA1OSwgNTEsIDcsIDYsIDEsIDIzMywgMTU1LCAyLCA1OSwgMjUyLCA1MSwgCi0gICAgMjIsIDIzMSwgMjM3LCA3LCA0LCAxLCAyMzMsIDE1NSwgMiwgNTksIDI1MiwgNTEsIDIyLCAyMzEsIDIzNywgNywgNiwgMSwgCi0gICAgMjMzLCAxNTUsIDIsIDIzMiwgMjIwLCA1MSwgNywgNCwgMSwgMjMzLCAxNTUsIDIsIDIzMiwgMjIwLCA1MSwgNywgNiwgMSwgCi0gICAgMjMzLCAxNTUsIDIsIDI1MCwgMzksIDUxLCA3LCA0LCAxLCAyMzMsIDE1NSwgMiwgMjUwLCAzOSwgNTEsIDcsIDYsIDEsIAotICAgIDIzMiwgNTUsIDIsIDE0MiwgNywgNCwgMSwgMjMyLCA1NSwgMiwgMTQyLCA3LCA2LCAxLCAyMzIsIDU1LCAyLCA1OSwgNDgsIAotICAgIDcsIDQsIDEsIDIzMiwgNTUsIDIsIDU5LCA0OCwgNywgNiwgMSwgMjMyLCA1NSwgMiwgNTksIDUxLCA3LCA0LCAxLCAyMzIsIAotICAgIDU1LCAyLCA1OSwgNTEsIDcsIDYsIDEsIDIzMCwgMzEsIDIsIDU5LCA0OCwgNywgNCwgMSwgMjMwLCAzMSwgMiwgNTksIDQ4LCAKLSAgICA3LCA2LCAxLCAyMzAsIDMxLCAyLCA1OSwgNTEsIDcsIDQsIDEsIDIzMCwgMzEsIDIsIDU5LCA1MSwgNywgNiwgMSwgMjMwLCAKLSAgICAzMSwgMiwgMjMyLCAyMjAsIDUxLCA3LCA0LCAxLCAyMzAsIDMxLCAyLCAyMzIsIDIyMCwgNTEsIDcsIDYsIDEsIDIzMCwgMzEsIAotICAgIDIsIDI1MCwgMzksIDUxLCA3LCA0LCAxLCAyMzAsIDMxLCAyLCAyNTAsIDM5LCA1MSwgNywgNiwgMSwgMTQ0LCAyLCAyMTYsIAotICAgIDkwLCAyMiwgMTQyLCA3LCA0LCAxLCAxNDQsIDIsIDIxNiwgOTAsIDIyLCAxNDIsIDcsIDYsIDEsIDE0NCwgMiwgMjE2LCA5MCwgCi0gICAgMjIsIDI0OCwgOSwgNywgNCwgMSwgMTQ0LCAyLCAyMTYsIDkwLCAyMiwgMjQ4LCA5LCA3LCA2LCAxLCAxNDQsIDIsIDIzMSwgCi0gICAgMjM4LCAyMiwgMjQyLCAxNDMsIDcsIDQsIDEsIDE0NCwgMiwgMjMxLCAyMzgsIDIyLCAyNDIsIDE0MywgNywgNiwgMSwgMTQ0LCAKLSAgICAyLCAyMzEsIDIzOCwgMjIsIDE0MiwgNywgNCwgMSwgMTQ0LCAyLCAyMzEsIDIzOCwgMjIsIDE0MiwgNywgNiwgMSwgMjI2LCAKLSAgICAxMTAsIDIsIDE0MiwgNywgNCwgMSwgMjI2LCAxMTAsIDIsIDE0MiwgNywgNiwgMSwgMjI2LCAxMTAsIDIsIDU5LCA0OCwgNywgCi0gICAgNCwgMSwgMjI2LCAxMTAsIDIsIDU5LCA0OCwgNywgNiwgMSwgMjIzLCAyMjcsIDIsIDU5LCA0OCwgNywgNCwgMSwgMjIzLCAKLSAgICAyMjcsIDIsIDU5LCA0OCwgNywgNiwgMSwgMjIzLCAyMjcsIDIsIDU5LCA1MSwgNywgNCwgMSwgMjIzLCAyMjcsIDIsIDU5LCAKLSAgICA1MSwgNywgNiwgMSwgMjIzLCAyMjcsIDIsIDU5LCAyNTIsIDUxLCAyMiwgMjMxLCAyMzcsIDcsIDQsIDEsIDIyMywgMjI3LCAKLSAgICAyLCA1OSwgMjUyLCA1MSwgMjIsIDIzMSwgMjM3LCA3LCA2LCAxLCAyMjMsIDIyNywgMiwgMjMyLCAyMjAsIDUxLCA3LCA0LCAKLSAgICAxLCAyMjMsIDIyNywgMiwgMjMyLCAyMjAsIDUxLCA3LCA2LCAxLCAyMjIsIDk0LCAyLCA1OSwgNDgsIDcsIDQsIDEsIDIyMiwgCi0gICAgOTQsIDIsIDU5LCA0OCwgNywgNiwgMSwgMjIyLCA5NCwgMiwgNTksIDUxLCA3LCA0LCAxLCAyMjIsIDk0LCAyLCA1OSwgNTEsIAotICAgIDcsIDYsIDEsIDIyMiwgOTQsIDIsIDI1NSwgMTIsIDIyLCA1OSwgNDgsIDcsIDQsIDEsIDIyMiwgOTQsIDIsIDI1NSwgMTIsIAotICAgIDIyLCA1OSwgNDgsIDcsIDYsIDEsIDIyMiwgOTQsIDIsIDI1MCwgMjQzLCAyMiwgNTksIDQ4LCA3LCA0LCAxLCAyMjIsIDk0LCAKLSAgICAyLCAyNTAsIDI0MywgMjIsIDU5LCA0OCwgNywgNiwgMSwgMjIyLCA5NCwgMiwgNTksIDI1MiwgNTEsIDIyLCA1OSwgNDgsIDcsIAotICAgIDQsIDEsIDIyMiwgOTQsIDIsIDU5LCAyNTIsIDUxLCAyMiwgNTksIDQ4LCA3LCA2LCAxLCAyMTcsIDE1NCwgMiwgNTksIDQ4LCAKLSAgICA3LCA0LCAxLCAyMTcsIDE1NCwgMiwgNTksIDQ4LCA3LCA2LCAxLCAyMTcsIDE1NCwgMiwgNTksIDUxLCA3LCA0LCAxLCAyMTcsIAotICAgIDE1NCwgMiwgNTksIDUxLCA3LCA2LCAxLCAyMTcsIDE1NCwgMiwgMjMyLCAyMjAsIDUxLCA3LCA0LCAxLCAyMTcsIDE1NCwgMiwgCi0gICAgMjMyLCAyMjAsIDUxLCA3LCA2LCAxLCAyMTcsIDE1NCwgMiwgMjUwLCAzOSwgNTEsIDcsIDQsIDEsIDIxNywgMTU0LCAyLCAKLSAgICAyNTAsIDM5LCA1MSwgNywgNiwgMSwgMTA0LCAyLCAyNDgsIDEwLCA1MSwgNywgNCwgMSwgMTA0LCAyLCAyNDgsIDEwLCA1MSwgCi0gICAgNywgNiwgMSwgMTA0LCAyLCAyMTYsIDkwLCA1MSwgNywgNCwgMSwgMTA0LCAyLCAyMTYsIDkwLCA1MSwgNywgNiwgMSwgMTA0LCAKLSAgICAyLCAyNTAsIDM5LCA1MSwgNywgNCwgMSwgMTA0LCAyLCAyNTAsIDM5LCA1MSwgNywgNiwgMSwgMTA0LCAyLCAyMTYsIDkwLCAKLSAgICAyMiwgMTQyLCA3LCA0LCAxLCAxMDQsIDIsIDIxNiwgOTAsIDIyLCAxNDIsIDcsIDYsIDEsIDEwNCwgMiwgMjMxLCAyMzgsIAotICAgIDIyLCAyNDgsIDksIDcsIDQsIDEsIDEwNCwgMiwgMjMxLCAyMzgsIDIyLCAyNDgsIDksIDcsIDYsIDEsIDIxNCwgMTA2LCAyLCAKLSAgICAxODQsIDcsIDQsIDEsIDIxNCwgMTA2LCAyLCAxODQsIDcsIDYsIDEsIDIxNCwgMTA2LCAyLCA1OSwgNTEsIDcsIDQsIDEsIAotICAgIDIxNCwgMTA2LCAyLCA1OSwgNTEsIDcsIDYsIDEsIDIxMiwgOTksIDIsIDI0MiwgMTQzLCA3LCA0LCAxLCAyMTIsIDk5LCAyLCAKLSAgICAyNDIsIDE0MywgNywgNiwgMSwgMjEyLCA5OSwgMiwgMTQyLCA3LCA0LCAxLCAyMTIsIDk5LCAyLCAxNDIsIDcsIDYsIDEsIAotICAgIDIxMiwgOTksIDIsIDI0OCwgOSwgNywgNCwgMSwgMjEyLCA5OSwgMiwgMjQ4LCA5LCA3LCA2LCAxLCAyMTIsIDk5LCAyLCA1OSwgCi0gICAgNDgsIDcsIDQsIDEsIDIxMiwgOTksIDIsIDU5LCA0OCwgNywgNiwgMSwgMjEyLCA5OSwgMiwgNTksIDUxLCA3LCA0LCAxLCAKLSAgICAyMTIsIDk5LCAyLCA1OSwgNTEsIDcsIDYsIDEsIDIxMSwgMTc5LCAyLCA1OSwgNDgsIDcsIDQsIDEsIDIxMSwgMTc5LCAyLCAKLSAgICA1OSwgNDgsIDcsIDYsIDEsIDIxMSwgMTc5LCAyLCAyNDgsIDksIDcsIDQsIDEsIDIxMSwgMTc5LCAyLCAyNDgsIDksIDcsIDYsIAotICAgIDEsIDIxMSwgMTE4LCAyLCA1OSwgNDgsIDcsIDQsIDEsIDIxMSwgMTE4LCAyLCA1OSwgNDgsIDcsIDYsIDEsIDIxMCwgMTYwLCAKLSAgICAyLCAyNTAsIDM4LCA3LCA0LCAxLCAyMTAsIDE2MCwgMiwgMjUwLCAzOCwgNywgNiwgMSwgMjEwLCAxNjAsIDIsIDU5LCA1MSwgCi0gICAgNywgNCwgMSwgMjEwLCAxNjAsIDIsIDU5LCA1MSwgNywgNiwgMSwgMjEwLCAxNjAsIDIsIDIzMiwgMjIwLCA1MSwgNywgNCwgCi0gICAgMSwgMjEwLCAxNjAsIDIsIDIzMiwgMjIwLCA1MSwgNywgNCwgMSwgMjQyLCA2OCwgMiwgMjMyLCAyMjAsIDUxLCA3LCA0LCAxLCAKLSAgICAyMTcsIDE1NCwgMiwgMjQ4LCA5LCA3LCA0LCAxLCAyMTIsIDk5LCAyLCAyMjIsIDIzNywgNDgsIDcsIDQsIDEsIDIxMSwgCi0gICAgMTE4LCAyLCAyMjIsIDIzNywgNDgsIDcsIDQsIDEsIDExNiwgMiwgNDQsIDE2MywgMjIyLCAyMzYsIDcsIDQsIDEsIDIwMCwgCi0gICAgMjIyLCA5NCwgMiwgNTksIDQ4LCA3LCA0LCAxLCAyMDAsIDIyMiwgOTQsIDIsIDI0OCwgNywgOTEsIDcsIDQsIDEsIDIwMCwgCi0gICAgMjIyLCA5NCwgMiwgMTI1LCA5MSwgNywgNiwgMSwgMjIwLCA3OCwgMjIyLCA5MywgNywgNCwgMSwgMjQ4LCA2MiwgNywgNiwgCi0gICAgMSwgMTE2LCAyLCA1OSwgNTEsIDcsIDQsIDEsIDExNiwgMiwgNTksIDUxLCA3LCA2LCAxLCAxMTYsIDIsIDI0MSwgNTksIDQ4LCAKLSAgICA3LCA0LCAxLCAxMTYsIDIsIDI0MSwgNTksIDQ4LCA3LCA2LCAxLCAxMTYsIDIsIDI1MCwgMzksIDIyLCAxNDIsIDcsIDQsIDEsIAotICAgIDExNiwgMiwgMjUwLCAzOSwgMjIsIDE0MiwgNywgNiwgMSwgMTE2LCAyLCAyNTAsIDM5LCAyMiwgMjQyLCAxNDMsIDcsIDQsIAotICAgIDEsIDExNiwgMiwgMjUwLCAzOSwgMjIsIDI0MiwgMTQzLCA3LCA2LCAxLCAxMTYsIDIsIDI1MCwgMzksIDIyLCAyNDEsIDU5LCAKLSAgICA0OCwgNywgNCwgMSwgMTE2LCAyLCAyNTAsIDM5LCAyMiwgMjQxLCA1OSwgNDgsIDcsIDYsIDEsIDExNiwgMiwgMjUwLCAzOSwgCi0gICAgMjIsIDE4NCwgNywgNCwgMSwgMTE2LCAyLCAyNTAsIDM5LCAyMiwgMTg0LCA3LCA2LCAxLCAxMTYsIDIsIDI1MCwgMzksIDIyLCAKLSAgICA1OSwgNTEsIDcsIDQsIDEsIDExNiwgMiwgMjUwLCAzOSwgMjIsIDU5LCA1MSwgNywgNiwgMSwgMTE2LCAyLCAyNTEsIDE1NSwgCi0gICAgMjIsIDE0MiwgNywgNCwgMSwgMTE2LCAyLCAyNTEsIDE1NSwgMjIsIDE0MiwgNywgNiwgMSwgMTE2LCAyLCAyNTEsIDE1NSwgCi0gICAgMjIsIDI0MiwgMTQzLCA3LCA0LCAxLCAxMTYsIDIsIDI1MSwgMTU1LCAyMiwgMjQyLCAxNDMsIDcsIDYsIDEsIDExNiwgMiwgCi0gICAgMjUxLCAxNTUsIDIyLCAyNDEsIDU5LCA0OCwgNywgNCwgMSwgMTE2LCAyLCAyNTEsIDE1NSwgMjIsIDI0MSwgNTksIDQ4LCA3LCAKLSAgICA2LCAxLCAxMTYsIDIsIDI1MSwgMTU1LCAyMiwgMTg0LCA3LCA0LCAxLCAxMTYsIDIsIDI1MSwgMTU1LCAyMiwgMTg0LCA3LCAKLSAgICA2LCAxLCAxMTYsIDIsIDI1MSwgMTU1LCAyMiwgNTksIDUxLCA3LCA0LCAxLCAxMTYsIDIsIDI1MSwgMTU1LCAyMiwgNTksIAotICAgIDUxLCA3LCA2LCAxLCAxNjAsIDIsIDU5LCA1MSwgNywgNCwgMSwgMTYwLCAyLCA1OSwgNTEsIDcsIDYsIDEsIDE2MCwgMiwgCi0gICAgMjQxLCA1OSwgNDgsIDcsIDQsIDEsIDE2MCwgMiwgMjQxLCA1OSwgNDgsIDcsIDYsIDEsIDE2MCwgMiwgMTg0LCA3LCA0LCAxLCAKLSAgICAxNjAsIDIsIDE4NCwgNywgNiwgMSwgMTYwLCAyLCAyNTAsIDM5LCAyMiwgMTQyLCA3LCA0LCAxLCAxNjAsIDIsIDI1MCwgMzksIAotICAgIDIyLCAxNDIsIDcsIDYsIDEsIDE2MCwgMiwgMjUwLCAzOSwgMjIsIDI0MiwgMTQzLCA3LCA0LCAxLCAxNjAsIDIsIDI1MCwgCi0gICAgMzksIDIyLCAyNDIsIDE0MywgNywgNiwgMSwgMTYwLCAyLCAyNTAsIDM5LCAyMiwgMjQxLCA1OSwgNDgsIDcsIDQsIDEsIAotICAgIDE2MCwgMiwgMjUwLCAzOSwgMjIsIDI0MSwgNTksIDQ4LCA3LCA2LCAxLCAxNjAsIDIsIDI1MCwgMzksIDIyLCAxODQsIDcsIAotICAgIDQsIDEsIDE2MCwgMiwgMjUwLCAzOSwgMjIsIDE4NCwgNywgNiwgMSwgMTYwLCAyLCAyNTAsIDM5LCAyMiwgNTksIDUxLCA3LCAKLSAgICA0LCAxLCAxNjAsIDIsIDI1MCwgMzksIDIyLCA1OSwgNTEsIDcsIDYsIDEsIDI0MCwgMTYxLCAyLCAyNDEsIDU5LCA0OCwgNywgCi0gICAgNCwgMSwgMjQwLCAxNjEsIDIsIDI0MSwgNTksIDQ4LCA3LCA2LCAxLCAyNDAsIDE2MSwgMiwgNTksIDUxLCA3LCA0LCAxLCAKLSAgICAyNDAsIDE2MSwgMiwgNTksIDUxLCA3LCA2LCAxLCAxNDQsIDIsIDU5LCA1MSwgNywgNCwgMSwgMTQ0LCAyLCA1OSwgNTEsIDcsIAotICAgIDYsIDEsIDE0NCwgMiwgMjQxLCA1OSwgNDgsIDcsIDQsIDEsIDE0NCwgMiwgMjQxLCA1OSwgNDgsIDcsIDYsIDEsIDE0NCwgMiwgCi0gICAgMjUwLCAzOSwgMjIsIDE0MiwgNywgNCwgMSwgMTQ0LCAyLCAyNTAsIDM5LCAyMiwgMTQyLCA3LCA2LCAxLCAxNDQsIDIsIAotICAgIDI1MCwgMzksIDIyLCAyNDIsIDE0MywgNywgNCwgMSwgMTQ0LCAyLCAyNTAsIDM5LCAyMiwgMjQyLCAxNDMsIDcsIDYsIDEsIAotICAgIDE0NCwgMiwgMjUwLCAzOSwgMjIsIDI0MSwgNTksIDQ4LCA3LCA0LCAxLCAxNDQsIDIsIDI1MCwgMzksIDIyLCAyNDEsIDU5LCAKLSAgICA0OCwgNywgNiwgMSwgMTQ0LCAyLCAyNTAsIDM5LCAyMiwgMTg0LCA3LCA0LCAxLCAxNDQsIDIsIDI1MCwgMzksIDIyLCAxODQsIAotICAgIDcsIDYsIDEsIDE0NCwgMiwgMjUwLCAzOSwgMjIsIDU5LCA1MSwgNywgNCwgMSwgMTQ0LCAyLCAyNTAsIDM5LCAyMiwgNTksIAotICAgIDUxLCA3LCA2LCAxLCAxNDQsIDIsIDI0MSwgMCwgMjIsIDE0MiwgNywgNCwgMSwgMTQ0LCAyLCAyNDEsIDAsIDIyLCAxNDIsIAotICAgIDcsIDYsIDEsIDE0NCwgMiwgMjQxLCAwLCAyMiwgMjQyLCAxNDMsIDcsIDQsIDEsIDE0NCwgMiwgMjQxLCAwLCAyMiwgMjQyLCAKLSAgICAxNDMsIDcsIDYsIDEsIDE0NCwgMiwgMjQxLCAwLCAyMiwgMjQxLCA1OSwgNDgsIDcsIDQsIDEsIDE0NCwgMiwgMjQxLCAwLCAKLSAgICAyMiwgMjQxLCA1OSwgNDgsIDcsIDYsIDEsIDE0NCwgMiwgMjQxLCAwLCAyMiwgMTg0LCA3LCA0LCAxLCAxNDQsIDIsIDI0MSwgCi0gICAgMCwgMjIsIDE4NCwgNywgNiwgMSwgMTQ0LCAyLCAyNDEsIDAsIDIyLCA1OSwgNTEsIDcsIDQsIDEsIDE0NCwgMiwgMjQxLCAwLCAKLSAgICAyMiwgNTksIDUxLCA3LCA2LCAxLCAxMDQsIDIsIDU5LCA1MSwgNywgNCwgMSwgMTA0LCAyLCA1OSwgNTEsIDcsIDYsIDEsIAotICAgIDEwNCwgMiwgMjQxLCA1OSwgNDgsIDcsIDQsIDEsIDEwNCwgMiwgMjQxLCA1OSwgNDgsIDcsIDYsIDEsIDEwNCwgMiwgMjQxLCAKLSAgICAwLCAyMiwgMTQyLCA3LCA0LCAxLCAxMDQsIDIsIDI0MSwgMCwgMjIsIDE0MiwgNywgNiwgMSwgMTA0LCAyLCAyNDEsIDAsIAotICAgIDIyLCAyNDIsIDE0MywgNywgNCwgMSwgMTA0LCAyLCAyNDEsIDAsIDIyLCAyNDIsIDE0MywgNywgNiwgMSwgMTA0LCAyLCAKLSAgICAyNDEsIDAsIDIyLCAyNDEsIDU5LCA0OCwgNywgNCwgMSwgMTA0LCAyLCAyNDEsIDAsIDIyLCAyNDEsIDU5LCA0OCwgNywgNiwgCi0gICAgMSwgMTA0LCAyLCAyNDEsIDAsIDIyLCAxODQsIDcsIDQsIDEsIDEwNCwgMiwgMjQxLCAwLCAyMiwgMTg0LCA3LCA2LCAxLCAKLSAgICAxMDQsIDIsIDI0MSwgMCwgMjIsIDU5LCA1MSwgNywgNCwgMSwgMTA0LCAyLCAyNDEsIDAsIDIyLCA1OSwgNTEsIDcsIDYsIDEsIAotICAgIDIxMSwgMTE4LCAyLCAyNDIsIDE0MywgNywgNCwgMSwgMjExLCAxMTgsIDIsIDI0MiwgMTQzLCA3LCA2LCAxLCAyMTEsIDExOCwgCi0gICAgMiwgNTksIDUxLCA3LCA0LCAxLCAyMTEsIDExOCwgMiwgNTksIDUxLCA3LCA2LCAxLCAyMTEsIDExOCwgMiwgMjQxLCA1OSwgCi0gICAgNDgsIDcsIDQsIDEsIDIxMSwgMTE4LCAyLCAyNDEsIDU5LCA0OCwgNywgNiwgMSwgMjExLCAxMTgsIDIsIDE4NCwgNywgNCwgCi0gICAgMSwgMjExLCAxMTgsIDIsIDE4NCwgNywgNiwgMSwgMjMwLCAyMjgsIDIzMiwgMTkxLCA3LCA0LCAxLCAyMzAsIDIyOCwgMjMyLCAKLSAgICAxOTEsIDcsIDYsIDEsIDIzMCwgMjI4LCAyMTQsIDEwNSwgNywgNCwgMSwgMjMwLCAyMjgsIDIxNCwgMTA1LCA3LCA2LCAxLCAKLSAgICAyMTEsIDExOCwgMiwgMjMyLCAxMjksIDcsIDQsIDEsIDIxMSwgMTE4LCAyLCAyMzIsIDEyOSwgMjYsIDQsIDEsIDI1NCwgCi0gICAgMTUyLCAyLCAyMjQsIDE1NywgMjYsIDQsIDEsIDI1NCwgMTUyLCAyLCAyNDgsIDE2MSwgMjYsIDQsIDEsIDI1NCwgMTUyLCAyLCAKLSAgICAyMjQsIDE1OCwgMjIsIDIxNCwgMTMsIDI2LCA0LCAxLCAyNTQsIDE1MiwgMiwgMjQ4LCAxNjIsIDIyLCAyMTQsIDEzLCAyNiwgCi0gICAgNCwgMSwgMjU0LCAxNTIsIDIsIDIyNCwgMTU4LCAyMiwgMjI2LCAxMTQsIDI2LCA0LCAxLCAyNTQsIDE1MiwgMiwgMjQ4LCAKLSAgICAxNjIsIDIyLCAyMjYsIDExNCwgMjYsIDQsIDEsIDI1NCwgMTUyLCAyLCAyMjQsIDE1OCwgMjIsIDIyNSwgMTc4LCAyNiwgNCwgCi0gICAgMSwgMjU0LCAxNTIsIDIsIDI0OCwgMTYyLCAyMiwgMjI1LCAxNzgsIDI2LCA2LCAxLCAyNTQsIDE1MiwgMiwgMjI0LCAxNTcsIAotICAgIDI2LCA2LCAxLCAyNTQsIDE1MiwgMiwgMjQ4LCAxNjEsIDI2LCA2LCAxLCAyNTQsIDE1MiwgMiwgMjI0LCAxNTgsIDIyLCAKLSAgICAyMTQsIDEzLCAyNiwgNiwgMSwgMjU0LCAxNTIsIDIsIDI0OCwgMTYyLCAyMiwgMjE0LCAxMywgMjYsIDYsIDEsIDI1NCwgCi0gICAgMTUyLCAyLCAyMjQsIDE1OCwgMjIsIDIyNiwgMTE0LCAyNiwgNiwgMSwgMjU0LCAxNTIsIDIsIDI0OCwgMTYyLCAyMiwgMjI2LCAKLSAgICAxMTQsIDI2LCA2LCAxLCAyNTQsIDE1MiwgMiwgMjI0LCAxNTgsIDIyLCAyMjUsIDE3OCwgMjYsIDYsIDEsIDI1NCwgMTUyLCAKLSAgICAyLCAyNDgsIDE2MiwgMjIsIDIyNSwgMTc4LCAyNiwgNCwgMSwgMjQ1LCAxMDksIDIsIDIyNCwgMTU3LCAyNiwgNCwgMSwgCi0gICAgMjQ1LCAxMDksIDIsIDI0OCwgMTYxLCAyNiwgNCwgMSwgMjQ1LCAxMDksIDIsIDIyNCwgMTU4LCAyMiwgMjE0LCAxMywgMjYsIAotICAgIDQsIDEsIDI0NSwgMTA5LCAyLCAyNDgsIDE2MiwgMjIsIDIxNCwgMTMsIDI2LCA0LCAxLCAyNDUsIDEwOSwgMiwgMjI0LCAKLSAgICAxNTgsIDIyLCAyMjYsIDExNCwgMjYsIDQsIDEsIDI0NSwgMTA5LCAyLCAyNDgsIDE2MiwgMjIsIDIyNiwgMTE0LCAyNiwgNiwgCi0gICAgMSwgMjQ1LCAxMDksIDIsIDIyNCwgMTU3LCAyNiwgNiwgMSwgMjQ1LCAxMDksIDIsIDI0OCwgMTYxLCAyNiwgNiwgMSwgMjQ1LCAKLSAgICAxMDksIDIsIDIyNCwgMTU4LCAyMiwgMjE0LCAxMywgMjYsIDYsIDEsIDI0NSwgMTA5LCAyLCAyNDgsIDE2MiwgMjIsIDIxNCwgCi0gICAgMTMsIDI2LCA2LCAxLCAyNDUsIDEwOSwgMiwgMjI0LCAxNTgsIDIyLCAyMjYsIDExNCwgMjYsIDYsIDEsIDI0NSwgMTA5LCAyLCAKLSAgICAyNDgsIDE2MiwgMjIsIDIyNiwgMTE0LCAyNiwgNCwgMSwgMjQ1LCA3MiwgMiwgMjI0LCAxNTcsIDI2LCA0LCAxLCAyNDUsIAotICAgIDcyLCAyLCAyNDgsIDE2MSwgMjYsIDQsIDEsIDI0NSwgNzIsIDIsIDIyNCwgMTU4LCAyMiwgMjE0LCAxMywgMjYsIDQsIDEsIAotICAgIDI0NSwgNzIsIDIsIDI0OCwgMTYyLCAyMiwgMjE0LCAxMywgMjYsIDQsIDEsIDI0NSwgNzIsIDIsIDIyNCwgMTU4LCAyMiwgCi0gICAgMjI2LCAxMTQsIDI2LCA0LCAxLCAyNDUsIDcyLCAyLCAyNDgsIDE2MiwgMjIsIDIyNiwgMTE0LCAyNiwgNCwgMSwgMjQ1LCAKLSAgICA3MiwgMiwgMjI0LCAxNTgsIDIyLCAyMjUsIDE3OCwgMjYsIDQsIDEsIDI0NSwgNzIsIDIsIDI0OCwgMTYyLCAyMiwgMjI1LCAKLSAgICAxNzgsIDI2LCA2LCAxLCAyNDUsIDcyLCAyLCAyMjQsIDE1NywgMjYsIDYsIDEsIDI0NSwgNzIsIDIsIDI0OCwgMTYxLCAyNiwgCi0gICAgNiwgMSwgMjQ1LCA3MiwgMiwgMjI0LCAxNTgsIDIyLCAyMTQsIDEzLCAyNiwgNiwgMSwgMjQ1LCA3MiwgMiwgMjQ4LCAxNjIsIAotICAgIDIyLCAyMTQsIDEzLCAyNiwgNiwgMSwgMjQ1LCA3MiwgMiwgMjI0LCAxNTgsIDIyLCAyMjYsIDExNCwgMjYsIDYsIDEsIDI0NSwgCi0gICAgNzIsIDIsIDI0OCwgMTYyLCAyMiwgMjI2LCAxMTQsIDI2LCA2LCAxLCAyNDUsIDcyLCAyLCAyMjQsIDE1OCwgMjIsIDIyNSwgCi0gICAgMTc4LCAyNiwgNiwgMSwgMjQ1LCA3MiwgMiwgMjQ4LCAxNjIsIDIyLCAyMjUsIDE3OCwgMjYsIDQsIDEsIDIzNSwgMTkzLCAyLCAKLSAgICAyMjQsIDE1NywgMjYsIDQsIDEsIDIzNSwgMTkzLCAyLCAyNDgsIDE2MSwgMjYsIDQsIDEsIDIzNSwgMTkzLCAyLCAyMjQsIAotICAgIDE1OCwgMjIsIDIxNCwgMTMsIDI2LCA0LCAxLCAyMzUsIDE5MywgMiwgMjQ4LCAxNjIsIDIyLCAyMTQsIDEzLCAyNiwgNCwgMSwgCi0gICAgMjM1LCAxOTMsIDIsIDIyNCwgMTU4LCAyMiwgMjI2LCAxMTQsIDI2LCA0LCAxLCAyMzUsIDE5MywgMiwgMjQ4LCAxNjIsIDIyLCAKLSAgICAyMjYsIDExNCwgMjYsIDQsIDEsIDIzNSwgMTkzLCAyLCAyMjQsIDE1OCwgMjIsIDIyNSwgMTc4LCAyNiwgNCwgMSwgMjM1LCAKLSAgICAxOTMsIDIsIDI0OCwgMTYyLCAyMiwgMjI1LCAxNzgsIDI2LCA2LCAxLCAyMzUsIDE5MywgMiwgMjI0LCAxNTcsIDI2LCA2LCAKLSAgICAxLCAyMzUsIDE5MywgMiwgMjQ4LCAxNjEsIDI2LCA2LCAxLCAyMzUsIDE5MywgMiwgMjI0LCAxNTgsIDIyLCAyMTQsIDEzLCAKLSAgICAyNiwgNiwgMSwgMjM1LCAxOTMsIDIsIDI0OCwgMTYyLCAyMiwgMjE0LCAxMywgMjYsIDYsIDEsIDIzNSwgMTkzLCAyLCAyMjQsIAotICAgIDE1OCwgMjIsIDIyNiwgMTE0LCAyNiwgNiwgMSwgMjM1LCAxOTMsIDIsIDI0OCwgMTYyLCAyMiwgMjI2LCAxMTQsIDI2LCA2LCAKLSAgICAxLCAyMzUsIDE5MywgMiwgMjI0LCAxNTgsIDIyLCAyMjUsIDE3OCwgMjYsIDYsIDEsIDIzNSwgMTkzLCAyLCAyNDgsIDE2MiwgCi0gICAgMjIsIDIyNSwgMTc4LCAyNiwgNCwgMSwgMjI2LCAyMDQsIDIsIDIyNCwgMTU3LCAyNiwgNCwgMSwgMjI2LCAyMDQsIDIsIAotICAgIDI0OCwgMTYxLCAyNiwgNCwgMSwgMjI2LCAyMDQsIDIsIDIyNCwgMTU4LCAyMiwgMjE0LCAxMywgMjYsIDQsIDEsIDIyNiwgCi0gICAgMjA0LCAyLCAyNDgsIDE2MiwgMjIsIDIxNCwgMTMsIDI2LCA0LCAxLCAyMjYsIDIwNCwgMiwgMjI0LCAxNTgsIDIyLCAyMjYsIAotICAgIDExNCwgMjYsIDQsIDEsIDIyNiwgMjA0LCAyLCAyNDgsIDE2MiwgMjIsIDIyNiwgMTE0LCAyNiwgNiwgMSwgMjI2LCAyMDQsIAotICAgIDIsIDIyNCwgMTU3LCAyNiwgNiwgMSwgMjI2LCAyMDQsIDIsIDI0OCwgMTYxLCAyNiwgNiwgMSwgMjI2LCAyMDQsIDIsIDIyNCwgCi0gICAgMTU4LCAyMiwgMjE0LCAxMywgMjYsIDYsIDEsIDIyNiwgMjA0LCAyLCAyNDgsIDE2MiwgMjIsIDIxNCwgMTMsIDI2LCA2LCAxLCAKLSAgICAyMjYsIDIwNCwgMiwgMjI0LCAxNTgsIDIyLCAyMjYsIDExNCwgMjYsIDYsIDEsIDIyNiwgMjA0LCAyLCAyNDgsIDE2MiwgMjIsIAotICAgIDIyNiwgMTE0LCAyNiwgNCwgMSwgMjE0LCAxNTgsIDIsIDIyNCwgMTU3LCAyNiwgNCwgMSwgMjE0LCAxNTgsIDIsIDI0OCwgCi0gICAgMTYxLCAyNiwgNCwgMSwgMjE0LCAxNTgsIDIsIDIyNCwgMTU4LCAyMiwgMjE0LCAxMywgMjYsIDQsIDEsIDIxNCwgMTU4LCAyLCAKLSAgICAyNDgsIDE2MiwgMjIsIDIxNCwgMTMsIDI2LCA0LCAxLCAyMTQsIDE1OCwgMiwgMjI0LCAxNTgsIDIyLCAyMjYsIDExNCwgMjYsIAotICAgIDQsIDEsIDIxNCwgMTU4LCAyLCAyNDgsIDE2MiwgMjIsIDIyNiwgMTE0LCAyNiwgNCwgMSwgMjE0LCAxNTgsIDIsIDIyNCwgCi0gICAgMTU4LCAyMiwgMjI1LCAxNzgsIDI2LCA0LCAxLCAyMTQsIDE1OCwgMiwgMjQ4LCAxNjIsIDIyLCAyMjUsIDE3OCwgMjYsIDYsIAotICAgIDEsIDIxNCwgMTU4LCAyLCAyNDgsIDE2MSwgMjYsIDYsIDEsIDIxNCwgMTU4LCAyLCAyNDgsIDE2MiwgMjIsIDIxNCwgMTMsIAotICAgIDI2LCA2LCAxLCAyMTQsIDE1OCwgMiwgMjQ4LCAxNjIsIDIyLCAyMjYsIDExNCwgMjYsIDYsIDEsIDIxNCwgMTU4LCAyLCAKLSAgICAyNDgsIDE2MiwgMjIsIDIyNSwgMTc4LCAyNiwgNCwgMSwgMjI2LCAyMDYsIDIsIDIyNCwgMTU3LCAyNiwgNCwgMSwgMjI2LCAKLSAgICAyMDYsIDIsIDI0OCwgMTYxLCAyNiwgNCwgMSwgMjI2LCAyMDYsIDIsIDIyNCwgMTU4LCAyMiwgMjE0LCAxMywgMjYsIDQsIDEsIAotICAgIDIyNiwgMjA2LCAyLCAyNDgsIDE2MiwgMjIsIDIxNCwgMTMsIDI2LCA0LCAxLCAyMjYsIDIwNiwgMiwgMjI0LCAxNTgsIDIyLCAKLSAgICAyMjYsIDExNCwgMjYsIDQsIDEsIDIyNiwgMjA2LCAyLCAyNDgsIDE2MiwgMjIsIDIyNiwgMTE0LCAyNiwgNCwgMSwgMjI2LCAKLSAgICAyMDYsIDIsIDIyNCwgMTU4LCAyMiwgMjI1LCAxNzgsIDI2LCA0LCAxLCAyMjYsIDIwNiwgMiwgMjQ4LCAxNjIsIDIyLCAyMjUsIAotICAgIDE3OCwgMjYsIDYsIDEsIDIyNiwgMjA2LCAyLCAyMjQsIDE1NywgMjYsIDYsIDEsIDIyNiwgMjA2LCAyLCAyNDgsIDE2MSwgCi0gICAgMjYsIDYsIDEsIDIyNiwgMjA2LCAyLCAyMjQsIDE1OCwgMjIsIDIxNCwgMTMsIDI2LCA2LCAxLCAyMjYsIDIwNiwgMiwgMjQ4LCAKLSAgICAxNjIsIDIyLCAyMTQsIDEzLCAyNiwgNiwgMSwgMjI2LCAyMDYsIDIsIDIyNCwgMTU4LCAyMiwgMjI2LCAxMTQsIDI2LCA2LCAKLSAgICAxLCAyMjYsIDIwNiwgMiwgMjQ4LCAxNjIsIDIyLCAyMjYsIDExNCwgMjYsIDYsIDEsIDIyNiwgMjA2LCAyLCAyMjQsIDE1OCwgCi0gICAgMjIsIDIyNSwgMTc4LCAyNiwgNiwgMSwgMjI2LCAyMDYsIDIsIDI0OCwgMTYyLCAyMiwgMjI1LCAxNzgsIDI2LCA0LCAxLCAKLSAgICAyNTQsIDE1MiwgMiwgMjE0LCAxMywgMjYsIDQsIDEsIDI1NCwgMTUyLCAyLCAyMjYsIDExNCwgMjYsIDQsIDEsIDI0NSwgCi0gICAgMTA5LCAyLCAyMTQsIDEzLCAyNiwgNCwgMSwgMjQ1LCAxMDksIDIsIDIyNiwgMTE0LCAyNiwgNCwgMSwgMjQ1LCA3MiwgMiwgCi0gICAgMjE0LCAxMywgMjYsIDQsIDEsIDI0NSwgNzIsIDIsIDIyNiwgMTE0LCAyNiwgNCwgMSwgMjM1LCAxOTMsIDIsIDIxNCwgMTMsIAotICAgIDI2LCA0LCAxLCAyMzUsIDE5MywgMiwgMjI2LCAxMTQsIDI2LCA0LCAxLCAyMjYsIDIwNCwgMiwgMjE0LCAxMywgMjYsIDQsIAotICAgIDEsIDIyNiwgMjA0LCAyLCAyMjYsIDExNCwgMjYsIDQsIDEsIDIxNCwgMTU4LCAyLCAyMTQsIDEzLCAyNiwgNCwgMSwgMjE0LCAKLSAgICAxNTgsIDIsIDIyNiwgMTE0LCAyNiwgNCwgMSwgMjI2LCAyMDYsIDIsIDIxNCwgMTMsIDI2LCA0LCAxLCAyMjYsIDIwNiwgMiwgCi0gICAgMjI2LCAxMTQsIDI2LCA0LCAxLCAyNTQsIDE1MiwgMiwgMjI0LCAxNTgsIDIyLCAyMTAsIDIxOSwgMjYsIDQsIDEsIDI1NCwgCi0gICAgMTUyLCAyLCAyNDgsIDE2MiwgMjIsIDIxMCwgMjE5LCAyNiwgNCwgMSwgMjU0LCAxNTIsIDIsIDIyNCwgMTU4LCAyMiwgMjE0LCAKLSAgICAxNCwgMjIsIDIxMCwgMjE5LCAyNiwgNCwgMSwgMjU0LCAxNTIsIDIsIDI0OCwgMTYyLCAyMiwgMjE0LCAxNCwgMjIsIDIxMCwgCi0gICAgMjE5LCAyNiwgNCwgMSwgMjU0LCAxNTIsIDIsIDIyNCwgMTU4LCAyMiwgMjI2LCAxMTUsIDIyLCAyMTAsIDIxOSwgMjYsIDQsIAotICAgIDEsIDI1NCwgMTUyLCAyLCAyNDgsIDE2MiwgMjIsIDIyNiwgMTE1LCAyMiwgMjEwLCAyMTksIDI2LCA0LCAxLCAyNTQsIDE1MiwgCi0gICAgMiwgMjI0LCAxNTgsIDIyLCAyMjUsIDE3OSwgMjIsIDIxMCwgMjE5LCAyNiwgNCwgMSwgMjU0LCAxNTIsIDIsIDI0OCwgMTYyLCAKLSAgICAyMiwgMjI1LCAxNzksIDIyLCAyMTAsIDIxOSwgMjYsIDYsIDEsIDI1NCwgMTUyLCAyLCAyMjQsIDE1OCwgMjIsIDIyNCwgCi0gICAgMTcwLCAyNiwgNiwgMSwgMjU0LCAxNTIsIDIsIDI0OCwgMTYyLCAyMiwgMjI0LCAxNzAsIDI2LCA2LCAxLCAyNTQsIDE1MiwgCi0gICAgMiwgMjI0LCAxNTgsIDIyLCAyMTQsIDE0LCAyMiwgMjI0LCAxNzAsIDI2LCA2LCAxLCAyNTQsIDE1MiwgMiwgMjQ4LCAxNjIsIAotICAgIDIyLCAyMTQsIDE0LCAyMiwgMjI0LCAxNzAsIDI2LCA2LCAxLCAyNTQsIDE1MiwgMiwgMjI0LCAxNTgsIDIyLCAyMjYsIDExNSwgCi0gICAgMjIsIDIyNCwgMTcwLCAyNiwgNiwgMSwgMjU0LCAxNTIsIDIsIDI0OCwgMTYyLCAyMiwgMjI2LCAxMTUsIDIyLCAyMjQsIAotICAgIDE3MCwgMjYsIDYsIDEsIDI1NCwgMTUyLCAyLCAyMjQsIDE1OCwgMjIsIDIyNSwgMTc5LCAyMiwgMjI0LCAxNzAsIDI2LCA2LCAKLSAgICAxLCAyNTQsIDE1MiwgMiwgMjQ4LCAxNjIsIDIyLCAyMjUsIDE3OSwgMjIsIDIyNCwgMTcwLCAyNiwgNCwgMSwgMjQ1LCA3MiwgCi0gICAgMiwgMjI0LCAxNTgsIDIyLCAyMTAsIDIxOSwgMjYsIDQsIDEsIDI0NSwgNzIsIDIsIDI0OCwgMTYyLCAyMiwgMjEwLCAyMTksIAotICAgIDI2LCA0LCAxLCAyNDUsIDcyLCAyLCAyMjQsIDE1OCwgMjIsIDIxNCwgMTQsIDIyLCAyMTAsIDIxOSwgMjYsIDQsIDEsIDI0NSwgCi0gICAgNzIsIDIsIDI0OCwgMTYyLCAyMiwgMjE0LCAxNCwgMjIsIDIxMCwgMjE5LCAyNiwgNCwgMSwgMjQ1LCA3MiwgMiwgMjI0LCAKLSAgICAxNTgsIDIyLCAyMjYsIDExNSwgMjIsIDIxMCwgMjE5LCAyNiwgNCwgMSwgMjQ1LCA3MiwgMiwgMjQ4LCAxNjIsIDIyLCAyMjYsIAotICAgIDExNSwgMjIsIDIxMCwgMjE5LCAyNiwgNCwgMSwgMjQ1LCA3MiwgMiwgMjI0LCAxNTgsIDIyLCAyMjUsIDE3OSwgMjIsIDIxMCwgCi0gICAgMjE5LCAyNiwgNCwgMSwgMjQ1LCA3MiwgMiwgMjQ4LCAxNjIsIDIyLCAyMjUsIDE3OSwgMjIsIDIxMCwgMjE5LCAyNiwgNiwgCi0gICAgMSwgMjQ1LCA3MiwgMiwgMjI0LCAxNTgsIDIyLCAyMjQsIDE3MCwgMjYsIDYsIDEsIDI0NSwgNzIsIDIsIDI0OCwgMTYyLCAKLSAgICAyMiwgMjI0LCAxNzAsIDI2LCA2LCAxLCAyNDUsIDcyLCAyLCAyMjQsIDE1OCwgMjIsIDIxNCwgMTQsIDIyLCAyMjQsIDE3MCwgCi0gICAgMjYsIDYsIDEsIDI0NSwgNzIsIDIsIDI0OCwgMTYyLCAyMiwgMjE0LCAxNCwgMjIsIDIyNCwgMTcwLCAyNiwgNiwgMSwgMjQ1LCAKLSAgICA3MiwgMiwgMjI0LCAxNTgsIDIyLCAyMjYsIDExNSwgMjIsIDIyNCwgMTcwLCAyNiwgNiwgMSwgMjQ1LCA3MiwgMiwgMjQ4LCAKLSAgICAxNjIsIDIyLCAyMjYsIDExNSwgMjIsIDIyNCwgMTcwLCAyNiwgNiwgMSwgMjQ1LCA3MiwgMiwgMjI0LCAxNTgsIDIyLCAyMjUsIAotICAgIDE3OSwgMjIsIDIyNCwgMTcwLCAyNiwgNiwgMSwgMjQ1LCA3MiwgMiwgMjQ4LCAxNjIsIDIyLCAyMjUsIDE3OSwgMjIsIDIyNCwgCi0gICAgMTcwLCAyNiwgNCwgMSwgMjI2LCAyMDYsIDIsIDIyNCwgMTU4LCAyMiwgMjEwLCAyMTksIDI2LCA0LCAxLCAyMjYsIDIwNiwgCi0gICAgMiwgMjQ4LCAxNjIsIDIyLCAyMTAsIDIxOSwgMjYsIDQsIDEsIDIyNiwgMjA2LCAyLCAyMjQsIDE1OCwgMjIsIDIxNCwgMTQsIAotICAgIDIyLCAyMTAsIDIxOSwgMjYsIDQsIDEsIDIyNiwgMjA2LCAyLCAyNDgsIDE2MiwgMjIsIDIxNCwgMTQsIDIyLCAyMTAsIDIxOSwgCi0gICAgMjYsIDQsIDEsIDIyNiwgMjA2LCAyLCAyMjQsIDE1OCwgMjIsIDIyNiwgMTE1LCAyMiwgMjEwLCAyMTksIDI2LCA0LCAxLCAKLSAgICAyMjYsIDIwNiwgMiwgMjQ4LCAxNjIsIDIyLCAyMjYsIDExNSwgMjIsIDIxMCwgMjE5LCAyNiwgNCwgMSwgMjI2LCAyMDYsIDIsIAotICAgIDIyNCwgMTU4LCAyMiwgMjI1LCAxNzksIDIyLCAyMTAsIDIxOSwgMjYsIDQsIDEsIDIyNiwgMjA2LCAyLCAyNDgsIDE2MiwgCi0gICAgMjIsIDIyNSwgMTc5LCAyMiwgMjEwLCAyMTksIDI2LCA2LCAxLCAyMjYsIDIwNiwgMiwgMjI0LCAxNTgsIDIyLCAyMjQsIAotICAgIDE3MCwgMjYsIDYsIDEsIDIyNiwgMjA2LCAyLCAyNDgsIDE2MiwgMjIsIDIyNCwgMTcwLCAyNiwgNiwgMSwgMjI2LCAyMDYsIAotICAgIDIsIDIyNCwgMTU4LCAyMiwgMjE0LCAxNCwgMjIsIDIyNCwgMTcwLCAyNiwgNiwgMSwgMjI2LCAyMDYsIDIsIDI0OCwgMTYyLCAKLSAgICAyMiwgMjE0LCAxNCwgMjIsIDIyNCwgMTcwLCAyNiwgNiwgMSwgMjI2LCAyMDYsIDIsIDIyNCwgMTU4LCAyMiwgMjI2LCAxMTUsIAotICAgIDIyLCAyMjQsIDE3MCwgMjYsIDYsIDEsIDIyNiwgMjA2LCAyLCAyNDgsIDE2MiwgMjIsIDIyNiwgMTE1LCAyMiwgMjI0LCAKLSAgICAxNzAsIDI2LCA2LCAxLCAyMjYsIDIwNiwgMiwgMjI0LCAxNTgsIDIyLCAyMjUsIDE3OSwgMjIsIDIyNCwgMTcwLCAyNiwgNiwgCi0gICAgMSwgMjI2LCAyMDYsIDIsIDI0OCwgMTYyLCAyMiwgMjI1LCAxNzksIDIyLCAyMjQsIDE3MCwgMjYsIDQsIDEsIDI1NCwgMTUyLCAKLSAgICAyLCAyMTMsIDEyMCwgMjYsIDQsIDEsIDI1NCwgMTUyLCAyLCAyMzEsIDIzNywgMjYsIDQsIDEsIDI1NCwgMTUyLCAyLCAyMTQsIAotICAgIDE0LCAyMiwgMjEwLCAyMTksIDI2LCA0LCAxLCAyNTQsIDE1MiwgMiwgMjEwLCAyMTksIDI2LCA0LCAxLCAyNTQsIDE1MiwgMiwgCi0gICAgMjI2LCAxMTUsIDIyLCAyMTAsIDIxOSwgMjYsIDQsIDEsIDI1NCwgMTUyLCAyLCAyMjUsIDE3OCwgMjYsIDQsIDEsIDI1NCwgCi0gICAgMTUyLCAyLCAyMjUsIDE3OSwgMjIsIDIxMCwgMjE5LCAyNiwgNiwgMSwgMjU0LCAxNTIsIDIsIDIxMywgMTIwLCAyNiwgNiwgCi0gICAgMSwgMjU0LCAxNTIsIDIsIDIzMSwgMjM3LCAyNiwgNiwgMSwgMjU0LCAxNTIsIDIsIDIxNCwgMTMsIDI2LCA2LCAxLCAyNTQsIAotICAgIDE1MiwgMiwgMjI2LCAxMTQsIDI2LCA2LCAxLCAyNTQsIDE1MiwgMiwgMjI0LCAxNzAsIDI2LCAyMzQsIDgsIDI2LCAyMjQsIAotICAgIDE3MCwgMjYsIDIyNCwgMTU3LCAyNiwgMjI1LCAxNzgsIDI2LCAyNDgsIDQsIDIyLCAyMjUsIDE3OCwgMjYsIDQsIDEsIDI0NSwgCi0gICAgNzIsIDIsIDIxNCwgMTQsIDIyLCAyMTAsIDIxOSwgMjYsIDQsIDEsIDI0NSwgNzIsIDIsIDIxMCwgMjE5LCAyNiwgNCwgMSwgCi0gICAgMjQ1LCA3MiwgMiwgMjI2LCAxMTUsIDIyLCAyMTAsIDIxOSwgMjYsIDQsIDEsIDI0NSwgNzIsIDIsIDIyNSwgMTc4LCAyNiwgCi0gICAgNCwgMSwgMjQ1LCA3MiwgMiwgMjI1LCAxNzksIDIyLCAyMTAsIDIxOSwgMjYsIDYsIDEsIDI0NSwgMTA5LCAyLCAyMTQsIDEzLCAKLSAgICAyNiwgNiwgMSwgMjQ1LCAxMDksIDIsIDIyNiwgMTE0LCAyNiwgNiwgMSwgMjQ1LCA3MiwgMiwgMjE0LCAxMywgMjYsIDYsIDEsIAotICAgIDI0NSwgNzIsIDIsIDIyNiwgMTE0LCAyNiwgNiwgMSwgMjQ1LCA3MiwgMiwgMjI0LCAxNzAsIDI2LCAyMjQsIDE1OCwgMjIsIAotICAgIDIxNCwgMTMsIDI2LCAyMjQsIDE1OCwgMjIsIDIyNiwgMTE0LCAyNiwgMjI0LCAxNTgsIDIyLCAyMjUsIDE3OCwgMjYsIDQsIAotICAgIDEsIDIzNSwgMTkzLCAyLCAyMTMsIDEyMCwgMjYsIDQsIDEsIDIzNSwgMTkzLCAyLCAyMzEsIDIzNywgMjYsIDQsIDEsIDIzNSwgCi0gICAgMTkzLCAyLCAyNDgsIDQsIDIyLCAyMTQsIDEzLCAyNiwgNCwgMSwgMjM1LCAxOTMsIDIsIDI0OCwgNCwgMjIsIDIyNiwgMTE0LCAKLSAgICAyNiwgNCwgMSwgMjM1LCAxOTMsIDIsIDIyNSwgMTc4LCAyNiwgNCwgMSwgMjM1LCAxOTMsIDIsIDI0OCwgNCwgMjIsIDIyNSwgCi0gICAgMTc4LCAyNiwgNiwgMSwgMjM1LCAxOTMsIDIsIDIxMywgMTIwLCAyNiwgNiwgMSwgMjM1LCAxOTMsIDIsIDIzMSwgMjM3LCAKLSAgICAyNiwgNiwgMSwgMjM1LCAxOTMsIDIsIDIxNCwgMTMsIDI2LCA2LCAxLCAyMzUsIDE5MywgMiwgMjI2LCAxMTQsIDI2LCAyNDgsIAotICAgIDE2MiwgMjIsIDIxNCwgMTMsIDI2LCAyNDgsIDE2MiwgMjIsIDIyNiwgMTE0LCAyNiwgMjQ4LCAxNjIsIDIyLCAyMjUsIDE3OCwgCi0gICAgMjYsIDQsIDEsIDIxNCwgMTU4LCAyLCAyMTMsIDEyMCwgMjYsIDQsIDEsIDIxNCwgMTU4LCAyLCAyMzEsIDIzNywgMjYsIDQsIAotICAgIDEsIDIxNCwgMTU4LCAyLCAyNDgsIDQsIDIyLCAyMTQsIDEzLCAyNiwgNCwgMSwgMjE0LCAxNTgsIDIsIDI0OCwgNCwgMjIsIAotICAgIDIyNiwgMTE0LCAyNiwgNCwgMSwgMjIzLCA0MSwgMiwgMjI0LCAxNTcsIDI2LCA0LCAxLCAyMjMsIDQxLCAyLCAyNDgsIDE2MSwgCi0gICAgMjYsIDQsIDEsIDIxNCwgMTU4LCAyLCAyMjUsIDE3OCwgMjYsIDQsIDEsIDIxNCwgMTU4LCAyLCAyNDgsIDQsIDIyLCAyMjUsIAotICAgIDE3OCwgMjYsIDYsIDEsIDIxNCwgMTU4LCAyLCAyMTMsIDEyMCwgMjYsIDYsIDEsIDIxNCwgMTU4LCAyLCAyMzEsIDIzNywgCi0gICAgMjYsIDYsIDEsIDIxNCwgMTU4LCAyLCAyMTQsIDEzLCAyNiwgNiwgMSwgMjE0LCAxNTgsIDIsIDIyNiwgMTE0LCAyNiwgNiwgCi0gICAgMSwgMjIzLCA0MSwgMiwgMjQ4LCAxNjEsIDI2LCAyNDgsIDQsIDIyLCAyMTQsIDEzLCAyNiwgMjQ4LCA0LCAyMiwgMjI2LCAKLSAgICAxMTQsIDI2LCAyMTQsIDEzLCAyNiwgNCwgMSwgMjI2LCAyMDYsIDIsIDIxNCwgMTQsIDIyLCAyMTAsIDIxOSwgMjYsIDQsIDEsIAotICAgIDIyNiwgMjA2LCAyLCAyMTAsIDIxOSwgMjYsIDQsIDEsIDIyNiwgMjA2LCAyLCAyMjYsIDExNSwgMjIsIDIxMCwgMjE5LCAyNiwgCi0gICAgNCwgMSwgMjI2LCAyMDYsIDIsIDIyNSwgMTc4LCAyNiwgNCwgMSwgMjI2LCAyMDYsIDIsIDIyNSwgMTc5LCAyMiwgMjEwLCAKLSAgICAyMTksIDI2LCA2LCAxLCAyMjYsIDIwNCwgMiwgMjE0LCAxMywgMjYsIDYsIDEsIDIyNiwgMjA0LCAyLCAyMjYsIDExNCwgMjYsIAotICAgIDYsIDEsIDIyNiwgMjA2LCAyLCAyMTQsIDEzLCAyNiwgNiwgMSwgMjI2LCAyMDYsIDIsIDIyNiwgMTE0LCAyNiwgNiwgMSwgCi0gICAgMjI2LCAyMDYsIDIsIDIyNCwgMTcwLCAyNiwgMjI2LCAxMTQsIDI2LCAyNDgsIDE2MSwgMjQ1LCAxNTksIDIyNCwgMzAsIAotICAgIDI0NSwgMTY4LCAyMjQsIDMwLCAyNDUsIDE1OSwgMjE5LCAyMCwgMjQ1LCAxNjgsIDIxOSwgMjAsIDIxNiwgMTQyLCAyMTksIAotICAgIDIwLCAyNDQsIDE3LCAyMTksIDIwLCAyMTksIDEyNSwgMjE5LCAyMCwgMjQ0LCAxMjAsIDIxOSwgMjAsIDIyNCwgMTQ0LCAKLSAgICAyMTksIDIwLCAyMTYsIDE3MSwgMjE5LCAyMCwgMjQyLCA0MiwgMjE5LCAyMCwgMjEwLCA4NywgMjExLCAyNDUsIDIxOSwgMjAsIAotICAgIDIxMCwgODcsIDIxMSwgMjQ1LCAyMjgsIDcyLCAyMTAsIDg3LCAyMTEsIDI0NSwgMjM1LCA2OSwgMjMzLCA0NCwgNzksIDIyMiwgCi0gICAgMjQ2LCA3OSwgMjQwLCAxNzUsIDIyOCwgNzMsIDI0MCwgMTc1LCAyNDQsIDEyMCwgMjQ4LCAxNjQsIDI0NSwgMTU5LCAyNDgsIAotICAgIDE2NCwgMjQ1LCAxNjgsIDI0OCwgMTY0LCAyMDMsIDEzMCwgNTIsIDY3LCAyMzIsIDIxOSwgNTIsIDEyMSwgMjMyLCAyMTksIAotICAgIDQzLCAyMTksIDE1NywgMjI0LCAxLCA3OSwgNDQsIDIxOSwgMTU3LCAyMjQsIDEsIDc5LCAyMTksIDE1NywgMjMyLCAxMTUsIAotICAgIDIyNCwgMSwgNzksIDIxOSwgMTU3LCAyNDEsIDE3MCwgMjI0LCAxLCA3OSwgNDMsIDUyLCAyMjQsIDEsIDc5LCA0NCwgNTIsIAotICAgIDIyNCwgMSwgNzksIDUyLCAyMzIsIDExNSwgMjI0LCAxLCA3OSwgNTIsIDI0MSwgMTcwLCAyMjQsIDEsIDc5LCAyNDgsIDIxMywgCi0gICAgNTIsIDI0OCwgMjEzLCAyNTEsIDEyMSwgMjE1LCAyMjMsIDI1MSwgMTIxLCAxMjMsIDU5LCAyMzMsIDYyLCAxMTMsIDU5LCAKLSAgICAyMzMsIDYyLCAyMDMsIDI0NSwgMTcxLCAyNDAsIDE3MywgMjI1LCAxMywgMjMyLCAyMjAsIDIyMCwgMTM5LCAyMjYsIDE5LCAKLSAgICAyMjAsIDEzOSwgMjMzLCA0NCwgMjQ1LCAxNjYsIDIyMiwgMjQ2LCAyNDUsIDE2NiwgMjI0LCAyNDksIDI0NywgMjA0LCAyNDQsIAotICAgIDI3LCAyMzMsIDQ0LCAyMjYsIDEyMSwgMjIyLCAyNDYsIDIyNiwgMTIxLCAyMjksIDE5OSwgMjI4LCA3OCwgMjE5LCAyMCwgCi0gICAgMjI1LCAxODYsIDIzMCwgMTk4LCA1MCwgMjI1LCAxODYsIDIxNiwgMjQ5LCAyMTYsIDE0OSwgNTAsIDIyNCwgMTkzLCA1MiwgCi0gICAgMjI0LCAxOTMsIDIxNSwgMjEyLCAyMjQsIDE5MywgMjIzLCA1MiwgMjI0LCAxOTMsIDIyMywgNTIsIDUyLCAyMjQsIDE5MywgCi0gICAgMjIzLCA1MiwgMjE1LCAyMTIsIDIyNCwgMTkzLCAyNTAsIDI0NiwgMjE5LCAxNTcsIDIzMywgNDgsIDI1NCwgMTE4LCAyMjQsIAotICAgIDEsIDc5LCAyMTksIDE1NywgMjIyLCAyNTAsIDI1NCwgMTE4LCAyMjQsIDEsIDc5LCAyMjMsIDExMCwgNzksIDUyLCAyNDUsIAotICAgIDM5LCA3OSwgMjM1LCAyMDgsIDIyNiwgMTIzLCAyMTQsIDE4MCwgMTM1LCAyMTYsIDExMiwgMjUwLCAyNDcsIDIzNSwgMjIzLCAKLSAgICAyMjUsIDEzLCAyNTMsIDIyMiwgMjQwLCAxNzYsIDI1MSwgMTIxLCAyNDQsIDEwLCAyMTksIDk3LCA0MywgNDIsIDI1MSwgCi0gICAgMTY2LCAyLCAyMjQsIDEwLCA0NCwgNDIsIDI1MSwgMTY2LCAyLCAyMjQsIDEwLCA1MiwgMjI0LCAxNiwgNzksIDIyNCwgMTYsIAotICAgIDI0NSwgMzksIDc5LCAyNDUsIDM5LCAyMjQsIDE2LCA3OSwgMjE2LCA3MSwgNSwgMjQ1LCA3MywgMjIzLCA1MiwgMjI1LCA3MSwgCi0gICAgNTAsIDg1LCAxNDAsIDI1MSwgMTIxLCA4NSwgOTcsIDI1MSwgMTIxLCAxMjEsIDI1MywgMjI0LCAyMjMsIDUyLCAyMjAsIAotICAgIDE1MiwgMjUwLCA5LCAyMTQsIDE2MywgMTEzLCAyNTMsIDIyMywgMjU0LCAxNjcsIDIxMywgMTg4LCAyNDksIDIyNSwgMjMwLCAKLSAgICAxODcsIDUwLCAyMTcsIDIzNSwgMjQ4LCAxNjQsIDIzNSwgMjAwLCAyMTQsIDE4MCwgMjQ0LCA2MCwgMjI0LCAxNDQsIDc5LCAKLSAgICAxMzQsIDU5LCAyMjQsIDE0MywgMjI0LCAyNywgMjI0LCAxOTMsIDI0NCwgMTksIDU5LCAyMjQsIDE0MywgMjQ0LCA4OSwgNTksIAotICAgIDIyNCwgMTQzLCAxMTMsIDU5LCAyMjQsIDE0MywgMjQ0LCAxOSwgNTksIDc5LCAyNDYsIDEyNiwgMjQ5LCAxMzgsIDIxNSwgCi0gICAgMjIyLCA2NywgMjQ0LCAxOSwgMjQ3LCAxMjYsIDIzMSwgODcsIDExLCAyMTksIDIwLCAyMTEsIDIwOSwgMjM1LCA2OSwgMjQzLCAKLSAgICAyMzQsIDI1NCwgNjAsIDIzNSwgMTk4LCAyMTYsIDg2LCAyMzUsIDE5OCwgMjIwLCAxMzksIDIzNSwgMTk4LCAyMjUsIDI1LCAKLSAgICAyMzMsIDQ0LCAyMzUsIDE3MSwgMjIyLCAyNDYsIDIzNSwgMTcxLCAyNDQsIDEwMCwgMjE4LCA5MSwgMjM1LCAxNzEsIDIyNCwgCi0gICAgMjQ5LCAyNDcsIDIwNCwgMjM1LCAxNzEsIDIzNSwgMjM1LCAyMTcsIDE4MywgMjE3LCAyNTIsIDI1NSwgMTQsIDIxNywgMTgzLCAKLSAgICAyMTcsIDI1MiwgMjM1LCAyMzUsIDksIDI0NCwgMjgsIDIyMCwgODIsIDI1NSwgMTQsIDksIDI0NCwgMjgsIDIyMCwgODIsIAotICAgIDIyOSwgMTk0LCAyMSwgMjIwLCA4MywgMjI4LCA3NCwgMjEsIDIyMCwgODMsIDIxOCwgMjQsIDIxMCwgODYsIDIxOCwgMjQsIAotICAgIDcsIDQsIDEsIDc0LCAyMTgsIDI0LCAxNjEsIDIxOCwgMjQsIDE5MCwgMjE4LCAyNCwgMTk1LCAyMTgsIDI0LCAxOTksIDIxOCwgCi0gICAgMjQsIDE5NiwgMjE4LCAyNCwgMjAxLCAyMTgsIDI0LCA5NiwgNTAsIDIxOCwgMjQsIDIzMCwgMTg2LCAyMTgsIDI0LCAyNDUsIAotICAgIDEwNiwgNTAsIDIxOCwgMjQsIDQzLCAyMjYsIDcsIDIxOCwgMjQsIDQ0LCAyMjYsIDcsIDIxOCwgMjQsIDcsIDQsIDEsIDIzMCwgCi0gICAgMzAsIDIxOCwgNjYsIDIxMCwgODYsIDIxOCwgNjYsIDExMSwgMjE4LCA2NiwgMTA1LCAyMTgsIDY2LCAxNTgsIDIxOCwgNjYsIAotICAgIDE2MSwgMjE4LCA2NiwgMTkwLCAyMTgsIDY2LCAxOTUsIDIxOCwgNjYsIDE5OSwgMjE4LCA2NiwgMTk2LCAyMTgsIDY2LCAKLSAgICAyMDEsIDIxOCwgNjYsIDk2LCA1MCwgMjE4LCA2NiwgMjMwLCAxODYsIDIxOCwgNjYsIDI0NSwgMTA2LCA1MCwgMjE4LCA2NiwgCi0gICAgNDMsIDIyNiwgNywgMjE4LCA2NiwgNDQsIDIyNiwgNywgNywgMjE4LCA2NiwgNCwgMSwgNjEsIDcsIDIxOCwgNjYsIDQsIDEsIAotICAgIDc2LCA3LCAyMTgsIDY2LCA0LCAxLCA3OCwgNywgMjE4LCA2NiwgNCwgMSwgMjExLCAxNzgsIDcsIDIxOCwgNjYsIDQsIDEsIAotICAgIDIyMSwgMTk3LCA3LCAyMTgsIDY2LCA0LCAxLCAyNDIsIDY3LCA3LCAyMTgsIDY2LCA0LCAxLCAyMzUsIDI5LCA3LCAyMTgsIAotICAgIDY2LCA0LCAxLCAxNTYsIDcsIDIxOCwgNjYsIDQsIDEsIDE5NCwgNywgMjE4LCA2NiwgNCwgMSwgMjMwLCAzMCwgNywgMjE4LCAKLSAgICA2NiwgNCwgMSwgMjI2LCAxMDksIDcsIDIxOCwgNjYsIDQsIDEsIDIyMiwgOTMsIDcsIDIxOCwgNjYsIDQsIDEsIDIxNywgCi0gICAgMTUzLCAyNDUsIDU0LCA1MCwgMjQ5LCAyMzUsIDUwLCAyNDksIDEyNSwgNTAsIDI0NCwgMywgMjQ0LCA2LCA1MCwgMjMyLCAKLSAgICAyMDQsIDUwLCAyMzAsIDE5OSwgNTAsIDIyOSwgMjE1LCA1MCwgMjI1LCAxNjUsIDUwLCAyMjIsIDEyMCwgNTAsIDIxMSwgCi0gICAgMjE3LCA1MCwgMTY2LCAyMjAsIDUxLCA1MCwgMjQ3LCAxMzUsIDUwLCAyNDUsIDU1LCA1MCwgMjM0LCA4MiwgNTAsIDIxNSwgCi0gICAgMTEzLCA1MCwgMjQ2LCAxMDksIDUwLCAyNDMsIDQ3LCAyMjUsIDE5NiwgNTAsIDIyNSwgMTYzLCA1MCwgMjQyLCAxMTYsIDUwLCAKLSAgICAyNTMsIDE5MCwgNTAsIDI0MCwgMjM1LCA1MCwgMjUwLCAxOTMsIDUwLCAyMzIsIDE5NywgMjE2LCA0LCA1MCwgMjE5LCAyLCAKLSAgICA1MCwgMjE2LCAyNDYsIDUwLCAyMzUsIDI0OCwgMjIyLCAxMjAsIDUwLCAyMTUsIDk3LCAyMzIsIDIwNCwgNTAsIDM4LCA0MywgCi0gICAgMjQyLCA2LCA0OCwgMzgsIDQ0LCAyNDIsIDYsIDQ4LCAzOCwgMjAwLCA2NywgMjMyLCAyMjAsIDIyNiwgMTI0LCAzOCwgMjE5LCAKLSAgICAyNTMsIDY3LCAyMzIsIDIyMCwgMjI2LCAxMjQsIDM4LCAyNTQsIDk2LCA4MCwgNDgsIDM4LCAyNTAsIDEwLCA4MCwgNDgsIAotICAgIDM4LCA0MywgODAsIDQ4LCAzOCwgNDQsIDgwLCA0OCwgMzgsIDIyMiwgMjM3LCAyMjYsIDEyNCwgMzgsIDI1MCwgMTAsIDIyMiwgCi0gICAgMjM3LCAyMjYsIDEyNCwgMzgsIDI1NCwgOTYsIDIyMiwgMjM3LCAyMjYsIDEyNCwgMzgsIDEzNCwgMTcwLCA0OCwgMzgsIAotICAgIDI0NCwgMTksIDE3MCwgNDgsIDM4LCAyNDUsIDE1NCwgMjUwLCA0MywgMzgsIDI0NSwgMTU0LCAyMTgsIDIzNiwgMzgsIDI0NSwgCi0gICAgMTU0LCAyNDgsIDAsIDM4LCAyNDUsIDE1NCwgMjUwLCA0NCwgMjUyLCAxODgsIDM4LCA0MywgNDQsIDgwLCA0OCwgMzgsIAotICAgIDI0NSwgMTU0LCAyMjEsIDE5MCwgMzgsIDI0NSwgMTU0LCAyMzQsIDE0MSwgMzgsIDI0NSwgMTU0LCAyMTQsIDE1NSwgMjI1LCAKLSAgICAxMCwgMjE1LCAyMjYsIDM4LCAyMjMsIDUzLCAyMTksIDQ5LCAyMjYsIDEyNCwgMzgsIDUyLCA2NywgMjE4LCAxMDUsIDIyNiwgCi0gICAgMTI0LCAzOCwgMjU0LCAxMDYsIDg3LCAzOCwgMjE1LCAyMTIsIDIxNCwgMTgyLCAzOCwgMjExLCAyNDcsIDI1MSwgMTQ4LCAKLSAgICA0OCwgMzgsIDE0MCwgODAsIDIyNiwgMTI0LCAzOCwgMjAwLCA1MiwgMjE5LCA0OSwgMjI2LCAxMjQsIDM4LCA5NywgMjQyLCAKLSAgICA2LCAyLCAyNTIsIDE0NywgMjQ2LCAxMTEsIDM4LCAxNDAsIDI0MiwgNiwgMiwgMjUyLCAxNDcsIDI0NiwgMTExLCAzOCwgNDMsIAotICAgIDgwLCA1MSwgMzgsIDQ0LCA4MCwgNTEsIDM4LCAyNTMsIDIyNSwgNDgsIDI1NSwgMjAsIDIyNiwgMjM1LCAyNTUsIDQsIDIxNiwgCi0gICAgNDMsIDIxNiwgMTk3LCAyMTgsIDc1LCAxMzksIDYsIDI1MSwgNzQsIDI0OCwgNzksIDI1MCwgMTg2LCAyNTAsIDE4MywgMjMyLCAKLSAgICAyMjAsIDg3LCAyNTAsIDI0OCwgMjI2LCAyMzUsIDI1MSwgMzQsIDIxNCwgMTg5LCAyNDUsIDU2LCAyNDksIDE5OSwgMjIxLCAKLSAgICAxODcsIDI0OCwgNzksIDI0NCwgMTg3LCAxMTksIDQsIDI0MywgMjA5LCAxMTksIDYsIDI0MiwgNjcsIDI1MSwgMjI3LCA2LCAKLSAgICAyNDIsIDY3LCAxMzksIDYsIDI0MiwgNjcsIDIyNSwgNDAsIDI0OSwgMTk5LCAyMjUsIDQwLCAyNDksIDIwMCwgMTE1LCAxMTMsIAotICAgIDIyNSwgMTExLCAxMTksIDYsIDc0LCAyNTEsIDIyNywgNiwgNzQsIDExOSwgNiwgMTU2LCAxMTksIDQsIDE1NiwgMjMzLCAKLSAgICAxNTUsIDU3LCAyNTIsIDE0OSwgODcsIDEzOSwgNiwgMjMwLCAzMCwgMjI3LCAyMDAsIDUwLCAyMTksIDMzLCAyMjMsIDEyMiwgCi0gICAgMjQ5LCAxNzAsIDExOSwgNiwgMjI2LCAxMDksIDEzOSwgNiwgMjI2LCAxMDksIDEzOSwgNiwgMjI0LCA5OSwgMTE5LCA2LCAKLSAgICAxNTMsIDI1MSwgMjI3LCA2LCAxNTMsIDEzOSwgNiwgMTUzLCAyMjQsIDE5OSwgMjE3LCA3MiwgMjIzLCA2NSwgMjIwLCAxMzQsIAotICAgIDc5LCAyMTcsIDIsIDUwLCAyMTUsIDI1NCwgMTY0LCA1MCwgMjEzLCAyNDAsIDEzOSwgNiwgMjEwLCAxNTksIDIyNiwgMTM3LCAKLSAgICA1MCwgMjI2LCAyMjUsIDUwLCAyMzUsIDIwMCwgMjI2LCAyMjUsIDUwLCAyNTEsIDIyNywgNiwgMjEwLCAxNTksIDIxNSwgOTQsIAotICAgIDI2LCA0LCAxLCAyMzUsIDE5MiwgMjM0LCAxNzksIDUwLCAyNTQsIDExNSwgNTAsIDExOSwgNiwgMjUzLCAxNjYsIDI1MSwgCi0gICAgMjI3LCA2LCAyNTEsIDc0LCAyNDUsIDc2LCA4NywgMTE5LCA0LCA3NiwgMTE5LCA2LCA3NiwgMTE5LCA2LCAyNDUsIDE0LCAKLSAgICAyMTUsIDk0LCA2LCAyNDUsIDE0LCAxMTksIDYsIDE5NCwgMTE5LCA0LCA3OCwgMTA5LCA4NywgMjUyLCAzNywgODcsIDI0MiwgCi0gICAgMjA5LCA4NywgMjQ4LCAxOTgsIDg3LCAyMzUsIDIzOSwgMjE5LCAzMSwgMjIyLCAxODksIDYsIDIyNCwgOTksIDI0NCwgMTkwLCAKLSAgICA1MCwgMTM5LCA0LCAyMjUsIDExMSwgMTM5LCA0LCAyNDMsIDExNCwgMTM5LCA2LCAyNDMsIDExNCwgMTM5LCA2LCAyMjUsIAotICAgIDExMSwgMTM5LCAyMzAsIDI5LCAyMTgsIDQxLCAyMTUsIDk0LCAzNSwgNiwgMjQzLCAyMDksIDIxNSwgOTQsIDM1LCA2LCAKLSAgICAxNTYsIDIyMywgNTIsIDM1LCA2LCAxNTYsIDIxNSwgOTQsIDM1LCA2LCAyMTEsIDExNywgMTM5LCAzMiwgNiwgMjQ5LCA2OCwgCi0gICAgMTM5LCAzMiwgNCwgMjQ5LCA2OCwgMTM5LCAzMiwgNCwgNzYsIDEzOSwgMzIsIDQsIDc0LCAxMzksIDMyLCA0LCAyMzUsIAotICAgIDE1MCwgMjI0LCAxNzMsIDIzMiwgMjE5LCAyMTUsIDk0LCAyNTQsIDEzNCwgMjI1LCAxODYsIDUwLCAyNTQsIDE4OSwgMjE1LCAKLSAgICA5NCwgNCwgMjQ1LCAxNCwgMTYsIDMxLCAyMjEsIDI1NCwgMjE5LCAzMSwgMjEyLCAxMTQsIDI0NCwgMTAsIDEyMywgMjIwLCAKLSAgICAxMjAsIDIxMiwgMTE0LCAyNDQsIDEwLCAxMjMsIDIyOCwgMTk5LCAyMTIsIDExNCwgMjQ0LCAxMCwgMTIzLCAyMTYsIDI0MiwgCi0gICAgMjEyLCAxMTQsIDI0NCwgMTAsIDEyMywgMjE2LCAxNjksIDIxMiwgMTE0LCAyNDQsIDEwLCAxMTMsIDIxNiwgMTY3LCAyMTIsIAotICAgIDExNCwgMjQ0LCAxMCwgMTIzLCAyNDQsIDEyNSwgMjEyLCAxMTQsIDI0NCwgMTAsIDExMywgMjQ0LCAxMjQsIDIxMiwgMTE0LCAKLSAgICAyNDQsIDEwLCAxMzQsIDI0NCwgMTI0LCAyMTIsIDExNCwgMjQ0LCAxMCwgMjQ0LCAxOSwgMjQ0LCAxMjQsIDIxMiwgMTE0LCAKLSAgICAyNDQsIDEwLCAxMjMsIDIxOSwgMTE3LCAyMTIsIDExNCwgMjQ0LCAxMCwgMjQ0LCA4OSwgMjE5LCAxMTUsIDIxMiwgMTE0LCAKLSAgICAyNDQsIDEwLCAxMjMsIDI0NSwgMTk2LCAyMTIsIDExNCwgMjQ0LCAxMCwgMTM0LCAyNDUsIDE5NCwgMjEyLCAxMTQsIDI0NCwgCi0gICAgMTAsIDI0NCwgODksIDI0NSwgMTk0LCAyMTIsIDExNCwgMjQ0LCAxMCwgMjIwLCAxMjQsIDI0NSwgMTk0LCAyNDQsIDEwLCAKLSAgICAyMjcsIDIwMSwgMTExLCAyMjIsIDIwMCwgMjI3LCAyMDIsIDExMSwgMjIyLCAyMDAsIDIyNywgMjAyLCAxMDUsIDIyMiwgCi0gICAgMjAwLCAyMjcsIDIwMiwgMTU4LCAyMjIsIDIwMCwgMjI3LCAyMDIsIDE2MSwgMjIyLCAyMDAsIDIyNywgMjAyLCAxOTAsIAotICAgIDIyMiwgMjAwLCAyMjcsIDIwMiwgMTk1LCAyMjIsIDIwMCwgMjI3LCAyMDIsIDE5OSwgMjIyLCAyMDAsIDIyNywgMjAyLCAKLSAgICAxOTYsIDIyMiwgMjAwLCAyMjcsIDIwMiwgMjAxLCAyMjIsIDIwMCwgMjI3LCAyMDIsIDIxNiwgMjQ4LCAyMjIsIDIwMCwgCi0gICAgMjI3LCAyMDIsIDI0NSwgMTc1LCAyMjIsIDIwMCwgMjI3LCAyMDIsIDIxNSwgNzYsIDIyMiwgMjAwLCAyMjcsIDIwMiwgMjQ0LCAKLSAgICAxMjIsIDIyMiwgMjAwLCAyMjcsIDIwMiwgMTIzLCAyNDAsIDIxNywgMjIyLCAyMDAsIDIyNywgMjAyLCAyNDQsIDg5LCAyNDAsIAotICAgIDIxNywgMjIyLCAyMDAsIDIyNywgMjAyLCAxMjMsIDIxNiwgMTQ4LCA0LCAyMjIsIDIwMCwgMjI3LCAyMDIsIDExMSwgNCwgCi0gICAgMjIyLCAyMDAsIDIyNywgMjAyLCAxMDUsIDQsIDIyMiwgMjAwLCAyMjcsIDIwMiwgMTU4LCA0LCAyMjIsIDIwMCwgMjI3LCAKLSAgICAyMDIsIDE2MSwgNCwgMjIyLCAyMDAsIDIyNywgMjAyLCAxOTAsIDQsIDIyMiwgMjAwLCAyMjcsIDIwMiwgMTk1LCA0LCAyMjIsIAotICAgIDIwMCwgMjI3LCAyMDIsIDE5OSwgNCwgMjIyLCAyMDAsIDIyNywgMjAyLCAxOTYsIDQsIDIyMiwgMjAwLCAyMjcsIDIwMiwgCi0gICAgMjAxLCA0LCAyMjIsIDIwMCwgMjI3LCAyMDIsIDIxNiwgMjQ4LCA0LCAyMjIsIDIwMCwgMjI3LCAyMDIsIDI0NSwgMTc1LCA0LCAKLSAgICAyMjIsIDIwMCwgMjI3LCAyMDIsIDIxNSwgNzYsIDQsIDIyMiwgMjAwLCAyMjcsIDIwMiwgMjQ0LCAxMjIsIDQsIDIyMiwgCi0gICAgMjAwLCAyMjcsIDIwMiwgMTIzLCAyNDAsIDIxNywgNCwgMjIyLCAyMDAsIDIyNywgMjAyLCAyNDQsIDg5LCAyNDAsIDIxNywgCi0gICAgNCwgMjIyLCAyMDAsIDIyNywgMjAyLCAxMjMsIDIxNiwgMTQ4LCAyMjIsIDIwMCwgMjI3LCAyMDIsIDEyMywgMjE2LCAxNDksIAotICAgIDI1MSwgNzUsIDI0OSwgNjgsIDIyMiwgMjAwLCAyMjcsIDIwMiwgMjQ0LCA4OSwgMjE2LCAxNDgsIDIyMiwgMjAwLCAyMjcsIAotICAgIDIwMiwgMjE2LCAyNDksIDIxNiwgMTQ4LCAyMjIsIDIwMCwgMjI3LCAyMDIsIDIyMywgNTIsIDEyMywgMjQwLCAyMTcsIDcsIAotICAgIDQsIDEsIDIyMywgNTIsIDI1MSwgNzQsIDIyMiwgMjAwLCAyMjcsIDIwMiwgMjE5LCAxMjcsIDIzMywgODQsIDE3LCAyMjIsIAotICAgIDIwMCwgMjI3LCAyMDIsIDI0NCwgMTIzLCAyNDUsIDIzNCwgMTcsIDIyMiwgMjAwLCAyMjcsIDIwMiwgMjQ0LCAxMjMsIDIxNiwgCi0gICAgMTQ4LCAyMjIsIDIwMCwgMjI3LCAyMDIsIDEyMywgMjQwLCAyMTgsIDIxNiwgMTQ4LCAyMTIsIDExNCwgMjQ0LCAxMCwgMjEwLCAKLSAgICA4NywgMjE2LCAxNjcsIDE0MCwgNzUsIDIxNCwgMTUzLCA3NSwgOTcsIDc1LCAyNDYsIDExMiwgNzUsIDQzLCA0NCwgNzUsIAotICAgIDEyMCwgMTI0LCA3NSwgMjI4LCA2MSwgMjEyLCA5LCA3NSwgMjI4LCA2MSwgMjQ1LCAyMjgsIDc1LCAyMTksIDMwLCAyNDUsIAotICAgIDIyOCwgNzUsIDIxOSwgMzAsIDIxMiwgOSwgNzUsIDE0MCwgODAsIDIsIDkxLCA5NywgODAsIDIsIDkxLCAxNDAsIDIxMiwgCi0gICAgMzYsIDc1LCA5NywgMjEyLCAzNiwgNzUsIDE0MCwgMTEzLCAyNDEsIDI0MSwgNzUsIDIxNCwgMTUzLCAxMTMsIDI0MSwgMjQxLCAKLSAgICA3NSwgOTcsIDExMywgMjQxLCAyNDEsIDc1LCAyNDYsIDExMiwgMTEzLCAyNDEsIDI0MSwgNzUsIDE0MCwgODAsIDIsIDIxNywgCi0gICAgNzgsIDk3LCA4MCwgMiwgMjE3LCA3OCwgMTQwLCA4MCwgMjQzLCAyNTEsIDEzMCwgMjE0LCAxNTMsIDgwLCAyNDMsIDI1MSwgCi0gICAgMTMwLCA5NywgODAsIDI0MywgMjUxLCAxMzAsIDI0NiwgMTEyLCA4MCwgMjQzLCAyNTEsIDEzMCwgMTIwLCAxMjQsIDgwLCAyLCAKLSAgICAyNTIsIDEzNSwgMTQwLCA4MCwgMiwgMTAzLCA5NywgODAsIDIsIDEwMywgMTQwLCA4MCwgMiwgMjMyLCAxMjksIDk3LCA4MCwgCi0gICAgMiwgMjMyLCAxMjksIDQzLCA0NCwgMjEyLCAzNiwgNzUsIDQzLCA0NCwgODAsIDIsIDkxLCAyNDYsIDExMiwgMjEwLCAzNSwgCi0gICAgNzUsIDIxNCwgMTUzLCA4MCwgMiwgMjE2LCA3OCwgMjMzLCA0MywgMjE0LCAxNTMsIDgwLCAyLCAyMTYsIDc4LCAyMjIsIAotICAgIDI0NCwgMjQ2LCAxMTIsIDgwLCAyLCAyMTYsIDc4LCAyMzMsIDQzLCAyNDYsIDExMiwgODAsIDIsIDIxNiwgNzgsIDIyMiwgCi0gICAgMjQ0LCA5NywgODAsIDIsIDI0OSwgMTY5LCAyNDYsIDExMSwgMjQ2LCAxMTIsIDgwLCAyLCAyNDksIDE2OSwgMjMzLCA0MywgCi0gICAgMjU0LCA5NiwgMjE2LCAxNSwgMjIwLCAxNTUsIDc1LCAyNTAsIDEwLCAyMTYsIDE1LCAyMjAsIDE1NSwgNzUsIDIyOCwgNjEsIAotICAgIDIxMiwgOSwgODAsIDIxNiwgNDMsIDIwMCwgMTMwLCAxNDAsIDgwLCAyMTYsIDQzLCAyNTIsIDE0OSwgMTE1LCA5NywgODAsIAotICAgIDIxNiwgNDMsIDEzMCwgMjU0LCA5NiwgMjA0LCAyNTAsIDQ0LCA3NSwgMjUwLCAxMCwgMjA0LCAyNTAsIDQ0LCA3NSwgMTQwLCAKLSAgICAyNDIsIDYsIDIsIDI1MiwgMTQ3LCAyMTQsIDE1MiwgMTQwLCAyNDIsIDYsIDIsIDI1MiwgMTQ3LCAyNDYsIDExMSwgMjE0LCAKLSAgICAxNTMsIDI0MiwgNiwgMiwgMjUyLCAxNDcsIDIyMiwgMjQ0LCAyMTQsIDE1MywgMjQyLCA2LCAyLCAyNTIsIDE0NywgMjMzLCAKLSAgICA0MywgOTcsIDI0MiwgNiwgMiwgMjUyLCAxNDcsIDIxNCwgMTUyLCA5NywgMjQyLCA2LCAyLCAyNTIsIDE0NywgMjQ2LCAxMTEsIAotICAgIDI0NiwgMTEyLCAyNDIsIDYsIDIsIDI1MiwgMTQ3LCAyMjIsIDI0NCwgMjQ2LCAxMTIsIDI0MiwgNiwgMiwgMjUyLCAxNDcsIAotICAgIDIzMywgNDMsIDk3LCA4MCwgMTE1LCAxNDAsIDc1LCAyMTQsIDE1MywgODAsIDE0MCwgNjQsIDI0NiwgMTEyLCA3NSwgMTQwLCAKLSAgICA4MCwgMTE1LCA5NywgNzUsIDE0MCwgMjI2LCA3NCwgMjUzLCAyNTUsIDIxNCwgMTUzLCAyMjYsIDc0LCAyNTMsIDI1NSwgOTcsIAotICAgIDIyNiwgNzQsIDI1MywgMjU1LCAyNDYsIDExMiwgMjI2LCA3NCwgMjUzLCAyNTUsIDE0MCwgMjQyLCA2LCAxMTUsIDk3LCAKLSAgICAyNDIsIDUsIDk3LCAyNDIsIDYsIDExNSwgMTQwLCAyNDIsIDUsIDE0MCwgNTIsIDgwLCAyLCA5MSwgNDMsIDQ0LCA1MiwgODAsIAotICAgIDIsIDkxLCA5NywgNTIsIDgwLCAyLCA5MSwgMTQwLCA1MiwgNzUsIDIxNCwgMTUzLCA1MiwgNzUsIDk3LCA1MiwgNzUsIDI0NiwgCi0gICAgMTEyLCA1MiwgNzUsIDQzLCA0NCwgNTIsIDc1LCAxMjAsIDEyNCwgNTIsIDc1LCAyMjgsIDYxLCAyMTIsIDksIDUyLCA3NSwgCi0gICAgMjI4LCA2MSwgMjQ1LCAyMjgsIDUyLCA3NSwgMjE5LCAzMCwgMjQ1LCAyMjgsIDUyLCA3NSwgMjE5LCAzMCwgMjEyLCA5LCAKLSAgICA1MiwgNzUsIDE0MCwgMjE1LCAyMTIsIDc1LCA5NywgMjE1LCAyMTIsIDc1LCAxNDAsIDIxOCwgMjMyLCA3NSwgOTcsIDIxOCwgCi0gICAgMjMyLCA3NSwgMjE0LCAxNTMsIDgwLCAyLCA1MiwgOTEsIDI0NiwgMTEyLCA4MCwgMiwgNTIsIDkxLCAxNDAsIDI0OCwgMTYzLCAKLSAgICA3NSwgMjE0LCAxNTMsIDI0OCwgMTYzLCA3NSwgOTcsIDI0OCwgMTYzLCA3NSwgMjQ2LCAxMTIsIDI0OCwgMTYzLCA3NSwgCi0gICAgMTQwLCA4MCwgMjE2LCA0MywgMTMwLCA5NywgODAsIDIxNiwgNDMsIDEzMCwgMTQwLCA3MSwgNzUsIDIxNCwgMTUzLCA3MSwgCi0gICAgNzUsIDk3LCA3MSwgNzUsIDI0NiwgMTEyLCA3MSwgNzUsIDIxNCwgMTUzLCA3MSwgODAsIDI0MywgMjUxLCAxMzAsIDIxNCwgCi0gICAgMTUzLCA3MSwgODAsIDIyNiwgMjAxLCAyMjUsIDIxNywgMjE0LCAxNTMsIDcxLCA4MCwgMjI2LCAyMDEsIDIyNSwgMjE4LCAyLCAKLSAgICAyMDMsIDEzMCwgMjE0LCAxNTMsIDcxLCA4MCwgMjI2LCAyMDEsIDIyNSwgMjE4LCAyLCA2NywgMTMwLCAyMTQsIDE1MywgNzEsIAotICAgIDUyLCA3NSwgMjE0LCAxNTMsIDcxLCA1MiwgODAsIDIyNiwgMjAxLCAyMjUsIDIxNywgOTcsIDcxLCA4MCwgMjQzLCAyNTEsIAotICAgIDIxMiwgNTYsIDIyOCwgNjEsIDIxMiwgOSwgODAsIDIxNiwgNDMsIDI0OSwgMTY4LCAyMTksIDMwLCAyNDUsIDIyOCwgODAsIAotICAgIDIxNiwgNDMsIDI0OSwgMTY4LCAxMjAsIDEyNCwgNzEsIDc1LCA0NCwgODAsIDIsIDQsIDI1MCwgNDMsIDI0NiwgMTEyLCA4MCwgCi0gICAgMTQwLCA2NCwgMjE0LCAxNTMsIDc1LCAxMzQsIDk3LCAyNTMsIDI1NSwgMTQwLCA4MCwgMiwgNjcsIDkxLCA5NywgODAsIDIsIAotICAgIDY3LCA5MSwgNDMsIDQ0LCA4MCwgMiwgNjcsIDkxLCAxNDAsIDgwLCAyLCA1MiwgNjcsIDkxLCA5NywgODAsIDIsIDUyLCA2NywgCi0gICAgOTEsIDQzLCA0NCwgODAsIDIsIDUyLCA2NywgOTEsIDE0MCwgMjI2LCAxNzcsIDc1LCA5NywgMjI2LCAxNzcsIDc1LCA0MywgCi0gICAgNDQsIDIyNiwgMTc3LCA3NSwgMzEsIDI1NCwgMTYzLCAyNDksIDIyMiwgMjI2LCAxLCAyNDcsIDI0MSwgMjE2LCAxODgsIAotICAgIDI0NSwgMzUsIDIxNiwgMTg4LCAyNDcsIDE0NiwgMjI4LCA1NywgMjQ1LCAzNiwgMjQ1LCAxNjAsIDIyMCwgMTI5LCAyMzUsIAotICAgIDI1MiwgMjI5LCAyMjYsIDI0NSwgMTc4LCAyMjYsIDIzNSwgMjI4LCA1NywgMjU0LCAxMzIsIDI0NSwgMTc4LCAyMjYsIDIzNSwgCi0gICAgNCwgMjQ1LCAxNzgsIDIyNiwgMjM1LCAyNDksIDE5NCwgMjUzLCAyNDYsIDIzMSwgNjcsIDI0NywgMTQ2LCAyMjgsIDU3LCAKLSAgICAyNDksIDE5NiwgMjUzLCAyNDYsIDIzMSwgNjcsIDQsIDI0OSwgMTk0LCAyNTMsIDI0NiwgMjMxLCA2NywgMjQ1LCAxNTEsIAotICAgIDY0LCAyMjQsIDE3NSwgMjMwLCAyOSwgMjI0LCAxODMsIDIzMCwgMjksIDI0OSwgMTczLCAyMzAsIDI5LCAyMTgsIDQxLCAKLSAgICAyMzAsIDE4NywgNTAsIDIzMCwgMTg1LCA1MCwgNTksIDIyNSwgMjUsIDI0NywgMTc3LCAyMTksIDk3LCAyMjAsIDEzMCwgCi0gICAgMjMwLCAxODYsIDI1MywgMjI1LCAyMjYsIDE3MSwgMjIyLCAyMzcsIDIyNiwgMTcxLCAyNTEsIDEyMiwgMjI2LCAxNzEsIDQyLCAKLSAgICAyMjIsIDE5NSwgMjQ5LCAxMTcsIDIyMiwgMTk1LCAyNDQsIDEyLCAyMjIsIDE5NSwgMjI0LCAxNzEsIDExMiwgMjM1LCAyNDEsIAotICAgIDQ0LCAyNTQsIDExNywgMjU0LCAxMTcsIDIzMSwgOTMsIDI1NCwgMTE3LCAyMTksIDEsIDI1NCwgMTE3LCAyNDcsIDE3OSwgCi0gICAgMjQ3LCAxNDYsIDIyOCwgNTcsIDI0NywgMTgyLCAyMjYsIDEyLCAxMTIsIDIyOCwgNTcsIDIyNiwgMTIsIDExMiwgMjMyLCAKLSAgICAxNTIsIDI1NCwgMTI2LCAyMzIsIDE1MiwgMjI2LCAxNjIsIDIzNSwgMjA1LCAyMTQsIDE3NSwgMjM1LCAyMTgsIDUyLCAyMzUsIAotICAgIDIxOCwgMjE1LCAyMTIsIDIzNSwgMjE4LCAyNDksIDE5MCwgMjM1LCAyMTgsIDIxOCwgMTQsIDIzNSwgMjE4LCAyMTMsIDEyOSwgCi0gICAgMjM1LCAyMTgsIDI1MCwgMTAsIDIzNSwgMjE4LCAyNTAsIDEwLCAyNDksIDE5MCwgMjM1LCAyMTgsIDI1NCwgOTYsIDI0OSwgCi0gICAgMTkwLCAyMzUsIDIxOCwgMjE2LCAxODcsIDI1MiwgNzUsIDIyMywgMTQwLCAyMjQsIDE3MiwgNTksIDIzMCwgMTg2LCAyNDUsIAotICAgIDQxLCAyNDMsIDUzLCAyMjQsIDE3MiwgMjQxLCA2NCwgMjE2LCA5MCwgMjI2LCAxNzEsIDIyMywgNTIsIDE4NCwgMjM1LCAKLSAgICAyMDAsIDIzMywgNzEsIDIyMiwgOTMsIDIxOSwgMTU5LCAyMTIsIDM1LCAyMTEsIDIwMCwgMjI0LCAxODMsIDIyOCwgNTcsIAotICAgIDE4NCwgMjMwLCAxODcsIDE4NCwgMjUzLCAyMTgsIDEyOCwgMTEyLCAyMjgsIDU3LCAyNTMsIDIxOCwgMTI4LCAxMTIsIDI1NCwgCi0gICAgNTYsIDEyOCwgMTEyLCAyNTQsIDU2LCAyNTEsIDk2LCAyMjgsIDU3LCAyNTUsIDEzLCAxMjgsIDExMiwgMjI5LCAxMDUsIAotICAgIDI1NCwgNTYsIDIyOCwgNjQsIDI1NSwgMTMsIDEyOCwgMTEyLCAyNTQsIDE1NiwgMTI4LCAxMTIsIDIyOCwgNTcsIDI1NCwgCi0gICAgMTU2LCAxMjgsIDExMiwgMjU0LCAxNTYsIDEyOCwgMTc3LCAxMjgsIDExMiwgMjE1LCAyMTIsIDE4NCwgMjU0LCAxNjQsIAotICAgIDEyOCwgMTEyLCAyNDUsIDEwMiwgMTEyLCAyNDMsIDUyLCAyNDUsIDEwMiwgMTEyLCAyNDcsIDI0MiwgMjUyLCAzMSwgMjU0LCAKLSAgICA1OCwgMjE2LCAxOTcsIDIzMiwgMjI3LCAyNDMsIDUyLCAxMjgsIDExMiwgMjU0LCA1NiwgMTI4LCAyMTYsIDQzLCAxNzcsIAotICAgIDIxNiwgMTk3LCAyMzYsIDIyLCAyMjYsIDIzNSwgMjM2LCAyMiwgNjQsIDE3NywgMjU0LCA1NiwgMTI4LCAxMTIsIDI0OSwgCi0gICAgMjM1LCAyNDUsIDEwNSwgMjQ1LCAxMDYsIDI0OSwgMjM0LCAyMjIsIDIzNywgMjM2LCA3LCAxMjgsIDExMiwgMjIyLCAyMzcsIAotICAgIDEyOCwgMTEyLCAyNDksIDE2MiwgMTEyLCAyNDUsIDc1LCAyNDUsIDEwNCwgMTEyLCAyMTgsIDE1OSwgMjQ1LCAxMDUsIDI0OCwgCi0gICAgNjMsIDEyOCwgMTEyLCAxMjgsIDIxNiwgNDMsIDI1MSwgODYsIDI0OCwgODAsIDIzMSwgOTMsIDI1MSwgODUsIDIyNCwgMTQsIAotICAgIDEyOCwgMTEyLCAyMjgsIDU3LCAxMjgsIDExMiwgMjQwLCAxMTEsIDExMiwgMjI4LCA1NywgMjQwLCAxMTEsIDExMiwgMjE4LCAKLSAgICAxMTEsIDI0NSwgMTAyLCAxMTIsIDIzMywgMjEsIDE3NywgMTI4LCAxMTIsIDI0MiwgMTM3LCAxNzcsIDEyOCwgMTEyLCAyMzMsIAotICAgIDIxLCAxMTUsIDEyOCwgMTEyLCAyNDIsIDEzNywgMTE1LCAxMjgsIDExMiwgMjMzLCAyMSwgMjUxLCA5NiwgMjI4LCA1NywgCi0gICAgMTI4LCAxMTIsIDI0MiwgMTM3LCAyNTEsIDk2LCAyMjgsIDU3LCAxMjgsIDExMiwgMjMwLCAxMDIsIDIzMywgMjAsIDIzMCwgCi0gICAgMTAyLCAyNDIsIDEzNiwgMjUyLCAzMSwgMjI4LCA1NywgMjQ1LCAxMDIsIDExMiwgMjI4LCA1NywgMjMzLCAyMCwgMjI4LCAKLSAgICA1NywgMjQyLCAxMzYsIDIyOSwgMTA1LCAyMzMsIDIxLCAyMjgsIDY0LCAxMjgsIDExMiwgMjI5LCAxMDUsIDI0MiwgMTM3LCAKLSAgICAyMjgsIDY0LCAxMjgsIDExMiwgMjMzLCAyMSwgMTc3LCAyNDUsIDEwMiwgMTEyLCAyNDIsIDEzNywgMTc3LCAyNDUsIDEwMiwgCi0gICAgMTEyLCAyMjksIDEwNSwgMjMzLCAyMSwgMjI4LCA2NCwgMjQ1LCAxMDIsIDExMiwgMjI5LCAxMDUsIDI0MiwgMTM3LCAyMjgsIAotICAgIDY0LCAyNDUsIDEwMiwgMTEyLCAyMzMsIDIxLCAxNzcsIDI0MiwgMTM2LCAyNDIsIDEzNywgMTc3LCAyMzMsIDIwLCAyMjksIAotICAgIDEwNSwgMjMzLCAyMSwgMjI4LCA2NCwgMjQyLCAxMzYsIDIyOSwgMTA1LCAyNDIsIDEzNywgMjI4LCA2NCwgMjMzLCAyMCwgCi0gICAgMjI0LCAyMDUsIDIxOCwgNTYsIDIyNCwgMjA2LCAxNzcsIDEyOCwgMTEyLCAyMTgsIDU3LCAxNzcsIDEyOCwgMTEyLCAyMjQsIAotICAgIDIwNiwgMTc3LCAyNDUsIDEwMiwgMTEyLCAyMTgsIDU3LCAxNzcsIDI0NSwgMTAyLCAxMTIsIDI0NywgMTQ2LCAyMjgsIDU3LCAKLSAgICAyMjQsIDIwOCwgMjQ3LCAxNDYsIDIyOCwgNTcsIDIxOCwgNTgsIDIxOCwgNjUsIDIyNiwgMjM1LCAyMTgsIDIzLCAyMjYsIAotICAgIDIzNSwgMjI4LCA1NywgMTE2LCAyMTgsIDY1LCAyMjYsIDIzNSwgMjI4LCA1NywgMTE2LCAyMTgsIDIzLCAyMjYsIDIzNSwgCi0gICAgMjE4LCA2NSwgNjQsIDE3NywgMTI4LCAxMTIsIDIxOCwgMjMsIDY0LCAxNzcsIDEyOCwgMTEyLCAyMjksIDEwNSwgMTE2LCAKLSAgICAyMTgsIDY1LCA2NCwgMjI4LCA2NCwgMTI4LCAxMTIsIDIyOSwgMTA1LCAxMTYsIDIxOCwgMjMsIDY0LCAyMjgsIDY0LCAxMjgsIAotICAgIDExMiwgMjE4LCA2NSwgNjQsIDIsIDIyOCwgNTcsIDEyOCwgMTEyLCAyMTgsIDIzLCA2NCwgMiwgMjI4LCA1NywgMTI4LCAKLSAgICAxMTIsIDIzMCwgODYsIDIzMCwgODcsIDIzMCwgODgsIDIzMCwgODcsIDIxNCwgMTc1LCA0MiwgMjM2LCAyMiwgMjI2LCAyMzUsIAotICAgIDQyLCAyMjYsIDE1NCwgMjI2LCAyMzUsIDQyLCAyMzYsIDIyLCA2NCwgMTc3LCAxMjgsIDExMiwgNDIsIDIyNiwgMTU0LCA2NCwgCi0gICAgMTc3LCAxMjgsIDExMiwgNDIsIDI1MSwgMywgNDIsIDI0OSwgMTEwLCAzNywgMjI1LCAyNSwgMzcsIDIzMCwgMTg2LCAzNywgCi0gICAgMjE2LCA4NiwgMzcsIDI0NywgMTc3LCAyMTksIDk3LCAzNywgNTksIDIyNiwgMTcxLCAzNywgMjIyLCAyMzcsIDIyNiwgMTcxLCAKLSAgICAzNywgMjUzLCAyMjUsIDIyNiwgMTcxLCAzNywgMjQ1LCAxMDUsIDM3LCAyNDgsIDE2NCwgOTIsIDIyNSwgMjUsIDkyLCAyMzAsIAotICAgIDE4NiwgOTIsIDIxNiwgODYsIDkyLCA1OSwgMjI2LCAxNzEsIDQ0LCAyMTcsIDg4LCA0MywgMjE3LCA4OCwgMTI0LCAyMTcsIAotICAgIDg4LCAxMjAsIDIxNywgODgsIDI1MywgMjI4LCAyMzAsIDE2MSwgMjE1LCAxOTIsIDI0NCwgMzMsIDIxNSwgMjEyLCA2NywgCi0gICAgMjUyLCAxNDksIDQ0LCAyMTUsIDkzLCA1MiwgNjcsIDI1MiwgMTQ5LCA1MiwgNDQsIDIxNSwgOTMsIDI0NywgMTQ2LCAyMjgsIAotICAgIDU3LCAyMjQsIDE2NiwgMjI4LCA1NywgMjE1LCAxOTIsIDI0NywgMTQ2LCAyMjgsIDU3LCAyNDQsIDM0LCAyMjksIDEwNywgCi0gICAgNTIsIDY3LCAyNTIsIDE0OSwgNTIsIDQ0LCAyMTUsIDkzLCAyMjQsIDIwNiwgMjE0LCAxODQsIDIyMywgOTQsIDIxOCwgNTcsIAotICAgIDIxNCwgMTg0LCAyMjMsIDk0LCAyMjgsIDYyLCAyMTgsIDc4LCAyMjYsIDIzNSwgMjQ5LCAxOTQsIDI1MywgMjQ2LCAyMjgsIAotICAgIDYyLCAyMTgsIDc3LCAyMjgsIDYyLCAyMTgsIDc4LCA2NCwgMTc3LCAxMjgsIDExMiwgMjQ5LCAxOTQsIDI1MywgMjQ2LCAKLSAgICAyMjgsIDYyLCAyMTgsIDc4LCAxNzcsIDEyOCwgMTEyLCAyMjYsIDE1NCwgMjI2LCAyMzUsIDIzNiwgMjIsIDIyNiwgMjM1LCAKLSAgICAyMzAsIDkyLCAyNDEsIDIwNywgMjQ5LCAyMDQsIDIzMSwgMTQyLCAyMzUsIDIxNSwgMjExLCAxNDUsIDIyOSwgMjA3LCAyMjgsIAotICAgIDYzLCA0NCwgMjU0LCAxMTgsIDIsIDI1NCwgMzMsIDQ0LCAyMTUsIDIyNiwgMjMwLCAyOSwgMjMyLCAxNTIsIDI1NCwgMTI2LCAKLSAgICAyMzAsIDI5LCAyMzIsIDE1MiwgMjI2LCAxNjIsIDIzMCwgMjksIDIzNSwgMjA1LCAyMzAsIDI5LCAyMTQsIDE3NSwgMjQ4LCAKLSAgICAxLCAyMjYsIDE3MSwgNTksIDIyNiwgMTcxLCAyMTgsIDE1OSwgMjI2LCAxNzEsIDI0NywgMTc3LCAyMTYsIDg2LCAyNTEsIAotICAgIDE3MiwgNDMsIDIyOCwgNjIsIDI0NCwgMTg5LCAyMjAsIDE1MSwgMjI0LCAxODMsIDQ0LCAyMjgsIDYyLCAyNDQsIDE4OSwgCi0gICAgMjIwLCAxNTEsIDIyNCwgMTgzLCA0MywgMjIwLCAxNTEsIDIyNCwgMTgzLCA0NCwgMjIwLCAxNTEsIDIyNCwgMTgzLCAyMjMsIAotICAgIDUyLCAyMTYsIDkwLCAyNDUsIDEwNSwgMjQ5LCAxMDcsIDIzMiwgMTUyLCAyMjYsIDE2MiwgMjQ5LCAxMDcsIDIzMiwgMTUyLCAKLSAgICAyNTQsIDEyNiwgNTIsIDIxOCwgNjQsIDUyLCAyMTgsIDIyLCA1MiwgMjM1LCAyMDUsIDUyLCAyMTQsIDE3NSwgMjI1LCA1MCwgCi0gICAgMTI4LCAyMiwgMjI2LCAxMiwgMTEyLCAyMzMsIDIxLCAyLCAyNDcsIDEyOCwgMjQyLCAxMzcsIDIsIDI0NywgMTI4LCAyMTMsIAotICAgIDE4NywgMjMwLCAxMDIsIDIzMywgMjAsIDIxMywgMTg3LCAyMzAsIDEwMiwgMjQyLCAxMzYsIDIzMywgMjEsIDEyOCwgMjE2LCAKLSAgICA0MywgMTc3LCAyNDIsIDEzNiwgMjQyLCAxMzcsIDEyOCwgMjE2LCA0MywgMTc3LCAyMzMsIDIwLCAxMjgsIDIxNiwgNDMsIAotICAgIDE3NywgMjMzLCAyMCwgMTI4LCAyMTYsIDQzLCAxNzcsIDI0MiwgMTM2LCAxMjgsIDIxNiwgNDMsIDE3NywgMjI0LCAyMDUsIAotICAgIDEyOCwgMjE2LCA0MywgMTc3LCAyMTgsIDU2LCAyNDcsIDE0NiwgMjI4LCA1NywgMjI0LCAyMDksIDE3NywgMjQ1LCAxMDcsIAotICAgIDI0NywgMTQ2LCAyMjgsIDU3LCAyMTgsIDU5LCAxNzcsIDI0NSwgMTA3LCAyMjgsIDU3LCA0MiwgMjM2LCAyMiwgNjQsIDE3NywgCi0gICAgMTI4LCAxMTIsIDIyOCwgNTcsIDQyLCAyMjYsIDE1NCwgNjQsIDE3NywgMTI4LCAxMTIsIDQyLCAyMzYsIDIyLCA2NCwgMTc3LCAKLSAgICAyMjgsIDU3LCAxMjgsIDExMiwgNDIsIDIyNiwgMTU0LCA2NCwgMTc3LCAyMjgsIDU3LCAxMjgsIDExMiwgMjMzLCAyMSwgCi0gICAgMjUxLCA5NiwgMjI4LCA1NywgMjQ1LCAxMDIsIDExMiwgMjQyLCAxMzcsIDI1MSwgOTYsIDIyOCwgNTcsIDI0NSwgMTAyLCAKLSAgICAxMTIsIDIyNCwgMjA2LCAyNTEsIDk2LCAyMjgsIDU3LCAyNDUsIDEwMiwgMTEyLCAyMTgsIDU3LCAyNTEsIDk2LCAyMjgsIAotICAgIDU3LCAyNDUsIDEwMiwgMTEyLCAyMjgsIDU3LCAyMjgsIDYyLCAyMTgsIDc4LCAyMjYsIDIzNSwgMjQ3LCAxNDYsIDIyOCwgCi0gICAgNTcsIDI0OSwgMTk2LCAyNTMsIDI0NiwgMjI4LCA2MiwgMjE4LCA3NywgMjI4LCA1NywgMjI4LCA2MiwgMjE4LCA3OCwgNjQsIAotICAgIDE3NywgMTI4LCAxMTIsIDI0NywgMTQ2LCAyMjgsIDU3LCAyNDksIDE5NiwgMjUzLCAyNDYsIDIyOCwgNjIsIDIxOCwgNzgsIAotICAgIDE3NywgMjQ1LCAxMDcsIDY3LCAyNDUsIDE3MSwgMjMwLCAyMjcsIDIwMywgMjQ1LCAxNzEsIDEyMCwgNDQsIDI0OCwgNywgCi0gICAgMjQ1LCAxNzEsIDEyNCwgNDQsIDI0OCwgNywgMjQ1LCAxNzEsIDI0NSwgMTc4LCA2NCwgMiwgMjAwLCAyMDMsIDkxLCAyNDUsIAotICAgIDE3OCwgNjQsIDIsIDY3LCAyNTIsIDE0OSwgMjUzLCAyMTUsIDI0NSwgMTUxLCA2NCwgMjAzLCA5MSwgNCwgMjQ1LCAxNzgsIAotICAgIDY0LCAyLCA2NywgMjUyLCAxNDksIDI1MywgMjE1LCAyNDUsIDE1MSwgNjQsIDIwMywgOTEsIDI0NSwgMTc4LCA2NCwgMiwgCi0gICAgNTksIDQ4LCAyNDUsIDE3OCwgNjQsIDIsIDIyNiwgMTI3LCA0LCAyNDUsIDE3OCwgNjQsIDIsIDIyNiwgMTI3LCAyNDUsIAotICAgIDE3OCwgNjQsIDIsIDIxNCwgMTgzLCAyNDUsIDE3OCwgNjQsIDIsIDExMywgMjAzLCAyMTgsIDkyLCAyNDksIDE5NCwgMiwgCi0gICAgMjAwLCAyMDMsIDkxLCAyNDksIDE5NCwgMiwgNjcsIDI1MiwgMTQ5LCAyNTMsIDIxNSwgMjQ1LCAxNTEsIDY0LCAyMDMsIDkxLCAKLSAgICA0LCAyNDksIDE5NCwgMiwgNjcsIDI1MiwgMTQ5LCAyNTMsIDIxNSwgMjQ1LCAxNTEsIDY0LCAyMDMsIDkxLCAyNDksIDE5NCwgCi0gICAgMiwgMjI2LCAxMjcsIDQsIDI0OSwgMTk0LCAyLCAyMjYsIDEyNywgMjEwLCAxNjAsIDE4OSwgMjUyLCAxODEsIDIzMSwgNjYsIAotICAgIDI0OCwgMiwgNTAsIDI0NSwgMTgwLCA3NSwgMjQwLCAyNDEsIDEyMCwgMjU0LCAxLCAxMjQsIDI1NCwgMSwgMjI0LCAxNzgsIAotICAgIDIyNSwgMTY4LCAyMTIsIDMyLCAyMzIsIDIxOSwgNDMsIDI1MCwgMTg5LCA0NCwgMjUwLCAxODksIDQzLCAyNDQsIDY1LCA0NCwgCi0gICAgMjQ0LCA2NSwgMjUxLCAxODMsIDQ0LCAyNDksIDE0MCwgMjUxLCAxODMsIDQzLCAyNDksIDE0MCwgMjE2LCAxNSwgNDQsIAotICAgIDI0OSwgMTQwLCAyMTYsIDE1LCA0MywgMjQ5LCAxNDAsIDIyMywgNTIsIDIyOCwgNTcsIDUwLCA0MiwgMjMyLCAxMTAsIDI1NCwgCi0gICAgMzMsIDIyMSwgMTY2LCAyMjEsIDE3MywgMjE3LCAyLCAyMjMsIDEyMywgMjI0LCAyNDQsIDIzNSwgMjQ1LCAyMTMsIDE2NSwgCi0gICAgMjE4LCAyMzYsIDIyNSwgNDQsIDY0LCAyMzUsIDIxNCwgNTAsIDIxNSwgOTQsIDIyOCwgNTcsIDUwLCAyMTIsIDQyLCAyNDAsIAotICAgIDI0MywgMjE2LCAxNSwgNDMsIDI0OSwgMTY4LCAyMTYsIDE1LCA0NCwgMjQ5LCAxNjgsIDI1MSwgMTgzLCA0MywgMjQ5LCAKLSAgICAxNjgsIDI1MSwgMTgzLCA0NCwgMjQ5LCAxNjgsIDIxNiwgMTUsIDE2MywgMjM1LCAyMTgsIDI1MSwgMTgzLCAxNjMsIDIzNSwgCi0gICAgMjE4LCAyNDMsIDI0OCwgMjE5LCA3NywgMTIwLCAyNTQsIDIsIDI1MiwgMzIsIDExMywgMjAzLCAyNTIsIDEzNywgMjI2LCAKLSAgICAxNjQsIDIzNCwgMTQ0LCAyNDUsIDk4LCAyMTYsIDQzLCAyMTYsIDE5NywgMjIyLCAyNTQsIDIxMSwgMTc5LCAyMzYsIDcsIAotICAgIDExNiwgMjIzLCAxMjAsIDI1MSwgMTcxLCAyMzQsIDE0MywgMjMzLCA0OCwgMjU0LCAxMTgsIDEyNywgMjIyLCAyNTAsIDI1NCwgCi0gICAgMTE4LCAxMjcsIDI0NSwgOTgsIDIxNiwgNDMsIDIxNiwgMTk3LCAyMzMsIDUyLCAyNTIsIDQzLCAyMjIsIDIzNiwgMjQ5LCAKLSAgICA3OCwgMjU0LCAxNjQsIDI1NCwgOSwgMjE3LCAxODIsIDIxNiwgNSwgMjIyLCAxMjUsIDI0NywgMjIzLCAyMjYsIDE1NSwgCi0gICAgMjQ5LCAyMDYsIDIxNywgNTMsIDIxOSwgODgsIDI0OSwgMTU5LCAyNDksIDE1OCwgMjU0LCA3NCwgMjQzLCAyMzIsIDE2LCAKLSAgICAyNDAsIDE1OCwgMjU0LCA3NCwgMjQzLCAyMzIsIDE2LCAyMTgsIDIzMCwgMjI0LCAzMCwgMjU0LCA3NCwgMjQzLCAyMzIsIAotICAgIDE2LCAyMjQsIDMxLCAyNDUsIDEwNywgMjU0LCA3NCwgMjQzLCAyMzIsIDE2LCAyMjQsIDMxLCAyNDcsIDE4MiwgMjU0LCA3NCwgCi0gICAgMjQzLCAyMzIsIDE2LCAyMjQsIDMxLCAyNDgsIDAsIDI1NCwgNzQsIDI0MywgMjMyLCAxNiwgMjI0LCAzMSwgMjM1LCA2MiwgCi0gICAgMjU0LCA3NCwgMjQzLCAyMzIsIDE2LCAyMjQsIDMxLCAyNTAsIDQzLCAyNTQsIDc0LCAyNDMsIDIzMiwgMTYsIDI1MCwgNDQsIAotICAgIDIxOCwgMTM3LCAyNTQsIDc0LCAyNDMsIDIzMiwgMTYsIDI1MCwgNDQsIDIzNSwgNjIsIDI1NCwgNzQsIDI0MywgMjMyLCAxNiwgCi0gICAgMjE5LCA5OCwgMTMwLCAyNTQsIDc0LCAyNDMsIDIzMiwgMTYsIDI1MiwgMTg5LCAxMzAsIDI1NCwgNzQsIDI0MywgMjMyLCAKLSAgICAxNiwgMjI0LCAzMSwgMjE5LCA5NywgMjU0LCA3NCwgMjQzLCAyMzIsIDE2LCAyMjQsIDMxLCAyNTIsIDE4OCwgMjU0LCA3NCwgCi0gICAgMjQzLCAyMzIsIDE2LCAyMjQsIDMxLCAyMzMsIDIwLCAyNTQsIDc0LCAyNDMsIDIzMiwgMTYsIDIyNCwgMzEsIDI0MiwgMTM2LCAKLSAgICAyNTQsIDc0LCAyNDMsIDIzMiwgMTYsIDE0MCwgMjE0LCAxOSwgMjU0LCA3NCwgMjQzLCAyMzIsIDE2LCA5NywgMjE0LCAxOSwgCi0gICAgMjU0LCA3NCwgMjQzLCAyMzIsIDE2LCAyMjQsIDMxLCAxNDAsIDc1LCAyNTQsIDc0LCAyNDMsIDIzMiwgMTYsIDIyNCwgMzEsIAotICAgIDk3LCA3NSwgMjU0LCA3NCwgMjQzLCAyMzIsIDE2LCAyNTAsIDQ0LCAyNTIsIDE4OCwgMjU0LCA3NCwgMjQzLCAyMzIsIDE2LCAKLSAgICAxMjQsIDIxNywgODksIDIxNCwgMTgzLCAyNTQsIDc0LCAyNDMsIDIzMiwgMTYsIDI0OCwgNjMsIDIxOCwgMTM3LCAyNTQsIAotICAgIDc0LCAyNDMsIDIzMiwgMTYsIDIyNCwgMzEsIDEyNCwgMjUwLCAyNDYsIDI1NCwgNzQsIDI0MywgMjMyLCAxNiwgMjI0LCAzMSwgCi0gICAgMjQ4LCA2MiwgMjU0LCA3NCwgMjQzLCAyMzIsIDE2LCAxMjQsIDIxNywgODksIDIzNSwgNjIsIDI1NCwgNzQsIDI0MywgMjMyLCAKLSAgICAxNiwgMjE0LCAxNTMsIDIxNCwgMTksIDI1NCwgNzQsIDI0MywgMjMyLCAxNiwgMjI0LCAzMSwgMjE0LCAxNTMsIDc1LCAyNTQsIAotICAgIDc0LCAyNDMsIDIzMiwgMTYsIDEyMCwgMjE3LCA4OSwgMjI2LCAxMjcsIDI1NCwgNzQsIDI0MywgMjMyLCAxNiwgMjQ4LCA3NCwgCi0gICAgMjE4LCAxMzcsIDI1NCwgNzQsIDI0MywgMjMyLCAxNiwgMjI0LCAzMSwgMTIwLCAyNTAsIDI0NiwgMjU0LCA3NCwgMjQzLCAKLSAgICAyMzIsIDE2LCAyMjQsIDMxLCAyNDgsIDczLCAyNTQsIDc0LCAyNDMsIDIzMiwgMTYsIDEyMCwgMjE3LCA4OSwgMjM1LCA2MiwgCi0gICAgMjU0LCA3NCwgMjQzLCAyMzIsIDE2LCAyNDYsIDExMiwgMjE0LCAxOSwgMjU0LCA3NCwgMjQzLCAyMzIsIDE2LCAyMjQsIDMxLCAKLSAgICAyNDYsIDExMiwgNzUsIDI1NCwgNzQsIDI0MywgMjMyLCAxNiwgMjI0LCAwLCAyMTQsIDE4MywgMjU0LCA3NCwgMjQzLCAyMzIsIAotICAgIDE2LCAyNDgsIDYzLCAyMTQsIDE4MywgMjU0LCA3NCwgMjQzLCAyMzIsIDE2LCAyNDgsIDEsIDIxNCwgMTgzLCAyNTQsIDc0LCAKLSAgICAyNDMsIDIzMiwgMTYsIDIzNSwgNjMsIDIxNCwgMTgzLCAyNTQsIDc0LCAyNDMsIDIzMiwgMTYsIDI1MCwgNDQsIDIxNCwgCi0gICAgMTgzLCAyNTQsIDc0LCAyNDMsIDIzMiwgMTYsIDEyMCwgMjIwLCA3LCAyMzUsIDYyLCAyNTQsIDc0LCAyNDMsIDIzMiwgMTYsIAotICAgIDIyNCwgMCwgMjI0LCAzMCwgMjU0LCA3NCwgMjQzLCAyMzIsIDE2LCAyNTAsIDQ0LCAyMTgsIDE1OCwgMjU0LCA3NCwgMjQzLCAKLSAgICAyMzIsIDE2LCAyMjQsIDMxLCAyNDksIDIzNCwgMjU0LCA3NCwgMjQzLCAyMzIsIDE2LCAxMjAsIDIxNywgODksIDI0OCwgOSwgCi0gICAgMjU0LCA3NCwgMjQzLCAyMzIsIDE2LCAyNDgsIDc0LCAyNDgsIDksIDI1NCwgNzQsIDI0MywgMjMyLCAxNiwgMjE4LCAxNTksIAotICAgIDI0OCwgOSwgMjU0LCA3NCwgMjQzLCAyMzIsIDE2LCAyMzUsIDYzLCAyNDgsIDksIDI1NCwgNzQsIDI0MywgMjMyLCAxNiwgCi0gICAgMjUwLCA0NCwgMjQ4LCA5LCAyNTQsIDc0LCAyNDMsIDIzMiwgMTYsIDEyNCwgMjIwLCA3LCAyMTgsIDEzNywgMjU0LCA3NCwgCi0gICAgMjQzLCAyMzIsIDE2LCA0MywgMjIwLCA3LCAyMTgsIDEzNywgMjU0LCA3NCwgMjQzLCAyMzIsIDE2LCAyMTYsIDkwLCAyNDgsIAotICAgIDksIDI1NCwgNzQsIDI0MywgMjMyLCAxNiwgMjQyLCAxMzcsIDI0OCwgOSwgMjU0LCA3NCwgMjQzLCAyMzIsIDE2LCAyNDksIAotICAgIDIyOCwgMTMwLCAyNTQsIDc0LCAyNDMsIDIzMiwgMTYsIDI0OCwgNzQsIDE4NCwgMjU0LCA3NCwgMjQzLCAyMzIsIDE2LCAKLSAgICAyMTAsIDM0LCAyNTQsIDc0LCAyNDMsIDIzMiwgMTYsIDIxOCwgMTM4LCAxODQsIDI1NCwgNzQsIDI0MywgMjMyLCAxNiwgCi0gICAgMjIwLCAxNTMsIDIxNCwgMTgzLCAyNTQsIDc0LCAyNDMsIDIzMiwgMTYsIDIyNCwgMzEsIDIyOCwgNTcsIDI0NSwgMTA3LCAKLSAgICAyNTQsIDc0LCAyNDMsIDIzMiwgMTYsIDIyNCwgMzEsIDIyNCwgMTUsIDI1NCwgNzQsIDI0MywgMjMyLCAxNiwgMTI0LCAyNTAsIAotICAgIDI0NywgMTg0LCAyNTQsIDc0LCAyNDMsIDIzMiwgMTYsIDEyMCwgMjUwLCAyNDcsIDE4NCwgMjU0LCA3NCwgMjQzLCAyMzIsIAotICAgIDE2LCAyMzUsIDE5MiwgMjU0LCA3NCwgMjQzLCAyMzIsIDE2LCAyMjMsIDQwLCAyNTQsIDc0LCAyNDMsIDIzMiwgMTYsIDIyNiwgCi0gICAgMjA1LCAyNTQsIDc0LCAyNDMsIDIzMiwgMTYsIDI1NCwgMTUyLCAyMTQsIDE4MywgMjU0LCA3NCwgMjQzLCAyMzIsIDE2LCAKLSAgICAyNDUsIDEwOSwgMjE0LCAxODMsIDI1NCwgNzQsIDI0MywgMjMyLCAxNiwgMjM1LCAxOTMsIDIxNCwgMTgzLCAyNTQsIDc0LCAKLSAgICAyNDMsIDIzMiwgMTYsIDIyNiwgMjA2LCAyMTQsIDE4MywgMjU0LCA3NCwgMjQzLCAyMzIsIDE2LCAyNTQsIDE1MSwgMjI4LCAKLSAgICA1NywgMjUwLCAxMzgsIDc5LCA0NCwgMjU0LCAxMTgsIDIsIDI0NiwgMTEyLCAyMTAsIDM1LCA3NSwgMjE5LCAyMzcsIDIwNCwgCi0gICAgMjUxLCAxNzEsIDI1MiwgNTMsIDg3LCA2NywgMjMyLCAyMjAsIDIsIDIzMCwgMjI5LCAyNDcsIDEyOCwgMjM1LCAyMjMsIDg3LCAKLSAgICAyNDksIDE5MSwgMjE0LCAxODEsIDg3LCAyNDcsIDE5NywgMjE0LCAxODEsIDg3LCAyNDUsIDE2MiwgODcsIDI0OSwgMjE4LCAKLSAgICA4NywgNzEsIDQyLCAyLCAyNTAsIDE4MywgNjcsIDIzMiwgMjE5LCAyNDUsIDEzOCwgODcsIDI1NCwgMTQ3LCAyMzQsIDE0NSwgCi0gICAgODcsIDI0MSwgMjIwLCA4NywgMzcsIDIwMywgMjUyLCAxNDksIDIsIDIyOCwgNTUsIDM3LCAyMTUsIDIyNywgMjQ2LCAxMTQsIAotICAgIDI1MSwgMTQzLCAyNTAsIDQ0LCAyLCAyMjgsIDU5LCA3NSwgMjE0LCAxNzksIDg3LCAyMzAsIDE0MiwgODcsIDI0MCwgMTcxLCAKLSAgICA4NywgMjI2LCAxNzgsIDI0MiwgNjYsIDg3LCAyMjYsIDE3OCwgMjMzLCAxNTMsIDg3LCAyMjUsIDI0OCwgODcsIDIyNSwgCi0gICAgMjQ3LCA4NywgMjQ3LCAyMDUsIDI0OSwgMTA1LCAxNiwgMjQ0LCAyOCwgMTA1LCAyMTksIDUyLCA4NywgMjU0LCA3NCwgMjQzLCAKLSAgICAyMzIsIDE2LCAyMjQsIDMwLCAyNDgsIDkxLCAyMjAsIDE0MCwgMjM0LCAxNDUsIDg3LCAyMjQsIDE5NSwgMjI2LCA3OSwgCi0gICAgMjI5LCA4NywgMjI2LCA3OSwgMjI0LCAxOTEsIDIyMSwgMTkxLCA4NywgMjUwLCAyNSwgMjIxLCAxOTEsIDg3LCA0MywgMjI2LCAKLSAgICA4LCAyMTQsIDE2MCwgMTAzLCA0MywgMjI2LCA4LCAyNDUsIDI5LCA0MywgMjI2LCA4LCAyMzIsIDExNCwgMTAzLCA0NCwgCi0gICAgMjI2LCA4LCAyMTQsIDE2MCwgMTAzLCA0NCwgMjI2LCA4LCAyNDUsIDI5LCA0NCwgMjI2LCA4LCAyMzIsIDExNCwgMTAzLCAKLSAgICA0MywgNDIsIDI1MSwgMTY2LCAyMTQsIDE2MCwgMjQ5LCAxNjgsIDQzLCA0MiwgMjUxLCAxNjYsIDI0NSwgMjksIDQzLCA0MiwgCi0gICAgMjUxLCAxNjYsIDIzMiwgMTE0LCAyNDksIDE2OCwgNDQsIDQyLCAyNTEsIDE2NiwgMjE0LCAxNjAsIDI0OSwgMTY4LCA0NCwgCi0gICAgNDIsIDI1MSwgMTY2LCAyNDUsIDI5LCA0NCwgNDIsIDI1MSwgMTY2LCAyMzIsIDExNCwgMjQ5LCAxNjgsIDQzLCAyNDksIAotICAgIDEwNywgMjUxLCAxNjYsIDIxNCwgMTYwLCAxMDMsIDQzLCAyNDksIDEwNywgMjUxLCAxNjYsIDIzMCwgMjI5LCAyMjUsIDEwNCwgCi0gICAgNDMsIDI0OSwgMTA3LCAyNTEsIDE2NiwgMjMyLCAxMTQsIDEwMywgMjQ5LCAxMDcsIDI1MSwgMTY2LCAyNDUsIDI5LCA0NCwgCi0gICAgMjQ5LCAxMDcsIDI1MSwgMTY2LCAyMTQsIDE2MCwgMTAzLCA0NCwgMjQ5LCAxMDcsIDI1MSwgMTY2LCAyMzAsIDIyOSwgMjI1LCAKLSAgICAxMDQsIDQ0LCAyNDksIDEwNywgMjUxLCAxNjYsIDIzMiwgMTE0LCAxMDMsIDIzNSwgMjE5LCAyNDUsIDI5LCAyMDMsIDIzMiwgCi0gICAgMjIwLCAyNDUsIDI5LCAyMTQsIDE2MCwgNDMsIDE3NywgMjMyLCAxMTQsIDQ0LCAyNDksIDEwNywgMjUxLCAxNjYsIDIyMSwgCi0gICAgMTc0LCAyMTQsIDE2MCwgNDQsIDE3NywgMjMyLCAxMTQsIDQzLCAyNDksIDEwNywgMjUxLCAxNjYsIDIyMSwgMTc0LCAyMTgsIAotICAgIDQyLCAyMTYsIDE0LCAyMTgsIDQyLCAyNTEsIDE4MiwgMjE2LCAxNSwgNDIsIDEyNywgMjUxLCAxODMsIDQyLCAxMjcsIDI1MSwgCi0gICAgMTgzLCA0MiwgMjUxLCAxNjYsIDExNSwgMjE2LCAxNSwgNDIsIDEyNywgMzQsIDE2LCAyNTEsIDE4MiwgNDMsIDY3LCA5MywgCi0gICAgMjMyLCAyMTksIDQ0LCA2NywgOTMsIDIzMiwgMjE5LCAyMDMsIDIyMSwgMjA3LCAyMzIsIDIxOCwgMjAzLCAyMjEsIDIwNywgCi0gICAgMjMyLCAyMTcsIDIwMywgMjIxLCAyMDcsIDIzMiwgMjE2LCAyMDMsIDIyMSwgMjA3LCAyMzIsIDIxNSwgMjQ4LCA1NCwgMTYsIAotICAgIDE5MywgNjcsIDIyLCAyMTYsIDE1LCAyMjIsIDI1NCwgMjQ4LCA1NCwgMTYsIDE5MywgNjcsIDIyLCAyNTEsIDE4MywgMjIyLCAKLSAgICAyNTQsIDI0OCwgNTQsIDE2LCAxOTMsIDY3LCAyLCAyNTAsIDQzLCAyNDgsIDU0LCAxNiwgMTkzLCAxMjQsIDIyLCAyMDMsIDIsIAotICAgIDI1MCwgNDMsIDI0OCwgNTQsIDE2LCAxOTMsIDEyMCwgMjIsIDIwMywgMiwgMjUwLCA0MywgMjQ4LCA1NCwgMTYsIDE5MywgCi0gICAgNjcsIDIsIDIxNSwgMjI2LCAyNDgsIDU0LCAxNiwgMTkzLCAxMjQsIDIyLCAyMDMsIDIsIDIxNSwgMjI2LCAyNDgsIDU0LCAKLSAgICAxNiwgMTkzLCAxMjAsIDIyLCAyMDMsIDIsIDIxNSwgMjI2LCAyNDgsIDU0LCAxNiwgMTkzLCA2NywgMjIsIDIxMiwgMzUsIAotICAgIDI0OCwgNTQsIDE2LCAxOTMsIDEyNCwgMjIsIDIwMywgMiwgMjEyLCAzNSwgMjQ4LCA1NCwgMTYsIDE5MywgMTIwLCAyMiwgCi0gICAgMjAzLCAyLCAyMTIsIDM1LCAyNDgsIDU0LCAxNiwgMTkzLCAxMjQsIDIyLCAyNDEsIDUxLCAyNDgsIDU0LCAxNiwgMTkzLCAKLSAgICAxMjAsIDIyLCAyNDEsIDUxLCAyNDgsIDU0LCAxNiwgMTkzLCA2NywgMjIsIDIxNiwgMTUsIDIzMywgNTIsIDI0OCwgNTQsIAotICAgIDE2LCAxOTMsIDY3LCAyMiwgMjUxLCAxODMsIDIzMywgNTIsIDQyLCAyNDQsIDQwLCAyMjMsIDU3LCA4NywgMjQ1LCAxOTAsIAotICAgIDg3LCA2NywgMjMyLCAyMjAsIDI0NSwgMjksIDIzMSwgMzgsIDI1MSwgMTU0LCAyMzEsIDM4LCAyMDAsIDExNSwgMjE5LCAKLSAgICAyNTIsIDIzMSwgMzgsIDIxOSwgMjUzLCAxMTUsIDIzMiwgMTQzLCAyMzEsIDM4LCAyMDAsIDExNSwgMTEzLCAyMTksIDIzOSwgCi0gICAgMjMxLCAzOCwgMTEzLCAyMTksIDI0MCwgMTE1LCAyMzIsIDE0MywgMjMxLCAzOCwgMTEzLCAyMTksIDI0MCwgMjM1LCA3MCwgCi0gICAgMjMxLCAzOCwgMjE1LCAyMDksIDIzMSwgMzgsIDIxNiwgMjI0LCAyMzEsIDM4LCAyMjUsIDE5MSwgMjQ1LCAyMzIsIDI0MiwgCi0gICAgMTI5LCAyNDMsIDIyNiwgMjE2LCAxNSwgMjI2LCA3LCAyNTEsIDE4MywgMjI2LCA3LCAyMTYsIDE1LCAyNDksIDEwNywgMTI3LCAKLSAgICAyNTEsIDE4MywgMjQ5LCAxMDcsIDEyNywgMjE2LCAxNSwgMjE2LCA3LCAyMjAsIDU1LCAxMjcsIDI1MSwgMTgzLCAyMTYsIDcsIAotICAgIDIyMCwgNTUsIDEyNywgNzEsIDIxNSwgMjQwLCAyNTIsIDQzLCAyMjIsIDIzNywgMiwgMjUwLCA0MywgMjE4LCAxMjIsIDI0NCwgCi0gICAgNzIsIDI1NSwgMjYsIDI0OSwgMTA0LCAyNDUsIDE3OSwgMjM1LCAyMDUsIDI0OCwgOTEsIDI0NSwgMzIsIDg3LCA4NSwgMjIyLCAKLSAgICAyNTAsIDUyLCAyMTUsIDIyNiwgODUsIDIzMywgNDgsIDUyLCAyMTUsIDIyNiwgODUsIDIxNCwgMTYyLCA1MiwgMjE1LCAyMjYsIAotICAgIDg1LCAyNDYsIDExMywgNTIsIDIxNSwgMjI2LCA4NSwgMjIyLCAyNTAsIDUyLCAyMTUsIDIyNywgMiwgNjcsIDEzMCwgODUsIAotICAgIDIzMywgNDgsIDUyLCAyMTUsIDIyNywgMiwgNjcsIDEzMCwgODUsIDIyMiwgMjUwLCAyMTUsIDIyNywgMiwgNTIsIDY3LCAKLSAgICAxMzAsIDI1NCwgMTgyLCAyNTAsIDExLCAyMTgsIDEyOCwgMjE2LCA4NywgMjUwLCAxMSwgMjQwLCAyNDQsIDIsIDI0NCwgNTgsIAotICAgIDIyMSwgMjQzLCAxNiwgMzEsIDIyNywgMjA2LCAxNiwgMzEsIDIxOCwgMTU0LCA2NCwgMjQxLCAyNDAsIDE2LCAzMSwgMjE4LCAKLSAgICAxNTQsIDY0LCAyMTYsIDIxMywgMTYsIDMxLCAyNDUsIDE1MSwgNjQsIDIxNiwgMjEzLCAxNiwgMzEsIDI0NSwgMTUxLCA2NCwgCi0gICAgMjE1LCAyNDQsIDE2LCAzMSwgMjQ1LCAxNDAsIDE2LCAzMSwgMjU1LCAxNiwgMTYsIDMxLCAyNTIsIDUyLCAxNiwgMzEsIAotICAgIDI1MiwgMTg3LCAxNiwgMzEsIDIwMywgMjE3LCA5MCwgMTYsIDMxLCAyMzIsIDIyMCwgMjQ0LCAxNTMsIDE2LCAzMSwgNjcsIAotICAgIDIxNywgOTAsIDE2LCAzMSwgMjQ0LCAyOCwgMjQ0LCAxNTMsIDE2LCAzMSwgMjUwLCAyMzgsIDIyMywgNTYsIDE2LCAzMSwgCi0gICAgMjIwLCAzMCwgMjI2LCAxMzQsIDE2LCAzMSwgMjIwLCAzMCwgMjM2LCA2LCAxNiwgMzEsIDI0OCwgMTU5LCAyMzIsIDIxMCwgCi0gICAgMjQ1LCA4NSwgMTYsIDMxLCAyNDgsIDM5LCAyNDksIDE4NiwgMTExLCAxNiwgMzEsIDI0OCwgMzksIDI0OSwgMTg2LCAxMDUsIAotICAgIDE2LCAzMSwgMjQ4LCAzOSwgMjQ5LCAxODYsIDE1OCwgMTYsIDMxLCAyNDgsIDM5LCAyNDksIDE4NiwgMTYxLCAxNiwgMzEsIAotICAgIDE1MiwgMjU1LCAxNiwgMTYsIDMxLCAyMTcsIDE3OCwgMjM2LCA2OSwgMTYsIDMxLCAyNDUsIDE1MSwgNjQsIDIxNSwgMjQ1LCAKLSAgICAyNTEsIDIyMSwgMTYsIDMxLCAyNTEsIDEzLCAxNiwgMzEsIDI0NSwgMTUxLCA2NCwgMjMxLCA4NiwgMTYsIDMxLCAyMTgsIAotICAgIDYyLCAxNiwgMzEsIDI0NSwgODUsIDE2LCAzMSwgMjQ0LCAxMTUsIDIyMCwgMTM5LCAxNiwgMzEsIDI0MiwgMTI4LCAyMjAsIAotICAgIDEzOSwgMTYsIDMxLCAyMjMsIDEyNCwgMjIwLCAxMzksIDE2LCAzMSwgMjE0LCAxNzQsIDIyMCwgMTM5LCAxNiwgMzEsIDIxOSwgCi0gICAgMjAsIDE2LCAzMSwgMjQ4LCA3MSwgMjUxLCAyMjQsIDg3LCAyMDQsIDI1MSwgMTcxLCAxNiwgMzEsIDIyOSwgOTAsIDE2LCAKLSAgICAzMSwgMjQ4LCA3MiwgMjQ0LCAyOCwgMTA1LCAxNiwgMzEsIDIxOCwgNjMsIDI0NCwgMjgsIDEwNSwgMjI2LCAyNDUsIDEwMywgCi0gICAgMjI2LCAyNDUsIDI1MCwgMTYwLCAyMjYsIDI0NSwgMjQ0LCAzMSwgMjI2LCAyNDUsIDIzNSwgMjAwLCAyNDQsIDMxLCAyMjYsIAotICAgIDI0NSwgMjUyLCA1MCwgMjUxLCAxMzIsIDIyNiwgMjQ1LCAyNTEsIDE3OCwgMjE2LCAxMTIsIDIyNiwgMjQ1LCAyNTEsIDE2MywgCi0gICAgMjUyLCAxNTQsIDI0MCwgMTEwLCAyMjYsIDI0NSwgMjU0LCAxMzUsIDY0LCAyNTAsIDEzNywgMjI2LCAyNDUsIDI0OCwgMTY0LCAKLSAgICAyMjYsIDI0NSwgMjQ5LCA5NSwgMjU1LCAyMCwgMjI3LCAyMDQsIDIyNiwgMjQ1LCA1MiwgMjUyLCAxODgsIDM3LCAyMSwgCi0gICAgMTExLCAzNywgMjEsIDEwNSwgMzcsIDIxLCAxNTgsIDM3LCAyMSwgMTYxLCAzNywgMjEsIDE5MCwgMzcsIDIxLCAxOTUsIDM3LCAKLSAgICAyMSwgMTk5LCAzNywgMjEsIDE5NiwgMzcsIDIxLCAyMDEsIDM3LCA1NCwgMjE2LCAyNDgsIDM3LCA1NCwgMjQ1LCAxNzUsIAotICAgIDM3LCA1NCwgMjE1LCA3NiwgMzcsIDU0LCAyMTYsIDE2NSwgMzcsIDU0LCAyNDQsIDEzLCAzNywgNTQsIDI0NCwgMTI2LCAzNywgCi0gICAgNTQsIDIxOSwgMTIxLCAzNywgNTQsIDIyMCwgMTIxLCAzNywgNTQsIDI0NSwgMTk4LCAzNywgNTQsIDIyOCwgMjAyLCAzNywgCi0gICAgNTQsIDIxNSwgNzMsIDg4LCAyMSwgMTExLCA4OCwgMjEsIDEwNSwgODgsIDIxLCAxNTgsIDg4LCAyMSwgMTYxLCA4OCwgMjEsIAotICAgIDE5MCwgODgsIDIxLCAxOTUsIDg4LCAyMSwgMTk5LCA4OCwgMjEsIDE5NiwgODgsIDIxLCAyMDEsIDg4LCA1NCwgMjE2LCAKLSAgICAyNDgsIDg4LCA1NCwgMjQ1LCAxNzUsIDg4LCA1NCwgMjE1LCA3NiwgODgsIDU0LCAyMTYsIDE2NSwgODgsIDU0LCAyNDQsIAotICAgIDEzLCA4OCwgNTQsIDI0NCwgMTI2LCA4OCwgNTQsIDIxOSwgMTIxLCA4OCwgNTQsIDIyMCwgMTIxLCA4OCwgNTQsIDI0NSwgCi0gICAgMTk4LCA4OCwgNTQsIDIyOCwgMjAyLCA4OCwgNTQsIDIxNSwgNzMsIDIxLCAxMjMsIDI0MywgMjM2LCAyMTgsIDEzMSwgMjEsIAotICAgIDExMywgMjQzLCAyMzYsIDIxOCwgMTMxLCAyMSwgMTM0LCAyNDMsIDIzNiwgMjE4LCAxMzEsIDIxLCAyNDQsIDE5LCAyNDMsIAotICAgIDIzNiwgMjE4LCAxMzEsIDIxLCAyNDQsIDg5LCAyNDMsIDIzNiwgMjE4LCAxMzEsIDIxLCAyMTksIDEyNywgMjQzLCAyMzYsIAotICAgIDIxOCwgMTMxLCAyMSwgMjIwLCAxMjQsIDI0MywgMjM2LCAyMTgsIDEzMSwgMjEsIDI0NSwgMjAxLCAyNDMsIDIzNiwgMjE4LCAKLSAgICAxMzEsIDIxLCAyMjgsIDIwNSwgMjQzLCAyMzYsIDIxOCwgMTMxLCA1NCwgMjE2LCAyNDksIDI0MywgMjM2LCAyMTgsIDEzMSwgCi0gICAgNTQsIDI0NSwgMTc2LCAyNDMsIDIzNiwgMjE4LCAxMzEsIDU0LCAyMTUsIDc3LCAyNDMsIDIzNiwgMjE4LCAxMzEsIDU0LCAKLSAgICAyMTYsIDE2NiwgMjQzLCAyMzYsIDIxOCwgMTMxLCA1NCwgMjQ0LCAxNCwgMjQzLCAyMzYsIDIxOCwgMTMxLCA1NCwgMjQ0LCAKLSAgICAxMjcsIDI0MywgMjM2LCAyMTgsIDEzMSwgNTQsIDIxOSwgMTIyLCAyNDMsIDIzNiwgMjE4LCAxMzEsIDU0LCAyMjAsIDEyMiwgCi0gICAgMjQzLCAyMzYsIDIxOCwgMTMxLCA1NCwgMjQ1LCAxOTksIDI0MywgMjM2LCAyMTgsIDEzMSwgNTQsIDIyOCwgMjAzLCAyNDMsIAotICAgIDIzNiwgMjE4LCAxMzEsIDU0LCAyMTUsIDc0LCAyNDMsIDIzNiwgMjE4LCAxMzEsIDg4LCA3LCA0LCAxLCA2MSwgODgsIDcsIAotICAgIDQsIDEsIDI1MywgMTY2LCA4OCwgNywgNCwgMSwgMjUxLCA3NCwgODgsIDcsIDQsIDEsIDI0OSwgNjgsIDg4LCA3LCA0LCAxLCAKLSAgICA3NiwgODgsIDcsIDQsIDEsIDI0NSwgMTQsIDg4LCA3LCA0LCAxLCAyNDMsIDIwOSwgODgsIDcsIDQsIDEsIDI0MiwgNjcsIAotICAgIDg4LCA3LCA0LCAxLCA3NCwgODgsIDcsIDQsIDEsIDIzNSwgMTUwLCA4OCwgNywgNCwgMSwgMjM1LCAyOSwgODgsIDcsIDQsIAotICAgIDEsIDE1NiwgODgsIDcsIDQsIDEsIDE5NCwgODgsIDcsIDQsIDEsIDIzMCwgMzAsIDg4LCA3LCA0LCAxLCA3OCwgODgsIDcsIAotICAgIDQsIDEsIDIyNiwgMTA5LCA4OCwgNywgNCwgMSwgMjI0LCA5OSwgODgsIDcsIDQsIDEsIDE1MywgODgsIDcsIDQsIDEsIDIyMiwgCi0gICAgOTMsIDg4LCA3LCA0LCAxLCAyMTcsIDE1MywgODgsIDcsIDQsIDEsIDY5LCA4OCwgNywgNCwgMSwgMjE0LCAxMDUsIDg4LCA3LCAKLSAgICA0LCAxLCAyMTIsIDk4LCA4OCwgNywgNCwgMSwgMjExLCAxNzgsIDg4LCA3LCA0LCAxLCAyMTEsIDExNywgODgsIDcsIDQsIDEsIAotICAgIDIxMCwgMTU5LCAzNywgNywgNiwgMSwgNjEsIDM3LCA3LCA2LCAxLCAyNTMsIDE2NiwgMzcsIDcsIDYsIDEsIDI1MSwgNzQsIAotICAgIDM3LCA3LCA2LCAxLCAyNDksIDY4LCAzNywgNywgNiwgMSwgNzYsIDM3LCA3LCA2LCAxLCAyNDUsIDE0LCAzNywgNywgNiwgMSwgCi0gICAgMjQzLCAyMDksIDM3LCA3LCA2LCAxLCAyNDIsIDY3LCAzNywgNywgNiwgMSwgNzQsIDM3LCA3LCA2LCAxLCAyMzUsIDE1MCwgCi0gICAgMzcsIDcsIDYsIDEsIDIzNSwgMjksIDM3LCA3LCA2LCAxLCAxNTYsIDM3LCA3LCA2LCAxLCAxOTQsIDM3LCA3LCA2LCAxLCAKLSAgICAyMzAsIDMwLCAzNywgNywgNiwgMSwgNzgsIDM3LCA3LCA2LCAxLCAyMjYsIDEwOSwgMzcsIDcsIDYsIDEsIDIyNCwgOTksIAotICAgIDM3LCA3LCA2LCAxLCAxNTMsIDM3LCA3LCA2LCAxLCAyMjIsIDkzLCAzNywgNywgNiwgMSwgMjE3LCAxNTMsIDM3LCA3LCA2LCAKLSAgICAxLCA2OSwgMzcsIDcsIDYsIDEsIDIxNCwgMTA1LCAzNywgNywgNiwgMSwgMjEyLCA5OCwgMzcsIDcsIDYsIDEsIDIxMSwgCi0gICAgMTc4LCAzNywgNywgNiwgMSwgMjExLCAxMTcsIDM3LCA3LCA2LCAxLCAyMTAsIDE1OSwgMzcsIDcsIDQsIDEsIDYxLCAzNywgCi0gICAgNywgNCwgMSwgMjUzLCAxNjYsIDM3LCA3LCA0LCAxLCAyNTEsIDc0LCAzNywgNywgNCwgMSwgMjQ5LCA2OCwgMzcsIDcsIDQsIAotICAgIDEsIDc2LCAzNywgNywgNCwgMSwgMjQ1LCAxNCwgMzcsIDcsIDQsIDEsIDI0MywgMjA5LCAzNywgNywgNCwgMSwgMjQyLCA2NywgCi0gICAgMzcsIDcsIDQsIDEsIDc0LCAzNywgNywgNCwgMSwgMjM1LCAxNTAsIDM3LCA3LCA0LCAxLCAyMzUsIDI5LCAzNywgNywgNCwgCi0gICAgMSwgMTU2LCAzNywgNywgNCwgMSwgMTk0LCAzNywgNywgNCwgMSwgMjMwLCAzMCwgMzcsIDcsIDQsIDEsIDc4LCAzNywgNywgCi0gICAgNCwgMSwgMjI2LCAxMDksIDM3LCA3LCA0LCAxLCAyMjQsIDk5LCAzNywgNywgNCwgMSwgMTUzLCAzNywgNywgNCwgMSwgMjIyLCAKLSAgICA5MywgMzcsIDcsIDQsIDEsIDIxNywgMTUzLCAzNywgNywgNCwgMSwgNjksIDM3LCA3LCA0LCAxLCAyMTQsIDEwNSwgMzcsIDcsIAotICAgIDQsIDEsIDIxMiwgOTgsIDM3LCA3LCA0LCAxLCAyMTEsIDE3OCwgMzcsIDcsIDQsIDEsIDIxMSwgMTE3LCAzNywgNywgNCwgMSwgCi0gICAgMjEwLCAxNTksIDM3LCAyMSwgMjEwLCA4NiwgMTUyLCAzNywgNTQsIDI0NSwgMTc1LCAxNTIsIDM3LCA1NCwgMjE1LCA3NiwgCi0gICAgMTUyLCAzNywgNTQsIDIxNiwgMTY1LCAxNTIsIDM3LCA1NCwgMjQ0LCAxMywgMTUyLCAzNywgNTQsIDI0NCwgMTI2LCAxNTIsIAotICAgIDM3LCA1NCwgMjE5LCAxMjEsIDE1MiwgMzcsIDU0LCAyMjAsIDEyMSwgMTUyLCAzNywgNTQsIDI0NSwgMTk4LCAxNTIsIDM3LCAKLSAgICA1NCwgMjI4LCAyMDIsIDE1MiwgMzcsIDU0LCAyMTUsIDczLCA1MiwgMzcsIDIxLCAxMTEsIDUyLCAzNywgMjEsIDEwNSwgNTIsIAotICAgIDM3LCAyMSwgMTU4LCA1MiwgMzcsIDIxLCAxNjEsIDUyLCAzNywgMjEsIDE5MCwgNTIsIDM3LCAyMSwgMTk1LCA1MiwgMzcsIAotICAgIDIxLCAxOTksIDUyLCAzNywgMjEsIDE5NiwgNTIsIDM3LCAyMSwgMjAxLCA1MiwgMzcsIDU0LCAyMTYsIDI0OCwgMTUyLCAzNywgCi0gICAgMjEsIDIxMCwgODYsIDkzLCA5OSwgMTkzLCAyNDEsIDUxLCA5MywgOTksIDExNCwgMjQxLCA1MSwgOTMsIDk5LCAxOTMsIAotICAgIDIxMywgMjM5LCA5MywgOTksIDExNCwgMjEzLCAyMzksIDkzLCA5OSwgMTkzLCAyMTUsIDIxMiwgMjQ4LCAxNjUsIDI0MSwgCi0gICAgNTEsIDkzLCA5OSwgMTE0LCAyMTUsIDIxMiwgMjQ4LCAxNjUsIDI0MSwgNTEsIDkzLCA5OSwgMTkzLCAyMTUsIDIxMiwgMjQ4LCAKLSAgICAxNjUsIDIxMywgMjM5LCA5MywgOTksIDExNCwgMjE1LCAyMTIsIDI0OCwgMTY1LCAyMTMsIDIzOSwgOTMsIDk5LCAxOTMsIAotICAgIDIyNCwgMjcsIDI0OCwgMTY1LCAyNDEsIDUxLCA5MywgOTksIDExNCwgMjI0LCAyNywgMjQ4LCAxNjUsIDI0MSwgNTEsIDkzLCAKLSAgICA5OSwgMTkzLCAyMjQsIDI3LCAyNDgsIDE2NSwgMjEzLCAyMzksIDkzLCA5OSwgMTE0LCAyMjQsIDI3LCAyNDgsIDE2NSwgCi0gICAgMjEzLCAyMzksIDkzLCA5OSwgMTkzLCAxMjQsIDIyLCAyMjIsIDI1NCwgOTMsIDk5LCAxMjQsIDE5MywgMjIsIDQ0LCAyNDEsIAotICAgIDIyOCwgOTMsIDk5LCAxMjQsIDExNCwgMjIsIDQ0LCAyMzIsIDIzNiwgOTMsIDk5LCAxMTQsIDEyNCwgMjIsIDIyMiwgMjU0LCAKLSAgICA5MywgOTksIDE5MywgMTI0LCAyMiwgMjMzLCA1MiwgOTMsIDk5LCAxMjQsIDE5MywgMjIsIDQzLCAyNDEsIDIyOCwgOTMsIAotICAgIDk5LCAxMjQsIDExNCwgMjIsIDQzLCAyMzIsIDIzNiwgOTMsIDk5LCAxMTQsIDEyNCwgMjIsIDIzMywgNTIsIDkzLCA5OSwgCi0gICAgMTkzLCAxMjAsIDIyLCAyMjIsIDI1NCwgOTMsIDk5LCAxMjAsIDE5MywgMjIsIDQ0LCAyNDEsIDIyOCwgOTMsIDk5LCAxMjAsIAotICAgIDExNCwgMjIsIDQ0LCAyMzIsIDIzNiwgOTMsIDk5LCAxMTQsIDEyMCwgMjIsIDIyMiwgMjU0LCA5MywgOTksIDE5MywgMTIwLCAKLSAgICAyMiwgMjMzLCA1MiwgOTMsIDk5LCAxMjAsIDE5MywgMjIsIDQzLCAyNDEsIDIyOCwgOTMsIDk5LCAxMjAsIDExNCwgMjIsIAotICAgIDQzLCAyMzIsIDIzNiwgOTMsIDk5LCAxMTQsIDEyMCwgMjIsIDIzMywgNTIsIDkzLCA5OSwgMTkzLCA2NywgMjIsIDIyMiwgCi0gICAgMjU0LCA5MywgOTksIDY3LCAxOTMsIDIyLCA0NCwgMjQxLCAyMjgsIDkzLCA5OSwgMTIwLCAxMTQsIDIyLCA0NCwgMTI0LCAKLSAgICAyMzIsIDIzNiwgOTMsIDk5LCAxMjQsIDExNCwgMjIsIDQ0LCAxMjAsIDIzMiwgMjM2LCA5MywgOTksIDY3LCAxMTQsIDIyLCAKLSAgICA0NCwgMjMyLCAyMzYsIDkzLCA5OSwgMTI0LCAxOTMsIDIyLCA0NCwgMTIwLCAyNDEsIDIyOCwgOTMsIDk5LCAxMjAsIDE5MywgCi0gICAgMjIsIDQ0LCAxMjQsIDI0MSwgMjI4LCA5MywgOTksIDExNCwgNjcsIDIyLCAyMjIsIDI1NCwgOTMsIDk5LCAxOTMsIDY3LCAKLSAgICAyMiwgMjMzLCA1MiwgOTMsIDk5LCA2NywgMTkzLCAyMiwgNDMsIDI0MSwgMjI4LCA5MywgOTksIDEyMCwgMTE0LCAyMiwgNDMsIAotICAgIDEyNCwgMjMyLCAyMzYsIDkzLCA5OSwgMTI0LCAxMTQsIDIyLCA0MywgMTIwLCAyMzIsIDIzNiwgOTMsIDk5LCA2NywgMTE0LCAKLSAgICAyMiwgNDMsIDIzMiwgMjM2LCA5MywgOTksIDEyNCwgMTkzLCAyMiwgNDMsIDEyMCwgMjQxLCAyMjgsIDkzLCA5OSwgMTIwLCAKLSAgICAxOTMsIDIyLCA0MywgMTI0LCAyNDEsIDIyOCwgOTMsIDk5LCAxMTQsIDY3LCAyMiwgMjMzLCA1MiwgOTMsIDk5LCAxOTMsIAotICAgIDEyNCwgMjIsIDI0MSwgNTEsIDkzLCA5OSwgNDMsIDExNCwgMjIsIDQ0LCAxMjQsIDIzMiwgMjM2LCA5MywgOTksIDQ0LCAKLSAgICAxMTQsIDIyLCA0MywgMTI0LCAyMzIsIDIzNiwgOTMsIDk5LCAxMjQsIDE5MywgMjIsIDIwMywgMjQxLCAyMjgsIDkzLCA5OSwgCi0gICAgMTI0LCAxMTQsIDIyLCAyMDMsIDIzMiwgMjM2LCA5MywgOTksIDQ0LCAxOTMsIDIyLCA0MywgMTI0LCAyNDEsIDIyOCwgOTMsIAotICAgIDk5LCA0MywgMTkzLCAyMiwgNDQsIDEyNCwgMjQxLCAyMjgsIDkzLCA5OSwgMTE0LCAxMjQsIDIyLCAyNDEsIDUxLCA5MywgCi0gICAgOTksIDE5MywgMTIwLCAyMiwgMjQxLCA1MSwgOTMsIDk5LCA0MywgMTE0LCAyMiwgNDQsIDEyMCwgMjMyLCAyMzYsIDkzLCAKLSAgICA5OSwgNDQsIDExNCwgMjIsIDQzLCAxMjAsIDIzMiwgMjM2LCA5MywgOTksIDEyMCwgMTkzLCAyMiwgMjAzLCAyNDEsIDIyOCwgCi0gICAgOTMsIDk5LCAxMjAsIDExNCwgMjIsIDIwMywgMjMyLCAyMzYsIDkzLCA5OSwgNDQsIDE5MywgMjIsIDQzLCAxMjAsIDI0MSwgCi0gICAgMjI4LCA5MywgOTksIDQzLCAxOTMsIDIyLCA0NCwgMTIwLCAyNDEsIDIyOCwgOTMsIDk5LCAxMTQsIDEyMCwgMjIsIDI0MSwgCi0gICAgNTEsIDkzLCA5OSwgMTkzLCA2NywgMjIsIDI0MSwgNTEsIDkzLCA5OSwgNDMsIDExNCwgMjIsIDQ0LCA2NywgMjMyLCAyMzYsIAotICAgIDkzLCA5OSwgNDQsIDExNCwgMjIsIDQzLCA2NywgMjMyLCAyMzYsIDkzLCA5OSwgNjcsIDE5MywgMjIsIDIwMywgMjQxLCAKLSAgICAyMjgsIDkzLCA5OSwgMTIwLCAxMTQsIDIyLCAxMjQsIDIwMywgMjMyLCAyMzYsIDkzLCA5OSwgMTI0LCAxMTQsIDIyLCAxMjAsIAotICAgIDIwMywgMjMyLCAyMzYsIDkzLCA5OSwgNjcsIDExNCwgMjIsIDIwMywgMjMyLCAyMzYsIDkzLCA5OSwgNDMsIDEyMCwgMTE0LCAKLSAgICAyMiwgNDQsIDEyNCwgMjMyLCAyMzYsIDkzLCA5OSwgNDQsIDEyMCwgMTE0LCAyMiwgNDMsIDEyNCwgMjMyLCAyMzYsIDkzLCAKLSAgICA5OSwgNDMsIDEyNCwgMTE0LCAyMiwgNDQsIDEyMCwgMjMyLCAyMzYsIDkzLCA5OSwgNDQsIDEyNCwgMTE0LCAyMiwgNDMsIAotICAgIDEyMCwgMjMyLCAyMzYsIDkzLCA5OSwgMTI0LCAxOTMsIDIyLCAxMjAsIDIwMywgMjQxLCAyMjgsIDkzLCA5OSwgMTIwLCAKLSAgICAxOTMsIDIyLCAxMjQsIDIwMywgMjQxLCAyMjgsIDkzLCA5OSwgNDQsIDE5MywgMjIsIDQzLCA2NywgMjQxLCAyMjgsIDkzLCAKLSAgICA5OSwgNDMsIDE5MywgMjIsIDQ0LCA2NywgMjQxLCAyMjgsIDkzLCA5OSwgMTE0LCA2NywgMjIsIDI0MSwgNTEsIDkzLCA5OSwgCi0gICAgMTkzLCA1MiwgMjQ4LCAxNjUsIDI0MSwgNTEsIDkzLCA5OSwgMTE0LCA1MiwgMjQ4LCAxNjUsIDI0MSwgNTEsIDkzLCA5OSwgCi0gICAgMTkzLCA1MiwgMjQ4LCAxNjUsIDIxMywgMjM5LCA5MywgOTksIDExNCwgNTIsIDI0OCwgMTY1LCAyMTMsIDIzOSwgOTMsIDk5LCAKLSAgICA1MiwgMjQxLCA1MSwgOTMsIDk5LCA1MiwgMjEzLCAyMzksIDkzLCA5OSwgMTI0LCAyMTksIDE1NywgMjIsIDQ0LCAyNDYsIAotICAgIDEyMSwgOTMsIDk5LCAxMjQsIDUyLCAyMiwgNDQsIDIxOSwgMTU2LCA5MywgOTksIDUyLCAxMjQsIDIyLCAyMjIsIDI1NCwgCi0gICAgOTMsIDk5LCAxMjQsIDIxOSwgMTU3LCAyMiwgNDMsIDI0NiwgMTIxLCA5MywgOTksIDEyNCwgNTIsIDIyLCA0MywgMjE5LCAKLSAgICAxNTYsIDkzLCA5OSwgNTIsIDEyNCwgMjIsIDIzMywgNTIsIDkzLCA5OSwgMTIwLCAyMTksIDE1NywgMjIsIDQ0LCAyNDYsIAotICAgIDEyMSwgOTMsIDk5LCAxMjAsIDUyLCAyMiwgNDQsIDIxOSwgMTU2LCA5MywgOTksIDUyLCAxMjAsIDIyLCAyMjIsIDI1NCwgCi0gICAgOTMsIDk5LCAxMjAsIDIxOSwgMTU3LCAyMiwgNDMsIDI0NiwgMTIxLCA5MywgOTksIDEyMCwgNTIsIDIyLCA0MywgMjE5LCAKLSAgICAxNTYsIDkzLCA5OSwgNTIsIDEyMCwgMjIsIDIzMywgNTIsIDkzLCA5OSwgNjcsIDIxOSwgMTU3LCAyMiwgNDQsIDI0NiwgCi0gICAgMTIxLCA5MywgOTksIDY3LCA1MiwgMjIsIDQ0LCAyMTksIDE1NiwgOTMsIDk5LCA1MiwgNjcsIDIyLCAyMjIsIDI1NCwgOTMsIAotICAgIDk5LCA2NywgMjE5LCAxNTcsIDIyLCA0MywgMjQ2LCAxMjEsIDkzLCA5OSwgNjcsIDUyLCAyMiwgNDMsIDIxOSwgMTU2LCA5MywgCi0gICAgOTksIDUyLCA2NywgMjIsIDIzMywgNTIsIDkzLCA5OSwgMTI0LCAyMTksIDE1NywgMjIsIDIwMywgMjQ2LCAxMjEsIDkzLCAKLSAgICA5OSwgMTI0LCA1MiwgMjIsIDIwMywgMjE5LCAxNTYsIDkzLCA5OSwgNTIsIDEyNCwgMjIsIDI0MSwgNTEsIDkzLCA5OSwgCi0gICAgMTIwLCAyMTksIDE1NywgMjIsIDIwMywgMjQ2LCAxMjEsIDkzLCA5OSwgMTIwLCA1MiwgMjIsIDIwMywgMjE5LCAxNTYsIDkzLCAKLSAgICA5OSwgNTIsIDEyMCwgMjIsIDI0MSwgNTEsIDkzLCA5OSwgNjcsIDIxOSwgMTU3LCAyMiwgMjAzLCAyNDYsIDEyMSwgOTMsIAotICAgIDk5LCA2NywgNTIsIDIyLCAyMDMsIDIxOSwgMTU2LCA5MywgOTksIDUyLCA2NywgMjIsIDI0MSwgNTEsIDkzLCA5OSwgMTkzLCAKLSAgICAyNTQsIDM0LCAxMjQsIDIyLCAyMjIsIDI1NCwgOTMsIDk5LCAxOTMsIDI1NCwgMzQsIDEyNCwgMjIsIDIzMywgNTIsIDkzLCAKLSAgICA5OSwgMTkzLCAyNTQsIDM0LCAxMjAsIDIyLCAyMzMsIDUyLCA5MywgOTksIDE5MywgMjU0LCAzNCwgMTIwLCAyMiwgMjIyLCAKLSAgICAyNTQsIDkzLCA5OSwgMTkzLCAyNDgsIDcsIDIxNCwgMTYwLCA0NCwgMjE2LCA0MywgMjMyLCAxMTQsIDIzMywgNTIsIDkzLCAKLSAgICA5OSwgMTkzLCAyNDgsIDcsIDIxNCwgMTYwLCA0MywgMjE2LCA0MywgMjMyLCAxMTQsIDIyMiwgMjU0LCA5MywgOTksIDE5MywgCi0gICAgMjQ4LCA3LCAyNDksIDEzOCwgOTMsIDk5LCAxOTMsIDIzMywgNTIsIDkzLCA5OSwgMTkzLCAyMTQsIDE2MywgOTMsIDk5LCAKLSAgICAxOTMsIDIyMiwgMjU0LCA5MywgOTksIDE5MywgMjQ2LCAxMTQsIDkzLCA5OSwgMTE0LCAyMzMsIDUyLCA5MywgOTksIDExNCwgCi0gICAgMjE0LCAxNjMsIDkzLCA5OSwgMTE0LCAyMjIsIDI1NCwgOTMsIDk5LCAxMTQsIDI0NiwgMTE0LCA5MywgOTksIDE5MywgNDMsIAotICAgIDIyLCAxMTQsIDIyMiwgMjU0LCA5MywgOTksIDE5MywgMTIwLCAyMiwgMTE0LCAyNDYsIDExNCwgOTMsIDk5LCAxMTQsIDQzLCAKLSAgICAyMiwgMTkzLCAyMjIsIDI1NCwgOTMsIDk5LCAxMTQsIDEyMCwgMjIsIDE5MywgMjQ2LCAxMTQsIDIxNCwgMTYwLCAxNjMsIAotICAgIDI1MSwgMjIxLCAyMzIsIDExNCwgMTIzLCAyNDUsIDE5NywgMjUxLCAyMjEsIDIzMiwgMTE0LCAxMjMsIDIyNCwgMjUsIDI1MSwgCi0gICAgMjIxLCAyMzIsIDExNCwgMTM0LCAyNDUsIDE5NSwgMjUxLCAyMjEsIDIzMiwgMTE0LCAxNjMsIDI1MSwgMjIxLCAyMzIsIAotICAgIDExNCwgMjQ0LCA4OSwgMjQ1LCAxOTUsIDI1MSwgMjIxLCAyMzIsIDExNCwgMTM0LCAyMjQsIDIzLCAyNTEsIDIyMSwgMjMyLCAKLSAgICAxMTQsIDIyMCwgMTI0LCAyNDUsIDE5NSwgMjUxLCAyMjEsIDI0MywgMjM2LCAyNTEsIDIyMSwgNDMsIDIyMCwgMTI0LCAyNDUsIAotICAgIDE5NSwgMjUxLCAyMjEsIDQzLCAxMzQsIDIyNCwgMjMsIDI1MSwgMjIxLCA0MywgMjQ0LCA4OSwgMjQ1LCAxOTUsIDI1MSwgCi0gICAgMjIxLCA0MywgMTYzLCAyNTEsIDIyMSwgNDMsIDEzNCwgMjQ1LCAxOTUsIDI1MSwgMjIxLCA0MywgMTIzLCAyMjQsIDI1LCAKLSAgICAyNTEsIDIyMSwgNDMsIDEyMywgMjQ1LCAxOTcsIDI1MSwgMjIxLCA0NCwgMTYzLCAyNTEsIDIyMSwgMTkzLCAyMjAsIDk0LCAKLSAgICAyMzEsIDg3LCAyMjAsIDk0LCAyNDgsIDE3MCwgMjIwLCA5NCwgMjE0LCAxNjAsIDEyMywgMjQ1LCAxOTcsIDI1MSwgMjIxLCAKLSAgICA0NCwgMTIzLCAyNDUsIDE5NywgMjUxLCAyMjEsIDIyNCwgMjksIDIzMiwgMTE0LCAyMzMsIDUyLCAyMjQsIDI5LCAyMzIsIAotICAgIDExNCwgMjIyLCAyNTQsIDIyNCwgMjksIDIxNCwgMTYwLCAyMzMsIDUyLCAyMjQsIDI5LCAyMTQsIDE2MCwgNDMsIDIyLCAKLSAgICAyMzIsIDExNCwgNDMsIDIyLCAyMzIsIDExNCwgMjIyLCAyNTQsIDIyNCwgMjksIDIxNCwgMTYwLCA0MywgMjIsIDIzMiwgCi0gICAgMTE0LCAyMjIsIDI1NCwgMjI0LCAyOSwgMjE0LCAxNjAsIDQzLCAyMiwgMjE0LCAxNjAsIDQ0LCAyMiwgMjMyLCAxMTQsIAotICAgIDIzMywgNTIsIDIyNCwgMjksIDIxNCwgMTYwLCA0MywgMjIsIDIxNCwgMTYwLCA0NCwgMjIsIDIzMiwgMTE0LCAyMjIsIDI1NCwgCi0gICAgMjI0LCAyOSwgMjE0LCAxNjAsIDIyMiwgMjU0LCAyMjQsIDI5LCAyMTQsIDE2MCwgNDQsIDIyLCAyMzIsIDExNCwgMjMzLCAKLSAgICA1MiwgMjI0LCAyOSwgMjE0LCAxNjAsIDQ0LCAyMiwgMjMyLCAxMTQsIDQzLCAyMiwgMjMyLCAxMTQsIDIyMiwgMjU0LCA4NSwgCi0gICAgMjE4LCAyMzYsIDcxLCAyMTgsIDIzNiwgNzEsIDQyLCAyLCAyMjIsIDE4NSwgMjQ5LCAxNjcsIDcxLCA0MiwgMjQ5LCAxOTUsIAotICAgIDg1LCA0LCAyMTgsIDIzNiwgNDIsIDIsIDIwMywgMjQ0LCAxMTMsIDQyLCAyLCA2NywgMjQ0LCAxMTMsIDQyLCAyLCAyMjYsIAotICAgIDE0OCwgMjQ5LCAxMzQsIDI0NCwgMTEzLCA0MiwgMiwgMjE0LCAxNjAsIDQzLCAyMTYsIDQzLCAyMzIsIDExNCwgNDQsIDI0NCwgCi0gICAgMTEzLCA0MiwgMiwgMjE0LCAxNjAsIDQ0LCAyMTYsIDQzLCAyMzIsIDExNCwgNDMsIDI0NCwgMTEzLCA0MiwgMiwgMjQ4LCA3LCAKLSAgICAyNDksIDEzNCwgMjQ0LCAxMTMsIDg1LCA0LCAyMTgsIDIzNiwgNzEsIDQsIDIxOCwgMjM2LCA4NSwgMjIzLCAxMTksIDcxLCAKLSAgICAyMjMsIDExOSwgODUsIDY3LCAyMjMsIDExOSwgNzEsIDY3LCAyMjMsIDExOSwgODUsIDIyNiwgMTAsIDcxLCAyMjYsIDEwLCAKLSAgICA4NSwgMjE0LCAxNjIsIDIxNSwgMjI2LCA3MSwgMjE0LCAxNjIsIDIxNSwgMjI2LCA4NSwgMjE0LCAxNjIsIDQsIDIxNSwgCi0gICAgMjI2LCA3MSwgMjE0LCAxNjIsIDQsIDIxNSwgMjI2LCA4NSwgMjIyLCAyNTAsIDIxNSwgMjI2LCA3MSwgMjIyLCAyNTAsIAotICAgIDIxNSwgMjI2LCA4NSwgMjIyLCAyNTAsIDQsIDIxNSwgMjI2LCA3MSwgMjIyLCAyNTAsIDQsIDIxNSwgMjI2LCA4NSwgMjIyLCAKLSAgICAyNTAsIDIyNSwgMTEsIDcxLCAyMjIsIDI1MCwgMjI1LCAxMSwgODUsIDI0NiwgMTEzLCAyMTUsIDIyNiwgNzEsIDI0NiwgCi0gICAgMTEzLCAyMTUsIDIyNiwgODUsIDI0NiwgMTEzLCA0LCAyMTUsIDIyNiwgNzEsIDI0NiwgMTEzLCA0LCAyMTUsIDIyNiwgODUsIAotICAgIDIzMywgNDgsIDIxNSwgMjI2LCA3MSwgMjMzLCA0OCwgMjE1LCAyMjYsIDg1LCAyMzMsIDQ4LCA0LCAyMTUsIDIyNiwgNzEsIAotICAgIDIzMywgNDgsIDQsIDIxNSwgMjI2LCA4NSwgMjMzLCA0OCwgMjI1LCAxMSwgNzEsIDIzMywgNDgsIDIyNSwgMTEsIDg1LCAKLSAgICAyNDgsIDAsIDcxLCAyNDgsIDAsIDcxLCAyNDgsIDEsIDI0OSwgMTk1LCA4NSwgNCwgMjQ4LCAwLCAyNDQsIDk3LCAyMzIsIAotICAgIDExMCwgNzEsIDI1MCwgNDMsIDI0NiwgMTI2LCAyNTAsIDQzLCAyNTAsIDQ0LCAyLCA2NywgMjQ0LCAxMTMsIDI1MSwgMTE5LCAKLSAgICA4NSwgMjUwLCA0MywgMjUwLCA0NCwgMiwgNDMsIDE2MywgMjUxLCAyMjksIDI1MCwgNDQsIDIsIDQ0LCAxNjMsIDI1MSwgCi0gICAgMjI5LCAyNTAsIDQ0LCAyLCAyMzIsIDExNCwgMTYzLCAyNTEsIDIyOSwgMjUwLCA0NCwgMiwgMjE0LCAxNjAsIDE2MywgMjUxLCAKLSAgICAyMjksIDI1MCwgNDQsIDIsIDIxNCwgMTYwLCA0NCwgMjI0LCAyOSwgMjUxLCAyMjksIDI1MCwgNDQsIDIsIDI1NCwgMTY0LCAKLSAgICAyNTEsIDk2LCAyMTQsIDE2MCwgNDMsIDIyNCwgMjksIDI1MSwgMjI5LCA0MywgMTYzLCA4NSwgMjUwLCA0MywgNDQsIDE2MywgCi0gICAgODUsIDI1MCwgNDMsIDIzNSwgMjAxLCAyNTEsIDEyMSwgMjM1LCAyMDEsIDcxLCAyNTAsIDQzLCAyMTQsIDE2MCwgMTYzLCAKLSAgICAyMzUsIDIwMSwgNzEsIDI1MCwgNDMsIDIzMiwgMTE0LCAxNjMsIDIzNSwgMjAxLCA3MSwgMjUwLCA0MywgMjE0LCAxNjAsIAotICAgIDQzLCAyMjQsIDI5LCAyNTAsIDQxLCAyNTQsIDMzLCAyMTQsIDE2MCwgNDQsIDIyNCwgMjksIDI1MCwgNDEsIDI1NCwgMzMsIAotICAgIDIzMiwgMTE0LCA0NCwgMjI0LCAyOSwgMjUwLCA0MSwgMjU0LCAzMywgMjMyLCAxMTQsIDQzLCAyMjQsIDI5LCAyNTAsIDQxLCAKLSAgICAyNTQsIDMzLCAyMTQsIDE2MCwgMTYzLCAyNTAsIDQzLCAyMzIsIDExNCwgMTYzLCAyNTAsIDQzLCA4NSwgMjMyLCAxMTQsIAotICAgIDQ0LCAyMTUsIDIyNiwgODUsIDIzMiwgMTE0LCA0MywgMjE1LCAyMjYsIDg1LCAyMTQsIDE2MCwgNDMsIDIxNSwgMjI2LCA4NSwgCi0gICAgMjE0LCAxNjAsIDQ0LCAyMTUsIDIyNiwgNzEsIDI1MSwgMTIxLCA0MiwgMiwgNDMsIDE2MywgMjUxLCAyMjksIDQyLCAyLCAKLSAgICA0NCwgMTYzLCAyNTEsIDIyOSwgNDIsIDIsIDIxNCwgMTYwLCA0MywgMjQ4LCA3LCAxNjMsIDI1MSwgMjI5LCA0MiwgMiwgCi0gICAgMjMyLCAxMTQsIDQ0LCAyNDgsIDcsIDE2MywgMjUxLCAyMjksIDcxLCA0MiwgMiwgNjcsIDI1MSwgMjQwLCAyMzIsIDIxOSwgCi0gICAgNzEsIDIxNCwgMTYyLCAyMTUsIDIyNywgMiwgMjQ3LCAxMjgsIDIxNCwgMTYyLCAyMTUsIDIyNywgMiwgNDMsIDE2MywgMjUxLCAKLSAgICAyMjksIDIxNCwgMTYyLCAyMTUsIDIyNywgMiwgNDQsIDE2MywgMjUxLCAyMjksIDIzMywgOTEsIDI1MCwgNDMsIDcxLCA0MiwgCi0gICAgMiwgMjE0LCAxNjAsIDQzLCAyMjQsIDI4LCA3MSwgNDIsIDIsIDIzMiwgMTE0LCA0MywgMjI0LCAyOCwgNzEsIDQyLCAyLCAKLSAgICAyMzIsIDExNCwgNDQsIDIyNCwgMjgsIDcxLCA0MiwgMiwgMjE0LCAxNjAsIDQ0LCAyMjQsIDI4LCA3MSwgMjUwLCA0NCwgMiwgCi0gICAgMjE0LCAxNjAsIDQzLCAyMjQsIDI4LCA3MSwgMjUwLCA0NCwgMiwgMjMyLCAxMTQsIDQzLCAyMjQsIDI4LCA3MSwgMjUwLCAKLSAgICA0NCwgMiwgMjMyLCAxMTQsIDQ0LCAyMjQsIDI4LCA3MSwgMjUwLCA0NCwgMiwgMjE0LCAxNjAsIDQ0LCAyMjQsIDI4LCAyMTQsIAotICAgIDE2MCwgNDMsIDIxNSwgMjI2LCAyMTQsIDE2MCwgNDQsIDIxNSwgMjI2LCAyMzIsIDExNCwgNDMsIDIxNSwgMjI2LCA3MSwgCi0gICAgMjMxLCA4NywgMjE4LCAyMzYsIDg1LCAyMzEsIDg3LCAyMTgsIDIzNiwgNzEsIDIzMSwgODcsIDQsIDIxOCwgMjM2LCA4NSwgCi0gICAgMjMxLCA4NywgNCwgMjE4LCAyMzYsIDIzMiwgMTE0LCA0NCwgMjE1LCAyMjYsIDg1LCAyMTgsIDM5LCAyLCAyMjMsIDEzNSwgCi0gICAgMjQ5LCAyNTUsIDIxNCwgMTk0LCAyMTksIDYyLCAyNDksIDIzMCwgODUsIDIxOCwgMTU4LCA3MSwgMjE4LCAxNTgsIDIzMiwgCi0gICAgMjM0LCAyMTYsIDEzMywgMjE4LCAzOCwgMjUzLCAyNDIsIDIyOCwgNzYsIDI0OCwgNDYsIDIyOCwgNzYsIDI0OSwgMjAzLCAKLSAgICAyMjYsIDE2NywgODUsIDIxNywgMSwgNzEsIDIxNywgMSwgMjUyLCAxNjQsIDI1MSwgMTcxLCAyNTIsIDE2NCwgOTMsIDIsIAotICAgIDI1MCwgMTM3LCAyNTIsIDE2NCwgOTMsIDIsIDIxMSwgMTc4LCAyMjIsIDAsIDIxNCwgMTk1LCAyLCAyMjMsIDE2MywgMjQ2LCAKLSAgICA5MiwgMjQwLCAyNTAsIDI1MiwgMzAsIDcxLCAyMjAsIDQsIDIyNSwgMTA0LCA4NSwgMjIwLCA0LCAyMjUsIDEwNCwgMjIwLCAKLSAgICA4OSwgMjIzLCA1MiwgMjIyLCAxODksIDI0NCwgNjMsIDI0MSwgMjM1LCAyNTEsIDEyMSwgODUsIDQzLCAyMjUsIDEwLCAyMzUsIAotICAgIDI0OSwgODUsIDQ0LCAyMjUsIDEwLCAyMzUsIDI0OSwgNzEsIDQzLCAyMjUsIDEwLCAyMzUsIDI0OSwgNzEsIDEyMCwgMjI1LCAKLSAgICAxMCwgMjM1LCAyNDksIDcxLCA0NCwgMjI1LCAxMCwgMjM1LCAyNDksIDcxLCAxMjQsIDIyNSwgMTAsIDIzNSwgMjQ5LCAyMTksIAotICAgIDEwMywgMjIsIDI0OSwgMTM3LCAyNTAsIDIyNywgNTAsIDIyMywgMTc1LCA1MCwgMjUxLCAyNDcsIDUwLCAyNTEsIDMzLCAKLSAgICAyNTQsIDExMCwgMjI2LCAxNDksIDI0OSwgMTM4LCAyNTAsIDExOSwgMjIzLCA0MCwgMjQ5LCAxMzksIDY0LCAyMzIsIDEyNCwgCi0gICAgMjQ5LCAxMzksIDY0LCAyMzUsIDEyMiwgMjE4LCAxNTksIDIyLCAyNDksIDE0NCwgMjQ0LCAxNzYsIDg3LCAyNTUsIDEsIAotICAgIDIyMCwgOTEsIDI0MiwgMjksIDIyLCAyMTksIDE5MSwgMjI1LCAyMjMsIDg3LCAyMTAsIDI1NCwgMjExLCA2OSwgMjE1LCAKLSAgICAyMTYsIDMxLCAyNDEsIDIzMCwgMjE1LCAyMTYsIDMxLCAyMzMsIDExMywgMjE1LCAyMTYsIDMxLCAyNDQsIDEwNCwgMjE1LCAKLSAgICAyMTYsIDMxLCAyMTYsIDEzNCwgMjE1LCAyMTYsIDMxLCAyMTEsIDIzOSwgMjE1LCAyMTYsIDMxLCAyMTIsIDQwLCAyMTUsIAotICAgIDIxNiwgMzEsIDIzMCwgMTIwLCAyMTUsIDIxNiwgMzEsIDI0NSwgMjMxLCAyMTIsIDEsIDY0LCAyNDgsIDI2LCA3MSwgMjQzLCAKLSAgICAyNDcsIDI0NCwgMTk4LCA3MSwgMjE5LCA3NiwgMjQ0LCAxOTgsIDg1LCAyMTksIDc2LCAyNDQsIDE5OCwgNzEsIDIxOCwgMzksIAotICAgIDIsIDIyMywgMTM1LCAyNDQsIDEwMCwgMjI0LCAyNSwgMjMwLCAxMzMsIDIzMywgODYsIDIyNCwgMjUsIDIzMCwgMTMzLCAKLSAgICAyMzEsIDU5LCAyNDQsIDE0NiwgNTAsIDI0NSwgMjMxLCAyMzEsIDE5NSwgNTAsIDIzNSwgNDQsIDIyMSwgMjIyLCAyMTQsIAotICAgIDE0NSwgMjI5LCA5OCwgMjI1LCAyMywgMjU0LCAyMCwgMjE3LCA0MSwgMjQzLCA1OSwgMjUxLCAxMSwgMjMzLCAyNSwgMjEzLCAKLSAgICAxNTAsIDIzMiwgMjQ0LCAyMjEsIDE5MywgMjIyLCAyMSwgMjUxLCAwLCAyNTQsIDUwLCAyMjUsIDU1LCA3MSwgMjUwLCAxMjUsIAotICAgIDIzNCwgODQsIDcxLCAyNTAsIDEyNSwgMjI0LCAxNywgNzEsIDI1MCwgMTI1LCAyMjIsIDE5NywgNzEsIDI1MCwgMTI1LCAKLSAgICAyNTEsIDIzOSwgNzEsIDI1MCwgMTI1LCAyMzQsIDM2LCA3MSwgMjUwLCAxMjUsIDIyNSwgMjM1LCA4NSwgMjUwLCAxMjUsIAotICAgIDIzNCwgODQsIDg1LCAyNTAsIDEyNSwgMjI0LCAxNywgODUsIDI1MCwgMTI1LCAyMjIsIDE5NywgODUsIDI1MCwgMTI1LCAKLSAgICAyNTEsIDIzOSwgODUsIDI1MCwgMTI1LCAyMzQsIDM2LCA4NSwgMjUwLCAxMjUsIDIyNSwgMjM1LCA4NSwgMjE5LCAxOCwgCi0gICAgMjE4LCA1MSwgNzEsIDI0MSwgMjM1LCAyMTgsIDUxLCA3MSwgMjQ4LCAxLCAyMTgsIDUxLCA4NSwgMjQ5LCAyNTMsIDIxOCwgCi0gICAgNTEsIDcxLCAyMTksIDE4LCAyMTgsIDUxLCA4NSwgMjQxLCAyMzUsIDIxOCwgNTEsIDg1LCAyNDgsIDEsIDIxOCwgNTEsIDcxLCAKLSAgICAyNDksIDI1MywgMjE4LCA1MSwgMjQwLCAyNTAsIDIxOCwgMjQwLCAyMjQsIDI1LCAyMjgsIDUyLCAyNDUsIDE5NywgMjI4LCAKLSAgICA1MiwgMjUyLCA4MSwgMjQ1LCAxOTcsIDIyOCwgNDcsIDI1MiwgODEsIDIxOSwgMTIwLCAyMjgsIDQ3LCAyMzAsIDYyLCAyNDQsIAotICAgIDc0LCA1MCwgMjMwLCA2MiwgMjI5LCAxOTMsIDUwLCAyMzAsIDYyLCAyMjAsIDc4LCA1MCwgMjEyLCA5LCAxODMsIDI0OSwgCi0gICAgMTM4LCAyNDUsIDIyOCwgMTgzLCAyNDksIDEzOCwgMjE0LCAxNzEsIDIyMywgMTE1LCA4NywgMjIzLCAxMTUsIDE2LCAzMSwgCi0gICAgMjE1LCA0OCwgMjI1LCAzNywgMjIzLCAxMTUsIDE2LCAzMSwgMjE1LCA0NywgMjI1LCAzNywgMjIzLCAxMTUsIDE2LCAzMSwgCi0gICAgMjE1LCA0NiwgMjI1LCAzNywgMjIzLCAxMTUsIDE2LCAzMSwgMjE1LCA0NSwgMjI1LCAzNywgMjIzLCAxMTUsIDE2LCAzMSwgCi0gICAgMjE1LCA0NCwgMjI1LCAzNywgMjIzLCAxMTUsIDE2LCAzMSwgMjE1LCA0MywgMjI1LCAzNywgMjIzLCAxMTUsIDE2LCAzMSwgCi0gICAgMjE1LCA0MiwgMjI1LCAzNywgMjIzLCAxMTUsIDE2LCAzMSwgMjQzLCA1NywgMjMxLCAxNDMsIDg1LCAyMTQsIDE3MSwgMjIzLCAKLSAgICAxMTUsIDg3LCAyMjMsIDExNiwgMjI2LCAyNCwgODcsIDIyNiwgMCwgMjI2LCAyNCwgODcsIDIyNSwgMTc3LCAyMjYsIDI0LCAKLSAgICA1MCwgMjExLCAyNTUsIDg3LCAyNDcsIDI0OSwgMjQ0LCAxOTcsIDI0NywgMjQ5LCAyNDQsIDE5NiwgMjQ3LCAyNDksIDI0NCwgCi0gICAgMTk1LCAyNDcsIDI0OSwgMjQ0LCAxOTQsIDI0NywgMjQ5LCAyNDQsIDE5MywgMjQ3LCAyNDksIDI0NCwgMTkyLCA3MSwgMjUwLCAKLSAgICA0NCwgMiwgNTksIDIyMiwgMjU0LCA3MSwgMjUwLCA0NCwgMiwgMTEzLCAyNDcsIDEyNiwgODUsIDI1MCwgNDQsIDIsIDcxLCAKLSAgICA1OSwgMjIyLCAyNTQsIDg1LCAyNTAsIDQ0LCAyLCAxMTMsIDcxLCAyNDcsIDEyNiwgMjMwLCAxNDcsIDMxLCAyMTEsIDY5LCAKLSAgICAyMzAsIDE0NywgMzEsIDIxMCwgMjUzLCAyNDcsIDIzMiwgMzEsIDI0MiwgMTM4LCAyMTEsIDY5LCAyNDcsIDIzMiwgMzEsIAotICAgIDIzMywgMTksIDIxMCwgMjUzLCAyNDcsIDIzMiwgMzEsIDIzMywgMTksIDIxMSwgNjksIDI0NywgMjMyLCAzMSwgMjQyLCAKLSAgICAxMzgsIDIxMCwgMjUzLCA3MSwgMjQ0LCA4MSwgODUsIDI0NCwgODEsIDI0MiwgMjksIDIyLCAyMjUsIDEwNywgMjU0LCAxMjgsIAotICAgIDI0OSwgMTM2LCAyMTcsIDIzNiwgMjE4LCAxNjYsIDY0LCAyNTQsIDIzNSwgMjIxLCAyMDgsIDI1NCwgMTc4LCAyNDQsIDU5LCAKLSAgICAyNDMsIDY3LCAyMTgsIDE2NiwgNjQsIDI0MSwgMjA5LCAyNTMsIDIwNywgODcsIDI0NCwgNzAsIDIyNiwgMTMwLCA3MSwgCi0gICAgMjE4LCAxNTgsIDEzNCwgMjMyLCAyMTQsIDI0OSwgMTgzLCAyMjIsIDI1NCwgMTM0LCAyMzIsIDIxNCwgMjQ5LCAxODMsIAotICAgIDIzMywgNTIsIDIxMiwgNTAsIDUwLCAxMjUsIDIxMywgMTMwLCA1MCwgMjQ2LCAxMTgsIDI0NCwgMTQ2LCA1MCwgMjQ2LCAKLSAgICAxMTgsIDIzMSwgMTk1LCA1MCwgMjM1LCAyMTAsIDI0NCwgMTQ2LCAyMiwgMjMxLCAxOTUsIDUwLCAyMzEsIDE5NSwgMjIsIAotICAgIDI0NCwgMTQ2LCA1MCwgMjMxLCAxOTUsIDIsIDIxOCwgMTA1LCA1MCwgMjMxLCAxOTUsIDIsIDIxOCwgMTA1LCAyMiwgMjMxLCAKLSAgICAxOTUsIDIyLCAyNDQsIDE0NiwgNTAsIDY3LCAyMzEsIDE5NSwgMiwgMjE4LCAxMDUsIDUwLCAyMDMsIDIzMSwgMTk1LCAyLCAKLSAgICAyMTgsIDEwNSwgNTAsIDIzMSwgODcsIDcxLCAyNTAsIDQzLCAyMzEsIDg3LCA4NSwgMjUwLCA0MywgMjMxLCA4NywgNCwgNzEsIAotICAgIDI1MCwgNDMsIDIzMSwgMTU4LCA4NywgMjQ3LCAxNzUsIDg3LCAyMTQsIDE2OSwgMjI1LCAyNTUsIDg3LCAyNDksIDIzOSwgCi0gICAgMjQzLCAyMzEsIDIxNCwgMTQxLCAyMjksIDkzLCAyNTAsIDE2OSwgMjI2LCA2NSwgMjM1LCA1MCwgMjEzLCAxODUsIDI1MCwgCi0gICAgMTAxLCA4NSwgMjMwLCAxMzQsIDIzMiwgMjMxLCAyMjAsIDExNCwgMjIwLCAxNDksIDIyNCwgOCwgMjIwLCAxMzIsIDIxOSwgCi0gICAgNTcsIDI1MiwgMTY3LCAyNTIsIDEzNCwgOTIsIDIzNCwgMTQ0LCA3MSwgMjQ2LCAxMDEsIDIzMSwgMTkwLCA3MSwgMjQ2LCAKLSAgICAxMDEsIDIzNCwgODQsIDg1LCAyNDYsIDEwMSwgMjMxLCAxOTAsIDg1LCAyNDYsIDEwMSwgMjM0LCA4NCwgMjE5LCA2MywgCi0gICAgMjExLCAyMzAsIDIxOSwgNjYsIDIxOCwgMzksIDI1MiwgNTksIDI0OSwgMjU1LCAyMjMsIDE2MiwgODUsIDIxOSwgNjIsIAotICAgIDIxNiwgMTM1LCAyNTAsIDAsIDIyLCAyMjMsIDE2MiwgMjE1LCA5NCwgNzEsIDIyMCwgNCwgMjI1LCAxMDQsIDIxNSwgOTQsIAotICAgIDg1LCAyMjAsIDQsIDIyNSwgMTA0LCA3MSwgMjQ4LCAxLCAyMzYsIDcsIDIxOCwgMjM2LCAyNDksIDEzMywgMjMzLCA5NywgCi0gICAgMjQ3LCAyMDEsIDI1MCwgMjUyLCAyMjYsIDE3MCwgMjI1LCAxMDcsIDI1MCwgMjUzLCAyMTksIDkwLCAyNDEsIDIxOSwgMiwgCi0gICAgNzEsIDI0OSwgMTM4LCAzNywgMjQ5LCAxMzMsIDIzMywgOTcsIDI1MCwgMTYxLCAyMjgsIDgwLCAyNDUsIDEzMiwgMjU0LCAKLSAgICAxNDksIDIyNiwgMTk1LCA0MywgMjEyLCAyNiwgMjE1LCAyNTIsIDg1LCAyMTUsIDU1LCA0MywgMjEyLCAyNiwgMjE1LCAyNTIsIAotICAgIDcxLCAyMTUsIDU1LCA0MywgMjEyLCAyNiwgMjE1LCAyNTIsIDg1LCA0MywgMjMzLCA5OCwgMjMxLCA1OCwgNzEsIDQzLCAKLSAgICAyMzMsIDk4LCAyMzEsIDU4LCAyNDYsIDk3LCAyMTksIDg0LCA1MCwgMTE0LCA3MSwgMjQ2LCAxMTMsIDIxNSwgMjI2LCA0MywgCi0gICAgMjUwLCA4LCAyNDUsIDEzMiwgOTIsIDIyMiwgMCwgMjQ0LCAxODMsIDI0OCwgNywgMjM2LCA3LCA3MSwgMjUwLCA0NCwgMjM2LCAKLSAgICA3LCA4NSwgMjE4LCAyMzYsIDg1LCAyMTUsIDE5MywgMjIzLCA2MywgNDMsIDI0NSwgMTMxLCAyMjMsIDYzLCA0MywgMjQ1LCAKLSAgICAxMzAsIDI1MywgMjE5LCAxNiwgMzEsIDIxNCwgMTQ1LCAxMTQsIDI1MCwgNDQsIDIsIDIxOCwgMTA1LCAyMiwgMTEzLCAxNzAsIAotICAgIDQ4LCAyMjUsIDE5MiwgMjIyLCAyNTEsIDIzNSwgMjEyLCAyMjUsIDE5MiwgMjMzLCA0OSwgMjM1LCAyMTIsIDIyNSwgMTkyLCAKLSAgICAyMzUsIDIwMCwgMjI1LCAxOTIsIDg1LCAyNDksIDEzOSwgMjI2LCAyMDEsIDIyMCwgMzEsIDIyMCwgMTksIDIxOSwgMjMxLCAKLSAgICAyNTAsIDY5LCAyNTAsIDIzNCwgMjQxLCAxNjQsIDIxOSwgMTI4LCAyNDMsIDY4LCAyMTEsIDIzMCwgMjQwLCAyMjcsIDI0MywgCi0gICAgNjgsIDIsIDI0MiwgMTksIDIzMSwgMTc4LCAxNiwgMzEsIDIzMiwgMjM1LCAyMzAsIDEyMCwgMjE0LCAxOTUsIDIyNiwgMjAxLCAKLSAgICAyNDIsIDEyOSwgMjQ0LCAyMCwgMjQ0LCA4MiwgMjM2LCA3LCAyNDEsIDY2LCAyNDQsIDEzNywgMjIyLCAxNiwgNDIsIDI0NCwgCi0gICAgMTksIDI0OSwgMTY3LCAyMTksIDEwNiwgMjQwLCAxMTksIDIxOSwgMTA5LCAyMjUsIDE3MSwgMiwgMjUyLCAxNjcsIDIxNiwgCi0gICAgMjQzLCAyMzUsIDEzNywgMjUyLCAxNTQsIDg3LCAyNDEsIDIzOCwgMjQyLCAxNDAsIDg3LCAyNDMsIDIzOSwgMjI0LCAxNDUsIAotICAgIDI0OSwgMTExLCAyMjYsIDIwMSwgODUsIDIxOCwgMjM2LCA3MSwgMjQ0LCA4MiwgMiwgMjAzLCAyMzAsIDIyOSwgODUsIDIxOCwgCi0gICAgMTA2LCAyMTQsIDE2MCwgMjUxLCAyMjUsIDIyMSwgMTk1LCA4NSwgMjIxLCAxOTUsIDIzMiwgMTE0LCAyNTEsIDIyNSwgMjIxLCAKLSAgICAxOTUsIDcxLCAyMjEsIDE5NSwgNzEsIDExNCwgMjUwLCAxMzgsIDc5LCAyMTcsIDIsIDIzMiwgMTYwLCA1MCwgMjE3LCA1NCwgCi0gICAgMjQ2LCA5NiwgMjU0LCAyMDAsIDI0NSwgMTI3LCAyMjMsIDE2MCwgMjQ0LCA5MywgMjIzLCAxNjAsIDI0MiwgMjIsIDIxMywgCi0gICAgMTc0LCAyNDIsIDIyLCAyMTEsIDE5OCwgMjQyLCAyMiwgMjMyLCAxMTQsIDQ0LCAyMjUsIDIwMSwgMjI1LCAyMDEsIDIxNCwgCi0gICAgMTYwLCA0NCwgMjI1LCAyMDEsIDcxLCAyMjgsIDIzNSwgODUsIDIyOCwgMjM1LCAyNTAsIDEzOCwgNzksIDExNCwgMjUwLCAKLSAgICAxMzgsIDc5LCAyMzAsIDg5LCAyMTEsIDE3OCwgMTE0LCAyMzAsIDg5LCAyMTEsIDE3OCwgMjUyLCAxNjQsIDIxMSwgMTc4LCAKLSAgICAxMTQsIDI1MiwgMTY0LCAyMTEsIDE3OCwgMjI2LCAxMzAsIDI2LCAyNDksIDEzOCwgMTE0LCAyNiwgMjQ5LCAxMzgsIDIwNCwgCi0gICAgMjUwLCAxODMsIDI0OSwgMTM4LCAxMTQsIDIwNCwgMjUwLCAxODMsIDI0OSwgMTM4LCA3LCAyNDksIDEzOCwgMjIwLCA5MywgCi0gICAgNzEsIDcsIDI0OSwgMTM4LCAyMjYsIDEzMCwgNywgMjQ5LCAxMzgsIDIzMSwgMTkyLCAyNDksIDEzOCwgMjE4LCAxNTksIDY0LCAKLSAgICAyNDgsIDE1NywgMjQ0LCAxOSwgMjE3LCAxNiwgMjUzLCAyMjQsIDI0NCwgMTksIDI1MiwgMTY1LCAyNTMsIDIyNCwgMTE0LCAKLSAgICAyNDQsIDE5LCAyNTIsIDE2NSwgMjUzLCAyMjQsIDI0NCwgMTksIDI0OSwgMjUxLCAyNTMsIDIyNCwgODUsIDI0NCwgMTksIAotICAgIDIyNSwgMTIsIDIxOCwgMTU4LCA3MSwgMjQ0LCAxOSwgMjI1LCAxMiwgMjE4LCAxNTgsIDIxOSwgMTMsIDIxOCwgMTEzLCAKLSAgICAyMjYsIDEzMCwgNzEsIDIxOCwgMTU4LCAzNywgNzEsIDIxOCwgMTU4LCAyMDQsIDI1MCwgMTgzLCA4NSwgMjE4LCAxNTgsIAotICAgIDg1LCAyNTAsIDE4MywgNzEsIDIxOCwgMTU4LCAyMjYsIDEzMCwgODUsIDIxOCwgMTU4LCAxMTQsIDIyNiwgMTMwLCA4NSwgCi0gICAgMjE4LCAxNTgsIDIyNSwgNjMsIDIxOCwgMTU4LCAyMjAsIDkzLCA3MSwgMjE4LCAxNTgsIDExNCwgMjUzLCAyMjQsIDIwNCwgCi0gICAgMjUwLCAxODMsIDI1MywgMjI0LCAyNDUsIDIwMSwgMjE4LCAyNDYsIDI1MywgMjI0LCAyNDUsIDIwMSwgMjI1LCAxMiwgODUsIAotICAgIDIxOCwgMTU4LCAyNDUsIDIwMSwgMjI1LCAxMiwgMjI1LCA2MywgMjE4LCAxNTgsIDIxOSwgMTI3LCAyMjUsIDEyLCA4NSwgCi0gICAgMjE4LCAxNTgsIDI0NSwgMjAxLCAyMjUsIDEyLCAyMjMsIDExNywgODUsIDIxOCwgMTU4LCAxMTQsIDI0NSwgMjAxLCAyMjUsIAotICAgIDEyLCAyMjMsIDExNywgODUsIDIxOCwgMTU4LCAyMTUsIDc3LCAyMjUsIDEyLCA4NSwgMjE4LCAxNTgsIDIxOSwgMTIyLCAKLSAgICAyMjUsIDEyLCAyNTMsIDIyNCwgMjE3LCAxNiwgMjUzLCAyMjQsIDIwNCwgMjUwLCAxODMsIDIxNywgMTYsIDI1MywgMjI0LCAKLSAgICAxMTQsIDIxNywgMTYsIDI1MywgMjI0LCAyMTksIDEyNywgMjI1LCAxNjAsIDg1LCAyMiwgNzEsIDI0NCwgNjIsIDg1LCAyNDQsIAotICAgIDYyLCA3MSwgMjQ0LCA2MiwgMjQ1LCAyMDEsIDIyNSwgMTYwLCAyMjYsIDEzMCwgODUsIDI0NCwgNjIsIDM3LCAyMDQsIDI1MCwgCi0gICAgMTgzLCAyNDUsIDIwMSwgMjI1LCAxMiwgMjE4LCAxNTgsIDExNCwgMjE3LCAxNiwgMjI1LCA2MywgMjUzLCAyMjQsIDIxOSwgCi0gICAgNjQsIDIxNiwgMTA2LCAyMTUsIDIxOSwgMjE5LCA2NCwgMTE0LCAyNTAsIDEyMiwgMjE5LCA2NCwgMjE5LCAxNSwgMTE0LCAKLSAgICAyMTksIDE1LCAyNTIsIDE2NSwgMjUzLCAyMjQsIDI0NSwgMjAxLCAyMTcsIDE2LCAyMjQsIDE3NCwgMjUzLCAyMjQsIDExNCwgCi0gICAgMjQ1LCAyMDEsIDIxNywgMTYsIDIyNCwgMTc0LCAyNTMsIDIyNCwgMjQ5LCAxMzksIDc5LCAyMjAsIDkzLCA3MSwgMjUwLCAKLSAgICA0MywgMTUyLCA5MiwgMjQ5LCAxMzksIDc5LCAyMzIsIDExNCwgNDQsIDI0NiwgOTQsIDcxLCAyMTgsIDIzNiwgMjE0LCAxNjAsIAotICAgIDQ0LCAyNDYsIDk0LCA3MSwgMjE4LCAyMzYsIDIzMiwgMTE0LCA0NCwgMjIwLCA5MywgNzEsIDIxOCwgMjM2LCAyMTQsIDE2MCwgCi0gICAgNDQsIDIyMCwgOTMsIDcxLCAyMTgsIDIzNiwgODUsIDIyNCwgMTYsIDE2NCwgMjI2LCAxNTEsIDcxLCAyMjQsIDE2LCAxNjQsIAotICAgIDIyNiwgMTUxLCA3MSwgMjQ1LCAzOSwgMTY0LCAyMjYsIDE1MSwgODUsIDI0OCwgMSwgMjMwLCAxODcsIDcxLCAyMTEsIDE3OCwgCi0gICAgMTE0LCAyNDUsIDM5LCAxNjQsIDg3LCAxOTMsIDY3LCAxMzAsIDIzMSwgODcsIDY3LCAxMzAsIDExNCwgNjcsIDEzMCwgMTE0LCAKLSAgICAyMTksIDE1NywgMjE1LCA5NCwgMjQ5LCAyMjgsIDIyNCwgMSwgMTY0LCAyMjYsIDE1MSwgMTE0LCAyMTksIDE1NywgMjQ5LCAKLSAgICAyMjgsIDIyNCwgMSwgMTY0LCAyMjYsIDE1MSwgMTE0LCA1MiwgMjE1LCA5NCwgMjQ5LCAyMjgsIDIyNCwgMSwgMTY0LCAyMjYsIAotICAgIDE1MSwgMTE0LCA1MiwgMjQ5LCAyMjgsIDIyNCwgMSwgMTY0LCAyMjYsIDE1MSwgMTE0LCAxMjEsIDIxOSwgMTU3LCAyNDksIAotICAgIDIyOCwgMjI0LCAxLCAxNjQsIDIyNiwgMTUxLCAxMTQsIDEyMSwgNTIsIDI0OSwgMjI4LCAyMjQsIDEsIDE2NCwgMjI2LCAKLSAgICAxNTEsIDI0OSwgOTksIDIxOCwgMTQyLCAyMjYsIDE5LCA1LCAyMjYsIDE1MSwgMTE0LCAyNDUsIDM5LCAxNjQsIDIyNiwgCi0gICAgMTUxLCAxMTQsIDI0MSwgMjM1LCAyNDUsIDM5LCAxNjQsIDIyNiwgMTUxLCAxMTQsIDg1LCAyNDEsIDIzNCwgMjIyLCAxODksIAotICAgIDExNCwgODUsIDI0MSwgMjM1LCAyNTEsIDEyMSwgMjQ0LCA2MywgMjQxLCAyMzQsIDIyMiwgMTg5LCAyNDQsIDYzLCAyNDEsIAotICAgIDIzNSwgMjUxLCAxMjEsIDIzMSwgODcsIDQzLCAyMjYsIDgsIDIyNiwgMTUxLCAyMzEsIDg3LCA0NCwgMjI2LCA4LCAyMjYsIAotICAgIDE1MSwgMjMxLCA4NywgMjQ0LCA3MSwgNDMsIDIyNiwgOCwgMjI2LCAxNTEsIDIzMSwgODcsIDI0NCwgNzEsIDQ0LCAyMjYsIAotICAgIDgsIDIyNiwgMTUxLCAyMzEsIDg3LCAyMzMsIDQ4LCAyNTQsIDExOCwgMjUxLCAxNjYsIDIyNiwgMTUxLCAyMzEsIDg3LCAKLSAgICAyMjIsIDI1MCwgMjU0LCAxMTgsIDI1MSwgMTY2LCAyMjYsIDE1MSwgMTE0LCAyMzMsIDQ4LCAyNTQsIDExOCwgMjI0LCAxLCAKLSAgICAxNjQsIDIyNiwgMTUxLCAxMTQsIDIyMiwgMjUwLCAyNTQsIDExOCwgMjI0LCAxLCAxNjQsIDIyNiwgMTUxLCAxMTQsIDIzMywgCi0gICAgNDgsIDI1NCwgMTE4LCAyNTEsIDE2NiwgMjI2LCAxNTEsIDExNCwgMjIyLCAyNTAsIDI1NCwgMTE4LCAyNTEsIDE2NiwgMjI2LCAKLSAgICAxNTEsIDE5MywgNDMsIDIxNiwgNywgMjIwLCA1NSwgMjUxLCAxNjYsIDIyNiwgMTUxLCAxOTMsIDQ0LCAyMTYsIDcsIDIyMCwgCi0gICAgNTUsIDI1MSwgMTY2LCAyMjYsIDE1MSwgMjMxLCA4NywgNDMsIDI0OSwgMTA3LCAyNTEsIDE2NiwgMjI2LCAxNTEsIDIzMSwgCi0gICAgODcsIDQ0LCAyNDksIDEwNywgMjUxLCAxNjYsIDIyNiwgMTUxLCAyNDcsIDIxMiwgMTUyLCAzNywgMjEsIDExMSwgMjQ3LCAKLSAgICAyMTIsIDE1MiwgMzcsIDIxLCAxMDUsIDI0NywgMjEyLCAxNTIsIDM3LCAyMSwgMTU4LCAyNDcsIDIxMiwgMTUyLCAzNywgMjEsIAotICAgIDE2MSwgMjQ3LCAyMTIsIDE1MiwgMzcsIDIxLCAxOTAsIDI0NywgMjEyLCAxNTIsIDM3LCAyMSwgMTk1LCAyNDcsIDIxMiwgCi0gICAgMTUyLCAzNywgMjEsIDE5OSwgMjQ3LCAyMTIsIDE1MiwgMzcsIDIxLCAxOTYsIDI0NywgMjEyLCAxNTIsIDM3LCAyMSwgMjAxLCAKLSAgICAyNDcsIDIxMiwgMTUyLCAzNywgNTQsIDIxNiwgMjQ4LCAyNDcsIDIxMiwgMzcsIDM1LCAyMSwgMTExLCAyNDcsIDIxMiwgMzcsIAotICAgIDM1LCAyMSwgMTA1LCAyNDcsIDIxMiwgMzcsIDM1LCAyMSwgMTU4LCAyNDcsIDIxMiwgMzcsIDM1LCAyMSwgMTYxLCAyNDcsIAotICAgIDIxMiwgMzcsIDM1LCAyMSwgMTkwLCAyNDcsIDIxMiwgMzcsIDM1LCAyMSwgMTk1LCAyNDcsIDIxMiwgMzcsIDM1LCAyMSwgCi0gICAgMTk5LCAyNDcsIDIxMiwgMzcsIDM1LCAyMSwgMTk2LCAyNDcsIDIxMiwgMzcsIDM1LCAyMSwgMjAxLCAyNDcsIDIxMiwgMzcsIAotICAgIDM1LCA1NCwgMjE2LCAyNDgsIDI0NywgMjEyLCAxNTIsIDM3LCAzNSwgMjEsIDExMSwgMjQ3LCAyMTIsIDE1MiwgMzcsIDM1LCAKLSAgICAyMSwgMTA1LCAyNDcsIDIxMiwgMTUyLCAzNywgMzUsIDIxLCAxNTgsIDI0NywgMjEyLCAxNTIsIDM3LCAzNSwgMjEsIDE2MSwgCi0gICAgMjQ3LCAyMTIsIDE1MiwgMzcsIDM1LCAyMSwgMTkwLCAyNDcsIDIxMiwgMTUyLCAzNywgMzUsIDIxLCAxOTUsIDI0NywgMjEyLCAKLSAgICAxNTIsIDM3LCAzNSwgMjEsIDE5OSwgMjQ3LCAyMTIsIDE1MiwgMzcsIDM1LCAyMSwgMTk2LCAyNDcsIDIxMiwgMTUyLCAzNywgCi0gICAgMzUsIDIxLCAyMDEsIDI0NywgMjEyLCAxNTIsIDM3LCAzNSwgNTQsIDIxNiwgMjQ4LCAxMTQsIDIxMSwgMjQ2LCA5NywgNzUsIAotICAgIDExNCwgOTYsIDUwLCAxMTQsIDIzMCwgMTg3LCA1MCwgMTE0LCAyNDcsIDE3NywgNTAsIDExNCwgMjE5LCAzMCwgMjQ1LCAKLSAgICAyMjgsIDc1LCAxMTQsIDk3LCA3NSwgMTE0LCAyMjgsIDYxLCAyNDUsIDIyOCwgNzUsIDI0NiwgMTA2LCAyMjUsIDE0LCA5NywgCi0gICAgNzUsIDExNCwgMjIyLCAxODYsIDk3LCA3NSwgMjE1LCAyMjUsIDk3LCA3NSwgMTE0LCAyMTUsIDIyNSwgOTcsIDc1LCAyNDgsIAotICAgIDE2MywgMjE1LCAyMjUsIDk3LCA3NSwgMTE0LCAyNDgsIDE2MywgMjE1LCAyMjUsIDk3LCA3NSwgODUsIDk3LCA3NSwgMjE2LCAKLSAgICAxNDUsIDIxNiwgMTMsIDk3LCAyNTQsIDEsIDIxNiwgMTQ1LCAyNTEsIDE4MSwgOTcsIDI1NCwgMSwgODUsIDk3LCAyNTQsIDEsIAotICAgIDExNCwgODUsIDI0OSwgOTksIDI0NiwgMTEyLCAyMiwgOTcsIDc1LCAxMTQsIDg1LCAyNDksIDk5LCAyMTQsIDE1MywgMjIsIAotICAgIDk3LCA3NSwgMjE4LCAyMzMsIDg1LCA5NywgNzUsIDExNCwgMjQ5LCAyMTQsIDg1LCA5NywgNzUsIDIyMiwgMjQ5LCA3MSwgCi0gICAgOTcsIDc1LCAyMzMsIDQ3LCA3MSwgOTcsIDc1LCAyNTIsIDE5MSwgMjIwLCA5MywgNzEsIDk3LCA3NSwgMjQzLCAyNDksIAotICAgIDIyMCwgOTMsIDcxLCA5NywgNzUsIDExNCwgMjMyLCAxMTQsIDIyMiwgMjQ4LCA3MSwgOTcsIDc1LCAxMTQsIDIxNCwgMTYwLCAKLSAgICAyMjIsIDI0OCwgNzEsIDk3LCA3NSwgMjI4LCA1NCwgMjMyLCAxMTQsIDIyMiwgMjQ4LCA3MSwgOTcsIDc1LCAyNDksIDEwNywgCi0gICAgMjMyLCAxMjksIDIyOCwgNTQsIDIxNCwgMTYwLCAyMjIsIDI0OCwgNzEsIDk3LCA3NSwgMzcsIDExNCwgNzEsIDk3LCA3NSwgCi0gICAgMjExLCAyNTIsIDk3LCA3NSwgMjUxLCAyMjgsIDIxOSwgMzAsIDI0NSwgMjI4LCA3NSwgMjUxLCAyMjgsIDk3LCA3NSwgMjUxLCAKLSAgICAyMjgsIDIyOCwgNjEsIDI0NSwgMjI4LCA3NSwgMTE0LCAyNTEsIDIyOCwgMjE5LCAzMCwgMjQ1LCAyMjgsIDc1LCAxMTQsIAotICAgIDI1MSwgMjI4LCA5NywgNzUsIDExNCwgMjUxLCAyMjgsIDIyOCwgNjEsIDI0NSwgMjI4LCA3NSwgMjE3LCAxOCwgOTcsIDc1LCAKLSAgICAxMTQsIDIxNywgMTcsIDk3LCA3NSwgMjEyLCAxOCwgOTcsIDc1LCAxMTQsIDIxMiwgMTgsIDk3LCA3NSwgMjI2LCAxNzYsIAotICAgIDk3LCA3NSwgNTIsIDI0OSwgMTA3LCAyMzIsIDEyOSwgMTM0LCAyNDcsIDIyMiwgMjU0LCAxMTcsIDcxLCAyMTUsIDIyNywgCi0gICAgMjQ5LCAxOTUsIDQsIDcxLCAyMTUsIDIyNiwgMjI1LCAxNzQsIDIwNCwgMjE4LCA2NCwgMjA0LCAyMTgsIDIyLCA0MywgMjIyLCAKLSAgICA5MiwgMjUyLCAxODEsIDI0OCwgNjgsIDQ0LCAyMjIsIDkyLCAyNTIsIDE4MSwgMjQ4LCA2OCwgMTc3LCAyLCA1OSwgMjM1LCAKLSAgICAyMjIsIDIyMywgNTMsIDIxOSwgNDksIDIyNCwgMjA0LCAyMTgsIDY0LCAyMTgsIDIzLCAyMjQsIDIwNCwgMjE5LCA0OCwgNjcsIAotICAgIDI1MiwgMTQ5LCAyLCAyMDMsIDkxLCAxMSwgMjIyLCAyMzEsIDI0OCwgNiwgMjAwLCAyNDcsIDE3NiwgMTEsIDI0NCwgMTgzLCAKLSAgICAyNDgsIDYsIDkyLCAyMzIsIDE1MiwgMjU0LCAxMjYsIDkyLCAyMzIsIDE1MiwgMjI2LCAxNjIsIDcxLCAyNDgsIDEsIDIsIAotICAgIDI1MCwgMTgxLCAyNDcsIDEyOCwgMjIsIDIsIDI0NywgMTI4LCAyNDUsIDE3OCwgNjQsIDIyNiwgMTc0LCAyMTQsIDE1MiwgCi0gICAgMjMyLCAxMTQsIDQ0LCAyNDksIDE2OSwgMiwgMjQ3LCAxMjgsIDIxNCwgMTYwLCA0MywgMjQ5LCAxNjksIDIsIDI0NywgMTI4LCAKLSAgICA0MywgMjI2LCAxMzIsIDIzNSwgNzIsIDQ0LCAyMjYsIDEzMiwgMjM1LCA3MiwgMjQzLCAyMzYsIDIyNiwgMTMyLCAyMzUsIAotICAgIDcyLCAyMzMsIDkxLCAxMjAsIDIxNywgODgsIDIzMywgOTEsIDEyNCwgMjE3LCA4OCwgNDMsIDIyLCA0NCwgNTIsIDIxNSwgCi0gICAgOTMsIDQzLCAyMiwgNDQsIDIxNywgODgsIDQzLCAyMzAsIDkyLCAyMDAsIDQ0LCAyMTcsIDg4LCAyMDAsIDQzLCAyMTcsIDg4LCAKLSAgICAxMjAsIDIxNywgODksIDIsIDI1MCwgNDQsIDQ4LCAyMzIsIDExMSwgMjQ3LCAxODEsIDI1MSwgODYsIDIwMywgMjIyLCAxMzUsIAotICAgIDcxLCAyNDksIDIxMywgMjQ4LCAwLCA3MSwgMjQ5LCAyMTMsIDI0OCwgMSwgMiwgMTQwLCAyMTYsIDExNSwgNzEsIDI0OSwgCi0gICAgMjEzLCAyNDgsIDEsIDIsIDk3LCAyMTYsIDExNSwgNzEsIDQyLCAyLCAxNDAsIDIxNiwgMTE1LCA3MSwgNDIsIDIsIDk3LCAKLSAgICAyMTYsIDExNSwgMTEsIDQzLCA3MSwgNDIsIDEyNywgMTEsIDQ0LCA3MSwgNDIsIDEyNywgMTEsIDQzLCAyNTQsIDExOCwgCi0gICAgMTI3LCAxMSwgNDQsIDI1NCwgMTE4LCAxMjcsIDExLCA0MywgNTIsIDI1NCwgMTE4LCAxMjcsIDExLCA0NCwgNTIsIDI1NCwgCi0gICAgMTE4LCAxMjcsIDExLCA0MywgNzEsIDIxNiwgNywgMjIwLCA1NSwgMTI3LCAxMSwgNDQsIDcxLCAyMTYsIDcsIDIyMCwgNTUsIAotICAgIDEyNywgMTEsIDQzLCAyNDQsIDcxLCAyMjYsIDcsIDExLCA0NCwgMjQ0LCA3MSwgMjI2LCA3LCAyMTQsIDE1MywgMjI0LCAyNywgCi0gICAgNzUsIDI0NiwgMTEyLCAyMjQsIDI3LCA3NSwgMjU0LCA5NiwgMjQzLCAxMDUsIDI1MCwgNDQsIDc1LCAyNTAsIDEwLCAyNDMsIAotICAgIDEwNSwgMjUwLCA0NCwgNzUsIDQ0LCA4MCwgMiwgMzcsIDIyNSwgMjUsIDIwMCwgMTQwLCA3NSwgMjAwLCA5NywgNzUsIDIwMCwgCi0gICAgNDMsIDQ0LCA3NSwgMjAwLCAxNDAsIDUyLCA3NSwgMjAwLCA5NywgNTIsIDc1LCAyMDAsIDQzLCA0NCwgNTIsIDc1LCAyMDAsIAotICAgIDE0MCwgODAsIDI0MywgMjUxLCAxMzAsIDIwMCwgOTcsIDgwLCAyNDMsIDI1MSwgMTMwLCAyMDAsIDE0MCwgNTIsIDgwLCAKLSAgICAyNDMsIDI1MSwgMTMwLCAyMDAsIDk3LCA1MiwgODAsIDI0MywgMjUxLCAxMzAsIDIwMCwgOTcsIDIxOCwgMjMyLCA3NSwgNDYsIAotICAgIDQ3LCAyNTEsIDIyMywgNDYsIDQ3LCAyNDcsIDEyNSwgNDYsIDQ3LCAyNDYsIDI1MywgNDYsIDQ3LCAyNDcsIDEyNCwgNDYsIAotICAgIDQ3LCAyNDYsIDE4OSwgNDYsIDQ3LCAyNDcsIDYwLCA0NiwgNDcsIDI0NiwgMjUyLCA0NiwgNDcsIDI0NywgMTIzLCA0NiwgCi0gICAgNDcsIDI0NiwgMTU3LCA0NiwgNDcsIDI0NywgMjgsIDQ2LCA0NywgMjQ2LCAyMjAsIDQ2LCA0NywgMjQ3LCA5MSwgNDYsIDQ3LCAKLSAgICAyNDYsIDE4OCwgNDYsIDQ3LCAyNDcsIDU5LCA0NiwgNDcsIDI0NiwgMjUxLCA0NiwgNDcsIDI0NywgMTIyLCA0NiwgNDcsIAotICAgIDI0NiwgMTQxLCA0NiwgNDcsIDI0NywgMTIsIDQ2LCA0NywgMjQ2LCAyMDQsIDQ2LCA0NywgMjQ3LCA3NSwgNDYsIDQ3LCAKLSAgICAyNDYsIDE3MiwgNDYsIDQ3LCAyNDcsIDQzLCA0NiwgNDcsIDI0NiwgMjM1LCA0NiwgNDcsIDI0NywgMTA2LCA0NiwgNDcsIAotICAgIDI0NiwgMTU2LCA0NiwgNDcsIDI0NywgMjcsIDQ2LCA0NywgMjQ2LCAyMTksIDQ2LCA0NywgMjQ3LCA5MCwgNDYsIDQ3LCAKLSAgICAyNDYsIDE4NywgNDYsIDQ3LCAyNDcsIDU4LCA0NiwgNDcsIDI0NiwgMjUwLCA0NiwgNDcsIDI0NywgMTIxLCA0NiwgNDcsIAotICAgIDI0NiwgMTMzLCA0NiwgNDcsIDI0NywgNCwgNDYsIDQ3LCAyNDYsIDE5NiwgNDYsIDQ3LCAyNDcsIDY3LCA0NiwgNDcsIDI0NiwgCi0gICAgMTY0LCA0NiwgNDcsIDI0NywgMzUsIDQ2LCA0NywgMjQ2LCAyMjcsIDQ2LCA0NywgMjQ3LCA5OCwgNDYsIDQ3LCAyNDYsIAotICAgIDE0OCwgNDYsIDQ3LCAyNDcsIDE5LCA0NiwgNDcsIDI0NiwgMjExLCA0NiwgNDcsIDI0NywgODIsIDQ2LCA0NywgMjQ2LCAKLSAgICAxNzksIDQ2LCA0NywgMjQ3LCA1MCwgNDYsIDQ3LCAyNDYsIDI0MiwgNDYsIDQ3LCAyNDcsIDExMywgNDYsIDQ3LCAyNDYsIAotICAgIDE0MCwgNDYsIDQ3LCAyNDcsIDExLCA0NiwgNDcsIDI0NiwgMjAzLCA0NiwgNDcsIDI0NywgNzQsIDQ2LCA0NywgMjQ2LCAKLSAgICAxNzEsIDQ2LCA0NywgMjQ3LCA0MiwgNDYsIDQ3LCAyNDYsIDIzNCwgNDYsIDQ3LCAyNDcsIDEwNSwgNDYsIDQ3LCAyNDYsIAotICAgIDE1NSwgNDYsIDQ3LCAyNDcsIDI2LCA0NiwgNDcsIDI0NiwgMjE4LCA0NiwgNDcsIDI0NywgODksIDQ2LCA0NywgMjQ2LCAKLSAgICAxODYsIDQ2LCA0NywgMjQ3LCA1NywgNDYsIDQ3LCAyNDYsIDI0OSwgNDYsIDQ3LCAyNDcsIDEyMCwgNDYsIDQ3LCAyNDYsIAotICAgIDEyOSwgNDYsIDQ3LCAyNDcsIDAsIDQ2LCA0NywgMjQ2LCAxOTIsIDQ2LCA0NywgMjQ3LCA2MywgNDYsIDQ3LCAyNDYsIDE2MCwgCi0gICAgNDYsIDQ3LCAyNDcsIDMxLCA0NiwgNDcsIDI0NiwgMjIzLCA0NiwgNDcsIDI0NywgOTQsIDQ2LCA0NywgMjQ2LCAxNDQsIDQ2LCAKLSAgICA0NywgMjQ3LCAxNSwgNDYsIDQ3LCAyNDYsIDIwNywgNDYsIDQ3LCAyNDcsIDc4LCA0NiwgNDcsIDI0NiwgMTc1LCA0NiwgNDcsIAotICAgIDI0NywgNDYsIDQ2LCA0NywgMjQ2LCAyMzgsIDQ2LCA0NywgMjQ3LCAxMDksIDQ2LCA0NywgMjQ2LCAxMzYsIDQ2LCA0NywgCi0gICAgMjQ3LCA3LCA0NiwgNDcsIDI0NiwgMTk5LCA0NiwgNDcsIDI0NywgNzAsIDQ2LCA0NywgMjQ2LCAxNjcsIDQ2LCA0NywgMjQ3LCAKLSAgICAzOCwgNDYsIDQ3LCAyNDYsIDIzMCwgNDYsIDQ3LCAyNDcsIDEwMSwgNDYsIDQ3LCAyNDYsIDE1MSwgNDYsIDQ3LCAyNDcsIAotICAgIDIyLCA0NiwgNDcsIDI0NiwgMjE0LCA0NiwgNDcsIDI0NywgODUsIDQ2LCA0NywgMjQ2LCAxODIsIDQ2LCA0NywgMjQ3LCA1MywgCi0gICAgNDYsIDQ3LCAyNDYsIDI0NSwgNDYsIDQ3LCAyNDcsIDExNiwgNDYsIDQ3LCAyNDYsIDEzMiwgNDYsIDQ3LCAyNDcsIDMsIDQ2LCAKLSAgICA0NywgMjQ2LCAxOTUsIDQ2LCA0NywgMjQ3LCA2NiwgNDYsIDQ3LCAyNDYsIDE2MywgNDYsIDQ3LCAyNDcsIDM0LCA0NiwgNDcsIAotICAgIDI0NiwgMjI2LCA0NiwgNDcsIDI0NywgOTcsIDQ2LCA0NywgMjQ2LCAxNDcsIDQ2LCA0NywgMjQ3LCAxOCwgNDYsIDQ3LCAKLSAgICAyNDYsIDIxMCwgNDYsIDQ3LCAyNDcsIDgxLCA0NiwgNDcsIDI0NiwgMTc4LCA0NiwgNDcsIDI0NywgNDksIDQ2LCA0NywgCi0gICAgMjQ2LCAyNDEsIDQ2LCA0NywgMjQ3LCAxMTIsIDQ2LCA0NywgMjQ2LCAxMzksIDQ2LCA0NywgMjQ3LCAxMCwgNDYsIDQ3LCAKLSAgICAyNDYsIDIwMiwgNDYsIDQ3LCAyNDcsIDczLCA0NiwgNDcsIDI0NiwgMTcwLCA0NiwgNDcsIDI0NywgNDEsIDQ2LCA0NywgCi0gICAgMjQ2LCAyMzMsIDQ2LCA0NywgMjQ3LCAxMDQsIDQ2LCA0NywgMjQ2LCAxNTQsIDQ2LCA0NywgMjQ3LCAyNSwgNDYsIDQ3LCAKLSAgICAyNDYsIDIxNywgNDYsIDQ3LCAyNDcsIDg4LCA0NiwgNDcsIDI0NiwgMTg1LCA0NiwgNDcsIDI0NywgNTYsIDQ2LCA0NywgCi0gICAgMjQ2LCAyNDgsIDQ2LCA0NywgMjQ3LCAxMTksIDQ2LCA0NywgMjQ2LCAxMjcsIDQ2LCA0NywgMjQ2LCAyNTQsIDQ2LCA0NywgCi0gICAgMjQ2LCAxOTAsIDQ2LCA0NywgMjQ3LCA2MSwgNDYsIDQ3LCAyNDYsIDE1OCwgNDYsIDQ3LCAyNDcsIDI5LCA0NiwgNDcsIAotICAgIDI0NiwgMjIxLCA0NiwgNDcsIDI0NywgOTIsIDQ2LCA0NywgMjQ2LCAxNDIsIDQ2LCA0NywgMjQ3LCAxMywgNDYsIDQ3LCAKLSAgICAyNDYsIDIwNSwgNDYsIDQ3LCAyNDcsIDc2LCA0NiwgNDcsIDI0NiwgMTczLCA0NiwgNDcsIDI0NywgNDQsIDQ2LCA0NywgCi0gICAgMjQ2LCAyMzYsIDQ2LCA0NywgMjQ3LCAxMDcsIDQ2LCA0NywgMjQ2LCAxMzQsIDQ2LCA0NywgMjQ3LCA1LCA0NiwgNDcsIAotICAgIDI0NiwgMTk3LCA0NiwgNDcsIDI0NywgNjgsIDQ2LCA0NywgMjQ2LCAxNjUsIDQ2LCA0NywgMjQ3LCAzNiwgNDYsIDQ3LCAKLSAgICAyNDYsIDIyOCwgNDYsIDQ3LCAyNDcsIDk5LCA0NiwgNDcsIDI0NiwgMTQ5LCA0NiwgNDcsIDI0NywgMjAsIDQ2LCA0NywgCi0gICAgMjQ2LCAyMTIsIDQ2LCA0NywgMjQ3LCA4MywgNDYsIDQ3LCAyNDYsIDE4MCwgNDYsIDQ3LCAyNDcsIDUxLCA0NiwgNDcsIAotICAgIDI0NiwgMjQzLCA0NiwgNDcsIDI0NywgMTE0LCA0NiwgNDcsIDI0NiwgMTMwLCA0NiwgNDcsIDI0NywgMSwgNDYsIDQ3LCAKLSAgICAyNDYsIDE5MywgNDYsIDQ3LCAyNDcsIDY0LCA0NiwgNDcsIDI0NiwgMTYxLCA0NiwgNDcsIDI0NywgMzIsIDQ2LCA0NywgCi0gICAgMjQ2LCAyMjQsIDQ2LCA0NywgMjQ3LCA5NSwgNDYsIDQ3LCAyNDYsIDE0NSwgNDYsIDQ3LCAyNDcsIDE2LCA0NiwgNDcsIAotICAgIDI0NiwgMjA4LCA0NiwgNDcsIDI0NywgNzksIDQ2LCA0NywgMjQ2LCAxNzYsIDQ2LCA0NywgMjQ3LCA0NywgNDYsIDQ3LCAKLSAgICAyNDYsIDIzOSwgNDYsIDQ3LCAyNDcsIDExMCwgNDYsIDQ3LCAyNDYsIDEzNywgNDYsIDQ3LCAyNDcsIDgsIDQ2LCA0NywgCi0gICAgMjQ2LCAyMDAsIDQ2LCA0NywgMjQ3LCA3MSwgNDYsIDQ3LCAyNDYsIDE2OCwgNDYsIDQ3LCAyNDcsIDM5LCA0NiwgNDcsIAotICAgIDI0NiwgMjMxLCA0NiwgNDcsIDI0NywgMTAyLCA0NiwgNDcsIDI0NiwgMTUyLCA0NiwgNDcsIDI0NywgMjMsIDQ2LCA0NywgCi0gICAgMjQ2LCAyMTUsIDQ2LCA0NywgMjQ3LCA4NiwgNDYsIDQ3LCAyNDYsIDE4MywgNDYsIDQ3LCAyNDcsIDU0LCA0NiwgNDcsIAotICAgIDI0NiwgMjQ2LCA0NiwgNDcsIDI0NywgMTE3LCA0NiwgNDcsIDI0NiwgMTI4LCA0NiwgNDcsIDI0NiwgMjU1LCA0NiwgNDcsIAotICAgIDI0NiwgMTkxLCA0NiwgNDcsIDI0NywgNjIsIDQ2LCA0NywgMjQ2LCAxNTksIDQ2LCA0NywgMjQ3LCAzMCwgNDYsIDQ3LCAKLSAgICAyNDYsIDIyMiwgNDYsIDQ3LCAyNDcsIDkzLCA0NiwgNDcsIDI0NiwgMTQzLCA0NiwgNDcsIDI0NywgMTQsIDQ2LCA0NywgCi0gICAgMjQ2LCAyMDYsIDQ2LCA0NywgMjQ3LCA3NywgNDYsIDQ3LCAyNDYsIDE3NCwgNDYsIDQ3LCAyNDcsIDQ1LCA0NiwgNDcsIAotICAgIDI0NiwgMjM3LCA0NiwgNDcsIDI0NywgMTA4LCA0NiwgNDcsIDI0NiwgMTM1LCA0NiwgNDcsIDI0NywgNiwgNDYsIDQ3LCAKLSAgICAyNDYsIDE5OCwgNDYsIDQ3LCAyNDcsIDY5LCA0NiwgNDcsIDI0NiwgMTY2LCA0NiwgNDcsIDI0NywgMzcsIDQ2LCA0NywgCi0gICAgMjQ2LCAyMjksIDQ2LCA0NywgMjQ3LCAxMDAsIDQ2LCA0NywgMjQ2LCAxNTAsIDQ2LCA0NywgMjQ3LCAyMSwgNDYsIDQ3LCAKLSAgICAyNDYsIDIxMywgNDYsIDQ3LCAyNDcsIDg0LCA0NiwgNDcsIDI0NiwgMTgxLCA0NiwgNDcsIDI0NywgNTIsIDQ2LCA0NywgCi0gICAgMjQ2LCAyNDQsIDQ2LCA0NywgMjQ3LCAxMTUsIDQ2LCA0NywgMjQ2LCAxMzEsIDQ2LCA0NywgMjQ3LCAyLCA0NiwgNDcsIAotICAgIDI0NiwgMTk0LCA0NiwgNDcsIDI0NywgNjUsIDQ2LCA0NywgMjQ2LCAxNjIsIDQ2LCA0NywgMjQ3LCAzMywgNDYsIDQ3LCAKLSAgICAyNDYsIDIyNSwgNDYsIDQ3LCAyNDcsIDk2LCA0NiwgNDcsIDI0NiwgMTQ2LCA0NiwgNDcsIDI0NywgMTcsIDQ2LCA0NywgCi0gICAgMjQ2LCAyMDksIDQ2LCA0NywgMjQ3LCA4MCwgNDYsIDQ3LCAyNDYsIDE3NywgNDYsIDQ3LCAyNDcsIDQ4LCA0NiwgNDcsIAotICAgIDI0NiwgMjQwLCA0NiwgNDcsIDI0NywgMTExLCA0NiwgNDcsIDI0NiwgMTM4LCA0NiwgNDcsIDI0NywgOSwgNDYsIDQ3LCAKLSAgICAyNDYsIDIwMSwgNDYsIDQ3LCAyNDcsIDcyLCA0NiwgNDcsIDI0NiwgMTY5LCA0NiwgNDcsIDI0NywgNDAsIDQ2LCA0NywgCi0gICAgMjQ2LCAyMzIsIDQ2LCA0NywgMjQ3LCAxMDMsIDQ2LCA0NywgMjQ2LCAxNTMsIDQ2LCA0NywgMjQ3LCAyNCwgNDYsIDQ3LCAKLSAgICAyNDYsIDIxNiwgNDYsIDQ3LCAyNDcsIDg3LCA0NiwgNDcsIDI0NiwgMTg0LCA0NiwgNDcsIDI0NywgNTUsIDQ2LCA0NywgCi0gICAgMjQ2LCAyNDcsIDQ2LCA0NywgMjQ3LCAxMTgsIDk3LCAyMTUsIDU4LCA4MCwgMiwgNjcsIDkxLCA5NywgMjE1LCA1OCwgODAsIAotICAgIDIsIDUyLCA2NywgOTEsIDE0MCwgNTIsIDgwLCAyLCA2NywgOTEsIDk3LCA1MiwgODAsIDIsIDY3LCA5MSwgNDMsIDQ0LCA1MiwgCi0gICAgODAsIDIsIDY3LCA5MSwgOTcsIDIxNSwgNTgsIDgwLCAyNDMsIDI1MSwgMTMwLCAxNDAsIDUyLCA4MCwgMjQzLCAyNTEsIAotICAgIDEzMCwgOTcsIDUyLCA4MCwgMjQzLCAyNTEsIDEzMCwgMjQ2LCAxMTIsIDgwLCAyLCAyMDMsIDkxLCAyMTQsIDE1MywgODAsIAotICAgIDIsIDIwMywgOTEsIDIxNCwgMTUzLCAyMTUsIDIxMiwgNzUsIDI0NiwgMTEyLCAyMTUsIDIxMiwgNzUsIDE0MCwgNTIsIDI0OCwgCi0gICAgMTY1LCA3NSwgOTcsIDUyLCAyNDgsIDE2NSwgNzUsIDE0MCwgMjE1LCAyMTIsIDI0OCwgMTY1LCA3NSwgOTcsIDIxNSwgMjEyLCAKLSAgICAyNDgsIDE2NSwgNzUsIDk3LCAyMTUsIDU4LCAyMTUsIDIxMiwgMjQ4LCAxNjUsIDc1LCA5NywgODAsIDIsIDI0NiwgMTI2LCAKLSAgICAyMTgsIDE0MSwgMjE0LCAxNTMsIDgwLCAyMTYsIDQzLCAxMzAsIDI0NiwgMTEyLCA4MCwgMjE2LCA0MywgMTMwLCA5NywgODAsIAotICAgIDIsIDIxNywgNzksIDIsIDY3LCA5MSwgOTcsIDgwLCAyLCAyMTcsIDc5LCAyLCA1MiwgNjcsIDkxLCA5NywgMjE1LCA1OCwgCi0gICAgODAsIDIsIDIxNywgNzgsIDk3LCAyMTUsIDU4LCA4MCwgMiwgMjE3LCA3OSwgMiwgNjcsIDkxLCA5NywgMjE1LCA1OCwgODAsIAotICAgIDIsIDIxNywgNzksIDIsIDUyLCA2NywgOTEsIDE0MCwgMjU0LCAzLCA5NywgMjU0LCAzLCAxNDAsIDUyLCAyNTQsIDMsIDk3LCAKLSAgICA1MiwgMjU0LCAzLCAxNDAsIDgwLCAyMTYsIDQzLCA4NSwgMjQ4LCAwLCA5NywgODAsIDIxNiwgNDMsIDg1LCAyNDgsIDAsIAotICAgIDE0MCwgODAsIDI0MywgMjUxLCAyNTIsIDE0OSwgMjE2LCA0MywgODUsIDI0OCwgMCwgOTcsIDgwLCAyNDMsIDI1MSwgMjUyLCAKLSAgICAxNDksIDIxNiwgNDMsIDg1LCAyNDgsIDAsIDIyOCwgNjEsIDIxMiwgOSwgMjIsIDIxOSwgMzAsIDI0NSwgMjI4LCA3NSwgCi0gICAgMjI4LCA2MSwgMjQ1LCAyMjgsIDIyLCAyMTksIDMwLCAyMTIsIDksIDc1LCAyMjgsIDYxLCAyMTIsIDksIDgwLCAyLCAxMDMsIAotICAgIDIyOCwgNjEsIDI0NSwgMjI4LCA4MCwgMiwgMTAzLCAyMTksIDMwLCAyNDUsIDIyOCwgODAsIDIsIDEwMywgMjE5LCAzMCwgCi0gICAgMjEyLCA5LCA4MCwgMiwgMTAzLCAyMjgsIDYxLCAyMTIsIDksIDgwLCAyMiwgMjI4LCA2MSwgMjQ1LCAyMjgsIDc1LCAyMjgsIAotICAgIDYxLCAyNDUsIDIyOCwgODAsIDIyLCAyMTksIDMwLCAyNDUsIDIyOCwgNzUsIDIxOSwgMzAsIDI0NSwgMjI4LCA4MCwgMjIsIAotICAgIDIxOSwgMzAsIDIxMiwgOSwgNzUsIDIxOSwgMzAsIDIxMiwgOSwgODAsIDIyLCAyMjgsIDYxLCAyMTIsIDksIDc1LCAyMjIsIAotICAgIDIzMSwgMjQ4LCA3LCAyNDksIDEzMywgMjQ0LCAxODMsIDI0OCwgNiwgMjQ0LCAxODMsIDI0OCwgNywgMjQ5LCAxMzMsIDIyMiwgCi0gICAgMjMxLCAyNDgsIDYsIDIxOSwgMzAsIDI0NSwgMjI4LCA4MCwgMjQ5LCAxMzMsIDIyOCwgNjEsIDI0NSwgMjI4LCA3NSwgMjI4LCAKLSAgICA2MSwgMjQ1LCAyMjgsIDgwLCAyNDksIDEzMywgMjE5LCAzMCwgMjQ1LCAyMjgsIDc1LCAyNDQsIDE4MywgMjQ4LCA3LCAyNDksIAotICAgIDEzMywgMjI4LCA2MSwgMjQ1LCAyMjgsIDc1LCAyMjIsIDIzMSwgMjQ4LCA3LCAyNDksIDEzMywgMjE5LCAzMCwgMjQ1LCAKLSAgICAyMjgsIDc1LCAyMjgsIDYxLCAyNDUsIDIyOCwgODAsIDI0OSwgMTMzLCAyMjgsIDYxLCAyMTIsIDksIDc1LCAyMjgsIDYxLCAKLSAgICAyMTIsIDksIDgwLCAyNDksIDEzMywgMjI4LCA2MSwgMjQ1LCAyMjgsIDc1LCAyMTIsIDM2LCA4MCwgMjI1LCAxMCwgMjQ3LCAKLSAgICAyMDMsIDIyMiwgMjU0LCA4MCwgMjI1LCAxMCwgOTcsIDIxNiwgMTg5LCAyNDksIDk4LCAyMTQsIDE1MiwgODAsIDIyNSwgMTAsIAotICAgIDk3LCAyMTYsIDE4OSwgMjQ5LCA5OCwgMjQ2LCAxMTEsIDgwLCAyMjUsIDEwLCAyNDYsIDExMiwgMjE2LCAxODksIDI0OSwgCi0gICAgOTgsIDIzMywgNDMsIDgwLCAyMjUsIDEwLCAyNDYsIDExMiwgMjE2LCAxODksIDI0OSwgOTgsIDIyMiwgMjQ0LCAyMjIsIAotICAgIDI0NywgMjU0LCAzNCwgMjUwLCAxMCwgNzUsIDIzMywgNDYsIDI1NCwgMzQsIDI1NCwgOTYsIDc1LCAyMTYsIDE1LCAyNTQsIAotICAgIDM0LCAyNTQsIDk2LCA3NSwgMjUxLCAxODMsIDI1NCwgMzQsIDI1NCwgOTYsIDc1LCAyMTYsIDE1LCAyNTQsIDM0LCAyNTAsIAotICAgIDEwLCA4MCwgMiwgMjMwLCAxODYsIDIxNiwgMTUsIDI1NCwgMzQsIDI1NCwgOTYsIDgwLCAyLCAyMjUsIDI1LCAyMzIsIDExNCwgCi0gICAgNDQsIDIyMCwgMTU0LCAyNTAsIDEwLCA3NSwgMjMyLCAxMTQsIDQzLCAyMjAsIDE1NCwgMjU0LCA5NiwgNzUsIDI1NCwgOTYsIAotICAgIDI1MCwgOCwgMjUwLCA0NCwgNzUsIDI1MCwgMTAsIDI1MCwgOCwgMjUwLCA0NCwgNzUsIDk3LCA4MCwgNzIsIDIxOSwgMjUzLCAKLSAgICAxNDAsIDc1LCAxNDAsIDgwLCA3MiwgMjE5LCAyNTMsIDk3LCA3NSwgMjE5LCAyNTMsIDk3LCA4MCwgNzIsIDE0MCwgNzUsIAotICAgIDk3LCA4MCwgMiwgOTYsIDUxLCAxNDAsIDgwLCAyLCA5NiwgNTEsIDk3LCA4MCwgMjE2LCAxNDAsIDIxMSwgMTc4LCA0MywgCi0gICAgNDQsIDgwLCAyMTYsIDE0MCwgNCwgMjUwLCA0MywgMjE0LCAxNTMsIDIxNSwgNTgsIDgwLCAyNDMsIDI1MSwgNCwgMjUwLCAKLSAgICA0MywgNDMsIDI1MiwgMTQ3LCAxMjAsIDQ0LCAyNTIsIDE0NywgMTI0LCAyNDIsIDUsIDQzLCAyNTIsIDE0NywgMTI0LCA0NCwgCi0gICAgMjUyLCAxNDcsIDEyMCwgMjQyLCA1LCAxMjAsIDI1MiwgMTQ3LCA0NCwgMTI0LCAyNTIsIDE0NywgNDMsIDI0MiwgNSwgMTIwLCAKLSAgICAyNTIsIDE0NywgNDMsIDEyNCwgMjUyLCAxNDcsIDQ0LCAyNDIsIDUsIDQzLCAyNTIsIDE0NywgMTIwLCA0NCwgMjUyLCAxNDcsIAotICAgIDEyMCwgMjQyLCA1LCAxMjAsIDI1MiwgMTQ3LCA0NCwgMTI0LCAyNTIsIDE0NywgNDQsIDI0MiwgNSwgNDMsIDI1MiwgMTQ3LCAKLSAgICAxMjQsIDQ0LCAyNTIsIDE0NywgMTI0LCAyNDIsIDUsIDEyMCwgMjUyLCAxNDcsIDQzLCAxMjQsIDI1MiwgMTQ3LCA0MywgCi0gICAgMjQyLCA1LCAxNDAsIDI0MiwgNiwgMiwgMjUyLCAxNDcsIDEyMCwgMjE2LCA0MywgMTMwLCA5NywgMjQyLCA2LCAyLCAyNTIsIAotICAgIDE0NywgMTIwLCAyMTYsIDQzLCAxMzAsIDIxNCwgMTUzLCAyNDIsIDYsIDIsIDI1MiwgMTQ3LCA0NCwgMjE2LCA0MywgMTMwLCAKLSAgICAyNDYsIDExMiwgMjQyLCA2LCAyLCAyNTIsIDE0NywgNDQsIDIxNiwgNDMsIDEzMCwgMTQwLCAyNDIsIDYsIDIsIDI1MiwgCi0gICAgMTQ3LCAxMjQsIDIxNiwgNDMsIDEzMCwgOTcsIDI0MiwgNiwgMiwgMjUyLCAxNDcsIDEyNCwgMjE2LCA0MywgMTMwLCAyMTQsIAotICAgIDE1MywgMjQyLCA2LCAyLCAyNTIsIDE0NywgNDMsIDIxNiwgNDMsIDEzMCwgMjQ2LCAxMTIsIDI0MiwgNiwgMiwgMjUyLCAKLSAgICAxNDcsIDQzLCAyMTYsIDQzLCAxMzAsIDE0MCwgMjQyLCA2LCAyLCAyNTIsIDE0NywgMTIwLCAyNDMsIDI1MSwgMTMwLCA5NywgCi0gICAgMjQyLCA2LCAyLCAyNTIsIDE0NywgMTIwLCAyNDMsIDI1MSwgMTMwLCAyMTQsIDE1MywgMjQyLCA2LCAyLCAyNTIsIDE0NywgCi0gICAgNDQsIDI0MywgMjUxLCAxMzAsIDI0NiwgMTEyLCAyNDIsIDYsIDIsIDI1MiwgMTQ3LCA0NCwgMjQzLCAyNTEsIDEzMCwgMTQwLCAKLSAgICAyNDIsIDYsIDIsIDI1MiwgMTQ3LCAxMjQsIDI0MywgMjUxLCAxMzAsIDk3LCAyNDIsIDYsIDIsIDI1MiwgMTQ3LCAxMjQsIAotICAgIDI0MywgMjUxLCAxMzAsIDIxNCwgMTUzLCAyNDIsIDYsIDIsIDI1MiwgMTQ3LCA0MywgMjQzLCAyNTEsIDEzMCwgMjQ2LCAKLSAgICAxMTIsIDI0MiwgNiwgMiwgMjUyLCAxNDcsIDQzLCAyNDMsIDI1MSwgMTMwLCAxNDAsIDI0MiwgNiwgMiwgMjUyLCAxNDcsIAotICAgIDEyMCwgNzIsIDE0MCwgMjQyLCA2LCAyLCAyNTIsIDE0NywgMjQ2LCAxMTQsIDIxNCwgMTUzLCAyNDIsIDYsIDIsIDI1MiwgCi0gICAgMTQ3LCA0MywgMjUyLCAzOCwgMjE0LCAxNTMsIDI0MiwgNiwgMiwgMjUyLCAxNDcsIDIyMiwgMjU0LCA5NywgMjQyLCA2LCAyLCAKLSAgICAyNTIsIDE0NywgMTIwLCA3MiwgOTcsIDI0MiwgNiwgMiwgMjUyLCAxNDcsIDI0NiwgMTE0LCAyNDYsIDExMiwgMjQyLCA2LCAKLSAgICAyLCAyNTIsIDE0NywgNDMsIDI1MiwgMzgsIDI0NiwgMTEyLCAyNDIsIDYsIDIsIDI1MiwgMTQ3LCAyMjIsIDI1NCwgMTQwLCAKLSAgICAyNDIsIDYsIDIsIDI1MiwgMTQ3LCAxMjAsIDcyLCA5NywgMjQyLCA2LCAyLCAyNTIsIDE0NywgMjE0LCAxNjMsIDE0MCwgCi0gICAgMjQyLCA2LCAyLCAyNTIsIDE0NywgMTI0LCA3MiwgOTcsIDI0MiwgNiwgMiwgMjUyLCAxNDcsIDI0NiwgMTE0LCA5NywgMjQyLCAKLSAgICA2LCAyLCAyNTIsIDE0NywgMTIwLCA3MiwgMTQwLCAyNDIsIDYsIDIsIDI1MiwgMTQ3LCAyMTQsIDE2MywgOTcsIDI0MiwgNiwgCi0gICAgMiwgMjUyLCAxNDcsIDEyNCwgNzIsIDE0MCwgMjQyLCA2LCAyLCAyNTIsIDE0NywgMjQ2LCAxMTQsIDE0MCwgMjQyLCA2LCAyLCAKLSAgICAyNTIsIDE0NywgMTIwLCA3MiwgMjAwLCAyNDgsIDE2NCwgMTQwLCAyNDIsIDYsIDIsIDI1MiwgMTQ3LCAxMjQsIDI1MiwgNTEsIAotICAgIDIwMCwgMjQ4LCAxNjQsIDk3LCAyNDIsIDYsIDIsIDI1MiwgMTQ3LCAxMjAsIDcyLCAyMDAsIDI0OCwgMTY0LCA5NywgMjQyLCAKLSAgICA2LCAyLCAyNTIsIDE0NywgMTI0LCAyNTIsIDUxLCAyMDAsIDI0OCwgMTY0LCAyMTQsIDE1MywgMjQyLCA2LCAyLCAyNTIsIAotICAgIDE0NywgNDMsIDI1MiwgMzgsIDI0NiwgMTEyLCAyNDIsIDYsIDIsIDI1MiwgMTQ3LCAyMjIsIDI1NCwgMjQ2LCAxMTIsIDI0MiwgCi0gICAgNiwgMiwgMjUyLCAxNDcsIDQzLCAyNTIsIDM4LCAyMTQsIDE1MywgMjQyLCA2LCAyLCAyNTIsIDE0NywgMjIyLCAyNTQsIDQ0LCAKLSAgICA1MiwgODAsIDIsIDIyMiwgMTg1LCAyNDEsIDI0MiwgMjQ1LCAxMDYsIDUsIDcyLCA5NywgNzUsIDIxNiwgOTAsIDIyNiwgCi0gICAgMTcyLCA3MiwgOTcsIDc1LCAxNDAsIDgwLCA3MiwgMjE2LCA5MCwgMjI2LCAxNzEsIDk3LCA4MCwgNzIsIDIxNiwgOTAsIAotICAgIDIyNiwgMTcxLCA5NywgODAsIDcyLCAyNTQsIDE1NiwgMTI4LCAxMTIsIDIzMywgMjEsIDcyLCAxNDAsIDc1LCAxNDAsIDgwLCAKLSAgICAyMTYsIDE0MCwgMjMzLCAyMCwgMjQyLCAxMzcsIDcyLCA5NywgNzUsIDIxOCwgNjUsIDcyLCA5NywgNzUsIDE0MCwgODAsIAotICAgIDIxNiwgMTQwLCAyMTgsIDY0LCAyMTgsIDIzLCA3MiwgMTQwLCA3NSwgNDMsIDI0NCwgOTksIDIxNywgNzgsIDQ0LCAyNDQsIAotICAgIDk5LCAyMTcsIDc4LCAxMjAsIDI0NCwgOTksIDIxNywgNzgsIDEyNCwgMjQ0LCA5OSwgMjE3LCA3OCwgMjE1LCAyMTIsIDY3LCAKLSAgICAyNTIsIDE0OSwgMjQ4LCA2OCwgMjEwLCAxNjAsIDE4OSwgMjE4LCAyNDQsIDIxMCwgMTYwLCAxODksIDIxNSwgNDksIDI0OSwgCi0gICAgMjM0LCA0MywgNzEsIDI0OSwgMTA3LCAxMjcsIDQ0LCA3MSwgMjQ5LCAxMDcsIDEyNywgNDMsIDcxLCAyMjYsIDcsIDQ0LCAKLSAgICA3MSwgMjI2LCA3LCAyMTAsIDE2MCwgMTg5LCA0MywgMjM2LCAyMiwgMTI3LCAyMTAsIDE2MCwgMTg5LCA0NCwgMjM2LCAyMiwgCi0gICAgMTI3LCAyMTAsIDE2MCwgMTg5LCA0MywgMjUxLCAyNTAsIDEyNywgMjEwLCAxNjAsIDE4OSwgNDQsIDI1MSwgMjUwLCAxMjcsIAotICAgIDQzLCA0MiwgMjUxLCAxNjYsIDIsIDIxNCwgMTgzLCA0NCwgNDIsIDI1MSwgMTY2LCAyLCAyMTQsIDE4MywgNDMsIDQyLCAKLSAgICAyNTEsIDE2NiwgMiwgMjE2LCAxMTYsIDIzNiwgNywgMjE2LCAxNSwgMjQ5LCAxNjgsIDQ0LCA0MiwgMjUxLCAxNjYsIDIsIAotICAgIDIxNiwgMTE2LCAyMzYsIDcsIDI1MSwgMTgzLCAyNDksIDE2OCwgNDMsIDQyLCAyNTEsIDE2NiwgMiwgMjE2LCAxMTYsIDIzNiwgCi0gICAgNywgMjUxLCAxODMsIDI0OSwgMTY4LCA0NCwgNDIsIDI1MSwgMTY2LCAyLCAyMTYsIDExNiwgMjM2LCA3LCAyMTYsIDE1LCAKLSAgICAyNDksIDE2OCwgNDMsIDI1NCwgMTE4LCAyNTEsIDE2NiwgMiwgMjQ3LCAxMjgsIDQ0LCAyNTQsIDExOCwgMjUxLCAxNjYsIDIsIAotICAgIDI0NywgMTI4LCA0MywgMjU0LCAzNCwgMjMzLCAyMSwgMTI3LCA0NCwgMjU0LCAzNCwgMjQyLCAxMzcsIDEyNywgNTIsIDQzLCAKLSAgICAyNTQsIDM0LCAyNDIsIDEzNywgMTI3LCA1MiwgNDQsIDI1NCwgMzQsIDIzMywgMjEsIDEyNywgNDMsIDg1LCAyMTYsIDcsIAotICAgIDIyMCwgNTUsIDEyNywgNDQsIDg1LCAyMTYsIDcsIDIyMCwgNTUsIDEyNywgMjQ2LCAxMjYsIDI0NCwgMTQzLCA2NywgMjEwLCAKLSAgICAzNSwgMjMyLCAyMTksIDIzMSwgOTMsIDI1NCwgMTE4LCAyMjYsIDE3NCwgMjMzLCA1MiwgNDQsIDI1NCwgMTE4LCAyMTQsIAotICAgIDEyLCAyLCAyMTgsIDIzNiwgMjMxLCA5MywgNDQsIDI1NCwgMTE4LCAyLCAyNDcsIDEyOCwgMjU0LCAxMTgsIDIsIDIyMiwgCi0gICAgOTQsIDIzNSwgMjIyLCAyNTUsIDEyLCAyNTQsIDExNywgMjE5LCAxLCAyNTQsIDExOCwgMjI2LCAxNzQsIDIzMywgNTIsIAotICAgIDIxOSwgMSwgMjU0LCAxMTgsIDIyNiwgMTc0LCAyMTQsIDE2MywgMjE1LCA5NCwgMjU0LCAxMTcsIDIyMywgNTIsIDI1NCwgCi0gICAgMTE3LCAyNTQsIDExOCwgMiwgMjE0LCAxODMsIDIyMywgNTIsIDI1NCwgMTE4LCAyLCAyMTQsIDE4MywgMjI2LCAyNTIsIAotICAgIDI1NCwgMTE4LCAyMjYsIDE3NCwgMjE0LCAxNjMsIDIyNiwgMjUyLCAyNTQsIDExOCwgMjI2LCAxNzQsIDI0NiwgMTE0LCAKLSAgICAyMzEsIDkzLCAyNTQsIDExOCwgMiwgMjA0LCAyNTQsIDEzLCAyNDUsIDE0OCwgMjM2LCA3LCA4MCwgMjI1LCAxMCwgMTIwLCAKLSAgICAyMiwgMjIyLCAyNTQsIDIzMSwgOTMsIDI1NCwgMTE4LCAyLCAyMDQsIDI1NCwgMTMsIDI0NSwgMTQ4LCAyMzYsIDcsIDgwLCAKLSAgICAyMjUsIDEwLCAxMjAsIDIyLCAyMzMsIDUyLCAyMzEsIDkzLCAyNTQsIDExOCwgMiwgMjA0LCAyNTQsIDEzLCAyNDUsIDE0OCwgCi0gICAgMjM2LCA3LCA4MCwgMjI1LCAxMCwgMTI0LCAyMiwgMjIyLCAyNTQsIDIzMSwgOTMsIDI1NCwgMTE4LCAyLCAyMDQsIDI1NCwgCi0gICAgMTMsIDI0NSwgMTQ4LCAyMzYsIDcsIDgwLCAyMjUsIDEwLCAxMjQsIDIyLCAyMzMsIDUyLCAyMzEsIDkzLCAyNTQsIDExOCwgCi0gICAgMiwgMjA0LCAyNTQsIDEzLCAyNDUsIDE0OCwgMjM2LCA3LCA4MCwgMjI1LCAxMCwgNDQsIDIyLCAyMTQsIDE2MywgMjMxLCAKLSAgICA5MywgMjU0LCAxMTgsIDIsIDIwNCwgMjU0LCAxMywgMjQ1LCAxNDgsIDIzNiwgNywgODAsIDIyNSwgMTAsIDQzLCAyMiwgCi0gICAgMjE0LCAxNjMsIDIzMSwgOTMsIDI1NCwgMTE4LCAyLCAyMDQsIDI1NCwgMTMsIDI0NSwgMTQ4LCAyMzYsIDcsIDgwLCAyMjUsIAotICAgIDEwLCA0NCwgMjIsIDI0NiwgMTE0LCAyMzEsIDkzLCAyNTQsIDExOCwgMiwgMjA0LCAyNTQsIDEzLCAyNDUsIDE0OCwgMjM2LCAKLSAgICA3LCA4MCwgMjI1LCAxMCwgNDMsIDIyLCAyNDYsIDExNCwgMjIzLCA1MiwgMjQ1LCAxNjAsIDIyMCwgMTI5LCAyNDUsIDE2MCwgCi0gICAgMjIwLCAxMzAsIDIsIDIyNiwgMTI3LCAyNDUsIDE2MCwgMjIwLCAxMzAsIDIsIDQsIDI1MCwgNDQsIDQ4LCAyNDUsIDE2MCwgCi0gICAgMjIwLCAxMzAsIDIsIDQ0LCA4MCwgNDgsIDI0NSwgMTYwLCAyMjAsIDEzMCwgMiwgNDMsIDgwLCA0OCwgMjUwLCA0NCwgMiwgCi0gICAgMjAzLCAxMzAsIDM3LCA2NywgMTMwLCAzNywgMjI2LCAxMSwgMzcsIDIyMywgNTMsIDIxOSwgNDgsIDM3LCAyMjUsIDE3NCwgCi0gICAgMjUwLCA0NCwgMjQ3LCAxODEsIDI1MSwgODYsIDIwMywgMjUyLCAxNDksIDIyLCAyMTYsIDE1LCAxNjMsIDI0NywgMTgxLCAKLSAgICAyNTEsIDg2LCA2NywgMTMwLCAyNTAsIDQ0LCAyLCAyMTgsIDI1LCAyMTEsIDE3OCwgMzcsIDI1NCwgOTUsIDI0NywgMTc3LCAKLSAgICA1MCwgMTIwLCA4MCwgMjE2LCAxNDAsIDI1MCwgNDMsIDM3LCA3MSwgMjUxLCAxMjEsIDM3LCAyNTEsIDEyMSwgMzcsIDIzMywgCi0gICAgMjAsIDM3LCAyNDIsIDEzNiwgMjUwLCA0NCwgMiwgNCwgMjUwLCA0NCwgMjE2LCA0MywgMjE2LCAxOTcsIDIyMiwgMjU0LCAKLSAgICAyNTAsIDQ0LCAyLCAxMTMsIDIwMywgMjE4LCA5MywgMjE2LCA0MywgMjE2LCAxOTcsIDIyMiwgMjU0LCA5MiwgMjIyLCAyMzEsIAotICAgIDI0OCwgNywgMjE5LCA5NywgOTIsIDI0NCwgMTgzLCAyNDgsIDcsIDIxOSwgOTcsIDkyLCAyNTMsIDIyNCwgOTIsIDQsIDI1MCwgCi0gICAgNDMsIDkyLCAyMTgsIDIzNiwgMTEzLCAyMzUsIDcxLCAyMTgsIDIzNCwgMjE1LCAyMjcsIDIsIDU5LCA0OCwgMjE1LCAyMjcsIAotICAgIDIsIDIxNCwgMTgzLCAyMjIsIDk0LCAyMzYsIDcsIDIxNSwgMjI2LCAyMTUsIDIyNywgMiwgMjIwLCAxMzYsIDI1MywgMjE1LCAKLSAgICAyNTEsIDE4MiwgNDQsIDIxNSwgMjI3LCA3MiwgNDMsIDIxNSwgMjI2LCA0MywgMjE1LCAyMjcsIDI1MiwgMzgsIDY3LCAxMzAsIAotICAgIDY3LCAyNTIsIDE0OSwgMjUyLCAzOCwgNDQsIDIxNSwgMjI2LCAyNTEsIDE3MywgMiwgNDMsIDE2MywgMjUxLCAyMjksIDI1MSwgCi0gICAgMTczLCAyLCA0NCwgMTYzLCAyNTEsIDIyOSwgODUsIDI1MSwgMTcyLCAzMCwgMiwgNDMsIDE2MywgMjUxLCAyMjksIDMwLCAyLCAKLSAgICA0NCwgMTYzLCAyNTEsIDIyOSwgNzEsIDI0MCwgMjQzLCA4NSwgMjQwLCAyNDMsIDQzLCAyMTEsIDI0NCwgMjQ0LCAxNDMsIAotICAgIDQ0LCAyMTEsIDI0NCwgMjQ0LCAxNDMsIDQzLCA1MiwgMjExLCAyNDQsIDI0NCwgMTQzLCA0NCwgNTIsIDIxMSwgMjQ0LCAKLSAgICAyNDQsIDE0MywgMjM1LCAyNTUsIDIzNSwgMjQxLCAyMTYsIDExMywgMTE1LCAyMzUsIDI0MSwgMjM1LCAyNDIsIDIyOSwgCi0gICAgMTA3LCAyLCA2NywgMTMwLCAyNDYsIDEyMCwgMjMwLCA5MiwgNDIsIDIsIDI0OSwgMTg5LCAyMjYsIDEzMSwgMjM1LCAyNTMsIAotICAgIDI1MywgMjQ1LCAyMTksIDIyMSwgMjI0LCAxODMsIDI0NSwgMTA2LCA1LCAyMiwgMjE5LCA5OSwgMjI2LCAxMSwgMjQ1LCAKLSAgICAxMDYsIDUsIDIyLCAyMTksIDk5LCAyMjYsIDEyLCAyLCAyMTYsIDkwLCA0OCwgMjQwLCAxMTEsIDIxNiwgNDMsIDIyLCAyMTksIAotICAgIDk5LCAyMjYsIDExLCAyNDIsIDE5MCwgMjE4LCAxNTcsIDIxNiwgMTg2LCAyNDYsIDExMywgMjE1LCAyMjcsIDIsIDQzLCAKLSAgICAxNjMsIDI1MSwgMjI5LCAyNDYsIDExMywgMjE1LCAyMjcsIDIsIDQ0LCAxNjMsIDI1MSwgMjI5LCA4NSwgMjQ4LCAxLCAyLCAKLSAgICAxMjQsIDc1LCA4NSwgMjMyLCAxMTAsIDcxLCAyNTAsIDQ0LCAyLCAxMjQsIDc1LCA4NSwgMjUwLCA0NCwgMiwgMTI0LCA3NSwgCi0gICAgMjQ1LCA5MywgNzEsIDIxOCwgMjM2LCAyNDUsIDkzLCA4NSwgMjE4LCAyMzYsIDI0NSwgOTMsIDcxLCAyNDgsIDAsIDI0NSwgCi0gICAgOTMsIDg1LCAyNDgsIDAsIDI0NSwgOTMsIDcxLCAyNTAsIDQzLCAyNDUsIDkzLCA4NSwgMjUwLCA0MywgMjIyLCAxMzQsIAotICAgIDIyMywgNTMsIDIxOSwgNDksIDIyNiwgMTcxLCAyMTksIDQ5LCAyLCAyMjYsIDEyNywgMjIzLCA1MywgMjE5LCA0OSwgMiwgCi0gICAgMjAzLCA5MSwgMjUyLCAxLCAyMTksIDQ4LCAyNTIsIDEsIDIyMywgNTMsIDIxOSwgNDgsIDUyLCAyMjUsIDI1LCAyMTUsIAotICAgIDIxMiwgMjI1LCAyNSwgMjMzLCA0OCwgMjQ5LCA5OSwgMjU0LCAxMTgsIDEyNywgMjIyLCAyNTAsIDI0OSwgOTksIDI1NCwgCi0gICAgMTE4LCAxMjcsIDIxNiwgNzksIDIzMCwgMTg0LCAyMzAsIDI5LCAzNywgNTksIDIyNiwgMTcxLCAyMzAsIDI5LCAzNywgOTYsIAotICAgIDIyNiwgMTcxLCAyMzAsIDI5LCAzNywgMzAsIDIyNiwgMTcxLCAyMzAsIDI5LCAyMTQsIDE3NiwgMjI2LCAxNzIsIDIsIDI0NywgCi0gICAgMTI4LCAyMzAsIDI5LCAyMTQsIDE3NiwgMjI2LCAxNzIsIDIsIDIyNSwgMjUsIDIzMCwgMjksIDQyLCAyMzUsIDIwNiwgMjI2LCAKLSAgICAxNzEsIDIzMCwgMjksIDQyLCAyMTQsIDE3NiwgMjI2LCAxNzEsIDExMywgMjMyLCAxNTIsIDIyLCAyMjYsIDE3MSwgMTEzLCAKLSAgICAyMzIsIDE1MiwgMTc3LCAyMjYsIDE3MSwgMjMwLCAyOSwgMzAsIDIyNiwgMTcxLCAyMzAsIDE1OSwgMTEzLCAyMTgsIDQ0LCAKLSAgICAyMTgsIDQyLCAyLCAyMzUsIDIxOCwgMjI0LCAyNywgMjM1LCAyMTksIDIyNiwgMTcxLCAyNDQsIDEwNywgMjI2LCAzLCAyMzUsIAotICAgIDIxOCwgMjM1LCAyMTksIDIsIDUyLCA5MSwgMjM1LCAyMTksIDI1MywgMTgxLCAyLCAyMTksIDk3LCAyNTAsIDQwLCAyNDMsIAotICAgIDIzMywgMjU0LCA5NiwgMjM1LCAyMTYsIDIzMiwgMjIwLCAyMzUsIDIxNywgMiwgMjIzLCAxMTgsIDIyNSwgMjQxLCAyNTQsIAotICAgIDEwLCAyMjUsIDQsIDIzMiwgMjIwLCAyMzUsIDIxNywgMiwgMjIwLCAxNTQsIDIyNSwgMjQxLCAyNTQsIDEwLCAyMjUsIDQsIAotICAgIDIzMiwgMjIwLCAyMzUsIDIxNywgMjI4LCA1NywgMjM2LCAxLCAyMTYsIDE5NywgMjI1LCA0LCAyMzUsIDIxOSwgMjU0LCAxMCwgCi0gICAgMTE2LCAyMjUsIDE0LCAyMjYsIDE3MSwgMjI0LCAyMSwgMjM1LCAyMTksIDIyNiwgMTcxLCAyMzUsIDIxOSwgMiwgMTQwLCAKLSAgICA4MCwgMiwgMTAzLCAyMzUsIDIxOSwgMiwgMzAsIDUwLCAyMzUsIDIxOSwgMiwgMjM1LCAyMDUsIDIzNSwgMjE5LCAyLCAyMTQsIAotICAgIDE3NSwgMjM1LCAyMTksIDIsIDIyNiwgMTI3LCAyMzUsIDIxOSwgMiwgMjE0LCAxODMsIDIzNSwgNzIsIDIzMywgOTEsIDQzLCAKLSAgICAyMTUsIDIyNywgMjI2LCAxNzEsIDIxMCwgMTYwLCAxODksIDIyMSwgMjAzLCAyNDksIDIxNywgMjEwLCAxNjAsIDE4OSwgCi0gICAgMjIxLCAyMDMsIDIyNSwgNTksIDIxMCwgMTYwLCAxODksIDIyMSwgMjAzLCAyMjQsIDE3OSwgOTYsIDUsIDIsIDQsIDI1MCwgCi0gICAgNDQsIDQ4LCA5NiwgNSwgMiwgMjUwLCAzOSwgMjU1LCAyNCwgNDgsIDk2LCA1LCAyLCAyMTYsIDkwLCA0OCwgOTYsIDUsIDIsIAotICAgIDU5LCA1MSwgOTYsIDUsIDIsIDIxNiwgOTAsIDUxLCA5NiwgNSwgMiwgMjE4LCA2NiwgMTA1LCA5NiwgNSwgMiwgODUsIDIxNSwgCi0gICAgMjI2LCAyMzAsIDE4NywgNSwgMiwgMjQ5LCAyMjgsIDQ4LCAyMzAsIDE4NywgNSwgMiwgNTksIDUxLCAyMzAsIDE4NywgNSwgCi0gICAgMiwgMjQ0LCAxODMsIDI0NywgMTI2LCAyMzAsIDE4NywgNSwgMiwgMjIyLCAyMzEsIDI0NywgMTI2LCA5NiwgNSwgMjM2LCA3LCAKLSAgICA0MywgMTYzLCAyNTAsIDQzLCA5NiwgNSwgMjM2LCA3LCA0NCwgMTYzLCAyNTAsIDQzLCAyMTMsIDI1NCwgMTc3LCAyNDksIAotICAgIDEzOSwgMjI0LCAxODMsIDIzMCwgODksIDUsIDIsIDU5LCA0OCwgMjMwLCA4OSwgNSwgMiwgMjE0LCAxODMsIDIyMCwgMTUxLCAKLSAgICAyMjQsIDE4NCwgMiwgMjUxLCAxODMsIDI1MCwgNywgMjE5LCA3OSwgMjI0LCAxODMsIDIzMCwgODksIDUsIDIzNiwgNywgNDMsIAotICAgIDE2MywgMjUwLCA0MywgMjMwLCA4OSwgNSwgMjM2LCA3LCA0NCwgMTYzLCAyNTAsIDQzLCAzNywgMjMwLCA4OSwgNSwgMiwgCi0gICAgMjUwLCAzOSwgMjU1LCAyMywgMjMwLCA4OSwgNSwgMjM2LCA3LCA1MiwgMjUwLCA0MywgMzcsIDI0NywgMTc3LCA1MCwgOTYsIAotICAgIDUsIDIzNiwgNywgMjE1LCAyMjYsIDIzMCwgMTg3LCA1LCAyMzYsIDcsIDIxNSwgMjI2LCAyMzAsIDg5LCA1LCAyMzYsIDcsIAotICAgIDIxNSwgMjI2LCAyMzUsIDIxMywgMjI0LCAxODMsIDIyMiwgMjQ1LCAyMzUsIDIxMywgMjI0LCAxODMsIDIxMCwgMTYwLCAKLSAgICAxODksIDIyMywgOTMsIDI0OSwgMjE3LCAyNTQsIDE0MiwgMTc3LCAyNDksIDE3MywgMjM1LCAyMDYsIDIsIDI0NywgMTI4LCAKLSAgICAyMTQsIDE3NiwgMiwgMjMwLCAxODcsIDUwLCAyMTQsIDE3NiwgMiwgMjI2LCAxMjcsIDIzNSwgMjA2LCAyLCAyMjYsIDEyNywgCi0gICAgMjM1LCAyMDYsIDIsIDIzMiwgMTUyLCAyNTQsIDEyNiwgMjE0LCAxNzYsIDIsIDIzMiwgMTUyLCAyMjYsIDE2MiwgMjE0LCAKLSAgICAxNzYsIDcyLCAyMzUsIDIwNSwgMjM1LCAyMDYsIDcyLCAyMTQsIDE3NSwgMjE0LCAxNzYsIDcyLCAyNTIsIDE0OSwgNzIsIAotICAgIDIzNSwgMjA1LCAyMzUsIDIwNiwgNzIsIDI1MiwgMTQ5LCA3MiwgMjE0LCAxNzUsIDIxNCwgMTc2LCAyNTIsIDM4LCAyMiwgCi0gICAgMjM1LCA3MSwgMiwgMjE0LCAxNzUsIDIzNSwgMjA2LCAyNTIsIDM4LCAyMiwgMjM1LCA3MSwgMiwgMjM1LCAyMDUsIDI1MCwgCi0gICAgOCwgMjE0LCAxNzYsIDIsIDIyMCwgMTM1LCAyNTAsIDgsIDIzNSwgMjA2LCAyLCAyMjAsIDEzNSwgNTIsIDQyLCAyMzUsIAotICAgIDIwNSwgNTIsIDQyLCAyMTQsIDE3NSwgMjUwLCA4LCAyMTQsIDE3NiwgMiwgMjIwLCAxMzYsIDIyLCAyMTksIDc5LCAyMjQsIAotICAgIDE4MywgMjMyLCAxNTIsIDIyLCAyLCA1OSwgNDgsIDIzMiwgMTUyLCAxNzcsIDIsIDU5LCA0OCwgNTIsIDIzMiwgMTUyLCAKLSAgICAyNTQsIDEyNiwgNTIsIDIzMiwgMTUyLCAyMjYsIDE2MiwgMTEzLCAyMzUsIDIwNywgMjMyLCAxNTIsIDI1NCwgMTI2LCAxMTMsIAotICAgIDIzNSwgMjA3LCAyMzIsIDE1MiwgMjI2LCAxNjIsIDIxOSwgODcsIDIzMywgOTEsIDIyNiwgMTYyLCAyMTksIDg3LCAyMzMsIAotICAgIDkxLCAyNTQsIDEyNiwgMjMyLCAxNTIsIDE3NywgMjI2LCAxMjUsIDIzMiwgMTUyLCAyNTQsIDEyNiwgMjMyLCAxNTIsIDIyLCAKLSAgICAyLCAyMzAsIDIyOSwgMjE4LCAxNDEsIDIzMiwgMTUyLCAxNzcsIDIsIDIzMCwgMjI5LCAyMTgsIDE0MSwgMjMyLCAxNTIsIAotICAgIDIyLCAyLCAyMDMsIDI0OCwgMTY0LCAyMzIsIDE1MiwgMTc3LCAyLCAyMDMsIDI0OCwgMTY0LCAyMzIsIDE1MiwgMjIsIDIsIAotICAgIDUyLCAyMjYsIDEyNywgMjMyLCAxNTIsIDIyLCAyLCAyMTQsIDE4MywgMjMyLCAxNTIsIDIyLCAyLCA1MiwgMjE0LCAxODMsIAotICAgIDQsIDIxMywgMjUxLCAyLCAyMTQsIDE4MywgMjMyLCAxNTIsIDE3NywgMiwgNTIsIDIyNiwgMTI3LCAyMzIsIDE1MiwgMTc3LCAKLSAgICAyLCA1MiwgMjE0LCAxODMsIDIxMCwgMTYwLCAxODksIDI0NywgMTM3LCAyNTQsIDg3LCAyMTAsIDE2MCwgMTg5LCAyMjMsIAotICAgIDE1MSwgMjU0LCA4NywgMjQ1LCAxMDYsIDUsIDIsIDU5LCA1MSwgMjQwLCAxMTEsIDIsIDU5LCA0OCwgMjE1LCAyMTIsIDIwMywgCi0gICAgMjUyLCAxNDksIDIsIDUyLCA2NywgOTEsIDIxNSwgMjEyLCAyMDMsIDI1MiwgMTQ5LCAyLCAyMTUsIDIxMiwgNjcsIDkxLCAKLSAgICAyMTYsIDkwLCAyMjYsIDE3MiwgMiwgNTksIDQ4LCAyMTYsIDkwLCAyMjYsIDE3MiwgMiwgMjIyLCAyMzEsIDI0NywgMTI2LCAKLSAgICAyMTksIDE2NCwgMjMwLCAxODcsIDIxOSwgMTYzLCAyNDksIDIwNywgMiwgNTksIDQ4LCAyNDUsIDEwNiwgMiwgMjUzLCAyMjQsIAotICAgIDI1NCwgMTU2LCAxMjgsIDIxNiwgNDMsIDIsIDI1MCwgMzksIDI1NSwgMjMsIDI1NCwgNTYsIDEyOCwgMTc3LCAxMjgsIDExMiwgCi0gICAgMjQ1LCAxMDYsIDUsIDcyLCA5NiwgNTAsIDk2LCA1LCA3MiwgMjQ1LCAxMDYsIDUwLCAyNDUsIDEwNiwgNSwgNzIsIDIxNiwgCi0gICAgOTAsIDIyNiwgMTcxLCA1MiwgMjQ5LCAyMzUsIDI0NSwgMTA3LCAxMTMsIDI0OSwgMjAyLCAyNDUsIDEwNiwgMjE5LCAxNzgsIAotICAgIDEzNCwgMjQ5LCAyMDIsIDI0NSwgMTA2LCAyMTksIDE3OCwgMjQ1LCAxMDYsIDUsIDIsIDExMywgMTcwLCA3MiwgMjIsIDExMywgCi0gICAgMTcwLCA1MSwgMjQ1LCAxMDIsIDIsIDI0NCwgMTksIDE3MCwgNDgsIDIzMywgMjEsIDIsIDI1MCwgNDQsIDIzNSwgMjIyLCAKLSAgICAyNDIsIDEzNywgMiwgMjUwLCA0NCwgMjM1LCAyMjIsIDIzMywgMjEsIDIsIDIyNCwgMTYsIDE2NCwgNDgsIDI0MiwgMTM3LCAKLSAgICAyLCAyMjQsIDE2LCAxNjQsIDQ4LCAyMzMsIDIxLCAxNzcsIDIxOSwgOTksIDEyOCwgMTEyLCAyNDIsIDEzNywgMTc3LCAyMTksIAotICAgIDk5LCAxMjgsIDExMiwgMjMzLCAyMSwgMTc3LCAyMTksIDk5LCAxMjgsIDIxNiwgNDMsIDIsIDU5LCAyMzUsIDIyMiwgMjQyLCAKLSAgICAxMzcsIDE3NywgMjE5LCA5OSwgMTI4LCAyMTYsIDQzLCAyLCA1OSwgMjM1LCAyMjIsIDIzMywgMjEsIDE3NywgMjE5LCA5OSwgCi0gICAgMTI4LCAyMTYsIDQzLCAyLCA1OSwgNDgsIDI0MiwgMTM3LCAxNzcsIDIxOSwgOTksIDEyOCwgMjE2LCA0MywgMiwgNTksIDQ4LCAKLSAgICAyMzMsIDIxLCAxNzcsIDIxOSwgOTksIDEyOCwgMjE2LCA0MywgMiwgNTksIDcyLCAyMjIsIDI1NCwgMjQyLCAxMzcsIDE3NywgCi0gICAgMjE5LCA5OSwgMTI4LCAyMTYsIDQzLCAyLCA1OSwgNzIsIDIzMywgNTIsIDIzMywgMjEsIDE3NywgMjU0LCA1NywgMjQyLCAKLSAgICAxMzcsIDE3NywgMjU0LCA1NywgMjMzLCAyMSwgMjIsIDIxOSwgMTU1LCAyMjgsIDU3LCAxMjgsIDExMiwgMjQyLCAxMzcsIAotICAgIDIyLCAyMTksIDE1NSwgMjI4LCA1NywgMTI4LCAxMTIsIDIzMywgMjEsIDIyLCAyMjgsIDU3LCAyNTQsIDU3LCAyNDIsIDEzNywgCi0gICAgMjIsIDIyOCwgNTcsIDI1NCwgNTcsIDIzMywgMjEsIDcyLCAyNDYsIDExOSwgMTI4LCA3MiwgMjQyLCAxMzYsIDI0MiwgMTM3LCAKLSAgICA3MiwgMjQ2LCAxMTksIDEyOCwgNzIsIDIzMywgMjAsIDIzMywgMjEsIDcyLCAyMTksIDE2NCwgMTc3LCAyNDUsIDEwNywgCi0gICAgMjQyLCAxMzcsIDcyLCAyMTksIDE2NCwgMTc3LCAyNDUsIDEwNywgMjMzLCAyMSwgNzIsIDIxOSwgMTY0LCA3MiwgMjQyLCAKLSAgICAxMzYsIDI0MiwgMTM3LCA3MiwgMjE5LCAxNjQsIDcyLCAyMzMsIDIwLCAyMzMsIDIxLCA3MiwgMjQyLCAxMzcsIDcyLCAyNDYsIAotICAgIDExOSwgMjQ1LCAxMDcsIDI0MiwgMTM3LCA3MiwgMjMzLCAyMSwgNzIsIDI0NiwgMTE5LCAyNDUsIDEwNywgMjMzLCAyMSwgCi0gICAgNzIsIDIxOSwgOTksIDEyOCwgNzIsIDI0MiwgMTM3LCA3MiwgMjE5LCA5OSwgMjQ1LCAxMDcsIDI0MiwgMTM3LCA3MiwgMjE5LCAKLSAgICA5OSwgMTI4LCA3MiwgMjMzLCAyMSwgNzIsIDIxOSwgOTksIDI0NSwgMTA3LCAyMTksIDk5LCAxMjgsIDIxNiwgNDMsIDE3NywgCi0gICAgMjMzLCAyMCwgMjE5LCA5OSwgMTI4LCAyMTYsIDQzLCAxNzcsIDI0MiwgMTM2LCAyMTksIDk5LCAxMjgsIDIxNiwgNDMsIAotICAgIDE3NywgMjMzLCAyMSwgMiwgNTksIDIzNSwgMjIyLCAyMTksIDk5LCAxMjgsIDIxNiwgNDMsIDE3NywgMjQyLCAxMzcsIDIsIAotICAgIDU5LCAyMzUsIDIyMiwgMjQ2LCAxMTksIDEyOCwgMjE2LCA0MywgMTc3LCAyMzMsIDIwLCAyNDYsIDExOSwgMTI4LCAyMTYsIAotICAgIDQzLCAxNzcsIDI0MiwgMTM2LCAyNDYsIDExOSwgMjE5LCA5OSwgMTI4LCAyMTYsIDQzLCAxNzcsIDIzMywgMjAsIDI0NiwgCi0gICAgMTE5LCAyMTksIDk5LCAxMjgsIDIxNiwgNDMsIDE3NywgMjQyLCAxMzYsIDIxOSwgMTY0LCAxNzcsIDIzMywgMjAsIDIxOSwgCi0gICAgMTY0LCAxNzcsIDI0MiwgMTM2LCAyMTksIDE2NCwgNzIsIDIzMywgMjEsIDcyLCAyNDUsIDEwNiwgNTAsIDIxOSwgMTY0LCAKLSAgICA3MiwgMjQyLCAxMzcsIDcyLCAyNDUsIDEwNiwgNTAsIDUyLCAyMjksIDk2LCAyMzMsIDIwLCA1MiwgMjI5LCA5NiwgMjQyLCAKLSAgICAxMzYsIDUyLCAyMjksIDk2LCAyMzMsIDIxLCAyLCAyMTQsIDE4MywgMjQyLCAxMzcsIDIyNiwgMTI1LCAyMzMsIDIwLCAyNDIsIAotICAgIDEzNywgMjUyLCAzOCwgMjMzLCAyMCwgMjMzLCAyMSwgMjUwLCA4LCAyNTEsIDg2LCAyNDksIDEwMCwgMjQyLCAxMzcsIDI1MCwgCi0gICAgOCwgMjUxLCA4NiwgMjQ5LCAxMDAsIDIzMywgMjEsIDI1MCwgOCwgMjUxLCA4NiwgMjQ5LCAxMDEsIDcyLCAyMTksIDk5LCAKLSAgICAyNDUsIDEwNywgMjQyLCAxMzcsIDI1MCwgOCwgMjUxLCA4NiwgMjQ5LCAxMDEsIDcyLCAyMTksIDk5LCAyNDUsIDEwNywgCi0gICAgMjE5LCA4MCwgMjE2LCAyMDEsIDIzMywgODksIDIxNiwgMjAxLCAyMTksIDgwLCAyMTYsIDIwMiwgMTc3LCAxMjgsIDExMiwgCi0gICAgMjMzLCA4OSwgMjE2LCAyMDIsIDE3NywgMTI4LCAxMTIsIDI0NSwgMTA2LCA1LCAyLCAyNTEsIDExNiwgNDgsIDIyNCwgMjA2LCAKLSAgICA3MiwgMjE5LCAxNTUsIDI0NSwgMTA2LCA1MCwgMjE4LCA1NywgNzIsIDIxOSwgMTU1LCAyNDUsIDEwNiwgNTAsIDIyNCwgCi0gICAgMjA2LCA3MiwgMjE5LCAxNTUsIDIyOCwgNTcsIDEyOCwgMTEyLCAyMTgsIDU3LCA3MiwgMjE5LCAxNTUsIDIyOCwgNTcsIAotICAgIDEyOCwgMTEyLCAyMjQsIDIwNiwgNzIsIDI0NSwgMTA2LCA1MCwgMjE4LCA1NywgNzIsIDI0NSwgMTA2LCA1MCwgMjI0LCAKLSAgICAyMDYsIDcyLCAyMjgsIDU3LCAxMjgsIDExMiwgMjE4LCA1NywgNzIsIDIyOCwgNTcsIDEyOCwgMTEyLCAyMjQsIDIwNiwgNzIsIAotICAgIDI1NCwgMTU2LCAxMjgsIDExMiwgMjE4LCA1NywgNzIsIDI1NCwgMTU2LCAxMjgsIDExMiwgMjI0LCAyMDYsIDcyLCAyMjgsIAotICAgIDU3LCAyNTQsIDE1NiwgMTI4LCAxMTIsIDIxOCwgNTcsIDcyLCAyMjgsIDU3LCAyNTQsIDE1NiwgMTI4LCAxMTIsIDUyLCAKLSAgICAyMjQsIDIwNSwgNTIsIDIxOCwgNTYsIDIxOCwgNjUsIDIsIDI0NywgMTI4LCAyMTgsIDIzLCAyLCAyNDcsIDEyOCwgMjE4LCAKLSAgICA2NSwgMiwgOTYsIDUsIDUxLCAyMTgsIDIzLCAyLCA5NiwgNSwgNTEsIDIxOCwgNjUsIDIsIDIzMCwgODksIDUsIDUxLCAyMTgsIAotICAgIDIzLCAyLCAyMzAsIDg5LCA1LCA1MSwgMjE4LCA2NSwgNjQsIDE3NywgMTI4LCAyMTYsIDQzLCAyLCA1OSwgNDgsIDIxOCwgCi0gICAgMjMsIDY0LCAxNzcsIDEyOCwgMjE2LCA0MywgMiwgNTksIDQ4LCAyMTgsIDY1LCA2NCwgNzIsIDI0NSwgMTA2LCA1MCwgMjE4LCAKLSAgICAyMywgNjQsIDcyLCAyNDUsIDEwNiwgNTAsIDIxOCwgNjUsIDY0LCA3MiwgMjE2LCA5MCwgMjI2LCAxNzEsIDIxOCwgMjMsIAotICAgIDY0LCA3MiwgMjE2LCA5MCwgMjI2LCAxNzEsIDIxOCwgNjUsIDY0LCA3MiwgMjU0LCAxNTYsIDEyOCwgMTEyLCAyMTgsIDIzLCAKLSAgICA2NCwgNzIsIDI1NCwgMTU2LCAxMjgsIDExMiwgMjE4LCA2NSwgNjQsIDcyLCAyMjgsIDU3LCAxMjgsIDExMiwgMjE4LCAyMywgCi0gICAgNjQsIDcyLCAyMjgsIDU3LCAxMjgsIDExMiwgNDIsIDQzLCAyMDQsIDkzLCAyMjYsIDE3MSwgNDIsIDQ0LCAyMDQsIDkzLCAKLSAgICAyMjYsIDE3MSwgMjUwLCA4LCAyMTgsIDY0LCAyNTAsIDgsIDIxOCwgMjIsIDI1MCwgOCwgMjE4LCA2NSwgMTc3LCAxMjgsIAotICAgIDExMiwgMjUwLCA4LCAyMTgsIDIzLCAxNzcsIDEyOCwgMTEyLCAyMTgsIDY1LCA3MiwgMjE4LCAyMiwgMjE4LCAyMywgNzIsIAotICAgIDIxOCwgNjQsIDIxOCwgNjUsIDcyLCAyMTgsIDY0LCAyMTgsIDIzLCA3MiwgMjE4LCAyMiwgMjE4LCAyMywgMjUyLCAzOCwgCi0gICAgMjE4LCA2NCwgMjE4LCAyMywgMjUyLCAzOCwgMjIsIDIzNSwgNzEsIDI1MSwgODYsIDI0OCwgMTY1LCAyLCAyMTgsIDY0LCAKLSAgICAyNDUsIDE3OCwgNjQsIDIyNiwgMTc0LCAyNDYsIDExMSwgMjI1LCA1MSwgMiwgMjE3LCAxMywgMjE2LCAxNCwgMjE1LCAyNDEsIAotICAgIDIzNSwgMjA1LCAyNDQsIDI5LCAyMjgsIDcwLCAyMTksIDI1MywgNDMsIDIxNywgODgsIDIxOSwgMjUzLCAxMjQsIDIxNywgCi0gICAgODgsIDIxOSwgMjUzLCAxMjAsIDIxNywgODgsIDIyNSwgMTc1LCAyLCAyMjIsIDkzLCA2NywgMjUyLCAxNDksIDIxNSwgMjEyLCAKLSAgICA0NCwgMjE1LCA5MywgNTIsIDY3LCAyNTIsIDE0OSwgNDMsIDIxNSwgOTMsIDY3LCAyNTIsIDE0OSwgNTIsIDQzLCAyMTUsIAotICAgIDkzLCA1MiwgNjcsIDI1MiwgMTQ5LCA1MiwgNDMsIDIxNSwgOTMsIDIwMCwgMjQ4LCAxNjUsIDI0MywgMjUxLCA0MywgMjMxLCAKLSAgICA2OCwgNjQsIDUyLCAyMTMsIDIzOSwgMjE5LCAyNTMsIDEyNCwgMjE3LCA4OSwgMiwgMjI2LCAxMjcsIDIxOSwgMjUzLCAxMjAsIAotICAgIDIxNywgODksIDIsIDIxNCwgMTgzLCAyMTksIDI1MywgMTIwLCAyMTcsIDg5LCA3MiwgMjE5LCAyNTMsIDEyNCwgMjE3LCA4OCwgCi0gICAgNTIsIDEyNCwgMjE3LCA4OCwgNTIsIDEyMCwgMjE3LCA4OCwgNTIsIDIxOCwgMTA1LCAyMjgsIDU3LCA1MCwgMjIzLCA1MiwgCi0gICAgNTIsIDIxOCwgMTA1LCAyMjgsIDU3LCA1MCwgMjQ3LCAxNDYsIDIyOCwgNTcsIDI0NywgMTgzLCAyLCAyMjMsIDUyLCAyMjksIAotICAgIDEwNiwgMjE5LCA5NywgNjcsIDIzMiwgMjIwLCAyLCAyNTAsIDQ0LCA0OCwgNjcsIDIzMiwgMjIwLCAyLCAyNTAsIDQ0LCA1MSwgCi0gICAgMTI0LCAyMTcsIDg5LCAyLCAyNTAsIDQ0LCA1MSwgMjI2LCAxMiwgMiwgMjAzLCA5MSwgMjI2LCAxMiwgMiwgMjE2LCA5MCwgCi0gICAgMjI2LCAxNzEsIDIxNSwgMjEyLCA2NywgMjUyLCAxNDksIDI1MSwgMjUyLCAyMjMsIDk0LCAyMTUsIDIxMiwgNjcsIDI1MiwgCi0gICAgMTQ5LCAyLCAyMDMsIDkxLCAyMTUsIDIxMiwgMjQ5LCAyMzUsIDIyNiwgMTcxLCAyMTUsIDIxMiwgMjI5LCA5NiwgMjMzLCAKLSAgICAyMCwgMjE1LCAyMTIsIDIyOSwgOTYsIDI0MiwgMTM2LCAyNDYsIDExOSwgMjE5LCA5OSwgMjMzLCAyMSwgMTc3LCAxMjgsIAotICAgIDExMiwgMjQ2LCAxMTksIDIxOSwgOTksIDI0MiwgMTM3LCAxNzcsIDEyOCwgMTEyLCAyMTUsIDIxMiwgMjE5LCA0OSwgMjUxLCAKLSAgICAyNTIsIDIyMywgOTQsIDIzMywgOTEsIDIxNSwgMjEyLCA2NywgMjUyLCAxNDksIDIyNiwgMTcxLCA1MiwgMjE5LCA0OSwgCi0gICAgMjI2LCAxNzEsIDcxLCA2NywgMTMwLCAyMzAsIDI5LCA3MSwgNjcsIDEzMCwgMjI4LCA2MSwgMjQ1LCAyMjgsIDcxLCA3NSwgCi0gICAgMjI4LCA2MSwgMjEyLCA5LCA3MSwgNzUsIDIxOSwgMzAsIDI0NSwgMjI4LCA3MSwgNzUsIDIxOSwgMzAsIDIxMiwgOSwgNzEsIAotICAgIDc1LCA0MywgNDQsIDcxLCA3NSwgMTQwLCA4NSwgNzUsIDIxNCwgMTUzLCA4NSwgNzUsIDI0NiwgMTEyLCA4NSwgNzUsIDIyOCwgCi0gICAgNjEsIDI0NSwgMjI4LCA4NSwgNzUsIDIyOCwgNjEsIDIxMiwgOSwgODUsIDc1LCAyMTksIDMwLCAyNDUsIDIyOCwgODUsIDc1LCAKLSAgICAyMTksIDMwLCAyMTIsIDksIDg1LCA3NSwgNDMsIDQ0LCA4NSwgNzUsIDEyMCwgMTI0LCA4NSwgNzUsIDk3LCA4MCwgMiwgCi0gICAgMjE2LCA3OCwgMjQ2LCAxMTEsIDk3LCA4MCwgMiwgMjE2LCA3OCwgMjE0LCAxNTIsIDE0MCwgODAsIDIsIDIxNiwgNzgsIAotICAgIDI0NiwgMTExLCAxNDAsIDgwLCAyLCAyMTYsIDc4LCAyMTQsIDE1MiwgNDIsIDIsIDIxNiwgMTUsIDE2MywgMjUxLCAyMjksIAotICAgIDQyLCAyLCAyNTEsIDE4MywgMTYzLCAyNTEsIDIyOSwgNDIsIDIsIDIxNCwgMTYwLCA0NCwgMjQ4LCA3LCAxNjMsIDI1MSwgCi0gICAgMjI5LCA0MiwgMiwgMjMyLCAxMTQsIDQzLCAyNDgsIDcsIDE2MywgMjUxLCAyMjksIDI0OCwgMSwgMiwgNDMsIDE2MywgMjUxLCAKLSAgICAyMjksIDI0OCwgMSwgMiwgNDQsIDE2MywgMjUxLCAyMjksIDI0OCwgMSwgMiwgMjE2LCAxNSwgMTYzLCAyNTEsIDIyOSwgCi0gICAgMjQ4LCAxLCAyLCAyNTEsIDE4MywgMTYzLCAyNTEsIDIyOSwgMjQ2LCAxMjYsIDIxOCwgMjM2LCA4NSwgMjMzLCA5MSwgMjE4LCAKLSAgICAyMzYsIDcxLCAyMzMsIDkxLCAyMTgsIDIzNiwgODUsIDIxMywgMTg3LCA0LCAyMTgsIDIzNiwgNzEsIDIxMywgMTg3LCA0LCAKLSAgICAyMTgsIDIzNiwgODUsIDIyNSwgMTkzLCA3MSwgMjI1LCAxOTMsIDcxLCAyNDEsIDIwMCwgODUsIDI0MSwgMjAwLCAyMDMsIAotICAgIDg1LCAyNDEsIDIwMCwgODUsIDIzMywgOTEsIDI1MCwgNDMsIDg1LCAyMzEsIDg3LCAyNDgsIDAsIDcxLCAyMzEsIDg3LCAKLSAgICAyNDgsIDAsIDg1LCAyMzEsIDg3LCAyMzIsIDExMCwgNzEsIDIzMSwgODcsIDIzMiwgMTEwLCA4NSwgNCwgMjQ4LCAwLCA4NSwgCi0gICAgNCwgMjMyLCAxMTAsIDcxLCA0LCAyMzIsIDExMCwgODUsIDIwMywgMjQ1LCAxNzIsIDcxLCAyMDMsIDI0NSwgMTcyLCA4NSwgCi0gICAgNjcsIDI0NSwgMTcyLCA3MSwgNjcsIDI0NSwgMTcyLCA0MywgODAsIDIsIDQsIDI1MCwgNDMsIDEzNCwgMTQwLCAyNTMsIAotICAgIDI1NSwgNDMsIDgwLCAyLCAzNywgMjI1LCAyNSwgMjAwLCAxNDAsIDIxOCwgMjMyLCA3NSwgMTQwLCAyMTUsIDU4LCA4MCwgMiwgCi0gICAgNjcsIDkxLCAxNDAsIDIxNSwgNTgsIDgwLCAyLCA1MiwgNjcsIDkxLCAxNDAsIDIxNSwgNTgsIDgwLCAyNDMsIDI1MSwgMTMwLCAKLSAgICAxNDAsIDIxNSwgNTgsIDIxNSwgMjEyLCAyNDgsIDE2NSwgNzUsIDE0MCwgODAsIDIsIDI0NiwgMTI2LCAyMTgsIDE0MSwgCi0gICAgMTQwLCA4MCwgMiwgMjE3LCA3OSwgMiwgNjcsIDkxLCAxNDAsIDgwLCAyLCAyMTcsIDc5LCAyLCA1MiwgNjcsIDkxLCAxNDAsIAotICAgIDIxNSwgNTgsIDgwLCAyLCAyMTcsIDc4LCAxNDAsIDIxNSwgNTgsIDgwLCAyLCAyMTcsIDc5LCAyLCA2NywgOTEsIDE0MCwgCi0gICAgMjE1LCA1OCwgODAsIDIsIDIxNywgNzksIDIsIDUyLCA2NywgOTEsIDE0MCwgODAsIDIxNiwgMTQwLCAyMTEsIDE3OCwgMjEyLCAKLSAgICAzNiwgODAsIDIyNSwgMTAsIDI0NywgMjAzLCAyMzMsIDUyLCAyNDUsIDEwNiwgNSwgNzIsIDE0MCwgNzUsIDIyMywgNTMsIAotICAgIDIxNiwgOTAsIDIyNiwgMTcyLCA3MiwgMTQwLCA3NSwgMTQwLCA4MCwgNzIsIDIyMywgNTMsIDI1NCwgMTU2LCAxMjgsIDExMiwgCi0gICAgOTcsIDgwLCAyMTYsIDE0MCwgMjQyLCAxMzYsIDk3LCA4MCwgMjE2LCAxNDAsIDIxOCwgMjIsIDE0MCwgMjI0LCAyNywgNzUsIAotICAgIDk3LCAyMjQsIDI3LCA3NSwgMjIzLCA1MywgMjE2LCA5MCwgMjI2LCAxNzIsIDcyLCA5NywgNzUsIDk3LCA4MCwgNzIsIDIyMywgCi0gICAgNTMsIDI1NCwgMTU2LCAxMjgsIDExMiwgMjE2LCA5MCwgMjI2LCAxNzIsIDcyLCAxNDAsIDc1LCAxNDAsIDgwLCA3MiwgMjU0LCAKLSAgICAxNTYsIDEyOCwgMTEyLCAxNDAsIDgwLCA3MiwgMjIzLCA1MywgMjE2LCA5MCwgMjI2LCAxNzEsIDk3LCA4MCwgNzIsIDIyMywgCi0gICAgNTMsIDIxNiwgOTAsIDIyNiwgMTcxLCA3MSwgMjMxLCA4NywgMjE4LCAxNTgsIDg1LCA0LCAyMTgsIDE1OCwgNzEsIDQsIAotICAgIDIxOCwgMTU4LCA4NSwgMjIyLCAyNTAsIDIyNSwgMTkzLCA3MSwgMjIyLCAyNTAsIDIyNSwgMTkzLCAxMTQsIDIzMywgOTEsIAotICAgIDI1MCwgNDMsIDExNCwgMjI2LCAxMjgsIDIsIDIyNiwgMTI4LCAyMzUsIDIyMiwgMTE0LCAyNTAsIDQ0LCAyLCAyNTAsIDQ0LCAKLSAgICAyMzUsIDIyMiwgMTE0LCAyNTAsIDQzLCAxMTQsIDM3LCAyMjIsIDAsIDE0NSwgNiwgMSwgMjUzLCAxNjcsIDE0NSwgNiwgMSwgCi0gICAgMjUxLCAxMjUsIDE0NSwgNiwgMSwgMjEzLCAyNTMsIDE0NSwgNiwgMSwgMjQyLCAxOTIsIDE0NSwgNiwgMSwgMjQ3LCAxNDgsIAotICAgIDE0NSwgNiwgMSwgMjExLCAyMSwgMTQ1LCA2LCAxLCAyMTAsIDY4LCAxNDUsIDYsIDEsIDI0NiwgNDIsIDE0NSwgNiwgMSwgCi0gICAgMjEwLCA5MSwgMTQ1LCA2LCAxLCAyMzUsIDE1NCwgMTQ1LCA2LCAxLCA2NSwgMjM1LCAxNTQsIDE0NSwgNiwgMSwgNzQsIAotICAgIDE0NSwgNiwgMSwgMjQ3LCAxNjgsIDE0NSwgNiwgMSwgMjM0LCAyNDYsIDE0NSwgNiwgMSwgMjMyLCAxOTIsIDE0NSwgNiwgMSwgCi0gICAgMjMwLCAzNCwgMTQ1LCA2LCAxLCAyMjksIDE5NiwgMTQ1LCA2LCAxLCAyMjYsIDE4OSwgMTQ1LCA2LCAxLCAyMjUsIDcsIAotICAgIDE0NSwgNiwgMSwgMjIyLCAyMzAsIDE0NSwgNiwgMSwgMjE5LCA4NSwgMTQ1LCA2LCAxLCAyMTUsIDgxLCAxNDUsIDYsIDEsIAotICAgIDIxNCwgMjAxLCAxNDUsIDYsIDEsIDI0MywgMjU0LCAxNDUsIDYsIDEsIDI0MSwgMjA2LCAxNDUsIDYsIDEsIDIyNiwgMTM5LCAKLSAgICAxNDUsIDYsIDEsIDIyNSwgMjI0LCAxNDUsIDYsIDEsIDIxOSwgMjMwLCAxNDUsIDYsIDEsIDIxNSwgMTY4LCAxNDUsIDYsIDEsIAotICAgIDI1MCwgODMsIDE0NSwgNiwgMSwgMjIwLCAxMDQsIDE0NSwgNiwgMSwgMjExLCAyNywgMTQ1LCA2LCAxLCAyMTEsIDI5LCAKLSAgICAxNDUsIDYsIDEsIDIxMSwgNTcsIDE0NSwgNiwgMSwgMjE4LCAyNTUsIDE2MiwgMTQ1LCA2LCAxLCAyMTAsIDIxMiwgMTQ1LCAKLSAgICA2LCAxLCA0LCAyMTAsIDE4MywgMTQ1LCA2LCAxLCA0LCAyMTAsIDE4NCwgMiwgMjE3LCA3OCwgMTQ1LCA2LCAxLCAyMTAsIAotICAgIDI0NCwgMTQ1LCA2LCAxLCAyMzUsIDE5MSwgNCwgMjEwLCAxODMsIDE0NSwgNiwgMSwgMjUyLCAxLCAyMTAsIDE4MywgMTQ1LCAKLSAgICA2LCAxLCAyMzUsIDE5MSwgMjUyLCAxLCAyMTAsIDE4MywgMTQ1LCA2LCAxLCAyNDQsIDkwLCAxNDUsIDYsIDEsIDIzNSwgCi0gICAgMTUyLCAxNDUsIDYsIDEsIDIxOSwgMjI5LCAxNDUsIDYsIDEsIDIxNSwgMjAzLCA2MSwgMTQ1LCA2LCAxLCAyMzMsIDgxLCAKLSAgICAyMzAsIDM0LCAxNDUsIDQsIDEsIDI1MywgMTY3LCAxNDUsIDQsIDEsIDI1MSwgMTI1LCAxNDUsIDQsIDEsIDIxMywgMjUzLCAKLSAgICAxNDUsIDQsIDEsIDI0MiwgMTkyLCAxNDUsIDQsIDEsIDI0NywgMTQ4LCAxNDUsIDQsIDEsIDIxMSwgMjEsIDE0NSwgNCwgMSwgCi0gICAgMjEwLCA2OCwgMTQ1LCA0LCAxLCAyNDYsIDQyLCAxNDUsIDQsIDEsIDIxMCwgOTEsIDE0NSwgNCwgMSwgMjM1LCAxNTQsIAotICAgIDE0NSwgNCwgMSwgNjUsIDIzNSwgMTU0LCAxNDUsIDQsIDEsIDc0LCAxNDUsIDQsIDEsIDI0NywgMTY4LCAxNDUsIDQsIDEsIAotICAgIDIzNCwgMjQ2LCAxNDUsIDQsIDEsIDIzMiwgMTkyLCAxNDUsIDQsIDEsIDIzMCwgMzQsIDE0NSwgNCwgMSwgMjI5LCAxOTYsIAotICAgIDE0NSwgNCwgMSwgMjI2LCAxODksIDE0NSwgNCwgMSwgMjI1LCA3LCAxNDUsIDQsIDEsIDIyMiwgMjMwLCAxNDUsIDQsIDEsIAotICAgIDIxOSwgODUsIDE0NSwgNCwgMSwgMjE1LCA4MSwgMTQ1LCA0LCAxLCAyMTQsIDIwMSwgMTQ1LCA0LCAxLCAyNDMsIDI1NCwgCi0gICAgMTQ1LCA0LCAxLCAyNDEsIDIwNiwgMTQ1LCA0LCAxLCAyMjYsIDEzOSwgMTQ1LCA0LCAxLCAyMjUsIDIyNCwgMTQ1LCA0LCAxLCAKLSAgICAyMTksIDIzMCwgMTQ1LCA0LCAxLCAyMTUsIDE2OCwgMTQ1LCA0LCAxLCAyNTAsIDgzLCAxNDUsIDQsIDEsIDIyMCwgMTA0LCAKLSAgICAxNDUsIDQsIDEsIDIxMSwgMjcsIDE0NSwgNCwgMSwgMjExLCAyOSwgMTQ1LCA0LCAxLCAyMTEsIDU3LCAxNDUsIDQsIDEsIAotICAgIDIxOCwgMjU1LCAxNjIsIDE0NSwgNCwgMSwgMjEwLCAyMTIsIDE0NSwgNCwgMSwgNCwgMjEwLCAxODMsIDE0NSwgNCwgMSwgNCwgCi0gICAgMjEwLCAxODQsIDIsIDIxNywgNzgsIDE0NSwgNCwgMSwgMjEwLCAyNDQsIDE0NSwgNCwgMSwgMjM1LCAxOTEsIDQsIDIxMCwgCi0gICAgMTgzLCAxNDUsIDQsIDEsIDI1MiwgMSwgMjEwLCAxODMsIDE0NSwgNCwgMSwgMjM1LCAxOTEsIDI1MiwgMSwgMjEwLCAxODMsIAotICAgIDE0NSwgNCwgMSwgMjQ0LCA5MCwgMTQ1LCA0LCAxLCAyMzUsIDE1MiwgMTQ1LCA0LCAxLCAyMTksIDIyOSwgMTQ1LCA0LCAxLCAKLSAgICAyMTUsIDIwMywgNjEsIDE0NSwgNCwgMSwgMjMzLCA4MSwgMjMwLCAzNCwgNywgNiwgMSwgMjMzLCAxNTUsIDIsIDUyLCAxMzAsIAotICAgIDcsIDQsIDEsIDIzMywgMTU1LCAyLCA1MiwgMTMwLCA3LCA2LCAxLCAyMzMsIDE1NSwgMiwgMjMwLCAyMjksIDE4NCwgNywgNiwgCi0gICAgMSwgMjI2LCAxMTAsIDIsIDkxLCA3LCA2LCAxLCAyMjMsIDIyNywgMiwgMjE3LCA3OCwgNywgNCwgMSwgMTE2LCAyLCA5MSwgCi0gICAgNywgNCwgMSwgMjE3LCAxNTQsIDIsIDI0OCwgNywgOTEsIDcsIDYsIDEsIDI0MiwgNjgsIDIsIDI0OCwgNDcsIDcsIDQsIDEsIAotICAgIDI0MiwgNjgsIDIsIDI0OCwgNDcsIDcsIDYsIDEsIDIzNSwgMzAsIDIsIDI0OCwgNDcsIDcsIDQsIDEsIDIzNSwgMzAsIDIsIAotICAgIDI0OCwgNDcsIDcsIDYsIDEsIDIxMCwgMTYwLCAyLCAyNDgsIDQ3LCA3LCA0LCAxLCAyMTAsIDE2MCwgMiwgMjQ4LCA0NywgNywgCi0gICAgNiwgMSwgMjU0LCAxNTEsIDcsIDYsIDEsIDIzMiwgNTUsIDIsIDEwMywgNywgNiwgMSwgMjE1LCA5NCwgNjEsIDcsIDYsIDEsIAotICAgIDIxNSwgOTQsIDI1NCwgMTUxLCA3LCA0LCAxLCAyMTQsIDEwNiwgMiwgNDQsIDEwMywgNywgNiwgMSwgMjEyLCA5OSwgMiwgCi0gICAgMTAzLCA3LCA0LCAxLCAyMTIsIDk5LCAyLCAxMDMsIDcsIDQsIDEsIDIxNCwgMTA2LCAyLCAyNDksIDEwOCwgNywgNiwgMSwgCi0gICAgMTYzLCAyNDIsIDY3LCA3LCA0LCAxLCAxNjMsIDI0MiwgNjcsIDcsIDQsIDEsIDIxNywgNzYsIDIyNSwgMTM2LCA3LCA0LCAxLCAKLSAgICAxNjAsIDIsIDIyOCwgNTUsIDcsIDQsIDEsIDIxNSwgOTQsIDIyMywgMjI3LCAyLCAyMTcsIDc4LCA3LCA0LCAxLCAxNDQsIDIsIAotICAgIDEyMSwgMjIyLCAyMzcsIDIzNSwgMjIyLCA3LCAxLCA0LCA2LCAyMTUsIDk0LCA3NiwgNywgMjE4LCA2NiwgNCwgMSwgMjM1LCAKLSAgICAxNTAsIDU4LCAxLCA2LCAyMTQsIDEwNSwgNywgNiwgMSwgMjIyLCA5NCwgMiwgMjE3LCAyNTEsIDIxNywgNzgsIDcsIDYsIDEsIAotICAgIDIxMCwgMTYwLCAyLCAyMTcsIDI1MSwgMjE3LCA3OCwgODEsIDYsIDEsIDI1NCwgMTczLCA4MSwgNCwgMSwgMjU0LCAxNzMsIAotICAgIDgxLCA2LCAxLCAyMTMsIDE3MywgODEsIDQsIDEsIDIxMywgMTczLCA4MSwgNiwgMSwgMjQzLCAxMTQsIDgxLCA0LCAxLCAKLSAgICAyNDMsIDExNCwgODEsIDYsIDEsIDI0OCwgMTk5LCA4MSwgNCwgMSwgMjQ4LCAxOTksIDgxLCA2LCAxLCAyNDUsIDIwMiwgODEsIAotICAgIDQsIDEsIDI0NSwgMjAyLCA4MSwgNiwgMSwgMjE5LCAzNSwgODEsIDQsIDEsIDIxOSwgMzUsIDgxLCA2LCAxLCAyMTAsIDEwMSwgCi0gICAgODEsIDQsIDEsIDIxMCwgMTAxLCA4MSwgNiwgMSwgMjQxLCAyNTUsIDgxLCA0LCAxLCAyNDEsIDI1NSwgODEsIDYsIDEsIAotICAgIDIxNiwgMTc4LCA4MSwgNCwgMSwgMjE2LCAxNzgsIDgxLCA2LCAxLCAyNDAsIDEyMywgODEsIDQsIDEsIDI0MCwgMTIzLCA4MSwgCi0gICAgNiwgMSwgMjM0LCAyMzMsIDgxLCA0LCAxLCAyMzQsIDIzMywgODEsIDYsIDEsIDIzMywgNzgsIDgxLCA0LCAxLCAyMzMsIDc4LCAKLSAgICA4MSwgNiwgMSwgMjMwLCAyMzUsIDgxLCA0LCAxLCAyMzAsIDIzNSwgODEsIDYsIDEsIDIyOCwgMjM4LCA4MSwgNCwgMSwgCi0gICAgMjI4LCAyMzgsIDgxLCA2LCAxLCAyMzMsIDIzOSwgODEsIDQsIDEsIDIzMywgMjM5LCA4MSwgNiwgMSwgNzgsIDgxLCA0LCAxLCAKLSAgICA3OCwgODEsIDYsIDEsIDIyNSwgMTExLCA4MSwgNCwgMSwgMjI1LCAxMTEsIDgxLCA2LCAxLCAyMjIsIDIxMywgODEsIDQsIDEsIAotICAgIDIyMiwgMjEzLCA4MSwgNiwgMSwgMjE5LCAxNjcsIDgxLCA0LCAxLCAyMTksIDE2NywgODEsIDYsIDEsIDIxNywgNDIsIDgxLCAKLSAgICA0LCAxLCAyMTcsIDQyLCA4MSwgNiwgMSwgMjE0LCAyMjksIDgxLCA0LCAxLCAyMTQsIDIyOSwgODEsIDYsIDEsIDI0NCwgCi0gICAgMTI5LCA4MSwgNCwgMSwgMjQ0LCAxMjksIDgxLCA2LCAxLCAyMzQsIDExOCwgODEsIDQsIDEsIDIzNCwgMTE4LCA4MSwgNiwgCi0gICAgMSwgMjI0LCAxNjQsIDgxLCA0LCAxLCAyMjQsIDE2NCwgODEsIDYsIDEsIDIyNiwgMTgyLCA4MSwgNCwgMSwgMjI2LCAxODIsIAotICAgIDgxLCA2LCAxLCAyNDgsIDUsIDI1NCwgMTc5LCA4MSwgNCwgMSwgMjQ4LCA1LCAyNTQsIDE3OSwgODEsIDYsIDEsIDU1LCA4MSwgCi0gICAgMjU0LCAyMDUsIDgxLCA0LCAxLCA1NSwgODEsIDI1NCwgMjA1LCA4MSwgNiwgMSwgMjQ5LCAxMjMsIDI0NSwgMjAyLCA4MSwgCi0gICAgNCwgMSwgMjQ5LCAxMjMsIDI0NSwgMjAyLCA4MSwgNiwgMSwgMjQ4LCA1LCAyMzQsIDIzMywgODEsIDQsIDEsIDI0OCwgNSwgCi0gICAgMjM0LCAyMzMsIDgxLCA2LCAxLCAyNDgsIDUsIDIyOCwgMjM4LCA4MSwgNCwgMSwgMjQ4LCA1LCAyMjgsIDIzOCwgODEsIDYsIAotICAgIDEsIDI0OSwgMTIzLCAyMjgsIDIzOCwgODEsIDQsIDEsIDI0OSwgMTIzLCAyMjgsIDIzOCwgODEsIDYsIDEsIDU1LCA4MSwgCi0gICAgMjI2LCAxODIsIDgxLCA0LCAxLCA1NSwgODEsIDIyNiwgMTgyLCA4MSwgNiwgMSwgMjIxLCAyNDgsIDgxLCA0LCAxLCAyMjEsIAotICAgIDI0OCwgODEsIDYsIDEsIDI0OSwgMTM2LCAyMjAsIDU3LCA4MSwgNCwgMSwgMjQ5LCAxMzYsIDIyMCwgNTcsIDgxLCA2LCAxLCAKLSAgICA1NSwgODEsIDIyMCwgNTcsIDgxLCA0LCAxLCA1NSwgODEsIDIyMCwgNTcsIDgxLCA2LCAxLCA1NSwgODEsIDI0NSwgODMsIAotICAgIDgxLCA0LCAxLCA1NSwgODEsIDI0NSwgODMsIDgxLCA2LCAxLCAyNTQsIDE5MSwgMjM0LCAxMjMsIDgxLCA0LCAxLCAyNTQsIAotICAgIDE5MSwgMjM0LCAxMjMsIDgxLCA2LCAxLCAyNDgsIDUsIDI0MSwgNTIsIDgxLCA0LCAxLCAyNDgsIDUsIDI0MSwgNTIsIDgxLCAKLSAgICA2LCAxLCA1NSwgODEsIDI0MSwgNTIsIDgxLCA0LCAxLCA1NSwgODEsIDI0MSwgNTIsIDgxLCA2LCAxLCA1NSwgODEsIDE2MiwgCi0gICAgODEsIDQsIDEsIDU1LCA4MSwgMTYyLCA4MSwgNiwgMSwgMjMzLCAxNTQsIDE2MiwgODEsIDQsIDEsIDIzMywgMTU0LCAxNjIsIAotICAgIDgxLCA2LCAxLCA1NSwgODEsIDI0MSwgMjI0LCA4MSwgNCwgMSwgNTUsIDgxLCAyNDEsIDIyNCwgODEsIDYsIDEsIDU1LCA4MSwgCi0gICAgMjQyLCAyLCA4MSwgNCwgMSwgNTUsIDgxLCAyNDIsIDIsIDgxLCA2LCAxLCA1NSwgODEsIDI0MywgMTA5LCA4MSwgNCwgMSwgCi0gICAgNTUsIDgxLCAyNDMsIDEwOSwgODEsIDYsIDEsIDU1LCA4MSwgMjQ3LCAxNzEsIDgxLCA0LCAxLCA1NSwgODEsIDI0NywgMTcxLCAKLSAgICA4MSwgNiwgMSwgNTUsIDgxLCAyMjAsIDI0LCA4MSwgNCwgMSwgNTUsIDgxLCAyMjAsIDI0LCA4MSwgNiwgMSwgNTUsIDIyNywgCi0gICAgMjEyLCAyMjAsIDI0LCA4MSwgNCwgMSwgNTUsIDIyNywgMjEyLCAyMjAsIDI0LCA4MSwgNiwgMSwgNTUsIDIyNywgMjEyLCAKLSAgICAyMjksIDMyLCA4MSwgNCwgMSwgNTUsIDIyNywgMjEyLCAyMjksIDMyLCA4MSwgNiwgMSwgNTUsIDIyNywgMjEyLCAyMjcsIAotICAgIDE1MiwgODEsIDQsIDEsIDU1LCAyMjcsIDIxMiwgMjI3LCAxNTIsIDgxLCA2LCAxLCA1NSwgMjI3LCAyMTIsIDIxMiwgMzcsIAotICAgIDgxLCA0LCAxLCA1NSwgMjI3LCAyMTIsIDIxMiwgMzcsIDgxLCAxNiwgMjM0LCAyNTIsIDgxLCAxNiwgMjMwLCAyMzYsIDIyMiwgCi0gICAgMjEzLCA4MSwgMTYsIDIyNSwgMTEyLCAyMjIsIDIxMywgODEsIDE2LCAyMTgsIDE0OSwgODEsIDE2LCAyMTcsIDQzLCAyMjIsIAotICAgIDIxMywgODEsIDE2LCAyMzQsIDExOSwgMjIyLCAyMTMsIDgxLCAxNiwgMjIwLCAyNSwgMjE5LCAxNjcsIDgxLCA2LCAxLCAKLSAgICAyNDksIDEyMywgMjIwLCA1NywgODEsIDQsIDEsIDI0OSwgMTIzLCAyMjAsIDU3LCA4MSwgNiwgMSwgMjQ5LCAxMjMsIDI0MywgCi0gICAgMTA5LCA4MSwgNCwgMSwgMjQ5LCAxMjMsIDI0MywgMTA5LCA4MSwgMzgsIDIyOCwgMjM5LCA0OCwgODEsIDM4LCAyMTgsIAotICAgIDI0OSwgMjUzLCAyMzIsIDgxLCAzOCwgMjE4LCAyNDksIDIzMywgMjcsIDgxLCA2LCAxLCAyNTEsIDIwNywgMjM0LCAxMjMsIAotICAgIDgxLCA0LCAxLCAyNTEsIDIwNywgMjM0LCAxMjMsIDgxLCA1NSwgMjI3LCAyMTIsIDI0MywgMjM2LCAyMTgsIDEzMSwgODEsIAotICAgIDU1LCAyMjcsIDIxMiwgMjQ3LCAyMDUsIDIyNCwgMTYsIDc5LCA4MSwgNTUsIDIyNywgMjEyLCAyMzUsIDI0NCwgMjI0LCAxNiwgCi0gICAgNzksIDgxLCA1NSwgMjI3LCAyMTIsIDIxMywgMjQxLCAyNDcsIDE4MCwgODEsIDI0NCwgMTAsIDEyMywgMjQyLCAzNCwgODEsIAotICAgIDI0MywgMjM2LCAyMTgsIDEzMSwgODEsIDIzMCwgMTI5LCAyNDcsIDE4MCwgOTgsIDQsIDEsIDI1NCwgMTMxLCA5OCwgNCwgMSwgCi0gICAgMjUyLCAxNjAsIDk4LCA0LCAxLCAyNDMsIDExMywgOTgsIDQsIDEsIDI0NywgMTM2LCA5OCwgNCwgMSwgMjQ1LCAxNTgsIDk4LCAKLSAgICA0LCAxLCAyMTMsIDE2MCwgOTgsIDQsIDEsIDIxMCwgODksIDk4LCA0LCAxLCAyMTcsIDYxLCA5OCwgNCwgMSwgMjM2LCA2LCAKLSAgICA5OCwgNCwgMSwgMjM0LCAyNDAsIDk4LCA0LCAxLCAyMzMsIDg3LCA5OCwgNCwgMSwgMjMxLCAxOTAsIDk4LCA0LCAxLCAyMjksIAotICAgIDIwMCwgOTgsIDQsIDEsIDIyNiwgMjAwLCA5OCwgNCwgMSwgMjI2LCAyMSwgOTgsIDQsIDEsIDIxMCwgNzgsIDk4LCA0LCAxLCAKLSAgICAyMjMsIDE3NCwgOTgsIDQsIDEsIDIyMSwgMjQ1LCA5OCwgNCwgMSwgMjE3LCA1MSwgOTgsIDQsIDEsIDIxNCwgMTkwLCA5OCwgCi0gICAgNCwgMSwgMjI1LCAxNDMsIDk4LCA0LCAxLCAyMzQsIDEyNywgOTgsIDQsIDEsIDI0MiwgMjQ4LCA5OCwgNCwgMSwgMjI0LCAKLSAgICA3NiwgOTgsIDQsIDEsIDIyMCwgMjIsIDk4LCA0LCAxLCAyNTAsIDEwNSwgOTgsIDQsIDEsIDI1MSwgMTUsIDk4LCA0LCAxLCAKLSAgICAyMzUsIDEwNiwgOTgsIDQsIDEsIDI1MCwgNDgsIDk4LCA0LCAxLCAyNTAsIDE1MSwgOTgsIDQsIDEsIDIxMSwgMTYzLCA5OCwgCi0gICAgNCwgMSwgMjM1LCAxMTcsIDk4LCA0LCAxLCAyNDIsIDUwLCA5OCwgNCwgMSwgMjQxLCAyNDUsIDk4LCA0LCAxLCAyNDEsIAotICAgIDE4MiwgOTgsIDQsIDEsIDIxMiwgMjIsIDk4LCA0LCAxLCAyNDIsIDExLCA5OCwgNCwgMSwgMjQxLCA3MiwgOTgsIDQsIDEsIAotICAgIDIxMCwgMjQ2LCA5OCwgNCwgMSwgMjU0LCAyNDEsIDIxNiwgMTA5LCAxLCAxOTIsIDIxNiwgMTA5LCAxLCAyMTEsIDk5LCAKLSAgICAyMTYsIDEwOSwgMSwgMjExLCA5OCwgMjE2LCAxMDksIDEsIDIxMSwgODgsIDIxNiwgMTA5LCAxLCAyMTEsIDg2LCAyMTYsIAotICAgIDEwOSwgMSwgMjUyLCA0MCwgMjU1LCAyNSwgMjExLCA4MSwgMjE2LCAxMDksIDEsIDIxMSwgODEsIDIxNiwgMTA5LCAxLCAKLSAgICAyMTEsIDk2LCAyMTYsIDEwOSwgMSwgMjExLCA5MywgMjE2LCAxMDksIDEsIDIxMSwgOTUsIDIxNiwgMTA5LCAxLCAyMTEsIAotICAgIDk0LCAyMTYsIDEwOSwgMSwgMjExLCAxMiwgMjE2LCAxMDksIDEsIDIxMSwgOTAsIDIxNiwgMTA5LCAxLCAyMTEsIDc5LCAKLSAgICAyMTYsIDEwOSwgMSwgMjE1LCAxMTYsIDIxMSwgNzksIDIxNiwgMTA5LCAxLCAyMTEsIDc2LCAyMTYsIDEwOSwgMSwgMjExLCAKLSAgICA4NCwgMjE2LCAxMDksIDEsIDI1MiwgNDAsIDI1NSwgMjUsIDIxMSwgODQsIDIxNiwgMTA5LCAxLCAyMTUsIDExNiwgMjExLCAKLSAgICA4NCwgMjE2LCAxMDksIDEsIDIxMSwgODMsIDIxNiwgMTA5LCAxLCAyMTEsIDEwMywgMjE2LCAxMDksIDEsIDIxMSwgNzcsIAotICAgIDIxNiwgMTA5LCAxLCAyMTUsIDExNiwgMjExLCA3NywgMjE2LCAxMDksIDEsIDIxMSwgNjYsIDIxNiwgMTA5LCAxLCAyMTUsIAotICAgIDExNiwgMjExLCA2NiwgMjE2LCAxMDksIDEsIDIxMSwgOCwgMjE2LCAxMDksIDEsIDIxMSwgNDksIDIxNiwgMTA5LCAxLCAKLSAgICAyNTQsIDIxNiwgMjExLCA0OSwgMjE2LCAxMDksIDEsIDIxNSwgMTE2LCAyMTEsIDQ5LCAyMTYsIDEwOSwgMSwgMjExLCA3NSwgCi0gICAgMjE2LCAxMDksIDEsIDIxMSwgNzQsIDIxNiwgMTA5LCAxLCAyMTEsIDcxLCAyMTYsIDEwOSwgMSwgMjE1LCAxMTYsIDIxMSwgCi0gICAgODUsIDIxNiwgMTA5LCAxLCAyMTUsIDExNiwgMjExLCA2OSwgMjE2LCAxMDksIDEsIDIxMSwgNjcsIDIxNiwgMTA5LCAxLCAKLSAgICAyMTAsIDIxMiwgMjE2LCAxMDksIDEsIDIxMSwgNjQsIDIxNiwgMTA5LCAxLCAyMTEsIDYzLCAyMTYsIDEwOSwgMSwgMjExLCAKLSAgICA4NywgMjE2LCAxMDksIDEsIDIxNSwgMTE2LCAyMTEsIDg3LCAyMTYsIDEwOSwgMSwgMjUzLCAxNzEsIDIxMSwgODcsIDIxNiwgCi0gICAgMTA5LCAxLCAyMTEsIDYyLCAyMTYsIDEwOSwgMSwgMjExLCA2MCwgMjE2LCAxMDksIDEsIDIxMSwgNjEsIDIxNiwgMTA5LCAxLCAKLSAgICAyMTEsIDU5LCAyMTYsIDEwOSwgMSwgMjExLCA1OCwgMjE2LCAxMDksIDEsIDIxMSwgOTcsIDIxNiwgMTA5LCAxLCAyMTEsIAotICAgIDU2LCAyMTYsIDEwOSwgMSwgMjExLCA1NCwgMjE2LCAxMDksIDEsIDIxMSwgNTMsIDIxNiwgMTA5LCAxLCAyMTEsIDUyLCAKLSAgICAyMTYsIDEwOSwgMSwgMjExLCA1MCwgMjE2LCAxMDksIDEsIDIxNywgMzUsIDIxMSwgNTAsIDIxNiwgMTA5LCAxLCAyMTEsIAotICAgIDQ4LCAyMTYsIDEwOSwgMSwgMjExLCA0NywgMjE2LCAxMDksIDEsIDIxMCwgMjQ0LCAyMTYsIDEwOSwgNTgsIDEsIDIzMywgCi0gICAgMTMyLCA3OSwgMjE2LCAxMDksIDIyMCwgMTQwLCA3OSwgMjE2LCAxMDksIDExNywgMjM1LCA2OSwgMjksIDMsIDIzMiwgMTYxLCAKLSAgICAyOSwgMywgMjMwLCAxNjUsIDI5LCAzLCAyMjIsIDIxMSwgMjksIDMsIDIxOSwgNTksIDI5LCAzLCAyMjAsIDgsIDI5LCAzLCAKLSAgICAyNTEsIDIxMiwgMjksIDMsIDIxNiwgNDIsIDI5LCAzLCAyNDksIDI0NSwgMjksIDMsIDIyOCwgNzcsIDI5LCAzLCAyMjcsIAotICAgIDEzNywgMjksIDMsIDI0MiwgMTg3LCAyMjcsIDQsIDI5LCAzLCAyMTAsIDIyLCAyOSwgMywgMjQ3LCAxNTEsIDI5LCAzLCAKLSAgICAyNDgsIDExMiwgMjksIDMsIDIzNSwgNzMsIDI5LCAzLCAyMTYsIDE1NiwgMjksIDMsIDI1MCwgOTMsIDI5LCAzLCAyMjUsIAotICAgIDEyMywgMjksIDMsIDIyNSwgMTgsIDI5LCAzLCAyNDMsIDYsIDI5LCAzLCAyNDMsIDIsIDI5LCAzLCAyNDMsIDMsIDI5LCAzLCAKLSAgICAyNDMsIDQsIDI5LCAzLCAyMTgsIDIyNSwgMjksIDMsIDIxOCwgMTgxLCAyOSwgMywgMjE4LCAxOTQsIDI5LCAzLCAyMTgsIAotICAgIDIyNCwgMjksIDMsIDIxOCwgMTk4LCAyOSwgMywgMjE4LCAxOTksIDI5LCAzLCAyMTgsIDE4NiwgMjksIDMsIDI1MCwgMjIxLCAKLSAgICAyOSwgMywgMjUwLCAyMDAsIDI5LCAzLCAyNTAsIDIwMiwgMjksIDMsIDI1MCwgMjIwLCAyOSwgMywgMjUwLCAyMTgsIDI5LCAKLSAgICAzLCAyNTAsIDIxOSwgMjksIDMsIDI1MCwgMjAxLCAyOSwgMywgMjA5LCAyNDMsIDI5LCAzLCAyMDksIDIyMSwgMjksIDMsIAotICAgIDIwOSwgMjM0LCAyOSwgMywgMjA5LCAyNDIsIDI5LCAzLCAyMDksIDIzNywgMjksIDMsIDIwOSwgMjM4LCAyOSwgMywgMjA5LCAKLSAgICAyMjYsIDI5LCAzLCAyNTAsIDIxNiwgMjksIDMsIDI1MCwgMjAzLCAyOSwgMywgMjUwLCAyMDUsIDI5LCAzLCAyNTAsIDIxNSwgCi0gICAgMjksIDMsIDI1MCwgMjEzLCAyOSwgMywgMjUwLCAyMTQsIDI5LCAzLCAyNTAsIDIwNCwgMjksIDMsIDIyMywgMjM5LCAyOSwgCi0gICAgMywgMjIzLCAyMjksIDI5LCAzLCAyMjMsIDIzNSwgMjksIDMsIDIyMywgMjM4LCAyOSwgMywgMjIzLCAyMzYsIDI5LCAzLCAKLSAgICAyMjMsIDIzNywgMjksIDMsIDIyMywgMjM0LCAyOSwgMywgMjMzLCAxNjUsIDI5LCAzLCAyMzMsIDE1NywgMjksIDMsIDIzMywgCi0gICAgMTYwLCAyOSwgMywgMjMzLCAxNjQsIDI5LCAzLCAyMzMsIDE2MSwgMjksIDMsIDIzMywgMTYyLCAyOSwgMywgMjMzLCAxNTgsIAotICAgIDI5LCAzLCAyMTEsIDEzMCwgMjksIDMsIDIxMSwgMTIwLCAyOSwgMywgMjExLCAxMjYsIDI5LCAzLCAyMTEsIDEyOSwgMjksIAotICAgIDMsIDIxMSwgMTI3LCAyOSwgMywgMjExLCAxMjgsIDI5LCAzLCAyMTEsIDEyNSwgMjksIDMsIDI0MiwgNzgsIDI5LCAzLCAKLSAgICAyNDIsIDY5LCAyOSwgMywgMjQyLCA3MiwgMjksIDMsIDI0MiwgNzcsIDI5LCAzLCAyNDIsIDc0LCAyOSwgMywgMjQyLCA3NSwgCi0gICAgMjksIDMsIDI0MiwgNzEsIDM4LCAzMywgMSwgMjUyLCA4MywgMzgsIDMzLCAxLCAyMTMsIDI1NSwgMzgsIDMzLCAxLCAyNDIsIAotICAgIDI0MywgMzgsIDMzLCAxLCAyNDgsIDk4LCAzOCwgMzMsIDEsIDIxMCwgNzQsIDM4LCAzMywgMSwgMjEwLCA5NCwgMzgsIDMzLCAKLSAgICAxLCAxNzYsIDM4LCAzMywgMSwgMjQ1LCAxODIsIDM4LCAzMywgMSwgMjQ1LCAxNjcsIDM4LCAzMywgMSwgMjQ1LCAxNTgsIAotICAgIDM4LCAzMywgMSwgNzgsIDM4LCAzMywgMSwgMjI1LCAyMjQsIDM4LCAzMywgMSwgMjQ1LCAxMDAsIDM4LCAzMywgMSwgMjQ1LCAKLSAgICA5MCwgMzgsIDMzLCAxLCAyMTcsIDIzLCAzOCwgMzMsIDEsIDE2MiwgMzgsIDMzLCAxLCAyMTUsIDE3OSwgMzgsIDMzLCAxLCAKLSAgICAyNTAsIDEzOSwgMzgsIDMzLCAxLCAyMjAsIDEwNCwgMzgsIDMzLCAxLCAyMjAsIDY3LCAzOCwgMzMsIDEsIDI0NCwgOTAsIAotICAgIDM4LCAzMywgMSwgMjQ1LCA4OSwgMzgsIDMzLCAxLCA2MSwgMzgsIDMzLCAxLCAyMzYsIDY3LCAzOCwgMzMsIDEsIDI0NywgCi0gICAgMTY5LCAzOCwgMzMsIDEsIDIzMCwgMTQ1LCAyMTQsIDIwNSwgMzgsIDMzLCAxLCAyMTEsIDU5LCAzOCwgMzMsIDEsIDIxMCwgCi0gICAgMjEyLCAzOCwgMzMsIDEsIDIzNSwgMTkwLCA2MSwgMzgsIDMzLCAxLCAyMzIsIDE5OCwgMjEwLCAxODMsIDM4LCAzMywgMSwgCi0gICAgMjUyLCAxLCAyMTAsIDE4MywgMzgsIDMzLCAxLCAyMzUsIDE5MCwgMjUyLCAxLCAyMTAsIDE4MywgNDQsIDI1NCwgMTE4LCAKLSAgICAyMTgsIDYxLCAyMzEsIDE1OSwgNDQsIDI1NCwgMTE4LCAyNDYsIDEyNiwgMjE4LCA2MSwgMjMxLCAxNTksIDQzLCAyMTgsIAotICAgIDYxLCAxMjcsIDQ0LCAyMTgsIDYxLCAxMjcsIDQzLCAyNDYsIDEyNiwgMjE4LCA2MSwgMTI3LCA0NCwgMjQ2LCAxMjYsIDIxOCwgCi0gICAgNjEsIDEyNywgMjIzLCAxNjAsIDIzNSwgMjA5LCAyMzEsIDE1OSwgMjIzLCAxNjAsIDI0NiwgMTI2LCAyMzUsIDIwOSwgMjMxLCAKLSAgICAxNTksIDI0NiwgMTI2LCAyMTUsIDI0MiwgMjMxLCAxNTksIDQzLCAyMTUsIDI0MiwgMTI3LCA0NCwgMjE1LCAyNDIsIDEyNywgCi0gICAgMjIzLCAxNjAsIDIxOCwgMjM2LCA0MywgMjIzLCAxNjAsIDIyNiwgMjAyLCAxMjcsIDQ0LCAyMjMsIDE2MCwgMjI2LCAyMDIsIAotICAgIDEyNywgMjQ1LCAyMTgsIDI0OSwgMTY2LCAyMjYsIDE3LCAyNDQsIDMwLCAyMjYsIDE3LCAyMjMsIDUyLCAyNDQsIDMwLCAKLSAgICAyMjYsIDE3LCAyNDAsIDE3MiwgMjQ2LCAxMjYsIDIyNiwgMjU1LCAyNDYsIDExMiwgMjU0LCAxMjcsIDIxNCwgMTUzLCAyNTQsIAotICAgIDEyNywgMjQ2LCAxMjYsIDIyMiwgMjUwLCAyNTQsIDExNywgNTIsIDIyNiwgMjUyLCAyNDAsIDE3NSwgMjM1LCAyMDAsIDIzNSwgCi0gICAgMjA4LCAyMjYsIDYzLCAyNTEsIDE2MiwgMjQwLCAxNzYsIDIsIDI0OCwgOSwgMjE2LCA5MCwgMiwgMjIyLCAyMzcsIDQ4LCAKLSAgICA0MywgMTIxLCAyMjYsIDksIDEyNywgNDQsIDEyMSwgMjI2LCA5LCAxMjcsIDIxNiwgOTAsIDIsIDU5LCA0OCwgMjE2LCA5MCwgCi0gICAgMiwgNTksIDUxLCA0MywgNjcsIDI1MiwgMTQ5LCAyLCAyMjQsIDEwLCA0NCwgNjcsIDI1MiwgMTQ5LCAyLCAyMjQsIDEwLCAKLSAgICAyMTYsIDE1LCA0MywgMTYzLCAxMjcsIDIxNiwgMTUsIDQ0LCAxNjMsIDEyNywgMjUxLCAxODMsIDQzLCAxNjMsIDEyNywgCi0gICAgMjUxLCAxODMsIDQ0LCAxNjMsIDEyNywgNDMsIDIxOSwgMTg5LCAxMDQsIDEyNywgNDQsIDIxOSwgMTg5LCAxMDQsIDEyNywgCi0gICAgNDMsIDUyLCAyMjYsIDcsIDQ0LCA1MiwgMjI2LCA3LCAxMTMsIDE3MCwgMTE1LCAxMjMsIDU5LCAyMjQsIDE0MywgMTIzLCAKLSAgICA1OSwgMTE1LCAxMTMsIDE3MCwgMjI0LCAxNDMsIDkyLCAyNDQsIDE5LCA1OSwgMjI0LCAxNDMsIDI0NCwgODksIDU5LCA3OSwgCi0gICAgMjIzLCA1MiwgMjI0LCAxNiwgNzksIDY3LCAxODQsIDIyMiwgMjM3LCAyMjUsIDEzLCAyMTEsIDIwOSwgMjIwLCAxNDAsIAotICAgIDIzMCwgMjI5LCAyNDcsIDEyOCwgMjE1LCA5NCwgMjQ5LCAyMjcsIDIyMywgMTYwLCAyNDcsIDEyOCwgMjIzLCAxNjAsIDI0OSwgCi0gICAgMjI3LCAyMTUsIDk0LCAyMjAsIDE1MiwgMjQ4LCAyMTQsIDIsIDQzLCAyNDIsIDExNSwgMjQ4LCAyMTQsIDIsIDQ0LCAyNDIsIAotICAgIDExNSwgMjE1LCA5NCwgMjQ4LCAyMTMsIDIxNiwgMTUsIDE2MywgMjIxLCAxNzUsIDUwLCAyMTUsIDU5LCAyNDgsIDE2NCwgCi0gICAgMjE2LCAxNDQsIDI0OCwgMTY0LCAxMCwgMzQsIDIyMywgNzksIDEwLCAzNCwgMjUwLCAxOCwgMTAsIDM0LCAyMjEsIDE3OCwgCi0gICAgMTExLCAxMCwgMzQsIDIyMSwgMTc4LCAxMDUsIDEwLCAzNCwgMjIxLCAxNzgsIDE1OCwgMTAsIDM0LCAyMjUsIDE3MCwgMTAsIAotICAgIDM0LCAyNTEsIDE3MSwgMTAsIDM0LCAyMTcsIDkzLCAxMCwgMzQsIDIzNCwgMzksIDExMSwgMTAsIDM0LCAyMzQsIDM5LCAKLSAgICAxMDUsIDEwLCAzNCwgMjQ3LCAxNzgsIDEwLCAzNCwgMjIxLCAxODEsIDEwLCAzNCwgNCwgMTExLCAxMCwgMzQsIDQsIDEwNSwgCi0gICAgMTAsIDM0LCAyMzMsIDEwMywgMTExLCAxMCwgMzQsIDIzMywgMTAzLCAxMDUsIDEwLCAzNCwgMjMzLCAxMDMsIDE1OCwgMTAsIAotICAgIDM0LCAyMzMsIDEwMywgMTYxLCAxMCwgMzQsIDIxOSwgNzAsIDEwLCAzNCwgMjE2LCAxNDYsIDEwLCAzNCwgMjE5LCA2OCwgCi0gICAgMTExLCAxMCwgMzQsIDIxOSwgNjgsIDEwNSwgMTAsIDM0LCAyNDEsIDIzNSwgMTExLCAxMCwgMzQsIDI0MSwgMjM1LCAxMDUsIAotICAgIDEwLCAzNCwgMjQyLCAyMiwgMTAsIDM0LCAyMjMsIDE1MCwgMTAsIDM0LCAyNTAsIDkwLCAxMCwgMzQsIDIxOCwgMzgsIDEwLCAKLSAgICAzNCwgMjMwLCAxMzMsIDEwLCAzNCwgMjQ4LCA5NiwgMTAsIDM0LCAyMzAsIDEyNSwgMTAsIDM0LCAyNTAsIDMzLCAxMCwgMzQsIAotICAgIDIxMiwgNDEsIDExMSwgMTAsIDM0LCAyMTIsIDQxLCAxMDUsIDEwLCAzNCwgMjQ0LCAxMDQsIDEwLCAzNCwgMjI1LCAyMzYsIAotICAgIDExMSwgMTAsIDM0LCAyMjUsIDIzNiwgMTA1LCAxMCwgMzQsIDIxOSwgMTYyLCAxNjMsIDIxNSwgMjM3LCAyMTUsIDE4OSwgCi0gICAgMTAsIDM0LCAyNDksIDE1MywgMTAsIDM0LCAyNDcsIDE0NCwgMTAsIDM0LCAyMzUsIDE0MywgMTAsIDM0LCAyNTEsIDIwNiwgCi0gICAgNjQsIDI1MCwgMiwgMTAsIDM0LCAyNDUsIDIzLCAxMCwgMzQsIDIxOCwgMjUxLCAxMTEsIDEwLCAzNCwgMjE4LCAyNTEsIAotICAgIDEwNSwgMTAsIDM0LCAyNTIsIDE2MiwgMTAsIDM0LCAyMTksIDE2OSwgMTAsIDM0LCAyNTEsIDcxLCAyMTksIDE2OSwgMTAsIAotICAgIDM0LCAyMjksIDk1LCAxMTEsIDEwLCAzNCwgMjI5LCA5NSwgMTA1LCAxMCwgMzQsIDIyOSwgOTUsIDE1OCwgMTAsIDM0LCAKLSAgICAyMjksIDk1LCAxNjEsIDEwLCAzNCwgMjMxLCA1MSwgMTAsIDM0LCAyMjAsIDU5LCAxMCwgMzQsIDIyMywgMTU2LCAxMCwgMzQsIAotICAgIDI0NSwgNDUsIDEwLCAzNCwgMjI2LCAyMTMsIDEwLCAzNCwgMjUxLCAxNDEsIDExMSwgMTAsIDM0LCAyNTEsIDE0MSwgMTA1LCAKLSAgICAxMCwgMzQsIDIzMSwgOTEsIDEwLCAzNCwgMjMwLCAxMjgsIDEwLCAzNCwgMjQyLCAxNDcsIDExMSwgMTAsIDM0LCAyNDIsIAotICAgIDE0NywgMTA1LCAxMCwgMzQsIDI0MiwgMTQ3LCAxNTgsIDEwLCAzNCwgMjE2LCAxMDcsIDEwLCAzNCwgMjUwLCAxLCAxMCwgCi0gICAgMzQsIDIxMiwgOSwgMTExLCAxMCwgMzQsIDIxMiwgOSwgMTA1LCAxMCwgMzQsIDI1MSwgNzEsIDIyMSwgMTcyLCAxMCwgMzQsIAotICAgIDIxOSwgMTYyLCAyNDAsIDI1NSwgMTAsIDM0LCAyNDAsIDI1NSwgMTAsIDM0LCAyNTEsIDcxLCAyMTksIDQsIDEwLCAzNCwgCi0gICAgMjUxLCA3MSwgMjIwLCA1NCwgMTAsIDM0LCAyNDQsIDQwLCAxMCwgMzQsIDI1MSwgNzEsIDI1MCwgMjM2LCAxMCwgMzQsIAotICAgIDIxOSwgMTYyLCAyMTIsIDU3LCAxMCwgMzQsIDIxMiwgNTgsIDExMSwgMTAsIDM0LCAyMTIsIDU4LCAxMDUsIDEwLCAzNCwgCi0gICAgMjUwLCAzNSwgMTAsIDM0LCAyNTEsIDcxLCAyNDIsIDE3MywgMTAsIDM0LCAyMDAsIDExMSwgMTAsIDM0LCAyMDAsIDEwNSwgCi0gICAgMTAsIDM0LCAyNTEsIDcxLCAyMzIsIDE0MywgMTAsIDM0LCAyNTEsIDcxLCAyNDMsIDk1LCAxMCwgMzQsIDIzMCwgMTI0LCAKLSAgICAxMTEsIDEwLCAzNCwgMjMwLCAxMjQsIDEwNSwgMTAsIDM0LCAyMjMsIDE2MiwgMTAsIDM0LCAyNTEsIDIxNSwgMTAsIDM0LCAKLSAgICAyNTEsIDcxLCAyMTcsIDU3LCAyMzMsIDU4LCAxMCwgMzQsIDI1MSwgNzEsIDIzMywgNTksIDEwLCAzNCwgMjUxLCA3MSwgCi0gICAgMjExLCAyMzksIDEwLCAzNCwgMjUxLCA3MSwgMjQ0LCA1NCwgMTAsIDM0LCAyNDUsIDIyNiwgMTExLCAxMCwgMzQsIDI0NSwgCi0gICAgMjI2LCAxMDUsIDEwLCAzNCwgMjQ1LCAyMjYsIDE1OCwgMTAsIDM0LCAyNTEsIDcxLCAyNDUsIDIyNSwgMTAsIDM0LCAyNDEsIAotICAgIDI0MiwgMTAsIDM0LCAyNTEsIDcxLCAyNDAsIDI1MiwgMTAsIDM0LCAyNTEsIDIwMiwgMTAsIDM0LCAyNDIsIDIyOSwgMTAsIAotICAgIDM0LCAyNTEsIDcxLCAyNDQsIDk4LCAxMCwgMzQsIDI1MSwgNzEsIDI1MSwgMjQ1LCAxMCwgMzQsIDI1MSwgNzEsIDIyMiwgMywgCi0gICAgMTAsIDM0LCAyMTksIDE2MiwgMjEyLCAyLCAxMCwgMzQsIDIxOSwgMTYyLCAyMTEsIDQxLCAxMCwgMzQsIDI1MSwgNzEsIAotICAgIDI0MywgMjUyLCAxMCwgMzQsIDIzNSwgMTQ5LCAyNDUsIDQ5LCAxMCwgMzQsIDI1MSwgNzEsIDI0NSwgNDksIDEwLCAzNCwgCi0gICAgMjM1LCAxNDksIDIxNiwgMTYsIDEwLCAzNCwgMjUxLCA3MSwgMjE2LCAxNiwgMTAsIDM0LCAyMzUsIDE0OSwgMjQ2LCAxMDQsIAotICAgIDEwLCAzNCwgMjUxLCA3MSwgMjQ2LCAxMDQsIDEwLCAzNCwgMjE1LCA5MSwgMTAsIDM0LCAyMzUsIDE0OSwgMjE1LCA5MSwgCi0gICAgMTAsIDM0LCAyNTEsIDcxLCAyMTUsIDkxLCA2MCwgMzQsIDExMSwgNjAsIDM0LCAyMzIsIDIxOSwgNjAsIDM0LCAyNDcsIAotICAgIDEyOCwgNjAsIDM0LCAyMTksIDk3LCA2MCwgMzQsIDIyMSwgMTc3LCA2MCwgMzQsIDEwMywgNjAsIDM0LCAxMDUsIDYwLCAzNCwgCi0gICAgMjMyLCAyNDMsIDYwLCAzNCwgMjMxLCAxOTAsIDYwLCAzNCwgMjMzLCAzOSwgNjAsIDM0LCAyNDUsIDEzNywgNjAsIDM0LCAKLSAgICAxOTYsIDYwLCAzNCwgMTI0LCAyNTEsIDE3MSwgNjAsIDM0LCAyNDksIDE1NSwgNjAsIDM0LCAyNDAsIDExOCwgNjAsIDM0LCAKLSAgICAyMTcsIDkzLCA2MCwgMzQsIDIwNCwgMjUxLCAxNzEsIDYwLCAzNCwgMjM0LCAzOCwgNjAsIDM0LCAyMjQsIDIyNywgNjAsIAotICAgIDM0LCAyMTEsIDIwMiwgNjAsIDM0LCAyMTgsIDI0NSwgNjAsIDM0LCA0NCwgMjA0LCAyNTEsIDE3MSwgNjAsIDM0LCAyNDEsIAotICAgIDE4MywgMjQ1LCAxNTMsIDYwLCAzNCwgMjE2LCAyNDgsIDYwLCAzNCwgMjQ3LCAxNzgsIDYwLCAzNCwgMjIxLCAxODEsIDYwLCAKLSAgICAzNCwgMjUwLCAxOCwgNjAsIDM0LCAyMjQsIDE4NSwgNjAsIDM0LCAyNTQsIDIyNCwgNjAsIDM0LCAyMzAsIDExNSwgNjAsIAotICAgIDM0LCAyNDUsIDE1MywgNjAsIDM0LCAyNDUsIDIzMSwgNjAsIDM0LCAyMjEsIDIwMiwgNjAsIDM0LCAyNDIsIDE4MSwgNjAsIAotICAgIDM0LCAyNDIsIDE4MiwgMjE5LCA4MywgNjAsIDM0LCAyNDUsIDQ4LCA2MCwgMzQsIDI1MiwgMCwgNjAsIDM0LCAyMTEsIDIyMSwgCi0gICAgNjAsIDM0LCAyNTAsIDEwOSwgNjAsIDM0LCAyMjIsIDE5OCwgNjAsIDM0LCAyMzYsIDIsIDYwLCAzNCwgMjE5LCA4MSwgNjAsIAotICAgIDM0LCAyMzMsIDEwMiwgNjAsIDM0LCAyNDksIDE2NCwgNjAsIDM0LCAyMTgsIDIzOSwgNjAsIDM0LCAyMzAsIDEyMCwgNjAsIAotICAgIDM0LCAyMjIsIDIyNywgNjAsIDM0LCAyMTEsIDIwNiwgNjAsIDM0LCAyMjYsIDE5NCwgNjAsIDM0LCAyMTUsIDk4LCA2MCwgCi0gICAgMzQsIDI0NiwgODgsIDYwLCAzNCwgMjE5LCAyNTMsIDIxNiwgMTQ2LCA2MCwgMzQsIDI0NiwgMTI2LCAyNTAsIDE4LCA2MCwgCi0gICAgMzQsIDIwMCwgMjE4LCAxMTAsIDYwLCAzNCwgMTEzLCAyNDIsIDE3LCA2MCwgMzQsIDIyMCwgMiwgNjAsIDM0LCAyNTEsIAotICAgIDE3NywgNjAsIDM0LCAyMTksIDY3LCA2MCwgMzQsIDI1MSwgMTQ1LCA2MCwgMzQsIDIxOCwgMTQwLCA2MCwgMzQsIDI0MSwgCi0gICAgMjM0LCA2MCwgMzQsIDI0MiwgMzUsIDYwLCAzNCwgMjQ3LCAxMzEsIDYwLCAzNCwgMjQyLCAyMiwgNjAsIDM0LCAyNTEsIAotICAgIDE2MiwgNjAsIDM0LCAyMjMsIDE1MCwgNjAsIDM0LCAyMjEsIDE4OSwgNjAsIDM0LCAyNDcsIDIwNywgNjAsIDM0LCAyNTMsIAotICAgIDE3NiwgNjAsIDM0LCAyMTgsIDIzNiwgNjAsIDM0LCAyMjgsIDU2LCA2MCwgMzQsIDIxOCwgMzgsIDYwLCAzNCwgMjIxLCAKLSAgICAyMTMsIDYwLCAzNCwgMjMwLCAxMzMsIDYwLCAzNCwgMjE1LCAyMzYsIDYwLCAzNCwgMjMzLCAxMjgsIDYwLCAzNCwgMjE4LCAKLSAgICAxMzEsIDYwLCAzNCwgMjQ4LCA5NiwgNjAsIDM0LCAyMTIsIDIxLCA2MCwgMzQsIDI0NywgMTU0LCAyMjgsIDU2LCA2MCwgMzQsIAotICAgIDI0OSwgMjIzLCA2MCwgMzQsIDI0MywgMjI5LCA2MCwgMzQsIDI1MCwgMjksIDYwLCAzNCwgMjE4LCAxNDQsIDYwLCAzNCwgCi0gICAgMjEyLCA0MCwgNjAsIDM0LCAyNDQsIDEwNCwgNjAsIDM0LCAyNTAsIDI2LCA2MCwgMzQsIDI0NCwgMTY5LCA2MCwgMzQsIDUyLCAKLSAgICAyMTEsIDE3OCwgNjAsIDM0LCAxNjMsIDIxNSwgMjM3LCAyMTUsIDE4OSwgNjAsIDM0LCAyMTksIDkxLCA2MCwgMzQsIDI0NCwgCi0gICAgMTc5LCA2MCwgMzQsIDI0OSwgMTUzLCA2MCwgMzQsIDI0NywgMTQ0LCA2MCwgMzQsIDIyNCwgMTgyLCA2MCwgMzQsIDIzNSwgCi0gICAgMTQzLCA2MCwgMzQsIDIzMSwgNzIsIDYwLCAzNCwgMjE2LCA4OSwgNjAsIDM0LCAyMTcsIDI0NiwgNjAsIDM0LCAyMzIsIAotICAgIDIzNywgNjAsIDM0LCAyMTQsIDEzMSwgNjAsIDM0LCAyNDQsIDEyOCwgNjAsIDM0LCAyNTEsIDIwNiwgNjQsIDI1MCwgMiwgCi0gICAgNjAsIDM0LCAyMTksIDE5MCwgNjAsIDM0LCAyNDYsIDEyNiwgMjE2LCAyNDMsIDYwLCAzNCwgMjExLCAyNTMsIDYwLCAzNCwgCi0gICAgMjE5LCAxMDUsIDYwLCAzNCwgMjQ3LCAxOTUsIDYwLCAzNCwgMjQ1LCAyMywgNjAsIDM0LCAyMTksIDcsIDYwLCAzNCwgNzUsIAotICAgIDYwLCAzNCwgMjE4LCAxMzMsIDYwLCAzNCwgMjE4LCAyNTAsIDYwLCAzNCwgMjE2LCAwLCA2MCwgMzQsIDI0MiwgMTU0LCA2MCwgCi0gICAgMzQsIDI1MCwgMjI2LCA2MCwgMzQsIDIxOCwgMTYyLCA2MCwgMzQsIDI1MiwgMTYyLCA2MCwgMzQsIDIyMywgMzQsIDYwLCAKLSAgICAzNCwgMjE5LCAxNjksIDYwLCAzNCwgMjM1LCAxMzYsIDYwLCAzNCwgMjI5LCA5NCwgNjAsIDM0LCAyMjAsIDU5LCA2MCwgMzQsIAotICAgIDI0NCwgMTU3LCA2MCwgMzQsIDIyNiwgMjEzLCA2MCwgMzQsIDI1NCwgMTI2LCA2MCwgMzQsIDIyNSwgMzIsIDYwLCAzNCwgCi0gICAgMjQ1LCAyMzUsIDYwLCAzNCwgMjUxLCAxNDAsIDYwLCAzNCwgMjMxLCA5MSwgNjAsIDM0LCAyMzAsIDE4OCwgNjAsIDM0LCAKLSAgICAyMjAsIDE1OCwgNjAsIDM0LCAyNTQsIDQsIDYwLCAzNCwgMjMwLCAxMjgsIDYwLCAzNCwgMjE2LCAyMCwgNjAsIDM0LCAyMjYsIAotICAgIDE2OSwgNjAsIDM0LCAyNTEsIDIwOSwgNjAsIDM0LCAyMTgsIDEyOSwgNjAsIDM0LCAyNDksIDIzMywgNjAsIDM0LCAyNDIsIAotICAgIDE0NiwgNjAsIDM0LCAyMTYsIDEwNywgNjAsIDM0LCAyMzUsIDIyNCwgNjAsIDM0LCAyNTEsIDIxOSwgNjAsIDM0LCAyMTIsIAotICAgIDU4LCAyNDUsIDE1MywgNjAsIDM0LCAyNTAsIDEsIDYwLCAzNCwgMjEyLCA4LCA2MCwgMzQsIDIyMSwgMTcyLCA2MCwgMzQsIAotICAgIDI0MCwgMjU1LCA2MCwgMzQsIDIxOSwgNCwgNjAsIDM0LCAyMTQsIDIyLCA2MCwgMzQsIDI1MiwgODAsIDYwLCAzNCwgMjI1LCAKLSAgICA3NiwgNjAsIDM0LCAyNTIsIDE4MiwgNjAsIDM0LCAyMjAsIDU0LCA2MCwgMzQsIDIyMywgMTEzLCA2MCwgMzQsIDIyMiwgCi0gICAgMTI4LCA2MCwgMzQsIDI0NCwgNDAsIDYwLCAzNCwgMjUxLCAyMDgsIDYwLCAzNCwgMjUwLCAyMzYsIDYwLCAzNCwgMjUxLCAKLSAgICAyMzQsIDYwLCAzNCwgMjMwLCAxMzAsIDYwLCAzNCwgMjEyLCA1NywgNjAsIDM0LCAyNTAsIDM1LCA2MCwgMzQsIDIxMSwgCi0gICAgMjM2LCA2MCwgMzQsIDI0NywgMTg4LCA2MCwgMzQsIDIxMywgMTYxLCA2MCwgMzQsIDI0MiwgMTczLCA2MCwgMzQsIDIzMiwgCi0gICAgMTQzLCA2MCwgMzQsIDI0MywgOTUsIDYwLCAzNCwgMjMwLCAxMjMsIDYwLCAzNCwgMjE5LCA5NiwgNjAsIDM0LCAyMTksIAotICAgIDI1MywgMjE3LCA3NywgMjUxLCAyNDUsIDYwLCAzNCwgMjIzLCAxNjIsIDYwLCAzNCwgMjUxLCAyMTUsIDYwLCAzNCwgMjExLCAKLSAgICAxOTcsIDYwLCAzNCwgMjQ0LCAxOTgsIDYwLCAzNCwgMjMzLCA1OCwgNjAsIDM0LCAyMTcsIDU3LCAyMzMsIDU4LCA2MCwgMzQsIAotICAgIDIzMywgNTQsIDYwLCAzNCwgMjE5LCAzMiwgNjAsIDM0LCAyMzMsIDU5LCA2MCwgMzQsIDIxMSwgMjM5LCA2MCwgMzQsIDI0NCwgCi0gICAgNTQsIDYwLCAzNCwgMjQ1LCAyMjUsIDYwLCAzNCwgMjQxLCAyNDIsIDYwLCAzNCwgMjQ0LCA4LCA2MCwgMzQsIDI0MCwgMjUyLCAKLSAgICA2MCwgMzQsIDI1MSwgMjAyLCA2MCwgMzQsIDIxNywgNjQsIDYwLCAzNCwgMjQyLCA0MSwgNjAsIDM0LCAyNDQsIDEyMSwgNjAsIAotICAgIDM0LCAyMjIsIDMwLCAyMTEsIDIzNiwgNjAsIDM0LCAyNTAsIDIyOCwgNjAsIDM0LCAyNDIsIDIyOSwgNjAsIDM0LCAyNDQsIAotICAgIDk4LCA2MCwgMzQsIDI1MSwgMjQ1LCA2MCwgMzQsIDIyMiwgMywgNjAsIDM0LCAyNDgsIDgyLCA2MCwgMzQsIDIxMiwgMiwgCi0gICAgNjAsIDM0LCAyNDEsIDIxNywgNjAsIDM0LCAyMTEsIDQxLCA2MCwgMzQsIDIzMCwgMTk3LCA2MCwgMzQsIDI1MSwgMjI5LCAKLSAgICA2MCwgMzQsIDI0NSwgMTYzLCA2MCwgMzQsIDI0MywgMjUyLCA2MCwgMzQsIDIxNSwgMjEwLCA2MCwgMzQsIDI0NiwgOTAsIAotICAgIDYwLCAzNCwgMjIzLCAxNDQsIDYwLCAzNCwgMjI4LCA1OCwgNjAsIDM0LCAyNDUsIDQ5LCA2MCwgMzQsIDIxNiwgMTYsIDYwLCAKLSAgICAzNCwgMjQ2LCAxMDQsIDYwLCAzNCwgMjE1LCA5MSwgNjAsIDM0LCAyNDQsIDU2LCAxMTAsIDI0OCwgNDUsIDEzNSwgNDMsIAotICAgIDIxNiwgNDMsIDIyMiwgMjU0LCAxMTAsIDI0OCwgNDUsIDEzNSwgNzIsIDIxNiwgNDMsIDUxLCAxMTAsIDI0OCwgNDUsIDEzNSwgCi0gICAgNDMsIDIxNiwgNDMsIDIzMCwgMjI5LCAyMiwgMjIyLCAyNTQsIDExMCwgMjQ4LCA0NSwgMTM1LCA3MiwgMjE2LCA0MywgMjMwLCAKLSAgICAyMjksIDIyLCA1MSwgMTEwLCAyNDgsIDQ1LCAxMzUsIDI0MywgMjM2LCAyMTgsIDExLCAxMTAsIDI0OCwgNDUsIDEzNSwgCi0gICAgMjE4LCAxMiwgMjQzLCAyNTEsIDQ4LCAxMTAsIDI0OCwgNDUsIDEzNSwgMjE4LCAxMiwgMjQzLCAyNTEsIDUxLCAxMTAsIAotICAgIDI0OCwgNDUsIDEzNSwgMjE4LCAxMiwgMjQzLCAyNTEsIDIzMywgNTIsIDExMCwgMjQ4LCA0NSwgMTM1LCAyMTgsIDEyLCAKLSAgICAyNDMsIDI1MSwgMjE0LCAxNjAsIDIzMywgNTIsIDExMCwgMjQ4LCA0NSwgMTM1LCAyMTgsIDEyLCAyNDMsIDI1MSwgMjE0LCAKLSAgICAxNjAsIDIyMiwgMjU0LCAxMTAsIDI0OCwgNDUsIDEzNSwgMjE4LCAxMiwgMjQzLCAyNTEsIDIzMiwgMTE0LCAyMzMsIDUyLCAKLSAgICAxMTAsIDI0OCwgNDUsIDEzNSwgMjI2LCAxMjYsIDExMCwgMjE5LCAyMCwgMTEwLCAyNDksIDIyNywgMTEwLCAyNDMsIDIzNiwgCi0gICAgMjE4LCAxMzEsIDI0NywgMTg1LCA3OSwgMjM1LCAxMzcsIDIzNSwgMjQzLCAyMTgsIDE2MSwgODcsIDExMCwgMjM1LCAxNjQsIAotICAgIDc5LCAxMTAsIDI1MCwgNCwgNzksIDExMCwgNTQsIDIxMCwgODYsIDQzLCAyNTQsIDExOCwgMTI3LCA0NCwgMjU0LCAxMTgsIAotICAgIDEyNywgNDMsIDUyLCAyNTQsIDExOCwgMTI3LCA0NCwgNTIsIDI1NCwgMTE4LCAxMjcsIDQzLCAyNDksIDE2OSwgMTI3LCA0NCwgCi0gICAgMjQ5LCAxNjksIDEyNywgNDMsIDcxLCAyNDksIDE2OSwgMTI3LCA0NCwgNzEsIDI0OSwgMTY5LCAxMjcsIDQzLCA4NSwgMjMzLCAKLSAgICAyNiwgMTI3LCA0NCwgODUsIDIzMywgMjYsIDEyNywgMjI0LCAyNDAsIDc5LCAyNDMsIDM5LCA3OSwgNDMsIDIxNiwgNywgCi0gICAgMjIwLCA1NSwgMTI3LCA0NCwgMjE2LCA3LCAyMjAsIDU1LCAxMjcsIDQzLCA3MSwgMjMzLCAyNiwgMTI3LCA0NCwgNzEsIAotICAgIDIzMywgMjYsIDEyNywgNDMsIDcxLCAyMTYsIDcsIDIyMCwgNTUsIDEyNywgNDQsIDcxLCAyMTYsIDcsIDIyMCwgNTUsIDEyNywgCi0gICAgNDMsIDcxLCA0MiwgMTI3LCA0NCwgNzEsIDQyLCAxMjcsIDIxMiwgMzYsIDI0OCwgMTY0LCAyMjMsIDUyLCA1MiwgMjI0LCAKLSAgICAxOTQsIDIyNCwgMSwgNzksIDUyLCAyMjQsIDE5NCwgMjI0LCAxLCA3OSwgMTIxLCA1MiwgMjI0LCAxOTQsIDIyNCwgMSwgNzksIAotICAgIDIyNCwgMjQwLCAxNjQsIDI0NCwgMTk4LCAyNDIsIDE1LCAyMjcsIDIwMiwgMTExLCAyNDIsIDE1LCAyMjcsIDIwMiwgMTA1LCAKLSAgICAyNDIsIDE1LCAyMjcsIDIwMiwgMTU4LCAyNDIsIDE1LCAyMjcsIDIwMiwgMTYxLCAyNDIsIDE1LCAyMjcsIDIwMiwgMTkwLCAKLSAgICAyNDIsIDE1LCAyMjcsIDIwMiwgMTk1LCAyNDIsIDE1LCAyMjcsIDIwMiwgMTk5LCAyNDIsIDE1LCAyMjcsIDIwMiwgMTk2LCAKLSAgICAyNDIsIDE1LCAyMjcsIDIwMiwgMjAxLCAxMTAsIDIzMywgOSwgMTM4LCA3OSwgMTEwLCAyMjIsIDIzMSwgMTM4LCA3OSwgCi0gICAgMTEwLCAyNDgsIDUyLCAxMzgsIDc5LCAxMTAsIDI0NSwgMTM2LCAxMzgsIDc5LCAyNCwgMjE5LCAxNTcsIDU5LCAxMzgsIDc5LCAKLSAgICAyNCwgNTIsIDU5LCAxMzgsIDc5LCAyMTIsIDMyLCAyNDgsIDE2NCwgNjcsIDIzNCwgMjM5LCAyMjMsIDgwLCA3OSwgNjcsIAotICAgIDIzNCwgMjM5LCAyMjMsIDgwLCAyLCAyMTMsIDEzNSwgMjE5LCAzMywgNzksIDY3LCAyMzQsIDIzOSwgMjIzLCA4MCwgMTY0LCAKLSAgICAyMTQsIDE2MCwgMjQyLCAzNCwgNjcsIDIzNCwgMjM5LCAyMjMsIDgwLCAyLCAyMTMsIDEzNSwgMjE5LCAzMywgMTY0LCAyMTQsIAotICAgIDE2MCwgMjQyLCAzNCwgNjcsIDIzNCwgMjM5LCAyMjMsIDgwLCAxNjQsIDIzMiwgMTE0LCAyNDIsIDM0LCAzNywgMjI0LCAKLSAgICAyNDAsIDc5LCAxMTAsIDIxNywgNCwgMjMyLCAyMjAsIDI0NCwgMTU0LCAyMjAsIDE0MCwgODcsIDI0MiwgMTUsIDIyNywgCi0gICAgMjAyLCAyMTYsIDI0OCwgMjQyLCAxNSwgMjI3LCAyMDIsIDIxNSwgNzMsIDI0MiwgMTUsIDIyNywgMjAyLCAyMTYsIDE2MywgCi0gICAgNjcsIDExMCwgMjM1LCAxNjQsIDc5LCAyMzEsIDE0NSwgNzksIDIyNiwgMywgMjU0LCAxNDgsIDc5LCAxMTAsIDQ1LCAyMzUsIAotICAgIDI0NSwgMTEwLCAxNjMsIDI0NCwgMTE0LCAyMTksIDIwLCAxNDEsIDEsIDQsIDYxLCAxNDEsIDEsIDYxLCAxNDEsIDEsIDQsIAotICAgIDc0LCAxNDEsIDEsIDc0LCAxNDEsIDEsIDQsIDY5LCAxNDEsIDEsIDY5LCAxNDEsIDEsIDQsIDc2LCAxNDEsIDEsIDc2LCAKLSAgICAxNDEsIDEsIDQsIDc4LCAxNDEsIDEsIDc4LCAxNDEsIDEsIDE3NiwgMTQxLCAxLCAyNDMsIDE0MiwgMTQxLCAxLCAyMzQsIAotICAgIDk4LCAxNDEsIDEsIDI0MiwgMjIxLCAxNDEsIDEsIDIzMywgMjIzLCAxNDEsIDEsIDI0MiwgMTIwLCAxNDEsIDEsIDIzNCwgCi0gICAgMTg4LCAxNDEsIDEsIDI0MywgNjksIDE0MSwgMSwgMjM0LCAzNCwgMTQxLCAxLCAyNDIsIDE4MSwgMTQxLCAxLCAyMDYsIAotICAgIDE0MSwgMSwgMjEwLCAxMTYsIDE0MSwgMSwgMjE5LCAxOTMsIDE0MSwgMSwgMjEwLCA0NCwgMTQxLCAxLCAyMTgsIDg0LCAKLSAgICAxNDEsIDEsIDIxMCwgMTMsIDE0MSwgMSwgMjIxLCAxODMsIDE0MSwgMSwgMjEwLCA5NCwgMTQxLCAxLCAyMTksIDYwLCAxNDEsIAotICAgIDEsIDIxMCwgMjMsIDE0MSwgMSwgMjE3LCAxMDYsIDE0MSwgMSwgMjQ4LCAyMjksIDE0MSwgMSwgMjE2LCAxMTgsIDE0MSwgMSwgCi0gICAgMjQ4LCAxMSwgMTQxLCAxLCA0LCAyMTUsIDExOSwgMTQxLCAxLCAyMTUsIDExOSwgMTQxLCAxLCAyNDYsIDg2LCAxNDEsIDEsIAotICAgIDIxNywgMjMsIDE0MSwgMSwgMjQ4LCA5OCwgMTQxLCAxLCAxMTIsIDE0MSwgMSwgMjQ3LCAxNTMsIDE0MSwgMSwgMTk4LCAKLSAgICAxNDEsIDEsIDIyOCwgMjM4LCAxNDEsIDEsIDIyNywgMjQyLCAxNDEsIDEsIDIyOSwgMTEyLCAxNDEsIDEsIDIyOCwgNzksIAotICAgIDE0MSwgMSwgMTYyLCAxNDEsIDEsIDI1MiwgMTk5LCAxNDEsIDEsIDE5MSwgMTQxLCAxLCAyNDEsIDE4NywgMTQxLCAxLCAKLSAgICAyNTIsIDE0LCAxNDEsIDEsIDIyNSwgMTExLCAxNDEsIDEsIDI0MCwgMjI5LCAxNDEsIDEsIDI1MSwgMTMzLCAxNDEsIDEsIAotICAgIDIyNCwgMTUzLCAxNDEsIDEsIDI0MSwgMjQ1LCAxNDEsIDEsIDI1MiwgODMsIDE0MSwgMSwgMjI1LCAyMjQsIDE0MSwgMSwgCi0gICAgMjQxLCA3NSwgMTQxLCAxLCAyNTEsIDIxMywgMTQxLCAxLCAyMjUsIDE5LCAxNDEsIDEsIDE4NiwgMTQxLCAxLCAyMzAsIAotICAgIDIzNSwgMTQxLCAxLCAyMzAsIDEwNywgMTQxLCAxLCAyMzEsIDk2LCAxNDEsIDEsIDIzMCwgMTY2LCAxNDEsIDEsIDQsIDE5MiwgCi0gICAgMTQxLCAxLCAxOTIsIDE0MSwgMSwgNCwgMjEwLCAyMTIsIDE0MSwgMSwgMjEwLCAyMTIsIDE0MSwgMSwgNCwgMjEwLCAyNDQsIAotICAgIDE0MSwgMSwgMjEwLCAyNDQsIDE0MSwgMSwgMjA1LCAxNDEsIDEsIDIyMywgMzgsIDE0MSwgMSwgMjIyLCAxNDIsIDE0MSwgMSwgCi0gICAgMjIzLCAxMzEsIDE0MSwgMSwgMjIyLCAyMTMsIDE0MSwgMSwgNCwgMjEyLCA2NSwgMTQxLCAxLCAyMTIsIDY1LCAxNDEsIDEsIAotICAgIDIxMSwgMjUwLCAxNDEsIDEsIDIxMiwgMjIsIDE0MSwgMSwgMjExLCAyMjcsIDE0MSwgMSwgMjMwLCAzMCwgMTQxLCAxLCAKLSAgICAyMTIsIDExNiwgMTQxLCAxLCA0LCAxNzYsIDE0MSwgMSwgNCwgMjM0LCAxODgsIDM4LCAyMzQsIDIwNywgMjEzLCAxMzUsIAotICAgIDIxOSwgMzMsIDc5LCAzOCwgMjM0LCAyMDcsIDIyMCwgMTU3LCAyMTksIDMzLCA3OSwgMjM0LCAyMDcsIDIxMywgMTM1LCAKLSAgICAyMTksIDMzLCA3OSwgMjM0LCAyMDcsIDIyMCwgMTU3LCAyMTksIDMzLCA3OSwgMTQxLCAyMzUsIDE2NCwgNzksIDE0MSwgCi0gICAgMjEzLCAxMzUsIDIzNSwgMTY0LCA3OSwgMTQxLCAyNDcsIDIyOSwgMjEwLCAyMjUsIDIzNCwgMjA3LCA1MiwgMjQwLCAxNzUsIAotICAgIDU2LCAxLCA0LCA2MSwgNTYsIDEsIDYxLCA1NiwgMSwgNCwgNzQsIDU2LCAxLCA3NCwgNTYsIDEsIDQsIDY5LCA1NiwgMSwgCi0gICAgNjksIDU2LCAxLCA0LCA3NiwgNTYsIDEsIDc2LCA1NiwgMSwgNCwgNzgsIDU2LCAxLCA3OCwgNTYsIDEsIDE3NiwgNTYsIDEsIAotICAgIDI0MywgMTQyLCA1NiwgMSwgMjM0LCA5OCwgNTYsIDEsIDI0MiwgMjIxLCA1NiwgMSwgMjMzLCAyMjMsIDU2LCAxLCAyNDIsIAotICAgIDEyMCwgNTYsIDEsIDIzNCwgMTg4LCA1NiwgMSwgMjQzLCA2OSwgNTYsIDEsIDIzNCwgMzQsIDU2LCAxLCAyNDIsIDE4MSwgCi0gICAgNTYsIDEsIDIwNiwgNTYsIDEsIDIxMCwgMTE2LCA1NiwgMSwgMjE5LCAxOTMsIDU2LCAxLCAyMTAsIDQ0LCA1NiwgMSwgMjE4LCAKLSAgICA4NCwgNTYsIDEsIDIxMCwgMTMsIDU2LCAxLCAyMjEsIDE4MywgNTYsIDEsIDIxMCwgOTQsIDU2LCAxLCAyMTksIDYwLCA1NiwgCi0gICAgMSwgMjEwLCAyMywgNTYsIDEsIDIxNywgMTA2LCA1NiwgMSwgMjQ4LCAyMjksIDU2LCAxLCAyMTYsIDExOCwgNTYsIDEsIAotICAgIDI0OCwgMTEsIDU2LCAxLCA0LCAyMTUsIDExOSwgNTYsIDEsIDIxNSwgMTE5LCA1NiwgMSwgMjQ2LCA4NiwgNTYsIDEsIDIxNywgCi0gICAgMjMsIDU2LCAxLCAyNDgsIDk4LCA1NiwgMSwgMTEyLCA1NiwgMSwgMjQ3LCAxNTMsIDU2LCAxLCAxOTgsIDU2LCAxLCAyMjgsIAotICAgIDIzOCwgNTYsIDEsIDIyNywgMjQyLCA1NiwgMSwgMjI5LCAxMTIsIDU2LCAxLCAyMjgsIDc5LCA1NiwgMSwgMTYyLCA1NiwgMSwgCi0gICAgMjUyLCAxOTksIDU2LCAxLCAxOTEsIDU2LCAxLCAyNDEsIDE4NywgNTYsIDEsIDI1MiwgMTQsIDU2LCAxLCAyMjUsIDExMSwgCi0gICAgNTYsIDEsIDI0MCwgMjI5LCA1NiwgMSwgMjUxLCAxMzMsIDU2LCAxLCAyMjQsIDE1MywgNTYsIDEsIDI0MSwgMjQ1LCA1NiwgCi0gICAgMSwgMjUyLCA4MywgNTYsIDEsIDIyNSwgMjI0LCA1NiwgMSwgMjQxLCA3NSwgNTYsIDEsIDI1MSwgMjEzLCA1NiwgMSwgMjI1LCAKLSAgICAxOSwgNTYsIDEsIDE4NiwgNTYsIDEsIDIzMCwgMjM1LCA1NiwgMSwgMjMwLCAxMDcsIDU2LCAxLCAyMzEsIDk2LCA1NiwgMSwgCi0gICAgMjMwLCAxNjYsIDU2LCAxLCA0LCAxOTIsIDU2LCAxLCAxOTIsIDU2LCAxLCA0LCAyMTAsIDIxMiwgNTYsIDEsIDIxMCwgMjEyLCAKLSAgICA1NiwgMSwgNCwgMjEwLCAyNDQsIDU2LCAxLCAyMTAsIDI0NCwgNTYsIDEsIDIwNSwgNTYsIDEsIDIyMywgMzgsIDU2LCAxLCAKLSAgICAyMjIsIDE0MiwgNTYsIDEsIDIyMywgMTMxLCA1NiwgMSwgMjIyLCAyMTMsIDU2LCAxLCA0LCAyMTIsIDY1LCA1NiwgMSwgCi0gICAgMjEyLCA2NSwgNTYsIDEsIDIxMSwgMjUwLCA1NiwgMSwgMjEyLCAyMiwgNTYsIDEsIDIxMSwgMjI3LCA1NiwgMSwgMjMwLCAKLSAgICAzMCwgNTYsIDEsIDIxMiwgMTE2LCA1NiwgMSwgNCwgMTc2LCA1NiwgMSwgNCwgMjM0LCAxODgsIDU2LCAxLCAyMTQsIDI3LCAKLSAgICA1NiwgMSwgMjEzLCAxNzYsIDU2LCAxLCAyMTMsIDI1NSwgNTYsIDEsIDIxMywgMTM4LCA1NiwgMjMwLCAyMjksIDI0NywgCi0gICAgMTI4LCAyMzQsIDIwNywgMjI0LCAxNzYsIDIxOSwgMzMsIDc5LCA1NiwgMjM1LCAxNjQsIDc5LCA1NiwgMjEzLCAxMzUsIAotICAgIDIzNSwgMTY0LCA3OSwgNTYsIDI0NywgMjI5LCAyMzQsIDUsIDI1MSwgMTkyLCAxLCAyNTMsIDE2NiwgMjUxLCAxOTIsIDEsIAotICAgIDIyNiwgMTA5LCAyNTEsIDE5MiwgMSwgMTk0LCAyNTEsIDE5MiwgMSwgMjQ1LCAxNCwgMjUxLCAxOTIsIDEsIDI0OSwgNjgsIAotICAgIDI1MSwgMTkyLCAxLCAyMTcsIDE1MywgMjUxLCAxOTIsIDEsIDIzMCwgMzAsIDI1MSwgMTkyLCAxLCAxNTYsIDI1MSwgMTkyLCAKLSAgICAxLCAyNDMsIDIwOSwgMjUxLCAxOTIsIDEsIDIzNSwgMjksIDI1MSwgMTkyLCAxLCAyNDIsIDY3LCAyNTEsIDE5MiwgMSwgCi0gICAgMjM1LCAxNTAsIDI1MSwgMTkyLCAxLCAyMjQsIDk5LCAyNTEsIDE5MiwgMSwgMjExLCAxNzgsIDI1MSwgMTkyLCAxLCAyMTAsIAotICAgIDgzLCAyNTEsIDE5MiwgMSwgMjUwLCAxNjYsIDI1MSwgMTkyLCAxLCAyMjAsIDEwNiwgMjUxLCAxOTIsIDEsIDE1MywgMjUxLCAKLSAgICAxOTIsIDEsIDIxMCwgMTU5LCAyNTEsIDE5MiwgMSwgMjUxLCA3NCwgMjUxLCAxOTIsIDEsIDIyMiwgOTMsIDI1MSwgMTkyLCAKLSAgICAxLCA2MSwgMjUxLCAxOTIsIDEsIDc4LCAyNTEsIDE5MiwgMSwgNzYsIDI1MSwgMTkyLCAxLCAyNDUsIDIwNSwgMjUxLCAxOTIsIAotICAgIDEsIDI1NCwgMjEwLCAyNTEsIDE5MiwgMSwgMjQ1LCAyMDMsIDI1MSwgMTkyLCAxLCAyNTMsIDIwMCwgMjUxLCAxOTIsIDEsIAotICAgIDIyNiwgMTM4LCAyNTEsIDE5MiwgMSwgMjU0LCAxMzEsIDI1MSwgMTkyLCAxLCAyNDUsIDE1OCwgMjUxLCAxOTIsIDEsIDI1NCwgCi0gICAgMTIzLCAyNTEsIDE5MiwgMSwgMjQ1LCAxNDYsIDI1MSwgMTkyLCAxLCAyNDUsIDEwMCwgMjUxLCAxOTIsIDEsIDc0LCAyNTEsIAotICAgIDE5MiwgMSwgNjksIDI1MSwgMTkyLCAxLCAyMzUsIDE2MiwgMjUxLCAxOTIsIDEsIDIxNCwgMTA1LCAyNTEsIDE5MiwgMSwgCi0gICAgMjI5LCA4NCwgMjUxLCAxOTIsIDEsIDI0MiwgMTg1LCAyNTEsIDE5MiwgMSwgMjM2LCA0MSwgMjQsIDEsIDIzNCwgNjQsIDI0LCAKLSAgICAxLCAyMTgsIDIxNywgMjQsIDEsIDIzNCwgNTcsIDI0LCAxLCAyMjgsIDIzMSwgMjQsIDEsIDIyOCwgMjI5LCAyNCwgMSwgCi0gICAgMjI4LCAyMjgsIDI0LCAxLCAyMTYsIDEwMiwgMjQsIDEsIDIxOCwgMjA2LCAyNCwgMSwgMjIzLCAyOSwgMjQsIDEsIDIyMywgCi0gICAgMjQsIDI0LCAxLCAyMjMsIDIxLCAyNCwgMSwgMjIzLCAxNCwgMjQsIDEsIDIyMywgOSwgMjQsIDEsIDIyMywgNCwgMjQsIDEsIAotICAgIDIyMywgMTUsIDI0LCAxLCAyMjMsIDI3LCAyNCwgMSwgMjMwLCAyMjIsIDI0LCAxLCAyMjUsIDk4LCAyNCwgMSwgMjE4LCAKLSAgICAyMTQsIDI0LCAxLCAyMjUsIDg3LCAyNCwgMSwgMjE5LCAxNTAsIDI0LCAxLCAyMTgsIDIxMSwgMjQsIDEsIDIzNiwgNjMsIAotICAgIDI0LCAxLCAyNTAsIDU0LCAyNCwgMSwgMjE4LCAyMjEsIDI0LCAxLCAyNTAsIDExNCwgMjQsIDEsIDIzNCwgMTE2LCAyNCwgMSwgCi0gICAgMjE2LCAxNzQsIDI0LCAxLCAyMjUsIDEzNCwgMjQsIDEsIDI0MSwgMTc5LCAyNCwgMSwgNjEsIDI0LCAxLCAyNTQsIDI1MiwgCi0gICAgMjQsIDEsIDE5MiwgMjQsIDEsIDIxMSwgOTIsIDI0LCAxLCAyNDUsIDEyNSwgMjQsIDEsIDc2LCAyNCwgMSwgMjExLCAzNiwgCi0gICAgMjQsIDEsIDIxMSwgNDcsIDI0LCAxLCA3OCwgMjQsIDEsIDIxMiwgNjUsIDI0LCAxLCAyMTIsIDYyLCAyNCwgMSwgMjI2LCAKLSAgICAyMzgsIDI0LCAxLCAyMTAsIDI0NCwgMjQsIDEsIDY5LCAyNCwgMSwgMjEyLCAxMSwgMjQsIDEsIDIxMiwgMjIsIDI0LCAxLCAKLSAgICAyMTEsIDI1MCwgMjQsIDEsIDIxMCwgMjEyLCAyNCwgMSwgMjQ1LCA2MywgMjQsIDEsIDIxMSwgOCwgMjQsIDEsIDc0LCAyNCwgCi0gICAgMjQ0LCAxMTEsIDI0LCAxLCAyMTgsIDIxNSwgMjQsIDEsIDIyOCwgMjIxLCAyNCwgMSwgMjI4LCAyMjMsIDI0LCAxLCAyMjgsIAotICAgIDIyNiwgMjQsIDEsIDIyMywgMjIsIDI0LCAxLCAyMjMsIDMsIDI0LCAxLCAyMjMsIDExLCAyNCwgMSwgMjIzLCAxNiwgMjQsIAotICAgIDEsIDIyMywgMSwgMjQsIDEsIDIzMCwgMjE1LCAyNCwgMSwgMjMwLCAyMTIsIDI0LCAxLCAyMzAsIDIxNiwgMjQsIDEsIDIzNCwgCi0gICAgMjI3LCAyNCwgMSwgMjI1LCA5MywgMjQsIDEsIDIyNSwgNzksIDI0LCAxLCAyMjUsIDg1LCAyNCwgMSwgMjI1LCA4MiwgMjQsIAotICAgIDEsIDIyNSwgOTYsIDI0LCAxLCAyMjUsIDgwLCAyNCwgMSwgMjM0LCAyMjUsIDI0LCAxLCAyMzQsIDIyMywgMjQsIDEsIDIxOSwgCi0gICAgMTQzLCAyNCwgMSwgMjE5LCAxNDEsIDI0LCAxLCAyMTksIDEzMywgMjQsIDEsIDIxOSwgMTM4LCAyNCwgMSwgMjE5LCAxNDgsIAotICAgIDI0LCAxLCAyMjYsIDM2LCAyNCwgMSwgMjE4LCAyMTgsIDI0LCAxLCAyMTEsIDI2LCAyNCwgMSwgMjExLCAyMiwgMjQsIDEsIAotICAgIDIxMSwgMjMsIDI0LCAxLCAyMzQsIDIyNiwgMjQsIDEsIDIxOCwgMjE5LCAyNCwgMSwgMjExLCAzMiwgMjQsIDEsIDIxMCwgCi0gICAgMjM4LCAyNCwgMSwgMjEwLCAyMzcsIDI0LCAxLCAyMTAsIDI0MCwgMjQsIDEsIDIxMCwgMjAzLCAyNCwgMSwgMjEwLCAyMDQsIAotICAgIDI0LCAxLCAyMTAsIDIwNywgMjQsIDEsIDI1NCwgNDIsIDI0LCAxLCAyNTQsIDM2LCAxMTAsIDI1NCwgMTA3LCAyMzIsIDIwOSwgCi0gICAgNzksIDExMCwgMjU0LCAxMDcsIDIyMywgNTMsIDc5LCAxMTAsIDI1NCwgMTA3LCAxMjMsIDc5LCAxMTAsIDI1NCwgMTA3LCAKLSAgICAxMTMsIDc5LCAxMTAsIDI1NCwgMTA3LCAxMzQsIDc5LCAxMTAsIDI1NCwgMTA3LCAyNDQsIDE5LCA3OSwgMTEwLCAyNTQsIAotICAgIDEwNywgMjE2LCAxNSwgNzksIDExMCwgMjU0LCAxMDcsIDIzMCwgMjI5LCA3OSwgMTEwLCAyNTQsIDEwNywgMjUxLCAxODMsIAotICAgIDc5LCAxMTAsIDI1NCwgMTA3LCAyNDQsIDEwMCwgNzksIDExMCwgMjU0LCAxMDcsIDIyMSwgMTc4LCA3OSwgMTEwLCAyNTQsIAotICAgIDEwNywgMjE2LCAxNzAsIDc5LCAxMTAsIDI1NCwgMTA3LCAyNDQsIDEyLCA3OSwgMTEwLCAyNTQsIDEwNywgMjQxLCAyMzEsIAotICAgIDc5LCAxMTAsIDI1NCwgMTA3LCAyNDUsIDIzMiwgNzksIDExMCwgMjU0LCAxMDcsIDIzMSwgMTkxLCA3OSwgMjUxLCAxOTIsIAotICAgIDEsIDI1MSwgMTMzLCAyNTEsIDE5MiwgMSwgMjEwLCA0NCwgMjUxLCAxOTIsIDEsIDIzNSwgMTE0LCAyNTEsIDE5MiwgMSwgCi0gICAgMjQyLCAxMjAsIDI1MSwgMTkyLCAxLCAyNDUsIDIxNywgMjUxLCAxOTIsIDEsIDI0NSwgMTQzLCAyNTEsIDE5MiwgMSwgMjI2LCAKLSAgICAxODcsIDI1MSwgMTkyLCAxLCAyMjYsIDE5MSwgMjUxLCAxOTIsIDEsIDIzNSwgMTg2LCAyNTEsIDE5MiwgMSwgMjU0LCAxMDksIAotICAgIDI1MSwgMTkyLCAxLCAyMzUsIDIzMSwgMjUxLCAxOTIsIDEsIDIxNCwgMTY4LCAyNTEsIDE5MiwgMSwgMjM2LCAyMywgMjUxLCAKLSAgICAxOTIsIDEsIDIyOSwgNjIsIDI1MSwgMTkyLCAxLCAyNTQsIDIwNCwgMjUxLCAxOTIsIDEsIDI1MywgMTk1LCAyNTEsIDE5MiwgCi0gICAgMSwgMjU0LCAxNDQsIDI1MSwgMTkyLCAxLCAyMjYsIDIwOCwgMjUxLCAxOTIsIDEsIDIyNiwgMTkzLCAyNTEsIDE5MiwgMSwgCi0gICAgMjM1LCAyMjgsIDI1MSwgMTkyLCA0MCwgMSwgMjI2LCAxMDksIDI1MSwgMTkyLCA0MCwgMSwgMjE3LCAxNTMsIDI1MSwgMTkyLCAKLSAgICA0MCwgMSwgMjM1LCAyOSwgMjUxLCAxOTIsIDQwLCAxLCAyNDIsIDY3LCAyNTEsIDE5MiwgMSwgMjQzLCAxLCAyNTEsIDE5MiwgCi0gICAgMSwgMjMzLCA1LCAyNTEsIDE5MiwgMSwgMjA5LCAyNTAsIDEwLCAyMTgsIDEwNSwgMjE3LCAxNTMsIDEwLCAyMTgsIDEwNSwgCi0gICAgMjEyLCA0LCAxMCwgMjE4LCAxMDUsIDIxMSwgMTU4LCAxMCwgMjE4LCAxMDUsIDI1MSwgODcsIDEwLCAyMTgsIDEwNSwgMjE3LCAKLSAgICAyNTUsIDEwLCAyMTgsIDEwNSwgMjQwLCAxNjUsIDEwLCAyMTgsIDEwNSwgMjQwLCAxNjksIDEwLCAyMTgsIDEwNSwgMjQwLCAKLSAgICAyMzgsIDEwLCAyMTgsIDEwNSwgMjQwLCAxNjYsIDEwLCAyMTgsIDEwNSwgMjE3LCAxNTYsIDEwLCAyMTgsIDEwNSwgMjQwLCAKLSAgICAxNjgsIDEwLCAyMTgsIDEwNSwgMjQwLCAxNjQsIDEwLCAyMTgsIDEwNSwgMjQwLCAyMzYsIDEwLCAyMTgsIDEwNSwgMjQwLCAKLSAgICAxNjcsIDEwLCAyMTgsIDEwNSwgMjQwLCAxNjMsIDEwLCAyMTgsIDEwNSwgMjMwLCAzMCwgMTAsIDIxOCwgMTA1LCAyNDIsIAotICAgIDY3LCAxMCwgMjE4LCAxMDUsIDIyMiwgOTMsIDEwLCAyMTgsIDEwNSwgMjI2LCAxMDksIDEwLCAyMTgsIDEwNSwgMjE5LCAyMywgCi0gICAgMTAsIDIxOCwgMTA1LCAyNDksIDY4LCAxMCwgMjE4LCAxMDUsIDI0MCwgMTcwLCAxMCwgMjE4LCAxMDUsIDI0MSwgMTk3LCAKLSAgICAxMCwgMjE4LCAxMDUsIDIxNywgMTY1LCAxMCwgMjE4LCAxMDUsIDIxNywgMjM0LCAxMCwgMjE4LCAxMDUsIDIxOCwgMTcwLCAKLSAgICAxMCwgMjE4LCAxMDUsIDIyMCwgMTEyLCAxMCwgMjE4LCAxMDUsIDIyNSwgMjI4LCAxMCwgMjE4LCAxMDUsIDIyNCwgMTAxLCAKLSAgICAxMCwgMjE4LCAxMDUsIDIxNiwgNDQsIDEwLCAyMTgsIDEwNSwgMjE3LCAxNTUsIDEwLCAyMTgsIDEwNSwgMjE3LCAyNDUsIAotICAgIDEwLCAyMTgsIDEwNSwgMjQwLCAxNzcsIDEwLCAyMTgsIDEwNSwgMjQwLCAxNjIsIDEwLCAyMTgsIDEwNSwgMjI1LCAxNTIsIAotICAgIDEwLCAyMTgsIDEwNSwgMjI0LCA5OSwgNTYsIDEsIDQsIDIzMywgMjIzLCA1NiwgMSwgNCwgMjE5LCAxOTMsIDU2LCAxLCA0LCAKLSAgICAyMTgsIDg0LCA1NiwgMSwgNCwgMTEyLCA1NiwgMSwgNCwgMjI3LCAyNDIsIDU2LCAxLCA0LCAxNjIsIDU2LCAxLCA0LCAyNDEsIAotICAgIDE4NywgNTYsIDEsIDQsIDI0MCwgMjI5LCA1NiwgMSwgNCwgMjQxLCAyNDUsIDU2LCAxLCA0LCAyNDEsIDc1LCA1NiwgMSwgNCwgCi0gICAgMjMwLCAxMDcsIDU2LCAxLCA0LCAyMDUsIDU2LCAxLCA0LCAyMjMsIDM4LCA1NiwgMSwgNCwgMjIyLCAxNDIsIDU2LCAxLCA0LCAKLSAgICAyMjMsIDEzMSwgNTYsIDEsIDQsIDIyMiwgMjEzLCA4OCwgMjQsIDIzNCwgNjQsIDg4LCAyNCwgMjI4LCAyMzEsIDg4LCAyNCwgCi0gICAgMjE2LCAxMDIsIDg4LCAyNCwgMjIzLCAyOSwgODgsIDI0LCAyMzAsIDIyMiwgODgsIDI0LCAyMjUsIDk4LCA4OCwgMjQsIAotICAgIDIxOSwgMTUwLCA4OCwgMjQsIDIzNiwgNjMsIDg4LCAyNCwgMjUwLCA1NCwgODgsIDI0LCAyNTAsIDExNCwgODgsIDI0LCAKLSAgICAyMzQsIDExNiwgODgsIDI0LCAyMTYsIDE3NCwgODgsIDI0LCAyMjUsIDEzNCwgODgsIDI0LCAyNDEsIDE3OSwgODgsIDI0LCAKLSAgICAyMzQsIDY1LCA2MSwgODgsIDI0LCAyMjgsIDIzMiwgNjEsIDg4LCAyNCwgMjE2LCAxMDMsIDYxLCA4OCwgMjQsIDIyMywgMzAsIAotICAgIDYxLCA4OCwgMjQsIDIzMCwgMjIzLCA2MSwgODgsIDI0LCAyMjUsIDk5LCA2MSwgODgsIDI0LCAyMTksIDE1MSwgNjEsIDg4LCAKLSAgICAyNCwgMjM2LCA2NCwgNjEsIDg4LCAyNCwgMjUwLCA1NSwgNjEsIDg4LCAyNCwgMjUwLCAxMTUsIDYxLCA4OCwgMjQsIDIzNCwgCi0gICAgMTE3LCA2MSwgODgsIDI0LCAyMTYsIDE3NSwgNjEsIDg4LCAyNCwgMjI1LCAxMzUsIDYxLCA4OCwgMjQsIDI0MSwgMTgwLCAKLSAgICA2MSwgODgsIDI0LCAyNTAsIDU1LCA2OSwgODgsIDIzNCwgOSwgMTM1LCAyMjYsIDIyMSwgODgsIDIzNCwgOSwgMTM1LCAxNDQsIAotICAgIDI0MCwgMjI5LCA4OCwgMTU0LCAxMTEsIDg4LCAxNTQsIDEwNSwgODgsIDE1NCwgMTU4LCA4OCwgMTU0LCAxNjEsIDg4LCAKLSAgICAxNTQsIDE5MCwgODgsIDE1NCwgMTk1LCA4OCwgMTU0LCAxOTksIDg4LCAxNTQsIDE5NiwgODgsIDE1NCwgMjAxLCA4OCwgCi0gICAgMTU0LCAyMTYsIDI0OCwgODgsIDE1NCwgMjMwLCAxMzMsIDg4LCAxNTQsIDI0NCwgMTA0LCA4OCwgMTU0LCAyMTIsIDQwLCAKLSAgICA4OCwgMTU0LCAyMTEsIDIxNCwgODgsIDE1NCwgMjMxLCA0NCwgODgsIDE1NCwgMjQ1LCAyMzEsIDg4LCAxNTQsIDIxOCwgMzgsIAotICAgIDg4LCAxNTQsIDIxOCwgMTM0LCA4OCwgMTU0LCAyNDEsIDI1MSwgODgsIDE1NCwgMjE5LCA1NiwgODgsIDE1NCwgMjI5LCAKLSAgICAyMDksIDg4LCAxNTQsIDIxOSwgNiwgODgsIDE1NCwgMjQ0LCAxMTAsIDg4LCAxNTQsIDI0OSwgMjA4LCA4OCwgMTU0LCAyMzMsIAotICAgIDEzMSwgODgsIDE1NCwgMjIzLCA3NCwgODgsIDE1NCwgMjUxLCAyMywgODgsIDE1NCwgMjE4LCA4OCwgODgsIDE1NCwgMjE4LCAKLSAgICAyMSwgODgsIDE1NCwgMjQ1LCAxMzUsIDg4LCAxNTQsIDIyMywgNjYsIDg4LCAxNTQsIDI1NCwgMTU5LCA4OCwgMTU0LCAyNDQsIAotICAgIDEzNiwgODgsIDE1NCwgMjIzLCA2NCwgODgsIDE1NCwgMjIwLCAxNTgsIDg4LCAxNTQsIDIyMywgMTMwLCAzNywgMTU0LCAKLSAgICAyMjQsIDE1LCAzNywgMTU0LCAyMzQsIDg2LCAzNywgMTU0LCAyMjEsIDIwMCwgMzcsIDE1NCwgMjM0LCA1LCAzNywgNTQsIAotICAgIDIxNiwgMjQ5LCAyMjYsIDIwMSwgODUsIDIxOCwgMjM2LCAzNywgNTQsIDIxNSwgNzQsIDIyNiwgMjAxLCA4NSwgMjE4LCAKLSAgICAyMzYsIDM3LCA1NCwgMjE2LCAxNjQsIDIyNiwgMjAxLCA4NSwgMjE4LCAyMzYsIDM3LCA1NCwgMjQ0LCAyNCwgMjI2LCAyMDEsIAotICAgIDg1LCAyMTgsIDIzNiwgMzcsIDU0LCAyNDQsIDEyMywgMjI2LCAyMDEsIDg1LCAyMTgsIDIzNiwgMzcsIDU0LCAyMTksIDExNCwgCi0gICAgMjI2LCAyMDEsIDg1LCAyMTgsIDIzNiwgMzcsIDU0LCAyMjAsIDExOSwgMjI2LCAyMDEsIDg1LCAyMTgsIDIzNiwgMzcsIDU0LCAKLSAgICAyNDUsIDE5MywgMjI2LCAyMDEsIDg1LCAyMTgsIDIzNiwgMjI1LCAyNTUsIDUwLCAzNywgNTQsIDIxNSwgNzQsIDExMSwgMzcsIAotICAgIDU0LCAyMTUsIDc0LCAxMDUsIDM3LCA1NCwgMjE1LCA3NCwgMTU4LCAzNywgNTQsIDIxNSwgNzQsIDE2MSwgMzcsIDU0LCAKLSAgICAyMTUsIDc0LCAxOTAsIDM3LCA1NCwgMjE1LCA3NCwgMTk1LCAzNywgNTQsIDIxNSwgNzQsIDE5OSwgMzcsIDU0LCAyMTUsIAotICAgIDc0LCAxOTYsIDM3LCA1NCwgMjE1LCA3NCwgMjAxLCAzNywgNTQsIDIxNiwgMTYzLCAzNywgNTQsIDIxNiwgMTY0LCAxMTEsIAotICAgIDM3LCA1NCwgMjE2LCAxNjQsIDEwNSwgMzcsIDU0LCAyMTYsIDE2NCwgMTU4LCAzNywgNTQsIDIxNiwgMTY0LCAxNjEsIDM3LCAKLSAgICA1NCwgMjE2LCAxNjQsIDE5MCwgMzcsIDI0LCAyMzQsIDY0LCAzNywgMjQsIDIyOCwgMjMxLCAzNywgMjQsIDIxNiwgMTAyLCAKLSAgICAzNywgMjQsIDIyMywgMjksIDM3LCAyNCwgMjMwLCAyMjIsIDM3LCAyNCwgMjI1LCA5OCwgMzcsIDI0LCAyMTksIDE1MCwgMzcsIAotICAgIDI0LCAyMzYsIDYzLCAzNywgMjQsIDI1MCwgNTQsIDM3LCAyNCwgMjUwLCAxMTQsIDM3LCAyNCwgMjM0LCAxMTYsIDM3LCAyNCwgCi0gICAgMjE2LCAxNzQsIDM3LCAyNCwgMjI1LCAxMzQsIDM3LCAyNCwgMjQxLCAxNzksIDM3LCAyNCwgMjM0LCA2NSwgNjEsIDM3LCAKLSAgICAyNCwgMjI4LCAyMzIsIDYxLCAzNywgMjQsIDIxNiwgMTAzLCA2MSwgMzcsIDI0LCAyMjMsIDMwLCA2MSwgMzcsIDI0LCAyMzAsIAotICAgIDIyMywgNjEsIDM3LCAyNCwgMjI1LCA5OSwgNjEsIDM3LCAyNCwgMjE5LCAxNTEsIDYxLCAzNywgMjQsIDIzNiwgNjQsIDYxLCAKLSAgICAzNywgMjQsIDI1MCwgNTUsIDYxLCAzNywgMjQsIDI1MCwgMTE1LCA2MSwgMzcsIDI0LCAyMzQsIDExNywgNjEsIDM3LCAyNCwgCi0gICAgMjE2LCAxNzUsIDYxLCAzNywgMjQsIDIyNSwgMTM1LCA2MSwgMzcsIDI0LCAyNDEsIDE4MCwgNjEsIDM3LCAyMzQsIDksIAotICAgIDEzNSwgMjUwLCAxNTYsIDM3LCAyMzQsIDksIDEzNSwgMjM1LCA1MywgMzcsIDI0LCAyMzYsIDY0LCA2OSwgMjM0LCA5LCAKLSAgICAyMTgsIDE2MSwgODcsIDM3LCAxNTQsIDExMSwgMzcsIDE1NCwgMTA1LCAzNywgMTU0LCAxNTgsIDM3LCAxNTQsIDE2MSwgMzcsIAotICAgIDE1NCwgMTkwLCAzNywgMTU0LCAxOTUsIDM3LCAxNTQsIDE5OSwgMzcsIDE1NCwgMTk2LCAzNywgMTU0LCAyMDEsIDM3LCAKLSAgICAxNTQsIDIxNiwgMjQ4LCAzNywgMTU0LCAyMzAsIDEzMywgMzcsIDE1NCwgMjQ0LCAxMDQsIDM3LCAxNTQsIDIxMiwgNDAsIAotICAgIDM3LCAxNTQsIDIxMSwgMjE0LCAzNywgMTU0LCAyMzEsIDQ0LCAzNywgMTU0LCAyNDUsIDIzMSwgMzcsIDE1NCwgMjE4LCAzOCwgCi0gICAgMzcsIDE1NCwgMjE4LCAxMzQsIDM3LCAxNTQsIDI0MSwgMjUxLCAzNywgMTU0LCAyMTksIDU2LCAzNywgMTU0LCAyMjksIAotICAgIDIwOSwgMzcsIDE1NCwgMjE5LCA2LCAzNywgMTU0LCAyNDQsIDExMCwgMzcsIDE1NCwgMjQ5LCAyMDgsIDM3LCAxNTQsIDIzMywgCi0gICAgMTMxLCAzNywgMTU0LCAyMjEsIDE3NiwgMzcsIDE1NCwgMjMxLCAxOTQsIDM3LCAxNTQsIDI0NCwgMTQ1LCAzNywgMTU0LCAKLSAgICAyMTgsIDUwLCAzNywgMTU0LCAyNDUsIDQyLCAzNywgMTU0LCAyMjQsIDE5MCwgMzcsIDE1NCwgMjUzLCAyMDQsIDM3LCAxNTQsIAotICAgIDIzNSwgMTY1LCAzNywgMTU0LCAyMjMsIDY0LCAzNywgMTU0LCAyNDksIDE3MiwgMzcsIDE1NCwgMjQ5LCAxNjMsIDM3LCAKLSAgICAxNTQsIDI0MSwgMTcyLCAzNywgMTU0LCAyNTAsIDE4MiwgMzcsIDE1NCwgMjMyLCAxMTYsIDM3LCAxNTQsIDIzMywgNTIsIAotICAgIDM3LCAxNTQsIDIyMiwgMjU0LCAzNywgMTU0LCAyMzEsIDg4LCAzNywgMTU0LCAyMjMsIDkwLCAzNywgMTU0LCAyMTgsIDg4LCAKLSAgICAzNywgMTU0LCAyMTgsIDIxLCAzNywgMTU0LCAyNDUsIDEzNSwgMzcsIDE1NCwgMjIzLCA2NiwgMzcsIDE1NCwgMjU0LCAxNTksIAotICAgIDM3LCAxNTQsIDIyOCwgMjE3LCAzNywgNTQsIDIxNiwgMTY0LCAxOTUsIDM3LCA1NCwgMjE2LCAxNjQsIDE5OSwgMzcsIDU0LCAKLSAgICAyMTYsIDE2NCwgMTk2LCAzNywgNTQsIDIxNiwgMTY0LCAyMDEsIDM3LCA1NCwgMjQ0LCAyMywgMzcsIDU0LCAyNDQsIDI0LCAKLSAgICAxMTEsIDM3LCA1NCwgMjQ0LCAyNCwgMTA1LCAzNywgNTQsIDI0NCwgMjQsIDE1OCwgMzcsIDU0LCAyNDQsIDI0LCAxNjEsIAotICAgIDM3LCA1NCwgMjQ0LCAyNCwgMTkwLCAzNywgNTQsIDI0NCwgMjQsIDE5NSwgMzcsIDU0LCAyNDQsIDI0LCAxOTksIDM3LCA1NCwgCi0gICAgMjQ0LCAyNCwgMTk2LCAzNywgNTQsIDI0NCwgMjQsIDIwMSwgMzcsIDU0LCAyNDQsIDEyMiwgMTEwLCAyMTcsIDQsIDE2LCAKLSAgICAzMSwgMjM1LCAxMzksIDExMCwgMjE3LCA0LCAxNiwgMzEsIDI0NCwgMTU2LCAxMTAsIDIxNywgNCwgMTYsIDMxLCAyMzEsIAotICAgIDE2NSwgMTEwLCAyMTcsIDQsIDE2LCAzMSwgMjU0LCA1NSwgMTEwLCAyMTcsIDQsIDE2LCAzMSwgMjMxLCAxMzcsIDExMCwgCi0gICAgMjE3LCA0LCAxNiwgMzEsIDIzNSwgNTEsIDExMCwgMjE3LCA0LCAxNiwgMzEsIDIzNSwgNTIsIDExMCwgMjE3LCA0LCAxNiwgCi0gICAgMzEsIDI1MywgMTk2LCAxMTAsIDIxNywgNCwgMTYsIDMxLCAyMjAsIDEzOCwgMTEwLCAyMTcsIDQsIDE2LCAzMSwgMjI2LCAKLSAgICAyNDMsIDExMCwgMjE3LCA0LCAxNiwgMzEsIDIyOCwgNDUsIDExMCwgMjE3LCA0LCAxNiwgMzEsIDI0OCwgOTMsIDQyLCAyNDEsIAotICAgIDE5NywgNDIsIDI0NSwgOTYsIDQyLCAyNDUsIDUxLCAyMzIsIDIyNSwgMjMyLCAyNDYsIDUwLCAzNywgNTYsIDYxLCAzNywgCi0gICAgNTYsIDc0LCAzNywgNTYsIDY5LCAzNywgNTYsIDc2LCAzNywgNTYsIDc4LCAzNywgNTYsIDE3NiwgMzcsIDU2LCAyMzQsIDk4LCAKLSAgICAzNywgNTYsIDIzMywgMjIzLCAzNywgNTYsIDIzNCwgMTg4LCAzNywgNTYsIDIzNCwgMzQsIDM3LCA1NiwgMjA2LCAzNywgNTYsIAotICAgIDIxOSwgMTkzLCAzNywgNTYsIDIxOCwgODQsIDM3LCA1NiwgMjIxLCAxODMsIDM3LCA1NiwgMjE5LCA2MCwgMzcsIDU2LCAKLSAgICAyMTcsIDEwNiwgMzcsIDU2LCAyMTYsIDExOCwgMzcsIDU2LCAyMTUsIDExOSwgMzcsIDU2LCAyMTcsIDIzLCAzNywgNTYsIAotICAgIDExMiwgMzcsIDU2LCAxOTgsIDM3LCA1NiwgMjI4LCAyMzgsIDM3LCA1NiwgMjI3LCAyNDIsIDM3LCA1NiwgMjI5LCAxMTIsIAotICAgIDM3LCA1NiwgMjI4LCA3OSwgMzcsIDU2LCAxNjIsIDM3LCA1NiwgMjQxLCAxODcsIDM3LCA1NiwgMjQwLCAyMjksIDM3LCA1NiwgCi0gICAgMjQxLCAyNDUsIDM3LCA1NiwgMjQxLCA3NSwgMzcsIDU2LCAxODYsIDM3LCA1NiwgMjMwLCAyMzUsIDM3LCA1NiwgMjMwLCAKLSAgICAxMDcsIDM3LCA1NiwgMjMxLCA5NiwgMzcsIDU2LCAyMzAsIDE2NiwgMzcsIDU2LCAxOTIsIDM3LCA1NiwgMjEwLCAyMTIsIAotICAgIDM3LCA1NiwgMjEwLCAyNDQsIDM3LCA1NiwgMjA1LCAzNywgNTYsIDIyMywgMzgsIDM3LCA1NiwgMjIyLCAxNDIsIDM3LCA1NiwgCi0gICAgMjIzLCAxMzEsIDM3LCA1NiwgMjIyLCAyMTMsIDM3LCA1NiwgMjEyLCA2NSwgMzcsIDU2LCAyMTEsIDI1MCwgMzcsIDU2LCAKLSAgICAyMTIsIDIyLCAzNywgNTYsIDIxMSwgMjI3LCA0MiwgMjU0LCA3OSwgNDIsIDI1MywgMjQ3LCA0MiwgMjU0LCAxMDMsIDQyLCAKLSAgICAyNTUsIDQwLCA0MiwgMjM1LCAyMzMsIDQyLCAyMzUsIDIwMywgNDIsIDIxNCwgMTY2LCA0MiwgMjQ1LCA3NCwgNDIsIDI0NSwgCi0gICAgMjE0LCA0MiwgMjI2LCAxOTAsIDQyLCAyMjYsIDE4NCwgNDIsIDIzNCwgMjUxLCA0MiwgMjM0LCAyMjAsIDQyLCAyMzQsIAotICAgIDIxNywgNDIsIDI0MywgOTksIDQyLCAyNDMsIDEwOCwgNDIsIDI0MiwgMjExLCA0MiwgMjQyLCAyMDcsIDQyLCAyMzMsIDE1NiwgCi0gICAgNDIsIDI0MiwgMjAwLCA0MiwgMjM0LCA3OCwgNDIsIDIzNCwgNzcsIDQyLCAyMzQsIDc2LCA0MiwgMjM0LCA3NSwgNDIsIAotICAgIDI0MiwgOTMsIDQyLCAyNDIsIDkyLCA0MiwgMjMzLCAxOTksIDQyLCAyMzMsIDIwMSwgNDIsIDIzNCwgMTg0LCA0MiwgMjM0LCAKLSAgICA3LCA0MiwgMjM0LCAxNCwgNDIsIDIyMiwgMTgsIDQyLCAyMjEsIDIzOSwgNDIsIDIxOSwgMTMxLCA0MiwgMjIwLCAxNDMsIAotICAgIDQyLCAyMjAsIDE0MiwgNDIsIDI0OCwgMjI2LCA0MiwgMjQ4LCA0NCwgNDIsIDI0NywgMTI5LCA0MiwgMjE2LCAzMywgNDIsIAotICAgIDIyOSwgMjA1LCA0MiwgMjI4LCA0NiwgNDIsIDI0MiwgMzksIDQyLCAyMjYsIDg4LCA0MiwgMjI2LCA4NywgNDIsIDI1MiwgCi0gICAgMTk2LCA0MiwgMjI1LCAxMDgsIDQyLCAyMjUsIDcyLCA0MiwgMjI1LCA3MywgNDIsIDI1MSwgMjQyLCA0MiwgMjQwLCAyMjgsIAotICAgIDQyLCAyNDAsIDIyNCwgNDIsIDI1MSwgOTksIDQyLCAyNDAsIDIxMSwgNDIsIDI0MSwgMjIyLCA0MiwgMjI1LCAxNjIsIDQyLCAKLSAgICAyMjUsIDE5NywgNDIsIDI0MSwgMjA1LCA0MiwgMjI1LCAxOTQsIDQyLCAyMjUsIDIxMCwgNDIsIDI1MiwgNjksIDQyLCAyMjUsIAotICAgIDksIDQyLCAyNTEsIDE4OCwgNDIsIDI0MSwgNjMsIDQyLCAyMjQsIDI1MywgNDIsIDI0MSwgNTUsIDQyLCAyNDEsIDU3LCA0MiwgCi0gICAgMjMxLCAyMDYsIDQyLCAyMzEsIDIwMiwgNDIsIDIzMSwgMjExLCA0MiwgMjMxLCAxNTUsIDQyLCAyMzEsIDE4MCwgNDIsIAotICAgIDIzMCwgMjAyLCA0MiwgMjMwLCAxODEsIDQyLCAyMzAsIDE4MCwgNDIsIDIzMSwgNzksIDQyLCAyMzEsIDc2LCA0MiwgMjMxLCAKLSAgICA4MCwgNDIsIDIxMSwgMTAyLCA0MiwgMjExLCAxMDAsIDQyLCAyMTAsIDIwMSwgNDIsIDIyMiwgMjI5LCA0MiwgMjIyLCAyMzMsIAotICAgIDQyLCAyMjIsIDExOSwgNDIsIDIyMiwgMTEzLCA0MiwgMjIzLCA4OCwgNDIsIDIyMywgODUsIDQyLCAyMTIsIDM4LCAxMTAsIAotICAgIDIxNywgNCwgMTYsIDMxLCAyNDAsIDI0NiwgMjEwLCA4NiwgMTEwLCAyMTcsIDQsIDE2LCAzMSwgMjQwLCAyNDYsIDExMSwgCi0gICAgMTEwLCAyMTcsIDQsIDE2LCAzMSwgMjQwLCAyNDYsIDEwNSwgMTEwLCAyMTcsIDQsIDE2LCAzMSwgMjQwLCAyNDYsIDE1OCwgCi0gICAgMTEwLCAyMTcsIDQsIDE2LCAzMSwgMjQwLCAyNDYsIDE2MSwgMTEwLCAyMTcsIDQsIDE2LCAzMSwgMjQwLCAyNDYsIDE5MCwgCi0gICAgMTEwLCAyMTcsIDQsIDE2LCAzMSwgMjQwLCAyNDYsIDE5NSwgMTEwLCAyMTcsIDQsIDE2LCAzMSwgMjQwLCAyNDYsIDE5OSwgCi0gICAgMTEwLCAyMTcsIDQsIDE2LCAzMSwgMjQwLCAyNDYsIDE5NiwgMTEwLCAyMTcsIDQsIDE2LCAzMSwgMjQwLCAyNDYsIDIwMSwgCi0gICAgMTEwLCAyMTcsIDQsIDE2LCAzMSwgMjQwLCAyNDYsIDIxNiwgMjQ4LCAxMTAsIDIxNywgNCwgMTYsIDMxLCAyNDAsIDI0NiwgCi0gICAgMjQ1LCAxNzUsIDExMCwgMjE3LCA0LCAxNiwgMzEsIDI0MCwgMjQ2LCAyMTUsIDc2LCAxMTAsIDIxNywgNCwgMTYsIDMxLCAKLSAgICAyNDAsIDI0NiwgMjE2LCAxNjUsIDExMCwgMjE3LCA0LCAxNiwgMzEsIDI0MCwgMjQ2LCAyNDQsIDEzLCAxMTAsIDIxNywgNCwgCi0gICAgMTYsIDMxLCAyNDAsIDI0NiwgMjQ0LCAxMjYsIDExMCwgMjE3LCA0LCAxNiwgMzEsIDI0MCwgMjQ2LCAyMTksIDEyMSwgMTEwLCAKLSAgICAyMTcsIDQsIDE2LCAzMSwgMjQwLCAyNDYsIDIyMCwgMTIxLCAxMTAsIDIxNywgNCwgMTYsIDMxLCAyNDAsIDI0NiwgMjQ1LCAKLSAgICAxOTgsIDExMCwgMjE3LCA0LCAxNiwgMzEsIDI0MCwgMjQ2LCAyMjgsIDIwMiwgMTEwLCAyMTcsIDQsIDE2LCAzMSwgMjQwLCAKLSAgICAyNDYsIDIxNSwgNzMsIDExMCwgMjE3LCA0LCAxNiwgMzEsIDI0MCwgMjQ2LCAyMTUsIDY3LCAxMTAsIDIxNywgNCwgMTYsIAotICAgIDMxLCAyNDAsIDI0NiwgMjE1LCA2MywgMTEwLCAyMTcsIDQsIDE2LCAzMSwgMjQwLCAyNDYsIDIxNSwgNjQsIDExMCwgMjE3LCAKLSAgICA0LCAxNiwgMzEsIDI0MCwgMjQ2LCAyMTUsIDY5LCA0MiwgMjQwLCAyMzcsIDQyLCAyNDgsIDIyOSwgNDIsIDI1MywgMjAwLCAKLSAgICA0MiwgMTMwLCA0MiwgMjI2LCAxMjksIDQyLCAyMjUsIDIyOSwgNDIsIDI0NywgMTU1LCA0MiwgMjQ3LCAxNTYsIDIxOCwgCi0gICAgMjM1LCA0MiwgMjQ3LCAxNTYsIDI0OSwgMTE2LCA0MiwgMjM1LCAxNjIsIDQyLCAyNDUsIDk5LCAyMjksIDIxMCwgMjQxLCAKLSAgICAyMjMsIDQyLCAyNDUsIDk5LCAyMjksIDIxMCwgMjE3LCAxNzUsIDQyLCAyNDUsIDk5LCAyMjksIDIxMCwgMjE3LCA3NSwgNDIsIAotICAgIDI0NSwgOTksIDIyOSwgMjEwLCAyMzEsIDc1LCA0MiwgMjQ5LCAxNjUsIDQyLCAyMjYsIDk0LCAyNTQsIDEzMywgNDIsIDE5OCwgCi0gICAgNDIsIDIzMCwgMTA4LCA2MSwgNDIsIDE4NiwgNDIsIDE3NiwgNDIsIDIzNCwgMTkxLCA0MiwgMjMxLCAxMzQsIDQyLCAyNDMsIAotICAgIDg3LCA0MiwgMjUxLCAyNiwgNDIsIDIzNCwgMTkwLCA0MiwgMjI1LCAxNTMsIDQyLCAyMjksIDg2LCA0MiwgMjMwLCAxMDgsIAotICAgIDI0NSwgMTQsIDQyLCAyMzAsIDEwOCwgMjQzLCAyMDksIDQyLCAyMzEsIDIwLCA0MiwgMjM0LCAxNDAsIDQyLCAyNDAsIDE3MCwgCi0gICAgNDIsIDIzNCwgMTAwLCA0MiwgMjMwLCAyMzcsIDQyLCAyNDIsIDIyMywgNDIsIDIxNiwgMTIwLCA0MiwgMjMwLCAxMDgsIAotICAgIDE1NiwgNDIsIDIzMCwgMTc0LCA0MiwgMjQ3LCAxNjUsIDQyLCAyMzQsIDQ2LCA0MiwgMjQ0LCA1MywgNDIsIDIyOCwgMTE3LCAKLSAgICA0MiwgMjMwLCAxMDgsIDE5NCwgNDIsIDIzMCwgMTcxLCA0MiwgMjQ5LCAyNDcsIDQyLCAyMzQsIDQwLCA0MiwgMjMwLCAxNzIsIAotICAgIDIxOCwgMjM1LCA0MiwgMjQ5LCAyNDgsIDIxOCwgMjM1LCA0MiwgMjMyLCA1NSwgMjE4LCAyMzUsIDQyLCAyMzQsIDQxLCAKLSAgICAyMTgsIDIzNSwgNDIsIDIzMCwgMTcyLCAyNDksIDExNiwgNDIsIDI0OSwgMjQ4LCAyNDksIDExNiwgNDIsIDIzMiwgNTUsIAotICAgIDI0OSwgMTE2LCA0MiwgMjM0LCA0MSwgMjQ5LCAxMTYsIDQyLCAyMzIsIDU1LCAxMTUsIDIyMiwgOTMsIDQyLCAyMzIsIDU1LCAKLSAgICAxMTUsIDIyMiwgOTQsIDIxOCwgMjM1LCA0MiwgMTkxLCA0MiwgMjM0LCAxLCA0MiwgMjMwLCAxMTAsIDQyLCAyNDIsIDE1OCwgCi0gICAgNDIsIDIyMywgMTc5LCA0MiwgMjIzLCAxODAsIDExNSwgMjIyLCA5MywgNDIsIDIyMywgMTgwLCAxMTUsIDIyMiwgOTQsIAotICAgIDIxOCwgMjM1LCA0MiwgMjI0LCAxNjUsIDQyLCAyMjgsIDE4LCA0MiwgMjMwLCAxMDgsIDIyMiwgOTMsIDQyLCAyMzAsIDEwOSwgCi0gICAgNDIsIDIyNCwgMTE5LCA0MiwgMjI3LCAxODAsIDQyLCAyMzAsIDEwOCwgMjE0LCAxMDUsIDQyLCAyMzAsIDU0LCA0MiwgMjMzLCAKLSAgICAxOTEsIDQyLCAyMzAsIDU1LCAyMzEsIDc5LCA0MiwgMjI0LCAxMTgsIDQyLCAyMjcsIDE3OSwgNDIsIDIzMCwgMTA4LCAyMTIsIAotICAgIDk4LCA0MiwgMjMwLCA0OCwgNDIsIDIzMywgMTg5LCA0MiwgMjMwLCA0OSwgMjMxLCA3OSwgNDIsIDIzNSwgMzAsIDIyNiwgCi0gICAgMjI0LCA0MiwgMjMyLCA1NSwgMjI2LCAyMjQsIDQyLCAyNTQsIDE0NCwgNDIsIDI1MSwgMTY4LCA0MiwgMjUwLCAyMjIsIDQyLCAKLSAgICAyNTAsIDE5OSwgNDIsIDI1MSwgNzUsIDExNSwgMjM0LCAxNDAsIDQyLCAyNDksIDI0NiwgNDIsIDI0OCwgMTUwLCA0MiwgCi0gICAgMjQyLCA3OSwgNDIsIDE2MiwgNDIsIDI0MCwgMjM4LCA0MiwgMjM2LCA2LCA0MiwgMjM0LCA1MywgNDIsIDIzNCwgNDEsIAotICAgIDI1MSwgMiwgNDIsIDIzMywgMjI1LCA0MiwgMjMyLCAxNjUsIDQyLCAyMzIsIDE2NCwgNDIsIDIzMiwgMTUzLCA0MiwgMjMyLCAKLSAgICA2OCwgNDIsIDIzMSwgMTM1LCAyMTksIDgxLCA0MiwgMjMwLCAyMDEsIDQyLCAyMzAsIDE1NywgNDIsIDIyNSwgMTUxLCA0MiwgCi0gICAgMjI1LCAyMiwgNDIsIDIyNCwgMjIyLCA0MiwgMjI0LCAyMjAsIDQyLCAyMTgsIDIyOSwgNDIsIDIxOCwgMywgNDIsIDIxMiwgCi0gICAgMjQsIDQyLCAyMTQsIDEwNiwgMTE1LCAxOTQsIDQyLCAxMTYsIDExNSwgMTk0LCAxMTAsIDIxNywgNCwgMTYsIDMxLCAyNDgsIAotICAgIDE1NCwgMTExLCAxMTAsIDIxNywgNCwgMTYsIDMxLCAyNDgsIDE1NCwgMTA1LCAxMTAsIDIxNywgNCwgMTYsIDMxLCAyNDgsIAotICAgIDE1NCwgMTU4LCAxMTAsIDIxNywgNCwgMTYsIDMxLCAyNDgsIDE1NCwgMTYxLCAxMTAsIDIxNywgNCwgMTYsIDMxLCAyNDgsIAotICAgIDE1NCwgMTkwLCAxMTAsIDIxNywgNCwgMTYsIDMxLCAyNDgsIDE1NCwgMTk1LCAxMTAsIDIxNywgNCwgMTYsIDMxLCAyNDgsIAotICAgIDE1NCwgMTk5LCAxMTAsIDIxNywgNCwgMTYsIDMxLCAyNDgsIDE1NCwgMTk2LCAxMTAsIDIxNywgNCwgMTYsIDMxLCAyNDgsIAotICAgIDE1NCwgMjAxLCAxMTAsIDIxNywgNCwgMTYsIDMxLCAyNDgsIDE1NCwgMjE2LCAyNDgsIDExMCwgMjE3LCA0LCAxNiwgMzEsIAotICAgIDI0OCwgMTU0LCAyNDUsIDE3NSwgMTEwLCAyMTcsIDQsIDE2LCAzMSwgMjQ4LCAxNTQsIDIxNSwgNzYsIDExMCwgMjE3LCA0LCAKLSAgICAxNiwgMzEsIDI0OCwgMTU0LCAyMTYsIDE2NSwgMTEwLCAyMTcsIDQsIDE2LCAzMSwgMjQ4LCAxNTQsIDI0NCwgMTMsIDExMCwgCi0gICAgMjE3LCA0LCAxNiwgMzEsIDI0OCwgMTU0LCAyNDQsIDEyNiwgMTEwLCAyMTcsIDQsIDE2LCAzMSwgMjQ4LCAxNTQsIDIxOSwgCi0gICAgMTIxLCAxMTAsIDIxNywgNCwgMTYsIDMxLCAyNDgsIDE1NCwgMjIwLCAxMjEsIDExMCwgMjE3LCA0LCAxNiwgMzEsIDI0OCwgCi0gICAgMTU0LCAyNDUsIDE5OCwgMTEwLCAyMTcsIDQsIDE2LCAzMSwgMjQ4LCAxNTQsIDIyOCwgMjAyLCAxMTAsIDIxNywgNCwgMTYsIAotICAgIDMxLCAyNDgsIDE1NCwgMjE1LCA3MywgMTEwLCAyMTcsIDQsIDE2LCAzMSwgMjQ4LCAxNTQsIDIxNSwgNjcsIDExMCwgMjE3LCAKLSAgICA0LCAxNiwgMzEsIDI0OCwgMTU0LCAyMTUsIDYzLCAxMTAsIDIxNywgNCwgMTYsIDMxLCAyNDgsIDE1NCwgMjE1LCA2NCwgCi0gICAgMTEwLCAyMTcsIDQsIDE2LCAzMSwgMjQ4LCAxNTQsIDIxNSwgNjksIDExMCwgMjE3LCA0LCAxNiwgMzEsIDI0OCwgMTU0LCAKLSAgICAyMTUsIDcwLCAxMTAsIDIxNywgNCwgMTYsIDMxLCAyNDgsIDE1NCwgMjE1LCA2NSwgMTEwLCAyMTcsIDQsIDE2LCAzMSwgCi0gICAgMjQ4LCAxNTQsIDIxNSwgNjYsIDExMCwgMjE3LCA0LCAxNiwgMzEsIDI0OCwgMTU0LCAyMTUsIDcyLCAxMTAsIDIxNywgNCwgCi0gICAgMTYsIDMxLCAyNDgsIDE1NCwgMjE1LCA2OCwgMTEwLCAyMTcsIDQsIDE2LCAzMSwgMjQ4LCAxNTQsIDIxNiwgMTYzLCAxMTAsIAotICAgIDIxNywgNCwgMTYsIDMxLCAyNDgsIDE1NCwgMjE2LCAxNjIsIDQyLCAyNDMsIDEyNSwgMjQxLCAxOTksIDMxLCAyMTYsIDE5NywgCi0gICAgMjQ5LCAxNDgsIDI0MSwgMjMwLCAyNDEsIDE5OSwgMzEsIDIxNiwgMTk3LCAyMjMsIDEyNSwgMjQ1LCAyMzEsIDI0MSwgMTk5LCAKLSAgICAzMSwgMjQ3LCAyMzksIDI1MywgMjE1LCAyMTYsIDE5NywgMjUyLCA2NCwgMjQxLCAxOTksIDMxLCAyMTAsIDIyMywgMjQ0LCAKLSAgICA0NiwgMjQxLCAxOTksIDMxLCAyMTIsIDU5LCAyNDEsIDE5OSwgMzEsIDI0OSwgMjExLCAyNDEsIDE5OSwgMzEsIDIxNiwgCi0gICAgMTk3LCAyNTQsIDExLCAyNDEsIDE5OSwgMzEsIDI0MSwgNjcsIDIxNiwgMzksIDI0MSwgMTk5LCAzMSwgNCwgMjE3LCA2MiwgCi0gICAgMjQxLCAxOTksIDMxLCAyMTUsIDIzOCwgMjQxLCAxOTksIDMxLCAyMjUsIDIyMiwgMjQxLCAxOTksIDMxLCAyMTgsIDE2MCwgCi0gICAgMjQxLCAxOTksIDMxLCAyNDQsIDE0NywgMjQxLCAxOTksIDMxLCAyNDIsIDEzOSwgMjI0LCAyNDMsIDI0MSwgMTk5LCAzMSwgCi0gICAgMjMwLCAxNjAsIDI0MSwgMTk5LCAzMSwgMjQ1LCAxMzQsIDI0MSwgMTk5LCAzMSwgMjQ0LCA0NywgMjQxLCAxOTksIDMxLCAKLSAgICAyMTEsIDIwNywgMjI2LCAyMDEsIDIxNiwgMTk3LCAyNDgsIDk0LCAyNDEsIDE5OSwgMzEsIDI1NCwgNTksIDI0MSwgMTk5LCAKLSAgICAzMSwgMjQ5LCAxOTMsIDI0MSwgMTk5LCAzMSwgMjUxLCAyMzUsIDIxNiwgMTM5LCAyNDEsIDE5OSwgMzEsIDI0MiwgMTU2LCAKLSAgICAyNDEsIDE5OSwgMzEsIDIxOCwgMjQ3LCAyNTQsIDc4LCAyNDEsIDE5OSwgMzEsIDIyMywgNTYsIDI0MSwgMTk5LCAzMSwgCi0gICAgMjM1LCAyMjcsIDI0MSwgMTk5LCAzMSwgMjQyLCAxMzksIDIxNywgNjIsIDI0MSwgMTk5LCAzMSwgMjMwLCAxMTYsIDI0OSwgCi0gICAgMTY3LCAyNDEsIDE5OSwgMzEsIDI0MiwgMTM5LCAyMjQsIDIwMCwgMjQxLCAxOTksIDMxLCAyMTYsIDE5NywgMjU1LCAyNywgCi0gICAgMjEyLCA0MCwgMjQxLCAxOTksIDMxLCAyMTYsIDE5NywgMjUwLCAxNiwgMjQ0LCAxMDQsIDI0MSwgMTk5LCAzMSwgMjM1LCAKLSAgICAyNDAsIDI0MSwgMTk5LCAzMSwgMjQ2LCA2NSwgMjQxLCAxOTksIDMxLCAyMjMsIDU5LCAyNDEsIDE5OSwgMzEsIDI0MiwgCi0gICAgMTM5LCAyMjQsIDIyNywgMjQxLCAxOTksIDMxLCAyMjQsIDE4MCwgMjQxLCAxOTksIDMxLCAyNDgsIDE2OSwgNjQsIDIxNiwgCi0gICAgMTk3LCAyMzIsIDIzNiwgMjQxLCAxOTksIDMxLCAyMTYsIDE5NywgMjQ0LCAxODIsIDI0MSwgMTk5LCAzMSwgMjI2LCAxNjcsIAotICAgIDI0MSwgMTk5LCAzMSwgMjI2LCAyNDgsIDI0MSwgMTk5LCAzMSwgMjQ4LCA2NywgMjQxLCAxOTksIDMxLCAyNDgsIDg3LCAKLSAgICAyNDEsIDE5OSwgMzEsIDIzNSwgMjU0LCAyNDEsIDE5OSwgMzEsIDI1MSwgMTU3LCAyNDEsIDE5OSwgMzEsIDI0OSwgMjI5LCAKLSAgICAyMTYsIDQzLCAyMzEsIDgxLCAyNDEsIDE5OSwgMzEsIDI0MywgOTQsIDIxNiwgMzksIDI0MSwgMTk5LCAzMSwgMjI0LCAxMjgsIAotICAgIDIxNCwgMTU0LCAyNDEsIDE5OSwgMzEsIDIyNiwgMTY2LCAyNDEsIDE5OSwgMzEsIDIxNiwgMTk3LCAyMTIsIDEzLCAyNDEsIAotICAgIDE5OSwgMzEsIDIyMywgNDgsIDI0MSwgMTk5LCAzMSwgMjE2LCAxOTcsIDI1MCwgMjI4LCAyNDEsIDE5OSwgMzEsIDIxNiwgCi0gICAgMTk3LCAyNTQsIDcsIDIxNiwgMTM0LCAyNDEsIDE5OSwgMzEsIDIxNiwgMTk3LCAyMzQsIDE4NSwgMjE4LCAxMzYsIDIzMCwgCi0gICAgMTIwLCAyNDEsIDE5OSwgMzEsIDI0OCwgNDAsIDI0MSwgMTk5LCAzMSwgMjE2LCAxOTcsIDIzMSwgMTU3LCAyMzEsIDIwNywgCi0gICAgMjQxLCAxOTksIDMxLCAyNTUsIDI4LCAyNDEsIDE5OSwgMzEsIDIxNiwgMTk3LCAyMTIsIDU0LCAyNDEsIDE5OSwgMzEsIAotICAgIDIxNiwgMTk3LCAyNDMsIDU0LCAyMTEsIDIzOSwgMjQxLCAxOTksIDMxLCAyMTYsIDE5NywgMjM1LCA1OCwgMjMzLCAxMTMsIAotICAgIDI0MSwgMTk5LCAzMSwgMjQ3LCAxOTIsIDI0MSwgMTk5LCAzMSwgMjMyLCAyMjYsIDI0MSwgMTk5LCAzMSwgMjM1LCAyMzAsIAotICAgIDIxNSwgMTg4LCAyNDEsIDE5OSwgMzEsIDQsIDIyNCwgMjAwLCAyNDEsIDE5OSwgMzEsIDI1NCwgMjI2LCAyNDksIDIyMCwgCi0gICAgMjQxLCAxOTksIDMxLCAyNTIsIDY3LCAyNDksIDIyMCwgOCwgMywgMjM1LCAxNjYsIDgsIDMsIDIzNSwgMTU5LCA4LCAzLCAKLSAgICA3NCwgOCwgMywgMjM1LCAxODksIDgsIDMsIDIzNiwgNjUsIDgsIDMsIDIzNiwgNDgsIDgsIDMsIDIzNiwgNjcsIDgsIDMsIAotICAgIDIzNiwgNjYsIDgsIDMsIDI1MywgMjE0LCA4LCAzLCAyNTMsIDE3NywgOCwgMywgNjEsIDgsIDMsIDI1NCwgODAsIDgsIDMsIAotICAgIDIxNCwgMTY0LCA4LCAzLCAyMTQsIDE2NywgOCwgMywgMjE0LCAxNjUsIDgsIDMsIDIyNiwgMTQ0LCA4LCAzLCAyMjYsIDExOCwgCi0gICAgOCwgMywgNzgsIDgsIDMsIDIyNiwgMTc5LCA4LCAzLCAyNDUsIDQzLCA4LCAzLCA3NiwgOCwgMywgMjExLCAxOTUsIDgsIDMsIAotICAgIDI1MSwgMjM2LCA4LCAzLCAyNTEsIDIzMywgOCwgMywgMjUyLCAxNCwgOCwgMywgMjUxLCAyNDYsIDgsIDMsIDI1MiwgMywgOCwgCi0gICAgMywgMjUyLCAyLCA4LCAzLCAyNTIsIDUsIDgsIDMsIDI1MiwgNCwgOCwgMywgMjUyLCAxMjksIDgsIDMsIDI1MiwgMTIxLCA4LCAKLSAgICAzLCAyNTIsIDE5OSwgOCwgMywgMjUyLCAxNTAsIDgsIDMsIDI1MSwgMTA5LCA4LCAzLCAyNTEsIDExMywgOCwgMywgMjUxLCAKLSAgICAxMTAsIDgsIDMsIDI1MSwgMTg3LCA4LCAzLCAyNTEsIDE3MSwgOCwgMywgMjUxLCAyMTMsIDgsIDMsIDI1MSwgMTkzLCA4LCAKLSAgICAzLCAyNTIsIDI5LCA4LCAzLCAyNTIsIDgzLCA4LCAzLCAyNTIsIDQxLCA4LCAzLCAyNTEsIDk1LCA4LCAzLCAyNTEsIDkyLCAKLSAgICA4LCAzLCAyNTEsIDEzMywgOCwgMywgMjUxLCAxMDgsIDgsIDMsIDI1MSwgMTAyLCA4LCAzLCAyNTEsIDEwNiwgOCwgMywgCi0gICAgMjUxLCA4MCwgOCwgMywgMjUxLCA3OCwgOCwgMywgMjUxLCA4NSwgOCwgMywgMjUxLCA4MywgOCwgMywgMjUxLCA4MSwgOCwgCi0gICAgMywgMjUxLCA4MiwgOCwgMywgMjI1LCA1MiwgOCwgMywgMjI1LCA0OCwgOCwgMywgMjI1LCAxMTEsIDgsIDMsIDIyNSwgNjIsIAotICAgIDgsIDMsIDIyNSwgNzgsIDgsIDMsIDIyNSwgMTA1LCA4LCAzLCAyMjUsIDEwMSwgOCwgMywgMjI1LCAyNDQsIDgsIDMsIDIyNSwgCi0gICAgMjM0LCA4LCAzLCAxOTEsIDgsIDMsIDIyNiwgMjUsIDgsIDMsIDIyNCwgMTM4LCA4LCAzLCAyMjQsIDE0MCwgOCwgMywgMjI0LCAKLSAgICAxMzksIDgsIDMsIDIyNCwgMjM2LCA4LCAzLCAyMjQsIDIyNSwgOCwgMywgMjI1LCAxOSwgOCwgMywgMjI0LCAyNDgsIDgsIDMsIAotICAgIDIyNCwgMTI0LCA4LCAzLCAyMjQsIDEyMCwgOCwgMywgMjI0LCAxNTMsIDgsIDMsIDIyNCwgMTM3LCA4LCAzLCAyMjQsIDEyOSwgCi0gICAgOCwgMywgMjI0LCAxMzUsIDgsIDMsIDIyNCwgMTAzLCA4LCAzLCAyMjQsIDEwMiwgOCwgMywgMjI0LCAxMDcsIDgsIDMsIAotICAgIDIyNCwgMTA2LCA4LCAzLCAyMjQsIDEwNCwgOCwgMywgMjI0LCAxMDUsIDgsIDMsIDI1MiwgMTA0LCA4LCAzLCAyNTIsIDEwMywgCi0gICAgOCwgMywgMjUyLCAxMTAsIDgsIDMsIDI1MiwgMTA1LCA4LCAzLCAyNTIsIDEwNywgOCwgMywgMjUyLCAxMDYsIDgsIDMsIAotICAgIDI1MiwgMTA5LCA4LCAzLCAyNTIsIDEwOCwgOCwgMywgMjUyLCAxMTYsIDgsIDMsIDI1MiwgMTE1LCA4LCAzLCAyNTIsIDExOSwgCi0gICAgOCwgMywgMjUyLCAxMTcsIDgsIDMsIDI1MiwgOTUsIDgsIDMsIDI1MiwgOTcsIDgsIDMsIDI1MiwgOTYsIDgsIDMsIDI1MiwgCi0gICAgMTAwLCA4LCAzLCAyNTIsIDk5LCA4LCAzLCAyNTIsIDEwMiwgOCwgMywgMjUyLCAxMDEsIDgsIDMsIDI1MiwgMTExLCA4LCAzLCAKLSAgICAyNTIsIDExNCwgOCwgMywgMjUyLCAxMTIsIDgsIDMsIDI1MiwgOTEsIDgsIDMsIDI1MiwgOTAsIDgsIDMsIDI1MiwgOTgsIDgsIAotICAgIDMsIDI1MiwgOTQsIDgsIDMsIDI1MiwgOTIsIDgsIDMsIDI1MiwgOTMsIDgsIDMsIDI1MiwgODcsIDgsIDMsIDI1MiwgODYsIAotICAgIDgsIDMsIDI1MiwgODksIDgsIDMsIDI1MiwgODgsIDgsIDMsIDIyOSwgMTc0LCA4LCAzLCAyMjksIDE3MywgOCwgMywgMjI5LCAKLSAgICAxNzksIDgsIDMsIDIyOSwgMTc1LCA4LCAzLCAyMjksIDE3NiwgOCwgMywgMjI5LCAxNzgsIDgsIDMsIDIyOSwgMTc3LCA4LCAKLSAgICAzLCAyMjksIDE4MiwgOCwgMywgMjI5LCAxODEsIDgsIDMsIDIyOSwgMTg0LCA4LCAzLCAyMjksIDE4MywgOCwgMywgMjI5LCAKLSAgICAxNzAsIDgsIDMsIDIyOSwgMTY5LCA4LCAzLCAyMjksIDE3MiwgOCwgMywgMjI5LCAxNzEsIDgsIDMsIDIyOSwgMTYzLCA4LCAKLSAgICAzLCAyMjksIDE2MiwgOCwgMywgMjI5LCAxNjcsIDgsIDMsIDIyOSwgMTY2LCA4LCAzLCAyMjksIDE2NCwgOCwgMywgMjI5LCAKLSAgICAxNjUsIDgsIDMsIDIyOSwgMTU3LCA4LCAzLCAyMjksIDE1NiwgOCwgMywgMjI5LCAxNjEsIDgsIDMsIDIyOSwgMTYwLCA4LCAKLSAgICAzLCAyMjksIDE1OCwgOCwgMywgMjI5LCAxNTksIDgsIDMsIDI0MSwgMTE3LCA4LCAzLCAyNDEsIDExNiwgOCwgMywgMjQxLCAKLSAgICAxMjIsIDgsIDMsIDI0MSwgMTE4LCA4LCAzLCAyNDEsIDExOSwgOCwgMywgMjQxLCAxMjEsIDgsIDMsIDI0MSwgMTIwLCA4LCAKLSAgICAzLCAyNDEsIDEyNSwgOCwgMywgMjQxLCAxMjQsIDgsIDMsIDI0MSwgMTI3LCA4LCAzLCAyNDEsIDEyNiwgOCwgMywgMjQxLCAKLSAgICAxMDgsIDgsIDMsIDI0MSwgMTEwLCA4LCAzLCAyNDEsIDEwOSwgOCwgMywgMjQxLCAxMTMsIDgsIDMsIDI0MSwgMTEyLCA4LCAKLSAgICAzLCAyNDEsIDExNSwgOCwgMywgMjQxLCAxMTQsIDgsIDMsIDI0MSwgMTA0LCA4LCAzLCAyNDEsIDEwMywgOCwgMywgMjQxLCAKLSAgICAxMTEsIDgsIDMsIDI0MSwgMTA3LCA4LCAzLCAyNDEsIDEwNSwgOCwgMywgMjQxLCAxMDYsIDgsIDMsIDI0MSwgOTgsIDgsIDMsIAotICAgIDI0MSwgMTAyLCA4LCAzLCAyNDEsIDEwMSwgOCwgMywgMjQxLCA5OSwgOCwgMywgMjQxLCAxMDAsIDgsIDMsIDIzMCwgMTc3LCAKLSAgICA4LCAzLCAyMzAsIDE3NiwgOCwgMywgMjMwLCAyMzUsIDgsIDMsIDIzMCwgMTgzLCA4LCAzLCAyMzAsIDIwOCwgOCwgMywgCi0gICAgMjMwLCAyMjYsIDgsIDMsIDIzMCwgMjI0LCA4LCAzLCAyMzEsIDE0NCwgOCwgMywgMjMxLCAxMzksIDgsIDMsIDE4NiwgOCwgCi0gICAgMywgMjMxLCAxNzcsIDgsIDMsIDIzMCwgNzksIDgsIDMsIDIzMCwgNzgsIDgsIDMsIDIzMCwgODIsIDgsIDMsIDIzMCwgODAsIAotICAgIDgsIDMsIDIzMCwgMTI2LCA4LCAzLCAyMzAsIDExMiwgOCwgMywgMjMwLCAxNjYsIDgsIDMsIDIzMCwgMTMxLCA4LCAzLCAKLSAgICAyMzEsIDMxLCA4LCAzLCAyMzEsIDk2LCA4LCAzLCAyMzAsIDYwLCA4LCAzLCAyMzAsIDU2LCA4LCAzLCAyMzAsIDEwNywgOCwgCi0gICAgMywgMjMwLCA3NSwgOCwgMywgMjMwLCA2OCwgOCwgMywgMjMwLCA3MywgOCwgMywgMjMwLCAzMywgOCwgMywgMjMwLCAzMiwgCi0gICAgOCwgMywgMjMwLCAzOCwgOCwgMywgMjMwLCAzNSwgOCwgMywgMjQ0LCA5MSwgOCwgMywgMjQ0LCA4NiwgOCwgMywgMjQ0LCAKLSAgICAxMjksIDgsIDMsIDI0NCwgMTA2LCA4LCAzLCAyNDQsIDE3NSwgOCwgMywgMjQ0LCAxNjYsIDgsIDMsIDI0NCwgMjA0LCA4LCAKLSAgICAzLCAyNDQsIDE3OCwgOCwgMywgMjQ0LCAxMSwgOCwgMywgMjQ0LCA1MSwgOCwgMywgMjQ0LCAzNSwgOCwgMywgMjQzLCAyMjUsIAotICAgIDgsIDMsIDI0MywgMjI0LCA4LCAzLCAyNDMsIDI0MSwgOCwgMywgMjQzLCAyMzAsIDgsIDMsIDI0MywgMjI4LCA4LCAzLCAKLSAgICAyNDMsIDIyOSwgOCwgMywgMjQzLCAyMTIsIDgsIDMsIDI0MywgMjExLCA4LCAzLCAyNDMsIDIxNSwgOCwgMywgMjQzLCAyMTMsIAotICAgIDgsIDMsIDIxMywgMTQ0LCA4LCAzLCAyMTMsIDEzOSwgOCwgMywgMjEzLCAxNzYsIDgsIDMsIDIxMywgMTUzLCA4LCAzLCAKLSAgICAyMTMsIDE2NiwgOCwgMywgMjEzLCAxNjMsIDgsIDMsIDIxMywgMTY4LCA4LCAzLCAyMTMsIDE2NywgOCwgMywgMjE0LCA3LCAKLSAgICA4LCAzLCAyMTQsIDIsIDgsIDMsIDIxNCwgMjcsIDgsIDMsIDIxNCwgMTgsIDgsIDMsIDIxMywgMTI1LCA4LCAzLCAyMTMsIAotICAgIDEyMSwgOCwgMywgMjEzLCAxMzgsIDgsIDMsIDIxMywgMTI2LCA4LCAzLCAyMTMsIDE3OCwgOCwgMywgMjEzLCAyNDQsIDgsIAotICAgIDMsIDIxMiwgMTEwLCA4LCAzLCAyMTIsIDEwOCwgOCwgMywgMjEyLCAxMTYsIDgsIDMsIDIxMiwgMTEzLCA4LCAzLCAyMTIsIAotICAgIDExMSwgOCwgMywgMjEyLCAxMTIsIDgsIDMsIDIxMiwgMTAyLCA4LCAzLCAyMTIsIDEwMSwgOCwgMywgMjEyLCAxMDYsIDgsIAotICAgIDMsIDIxMiwgMTA1LCA4LCAzLCAyMTIsIDEwMywgOCwgMywgMjEyLCAxMDQsIDgsIDMsIDI0NywgMTg2LCA4LCAzLCAyNDcsIAotICAgIDE3NCwgOCwgMywgMjQ4LCAxMSwgOCwgMywgMjQ3LCAyMTEsIDgsIDMsIDI0NywgMjQ0LCA4LCAzLCAyNDcsIDI0OCwgOCwgMywgCi0gICAgMjQ3LCAyNDcsIDgsIDMsIDI0OCwgMTYwLCA4LCAzLCAyNDgsIDE1NSwgOCwgMywgMjQ4LCAyMjksIDgsIDMsIDI0OCwgMTgwLCAKLSAgICA4LCAzLCAyNDYsIDcwLCA4LCAzLCAyNDYsIDcxLCA4LCAzLCAyNDcsIDEyOCwgOCwgMywgMjQ2LCAxMTAsIDgsIDMsIDI0NywgCi0gICAgMTUzLCA4LCAzLCAyNDcsIDEzMCwgOCwgMywgMjQ4LCAzOCwgOCwgMywgMjQ4LCA5OCwgOCwgMywgMjQ4LCA1MywgOCwgMywgCi0gICAgMjQ2LCA2MSwgOCwgMywgMjQ2LCA1OSwgOCwgMywgMjQ2LCA4NiwgOCwgMywgMjQ2LCA2OSwgOCwgMywgMjQ2LCA2NCwgOCwgCi0gICAgMywgMjQ2LCA2NywgOCwgMywgMjE2LCA2OCwgOCwgMywgMjE2LCA2MiwgOCwgMywgMjE2LCAxMTgsIDgsIDMsIDIxNiwgNzcsIAotICAgIDgsIDMsIDIxNiwgMTEwLCA4LCAzLCAyMTYsIDExMiwgOCwgMywgMjE2LCAxMTEsIDgsIDMsIDIxNywgNDcsIDgsIDMsIDIxNywgCi0gICAgMzQsIDgsIDMsIDIxNywgMTA2LCA4LCAzLCAyMTcsIDU1LCA4LCAzLCAyMTUsIDEwMywgOCwgMywgMjE1LCAxMDIsIDgsIDMsIAotICAgIDIxNSwgMTA1LCA4LCAzLCAyMTUsIDEwNCwgOCwgMywgMjE2LCA2LCA4LCAzLCAyMTYsIDIsIDgsIDMsIDExMiwgOCwgMywgCi0gICAgMjE2LCAxNCwgOCwgMywgMjE2LCAyMTQsIDgsIDMsIDIxNywgMjMsIDgsIDMsIDIxNiwgMjM4LCA4LCAzLCAyMTUsIDg4LCA4LCAKLSAgICAzLCAyMTUsIDgzLCA4LCAzLCAyMTUsIDExOSwgOCwgMywgMjE1LCAxMDEsIDgsIDMsIDIxNSwgODksIDgsIDMsIDIxNSwgOTksIAotICAgIDgsIDMsIDI0OCwgMTE1LCA4LCAzLCAyNDgsIDExNCwgOCwgMywgMjQ4LCAxMjAsIDgsIDMsIDI0OCwgMTE2LCA4LCAzLCAKLSAgICAyNDgsIDExNywgOCwgMywgMjQ4LCAxMTksIDgsIDMsIDI0OCwgMTE4LCA4LCAzLCAyNDgsIDEzNiwgOCwgMywgMjQ4LCAxMzUsIAotICAgIDgsIDMsIDI0OCwgMTQzLCA4LCAzLCAyNDgsIDEzNywgOCwgMywgMjQ4LCAxMDUsIDgsIDMsIDI0OCwgMTA3LCA4LCAzLCAKLSAgICAyNDgsIDEwNiwgOCwgMywgMjQ4LCAxMTAsIDgsIDMsIDI0OCwgMTA5LCA4LCAzLCAyNDgsIDExMywgOCwgMywgMjQ4LCAxMTEsIAotICAgIDgsIDMsIDI0OCwgMTI4LCA4LCAzLCAyNDgsIDEzMSwgOCwgMywgMjQ4LCAxMjksIDgsIDMsIDI0OCwgMTAxLCA4LCAzLCAKLSAgICAyNDgsIDEwMCwgOCwgMywgMjQ4LCAxMDgsIDgsIDMsIDI0OCwgMTA0LCA4LCAzLCAyNDgsIDEwMiwgOCwgMywgMjQ4LCAxMDMsIAotICAgIDgsIDMsIDIyOSwgMTMxLCA4LCAzLCAyMjksIDEzMCwgOCwgMywgMjI5LCAxMzgsIDgsIDMsIDIyOSwgMTMzLCA4LCAzLCAKLSAgICAyMjksIDEzNCwgOCwgMywgMjI5LCAxMzUsIDgsIDMsIDIyOSwgMTQ3LCA4LCAzLCAyMjksIDE0NiwgOCwgMywgMjI5LCAxNTMsIAotICAgIDgsIDMsIDIyOSwgMTQ4LCA4LCAzLCAyMjksIDEyMywgOCwgMywgMjI5LCAxMjIsIDgsIDMsIDIyOSwgMTI5LCA4LCAzLCAKLSAgICAyMjksIDEyNCwgOCwgMywgMjI5LCAxMzksIDgsIDMsIDIyOSwgMTQ1LCA4LCAzLCAyMjksIDE0MywgOCwgMywgMjI5LCAxMTUsIAotICAgIDgsIDMsIDIyOSwgMTE0LCA4LCAzLCAyMjksIDEyMCwgOCwgMywgMjI5LCAxMTgsIDgsIDMsIDIyOSwgMTE2LCA4LCAzLCAKLSAgICAyMjksIDExNywgOCwgMywgMjQxLCA4NCwgOCwgMywgMjQxLCA4MywgOCwgMywgMjQxLCA5MCwgOCwgMywgMjQxLCA4NSwgOCwgCi0gICAgMywgMjQxLCA4NywgOCwgMywgMjQxLCA4NiwgOCwgMywgMjQxLCA4OSwgOCwgMywgMjQxLCA4OCwgOCwgMywgMjQxLCA5NSwgCi0gICAgOCwgMywgMjQxLCA5NCwgOCwgMywgMjQxLCA5NywgOCwgMywgMjQxLCA5NiwgOCwgMywgMjQxLCA3OCwgOCwgMywgMjQxLCAKLSAgICA3OSwgOCwgMywgMjQxLCA4MSwgOCwgMywgMjQxLCA4MCwgOCwgMywgMjQxLCA4MiwgOCwgMywgMjQxLCA5MSwgOCwgMywgCi0gICAgMjQxLCA5MywgOCwgMywgMjQxLCA5MiwgOCwgMywgMjQxLCA3NywgOCwgMywgMjI4LCAxOTQsIDgsIDMsIDIyOCwgMTkyLCA4LCAKLSAgICAzLCAyMjgsIDIzOCwgOCwgMywgMjI4LCAxOTcsIDgsIDMsIDIyOCwgMjIwLCA4LCAzLCAyMjgsIDIzNCwgOCwgMywgMjI4LCAKLSAgICAyMzMsIDgsIDMsIDIyOSwgMTg4LCA4LCAzLCAxOTgsIDgsIDMsIDIyOSwgMjAyLCA4LCAzLCAyMjcsIDE5MCwgOCwgMywgCi0gICAgMjI3LCAxOTIsIDgsIDMsIDIyNywgMTkxLCA4LCAzLCAyMjgsIDU2LCA4LCAzLCAyMjgsIDQzLCA4LCAzLCAyMjgsIDc5LCA4LCAKLSAgICAzLCAyMjgsIDY1LCA4LCAzLCAyMjksIDg4LCA4LCAzLCAyMjksIDExMiwgOCwgMywgMjI5LCA5OSwgOCwgMywgMjI3LCAxODUsIAotICAgIDgsIDMsIDIyNywgMTgxLCA4LCAzLCAyMjcsIDI0MiwgOCwgMywgMjI3LCAxODksIDgsIDMsIDIyNywgMTg3LCA4LCAzLCAKLSAgICAyMjcsIDE4OCwgOCwgMywgMjQxLCAxNDgsIDgsIDMsIDI0MSwgMTQ3LCA4LCAzLCAyNDEsIDE1MywgOCwgMywgMjQxLCAxNDksIAotICAgIDgsIDMsIDI0MSwgMTUwLCA4LCAzLCAyNDEsIDE1MiwgOCwgMywgMjQxLCAxNTEsIDgsIDMsIDI0MSwgMTU4LCA4LCAzLCAKLSAgICAyNDEsIDE1NywgOCwgMywgMjQxLCAxNjAsIDgsIDMsIDI0MSwgMTU5LCA4LCAzLCAyNDEsIDE0MCwgOCwgMywgMjQxLCAxNDIsIAotICAgIDgsIDMsIDI0MSwgMTQxLCA4LCAzLCAyNDEsIDE0NCwgOCwgMywgMjQxLCAxNDYsIDgsIDMsIDI0MSwgMTQ1LCA4LCAzLCAKLSAgICAyNDEsIDE1NCwgOCwgMywgMjQxLCAxNTYsIDgsIDMsIDI0MSwgMTU1LCA4LCAzLCAyNDEsIDEzNiwgOCwgMywgMjQxLCAxMzUsIAotICAgIDgsIDMsIDI0MSwgMTQzLCA4LCAzLCAyNDEsIDEzOSwgOCwgMywgMjQxLCAxMzcsIDgsIDMsIDI0MSwgMTM4LCA4LCAzLCAKLSAgICAyNDEsIDEzMCwgOCwgMywgMjQxLCAxMjksIDgsIDMsIDI0MSwgMTM0LCA4LCAzLCAyNDEsIDEzMywgOCwgMywgMjQxLCAxMzEsIAotICAgIDgsIDMsIDI0MSwgMTMyLCA4LCAzLCAyMzIsIDIwMSwgOCwgMywgMjMyLCAxOTUsIDgsIDMsIDIzMiwgMjQ3LCA4LCAzLCAKLSAgICAyMzIsIDIwOCwgOCwgMywgMjMyLCAyMzksIDgsIDMsIDIzMiwgMjM4LCA4LCAzLCAyMzIsIDI0MiwgOCwgMywgMjMyLCAyNDAsIAotICAgIDgsIDMsIDIzMywgODUsIDgsIDMsIDIzMywgNzUsIDgsIDMsIDIzMywgMTQxLCA4LCAzLCAyMzMsIDk0LCA4LCAzLCAyMzIsIAotICAgIDg0LCA4LCAzLCAyMzIsIDgzLCA4LCAzLCAyMzIsIDg2LCA4LCAzLCAyMzIsIDg1LCA4LCAzLCAyMzIsIDEyMiwgOCwgMywgCi0gICAgMjMyLCAxMTIsIDgsIDMsIDIzMiwgMTYyLCA4LCAzLCAyMzIsIDEyNiwgOCwgMywgMjMzLCA4LCA4LCAzLCAyMzMsIDY0LCA4LCAKLSAgICAzLCAyMzMsIDIzLCA4LCAzLCAyMzIsIDc5LCA4LCAzLCAyMzIsIDc3LCA4LCAzLCAyMzIsIDEwMywgOCwgMywgMjMyLCA4MiwgCi0gICAgOCwgMywgMjMyLCA4MCwgOCwgMywgMjMyLCA4MSwgOCwgMywgMjMyLCA1OSwgOCwgMywgMjMyLCA1OCwgOCwgMywgMjMyLCAKLSAgICA2NywgOCwgMywgMjMyLCA2MiwgOCwgMywgMjMyLCA2MCwgOCwgMywgMjMyLCA2MSwgOCwgMywgMjQyLCAxOTYsIDgsIDMsIAotICAgIDI0MiwgMTk1LCA4LCAzLCAyNDIsIDIyMSwgOCwgMywgMjQyLCAyMDYsIDgsIDMsIDI0MiwgMjEzLCA4LCAzLCAyNDIsIDIxMiwgCi0gICAgOCwgMywgMjQyLCAyMTUsIDgsIDMsIDI0MiwgMjE0LCA4LCAzLCAyNDMsIDk2LCA4LCAzLCAyNDMsIDkxLCA4LCAzLCAyNDMsIAotICAgIDE0MiwgOCwgMywgMjQzLCAxMDYsIDgsIDMsIDI0MiwgOTgsIDgsIDMsIDI0MiwgOTcsIDgsIDMsIDI0MiwgMTAwLCA4LCAzLCAKLSAgICAyNDIsIDk5LCA4LCAzLCAyNDIsIDE2MSwgOCwgMywgMjQyLCAxNTksIDgsIDMsIDI0MiwgMTgxLCA4LCAzLCAyNDIsIDE2OSwgCi0gICAgOCwgMywgMjQzLCA0MCwgOCwgMywgMjQzLCAzOCwgOCwgMywgMjQzLCA2OSwgOCwgMywgMjQzLCA1MSwgOCwgMywgMjQyLCAKLSAgICA4OCwgOCwgMywgMjQyLCA4NywgOCwgMywgMjQyLCAxMjAsIDgsIDMsIDI0MiwgOTYsIDgsIDMsIDI0MiwgODksIDgsIDMsIAotICAgIDI0MiwgOTUsIDgsIDMsIDIzNCwgNjcsIDgsIDMsIDIzNCwgNjYsIDgsIDMsIDIzNCwgOTgsIDgsIDMsIDIzNCwgODEsIDgsIAotICAgIDMsIDIzNCwgOTEsIDgsIDMsIDIzNCwgOTQsIDgsIDMsIDIzNCwgOTIsIDgsIDMsIDIzNCwgMjA4LCA4LCAzLCAyMzQsIDE5NiwgCi0gICAgOCwgMywgMTc2LCA4LCAzLCAyMzQsIDIzNCwgOCwgMywgMjMzLCAyMDYsIDgsIDMsIDIzMywgMjExLCA4LCAzLCAyMzMsIAotICAgIDIwOCwgOCwgMywgMjM0LCA2LCA4LCAzLCAyMzQsIDIsIDgsIDMsIDIzNCwgMzQsIDgsIDMsIDIzNCwgMTMsIDgsIDMsIDIzNCwgCi0gICAgMTYyLCA4LCAzLCAyMzQsIDE0NiwgOCwgMywgMjM0LCAxODgsIDgsIDMsIDIzNCwgMTY1LCA4LCAzLCAyMzMsIDE5NSwgOCwgCi0gICAgMywgMjMzLCAxOTIsIDgsIDMsIDIzMywgMjIzLCA4LCAzLCAyMzMsIDIwNSwgOCwgMywgMjMzLCAxOTgsIDgsIDMsIDIzMywgCi0gICAgMjAyLCA4LCAzLCAyNDMsIDIyLCA4LCAzLCAyNDMsIDIxLCA4LCAzLCAyNDMsIDI2LCA4LCAzLCAyNDMsIDIzLCA4LCAzLCAKLSAgICAyNDMsIDI1LCA4LCAzLCAyNDMsIDI0LCA4LCAzLCAyNDMsIDMzLCA4LCAzLCAyNDMsIDMyLCA4LCAzLCAyNDMsIDM2LCA4LCAKLSAgICAzLCAyNDMsIDM0LCA4LCAzLCAyNDMsIDEzLCA4LCAzLCAyNDMsIDEyLCA4LCAzLCAyNDMsIDE1LCA4LCAzLCAyNDMsIDE0LCAKLSAgICA4LCAzLCAyNDMsIDE4LCA4LCAzLCAyNDMsIDE3LCA4LCAzLCAyNDMsIDIwLCA4LCAzLCAyNDMsIDE5LCA4LCAzLCAyNDMsIAotICAgIDI4LCA4LCAzLCAyNDMsIDI3LCA4LCAzLCAyNDMsIDMxLCA4LCAzLCAyNDMsIDI5LCA4LCAzLCAyNDMsIDgsIDgsIDMsIDI0MywgCi0gICAgNywgOCwgMywgMjQzLCAxNiwgOCwgMywgMjQzLCAxMSwgOCwgMywgMjQzLCA5LCA4LCAzLCAyNDMsIDEwLCA4LCAzLCAyMzAsIAotICAgIDI1NCwgOCwgMywgMjMwLCAyNTUsIDgsIDMsIDIzMSwgMTcsIDgsIDMsIDIzMSwgMTYsIDgsIDMsIDIzMSwgMTksIDgsIDMsIAotICAgIDIzMSwgMTgsIDgsIDMsIDIzMCwgMjQ1LCA4LCAzLCAyMzAsIDI0NywgOCwgMywgMjMwLCAyNDYsIDgsIDMsIDIzMCwgMjUwLCAKLSAgICA4LCAzLCAyMzAsIDI0OSwgOCwgMywgMjMwLCAyNTIsIDgsIDMsIDIzMCwgMjUxLCA4LCAzLCAyMzEsIDAsIDgsIDMsIDIzMSwgCi0gICAgMiwgOCwgMywgMjMxLCAxLCA4LCAzLCAyMzAsIDI0MSwgOCwgMywgMjMwLCAyNDAsIDgsIDMsIDIzMCwgMjQ4LCA4LCAzLCAKLSAgICAyMzAsIDI0NCwgOCwgMywgMjMwLCAyNDIsIDgsIDMsIDIzMCwgMjQzLCA4LCAzLCAyNDAsIDE4NywgOCwgMywgMjQwLCAxODYsIAotICAgIDgsIDMsIDI0MCwgMTkzLCA4LCAzLCAyNDAsIDE4OCwgOCwgMywgMjQwLCAxOTAsIDgsIDMsIDI0MCwgMTg5LCA4LCAzLCAKLSAgICAyNDAsIDE5MiwgOCwgMywgMjQwLCAxOTEsIDgsIDMsIDI0MCwgMTk4LCA4LCAzLCAyNDAsIDE5NywgOCwgMywgMjQwLCAyMDAsIAotICAgIDgsIDMsIDI0MCwgMTk5LCA4LCAzLCAyNDAsIDE3OSwgOCwgMywgMjQwLCAxNzgsIDgsIDMsIDI0MCwgMTgxLCA4LCAzLCAKLSAgICAyNDAsIDE4MCwgOCwgMywgMjQwLCAxODMsIDgsIDMsIDI0MCwgMTgyLCA4LCAzLCAyNDAsIDE4NSwgOCwgMywgMjQwLCAxODQsIAotICAgIDgsIDMsIDI0MCwgMTk0LCA4LCAzLCAyNDAsIDE5NiwgOCwgMywgMjQwLCAxOTUsIDgsIDMsIDIyOSwgMjksIDgsIDMsIDIyOSwgCi0gICAgMzEsIDgsIDMsIDIyOSwgMzAsIDgsIDMsIDIyOSwgNzIsIDgsIDMsIDIyOSwgNzAsIDgsIDMsIDIyOSwgODIsIDgsIDMsIAotICAgIDIyOSwgNzUsIDgsIDMsIDIyOCwgMjQ4LCA4LCAzLCAyMjgsIDI0NywgOCwgMywgMjI4LCAyNDksIDgsIDMsIDIyOSwgMSwgOCwgCi0gICAgMywgMjI4LCAyNTQsIDgsIDMsIDIyOSwgOSwgOCwgMywgMjI5LCAzLCA4LCAzLCAyMjksIDYzLCA4LCAzLCAyMjksIDY5LCA4LCAKLSAgICAzLCAyMjksIDY1LCA4LCAzLCAyNDEsIDE2MywgOCwgMywgMjQxLCAxNzMsIDgsIDMsIDI0MSwgMTgyLCA4LCAzLCAyNDIsIDIsIAotICAgIDgsIDMsIDI0MSwgMjUwLCA4LCAzLCAxNjIsIDgsIDMsIDI0MiwgMTMsIDgsIDMsIDI0MCwgMjEzLCA4LCAzLCAyNDAsIDIxMiwgCi0gICAgOCwgMywgMjQwLCAyMTUsIDgsIDMsIDI0MCwgMjE0LCA4LCAzLCAyNDAsIDI0OSwgOCwgMywgMjQwLCAyNDAsIDgsIDMsIAotICAgIDI0MSwgNzUsIDgsIDMsIDI0MSwgNTQsIDgsIDMsIDI0MSwgMjAxLCA4LCAzLCAyNDEsIDI0NSwgOCwgMywgMjQxLCAyMTMsIAotICAgIDgsIDMsIDIxMiwgNDMsIDgsIDMsIDIxMiwgMjgsIDgsIDMsIDIxMiwgNjUsIDgsIDMsIDIxMiwgNTEsIDgsIDMsIDIxMSwgCi0gICAgMTg1LCA4LCAzLCAyMTEsIDE4NywgOCwgMywgMjExLCAxODYsIDgsIDMsIDIxMSwgMjAzLCA4LCAzLCAyMTEsIDIyNywgOCwgCi0gICAgMywgMjExLCAyMTAsIDgsIDMsIDIxMiwgNSwgOCwgMywgMjEyLCAyMiwgOCwgMywgMjEyLCAxMCwgOCwgMywgMjEwLCAzMCwgCi0gICAgOCwgMywgMjEwLCAyOSwgOCwgMywgMjEwLCA0NCwgOCwgMywgMjEwLCAzMiwgOCwgMywgMjEwLCAzNywgOCwgMywgMjEwLCAKLSAgICAzOSwgOCwgMywgMjEwLCAzOCwgOCwgMywgMjEwLCAxMDIsIDgsIDMsIDIxMCwgOTksIDgsIDMsIDIxMCwgMTE2LCA4LCAzLCAKLSAgICAyMTAsIDEwNSwgOCwgMywgMjEwLCA2LCA4LCAzLCAyMTAsIDgsIDgsIDMsIDIxMCwgNywgOCwgMywgMjEwLCAxOSwgOCwgMywgCi0gICAgMjEwLCAxOCwgOCwgMywgMjEwLCAyMywgOCwgMywgMjEwLCAyMCwgOCwgMywgMjEwLCA4NCwgOCwgMywgMjEwLCA5NCwgOCwgCi0gICAgMywgMjEwLCA4OCwgOCwgMywgMjEwLCAyLCA4LCAzLCAyMTAsIDEsIDgsIDMsIDIxMCwgMTMsIDgsIDMsIDIxMCwgNSwgOCwgCi0gICAgMywgMjEwLCAzLCA4LCAzLCAyMTAsIDQsIDgsIDMsIDIwOSwgMjQ1LCA4LCAzLCAyMDksIDI0NCwgOCwgMywgMjA5LCAyNTAsIAotICAgIDgsIDMsIDIwOSwgMjQ4LCA4LCAzLCAyMDksIDI0NiwgOCwgMywgMjA5LCAyNDcsIDgsIDMsIDI1MCwgMzYsIDgsIDMsIDI1MCwgCi0gICAgMzIsIDgsIDMsIDI1MCwgNTksIDgsIDMsIDI1MCwgNDUsIDgsIDMsIDI1MCwgNTYsIDgsIDMsIDI1MCwgNTAsIDgsIDMsIAotICAgIDI1MCwgNTgsIDgsIDMsIDI1MCwgNTcsIDgsIDMsIDI1MCwgMjMyLCA4LCAzLCAyNTAsIDIyNSwgOCwgMywgMjUxLCA0MSwgOCwgCi0gICAgMywgMjUxLCAzLCA4LCAzLCAyNDksIDExMiwgOCwgMywgMjQ5LCAxMTQsIDgsIDMsIDI0OSwgMTEzLCA4LCAzLCAyNDksIAotICAgIDE2MSwgOCwgMywgMjQ5LCAxNTIsIDgsIDMsIDI0OSwgMjQ2LCA4LCAzLCAyNDksIDE3NywgOCwgMywgMjUwLCAxNjgsIDgsIAotICAgIDMsIDI1MCwgMTk4LCA4LCAzLCAyNTAsIDE3MywgOCwgMywgMjQ5LCA5MiwgOCwgMywgMjQ5LCA5MCwgOCwgMywgMjQ5LCAKLSAgICAxMjAsIDgsIDMsIDI0OSwgMTEwLCA4LCAzLCAyNDksIDk3LCA4LCAzLCAyNDksIDEwOSwgOCwgMywgMjQ5LCA3MSwgOCwgMywgCi0gICAgMjQ5LCA3MCwgOCwgMywgMjQ5LCA4MSwgOCwgMywgMjQ5LCA3NywgOCwgMywgMjQ5LCA3MiwgOCwgMywgMjQ5LCA3NCwgOCwgCi0gICAgMywgMjA5LCAyMjgsIDgsIDMsIDIwOSwgMjI3LCA4LCAzLCAyMDksIDIzNCwgOCwgMywgMjA5LCAyMjksIDgsIDMsIDIwOSwgCi0gICAgMjMxLCA4LCAzLCAyMDksIDIzMCwgOCwgMywgMjA5LCAyMzMsIDgsIDMsIDIwOSwgMjMyLCA4LCAzLCAyMDksIDI0MCwgOCwgCi0gICAgMywgMjA5LCAyMzksIDgsIDMsIDIwOSwgMjQzLCA4LCAzLCAyMDksIDI0MSwgOCwgMywgMjA5LCAyMjQsIDgsIDMsIDIwOSwgCi0gICAgMjI2LCA4LCAzLCAyMDksIDIyNSwgOCwgMywgMjA5LCAyMzUsIDgsIDMsIDIwOSwgMjM4LCA4LCAzLCAyMDksIDIzNiwgOCwgCi0gICAgMywgMjA5LCAyMTcsIDgsIDMsIDIwOSwgMjIxLCA4LCAzLCAyMDksIDIyMCwgOCwgMywgMjA5LCAyMTgsIDgsIDMsIDIwOSwgCi0gICAgMjE5LCA4LCAzLCAyMDksIDIxMSwgOCwgMywgMjA5LCAyMTAsIDgsIDMsIDIwOSwgMjE2LCA4LCAzLCAyMDksIDIxNCwgOCwgCi0gICAgMywgMjA5LCAyMTIsIDgsIDMsIDIwOSwgMjEzLCA4LCAzLCAyMjcsIDEwOCwgOCwgMywgMjI3LCAxMDcsIDgsIDMsIDIyNywgCi0gICAgMTEzLCA4LCAzLCAyMjcsIDEwOSwgOCwgMywgMjI3LCAxMTAsIDgsIDMsIDIyNywgMTEyLCA4LCAzLCAyMjcsIDExMSwgOCwgCi0gICAgMywgMjI3LCAxMTgsIDgsIDMsIDIyNywgMTE3LCA4LCAzLCAyMjcsIDEyMSwgOCwgMywgMjI3LCAxMjAsIDgsIDMsIDIyNywgCi0gICAgMTAxLCA4LCAzLCAyMjcsIDEwMiwgOCwgMywgMjI3LCAxMDUsIDgsIDMsIDIyNywgMTA2LCA4LCAzLCAyMjcsIDExNCwgOCwgCi0gICAgMywgMjI3LCAxMTYsIDgsIDMsIDIyNywgOTYsIDgsIDMsIDIyNywgMTA0LCA4LCAzLCAyMjcsIDEwMCwgOCwgMywgMjI3LCAKLSAgICA5NywgOCwgMywgMjI3LCA5OCwgOCwgMywgMjI3LCA5MSwgOCwgMywgMjI3LCA5MCwgOCwgMywgMjI3LCA5NSwgOCwgMywgCi0gICAgMjI3LCA5NCwgOCwgMywgMjI3LCA5MiwgOCwgMywgMjI3LCA5MywgOCwgMywgMjE5LCAxMjksIDgsIDMsIDE5NSwgOCwgMywgCi0gICAgMjE5LCAxOTMsIDgsIDMsIDIxOSwgMTMyLCA4LCAzLCAyMTksIDE4NSwgOCwgMywgMjE5LCAxODgsIDgsIDMsIDIxOSwgMTg2LCAKLSAgICA4LCAzLCAyMjEsIDIyOCwgOCwgMywgMjIxLCAyMTYsIDgsIDMsIDIwNiwgOCwgMywgMjIxLCAyMzYsIDgsIDMsIDIxOCwgMjksIAotICAgIDgsIDMsIDIxOCwgMzEsIDgsIDMsIDIxOCwgMzAsIDgsIDMsIDIxOSwgMzYsIDgsIDMsIDIxOSwgMjUsIDgsIDMsIDIxOSwgCi0gICAgNjAsIDgsIDMsIDIxOSwgNDAsIDgsIDMsIDIyMCwgMTE2LCA4LCAzLCAyMjEsIDE4MywgOCwgMywgMjIwLCAxNDEsIDgsIDMsIAotICAgIDIxOCwgNiwgOCwgMywgMjE4LCA0LCA4LCAzLCAyMTgsIDg0LCA4LCAzLCAyMTgsIDI4LCA4LCAzLCAyMTgsIDEwLCA4LCAzLCAKLSAgICAyMTgsIDE4LCA4LCAzLCAyMTcsIDE2NywgOCwgMywgMjE3LCAxNjYsIDgsIDMsIDIxNywgMjMzLCA4LCAzLCAyMTcsIDE3NCwgCi0gICAgOCwgMywgMjE3LCAxNjksIDgsIDMsIDIxNywgMTczLCA4LCAzLCAyMTgsIDE4OCwgOCwgMywgMjE4LCAxODcsIDgsIDMsIAotICAgIDIxOCwgMTk0LCA4LCAzLCAyMTgsIDE4OSwgOCwgMywgMjE4LCAxOTEsIDgsIDMsIDIxOCwgMTkzLCA4LCAzLCAyMTgsIDE5MiwgCi0gICAgOCwgMywgMjE4LCAyMDIsIDgsIDMsIDIxOCwgMjAwLCA4LCAzLCAyMTgsIDIyNSwgOCwgMywgMjE4LCAyMDMsIDgsIDMsIAotICAgIDIxOCwgMTgzLCA4LCAzLCAyMTgsIDE4MiwgOCwgMywgMjE4LCAxODYsIDgsIDMsIDIxOCwgMTg0LCA4LCAzLCAyMTgsIDE5NiwgCi0gICAgOCwgMywgMjE4LCAxOTksIDgsIDMsIDIxOCwgMTk3LCA4LCAzLCAyMTgsIDE3OSwgOCwgMywgMjE4LCAxNzcsIDgsIDMsIAotICAgIDIxOCwgMTgxLCA4LCAzLCAyMTgsIDE4MCwgOCwgMywgMjE4LCAxNzIsIDgsIDMsIDIxOCwgMTcxLCA4LCAzLCAyMTgsIDE3NiwgCi0gICAgOCwgMywgMjE4LCAxNzUsIDgsIDMsIDIxOCwgMTczLCA4LCAzLCAyMTgsIDE3NCwgOCwgMywgMjEwLCA3NywgOCwgMywgMjEwLCAKLSAgICA3NiwgOCwgMywgMjEwLCA4MiwgOCwgMywgMjEwLCA3OSwgOCwgMywgMjEwLCA1OSwgOCwgMywgMjEwLCA2MSwgOCwgMywgCi0gICAgMjEwLCA2MCwgOCwgMywgMjEwLCA2NCwgOCwgMywgMjEwLCA2MywgOCwgMywgMjEwLCA2NywgOCwgMywgMjEwLCA2NSwgOCwgCi0gICAgMywgMjEwLCA3MSwgOCwgMywgMjEwLCA3MCwgOCwgMywgMjEwLCA3NCwgOCwgMywgMjEwLCA3MiwgOCwgMywgMjEwLCA1NSwgCi0gICAgOCwgMywgMjEwLCA1NCwgOCwgMywgMjEwLCA2MiwgOCwgMywgMjEwLCA1OCwgOCwgMywgMjEwLCA1NiwgOCwgMywgMjEwLCAKLSAgICA1NywgOCwgMywgMjEwLCA0NywgOCwgMywgMjEwLCA0NiwgOCwgMywgMjEwLCA1MSwgOCwgMywgMjEwLCA1MCwgOCwgMywgCi0gICAgMjEwLCA0OCwgOCwgMywgMjEwLCA0OSwgOCwgMywgMjUwLCAxNDQsIDgsIDMsIDI1MCwgMTQxLCA4LCAzLCAyNTAsIDE2NSwgCi0gICAgOCwgMywgMjUwLCAxNTIsIDgsIDMsIDI1MCwgNzMsIDgsIDMsIDI1MCwgNzIsIDgsIDMsIDI1MCwgNzUsIDgsIDMsIDI1MCwgCi0gICAgNzQsIDgsIDMsIDI1MCwgODcsIDgsIDMsIDI1MCwgODYsIDgsIDMsIDI1MCwgOTQsIDgsIDMsIDI1MCwgODksIDgsIDMsIAotICAgIDI1MCwgMTIzLCA4LCAzLCAyNTAsIDEyMSwgOCwgMywgMjUwLCAxMzksIDgsIDMsIDI1MCwgMTI5LCA4LCAzLCAyNTAsIDY3LCAKLSAgICA4LCAzLCAyNTAsIDc3LCA4LCAzLCAyNTAsIDcxLCA4LCAzLCAyNTAsIDY4LCA4LCAzLCAyNTAsIDcwLCA4LCAzLCAyNTAsIAotICAgIDYxLCA4LCAzLCAyNTAsIDYwLCA4LCAzLCAyNTAsIDY1LCA4LCAzLCAyNTAsIDY0LCA4LCAzLCAyNTAsIDYyLCA4LCAzLCAKLSAgICAyNTAsIDYzLCA4LCAzLCAyMjIsIDE3NywgOCwgMywgMjIyLCAxODEsIDgsIDMsIDIyMiwgMTYwLCA4LCAzLCAyMjIsIDE2MSwgCi0gICAgOCwgMywgMjIyLCAxNjQsIDgsIDMsIDIyMiwgMTYzLCA4LCAzLCAyMjIsIDE2NywgOCwgMywgMjIyLCAxNjUsIDgsIDMsIAotICAgIDIyMiwgMTcxLCA4LCAzLCAyMjIsIDE3MCwgOCwgMywgMjIyLCAxNzYsIDgsIDMsIDIyMiwgMTcyLCA4LCAzLCAyMjIsIDE1NiwgCi0gICAgOCwgMywgMjIyLCAxNTQsIDgsIDMsIDIyMiwgMTYyLCA4LCAzLCAyMjIsIDE1OSwgOCwgMywgMjIyLCAxNTcsIDgsIDMsIAotICAgIDIyMiwgMTU4LCA4LCAzLCAyMjIsIDE0OSwgOCwgMywgMjIyLCAxNDgsIDgsIDMsIDIyMiwgMTUzLCA4LCAzLCAyMjIsIDE1MiwgCi0gICAgOCwgMywgMjIyLCAxNTAsIDgsIDMsIDIyMiwgMTUxLCA4LCAzLCAyMjgsIDM5LCA4LCAzLCAyMjgsIDM4LCA4LCAzLCAyMjgsIAotICAgIDQxLCA4LCAzLCAyMjgsIDQwLCA4LCAzLCAyMjgsIDMxLCA4LCAzLCAyMjgsIDMzLCA4LCAzLCAyMjgsIDMyLCA4LCAzLCAKLSAgICAyMjgsIDM1LCA4LCAzLCAyMjgsIDM0LCA4LCAzLCAyMjgsIDM3LCA4LCAzLCAyMjgsIDM2LCA4LCAzLCAyMjgsIDI2LCA4LCAKLSAgICAzLCAyMjgsIDI1LCA4LCAzLCAyMjgsIDMwLCA4LCAzLCAyMjgsIDI5LCA4LCAzLCAyMjgsIDI3LCA4LCAzLCAyMjgsIDI4LCAKLSAgICA4LCAzLCAyMjgsIDIwLCA4LCAzLCAyMjgsIDE5LCA4LCAzLCAyMjgsIDI0LCA4LCAzLCAyMjgsIDIzLCA4LCAzLCAyMjgsIAotICAgIDIxLCA4LCAzLCAyMjgsIDIyLCA4LCAzLCAyMjAsIDc0LCA4LCAzLCAyMjAsIDY5LCA4LCAzLCAyMjAsIDEwNCwgOCwgMywgCi0gICAgMjIwLCA4NSwgOCwgMywgMjE5LCAyMTcsIDgsIDMsIDIxOSwgMjE5LCA4LCAzLCAyMTksIDIxOCwgOCwgMywgMjE5LCAyMzgsIAotICAgIDgsIDMsIDIxOSwgMjM1LCA4LCAzLCAyMjAsIDksIDgsIDMsIDIyMCwgMCwgOCwgMywgMjIwLCA0NCwgOCwgMywgMjIwLCAzNywgCi0gICAgOCwgMywgMjIwLCA2NSwgOCwgMywgMjIwLCA1MiwgOCwgMywgMjE5LCAyMTMsIDgsIDMsIDIxOSwgMjExLCA4LCAzLCAyMTksIAotICAgIDIyNywgOCwgMywgMjE5LCAyMTYsIDgsIDMsIDIxOSwgMjE0LCA4LCAzLCAyMTksIDIxNSwgOCwgMywgMjE5LCAxOTYsIDgsIAotICAgIDMsIDIxOSwgMTk1LCA4LCAzLCAyMTksIDIwMiwgOCwgMywgMjE5LCAxOTksIDgsIDMsIDIxOSwgMTk3LCA4LCAzLCAyMTksIAotICAgIDE5OCwgOCwgMywgMjIzLCAxNDQsIDgsIDMsIDIyMywgMTM4LCA4LCAzLCAyMDUsIDgsIDMsIDIyMywgMTUwLCA4LCAzLCAKLSAgICAyMjIsIDEyMiwgOCwgMywgMjIyLCAxMjQsIDgsIDMsIDIyMiwgMTIzLCA4LCAzLCAyMjIsIDE5MCwgOCwgMywgMjIyLCAxODMsIAotICAgIDgsIDMsIDIyMiwgMjEzLCA4LCAzLCAyMjIsIDE5NCwgOCwgMywgMjIzLCA0NiwgOCwgMywgMjIzLCAxMzEsIDgsIDMsIDIyMywgCi0gICAgODQsIDgsIDMsIDIyMiwgMTE1LCA4LCAzLCAyMjIsIDExMiwgOCwgMywgMjIyLCAxNDIsIDgsIDMsIDIyMiwgMTIxLCA4LCAzLCAKLSAgICAyMjIsIDExNywgOCwgMywgMjIyLCAxMTgsIDgsIDMsIDIyMiwgOTcsIDgsIDMsIDIyMiwgOTYsIDgsIDMsIDIyMiwgMTAyLCAKLSAgICA4LCAzLCAyMjIsIDEwMCwgOCwgMywgMjIyLCA5OCwgOCwgMywgMjIyLCA5OSwgOCwgMywgMjM1LCAxMDQsIDgsIDMsIDIzNSwgCi0gICAgMTAzLCA4LCAzLCAyMzUsIDExNCwgOCwgMywgMjM1LCAxMDUsIDgsIDMsIDIzNSwgMTEwLCA4LCAzLCAyMzUsIDEwOSwgOCwgCi0gICAgMywgMjM1LCAxMTIsIDgsIDMsIDIzNSwgMTExLCA4LCAzLCAyMzUsIDQ3LCA4LCAzLCAyMzUsIDQ2LCA4LCAzLCAyMzUsIDQ5LCAKLSAgICA4LCAzLCAyMzUsIDQ4LCA4LCAzLCAyMzUsIDYyLCA4LCAzLCAyMzUsIDYwLCA4LCAzLCAyMzUsIDc0LCA4LCAzLCAyMzUsIAotICAgIDY0LCA4LCAzLCAyMzUsIDQwLCA4LCAzLCAyMzUsIDM4LCA4LCAzLCAyMzUsIDU3LCA4LCAzLCAyMzUsIDQ1LCA4LCAzLCAKLSAgICAyMzUsIDQyLCA4LCAzLCAyMzUsIDQzLCA4LCAzLCAyMzUsIDMyLCA4LCAzLCAyMzUsIDMxLCA4LCAzLCAyMzUsIDM2LCA4LCAKLSAgICAzLCAyMzUsIDM1LCA4LCAzLCAyMzUsIDMzLCA4LCAzLCAyMzUsIDM0LCA4LCAzLCAyMjQsIDQ5LCA4LCAzLCAyMjQsIDQ3LCAKLSAgICA4LCAzLCAyMjQsIDU2LCA4LCAzLCAyMjQsIDUwLCA4LCAzLCAyMjQsIDUzLCA4LCAzLCAyMjQsIDUyLCA4LCAzLCAyMjQsIAotICAgIDU1LCA4LCAzLCAyMjQsIDU0LCA4LCAzLCAyMjQsIDIsIDgsIDMsIDIyMywgMjU1LCA4LCAzLCAyMjQsIDQsIDgsIDMsIDIyNCwgCi0gICAgMywgOCwgMywgMjI0LCAzNiwgOCwgMywgMjI0LCAzNSwgOCwgMywgMjI0LCA0NSwgOCwgMywgMjI0LCAzOSwgOCwgMywgMjIzLCAKLSAgICAyNTAsIDgsIDMsIDIyMywgMjQ2LCA4LCAzLCAyMjQsIDMzLCA4LCAzLCAyMjMsIDI1NCwgOCwgMywgMjIzLCAyNTIsIDgsIDMsIAotICAgIDIyMywgMjUzLCA4LCAzLCAyMjMsIDIzMCwgOCwgMywgMjIzLCAyMjgsIDgsIDMsIDIyMywgMjQwLCA4LCAzLCAyMjMsIDIzMywgCi0gICAgOCwgMywgMjIzLCAyMzEsIDgsIDMsIDIyMywgMjMyLCA4LCAzLCAyMzUsIDkzLCA4LCAzLCAyMzUsIDkyLCA4LCAzLCAyMzUsIAotICAgIDk5LCA4LCAzLCAyMzUsIDk0LCA4LCAzLCAyMzUsIDk2LCA4LCAzLCAyMzUsIDk1LCA4LCAzLCAyMzUsIDk4LCA4LCAzLCAKLSAgICAyMzUsIDk3LCA4LCAzLCAyMzUsIDg0LCA4LCAzLCAyMzUsIDg2LCA4LCAzLCAyMzUsIDg1LCA4LCAzLCAyMzUsIDg5LCA4LCAKLSAgICAzLCAyMzUsIDg4LCA4LCAzLCAyMzUsIDkxLCA4LCAzLCAyMzUsIDkwLCA4LCAzLCAyMzUsIDgwLCA4LCAzLCAyMzUsIDc5LCAKLSAgICA4LCAzLCAyMzUsIDg3LCA4LCAzLCAyMzUsIDgzLCA4LCAzLCAyMzUsIDgxLCA4LCAzLCAyMzUsIDgyLCA4LCAzLCAyMzUsIAotICAgIDc2LCA4LCAzLCAyMzUsIDc1LCA4LCAzLCAyMzUsIDc4LCA4LCAzLCAyMzUsIDc3LCA4LCAzLCAyMjgsIDE2NywgOCwgMywgCi0gICAgMjI4LCAxNjYsIDgsIDMsIDIyOCwgMTc0LCA4LCAzLCAyMjgsIDE2OCwgOCwgMywgMjI4LCAxNzAsIDgsIDMsIDIyOCwgMTY5LCAKLSAgICA4LCAzLCAyMjgsIDE3MywgOCwgMywgMjI4LCAxNzEsIDgsIDMsIDIyOCwgMTU2LCA4LCAzLCAyMjgsIDE1NywgOCwgMywgCi0gICAgMjI4LCAxNjIsIDgsIDMsIDIyOCwgMTYxLCA4LCAzLCAyMjgsIDE2NSwgOCwgMywgMjI4LCAxNjMsIDgsIDMsIDIyOCwgMTUxLCAKLSAgICA4LCAzLCAyMjgsIDE2MCwgOCwgMywgMjI4LCAxNTUsIDgsIDMsIDIyOCwgMTUyLCA4LCAzLCAyMjgsIDE1MywgOCwgMywgCi0gICAgMjI4LCAxNDYsIDgsIDMsIDIyOCwgMTQ1LCA4LCAzLCAyMjgsIDE1MCwgOCwgMywgMjI4LCAxNDksIDgsIDMsIDIyOCwgMTQ3LCAKLSAgICA4LCAzLCAyMjgsIDE0OCwgOCwgMywgMjI3LCAxNDEsIDgsIDMsIDIyNywgMTQwLCA4LCAzLCAyMjcsIDE1MiwgOCwgMywgCi0gICAgMjI3LCAxNDUsIDgsIDMsIDIyNywgMTQ5LCA4LCAzLCAyMjcsIDE0OCwgOCwgMywgMjI3LCAxNTEsIDgsIDMsIDIyNywgMTUwLCAKLSAgICA4LCAzLCAyMjcsIDEyOCwgOCwgMywgMjI3LCAxMzAsIDgsIDMsIDIyNywgMTI5LCA4LCAzLCAyMjcsIDEzNCwgOCwgMywgCi0gICAgMjI3LCAxMzMsIDgsIDMsIDIyNywgMTM4LCA4LCAzLCAyMjcsIDEzNSwgOCwgMywgMjI3LCAxMjYsIDgsIDMsIDIyNywgMTI0LCAKLSAgICA4LCAzLCAyMjcsIDEzMiwgOCwgMywgMjI3LCAxMjcsIDgsIDMsIDIxMSwgMTUwLCA4LCAzLCAyMTEsIDE0OSwgOCwgMywgCi0gICAgMjExLCAxNTcsIDgsIDMsIDIxMSwgMTUyLCA4LCAzLCAyMTEsIDE1NCwgOCwgMywgMjExLCAxNTMsIDgsIDMsIDIxMSwgMTU2LCAKLSAgICA4LCAzLCAyMTEsIDE1NSwgOCwgMywgMjExLCAxMzksIDgsIDMsIDIxMSwgMTQwLCA4LCAzLCAyMTEsIDE0NCwgOCwgMywgCi0gICAgMjExLCAxNDMsIDgsIDMsIDIxMSwgMTQ4LCA4LCAzLCAyMTEsIDE0NiwgOCwgMywgMjExLCAxMjEsIDgsIDMsIDIxMSwgMTE5LCAKLSAgICA4LCAzLCAyMTEsIDEzMSwgOCwgMywgMjExLCAxMjQsIDgsIDMsIDIxMSwgMTIyLCA4LCAzLCAyMTEsIDEyMywgOCwgMywgCi0gICAgMjEwLCAyNTAsIDgsIDMsIDIxMCwgMjQ4LCA4LCAzLCAyMTEsIDgsIDgsIDMsIDIxMCwgMjUxLCA4LCAzLCAyMTEsIDIsIDgsIAotICAgIDMsIDIxMSwgMSwgOCwgMywgMjExLCA1LCA4LCAzLCAyMTEsIDMsIDgsIDMsIDIxMCwgMTkxLCA4LCAzLCAyMTAsIDE5MCwgOCwgCi0gICAgMywgMjEwLCAxOTQsIDgsIDMsIDIxMCwgMTkyLCA4LCAzLCAyMTAsIDIyNCwgOCwgMywgMjEwLCAyMjEsIDgsIDMsIDIxMCwgCi0gICAgMjQ0LCA4LCAzLCAyMTAsIDIyOCwgOCwgMywgMjEwLCAxODIsIDgsIDMsIDIxMCwgMTc4LCA4LCAzLCAyMTAsIDIxMiwgOCwgCi0gICAgMywgMjEwLCAxODksIDgsIDMsIDIxMCwgMTg1LCA4LCAzLCAyMTAsIDE4NiwgOCwgMywgMjEwLCAxNjIsIDgsIDMsIDIxMCwgCi0gICAgMTYxLCA4LCAzLCAyMTAsIDE2OSwgOCwgMywgMjEwLCAxNjUsIDgsIDMsIDIxMCwgMTYzLCA4LCAzLCAyMTAsIDE2NCwgOCwgCi0gICAgMzQsIDIyNCwgMzYsIDgsIDM0LCAyMzIsIDI0NywgOCwgMzQsIDIzNCwgNjcsIDgsIDM0LCAyMjcsIDE0NSwgOCwgMzQsIAotICAgIDI0OSwgNzcsIDgsIDM0LCAyMTgsIDE5NCwgOCwgMzQsIDI0MywgMTksIDgsIDM0LCAyNDMsIDUxLCA4LCAzNCwgMjMwLCAKLSAgICAyMzUsIDgsIDM0LCAyNDAsIDE4NywgOCwgMzQsIDIzMiwgNjEsIDgsIDM0LCAyNTIsIDkxLCA4LCAzNCwgMjMwLCAxMzEsIDgsIAotICAgIDM0LCAyMTAsIDI0NCwgOCwgMzQsIDIyNCwgMTI0LCA4LCAzNCwgMjQwLCAxODEsIDgsIDM0LCAyMTcsIDQ3LCA4LCAzNCwgCi0gICAgMjQzLCAxNDIsIDgsIDM0LCAyMTAsIDUsIDgsIDM0LCAyNDksIDcxLCA4LCAzNCwgMjQ4LCAxMDMsIDgsIDM0LCAyNTEsIAotICAgIDEwNiwgOCwgMzQsIDI0MywgMTUsIDgsIDM0LCAyMjcsIDEzNSwgOCwgMzQsIDIxNSwgMTE5LCA4LCAzNCwgMjI2LCAxNzksIAotICAgIDgsIDM0LCAyMzUsIDgwLCA4LCAzNCwgMjEwLCAxOSwgOCwgMzQsIDIyNCwgMTAzLCA4LCAzNCwgMjQxLCAxMTUsIDgsIDM0LCAKLSAgICAyMTAsIDI1MCwgOCwgMzQsIDIxMiwgMTEyLCA4LCAzNCwgMjE5LCAyMDIsIDgsIDM0LCAyMTMsIDI0NCwgOCwgMzQsIDIxMCwgCi0gICAgMTE2LCA4LCAzNCwgMjM1LCA3NCwgOCwgMzQsIDIyNywgMTAwLCA4LCAzNCwgMjM1LCA3OCwgOCwgMzQsIDI0MiwgMTYxLCA4LCAKLSAgICAzNCwgMjM1LCA5OCwgOCwgMzQsIDIxMSwgMjI3LCA4LCAzNCwgMjQ2LCA4NiwgOCwgMzQsIDIxOSwgMjE1LCA4LCAzNCwgCi0gICAgMjMyLCAyNDIsIDgsIDM0LCAyNDksIDgxLCA4LCAzNCwgMjQ5LCAxMTMsIDgsIDM0LCAyNTAsIDQ1LCA4LCAzNCwgMjQwLCAKLSAgICAxODQsIDgsIDM0LCAyMjAsIDc0LCA4LCAzNCwgMjEwLCA0LCA4LCAzNCwgMjIwLCAwLCA4LCAzNCwgMjUwLCAxMzksIDgsIAotICAgIDM0LCAyMDksIDIzMSwgOCwgMzQsIDIyOSwgMTc4LCA4LCAzNCwgMjM0LCAxODgsIDIzMiwgMjAyLCAxLCAyNTIsIDE5OSwgCi0gICAgMjMyLCAyMDIsIDEsIDE5MSwgMjMyLCAyMDIsIDEsIDIyNSwgMTUwLCAyMzIsIDIwMiwgMSwgMjQ4LCAyMjksIDIzMiwgMjAyLCAKLSAgICAxLCAyMTcsIDEwNiwgMjMyLCAyMDIsIDEsIDIxNiwgMjA5LCAyMzIsIDIwMiwgMSwgMjQzLCAxNDIsIDIzMiwgMjAyLCAxLCAKLSAgICAxNzYsIDIzMiwgMjAyLCAxLCAyMzQsIDEzOCwgMjMyLCAyMDIsIDEsIDIzNSwgMTQ3LCAyMzIsIDIwMiwgMSwgMjUxLCA0MSwgCi0gICAgMjMyLCAyMDIsIDEsIDI1MCwgMTY1LCAyMzIsIDIwMiwgMSwgMjQ2LCA0NiwgMjMyLCAyMDIsIDEsIDIxNSwgMTg0LCAyMzIsIAotICAgIDIwMiwgMSwgMjE1LCAxNzYsIDIzMiwgMjAyLCAxLCAxODYsIDIzMiwgMjAyLCAxLCAxOTgsIDIzMiwgMjAyLCAxLCAyMzMsIAotICAgIDE0MSwgMjMyLCAyMDIsIDEsIDIwNiwgMjMyLCAyMDIsIDEsIDIxMCwgODIsIDIzMiwgMjAyLCAxLCAyMTAsIDExNiwgMjMyLCAKLSAgICAyMDIsIDEsIDIyOSwgODIsIDIzMiwgMjAyLCAxLCAxNjIsIDIzMiwgMjAyLCAxLCAyMTEsIDE2NSwgMjMyLCAyMDIsIDEsIAotICAgIDI0MSwgMTk2LCAyMzIsIDIwMiwgMSwgMjQ0LCAyMDQsIDIzMiwgMjAyLCAxLCAyMTIsIDY1LCAyMzIsIDIwMiwgMSwgMjIwLCAKLSAgICAxMDQsIDIzMiwgMjAyLCAxLCAxOTIsIDIzMiwgMjAyLCAxLCAyNDMsIDAsIDIzMiwgMjAyLCAxLCA2MSwgMjMyLCAyMDIsIDEsIAotICAgIDI1NCwgMjUyLCAyMzIsIDIwMiwgMSwgNzYsIDIzMiwgMjAyLCAxLCAyNDUsIDYzLCAyMzIsIDIwMiwgMSwgNzQsIDIzMiwgCi0gICAgMjAyLCAxLCA3OCwgMjMyLCAyMDIsIDEsIDY5LCAyMzIsIDIwMiwgMSwgMjE0LCAyMTQsIDIzMiwgMjAyLCAxLCAyMTQsIAotICAgIDIwOCwgMjMyLCAyMDIsIDEsIDIyNiwgMjM4LCAyMzIsIDIwMiwgMSwgMTM4LCAyMzAsIDM3LCAyMTYsIDExOCwgMjMyLCAKLSAgICAyMDIsIDEsIDEzOCwgMjI5LCAyMzQsIDIyNSwgMTksIDIzMiwgMjAyLCAxLCAxMzgsIDIzMCwgMzcsIDI0OSwgODAsIDIzMiwgCi0gICAgMjAyLCAxLCAxMzgsIDIzMCwgMzcsIDI1MSwgMjEzLCAyMzIsIDIwMiwgMSwgMTM4LCAyMzAsIDM3LCAxOTgsIDIzMiwgMjAyLCAKLSAgICAxLCAxMzgsIDIzMCwgMzcsIDIzNSwgMTIxLCAyMzIsIDIwMiwgMjI0LCAxNDQsIDI0OSwgMjI3LCAyMzIsIDIwMiwgMjI0LCAKLSAgICAxNDQsIDI0MywgMjM2LCAyMTgsIDEzMSwgNDEsIDMsIDI0NSwgMjE3LCA0MSwgMywgMjQ1LCAyMTMsIDQxLCAzLCAyNDEsIAotICAgIDIyNywgNDEsIDMsIDIxMiwgMTcsIDQxLCAzLCAyMTIsIDE2LCA0MSwgMywgMjI1LCAyMTQsIDQxLCAzLCAyNTIsIDIxLCA0MSwgCi0gICAgMywgMjUyLCA3NCwgNDEsIDMsIDIzMSwgMTIxLCA0MSwgMywgMjMzLCAyNTMsIDQxLCAzLCAyMzEsIDExLCA0MSwgMywgMjQzLCAKLSAgICA4MiwgNDEsIDMsIDI0NCwgMTU1LCA0MSwgMywgMjEzLCAyNTAsIDQxLCAzLCAyMTcsIDEyLCA0MSwgMywgMjE2LCAxOTUsIAotICAgIDQxLCAzLCAyNDgsIDI0LCA0MSwgMywgMjQ4LCAyMSwgNDEsIDMsIDIzMywgNTYsIDQxLCAzLCAyMjMsIDExMSwgNDEsIDMsIAotICAgIDI0OCwgODUsIDQxLCAzLCAyMjksIDE0NCwgNDEsIDMsIDIyMSwgMTcyLCA0MSwgMywgMjIwLCA2MywgNDEsIDMsIDIxMCwgCi0gICAgOTIsIDQxLCAzLCAyMTAsIDczLCA0MSwgMywgMjUwLCAxOTAsIDQxLCAzLCAyMzUsIDEzMCwgNDEsIDMsIDIyOCwgMTgxLCAKLSAgICA0MSwgMywgMjExLCA0NCwgNDEsIDMsIDIzNCwgMTg3LCA0MSwgMywgMjI5LCA1NiwgNDEsIDMsIDI0MywgNjIsIDQxLCAzLCAKLSAgICAyMzEsIDg1LCA0MSwgMywgMjI5LCAxMDgsIDQxLCAzLCAyMjcsIDE1OSwgNDEsIDMsIDc0LCA0MSwgMywgMjM2LCA2LCA0MSwgCi0gICAgMywgMjQxLCAxODcsIDQxLCAzLCAyNDEsIDE2NywgNDEsIDMsIDIxMSwgMjUwLCA0MSwgMywgMjExLCAyNDEsIDQxLCAzLCAKLSAgICAyMjUsIDExMSwgNDEsIDMsIDI1MiwgMTksIDQxLCAzLCAyNTIsIDE0LCA0MSwgMywgMjMxLCAxMTQsIDQxLCAzLCAyMzMsIAotICAgIDI1MCwgNDEsIDMsIDIzMSwgOCwgNDEsIDMsIDI0MywgNzgsIDQxLCAzLCAyNDQsIDEyOSwgNDEsIDMsIDIxMywgMTc2LCA0MSwgCi0gICAgMywgMjE2LCAxMTgsIDQxLCAzLCAyMTYsIDE3NiwgNDEsIDMsIDI0OCwgMTYsIDQxLCAzLCAyNDgsIDIwLCA0MSwgMywgMjMyLCAKLSAgICAyNDcsIDQxLCAzLCAyMjMsIDM4LCA0MSwgMywgMjQ4LCAxMSwgNDEsIDMsIDIyOSwgMTM4LCA0MSwgMywgMjE5LCAxOTMsIAotICAgIDQxLCAzLCAyMjAsIDM0LCA0MSwgMywgMjEwLCA0NCwgNDEsIDMsIDIxMCwgNjksIDQxLCAzLCAyNTAsIDU5LCA0MSwgMywgCi0gICAgMjM1LCAxMTQsIDQxLCAzLCAyMjgsIDE3NCwgNDEsIDMsIDIxMSwgOCwgNDEsIDMsIDIzNCwgOTgsIDQxLCAzLCAyMjksIDQ4LCAKLSAgICA0MSwgMywgMjQyLCAyMjEsIDQxLCAzLCAyMzAsIDIzNSwgNDEsIDMsIDIyOCwgMjM4LCA0MSwgMywgMjI3LCAxNTIsIDQxLCAKLSAgICAzLCA2MSwgNDEsIDMsIDI1NCwgMTMxLCA0MSwgMywgMjI5LCA3NywgNDEsIDMsIDE2MiwgNDEsIDMsIDI0MiwgMjUsIDQxLCAKLSAgICAzLCAyMTIsIDY1LCA0MSwgMywgMjEyLCA1NSwgNDEsIDMsIDE5MSwgNDEsIDMsIDI1MiwgMjYsIDQxLCAzLCAyNTIsIDE5OSwgCi0gICAgNDEsIDMsIDIzMSwgMTI5LCA0MSwgMywgMjM0LCAxLCA0MSwgMywgMjM0LCAwLCA0MSwgMywgMjMxLCAxNSwgNDEsIDMsIAotICAgIDI0MywgODYsIDQxLCAzLCAyNDQsIDIwNCwgNDEsIDMsIDIxNCwgMjcsIDQxLCAzLCAyMTcsIDEwNiwgNDEsIDMsIDIxNiwgCi0gICAgMjA5LCA0MSwgMywgMjQ4LCAzMywgNDEsIDMsIDI0OCwgMjMsIDQxLCAzLCAyMzMsIDE0MSwgNDEsIDMsIDIwNSwgNDEsIDMsIAotICAgIDI0OCwgMjI5LCA0MSwgMywgMjI5LCAxNTMsIDQxLCAzLCAyMDYsIDQxLCAzLCAyMjAsIDEwNCwgNDEsIDMsIDIxMCwgMTE2LCAKLSAgICA0MSwgMywgMjEwLCA4MiwgNDEsIDMsIDI1MSwgNDEsIDQxLCAzLCAyMzUsIDE0NywgNDEsIDMsIDIyOCwgMTkwLCA0MSwgMywgCi0gICAgMTkyLCA0MSwgMywgMTc2LCA0MSwgMywgMjM0LCAyNDAsIDQxLCAzLCAyMjksIDYxLCA0MSwgMywgMjQzLCAxNDIsIDQxLCAzLCAKLSAgICAxODYsIDQxLCAzLCAxOTgsIDQxLCAzLCAyMjcsIDE2OSwgNDEsIDMsIDIyNiwgMTg3LCA0MSwgMywgMjI2LCAxODMsIDQxLCAKLSAgICAzLCAyNDEsIDYwLCA0MSwgMywgMjExLCAyMTUsIDQxLCAzLCAyMTEsIDIxMSwgNDEsIDMsIDIyNCwgMjUyLCA0MSwgMywgCi0gICAgMjUyLCAxNywgNDEsIDMsIDI1MSwgMjAxLCA0MSwgMywgMjMxLCAxMDksIDQxLCAzLCAyMzMsIDI0OCwgNDEsIDMsIDIzMSwgCi0gICAgNCwgNDEsIDMsIDI0MywgNzQsIDQxLCAzLCAyNDQsIDQyLCA0MSwgMywgMjEzLCAxMjcsIDQxLCAzLCAyMTYsIDE4LCA0MSwgCi0gICAgMywgMjE2LCAxNTQsIDQxLCAzLCAyNDgsIDE0LCA0MSwgMywgMjQ4LCAxOCwgNDEsIDMsIDIzMiwgMTMzLCA0MSwgMywgMjIyLCAKLSAgICAxOTksIDQxLCAzLCAyNDcsIDEzMywgNDEsIDMsIDIyOSwgMTI1LCA0MSwgMywgMjE5LCA0MiwgNDEsIDMsIDIyMCwgMywgNDEsIAotICAgIDMsIDIxMCwgMjEsIDQxLCAzLCAyMTAsIDY2LCA0MSwgMywgMjQ5LCAxODIsIDQxLCAzLCAyMzUsIDY1LCA0MSwgMywgMjI4LCAKLSAgICAxNjQsIDQxLCAzLCAyMTAsIDIyOSwgNDEsIDMsIDIzNCwgMTYsIDQxLCAzLCAyMjksIDQ2LCA0MSwgMywgMjQyLCAxNzEsIAotICAgIDQxLCAzLCAyMzAsIDEzNywgNDEsIDMsIDIyOCwgNjksIDQxLCAzLCAyMjcsIDEzNiwgNDEsIDMsIDY5LCA0MSwgMywgMjE0LCAKLSAgICAxOTAsIDQxLCAzLCAyNDAsIDIyOSwgNDEsIDMsIDI0MCwgMjE5LCA0MSwgMywgMjExLCAxOTUsIDQxLCAzLCAyMTEsIDE4OSwgCi0gICAgNDEsIDMsIDIyNCwgMTUzLCA0MSwgMywgMjUyLCAxNiwgNDEsIDMsIDI1MSwgMTMzLCA0MSwgMywgMjMxLCAxMDgsIDQxLCAzLCAKLSAgICAyMzMsIDI0NiwgNDEsIDMsIDIzMSwgMywgNDEsIDMsIDI0MywgNzMsIDQxLCAzLCAyNDMsIDI0MSwgNDEsIDMsIDIxMiwgCi0gICAgMTE2LCA0MSwgMywgMjE1LCAxMTksIDQxLCAzLCAyMTYsIDEzNywgNDEsIDMsIDI0OCwgMTIsIDQxLCAzLCAyNDgsIDE3LCAKLSAgICA0MSwgMywgMjMyLCAxMDMsIDQxLCAzLCAyMjIsIDE0MiwgNDEsIDMsIDI0NiwgODYsIDQxLCAzLCAyMjksIDEyMCwgNDEsIDMsIAotICAgIDIxOCwgODQsIDQxLCAzLCAyMTksIDIyNywgNDEsIDMsIDIxMCwgMTMsIDQxLCAzLCAyMTAsIDYyLCA0MSwgMywgMjQ5LCAKLSAgICAxMjAsIDQxLCAzLCAyMzUsIDU3LCA0MSwgMywgMjI4LCAxNjAsIDQxLCAzLCAyMTAsIDIxMiwgNDEsIDMsIDIzMywgMjIzLCAKLSAgICA0MSwgMywgMjI5LCA0NSwgNDEsIDMsIDI0MiwgMTIwLCA0MSwgMywgMjMwLCAxMDcsIDQxLCAzLCAyMjcsIDI0MiwgNDEsIDMsIAotICAgIDIyNywgMTMyLCA0MSwgMywgNzgsIDQxLCAzLCAyMjYsIDIwMCwgNDEsIDMsIDIyOSwgNSwgNDEsIDMsIDI0MSwgNzUsIDQxLCAKLSAgICAzLCAyNDEsIDYzLCA0MSwgMywgMjExLCAyMjcsIDQxLCAzLCAyMTEsIDIxNiwgNDEsIDMsIDIyNSwgMTksIDQxLCAzLCAyNTIsIAotICAgIDE4LCA0MSwgMywgMjUxLCAyMTMsIDQxLCAzLCAyMzEsIDExMCwgNDEsIDMsIDIzMywgMjQ5LCA0MSwgMywgMjMxLCA2LCA0MSwgCi0gICAgMywgMjQzLCA3NiwgNDEsIDMsIDI0MywgNzUsIDQxLCAzLCAyNDQsIDUxLCA0MSwgMywgMjEzLCAxMzgsIDQxLCAzLCAxMTIsIAotICAgIDQxLCAzLCAyMTYsIDE1NywgNDEsIDMsIDI0OCwgMTUsIDQxLCAzLCAyNDgsIDE5LCA0MSwgMywgMjMyLCAxNjIsIDQxLCAzLCAKLSAgICAyMjIsIDIxMywgNDEsIDMsIDI0NywgMTUzLCA0MSwgMywgMjI5LCAxMjksIDQxLCAzLCAyMTksIDYwLCA0MSwgMywgMjIwLCAKLSAgICA5LCA0MSwgMywgMjEwLCAyMywgNDEsIDMsIDIxMCwgNjcsIDQxLCAzLCAyNDksIDI0NiwgNDEsIDMsIDIzNSwgNzQsIDQxLCAKLSAgICAzLCAyMjgsIDE2NSwgNDEsIDMsIDIxMCwgMjQ0LCA0MSwgMywgMjM0LCAzNCwgNDEsIDMsIDIyOSwgNDcsIDQxLCAzLCAyNDIsIAotICAgIDE4MSwgNDEsIDMsIDIzMCwgMTY2LCA0MSwgMywgMjI4LCA3OSwgNDEsIDMsIDIyNywgMTM4LCA0MSwgMywgNzYsIDQxLCAzLCAKLSAgICAyNDUsIDE1OCwgNDEsIDMsIDIyOSwgNjYsIDQxLCAzLCAyNDEsIDI0NSwgNDEsIDMsIDI0MSwgMjE2LCA0MSwgMywgMjEyLCAKLSAgICAyMiwgNDEsIDMsIDIxMiwgMTIsIDQxLCAzLCAyMjUsIDIyNCwgNDEsIDMsIDI1MiwgMjIsIDQxLCAzLCAyNTIsIDgzLCA0MSwgCi0gICAgMywgMjMxLCAxMjIsIDQxLCAzLCAyMzMsIDI1NCwgNDEsIDMsIDIzMywgMjUyLCA0MSwgMywgMjMxLCAxMiwgNDEsIDMsIAotICAgIDI0MywgODMsIDQxLCAzLCAyNDMsIDgxLCA0MSwgMywgMjQ0LCAxNjIsIDQxLCAzLCAyMTMsIDI1NSwgNDEsIDMsIDIxNywgCi0gICAgMjMsIDQxLCAzLCAyMTYsIDE5NiwgNDEsIDMsIDI0OCwgMjUsIDQxLCAzLCAyNDgsIDIyLCA0MSwgMywgMjMzLCA2NCwgNDEsIAotICAgIDMsIDIyMywgMTMxLCA0MSwgMywgMjQ4LCA5OCwgNDEsIDMsIDIyOSwgMTQ1LCA0MSwgMywgMjIxLCAxODMsIDQxLCAzLCAKLSAgICAyMjAsIDY1LCA0MSwgMywgMjEwLCA5NCwgNDEsIDMsIDIxMCwgNzQsIDQxLCAzLCAyNTAsIDE5OCwgNDEsIDMsIDIzNSwgCi0gICAgMTMyLCA0MSwgMywgMjI4LCAxODMsIDQxLCAzLCAyMTEsIDQ3LCA0MSwgMywgMjM0LCAxODgsIDQxLCAzLCAyMjksIDU3LCAKLSAgICA0MSwgMywgMjI5LCA1MywgNDEsIDMsIDI0MywgNjksIDQxLCAzLCAyNDMsIDU4LCA0MSwgMywgMjMxLCA5NiwgNDEsIDMsIAotICAgIDIyOSwgMTEyLCA0MSwgMywgMjI3LCAxNjAsIDQxLCAzLCAyMjksIDg0LCA0MSwgMywgMjMzLCAyOCwgNDEsIDI0OSwgMjI3LCAKLSAgICA0MSwgMjQzLCAyMzYsIDIxOCwgMTMxLCA0MSwgMjI0LCAxNiwgNzksIDQxLCAzLCAyMjksIDEyOCwgMjQ0LCAyMDQsIDQxLCAKLSAgICAzLCAyMjksIDEyOCwgMTc2LCA0MSwgMywgMjI5LCAxMjgsIDIxOSwgNDIsIDQxLCAxNiwgMjQ0LCAxNTIsIDQxLCAxNiwgCi0gICAgMjM0LCAxODYsIDQxLCAxNiwgMjE2LCA4MiwgNDEsIDE2LCAyMjgsIDIxMywgNDEsIDE2LCAyNTIsIDE1NSwgNDEsIDE2LCAKLSAgICAyNDQsIDIwMywgNDEsIDE2LCAyMTcsIDEwMiwgNDEsIDE2LCAyNDgsIDE4NCwgNDEsIDE2LCAyNDcsIDEzMiwgNDEsIDE2LCAKLSAgICAyMzMsIDIxMiwgNDEsIDE2LCAyMTYsIDIyLCA0MSwgMTYsIDI0NywgMTUyLCA0MSwgMTYsIDIzNSwgNjYsIDQxLCAyMSwgCi0gICAgMjEwLCA4NiwgNDEsIDIxLCAxMTEsIDQxLCAyMSwgMTA1LCA0MSwgMjEsIDE1OCwgNDEsIDIxLCAxNjEsIDQxLCAyMSwgMTkwLCAKLSAgICA0MSwgMjEsIDE5NSwgNDEsIDIxLCAxOTksIDQxLCAyMSwgMTk2LCA0MSwgMjEsIDIwMSwgNDEsIDMsIDIyOSwgMTI4LCAxODYsIAotICAgIDQxLCAzLCAyMjksIDEyOCwgMjQ3LCAxNTMsIDMzLCA2LCAxLCAyMTAsIDkwLCAzMywgNCwgMSwgMjEwLCA5MCwgMzMsIDYsIAotICAgIDEsIDI0NiwgNDIsIDMzLCA0LCAxLCAyNDYsIDQyLCAzMywgNiwgMSwgMjIzLCA1MiwgMjQ2LCA0NCwgMzMsIDQsIDEsIDIyMywgCi0gICAgNTIsIDI0NiwgNDQsIDMzLCA2LCAxLCAyMzUsIDE5MiwgMzMsIDQsIDEsIDIzNSwgMTkyLCAzMywgNiwgMSwgMjQ3LCAxNjksIAotICAgIDMzLCA0LCAxLCAyNDcsIDE2OSwgMzMsIDYsIDEsIDIzMCwgMTQ1LCAyMTQsIDIwNSwgMzMsIDQsIDEsIDIzMCwgMTQ1LCAKLSAgICAyMTQsIDIwNSwgMzMsIDYsIDEsIDI1MSwgMTQ0LCAyMjYsIDIwNSwgMzMsIDQsIDEsIDI1MSwgMTQ0LCAyMjYsIDIwNSwgMzMsIAotICAgIDYsIDEsIDIyOSwgOTIsIDIxMSwgMzEsIDMzLCA0LCAxLCAyMjksIDkyLCAyMTEsIDMxLCAzMywgNiwgMSwgMjExLCAyOCwgMiwgCi0gICAgMjUyLCAxOTMsIDIxMSwgMzEsIDMzLCA0LCAxLCAyMTEsIDI4LCAyLCAyNTIsIDE5MywgMjExLCAzMSwgMzMsIDYsIDEsIAotICAgIDIzNSwgMTkwLCAyMTEsIDU5LCAzMywgNCwgMSwgMjM1LCAxOTAsIDIxMSwgNTksIDMzLCA2LCAxLCAyMjMsIDUyLCAyMTAsIAotICAgIDIxMiwgMzMsIDQsIDEsIDIyMywgNTIsIDIxMCwgMjEyLCAzMywgNiwgMSwgMjM1LCAxOTAsIDYxLCAzMywgNCwgMSwgMjM1LCAKLSAgICAxOTAsIDYxLCAzMywgNiwgMSwgMjUwLCA4LCAyMzIsIDE5OCwgMjEwLCAxODMsIDMzLCA0LCAxLCAyNTAsIDgsIDIzMiwgCi0gICAgMTk4LCAyMTAsIDE4MywgMzMsIDYsIDEsIDI1MSwgMjIyLCAyMTAsIDE4MywgMzMsIDQsIDEsIDI1MSwgMjIyLCAyMTAsIAotICAgIDE4MywgMzMsIDYsIDEsIDIzNSwgMTkwLCAyNTAsIDgsIDIzMiwgMTk4LCAyMTAsIDE4MywgMzMsIDQsIDEsIDIzNSwgMTkwLCAKLSAgICAyNTAsIDgsIDIzMiwgMTk4LCAyMTAsIDE4MywgMzMsIDYsIDEsIDIxMCwgMjQ2LCAzMywgNCwgMSwgMjEwLCAyNDYsIDMzLCAKLSAgICA2LCAxLCAyMjMsIDUyLCAyMTUsIDE3OSwgMzMsIDQsIDEsIDIyMywgNTIsIDIxNSwgMTc5LCAzMywgNiwgMSwgMjE5LCA1NCwgCi0gICAgMjQ4LCA5OCwgMzMsIDQsIDEsIDIxOSwgNTQsIDI0OCwgOTgsIDMzLCA2LCAxLCAyMTksIDU0LCAyNDUsIDE4MiwgMzMsIDQsIAotICAgIDEsIDIxOSwgNTQsIDI0NSwgMTgyLCAzMywgNiwgMSwgMjE5LCA1NCwgMjQ1LCAxNjcsIDMzLCA0LCAxLCAyMTksIDU0LCAKLSAgICAyNDUsIDE2NywgMzMsIDYsIDEsIDIzMCwgMTQ5LCA3OCwgMzMsIDQsIDEsIDIzMCwgMTQ5LCA3OCwgMzMsIDYsIDEsIDI1MSwgCi0gICAgMjQ4LCA3OCwgMzMsIDQsIDEsIDI1MSwgMjQ4LCA3OCwgMzMsIDYsIDEsIDUyLCAyMzAsIDE0OSwgNzgsIDMzLCA0LCAxLCAKLSAgICA1MiwgMjMwLCAxNDksIDc4LCAzMywgMSwgMjMwLCA5MSwgNzgsIDM4LCAzMywgMjEyLCAxMDAsIDM4LCAzMywgMjE2LCAyNDksIAotICAgIDIzMCwgMTk2LCA1MCwgMzgsIDMzLCAyNDAsIDIxOCwgMjMwLCAxOTYsIDUwLCAzOCwgMzMsIDIxNiwgMTQ5LCAyMzAsIDE5NiwgCi0gICAgNTAsIDIxOSwgOTUsIDI1MywgMjI0LCAzOCwgMzMsIDEsIDIxNCwgMjAyLCAyMzYsIDY3LCAzOCwgMzMsIDEsIDc0LCAzOCwgCi0gICAgMzMsIDEsIDIxMSwgOCwgMzgsIDMzLCAxLCA2OSwgMzgsIDMzLCAxLCAyNDIsIDEwLCA1MCwgMzgsIDMzLCAxLCAyMTEsIDI3LCAKLSAgICAzOCwgMzMsIDEsIDIxOSwgNTQsIDUwLCAzOCwgMzMsIDEsIDIyNiwgMjA1LCAzOCwgMzMsIDIzNCwgMTk4LCAzOCwgMzMsIAotICAgIDIyNSwgMjMxLCAzMywgMjM0LCAxOTgsIDMzLCAyMjUsIDIzMSwgMzMsIDYsIDEsIDI0NiwgNTQsIDMzLCA0LCAxLCAyNDYsIAotICAgIDU0LCAzMywgNiwgMSwgMjQ2LCAzNSwgMzMsIDQsIDEsIDI0NiwgMzUsIDMzLCA2LCAxLCAyMTAsIDUyLCAzMywgNCwgMSwgCi0gICAgMjEwLCA1MiwgMzMsIDYsIDEsIDI1MCwgMjE0LCAzMywgNCwgMSwgMjUwLCAyMTQsIDMzLCA2LCAxLCAyNDYsIDMzLCAzMywgCi0gICAgNCwgMSwgMjQ2LCAzMywgMzMsIDYsIDEsIDIxNywgMjQsIDIsIDIzMCwgMjI5LCAxMDMsIDMzLCA0LCAxLCAyMTcsIDI0LCAyLCAKLSAgICAyMzAsIDIyOSwgMTAzLCAzMywgNiwgMSwgMjE1LCA3OCwgMzMsIDQsIDEsIDIxNSwgNzgsIDMzLCA2LCAxLCAyMTUsIDE2MSwgCi0gICAgMzMsIDQsIDEsIDIxNSwgMTYxLCAzMywgNiwgMSwgMjE1LCAxNjUsIDMzLCA0LCAxLCAyMTUsIDE2NSwgMzMsIDYsIDEsIAotICAgIDIxNywgMjksIDMzLCA0LCAxLCAyMTcsIDI5LCAzMywgNiwgMSwgMjQwLCAyMDUsIDMzLCA0LCAxLCAyNDAsIDIwNSwgMzMsIAotICAgIDYsIDEsIDIxOSwgMjA4LCAzMywgNCwgMSwgMjE5LCAyMDgsIDM4LCAzMywgMSwgMjM1LCAxOTAsIDc2LCAyMCwgMSwgNjEsIAotICAgIDIwLCAxLCAxNzYsIDIwLCAxLCA2OSwgMjAsIDEsIDIzMywgMjIzLCAyMCwgMSwgMjQ1LCAyMTcsIDIwLCAxLCAyMjMsIDExMSwgCi0gICAgMjAsIDEsIDIxNywgODcsIDIwLCAxLCA3OCwgMjAsIDEsIDIyNywgMTUyLCAyMCwgMSwgNzQsIDIwLCAxLCAyMzMsIDE0MSwgCi0gICAgMjAsIDEsIDE5MSwgMjAsIDEsIDIyMiwgMjQyLCAyMCwgMSwgMjIzLCAzMiwgMjAsIDEsIDIzMywgNTUsIDIwLCAxLCAyMzEsIAotICAgIDg0LCAyMCwgMSwgMjE3LCAxMDIsIDIwLCAxLCAyMjksIDE1MSwgMjAsIDEsIDIyOCwgMTg4LCAyMCwgMSwgMTk0LCAyMCwgMSwgCi0gICAgMjE4LCA1LCAyMCwgMSwgMjMwLCAxMDcsIDIwLCAxLCAyMjAsIDI5LCAyMCwgMSwgMjE5LCAxOTMsIDIwLCAxLCAyMjAsIDM5LCAKLSAgICAyMCwgMSwgMjIwLCAxMjUsIDIwLCAxLCAyMzMsIDE2MSwgMjAsIDEsIDIzNCwgMTYyLCAyMCwgMSwgMjI3LCAyMTMsIDIwLCAKLSAgICAxLCAyMjcsIDI0MiwgMjAsIDEsIDIyOCwgMTU5LCAyMCwgMSwgMjEwLCAyMjYsIDIwLCAxLCAyMTksIDIyNywgMjAsIDEsIAotICAgIDIxMCwgMTg3LCAyMCwgMSwgMTkyLCAyMCwgMSwgMjI4LCAxNCwgMjAsIDEsIDIzNCwgMTQ4LCAyMCwgMSwgMjI1LCAxNTQsIAotICAgIDIwLCAxLCAyMjgsIDE4MSwgMjAsIDEsIDIyNywgMjUxLCAyMCwgMSwgMjI0LCAxNDcsIDIwLCAxLCAyMTEsIDE5MiwgMjAsIAotICAgIDEsIDIyNSwgMjE0LCAyMCwgMSwgMjQ0LCAxNTUsIDIwLCAxLCAyMjIsIDE0MiwgMjAsIDEsIDIzMiwgMTAzLCAyMCwgMSwgCi0gICAgMjMwLCAyMzUsIDIwLCAxLCAyMjgsIDIzOCwgMjAsIDEsIDIyMywgNTQsIDIwLCAxLCAyMjMsIDE3NCwgMjAsIDEsIDIzNCwgCi0gICAgMTcxLCAyMCwgMSwgMjI5LCAxMiwgMjAsIDEsIDIyOSwgNjEsIDIwLCAxLCAyMjksIDgyLCAyMCwgMSwgMjIwLCA5LCAyMCwgCi0gICAgMSwgMjI0LCAxNTAsIDIwLCAxLCAyNDMsIDI0MSwgMjAsIDEsIDI0NCwgNDUsIDIwLCAxLCAyMTIsIDY1LCAyMCwgMSwgMTk4LCAKLSAgICAyMCwgMSwgMjMyLCAyNDcsIDIwLCAxLCAyMjUsIDExMSwgMjAsIDEsIDIzMiwgMTI1LCAyMCwgMSwgMjM0LCAzNCwgMjAsIDEsIAotICAgIDIzMSwgMTE5LCAyMCwgMSwgMjIzLCA4NiwgMjAsIDEsIDIzMSwgNjMsIDIwLCAxLCAxODYsIDIwLCAxLCAyMTYsIDExOCwgCi0gICAgMjAsIDEsIDIzNCwgOTgsIDIwLCAxLCAyMzAsIDE2NiwgMjAsIDEsIDIzMSwgMTI3LCAyMCwgMSwgMjE2LCAyMzEsIDIwLCAxLCAKLSAgICAyMzQsIDEsIDIwLCAxLCAyMTYsIDI0OCwgMjAsIDEsIDIyNywgMjQzLCAyMCwgMSwgMjIxLCAyNTMsIDIwLCAxLCAyNDQsIAotICAgIDIwMCwgMjAsIDEsIDIzNCwgMywgMjAsIDEsIDIzNCwgMzAsIDIwLCAzOCwgMTY0LCAyMzQsIDExLCAyMCwgMzgsIDE2NCwgCi0gICAgMjE1LCAxMTEsIDIwLCAyMjgsIDE4NywgMjAsIDI0MywgMjM2LCAyMTgsIDEzMSwgMjAsIDI0OSwgMjM0LCAyMCwgMjQ5LCAKLSAgICAyMjcsIDIwLCAyMjAsIDE1MiwgMjAsIDIyNCwgMTYsIDc5LCA1OCwgMSwgMjUwLCAxMDQsIDEzOCwgMjEwLCAyNTQsIDIyNSwgCi0gICAgNjQsIDU4LCAxLCAyNTAsIDEwNCwgMTM4LCAyMTEsIDcwLCAyMjUsIDY0LCA1OCwgMSwgMjUwLCAxMDQsIDEzOCwgMjEwLCAKLSAgICAyNTQsIDIyMCwgODYsIDU4LCAxLCAyNTAsIDEwNCwgMTM4LCAyMTEsIDcwLCAyMjAsIDg2LCA1OCwgMSwgMjUwLCAxMDQsIAotICAgIDEzOCwgMjEwLCAyNTQsIDIyNCwgMzMsIDU4LCAxLCAyNTAsIDEwNCwgMTM4LCAyMTEsIDcwLCAyMjQsIDMzLCA1OCwgMSwgCi0gICAgMjUwLCAxMDQsIDEzOCwgMjEwLCAyNTQsIDIyMiwgMTQyLCA1OCwgMSwgMjUwLCAxMDQsIDEzOCwgMjExLCA3MCwgMjIyLCAKLSAgICAxNDIsIDU4LCAxLCAyNDUsIDI4LCAyNDYsIDEyNiwgMTM4LCAxMzAsIDU4LCAxLCAxMjUsIDI0NiwgMTI2LCAxMzgsIDEzMCwgCi0gICAgNTgsIDEsIDIzMCwgMjMwLCAyNDYsIDEyNiwgMTM4LCAxMzAsIDU4LCAxLCAxMjEsIDI0NiwgMTI2LCAxMzgsIDEzMCwgNTgsIAotICAgIDEsIDI0NSwgMjcsIDI0NiwgMTI2LCAxMzgsIDEzMCwgNTgsIDEsIDI0NSwgMjgsIDI0NiwgMTI2LCAyMzMsIDQ1LCAxMzgsIAotICAgIDEzMCwgNTgsIDEsIDEyNSwgMjQ2LCAxMjYsIDIzMywgNDUsIDEzOCwgMTMwLCA1OCwgMSwgMjMwLCAyMzAsIDI0NiwgMTI2LCAKLSAgICAyMzMsIDQ1LCAxMzgsIDEzMCwgNTgsIDEsIDEyMSwgMjQ2LCAxMjYsIDIzMywgNDUsIDEzOCwgMTMwLCA1OCwgMSwgMjQ1LCAKLSAgICAyNywgMjQ2LCAxMjYsIDIzMywgNDUsIDEzOCwgMTMwLCA1OCwgMSwgMjQ1LCAyOCwgMjMzLCA0NSwgMTM4LCAxMzAsIDU4LCAKLSAgICAxLCAxMjUsIDIzMywgNDUsIDEzOCwgMTMwLCA1OCwgMSwgMjMwLCAyMzAsIDIzMywgNDUsIDEzOCwgMTMwLCA1OCwgMSwgCi0gICAgMTIxLCAyMzMsIDQ1LCAxMzgsIDEzMCwgNTgsIDEsIDI0NSwgMjcsIDIzMywgNDUsIDEzOCwgMTMwLCA1OCwgMSwgNTksIDY3LCAKLSAgICAxMzAsIDU4LCAxLCA1OSwgMjE5LCA5NywgNTgsIDEsIDU5LCAyMDMsIDEzMCwgNTgsIDEsIDIzMiwgMTE0LCA0NCwgMjQ5LCAKLSAgICAxNjksIDI1NCwgMTE3LCA1OCwgMSwgMjIzLCAxNjAsIDEyMCwgNzUsIDU4LCAxLCAyMjMsIDE2MCwgMTI0LCA3NSwgNTgsIDEsIAotICAgIDIyMywgMTYwLCAyNDUsIDM5LCA3OSwgNTgsIDEsIDIyMywgMTYwLCAyMzUsIDIwMCwgMjQ1LCAzOSwgNzksIDU4LCAxLCAKLSAgICAxMjEsIDIzNSwgMjAwLCAyNDUsIDM5LCA3OSwgNTgsIDEsIDIxOCwgMTEzLCAyMiwgMTI1LCAyMTYsIDMxLCA1OCwgMSwgCi0gICAgMjE4LCAxMTMsIDIyLCAxMjEsIDIxNiwgMzEsIDcsIDYsIDEsIDI0NSwgMjA3LCAyNTQsIDE3OSwgNywgNCwgMSwgMjQ1LCAKLSAgICAyMDcsIDI1NCwgMTc5LCA3LCA2LCAxLCAyNDUsIDIwNywgMjU0LCAyMDUsIDcsIDQsIDEsIDI0NSwgMjA3LCAyNTQsIDIwNSwgCi0gICAgNywgNiwgMSwgMjQxLCAyMTQsIDcsIDQsIDEsIDI0MSwgMjE0LCA3LCA2LCAxLCAyMTUsIDQwLCA3LCA0LCAxLCAyMTUsIDQwLCAKLSAgICA3LCA2LCAxLCAyMTUsIDIzMCwgNywgNCwgMSwgMjE1LCAyMzAsIDcsIDYsIDEsIDI0OSwgMTE4LCA3LCA0LCAxLCAyNDksIAotICAgIDExOCwgNywgNiwgMSwgMjQ5LCAxMTksIDIsIDI0OSwgMjI3LCA3LCA0LCAxLCAyNDksIDExOSwgMiwgMjQ5LCAyMjcsIDcsIAotICAgIDEsIDQsIDYsIDI0NSwgMTQsIDcsIDEsIDQsIDYsIDIyMiwgOTMsIDcsIDYsIDEsIDI1NSwgODIsIDcsIDQsIDEsIDI1NSwgCi0gICAgODIsIDcsIDYsIDEsIDI1NCwgODEsIDcsIDQsIDEsIDI1NCwgODEsIDcsIDYsIDEsIDI1MywgMjAwLCA3LCA0LCAxLCAyNTMsIAotICAgIDIwMCwgNywgNiwgMSwgMjUzLCAxODQsIDcsIDQsIDEsIDI1MywgMTg0LCA3LCA2LCAxLCAyNTMsIDE4NSwgMiwgMjAzLCAKLSAgICAxMzAsIDcsIDQsIDEsIDI1MywgMTg1LCAyLCAyMDMsIDEzMCwgNywgNiwgMSwgMjUzLCAxNzUsIDcsIDQsIDEsIDI1MywgCi0gICAgMTc1LCA3LCA2LCAxLCAyMjMsIDUyLCAyNTEsIDc1LCAyLCAyNDcsIDEyOCwgNywgNCwgMSwgMjIzLCA1MiwgMjUxLCA3NSwgCi0gICAgMiwgMjQ3LCAxMjgsIDcsIDYsIDEsIDIzNSwgMzAsIDIsIDkxLCA3LCA0LCAxLCAyMzUsIDMwLCAyLCA5MSwgNywgNiwgMSwgCi0gICAgMjM1LCAzMCwgMiwgMjQ4LCA3LCA5MSwgNywgNCwgMSwgMjM1LCAzMCwgMiwgMjQ4LCA3LCA5MSwgNywgNiwgMSwgMjM1LCAKLSAgICAzMCwgMiwgMjE4LCAxMDUsIDIyLCAyNDgsIDcsIDkxLCA3LCA0LCAxLCAyMzUsIDMwLCAyLCAyMTgsIDEwNSwgMjIsIDI0OCwgCi0gICAgNywgOTEsIDcsIDYsIDEsIDI1MSwgMTQzLCAxNTYsIDcsIDQsIDEsIDI1MSwgMTQzLCAxNTYsIDcsIDYsIDEsIDIzMywgMTU1LCAKLSAgICAyLCAxMjUsIDkxLCA3LCA0LCAxLCAyMzMsIDE1NSwgMiwgMTI1LCA5MSwgNywgNiwgMSwgMTQ0LCAyLCAyMDAsIDIxOCwgCi0gICAgMTA1LCAyMjYsIDEyNCwgNywgNCwgMSwgMTQ0LCAyLCAyMDAsIDIxOCwgMTA1LCAyMjYsIDEyNCwgNywgNiwgMSwgMTQ0LCAyLCAKLSAgICAyMzIsIDEyOSwgNywgNCwgMSwgMTQ0LCAyLCAyMzIsIDEyOSwgNywgNiwgMSwgMjI2LCAxODcsIDcsIDQsIDEsIDIyNiwgCi0gICAgMTg3LCA3LCA2LCAxLCAyMjYsIDExMCwgMiwgMjE4LCAxMDUsIDIxNiwgMTQwLCAyNDgsIDQ3LCA3LCA0LCAxLCAyMjYsIAotICAgIDExMCwgMiwgMjE4LCAxMDUsIDIxNiwgMTQwLCAyNDgsIDQ3LCA3LCA2LCAxLCAyMjYsIDExMCwgMiwgMjQ0LCA2MSwgNywgNCwgCi0gICAgMSwgMjI2LCAxMTAsIDIsIDI0NCwgNjEsIDcsIDYsIDEsIDIyNiwgMTEwLCAyLCAyMTgsIDIzMSwgMjE3LCA3OCwgNywgNCwgCi0gICAgMSwgMjI2LCAxMTAsIDIsIDIxOCwgMjMxLCAyMTcsIDc4LCA3LCA2LCAxLCAyMjQsIDEwMCwgMiwgMjE4LCAxMDUsIDIxNiwgCi0gICAgMTQwLCAyNDgsIDQ3LCA3LCA0LCAxLCAyMjQsIDEwMCwgMiwgMjE4LCAxMDUsIDIxNiwgMTQwLCAyNDgsIDQ3LCA3LCA2LCAxLCAKLSAgICAyMjQsIDEwMCwgMiwgMjQ4LCA3LCA5MSwgNywgNCwgMSwgMjI0LCAxMDAsIDIsIDI0OCwgNywgOTEsIDcsIDYsIDEsIDIyMywgCi0gICAgMjI3LCAyMjIsIDE4OCwgNywgNCwgMSwgMjIzLCAyMjcsIDIyMiwgMTg4LCA3LCA2LCAxLCAyMjIsIDEzMiwgMjIyLCAxODgsIAotICAgIDcsIDQsIDEsIDIyMiwgMTMyLCAyMjIsIDE4OCwgNywgNiwgMSwgMjE0LCAxMDYsIDIsIDI0OCwgNywgOTEsIDcsIDQsIDEsIAotICAgIDIxNCwgMTA2LCAyLCAyNDgsIDcsIDkxLCA3LCA2LCAxLCAyMTIsIDEwNiwgNywgNCwgMSwgMjEyLCAxMDYsIDcsIDYsIDEsIAotICAgIDIxMywgMTQ1LCAyMTAsIDE1OSwgNywgNCwgMSwgMjEzLCAxNDUsIDIxMCwgMTU5LCA3LCA2LCAxLCAyMTYsIDE1MywgMiwgCi0gICAgOTEsIDcsIDQsIDEsIDIxNiwgMTUzLCAyLCA5MSwgNywgNiwgMSwgMjE2LCAxNTMsIDIsIDIxOCwgMTA1LCAyMTYsIDE0MCwgCi0gICAgMjQ4LCA0NywgNywgNCwgMSwgMjE2LCAxNTMsIDIsIDIxOCwgMTA1LCAyMTYsIDE0MCwgMjQ4LCA0NywgNywgNiwgMSwgMjEzLCAKLSAgICAyNDUsIDcsIDQsIDEsIDIxMywgMjQ1LCA3LCA2LCAxLCAyNDUsIDczLCA3LCA0LCAxLCAyNDUsIDczLCA3LCA2LCAxLCAyMzUsIAotICAgIDE3OCwgNywgNCwgMSwgMjM1LCAxNzgsIDcsIDYsIDEsIDI0OSwgMjE1LCA3LCA0LCAxLCAyNDksIDIxNSwgNTgsIDEsIDIxNCwgCi0gICAgMTMzLCA3LCA0LCAxLCAyNDYsIDc3LCA3LCA0LCAxLCAyMzIsIDg5LCA3LCA0LCAxLCAyMzAsIDg1LCA3LCA0LCAxLCAyMjcsIAotICAgIDIwNSwgNywgNCwgMSwgMjIyLCAxMzEsIDcsIDEsIDQsIDYsIDIyMiwgMTMxLCA3LCA0LCAxLCAyMTUsIDEwOSwgNywgNCwgMSwgCi0gICAgMjE0LCAxOTcsIDcsIDYsIDEsIDIzNSwgMjIwLCAyNDksIDY4LCA3LCA0LCAxLCAyMzUsIDIyMCwgMjQ5LCA2OCwgNywgNiwgCi0gICAgMSwgMjM1LCAyMjAsIDI0NSwgMTQsIDcsIDQsIDEsIDIzNSwgMjIwLCAyNDUsIDE0LCA3LCA2LCAxLCAyMzUsIDIyMCwgMjQzLCAKLSAgICAyMDksIDcsIDYsIDEsIDIxNSwgOTQsIDIzNSwgMjIwLCAyNDMsIDIwOSwgNywgNCwgMSwgMjE1LCA5NCwgMjM1LCAyMjAsIAotICAgIDI0MywgMjA5LCA3LCA2LCAxLCAyMTUsIDk0LCAxNTYsIDcsIDQsIDEsIDIxNSwgOTQsIDE1NiwgNywgNiwgMSwgMjM1LCAKLSAgICAyMjAsIDE1MywgNywgNCwgMSwgMjM1LCAyMjAsIDE1MywgNywgNiwgMSwgMjM1LCAyMjAsIDIyMiwgOTMsIDcsIDQsIDEsIAotICAgIDIzNSwgMjIwLCAyMjIsIDkzLCA3LCA2LCAxLCAyMzUsIDIyMCwgMjE3LCAxNTMsIDcsIDQsIDEsIDIzNSwgMjIwLCAyMTcsIAotICAgIDE1MywgNTgsIDEsIDEyMSwgMjUwLCAzOSwgMjU1LCAyMywgNTgsIDEsIDI0OSwgMjM0LCA1OCwgMSwgMjE5LCAyNTMsIDI0NSwgCi0gICAgMTA2LCA1MCwgNywgNiwgMSwgMjIyLCAxLCA3LCA0LCAxLCAyMjIsIDEsIDcsIDYsIDEsIDIxNSwgOTQsIDI0MiwgNjcsIDcsIAotICAgIDQsIDEsIDIzMywgMTU1LCAyLCAyMjMsIDU4LCAyNDEsIDU5LCAyMiwgMjUyLCA0OSwgNywgNiwgMSwgMjMwLCAzMSwgMiwgCi0gICAgMjQ4LCA0NywgNywgNCwgMSwgMjMwLCAzMSwgMiwgMjQ4LCA0NywgNywgNiwgMSwgMjUxLCA3NSwgMiwgMTMwLCA3LCA0LCAxLCAKLSAgICAyNTEsIDc1LCAyLCAxMzAsIDcsIDYsIDEsIDI0MywgMjEwLCAyLCAyMjYsIDI1MiwgOTEsIDcsIDQsIDEsIDI0MywgMjEwLCAKLSAgICAyLCAyMjYsIDI1MiwgOTEsIDcsIDYsIDEsIDIzNSwgMzAsIDIsIDIyNiwgMjUyLCA5MSwgNywgNCwgMSwgMjM1LCAzMCwgMiwgCi0gICAgMjI2LCAyNTIsIDkxLCA3LCA2LCAxLCAyMzAsIDMxLCAyLCAyMjYsIDI1MiwgOTEsIDcsIDQsIDEsIDIzMCwgMzEsIDIsIAotICAgIDIyNiwgMjUyLCA5MSwgNywgNiwgMSwgMjIzLCAyMjcsIDIsIDIyNiwgMjUyLCA5MSwgNywgNCwgMSwgMjIzLCAyMjcsIDIsIAotICAgIDIyNiwgMjUyLCA5MSwgNywgNiwgMSwgMjIyLCA5NCwgMiwgMjI2LCAyNTIsIDkxLCA3LCA0LCAxLCAyMjIsIDk0LCAyLCAKLSAgICAyMjYsIDI1MiwgOTEsIDcsIDYsIDEsIDI0MiwgNjgsIDIsIDEwMywgNTgsIDEsIDYsIDI0MiwgNjgsIDIsIDkxLCA1OCwgMSwgCi0gICAgNCwgMjcsIDIyNiwgMjM4LCA3LCAxLCA0LCA2LCAyMTUsIDk0LCAxOTQsIDcsIDI0NSwgMTExLCAxLCAyMjMsIDUyLCAyNDUsIAotICAgIDE0LCA3LCAyNDUsIDExMSwgMSwgMjIzLCA1MiwgMjI2LCAxMDksIDcsIDI0NSwgMTExLCAxLCAyMzUsIDIwMCwgMTk0LCA3LCAKLSAgICAyNDUsIDExMSwgMSwgMjQwLCAxNjEsIDIzMiwgMTM1LCA3LCAyNDUsIDExMSwgMSwgMjU0LCAzMSwgMTk0LCAyMTcsIDIzMSwgCi0gICAgMjI5LCAyMTksIDEsIDYxLCAyMTcsIDIzMSwgMjI5LCAyMTksIDEsIDc0LCAyMTcsIDIzMSwgMjI5LCAyMTksIDUsIDI0NiwgCi0gICAgNTYsIDIxNywgMjMxLCAyMjksIDIxOSwgMSwgNjksIDIxNywgMjMxLCAyMjksIDIxOSwgMSwgNzYsIDIxNywgMjMxLCAyMjksIAotICAgIDIxOSwgMSwgNzgsIDIxNywgMjMxLCAyMjksIDIxOSwgNSwgMjQyLCA0LCAyMTcsIDIzMSwgMjI5LCAyMTksIDEsIDIzNCwgCi0gICAgMzQsIDIxNywgMjMxLCAyMjksIDIxOSwgMSwgMjM0LCAxMTEsIDIxNywgMjMxLCAyMjksIDIxOSwgMSwgMjQyLCAxODEsIAotICAgIDIxNywgMjMxLCAyMjksIDIxOSwgMSwgMjQyLCAyMzEsIDIxNywgMjMxLCAyMjksIDIxOSwgNSwgMjU0LCA4MywgMjE3LCAKLSAgICAyMzEsIDIyOSwgMjE5LCAxLCAyNDksIDI0NiwgMjE3LCAyMzEsIDIyOSwgMjE5LCAxLCAyNTAsIDk0LCAyMTcsIDIzMSwgCi0gICAgMjI5LCAyMTksIDEsIDIzNSwgNzQsIDIxNywgMjMxLCAyMjksIDIxOSwgMSwgMjM1LCAxMTUsIDIxNywgMjMxLCAyMjksIAotICAgIDIxOSwgMSwgMjE1LCAxMzQsIDIxNywgMjMxLCAyMjksIDIxOSwgMSwgMjE1LCAxNDAsIDIxNywgMjMxLCAyMjksIDIxOSwgMSwgCi0gICAgMjQ4LCAxMTMsIDIxNywgMjMxLCAyMjksIDIxOSwgMSwgMjQ4LCAxMjIsIDIxNywgMjMxLCAyMjksIDIxOSwgMSwgMTEyLCAKLSAgICAyMTcsIDIzMSwgMjI5LCAyMTksIDEsIDIxNiwgMTU3LCAyMTcsIDIzMSwgMjI5LCAyMTksIDEsIDI0NywgMTUzLCAyMTcsIAotICAgIDIzMSwgMjI5LCAyMTksIDEsIDI0OCwgMTUsIDIxNywgMjMxLCAyMjksIDIxOSwgMSwgMjI4LCA3OSwgMjE3LCAyMzEsIDIyOSwgCi0gICAgMjE5LCAxLCAyMjUsIDE5LCAyMTcsIDIzMSwgMjI5LCAyMTksIDEsIDIyNSwgMTI0LCAyMTcsIDIzMSwgMjI5LCAyMTksIDEsIAotICAgIDI1MSwgMjEzLCAyMTcsIDIzMSwgMjI5LCAyMTksIDEsIDI1MiwgMTgsIDIxNywgMjMxLCAyMjksIDIxOSwgMSwgMjMwLCAKLSAgICAxNjYsIDIxNywgMjMxLCAyMjksIDIxOSwgMSwgMjIyLCAyMTMsIDIxNywgMjMxLCAyMjksIDIxOSwgMSwgMjMyLCAxNjIsIAotICAgIDIxNywgMjMxLCAyMjksIDIxOSwgMSwgMjIyLCAxNjcsIDIxNywgMjMxLCAyMjksIDIxOSwgMSwgMjE5LCA2MCwgMjE3LCAKLSAgICAyMzEsIDIyOSwgMjE5LCAxLCAyNDEsIDc1LCAyMTcsIDIzMSwgMjI5LCAyMTksIDI1LCA1LCA2MSwgMjE3LCAyMzEsIDIyOSwgCi0gICAgMjE5LCAyNSwgNSwgNzQsIDIxNywgMjMxLCAyMjksIDIxOSwgMjUsIDUsIDY5LCAyMTcsIDIzMSwgMjI5LCAyMTksIDI1LCA1LCAKLSAgICA3NiwgMjE3LCAyMzEsIDIyOSwgMjE5LCAyNSwgNSwgMjI2LCAxODcsIDIxNywgMjMxLCAyMjksIDIxOSwgMjI1LCAxNSwgCi0gICAgMjMxLCAxNjMsIDIxNywgMjMxLCAyMjksIDIxOSwgMjI1LCAxNSwgMjMxLCAxNjIsIDIxNywgMjMxLCAyMjksIDIxOSwgMjI1LCAKLSAgICAxNSwgMjMxLCAxNjEsIDIxNywgMjMxLCAyMjksIDIxOSwgMjI1LCAxNSwgMjMxLCAxNjAsIDIyOCwgNjEsIDIzNSwgMjQ3LCAKLSAgICAyNDQsIDEwLCAxMjMsIDIyNCwgMjQsIDIyOCwgNjEsIDIzNSwgMjQ3LCAyNDQsIDEwLCAxMjMsIDI0MiwgMzQsIDIyOCwgNjEsIAotICAgIDIzNSwgMjQ3LCAyNDQsIDEwLCAxMzQsIDIyNCwgMjIsIDIyOCwgNjEsIDIzNSwgMjQ3LCAyNDQsIDEwLCAxMjMsIDIxOSwgCi0gICAgMTE5LCAyMjgsIDYxLCAyMzUsIDI0NywgMjQ0LCAxMCwgMTIzLCAyNDUsIDE5NiwgMjI4LCA2MSwgMjM1LCAyNDcsIDI0NCwgCi0gICAgMTAsIDEzNCwgMjE5LCAxMTgsIDIyOCwgNjEsIDIzNSwgMjQ3LCAyMjQsIDI1LCA3OSwgMjI4LCA2MSwgMjM1LCAyNDcsIAotICAgIDIyNSwgNDMsIDc5LCAyMjgsIDYxLCAyMzUsIDI0NywgMjIyLCAxMjAsIDc5LCAyMjgsIDYxLCAyMzUsIDI0NywgMjI0LCAyNiwgCi0gICAgNzksIDIyNSwgMTQ3LCAxLCAxNzYsIDIyNSwgMTQ3LCAxLCAyMzQsIDEzOCwgMjI1LCAxNDcsIDEsIDI0MywgMTQyLCAyMjUsIAotICAgIDE0NywgMSwgMjI5LCA4MiwgMjI1LCAxNDcsIDEsIDI1MSwgNDEsIDIyNSwgMTQ3LCAxLCAyNTAsIDE2NSwgMjI1LCAxNDcsIAotICAgIDEsIDIzNSwgMTQ3LCAyMjUsIDE0NywgMSwgMjI3LCAxNjksIDIyNSwgMTQ3LCAxLCAyMTcsIDEwNiwgMjI1LCAxNDcsIDEsIAotICAgIDIxNiwgMjA5LCAyMjUsIDE0NywgMSwgMjQ4LCAyMjksIDIyNSwgMTQ3LCAxLCAxOTgsIDIyNSwgMTQ3LCAxLCAxOTEsIDIyNSwgCi0gICAgMTQ3LCAxLCAyMjUsIDE1MCwgMjI1LCAxNDcsIDEsIDI1MiwgMTk5LCAyMjUsIDE0NywgMSwgMTg2LCAyMjUsIDE0NywgMSwgCi0gICAgMjE1LCAxODQsIDIyNSwgMTQ3LCAxLCAyMTUsIDE3NiwgMjI1LCAxNDcsIDEsIDI0NiwgNDYsIDIyNSwgMTQ3LCAxLCAyMTIsIAotICAgIDY1LCAyMjUsIDE0NywgMSwgMjEwLCA4MiwgMjI1LCAxNDcsIDEsIDIxMCwgMTE2LCAyMjUsIDE0NywgMSwgNCwgNjEsIDIyNSwgCi0gICAgMTQ3LCAxLCAxOTIsIDIyNSwgMTQ3LCAxLCAyMDUsIDIyNSwgMTQ3LCAxLCAyMzMsIDE0MSwgMjI1LCAxNDcsIDEsIDIyMCwgCi0gICAgMTA0LCAyMjUsIDE0NywgMSwgMjA2LCAyMjUsIDE0NywgMSwgMTYyLCAyMjUsIDE0NywgMSwgNjEsIDIyNSwgMTQ3LCAxLCAKLSAgICA3NCwgMjI1LCAxNDcsIDEsIDY5LCAyMjUsIDE0NywgMSwgNzYsIDIyNSwgMTQ3LCAxLCA3OCwgMjI1LCAxNDcsIDEsIDIyNCwgCi0gICAgOTEsIDIyNSwgMTQ3LCAxLCAyMTEsIDE2NSwgMjI1LCAxNDcsIDEsIDI0NCwgMjA0LCAyMjUsIDE0NywgMSwgMjQzLCAzNiwgCi0gICAgMjI1LCAxNDcsIDEsIDI0NSwgMjE3LCAyMjUsIDE0NywgMjE4LCA3NCwgMSwgMjEyLCA2NSwgMjI1LCAxNDcsIDIxOCwgNzQsIAotICAgIDEsIDE5MiwgMjI1LCAxNDcsIDEsIDIxNSwgMTU3LCAyMjUsIDE0NywgMSwgMjE1LCAxNDUsIDIyNSwgMTQ3LCAxLCAyNDgsIAotICAgIDE0MywgMjI1LCAxNDcsIDEsIDIyOCwgMTE1LCAyMjUsIDE0NywgMSwgMjU0LCAxNDksIDE5MiwgMjI1LCAxNDcsIDEsIDIxMywgCi0gICAgMTM0LCAyMjAsIDEwNCwgMjI1LCAxNDcsIDEsIDIxMywgMTM1LCAxNjIsIDIyNSwgMTQ3LCAxLCAyNTMsIDIzMSwgMjQ0LCAKLSAgICAyMDQsIDIyNSwgMTQ3LCAyMTgsIDc0LCAxLCAyMDUsIDIyNSwgMTQ3LCAyMTgsIDI2LCAxLCAyMDUsIDIyNSwgMTQ3LCAxLCAKLSAgICAyNTEsIDcsIDIyNSwgMTQ3LCAyMTksIDE1NywgMjQxLCAyNDMsIDc5LCAyMjUsIDE0NywgNTIsIDI0MSwgMjQzLCA3OSwgCi0gICAgMjI1LCAxNDcsIDE2NCwgMjIwLCA5NywgMjI1LCAxNDcsIDE2NCwgNTIsIDIyMCwgOTcsIDE3OSwgNSwgMjU0LCA4MywgMTc5LCAKLSAgICA1LCAyMTMsIDE0NywgMTc5LCAxLCA2MSwgMTc5LCAxLCAyNTUsIDgyLCAxNzksIDEsIDc0LCAxNzksIDEsIDIzNiwgNDAsIAotICAgIDE3OSwgMSwgNjksIDE3OSwgMSwgMjE0LCAxMTgsIDE3OSwgMSwgMTQ5LCAxNTMsIDE3OSwgMSwgMTQ5LCAyMjIsIDE4MiwgCi0gICAgMTc5LCAxLCAxNDksIDE1NiwgMTc5LCAxLCAxNDksIDIzMiwgMTkxLCAxNzksIDEsIDc2LCAxNzksIDEsIDI0NSwgMjE3LCAKLSAgICAxNzksIDEsIDI1NCwgMjEwLCAxNzksIDEsIDc4LCAxNzksIDEsIDIyNiwgMTg3LCAxNzksIDEsIDI1MywgMjAwLCAxNzksIDEsIAotICAgIDE3NiwgMTc5LCAxLCAyMzQsIDEzOCwgMTc5LCAxLCAyNDMsIDE0MiwgMTc5LCAxLCAyNDMsIDAsIDE3OSwgMSwgMjI5LCA4MiwgCi0gICAgMTc5LCAxLCAyNTEsIDQxLCAxNzksIDEsIDI1MCwgMTY1LCAxNzksIDEsIDIzNSwgMTQ3LCAxNzksIDEsIDIzNSwgMTIwLCAKLSAgICAxNzksIDEsIDIyNywgMTY5LCAxNzksIDEsIDIxNSwgMTU3LCAxNzksIDEsIDIxNSwgMTQ1LCAxNzksIDEsIDI0OCwgMTQzLCAKLSAgICAxNzksIDEsIDI0OCwgMTI3LCAxNzksIDEsIDIyOCwgMTE1LCAxNzksIDEsIDIxNywgMTA2LCAxNzksIDEsIDIxNiwgMjA5LCAKLSAgICAxNzksIDEsIDI0OCwgMjI5LCAxNzksIDEsIDI0OCwgMzMsIDE3OSwgMSwgMTk4LCAxNzksIDEsIDE5MSwgMTc5LCAxLCAyMjUsIAotICAgIDE1MCwgMTc5LCAxLCAyNTIsIDE5OSwgMTc5LCAxLCAyNTIsIDI2LCAxNzksIDEsIDE4NiwgMTc5LCAxLCAxOTIsIDE3OSwgMSwgCi0gICAgMjA1LCAxNzksIDEsIDIzMywgMTQxLCAxNzksIDEsIDIxNCwgMjcsIDE3OSwgMSwgMjIwLCAxMDQsIDE3OSwgMSwgMjE4LCAKLSAgICAyMjUsIDE3OSwgMSwgMjA2LCAxNzksIDEsIDE2MiwgMTc5LCAxLCAyMzIsIDE5MCwgMTc5LCAxMTcsIDUsIDI0MiwgNTEsIAotICAgIDE3OSwgMjUsIDUsIDI1NSwgODIsIDE3OSwgMjUsIDUsIDc0LCAxNzksIDI1LCA1LCAyMzYsIDQwLCAxNzksIDI1LCA1LCA2OSwgCi0gICAgMTc5LCAyNSwgNSwgMjE0LCAxMTgsIDE3OSwgMjUsIDUsIDE0OSwgMTUzLCAxNzksIDI1LCA1LCAxNDksIDIyMiwgMTgyLCAKLSAgICAxNzksIDI1LCA1LCAxNDksIDE1NiwgMTc5LCAyNSwgNSwgMTQ5LCAyMzIsIDE5MSwgMTc5LCAyNSwgNSwgNzYsIDE3OSwgMjUsIAotICAgIDUsIDI0NSwgMjE3LCAxNzksIDI1LCA1LCAyNTQsIDIxMCwgMTc5LCAyNSwgNSwgNzgsIDE3OSwgMjUsIDUsIDIyNiwgMTg3LCAKLSAgICAxNzksIDI1LCA1LCAyNTMsIDIwMCwgMTc5LCA1LCAyMTMsIDE1MiwgMTc5LCAyNDgsIDE4NiwgMTc5LCA1MiwgMjQ4LCAxODYsIAotICAgIDE3OSwgMjEsIDIxMCwgODYsIDE3OSwgMjEsIDExMSwgMTc5LCAyMSwgMTA1LCAxNzksIDIxLCAxNTgsIDE3OSwgMjEsIDE2MSwgCi0gICAgMTc5LCAyMSwgMTkwLCAxNzksIDIxLCAxOTUsIDE3OSwgMjEsIDE5OSwgMTc5LCAyMSwgMTk2LCAxNzksIDIxLCAyMDEsIDM4LCAKLSAgICA4NCwgMjEsIDIxMCwgODYsIDM4LCA4NCwgMjEsIDExMSwgMzgsIDg0LCAyMSwgMTA1LCAzOCwgODQsIDIxLCAxNTgsIDM4LCAKLSAgICA4NCwgMjEsIDE2MSwgMzgsIDg0LCAyMSwgMTkwLCAzOCwgODQsIDIxLCAxOTUsIDM4LCA4NCwgMjEsIDE5OSwgMzgsIDg0LCAKLSAgICAyMSwgMTk2LCAzOCwgODQsIDIxLCAyMDEsIDM4LCA4NCwgMSwgNjEsIDM4LCA4NCwgMSwgNjksIDM4LCA4NCwgMSwgMTc2LCAKLSAgICAzOCwgODQsIDEsIDE5OCwgMzgsIDg0LCAxLCAxOTEsIDM4LCA4NCwgMSwgMjA1LCAzOCwgODQsIDEsIDIxMywgMTc2LCAzOCwgCi0gICAgODQsIDUsIDI1MywgMTgzLCA4NCwgNSwgMjE5LCAxOSwgMjUxLCA3LCA4NCwgNSwgMjUxLCA4LCAyMTMsIDE1MiwgODQsIDUsIAotICAgIDUyLCAyNTEsIDgsIDIxMywgMTUyLCA4NCwgNSwgMjUxLCA4LCAxMDUsIDg0LCA1LCAyNTEsIDgsIDE1OCwgODQsIDUsIDI1MSwgCi0gICAgOCwgMjUzLCAxODMsIDg0LCA1LCAyMjQsIDEyNywgODQsIDI0MywgMTA3LCAyNDQsIDExMSwgODQsIDI1MCwgMjQ2LCA4NCwgCi0gICAgMjQxLCAyMzcsIDIzNCwgMTk0LCAyMzIsIDI0OCwgMjEsIDIxMCwgODYsIDIzNCwgMTk0LCAyMzIsIDI0OCwgMjEsIDExMSwgCi0gICAgMjM0LCAxOTQsIDIzMiwgMjQ4LCAyMSwgMTA1LCAyMzQsIDE5NCwgMjMyLCAyNDgsIDIxLCAxNTgsIDIzNCwgMTk0LCAyMzIsIAotICAgIDI0OCwgMjEsIDE2MSwgMjM0LCAxOTQsIDIzMiwgMjQ4LCAyMSwgMTkwLCAyMzQsIDE5NCwgMjMyLCAyNDgsIDIxLCAxOTUsIAotICAgIDIzNCwgMTk0LCAyMzIsIDI0OCwgMjEsIDE5OSwgMjM0LCAxOTQsIDIzMiwgMjQ4LCAyMSwgMTk2LCAyMzQsIDE5NCwgMjMyLCAKLSAgICAyNDgsIDIxLCAyMDEsIDIzNCwgMTk0LCAyMzIsIDI0OCwgMSwgMTc2LCAyMzQsIDE5NCwgMjMyLCAyNDgsIDEsIDIzNCwgCi0gICAgMTM4LCAyMzQsIDE5NCwgMjMyLCAyNDgsIDEsIDI0MywgMTQyLCAyMzQsIDE5NCwgMjMyLCAyNDgsIDEsIDIyOSwgODIsIAotICAgIDIzNCwgMTk0LCAyMzIsIDI0OCwgMSwgMjA2LCAyMzQsIDE5NCwgMjMyLCAyNDgsIDEsIDIyMCwgMTA0LCAyMzQsIDE5NCwgCi0gICAgMjMyLCAyNDgsIDEsIDIxMCwgMTE2LCAyMzQsIDE5NCwgMjMyLCAyNDgsIDEsIDIyNywgMTY5LCAyMzQsIDE5NCwgMjMyLCAKLSAgICAyNDgsIDEsIDIxNywgMTA2LCAyMzQsIDE5NCwgMjMyLCAyNDgsIDEsIDI0MCwgMjMzLCAyMzQsIDE5NCwgMjMyLCAyNDgsIDEsIAotICAgIDE5OCwgMjM0LCAxOTQsIDIzMiwgMjQ4LCAxLCAxOTEsIDIzNCwgMTk0LCAyMzIsIDI0OCwgMSwgMjI1LCAxNTAsIDIzNCwgCi0gICAgMTk0LCAyMzIsIDI0OCwgMSwgMTg2LCAyMzQsIDE5NCwgMjMyLCAyNDgsIDEsIDI0OCwgMjI5LCAyMzQsIDE5NCwgMjMyLCAKLSAgICAyNDgsIDEsIDI1MiwgMTk5LCAyMzQsIDE5NCwgMjMyLCAyNDgsIDEsIDIwNSwgMjM0LCAxOTQsIDIzMiwgMjQ4LCAxLCAxOTIsIAotICAgIDIzNCwgMTk0LCAyMzIsIDI0OCwgMSwgMjMzLCAxNDEsIDIzNCwgMTk0LCAyMzIsIDI0OCwgMSwgMjEyLCA2NSwgMjM0LCAKLSAgICAxOTQsIDIzMiwgMjQ4LCAxLCAyMTYsIDIwOSwgMjM0LCAxOTQsIDIzMiwgMjQ4LCAxLCAxNjIsIDIzNCwgMTk0LCAyMzIsIAotICAgIDI0OCwgMSwgMjE0LCAyNywgMjM0LCAxOTQsIDIzMiwgMjQ4LCAxLCAyNTEsIDQxLCAyMzQsIDE5NCwgMjMyLCAyNDgsIDEsIAotICAgIDYxLCAyMzQsIDE5NCwgMjMyLCAyNDgsIDEsIDIyNiwgMjM4LCAyMzQsIDE5NCwgMjMyLCAyNDgsIDEsIDc0LCAyMzQsIDE5NCwgCi0gICAgMjMyLCAyNDgsIDEsIDIyNiwgMTg3LCAyMzQsIDE5NCwgMjMyLCAyNDgsIDI1LCAyMTQsIDIxNCwgMjM0LCAxOTQsIDIzMiwgCi0gICAgMjQ4LCAyNSwgNzYsIDIzNCwgMTk0LCAyMzIsIDI0OCwgMjUsIDY5LCAyMzQsIDE5NCwgMjMyLCAyNDgsIDI1LCAyNDUsIAotICAgIDIxNywgMjM0LCAxOTQsIDIzMiwgMjQ4LCAyNSwgNzgsIDIzNCwgMTk0LCAyMzIsIDI0OCwgMTM4LCAyMjUsIDMzLCAyMzQsIAotICAgIDE5NCwgMjMyLCAyNDgsIDEzOCwgMjUxLCAyMCwgMjM0LCAxOTQsIDIzMiwgMjQ4LCAxMzgsIDI1MSwgMjEsIDIyNSwgMzMsIAotICAgIDIzNCwgMTk0LCAyMzIsIDI0OCwgNSwgMjQ5LCA4NSwgMjM0LCAxOTQsIDIzMiwgMjQ4LCA1LCAyMTksIDIwMSwgMjIzLCA5NiwgCi0gICAgMSwgMTc2LCAyMjMsIDk2LCAxLCAyNDMsIDE0MiwgMjIzLCA5NiwgMSwgMjI5LCA4MiwgMjIzLCA5NiwgMSwgMjE3LCAxMDYsIAotICAgIDIyMywgOTYsIDEsIDI0OCwgMjI5LCAyMjMsIDk2LCAxLCAxOTgsIDIyMywgOTYsIDEsIDE5MSwgMjIzLCA5NiwgMSwgMjUyLCAKLSAgICAxOTksIDIyMywgOTYsIDEsIDE4NiwgMjIzLCA5NiwgMSwgMjUxLCA0MSwgMjIzLCA5NiwgMSwgMjM1LCAxNDcsIDIyMywgOTYsIAotICAgIDEsIDIyNywgMTY5LCAyMjMsIDk2LCAxLCAyMDYsIDIyMywgOTYsIDEsIDIwNSwgMjIzLCA5NiwgMSwgMjMzLCAxNDEsIDIyMywgCi0gICAgOTYsIDEsIDE5MiwgMjIzLCA5NiwgMSwgMjEyLCA2NSwgMjIzLCA5NiwgMSwgMTYyLCAyMjMsIDk2LCAxLCAyMzEsIDEyOSwgCi0gICAgMjIzLCA5NiwgMSwgMjI5LCA2MSwgMjIzLCA5NiwgMSwgMjI5LCAxNTMsIDIyMywgOTYsIDEsIDIyNywgMTM5LCAyMjMsIDk2LCAKLSAgICAxLCA2MSwgMjIzLCA5NiwgMjUsIDUsIDc0LCAyMjMsIDk2LCAyNSwgNSwgNjksIDIyMywgOTYsIDI1LCA1LCA3NiwgMjIzLCAKLSAgICA5NiwgMjUsIDUsIDI1NCwgMjEwLCAyMjMsIDk2LCAyNSwgNSwgNzgsIDIyMywgOTYsIDI1LCA1LCAyNTMsIDIwMCwgMjIzLCAKLSAgICA5NiwgMjUsIDUsIDI0NSwgNjMsIDIyMywgOTYsIDI1LCA1LCAyNDUsIDI0MSwgMjIzLCA5NiwgMTE3LCA1LCAyMjksIDg0LCAKLSAgICAyMjMsIDk2LCAxMTcsIDUsIDIzMCwgMzAsIDIyMywgOTYsIDExNywgNSwgMTUzLCAyMjMsIDk2LCAxMTcsIDUsIDI0MiwgNjcsIAotICAgIDIyMywgOTYsIDIxMywgMTUyLCAyMjMsIDk2LCAyMjEsIDE3NSwgNzksIDI0LCAxMDAsIDIxNiwgOTgsIDI0LCAxMDAsIDIxNiwgCi0gICAgOTcsIDI0LCAxMDAsIDIxNiwgOTUsIDI0LCAxMDAsIDIxNiwgMTAwLCAyNCwgMTAwLCAyMjMsIDI0LCAyNCwgMTAwLCAyMjMsIAotICAgIDgsIDI0LCAxMDAsIDIyMywgMywgMjQsIDEwMCwgMjIzLCA1LCAyNCwgMTAwLCAyMjMsIDIxLCAyNCwgMTAwLCAyMjMsIDE0LCAKLSAgICAyNCwgMTAwLCAyMjMsIDcsIDI0LCAxMDAsIDIyMywgMjYsIDI0LCAxMDAsIDIyMywgOSwgMjQsIDEwMCwgMjIzLCAyOCwgMjQsIAotICAgIDEwMCwgMjIzLCAyNSwgMjQsIDEwMCwgMjMwLCAyMTgsIDI0LCAxMDAsIDIzMCwgMjA5LCAyNCwgMTAwLCAyMzAsIDIxMiwgCi0gICAgMjQsIDEwMCwgMjI1LCA4MywgMjQsIDEwMCwgMjI1LCA5NCwgMjQsIDEwMCwgMjI1LCA5NSwgMjQsIDEwMCwgMjE4LCAyMDksIAotICAgIDI0LCAxMDAsIDIzNiwgNTMsIDI0LCAxMDAsIDIzNiwgNjAsIDI0LCAxMDAsIDIxOCwgMjIwLCAyNCwgMTAwLCAyMTgsIDIwNywgCi0gICAgMjQsIDEwMCwgMjI1LCAxMzMsIDI0LCAxMDAsIDI0MSwgMTc0LCAyNCwgMTAwLCAyMTgsIDIwNCwgMTU1LCA1LCAyMjYsIDMxLCAKLSAgICAxNTUsIDUsIDI1MCwgMTk1LCAxNTUsIDUsIDIzMywgNzIsIDE1NSwgNSwgMjExLCAyNDMsIDE1NSwgMSwgNjEsIDE1NSwgMSwgCi0gICAgMjQwLCAxNjEsIDIzNCwgMTk3LCAxNTUsIDEsIDc0LCAxNTUsIDEsIDIzNiwgNDAsIDE1NSwgMSwgNjksIDE1NSwgMSwgMjI2LCAKLSAgICA5NCwgMjUwLCAxNzEsIDE1NSwgMSwgMjI5LCA4MywgMjMzLCAzNCwgMTU1LCAxLCAyMjksIDgzLCAyMzMsIDM1LCAyMjMsIAotICAgIDE0NSwgMTU1LCAxLCA3NiwgMTU1LCAxLCAyNTQsIDIxMCwgMTU1LCAxLCA3OCwgMTU1LCAxLCAxNzYsIDE1NSwgMSwgMjM1LCAKLSAgICAxOSwgMjIxLCAyMzAsIDE1NSwgMSwgMjM1LCAxOSwgMjMwLCA3MSwgMTU1LCAxLCAyNDMsIDE0MiwgMTU1LCAxLCAyNDMsIAotICAgIDE0MywgMjMwLCA3MSwgMTU1LCAxLCAyMjksIDgyLCAxNTUsIDEsIDI1MSwgNDEsIDE1NSwgMSwgMjUxLCA0MiwgMjMwLCA3MSwgCi0gICAgMTU1LCAxLCAyMzUsIDE0NywgMTU1LCAxLCAyMjcsIDE3MCwgMjMwLCA3MSwgMTU1LCAxLCAyMzUsIDE0OCwgMjMxLCAyMTIsIAotICAgIDE1NSwgMSwgMjI3LCAxNjksIDE1NSwgMSwgMjE1LCAxNTcsIDE1NSwgMSwgMjE1LCAxNTgsIDIzMSwgMjEyLCAxNTUsIDEsIAotICAgIDI0OCwgMTQzLCAxNTUsIDEsIDI0OCwgMTQ0LCAyMzEsIDIxMiwgMTU1LCAxLCAyMjksIDIzNCwgMjMwLCA3MSwgMTU1LCAxLCAKLSAgICAyMTcsIDEwNiwgMTU1LCAxLCAyMTcsIDEwNywgMjMwLCA3MSwgMTU1LCAxLCAyNDgsIDIyOSwgMTU1LCAxLCAyNDgsIDIzMCwgCi0gICAgMjMxLCAyMTIsIDE1NSwgMSwgMTk4LCAxNTUsIDEsIDE5MSwgMTU1LCAxLCAyMjYsIDk0LCAyMzAsIDcxLCAxNTUsIDEsIAotICAgIDI1MiwgMTk5LCAxNTUsIDEsIDI1MiwgMjAwLCAyMzAsIDcxLCAxNTUsIDEsIDE4NiwgMTU1LCAxLCAxOTIsIDE1NSwgMSwgCi0gICAgMjA1LCAxNTUsIDEsIDIyMywgMTkxLCAyNTQsIDIxOSwgMTU1LCAxLCAyMzMsIDE0MSwgMTU1LCAxLCAyMTIsIDY1LCAxNTUsIAotICAgIDEsIDIyMiwgMzYsIDIzMCwgNzEsIDE1NSwgMSwgMjIyLCAzNiwgMjMxLCAyMTIsIDE1NSwgMSwgMjA2LCAxNTUsIDEsIDE2MiwgCi0gICAgMTU1LCA1LCAyNTAsIDE5NiwgMjE2LCAyNTEsIDE1NSwgMjUsIDUsIDIxNywgNDgsIDE1NSwgMjUsIDUsIDIxNiwgMzYsIAotICAgIDE1NSwgMjUsIDUsIDIxMSwgMTkwLCAxNTUsIDI1LCA1LCAyMTEsIDE5MSwgMjMxLCA3NCwgMTU1LCAyNSwgNSwgMjE4LCA0OCwgCi0gICAgMTU1LCAyNSwgNSwgMjE4LCA0OSwgMjMxLCA2MiwgMTU1LCAyNSwgNSwgMjE3LCA2NiwgMTU1LCAyNSwgNSwgMjQ3LCAyMDIsIAotICAgIDIzMCwgNzAsIDE1NSwgMjUsIDUsIDIyNSwgMTg3LCAxNTUsIDExNywgNSwgMjM0LCAxNjQsIDE1NSwgMTE3LCA1LCAyMjUsIAotICAgIDE5OSwgMTU1LCAxMTcsIDUsIDI1MSwgMjcsIDE1NSwgMjI2LCA0NCwgMTU1LCA0MywgMjIzLCA3MiwgMTU1LCA0NCwgMjIzLCAKLSAgICA3MiwgMTU1LCAyMjYsIDgzLCAyNTQsIDEyNSwgMTU1LCAyMjYsIDgzLCAyMzEsIDIyOSwgMTU1LCAyMjYsIDgzLCAyMzIsIAotICAgIDkzLCAxNTUsIDIyNiwgODMsIDIxMSwgMjM4LCAxNTUsIDIyNiwgODMsIDIyNiwgNDUsIDE1NSwgMjI2LCA4MywgMjMyLCAKLSAgICAyMTEsIDE1NSwgMjI2LCA4MywgMjMyLCA4NywgMTU1LCAyMjYsIDgzLCAyNTUsIDIsIDE1NSwgMjI2LCA4MywgMjU1LCAzLCAKLSAgICAyNTUsIDIsIDE1NSwgMjI2LCA4MywgMjI1LCA1NCwgMTU1LCAyMTUsIDk0LCAyMjYsIDgzLCAyMjUsIDU0LCAxNTUsIDIyNiwgCi0gICAgNDAsIDE1NSwgMjEsIDIxMCwgODYsIDE1NSwgMjEsIDExMSwgMTU1LCAyMSwgMTA1LCAxNTUsIDIxLCAxNTgsIDE1NSwgMjEsIAotICAgIDE2MSwgMTU1LCAyMSwgMTkwLCAxNTUsIDIxLCAxOTUsIDE1NSwgMjEsIDE5OSwgMTU1LCAyMSwgMTk2LCAxNTUsIDIxLCAKLSAgICAyMDEsIDE1NSwgMjI2LCA4MywgMjE2LCA3MCwgMjE1LCAxMDcsIDE1NSwgMjI2LCA4MywgMjM1LCAxNzQsIDE3MiwgMSwgNjEsIAotICAgIDE3MiwgMSwgNzQsIDE3MiwgMSwgNjksIDE3MiwgMSwgNzYsIDE3MiwgMSwgMjU0LCAyMTAsIDE3MiwgMSwgNzgsIDE3MiwgMSwgCi0gICAgMTc2LCAxNzIsIDEsIDIzNCwgMTM4LCAxNzIsIDEsIDI0MywgMTQyLCAxNzIsIDEsIDI0MywgMCwgMTcyLCAxLCAyMjgsIAotICAgIDI1MCwgMTcyLCAxLCAyMjksIDgyLCAxNzIsIDEsIDI1MCwgMTY1LCAxNzIsIDEsIDI1MCwgMTIwLCAxNzIsIDEsIDIzNSwgCi0gICAgMTQ3LCAxNzIsIDEsIDIzNSwgMTIwLCAxNzIsIDEsIDIyOCwgMjQwLCAxNzIsIDEsIDIyOCwgMjQyLCAxNzIsIDEsIDIyOCwgCi0gICAgMjQxLCAxNzIsIDEsIDIxNywgMTA2LCAxNzIsIDEsIDIxNiwgMjA5LCAxNzIsIDEsIDI0OCwgMjI5LCAxNzIsIDEsIDI0OCwgCi0gICAgMzMsIDE3MiwgMSwgMjI3LCAyMTEsIDE3MiwgMSwgMTk4LCAxNzIsIDEsIDI0OCwgMTQzLCAxNzIsIDEsIDE5MSwgMTcyLCAxLCAKLSAgICAyMjQsIDIyMywgMTcyLCAxLCAyMjUsIDE1MCwgMTcyLCAxLCAyNTIsIDE5OSwgMTcyLCAxLCAyNTIsIDI2LCAxNzIsIDEsIAotICAgIDIzMCwgMTAwLCAxNzIsIDEsIDE4NiwgMTcyLCAxLCAyNTIsIDExOSwgMTcyLCAxLCAxOTIsIDE3MiwgMSwgMjA1LCAxNzIsIAotICAgIDEsIDIzMywgMTQxLCAxNzIsIDEsIDIxNCwgMjcsIDE3MiwgMSwgMjE4LCAyMjUsIDE3MiwgMSwgMjA2LCAxNzIsIDEsIDE2MiwgCi0gICAgMTcyLCAyNSwgNSwgMjU1LCA4MiwgMTcyLCAyNSwgNSwgNzQsIDE3MiwgMjUsIDUsIDIzNiwgNDAsIDE3MiwgMjUsIDUsIAotICAgIDI0NSwgMjAzLCAxNzIsIDI1LCA1LCA2OSwgMTcyLCAyNSwgNSwgMjI2LCAyMzgsIDE3MiwgMjUsIDUsIDc4LCAxNzIsIDI1LCAKLSAgICA1LCAyNTQsIDIxMCwgMTcyLCAyNSwgNSwgMjUzLCAyMDAsIDE3MiwgMjUsIDUsIDIxNCwgMjE0LCAxNzIsIDExNywgNSwgCi0gICAgMTkyLCAxNzIsIDExNywgNSwgMjA1LCAxNzIsIDExNywgNSwgMjMzLCAxNDEsIDE3MiwgMTE3LCA1LCAyMTIsIDY1LCAxNzIsIAotICAgIDEsIDQwLCAyMzUsIDI5LCAxNzIsIDEsIDQwLCAyNDMsIDIwOSwgMTcyLCAxLCA0MCwgMjI5LCA4NCwgMTcyLCAxMTcsIDUsIAotICAgIDQwLCAyMjksIDg0LCAxNzIsIDEsIDQwLCAyNTAsIDE2NiwgMTcyLCAxLCA0MCwgMjE3LCAxNTMsIDE3MiwgMSwgNDAsIDIzMCwgCi0gICAgMzAsIDE3MiwgMSwgNDAsIDIyNiwgMTA5LCAxNzIsIDEsIDQwLCAyMTEsIDExNywgMTcyLCAxLCA0MCwgMTUzLCAxNzIsIDEsIAotICAgIDQwLCAxNTYsIDE3MiwgMSwgNDAsIDIxOCwgMjI4LCAxNzIsIDExNywgNSwgNDAsIDE5NCwgMTcyLCAxMTcsIDUsIDQwLCAKLSAgICAyNDIsIDY3LCAxNzIsIDIxLCAyMTAsIDg2LCAxNzIsIDIxLCAxMTEsIDE3MiwgMjEsIDEwNSwgMTcyLCAyMSwgMTU4LCAxNzIsIAotICAgIDIxLCAxNjEsIDE3MiwgMjEsIDE5MCwgMTcyLCAyMSwgMTk1LCAxNzIsIDIxLCAxOTksIDE3MiwgMjEsIDE5NiwgMTcyLCAyMSwgCi0gICAgMjAxLCAxNzIsIDIyNCwgMTQ0LCAyMTgsIDI1MywgMTcyLCAyMjQsIDE0NCwgMjQ4LCAxODYsIDE3MiwgMjI0LCAxNDQsIDUyLCAKLSAgICAyNDgsIDE4NiwgMTcyLCAyMjQsIDE0NCwgMjE1LCAyMTIsIDI0OCwgMTg2LCA2OCwgMSwgMjM0LCAxMzIsIDI0MywgMTQyLCAKLSAgICA2OCwgMSwgMjM0LCAxMzIsIDI1MSwgNDEsIDY4LCAxLCAyMzQsIDEzMiwgMjUwLCAxNjUsIDY4LCAxLCAyMzQsIDEzMiwgCi0gICAgMjM1LCAxNDcsIDY4LCAxLCAyMzQsIDEzMiwgMjM1LCAxMjAsIDY4LCAxLCAyMzQsIDEzMiwgMjI3LCAxNjksIDY4LCAxLCAKLSAgICAyMzQsIDEzMiwgMjE1LCAxNTcsIDY4LCAxLCAyMzQsIDEzMiwgMjE1LCAxNDUsIDY4LCAxLCAyMzQsIDEzMiwgMjQ4LCAxNDMsIAotICAgIDY4LCAxLCAyMzQsIDEzMiwgMjQ4LCAxMjcsIDY4LCAxLCAyMzQsIDEzMiwgMjQ4LCAzMywgNjgsIDEsIDIzNCwgMTMyLCAKLSAgICAxOTgsIDY4LCAxLCAyMzQsIDEzMiwgMjA2LCA2OCwgMSwgMjM0LCAxMzIsIDE2MiwgNjgsIDEsIDIzNCwgMTMyLCAyNDEsIAotICAgIDE5NiwgNjgsIDEsIDIzNCwgMTMyLCAyNDQsIDIwNCwgNjgsIDU4LCAxLCAyMzQsIDEzMiwgMjIzLCAxMTIsIDY4LCAxLCAKLSAgICAyMzQsIDEzMiwgMjExLCAxNjUsIDY4LCAxLCAyMzQsIDEzMiwgMjEwLCAxMTYsIDY4LCAxLCAyMzQsIDEzMiwgMjA1LCA2OCwgCi0gICAgMjMyLCAxNTEsIDIzNCwgMTMyLCAyMjcsIDEsIDY4LCAyMzIsIDE1MSwgMjM0LCAxMzIsIDIyNCwgNDYsIDY4LCAyMzIsIAotICAgIDE1MSwgMjM0LCAxMzIsIDI0MSwgMTI4LCA2OCwgMTYsIDI1NCwgMTk5LCAyNDUsIDM4LCA2OCwgMTYsIDI1NCwgMTk5LCAKLSAgICAxMTEsIDY4LCAxNiwgMjU0LCAxOTksIDEwNSwgNjgsIDEsIDI1NCwgMTk5LCAyMDUsIDY4LCA1LCAyMjYsIDI3LCAyMzQsIAotICAgIDIxOSwgMjE2LCAzMSwgMzksIDIwOCwgMSwgMTIxLCAyMzQsIDM0LCAzOSwgMjA4LCAxLCAxMjUsIDIzNCwgMzQsIDM5LCAKLSAgICAyMDgsIDEsIDEyMSwgMjM0LCAxMTEsIDM5LCAyMDgsIDEsIDEyNSwgMjM0LCAxMTEsIDM5LCAyMDgsIDEsIDEyMSwgMjM0LCAKLSAgICAxMjAsIDM5LCAyMDgsIDEsIDEyNSwgMjM0LCAxMjAsIDM5LCAyMDgsIDEsIDEyMSwgMjQyLCAxODEsIDM5LCAyMDgsIDEsIAotICAgIDEyNSwgMjQyLCAxODEsIDM5LCAyMDgsIDEsIDEyMSwgMjI5LCA5LCAzOSwgMjA4LCAxLCAxMjUsIDIyOSwgOSwgMzksIDIwOCwgCi0gICAgMSwgMTIxLCAyNDksIDI0NiwgMzksIDIwOCwgMSwgMTI1LCAyNDksIDI0NiwgMzksIDIwOCwgMSwgMTIxLCAyNTAsIDk0LCAKLSAgICAzOSwgMjA4LCAxLCAxMjUsIDI1MCwgOTQsIDM5LCAyMDgsIDEsIDEyMSwgMjE5LCA2MCwgMzksIDIwOCwgMSwgMTI1LCAyMTksIAotICAgIDYwLCAzOSwgMjA4LCAxLCAxMjEsIDIyNywgMTM4LCAzOSwgMjA4LCAxLCAxMjUsIDIyNywgMTM4LCAzOSwgMjA4LCAxLCAKLSAgICAxMjEsIDI0NywgMTUzLCAzOSwgMjA4LCAxLCAxMjUsIDI0NywgMTUzLCAzOSwgMjA4LCAxLCAxMjEsIDExMiwgMzksIDIwOCwgCi0gICAgMSwgMTI1LCAxMTIsIDM5LCAyMDgsIDEsIDEyMSwgMjE2LCAxNTcsIDM5LCAyMDgsIDEsIDEyNSwgMjE2LCAxNTcsIDM5LCAKLSAgICAyMDgsIDEsIDEyMSwgMjI4LCA3OSwgMzksIDIwOCwgMSwgMTI1LCAyMjgsIDc5LCAzOSwgMjA4LCAxLCAxMjEsIDI1MSwgCi0gICAgMjEzLCAzOSwgMjA4LCAxLCAxMjUsIDI1MSwgMjEzLCAzOSwgMjA4LCAxLCAxMjEsIDIyNSwgMTksIDM5LCAyMDgsIDEsIAotICAgIDEyNSwgMjI1LCAxOSwgMzksIDIwOCwgMSwgMTIxLCAyMjUsIDEyNCwgMzksIDIwOCwgMSwgMTI1LCAyMjUsIDEyNCwgMzksIAotICAgIDIwOCwgMSwgMTIxLCAyNDQsIDUxLCAzOSwgMjA4LCAxLCAxMjUsIDI0NCwgNTEsIDM5LCAyMDgsIDEsIDEyMSwgMjMwLCAKLSAgICAxNjYsIDM5LCAyMDgsIDEsIDEyNSwgMjMwLCAxNjYsIDM5LCAyMDgsIDEsIDEyMSwgMjEwLCAyNDQsIDM5LCAyMDgsIDEsIAotICAgIDEyNSwgMjEwLCAyNDQsIDM5LCAyMDgsIDEsIDEyMSwgMjIyLCAyMTMsIDM5LCAyMDgsIDEsIDEyNSwgMjIyLCAyMTMsIDM5LCAKLSAgICAyMDgsIDEsIDEyMSwgMjMyLCAxNjIsIDM5LCAyMDgsIDEsIDEyNSwgMjMyLCAxNjIsIDM5LCAyMDgsIDEsIDEyMSwgMjEzLCAKLSAgICAxMzgsIDM5LCAyMDgsIDEsIDEyNSwgMjEzLCAxMzgsIDM5LCAyMDgsIDEsIDEyMSwgMjQxLCA3NSwgMzksIDIwOCwgMSwgCi0gICAgMTI1LCAyNDEsIDc1LCAzOSwgMjA4LCAxLCAxMjEsIDc4LCAzOSwgMjA4LCAxLCAxMjUsIDc4LCAzOSwgMjA4LCAyMzEsIAotICAgIDIwOSwgMjM0LCAyMzYsIDM5LCAyMDgsIDI1LCAyNTUsIDgyLCAzOSwgMjA4LCAyNSwgNzQsIDM5LCAyMDgsIDI1LCAyMTQsIAotICAgIDIxNCwgMzksIDIwOCwgMjUsIDY5LCAzOSwgMjA4LCAyNSwgNzYsIDM5LCAyMDgsIDI1LCA3OCwgMzksIDIwOCwgMjMxLCAKLSAgICAyMDksIDIzNCwgMTE0LCAzOSwgMjA4LCAyNSwgMjQwLCAxMjYsIDM5LCAyMDgsIDI1LCAyMTQsIDIxMywgMzksIDIwOCwgMjUsIAotICAgIDIxNCwgMjI5LCAzOSwgMjA4LCAyNSwgMjUzLCAxOTgsIDM5LCAyMDgsIDI1LCAyNTMsIDE3NSwgMzksIDIwOCwgMjUsIDI1NCwgCi0gICAgMTMxLCAzOSwgMjA4LCAyNSwgMjU0LCAxNDQsIDM5LCAyMDgsIDEzOCwgMjMxLCAyMDksIDI0NSwgMTg4LCAzOSwgMjA4LCAKLSAgICAxMzgsIDIzMSwgMjA5LCAyMjcsIDIxMCwgMzksIDIwOCwgMTM4LCAyMzEsIDIwOSwgMjE2LCAxNTcsIDM5LCAyMDgsIDEzOCwgCi0gICAgMjMxLCAyMDksIDIxOSwgNDQsIDM5LCAyMDgsIDE2LCAyMzQsIDE5LCAzOSwgMjA4LCAxNiwgMjI3LCAyMTAsIDM5LCAyMDgsIAotICAgIDE2LCAyMjEsIDI1NSwgMzksIDIwOCwgMTYsIDI0MSwgNzYsIDI0MSwgNzEsIDM5LCAyMDgsIDE2LCAyMzQsIDI4LCAyMzQsIAotICAgIDI3LCAxODgsIDE4NywgMSwgNzYsIDE4OCwgMTg3LCAxLCA3OCwgMTg4LCAxODcsIDEsIDI1MCwgMTY1LCAxODgsIDE4NywgMSwgCi0gICAgMjI3LCAxNjksIDE4OCwgMTg3LCAxLCAyMTUsIDE1NywgMTg4LCAxODcsIDEsIDIxNSwgMTQ1LCAxODgsIDE4NywgMSwgMjQ4LCAKLSAgICAxNDMsIDE4OCwgMTg3LCAxLCAyNDgsIDEyNywgMTg4LCAxODcsIDEsIDIyOCwgMTE1LCAxODgsIDE4NywgMSwgMjIwLCAxMDQsIAotICAgIDE4OCwgMTg3LCAxLCAyMTgsIDIyNSwgMTg4LCAxODcsIDI1LCA1LCAyMzYsIDQwLCAxODgsIDE4NywgMjUsIDUsIDIxNCwgCi0gICAgMTE4LCAxODgsIDE4NywgMjUsIDUsIDI1NSwgNDYsIDE4OCwgMTg3LCAyNSwgNSwgMjUzLCAyMDAsIDE4OCwgMTg3LCAyNSwgCi0gICAgNSwgMjU1LCAzOSwgMTg4LCAxODcsIDI1MCwgMTMzLCAxODgsIDE4NywgMjU0LCAyMTUsIDIzNCwgMTA0LCAxODgsIDE4NywgCi0gICAgMjU0LCAxMTEsIDE4OCwgMTg3LCAzLCAyMjMsIDc3LCA3OSwgMTg4LCAxODcsIDIxMSwgMjA5LCAyMjMsIDc3LCA3OSwgMTg4LCAKLSAgICAxODcsIDI1LCA1LCAyMTMsIDE0NywgMTg4LCAxODcsIDIxMywgMTUyLCAyOSwgMywgMjE1LCAxMzgsIDI5LCAzLCAyMTUsIAotICAgIDE0MSwgMjksIDMsIDIxNSwgMTQ0LCAyOSwgMywgMjE1LCAxNDIsIDI5LCAzLCAyMTUsIDE0MywgMjksIDMsIDIxNSwgMTQwLCAKLSAgICAyOSwgMywgMjQ4LCAxMjEsIDI5LCAzLCAyNDgsIDEyMywgMjksIDMsIDI0OCwgMTI2LCAyOSwgMywgMjQ4LCAxMjQsIDI5LCAKLSAgICAzLCAyNDgsIDEyNSwgMjksIDMsIDI0OCwgMTIyLCAyOSwgMywgMjQ2LCAzNiwgMjksIDMsIDI0NiwgMzksIDI5LCAzLCAyNDYsIAotICAgIDQ1LCAyOSwgMywgMjQ2LCA0MywgMjksIDMsIDI0NiwgNDQsIDI5LCAzLCAyNDYsIDM3LCAyOSwgMywgMjUwLCAyMTIsIDI5LCAKLSAgICAzLCAyNTAsIDIwNiwgMjksIDMsIDI1MCwgMjA4LCAyOSwgMywgMjUwLCAyMTEsIDI5LCAzLCAyNTAsIDIwOSwgMjksIDMsIAotICAgIDI1MCwgMjEwLCAyOSwgMywgMjUwLCAyMDcsIDI5LCAzLCAyNTIsIDExOSwgMjksIDMsIDI1MiwgOTgsIDI5LCAzLCAyNTIsIAotICAgIDExMCwgMjksIDMsIDI1MiwgMTE4LCAyOSwgMywgMjUyLCAxMTMsIDI5LCAzLCAyNTIsIDExNCwgMjksIDMsIDI1MiwgMTAyLCAKLSAgICAxODgsIDE4NywgMSwgMjM0LCAyNSwgMTg4LCAxODcsIDEsIDIyMSwgMjU1LCAxODgsIDE4NywgMSwgMjMzLCAxMTUsIDE4OCwgCi0gICAgMTg3LCAxLCAyMzAsIDE3NywgMTg4LCAxODcsIDEsIDE5MSwgMTg4LCAxODcsIDEsIDE5OCwgMTg4LCAxODcsIDEsIDI1MCwgCi0gICAgMTEwLCAxODgsIDE4NywgMSwgMjE2LCA5MSwgMTg4LCAxODcsIDEsIDIzNCwgMTA3LCAxODgsIDE4NywgMSwgMjI4LCAyNTUsIAotICAgIDE4OCwgMTg3LCAxLCAyMTYsIDE1MSwgMTg4LCAxODcsIDEsIDIxMiwgNjAsIDE4OCwgMTg3LCAxLCAyMTEsIDY5LCAxODgsIAotICAgIDE4NywgMSwgMjQwLCAyMjMsIDE4OCwgMTg3LCAxLCAyMTQsIDE5MCwgMTg4LCAxODcsIDEsIDc0LCAxODgsIDE4NywgMSwgCi0gICAgMjI1LCAxNDUsIDE4OCwgMTg3LCAxLCAyNTMsIDIxMCwgMTg4LCAxODcsIDEsIDI0MiwgMTc0LCAxODgsIDE4NywgMSwgMjM1LCAKLSAgICAxMTgsIDE4OCwgMTg3LCAxLCAyMjMsIDE2OSwgMTg4LCAxODcsIDEsIDI1MiwgMTk5LCAxODgsIDE4NywgMSwgMjM1LCAxMDYsIAotICAgIDE4OCwgMTg3LCAxLCAyNDcsIDIyNywgMTg4LCAxODcsIDEsIDI0MiwgMjI4LCAxODgsIDE4NywgMSwgMjQ4LCAxMywgMTg4LCAKLSAgICAxODcsIDEsIDI1MiwgMjQsIDE4OCwgMTg3LCAxLCAyMzQsIDI2LCAyMzIsIDEzNCwgMTg4LCAxODcsIDEsIDIzMywgMTE2LCAKLSAgICAyMzIsIDEzNCwgMTg4LCAxODcsIDEsIDIzMCwgMTc4LCAyMzIsIDEzNCwgMTg4LCAxODcsIDEsIDIyNiwgOTQsIDIzMiwgCi0gICAgMTM0LCAxODgsIDE4NywgMSwgMjI5LCAyMzQsIDIzMiwgMTM0LCAxODgsIDE4NywgMSwgMjE2LCA5MiwgMjMyLCAxMzQsIAotICAgIDE4OCwgMTg3LCAxLCAyMjksIDAsIDIzMiwgMTM0LCAxODgsIDE4NywgMSwgMjQwLCAxNjEsIDIzMiwgMTM0LCAxODgsIDE4NywgCi0gICAgMjUsIDUsIDIyNiwgMTk5LCAxODgsIDE4NywgMjUsIDUsIDIzNiwgNCwgMTg4LCAxODcsIDI1LCA1LCAyNTQsIDEzMCwgMTg4LCAKLSAgICAxODcsIDI1LCA1LCAyMTEsIDM4LCAxODgsIDE4NywgMjUsIDUsIDIxOSwgMzQsIDE4OCwgMTg3LCAyNSwgNSwgMjE0LCAxODcsIAotICAgIDE4OCwgMTg3LCAyNSwgNSwgMjUwLCAxMzEsIDE4OCwgMTg3LCAyNSwgNSwgMjI3LCAxOTUsIDE4OCwgMTg3LCAyNTAsIDEzMiwgCi0gICAgMTg4LCAxODcsIDIzMiwgOTAsIDIzNSwgMTU2LCAxODgsIDE4NywgMjU0LCA1NCwgMjM1LCAxNTYsIDE4OCwgMTg3LCAyMSwgCi0gICAgMjEwLCA4NiwgMTg4LCAxODcsIDIxLCAxMTEsIDE4OCwgMTg3LCAyMSwgMTA1LCAxODgsIDE4NywgMjEsIDE1OCwgMTg4LCAKLSAgICAxODcsIDIxLCAxNjEsIDE4OCwgMTg3LCAyMSwgMTkwLCAxODgsIDE4NywgMjEsIDE5NSwgMTg4LCAxODcsIDIxLCAxOTksIAotICAgIDE4OCwgMTg3LCAyMSwgMTk2LCAxODgsIDE4NywgMjEsIDIwMSwgMjQsIDE0MywgMjI3LCA4MSwgMjQsIDE0MywgMjI3LCA4NiwgCi0gICAgMjQsIDE0MywgMjEwLCAyNDMsIDI0LCAxNDMsIDIxMCwgMjQyLCAyNCwgMTQzLCAyMTAsIDI0MSwgMjQsIDE0MywgMjE1LCAKLSAgICAyMywgMjQsIDE0MywgMjE1LCAyNiwgMjQsIDE0MywgMjEwLCAyMTAsIDI0LCAxNDMsIDIxMCwgMjA2LCAyNCwgMTQzLCAyNDUsIAotICAgIDYyLCAyNCwgMTQzLCAyNDUsIDYwLCAyNCwgMTQzLCAyNDUsIDYxLCAyNCwgMTQzLCAyNDUsIDU4LCAyNCwgMTQzLCAyNDAsIAotICAgIDE1MSwgMjQsIDE0MywgMjQwLCAxNTAsIDI0LCAxNDMsIDI0MCwgMTQ4LCAyNCwgMTQzLCAyNDAsIDE0OSwgMjQsIDE0MywgCi0gICAgMjQwLCAxNTQsIDI0LCAxNDMsIDI0MCwgMTQ3LCAyNCwgMTQzLCAyNDAsIDE0NiwgMjQsIDE0MywgMjQwLCAxNTYsIDI0LCAKLSAgICAxNDMsIDI1NCwgNDEsIDI0LCAxNDMsIDI1NCwgNDAsIDI0LCA5MCwgMjI4LCAyMjQsIDI0LCA5MCwgMjI4LCAyMzAsIDI0LCAKLSAgICA5MCwgMjE4LCAyMDYsIDI0LCA5MCwgMjE4LCAyMDUsIDI0LCA5MCwgMjE2LCA5NywgMjQsIDkwLCAyMTYsIDk1LCAyNCwgOTAsIAotICAgIDIxNiwgOTQsIDI0LCA5MCwgMjE2LCAxMDAsIDI0LCA5MCwgMjE2LCAxMDEsIDI0LCA5MCwgMjE2LCA5MywgMjQsIDkwLCAKLSAgICAyMjMsIDgsIDI0LCA5MCwgMjIzLCAyMywgMjQsIDkwLCAyMTgsIDIxMiwgMjQsIDkwLCAyMjMsIDIwLCAyNCwgOTAsIDIyMywgCi0gICAgMTAsIDI0LCA5MCwgMjIzLCAxMiwgMjQsIDkwLCAyMjIsIDI1NSwgMjQsIDkwLCAyMjMsIDAsIDI0LCA5MCwgMjM0LCAyMjQsIAotICAgIDI0LCA5MCwgMjMwLCAyMTcsIDI0LCA5MCwgMjMwLCAyMTEsIDI0LCA5MCwgMjE4LCAyMTYsIDI0LCA5MCwgMjMwLCAyMTQsIAotICAgIDI0LCA5MCwgMjMwLCAyMjAsIDI0LCA5MCwgMjI1LCA3OSwgMjQsIDkwLCAyMjUsIDg4LCAyNCwgOTAsIDIyNSwgOTIsIDI0LCAKLSAgICA5MCwgMjE4LCAyMTQsIDI0LCA5MCwgMjI1LCA4MiwgMjQsIDkwLCAyMjUsIDk2LCAyNCwgOTAsIDIyNSwgOTcsIDI0LCA5MCwgCi0gICAgMjE5LCAxNDIsIDI0LCA5MCwgMjE5LCAxNDUsIDI0LCA5MCwgMjE4LCAyMTAsIDI0LCA5MCwgMjE4LCAyMDgsIDI0LCA5MCwgCi0gICAgMjE5LCAxNDAsIDI0LCA5MCwgMjE5LCAxNDgsIDI0LCA5MCwgMjE5LCAxNDksIDI0LCA5MCwgMjE5LCAxMzQsIDI0LCA5MCwgCi0gICAgMjE5LCAxNDcsIDI0LCA5MCwgMjI2LCAzNCwgMjQsIDkwLCAyMjYsIDM1LCAyNCwgOTAsIDIxMSwgMjQsIDI0LCA5MCwgMjExLCAKLSAgICAyNSwgMjQsIDkwLCAyNTAsIDUyLCAyNCwgOTAsIDI1MCwgNTEsIDI0LCA5MCwgMjE4LCAyMjEsIDI0LCA5MCwgMjI1LCAxMzEsIAotICAgIDI0LCA5MCwgMjI1LCAxMzAsIDEwLCAxNCwgMjM4LCAzMSwgMTAsIDE0LCAyMzgsIDMwLCAxMCwgMTQsIDIzOCwgMjksIDEwLCAKLSAgICAxNCwgMjM4LCAyOCwgMTAsIDE0LCAyMzgsIDI3LCAxMCwgMTQsIDIzOCwgMjYsIDEwLCAxNCwgMjM4LCAyNSwgMTAsIDE0LCAKLSAgICAyMzgsIDI0LCAxMCwgMTQsIDIzOCwgMjMsIDEwLCAxNCwgMjM4LCAyMiwgMTAsIDE0LCAyMzgsIDIxLCAxMCwgMTQsIDIzOCwgCi0gICAgMjAsIDEwLCAxNCwgMjM4LCAxOSwgMTAsIDE0LCAyMzgsIDE4LCAxMCwgMTQsIDIzOCwgMTcsIDEwLCAxNCwgMjM4LCAxNiwgCi0gICAgMTAsIDE0LCAyMzgsIDE1LCAxMCwgMTQsIDIzOCwgMTQsIDEwLCAxNCwgMjM4LCAxMywgMTAsIDE0LCAyMzgsIDEyLCAxMCwgCi0gICAgMTQsIDIzOCwgMTEsIDEwLCAxNCwgMjM4LCAxMCwgMTAsIDE0LCAyMzgsIDksIDEwLCAxNCwgMjM4LCA4LCAxMCwgMTQsIAotICAgIDIzOCwgNywgMTAsIDE0LCAyMzgsIDYsIDEwLCAxNCwgMjM4LCA1LCAxMCwgMTQsIDIzOCwgNCwgMTAsIDE0LCAyMzgsIDMsIAotICAgIDEwLCAxNCwgMjM4LCAyLCAxMCwgMTQsIDIzOCwgMSwgMTAsIDE0LCAyMzgsIDAsIDEwLCAxNCwgMjM3LCAyNTUsIDEwLCAxNCwgCi0gICAgMjM3LCAyNTQsIDEwLCAxNCwgMjM3LCAyNTMsIDEwLCAxNCwgMjM3LCAyNTIsIDEwLCAxNCwgMjM3LCAyNTEsIDEwLCAxNCwgCi0gICAgMjM3LCAyNTAsIDEwLCAxNCwgMjM3LCAyNDksIDEwLCAxNCwgMjM3LCAyNDgsIDEwLCAxNCwgMjM3LCAyNDcsIDEwLCAxNCwgCi0gICAgMjM3LCAyNDYsIDEwLCAxNCwgMjM3LCAyNDUsIDEwLCAxNCwgMjM3LCAyNDQsIDEwLCAxNCwgMjM3LCAyNDMsIDEwLCAxNCwgCi0gICAgMjM3LCAyNDIsIDEwLCAxNCwgMjM3LCAyNDEsIDEwLCAxNCwgMjM3LCAyNDAsIDEwLCAxNCwgMjM3LCAyMzksIDEwLCAxNCwgCi0gICAgMjM3LCAyMzgsIDEwLCAxNCwgMjM3LCAyMzcsIDEwLCAxNCwgMjM3LCAyMzYsIDEwLCAxNCwgMjM3LCAyMzUsIDEwLCAxNCwgCi0gICAgMjM3LCAyMzQsIDEwLCAxNCwgMjM3LCAyMzMsIDEwLCAxNCwgMjM3LCAyMzIsIDEwLCAxNCwgMjM3LCAyMzEsIDEwLCAxNCwgCi0gICAgMjM3LCAyMzAsIDEwLCAxNCwgMjM3LCAyMjksIDEwLCAxNCwgMjM3LCAyMjgsIDEwLCAxNCwgMjM3LCAyMjcsIDEwLCAxNCwgCi0gICAgMjM3LCAyMjYsIDEwLCAxNCwgMjM3LCAyMjUsIDEwLCAxNCwgMjM3LCAyMjQsIDEwLCAxNCwgMjM3LCAyMjMsIDEwLCAxNCwgCi0gICAgMjM3LCAyMjIsIDEwLCAxNCwgMjM3LCAyMjEsIDEwLCAxNCwgMjM3LCAyMjAsIDEwLCAxNCwgMjM3LCAyMTksIDEwLCAxNCwgCi0gICAgMjM3LCAyMTgsIDEwLCAxNCwgMjM3LCAyMTcsIDEwLCAxNCwgMjM3LCAyMTYsIDEwLCAxNCwgMjM3LCAyMTUsIDEwLCAxNCwgCi0gICAgMjM3LCAyMTQsIDEwLCAxNCwgMjM3LCAyMTMsIDEwLCAxNCwgMjM3LCAyMTIsIDEwLCAxNCwgMjM3LCAyMTEsIDEwLCAxNCwgCi0gICAgMjM3LCAyMTAsIDEwLCAxNCwgMjM3LCAyMDksIDEwLCAxNCwgMjM3LCAyMDgsIDEwLCAxNCwgMjM3LCAyMDcsIDEwLCAxNCwgCi0gICAgMjM3LCAyMDYsIDEwLCAxNCwgMjM3LCAyMDUsIDEwLCAxNCwgMjM3LCAyMDQsIDEwLCAxNCwgMjM3LCAyMDMsIDEwLCAxNCwgCi0gICAgMjM3LCAyMDIsIDEwLCAxNCwgMjM3LCAyMDEsIDEwLCAxNCwgMjM3LCAyMDAsIDEwLCAxNCwgMjM3LCAxOTksIDEwLCAxNCwgCi0gICAgMjM3LCAxOTgsIDEwLCAxNCwgMjM3LCAxOTcsIDEwLCAxNCwgMjM3LCAxOTYsIDEwLCAxNCwgMjM3LCAxOTUsIDEwLCAxNCwgCi0gICAgMjM3LCAxOTQsIDEwLCAxNCwgMjM3LCAxOTMsIDEwLCAxNCwgMjM3LCAxOTIsIDEwLCAxNCwgMjM3LCAxOTEsIDEwLCAxNCwgCi0gICAgMjM3LCAxOTAsIDEwLCAxNCwgMjM3LCAxODksIDEwLCAxNCwgMjM3LCAxODgsIDEwLCAxNCwgMjM3LCAxODcsIDEwLCAxNCwgCi0gICAgMjM3LCAxODYsIDEwLCAxNCwgMjM3LCAxODUsIDEwLCAxNCwgMjM3LCAxODQsIDEwLCAxNCwgMjM3LCAxODMsIDEwLCAxNCwgCi0gICAgMjM3LCAxODIsIDEwLCAxNCwgMjM3LCAxODEsIDEwLCAxNCwgMjM3LCAxODAsIDEwLCAxNCwgMjM3LCAxNzksIDEwLCAxNCwgCi0gICAgMjM3LCAxNzgsIDEwLCAxNCwgMjM3LCAxNzcsIDEwLCAxNCwgMjM3LCAxNzYsIDEwLCAxNCwgMjM3LCAxNzUsIDEwLCAxNCwgCi0gICAgMjM3LCAxNzQsIDEwLCAxNCwgMjM3LCAxNzMsIDEwLCAxNCwgMjM3LCAxNzIsIDEwLCAxNCwgMjM3LCAxNzEsIDEwLCAxNCwgCi0gICAgMjM3LCAxNzAsIDEwLCAxNCwgMjM3LCAxNjksIDEwLCAxNCwgMjM3LCAxNjgsIDEwLCAxNCwgMjM3LCAxNjcsIDEwLCAxNCwgCi0gICAgMjM3LCAxNjYsIDEwLCAxNCwgMjM3LCAxNjUsIDEwLCAxNCwgMjM3LCAxNjQsIDEwLCAxNCwgMjM3LCAxNjMsIDEwLCAxNCwgCi0gICAgMjM3LCAxNjIsIDEwLCAxNCwgMjM3LCAxNjEsIDEwLCAxNCwgMjM3LCAxNjAsIDEwLCAxNCwgMjM3LCAxNTksIDEwLCAxNCwgCi0gICAgMjM3LCAxNTgsIDEwLCAxNCwgMjM3LCAxNTcsIDEwLCAxNCwgMjM3LCAxNTYsIDEwLCAxNCwgMjM3LCAxNTUsIDEwLCAxNCwgCi0gICAgMjM3LCAxNTQsIDEwLCAxNCwgMjM3LCAxNTMsIDEwLCAxNCwgMjM3LCAxNTIsIDEwLCAxNCwgMjM3LCAxNTEsIDEwLCAxNCwgCi0gICAgMjM3LCAxNTAsIDEwLCAxNCwgMjM3LCAxNDksIDEwLCAxNCwgMjM3LCAxNDgsIDEwLCAxNCwgMjM3LCAxNDcsIDEwLCAxNCwgCi0gICAgMjM3LCAxNDYsIDEwLCAxNCwgMjM3LCAxNDUsIDEwLCAxNCwgMjM3LCAxNDQsIDEwLCAxNCwgMjM3LCAxNDMsIDEwLCAxNCwgCi0gICAgMjM3LCAxNDIsIDEwLCAxNCwgMjM3LCAxNDEsIDEwLCAxNCwgMjM3LCAxNDAsIDEwLCAxNCwgMjM3LCAxMzksIDEwLCAxNCwgCi0gICAgMjM3LCAxMzgsIDEwLCAxNCwgMjM3LCAxMzcsIDEwLCAxNCwgMjM3LCAxMzYsIDEwLCAxNCwgMjM3LCAxMzUsIDEwLCAxNCwgCi0gICAgMjM3LCAxMzQsIDEwLCAxNCwgMjM3LCAxMzMsIDEwLCAxNCwgMjM3LCAxMzIsIDEwLCAxNCwgMjM3LCAxMzEsIDEwLCAxNCwgCi0gICAgMjM3LCAxMzAsIDEwLCAxNCwgMjM3LCAxMjksIDEwLCAxNCwgMjM3LCAxMjgsIDEwLCAxNCwgMjM3LCAxMjcsIDEwLCAxNCwgCi0gICAgMjM3LCAxMjYsIDEwLCAxNCwgMjM3LCAxMjUsIDEwLCAxNCwgMjM3LCAxMjQsIDEwLCAxNCwgMjM3LCAxMjMsIDEwLCAxNCwgCi0gICAgMjM3LCAxMjIsIDEwLCAxNCwgMjM3LCAxMjEsIDEwLCAxNCwgMjM3LCAxMjAsIDEwLCAxNCwgMjM3LCAxMTksIDEwLCAxNCwgCi0gICAgMjM3LCAxMTgsIDEwLCAxNCwgMjM3LCAxMTcsIDEwLCAxNCwgMjM3LCAxMTYsIDEwLCAxNCwgMjM3LCAxMTUsIDEwLCAxNCwgCi0gICAgMjM3LCAxMTQsIDEwLCAxNCwgMjM3LCAxMTMsIDEwLCAxNCwgMjM3LCAxMTIsIDEwLCAxNCwgMjM3LCAxMTEsIDEwLCAxNCwgCi0gICAgMjM3LCAxMTAsIDEwLCAxNCwgMjM3LCAxMDksIDEwLCAxNCwgMjM3LCAxMDgsIDEwLCAxNCwgMjM3LCAxMDcsIDEwLCAxNCwgCi0gICAgMjM3LCAxMDYsIDEwLCAxNCwgMjM3LCAxMDUsIDEwLCAxNCwgMjM3LCAxMDQsIDEwLCAxNCwgMjM3LCAxMDMsIDEwLCAxNCwgCi0gICAgMjM3LCAxMDIsIDEwLCAxNCwgMjM3LCAxMDEsIDEwLCAxNCwgMjM3LCAxMDAsIDEwLCAxNCwgMjM3LCA5OSwgMTAsIDE0LCAKLSAgICAyMzcsIDk4LCAxMCwgMTQsIDIzNywgOTcsIDEwLCAxNCwgMjM3LCA5NiwgMTAsIDE0LCAyMzcsIDk1LCAxMCwgMTQsIDIzNywgCi0gICAgOTQsIDEwLCAxNCwgMjM3LCA5MywgMTAsIDE0LCAyMzcsIDkyLCAxMCwgMTQsIDIzNywgOTEsIDEwLCAxNCwgMjM3LCA5MCwgCi0gICAgMTAsIDE0LCAyMzcsIDg5LCAxMCwgMTQsIDIzNywgODgsIDEwLCAxNCwgMjM3LCA4NywgMTAsIDE0LCAyMzcsIDg2LCAxMCwgCi0gICAgMTQsIDIzNywgODUsIDEwLCAxNCwgMjM3LCA4NCwgMTAsIDE0LCAyMzcsIDgzLCAxMCwgMTQsIDIzNywgODIsIDEwLCAxNCwgCi0gICAgMjM3LCA4MSwgMTAsIDE0LCAyMzcsIDgwLCAxMCwgMTQsIDIzNywgNzksIDEwLCAxNCwgMjM3LCA3OCwgMTAsIDE0LCAyMzcsIAotICAgIDc3LCAxMCwgMTQsIDIzNywgNzYsIDEwLCAxNCwgMjM3LCA3NSwgMTAsIDE0LCAyMzcsIDc0LCAxMCwgMTQsIDIzNywgNzMsIAotICAgIDEwLCAxNCwgMjM3LCA3MiwgMTAsIDE0LCAyMzcsIDcxLCAxMCwgMTQsIDIzNywgNzAsIDEwLCAxNCwgMjM3LCA2OSwgMTAsIAotICAgIDE0LCAyMzcsIDY4LCAxMCwgMTQsIDIzNywgNjcsIDEwLCAxNCwgMjM3LCA2NiwgMTAsIDE0LCAyMzcsIDY1LCAxMCwgMTQsIAotICAgIDIzNywgNjQsIDEwLCAxNCwgMjM3LCA2MywgMTAsIDE0LCAyMzcsIDYyLCAxMCwgMTQsIDIzNywgNjEsIDEwLCAxNCwgMjM3LCAKLSAgICA2MCwgMTAsIDE0LCAyMzcsIDU5LCAxMCwgMTQsIDIzNywgNTgsIDEwLCAxNCwgMjM3LCA1NywgMTAsIDE0LCAyMzcsIDU2LCAKLSAgICAxMCwgMTQsIDIzNywgNTUsIDEwLCAxNCwgMjM3LCA1NCwgMTAsIDE0LCAyMzcsIDUzLCAxMCwgMTQsIDIzNywgNTIsIDEwLCAKLSAgICAxNCwgMjM3LCA1MSwgMTAsIDE0LCAyMzcsIDUwLCAxMCwgMTQsIDIzNywgNDksIDEwLCAxNCwgMjM3LCA0OCwgMTAsIDE0LCAKLSAgICAyMzcsIDQ3LCAxMCwgMTQsIDIzNywgNDYsIDEwLCAxNCwgMjM3LCA0NSwgMTAsIDE0LCAyMzcsIDQ0LCAxMCwgMTQsIDIzNywgCi0gICAgNDMsIDEwLCAxNCwgMjM3LCA0MiwgMTAsIDE0LCAyMzcsIDQxLCAxMCwgMTQsIDIzNywgNDAsIDEwLCAxNCwgMjM3LCAzOSwgCi0gICAgMTAsIDE0LCAyMzcsIDM4LCAxMCwgMTQsIDIzNywgMzcsIDEwLCAxNCwgMjM3LCAzNiwgMTAsIDE0LCAyMzcsIDM1LCAxMCwgCi0gICAgMTQsIDIzNywgMzQsIDEwLCAxNCwgMjM3LCAzMywgMTAsIDE0LCAyMzcsIDMyLCAxMCwgMTQsIDIzNywgMzEsIDEwLCAxNCwgCi0gICAgMjM3LCAzMCwgMTAsIDE0LCAyMzcsIDI5LCAxMCwgMTQsIDIzNywgMjgsIDEwLCAxNCwgMjM3LCAyNywgMTAsIDE0LCAyMzcsIAotICAgIDI2LCAxMCwgMTQsIDIzNywgMjUsIDEwLCAxNCwgMjM3LCAyNCwgMTAsIDE0LCAyMzcsIDIzLCAxMCwgMTQsIDIzNywgMjIsIAotICAgIDEwLCAxNCwgMjM3LCAyMSwgMTAsIDE0LCAyMzcsIDIwLCAxMCwgMTQsIDIzNywgMTksIDEwLCAxNCwgMjM3LCAxOCwgMTAsIAotICAgIDE0LCAyMzcsIDE3LCAxMCwgMTQsIDIzNywgMTYsIDEwLCAxNCwgMjM3LCAxNSwgMTAsIDE0LCAyMzcsIDE0LCAxMCwgMTQsIAotICAgIDIzNywgMTMsIDEwLCAxNCwgMjM3LCAxMiwgMTAsIDE0LCAyMzcsIDExLCAxMCwgMTQsIDIzNywgMTAsIDEwLCAxNCwgMjM3LCAKLSAgICA5LCAxMCwgMTQsIDIzNywgOCwgMTAsIDE0LCAyMzcsIDcsIDEwLCAxNCwgMjM3LCA2LCAxMCwgMTQsIDIzNywgNSwgMTAsIAotICAgIDE0LCAyMzcsIDQsIDEwLCAxNCwgMjM3LCAzLCAxMCwgMTQsIDIzNywgMiwgMTAsIDE0LCAyMzcsIDEsIDEwLCAxNCwgMjM3LCAKLSAgICAwLCAxMCwgMTQsIDIzNiwgMjU1LCAxMCwgMTQsIDIzNiwgMjU0LCAxMCwgMTQsIDIzNiwgMjUzLCAxMCwgMTQsIDIzNiwgCi0gICAgMjUyLCAxMCwgMTQsIDIzNiwgMjUxLCAxMCwgMTQsIDIzNiwgMjUwLCAxMCwgMTQsIDIzNiwgMjQ5LCAxMCwgMTQsIDIzNiwgCi0gICAgMjQ4LCAxMCwgMTQsIDIzNiwgMjQ3LCAxMCwgMTQsIDIzNiwgMjQ2LCAxMCwgMTQsIDIzNiwgMjQ1LCAxMCwgMTQsIDIzNiwgCi0gICAgMjQ0LCAxMCwgMTQsIDIzNiwgMjQzLCAxMCwgMTQsIDIzNiwgMjQyLCAxMCwgMTQsIDIzNiwgMjQxLCAxMCwgMTQsIDIzNiwgCi0gICAgMjQwLCAxMCwgMTQsIDIzNiwgMjM5LCAxMCwgMTQsIDIzNiwgMjM4LCAxMCwgMTQsIDIzNiwgMjM3LCAxMCwgMTQsIDIzNiwgCi0gICAgMjM2LCAxMCwgMTQsIDIzNiwgMjM1LCAxMCwgMTQsIDIzNiwgMjM0LCAxMCwgMTQsIDIzNiwgMjMzLCAxMCwgMTQsIDIzNiwgCi0gICAgMjMyLCAxMCwgMTQsIDIzNiwgMjMxLCAxMCwgMTQsIDIzNiwgMjMwLCAxMCwgMTQsIDIzNiwgMjI5LCAxMCwgMTQsIDIzNiwgCi0gICAgMjI4LCAxMCwgMTQsIDIzNiwgMjI3LCAxMCwgMTQsIDIzNiwgMjI2LCAxMCwgMTQsIDIzNiwgMjI1LCAxMCwgMTQsIDIzNiwgCi0gICAgMjI0LCAxMCwgMTQsIDIzNiwgMjIzLCAxMCwgMTQsIDIzNiwgMjIyLCAxMCwgMTQsIDIzNiwgMjIxLCAxMCwgMTQsIDIzNiwgCi0gICAgMjIwLCAxMCwgMTQsIDIzNiwgMjE5LCAxMCwgMTQsIDIzNiwgMjE4LCAxMCwgMTQsIDIzNiwgMjE3LCAxMCwgMTQsIDIzNiwgCi0gICAgMjE2LCAxMCwgMTQsIDIzNiwgMjE1LCAxMCwgMTQsIDIzNiwgMjE0LCAxMCwgMTQsIDIzNiwgMjEzLCAxMCwgMTQsIDIzNiwgCi0gICAgMjEyLCAxMCwgMTQsIDIzNiwgMjExLCAxMCwgMTQsIDIzNiwgMjEwLCAxMCwgMTQsIDIzNiwgMjA5LCAxMCwgMTQsIDIzNiwgCi0gICAgMjA4LCAxMCwgMTQsIDIzNiwgMjA3LCAxMCwgMTQsIDIzNiwgMjA2LCAxMCwgMTQsIDIzNiwgMjA1LCAxMCwgMTQsIDIzNiwgCi0gICAgMjA0LCAxMCwgMTQsIDIzNiwgMjAzLCAxMCwgMTQsIDIzNiwgMjAyLCAxMCwgMTQsIDIzNiwgMjAxLCAxMCwgMTQsIDIzNiwgCi0gICAgMjAwLCAxMCwgMTQsIDIzNiwgMTk5LCAxMCwgMTQsIDIzNiwgMTk4LCAxMCwgMTQsIDIzNiwgMTk3LCAxMCwgMTQsIDIzNiwgCi0gICAgMTk2LCAxMCwgMTQsIDIzNiwgMTk1LCAxMCwgMTQsIDIzNiwgMTk0LCAxMCwgMTQsIDIzNiwgMTkzLCAxMCwgMTQsIDIzNiwgCi0gICAgMTkyLCAxMCwgMTQsIDIzNiwgMTkxLCAxMCwgMTQsIDIzNiwgMTkwLCAxMCwgMTQsIDIzNiwgMTg5LCAxMCwgMTQsIDIzNiwgCi0gICAgMTg4LCAxMCwgMTQsIDIzNiwgMTg3LCAxMCwgMTQsIDIzNiwgMTg2LCAxMCwgMTQsIDIzNiwgMTg1LCAxMCwgMTQsIDIzNiwgCi0gICAgMTg0LCAxMCwgMTQsIDIzNiwgMTgzLCAxMCwgMTQsIDIzNiwgMTgyLCAxMCwgMTQsIDIzNiwgMTgxLCAxMCwgMTQsIDIzNiwgCi0gICAgMTgwLCAxMCwgMTQsIDIzNiwgMTc5LCAxMCwgMTQsIDIzNiwgMTc4LCAxMCwgMTQsIDIzNiwgMTc3LCAxMCwgMTQsIDIzNiwgCi0gICAgMTc2LCAxMCwgMTQsIDIzNiwgMTc1LCAxMCwgMTQsIDIzNiwgMTc0LCAxMCwgMTQsIDIzNiwgMTczLCAxMCwgMTQsIDIzNiwgCi0gICAgMTcyLCAxMCwgMTQsIDIzNiwgMTcxLCAxMCwgMTQsIDIzNiwgMTcwLCAxMCwgMTQsIDIzNiwgMTY5LCAxMCwgMTQsIDIzNiwgCi0gICAgMTY4LCAxMCwgMTQsIDIzNiwgMTY3LCAxMCwgMTQsIDIzNiwgMTY2LCAxMCwgMTQsIDIzNiwgMTY1LCAxMCwgMTQsIDIzNiwgCi0gICAgMTY0LCAxMCwgMTQsIDIzNiwgMTYzLCAxMCwgMTQsIDIzNiwgMTYyLCAxMCwgMTQsIDIzNiwgMTYxLCAxMCwgMTQsIDIzNiwgCi0gICAgMTYwLCAxMCwgMTQsIDIzNiwgMTU5LCAxMCwgMTQsIDIzNiwgMTU4LCAxMCwgMTQsIDIzNiwgMTU3LCAxMCwgMTQsIDIzNiwgCi0gICAgMTU2LCAxMCwgMTQsIDIzNiwgMTU1LCAxMCwgMTQsIDIzNiwgMTU0LCAxMCwgMTQsIDIzNiwgMTUzLCAxMCwgMTQsIDIzNiwgCi0gICAgMTUyLCAxMCwgMTQsIDIzNiwgMTUxLCAxMCwgMTQsIDIzNiwgMTUwLCAxMCwgMTQsIDIzNiwgMTQ5LCAxMCwgMTQsIDIzNiwgCi0gICAgMTQ4LCAxMCwgMTQsIDIzNiwgMTQ3LCAxMCwgMTQsIDIzNiwgMTQ2LCAxMCwgMTQsIDIzNiwgMTQ1LCAxMCwgMTQsIDIzNiwgCi0gICAgMTQ0LCAxMCwgMTQsIDIzNiwgMTQzLCAxMCwgMTQsIDIzNiwgMTQyLCAxMCwgMTQsIDIzNiwgMTQxLCAxMCwgMTQsIDIzNiwgCi0gICAgMTQwLCAxMCwgMTQsIDIzNiwgMTM5LCAxMCwgMTQsIDIzNiwgMTM4LCAxMCwgMTQsIDIzNiwgMTM3LCAxMCwgMTQsIDIzNiwgCi0gICAgMTM2LCAxMCwgMTQsIDIzNiwgMTM1LCAxMCwgMTQsIDIzNiwgMTM0LCAxMCwgMTQsIDIzNiwgMTMzLCAxMCwgMTQsIDIzNiwgCi0gICAgMTMyLCAxMCwgMTQsIDIzNiwgMTMxLCAxMCwgMTQsIDIzNiwgMTMwLCAxMCwgMTQsIDIzNiwgMTI5LCAxMCwgMTQsIDIzNiwgCi0gICAgMTI4LCAxMCwgMTQsIDIzNiwgMTI3LCAxMCwgMTQsIDIzNiwgMTI2LCAxMCwgMTQsIDIzNiwgMTI1LCAxMCwgMTQsIDIzNiwgCi0gICAgMTI0LCAxMCwgMTQsIDIzNiwgMTIzLCAxMCwgMTQsIDIzNiwgMTIyLCAxMCwgMTQsIDIzNiwgMTIxLCAxMCwgMTQsIDIzNiwgCi0gICAgMTIwLCAxMCwgMTQsIDIzNiwgMTE5LCAxMCwgMTQsIDIzNiwgMTE4LCAxMCwgMTQsIDIzNiwgMTE3LCAxMCwgMTQsIDIzNiwgCi0gICAgMTE2LCAxMCwgMTQsIDIzNiwgMTE1LCAxMCwgMTQsIDIzNiwgMTE0LCAxMCwgMTQsIDIzNiwgMTEzLCAxMCwgMTQsIDIzNiwgCi0gICAgMTEyLCAxMCwgMTQsIDIzNiwgMTExLCAxMCwgMTQsIDIzNiwgMTEwLCAxMCwgMTQsIDIzNiwgMTA5LCAxMCwgMTQsIDIzNiwgCi0gICAgMTA4LCAxMCwgMTQsIDIzNiwgMTA3LCAxMCwgMTQsIDIzNiwgMTA2LCAxMCwgMTQsIDIzNiwgMTA1LCAxMCwgMTQsIDIzNiwgCi0gICAgMTA0LCAxMCwgMTQsIDIzNiwgMTAzLCAxMCwgMTQsIDIzNiwgMTAyLCAxMCwgMTQsIDIzNiwgMTAxLCAxMCwgMTQsIDIzNiwgCi0gICAgMTAwLCAxMCwgMTQsIDIzNiwgOTksIDEwLCAxNCwgMjM2LCA5OCwgMTAsIDE0LCAyMzYsIDk3LCAxMCwgMTQsIDIzNiwgOTYsIAotICAgIDEwLCAxNCwgMjM2LCA5NSwgMTAsIDE0LCAyMzYsIDk0LCAxMCwgMTQsIDIzNiwgOTMsIDEwLCAxNCwgMjM2LCA5MiwgMTAsIAotICAgIDE0LCAyMzYsIDkxLCAxMCwgMTQsIDIzNiwgOTAsIDEwLCAxNCwgMjM2LCA4OSwgMTAsIDE0LCAyMzYsIDg4LCAxMCwgMTQsIAotICAgIDIzNiwgODcsIDEwLCAxNCwgMjM2LCA4NiwgMTAsIDE0LCAyMzYsIDg1LCAxMCwgMTQsIDIzNiwgODQsIDEwLCAxNCwgMjM2LCAKLSAgICA4MywgMTAsIDE0LCAyMzYsIDgyLCAxMCwgMTQsIDIzNiwgODEsIDEwLCAxNCwgMjM2LCA4MCwgMTAsIDE0LCAyMzYsIDc5LCAKLSAgICAxMCwgMTQsIDIzNiwgNzgsIDEwLCAxNCwgMjM2LCA3NywgMTAsIDE0LCAyMzYsIDc2LCAxMCwgMTQsIDIzNiwgNzUsIDEwLCAKLSAgICAxNCwgMjM2LCA3NCwgMTAsIDE0LCAyMzYsIDczLCAxMCwgMTQsIDIzNiwgNzIsIDcsIDQsIDI3LCAyNDQsIDEzMywgNywgNCwgCi0gICAgMjcsIDI0NCwgMTI5LCA3LCA0LCAyNywgMjQ0LCA4NCwgNywgNCwgMjcsIDI0NCwgMTMyLCA3LCA0LCAyNywgMjQ0LCAxMzEsIAotICAgIDcsIDQsIDI3LCAyMDAsIDIyMiwgOTQsIDIxNywgMTUzLCA3LCA0LCAyNywgMjE4LCAxNzAsIDE1MCwgNCwgMjcsIDIzMSwgCi0gICAgNjQsIDIyOCwgNDQsIDE1MCwgNCwgMjcsIDIzMSwgNjQsIDI0NSwgMjIxLCAxNTAsIDQsIDI3LCAyMzEsIDY0LCAyMzUsIAotICAgIDIzNCwgMTUwLCA0LCAyNywgMjEzLCAxODAsIDIyOCwgNDQsIDE1MCwgNCwgMjcsIDIzMSwgNjQsIDIxMSwgMTYwLCA5NCwgMSwgCi0gICAgMjEwLCAyMzQsIDIsIDI0MSwgMTY1LCA5NCwgMjI1LCAxNCwgMjM1LCA1NiwgMjE0LCAxMSwgOTQsIDI3LCAyMTEsIDYsIAotICAgIDIxMCwgMjM0LCAyMTAsIDIzNCwgMjI1LCAyNDMsIDk0LCAxLCAyNTQsIDE0NywgMjUzLCAxNzAsIDk0LCAxLCAyMTEsIDI0NywgCi0gICAgMjU0LCAxNzksIDk0LCAxLCAyMTEsIDI0NywgMjQ4LCAxOTcsIDk0LCAxLCAyMTEsIDI0NywgMjQxLCAyNDUsIDk0LCAxLCAKLSAgICAyMTEsIDI0NywgMjM1LCAwLCA5NCwgMSwgMjExLCAyNDcsIDIzMywgMTAwLCA5NCwgMSwgMjExLCAyNDcsIDQwLCAyMzEsIAotICAgIDcwLCA5NCwgMSwgMjExLCAyNDcsIDIyMywgNzAsIDk0LCAxLCAyMTEsIDI0NywgMjE3LCAzOSwgOTQsIDEsIDI1NCwgMTQ3LCAKLSAgICA5NiwgNTAsIDk0LCAxLCAyMjAsIDIzLCAyLCAyMjAsIDIzLCAyNDcsIDEyOCwgOTQsIDEsIDIyMCwgMjMsIDIsIDIxOSwgCi0gICAgMTYxLCAyNDcsIDEyOCwgOTQsIDEsIDIyMCwgMjMsIDIsIDI0OCwgMjE2LCAyMiwgMjIwLCAyMywgMjQ3LCAxMjgsIDk0LCAxLCAKLSAgICAyMjAsIDIzLCAyLCAyNDgsIDIxNiwgMjIsIDIxOSwgMTYxLCAyNDcsIDEyOCwgOTQsIDEsIDEwOSwgMiwgMjI1LCAyNDMsIAotICAgIDk0LCAxLCAxMDksIDIsIDIyNCwgNzksIDk0LCAxLCAxMDksIDIsIDIzMSwgMTc2LCA5NCwgMSwgMjUyLCAzNywgMiwgMjQ4LCAKLSAgICAyMTUsIDk0LCAxLCAyNDIsIDIwOSwgMiwgMjQ4LCAyMTUsIDk0LCAxLCAyNDgsIDE5OCwgMiwgMjQ4LCAyMTUsIDk0LCAxLCAKLSAgICAyNDEsIDI0NiwgMiwgMjMxLCAxNzYsIDk0LCAxLCAyMTQsIDQsIDIsIDI0OCwgMjE1LCA5NCwgMSwgMjEwLCA5OCwgMiwgCi0gICAgMjQ4LCAyMTUsIDk0LCAxLCAyMTYsIDIzMiwgMiwgMjQ4LCAyMTUsIDk0LCAxLCAyMTAsIDIzNCwgMiwgMjQ4LCAyMTUsIDk0LCAKLSAgICAxLCA0MCwgMjM1LCAxLCAyLCAyNDgsIDIxNSwgOTQsIDEsIDIzNSwgMSwgMiwgMjQ4LCAyMTUsIDk0LCAxLCAyMzMsIDEwMSwgCi0gICAgMiwgMjQ4LCAyMTUsIDk0LCAxLCAyMzEsIDcxLCAyLCAyNDgsIDIxNSwgOTQsIDEsIDIyNywgMTk5LCAyLCAyNDgsIDIxNSwgCi0gICAgOTQsIDEsIDIyMSwgMjUyLCAyLCAyNDgsIDIxNSwgOTQsIDEsIDQwLCAyMjUsIDIyNSwgMiwgMjQ4LCAyMTUsIDk0LCAxLCAKLSAgICAyMjUsIDIyNSwgMiwgMjQ4LCAyMTUsIDk0LCAxLCAyMTUsIDE4MSwgMiwgMjQ4LCAyMTUsIDk0LCAxLCAyMjQsIDQzLCAyLCAKLSAgICAyNDgsIDIxNSwgOTQsIDEsIDIyMywgNzEsIDIsIDI0OCwgMjE1LCA5NCwgMSwgMjIwLCAyMywgMiwgMjQ4LCAyMTUsIDk0LCAKLSAgICAxLCAyMTcsIDQwLCAyLCAyNDgsIDIxNSwgOTQsIDEsIDIxNCwgNCwgMiwgMjQxLCA2OCwgOTQsIDEsIDI1MiwgMzcsIDIsIAotICAgIDIyMywgMTcyLCA5NCwgMSwgMjM1LCAxLCAyLCAyMjMsIDE3MiwgOTQsIDEsIDIyNSwgMjI1LCAyLCAyMjMsIDE3MiwgOTQsIAotICAgIDI3LCAxMDksIDIzMywgMTAwLCA5LCAxLCAxMDksIDIxMiwgNDcsIDUzLCAxNywgOSwgMSwgMTA5LCAyMTIsIDQ3LCA0MCwgCi0gICAgMTcsIDksIDEsIDI1MiwgNzMsIDUzLCAxNywgOSwgMSwgMjUyLCA3MywgNDAsIDE3LCA5LCAxLCAyNTIsIDczLCA2NSwgMTcsIAotICAgIDksIDEsIDI1MiwgNzMsIDE0NywgMTcsIDksIDEsIDIyNSwgMjA5LCA1MywgMTcsIDksIDEsIDIyNSwgMjA5LCA0MCwgMTcsIAotICAgIDksIDEsIDIyNSwgMjA5LCA2NSwgMTcsIDksIDEsIDIyNSwgMjA5LCAxNDcsIDE3LCA5LCAxLCAyNTIsIDYxLCA1MywgMTcsIAotICAgIDksIDEsIDI1MiwgNjEsIDQwLCAxNywgOSwgMSwgMjUyLCA2MSwgNjUsIDE3LCA5LCAxLCAyNTIsIDYxLCAxNDcsIDE3LCA5LCAKLSAgICAxLCAyMTUsIDE0OCwgNTMsIDE3LCA5LCAxLCAyMTUsIDE0OCwgNDAsIDE3LCA5LCAxLCAyMTUsIDE0OCwgNjUsIDE3LCA5LCAKLSAgICAxLCAyMTUsIDE0OCwgMTQ3LCAxNywgOSwgMSwgMjE3LCA3LCA1MywgMTcsIDksIDEsIDIxNywgNywgNDAsIDE3LCA5LCAxLCAKLSAgICAyMTcsIDcsIDY1LCAxNywgOSwgMSwgMjE3LCA3LCAxNDcsIDE3LCA5LCAxLCAyMTUsIDE1MCwgNTMsIDE3LCA5LCAxLCAyMTUsIAotICAgIDE1MCwgNDAsIDE3LCA5LCAxLCAyMTUsIDE1MCwgNjUsIDE3LCA5LCAxLCAyMTUsIDE1MCwgMTQ3LCAxNywgOSwgMSwgMjEzLCAKLSAgICAyNDksIDUzLCAxNywgOSwgMSwgMjEzLCAyNDksIDQwLCAxNywgOSwgMSwgMjEzLCAyNDksIDY1LCAxNywgOSwgMSwgMjEzLCAKLSAgICAyNDksIDE0NywgMTcsIDksIDEsIDIyNSwgMjA3LCA1MywgMTcsIDksIDEsIDIyNSwgMjA3LCA0MCwgMTcsIDksIDEsIDIyNSwgCi0gICAgMjA3LCA2NSwgMTcsIDksIDEsIDIyNSwgMjA3LCAxNDcsIDE3LCA5LCAxLCAyNDYsIDUyLCA1MywgMTcsIDksIDEsIDI0NiwgCi0gICAgNTIsIDQwLCAxNywgOSwgMSwgMjQ2LCA1MiwgNjUsIDE3LCA5LCAxLCAyNDYsIDUyLCAxNDcsIDE3LCA5LCAxLCAyMjcsIAotICAgIDE1OCwgNTMsIDE3LCA5LCAxLCAyMjcsIDE1OCwgNDAsIDE3LCA5LCAxLCAyMjcsIDE1OCwgNjUsIDE3LCA5LCAxLCAyMjcsIAotICAgIDE1OCwgMTQ3LCAxNywgOSwgMSwgMjE3LCAyOCwgNTMsIDE3LCA5LCAxLCAyMTcsIDI4LCA0MCwgMTcsIDksIDEsIDIxNywgCi0gICAgMjgsIDY1LCAxNywgOSwgMSwgMjE3LCAyOCwgMTQ3LCAxNywgOSwgMSwgMjE3LCAyNiwgNTMsIDE3LCA5LCAxLCAyMTcsIDI2LCAKLSAgICA0MCwgMTcsIDksIDEsIDIxNywgMjYsIDY1LCAxNywgOSwgMSwgMjE3LCAyNiwgMTQ3LCAxNywgOSwgMSwgMjQ4LCAxNDEsIAotICAgIDUzLCAxNywgOSwgMSwgMjQ4LCAxNDEsIDQwLCAxNywgOSwgMSwgMjQ4LCAyMTAsIDUzLCAxNywgOSwgMSwgMjQ4LCAyMTAsIAotICAgIDQwLCAxNywgOSwgMSwgMjQ2LCA3OSwgNTMsIDE3LCA5LCAxLCAyNDYsIDc5LCA0MCwgMTcsIDksIDEsIDI0OCwgMTM5LCA1MywgCi0gICAgMTcsIDksIDEsIDI0OCwgMTM5LCA0MCwgMTcsIDksIDEsIDIzNSwgMTI3LCA1MywgMTcsIDksIDEsIDIzNSwgMTI3LCA0MCwgCi0gICAgMTcsIDksIDEsIDIyMiwgMTc0LCA1MywgMTcsIDksIDEsIDIyMiwgMTc0LCA0MCwgMTcsIDksIDEsIDIzNCwgMTgxLCA1MywgCi0gICAgMTcsIDksIDEsIDIzNCwgMTgxLCA0MCwgMTcsIDksIDEsIDIzNCwgMTgxLCA2NSwgMTcsIDksIDEsIDIzNCwgMTgxLCAxNDcsIAotICAgIDE3LCA5LCAxLCAyNDMsIDEzMCwgNTMsIDE3LCA5LCAxLCAyNDMsIDEzMCwgNDAsIDE3LCA5LCAxLCAyNDMsIDEzMCwgNjUsIAotICAgIDE3LCA5LCAxLCAyNDMsIDEzMCwgMTQ3LCAxNywgOSwgMSwgMjQyLCAxMDksIDUzLCAxNywgOSwgMSwgMjQyLCAxMDksIDQwLCAKLSAgICAxNywgOSwgMSwgMjQyLCAxMDksIDY1LCAxNywgOSwgMSwgMjQyLCAxMDksIDE0NywgMTcsIDksIDEsIDIyOSwgOCwgNTMsIAotICAgIDE3LCA5LCAxLCAyMjksIDgsIDQwLCAxNywgOSwgMSwgMjI5LCA4LCA2NSwgMTcsIDksIDEsIDIyOSwgOCwgMTQ3LCAxNywgOSwgCi0gICAgMSwgMjI4LCA2OCwgMjQyLCAyMjYsIDUzLCAxNywgOSwgMSwgMjI4LCA2OCwgMjQyLCAyMjYsIDQwLCAxNywgOSwgMSwgMjIyLCAKLSAgICAyMTcsIDUzLCAxNywgOSwgMSwgMjIyLCAyMTcsIDQwLCAxNywgOSwgMSwgMjIyLCAyMTcsIDY1LCAxNywgOSwgMSwgMjIyLCAKLSAgICAyMTcsIDE0NywgMTcsIDksIDEsIDI0MSwgMjI2LCAyLCA3NywgNzIsIDUzLCAxNywgOSwgMSwgMjQxLCAyMjYsIDIsIDc3LCAKLSAgICA3MiwgNDAsIDE3LCA5LCAxLCAyNDEsIDIyNiwgMjQyLCAxNzksIDUzLCAxNywgOSwgMSwgMjQxLCAyMjYsIDI0MiwgMTc5LCAKLSAgICA0MCwgMTcsIDksIDEsIDI0MSwgMjI2LCAyNDIsIDE3OSwgNjUsIDE3LCA5LCAxLCAyNDEsIDIyNiwgMjQyLCAxNzksIDE0NywgCi0gICAgMTcsIDksIDEsIDI0MSwgMjI2LCAyNDcsIDE1MCwgNTMsIDE3LCA5LCAxLCAyNDEsIDIyNiwgMjQ3LCAxNTAsIDQwLCAxNywgCi0gICAgOSwgMSwgMjQxLCAyMjYsIDI0NywgMTUwLCA2NSwgMTcsIDksIDEsIDI0MSwgMjI2LCAyNDcsIDE1MCwgMTQ3LCAxNywgOSwgCi0gICAgMSwgNzcsIDI1MiwgMTQxLCA1MywgMTcsIDksIDEsIDc3LCAyNTIsIDE0MSwgNDAsIDE3LCA5LCAxLCA3NywgMjUyLCAxNDEsIAotICAgIDIsIDE4MiwgNzIsIDUzLCAxNywgOSwgMSwgNzcsIDI1MiwgMTQxLCAyLCAxODIsIDcyLCA0MCwgMTcsIDksIDE2LCA1OSwgCi0gICAgNDgsIDksIDE2LCA1OSwgNTEsIDksIDE2LCAxMTMsIDE3MCwgNDgsIDksIDE2LCAxMTMsIDE3MCwgNTEsIDksIDE2LCAxMzQsIAotICAgIDE3MCwgNDgsIDksIDE2LCAxMzQsIDE3MCwgNTEsIDksIDE2LCAxMzQsIDE3MCwgMjI1LCAxMCwgMjQ2LCAxMTIsIDQ4LCA5LCAKLSAgICAxNiwgMTM0LCAxNzAsIDIyNSwgMTAsIDI0NiwgMTEyLCA1MSwgOSwgMTYsIDI0NCwgMTksIDE3MCwgNDgsIDksIDE2LCAyNDQsIAotICAgIDE5LCAxNzAsIDUxLCA5LCAxNiwgNTIsIDY3LCAyNTIsIDE0OSwgNTEsIDksIDE2LCAxMTMsIDE3MCwgMjEzLCAxODksIDQ4LCAKLSAgICA5LCAxNiwgMTEzLCAxNzAsIDIxMywgMTg5LCA1MSwgOSwgMTYsIDIyMiwgMjM2LCA5LCAxNiwgNCwgMjE3LCA4MiwgNDgsIDksIAotICAgIDE2LCA0LCAyMTcsIDgyLCA1MSwgOSwgMSwgMjI5LCA4NSwgNTMsIDE3LCA5LCAxLCAyMjksIDg1LCA0MCwgMTcsIDksIDEsIAotICAgIDIyOSwgODUsIDY1LCAxNywgOSwgMSwgMjI5LCA4NSwgMTQ3LCAxNywgOSwgMSwgMTA0LCA1MywgMTcsIDksIDEsIDEwNCwgCi0gICAgNDAsIDE3LCA5LCAxLCAyMjYsIDIzOSwgNTMsIDE3LCA5LCAxLCAyMjYsIDIzOSwgNDAsIDE3LCA5LCAxLCAyMTAsIDIxMywgCi0gICAgNTMsIDE3LCA5LCAxLCAyMTAsIDIxMywgNDAsIDE3LCA5LCAxLCAxMDQsIDIsIDE4MiwgNzIsIDUzLCAxNywgOSwgMSwgMjE0LCAKLSAgICAwLCA1MywgMTcsIDksIDEsIDIxNCwgMCwgNDAsIDE3LCA5LCAxLCAyMzQsIDc5LCAyMjYsIDIzOSwgNTMsIDE3LCA5LCAxLCAKLSAgICAyMzQsIDc5LCAyMjYsIDIzOSwgNDAsIDE3LCA5LCAxLCAyMzQsIDc5LCAyMTAsIDIxMywgNTMsIDE3LCA5LCAxLCAyMzQsIAotICAgIDc5LCAyMTAsIDIxMywgNDAsIDE3LCA5LCAxLCAxNjAsIDUzLCAxNywgOSwgMSwgMTYwLCA0MCwgMTcsIDksIDEsIDE2MCwgCi0gICAgNjUsIDE3LCA5LCAxLCAxNjAsIDE0NywgMTcsIDksIDEsIDIxNCwgMjA3LCAyMzQsIDE5MiwgMjM0LCA3OSwgMTA5LCAyMzEsIAotICAgIDE5OCwgNjUsIDE3LCA5LCAxLCAyMTQsIDIwNywgMjM0LCAxOTIsIDIzNCwgNzksIDEwOSwgMjMxLCAxOTgsIDE0NywgMTcsIAotICAgIDksIDI3LCA3NywgMiwgMTgyLCA3MiwgMiwgMTA5LCA1MywgMTcsIDksIDI3LCA3NywgMiwgMTgyLCA3MiwgMiwgMTA5LCA0MCwgCi0gICAgMTcsIDksIDI3LCA3NywgMiwgMTgyLCA3MiwgMiwgMjU0LCAyNTMsIDUzLCAxNywgOSwgMjcsIDc3LCAyLCAxODIsIDcyLCAyLCAKLSAgICAyNTQsIDI1MywgNDAsIDE3LCA5LCAyNywgNzcsIDIsIDE4MiwgNzIsIDIsIDIxMiwgMzEsIDUzLCAxNywgOSwgMjcsIDc3LCAKLSAgICAyLCAxODIsIDcyLCAyLCAyMTIsIDMxLCA0MCwgMTcsIDksIDI3LCA3NywgMiwgMTgyLCA3MiwgMiwgMTA0LCA1MywgMTcsIDksIAotICAgIDI3LCA3NywgMiwgMTgyLCA3MiwgMiwgMTA0LCA0MCwgMTcsIDksIDI3LCA3NywgMiwgMTgyLCA3MiwgMiwgMjI2LCAyMzksIAotICAgIDUzLCAxNywgOSwgMjcsIDc3LCAyLCAxODIsIDcyLCAyLCAyMjYsIDIzOSwgNDAsIDE3LCA5LCAyNywgNzcsIDIsIDE4MiwgCi0gICAgNzIsIDIsIDIxMCwgMjEzLCA1MywgMTcsIDksIDI3LCA3NywgMiwgMTgyLCA3MiwgMiwgMjEwLCAyMTMsIDQwLCAxNywgOSwgCi0gICAgMjcsIDc3LCAyLCAxODIsIDcyLCAyLCAxNjAsIDUzLCAxNywgOSwgMjcsIDc3LCAyLCAxODIsIDcyLCAyLCAxNjAsIDQwLCAKLSAgICAxNywgOSwgMjcsIDc3LCAyLCAxODIsIDcyLCAyLCAxNjAsIDY1LCAxNywgOSwgMjcsIDIxNCwgMjA3LCAyMzQsIDc5LCA3NywgCi0gICAgMiwgMTgyLCA3MiwgMiwgMTA5LCAyMzEsIDE5OCwgNTMsIDE3LCA5LCAyNywgMjE0LCAyMDcsIDIzNCwgNzksIDc3LCAyLCAKLSAgICAxODIsIDcyLCAyLCAxMDksIDIzMSwgMTk4LCA0MCwgMTcsIDksIDI3LCAyMTQsIDIwNywgMjM0LCA3OSwgNzcsIDIsIDE4MiwgCi0gICAgNzIsIDIsIDEwOSwgMjMxLCAxOTgsIDY1LCAxNywgOSwgMSwgMjQ0LCAxNzYsIDc3LCA1MywgMTcsIDksIDEsIDI0NCwgMTc2LCAKLSAgICA3NywgNDAsIDE3LCA5LCAxLCAyNDQsIDE3NiwgNzcsIDY1LCAxNywgOSwgMSwgMjQ0LCAxNzYsIDc3LCAxNDcsIDE3LCA5LCAKLSAgICAyNywgNzcsIDIsIDE4MiwgNzIsIDIsIDE1MSwgNTMsIDE3LCA5LCAyNywgNzcsIDIsIDE4MiwgNzIsIDIsIDEyMiwgNTMsIAotICAgIDE3LCA5LCAyNywgNzcsIDIsIDE4MiwgNzIsIDIsIDY2LCA1MywgMTcsIDksIDI3LCA3NywgMiwgMTgyLCA3MiwgMiwgMTA5LCAKLSAgICAyMzEsIDE5OCwgNTMsIDE3LCA5LCAyNywgNzcsIDIsIDE4MiwgNzIsIDIsIDc3LCA1MywgMTcsIDksIDI3LCAyNTIsIDYzLCAKLSAgICAyLCAxNTEsIDUzLCAxNywgOSwgMjcsIDI1MiwgNjMsIDIsIDEyMiwgNTMsIDE3LCA5LCAyNywgMjUyLCA2MywgMiwgMjM0LCAKLSAgICAxMzYsIDUzLCAxNywgOSwgMjcsIDI1MiwgNjMsIDIsIDY2LCA1MywgMTcsIDksIDI3LCAyNTIsIDYzLCAyLCAxMDksIDIzMSwgCi0gICAgMTk4LCA1MywgMTcsIDksIDI3LCAyNTIsIDYzLCAyLCA3NywgNTMsIDE3LCA5LCAyNywgMjE3LCA5LCAyLCAxNTEsIDUzLCAKLSAgICAxNywgOSwgMjcsIDIxNywgOSwgMiwgMTIyLCA1MywgMTcsIDksIDI3LCAyMTcsIDksIDIsIDIzNCwgMTM2LCA1MywgMTcsIDksIAotICAgIDI3LCAyMTcsIDksIDIsIDY2LCA1MywgMTcsIDksIDI3LCAyMTcsIDksIDIsIDEwOSwgMjMxLCAxOTgsIDUzLCAxNywgOSwgCi0gICAgMjcsIDIxNywgOSwgMiwgNzcsIDUzLCAxNywgOSwgMjcsIDIxNiwgMTk0LCAyLCAxNTEsIDUzLCAxNywgOSwgMjcsIDIxNiwgCi0gICAgMTk0LCAyLCA2NiwgNTMsIDE3LCA5LCAyNywgMjE2LCAxOTQsIDIsIDEwOSwgMjMxLCAxOTgsIDUzLCAxNywgOSwgMjcsIAotICAgIDIxNiwgMTk0LCAyLCA3NywgNTMsIDE3LCA5LCAyNywgMTUxLCAyLCAxMjIsIDUzLCAxNywgOSwgMjcsIDE1MSwgMiwgNjYsIAotICAgIDUzLCAxNywgOSwgMjcsIDEyMiwgMiwgMTUxLCA1MywgMTcsIDksIDI3LCAxMjIsIDIsIDY2LCA1MywgMTcsIDksIDI3LCAKLSAgICAyMzQsIDEzNiwgMiwgMTUxLCA1MywgMTcsIDksIDI3LCAyMzQsIDEzNiwgMiwgMTIyLCA1MywgMTcsIDksIDI3LCAyMzQsIAotICAgIDEzNiwgMiwgNjYsIDUzLCAxNywgOSwgMjcsIDIyMSwgMTY5LCAyLCAxNTEsIDUzLCAxNywgOSwgMjcsIDIyMSwgMTY5LCAyLCAKLSAgICAxMjIsIDUzLCAxNywgOSwgMjcsIDIyMSwgMTY5LCAyLCAyMzQsIDEzNiwgNTMsIDE3LCA5LCAyNywgMjIxLCAxNjksIDIsIAotICAgIDY2LCA1MywgMTcsIDksIDI3LCAyMjIsIDI5LCAyLCAxMjIsIDUzLCAxNywgOSwgMjcsIDIyMiwgMjksIDIsIDY2LCA1MywgCi0gICAgMTcsIDksIDI3LCAyNDgsIDIyNSwgMiwgMTUxLCA1MywgMTcsIDksIDI3LCAyNDgsIDIyNSwgMiwgMTIyLCA1MywgMTcsIDksIAotICAgIDI3LCAyNDgsIDIyNSwgMiwgMjM0LCAxMzYsIDUzLCAxNywgOSwgMjcsIDI0OCwgMjI1LCAyLCA2NiwgNTMsIDE3LCA5LCAyNywgCi0gICAgMjE3LCA4MiwgMiwgMTIyLCA1MywgMTcsIDksIDI3LCAyMTcsIDgyLCAyLCA2NiwgNTMsIDE3LCA5LCAyNywgMjEwLCAxMTIsIAotICAgIDIsIDY2LCA1MywgMTcsIDksIDI3LCAyNTQsIDIwNiwgMiwgMTUxLCA1MywgMTcsIDksIDI3LCAyNTQsIDIwNiwgMiwgNjYsIAotICAgIDUzLCAxNywgOSwgMjcsIDI0MiwgMjUyLCAyLCAxNTEsIDUzLCAxNywgOSwgMjcsIDI0MiwgMjUyLCAyLCA2NiwgNTMsIDE3LCAKLSAgICA5LCAyNywgMjQ0LCAxNTEsIDIsIDE1MSwgNTMsIDE3LCA5LCAyNywgMjQ0LCAxNTEsIDIsIDEyMiwgNTMsIDE3LCA5LCAyNywgCi0gICAgMjQ0LCAxNTEsIDIsIDIzNCwgMTM2LCA1MywgMTcsIDksIDI3LCAyNDQsIDE1MSwgMiwgNjYsIDUzLCAxNywgOSwgMjcsIAotICAgIDI0NCwgMTUxLCAyLCAxMDksIDIzMSwgMTk4LCA1MywgMTcsIDksIDI3LCAyNDQsIDE1MSwgMiwgNzcsIDUzLCAxNywgOSwgCi0gICAgMjcsIDIyNCwgODUsIDIsIDEyMiwgNTMsIDE3LCA5LCAyNywgMjI0LCA4NSwgMiwgNjYsIDUzLCAxNywgOSwgMjcsIDIyNCwgCi0gICAgODUsIDIsIDEwOSwgMjMxLCAxOTgsIDUzLCAxNywgOSwgMjcsIDIyNCwgODUsIDIsIDc3LCA1MywgMTcsIDksIDI3LCAyMzUsIAotICAgIDEsIDIsIDEwOSwgNTMsIDE3LCA5LCAyNywgMjM1LCAxLCAyLCAxNTEsIDUzLCAxNywgOSwgMjcsIDIzNSwgMSwgMiwgMTIyLCAKLSAgICA1MywgMTcsIDksIDI3LCAyMzUsIDEsIDIsIDIzNCwgMTM2LCA1MywgMTcsIDksIDI3LCAyMzUsIDEsIDIsIDIzMywgMTA5LCAKLSAgICA1MywgMTcsIDksIDI3LCAyMzUsIDEsIDIsIDY2LCA1MywgMTcsIDksIDI3LCAyMzUsIDEsIDIsIDEwOSwgMjMxLCAxOTgsIAotICAgIDUzLCAxNywgOSwgMjcsIDIzNSwgMSwgMiwgNzcsIDUzLCAxNywgOSwgMjcsIDIzMywgMTA5LCAyLCAxNTEsIDUzLCAxNywgOSwgCi0gICAgMjcsIDIzMywgMTA5LCAyLCAxMjIsIDUzLCAxNywgOSwgMjcsIDIzMywgMTA5LCAyLCAyMzQsIDEzNiwgNTMsIDE3LCA5LCAKLSAgICAyNywgMjMzLCAxMDksIDIsIDY2LCA1MywgMTcsIDksIDI3LCAyMzMsIDEwOSwgMiwgMTA5LCAyMzEsIDE5OCwgNTMsIDE3LCAKLSAgICA5LCAyNywgMjMzLCAxMDksIDIsIDc3LCA1MywgMTcsIDksIDI3LCA2NiwgMiwgMTUxLCA1MywgMTcsIDksIDI3LCA2NiwgMiwgCi0gICAgMTIyLCA1MywgMTcsIDksIDI3LCA2NiwgMiwgMjM0LCAxMzYsIDUzLCAxNywgOSwgMjcsIDY2LCAyLCA2NiwgNTMsIDE3LCA5LCAKLSAgICAyNywgNjYsIDIsIDEwOSwgMjMxLCAxOTgsIDUzLCAxNywgOSwgMjcsIDY2LCAyLCA3NywgNTMsIDE3LCA5LCAyNywgMjI4LCAKLSAgICA2OCwgMiwgMTUxLCA1MywgMTcsIDksIDI3LCAyMjgsIDY4LCAyLCAxMjIsIDUzLCAxNywgOSwgMjcsIDIyOCwgNjgsIDIsIAotICAgIDIzNCwgMTM2LCA1MywgMTcsIDksIDI3LCAyMjgsIDY4LCAyLCA2NiwgNTMsIDE3LCA5LCAyNywgMjI4LCA2OCwgMiwgMTA5LCAKLSAgICAyMzEsIDE5OCwgNTMsIDE3LCA5LCAyNywgMjI4LCA2OCwgMiwgNzcsIDUzLCAxNywgOSwgMjcsIDI0MSwgMjI2LCAyLCAxNTEsIAotICAgIDUzLCAxNywgOSwgMjcsIDI0MSwgMjI2LCAyLCA2NiwgNTMsIDE3LCA5LCAyNywgMjQxLCAyMjYsIDIsIDEwOSwgMjMxLCAKLSAgICAxOTgsIDUzLCAxNywgOSwgMjcsIDI0MSwgMjI2LCAyLCA3NywgNTMsIDE3LCA5LCAyNywgNzcsIDIsIDE1MSwgNTMsIDE3LCAKLSAgICA5LCAyNywgNzcsIDIsIDEyMiwgNTMsIDE3LCA5LCAyNywgNzcsIDIsIDIzNCwgMTM2LCA1MywgMTcsIDksIDI3LCA3NywgMiwgCi0gICAgNjYsIDUzLCAxNywgOSwgMjcsIDc3LCAyLCAxMDksIDIzMSwgMTk4LCA1MywgMTcsIDksIDI3LCA3NywgMiwgNzcsIDUzLCAKLSAgICAxNywgOSwgMjcsIDIxNiwgMjA0LCAyLCAyMTgsIDI0LCAxMDksIDUzLCAxNywgOSwgMjcsIDIyMywgOTksIDIsIDIxOCwgMjQsIAotICAgIDEwOSwgNTMsIDE3LCA5LCAyNywgMTA5LCAyMzEsIDE5OCwgMiwgMjE4LCAyNCwgMTA5LCA1MywgMTcsIDksIDI3LCAyMjAsIAotICAgIDk2LCAyLCAyNDgsIDE5MSwgNTMsIDE3LCA5LCAyNywgMjIwLCA5NiwgMiwgMjM0LCAyMTAsIDUzLCAxNywgOSwgMjcsIDIyMCwgCi0gICAgOTYsIDIsIDI0NCwgMTc0LCA1MywgMTcsIDksIDI3LCAyMjAsIDk2LCAyLCAyNDgsIDE5MywgNTMsIDE3LCA5LCAyNywgMjIwLCAKLSAgICA5NiwgMiwgMjM0LCAyMTIsIDUzLCAxNywgOSwgMjcsIDIyMCwgOTYsIDIsIDIxOCwgMjQsIDEwOSwgNTMsIDE3LCA5LCAyNywgCi0gICAgNzcsIDIsIDE4MiwgNzIsIDIsIDIyMywgOTksIDQwLCAxNywgOSwgMjcsIDc3LCAyLCAxODIsIDcyLCAyLCAyMTAsIDEwOSwgCi0gICAgNDAsIDE3LCA5LCAyNywgNzcsIDIsIDE4MiwgNzIsIDIsIDY2LCA0MCwgMTcsIDksIDI3LCA3NywgMiwgMTgyLCA3MiwgMiwgCi0gICAgMjI4LCA2OCwgNDAsIDE3LCA5LCAyNywgNzcsIDIsIDE4MiwgNzIsIDIsIDEwOSwgMjMxLCAxOTgsIDQwLCAxNywgOSwgMjcsIAotICAgIDc3LCAyLCAxODIsIDcyLCAyLCA3NywgNDAsIDE3LCA5LCAyNywgMjUyLCA2MywgMiwgMjIzLCA5OSwgNDAsIDE3LCA5LCAyNywgCi0gICAgMjUyLCA2MywgMiwgMjEwLCAxMDksIDQwLCAxNywgOSwgMjcsIDI1MiwgNjMsIDIsIDY2LCA0MCwgMTcsIDksIDI3LCAyNTIsIAotICAgIDYzLCAyLCAyMjgsIDY4LCA0MCwgMTcsIDksIDI3LCAyNTIsIDYzLCAyLCAxMDksIDIzMSwgMTk4LCA0MCwgMTcsIDksIDI3LCAKLSAgICAyNTIsIDYzLCAyLCA3NywgNDAsIDE3LCA5LCAyNywgMjE3LCA5LCAyLCAyMjMsIDk5LCA0MCwgMTcsIDksIDI3LCAyMTcsIDksIAotICAgIDIsIDIxMCwgMTA5LCA0MCwgMTcsIDksIDI3LCAyMTcsIDksIDIsIDY2LCA0MCwgMTcsIDksIDI3LCAyMTcsIDksIDIsIDIyOCwgCi0gICAgNjgsIDQwLCAxNywgOSwgMjcsIDIxNywgOSwgMiwgMTA5LCAyMzEsIDE5OCwgNDAsIDE3LCA5LCAyNywgMjE3LCA5LCAyLCAKLSAgICA3NywgNDAsIDE3LCA5LCAyNywgMjE2LCAxOTQsIDIsIDIyMywgOTksIDQwLCAxNywgOSwgMjcsIDIxNiwgMTk0LCAyLCAyMTAsIAotICAgIDEwOSwgNDAsIDE3LCA5LCAyNywgMjE2LCAxOTQsIDIsIDY2LCA0MCwgMTcsIDksIDI3LCAyMTYsIDE5NCwgMiwgMjI4LCA2OCwgCi0gICAgNDAsIDE3LCA5LCAyNywgMjE2LCAxOTQsIDIsIDEwOSwgMjMxLCAxOTgsIDQwLCAxNywgOSwgMjcsIDIxNiwgMTk0LCAyLCAKLSAgICA3NywgNDAsIDE3LCA5LCAyNywgMjQ0LCAxNTEsIDIsIDEwOSwgMjMxLCAxOTgsIDQwLCAxNywgOSwgMjcsIDI0NCwgMTUxLCAKLSAgICAyLCA3NywgNDAsIDE3LCA5LCAyNywgMjI0LCA4NSwgMiwgMTA5LCAyMzEsIDE5OCwgNDAsIDE3LCA5LCAyNywgMjI0LCA4NSwgCi0gICAgMiwgNzcsIDQwLCAxNywgOSwgMjcsIDIzNSwgMSwgMiwgMTA5LCA0MCwgMTcsIDksIDI3LCAyMzUsIDEsIDIsIDIzMywgMTA5LCAKLSAgICA0MCwgMTcsIDksIDI3LCAyMzUsIDEsIDIsIDY2LCA0MCwgMTcsIDksIDI3LCAyMzUsIDEsIDIsIDEwOSwgMjMxLCAxOTgsIAotICAgIDQwLCAxNywgOSwgMjcsIDIzNSwgMSwgMiwgNzcsIDQwLCAxNywgOSwgMjcsIDIzMywgMTA5LCAyLCA2NiwgNDAsIDE3LCA5LCAKLSAgICAyNywgMjMzLCAxMDksIDIsIDEwOSwgMjMxLCAxOTgsIDQwLCAxNywgOSwgMjcsIDIzMywgMTA5LCAyLCA3NywgNDAsIDE3LCAKLSAgICA5LCAyNywgNjYsIDIsIDEwOSwgNDAsIDE3LCA5LCAyNywgNjYsIDIsIDY2LCA0MCwgMTcsIDksIDI3LCAyMjgsIDY4LCAyLCAKLSAgICAyMjMsIDk5LCA0MCwgMTcsIDksIDI3LCAyMjgsIDY4LCAyLCAyMTAsIDEwOSwgNDAsIDE3LCA5LCAyNywgMjI4LCA2OCwgMiwgCi0gICAgNjYsIDQwLCAxNywgOSwgMjcsIDIyOCwgNjgsIDIsIDIyOCwgNjgsIDQwLCAxNywgOSwgMjcsIDIyOCwgNjgsIDIsIDEwOSwgCi0gICAgMjMxLCAxOTgsIDQwLCAxNywgOSwgMjcsIDIyOCwgNjgsIDIsIDc3LCA0MCwgMTcsIDksIDI3LCAxMDksIDIzMSwgMTk4LCAyLCAKLSAgICAyMTgsIDI0LCAxMDksIDQwLCAxNywgOSwgMjcsIDc3LCAyLCAyMjMsIDk5LCA0MCwgMTcsIDksIDI3LCA3NywgMiwgMjEwLCAKLSAgICAxMDksIDQwLCAxNywgOSwgMjcsIDc3LCAyLCA2NiwgNDAsIDE3LCA5LCAyNywgNzcsIDIsIDIyOCwgNjgsIDQwLCAxNywgOSwgCi0gICAgMjcsIDc3LCAyLCAxMDksIDIzMSwgMTk4LCA0MCwgMTcsIDksIDI3LCA3NywgMiwgNzcsIDQwLCAxNywgOSwgMjcsIDc3LCAyLCAKLSAgICAxODIsIDcyLCAyLCAxNTEsIDY1LCAxNywgOSwgMjcsIDc3LCAyLCAxODIsIDcyLCAyLCAxMjIsIDY1LCAxNywgOSwgMjcsIAotICAgIDc3LCAyLCAxODIsIDcyLCAyLCAyMzQsIDEzNiwgNjUsIDE3LCA5LCAyNywgNzcsIDIsIDE4MiwgNzIsIDIsIDY2LCA2NSwgCi0gICAgMTcsIDksIDI3LCA3NywgMiwgMTgyLCA3MiwgMiwgMjQxLCAyMjYsIDY1LCAxNywgOSwgMjcsIDI1MiwgNjMsIDIsIDE1MSwgCi0gICAgNjUsIDE3LCA5LCAyNywgMjUyLCA2MywgMiwgMTIyLCA2NSwgMTcsIDksIDI3LCAyNTIsIDYzLCAyLCAyMzQsIDEzNiwgNjUsIAotICAgIDE3LCA5LCAyNywgMjUyLCA2MywgMiwgNjYsIDY1LCAxNywgOSwgMjcsIDI1MiwgNjMsIDIsIDI0MSwgMjI2LCA2NSwgMTcsIAotICAgIDksIDI3LCAyMTcsIDksIDIsIDE1MSwgNjUsIDE3LCA5LCAyNywgMjE3LCA5LCAyLCAxMjIsIDY1LCAxNywgOSwgMjcsIDIxNywgCi0gICAgOSwgMiwgMjM0LCAxMzYsIDY1LCAxNywgOSwgMjcsIDIxNywgOSwgMiwgNjYsIDY1LCAxNywgOSwgMjcsIDIxNywgOSwgMiwgCi0gICAgMjQxLCAyMjYsIDY1LCAxNywgOSwgMjcsIDIxNiwgMTk0LCAyLCA2NiwgNjUsIDE3LCA5LCAyNywgMTUxLCAyLCAxMjIsIDY1LCAKLSAgICAxNywgOSwgMjcsIDE1MSwgMiwgNjYsIDY1LCAxNywgOSwgMjcsIDEyMiwgMiwgMTUxLCA2NSwgMTcsIDksIDI3LCAxMjIsIDIsIAotICAgIDY2LCA2NSwgMTcsIDksIDI3LCAyMzQsIDEzNiwgMiwgMTUxLCA2NSwgMTcsIDksIDI3LCAyMzQsIDEzNiwgMiwgNjYsIDY1LCAKLSAgICAxNywgOSwgMjcsIDIyMSwgMTY5LCAyLCAxNTEsIDY1LCAxNywgOSwgMjcsIDIyMSwgMTY5LCAyLCAxMjIsIDY1LCAxNywgOSwgCi0gICAgMjcsIDIyMSwgMTY5LCAyLCAyMzQsIDEzNiwgNjUsIDE3LCA5LCAyNywgMjIxLCAxNjksIDIsIDY2LCA2NSwgMTcsIDksIDI3LCAKLSAgICAyMjIsIDI5LCAyLCAxMjIsIDY1LCAxNywgOSwgMjcsIDIyMiwgMjksIDIsIDIzNCwgMTM2LCA2NSwgMTcsIDksIDI3LCAyMjIsIAotICAgIDI5LCAyLCA2NiwgNjUsIDE3LCA5LCAyNywgMjQ4LCAyMjUsIDIsIDE1MSwgNjUsIDE3LCA5LCAyNywgMjQ4LCAyMjUsIDIsIAotICAgIDEyMiwgNjUsIDE3LCA5LCAyNywgMjQ4LCAyMjUsIDIsIDIzNCwgMTM2LCA2NSwgMTcsIDksIDI3LCAyNDgsIDIyNSwgMiwgCi0gICAgNjYsIDY1LCAxNywgOSwgMjcsIDIxNywgODIsIDIsIDEyMiwgNjUsIDE3LCA5LCAyNywgMjEwLCAxMTIsIDIsIDY2LCA2NSwgCi0gICAgMTcsIDksIDI3LCAyNTQsIDIwNiwgMiwgMTUxLCA2NSwgMTcsIDksIDI3LCAyNTQsIDIwNiwgMiwgNjYsIDY1LCAxNywgOSwgCi0gICAgMjcsIDI0MiwgMjUyLCAyLCAxNTEsIDY1LCAxNywgOSwgMjcsIDI0MiwgMjUyLCAyLCA2NiwgNjUsIDE3LCA5LCAyNywgMjQ0LCAKLSAgICAxNTEsIDIsIDE1MSwgNjUsIDE3LCA5LCAyNywgMjQ0LCAxNTEsIDIsIDEyMiwgNjUsIDE3LCA5LCAyNywgMjQ0LCAxNTEsIDIsIAotICAgIDIzNCwgMTM2LCA2NSwgMTcsIDksIDI3LCAyNDQsIDE1MSwgMiwgNjYsIDY1LCAxNywgOSwgMjcsIDIyNCwgODUsIDIsIDEyMiwgCi0gICAgNjUsIDE3LCA5LCAyNywgMjI0LCA4NSwgMiwgNjYsIDY1LCAxNywgOSwgMjcsIDIzNSwgMSwgMiwgMTUxLCA2NSwgMTcsIDksIAotICAgIDI3LCAyMzUsIDEsIDIsIDEyMiwgNjUsIDE3LCA5LCAyNywgMjM1LCAxLCAyLCAyMzQsIDEzNiwgNjUsIDE3LCA5LCAyNywgCi0gICAgMjM1LCAxLCAyLCAyMzMsIDEwOSwgNjUsIDE3LCA5LCAyNywgMjM1LCAxLCAyLCA2NiwgNjUsIDE3LCA5LCAyNywgMjMzLCAKLSAgICAxMDksIDIsIDE1MSwgNjUsIDE3LCA5LCAyNywgMjMzLCAxMDksIDIsIDEyMiwgNjUsIDE3LCA5LCAyNywgMjMzLCAxMDksIDIsIAotICAgIDIzNCwgMTM2LCA2NSwgMTcsIDksIDI3LCAyMzMsIDEwOSwgMiwgNjYsIDY1LCAxNywgOSwgMjcsIDIzMywgMTA5LCAyLCAKLSAgICAyNDEsIDIyNiwgNjUsIDE3LCA5LCAyNywgNjYsIDIsIDE1MSwgNjUsIDE3LCA5LCAyNywgNjYsIDIsIDEyMiwgNjUsIDE3LCAKLSAgICA5LCAyNywgNjYsIDIsIDIzNCwgMTM2LCA2NSwgMTcsIDksIDI3LCA2NiwgMiwgNjYsIDY1LCAxNywgOSwgMjcsIDIyOCwgNjgsIAotICAgIDIsIDE1MSwgNjUsIDE3LCA5LCAyNywgMjI4LCA2OCwgMiwgMTIyLCA2NSwgMTcsIDksIDI3LCAyMjgsIDY4LCAyLCAyMzQsIAotICAgIDEzNiwgNjUsIDE3LCA5LCAyNywgMjI4LCA2OCwgMiwgNjYsIDY1LCAxNywgOSwgMjcsIDIyOCwgNjgsIDIsIDI0MSwgMjI2LCAKLSAgICA2NSwgMTcsIDksIDI3LCAyNDEsIDIyNiwgMiwgMTUxLCA2NSwgMTcsIDksIDI3LCAyNDEsIDIyNiwgMiwgNjYsIDY1LCAxNywgCi0gICAgOSwgMjcsIDI0MSwgMjI2LCAyLCAyMTgsIDI0LCAxMDksIDY1LCAxNywgOSwgMjcsIDc3LCAyLCAxNTEsIDY1LCAxNywgOSwgCi0gICAgMjcsIDc3LCAyLCAxMjIsIDY1LCAxNywgOSwgMjcsIDc3LCAyLCAyMzQsIDEzNiwgNjUsIDE3LCA5LCAyNywgNzcsIDIsIDY2LCAKLSAgICA2NSwgMTcsIDksIDI3LCA3NywgMiwgMjQxLCAyMjYsIDY1LCAxNywgOSwgMjcsIDc3LCAyLCAxODIsIDcyLCAyLCA2NiwgCi0gICAgMTQ3LCAxNywgOSwgMjcsIDc3LCAyLCAxODIsIDcyLCAyLCAyNDEsIDIyNiwgMTQ3LCAxNywgOSwgMjcsIDI1MiwgNjMsIDIsIAotICAgIDY2LCAxNDcsIDE3LCA5LCAyNywgMjUyLCA2MywgMiwgMjQxLCAyMjYsIDE0NywgMTcsIDksIDI3LCAyMTcsIDksIDIsIDY2LCAKLSAgICAxNDcsIDE3LCA5LCAyNywgMjE3LCA5LCAyLCAyNDEsIDIyNiwgMTQ3LCAxNywgOSwgMjcsIDIxNiwgMTk0LCAyLCA2NiwgCi0gICAgMTQ3LCAxNywgOSwgMjcsIDIxNiwgMTk0LCAyLCAyNDEsIDIyNiwgMTQ3LCAxNywgOSwgMjcsIDIyMSwgMTY5LCAyLCA2NiwgCi0gICAgMTQ3LCAxNywgOSwgMjcsIDIyMSwgMTY5LCAyLCAyNDEsIDIyNiwgMTQ3LCAxNywgOSwgMjcsIDIyMCwgNjIsIDIsIDY2LCAKLSAgICAxNDcsIDE3LCA5LCAyNywgMjIwLCA2MiwgMiwgMjQxLCAyMjYsIDE0NywgMTcsIDksIDI3LCAyMzUsIDEsIDIsIDIzMywgCi0gICAgMTA5LCAxNDcsIDE3LCA5LCAyNywgMjM1LCAxLCAyLCA2NiwgMTQ3LCAxNywgOSwgMjcsIDIzMywgMTA5LCAyLCA2NiwgMTQ3LCAKLSAgICAxNywgOSwgMjcsIDIyOCwgNjgsIDIsIDY2LCAxNDcsIDE3LCA5LCAyNywgMjI4LCA2OCwgMiwgMjQxLCAyMjYsIDE0NywgMTcsIAotICAgIDksIDI3LCA3NywgMiwgNjYsIDE0NywgMTcsIDksIDI3LCA3NywgMiwgMjQxLCAyMjYsIDE0NywgMTcsIDksIDI3LCAyMjAsIAotICAgIDk2LCAyLCAyNDQsIDE3NCwgMTQ3LCAxNywgOSwgMjcsIDIyMCwgOTYsIDIsIDI0OCwgMTkzLCAxNDcsIDE3LCA5LCAyNywgCi0gICAgMjIwLCA5NiwgMiwgMjM0LCAyMTIsIDE0NywgMTcsIDksIDI3LCAyMTcsIDgyLCAyLCAxMDksIDIzMSwgMTk4LCA1MywgMTcsIAotICAgIDksIDI3LCAyMTcsIDgyLCAyLCA3NywgNTMsIDE3LCA5LCAyNywgMjU0LCAyMDYsIDIsIDEwOSwgMjMxLCAxOTgsIDUzLCAxNywgCi0gICAgOSwgMjcsIDI1NCwgMjA2LCAyLCA3NywgNTMsIDE3LCA5LCAyNywgMjQyLCAyNTIsIDIsIDEwOSwgMjMxLCAxOTgsIDUzLCAKLSAgICAxNywgOSwgMjcsIDI0MiwgMjUyLCAyLCA3NywgNTMsIDE3LCA5LCAyNywgMjIxLCAxNjksIDIsIDEwOSwgMjMxLCAxOTgsIAotICAgIDUzLCAxNywgOSwgMjcsIDIyMSwgMTY5LCAyLCA3NywgNTMsIDE3LCA5LCAyNywgMjIwLCA2MiwgMiwgMTA5LCAyMzEsIDE5OCwgCi0gICAgNTMsIDE3LCA5LCAyNywgMjIwLCA2MiwgMiwgNzcsIDUzLCAxNywgOSwgMjcsIDEyMiwgMiwgMTA5LCAyMzEsIDE5OCwgNTMsIAotICAgIDE3LCA5LCAyNywgMTIyLCAyLCA3NywgNTMsIDE3LCA5LCAyNywgMTUxLCAyLCAxMDksIDIzMSwgMTk4LCA1MywgMTcsIDksIAotICAgIDI3LCAxNTEsIDIsIDc3LCA1MywgMTcsIDksIDI3LCAyMzQsIDEzNiwgMiwgMTA5LCAyMzEsIDE5OCwgNTMsIDE3LCA5LCAyNywgCi0gICAgMjM0LCAxMzYsIDIsIDc3LCA1MywgMTcsIDksIDI3LCAyMjIsIDI5LCAyLCAxMDksIDIzMSwgMTk4LCA1MywgMTcsIDksIDI3LCAKLSAgICAyMjIsIDI5LCAyLCA3NywgNTMsIDE3LCA5LCAyNywgMjQ4LCAyMjUsIDIsIDEwOSwgMjMxLCAxOTgsIDUzLCAxNywgOSwgMjcsIAotICAgIDI0OCwgMjI1LCAyLCA3NywgNTMsIDE3LCA5LCAyNywgMjIwLCA2MiwgMiwgMTUxLCA1MywgMTcsIDksIDI3LCAyMjAsIDYyLCAKLSAgICAyLCAxMjIsIDUzLCAxNywgOSwgMjcsIDIyMCwgNjIsIDIsIDIzNCwgMTM2LCA1MywgMTcsIDksIDI3LCAyMjAsIDYyLCAyLCAKLSAgICA2NiwgNTMsIDE3LCA5LCAyNywgMjIwLCA2MiwgMiwgMjIzLCA5OSwgNTMsIDE3LCA5LCAyNywgMjIxLCAxNjksIDIsIDIyMywgCi0gICAgOTksIDUzLCAxNywgOSwgMjcsIDIyMiwgMjksIDIsIDIyMywgOTksIDUzLCAxNywgOSwgMjcsIDI0OCwgMjI1LCAyLCAyMjMsIAotICAgIDk5LCA1MywgMTcsIDksIDI3LCAyMTcsIDgyLCAyLCAxMDksIDIzMSwgMTk4LCA0MCwgMTcsIDksIDI3LCAyMTcsIDgyLCAyLCAKLSAgICA3NywgNDAsIDE3LCA5LCAyNywgMjU0LCAyMDYsIDIsIDEwOSwgMjMxLCAxOTgsIDQwLCAxNywgOSwgMjcsIDI1NCwgMjA2LCAKLSAgICAyLCA3NywgNDAsIDE3LCA5LCAyNywgMjQyLCAyNTIsIDIsIDEwOSwgMjMxLCAxOTgsIDQwLCAxNywgOSwgMjcsIDI0MiwgCi0gICAgMjUyLCAyLCA3NywgNDAsIDE3LCA5LCAyNywgMjIxLCAxNjksIDIsIDEwOSwgMjMxLCAxOTgsIDQwLCAxNywgOSwgMjcsIAotICAgIDIyMSwgMTY5LCAyLCA3NywgNDAsIDE3LCA5LCAyNywgMjIwLCA2MiwgMiwgMTA5LCAyMzEsIDE5OCwgNDAsIDE3LCA5LCAyNywgCi0gICAgMjIwLCA2MiwgMiwgNzcsIDQwLCAxNywgOSwgMjcsIDEyMiwgMiwgMTA5LCAyMzEsIDE5OCwgNDAsIDE3LCA5LCAyNywgMTIyLCAKLSAgICAyLCA3NywgNDAsIDE3LCA5LCAyNywgMTUxLCAyLCAxMDksIDIzMSwgMTk4LCA0MCwgMTcsIDksIDI3LCAxNTEsIDIsIDc3LCAKLSAgICA0MCwgMTcsIDksIDI3LCAyMzQsIDEzNiwgMiwgMTA5LCAyMzEsIDE5OCwgNDAsIDE3LCA5LCAyNywgMjM0LCAxMzYsIDIsIAotICAgIDc3LCA0MCwgMTcsIDksIDI3LCAyMjIsIDI5LCAyLCAxMDksIDIzMSwgMTk4LCA0MCwgMTcsIDksIDI3LCAyMjIsIDI5LCAyLCAKLSAgICA3NywgNDAsIDE3LCA5LCAyNywgMjQ4LCAyMjUsIDIsIDEwOSwgMjMxLCAxOTgsIDQwLCAxNywgOSwgMjcsIDI0OCwgMjI1LCAKLSAgICAyLCA3NywgNDAsIDE3LCA5LCAyNywgMjIwLCA2MiwgMiwgMTUxLCA0MCwgMTcsIDksIDI3LCAyMjAsIDYyLCAyLCAxMjIsIAotICAgIDQwLCAxNywgOSwgMjcsIDIyMCwgNjIsIDIsIDIzNCwgMTM2LCA0MCwgMTcsIDksIDI3LCAyMjAsIDYyLCAyLCA2NiwgNDAsIAotICAgIDE3LCA5LCAyNywgMjIwLCA2MiwgMiwgMjIzLCA5OSwgNDAsIDE3LCA5LCAyNywgMjIxLCAxNjksIDIsIDIyMywgOTksIDQwLCAKLSAgICAxNywgOSwgMjcsIDIyMiwgMjksIDIsIDIyMywgOTksIDQwLCAxNywgOSwgMjcsIDI0OCwgMjI1LCAyLCAyMjMsIDk5LCA0MCwgCi0gICAgMTcsIDksIDI3LCAyMjAsIDYyLCAyLCAxNTEsIDY1LCAxNywgOSwgMjcsIDIyMCwgNjIsIDIsIDEyMiwgNjUsIDE3LCA5LCAKLSAgICAyNywgMjIwLCA2MiwgMiwgMjM0LCAxMzYsIDY1LCAxNywgOSwgMjcsIDIyMCwgNjIsIDIsIDY2LCA2NSwgMTcsIDksIDI3LCAKLSAgICAyMjEsIDE2OSwgMiwgMjQxLCAyMjYsIDY1LCAxNywgOSwgMjcsIDIyMCwgNjIsIDIsIDI0MSwgMjI2LCA2NSwgMTcsIDksIAotICAgIDI3LCAyMTcsIDgyLCAyLCA2NiwgNjUsIDE3LCA5LCAyNywgMjIxLCAxNjksIDIsIDE1MSwgMTQ3LCAxNywgOSwgMjcsIDIyMSwgCi0gICAgMTY5LCAyLCAxMjIsIDE0NywgMTcsIDksIDI3LCAyMjEsIDE2OSwgMiwgMjM0LCAxMzYsIDE0NywgMTcsIDksIDI3LCAyMjAsIAotICAgIDYyLCAyLCAxNTEsIDE0NywgMTcsIDksIDI3LCAyMjAsIDYyLCAyLCAxMjIsIDE0NywgMTcsIDksIDI3LCAyMjAsIDYyLCAyLCAKLSAgICAyMzQsIDEzNiwgMTQ3LCAxNywgOSwgMjcsIDIxNywgODIsIDIsIDY2LCAxNDcsIDE3LCA5LCAyNywgMjEwLCAxMTIsIDIsIAotICAgIDY2LCAxNDcsIDE3LCA5LCAyNywgMTA5LCAyLCAyNDQsIDE3MiwgNDAsIDE3LCA5LCAyNywgMTA5LCAyLCAyNDQsIDE3MiwgCi0gICAgNTMsIDE3LCAyMjYsIDE1MCwgNDMsIDIyNiwgNywgMjI2LCAxNTAsIDQ0LCAyMjYsIDcsIDksIDI3LCAyMTcsIDksIDIsIAotICAgIDE1MSwgMiwgNjYsIDY1LCAxNywgOSwgMjcsIDIxNywgOSwgMiwgMTIyLCAyLCAxNTEsIDQwLCAxNywgOSwgMjcsIDIxNywgOSwgCi0gICAgMiwgMTIyLCAyLCAxNTEsIDY1LCAxNywgOSwgMjcsIDIxNywgOSwgMiwgMTIyLCAyLCA2NiwgNjUsIDE3LCA5LCAyNywgMjE3LCAKLSAgICA5LCAyLCAyMzQsIDEzNiwgMiwgNjYsIDY1LCAxNywgOSwgMjcsIDIxNywgOSwgMiwgNjYsIDIsIDE1MSwgNjUsIDE3LCA5LCAKLSAgICAyNywgMjE3LCA5LCAyLCA2NiwgMiwgMTIyLCA2NSwgMTcsIDksIDI3LCAyMTcsIDksIDIsIDY2LCAyLCAyMzQsIDEzNiwgNjUsIAotICAgIDE3LCA5LCAyNywgMTUxLCAyLCA2NiwgMiwgMTIyLCA0MCwgMTcsIDksIDI3LCAxNTEsIDIsIDY2LCAyLCAxMjIsIDY1LCAxNywgCi0gICAgOSwgMjcsIDEyMiwgMiwgNjYsIDIsIDc3LCA0MCwgMTcsIDksIDI3LCAxMjIsIDIsIDY2LCAyLCAxMDksIDIzMSwgMTk4LCAKLSAgICA0MCwgMTcsIDksIDI3LCAyMjEsIDE2OSwgMiwgMTIyLCAyLCAxNTEsIDY1LCAxNywgOSwgMjcsIDIyMSwgMTY5LCAyLCAxNTEsIAotICAgIDIsIDEyMiwgNjUsIDE3LCA5LCAyNywgMjIxLCAxNjksIDIsIDE1MSwgMiwgMTA5LCAyMzEsIDE5OCwgNDAsIDE3LCA5LCAyNywgCi0gICAgMjIxLCAxNjksIDIsIDY2LCAyLCAxMjIsIDQwLCAxNywgOSwgMjcsIDIyMSwgMTY5LCAyLCA2NiwgMiwgMTIyLCA2NSwgMTcsIAotICAgIDksIDI3LCAyMjEsIDE2OSwgMiwgNjYsIDIsIDE1MSwgNjUsIDE3LCA5LCAyNywgMjIxLCAxNjksIDIsIDY2LCAyLCA2NiwgCi0gICAgNDAsIDE3LCA5LCAyNywgMjIxLCAxNjksIDIsIDY2LCAyLCA2NiwgNjUsIDE3LCA5LCAyNywgMjIyLCAyOSwgMiwgMTIyLCAyLCAKLSAgICAxMjIsIDQwLCAxNywgOSwgMjcsIDIyMiwgMjksIDIsIDEyMiwgMiwgMTIyLCA2NSwgMTcsIDksIDI3LCAyMjIsIDI5LCAyLCAKLSAgICA2NiwgMiwgNjYsIDQwLCAxNywgOSwgMjcsIDIyMCwgNjIsIDIsIDEyMiwgMiwgNjYsIDQwLCAxNywgOSwgMjcsIDIyMCwgNjIsIAotICAgIDIsIDEyMiwgMiwgNjYsIDY1LCAxNywgOSwgMjcsIDIyMCwgNjIsIDIsIDE1MSwgMiwgNzcsIDQwLCAxNywgOSwgMjcsIDIyMCwgCi0gICAgNjIsIDIsIDY2LCAyLCAyMzQsIDEzNiwgNDAsIDE3LCA5LCAyNywgMjIwLCA2MiwgMiwgNjYsIDIsIDIzNCwgMTM2LCA2NSwgCi0gICAgMTcsIDksIDI3LCAyMjAsIDYyLCAyLCA2NiwgMiwgNjYsIDQwLCAxNywgOSwgMjcsIDIyMCwgNjIsIDIsIDY2LCAyLCA2NiwgCi0gICAgNjUsIDE3LCA5LCAyNywgMjQ4LCAyMjUsIDIsIDEyMiwgMiwgMTA5LCAyMzEsIDE5OCwgNDAsIDE3LCA5LCAyNywgMjQ4LCAKLSAgICAyMjUsIDIsIDIzNCwgMTM2LCAyLCA2NiwgNDAsIDE3LCA5LCAyNywgMjQ4LCAyMjUsIDIsIDIzNCwgMTM2LCAyLCA2NiwgNjUsIAotICAgIDE3LCA5LCAyNywgMjE3LCA4MiwgMiwgNjYsIDIsIDEyMiwgNDAsIDE3LCA5LCAyNywgMjE3LCA4MiwgMiwgNjYsIDIsIDEyMiwgCi0gICAgNjUsIDE3LCA5LCAyNywgMjE3LCA4MiwgMiwgNjYsIDIsIDY2LCA2NSwgMTcsIDksIDI3LCAyMTcsIDgyLCAyLCA2NiwgMiwgCi0gICAgNzcsIDQwLCAxNywgOSwgMjcsIDI1NCwgMjA2LCAyLCAxNTEsIDIsIDY2LCA0MCwgMTcsIDksIDI3LCAyNTQsIDIwNiwgMiwgCi0gICAgNjYsIDIsIDY2LCA0MCwgMTcsIDksIDI3LCAyNTQsIDIwNiwgMiwgNjYsIDIsIDY2LCA2NSwgMTcsIDksIDI3LCAyNTQsIAotICAgIDIwNiwgMiwgNjYsIDIsIDEwOSwgMjMxLCAxOTgsIDQwLCAxNywgOSwgMjcsIDI0MiwgMjUyLCAyLCA2NiwgMiwgNjYsIDQwLCAKLSAgICAxNywgOSwgMjcsIDI0MiwgMjUyLCAyLCA2NiwgMiwgNzcsIDQwLCAxNywgOSwgMjcsIDI0MiwgMjUyLCAyLCA2NiwgMiwgCi0gICAgMTA5LCAyMzEsIDE5OCwgNDAsIDE3LCA5LCAyNywgMjQ0LCAxNTEsIDIsIDIzNCwgMTM2LCAyLCA2NiwgNDAsIDE3LCA5LCAKLSAgICAyNywgMjQ0LCAxNTEsIDIsIDIzNCwgMTM2LCAyLCA2NiwgNjUsIDE3LCA5LCAyNywgMjI0LCA4NSwgMiwgNjYsIDIsIDEyMiwgCi0gICAgNDAsIDE3LCA5LCAyNywgMjI0LCA4NSwgMiwgNjYsIDIsIDY2LCA0MCwgMTcsIDksIDI3LCAyMzMsIDEwOSwgMiwgMTIyLCAyLCAKLSAgICA2NiwgNDAsIDE3LCA5LCAyNywgMjMzLCAxMDksIDIsIDEyMiwgMiwgNzcsIDQwLCAxNywgOSwgMjcsIDIzMywgMTA5LCAyLCAKLSAgICAxMjIsIDIsIDEwOSwgMjMxLCAxOTgsIDQwLCAxNywgOSwgMjcsIDIzMywgMTA5LCAyLCAxNTEsIDIsIDE1MSwgNjUsIDE3LCAKLSAgICA5LCAyNywgMjMzLCAxMDksIDIsIDE1MSwgMiwgMTUxLCA0MCwgMTcsIDksIDI3LCAyMzMsIDEwOSwgMiwgMjM0LCAxMzYsIDIsIAotICAgIDY2LCA0MCwgMTcsIDksIDI3LCAyMzMsIDEwOSwgMiwgMjM0LCAxMzYsIDIsIDY2LCA2NSwgMTcsIDksIDI3LCAyMzMsIDEwOSwgCi0gICAgMiwgNjYsIDIsIDEyMiwgNDAsIDE3LCA5LCAyNywgMjMzLCAxMDksIDIsIDY2LCAyLCAxMjIsIDY1LCAxNywgOSwgMjcsIDY2LCAKLSAgICAyLCAxMjIsIDIsIDE1MSwgNjUsIDE3LCA5LCAyNywgNjYsIDIsIDEyMiwgMiwgNjYsIDY1LCAxNywgOSwgMjcsIDY2LCAyLCAKLSAgICAxMjIsIDIsIDc3LCA0MCwgMTcsIDksIDI3LCA2NiwgMiwgMTUxLCAyLCAxMjIsIDY1LCAxNywgOSwgMjcsIDY2LCAyLCAxNTEsIAotICAgIDIsIDY2LCA2NSwgMTcsIDksIDI3LCA2NiwgMiwgMjM0LCAxMzYsIDIsIDE1MSwgNjUsIDE3LCA5LCAyNywgNjYsIDIsIDIzNCwgCi0gICAgMTM2LCAyLCA2NiwgNjUsIDE3LCA5LCAyNywgNjYsIDIsIDE1MSwgMiwgMjM0LCAxMzYsIDY1LCAxNywgOSwgMjcsIDI0MSwgCi0gICAgMjI2LCAyLCA2NiwgMiwgMTUxLCA2NSwgMTcsIDksIDI3LCAyNDEsIDIyNiwgMiwgNjYsIDIsIDY2LCA2NSwgMTcsIDksIDI3LCAKLSAgICAyMjgsIDY4LCAyLCAxMjIsIDIsIDY2LCA2NSwgMTcsIDksIDI3LCAyMjgsIDY4LCAyLCAxMjIsIDIsIDEwOSwgMjMxLCAxOTgsIAotICAgIDQwLCAxNywgOSwgMjcsIDIyOCwgNjgsIDIsIDE1MSwgMiwgNjYsIDQwLCAxNywgOSwgMjcsIDIyOCwgNjgsIDIsIDE1MSwgMiwgCi0gICAgNjYsIDY1LCAxNywgOSwgMjcsIDIyOCwgNjgsIDIsIDE1MSwgMiwgMTA5LCAyMzEsIDE5OCwgNDAsIDE3LCA5LCAyNywgMjI4LCAKLSAgICA2OCwgMiwgNjYsIDIsIDc3LCA0MCwgMTcsIDksIDI3LCAyMjgsIDY4LCAyLCA2NiwgMiwgMTA5LCAyMzEsIDE5OCwgNDAsIAotICAgIDE3LCA5LCAyNywgNzcsIDIsIDY2LCAyLCA2NiwgNDAsIDE3LCA5LCAyNywgNzcsIDIsIDY2LCAyLCA2NiwgNjUsIDE3LCA5LCAKLSAgICAyNywgMjUyLCA2MywgMiwgMjM0LCAxMzYsIDIsIDc3LCA0MCwgMTcsIDksIDI3LCAyMTcsIDksIDIsIDE1MSwgMiwgNzcsIAotICAgIDQwLCAxNywgOSwgMjcsIDIxNywgOSwgMiwgMTUxLCAyLCAxMDksIDIzMSwgMTk4LCA0MCwgMTcsIDksIDI3LCAyMTcsIDksIAotICAgIDIsIDIzNCwgMTM2LCAyLCA3NywgNDAsIDE3LCA5LCAyNywgMjE3LCA5LCAyLCAyMzQsIDEzNiwgMiwgMTA5LCAyMzEsIDE5OCwgCi0gICAgNDAsIDE3LCA5LCAyNywgMjE3LCA5LCAyLCA2NiwgMiwgNzcsIDQwLCAxNywgOSwgMjcsIDIxNywgOSwgMiwgNjYsIDIsIAotICAgIDEwOSwgMjMxLCAxOTgsIDQwLCAxNywgOSwgMjcsIDE1MSwgMiwgNjYsIDIsIDc3LCA0MCwgMTcsIDksIDI3LCAxNTEsIDIsIAotICAgIDEyMiwgMiwgMTA5LCAyMzEsIDE5OCwgNDAsIDE3LCA5LCAyNywgMTUxLCAyLCA2NiwgMiwgMTA5LCAyMzEsIDE5OCwgNDAsIAotICAgIDE3LCA5LCAyNywgMjIxLCAxNjksIDIsIDIzNCwgMTM2LCAyLCAxMDksIDIzMSwgMTk4LCA0MCwgMTcsIDksIDI3LCAyMjIsIAotICAgIDI5LCAyLCAxMjIsIDIsIDc3LCA0MCwgMTcsIDksIDI3LCAyMjAsIDYyLCAyLCAxMjIsIDIsIDc3LCA0MCwgMTcsIDksIDI3LCAKLSAgICAyNDgsIDIyNSwgMiwgMTIyLCAyLCA3NywgNDAsIDE3LCA5LCAyNywgMjMzLCAxMDksIDIsIDE1MSwgMiwgNzcsIDQwLCAxNywgCi0gICAgOSwgMjcsIDIzMywgMTA5LCAyLCA2NiwgMiwgNzcsIDQwLCAxNywgOSwgMjcsIDc3LCAyLCAxMjIsIDIsIDc3LCA0MCwgMTcsIAotICAgIDksIDI3LCA3NywgMiwgMTUxLCAyLCA3NywgNDAsIDE3LCA5LCAyNywgNzcsIDIsIDY2LCAyLCA3NywgNDAsIDE3LCA5LCAyNywgCi0gICAgNjYsIDIsIDY2LCAyLCA3NywgNDAsIDE3LCA5LCAyNywgMjI0LCA4NSwgMiwgNjYsIDIsIDc3LCA0MCwgMTcsIDksIDI3LCAKLSAgICAyMjgsIDY4LCAyLCAxMjIsIDIsIDc3LCA0MCwgMTcsIDksIDI3LCAyMjQsIDg1LCAyLCA2NiwgMiwgMTIyLCA2NSwgMTcsIDksIAotICAgIDI3LCAyMzMsIDEwOSwgMiwgMTIyLCAyLCA2NiwgNjUsIDE3LCA5LCAyNywgMjU0LCAyMDYsIDIsIDY2LCAyLCA3NywgNDAsIAotICAgIDE3LCA5LCAyNywgMjM1LCAxLCAyLCA2NiwgMiwgNzcsIDQwLCAxNywgOSwgMjcsIDIyOCwgNjgsIDIsIDE1MSwgMiwgMTIyLCAKLSAgICA2NSwgMTcsIDksIDI3LCA2NiwgMiwgMjM0LCAxMzYsIDIsIDc3LCA0MCwgMTcsIDksIDI3LCAyMzMsIDEwOSwgMiwgMTUxLCAKLSAgICAyLCA2NiwgNjUsIDE3LCA5LCAyNywgMjM1LCAxLCAyLCA2NiwgMiwgNjYsIDQwLCAxNywgOSwgMjcsIDIzMywgMTA5LCAyLCAKLSAgICAxNTEsIDIsIDY2LCA0MCwgMTcsIDksIDI3LCAyMjgsIDY4LCAyLCAxNTEsIDIsIDEyMiwgNDAsIDE3LCA5LCAyNywgMTUxLCAKLSAgICAyLCAxMjIsIDIsIDc3LCA0MCwgMTcsIDksIDI3LCAxMjIsIDIsIDE1MSwgMiwgNzcsIDQwLCAxNywgOSwgMjcsIDY2LCAyLCAKLSAgICAxNTEsIDIsIDc3LCA0MCwgMTcsIDksIDI3LCAyNDQsIDE1MSwgMiwgNjYsIDIsIDc3LCA0MCwgMTcsIDksIDI3LCAyNTIsIAotICAgIDYzLCAyLCAxMjIsIDIsIDc3LCA0MCwgMTcsIDksIDI3LCAyMzUsIDEsIDIsIDY2LCAyLCA2NiwgNjUsIDE3LCA5LCAyNywgCi0gICAgMjU0LCAyMDYsIDIsIDE1MSwgMiwgNjYsIDY1LCAxNywgOSwgMjcsIDIyMiwgMjksIDIsIDY2LCAyLCA2NiwgNjUsIDE3LCA5LCAKLSAgICAyNywgMjIxLCAxNjksIDIsIDIzNCwgMTM2LCAyLCA3NywgNDAsIDE3LCA5LCAyNywgMjI4LCA2OCwgMiwgMTUxLCAyLCA3NywgCi0gICAgNDAsIDE3LCA5LCAyNywgMjIyLCA2LCAyMTQsIDEyOCwgMjUzLCAyNDYsIDIzNCwgMTAsIDIxOCwgMTMyLCA1LCA1MywgMTcsIAotICAgIDksIDI3LCAyMjQsIDgxLCAyMTQsIDEyOCwgMjUzLCAyNDYsIDIzNCwgMTAsIDIxOCwgMTMyLCA1LCA1MywgMTcsIDksIDI3LCAKLSAgICAyNTQsIDE2MiwgNTMsIDE3LCA5LCAyNywgMjU0LCAxOTIsIDUzLCAxNywgOSwgMjcsIDIzMCwgMTU4LCA1MywgMTcsIDksIAotICAgIDI3LCAyMjIsIDcsIDUzLCAxNywgOSwgMjcsIDIyMywgMTQ2LCA1MywgMTcsIDksIDI3LCAyNTQsIDE4MSwgNTMsIDE3LCA5LCAKLSAgICAyNywgMjEyLCA0OSwgNTMsIDE3LCA5LCAyNywgMjIyLCA2LCA1MywgMTcsIDksIDI3LCAyMjIsIDUsIDI1NCwgMTgxLCAyMTIsIAotICAgIDQ4LCA5LCAyNywgMjM1LCAxNDAsIDIyMywgMzcsIDUwLCA5LCAyNywgMjUxLCAyMzgsIDI1NCwgNDcsIDI1NCwgNDgsIDQ1LCAKLSAgICAyMjEsIDE1OCwgNDUsIDIyMSwgNDcsIDQ1LCAyMjAsIDIzNSwgNDUsIDIyMCwgMjI0LCA0NSwgMjIwLCAyMTMsIDQ1LCAyMjAsIAotICAgIDIwMiwgNDUsIDIyMCwgMTkxLCA0NSwgMjIwLCAxODAsIDQ1LCAyMjAsIDE2OSwgNDUsIDIyMSwgMTU3LCA0NSwgMjIxLCAKLSAgICAxNDYsIDQ1LCAyMjEsIDEzNSwgNDUsIDIyMSwgMTI0LCA0NSwgMjIxLCAxMTMsIDQ1LCAyMjEsIDEwMiwgNDUsIDIyMSwgOTEsIAotICAgIDIyNCwgMTk3LCAyNDQsIDI4LCAzMSwgNjcsIDI0OSwgMjI3LCAyMjQsIDE5NywgMjQ0LCAyOCwgMzEsIDY3LCAxMTAsIDI0OSwgCi0gICAgMjI3LCAyMjQsIDE5NywgMjQ0LCAyOCwgMzEsIDY3LCAxMTAsIDI0MywgMjM2LCAyMTgsIDEzMSwgMjI0LCAxOTcsIDI0NCwgCi0gICAgMjgsIDMxLCA2NywgMjQ5LCAyMzQsIDIyNCwgMTk3LCAyNDQsIDI4LCAzMSwgNjcsIDIyMCwgMTUyLCAyMjQsIDE5NywgMjQ0LCAKLSAgICAyOCwgMzEsIDY3LCAyNDUsIDM5LCA3OSwgMjI0LCAxOTcsIDI0NCwgMjgsIDMxLCA2NywgMjI0LCAxNiwgNzksIDIyNCwgCi0gICAgMTk3LCAyNDQsIDI4LCAzMSwgNjcsIDQzLCA3MSwgMjMzLCAyNiwgMTI3LCAyMjQsIDE5NywgMjQ0LCAyOCwgMzEsIDY3LCAKLSAgICA0NCwgNzEsIDIzMywgMjYsIDI1MSwgMTY0LCAyMjQsIDE5NywgMjQ0LCAyOCwgMzEsIDY3LCAyMDMsIDI0NSwgMTcxLCAzOCwgCi0gICAgMjcsIDQzLCAyNDIsIDM0LCAzOCwgMjcsIDQ0LCAyNDIsIDM0LCAzOCwgNTIsIDIxNiwgOTAsIDQzLCAyNDIsIDM0LCAzOCwgCi0gICAgNTIsIDIxNiwgOTAsIDQ0LCAyNDIsIDM0LCAzOCwgMjMxLCAyMzgsIDQzLCAyNDIsIDM0LCAzOCwgMjMxLCAyMzgsIDQ0LCAKLSAgICAyNDIsIDM0LCAzOCwgMjQ5LCAyMDUsIDIzMSwgMjM3LCAyMjQsIDE5NywgMjQ0LCAyOCwgMzEsIDY3LCAxMTMsIDU5LCAyMzMsIAotICAgIDYyLCAyMjQsIDE5NywgMjQ0LCAyOCwgMzEsIDY3LCAyNDUsIDE2OCwgMjQ4LCAxNjQsIDIyNCwgMTk3LCAyNDQsIDI4LCAzMSwgCi0gICAgNjcsIDI0NSwgMTU5LCAyNDgsIDE2NCwgMjI0LCAxOTcsIDI0NCwgMjgsIDMxLCA2NywgMTIxLCAyMzIsIDIxOSwgMjI0LCAKLSAgICAxOTcsIDI0NCwgMjgsIDMxLCA2NywgMjEyLCAzMiwgMTIxLCAyMzIsIDIxOSwgMjI0LCAxOTcsIDI0NCwgMjgsIDMxLCA2NywgCi0gICAgNDMsIDIyNiwgNywgMjI0LCAxOTcsIDI0NCwgMjgsIDMxLCA2NywgNDQsIDIyNiwgNywgMjI0LCAxOTcsIDI0NCwgMjgsIDMxLCAKLSAgICA2NywgNDMsIDI0OSwgMTA3LCAxMjcsIDIyNCwgMTk3LCAyNDQsIDI4LCAzMSwgNjcsIDQ0LCAyNDksIDEwNywgMTI3LCAyMjQsIAotICAgIDE5NywgMjQ0LCAyOCwgMzEsIDY3LCA0MywgMjE2LCA3LCAyMjAsIDU1LCAxMjcsIDIyNCwgMTk3LCAyNDQsIDI4LCAzMSwgCi0gICAgNjcsIDQ0LCAyMTYsIDcsIDIyMCwgNTUsIDEyNywgMjI0LCAxOTcsIDI0NCwgMjgsIDMxLCA2NywgNDMsIDg1LCAyMzMsIDI2LCAKLSAgICAxMjcsIDIyNCwgMTk3LCAyNDQsIDI4LCAzMSwgNjcsIDQ0LCA4NSwgMjMzLCAyNiwgMTI3LCAyMjQsIDE5NywgMjQ0LCAyOCwgCi0gICAgMzEsIDY3LCA0MywgNTIsIDI1NCwgMTE4LCAxMjcsIDIyNCwgMTk3LCAyNDQsIDI4LCAzMSwgNjcsIDQ0LCA1MiwgMjU0LCAKLSAgICAxMTgsIDEyNywgMjI0LCAxOTcsIDI0NCwgMjgsIDMxLCA2NywgNDMsIDI1NCwgMTE4LCAxMjcsIDIyNCwgMTk3LCAyNDQsIAotICAgIDI4LCAzMSwgNjcsIDQ0LCAyNTQsIDExOCwgMTI3LCAyMjQsIDE5NywgMjQ0LCAyOCwgMzEsIDY3LCA0MywgMjQ5LCAxNjksIAotICAgIDEyNywgMjI0LCAxOTcsIDI0NCwgMjgsIDMxLCA2NywgNDQsIDI0OSwgMTY5LCAxMjcsIDIyNCwgMTk3LCAyNDQsIDI4LCAzMSwgCi0gICAgNjcsIDQzLCA3MSwgMjQ5LCAxNjksIDEyNywgMjI0LCAxOTcsIDI0NCwgMjgsIDMxLCA2NywgNDQsIDcxLCAyNDksIDE2OSwgCi0gICAgMTI3LCAyMjAsIDEzMywgMjQ3LCAxMjgsIDcxLCAyMjAsIDEzMywgMjQ3LCAxMjgsIDIyNCwgMTk3LCAyNDQsIDI4LCAzMSwgCi0gICAgNjcsIDQzLCA0MiwgMTI3LCAyMjQsIDE5NywgMjQ0LCAyOCwgMzEsIDY3LCA0NCwgNDIsIDEyNywgMjQ4LCAxNjMsIDIyNiwgCi0gICAgMTIzLCAyNTAsIDE4MCwgMjI2LCAxMjMsIDIxMiwgMzIsIDIyNiwgMTIzLCA1MiwgMjEyLCAzMiwgMjI2LCAxMjMsIDI0OCwgCi0gICAgMTYzLCAxMjEsIDIzMiwgMjE5LCAyNTAsIDE4MCwgMTIxLCAyMzIsIDIxOSwgMjEyLCAzMiwgMTIxLCAyMzIsIDIxOSwgNCwgCi0gICAgMjQ5LCAyMjcsIDQsIDExMCwgMjQ5LCAyMjcsIDQsIDI0MywgMjM2LCAyMTgsIDEzMSwgNCwgMjIwLCAxNTIsIDQsIDI0OSwgCi0gICAgMjM0LCA0LCAyMjQsIDE2LCA3OSwgNCwgMjQ1LCAzOSwgNzksIDQsIDI0NSwgMTY4LCAyNDgsIDE2NCwgNCwgNDMsIDIyNiwgCi0gICAgNywgNCwgNDQsIDIyNiwgNywgNCwgNDMsIDI0OSwgMTA3LCAxMjcsIDQsIDQ0LCAyNDksIDEwNywgMTI3LCA0LCA0MywgMjE2LCAKLSAgICA3LCAyMjAsIDU1LCAxMjcsIDQsIDQ0LCAyMTYsIDcsIDIyMCwgNTUsIDEyNywgNCwgNTQsIDUwLCA0LCAyNTQsIDEzNCwgNCwgCi0gICAgMjUzLCAyMjQsIDQsIDk2LCA1MCwgNCwgMjQwLCAxNzQsIDQsIDIzMywgMjEsIDUwLCA0LCAyNDIsIDEzNywgNTAsIDQsIAotICAgIDI0NSwgMTA2LCA1MCwgNCwgMjIzLCA1MywgMjE5LCA0OCwgNCwgMjQ3LCAxNDAsIDUwLCA0LCAyMjUsIDE4NSwgNTAsIDQsIAotICAgIDI0OSwgMjI1LCAyNTMsIDIxNCwgOSwgMjQ0LCAxNzIsIDUzLCAxNywgOSwgMjE3LCA0NSwgMiwgMjQ0LCAxNzIsIDQ4LCA5LCAKLSAgICAyNDgsIDE5MSwgNTMsIDE3LCA5LCAyMTcsIDc5LCAyNDQsIDksIDksIDIzNCwgMjEwLCA1MywgMTcsIDksIDI0NCwgMTc0LCAKLSAgICA1MywgMTcsIDksIDI0NCwgMTc0LCAxNDcsIDE3LCA5LCAyNDgsIDE5MywgNTMsIDE3LCA5LCAyNDgsIDE5MywgMTQ3LCAxNywgCi0gICAgOSwgMjM0LCAyMTIsIDUzLCAxNywgOSwgMjM0LCAyMTIsIDE0NywgMTcsIDksIDIyMCwgOTYsIDUzLCAxNywgOSwgMjIwLCAKLSAgICA5NiwgMTQ3LCAxNywgOSwgMjE4LCA0NywgNTMsIDE3LCA5LCAyMTgsIDQ3LCAxNDcsIDE3LCA5LCAxLCAxODIsIDUzLCAxNywgCi0gICAgOSwgMSwgMTA5LCAyLCAyMzEsIDIzMywgNzIsIDUzLCAxNywgOSwgMSwgMTA5LCAyLCAyMzEsIDIzMywgNzIsIDQwLCAxNywgCi0gICAgOSwgMSwgMTA5LCAyLCAxODIsIDcyLCA1MywgMTcsIDksIDEsIDEwOSwgMiwgMTgyLCA3MiwgNDAsIDE3LCA5LCAxLCAyMTIsIAotICAgIDMxLCAyLCAxODIsIDcyLCA1MywgMTcsIDksIDEsIDIxMiwgMzEsIDIsIDE4MiwgNzIsIDQwLCAxNywgOSwgMSwgMTA5LCAyLCAKLSAgICAxODIsIDI1MiwgNTEsIDUzLCAxNywgOSwgMSwgMTA5LCAyLCAxODIsIDI1MiwgNTEsIDQwLCAxNywgOSwgMSwgNzcsIDIsIAotICAgIDE4MiwgNzIsIDUzLCAxNywgOSwgMSwgNzcsIDIsIDE4MiwgNzIsIDQwLCAxNywgOSwgMSwgNzcsIDIsIDE4MiwgNzIsIDY1LCAKLSAgICAxNywgOSwgMSwgNzcsIDIsIDE4MiwgNzIsIDE0NywgMTcsIDksIDEsIDEwOSwgNTMsIDE3LCA5LCAxLCAxMDksIDQwLCAxNywgCi0gICAgOSwgMSwgMjUyLCA2MywgNTMsIDE3LCA5LCAxLCAyNTIsIDYzLCA0MCwgMTcsIDksIDEsIDI1MiwgNjMsIDY1LCAxNywgOSwgCi0gICAgMSwgMjUyLCA2MywgMTQ3LCAxNywgOSwgMSwgMjE3LCA5LCAyMzEsIDE3MCwgNTMsIDE3LCA5LCAxLCAyMTcsIDksIDIzMSwgCi0gICAgMTcwLCA0MCwgMTcsIDksIDEsIDIxNywgOSwgNTMsIDE3LCA5LCAxLCAyMTcsIDksIDQwLCAxNywgOSwgMSwgMjE3LCA5LCAKLSAgICA2NSwgMTcsIDksIDEsIDIxNywgOSwgMTQ3LCAxNywgOSwgMSwgMjE2LCAxOTQsIDUzLCAxNywgOSwgMSwgMjE2LCAxOTQsIAotICAgIDQwLCAxNywgOSwgMSwgMjE2LCAxOTQsIDY1LCAxNywgOSwgMSwgMjE2LCAxOTQsIDE0NywgMTcsIDksIDEsIDE1MSwgNTMsIAotICAgIDE3LCA5LCAxLCAxNTEsIDQwLCAxNywgOSwgMSwgMTUxLCA2NSwgMTcsIDksIDEsIDE1MSwgMTQ3LCAxNywgOSwgMSwgMTIyLCAKLSAgICA1MywgMTcsIDksIDEsIDEyMiwgNDAsIDE3LCA5LCAxLCAxMjIsIDY1LCAxNywgOSwgMSwgMTIyLCAxNDcsIDE3LCA5LCAxLCAKLSAgICAyMzQsIDEzNiwgNTMsIDE3LCA5LCAxLCAyMzQsIDEzNiwgNDAsIDE3LCA5LCAxLCAyMzQsIDEzNiwgNjUsIDE3LCA5LCAxLCAKLSAgICAyMzQsIDEzNiwgMTQ3LCAxNywgOSwgMSwgMjQ4LCAyMDQsIDUzLCAxNywgOSwgMSwgMjQ4LCAyMDQsIDQwLCAxNywgOSwgMSwgCi0gICAgMjE2LCAyMDQsIDUzLCAxNywgOSwgMSwgMjE2LCAyMDQsIDQwLCAxNywgOSwgMSwgMjIzLCA5OSwgNTMsIDE3LCA5LCAxLCAKLSAgICAyMjMsIDk5LCA0MCwgMTcsIDksIDEsIDIxMCwgMTA5LCA1MywgMTcsIDksIDEsIDIxMCwgMTA5LCA0MCwgMTcsIDksIDEsIAotICAgIDIyMSwgMTY5LCA1MywgMTcsIDksIDEsIDIyMSwgMTY5LCA0MCwgMTcsIDksIDEsIDIyMSwgMTY5LCA2NSwgMTcsIDksIDEsIAotICAgIDIyMSwgMTY5LCAxNDcsIDE3LCA5LCAxLCAyMjAsIDYyLCA1MywgMTcsIDksIDEsIDIyMCwgNjIsIDQwLCAxNywgOSwgMSwgCi0gICAgMjIwLCA2MiwgNjUsIDE3LCA5LCAxLCAyMjAsIDYyLCAxNDcsIDE3LCA5LCAxLCAyMjIsIDI5LCA1MywgMTcsIDksIDEsIAotICAgIDIyMiwgMjksIDQwLCAxNywgOSwgMSwgMjIyLCAyOSwgNjUsIDE3LCA5LCAxLCAyMjIsIDI5LCAxNDcsIDE3LCA5LCAxLCAKLSAgICAyNDgsIDIyNSwgNTMsIDE3LCA5LCAxLCAyNDgsIDIyNSwgNDAsIDE3LCA5LCAxLCAyNDgsIDIyNSwgNjUsIDE3LCA5LCAxLCAKLSAgICAyNDgsIDIyNSwgMTQ3LCAxNywgOSwgMSwgMjE3LCA4MiwgNTMsIDE3LCA5LCAxLCAyMTcsIDgyLCA0MCwgMTcsIDksIDEsIAotICAgIDIxNywgODIsIDY1LCAxNywgOSwgMSwgMjE3LCA4MiwgMTQ3LCAxNywgOSwgMSwgMjEwLCAxMTIsIDUzLCAxNywgOSwgMSwgCi0gICAgMjEwLCAxMTIsIDQwLCAxNywgOSwgMSwgMjEwLCAxMTIsIDY1LCAxNywgOSwgMSwgMjEwLCAxMTIsIDE0NywgMTcsIDksIDEsIAotICAgIDI1NCwgMjA2LCA1MywgMTcsIDksIDEsIDI1NCwgMjA2LCA0MCwgMTcsIDksIDEsIDI1NCwgMjA2LCA2NSwgMTcsIDksIDEsIAotICAgIDI1NCwgMjA2LCAxNDcsIDE3LCA5LCAxLCAyNDIsIDI1MiwgNTMsIDE3LCA5LCAxLCAyNDIsIDI1MiwgNDAsIDE3LCA5LCAxLCAKLSAgICAyNDIsIDI1MiwgNjUsIDE3LCA5LCAxLCAyNDIsIDI1MiwgMTQ3LCAxNywgOSwgMSwgMjQ0LCAxNTEsIDUzLCAxNywgOSwgMSwgCi0gICAgMjQ0LCAxNTEsIDQwLCAxNywgOSwgMSwgMjQ0LCAxNTEsIDY1LCAxNywgOSwgMSwgMjQ0LCAxNTEsIDE0NywgMTcsIDksIDEsIAotICAgIDIyNCwgODUsIDUzLCAxNywgOSwgMSwgMjI0LCA4NSwgNDAsIDE3LCA5LCAxLCAyMjQsIDg1LCA2NSwgMTcsIDksIDEsIDIyNCwgCi0gICAgODUsIDE0NywgMTcsIDksIDEsIDIzNSwgMSwgNTMsIDE3LCA5LCAxLCAyMzUsIDEsIDQwLCAxNywgOSwgMSwgMjM1LCAxLCAKLSAgICA2NSwgMTcsIDksIDEsIDIzNSwgMSwgMTQ3LCAxNywgOSwgMSwgMjMzLCAxMDksIDUzLCAxNywgOSwgMSwgMjMzLCAxMDksIAotICAgIDQwLCAxNywgOSwgMSwgMjMzLCAxMDksIDY1LCAxNywgOSwgMSwgMjMzLCAxMDksIDE0NywgMTcsIDksIDEsIDY2LCA1MywgCi0gICAgMTcsIDksIDEsIDY2LCA0MCwgMTcsIDksIDEsIDY2LCA2NSwgMTcsIDksIDEsIDY2LCAxNDcsIDE3LCA5LCAxLCAyMjgsIDY4LCAKLSAgICA1MywgMTcsIDksIDEsIDIyOCwgNjgsIDQwLCAxNywgOSwgMSwgMjI4LCA2OCwgNjUsIDE3LCA5LCAxLCAyMjgsIDY4LCAxNDcsIAotICAgIDE3LCA5LCAxLCAyNDEsIDIyNiwgNTMsIDE3LCA5LCAxLCAyNDEsIDIyNiwgNDAsIDE3LCA5LCAxLCAyNDEsIDIyNiwgNjUsIAotICAgIDE3LCA5LCAxLCAyNDEsIDIyNiwgMTQ3LCAxNywgOSwgMSwgMjEyLCAzMSwgNTMsIDE3LCA5LCAxLCAyMTIsIDMxLCA0MCwgCi0gICAgMTcsIDksIDEsIDEwOSwgMjMxLCAxOTgsIDUzLCAxNywgOSwgMSwgMTA5LCAyMzEsIDE5OCwgNDAsIDE3LCA5LCAxLCA3NywgCi0gICAgNTMsIDE3LCA5LCAxLCA3NywgNDAsIDE3LCA5LCAxLCA3NywgNjUsIDE3LCA5LCAxLCA3NywgMTQ3LCAxNywgOSwgMjcsIAotICAgIDIzMywgMTA5LCAyLCAxMDksIDIsIDIzMSwgMjMzLCA3MiwgNTMsIDE3LCA5LCAyNywgMjMzLCAxMDksIDIsIDEwOSwgMiwgCi0gICAgMjMxLCAyMzMsIDcyLCA0MCwgMTcsIDksIDI3LCAyMzMsIDEwOSwgMiwgMTA5LCAyLCAxODIsIDcyLCA1MywgMTcsIDksIDI3LCAKLSAgICAyMzMsIDEwOSwgMiwgMTA5LCAyLCAxODIsIDcyLCA0MCwgMTcsIDksIDI3LCAyMzMsIDEwOSwgMiwgMTA5LCAyLCAxODIsIAotICAgIDI1MiwgNTEsIDUzLCAxNywgOSwgMjcsIDIzMywgMTA5LCAyLCAxMDksIDIsIDE4MiwgMjUyLCA1MSwgNDAsIDE3LCA5LCAyNywgCi0gICAgMjMzLCAxMDksIDIsIDEwOSwgNTMsIDE3LCA5LCAyNywgMjMzLCAxMDksIDIsIDEwOSwgNDAsIDE3LCAyMTAsIDg3LCAyMTEsIAotICAgIDI0NSwgMjI4LCA3OCwgMjE5LCAyMCwgMTI2LCAyNDUsIDM5LCA3OSwgMTI2LCAyMjQsIDEsIDc5LCAxMjYsIDU0LCA1MCwgCi0gICAgMTI2LCAyNDcsIDE0MCwgNTAsIDEyNiwgMjI1LCAxODUsIDUwLCAxMjYsIDI1NCwgMTM0LCAxMjYsIDI1NCwgNjUsIDEyNiwgCi0gICAgNDMsIDIyNiwgNywgMTI2LCA0NCwgMjI2LCA3LCAxMjYsIDI1MywgMjI0LCAxMjYsIDk2LCA1MCwgMTI2LCAyNDksIDIyNywgCi0gICAgMTI2LCAyNDAsIDE3NCwgMTI2LCAyNDMsIDIzNiwgMjE4LCAxMzEsIDEyNiwgMjE5LCA0OCwgMTI2LCAyMSwgMjEwLCA4NiwgCi0gICAgMTI2LCAyMSwgMTExLCAxMjYsIDIxLCAxMDUsIDEyNiwgMjEsIDE1OCwgMTI2LCAyMSwgMTYxLCAxMjYsIDIxLCAxOTAsIAotICAgIDEyNiwgMjEsIDE5NSwgMTI2LCAyMSwgMTk5LCAxMjYsIDIxLCAxOTYsIDEyNiwgMjEsIDIwMSwgMTI2LCAyNDksIDIzNCwgCi0gICAgMTI2LCAyMjAsIDE1MiwgMTI2LCAyMzMsIDIxLCA1MCwgMTI2LCAyNDUsIDEwNiwgNTAsIDEyNiwgMjQyLCAxMzcsIDUwLCAKLSAgICAxMjYsIDIyNCwgMTYsIDc5LCAxMjYsIDI0OSwgMjI1LCAyNTMsIDIxNCwgMTI2LCA3LCA2LCAxLCA2MSwgMTI2LCA3LCA2LCAKLSAgICAxLCAyNTMsIDE2NiwgMTI2LCA3LCA2LCAxLCAyNTEsIDc0LCAxMjYsIDcsIDYsIDEsIDI0OSwgNjgsIDEyNiwgNywgNiwgMSwgCi0gICAgNzYsIDEyNiwgNywgNiwgMSwgMjQ1LCAxNCwgMTI2LCA3LCA2LCAxLCAyNDMsIDIwOSwgMTI2LCA3LCA2LCAxLCAyNDIsIDY3LCAKLSAgICAxMjYsIDcsIDYsIDEsIDc0LCAxMjYsIDcsIDYsIDEsIDIzNSwgMTUwLCAxMjYsIDcsIDYsIDEsIDIzNSwgMjksIDEyNiwgNywgCi0gICAgNiwgMSwgMTU2LCAxMjYsIDcsIDYsIDEsIDE5NCwgMTI2LCA3LCA2LCAxLCAyMzAsIDMwLCAxMjYsIDcsIDYsIDEsIDc4LCAKLSAgICAxMjYsIDcsIDYsIDEsIDIyNiwgMTA5LCAxMjYsIDcsIDYsIDEsIDIyNCwgOTksIDEyNiwgNywgNiwgMSwgMTUzLCAxMjYsIDcsIAotICAgIDYsIDEsIDIyMiwgOTMsIDEyNiwgNywgNiwgMSwgMjE3LCAxNTMsIDEyNiwgNywgNiwgMSwgNjksIDEyNiwgNywgNiwgMSwgCi0gICAgMjE0LCAxMDUsIDEyNiwgNywgNiwgMSwgMjEyLCA5OCwgMTI2LCA3LCA2LCAxLCAyMTEsIDE3OCwgMTI2LCA3LCA2LCAxLCAKLSAgICAyMTEsIDExNywgMTI2LCA3LCA2LCAxLCAyMTAsIDE1OSwgMTI2LCA0MywgNDIsIDEyNywgMTI2LCAyMjMsIDUzLCAyMTksIAotICAgIDQ4LCAxMjYsIDQ0LCA0MiwgMTI3LCAxMjYsIDI1MCwgMzksIDI1NSwgMjMsIDEyNiwgMTIxLCAyMzIsIDIxOSwgMTI2LCAKLSAgICAyNDIsIDE0NCwgMjU1LCAyMywgMTI2LCA3LCA0LCAxLCA2MSwgMTI2LCA3LCA0LCAxLCAyNTMsIDE2NiwgMTI2LCA3LCA0LCAKLSAgICAxLCAyNTEsIDc0LCAxMjYsIDcsIDQsIDEsIDI0OSwgNjgsIDEyNiwgNywgNCwgMSwgNzYsIDEyNiwgNywgNCwgMSwgMjQ1LCAKLSAgICAxNCwgMTI2LCA3LCA0LCAxLCAyNDMsIDIwOSwgMTI2LCA3LCA0LCAxLCAyNDIsIDY3LCAxMjYsIDcsIDQsIDEsIDc0LCAxMjYsIAotICAgIDcsIDQsIDEsIDIzNSwgMTUwLCAxMjYsIDcsIDQsIDEsIDIzNSwgMjksIDEyNiwgNywgNCwgMSwgMTU2LCAxMjYsIDcsIDQsIAotICAgIDEsIDE5NCwgMTI2LCA3LCA0LCAxLCAyMzAsIDMwLCAxMjYsIDcsIDQsIDEsIDc4LCAxMjYsIDcsIDQsIDEsIDIyNiwgMTA5LCAKLSAgICAxMjYsIDcsIDQsIDEsIDIyNCwgOTksIDEyNiwgNywgNCwgMSwgMTUzLCAxMjYsIDcsIDQsIDEsIDIyMiwgOTMsIDEyNiwgNywgCi0gICAgNCwgMSwgMjE3LCAxNTMsIDEyNiwgNywgNCwgMSwgNjksIDEyNiwgNywgNCwgMSwgMjE0LCAxMDUsIDEyNiwgNywgNCwgMSwgCi0gICAgMjEyLCA5OCwgMTI2LCA3LCA0LCAxLCAyMTEsIDE3OCwgMTI2LCA3LCA0LCAxLCAyMTEsIDExNywgMTI2LCA3LCA0LCAxLCAKLSAgICAyMTAsIDE1OSwgMTI2LCA0MywgMjQ5LCAxMDcsIDEyNywgMTI2LCA2NywgMjMyLCAyMTksIDEyNiwgNDQsIDI0OSwgMTA3LCAKLSAgICAxMjcsIDEyNiwgMTg0LCAxMjYsIDQzLCA3MSwgMjI2LCA3LCAxMjYsIDQ0LCA3MSwgMjI2LCA3LCAxMDEsIDExMCwgMjQzLCAKLSAgICAyMzYsIDIxOCwgMTMxLCAxMDEsIDQzLCAyNDksIDE2OSwgMTI3LCAxMDEsIDQ0LCAyNDksIDE2OSwgMTI3LCAxMDEsIDExMCwgCi0gICAgMjQ5LCAyMjcsIDEwMSwgNTYsIDIzMCwgMjI5LCAyNDcsIDEyOCwgMTAxLCA1NiwgMSwgMjExLCAyMjcsIDEwMSwgNTYsIDEsIAotICAgIDQsIDYxLCAxMDEsIDU2LCAxLCA0LCA3NCwgMTAxLCA1NiwgMSwgNCwgNjksIDEwMSwgNTYsIDEsIDQsIDc2LCAxMDEsIDU2LCAKLSAgICAxLCA0LCA3OCwgMTAxLCA1NiwgMSwgNCwgMTkyLCAxMDEsIDU2LCAxLCA0LCAyMTAsIDIxMiwgMTAxLCA1NiwgMSwgNCwgCi0gICAgMjEwLCAyNDQsIDEwMSwgNTYsIDEsIDQsIDIxNSwgMTE5LCAxMDEsIDIzNCwgMjA3LCAyMjQsIDE3NiwgMjE5LCAzMywgNzksIAotICAgIDEwMSwgNTYsIDEsIDYxLCAxMDEsIDU2LCAxLCA3NCwgMTAxLCA1NiwgMSwgNjksIDEwMSwgNTYsIDEsIDc2LCAxMDEsIDU2LCAKLSAgICAxLCA3OCwgMTAxLCA1NiwgMSwgMTc2LCAxMDEsIDU2LCAxLCAyMzQsIDk4LCAxMDEsIDU2LCAxLCAyMzMsIDIyMywgMTAxLCAKLSAgICA1NiwgMSwgMjM0LCAxODgsIDEwMSwgNTYsIDEsIDIzNCwgMzQsIDEwMSwgNTYsIDEsIDIwNiwgMTAxLCA1NiwgMSwgMjE5LCAKLSAgICAxOTMsIDEwMSwgNTYsIDEsIDIxOCwgODQsIDEwMSwgNTYsIDEsIDIyMSwgMTgzLCAxMDEsIDU2LCAxLCAyMTksIDYwLCAxMDEsIAotICAgIDU2LCAxLCAyMTcsIDEwNiwgMTAxLCA1NiwgMSwgMjE2LCAxMTgsIDEwMSwgNTYsIDEsIDIxNSwgMTE5LCAxMDEsIDU2LCAxLCAKLSAgICAyMTcsIDIzLCAxMDEsIDU2LCAxLCAxMTIsIDEwMSwgNTYsIDEsIDE5OCwgMTAxLCA1NiwgMSwgMjI4LCAyMzgsIDEwMSwgNTYsIAotICAgIDEsIDIyNywgMjQyLCAxMDEsIDU2LCAxLCAyMjksIDExMiwgMTAxLCA1NiwgMSwgMjI4LCA3OSwgMTAxLCA1NiwgMSwgMTYyLCAKLSAgICAxMDEsIDU2LCAxLCAyNDEsIDE4NywgMTAxLCA1NiwgMSwgMjQwLCAyMjksIDEwMSwgNTYsIDEsIDI0MSwgMjQ1LCAxMDEsIAotICAgIDU2LCAxLCAyNDEsIDc1LCAxMDEsIDU2LCAxLCAxODYsIDEwMSwgNTYsIDEsIDIzMCwgMjM1LCAxMDEsIDU2LCAxLCAyMzAsIAotICAgIDEwNywgMTAxLCA1NiwgMSwgMjMxLCA5NiwgMTAxLCA1NiwgMSwgMjMwLCAxNjYsIDEwMSwgNTYsIDEsIDE5MiwgMTAxLCA1NiwgCi0gICAgMSwgMjEwLCAyMTIsIDEwMSwgNTYsIDEsIDIxMCwgMjQ0LCAxMDEsIDU2LCAxLCAyMDUsIDEwMSwgNTYsIDEsIDIyMywgMzgsIAotICAgIDEwMSwgNTYsIDEsIDIyMiwgMTQyLCAxMDEsIDU2LCAxLCAyMjMsIDEzMSwgMTAxLCA1NiwgMSwgMjIyLCAyMTMsIDEwMSwgCi0gICAgNTYsIDEsIDIxMiwgNjUsIDEwMSwgNTYsIDEsIDIzMCwgMzAsIDEwMSwgNTYsIDIxMywgMTM1LCAyMTksIDMzLCA3OSwgMTAxLCAKLSAgICA1NiwgMjIwLCAxNTcsIDIxOSwgMzMsIDc5LCAxMDEsIDI0LCAyNDQsIDExMSwgMTAxLCAyNCwgMSwgMjM0LCA2NCwgMTAxLCAKLSAgICAyNCwgMSwgMjE4LCAyMTcsIDEwMSwgMjQsIDEsIDIzNCwgNTcsIDEwMSwgMjQsIDEsIDIyOCwgMjMxLCAxMDEsIDI0LCAxLCAKLSAgICAyMjgsIDIyOSwgMTAxLCAyNCwgMSwgMjI4LCAyMjgsIDEwMSwgMjQsIDEsIDIxNiwgMTAyLCAxMDEsIDI0LCAxLCAyMTgsIAotICAgIDIwNiwgMTAxLCAyNCwgMSwgMjIzLCAyOSwgMTAxLCAyNCwgMSwgMjIzLCAyNCwgMTAxLCAyNCwgMSwgMjIzLCAyMSwgMTAxLCAKLSAgICAyNCwgMSwgMjIzLCAxNCwgMTAxLCAyNCwgMSwgMjIzLCA5LCAxMDEsIDI0LCAxLCAyMjMsIDQsIDEwMSwgMjQsIDEsIDIyMywgCi0gICAgMTUsIDEwMSwgMjQsIDEsIDIyMywgMjcsIDEwMSwgMjQsIDEsIDIzMCwgMjIyLCAxMDEsIDI0LCAxLCAyMjUsIDk4LCAxMDEsIAotICAgIDI0LCAxLCAyMTgsIDIxNCwgMTAxLCAyNCwgMSwgMjI1LCA4NywgMTAxLCAyNCwgMSwgMjE5LCAxNTAsIDEwMSwgMjQsIDEsIAotICAgIDIxOCwgMjExLCAxMDEsIDI0LCAxLCAyMzYsIDYzLCAxMDEsIDI0LCAxLCAyNTAsIDU0LCAxMDEsIDI0LCAxLCAyMTgsIDIyMSwgCi0gICAgMTAxLCAyNCwgMSwgMjUwLCAxMTQsIDEwMSwgMjQsIDEsIDIzNCwgMTE2LCAxMDEsIDI0LCAxLCAyMTYsIDE3NCwgMTAxLCAKLSAgICAyNCwgMSwgMjI1LCAxMzQsIDEwMSwgMjQsIDEsIDI0MSwgMTc5LCAxMDEsIDI0LCAxLCA2MSwgMTAxLCAyNCwgMSwgMjU0LCAKLSAgICAyNTIsIDEwMSwgMjQsIDEsIDE5MiwgMTAxLCAyNCwgMSwgMjExLCA5MiwgMTAxLCAyNCwgMSwgMjQ1LCAxMjUsIDEwMSwgMjQsIAotICAgIDEsIDc2LCAxMDEsIDI0LCAxLCAyMTEsIDM2LCAxMDEsIDI0LCAxLCAyMTEsIDQ3LCAxMDEsIDI0LCAxLCA3OCwgMTAxLCAyNCwgCi0gICAgMSwgMjEyLCA2NSwgMTAxLCAyNCwgMSwgMjEyLCA2MiwgMTAxLCAyNCwgMSwgMjI2LCAyMzgsIDEwMSwgMjQsIDEsIDIxMCwgCi0gICAgMjQ0LCAxMDEsIDI0LCAxLCA2OSwgMTAxLCAyNCwgMSwgMjEyLCAxMSwgMTAxLCAyNCwgMSwgMjEyLCAyMiwgMTAxLCAyNCwgCi0gICAgMSwgMjExLCAyNTAsIDEwMSwgMjQsIDEsIDIxMCwgMjEyLCAxMDEsIDI0LCAxLCAyNDUsIDYzLCAxMDEsIDI0LCAxLCAyMTEsIAotICAgIDgsIDEwMSwgMjQsIDEsIDc0LCAxMjYsIDI1MCwgMTg0LCA1MCwgMTI2LCAyMjQsIDIzMSwgNTAsIDEyNiwgMjI4LCA1NywgCi0gICAgNTAsIDEyNiwgMjMxLCAyMzcsIDEyNiwgMjUxLCAxNDMsIDEzMCwgMTI2LCAyMTEsIDQwLCA1MCwgMTI2LCAyMTEsIDIxNywgCi0gICAgNTAsIDEwMSwgMjQ0LCAyNiwgMTkzLCAyMTMsIDIzOSwgMTAxLCAxNDAsIDc1LCAxMDEsIDIxNCwgMTUzLCA3NSwgMTAxLCAKLSAgICA5NywgNzUsIDEwMSwgMjQ2LCAxMTIsIDc1LCAxMDEsIDg1LCAyMTgsIDIzNiwgMTAxLCA3MSwgMjUwLCA0MywgMjM1LCAyMTEsIAotICAgIDI1NCwgMTA3LCAyNTQsIDEyOCwgMjM1LCAyMTEsIDI1NCwgMTA3LCAyMjAsIDEzOSwgMjM1LCAyMTEsIDI1NCwgMTA3LCAKLSAgICAyMTYsIDIzNywgMjI2LCAyNTMsIDIyMywgNzUsIDI1MCwgMTUwLCAyMjMsIDc1LCAyNTAsIDE1MCwgNjIsIDU3LCAzLCAyNTMsIAotICAgIDE1MCwgNjEsIDYyLCA1NywgMywgMjUzLCAxMTksIDc2LCA2MiwgNTcsIDMsIDI1MywgMTI4LCA3NCwgNjIsIDU3LCAzLCAKLSAgICAyNTMsIDk2LCA3OCwgNjIsIDU3LCAzLCAyNTMsIDE0NiwgNjksIDYyLCA1NywgMywgMjUzLCAxNjUsIDI0OCwgMjI5LCA2MiwgCi0gICAgNTcsIDMsIDI1MywgMTEyLCAyNDgsIDk4LCA2MiwgNTcsIDMsIDI1MywgMTUyLCAyNDgsIDExLCA2MiwgNTcsIDMsIDI1MywgCi0gICAgMTQyLCAyNDcsIDE1MywgNjIsIDU3LCAzLCAyNTMsIDEwNiwgMjQ2LCA4NiwgNjIsIDU3LCAzLCAyNTMsIDEwMCwgMjM1LCAKLSAgICAxNDcsIDYyLCA1NywgMywgMjUzLCAxMTEsIDIzNSwgMTMyLCA2MiwgNTcsIDMsIDI1MywgMTIxLCAyMzUsIDc0LCA2MiwgNTcsIAotICAgIDMsIDI1MywgOTIsIDIzNSwgNTcsIDYyLCA1NywgMywgMjUzLCA4MCwgMTc2LCA2MiwgNTcsIDMsIDI1MywgMTEzLCAyMzQsIAotICAgIDE4OCwgNjIsIDU3LCAzLCAyNTMsIDkwLCAyMzQsIDk4LCA2MiwgNTcsIDMsIDI1MywgODcsIDIzNCwgMzQsIDYyLCA1NywgMywgCi0gICAgMjUzLCA3NiwgMjMzLCAyMjMsIDYyLCA1NywgMywgMjUzLCA3NywgMTg2LCA2MiwgNTcsIDMsIDI1MywgMTQzLCAyMzEsIDk2LCAKLSAgICA2MiwgNTcsIDMsIDI1MywgODQsIDIzMCwgMjM1LCA2MiwgNTcsIDMsIDI1MywgMTQxLCAyMzAsIDE2NiwgNjIsIDU3LCAzLCAKLSAgICAyNTMsIDEzMywgMjMwLCAxMDcsIDYyLCA1NywgMywgMjUzLCAxNTQsIDE5OCwgNjIsIDU3LCAzLCAyNTMsIDEzMiwgMjI5LCAKLSAgICAxMTIsIDYyLCA1NywgMywgMjUzLCAxMjYsIDIyOCwgMjM4LCA2MiwgNTcsIDMsIDI1MywgMTA1LCAyMjgsIDc5LCA2MiwgNTcsIAotICAgIDMsIDI1MywgMTAyLCAyMjcsIDI0MiwgNjIsIDU3LCAzLCAyNTMsIDE2MSwgMTkxLCA2MiwgNTcsIDMsIDI1MywgODUsIDIyNSwgCi0gICAgMjI0LCA2MiwgNTcsIDMsIDI1MywgMTE4LCAyMjUsIDExMSwgNjIsIDU3LCAzLCAyNTMsIDE0NSwgMjI1LCAxOSwgNjIsIDU3LCAKLSAgICAzLCAyNTMsIDEwNywgMjI0LCAxNTMsIDYyLCA1NywgMywgMjUzLCAxNDAsIDIyNCwgOTEsIDYyLCA1NywgMywgMjUzLCA3OSwgCi0gICAgMjI0LCA3MiwgNjIsIDU3LCAzLCAyNTMsIDEzNSwgMjI0LCA1NiwgNjIsIDU3LCAzLCAyNTMsIDEyNCwgMjI0LCA0NSwgNjIsIAotICAgIDU3LCAzLCAyNTMsIDk3LCAyMDUsIDYyLCA1NywgMywgMjUzLCAxMjksIDIyMywgMTMxLCA2MiwgNTcsIDMsIDI1MywgMTA0LCAKLSAgICAyMjMsIDM4LCA2MiwgNTcsIDMsIDI1MywgMTYzLCAyMjIsIDIxMywgNjIsIDU3LCAzLCAyNTMsIDEzMCwgMjIyLCAxNDIsIAotICAgIDYyLCA1NywgMywgMjUzLCAxMjUsIDIwNiwgNjIsIDU3LCAzLCAyNTMsIDE0OCwgMjIxLCAxODMsIDYyLCA1NywgMywgMjUzLCAKLSAgICAxMTYsIDIxOSwgMTkzLCA2MiwgNTcsIDMsIDI1MywgMTQ0LCAyMTksIDYwLCA2MiwgNTcsIDMsIDI1MywgOTksIDIxOCwgODQsIAotICAgIDYyLCA1NywgMywgMjUzLCA5OCwgMjE3LCAxMDYsIDYyLCA1NywgMywgMjUzLCAxNTksIDIxNywgMjMsIDYyLCA1NywgMywgCi0gICAgMjUzLCAxMjAsIDIxNiwgMTE4LCA2MiwgNTcsIDMsIDI1MywgMTU3LCAxMTIsIDYyLCA1NywgMywgMjUzLCA4OCwgMjE1LCAKLSAgICAxMTksIDYyLCA1NywgMywgMjUzLCAxMDMsIDIxMiwgNjUsIDYyLCA1NywgMywgMjUzLCA4MiwgMjEyLCAyMiwgNjIsIDU3LCAKLSAgICAzLCAyNTMsIDExNywgMjExLCAyNTAsIDYyLCA1NywgMywgMjUzLCAxMTUsIDIxMSwgMjI3LCA2MiwgNTcsIDMsIDI1MywgCi0gICAgMTM5LCAyMTAsIDExNiwgNjIsIDU3LCAzLCAyNTMsIDgzLCAyMTAsIDk0LCA2MiwgNTcsIDMsIDI1MywgMTM2LCAyMTAsIDIzLCAKLSAgICA2MiwgNTcsIDMsIDI1MywgMTMxLCAyNTUsIDg0LCA2MiwgNTcsIDMsIDI1MywgMTE0LCAyNTUsIDgzLCA2MiwgNTcsIDMsIAotICAgIDI1MywgNzMsIDI1MywgMjAwLCA2MiwgNTcsIDMsIDI1MywgODYsIDI0NiwgNTQsIDYyLCA1NywgMywgMjUzLCA2OSwgMjQ2LCAKLSAgICA1MywgNjIsIDU3LCAzLCAyNTMsIDEwOSwgMjI3LCAxNzgsIDYyLCA1NywgMywgMjUzLCAxMjcsIDIyNCwgMTUxLCA2MiwgNTcsIAotICAgIDMsIDI1MywgOTUsIDIyNCwgMTU1LCA2MiwgNTcsIDMsIDI1MywgODEsIDIyMywgMTg5LCA2MiwgNTcsIDMsIDI1MywgMTIzLCAKLSAgICAyMjMsIDE4OCwgNjIsIDU3LCAzLCAyNTMsIDg5LCAyMjIsIDIxMiwgNjIsIDU3LCAzLCAyNTMsIDkxLCAyMTcsIDEwMywgNjIsIAotICAgIDU3LCAzLCAyNTMsIDcxLCAyMTUsIDc4LCA2MiwgNTcsIDMsIDI1MywgNjgsIDEwNSwgNjIsIDU3LCAxNiwgMjUzLCAxMzgsIAotICAgIDYyLCA1NywgMTYsIDI1MywgMTM3LCA2MiwgNTcsIDE2LCAyNTMsIDEzNCwgNjIsIDU3LCAxNiwgMjUzLCAxMjIsIDYyLCA1NywgCi0gICAgMTYsIDI1MywgMTEwLCA2MiwgNTcsIDE2LCAyNTMsIDEwOCwgNjIsIDU3LCAxNiwgMjUzLCAxMDEsIDYyLCA1NywgMTYsIAotICAgIDI1MywgOTQsIDYyLCA1NywgMTYsIDI1MywgOTMsIDYyLCA1NywgMTYsIDI1MywgNzgsIDYyLCA1NywgMTYsIDI1MywgNzUsIAotICAgIDYyLCA1NywgMTYsIDI1MywgNzQsIDYyLCA1NywgMTYsIDI1MywgNzIsIDYyLCA1NywgMTYsIDI1MywgNzAsIDYyLCA1NywgCi0gICAgMTA2LCAyNTMsIDY3LCAyMzEsIDE5MCwgNjIsIDU3LCAxMDYsIDI1MywgNjYsIDIxMSwgMjIxLCA2MiwgNTcsIDEwNiwgMjUzLCAKLSAgICA2NSwgMjQ4LCA4MiwgNjIsIDU3LCAxMDYsIDI1MywgNjQsIDI0NSwgMTAzLCA2MiwgNTcsIDEwNiwgMjUzLCA2MywgMjMxLCAKLSAgICAxNjQsIDYyLCA1NywgMTA2LCAyNTMsIDYyLCAyMTgsIDE2NCwgNjIsIDU3LCAxMDYsIDI1MywgNjEsIDI0NSwgNDUsIDYyLCAKLSAgICA1NywgMTA2LCAyNTMsIDYwLCAyMjMsIDE1NiwgNjIsIDU3LCAxMDYsIDI1MywgNTksIDIyMCwgNjQsIDYyLCA1NywgMTA2LCAKLSAgICAyNTMsIDU4LCAyNDEsIDI0NCwgNjIsIDU3LCAxMDYsIDI1MywgNTcsIDIxOSwgMjcsIDYyLCA1NywgMTA2LCAyNTMsIDU2LCAKLSAgICAyNTEsIDIxMSwgNjIsIDU3LCAxMDYsIDI1MywgNTUsIDI0OSwgMTUzLCA2MiwgNTcsIDEwNiwgMjUzLCA1NCwgMjUxLCAxMjMsIAotICAgIDYyLCA1NywgMTA2LCAyNTMsIDUzLCAyMTIsIDIsIDYyLCA1NywgMTA2LCAyNTMsIDUyLCAyNTIsIDE0NCwgNjIsIDU3LCAKLSAgICAxMDYsIDI1MywgNTEsIDIyNiwgMjA5LCA2MiwgNTcsIDEwNiwgMjUzLCA1MCwgMjE5LCAwLCA2MiwgNTcsIDEwNiwgMjUzLCAKLSAgICA0OSwgMjQ5LCA3NiwgNjIsIDU3LCAyMzAsIDE0NywgMjUzLCA0OCwgMjM0LCAyMzAsIDYyLCA1NywgMjMwLCAxNDcsIDI1MywgCi0gICAgNDcsIDIzNCwgMjM4LCA2MiwgNTcsIDEwNiwgMjUzLCA0NiwgMjI2LCAyMjIsIDYyLCA1NywgMTA2LCAyNTMsIDQ1LCAyMTEsIAotICAgIDIzNiwgNjIsIDU3LCAxMDYsIDI1MywgNDQsIDYyLCA1NywgMjMwLCAxNDcsIDI1MywgNDMsIDI1NCwgMjUsIDYyLCA1NywgCi0gICAgMjMwLCAxNDcsIDI1MywgNDIsIDIzMSwgNTcsIDYyLCA1NywgMTA2LCAyNTMsIDQxLCAyNTEsIDE0MiwgNjIsIDU3LCAxMDYsIAotICAgIDI1MywgNDAsIDI0MiwgMTczLCA2MiwgNTcsIDEwNiwgMjUzLCAzOSwgNjIsIDU3LCAxMDYsIDI1MywgMzgsIDIxMSwgMjEyLCAKLSAgICA2MiwgNTcsIDEwNiwgMjUzLCAzNywgNjIsIDU3LCAxMDYsIDI1MywgMzYsIDYyLCA1NywgMTA2LCAyNTMsIDM1LCAyNDAsIAotICAgIDI1NSwgNjIsIDU3LCAxMDYsIDI1MywgMzQsIDYyLCA1NywgMTA2LCAyNTMsIDMzLCA2MiwgNTcsIDEwNiwgMjUzLCAzMiwgCi0gICAgNjIsIDU3LCAyMzAsIDE0NywgMjUzLCAzMCwgMjE1LCA5MiwgNjIsIDU3LCAxMDYsIDI1MywgMjksIDYyLCA1NywgMTA2LCAKLSAgICAyNTMsIDI4LCA2MiwgNTcsIDEwNiwgMjUzLCAyNywgMjUwLCAyLCA2MiwgNTcsIDEwNiwgMjUzLCAyNiwgNjIsIDU3LCAxMDYsIAotICAgIDI1MywgMjUsIDYyLCA1NywgMTA2LCAyNTMsIDI0LCAyNDMsIDEwMCwgNjIsIDU3LCAxMDYsIDI1MywgMjMsIDI1NCwgMTIsIAotICAgIDYyLCA1NywgMTA2LCAyNTMsIDIyLCA2MiwgNTcsIDEwNiwgMjUzLCAyMSwgNjIsIDU3LCAxMDYsIDI1MywgMjAsIDYyLCA1NywgCi0gICAgMTA2LCAyNTMsIDE5LCA2MiwgNTcsIDEwNiwgMjUzLCAxOCwgNjIsIDU3LCAxMDYsIDI1MywgMTcsIDYyLCA1NywgMTA2LCAKLSAgICAyNTMsIDE2LCA2MiwgNTcsIDEwNiwgMjUzLCAxNSwgNjIsIDU3LCAxMDYsIDI1MywgMTQsIDYyLCA1NywgMTA2LCAyNTMsIAotICAgIDEzLCAyMzAsIDEzOSwgNjIsIDU3LCAxMDYsIDI1MywgMTIsIDYyLCA1NywgMTA2LCAyNTMsIDExLCAyMTUsIDIzNiwgNjIsIAotICAgIDU3LCAxMDYsIDI1MywgMTAsIDYyLCA1NywgMTA2LCAyNTMsIDksIDYyLCA1NywgMTA2LCAyNTMsIDgsIDYyLCA1NywgMTA2LCAKLSAgICAyNTMsIDcsIDYyLCA1NywgMTA2LCAyNTMsIDYsIDYyLCA1NywgMTA2LCAyNTMsIDUsIDYyLCA1NywgMTA2LCAyNTMsIDQsIAotICAgIDYyLCA1NywgMTA2LCAyNTMsIDMsIDYyLCA1NywgMTA2LCAyNTMsIDIsIDYyLCA1NywgMTA2LCAyNTMsIDEsIDYyLCA1NywgCi0gICAgMTA2LCAyNTMsIDAsIDYyLCA1NywgMTA2LCAyNTIsIDI1NSwgMjQxLCAyMTgsIDYyLCA1NywgMTA2LCAyNTIsIDIzNCwgMjQ0LCAKLSAgICAzNiwgNjIsIDU3LCAxMDYsIDI1MiwgMjMxLCAyNTIsIDEyNCwgNjIsIDU3LCAxMDYsIDI1MiwgMjI2LCAyMTksIDcsIDYyLCAKLSAgICA1NywgMTA2LCAyNTIsIDIyNSwgNzUsIDYyLCA1NywgMTA2LCAyNTIsIDIyNCwgNjIsIDU3LCAxMDYsIDI1MiwgMjIzLCAyMTcsIAotICAgIDIzNywgNjIsIDU3LCAxMDYsIDI1MiwgMjIyLCA2MiwgNTcsIDEwNiwgMjUyLCAyMjEsIDYyLCA1NywgMTA2LCAyNTIsIDIyMCwgCi0gICAgMjExLCAyNTQsIDI1MCwgMTQ3LCA2MiwgNTcsIDEwNiwgMjUyLCAyMTksIDI1MCwgMTQ3LCA2MiwgNTcsIDEwNiwgMjUyLCAKLSAgICAyMTgsIDI1MCwgMTQ4LCAyNDQsIDcsIDYyLCA1NywgMTA2LCAyNTIsIDIxNywgMjEyLCAwLCA2MiwgNTcsIDEwNiwgMjUyLCAKLSAgICAyMTYsIDYyLCA1NywgMTA2LCAyNTIsIDIxNSwgNjIsIDU3LCAyMzAsIDE0NywgMjUyLCAyMTQsIDI0NywgMjA2LCA2MiwgNTcsIAotICAgIDEwNiwgMjUyLCAyMTMsIDYyLCA1NywgMTA2LCAyNTIsIDIxMiwgNjIsIDU3LCAxMDYsIDI1MiwgMjEwLCA2MiwgNTcsIDEwNiwgCi0gICAgMjUyLCAyMDksIDYyLCA1NywgMTA2LCAyNTIsIDIwOCwgNjIsIDU3LCAxMDYsIDI1MiwgMjA3LCAyNDgsIDE2NywgNjIsIDU3LCAKLSAgICAxMDYsIDI1MiwgMjA2LCA2MiwgNTcsIDEwNiwgMjUyLCAyMDUsIDYyLCA1NywgMTA2LCAyNTIsIDIwNCwgNjIsIDU3LCAxMDYsIAotICAgIDI1MiwgMjAzLCA2MiwgNTcsIDEwNiwgMjUyLCAyMDIsIDYyLCA1NywgMTA2LCAyMTMsIDE4NiwgMjUzLCAzMSwgNjIsIDU3LCAKLSAgICAxMDYsIDIxMywgMTg2LCAyNTIsIDI1NCwgNjIsIDU3LCAxMDYsIDIxMywgMTg2LCAyNTIsIDI1MywgNjIsIDU3LCAxMDYsIAotICAgIDIxMywgMTg2LCAyNTIsIDI1MiwgNjIsIDU3LCAxMDYsIDIxMywgMTg2LCAyNTIsIDI1MSwgNjIsIDU3LCAxMDYsIDIxMywgCi0gICAgMTg2LCAyNTIsIDI1MCwgNjIsIDU3LCAxMDYsIDIxMywgMTg2LCAyNTIsIDI0OSwgNjIsIDU3LCAxMDYsIDIxMywgMTg2LCAKLSAgICAyNTIsIDI0OCwgNjIsIDU3LCAxMDYsIDIxMywgMTg2LCAyNTIsIDI0NywgNjIsIDU3LCAxMDYsIDIxMywgMTg2LCAyNTIsIAotICAgIDI0NiwgNjIsIDU3LCAxMDYsIDIxMywgMTg2LCAyNTIsIDI0NSwgNjIsIDU3LCAxMDYsIDIxMywgMTg2LCAyNTIsIDI0NCwgCi0gICAgNjIsIDU3LCAxMDYsIDIxMywgMTg2LCAyNTIsIDI0MywgNjIsIDU3LCAxMDYsIDIxMywgMTg2LCAyNTIsIDI0MiwgNjIsIDU3LCAKLSAgICAxMDYsIDIxMywgMTg2LCAyNTIsIDI0MSwgNjIsIDU3LCAxMDYsIDIxMywgMTg2LCAyNTIsIDI0MCwgNjIsIDU3LCAxMDYsIAotICAgIDIxMywgMTg2LCAyNTIsIDIzOSwgNjIsIDU3LCAxMDYsIDIxMywgMTg2LCAyNTIsIDIzOCwgNjIsIDU3LCAxMDYsIDIxMywgCi0gICAgMTg2LCAyNTIsIDIzNywgNjIsIDU3LCAxMDYsIDIxMywgMTg2LCAyNTIsIDIzNiwgNjIsIDU3LCAxMDYsIDIxMywgMTg2LCAKLSAgICAyNTIsIDIzNSwgNjIsIDU3LCAxMDYsIDIxMywgMTg2LCAyNTIsIDIzMywgNjIsIDU3LCAxMDYsIDIxMywgMTg2LCAyNTIsIAotICAgIDIzMiwgNjIsIDU3LCAxMDYsIDIxMywgMTg2LCAyNTIsIDIzMCwgNjIsIDU3LCAxMDYsIDIxMywgMTg2LCAyNTIsIDIyOSwgCi0gICAgNjIsIDU3LCAxMDYsIDIxMywgMTg2LCAyNTIsIDIyOCwgNjIsIDU3LCAxMDYsIDIxMywgMTg2LCAyNTIsIDIyNywgNjIsIDU3LCAKLSAgICAxMDYsIDIxMywgMTg2LCAyNTIsIDIxMSwgNjIsIDU3LCAxMDYsIDIxMywgMTg2LCAyNTIsIDIwMSwgMjU0LCAyNDUsIDIxMSwgCi0gICAgMjA5LCAyMjAsIDE0MCwgMjMyLCAyMTksIDI1NCwgMjQ1LCAyMTEsIDIwOSwgMjIwLCAxNDAsIDI0NywgMTI4LCAyNTQsIAotICAgIDI0NSwgMjUwLCAxMzgsIDc5LCAyNTQsIDI0NSwgNTQsIDExMSwgMjU0LCAyNDUsIDU0LCAxMDUsIDI1NCwgMjQ1LCA1NCwgCi0gICAgMTU4LCAyNTQsIDI0NSwgNTQsIDE2MSwgMjU0LCAyNDUsIDU0LCAxOTAsIDI1NCwgMjQ1LCA1NCwgMTk1LCAyNTQsIDI0NSwgCi0gICAgNTQsIDE5OSwgMjU0LCAyNDUsIDU0LCAxOTYsIDI1NCwgMjQ1LCA1NCwgMjAxLCAyNTQsIDI0NSwgNTQsIDIxNiwgMjQ4LCAKLSAgICAyNTQsIDI0NSwgNTQsIDIxNSwgNzMsIDI1NCwgMjQ1LCA1NCwgMjE2LCAxNjMsIDI1NCwgMjQ1LCA1NCwgMjQ0LCAyMywgCi0gICAgMjU0LCAyNDUsIDU0LCAyNDQsIDEyMiwgMjU0LCAyNDUsIDU0LCAyMTksIDExMywgMjU0LCAyNDUsIDU0LCAyMjAsIDExOCwgCi0gICAgMjU0LCAyNDUsIDU0LCAyNDUsIDE5MiwgMjU0LCAyNDUsIDU0LCAyMjgsIDIwMCwgMjU0LCAyNDUsIDU0LCAxMjMsIDI0MCwgCi0gICAgMjE3LCAyNTQsIDI0NSwgNTQsIDExMywgMjQwLCAyMTcsIDI1NCwgMjQ1LCA1NCwgMTM0LCAyNDAsIDIxNywgMjU0LCAyNDUsIAotICAgIDU0LCAyNDQsIDE5LCAyNDAsIDIxNywgMjU0LCAyNDUsIDU0LCAyNDQsIDg5LCAyNDAsIDIxNywgMjU0LCAyNDUsIDU0LCAKLSAgICAyMTksIDEyNywgMjQwLCAyMTcsIDI1NCwgMjQ1LCA1NCwgMjIwLCAxMjQsIDI0MCwgMjE3LCAyNTQsIDI0NSwgNTQsIDI0NSwgCi0gICAgMjAxLCAyNDAsIDIxNywgMjU0LCAyNDUsIDU0LCAyMjgsIDIwNSwgMjQwLCAyMTcsIDI1NCwgMjQ1LCA1NCwgMTIzLCAyMTYsIAotICAgIDE0OCwgMjU0LCAyNDUsIDU0LCAxMTMsIDIxNiwgMTQ4LCAyNTQsIDI0NSwgNTQsIDEzNCwgMjE2LCAxNDgsIDI1NCwgMjQ1LCAKLSAgICA1NCwgMjQ0LCAxOSwgMjE2LCAxNDgsIDI1NCwgMjQ1LCA1NCwgMjQ0LCA4OSwgMjE2LCAxNDgsIDI1NCwgMjQ1LCA1NCwgCi0gICAgMjE5LCAxMjcsIDIxNiwgMTQ4LCAyNTQsIDI0NSwgNTQsIDIyMCwgMTI0LCAyMTYsIDE0OCwgMjU0LCAyNDUsIDU0LCAyNDUsIAotICAgIDIwMSwgMjE2LCAxNDgsIDI1NCwgMjQ1LCA1NCwgMjI4LCAyMDUsIDIxNiwgMTQ4LCAyNTQsIDI0NSwgNTQsIDIxNiwgMjQ5LCAKLSAgICAyMTYsIDE0OCwgMjU0LCAyNDUsIDU0LCAyMTUsIDc0LCAyMTYsIDE0OCwgMjU0LCAyNDUsIDU0LCAyMTYsIDE2NCwgMjE2LCAKLSAgICAxNDgsIDI1NCwgMjQ1LCA1NCwgMjQ0LCAyNCwgMjE2LCAxNDgsIDI1NCwgMjQ1LCA1NCwgMjQ0LCAxMjMsIDIxNiwgMTQ4LCAKLSAgICAyNTQsIDI0NSwgNTQsIDIxOSwgMTE0LCAyMTYsIDE0OCwgMjU0LCAyNDUsIDU0LCAyMjAsIDExOSwgMjE2LCAxNDgsIDI1NCwgCi0gICAgMjQ1LCA1NCwgMjQ1LCAxOTMsIDIxNiwgMTQ4LCAyNTQsIDI0NSwgNTQsIDIyOCwgMjAxLCAyMTYsIDE0OCwgMjU0LCAyNDUsIAotICAgIDIxMiwgMTQsIDI1MiwgMTM2LCAyMTQsIDE3MywgMjU0LCAyNDUsIDIxMiwgMTQsIDI0NCwgMTAwLCAyMTgsIDYwLCAyNTQsIAotICAgIDI0NSwgMjEyLCAxNCwgMjIxLCAxNzgsIDIxOCwgNjAsIDI1NCwgMjQ1LCAyMTIsIDE0LCAyMTYsIDE3MCwgMjE4LCA2MCwgCi0gICAgMjU0LCAyNDUsIDIxMiwgMTQsIDI0NCwgMTIsIDIxOCwgNjAsIDI1NCwgMjQ1LCAyNDYsIDg5LCAyMzEsIDk1LCAyNDQsIAotICAgIDEwMCwgMjE4LCA2MCwgMjU0LCAyNDUsIDIzMiwgMjA1LCAyMzEsIDk1LCAyNDQsIDEwMCwgMjE4LCA2MCwgMjU0LCAyNDUsIAotICAgIDIzMSwgOTUsIDIyMSwgMTc4LCAyMTgsIDYwLCAyNTQsIDI0NSwgMjMxLCA5NSwgMjE2LCAxNzAsIDIxOCwgNjAsIDI2LCAKLSAgICAyNTUsIDE1LCAyNTMsIDIwMiwgMTIzLCAyMjQsIDI0LCAyNiwgMjU1LCAxNSwgMjUzLCAyMDIsIDEyMywgMjQyLCAzNCwgMjYsIAotICAgIDI1NSwgMTUsIDI1MywgMjAyLCAxMjMsIDI0NiwgMTA4LCAyNiwgMjU1LCAxNSwgMjUzLCAyMDIsIDE5MCwgMjYsIDI1NSwgCi0gICAgMTUsIDI1MywgMjAyLCAyNDQsIDEyMiwgMjYsIDI1NSwgMTUsIDI1MywgMjAyLCAyNDQsIDg5LCAyNDAsIDIxNywgMjYsIAotICAgIDI1NSwgMTUsIDI1MywgMjAyLCAyNDQsIDg5LCAyMTYsIDE0OCwgMjYsIDI1NSwgMTUsIDI1MywgMjAyLCAyNDQsIDEyMywgCi0gICAgMjE2LCAxNDgsIDI2LCAyNTUsIDE1LCAyNTMsIDIwMiwgMjQ0LCA4OSwgMjE3LCA2OCwgMjYsIDI1NSwgMTUsIDI1MywgMjAyLCAKLSAgICAyMTYsIDI0OSwgMjE3LCA2OCwgMjYsIDI1NSwgMTUsIDI1MywgMjAyLCAyNDQsIDEyMywgMjE3LCA2OCwgMjYsIDI1NSwgMTUsIAotICAgIDI1MywgMjAyLCAxMjMsIDI0MCwgMjE4LCAyMTcsIDY4LCAyNiwgMjU1LCAxNSwgMjUzLCAyMDIsIDI0NCwgODksIDI0MCwgCi0gICAgMjE4LCAyMTcsIDY4LCAyNiwgMjU1LCAxNSwgMjUzLCAyMDIsIDEyMywgMjE2LCAxNDksIDIxNywgNjgsIDI2LCAyNTUsIDE1LCAKLSAgICAyNTMsIDIwMiwgMjQ0LCA4OSwgMjE2LCAxNDksIDIxNywgNjgsIDI2LCAyNTUsIDE1LCAyNTMsIDIwMiwgMjQ0LCA4OSwgCi0gICAgMjE4LCAxNTIsIDI2LCAyNTUsIDE1LCAyNTMsIDIwMiwgMjE2LCAyNDksIDIxOCwgMTUyLCAyNiwgMjU1LCAxNSwgMjUzLCAKLSAgICAyMDIsIDI0NCwgMTIzLCAyMTgsIDE1MiwgMjYsIDI1NSwgMTUsIDI1MywgMjAyLCAxMjMsIDI0MCwgMjE4LCAyMTgsIDE1MiwgCi0gICAgMjYsIDI1NSwgMTUsIDI1MywgMjAyLCAyNDQsIDg5LCAyNDAsIDIxOCwgMjE4LCAxNTIsIDI2LCAyNTUsIDE1LCAyNTMsIAotICAgIDIwMiwgMTIzLCAyMTYsIDE0OSwgMjE4LCAxNTIsIDI2LCAyNTUsIDE1LCAyNTMsIDIwMiwgMjE2LCAyNDksIDIxNiwgMTQ5LCAKLSAgICAyMTgsIDE1MiwgMjYsIDI1NSwgMTUsIDI1MywgMjAyLCAyNDQsIDEyMywgMjE2LCAxNDksIDIxOCwgMTUyLCAyNiwgMjU1LCAKLSAgICAxNSwgMjUzLCAyMDIsIDIxNiwgMjQ5LCAyMzAsIDE2OSwgMjYsIDI1NSwgMTUsIDI0MSwgMjEyLCAxMjMsIDIyNSwgMzQsIAotICAgIDI2LCAyNTUsIDE1LCAyMTYsIDE4MiwgMTExLCAyNiwgMjU1LCAxNSwgMjQxLCAyMDgsIDExMSwgMjYsIDI1NSwgMTUsIDI0NSwgCi0gICAgMTEyLCAxMDUsIDI2LCAyNTUsIDE1LCAyMTYsIDE4MiwgMTA1LCAyNiwgMjU1LCAxNSwgMjQ5LCA3MywgMTEzLCAyNDYsIAotICAgIDEwNywgMjYsIDI1NSwgMTUsIDI0NSwgMTEyLCAxMTMsIDI0NiwgMTA3LCAyNiwgMjU1LCAxNSwgMjE1LCAyMDQsIDE5MCwgCi0gICAgMjYsIDI1NSwgMTUsIDIxNSwgMjA0LCAyMTYsIDI0OCwgMjYsIDI1NSwgMTUsIDIxNSwgMjA0LCAyMTYsIDI0OSwgMjU0LCAKLSAgICAxNDksIDE3LCAyNiwgMjU1LCAxNSwgMjQxLCAyMDgsIDIxNiwgMjQ4LCAyNiwgMjU1LCAxNSwgMjMxLCA0NiwgMjE2LCAyNDgsIAotICAgIDI2LCAyNTUsIDE1LCAyMTYsIDE4MiwgMjE2LCAyNDgsIDI2LCAyNTUsIDE1LCAyMTYsIDE4MiwgMjE2LCAxNjMsIDI2LCAKLSAgICAyNTUsIDE1LCAyMTUsIDIwNCwgMjQ0LCAxMjIsIDI2LCAyNTUsIDE1LCAyMTUsIDIwNCwgMjQ0LCAxMjMsIDI1NCwgMTQ5LCAKLSAgICAxNywgMjYsIDI1NSwgMTUsIDI0MSwgMjA4LCAyNDQsIDEyMiwgMjYsIDI1NSwgMTUsIDIxNiwgMTgyLCAyNDQsIDEyMiwgMjYsIAotICAgIDI1NSwgMTUsIDIxNiwgMTgyLCAxMjMsIDI0MCwgMjE3LCAyNiwgMjU1LCAxNSwgMjE2LCAxODIsIDEzNCwgMjQwLCAyMTcsIAotICAgIDI2LCAyNTUsIDE1LCAyNDUsIDExMiwgMjQ0LCA4OSwgMjQwLCAyMTcsIDI2LCAyNTUsIDE1LCAyMTUsIDIwNCwgMjQ0LCA4OSwgCi0gICAgMjQwLCAyMTcsIDI2LCAyNTUsIDE1LCAyMTYsIDE4MiwgMjQ0LCA4OSwgMjQwLCAyMTcsIDI2LCAyNTUsIDE1LCAyNTAsIAotICAgIDIzNSwgMjQ0LCA4OSwgMjQwLCAyMTcsIDI2LCAyNTUsIDE1LCAyMjksIDE4NywgMjQ0LCA4OSwgMjQwLCAyMTcsIDI2LCAKLSAgICAyNTUsIDE1LCAyMTYsIDE4MiwgMTIzLCAyMTYsIDE0OCwgMjYsIDI1NSwgMTUsIDIxNiwgMTgyLCAyNDQsIDg5LCAyMTYsIAotICAgIDE0OCwgMjYsIDI1NSwgMTUsIDI0OCwgNjUsIDI0NCwgODksIDIzMCwgMTY5LCAyNiwgMjU1LCAxNSwgMjE4LCAxMjAsIDI0NCwgCi0gICAgMTIzLCAyMzAsIDE2OSwgMjYsIDEyMywgMTYzLCA1MCwgMjYsIDEyMywgMTYzLCA1LCAyNTQsIDE0OSwgMTcsIDI2LCAxMTMsIAotICAgIDIxNiwgMTY4LCA1MCwgMjYsIDEzNCwgMjI0LCAyMywgNTAsIDI2LCAyMTEsIDQ1LCA1MCwgMjYsIDIxNywgNjksIDUwLCAyNiwgCi0gICAgMjQ2LCAxMDksIDUwLCAyNiwgMjI2LCAyNTAsIDUwLCAyNiwgMTEzLCAyMjYsIDI0OSwgNTAsIDI2LCAxMzQsIDIyNiwgMjQ5LCAKLSAgICA1MCwgMjYsIDI0NCwgMTksIDIyNiwgMjQ5LCA1MCwgMjYsIDI0NCwgODksIDIyNiwgMjQ5LCA1MCwgMjYsIDIzMSwgNDAsIAotICAgIDUwLCAyNiwgMjMzLCAxNjMsIDI1MiwgMTM2LCA1MCwgMjYsIDIzMiwgMjAwLCA1MCwgMjYsIDIyNiwgMTM1LCA1MCwgMjYsIAotICAgIDIxMSwgMTU5LCA1MCwgMjYsIDI1MywgMjUxLCA1MCwgMjYsIDI1NCwgOCwgNTAsIDI2LCAyNDIsIDE1MSwgNTAsIDI2LCAKLSAgICAyMTUsIDE4NywgMjUyLCAxMzYsIDUwLCAyNiwgMjEwLCA4NywgNTAsIDIyMiwgMjAwLCAyMjAsIDExNSwgNTAsIDIyMiwgCi0gICAgMjAwLCAyMTQsIDE4NSwgNTAsIDIyMiwgMjAwLCAyMjAsIDE0NCwgNTAsIDIyMiwgMjAwLCAyMjAsIDExMywgNTAsIDIyMiwgCi0gICAgMjAwLCAyNDcsIDIyMSwgMjIwLCAxMTMsIDUwLCAyMjIsIDIwMCwgMjE5LCAxNzAsIDUwLCAyMjIsIDIwMCwgMjQ4LCA2MSwgCi0gICAgNTAsIDIyMiwgMjAwLCAyMjQsIDksIDUwLCAyMjIsIDIwMCwgMjIwLCAxMzEsIDUwLCAyMjIsIDIwMCwgMjQ2LCA2OCwgNTAsIAotICAgIDIyMiwgMjAwLCAyNTMsIDI0NiwgNTAsIDIyMiwgMjAwLCAyNTAsIDE3OSwgNTAsIDIyNSwgMTQ2LCAyNDcsIDE5OSwgNSwgCi0gICAgMjI1LCAyMTYsIDIyNSwgMTQ2LCAyNDcsIDE5OSwgNSwgMjI1LCAyNywgMjQxLCAyNDIsIDIyNSwgMTQ2LCAyNDcsIDE5OSwgCi0gICAgNSwgMjE3LCA0NiwgMjQxLCAyNDIsIDIyNSwgMTQ2LCAyNDcsIDE5OSwgNSwgMjUwLCAyNTUsIDIyNSwgMTQ2LCAyNDcsIAotICAgIDE5OSwgNSwgMjUwLCAxMDksIDIyNSwgMTQ2LCAyNDcsIDE5OSwgNSwgMjExLCAyMjEsIDIyNSwgMTQ2LCAyNDcsIDE5OSwgNSwgCi0gICAgMjQxLCAyMTgsIDIyNSwgMTQ2LCAyNDcsIDE5OSwgNSwgMjQzLCA5MiwgMjI1LCAxNDYsIDI0NywgMTk5LCA1LCAyMTYsIAotICAgIDExNywgMjI1LCAxNDYsIDI0NywgMTk5LCA1LCA3NSwgMjI1LCAxNDYsIDI0NywgMTk5LCA1LCAyNTEsIDE3NywgMjI1LCAKLSAgICAxNDYsIDI0NywgMTk5LCA1LCAyMjAsIDMxLCAyMjUsIDE0NiwgMjQ3LCAxOTksIDUsIDI0OSwgMjUyLCAyMjUsIDE0NiwgCi0gICAgMjQ3LCAxOTksIDUsIDIzMSwgMTg5LCAyMjUsIDE0NiwgMjQ3LCAxOTksIDUsIDIzMSwgMTQxLCAyMjUsIDE0NiwgMjQ3LCAKLSAgICAxOTksIDUsIDIyMSwgMjE4LCAyMjUsIDE0NiwgMjQ3LCAxOTksIDUsIDIzMiwgMjQzLCAyMjUsIDE0NiwgMjQ3LCAxOTksIDUsIAotICAgIDI1MSwgMTk2LCAyMjUsIDE0NiwgMjQ3LCAxOTksIDUsIDI1MCwgMjM5LCAyMjUsIDM4LCAyMjUsIDE0NiwgMjQ3LCAxOTksIAotICAgIDUsIDI0NywgMTQxLCAyMjUsIDE0NiwgMjQ3LCAxOTksIDUsIDI0OSwgMjMxLCAyMjUsIDE0NiwgMjQ3LCAxOTksIDUsIDIxOSwgCi0gICAgODksIDIyNSwgMTQ2LCAyNDcsIDE5OSwgNSwgMjQ5LCAyMzIsIDIyNSwgMTQ2LCAyNDcsIDE5OSwgNSwgMjUyLCA3MSwgMjI1LCAKLSAgICAxNDYsIDI0NywgMTk5LCA1LCAyMjAsIDE4LCAyMjUsIDE0NiwgMjQ3LCAxOTksIDUsIDI0MCwgMjU1LCAyMjUsIDE0NiwgCi0gICAgMjQ3LCAxOTksIDUsIDI0MSwgMTg1LCAyMjUsIDE0NiwgMjQ3LCAxOTksIDUsIDI1MSwgMTIwLCAyMzMsIDQyLCAyMjUsIAotICAgIDE0NiwgMjQ3LCAxOTksIDUsIDI1MCwgMjMyLCAyMjUsIDE0NiwgMjQ3LCAxOTksIDUsIDIyMywgMTU2LCAyMjUsIDE0NiwgCi0gICAgMjQ3LCAxOTksIDUsIDI0NSwgMjM4LCAyMjUsIDE0NiwgMjQ3LCAxOTksIDUsIDI0NiwgMTE1LCAyMjUsIDE0NiwgMjQ3LCAKLSAgICAxOTksIDUsIDIxNSwgMTA2LCAyMjUsIDE0NiwgMjQ3LCAxOTksIDUsIDI1MiwgNzQsIDIyNSwgMTQ2LCAyNDcsIDE5OSwgNSwgCi0gICAgMjI1LCAzOSwgMjE1LCAyMzYsIDIyNSwgMTQ2LCAyNDcsIDE5OSwgNSwgMjEzLCAxNTksIDIyNSwgMTQ2LCAyNDcsIDE5OSwgCi0gICAgNSwgMjI2LCAyMiwgMjI1LCAxNDYsIDI0NywgMTk5LCA1LCAyMjIsIDE5MiwgMjI1LCAxNDYsIDI0NywgMTk5LCA1LCAyMzIsIAotICAgIDIzMCwgMjI1LCAxNDYsIDI0NywgMTk5LCA1LCAyMjYsIDExOSwgMjUyLCAxOTIsIDIyNSwgMTQ2LCAyNDcsIDE5OSwgNSwgCi0gICAgMjQ0LCA1NiwgMjI1LCAxNDYsIDI0NywgMTk5LCA1LCAyNDIsIDE0NSwgMjI1LCAxNDYsIDI0NywgMTk5LCA1LCAyMTgsIAotICAgIDEyMSwgMjI1LCAxNDYsIDI0NywgMTk5LCA1LCA0LCAyNTMsIDE3NiwgMjI1LCAxNDYsIDI0NywgMTk5LCA1LCAyMTIsIDMyLCAKLSAgICAyNTIsIDE1NiwgMjI1LCAxNDYsIDI0NywgMTk5LCA1LCAzOCwgMjI2LCAyNTIsIDkxLCAyMzIsIDY1LCAxLCA2MSwgMjMyLCAKLSAgICA2NSwgMSwgNzYsIDIzMiwgNjUsIDEsIDI1MywgMTY2LCAyMzIsIDY1LCAxLCAyNTIsIDI3LCAyMzIsIDY1LCAxLCAyNDMsIAotICAgIDIwOSwgMjMyLCA2NSwgMSwgMjQ5LCA2OCwgMjMyLCA2NSwgMSwgNzQsIDIzMiwgNjUsIDEsIDIxMiwgOTgsIDIzMiwgNjUsIAotICAgIDEsIDIxMCwgMTU5LCAyMzIsIDY1LCAxLCAyMTYsIDIxMSwgMjMyLCA2NSwgMSwgMjM1LCAxNTAsIDIzMiwgNjUsIDEsIDIzNSwgCi0gICAgMjksIDIzMiwgNjUsIDEsIDIyNCwgOTksIDIzMiwgNjUsIDEsIDE1NiwgMjMyLCA2NSwgMSwgMTk0LCAyMzIsIDY1LCAxLCAKLSAgICAyMzAsIDMwLCAyMzIsIDY1LCAxLCAyMzAsIDE3MSwgMjMyLCA2NSwgMSwgMjI4LCAxMTYsIDIzMiwgNjUsIDEsIDY5LCAyMzIsIAotICAgIDY1LCAxLCAyMjYsIDEwOSwgMjMyLCA2NSwgMSwgMjM0LCA1MywgMjMyLCA2NSwgMSwgMTUzLCAyMzIsIDY1LCAxLCAyMjIsIAotICAgIDkzLCAyMzIsIDY1LCAxLCAyMTcsIDE1MywgMjMyLCA2NSwgMSwgMjE1LCAxNjAsIDIzMiwgNjUsIDEsIDI1NCwgMTMxLCAKLSAgICAyMzIsIDY1LCAxLCAyNDUsIDE1OCwgMjMyLCA2NSwgMSwgMjQyLCA2NywgMjMyLCA2NSwgMSwgMjExLCAxNzgsIDI1MCwgCi0gICAgMjQ1LCAxLCA2MSwgMjUwLCAyNDUsIDEsIDIyNiwgOTUsIDI1MCwgMjQ1LCAxLCAyNDksIDY4LCAyNTAsIDI0NSwgMSwgMTU2LCAKLSAgICAyNTAsIDI0NSwgMSwgMjE0LCAxMTYsIDI1MCwgMjQ1LCAxLCAxNTMsIDI1MCwgMjQ1LCAxLCAyMzMsIDY4LCAyNTAsIDI0NSwgCi0gICAgMSwgMjU1LCA4NCwgMjUwLCAyNDUsIDEsIDIyNCwgOTksIDI1MCwgMjQ1LCAxLCAyNTMsIDE2NiwgMjUwLCAyNDUsIDEsIAotICAgIDE5NCwgMjUwLCAyNDUsIDEsIDc4LCAyNTAsIDI0NSwgMSwgMjQ4LCAyMzEsIDI1MCwgMjQ1LCAxLCAyMTcsIDE1MywgMjUwLCAKLSAgICAyNDUsIDEsIDIyMCwgMTA2LCAyNTAsIDI0NSwgMSwgMjIwLCAxMDUsIDI1MCwgMjQ1LCAxLCAyMjIsIDkzLCAyNTAsIDI0NSwgCi0gICAgMSwgMjUxLCA3MywgMjUwLCAyNDUsIDEsIDY5LCAyNTAsIDI0NSwgMSwgMjI4LCAxMTYsIDI1MCwgMjQ1LCAxLCAyMTEsIAotICAgIDE3OCwgMjUwLCAyNDUsIDEsIDIzMCwgMzAsIDI1MCwgMjQ1LCAxLCAyMTUsIDE1OSwgMjUwLCAyNDUsIDEsIDIyNiwgMTA5LCAKLSAgICAyNTAsIDI0NSwgMSwgMjE4LCAyMjgsIDI1MCwgMjQ1LCAxLCA3NCwgMjUwLCAyNDUsIDEsIDc2LCAyNTAsIDI0NSwgMSwgCi0gICAgMjE0LCAxMTMsIDI1MCwgMjQ1LCAxLCAyMzUsIDI5LCAyNTAsIDI0NSwgMSwgMjM1LCAyMCwgMjUwLCAyNDUsIDEsIDIyOSwgCi0gICAgMTU1LCAyNTAsIDI0NSwgMSwgMjE0LCAxMTgsIDI1MCwgMjQ1LCAxLCAyNDMsIDIwOSwgMjUwLCAyNDUsIDEsIDI0MywgMTQ0LCAKLSAgICAyNTAsIDI0NSwgMSwgMjE4LCAxNzAsIDI1MCwgMjQ1LCAxLCAyMTgsIDE2OSwgMjUwLCAyNDUsIDEsIDIyOSwgODQsIDI1MCwgCi0gICAgMjQ1LCAxLCAyMzYsIDQwLCAyNTAsIDI0NSwgMSwgMjUxLCA3MiwgMjUwLCAyNDUsIDEsIDIxNSwgMTYwLCAyNTAsIDI0NSwgCi0gICAgMSwgMjE0LCAxMTUsIDI1MCwgMjQ1LCAxLCAyMjIsIDE4MiwgMjUwLCAyNDUsIDEsIDIzMSwgMTM0LCAyNTAsIDI0NSwgMSwgCi0gICAgMjMxLCAxMzMsIDI1MCwgMjQ1LCAxLCAyMzEsIDEzMiwgMjUwLCAyNDUsIDEsIDIzMSwgMTMxLCAyNTAsIDI0NSwgMSwgMjMzLCAKLSAgICA2NywgMjUwLCAyNDUsIDEsIDI0NSwgMjQyLCAyNTAsIDI0NSwgMSwgMjE0LCAxMTQsIDU1LCAzMiwgMSwgNjEsIDU1LCAzMiwgCi0gICAgMSwgMjUyLCA4MywgNTUsIDMyLCAxLCAyMzQsIDE4OCwgNTUsIDMyLCAxLCAyNDgsIDk4LCA1NSwgMzIsIDEsIDc2LCA1NSwgCi0gICAgMzIsIDEsIDIxMywgMjU1LCA1NSwgMzIsIDEsIDIxMCwgOTQsIDU1LCAzMiwgMSwgMjQxLCAyNDUsIDU1LCAzMiwgMSwgMjE2LCAKLSAgICAxOTYsIDU1LCAzMiwgMSwgNzQsIDU1LCAzMiwgMSwgMTc2LCA1NSwgMzIsIDEsIDI0NSwgMTgyLCA1NSwgMzIsIDEsIDI0NSwgCi0gICAgMTY3LCA1NSwgMzIsIDEsIDI0NSwgMTU4LCA1NSwgMzIsIDEsIDI0NSwgODMsIDU1LCAzMiwgMSwgNzgsIDU1LCAzMiwgMSwgCi0gICAgMjI1LCAyMjQsIDU1LCAzMiwgMSwgMjIwLCA2NSwgNTUsIDMyLCAxLCAyMzMsIDIyMywgNTUsIDMyLCAxLCAyNDUsIDEwMCwgCi0gICAgNTUsIDMyLCAxLCAyNDUsIDkwLCA1NSwgMzIsIDEsIDIxNywgMjMsIDU1LCAzMiwgMSwgNjksIDU1LCAzMiwgMSwgMjQ1LCAKLSAgICAxODUsIDU1LCAzMiwgMSwgMjI1LCAxMzksIDU1LCAzMiwgMSwgMjM0LCAxMjUsIDU1LCAzMiwgMSwgMjQ1LCAyMTAsIDU1LCAKLSAgICAzMiwgMSwgMjQ1LCA5MiwgNTUsIDMyLCAxLCAyNTAsIDEzOSwgNTUsIDMyLCAxLCAyMzYsIDQwLCA1NSwgMzIsIDEsIDIxNCwgCi0gICAgMTE4LCA1NSwgMzIsIDIyNywgMjAyLCAxMTEsIDU1LCAzMiwgMjI3LCAyMDIsIDE5MCwgNTUsIDMyLCAyMjcsIDIwMiwgMjE2LCAKLSAgICAyNDgsIDU1LCAzMiwgMjI3LCAyMDIsIDI0NCwgMTIyLCAyNDIsIDE2MCwgMSwgMjU0LCAyMTMsIDI0MiwgMTYwLCAxLCAyNTIsIAotICAgIDE3MSwgMjQyLCAxNjAsIDEsIDI0MiwgMjE4LCAyNDIsIDE2MCwgMSwgMjQ4LCAyMTIsIDI0MiwgMTYwLCAxLCAyNTQsIDIwOSwgCi0gICAgMjQyLCAxNjAsIDEsIDIyNCwgODIsIDI0MiwgMTYwLCAxLCAyMzUsIDE2MSwgMjQyLCAxNjAsIDEsIDI0MiwgNDYsIDI0MiwgCi0gICAgMTYwLCAxLCAyMTYsIDE1OSwgMjQyLCAxNjAsIDEsIDI0NSwgMTkxLCAyNDIsIDE2MCwgMSwgMjMzLCAxOTYsIDI0MiwgMTYwLCAKLSAgICAxLCAyMzMsIDExOSwgMjQyLCAxNjAsIDEsIDIzMSwgMTg0LCAyNDIsIDE2MCwgMSwgMjI5LCAxODksIDI0MiwgMTYwLCAxLCAKLSAgICAyMzUsIDEyNSwgMjQyLCAxNjAsIDEsIDIxNCwgMTM2LCAyNDIsIDE2MCwgMSwgMjI2LCA3MywgMjQyLCAxNjAsIDEsIDIyOCwgCi0gICAgMjAwLCAyNDIsIDE2MCwgMSwgMjIzLCAxNjgsIDI0MiwgMTYwLCAxLCAyMjEsIDIyMCwgMjQyLCAxNjAsIDEsIDIxNywgNSwgCi0gICAgMjQyLCAxNjAsIDEsIDIxMSwgMjM0LCAyNDIsIDE2MCwgMSwgMjQ0LCAxODYsIDI0MiwgMTYwLCAxLCAyMzYsIDQ0LCAyNDIsIAotICAgIDE2MCwgMSwgMjQwLCAyMDYsIDI0MiwgMTYwLCAxLCAyMjYsIDE0MywgMjQyLCAxNjAsIDEsIDIyOCwgMjA1LCAyNDAsIDIxNywgCi0gICAgMjE0LCAyMDksIDEsIDI1NCwgMTU1LCAyMTQsIDIwOSwgMSwgMjUyLCAzNCwgMjE0LCAyMDksIDEsIDI0MywgMTE1LCAyMTQsIAotICAgIDIwOSwgMSwgMjM0LCAxMzgsIDIxNCwgMjA5LCAxLCAyNDgsIDYyLCAyMTQsIDIwOSwgMSwgMjQxLCA3NSwgMjE0LCAyMDksIAotICAgIDEsIDIxMSwgMjI3LCAyMTQsIDIwOSwgMSwgMjEwLCA4NSwgMjE0LCAyMDksIDEsIDI0MCwgMjQ4LCAyMTQsIDIwOSwgMSwgCi0gICAgMjE2LCAyMzEsIDIxNCwgMjA5LCAxLCAyMTAsIDIzMywgMjE0LCAyMDksIDEsIDIzNSwgMCwgMjE0LCAyMDksIDEsIDIyMCwgCi0gICAgMjIsIDIxNCwgMjA5LCAxLCAyMzMsIDEwNCwgMjE0LCAyMDksIDEsIDIzMSwgNzAsIDIxNCwgMjA5LCAxLCAyNDgsIDI5LCAKLSAgICAyMTQsIDIwOSwgMSwgMjI3LCAxOTgsIDIxNCwgMjA5LCAxLCAyMTAsIDEzLCAyMTQsIDIwOSwgMSwgMjIxLCAyNTAsIDIxNCwgCi0gICAgMjA5LCAxLCAyNTQsIDIwNSwgMjE0LCAyMDksIDEsIDIyNCwgMTUzLCAyMTQsIDIwOSwgMSwgMjIyLCAyNywgMjE0LCAyMDksIAotICAgIDEsIDIyNCwgMzgsIDIxNCwgMjA5LCAxLCAyMjMsIDE0NywgMjE0LCAyMDksIDEsIDIxNiwgMjAwLCAyMTQsIDIwOSwgMSwgCi0gICAgMjQyLCAyNTEsIDIxNCwgMjA5LCAxLCAxMTIsIDIxNCwgMjA5LCAxLCA3NCwgMjE0LCAyMDksIDEsIDY5LCAyMTQsIDIwOSwgCi0gICAgMSwgMjE4LCAxODEsIDIxNCwgMjA5LCAyMTEsIDIwOSwgMjQ3LCAxODAsIDU1LCAyMjUsIDE3MiwgNSwgNjEsIDU1LCAyMjUsIAotICAgIDE3MiwgNSwgNzQsIDU1LCAyMjUsIDE3MiwgNSwgNjksIDU1LCAyMjUsIDE3MiwgNSwgMTc2LCA1NSwgMjI1LCAxNzIsIDUsIAotICAgIDIzMywgMjIzLCA1NSwgMjI1LCAxNzIsIDUsIDI0MywgMTQyLCA1NSwgMjI1LCAxNzIsIDUsIDI0MiwgMTIwLCA1NSwgMjI1LCAKLSAgICAxNzIsIDUsIDIxMSwgMTY1LCA1NSwgMjI1LCAxNzIsIDUsIDI1MSwgNDEsIDU1LCAyMjUsIDE3MiwgNSwgMjM1LCAxNDcsIAotICAgIDU1LCAyMjUsIDE3MiwgNSwgMjM1LCAxMTQsIDU1LCAyMjUsIDE3MiwgNSwgMjE3LCAxMDYsIDU1LCAyMjUsIDE3MiwgNSwgCi0gICAgMjE1LCAxMTksIDU1LCAyMjUsIDE3MiwgNSwgMjQ4LCAyMjksIDU1LCAyMjUsIDE3MiwgNSwgMjQ4LCAxMSwgNTUsIDIyNSwgCi0gICAgMTcyLCA1LCAyNDYsIDg2LCA1NSwgMjI1LCAxNzIsIDUsIDIxNiwgMjA5LCA1NSwgMjI1LCAxNzIsIDUsIDE5MSwgNTUsIAotICAgIDIyNSwgMTcyLCA1LCAyNTIsIDE5OSwgNTUsIDIyNSwgMTcyLCA1LCAyNDQsIDIwNCwgNTUsIDIyNSwgMTcyLCA1LCAxOTgsIAotICAgIDU1LCAyMjUsIDE3MiwgNSwgMjI3LCAyNDIsIDU1LCAyMjUsIDE3MiwgNSwgMTg2LCA1NSwgMjI1LCAxNzIsIDUsIDIzMCwgCi0gICAgMjM1LCA1NSwgMjI1LCAxNzIsIDUsIDIzMCwgMTA3LCA1NSwgMjI1LCAxNzIsIDUsIDE5MiwgNTUsIDIyNSwgMTcyLCA1LCAKLSAgICAyMTQsIDI3LCA1NSwgMjI1LCAxNzIsIDUsIDIxMywgMTc2LCA1NSwgMjI1LCAxNzIsIDUsIDIwNSwgNTUsIDIyNSwgMTcyLCAKLSAgICA1LCAyMjIsIDE0MiwgNTUsIDIyNSwgMTcyLCA1LCAyMzMsIDE0MSwgNTUsIDIyNSwgMTcyLCA1LCAyMDYsIDU1LCAyMjUsIAotICAgIDE3MiwgNSwgMjEwLCAxMTYsIDU1LCAyMjUsIDE3MiwgNSwgMjIwLCAxMDQsIDU1LCAyMjUsIDE3MiwgNSwgMjE4LCAyMjUsIAotICAgIDU1LCAyMjUsIDE3MiwgNSwgMTYyLCA1NSwgMjI1LCAxNzIsIDUsIDI1MywgMTk0LCA1NSwgMjI1LCAxNzIsIDUsIDI1MywgCi0gICAgMTkzLCA1NSwgMjI1LCAxNzIsIDUsIDI1MywgMTkyLCA1NSwgMjI1LCAxNzIsIDUsIDIxMSwgMTQyLCA1NSwgMjI1LCAxNzIsIAotICAgIDUsIDI0OCwgMjA4LCA1NSwgMjI1LCAxNzIsIDUsIDI0OCwgMjA3LCA1NSwgMjI1LCAxNzIsIDUsIDI1MiwgMTc4LCA1NSwgCi0gICAgMjI1LCAxNzIsIDUsIDI1MSwgOTMsIDU1LCAyMjUsIDE3MiwgMjExLCAyMDksIDI0NywgMTgwLCA1NSwgMjI1LCAxNzIsIDU0LCAKLSAgICAxMTEsIDU1LCAyMjUsIDE3MiwgNTQsIDEwNSwgNTUsIDIyNSwgMTcyLCA1NCwgMjE2LCAyNDgsIDU1LCAyMjUsIDE3MiwgNTQsIAotICAgIDIxNSwgNzMsIDU1LCAyMjUsIDE3MiwgNTQsIDI0MCwgMjE3LCAxODEsIDYsIDEsIDIwMCwgNzQsIDE4MSwgNiwgMSwgMjAwLCAKLSAgICA3NiwgMTgxLCA2LCAxLCAyMDAsIDYxLCAxODEsIDYsIDEsIDIwMCwgMjU0LCAyMTgsIDE4MSwgNiwgMSwgMjAwLCA3OCwgCi0gICAgMTgxLCA2LCAxLCAyMDAsIDIyNiwgMTg3LCAxODEsIDYsIDEsIDIxOSwgMjUzLCA3NCwgMTgxLCA2LCAxLCAyMTksIDI1MywgCi0gICAgNzYsIDE4MSwgNiwgMSwgMjE5LCAyNTMsIDYxLCAxODEsIDYsIDEsIDIxOSwgMjUzLCAyNTQsIDIxOCwgMTgxLCA2LCAxLCAKLSAgICAyMTksIDI1MywgNzgsIDE4MSwgNiwgMSwgMjE5LCAyNTMsIDIyNiwgMTg3LCAxODEsIDYsIDEsIDI1MywgMTc1LCAxODEsIDYsIAotICAgIDEsIDIyNiwgMTIwLCAxODEsIDYsIDEsIDIxMSwgMTk1LCAxODEsIDYsIDEsIDIxMSwgNDQsIDE4MSwgNiwgMSwgMjQyLCA2NywgCi0gICAgMTgxLCA2LCAxLCAyMjUsIDIxNCwgMTgxLCA2LCAxLCAyNTIsIDc0LCAxODEsIDYsIDEsIDIxNywgMTIsIDE4MSwgNiwgMSwgCi0gICAgMjQ4LCA4NSwgMTgxLCA2LCAxLCAyNTAsIDEzNiwgMTgxLCA2LCAxLCAyMzUsIDEzMCwgMTgxLCA2LCAxLCAyMzQsIDE5NSwgCi0gICAgMTgxLCA2LCAxLCAyNDMsIDkwLCAxODEsIDYsIDEsIDI0NSwgMjEwLCAxODEsIDYsIDEsIDIxMywgMjUwLCAxODEsIDYsIDEsIAotICAgIDI0NSwgNjcsIDE4MSwgNiwgMSwgMjE2LCAxOTUsIDE4MSwgNiwgMSwgMjQ1LCA5MCwgMTgxLCA2LCAxLCAyMTAsIDkyLCAKLSAgICAxODEsIDYsIDEsIDI0NSwgODMsIDE4MSwgNiwgMSwgMjEwLCA3MywgMTgxLCA2LCAxLCAyNDUsIDEwMCwgMTgxLCA2LCAxLCAKLSAgICAyNDUsIDE4MiwgMTgxLCA2LCAxLCAyNDUsIDE2NywgMTgxLCA2LCAxLCAyNDUsIDE1OCwgMTgxLCA2LCAxLCAyNDUsIDE0NiwgCi0gICAgMTgxLCA2LCAxLCAyMjYsIDIyMywgMTgxLCA2LCAxLCAyNDUsIDQ2LCAxODEsIDQsIDEsIDIwMCwgNzQsIDE4MSwgNCwgMSwgCi0gICAgMjAwLCA3NiwgMTgxLCA0LCAxLCAyMDAsIDYxLCAxODEsIDQsIDEsIDIwMCwgMjU0LCAyMTgsIDE4MSwgNCwgMSwgMjAwLCAKLSAgICA3OCwgMTgxLCA0LCAxLCAyMDAsIDIyNiwgMTg3LCAxODEsIDQsIDEsIDIxOSwgMjUzLCA3NCwgMTgxLCA0LCAxLCAyMTksIAotICAgIDI1MywgNzYsIDE4MSwgNCwgMSwgMjE5LCAyNTMsIDYxLCAxODEsIDQsIDEsIDIxOSwgMjUzLCAyNTQsIDIxOCwgMTgxLCA0LCAKLSAgICAxLCAyMTksIDI1MywgNzgsIDE4MSwgNCwgMSwgMjE5LCAyNTMsIDIyNiwgMTg3LCAxODEsIDQsIDEsIDI1MywgMTc1LCAxODEsIAotICAgIDQsIDEsIDIyNiwgMTIwLCAxODEsIDQsIDEsIDIxMSwgMTk1LCAxODEsIDQsIDEsIDIxMSwgNDQsIDE4MSwgNCwgMSwgMjQyLCAKLSAgICA2NywgMTgxLCA0LCAxLCAyMjUsIDIxNCwgMTgxLCA0LCAxLCAyNTIsIDc0LCAxODEsIDQsIDEsIDIxNywgMTIsIDE4MSwgNCwgCi0gICAgMSwgMjQ4LCA4NSwgMTgxLCA0LCAxLCAyNTAsIDEzNiwgMTgxLCA0LCAxLCAyMzUsIDEzMCwgMTgxLCA0LCAxLCAyMzQsIAotICAgIDE5NSwgMTgxLCA0LCAxLCAyNDMsIDkwLCAxODEsIDQsIDEsIDI0NSwgMjEwLCAxODEsIDQsIDEsIDIxMywgMjUwLCAxODEsIAotICAgIDQsIDEsIDI0NSwgNjcsIDE4MSwgNCwgMSwgMjE2LCAxOTUsIDE4MSwgNCwgMSwgMjQ1LCA5MCwgMTgxLCA0LCAxLCAyMTAsIAotICAgIDkyLCAxODEsIDQsIDEsIDI0NSwgODMsIDE4MSwgNCwgMSwgMjEwLCA3MywgMTgxLCA0LCAxLCAyNDUsIDEwMCwgMTgxLCA0LCAKLSAgICAxLCAyNDUsIDE4MiwgMTgxLCA0LCAxLCAyNDUsIDE2NywgMTgxLCA0LCAxLCAyNDUsIDE1OCwgMTgxLCA0LCAxLCAyNDUsIAotICAgIDE0NiwgMTgxLCA0LCAxLCAyMjYsIDIyMywgMTgxLCA0LCAxLCAyNDUsIDQ2LCAyMjAsIDcxLCAxLCAyMjUsIDIxMiwgMjIwLCAKLSAgICA3MSwgMSwgMjE2LCA2LCAyMjAsIDcxLCAxLCAyMzQsIDk3LCAyMjAsIDcxLCAxLCAyNDQsIDE1NSwgMjIwLCA3MSwgMSwgCi0gICAgMjE2LCAxNzMsIDIyMCwgNzEsIDEsIDIxOSwgNjAsIDIyMCwgNzEsIDEsIDIxOCwgMTUsIDIyMCwgNzEsIDEsIDI1MCwgNjksIAotICAgIDIyMCwgNzEsIDEsIDIxMSwgNDYsIDIyMCwgNzEsIDEsIDI0MCwgMjE2LCAyMjAsIDcxLCAxLCAyNTIsIDEzLCAyMjAsIDcxLCAKLSAgICAxLCAyNDgsIDk3LCAyMjAsIDcxLCAxLCAyNDMsIDEyOCwgMjIwLCA3MSwgMSwgMjEzLCAxMjMsIDIyMCwgNzEsIDEsIDIxNiwgCi0gICAgMTc3LCAyMjAsIDcxLCAxLCAyMTAsIDIxLCAyMjAsIDcxLCAxLCAyMzEsIDk0LCAyMjAsIDcxLCAxLCAyMzUsIDU1LCAyMjAsIAotICAgIDcxLCAxLCAyMTEsIDIyNSwgMjIwLCA3MSwgMSwgMjQyLCA1NSwgMjIwLCA3MSwgMSwgMjMyLCAxNDgsIDIyMCwgNzEsIDEsIAotICAgIDIzMCwgMTk0LCAyMjAsIDcxLCAxLCAyMzYsIDQ3LCAyMjAsIDcxLCAxLCAyNDUsIDIwOSwgMjIwLCA3MSwgMSwgMjUzLCAKLSAgICAyMzksIDIyMCwgNzEsIDEsIDI1NSwgMCwgMjIwLCA3MSwgMSwgMjI2LCAyMDAsIDIyMCwgNzEsIDEsIDIxMSwgMjEyLCAyMjAsIAotICAgIDcxLCAxLCAyMjYsIDEzNCwgMjIwLCA3MSwgMSwgMjU0LCAyMTgsIDIyMCwgNzEsIDEsIDIyMiwgMjEwLCAyMjAsIDcxLCAxLCAKLSAgICAyMjcsIDE5OCwgMjIwLCA3MSwgMSwgMjQ1LCAyMjUsIDIyMCwgNzEsIDEsIDI1NCwgMjIzLCAyMjAsIDcxLCAxLCAyNDAsIAotICAgIDExOCwgMjIwLCA3MSwgMSwgMjE0LCAxNjMsIDIyMCwgNzEsIDEsIDIyNywgMiwgMjIwLCA3MSwgMSwgMjI2LCAxODAsIDIyMCwgCi0gICAgNzEsIDEsIDIyNiwgMjIyLCAyMjAsIDcxLCAxLCAyNTMsIDE3OCwgMjIwLCA3MSwgMSwgMjU0LCAyNywgMjIwLCA3MSwgMSwgCi0gICAgMjI2LCAxNjIsIDIyMCwgNzEsIDEsIDI1NCwgMjAxLCAyMjAsIDcxLCAxLCAyNDUsIDk0LCAyMjAsIDcxLCAxLCAyNTQsIDUsIAotICAgIDIyMCwgNzEsIDEsIDI0NSwgMjM1LCAyMjAsIDcxLCAxLCAyNDAsIDEyNSwgMjIwLCA3MSwgMSwgMjExLCAxMywgMjI2LCAKLSAgICAxNDUsIDEsIDI1NCwgMTc5LCAyMjYsIDE0NSwgMSwgMjUyLCAxOTksIDIyNiwgMTQ1LCAxLCAyMTcsIDEwNiwgMjI2LCAxNDUsIAotICAgIDEsIDIzNSwgMTQ3LCAyMjYsIDE0NSwgMSwgMjExLCAxNjUsIDIyNiwgMTQ1LCAxLCAyMzQsIDEzOCwgMjI2LCAxNDUsIDEsIAotICAgIDI0OCwgODQsIDIyNiwgMTQ1LCAxLCAyMDUsIDIyNiwgMTQ1LCAxLCAyMDYsIDIyNiwgMTQ1LCAxLCAyMjAsIDI4LCAyMjYsIAotICAgIDE0NSwgMSwgMjQ4LCAzMywgMjI2LCAxNDUsIDEsIDI1MCwgMjIzLCAyMjYsIDE0NSwgMSwgMjQzLCAxNDIsIDIyNiwgMTQ1LCAKLSAgICAxLCAyNDQsIDIwNCwgMjI2LCAxNDUsIDEsIDIyNCwgODksIDIyNiwgMTQ1LCAxLCAyMzUsIDE1LCAyMjYsIDE0NSwgMSwgCi0gICAgMjMzLCAxMzYsIDIyNiwgMTQ1LCAxLCAyMzAsIDIwNSwgMjI2LCAxNDUsIDEsIDIyNywgMTgyLCAyMjYsIDE0NSwgMSwgMjEyLCAKLSAgICAzMCwgMjI2LCAxNDUsIDEsIDE2MiwgMjI2LCAxNDUsIDEsIDE5MiwgMjI2LCAxNDUsIDEsIDYxLCAyMjYsIDE0NSwgMSwgNzYsIAotICAgIDIyNiwgMTQ1LCAxLCA3NCwgMjI2LCAxNDUsIDEsIDc4LCAyMjYsIDE0NSwgMSwgNjksIDIyNiwgMTQ1LCAxLCAyNTUsIDgyLCAKLSAgICAyMjYsIDE0NSwgMSwgMjQ1LCAyMTcsIDIyNiwgMTQ1LCAxLCAyMjYsIDE4NywgMjI2LCAxNDUsIDIxLCAyMTAsIDg2LCAyMjYsIAotICAgIDE0NSwgMjEsIDExMSwgMjI2LCAxNDUsIDIxLCAxMDUsIDIyNiwgMTQ1LCAyMSwgMTU4LCAyMjYsIDE0NSwgMjEsIDE2MSwgCi0gICAgMjI2LCAxNDUsIDIxLCAxOTAsIDIyNiwgMTQ1LCAyMSwgMTk1LCAyMjYsIDE0NSwgMjEsIDE5OSwgMjI2LCAxNDUsIDIxLCAKLSAgICAxOTYsIDIyNiwgMTQ1LCAyMSwgMjAxLCAyNDksIDc1LCAzLCA2MSwgMjQ5LCA3NSwgMywgNzYsIDI0OSwgNzUsIDMsIDc0LCAKLSAgICAyNDksIDc1LCAzLCA3OCwgMjQ5LCA3NSwgMywgNjksIDI0OSwgNzUsIDMsIDIzNSwgMTQ3LCAyNDksIDc1LCAzLCAyMzUsIAotICAgIDc0LCAyNDksIDc1LCAzLCAxNzYsIDI0OSwgNzUsIDMsIDIzNCwgMTg4LCAyNDksIDc1LCAzLCAyMzQsIDk4LCAyNDksIDc1LCAKLSAgICAzLCAyMzQsIDM0LCAyNDksIDc1LCAzLCAyMzMsIDIyMywgMjQ5LCA3NSwgMywgMjMzLCAxNDEsIDI0OSwgNzUsIDMsIDIzMywgCi0gICAgNjQsIDI0OSwgNzUsIDMsIDIzMiwgMjQ3LCAyNDksIDc1LCAzLCAyMzIsIDE2MiwgMjQ5LCA3NSwgMywgMjMyLCAxMDMsIAotICAgIDI0OSwgNzUsIDMsIDE4NiwgMjQ5LCA3NSwgMywgMjMxLCA5NiwgMjQ5LCA3NSwgMywgMjMwLCAyMzUsIDI0OSwgNzUsIDMsIAotICAgIDIzMCwgMTY2LCAyNDksIDc1LCAzLCAyMzAsIDEwNywgMjQ5LCA3NSwgMywgMTk4LCAyNDksIDc1LCAzLCAyMjksIDExMiwgCi0gICAgMjQ5LCA3NSwgMywgMjI4LCAyMzgsIDI0OSwgNzUsIDMsIDIyOCwgNzksIDI0OSwgNzUsIDMsIDIyNywgMjQyLCAyNDksIDc1LCAKLSAgICAzLCAxOTEsIDI0OSwgNzUsIDMsIDIyNSwgMjI0LCAyNDksIDc1LCAzLCAyMjUsIDExMSwgMjQ5LCA3NSwgMywgMjI1LCAxOSwgCi0gICAgMjQ5LCA3NSwgMywgMjI0LCAxNTMsIDI0OSwgNzUsIDMsIDIwNSwgMjQ5LCA3NSwgMywgMjIzLCAxMzEsIDI0OSwgNzUsIDMsIAotICAgIDIyMywgMzgsIDI0OSwgNzUsIDMsIDIyMiwgMjEzLCAyNDksIDc1LCAzLCAyMjIsIDE0MiwgMjQ5LCA3NSwgMywgMjA2LCAKLSAgICAyNDksIDc1LCAzLCAyMjEsIDE4MywgMjQ5LCA3NSwgMywgMjE5LCAxOTMsIDI0OSwgNzUsIDMsIDIxOSwgNjAsIDI0OSwgNzUsIAotICAgIDMsIDIxOCwgODQsIDI0OSwgNzUsIDMsIDIxNywgMTA2LCAyNDksIDc1LCAzLCAyMTcsIDIzLCAyNDksIDc1LCAzLCAyMTYsIAotICAgIDExOCwgMjQ5LCA3NSwgMywgMTEyLCAyNDksIDc1LCAzLCAyMTUsIDExOSwgMjQ5LCA3NSwgMywgMjEyLCA2NSwgMjQ5LCA3NSwgCi0gICAgMywgMjEyLCAyMiwgMjQ5LCA3NSwgMywgMjExLCAyNTAsIDI0OSwgNzUsIDMsIDIxMSwgMjI3LCAyNDksIDc1LCAzLCAyMTEsIAotICAgIDE2NSwgMjQ5LCA3NSwgMywgMjExLCAxNjIsIDI0OSwgNzUsIDMsIDIxMCwgMTE2LCAyNDksIDc1LCAzLCAyMTAsIDIzLCAKLSAgICAyMzYsIDgsIDI1NCwgMzUsIDEsIDI1NCwgMTc3LCAyMzYsIDgsIDI1NCwgMzUsIDEsIDI1MiwgMzMsIDIzNiwgOCwgMjU0LCAKLSAgICAzNSwgMSwgMjQyLCAyMDgsIDIzNiwgOCwgMjU0LCAzNSwgMSwgMjQ4LCAxOTYsIDIzNiwgOCwgMjU0LCAzNSwgMSwgMjQxLCAKLSAgICAyNDUsIDIzNiwgOCwgMjU0LCAzNSwgMSwgMjEyLCAzMCwgMjM2LCA4LCAyNTQsIDM1LCAxLCAyMTAsIDk3LCAyMzYsIDgsIAotICAgIDI1NCwgMzUsIDEsIDI0MSwgMjAyLCAyMzYsIDgsIDI1NCwgMzUsIDEsIDIxNiwgMjI3LCAyMzYsIDgsIDI1NCwgMzUsIDEsIAotICAgIDIxMCwgMjMyLCAyMzYsIDgsIDI1NCwgMzUsIDEsIDIzNCwgMjMxLCAyMzYsIDgsIDI1NCwgMzUsIDEsIDIzMywgOTksIDIzNiwgCi0gICAgOCwgMjU0LCAzNSwgMSwgMjMxLCA3MCwgMjM2LCA4LCAyNTQsIDM1LCAxLCAyMjcsIDE5OCwgMjM2LCA4LCAyNTQsIDM1LCAxLCAKLSAgICAyMjEsIDI1MSwgMjM2LCA4LCAyNTQsIDM1LCAxLCAyNTMsIDE3MCwgMjM2LCA4LCAyNTQsIDM1LCAxLCAyMjUsIDIyNCwgCi0gICAgMjM2LCA4LCAyNTQsIDM1LCAxLCAyMjIsIDI2LCAyMzYsIDgsIDI1NCwgMzUsIDEsIDIyNCwgMzcsIDIzNiwgOCwgMjU0LCAKLSAgICAzNSwgMSwgMjIzLCA3MCwgMjM2LCA4LCAyNTQsIDM1LCAxLCAyMjAsIDIyLCAyMzYsIDgsIDI1NCwgMzUsIDEsIDIxNywgMzcsIAotICAgIDIzNiwgOCwgMjU0LCAzNSwgMjIxLCAxNzUsIDUwLCAyMzYsIDgsIDI1NCwgMzUsIDU0LCAxMTEsIDIzNiwgOCwgMjU0LCAzNSwgCi0gICAgNTQsIDEwNSwgMjM2LCA4LCAyNTQsIDM1LCA1NCwgMTU4LCAyMzYsIDgsIDI1NCwgMzUsIDU0LCAyMTYsIDI0OCwgMjM2LCA4LCAKLSAgICAyNTQsIDM1LCA1NCwgMjE1LCA3MywgMjM2LCA4LCAyNTQsIDM1LCA1NCwgMTIzLCAyNDAsIDIxNywgMjM2LCA4LCAyNTQsIAotICAgIDM1LCA1NCwgMTIzLCAyMTYsIDE0OCwgMjM2LCA4LCAyNTQsIDM1LCA1NCwgMjE2LCAyNDksIDIxNiwgMTQ4LCAyMjUsIDEyMiwgCi0gICAgMSwgMjU0LCAxNzQsIDIyNSwgMTIyLCAxLCAyNTIsIDM2LCAyMjUsIDEyMiwgMSwgMjQzLCAxMTYsIDIyNSwgMTIyLCAxLCAKLSAgICAyNDgsIDY0LCAyMjUsIDEyMiwgMSwgMjQxLCAyNDUsIDIyNSwgMTIyLCAxLCAyMTIsIDM3LCAyMjUsIDEyMiwgMSwgMjEwLCAKLSAgICAxMTAsIDIyNSwgMTIyLCAxLCAyNDEsIDIwNCwgMjI1LCAxMjIsIDEsIDIxNiwgMjMxLCAyMjUsIDEyMiwgMSwgMjEwLCAyMzMsIAotICAgIDIyNSwgMTIyLCAxLCAyMzUsIDAsIDIyNSwgMTIyLCAxLCAyMzMsIDEwNSwgMjI1LCAxMjIsIDEsIDIzMSwgNzAsIDIyNSwgCi0gICAgMTIyLCAxLCAyMjcsIDE5OCwgMjI1LCAxMjIsIDEsIDIyMCwgMTQ2LCAyMjUsIDEyMiwgMSwgMjU0LCAyMDUsIDIyNSwgMTIyLCAKLSAgICAxLCAyMjUsIDIyNCwgMjI1LCAxMjIsIDEsIDIyMiwgMjcsIDIyNSwgMTIyLCAxLCAyMjQsIDQyLCAyMjUsIDEyMiwgMSwgCi0gICAgMjIyLCAxOTEsIDIyNSwgMTIyLCAxLCAyMjAsIDIyLCAyMjUsIDEyMiwgMSwgMjE3LCA0MiwgMjI1LCAxMjIsIDU0LCAxMTEsIAotICAgIDIyNSwgMTIyLCA1NCwgMjE2LCAyNDgsIDIyNSwgMTIyLCA1NCwgMjE1LCA3MywgMjI1LCAxMjIsIDU0LCAxMjMsIDI0MCwgCi0gICAgMjE3LCAyMjUsIDEyMiwgNTQsIDEwNSwgMjI1LCAxMjIsIDU0LCAxNTgsIDIyNSwgMTIyLCAyMTEsIDIwOSwgMjIwLCAxMzksIAotICAgIDIzMiwgNjQsIDEsIDYxLCAyMzIsIDY0LCAxLCAyNTMsIDE2NiwgMjMyLCA2NCwgMSwgMjQzLCAyMDksIDIzMiwgNjQsIDEsIAotICAgIDI0OSwgNjgsIDIzMiwgNjQsIDEsIDc2LCAyMzIsIDY0LCAxLCAyMTQsIDEwNSwgMjMyLCA2NCwgMSwgNzQsIDIzMiwgNjQsIAotICAgIDEsIDIxMSwgMTE3LCAyMzIsIDY0LCAxLCAyMzUsIDI5LCAyMzIsIDY0LCAxLCAxNTYsIDIzMiwgNjQsIDEsIDE5NCwgMjMyLCAKLSAgICA2NCwgMSwgMjMwLCAzMCwgMjMyLCA2NCwgMSwgNzgsIDIzMiwgNjQsIDEsIDE1MywgMjMyLCA2NCwgMSwgMjE4LCAyMjgsIAotICAgIDIzMiwgNjQsIDEsIDIxNywgMTUzLCAyMzIsIDY0LCAxLCA2OSwgMjMyLCA2NCwgMSwgMjQ1LCAxNCwgMjMyLCA2NCwgMSwgCi0gICAgMjI0LCA5OSwgMjMyLCA2NCwgMSwgMjIyLCA5MywgMjMyLCA2NCwgMSwgMjE1LCAxNjAsIDIzMiwgNjQsIDEsIDI1NCwgMTMxLCAKLSAgICAyMzIsIDY0LCAxLCAyNDUsIDE1OCwgMjMyLCA2NCwgMSwgMjMyLCA2NywgMjMyLCA2NCwgMSwgMjI4LCAxMTYsIDIzMiwgNjQsIAotICAgIDEsIDI1MSwgNzQsIDIzMiwgNjQsIDIxNSwgMjIzLCA3OSwgMjMxLCA1MywgMjQxLCAxODEsIDEsIDYxLCAyMzEsIDUzLCAKLSAgICAyNDEsIDE4MSwgMSwgNzYsIDIzMSwgNTMsIDI0MSwgMTgxLCAxLCA3NCwgMjMxLCA1MywgMjQxLCAxODEsIDEsIDc4LCAyMzEsIAotICAgIDUzLCAyNDEsIDE4MSwgMSwgMTkyLCAyMzEsIDUzLCAyNDEsIDE4MSwgMSwgMjEyLCA2NSwgMjMxLCA1MywgMjQxLCAxODEsIAotICAgIDEsIDI1MiwgMTk5LCAyMzEsIDUzLCAyNDEsIDE4MSwgMSwgMjUyLCAxOTgsIDIzMSwgNTMsIDI0MSwgMTgxLCAxLCAxOTEsIAotICAgIDIzMSwgNTMsIDI0MSwgMTgxLCAxLCAxODYsIDIzMSwgNTMsIDI0MSwgMTgxLCAxLCAxOTgsIDIzMSwgNTMsIDI0MSwgMTgxLCAKLSAgICAxLCAyMjksIDIzMywgMjMxLCA1MywgMjQxLCAxODEsIDEsIDIyOSwgMTEyLCAyMzEsIDUzLCAyNDEsIDE4MSwgMSwgMjI5LCAKLSAgICAxMTEsIDIzMSwgNTMsIDI0MSwgMTgxLCAxLCAyMDUsIDIzMSwgNTMsIDI0MSwgMTgxLCAxLCAyMjMsIDE5MCwgMjMxLCA1MywgCi0gICAgMjQxLCAxODEsIDEsIDIzMywgMTQxLCAyMzEsIDUzLCAyNDEsIDE4MSwgMSwgMjM0LCAxMzgsIDIzMSwgNTMsIDI0MSwgMTgxLCAKLSAgICAxLCAyNDEsIDE5NiwgMjMxLCA1MywgMjQxLCAxODEsIDEsIDIwNiwgMjMxLCA1MywgMjQxLCAxODEsIDEsIDIyMiwgMzUsIAotICAgIDIzMSwgNTMsIDI0MSwgMTgxLCAxLCAyMjEsIDE4MywgMjMxLCA1MywgMjQxLCAxODEsIDEsIDE3NiwgMjMxLCA1MywgMjQxLCAKLSAgICAxODEsIDEsIDIyNCwgOTEsIDIzMSwgNTMsIDI0MSwgMTgxLCAxLCAyMTcsIDEwNiwgMjMxLCA1MywgMjQxLCAxODEsIDEsIAotICAgIDIxNywgMTA1LCAyMzEsIDUzLCAyNDEsIDE4MSwgMSwgMjE3LCAyMywgMjMxLCA1MywgMjQxLCAxODEsIDEsIDIxNywgMjIsIAotICAgIDIzMSwgNTMsIDI0MSwgMTgxLCAxLCAxMTIsIDIzMSwgNTMsIDI0MSwgMTgxLCAxLCAyNDgsIDIyOSwgMjMxLCA1MywgMjQxLCAKLSAgICAxODEsIDE2LCAyMTMsIDE3MCwgMjMxLCA1MywgMjQxLCAxODEsIDE2LCAyMTMsIDE2OSwgMjMxLCA1MywgMjQ5LCAxMDIsIDEsIAotICAgIDYxLCAyMzEsIDUzLCAyNDksIDEwMiwgMSwgNzYsIDIzMSwgNTMsIDI0OSwgMTAyLCAxLCA3NCwgMjMxLCA1MywgMjQ5LCAKLSAgICAxMDIsIDEsIDc4LCAyMzEsIDUzLCAyNDksIDEwMiwgMSwgMTkyLCAyMzEsIDUzLCAyNDksIDEwMiwgMSwgMjEyLCA2NSwgCi0gICAgMjMxLCA1MywgMjQ5LCAxMDIsIDEsIDI1MiwgMTk5LCAyMzEsIDUzLCAyNDksIDEwMiwgMSwgMTkxLCAyMzEsIDUzLCAyNDksIAotICAgIDEwMiwgMSwgMTg2LCAyMzEsIDUzLCAyNDksIDEwMiwgMSwgMTk4LCAyMzEsIDUzLCAyNDksIDEwMiwgMSwgMjI5LCAxMTIsIAotICAgIDIzMSwgNTMsIDI0OSwgMTAyLCAxLCAyMDUsIDIzMSwgNTMsIDI0OSwgMTAyLCAxLCAyMzMsIDE0MSwgMjMxLCA1MywgMjQ5LCAKLSAgICAxMDIsIDEsIDIzNCwgMTM4LCAyMzEsIDUzLCAyNDksIDEwMiwgMSwgMjQxLCAxOTYsIDIzMSwgNTMsIDI0OSwgMTAyLCAxLCAKLSAgICAyMDYsIDIzMSwgNTMsIDI0OSwgMTAyLCAxLCAyNTQsIDMxLCAyMDYsIDIzMSwgNTMsIDI0OSwgMTAyLCAxLCAyMjEsIDE4MywgCi0gICAgMjMxLCA1MywgMjQ5LCAxMDIsIDEsIDE3NiwgMjMxLCA1MywgMjQ5LCAxMDIsIDEsIDIyNCwgOTEsIDIzMSwgNTMsIDI0OSwgCi0gICAgMTAyLCAxLCAyMTcsIDEwNiwgMjMxLCA1MywgMjQ5LCAxMDIsIDEsIDIxNywgMjMsIDIzMSwgNTMsIDI0OSwgMTAyLCAxLCAKLSAgICAxMTIsIDIzMSwgNTMsIDI0OSwgMTAyLCAxLCAyNDgsIDIyOSwgMjMxLCA1MywgMjQ5LCAxMDIsIDIzMiwgMTUxLCAyMjIsIAotICAgIDIxOSwgMjMxLCA1MywgMjQ5LCAxMDIsIDIzMiwgMTUxLCAyMzYsIDEzLCAyMzQsIDEyNiwgMSwgNjEsIDIzNCwgMTI2LCAyNSwgCi0gICAgNSwgNzQsIDIzNCwgMTI2LCAyNSwgNSwgNjksIDIzNCwgMTI2LCAyNSwgNSwgMTQ5LCAxNTMsIDIzNCwgMTI2LCAyNSwgNSwgCi0gICAgNzYsIDIzNCwgMTI2LCAyNSwgNSwgNzgsIDIzNCwgMTI2LCAyNSwgMjMzLCAyOSwgNzksIDIzNCwgMTI2LCA1LCA1MiwgMjIyLCAKLSAgICAyMzcsIDUxLCAyMzQsIDEyNiwgNSwgMjU0LCA4MywgMjM0LCAxMjYsIDUsIDIxMywgMTQ3LCAyMzQsIDEyNiwgMSwgMTc2LCAKLSAgICAyMzQsIDEyNiwgMSwgMjM0LCAxMzgsIDIzNCwgMTI2LCAxLCAyNDMsIDE0MiwgMjM0LCAxMjYsIDEsIDI0MywgMCwgMjM0LCAKLSAgICAxMjYsIDEsIDI1MSwgNDEsIDIzNCwgMTI2LCAxLCAyNTAsIDE2NSwgMjM0LCAxMjYsIDEsIDIzNSwgMTQ3LCAyMzQsIDEyNiwgCi0gICAgMSwgMjI3LCAxNjksIDIzNCwgMTI2LCAxLCAyMTUsIDE1NywgMjM0LCAxMjYsIDEsIDIxNSwgMTQ1LCAyMzQsIDEyNiwgMSwgCi0gICAgMjQ4LCAxNDMsIDIzNCwgMTI2LCAxLCAyNDgsIDEyNywgMjM0LCAxMjYsIDEsIDIyOCwgMTE1LCAyMzQsIDEyNiwgMSwgMjE3LCAKLSAgICAxMDYsIDIzNCwgMTI2LCAxLCAyMTYsIDIwOSwgMjM0LCAxMjYsIDEsIDI0OCwgMjI5LCAyMzQsIDEyNiwgMSwgMjQ4LCAzMywgCi0gICAgMjM0LCAxMjYsIDEsIDE5OCwgMjM0LCAxMjYsIDEsIDE5MSwgMjM0LCAxMjYsIDEsIDIyNSwgMTUwLCAyMzQsIDEyNiwgMSwgCi0gICAgMjUyLCAxOTksIDIzNCwgMTI2LCAxLCAyNTIsIDI2LCAyMzQsIDEyNiwgMSwgMTg2LCAyMzQsIDEyNiwgMSwgMTkyLCAyMzQsIAotICAgIDEyNiwgMSwgMjA1LCAyMzQsIDEyNiwgMSwgMjMzLCAxNDEsIDIzNCwgMTI2LCAxLCAyMTQsIDI3LCAyMzQsIDEyNiwgMSwgCi0gICAgMjIwLCAxMDQsIDIzNCwgMTI2LCAxLCAyMTgsIDIyNSwgMjM0LCAxMjYsIDEsIDIwNiwgMjM0LCAxMjYsIDEsIDIxMCwgMTE2LCAKLSAgICAyMzQsIDEyNiwgMSwgMTYyLCAyMzQsIDEyNiwgMSwgMjM0LCA1MiwgMjM0LCAxMjYsIDEsIDIxNSwgMTI1LCAyMzQsIDEyNiwgCi0gICAgNSwgMjUyLCAxNDksIDQ4LCAyMzQsIDEyNiwgNSwgMjUwLCAyMjksIDIzNCwgMTI2LCA1LCA1OSwgNTEsIDIzNCwgMTI2LCAKLSAgICAyMTMsIDE1MiwgMjM0LCAxMjYsIDIxLCAxMTEsIDIzNCwgMTI2LCAyMSwgMTA1LCAyMzQsIDEyNiwgMjEsIDE1OCwgMjM0LCAKLSAgICAxMjYsIDIxLCAxNjEsIDIzNCwgMTI2LCA1NCwgMjE2LCAyNDgsIDIzNCwgMTI2LCA1NCwgMjE1LCA3MywgMjM0LCAxMjYsIAotICAgIDU0LCAxMjMsIDI0MCwgMjE3LCAyMzQsIDEyNiwgNTQsIDEyMywgMjE2LCAxNDgsIDIzNCwgMTI2LCAyMjQsIDE0NCwgMjQ3LCAKLSAgICAxMjgsIDIzNCwgMTI2LCAyMjQsIDE0NCwgNCwgMjUwLCA0MywgMjM0LCAxMjYsIDIyNCwgMTQ0LCAyNTAsIDQzLCAyMzQsIAotICAgIDEyNiwgMjI0LCAxNDQsIDI0OSwgMTQ1LCAxMzAsIDIzNCwgMTI2LCAyMjQsIDE0NCwgMjMxLCAxODUsIDIzNCwgMTI2LCAKLSAgICAyMjQsIDE0NCwgMjMyLCAxMjEsIDIzNCwgMTI2LCAyMjQsIDE0NCwgMjQ4LCAxODYsIDIzNCwgMTI2LCAyMjQsIDE0NCwgNTIsIAotICAgIDI0OCwgMTg2LCAyMzQsIDEyNiwgMjI0LCAxNDQsIDIzMiwgMjEzLCA1NSwgMjE5LCAzMCwgMjU0LCA0NiwgMSwgMjQxLCAKLSAgICAyNDUsIDU1LCAyMTksIDMwLCAyNTQsIDQ2LCAxLCAyMzMsIDk5LCA1NSwgMjE5LCAzMCwgMjU0LCA0NiwgMSwgMjQxLCAyMDIsIAotICAgIDU1LCAyMTksIDMwLCAyNTQsIDQ2LCAxLCAyMzEsIDcwLCA1NSwgMjE5LCAzMCwgMjU0LCA0NiwgMSwgMjI0LCAzNywgNTUsIAotICAgIDIxOSwgMzAsIDI1NCwgNDYsIDEsIDIxMiwgMzAsIDU1LCAyMTksIDMwLCAyNTQsIDQ2LCAxLCAyMjAsIDIyLCA1NSwgMjE5LCAKLSAgICAzMCwgMjU0LCA0NiwgMSwgMjIzLCA3MCwgNTUsIDIxOSwgMzAsIDI1NCwgNDYsIDEsIDI1MiwgMzMsIDU1LCAyMTksIDMwLCAKLSAgICAyNTQsIDQ2LCAxLCAyMTcsIDM3LCA1NSwgMjE5LCAzMCwgMjU0LCA0NiwgMSwgMjIxLCAyMjgsIDU1LCAyMTksIDMwLCAyNTQsIAotICAgIDQ2LCAxLCAyMzQsIDIzMSwgNTUsIDIxOSwgMzAsIDI1NCwgNDYsIDEsIDIyNywgMTk4LCA1NSwgMjE5LCAzMCwgMjU0LCA0NiwgCi0gICAgMSwgMjM0LCAxMjIsIDU1LCAyMTksIDMwLCAyNTQsIDQ2LCAxLCAyMjIsIDI2LCA1NSwgMjE5LCAzMCwgMjU0LCA0NiwgMSwgCi0gICAgMjIxLCAyNTEsIDU1LCAyMTksIDMwLCAyNTQsIDQ2LCAxLCAyNDQsIDE2MiwgNTUsIDIxOSwgMzAsIDI1NCwgNDYsIDEsIAotICAgIDI1NCwgMTc5LCA1NSwgMjE5LCAzMCwgMjU0LCA0NiwgMSwgMjUzLCAxNjksIDU1LCAyMTksIDMwLCAyNTQsIDQ2LCAxLCAKLSAgICAyNDgsIDMwLCA1NSwgMjE5LCAzMCwgMjU0LCA0NiwgMSwgMjQyLCAyMDgsIDU1LCAyMTksIDMwLCAyNTQsIDQ2LCAxLCAyNDgsIAotICAgIDE5NiwgNTUsIDIxOSwgMzAsIDI1NCwgNDYsIDEsIDI0MiwgMjQ1LCA1NSwgMjE5LCAzMCwgMjU0LCA0NiwgMSwgMjE2LCAKLSAgICAyMjcsIDU1LCAyMTksIDMwLCAyNTQsIDQ2LCAxLCAyMTAsIDk2LCA1NSwgMjE5LCAzMCwgMjU0LCA0NiwgMSwgMjQ4LCAyNywgCi0gICAgNTUsIDIxOSwgMzAsIDI1NCwgNDYsIDEsIDIxMCwgMjMyLCA1NSwgMjE5LCAzMCwgMjU0LCA0NiwgMSwgMjE2LCAxOTgsIDU1LCAKLSAgICAyMTksIDMwLCAyNTQsIDQ2LCAxLCAyMTYsIDE3OSwgNTUsIDIxOSwgMzAsIDI1NCwgNDYsIDU0LCAxMTEsIDU1LCAyMTksIAotICAgIDMwLCAyNTQsIDQ2LCA1NCwgMjQ0LCAxMjIsIDU1LCAyMTksIDMwLCAyNTQsIDQ2LCAxMzIsIDIzNSwgMjQ1LCAyNTMsIDE4MCwgCi0gICAgMSwgNjEsIDI1MywgMTgwLCAxLCAyNTUsIDgyLCAyNTMsIDE4MCwgMSwgMjU0LCA4MSwgMjUzLCAxODAsIDEsIDI1NSwgNDEsIAotICAgIDI1MywgMTgwLCAxLCAyNTQsIDEzMSwgMjUzLCAxODAsIDEsIDI1NSwgNDIsIDI1MywgMTgwLCAxLCAyNTQsIDI1MiwgMjUzLCAKLSAgICAxODAsIDEsIDI1NCwgMjQ4LCAyNTMsIDE4MCwgMSwgNzYsIDI1MywgMTgwLCAxLCAyNDUsIDIxNywgMjUzLCAxODAsIDEsIAotICAgIDc4LCAyNTMsIDE4MCwgMSwgMjI2LCAxODcsIDI1MywgMTgwLCAxLCA3NCwgMjUzLCAxODAsIDEsIDIzNiwgNDAsIDI1MywgCi0gICAgMTgwLCAxLCA2OSwgMjUzLCAxODAsIDEsIDIxNCwgMTE4LCAyNTMsIDE4MCwgMSwgMjM0LCAxODgsIDI1MywgMTgwLCAxLCAKLSAgICAyMTEsIDE2MiwgMjUzLCAxODAsIDEsIDIxMSwgMTI4LCAyNTMsIDE4MCwgMSwgMjExLCAxMzcsIDI1MywgMTgwLCAxLCAyNDMsIAotICAgIDY5LCAyNTMsIDE4MCwgMSwgMjQzLCAzMSwgMjUzLCAxODAsIDEsIDI0MiwgMjQzLCAyNTMsIDE4MCwgMSwgMjUwLCAxOTgsIAotICAgIDI1MywgMTgwLCAxLCAyMzUsIDEzMiwgMjUzLCAxODAsIDEsIDIxNywgMjMsIDI1MywgMTgwLCAxLCAyMTYsIDE5NiwgMjUzLCAKLSAgICAxODAsIDEsIDI0OCwgOTgsIDI1MywgMTgwLCAxLCAyNDgsIDI1LCAyNTMsIDE4MCwgMSwgMjE1LCAxNTIsIDI1MywgMTgwLCAKLSAgICAxLCAyMjUsIDIyNCwgMjUzLCAxODAsIDEsIDI0NCwgMTYyLCAyNTMsIDE4MCwgMSwgMjUyLCA4MywgMjUzLCAxODAsIDEsIAotICAgIDI1MiwgMjIsIDI1MywgMTgwLCAxLCAyMjksIDY5LCAyNTMsIDE4MCwgMSwgMjI4LCAyNDQsIDI1MywgMTgwLCAxLCAyMjgsIAotICAgIDI0NSwgMjUzLCAxODAsIDEsIDIyOSwgMTEyLCAyNTMsIDE4MCwgMSwgMjI3LCAxNjAsIDI1MywgMTgwLCAxLCAyMjgsIDExMCwgCi0gICAgMjUzLCAxODAsIDEsIDIzMSwgOTYsIDI1MywgMTgwLCAxLCAyNDEsIDEyMywgMjUzLCAxODAsIDEsIDIxMCwgMTY2LCAyNTMsIAotICAgIDE4MCwgMSwgMjExLCA0NywgMjUzLCAxODAsIDEsIDIxMywgMjU1LCAyNTMsIDE4MCwgMSwgMjIzLCAxMzEsIDI1MywgMTgwLCAKLSAgICAxLCAyMzMsIDY0LCAyNTMsIDE4MCwgMSwgMjIxLCAxODMsIDI1MywgMTgwLCAxLCAyMTAsIDk0LCAyNTMsIDE4MCwgMSwgCi0gICAgMjIwLCA2NSwgMjUzLCAxODAsIDEsIDIxMCwgNzQsIDI1MywgMTgwLCAxLCAyMTksIDIwMCwgMjUzLCAxODAsIDEsIDIxOCwgCi0gICAgMTk1LCAyNTMsIDE4MCwgMSwgMjQxLCAyNDUsIDI1MywgMTgwLCAyNTUsIDMwLCA3OSwgMjE2LCA4MCwgMTEzLCAxNzAsIAotICAgIDExNSwgMTIzLCA1OSwgMjI0LCAxNDMsIDQsIDExMywgMTcwLCAxMTUsIDEyMywgNTksIDIyNCwgMTQzLCAyMzMsIDkxLCAKLSAgICAxMTMsIDE3MCwgMTE1LCAxMjMsIDU5LCAyMjQsIDE0MywgMjMzLCA5MSwgMTIzLCA1OSwgMTE1LCAxMTMsIDE3MCwgMjI0LCAKLSAgICAxNDMsIDIzMywgOTEsIDExMywgMjIyLCAyMzUsIDExNSwgMTIzLCAyMjIsIDIzNywgMjI0LCAxNDMsIDIzMywgOTEsIDEyMywgCi0gICAgMjIyLCAyMzcsIDExNSwgMTEzLCAyMjIsIDIzNSwgMjI0LCAxNDMsIDIzNSwgMjI1LCAyMjYsIDIsIDEsIDI1NCwgMTc3LCAKLSAgICAyMzUsIDIyNSwgMjI2LCAyLCAxLCAyNTIsIDMzLCAyMzUsIDIyNSwgMjI2LCAyLCAxLCAyNDIsIDIwOCwgMjM1LCAyMjUsIAotICAgIDIyNiwgMiwgMSwgMjQ4LCAxOTYsIDIzNSwgMjI1LCAyMjYsIDIsIDEsIDI0MSwgMjQ1LCAyMzUsIDIyNSwgMjI2LCAyLCAxLCAKLSAgICAyMTIsIDMwLCAyMzUsIDIyNSwgMjI2LCAyLCAxLCAyMTAsIDk3LCAyMzUsIDIyNSwgMjI2LCAyLCAxLCAyNDEsIDIwMiwgCi0gICAgMjM1LCAyMjUsIDIyNiwgMiwgMSwgMjE2LCAyMjcsIDIzNSwgMjI1LCAyMjYsIDIsIDEsIDIxMCwgMjMyLCAyMzUsIDIyNSwgCi0gICAgMjI2LCAyLCAxLCAyMzQsIDIzMSwgMjM1LCAyMjUsIDIyNiwgMiwgMSwgMjMzLCA5OSwgMjM1LCAyMjUsIDIyNiwgMiwgMSwgCi0gICAgMjMxLCA3MCwgMjM1LCAyMjUsIDIyNiwgMiwgMSwgMjI3LCAxOTgsIDIzNSwgMjI1LCAyMjYsIDIsIDEsIDIyMSwgMjUxLCAKLSAgICAyMzUsIDIyNSwgMjI2LCAyLCAxLCAyNTMsIDE3MCwgMjM1LCAyMjUsIDIyNiwgMiwgMSwgMjI1LCAyMjQsIDIzNSwgMjI1LCAKLSAgICAyMjYsIDIsIDEsIDIyMiwgMjYsIDIzNSwgMjI1LCAyMjYsIDIsIDEsIDIyNCwgMzcsIDIzNSwgMjI1LCAyMjYsIDIsIDEsIAotICAgIDIyMywgNzAsIDIzNSwgMjI1LCAyMjYsIDIsIDEsIDIyMCwgMjIsIDIzNSwgMjI1LCAyMjYsIDIsIDEsIDIxNywgMzcsIDIzNSwgCi0gICAgMjI1LCAyMjYsIDIsIDU0LCAxMTEsIDIzNSwgMjI1LCAyMjYsIDIsIDU0LCAxMDUsIDIzNSwgMjI1LCAyMjYsIDIsIDU0LCAKLSAgICAxNTgsIDIzNSwgMjI1LCAyMjYsIDIsIDU0LCAxNjEsIDIzNSwgMjI1LCAyMjYsIDIsIDU0LCAyMTYsIDI0OCwgMjM1LCAyMjUsIAotICAgIDIyNiwgMiwgNTQsIDIxNSwgNzMsIDIzNSwgMjI1LCAyMjYsIDIsIDU0LCAxMjMsIDI0MCwgMjE3LCAyMzUsIDIyNSwgMjI2LCAKLSAgICAyLCA1NCwgMTIzLCAyMTYsIDE0OCwgMjM1LCAyMjUsIDIyNiwgNzYsIDEsIDI1NCwgMTc3LCAyMzUsIDIyNSwgMjI2LCA3NiwgCi0gICAgMSwgMjUyLCAzMywgMjM1LCAyMjUsIDIyNiwgNzYsIDEsIDI0MiwgMjA4LCAyMzUsIDIyNSwgMjI2LCA3NiwgMSwgMjQ4LCAKLSAgICAxOTYsIDIzNSwgMjI1LCAyMjYsIDc2LCAxLCAyNDEsIDI0NSwgMjM1LCAyMjUsIDIyNiwgNzYsIDEsIDIxMiwgMjksIDIzNSwgCi0gICAgMjI1LCAyMjYsIDc2LCAxLCAyMTAsIDk3LCAyMzUsIDIyNSwgMjI2LCA3NiwgMSwgMjQxLCAyMDIsIDIzNSwgMjI1LCAyMjYsIAotICAgIDc2LCAxLCAyMTYsIDIyNywgMjM1LCAyMjUsIDIyNiwgNzYsIDEsIDIxMCwgMjMyLCAyMzUsIDIyNSwgMjI2LCA3NiwgMSwgCi0gICAgMjM0LCAyMzEsIDIzNSwgMjI1LCAyMjYsIDc2LCAxLCAyMzMsIDk5LCAyMzUsIDIyNSwgMjI2LCA3NiwgMSwgMjMxLCA2OSwgCi0gICAgMjM1LCAyMjUsIDIyNiwgNzYsIDEsIDIyNywgMTk4LCAyMzUsIDIyNSwgMjI2LCA3NiwgMSwgMjIxLCAyNTEsIDIzNSwgMjI1LCAKLSAgICAyMjYsIDc2LCAxLCAyMjUsIDIyNCwgMjM1LCAyMjUsIDIyNiwgNzYsIDEsIDIyMiwgMjYsIDIzNSwgMjI1LCAyMjYsIDc2LCAKLSAgICAxLCAyMjAsIDIyLCAyMzUsIDIyNSwgMjI2LCA3NiwgMSwgMjE3LCAzNywgMjM1LCAyMjUsIDIyNiwgNzYsIDU0LCAxMTEsIAotICAgIDIzNSwgMjI1LCAyMjYsIDc2LCA1NCwgMTA1LCAyMzUsIDIyNSwgMjI2LCA3NiwgNTQsIDE1OCwgMjM1LCAyMjUsIDIyNiwgCi0gICAgNzYsIDU0LCAxNjEsIDIzNSwgMjI1LCAyMjYsIDc2LCA1NCwgMjE2LCAyNDgsIDIzNSwgMjI1LCAyMjYsIDc2LCA1NCwgMjE1LCAKLSAgICA3MywgMjM1LCAyMjUsIDIyNiwgNzYsIDU0LCAxMjMsIDI0MCwgMjE3LCAyMzUsIDIyNSwgMjI2LCA3NiwgNTQsIDEyMywgCi0gICAgMjE2LCAxNDgsIDU1LCAyMDIsIDEsIDIyNiwgMTUzLCA2MSwgNTUsIDIwMiwgMSwgMjExLCAzNywgNjEsIDU1LCAyMDIsIDEsIAotICAgIDIxMSwgMzcsIDI1NCwgMjUyLCA1NSwgMjAyLCAxLCAyMjYsIDE1MywgNzQsIDU1LCAyMDIsIDEsIDIxMSwgMzcsIDc0LCA1NSwgCi0gICAgMjAyLCAxLCAyMTEsIDM3LCA3NiwgNTUsIDIwMiwgMSwgMjI2LCAxNTMsIDc4LCA1NSwgMjAyLCAxLCAyMjYsIDE1MywgMjI2LCAKLSAgICAyMzgsIDU1LCAyMDIsIDEsIDIxMSwgMzcsIDIyNiwgMjM4LCA1NSwgMjAyLCAxLCAyMjYsIDE1MywgMjU1LCAzNCwgNTUsIAotICAgIDIwMiwgMSwgMjExLCAzNywgMjU1LCAzNCwgNTUsIDIwMiwgMSwgMjI2LCAxNTMsIDI1NCwgMjUxLCA1NSwgMjAyLCAxLCAKLSAgICAyMTEsIDM3LCAyNTQsIDI1MSwgNTUsIDIwMiwgMSwgMjI2LCAxNTMsIDI1NCwgMjI1LCA1NSwgMjAyLCAxLCAyMTEsIDM3LCAKLSAgICAyNTQsIDIyNSwgNTUsIDIwMiwgMSwgMjI2LCAxNTMsIDI1NCwgMjQ2LCA1NSwgMjAyLCAxLCAyMTEsIDM3LCAyNTQsIDI0NiwgCi0gICAgNTUsIDIwMiwgMSwgMjI2LCAxNTMsIDI1NSwgOCwgNTUsIDIwMiwgMSwgMjExLCAzNywgMjU1LCA4LCA1NSwgMjAyLCAxLCAKLSAgICAyMjYsIDE1MywgMjU0LCAyNTAsIDU1LCAyMDIsIDEsIDIyNiwgMTUzLCAyNDUsIDIwLCA1NSwgMjAyLCAxLCAyMTEsIDM3LCAKLSAgICAyNDUsIDIwLCA1NSwgMjAyLCAxLCAyMjYsIDE1MywgMjUzLCAxNzUsIDU1LCAyMDIsIDEsIDIxMSwgMzcsIDI1MywgMTc1LCAKLSAgICA1NSwgMjAyLCAxLCAyMjYsIDE1MywgMjU0LCAyMzMsIDU1LCAyMDIsIDEsIDIxMSwgMzcsIDI1NCwgMjMzLCA1NSwgMjAyLCAKLSAgICAxLCAyMjYsIDE1MywgMjU0LCAyNDQsIDU1LCAyMDIsIDEsIDIxMSwgMzcsIDI1NCwgMjQ0LCA1NSwgMjAyLCAxLCAyMjYsIAotICAgIDE1MywgMjI2LCAyMzcsIDU1LCAyMDIsIDEsIDIxMSwgMzcsIDIyNiwgMjM3LCA1NSwgMjAyLCAxLCAyMjYsIDE1MywgMjU0LCAKLSAgICAxODcsIDU1LCAyMDIsIDEsIDIxMSwgMzcsIDI1NCwgMTg3LCA1NSwgMjAyLCAxLCAyMjYsIDE1MywgMjU0LCAyNDMsIDU1LCAKLSAgICAyMDIsIDEsIDIyNiwgMTUzLCAyNDUsIDE2OSwgNTUsIDIwMiwgMSwgMjI2LCAxNTMsIDI0NSwgMTY3LCA1NSwgMjAyLCAxLCAKLSAgICAyMjYsIDE1MywgMjU0LCAxMzEsIDU1LCAyMDIsIDEsIDIyNiwgMTUzLCAyNTQsIDI0MSwgNTUsIDIwMiwgMSwgMjExLCAzNywgCi0gICAgMjU0LCAyNDEsIDU1LCAyMDIsIDEsIDIyNiwgMTUzLCAyNDUsIDEzOSwgNTUsIDIwMiwgMSwgMjExLCAzNywgMjQ1LCAxMzksIAotICAgIDU1LCAyMDIsIDEsIDIyNiwgMTUzLCAyNDUsIDE1NSwgNTUsIDIwMiwgMSwgMjExLCAzNywgMjQ1LCAxNTUsIDU1LCAyMDIsIAotICAgIDEsIDIyNiwgMTUzLCAyNDUsIDEyNiwgNTUsIDIwMiwgMSwgMjExLCAzNywgMjQ1LCAxMjYsIDU1LCAyMDIsIDEsIDIxMSwgCi0gICAgMzcsIDI1NCwgMTIzLCA1NSwgMjAyLCAxLCAyMjYsIDE1MywgMjQ1LCAxNDYsIDU1LCAyMDIsIDEsIDIxMSwgMzcsIDI1NCwgCi0gICAgMjQwLCA1NSwgMjAyLCAxLCAyMjYsIDE1MywgMjQ1LCAxMTYsIDU1LCAyMDIsIDEsIDIyNiwgMTUzLCAyMjYsIDE3OSwgNTUsIAotICAgIDIwMiwgMSwgMjI2LCAxNTMsIDI0MCwgMTIwLCA1NSwgMjAyLCAxLCAyMjYsIDE1MywgMjQ1LCAyMjMsIDU1LCAyMDIsIDEsIAotICAgIDIxMSwgMzcsIDI0NSwgMjIzLCA1NSwgMjAyLCAxLCAyMjYsIDE1MywgMjU0LCA1MywgNTUsIDIwMiwgMSwgMjExLCAzNywgCi0gICAgMjU0LCA1MywgNTUsIDIwMiwgMSwgMjI2LCAxNTMsIDIzNSwgMTg4LCA1NSwgMjAyLCAxLCAyMTEsIDM3LCAyMzUsIDE4OCwgCi0gICAgNTUsIDIwMiwgMSwgMjI2LCAxNTMsIDIyNiwgMTYzLCA1NSwgMjAyLCAxLCAyMTEsIDM3LCAyMjYsIDE2MywgNTUsIDIwMiwgCi0gICAgMSwgMjI2LCAxNTMsIDI1NCwgNDksIDU1LCAyMDIsIDEsIDIxMSwgMzcsIDI1NCwgNDksIDU1LCAyMDIsIDEsIDIyNiwgMTUzLCAKLSAgICAyNTQsIDIzOSwgNTUsIDIwMiwgMSwgMjI2LCAxNTMsIDI1MywgMjQ1LCA1NSwgMjAyLCAxLCAyMjYsIDE1MywgMjU0LCAyMzcsIAotICAgIDU1LCAyMDIsIDEsIDIyNiwgMTUzLCAyNTMsIDIzOSwgNTUsIDIwMiwgMSwgMjExLCAzNywgMjUzLCAyMzksIDU1LCAyMDIsIAotICAgIDEsIDIyNiwgMTUzLCAyNDUsIDgzLCA1NSwgMjAyLCAxLCAyMTEsIDM3LCAyNDUsIDgzLCA1NSwgMjAyLCAxLCAyMjYsIDE1MywgCi0gICAgMjUzLCAyMTQsIDU1LCAyMDIsIDEsIDIxMSwgMzcsIDI1MywgMjE0LCA1NSwgMjAyLCAxLCAyMjYsIDE1MywgMjU0LCAyMzQsIAotICAgIDU1LCAyMDIsIDEsIDIxMSwgMzcsIDI1NCwgMjM0LCA1NSwgMjAyLCAxLCAyMjYsIDE1MywgMjI2LCAxNDQsIDU1LCAyMDIsIAotICAgIDEsIDIyNiwgMTUzLCAyNTIsIDEzMywgMjIyLCAxMjksIDIxLCAxMTEsIDIyMiwgMTI5LCAyMSwgMTA1LCAyMjIsIDEyOSwgCi0gICAgMjEsIDE1OCwgMjIyLCAxMjksIDIxLCAxNjEsIDIyMiwgMTI5LCAyMSwgMTkwLCAyMjIsIDEyOSwgMjEsIDE5NSwgMjIyLCAKLSAgICAxMjksIDIxLCAxOTksIDIyMiwgMTI5LCAyMSwgMTk2LCAyMjIsIDEyOSwgMjEsIDIwMSwgMjIyLCAxMjksIDU0LCAyMTYsIAotICAgIDI0OCwgMjIyLCAxMjksIDU0LCAyMTUsIDczLCAyMjIsIDEyOSwgNTQsIDIxNiwgMTYzLCAyMjIsIDEyOSwgNTQsIDI0NCwgCi0gICAgMjMsIDIyMiwgMTI5LCA1NCwgMjQ0LCAxMjIsIDIyMiwgMTI5LCA1NCwgMjE5LCAxMTMsIDIyMiwgMTI5LCA1NCwgMjIwLCAKLSAgICAxMTgsIDIyMiwgMTI5LCA1NCwgMjQ1LCAxOTIsIDIyMiwgMTI5LCA1NCwgMjI4LCAyMDAsIDIyMiwgMTI5LCA1NCwgMTIzLCAKLSAgICAyNDAsIDIxNywgMjIyLCAxMjksIDU0LCAxMTMsIDI0MCwgMjE3LCAyMjIsIDEyOSwgNTQsIDEzNCwgMjQwLCAyMTcsIDIyMiwgCi0gICAgMTI5LCA1NCwgMjQ0LCAxOSwgMjQwLCAyMTcsIDIyMiwgMTI5LCA1NCwgMjQ0LCA4OSwgMjQwLCAyMTcsIDIyMiwgMTI5LCAKLSAgICA1NCwgMjE5LCAxMjcsIDI0MCwgMjE3LCAyMjIsIDEyOSwgNTQsIDIyMCwgMTI0LCAyNDAsIDIxNywgMjIyLCAxMjksIDU0LCAKLSAgICAyNDUsIDIwMSwgMjQwLCAyMTcsIDIyMiwgMTI5LCA1NCwgMjI4LCAyMDUsIDI0MCwgMjE3LCAyMjIsIDEyOSwgMjQ0LCAxMCwgCi0gICAgMTIzLCAyNDIsIDM0LCAyMjIsIDEyOSwgMjQ0LCAxMCwgMTIzLCAyMjQsIDI0LCAyMjIsIDEyOSwgMjQ0LCAxMCwgMTIzLCAKLSAgICAyMTYsIDE2OSwgMjIyLCAxMjksIDI0NCwgMTAsIDExMywgMjE2LCAxNjcsIDExOCwgNSwgMjUxLCA3LCAxMTgsIDUsIDI1NCwgCi0gICAgODMsIDExOCwgNSwgMjEzLCAxNDcsIDExOCwgNSwgMjM1LCAxMDgsIDExOCwgNSwgMjE0LCAxNjEsIDExOCwgMSwgNjEsIAotICAgIDExOCwgMSwgMjU1LCA4MiwgMTE4LCAxLCA3NCwgMTE4LCAxLCAyMzYsIDQwLCAxMTgsIDEsIDY5LCAxMTgsIDEsIDIxNCwgCi0gICAgMTE4LCAxMTgsIDEsIDE0OSwgMTUzLCAxMTgsIDEsIDE0OSwgMjIyLCAxODIsIDExOCwgMSwgMTQ5LCAxNTYsIDExOCwgMSwgCi0gICAgMTQ5LCAyMzIsIDE5MSwgMTE4LCAxLCA3NiwgMTE4LCAxLCAyNTQsIDIxMCwgMTE4LCAxLCA3OCwgMTE4LCAxLCAyNTMsIAotICAgIDIwMCwgMTE4LCAxLCAxNzYsIDExOCwgMSwgMjM0LCAxMzgsIDExOCwgMSwgMjQzLCAxNDIsIDExOCwgMSwgMjQzLCAwLCAKLSAgICAxMTgsIDEsIDIyOSwgODIsIDExOCwgMSwgMjUxLCA0MSwgMTE4LCAxLCAyNTAsIDE2NSwgMTE4LCAxLCAyMzUsIDE0NywgCi0gICAgMTE4LCAxLCAyMzUsIDEyMCwgMTE4LCAxLCAyMjcsIDE2OSwgMTE4LCAxLCAyMTUsIDE1NywgMTE4LCAxLCAyMTUsIDE0NSwgCi0gICAgMTE4LCAxLCAyNDgsIDE0MywgMTE4LCAxLCAyNDgsIDEyNywgMTE4LCAxLCAyMjgsIDExNSwgMTE4LCAxLCAyMTcsIDEwNiwgCi0gICAgMTE4LCAxLCAyMTYsIDIwOSwgMTE4LCAxLCAyNDgsIDIyOSwgMTE4LCAxLCAyNDgsIDMzLCAxMTgsIDEsIDE5OCwgMTE4LCAxLCAKLSAgICAxOTEsIDExOCwgMSwgMjI1LCAxNTAsIDExOCwgMSwgMjUyLCAxOTksIDExOCwgMSwgMjUyLCAyNiwgMTE4LCAxLCAxODYsIAotICAgIDExOCwgMSwgMTkyLCAxMTgsIDEsIDIwNSwgMTE4LCAxLCAyMzMsIDE0MSwgMTE4LCAxLCAyMTQsIDI3LCAxMTgsIDEsIDIyMCwgCi0gICAgMTA0LCAxMTgsIDEsIDIxOCwgMjI1LCAxMTgsIDEsIDIwNiwgMTE4LCAxLCAxNjIsIDExOCwgMSwgMjMyLCAxOTAsIDExOCwgCi0gICAgMSwgNTUsIDM2LCAyMzIsIDE4MSwgMTE4LCAxLCA1NSwgMzYsIDIyMiwgMTgxLCAxMTgsIDEsIDU1LCAzNiwgMjI4LCA5NywgCi0gICAgMTE4LCAyNSwgNSwgMjU1LCA4MiwgMTE4LCAyNSwgNSwgMjUyLCAyMywgMjU1LCA4MiwgMTE4LCAyNSwgNSwgNzQsIDExOCwgCi0gICAgMjUsIDUsIDIzNiwgNDAsIDExOCwgMjUsIDUsIDY5LCAxMTgsIDI1LCA1LCAyMTQsIDExOCwgMTE4LCAyNSwgNSwgMTQ5LCAKLSAgICAxNTMsIDExOCwgMjUsIDUsIDE0OSwgMjIyLCAxODIsIDExOCwgMjUsIDUsIDE0OSwgMTU2LCAxMTgsIDI1LCA1LCAxNDksIAotICAgIDIzMiwgMTkxLCAxMTgsIDI1LCA1LCA3NiwgMTE4LCAyNSwgNSwgMjU0LCAyMTAsIDExOCwgMjUsIDUsIDc4LCAxMTgsIDI1LCAKLSAgICA1LCAyNTMsIDIwMCwgMTE4LCAyMTMsIDE1MiwgMTE4LCAyNDgsIDE4NiwgMTE4LCA1MiwgMjQ4LCAxODYsIDExOCwgMjI0LCAKLSAgICAxNDQsIDI0NywgMTI4LCAxMTgsIDIyNCwgMTQ0LCA1MiwgMjQ3LCAxMjgsIDExOCwgMjI0LCAxNDQsIDIzMiwgMjE5LCAxMTgsIAotICAgIDIyNCwgMTQ0LCAyNDksIDE0NSwgMTMwLCAxMTgsIDIyNCwgMTQ0LCAyMzIsIDEyMSwgMTE4LCA1NCwgMTExLCAxMTgsIDU0LCAKLSAgICAxMDUsIDExOCwgNTQsIDE1OCwgMTE4LCA1NCwgMTYxLCAxMTgsIDU0LCAxOTAsIDExOCwgNTQsIDE5NSwgMTE4LCA1NCwgCi0gICAgMTk5LCAxMTgsIDU0LCAxOTYsIDExOCwgNTQsIDIwMSwgMTE4LCA1NCwgMjE2LCAyNDgsIDExOCwgNTQsIDIxNSwgNzMsIAotICAgIDExOCwgNTQsIDIxNiwgMTYzLCAxMTgsIDU0LCAyNDQsIDIzLCAxMTgsIDU0LCAyNDQsIDEyMiwgMTE4LCA1NCwgMjE5LCAKLSAgICAxMTMsIDExOCwgNTQsIDIyMCwgMTE4LCAxMTgsIDU0LCAyNDUsIDE5MiwgMTE4LCA1NCwgMjI4LCAyMDAsIDExOCwgNTQsIAotICAgIDEyMywgMjQwLCAyMTcsIDExOCwgNTQsIDEyMywgMjE2LCAxNDgsIDExOCwgMjEsIDIxMCwgODYsIDExOCwgMjEsIDExMSwgCi0gICAgMTE4LCAyMSwgMTA1LCAxMTgsIDIxLCAxNTgsIDExOCwgMjEsIDE2MSwgMTE4LCAyMSwgMTkwLCAxMTgsIDIxLCAxOTUsIAotICAgIDExOCwgMjEsIDE5OSwgMTE4LCAyMSwgMTk2LCAxMTgsIDIxLCAyMDEsIDIzNCwgMjUwLCA1LCAyNTEsIDcsIDIzNCwgMjUwLCAKLSAgICA1LCAyNTQsIDgzLCAyMzQsIDI1MCwgNSwgMjEzLCAxNDcsIDIzNCwgMjUwLCAxLCA2MSwgMjM0LCAyNTAsIDEsIDI1NSwgODIsIAotICAgIDIzNCwgMjUwLCAxLCA3NCwgMjM0LCAyNTAsIDEsIDIzNiwgNDAsIDIzNCwgMjUwLCAxLCA2OSwgMjM0LCAyNTAsIDEsIDIxNCwgCi0gICAgMTE4LCAyMzQsIDI1MCwgMSwgNzYsIDIzNCwgMjUwLCAxLCAyNTQsIDIxMCwgMjM0LCAyNTAsIDEsIDc4LCAyMzQsIDI1MCwgCi0gICAgMSwgMjUzLCAyMDAsIDIzNCwgMjUwLCAxLCAxNzYsIDIzNCwgMjUwLCAxLCAyMzQsIDEzOCwgMjM0LCAyNTAsIDEsIDI0MywgCi0gICAgMTQyLCAyMzQsIDI1MCwgMSwgMjQzLCAwLCAyMzQsIDI1MCwgMSwgMjI5LCA4MiwgMjM0LCAyNTAsIDEsIDI1MSwgNDEsIAotICAgIDIzNCwgMjUwLCAxLCAyNTAsIDE2NSwgMjM0LCAyNTAsIDEsIDIzNSwgMTQ3LCAyMzQsIDI1MCwgMSwgMjM1LCAxMjAsIDIzNCwgCi0gICAgMjUwLCAxLCAyMjcsIDE2OSwgMjM0LCAyNTAsIDEsIDIxNSwgMTU3LCAyMzQsIDI1MCwgMSwgMjE1LCAxNDUsIDIzNCwgMjUwLCAKLSAgICAxLCAyNDgsIDE0MywgMjM0LCAyNTAsIDEsIDI0OCwgMTMyLCAyMzQsIDI1MCwgMSwgMjQ4LCAxMjcsIDIzNCwgMjUwLCAxLCAKLSAgICAyMjMsIDQyLCAyMzQsIDI1MCwgMSwgMjI4LCAxMTUsIDIzNCwgMjUwLCAxLCAyMTcsIDEwNiwgMjM0LCAyNTAsIDEsIDIxNiwgCi0gICAgMjA5LCAyMzQsIDI1MCwgMSwgMjQ4LCAyMjksIDIzNCwgMjUwLCAxLCAyNDgsIDMzLCAyMzQsIDI1MCwgMSwgMTk4LCAyMzQsIAotICAgIDI1MCwgMSwgMTkxLCAyMzQsIDI1MCwgMSwgMjI1LCAxNTAsIDIzNCwgMjUwLCAxLCAyNTIsIDE5OSwgMjM0LCAyNTAsIDEsIAotICAgIDI1MiwgMjYsIDIzNCwgMjUwLCAxLCAxODYsIDIzNCwgMjUwLCAxLCAxOTIsIDIzNCwgMjUwLCAxLCAyMDUsIDIzNCwgMjUwLCAKLSAgICAxLCAyMzMsIDE0MSwgMjM0LCAyNTAsIDEsIDIxNCwgMjcsIDIzNCwgMjUwLCAxLCAyMjAsIDEwNCwgMjM0LCAyNTAsIDEsIAotICAgIDIxOCwgMjI1LCAyMzQsIDI1MCwgMSwgMjA2LCAyMzQsIDI1MCwgMSwgMTYyLCAyMzQsIDI1MCwgMjUsIDUsIDI1NSwgODIsIAotICAgIDIzNCwgMjUwLCAyNSwgNSwgNzQsIDIzNCwgMjUwLCAyNSwgNSwgMjM2LCA0MCwgMjM0LCAyNTAsIDI1LCA1LCA2OSwgMjM0LCAKLSAgICAyNTAsIDI1LCA1LCAyMTQsIDExOCwgMjM0LCAyNTAsIDI1LCA1LCA3NiwgMjM0LCAyNTAsIDI1LCA1LCAyNTQsIDIxMCwgCi0gICAgMjM0LCAyNTAsIDI1LCA1LCA3OCwgMjM0LCAyNTAsIDI1LCA1LCAyNTMsIDIwMCwgMjM0LCAyNTAsIDUsIDIxMywgMTUyLCAKLSAgICAyMzQsIDI1MCwgNSwgMjI3LCAyMDksIDIzNCwgMjUwLCAyNTUsIDMwLCA1MCwgMjM0LCAyNTAsIDI0NSwgMTI5LCA1MCwgCi0gICAgMjM0LCAyNTAsIDU0LCA1MCwgMjM0LCAyNTAsIDIyMSwgMTc1LCA3OSwgMjM0LCAyNTAsIDUyLCAyMjEsIDE3NSwgNzksIAotICAgIDIzNCwgMjUwLCAyNDgsIDE4NiwgMjM0LCAyNTAsIDUyLCAyNDgsIDE4NiwgMjE5LCAzOCwgMjE5LCA0NiwgMSwgMjIyLCAyMCwgCi0gICAgMjE5LCAzOCwgMjE5LCA0NiwgMSwgMjE3LCA4MSwgMjE5LCAzOCwgMjE5LCA0NiwgMSwgMjUyLCAxNzYsIDIxOSwgMzgsIAotICAgIDIxOSwgNDYsIDEsIDI1MSwgMzEsIDIxOSwgMzgsIDIxOSwgNDYsIDEsIDI0OCwgMjExLCAyMTksIDM4LCAyMTksIDQ2LCAxLCAKLSAgICAyNDMsIDEyNywgMjE5LCAzOCwgMjE5LCA0NiwgMSwgMjMxLCAyMTUsIDIxOSwgMzgsIDIxOSwgNDYsIDEsIDIyOSwgNzksIAotICAgIDIxOSwgMzgsIDIxOSwgNDYsIDEsIDIzMywgMTE4LCAyMTksIDM4LCAyMTksIDQ2LCAxLCAyMjksIDIxOCwgMjE5LCAzOCwgCi0gICAgMjE5LCA0NiwgMSwgMjE0LCAyNCwgMjE5LCAzOCwgMjE5LCA0NiwgMSwgMjI2LCA3NywgMjE5LCAzOCwgMjE5LCA0NiwgMSwgCi0gICAgMjExLCA4NCwgMjE5LCAzOCwgMjE5LCA0NiwgMSwgMjIzLCAxNzEsIDIxOSwgMzgsIDIxOSwgNDYsIDEsIDI0MiwgNDQsIAotICAgIDIxOSwgMzgsIDIxOSwgNDYsIDEsIDIzNCwgMjU0LCAyMTksIDM4LCAyMTksIDQ2LCAxLCAyMzUsIDE0MiwgMjE5LCAzOCwgCi0gICAgMjE5LCA0NiwgMSwgMjI3LCAxNjYsIDIxOSwgMzgsIDIxOSwgNDYsIDEsIDI1NCwgMjE4LCAyMTksIDM4LCAyMTksIDQ2LCAxLCAKLSAgICAyNDUsIDIxNSwgMjE5LCAzOCwgMjE5LCA0NiwgMSwgMjM2LCA0MSwgMjE5LCAzOCwgMjE5LCA0NiwgMSwgMjE0LCAyMDgsIAotICAgIDIxOSwgMzgsIDIxOSwgNDYsIDEsIDIyNiwgMjI2LCAyMTksIDM4LCAyMTksIDQ2LCAxLCAyNDUsIDIwNSwgMjE5LCAzOCwgCi0gICAgMjE5LCA0NiwgMSwgMjMxLCAyMjgsIDIxOSwgMzgsIDIxOSwgNDYsIDIxLCAyMTAsIDg2LCAyMTksIDM4LCAyMTksIDQ2LCAKLSAgICAyMSwgMTExLCAyMTksIDM4LCAyMTksIDQ2LCAyMSwgMTA1LCAyMTksIDM4LCAyMTksIDQ2LCAyMSwgMTU4LCAyMTksIDM4LCAKLSAgICAyMTksIDQ2LCAyMSwgMTYxLCAyMTksIDM4LCAyMTksIDQ2LCAyMSwgMTkwLCAyMTksIDM4LCAyMTksIDQ2LCAyMSwgMTk1LCAKLSAgICAyMTksIDM4LCAyMTksIDQ2LCAyMSwgMTk5LCAyMTksIDM4LCAyMTksIDQ2LCAyMSwgMTk2LCAyMTksIDM4LCAyMTksIDQ2LCAKLSAgICAyMSwgMjAxLCAyNTAsIDE1OSwgNSwgMjUxLCA3LCAyNTAsIDE1OSwgNSwgMjU0LCA4MywgMjUwLCAxNTksIDUsIDIxMywgCi0gICAgMTQ3LCAyNTAsIDE1OSwgMSwgMjU1LCA4MiwgMjUwLCAxNTksIDEsIDc0LCAyNTAsIDE1OSwgMSwgNjksIDI1MCwgMTU5LCAxLCAKLSAgICA3NiwgMjUwLCAxNTksIDEsIDIzNSwgMTYsIDI1MCwgMTU5LCAxLCAyMzQsIDEzNywgMjUwLCAxNTksIDEsIDI0MywgMTM5LCAKLSAgICAyNTAsIDE1OSwgMSwgMjQyLCAyNTUsIDI1MCwgMTU5LCAxLCAyMjksIDgxLCAyNTAsIDE1OSwgMSwgMjUxLCA0MCwgMjUwLCAKLSAgICAxNTksIDEsIDI1MCwgMTY0LCAyNTAsIDE1OSwgMSwgMjM1LCAxNDYsIDI1MCwgMTU5LCAxLCAyMzUsIDExOSwgMjUwLCAxNTksIAotICAgIDEsIDIyNywgMTY4LCAyNTAsIDE1OSwgMSwgMjE1LCAxNTYsIDI1MCwgMTU5LCAxLCAyMTUsIDE0NCwgMjUwLCAxNTksIDEsIAotICAgIDI0OCwgMTQyLCAyNTAsIDE1OSwgMSwgMjQ4LCAxMjYsIDI1MCwgMTU5LCAxLCAyMjgsIDExNCwgMjUwLCAxNTksIDEsIDIxNywgCi0gICAgMTAyLCAyNTAsIDE1OSwgMSwgMjE2LCAyMDgsIDI1MCwgMTU5LCAxLCAyNDgsIDIyOCwgMjUwLCAxNTksIDEsIDI0OCwgMzIsIAotICAgIDI1MCwgMTU5LCAxLCAyMjksIDIzMCwgMjUwLCAxNTksIDEsIDIyNiwgOTMsIDI1MCwgMTU5LCAxLCAyMjUsIDE0OSwgMjUwLCAKLSAgICAxNTksIDEsIDI1MiwgMTk3LCAyNTAsIDE1OSwgMSwgMjUyLCAyNSwgMjUwLCAxNTksIDEsIDIzMSwgMjQyLCAyNTAsIDE1OSwgCi0gICAgMSwgMjEwLCAxNjcsIDI1MCwgMTU5LCAxLCAyMTEsIDEwMywgMjUwLCAxNTksIDEsIDIyMywgMTg3LCAyNTAsIDE1OSwgMSwgCi0gICAgMjMzLCAxNDAsIDI1MCwgMTU5LCAxLCAyMTIsIDY0LCAyNTAsIDE1OSwgMSwgMjIyLCAzMywgMjUwLCAxNTksIDEsIDI0MiwgCi0gICAgNTMsIDI1MCwgMTU5LCAyNSwgNSwgNjEsIDI1MCwgMTU5LCAyNSwgNSwgNzQsIDI1MCwgMTU5LCAyNSwgNSwgMjM2LCA0MCwgCi0gICAgMjUwLCAxNTksIDI1LCA1LCA2OSwgMjUwLCAxNTksIDI1LCA1LCAyMTQsIDExOCwgMjUwLCAxNTksIDI1LCA1LCA3NiwgMjUwLCAKLSAgICAxNTksIDI1LCA1LCAyNTQsIDIxMCwgMjUwLCAxNTksIDI1LCA1LCA3OCwgMjUwLCAxNTksIDI1LCA1LCAyNTMsIDIwMCwgCi0gICAgMjUwLCAxNTksIDI1LCA1LCAyMjYsIDIyMywgMjUwLCAxNTksIDE0NCwgNzksIDI1MCwgMTU5LCAyNTMsIDIwMSwgNzksIAotICAgIDI1MCwgMTU5LCAyMTMsIDE1MiwgMjUwLCAxNTksIDIzMSwgMjQwLCAyNTAsIDE1OSwgMjEsIDIxMCwgODYsIDI1MCwgMTU5LCAKLSAgICAyMSwgMTExLCAyNTAsIDE1OSwgMjEsIDEwNSwgMjUwLCAxNTksIDIxLCAxNTgsIDI1MCwgMTU5LCAyMSwgMTYxLCAyNTAsIAotICAgIDE1OSwgMjEsIDE5MCwgMjUwLCAxNTksIDIxLCAxOTUsIDI1MCwgMTU5LCAyMSwgMTk5LCAyNTAsIDE1OSwgMjEsIDE5NiwgCi0gICAgMjUwLCAxNTksIDIxLCAyMDEsIDI1MCwgMTU5LCAyMjEsIDE3NSwgNzksIDI1MCwgMTU5LCAyNDgsIDE4NiwgMjUwLCAxNTksIAotICAgIDUyLCAyNDgsIDE4NiwgMjUwLCAxNTksIDIyNCwgMTYsIDc5LCAxNzQsIDUsIDI1MSwgNywgMTc0LCA1LCAyNTQsIDgzLCAKLSAgICAxNzQsIDUsIDIxMywgMTQ3LCAxNzQsIDEsIDYxLCAxNzQsIDEsIDI1NSwgODIsIDE3NCwgMSwgNzQsIDE3NCwgMSwgMjM2LCAKLSAgICA0MCwgMTc0LCAxLCA2OSwgMTc0LCAxLCAyMTQsIDExOCwgMTc0LCAxLCAxNDksIDE1MywgMTc0LCAxLCAxNDksIDIyMiwgCi0gICAgMTgyLCAxNzQsIDEsIDE0OSwgMTU2LCAxNzQsIDEsIDE0OSwgMjMyLCAxOTEsIDE3NCwgMSwgNzYsIDE3NCwgMSwgMjU0LCAKLSAgICAyMTAsIDE3NCwgMSwgNzgsIDE3NCwgMSwgMjUzLCAyMDAsIDE3NCwgMSwgMTc2LCAxNzQsIDEsIDIzNCwgMTM4LCAxNzQsIDEsIAotICAgIDI0MywgMTQyLCAxNzQsIDEsIDI0MywgMCwgMTc0LCAxLCAyMjksIDgyLCAxNzQsIDEsIDI1MSwgNDEsIDE3NCwgMSwgMjUwLCAKLSAgICAxNjUsIDE3NCwgMSwgMjM1LCAxNDcsIDE3NCwgMSwgMjM1LCAxMjAsIDE3NCwgMSwgMjI3LCAxNjksIDE3NCwgMSwgMjE1LCAKLSAgICAxNTcsIDE3NCwgMSwgMjE1LCAxNDUsIDE3NCwgMSwgMjQ4LCAxNDMsIDE3NCwgMSwgMjQ4LCAxMjcsIDE3NCwgMSwgMjI4LCAKLSAgICAxMTUsIDE3NCwgMSwgMjE3LCAxMDYsIDE3NCwgMSwgMjE2LCAyMDksIDE3NCwgMSwgMjQ4LCAyMjksIDE3NCwgMSwgMjQ4LCAKLSAgICAzMywgMTc0LCAxLCAxOTgsIDE3NCwgMSwgMTkxLCAxNzQsIDEsIDIyNSwgMTUwLCAxNzQsIDEsIDI1MiwgMTk5LCAxNzQsIDEsIAotICAgIDI1MiwgMjYsIDE3NCwgMSwgMTg2LCAxNzQsIDEsIDE5MiwgMTc0LCAxLCAyMDUsIDE3NCwgMSwgMjMzLCAxNDEsIDE3NCwgMSwgCi0gICAgMjMyLCAxOTAsIDE3NCwgMSwgMjE0LCAyNywgMTc0LCAxLCAyMjAsIDEwNCwgMTc0LCAxLCAyMTgsIDIyNSwgMTc0LCAxLCAKLSAgICAyMDYsIDE3NCwgMSwgMTYyLCAxNzQsIDI1LCA1LCAyNTUsIDgyLCAxNzQsIDI1LCA1LCA3NCwgMTc0LCAyNSwgNSwgMjM2LCAKLSAgICA0MCwgMTc0LCAyNSwgNSwgNjksIDE3NCwgMjUsIDUsIDIxNCwgMTE4LCAxNzQsIDI1LCA1LCAxNDksIDE1MywgMTc0LCAyNSwgCi0gICAgNSwgMTQ5LCAyMjIsIDE4MiwgMTc0LCAyNSwgNSwgMTQ5LCAxNTYsIDE3NCwgMjUsIDUsIDE0OSwgMjMyLCAxOTEsIDE3NCwgCi0gICAgMjUsIDUsIDc2LCAxNzQsIDI1LCA1LCAyNTQsIDIxMCwgMTc0LCAyNSwgNSwgNzgsIDE3NCwgMjUsIDUsIDI1MywgMjAwLCAKLSAgICAxNzQsIDUsIDIxMywgMTUyLCAxNzQsIDUsIDI1MywgMTgzLCAxNzQsIDUsIDIzNSwgMTA4LCAxNzQsIDUsIDIxNCwgMTYxLCAKLSAgICAxNzQsIDIyNiwgMjA4LCAxNzQsIDI0OCwgMTg2LCAxNzQsIDUyLCAyNDgsIDE4NiwgMTc0LCAyNTUsIDMwLCA1MCwgMTc0LCAKLSAgICAyMjAsIDEzOSwgMTc0LCAyMSwgMjEwLCA4NiwgMTc0LCAyMSwgMTExLCAxNzQsIDIxLCAxMDUsIDE3NCwgMjEsIDE1OCwgCi0gICAgMTc0LCAyMSwgMTYxLCAxNzQsIDIxLCAxOTAsIDE3NCwgMjEsIDE5NSwgMTc0LCAyMSwgMTk5LCAxNzQsIDIxLCAxOTYsIAotICAgIDE3NCwgMjEsIDIwMSwgMjE3LCA3MCwgMSwgNjEsIDIxNywgNzAsIDEsIDI1NSwgODIsIDIxNywgNzAsIDEsIDc0LCAyMTcsIAotICAgIDcwLCAxLCAyMzYsIDQwLCAyMTcsIDcwLCAxLCA2OSwgMjE3LCA3MCwgMSwgMjE0LCAxMTgsIDIxNywgNzAsIDEsIDc2LCAKLSAgICAyMTcsIDcwLCAxLCAyNTQsIDIxMCwgMjE3LCA3MCwgMSwgNzgsIDIxNywgNzAsIDEsIDI1MywgMjAwLCAyMTcsIDcwLCAxLCAKLSAgICAxNzYsIDIxNywgNzAsIDEsIDIzNCwgMTM4LCAyMTcsIDcwLCAxLCAyNDMsIDE0MiwgMjE3LCA3MCwgMSwgMjQzLCAwLCAyMTcsIAotICAgIDcwLCAxLCAyMjksIDgyLCAyMTcsIDcwLCAxLCAyNTEsIDQxLCAyMTcsIDcwLCAxLCAyNTAsIDE2NSwgMjE3LCA3MCwgMSwgCi0gICAgMjM1LCAxNDcsIDIxNywgNzAsIDEsIDIzNSwgMTIwLCAyMTcsIDcwLCAxLCAyMjcsIDE2OSwgMjE3LCA3MCwgMSwgMjE1LCAKLSAgICAxNTcsIDIxNywgNzAsIDEsIDIxNSwgMTQ1LCAyMTcsIDcwLCAxLCAyNDgsIDE0MywgMjE3LCA3MCwgMSwgMjQ4LCAxMjcsIAotICAgIDIxNywgNzAsIDEsIDIyOCwgMTE1LCAyMTcsIDcwLCAxLCAyMTcsIDEwNiwgMjE3LCA3MCwgMSwgMjE2LCAyMDksIDIxNywgCi0gICAgNzAsIDEsIDI0OCwgMjI5LCAyMTcsIDcwLCAxLCAyNDgsIDMzLCAyMTcsIDcwLCAxLCAxOTgsIDIxNywgNzAsIDEsIDE5MSwgCi0gICAgMjE3LCA3MCwgMSwgMjI1LCAxNTAsIDIxNywgNzAsIDEsIDI1MiwgMTk5LCAyMTcsIDcwLCAxLCAyNTIsIDI2LCAyMTcsIDcwLCAKLSAgICAxLCAxODYsIDIxNywgNzAsIDEsIDE5MiwgMjE3LCA3MCwgMSwgMjA1LCAyMTcsIDcwLCAxLCAyMzMsIDE0MSwgMjE3LCA3MCwgCi0gICAgMSwgMjE0LCAyNywgMjE3LCA3MCwgMSwgMjIwLCAxMDQsIDIxNywgNzAsIDEsIDIwNiwgMjE3LCA3MCwgMSwgMTYyLCAyMTcsIAotICAgIDcwLCAxLCAyMjIsIDE4MSwgMjE3LCA3MCwgNSwgMjU0LCA4MywgMjE3LCA3MCwgNSwgMjEzLCAxNDcsIDIxNywgNzAsIDI1LCAKLSAgICA1LCAyNTUsIDgyLCAyMTcsIDcwLCAyNSwgNSwgNzQsIDIxNywgNzAsIDI1LCA1LCAyMzYsIDQwLCAyMTcsIDcwLCAyNSwgNSwgCi0gICAgNjksIDIxNywgNzAsIDI1LCA1LCAyMTQsIDExOCwgMjE3LCA3MCwgMjUsIDUsIDc2LCAyMTcsIDcwLCAyNSwgNSwgMjU0LCAKLSAgICAyMTAsIDIxNywgNzAsIDI1LCA1LCA3OCwgMjE3LCA3MCwgMjUsIDUsIDI1MywgMjAwLCAyMTcsIDcwLCA1LCAyMTMsIDE1MiwgCi0gICAgMjE3LCA3MCwgNSwgMjI3LCAyMDksIDIxNywgNzAsIDIxLCAyMTAsIDg2LCAyMTcsIDcwLCAyMSwgMTExLCAyMTcsIDcwLCAKLSAgICAyMSwgMTA1LCAyMTcsIDcwLCAyMSwgMTU4LCAyMTcsIDcwLCAyMSwgMTYxLCAyMTcsIDcwLCAyMSwgMTkwLCAyMTcsIDcwLCAKLSAgICAyMSwgMTk1LCAyMTcsIDcwLCAyMSwgMTk5LCAyMTcsIDcwLCAyMSwgMTk2LCAyMTcsIDcwLCAyMSwgMjAxLCAxNSwgNSwgNjEsIAotICAgIDE1LCA1LCAxMTYsIDMwLCA2MSwgMTUsIDUsIDExNiwgMzAsIDI1MiwgMTg0LCAxNSwgNSwgMTE2LCAzMCwgMjQzLCAxMTIsIAotICAgIDIxNiwgMjQwLCAxNSwgNSwgMTE2LCAzMCwgMTYyLCAxNSwgNSwgMTE2LCAzMCwgMjM2LCA0MiwgMTUsIDUsIDExNiwgMzAsIAotICAgIDIzMywgMTIyLCAyNDIsIDEwMSwgMTUsIDUsIDExNiwgMzAsIDIzMCwgNjYsIDE1LCA1LCAxMTYsIDMwLCAyMjIsIDIzLCAxNSwgCi0gICAgNSwgMjU1LCA4NCwgMTUsIDUsIDI1NSwgMzQsIDE1LCA1LCAyNTUsIDM1LCAzMCwgMjUzLCAyMzcsIDE1LCA1LCAyNTUsIDM1LCAKLSAgICAzMCwgMjQ2LCA3NSwgMjQyLCAxMDEsIDE1LCA1LCAyNTUsIDM1LCAzMCwgMjQzLCAxMjUsIDE1LCA1LCAyNTUsIDM1LCAzMCwgCi0gICAgMjQzLCAxMTIsIDIxNiwgMjQwLCAxNSwgNSwgMjU1LCAzNSwgMzAsIDE2MiwgMTUsIDUsIDI1NSwgMzUsIDMwLCAyMzYsIDQzLCAKLSAgICAyNDIsIDEwMSwgMTUsIDUsIDI1NSwgMzUsIDMwLCAyMzYsIDE2LCAxNSwgNSwgMjU1LCAzNSwgMzAsIDIzMywgMTIzLCAxNSwgCi0gICAgNSwgMjU1LCAzNSwgMzAsIDIyMCwgNTAsIDE1LCA1LCAyNTUsIDM1LCAzMCwgMTA0LCA5NiwgMTA0LCA5NiwgNjksIDE1LCA1LCAKLSAgICAyNTUsIDM1LCAyNDIsIDEwMSwgMTUsIDUsIDI1NSwgMzIsIDE1LCA1LCAyNTUsIDMzLCAzMCwgMjUyLCAxNjgsIDE1LCA1LCAKLSAgICAyNTUsIDMzLCAzMCwgMjQzLCAxMTIsIDIxNiwgMjQwLCAxNSwgNSwgMjU1LCAzMywgMzAsIDIzMSwgOTcsIDk2LCAyNDUsIAotICAgIDE1OCwgMTUsIDUsIDI1NSwgMzMsIDMwLCAyMjAsIDEwMiwgMTUsIDUsIDI1NSwgMzMsIDMwLCAyMTcsIDczLCAxNSwgNSwgCi0gICAgMjU1LCA4LCAxNSwgNSwgMjU0LCAxOTUsIDE1LCA1LCAyNTQsIDE5NiwgMzAsIDI0NSwgOTUsIDE1LCA1LCAyNTQsIDE5NiwgCi0gICAgMzAsIDIyMCwgMTIsIDk2LCAyNDIsIDE5NywgMTUsIDUsIDI1NCwgMTg3LCAxNSwgNSwgMjU0LCAxODgsIDMwLCAyNTQsIAotICAgIDE4NywgMTUsIDUsIDI1NCwgMTg4LCAzMCwgMjQ3LCAyMjQsIDE1LCA1LCAyNTQsIDE4OCwgMzAsIDI0MiwgMTk3LCAxNSwgNSwgCi0gICAgMjU0LCAxODgsIDMwLCAxNjIsIDE1LCA1LCAyNTQsIDE4OCwgMzAsIDIzNSwgNSwgMTUsIDUsIDI1NCwgMTg4LCAzMCwgMjM0LCAKLSAgICA5OCwgMTUsIDUsIDI1NCwgMTg4LCAzMCwgMjIwLCA2NSwgMTUsIDUsIDI1NCwgMTg4LCAzMCwgMjE0LCAxMjYsIDE1LCA1LCAKLSAgICAyNTQsIDE4NCwgMTUsIDUsIDI1NCwgMTc3LCAxNSwgNSwgMjU0LCAxNDAsIDE1LCA1LCAyNTQsIDE0MSwgMzAsIDIyMCwgNjUsIAotICAgIDE1LCA1LCAyNTQsIDEzMSwgMTUsIDUsIDI1NCwgMTMyLCAxMTUsIDI1NCwgMTMxLCAxNSwgNSwgMjU0LCAxMzIsIDEzNCwgCi0gICAgMjE2LCA4NiwgMTUsIDUsIDI1NCwgMTMyLCA5NiwgMjI5LCAyMjIsIDIyNiwgMTY4LCAyNTQsIDEzMiwgOTYsIDIyOSwgMjIxLCAKLSAgICAxNSwgNSwgMjU0LCAxMzIsIDk2LCAyMjksIDIyMiwgMjE4LCAyMzUsIDE1LCA1LCAyNTQsIDEwMiwgMTUsIDUsIDI1NCwgNzUsIAotICAgIDE1LCA1LCAyNTQsIDQzLCAxNSwgNSwgMjU0LCA0NCwgMzAsIDIzMywgMjAyLCAxNSwgNSwgMjU0LCAxNiwgMTUsIDUsIDI1MywgCi0gICAgMjQ0LCAxNSwgNSwgMjUzLCAyMzksIDE1LCA1LCAyNTMsIDI0MCwgMjEwLCA0MCwgMjE2LCAyNDAsIDE1LCA1LCAyNTMsIAotICAgIDI0MCwgMjM1LCA5LCAyMTYsIDI0MCwgMTUsIDUsIDI1MywgMjQwLCAxMTUsIDI1MywgMjQwLCAyMTUsIDExNSwgMTE1LCAKLSAgICAyMTUsIDExNSwgMjE1LCAxMTUsIDExNSwgMjE1LCAxMTUsIDIyNiwgMjUsIDE1LCA1LCAyNTMsIDI0MCwgMTE1LCAyNTMsIAotICAgIDI0MCwgMTE1LCAyNTMsIDIzOSwgMTUsIDUsIDI1MywgMjQwLCAxMTUsIDI1MywgMjQwLCAxMTUsIDI1MywgMjQwLCAyNDksIAotICAgIDEzMywgMjUzLCAyNDAsIDExNSwgMjUzLCAyNDAsIDExNSwgMjUzLCAyMzksIDE1LCA1LCAyNTMsIDIzNywgMTUsIDUsIDI1MywgCi0gICAgMjM0LCAxNSwgNSwgMjUyLCAxOTksIDE1LCA1LCAyNTIsIDE4NCwgMTUsIDUsIDI1MiwgMTc5LCAxNSwgNSwgMjUyLCAxNzUsIAotICAgIDE1LCA1LCAyNTIsIDE2OSwgMTUsIDUsIDI1MiwgMTcwLCAxMTUsIDI1MiwgMTY5LCAxNSwgNSwgMjUyLCAxNjgsIDE1LCA1LCAKLSAgICAxMzAsIDE1LCA1LCAyNTIsIDE0OCwgMTUsIDUsIDI1MiwgMTQsIDE1LCA1LCAyNTIsIDE1LCAzMCwgNjEsIDE1LCA1LCAyNTIsIAotICAgIDE1LCAzMCwgMjQzLCAxMDMsIDE1LCA1LCAyNTIsIDE1LCAzMCwgMjM2LCA0MywgMjQyLCAxMDEsIDE1LCA1LCAyNTEsIDEzMywgCi0gICAgMTUsIDUsIDI1MSwgMTM0LCAxMTUsIDI1MSwgMTM0LCAyNTUsIDM0LCAxNSwgNSwgMjUxLCAxMzQsIDExNSwgMjUxLCAxMzQsIAotICAgIDIxNCwgMTkwLCAxNSwgNSwgMjUxLCAxMzQsIDI0OSwgMTMzLCAyNTEsIDEzMywgMTUsIDUsIDI1MSwgMTE3LCAxNSwgNSwgCi0gICAgMjUxLCAxMTgsIDExNSwgMjUxLCAxMTcsIDE1LCA1LCAyNTEsIDEwNiwgMTUsIDUsIDI1MSwgMTA1LCAxNSwgNSwgMjQ4LCAKLSAgICAyMjksIDE1LCA1LCAyNDgsIDIyMCwgMTUsIDUsIDI0OCwgMjIxLCAyMzQsIDcyLCAzMCwgMTE2LCA5NiwgMjMxLCAxNTIsIAotICAgIDE1LCA1LCAyNDgsIDIyMSwgMjM0LCA3MiwgMzAsIDI1NCwgMTQwLCAxNSwgNSwgMjQ4LCAyMjEsIDIzNCwgNzIsIDMwLCAKLSAgICAyNTIsIDE2OCwgMTUsIDUsIDI0OCwgMjIxLCAyMzQsIDcyLCAzMCwgMjUyLCAxNCwgMTUsIDUsIDI0OCwgMjIxLCAyMzQsIAotICAgIDcyLCAzMCwgMjQzLCAxNDIsIDE1LCA1LCAyNDgsIDIyMSwgMjM0LCA3MiwgMzAsIDI0MywgMTQzLCA5NiwgMjMxLCAxNTIsIAotICAgIDE1LCA1LCAyNDgsIDIyMSwgMjM0LCA3MiwgMzAsIDI0MiwgMjIxLCAxNSwgNSwgMjQ4LCAyMjEsIDIzNCwgNzIsIDMwLCAKLSAgICAyNDIsIDIwNCwgMTUsIDUsIDI0OCwgMjIxLCAyMzQsIDcyLCAzMCwgMjQyLCAxMTAsIDE1LCA1LCAyNDgsIDIyMSwgMjM0LCAKLSAgICA3MiwgMzAsIDE2MiwgMTUsIDUsIDI0OCwgMjIxLCAyMzQsIDcyLCAzMCwgMjM1LCAxODYsIDE1LCA1LCAyNDgsIDIyMSwgCi0gICAgMjM0LCA3MiwgMzAsIDIzNSwgMTg3LCA5NiwgMjMyLCAxMDMsIDE1LCA1LCAyNDgsIDIyMSwgMjM0LCA3MiwgMzAsIDIzNCwgCi0gICAgMjQ4LCAxNSwgNSwgMjQ4LCAyMjEsIDIzNCwgNzIsIDMwLCAyMzMsIDE0MSwgMTUsIDUsIDI0OCwgMjIxLCAyMzQsIDcyLCAKLSAgICAzMCwgMjMyLCAxMDMsIDE1LCA1LCAyNDgsIDIyMSwgMjM0LCA3MiwgMzAsIDIzMiwgMTA0LCA5NiwgMjMxLCAxNTEsIDE1LCAKLSAgICA1LCAyNDgsIDIyMSwgMjM0LCA3MiwgMzAsIDIzMiwgODksIDE1LCA1LCAyNDgsIDIyMSwgMjM0LCA3MiwgMzAsIDIyOSwgCi0gICAgMTEyLCAxNSwgNSwgMjQ4LCAyMjEsIDIzNCwgNzIsIDMwLCAyMjYsIDI2LCA5NiwgMjI2LCAyNSwgMTUsIDUsIDI0OCwgMjIxLCAKLSAgICAyMzQsIDcyLCAzMCwgMjE5LCAxOTMsIDE1LCA1LCAyNDgsIDIyMSwgMjM0LCA3MiwgMzAsIDIxNywgNzMsIDE1LCA1LCAyNDgsIAotICAgIDIyMSwgMjM0LCA3MiwgMzAsIDIxNCwgMjMxLCA5NiwgMjQyLCAyMDQsIDE1LCA1LCAyNDgsIDIyMSwgMjM0LCA3MiwgMzAsIAotICAgIDIxNCwgMTI2LCAxNSwgNSwgMjQ4LCAxOTUsIDE1LCA1LCAyNDgsIDE3NCwgMTUsIDUsIDI0OCwgMTczLCAxNSwgNSwgMjQ4LCAKLSAgICAxNzIsIDE1LCA1LCAyNDgsIDExLCAxNSwgNSwgMjQ3LCAyNTAsIDE1LCA1LCAyNDcsIDIyNSwgMTUsIDUsIDI0NywgMjI2LCAKLSAgICAzMCwgMjIwLCA2NSwgMTUsIDUsIDI0NywgMjI0LCAxNSwgNSwgMjQ3LCAyMTQsIDE1LCA1LCAyNDcsIDIxNSwgMjM0LCAyMTQsIAotICAgIDEwNCwgMjQyLCAxMDIsIDI0NywgMTk1LCAxNSwgNSwgMjQ3LCAxOTUsIDE1LCA1LCAyNDYsIDg2LCAxNSwgNSwgMjQ2LCA4NywgCi0gICAgMTE1LCAyNDYsIDg2LCAxNSwgNSwgMjQ2LCA4NywgMjQyLCAxMDEsIDE1LCA1LCAyNDYsIDg3LCAyMjAsIDQ3LCAxNSwgNSwgCi0gICAgMjQ2LCA4NCwgMTUsIDUsIDI0NiwgODUsIDMwLCAyNDUsIDgwLCAxNSwgNSwgMjQ2LCA4MywgMTUsIDUsIDI0NiwgODIsIDE1LCAKLSAgICA1LCAyNDYsIDgxLCAxNSwgNSwgMjQ2LCA4MCwgMTUsIDUsIDI0NiwgNzYsIDE1LCA1LCAyNDYsIDc0LCAxNSwgNSwgMjQ2LCAKLSAgICA3NSwgMjQyLCAxMDEsIDE1LCA1LCAyNDYsIDc1LCAyNDIsIDEwMiwgMjQyLCAxMDEsIDE1LCA1LCAyNDYsIDczLCAxNSwgNSwgCi0gICAgMjQ2LCA2NiwgMTUsIDUsIDc2LCAxNSwgNSwgMTYwLCAzMCwgMjI2LCAyNSwgMTUsIDUsIDE2MCwgMTE1LCAxNjAsIDIyNywgCi0gICAgMTk5LCAxMTUsIDIyNywgMTk4LCAxNSwgNSwgMjQ1LCAyNDIsIDE1LCA1LCAyNDUsIDI0MywgMzAsIDExNiwgOTYsIDI0MiwgCi0gICAgNTYsIDk2LCAyNDgsIDIyOSwgMTUsIDUsIDI0NSwgMjQzLCAzMCwgMjQzLCAxMDMsIDE1LCA1LCAyNDUsIDI0MywgMzAsIAotICAgIDIzMCwgMjM1LCAxNSwgNSwgMjQ1LCAyNDMsIDMwLCAyMjIsIDEwLCAxNSwgNSwgMjQ1LCAyNDMsIDMwLCAyMjAsIDY1LCAxNSwgCi0gICAgNSwgMjQ1LCAyNDMsIDMwLCA2OSwgMTUsIDUsIDI0NSwgMjE5LCAxNSwgNSwgMjQ1LCAyMDgsIDE1LCA1LCAyNDUsIDE4MiwgCi0gICAgMTUsIDUsIDI0NSwgMTU4LCAxNSwgNSwgMjQ1LCAxNTksIDMwLCAyNDMsIDExMSwgMTUsIDUsIDI0NSwgMTU5LCAzMCwgMjQzLCAKLSAgICAxMTIsIDIxNiwgMjQwLCAxNSwgNSwgMjQ1LCAxNTksIDMwLCAyMzEsIDk2LCAxNSwgNSwgMjQ1LCAxNTksIDI0OSwgMTMzLCAKLSAgICAyNDUsIDE1OCwgMTUsIDUsIDI0NSwgMTU5LCAyMjYsIDE2OCwgMjQ1LCAxNTgsIDE1LCA1LCAyNDUsIDE1OSwgMjE4LCAyMzUsIAotICAgIDE1LCA1LCAyNDUsIDk3LCAxNSwgNSwgMjQ1LCA5NSwgMTUsIDUsIDI0NSwgODAsIDE1LCA1LCAyNDUsIDE4LCAxNSwgNSwgCi0gICAgMjQ1LCAxOSwgMzAsIDYxLCAxNSwgNSwgMjQ1LCAxOSwgMzAsIDExNiwgOTYsIDIzMywgMTEwLCAxNSwgNSwgMjQ1LCAxOSwgCi0gICAgMzAsIDExNiwgOTYsIDIzMywgMTExLCAzMCwgMjMzLCAxMTAsIDE1LCA1LCAyNDUsIDE5LCAzMCwgMjU0LCAxMzEsIDE1LCA1LCAKLSAgICAyNDUsIDE5LCAzMCwgMjUyLCAxODQsIDE1LCA1LCAyNDUsIDE5LCAzMCwgMjQ2LCA3NSwgMjQyLCAxMDEsIDE1LCA1LCAyNDUsIAotICAgIDE5LCAzMCwgMjQ2LCA3NSwgMjQyLCAxMDIsIDI0MiwgMTAxLCAxNSwgNSwgMjQ1LCAxOSwgMzAsIDE2MiwgMTUsIDUsIDI0NSwgCi0gICAgMTksIDMwLCAyNDIsIDU2LCAyNDIsIDEwMSwgMTUsIDUsIDI0NSwgMTksIDMwLCAyMzYsIDQzLCAyNDIsIDEwMSwgMTUsIDUsIAotICAgIDI0NSwgMTksIDMwLCAyMzQsIDIxMywgMTUsIDUsIDI0NSwgMTksIDMwLCAyMzQsIDIxNCwgMjE4LCAyMzUsIDE1LCA1LCAKLSAgICAyNDUsIDE5LCAzMCwgMjMzLCAyMjEsIDE1LCA1LCAyNDUsIDE5LCAzMCwgMjMzLCAxNDEsIDE1LCA1LCAyNDUsIDE5LCAzMCwgCi0gICAgMjMzLCAxMTEsIDMwLCAyMzMsIDExMCwgMTUsIDUsIDI0NSwgMTksIDMwLCAyMzIsIDI0NywgMTUsIDUsIDI0NSwgMTksIDMwLCAKLSAgICAyMzIsIDEwMywgMTUsIDUsIDI0NSwgMTksIDMwLCAyMTQsIDIzMCwgMTUsIDUsIDI0NSwgMTksIDMwLCAyMTQsIDIxOSwgMTUsIAotICAgIDUsIDI0MywgMTQyLCAxNSwgNSwgMjQzLCAxNDMsIDI0MiwgMTAxLCAxNSwgNSwgMjQzLCAxNDAsIDE1LCA1LCAyNDMsIDE0MSwgCi0gICAgMzAsIDExNiwgOTYsIDI0OCwgMjMwLCA5NiwgMTYyLCAxNSwgNSwgMjQzLCAxNDEsIDMwLCAxMTYsIDk2LCAxNjIsIDE1LCA1LCAKLSAgICAyNDMsIDE0MSwgMzAsIDExNiwgOTYsIDIzNiwgNDIsIDE1LCA1LCAyNDMsIDE0MSwgMzAsIDI1NSwgMzMsIDIxNiwgMjQxLCAKLSAgICA5NiwgMjE3LCA5NCwgMTUsIDUsIDI0MywgMTQxLCAzMCwgMjU0LCAxMzEsIDE1LCA1LCAyNDMsIDE0MSwgMzAsIDI1MywgCi0gICAgMjM5LCAxNSwgNSwgMjQzLCAxNDEsIDMwLCAyNTMsIDIzOCwgOTYsIDI0MywgMTI1LCAxNSwgNSwgMjQzLCAxNDEsIDMwLCAKLSAgICAyNTIsIDE4NCwgMTUsIDUsIDI0MywgMTQxLCAzMCwgMjUyLCAxNDksIDk2LCAyMDUsIDE1LCA1LCAyNDMsIDE0MSwgMzAsIAotICAgIDI1MSwgMTA2LCAxNSwgNSwgMjQzLCAxNDEsIDMwLCAyNTEsIDEwNywgOTYsIDIwNSwgMTUsIDUsIDI0MywgMTQxLCAzMCwgCi0gICAgMjQ4LCAyMjksIDE1LCA1LCAyNDMsIDE0MSwgMzAsIDI0OCwgMTEsIDE1LCA1LCAyNDMsIDE0MSwgMzAsIDI0NywgMjI2LCAKLSAgICAzMCwgMjIwLCA2NSwgMTUsIDUsIDI0MywgMTQxLCAzMCwgMjQ2LCA4NCwgMTUsIDUsIDI0MywgMTQxLCAzMCwgMjQ1LCAxODIsIAotICAgIDE1LCA1LCAyNDMsIDE0MSwgMzAsIDI0NSwgMTgzLCA5NiwgMjMzLCAxNDEsIDE1LCA1LCAyNDMsIDE0MSwgMzAsIDI0NSwgCi0gICAgMTU4LCAxNSwgNSwgMjQzLCAxNDEsIDMwLCAyNDUsIDE1OSwgMzAsIDI0MywgMTEyLCAyMTYsIDI0MCwgMTUsIDUsIDI0MywgCi0gICAgMTQxLCAzMCwgMjQzLCAxMTIsIDIxNiwgMjQwLCAxNSwgNSwgMjQzLCAxNDEsIDMwLCAyNDMsIDEwMywgMTUsIDUsIDI0MywgCi0gICAgMTQxLCAzMCwgMjQyLCAyMjEsIDE1LCA1LCAyNDMsIDE0MSwgMzAsIDI0MiwgMjE5LCAxNSwgNSwgMjQzLCAxNDEsIDMwLCAKLSAgICAyNDIsIDIyMCwgOTYsIDYxLCAxNSwgNSwgMjQzLCAxNDEsIDMwLCAyNDIsIDIwNSwgOTYsIDIxOCwgODQsIDE1LCA1LCAyNDMsIAotICAgIDE0MSwgMzAsIDI0MiwgNTYsIDk2LCAyMzIsIDEwNCwgOTYsIDI0NSwgODAsIDE1LCA1LCAyNDMsIDE0MSwgMzAsIDI0MiwgCi0gICAgMzcsIDE1LCA1LCAyNDMsIDE0MSwgMzAsIDI0MiwgMzgsIDk2LCAyMzMsIDE0MSwgMTUsIDUsIDI0MywgMTQxLCAzMCwgMjQxLCAKLSAgICAxODgsIDk2LCAyMzIsIDI0NywgMTUsIDUsIDI0MywgMTQxLCAzMCwgMjQwLCAyMjUsIDE1LCA1LCAyNDMsIDE0MSwgMzAsIAotICAgIDIzNiwgNDMsIDI0MiwgMTAxLCAxNSwgNSwgMjQzLCAxNDEsIDMwLCAyMzUsIDE3MywgOTYsIDI0MCwgMjMwLCA5NiwgMjUzLCAKLSAgICAyMzksIDE1LCA1LCAyNDMsIDE0MSwgMzAsIDIzNCwgMjQ4LCAxNSwgNSwgMjQzLCAxNDEsIDMwLCAyMzQsIDIxMywgMTUsIDUsIAotICAgIDI0MywgMTQxLCAzMCwgMjM0LCA5NSwgMTUsIDUsIDI0MywgMTQxLCAzMCwgMjM0LCA5NiwgOTYsIDIzMywgMTEwLCAxNSwgNSwgCi0gICAgMjQzLCAxNDEsIDMwLCAyMzMsIDIyMiwgOTYsIDI1NCwgMTMxLCAxNSwgNSwgMjQzLCAxNDEsIDMwLCAyMzMsIDE0MSwgMTUsIAotICAgIDUsIDI0MywgMTQxLCAzMCwgMjMxLCA5NywgOTYsIDI0NSwgMTU4LCAxNSwgNSwgMjQzLCAxNDEsIDMwLCAyMzAsIDIzNSwgCi0gICAgMTUsIDUsIDI0MywgMTQxLCAzMCwgMjI3LCAxOTgsIDE1LCA1LCAyNDMsIDE0MSwgMzAsIDIyNywgMTk5LCAxMTUsIDIyNywgCi0gICAgMTk4LCAxNSwgNSwgMjQzLCAxNDEsIDMwLCAxOTEsIDE1LCA1LCAyNDMsIDE0MSwgMzAsIDIyMiwgMTAsIDE1LCA1LCAyNDMsIAotICAgIDE0MSwgMzAsIDIyMSwgMjMzLCAxNSwgNSwgMjQzLCAxNDEsIDMwLCAyMjAsIDY1LCAxNSwgNSwgMjQzLCAxNDEsIDMwLCAKLSAgICAyMjAsIDY2LCA5NiwgMjE1LCA5OSwgMTUsIDUsIDI0MywgMTQxLCAzMCwgMjIwLCAzMiwgMTUsIDUsIDI0MywgMTQxLCAzMCwgCi0gICAgMjE4LCA0NCwgMTUsIDUsIDI0MywgMTQxLCAzMCwgMjE3LCA3MywgMTUsIDUsIDI0MywgMTQxLCAzMCwgNjksIDE1LCA1LCAKLSAgICAyNDMsIDE0MSwgMzAsIDIxNCwgMjE5LCAxNSwgNSwgMjQzLCAxNDEsIDMwLCAyMTQsIDIyMCwgOTYsIDI0NiwgODYsIDE1LCAKLSAgICA1LCAyNDMsIDE0MSwgMTE1LCAyNDMsIDE0MCwgMTUsIDUsIDI0MywgMTM1LCAxNSwgNSwgMjQzLCAxMzYsIDI0OSwgMTMzLCAKLSAgICAyNDMsIDEzNSwgMTUsIDUsIDI0MywgMTMzLCAxNSwgNSwgMjQzLCAxMzQsIDExNSwgMjQzLCAxMzQsIDI0MywgMTA0LCAxMTUsIAotICAgIDI0MywgMTAzLCAxNSwgNSwgMjQzLCAxMjUsIDE1LCA1LCAyNDMsIDEyNiwgMjQzLCAxMzQsIDExNSwgMjQzLCAxMzQsIDI0MywgCi0gICAgMTA0LCAxMTUsIDI0MywgMTAzLCAxNSwgNSwgMjQzLCAxMjQsIDE1LCA1LCAyNDMsIDEyMiwgMTUsIDUsIDI0MywgMTEzLCAKLSAgICAxNSwgNSwgMjQzLCAxMTEsIDE1LCA1LCAyNDMsIDExMiwgMjE2LCAyNDAsIDE1LCA1LCAyNDMsIDExMiwgMTE1LCAyNDMsIAotICAgIDExMSwgMTUsIDUsIDI0MywgMTEyLCAyNDksIDEzMywgMjQzLCAxMTEsIDE1LCA1LCAyNDMsIDEwMywgMTUsIDUsIDI0MywgCi0gICAgMTAyLCAxNSwgNSwgMjQzLCA5NywgMTUsIDUsIDI0MywgNDMsIDE1LCA1LCAyNDMsIDQ0LCAzMCwgMjMzLCAyMDIsIDE1LCA1LCAKLSAgICAyNDIsIDIyMSwgMTUsIDUsIDI0MiwgMjIyLCAzMCwgNzYsIDE1LCA1LCAyNDIsIDIyMiwgMzAsIDY5LCAxNSwgNSwgMjQyLCAKLSAgICAyMjIsIDI0OSwgMTMzLCAyNDIsIDIyMSwgMTUsIDUsIDI0MiwgMjE5LCAxNSwgNSwgMjQyLCAyMjAsIDExNSwgMjQyLCAyMTksIAotICAgIDE1LCA1LCAyNDIsIDIyMCwgMjQ5LCAxMzMsIDI0MiwgMjE5LCAxNSwgNSwgMjQyLCAyMTYsIDE1LCA1LCAyNDIsIDIwNCwgCi0gICAgMTUsIDUsIDI0MiwgMjA1LCAyNDIsIDEwMSwgMTUsIDUsIDI0MiwgMjAyLCAxNSwgNSwgMjQyLCAyMDMsIDMwLCAxMTYsIDk2LCAKLSAgICAyMzYsIDQyLCAxNSwgNSwgMjQyLCAyMDMsIDMwLCAyNDMsIDExMiwgMjE2LCAyNDAsIDE1LCA1LCAyNDIsIDIwMywgMzAsIAotICAgIDIzNiwgNDIsIDE1LCA1LCAyNDIsIDIwMywgMzAsIDIzMiwgMTA0LCA5NiwgMjM2LCA0MiwgMTUsIDUsIDI0MiwgMjAzLCAzMCwgCi0gICAgMTkxLCAxNSwgNSwgMjQyLCAxOTksIDE1LCA1LCAyNDIsIDE5NywgMTUsIDUsIDI0MiwgMTk4LCAyNDksIDEzMywgMjQyLCAKLSAgICAxOTcsIDE1LCA1LCAyNDIsIDE5OCwgMzAsIDI1MiwgMTg0LCAxNSwgNSwgMjQyLCAxOTgsIDMwLCAyMTcsIDczLCAxNSwgNSwgCi0gICAgMjQyLCAxOTgsIDIxNiwgMjQwLCAxNSwgNSwgMjQyLCAxMjAsIDE1LCA1LCAyNDIsIDEyMSwgMjQ5LCAxMzMsIDI0MiwgMTIwLCAKLSAgICAxNSwgNSwgMjQyLCAxMTgsIDE1LCA1LCAyNDIsIDExOSwgMzAsIDIzNCwgMjQ4LCAxNSwgNSwgMjQyLCAxMTksIDMwLCAyMzQsIAotICAgIDI0OSwgMzAsIDIzNiwgNDMsIDI0MiwgMTAxLCAxNSwgNSwgMjQyLCAxMTksIDMwLCAyMjcsIDE5OCwgMTUsIDUsIDI0MiwgCi0gICAgMTE5LCAzMCwgMjIyLCAxMSwgOTYsIDIxNSwgMTE0LCAxNSwgNSwgMjQyLCAxMTksIDI0MiwgMTAxLCAxNSwgNSwgMjQyLCAKLSAgICAxMTAsIDE1LCA1LCAyNDIsIDExMSwgMzAsIDExNiwgOTYsIDIzMywgMjAyLCAxNSwgNSwgMjQyLCAxMTEsIDMwLCAyMzMsIAotICAgIDIwMiwgMTUsIDUsIDI0MiwgMTExLCAxMTUsIDI0MiwgMTExLCAyMzIsIDk2LCAxNSwgNSwgMjQyLCAxMDUsIDE1LCA1LCAKLSAgICAyNDIsIDEwMywgMTUsIDUsIDI0MiwgMTA0LCAzMCwgMjIwLCA2NSwgMTUsIDUsIDI0MiwgOTUsIDE1LCA1LCAyNDIsIDk0LCAKLSAgICAxNSwgNSwgMjQyLCA5MSwgMTUsIDUsIDI0MiwgOTAsIDE1LCA1LCAxNjIsIDE1LCA1LCAyNDIsIDU2LCAyMTYsIDI0MCwgMTUsIAotICAgIDUsIDI0MiwgNTYsIDI0MiwgMTAxLCAxNSwgNSwgMjQyLCAzNywgMTUsIDUsIDI0MSwgMTg3LCAxNSwgNSwgMjQxLCAxODgsIAotICAgIDMwLCAyNTMsIDIzOSwgMTUsIDUsIDI0MSwgMTg4LCAzMCwgMjUzLCAyMzcsIDE1LCA1LCAyNDEsIDE4OCwgMzAsIDI1MiwgCi0gICAgMTg0LCAxNSwgNSwgMjQxLCAxODgsIDMwLCAyNDcsIDE5NSwgMTUsIDUsIDI0MSwgMTg4LCAzMCwgMjQzLCAxMzMsIDE1LCA1LCAKLSAgICAyNDEsIDE4OCwgMzAsIDIzNCwgODcsIDE1LCA1LCAyNDEsIDE4OCwgMzAsIDIyNywgMTk4LCAxNSwgNSwgMjQxLCAxODgsIAotICAgIDMwLCAyMjAsIDY1LCAxNSwgNSwgMjQxLCAxODgsIDMwLCA2OSwgMTUsIDUsIDI0MCwgMjI5LCAxNSwgNSwgMjQwLCAyMjUsIAotICAgIDE1LCA1LCAyNDAsIDIyNiwgMzAsIDI1NCwgMTMxLCAxNSwgNSwgMjQwLCAyMjYsIDMwLCAyNDIsIDM3LCAxNSwgNSwgMjQwLCAKLSAgICAyMjYsIDMwLCAyMzQsIDIxMywgMTUsIDUsIDI0MCwgMjI2LCAzMCwgMjMyLCAyMDMsIDE1LCA1LCAyNDAsIDIyNiwgMzAsIAotICAgIDIxNCwgMjE5LCAxNSwgNSwgMjQwLCAyMjIsIDE1LCA1LCA3NCwgMTUsIDUsIDI0MCwgMTYxLCA2MSwgMTUsIDUsIDI0MCwgCi0gICAgMTIyLCAxNSwgNSwgMjM2LCA3MCwgMTUsIDUsIDIzNiwgNzEsIDExNSwgMjM2LCA3MSwgMjUxLCAxMDYsIDE1LCA1LCAyMzYsIAotICAgIDcxLCAxMTUsIDIzNiwgNzEsIDIxOCwgMjM1LCAxNSwgNSwgMjM2LCA0NSwgMTUsIDUsIDIzNiwgNDIsIDE1LCA1LCAyMzYsIAotICAgIDQzLCAyNDcsIDI1MCwgMTUsIDUsIDIzNiwgNDMsIDIyMywgMzgsIDE1LCA1LCAyMzYsIDQzLCAxMTUsIDIzNiwgNDMsIDIyMCwgCi0gICAgMTYsIDExNSwgMjIwLCAxNiwgMjE0LCAyMjAsIDExNSwgMjE0LCAyMTksIDE1LCA1LCAyMzYsIDQzLCAyNDIsIDEwMSwgMTUsIAotICAgIDUsIDIzNiwgMzQsIDE1LCA1LCAyMzYsIDM1LCAzMCwgMjQzLCAxMTIsIDIxNiwgMjQwLCAxNSwgNSwgMjM2LCAzMywgMTUsIAotICAgIDUsIDIzNiwgMjMsIDE1LCA1LCAyMzYsIDI0LCAzMCwgMjE3LCA3MywgMTUsIDUsIDIzNiwgMjQsIDI0OSwgMTMzLCAyMzYsIAotICAgIDIzLCAxNSwgNSwgMjM2LCAyNCwgMjI2LCAxNjgsIDIzNiwgMjMsIDE1LCA1LCAyMzYsIDI0LCAyMTgsIDIzNSwgMTUsIDUsIAotICAgIDIzNiwgMTYsIDE1LCA1LCAyMzYsIDYsIDE1LCA1LCAyMzUsIDE4NiwgMTUsIDUsIDIzNSwgMTcyLCAxNSwgNSwgMTc2LCAxNSwgCi0gICAgNSwgMjM1LCAxOSwgMzAsIDYxLCAxNSwgNSwgMjM1LCAxOSwgMzAsIDI1NSwgOCwgMTUsIDUsIDIzNSwgMTksIDMwLCAyNTUsIAotICAgIDksIDk2LCAyMzMsIDIyMSwgMTUsIDUsIDIzNSwgMTksIDMwLCAyNTMsIDIzNywgMTUsIDUsIDIzNSwgMTksIDMwLCAyNTIsIAotICAgIDE4NCwgMTUsIDUsIDIzNSwgMTksIDMwLCAyNTIsIDE2OCwgMTUsIDUsIDIzNSwgMTksIDMwLCAxMzAsIDE1LCA1LCAyMzUsIAotICAgIDE5LCAzMCwgMjUyLCAxNCwgMTUsIDUsIDIzNSwgMTksIDMwLCAyNDUsIDk1LCAxNSwgNSwgMjM1LCAxOSwgMzAsIDI0NSwgCi0gICAgODAsIDE1LCA1LCAyMzUsIDE5LCAzMCwgMjQzLCAxNDIsIDE1LCA1LCAyMzUsIDE5LCAzMCwgMjQzLCAxMjUsIDE1LCA1LCAKLSAgICAyMzUsIDE5LCAzMCwgMjQzLCAxMTIsIDIxNiwgMjQwLCAxNSwgNSwgMjM1LCAxOSwgMzAsIDI0MywgMTAzLCAxNSwgNSwgCi0gICAgMjM1LCAxOSwgMzAsIDI0MywgMTA0LCA5NiwgMjIwLCAxMDMsIDk2LCA2MSwgMTUsIDUsIDIzNSwgMTksIDMwLCAyNDIsIAotICAgIDIyMSwgMTUsIDUsIDIzNSwgMTksIDMwLCAyNDIsIDIwNCwgMTUsIDUsIDIzNSwgMTksIDMwLCAyNDIsIDE5OCwgOTYsIDIyMSwgCi0gICAgMjMzLCAxNSwgNSwgMjM1LCAxOSwgMzAsIDI0MiwgMTk4LCAyNDksIDEzMywgMjQyLCAxOTcsIDE1LCA1LCAyMzUsIDE5LCAKLSAgICAzMCwgMjQyLCAxMjAsIDE1LCA1LCAyMzUsIDE5LCAzMCwgMjQyLCA5NCwgMTUsIDUsIDIzNSwgMTksIDMwLCAyMzYsIDQyLCAKLSAgICAxNSwgNSwgMjM1LCAxOSwgMzAsIDIzNiwgMjMsIDE1LCA1LCAyMzUsIDE5LCAzMCwgMjM0LCAyNDgsIDE1LCA1LCAyMzUsIAotICAgIDE5LCAzMCwgMjM0LCA5OCwgMTUsIDUsIDIzNSwgMTksIDMwLCAyMzQsIDk1LCAxNSwgNSwgMjM1LCAxOSwgMzAsIDIzMiwgCi0gICAgMjQ3LCAxNSwgNSwgMjM1LCAxOSwgMzAsIDIzMiwgMTAzLCAxNSwgNSwgMjM1LCAxOSwgMzAsIDIzMSwgOTYsIDE1LCA1LCAKLSAgICAyMzUsIDE5LCAzMCwgMjMxLCA5NywgOTYsIDI0NiwgODYsIDE1LCA1LCAyMzUsIDE5LCAzMCwgMjMxLCA5NywgOTYsIDI0MiwgCi0gICAgMjIxLCAxNSwgNSwgMjM1LCAxOSwgMzAsIDIzMSwgOTcsIDk2LCAyMTcsIDIzLCAxNSwgNSwgMjM1LCAxOSwgMzAsIDIzMCwgCi0gICAgMjM1LCAxNSwgNSwgMjM1LCAxOSwgMzAsIDIzMCwgMjM2LCA5NiwgMjI3LCAxOTMsIDE1LCA1LCAyMzUsIDE5LCAzMCwgMjI5LCAKLSAgICAxMTIsIDE1LCA1LCAyMzUsIDE5LCAzMCwgMjI3LCAxOTgsIDE1LCA1LCAyMzUsIDE5LCAzMCwgMjI1LCAxMTEsIDE1LCA1LCAKLSAgICAyMzUsIDE5LCAzMCwgMjIyLCAxNDIsIDE1LCA1LCAyMzUsIDE5LCAzMCwgMjA2LCAxNSwgNSwgMjM1LCAxOSwgMzAsIDIyMSwgCi0gICAgMjMzLCAxNSwgNSwgMjM1LCAxOSwgMzAsIDIyMCwgMTA0LCAxNSwgNSwgMjM1LCAxOSwgMzAsIDIyMCwgNjUsIDE1LCA1LCAKLSAgICAyMzUsIDE5LCAzMCwgMjIwLCAzMiwgMTUsIDUsIDIzNSwgMTksIDMwLCAyMTksIDIyNywgMTUsIDUsIDIzNSwgMTksIDMwLCAKLSAgICAyMTksIDE4NCwgMTUsIDUsIDIzNSwgMTksIDMwLCAyMTgsIDUyLCAxNSwgNSwgMjM1LCAxOSwgMzAsIDIxNywgNTEsIDE1LCAKLSAgICA1LCAyMzUsIDE5LCAzMCwgNjksIDE1LCA1LCAyMzUsIDE5LCAzMCwgMjE0LCAyMzAsIDE1LCA1LCAyMzUsIDE5LCAzMCwgCi0gICAgMjE0LCAyMTksIDE1LCA1LCAyMzUsIDE5LCAzMCwgMjE0LCAxOTMsIDMwLCAxOTEsIDE1LCA1LCAyMzUsIDE5LCAzMCwgMjE0LCAKLSAgICAxMjYsIDE1LCA1LCAyMzUsIDE5LCAzMCwgMjEwLCA0NCwgMTUsIDUsIDIzNSwgMTcsIDE1LCA1LCAyMzUsIDE4LCAyNDksIAotICAgIDEzMywgMjM1LCAxNywgMTUsIDUsIDIzNSwgMTAsIDE1LCA1LCAyMzUsIDcsIDE1LCA1LCAyMzUsIDUsIDE1LCA1LCAyMzUsIAotICAgIDQsIDE1LCA1LCAyMzUsIDIsIDE1LCA1LCAyMzUsIDMsIDExNSwgMjM1LCAyLCAxNSwgNSwgMjM0LCAyNDgsIDE1LCA1LCAKLSAgICAyMzQsIDI0OSwgMzAsIDIzNiwgNDMsIDI0MiwgMTAxLCAxNSwgNSwgMjM0LCAyNDQsIDE1LCA1LCAyMzQsIDI0NSwgMzAsIAotICAgIDI1MiwgMTg0LCAxNSwgNSwgMjM0LCAyNDUsIDI0OSwgMTMzLCAyMzQsIDI0NCwgMTUsIDUsIDIzNCwgMjQyLCAxNSwgNSwgCi0gICAgMjM0LCAyNDEsIDE1LCA1LCAyMzQsIDIxMywgMTUsIDUsIDIzNCwgMjE0LCAyMzMsIDEyNCwgMzAsIDEwNCwgMTE1LCAyMzMsIAotICAgIDEyNCwgMzAsIDY5LCAxNSwgNSwgMjM0LCAyMTQsIDExNSwgMjM0LCAyMTQsIDIzMywgMTI0LCAzMCwgMTA0LCAxMTUsIDIzMywgCi0gICAgMTI0LCAzMCwgNjksIDE1LCA1LCAyMzQsIDE2MywgMTUsIDUsIDIzNCwgOTgsIDE1LCA1LCAyMzQsIDk5LCAzMCwgMjUyLCAKLSAgICAxODQsIDE1LCA1LCAyMzQsIDk5LCAzMCwgNjksIDE1LCA1LCAyMzQsIDk5LCAzMCwgMjE0LCAyMTksIDE1LCA1LCAyMzQsIAotICAgIDk1LCAxNSwgNSwgMjM0LCA4NywgMTUsIDUsIDIzNCwgNzQsIDE1LCA1LCAyMzQsIDczLCAxNSwgNSwgMjM0LCA3MSwgMTUsIAotICAgIDUsIDIzNCwgNzIsIDExNSwgMjM0LCA3MSwgMTUsIDUsIDIzMywgMjIzLCAxNSwgNSwgMjMzLCAyMjQsIDExNSwgMjQxLCAKLSAgICAxODgsIDMwLCAyNTMsIDIzOCwgMjMzLCAyMjQsIDExNSwgMjQxLCAxODgsIDMwLCAyNTMsIDIzNywgMTUsIDUsIDIzMywgCi0gICAgMjIxLCAxNSwgNSwgMjMzLCAyMTksIDE1LCA1LCAyMzMsIDIyMCwgMjE0LCAxMiwgMTcsIDE1LCA1LCAyMzMsIDIxOCwgMTUsIAotICAgIDUsIDIzMywgMjE1LCAxNSwgNSwgMjMzLCAyMTYsIDI0MiwgMTAxLCAxNSwgNSwgMjMzLCAyMTQsIDE1LCA1LCAyMzMsIDIwMiwgCi0gICAgMTUsIDUsIDIzMywgMjAzLCAyMjYsIDE2OCwgMjMzLCAyMDIsIDE1LCA1LCAyMzMsIDE5NywgMTUsIDUsIDIzMywgMTc4LCAKLSAgICAxNSwgNSwgMjMzLCAxNDEsIDE1LCA1LCAyMzMsIDEyMywgMTUsIDUsIDIzMywgMTI0LCAzMCwgNjEsIDE1LCA1LCAyMzMsIAotICAgIDEyNCwgMzAsIDExNiwgOTYsIDI0OCwgMjMwLCA5NiwgMTYyLCAxNSwgNSwgMjMzLCAxMjQsIDMwLCAxMTYsIDk2LCAyNDMsIAotICAgIDEwMywgMTUsIDUsIDIzMywgMTI0LCAzMCwgMTE2LCA5NiwgMjMzLCAxMTAsIDE1LCA1LCAyMzMsIDEyNCwgMzAsIDI1NCwgCi0gICAgMTg3LCAxNSwgNSwgMjMzLCAxMjQsIDMwLCAyNTQsIDEzMSwgMTUsIDUsIDIzMywgMTI0LCAzMCwgMjUzLCAyNDAsIDIxMCwgCi0gICAgNDAsIDIxNiwgMjQwLCAxNSwgNSwgMjMzLCAxMjQsIDMwLCAyNTIsIDE4NCwgMTUsIDUsIDIzMywgMTI0LCAzMCwgMjUyLCAKLSAgICAxNCwgMTUsIDUsIDIzMywgMTI0LCAzMCwgMjQ4LCAxNzQsIDE1LCA1LCAyMzMsIDEyNCwgMzAsIDI0NSwgMTU4LCAxNSwgNSwgCi0gICAgMjMzLCAxMjQsIDMwLCAyNDMsIDE0MiwgMTUsIDUsIDIzMywgMTI0LCAzMCwgMjQzLCAxMDMsIDE1LCA1LCAyMzMsIDEyNCwgCi0gICAgMzAsIDI0MiwgMTEwLCAxNSwgNSwgMjMzLCAxMjQsIDMwLCAyNDIsIDExMSwgOTYsIDI0MiwgMTEwLCAxNSwgNSwgMjMzLCAKLSAgICAxMjQsIDMwLCAxNjIsIDE1LCA1LCAyMzMsIDEyNCwgMzAsIDI0MiwgMzcsIDE1LCA1LCAyMzMsIDEyNCwgMzAsIDI0MSwgCi0gICAgMTg4LCAzMCwgMjI3LCAxOTgsIDE1LCA1LCAyMzMsIDEyNCwgMzAsIDIzNiwgNDMsIDI0MiwgMTAxLCAxNSwgNSwgMjMzLCAKLSAgICAxMjQsIDMwLCAyMzYsIDIzLCAxNSwgNSwgMjMzLCAxMjQsIDMwLCAyMzYsIDI0LCA5NiwgMTYyLCAxNSwgNSwgMjMzLCAxMjQsIAotICAgIDMwLCAyMzYsIDI0LCA5NiwgMjMyLCAxMDMsIDE1LCA1LCAyMzMsIDEyNCwgMzAsIDIzNCwgOTgsIDE1LCA1LCAyMzMsIDEyNCwgCi0gICAgMzAsIDIzNCwgODcsIDE1LCA1LCAyMzMsIDEyNCwgMzAsIDIzMywgMjIxLCAxNSwgNSwgMjMzLCAxMjQsIDMwLCAyMzMsIAotICAgIDIxNSwgMTUsIDUsIDIzMywgMTI0LCAzMCwgMjMzLCAyMTYsIDk2LCAyNDEsIDE4OCwgOTYsIDYxLCAxNSwgNSwgMjMzLCAKLSAgICAxMjQsIDMwLCAyMzMsIDEyMywgMTUsIDUsIDIzMywgMTI0LCAzMCwgMjMyLCAyMDMsIDE1LCA1LCAyMzMsIDEyNCwgMzAsIAotICAgIDIzMiwgMTAzLCAxNSwgNSwgMjMzLCAxMjQsIDMwLCAyMzIsIDkxLCAxNSwgNSwgMjMzLCAxMjQsIDMwLCAyMzEsIDk2LCAxNSwgCi0gICAgNSwgMjMzLCAxMjQsIDMwLCAyMzEsIDk3LCA5NiwgMjQ1LCAxNTgsIDE1LCA1LCAyMzMsIDEyNCwgMzAsIDIzMCwgNjYsIDE1LCAKLSAgICA1LCAyMzMsIDEyNCwgMzAsIDIyOSwgMTEyLCAxNSwgNSwgMjMzLCAxMjQsIDMwLCAyMjAsIDY2LCA5NiwgMjE4LCA0NCwgMTUsIAotICAgIDUsIDIzMywgMTI0LCAzMCwgMjIwLCAxMiwgOTYsIDI0MiwgMTk4LCA5NiwgMjQ1LCA5NSwgMTUsIDUsIDIzMywgMTI0LCAzMCwgCi0gICAgMjIwLCAxMiwgOTYsIDI0MiwgMTk4LCAyMTYsIDI0MCwgMTUsIDUsIDIzMywgMTI0LCAzMCwgMjE5LCAyMjUsIDE1LCA1LCAKLSAgICAyMzMsIDEyNCwgMzAsIDIxOSwgMjI2LCA5NiwgMjE5LCAyMjUsIDE1LCA1LCAyMzMsIDEyNCwgMzAsIDIxOCwgNDQsIDE1LCAKLSAgICA1LCAyMzMsIDEyNCwgMzAsIDIxNywgODUsIDE1LCA1LCAyMzMsIDEyNCwgMzAsIDIxNywgNzMsIDE1LCA1LCAyMzMsIDEyNCwgCi0gICAgMzAsIDIxNywgMjQsIDk2LCAxMTYsIDk2LCAyMTgsIDg1LCA5NiwgMTk4LCAxNSwgNSwgMjMzLCAxMjQsIDMwLCA2OSwgMTUsIAotICAgIDUsIDIzMywgMTI0LCAzMCwgMTA0LCA5NiwgNjEsIDE1LCA1LCAyMzMsIDEyNCwgMzAsIDEwNCwgOTYsIDEwNCwgOTYsIDY5LCAKLSAgICAxNSwgNSwgMjMzLCAxMjQsIDMwLCAyMTQsIDIzMSwgOTYsIDI1MywgMjM5LCAxNSwgNSwgMjMzLCAxMjQsIDMwLCAyMTQsIAotICAgIDIxOSwgMTUsIDUsIDIzMywgMTI0LCAzMCwgMjE0LCAxMjYsIDE1LCA1LCAyMzMsIDEyNCwgMjE4LCAyMzUsIDE1LCA1LCAKLSAgICAyMzMsIDEyMSwgMTUsIDUsIDIzMywgMTIyLCAzMCwgMjIwLCA2NSwgMTUsIDUsIDIzMywgMTIyLCAzMCwgMjIwLCA2NiwgOTYsIAotICAgIDIxOCwgNDQsIDE1LCA1LCAyMzMsIDEyMiwgMjQyLCAxMDEsIDE1LCA1LCAyMzMsIDEyMiwgMjQyLCAxMDIsIDExNSwgMjMzLCAKLSAgICAxMjIsIDI0MiwgMTAyLCAyMjAsIDY1LCAxNSwgNSwgMjMzLCAxMTcsIDE1LCA1LCAyMzMsIDExMCwgMTUsIDUsIDIzMywgCi0gICAgMTExLCAzMCwgMjMzLCAxMTAsIDE1LCA1LCAyMzMsIDEwOCwgMTUsIDUsIDIzMywgMTA5LCAzMCwgMjMzLCAyMDIsIDE1LCA1LCAKLSAgICAyMzMsIDEwOSwgMzAsIDIzMywgMjAzLCA5NiwgMjIyLCAxNDIsIDE1LCA1LCAyMzIsIDI0NywgMTUsIDUsIDIzMiwgMjMyLCAKLSAgICAxNSwgNSwgMjMyLCAyMjIsIDE1LCA1LCAyMzIsIDIwMywgMTUsIDUsIDIzMiwgMTAzLCAxNSwgNSwgMjMyLCAxMDQsIDMwLCAKLSAgICAyNTIsIDE4NCwgMTUsIDUsIDIzMiwgMTAxLCAxNSwgNSwgMjMyLCAxMDIsIDMwLCAyNTQsIDE4NywgMTUsIDUsIDIzMiwgCi0gICAgMTAyLCAzMCwgMjUyLCAxODQsIDE1LCA1LCAyMzIsIDEwMiwgMzAsIDI0NSwgODAsIDE1LCA1LCAyMzIsIDEwMiwgMzAsIAotICAgIDI0NSwgODEsIDIxNiwgMjQwLCAxNSwgNSwgMjMyLCAxMDIsIDMwLCAyNDMsIDExMiwgMjE2LCAyNDAsIDE1LCA1LCAyMzIsIAotICAgIDEwMiwgMzAsIDI0MSwgMTg4LCAzMCwgMjUyLCAxODQsIDE1LCA1LCAyMzIsIDEwMiwgMzAsIDIzNiwgMjMsIDE1LCA1LCAKLSAgICAyMzIsIDEwMiwgMzAsIDIzNSwgNywgMTUsIDUsIDIzMiwgMTAyLCAzMCwgMjM1LCA1LCAxNSwgNSwgMjMyLCAxMDIsIDMwLCAKLSAgICAyMzUsIDYsIDk2LCAyNTMsIDIzOSwgMTUsIDUsIDIzMiwgMTAyLCAzMCwgMjM0LCA5OCwgMTUsIDUsIDIzMiwgMTAyLCAzMCwgCi0gICAgMjMzLCAxNDIsIDk2LCAyNTMsIDIzOSwgMTUsIDUsIDIzMiwgMTAyLCAzMCwgMjMzLCAxMjMsIDE1LCA1LCAyMzIsIDEwMiwgCi0gICAgMzAsIDIzMSwgOTcsIDk2LCAyNDUsIDE1OCwgMTUsIDUsIDIzMiwgMTAyLCAzMCwgMjI5LCAxMTIsIDE1LCA1LCAyMzIsIAotICAgIDEwMiwgMzAsIDIyNywgMjQyLCAxNSwgNSwgMjMyLCAxMDIsIDMwLCAyMTksIDE5NCwgOTYsIDI1MywgMjM5LCAxNSwgNSwgCi0gICAgMjMyLCAxMDIsIDMwLCAyMTksIDE3NiwgOTYsIDI1MSwgMTMzLCAxNSwgNSwgMjMyLCAxMDIsIDMwLCAyMTUsIDExNCwgMTUsIAotICAgIDUsIDIzMiwgMTAyLCAyMTYsIDI0MCwgMTUsIDUsIDIzMiwgMTAyLCAyNDksIDEzMywgMjMyLCAxMDEsIDE1LCA1LCAyMzIsIAotICAgIDEwMiwgMjI2LCAxNjgsIDIzMiwgMTAxLCAxNSwgNSwgMjMyLCAxMDIsIDIxOCwgMjM1LCAxNSwgNSwgMjMyLCAxMDIsIDIyMCwgCi0gICAgNDcsIDE1LCA1LCAyMzIsIDEwMCwgMTUsIDUsIDIzMiwgOTYsIDE1LCA1LCAyMzIsIDk3LCAxMTUsIDIzMiwgOTYsIDE1LCA1LCAKLSAgICAyMzIsIDk3LCAyMjYsIDE2OCwgMjMyLCA5NiwgMTUsIDUsIDIzMiwgOTcsIDIyMCwgNDcsIDE1LCA1LCAyMzIsIDk0LCAxNSwgCi0gICAgNSwgMjMyLCA5MSwgMTUsIDUsIDIzMiwgODksIDE1LCA1LCAyMzIsIDkwLCAxMTUsIDIzMiwgODksIDE1LCA1LCAyMzIsIDkwLCAKLSAgICAxMTUsIDIzMiwgOTAsIDI0MywgMTA0LCAxMTUsIDI0MywgMTAzLCAxNSwgNSwgMTg2LCAxNSwgNSwgMjMxLCAyNDQsIDMwLCAKLSAgICAyMTcsIDczLCAxNSwgNSwgMjMxLCAyNDQsIDI0MiwgMTAxLCAxNSwgNSwgMjMxLCAyNDMsIDE1LCA1LCAyMzEsIDIxNSwgMTUsIAotICAgIDUsIDIzMSwgMTcxLCAxNSwgNSwgMjMxLCAxNTIsIDE1LCA1LCAyMzEsIDE1MSwgMTUsIDUsIDIzMSwgOTYsIDE1LCA1LCAKLSAgICAyMzEsIDUyLCAxNSwgNSwgMjMwLCAyMzUsIDE1LCA1LCAyMzAsIDE5MywgMTUsIDUsIDIzMCwgMTA3LCAxNSwgNSwgMjMwLCAKLSAgICAxMDgsIDExNSwgMjMwLCAxMDcsIDE1LCA1LCAyMzAsIDk4LCAxNSwgNSwgMjMwLCA5OSwgMjQyLCAxMDEsIDE1LCA1LCAyMzAsIAotICAgIDgzLCAxNSwgNSwgMjMwLCA2OSwgMTUsIDUsIDIzMCwgNjYsIDE1LCA1LCAyMzAsIDY3LCAzMCwgNjEsIDE1LCA1LCAyMzAsIAotICAgIDY3LCAzMCwgMjMzLCAyMDIsIDE1LCA1LCAyMzAsIDY3LCAzMCwgMjEwLCAxMTYsIDE1LCA1LCAyMzAsIDY3LCAxMTUsIDIzMCwgCi0gICAgNjYsIDE1LCA1LCAyMzAsIDY3LCAxMTUsIDIzMCwgNjcsIDMwLCAxMTYsIDk2LCAxOTgsIDE1LCA1LCAyMzAsIDY3LCAyNDksIAotICAgIDEzMywgMjMwLCA2NiwgMTUsIDUsIDIzMCwgNjQsIDE1LCA1LCAyMzAsIDY1LCAzMCwgNjEsIDE1LCA1LCAyMzAsIDY1LCAzMCwgCi0gICAgMTE2LCA5NiwgMjQ4LCAxMSwgMTUsIDUsIDIzMCwgNjUsIDMwLCAyNDgsIDExLCAxNSwgNSwgMjMwLCA2NSwgMjQyLCAxMDEsIAotICAgIDE1LCA1LCAxOTgsIDE1LCA1LCAyMjksIDIzMiwgMTUsIDUsIDIyOSwgMjIxLCAxNSwgNSwgMjI5LCAyMjIsIDIzNSwgMTk5LCAKLSAgICAxNSwgNSwgMjI5LCAyMjIsIDMwLCAyMTksIDIyOCwgMjE2LCAyNDAsIDE1LCA1LCAyMjksIDIyMiwgMjI2LCAxNjgsIDIyOSwgCi0gICAgMjIxLCAxNSwgNSwgMjI5LCAyMjAsIDE1LCA1LCAyMjksIDIxMywgMjI3LCAxODQsIDE1LCA1LCAyMjksIDIxMiwgMTUsIDUsIAotICAgIDIyOSwgMjExLCAxNSwgNSwgMjI5LCAxMTIsIDE1LCA1LCAyMjksIDExMywgMzAsIDYxLCAxNSwgNSwgMjI5LCAxMTMsIDMwLCAKLSAgICAyMTQsIDIxOSwgMTUsIDUsIDIyOSwgMTEzLCAyMjAsIDQ3LCAxNSwgNSwgMjI4LCAyMzgsIDE1LCA1LCAyMjgsIDIzOSwgMzAsIAotICAgIDc2LCAxNSwgNSwgMjI4LCAyMzcsIDE1LCA1LCAyMjgsIDIwOCwgMTUsIDUsIDIyOCwgMjA5LCAzMCwgMjQzLCAxMTIsIDIxNiwgCi0gICAgMjQwLCAxNSwgNSwgMjI4LCAyMDksIDMwLCAyNDMsIDEwNCwgOTYsIDI0MywgMTEyLCAyMTYsIDI0MCwgMTUsIDUsIDIyOCwgCi0gICAgMjA2LCAxNSwgNSwgMjI4LCAyMDcsIDMwLCAyNTQsIDEzMSwgMTUsIDUsIDIyOCwgMjA3LCAzMCwgMjUzLCAyMzksIDE1LCA1LCAKLSAgICAyMjgsIDIwNywgMzAsIDI1MywgMjQwLCA5NiwgMjUzLCAyMzksIDE1LCA1LCAyMjgsIDIwNywgMzAsIDI0MiwgMTEwLCAxNSwgCi0gICAgNSwgMjI4LCAyMDcsIDMwLCAyMzEsIDk3LCA5NiwgMjQzLCAxMTIsIDIxNiwgMjQwLCAxNSwgNSwgMjI4LCAyMDcsIDMwLCAKLSAgICAyMjksIDExMiwgMTUsIDUsIDIyOCwgMjA3LCAzMCwgMjI3LCAxOTgsIDE1LCA1LCAyMjgsIDIwNywgMzAsIDIyMCwgNjUsIAotICAgIDE1LCA1LCAyMjgsIDIwNywgMzAsIDIyMCwgNjYsIDk2LCAxMTYsIDI1NCwgMTMxLCAxNSwgNSwgMjI4LCAyMDcsIDMwLCAKLSAgICAyMjAsIDY2LCA5NiwgMjUzLCAyMzksIDE1LCA1LCAyMjgsIDIwNywgMzAsIDIyMCwgNjYsIDk2LCAyNTMsIDI0MCwgOTYsIAotICAgIDI1MywgMjM5LCAxNSwgNSwgMjI4LCAyMDcsIDMwLCAyMTQsIDIzMSwgOTYsIDI1MywgMjM5LCAxNSwgNSwgMjI4LCAyMDcsIAotICAgIDMwLCAyMTQsIDEyNiwgMTUsIDUsIDIyOCwgMTk1LCAxNSwgNSwgMjI3LCAyNDIsIDE1LCA1LCAyMjcsIDIxNCwgMTUsIDUsIAotICAgIDIyNywgMTk4LCAxNSwgNSwgMjI3LCAxOTksIDIzMywgMTIyLCAzMCwgMjQzLCAxMDMsIDE1LCA1LCAyMjcsIDE5OSwgMjMzLCAKLSAgICAxMjIsIDMwLCAyMzEsIDE1MiwgMTUsIDUsIDIyNywgMTk5LCAyMzMsIDEyMiwgMzAsIDIyMiwgMTAsIDE1LCA1LCAyMjcsIAotICAgIDE5OSwgMjMzLCAxMjIsIDMwLCAyMjIsIDExLCAxMTUsIDIyNywgMTk5LCAyMzMsIDEyMiwgMzAsIDIyMiwgMTAsIDE1LCA1LCAKLSAgICAyMjcsIDE5OSwgMjMzLCAxMjIsIDMwLCAyMTQsIDEyNiwgMTUsIDUsIDIyNywgMTk5LCAyMTYsIDI0MCwgMTUsIDUsIDIyNywgCi0gICAgMTk5LCAxMTUsIDIyNywgMTk4LCAxNSwgNSwgMjI3LCAxOTksIDI0OSwgMTMzLCAyMjcsIDE5OCwgMTUsIDUsIDIyNywgMTk5LCAKLSAgICAyNDksIDEzMywgMjI3LCAxOTksIDIzMywgMTIyLCAxMTUsIDIzMywgMTIxLCAxNSwgNSwgMjI3LCAxOTMsIDE1LCA1LCAyMjcsIAotICAgIDE5NCwgMjU1LCAzMywgMzAsIDI1MywgMjM0LCAxNSwgNSwgMjI3LCAxOTQsIDI1NSwgMzMsIDMwLCAyNTIsIDE0LCAxNSwgNSwgCi0gICAgMjI3LCAxOTQsIDI1NSwgMzMsIDMwLCAyNDYsIDgyLCAxNSwgNSwgMjI3LCAxOTQsIDI1NSwgMzMsIDMwLCAyNDIsIDExMCwgCi0gICAgMTUsIDUsIDIyNywgMTk0LCAyNTUsIDMzLCAzMCwgMjM2LCA0MywgMjQyLCAxMDEsIDE1LCA1LCAyMjcsIDE5NCwgMjU1LCAKLSAgICAzMywgMzAsIDIzNSwgNSwgMTUsIDUsIDIyNywgMTk0LCAyNTUsIDMzLCAzMCwgMjMzLCAxNDEsIDE1LCA1LCAyMjcsIDE5NCwgCi0gICAgMjU1LCAzMywgMzAsIDIyOSwgMTEyLCAxNSwgNSwgMjI3LCAxOTQsIDI1NSwgMzMsIDMwLCAyMTksIDE3MywgMTUsIDUsIAotICAgIDIyNywgMTk0LCAyNTUsIDMzLCAzMCwgMjE0LCAyMzAsIDE1LCA1LCAyMjcsIDE5NCwgMjM0LCA3MiwgMzAsIDI1MiwgMTQsIAotICAgIDE1LCA1LCAyMjcsIDE5NCwgMjM0LCA3MiwgMzAsIDI1MiwgMTUsIDY5LCAxNSwgNSwgMTkxLCAxNSwgNSwgMjI2LCA4NCwgCi0gICAgMTUsIDUsIDIyNiwgNTEsIDE1LCA1LCAyMjYsIDI1LCAxNSwgNSwgMjI1LCAxNjQsIDE1LCA1LCAyMjUsIDExMSwgMTUsIDUsIAotICAgIDIyNSwgMTEyLCAzMCwgNjEsIDE1LCA1LCAyMjUsIDExMiwgMzAsIDI1NSwgMzQsIDE1LCA1LCAyMjUsIDExMiwgMzAsIDI1MiwgCi0gICAgMTQsIDE1LCA1LCAyMjUsIDExMiwgMzAsIDI1MSwgMTMzLCAxNSwgNSwgMjI1LCAxMTIsIDMwLCA3NiwgMTUsIDUsIDIyNSwgCi0gICAgMTEyLCAzMCwgNzQsIDE1LCA1LCAyMjUsIDExMiwgMzAsIDI0MCwgMTIyLCAxNSwgNSwgMjI1LCAxMTIsIDMwLCA2OSwgMTUsIAotICAgIDUsIDIyNSwgMTEyLCAzMCwgMjE0LCAyMzAsIDE1LCA1LCAyMjUsIDExMiwgMjQ5LCAxMzMsIDIyNSwgMTExLCAxNSwgNSwgCi0gICAgMjI1LCA1NiwgMTUsIDUsIDIyNSwgNTcsIDMwLCAyMzQsIDI0NCwgMTUsIDUsIDIyNSwgNTcsIDMwLCAyMTQsIDIxOSwgMTUsIAotICAgIDUsIDIyNSwgNTcsIDMwLCAyMTAsIDExNiwgMTUsIDUsIDIyNSwgNTcsIDIyNiwgMTY4LCAyMjUsIDU2LCAxNSwgNSwgMjA1LCAKLSAgICAxNSwgNSwgMjIzLCAxODUsIDE1LCA1LCAyMjMsIDM4LCAxNSwgNSwgMjIyLCAxNDIsIDE1LCA1LCAyMDYsIDE1LCA1LCAyMjIsIAotICAgIDI0LCAyMjcsIDE4NCwgMTUsIDUsIDIyMiwgMjMsIDE1LCA1LCAyMjIsIDI0LCAzMCwgNjEsIDE1LCA1LCAyMjIsIDI0LCAzMCwgCi0gICAgMjQ2LCA4NiwgMTUsIDUsIDIyMiwgMjQsIDMwLCAyNDYsIDg0LCAxNSwgNSwgMjIyLCAyNCwgMzAsIDE2MiwgMTUsIDUsIAotICAgIDIyMiwgMjQsIDMwLCAyMzQsIDI0OCwgMTUsIDUsIDIyMiwgMjQsIDMwLCAyMzMsIDIwMiwgMTUsIDUsIDIyMiwgMjQsIDMwLCAKLSAgICAyMzIsIDg5LCAxNSwgNSwgMjIyLCAyNCwgMzAsIDIzMCwgMjM1LCAxNSwgNSwgMjIyLCAyNCwgMzAsIDIyNywgMTk4LCAxNSwgCi0gICAgNSwgMjIyLCAyNCwgMzAsIDIyMiwgMTAsIDE1LCA1LCAyMjIsIDI0LCAzMCwgMjIwLCAzMiwgMTUsIDUsIDIyMiwgMjQsIDMwLCAKLSAgICAyMTcsIDk0LCAxNSwgNSwgMjIyLCAyNCwgMzAsIDIxNCwgMjMwLCAxNSwgNSwgMjIyLCAyNCwgMzAsIDIxNCwgMjI1LCAxNSwgCi0gICAgNSwgMjIyLCAyNCwgMzAsIDIxNCwgMTk3LCAxNSwgNSwgMjIyLCAyNCwgMzAsIDIxNCwgMTUwLCAxNSwgNSwgMjIyLCAyNCwgCi0gICAgMzAsIDIxNCwgMTI2LCAxNSwgNSwgMjIyLCAyNCwgMTE1LCAyMjIsIDIzLCAxNSwgNSwgMjIyLCAyNCwgMjQyLCAxMDEsIDE1LCAKLSAgICA1LCAyMjIsIDEwLCAxNSwgNSwgMjIyLCAxMSwgMjMzLCAxMjQsIDMwLCAyNTMsIDIzNywgMTUsIDUsIDIyMSwgMjQxLCAxNSwgCi0gICAgNSwgMjIxLCAyMzMsIDE1LCA1LCAyMjAsIDEwNCwgMTUsIDUsIDIyMCwgMTAyLCAxNSwgNSwgMjIwLCAxMDMsIDMwLCA2MSwgCi0gICAgMTUsIDUsIDIyMCwgMTAzLCAzMCwgMjUyLCAxODQsIDE1LCA1LCAyMjAsIDEwMywgMzAsIDI0MiwgMTk3LCAxNSwgNSwgMjIwLCAKLSAgICAxMDMsIDMwLCAyMjksIDExMiwgMTUsIDUsIDIyMCwgMTAzLCAzMCwgMjE5LCAyMjUsIDE1LCA1LCAyMjAsIDEwMywgMzAsIAotICAgIDIxNSwgOTksIDE1LCA1LCAyMjAsIDEwMywgMzAsIDY5LCAxNSwgNSwgMjIwLCAxMDMsIDMwLCAxMDQsIDk2LCA2MSwgMTUsIAotICAgIDUsIDIyMCwgMTAxLCAxNSwgNSwgMjIwLCA5OSwgMTUsIDUsIDIyMCwgODAsIDE1LCA1LCAyMjAsIDY1LCAxNSwgNSwgMjIwLCAKLSAgICA2NiwgMjQwLCAyMjksIDE1LCA1LCAyMjAsIDY2LCAxMTUsIDIyMCwgNjYsIDI0MywgMTM0LCAxMTUsIDI0MywgMTM0LCAyNDMsIAotICAgIDEwNCwgMTE1LCAyNDMsIDEwMywgMTUsIDUsIDIyMCwgNjYsIDExNSwgMjIwLCA2NiwgMjE3LCA5NSwgMTE1LCAyMTcsIDk1LCAKLSAgICAyNDMsIDEwNCwgMTE1LCAyNDMsIDEwMywgMTUsIDUsIDIyMCwgNTgsIDE1LCA1LCAyMjAsIDUzLCAxNSwgNSwgMjIwLCA1MCwgCi0gICAgMTUsIDUsIDIyMCwgNDksIDE1LCA1LCAyMjAsIDQ2LCAxNSwgNSwgMjIwLCAzMiwgMTUsIDUsIDIyMCwgMzMsIDMwLCA2MSwgCi0gICAgMTUsIDUsIDIyMCwgMzMsIDMwLCAyMzYsIDIzLCAxNSwgNSwgMjIwLCAyNiwgMTUsIDUsIDIyMCwgMjcsIDMwLCA2MSwgMTUsIAotICAgIDUsIDIyMCwgMjcsIDMwLCAyNTIsIDE2OSwgMTUsIDUsIDIyMCwgMjcsIDMwLCAyNTEsIDExNywgMTUsIDUsIDIyMCwgMjcsIAotICAgIDMwLCAyNDcsIDIxNCwgMTUsIDUsIDIyMCwgMjcsIDMwLCAyNDMsIDEwMywgMTUsIDUsIDIyMCwgMjcsIDMwLCAyMzYsIDQyLCAKLSAgICAxNSwgNSwgMjIwLCAyNywgMzAsIDIzNiwgNDMsIDI0MiwgMTAxLCAxNSwgNSwgMjIwLCAyNywgMzAsIDIzMywgMTk3LCAxNSwgCi0gICAgNSwgMjIwLCAyNywgMzAsIDIzMiwgOTEsIDE1LCA1LCAyMjAsIDI3LCAzMCwgMjMwLCA5OCwgMTUsIDUsIDIyMCwgMjcsIDMwLCAKLSAgICAyMjIsIDEwLCAxNSwgNSwgMjIwLCAyMCwgMTUsIDUsIDIyMCwgMTUsIDE1LCA1LCAyMjAsIDE2LCAyMTYsIDI0MCwgMTUsIDUsIAotICAgIDIyMCwgMTYsIDExNSwgMjIwLCAxNiwgMjUxLCAxMDcsIDExNSwgMjUxLCAxMDYsIDE1LCA1LCAyMjAsIDExLCAxNSwgNSwgCi0gICAgMjE5LCAyMjcsIDE1LCA1LCAyMTksIDIyOCwgMTE1LCAyMzUsIDIwMCwgMjE5LCAyMjcsIDE1LCA1LCAyMTksIDIyNSwgMTUsIAotICAgIDUsIDIxOSwgMjI0LCAxNSwgNSwgMjE5LCAxOTMsIDE1LCA1LCAyMTksIDE5NCwgMjQyLCAxMDEsIDE1LCA1LCAyMTksIDE4NCwgCi0gICAgMTUsIDUsIDIxOSwgMTgyLCAxNSwgNSwgMjE5LCAxODMsIDExNSwgMjE5LCAxODMsIDIxOSwgMjI1LCAxNSwgNSwgMjE5LCAKLSAgICAxNzUsIDE1LCA1LCAyMTksIDE3MywgMTUsIDUsIDIxOCwgODQsIDE1LCA1LCAyMTgsIDg1LCAxMTUsIDIxOCwgODQsIDE1LCAKLSAgICA1LCAyMTgsIDU1LCAxNSwgNSwgMjE4LCA1NCwgMTUsIDUsIDIxOCwgNTIsIDE1LCA1LCAyMTgsIDQ0LCAxNSwgNSwgMjE4LCAKLSAgICA0MywgMTUsIDUsIDIxOCwgMTgsIDE1LCA1LCAyMTgsIDE3LCAxNSwgNSwgMjE3LCAxMDYsIDE1LCA1LCAyMTcsIDEwNywgCi0gICAgMjUzLCAyMjQsIDE1LCA1LCAyMTcsIDEwNywgMzAsIDI0MSwgMTg3LCAxNSwgNSwgMjE3LCAxMDcsIDMwLCAyMzAsIDIzNSwgCi0gICAgMTUsIDUsIDIxNywgMTA3LCAyNDIsIDEwMSwgMTUsIDUsIDIxNywgOTQsIDE1LCA1LCAyMTcsIDk1LCAxMTUsIDIxNywgOTUsIAotICAgIDIyOCwgMjM5LCAxMTUsIDIyOCwgMjM5LCAyNDcsIDE5NiwgMTE1LCAyNDcsIDE5NSwgMTUsIDUsIDIxNywgOTUsIDIxOCwgCi0gICAgMjM1LCAxNSwgNSwgMjE3LCA4NSwgMTUsIDUsIDEyOSwgMzAsIDI1MiwgMTQsIDE1LCA1LCAxMjksIDMwLCAyNDIsIDExMCwgCi0gICAgMTUsIDUsIDEyOSwgMzAsIDIyMCwgNjUsIDE1LCA1LCAxMjksIDMwLCAyMTksIDIyNywgMTUsIDUsIDEyOSwgMzAsIDIxNSwgCi0gICAgMTE0LCAxNSwgNSwgMTI5LCAzMCwgMjE0LCAyMTksIDE1LCA1LCAyMTcsIDczLCAxNSwgNSwgMjE3LCA1MSwgMTUsIDUsIAotICAgIDIxNywgMjMsIDE1LCA1LCAyMTcsIDI0LCAyNDIsIDEwMSwgMTUsIDUsIDIxNiwgMTE4LCAxNSwgNSwgMjE2LCAxMTksIDIxNiwgCi0gICAgMjQwLCAxNSwgNSwgMjE2LCA5MSwgMTUsIDUsIDIxNiwgNzMsIDE1LCA1LCAyMTYsIDc0LCAzMCwgMjE3LCA3MywgMTUsIDUsIAotICAgIDIxNiwgNzQsIDExNSwgMjE2LCA3MywgMTUsIDUsIDIxNiwgNzQsIDExNSwgMjE2LCA3NCwgMjQzLCAxMzQsIDExNSwgMjQzLCAKLSAgICAxMzQsIDI0MywgMTA0LCAxMTUsIDI0MywgMTAzLCAxNSwgNSwgMjE1LCAxMTksIDE1LCA1LCAyMTUsIDExNCwgMTUsIDUsIAotICAgIDIxNSwgMTEyLCAxNSwgNSwgMjE1LCAxMDksIDE1LCA1LCAyMTUsIDk5LCAxNSwgNSwgMjE1LCAxMDAsIDExNSwgMjE1LCAKLSAgICAxMDAsIDIxMCwgMTE3LCAxMTUsIDIxMCwgMTE2LCAxNSwgNSwgNjksIDE1LCA1LCAxMDQsIDI0MiwgMTEwLCAxNSwgNSwgCi0gICAgMTA0LCAxMDQsIDY5LCAxNSwgNSwgMTA0LCAxMTUsIDEwNCwgMjI2LCA5NCwgMTE1LCAyMjYsIDk0LCAyNDMsIDEwNCwgMTE1LCAKLSAgICAyNDMsIDEwMywgMTUsIDUsIDEwNCwgMTE1LCAxMDQsIDIxOCwgMTksIDExNSwgMjE4LCAxOCwgMTUsIDUsIDEwNCwgMTE1LCAKLSAgICAxMDQsIDEwNCwgMjIzLCA1MiwgMTE1LCAxMDQsIDIyMywgNTEsIDE1LCA1LCAyMTQsIDIzMCwgMTUsIDUsIDIxNCwgMjI1LCAKLSAgICAxNSwgNSwgMjE0LCAyMTksIDE1LCA1LCAyMTQsIDIyMCwgMjMzLCAxOTcsIDE1LCA1LCAyMTQsIDIyMCwgMzAsIDI1MiwgCi0gICAgMTg0LCAxNSwgNSwgMjE0LCAyMjAsIDMwLCAyMzAsIDIzNSwgMTUsIDUsIDIxNCwgMjIwLCAzMCwgMTA0LCA5NiwgMTA0LCAKLSAgICA5NiwgNjksIDE1LCA1LCAyMTQsIDIyMCwgMzAsIDEwNCwgOTYsIDEwNCwgOTYsIDEwNCwgMjQyLCAxMDEsIDE1LCA1LCAyMTQsIAotICAgIDIyMCwgMjQyLCAxMDEsIDE1LCA1LCAyMTQsIDIyMCwgMjIwLCA0NywgMTUsIDUsIDIxNCwgMjIwLCAyMjAsIDQ4LCAzMCwgCi0gICAgMjUyLCAxODQsIDE1LCA1LCAyMTQsIDIxNSwgMTUsIDUsIDIxNCwgMTk3LCAxNSwgNSwgMjE0LCAxOTgsIDMwLCAyMzMsIAotICAgIDEyMywgMTUsIDUsIDIxNCwgMTk4LCAzMCwgMjMxLCA5NywgOTYsIDI0OCwgMjI5LCAxNSwgNSwgMjE0LCAxOTgsIDMwLCAKLSAgICAyMjAsIDEwMiwgMTUsIDUsIDIxNCwgMTk4LCAzMCwgNjksIDE1LCA1LCAyMTQsIDE5NiwgMTUsIDUsIDIxNCwgMTkyLCAxNSwgCi0gICAgNSwgMjE0LCAxOTMsIDMwLCAyMzQsIDIxMywgMTUsIDUsIDIxNCwgMTkzLCAzMCwgMTkxLCAxNSwgNSwgMjE0LCAxOTAsIDE1LCAKLSAgICA1LCAyMTQsIDE5MSwgMjQyLCAxMDEsIDE1LCA1LCAyMTQsIDE1MCwgMTUsIDUsIDIxNCwgMTUxLCAyNDksIDEzMywgMjE0LCAKLSAgICAxNTAsIDE1LCA1LCAyMTQsIDE1MSwgMjIwLCA0NywgMTUsIDUsIDIxNCwgMTQ4LCAxNSwgNSwgMjE0LCAxNDksIDMwLCAxMTYsIAotICAgIDk2LCAxNjIsIDE1LCA1LCAyMTQsIDE0OSwgMzAsIDExNiwgOTYsIDE5OCwgMTUsIDUsIDIxNCwgMTQ5LCAzMCwgMjU0LCAKLSAgICAxODcsIDE1LCA1LCAyMTQsIDE0OSwgMzAsIDE2MiwgMTUsIDUsIDIxNCwgMTQ5LCAzMCwgMjI3LCAxOTgsIDE1LCA1LCAyMTQsIAotICAgIDE0OSwgMzAsIDIxNCwgMjMwLCAxNSwgNSwgMjE0LCAxNDksIDMwLCAyMTQsIDIzMSwgOTYsIDI1MywgMjM5LCAxNSwgNSwgCi0gICAgMjE0LCAxNDksIDMwLCAyMTQsIDIzMSwgOTYsIDI1MiwgMTQsIDE1LCA1LCAyMTQsIDE0NywgMTUsIDUsIDIxNCwgMTQ0LCAKLSAgICAxNSwgNSwgMjE0LCAxNDMsIDE1LCA1LCAyMTQsIDEzOSwgMTUsIDUsIDIxNCwgMTQwLCAzMCwgNjEsIDE1LCA1LCAyMTQsIAotICAgIDE0MCwgMzAsIDI1MywgMjM0LCAxNSwgNSwgMjE0LCAxNDAsIDMwLCAxMzAsIDE1LCA1LCAyMTQsIDE0MCwgMzAsIDI0NiwgCi0gICAgNzYsIDE1LCA1LCAyMTQsIDE0MCwgMzAsIDI0MywgMTQyLCAxNSwgNSwgMjE0LCAxNDAsIDMwLCAyNDMsIDEyNSwgMTUsIDUsIAotICAgIDIxNCwgMTQwLCAzMCwgMjQzLCAxMTIsIDIxNiwgMjQwLCAxNSwgNSwgMjE0LCAxNDAsIDMwLCAyNDMsIDEwMywgMTUsIDUsIAotICAgIDIxNCwgMTQwLCAzMCwgMjQyLCAxMjAsIDE1LCA1LCAyMTQsIDE0MCwgMzAsIDE2MiwgMTUsIDUsIDIxNCwgMTQwLCAzMCwgCi0gICAgMjM2LCA0MiwgMTUsIDUsIDIxNCwgMTQwLCAzMCwgMjM2LCAyMywgMTUsIDUsIDIxNCwgMTQwLCAzMCwgMjM1LCAxNzIsIDE1LCAKLSAgICA1LCAyMTQsIDE0MCwgMzAsIDIzNCwgOTgsIDE1LCA1LCAyMTQsIDE0MCwgMzAsIDIzMiwgODksIDE1LCA1LCAyMTQsIDE0MCwgCi0gICAgMzAsIDIzMCwgMTkzLCAxNSwgNSwgMjE0LCAxNDAsIDMwLCAxOTEsIDE1LCA1LCAyMTQsIDE0MCwgMzAsIDIyMCwgNjUsIDE1LCAKLSAgICA1LCAyMTQsIDE0MCwgMzAsIDIxOSwgMTgyLCAxNSwgNSwgMjE0LCAxNDAsIDMwLCAyMTUsIDExOSwgMTUsIDUsIDIxNCwgCi0gICAgMTQwLCAzMCwgMTA0LCA5NiwgMjQyLCAxMTAsIDE1LCA1LCAyMTQsIDE0MCwgMzAsIDIxNCwgMjE5LCAxNSwgNSwgMjE0LCAKLSAgICAxNDAsIDMwLCAyMTQsIDEzNywgMTUsIDUsIDIxNCwgMTM3LCAxNSwgNSwgMjE0LCAxMzgsIDMwLCA2OSwgMTUsIDUsIDIxNCwgCi0gICAgMTI2LCAxNSwgNSwgMjE0LCAxMjcsIDMwLCA2MSwgMTUsIDUsIDIxNCwgMTI3LCAzMCwgMjMzLCAyMjMsIDE1LCA1LCAyMTQsIAotICAgIDEyNywgMzAsIDIzMywgMjAyLCAxNSwgNSwgMjE0LCAxMjcsIDMwLCAyMTcsIDczLCAxNSwgNSwgMjE0LCAxMjIsIDE1LCA1LCAKLSAgICAyMTQsIDEyNSwgMTUsIDUsIDIxNCwgMTIzLCAxNSwgNSwgMjE0LCAxMTksIDE1LCA1LCAyMTQsIDEwOCwgMTUsIDUsIDIxNCwgCi0gICAgMTA5LCAzMCwgMjM0LCAyMTMsIDE1LCA1LCAyMTQsIDEwNywgMTUsIDUsIDIxMCwgMTE2LCAxNSwgNSwgMjEwLCAxMTcsIAotICAgIDIxNiwgMjQwLCAxNSwgNSwgMjEwLCAxMTcsIDkyLCAzMCwgMjMzLCAyMDIsIDE1LCA1LCAyMTAsIDExMywgMTUsIDUsIDIxMCwgCi0gICAgMTA2LCAxNSwgNSwgMjEwLCA5MywgMTUsIDUsIDIxMCwgNDQsIDE1LCA1LCAyMTAsIDQ1LCAxMTUsIDIxMCwgNDQsIDE1LCA1LCAKLSAgICAyMTAsIDQzLCAxNSwgNSwgMjEwLCA0MSwgMTUsIDUsIDIxMCwgNDIsIDIzNSwgOSwgMjE2LCAyNDAsIDE1LCA1LCAyMTAsIAotICAgIDM2LCAxNSwgNSwgMjEwLCAyOCwgMTUsIDUsIDIxMCwgMTMsIDE1LCA1LCAyMTAsIDExLCAxNSwgNSwgMjEwLCAxMiwgMzAsIAotICAgIDYxLCAxNSwgNSwgMjEwLCAxMCwgMTUsIDUsIDIxMCwgOSwgMTUsIDEzMiwgNSwgMTEzLCAyNTMsIDIzOSwgMTUsIDEzMiwgNSwgCi0gICAgMTM0LCAyNTMsIDIzOSwgMTUsIDEzMiwgNSwgMjQ0LCAxOSwgMjUzLCAyMzksIDE1LCAxMzIsIDUsIDI0NCwgODksIDI1MywgCi0gICAgMjM5LCAxNSwgMTMyLCA1LCAyMTksIDEyNywgMjUzLCAyMzksIDE1LCAxMzIsIDUsIDIyMCwgMTI0LCAyNTMsIDIzOSwgMTUsIAotICAgIDEzMiwgNSwgMjQ1LCAyMDEsIDI1MywgMjM5LCAxNSwgMTMyLCA1LCAyMjgsIDIwNSwgMjUzLCAyMzksIDE1LCAxMzIsIDUsIAotICAgIDEzNCwgMjQ3LCAxOTUsIDE1LCAxMzIsIDUsIDI0NCwgMTksIDI0NywgMTk1LCAxNSwgMTMyLCA1LCAyNDQsIDg5LCAyNDcsIAotICAgIDE5NSwgMTUsIDEzMiwgNSwgMjE5LCAxMjcsIDI0NywgMTk1LCAxNSwgMTMyLCA1LCAyMjAsIDEyNCwgMjQ3LCAxOTUsIDE1LCAKLSAgICAxMzIsIDUsIDI0NSwgMjAxLCAyNDcsIDE5NSwgMTUsIDEzMiwgNSwgMjI4LCAyMDUsIDI0NywgMTk1LCAxNSwgMTMyLCA1LCAKLSAgICAyNDQsIDE5LCA2OSwgMTUsIDEzMiwgNSwgMjQ0LCA4OSwgNjksIDE1LCAxMzIsIDUsIDIxOSwgMTI3LCA2OSwgMTUsIDEzMiwgCi0gICAgNSwgMjIwLCAxMjQsIDY5LCAxNSwgMTMyLCA1LCAyNDUsIDIwMSwgNjksIDE1LCAxMzIsIDUsIDIyOCwgMjA1LCA2OSwgMTUsIAotICAgIDEzMiwgNSwgMTIzLCAyNDMsIDQ1LCAxNSwgMTMyLCA1LCAxMTMsIDI0MywgNDUsIDE1LCAxMzIsIDUsIDEzNCwgMjQzLCA0NSwgCi0gICAgMTUsIDEzMiwgNSwgMjQ0LCAxOSwgMjQzLCA0NSwgMTUsIDEzMiwgNSwgMjQ0LCA4OSwgMjQzLCA0NSwgMTUsIDEzMiwgNSwgCi0gICAgMjE5LCAxMjcsIDI0MywgNDUsIDE1LCAxMzIsIDUsIDIyMCwgMTI0LCAyNDMsIDQ1LCAxNSwgMTMyLCA1LCAyNDUsIDIwMSwgCi0gICAgMjQzLCA0NSwgMTUsIDEzMiwgNSwgMjI4LCAyMDUsIDI0MywgNDUsIDE1LCAxMzIsIDUsIDEyMywgMjQzLCA0MiwgMTUsIAotICAgIDEzMiwgNSwgMTEzLCAyNDMsIDQyLCAxNSwgMTMyLCA1LCAxMzQsIDI0MywgNDIsIDE1LCAxMzIsIDUsIDI0NCwgMTksIDI0MywgCi0gICAgNDIsIDE1LCAxMzIsIDUsIDI0NCwgODksIDI0MywgNDIsIDE1LCAxMzIsIDUsIDExMywgMjIwLCA4MCwgMTUsIDEzMiwgNSwgCi0gICAgMTM0LCAyMjAsIDgwLCAxNSwgMTMyLCA1LCAxMzQsIDIyMCwgODEsIDIxNCwgMTIsIDE3LCAxNSwgMTMyLCA1LCAyNDQsIDE5LCAKLSAgICAyMjAsIDgwLCAxNSwgMTMyLCA1LCAyNDQsIDg5LCAyMjAsIDgwLCAxNSwgMTMyLCA1LCAyMTksIDEyNywgMjIwLCA4MCwgMTUsIAotICAgIDEzMiwgNSwgMjIwLCAxMjQsIDIyMCwgODAsIDE1LCAxMzIsIDUsIDI0NSwgMjAxLCAyMjAsIDgwLCAxNSwgMTMyLCA1LCAKLSAgICAyMjgsIDIwNSwgMjIwLCA4MCwgMTUsIDEzMiwgNSwgMTIzLCAyMjAsIDc1LCAxNSwgMTMyLCA1LCAxMTMsIDIyMCwgNzUsIAotICAgIDE1LCAxMzIsIDUsIDEzNCwgMjIwLCA3NSwgMTUsIDEzMiwgNSwgMTM0LCAyMjAsIDc2LCAyMTQsIDEyLCAxNywgMTUsIDEzMiwgCi0gICAgNSwgMjQ0LCAxOSwgMjIwLCA3NSwgMTUsIDEzMiwgNSwgMjQ0LCA4OSwgMjIwLCA3NSwgMTUsIDEzMiwgNSwgMjIwLCA4MSwgCi0gICAgMzAsIDI0MywgMTI2LCA5NiwgMjQ3LCAxOTUsIDE1LCAxMzIsIDUsIDIyMCwgODEsIDMwLCAyNDMsIDEyNiwgOTYsIDIzMCwgCi0gICAgMTkzLCAxNSwgMTMyLCA1LCAxMjMsIDI1MSwgMTAzLCAxNSwgMTMyLCA1LCAxMTMsIDI1MSwgMTAzLCAxNSwgMTMyLCA1LCAKLSAgICAxMzQsIDI1MSwgMTAzLCAxNSwgMTMyLCA1LCAxMzQsIDI1MSwgMTA0LCAyMTQsIDEyLCAxNywgMTUsIDEzMiwgNSwgMjQ0LCAKLSAgICAxOSwgMjUxLCAxMDMsIDE1LCAxMzIsIDUsIDI0NCwgODksIDI1MSwgMTAzLCAxNSwgMTMyLCA1LCAxMzQsIDIxNCwgMTIsIAotICAgIDI0NCwgMjgsIDI0NSwgODIsIDE1LCAxMzIsIDUsIDEzNCwgMjE0LCAxMiwgMjQ0LCAyOCwgMjQ1LCA3OSwgMTUsIDEzMiwgNSwgCi0gICAgMjQ0LCAxOSwgMjE0LCAxMiwgMjQ0LCAyOCwgMjMyLCAyMjMsIDE1LCAxMzIsIDUsIDI0NCwgMTksIDIxNCwgMTIsIDI0NCwgCi0gICAgMjgsIDIzMiwgMjIxLCAxNSwgMTMyLCA1LCAyNDQsIDE5LCAyMTQsIDEyLCAyNDQsIDI4LCAyMzIsIDIyNCwgNjEsIDE1LCAKLSAgICAxMzIsIDUsIDI0NCwgMTksIDIxNCwgMTIsIDI0NCwgMjgsIDIzMiwgMjI0LCAyNTMsIDE2NiwgMTUsIDEzMiwgNSwgMjE5LCAKLSAgICAxMjcsIDIxNCwgMTIsIDI0NCwgMjgsIDI1MywgMjM2LCAxNSwgMTMyLCA1LCAyMjAsIDEyNCwgMjE0LCAxMiwgMjQ0LCAyOCwgCi0gICAgMjM2LCAxNSwgMTUsIDEzMiwgNSwgMjIwLCAxMjQsIDIxNCwgMTIsIDI0NCwgMjgsIDIzNiwgMTcsIDYxLCAxNSwgMTMyLCA1LCAKLSAgICAyMjAsIDEyNCwgMjE0LCAxMiwgMjQ0LCAyOCwgMjM2LCAxNywgMjUzLCAxNjYsIDE1LCAxMzIsIDUsIDI0NSwgMjAxLCAyMTQsIAotICAgIDEyLCAyNDQsIDI4LCAyMTQsIDEyMSwgMTUsIDEzMiwgNSwgMjQ1LCAyMDEsIDIxNCwgMTIsIDI0NCwgMjgsIDIxNCwgMTIwLCAKLSAgICAxNSwgMTMyLCA1LCAyMjgsIDIwNSwgMjE0LCAxMiwgMjQ0LCAyOCwgMjM2LCAzMSwgMTUsIDEzMiwgNSwgMjI4LCAyMDUsIAotICAgIDIxNCwgMTIsIDI0NCwgMjgsIDIzNiwgMzAsIDE1LCAxMzIsIDUsIDIyOCwgMjA1LCAyMTQsIDEyLCAyNDQsIDI4LCAyMzYsIAotICAgIDI5LCAxNSwgMTMyLCA1LCAyMjgsIDIwNSwgMjE0LCAxMiwgMjQ0LCAyOCwgMjM2LCAzMiwgNjEsIDE1LCAxMzIsIDUsIDExMywgCi0gICAgMjUzLCAyNDAsIDIxNiwgMjQwLCAxNSwgMTMyLCA1LCAxMzQsIDI1MywgMjQwLCAyMTYsIDI0MCwgMTUsIDEzMiwgNSwgMjQ0LCAKLSAgICAxOSwgMjUzLCAyNDAsIDIxNiwgMjQwLCAxNSwgMTMyLCA1LCAyNDQsIDg5LCAyNTMsIDI0MCwgMjE2LCAyNDAsIDE1LCAxMzIsIAotICAgIDUsIDIxOSwgMTI3LCAyNTMsIDI0MCwgMjE2LCAyNDAsIDE1LCAxMzIsIDUsIDEyMywgMjUyLCAxNTgsIDE1LCAxMzIsIDUsIAotICAgIDExMywgMjUyLCAxNTgsIDE1LCAxMzIsIDUsIDEzNCwgMjUyLCAxNTgsIDE1LCAxMzIsIDUsIDI0NCwgMTksIDI1MiwgMTU4LCAKLSAgICAxNSwgMTMyLCA1LCAyNDQsIDE5LCAyNTIsIDE1OSwgMjE0LCAxMiwgMTcsIDE1LCAxMzIsIDUsIDI0NCwgODksIDI1MiwgCi0gICAgMTU4LCAxNSwgMTMyLCA1LCAyNDQsIDg5LCAyNTIsIDE1OSwgMjE0LCAxMiwgMTcsIDE1LCAxMzIsIDUsIDIyOCwgMjE1LCAKLSAgICAxNSwgMTMyLCA1LCAyMjgsIDIxNiwgMTUsIDEzMiwgNSwgMTIzLCAyNDUsIDc4LCAxNSwgMTMyLCA1LCAxMTMsIDI0NSwgNzgsIAotICAgIDE1LCAxMzIsIDUsIDEyMywgMjE2LCAxNzAsIDI0NywgMTk1LCAxNSwgMTMyLCA1LCAxMTMsIDIxNiwgMTY4LCAyNDcsIDE5NSwgCi0gICAgMTUsIDEzMiwgNSwgMjQ0LCA4OSwgMjE5LCAxMTYsIDI0NywgMTk1LCAxNSwgMTMyLCA1LCAxMjMsIDIxNiwgMTcwLCAyMTQsIAotICAgIDEyLCAyNDQsIDI4LCA2MSwgMTUsIDEzMiwgNSwgMTEzLCAyMTYsIDE2OCwgMjE0LCAxMiwgMjQ0LCAyOCwgNjEsIDE1LCAKLSAgICAxMzIsIDUsIDEyMywgMjQ1LCAxOTcsIDI1MywgMjM5LCAxNSwgMTMyLCA1LCAxMjMsIDIyNCwgMjUsIDI1MywgMjM5LCAxNSwgCi0gICAgMTMyLCA1LCA1NSwgMjUzLCAyMjcsIDEyMywgMjE5LCAxMTcsIDE1LCAxMzIsIDUsIDU1LCAyNTMsIDIyNywgMTIzLCAyMjQsIAotICAgIDI0LCAxNSwgMjI0LCAxNDQsIDUsIDU1LCAyNTMsIDIyNywgMjExLCAyMDksIDI0NywgMTgwLCAxNSwgMjI0LCAxNDQsIDUsIAotICAgIDY3LCAyNDksIDIzNCwgMTUsIDIyNCwgMTQ0LCA1LCAyNDgsIDcsIDI0OSwgMjM0LCAxNSwgMjI0LCAxNDQsIDUsIDI0OCwgNywgCi0gICAgMjE1LCAyMjIsIDEyLCAxMywgMjU1LCAxNjQsIDEyLCAxMywgMjU1LCAxNjMsIDEyLCAxMywgMjU1LCAxNjIsIDEyLCAxMywgCi0gICAgMjU1LCAxNjEsIDEyLCAxMywgMjU1LCAxNjAsIDEyLCAxMywgMjU1LCAxNTksIDEyLCAxMywgMjU1LCAxNTgsIDEyLCAxMywgCi0gICAgMjU1LCAxNTcsIDEyLCAxMywgMjU1LCAxNTYsIDEyLCAxMywgMjU1LCAxNTUsIDEyLCAxMywgMjU1LCAxNTQsIDEyLCAxMywgCi0gICAgMjU1LCAxNTMsIDEyLCAxMywgMjU1LCAxNTIsIDEyLCAxMywgMjU1LCAxNTEsIDEyLCAxMywgMjU1LCAxNTAsIDEyLCAxMywgCi0gICAgMjU1LCAxNDksIDEyLCAxMywgMjU1LCAxNDgsIDEyLCAxMywgMjU1LCAxNDcsIDEyLCAxMywgMjU1LCAxNDYsIDEyLCAxMywgCi0gICAgMjU1LCAxNDUsIDEyLCAxMywgMjU1LCAxNDQsIDEyLCAxMywgMjU1LCAxNDMsIDEyLCAxMywgMjU1LCAxNDIsIDEyLCAxMywgCi0gICAgMjU1LCAxNDEsIDEyLCAxMywgMjU1LCAxNDAsIDEyLCAxMywgMjU1LCAxMzksIDEyLCAxMywgMjU1LCAxMzgsIDEyLCAxMywgCi0gICAgMjU1LCAxMzcsIDEyLCAxMywgMjU1LCAxMzYsIDEyLCAxMywgMjU1LCAxMzUsIDEyLCAxMywgMjU1LCAxMzQsIDEyLCAxMywgCi0gICAgMjU1LCAxMzMsIDEyLCAxMywgMjU1LCAxMzIsIDEyLCAxMywgMjU1LCAxMzEsIDEyLCAxMywgMjU1LCAxMzAsIDEyLCAxMywgCi0gICAgMjU1LCAxMjksIDEyLCAxMywgMjU1LCAxMjgsIDEyLCAxMywgMjU1LCAxMjcsIDEyLCAxMywgMjU1LCAxMjYsIDEyLCAxMywgCi0gICAgMjU1LCAxMjUsIDEyLCAxMywgMjU1LCAxMjQsIDEyLCAxMywgMjU1LCAxMjMsIDEyLCAxMywgMjU1LCAxMjIsIDEyLCAxMywgCi0gICAgMjU1LCAxMjEsIDEyLCAxMywgMjU1LCAxMjAsIDEyLCAxMywgMjU1LCAxMTksIDEyLCAxMywgMjU1LCAxMTgsIDEyLCAxMywgCi0gICAgMjU1LCAxMTcsIDEyLCAxMywgMjU1LCAxMTYsIDEyLCAxMywgMjU1LCAxMTUsIDEyLCAxMywgMjU1LCAxMTQsIDEyLCAxMywgCi0gICAgMjU1LCAxMTMsIDEyLCAxMywgMjU1LCAxMTIsIDEyLCAxMywgMjU1LCAxMTEsIDEyLCAxMywgMjU1LCAxMTAsIDEyLCAxMywgCi0gICAgMjU1LCAxMDksIDEyLCAxMywgMjU1LCAxMDgsIDEyLCAxMywgMjU1LCAxMDcsIDEyLCAxMywgMjU1LCAxMDYsIDEyLCAxMywgCi0gICAgMjU1LCAxMDUsIDEyLCAxMywgMjU1LCAxMDQsIDEyLCAxMywgMjU1LCAxMDMsIDEyLCAxMywgMjU1LCAxMDIsIDEyLCAxMywgCi0gICAgMjU1LCAxMDEsIDEyLCAxMywgMjU1LCAxMDAsIDEyLCAxMywgMjU1LCA5OSwgMTIsIDEzLCAyNTUsIDk4LCAxMiwgMTMsIAotICAgIDI1NSwgOTcsIDEyLCAxMywgMjU1LCA5NiwgMTIsIDEzLCAyNTUsIDk1LCAxMiwgMTMsIDI1NSwgOTQsIDEyLCAxMywgMjU1LCAKLSAgICA5MywgMTIsIDEzLCAyNTUsIDkyLCAxMiwgMTMsIDI1NSwgOTEsIDEyLCAxMywgMjU1LCA5MCwgMTIsIDEzLCAyNTUsIDg5LCAKLSAgICAxMiwgMTMsIDI1NSwgODgsIDEyLCAxMywgMjU1LCA4NywgMTIsIDEzLCAyNTUsIDg2LCAxMiwgMTMsIDI1NSwgODUsIDEyLCAKLSAgICAxMywgMjUzLCAxNjQsIDEyLCAxMywgMjUzLCAxNjIsIDEyLCAxMywgMjUzLCAxNjAsIDEyLCAxMywgMjUzLCAxNTgsIDEyLCAKLSAgICAxMywgMjUzLCAxNTYsIDEyLCAxMywgMjUzLCAxNTUsIDEyLCAxMywgMjUzLCAxNTMsIDEyLCAxMywgMjUzLCAxNTEsIDEyLCAKLSAgICAxMywgMjUzLCAxNDksIDEyLCAxMywgMjUzLCAxNDcsIDEyLCAxMywgMjUxLCA3MCwgMTIsIDEzLCAyNTEsIDY5LCAxMiwgMTMsIAotICAgIDI1MSwgNjgsIDEyLCAxMywgMjUxLCA2NywgMTIsIDEzLCAyNTEsIDY2LCAxMiwgMTMsIDI1MSwgNjUsIDEyLCAxMywgMjUxLCAKLSAgICA2NCwgMTIsIDEzLCAyNTEsIDYzLCAxMiwgMTMsIDI1MSwgNjIsIDEyLCAxMywgMjUxLCA2MSwgMTIsIDEzLCAyNTEsIDYwLCAKLSAgICAxMiwgMTMsIDI1MSwgNTksIDEyLCAxMywgMjUxLCA1OCwgMTIsIDEzLCAyNTEsIDU3LCAxMiwgMTMsIDI1MSwgNTYsIDEyLCAKLSAgICAxMywgMjUxLCA1NSwgMTIsIDEzLCAyNTEsIDU0LCAxMiwgMTMsIDI1MSwgNTMsIDEyLCAxMywgMjUxLCA1MiwgMTIsIDEzLCAKLSAgICAyNTEsIDUxLCAxMiwgMTMsIDI1MSwgNTAsIDEyLCAxMywgMjUxLCA0OSwgMTIsIDEzLCAyNTEsIDQ4LCAxMiwgMTMsIDI1MSwgCi0gICAgNDcsIDEyLCAxMywgMjUxLCA0NiwgMTIsIDEzLCAyNTEsIDQ1LCAxMiwgMTMsIDI1MSwgNDQsIDEyLCAxMywgMjUxLCA0MywgCi0gICAgMTIsIDEzLCAyNDksIDY3LCAxMiwgMTMsIDI0OSwgNjYsIDEyLCAxMywgMjQ5LCA2NSwgMTIsIDEzLCAyNDksIDY0LCAxMiwgCi0gICAgMTMsIDI0OSwgNjMsIDEyLCAxMywgMjQ5LCA2MiwgMTIsIDEzLCAyNDksIDYxLCAxMiwgMTMsIDI0OSwgNjAsIDEyLCAxMywgCi0gICAgMjQ5LCA1OSwgMTIsIDEzLCAyNDksIDU4LCAxMiwgMTMsIDI0OSwgNTcsIDEyLCAxMywgMjQ5LCA1NiwgMTIsIDEzLCAyNDksIAotICAgIDU1LCAxMiwgMTMsIDI0OSwgNTQsIDEyLCAxMywgMjQ5LCA1MywgMTIsIDEzLCAyNDksIDUyLCAxMiwgMTMsIDI0OSwgNTEsIAotICAgIDEyLCAxMywgMjQ5LCA1MCwgMTIsIDEzLCAyNDksIDQ5LCAxMiwgMTMsIDI0OSwgNDgsIDEyLCAxMywgMjQ5LCA0NywgMTIsIAotICAgIDEzLCAyNDksIDQ2LCAxMiwgMTMsIDI0OSwgNDUsIDEyLCAxMywgMjQ5LCA0NCwgMTIsIDEzLCAyNDksIDQzLCAxMiwgMTMsIAotICAgIDI0OSwgNDIsIDEyLCAxMywgMjQ5LCA0MSwgMTIsIDEzLCAyNDksIDQwLCAxMiwgMTMsIDI0OSwgMzksIDEyLCAxMywgMjQ5LCAKLSAgICAzOCwgMTIsIDEzLCAyNDksIDM3LCAxMiwgMTMsIDI0OSwgMzYsIDEyLCAxMywgMjQ5LCAzNSwgMTIsIDEzLCAyNDksIDM0LCAKLSAgICAxMiwgMTMsIDI0OSwgMzMsIDEyLCAxMywgMjQ5LCAzMiwgMTIsIDEzLCAyNDksIDMxLCAxMiwgMTMsIDI0OSwgMzAsIDEyLCAKLSAgICAxMywgMjQ5LCAyOSwgMTIsIDEzLCAyNDksIDI4LCAxMiwgMTMsIDI0OSwgMjcsIDEyLCAxMywgMjQ5LCAyNiwgMTIsIDEzLCAKLSAgICAyNDksIDI1LCAxMiwgMTMsIDI0OSwgMjQsIDEyLCAxMywgMjQ5LCAyMywgMTIsIDEzLCAyNDksIDIyLCAxMiwgMTMsIDI0OSwgCi0gICAgMjEsIDEyLCAxMywgMjQ5LCAyMCwgMTIsIDEzLCAyNDksIDE5LCAxMiwgMTMsIDI0OSwgMTgsIDEyLCAxMywgMjQ5LCAxNywgCi0gICAgMTIsIDEzLCAyNDksIDE2LCAxMiwgMTMsIDI0OSwgMTUsIDEyLCAxMywgMjQ5LCAxNCwgMTIsIDEzLCAyNDksIDEzLCAxMiwgCi0gICAgMTMsIDI0OSwgMTIsIDEyLCAxMywgMjQ5LCAxMSwgMTIsIDEzLCAyNDksIDEwLCAxMiwgMTMsIDI0OSwgOSwgMTIsIDEzLCAKLSAgICAyNDksIDgsIDEyLCAxMywgMjQ5LCA3LCAxMiwgMTMsIDI0OSwgNiwgMTIsIDEzLCAyNDksIDUsIDEyLCAxMywgMjQ5LCA0LCAKLSAgICAxMiwgMTMsIDI0OSwgMywgMTIsIDEzLCAyNDksIDIsIDEyLCAxMywgMjQ5LCAxLCAxMiwgMTMsIDI0OSwgMCwgMTIsIDEzLCAKLSAgICAyNDgsIDI1NSwgMTIsIDEzLCAyNDgsIDI1NCwgMTIsIDEzLCAyNDgsIDI1MywgMTIsIDEzLCAyNDgsIDI1MiwgMTIsIDEzLCAKLSAgICAyNDgsIDI1MSwgMTIsIDEzLCAyNDgsIDI1MCwgMTIsIDEzLCAyNDgsIDI0OSwgMTIsIDEzLCAyNDgsIDI0OCwgMTIsIDEzLCAKLSAgICAyNDgsIDI0NywgMTIsIDEzLCAyNDgsIDI0NiwgMTIsIDEzLCAyNDgsIDI0NSwgMTIsIDEzLCAyNDgsIDI0NCwgMTIsIDEzLCAKLSAgICAyNDgsIDI0MywgMTIsIDEzLCAyNDgsIDI0MiwgMTIsIDEzLCAyNDgsIDI0MSwgMTIsIDEzLCAyNDgsIDI0MCwgMTIsIDEzLCAKLSAgICAyNDgsIDIzOSwgMTIsIDEzLCAyNDgsIDIzOCwgMTIsIDEzLCAyNDgsIDIzNywgMTIsIDEzLCAyNDgsIDIzNiwgMTIsIDEzLCAKLSAgICAyNDgsIDIzNSwgMTIsIDEzLCAyNDgsIDIzNCwgMTIsIDEzLCAyNDgsIDIzMywgMTIsIDEzLCAyNDgsIDIzMiwgMTIsIDEzLCAKLSAgICAyNDYsIDMxLCAxMiwgMTMsIDI0NiwgMzAsIDEyLCAxMywgMjQ2LCAyOSwgMTIsIDEzLCAyNDYsIDI4LCAxMiwgMTMsIDI0NiwgCi0gICAgMjcsIDEyLCAxMywgMjQ2LCAyNiwgMTIsIDEzLCAyNDYsIDI1LCAxMiwgMTMsIDI0NiwgMjQsIDEyLCAxMywgMjQ2LCAyMywgCi0gICAgMTIsIDEzLCAyNDYsIDIyLCAxMiwgMTMsIDI0NiwgMjEsIDEyLCAxMywgMjQ2LCAyMCwgMTIsIDEzLCAyNDYsIDE5LCAxMiwgCi0gICAgMTMsIDI0NiwgMTgsIDEyLCAxMywgMjQ2LCAxNywgMTIsIDEzLCAyNDYsIDE2LCAxMiwgMTMsIDI0NiwgMTUsIDEyLCAxMywgCi0gICAgMjQ2LCAxNCwgMTIsIDEzLCAyNDYsIDEzLCAxMiwgMTMsIDI0NiwgMTIsIDEyLCAxMywgMjQ2LCAxMSwgMTIsIDEzLCAyNDYsIAotICAgIDEwLCAxMiwgMTMsIDI0NiwgOSwgMTIsIDEzLCAyNDYsIDgsIDEyLCAxMywgMjQ2LCA3LCAxMiwgMTMsIDI0NiwgNiwgMTIsIAotICAgIDEzLCAyNDYsIDUsIDEyLCAxMywgMjQ2LCA0LCAxMiwgMTMsIDI0NiwgMywgMTIsIDEzLCAyNDYsIDIsIDEyLCAxMywgMjQ2LCAKLSAgICAxLCAxMiwgMTMsIDI0NiwgMCwgMTIsIDEzLCAyNDUsIDI1NSwgMTIsIDEzLCAyNDUsIDI1NCwgMTIsIDEzLCAyNDUsIDI1MywgCi0gICAgMTIsIDEzLCAyNDUsIDI1MiwgMTIsIDEzLCAyNDUsIDI1MSwgMTIsIDEzLCAyNDUsIDI1MCwgMTIsIDEzLCAyNDUsIDI0OSwgCi0gICAgMTIsIDEzLCAyNDUsIDI0OCwgMTIsIDEzLCAyNDUsIDI0NywgMTIsIDEzLCAyNDUsIDI0NiwgMTIsIDEzLCAyNDUsIDI0NSwgCi0gICAgMTIsIDEzLCAyNDUsIDI0NCwgMTIsIDEzLCAyNDUsIDEzLCAxMiwgMTMsIDI0NSwgMTIsIDEyLCAxMywgMjQ1LCAxMSwgMTIsIAotICAgIDEzLCAyNDUsIDEwLCAxMiwgMTMsIDI0NSwgOSwgMTIsIDEzLCAyNDUsIDgsIDEyLCAxMywgMjQ1LCA3LCAxMiwgMTMsIDI0NSwgCi0gICAgNiwgMTIsIDEzLCAyNDUsIDUsIDEyLCAxMywgMjQ1LCA0LCAxMiwgMTMsIDI0NSwgMywgMTIsIDEzLCAyNDUsIDIsIDEyLCAKLSAgICAxMywgMjQ1LCAxLCAxMiwgMTMsIDI0NSwgMCwgMTIsIDEzLCAyNDQsIDI1NSwgMTIsIDEzLCAyNDQsIDI1NCwgMTIsIDEzLCAKLSAgICAyNDQsIDI1MywgMTIsIDEzLCAyNDQsIDI1MiwgMTIsIDEzLCAyNDQsIDI1MSwgMTIsIDEzLCAyNDQsIDI1MCwgMTIsIDEzLCAKLSAgICAyNDQsIDI0OSwgMTIsIDEzLCAyNDQsIDI0OCwgMTIsIDEzLCAyNDQsIDI0NywgMTIsIDEzLCAyNDQsIDI0NiwgMTIsIDEzLCAKLSAgICAyNDQsIDI0NSwgMTIsIDEzLCAyNDQsIDI0NCwgMTIsIDEzLCAyNDQsIDI0MywgMTIsIDEzLCAyNDQsIDI0MiwgMTIsIDEzLCAKLSAgICAyNDQsIDI0MSwgMTIsIDEzLCAyNDQsIDI0MCwgMTIsIDEzLCAyNDQsIDIzOSwgMTIsIDEzLCAyNDQsIDIzOCwgMTIsIDEzLCAKLSAgICAyNDQsIDIzNywgMTIsIDEzLCAyNDQsIDIzNiwgMTIsIDEzLCAyNDQsIDIzNSwgMTIsIDEzLCAyNDQsIDIzNCwgMTIsIDEzLCAKLSAgICAyNDQsIDIzMywgMTIsIDEzLCAyNDQsIDIzMiwgMTIsIDEzLCAyNDQsIDIzMSwgMTIsIDEzLCAyNDQsIDIzMCwgMTIsIDEzLCAKLSAgICAyNDQsIDIyOSwgMTIsIDEzLCAyNDQsIDIyOCwgMTIsIDEzLCAyNDQsIDIyNywgMTIsIDEzLCAyNDQsIDIyNiwgMTIsIDEzLCAKLSAgICAyNDQsIDIyNSwgMTIsIDEzLCAyNDQsIDIyNCwgMTIsIDEzLCAyNDQsIDIyMywgMTIsIDEzLCAyNDQsIDIyMiwgMTIsIDEzLCAKLSAgICAyNDQsIDIyMSwgMTIsIDEzLCAyNDQsIDIyMCwgMTIsIDEzLCAyNDQsIDIxOSwgMTIsIDEzLCAyNDQsIDIxOCwgMTIsIDEzLCAKLSAgICAyNDQsIDIxNywgMTIsIDEzLCAyNDQsIDIxNiwgMTIsIDEzLCAyNDQsIDIxNSwgMTIsIDEzLCAyNDQsIDIxNCwgMTIsIDEzLCAKLSAgICAyNDQsIDIxMywgMTIsIDEzLCAyNDQsIDIxMiwgMTIsIDEzLCAyNDQsIDIxMSwgMTIsIDEzLCAyNDQsIDIxMCwgMTIsIDEzLCAKLSAgICAyNDQsIDIwOSwgMTIsIDEzLCAyNDQsIDIwOCwgMTIsIDEzLCAyNDQsIDIwNywgMTIsIDEzLCAyNDQsIDIwNiwgMTIsIDEzLCAKLSAgICAyNDQsIDIwNSwgMTIsIDEzLCAyNDMsIDIwOCwgMTIsIDEzLCAyNDMsIDIwNywgMTIsIDEzLCAyNDMsIDIwNiwgMTIsIDEzLCAKLSAgICAyNDMsIDIwNSwgMTIsIDEzLCAyNDMsIDIwNCwgMTIsIDEzLCAyNDMsIDIwMywgMTIsIDEzLCAyNDMsIDIwMiwgMTIsIDEzLCAKLSAgICAyNDMsIDIwMSwgMTIsIDEzLCAyNDMsIDIwMCwgMTIsIDEzLCAyNDMsIDE5OSwgMTIsIDEzLCAyNDMsIDE5OCwgMTIsIDEzLCAKLSAgICAyNDMsIDE5NywgMTIsIDEzLCAyNDMsIDE5NiwgMTIsIDEzLCAyNDMsIDE5NSwgMTIsIDEzLCAyNDMsIDE5NCwgMTIsIDEzLCAKLSAgICAyNDMsIDE5MywgMTIsIDEzLCAyNDMsIDE5MiwgMTIsIDEzLCAyNDMsIDE5MSwgMTIsIDEzLCAyNDMsIDE5MCwgMTIsIDEzLCAKLSAgICAyNDMsIDE4OSwgMTIsIDEzLCAyNDMsIDE4OCwgMTIsIDEzLCAyNDMsIDE4NywgMTIsIDEzLCAyNDMsIDE4NiwgMTIsIDEzLCAKLSAgICAyNDMsIDE4NSwgMTIsIDEzLCAyNDMsIDE4NCwgMTIsIDEzLCAyNDMsIDE4MywgMTIsIDEzLCAyNDMsIDE4MiwgMTIsIDEzLCAKLSAgICAyNDMsIDE4MSwgMTIsIDEzLCAyNDMsIDE4MCwgMTIsIDEzLCAyNDMsIDE3OSwgMTIsIDEzLCAyNDMsIDE3OCwgMTIsIDEzLCAKLSAgICAyNDMsIDE3NywgMTIsIDEzLCAyNDMsIDE3NiwgMTIsIDEzLCAyNDMsIDE3NSwgMTIsIDEzLCAyNDMsIDE3NCwgMTIsIDEzLCAKLSAgICAyNDMsIDE3MywgMTIsIDEzLCAyNDMsIDE3MiwgMTIsIDEzLCAyNDMsIDE3MSwgMTIsIDEzLCAyNDMsIDE3MCwgMTIsIDEzLCAKLSAgICAyNDMsIDE2OSwgMTIsIDEzLCAyNDMsIDE2OCwgMTIsIDEzLCAyNDMsIDE2NywgMTIsIDEzLCAyNDMsIDE2NiwgMTIsIDEzLCAKLSAgICAyNDMsIDE2NSwgMTIsIDEzLCAyNDMsIDE2NCwgMTIsIDEzLCAyNDMsIDE2MywgMTIsIDEzLCAyNDMsIDE2MiwgMTIsIDEzLCAKLSAgICAyNDMsIDE2MSwgMTIsIDEzLCAyNDMsIDE2MCwgMTIsIDEzLCAyNDMsIDE1OSwgMTIsIDEzLCAyNDMsIDE1OCwgMTIsIDEzLCAKLSAgICAyNDMsIDE1NywgMTIsIDEzLCAyNDMsIDE1NiwgMTIsIDEzLCAyNDMsIDE1NSwgMTIsIDEzLCAyNDMsIDE1NCwgMTIsIDEzLCAKLSAgICAyNDMsIDE1MywgMTIsIDEzLCAyNDMsIDE1MiwgMTIsIDEzLCAyNDMsIDE1MSwgMTIsIDEzLCAyNDMsIDE1MCwgMTIsIDEzLCAKLSAgICAyNDMsIDE0OSwgMTIsIDEzLCAyNDMsIDE0OCwgMTIsIDEzLCAyNDMsIDE0NywgMTIsIDEzLCAyNDMsIDE0NiwgMTIsIDEzLCAKLSAgICAyNDMsIDE0NSwgMTIsIDEzLCAyNDIsIDY1LCAxMiwgMTMsIDI0MiwgNjQsIDEyLCAxMywgMjQyLCA2MywgMTIsIDEzLCAyNDIsIAotICAgIDYyLCAxMiwgMTMsIDI0MiwgNjEsIDEyLCAxMywgMjQyLCA2MCwgMTIsIDEzLCAyNDIsIDU5LCAxMiwgMTMsIDI0MiwgNTgsIAotICAgIDEyLCAxMywgMjQyLCA1NywgMTIsIDEzLCAyNDAsIDE0NSwgMTIsIDEzLCAyNDAsIDE0NCwgMTIsIDEzLCAyNDAsIDE0MywgCi0gICAgMTIsIDEzLCAyNDAsIDE0MiwgMTIsIDEzLCAyNDAsIDE0MSwgMTIsIDEzLCAyNDAsIDE0MCwgMTIsIDEzLCAyNDAsIDEzOSwgCi0gICAgMTIsIDEzLCAyNDAsIDEzOCwgMTIsIDEzLCAyNDAsIDEzNywgMTIsIDEzLCAyNDAsIDEzNiwgMTIsIDEzLCAyNDAsIDEzNSwgCi0gICAgMTIsIDEzLCAyNDAsIDEzNCwgMTIsIDEzLCAyNDAsIDEzMywgMTIsIDEzLCAyNDAsIDEzMiwgMTIsIDEzLCAyNDAsIDEzMSwgCi0gICAgMTIsIDEzLCAyNDAsIDEzMCwgMTIsIDEzLCAyNDAsIDEyOSwgMTIsIDEzLCAyNDAsIDEyOCwgMTIsIDEzLCAyNDAsIDEyNywgCi0gICAgMTIsIDEzLCAyMzUsIDI4LCAxMiwgMTMsIDIzNSwgMjcsIDEyLCAxMywgMjM1LCAyNiwgMTIsIDEzLCAyMzUsIDI1LCAxMiwgCi0gICAgMTMsIDIzNSwgMjQsIDEyLCAxMywgMjM1LCAyMywgMTIsIDEzLCAyMzUsIDIyLCAxMiwgMTMsIDIzNSwgMjEsIDEyLCAxMywgCi0gICAgMjMzLCAxNTIsIDEyLCAxMywgMjMzLCAxNTEsIDEyLCAxMywgMjMzLCAxNTAsIDEyLCAxMywgMjMzLCAxNDksIDEyLCAxMywgCi0gICAgMjMzLCAxNDgsIDEyLCAxMywgMjMzLCAxNDcsIDEyLCAxMywgMjMzLCAxNDYsIDEyLCAxMywgMjMzLCAxNDUsIDEyLCAxMywgCi0gICAgMjMzLCAxNDQsIDEyLCAxMywgMjMzLCAxNDMsIDEyLCAxMywgMjMyLCA1NCwgMTIsIDEzLCAyMzIsIDUzLCAxMiwgMTMsIAotICAgIDIzMiwgNTIsIDEyLCAxMywgMjMyLCA1MSwgMTIsIDEzLCAyMzIsIDUwLCAxMiwgMTMsIDIzMiwgNDksIDEyLCAxMywgMjMyLCAKLSAgICA0OCwgMTIsIDEzLCAyMzIsIDQ3LCAxMiwgMTMsIDIzMiwgNDYsIDEyLCAxMywgMjMyLCA0NSwgMTIsIDEzLCAyMzIsIDQ0LCAKLSAgICAxMiwgMTMsIDIzMiwgNDMsIDEyLCAxMywgMjMyLCA0MiwgMTIsIDEzLCAyMzIsIDQxLCAxMiwgMTMsIDIzMiwgNDAsIDEyLCAKLSAgICAxMywgMjMyLCAzOSwgMTIsIDEzLCAyMzIsIDM4LCAxMiwgMTMsIDIzMiwgMzcsIDEyLCAxMywgMjMyLCAzNiwgMTIsIDEzLCAKLSAgICAyMzIsIDM1LCAxMiwgMTMsIDIzMiwgMzQsIDEyLCAxMywgMjMyLCAzMywgMTIsIDEzLCAyMzIsIDMyLCAxMiwgMTMsIDIzMiwgCi0gICAgMzEsIDEyLCAxMywgMjMyLCAzMCwgMTIsIDEzLCAyMzIsIDI5LCAxMiwgMTMsIDIzMiwgMjgsIDEyLCAxMywgMjMyLCAyNywgCi0gICAgMTIsIDEzLCAyMzIsIDI2LCAxMiwgMTMsIDIzMiwgMjUsIDEyLCAxMywgMjMyLCAyNCwgMTIsIDEzLCAyMzIsIDIzLCAxMiwgCi0gICAgMTMsIDIzMiwgMjIsIDEyLCAxMywgMjMyLCAyMSwgMTIsIDEzLCAyMzIsIDIwLCAxMiwgMTMsIDIzMiwgMTksIDEyLCAxMywgCi0gICAgMjMyLCAxOCwgMTIsIDEzLCAyMzIsIDE3LCAxMiwgMTMsIDIzMiwgMTYsIDEyLCAxMywgMjMyLCAxNSwgMTIsIDEzLCAyMzIsIAotICAgIDE0LCAxMiwgMTMsIDIzMiwgMTMsIDEyLCAxMywgMjMyLCAxMiwgMTIsIDEzLCAyMzIsIDExLCAxMiwgMTMsIDIzMiwgMTAsIAotICAgIDEyLCAxMywgMjMyLCA5LCAxMiwgMTMsIDIzMiwgOCwgMTIsIDEzLCAyMzIsIDcsIDEyLCAxMywgMjMyLCA2LCAxMiwgMTMsIAotICAgIDIzMiwgNSwgMTIsIDEzLCAyMzIsIDQsIDEyLCAxMywgMjMyLCAzLCAxMiwgMTMsIDIzMiwgMiwgMTIsIDEzLCAyMzIsIDEsIAotICAgIDEyLCAxMywgMjMyLCAwLCAxMiwgMTMsIDIzMSwgMjU1LCAxMiwgMTMsIDIzMSwgMjU0LCAxMiwgMTMsIDIzMSwgMjUzLCAxMiwgCi0gICAgMTMsIDIzMSwgMjUyLCAxMiwgMTMsIDIzMSwgMjUxLCAxMiwgMTMsIDIzMSwgMjUwLCAxMiwgMTMsIDIzMSwgMjQ5LCAxMiwgCi0gICAgMTMsIDIzMSwgMjQ4LCAxMiwgMTMsIDIzMSwgMjQ3LCAxMiwgMTMsIDIzMSwgMjQ2LCAxMiwgMTMsIDIzMSwgMjQ1LCAxMiwgCi0gICAgMTMsIDIzMCwgMjcsIDEyLCAxMywgMjMwLCAyNiwgMTIsIDEzLCAyMzAsIDI1LCAxMiwgMTMsIDIzMCwgMjQsIDEyLCAxMywgCi0gICAgMjMwLCAyMywgMTIsIDEzLCAyMzAsIDIyLCAxMiwgMTMsIDIzMCwgMjEsIDEyLCAxMywgMjMwLCAyMCwgMTIsIDEzLCAyMzAsIAotICAgIDE5LCAxMiwgMTMsIDIzMCwgMTgsIDEyLCAxMywgMjMwLCAxNywgMTIsIDEzLCAyMzAsIDE2LCAxMiwgMTMsIDIzMCwgMTUsIAotICAgIDEyLCAxMywgMjMwLCAxNCwgMTIsIDEzLCAyMzAsIDEzLCAxMiwgMTMsIDIzMCwgMTIsIDEyLCAxMywgMjMwLCAxMSwgMTIsIAotICAgIDEzLCAyMzAsIDEwLCAxMiwgMTMsIDIzMCwgOSwgMTIsIDEzLCAyMzAsIDgsIDEyLCAxMywgMjMwLCA3LCAxMiwgMTMsIDIzMCwgCi0gICAgNiwgMTIsIDEzLCAyMzAsIDUsIDEyLCAxMywgMjMwLCA0LCAxMiwgMTMsIDIzMCwgMywgMTIsIDEzLCAyMzAsIDIsIDEyLCAKLSAgICAxMywgMjMwLCAxLCAxMiwgMTMsIDIzMCwgMCwgMTIsIDEzLCAyMjksIDI1NSwgMTIsIDEzLCAyMjksIDI1NCwgMTIsIDEzLCAKLSAgICAyMjksIDI1MywgMTIsIDEzLCAyMjksIDI1MiwgMTIsIDEzLCAyMjksIDI1MSwgMTIsIDEzLCAyMjksIDI1MCwgMTIsIDEzLCAKLSAgICAyMjksIDI0OSwgMTIsIDEzLCAyMjksIDI0OCwgMTIsIDEzLCAyMjksIDI0NywgMTIsIDEzLCAyMjksIDI0NiwgMTIsIDEzLCAKLSAgICAyMjksIDI0NSwgMTIsIDEzLCAyMjksIDI0NCwgMTIsIDEzLCAyMjksIDI0MywgMTIsIDEzLCAyMjksIDI0MiwgMTIsIDEzLCAKLSAgICAyMjksIDI0MSwgMTIsIDEzLCAyMjksIDI0MCwgMTIsIDEzLCAyMjksIDIzOSwgMTIsIDEzLCAyMjksIDIzOCwgMTIsIDEzLCAKLSAgICAyMjksIDIzNywgMTIsIDEzLCAyMjksIDIzNiwgMTIsIDEzLCAyMjksIDIzNSwgMTIsIDEzLCAyMjgsIDEzOSwgMTIsIDEzLCAKLSAgICAyMjgsIDEzOCwgMTIsIDEzLCAyMjgsIDEzNywgMTIsIDEzLCAyMjgsIDEzNiwgMTIsIDEzLCAyMjgsIDEzNSwgMTIsIDEzLCAKLSAgICAyMjgsIDEzNCwgMTIsIDEzLCAyMjgsIDEzMywgMTIsIDEzLCAyMjgsIDEzMiwgMTIsIDEzLCAyMjgsIDEzMSwgMTIsIDEzLCAKLSAgICAyMjgsIDEzMCwgMTIsIDEzLCAyMjgsIDEyOSwgMTIsIDEzLCAyMjgsIDEyOCwgMTIsIDEzLCAyMjgsIDEyNywgMTIsIDEzLCAKLSAgICAyMjgsIDEyNiwgMTIsIDEzLCAyMjgsIDEyNSwgMTIsIDEzLCAyMjgsIDEyNCwgMTIsIDEzLCAyMjgsIDEyMywgMTIsIDEzLCAKLSAgICAyMjgsIDEyMiwgMTIsIDEzLCAyMjgsIDEyMSwgMTIsIDEzLCAyMjgsIDEyMCwgMTIsIDEzLCAyMjgsIDExOSwgMTIsIDEzLCAKLSAgICAyMjgsIDExOCwgMTIsIDEzLCAyMjcsIDI0MSwgMTIsIDEzLCAyMjcsIDI0MCwgMTIsIDEzLCAyMjcsIDIzOSwgMTIsIDEzLCAKLSAgICAyMjcsIDIzOCwgMTIsIDEzLCAyMjcsIDIzNywgMTIsIDEzLCAyMjcsIDIzNiwgMTIsIDEzLCAyMjcsIDIzNSwgMTIsIDEzLCAKLSAgICAyMjcsIDIzNCwgMTIsIDEzLCAyMjcsIDIzMywgMTIsIDEzLCAyMjcsIDIzMiwgMTIsIDEzLCAyMjcsIDIzMSwgMTIsIDEzLCAKLSAgICAyMjcsIDIzMCwgMTIsIDEzLCAyMjcsIDIyOSwgMTIsIDEzLCAyMjcsIDIyOCwgMTIsIDEzLCAyMjcsIDIyNywgMTIsIDEzLCAKLSAgICAyMjcsIDIyNiwgMTIsIDEzLCAyMjcsIDIyNSwgMTIsIDEzLCAyMjcsIDIyNCwgMTIsIDEzLCAyMjcsIDIyMywgMTIsIDEzLCAKLSAgICAyMjcsIDIyMiwgMTIsIDEzLCAyMjcsIDIyMSwgMTIsIDEzLCAyMjcsIDIyMCwgMTIsIDEzLCAyMjcsIDIxOSwgMTIsIDEzLCAKLSAgICAyMjcsIDIxOCwgMTIsIDEzLCAyMjcsIDIxNywgMTIsIDEzLCAyMjcsIDIxNiwgMTIsIDEzLCAyMjcsIDgwLCAxMiwgMTMsIAotICAgIDIyNywgNzksIDEyLCAxMywgMjI3LCA3OCwgMTIsIDEzLCAyMjcsIDc3LCAxMiwgMTMsIDIyNywgNzYsIDEyLCAxMywgMjI3LCAKLSAgICA3NSwgMTIsIDEzLCAyMjcsIDc0LCAxMiwgMTMsIDIyNywgNzMsIDEyLCAxMywgMjI3LCA3MiwgMTIsIDEzLCAyMjcsIDcxLCAKLSAgICAxMiwgMTMsIDIyNywgNzAsIDEyLCAxMywgMjI3LCA2OSwgMTIsIDEzLCAyMjcsIDY4LCAxMiwgMTMsIDIyNywgNjcsIDEyLCAKLSAgICAxMywgMjI3LCA2NiwgMTIsIDEzLCAyMjcsIDY1LCAxMiwgMTMsIDIyNywgNjQsIDEyLCAxMywgMjI3LCA2MywgMTIsIDEzLCAKLSAgICAyMjcsIDYyLCAxMiwgMTMsIDIyNywgNjEsIDEyLCAxMywgMjI3LCA2MCwgMTIsIDEzLCAyMjcsIDU5LCAxMiwgMTMsIDIyNywgCi0gICAgNTgsIDEyLCAxMywgMjI3LCA1NywgMTIsIDEzLCAyMjcsIDU2LCAxMiwgMTMsIDIyNywgNTUsIDEyLCAxMywgMjI3LCA1NCwgCi0gICAgMTIsIDEzLCAyMjcsIDUzLCAxMiwgMTMsIDIyNywgNTIsIDEyLCAxMywgMjI3LCA1MSwgMTIsIDEzLCAyMjcsIDUwLCAxMiwgCi0gICAgMTMsIDIyNywgNDksIDEyLCAxMywgMjI3LCA0OCwgMTIsIDEzLCAyMjcsIDQ3LCAxMiwgMTMsIDIyNywgNDYsIDEyLCAxMywgCi0gICAgMjI3LCA0NSwgMTIsIDEzLCAyMjcsIDQ0LCAxMiwgMTMsIDIyNywgNDMsIDEyLCAxMywgMjI3LCA0MiwgMTIsIDEzLCAyMjcsIAotICAgIDQxLCAxMiwgMTMsIDIyNywgNDAsIDEyLCAxMywgMjI3LCAzOSwgMTIsIDEzLCAyMjcsIDM4LCAxMiwgMTMsIDIyNywgMzcsIAotICAgIDEyLCAxMywgMjI3LCAzNiwgMTIsIDEzLCAyMjcsIDM1LCAxMiwgMTMsIDIyNywgMzQsIDEyLCAxMywgMjI3LCAzMywgMTIsIAotICAgIDEzLCAyMjcsIDMyLCAxMiwgMTMsIDIyNywgMzEsIDEyLCAxMywgMjI3LCAzMCwgMTIsIDEzLCAyMjcsIDI5LCAxMiwgMTMsIAotICAgIDIyNywgMjgsIDEyLCAxMywgMjI3LCAyNywgMTIsIDEzLCAyMjcsIDI2LCAxMiwgMTMsIDIyNywgMjUsIDEyLCAxMywgMjI3LCAKLSAgICAyNCwgMTIsIDEzLCAyMjcsIDIzLCAxMiwgMTMsIDIyNywgMjIsIDEyLCAxMywgMjI3LCAyMSwgMTIsIDEzLCAyMjcsIDIwLCAKLSAgICAxMiwgMTMsIDIyNywgMTksIDEyLCAxMywgMjI3LCAxOCwgMTIsIDEzLCAyMjcsIDE3LCAxMiwgMTMsIDIyNywgMTYsIDEyLCAKLSAgICAxMywgMjI3LCAxNSwgMTIsIDEzLCAyMjcsIDE0LCAxMiwgMTMsIDIyNywgMTMsIDEyLCAxMywgMjI3LCAxMiwgMTIsIDEzLCAKLSAgICAyMjcsIDExLCAxMiwgMTMsIDIyNywgMTAsIDEyLCAxMywgMjI3LCA5LCAxMiwgMTMsIDIyNywgOCwgMTIsIDEzLCAyMjcsIDcsIAotICAgIDEyLCAxMywgMjI3LCA2LCAxMiwgMTMsIDIyNiwgMTA4LCAxMiwgMTMsIDIyNiwgMTA3LCAxMiwgMTMsIDIyNiwgMTA2LCAxMiwgCi0gICAgMTMsIDIyNiwgMTA1LCAxMiwgMTMsIDIyNiwgMTA0LCAxMiwgMTMsIDIyNiwgMTAzLCAxMiwgMTMsIDIyNiwgMTAyLCAxMiwgCi0gICAgMTMsIDIyNiwgMTAxLCAxMiwgMTMsIDIyNiwgMTAwLCAxMiwgMTMsIDIyNiwgOTksIDEyLCAxMywgMjI2LCA5OCwgMTIsIDEzLCAKLSAgICAyMjYsIDk3LCAxMiwgMTMsIDIyNiwgOTYsIDEyLCAxMywgMjI0LCA5OCwgMTIsIDEzLCAyMjQsIDk3LCAxMiwgMTMsIDIyNCwgCi0gICAgOTYsIDEyLCAxMywgMjI0LCA5NSwgMTIsIDEzLCAyMjQsIDk0LCAxMiwgMTMsIDIyNCwgOTMsIDEyLCAxMywgMjI0LCA5MiwgCi0gICAgMTIsIDEzLCAyMjMsIDIyNSwgMTIsIDEzLCAyMjMsIDIyNCwgMTIsIDEzLCAyMjMsIDIyMywgMTIsIDEzLCAyMjMsIDIyMiwgCi0gICAgMTIsIDEzLCAyMjMsIDIyMSwgMTIsIDEzLCAyMjMsIDIyMCwgMTIsIDEzLCAyMjMsIDIxOSwgMTIsIDEzLCAyMjMsIDIxOCwgCi0gICAgMTIsIDEzLCAyMjMsIDIxNywgMTIsIDEzLCAyMjMsIDIxNiwgMTIsIDEzLCAyMjMsIDIxNSwgMTIsIDEzLCAyMjMsIDIxNCwgCi0gICAgMTIsIDEzLCAyMjMsIDIxMywgMTIsIDEzLCAyMjMsIDIxMiwgMTIsIDEzLCAyMjMsIDIxMSwgMTIsIDEzLCAyMjMsIDIxMCwgCi0gICAgMTIsIDEzLCAyMjMsIDIwOSwgMTIsIDEzLCAyMjMsIDIwOCwgMTIsIDEzLCAyMjMsIDIwNywgMTIsIDEzLCAyMjMsIDIwNiwgCi0gICAgMTIsIDEzLCAyMjMsIDIwNSwgMTIsIDEzLCAyMjMsIDIwNCwgMTIsIDEzLCAyMjMsIDIwMywgMTIsIDEzLCAyMjMsIDIwMiwgCi0gICAgMTIsIDEzLCAyMjMsIDIwMSwgMTIsIDEzLCAyMjMsIDIwMCwgMTIsIDEzLCAyMjMsIDE5OSwgMTIsIDEzLCAyMjMsIDE5OCwgCi0gICAgMTIsIDEzLCAyMjMsIDE5NywgMTIsIDEzLCAyMjMsIDE5NiwgMTIsIDEzLCAyMjMsIDE5NSwgMTIsIDEzLCAyMjMsIDE5NCwgCi0gICAgMTIsIDEzLCAyMjMsIDE5MywgMTIsIDEzLCAyMjMsIDE5MiwgMTIsIDEzLCAyMjIsIDkwLCAxMiwgMTMsIDIyMiwgODksIDEyLCAKLSAgICAxMywgMjIyLCA4OCwgMTIsIDEzLCAyMjIsIDg3LCAxMiwgMTMsIDIyMiwgODYsIDEyLCAxMywgMjIyLCA4NSwgMTIsIDEzLCAKLSAgICAyMjIsIDg0LCAxMiwgMTMsIDIyMiwgODMsIDEyLCAxMywgMjIyLCA4MiwgMTIsIDEzLCAyMjIsIDgxLCAxMiwgMTMsIDIyMiwgCi0gICAgODAsIDEyLCAxMywgMjIyLCA3OSwgMTIsIDEzLCAyMjIsIDc4LCAxMiwgMTMsIDIyMiwgNzcsIDEyLCAxMywgMjIyLCA3NiwgCi0gICAgMTIsIDEzLCAyMjIsIDc1LCAxMiwgMTMsIDIyMiwgNzQsIDEyLCAxMywgMjIyLCA3MywgMTIsIDEzLCAyMjIsIDcyLCAxMiwgCi0gICAgMTMsIDIyMiwgNzEsIDEyLCAxMywgMjIyLCA3MCwgMTIsIDEzLCAyMjIsIDY5LCAxMiwgMTMsIDIyMiwgNjgsIDEyLCAxMywgCi0gICAgMjIyLCA2NywgMTIsIDEzLCAyMjIsIDY2LCAxMiwgMTMsIDIyMiwgNjUsIDEyLCAxMywgMjIyLCA2NCwgMTIsIDEzLCAyMjIsIAotICAgIDYzLCAxMiwgMTMsIDIyMiwgNjIsIDEyLCAxMywgMjIyLCA2MSwgMTIsIDEzLCAyMjIsIDYwLCAxMiwgMTMsIDIyMiwgNTksIAotICAgIDEyLCAxMywgMjIyLCA1OCwgMTIsIDEzLCAyMjIsIDU3LCAxMiwgMTMsIDIyMiwgNTYsIDEyLCAxMywgMjIyLCA1NSwgMTIsIAotICAgIDEzLCAyMjIsIDU0LCAxMiwgMTMsIDIyMiwgNTMsIDEyLCAxMywgMjIyLCA1MiwgMTIsIDEzLCAyMjIsIDUxLCAxMiwgMTMsIAotICAgIDIyMiwgNTAsIDEyLCAxMywgMjIyLCA0OSwgMTIsIDEzLCAyMjIsIDQ4LCAxMiwgMTMsIDIyMiwgNDcsIDEyLCAxMywgMjIyLCAKLSAgICA0NiwgMTIsIDEzLCAyMjIsIDQ1LCAxMiwgMTMsIDIyMiwgNDQsIDEyLCAxMywgMjIyLCA0MywgMTIsIDEzLCAyMjIsIDQyLCAKLSAgICAxMiwgMTMsIDIyMiwgNDEsIDEyLCAxMywgMjIyLCA0MCwgMTIsIDEzLCAyMjIsIDM5LCAxMiwgMTMsIDIyMiwgMzgsIDEyLCAKLSAgICAxMywgMjIyLCAzNywgMTIsIDEzLCAyMTcsIDE1MSwgMTIsIDEzLCAyMTcsIDE1MCwgMTIsIDEzLCAyMTcsIDE0OSwgMTIsIAotICAgIDEzLCAyMTcsIDE0OCwgMTIsIDEzLCAyMTcsIDE0NywgMTIsIDEzLCAyMTcsIDE0NiwgMTIsIDEzLCAyMTcsIDE0NSwgMTIsIAotICAgIDEzLCAyMTcsIDE0NCwgMTIsIDEzLCAyMTcsIDE0MywgMTIsIDEzLCAyMTcsIDE0MiwgMTIsIDEzLCAyMTcsIDE0MSwgMTIsIAotICAgIDEzLCAyMTcsIDE0MCwgMTIsIDEzLCAyMTcsIDEzOSwgMTIsIDEzLCAyMTcsIDEzOCwgMTIsIDEzLCAyMTcsIDEzNywgMTIsIAotICAgIDEzLCAyMTcsIDEzNiwgMTIsIDEzLCAyMTcsIDEzNSwgMTIsIDEzLCAyMTcsIDEzNCwgMTIsIDEzLCAyMTcsIDEzMywgMTIsIAotICAgIDEzLCAyMTcsIDEzMiwgMTIsIDEzLCAyMTcsIDEzMSwgMTIsIDEzLCAyMTcsIDEzMCwgMTIsIDEzLCAyMTcsIDEyOSwgMTIsIAotICAgIDEzLCAyMTcsIDEyOCwgMTIsIDEzLCAyMTcsIDEyNywgMTIsIDEzLCAyMTcsIDEyNiwgMTIsIDEzLCAyMTcsIDEyNSwgMTIsIAotICAgIDEzLCAyMTcsIDEyNCwgMTIsIDEzLCAyMTcsIDEyMywgMTIsIDEzLCAyMTcsIDEyMiwgMTIsIDEzLCAyMTcsIDEyMSwgMTIsIAotICAgIDEzLCAyMTcsIDEyMCwgMTIsIDEzLCAyMTcsIDExOSwgMTIsIDEzLCAyMTcsIDExOCwgMTIsIDEzLCAyMTcsIDExNywgMTIsIAotICAgIDEzLCAyMTcsIDExNiwgMTIsIDEzLCAyMTcsIDExNSwgMTIsIDEzLCAyMTcsIDExNCwgMTIsIDEzLCAyMTcsIDExMywgMTIsIAotICAgIDEzLCAyMTcsIDExMiwgMTIsIDEzLCAyMTcsIDExMSwgMTIsIDEzLCAyMTcsIDExMCwgMTIsIDEzLCAyMTcsIDEwOSwgMTIsIAotICAgIDEzLCAyMTcsIDEwOCwgMTIsIDEzLCAyMTUsIDIyLCAxMiwgMTMsIDIxNSwgMjEsIDEyLCAxMywgMjE1LCAyMCwgMTIsIDEzLCAKLSAgICAyMTUsIDE5LCAxMiwgMTMsIDIxNSwgMTgsIDEyLCAxMywgMjE1LCAxNywgMTIsIDEzLCAyMTUsIDE2LCAxMiwgMTMsIDIxNSwgCi0gICAgMTUsIDEyLCAxMywgMjE1LCAxNCwgMTIsIDEzLCAyMTUsIDEzLCAxMiwgMTMsIDIxNSwgMTIsIDEyLCAxMywgMjE1LCAxMSwgCi0gICAgMTIsIDEzLCAyMTUsIDEwLCAxMiwgMTMsIDIxNSwgOSwgMTIsIDEzLCAyMTUsIDgsIDEyLCAxMywgMjE1LCA3LCAxMiwgMTMsIAotICAgIDIxNSwgNiwgMTIsIDEzLCAyMTUsIDUsIDEyLCAxMywgMjE1LCA0LCAxMiwgMTMsIDIxNSwgMywgMTIsIDEzLCAyMTUsIDIsIAotICAgIDEyLCAxMywgMjE1LCAxLCAxMiwgMTMsIDIxNSwgMCwgMTIsIDEzLCAyMTQsIDI1NSwgMTIsIDEzLCAyMTQsIDI1NCwgMTIsIAotICAgIDEzLCAyMTQsIDI1MywgMTIsIDEzLCAyMTQsIDI1MiwgMTIsIDEzLCAyMTQsIDI1MSwgMTIsIDEzLCAyMTQsIDI1MCwgMTIsIAotICAgIDEzLCAyMTQsIDI0OSwgMTIsIDEzLCAyMTQsIDI0OCwgMTIsIDEzLCAyMTQsIDI0NywgMTIsIDEzLCAyMTQsIDI0NiwgMTIsIAotICAgIDEzLCAyMTQsIDI0NSwgMTIsIDEzLCAyMTQsIDI0NCwgMTIsIDEzLCAyMTQsIDI0MywgMTIsIDEzLCAyMTQsIDI0MiwgMTIsIAotICAgIDEzLCAyMTQsIDI0MSwgMTIsIDEzLCAyMTQsIDI0MCwgMTIsIDEzLCAyMTQsIDIzOSwgMTIsIDEzLCAyMTQsIDIzOCwgMTIsIAotICAgIDEzLCAyMTQsIDIzNywgMTIsIDEzLCAyMTQsIDIzNiwgMTIsIDEzLCAyMTQsIDIzNSwgMTIsIDEzLCAyMTQsIDIzNCwgMTIsIAotICAgIDEzLCAyMTQsIDIzMywgMTIsIDEzLCAyMTQsIDIzMiwgMTIsIDEzLCAyMTQsIDEwNCwgMTIsIDEzLCAyMTQsIDEwMywgMTIsIAotICAgIDEzLCAyMTQsIDEwMiwgMTIsIDEzLCAyMTQsIDEwMSwgMTIsIDEzLCAyMTQsIDEwMCwgMTIsIDEzLCAyMTQsIDk5LCAxMiwgCi0gICAgMTMsIDIxNCwgOTgsIDEyLCAxMywgMjE0LCA5NywgMTIsIDEzLCAyMTQsIDk2LCAxMiwgMTMsIDIxNCwgOTUsIDEyLCAxMywgCi0gICAgMjE0LCA5NCwgMTIsIDEzLCAyMTQsIDkzLCAxMiwgMTMsIDIxNCwgOTIsIDEyLCAxMywgMjE0LCA5MSwgMTIsIDEzLCAyMTQsIAotICAgIDkwLCAxMiwgMTMsIDIxNCwgODksIDEyLCAxMywgMjE0LCA4OCwgMTIsIDEzLCAyMTQsIDg3LCAxMiwgMTMsIDIxNCwgODYsIAotICAgIDEyLCAxMywgMjE0LCA4NSwgMTIsIDEzLCAyMTQsIDg0LCAxMiwgMTMsIDIxNCwgODMsIDEyLCAxMywgMjE0LCA4MiwgMTIsIAotICAgIDEzLCAyMTQsIDgxLCAxMiwgMTMsIDIxNCwgODAsIDEyLCAxMywgMjE0LCA3OSwgMTIsIDEzLCAyMTQsIDc4LCAxMiwgMTMsIAotICAgIDIxNCwgNzcsIDEyLCAxMywgMjE0LCA3NiwgMTIsIDEzLCAyMTQsIDc1LCAxMiwgMTMsIDIxNCwgNzQsIDEyLCAxMywgMjE0LCAKLSAgICA3MywgMTIsIDEzLCAyMTQsIDcyLCAxMiwgMTMsIDIxNCwgNzEsIDEyLCAxMywgMjE0LCA3MCwgMTIsIDEzLCAyMTQsIDY5LCAKLSAgICAxMiwgMTMsIDIxNCwgNjgsIDEyLCAxMywgMjE0LCA2NywgMTIsIDEzLCAyMTQsIDY2LCAxMiwgMTMsIDIxNCwgNjUsIDEyLCAKLSAgICAxMywgMjE0LCA2NCwgMTIsIDEzLCAyMTQsIDYzLCAxMiwgMTMsIDIxNCwgNjIsIDEyLCAxMywgMjE0LCA2MSwgMTIsIDEzLCAKLSAgICAyMTQsIDYwLCAxMiwgMTMsIDIxNCwgNTksIDEyLCAxMywgMjE0LCA1OCwgMTIsIDEzLCAyMTQsIDU3LCAxMiwgMTMsIDIxNCwgCi0gICAgNTYsIDEyLCAxMywgMjE0LCA1NSwgMTIsIDEzLCAyMTQsIDU0LCAxMiwgMTMsIDIxNCwgNTMsIDEyLCAxMywgMjE0LCA1MiwgCi0gICAgMTIsIDEzLCAyMTQsIDUxLCAxMiwgMTMsIDIxNCwgNTAsIDEyLCAxMywgMjE0LCA0OSwgMTIsIDEzLCAyMTQsIDQ4LCAxMiwgCi0gICAgMTMsIDIxNCwgNDcsIDEyLCAxMywgMjE0LCA0NiwgMTIsIDEzLCAyMTQsIDQ1LCAxMiwgMTMsIDIxNCwgNDQsIDEyLCAxMywgCi0gICAgMjE0LCA0MywgMTIsIDEzLCAyMTQsIDQyLCAxMiwgMTMsIDIxNCwgNDEsIDEyLCAxMywgMjE0LCA0MCwgMTIsIDEzLCAyMTQsIAotICAgIDM5LCAxMiwgMTMsIDIxNCwgMzgsIDEyLCAxMywgMjE0LCAzNywgMTIsIDEzLCAyMTQsIDM2LCAxMiwgMTMsIDIxNCwgMzUsIAotICAgIDEyLCAxMywgMjE0LCAzNCwgMTIsIDEzLCAyMTQsIDMzLCAxMiwgMTMsIDIxNCwgMzIsIDEyLCAxMywgMjE0LCAzMSwgMTIsIAotICAgIDEzLCAyMTQsIDMwLCAxMiwgMTMsIDIxNCwgMjksIDEyLCAxMywgMjE0LCAyOCwgMTIsIDEzLCAyMTIsIDk3LCAxMiwgMTMsIAotICAgIDIxMiwgOTYsIDEyLCAxMywgMjEyLCA5NSwgMTIsIDEzLCAyMTIsIDk0LCAxMiwgMTMsIDIxMiwgOTMsIDEyLCAxMywgMjEyLCAKLSAgICA5MiwgMTIsIDEzLCAyMTIsIDkxLCAxMiwgMTMsIDIxMiwgOTAsIDEyLCAxMywgMjEyLCA4OSwgMTIsIDEzLCAyMTIsIDg4LCAKLSAgICAxMiwgMTMsIDIxMiwgODcsIDEyLCAxMywgMjEyLCA4NiwgMTIsIDEzLCAyMTIsIDg1LCAxMiwgMTMsIDIxMiwgODQsIDEyLCAKLSAgICAxMywgMjEyLCA4MywgMTIsIDEzLCAyMTIsIDgyLCAxMiwgMTMsIDIxMiwgODEsIDEyLCAxMywgMjEyLCA4MCwgMTIsIDEzLCAKLSAgICAyMTIsIDc5LCAxMiwgMTMsIDIxMiwgNzgsIDEyLCAxMywgMjEyLCA3NywgMTIsIDEzLCAyMTIsIDc2LCAxMiwgMTMsIDIxMiwgCi0gICAgNzUsIDEyLCAxMywgMjEyLCA3NCwgMTIsIDEzLCAyMTIsIDczLCAxMiwgMTMsIDIxMiwgNzIsIDEyLCAxMywgMjEyLCA3MSwgCi0gICAgMTIsIDEzLCAyMTIsIDcwLCAxMiwgMTMsIDIxMiwgNjksIDEyLCAxMywgMjEyLCA2OCwgMTIsIDEzLCAyMTIsIDY3LCAxMiwgCi0gICAgMTMsIDIxMiwgNjYsIDEyLCAxMywgMjExLCAxNzcsIDEyLCAxMywgMjExLCAxNzYsIDEyLCAxMywgMjExLCAxNzUsIDEyLCAKLSAgICAxMywgMjExLCAxNzQsIDEyLCAxMywgMjExLCAxNzMsIDEyLCAxMywgMjExLCAxNzIsIDEyLCAxMywgMjExLCAxNzEsIDEyLCAKLSAgICAxMywgMjExLCAxNzAsIDEyLCAxMywgMjExLCAxNjksIDEyLCAxMywgMjExLCAxNjgsIDEyLCAxMywgMjExLCAxNjcsIDEyLCAKLSAgICAxMywgMjExLCAxNjYsIDEyLCAxMywgMjExLCAxMTUsIDEyLCAxMywgMjExLCAxMTQsIDEyLCAxMywgMjExLCAxMTMsIDEyLCAKLSAgICAxMywgMjExLCAxMTIsIDEyLCAxMywgMjExLCAxMTEsIDEyLCAxMywgMjExLCAxMTAsIDEyLCAxMywgMjExLCAxMDksIDEyLCAKLSAgICAxMywgMjExLCAxMDgsIDEyLCAxMywgMjExLCAxMDcsIDEyLCAxMywgMjEwLCAxNTgsIDEyLCAxMywgMjEwLCAxNTcsIDEyLCAKLSAgICAxMywgMjEwLCAxNTYsIDEyLCAxMywgMjEwLCAxNTUsIDEyLCAxMywgMjEwLCAxNTQsIDEyLCAxMywgMjEwLCAxNTMsIDEyLCAKLSAgICAxMywgMjEwLCAxNTIsIDEyLCAxMywgMjEwLCAxNTEsIDEyLCAxMywgMjEwLCAxNTAsIDEyLCAxMywgMjEwLCAxNDksIDEyLCAKLSAgICAxMywgMjEwLCAxNDgsIDEyLCAxMywgMjEwLCAxNDcsIDEyLCAxMywgMjEwLCAxNDYsIDEyLCAxMywgMjEwLCAxNDUsIDEyLCAKLSAgICAxMywgMjEwLCAxNDQsIDEyLCAxMywgMjEwLCAxNDMsIDEyLCAxMywgMjEwLCAxNDIsIDEyLCAxMywgMjEwLCAxNDEsIDEyLCAKLSAgICAxMywgMjEwLCAxNDAsIDEyLCAxMywgMjEwLCAxMzksIDEyLCAxMywgMjEwLCAxMzgsIDEyLCAxMywgMjEwLCAxMzcsIDEyLCAKLSAgICAxMywgMjEwLCAxMzYsIDEyLCAxMywgMjEwLCAxMzUsIDEyLCAxMywgMjEwLCAxMzQsIDEyLCAxMywgMjEwLCAxMzMsIDEyLCAKLSAgICAxMywgMjEwLCAxMzIsIDEyLCAxMywgMjEwLCAxMzEsIDEyLCAxMywgMjEwLCAxMzAsIDEyLCAxMywgMjEwLCAxMjksIDEyLCAKLSAgICAxMywgMjEwLCAxMjgsIDEyLCAxMywgMjEwLCAxMjcsIDEyLCAxMywgMjEwLCAxMjYsIDEyLCAxMywgMjEwLCAxMjUsIDEyLCAKLSAgICAxMywgMjEwLCAxMjQsIDEyLCAxMywgMjEwLCAxMjMsIDEyLCAxMywgMjEwLCAxMjIsIDEyLCAxMywgMjEwLCAxMjEsIDEyLCAKLSAgICAxMywgMjEwLCAxMjAsIDEyLCAxMywgMjEwLCAxMTksIDEyLCAxMywgMjEwLCAxMTgsIDEyLCAxMywgMjU1LCA4MSwgMTIsIAotICAgIDEzLCAyNTUsIDgwLCAxMiwgMTMsIDI1NSwgNzksIDEyLCAxMywgMjU1LCA3OCwgMTIsIDEzLCAyNTUsIDc3LCAxMiwgMTMsIAotICAgIDI1NSwgNzYsIDEyLCAxMywgMjU1LCA3NSwgMTIsIDEzLCAyNTUsIDc0LCAxMiwgMTMsIDI1NSwgNzMsIDEyLCAxMywgMjU1LCAKLSAgICA3MiwgMTIsIDEzLCAyNTUsIDcxLCAxMiwgMTMsIDI1NSwgNzAsIDEyLCAxMywgMjU1LCA2OSwgMTIsIDEzLCAyNTUsIDY4LCAKLSAgICAxMiwgMTMsIDI1NSwgNjcsIDEyLCAxMywgMjU1LCA2NiwgMTIsIDEzLCAyNTUsIDY1LCAxMiwgMTMsIDI1NSwgNjQsIDEyLCAKLSAgICAxMywgMjU1LCA2MywgMTIsIDEzLCAyNTUsIDYyLCAxMiwgMTMsIDI1NSwgNjEsIDEyLCAxMywgMjU1LCA2MCwgMTIsIDEzLCAKLSAgICAyNTUsIDU5LCAxMiwgMTMsIDI1NSwgNTgsIDEyLCAxMywgMjU1LCA1NywgMTIsIDEzLCAyNTUsIDU2LCAxMiwgMTMsIDI1NSwgCi0gICAgNTUsIDEyLCAxMywgMjU1LCA1NCwgMTIsIDEzLCAyNTUsIDUzLCAxMiwgMTMsIDI1NSwgNTIsIDEyLCAxMywgMjU1LCA1MSwgCi0gICAgMTIsIDEzLCAyNTUsIDUwLCAxMiwgMTMsIDI1NSwgNDksIDEyLCAxMywgMjU1LCA0OCwgMjAsIDEsIDE2NywgMjI5LCAxNywgCi0gICAgMjMxLCAyMSwgMjAsIDEsIDE2NywgMjQzLCA3NywgMjQ0LCA0NCwgMjAsIDEsIDE2NywgMjI0LCAyNTQsIDIzMSwgMjIsIAotICAgIDIyNSwgNjAsIDIwLCAxLCAxNjcsIDIyNCwgMjU0LCAyMzEsIDIyLCAyMjUsIDYxLCAyMCwgMSwgMTY3LCAyMjksIDIzMSwgCi0gICAgMjMxLCAyMSwgMjAsIDEsIDE2NywgMjE5LCAyMjMsIDIwLCAxLCAxNjcsIDIxNiwgNjcsIDIzMSwgMjEsIDIwLCAxLCAxNjcsIAotICAgIDIyNywgMTIyLCAyMzEsIDIxLCAyMCwgMSwgMTY3LCAyMjAsIDIxLCAyMjYsIDk0LCAyMjgsIDE3NCwgMjAsIDEsIDE2NywgCi0gICAgMjI0LCAyNTQsIDIyNiwgOTQsIDIyOCwgMTc1LCAyMjUsIDYwLCAyMCwgMSwgMTY3LCAyMjQsIDI1NCwgMjI2LCA5NCwgMjI4LCAKLSAgICAxNzUsIDIyNSwgNjEsIDIwLCAxLCAxNjcsIDIzMSwgMjIzLCAyMCwgMSwgMTY3LCAyMTUsIDEyMCwgMjMxLCAyMjQsIDIwLCAKLSAgICAxLCAxNjcsIDIyOSwgNzYsIDIwLCAxLCAxNjcsIDIzMSwgMjIwLCAyMCwgMSwgMTY3LCAyMzEsIDE4MSwgMjAsIDEsIDE2NywgCi0gICAgMjMwLCA1MywgMjAsIDEsIDE2NywgMjIwLCAxMjYsIDIwLCAxLCAxNjcsIDIyNywgMjQ2LCAyMCwgMSwgMTY3LCAyMzQsIAotICAgIDE1NSwgMjAsIDEsIDE2NywgMjI4LCAxNDMsIDIwLCAxLCAxNjcsIDIxOCwgNSwgMjAsIDEsIDE2NywgMjI5LCAxNiwgMjAsIAotICAgIDEsIDE2NywgMjMzLCA5MywgMjAsIDEsIDE2NywgMjMzLCAxOCwgMjMzLCAxOTUsIDIwLCAxLCAxNjcsIDIyNywgMjUzLCAKLSAgICAyMzEsIDI5LCAyMCwgMSwgMTY3LCAyMzEsIDIyNywgMjAsIDEsIDE2NywgMjI1LCAyNTAsIDIwLCAxLCAxNjcsIDI0MiwgCi0gICAgMjM4LCAyMCwgMSwgMTY3LCAyMjYsIDU0LCAyMCwgMSwgMTY3LCAyMzAsIDE1NiwgMjI5LCA1MCwgMjAsIDEsIDE2NywgMjI3LCAKLSAgICAxMDMsIDIzMSwgMzIsIDIwLCAxLCAxNjcsIDEwNCwgMjEwLCAxODgsIDIyOSwgMjI1LCAyMCwgMSwgMTY3LCAyNDIsIDIzOSwgCi0gICAgMjAsIDEsIDE2NywgMjI3LCAyNTMsIDIyNywgMjU0LCAyMCwgMSwgMTY3LCAyMTksIDEzMCwgMjAsIDEsIDE2NywgMjMxLCAKLSAgICAxNCwgMjAsIDEsIDE2NywgMjMxLCAzNSwgMjAsIDEsIDE2NywgMjMwLCAxMzUsIDIwLCAxLCAxNjcsIDIzNCwgMjU1LCAyMCwgCi0gICAgMSwgMTY3LCAyMjYsIDk0LCAyMzMsIDUzLCAyMCwgMSwgMTY3LCAyMjksIDE1NCwgMjMzLCA1MywgMjAsIDEsIDE2NywgMjI1LCAKLSAgICAxNjEsIDIwLCAxLCAxNjcsIDIzMSwgMjIxLCAyMCwgMSwgMTY3LCAyMjgsIDIxMiwgMjAsIDEsIDE2NywgMjI0LCAxMzcsIAotICAgIDIwLCAxLCAxNjcsIDIxNSwgMTE3LCAyMCwgMSwgMTY3LCAyMzIsIDk5LCAyMCwgMSwgMTY3LCAyMTksIDQzLCAyMCwgMSwgCi0gICAgMTY3LCAyMTYsIDIxNywgMjAsIDEsIDE2NywgMjMxLCAyMTgsIDIwLCAxLCAxNjcsIDIzNCwgMTYyLCAyMCwgMSwgMTY3LCAKLSAgICAyMjksIDE1MCwgMjAsIDEsIDE2NywgMjMzLCAyMDcsIDIwLCAxLCAxNjcsIDIzMCwgMTM2LCAyMCwgMSwgMTY3LCAyMTksIAotICAgIDIyMCwgMjAsIDEsIDE2NywgMjMyLCAxNDQsIDIwLCAxLCAxNjcsIDI0NCwgMTAxLCAyMCwgMSwgMTY3LCAyMjIsIDIwMSwgCi0gICAgMjAsIDEsIDE2NywgMjMzLCAyNDcsIDIwLCAxLCAxNjcsIDIxOSwgMzksIDIwLCAxLCAxNjcsIDIzMSwgMTc4LCAyMjUsIAotICAgIDEwMiwgMjAsIDEsIDE2NywgMjIwLCAxNCwgMjAsIDEsIDE2NywgMjI3LCAyNTIsIDIwLCAxLCAxNjcsIDIxOSwgMjU1LCAKLSAgICAyMjgsIDcsIDIxMCwgMTk2LCAyMCwgMSwgMTY3LCAyMjcsIDE0MiwgMjMwLCAxNTMsIDIwLCAxLCAxNjcsIDIyNiwgODksIAotICAgIDIwLCAxLCAxNjcsIDIyOCwgMTQ0LCAyMCwgMSwgMTY3LCAyMTQsIDE3MCwgMjAsIDEsIDE2NywgMjI5LCA1MywgMjAsIDEsIAotICAgIDE2NywgMjMxLCAyMTcsIDIwLCAxLCAxNjcsIDIyOCwgMTg2LCAyMCwgMSwgMTY3LCAyMzEsIDEyNCwgMjAsIDEsIDE2NywgCi0gICAgMjI3LCAxNTUsIDIwLCAxLCAxNjcsIDIxNiwgMjIxLCAyMCwgMSwgMTY3LCAyMTksIDM2LCAyMCwgMSwgMTY3LCAyMjYsIDkwLCAKLSAgICAyMCwgMSwgMTY3LCAyMjgsIDExLCAyMCwgMSwgMTY3LCAyMzEsIDIyNSwgMjAsIDEsIDE2NywgMjI3LCAxNTIsIDIwLCAxLCAKLSAgICAxNjcsIDIzNCwgMjIyLCAyMCwgMSwgMTY3LCAyMjgsIDE0LCAyMCwgMSwgMTY3LCAyMTMsIDI1MCwgMjAsIDEsIDE2NywgCi0gICAgMjMyLCAxMDMsIDIwLCAxLCAxNjcsIDIyOSwgMTAzLCAyMCwgMSwgMTY3LCAyMjksIDIwMSwgMjAsIDEsIDE2NywgMjMxLCAKLSAgICAxMjMsIDIwLCAxLCAyMjUsIDE0MSwgMjI4LCA5LCAyMCwgMSwgMjI1LCAxNDEsIDIxNSwgMTIwLCAyMzEsIDIyMiwgMjAsIDEsIAotICAgIDIyNSwgMTQxLCAyMTksIDE4NywgMjAsIDEsIDIyNSwgMTQxLCAyMjAsIDEzMCwgMjE1LCAxMTksIDIwLCAxLCAyMjUsIDE0MSwgCi0gICAgMjMyLCAxNDYsIDIyNywgMjQ5LCAyMCwgMSwgMjI1LCAxNDEsIDIzMSwgMTMwLCAyMzEsIDIyNiwgMjAsIDEsIDIyNSwgMTQxLCAKLSAgICAyMzQsIDkzLCAyMCwgMSwgMjI1LCAxNDEsIDIxMSwgMTUsIDIwLCAxLCAyMjUsIDE0MSwgMjMxLCAxMjUsIDIwLCAxLCAyMjUsIAotICAgIDE0MSwgMjM0LCAyNDMsIDIwLCAxLCAyMjUsIDE0MSwgMjI1LCAyMTEsIDIwLCAxLCAyMjUsIDE0MSwgMjExLCA4OSwgMjMzLCAKLSAgICA1MywgMjAsIDEsIDIyNSwgMTQxLCAyMzMsIDEwOSwgMjI4LCA3LCAyMjcsIDE2NCwgMjAsIDEsIDIyNSwgMTQxLCAyMjcsIAotICAgIDI0NywgMjIwLCA0MCwgMjAsIDEsIDIyNSwgMTQxLCAyMjksIDEyMSwgMjI4LCAxODksIDIwLCAxLCAyMjUsIDE0MSwgMjQyLCAKLSAgICAyMzYsIDIwLCAxLCAyMjUsIDE0MSwgMjI1LCA1MiwgMjAsIDEsIDIyNSwgMTQxLCAyMTUsIDEyMCwgMjI4LCA1LCAyMCwgMSwgCi0gICAgMjI1LCAxNDEsIDIyMCwgNDUsIDIyOCwgMTg0LCAyMCwgMSwgMjI1LCAxNDEsIDIyMCwgNDEsIDIwLCAxLCAyMjUsIDE0MSwgCi0gICAgMjMxLCAyMiwgMjE2LCAyMjAsIDIwLCAxLCAyMjUsIDE0MSwgMjMxLCAxMTIsIDIzMSwgMTI2LCAyMCwgMSwgMjI1LCAxNDEsIAotICAgIDIyNywgMTUzLCAyMjcsIDI0OSwgMjAsIDEsIDIyNSwgMTQxLCAyMzQsIDE1MSwgMjAsIDEsIDIyNSwgMTQxLCAyNDIsIDIzNywgCi0gICAgMjAsIDEsIDIyNSwgMTQxLCAyMzQsIDE0NywgMjAsIDEsIDIyNSwgMTQxLCAyMzMsIDEzNSwgMjAsIDEsIDIyNSwgMTQxLCAKLSAgICAyMjUsIDI1MywgMjAsIDEsIDIyNSwgMTQxLCAyMTMsIDE4MiwgMjAsIDEsIDIyNSwgMTQxLCAyMjksIDE4LCAyMzAsIDUxLCAKLSAgICAyMCwgMSwgMjI1LCAxNDEsIDIyOSwgNTIsIDIzMSwgMTA4LCAyMCwgMSwgMjI1LCAxNDEsIDIxMSwgMTkzLCAyMCwgMSwgCi0gICAgMjI1LCAxNDEsIDIyMiwgMTMsIDIwLCAxLCAyMjUsIDE0MSwgMjE3LCA5OCwgMjAsIDEsIDIyNSwgMTQxLCAyMzEsIDM0LCAKLSAgICAyMCwgMSwgMjI1LCAxNDEsIDIyOSwgMzcsIDIwLCAxLCAyMjUsIDE0MSwgMjI5LCAzOCwgMjMzLCA5MCwgMjAsIDEsIDIyNSwgCi0gICAgMTQxLCAyMzEsIDI0LCAyMCwgMSwgMjI1LCAxNDEsIDIxOCwgNTMsIDIwLCAxLCAyMjUsIDE0MSwgMjMxLCAxMTYsIDIwLCAxLCAKLSAgICAyMjUsIDE0MSwgMjMwLCAxMzgsIDIwLCAxLCAyMjUsIDE0MSwgMjI3LCAxNjcsIDIwLCAxLCAyMjUsIDE0MSwgMjI0LCAxNDEsIAotICAgIDIwLCAxLCAyMjUsIDE0MSwgMjMxLCAzMywgMjI5LCA1NCwgMjAsIDEsIDIyNSwgMTQxLCAyNDQsIDEzNCwgMjAsIDEsIDIyNSwgCi0gICAgMTQxLCAyMzEsIDEwMywgMjAsIDEsIDIyNSwgMTQxLCAyNDQsIDE1NSwgMjAsIDEsIDIyNSwgMTQxLCAyMzQsIDE1OSwgMjAsIAotICAgIDEsIDIyNSwgMTQxLCAyMzEsIDI0NCwgMjI4LCAxNzgsIDIwLCAxLCAyMjUsIDE0MSwgMjMxLCAyNDQsIDIyOCwgMTU0LCAyMCwgCi0gICAgMSwgMjI1LCAxNDEsIDIzMywgMTcsIDIwLCAxLCAyMjUsIDE0MSwgMjI5LCA2MCwgMjAsIDEsIDIyNSwgMTQxLCAyMjgsIDE2LCAKLSAgICAyMCwgMSwgMjI1LCAxNDEsIDE4NiwgMjAsIDEsIDIyNSwgMTQxLCAyMzQsIDgwLCAyMCwgMSwgMjI1LCAxNDEsIDIyOSwgNiwgCi0gICAgMjAsIDEsIDEzNywgMjI5LCAxNywgMjMxLCAyMjQsIDIwLCAxLCAxMzcsIDIyNywgMTIxLCAyMCwgMSwgMTM3LCAyMTAsIAotICAgIDE5NiwgMjAsIDEsIDEzNywgMjEyLCA1MywgMjAsIDEsIDEzNywgMjI5LCA1MywgMjAsIDEsIDEzNywgMjI5LCAxNDIsIDIwLCAKLSAgICAxLCAxMzcsIDIyOSwgMjQsIDIwLCAxLCAxMzcsIDI0MiwgMjQ2LCAyMCwgMSwgMTM3LCAyMzEsIDEyMCwgMjAsIDEsIDEzNywgCi0gICAgMjQzLCA4NCwgMjAsIDEsIDEzNywgMjI3LCAxNDQsIDIzMCwgMTc1LCAyMzEsIDM2LCAyMCwgMSwgMTM3LCAyMjcsIDI0NSwgCi0gICAgMjMxLCAxMTEsIDIwLCAxLCAxMzcsIDIzMSwgMTE3LCAyMCwgMSwgMTM3LCAyMjUsIDU4LCAyMCwgMSwgMTM3LCAyMjksIAotICAgIDEyNywgMjAsIDEsIDEzNywgMjMxLCAxMjgsIDI1MSwgMzcsIDIwLCAxLCAxMzcsIDIzNCwgMTQ5LCAyMCwgMSwgMTM3LCAKLSAgICAyNDIsIDI0NywgMjAsIDEsIDEzNywgMjM0LCAxNTYsIDIwLCAxLCAxMzcsIDIxMCwgMjEzLCAyMzAsIDgxLCAyMCwgMSwgCi0gICAgMTM3LCAyMjcsIDExNSwgMjAsIDEsIDEzNywgMjMxLCAxMDUsIDIwLCAxLCAxMzcsIDIyOCwgMTUsIDIwLCAxLCAxMzcsIAotICAgIDIzMSwgMTExLCAyMCwgMSwgMTM3LCAyMTEsIDE2LCAyMCwgMSwgMTM3LCAyMzMsIDI1NSwgMjAsIDEsIDEzNywgMjM1LCAxNiwgCi0gICAgMjAsIDEsIDEzNywgMjIwLCAxMjUsIDIwLCAxLCAxMzcsIDIyOSwgMTM2LCAyMCwgMSwgMTM3LCAyMTcsIDk2LCAyMCwgMSwgCi0gICAgMTM3LCAyMjgsIDE1OCwgMjAsIDEsIDEzNywgMjE2LCA2NywgMjEwLCAxOTgsIDIwLCAxLCAxMzcsIDIxOCwgODAsIDIwLCAxLCAKLSAgICAxMzcsIDIyOSwgNDQsIDIyNywgMTY0LCAyMCwgMSwgMTM3LCAyMTMsIDE4MSwgMjAsIDEsIDEzNywgMjI5LCAyMDQsIDIwLCAKLSAgICAxLCAxMzcsIDIzMSwgMjQ0LCAyMzQsIDE1OCwgMjAsIDEsIDEzNywgMjI3LCAyNTQsIDIwLCAxLCAxMzcsIDIyOSwgMzksIAotICAgIDIwLCAxLCAxMzcsIDIzMywgOTQsIDIwLCAxLCAxMzcsIDIzMSwgMTEzLCAyMCwgMSwgMTM3LCAyMzEsIDEzLCAyMCwgMSwgCi0gICAgMTM3LCAyMjcsIDI0OCwgMjAsIDEsIDEzNywgMjE2LCAyMTYsIDIwLCAxLCAxMzcsIDIyOSwgNDEsIDIwLCAxLCAxMzcsIAotICAgIDI0MywgMjQwLCAyMCwgMSwgMTM3LCAyMjksIDE0MSwgMjAsIDEsIDEzNywgMjI4LCAxNywgMjAsIDEsIDEzNywgMjI4LCAxMywgCi0gICAgMjAsIDEsIDEzNywgMjUxLCAxMTUsIDIwLCAxLCAxMzcsIDIxMywgMTgzLCAyMCwgMSwgMTM3LCAyMzEsIDExOCwgMjAsIDEsIAotICAgIDEzNywgMjIyLCAxNDIsIDIwLCAxLCAxMzcsIDIyOCwgMTg4LCAyMCwgMSwgMTM3LCAyMzMsIDEwOCwgMjAsIDEsIDEzNywgCi0gICAgMjE2LCA2NSwgMjAsIDEsIDEzNywgMjI3LCAyNTUsIDIyOSwgNiwgMjAsIDEsIDEzNywgMjI4LCAxODAsIDIwLCAxLCAxMzcsIAotICAgIDIzNCwgMTYyLCAyMCwgMSwgMTM3LCAyMjksIDQ1LCAyMCwgMSwgMTM3LCAyMzEsIDIxNywgMjAsIDEsIDEzNywgMjMxLCAKLSAgICAxMDYsIDIwLCAxLCAxMzcsIDIzMiwgMTAzLCAyMCwgMSwgMTM3LCAyMzMsIDE5NSwgMjAsIDEsIDEzNywgMjI4LCAxODYsIAotICAgIDIwLCAxLCAxMzcsIDIyOSwgNiwgMjAsIDEsIDEzNywgMjExLCAxODQsIDIwLCAxLCAxMzcsIDIyOSwgNDIsIDIwLCAxLCAKLSAgICAxMzcsIDIyOCwgMiwgMjAsIDEsIDEzNywgMjI3LCAyNTAsIDIwLCAxLCAxMzcsIDIzMywgMjA5LCAyMjgsIDE0NCwgMjAsIDEsIAotICAgIDEzNywgMjI4LCAwLCAyMCwgMSwgMTM3LCAyMjksIDE0OSwgMjAsIDEsIDEzNywgMjMxLCAyNDQsIDIyOCwgNSwgMjAsIDEsIAotICAgIDEzNywgMjExLCAxMDMsIDIwLCAxLCAxMzcsIDIyOSwgMTQ4LCAyMCwgMSwgMTM3LCAyMTksIDIyMiwgMjAsIDEsIDEzNywgCi0gICAgMjIwLCAxMjgsIDIwLCAxLCAxMzcsIDIzMSwgMTE0LCAyMCwgMSwgMTM3LCAyMzEsIDIyNCwgMjAsIDEsIDEzNywgMjMxLCAKLSAgICAxMjQsIDIwLCAxLCAxMzcsIDIzNCwgMTUwLCAyMCwgMSwgMTM3LCAyMzEsIDExNSwgMjAsIDEsIDEzNywgMjM0LCAxNTQsIAotICAgIDIwLCAxLCAxMzcsIDIzMSwgMTI4LCAyMjUsIDEwNiwgMjAsIDEsIDEzNywgMjEwLCAxNzksIDIwLCAxLCAxMzcsIDIyOCwgCi0gICAgMTc2LCAyMCwgMSwgMTM3LCAyMzAsIDIyNSwgMjAsIDEsIDEzNywgMjMwLCAxMDUsIDIwLCAxLCAxMzcsIDIyMCwgMTcsIDIwLCAKLSAgICAxLCAxMzcsIDIzNCwgMTcyLCAyMzMsIDc2LCAyMCwgMSwgMTM3LCAyMzQsIDE3MiwgMjQ0LCAxNjgsIDIwLCAxLCAxMzcsIAotICAgIDIyOSwgNzQsIDIwLCAxLCAxMzcsIDIyOSwgMjAxLCAyMCwgMSwgMTM3LCAyMzIsIDIwNiwgMjAsIDEsIDEzNywgMjI1LCA2OCwgCi0gICAgMjAsIDEsIDEzNywgMjI1LCAyMDIsIDIwLCAxLCAxMzcsIDIxNiwgMjMxLCAyMCwgMSwgMTA3LCAyMzEsIDEwNCwgMjAsIDEsIAotICAgIDEwNywgMjEyLCA1MSwgMjAsIDEsIDEwNywgMjI4LCAxNzQsIDIwLCAxLCAxMDcsIDIzMSwgMjEsIDIwLCAxLCAxMDcsIDIyOCwgCi0gICAgMTcyLCAyMCwgMSwgMTA3LCAyMzIsIDI0MSwgMjAsIDEsIDEwNywgMjI4LCAxNzcsIDIwLCAxLCAxMDcsIDIyOCwgMTIsIDIwLCAKLSAgICAxLCAxMDcsIDIyOSwgNTksIDIwLCAxLCAxMDcsIDIyNywgMTY0LCAyMCwgMSwgMTA3LCAyMTEsIDE5NCwgMjAsIDEsIDEwNywgCi0gICAgMjI5LCAxNCwgMjAsIDEsIDEwNywgMjIwLCA2MywgMjAsIDEsIDEwNywgMjI5LCAyNSwgMjAsIDEsIDEwNywgMjM0LCAxNTcsIAotICAgIDIwLCAxLCAxMDcsIDIxNiwgMjE4LCAyMCwgMSwgMTA3LCAyMjAsIDQzLCAyMCwgMSwgMTA3LCAyMjgsIDE4NSwgMjAsIDEsIAotICAgIDEwNywgMjE4LCA1MywgMjAsIDEsIDEwNywgMjM0LCAxNjIsIDIwLCAxLCAxMDcsIDIxMSwgOTEsIDIwLCAxLCAxMDcsIDIzMywgCi0gICAgMjEwLCAyMCwgMSwgMTA3LCAyMjEsIDIzNiwgMjAsIDEsIDEwNywgMjMxLCAyNiwgMjAsIDEsIDEwNywgMjI5LCAxNDAsIDIwLCAKLSAgICAxLCAxMDcsIDIzMSwgMTkzLCAyMCwgMSwgMTA3LCAyMzEsIDMyLCAyMCwgMSwgMTA3LCAyMjAsIDEyNywgMjAsIDEsIDEwNywgCi0gICAgMjExLCAzOSwgMjAsIDEsIDEwNywgMjI4LCAxNzksIDIwLCAxLCAxMDcsIDIzNCwgMTUzLCAyMzEsIDEwNywgMjAsIDEsIAotICAgIDEwNywgMjI5LCAyMSwgMjAsIDEsIDEwNywgMjE1LCAxMTksIDIwLCAxLCAxMDcsIDI0MiwgMjU1LCAyMCwgMSwgMTA3LCAKLSAgICAyMjksIDExLCAyMCwgMSwgMTA3LCAyNDQsIDEzNSwgMjAsIDEsIDEwNywgMjI5LCAxNDQsIDIwLCAxLCAxMDcsIDIzMSwgNSwgCi0gICAgMjAsIDEsIDEwNywgMjMzLCAxMSwgMjAsIDEsIDEwNywgMjI5LCAxMjYsIDIwLCAxLCAxMDcsIDIzMCwgMTUyLCAyMCwgMSwgCi0gICAgMTA3LCAyMzEsIDksIDIwLCAxLCAxMDcsIDIyNCwgMTIxLCAyMCwgMSwgMTA3LCAyMzEsIDcsIDIwLCAxLCAxMDcsIDIzMSwgCi0gICAgMjMsIDIwLCAxLCAxMDcsIDIzMiwgODksIDIwLCAxLCAxMDcsIDIyOCwgNCwgMjAsIDEsIDEwNywgMjMxLCAxMjcsIDIwLCAxLCAKLSAgICAxMDcsIDIzMywgMTg2LCAyMCwgMSwgMTA3LCAyMjcsIDE1NSwgMjAsIDEsIDEwNywgMjE2LCAyMjEsIDIwLCAxLCAxMDcsIAotICAgIDIxOSwgMzYsIDIwLCAxLCAxMDcsIDIxMCwgMTc5LCAyMCwgMSwgMTA3LCAyMzQsIDE1NCwgMjAsIDEsIDEwNywgMjIzLCAKLSAgICAxNzMsIDIwLCAxLCAxMDcsIDIxNywgMTEsIDIwLCAxLCAxMDcsIDIyOSwgMjIsIDIwLCAxLCAxMDcsIDIzMSwgMjgsIDIwLCAKLSAgICAxLCAxMDcsIDIyOCwgMywgMjAsIDEsIDEwNywgMjM0LCAxNTIsIDIwLCAxLCAxMDcsIDIyNSwgNjIsIDIwLCAxLCAxMDcsIAotICAgIDIyNSwgMTU1LCAyMCwgMSwgMTA3LCAyMjcsIDEzMSwgMjAsIDEsIDEwNywgMjMzLCAxNywgMjAsIDEsIDEwNywgMjI5LCA2MCwgCi0gICAgMjAsIDEsIDEwNywgMjMxLCAyNSwgMjAsIDEsIDEwNywgMjI5LCAzNCwgMjAsIDEsIDEwNywgMjEwLCAxOTMsIDIwLCAxLCAKLSAgICAxMDcsIDIyNiwgMjUsIDIwLCAxLCAxMDcsIDIxMCwgMTkyLCAyMCwgMSwgMTA3LCAyMjksIDE0OSwgMjAsIDEsIDEwNywgCi0gICAgMjI3LCAyNDksIDIwLCAxLCAxMDcsIDIxOCwgODIsIDIwLCAxLCAxMDcsIDIzMywgMjE0LCAyMCwgMSwgMTA3LCAyMjksIDQ5LCAKLSAgICAyMCwgMSwgMTA3LCAyMjksIDE5LCAyMCwgMSwgMTA3LCAyMTUsIDEwMywgMjAsIDEsIDEwNywgMjMxLCAzNiwgMjAsIDEsIAotICAgIDEwNywgMjMzLCAyMDQsIDIwLCAxLCAxMDcsIDIyOCwgMSwgMjAsIDEsIDEwNywgMjE2LCAyMTksIDIwLCAxLCAxMDcsIDIzMSwgCi0gICAgMjE5LCAyMCwgMSwgMTA3LCAyMjksIDU4LCAyMCwgMSwgMTA3LCAyMzMsIDEwLCAyMCwgMSwgMTA3LCAyMjksIDQwLCAyMCwgCi0gICAgMSwgMTA3LCAyMjgsIDYsIDIwLCAxLCAxMDcsIDIyOCwgMTU4LCAyMCwgMSwgMTA3LCAyNDIsIDI0MCwgMjAsIDEsIDEwNywgCi0gICAgMjMzLCAyMjMsIDIwLCAxLCAxMDcsIDIyMywgODcsIDIyNiwgMjEzLCAyMCwgMSwgMTA3LCAyMTcsIDg3LCAyMCwgMSwgMTA3LCAKLSAgICAyMTYsIDExLCAyMCwgMSwgMTA3LCAyMjcsIDE1MiwgMjAsIDEsIDEwNywgMjIyLCAyNDIsIDIwLCAxLCAxMDcsIDIzMywgNTUsIAotICAgIDIwLCAxLCAxMDcsIDIzMSwgODQsIDIwLCAxLCAxMDcsIDE5NCwgMjAsIDEsIDEwNywgMjE4LCA1LCAyMCwgMSwgMTA3LCAKLSAgICAyMzAsIDEwNywgMjAsIDEsIDEwNywgMjIwLCAyOSwgMjAsIDEsIDEwNywgMjIwLCAzOSwgMjAsIDEsIDEwNywgMjMzLCAxNjEsIAotICAgIDIwLCAxLCAxMDcsIDIyNywgMjQyLCAyMCwgMSwgMTA3LCAyMTksIDIyNywgMjAsIDEsIDEwNywgMjI3LCAyNTEsIDIwLCAxLCAKLSAgICAxMDcsIDIyNSwgMjE0LCAyMCwgMSwgMTA3LCAyMjgsIDIzOCwgMjAsIDEsIDEwNywgMjE5LCAyNTQsIDIwLCAxLCAxMDcsIAotICAgIDIyNCwgMTM2LCAyMCwgMSwgMTA3LCAyMzAsIDUxLCAyMCwgMSwgMTA3LCAyMzIsIDEyNSwgMjAsIDEsIDEwNywgMjIzLCA4NywgCi0gICAgMjMwLCAxMDEsIDIwLCAxLCAxMDcsIDIxNiwgMTE4LCAyMCwgMSwgMTA3LCAyMjcsIDI0MywgMjAsIDEsIDEwNywgMjMxLCAKLSAgICAxMjgsIDE5OSwgMjAsIDEsIDEwNywgMjIxLCAyMzQsIDIwLCAxLCAxMDcsIDI0NCwgMjAzLCAyMCwgMSwgODIsIDIyOSwgCi0gICAgMTQ4LCAyMCwgMSwgODIsIDIxNiwgMTcsIDIwLCAxLCA4MiwgMjMxLCAxMTcsIDIwLCAxLCA4MiwgMjMzLCA5NCwgMjAsIDEsIAotICAgIDgyLCAyMTMsIDEyOCwgMjAsIDEsIDgyLCAyMzIsIDEzMSwgMjAsIDEsIDgyLCAyMjYsIDkzLCAyMCwgMSwgODIsIDIxOSwgCi0gICAgNDcsIDIwLCAxLCA4MiwgMjIzLCAxNDgsIDIwLCAxLCA4MiwgMjI4LCA4LCAyMCwgMSwgODIsIDIyOSwgMTE5LCAyMCwgMSwgCi0gICAgODIsIDIyNCwgMTUwLCAyMCwgMSwgODIsIDIxNywgNjMsIDIwLCAxLCA4MiwgMjI5LCAyNywgMjAsIDEsIDgyLCAyMzMsIAotICAgIDI1MSwgMjAsIDEsIDgyLCAyMTEsIDE4NywgMjAsIDEsIDgyLCAyMjEsIDE3MiwgMjAsIDEsIDgyLCAyMjksIDUwLCAyMCwgMSwgCi0gICAgODIsIDIyNiwgOTAsIDIwLCAxLCA4MiwgMjE2LCAxOCwgMjAsIDEsIDgyLCAyMzMsIDIwOCwgMjAsIDEsIDgyLCAyMzIsIAotICAgIDE0NSwgMjAsIDEsIDgyLCAyMjgsIDExLCAyMCwgMSwgODIsIDIyOSwgMywgMjAsIDEsIDgyLCAyMzEsIDIyNSwgMjAsIDEsIAotICAgIDgyLCAyMjksIDIwLCAyMCwgMSwgODIsIDIyOSwgMiwgMjAsIDEsIDgyLCAyMjgsIDEwLCAyMCwgMSwgODIsIDIyMiwgMjQwLCAKLSAgICAyMCwgMSwgODIsIDIyOCwgMTc2LCAyMCwgMSwgODIsIDIyNSwgMjEzLCAyMCwgMSwgODIsIDIyMiwgMzMsIDIwLCAxLCA4MiwgCi0gICAgMjI5LCAzNSwgMjAsIDEsIDgyLCAyMzEsIDE1LCAyMCwgMSwgODIsIDI0MiwgMjM0LCAyMCwgMSwgODIsIDIyOSwgMjMsIDIwLCAKLSAgICAxLCA4MiwgMjI4LCAxODcsIDIwLCAxLCA4MiwgMjMxLCAxNzcsIDIwLCAxLCA4MiwgMjMyLCAxMjcsIDIwLCAxLCA4MiwgCi0gICAgMjI5LCA1NSwgMjAsIDEsIDgyLCAyMjksIDEzMiwgMjAsIDEsIDgyLCAyMTcsIDg2LCAyMjcsIDI0OSwgMjAsIDEsIDgyLCAKLSAgICAyMjAsIDEyOSwgMjAsIDEsIDgyLCAyMjQsIDE0NiwgMjAsIDEsIDgyLCAyMjksIDE1MiwgMjE5LCA1MywgMjAsIDEsIDgyLCAKLSAgICAyMjksIDQzLCAyMjcsIDE2NCwgMjAsIDEsIDgyLCAyMTEsIDQsIDIwLCAxLCA4MiwgMjQyLCAyMzUsIDIwLCAxLCA4MiwgCi0gICAgMjE1LCAxMTgsIDIwLCAxLCA4MiwgMjExLCAxOSwgMjAsIDEsIDgyLCAyMjUsIDE5LCAyMCwgMSwgODIsIDIxNSwgMTA4LCAKLSAgICAyMCwgMSwgODIsIDIzNCwgMTYwLCAyMCwgMSwgODIsIDIxOCwgODEsIDIwLCAxLCA4MiwgMjE2LCAyMjAsIDIwLCAxLCA4MiwgCi0gICAgMjEzLCAxODQsIDIwLCAxLCA4MiwgMjEyLCA2LCAyMCwgMSwgODIsIDIzMywgMTM4LCAyMCwgMSwgODIsIDIyNCwgMTUzLCAKLSAgICAyMCwgMSwgODIsIDIxNywgOTcsIDIwLCAxLCA4MiwgMjQyLCAyNTQsIDIwLCAxLCA4MiwgMjI5LCA2NCwgMjAsIDEsIDgyLCAKLSAgICAyMjAsIDQyLCAyMCwgMSwgODIsIDIzMSwgMTAsIDIwLCAxLCA4MiwgMjMxLCAxMjEsIDIwLCAxLCA4MiwgMjI3LCAxMTksIAotICAgIDIwLCAxLCA4MiwgMjI4LCAxNDEsIDIwLCAxLCA4MiwgMjQzLCA4MCwgMjAsIDEsIDgyLCAyMTUsIDEwOSwgMjAsIDEsIDgyLCAKLSAgICAyMzMsIDIxNywgMjAsIDEsIDgyLCAyMTEsIDY3LCAyMCwgMSwgODIsIDIyNywgMTUzLCAyNTAsIDI0LCAyMCwgMSwgODIsIAotICAgIDIxMCwgMjUwLCAyMCwgMSwgODIsIDIzMSwgMjcsIDIwLCAxLCA4MiwgMjI5LCAxMzcsIDIwLCAxLCA4MiwgMjI1LCAxMDMsIAotICAgIDIwLCAxLCA4MiwgMjEwLCAxOTcsIDIwLCAxLCA4MiwgMjMzLCAxMiwgMjAsIDEsIDgyLCAyNDMsIDI0MCwgMjAsIDEsIDgyLCAKLSAgICAyNDMsIDc5LCAyMCwgMSwgODIsIDIyOSwgMTMsIDIwLCAxLCA4MiwgMjM0LCAxNjIsIDIwLCAxLCA4MiwgMjMxLCAyMjgsIAotICAgIDIwLCAxLCA4MiwgMjI5LCAyNiwgMjAsIDEsIDgyLCAyNDIsIDI0MSwgMjAsIDEsIDgyLCAyNDQsIDIwNCwgMjAsIDEsIDgyLCAKLSAgICAyMjcsIDI0NCwgMjAsIDEsIDgyLCAyMjUsIDE1NiwgMjAsIDEsIDgyLCAyMTEsIDE3LCAyMCwgMSwgODIsIDIyOSwgNTEsIAotICAgIDIwLCAxLCA4MiwgMjI3LCAxNTMsIDI1MiwgMzEsIDIwLCAxLCA4MiwgMjI3LCA5OSwgMjAsIDEsIDgyLCAyMjQsIDI1MCwgCi0gICAgMjAsIDEsIDgyLCAyMzAsIDIyNSwgMjAsIDEsIDgyLCAyNDMsIDIzOCwgMjAsIDEsIDgyLCAyMjksIDIyNSwgMjAsIDEsIDgyLCAKLSAgICAyMzAsIDEwNSwgMjAsIDEsIDgyLCAyNDIsIDI0MCwgMjAsIDEsIDgyLCAyNDMsIDI0MiwgNzQsIDIwLCAxLCA4MiwgMjMwLCAKLSAgICA1MiwgMjAsIDEsIDgyLCAyMjQsIDE0OSwgMjAsIDEsIDgyLCAyMjksIDE1LCAyMCwgMSwgODIsIDIzMywgMTk1LCAyMCwgMSwgCi0gICAgODIsIDIyNSwgMTAwLCAyMCwgMSwgODIsIDIyNywgMjUyLCAyMCwgMSwgODIsIDIxMSwgMTgsIDIwLCAxLCA4MiwgMjI5LCAKLSAgICAzNiwgMjAsIDEsIDgyLCAyMjYsIDk0LCAyMjUsIDE5MCwgMjAsIDEsIDgyLCAyNDMsIDI0MiwgMjUxLCAyMywgMjAsIDEsIAotICAgIDgyLCAyNDQsIDQ1LCAyMCwgMSwgODIsIDIyOCwgMTgxLCAyMCwgMSwgODIsIDYxLCAyMCwgMSwgODIsIDIxNiwgMTEsIDIwLCAKLSAgICAxLCA4MiwgNzgsIDIwLCAxLCA4MiwgNzQsIDIwLCAxLCA4MiwgMjMzLCA5MiwgMjAsIDEsIDgyLCAyMjYsIDk0LCAyMjUsIAotICAgIDI2LCAyMCwgMSwgODIsIDIxNywgMTAyLCAyMCwgMSwgODIsIDIxNywgNTIsIDIwLCAxLCA4MiwgMjI5LCAxNTIsIDIzMCwgCi0gICAgMzksIDI0MCwgMjQxLCAyMCwgMSwgODIsIDIyMCwgMTcsIDIwLCAxLCA4MiwgMjExLCAxNCwgMjAsIDEsIDgyLCAyMjgsIAotICAgIDI1MiwgMjAsIDEsIDgyLCAyMTAsIDIwMiwgMjAsIDEsIDgyLCAyMTAsIDIyNywgMjE3LCAyNDEsIDIwLCAxLCA4MiwgMjEwLCAKLSAgICAyMjcsIDI0OSwgMTU1LCAyMCwgMSwgODIsIDIxMCwgMTg3LCAyMCwgMSwgODIsIDIxMCwgMTk1LCAyMCwgMSwgODIsIDIzNCwgCi0gICAgMTQ4LCAyMCwgMSwgODIsIDIyNSwgMTU0LCAyMCwgMSwgODIsIDIyOCwgMTgyLCAyNDUsIDExMCwgMjAsIDEsIDgyLCAyMjQsIAotICAgIDE0NywgMjAsIDEsIDgyLCAyMTEsIDE5MiwgMjAsIDEsIDgyLCAyNDQsIDE1NSwgMjAsIDEsIDgyLCAyMTMsIDI1MCwgMjAsIAotICAgIDEsIDgyLCAyMzIsIDEwMywgMjAsIDEsIDgyLCAyMzAsIDIzNSwgMjAsIDEsIDgyLCAyMjMsIDU0LCAyMCwgMSwgODIsIDIyMywgCi0gICAgMTc0LCAyMCwgMSwgODIsIDIyOCwgMjUxLCAyMCwgMSwgODIsIDIyOSwgODIsIDIwLCAxLCA4MiwgMjIwLCA5LCAyMCwgMSwgCi0gICAgODIsIDIxOSwgMjU0LCAyMCwgMSwgODIsIDI0MywgMjQyLCAyMjMsIDg5LCAyMCwgMSwgODIsIDE5OCwgMjAsIDEsIDgyLCAKLSAgICAyMjUsIDExMSwgMjAsIDEsIDgyLCAyMzIsIDEyNSwgMjAsIDEsIDgyLCAyMzQsIDM0LCAyMCwgMSwgODIsIDIzMSwgNjMsIAotICAgIDIwLCAxLCA4MiwgMTg2LCAyMCwgMSwgODIsIDIzMSwgMTc0LCAyMCwgMSwgODIsIDIxNiwgMjIyLCAyMCwgMSwgODIsIDIzNCwgCi0gICAgOTgsIDIwLCAxLCA4MiwgMjMwLCAxNTUsIDIwLCAxLCA4MiwgMjE2LCAyNDgsIDIwLCAxLCA4MiwgMjQ0LCAxNzcsIDIwLCAxLCAKLSAgICA4MiwgMjQyLCAyMzAsIDIwLCAxLCAyMjUsIDE0MCwgMTc2LCAyMCwgMSwgMjI1LCAxNDAsIDY5LCAyMCwgMSwgMjI1LCAxNDAsIAotICAgIDIzMywgMjIzLCAyMCwgMSwgMjI1LCAxNDAsIDI0NSwgMjE3LCAyMCwgMSwgMjI1LCAxNDAsIDIyMywgMTExLCAyMCwgMSwgCi0gICAgMjI1LCAxNDAsIDIxNywgODcsIDIwLCAxLCAyMjUsIDE0MCwgMjI3LCAxNTIsIDIwLCAxLCAyMjUsIDE0MCwgMjMzLCAxNDEsIAotICAgIDIwLCAxLCAyMjUsIDE0MCwgMjIyLCAyNDIsIDIwLCAxLCAyMjUsIDE0MCwgMjIzLCAzMiwgMjAsIDEsIDIyNSwgMTQwLCAKLSAgICAyMzEsIDg0LCAyMCwgMSwgMjI1LCAxNDAsIDIxNywgMTAyLCAyMCwgMSwgMjI1LCAxNDAsIDIyOSwgMTUxLCAyMCwgMSwgCi0gICAgMjI1LCAxNDAsIDIyOCwgMTg4LCAyMCwgMSwgMjI1LCAxNDAsIDE5NCwgMjAsIDEsIDIyNSwgMTQwLCAyMTgsIDUsIDIwLCAxLCAKLSAgICAyMjUsIDE0MCwgMjIwLCAyOSwgMjAsIDEsIDIyNSwgMTQwLCAyMTksIDE5MywgMjAsIDEsIDIyNSwgMTQwLCAyMjAsIDEyNSwgCi0gICAgMjAsIDEsIDIyNSwgMTQwLCAyMzMsIDE2MSwgMjAsIDEsIDIyNSwgMTQwLCAyMzQsIDE2MiwgMjAsIDEsIDIyNSwgMTQwLCAKLSAgICAyMjcsIDIxMywgMjAsIDEsIDIyNSwgMTQwLCAyMjcsIDI0MiwgMjAsIDEsIDIyNSwgMTQwLCAyMjgsIDE1OSwgMjAsIDEsIAotICAgIDIyNSwgMTQwLCAyMTAsIDIyNiwgMjAsIDEsIDIyNSwgMTQwLCAyMTksIDIyNywgMjAsIDEsIDIyNSwgMTQwLCAxOTIsIDIwLCAKLSAgICAxLCAyMjUsIDE0MCwgMjI4LCAxNCwgMjAsIDEsIDIyNSwgMTQwLCAyMjUsIDE1NCwgMjAsIDEsIDIyNSwgMTQwLCAyMjcsIAotICAgIDI1MSwgMjAsIDEsIDIyNSwgMTQwLCAyMTEsIDE5MiwgMjAsIDEsIDIyNSwgMTQwLCAyMjUsIDIxNCwgMjAsIDEsIDIyNSwgCi0gICAgMTQwLCAyMjIsIDE0MiwgMjAsIDEsIDIyNSwgMTQwLCAyMjgsIDIzOCwgMjAsIDEsIDIyNSwgMTQwLCAyMjMsIDU0LCAyMCwgCi0gICAgMSwgMjI1LCAxNDAsIDIzNCwgMTcxLCAyMCwgMSwgMjI1LCAxNDAsIDIyOSwgMTIsIDIwLCAxLCAyMjUsIDE0MCwgMjI5LCAKLSAgICA2MSwgMjAsIDEsIDIyNSwgMTQwLCAyMjAsIDksIDIwLCAxLCAyMjUsIDE0MCwgMjI0LCAxNTAsIDIwLCAxLCAyMjUsIDE0MCwgCi0gICAgMjQ0LCA0NSwgMjAsIDEsIDIyNSwgMTQwLCAyMTIsIDY1LCAyMCwgMSwgMjI1LCAxNDAsIDIzMiwgMjQ3LCAyMCwgMSwgMjI1LCAKLSAgICAxNDAsIDIzMiwgMTI1LCAyMCwgMSwgMjI1LCAxNDAsIDIzNCwgMzQsIDIwLCAxLCAyMjUsIDE0MCwgMjMxLCAxMTksIDIwLCAKLSAgICAxLCAyMjUsIDE0MCwgMjIzLCA4NiwgMjAsIDEsIDIyNSwgMTQwLCAxODYsIDIwLCAxLCAyMjUsIDE0MCwgMjMwLCAxNjYsIAotICAgIDIwLCAxLCAyMjUsIDE0MCwgMjMxLCAxMjcsIDIwLCAxLCAyMjUsIDE0MCwgMjE2LCAyMzEsIDIwLCAxLCAyMjUsIDE0MCwgCi0gICAgMjM0LCAxLCAyMCwgMSwgMjI1LCAxNDAsIDIyMSwgMjUzLCAyMCwgMSwgMjI1LCAxNDAsIDIxMiwgMTE1LCA5NSwgMSwgMTkxLCAKLSAgICA5NSwgMSwgMjUyLCAxOTksIDk1LCAxLCA4LCAxOTEsIDk1LCAxLCAyMjUsIDQ1LCA5NSwgMSwgMTg2LCA5NSwgMSwgMjMwLCAKLSAgICAyMzgsIDk1LCAxLCAyNTQsIDMxLCAxODYsIDk1LCAxLCAyNDQsIDIwNCwgOTUsIDEsIDIxNCwgMjcsIDk1LCAxLCAyMTMsIAotICAgIDE3NywgOTUsIDEsIDIxNywgMTA2LCA5NSwgMSwgMjQ4LCAyMjksIDk1LCAxLCA4LCAyMTUsIDE1NywgOTUsIDEsIDgsIDIxNywgCi0gICAgMTA2LCA5NSwgMSwgMjE1LCAxNTcsIDk1LCAxLCAyNDgsIDE0MywgOTUsIDEsIDE5OCwgOTUsIDEsIDIyOCwgMjQyLCA5NSwgCi0gICAgMSwgOCwgMjI4LCAxMTUsIDk1LCAxLCAyNTQsIDMxLCAxOTgsIDk1LCAxLCAyMjgsIDExNSwgOTUsIDEsIDIyOCwgMTAxLCAKLSAgICA5NSwgMSwgMjMzLCAxNDEsIDk1LCAxLCAyMzIsIDY2LCA5NSwgMSwgMjMzLCA0LCA5NSwgMSwgMjMyLCAyNDksIDk1LCAxLCAKLSAgICAyMTYsIDU3LCA5NSwgMSwgMjQ3LCAxNjEsIDk1LCAxLCAyMTYsIDQ5LCA5NSwgMSwgMjQ3LCAxNjAsIDk1LCAxLCAxNzYsIAotICAgIDk1LCAxLCAyNDMsIDE0MiwgOTUsIDEsIDgsIDE3NiwgOTUsIDEsIDIyNCwgOTEsIDk1LCAxLCAyMjQsIDY5LCA5NSwgMSwgCi0gICAgMjI5LCA4MiwgOTUsIDEsIDIyOSwgMzMsIDk1LCAxLCAyNTQsIDMxLCAyMjksIDgyLCA5NSwgMSwgMTYyLCA5NSwgMSwgMjExLCAKLSAgICAxNjUsIDk1LCAxLCAyNDMsIDAsIDk1LCAxLCAyNDIsIDIzMywgOTUsIDEsIDIxNSwgMTY2LCA5NSwgMSwgMjQ2LCAzNCwgOTUsIAotICAgIDEsIDIyNywgMTY5LCA5NSwgMSwgMjI3LCAxNTQsIDk1LCAxLCAyMTUsIDE3NiwgOTUsIDEsIDI0NiwgNDEsIDk1LCAxLCA4LCAKLSAgICAyMTUsIDE3NiwgOTUsIDEsIDgsIDI0NiwgNDEsIDk1LCAxLCAyMjMsIDEwOSwgMjE1LCAxNzYsIDk1LCAxLCAyMjAsIDEwNCwgCi0gICAgOTUsIDEsIDIxOCwgMjI1LCA5NSwgMSwgMjEwLCA4MiwgOTUsIDEsIDIxMCwgMTQsIDk1LCAxLCAyMTUsIDE4NCwgOTUsIDEsIAotICAgIDI0NiwgNDYsIDk1LCAxLCA4LCAyMTUsIDE4NCwgOTUsIDEsIDIwNiwgOTUsIDEsIDIxMCwgMTE2LCA5NSwgMSwgMjEwLCAxNSwgCi0gICAgOTUsIDEsIDIwOSwgMjQzLCA5NSwgMSwgMjA5LCAyMjMsIDk1LCAxLCAyNTQsIDMxLCAyMDksIDI0MywgOTUsIDEsIDIwOSwgCi0gICAgMjE1LCA5NSwgMSwgMjA5LCAyMjIsIDk1LCAxLCAyMTIsIDY1LCA5NSwgMSwgMjU0LCAyMTgsIDk1LCAxLCAyNDEsIDE5NiwgCi0gICAgOTUsIDEsIDIyOSwgMTk3LCA5NSwgNSwgMjUzLCAyMzAsIDk1LCA1LCAyMjMsIDEwOSwgMjEzLCAxMzMsIDk1LCA1LCAyMjMsIAotICAgIDEwOSwgMjUzLCAyMzAsIDk1LCAyNSwgNSwgNjEsIDk1LCAyNSwgNSwgMjU1LCA4MiwgOTUsIDI1LCA1LCAyNTQsIDIxNCwgCi0gICAgOTUsIDI1LCA1LCAyNTQsIDEzMSwgOTUsIDI1LCA1LCAyNTQsIDEyMywgOTUsIDI1LCA1LCA3OCwgOTUsIDI1LCA1LCAyMjYsIAotICAgIDE4NywgOTUsIDI1LCA1LCAyMTEsIDIyNywgOTUsIDI1LCA1LCAyMTIsIDk4LCA5NSwgMjUsIDUsIDc2LCA5NSwgMjUsIDUsIAotICAgIDI0NSwgMTU4LCA5NSwgMjUsIDUsIDI0NSwgMTQ2LCA5NSwgMjUsIDUsIDIyNiwgMjM2LCA5NSwgMjUsIDUsIDc0LCA5NSwgCi0gICAgMjUsIDUsIDI0MCwgMTI2LCA5NSwgMjUsIDUsIDI0MCwgMTI1LCA5NSwgMjUsIDUsIDI0MCwgMTI0LCA5NSwgMjUsIDUsIAotICAgIDIzNSwgMTk2LCA5NSwgMjUsIDUsIDIzNiwgNjcsIDk1LCAyNSwgNSwgMjM2LCA0MCwgOTUsIDI1LCA1LCAyMzUsIDE2MiwgCi0gICAgOTUsIDI1LCA1LCAyMzUsIDIzOCwgOTUsIDI1LCA1LCA2OSwgOTUsIDI1LCA1LCAyMTQsIDIyOSwgOTUsIDI1LCA1LCAyMTQsIAotICAgIDIyOCwgOTUsIDI1LCA1LCAyMTQsIDIyNywgOTUsIDI1LCA1LCAyMTQsIDExOCwgOTUsIDI1LCA1LCAyMTQsIDIxMSwgOTUsIAotICAgIDI1LCA1LCAyMTQsIDE3OCwgOTUsIDI1LCA1LCAyMTEsIDExNywgOTUsIDI1LCA1LCAyMTEsIDgsIDk1LCAyNSwgNSwgMjU0LCAKLSAgICAyNTIsIDk1LCAyNSwgNSwgMjU0LCAyNDgsIDk1LCAyNSwgNSwgMjQ1LCA5NCwgOTUsIDI1LCA1LCAyMjIsIDE4NSwgMjQ1LCAKLSAgICA5NCwgOTUsIDI1LCA1LCAyNDUsIDEwMCwgOTUsIDI1LCA1LCAyMjIsIDE4NSwgMjQ1LCAxMDAsIDk1LCAyNSwgNSwgMjU0LCAKLSAgICAyMTAsIDk1LCAyNSwgNSwgMjQ1LCAyMDMsIDk1LCAyNSwgNSwgMjUzLCAyMDAsIDk1LCAyNSwgNSwgMjI2LCAxMzgsIDk1LCAKLSAgICAyNSwgNSwgMjMwLCAzMCwgOTUsIDI1LCA1LCAyMjksIDg0LCA5NSwgMTM4LCAyMjIsIDI1NCwgOTUsIDEzOCwgMjE2LCAxNSwgCi0gICAgMjIyLCAyNTQsIDk1LCAxMzgsIDQ4LCA5NSwgMTM4LCA1MSwgOTUsIDEsIDIxNiwgMjksIDk1LCAxLCAyMTYsIDI4LCA5NSwgCi0gICAgMSwgMjE2LCAyNywgOTUsIDEsIDIxNiwgMjYsIDk1LCAxLCAyMTYsIDI1LCA5NSwgMSwgMjE2LCAyNCwgOTUsIDEsIDIxNiwgCi0gICAgMjMsIDk1LCAxLCAyMjMsIDEwOSwgMjE2LCAzMCwgOTUsIDEsIDIyMywgMTA5LCAyMTYsIDI5LCA5NSwgMSwgMjIzLCAxMDksIAotICAgIDIxNiwgMjcsIDk1LCAxLCAyMjMsIDEwOSwgMjE2LCAyNiwgOTUsIDEsIDIyMywgMTA5LCAyMTYsIDI1LCA5NSwgMSwgMjIzLCAKLSAgICAxMDksIDIxNiwgMjMsIDU2LCAxLCAyNTQsIDMxLCA3NiwgMTQxLCAxLCAyNTQsIDMxLCAyMTEsIDQ3LCA0OSwgMjgsIDE2LCAKLSAgICAyMjQsIDE1NywgNDksIDI4LCAxNiwgMjQ4LCAxNjYsIDQ5LCAyOCwgMTYsIDIyNSwgMTc4LCA0OSwgMjgsIDE2LCAyMjYsIAotICAgIDExNywgMjQ1LCAxODYsIDQ5LCAyOCwgMTYsIDIyNiwgMTE3LCAyNDcsIDIwOSwgNDksIDI4LCAxNiwgMjE0LCAxNiwgMjQ1LCAKLSAgICAxODYsIDQ5LCAyOCwgMTYsIDIxNCwgMTYsIDI0NywgMjA5LCA0OSwgMjgsIDE2LCAyMzQsIDIwMywgNDksIDI4LCAxNiwgCi0gICAgMjE3LCAxNzAsIDQ5LCAyOCwgMTYsIDIyNiwgMTMsIDQ5LCAyOCwgMTYsIDIxMCwgMjE3LCA0OSwgMjgsIDE2LCAyMTAsIAotICAgIDIxOCwgMjQ3LCAyMDksIDQ5LCAyOCwgMTYsIDIzMywgMjQwLCA0OSwgMjgsIDE2LCAyNTQsIDc2LCAyNDUsIDE4NiwgNDksIAotICAgIDI4LCAxNiwgMjQ1LCAzNCwgMjQ1LCAxODYsIDQ5LCAyOCwgMTYsIDIxNywgMywgNDksIDI4LCAxNiwgMjM0LCAxNjcsIDQ5LCAKLSAgICAyOCwgMTYsIDI1NCwgNjYsIDQ5LCAyOCwgMTYsIDI1NCwgNjcsIDI0NywgMjA5LCA0OSwgMjgsIDE2LCAyMTcsIDE3NiwgNDksIAotICAgIDI4LCAxNiwgMjE2LCAxNjAsIDQ5LCAyOCwgMTYsIDIyNiwgMjEwLCAyNTQsIDI5LCA0OSwgMjgsIDE2LCAyNDIsIDE2NiwgCi0gICAgMjU0LCAyOSwgNDksIDI4LCAxNiwgMjI0LCAxNTYsIDQ5LCAyOCwgMTYsIDI1MCwgMTU3LCA0OSwgMjgsIDE2LCAyMTQsIDYsIAotICAgIDQ5LCAyOCwgMTYsIDIzNSwgMTcwLCAyNTQsIDI5LCA0OSwgMjgsIDE2LCAyMzQsIDE2OSwgMjU0LCAyOSwgNDksIDI4LCAxNiwgCi0gICAgMjM0LCAxNjgsIDI1NCwgMjksIDQ5LCAyOCwgMTYsIDIyMSwgMjE1LCA0OSwgMjgsIDE2LCAyMjYsIDQsIDQ5LCAyOCwgMTYsIAotICAgIDIxOCwgMTQ4LCAyNTQsIDY5LCA0OSwgMjgsIDE2LCAyMjYsIDExNiwgMjU0LCAyOSwgNDksIDI4LCAxNiwgMjE0LCAxNSwgCi0gICAgMjU0LCAyOSwgNDksIDI4LCAxNiwgMjU0LCA3MCwgMjU0LCAyOSwgNDksIDI4LCAxNiwgMjU0LCA2NCwgNDksIDI4LCAxNiwgCi0gICAgMjM0LCA0MywgNDksIDI4LCAxNiwgMjIzLCA0OSwgNDksIDI4LCAxNiwgMjI1LCAxMDksIDI1NCwgMjksIDQ5LCAyOCwgMTYsIAotICAgIDIxNiwgODQsIDQ5LCAyOCwgMTYsIDI1NCwgMTI5LCA0OSwgMjgsIDE2LCAyMjEsIDE2MSwgNDksIDI4LCAxNiwgMjE3LCAKLSAgICAxNzksIDI1NCwgMjksIDQ5LCAyOCwgMTYsIDIxNywgMTc5LCAyMzEsIDQ1LCAyMTgsIDE0NiwgNDksIDI4LCAxNiwgMjI2LCAKLSAgICAxMTEsIDI1NCwgMjksIDQ5LCAyOCwgMTYsIDIxNiwgMTkxLCA0OSwgMjgsIDE2LCAyMzMsIDMzLCA0OSwgMjgsIDE2LCAyNDYsIAotICAgIDQ5LCA0OSwgMjgsIDE2LCAyMTUsIDIyOCwgNDksIDI4LCAxNiwgMjE2LCAyMzMsIDQ5LCAyOCwgMTYsIDIzMywgMjQzLCA0OSwgCi0gICAgMjgsIDE2LCAyNTQsIDc2LCAyNDUsIDM0LCAyMjksIDEwMCwgNDksIDI4LCAxNiwgMjQzLCAyNDMsIDI1NCwgMjksIDQ5LCAKLSAgICAyOCwgMTYsIDIzNiwgMTksIDQ5LCAyOCwgMTYsIDIxNSwgMjAwLCAyNTQsIDI5LCA0OSwgMjgsIDE2LCAyMzQsIDIwNiwgCi0gICAgMjE1LCAxOTksIDQ5LCAyOCwgMTYsIDIyNSwgMjAzLCA0OSwgMjgsIDE2LCAyMjQsIDE2MSwgNDksIDI4LCAxNiwgMjM0LCAKLSAgICAxNywgNDksIDI4LCAxNiwgMjUwLCA4OCwgMjU0LCAyOSwgNDksIDI4LCAxNiwgMjIzLCAxNDksIDQ5LCAyOCwgMTYsIDIyNiwgCi0gICAgMTYsIDI1NCwgMjksIDQ5LCAyOCwgMTYsIDIyNiwgMTQsIDI1NCwgMjksIDQ5LCAyOCwgMTYsIDI0MCwgMTE2LCA0OSwgMjgsIAotICAgIDE2LCAyMjksIDIwOCwgNDksIDI4LCAxNiwgMjI1LCAxNTksIDQ5LCAyOCwgMTYsIDIzNCwgMTgsIDI1NCwgMTU4LCA0OSwgCi0gICAgMjgsIDE2LCAyMTUsIDIwMCwgMjU0LCAxNTgsIDQ5LCAyOCwgMTYsIDIxOCwgMTI1LCA0OSwgMjgsIDE2LCAyNDIsIDEzMCwgCi0gICAgNDksIDI4LCAxNiwgMjM1LCAxNzAsIDIyOSwgMTAwLCA0OSwgMjgsIDE2LCAyMjYsIDIxMCwgMjI5LCAxMDAsIDQ5LCAyOCwgCi0gICAgMTYsIDIyNiwgMTE3LCAyMjksIDEwMCwgNDksIDI4LCAxNiwgMjI1LCAxNTgsIDQ5LCAyOCwgMTYsIDIzNCwgNCwgNDksIDI4LCAKLSAgICAxNiwgMjI1LCAxNTcsIDQ5LCAyOCwgMTYsIDIzMywgMjQyLCA0OSwgMjgsIDE2LCAyMjUsIDIwNCwgMjI5LCAxMDAsIDQ5LCAKLSAgICAyOCwgMTYsIDIzNCwgMTY4LCAyMjksIDEwMSwgMjU0LCAxMDQsIDQ5LCAyOCwgMTYsIDIzNCwgMTY5LCAyMjksIDEwMSwgCi0gICAgMjU0LCAxMDQsIDQ5LCAyOCwgMTYsIDIxMCwgMjE1LCA0OSwgMjgsIDE2LCAyNTQsIDY3LCAyMjksIDEwMCwgNDksIDI4LCAKLSAgICAxNiwgMjU0LCA2OCwgMjE3LCAxNzcsIDIyOSwgMTAwLCA0OSwgMjgsIDE2LCAyMTAsIDIxNiwgNDksIDI4LCAxNiwgMjMzLCAKLSAgICAyNDEsIDQ5LCAyOCwgMTYsIDI0NSwgMTgxLCA0OSwgMjgsIDE2LCAyNTAsIDE1OCwgNDksIDI4LCAxNiwgMjMwLCAyMDMsIAotICAgIDIzNSwgMTY5LCA0OSwgMjgsIDE2LCAyMTQsIDE2LCAyMjksIDEwMCwgNDksIDI4LCAxNiwgMjI1LCAxMDksIDIyOSwgMTAwLCAKLSAgICA0OSwgMjgsIDE2LCAyMjQsIDE2MiwgMjI5LCAxMDAsIDQ5LCAyOCwgMTYsIDIyNiwgMjA3LCA0OSwgMjgsIDE2LCAyNTQsIAotICAgIDkyLCA0OSwgMjgsIDE2LCAyMzIsIDYzLCA0OSwgMjgsIDE2LCAyMjYsIDE0LCAyMjksIDEwMCwgNDksIDI4LCAxNiwgMjI2LCAKLSAgICAxNiwgMjI5LCAxMDAsIDQ5LCAyOCwgMTYsIDI0NSwgNjgsIDIyNiwgMTUsIDQ5LCAyOCwgMTYsIDIzMywgMTU5LCA0OSwgMjgsIAotICAgIDE2LCAyNTQsIDkzLCA0OSwgMjgsIDE2LCAyMTUsIDIwMCwgMjI5LCAxMDAsIDQ5LCAyOCwgMTYsIDI0NSwgMTg0LCA0OSwgCi0gICAgMjgsIDE2LCAyMTcsIDE3OSwgMjI5LCAxMDAsIDQ5LCAyOCwgMTYsIDIxNywgMTcxLCA0OSwgMjgsIDE2LCAyNTAsIDg4LCAKLSAgICAyMjksIDEwMCwgNDksIDI4LCAxNiwgMjQ1LCAxMTQsIDQ5LCAyOCwgMTYsIDIyMSwgMTYyLCAyMjksIDEwMCwgNDksIDI4LCAKLSAgICAxNiwgMjExLCAxNTEsIDIzNCwgNDMsIDQ5LCAyOCwgMTYsIDIxNSwgMTk3LCA0OSwgMjgsIDE2LCAyMjQsIDE2MywgNDksIAotICAgIDI4LCAxNiwgMjE1LCAyMDEsIDQ5LCAyOCwgMTYsIDIxNSwgMTk4LCA0OSwgMjgsIDE2LCAyMjQsIDE2MCwgNDksIDI4LCAxNiwgCi0gICAgMjE1LCAxOTYsIDQ5LCAyOCwgMTYsIDIyNCwgMTU5LCA0OSwgMjgsIDE2LCAyNDIsIDE2NSwgNDksIDI4LCAxNiwgMjU0LCAKLSAgICAyMiwgNDksIDI4LCAxNiwgMjQ1LCA2OCwgMjU0LCAyMiwgNDksIDI4LCAxNiwgMjI2LCAxMTEsIDIyOSwgMTAwLCA0OSwgMjgsIAotICAgIDE2LCAyMTYsIDE5MCwgMjQ1LCA3NywgNDksIDI4LCAxNiwgMjE2LCAxOTAsIDI0NSwgMzMsIDQ5LCAyOCwgMTYsIDIxNiwgCi0gICAgMTkyLCAyNTQsIDcxLCA0OSwgMjgsIDE2LCAyMTYsIDE4NSwgMjM0LCAyNTMsIDI1NCwgNjMsIDQ5LCAyOCwgMTYsIDIzNCwgCi0gICAgMjA1LCA0OSwgMjgsIDE2LCAyNDUsIDE0NywgNDksIDI4LCAxNiwgMjExLCAxMSwgMjM0LCAyMDIsIDQ5LCAyOCwgMTYsIAotICAgIDIxMSwgMTEsIDI1NCwgMTA0LCA0OSwgMjgsIDE2LCAyMTgsIDE0NywgNDksIDI4LCAxNiwgMjM0LCA0NCwgMjU0LCAxMDQsIAotICAgIDQ5LCAyOCwgMTYsIDI0NywgMjEwLCAyNTQsIDI5LCA0OSwgMjgsIDE2LCAyMzMsIDI0NCwgMjU0LCAyOSwgNDksIDI4LCAxNiwgCi0gICAgMjMzLCAyNDQsIDI1NCwgMTU4LCA0OSwgMjgsIDE2LCAyMzMsIDI0NCwgMjI5LCAxMDAsIDQ5LCAyOCwgMTYsIDI1NCwgNzAsIAotICAgIDIyOSwgMTAwLCA0OSwgMjgsIDE2LCAyNTQsIDcyLCA0OSwgMjgsIDE2LCAyNDcsIDIwOSwgNDksIDI4LCAxNiwgMjE1LCAKLSAgICAyMTEsIDQ5LCAyOCwgMTYsIDIxNiwgMjI1LCA0OSwgMjgsIDE2LCAyMzQsIDgsIDQ5LCAyOCwgMTYsIDIzMywgMzgsIDI0NSwgCi0gICAgMTQyLCAyNTAsIDc5LCA0OSwgMjgsIDE2LCAyMzMsIDM4LCAyNDYsIDUwLCAyNTAsIDgwLCA0OSwgMjgsIDE2LCAyMzMsIDM4LCAKLSAgICAyMTUsIDIxMywgMjUwLCA4MCwgNDksIDI4LCAxNiwgMjMzLCAzOCwgMjE2LCAyMzUsIDI1MCwgODAsIDQ5LCAyOCwgMTYsIAotICAgIDIzMywgMzgsIDIzNiwgMTQsIDI1MCwgNzksIDQ5LCAyOCwgMTYsIDI0MiwgMTY2LCAyMjksIDEwMSwgMjU0LCAxMDQsIDQ5LCAKLSAgICAyOCwgMTYsIDI0MiwgMTY2LCAyMjYsIDUsIDI1NCwgMTgsIDQ5LCAyOCwgMTYsIDI0MiwgMTY2LCAyMjYsIDUsIDI0OCwgMzcsIAotICAgIDQ5LCAyOCwgMTYsIDI0NywgMjMzLCA0OSwgMjgsIDE2LCAyNDcsIDIzNCwgMjI2LCA1LCAyNTQsIDE5LCAyMzQsIDIwMiwgCi0gICAgNDksIDI4LCAxNiwgMjQ3LCAyMzQsIDIyNiwgNSwgMjU0LCAxOSwgMjU0LCAxMDQsIDQ5LCAyOCwgMTYsIDI0NywgMjM0LCAKLSAgICAyMjYsIDUsIDI0OCwgMzcsIDQ5LCAyOCwgMTYsIDIxNSwgMjE3LCA0OSwgMjgsIDE2LCAyNTQsIDIzLCA0OSwgMjgsIDE2LCAKLSAgICAyMzYsIDIxLCA0OSwgMjgsIDE2LCAyNDcsIDI1NCwgNDksIDI4LCAxNiwgMjU0LCAyMjAsIDIyNSwgMywgMjU0LCAyNCwgNDksIAotICAgIDI4LCAxNiwgMjU0LCAyMjAsIDI1NCwgMjEsIDQ5LCAyOCwgMTYsIDI1NCwgMjIwLCAyNTQsIDI0LCA0OSwgMjgsIDE2LCAKLSAgICAyNTQsIDIyMCwgMjMxLCAzOSwgNDksIDI4LCAxNiwgMjU0LCAyMjAsIDIzMSwgNTAsIDQ5LCAyOCwgMTYsIDI1NCwgMjIwLCAKLSAgICAyNDIsIDE2NywgNDksIDI4LCAxNiwgMjU0LCAyMjAsIDI0MiwgMTY0LCA0OSwgMjgsIDE2LCAyNTQsIDIyMCwgMjI1LCAzLCAKLSAgICAyNDIsIDE2NywgNDksIDI4LCAxNiwgMjMxLCAxNTYsIDIyNCwgMTY4LCAyNDAsIDExNCwgNDksIDI4LCAxNiwgMjMxLCAxNTYsIAotICAgIDI1NCwgMTYwLCAyMjQsIDE2OCwgMjQwLCAxMTQsIDQ5LCAyOCwgMTYsIDIzMSwgMTU2LCAyNDgsIDM2LCAyNDAsIDExNCwgCi0gICAgNDksIDI4LCAxNiwgMjMxLCAxNTYsIDI1NCwgMTYwLCAyNDgsIDM2LCAyNDAsIDExNCwgNDksIDI4LCAxNiwgMjMxLCAxNTYsIAotICAgIDIxNSwgMjA2LCAyNDAsIDExNCwgNDksIDI4LCAxNiwgMjMxLCAxNTYsIDIxNSwgMjE4LCA0OSwgMjgsIDE2LCAyMzEsIDE1NiwgCi0gICAgMjE2LCAyMjksIDI0MCwgMTE0LCA0OSwgMjgsIDE2LCAyMzEsIDE1NiwgMjE2LCAyMjksIDIzMywgNDEsIDI0MCwgMTE0LCAKLSAgICA0OSwgMjgsIDE2LCAyMzEsIDE1NiwgMjMzLCA0MSwgMjQwLCAxMTQsIDQ5LCAyOCwgMTYsIDIzMSwgMTU2LCAyMjUsIDQyLCAKLSAgICAyNDAsIDExNCwgNDksIDI4LCAxNiwgMjM1LCAxNzYsIDIxNiwgMjUyLCAyNDAsIDExNSwgNDksIDI4LCAxNiwgMjU0LCA2OCwgCi0gICAgMjE2LCAyNTIsIDI0MCwgMTE1LCA0OSwgMjgsIDE2LCAyNDQsIDE4MCwgMjE2LCAyMjYsIDQ5LCAyOCwgMTYsIDI0NCwgMTgwLCAKLSAgICAyMzAsIDE0OCwgNDksIDI4LCAxNiwgMjQ0LCAxODAsIDI0NywgMjM4LCA0OSwgMjgsIDE2LCAyMzEsIDE1NiwgMjE0LCAxMCwgCi0gICAgMjQwLCAxMTQsIDQ5LCAyOCwgMTYsIDIzMSwgMTU2LCAyMjQsIDE2NywgMjQwLCAxMTQsIDQ5LCAyOCwgMTYsIDIzMSwgMTU2LCAKLSAgICAyMjUsIDQyLCAyMTYsIDIyOSwgMjQwLCAxMTQsIDQ5LCAyOCwgMTYsIDI0MiwgMTYyLCAyMzAsIDMxLCAyNTQsIDcxLCA0OSwgCi0gICAgMjgsIDE2LCAyNDIsIDE2MiwgMjMwLCAzMSwgMjQ3LCAyMDgsIDQ5LCAyOCwgMTYsIDI0NSwgMTU2LCAyMzQsIDI1MywgMjQzLCAKLSAgICAyNDMsIDIxMywgMTI0LCA0OSwgMjgsIDE2LCAyMzYsIDIwLCA0OSwgMjgsIDE2LCAyMzYsIDE4LCA0OSwgMjgsIDE2LCAyNDMsIAotICAgIDI0MywgMjU0LCAzMCwgMjQ4LCAzNSwgMjQwLCAxMTMsIDQ5LCAyOCwgMTYsIDI0MywgMjQzLCAyNDcsIDI1MiwgMTkxLCA0OSwgCi0gICAgMjgsIDE2LCAyNDMsIDI0MywgMjQ3LCAyNTIsIDIyOSwgMjA4LCA0OSwgMjgsIDE2LCAyNDMsIDI0MywgMjI5LCAyMDMsIAotICAgIDI0MCwgMTE0LCA0OSwgMjgsIDE2LCAyNDMsIDI0MywgMjQ3LCAyNTIsIDI0OCwgMTEsIDQ5LCAyOCwgMTYsIDI0MywgMjQzLCAKLSAgICAyMTksIDEwNCwgMjQ3LCAyNTEsIDI0OCwgMTEsIDQ5LCAyOCwgMTYsIDI0MywgMjQzLCAyNDcsIDI1MiwgMjM0LCAxODgsIAotICAgIDQ5LCAyOCwgMTYsIDI0MywgMjQzLCAyNDcsIDI1MiwgMjEwLCAyMywgNDksIDI4LCAxNiwgMjQzLCAyNDMsIDI0NywgMjUyLCAKLSAgICAyMjgsIDIzOSwgMjM0LCAyMDIsIDQ5LCAyOCwgMTYsIDI0MywgMjQzLCAyNDcsIDI1MiwgMjI4LCAyMzksIDI1NCwgMTA0LCAKLSAgICA0OSwgMjgsIDE2LCAyNDMsIDI0MywgMjMxLCAxOTYsIDI1MCwgODEsIDI0NywgMjM4LCA0OSwgMjgsIDE2LCAyNDMsIDI0MywgCi0gICAgMjMxLCAxOTYsIDI1MCwgODEsIDIzMCwgMTQ4LCA0OSwgMjgsIDE2LCAyNDQsIDEzMCwgMjE5LCAxMDQsIDI1MCwgODEsIAotICAgIDIxNCwgOSwgNDksIDI4LCAxNiwgMjQzLCAyNDMsIDIxOSwgMTA0LCAyNTAsIDgxLCAyMTcsIDE4MCwgNDksIDI4LCAxNiwgCi0gICAgMjQzLCAyNDMsIDIyOSwgMTAyLCA0OSwgMjgsIDE2LCAyNTAsIDgyLCAyMDksIDI0OSwgNDksIDI4LCAxNiwgMjUwLCA4MiwgCi0gICAgMjM0LCA0MiwgNDksIDI4LCAxNiwgMjUwLCA4MiwgMjE5LCAxMSwgNDksIDI4LCAxNiwgMjQzLCAyNDMsIDI0MCwgMTYxLCAKLSAgICAyMTEsIDEwLCAyMTYsIDIzMCwgNDksIDI4LCAxNiwgMjQzLCAyNDMsIDI0NSwgMTU3LCAyNTQsIDk0LCA0OSwgMjgsIDE2LCAKLSAgICAyMTEsIDEwLCAyMTUsIDIwNywgNDksIDI4LCAxNiwgMjQ3LCAyNDYsIDIxNSwgMjA3LCA0OSwgMjgsIDE2LCAyNDcsIDI0NiwgCi0gICAgMjE2LCAyMzAsIDQ5LCAyOCwgMTYsIDI0NywgMjQ2LCAyNTQsIDczLCAyNDYsIDUwLCAyNDcsIDE0NywgNDksIDI4LCAxNiwgCi0gICAgMjQ3LCAyNDYsIDIzMCwgMTQ2LCAyMTYsIDIzNCwgMjQ3LCAxNDcsIDQ5LCAyOCwgMTYsIDI0NywgMjQ2LCAyNDcsIDIzMCwgCi0gICAgMjQ1LCA0NCwgMjQ3LCAxNDcsIDQ5LCAyOCwgMTYsIDI0NywgMjQ2LCAyMTUsIDIxNSwgMjI2LCAyMTUsIDI0NywgMTQ3LCAKLSAgICA0OSwgMjgsIDE2LCAyMTEsIDEwLCAyNTQsIDczLCAyNDYsIDUwLCAyNDcsIDE0NywgNDksIDI4LCAxNiwgMjExLCAxMCwgCi0gICAgMjMwLCAxNDYsIDIxNiwgMjM0LCAyNDcsIDE0NywgNDksIDI4LCAxNiwgMjExLCAxMCwgMjQ3LCAyMzAsIDI0NSwgNDQsIAotICAgIDI0NywgMTQ3LCA0OSwgMjgsIDE2LCAyMTEsIDEwLCAyMTUsIDIxNSwgMjI2LCAyMTUsIDI0NywgMTQ3LCA0OSwgMjgsIDE2LCAKLSAgICAyNDMsIDU2LCAyNDcsIDI0NSwgNDksIDI4LCAxNiwgMjQzLCA1NiwgMjExLCA5LCA0OSwgMjgsIDE2LCAyNDcsIDI1MywgCi0gICAgMjU0LCA3MywgMjMwLCAyMDQsIDQ5LCAyOCwgMTYsIDI0NywgMjUzLCAyNTQsIDczLCAyMzEsIDc4LCA0OSwgMjgsIDE2LCAKLSAgICAyNDcsIDI1MywgMjQ3LCAyMDksIDQ5LCAyOCwgMTYsIDI0NywgMjUzLCAyMTYsIDE4MywgNDksIDI4LCAxNiwgMjE5LCAxNjUsIAotICAgIDIxNiwgMTgzLCA0OSwgMjgsIDE2LCAyMTksIDE2NSwgMjE2LCAxODQsIDI0NywgMTk0LCA0OSwgMjgsIDE2LCAyMTksIDE2NSwgCi0gICAgMjE2LCAxODQsIDIxNSwgMjA4LCA0OSwgMjgsIDE2LCAyMTksIDE2NSwgMjE2LCAxODQsIDIxNiwgMjIzLCA0OSwgMjgsIDE2LCAKLSAgICAyMTksIDE2NSwgMjUzLCAyNTIsIDQ5LCAyOCwgMTYsIDIxOSwgMTY1LCAyNTMsIDI1MywgMjQ3LCAxOTQsIDQ5LCAyOCwgMTYsIAotICAgIDIxOSwgMTY1LCAyNTMsIDI1MywgMjE1LCAyMDgsIDQ5LCAyOCwgMTYsIDIxOSwgMTY1LCAyNTMsIDI1MywgMjE2LCAyMjMsIAotICAgIDQ5LCAyOCwgMTYsIDI0NywgMjMxLCAyNDMsIDM3LCA0OSwgMjgsIDE2LCAyNDcsIDIzNywgMjI2LCAxMzgsIDQ5LCAyOCwgCi0gICAgMTYsIDIxOCwgMTM5LCA0OSwgMjgsIDE2LCAyNTQsIDE1LCAxOTEsIDQ5LCAyOCwgMTYsIDI1NCwgMTUsIDIxMywgMTI0LCAKLSAgICA0OSwgMjgsIDE2LCAyNTQsIDE1LCAyNDMsIDE0MiwgNDksIDI4LCAxNiwgMjU0LCAxNSwgMjQ4LCAxMSwgNDksIDI4LCAxNiwgCi0gICAgMjU0LCAxNSwgMjM0LCAxODgsIDQ5LCAyOCwgMTYsIDI1NCwgMTUsIDIxMCwgMjMsIDQ5LCAyOCwgMTYsIDI1NCwgMTUsIAotICAgIDIyOCwgMjM4LCA0OSwgMjgsIDE2LCAyMzQsIDE2OCwgMjI5LCAxMDEsIDIzMSwgNDksIDQ5LCAyOCwgMTYsIDIzNCwgMTY5LCAKLSAgICAyMjksIDEwMSwgMjMxLCA0OSwgNDksIDI4LCAxNiwgMjM0LCAxNjgsIDIyOSwgMTAxLCAyMzQsIDIwMiwgNDksIDI4LCAxNiwgCi0gICAgMjM0LCAxNjksIDIyOSwgMTAxLCAyMzQsIDIwMiwgNDksIDI4LCAxNiwgMjM0LCA0NCwgMjM0LCAyMDIsIDQ5LCAyOCwgMTYsIAotICAgIDI0MiwgMTY2LCAyMjksIDEwMSwgMjM0LCAyMDIsIDI4LCAxNiwgMjE5LCAxNTcsIDI1MiwgMTQzLCAyOCwgMTYsIDUyLCAKLSAgICAyNTIsIDE0MywgMjgsIDE2LCA0MCwgMjUyLCAxNDMsIDI4LCAxNiwgMjIzLCA1MywgNDAsIDI1MiwgMTQzLCAyOCwgMTYsIAotICAgIDI0OCwgMTYzLCAyNTIsIDE0MywgMjgsIDE2LCAyMTksIDI1MywgMjUyLCAxNDMsIDI4LCAxNiwgNDMsIDIyMywgODAsIDUwLCAKLSAgICAyOCwgMTYsIDQ0LCAyMjMsIDgwLCA1MCwgMjgsIDE2LCAyMjMsIDgwLCAyNDcsIDEyNiwgMjgsIDE2LCAyNDgsIDIwNCwgCi0gICAgMjIxLCAxNjUsIDI4LCAxNiwgMjQ4LCAyMzAsIDI1MSwgMSwgMjgsIDE2LCAyMjEsIDE2NSwgMjgsIDE2LCAyNDksIDI0MiwgCi0gICAgMjgsIDE2LCAyMjMsIDc4LCAyNDQsIDExOSwgMjgsIDE2LCAyMjMsIDc4LCAyNDQsIDExOCwgMjgsIDE2LCAyMjMsIDc4LCAKLSAgICAyNDQsIDExNywgMjgsIDE2LCAyNDQsIDEzOSwgMjgsIDE2LCAyNDQsIDE0MCwgNTEsIDI4LCAxNiwgMjUxLCAxNTYsIDc5LCAKLSAgICAyOCwgMTYsIDI1MSwgMzIsIDI4LCAxNiwgMjUxLCAxNjcsIDI4LCAxNiwgMTI3LCAyOCwgMTYsIDIyNiwgMTk3LCAyMTgsIAotICAgIDE2NSwgMjgsIDE2LCAyMTUsIDU3LCAyMTgsIDE2NSwgMjgsIDE2LCAyMTYsIDE0MywgMjE4LCAxNjUsIDI4LCAxNiwgMjQ0LCAKLSAgICAxOCwgMjE4LCAxNjUsIDI4LCAxNiwgMjQ0LCA4OCwgMjE4LCAxNjUsIDI4LCAxNiwgMjE5LCAxMjYsIDIxOCwgMTY1LCAyOCwgCi0gICAgMTYsIDIxOSwgMTI0LCAyNDQsIDIsIDI4LCAxNiwgMjQ0LCAxNiwgMjQ0LCAyLCAyOCwgMTYsIDI0MywgMjEwLCAyNTAsIDIyLCAKLSAgICAyOCwgMTYsIDI0MywgMjEwLCAyNTAsIDIzLCAyMjYsIDE0MCwgMjU0LCAxNTAsIDI4LCAxNiwgMjQzLCAyMTAsIDI1MCwgMjMsIAotICAgIDIyNiwgMTQwLCAyNTIsIDEzMCwgMjgsIDE2LCAyNTEsIDc1LCAyNTAsIDIyLCAyOCwgMTYsIDI0NSwgMTUsIDI1MCwgMjIsIAotICAgIDI4LCAxNiwgMjQ1LCAxNSwgMjUwLCAyMywgMjI2LCAxNDAsIDI1NCwgMTUwLCAyOCwgMTYsIDI0NSwgMTUsIDI1MCwgMjMsIAotICAgIDIyNiwgMTQwLCAyNTIsIDEzMCwgMjgsIDE2LCAyNDYsIDkxLCAyNTAsIDIxLCAyOCwgMTYsIDI0NiwgOTEsIDI1MCwgMjAsIAotICAgIDI4LCAxNiwgMjMwLCA5MCwgMjMxLCA5NSwgMjIzLCA2NCwgMjgsIDE2LCA1MiwgMjIwLCA3NywgMjgsIDE2LCA1MiwgMjQ0LCAKLSAgICA3MywgMjgsIDE2LCAyNDQsIDc0LCAyMTQsIDE2MywgMjgsIDE2LCAyNDQsIDc0LCAyNDYsIDExNCwgMjgsIDE2LCAyMjksIAotICAgIDE5MywgMjE0LCAxNjMsIDI4LCAxNiwgMjI5LCAxOTMsIDI0NiwgMTE0LCAyOCwgMTYsIDIyMCwgNzgsIDIxNCwgMTYzLCAyOCwgCi0gICAgMTYsIDIyMCwgNzgsIDI0NiwgMTE0LCAyOCwgMTYsIDIyNCwgMjUsIDEzOCwgMjIwLCA3NywgMjgsIDE2LCAyMjQsIDI1LCAKLSAgICAxMzgsIDI0NCwgNzMsIDI4LCAxNiwgMjQ5LCAyMjQsIDIxNiwgODgsIDI4LCAxNiwgMjQ5LCA5MywgMjE2LCA4OCwgMjgsIAotICAgIDE2LCAyMjYsIDE0MCwgMjU0LCAxNTAsIDI4LCAxNiwgMjI2LCAxNDAsIDI1MiwgMTMwLCAyOCwgMTYsIDIyNCwgNywgMjU0LCAKLSAgICAxNTAsIDI4LCAxNiwgMjI0LCA3LCAyNTIsIDEzMCwgMjgsIDE2LCAyMzAsIDkzLCAyMjMsIDY0LCAyOCwgMTYsIDIxMSwgCi0gICAgMjUxLCAyMjMsIDY0LCAyOCwgMTYsIDE2MywgMjIzLCA2NCwgMjgsIDE2LCAyMjQsIDI1LCAyMjMsIDY0LCAyOCwgMTYsIAotICAgIDI0NSwgMTk3LCAyMjMsIDY0LCAyOCwgMTYsIDIxOSwgMTIwLCAyMjMsIDY0LCAyOCwgMTYsIDIxNiwgMTYxLCAyMjMsIDY0LCAKLSAgICAyOCwgMTYsIDIxOSwgMTEyLCAyMjMsIDY0LCAyOCwgMTYsIDEyMywgMjQwLCAyMTgsIDIxNSwgNzEsIDIyMywgNjQsIDI4LCAKLSAgICAxNiwgMjExLCAxNzksIDIyOCwgNDgsIDI4LCAxNiwgOTYsIDIyOCwgNDgsIDI4LCAxNiwgMjUwLCA0NCwgMjExLCAxNzksIAotICAgIDIyOCwgNDgsIDI4LCAxNiwgNDIsIDIyOCwgNDksIDIxMSwgMjUzLCAyOCwgMTYsIDQyLCAyMjgsIDQ5LCAyNTEsIDIyOSwgCi0gICAgMjgsIDE2LCAyMTUsIDIyNywgMjI4LCA0OSwgMTIwLCAyMTEsIDI1MywgMjgsIDE2LCAyMTUsIDIyNywgMjI4LCA0OSwgMTIwLCAKLSAgICAyNTEsIDIyOSwgMjgsIDE2LCAyMTUsIDIyNywgMjI4LCA0OSwgNDMsIDIxMSwgMjUzLCAyOCwgMTYsIDIxNSwgMjI3LCAyMjgsIAotICAgIDQ5LCA0MywgMjUxLCAyMjksIDI4LCAxNiwgMjE1LCAyMjcsIDIyOCwgNDksIDQ0LCAyMTEsIDI1MywgMjgsIDE2LCAyMTUsIAotICAgIDIyNywgMjI4LCA0OSwgNDQsIDI1MSwgMjI5LCAyOCwgMTYsIDIxNSwgMjI3LCAyMjgsIDQ5LCAxMjQsIDIxMSwgMjUzLCAyOCwgCi0gICAgMTYsIDIxNSwgMjI3LCAyMjgsIDQ5LCAxMjQsIDI1MSwgMjI5LCAyOCwgMTYsIDIxNSwgMjI3LCAyMjgsIDQ5LCAxMjAsIDQ0LCAKLSAgICAyMTEsIDI1MywgMjgsIDE2LCAyMTUsIDIyNywgMjI4LCA0OSwgMTIwLCA0NCwgMjUxLCAyMjksIDI4LCAxNiwgMjMwLCAxMzQsIAotICAgIDIyOCwgNDksIDIxMSwgMjUzLCAyOCwgMTYsIDIzMCwgMTM0LCAyMjgsIDQ5LCAyNTEsIDIyOSwgMjgsIDE2LCAyMTUsIDIyNCwgCi0gICAgMjI4LCA0OSwgMTI0LCAyMTEsIDI1MywgMjgsIDE2LCAyMTUsIDIyNCwgMjI4LCA0OSwgMTI0LCAyNTEsIDIyOSwgMjgsIDE2LCAKLSAgICAyMjYsIDgsIDIyOCwgNDgsIDI4LCAxNiwgMjEzLCAxMzIsIDIyOCwgNDgsIDI4LCAxNiwgMjI4LCA0OSwgMjUxLCAyMjksIAotICAgIDI4LCAxNiwgMjI3LCAyMDcsIDIyOCwgNDgsIDI4LCAxNiwgMjQ5LCAyNDksIDIyOCwgNDksIDIxMSwgMjUzLCAyOCwgMTYsIAotICAgIDI0OSwgMjQ5LCAyMjgsIDQ5LCAyNTEsIDIyOSwgMjgsIDE2LCAyNTEsIDE1NCwgMjgsIDE2LCAyMTEsIDI1MSwgMjI4LCA1MiwgCi0gICAgMjgsIDE2LCAxNjMsIDIyOCwgNTIsIDI4LCAxNiwgMjI0LCAyNSwgMjI4LCA1MiwgMjgsIDE2LCAyNDUsIDE5NywgMjI4LCAKLSAgICA1MiwgMjgsIDE2LCAyMTksIDEyMCwgMjI4LCA1MiwgMjgsIDE2LCAyMTYsIDE2MSwgMjI4LCA1MiwgMjgsIDE2LCAyMTksIAotICAgIDExMiwgMjI4LCA1MiwgMjgsIDE2LCAxMjMsIDI0MCwgMjE4LCAyMTUsIDcxLCAyMjgsIDUyLCAyOCwgMTYsIDM4LCAyMTgsIAotICAgIDE0MSwgMjgsIDE2LCAzOCwgMjE4LCAyNDIsIDIxOCwgMTQxLCAyOCwgMTYsIDM4LCAyMTUsIDIzNSwgMjgsIDE2LCAzOCwgCi0gICAgMjE1LCAyMzQsIDI4LCAxNiwgMzgsIDIxNSwgMjMzLCAyOCwgMTYsIDI0NCwgMTA5LCAyMTUsIDIzNSwgMjgsIDE2LCAyNDQsIAotICAgIDEwOSwgMjE1LCAyMzQsIDI4LCAxNiwgMjQ0LCAxMDksIDIxNSwgMjMzLCAyOCwgMTYsIDM4LCAyNTMsIDE5NywgMjQ3LCAKLSAgICAxMjgsIDI4LCAxNiwgMzgsIDI0NCwgODAsIDI4LCAxNiwgMzgsIDI0NCwgNzksIDI4LCAxNiwgMzgsIDI0NCwgNzgsIDI4LCAKLSAgICAxNiwgMzgsIDI0NCwgNzcsIDI4LCAxNiwgMzgsIDI0NCwgNzYsIDI4LCAxNiwgMjUyLCA2NiwgMjUyLCA4MiwgMjgsIDE2LCAKLSAgICAyNDUsIDE1MSwgMjUyLCA4MiwgMjgsIDE2LCAyNTIsIDY2LCAyMTYsIDExMiwgMjgsIDE2LCAyNDUsIDE1MSwgMjE2LCAxMTIsIAotICAgIDI4LCAxNiwgMjUyLCA2NiwgMjE5LCA4MiwgMjgsIDE2LCAyNDUsIDE1MSwgMjE5LCA4MiwgMjgsIDE2LCAyNTIsIDY2LCAKLSAgICAyMjUsIDExOCwgMjgsIDE2LCAyNDUsIDE1MSwgMjI1LCAxMTgsIDI4LCAxNiwgMzgsIDI1NSwgMjMsIDI4LCAxNiwgMzgsIAotICAgIDIxOCwgMTY3LCAyOCwgMTYsIDM4LCAyMTYsIDIzOSwgMjgsIDE2LCAzOCwgMjE4LCAxNjgsIDI4LCAxNiwgMzgsIDIzMSwgCi0gICAgMTY3LCAyOCwgMTYsIDM4LCAyMzEsIDE2NiwgMjgsIDE2LCAzOCwgMjU1LCAyMiwgMjgsIDE2LCAzOCwgMjMyLCAxMTgsIDI4LCAKLSAgICAxNiwgMjU0LCA2LCAyMTQsIDE2MywgMjgsIDE2LCAyNTQsIDYsIDI0NiwgMTE0LCAyOCwgMTYsIDM4LCAyNDcsIDE0MywgMjgsIAotICAgIDE2LCAzOCwgMjIyLCAyMzQsIDI4LCAxNiwgMzgsIDI0NCwgNjYsIDI4LCAxNiwgMzgsIDIxOSwgNzgsIDI4LCAxNiwgMzgsIAotICAgIDI1MiwgNDYsIDI4LCAxNiwgMzgsIDUyLCAyMTYsIDIwLCAyOCwgMTYsIDM4LCAyMTUsIDIxMiwgMjE2LCAyMCwgMjgsIDE2LCAKLSAgICAyMjIsIDIzOCwgMjgsIDE2LCAyMTgsIDc2LCAyOCwgMTYsIDIxMCwgMTU5LCAyOCwgMTYsIDIyNSwgMTEwLCAyOCwgMTYsIAotICAgIDIzMSwgMzAsIDI4LCAxNiwgMjQ0LCAyNSwgMjgsIDE2LCAyNDksIDE0NiwgMjgsIDE2LCAyNDgsIDg2LCAyOCwgMTYsIDI0MiwgCi0gICAgMTU3LCAyMjgsIDUzLCAyMTksIDk3LCAyOCwgMTYsIDI0MiwgMTU3LCAyMjgsIDUzLCAyMjgsIDgwLCAyMTksIDk3LCAyOCwgCi0gICAgMTYsIDIxNiwgMSwgMjgsIDE2LCAyMTUsIDk1LCAyOCwgMTYsIDIzNSwgMjAwLCAyMTUsIDk1LCAyOCwgMTYsIDIxNSwgOTYsIAotICAgIDIxOSwgOTcsIDI4LCAxNiwgMjE1LCA5NiwgMjE0LCAxNjMsIDI4LCAxNiwgMjI2LCAxNTIsIDIxOCwgMTA0LCAyOCwgMTYsIAotICAgIDIyNiwgMTUyLCAyMTgsIDEwMSwgMjgsIDE2LCAyMjYsIDE1MiwgMjE4LCAxMDAsIDI4LCAxNiwgMjI2LCAxNTIsIDIxOCwgCi0gICAgOTksIDI4LCAxNiwgMjI2LCAxNTIsIDIxOCwgOTgsIDI4LCAxNiwgMjI2LCAxNTIsIDIxOCwgOTcsIDI4LCAxNiwgMjI2LCAKLSAgICAxNTIsIDIxOCwgOTYsIDI4LCAxNiwgMjI2LCAxNTIsIDIxOCwgOTUsIDI4LCAxNiwgMjI2LCAxNTIsIDIxOCwgOTQsIDI4LCAKLSAgICAxNiwgMjI2LCAxNTIsIDIxOCwgMTAzLCAyOCwgMTYsIDIyNiwgMTUyLCAyMTgsIDEwMiwgMjgsIDE2LCAyNDEsIDI1MiwgMjgsIAotICAgIDE2LCAyMjksIDExMCwgMjgsIDE2LCAyNDUsIDE1MSwgNjQsIDIxOCwgMTM1LCAyOCwgMTYsIDI0OCwgNzksIDIxOSwgOTcsIAotICAgIDI4LCAxNiwgMzgsIDEyNCwgMjUxLCAxNzcsIDI4LCAxNiwgMzgsIDEyMCwgMjUxLCAxNzcsIDI4LCAxNiwgMzgsIDI0MiwgNywgCi0gICAgMjgsIDE2LCAzOCwgMjE5LCA2OSwgMjI1LCA0NiwgMjgsIDE2LCAyMjUsIDIxOSwgNzksIDI4LCAxNiwgMjI1LCAyMTksIAotICAgIDEyMCwgNzksIDI4LCAxNiwgMTYzLCAyMjUsIDIxOSwgNzksIDI4LCAxNiwgMjQyLCAxODksIDIxNCwgMTYzLCAyOCwgMTYsIAotICAgIDI0MiwgMTg5LCAyNDYsIDExNCwgMjgsIDE2LCAyLCAyNDQsIDEwOCwgMjgsIDE2LCAyNDgsIDE4OCwgMjgsIDE2LCAyNDgsIAotICAgIDE4OSwgMjU0LCAxNjMsIDI4LCAxNiwgMjMxLCAxMzgsIDI4LCAxNiwgMjMyLCAxMzUsIDI4LCAxNiwgMjUxLCAxNTEsIDI4LCAKLSAgICAxNiwgMjIwLCAxNTYsIDIxMSwgMjUzLCAyOCwgMTYsIDIyMCwgMTU2LCAyNTEsIDIyOSwgMjgsIDE2LCAyMzAsIDE4OSwgMjgsIAotICAgIDE2LCAyMzAsIDE5MCwgMjUxLCAyMjksIDI4LCAxNiwgMjIwLCAxNTAsIDIxMSwgMjUzLCAyOCwgMTYsIDIyMCwgMTUwLCAKLSAgICAyNTEsIDIyOSwgMjgsIDE2LCAyNDMsIDIyNywgMjExLCAyNTMsIDI4LCAxNiwgMjQzLCAyMjcsIDI1MSwgMjI5LCAyOCwgMTYsIAotICAgIDIzMiwgMTM2LCAyMjUsIDE4MywgMjIzLCA2NCwgMjgsIDE2LCAyMzIsIDEzNiwgMjM2LCAxMSwgMjIzLCA2NCwgMjgsIDE2LCAKLSAgICAyNTEsIDE1MiwgMjIzLCA2NCwgMjgsIDE2LCAyMjAsIDE1NiwgMjIzLCA2NCwgMjgsIDE2LCAyMzAsIDE5MCwgMjIzLCA2NCwgCi0gICAgMjgsIDE2LCAyMjAsIDE1MCwgMjIzLCA2NCwgMjgsIDE2LCAyMTYsIDI1MCwgMjI1LCAxODEsIDI0OSwgMTE1LCAyMjQsIAotICAgIDE3NywgMjI1LCAxODIsIDI4LCAxNiwgMjE2LCAyNTAsIDIyNSwgMTgxLCAyNDksIDExNSwgMjI0LCAxNzcsIDIzNiwgMTAsIAotICAgIDI4LCAxNiwgMjE2LCAyNTAsIDIyNSwgMTgxLCAyNDksIDExNSwgMjI0LCAxNzcsIDIyNSwgMTgzLCAyNDcsIDIxOSwgMjgsIAotICAgIDE2LCAyMTYsIDI1MCwgMjM2LCA5LCAyNDksIDExNSwgMjI0LCAxNzcsIDIyNSwgMTgyLCAyOCwgMTYsIDIxNiwgMjUwLCAKLSAgICAyMzYsIDksIDI0OSwgMTE1LCAyMjQsIDE3NywgMjM2LCAxMCwgMjgsIDE2LCAyMTYsIDI1MCwgMjM2LCA5LCAyNDksIDExNSwgCi0gICAgMjI0LCAxNzcsIDIzNiwgMTEsIDI0NywgMjE5LCAyOCwgMTYsIDIxNiwgMjUwLCAyMzYsIDksIDI0OSwgMTE1LCAyMjQsIAotICAgIDE3NywgMjM2LCAxMSwgMjQ3LCAyMTgsIDI4LCAxNiwgMjE2LCAyNTAsIDIzNiwgOSwgMjQ5LCAxMTUsIDIyNCwgMTc3LCAKLSAgICAyMzYsIDExLCAyNDcsIDIxNywgMjgsIDE2LCAyNDksIDE0MSwgMjgsIDE2LCAyNDIsIDEzMywgMjUxLCA3NSwgMjUwLCAyMiwgCi0gICAgMjgsIDE2LCAyNDIsIDEzMywgMjQ1LCAxNSwgMjUwLCAyMiwgMjgsIDE2LCA0MiwgMjUzLCAxNjYsIDI4LCAxNiwgMjEzLCAKLSAgICAxNTEsIDI4LCAxNiwgMjI1LCAxNywgMjgsIDE2LCAyNTAsIDEzLCAyOCwgMTYsIDIyMSwgMjA1LCAyOCwgMTYsIDI1MCwgMTcsIAotICAgIDI4LCAxNiwgMjE2LCA4LCAyOCwgMTYsIDIyNCwgMjQ1LCAyOCwgMTYsIDIyNCwgMjQ2LCAyNDQsIDY4LCAyOCwgMTYsIDIyMSwgCi0gICAgMjA2LCAyNDQsIDY4LCAyOCwgMTYsIDIxNiwgOSwgMjIzLCA2MSwgMjgsIDE2LCAyMjUsIDE2NiwgMjE4LCA2NywgMjYsIAotICAgIDIxMywgMTM3LCAxODksIDIxNywgMjMwLCAyNiwgMjEzLCAxMzcsIDE4OSwgMjE3LCAyMTksIDI2LCAyMTMsIDEzNywgMTg5LCAKLSAgICAyMTcsIDIwOSwgMjYsIDIxMywgMTM3LCAxODksIDIxNywgMjAyLCAyNiwgMjEzLCAxMzcsIDE4OSwgMjE3LCAxOTQsIDI2LCAKLSAgICAyMTMsIDEzNywgMTg5LCAyMTcsIDE4OCwgMjYsIDIxMywgMTM3LCAxODksIDIxNywgMTg3LCAyNiwgMjEzLCAxMzcsIDE4OSwgCi0gICAgMjE3LCAxODYsIDI2LCAyMTMsIDEzNywgMTg5LCAyMTcsIDE4NSwgMjYsIDIxMywgMTM3LCAxODksIDIxNywgMjI5LCAyNiwgCi0gICAgMjEzLCAxMzcsIDE4OSwgMjE3LCAyMjgsIDI2LCAyMTMsIDEzNywgMTg5LCAyMTcsIDIyNywgMjYsIDIxMywgMTM3LCAxODksIAotICAgIDIxNywgMjI2LCAyNiwgMjEzLCAxMzcsIDE4OSwgMjE3LCAyMjUsIDI2LCAyMTMsIDEzNywgMTg5LCAyMTcsIDIyNCwgMjYsIAotICAgIDIxMywgMTM3LCAxODksIDIxNywgMjIzLCAyNiwgMjEzLCAxMzcsIDE4OSwgMjE3LCAyMjIsIDI2LCAyMTMsIDEzNywgMTg5LCAKLSAgICAyMTcsIDIyMSwgMjYsIDIxMywgMTM3LCAxODksIDIxNywgMjIwLCAyNiwgMjEzLCAxMzcsIDE4OSwgMjE3LCAyMTgsIDI2LCAKLSAgICAyMTMsIDEzNywgMTg5LCAyMTcsIDIxNywgMjYsIDIxMywgMTM3LCAxODksIDIxNywgMjE2LCAyNiwgMjEzLCAxMzcsIDE4OSwgCi0gICAgMjE3LCAyMTUsIDI2LCAyMTMsIDEzNywgMTg5LCAyMTcsIDIxNCwgMjYsIDIxMywgMTM3LCAxODksIDIxNywgMTkzLCAyNiwgCi0gICAgMjEzLCAxMzcsIDE4OSwgMjE3LCAxOTIsIDI2LCAyMTMsIDEzNywgMTg5LCAyMTcsIDE5MSwgMjYsIDIxMywgMTM3LCAxODksIAotICAgIDIxNywgMTkwLCAyNiwgMjEzLCAxMzcsIDE4OSwgMjE3LCAxODksIDI2LCAyMzUsIDIyMSwgMTg5LCAyMTcsIDIzMCwgMjYsIAotICAgIDIzNSwgMjIxLCAxODksIDIxNywgMjE5LCAyNiwgMjM1LCAyMjEsIDE4OSwgMjE3LCAyMDIsIDI2LCAyMzUsIDIyMSwgMTg5LCAKLSAgICAyMTcsIDE5NCwgMjYsIDIzNSwgMjIxLCAxODksIDIxNywgMTg3LCAyNiwgMjM1LCAyMjEsIDE4OSwgMjE3LCAxODYsIDI2LCAKLSAgICAyMzUsIDIyMSwgMTg5LCAyMTcsIDIyOCwgMjYsIDIzNSwgMjIxLCAxODksIDIxNywgMjI3LCAyNiwgMjM1LCAyMjEsIDE4OSwgCi0gICAgMjE3LCAyMjYsIDI2LCAyMzUsIDIyMSwgMTg5LCAyMTcsIDIyNSwgMjYsIDIzNSwgMjIxLCAxODksIDIxNywgMjIyLCAyNiwgCi0gICAgMjM1LCAyMjEsIDE4OSwgMjE3LCAyMjEsIDI2LCAyMzUsIDIyMSwgMTg5LCAyMTcsIDIyMCwgMjYsIDIzNSwgMjIxLCAxODksIAotICAgIDIxNywgMjE1LCAyNiwgMjM1LCAyMjEsIDE4OSwgMjE3LCAyMTQsIDI2LCAyMzUsIDIyMSwgMTg5LCAyMTcsIDIxMywgMjYsIAotICAgIDIzNSwgMjIxLCAxODksIDIxNywgMjEyLCAyNiwgMjM1LCAyMjEsIDE4OSwgMjE3LCAyMTEsIDI2LCAyMzUsIDIyMSwgMTg5LCAKLSAgICAyMTcsIDIxMCwgMjYsIDIzNSwgMjIxLCAxODksIDIxNywgMjA4LCAyNiwgMjM1LCAyMjEsIDE4OSwgMjE3LCAyMDcsIDI2LCAKLSAgICAyMzUsIDIyMSwgMTg5LCAyMTcsIDIwNiwgMjYsIDIzNSwgMjIxLCAxODksIDIxNywgMjA1LCAyNiwgMjM1LCAyMjEsIDE4OSwgCi0gICAgMjE3LCAyMDQsIDI2LCAyMzUsIDIyMSwgMTg5LCAyMTcsIDIwMywgMjYsIDIzNSwgMjIxLCAxODksIDIxNywgMjAxLCAyNiwgCi0gICAgMjM1LCAyMjEsIDE4OSwgMjE3LCAyMDAsIDI2LCAyMzUsIDIyMSwgMTg5LCAyMTcsIDE5OSwgMjYsIDIzNSwgMjIxLCAxODksIAotICAgIDIxNywgMTk4LCAyNiwgMjM1LCAyMjEsIDE4OSwgMjE3LCAxOTcsIDI2LCAyMzUsIDIyMSwgMTg5LCAyMTcsIDE5NiwgMjYsIAotICAgIDIzNSwgMjIxLCAxODksIDIxNywgMTk1LCAyNiwgMjM1LCAyMjEsIDE4OSwgMjE3LCAxOTMsIDI2LCAyMzUsIDIyMSwgMTg5LCAKLSAgICAyMTcsIDE5MiwgMjYsIDIzNSwgMjIxLCAxODksIDIxNywgMTkxLCAyNiwgMjM1LCAyMjEsIDE4OSwgMjE3LCAxOTAsIDI2LCAKLSAgICAyMzUsIDIyMSwgMTg5LCAyMTcsIDE4OSwgMzgsIDI2LCAyOCwgMjE1LCAyMDksIDM4LCAyNiwgMjgsIDIxNiwgMjI0LCAzOCwgCi0gICAgMjYsIDI4LCAyMjUsIDE5MSwgMjYsIDI4LCAyMzMsIDM3LCAyMzAsIDE0NywgMzEsIDI0NSwgMjMxLCAyNDcsIDIzMiwgMzEsIAotICAgIDI0MSwgMjI5LCAyNDUsIDIzMSwgMjQ3LCAyMzIsIDMxLCAyNDAsIDIyMSwgMjQ1LCAyMzEsIDI0NywgMjMyLCAzMSwgMjQ1LCAKLSAgICAyMzAsIDI0MSwgMjMwLCAyNDcsIDIzMiwgMzEsIDI0NSwgMjMwLCAyNDAsIDIyMCwgMjQ3LCAyMzIsIDMxLCAyNDUsIDIzMSwgCi0gICAgMTgwLCAzMSwgMjUwLCAxODIsIDE4MCwgMzEsIDI0MywgMjM2LCAyNTAsIDQzLCAxODAsIDMxLCAyMzAsIDE4MiwgMTgwLCAKLSAgICAzMSwgMjUyLCAxMzgsIDE4MCwgMzEsIDIzNCwgMTg1LCAyMTksIDgxLCAxODAsIDMxLCAyNDksIDE4NywgMTgwLCAzMSwgCi0gICAgMjUzLCAyNDEsIDE4MCwgMzEsIDIyNiwgMTY3LCAxODAsIDMxLCAyNTEsIDE2MSwgMjI2LCAxMzQsIDE4MCwgMzEsIDI0OCwgCi0gICAgODEsIDE3NywgMjQ3LCAxODcsIDE4MCwgMzEsIDI0NywgMTg0LCAxODAsIDMxLCAyMTAsIDIyMiwgMTgwLCAzMSwgMjM1LCAKLSAgICAyNTQsIDE4MCwgMzEsIDIyNSwgMjAwLCAxODAsIDMxLCAyMjMsIDEzMCwgMTgwLCAzMSwgMjQ5LCAxOTcsIDE4MCwgMzEsIAotICAgIDI0MSwgNjcsIDI1MiwgMTkyLCAxODAsIDMxLCAyMTIsIDU5LCAxODAsIDMxLCAyNDQsIDQ3LCAxODAsIDMxLCAyNTQsIDI1NSwgCi0gICAgMTgwLCAzMSwgMjIzLCA5MiwgMTgwLCAzMSwgMjIzLCA2OCwgMTgwLCAzMSwgMjQ1LCAyMjksIDE4MCwgMzEsIDIzNSwgNTksIAotICAgIDE4MCwgMzEsIDI0OSwgMTkyLCAxODAsIDMxLCAyNDUsIDE1MCwgMTgwLCAzMSwgMjQ2LCA2MCwgMTgwLCAzMSwgMjUwLCAKLSAgICAxNTMsIDE4MCwgMzEsIDI0OCwgOTAsIDE4MCwgMzEsIDIzLCAyMjMsIDY3LCAxODAsIDMxLCAyMjYsIDg1LCAxODAsIDMxLCAKLSAgICAyMzMsIDQwLCAxODAsIDMxLCAyNTAsIDYsIDE4MCwgMzEsIDIzNCwgODMsIDE4MCwgMzEsIDI0MywgOTMsIDE4MCwgMzEsIAotICAgIDIxOCwgMTE0LCAxODAsIDMxLCAyMjQsIDEzMywgMTgwLCAzMSwgMjQzLCAyMzUsIDE4MCwgMzEsIDIyMywgNjksIDE4MCwgCi0gICAgMzEsIDIzMywgNzcsIDE3NywgMjMwLCAxNjIsIDE4MCwgMzEsIDIyMywgNjUsIDE4MCwgMzEsIDI0MiwgMTc1LCAyMTYsIDQzLCAKLSAgICAyMzEsIDgxLCAxODAsIDMxLCAyNDUsIDE1MiwgMTgwLCAzMSwgMjE4LCAxMjYsIDE4MCwgMzEsIDI0MiwgMTM1LCAxODAsIAotICAgIDMxLCAyNDUsIDE0NCwgMTgwLCAzMSwgMjI1LCAyMzksIDE4MCwgMzEsIDIyMiwgMjI4LCAxODAsIDMxLCAyNDQsIDY3LCAKLSAgICAxODAsIDMxLCAyMTQsIDgsIDE3NywgMjEyLCA0NCwgMTgwLCAzMSwgMjQ5LCAyMDEsIDE4MCwgMzEsIDIzMSwgOTQsIDE4MCwgCi0gICAgMzEsIDI0NSwgNjksIDE4MCwgMzEsIDIxNCwgMTcyLCAxODAsIDMxLCAyNDcsIDIyMCwgMTgwLCAzMSwgMjUwLCA4LCAyMzAsIAotICAgIDExNSwgMTgwLCAzMSwgMjQyLCAxMTMsIDE4MCwgMzEsIDI0MywgOTQsIDIzNiwgNiwgMTgwLCAzMSwgMjMxLCAxNDYsIDE4MCwgCi0gICAgMzEsIDI1NSwgMTksIDE4MCwgMzEsIDI0NSwgMTY1LCAxODAsIDMxLCAyNDYsIDExNywgMTgwLCAzMSwgMjEyLCA0MiwgMTgwLCAKLSAgICAzMSwgMjE5LCAxNTIsIDE4MCwgMzEsIDIzNSwgMjI5LCAxODAsIDMxLCAyNDgsIDUwLCAxODAsIDMxLCAyNDgsIDE2OCwgCi0gICAgMTgwLCAzMSwgMjQ3LCAyMTYsIDE4MCwgMzEsIDI0NSwgMzcsIDE4MCwgMzEsIDIyMCwgMTE3LCAxODAsIDMxLCAyMTgsIAotICAgIDEzMCwgMTgwLCAzMSwgMjQyLCA5LCAxODAsIDMxLCAyNDksIDIyMCwgMTgwLCAzMSwgMjUwLCAzLCAxODAsIDMxLCAyNDQsIAotICAgIDE4NSwgMTgwLCAzMSwgMjU0LCAyMjEsIDE4MCwgMzEsIDI0OSwgMjE5LCAxODAsIDMxLCAyMjYsIDIwMSwgMjE2LCAxOTcsIAotICAgIDIxMywgMjQyLCAxODAsIDMxLCAyNDcsIDI0MCwgMTgwLCAzMSwgMjMzLCAxMzAsIDE4MCwgMzEsIDI0NCwgMjEsIDI0OSwgCi0gICAgMTU3LCAyMjIsIDIwNCwgMjE0LCAxNzQsIDIxLCAxMTEsIDI0OSwgMTU3LCAyMjIsIDIwNCwgMjE0LCAxNzQsIDIxLCAxMDUsIAotICAgIDI0OSwgMTU3LCAyMjIsIDIwNCwgMjE0LCAxNzQsIDIxLCAxNTgsIDI0OSwgMTU3LCAyMjIsIDIwNCwgMjE0LCAxNzQsIDIxLCAKLSAgICAxNjEsIDI0OSwgMTU3LCAyMjIsIDIwNCwgMjE0LCAxNzQsIDIxLCAxOTAsIDI0OSwgMTU3LCAyMjIsIDIwNCwgMjE0LCAxNzQsIAotICAgIDIxLCAxOTUsIDI0OSwgMTU3LCAyMjIsIDIwNCwgMjE0LCAxNzQsIDIxLCAxOTksIDI0OSwgMTU3LCAyMjIsIDIwNCwgMjE0LCAKLSAgICAxNzQsIDIxLCAxOTYsIDI0OSwgMTU3LCAyMjIsIDIwNCwgMjE0LCAxNzQsIDIxLCAyMDEsIDI0OSwgMTU3LCAyMjIsIDIwNCwgCi0gICAgMjE2LCAyNDQsIDIxLCAxMTEsIDI0OSwgMTU3LCAyMjIsIDIwNCwgMjE2LCAyNDQsIDIxLCAxMDUsIDI0OSwgMTU3LCAyMjIsIAotICAgIDIwNCwgMjE2LCAyNDQsIDIxLCAxNTgsIDI0OSwgMTU3LCAyMjIsIDIwNCwgMjE2LCAyNDQsIDIxLCAxNjEsIDI0OSwgMTU3LCAKLSAgICAyMjIsIDIwNCwgMjE2LCAyNDQsIDIxLCAxOTAsIDI0OSwgMTU3LCAyMjIsIDIwNCwgMjE2LCAyNDQsIDIxLCAxOTUsIDI0OSwgCi0gICAgMTU3LCAyMjIsIDIwNCwgMjE2LCAyNDQsIDIxLCAxOTksIDI0OSwgMTU3LCAyMjIsIDIwNCwgMjE2LCAyNDQsIDIxLCAxOTYsIAotICAgIDI0OSwgMTU3LCAyMjIsIDIwNCwgMjE2LCAyNDQsIDIxLCAyMDEsIDExLCAyMywgNiwgNjEsIDExLCAyMywgNiwgMjUzLCAKLSAgICAxNjYsIDExLCAyMywgNiwgMjUxLCA3NCwgMTEsIDIzLCA2LCAyNDksIDY4LCAxMSwgMjMsIDYsIDc2LCAxMSwgMjMsIDYsIAotICAgIDI0NSwgMTQsIDExLCAyMywgNiwgMjQzLCAyMDksIDExLCAyMywgNiwgMjQyLCA2NywgMTEsIDIzLCA2LCA3NCwgMTEsIDIzLCAKLSAgICA2LCAyMzUsIDE1MCwgMTEsIDIzLCA2LCAyMzUsIDI5LCAxMSwgMjMsIDYsIDE1NiwgMTEsIDIzLCA2LCAxOTQsIDExLCAyMywgCi0gICAgNiwgMjMwLCAzMCwgMTEsIDIzLCA2LCA3OCwgMTEsIDIzLCA2LCAyMjYsIDEwOSwgMTEsIDIzLCA2LCAyMjQsIDk5LCAxMSwgCi0gICAgMjMsIDYsIDE1MywgMTEsIDIzLCA2LCAyMjIsIDkzLCAxMSwgMjMsIDYsIDIxNywgMTUzLCAxMSwgMjMsIDYsIDY5LCAxMSwgCi0gICAgMjMsIDYsIDIxNCwgMTA1LCAxMSwgMjMsIDYsIDIxMiwgOTgsIDExLCAyMywgNiwgMjExLCAxNzgsIDExLCAyMywgNiwgMjExLCAKLSAgICAxMTcsIDExLCAyMywgNiwgMjEwLCAxNTksIDExLCAyMywgNCwgNjEsIDExLCAyMywgNCwgMjUzLCAxNjYsIDExLCAyMywgNCwgCi0gICAgMjUxLCA3NCwgMTEsIDIzLCA0LCAyNDksIDY4LCAxMSwgMjMsIDQsIDc2LCAxMSwgMjMsIDQsIDI0NSwgMTQsIDExLCAyMywgCi0gICAgNCwgMjQzLCAyMDksIDExLCAyMywgNCwgMjQyLCA2NywgMTEsIDIzLCA0LCA3NCwgMTEsIDIzLCA0LCAyMzUsIDE1MCwgMTEsIAotICAgIDIzLCA0LCAyMzUsIDI5LCAxMSwgMjMsIDQsIDE1NiwgMTEsIDIzLCA0LCAxOTQsIDExLCAyMywgNCwgMjMwLCAzMCwgMTEsIAotICAgIDIzLCA0LCA3OCwgMTEsIDIzLCA0LCAyMjYsIDEwOSwgMTEsIDIzLCA0LCAyMjQsIDk5LCAxMSwgMjMsIDQsIDE1MywgMTEsIAotICAgIDIzLCA0LCAyMjIsIDkzLCAxMSwgMjMsIDQsIDIxNywgMTUzLCAxMSwgMjMsIDQsIDY5LCAxMSwgMjMsIDQsIDIxNCwgMTA1LCAKLSAgICAxMSwgMjMsIDQsIDIxMiwgOTgsIDExLCAyMywgNCwgMjExLCAxNzgsIDExLCAyMywgNCwgMjExLCAxMTcsIDExLCAyMywgNCwgCi0gICAgMjEwLCAxNTksIDExLCAzMiwgNiwgNjEsIDExLCAzMiwgNiwgMjUzLCAxNjYsIDExLCAzMiwgNiwgMjUxLCA3NCwgMTEsIDMyLCAKLSAgICA2LCAyNDksIDY4LCAxMSwgMzIsIDYsIDc2LCAxMSwgMzIsIDYsIDI0NSwgMTQsIDExLCAzMiwgNiwgMjQzLCAyMDksIDExLCAKLSAgICAzMiwgNiwgMjQyLCA2NywgMTEsIDMyLCA2LCA3NCwgMTEsIDMyLCA2LCAyMzUsIDE1MCwgMTEsIDMyLCA2LCAyMzUsIDI5LCAKLSAgICAxMSwgMzIsIDYsIDE1NiwgMTEsIDMyLCA2LCAxOTQsIDExLCAzMiwgNiwgMjMwLCAzMCwgMTEsIDMyLCA2LCA3OCwgMTEsIAotICAgIDMyLCA2LCAyMjYsIDEwOSwgMTEsIDMyLCA2LCAyMjQsIDk5LCAxMSwgMzIsIDYsIDE1MywgMTEsIDMyLCA2LCAyMjIsIDkzLCAKLSAgICAxMSwgMzIsIDYsIDIxNywgMTUzLCAxMSwgMzIsIDYsIDY5LCAxMSwgMzIsIDYsIDIxNCwgMTA1LCAxMSwgMzIsIDYsIDIxMiwgCi0gICAgOTgsIDExLCAzMiwgNiwgMjExLCAxNzgsIDExLCAzMiwgNiwgMjExLCAxMTcsIDExLCAzMiwgNiwgMjEwLCAxNTksIDExLCAKLSAgICAzMiwgNCwgNjEsIDExLCAzMiwgNCwgMjUzLCAxNjYsIDExLCAzMiwgNCwgMjUxLCA3NCwgMTEsIDMyLCA0LCAyNDksIDY4LCAKLSAgICAxMSwgMzIsIDQsIDc2LCAxMSwgMzIsIDQsIDI0NSwgMTQsIDExLCAzMiwgNCwgMjQzLCAyMDksIDExLCAzMiwgNCwgNzQsIAotICAgIDExLCAzMiwgNCwgMjM1LCAxNTAsIDExLCAzMiwgNCwgMjM1LCAyOSwgMTEsIDMyLCA0LCAxNTYsIDExLCAzMiwgNCwgMTk0LCAKLSAgICAxMSwgMzIsIDQsIDIzMCwgMzAsIDExLCAzMiwgNCwgNzgsIDExLCAzMiwgNCwgMjI2LCAxMDksIDExLCAzMiwgNCwgMjI0LCAKLSAgICA5OSwgMTEsIDMyLCA0LCAxNTMsIDExLCAzMiwgNCwgMjIyLCA5MywgMTEsIDMyLCA0LCAyMTcsIDE1MywgMTEsIDMyLCA0LCAKLSAgICA2OSwgMTEsIDMyLCA0LCAyMTQsIDEwNSwgMTEsIDMyLCA0LCAyMTIsIDk4LCAxMSwgMzIsIDQsIDIxMSwgMTc4LCAxMSwgMzIsIAotICAgIDQsIDIxMSwgMTE3LCAxMSwgMzIsIDQsIDIxMCwgMTU5LCAxMSwgMjMsIDMyLCA2LCA2MSwgMTEsIDIzLCAzMiwgNiwgMjUzLCAKLSAgICAxNjYsIDExLCAyMywgMzIsIDYsIDI1MSwgNzQsIDExLCAyMywgMzIsIDYsIDI0OSwgNjgsIDExLCAyMywgMzIsIDYsIDc2LCAKLSAgICAxMSwgMjMsIDMyLCA2LCAyNDUsIDE0LCAxMSwgMjMsIDMyLCA2LCAyNDMsIDIwOSwgMTEsIDIzLCAzMiwgNiwgMjQyLCA2NywgCi0gICAgMTEsIDIzLCAzMiwgNiwgNzQsIDExLCAyMywgMzIsIDYsIDIzNSwgMTUwLCAxMSwgMjMsIDMyLCA2LCAyMzUsIDI5LCAxMSwgCi0gICAgMjMsIDMyLCA2LCAxNTYsIDExLCAyMywgMzIsIDYsIDE5NCwgMTEsIDIzLCAzMiwgNiwgMjMwLCAzMCwgMTEsIDIzLCAzMiwgCi0gICAgNiwgNzgsIDExLCAyMywgMzIsIDYsIDIyNiwgMTA5LCAxMSwgMjMsIDMyLCA2LCAyMjQsIDk5LCAxMSwgMjMsIDMyLCA2LCAKLSAgICAxNTMsIDExLCAyMywgMzIsIDYsIDIyMiwgOTMsIDExLCAyMywgMzIsIDYsIDIxNywgMTUzLCAxMSwgMjMsIDMyLCA2LCA2OSwgCi0gICAgMTEsIDIzLCAzMiwgNiwgMjE0LCAxMDUsIDExLCAyMywgMzIsIDYsIDIxMiwgOTgsIDExLCAyMywgMzIsIDYsIDIxMSwgMTc4LCAKLSAgICAxMSwgMjMsIDMyLCA2LCAyMTEsIDExNywgMTEsIDIzLCAzMiwgNiwgMjEwLCAxNTksIDExLCAyMywgMzIsIDQsIDYxLCAxMSwgCi0gICAgMjMsIDMyLCA0LCAyNTMsIDE2NiwgMTEsIDIzLCAzMiwgNCwgMjUxLCA3NCwgMTEsIDIzLCAzMiwgNCwgMjQ5LCA2OCwgMTEsIAotICAgIDIzLCAzMiwgNCwgNzYsIDExLCAyMywgMzIsIDQsIDI0NSwgMTQsIDExLCAyMywgMzIsIDQsIDI0MywgMjA5LCAxMSwgMjMsIAotICAgIDMyLCA0LCAyNDIsIDY3LCAxMSwgMjMsIDMyLCA0LCA3NCwgMTEsIDIzLCAzMiwgNCwgMjM1LCAxNTAsIDExLCAyMywgMzIsIAotICAgIDQsIDIzNSwgMjksIDExLCAyMywgMzIsIDQsIDE1NiwgMTEsIDIzLCAzMiwgNCwgMTk0LCAxMSwgMjMsIDMyLCA0LCAyMzAsIAotICAgIDMwLCAxMSwgMjMsIDMyLCA0LCA3OCwgMTEsIDIzLCAzMiwgNCwgMjI2LCAxMDksIDExLCAyMywgMzIsIDQsIDIyNCwgOTksIAotICAgIDExLCAyMywgMzIsIDQsIDE1MywgMTEsIDIzLCAzMiwgNCwgMjIyLCA5MywgMTEsIDIzLCAzMiwgNCwgMjE3LCAxNTMsIDExLCAKLSAgICAyMywgMzIsIDQsIDY5LCAxMSwgMjMsIDMyLCA0LCAyMTQsIDEwNSwgMTEsIDIzLCAzMiwgNCwgMjEyLCA5OCwgMTEsIDIzLCAKLSAgICAzMiwgNCwgMjExLCAxNzgsIDExLCAyMywgMzIsIDQsIDIxMSwgMTE3LCAxMSwgMjMsIDMyLCA0LCAyMTAsIDE1OSwgMTEsIAotICAgIDExOSwgNiwgNjEsIDExLCAxMTksIDYsIDI1MSwgNzQsIDExLCAxMTksIDYsIDI0OSwgNjgsIDExLCAxMTksIDYsIDI0MywgCi0gICAgMjA5LCAxMSwgMTE5LCA2LCAyMzUsIDE1MCwgMTEsIDExOSwgNiwgMjM1LCAyOSwgMTEsIDExOSwgNiwgMjMwLCAzMCwgMTEsIAotICAgIDExOSwgNiwgNzgsIDExLCAxMTksIDYsIDIyNiwgMTA5LCAxMSwgMTE5LCA2LCAyMjQsIDk5LCAxMSwgMTE5LCA2LCAyMjIsIAotICAgIDkzLCAxMSwgMTE5LCA2LCAyMTcsIDE1MywgMTEsIDExOSwgNiwgNjksIDExLCAxMTksIDYsIDIxNCwgMTA1LCAxMSwgMTE5LCAKLSAgICA2LCAyMTIsIDk4LCAxMSwgMTE5LCA2LCAyMTEsIDE3OCwgMTEsIDExOSwgNiwgMjExLCAxMTcsIDExLCAxMTksIDYsIDIxMCwgCi0gICAgMTU5LCAxMSwgMTE5LCA0LCA2MSwgMTEsIDExOSwgNCwgMjUzLCAxNjYsIDExLCAxMTksIDQsIDI1MSwgNzQsIDExLCAxMTksIAotICAgIDQsIDI0OSwgNjgsIDExLCAxMTksIDQsIDI0NSwgMTQsIDExLCAxMTksIDQsIDI0MiwgNjcsIDExLCAxMTksIDQsIDc0LCAxMSwgCi0gICAgMTE5LCA0LCAyMzUsIDE1MCwgMTEsIDExOSwgNCwgMjM1LCAyOSwgMTEsIDExOSwgNCwgMTU2LCAxMSwgMTE5LCA0LCAxOTQsIAotICAgIDExLCAxMTksIDQsIDIzMCwgMzAsIDExLCAxMTksIDQsIDIyNiwgMTA5LCAxMSwgMTE5LCA0LCAyMjQsIDk5LCAxMSwgMTE5LCAKLSAgICA0LCAxNTMsIDExLCAxMTksIDQsIDIyMiwgOTMsIDExLCAxMTksIDQsIDIxNywgMTUzLCAxMSwgMTE5LCA0LCA2OSwgMTEsIAotICAgIDExOSwgNCwgMjE0LCAxMDUsIDExLCAxMTksIDQsIDIxMiwgOTgsIDExLCAxMTksIDQsIDIxMSwgMTc4LCAxMSwgMTE5LCA0LCAKLSAgICAyMTEsIDExNywgMTEsIDExOSwgNCwgMjEwLCAxNTksIDExLCAyMywgMTE5LCA2LCA2MSwgMTEsIDIzLCAxMTksIDYsIDI1MywgCi0gICAgMTY2LCAxMSwgMjMsIDExOSwgNiwgMjUxLCA3NCwgMTEsIDIzLCAxMTksIDYsIDI0OSwgNjgsIDExLCAyMywgMTE5LCA2LCAKLSAgICA3NiwgMTEsIDIzLCAxMTksIDYsIDI0NSwgMTQsIDExLCAyMywgMTE5LCA2LCAyNDMsIDIwOSwgMTEsIDIzLCAxMTksIDYsIAotICAgIDI0MiwgNjcsIDExLCAyMywgMTE5LCA2LCA3NCwgMTEsIDIzLCAxMTksIDYsIDIzNSwgMTUwLCAxMSwgMjMsIDExOSwgNiwgCi0gICAgMjM1LCAyOSwgMTEsIDIzLCAxMTksIDYsIDE1NiwgMTEsIDIzLCAxMTksIDYsIDE5NCwgMTEsIDIzLCAxMTksIDYsIDIzMCwgCi0gICAgMzAsIDExLCAyMywgMTE5LCA2LCA3OCwgMTEsIDIzLCAxMTksIDYsIDIyNiwgMTA5LCAxMSwgMjMsIDExOSwgNiwgMjI0LCAKLSAgICA5OSwgMTEsIDIzLCAxMTksIDYsIDE1MywgMTEsIDIzLCAxMTksIDYsIDIyMiwgOTMsIDExLCAyMywgMTE5LCA2LCAyMTcsIAotICAgIDE1MywgMTEsIDIzLCAxMTksIDYsIDY5LCAxMSwgMjMsIDExOSwgNiwgMjE0LCAxMDUsIDExLCAyMywgMTE5LCA2LCAyMTIsIAotICAgIDk4LCAxMSwgMjMsIDExOSwgNiwgMjExLCAxNzgsIDExLCAyMywgMTE5LCA2LCAyMTEsIDExNywgMTEsIDIzLCAxMTksIDYsIAotICAgIDIxMCwgMTU5LCAxMSwgMjMsIDExOSwgNCwgNjEsIDExLCAyMywgMTE5LCA0LCAyNTMsIDE2NiwgMTEsIDIzLCAxMTksIDQsIAotICAgIDI1MSwgNzQsIDExLCAyMywgMTE5LCA0LCAyNDksIDY4LCAxMSwgMjMsIDExOSwgNCwgNzYsIDExLCAyMywgMTE5LCA0LCAKLSAgICAyNDUsIDE0LCAxMSwgMjMsIDExOSwgNCwgMjQzLCAyMDksIDExLCAyMywgMTE5LCA0LCAyNDIsIDY3LCAxMSwgMjMsIDExOSwgCi0gICAgNCwgNzQsIDExLCAyMywgMTE5LCA0LCAyMzUsIDE1MCwgMTEsIDIzLCAxMTksIDQsIDIzNSwgMjksIDExLCAyMywgMTE5LCA0LCAKLSAgICAxNTYsIDExLCAyMywgMTE5LCA0LCAxOTQsIDExLCAyMywgMTE5LCA0LCAyMzAsIDMwLCAxMSwgMjMsIDExOSwgNCwgNzgsIAotICAgIDExLCAyMywgMTE5LCA0LCAyMjYsIDEwOSwgMTEsIDIzLCAxMTksIDQsIDIyNCwgOTksIDExLCAyMywgMTE5LCA0LCAxNTMsIAotICAgIDExLCAyMywgMTE5LCA0LCAyMjIsIDkzLCAxMSwgMjMsIDExOSwgNCwgMjE3LCAxNTMsIDExLCAyMywgMTE5LCA0LCA2OSwgCi0gICAgMTEsIDIzLCAxMTksIDQsIDIxNCwgMTA1LCAxMSwgMjMsIDExOSwgNCwgMjEyLCA5OCwgMTEsIDIzLCAxMTksIDQsIDIxMSwgCi0gICAgMTc4LCAxMSwgMjMsIDExOSwgNCwgMjExLCAxMTcsIDExLCAyMywgMTE5LCA0LCAyMTAsIDE1OSwgMTEsIDEzMywgNiwgNjEsIAotICAgIDExLCAxMzMsIDYsIDI1MywgMTY2LCAxMSwgMTMzLCA2LCAyNDksIDY4LCAxMSwgMTMzLCA2LCA3NiwgMTEsIDEzMywgNiwgCi0gICAgMjQ1LCAxNCwgMTEsIDEzMywgNiwgMjQzLCAyMDksIDExLCAxMzMsIDYsIDIzNSwgMTUwLCAxMSwgMTMzLCA2LCAyMzUsIDI5LCAKLSAgICAxMSwgMTMzLCA2LCAxNTYsIDExLCAxMzMsIDYsIDE5NCwgMTEsIDEzMywgNiwgMjMwLCAzMCwgMTEsIDEzMywgNiwgNzgsIAotICAgIDExLCAxMzMsIDYsIDIyNiwgMTA5LCAxMSwgMTMzLCA2LCAyMjQsIDk5LCAxMSwgMTMzLCA2LCAyMjIsIDkzLCAxMSwgMTMzLCAKLSAgICA2LCAyMTcsIDE1MywgMTEsIDEzMywgNiwgNjksIDExLCAxMzMsIDYsIDIxNCwgMTA1LCAxMSwgMTMzLCA2LCAyMTIsIDk4LCAKLSAgICAxMSwgMTMzLCA2LCAyMTEsIDE3OCwgMTEsIDEzMywgNiwgMjExLCAxMTcsIDExLCAxMzMsIDQsIDYxLCAxMSwgMTMzLCA0LCAKLSAgICAyNTMsIDE2NiwgMTEsIDEzMywgNCwgMjUxLCA3NCwgMTEsIDEzMywgNCwgMjQ5LCA2OCwgMTEsIDEzMywgNCwgNzYsIDExLCAKLSAgICAxMzMsIDQsIDI0NSwgMTQsIDExLCAxMzMsIDQsIDI0MywgMjA5LCAxMSwgMTMzLCA0LCAyNDIsIDY3LCAxMSwgMTMzLCA0LCAKLSAgICA3NCwgMTEsIDEzMywgNCwgMjM1LCAxNTAsIDExLCAxMzMsIDQsIDIzNSwgMjksIDExLCAxMzMsIDQsIDE1NiwgMTEsIDEzMywgCi0gICAgNCwgMTk0LCAxMSwgMTMzLCA0LCAyMzAsIDMwLCAxMSwgMTMzLCA0LCA3OCwgMTEsIDEzMywgNCwgMjI2LCAxMDksIDExLCAKLSAgICAxMzMsIDQsIDIyNCwgOTksIDExLCAxMzMsIDQsIDE1MywgMTEsIDEzMywgNCwgMjIyLCA5MywgMTEsIDEzMywgNCwgMjE3LCAKLSAgICAxNTMsIDExLCAxMzMsIDQsIDY5LCAxMSwgMTMzLCA0LCAyMTQsIDEwNSwgMTEsIDEzMywgNCwgMjEyLCA5OCwgMTEsIDEzMywgCi0gICAgNCwgMjExLCAxNzgsIDExLCAxMzMsIDQsIDIxMSwgMTE3LCAxMSwgMTMzLCA0LCAyMTAsIDE1OSwgMTEsIDEzOSwgNiwgNjEsIAotICAgIDExLCAxMzksIDYsIDI1MywgMTY2LCAxMSwgMTM5LCA2LCAyNDksIDY4LCAxMSwgMTM5LCA2LCA3NiwgMTEsIDEzOSwgNiwgCi0gICAgMjQ1LCAxNCwgMTEsIDEzOSwgNiwgMjQzLCAyMDksIDExLCAxMzksIDYsIDc0LCAxMSwgMTM5LCA2LCAyMzUsIDE1MCwgMTEsIAotICAgIDEzOSwgNiwgMjM1LCAyOSwgMTEsIDEzOSwgNiwgMTU2LCAxMSwgMTM5LCA2LCAxOTQsIDExLCAxMzksIDYsIDc4LCAxMSwgCi0gICAgMTM5LCA2LCAyMjIsIDkzLCAxMSwgMTM5LCA2LCAyMTcsIDE1MywgMTEsIDEzOSwgNiwgNjksIDExLCAxMzksIDYsIDIxNCwgCi0gICAgMTA1LCAxMSwgMTM5LCA2LCAyMTIsIDk4LCAxMSwgMTM5LCA2LCAyMTEsIDE3OCwgMTEsIDEzOSwgNiwgMjExLCAxMTcsIDExLCAKLSAgICAxMzksIDQsIDYxLCAxMSwgMTM5LCA0LCAyNTMsIDE2NiwgMTEsIDEzOSwgNCwgMjUxLCA3NCwgMTEsIDEzOSwgNCwgMjQ5LCAKLSAgICA2OCwgMTEsIDEzOSwgNCwgNzYsIDExLCAxMzksIDQsIDI0NSwgMTQsIDExLCAxMzksIDQsIDI0MywgMjA5LCAxMSwgMTM5LCAKLSAgICA0LCAyNDIsIDY3LCAxMSwgMTM5LCA0LCA3NCwgMTEsIDEzOSwgNCwgMjM1LCAxNTAsIDExLCAxMzksIDQsIDIzNSwgMjksIAotICAgIDExLCAxMzksIDQsIDE1NiwgMTEsIDEzOSwgNCwgMTk0LCAxMSwgMTM5LCA0LCAyMzAsIDMwLCAxMSwgMTM5LCA0LCA3OCwgCi0gICAgMTEsIDEzOSwgNCwgMjI2LCAxMDksIDExLCAxMzksIDQsIDIyNCwgOTksIDExLCAxMzksIDQsIDE1MywgMTEsIDEzOSwgNCwgCi0gICAgMjIyLCA5MywgMTEsIDEzOSwgNCwgMjE3LCAxNTMsIDExLCAxMzksIDQsIDY5LCAxMSwgMTM5LCA0LCAyMTQsIDEwNSwgMTEsIAotICAgIDEzOSwgNCwgMjEyLCA5OCwgMTEsIDEzOSwgNCwgMjExLCAxNzgsIDExLCAxMzksIDQsIDIxMSwgMTE3LCAxMSwgMTM5LCA0LCAKLSAgICAyMTAsIDE1OSwgMTEsIDIzLCAxMzMsIDYsIDYxLCAxMSwgMjMsIDEzMywgNiwgMjUzLCAxNjYsIDExLCAyMywgMTMzLCA2LCAKLSAgICAyNTEsIDc0LCAxMSwgMjMsIDEzMywgNiwgMjQ5LCA2OCwgMTEsIDIzLCAxMzMsIDYsIDc2LCAxMSwgMjMsIDEzMywgNiwgCi0gICAgMjQ1LCAxNCwgMTEsIDIzLCAxMzMsIDYsIDI0MywgMjA5LCAxMSwgMjMsIDEzMywgNiwgMjQyLCA2NywgMTEsIDIzLCAxMzMsIAotICAgIDYsIDc0LCAxMSwgMjMsIDEzMywgNiwgMjM1LCAxNTAsIDExLCAyMywgMTMzLCA2LCAyMzUsIDI5LCAxMSwgMjMsIDEzMywgNiwgCi0gICAgMTU2LCAxMSwgMjMsIDEzMywgNiwgMTk0LCAxMSwgMjMsIDEzMywgNiwgMjMwLCAzMCwgMTEsIDIzLCAxMzMsIDYsIDc4LCAKLSAgICAxMSwgMjMsIDEzMywgNiwgMjI2LCAxMDksIDExLCAyMywgMTMzLCA2LCAyMjQsIDk5LCAxMSwgMjMsIDEzMywgNiwgMTUzLCAKLSAgICAxMSwgMjMsIDEzMywgNiwgMjIyLCA5MywgMTEsIDIzLCAxMzMsIDYsIDIxNywgMTUzLCAxMSwgMjMsIDEzMywgNiwgNjksIAotICAgIDExLCAyMywgMTMzLCA2LCAyMTQsIDEwNSwgMTEsIDIzLCAxMzMsIDYsIDIxMiwgOTgsIDExLCAyMywgMTMzLCA2LCAyMTEsIAotICAgIDE3OCwgMTEsIDIzLCAxMzMsIDYsIDIxMSwgMTE3LCAxMSwgMjMsIDEzMywgNiwgMjEwLCAxNTksIDExLCAyMywgMTMzLCA0LCAKLSAgICA2MSwgMTEsIDIzLCAxMzMsIDQsIDI1MywgMTY2LCAxMSwgMjMsIDEzMywgNCwgMjUxLCA3NCwgMTEsIDIzLCAxMzMsIDQsIAotICAgIDI0OSwgNjgsIDExLCAyMywgMTMzLCA0LCA3NiwgMTEsIDIzLCAxMzMsIDQsIDI0NSwgMTQsIDExLCAyMywgMTMzLCA0LCAKLSAgICAyNDMsIDIwOSwgMTEsIDIzLCAxMzMsIDQsIDI0MiwgNjcsIDExLCAyMywgMTMzLCA0LCA3NCwgMTEsIDIzLCAxMzMsIDQsIAotICAgIDIzNSwgMTUwLCAxMSwgMjMsIDEzMywgNCwgMjM1LCAyOSwgMTEsIDIzLCAxMzMsIDQsIDE1NiwgMTEsIDIzLCAxMzMsIDQsIAotICAgIDE5NCwgMTEsIDIzLCAxMzMsIDQsIDIzMCwgMzAsIDExLCAyMywgMTMzLCA0LCA3OCwgMTEsIDIzLCAxMzMsIDQsIDIyNiwgCi0gICAgMTA5LCAxMSwgMjMsIDEzMywgNCwgMjI0LCA5OSwgMTEsIDIzLCAxMzMsIDQsIDE1MywgMTEsIDIzLCAxMzMsIDQsIDIyMiwgCi0gICAgOTMsIDExLCAyMywgMTMzLCA0LCAyMTcsIDE1MywgMTEsIDIzLCAxMzMsIDQsIDY5LCAxMSwgMjMsIDEzMywgNCwgMjE0LCAKLSAgICAxMDUsIDExLCAyMywgMTMzLCA0LCAyMTIsIDk4LCAxMSwgMjMsIDEzMywgNCwgMjExLCAxNzgsIDExLCAyMywgMTMzLCA0LCAKLSAgICAyMTEsIDExNywgMTEsIDIzLCAxMzMsIDQsIDIxMCwgMTU5LCAxMSwgMzUsIDYsIDYxLCAxMSwgMzUsIDYsIDI1MywgMTY2LCAKLSAgICAxMSwgMzUsIDYsIDI1MSwgNzQsIDExLCAzNSwgNiwgMjQ5LCA2OCwgMTEsIDM1LCA2LCA3NiwgMTEsIDM1LCA2LCAyNDUsIAotICAgIDE0LCAxMSwgMzUsIDYsIDI0MywgMjA5LCAxMSwgMzUsIDYsIDI0MiwgNjcsIDExLCAzNSwgNiwgNzQsIDExLCAzNSwgNiwgCi0gICAgMjM1LCAxNTAsIDExLCAzNSwgNiwgMjM1LCAyOSwgMTEsIDM1LCA2LCAxNTYsIDExLCAzNSwgNiwgMTk0LCAxMSwgMzUsIDYsIAotICAgIDIzMCwgMzAsIDExLCAzNSwgNiwgNzgsIDExLCAzNSwgNiwgMjI2LCAxMDksIDExLCAzNSwgNiwgMjI0LCA5OSwgMTEsIDM1LCAKLSAgICA2LCAxNTMsIDExLCAzNSwgNiwgMjIyLCA5MywgMTEsIDM1LCA2LCAyMTcsIDE1MywgMTEsIDM1LCA2LCA2OSwgMTEsIDM1LCAKLSAgICA2LCAyMTQsIDEwNSwgMTEsIDM1LCA2LCAyMTIsIDk4LCAxMSwgMzUsIDYsIDIxMSwgMTc4LCAxMSwgMzUsIDYsIDIxMSwgCi0gICAgMTE3LCAxMSwgMzUsIDYsIDIxMCwgMTU5LCAxMSwgMzUsIDQsIDYxLCAxMSwgMzUsIDQsIDI1MywgMTY2LCAxMSwgMzUsIDQsIAotICAgIDI1MSwgNzQsIDExLCAzNSwgNCwgMjQ5LCA2OCwgMTEsIDM1LCA0LCA3NiwgMTEsIDM1LCA0LCAyNDUsIDE0LCAxMSwgMzUsIAotICAgIDQsIDI0MywgMjA5LCAxMSwgMzUsIDQsIDI0MiwgNjcsIDExLCAzNSwgNCwgNzQsIDExLCAzNSwgNCwgMjM1LCAxNTAsIDExLCAKLSAgICAzNSwgNCwgMjM1LCAyOSwgMTEsIDM1LCA0LCAxNTYsIDExLCAzNSwgNCwgMTk0LCAxMSwgMzUsIDQsIDIzMCwgMzAsIDExLCAKLSAgICAzNSwgNCwgNzgsIDExLCAzNSwgNCwgMjI2LCAxMDksIDExLCAzNSwgNCwgMjI0LCA5OSwgMTEsIDM1LCA0LCAxNTMsIDExLCAKLSAgICAzNSwgNCwgMjIyLCA5MywgMTEsIDM1LCA0LCAyMTcsIDE1MywgMTEsIDM1LCA0LCA2OSwgMTEsIDM1LCA0LCAyMTQsIDEwNSwgCi0gICAgMTEsIDM1LCA0LCAyMTIsIDk4LCAxMSwgMzUsIDQsIDIxMSwgMTc4LCAxMSwgMzUsIDQsIDIxMSwgMTE3LCAxMSwgMzUsIDQsIAotICAgIDIxMCwgMTU5LCAxMSwgMzUsIDIzLCA2LCA2MSwgMTEsIDM1LCAyMywgNiwgMjUzLCAxNjYsIDExLCAzNSwgMjMsIDYsIDI1MSwgCi0gICAgNzQsIDExLCAzNSwgMjMsIDYsIDI0OSwgNjgsIDExLCAzNSwgMjMsIDYsIDc2LCAxMSwgMzUsIDIzLCA2LCAyNDUsIDE0LCAKLSAgICAxMSwgMzUsIDIzLCA2LCAyNDMsIDIwOSwgMTEsIDM1LCAyMywgNiwgMjQyLCA2NywgMTEsIDM1LCAyMywgNiwgNzQsIDExLCAKLSAgICAzNSwgMjMsIDYsIDIzNSwgMTUwLCAxMSwgMzUsIDIzLCA2LCAyMzUsIDI5LCAxMSwgMzUsIDIzLCA2LCAxNTYsIDExLCAzNSwgCi0gICAgMjMsIDYsIDE5NCwgMTEsIDM1LCAyMywgNiwgMjMwLCAzMCwgMTEsIDM1LCAyMywgNiwgNzgsIDExLCAzNSwgMjMsIDYsIAotICAgIDIyNiwgMTA5LCAxMSwgMzUsIDIzLCA2LCAyMjQsIDk5LCAxMSwgMzUsIDIzLCA2LCAxNTMsIDExLCAzNSwgMjMsIDYsIDIyMiwgCi0gICAgOTMsIDExLCAzNSwgMjMsIDYsIDIxNywgMTUzLCAxMSwgMzUsIDIzLCA2LCA2OSwgMTEsIDM1LCAyMywgNiwgMjE0LCAxMDUsIAotICAgIDExLCAzNSwgMjMsIDYsIDIxMiwgOTgsIDExLCAzNSwgMjMsIDYsIDIxMSwgMTc4LCAxMSwgMzUsIDIzLCA2LCAyMTEsIDExNywgCi0gICAgMTEsIDM1LCAyMywgNiwgMjEwLCAxNTksIDExLCAzNSwgMjMsIDQsIDYxLCAxMSwgMzUsIDIzLCA0LCAyNTMsIDE2NiwgMTEsIAotICAgIDM1LCAyMywgNCwgMjUxLCA3NCwgMTEsIDM1LCAyMywgNCwgMjQ5LCA2OCwgMTEsIDM1LCAyMywgNCwgNzYsIDExLCAzNSwgCi0gICAgMjMsIDQsIDI0NSwgMTQsIDExLCAzNSwgMjMsIDQsIDI0MywgMjA5LCAxMSwgMzUsIDIzLCA0LCAyNDIsIDY3LCAxMSwgMzUsIAotICAgIDIzLCA0LCA3NCwgMTEsIDM1LCAyMywgNCwgMjM1LCAxNTAsIDExLCAzNSwgMjMsIDQsIDIzNSwgMjksIDExLCAzNSwgMjMsIAotICAgIDQsIDE1NiwgMTEsIDM1LCAyMywgNCwgMTk0LCAxMSwgMzUsIDIzLCA0LCAyMzAsIDMwLCAxMSwgMzUsIDIzLCA0LCA3OCwgCi0gICAgMTEsIDM1LCAyMywgNCwgMjI2LCAxMDksIDExLCAzNSwgMjMsIDQsIDIyNCwgOTksIDExLCAzNSwgMjMsIDQsIDE1MywgMTEsIAotICAgIDM1LCAyMywgNCwgMjIyLCA5MywgMTEsIDM1LCAyMywgNCwgMjE3LCAxNTMsIDExLCAzNSwgMjMsIDQsIDY5LCAxMSwgMzUsIAotICAgIDIzLCA0LCAyMTQsIDEwNSwgMTEsIDM1LCAyMywgNCwgMjEyLCA5OCwgMTEsIDM1LCAyMywgNCwgMjExLCAxNzgsIDExLCAzNSwgCi0gICAgMjMsIDQsIDIxMSwgMTE3LCAxMSwgMzUsIDIzLCA0LCAyMTAsIDE1OSwgMTEsIDM1LCAzMiwgNiwgNjEsIDExLCAzNSwgMzIsIAotICAgIDYsIDI1MywgMTY2LCAxMSwgMzUsIDMyLCA2LCAyNTEsIDc0LCAxMSwgMzUsIDMyLCA2LCAyNDksIDY4LCAxMSwgMzUsIDMyLCAKLSAgICA2LCA3NiwgMTEsIDM1LCAzMiwgNiwgMjQ1LCAxNCwgMTEsIDM1LCAzMiwgNiwgMjQzLCAyMDksIDExLCAzNSwgMzIsIDYsIAotICAgIDI0MiwgNjcsIDExLCAzNSwgMzIsIDYsIDc0LCAxMSwgMzUsIDMyLCA2LCAyMzUsIDE1MCwgMTEsIDM1LCAzMiwgNiwgMjM1LCAKLSAgICAyOSwgMTEsIDM1LCAzMiwgNiwgMTU2LCAxMSwgMzUsIDMyLCA2LCAxOTQsIDExLCAzNSwgMzIsIDYsIDIzMCwgMzAsIDExLCAKLSAgICAzNSwgMzIsIDYsIDc4LCAxMSwgMzUsIDMyLCA2LCAyMjYsIDEwOSwgMTEsIDM1LCAzMiwgNiwgMjI0LCA5OSwgMTEsIDM1LCAKLSAgICAzMiwgNiwgMTUzLCAxMSwgMzUsIDMyLCA2LCAyMjIsIDkzLCAxMSwgMzUsIDMyLCA2LCAyMTcsIDE1MywgMTEsIDM1LCAzMiwgCi0gICAgNiwgNjksIDExLCAzNSwgMzIsIDYsIDIxNCwgMTA1LCAxMSwgMzUsIDMyLCA2LCAyMTIsIDk4LCAxMSwgMzUsIDMyLCA2LCAKLSAgICAyMTEsIDE3OCwgMTEsIDM1LCAzMiwgNiwgMjExLCAxMTcsIDExLCAzNSwgMzIsIDYsIDIxMCwgMTU5LCAxMSwgMzUsIDMyLCAKLSAgICA0LCA2MSwgMTEsIDM1LCAzMiwgNCwgMjUzLCAxNjYsIDExLCAzNSwgMzIsIDQsIDI1MSwgNzQsIDExLCAzNSwgMzIsIDQsIAotICAgIDI0OSwgNjgsIDExLCAzNSwgMzIsIDQsIDc2LCAxMSwgMzUsIDMyLCA0LCAyNDUsIDE0LCAxMSwgMzUsIDMyLCA0LCAyNDMsIAotICAgIDIwOSwgMTEsIDM1LCAzMiwgNCwgMjQyLCA2NywgMTEsIDM1LCAzMiwgNCwgNzQsIDExLCAzNSwgMzIsIDQsIDIzNSwgMTUwLCAKLSAgICAxMSwgMzUsIDMyLCA0LCAyMzUsIDI5LCAxMSwgMzUsIDMyLCA0LCAxNTYsIDExLCAzNSwgMzIsIDQsIDE5NCwgMTEsIDM1LCAKLSAgICAzMiwgNCwgMjMwLCAzMCwgMTEsIDM1LCAzMiwgNCwgNzgsIDExLCAzNSwgMzIsIDQsIDIyNiwgMTA5LCAxMSwgMzUsIDMyLCAKLSAgICA0LCAyMjQsIDk5LCAxMSwgMzUsIDMyLCA0LCAxNTMsIDExLCAzNSwgMzIsIDQsIDIyMiwgOTMsIDExLCAzNSwgMzIsIDQsIAotICAgIDIxNywgMTUzLCAxMSwgMzUsIDMyLCA0LCA2OSwgMTEsIDM1LCAzMiwgNCwgMjE0LCAxMDUsIDExLCAzNSwgMzIsIDQsIDIxMiwgCi0gICAgOTgsIDExLCAzNSwgMzIsIDQsIDIxMSwgMTc4LCAxMSwgMzUsIDMyLCA0LCAyMTEsIDExNywgMTEsIDM1LCAzMiwgNCwgMjEwLCAKLSAgICAxNTksIDExLCAzNSwgMjMsIDMyLCA2LCA2MSwgMTEsIDM1LCAyMywgMzIsIDYsIDI1MywgMTY2LCAxMSwgMzUsIDIzLCAzMiwgCi0gICAgNiwgMjUxLCA3NCwgMTEsIDM1LCAyMywgMzIsIDYsIDI0OSwgNjgsIDExLCAzNSwgMjMsIDMyLCA2LCA3NiwgMTEsIDM1LCAKLSAgICAyMywgMzIsIDYsIDI0NSwgMTQsIDExLCAzNSwgMjMsIDMyLCA2LCAyNDMsIDIwOSwgMTEsIDM1LCAyMywgMzIsIDYsIDI0MiwgCi0gICAgNjcsIDExLCAzNSwgMjMsIDMyLCA2LCA3NCwgMTEsIDM1LCAyMywgMzIsIDYsIDIzNSwgMTUwLCAxMSwgMzUsIDIzLCAzMiwgCi0gICAgNiwgMjM1LCAyOSwgMTEsIDM1LCAyMywgMzIsIDYsIDE1NiwgMTEsIDM1LCAyMywgMzIsIDYsIDE5NCwgMTEsIDM1LCAyMywgCi0gICAgMzIsIDYsIDIzMCwgMzAsIDExLCAzNSwgMjMsIDMyLCA2LCA3OCwgMTEsIDM1LCAyMywgMzIsIDYsIDIyNiwgMTA5LCAxMSwgCi0gICAgMzUsIDIzLCAzMiwgNiwgMjI0LCA5OSwgMTEsIDM1LCAyMywgMzIsIDYsIDE1MywgMTEsIDM1LCAyMywgMzIsIDYsIDIyMiwgCi0gICAgOTMsIDExLCAzNSwgMjMsIDMyLCA2LCAyMTcsIDE1MywgMTEsIDM1LCAyMywgMzIsIDYsIDY5LCAxMSwgMzUsIDIzLCAzMiwgCi0gICAgNiwgMjE0LCAxMDUsIDExLCAzNSwgMjMsIDMyLCA2LCAyMTIsIDk4LCAxMSwgMzUsIDIzLCAzMiwgNiwgMjExLCAxNzgsIDExLCAKLSAgICAzNSwgMjMsIDMyLCA2LCAyMTEsIDExNywgMTEsIDM1LCAyMywgMzIsIDYsIDIxMCwgMTU5LCAxMSwgMzUsIDIzLCAzMiwgNCwgCi0gICAgNjEsIDExLCAzNSwgMjMsIDMyLCA0LCAyNTMsIDE2NiwgMTEsIDM1LCAyMywgMzIsIDQsIDI1MSwgNzQsIDExLCAzNSwgMjMsIAotICAgIDMyLCA0LCAyNDksIDY4LCAxMSwgMzUsIDIzLCAzMiwgNCwgNzYsIDExLCAzNSwgMjMsIDMyLCA0LCAyNDUsIDE0LCAxMSwgCi0gICAgMzUsIDIzLCAzMiwgNCwgMjQzLCAyMDksIDExLCAzNSwgMjMsIDMyLCA0LCAyNDIsIDY3LCAxMSwgMzUsIDIzLCAzMiwgNCwgCi0gICAgNzQsIDExLCAzNSwgMjMsIDMyLCA0LCAyMzUsIDE1MCwgMTEsIDM1LCAyMywgMzIsIDQsIDIzNSwgMjksIDExLCAzNSwgMjMsIAotICAgIDMyLCA0LCAxNTYsIDExLCAzNSwgMjMsIDMyLCA0LCAxOTQsIDExLCAzNSwgMjMsIDMyLCA0LCAyMzAsIDMwLCAxMSwgMzUsIAotICAgIDIzLCAzMiwgNCwgNzgsIDExLCAzNSwgMjMsIDMyLCA0LCAyMjYsIDEwOSwgMTEsIDM1LCAyMywgMzIsIDQsIDIyNCwgOTksIAotICAgIDExLCAzNSwgMjMsIDMyLCA0LCAxNTMsIDExLCAzNSwgMjMsIDMyLCA0LCAyMjIsIDkzLCAxMSwgMzUsIDIzLCAzMiwgNCwgCi0gICAgMjE3LCAxNTMsIDExLCAzNSwgMjMsIDMyLCA0LCA2OSwgMTEsIDM1LCAyMywgMzIsIDQsIDIxNCwgMTA1LCAxMSwgMzUsIDIzLCAKLSAgICAzMiwgNCwgMjEyLCA5OCwgMTEsIDM1LCAyMywgMzIsIDQsIDIxMSwgMTc4LCAxMSwgMzUsIDIzLCAzMiwgNCwgMjExLCAxMTcsIAotICAgIDExLCAzNSwgMjMsIDMyLCA0LCAyMTAsIDE1OSwgMTEsIDIzMCwgMTQzLCA2LCA2MSwgMTEsIDIzMCwgMTQzLCA2LCAyNTMsIAotICAgIDE2NiwgMTEsIDIzMCwgMTQzLCA2LCAyNTEsIDc0LCAxMSwgMjMwLCAxNDMsIDYsIDI0OSwgNjgsIDExLCAyMzAsIDE0MywgNiwgCi0gICAgNzYsIDExLCAyMzAsIDE0MywgNiwgMjQ1LCAxNCwgMTEsIDIzMCwgMTQzLCA2LCAyNDMsIDIwOSwgMTEsIDIzMCwgMTQzLCA2LCAKLSAgICAyNDIsIDY3LCAxMSwgMjMwLCAxNDMsIDYsIDc0LCAxMSwgMjMwLCAxNDMsIDYsIDIzNSwgMTUwLCAxMSwgMjMwLCAxNDMsIDYsIAotICAgIDIzNSwgMjksIDExLCAyMzAsIDE0MywgNiwgMTU2LCAxMSwgMjMwLCAxNDMsIDYsIDE5NCwgMTEsIDIzMCwgMTQzLCA2LCAKLSAgICAyMzAsIDMwLCAxMSwgMjMwLCAxNDMsIDYsIDc4LCAxMSwgMjMwLCAxNDMsIDYsIDIyNiwgMTA5LCAxMSwgMjMwLCAxNDMsIDYsIAotICAgIDIyNCwgOTksIDExLCAyMzAsIDE0MywgNiwgMTUzLCAxMSwgMjMwLCAxNDMsIDYsIDIyMiwgOTMsIDExLCAyMzAsIDE0MywgNiwgCi0gICAgMjE3LCAxNTMsIDExLCAyMzAsIDE0MywgNiwgNjksIDExLCAyMzAsIDE0MywgNiwgMjE0LCAxMDUsIDExLCAyMzAsIDE0MywgCi0gICAgNiwgMjEyLCA5OCwgMTEsIDIzMCwgMTQzLCA2LCAyMTEsIDE3OCwgMTEsIDIzMCwgMTQzLCA2LCAyMTEsIDExNywgMTEsIAotICAgIDIzMCwgMTQzLCA2LCAyMTAsIDE1OSwgMTEsIDIzMCwgMTQzLCA0LCA2MSwgMTEsIDIzMCwgMTQzLCA0LCAyNTMsIDE2NiwgCi0gICAgMTEsIDIzMCwgMTQzLCA0LCAyNTEsIDc0LCAxMSwgMjMwLCAxNDMsIDQsIDI0OSwgNjgsIDExLCAyMzAsIDE0MywgNCwgNzYsIAotICAgIDExLCAyMzAsIDE0MywgNCwgMjQ1LCAxNCwgMTEsIDIzMCwgMTQzLCA0LCAyNDMsIDIwOSwgMTEsIDIzMCwgMTQzLCA0LCAKLSAgICAyNDIsIDY3LCAxMSwgMjMwLCAxNDMsIDQsIDc0LCAxMSwgMjMwLCAxNDMsIDQsIDIzNSwgMTUwLCAxMSwgMjMwLCAxNDMsIDQsIAotICAgIDIzNSwgMjksIDExLCAyMzAsIDE0MywgNCwgMTU2LCAxMSwgMjMwLCAxNDMsIDQsIDE5NCwgMTEsIDIzMCwgMTQzLCA0LCAKLSAgICAyMzAsIDMwLCAxMSwgMjMwLCAxNDMsIDQsIDc4LCAxMSwgMjMwLCAxNDMsIDQsIDIyNiwgMTA5LCAxMSwgMjMwLCAxNDMsIDQsIAotICAgIDIyNCwgOTksIDExLCAyMzAsIDE0MywgNCwgMTUzLCAxMSwgMjMwLCAxNDMsIDQsIDIyMiwgOTMsIDExLCAyMzAsIDE0MywgNCwgCi0gICAgMjE3LCAxNTMsIDExLCAyMzAsIDE0MywgNCwgNjksIDExLCAyMzAsIDE0MywgNCwgMjE0LCAxMDUsIDExLCAyMzAsIDE0MywgCi0gICAgNCwgMjEyLCA5OCwgMTEsIDIzMCwgMTQzLCA0LCAyMTEsIDE3OCwgMTEsIDIzMCwgMTQzLCA0LCAyMTEsIDExNywgMTEsIAotICAgIDIzMCwgMTQzLCA0LCAyMTAsIDE1OSwgMTEsIDMyLCA0LCAyNDcsIDEyNywgNzQsIDExLCAzMiwgNCwgMjQ3LCAxMjcsIDIzNSwgCi0gICAgMTUwLCAxMSwgMjMsIDYsIDI1NCwgMTUxLCAxMSwgMjMsIDYsIDI1MiwgMzQsIDExLCAyMywgNiwgMjQzLCAxMTQsIDExLCAKLSAgICAyMywgNiwgMjQ4LCA2MiwgMTEsIDIzLCA2LCAyNDUsIDEwOCwgMTEsIDIzLCA2LCAyMTAsIDg1LCAxMSwgMjMsIDYsIDI0NSwgCi0gICAgNzEsIDExLCAyMywgNiwgMjE2LCAxODAsIDExLCAyMywgNiwgMjM1LCAxOTIsIDExLCAyMywgNiwgMjM0LCAyMjgsIDExLCAKLSAgICAyMywgNiwgMjMzLCAxMDQsIDExLCAyMywgNiwgMjMwLCAxMDcsIDExLCAyMywgNiwgMjI3LCAyNDIsIDExLCAyMywgNiwgCi0gICAgMjExLCAxNTcsIDExLCAyMywgNiwgMjI2LCAyMDMsIDExLCAyMywgNiwgMjI1LCAxMTEsIDExLCAyMywgNiwgMjIzLCA0MCwgCi0gICAgMTEsIDIzLCA2LCAyMTYsIDE4MSwgODcsIDExLCAyMywgNiwgMjE5LCAxNzksIDExLCAyMywgNiwgMjE3LCA0MiwgMTEsIDIzLCAKLSAgICA2LCAyMTQsIDE1NywgMTEsIDIzLCA2LCAyMjUsIDEzNiwgMTEsIDIzLCA2LCAyNTAsIDExOCwgMTEsIDIzLCA2LCAyMjQsIAotICAgIDE2NCwgMTEsIDIzLCA2LCAyMjYsIDIwNSwgMTEsIDIzLCAyMjksIDIyNiwgMTEsIDIzLCA0LCAyNTQsIDE1MSwgMTEsIDIzLCAKLSAgICA0LCAyNTIsIDM0LCAxMSwgMjMsIDQsIDI0MywgMTE0LCAxMSwgMjMsIDQsIDI0OCwgNjIsIDExLCAyMywgNCwgMjQ1LCAxMDgsIAotICAgIDExLCAyMywgNCwgMjEwLCA4NSwgMTEsIDIzLCA0LCAyNDUsIDcxLCAxMSwgMjMsIDQsIDIxNiwgMTgwLCAxMSwgMjMsIDQsIAotICAgIDIzNSwgMTkyLCAxMSwgMjMsIDQsIDIzNCwgMjI4LCAxMSwgMjMsIDQsIDIzMywgMTA0LCAxMSwgMjMsIDQsIDIzMCwgMTA3LCAKLSAgICAxMSwgMjMsIDQsIDIyNywgMjQyLCAxMSwgMjMsIDQsIDIxMSwgMTU3LCAxMSwgMjMsIDQsIDIyNiwgMjAzLCAxMSwgMjMsIDQsIAotICAgIDIyNSwgMTExLCAxMSwgMjMsIDQsIDIyMywgNDAsIDExLCAyMywgNCwgNDAsIDIxOSwgMTc5LCAxMSwgMjMsIDQsIDIxOSwgCi0gICAgMTc5LCAxMSwgMjMsIDQsIDIxNywgNDIsIDExLCAyMywgNCwgMjE0LCAxNTcsIDExLCAyMywgNCwgMjI1LCAxMzYsIDExLCAKLSAgICAyMywgNCwgMjUwLCAxMTgsIDExLCAyMywgNCwgMjI0LCAxNjQsIDExLCAyMywgNCwgMjI2LCAyMDUsIDExLCAyMywgMjI2LCAKLSAgICAxLCAyNDcsIDI0MSwgMTEsIDIzLCAyNDUsIDEwOSwgODcsIDExLCAyMywgMjE2LCAxODEsIDg3LCAxMSwgMjMsIDIzNCwgCi0gICAgMjI5LCA4NywgMTEsIDIzLCAyMjUsIDEzNywgODcsIDExLCAyMywgMjIzLCA0MSwgODcsIDExLCAyMywgMjI1LCAxMTIsIDg3LCAKLSAgICAxMSwgMzIsIDYsIDI1NCwgMTUxLCAxMSwgMzIsIDYsIDI1MiwgMzQsIDExLCAzMiwgNiwgMjQzLCAxMTQsIDExLCAzMiwgNiwgCi0gICAgMjQ4LCA2MiwgMTEsIDMyLCA2LCAyNDUsIDEwOCwgMTEsIDMyLCA2LCAyMTAsIDg1LCAxMSwgMzIsIDYsIDI0NSwgNzEsIDExLCAKLSAgICAzMiwgNiwgMjE2LCAxODAsIDExLCAzMiwgNiwgMjM1LCAxOTIsIDExLCAzMiwgNiwgMjM0LCAyMjgsIDExLCAzMiwgNiwgCi0gICAgMjMzLCAxMDQsIDExLCAzMiwgNiwgMjMwLCAxMDcsIDExLCAzMiwgNiwgMjI3LCAyNDIsIDExLCAzMiwgNiwgMjExLCAxNTcsIAotICAgIDExLCAzMiwgNiwgMjI2LCAyMDMsIDExLCAzMiwgNiwgMjI1LCAxMTEsIDExLCAzMiwgNiwgMjIzLCA0MCwgMTEsIDMyLCA2LCAKLSAgICAyMTYsIDE4MSwgODcsIDExLCAzMiwgNiwgMjE5LCAxNzksIDExLCAzMiwgNiwgMjE3LCA0MiwgMTEsIDMyLCA2LCAyMTQsIAotICAgIDE1NywgMTEsIDMyLCA2LCAyMjUsIDEzNiwgMTEsIDMyLCA2LCAyNTAsIDExOCwgMTEsIDMyLCA2LCAyMjQsIDE2NCwgMTEsIAotICAgIDMyLCA2LCAyMjYsIDIwNSwgMTEsIDMyLCAyMjksIDIyNiwgMTEsIDMyLCA0LCAyNTQsIDE1MSwgMTEsIDMyLCA0LCAyNTIsIAotICAgIDM0LCAxMSwgMzIsIDQsIDI0MywgMTE0LCAxMSwgMzIsIDQsIDI0OCwgNjIsIDExLCAzMiwgNCwgMjQ1LCAxMDgsIDExLCAzMiwgCi0gICAgNCwgMjEwLCA4NSwgMTEsIDMyLCA0LCAyNDUsIDcxLCAxMSwgMzIsIDQsIDIxNiwgMTgwLCAxMSwgMzIsIDQsIDIzNSwgMTkyLCAKLSAgICAxMSwgMzIsIDQsIDIzNCwgMjI4LCAxMSwgMzIsIDQsIDIzMywgMTA0LCAxMSwgMzIsIDQsIDIzMCwgMTA3LCAxMSwgMzIsIDQsIAotICAgIDIyNywgMjQyLCAxMSwgMzIsIDQsIDIxMSwgMTU3LCAxMSwgMzIsIDQsIDIyNiwgMjAzLCAxMSwgMzIsIDQsIDIyNSwgMTExLCAKLSAgICAxMSwgMzIsIDQsIDIyMywgNDAsIDExLCAzMiwgNCwgNDAsIDIxOSwgMTc5LCAxMSwgMzIsIDQsIDIxOSwgMTc5LCAxMSwgMzIsIAotICAgIDQsIDIxNywgNDIsIDExLCAzMiwgNCwgMjE0LCAxNTcsIDExLCAzMiwgNCwgMjI1LCAxMzYsIDExLCAzMiwgNCwgMjUwLCAKLSAgICAxMTgsIDExLCAzMiwgNCwgMjI0LCAxNjQsIDExLCAzMiwgNCwgMjI2LCAyMDUsIDExLCAzMiwgMjI2LCAxLCAyNDcsIDI0MSwgCi0gICAgMTEsIDMyLCAyNDUsIDEwOSwgODcsIDExLCAzMiwgMjE2LCAxODEsIDg3LCAxMSwgMzIsIDIzNCwgMjI5LCA4NywgMTEsIDMyLCAKLSAgICAyMjUsIDEzNywgODcsIDExLCAzMiwgMjIzLCA0MSwgODcsIDExLCAzMiwgMjI1LCAxMTIsIDg3LCAxMSwgMjMsIDMyLCA2LCAKLSAgICAyNTQsIDE1MSwgMTEsIDIzLCAzMiwgNiwgMjUyLCAzNCwgMTEsIDIzLCAzMiwgNiwgMjQzLCAxMTQsIDExLCAyMywgMzIsIDYsIAotICAgIDI0OCwgNjIsIDExLCAyMywgMzIsIDYsIDI0NSwgMTA4LCAxMSwgMjMsIDMyLCA2LCAyMTAsIDg1LCAxMSwgMjMsIDMyLCA2LCAKLSAgICAyNDUsIDcxLCAxMSwgMjMsIDMyLCA2LCAyMTYsIDE4MCwgMTEsIDIzLCAzMiwgNiwgMjM1LCAxOTIsIDExLCAyMywgMzIsIDYsIAotICAgIDIzNCwgMjI4LCAxMSwgMjMsIDMyLCA2LCAyMzMsIDEwNCwgMTEsIDIzLCAzMiwgNiwgMjMwLCAxMDcsIDExLCAyMywgMzIsIAotICAgIDYsIDIyNywgMjQyLCAxMSwgMjMsIDMyLCA2LCAyMTEsIDE1NywgMTEsIDIzLCAzMiwgNiwgMjI2LCAyMDMsIDExLCAyMywgCi0gICAgMzIsIDYsIDIyNSwgMTExLCAxMSwgMjMsIDMyLCA2LCAyMjMsIDQwLCAxMSwgMjMsIDMyLCA2LCAyMTYsIDE4MSwgODcsIDExLCAKLSAgICAyMywgMzIsIDYsIDIxOSwgMTc5LCAxMSwgMjMsIDMyLCA2LCAyMTcsIDQyLCAxMSwgMjMsIDMyLCA2LCAyMTQsIDE1NywgMTEsIAotICAgIDIzLCAzMiwgNiwgMjI1LCAxMzYsIDExLCAyMywgMzIsIDYsIDI1MCwgMTE4LCAxMSwgMjMsIDMyLCA2LCAyMjQsIDE2NCwgCi0gICAgMTEsIDIzLCAzMiwgNiwgMjI2LCAyMDUsIDExLCAyMywgMzIsIDIyOSwgMjI2LCAxMSwgMjMsIDMyLCA0LCAyNTQsIDE1MSwgCi0gICAgMTEsIDIzLCAzMiwgNCwgMjUyLCAzNCwgMTEsIDIzLCAzMiwgNCwgMjQzLCAxMTQsIDExLCAyMywgMzIsIDQsIDI0OCwgNjIsIAotICAgIDExLCAyMywgMzIsIDQsIDI0NSwgMTA4LCAxMSwgMjMsIDMyLCA0LCAyMTAsIDg1LCAxMSwgMjMsIDMyLCA0LCAyNDUsIDcxLCAKLSAgICAxMSwgMjMsIDMyLCA0LCAyMTYsIDE4MCwgMTEsIDIzLCAzMiwgNCwgMjM1LCAxOTIsIDExLCAyMywgMzIsIDQsIDIzNCwgCi0gICAgMjI4LCAxMSwgMjMsIDMyLCA0LCAyMzMsIDEwNCwgMTEsIDIzLCAzMiwgNCwgMjMwLCAxMDcsIDExLCAyMywgMzIsIDQsIAotICAgIDIyNywgMjQyLCAxMSwgMjMsIDMyLCA0LCAyMTEsIDE1NywgMTEsIDIzLCAzMiwgNCwgMjI2LCAyMDMsIDExLCAyMywgMzIsIAotICAgIDQsIDIyNSwgMTExLCAxMSwgMjMsIDMyLCA0LCAyMjMsIDQwLCAxMSwgMjMsIDMyLCA0LCA0MCwgMjE5LCAxNzksIDExLCAyMywgCi0gICAgMzIsIDQsIDIxOSwgMTc5LCAxMSwgMjMsIDMyLCA0LCAyMTcsIDQyLCAxMSwgMjMsIDMyLCA0LCAyMTQsIDE1NywgMTEsIDIzLCAKLSAgICAzMiwgNCwgMjI1LCAxMzYsIDExLCAyMywgMzIsIDQsIDI1MCwgMTE4LCAxMSwgMjMsIDMyLCA0LCAyMjQsIDE2NCwgMTEsIAotICAgIDIzLCAzMiwgNCwgMjI2LCAyMDUsIDExLCAyMywgMzIsIDIyNiwgMSwgMjQ3LCAyNDEsIDExLCAyMywgMzIsIDI0NSwgMTA5LCAKLSAgICA4NywgMTEsIDIzLCAzMiwgMjE2LCAxODEsIDg3LCAxMSwgMjMsIDMyLCAyMzQsIDIyOSwgODcsIDExLCAyMywgMzIsIDIyNSwgCi0gICAgMTM3LCA4NywgMTEsIDIzLCAzMiwgMjIzLCA0MSwgODcsIDExLCAyMywgMzIsIDIyNSwgMTEyLCA4NywgMTEsIDM1LCAyMywgCi0gICAgNiwgMjU0LCAxNTEsIDExLCAzNSwgMjMsIDYsIDI1MiwgMzQsIDExLCAzNSwgMjMsIDYsIDI0MywgMTE0LCAxMSwgMzUsIDIzLCAKLSAgICA2LCAyNDgsIDYyLCAxMSwgMzUsIDIzLCA2LCAyNDUsIDEwOCwgMTEsIDM1LCAyMywgNiwgMjEwLCA4NSwgMTEsIDM1LCAyMywgCi0gICAgNiwgMjQ1LCA3MSwgMTEsIDM1LCAyMywgNiwgMjE2LCAxODAsIDExLCAzNSwgMjMsIDYsIDIzNSwgMTkyLCAxMSwgMzUsIDIzLCAKLSAgICA2LCAyMzQsIDIyOCwgMTEsIDM1LCAyMywgNiwgMjMzLCAxMDQsIDExLCAzNSwgMjMsIDYsIDIzMCwgMTA3LCAxMSwgMzUsIAotICAgIDIzLCA2LCAyMjcsIDI0MiwgMTEsIDM1LCAyMywgNiwgMjExLCAxNTcsIDExLCAzNSwgMjMsIDYsIDIyNiwgMjAzLCAxMSwgCi0gICAgMzUsIDIzLCA2LCAyMjUsIDExMSwgMTEsIDM1LCAyMywgNiwgMjIzLCA0MCwgMTEsIDM1LCAyMywgNiwgMjE2LCAxODEsIDg3LCAKLSAgICAxMSwgMzUsIDIzLCA2LCAyMTksIDE3OSwgMTEsIDM1LCAyMywgNiwgMjE3LCA0MiwgMTEsIDM1LCAyMywgNiwgMjE0LCAxNTcsIAotICAgIDExLCAzNSwgMjMsIDYsIDIyNSwgMTM2LCAxMSwgMzUsIDIzLCA2LCAyNTAsIDExOCwgMTEsIDM1LCAyMywgNiwgMjI0LCAKLSAgICAxNjQsIDExLCAzNSwgMjMsIDYsIDIyNiwgMjA1LCAxMSwgMzUsIDIzLCAyMjksIDIyNiwgMTEsIDM1LCAyMywgNCwgMjU0LCAKLSAgICAxNTEsIDExLCAzNSwgMjMsIDQsIDI1MiwgMzQsIDExLCAzNSwgMjMsIDQsIDI0MywgMTE0LCAxMSwgMzUsIDIzLCA0LCAyNDgsIAotICAgIDYyLCAxMSwgMzUsIDIzLCA0LCAyNDUsIDEwOCwgMTEsIDM1LCAyMywgNCwgMjEwLCA4NSwgMTEsIDM1LCAyMywgNCwgMjQ1LCAKLSAgICA3MSwgMTEsIDM1LCAyMywgNCwgMjE2LCAxODAsIDExLCAzNSwgMjMsIDQsIDIzNSwgMTkyLCAxMSwgMzUsIDIzLCA0LCAyMzQsIAotICAgIDIyOCwgMTEsIDM1LCAyMywgNCwgMjMzLCAxMDQsIDExLCAzNSwgMjMsIDQsIDIzMCwgMTA3LCAxMSwgMzUsIDIzLCA0LCAKLSAgICAyMjcsIDI0MiwgMTEsIDM1LCAyMywgNCwgMjExLCAxNTcsIDExLCAzNSwgMjMsIDQsIDIyNiwgMjAzLCAxMSwgMzUsIDIzLCAKLSAgICA0LCAyMjUsIDExMSwgMTEsIDM1LCAyMywgNCwgMjIzLCA0MCwgMTEsIDM1LCAyMywgNCwgNDAsIDIxOSwgMTc5LCAxMSwgMzUsIAotICAgIDIzLCA0LCAyMTksIDE3OSwgMTEsIDM1LCAyMywgNCwgMjE3LCA0MiwgMTEsIDM1LCAyMywgNCwgMjE0LCAxNTcsIDExLCAzNSwgCi0gICAgMjMsIDQsIDIyNSwgMTM2LCAxMSwgMzUsIDIzLCA0LCAyNTAsIDExOCwgMTEsIDM1LCAyMywgNCwgMjI0LCAxNjQsIDExLCAKLSAgICAzNSwgMjMsIDQsIDIyNiwgMjA1LCAxMSwgMzUsIDIzLCAyMjYsIDEsIDI0NywgMjQxLCAxMSwgMzUsIDIzLCAyNDUsIDEwOSwgCi0gICAgODcsIDExLCAzNSwgMjMsIDIxNiwgMTgxLCA4NywgMTEsIDM1LCAyMywgMjM0LCAyMjksIDg3LCAxMSwgMzUsIDIzLCAyMjUsIAotICAgIDEzNywgODcsIDExLCAzNSwgMjMsIDIyMywgNDEsIDg3LCAxMSwgMzUsIDIzLCAyMjUsIDExMiwgODcsIDExLCAzNSwgMjMsIAotICAgIDMyLCA2LCAyNTQsIDE1MSwgMTEsIDM1LCAyMywgMzIsIDYsIDI1MiwgMzQsIDExLCAzNSwgMjMsIDMyLCA2LCAyNDMsIDExNCwgCi0gICAgMTEsIDM1LCAyMywgMzIsIDYsIDI0OCwgNjIsIDExLCAzNSwgMjMsIDMyLCA2LCAyNDUsIDEwOCwgMTEsIDM1LCAyMywgMzIsIAotICAgIDYsIDIxMCwgODUsIDExLCAzNSwgMjMsIDMyLCA2LCAyNDUsIDcxLCAxMSwgMzUsIDIzLCAzMiwgNiwgMjE2LCAxODAsIDExLCAKLSAgICAzNSwgMjMsIDMyLCA2LCAyMzUsIDE5MiwgMTEsIDM1LCAyMywgMzIsIDYsIDIzNCwgMjI4LCAxMSwgMzUsIDIzLCAzMiwgNiwgCi0gICAgMjMzLCAxMDQsIDExLCAzNSwgMjMsIDMyLCA2LCAyMzAsIDEwNywgMTEsIDM1LCAyMywgMzIsIDYsIDIyNywgMjQyLCAxMSwgCi0gICAgMzUsIDIzLCAzMiwgNiwgMjExLCAxNTcsIDExLCAzNSwgMjMsIDMyLCA2LCAyMjYsIDIwMywgMTEsIDM1LCAyMywgMzIsIDYsIAotICAgIDIyNSwgMTExLCAxMSwgMzUsIDIzLCAzMiwgNiwgMjIzLCA0MCwgMTEsIDM1LCAyMywgMzIsIDYsIDIxNiwgMTgxLCA4NywgCi0gICAgMTEsIDM1LCAyMywgMzIsIDYsIDIxOSwgMTc5LCAxMSwgMzUsIDIzLCAzMiwgNiwgMjE3LCA0MiwgMTEsIDM1LCAyMywgMzIsIAotICAgIDYsIDIxNCwgMTU3LCAxMSwgMzUsIDIzLCAzMiwgNiwgMjI1LCAxMzYsIDExLCAzNSwgMjMsIDMyLCA2LCAyNTAsIDExOCwgCi0gICAgMTEsIDM1LCAyMywgMzIsIDYsIDIyNCwgMTY0LCAxMSwgMzUsIDIzLCAzMiwgNiwgMjI2LCAyMDUsIDExLCAzNSwgMjMsIDMyLCAKLSAgICAyMjksIDIyNiwgMTEsIDM1LCAyMywgMzIsIDQsIDI1NCwgMTUxLCAxMSwgMzUsIDIzLCAzMiwgNCwgMjUyLCAzNCwgMTEsIAotICAgIDM1LCAyMywgMzIsIDQsIDI0MywgMTE0LCAxMSwgMzUsIDIzLCAzMiwgNCwgMjQ4LCA2MiwgMTEsIDM1LCAyMywgMzIsIDQsIAotICAgIDI0NSwgMTA4LCAxMSwgMzUsIDIzLCAzMiwgNCwgMjEwLCA4NSwgMTEsIDM1LCAyMywgMzIsIDQsIDI0NSwgNzEsIDExLCAzNSwgCi0gICAgMjMsIDMyLCA0LCAyMTYsIDE4MCwgMTEsIDM1LCAyMywgMzIsIDQsIDIzNSwgMTkyLCAxMSwgMzUsIDIzLCAzMiwgNCwgMjM0LCAKLSAgICAyMjgsIDExLCAzNSwgMjMsIDMyLCA0LCAyMzMsIDEwNCwgMTEsIDM1LCAyMywgMzIsIDQsIDIzMCwgMTA3LCAxMSwgMzUsIAotICAgIDIzLCAzMiwgNCwgMjI3LCAyNDIsIDExLCAzNSwgMjMsIDMyLCA0LCAyMTEsIDE1NywgMTEsIDM1LCAyMywgMzIsIDQsIDIyNiwgCi0gICAgMjAzLCAxMSwgMzUsIDIzLCAzMiwgNCwgMjI1LCAxMTEsIDExLCAzNSwgMjMsIDMyLCA0LCAyMjMsIDQwLCAxMSwgMzUsIDIzLCAKLSAgICAzMiwgNCwgNDAsIDIxOSwgMTc5LCAxMSwgMzUsIDIzLCAzMiwgNCwgMjE5LCAxNzksIDExLCAzNSwgMjMsIDMyLCA0LCAyMTcsIAotICAgIDQyLCAxMSwgMzUsIDIzLCAzMiwgNCwgMjE0LCAxNTcsIDExLCAzNSwgMjMsIDMyLCA0LCAyMjUsIDEzNiwgMTEsIDM1LCAyMywgCi0gICAgMzIsIDQsIDI1MCwgMTE4LCAxMSwgMzUsIDIzLCAzMiwgNCwgMjI0LCAxNjQsIDExLCAzNSwgMjMsIDMyLCA0LCAyMjYsIAotICAgIDIwNSwgMTEsIDM1LCAyMywgMzIsIDIyNiwgMSwgMjQ3LCAyNDEsIDExLCAzNSwgMjMsIDMyLCAyNDUsIDEwOSwgODcsIDExLCAKLSAgICAzNSwgMjMsIDMyLCAyMTYsIDE4MSwgODcsIDExLCAzNSwgMjMsIDMyLCAyMzQsIDIyOSwgODcsIDExLCAzNSwgMjMsIDMyLCAKLSAgICAyMjUsIDEzNywgODcsIDExLCAzNSwgMjMsIDMyLCAyMjMsIDQxLCA4NywgMTEsIDM1LCAyMywgMzIsIDIyNSwgMTEyLCA4NywgCi0gICAgMTEsIDIzLCA2LCAyNDcsIDIzNSwgMTEsIDIzLCA0LCAyNDcsIDIzNSwgMTEsIDIzLCAyMSwgMjEwLCA4NiwgMTEsIDIzLCAKLSAgICAyMSwgMTExLCAxMSwgMjMsIDIxLCAxMDUsIDExLCAyMywgMjEsIDE1OCwgMTEsIDIzLCAyMSwgMTYxLCAxMSwgMjMsIDIxLCAKLSAgICAxOTAsIDExLCAyMywgMjEsIDE5NSwgMTEsIDIzLCAyMSwgMTk5LCAxMSwgMjMsIDIxLCAxOTYsIDExLCAyMywgMjEsIDIwMSwgCi0gICAgMTEsIDEzOSwgMjEsIDIxMCwgODYsIDExLCAxMzksIDIxLCAxMTEsIDExLCAxMzksIDIxLCAxMDUsIDExLCAxMzksIDIxLCAKLSAgICAxNTgsIDExLCAxMzksIDIxLCAxNjEsIDExLCAxMzksIDIxLCAxOTAsIDExLCAxMzksIDIxLCAxOTUsIDExLCAxMzksIDIxLCAKLSAgICAxOTksIDExLCAxMzksIDIxLCAxOTYsIDExLCAxMzksIDIxLCAyMDEsIDExLCAzNSwgMjEsIDIxMCwgODYsIDExLCAzNSwgMjEsIAotICAgIDExMSwgMTEsIDM1LCAyMSwgMTA1LCAxMSwgMzUsIDIxLCAxNTgsIDExLCAzNSwgMjEsIDE2MSwgMTEsIDM1LCAyMSwgMTkwLCAKLSAgICAxMSwgMzUsIDIxLCAxOTUsIDExLCAzNSwgMjEsIDE5OSwgMTEsIDM1LCAyMSwgMTk2LCAxMSwgMzUsIDIxLCAyMDEsIDExLCAKLSAgICAzNSwgMjMsIDIxLCAyMTAsIDg2LCAxMSwgMzUsIDIzLCAyMSwgMTExLCAxMSwgMzUsIDIzLCAyMSwgMTA1LCAxMSwgMzUsIAotICAgIDIzLCAyMSwgMTU4LCAxMSwgMzUsIDIzLCAyMSwgMTYxLCAxMSwgMzUsIDIzLCAyMSwgMTkwLCAxMSwgMzUsIDIzLCAyMSwgCi0gICAgMTk1LCAxMSwgMzUsIDIzLCAyMSwgMTk5LCAxMSwgMzUsIDIzLCAyMSwgMTk2LCAxMSwgMzUsIDIzLCAyMSwgMjAxLCAxMSwgCi0gICAgMjMwLCAxNDMsIDIxLCAyMTAsIDg2LCAxMSwgMjMwLCAxNDMsIDIxLCAxMTEsIDExLCAyMzAsIDE0MywgMjEsIDEwNSwgMTEsIAotICAgIDIzMCwgMTQzLCAyMSwgMTU4LCAxMSwgMjMwLCAxNDMsIDIxLCAxNjEsIDExLCAyMzAsIDE0MywgMjEsIDE5MCwgMTEsIDIzMCwgCi0gICAgMTQzLCAyMSwgMTk1LCAxMSwgMjMwLCAxNDMsIDIxLCAxOTksIDExLCAyMzAsIDE0MywgMjEsIDE5NiwgMTEsIDIzMCwgMTQzLCAKLSAgICAyMSwgMjAxLCA5LCAxMSwgMjU0LCAxNzksIDksIDExLCAyNTIsIDYyLCA5LCAxMSwgMjM1LCAxMjksIDksIDExLCAyNDgsIAotICAgIDIwMywgOSwgMTEsIDIxMiwgMzAsIDksIDExLCAyMTAsIDEwOCwgOSwgMTEsIDI0MiwgNDQsIDksIDExLCAyMTcsIDgxLCA5LCAKLSAgICAxMSwgMjExLCA0MywgOSwgMTEsIDIzNSwgMCwgOSwgMTEsIDIzMywgMTA4LCA5LCAxMSwgMjMxLCA4MywgOSwgMTEsIDIyOCwgCi0gICAgNjcsIDksIDExLCAyMjEsIDE2OCwgOSwgMTEsIDI1NCwgMjA1LCA5LCAxMSwgMjQ0LCAxNTAsIDksIDExLCAyMjIsIDI4LCA5LCAKLSAgICAxMSwgMjI0LCA4NCwgOSwgMTEsIDIyMywgOTgsIDksIDExLCAyMjAsIDYxLCA5LCAxMSwgMjE3LCA4LCA5LCAxMSwgMjE2LCAKLSAgICAxOTMsIDksIDExLCAyMzQsIDEzNSwgOSwgMTEsIDIxNiwgMjAzLCA5LCAxMSwgMjQ4LCAyMjQsIDksIDExLCAyMTAsIDExMSwgCi0gICAgOSwgMTEsIDI0MiwgMjUxLCA5LCAxMSwgMjQ3LCAxMjcsIDI1MiwgNjIsIDksIDExLCAyNDcsIDEyNywgMjI4LCA2NywgOSwgCi0gICAgMTEsIDI0NywgMTI3LCAyNDQsIDE1MCwgOSwgMTEsIDI0NywgMTI3LCAyMjQsIDg0LCA5LCAxMSwgNjUsIDI1MiwgNjIsIDksIAotICAgIDExLCA2NSwgMjM1LCAxMjksIDksIDExLCA2NSwgMjQxLCAyMjUsIDksIDExLCA2NSwgMjQyLCA0NCwgOSwgMTEsIDY1LCAKLSAgICAyMTEsIDQzLCA5LCAxMSwgNjUsIDIzNSwgMCwgOSwgMTEsIDY1LCAyMzMsIDEwOCwgOSwgMTEsIDY1LCAyMzEsIDgzLCA5LCAKLSAgICAxMSwgNjUsIDIyOCwgNjcsIDksIDExLCA2NSwgMjIxLCAxNjgsIDksIDExLCA2NSwgMjU0LCAyMDUsIDksIDExLCA2NSwgCi0gICAgMjQ0LCAxNTAsIDksIDExLCA2NSwgMjIyLCAyOCwgOSwgMTEsIDY1LCAyMjQsIDg0LCA5LCAxMSwgNjUsIDIyMCwgNjEsIDksIAotICAgIDExLCA2NSwgMjE3LCA4LCA5LCAxMSwgNjUsIDIxNiwgMTkzLCA5LCAxMSwgNjUsIDIzNCwgMTM1LCA5LCAxMSwgNjUsIDI0OCwgCi0gICAgMjI0LCA5LCAxMSwgNjUsIDI0MiwgMjUxLCA5LCAxMSwgMjE3LCA3NywgMjM1LCAxMjksIDksIDExLCAyMTcsIDc3LCAyNDIsIAotICAgIDQ0LCA5LCAxMSwgMjE3LCA3NywgMjExLCA0MywgOSwgMTEsIDIxNywgNzcsIDIzMywgMTA4LCA5LCAxMSwgMjE3LCA3NywgCi0gICAgMjI4LCA2NywgOSwgMTEsIDIxNywgNzcsIDIyMSwgMTY4LCA5LCAxMSwgMjE3LCA3NywgMjU0LCAyMDUsIDksIDExLCAyMTcsIAotICAgIDc3LCAyMjIsIDI4LCA5LCAxMSwgMjE3LCA3NywgMjI0LCA4NCwgOSwgMTEsIDIxNywgNzcsIDIyMCwgNjEsIDksIDExLCAKLSAgICAyMTcsIDc3LCAyMzQsIDEzNSwgOSwgMTEsIDIxNywgNzcsIDI0OCwgMjI0LCA5LCAxMSwgMjE3LCA3NywgMjQyLCAyNTEsIDksIAotICAgIDExLCAyMTcsIDc3LCAyNDcsIDEyNywgMjI4LCA2NywgOSwgMTEsIDIxNywgNzcsIDI0NywgMTI3LCAyMjQsIDg0LCA5LCAxMSwgCi0gICAgMjE4LCAxMTIsIDI1MiwgNjIsIDksIDExLCAyMTgsIDExMiwgMjM1LCAxMjksIDksIDExLCAyMTgsIDExMiwgMjQxLCAyMjUsIAotICAgIDksIDExLCAyMTgsIDExMiwgMjQyLCA0NCwgOSwgMTEsIDIxOCwgMTEyLCAyMTcsIDgxLCA5LCAxMSwgMjE4LCAxMTIsIDIxMSwgCi0gICAgNDMsIDksIDExLCAyMTgsIDExMiwgMjM1LCAwLCA5LCAxMSwgMjE4LCAxMTIsIDIzMSwgODMsIDksIDExLCAyMTgsIDExMiwgCi0gICAgMjI4LCA2NywgOSwgMTEsIDIxOCwgMTEyLCAyMjEsIDE2OCwgOSwgMTEsIDIxOCwgMTEyLCAyNTQsIDIwNSwgOSwgMTEsIAotICAgIDIxOCwgMTEyLCAyNDQsIDE1MCwgOSwgMTEsIDIxOCwgMTEyLCAyMjIsIDI4LCA5LCAxMSwgMjE4LCAxMTIsIDIyNCwgODQsIAotICAgIDksIDExLCAyMTgsIDExMiwgMjIwLCA2MSwgOSwgMTEsIDIxOCwgMTEyLCAyMTcsIDgsIDksIDExLCAyMTgsIDExMiwgMjE2LCAKLSAgICAxOTMsIDksIDExLCAyMTgsIDExMiwgMjM0LCAxMzUsIDksIDExLCAyMTgsIDExMiwgMjQ4LCAyMjQsIDksIDExLCAyMTgsIAotICAgIDExMiwgMjEwLCAxMTEsIDksIDExLCAyMTgsIDExMiwgMjQyLCAyNTEsIDksIDExLCAyMTgsIDExMiwgMjQ3LCAxMjcsIDI1MiwgCi0gICAgNjIsIDksIDExLCAyMTgsIDExMiwgMjQ3LCAxMjcsIDI0NCwgMTUwLCA5LCAxMSwgMjMyLCAxMjgsIDI1NCwgMTc5LCA5LCAKLSAgICAxMSwgMjMyLCAxMjgsIDI1MiwgNjIsIDksIDExLCAyMzIsIDEyOCwgMjM1LCAxMjksIDksIDExLCAyMzIsIDEyOCwgMjQ4LCAKLSAgICAyMDMsIDksIDExLCAyMzIsIDEyOCwgMjQxLCAyMjUsIDksIDExLCAyMzIsIDEyOCwgMjEyLCAzMCwgOSwgMTEsIDIzMiwgCi0gICAgMTI4LCAyMTAsIDEwOCwgOSwgMTEsIDIzMiwgMTI4LCAyNDIsIDQ0LCA5LCAxMSwgMjMyLCAxMjgsIDIxNywgODEsIDksIDExLCAKLSAgICAyMzIsIDEyOCwgMjExLCA0MywgOSwgMTEsIDIzMiwgMTI4LCAyMzMsIDEwOCwgOSwgMTEsIDIzMiwgMTI4LCAyMzEsIDgzLCAKLSAgICA5LCAxMSwgMjMyLCAxMjgsIDIyOCwgNjcsIDksIDExLCAyMzIsIDEyOCwgMjIxLCAxNjgsIDksIDExLCAyMzIsIDEyOCwgCi0gICAgMjU0LCAyMDUsIDksIDExLCAyMzIsIDEyOCwgMjQ0LCAxNTAsIDksIDExLCAyMzIsIDEyOCwgMjIyLCAyOCwgOSwgMTEsIAotICAgIDIzMiwgMTI4LCAyMjQsIDg0LCA5LCAxMSwgMjMyLCAxMjgsIDIyMywgOTgsIDksIDExLCAyMzIsIDEyOCwgMjIwLCA2MSwgOSwgCi0gICAgMTEsIDIzMiwgMTI4LCAyMTcsIDgsIDksIDExLCAyMzIsIDEyOCwgMjE2LCAxOTMsIDksIDExLCAyMzIsIDEyOCwgMjM0LCAKLSAgICAxMzUsIDksIDExLCAyMzIsIDEyOCwgMjE2LCAyMDMsIDksIDExLCAyMzIsIDEyOCwgMjQ4LCAyMjQsIDksIDExLCAyMzIsIAotICAgIDEyOCwgMjEwLCAxMTEsIDksIDExLCAyMzIsIDEyOCwgMjQyLCAyNTEsIDksIDExLCAxMzksIDI1MiwgNjIsIDksIDExLCAKLSAgICAxMzksIDIzNSwgMTI5LCA5LCAxMSwgMTM5LCAyNDgsIDIwMywgOSwgMTEsIDEzOSwgMjEyLCAzMCwgOSwgMTEsIDEzOSwgCi0gICAgMjEwLCAxMDgsIDksIDExLCAxMzksIDI0MiwgNDQsIDksIDExLCAxMzksIDIxNywgODEsIDksIDExLCAxMzksIDIxMSwgNDMsIAotICAgIDksIDExLCAxMzksIDIzMywgMTA4LCA5LCAxMSwgMTM5LCAyMzEsIDgzLCA5LCAxMSwgMTM5LCAyMjgsIDY3LCA5LCAxMSwgCi0gICAgMTM5LCAyMjEsIDE2OCwgOSwgMTEsIDEzOSwgMjU0LCAyMDUsIDksIDExLCAxMzksIDI0NCwgMTUwLCA5LCAxMSwgMTM5LCAKLSAgICAyMjIsIDI4LCA5LCAxMSwgMTM5LCAyMjQsIDg0LCA5LCAxMSwgMTM5LCAyMjMsIDk4LCA5LCAxMSwgMTM5LCAyMjAsIDYxLCAKLSAgICA5LCAxMSwgMTM5LCAyMTcsIDgsIDksIDExLCAxMzksIDIxNiwgMTkzLCA5LCAxMSwgMTM5LCAyMzQsIDEzNSwgOSwgMTEsIAotICAgIDEzOSwgMjE2LCAyMDMsIDksIDExLCAxMzksIDI0OCwgMjI0LCA5LCAxMSwgMTM5LCAyMTAsIDExMSwgOSwgMTEsIDEzOSwgCi0gICAgMjQyLCAyNTEsIDksIDExLCAyMjYsIDE3MiwgNjYsIDIsIDEyMiwgMiwgMjE3LCA0NCwgOSwgMTEsIDIyNiwgMTcyLCAxMjIsIAotICAgIDIsIDI0OCwgMjAzLCAyMzEsIDIxMCwgODYsIDI0NSwgMjI4LCAyMTEsIDIzOSwgMjMxLCAyMTAsIDg2LCAyMTksIDMwLCAKLSAgICAyMTEsIDIzOSwgMjMxLCAyMTAsIDg2LCAyMTIsIDksIDIxMSwgMjM5LCAyMzEsIDIxMCwgODYsIDIyOCwgNjEsIDIxMSwgCi0gICAgMjM5LCAyMzEsIDIxMCwgODYsIDIyMywgMTE0LCAyNDYsIDEwNCwgMjMxLCAyMTAsIDg2LCAyNDIsIDEzNCwgMjQ2LCAxMDQsIAotICAgIDIzMSwgMjEwLCA4NiwgNzEsIDI0NiwgMTA0LCAyMzEsIDIxMCwgODYsIDEyMywgNjQsIDI1MCwgMTQ5LCAyMzEsIDIxMCwgCi0gICAgODYsIDExMywgNjQsIDI1MCwgMTQ5LCAyMzEsIDIxMCwgODYsIDEzNCwgNjQsIDI1MCwgMTQ5LCAyMzEsIDIxMCwgODYsIAotICAgIDI0NCwgMTksIDY0LCAyNTAsIDE0OSwgMjMxLCAyMTAsIDg2LCAyNDQsIDg5LCA2NCwgMjUwLCAxNDksIDIzMSwgMjEwLCA4NiwgCi0gICAgMjE5LCAxMjcsIDY0LCAyNTAsIDE0OSwgMjMxLCAyMTAsIDg2LCAyMjAsIDEyNCwgNjQsIDI1MCwgMTQ5LCAyMzEsIDIxMCwgCi0gICAgODYsIDI0NSwgMjAxLCA2NCwgMjUwLCAxNDksIDIzMSwgMjEwLCA4NiwgMjI4LCAyMDUsIDY0LCAyNTAsIDE0OSwgMjMxLCAKLSAgICAyMTAsIDg2LCAxMjMsIDY0LCAyNTIsIDE2MSwgMjMxLCAyMTAsIDg2LCAxMTMsIDY0LCAyNTIsIDE2MSwgMjMxLCAyMTAsIAotICAgIDg2LCAxMzQsIDY0LCAyNTIsIDE2MSwgMjMxLCAyMTAsIDg2LCAyNDQsIDE5LCA2NCwgMjUyLCAxNjEsIDIzMSwgMjEwLCA4NiwgCi0gICAgMjQ0LCA4OSwgNjQsIDI1MiwgMTYxLCAyMzEsIDIxMCwgODYsIDIxOSwgMTI3LCA2NCwgMjUyLCAxNjEsIDIzMSwgMjEwLCAKLSAgICA4NiwgMjIwLCAxMjQsIDY0LCAyNTIsIDE2MSwgMjMxLCAyMTAsIDg2LCAyNDUsIDIwMSwgNjQsIDI1MiwgMTYxLCAyMzEsIAotICAgIDIxMCwgODYsIDIyOCwgMjA1LCA2NCwgMjUyLCAxNjEsIDIzMSwgMjEwLCA4NiwgMTIzLCA2NCwgMjUwLCA0MiwgMjMxLCAKLSAgICAyMTAsIDg2LCAxMTMsIDY0LCAyNTAsIDQyLCAyMzEsIDIxMCwgODYsIDEzNCwgNjQsIDI1MCwgNDIsIDIzMSwgMjEwLCA4NiwgCi0gICAgMjQ0LCAxOSwgNjQsIDI1MCwgNDIsIDIzMSwgMjEwLCA4NiwgMjQ0LCA4OSwgNjQsIDI1MCwgNDIsIDIzMSwgMjEwLCA4NiwgCi0gICAgMjE5LCAxMjcsIDY0LCAyNTAsIDQyLCAyMzEsIDIxMCwgODYsIDIyMCwgMTI0LCA2NCwgMjUwLCA0MiwgMjMxLCAyMTAsIDg2LCAKLSAgICAyNDUsIDIwMSwgNjQsIDI1MCwgNDIsIDIzMSwgMjEwLCA4NiwgMjI4LCAyMDUsIDY0LCAyNTAsIDQyLCAyMzEsIDIxMCwgODYsIAotICAgIDIyNSwgMjgsIDIzMSwgMjEwLCA4NiwgMjI2LCAxNjAsIDIzMSwgMjEwLCA4NiwgMjUyLCAxNjIsIDIzMSwgMjEwLCA4NiwgCi0gICAgMjUwLCA3OCwgMjMxLCAyMTAsIDg2LCAyMTgsIDI0MSwgMjMxLCAyMTAsIDg2LCAyMTgsIDQwLCAyMzEsIDIxMCwgODYsIAotICAgIDI1MywgMTg3LCAyMzEsIDIxMCwgODYsIDIxMSwgMjMyLCAyMzEsIDIxMCwgODYsIDIzNSwgNjgsIDIzMSwgMjEwLCA4NiwgCi0gICAgMjUyLCAxOTIsIDEzMSwgODYsIDIwMywgMjUyLCAxOTIsIDEzMSwgODYsIDI0MSwgNTAsIDEzMSwgODYsIDI0MSwgNDksIAotICAgIDEzMSwgODYsIDI0MSwgNDgsIDEzMSwgODYsIDI0MSwgNDcsIDEzMSwgODYsIDI0MSwgNDYsIDEzMSwgODYsIDI0MSwgNDUsIAotICAgIDEzMSwgODYsIDI0MSwgNDQsIDEzMSwgODYsIDI0MSwgNDMsIDEzMSwgODYsIDI0MSwgNDIsIDEzMSwgODYsIDI0MSwgNDEsIAotICAgIDEzMSwgODYsIDI0MSwgNDAsIDEzMSwgODYsIDI0MSwgMzksIDEzMSwgODYsIDI0MSwgMzgsIDEzMSwgODYsIDI0MSwgMzcsIAotICAgIDEzMSwgODYsIDI0MSwgMzYsIDEzMSwgODYsIDI0MSwgMzUsIDEzMSwgODYsIDI0MSwgMzQsIDEzMSwgODYsIDI0MSwgMzMsIAotICAgIDEzMSwgODYsIDI0MSwgMzIsIDEzMSwgODYsIDI0MSwgMzEsIDEzMSwgODYsIDI0MSwgMzAsIDEzMSwgODYsIDI0MSwgMjksIAotICAgIDEzMSwgODYsIDI0MSwgMjgsIDEzMSwgODYsIDI0MSwgMjcsIDEzMSwgODYsIDI0MSwgMjYsIDEzMSwgODYsIDI0MSwgMjUsIAotICAgIDEzMSwgODYsIDI0MSwgMjQsIDEzMSwgODYsIDI0MSwgMjMsIDEzMSwgODYsIDI0MSwgMjIsIDEzMSwgODYsIDI0MSwgMjEsIAotICAgIDEzMSwgODYsIDI0MSwgMjAsIDEzMSwgODYsIDI0MSwgMTksIDEzMSwgODYsIDI0MSwgMTgsIDEzMSwgODYsIDI0MSwgMTcsIAotICAgIDEzMSwgODYsIDI0MSwgMTYsIDEzMSwgODYsIDI0MSwgMTUsIDEzMSwgODYsIDI0MSwgMTQsIDEzMSwgODYsIDI0MSwgMTMsIAotICAgIDEzMSwgODYsIDI0MSwgMTIsIDEzMSwgODYsIDI0MSwgMTEsIDEzMSwgODYsIDI0MSwgMTAsIDEzMSwgODYsIDI0MSwgOSwgCi0gICAgMTMxLCA4NiwgMjQxLCA4LCAxMzEsIDg2LCAyNDEsIDcsIDEzMSwgODYsIDI0MSwgNiwgMTMxLCA4NiwgMjQxLCA1LCAxMzEsIAotICAgIDg2LCAyNDEsIDQsIDEzMSwgODYsIDI0MSwgMywgMTMxLCA4NiwgMjQxLCAyLCAxMzEsIDg2LCA2NywgMjUyLCAxOTIsIDEzMSwgCi0gICAgODYsIDIxMywgMjM4LCAxMzEsIDg2LCAyMTMsIDIzNywgMTMxLCA4NiwgMjEzLCAyMzYsIDEzMSwgODYsIDIxMywgMjM1LCAKLSAgICAxMzEsIDg2LCAyMTMsIDIzNCwgMTMxLCA4NiwgMjEzLCAyMzMsIDEzMSwgODYsIDIxMywgMjMyLCAxMzEsIDg2LCAyMTMsIAotICAgIDIzMSwgMTMxLCA4NiwgMjEzLCAyMzAsIDEzMSwgODYsIDIxMywgMjI5LCAxMzEsIDg2LCAyMTMsIDIyOCwgMTMxLCA4NiwgCi0gICAgMjEzLCAyMjcsIDEzMSwgODYsIDIxMywgMjI2LCAxMzEsIDg2LCAyMTMsIDIyNSwgMTMxLCA4NiwgMjEzLCAyMjQsIDEzMSwgCi0gICAgODYsIDIxMywgMjIzLCAxMzEsIDg2LCAyMTMsIDIyMiwgMTMxLCA4NiwgMjEzLCAyMjEsIDEzMSwgODYsIDIxMywgMjIwLCAKLSAgICAxMzEsIDg2LCAyMTMsIDIxOSwgMTMxLCA4NiwgMjEzLCAyMTgsIDEzMSwgODYsIDIxMywgMjE3LCAxMzEsIDg2LCAyMTMsIAotICAgIDIxNiwgMTMxLCA4NiwgMjEzLCAyMTUsIDEzMSwgODYsIDIxMywgMjE0LCAxMzEsIDg2LCAyMTMsIDIxMywgMTMxLCA4NiwgCi0gICAgMjEzLCAyMTIsIDEzMSwgODYsIDIxMywgMjExLCAxMzEsIDg2LCAyMTMsIDIxMCwgMTMxLCA4NiwgMjEzLCAyMDksIDEzMSwgCi0gICAgODYsIDIxMywgMjA4LCAxMzEsIDg2LCAyMTMsIDIwNywgMTMxLCA4NiwgMjEzLCAyMDYsIDEzMSwgODYsIDIxMywgMjA1LCAKLSAgICAxMzEsIDg2LCAyMTMsIDIwNCwgMTMxLCA4NiwgMjEzLCAyMDMsIDEzMSwgODYsIDIxMywgMjAyLCAxMzEsIDg2LCAyMTMsIAotICAgIDIwMSwgMTMxLCA4NiwgMjEzLCAyMDAsIDEzMSwgODYsIDIxMywgMTk5LCAxMzEsIDg2LCAyMTMsIDE5OCwgMTMxLCA4NiwgCi0gICAgMjEzLCAxOTcsIDEzMSwgODYsIDIxMywgMTk2LCAxMzEsIDg2LCAyMTMsIDE5NSwgMTMxLCA4NiwgMjEzLCAxOTQsIDEzMSwgCi0gICAgODYsIDIxMywgMTkzLCAxMzEsIDg2LCAyMTMsIDE5MiwgMTMxLCA4NiwgMjEzLCAxOTEsIDEzMSwgODYsIDIxMywgMTkwLCAKLSAgICAyMjUsIDM2LCAyNTAsIDI1MSwgMjUyLCAxOTIsIDIyNSwgMzYsIDI1MCwgMjUxLCAyNTUsIDE4LCA2NCwgMjE5LCAxNywgCi0gICAgMjI1LCAzNiwgMjUwLCAyNTEsIDExMywgNjQsIDIxOSwgMTcsIDIyNSwgMzYsIDI1MCwgMjUxLCAxMzQsIDY0LCAyMTksIDE3LCAKLSAgICAyMjUsIDM2LCAyNTAsIDI1MSwgMjQ0LCAxOSwgNjQsIDIxOSwgMTcsIDIyNSwgMzYsIDI1MCwgMjUxLCAyNDQsIDg5LCA2NCwgCi0gICAgMjE5LCAxNywgMjI1LCAzNiwgMjUwLCAyNTEsIDIxOSwgMTI3LCA2NCwgMjE5LCAxNywgMjI1LCAzNiwgMjUwLCAyNTEsIAotICAgIDIyMCwgMTI0LCA2NCwgMjE5LCAxNywgMjI1LCAzNiwgMjUwLCAyNTEsIDI0NSwgMjAxLCA2NCwgMjE5LCAxNywgMjI1LCAzNiwgCi0gICAgMjUwLCAyNTEsIDIyOCwgMjA1LCA2NCwgMjE5LCAxNywgMjI1LCAzNiwgMjUwLCAyNTEsIDIxNiwgMjQ5LCA2NCwgMjE5LCAKLSAgICAxNywgMjI1LCAzNiwgMjUwLCAyNTEsIDIzNSwgMTQ1LCA2NCwgMjE5LCAxNywgMjI1LCAzNiwgMjUwLCAyNTEsIDIzNCwgMzcsIAotICAgIDY0LCAyMTksIDE3LCAyMjUsIDM2LCAyNTAsIDI1MSwgMjI0LCAxOCwgNjQsIDIxOSwgMTcsIDIyNSwgMzYsIDI1MCwgMjUxLCAKLSAgICAyMzQsIDg1LCA2NCwgMjE5LCAxNywgMjI1LCAzNiwgMjUwLCAyNTEsIDI1NSwgMTgsIDY0LCAyNDEsIDIzMiwgMjI1LCAzNiwgCi0gICAgMjUwLCAyNTEsIDExMywgNjQsIDI0MSwgMjMyLCAyMjUsIDM2LCAyNTAsIDI1MSwgMTM0LCA2NCwgMjQxLCAyMzIsIDIyNSwgCi0gICAgMzYsIDI1MCwgMjUxLCAyNDQsIDE5LCA2NCwgMjQxLCAyMzIsIDIyNSwgMzYsIDI1MCwgMjUxLCAyNDQsIDg5LCA2NCwgMjQxLCAKLSAgICAyMzIsIDIyNSwgMzYsIDI1MCwgMjUxLCAyMTksIDEyNywgNjQsIDI0MSwgMjMyLCAyMjUsIDM2LCAyNTAsIDI1MSwgMjIwLCAKLSAgICAxMjQsIDY0LCAyNDEsIDIzMiwgMjI1LCAzNiwgMjUwLCAyNTEsIDI0NSwgMjAxLCA2NCwgMjQxLCAyMzIsIDIyNSwgMzYsIAotICAgIDI1MCwgMjUxLCAyMjgsIDIwNSwgNjQsIDI0MSwgMjMyLCAyMjUsIDM2LCAyNTAsIDI1MSwgMjE2LCAyNDksIDY0LCAyNDEsIAotICAgIDIzMiwgMjI1LCAzNiwgMjUwLCAyNTEsIDIzNSwgMTQ1LCA2NCwgMjQxLCAyMzIsIDIyNSwgMzYsIDI1MCwgMjUxLCAyMzQsIAotICAgIDM3LCA2NCwgMjQxLCAyMzIsIDIyNSwgMzYsIDI1MCwgMjUxLCAyMjQsIDE4LCA2NCwgMjQxLCAyMzIsIDIyNSwgMzYsIDI1MCwgCi0gICAgMjUxLCAyMzQsIDg1LCA2NCwgMjQxLCAyMzIsIDIyNSwgMzYsIDI1MCwgMjUxLCAyNTUsIDE4LCA2NCwgMjQ3LCAyNTUsIAotICAgIDIyNSwgMzYsIDI1MCwgMjUxLCAxMTMsIDY0LCAyNDcsIDI1NSwgMjI1LCAzNiwgMjUwLCAyNTEsIDEzNCwgNjQsIDI0NywgCi0gICAgMjU1LCAyMjUsIDM2LCAyNTAsIDI1MSwgMjQ0LCAxOSwgNjQsIDI0NywgMjU1LCAyMjUsIDM2LCAyNTAsIDI1MSwgMjQ0LCAKLSAgICA4OSwgNjQsIDI0NywgMjU1LCAyMjUsIDM2LCAyNTAsIDI1MSwgMjE5LCAxMjcsIDY0LCAyNDcsIDI1NSwgMjI1LCAzNiwgCi0gICAgMjUwLCAyNTEsIDIyMCwgMTI0LCA2NCwgMjQ3LCAyNTUsIDIyNSwgMzYsIDI1MCwgMjUxLCAyNDUsIDIwMSwgNjQsIDI0NywgCi0gICAgMjU1LCAyMjUsIDM2LCAyNTAsIDI1MSwgMjI4LCAyMDUsIDY0LCAyNDcsIDI1NSwgMjI1LCAzNiwgMjUwLCAyNTEsIDIxNiwgCi0gICAgMjQ5LCA2NCwgMjQ3LCAyNTUsIDIyNSwgMzYsIDI1MCwgMjUxLCAyMzUsIDE0NSwgNjQsIDI0NywgMjU1LCAyMjUsIDM2LCAKLSAgICAyNTAsIDI1MSwgMjM0LCAzNywgNjQsIDI0NywgMjU1LCAyMjUsIDM2LCAyNTAsIDI1MSwgMjI0LCAxOCwgNjQsIDI0NywgCi0gICAgMjU1LCAyMjUsIDM2LCAyNTAsIDI1MSwgMjM0LCA4NSwgNjQsIDI0NywgMjU1LCAyMjUsIDM2LCAyNTAsIDI1MSwgODUsIAotICAgIDIzNSwgNjgsIDIyNSwgMzYsIDI1MCwgMjUxLCAyNTUsIDE4LCA2NCwgMjQ5LCAyNTAsIDIyNSwgMzYsIDI1MCwgMjUxLCAKLSAgICAxMTMsIDY0LCAyNDksIDI1MCwgMjI1LCAzNiwgMjUwLCAyNTEsIDEzNCwgNjQsIDI0OSwgMjUwLCAyMjUsIDM2LCAyNTAsIAotICAgIDI1MSwgMjQ0LCAxOSwgNjQsIDI0OSwgMjUwLCAyMjUsIDM2LCAyNTAsIDI1MSwgMjQ0LCA4OSwgNjQsIDI0OSwgMjUwLCAKLSAgICAyMjUsIDM2LCAyNTAsIDI1MSwgMjE5LCAxMjcsIDY0LCAyNDksIDI1MCwgMjI1LCAzNiwgMjUwLCAyNTEsIDIyMCwgMTI0LCAKLSAgICA2NCwgMjQ5LCAyNTAsIDIyNSwgMzYsIDI1MCwgMjUxLCAyNDUsIDIwMSwgNjQsIDI0OSwgMjUwLCAyMjUsIDM2LCAyNTAsIAotICAgIDI1MSwgMjI4LCAyMDUsIDY0LCAyNDksIDI1MCwgMjI1LCAzNiwgMjUwLCAyNTEsIDIxNiwgMjQ5LCA2NCwgMjQ5LCAyNTAsIAotICAgIDIyNSwgMzYsIDI1MCwgMjUxLCAyMzUsIDE0NSwgNjQsIDI0OSwgMjUwLCAyMjUsIDM2LCAyNTAsIDI1MSwgMjM0LCAzNywgCi0gICAgNjQsIDI0OSwgMjUwLCAyMjUsIDM2LCAyNTAsIDI1MSwgMjI0LCAxOCwgNjQsIDI0OSwgMjUwLCAyMjUsIDM2LCAyNTAsIAotICAgIDI1MSwgMjM0LCA4NSwgNjQsIDI0OSwgMjUwLCAyMjUsIDM2LCAyNTAsIDI1MSwgNzEsIDIzNSwgNjgsIDIxLCAyMTAsIDg3LCAKLSAgICAyNDMsIDIzNiwgMjE4LCAxMzEsIDIxLCAyMTAsIDg3LCAyNDksIDIyNywgMjEsIDEyMywgMjQ5LCAyMjcsIDIxLCAxMTMsIAotICAgIDI0OSwgMjI3LCAyMSwgMTM0LCAyNDksIDIyNywgMjEsIDI0NCwgMTksIDI0OSwgMjI3LCAyMSwgMjQ0LCA4OSwgMjQ5LCAKLSAgICAyMjcsIDIxLCAyMTksIDEyNywgMjQ5LCAyMjcsIDIxLCAyMjAsIDEyNCwgMjQ5LCAyMjcsIDIxLCAyNDUsIDIwMSwgMjQ5LCAKLSAgICAyMjcsIDIxLCAyMjgsIDIwNSwgMjQ5LCAyMjcsIDg4LCA3LCA2LCAxLCA2MSwgODgsIDcsIDYsIDEsIDI1MywgMTY2LCA4OCwgCi0gICAgNywgNiwgMSwgMjUxLCA3NCwgODgsIDcsIDYsIDEsIDI0OSwgNjgsIDg4LCA3LCA2LCAxLCA3NiwgODgsIDcsIDYsIDEsIAotICAgIDI0NSwgMTQsIDg4LCA3LCA2LCAxLCAyNDMsIDIwOSwgODgsIDcsIDYsIDEsIDI0MiwgNjcsIDg4LCA3LCA2LCAxLCA3NCwgCi0gICAgODgsIDcsIDYsIDEsIDIzNSwgMTUwLCA4OCwgNywgNiwgMSwgMjM1LCAyOSwgODgsIDcsIDYsIDEsIDE1NiwgODgsIDcsIDYsIAotICAgIDEsIDE5NCwgODgsIDcsIDYsIDEsIDIzMCwgMzAsIDg4LCA3LCA2LCAxLCA3OCwgODgsIDcsIDYsIDEsIDIyNiwgMTA5LCA4OCwgCi0gICAgNywgNiwgMSwgMjI0LCA5OSwgODgsIDcsIDYsIDEsIDE1MywgODgsIDcsIDYsIDEsIDIyMiwgOTMsIDg4LCA3LCA2LCAxLCAKLSAgICAyMTcsIDE1MywgODgsIDcsIDYsIDEsIDY5LCA4OCwgNywgNiwgMSwgMjE0LCAxMDUsIDg4LCA3LCA2LCAxLCAyMTIsIDk4LCAKLSAgICA4OCwgNywgNiwgMSwgMjExLCAxNzgsIDg4LCA3LCA2LCAxLCAyMTEsIDExNywgODgsIDcsIDYsIDEsIDIxMCwgMTU5LCAyMTYsIAotICAgIDcsIDIyMCwgNTUsIDI1MSwgMTY1LCA3LCA2LCAxLCAyMjIsIDkzLCAzNywgMzIsIDcsIDYsIDEsIDI1MSwgNzQsIDM3LCAzMiwgCi0gICAgNywgNiwgMSwgMTUzLCAzNywgMjUwLCAxOTksIDM3LCAyMTEsIDE4MCwgOTIsIDcsIDYsIDEsIDYxLCA5MiwgNywgNiwgMSwgCi0gICAgMjUzLCAxNjYsIDkyLCA3LCA2LCAxLCAyNTEsIDc0LCA5MiwgNywgNiwgMSwgMjQ5LCA2OCwgOTIsIDcsIDYsIDEsIDc2LCAKLSAgICA5MiwgNywgNiwgMSwgMjQ1LCAxNCwgOTIsIDcsIDYsIDEsIDI0MywgMjA5LCA5MiwgNywgNiwgMSwgMjQyLCA2NywgOTIsIDcsIAotICAgIDYsIDEsIDc0LCA5MiwgNywgNiwgMSwgMjM1LCAxNTAsIDkyLCA3LCA2LCAxLCAyMzUsIDI5LCA5MiwgNywgNiwgMSwgMTU2LCAKLSAgICA5MiwgNywgNiwgMSwgMTk0LCA5MiwgNywgNiwgMSwgMjMwLCAzMCwgOTIsIDcsIDYsIDEsIDc4LCA5MiwgNywgNiwgMSwgCi0gICAgMjI2LCAxMDksIDkyLCA3LCA2LCAxLCAyMjQsIDk5LCA5MiwgNywgNiwgMSwgMTUzLCA5MiwgNywgNiwgMSwgMjIyLCA5MywgCi0gICAgOTIsIDcsIDYsIDEsIDIxNywgMTUzLCA5MiwgNywgNiwgMSwgNjksIDkyLCA3LCA2LCAxLCAyMTQsIDEwNSwgOTIsIDcsIDYsIAotICAgIDEsIDIxMiwgOTgsIDkyLCA3LCA2LCAxLCAyMTEsIDE3OCwgOTIsIDcsIDYsIDEsIDIxMSwgMTE3LCA5MiwgNywgNiwgMSwgCi0gICAgMjEwLCAxNTksIDkyLCAyNDAsIDIwOCwgOTIsIDIzMCwgNTQsIDkyLCAyMjEsIDE4NSwgOTIsIDIxOCwgMjI4LCA5MiwgMjI0LCAKLSAgICAyMjEsIDkyLCAyMTIsIDIzLCAxNTIsIDM3LCA3LCA2LCAxLCA2MSwgMTUyLCAzNywgNywgNiwgMSwgMjUzLCAxNjYsIDE1MiwgCi0gICAgMzcsIDcsIDYsIDEsIDI1MSwgNzQsIDE1MiwgMzcsIDcsIDYsIDEsIDI0OSwgNjgsIDE1MiwgMzcsIDcsIDYsIDEsIDc2LCAKLSAgICAxNTIsIDM3LCA3LCA2LCAxLCAyNDUsIDE0LCAxNTIsIDM3LCA3LCA2LCAxLCAyNDMsIDIwOSwgMTUyLCAzNywgNywgNiwgMSwgCi0gICAgMjQyLCA2NywgMTUyLCAzNywgNywgNiwgMSwgNzQsIDE1MiwgMzcsIDcsIDYsIDEsIDIzNSwgMTUwLCAxNTIsIDM3LCA3LCA2LCAKLSAgICAxLCAyMzUsIDI5LCAxNTIsIDM3LCA3LCA2LCAxLCAxNTYsIDE1MiwgMzcsIDcsIDYsIDEsIDE5NCwgMTUyLCAzNywgNywgNiwgCi0gICAgMSwgMjMwLCAzMCwgMTUyLCAzNywgNywgNiwgMSwgNzgsIDE1MiwgMzcsIDcsIDYsIDEsIDIyNiwgMTA5LCAxNTIsIDM3LCA3LCAKLSAgICA2LCAxLCAyMjQsIDk5LCAxNTIsIDM3LCA3LCA2LCAxLCAxNTMsIDE1MiwgMzcsIDcsIDYsIDEsIDIyMiwgOTMsIDE1MiwgMzcsIAotICAgIDcsIDYsIDEsIDIxNywgMTUzLCAxNTIsIDM3LCA3LCA2LCAxLCA2OSwgMTUyLCAzNywgNywgNiwgMSwgMjE0LCAxMDUsIDE1MiwgCi0gICAgMzcsIDcsIDYsIDEsIDIxMiwgOTgsIDE1MiwgMzcsIDcsIDYsIDEsIDIxMSwgMTc4LCAxNTIsIDM3LCA3LCA2LCAxLCAyMTEsIAotICAgIDExNywgMTUyLCAzNywgNywgNiwgMSwgMjEwLCAxNTksIDIyMywgMTYwLCAyMzEsIDEwMiwgNTAsIDIyMywgMTYwLCAyMzEsIAotICAgIDk5LCA1MCwgMTUyLCA5MiwgNywgNiwgMSwgNjEsIDE1MiwgOTIsIDcsIDYsIDEsIDI1MywgMTY2LCAxNTIsIDkyLCA3LCA2LCAKLSAgICAxLCAyNTEsIDc0LCAxNTIsIDkyLCA3LCA2LCAxLCAyNDksIDY4LCAxNTIsIDkyLCA3LCA2LCAxLCA3NiwgMTUyLCA5MiwgNywgCi0gICAgNiwgMSwgMjQ1LCAxNCwgMTUyLCA5MiwgNywgNiwgMSwgMjQzLCAyMDksIDE1MiwgOTIsIDcsIDYsIDEsIDI0MiwgNjcsIAotICAgIDE1MiwgOTIsIDcsIDYsIDEsIDc0LCAxNTIsIDkyLCA3LCA2LCAxLCAyMzUsIDE1MCwgMTUyLCA5MiwgNywgNiwgMSwgMjM1LCAKLSAgICAyOSwgMTUyLCA5MiwgNywgNiwgMSwgMTU2LCAxNTIsIDkyLCA3LCA2LCAxLCAxOTQsIDE1MiwgOTIsIDcsIDYsIDEsIDIzMCwgCi0gICAgMzAsIDE1MiwgOTIsIDcsIDYsIDEsIDc4LCAxNTIsIDkyLCA3LCA2LCAxLCAyMjYsIDEwOSwgMTUyLCA5MiwgNywgNiwgMSwgCi0gICAgMjI0LCA5OSwgMTUyLCA5MiwgNywgNiwgMSwgMTUzLCAxNTIsIDkyLCA3LCA2LCAxLCAyMjIsIDkzLCAxNTIsIDkyLCA3LCA2LCAKLSAgICAxLCAyMTcsIDE1MywgMTUyLCA5MiwgNywgNiwgMSwgNjksIDE1MiwgOTIsIDcsIDYsIDEsIDIxNCwgMTA1LCAxNTIsIDkyLCAKLSAgICA3LCA2LCAxLCAyMTIsIDk4LCAxNTIsIDkyLCA3LCA2LCAxLCAyMTEsIDE3OCwgMTUyLCA5MiwgNywgNiwgMSwgMjExLCAxMTcsIAotICAgIDE1MiwgOTIsIDcsIDYsIDEsIDIxMCwgMTU5LCAyNDksIDEzNiwgMTUyLCA5MiwgNywgNiwgMSwgMjI2LCAxMDksIDE1MiwgCi0gICAgOTIsIDI0MCwgMTIwLCAxNTIsIDkyLCAxOTEsIDE1MiwgOTIsIDIwNiwgMTUyLCA5MiwgMjU1LCAzNCwgMTUyLCA5MiwgMjEyLCAKLSAgICAyMywgNDIsIDI0NywgMTcyLCA5MiwgMjUwLCAzMSwgOTIsIDI0OSwgMTc4LCA5MiwgMjQ0LCA0LCA5MiwgMjQwLCAxMTIsIAotICAgIDkyLCAyMjksIDkxLCA5MiwgMjI5LCA4NCwgOTIsIDIyNiwgMjE4LCA5MiwgMjE5LCAzNywgOTIsIDEyMCwgMiwgMjQ1LCAzOSwgCi0gICAgNzksIDkyLCAyMTMsIDExOSwgMjIzLCAxMDYsIDIzNSwgMjQ2LCAxNiwgMSwgNjEsIDIyMywgMTA2LCAyMzUsIDI0NiwgMTYsIAotICAgIDEsIDI1MywgMTY2LCAyMjMsIDEwNiwgMjM1LCAyNDYsIDE2LCAxLCAyNTEsIDc0LCAyMjMsIDEwNiwgMjM1LCAyNDYsIDE2LCAKLSAgICAxLCAyNDksIDY4LCAyMjMsIDEwNiwgMjM1LCAyNDYsIDE2LCAxLCA3NiwgMjIzLCAxMDYsIDIzNSwgMjQ2LCAxNiwgMSwgCi0gICAgMjQ1LCAxNCwgMjIzLCAxMDYsIDIzNSwgMjQ2LCAxNiwgMSwgMjQzLCAyMDksIDIyMywgMTA2LCAyMzUsIDI0NiwgMTYsIDEsIAotICAgIDI0MiwgNjcsIDIyMywgMTA2LCAyMzUsIDI0NiwgMTYsIDEsIDc0LCAyMjMsIDEwNiwgMjM1LCAyNDYsIDE2LCAxLCAyMzUsIAotICAgIDE1MCwgMjIzLCAxMDYsIDIzNSwgMjQ2LCAxNiwgMSwgMjM1LCAyOSwgMjIzLCAxMDYsIDIzNSwgMjQ2LCAxNiwgMSwgMTU2LCAKLSAgICAyMjMsIDEwNiwgMjM1LCAyNDYsIDE2LCAxLCAxOTQsIDIyMywgMTA2LCAyMzUsIDI0NiwgMTYsIDEsIDIzMCwgMzAsIDIyMywgCi0gICAgMTA2LCAyMzUsIDI0NiwgMTYsIDEsIDc4LCAyMjMsIDEwNiwgMjM1LCAyNDYsIDE2LCAxLCAyMjYsIDEwOSwgMjIzLCAxMDYsIAotICAgIDIzNSwgMjQ2LCAxNiwgMSwgMjI0LCA5OSwgMjIzLCAxMDYsIDIzNSwgMjQ2LCAxNiwgMSwgMTUzLCAyMjMsIDEwNiwgMjM1LCAKLSAgICAyNDYsIDE2LCAxLCAyMjIsIDkzLCAyMjMsIDEwNiwgMjM1LCAyNDYsIDE2LCAxLCAyMTcsIDE1MywgMjIzLCAxMDYsIDIzNSwgCi0gICAgMjQ2LCAxNiwgMSwgNjksIDIyMywgMTA2LCAyMzUsIDI0NiwgMTYsIDEsIDIxNCwgMTA1LCAyMjMsIDEwNiwgMjM1LCAyNDYsIAotICAgIDE2LCAxLCAyMTIsIDk4LCAyMjMsIDEwNiwgMjM1LCAyNDYsIDE2LCAxLCAyMTEsIDE3OCwgMjIzLCAxMDYsIDIzNSwgMjQ2LCAKLSAgICAxNiwgMSwgMjExLCAxMTcsIDIyMywgMTA2LCAyMzUsIDI0NiwgMTYsIDEsIDIxMCwgMTU5LCA0MiwgMTQxLCAyNDEsIDcwLCAKLSAgICA5MiwgNTYsIDIzNCwgMjQsIDkyLCA1NiwgMjA2LCA5MiwgMTAsIDIxNCwgMTc3LCAyMzgsIDU3LCA5MiwgMTAsIDIxNCwgCi0gICAgMTc3LCAyMzgsIDYxLCA5MiwgMTAsIDIxNCwgMTc3LCAyMzgsIDY5LCA5MiwgNTYsIDI0OCwgOTgsIDkyLCAxMCwgMjE0LCAKLSAgICAxNzcsIDIzOCwgNzYsIDkyLCAxMCwgMjE0LCAxNzcsIDIzOCwgNjMsIDkyLCAxMCwgMjE0LCAxNzcsIDIzOCwgMzUsIDkyLCAKLSAgICAxMCwgMjE0LCAxNzcsIDIzOCwgNjIsIDkyLCAxMCwgMjE0LCAxNzcsIDIzOCwgNzUsIDkyLCAxMCwgMjE0LCAxNzcsIDIzOCwgCi0gICAgNDksIDkyLCAxMCwgMjE0LCAxNzcsIDIzOCwgNDIsIDkyLCAxMCwgMjE0LCAxNzcsIDIzOCwgNTEsIDkyLCAxMCwgMjE0LCAKLSAgICAxNzcsIDIzOCwgNzIsIDkyLCAxMCwgMjE0LCAxNzcsIDIzOCwgNTgsIDkyLCAxMCwgMjE0LCAxNzcsIDIzOCwgNzQsIDkyLCAKLSAgICAxMCwgMjE0LCAxNzcsIDIzOCwgNTAsIDkyLCAxMCwgMjE0LCAxNzcsIDIzOCwgNzMsIDkyLCAxMCwgMjE0LCAxNzcsIDIzOCwgCi0gICAgMzYsIDkyLCAxMCwgMjE0LCAxNzcsIDIzOCwgNDEsIDkyLCAxMCwgMjE0LCAxNzcsIDIzOCwgMzQsIDkyLCAxMCwgMjE0LCAKLSAgICAxNzcsIDIzOCwgNjQsIDkyLCAxMCwgMjE0LCAxNzcsIDIzOCwgNjYsIDkyLCAxMCwgMjE0LCAxNzcsIDIzOCwgNDQsIDkyLCAKLSAgICAxMCwgMjE0LCAxNzcsIDIzOCwgNTUsIDkyLCAxMCwgMjE0LCAxNzcsIDIzOCwgNTMsIDkyLCAxMCwgMjE0LCAxNzcsIDIzOCwgCi0gICAgNzksIDkyLCAxMCwgMjE0LCAxNzcsIDIzOCwgNzgsIDkyLCAxMCwgMjE0LCAxNzcsIDIzOCwgMzIsIDkyLCAxMCwgMjE0LCAKLSAgICAxNzcsIDIzOCwgNTksIDkyLCAxMCwgMjE0LCAxNzcsIDIzOCwgNzcsIDkyLCAxMCwgMjE0LCAxNzcsIDIzOCwgNjgsIDkyLCAKLSAgICAxMCwgMjE0LCAxNzcsIDIzOCwgNTQsIDkyLCAxMCwgMjE0LCAxNzcsIDIzOCwgMzMsIDkyLCAxMCwgMjE0LCAxNzcsIDIzOCwgCi0gICAgNTYsIDkyLCAxMCwgMjE0LCAxNzcsIDIzOCwgMzgsIDkyLCAxMCwgMjE0LCAxNzcsIDIzOCwgMzcsIDkyLCAxMCwgMjE0LCAKLSAgICAxNzcsIDIzOCwgNjcsIDkyLCAxMCwgMjE0LCAxNzcsIDIzOCwgNDUsIDkyLCAxMCwgMjE0LCAxNzcsIDIzOCwgNDcsIDkyLCAKLSAgICAxMCwgMjE0LCAxNzcsIDIzOCwgNDgsIDkyLCAxMCwgMjE0LCAxNzcsIDIzOCwgNDAsIDkyLCAxMCwgMjE0LCAxNzcsIDIzOCwgCi0gICAgNzEsIDkyLCAxMCwgMjE0LCAxNzcsIDIzOCwgNjUsIDIxNiwgNywgMjIwLCA1NSwgMjUxLCAxNjUsIDEwLCAyMTQsIDE3NywgCi0gICAgMjM4LCA0NiwgMjE2LCA3LCAyMjAsIDU1LCAyNTEsIDE2NSwgMTAsIDIxNCwgMTc3LCAyMzgsIDc4LCAyMTYsIDcsIDIyMCwgCi0gICAgNTUsIDI1MSwgMTY1LCAxMCwgMjE0LCAxNzcsIDIzOCwgNzYsIDIxNiwgNywgMjIwLCA1NSwgMjUxLCAxNjUsIDEwLCAyMTQsIAotICAgIDE3NywgMjM4LCA2MCwgMjE2LCA3LCAyMjAsIDU1LCAyNTEsIDE2NSwgMTAsIDIxNCwgMTc3LCAyMzgsIDQzLCAyMTYsIDcsIAotICAgIDIyMCwgNTUsIDI1MSwgMTY1LCAxMCwgMjE0LCAxNzcsIDIzOCwgNTYsIDIxNiwgNywgMjIwLCA1NSwgMjUxLCAxNjUsIDEwLCAKLSAgICAyMTQsIDE3NywgMjM4LCAzOSwgMjE2LCA3LCAyMjAsIDU1LCAyNTEsIDE2NSwgMTAsIDIxNCwgMTc3LCAyMzgsIDcwLCAyMTYsIAotICAgIDcsIDIyMCwgNTUsIDI1MSwgMTY1LCAxMCwgMjE0LCAxNzcsIDIzOCwgNTIsIDM3LCAxNTQsIDI1NCwgMjU0LCAzNywgMTU0LCAKLSAgICAyNTUsIDIxLCAyNDksIDc5LCAyNDQsIDUwLCAyNTAsIDgsIDIxNCwgMTk0LCAyMjgsIDIxOCwgMiwgMjE4LCAxNTUsIDIxOCwgCi0gICAgMzQsIDExNSwgMjMwLCAxMTksIDIxOCwgMzMsIDI1MCwgMzQsIDI1MywgMjE1LCAyNDYsIDYyLCAyMTgsIDMyLCAxMTUsIAotICAgIDI1MSwgMTI2LCAyMjMsIDE2MSwgMjUxLCAxNDgsIDI1MywgMjE1LCAyMjgsIDIxNywgMjEyLCA0MSwgMjEyLCAzNSwgMjEzLCAKLSAgICAxMzEsIDIzMCwgMjAwLCAyMTIsIDI1LCAyNDUsIDIzMiwgMjQyLCAxODgsIDI0NSwgNTMsIDI0NSwgMjMyLCAyNDIsIDE4OCwgCi0gICAgMjU0LCAxMzYsIDI0NSwgMjMyLCAyNDIsIDE4OCwgMjUzLCAyMzMsIDI0MiwgMTg4LCAyLCAyMzEsIDU2LCAxNjYsIDIzMCwgCi0gICAgMTM0LCA4NywgMjEyLCAyNywgMjQ5LCAxNDUsIDIzMCwgMTM0LCA4NywgMjQ0LCAxMDAsIDIyNCwgMjUsIDIzMCwgMTM0LCAKLSAgICA4NywgMjEyLCAyNywgMjQyLCAyMTcsIDIzMCwgMTM0LCA4NywgMjQzLCAyMzYsIDIzMCwgMTM0LCA4NywgMjEyLCA1MiwgCi0gICAgMjQyLCAyMTcsIDIzMCwgMTM0LCA4NywgMjMzLCA4NiwgMjI0LCAyNSwgMjMwLCAxMzQsIDg3LCAyMTIsIDUyLCAyNDksIAotICAgIDE0NSwgMjMwLCAxMzQsIDg3LCAyNDksIDE0NSwgMjMwLCAxMzMsIDE2NiwgMjMwLCAxMzQsIDIsIDI0NCwgMTk4LCAyNDQsIAotICAgIDEwMCwgMjI0LCAyNSwgMjMwLCAxMzQsIDIsIDI0NCwgMTk4LCAyMzMsIDg2LCAyMjQsIDI1LCAyMzAsIDEzNCwgMiwgMjQ0LCAKLSAgICAxOTgsIDI0MywgMjM2LCAyMzAsIDEzNCwgMiwgMjQ0LCAxOTgsIDIxOCwgMzksIDIsIDI0NCwgMTk4LCAyNDIsIDE4NiwgCi0gICAgMjE4LCAxNTgsIDIyMCwgMSwgMjE4LCAxNTgsIDI1MCwgMTI0LCAyMjEsIDE3MCwgMjQ1LCA0NywgMjE1LCAyMzYsIDI0OCwgCi0gICAgOTIsIDIxNSwgMjM2LCAyMjYsIDYzLCAyMTUsIDIzNiwgMjUxLCAzNSwgMjE1LCAxMTAsIDI1MCwgMTI2LCAyNTEsIDIxOCwgCi0gICAgMjIyLCAxOTMsIDI0MSwgMTg2LCAyMTgsIDM3LCAyNTEsIDIxOCwgMjQ1LCAyMzYsIDY0LCAyMzEsIDE5OSwgMjQ1LCAyMzYsIAotICAgIDY0LCAyMjMsIDM0LCAyNDEsIDIxMSwgMjQ0LCAxOSwgMjMzLCA2MCwgMjQ5LCAyNTQsIDIzMSwgMTc1LCAyMzMsIDU5LCAKLSAgICAyNDQsIDE4NCwgMjMzLCA1OSwgMjMzLCA2MCwgMjQ0LCA1NSwgMjM2LCA3LCAyMTEsIDIzOSwgMjMwLCA2MywgMjE2LCAzNSwgCi0gICAgMjUzLCAxOTksIDI0MiwgMTUwLCAyMzEsIDcyLCAyMTIsIDM5LCAyMTcsIDU4LCAyMzMsIDMyLCAyNTIsIDE1NywgMjI1LCAKLSAgICA2NSwgMjIzLCAxMTQsIDI1NCwgNjIsIDI0MiwgMTM0LCAyNTQsIDYyLCAyMjUsIDIyMCwgMjI1LCAyMjEsIDI1MCwgMTI3LCAKLSAgICAyMTgsIDExNiwgMjQyLCAzMCwgMjE5LCA5MiwgNjQsIDIyNSwgNDcsIDIzMSwgOTIsIDIyNiwgMjAxLCAyNTEsIDIwMiwgCi0gICAgMjI0LCAyMzIsIDIzMywgNDIsIDIyMywgMzUsIDI0OSwgMTUwLCAyMjMsIDM1LCAyNTIsIDE2NywgMjQ5LCAxODEsIDIyMywgCi0gICAgMzQsIDI0OSwgMTAzLCAyMiwgMjIzLCAzNCwgMjE4LCAxNDMsIDI1MSwgMTc1LCAyMTksIDE2LCAyNTEsIDE1OSwgMjQ0LCAzLCAKLSAgICAyNDMsIDI1NSwgMjIyLCAyMDksIDIxNywgMjQ3LCAyMjQsIDIzNCwgMjQ4LCAxODMsIDIyNiwgMjQwLCAyMTgsIDgsIDI0NCwgCi0gICAgMCwgMjE5LCAyMzIsIDI0NCwgOTksIDI1MSwgMjksIDIsIDIxNywgMjQwLCAyNDgsIDQzLCAyMTksIDU0LCAyNDAsIDExOSwgCi0gICAgMjQ5LCAxNDksIDIyMCwgNzIsIDI0MCwgMTE4LCAyNDAsIDExOSwgMjQ5LCAxNDksIDI0NiwgMTE2LCAyNDksIDE4MCwgMjUwLCAKLSAgICA5MiwgMTMwLCAyNTEsIDYsIDIzMiwgMTQ3LCAyNDksIDk2LCAyNDEsIDYyLCAyMjQsIDIzNiwgMjE5LCAyNDIsIDI1MiwgNDQsIAotICAgIDI1MSwgMTcxLCAyMjQsIDIzNywgNjQsIDI0NCwgNDEsIDI0OSwgMTc5LCAyNDQsIDMyLCAyMiwgMjM0LCAzOCwgMjE3LCAyMCwgCi0gICAgMjExLCAyMzAsIDI0MiwgMjAsIDIyMiwgMTQsIDI1MSwgMTg1LCAyMiwgMjQ5LCAxMTAsIDIxMSwgMjM3LCAyNDIsIDE5MSwgCi0gICAgMjQ5LCAyNDMsIDI0MiwgMTkxLCAyMTUsIDE5NCwgMjQ2LCA5OCwgMjUyLCA3MCwgMjMwLCA5OCwgMjUwLCAxNSwgMjUyLCAKLSAgICA3MCwgMjMwLCA5NywgMjUyLCAxOTUsIDI1MSwgMTg0LCAyMjMsIDM2LCAyMTEsIDIwMSwgMjI0LCAxOTgsIDI1MSwgMjQzLCAKLSAgICAyNTEsIDI4LCAyMzUsIDE0NCwgMjUwLCA4NSwgMjE1LCAyMzYsIDI0NCwgMTcwLCAyNTAsIDg0LCAyNDQsIDEwMiwgMjQ0LCAKLSAgICAxMDMsIDIxOSwgMTQsIDI1MiwgMTY2LCAyMjUsIDI1NCwgMjI0LCAyNDcsIDI0OSwgMjEyLCAyNTIsIDE2NywgMjE3LCA2MCwgCi0gICAgMjE1LCAyMzYsIDI0OSwgMTM2LCAyNDQsIDc1LCAyMjUsIDY2LCAyNDgsIDg5LCAyMzUsIDEzNywgMjQ3LCAxMzksIDI1MCwgCi0gICAgMjQwLCAyMTgsIDExNSwgMjExLCAyNDAsIDI1MCwgMTA2LCAyMzAsIDEzNCwgMjEzLCAxNjQsIDI1MCwgMTcwLCAyMjEsIAotICAgIDIwMSwgMjIxLCAyMjYsIDI0MiwgMTU1LCAyNTEsIDMsIDI1MCwgMjQxLCAyNDAsIDI1MiwgMjQ0LCAxMzgsIDIxMiwgMCwgCi0gICAgMjIyLCAyMDIsIDI0OSwgMjQ0LCAyNDQsIDk0LCAyMjUsIDUsIDIyLCAyNDQsIDk4LCAyMzAsIDIzMiwgMjMwLCAxMTMsIAotICAgIDI1MSwgMTgsIDI1MCwgNDcsIDI0MSwgMjM5LCAyNTMsIDI0OSwgMjI2LCA2NiwgMjE2LCAxNSwgMjQyLCAyLCAyNTAsIDM3LCAKLSAgICAyMTYsIDI0MywgMjE2LCAxMTQsIDI1MCwgMjgsIDI1MSwgMjEwLCAyMjUsIDE4MCwgMjUzLCAyNDgsIDIxMywgMTcyLCAyNDMsIAotICAgIDExNywgMjQ3LCAyMDUsIDI0MSwgMTYzLCAyMTksIDg2LCAyMzEsIDIzOSwgMjUxLCAyNTMsIDI0MywgMTE4LCAyNDcsIDI0OCwgCi0gICAgMjUxLCAxNzQsIDI0NCwgNjAsIDIyNSwgMzYsIDI1MCwgMjQ5LCAyOCwgMjI4LCA1MiwgMjMwLCA5MCwgMjgsIDIyOCwgNDcsIAotICAgIDIyMSwgMjE0LCAyNDIsIDEwNiwgMjgsIDIzNCwgMTQzLCAyMTUsIDE5MSwgMjEzLCAxNTQsIDI4LCAyMjEsIDE5NCwgMjIyLCAKLSAgICAxMjYsIDIyMCwgMTMsIDIsIDIyMSwgMjI5LCAyMTYsIDI0NSwgMjIzLCAxODEsIDIyLCAyNTIsIDE2NywgMjE5LCAxMDcsIAotICAgIDIyLCAyMTksIDEwNywgMjUxLCAxOTUsIDI1MiwgMTMxLCAyMiwgMjQxLCA1NiwgMjUwLCAxMjgsIDI0NCwgODEsIDIxOSwgCi0gICAgNjUsIDIyMiwgMTI3LCAyMTgsIDEzLCAyMTUsIDE5NSwgMjQwLCAyNTMsIDIyMywgMTgyLCAyNTQsIDEzNywgMjQ0LCAzOSwgCi0gICAgMjIyLCAxMzgsIDI0NCwgMzksIDIxNywgMjQyLCAyNDAsIDI0MiwgMjUxLCAxMjcsIDI0MCwgMjQyLCAyLCAyNDMsIDEwMSwgCi0gICAgMjI2LCAyMzMsIDI1MSwgMTI3LCAyMzUsIDEzNywgMjI0LCAyNDIsIDIyNiwgMjMyLCAyNDUsIDUyLCAyMjQsIDI0MiwgMjI2LCAKLSAgICAyMzIsIDI0MCwgMjUxLCAyNTIsIDE1MywgMjUzLCAxODksIDIxNiwgMjUzLCAyMzEsIDIzOSwgMjQwLCAyNDcsIDIzMiwgCi0gICAgMTE3LCAyNDAsIDI0NywgMjQ5LCAxODQsIDIxOCwgMTI3LCAyMjEsIDIwMCwgMjQ4LCA1MSwgMjE4LCAxMjcsIDI0NCwgMTg4LCAKLSAgICAyMzUsIDE1NSwgMjMzLCA5NSwgMjM1LCAxMzcsIDI1MCwgMjM0LCAyNDUsIDUyLCAyNTAsIDIzNCwgMjIzLCAxNDQsIDIzMCwgCi0gICAgMTE3LCAyMjYsIDExOCwgMjEyLCA0MSwgMjUxLCAxMzEsIDI0OSwgMTUzLCAyMTYsIDEwNywgMjMzLCAyNCwgMjIzLCAxODMsIAotICAgIDI1MCwgMjMyLCAyNDYsIDEwNCwgMjQ5LCAxNDMsIDIxMiwgMywgMjE5LCA3MiwgMjE5LCA3MCwgMjQwLCAyNTIsIDIyMywgCi0gICAgMTU2LCAyNDIsIDE3NywgMjIwLCA1OSwgMjMwLCAxNTAsIDIyMiwgMTk2LCAyNTAsIDExNiwgMjQ3LCAxNDQsIDIyNSwgNzYsIAotICAgIDI1MSwgMjExLCAyNDUsIDE3NywgMjI2LCAyNDIsIDIxOCwgMjU0LCAyMjAsIDU0LCAyNTEsIDEzMCwgMjU0LCAxMDAsIDI0MSwgCi0gICAgNjEsIDIzMywgMTI3LCAyNTIsIDY4LCAyNDQsIDk4LCAyMTUsIDE5NCwgMjQ0LCA5OCwgMjUxLCAyMTcsIDIxNSwgOTEsIAotICAgIDI0MiwgMCwgMjUwLCAxMTcsIDI1MiwgMTk1LCAyNTAsIDExNywgMjQzLCAyNTAsIDI1MiwgMTk1LCAyNTAsIDExNywgMjUxLCAKLSAgICAyNDUsIDIyNSwgMTk4LCAyMzQsIDMyLCAyMjQsIDI1MSwgMjQ2LCA5NSwgMjUxLCAxOSwgMjUyLCAxODUsIDI1MSwgMTksIAotICAgIDI0NywgMTM4LCAyMzAsIDExOCwgMjQ0LCAxOTgsIDI0OSwgMTU0LCAyNDQsIDE5OCwgMjE2LCAxMDgsIDI0NCwgMTk4LCAKLSAgICAyMjMsIDE4NCwgMjQ0LCAxOTgsIDI1MCwgMjMzLCAyNDQsIDE5OCwgMjQ2LCAxMDUsIDI0NCwgMTk4LCAyMTgsIDI0MywgCi0gICAgMjEyLCAzLCAyNDAsIDI1MywgMjQ0LCAxOTgsIDIzMCwgMTUxLCAyNDQsIDE5OCwgMjQ3LCAxNDUsIDI0NCwgMTk4LCAyMjUsIAotICAgIDc3LCAyNDQsIDE5OCwgMjQzLCAyNTMsIDI0NCwgMTk4LCAyNDIsIDI3LCAyNDQsIDE5OCwgMjExLCAyMjQsIDI0NCwgMTk4LCAKLSAgICAyNTIsIDc5LCAyNDQsIDE5OCwgMjI2LCA0OSwgMjQ0LCAxOTgsIDIyNSwgNzcsIDIyOCwgNTgsIDIyNSwgMjM2LCAyMjQsIAotICAgIDE4OSwgMjQ1LCAyMSwgMjQ1LCAyMzUsIDIyOCwgNTgsIDIzMCwgMTE1LCAyMTYsIDIwLCA3MSwgMTIwLCAyMjUsIDEwLCAKLSAgICAyNTIsIDE5MCwgMjM1LCAyNDksIDcxLCAxMjQsIDIyNSwgMTAsIDI1MiwgMTkwLCAyMzUsIDI0OSwgNzEsIDQzLCAyMjUsIAotICAgIDEwLCAyNTIsIDE5MCwgMjM1LCAyNDksIDcxLCA0NCwgMjI1LCAxMCwgMjUyLCAxOTAsIDIzNSwgMjQ5LCAyNDQsIDkyLCAKLSAgICAyNDIsIDIzLCA1MCwgMjEyLCAzMywgMjQyLCAyMywgNTAsIDIyNiwgMjE5LCAyNDIsIDIzLCA1MCwgMjE2LCAxMzYsIDEyMCwgCi0gICAgNTAsIDIxNiwgMTM2LCAxMjQsIDUwLCAyNTAsIDI3LCAyNDIsIDE4LCA1MCwgMjA0LCAyNDIsIDE4LCA1MCwgMjQ5LCAxMzEsIAotICAgIDIxMSwgMjIwLCAyNDIsIDIsIDI0NSwgMjIsIDIyOSwgMTA5LCAyMTcsIDE1MiwgMjM1LCAxMzEsIDI0NiwgMTAwLCAyMzQsIAotICAgIDg4LCAyNTEsIDI1NSwgMjExLCAyMjAsIDI1MCwgMSwgMjI0LCAxMzAsIDI0MiwgMjEsIDIyNCwgMjMzLCAyMzEsIDE4MiwgCi0gICAgMjIwLCA2LCAyNTMsIDIxMSwgMjIwLCA2LCAyNDEsIDE3MSwgMjIwLCA2LCAyMTEsIDIyMCwgMjIxLCAyNDIsIDIxMSwgMjIwLCAKLSAgICAyNTEsIDE5NCwgMjQ0LCAzNywgMjUxLCA5OCwgMjM2LCA3LCAyMTksIDE3MSwgMjUxLCA5NywgMjM2LCA3LCAyMTksIDE3MSwgCi0gICAgMjUxLCAxNzAsIDI0MiwgMjAxLCAyMzEsIDE5MCwgMjExLCAyMjEsIDI0NCwgMTgyLCAyMzEsIDE5MSwgMjIsIDIxMSwgMjIyLCAKLSAgICAyNDEsIDY3LCAyNDIsIDE3LCAxMTMsIDIzMSwgNjQsIDI0MSwgNjcsIDI0MiwgMTcsIDExMywgMjExLCAyMTksIDI0MSwgNjcsIAotICAgIDI0MiwgMTcsIDIyNSwgMiwgMjI2LCAyMzEsIDIxMSwgMjIyLCAyLCAyNTEsIDExNCwgMjQ1LCAyMzMsIDI1MSwgMTQ5LCAyLCAKLSAgICAyMTMsIDI0NiwgMjI1LCAxNzEsIDIsIDI1MSwgMjIwLCAyNDIsIDQxLCAyMzEsIDE5MSwgMiwgMjQyLCAxMTcsIDIyNSwgCi0gICAgMTEyLCAyMzEsIDE3OSwgMjMxLCAxOTEsIDIsIDIxNSwgOTgsIDIyNiwgMjEyLCAyMzEsIDE5MCwgMjI2LCAyMTIsIDIxMSwgCi0gICAgMjIxLCAyNTIsIDE5NCwgMjQ5LCAxOTgsIDIxMSwgMjA1LCAyMjQsIDE5MiwgMjM1LCAxMzcsIDIyNiwgMjI3LCAyMzUsIAotICAgIDEzNywgMjQyLCAxNzYsIDI0MiwgMjI5LCAyNTIsIDE5NSwgMjU0LCAxMjEsIDI0NSwgMjYsIDI1NCwgMTY5LCAyNTQsIDE3MCwgCi0gICAgMjMwLCAxNDEsIDIzNiwgMTIsIDIxOSwgMTAyLCAyMzUsIDIzOSwgMjQ4LCA0MiwgMjI1LCAxNzAsIDI0MiwgMTEyLCAyNDgsIAotICAgIDE4NywgMjMyLCAyMDcsIDIyOSwgMjE2LCAyMjUsIDEsIDI0NCwgMTk5LCAyMzEsIDE0NywgMjQyLCA0MCwgMjUyLCAxNDYsIAotICAgIDIyNSwgNCwgMjE3LCAxNzIsIDIyNSwgNjksIDIzNCwgNzAsIDc5LCAyMzIsIDExNywgMjMzLCAxNiwgMjIyLCAyMzYsIDI0MywgCi0gICAgNjEsIDIxOCwgMTMzLCAyMzQsIDY5LCAyNTEsIDE3OSwgMjQ5LCAxNTYsIDIsIDI0MSwgMjM0LCAyMTIsIDE5LCAyNTIsIDc3LCAKLSAgICAyNDEsIDIzNCwgMjUxLCAxNDMsIDI0MSwgMjM0LCAxMTMsIDI0MSwgMjMyLCAyMTksIDEyLCAyNDEsIDIzNCwgMjQyLCAxMjcsIAotICAgIDI0MSwgMjM0LCAyNDEsIDIzNSwgMiwgNzUsIDI1MSwgMjE2LCAyNDEsIDIzNCwgMjQyLCAxMzQsIDI0MSwgMjM0LCAyMTEsIAotICAgIDQyLCAyNDEsIDIzNCwgMjI0LCAxMzEsIDI0MSwgMjM0LCAyNDEsIDIzNSwgMiwgMjIzLCAzNiwgMjIzLCA0NywgMjQxLCAKLSAgICAyMzIsIDI0MSwgMjM1LCAyNDgsIDg5LCAyNDgsIDEsIDIyMCwgODQsIDIsIDExNiwgNTksIDIzNSwgMjIyLCAyNDUsIDE4MCwgCi0gICAgMTkzLCAyNTEsIDEyNCwgMjU0LCAxMjAsIDg3LCAyNTEsIDIwMywgMjE5LCA5NCwgODcsIDI0OSwgMjM2LCA4NywgMjE4LCAKLSAgICAyNDgsIDIxNywgMjQ5LCA4NywgMjQ2LCA5MywgMjQ4LCAxNjUsIDg3LCAyMjUsIDcwLCA2NCwgMjI0LCAyNTIsIDI0NCwgNjksIAotICAgIDI1MiwgMTEsIDI0NywgMTczLCA4NywgMjE5LCA1LCAyNTIsIDE2NiwgMjE2LCAxNTAsIDI1MiwgMTY2LCA3MSwgMjQ0LCA1OSwgCi0gICAgMjQwLCAyMTgsIDIyNSwgOCwgODcsIDIzMCwgMTU0LCAyNTIsIDE4MCwgMjQ5LCAxMDYsIDI0NSwgNDAsIDExNCwgMjQ3LCAKLSAgICAxNDAsIDUwLCAyNDksIDE0NywgMjUwLCAyNTAsIDI1MiwgMTUyLCAyLCAyMTEsIDQwLCA1MCwgMjUyLCAxNTIsIDIsIDI0NywgCi0gICAgMTQwLCA1MCwgMjUyLCAxNTIsIDIsIDI0NSwgNTUsIDUwLCAyNTIsIDE1MiwgMiwgMjI0LCAyMzEsIDUwLCAyMzAsIDE1NCwgCi0gICAgMiwgMjExLCAyMzUsIDI1MCwgMTQ2LCAyLCAyMTQsIDE1MywgMjE1LCAyMzIsIDIyLCAyMTEsIDQwLCA1MCwgMjIxLCAxODAsIAotICAgIDIyNSwgMTY5LCAyNDksIDIxNiwgMjUxLCAxNDcsIDIzMCwgMTkxLCAyNDQsIDY0LCAyNDcsIDE5MywgMjI2LCAxNjUsIDI0NywgCi0gICAgMTk4LCAyNDYsIDU3LCAyNDQsIDExNSwgMjQ0LCA0OCwgMjA0LCAyNDQsIDExNSwgMjQ0LCA0OCwgMjI2LCA4MCwgMiwgMjQ5LCAKLSAgICAxMDgsIDIyNiwgODAsIDI0NCwgMTkxLCAyMTQsIDE2MywgMjUxLCAyNCwgMjE3LCAxOSwgMjUxLCAyNCwgMjUwLCAyNTEsIAotICAgIDIzNSwgMjQ5LCAyNTAsIDE0NiwgMiwgMjE0LCAxNTMsIDIxNSwgMjMxLCAyNTAsIDE0NiwgMiwgMjQ2LCAxMTIsIDIxNSwgCi0gICAgMjMxLCAyNTIsIDE0OSwgMjUwLCAxNDUsIDI1MCwgMTQsIDIyNCwgMTI2LCAyMjIsIDE4NywgMjI0LCAxMjYsIDIyNiwgMjMsIAotICAgIDIxOCwgMTIzLCAyMjIsIDEzMywgMjE1LCAyMjMsIDIyMiwgMTMzLCAyNTEsIDE5OSwgMjE3LCA5MiwgMjMzLCA1NywgMjI4LCAKLSAgICA1MCwgMjI4LCA1MSwgMiwgMjQ4LCA4OCwgMjQ5LCAxNTUsIDI1MCwgOCwgMjUxLCAyMDAsIDIwNCwgMjUxLCAyMDAsIDI0MiwgCi0gICAgMTM0LCAyNTEsIDIwMCwgMjUxLCAyMTYsIDI1MSwgMjAwLCAyMjYsIDE2MSwgMjUxLCAyMDAsIDI1MSwgMTk3LCAyMjksIAotICAgIDIxMCwgMjUyLCAxODMsIDIyMSwgMTg4LCAyMzEsIDY1LCAyMTcsIDIsIDIyMywgMTI2LCAyMjYsIDc4LCAyNDQsIDE2NywgCi0gICAgMjMxLCAyMzksIDIyMSwgMjI1LCAyNTQsIDk3LCAyMjQsIDE0OCwgMjU1LCA1LCAyMzIsIDExOSwgMjUwLCAxMzUsIDIzMSwgCi0gICAgNzcsIDIyNiwgMTMzLCAyMTUsIDIzOSwgMjM2LCAzLCAyMTUsIDIzOSwgMjI2LCA4NiwgMjQ2LCAzMiwgODcsIDIzNiwgMCwgCi0gICAgMjQ1LCAxMjcsIDI0NSwgMTI4LCAyLCAyNDYsIDExMiwgODAsIDQ4LCAyNTAsIDgsIDIzMSwgMjA1LCAyLCAyMzIsIDExMywgCi0gICAgMjQ0LCA4MSwgMjUwLCA4LCAyMzEsIDIwNSwgMiwgMjIzLCAxNjAsIDI0NCwgODEsIDIwNCwgMjMxLCAyMDUsIDIsIDIyMywgCi0gICAgMTYwLCAyNDQsIDgxLCAyMDQsIDIzMSwgMjA1LCAyLCAyMzIsIDExMywgMjQ0LCA4MSwgMjI0LCAyMzksIDIyNCwgMjQwLCAKLSAgICAyNDAsIDI1NSwgMjI5LCA4OSwgMjMwLCAxNjQsIDIyNSwgMTIwLCAyMzAsIDE2NCwgMjI1LCAxMjEsIDIsIDk3LCA4MCwgCi0gICAgMjUzLCAyMTUsIDIzMywgNTIsIDIxMywgMTc1LCAyMzAsIDE2MywgMjMwLCAxNjQsIDIyNSwgMTIxLCAyMjYsIDIzNCwgMjI4LCAKLSAgICA4MCwgMjMwLCAxNjQsIDIyNSwgMTE5LCAyNTQsIDk4LCAyLCAyNTIsIDEzNywgMjUxLCAxOCwgMjEzLCAxNzIsIDI1MSwgMTgsIAotICAgIDIxNiwgMjU1LCAyMjMsIDE3NiwgMjEzLCAxNzEsIDIxNSwgNjAsIDk3LCAyNTMsIDI1NSwgMjUwLCAxMCwgOTcsIDIyLCAKLSAgICAxNDAsIDIwNCwgMjUwLCA0NCwgMjUzLCAyNTUsIDI1MCwgMTAsIDk3LCAyMiwgMTQwLCAyMDQsIDI1MCwgNDQsIDI1NCwgMCwgCi0gICAgMiwgMzcsIDEyMywgMjI2LCAxMjQsIDI1MCwgMTAsIDI0NiwgMTEyLCAyMiwgMjE0LCAxNTMsIDIwNCwgMjUwLCA0NCwgMjUzLCAKLSAgICAyNTUsIDI1NCwgOTYsIDI0NiwgMTEyLCAyMiwgMjE0LCAxNTMsIDIwNCwgMjUwLCA0NCwgMjUzLCAyNTUsIDEyMSwgMjUxLCAKLSAgICAxNDYsIDg3LCAxMjUsIDI1MSwgMTQ2LCA4NywgMjE5LCA5LCAyLCAyNTEsIDEyLCA5MSwgMjE5LCA4LCAyMTksIDksIDIsIAotICAgIDEyMywgMjE5LCAzMywgMjEyLCAzNSwgMjE5LCA5LCAyLCAxMzQsIDIxOSwgMzMsIDIxMiwgMzQsIDI1MiwgMTIzLCAyNDUsIAotICAgIDE4MCwgMjI1LCAzMCwgMjMzLCA0OCwgMjMxLCAyMTYsIDI0MiwgMTkxLCAyMjIsIDI1MCwgMjMxLCAyMTYsIDI0MiwgMTkxLCAKLSAgICAyMzIsIDE1OCwgMiwgMjM1LCAyMzIsIDIyNSwgMjAyLCAyNTAsIDgsIDIzMiwgMTU4LCAyLCAyMzQsIDE0NCwgMjM0LCAxNDQsIAotICAgIDIzMiwgMTU3LCAyMDQsIDIzMiwgMTU3LCAyNTIsIDUyLCAyNTIsIDUzLCAyLCAyNTEsIDEyLCA5MSwgMjUxLCAxOTgsIDIzMiwgCi0gICAgMjEwLCA4NywgMjIzLCAxNzcsIDI1MSwgOTQsIDI1MiwgMTkzLCAyLCAxNDAsIDgwLCA0OCwgMjQ1LCAxNTEsIDIsIDE0MCwgCi0gICAgODAsIDQ4LCAyMjYsIDIwMSwgMiwgMjQ1LCAzOSwgMTY0LCAyLCA0MywgNDQsIDgwLCA0OCwgMjE5LCA0MSwgMiwgOTcsIDgwLCAKLSAgICA0OCwgMjE2LCAxNSwgMiwgMjE0LCAxNTMsIDgwLCA0OCwgMjI4LCA4MCwgMTIzLCAyMTQsIDE4NCwgMjQ1LCAxOTksIDg3LCAKLSAgICAyMzQsIDE0MiwgMjE2LCAyNDgsIDIzNSwgMjI2LCAxNiwgMzEsIDcsIDYsIDIzMywgMTUsIDIzNSwgMjI2LCAxNiwgMzEsIDcsIAotICAgIDQsIDIzMywgMTUsIDIzNSwgMjI2LCAxNiwgMzEsIDIyNywgMjAzLCAyMzUsIDIyNiwgMTYsIDMxLCAyMTcsIDE4NCwgMjM1LCAKLSAgICAyMjYsIDE2LCAzMSwgNywgMjMzLCAxNSwgMjQ0LCAxMDQsIDI0NSwgMTgwLCAyMTYsIDEwLCAyMTEsIDE5OSwgMjQyLCAyOCwgCi0gICAgMjI3LCAxODYsIDIyLCAyNTEsIDIwNSwgMjQxLCA3MywgMjI1LCA1MywgMjMwLCAyMzEsIDIxNywgMCwgMjQ5LCAxMjIsIAotICAgIDI1MiwgMTY3LCAyMTksIDEyNywgMjI1LCAxMiwgMjE4LCAxNTksIDIsIDIzMCwgMjI5LCAyNDcsIDEyOCwgMjM1LCAxMzcsIAotICAgIDE2LCAzMSwgMjUyLCA2NSwgMjE1LCAyMjEsIDI0NSwgMTY0LCA4NSwgNDIsIDI1MSwgOTQsIDcxLCA0MiwgMjUxLCA5NCwgCi0gICAgMjMzLCA5MSwgMjIzLCAxMTQsIDI1MCwgNDMsIDIzMywgOTEsIDI1MSwgMjE2LCAyNTAsIDQzLCAyMzMsIDkxLCAyMjYsIAotICAgIDE2MSwgMjQ4LCAwLCAyMzMsIDkxLCAyNTEsIDIxNiwgMjQ4LCAwLCA0LCAyMjYsIDE2MSwgMjQ4LCAwLCA0LCAyNTEsIDIxNiwgCi0gICAgMjQ4LCAwLCAyMTQsIDE2MiwgMjIzLCAxMTQsIDIxNSwgMjI2LCAyNDYsIDExMywgMjIzLCAxMTQsIDIxNSwgMjI2LCAyMTQsIAotICAgIDE2MiwgNCwgMjIzLCAxMTQsIDIxNSwgMjI2LCAyNDYsIDExMywgNCwgMjIzLCAxMTQsIDIxNSwgMjI2LCAzNywgMjQ5LCAKLSAgICAxMzksIDIyNCwgMjU1LCAyNDksIDEzOSwgMjI1LCAwLCAyLCAyNDIsIDMzLCA1MSwgMjQ5LCAxMzksIDIyNCwgMjU1LCAyMjgsIAotICAgIDU0LCA0MywgMjIwLCAxNTUsIDIsIDEzNCwgMjQ3LCAxMjYsIDI1MCwgMTIsIDI0NCwgMTk5LCAxMjMsIDIyNiwgMjQ2LCAKLSAgICAyNTAsIDEyLCAyNDQsIDE5OSwgMTEzLCAyMjYsIDI0NiwgMjUwLCAxMiwgMjQ0LCAxOTksIDEzNCwgMjI2LCAyNDYsIDI1MCwgCi0gICAgMTIsIDI0NCwgMTk5LCAyNDQsIDE5LCAyMjYsIDI0NiwgMjUwLCAxMiwgMjQ0LCAxOTksIDI0NCwgODksIDIyNiwgMjQ2LCAKLSAgICAyNTAsIDEyLCAyNDQsIDE5OSwgMjE5LCAxMjcsIDIyNiwgMjQ2LCAyNTAsIDEyLCAyNDQsIDE5OSwgMjIwLCAxMjQsIDIyNiwgCi0gICAgMjQ2LCAyNTAsIDEyLCAyNDQsIDE5OSwgMjQ1LCAyMDEsIDIyNiwgMjQ2LCAyNTAsIDEyLCAyNDQsIDE5OSwgMjI4LCAyMDUsIAotICAgIDIyNiwgMjQ2LCAyNTAsIDEyLCAyNDQsIDE5OSwgMjE2LCAyNDksIDIyNiwgMjQ2LCAyNTAsIDEyLCAyNDQsIDE5OSwgMjQ1LCAKLSAgICAxNzYsIDIyNiwgMjQ2LCAyNTAsIDEyLCAyNDQsIDE5OSwgMjE1LCA3NywgMjI2LCAyNDYsIDI1MCwgMTIsIDI0NCwgMTk5LCAKLSAgICAyMjYsIDE5NiwgMjUwLCAxMiwgMjQ0LCAxOTksIDIxNSwgNTYsIDI1MCwgMTIsIDI0NCwgMTk5LCAyMTYsIDE0MSwgMjUwLCAKLSAgICAxMiwgMjQ0LCAxOTksIDI0NCwgMTUsIDI1MCwgMTIsIDI0NCwgMTk5LCAyNDQsIDg3LCAyNTAsIDEyLCAyNDQsIDE5OSwgCi0gICAgMjE5LCAxMjMsIDI1MCwgMTIsIDI0NCwgMTk5LCAyMjAsIDEyMywgMjUwLCAxMiwgMjQ0LCAxOTksIDI0NSwgMjAwLCAyNTAsIAotICAgIDEyLCAyNDQsIDE5OSwgMjI4LCAyMDQsIDI1MCwgMTIsIDI0NCwgMTk5LCAyMTYsIDI0NywgMjUwLCAxMiwgMjQ0LCAxOTksIAotICAgIDI0NSwgMTc0LCAyNTAsIDEyLCAyNDQsIDE5OSwgMjE1LCA3NSwgMjMwLCAxMjIsIDI0MywgMjM3LCAyMTYsIDM3LCAyMTYsIAotICAgIDMsIDIxOCwgMTUwLCA2NCwgMjMyLCAyNDUsIDIxOSwgMTcyLCA2NCwgMjM1LCAxMzgsIDIzMCwgMTExLCAyNDIsIDEzMSwgCi0gICAgMjQ0LCAxOTgsIDI0MiwgMTMxLCAyNDQsIDE5OSwgMiwgMjE5LCA3NiwgMjQ1LCAyMSwgMjQ0LCAxOTksIDIsIDIxNywgMTUsIAotICAgIDY0LCAyMzUsIDU5LCAyMTksIDc2LCAyNDQsIDE5OSwgMiwgMjA0LCAyMzAsIDExNSwgMjE5LCA3NiwgMjQ0LCAxOTksIDIsIAotICAgIDIwNCwgMjMwLCAxMTYsIDIyLCAyMTksIDc2LCAyNDUsIDIxLCAyMTksIDc2LCAyNDQsIDE5OSwgMiwgMjA0LCAyMzAsIDExNiwgCi0gICAgMjIsIDI0OSwgMjM4LCAyMTcsIDI0OCwgMjE5LCA3NiwgMjQ0LCAxOTksIDIsIDIwNCwgMjMwLCAxMTYsIDIyLCAyMTYsIAotICAgIDEwNSwgMjQ1LCAyMSwgMjE5LCA3NiwgMjQ0LCAxOTksIDIsIDI0MiwgMzIsIDIxOSwgNzYsIDI0NCwgMTk5LCAyLCAyNDAsIAotICAgIDI1NCwgMjExLCAyMzMsIDI0NCwgMTk4LCAyMTksIDc2LCAyNDQsIDE5OSwgMiwgMjE5LCA3NiwgMjQ1LCAyMSwgMjQ0LCAKLSAgICAxOTksIDIyMSwgMjE5LCAyNDgsIDcwLCAyNDQsIDQxLCAyMjMsIDkxLCAyNDQsIDE5OCwgMjE5LCA3NiwgMjQ0LCAxOTksIDIsIAotICAgIDI0MSwgMjMzLCAyNDUsIDIxLCAyMTksIDc2LCAyNDQsIDE5OSwgMiwgMjE4LCAzNSwgMjE5LCA3NSwgMjQ0LCAxOTgsIDIyOSwgCi0gICAgOTIsIDI0NCwgMTk4LCAyNDUsIDMxLCAyNDQsIDE5OCwgMjE0LCAxODgsIDI0NCwgMTk4LCAyNDQsIDE5OSwgMiwgMjQ5LCAKLSAgICAyMzgsIDIxNywgMjQ4LCAyMjUsIDE5NSwgMjQ0LCAxOTgsIDI0OSwgMjA5LCAyNDQsIDE5OCwgMjQ5LCAyMTAsIDI0NCwgCi0gICAgMTk4LCAyMzQsIDY4LCAyNDQsIDE5OCwgMjQ0LCAxOTksIDIxNiwgMTM4LCAxMTYsIDIzNCwgNjksIDIzNCwgNjgsIDI0NCwgCi0gICAgMTk5LCAyLCAyMTksIDc2LCAyNDUsIDIxLCAyMzQsIDY4LCAyNDQsIDE5OSwgMiwgMjUwLCA4LCAyNDUsIDIxLCAyNDQsIAotICAgIDE5OSwgMiwgMjE4LCA4OSwgMjE2LCAyMCwgMjQ0LCAxOTksIDIsIDIxOCwgODksIDIxNiwgMjEsIDIyLCAyMTEsIDIzMywgCi0gICAgMjQ1LCAyMywgMjQ0LCAxOTksIDIsIDIxOCwgODksIDIxNiwgMjEsIDIyLCAyMTYsIDEwNSwgMjQ1LCAyMSwgMjQ3LCAyMDAsIAotICAgIDI0NCwgMTk4LCAyMTEsIDIwNCwgMjQ0LCAxOTgsIDI1NCwgMTE2LCAyNDQsIDE5OCwgMjI0LCAyMzAsIDI0NCwgMTk4LCAKLSAgICAyNDksIDEyNCwgMjQ0LCAxOTgsIDIyNSwgMTczLCAyNDQsIDE5OCwgMjQ0LCAxOTksIDIsIDIzMiwgMTMyLCA2NCwgMjE1LCAKLSAgICAyMDUsIDI0NywgMjAwLCAyNTEsIDk2LCAyMjMsIDkxLCAyNDQsIDE5OCwgMjQzLCAyNDcsIDI0NCwgMTk5LCAyLCAyMDQsIAotICAgIDIzMCwgMTE1LCAyNTQsIDExNCwgMjQ0LCAxOTgsIDI0NCwgMTYwLCAyNDQsIDE5OCwgMjEyLCAyMCwgMjQ0LCAxOTgsIDIxOSwgCi0gICAgOTMsIDI0NCwgMTk4LCAyMTYsIDcyLCAyNDQsIDE5OCwgMjQyLCAxMzIsIDI0NCwgMTk4LCAyMzIsIDEyMCwgMjQ5LCAxMjQsIAotICAgIDI0NCwgMTk4LCAyNDQsIDE5OSwgMiwgMjA0LCAyMzAsIDExNSwgMjQwLCAyMTAsIDI0NCwgMTk4LCAyNDQsIDE5OSwgMiwgCi0gICAgMjA0LCAyMzAsIDExNiwgMjIsIDI0OSwgMjM4LCAyMTcsIDI0OCwgMjQ0LCAxOTksIDIyMSwgMTkyLCAyMzYsIDcsIDI0NCwgCi0gICAgMTYxLCAyNTMsIDIyMSwgMjQ0LCAxOTgsIDI0NCwgNTcsIDI0NCwgMTk4LCAyMTksIDk0LCAyNDQsIDE5OCwgMjQ3LCAxNzMsIAotICAgIDI0NCwgMTk4LCAyNDQsIDE5OSwgMjExLCAyMzAsIDIzMCwgMTE1LCAyNDQsIDE5OSwgMiwgMjMxLCA4OSwgMjMxLCAxNDksIAotICAgIDI0MiwgMTMxLCAyNTAsIDIzMywgMjQ0LCAxOTksIDIsIDIxOSwgNzYsIDI0NSwgMjEsIDI1MCwgMjMzLCAyNDQsIDE5OSwgMiwgCi0gICAgMjE3LCAxNSwgNjQsIDIzNSwgNTksIDIxOSwgNzYsIDI1MCwgMjMzLCAyNDQsIDE5OSwgMiwgMjA0LCAyMzAsIDExNSwgMjE5LCAKLSAgICA3NiwgMjUwLCAyMzMsIDI0NCwgMTk5LCAyLCAyNDEsIDIzMywgMjQ1LCAyMSwgMjUwLCAyMzMsIDI0NCwgMTk5LCAyLCAyMTEsIAotICAgIDE5NiwgMjE5LCA3NywgMjM0LCA2OCwgMjUwLCAyMzMsIDI0NCwgMTk5LCAyLCAyNTAsIDgsIDI0NSwgMjEsIDIyNCwgMjMwLCAKLSAgICAyNTAsIDIzMywgMjQ0LCAxOTgsIDI0OSwgMTI0LCAyNTAsIDIzMywgMjQ0LCAxOTgsIDIxMiwgMjAsIDI1MCwgMjMzLCAyNDQsIAotICAgIDE5OCwgMjQ0LCAxOTksIDIsIDIyOCwgODAsIDI0MiwgMTcwLCAyNDMsIDQxLCAyNDQsIDE5OSwgMiwgMjI2LCAyMTksIDI0MywgCi0gICAgNDEsIDIyNSwgMTcxLCAyNTEsIDE3NiwgMjQ4LCA4MywgMjIxLCAxNzEsIDIzMCwgMTUwLCAyNDEsIDIzNiwgMjMwLCAxNTAsIAotICAgIDIxOSwgMTAsIDIzMCwgMTUwLCAyNDIsIDEyLCAyMjUsIDE3MSwgMjIzLCAxNTksIDEyMywgMjQyLCAyMiwgMjI1LCAxNzEsIAotICAgIDIyMywgMTU5LCAyNTEsIDE4NiwgMjQyLCAxOCwgMjM2LCA3LCAyNTAsIDE4NywgMjI1LCAxNzEsIDI0MywgMjQ2LCAyMjUsIAotICAgIDE3MSwgMiwgMjI0LCAyMzAsIDI0NCwgMTk4LCAyMjUsIDE3MSwgMiwgMjQ0LCA0OSwgMjQyLCAxNywgMjIyLCAyMDUsIDI0MSwgCi0gICAgMjIxLCAyMTgsIDE0NSwgMjMyLCAxNTUsIDIyMywgMTY1LCAyNTAsIDI1MiwgMjQxLCAxNjksIDIxNSwgMjQ5LCAyNDEsIAotICAgIDE2OSwgMjE1LCAyNTAsIDIsIDI1MSwgMTIyLCAyMjgsIDU4LCAyMTUsIDI0OSwgMjMxLCAzNywgMTkzLCAyMjMsIDE2NiwgCi0gICAgMjE4LCAxNTEsIDIxNSwgMjQ3LCAyMTUsIDI0OCwgMjUwLCAyNTIsIDI1MSwgMTAwLCAyMjYsIDE5OCwgMjUxLCAxMDAsIAotICAgIDIxNSwgMjAyLCAyNTEsIDEwMSwgMjE4LCAxMzEsIDIzMCwgMTkyLCAyNTQsIDEzOCwgMjQ0LCAxMDUsIDI0NSwgMTQ1LCAKLSAgICAyMjUsIDIsIDI1MCwgMjUyLCAyMjYsIDE5OCwgMjI1LCAyLCAyNTAsIDI1MiwgMjE3LCAzMywgMjI2LCAxOTgsIDIxNywgMzMsIAotICAgIDI1MywgMTg4LCAyMjYsIDE5OCwgMjUzLCAxODgsIDIyMywgMTIxLCAyMTMsIDI0NywgMjQ4LCA2NiwgMjE1LCAxOTMsIDI1MywgCi0gICAgMjUwLCAyMzIsIDEyMywgMjE1LCAyNTUsIDIzMCwgMTQ0LCAyMzAsIDEyMSwgMjIzLCAxNjQsIDIxOCwgNywgMjIzLCAxNjQsIAotICAgIDIzMCwgMTIxLCAyNTEsIDM2LCAyNTQsIDIzOCwgMjE1LCAyNDYsIDIyMCwgMTgsIDIyMiwgMTg0LCAyMTksIDMsIDIwMywgCi0gICAgMjE1LCAyNTMsIDIzMiwgMjM2LCA2NywgMjE1LCAyNTMsIDIzMiwgMjM2LCAyNDksIDE5OCwgNTAsIDIyNSwgMiwgMjUwLCAKLSAgICAyMzcsIDIyMywgNDcsIDIzMiwgMjM2LCAyMTUsIDIyMywgMjQ0LCA4MiwgMjI2LCAyMDEsIDIyNCwgMjQxLCAyNDcsIDEzMSwgCi0gICAgMjI4LCA4MCwgMjQ1LCAxMzMsIDUwLCAyMTksIDc0LCA4NywgMjI4LCA4MCwgMjE5LCA3NCwgODcsIDIyNCwgMTI1LCAyMzIsIAotICAgIDE5OSwgMjM2LCA3LCAyMzUsIDE2MywgMjI1LCA0NCwgODcsIDI0NywgMTU0LCAyMjgsIDU3LCAyMzIsIDE5OSwgODcsIDIyNCwgCi0gICAgMjM1LCAyMTIsIDQxLCA4NywgMjI4LCA3MSwgMjEyLCA0MSwgODcsIDI1MiwgMTAsIDIyOCwgODAsIDI1MiwgOSwgMjUyLCA4LCAKLSAgICAyMzAsIDEyMSwgMjUyLCA4LCAyMjUsIDIxNiwgMjI4LCA4MCwgMjI1LCAyMTUsIDI1MCwgMTA4LCAyNDksIDEzMiwgMjMxLCAKLSAgICA2MSwgODcsIDIxMSwgMjE4LCA4NywgMjIzLCA2MiwgMjUyLCAxOTUsIDg3LCAyMTYsIDM4LCAyMTIsIDQxLCAyNTAsIDUsIAotICAgIDIxOSwgMjM2LCAyNTIsIDEyNiwgMjUyLCAxMjQsIDIyNSwgMjQ2LCAyNDksIDE4NSwgMjQ5LCA5NCwgMjUyLCAxNzcsIDI1MCwgCi0gICAgMzAsIDQzLCAyMzIsIDk1LCAxMDgsIDE2LCAzMSwgMjI0LCA2LCAxMDgsIDE2LCAzMSwgMjU0LCAyMDEsIDEwOCwgMTYsIDMxLCAKLSAgICAyNDQsIDEwNCwgMTA4LCAxNiwgMzEsIDI0NSwgMjMxLCAxMDgsIDE2LCAzMSwgMjEyLCA0MCwgMTA4LCAxNiwgMzEsIDI1NCwgCi0gICAgNTEsIDEwOCwgMTYsIDMxLCAyNTQsIDUyLCAyMjMsIDEwOCwgMTA4LCAxNiwgMzEsIDI1NCwgNTIsIDIyMywgMTA3LCAxMDgsIAotICAgIDE2LCAzMSwgMjU0LCA1MiwgMjEzLCAxNDMsIDEwOCwgMTYsIDMxLCAyNTQsIDUyLCAyMTMsIDE0MiwgMTA4LCAxNiwgMzEsIAotICAgIDIxMywgMTU3LCAxMDgsIDE2LCAzMSwgMjEzLCAxNTYsIDEwOCwgMTYsIDMxLCAyMTMsIDE1NSwgMTA4LCAxNiwgMzEsIDIxOCwgCi0gICAgNDUsIDEwOCwgMTYsIDMxLCAyMjUsIDEyOCwgMjE4LCA0NSwgMTA4LCAxNiwgMzEsIDg1LCAyMTgsIDQ1LCAxMDgsIDE2LCAKLSAgICAzMSwgMjMxLCA2MCwgMjE4LCA3MiwgMTA4LCAxNiwgMzEsIDIzMSwgNjAsIDIxOCwgNzEsIDEwOCwgMTYsIDMxLCAyMzEsIAotICAgIDYwLCAyMTgsIDcwLCAxMDgsIDE2LCAzMSwgMjUwLCA0NiwgMTA4LCAxNiwgMzEsIDIyMiwgMywgMTA4LCAxNiwgMzEsIDIyOCwgCi0gICAgMTkzLCAxMDgsIDE2LCAzMSwgMjEzLCAxNDEsIDEwOCwgMTYsIDMxLCAyMTMsIDE0MCwgMTA4LCAxNiwgMzEsIDIyMiwgMjA2LCAKLSAgICAyMjIsIDMsIDEwOCwgMTYsIDMxLCAyMjIsIDIwNiwgMjIyLCAyLCAxMDgsIDE2LCAzMSwgMjQyLCAxNzMsIDEwOCwgMTYsIAotICAgIDMxLCAyMTksIDE2OCwgMTA4LCAxNiwgMzEsIDIzNSwgMTg0LCAyMjYsIDE1NywgMTA4LCAxNiwgMzEsIDIzNSwgMTg0LCAKLSAgICAyMjYsIDE1NiwgMTA4LCAxNiwgMzEsIDI0OSwgMTQyLCA2NCwgMjM1LCAxODMsIDEwOCwgMTYsIDMxLCAyMjMsIDEwNCwgNjQsIAotICAgIDIzNSwgMTgzLCAxMDgsIDE2LCAzMSwgMjQ5LCAxNzYsIDIyNiwgMTU3LCAxMDgsIDE2LCAzMSwgMjM1LCAxODIsIDIyNiwgCi0gICAgMTU3LCAxMDgsIDE2LCAzMSwgMjE4LCA3MywgNjQsIDI0OSwgMTc1LCAxMDgsIDE2LCAzMSwgMjQ5LCAxNDIsIDY0LCAyNDksIAotICAgIDE3NSwgMTA4LCAxNiwgMzEsIDI0OSwgMTQyLCA2NCwgMjQ5LCAxNzQsIDEwOCwgMTYsIDMxLCAyNDksIDE3NiwgMjU0LCA5MSwgCi0gICAgMTA4LCAxNiwgMzEsIDIyMiwgNCwgNjQsIDI0OSwgMTc2LCAyNTQsIDkxLCAxMDgsIDE2LCAzMSwgMjE4LCA3MywgNjQsIAotICAgIDIyMiwgNCwgNjQsIDI0OSwgMTc1LCAxMDgsIDE2LCAzMSwgMjEzLCAyNDMsIDEwOCwgMTYsIDMxLCAyMTYsIDg1LCAyMjYsIAotICAgIDE1NywgMTA4LCAxNiwgMzEsIDIzMywgNjMsIDIyNiwgMTU3LCAxMDgsIDE2LCAzMSwgMjU0LCA5MCwgMjI2LCAxNTcsIDEwOCwgCi0gICAgMTYsIDMxLCAyMTgsIDczLCA2NCwgMjU0LCA4OSwgMTA4LCAxNiwgMzEsIDIyMiwgNCwgNjQsIDI1NCwgODksIDEwOCwgMTYsIAotICAgIDMxLCAyMTgsIDczLCA2NCwgMjIyLCA0LCA2NCwgMjU0LCA4OSwgMTA4LCAxNiwgMzEsIDIxMywgMTU4LCA2NCwgMjU0LCA4OSwgCi0gICAgMTA4LCAxNiwgMzEsIDIyMywgMTA0LCA2NCwgMjU0LCA4OSwgMTA4LCAxNiwgMzEsIDIyMywgMTA0LCA2NCwgMjU0LCA4OCwgCi0gICAgMTA4LCAxNiwgMzEsIDIyMywgMTAzLCAxMDgsIDE2LCAzMSwgMjIzLCAxMDIsIDEwOCwgMTYsIDMxLCAyMjMsIDEwMSwgMTA4LCAKLSAgICAxNiwgMzEsIDIyMywgMTAwLCAxMDgsIDE2LCAzMSwgMjU0LCAxNjYsIDEwOCwgMTYsIDMxLCAyNTQsIDE2NSwgMTA4LCAxNiwgCi0gICAgMzEsIDIzMSwgMTY4LCAxMDgsIDE2LCAzMSwgMjIyLCA5LCAxMDgsIDE2LCAzMSwgMjUzLCAyNTQsIDEwOCwgMTYsIDMxLCAKLSAgICAyMjMsIDEyOCwgMTA4LCAxNiwgMzEsIDIyMywgMTI3LCAxMDgsIDE2LCAzMSwgMjUzLCAxOTEsIDEwOCwgMTYsIDMxLCAyNTEsIAotICAgIDIzNywgMjI2LCAxNTcsIDEwOCwgMTYsIDMxLCAyMTcsIDUwLCAxMDgsIDE2LCAzMSwgMjE3LCA0OSwgMTA4LCAxNiwgMzEsIAotICAgIDIyNCwgMTEsIDIzMiwgMjI4LCAxMDgsIDE2LCAzMSwgMjUxLCAxOTEsIDEwOCwgMTYsIDMxLCAyNTEsIDE5MCwgMTA4LCAxNiwgCi0gICAgMzEsIDI1MSwgMTg5LCAxMDgsIDE2LCAzMSwgMjU0LCAxNDYsIDEwOCwgMTYsIDMxLCAyMjYsIDIyMiwgMTA4LCAxNiwgMzEsIAotICAgIDIxOCwgMjUwLCAxMDgsIDE2LCAzMSwgMjE2LCA4MywgMTA4LCAxNiwgMzEsIDI0MiwgMTAzLCAxMDgsIDE2LCAzMSwgMjEyLCAKLSAgICAyOCwgMTA4LCAxNiwgMzEsIDIyNCwgMjI5LCAxMDgsIDE2LCAzMSwgMjUxLCAyMiwgMTA4LCAxNiwgMzEsIDIxNSwgODYsIAotICAgIDEwOCwgMTYsIDMxLCAyNTAsIDI1NCwgMjMwLCAxMjcsIDEwOCwgMTYsIDMxLCAyMjEsIDIwNCwgNjQsIDIzNSwgNjEsIDEwOCwgCi0gICAgMTYsIDMxLCAyNTEsIDMzLCAxMDgsIDE2LCAzMSwgMjE1LCAyMjAsIDEwOCwgMTYsIDMxLCAyMTgsIDE1NiwgMjE1LCAyMjAsIAotICAgIDEwOCwgMTYsIDMxLCAyMzIsIDE1NCwgMTA4LCAxNiwgMzEsIDIxOSwgNTgsIDEwOCwgMTYsIDMxLCAyMTQsIDE0MiwgMTA4LCAKLSAgICAxNiwgMzEsIDI0MCwgMjUzLCAyNDYsIDcyLCAxMDgsIDE2LCAzMSwgMjUzLCAyMzUsIDEwOCwgMTYsIDMxLCAyMjQsIDIzNywgCi0gICAgMjUzLCAyMzUsIDEwOCwgMTYsIDMxLCAyNTEsIDE1MCwgMTA4LCAxNiwgMzEsIDIyNCwgMjI4LCAyNTEsIDE1MCwgMTA4LCAKLSAgICAxNiwgMzEsIDI1NCwgMTQzLCAxMDgsIDE2LCAzMSwgMjE4LCAxMTksIDIxOCwgMjcsIDIxOCwgMTE4LCAxMDgsIDE2LCAzMSwgCi0gICAgMjE4LCAxMTksIDIxOCwgMjcsIDIxOCwgMTE3LCAxMDgsIDE2LCAzMSwgMjE4LCA2OSwgMTA4LCAxNiwgMzEsIDIyNCwgMjAzLCAKLSAgICAxMDgsIDE2LCAzMSwgMjQ3LCAxODksIDEwOCwgMTYsIDMxLCAyNDcsIDE5MSwgMTA4LCAxNiwgMzEsIDI0NywgMTkwLCAxMDgsIAotICAgIDE2LCAzMSwgMjI0LCAxMzQsIDEwOCwgMTYsIDMxLCAyMjQsIDEyMywgMTA4LCAxNiwgMzEsIDI0OSwgMTMwLCAxMDgsIDE2LCAKLSAgICAzMSwgMjQ5LCAxMjksIDEwOCwgMTYsIDMxLCAyNDksIDEyOCwgMTA4LCAxNiwgMzEsIDI0OSwgMTI3LCAxMDgsIDE2LCAzMSwgCi0gICAgMjQ5LCAxMjYsIDEwOCwgMTYsIDMxLCAyNTQsIDE3OCwgMTA4LCAxNiwgMzEsIDI1MiwgMTI3LCA2NCwgMjMxLCAxNTQsIAotICAgIDEwOCwgMTYsIDMxLCAyNTIsIDEyNywgNjQsIDIxNCwgMTcsIDEwOCwgMTYsIDMxLCAyMjMsIDYwLCAxMDgsIDE2LCAzMSwgCi0gICAgMjQwLCAyNDUsIDEwOCwgMTYsIDMxLCAyMjgsIDIxNywgMTA4LCAxNiwgMzEsIDI0OCwgMTUzLCAxMDgsIDE2LCAzMSwgMjMwLCAKLSAgICAxMzksIDEwOCwgMTYsIDMxLCAxNjMsIDI0NiwgMTAyLCAxMDgsIDE2LCAzMSwgMTYzLCAyMjYsIDEzNiwgMTAsIDE0LCAyNDAsIAotICAgIDEwOSwgMTAsIDE0LCAyNDAsIDEwOCwgMTAsIDE0LCAyNDAsIDEwNywgMTAsIDE0LCAyNDAsIDEwNiwgMTAsIDE0LCAyNDAsIAotICAgIDEwNSwgMTAsIDE0LCAyNDAsIDEwNCwgMTAsIDE0LCAyNDAsIDEwMywgMTAsIDE0LCAyNDAsIDEwMiwgMTAsIDE0LCAyNDAsIAotICAgIDEwMSwgMTAsIDE0LCAyNDAsIDEwMCwgMTAsIDE0LCAyNDAsIDk5LCAxMCwgMTQsIDI0MCwgOTgsIDEwLCAxNCwgMjQwLCA5NywgCi0gICAgMTAsIDE0LCAyNDAsIDk2LCAxMCwgMTQsIDI0MCwgOTUsIDEwLCAxNCwgMjQwLCA5NCwgMTAsIDE0LCAyNDAsIDkzLCAxMCwgCi0gICAgMTQsIDI0MCwgOTIsIDEwLCAxNCwgMjQwLCA5MSwgMTAsIDE0LCAyNDAsIDkwLCAxMCwgMTQsIDI0MCwgODksIDEwLCAxNCwgCi0gICAgMjQwLCA4OCwgMTAsIDE0LCAyNDAsIDg3LCAxMCwgMTQsIDI0MCwgODYsIDEwLCAxNCwgMjQwLCA4NSwgMTAsIDE0LCAyNDAsIAotICAgIDg0LCAxMCwgMTQsIDI0MCwgODMsIDEwLCAxNCwgMjQwLCA4MiwgMTAsIDE0LCAyNDAsIDgxLCAxMCwgMTQsIDI0MCwgODAsIAotICAgIDEwLCAxNCwgMjQwLCA3OSwgMTAsIDE0LCAyNDAsIDc4LCAxMCwgMTQsIDI0MCwgNzcsIDEwLCAxNCwgMjQwLCA3NiwgMTAsIAotICAgIDE0LCAyNDAsIDc1LCAxMCwgMTQsIDI0MCwgNzQsIDEwLCAxNCwgMjQwLCA3MywgMTAsIDE0LCAyNDAsIDcyLCAxMCwgMTQsIAotICAgIDI0MCwgNzEsIDEwLCAxNCwgMjQwLCA3MCwgMTAsIDE0LCAyNDAsIDY5LCAxMCwgMTQsIDI0MCwgNjgsIDEwLCAxNCwgMjQwLCAKLSAgICA2NywgMTAsIDE0LCAyNDAsIDY2LCAxMCwgMTQsIDI0MCwgNjUsIDEwLCAxNCwgMjQwLCA2NCwgMTAsIDE0LCAyNDAsIDYzLCAKLSAgICAxMCwgMTQsIDI0MCwgNjIsIDEwLCAxNCwgMjQwLCA2MSwgMTAsIDE0LCAyNDAsIDYwLCAxMCwgMTQsIDI0MCwgNTksIDEwLCAKLSAgICAxNCwgMjQwLCA1OCwgMTAsIDE0LCAyNDAsIDU3LCAxMCwgMTQsIDI0MCwgNTYsIDEwLCAxNCwgMjQwLCA1NSwgMTAsIDE0LCAKLSAgICAyNDAsIDU0LCAxMCwgMTQsIDI0MCwgNTMsIDEwLCAxNCwgMjQwLCA1MiwgMTAsIDE0LCAyNDAsIDUxLCAxMCwgMTQsIDI0MCwgCi0gICAgNTAsIDEwLCAxNCwgMjQwLCA0OSwgMTAsIDE0LCAyNDAsIDQ4LCAxMCwgMTQsIDI0MCwgNDcsIDEwLCAxNCwgMjQwLCA0NiwgCi0gICAgMTAsIDE0LCAyNDAsIDQ1LCAxMCwgMTQsIDI0MCwgNDQsIDEwLCAxNCwgMjQwLCA0MywgMTAsIDE0LCAyNDAsIDQyLCAxMCwgCi0gICAgMTQsIDI0MCwgNDEsIDEwLCAxNCwgMjQwLCA0MCwgMTAsIDE0LCAyNDAsIDM5LCAxMCwgMTQsIDI0MCwgMzgsIDEwLCAxNCwgCi0gICAgMjQwLCAzNywgMTAsIDE0LCAyNDAsIDM2LCAxMCwgMTQsIDI0MCwgMzUsIDEwLCAxNCwgMjQwLCAzNCwgMTAsIDE0LCAyNDAsIAotICAgIDMzLCAxMCwgMTQsIDI0MCwgMzIsIDEwLCAxNCwgMjQwLCAzMSwgMTAsIDE0LCAyNDAsIDMwLCAxMCwgMTQsIDI0MCwgMjksIAotICAgIDEwLCAxNCwgMjQwLCAyOCwgMTAsIDE0LCAyNDAsIDI3LCAxMCwgMTQsIDI0MCwgMjYsIDEwLCAxNCwgMjQwLCAyNSwgMTAsIAotICAgIDE0LCAyNDAsIDI0LCAxMCwgMTQsIDI0MCwgMjMsIDEwLCAxNCwgMjQwLCAyMiwgMTAsIDE0LCAyNDAsIDIxLCAxMCwgMTQsIAotICAgIDI0MCwgMjAsIDEwLCAxNCwgMjQwLCAxOSwgMTAsIDE0LCAyNDAsIDE4LCAxMCwgMTQsIDI0MCwgMTcsIDEwLCAxNCwgMjQwLCAKLSAgICAxNiwgMTAsIDE0LCAyNDAsIDE1LCAxMCwgMTQsIDI0MCwgMTQsIDEwLCAxNCwgMjQwLCAxMywgMTAsIDE0LCAyNDAsIDEyLCAKLSAgICAxMCwgMTQsIDI0MCwgMTEsIDEwLCAxNCwgMjQwLCAxMCwgMTAsIDE0LCAyNDAsIDksIDEwLCAxNCwgMjQwLCA4LCAxMCwgMTQsIAotICAgIDI0MCwgNywgMTAsIDE0LCAyNDAsIDYsIDEwLCAxNCwgMjQwLCA1LCAxMCwgMTQsIDI0MCwgNCwgMTAsIDE0LCAyNDAsIDMsIAotICAgIDEwLCAxNCwgMjQwLCAyLCAxMCwgMTQsIDI0MCwgMSwgMTAsIDE0LCAyNDAsIDAsIDEwLCAxNCwgMjM5LCAyNTUsIDEwLCAxNCwgCi0gICAgMjM5LCAyNTQsIDEwLCAxNCwgMjM5LCAyNTMsIDEwLCAxNCwgMjM5LCAyNTIsIDEwLCAxNCwgMjM5LCAyNTEsIDEwLCAxNCwgCi0gICAgMjM5LCAyNTAsIDEwLCAxNCwgMjM5LCAyNDksIDEwLCAxNCwgMjM5LCAyNDgsIDEwLCAxNCwgMjM5LCAyNDcsIDEwLCAxNCwgCi0gICAgMjM5LCAyNDYsIDEwLCAxNCwgMjM5LCAyNDUsIDEwLCAxNCwgMjM5LCAyNDQsIDEwLCAxNCwgMjM5LCAyNDMsIDEwLCAxNCwgCi0gICAgMjM5LCAyNDIsIDEwLCAxNCwgMjM5LCAyNDEsIDEwLCAxNCwgMjM5LCAyNDAsIDEwLCAxNCwgMjM5LCAyMzksIDEwLCAxNCwgCi0gICAgMjM5LCAyMzgsIDEwLCAxNCwgMjM5LCAyMzcsIDEwLCAxNCwgMjM5LCAyMzYsIDEwLCAxNCwgMjM5LCAyMzUsIDEwLCAxNCwgCi0gICAgMjM5LCAyMzQsIDEwLCAxNCwgMjM5LCAyMzMsIDEwLCAxNCwgMjM5LCAyMzIsIDEwLCAxNCwgMjM5LCAyMzEsIDEwLCAxNCwgCi0gICAgMjM5LCAyMzAsIDEwLCAxNCwgMjM5LCAyMjksIDEwLCAxNCwgMjM5LCAyMjgsIDEwLCAxNCwgMjM5LCAyMjcsIDEwLCAxNCwgCi0gICAgMjM5LCAyMjYsIDEwLCAxNCwgMjM5LCAyMjUsIDEwLCAxNCwgMjM5LCAyMjQsIDEwLCAxNCwgMjM5LCAyMjMsIDEwLCAxNCwgCi0gICAgMjM5LCAyMjIsIDEwLCAxNCwgMjM5LCAyMjEsIDEwLCAxNCwgMjM5LCAyMjAsIDEwLCAxNCwgMjM5LCAyMTksIDEwLCAxNCwgCi0gICAgMjM5LCAyMTgsIDEwLCAxNCwgMjM5LCAyMTcsIDEwLCAxNCwgMjM5LCAyMTYsIDEwLCAxNCwgMjM5LCAyMTUsIDEwLCAxNCwgCi0gICAgMjM5LCAyMTQsIDEwLCAxNCwgMjM5LCAyMTMsIDEwLCAxNCwgMjM5LCAyMTIsIDEwLCAxNCwgMjM5LCAyMTEsIDEwLCAxNCwgCi0gICAgMjM5LCAyMTAsIDEwLCAxNCwgMjM5LCAyMDksIDEwLCAxNCwgMjM5LCAyMDgsIDEwLCAxNCwgMjM5LCAyMDcsIDEwLCAxNCwgCi0gICAgMjM5LCAyMDYsIDEwLCAxNCwgMjM5LCAyMDUsIDEwLCAxNCwgMjM5LCAyMDQsIDEwLCAxNCwgMjM5LCAyMDMsIDEwLCAxNCwgCi0gICAgMjM5LCAyMDIsIDEwLCAxNCwgMjM5LCAyMDEsIDEwLCAxNCwgMjM5LCAyMDAsIDEwLCAxNCwgMjM5LCAxOTksIDEwLCAxNCwgCi0gICAgMjM5LCAxOTgsIDEwLCAxNCwgMjM5LCAxOTcsIDEwLCAxNCwgMjM5LCAxOTYsIDEwLCAxNCwgMjM5LCAxOTUsIDEwLCAxNCwgCi0gICAgMjM5LCAxOTQsIDEwLCAxNCwgMjM5LCAxOTMsIDEwLCAxNCwgMjM5LCAxOTIsIDEwLCAxNCwgMjM5LCAxOTEsIDEwLCAxNCwgCi0gICAgMjM5LCAxOTAsIDEwLCAxNCwgMjM5LCAxODksIDEwLCAxNCwgMjM5LCAxODgsIDEwLCAxNCwgMjM5LCAxODcsIDEwLCAxNCwgCi0gICAgMjM5LCAxODYsIDEwLCAxNCwgMjM5LCAxODUsIDEwLCAxNCwgMjM5LCAxODQsIDEwLCAxNCwgMjM5LCAxODMsIDEwLCAxNCwgCi0gICAgMjM5LCAxODIsIDEwLCAxNCwgMjM5LCAxODEsIDEwLCAxNCwgMjM5LCAxODAsIDEwLCAxNCwgMjM5LCAxNzksIDEwLCAxNCwgCi0gICAgMjM5LCAxNzgsIDEwLCAxNCwgMjM5LCAxNzcsIDEwLCAxNCwgMjM5LCAxNzYsIDEwLCAxNCwgMjM5LCAxNzUsIDEwLCAxNCwgCi0gICAgMjM5LCAxNzQsIDEwLCAxNCwgMjM5LCAxNzMsIDEwLCAxNCwgMjM5LCAxNzIsIDEwLCAxNCwgMjM5LCAxNzEsIDEwLCAxNCwgCi0gICAgMjM5LCAxNzAsIDEwLCAxNCwgMjM5LCAxNjksIDEwLCAxNCwgMjM5LCAxNjgsIDEwLCAxNCwgMjM5LCAxNjcsIDEwLCAxNCwgCi0gICAgMjM5LCAxNjYsIDEwLCAxNCwgMjM5LCAxNjUsIDEwLCAxNCwgMjM5LCAxNjQsIDEwLCAxNCwgMjM5LCAxNjMsIDEwLCAxNCwgCi0gICAgMjM5LCAxNjIsIDEwLCAxNCwgMjM5LCAxNjEsIDEwLCAxNCwgMjM5LCAxNjAsIDEwLCAxNCwgMjM5LCAxNTksIDEwLCAxNCwgCi0gICAgMjM5LCAxNTgsIDEwLCAxNCwgMjM5LCAxNTcsIDEwLCAxNCwgMjM5LCAxNTYsIDEwLCAxNCwgMjM5LCAxNTUsIDEwLCAxNCwgCi0gICAgMjM5LCAxNTQsIDEwLCAxNCwgMjM5LCAxNTMsIDEwLCAxNCwgMjM5LCAxNTIsIDEwLCAxNCwgMjM5LCAxNTEsIDEwLCAxNCwgCi0gICAgMjM5LCAxNTAsIDEwLCAxNCwgMjM5LCAxNDksIDEwLCAxNCwgMjM5LCAxNDgsIDEwLCAxNCwgMjM5LCAxNDcsIDEwLCAxNCwgCi0gICAgMjM5LCAxNDYsIDEwLCAxNCwgMjM5LCAxNDUsIDEwLCAxNCwgMjM5LCAxNDQsIDEwLCAxNCwgMjM5LCAxNDMsIDEwLCAxNCwgCi0gICAgMjM5LCAxNDIsIDEwLCAxNCwgMjM5LCAxNDEsIDEwLCAxNCwgMjM5LCAxNDAsIDEwLCAxNCwgMjM5LCAxMzksIDEwLCAxNCwgCi0gICAgMjM5LCAxMzgsIDEwLCAxNCwgMjM5LCAxMzcsIDEwLCAxNCwgMjM5LCAxMzYsIDEwLCAxNCwgMjM5LCAxMzUsIDEwLCAxNCwgCi0gICAgMjM5LCAxMzQsIDEwLCAxNCwgMjM5LCAxMzMsIDEwLCAxNCwgMjM5LCAxMzIsIDEwLCAxNCwgMjM5LCAxMzEsIDEwLCAxNCwgCi0gICAgMjM5LCAxMzAsIDEwLCAxNCwgMjM5LCAxMjksIDEwLCAxNCwgMjM5LCAxMjgsIDEwLCAxNCwgMjM5LCAxMjcsIDEwLCAxNCwgCi0gICAgMjM5LCAxMjYsIDEwLCAxNCwgMjM5LCAxMjUsIDEwLCAxNCwgMjM5LCAxMjQsIDEwLCAxNCwgMjM5LCAxMjMsIDEwLCAxNCwgCi0gICAgMjM5LCAxMjIsIDEwLCAxNCwgMjM5LCAxMjEsIDEwLCAxNCwgMjM5LCAxMjAsIDEwLCAxNCwgMjM5LCAxMTksIDEwLCAxNCwgCi0gICAgMjM5LCAxMTgsIDEwLCAxNCwgMjM5LCAxMTcsIDEwLCAxNCwgMjM5LCAxMTYsIDEwLCAxNCwgMjM5LCAxMTUsIDEwLCAxNCwgCi0gICAgMjM5LCAxMTQsIDEwLCAxNCwgMjM5LCAxMTMsIDEwLCAxNCwgMjM5LCAxMTIsIDEwLCAxNCwgMjM5LCAxMTEsIDEwLCAxNCwgCi0gICAgMjM5LCAxMTAsIDEwLCAxNCwgMjM5LCAxMDksIDEwLCAxNCwgMjM5LCAxMDgsIDEwLCAxNCwgMjM5LCAxMDcsIDEwLCAxNCwgCi0gICAgMjM5LCAxMDYsIDEwLCAxNCwgMjM5LCAxMDUsIDEwLCAxNCwgMjM5LCAxMDQsIDEwLCAxNCwgMjM5LCAxMDMsIDEwLCAxNCwgCi0gICAgMjM5LCAxMDIsIDEwLCAxNCwgMjM5LCAxMDEsIDEwLCAxNCwgMjM5LCAxMDAsIDEwLCAxNCwgMjM5LCA5OSwgMTAsIDE0LCAKLSAgICAyMzksIDk4LCAxMCwgMTQsIDIzOSwgOTcsIDEwLCAxNCwgMjM5LCA5NiwgMTAsIDE0LCAyMzksIDk1LCAxMCwgMTQsIDIzOSwgCi0gICAgOTQsIDEwLCAxNCwgMjM5LCA5MywgMTAsIDE0LCAyMzksIDkyLCAxMCwgMTQsIDIzOSwgOTEsIDEwLCAxNCwgMjM5LCA5MCwgCi0gICAgMTAsIDE0LCAyMzksIDg5LCAxMCwgMTQsIDIzOSwgODgsIDEwLCAxNCwgMjM5LCA4NywgMTAsIDE0LCAyMzksIDg2LCAxMCwgCi0gICAgMTQsIDIzOSwgODUsIDEwLCAxNCwgMjM5LCA4NCwgMTAsIDE0LCAyMzksIDgzLCAxMCwgMTQsIDIzOSwgODIsIDEwLCAxNCwgCi0gICAgMjM5LCA4MSwgMTAsIDE0LCAyMzksIDgwLCAxMCwgMTQsIDIzOSwgNzksIDEwLCAxNCwgMjM5LCA3OCwgMTAsIDE0LCAyMzksIAotICAgIDc3LCAxMCwgMTQsIDIzOSwgNzYsIDEwLCAxNCwgMjM5LCA3NSwgMTAsIDE0LCAyMzksIDc0LCAxMCwgMTQsIDIzOSwgNzMsIAotICAgIDEwLCAxNCwgMjM5LCA3MiwgMTAsIDE0LCAyMzksIDcxLCAxMCwgMTQsIDIzOSwgNzAsIDEwLCAxNCwgMjM5LCA2OSwgMTAsIAotICAgIDE0LCAyMzksIDY4LCAxMCwgMTQsIDIzOSwgNjcsIDEwLCAxNCwgMjM5LCA2NiwgMTAsIDE0LCAyMzksIDY1LCAxMCwgMTQsIAotICAgIDIzOSwgNjQsIDEwLCAxNCwgMjM5LCA2MywgMTAsIDE0LCAyMzksIDYyLCAxMCwgMTQsIDIzOSwgNjEsIDEwLCAxNCwgMjM5LCAKLSAgICA2MCwgMTAsIDE0LCAyMzksIDU5LCAxMCwgMTQsIDIzOSwgNTgsIDEwLCAxNCwgMjM5LCA1NywgMTAsIDE0LCAyMzksIDU2LCAKLSAgICAxMCwgMTQsIDIzOSwgNTUsIDEwLCAxNCwgMjM5LCA1NCwgMTAsIDE0LCAyMzksIDUzLCAxMCwgMTQsIDIzOSwgNTIsIDEwLCAKLSAgICAxNCwgMjM5LCA1MSwgMTAsIDE0LCAyMzksIDUwLCAxMCwgMTQsIDIzOSwgNDksIDEwLCAxNCwgMjM5LCA0OCwgMTAsIDE0LCAKLSAgICAyMzksIDQ3LCAxMCwgMTQsIDIzOSwgNDYsIDEwLCAxNCwgMjM5LCA0NSwgMTAsIDE0LCAyMzksIDQ0LCAxMCwgMTQsIDIzOSwgCi0gICAgNDMsIDEwLCAxNCwgMjM5LCA0MiwgMTAsIDE0LCAyMzksIDQxLCAxMCwgMTQsIDIzOSwgNDAsIDEwLCAxNCwgMjM5LCAzOSwgCi0gICAgMTAsIDE0LCAyMzksIDM4LCAxMCwgMTQsIDIzOSwgMzcsIDEwLCAxNCwgMjM5LCAzNiwgMTAsIDE0LCAyMzksIDM1LCAxMCwgCi0gICAgMTQsIDIzOSwgMzQsIDEwLCAxNCwgMjM5LCAzMywgMTAsIDE0LCAyMzksIDMyLCAxMCwgMTQsIDIzOSwgMzEsIDEwLCAxNCwgCi0gICAgMjM5LCAzMCwgMTAsIDE0LCAyMzksIDI5LCAxMCwgMTQsIDIzOSwgMjgsIDEwLCAxNCwgMjM5LCAyNywgMTAsIDE0LCAyMzksIAotICAgIDI2LCAxMCwgMTQsIDIzOSwgMjUsIDEwLCAxNCwgMjM5LCAyNCwgMTAsIDE0LCAyMzksIDIzLCAxMCwgMTQsIDIzOSwgMjIsIAotICAgIDEwLCAxNCwgMjM5LCAyMSwgMTAsIDE0LCAyMzksIDIwLCAxMCwgMTQsIDIzOSwgMTksIDEwLCAxNCwgMjM5LCAxOCwgMTAsIAotICAgIDE0LCAyMzksIDE3LCAxMCwgMTQsIDIzOSwgMTYsIDEwLCAxNCwgMjM5LCAxNSwgMTAsIDE0LCAyMzksIDE0LCAxMCwgMTQsIAotICAgIDIzOSwgMTMsIDEwLCAxNCwgMjM5LCAxMiwgMTAsIDE0LCAyMzksIDExLCAxMCwgMTQsIDIzOSwgMTAsIDEwLCAxNCwgMjM5LCAKLSAgICA5LCAxMCwgMTQsIDIzOSwgOCwgMTAsIDE0LCAyMzksIDcsIDEwLCAxNCwgMjM5LCA2LCAxMCwgMTQsIDIzOSwgNSwgMTAsIAotICAgIDE0LCAyMzksIDQsIDEwLCAxNCwgMjM5LCAzLCAxMCwgMTQsIDIzOSwgMiwgMTAsIDE0LCAyMzksIDEsIDEwLCAxNCwgMjM5LCAKLSAgICAwLCAxMCwgMTQsIDIzOCwgMjU1LCAxMCwgMTQsIDIzOCwgMjU0LCAxMCwgMTQsIDIzOCwgMjUzLCAxMCwgMTQsIDIzOCwgCi0gICAgMjUyLCAxMCwgMTQsIDIzOCwgMjUxLCAxMCwgMTQsIDIzOCwgMjUwLCAxMCwgMTQsIDIzOCwgMjQ5LCAxMCwgMTQsIDIzOCwgCi0gICAgMjQ4LCAxMCwgMTQsIDIzOCwgMjQ3LCAxMCwgMTQsIDIzOCwgMjQ2LCAxMCwgMTQsIDIzOCwgMjQ1LCAxMCwgMTQsIDIzOCwgCi0gICAgMjQ0LCAxMCwgMTQsIDIzOCwgMjQzLCAxMCwgMTQsIDIzOCwgMjQyLCAxMCwgMTQsIDIzOCwgMjQxLCAxMCwgMTQsIDIzOCwgCi0gICAgMjQwLCAxMCwgMTQsIDIzOCwgMjM5LCAxMCwgMTQsIDIzOCwgMjM4LCAxMCwgMTQsIDIzOCwgMjM3LCAxMCwgMTQsIDIzOCwgCi0gICAgMjM2LCAxMCwgMTQsIDIzOCwgMjM1LCAxMCwgMTQsIDIzOCwgMjM0LCAxMCwgMTQsIDIzOCwgMjMzLCAxMCwgMTQsIDIzOCwgCi0gICAgMjMyLCAxMCwgMTQsIDIzOCwgMjMxLCAxMCwgMTQsIDIzOCwgMjMwLCAxMCwgMTQsIDIzOCwgMjI5LCAxMCwgMTQsIDIzOCwgCi0gICAgMjI4LCAxMCwgMTQsIDIzOCwgMjI3LCAxMCwgMTQsIDIzOCwgMjI2LCAxMCwgMTQsIDIzOCwgMjI1LCAxMCwgMTQsIDIzOCwgCi0gICAgMjI0LCAxMCwgMTQsIDIzOCwgMjIzLCAxMCwgMTQsIDIzOCwgMjIyLCAxMCwgMTQsIDIzOCwgMjIxLCAxMCwgMTQsIDIzOCwgCi0gICAgMjIwLCAxMCwgMTQsIDIzOCwgMjE5LCAxMCwgMTQsIDIzOCwgMjE4LCAxMCwgMTQsIDIzOCwgMjE3LCAxMCwgMTQsIDIzOCwgCi0gICAgMjE2LCAxMCwgMTQsIDIzOCwgMjE1LCAxMCwgMTQsIDIzOCwgMjE0LCAxMCwgMTQsIDIzOCwgMjEzLCAxMCwgMTQsIDIzOCwgCi0gICAgMjEyLCAxMCwgMTQsIDIzOCwgMjExLCAxMCwgMTQsIDIzOCwgMjEwLCAxMCwgMTQsIDIzOCwgMjA5LCAxMCwgMTQsIDIzOCwgCi0gICAgMjA4LCAxMCwgMTQsIDIzOCwgMjA3LCAxMCwgMTQsIDIzOCwgMjA2LCAxMCwgMTQsIDIzOCwgMjA1LCAxMCwgMTQsIDIzOCwgCi0gICAgMjA0LCAxMCwgMTQsIDIzOCwgMjAzLCAxMCwgMTQsIDIzOCwgMjAyLCAxMCwgMTQsIDIzOCwgMjAxLCAxMCwgMTQsIDIzOCwgCi0gICAgMjAwLCAxMCwgMTQsIDIzOCwgMTk5LCAxMCwgMTQsIDIzOCwgMTk4LCAxMCwgMTQsIDIzOCwgMTk3LCAxMCwgMTQsIDIzOCwgCi0gICAgMTk2LCAxMCwgMTQsIDIzOCwgMTk1LCAxMCwgMTQsIDIzOCwgMTk0LCAxMCwgMTQsIDIzOCwgMTkzLCAxMCwgMTQsIDIzOCwgCi0gICAgMTkyLCAxMCwgMTQsIDIzOCwgMTkxLCAxMCwgMTQsIDIzOCwgMTkwLCAxMCwgMTQsIDIzOCwgMTg5LCAxMCwgMTQsIDIzOCwgCi0gICAgMTg4LCAxMCwgMTQsIDIzOCwgMTg3LCAxMCwgMTQsIDIzOCwgMTg2LCAxMCwgMTQsIDIzOCwgMTg1LCAxMCwgMTQsIDIzOCwgCi0gICAgMTg0LCAxMCwgMTQsIDIzOCwgMTgzLCAxMCwgMTQsIDIzOCwgMTgyLCAxMCwgMTQsIDIzOCwgMTgxLCAxMCwgMTQsIDIzOCwgCi0gICAgMTgwLCAxMCwgMTQsIDIzOCwgMTc5LCAxMCwgMTQsIDIzOCwgMTc4LCAxMCwgMTQsIDIzOCwgMTc3LCAxMCwgMTQsIDIzOCwgCi0gICAgMTc2LCAxMCwgMTQsIDIzOCwgMTc1LCAxMCwgMTQsIDIzOCwgMTc0LCAxMCwgMTQsIDIzOCwgMTczLCAxMCwgMTQsIDIzOCwgCi0gICAgMTcyLCAxMCwgMTQsIDIzOCwgMTcxLCAxMCwgMTQsIDIzOCwgMTcwLCAxMCwgMTQsIDIzOCwgMTY5LCAxMCwgMTQsIDIzOCwgCi0gICAgMTY4LCAxMCwgMTQsIDIzOCwgMTY3LCAxMCwgMTQsIDIzOCwgMTY2LCAxMCwgMTQsIDIzOCwgMTY1LCAxMCwgMTQsIDIzOCwgCi0gICAgMTY0LCAxMCwgMTQsIDIzOCwgMTYzLCAxMCwgMTQsIDIzOCwgMTYyLCAxMCwgMTQsIDIzOCwgMTYxLCAxMCwgMTQsIDIzOCwgCi0gICAgMTYwLCAxMCwgMTQsIDIzOCwgMTU5LCAxMCwgMTQsIDIzOCwgMTU4LCAxMCwgMTQsIDIzOCwgMTU3LCAxMCwgMTQsIDIzOCwgCi0gICAgMTU2LCAxMCwgMTQsIDIzOCwgMTU1LCAxMCwgMTQsIDIzOCwgMTU0LCAxMCwgMTQsIDIzOCwgMTUzLCAxMCwgMTQsIDIzOCwgCi0gICAgMTUyLCAxMCwgMTQsIDIzOCwgMTUxLCAxMCwgMTQsIDIzOCwgMTUwLCAxMCwgMTQsIDIzOCwgMTQ5LCAxMCwgMTQsIDIzOCwgCi0gICAgMTQ4LCAxMCwgMTQsIDIzOCwgMTQ3LCAxMCwgMTQsIDIzOCwgMTQ2LCAxMCwgMTQsIDIzOCwgMTQ1LCAxMCwgMTQsIDIzOCwgCi0gICAgMTQ0LCAxMCwgMTQsIDIzOCwgMTQzLCAxMCwgMTQsIDIzOCwgMTQyLCAxMCwgMTQsIDIzOCwgMTQxLCAxMCwgMTQsIDIzOCwgCi0gICAgMTQwLCAxMCwgMTQsIDIzOCwgMTM5LCAxMCwgMTQsIDIzOCwgMTM4LCAxMCwgMTQsIDIzOCwgMTM3LCAxMCwgMTQsIDIzOCwgCi0gICAgMTM2LCAxMCwgMTQsIDIzOCwgMTM1LCAxMCwgMTQsIDIzOCwgMTM0LCAxMCwgMTQsIDIzOCwgMTMzLCAxMCwgMTQsIDIzOCwgCi0gICAgMTMyLCAxMCwgMTQsIDIzOCwgMTMxLCAxMCwgMTQsIDIzOCwgMTMwLCAxMCwgMTQsIDIzOCwgMTI5LCAxMCwgMTQsIDIzOCwgCi0gICAgMTI4LCAxMCwgMTQsIDIzOCwgMTI3LCAxMCwgMTQsIDIzOCwgMTI2LCAxMCwgMTQsIDIzOCwgMTI1LCAxMCwgMTQsIDIzOCwgCi0gICAgMTI0LCAxMCwgMTQsIDIzOCwgMTIzLCAxMCwgMTQsIDIzOCwgMTIyLCAxMCwgMTQsIDIzOCwgMTIxLCAxMCwgMTQsIDIzOCwgCi0gICAgMTIwLCAxMCwgMTQsIDIzOCwgMTE5LCAxMCwgMTQsIDIzOCwgMTE4LCAxMCwgMTQsIDIzOCwgMTE3LCAxMCwgMTQsIDIzOCwgCi0gICAgMTE2LCAxMCwgMTQsIDIzOCwgMTE1LCAxMCwgMTQsIDIzOCwgMTE0LCAxMCwgMTQsIDIzOCwgMTEzLCAxMCwgMTQsIDIzOCwgCi0gICAgMTEyLCAxMCwgMTQsIDIzOCwgMTExLCAxMCwgMTQsIDIzOCwgMTEwLCAxMCwgMTQsIDIzOCwgMTA5LCAxMCwgMTQsIDIzOCwgCi0gICAgMTA4LCAxMCwgMTQsIDIzOCwgMTA3LCAxMCwgMTQsIDIzOCwgMTA2LCAxMCwgMTQsIDIzOCwgMTA1LCAxMCwgMTQsIDIzOCwgCi0gICAgMTA0LCAxMCwgMTQsIDIzOCwgMTAzLCAxMCwgMTQsIDIzOCwgMTAyLCAxMCwgMTQsIDIzOCwgMTAxLCAxMCwgMTQsIDIzOCwgCi0gICAgMTAwLCAxMCwgMTQsIDIzOCwgOTksIDEwLCAxNCwgMjM4LCA5OCwgMTAsIDE0LCAyMzgsIDk3LCAxMCwgMTQsIDIzOCwgOTYsIAotICAgIDEwLCAxNCwgMjM4LCA5NSwgMTAsIDE0LCAyMzgsIDk0LCAxMCwgMTQsIDIzOCwgOTMsIDEwLCAxNCwgMjM4LCA5MiwgMTAsIAotICAgIDE0LCAyMzgsIDkxLCAxMCwgMTQsIDIzOCwgOTAsIDEwLCAxNCwgMjM4LCA4OSwgMTAsIDE0LCAyMzgsIDg4LCAxMCwgMTQsIAotICAgIDIzOCwgODcsIDEwLCAxNCwgMjM4LCA4NiwgMTAsIDE0LCAyMzgsIDg1LCAxMCwgMTQsIDIzOCwgODQsIDEwLCAxNCwgMjM4LCAKLSAgICA4MywgMTAsIDE0LCAyMzgsIDgyLCAxMCwgMTQsIDIzOCwgODEsIDEwLCAxNCwgMjM4LCA4MCwgMjMzLCA5NiwgMjE3LCA4NSwgCi0gICAgMTI5LCAyMTksIDIwLCAxMjksIDI0NSwgMzksIDc5LCAxMjksIDIyNCwgMSwgNzksIDEyOSwgNTQsIDUwLCAxMjksIDI0NywgCi0gICAgMTQwLCA1MCwgMTI5LCAyMjUsIDE4NSwgNTAsIDEyOSwgMjU0LCAxMzQsIDEyOSwgMjU0LCA2NSwgMTI5LCA0MywgMjI2LCA3LCAKLSAgICAxMjksIDQ0LCAyMjYsIDcsIDEyOSwgMjUzLCAyMjQsIDEyOSwgOTYsIDUwLCAxMjksIDI0OSwgMjI3LCAxMjksIDI0MCwgCi0gICAgMTc0LCAxMjksIDI0MywgMjM2LCAyMTgsIDEzMSwgMTI5LCAyMTksIDQ4LCAxMjksIDIxLCAyMTAsIDg2LCAxMjksIDIxLCAKLSAgICAxMTEsIDEyOSwgMjEsIDEwNSwgMTI5LCAyMSwgMTU4LCAxMjksIDIxLCAxNjEsIDEyOSwgMjEsIDE5MCwgMTI5LCAyMSwgCi0gICAgMTk1LCAxMjksIDIxLCAxOTksIDEyOSwgMjEsIDE5NiwgMTI5LCAyMSwgMjAxLCAxMjksIDI0OSwgMjM0LCAxMjksIDIyMCwgCi0gICAgMTUyLCAxMjksIDIzMywgMjEsIDUwLCAxMjksIDI0NSwgMTA2LCA1MCwgMTI5LCAyNDIsIDEzNywgNTAsIDEyOSwgMjI0LCAKLSAgICAxNiwgNzksIDEyOSwgMjQ5LCAyMjUsIDI1MywgMjE0LCAxMjksIDcsIDYsIDEsIDYxLCAxMjksIDcsIDYsIDEsIDI1MywgCi0gICAgMTY2LCAxMjksIDcsIDYsIDEsIDI1MSwgNzQsIDEyOSwgNywgNiwgMSwgMjQ5LCA2OCwgMTI5LCA3LCA2LCAxLCA3NiwgMTI5LCAKLSAgICA3LCA2LCAxLCAyNDUsIDE0LCAxMjksIDcsIDYsIDEsIDI0MywgMjA5LCAxMjksIDcsIDYsIDEsIDI0MiwgNjcsIDEyOSwgNywgCi0gICAgNiwgMSwgNzQsIDEyOSwgNywgNiwgMSwgMjM1LCAxNTAsIDEyOSwgNywgNiwgMSwgMjM1LCAyOSwgMTI5LCA3LCA2LCAxLCAKLSAgICAxNTYsIDEyOSwgNywgNiwgMSwgMTk0LCAxMjksIDcsIDYsIDEsIDIzMCwgMzAsIDEyOSwgNywgNiwgMSwgNzgsIDEyOSwgNywgCi0gICAgNiwgMSwgMjI2LCAxMDksIDEyOSwgNywgNiwgMSwgMjI0LCA5OSwgMTI5LCA3LCA2LCAxLCAxNTMsIDEyOSwgNywgNiwgMSwgCi0gICAgMjIyLCA5MywgMTI5LCA3LCA2LCAxLCAyMTcsIDE1MywgMTI5LCA3LCA2LCAxLCA2OSwgMTI5LCA3LCA2LCAxLCAyMTQsIAotICAgIDEwNSwgMTI5LCA3LCA2LCAxLCAyMTIsIDk4LCAxMjksIDcsIDYsIDEsIDIxMSwgMTc4LCAxMjksIDcsIDYsIDEsIDIxMSwgCi0gICAgMTE3LCAxMjksIDcsIDYsIDEsIDIxMCwgMTU5LCAxMjksIDQzLCA0MiwgMTI3LCAxMjksIDIyMywgNTMsIDIxOSwgNDgsIAotICAgIDEyOSwgNDQsIDQyLCAxMjcsIDEyOSwgMjUwLCAzOSwgMjU1LCAyMywgMTI5LCAxMjEsIDIzMiwgMjE5LCAxMjksIDI0MiwgCi0gICAgMTQ0LCAyNTUsIDIzLCAxMjksIDcsIDQsIDEsIDYxLCAxMjksIDcsIDQsIDEsIDI1MywgMTY2LCAxMjksIDcsIDQsIDEsIAotICAgIDI1MSwgNzQsIDEyOSwgNywgNCwgMSwgMjQ5LCA2OCwgMTI5LCA3LCA0LCAxLCA3NiwgMTI5LCA3LCA0LCAxLCAyNDUsIDE0LCAKLSAgICAxMjksIDcsIDQsIDEsIDI0MywgMjA5LCAxMjksIDcsIDQsIDEsIDI0MiwgNjcsIDEyOSwgNywgNCwgMSwgNzQsIDEyOSwgNywgCi0gICAgNCwgMSwgMjM1LCAxNTAsIDEyOSwgNywgNCwgMSwgMjM1LCAyOSwgMTI5LCA3LCA0LCAxLCAxNTYsIDEyOSwgNywgNCwgMSwgCi0gICAgMTk0LCAxMjksIDcsIDQsIDEsIDIzMCwgMzAsIDEyOSwgNywgNCwgMSwgNzgsIDEyOSwgNywgNCwgMSwgMjI2LCAxMDksIAotICAgIDEyOSwgNywgNCwgMSwgMjI0LCA5OSwgMTI5LCA3LCA0LCAxLCAxNTMsIDEyOSwgNywgNCwgMSwgMjIyLCA5MywgMTI5LCA3LCAKLSAgICA0LCAxLCAyMTcsIDE1MywgMTI5LCA3LCA0LCAxLCA2OSwgMTI5LCA3LCA0LCAxLCAyMTQsIDEwNSwgMTI5LCA3LCA0LCAxLCAKLSAgICAyMTIsIDk4LCAxMjksIDcsIDQsIDEsIDIxMSwgMTc4LCAxMjksIDcsIDQsIDEsIDIxMSwgMTE3LCAxMjksIDcsIDQsIDEsIAotICAgIDIxMCwgMTU5LCAxMjksIDQzLCAyNDksIDEwNywgMTI3LCAxMjksIDY3LCAyMzIsIDIxOSwgMTI5LCA0NCwgMjQ5LCAxMDcsIAotICAgIDEyNywgMTI5LCAxODQsIDI1MSwgMTQsIDIxNywgODUsIDQ1LCAyMjEsIDgwLCA0NSwgMjIxLCA2OSwgNDUsIDIyMSwgNTgsIAotICAgIDQ1LCAyMjEsIDQ2LCA0NSwgMjIxLCAzNSwgNDUsIDIyMSwgMjQsIDQ1LCAyMjEsIDEzLCA0NSwgMjIxLCAyLCA0NSwgMjIwLCAKLSAgICAyNDcsIDQ1LCAyMjAsIDIzOSwgNDUsIDIyMCwgMjM4LCA0NSwgMjIwLCAyMzcsIDQ1LCAyMjAsIDIzNiwgNDUsIDIyMCwgCi0gICAgMjM0LCA0NSwgMjIwLCAyMzMsIDQ1LCAyMjAsIDIzMiwgNDUsIDIyMCwgMjMxLCA0NSwgMjIwLCAyMzAsIDQ1LCAyMjAsIAotICAgIDIyOSwgNDUsIDIyMCwgMjI4LCA0NSwgMjIwLCAyMjcsIDQ1LCAyMjAsIDIyNiwgNDUsIDIyMCwgMjI1LCA0NSwgMjIwLCAKLSAgICAyMjMsIDQ1LCAyMjAsIDIyMiwgNDUsIDIyMCwgMjIxLCA0NSwgMjIwLCAyMjAsIDQ1LCAyMjAsIDIxOSwgNDUsIDIyMCwgCi0gICAgMjE4LCA0NSwgMjIwLCAyMTcsIDQ1LCAyMjAsIDIxNiwgNDUsIDIyMCwgMjE1LCA0NSwgMjIwLCAyMTQsIDQ1LCAyMjAsIAotICAgIDIxMiwgNDUsIDIyMCwgMjExLCA0NSwgMjIwLCAyMTAsIDQ1LCAyMjAsIDIwOSwgNDUsIDIyMCwgMjA4LCA0NSwgMjIwLCAKLSAgICAyMDcsIDQ1LCAyMjAsIDIwNiwgNDUsIDIyMCwgMjA1LCA0NSwgMjIwLCAyMDQsIDQ1LCAyMjAsIDIwMywgNDUsIDIyMCwgCi0gICAgMjAxLCA0NSwgMjIwLCAyMDAsIDQ1LCAyMjAsIDE5OSwgNDUsIDIyMCwgMTk4LCA0NSwgMjIwLCAxOTcsIDQ1LCAyMjAsIAotICAgIDE5NiwgNDUsIDIyMCwgMTk1LCA0NSwgMjIwLCAxOTQsIDQ1LCAyMjAsIDE5MywgNDUsIDIyMCwgMTkyLCA0NSwgMjIwLCAKLSAgICAxOTAsIDQ1LCAyMjAsIDE4OSwgNDUsIDIyMCwgMTg4LCA0NSwgMjIwLCAxODcsIDQ1LCAyMjAsIDE4NiwgNDUsIDIyMCwgCi0gICAgMTg1LCA0NSwgMjIwLCAxODQsIDQ1LCAyMjAsIDE4MywgNDUsIDIyMCwgMTgyLCA0NSwgMjIwLCAxODEsIDQ1LCAyMjAsIAotICAgIDE3OSwgNDUsIDIyMCwgMTc4LCA0NSwgMjIwLCAxNzcsIDQ1LCAyMjAsIDE3NiwgNDUsIDIyMCwgMTc1LCA0NSwgMjIwLCAKLSAgICAxNzQsIDQ1LCAyMjAsIDE3MywgNDUsIDIyMCwgMTcyLCA0NSwgMjIwLCAxNzEsIDQ1LCAyMjAsIDE3MCwgNDUsIDIyMCwgCi0gICAgMTY4LCA0NSwgMjIwLCAxNjcsIDQ1LCAyMjAsIDE2NiwgNDUsIDIyMCwgMTY1LCA0NSwgMjIwLCAxNjQsIDQ1LCAyMjAsIAotICAgIDE2MywgNDUsIDIyMCwgMTYyLCA0NSwgMjIwLCAxNjEsIDQ1LCAyMjAsIDE2MCwgNDUsIDIyMCwgMTU5LCA0NSwgMjIxLCAKLSAgICAxNTYsIDQ1LCAyMjEsIDE1NSwgNDUsIDIyMSwgMTU0LCA0NSwgMjIxLCAxNTMsIDQ1LCAyMjEsIDE1MiwgNDUsIDIyMSwgCi0gICAgMTUxLCA0NSwgMjIxLCAxNTAsIDQ1LCAyMjEsIDE0OSwgNDUsIDIyMSwgMTQ4LCA0NSwgMjIxLCAxNDcsIDQ1LCAyMjEsIAotICAgIDE0NSwgNDUsIDIyMSwgMTQ0LCA0NSwgMjIxLCAxNDMsIDQ1LCAyMjEsIDE0MiwgNDUsIDIyMSwgMTQxLCA0NSwgMjIxLCAKLSAgICAxNDAsIDQ1LCAyMjEsIDEzOSwgNDUsIDIyMSwgMTM4LCA0NSwgMjIxLCAxMzcsIDQ1LCAyMjEsIDEzNiwgNDUsIDIyMSwgCi0gICAgMTM0LCA0NSwgMjIxLCAxMzMsIDQ1LCAyMjEsIDEzMiwgNDUsIDIyMSwgMTMxLCA0NSwgMjIxLCAxMzAsIDQ1LCAyMjEsIAotICAgIDEyOSwgNDUsIDIyMSwgMTI4LCA0NSwgMjIxLCAxMjcsIDQ1LCAyMjEsIDEyNiwgNDUsIDIyMSwgMTI1LCA0NSwgMjIxLCAKLSAgICAxMjMsIDQ1LCAyMjEsIDEyMiwgNDUsIDIyMSwgMTIxLCA0NSwgMjIxLCAxMjAsIDQ1LCAyMjEsIDExOSwgNDUsIDIyMSwgCi0gICAgMTE4LCA0NSwgMjIxLCAxMTcsIDQ1LCAyMjEsIDExNiwgNDUsIDIyMSwgMTE1LCA0NSwgMjIxLCAxMTQsIDQ1LCAyMjEsIAotICAgIDExMiwgNDUsIDIyMSwgMTExLCA0NSwgMjIxLCAxMTAsIDQ1LCAyMjEsIDEwOSwgNDUsIDIyMSwgMTA4LCA0NSwgMjIxLCAKLSAgICAxMDcsIDQ1LCAyMjEsIDEwNiwgNDUsIDIyMSwgMTA1LCA0NSwgMjIxLCAxMDQsIDQ1LCAyMjEsIDEwMywgNDUsIDIyMSwgCi0gICAgMTAxLCA0NSwgMjIxLCAxMDAsIDQ1LCAyMjEsIDk5LCA0NSwgMjIxLCA5OCwgNDUsIDIyMSwgOTcsIDQ1LCAyMjEsIDk2LCAKLSAgICA0NSwgMjIxLCA5NSwgNDUsIDIyMSwgOTQsIDQ1LCAyMjEsIDkzLCA0NSwgMjIxLCA5MiwgNDUsIDIyMSwgOTAsIDQ1LCAyMjEsIAotICAgIDg5LCA0NSwgMjIxLCA4OCwgNDUsIDIyMSwgODcsIDQ1LCAyMjEsIDg2LCA0NSwgMjIxLCA4NSwgNDUsIDIyMSwgODQsIDQ1LCAKLSAgICAyMjEsIDgzLCA0NSwgMjIxLCA4MiwgNDUsIDIyMSwgODEsIDQ1LCAyMjEsIDc5LCA0NSwgMjIxLCA3OCwgNDUsIDIyMSwgNzcsIAotICAgIDQ1LCAyMjEsIDc2LCA0NSwgMjIxLCA3NSwgNDUsIDIyMSwgNzQsIDQ1LCAyMjEsIDczLCA0NSwgMjIxLCA3MiwgNDUsIDIyMSwgCi0gICAgNzEsIDQ1LCAyMjEsIDcwLCA0NSwgMjIxLCA2OCwgNDUsIDIyMSwgNjcsIDQ1LCAyMjEsIDY2LCA0NSwgMjIxLCA2NSwgNDUsIAotICAgIDIyMSwgNjQsIDQ1LCAyMjEsIDYzLCA0NSwgMjIxLCA2MiwgNDUsIDIyMSwgNjEsIDQ1LCAyMjEsIDYwLCA0NSwgMjIxLCA1OSwgCi0gICAgNDUsIDIyMSwgNTcsIDQ1LCAyMjEsIDU2LCA0NSwgMjIxLCA1NSwgNDUsIDIyMSwgNTQsIDQ1LCAyMjEsIDUzLCA0NSwgMjIxLCAKLSAgICA1MiwgNDUsIDIyMSwgNTEsIDQ1LCAyMjEsIDUwLCA0NSwgMjIxLCA0OSwgNDUsIDIyMSwgNDgsIDQ1LCAyMjEsIDQ1LCA0NSwgCi0gICAgMjIxLCA0NCwgNDUsIDIyMSwgNDMsIDQ1LCAyMjEsIDQyLCA0NSwgMjIxLCA0MSwgNDUsIDIyMSwgNDAsIDQ1LCAyMjEsIDM5LCAKLSAgICA0NSwgMjIxLCAzOCwgNDUsIDIyMSwgMzcsIDQ1LCAyMjEsIDM2LCA0NSwgMjIxLCAzNCwgNDUsIDIyMSwgMzMsIDQ1LCAyMjEsIAotICAgIDMyLCA0NSwgMjIxLCAzMSwgNDUsIDIyMSwgMzAsIDQ1LCAyMjEsIDI5LCA0NSwgMjIxLCAyOCwgNDUsIDIyMSwgMjcsIDQ1LCAKLSAgICAyMjEsIDI2LCA0NSwgMjIxLCAyNSwgNDUsIDIyMSwgMjMsIDQ1LCAyMjEsIDIyLCA0NSwgMjIxLCAyMSwgNDUsIDIyMSwgMjAsIAotICAgIDQ1LCAyMjEsIDE5LCA0NSwgMjIxLCAxOCwgNDUsIDIyMSwgMTcsIDQ1LCAyMjEsIDE2LCA0NSwgMjIxLCAxNSwgNDUsIDIyMSwgCi0gICAgMTQsIDQ1LCAyMjEsIDEyLCA0NSwgMjIxLCAxMSwgNDUsIDIyMSwgMTAsIDQ1LCAyMjEsIDksIDQ1LCAyMjEsIDgsIDQ1LCAKLSAgICAyMjEsIDcsIDQ1LCAyMjEsIDYsIDQ1LCAyMjEsIDUsIDQ1LCAyMjEsIDQsIDQ1LCAyMjEsIDMsIDQ1LCAyMjEsIDEsIDQ1LCAKLSAgICAyMjEsIDAsIDQ1LCAyMjAsIDI1NSwgNDUsIDIyMCwgMjU0LCA0NSwgMjIwLCAyNTMsIDQ1LCAyMjAsIDI1MiwgNDUsIDIyMCwgCi0gICAgMjUxLCA0NSwgMjIwLCAyNTAsIDQ1LCAyMjAsIDI0OSwgNDUsIDIyMCwgMjQ4LCA0NSwgMjIwLCAyNDYsIDQ1LCAyMjAsIAotICAgIDI0NSwgNDUsIDIyMCwgMjQ0LCA0NSwgMjIwLCAyNDMsIDQ1LCAyMjAsIDI0MiwgNDUsIDIyMCwgMjQxLCA0NSwgMjIwLCAKLSAgICAyNDAsIDIyNywgMjA2LCAyMjcsIDIwOCwgMjE4LCAxNTQsIDY0LCAyNDEsIDI0MCwgMjE5LCA1MCwgMjE4LCAxNTQsIDY0LCAKLSAgICAyMTYsIDIxMywgMjE4LCA4NiwgMjQ1LCAxNTEsIDY0LCAyMTYsIDIxMywgMjQ1LCA2NCwgMjQ1LCAxNTEsIDY0LCAyMTUsIAotICAgIDI0NCwgMjQ1LCAxMTcsIDI0NSwgMTQwLCAyNDUsIDE0MSwgMjU1LCAxNiwgMjU1LCAxNywgMjU0LCAxNzYsIDI1MiwgNTUsIAotICAgIDI1MiwgMTg3LCAyNTEsIDEzOSwgMTM1LCAyMTcsIDkwLCAyMDMsIDIxNywgOTAsIDI0MCwgMjM0LCAyMTcsIDk0LCAyMzIsIAotICAgIDIyMCwgMjQ0LCAxNTMsIDE2NiwgMjMyLCAyMTksIDI0NSwgMTUxLCA2NCwgMjMyLCAyMTksIDIzMywgNiwgMjI4LCAxNDAsIAotICAgIDI0NSwgMTIwLCAyMzIsIDIyMCwgMjE3LCA5MCwgNjcsIDIxNywgOTAsIDIxMiwgMTE4LCAyNDQsIDI4LCAyNDQsIDE1MywgCi0gICAgMjQ0LCAxMzMsIDI1MCwgMjM4LCAyMjMsIDU2LCAyNDksIDE1MSwgMjIwLCAzMCwgMjI2LCAxMzQsIDIzMiwgMTU2LCAxMTEsIAotICAgIDIxOSwgNjAsIDIyMCwgMzAsIDIzNiwgNiwgMjMyLCAxNTYsIDIxMCwgODYsIDIxOSwgMTkzLCAyNDgsIDE1OSwgMjMyLCAKLSAgICAyMTAsIDI0NSwgODUsIDI0NywgMTYzLCAyNDgsIDM5LCAyNDksIDE4NiwgMTExLCAyNDgsIDE0OSwgMjQ4LCAzOSwgMjQ5LCAKLSAgICAxODYsIDEwNSwgMjQ4LCAxNDgsIDI0OCwgMzksIDI0OSwgMTg2LCAxNTgsIDI0OCwgMTQ3LCAyNDgsIDM5LCAyNDksIDE4NiwgCi0gICAgMTYxLCAyNDgsIDE0NiwgMTUyLCAyNTUsIDE2LCAyMjksIDIxNCwgMjE3LCAxNzgsIDIzNiwgNjksIDIxNywgMTgxLCAyNDUsIAotICAgIDE1MSwgNjQsIDIxNSwgMjQ1LCAyNTEsIDIyMSwgMjQ1LCA3MCwgMjUxLCAxMywgMjUxLCAxNSwgMjQ1LCAxNTEsIDY0LCAKLSAgICAyMzEsIDg2LCAyNDUsIDExOCwgMjE4LCA2MiwgMjE4LCA3OSwgMjQ1LCA4NSwgMjQ1LCA4NiwgMjM1LCAyMzksIDIyMCwgCi0gICAgMTQwLCAxNjEsIDI0NCwgMTE1LCAyMjAsIDEzOSwgMjQzLCAyNDUsIDIzNSwgMjM5LCAyMjAsIDE0MCwgMTU4LCAyNDIsIAotICAgIDEyOCwgMjIwLCAxMzksIDI0MiwgMTI1LCAyMzUsIDIzOSwgMjIwLCAxNDAsIDEwNSwgMjIzLCAxMjQsIDIyMCwgMTM5LCAKLSAgICAyMjIsIDE0NywgMjM1LCAyMzksIDIyMCwgMTQwLCAxMTEsIDIxNCwgMTc0LCAyMjAsIDEzOSwgMjE0LCAxMzMsIDIxOSwgMjMsIAotICAgIDI0OCwgNzEsIDI0OCwgNzMsIDIyNiwgODIsIDI1MCwgMTUwLCAyMjYsIDg0LCAxMjUsIDIyNiwgMjQ0LCAyMjQsIDE5NiwgCi0gICAgMjQxLCA1NCwgMjUxLCAxNTgsIDIyNSwgMTc2LCAyNDEsIDIxMCwgMjUxLCAxNjksIDIyOCwgODAsIDI1MSwgMTU4LCAyNDEsIAotICAgIDIxMCwgMjI5LCAxODAsIDIzNSwgMjQ5LCAyMzUsIDI1MSwgMjI5LCA4NywgMjMyLCAyMTksIDIyOSwgMTA0LCAyMTgsIDE1NCwgCi0gICAgNjQsIDIyMSwgMTYwLCAyNTQsIDI2LCAyMTgsIDIyNSwgMjQ1LCAxNTEsIDY0LCAyMjEsIDE2MCwgMjU0LCAyNiwgMjQ1LCAKLSAgICA4OCwgMTM1LCAyMTcsIDkxLCAyMjAsIDEyOSwgMjAzLCAyMTcsIDkxLCAyMjAsIDEyOSwgMjQwLCAyMzEsIDEzNSwgMjE3LCAKLSAgICA5MSwgMiwgMjM1LCA0MSwgMjAzLCAyMTcsIDkxLCAyLCAyMzUsIDQxLCAyNDAsIDIzMiwgMjMyLCAyMjAsIDIxNywgOTEsIAotICAgIDIyMCwgMTI5LCA2NywgMjE3LCA5MSwgMjIwLCAxMjksIDIxMiwgMTE3LCAyMjYsIDEsIDIzMiwgMjIwLCAyNDQsIDIyLCAKLSAgICAyMjYsIDEsIDIzMiwgMjIwLCAyNDYsIDExNCwgMjI1LCAzNSwgMjI2LCAxLCAyMzIsIDIyMCwgMjUyLCAxODYsIDIyNiwgMSwgCi0gICAgMjMyLCAyMjAsIDIxNCwgMTYzLCAyMjUsIDMxLCAyMjMsIDUzLCAyMzIsIDIyMCwgMjQ0LCAxNTMsIDIyMywgNTMsIDIzNSwgCi0gICAgMjQ5LCAyMjMsIDM4LCAyMTksIDE1NywgMjIwLCAzMCwgMTA1LCAyMTksIDE1NCwgMjE4LCAyMjcsIDIxOSwgMTU3LCAyMjAsIAotICAgIDMwLCAxNTgsIDIxOSwgMTUzLCAyMTgsIDIyNiwgMjQ4LCAzOSwgMjQ5LCAxODYsIDIxOCwgMTA3LCAyNDgsIDE0NSwgMjI0LCAKLSAgICAxODYsIDIxNCwgMTMyLCAxMTEsIDIyNCwgMTg2LCAyMTQsIDEzMCwgMjI0LCAxNTIsIDIyNCwgMTg2LCAyMTQsIDEzMiwgCi0gICAgMTA1LCAyMjQsIDE4NiwgMjE0LCAxMjksIDIyNCwgMTUxLCAyMjAsIDEzMCwgMjE1LCAyNDMsIDIxOCwgMTUzLCAyMTgsIDkwLCAKLSAgICAyNTEsIDE0LCAyNTAsIDE1MCwgMjUwLCAyMTcsIDIzMSwgNDgsIDIxMiwgNTksIDIzMCwgNDgsIDIxOCwgMTU0LCA2NCwgCi0gICAgMjQyLCAxMTQsIDI1NCwgMjYsIDIxOCwgMTU0LCA2NCwgMjI0LCAxNjksIDI1NCwgMjYsIDIxOSwgMjIsIDI0NSwgMTUxLCAKLSAgICA2NCwgMjQyLCAxMTQsIDI1NCwgMjYsIDI0NSwgMTUxLCA2NCwgMjI0LCAxNjksIDI1NCwgMjYsIDI0NSwgMTE1LCAyMTgsIAotICAgIDE1NCwgNjQsIDIxOCwgMTA3LCAyMTksIDM3LCAyMTksIDE1NywgMjQyLCAxNDgsIDEzNSwgMjM1LCAyMDIsIDIyMCwgMTA5LCAKLSAgICAyMTksIDE1NywgMTM1LCAyMzUsIDIwMiwgMjIxLCAxOTYsIDI0OSwgMTg2LCAyMjAsIDEzNywgMjM1LCAyMDIsIDI0OSwgCi0gICAgMTIxLCAyMTgsIDEwOCwgMjE2LCAyMzcsIDIxOCwgMTcwLCAyMjYsIDE3MywgMjE3LCAxNjgsIDI0OSwgMjI2LCAyMjYsIAotICAgIDE0NiwgMjI0LCAxODcsIDIzMSwgNDcsIDIyNSwgMjIsIDI1NCwgNjEsIDIyNCwgMTgxLCAyNDksIDIyNiwgMjU0LCA3NywgCi0gICAgMjI5LCAxNjgsIDIxOSwgMjAyLCA3LCA2LCAxLCAyNDMsIDAsIDcsIDQsIDEsIDI0MywgMCwgMjUwLCAxNjcsIDI1NCwgMTU3LCAKLSAgICAxODMsIDIxOCwgNjgsIDI0OSwgMjM1LCAyMTksIDEwOCwgMjMzLCA1MiwgMTY1LCAxLCAyMzIsIDE4MSwgMjA5LCAyMDksIDEsIAotICAgIDI0NCwgNTIsIDI0NCwgNDQsIDIwOSwgMjA5LCAxLCAyNDQsIDUyLCAyNDQsIDE2NSwgMjA5LCAyMDksIDEsIDIyMiwgMjEzLCAKLSAgICAyMDksIDIwOSwgMSwgMjMyLCAxNjIsIDYzLCAxNjQsIDI1MSwgMjMxLCAyMjAsIDUsIDI0MiwgMjIyLCAyMzAsIDI1MywgCi0gICAgMjIzLCA0NCwgMjQzLCAyMjMsIDI0MywgMjIyLCAyNDMsIDIyMSwgMjMwLCA1MCwgMjA5LCAyNTEsIDIwOSwgMjUyLCAyMDksIAotICAgIDI1NCwgMjMyLCAxMDcsIDIyMiwgMjIxLCAyMzIsIDEwOSwgMjIyLCAyMjMsIDIyNSwgMjI3LCAyMzIsIDEwNiwgMjIyLCAKLSAgICAyMjAsIDIyOCwgMTExLCAyMzAsIDE3MCwgMjExLCAyMjksIDIzMiwgMTA4LCAyMjIsIDIyMiwgMjQzLCAyNDQsIDIyNSwgCi0gICAgMjI2LCAyMTIsIDE1LCAyNDUsIDE3MCwgMjQzLCAyMzMsIDIzMCwgMjM0LCAyMjYsIDIwMSwgMjE0LCAxMzQsIDg3LCAyMzAsIAotICAgIDIzNCwgMjQ4LCAxNjUsIDg3LCA4LCAzLCAyMzUsIDE2NCwgNzksIDIyNCwgMTk3LCAyNDQsIDI4LCAzMSwgNjcsIDQ0LCA3MSwgCi0gICAgMjMzLCAyNiwgMTI3LCAyMTMsIDExOCwgMjEzLCA3LCAyMTIsIDE5NSwgMjEyLCAxODQsIDIxMiwgMTczLCAyMTIsIDE2MiwgCi0gICAgMjEyLCAxNTEsIDIxMiwgMTQwLCAyMTIsIDEyOSwgMjEzLCAxMTcsIDIxMywgMTA2LCAyMTMsIDk1LCAyMTMsIDg0LCAyMTMsIAotICAgIDczLCAyMTMsIDYyLCAyMTMsIDUxLCAyNTEsIDc5LCAyMjYsIDE1OSwgNzksIDI1MSwgMjA0LCAyMDksIDI1MywgMTUsIDUsIAotICAgIDIyNywgMjE1LCAyMTYsIDI0MCwgMTUsIDUsIDIyNywgMjE1LCAxMTUsIDIyNywgMjE1LCAyNTEsIDEwNywgMTE1LCAyNTEsIAotICAgIDEwNiwgNDksIDI4LCAxNiwgMjQzLCAyNDMsIDIxOSwgMTA0LCAyNTAsIDgxLCAyMTQsIDksIDIxMywgNDAsIDIxMywgMjksIAotICAgIDIxMywgMTgsIDIxMywgNiwgMjEyLCAyNTEsIDIxMiwgMjQwLCAyMTIsIDIyOSwgMjEyLCAyMTgsIDIxMiwgMjA3LCAyMTIsIAotICAgIDE5OSwgMjEyLCAxOTgsIDIxMiwgMTk3LCAyMTIsIDE5NiwgMjEyLCAxOTQsIDIxMiwgMTkzLCAyMTIsIDE5MiwgMjEyLCAKLSAgICAxOTEsIDIxMiwgMTkwLCAyMTIsIDE4OSwgMjEyLCAxODgsIDIxMiwgMTg3LCAyMTIsIDE4NiwgMjEyLCAxODUsIDIxMiwgCi0gICAgMTgzLCAyMTIsIDE4MiwgMjEyLCAxODEsIDIxMiwgMTgwLCAyMTIsIDE3OSwgMjEyLCAxNzgsIDIxMiwgMTc3LCAyMTIsIAotICAgIDE3NiwgMjEyLCAxNzUsIDIxMiwgMTc0LCAyMTIsIDE3MiwgMjEyLCAxNzEsIDIxMiwgMTcwLCAyMTIsIDE2OSwgMjEyLCAKLSAgICAxNjgsIDIxMiwgMTY3LCAyMTIsIDE2NiwgMjEyLCAxNjUsIDIxMiwgMTY0LCAyMTIsIDE2MywgMjEyLCAxNjEsIDIxMiwgCi0gICAgMTYwLCAyMTIsIDE1OSwgMjEyLCAxNTgsIDIxMiwgMTU3LCAyMTIsIDE1NiwgMjEyLCAxNTUsIDIxMiwgMTU0LCAyMTIsIAotICAgIDE1MywgMjEyLCAxNTIsIDIxMiwgMTUwLCAyMTIsIDE0OSwgMjEyLCAxNDgsIDIxMiwgMTQ3LCAyMTIsIDE0NiwgMjEyLCAKLSAgICAxNDUsIDIxMiwgMTQ0LCAyMTIsIDE0MywgMjEyLCAxNDIsIDIxMiwgMTQxLCAyMTIsIDEzOSwgMjEyLCAxMzgsIDIxMiwgCi0gICAgMTM3LCAyMTIsIDEzNiwgMjEyLCAxMzUsIDIxMiwgMTM0LCAyMTIsIDEzMywgMjEyLCAxMzIsIDIxMiwgMTMxLCAyMTIsIAotICAgIDEzMCwgMjEyLCAxMjgsIDIxMiwgMTI3LCAyMTIsIDEyNiwgMjEyLCAxMjUsIDIxMiwgMTI0LCAyMTIsIDEyMywgMjEyLCAKLSAgICAxMjIsIDIxMiwgMTIxLCAyMTIsIDEyMCwgMjEyLCAxMTksIDIxMywgMTE2LCAyMTMsIDExNSwgMjEzLCAxMTQsIDIxMywgCi0gICAgMTEzLCAyMTMsIDExMiwgMjEzLCAxMTEsIDIxMywgMTEwLCAyMTMsIDEwOSwgMjEzLCAxMDgsIDIxMywgMTA3LCAyMTMsIAotICAgIDEwNSwgMjEzLCAxMDQsIDIxMywgMTAzLCAyMTMsIDEwMiwgMjEzLCAxMDEsIDIxMywgMTAwLCAyMTMsIDk5LCAyMTMsIDk4LCAKLSAgICAyMTMsIDk3LCAyMTMsIDk2LCAyMTMsIDk0LCAyMTMsIDkzLCAyMTMsIDkyLCAyMTMsIDkxLCAyMTMsIDkwLCAyMTMsIDg5LCAKLSAgICAyMTMsIDg4LCAyMTMsIDg3LCAyMTMsIDg2LCAyMTMsIDg1LCAyMTMsIDgzLCAyMTMsIDgyLCAyMTMsIDgxLCAyMTMsIDgwLCAKLSAgICAyMTMsIDc5LCAyMTMsIDc4LCAyMTMsIDc3LCAyMTMsIDc2LCAyMTMsIDc1LCAyMTMsIDc0LCAyMTMsIDcyLCAyMTMsIDcxLCAKLSAgICAyMTMsIDcwLCAyMTMsIDY5LCAyMTMsIDY4LCAyMTMsIDY3LCAyMTMsIDY2LCAyMTMsIDY1LCAyMTMsIDY0LCAyMTMsIDYzLCAKLSAgICAyMTMsIDYxLCAyMTMsIDYwLCAyMTMsIDU5LCAyMTMsIDU4LCAyMTMsIDU3LCAyMTMsIDU2LCAyMTMsIDU1LCAyMTMsIDU0LCAKLSAgICAyMTMsIDUzLCAyMTMsIDUyLCAyMTMsIDUwLCAyMTMsIDQ5LCAyMTMsIDQ4LCAyMTMsIDQ3LCAyMTMsIDQ2LCAyMTMsIDQ1LCAKLSAgICAyMTMsIDQ0LCAyMTMsIDQzLCAyMTMsIDQyLCAyMTMsIDQxLCAyMTMsIDM5LCAyMTMsIDM4LCAyMTMsIDM3LCAyMTMsIDM2LCAKLSAgICAyMTMsIDM1LCAyMTMsIDM0LCAyMTMsIDMzLCAyMTMsIDMyLCAyMTMsIDMxLCAyMTMsIDMwLCAyMTMsIDI4LCAyMTMsIDI3LCAKLSAgICAyMTMsIDI2LCAyMTMsIDI1LCAyMTMsIDI0LCAyMTMsIDIzLCAyMTMsIDIyLCAyMTMsIDIxLCAyMTMsIDIwLCAyMTMsIDE5LCAKLSAgICAyMTMsIDE3LCAyMTMsIDE2LCAyMTMsIDE1LCAyMTMsIDE0LCAyMTMsIDEzLCAyMTMsIDEyLCAyMTMsIDExLCAyMTMsIDEwLCAKLSAgICAyMTMsIDksIDIxMywgOCwgMjEzLCA1LCAyMTMsIDQsIDIxMywgMywgMjEzLCAyLCAyMTMsIDEsIDIxMywgMCwgMjEyLCAyNTUsIAotICAgIDIxMiwgMjU0LCAyMTIsIDI1MywgMjEyLCAyNTIsIDIxMiwgMjUwLCAyMTIsIDI0OSwgMjEyLCAyNDgsIDIxMiwgMjQ3LCAKLSAgICAyMTIsIDI0NiwgMjEyLCAyNDUsIDIxMiwgMjQ0LCAyMTIsIDI0MywgMjEyLCAyNDIsIDIxMiwgMjQxLCAyMTIsIDIzOSwgCi0gICAgMjEyLCAyMzgsIDIxMiwgMjM3LCAyMTIsIDIzNiwgMjEyLCAyMzUsIDIxMiwgMjM0LCAyMTIsIDIzMywgMjEyLCAyMzIsIAotICAgIDIxMiwgMjMxLCAyMTIsIDIzMCwgMjEyLCAyMjgsIDIxMiwgMjI3LCAyMTIsIDIyNiwgMjEyLCAyMjUsIDIxMiwgMjI0LCAKLSAgICAyMTIsIDIyMywgMjEyLCAyMjIsIDIxMiwgMjIxLCAyMTIsIDIyMCwgMjEyLCAyMTksIDIxMiwgMjE3LCAyMTIsIDIxNiwgCi0gICAgMjEyLCAyMTUsIDIxMiwgMjE0LCAyMTIsIDIxMywgMjEyLCAyMTIsIDIxMiwgMjExLCAyMTIsIDIxMCwgMjEyLCAyMDksIAotICAgIDIxMiwgMjA4LCAyMTIsIDIwNiwgMjEyLCAyMDUsIDIxMiwgMjA0LCAyMTIsIDIwMywgMjEyLCAyMDIsIDIxMiwgMjAxLCAKLSAgICAyMTIsIDIwMCwgNywgNiwgMSwgMTE2LCAyLCAyMzEsIDIzOCwgMjIsIDI0MiwgMTQzLCA3LCA0LCAxLCAxMTYsIDIsIDIzMSwgCi0gICAgMjM4LCAyMiwgMjQyLCAxNDMsIDcsIDYsIDEsIDE2MCwgMiwgNjcsIDIzMiwgMjIwLCA1MSwgNywgNCwgMSwgMTYwLCAyLCAKLSAgICA2NywgMjMyLCAyMjAsIDUxLCA3LCA2LCAxLCAxNjAsIDIsIDY3LCAyMzIsIDIyMCwgMjUyLCA1MSwgMjIsIDI0MiwgMTQzLCAKLSAgICA3LCA0LCAxLCAxNjAsIDIsIDY3LCAyMzIsIDIyMCwgMjUyLCA1MSwgMjIsIDI0MiwgMTQzLCA3LCA2LCAxLCAxNjAsIDIsIAotICAgIDY3LCAyMzIsIDIyMCwgMjUyLCA1MSwgMjIsIDE0MiwgNywgNCwgMSwgMTYwLCAyLCA2NywgMjMyLCAyMjAsIDI1MiwgNTEsIAotICAgIDIyLCAxNDIsIDcsIDYsIDEsIDE2MCwgMiwgMjUwLCAzOSwgMjIsIDIzMSwgMjM3LCA3LCA0LCAxLCAxNjAsIDIsIDI1MCwgCi0gICAgMzksIDIyLCAyMzEsIDIzNywgNywgNiwgMSwgMTYwLCAyLCAyNTAsIDM5LCAyMiwgMjUwLCAyNDIsIDcsIDQsIDEsIDE2MCwgCi0gICAgMiwgMjUwLCAzOSwgMjIsIDI1MCwgMjQyLCA3LCA2LCAxLCAyNDAsIDE2MSwgMiwgMjMxLCAyMzgsIDIyLCAyNDIsIDE0MywgCi0gICAgNywgNCwgMSwgMjQwLCAxNjEsIDIsIDIzMSwgMjM4LCAyMiwgMjQyLCAxNDMsIDcsIDQsIDEsIDI0MCwgMTYxLCAyLCA1OSwgCi0gICAgNzIsIDIyLCAxNDIsIDcsIDQsIDEsIDIyOSwgODUsIDIsIDIxNiwgOTAsIDQ4LCA3LCA2LCAxLCAxNDQsIDIsIDY3LCAyMzIsIAotICAgIDIyMCwgNTEsIDcsIDQsIDEsIDE0NCwgMiwgNjcsIDIzMiwgMjIwLCA1MSwgNywgNiwgMSwgMTQ0LCAyLCA2NywgMjMyLCAKLSAgICAyMjAsIDI1MiwgNTEsIDIyLCAyNDIsIDE0MywgNywgNCwgMSwgMTQ0LCAyLCA2NywgMjMyLCAyMjAsIDI1MiwgNTEsIDIyLCAKLSAgICAyNDIsIDE0MywgNywgNiwgMSwgMTQ0LCAyLCA2NywgMjMyLCAyMjAsIDI1MiwgNTEsIDIyLCAxNDIsIDcsIDQsIDEsIDE0NCwgCi0gICAgMiwgNjcsIDIzMiwgMjIwLCAyNTIsIDUxLCAyMiwgMTQyLCA3LCA2LCAxLCAyMjIsIDk0LCAyLCA2NywgMjMyLCAyMjAsIDUxLCAKLSAgICA3LCA0LCAxLCAyMjIsIDk0LCAyLCA2NywgMjMyLCAyMjAsIDUxLCA3LCA2LCAxLCAxMDQsIDIsIDIzMSwgMjM4LCAyMiwgCi0gICAgMjQyLCAxNDMsIDcsIDQsIDEsIDEwNCwgMiwgMjMxLCAyMzgsIDIyLCAyNDIsIDE0MywgNywgNiwgMSwgMTE2LCAyLCAyMjYsIAotICAgIDIyOSwgMjIsIDE0MiwgNywgNCwgMSwgMTE2LCAyLCAyMjYsIDIyOSwgMjIsIDE0MiwgNywgNiwgMSwgMTE2LCAyLCAyMjYsIAotICAgIDIyOSwgMjIsIDE4NCwgNywgNCwgMSwgMTE2LCAyLCAyMjYsIDIyOSwgMjIsIDE4NCwgNywgNiwgMSwgMTYwLCAyLCAyMjYsIAotICAgIDIyOSwgMjIsIDE0MiwgNywgNCwgMSwgMTYwLCAyLCAyMjYsIDIyOSwgMjIsIDE0MiwgNywgNiwgMSwgMTYwLCAyLCAyMjYsIAotICAgIDIyOSwgMjIsIDE4NCwgNywgNCwgMSwgMTYwLCAyLCAyMjYsIDIyOSwgMjIsIDE4NCwgNywgNiwgMSwgMTYwLCAyLCA1OSwgCi0gICAgNzIsIDIyLCAxNDIsIDcsIDQsIDEsIDE2MCwgMiwgNTksIDcyLCAyMiwgMTQyLCA3LCA2LCAxLCAxNjAsIDIsIDU5LCA3MiwgCi0gICAgMjIsIDE4NCwgNywgNCwgMSwgMTYwLCAyLCA1OSwgNzIsIDIyLCAxODQsIDcsIDQsIDEsIDI0MCwgMTYxLCAyLCA1OSwgNzIsIAotICAgIDIyLCAyNDIsIDE0MywgNywgNCwgMSwgMjQwLCAxNjEsIDIsIDU5LCA3MiwgMjIsIDE4NCwgNywgNiwgMSwgMjQwLCAxNjEsIAotICAgIDIsIDIyNiwgMjI5LCAyMiwgMTQyLCA3LCA0LCAxLCAyNDAsIDE2MSwgMiwgMjI2LCAyMjksIDIyLCA1OSwgNzIsIDIyLCAKLSAgICAxNDIsIDcsIDYsIDEsIDI0MCwgMTYxLCAyLCAyMjYsIDIyOSwgMjIsIDE4NCwgNywgNCwgMSwgMjQwLCAxNjEsIDIsIDIyNiwgCi0gICAgMjI5LCAyMiwgNTksIDcyLCAyMiwgMTg0LCA3LCA2LCAxLCAyMzUsIDE1MSwgMiwgMTg0LCA3LCA0LCAxLCAyMzUsIDE1MSwgCi0gICAgMiwgNTksIDcyLCAyMiwgMTg0LCA3LCA2LCAxLCAyMzMsIDE1NSwgMiwgMTg0LCA3LCA0LCAxLCAyMzMsIDE1NSwgMiwgMTg0LCAKLSAgICA3LCA2LCAxLCAyMzIsIDU1LCAyLCAxODQsIDcsIDQsIDEsIDIzMiwgNTUsIDIsIDE4NCwgNywgNiwgMSwgMjIzLCAyMjcsIDIsIAotICAgIDE4NCwgNywgNCwgMSwgMjIzLCAyMjcsIDIsIDE4NCwgNywgNiwgMSwgMTA0LCAyLCAyMjYsIDIyOSwgMjIsIDE0MiwgNywgNCwgCi0gICAgMSwgMTA0LCAyLCAyMjYsIDIyOSwgMjIsIDE0MiwgNywgNiwgMSwgMTA0LCAyLCAyMjYsIDIyOSwgMjIsIDE4NCwgNywgNCwgCi0gICAgMSwgMTA0LCAyLCAyMjYsIDIyOSwgMjIsIDE4NCwgNywgNiwgMSwgMTA0LCAyLCAyMzEsIDIzOCwgMjIsIDE0MiwgNywgNCwgCi0gICAgMSwgMTA0LCAyLCAyMzEsIDIzOCwgMjIsIDE0MiwgNywgNiwgMSwgMTA0LCAyLCAyMzEsIDIzOCwgMjIsIDE4NCwgNywgNCwgCi0gICAgMSwgMTA0LCAyLCAyMzEsIDIzOCwgMjIsIDE4NCwgNywgNCwgMSwgMjU0LCAyNTMsIDIsIDI0MiwgMTQzLCA3LCA0LCAxLCAKLSAgICAyMDQsIDE0NCwgMiwgMjQyLCAxNDMsIDcsIDQsIDEsIDIwNCwgMTQ0LCAyLCAxNDIsIDcsIDQsIDEsIDIxNSwgOTQsIDIxNCwgCi0gICAgMTA2LCAyLCAyNDIsIDE0MywgNywgNCwgMSwgMjE1LCA5NCwgMjE0LCAxMDYsIDIsIDE0MiwgNywgNCwgMSwgMjIxLCAxOTgsIAotICAgIDIsIDI0MiwgMTQzLCA3LCA0LCAxLCAyMjEsIDE5OCwgMiwgMTQyLCA3LCA0LCAxLCAyNDEsIDU4LCAyMjEsIDE5OCwgMiwgCi0gICAgMjQyLCAxNDMsIDcsIDQsIDEsIDI0MSwgNTgsIDIyMSwgMTk4LCAyLCAxNDIsIDksIDIyMCwgMTM3LCA3NywgMiwgMTgyLCAKLSAgICA3MiwgMiwgMjU0LCAxNzksIDksIDIyMCwgMTM3LCA3NywgMiwgMTgyLCA3MiwgMiwgMjEyLCAzMCwgOSwgMjIwLCAxMzcsIAotICAgIDc3LCAyLCAxODIsIDcyLCAyLCAxMDksIDIzMSwgMTk3LCA5LCAyMjAsIDEzNywgNzcsIDIsIDE4MiwgNzIsIDIsIDIyNiwgCi0gICAgMjM4LCA5LCAyMjAsIDEzNywgNzcsIDIsIDE4MiwgNzIsIDIsIDY5LCA5LCAyMjAsIDEzNywgNzcsIDIsIDE4MiwgNzIsIDIsIAotICAgIDIxMCwgMjEyLCA5LCAyMjAsIDEzNywgNzcsIDIsIDE4MiwgNzIsIDIsIDc2LCA5LCAyMjAsIDEzNywgNzcsIDIsIDE4MiwgCi0gICAgNzIsIDIsIDI1NCwgMjUyLCA5LCAyMjAsIDEzNywgMjI4LCA2OCwgMiwgMjM0LCAxODAsIDE0NiwgMSwgMjM0LCAxMTUsIDM2LCAKLSAgICAxMTcsIDIzNSwgMjksIDM2LCAxMTcsIDIyOSwgODQsIDM2LCAxMTcsIDI1MSwgNzQsIDM2LCAxMTcsIDIyNywgMTcxLCAzNiwgCi0gICAgMTE3LCAyMTUsIDE2MCwgMzYsIDExNywgMjI4LCAxMTYsIDM2LCAxMTcsIDIxNywgMTUzLCAzNiwgMTE3LCAyMzAsIDMwLCAKLSAgICAzNiwgMTE3LCAyMjYsIDEwOSwgMzYsIDExNywgMTk0LCAzNiwgMTE3LCAyMTEsIDExNywgMzYsIDExNywgMTUzLCAzNiwgCi0gICAgMTE3LCAxNTYsIDM2LCAxMTcsIDIxNCwgMTA1LCAzNiwgMTE3LCAyMzIsIDE4MiwgMzYsIDExNywgMjMyLCAxOTEsIDM2LCAKLSAgICAxMTcsIDIyMiwgMTgyLCAzNiwgMTE3LCAyMjgsIDk4LCAzNiwgMTE3LCAyMzUsIDE1MCwgMzYsIDExNywgMjIwLCAxMDYsIAotICAgIDM2LCAxMTcsIDIxOCwgMjI4LCAzNiwgMTE3LCAyMjIsIDkzLCAzNiwgMTE3LCAyNDIsIDY3LCAzNiwgMTE3LCAyMzMsIDIzOCwgCi0gICAgMzYsIDMsIDIzNSwgMTYsIDM2LCAzLCAyMzQsIDk4LCAzNiwgMywgMjM0LCA4OSwgMzYsIDMsIDIzMywgMjIzLCAzNiwgMywgCi0gICAgMjMzLCAxOTQsIDM2LCAzLCAyMzQsIDE4OCwgMzYsIDMsIDIzNCwgMTg3LCAzNiwgMywgMjM0LCAyNTIsIDM2LCAzLCAyMzQsIAotICAgIDM0LCAzNiwgMywgMjM0LCAxNiwgMzYsIDMsIDIzNCwgMjAxLCAzNiwgMywgMjI5LCA4MSwgMzYsIDMsIDIyOSwgMzIsIDM2LCAKLSAgICAzLCAyMjksIDI4LCAzNiwgMywgMjI4LCAyNTMsIDM2LCAzLCAyMjgsIDI0NiwgMzYsIDMsIDIyOSwgNjksIDM2LCAzLCAyMjksIAotICAgIDY3LCAzNiwgMywgMjI5LCA3OCwgMzYsIDMsIDIyOSwgOSwgMzYsIDMsIDIyOSwgNCwgMzYsIDMsIDIyOSwgNzEsIDM2LCAzLCAKLSAgICAyNTEsIDQwLCAzNiwgMywgMjUwLCA1OSwgMzYsIDMsIDI1MCwgNDksIDM2LCAzLCAyNDksIDEyMCwgMzYsIDMsIDI0OSwgOTEsIAotICAgIDM2LCAzLCAyNTAsIDE5OCwgMzYsIDMsIDI1MCwgMTkwLCAzNiwgMywgMjUxLCAzMCwgMzYsIDMsIDI0OSwgMjQ2LCAzNiwgMywgCi0gICAgMjQ5LCAxODIsIDM2LCAzLCAyNTAsIDIzMCwgMzYsIDMsIDIyNywgMTY4LCAzNiwgMywgMjI3LCAxNTIsIDM2LCAzLCAyMjcsIAotICAgIDE0NywgMzYsIDMsIDIyNywgMTMyLCAzNiwgMywgMjI3LCAxMjUsIDM2LCAzLCAyMjcsIDE2MCwgMzYsIDMsIDIyNywgMTU5LCAKLSAgICAzNiwgMywgMjI3LCAxNjUsIDM2LCAzLCAyMjcsIDEzOCwgMzYsIDMsIDIyNywgMTM2LCAzNiwgMywgMjI3LCAxNjMsIDM2LCAKLSAgICAzLCAyMTUsIDE1NiwgMzYsIDMsIDIxNSwgMTM2LCAzNiwgMywgMjE1LCAxMzUsIDM2LCAzLCAyMTUsIDEyNCwgMzYsIDMsIAotICAgIDIxNSwgMTIxLCAzNiwgMywgMjE1LCAxNTIsIDM2LCAzLCAyMTUsIDE1MSwgMzYsIDMsIDIxNSwgMTU1LCAzNiwgMywgMjE1LCAKLSAgICAxMzQsIDM2LCAzLCAyMTUsIDEzMywgMzYsIDMsIDIxNSwgMTU0LCAzNiwgMywgMjI4LCAxMTQsIDM2LCAzLCAyMjgsIDEwMCwgCi0gICAgMzYsIDMsIDIyOCwgOTksIDM2LCAzLCAyMjgsIDgzLCAzNiwgMywgMjI4LCA4MiwgMzYsIDMsIDIyOCwgMTEwLCAzNiwgMywgCi0gICAgMjI4LCAxMDksIDM2LCAzLCAyMjgsIDExMywgMzYsIDMsIDIyOCwgODUsIDM2LCAzLCAyMjgsIDg0LCAzNiwgMywgMjI4LCAKLSAgICAxMTIsIDM2LCAzLCAyMTcsIDEwMiwgMzYsIDMsIDIxNiwgMTE4LCAzNiwgMywgMjE2LCAxMDQsIDM2LCAzLCAyMTUsIDExOSwgCi0gICAgMzYsIDMsIDIxNSwgODUsIDM2LCAzLCAyMTcsIDIzLCAzNiwgMywgMjE3LCAxMiwgMzYsIDMsIDIxNywgODAsIDM2LCAzLCAKLSAgICAxMTIsIDM2LCAzLCAyMTYsIDE4LCAzNiwgMywgMjE3LCA0MiwgMzYsIDMsIDIyOSwgMjMwLCAzNiwgMywgMjI4LCAyMzgsIAotICAgIDM2LCAzLCAyMjgsIDIxMywgMzYsIDMsIDIyNywgMjQyLCAzNiwgMywgMjI3LCAxODMsIDM2LCAzLCAyMjksIDExMiwgMzYsIAotICAgIDMsIDIyOSwgMTA4LCAzNiwgMywgMjI5LCAyMTcsIDM2LCAzLCAyMjgsIDc5LCAzNiwgMywgMjI4LCA2OSwgMzYsIDMsIDIyOSwgCi0gICAgMTkyLCAzNiwgMywgMjI2LCA5MywgMzYsIDMsIDIyNSwgMTExLCAzNiwgMywgMjI1LCA3NCwgMzYsIDMsIDIyNCwgMTUzLCAKLSAgICAzNiwgMywgMjI0LCAxMjIsIDM2LCAzLCAyMjUsIDIyNCwgMzYsIDMsIDIyNSwgMjE0LCAzNiwgMywgMjI2LCA3NSwgMzYsIDMsIAotICAgIDIyNSwgMTksIDM2LCAzLCAyMjQsIDI1MiwgMzYsIDMsIDIyNSwgMjM4LCAzNiwgMywgMjMxLCAyNDIsIDM2LCAzLCAyMzAsIAotICAgIDIzNSwgMzYsIDMsIDIzMCwgMjA2LCAzNiwgMywgMjMwLCAxMDcsIDM2LCAzLCAyMzAsIDU5LCAzNiwgMywgMjMxLCA5NiwgCi0gICAgMzYsIDMsIDIzMSwgODUsIDM2LCAzLCAyMzEsIDIwOCwgMzYsIDMsIDIzMCwgMTY2LCAzNiwgMywgMjMwLCAxMzcsIDM2LCAzLCAKLSAgICAyMzEsIDE0MCwgMzYsIDMsIDIxMSwgMTAzLCAzNiwgMywgMjExLCA4LCAzNiwgMywgMjEwLCAyNTUsIDM2LCAzLCAyMTAsIAotICAgIDIxMiwgMzYsIDMsIDIxMCwgMTgxLCAzNiwgMywgMjExLCA0NywgMzYsIDMsIDIxMSwgNDQsIDM2LCAzLCAyMTEsIDgyLCAzNiwgCi0gICAgMywgMjEwLCAyNDQsIDM2LCAzLCAyMTAsIDIyOSwgMzYsIDMsIDIxMSwgNTUsIDM2LCAzLCAyMjMsIDE4NywgMzYsIDMsIAotICAgIDIyMywgMzgsIDM2LCAzLCAyMjIsIDI0MiwgMzYsIDMsIDIyMiwgMTQyLCAzNiwgMywgMjIyLCAxMTQsIDM2LCAzLCAyMjMsIAotICAgIDEzMSwgMzYsIDMsIDIyMywgMTExLCAzNiwgMywgMjIzLCAxNjksIDM2LCAzLCAyMjIsIDIxMywgMzYsIDMsIDIyMiwgMTk5LCAKLSAgICAzNiwgMywgMjIzLCAxMzksIDM2LCAzLCAyMzMsIDE0MCwgMzYsIDMsIDIzMiwgMjQ3LCAzNiwgMywgMjMyLCAyMzMsIDM2LCAKLSAgICAzLCAyMzIsIDEwMywgMzYsIDMsIDIzMiwgNzgsIDM2LCAzLCAyMzMsIDY0LCAzNiwgMywgMjMzLCA1NiwgMzYsIDMsIDIzMywgCi0gICAgMTE1LCAzNiwgMywgMjMyLCAxNjIsIDM2LCAzLCAyMzIsIDEzMywgMzYsIDMsIDIzMywgODAsIDM2LCAzLCAyMTQsIDI2LCAKLSAgICAzNiwgMywgMjEzLCAxNzYsIDM2LCAzLCAyMTMsIDE2MiwgMzYsIDMsIDIxMiwgMTE2LCAzNiwgMywgMjEyLCAxMDksIDM2LCAKLSAgICAzLCAyMTMsIDI1NSwgMzYsIDMsIDIxMywgMjUwLCAzNiwgMywgMjE0LCAyMywgMzYsIDMsIDIxMywgMTM4LCAzNiwgMywgCi0gICAgMjEzLCAxMjcsIDM2LCAzLCAyMTQsIDUsIDM2LCAzLCAyMzIsIDE4MCwgMzYsIDMsIDIzMiwgMTc1LCAzNiwgMywgMjMyLCAKLSAgICAxNzQsIDM2LCAzLCAyMzIsIDE3MSwgMzYsIDMsIDIzMiwgMTcwLCAzNiwgMywgMjMyLCAxNzcsIDM2LCAzLCAyMzIsIDE3NiwgCi0gICAgMzYsIDMsIDIzMiwgMTc5LCAzNiwgMywgMjMyLCAxNzMsIDM2LCAzLCAyMzIsIDE3MiwgMzYsIDMsIDIzMiwgMTc4LCAzNiwgCi0gICAgMywgMjMyLCAxODksIDM2LCAzLCAyMzIsIDE4NCwgMzYsIDMsIDIzMiwgMTgzLCAzNiwgMywgMjMyLCAxNjcsIDM2LCAzLCAKLSAgICAyMzIsIDE2NiwgMzYsIDMsIDIzMiwgMTg2LCAzNiwgMywgMjMyLCAxODUsIDM2LCAzLCAyMzIsIDE4OCwgMzYsIDMsIDIzMiwgCi0gICAgMTY5LCAzNiwgMywgMjMyLCAxNjgsIDM2LCAzLCAyMzIsIDE4NywgMzYsIDMsIDIyMiwgMTgwLCAzNiwgMywgMjIyLCAxNjksIAotICAgIDM2LCAzLCAyMjIsIDE2OCwgMzYsIDMsIDIyMiwgMTYyLCAzNiwgMywgMjIyLCAxNTUsIDM2LCAzLCAyMjIsIDE3NiwgMzYsIAotICAgIDMsIDIyMiwgMTc1LCAzNiwgMywgMjIyLCAxNzksIDM2LCAzLCAyMjIsIDE2NywgMzYsIDMsIDIyMiwgMTY2LCAzNiwgMywgCi0gICAgMjIyLCAxNzgsIDM2LCAzLCAyMjgsIDk2LCAzNiwgMywgMjI4LCA5MSwgMzYsIDMsIDIyOCwgOTAsIDM2LCAzLCAyMjgsIDg3LCAKLSAgICAzNiwgMywgMjI4LCA4NiwgMzYsIDMsIDIyOCwgOTMsIDM2LCAzLCAyMjgsIDkyLCAzNiwgMywgMjI4LCA5NSwgMzYsIDMsIAotICAgIDIyOCwgODksIDM2LCAzLCAyMjgsIDg4LCAzNiwgMywgMjI4LCA5NCwgMzYsIDMsIDIzNSwgMTQ2LCAzNiwgMywgMjM1LCAKLSAgICAxMTQsIDM2LCAzLCAyMzUsIDEwNywgMzYsIDMsIDIzNSwgNTcsIDM2LCAzLCAyMzUsIDM5LCAzNiwgMywgMjM1LCAxMzIsIAotICAgIDM2LCAzLCAyMzUsIDEzMCwgMzYsIDMsIDIzNSwgMTQxLCAzNiwgMywgMjM1LCA3NCwgMzYsIDMsIDIzNSwgNjUsIDM2LCAzLCAKLSAgICAyMzUsIDEzNSwgMzYsIDMsIDIyMCwgMTAwLCAzNiwgMywgMjIwLCAzNCwgMzYsIDMsIDIyMCwgMjksIDM2LCAzLCAyMTksIAotICAgIDIyNywgMzYsIDMsIDIxOSwgMjEyLCAzNiwgMywgMjIwLCA2NSwgMzYsIDMsIDIyMCwgNjMsIDM2LCAzLCAyMjAsIDkyLCAzNiwgCi0gICAgMywgMjIwLCA5LCAzNiwgMywgMjIwLCAzLCAzNiwgMywgMjIwLCA3MywgMzYsIDMsIDIxOCwgMjI0LCAzNiwgMywgMjE4LCAKLSAgICAxOTQsIDM2LCAzLCAyMTgsIDE5MCwgMzYsIDMsIDIxOCwgMTgxLCAzNiwgMywgMjE4LCAxNzgsIDM2LCAzLCAyMTgsIDE5OSwgCi0gICAgMzYsIDMsIDIxOCwgMTk4LCAzNiwgMywgMjE4LCAyMjMsIDM2LCAzLCAyMTgsIDE4NiwgMzYsIDMsIDIxOCwgMTg1LCAzNiwgCi0gICAgMywgMjE4LCAyMDEsIDM2LCAzLCAyMjIsIDMzLCAzNiwgMywgMjE5LCAxOTMsIDM2LCAzLCAyMTksIDE3NywgMzYsIDMsIAotICAgIDIxOCwgODQsIDM2LCAzLCAyMTgsIDUsIDM2LCAzLCAyMjEsIDE4MywgMzYsIDMsIDIyMSwgMTcyLCAzNiwgMywgMjIyLCAxOSwgCi0gICAgMzYsIDMsIDIxOSwgNjAsIDM2LCAzLCAyMTksIDQyLCAzNiwgMywgMjIxLCAyMjEsIDM2LCAzLCAyNDIsIDUzLCAzNiwgMywgCi0gICAgMjQxLCAxODcsIDM2LCAzLCAyNDEsIDE2OCwgMzYsIDMsIDI0MCwgMjI5LCAzNiwgMywgMjQwLCAyMDksIDM2LCAzLCAyNDEsIAotICAgIDI0NSwgMzYsIDMsIDI0MSwgMjI3LCAzNiwgMywgMjQyLCA0MywgMzYsIDMsIDI0MSwgNzUsIDM2LCAzLCAyNDEsIDYwLCAzNiwgCi0gICAgMywgMjQxLCAyNTMsIDM2LCAzLCAyMzMsIDIzNywgMzYsIDMsIDIzMywgMjM2LCAzNiwgMywgMjMzLCAyMzEsIDM2LCAzLCAKLSAgICAyMzMsIDIzMCwgMzYsIDMsIDIzMywgMjI3LCAzNiwgMywgMjMzLCAyMjYsIDM2LCAzLCAyMzMsIDIzMywgMzYsIDMsIDIzMywgCi0gICAgMjMyLCAzNiwgMywgMjMzLCAyMzUsIDM2LCAzLCAyMzMsIDIyOSwgMzYsIDMsIDIzMywgMjI4LCAzNiwgMywgMjMzLCAyMzQsIAotICAgIDM2LCAzLCAyMTksIDIzMywgMTc1LCAxMTcsIDUsIDIxMSwgNjgsIDE3NSwgMTE3LCA1LCAyMjMsIDE1OCwgMTc1LCAxMTcsIAotICAgIDUsIDIyMywgODEsIDk4LCAxLCAyMTUsIDI4LCA3MCwgMTE3LCA1LCAyNDksIDI0MSwgMTc2LCA3MCwgMTE3LCA1LCAyNDksIAotICAgIDI0MSwgMjM0LCAxMzgsIDcwLCAxMTcsIDUsIDI0OSwgMjQxLCAyMzQsIDM0LCA3MCwgMTE3LCA1LCAyNDksIDI0MSwgMjM0LCAKLSAgICAxMTEsIDcwLCAxMTcsIDUsIDI0OSwgMjQxLCAyMjksIDksIDcwLCAxMTcsIDUsIDI0OSwgMjQxLCAyNTEsIDQxLCA3MCwgCi0gICAgMTE3LCA1LCAyNDksIDI0MSwgMjUwLCAxNjUsIDcwLCAxMTcsIDUsIDI0OSwgMjQxLCAyNDksIDI0NiwgNzAsIDExNywgNSwgCi0gICAgMjQ5LCAyNDEsIDI1MCwgOTQsIDcwLCAxMTcsIDUsIDI0OSwgMjQxLCAyMjcsIDEzOCwgNzAsIDExNywgNSwgMjQ5LCAyNDEsIAotICAgIDI0OCwgMjI5LCA3MCwgMTE3LCA1LCAyNDksIDI0MSwgMjE1LCAxNDUsIDcwLCAxMTcsIDUsIDI0OSwgMjQxLCAyNDcsIDE1MywgCi0gICAgNzAsIDExNywgNSwgMjQ5LCAyNDEsIDIxNSwgMTQwLCA3MCwgMTE3LCA1LCAyNDksIDI0MSwgMTk4LCA3MCwgMTE3LCA1LCAKLSAgICAyNDksIDI0MSwgMjE3LCAxMDYsIDcwLCAxMTcsIDUsIDI0OSwgMjQxLCAyMTYsIDIwOSwgNzAsIDExNywgNSwgMjQ5LCAyNDEsIAotICAgIDExMiwgNzAsIDExNywgNSwgMjQ5LCAyNDEsIDIxNiwgMTU3LCA3MCwgMTE3LCA1LCAyNDksIDI0MSwgMjI4LCA3OSwgNzAsIAotICAgIDExNywgNSwgMjQ5LCAyNDEsIDI1MiwgMTk5LCA3MCwgMTE3LCA1LCAyNDksIDI0MSwgMjI1LCAxNTAsIDcwLCAxMTcsIDUsIAotICAgIDI0OSwgMjQxLCAyMjUsIDE5LCA3MCwgMTE3LCA1LCAyNDksIDI0MSwgMjI1LCAxMjQsIDcwLCAxMTcsIDUsIDI0OSwgMjQxLCAKLSAgICAyMzAsIDE2NiwgNzAsIDExNywgNSwgMjQ5LCAyNDEsIDIxMCwgMjQ0LCA3MCwgMTE3LCA1LCAyNDksIDI0MSwgMjIyLCAyMTMsIAotICAgIDcwLCAxMTcsIDUsIDI0OSwgMjQxLCAyMzIsIDE2MiwgNzAsIDExNywgNSwgMjQ5LCAyNDEsIDIxMywgMTM4LCA3MCwgMTE3LCAKLSAgICA1LCAyNDksIDI0MSwgMjIwLCAxMDQsIDcwLCAxMTcsIDUsIDI0OSwgMjQxLCAyMTgsIDIyNSwgNzAsIDExNywgNSwgMjQ5LCAKLSAgICAyNDEsIDIwNiwgNzAsIDExNywgNSwgMjQ5LCAyNDEsIDE2MiwgNzAsIDExNywgNSwgMjQ5LCAyNDEsIDIzMywgMTQxLCA3MCwgCi0gICAgMjUsIDUsIDI0OSwgMjQxLCAyMjQsIDkxLCA3MCwgMjM1LCAyNTAsIDI1LCA1LCAyNDksIDI0MSwgMjI0LCAzMywgNzAsIAotICAgIDIzNSwgMjUwLCAyNSwgNSwgMjQ5LCAyNDEsIDIyMiwgMTAyLCA3MCwgMjM1LCAyNTAsIDI1LCA1LCAyNDksIDI0MSwgMjIyLCAKLSAgICA5NSwgNzAsIDIzNSwgMjUwLCAyNSwgNSwgMjQ5LCAyNDEsIDIyNCwgNzIsIDcwLCAyNSwgNSwgMjI2LCAyMDgsIDcwLCAyNSwgCi0gICAgNSwgMjU1LCA0MywgMTQxLCAxLCAyNTIsIDcsIDIyOSwgODIsIDE0MSwgMSwgMjUyLCA3LCAyMjksIDMyLCAxNDEsIDEsIAotICAgIDI1MiwgNywgMjI4LCAyNTMsIDE0MSwgMSwgMjUyLCA3LCAyMjksIDY5LCAxNDEsIDEsIDI1MiwgNywgMjI5LCA5LCA1NiwgMSwgCi0gICAgMjUyLCA3LCAyMjksIDgyLCA1NiwgMSwgMjUyLCA3LCAyMjksIDMyLCA1NiwgMSwgMjUyLCA3LCAyMjgsIDI1MywgNTYsIDEsIAotICAgIDI1MiwgNywgMjI5LCA2OSwgNTYsIDEsIDI1MiwgNywgMjI5LCA5LCA1NiwgMSwgMjU0LCAyMDMsIDI1MCwgMTk4LCA1NiwgMSwgCi0gICAgMjU0LCAyMDMsIDIxNSwgMTE5LCA1NiwgMSwgMjU0LCAyMDMsIDExMiwgNTYsIDEsIDI1NCwgMjAzLCAyMjYsIDEwOSwgNTgsIAotICAgIDEsIDI0NSwgMjgsIDI0NSwgMjcsIDI0OSwgMTkwLCAxMzgsIDEzMCwgNTgsIDEsIDI0NSwgMjcsIDI0NSwgMjgsIDI0OSwgCi0gICAgMTkwLCAxMzgsIDEzMCwgCisgICAgMCwgMjE0LCAxNTMsIDI0MiwgMTY4LCA4MywgMjE5LCAxODAsIDgzLCA0MywgNTMsIDI0NSwgMzUsIDUzLCAyMjEsIDEzMSwgCisgICAgNTMsIDI1MiwgMTI1LCAyNTIsIDUzLCA0NywgMjIxLCAyMTYsIDQ4LCAyMjEsIDIxNiwgMjUxLCAyMDksIDEwMSwgNTMsIAorICAgIDI0NywgMTU1LCAyMzcsIDIzOCwgMjQxLCA4MiwgMjEzLCAyNTEsIDIxNCwgMTgwLCAxOCwgMjA1LCA4NSwgMTgsIDEwMiwgCisgICAgMTgsIDEwNSwgMTgsIDE0MiwgMTgsIDEzOSwgMTgsIDE2OCwgMTgsIDE4NCwgMTgsIDE5NSwgMTgsIDE5MywgMTgsIDIwMCwgCisgICAgMjQ3LCAxNjIsIDIxNiwgNTIsIDIzMCwgMTAsIDUzLCAyNDIsIDI0MiwgNTMsIDIzOSwgMjMwLCA1MywgMjE5LCAxOTYsIDgzLCAKKyAgICAyNDcsIDE1MywgMjUxLCAxOTksIDcsIDYsIDEsIDYyLCA3LCA2LCAxLCAyNTEsIDE1MCwgNywgNiwgMSwgMjQ5LCAzNCwgNywgCisgICAgNiwgMSwgMjQ2LCAyNDAsIDcsIDYsIDEsIDc1LCA3LCA2LCAxLCAyNDIsIDEzOSwgNywgNiwgMSwgMjQxLCA1NSwgNywgNiwgCisgICAgMSwgMjM5LCAxNTUsIDcsIDYsIDEsIDc0LCA3LCA2LCAxLCAyMzIsIDIwMywgNywgNiwgMSwgMjMyLCA3NiwgNywgNiwgMSwgCisgICAgMTQ5LCA3LCA2LCAxLCAyMjksIDI4LCA3LCA2LCAxLCAyMjYsIDMzLCA3LCA2LCAxLCA3NiwgNywgNiwgMSwgMjIyLCA2NywgCisgICAgNywgNiwgMSwgMjIwLCAyNywgNywgNiwgMSwgMTM3LCA3LCA2LCAxLCAxODIsIDcsIDYsIDEsIDIxMywgMTAsIDcsIDYsIDEsIAorICAgIDcxLCA3LCA2LCAxLCAyMDksIDE0OCwgNywgNiwgMSwgMjA3LCAxMjksIDcsIDYsIDEsIDIwNiwgMTk1LCA3LCA2LCAxLCAKKyAgICAyMDYsIDEyMywgNywgNiwgMSwgMjA1LCAxNTksIDQ3LCA0OSwgMTQ1LCAyMTgsIDIyNSwgMjE0LCAxODAsIDQ4LCA0OSwgCisgICAgMTQ1LCAyNDcsIDIyOCwgMjUzLCAyMSwgMTE0LCAyMjksIDIwNSwgMjM5LCAyMzcsIDI1MywgMjEsIDcsIDUsIDEsIDYyLCA3LCAKKyAgICA1LCAxLCAyNTEsIDE1MCwgNywgNSwgMSwgMjQ5LCAzNCwgNywgNSwgMSwgMjQ2LCAyNDAsIDcsIDUsIDEsIDc1LCA3LCA1LCAKKyAgICAxLCAyNDIsIDEzOSwgNywgNSwgMSwgMjQxLCA1NSwgNywgNSwgMSwgMjM5LCAxNTUsIDcsIDUsIDEsIDc0LCA3LCA1LCAxLCAKKyAgICAyMzIsIDIwMywgNywgNSwgMSwgMjMyLCA3NiwgNywgNSwgMSwgMTQ5LCA3LCA1LCAxLCAyMjksIDI4LCA3LCA1LCAxLCAyMjYsIAorICAgIDMzLCA3LCA1LCAxLCA3NiwgNywgNSwgMSwgMjIyLCA2NywgNywgNSwgMSwgMjIwLCAyNywgNywgNSwgMSwgMTM3LCA3LCA1LCAKKyAgICAxLCAxODIsIDcsIDUsIDEsIDIxMywgMTAsIDcsIDUsIDEsIDcxLCA3LCA1LCAxLCAyMDksIDE0OCwgNywgNSwgMSwgMjA3LCAKKyAgICAxMjksIDcsIDUsIDEsIDIwNiwgMTk1LCA3LCA1LCAxLCAyMDYsIDEyMywgNywgNSwgMSwgMjA1LCAxNTksIDQ3LCAyNDcsIAorICAgIDI2LCAxNDUsIDc5LCAyMjksIDIwNSwgNDgsIDI0NywgMjYsIDE0NSwgMjExLCAxODAsIDIyNCwgNjYsIDIxNCwgMTUzLCAKKyAgICAyMzMsIDIsIDI0MiwgMTY4LCA4MywgMjQ4LCAxMzEsIDUzLCAyMjAsIDE2NSwgNTMsIDI0NywgMjUsIDUzLCAyMDYsIDQzLCAKKyAgICA1MywgMjQ5LCAxMTEsIDEzNCwgMjE3LCA3NywgNTMsIDI0NSwgMTY2LCAyNDcsIDk0LCA1MywgMjQyLCA5LCAyMjIsIDExOCwgCisgICAgMjMzLCA0OSwgMjMwLCA0MSwgNTAsIDI1MiwgMTA5LCAyMTksIDE4MCwgODMsIDIyNCwgNDMsIDUzLCAyMTQsIDE4NywgMjM3LCAKKyAgICAyMzksIDIxOSwgMjMsIDUzLCAyMjgsIDEzLCAyNDUsIDI0NSwgNTMsIDIyMCwgMjE3LCA1MywgMjEzLCAxMzksIDEwNSwgCisgICAgMjEzLCAxMzksIDE0MiwgMjUzLCA5LCAyNTMsIDIxLCAyMjYsIDI1MiwgNTMsIDIyMSwgMTIsIDUzLCAyMjYsIDI0NywgMjQ1LCAKKyAgICAyMywgMjQ4LCAxNDEsIDIxMywgMTM5LCAxMDIsIDIyNywgMTc5LCAyMjIsIDExOCwgMjMzLCA0OSwgMjE4LCAxNjIsIDUwLCAKKyAgICAyNTIsIDEwOSwgMjE5LCAxODAsIDgzLCAyMDcsIDE0NiwgMjQxLCAxMTYsIDExOSwgMjE5LCAyMDQsIDIwNywgMTQ2LCAyNDEsIAorICAgIDExNiwgMTE5LCAyMzksIDEyMSwgMjA3LCAxNDYsIDI0MSwgMTE2LCAxMjksIDIxOSwgMjAyLCAyMzMsIDIsIDIxOSwgMTk2LCAKKyAgICA4MywgNywgNiwgMSwgMzIsIDIsIDIzOSwgMjM2LCA3LCA2LCAxLCAzMiwgMiwgMTUzLCA3LCA2LCAxLCAzMiwgMiwgMjQ3LCAKKyAgICAyMjcsIDcsIDYsIDEsIDMyLCAyLCAyMTEsIDE4MCwgNywgNiwgMSwgMzIsIDIsIDI0NSwgMTY2LCA3LCA2LCAxLCAzMiwgMiwgCisgICAgMjE4LCAxNDksIDUyLCA3LCA2LCAxLCAyNTIsIDI0OCwgNywgNiwgMSwgMjQ5LCAzNSwgMiwgMjQ4LCAxNDEsIDcsIDYsIDEsIAorICAgIDE3NCwgMiwgMjM5LCAyMzYsIDcsIDYsIDEsIDE3NCwgMiwgMTUzLCA3LCA2LCAxLCAxNzQsIDIsIDI0NywgMjI3LCA3LCA2LCAKKyAgICAxLCAxNzQsIDIsIDI0NSwgMTY2LCA3LCA2LCAxLCAyMzcsIDIyNSwgMiwgMjM5LCAyMzYsIDcsIDYsIDEsIDIzNywgMjI1LCAKKyAgICAyLCAxNTMsIDcsIDYsIDEsIDIzNywgMjI1LCAyLCAyNDcsIDIyNywgNywgNiwgMSwgMjM3LCAyMjUsIDIsIDI0NSwgMTY2LCAKKyAgICA3LCA2LCAxLCAyNDIsIDE5NiwgNywgNiwgMSwgMjI2LCAzNCwgMiwgMjExLCAxODAsIDcsIDYsIDEsIDE0OCwgMiwgMjM5LCAKKyAgICAyMzYsIDcsIDYsIDEsIDE0OCwgMiwgMTUzLCA3LCA2LCAxLCAxNDgsIDIsIDI0NywgMjI3LCA3LCA2LCAxLCAxNDgsIDIsIAorICAgIDIxMSwgMTgwLCA3LCA2LCAxLCAxNDgsIDIsIDI0NSwgMTY2LCAyMjYsIDk0LCA1MywgNywgNiwgMSwgMTQ4LCAyLCA5MSwgNywgCisgICAgNiwgMSwgMTA2LCAyLCAyMzksIDIzNiwgNywgNiwgMSwgMTA2LCAyLCAxNTMsIDcsIDYsIDEsIDEwNiwgMiwgMjQ3LCAyMjcsIAorICAgIDcsIDYsIDEsIDEwNiwgMiwgMjQ1LCAxNjYsIDcsIDYsIDEsIDIwNiwgMTI0LCAyLCAxNTMsIDcsIDYsIDEsIDIxMSwgMjQ2LCAKKyAgICA3LCA1LCAxLCAyMTUsIDIyOCwgMTgyLCA3LCA1LCAxLCAzMiwgMiwgMjM5LCAyMzYsIDcsIDUsIDEsIDMyLCAyLCAxNTMsIDcsIAorICAgIDUsIDEsIDMyLCAyLCAyNDcsIDIyNywgNywgNSwgMSwgMzIsIDIsIDIxMSwgMTgwLCA3LCA1LCAxLCAzMiwgMiwgMjQ1LCAKKyAgICAxNjYsIDcsIDUsIDEsIDMyLCAyLCAyMTgsIDE0OSwgNTIsIDcsIDUsIDEsIDI1MiwgMjQ4LCA3LCA1LCAxLCAyNDksIDM1LCAKKyAgICAyLCAyNDgsIDE0MSwgNywgNSwgMSwgMTc0LCAyLCAyMzksIDIzNiwgNywgNSwgMSwgMTc0LCAyLCAxNTMsIDcsIDUsIDEsIAorICAgIDE3NCwgMiwgMjQ3LCAyMjcsIDcsIDUsIDEsIDE3NCwgMiwgMjQ1LCAxNjYsIDcsIDUsIDEsIDIzNywgMjI1LCAyLCAyMzksIAorICAgIDIzNiwgNywgNSwgMSwgMjM3LCAyMjUsIDIsIDE1MywgNywgNSwgMSwgMjM3LCAyMjUsIDIsIDI0NywgMjI3LCA3LCA1LCAxLCAKKyAgICAyMzcsIDIyNSwgMiwgMjQ1LCAxNjYsIDcsIDUsIDEsIDI0MiwgMTk2LCA3LCA1LCAxLCAyMjYsIDM0LCAyLCAyMTEsIDE4MCwgCisgICAgNywgNSwgMSwgMTQ4LCAyLCAyMzksIDIzNiwgNywgNSwgMSwgMTQ4LCAyLCAxNTMsIDcsIDUsIDEsIDE0OCwgMiwgMjQ3LCAKKyAgICAyMjcsIDcsIDUsIDEsIDE0OCwgMiwgMjExLCAxODAsIDcsIDUsIDEsIDE0OCwgMiwgMjQ1LCAxNjYsIDI0NSwgNzUsIDUzLCAKKyAgICA3LCA1LCAxLCAxNDgsIDIsIDkxLCA3LCA1LCAxLCAxMDYsIDIsIDIzOSwgMjM2LCA3LCA1LCAxLCAxMDYsIDIsIDE1MywgNywgCisgICAgNSwgMSwgMTA2LCAyLCAyNDcsIDIyNywgNywgNSwgMSwgMTA2LCAyLCAyNDUsIDE2NiwgNywgNSwgMSwgMjA2LCAxMjQsIDIsIAorICAgIDE1MywgNywgNSwgMSwgMjExLCAyNDYsIDcsIDUsIDEsIDIwNiwgMTI0LCAyLCAyNDUsIDE2NiwgNywgNiwgMSwgMzIsIDIsIAorICAgIDIyOCwgMTMsIDcsIDUsIDEsIDMyLCAyLCAyMjgsIDEzLCA3LCA2LCAxLCAzMiwgMiwgMjQ5LCAxMjIsIDcsIDUsIDEsIDMyLCAKKyAgICAyLCAyNDksIDEyMiwgNywgNiwgMSwgMzIsIDIsIDIyMiwgMTk2LCA3LCA1LCAxLCAzMiwgMiwgMjIyLCAxOTYsIDcsIDYsIDEsIAorICAgIDI0OSwgMzUsIDIsIDE1MywgNywgNSwgMSwgMjQ5LCAzNSwgMiwgMTUzLCA3LCA2LCAxLCAyNDksIDM1LCAyLCAyNDcsIDIyNywgCisgICAgNywgNSwgMSwgMjQ5LCAzNSwgMiwgMjQ3LCAyMjcsIDcsIDYsIDEsIDI0OSwgMzUsIDIsIDY3LCA1MiwgNywgNSwgMSwgMjQ5LCAKKyAgICAzNSwgMiwgNjcsIDUyLCA3LCA2LCAxLCAyNDksIDM1LCAyLCAyNDgsIDE5NSwgNywgNSwgMSwgMjQ5LCAzNSwgMiwgMjQ4LCAKKyAgICAxOTUsIDcsIDYsIDEsIDI0NiwgMjQxLCAyLCAyNDgsIDE5NSwgNywgNSwgMSwgMjQ2LCAyNDEsIDIsIDI0OCwgMTk1LCA3LCAKKyAgICA2LCAxLCAyNDYsIDI0MSwgMiwgOTEsIDcsIDUsIDEsIDI0NiwgMjQxLCAyLCA5MSwgNywgNiwgMSwgMTc0LCAyLCAyMjgsIAorICAgIDEzLCA3LCA1LCAxLCAxNzQsIDIsIDIyOCwgMTMsIDcsIDYsIDEsIDE3NCwgMiwgMjQ5LCAxMjIsIDcsIDUsIDEsIDE3NCwgMiwgCisgICAgMjQ5LCAxMjIsIDcsIDYsIDEsIDE3NCwgMiwgNjcsIDUyLCA3LCA1LCAxLCAxNzQsIDIsIDY3LCA1MiwgNywgNiwgMSwgMTc0LCAKKyAgICAyLCAyMjIsIDE5NiwgNywgNSwgMSwgMTc0LCAyLCAyMjIsIDE5NiwgNywgNiwgMSwgMTc0LCAyLCAyNDgsIDE5NSwgNywgNSwgCisgICAgMSwgMTc0LCAyLCAyNDgsIDE5NSwgNywgNiwgMSwgMjQxLCA1NiwgMiwgMjQ3LCAyMjcsIDcsIDUsIDEsIDI0MSwgNTYsIDIsIAorICAgIDI0NywgMjI3LCA3LCA2LCAxLCAyNDEsIDU2LCAyLCAyNDksIDEyMiwgNywgNSwgMSwgMjQxLCA1NiwgMiwgMjQ5LCAxMjIsIAorICAgIDcsIDYsIDEsIDI0MSwgNTYsIDIsIDY3LCA1MiwgNywgNSwgMSwgMjQxLCA1NiwgMiwgNjcsIDUyLCA3LCA2LCAxLCAyNDEsIAorICAgIDU2LCAyLCAyNDgsIDE0MSwgNywgNSwgMSwgMjQxLCA1NiwgMiwgMjQ4LCAxNDEsIDcsIDYsIDEsIDIzOSwgMTU2LCAyLCAKKyAgICAyNDcsIDIyNywgNywgNSwgMSwgMjM5LCAxNTYsIDIsIDI0NywgMjI3LCA3LCA2LCAxLCAyMzksIDE1NiwgMiwgOTEsIDcsIDUsIAorICAgIDEsIDIzOSwgMTU2LCAyLCA5MSwgNywgNiwgMSwgMjM3LCAyMjUsIDIsIDIxMSwgMTgwLCA3LCA1LCAxLCAyMzcsIDIyNSwgMiwgCisgICAgMjExLCAxODAsIDcsIDYsIDEsIDIzNywgMjI1LCAyLCAyMjgsIDEzLCA3LCA1LCAxLCAyMzcsIDIyNSwgMiwgMjI4LCAxMywgCisgICAgNywgNiwgMSwgMjM3LCAyMjUsIDIsIDI0OSwgMTIyLCA3LCA1LCAxLCAyMzcsIDIyNSwgMiwgMjQ5LCAxMjIsIDcsIDYsIDEsIAorICAgIDIzNywgMjI1LCAyLCAyMjIsIDE5NiwgNywgNSwgMSwgMjM3LCAyMjUsIDIsIDIyMiwgMTk2LCA3LCA2LCAxLCAyMzcsIDIyNSwgCisgICAgMiwgNjcsIDUyLCA3LCA1LCAxLCAyNDUsIDIyLCA3NCwgNywgNiwgMjgsIDIzMywgMTAwLCA3LCA1LCAyOCwgMjMzLCAxMDAsIAorICAgIDcsIDYsIDEsIDIzMiwgMjA0LCAyLCAyNDcsIDIyNywgNywgNSwgMSwgMjMyLCAyMDQsIDIsIDI0NywgMjI3LCA3LCA2LCAxLCAKKyAgICAyMzIsIDc3LCAyLCAyNDgsIDE0MSwgNywgNSwgMSwgMjMyLCA3NywgMiwgMjQ4LCAxNDEsIDcsIDUsIDEsIDIzMSwgMiwgNywgCisgICAgNiwgMSwgMjMwLCAxNTksIDIsIDE1MywgNywgNSwgMSwgMjMwLCAxNTksIDIsIDE1MywgNywgNiwgMSwgMjMwLCAxNTksIDIsIAorICAgIDI0OCwgMTQxLCA3LCA1LCAxLCAyMzAsIDE1OSwgMiwgMjQ4LCAxNDEsIDcsIDYsIDEsIDIzMCwgMTU5LCAyLCAyNDgsIDE5NSwgCisgICAgNywgNSwgMSwgMjMwLCAxNTksIDIsIDI0OCwgMTk1LCA3LCA2LCAxLCAyMzAsIDE1OSwgMiwgMjI2LCAyNDcsIDI0NSwgMjMsIAorICAgIDcsIDUsIDEsIDIzMCwgMTU5LCAyLCAyMjYsIDI0NywgMjQ1LCAyMywgNywgNiwgMSwgMjMwLCAxNTksIDIsIDkxLCA3LCA1LCAKKyAgICAxLCAyMzAsIDE1OSwgMiwgOTEsIDcsIDYsIDEsIDIyNiwgMzQsIDIsIDE1MywgNywgNSwgMSwgMjI2LCAzNCwgMiwgMTUzLCAKKyAgICA3LCA2LCAxLCAyMjYsIDM0LCAyLCAyNDgsIDE0MSwgNywgNSwgMSwgMjI2LCAzNCwgMiwgMjQ4LCAxNDEsIDcsIDYsIDEsIAorICAgIDIyNiwgMzQsIDIsIDI0OCwgMTk1LCA3LCA1LCAxLCAyMjYsIDM0LCAyLCAyNDgsIDE5NSwgNywgNSwgMSwgMjI2LCAzNCwgCisgICAgMjIwLCAxNDEsIDI0OSwgNDYsIDI1MiwgNTMsIDcsIDYsIDEsIDI0MywgMjgsIDcsIDUsIDEsIDI0MywgMjgsIDcsIDYsIDEsIAorICAgIDE0OCwgMiwgMjI4LCAxMywgNywgNSwgMSwgMTQ4LCAyLCAyMjgsIDEzLCA3LCA2LCAxLCAxNDgsIDIsIDI0OSwgMTIyLCA3LCAKKyAgICA1LCAxLCAxNDgsIDIsIDI0OSwgMTIyLCA3LCA2LCAxLCAxNDgsIDIsIDUwLCAxNTMsIDcsIDUsIDEsIDE0OCwgMiwgNTAsIAorICAgIDE1MywgNywgNiwgMjgsIDIyMiwgMjA2LCA3LCA1LCAyOCwgMjIyLCAyMDYsIDcsIDYsIDEsIDIxOSwgMTUwLCAyLCAxNTMsIAorICAgIDcsIDUsIDEsIDIxOSwgMTUwLCAyLCAxNTMsIDcsIDYsIDEsIDIxOSwgMTUwLCAyLCAyNDgsIDE0MSwgNywgNSwgMSwgMjE5LCAKKyAgICAxNTAsIDIsIDI0OCwgMTQxLCA3LCA2LCAxLCAyMTksIDE1MCwgMiwgMjQ4LCAxOTUsIDcsIDUsIDEsIDIxOSwgMTUwLCAyLCAKKyAgICAyNDgsIDE5NSwgNywgNiwgMSwgMjE4LCAxLCAyLCAxNTMsIDcsIDUsIDEsIDIxOCwgMSwgMiwgMTUzLCA3LCA2LCAxLCAyMTgsIAorICAgIDEsIDIsIDI0NywgMjI3LCA3LCA1LCAxLCAyMTgsIDEsIDIsIDI0NywgMjI3LCA3LCA2LCAxLCAyMTgsIDEsIDIsIDI0OCwgCisgICAgMTQxLCA3LCA1LCAxLCAyMTgsIDEsIDIsIDI0OCwgMTQxLCA3LCA2LCAxLCAyMTgsIDEsIDIsIDI0OCwgMTk1LCA3LCA1LCAxLCAKKyAgICAyMTgsIDEsIDIsIDI0OCwgMTk1LCA3LCA2LCAxLCAyMTMsIDExLCAyLCAyNDgsIDE0MSwgNywgNSwgMSwgMjEzLCAxMSwgMiwgCisgICAgMjQ4LCAxNDEsIDcsIDYsIDEsIDIxMywgMTEsIDIsIDI0OCwgMTk1LCA3LCA1LCAxLCAyMTMsIDExLCAyLCAyNDgsIDE5NSwgCisgICAgNywgNiwgMSwgMjEzLCAxMSwgMiwgOTEsIDcsIDUsIDEsIDIxMywgMTEsIDIsIDkxLCA3LCA2LCAxLCAxMDYsIDIsIDIxMSwgCisgICAgMTgwLCA3LCA1LCAxLCAxMDYsIDIsIDIxMSwgMTgwLCA3LCA2LCAxLCAxMDYsIDIsIDIyOCwgMTMsIDcsIDUsIDEsIDEwNiwgCisgICAgMiwgMjI4LCAxMywgNywgNiwgMSwgMTA2LCAyLCAyNDksIDEyMiwgNywgNSwgMSwgMTA2LCAyLCAyNDksIDEyMiwgNywgNiwgCisgICAgMSwgMTA2LCAyLCAyMTgsIDE0OSwgNTIsIDcsIDUsIDEsIDEwNiwgMiwgMjE4LCAxNDksIDUyLCA3LCA2LCAxLCAxMDYsIDIsIAorICAgIDUwLCAxNTMsIDcsIDUsIDEsIDEwNiwgMiwgNTAsIDE1MywgNywgNiwgMSwgMTA2LCAyLCAyMjIsIDE5NiwgNywgNSwgMSwgCisgICAgMTA2LCAyLCAyMjIsIDE5NiwgNywgNiwgMSwgMjA3LCAxMzAsIDIsIDI0NywgMjI3LCA3LCA1LCAxLCAyMDcsIDEzMCwgMiwgCisgICAgMjQ3LCAyMjcsIDcsIDYsIDEsIDIwNiwgMTI0LCAyLCAyNDcsIDIyNywgNywgNSwgMSwgMjA2LCAxMjQsIDIsIDI0NywgMjI3LCAKKyAgICA3LCA2LCAxLCAyMDYsIDEyNCwgMiwgMjQ1LCAxNjYsIDcsIDYsIDEsIDIwNSwgMTYwLCAyLCAxNTMsIDcsIDUsIDEsIDIwNSwgCisgICAgMTYwLCAyLCAxNTMsIDcsIDYsIDEsIDIwNSwgMTYwLCAyLCA2NywgNTIsIDcsIDUsIDEsIDIwNSwgMTYwLCAyLCA2NywgNTIsIAorICAgIDcsIDYsIDEsIDIwNSwgMTYwLCAyLCAyNDgsIDE5NSwgNywgNSwgMSwgMjA1LCAxNjAsIDIsIDI0OCwgMTk1LCA3LCA1LCAxLCAKKyAgICAxNTIsIDE4MiwgNywgNSwgMSwgNjMsIDIsIDkxLCA3LCA2LCAxLCA2MywgMiwgMTA5LCA3LCA2LCAxLCA2MywgMiwgMjExLCAKKyAgICA5OSwgNywgNSwgMSwgNjMsIDIsIDIxMSwgOTksIDcsIDYsIDEsIDEzNSwgMTg0LCA3LCA1LCAxLCAxMzUsIDE4NCwgNywgNiwgCisgICAgMSwgMjIyLCAxNDIsIDc2LCA3LCA2LCAxLCAyNDksIDM1LCAyLCAxMDksIDcsIDUsIDEsIDI0OSwgMzUsIDIsIDEwOSwgNywgCisgICAgNiwgMSwgMjUyLCAyMjMsIDI0NiwgMjQwLCA3LCA2LCAxLCAyNDYsIDI0MSwgMiwgMTA5LCA3LCA2LCAxLCAyNDYsIDI0MSwgCisgICAgMiwgMjExLCA5OSwgNywgNSwgMSwgMjQ2LCAyNDEsIDIsIDIxMSwgOTksIDcsIDUsIDEsIDIwMSwgMjQ1LCAyMjcsIDcsIDYsIAorICAgIDEsIDIxOCwgMjI0LCA3NSwgNywgNiwgMSwgMjE3LCAxMDAsIDcsIDYsIDEsIDIyMiwgMTQyLCA3NSwgNywgNiwgMSwgMjQyLCAKKyAgICAxNDAsIDIsIDEwOSwgNywgNSwgMSwgMjQyLCAxNDAsIDIsIDEwOSwgNywgNiwgMSwgMjQxLCA1NiwgMiwgMTA5LCA3LCA2LCAKKyAgICAxLCAyNDAsIDIxNSwgNywgNSwgMSwgMjM4LCAxNywgNywgNiwgMSwgMjMyLCAyNDksIDcsIDYsIDEsIDIzNywgMjI1LCAyLCAKKyAgICA5MSwgNywgNiwgMSwgMjMyLCA3NywgMiwgMTA5LCA3LCA1LCAxLCAyMzIsIDc3LCAyLCAxMDksIDcsIDUsIDEsIDIzMCwgCisgICAgMTU5LCAyLCAxMzQsIDcsIDUsIDEsIDIzMCwgMTA0LCAyLCA5MSwgNywgNiwgMSwgMjAxLCAyMjksIDI4LCA3LCA2LCAxLCAKKyAgICAyMjYsIDM0LCAyLCA0NywgMTA5LCA3LCA1LCAxLCAyMjYsIDM0LCAyLCAxNTIsIDQ4LCAyMzAsIDM0LCA3LCA2LCAxLCAxNDgsIAorICAgIDIsIDIyNiwgMjQ3LCAyMTEsIDE4MCwgNywgNiwgMSwgMTQ4LCAyLCAyMzgsIDY5LCA3LCA1LCAxLCAxNDgsIDIsIDIzOCwgCisgICAgNjksIDcsIDYsIDEsIDIyMiwgMTkxLCA3LCA1LCAxLCAyMjIsIDE5MSwgNywgNiwgMSwgMjIyLCA2OCwgMiwgMTA5LCA3LCA1LCAKKyAgICAxLCAyMjIsIDY4LCAyLCAxMDksIDcsIDEsIDIwNSwgMjE2LCA3LCA2LCAxLCAxMzUsIDEwNSwgNywgNSwgMSwgMTM1LCAxMDUsIAorICAgIDcsIDYsIDEsIDI0MiwgMjE1LCA3LCAxLCAyMTgsIDIyNCwgMjQyLCAyMTYsIDIyOSwgMTExLCA3LCA1LCAxLCAyMTMsIDExLCAKKyAgICAyLCAyMjIsIDI2LCAxMDksIDcsIDYsIDEsIDIxMywgMTEsIDIsIDEwOSwgNywgNSwgMSwgMjEzLCAxMSwgMiwgMTA5LCA3LCAKKyAgICA2LCAxLCAyMTMsIDExLCAyLCAyMTgsIDIzMCwgMTA5LCA3LCA2LCAxLCAxMDYsIDIsIDIzOCwgNjksIDcsIDUsIDEsIDEwNiwgCisgICAgMiwgMjM4LCA2OSwgNywgNiwgMSwgMjA5LCAyMDAsIDcsIDYsIDEsIDIwOSwgMTQ5LCAyLCAxMDksIDcsIDYsIDEsIDIwNiwgCisgICAgMTI0LCAyLCAxMDksIDcsIDUsIDEsIDIwNiwgMTI0LCAyLCAxMDksIDcsIDYsIDEsIDIwNSwgMTYwLCAyLCA5MSwgNywgNSwgCisgICAgMSwgMjA1LCAxNjAsIDIsIDkxLCA3LCA2LCAxLCAyNDIsIDE0MSwgNywgNiwgMSwgMjQyLCAxNDIsIDIxOCwgMjIzLCA3LCA1LCAKKyAgICAxLCAyNDIsIDE0MiwgMjE4LCAyMjMsIDcsIDUsIDEsIDI0MiwgMTQyLCAyLCAyMTIsIDE5MSwgNywgMSwgMTE4LCAyLCA5MSwgCisgICAgNywgNiwgMSwgMTM1LCAxNjgsIDcsIDUsIDEsIDEzNSwgMTY4LCA3LCAxLCAyMzMsIDIsIDI0MCwgMjUsIDIxMywgMjUyLCAyLCAKKyAgICA5MSwgNywgMSwgMjA2LCAxOTgsIDcsIDEsIDI0NSwgMjIwLCAyNDcsIDIwMywgNywgMSwgMjMwLCA3OCwgMjQ3LCAyMDMsIDcsIAorICAgIDEsIDI1MiwgMTM3LCAyNDcsIDIwMywgNywgMSwgMjE4LCAyMzAsIDI0NywgMjAzLCA3LCA2LCAxLCAyNDMsIDE5OCwgMiwgCisgICAgMjQ4LCAxOTUsIDcsIDYsIDEsIDI0NiwgMjQxLCAyLCA1LCAxLCAyMDUsIDE2MCwgMiwgMjQ4LCAxOTUsIDcsIDUsIDEsIAorICAgIDI0MywgMTk4LCAyLCAyNDgsIDE5NSwgNywgNiwgMSwgMjI5LCAxNzYsIDcsIDYsIDEsIDIzMCwgMTU5LCAyLCA1LCAxLCAKKyAgICAyMzIsIDIwMywgNywgNSwgMSwgMjI5LCAxNzYsIDcsIDYsIDEsIDIyNCwgMTgxLCA3LCA2LCAxLCAyMjYsIDM0LCAyLCA1LCAKKyAgICAxLCAyMzIsIDIwMywgNywgNSwgMSwgMjI0LCAxODEsIDcsIDYsIDEsIDMyLCAyLCAyNDgsIDE5NSwgNywgNSwgMSwgMzIsIDIsIAorICAgIDI0OCwgMTk1LCA3LCA2LCAxLCAyMzcsIDIyNSwgMiwgMjQ4LCAxOTUsIDcsIDUsIDEsIDIzNywgMjI1LCAyLCAyNDgsIDE5NSwgCisgICAgNywgNiwgMSwgMTQ4LCAyLCAyNDgsIDE5NSwgNywgNSwgMSwgMTQ4LCAyLCAyNDgsIDE5NSwgNywgNiwgMSwgMTA2LCAyLCAKKyAgICAyNDgsIDE5NSwgNywgNSwgMSwgMTA2LCAyLCAyNDgsIDE5NSwgNywgNiwgMSwgMTA2LCAyLCAyNDUsIDE2NywgMjMsIDIyOCwgCisgICAgMTMsIDcsIDUsIDEsIDEwNiwgMiwgMjQ1LCAxNjcsIDIzLCAyMjgsIDEzLCA3LCA2LCAxLCAxMDYsIDIsIDI0NSwgMTY3LCAKKyAgICAyMywgMTUzLCA3LCA1LCAxLCAxMDYsIDIsIDI0NSwgMTY3LCAyMywgMTUzLCA3LCA2LCAxLCAxMDYsIDIsIDI0NSwgMTY3LCAKKyAgICAyMywgMjQ4LCAxOTUsIDcsIDUsIDEsIDEwNiwgMiwgMjQ1LCAxNjcsIDIzLCAyNDgsIDE5NSwgNywgNiwgMSwgMTA2LCAyLCAKKyAgICAyNDUsIDE2NywgMjMsIDIzOSwgMjM2LCA3LCA1LCAxLCAxMDYsIDIsIDI0NSwgMTY3LCAyMywgMjM5LCAyMzYsIDcsIDUsIDEsIAorICAgIDIwMSwgNzUsIDcsIDYsIDEsIDMyLCAyLCAyNDUsIDE2NywgMjMsIDIyOCwgMTMsIDcsIDUsIDEsIDMyLCAyLCAyNDUsIDE2NywgCisgICAgMjMsIDIyOCwgMTMsIDcsIDYsIDEsIDMyLCAyLCA2NywgODQsIDIzLCAyMjgsIDEzLCA3LCA1LCAxLCAzMiwgMiwgNjcsIDg0LCAKKyAgICAyMywgMjI4LCAxMywgNywgNiwgMSwgMjUyLCAyNDksIDIsIDIyOCwgMTMsIDcsIDUsIDEsIDI1MiwgMjQ5LCAyLCAyMjgsIAorICAgIDEzLCA3LCA2LCAxLCAyNDEsIDU2LCAyLCA5MSwgNywgNSwgMSwgMjQxLCA1NiwgMiwgOTEsIDcsIDYsIDEsIDI0MSwgNTYsIAorICAgIDIsIDI0OCwgMTk1LCA3LCA1LCAxLCAyNDEsIDU2LCAyLCAyNDgsIDE5NSwgNywgNiwgMSwgMjMyLCA3NywgMiwgMjQ4LCAKKyAgICAxOTUsIDcsIDUsIDEsIDIzMiwgNzcsIDIsIDI0OCwgMTk1LCA3LCA2LCAxLCAxNDgsIDIsIDIyMiwgMTk2LCA3LCA1LCAxLCAKKyAgICAxNDgsIDIsIDIyMiwgMTk2LCA3LCA2LCAxLCAxNDgsIDIsIDIyMiwgMTk3LCAyMywgMjI4LCAxMywgNywgNSwgMSwgMTQ4LCAKKyAgICAyLCAyMjIsIDE5NywgMjMsIDIyOCwgMTMsIDcsIDYsIDEsIDI0MiwgMTQyLCAyLCAyNDgsIDE5NSwgNywgNSwgMSwgMjQyLCAKKyAgICAxNDIsIDIsIDI0OCwgMTk1LCA3LCA1LCAxLCAyMzIsIDIwNCwgMiwgMjQ4LCAxOTUsIDcsIDYsIDEsIDI0MywgMTk3LCA3LCAKKyAgICA2LCAxLCAyNDYsIDI0MSwgMiwgNSwgMSwgMjA1LCAxNTksIDcsIDUsIDEsIDI0MywgMTk3LCA3LCA2LCAxLCAyNDEsIDU2LCAKKyAgICAyLCAxNTMsIDcsIDUsIDEsIDI0MSwgNTYsIDIsIDE1MywgNywgNiwgMSwgMjM4LCAxNCwgNywgNiwgMSwgMjA2LCAxOTgsIDcsIAorICAgIDYsIDEsIDIyNiwgMzQsIDIsIDIzOSwgMjM2LCA3LCA1LCAxLCAyMjYsIDM0LCAyLCAyMzksIDIzNiwgNywgNiwgMSwgMzIsIAorICAgIDIsIDIxOCwgMTQ5LCA4NCwgMjMsIDE1MywgNywgNSwgMSwgMzIsIDIsIDIxOCwgMTQ5LCA4NCwgMjMsIDE1MywgNywgNiwgMSwgCisgICAgMjUyLCAyNDksIDIsIDE1MywgNywgNSwgMSwgMjUyLCAyNDksIDIsIDE1MywgNywgNiwgMSwgMTQ4LCAyLCAyMTMsIDIyNSwgCisgICAgMjMsIDE1MywgNywgNSwgMSwgMTQ4LCAyLCAyMTMsIDIyNSwgMjMsIDE1MywgNywgNiwgMSwgMzIsIDIsIDUwLCAyMzksIAorICAgIDIzNiwgNywgNSwgMSwgMzIsIDIsIDUwLCAyMzksIDIzNiwgNywgNiwgMSwgMzIsIDIsIDIzMywgMiwgMjQ5LCAxMjIsIDcsIAorICAgIDUsIDEsIDMyLCAyLCAyMzMsIDIsIDI0OSwgMTIyLCA3LCA2LCAxLCAxNzQsIDIsIDUwLCAyMzksIDIzNiwgNywgNSwgMSwgCisgICAgMTc0LCAyLCA1MCwgMjM5LCAyMzYsIDcsIDYsIDEsIDE3NCwgMiwgMjMzLCAyLCAyNDksIDEyMiwgNywgNSwgMSwgMTc0LCAyLCAKKyAgICAyMzMsIDIsIDI0OSwgMTIyLCA3LCA2LCAxLCAyMzcsIDIyNSwgMiwgNTAsIDIzOSwgMjM2LCA3LCA1LCAxLCAyMzcsIDIyNSwgCisgICAgMiwgNTAsIDIzOSwgMjM2LCA3LCA2LCAxLCAyMzcsIDIyNSwgMiwgMjMzLCAyLCAyNDksIDEyMiwgNywgNSwgMSwgMjM3LCAKKyAgICAyMjUsIDIsIDIzMywgMiwgMjQ5LCAxMjIsIDcsIDYsIDEsIDE0OCwgMiwgNTAsIDIzOSwgMjM2LCA3LCA1LCAxLCAxNDgsIDIsIAorICAgIDUwLCAyMzksIDIzNiwgNywgNiwgMSwgMTQ4LCAyLCAyMzMsIDIsIDI0OSwgMTIyLCA3LCA1LCAxLCAxNDgsIDIsIDIzMywgMiwgCisgICAgMjQ5LCAxMjIsIDcsIDYsIDEsIDIxOSwgMTUwLCAyLCA1MCwgMjM5LCAyMzYsIDcsIDUsIDEsIDIxOSwgMTUwLCAyLCA1MCwgCisgICAgMjM5LCAyMzYsIDcsIDYsIDEsIDIxOSwgMTUwLCAyLCAyMzMsIDIsIDI0OSwgMTIyLCA3LCA1LCAxLCAyMTksIDE1MCwgMiwgCisgICAgMjMzLCAyLCAyNDksIDEyMiwgNywgNiwgMSwgMTA2LCAyLCA1MCwgMjM5LCAyMzYsIDcsIDUsIDEsIDEwNiwgMiwgNTAsIAorICAgIDIzOSwgMjM2LCA3LCA2LCAxLCAxMDYsIDIsIDIzMywgMiwgMjQ5LCAxMjIsIDcsIDUsIDEsIDEwNiwgMiwgMjMzLCAyLCAKKyAgICAyNDksIDEyMiwgNywgNiwgMSwgMjE4LCAxLCAyLCAyNDcsIDE1NiwgNTUsIDcsIDUsIDEsIDIxOCwgMSwgMiwgMjQ3LCAxNTYsIAorICAgIDU1LCA3LCA2LCAxLCAyMTMsIDExLCAyLCAyNDcsIDE1NiwgNTUsIDcsIDUsIDEsIDIxMywgMTEsIDIsIDI0NywgMTU2LCA1NSwgCisgICAgNywgNiwgMSwgMjA1LCAyMzQsIDcsIDUsIDEsIDIwNSwgMjM0LCA3LCA2LCAxLCAyMzksIDE1NiwgMiwgMjQ4LCAxOTUsIDcsIAorICAgIDUsIDEsIDIzOSwgMTU2LCAyLCAyNDgsIDE5NSwgNywgNiwgMSwgMjI2LCAzNCwgMiwgMTUyLCA0OCwgMjMwLCAzNCwgNywgNSwgCisgICAgMSwgMjQ2LCAyNDEsIDIsIDI0NywgMjcsIDcsIDYsIDEsIDIyMiwgOTcsIDcsIDUsIDEsIDIyMiwgOTcsIDcsIDYsIDEsIAorICAgIDIwNSwgMTYwLCAyLCAxMDksIDcsIDUsIDEsIDIwNSwgMTYwLCAyLCAxMDksIDcsIDYsIDEsIDMyLCAyLCA2NywgNTIsIDcsIAorICAgIDUsIDEsIDMyLCAyLCA2NywgNTIsIDcsIDYsIDEsIDE3NCwgMiwgMjQ4LCAxNDEsIDcsIDUsIDEsIDE3NCwgMiwgMjQ4LCAKKyAgICAxNDEsIDcsIDYsIDEsIDE0OCwgMiwgMjQ1LCAxNjcsIDIzLCAyMjgsIDEzLCA3LCA1LCAxLCAxNDgsIDIsIDI0NSwgMTY3LCAKKyAgICAyMywgMjI4LCAxMywgNywgNiwgMSwgMTQ4LCAyLCAyMTEsIDE4MSwgMjMsIDIyOCwgMTMsIDcsIDUsIDEsIDE0OCwgMiwgCisgICAgMjExLCAxODEsIDIzLCAyMjgsIDEzLCA3LCA2LCAxLCAxNDgsIDIsIDY3LCA1MiwgNywgNSwgMSwgMTQ4LCAyLCA2NywgNTIsIAorICAgIDcsIDYsIDEsIDE0OCwgMiwgNjcsIDg0LCAyMywgMjI4LCAxMywgNywgNSwgMSwgMTQ4LCAyLCA2NywgODQsIDIzLCAyMjgsIAorICAgIDEzLCA3LCA2LCAxLCAyMDYsIDEyNCwgMiwgMjI4LCAxMywgNywgNSwgMSwgMjA2LCAxMjQsIDIsIDIyOCwgMTMsIDcsIDUsIAorICAgIDEsIDIzMCwgMTU5LCAyLCAyNDcsIDI3LCA3LCA1LCAxLCAyMjYsIDM0LCAyLCAyNDcsIDI3LCA3LCA1LCAxLCAyMTMsIDExLCAKKyAgICAyLCAyNDcsIDI3LCA3LCA1LCAxLCAyNDUsIDIyLCAyMzIsIDIwMywgNywgNSwgMSwgMjQ2LCA2NCwgMjQ1LCAxMjcsIDcsIDUsIAorICAgIDEsIDIxOSwgMjE1LCAyNDUsIDEyNywgNywgNiwgMSwgMzIsIDIsIDkxLCA3LCA2LCAxLCAyNDksIDM1LCAyLCA5MSwgNywgNSwgCisgICAgMSwgMjQ5LCAzNSwgMiwgOTEsIDcsIDYsIDEsIDIzMCwgMTU5LCAyLCAxMzQsIDcsIDYsIDEsIDIxMywgMTEsIDIsIDI0NSwgCisgICAgMTYzLCA5MSwgNywgNSwgMSwgMjE4LCAxLCAyLCAyMTMsIDEwOSwgMjEyLCAxOTEsIDcsIDUsIDEsIDIwNSwgMTYwLCAyLCAKKyAgICAyMTMsIDEwOSwgMjEyLCAxOTEsIDcsIDYsIDEsIDI0MCwgMjUsIDIxMywgMjUxLCA3LCA1LCAxLCAyNDAsIDI1LCAyMTMsIAorICAgIDI1MSwgNywgNiwgMSwgNjMsIDIsIDkxLCA3LCA2LCAxLCAxMDYsIDEzNCwgNywgNiwgMSwgMjAxLCAyMDksIDE0OCwgNywgNiwgCisgICAgMSwgMTc0LCAyLCA5MSwgNywgNSwgMSwgMTc0LCAyLCA5MSwgNywgNiwgMSwgMjMyLCAyMDQsIDIsIDkxLCA3LCA1LCAxLCAKKyAgICAyMzIsIDIwNCwgMiwgOTEsIDcsIDYsIDEsIDUsIDIyMCwgMjgsIDIsIDIzOCwgMTMwLCAyMTIsIDE5MSwgNywgNSwgMSwgCisgICAgMjIwLCAyOCwgMiwgMjM4LCAxMzAsIDIxMiwgMTkxLCA3LCA2LCAxLCAyMTksIDE1MCwgMiwgOTEsIDcsIDUsIDEsIDIxOSwgCisgICAgMTUwLCAyLCA5MSwgNywgNiwgMSwgMjA2LCAxMjQsIDIsIDkxLCA3LCA1LCAxLCAyMDYsIDEyNCwgMiwgOTEsIDcsIDUsIDEsIAorICAgIDIwMSwgNjIsIDcsIDUsIDEsIDI1MiwgMTQ0LCA3LCA1LCAxLCAyMDEsIDI1MiwgMTQ0LCA3LCA1LCAxLCA2MywgMiwgMTA5LCAKKyAgICA3LCA1LCAxLCAyMjIsIDE0MiwgNzYsIDcsIDUsIDEsIDI0OSwgMzUsIDIsIDI0NywgMjcsIDcsIDUsIDEsIDI0NiwgMjQxLCAKKyAgICAyLCAyMTIsIDE5MSwgNywgNSwgMSwgMjQ2LCAyNDEsIDIsIDEwOSwgNywgNSwgMSwgMjE4LCAyMjQsIDc1LCA3LCA1LCAxLCAKKyAgICAyMTcsIDEwMCwgNywgNSwgMSwgMjE3LCAxMDEsIDIsIDEwOSwgNywgNSwgMSwgMjIyLCAxNDIsIDc1LCA3LCA1LCAxLCAyMTgsIAorICAgIDIyNCwgMjIyLCAxNDIsIDc1LCA3LCA1LCAxLCAyMTgsIDIyNCwgMjIyLCAxNDIsIDE3NCwgMiwgMTA5LCA3LCA1LCAxLCAKKyAgICAyNDcsIDE5MiwgMjE4LCAyMjQsIDIyMiwgMTQyLCA3NSwgNywgNSwgMSwgMjQ1LCAyMiwgMjMyLCAyMDQsIDIsIDkxLCA3LCAKKyAgICA1LCAxLCAyNDEsIDU2LCAyLCAxMDksIDcsIDUsIDEsIDEyMSwgMjQxLCA1NSwgNywgMSwgNSwgNiwgMjQxLCA1NSwgNywgNSwgCisgICAgMSwgMjQwLCAyMTUsIDcsIDUsIDEsIDIxOSwgNzUsIDIzOCwgNjksIDcsIDUsIDEsIDIwMSwgMjM5LCAxNTUsIDcsIDUsIDEsIAorICAgIDIzOSwgMTU2LCAyLCAxMDksIDcsIDUsIDEsIDIzOSwgNDAsIDIsIDEwOSwgNywgNSwgMSwgMjM3LCAyMjUsIDIsIDkxLCA3LCAKKyAgICA1LCAxLCAyMzIsIDI0OSwgNywgMSwgNSwgNiwgNzQsIDcsIDUsIDEsIDIzMCwgMTU5LCAyLCAyMjYsIDI0NywgMjExLCAxODAsIAorICAgIDcsIDUsIDEsIDIzMCwgMTU5LCAyLCAyNTAsIDI0LCA3LCA1LCAxLCAyMzAsIDE1OSwgMiwgMjE4LCAyMzAsIDEwOSwgNywgNSwgCisgICAgMSwgMjI5LCAyNTEsIDcsIDUsIDEsIDIwMSwgMjI5LCAyOCwgNywgNSwgMSwgMjAxLCAyMjksIDI5LCAyLCAxNTIsIDIzMCwgCisgICAgMzQsIDcsIDUsIDEsIDIyOSwgMjksIDIsIDEwOSwgNywgNSwgMSwgMjI2LCAzNCwgMiwgNDcsIDEwOSwgNywgNSwgMSwgMjI2LCAKKyAgICAzNCwgMiwgMjE4LCAyMzAsIDEwOSwgNywgMSwgNSwgNiwgMjI2LCAzMywgNywgNSwgMSwgMjUwLCAxMjMsIDc2LCA3LCAxLCAKKyAgICA1LCA2LCAyMjIsIDIwNiwgNywgNSwgMSwgMjQ3LCAxOTIsIDIyMiwgMTcwLCA3LCA1LCAxLCAyMjEsIDc4LCA3LCA1LCAxLCAKKyAgICAyMDEsIDEzNywgNywgNSwgMSwgMjAxLCAyMTksIDE1MCwgMiwgMTUyLCAyMzAsIDM0LCA3LCA1LCAxLCAyMDEsIDIxOSwgCisgICAgMTUwLCAyLCAxMDksIDcsIDUsIDEsIDIxOSwgMTUwLCAyLCAxNTIsIDIzMCwgMzQsIDcsIDUsIDEsIDIxOSwgMTUwLCAyLCAKKyAgICAyMTIsIDE5MSwgNywgNSwgMSwgMjE5LCAxNTAsIDIsIDI0MSwgMjEwLCA3LCA1LCAxLCAyMTgsIDIyNCwgMjE5LCAxNTAsIDIsIAorICAgIDI0MSwgMjEwLCA3LCAxLCA1LCA2LCAxMzcsIDcsIDEsIDUsIDYsIDIzMywgMiwgMTM3LCA3LCA1LCAxLCAyMTgsIDEsIDIsIAorICAgIDEwOSwgNywgNSwgMSwgMjQyLCAyMTUsIDcsIDUsIDEsIDI0NSwgMjIsIDIzMiwgMjA0LCAyLCAyMTMsIDIyNSwgMjMsIDEwOSwgCisgICAgNywgNSwgMSwgMjE0LCAxMDQsIDIxOCwgMjI0LCAyNDIsIDIxNSwgNywgNSwgMSwgMjQyLCAyMTYsIDIsIDI0NywgMjcsIDcsIAorICAgIDUsIDEsIDIwMSwgMjEzLCAxMCwgNywgNSwgMSwgMjEzLCAxMSwgMiwgMjE4LCAyMzAsIDEwOSwgNywgNSwgMSwgMTA2LCAKKyAgICAxMzQsIDcsIDUsIDEsIDIwOSwgMjAwLCA3LCA1LCAxLCAyMDksIDE0OSwgMiwgMTA5LCA3LCA1LCAxLCAyMDEsIDIwOSwgCisgICAgMTQ4LCA3LCA1LCAxLCAyMDEsIDIwNywgMTI5LCA3LCA1LCAxLCAyMDEsIDIwNiwgMTIzLCA3LCAxLCA1LCA2LCAyMDYsIAorICAgIDEyMywgNywgNSwgMSwgMjA1LCAxNjAsIDIsIDIxOCwgMjMwLCAxMDksIDcsIDUsIDEsIDIwNSwgMTYwLCAyLCAyNDcsIDI3LCAKKyAgICA3LCA1LCAxLCAyNDIsIDE0MSwgNywgNSwgMSwgMjQyLCAxNDIsIDIsIDI0NywgMjcsIDcsIDEsIDI0MCwgMjUsIDIxMywgCisgICAgMjUxLCA3LCAxLCAyMjEsIDg0LCAyMDgsIDE3MCwgMjQxLCAxMDQsIDcsIDEsIDIzMywgMiwgMjQwLCAyNSwgMjEzLCAyNTEsIAorICAgIDcsIDEsIDIxMywgMjMyLCAyNDksIDM0LCA3LCAxLCAyNDksIDIyOCwgMjQ3LCAyMDMsIDcsIDEsIDUsIDYsIDI1MSwgMTUwLCAKKyAgICA3LCA1LCAxLCAyNDcsIDE5MiwgMjIyLCAxNDIsIDc1LCA3LCAxLCA1LCA2LCAyNDEsIDU2LCAyLCAxMDksIDcsIDEsIDUsIDYsIAorICAgIDIzOSwgMTU1LCA3LCA1LCAxLCAyMzIsIDIwNCwgMiwgMjQ3LCA1NiwgNywgNSwgMSwgMjAxLCAyMzIsIDc2LCA3LCAxLCA1LCAKKyAgICA2LCAxNDksIDcsIDUsIDEsIDIyMCwgMjgsIDIsIDEwOSwgNywgMSwgMjQwLCAyNSwgMjEzLCAyNTIsIDIsIDkxLCA3LCAxLCAKKyAgICAyMTgsIDIyNCwgMjQwLCAyNSwgMjEzLCAyNTIsIDIsIDkxLCA3LCA1LCAxLCAyNDMsIDE5OCwgMjQ1LCAxMjcsIDcsIDUsIDEsIAorICAgIDI0NSwgMTk0LCAyNDUsIDEyNywgNywgNSwgMSwgMjQzLCAxOTgsIDI0NSwgMTI4LCAyLCAyNDcsIDI3LCA3LCA1LCAxLCAKKyAgICAyMTAsIDI0NSwgMjQ1LCAxMjcsIDcsIDUsIDEsIDIxMiwgODUsIDI0NSwgMTI3LCA3LCA1LCAxLCAyMTIsIDEzOCwgMjQ1LCAKKyAgICAxMjgsIDIsIDI0NywgMjcsIDcsIDUsIDEsIDI0MiwgNywgMjQ1LCAxMjcsIDcsIDUsIDEsIDIyOSwgODMsIDI0NSwgMTI3LCAKKyAgICA3LCA1LCAxLCAyMjksIDMwLCAyNDUsIDEyNywgNywgMSwgMjQ5LCAyMjgsIDIyMSwgMTMwLCA3LCAxLCAyNDksIDIzNiwgCisgICAgMjIxLCAxMzAsIDcsIDUsIDEsIDIwMSwgMjM5LCAxNTYsIDIsIDI0MSwgMjEwLCA3LCA1LCAxLCAyMDEsIDIzOSwgMTU2LCAyLCAKKyAgICAyNDEsIDIxMSwgMjMsIDIxMiwgMTkxLCA2NSwgMSwgNSwgMjM5LCAxNTUsIDY1LCAxLCA1LCAyMzksIDE1NiwgMiwgMTA5LCAKKyAgICA2NSwgMSwgNSwgMjMyLCAyMDMsIDY1LCAxLCA1LCAxMzcsIDY1LCAxLCA1LCAyMDEsIDEzNywgNjUsIDEsIDUsIDIwMSwgCisgICAgMjE5LCAxNTAsIDIsIDEwOSwgNjUsIDEsIDUsIDYsIDIzMywgMiwgMTM3LCA2NSwgMSwgNSwgMjA3LCAxMjksIDY1LCAxLCA1LCAKKyAgICAyMDYsIDEyMywgNjUsIDEsIDIyMCwgMTI3LCA2NSwgMSwgNTAsIDIyMCwgMTI3LCA2NSwgMSwgMjAxLCAyNDcsIDE1NSwgNjUsIAorICAgIDEsIDI1MiwgNTMsIDY1LCAxLCAyMTgsIDIyNCwgMjQ3LCAxNTUsIDY1LCAxLCA0OCwgMTYwLCAyMTgsIDE0OCwgNjUsIDEsIAorICAgIDQ3LCAxNjAsIDIxOCwgMTQ4LCA2NSwgMSwgMjQwLCAyNSwgMjEzLCAyNTEsIDY1LCAxLCAyMTgsIDIyNCwgMjQwLCAyNSwgCisgICAgMjEzLCAyNTEsIDY1LCAxLCA0NywgMjUxLCAyNDMsIDY1LCAxLCA0OCwgMjUxLCAyNDMsIDY1LCAxLCAxMjAsIDI1MSwgMjQzLCAKKyAgICA2NSwgMSwgMTMwLCAyNTEsIDI0MywgNjUsIDEsIDI0NywgMjI4LCAyNTMsIDIxLCAyNDgsIDE5NSwgNjUsIDEsIDc5LCAyMjksIAorICAgIDIwNSwgNjUsIDEsIDIyOCwgMTMsIDY1LCAxLCAyNTMsIDksIDI1MywgMjEsIDY1LCAxLCAyMzksIDIzNywgMjUzLCAyMSwgCisgICAgNjUsIDEsIDExNCwgNzksIDIyOSwgMjA1LCA2NSwgMSwgMTE0LCAyMjgsIDEzLCA2NSwgMSwgMTE0LCAyMzksIDIzNywgMjUzLCAKKyAgICAyMSwgNjUsIDEsIDExNCwgMjUzLCA5LCAyNTMsIDIxLCA2NSwgMSwgMjExLCA0OCwgMjQ3LCAxNjIsIDY1LCAxLCAxNjAsIAorICAgIDIxMSwgNDgsIDI0NywgMTYyLCA2NSwgMSwgMjQ4LCAxMjcsIDQ4LCAxNjAsIDIxOCwgMTQ4LCA2NSwgMSwgMjQ4LCAxMjcsIAorICAgIDQ3LCAxNjAsIDIxOCwgMTQ4LCA2NSwgMSwgMTIwLCAyMTIsIDIwMSwgNjUsIDEsIDEzMCwgMjEyLCAyMDEsIDY1LCAxLCAKKyAgICAxMDEsIDUzLCA2NSwgMSwgMjI2LCAyMDIsIDUzLCAyNDksIDEyMiwgNjcsIDUyLCAyMTgsIDE0OSwgNTIsIDIyMiwgMTk2LCAKKyAgICA1LCAyMTEsIDE4MCwgNTAsIDI1MywgOSwgMjUzLCAyMSwgNjUsIDEsIDIxOCwgMjA5LCAxMDksIDY1LCAxLCAyNDcsIDYwLCAKKyAgICAyNTMsIDIxLCA2NSwgMSwgNSwgMjQwLCAyMTUsIDY1LCAxLCA1LCAxNDksIDY1LCAxLCA1LCAxODIsIDY1LCAxLCA1LCAyMDYsIAorICAgIDE5NSwgNjUsIDEsIDUsIDIxOCwgMjI0LCAyNDAsIDI1LCAyMTMsIDI1MSwgNjUsIDEsIDI0MiwgMTU2LCAxMzUsIDEzNCwgCisgICAgNjUsIDEsIDEyNywgMTM1LCAxMzQsIDY1LCAxLCAyMjYsIDI0OSwgMTM1LCAxMzQsIDY1LCAxLCAxMTQsIDEzNSwgMTM0LCAKKyAgICA2NSwgMSwgMjQyLCAxNTUsIDEzNSwgMTM0LCA2NSwgMSwgMjA2LCAxLCAyNDUsIDIxNywgMTM1LCA4MywgNjUsIDEsIDIwNiwgCisgICAgNzYsIDI0NSwgMjE3LCAxMzUsIDgzLCA2NSwgMSwgMjA4LCAxNjgsIDY1LCAxLCAyMDksIDIzMCwgNjUsIDEsIDUwLCAyNTIsIAorICAgIDUzLCA2NSwgMSwgMTE0LCAxMzAsIDI1MSwgMjQzLCA2NSwgMSwgMTE0LCAxMjAsIDI1MSwgMjQzLCA2NSwgMSwgMTE0LCA0NywgCisgICAgMjUxLCAyNDMsIDY1LCAxLCAxMTQsIDQ4LCAyNTEsIDI0MywgNjUsIDEsIDExNCwgMjE4LCAxNDgsIDY1LCAxLCAyMjYsIAorICAgIDI0NywgMjM5LCAyMzcsIDI1MywgMjEsIDY1LCAxLCAyMjYsIDI0NywgNTAsIDIzOSwgMjM3LCAyNTMsIDIxLCA2NSwgMSwgCisgICAgMjI2LCAyNDcsIDUwLCAyNTMsIDksIDI1MywgMjEsIDY1LCAxLCAxMTQsIDIxMSwgMTgwLCA2NSwgMSwgMjE5LCA4MSwgMjQ3LCAKKyAgICAxNjIsIDY1LCAxLCAyNTAsIDQyLCAxMjcsIDIxMSwgMTE4LCA2NSwgMSwgMjQzLCAzNCwgMTI3LCAyMTEsIDExOCwgNjUsIDEsIAorICAgIDI1MCwgNDIsIDExNCwgMjExLCAxMTgsIDY1LCAxLCAyNDMsIDM0LCAxMTQsIDIxMSwgMTE4LCA2NSwgMSwgMjE1LCAyMDUsIAorICAgIDY1LCAxLCAyMjIsIDE0MiwgMjE1LCAyMDUsIDY1LCAxLCAxMTQsIDQ3LCA0NSwgMzYsIDIzOSwgMjM3LCAyNTMsIDIxLCAzNiwgCisgICAgMjUzLCA5LCAyNTMsIDIxLCAzNiwgMjQ3LCAyMjgsIDI1MywgMjEsIDM2LCAyMTEsIDE4MCwgMzYsIDIyOCwgMTMsIDM2LCAKKyAgICAyMjIsIDgxLCAzNiwgMjQ5LCAxMjIsIDM2LCA2NywgNTIsIDM2LCAyNDUsIDE2NiwgMzYsIDIzOCwgMTMwLCA1MiwgMzYsIAorICAgIDIxOCwgMTQ5LCA1MiwgMzYsIDUwLCAyNTMsIDksIDI1MywgMjEsIDM2LCAyNDgsIDE5NSwgMzYsIDc5LCAyMjksIDIwNiwgCisgICAgNTIsIDM2LCA1MCwgNzksIDIyOSwgMjA2LCA1MiwgMzYsIDUwLCAyMzksIDIzNywgMjUzLCAyMSwgMzYsIDI0OCwgMjE3LCAKKyAgICAzNiwgMjMzLCAyLCAyNDksIDEyMiwgMzYsIDIwMSwgMjQ3LCAxNTYsIDUyLCAzNiwgMjQ3LCAxNTYsIDUyLCAzNiwgMjE4LCAKKyAgICAyMjQsIDI0NywgMTU2LCA1MiwgMzYsIDI0NywgMTU2LCA4NCwgMjE4LCAxNjcsIDM2LCAyMzksIDIzNywgMjUzLCAyMiwgNTUsIAorICAgIDM2LCAyNTMsIDksIDI1MywgMjIsIDU1LCAzNiwgNDcsIDIxMiwgMjAyLCA1NSwgMzYsIDQ4LCAyMTIsIDIwMiwgNTUsIDM2LCAKKyAgICA0NywgMjUyLCAxMDksIDUyLCAzNiwgMjM4LCA2OSwgMzYsIDQ3LCAxNjAsIDIxOCwgMTQ5LCA1NSwgMzYsIDEyMCwgMjEyLCAKKyAgICAyMDIsIDU1LCAzNiwgMTMwLCAyMTIsIDIwMiwgNTUsIDM2LCAxMDEsIDMsIDU1LCAzNiwgMjI2LCAyMDIsIDMsIDU1LCAzNiwgCisgICAgMjIyLCAyNCwgMjM4LCAxMzAsIDU1LCAzNiwgMjE4LCAyMzAsIDIzOCwgMTMwLCA1NSwgMzYsIDY3LCA1NSwgMzYsIDI0NSwgCisgICAgMTY3LCA1NSwgMzYsIDIxOCwgMTQ5LCA1NSwgMzYsIDI0NywgMTU2LCA1NSwgMzYsIDI0OCwgMTQxLCAzNiwgMjIyLCAxOTYsIAorICAgIDM2LCA3OSwgMjI5LCAyMDYsIDU1LCAzNiwgMjQ5LCAxMTYsIDU1LCAzNiwgMjMzLCAyLCA1MCwgMjUyLCAyMCwgNTUsIDM2LCAKKyAgICAyNDgsIDE5NiwgNTUsIDM2LCAyNDcsIDIyOCwgMjUzLCAyMiwgNTUsIDM2LCAyNDksIDEyMywgNTUsIDM2LCAyMzMsIDIsIAorICAgIDI0OSwgMTIzLCA1NSwgMzYsIDIxMSwgMTgxLCA1NSwgMzYsIDIyOCwgMTQsIDU1LCAzNiwgMTE0LCAyMjksIDIwNSwgMzYsIAorICAgIDUwLCAxMTQsIDIyOSwgMjA1LCAzNiwgMjExLCAxODEsIDIyMiwgODIsIDM2LCAyMTUsIDE0NCwgMjEzLCAyMjUsIDIyMiwgCisgICAgODIsIDM2LCAxNTIsIDIxMywgMjI1LCAyMjIsIDgyLCAzNiwgMjE1LCAxNDQsIDIxNCwgMTgxLCAyMjIsIDgyLCAzNiwgMTUyLCAKKyAgICAyMTQsIDE4MSwgMjIyLCA4MiwgMzYsIDQ4LCAxNjAsIDIxOCwgMTQ5LCA1NSwgMzYsIDIzMywgMiwgMjQ5LCAxMTYsIDU1LCAKKyAgICAzNiwgNDksIDU1LCAzNiwgMjE3LCA4NSwgNTUsIDM2LCAyMDYsIDE5NiwgNTIsIDM2LCA3OSwgMjExLCAxODAsIDM2LCA1MCwgCisgICAgMjIyLCA4MSwgMzYsIDIzOSwgMjM3LCAxMzUsIDgzLCAzNiwgMjUzLCA5LCAxMzUsIDgzLCAzNiwgMjcsIDIyMSwgMTI0LCAKKyAgICAzNiwgMjcsIDIzMSwgMjMsIDM2LCAyNywgMjQ1LCAxNjAsIDIxMSwgMTA2LCAzNiwgMjcsIDIwNSwgMjIxLCAzNiwgMjQ5LCAKKyAgICAxMTYsIDUyLCAzNiwgMjQyLCAyNDIsIDMsIDU1LCAzNiwgNTAsIDc5LCAyMjksIDIwNiwgNTUsIDM2LCA0NywgMjUyLCAxMDksIAorICAgIDU1LCAzNiwgMjI0LCA0MywgMjExLCAxODEsIDUyLCAzNiwgMjM4LCAxMzYsIDUyLCAzNiwgMjUyLCAxNDksIDE0NiwgMjExLCAKKyAgICAxMzAsIDUyLCAzNiwgNDcsIDQ4LCA1MSwgNTUsIDM2LCAxNjcsIDUxLCA1NSwgMzYsIDIzOSwgMjQyLCAyMzIsIDExNywgMzYsIAorICAgIDQ4LCAyNTEsIDI0NCwgNTIsIDM2LCA0NywgMTYwLCAyMTgsIDE0OSwgNTIsIDM2LCAyNDIsIDQsIDM2LCAyMDYsIDE5NiwgCisgICAgNTUsIDM2LCA0NywgMjUxLCAyNDQsIDU1LCAzNiwgNDgsIDI1MSwgMjQ0LCA1NSwgMzYsIDQ4LCAyNTEsIDI0NCwgMjMsIAorICAgIDEyMCwgMjUxLCAyNDQsIDU1LCAzNiwgNDgsIDE2MCwgMjE4LCAxNDksIDUyLCAzNiwgNjcsIDg0LCAyMTgsIDE2NywgMzYsIAorICAgIDI1MSwgMjEwLCA1NSwgMzYsIDUwLCAyMTgsIDE0OSwgNTUsIDM2LCAyMDUsIDMxLCA1MiwgMzYsIDUwLCAyNDksIDEyMywgCisgICAgNTUsIDM2LCA1MCwgMjQ5LCAxMjIsIDM2LCA1MCwgMjI4LCAxMywgMzYsIDUwLCAyMjgsIDE0LCA1NSwgMzYsIDUwLCAyMTEsIAorICAgIDE4MCwgMzYsIDUwLCAyMzMsIDIsIDI0OSwgMTIyLCAzNiwgNTAsIDg2LCA1MSwgNTUsIDM2LCA3LCA1LCAxLCA2MiwgMzYsIAorICAgIDcsIDUsIDEsIDc1LCAzNiwgNywgNSwgMSwgNzQsIDM2LCA3LCA1LCAxLCA3NiwgMzYsIDcsIDUsIDEsIDcxLCAzNiwgNywgNSwgCisgICAgMSwgMjQ5LCAzNCwgMzYsIDcsIDUsIDEsIDI0NiwgMjQwLCAzNiwgNywgNSwgMSwgMjM5LCAxNTUsIDM2LCA3LCA1LCAxLCAKKyAgICAyMjksIDI4LCAzNiwgNywgNSwgMSwgMTM3LCAzNiwgNywgNSwgMSwgMjEzLCAxMCwgMzYsIDcsIDUsIDEsIDIwOSwgMTQ4LCAKKyAgICAzNiwgNywgNSwgMSwgMjA2LCAxOTUsIDI3LCA2LCAxLCAyMzksIDI4LCAyNywgNSwgMSwgMjM5LCAyOCwgMjcsIDYsIDEsIAorICAgIDI1MiwgMTksIDIxNywgMTU0LCAyNywgNSwgMSwgMjUyLCAxOSwgMjE3LCAxNTQsIDI3LCAyMjMsIDE3NywgNTMsIDI3LCAKKyAgICAyMjksIDkyLCAyMjMsIDE3NywgNTMsIDI3LCA2LCAxLCAyMjIsIDEwLCAyNDUsIDEzNCwgMjcsIDUsIDEsIDIyMiwgMTAsIAorICAgIDI0NSwgMTM0LCAyNywgMjA1LCAyMjEsIDI3LCA1LCAyMTgsIDIyNCwgMjI5LCA2NCwgMjE1LCA2NCwgOTMsIDI3LCA1LCAKKyAgICAyNDQsIDIxLCAyMjksIDY0LCAyMTUsIDY0LCA5MywgMjcsIDUsIDIxOCwgMjI0LCAyNDQsIDIxLCAyMjksIDY0LCAyMTUsIAorICAgIDY0LCA5MywgMjcsIDIxOSwgMTk2LCA4MywgMjcsIDYsIDEsIDIwNSwgMjI3LCAyNywgMjExLCAxMDYsIDI3LCAyNDUsIDE2MCwgCisgICAgMjExLCAxMDYsIDI3LCA2LCAxLCAyNTIsIDE0NSwgMiwgMjExLCAxMDYsIDI3LCAyNTIsIDk2LCAyMTIsIDEwOSwgMjcsIDYsIAorICAgIDEsIDI0MiwgMjQ1LCAyLCAyMTEsIDEwNiwgMjcsIDYsIDEsIDI0MiwgMjAyLCAyLCAyMTEsIDEwNiwgMjcsIDYsIDEsIDIzMiwgCisgICAgMjUwLCAyLCAyMTEsIDEwNiwgMjcsIDYsIDEsIDIyMiwgMTY5LCAyLCAyMTEsIDEwNiwgMjcsIDYsIDEsIDIwOSwgMjAxLCAyLCAKKyAgICAyMTEsIDEwNiwgMjcsIDYsIDEsIDIyMiwgMTcxLCAyLCAyMTEsIDEwNiwgMjcsIDUsIDEsIDIzMiwgMjUwLCAyLCAyNDUsIAorICAgIDE2MCwgMjMsIDIxMSwgMTA2LCAyNywgNiwgMSwgMjUyLCAxNDQsIDI3LCA2LCAxLCAyNTAsIDgsIDI3LCA2LCAxLCAyNDAsIAorICAgIDIxNSwgMjcsIDYsIDEsIDI0NSwgMjI3LCAyNywgNiwgMSwgMjQyLCAyNDQsIDI3LCA2LCAxLCAyMDUsIDg0LCAyNywgNiwgMSwgCisgICAgMjQyLCAyMDEsIDI3LCA2LCAxLCAyMTIsIDIzLCAyNywgNiwgMSwgMjMyLCAyNDksIDI3LCA2LCAxLCAyMzIsIDE0LCAyNywgCisgICAgNiwgMSwgMjMwLCAxMDIsIDI3LCA2LCAxLCAyMjYsIDExNCwgMjcsIDYsIDEsIDIyMywgMjE3LCAyNywgNiwgMSwgMjA2LCAKKyAgICAxNjksIDI3LCA2LCAxLCAyMjIsIDE2OCwgMjcsIDYsIDEsIDIyMSwgNTMsIDI3LCA2LCAxLCAyMTgsIDIxMCwgMjcsIDYsIDEsIAorICAgIDIxNSwgNjMsIDI3LCA2LCAxLCAyMTIsIDE1MSwgMjcsIDYsIDEsIDIwOSwgMjAwLCAyNywgNiwgMSwgMjIxLCA3OCwgMjcsIAorICAgIDYsIDEsIDI0OCwgNTgsIDI3LCA2LCAxLCAyMjAsIDkzLCAyNywgNiwgMSwgMjIyLCAxNzAsIDI3LCA2LCAxLCAyMzIsIDI1MCwgCisgICAgMiwgMjQ1LCAxNTksIDI3LCA2LCAxLCAyMDksIDIwMSwgMiwgMjQ1LCAxNTksIDI3LCA1LCAxLCAyNTIsIDE0NSwgMiwgMjExLCAKKyAgICAxMDYsIDI3LCA1LCAxLCAyNDIsIDI0NSwgMiwgMjExLCAxMDYsIDI3LCA1LCAxLCAyNDIsIDIwMiwgMiwgMjExLCAxMDYsIAorICAgIDI3LCA1LCAxLCAyMzIsIDI1MCwgMiwgMjExLCAxMDYsIDI3LCA1LCAxLCAyMDksIDIwMSwgMiwgMjQ1LCAxNjAsIDIzLCAKKyAgICAyMTEsIDEwNiwgMjcsIDUsIDEsIDI1MiwgMTQ0LCAyNywgNSwgMSwgMjUwLCA4LCAyNywgNSwgMSwgMjQwLCAyMTUsIDI3LCAKKyAgICA1LCAxLCAyNDUsIDIyNywgMjcsIDUsIDEsIDI0MiwgMjQ0LCAyNywgNSwgMSwgMjA1LCA4NCwgMjcsIDUsIDEsIDI0MiwgCisgICAgMjAxLCAyNywgNSwgMSwgMjEyLCAyMywgMjcsIDUsIDEsIDIzMiwgMjQ5LCAyNywgNSwgMSwgMjMyLCAxNCwgMjcsIDUsIDEsIAorICAgIDIzMCwgMTAyLCAyNywgNSwgMSwgMjI2LCAxMTQsIDI3LCA1LCAxLCAyMjMsIDIxNywgMjcsIDUsIDEsIDIwNiwgMTY5LCAyNywgCisgICAgNSwgMSwgMjIyLCAxNjgsIDI3LCA1LCAxLCAyMjEsIDUzLCAyNywgNSwgMSwgMjE4LCAyMTAsIDI3LCA1LCAxLCA0MiwgMjE1LCAKKyAgICA2MywgMjcsIDUsIDEsIDIxNSwgNjMsIDI3LCA1LCAxLCAyMTIsIDE1MSwgMjcsIDUsIDEsIDIwOSwgMjAwLCAyNywgNSwgMSwgCisgICAgMjIxLCA3OCwgMjcsIDUsIDEsIDI0OCwgNTgsIDI3LCA1LCAxLCAyMjAsIDkzLCAyNywgNSwgMSwgMjIyLCAxNzAsIDI3LCA1LCAKKyAgICAxLCAyMzIsIDI1MCwgMiwgMjQ1LCAxNTksIDI3LCA1LCAxLCAyMDksIDIwMSwgMiwgMjQ1LCAxNTksIDI3LCA1LCAxLCAyMjIsIAorICAgIDE2OSwgMiwgMjExLCAxMDYsIDI3LCA1LCAxLCAyMDksIDIwMSwgMiwgMjExLCAxMDYsIDI3LCA1LCAxLCAyMjIsIDE3MSwgMiwgCisgICAgMjExLCAxMDYsIDI3LCA2LCAyMzIsIDQyLCA5MywgMjcsIDI1MCwgOSwgOTMsIDI3LCAyMTIsIDI0LCA5MywgMjcsIDIwOSwgCisgICAgMjAxLCAyLCAyMzgsIDEzMCwgOTMsIDI3LCAyMDksIDIwMSwgMiwgMjUzLCA5LCAyMywgMjM4LCAxMzAsIDkzLCAyNywgMjA5LCAKKyAgICAyMDEsIDIsIDI0NSwgMTY3LCAyMywgMjM4LCAxMzAsIDkzLCAyNywgMjIxLCA3OSwgOTMsIDI3LCAyMjEsIDU0LCA5MywgMjcsIAorICAgIDIzMiwgNDIsIDkzLCAyNywgMSwgMjUyLCAxOSwgMjMxLCAyNywgMjcsIDUsIDEsIDI1MiwgMTksIDIzMSwgMjcsIDI3LCAxLCAKKyAgICAyMTQsIDUsIDI3LCA1LCAxLCAyMTQsIDUsIDI3LCAxLCAyNDUsIDEzNCwgMjcsIDUsIDEsIDI0NSwgMTM0LCAyNywgMSwgCisgICAgMjMxLCAyNywgMjcsIDUsIDEsIDIzMSwgMjcsIDI3LCAxLCAyMTcsIDE1NCwgMjcsIDUsIDEsIDIxNywgMTU0LCA4MSwgNiwgCisgICAgMSwgMjE1LCAyMDYsIDgxLCA1LCAxLCAyMTUsIDIwNiwgODEsIDYsIDEsIDI0MiwgMTMsIDgxLCA1LCAxLCAyNDIsIDEzLCAKKyAgICA4MSwgNiwgMSwgMjMxLCAxNTAsIDgxLCA1LCAxLCAyMzEsIDE1MCwgODEsIDYsIDEsIDIzOCwgMTIyLCA4MSwgNSwgMSwgCisgICAgMjM4LCAxMjIsIDgxLCA2LCAxLCAyNDAsIDIxMCwgODEsIDUsIDEsIDI0MCwgMjEwLCA4MSwgNiwgMSwgMjE1LCAxNzMsIDgxLCAKKyAgICA1LCAxLCAyMTUsIDE3MywgODEsIDYsIDEsIDI0NSwgMjQyLCA4MSwgNSwgMSwgMjQ1LCAyNDIsIDI3LCAyMzIsIDE1LCA5MywgCisgICAgMjcsIDIxOCwgMjExLCA5MywgMjcsIDIyOSwgNjQsIDIxNSwgNjQsIDkzLCAyNywgMSwgMjA1LCAyMjcsIDI3LCA2LCAyMTIsIAorICAgIDI0LCA5MywgMjcsIDIyOSwgNjQsIDI0MiwgMjQ1LCA5MywgMjcsIDIxOCwgMjI0LCAyMjksIDY0LCAyNDIsIDI0NSwgOTMsIAorICAgIDI3LCA2LCAxLCAyMTUsIDE1OCwgMjcsIDUsIDEsIDIxNSwgMTU4LCAyNywgNiwgMjI5LCA2NCwgMjE1LCA2NCwgOTMsIDI3LCAKKyAgICA2LCAxLCAyMTcsIDE1MSwgMjcsIDUsIDEsIDIxNywgMTUxLCAyNywgMjE4LCAyMTEsIDIsIDIxMywgMjI1LCA5MywgMjcsIDYsIAorICAgIDIxOCwgMjI0LCAyMjksIDY0LCAyMTUsIDY0LCA5MywgMjcsIDYsIDI0NCwgMjEsIDIyOSwgNjQsIDIxNSwgNjQsIDkzLCAyNywgCisgICAgNiwgMjE4LCAyMjQsIDI0NCwgMjEsIDIyOSwgNjQsIDIxNSwgNjQsIDkzLCAzNCwgNiwgMSwgMjMzLCAxMzAsIDIsIDIzOSwgCisgICAgMjM2LCAzNCwgNiwgMSwgMjMyLCAyNTMsIDM0LCA2LCAxLCAyNDUsIDY4LCAzNCwgNiwgMSwgMjQwLCAzMiwgMzQsIDYsIDEsIAorICAgIDIwOSwgMjQ2LCAyMzMsIDEyOSwgMzQsIDYsIDEsIDI0MywgMTkzLCAzNCwgNiwgMSwgMjQ5LCA0NCwgNzQsIDM0LCA2LCAxLCAKKyAgICAyMDYsIDExLCAzNCwgNiwgMSwgMjMyLCAxODIsIDM0LCA2LCAxLCAyMjksIDE3NSwgMzQsIDYsIDEsIDIyNCwgMTczLCAzNCwgCisgICAgNiwgMSwgMjEwLCAyMzEsIDM0LCA2LCAxLCAyMzEsIDc0LCAzNCwgNiwgMSwgMjM3LCAyMjUsIDIsIDIzOSwgMjM2LCAzNCwgCisgICAgNiwgMSwgMjE1LCAxNDQsIDcxLCAzNCwgNiwgMSwgMjQzLCAxODksIDM0LCA2LCAxLCA2MiwgMzQsIDYsIDEsIDI1MCwgNjEsIAorICAgIDM0LCA2LCAxLCAyMDksIDM5LCAzNCwgNiwgMSwgMjQwLCA4NSwgMzQsIDYsIDEsIDI0NiwgOSwgMzQsIDYsIDEsIDIzMywgCisgICAgMTI5LCAzNCwgNiwgMSwgMjA1LCA3MiwgMzQsIDYsIDEsIDIwNSwgOTMsIDM0LCA2LCAxLCA3NCwgMzQsIDYsIDEsIDIxNSwgCisgICAgMTQ0LCA3NCwgMzQsIDYsIDEsIDE3MiwgMzQsIDYsIDEsIDI0MywgNjgsIDM0LCA2LCAxLCAyNDMsIDUwLCAzNCwgNiwgMSwgCisgICAgMjQzLCA0MSwgMzQsIDYsIDEsIDc2LCAzNCwgNiwgMSwgMjIxLCAxNzQsIDM0LCA2LCAxLCAyNDIsIDIzNSwgMzQsIDYsIDEsIAorICAgIDI0MiwgMjI1LCAzNCwgNiwgMSwgMjEyLCAxMzEsIDM0LCA2LCAxLCA3MSwgMzQsIDYsIDEsIDI0MywgOTcsIDM0LCA2LCAxLCAKKyAgICAxNTUsIDM0LCA2LCAxLCAyMTAsIDIzNywgMzQsIDYsIDEsIDI0OCwgODIsIDM0LCA2LCAxLCAyMTYsIDIsIDM0LCA2LCAxLCAKKyAgICAyMTUsIDIxNywgMzQsIDYsIDEsIDIzOSwgOTQsIDUzLCAzNCwgNiwgMSwgMjA2LCAzMCwgMzQsIDYsIDEsIDIxNCwgMTg3LCAKKyAgICA1MywgMzQsIDYsIDEsIDc1LCAzNCwgNiwgMSwgMjA1LCAyMTMsIDM0LCA2LCAxLCAxOTAsIDM0LCA1LCAxLCA2MiwgMzQsIDUsIAorICAgIDEsIDI1MCwgNjEsIDM0LCA1LCAxLCAyMDksIDM5LCAzNCwgNSwgMSwgMjQwLCA4NSwgMzQsIDUsIDEsIDI0NiwgOSwgMzQsIAorICAgIDUsIDEsIDIzMywgMTI5LCAzNCwgNSwgMSwgMjA1LCA3MiwgMzQsIDUsIDEsIDIwNSwgOTMsIDM0LCA1LCAxLCA3NCwgMzQsIAorICAgIDUsIDEsIDIxNSwgMTQ0LCA3NCwgMzQsIDUsIDEsIDE3MiwgMzQsIDUsIDEsIDI0MywgNjgsIDM0LCA1LCAxLCAyNDMsIDUwLCAKKyAgICAzNCwgNSwgMSwgMjQzLCA0MSwgMzQsIDUsIDEsIDc2LCAzNCwgNSwgMSwgMjIxLCAxNzQsIDM0LCA1LCAxLCAyNDIsIDIzNSwgCisgICAgMzQsIDUsIDEsIDI0MiwgMjI1LCAzNCwgNSwgMSwgMjEyLCAxMzEsIDM0LCA1LCAxLCA3MSwgMzQsIDUsIDEsIDI0MywgOTcsIAorICAgIDM0LCA1LCAxLCAxNTUsIDM0LCA1LCAxLCAyMTAsIDIzNywgMzQsIDUsIDEsIDI0OCwgODIsIDM0LCA1LCAxLCAyMTYsIDIsIAorICAgIDM0LCA1LCAxLCAyMTUsIDIxNywgMzQsIDUsIDEsIDIzOSwgOTQsIDUzLCAzNCwgNSwgMSwgMjA2LCAzMCwgMzQsIDUsIDEsIAorICAgIDIxNCwgMTg3LCA1MywgMzQsIDUsIDEsIDc1LCAzNCwgNSwgMSwgMjA1LCAyMTMsIDM0LCA1LCAxLCAxOTAsIDM0LCA1LCAxLCAKKyAgICAyMzMsIDEzMCwgMiwgMjM5LCAyMzYsIDM0LCA1LCAxLCAyMzIsIDI1MywgMzQsIDUsIDEsIDI0NSwgNjgsIDM0LCA1LCAxLCAKKyAgICAyNDAsIDMyLCAzNCwgNSwgMSwgMjA5LCAyNDYsIDIzMywgMTI5LCAzNCwgNSwgMSwgMjQzLCAxOTMsIDM0LCA1LCAxLCAyNDksIAorICAgIDQ0LCA3NCwgMzQsIDUsIDEsIDIwNiwgMTEsIDM0LCA1LCAxLCAyMzIsIDE4MiwgMzQsIDUsIDEsIDIyOSwgMTc1LCAzNCwgNSwgCisgICAgMSwgMjI0LCAxNzMsIDM0LCA1LCAxLCAyMTAsIDIzMSwgMzQsIDUsIDEsIDIzMSwgNzQsIDM0LCA1LCAxLCAyMzcsIDIyNSwgCisgICAgMiwgMjM5LCAyMzYsIDM0LCA1LCAxLCAyMTUsIDE0NCwgNzEsIDM0LCA1LCAxLCAyNDMsIDE4OSwgMzQsIDYsIDEsIDIyMiwgCisgICAgMTcwLCAzNCwgNSwgMSwgMjIyLCAxNzAsIDM0LCA2LCAxLCAyMDYsIDY1LCAzNCwgNSwgMSwgMjA2LCA2NSwgMzQsIDYsIDEsIAorICAgIDIzMiwgMjQ3LCA3NSwgMzQsIDUsIDEsIDIzMiwgMjQ3LCA3NSwgMzQsIDYsIDEsIDIyOSwgMTgwLCAyMDUsIDE4MywgMzQsIAorICAgIDUsIDEsIDIyOSwgMTgwLCAyMDUsIDE4MywgMzQsIDYsIDEsIDIzMiwgMjQ3LCAyMjksIDE4MCwgMjA1LCAxODMsIDM0LCA1LCAKKyAgICAxLCAyMzIsIDI0NywgMjI5LCAxODAsIDIwNSwgMTgzLCAzNCwgNiwgMSwgMjQ5LCAyMzEsIDIwNSwgMTgzLCAzNCwgNSwgMSwgCisgICAgMjQ5LCAyMzEsIDIwNSwgMTgzLCAzNCwgNiwgMSwgMjMyLCAyNDcsIDI0OSwgMjMxLCAyMDUsIDE4MywgMzQsIDUsIDEsIAorICAgIDIzMiwgMjQ3LCAyNDksIDIzMSwgMjA1LCAxODMsIDM0LCA2LCAxLCAyMzAsIDI1MiwgMzQsIDUsIDEsIDIzMCwgMjUyLCAzNCwgCisgICAgNiwgMSwgMjIwLCA5MywgMzQsIDUsIDEsIDIyMCwgOTMsIDM0LCA2LCAxLCAyNDEsIDIwNSwgMzQsIDUsIDEsIDI0MSwgMjA1LCAKKyAgICAzNCwgNiwgMSwgMjMyLCAyMDUsIDM0LCA1LCAxLCAyMzIsIDIwNSwgMzQsIDYsIDEsIDIzMiwgMjA2LCAyLCA1MCwgMjM5LCAKKyAgICAyMzcsIDI1MywgMjEsIDM0LCA1LCAxLCAyMzIsIDIwNiwgMiwgNTAsIDIzOSwgMjM3LCAyNTMsIDIxLCAzNCwgNiwgMSwgCisgICAgMjA5LCAyNDksIDM0LCA1LCAxLCAyMDksIDI0OSwgMzQsIDYsIDEsIDIxOCwgOTUsIDIyMiwgMTcwLCAzNCwgNSwgMSwgMjE4LCAKKyAgICA5NSwgMjIyLCAxNzAsIDM0LCA2LCAxLCAyMjIsIDE3MSwgMiwgMjExLCAxNTQsIDM0LCA1LCAxLCAyMjIsIDE3MSwgMiwgCisgICAgMjExLCAxNTQsIDM0LCA2LCAxLCAyMjIsIDEwMywgMzQsIDUsIDEsIDIyMiwgMTAzLCAzNCwgNiwgMSwgMjMxLCAyNywgMzQsIAorICAgIDUsIDEsIDIzMSwgMjcsIDM0LCAyMTEsIDI0MSwgNTMsIDM2LCAzNCwgMjExLCAxNTQsIDM2LCAzNCwgMjIyLCAyNSwgMzYsIAorICAgIDM0LCAyNDYsIDc2LCAyMjAsIDIxMywgMzYsIDM0LCAyMjAsIDg3LCAyMjAsIDIxMywgMzYsIDM0LCAyMjAsIDE5NywgMzYsIAorICAgIDM0LCAyMzgsIDMwLCAyMTEsIDI0MSwgNTMsIDM2LCAzNCwgMjI2LCAyMTMsIDUzLCAzNCwgNiwgMSwgMjE1LCAxNDQsIDIzNywgCisgICAgMjI1LCAyLCAyMTIsIDE5MSwgMzQsIDUsIDEsIDIxNSwgMTQ0LCAyMzcsIDIyNSwgMiwgMjEyLCAxOTEsIDM0LCA2LCAxLCAKKyAgICAyMTYsIDQ4LCA1MywgMzQsIDUsIDEsIDIxNiwgNDgsIDUzLCAzNCwgNiwgMSwgMjQyLCAyMzYsIDIsIDIxMSwgMjA3LCAzNCwgCisgICAgNSwgMSwgMjQyLCAyMzYsIDIsIDIxMSwgMjA3LCAzNCwgNiwgMSwgMjQwLCA4NiwgMiwgMjA5LCAxOTksIDM0LCA1LCAxLCAKKyAgICAyNDAsIDg2LCAyLCAyMDksIDE5OSwgMzQsIDYsIDEsIDI0MCwgODYsIDIsIDkxLCAzNCwgNSwgMSwgMjQwLCA4NiwgMiwgOTEsIAorICAgIDM0LCA2LCAxLCAyNDAsIDg2LCAyLCAyMjYsIDI0NywgMTA5LCAzNCwgNSwgMSwgMjQwLCA4NiwgMiwgMjI2LCAyNDcsIDEwOSwgCisgICAgMzQsIDYsIDEsIDIwNSwgNzMsIDIsIDI0NSwgMjExLCAzNCwgNSwgMSwgMjA1LCA3MywgMiwgMjQ1LCAyMTEsIDM0LCA2LCAxLCAKKyAgICAyMDUsIDk0LCAyLCAyNDUsIDIxMSwgMzQsIDUsIDEsIDIwNSwgOTQsIDIsIDI0NSwgMjExLCAzNCwgNiwgMSwgMjMyLCA2NiwgCisgICAgMiwgMjQ1LCAyMTEsIDM0LCA1LCAxLCAyMzIsIDY2LCAyLCAyNDUsIDIxMSwgMzQsIDYsIDEsIDIzMiwgNjYsIDIsIDc5LCAKKyAgICA5MSwgMzQsIDUsIDEsIDIzMiwgNjYsIDIsIDc5LCA5MSwgMzQsIDYsIDEsIDIzMiwgNjYsIDIsIDkxLCAzNCwgNSwgMSwgCisgICAgMjMyLCA2NiwgMiwgOTEsIDM0LCA2LCAxLCAyNTAsIDExMiwgMTcyLCAzNCwgNSwgMSwgMjUwLCAxMTIsIDE3MiwgMzQsIDYsIAorICAgIDEsIDI0MywgNDIsIDIsIDI0NSwgMjExLCAzNCwgNSwgMSwgMjQzLCA0MiwgMiwgMjQ1LCAyMTEsIDM0LCA2LCAyOCwgMjQzLCAKKyAgICA0MiwgMjQwLCA4NSwgMzQsIDUsIDI4LCAyNDMsIDQyLCAyNDAsIDg1LCAzNCwgNiwgMSwgMjIxLCAxNzUsIDIsIDIyNiwgCisgICAgMjQ3LCAxMDksIDM0LCA1LCAxLCAyMjEsIDE3NSwgMiwgMjI2LCAyNDcsIDEwOSwgMzQsIDYsIDEsIDI1MywgMjgsIDE1NSwgCisgICAgMzQsIDUsIDEsIDI1MywgMjgsIDE1NSwgMzQsIDYsIDEsIDI0MiwgMjI2LCAyLCAyNDUsIDIxMSwgMzQsIDUsIDEsIDI0MiwgCisgICAgMjI2LCAyLCAyNDUsIDIxMSwgMzQsIDYsIDEsIDIxMiwgMTMyLCAyLCAyNDUsIDIxMSwgMzQsIDUsIDEsIDIxMiwgMTMyLCAyLCAKKyAgICAyNDUsIDIxMSwgMzQsIDYsIDEsIDIxMywgMjQzLCA3MSwgMzQsIDUsIDEsIDIxMywgMjQzLCA3MSwgMzQsIDYsIDEsIDIxMywgCisgICAgMjQzLCAxMDYsIDIsIDkxLCAzNCwgNSwgMSwgMjEzLCAyNDMsIDEwNiwgMiwgOTEsIDM0LCA2LCAxLCAyMzksIDE0NCwgMiwgCisgICAgMjQ1LCAyMTEsIDM0LCA1LCAxLCAyMzksIDE0NCwgMiwgMjQ1LCAyMTEsIDM0LCA2LCAyOCwgMjEyLCAxMzIsIDIxMCwgMjM3LCAKKyAgICAzNCwgNSwgMjgsIDIxMiwgMTMyLCAyMTAsIDIzNywgMzQsIDYsIDEsIDI0OCwgODMsIDIsIDI0NSwgMjExLCAzNCwgNSwgMSwgCisgICAgMjQ4LCA4MywgMiwgMjQ1LCAyMTEsIDM0LCA2LCAxLCAyNDgsIDgzLCAyLCA3OSwgOTEsIDM0LCA1LCAxLCAyNDgsIDgzLCAyLCAKKyAgICA3OSwgOTEsIDM0LCA2LCAxLCAyMTUsIDE4NCwgMzQsIDUsIDEsIDIxNSwgMTg0LCAzNCwgNiwgMSwgMjUzLCAyOCwgMjQ4LCAKKyAgICA4MiwgMzQsIDUsIDEsIDI1MywgMjgsIDI0OCwgODIsIDM0LCA2LCAxLCAyNTMsIDI4LCAyNDgsIDgzLCAyLCAyNDUsIDIxMSwgCisgICAgMzQsIDUsIDEsIDI1MywgMjgsIDI0OCwgODMsIDIsIDI0NSwgMjExLCAzNCwgMSwgMjIyLCAxNywgMzQsIDYsIDEsIDIwNSwgCisgICAgNzMsIDIsIDI0OSwgMTIyLCAzNCwgNSwgMSwgMjA1LCA3MywgMiwgMjQ5LCAxMjIsIDM0LCA2LCAxLCAyMzIsIDY2LCAyLCAKKyAgICAxMDksIDM0LCA1LCAxLCAyMzIsIDY2LCAyLCAxMDksIDM0LCA2LCAxLCAyNDMsIDY5LCAyLCAyMTIsIDE5MSwgMzQsIDUsIDEsIAorICAgIDI0MywgNjksIDIsIDIxMiwgMTkxLCAzNCwgNiwgMSwgMjQzLCA0MiwgMiwgMTA5LCAzNCwgNSwgMSwgMjQzLCA0MiwgMiwgCisgICAgMTA5LCAzNCwgNiwgMSwgMjQzLCA0MiwgMiwgMjEyLCAxOTEsIDM0LCA1LCAxLCAyNDMsIDQyLCAyLCAyMTIsIDE5MSwgMzQsIAorICAgIDYsIDEsIDIzMSwgMTYxLCAyNDgsIDgyLCAzNCwgNSwgMSwgMjMxLCAxNjEsIDI0OCwgODIsIDM0LCA2LCAxLCAyNDMsIDUxLCAKKyAgICAyLCAyMTIsIDE5MSwgMzQsIDUsIDEsIDI0MywgNTEsIDIsIDIxMiwgMTkxLCAzNCwgNSwgMSwgMjIyLCAxNywgMzQsIDYsIDEsIAorICAgIDMyLCAyLCAyNDksIDEyMiwgMzQsIDUsIDEsIDMyLCAyLCAyNDksIDEyMiwgMzQsIDYsIDEsIDMyLCAyLCAyNDUsIDE2NiwgCisgICAgMzQsIDUsIDEsIDMyLCAyLCAyNDUsIDE2NiwgMzQsIDYsIDI4LCAzMiwgMjMzLCAxMjksIDM0LCA1LCAyOCwgMzIsIDIzMywgCisgICAgMTI5LCAzNCwgNiwgMSwgMjMzLCAxMzAsIDIsIDI0OSwgMTIyLCAzNCwgNSwgMSwgMjMzLCAxMzAsIDIsIDI0OSwgMTIyLCAKKyAgICAzNCwgNiwgMSwgMjE3LCAxMDAsIDM0LCA1LCAxLCAyMTcsIDEwMCwgMzQsIDYsIDEsIDIxNywgMTAxLCAyLCAyNDUsIDE2NiwgCisgICAgMzQsIDUsIDEsIDIxNywgMTAxLCAyLCAyNDUsIDE2NiwgMzQsIDYsIDEsIDIwNSwgNzMsIDIsIDI0NSwgMTY2LCAzNCwgNSwgCisgICAgMSwgMjA1LCA3MywgMiwgMjQ1LCAxNjYsIDM0LCA2LCAxLCAyMDUsIDk0LCAyLCAyNDUsIDE2NiwgMzQsIDUsIDEsIDIwNSwgCisgICAgOTQsIDIsIDI0NSwgMTY2LCAzNCwgNiwgMSwgMjUzLCAyOCwgMjQzLCAxOTMsIDM0LCA1LCAxLCAyNTMsIDI4LCAyNDMsIAorICAgIDE5MywgMzQsIDYsIDEsIDIzNywgMjI1LCAyLCAyMjgsIDEzLCAzNCwgNSwgMSwgMjM3LCAyMjUsIDIsIDIyOCwgMTMsIDM0LCAKKyAgICA2LCAxLCAyMzcsIDIyNSwgMiwgMjQ1LCAxNjYsIDM0LCA1LCAxLCAyMzcsIDIyNSwgMiwgMjQ1LCAxNjYsIDM0LCA2LCAxLCAKKyAgICAxNDgsIDIsIDI0NSwgMTY2LCAzNCwgNSwgMSwgMTQ4LCAyLCAyNDUsIDE2NiwgMzQsIDYsIDEsIDI1MCwgMTIzLCA3NiwgMzQsIAorICAgIDUsIDEsIDI1MCwgMTIzLCA3NiwgMzQsIDYsIDEsIDI1MCwgMTIzLCAxNDgsIDIsIDI0NSwgMTY2LCAzNCwgNSwgMSwgMjUwLCAKKyAgICAxMjMsIDE0OCwgMiwgMjQ1LCAxNjYsIDM0LCA2LCAxLCAxNzQsIDIsIDI0NSwgMTY2LCAzNCwgNSwgMSwgMTc0LCAyLCAyNDUsIAorICAgIDE2NiwgMzQsIDYsIDEsIDEwNiwgMiwgMjI4LCAxMywgMzQsIDUsIDEsIDEwNiwgMiwgMjI4LCAxMywgMzQsIDYsIDEsIDEwNiwgCisgICAgMiwgMjQ1LCAxNjYsIDM0LCA1LCAxLCAxMDYsIDIsIDI0NSwgMTY2LCAzNCwgNiwgMSwgMTA2LCAyLCA1MCwgMTUzLCAzNCwgCisgICAgNSwgMSwgMTA2LCAyLCA1MCwgMTUzLCAzNCwgNiwgMSwgMjQ4LCA4MywgMiwgMjQ1LCAxNjYsIDM0LCA1LCAxLCAyNDgsIDgzLCAKKyAgICAyLCAyNDUsIDE2NiwgMzQsIDYsIDEsIDI0MCwgODYsIDIsIDI0NSwgMjExLCAzNCwgNSwgMSwgMjQwLCA4NiwgMiwgMjQ1LCAKKyAgICAyMTEsIDM0LCA2LCAxLCAyMDYsIDMxLCAyLCAyNDUsIDE2NiwgMzQsIDUsIDEsIDIwNiwgMzEsIDIsIDI0NSwgMTY2LCAzNCwgCisgICAgNiwgMSwgMjQwLCA4NiwgMiwgMjEzLCAyMjUsIDIzLCAxMDksIDM0LCA1LCAxLCAyNDAsIDg2LCAyLCAyMTMsIDIyNSwgMjMsIAorICAgIDEwOSwgMzQsIDYsIDEsIDIzOSwgMTQ0LCAyLCAxMDksIDM0LCA1LCAxLCAyMzksIDE0NCwgMiwgMTA5LCAzNCwgNiwgMSwgCisgICAgMjM5LCAxNDQsIDIsIDkxLCAzNCwgNSwgMSwgMjM5LCAxNDQsIDIsIDkxLCAzNCwgNiwgMSwgMjMxLCAzNywgMjQ2LCA5LCAKKyAgICAzNCwgNSwgMSwgMjMxLCAzNywgMjQ2LCA5LCAzNCwgNiwgMSwgMjMxLCAzNywgMjQ1LCA2OCwgMzQsIDUsIDEsIDIzMSwgMzcsIAorICAgIDI0NSwgNjgsIDM0LCA2LCAxLCAyMzEsIDM3LCAyMDUsIDIzLCAzNCwgNSwgMSwgMjMxLCAzNywgMjA1LCAyMywgMzQsIDYsIAorICAgIDEsIDIzMSwgMzcsIDI0MywgMTg1LCAzNCwgNSwgMSwgMjMxLCAzNywgMjQzLCAxODUsIDM0LCA2LCAxLCAyMzEsIDM3LCAKKyAgICAyMjksIDE3NSwgMzQsIDUsIDEsIDIzMSwgMzcsIDIyOSwgMTc1LCAzNCwgNiwgMSwgMjMxLCAzNywgMjI0LCAxNzMsIDM0LCAKKyAgICA1LCAxLCAyMzEsIDM3LCAyMjQsIDE3MywgMzQsIDYsIDEsIDIzMSwgMzcsIDIxNCwgMjQ5LCAzNCwgNSwgMSwgMjMxLCAzNywgCisgICAgMjE0LCAyNDksIDM0LCA2LCAxLCAyMzEsIDM3LCAyMTEsIDE0OCwgMzQsIDUsIDEsIDIzMSwgMzcsIDIxMSwgMTQ4LCAzNCwgCisgICAgNiwgMSwgMjE4LCAyMjQsIDIwNSwgOTMsIDM0LCA1LCAxLCAyMTgsIDIyNCwgMjA1LCA5MywgMzQsIDYsIDEsIDI0MywgNjksIAorICAgIDIsIDEwOSwgMzQsIDUsIDEsIDI0MywgNjksIDIsIDEwOSwgMzQsIDYsIDEsIDIyOSwgMjQ4LCAzNCwgNSwgMSwgMjI5LCAKKyAgICAyNDgsIDM0LCA2LCAxLCAyMTgsIDIxMiwgMzQsIDUsIDEsIDIxOCwgMjEyLCAzNCwgNiwgMSwgMjA2LCA5OCwgMzQsIDUsIDEsIAorICAgIDIwNiwgOTgsIDM0LCA2LCAxLCAyMjAsIDE5LCAzNCwgNSwgMSwgMjIwLCAxOSwgMzQsIDYsIDEsIDIwNywgNTEsIDM0LCA1LCAKKyAgICAxLCAyMDcsIDUxLCAzNCwgNiwgMSwgMjUyLCAxNjgsIDE3MiwgMzQsIDUsIDEsIDI1MiwgMTY4LCAxNzIsIDM0LCA2LCAxLCAKKyAgICAyNDMsIDY5LCAyLCAyMjYsIDI0NywgMTA5LCAzNCwgNSwgMSwgMjQzLCA2OSwgMiwgMjI2LCAyNDcsIDEwOSwgMzQsIDYsIDEsIAorICAgIDI0MywgNDIsIDIsIDIyNiwgMjQ3LCAxMDksIDM0LCA1LCAxLCAyNDMsIDQyLCAyLCAyMjYsIDI0NywgMTA5LCAzNCwgNiwgMSwgCisgICAgMjIxLCAxNzUsIDIsIDI0NSwgMjExLCAzNCwgNSwgMSwgMjIxLCAxNzUsIDIsIDI0NSwgMjExLCAzNCwgNiwgMSwgMjE1LCAKKyAgICAxODUsIDIsIDI0NSwgMjExLCAzNCwgNSwgMSwgMjE1LCAxODUsIDIsIDI0NSwgMjExLCAzNCwgNiwgMSwgMjQzLCA0MiwgMiwgCisgICAgNDcsIDEwOSwgMzQsIDUsIDEsIDI0MywgNDIsIDIsIDQ3LCAxMDksIDM0LCA2LCAxLCAyNDMsIDE3OCwgMzQsIDUsIDEsIAorICAgIDI0MywgMTc4LCAzNCwgNiwgMSwgMjQ2LCA1OCwgMzQsIDUsIDEsIDI0NiwgNTgsIDM0LCA2LCAxLCAyNDMsIDY5LCAyLCAKKyAgICAyNDUsIDIxMSwgMzQsIDUsIDEsIDI0MywgNjksIDIsIDI0NSwgMjExLCAxNjQsIDYsIDEsIDI1MSwgMTU2LCAxNjQsIDYsIDEsIAorICAgIDI1MCwgMjIsIDE2NCwgNiwgMSwgMjQwLCA0OSwgMTY0LCA2LCAxLCAyNDYsIDE0NSwgMTY0LCA2LCAxLCAyNDMsIDEwOCwgCisgICAgMTY0LCA2LCAxLCAyMDUsIDExNiwgMTY0LCA2LCAxLCAyNDMsIDkyLCAxNjQsIDYsIDEsIDI0MiwgMjAzLCAxNjQsIDYsIDEsIAorICAgIDEyNCwgMTY0LCA2LCAxLCAyMDUsIDcyLCAxNjQsIDYsIDEsIDIzMywgMzgsIDE2NCwgNiwgMSwgMjI5LCAxNzgsIDE2NCwgNiwgCisgICAgMSwgMjA2LCAxNzMsIDE2NCwgNiwgMSwgMjQ5LCAxLCAxNjQsIDYsIDEsIDIzMSwgMjAzLCAxNjQsIDYsIDEsIDIzOCwgMTQ5LCAKKyAgICAxNjQsIDYsIDEsIDIzMiwgMjAwLCAxNjQsIDYsIDEsIDI0MCwgOTYsIDE2NCwgNiwgMSwgMjQ4LCA3NSwgMTY0LCA2LCAxLCAKKyAgICAyMjcsIDgzLCAxNjQsIDYsIDEsIDIwNiwgMTEsIDE2NCwgNiwgMSwgMjI0LCAyOSwgMTY0LCA2LCAxLCAyMTYsIDIsIDE2NCwgCisgICAgNiwgMSwgMjA4LCAxNzMsIDE2NCwgNiwgMSwgMjQ4LCAxMTAsIDE2NCwgNiwgMSwgMjIxLCAxNTcsIDE2NCwgNiwgMSwgMjMyLCAKKyAgICAxNjUsIDE2NCwgNiwgMSwgMjE5LCAxMTMsIDE2NCwgNiwgMSwgMjE3LCA2NCwgMTY0LCA2LCAxLCAyMDgsIDIxOCwgMTY0LCAKKyAgICA2LCAxLCAyMTEsIDE1MSwgMTY0LCA2LCAxLCAyMTksIDE2LCAxNjQsIDYsIDEsIDI0NywgMTc0LCAxNjQsIDYsIDEsIDIwNSwgCisgICAgMjUyLCAxNjQsIDYsIDEsIDIyMCwgMjQ0LCAxNjQsIDYsIDEsIDIzMSwgMjE0LCAxNjQsIDYsIDEsIDIyMiwgMTk0LCAxNjQsIAorICAgIDYsIDEsIDI0MiwgMTUsIDE2NCwgNjUsIDEsIDQ3LCAxNjAsIDIxOCwgMTQ4LCAxNjQsIDI1MiwgNTMsIDE2NCwgMjQzLCA0NSwgCisgICAgODMsIDE2NCwgMjQyLCAxNjgsIDgzLCAxNjQsIDI0NywgMTU1LCAxNjQsIDIxOSwgMTk2LCA4MywgMTY0LCAyNTMsIDI5LCAKKyAgICA4MywgMTY0LCA1LCAxLCAyNTEsIDE1NiwgMTY0LCA1LCAxLCAyNTAsIDIyLCAxNjQsIDUsIDEsIDI0MCwgNDksIDE2NCwgNSwgCisgICAgMSwgMjQ2LCAxNDUsIDE2NCwgNSwgMSwgMjQzLCAxMDgsIDE2NCwgNSwgMSwgMjA1LCAxMTYsIDE2NCwgNSwgMSwgMjQzLCAKKyAgICA5MiwgMTY0LCA1LCAxLCAyNDIsIDIwMywgMTY0LCA1LCAxLCAxMjQsIDE2NCwgNSwgMSwgMjA1LCA3MiwgMTY0LCA1LCAxLCAKKyAgICAyMzMsIDM4LCAxNjQsIDUsIDEsIDIyOSwgMTc4LCAxNjQsIDUsIDEsIDIwNiwgMTczLCAxNjQsIDUsIDEsIDI0OSwgMSwgCisgICAgMTY0LCA1LCAxLCAyMzEsIDIwMywgMTY0LCA1LCAxLCAyMzgsIDE0OSwgMTY0LCA1LCAxLCAyMzIsIDIwMCwgMTY0LCA1LCAxLCAKKyAgICAyNDAsIDk2LCAxNjQsIDUsIDEsIDI0OCwgNzUsIDE2NCwgNSwgMSwgMjI3LCA4MywgMTY0LCA1LCAxLCAyMDYsIDExLCAxNjQsIAorICAgIDUsIDEsIDIyNCwgMjksIDE2NCwgNSwgMSwgMjE2LCAyLCAxNjQsIDUsIDEsIDIwOCwgMTczLCAxNjQsIDUsIDEsIDI0OCwgCisgICAgMTEwLCAxNjQsIDUsIDEsIDIyMSwgMTU3LCAxNjQsIDUsIDEsIDIzMiwgMTY1LCAxNjQsIDUsIDEsIDIxOSwgMTEzLCAxNjQsIAorICAgIDUsIDEsIDIxNywgNjQsIDE2NCwgNSwgMSwgMjA4LCAyMTgsIDE2NCwgNSwgMSwgMjExLCAxNTEsIDE2NCwgNSwgMSwgMjE5LCAKKyAgICAxNiwgMTY0LCA1LCAxLCAyNDcsIDE3NCwgMTY0LCA1LCAxLCAyMDUsIDI1MiwgMTY0LCA1LCAxLCAyMjAsIDI0NCwgMTY0LCAKKyAgICA1LCAxLCAyMzEsIDIxNCwgMTY0LCA1LCAxLCAyMjIsIDE5NCwgMTY0LCA1LCAxLCAyNDIsIDE1LCAxNjQsIDUsIDI4LCAyNDMsIAorICAgIDEwOSwgMjA1LCAyNTIsIDE2NCwgMjQxLCA4MiwgMjEzLCAyNTEsIDE2NCwgMjM3LCAyMzksIDIxOCwgMTY2LCAxNjQsIDI0MiwgCisgICAgMTk5LCA1MywgMjMwLCA0NSwgMTY0LCAyNDIsIDE5OSwgNTMsIDE2NCwgMjQzLCAyNTQsIDUzLCAxMDMsIDI1MywgMjIsIAorICAgIDI0MiwgMTk0LCAxMDMsIDI1MywgMjIsIDIxNywgNjUsIDEwMywgMjUzLCAyMiwgMjE1LCAyNDAsIDEwMywgMjUzLCAyMiwgCisgICAgMjA1LCAxMDQsIDIyMCwgMiwgMTAzLCAyNTMsIDIyLCAyMDUsIDEwNCwgMjQwLCAyMzQsIDEwMywgMjUzLCAyMiwgMjExLCAKKyAgICAxNjUsIDEwMywgMjUzLCAyMiwgMjE4LCAyMjEsIDEwMywgMjUzLCAyMiwgMjA1LCAxMDIsIDEwMywgMjUzLCAyMiwgMjIxLCAKKyAgICAyMDEsIDEwMywgMjUzLCAyMiwgMjA2LCAyMywgMTAzLCAyNTMsIDIyLCAyMTIsIDYzLCAxMDMsIDI1MywgMjIsIDI0MCwgCisgICAgMTQ3LCAxMDMsIDI1MywgMjIsIDI0MCwgMTQ4LCAyMjYsIDc4LCAxMDMsIDI1MywgMjIsIDI0MCwgMTQ1LCAxMDMsIDI1MywgCisgICAgMjIsIDIyMCwgMywgMjIxLCAyMzAsIDEwMywgMjUzLCAyMiwgMjEyLCAxMDQsIDI0MCwgMTYzLCAxMDMsIDI1MywgMjIsIAorICAgIDIyMSwgMTgwLCAxMDMsIDI1MywgMjIsIDI1MSwgMTkzLCAyMzksIDEzNiwgMTAzLCAyNTMsIDIyLCAyMjYsIDg4LCAxMDMsIAorICAgIDI1MywgMjIsIDIyNywgMjQ0LCAxMDMsIDI1MywgMjIsIDIyNywgNzMsIDEwMywgMjUzLCAyMiwgMjI3LCA3NCwgMjMxLCAKKyAgICAyMTUsIDEwMywgMjUzLCAyMiwgMjQ2LCA4NSwgMTAzLCAyNTMsIDIyLCAyMjAsIDE0LCAxMDMsIDI1MywgMjIsIDIxMiwgCisgICAgMTA0LCAyMTksIDI1MywgMTAzLCAyNTMsIDIyLCAyMDYsIDMzLCAyNTAsIDIzLCAyMDUsIDIzMywgMTAzLCAyNTMsIDIyLCAKKyAgICAyMjIsIDE3NywgMTAzLCAyNTMsIDIyLCAyMzMsIDg4LCAxMDMsIDI1MywgMjIsIDI0NSwgMjQzLCAxMDMsIDI1MywgMjIsIAorICAgIDIwNSwgMjksIDEwMywgMTQxLCAyMjcsIDE3NCwgMjQ3LCAyMzMsIDEwMywgMjIwLCAyMDUsIDIxNSwgMTg3LCAxMDMsIDIyMCwgCisgICAgMjA1LCAyMzksIDg1LCAyMTcsIDY1LCAxMDMsIDIyMCwgMjA1LCAyMzksIDg1LCAyMjEsIDE5NCwgMTAzLCAyMjAsIDIwNSwgCisgICAgMjM5LCA4NSwgMjIwLCA3LCAxMDMsIDIyMCwgMjA1LCAyMzgsIDI0NCwgMTAzLCAyMjAsIDIwNSwgMjEwLCAyMzQsIDEwMywgCisgICAgMjIwLCAyMDUsIDIxNywgNjUsIDEwMywgMjIwLCAyMDUsIDIyMSwgMTk0LCAxMDMsIDIyMCwgMjA1LCAyMjAsIDcsIDEwMywgCisgICAgMjIwLCAyMDUsIDIzOCwgMTQyLCAxMDMsIDIyMCwgMjA1LCAyMzgsIDE0MywgMjM5LCA4NywgMzMsIDIwOSwgNDMsIDEwMywgCisgICAgMjIwLCAyMDUsIDIxOSwgMjAwLCAxMDMsIDIyMCwgMjA1LCAyNDYsIDEzMSwgMjIyLCAxMjMsIDIyNywgMjA0LCAxMDMsIAorICAgIDIyMCwgMjA1LCAyMjcsIDYyLCAxMDMsIDIyMCwgNzIsIDIyNywgMjAxLCAxMDMsIDIyMCwgMjA1LCAyMTksIDkzLCAxMDMsIAorICAgIDIyMCwgNzIsIDIyMSwgMjAzLCAxMDMsIDIyMCwgMjA1LCAyMTUsIDE3MiwgMjQ1LCAyMywgMTAzLCAyMjAsIDIwNSwgMjE1LCAKKyAgICA0NSwgMjQ1LCAyMywgMTAzLCAyMjAsIDcyLCAyMTQsIDE4OCwgMjIxLCAxOTYsIDEwMywgMTQxLCAyMDksIDIwMywgMjQ1LCAKKyAgICAyMywgMTAzLCAxNDEsIDIyOSwgOTIsIDI0NSwgMjMsIDEwMywgMjIwLCA3MiwgMjIzLCAxNzQsIDIzOSwgMTM1LCAxMDMsIAorICAgIDIyMCwgMjA1LCAyMjAsIDgsIDIyMCwgMiwgMTAzLCAxLCAyNTIsIDE3MiwgMTAzLCAxLCAyNTAsIDEwLCAxMDMsIDEsIDI0MCwgCisgICAgNDcsIDEwMywgMSwgMjQ2LCAxMTEsIDEwMywgMSwgMjM5LCA3MSwgMTAzLCAxLCAyMDksIDQzLCAxMDMsIDEsIDIwNSwgOTYsIAorICAgIDEwMywgMSwgMjM5LCAyOSwgMTAzLCAxLCAyMTIsIDgwLCAxMDMsIDEsIDIwNSwgMjM2LCAxMDMsIDEsIDQyLCAyMzIsIDQ1LCAKKyAgICAxMDMsIDEsIDIzMiwgNDUsIDEwMywgMSwgMjMwLCA5OCwgMTAzLCAxLCA0MiwgMjI3LCA5MCwgMTAzLCAxLCAyMjcsIDkwLCAKKyAgICAxMDMsIDEsIDQyLCAyMjMsIDE3MywgMTAzLCAxLCAyMjMsIDE3MywgMTAzLCAxLCAyMTcsIDE1NywgMTAzLCAxLCAyNTEsIAorICAgIDE1NCwgMTAzLCAxLCA0MiwgMjIxLCAxNzQsIDEwMywgMSwgMjIxLCAxNzQsIDEwMywgMSwgNDIsIDIxMCwgMjM4LCAxMDMsIAorICAgIDEsIDIxMCwgMjM4LCAxMDMsIDEsIDIxOSwgMjIzLCAxMDMsIDEsIDIxOCwgMjQyLCAxMDMsIDEsIDIxNSwgMTcxLCAxMDMsIAorICAgIDEsIDIxMiwgMTQ3LCAxMDMsIDI4LCAyMDYsIDksIDUwLCAyMDksIDQzLCAxMDMsIDI4LCAyMDYsIDksIDIwOSwgNDQsIDIwNSwgCisgICAgMjM2LCAxMDMsIDI4LCAyMDYsIDksIDUwLCAyMDUsIDIzNiwgMTAzLCAyMjAsIDcyLCAyNDAsIDE0NywgMTAzLCAyMjAsIDcyLCAKKyAgICAyNDAsIDE0NSwgOCwgNDMsIDUzLCA4LCAzLCAyMTcsIDE1MCwgOCwgMjQxLCAxNDYsIDIyNywgMTg3LCA4LCAzLCAyMTcsIAorICAgIDE4NywgOCwgMywgMjE3LCAxNTMsIDgsIDQzLCAxNDEsIDUyLCAyNTIsIDMzLCAyNDcsIDM2LCAyMTgsIDEwMywgMjUyLCAzMywgCisgICAgMjQxLCAxMTgsIDIxOCwgMTAzLCA4LCAyMTksIDU4LCAyNTIsIDMzLCAyMjEsIDEzMiwgMjI2LCAyMTUsIDUzLCAyNTIsIDMzLCAKKyAgICAyMjEsIDEzMiwgMjEyLCA5OSwgMjExLCAyNDMsIDUzLCAyNTIsIDIyNSwgNTMsIDgsIDI0NywgMTU1LCA4LCAyNDYsIDcyLCAKKyAgICAyMTYsIDM5LCA4LCAyMjAsIDIwNywgMjA5LCAyNCwgNTMsIDgsIDMsIDIyNiwgMTk0LCA4LCAzLCAyMTcsIDE2NywgMjUyLCAKKyAgICAxNzUsIDIwNywgNzUsIDgsIDMsIDI1MiwgMTc1LCAyNTEsIDIxNCwgOCwgMywgMjE5LCA5MSwgMjUyLCAxNzQsIDgsIDMsIAorICAgIDIxOSwgOTksIDI1MiwgMTU0LCAyNTIsIDEwMywgOCwgMywgMjEyLCAxODQsIDgsIDUsIDEyNywgMjEyLCAxOTQsIDgsIDUsIAorICAgIDEyNywgMjgsIDEyNiwgMiwgMjMwLCAxMDcsIDIsIDIwNiwgNDcsIDgsIDUsIDEyNywgMjA1LCAxMDgsIDgsIDUsIDI0MiwgCisgICAgMzksIDgsIDUsIDI0NiwgMTA2LCA4LCA1LCAyMzEsIDI1MiwgOCwgMjE2LCA1MiwgOCwgMSwgODMsIDgsIDIxMSwgMzYsIDY3LCAKKyAgICAyMjAsIDcyLCA4MywgOCwgMjE5LCAxOTYsIDgzLCA4LCAxLCAyMzIsIDAsIDIwNiwgNDcsIDgsIDEsIDIzOSwgMTExLCA4LCAKKyAgICAxLCAxMjYsIDIsIDIyOCwgOSwgNTIsIDgsIDEsIDEyNiwgMiwgMjM5LCAxMTIsIDUyLCA4LCAxLCAyMDcsIDYwLCAyLCAyMzksIAorICAgIDExMiwgNTIsIDgsIDEsIDEyNiwgMiwgMjM5LCAxMTIsIDU1LCA4LCAxLCA4NywgMiwgMjM5LCAxMTIsIDUyLCA4LCAxLCAKKyAgICAyNTIsIDE3MiwgOCwgMSwgMjUwLCAzOCwgOCwgMSwgMjEyLCAxMTYsIDIyNywgMTk3LCA4LCAxLCAyMTIsIDExNSwgOCwgMSwgCisgICAgMjEyLCAzNywgOCwgMSwgMjMyLCAxNzksIDgsIDEsIDIzOSwgMTMyLCA4LCAxLCAyMzEsIDE2MywgOCwgMSwgMjQ2LCAxMTcsIAorICAgIDgsIDEsIDIxMiwgNDksIDgsIDEsIDIxOSwgMTYsIDgsIDEsIDIwNSwgMTA4LCA4LCAxLCAyMTcsIDcwLCA4LCAxLCAyMTUsIAorICAgIDIxMCwgOCwgMSwgMjE3LCAxOTEsIDgsIDEsIDI0NiwgMTQwLCA4LCAxLCAyMTIsIDE5NCwgOCwgMSwgMjA1LCAxMTEsIDgsIAorICAgIDEsIDI1MiwgMjAwLCA4LCAxLCAyNDAsIDk0LCA4LCAxLCAyMzEsIDIxMywgMiwgMTE4LCAxNzcsIDUyLCA4LCAxLCAyMzEsIAorICAgIDIxMywgMiwgMTI5LCAxNzcsIDU1LCA4LCAxLCAyNDIsIDQyLCA4NywgMiwgMjMzLCAyLCAyMDksIDE0OCwgOCwgMSwgMjQyLCAKKyAgICA0MiwgODcsIDIsIDExOCwgMTc3LCA1MiwgOCwgMSwgMjQyLCA0MiwgODcsIDIsIDEyOSwgMTc3LCA1MiwgOCwgMjEyLCAxNTMsIAorICAgIDgsIDEsIDI0MiwgMTUsIDgsIDEsIDIyMCwgMTIsIDgsIDEsIDIzMiwgNDUsIDgsIDEsIDIzMCwgMTA2LCA4LCAxLCAyMjcsIAorICAgIDEwNCwgOCwgMSwgMjI0LCA1NCwgOCwgMSwgMjM5LCA1MCwgOCwgMSwgMjA3LCA1OSwgOCwgMSwgMTI2LCAyMjcsIDIyOCwgOCwgCisgICAgMSwgMjA2LCA0NywgOCwgMjQyLCAzNywgOCwgMjQ2LCAxMDQsIDgsIDIzMSwgMjUwLCA4LCAyNDIsIDM5LCA4LCAyNDYsIAorICAgIDEwNiwgOCwgMjMxLCAyNTIsIDgsIDIxNSwgMjQ5LCA4LCAyMTMsIDE2MiwgOCwgMjI4LCA3LCA1MiwgOCwgMjM5LCAxMTIsIAorICAgIDUyLCA4LCAyMzksIDExMiwgNTUsIDgsIDIxMywgMTgzLCAyNTIsIDE3MiwgOCwgMjMzLCAyLCAyNDYsIDEwNiwgOCwgMTQxLCAKKyAgICAyMjQsIDU1LCAyNDAsIDY1LCA4LCAyMDQsIDI1MSwgOCwgMjIsIDMsIDUsIDIwOSwgMTQ5LCA1MiwgOCwgMjIsIDMsIDIzMywgCisgICAgMiwgNSwgMjA5LCAxNDksIDUyLCA4LCAyMiwgMywgNjcsIDU1LCA4LCAyMTgsIDIyNCwgMjQ2LCAxMDYsIDgsIDI0MiwgNDAsIAorICAgIDIsIDExOCwgMjQ1LCAyMSwgOCwgMjA3LCA2MSwgMjM5LCAxMTIsIDU1LCAyNTIsIDMzLCAxOCwgMjA1LCA4NSwgMjUyLCAzMywgCisgICAgMTgsIDEwMiwgMjUyLCAzMywgMTgsIDEwNSwgMjUyLCAzMywgMTgsIDE0MiwgMjUyLCAzMywgMTgsIDEzOSwgMjUyLCAzMywgCisgICAgMTgsIDE2OCwgMjUyLCAzMywgMTgsIDE4NCwgMjUyLCAzMywgMTgsIDE5NSwgMjUyLCAzMywgMTgsIDE5MywgMjUyLCAzMywgCisgICAgMTgsIDIwMCwgOCwgMjIxLCAxMzEsIDUzLCA4LCAyNDYsIDIsIDIxNiwgMzksIDgsIDIxMSwgMjQxLCAyMTYsIDM5LCA4LCAKKyAgICAyNDEsIDIwNCwgMjIwLCAyMDMsIDIxNCwgMjYsIDgsIDEsIDI0NSwgMjIsIDI1MCwgMzgsIDgsIDEsIDI0NSwgMjIsIDIyMCwgCisgICAgMTIsIDgsIDEsIDIxMywgMTM5LCAyNTIsIDE3MiwgOCwgMSwgMTI2LCAyMDcsIDc2LCA4LCAxLCAxMjYsIDIsIDIwNywgNjEsIAorICAgIDIzOSwgMTEyLCA1MiwgOCwgMSwgMTI2LCAyLCAyMDcsIDYxLCAyMzksIDExMiwgNTUsIDgsIDEsIDEyNywgMjM5LCAxMTEsIAorICAgIDgsIDEsIDEyNywgMjM5LCAxMTIsIDI1MiwgMTcyLCA4LCAxLCAxMjcsIDIzOSwgMTEyLCAyMDcsIDU5LCA4LCAxLCAxMDYsIAorICAgIDIsIDIzOSwgMTEyLCA1MiwgOCwgMSwgMTI3LCAyMzksIDExMiwgMjA2LCA0NywgOCwgMSwgMjEwLCAyMDAsIDgsIDEsIDIxMCwgCisgICAgMTk4LCA4LCAxLCAyNTAsIDQ4LCA4LCAxLCAyMTIsIDExNiwgMiwgMjE4LCAxNDgsIDgsIDEsIDIxMiwgMTE2LCAyLCAxMjksIAorICAgIDE3NywgODQsIDI0NCwgNiwgOCwgMSwgMjIxLCAxNTcsIDgsIDEsIDIxMiwgMTEzLCA4LCAxLCAyNTAsIDM2LCA4LCAxLCAKKyAgICAxNDAsIDIsIDIzOSwgMTEyLCA1MiwgOCwgMSwgMTQwLCAyLCAxMTgsIDE3NywgNzksIDUyLCA4LCAxLCAyMjMsIDEzMSwgOCwgCisgICAgMSwgMjQzLCAyMDEsIDgsIDEsIDE0MCwgMiwgMTI5LCAxNzcsIDUyLCA4LCAxLCAyMTIsIDEzNSwgOCwgMSwgMjEyLCAxMzMsIAorICAgIDgsIDEsIDI0NiwgNDksIDgsIDEsIDI0NiwgMTE4LCAyLCAyMTgsIDE0OCwgOCwgMSwgMjQ2LCAxMTgsIDIsIDY3LCA1NSwgOCwgCisgICAgMSwgMjQ2LCAxMTgsIDIsIDY3LCAyNTAsIDI2LCAyMywgNSwgMjEyLCAxOTQsIDgsIDEsIDI0NiwgMTI0LCA4LCAxLCAyNDYsIAorICAgIDUxLCA4LCAxLCAyNDMsIDIyOSwgOCwgMSwgMjQ2LCAxMTgsIDIsIDEyOSwgMTc3LCA4NCwgMjQ0LCA2LCA4LCAxLCAyNDYsIAorICAgIDExOCwgMiwgMjQxLCAxMjUsIDE3NywgNTIsIDgsIDEsIDIxOCwgODEsIDgsIDEsIDIxOSwgMTcsIDIsIDUsIDIwOSwgMTQ4LCAKKyAgICA4LCAxLCAyMTksIDE3LCAyLCAyMTgsIDE0OCwgOCwgMSwgMjE5LCAxNywgMiwgNjcsIDU1LCA4LCAxLCAyMTksIDE3LCAyLCAKKyAgICA1LCAyMDksIDE0OSwgNTUsIDgsIDEsIDIxOSwgMTcsIDIsIDY3LCAyNTAsIDI2LCAyMywgNjcsIDUyLCA4LCAxLCAyMTksIAorICAgIDE3LCAyLCAxMTgsIDE3NywgNTIsIDgsIDEsIDIzMiwgMTc2LCA4LCAxLCAyMTksIDE3LCAyLCAyNDEsIDEyNSwgMTc3LCA1MiwgCisgICAgOCwgMSwgMjE3LCA3MSwgMiwgNjcsIDI1MCwgMjYsIDIzLCA2NywgNTIsIDgsIDEsIDIxNywgNzEsIDIsIDEyOSwgMTc3LCAKKyAgICA1NSwgOCwgMSwgMjE3LCA3MSwgMiwgMTI5LCAxNzcsIDI1MCwgMjYsIDIzLCAxMjksIDE3NywgNTIsIDgsIDEsIDIxNywgCisgICAgMTkyLCAyLCAxMTgsIDE3NywgNTUsIDgsIDEsIDIxNywgMTkyLCAyLCAxMjksIDE3NywgNTIsIDgsIDEsIDIxMiwgMTk1LCAyLCAKKyAgICAxMjksIDE3NywgNTIsIDgsIDEsIDI1MiwgMjAxLCAyLCAxMjksIDE3NywgNTIsIDgsIDEsIDI0NSwgMjIsIDI0MiwgMTUsIDgsIAorICAgIDEsIDI0MiwgMTYsIDIsIDY3LCAyMjYsIDEyMiwgNTUsIDgsIDEsIDI0MiwgMTYsIDIsIDY3LCA1NSwgOCwgMSwgMjA5LCAzMiwgCisgICAgOCwgMSwgMjQyLCAxNiwgMiwgMTI5LCAxNzcsIDU1LCA4LCAxLCAyMjEsIDE1NSwgOCwgMSwgMjIwLCAxMywgMiwgNjcsIDUyLCAKKyAgICA4LCAxLCAyMjAsIDEzLCAyLCAxMjksIDE3NywgNTIsIDgsIDEsIDIzMSwgMjEyLCA4LCAxLCAyMTMsIDEwOSwgMjMyLCA0NSwgCisgICAgOCwgMSwgMjMyLCA0NiwgMiwgMjE4LCAxNDgsIDgsIDEsIDIzMiwgNDYsIDIsIDY3LCA1MiwgOCwgMSwgMjI1LCA3OSwgOCwgCisgICAgMSwgMjMyLCA0NiwgMiwgMTI5LCAxNzcsIDU1LCA4LCAxLCAyNDAsIDIzMSwgOCwgMSwgMjQwLCAyMzIsIDIsIDIxOCwgMTQ4LCAKKyAgICA4LCAxLCAyMjUsIDAsIDgsIDEsIDI0MCwgMjMyLCAyLCAxMTgsIDE3NywgNTUsIDgsIDEsIDIzOSwgMjAwLCA4LCAxLCAyNDAsIAorICAgIDIzMiwgMiwgMTI5LCAxNzcsIDUyLCA4LCAxLCAyMzAsIDEwNywgMiwgNSwgMjA5LCAxNDgsIDgsIDEsIDIzMCwgMTA3LCAyLCAKKyAgICA2NywgNTIsIDgsIDEsIDIzMCwgMTA3LCAyLCAxMjksIDE3NywgNTIsIDgsIDEsIDIzMCwgMTA3LCAyLCAxMjksIDE3NywgNTUsIAorICAgIDgsIDEsIDIyNCwgNTUsIDIsIDY3LCA1NSwgOCwgMSwgMjI0LCA1NSwgMjQwLCA2NSwgOCwgMSwgMjE4LCAxMjcsIDgsIDEsIAorICAgIDIyNCwgNTUsIDIsIDIxOCwgMTQ4LCA4LCAxLCAyMjQsIDU1LCAyLCAxMjksIDE3NywgNTIsIDgsIDEsIDIzOSwgNTEsIDI0NSwgCisgICAgNDcsIDgsIDEsIDIxMiwgMTM2LCAyLCA2NywgNTIsIDgsIDEsIDIzOSwgNTEsIDIsIDg3LCA1MiwgOCwgMSwgMjM5LCA1MSwgCisgICAgMjQwLCAxNiwgOCwgMSwgMjM5LCA1MSwgMjQwLCAxNywgMiwgMjM5LCAxMTIsIDUyLCA4LCAxLCAyMTIsIDExNiwgMjI3LCAKKyAgICAxOTgsIDI0MCwgMTYsIDgsIDEsIDIwNywgNjAsIDIsIDIxOCwgMTQ4LCA4LCAxLCAyMzEsIDEwMSwgMjIyLCAyMDYsIDgsIDEsIAorICAgIDIyMiwgMjA2LCA4LCAxLCA3MSwgOCwgMSwgMjA1LCAyMTMsIDgsIDEsIDIzMSwgMTAxLCAyMDUsIDIxMywgOCwgMSwgMjA3LCAKKyAgICA2MCwgMiwgMTE4LCAxNzcsIDUyLCA4LCAxLCAyMDksIDM5LCA4LCAxLCAyNDIsIDQyLCAyMDYsIDQ3LCA4LCAxLCA4NywgMiwgCisgICAgMjEyLCAxOTEsIDgsIDEsIDg3LCAyLCA1LCAyMDksIDE0OCwgOCwgMSwgMjA3LCA2MCwgMiwgNjcsIDUyLCA4LCAxLCA3NSwgCisgICAgOCwgMSwgODcsIDIsIDEyOSwgMTc3LCA1NSwgOCwgMSwgODcsIDI1MCwgMTIxLCA4LCAxLCA4NywgMjUwLCAxMjIsIDIsIAorICAgIDIzOSwgMTEyLCA1MiwgOCwgMjQxLCA4MiwgMjEzLCAyNTEsIDgsIDEsIDI1MiwgMjQ4LCA4LCA1LCAxMjcsIDI4LCAyMTcsIAorICAgIDE5MiwgMiwgMjMwLCAxMDcsIDIsIDEyNiwgMjI3LCAyMjgsIDgsIDUsIDEyNywgMjgsIDIyMCwgMTMsIDIsIDIzMCwgMTA3LCAKKyAgICAyLCAxMjYsIDIyNywgMjI4LCA4LCA1LCAxMjcsIDgwLCA3OCwgMTcsIDgsIDUsIDEyNywgMjMwLCAxMDcsIDI1MiwgMTcyLCAKKyAgICA4LCA1LCAxMjcsIDIzMiwgMTc5LCA4LCA1LCAxMjcsIDEyOSwgMjQ1LCAyMSwgOCwgNSwgMTI3LCAyMTcsIDcwLCA4LCAyNDMsIAorICAgIDM0LCA3MywgMjUxLCAxNTgsIDgsIDIxNCwgMjIsIDczLCAyMTgsIDQ4LCAyNDMsIDY5LCAyMzgsIDI0MCwgOCwgNSwgMTI3LCAKKyAgICAyMTgsIDkzLCAyMDUsIDg1LCA4LCA1LCAxMjcsIDIwOSwgMjAyLCAyMTksIDM2LCAyMDUsIDg1LCA4LCA1LCAxMjcsIDI0NSwgCisgICAgMjIsIDIzOSwgNjksIDczLCAyMzEsIDE2MywgOCwgNSwgMTI3LCA4MCwgNjEsIDE3LCA4LCA1LCAxMTQsIDIxNywgNzAsIDgsIAorICAgIDUsIDEyNywgMjI4LCA4LCA4LCA1LCAyMDcsIDU5LCA4LCA1LCAyMDYsIDQ3LCA4LCA1LCAxMjcsIDIwNiwgNDcsIDgsIDUsIAorICAgIDEyNywgMjI0LCA1NCwgOCwgMjIwLCAyMzksIDczLCAyMTcsIDE3NywgOCwgMjQzLCA0MywgMjQ4LCAxMjksIDExNCwgMjEzLCAKKyAgICAyNTEsIDgsIDI0MywgNDMsIDI0OCwgMTI5LCAxMjcsIDIxMywgMjUxLCA4LCAyMTgsIDkzLCAxMjcsIDIxMywgMjUyLCAyLCAKKyAgICAyNDEsIDIzMywgMjQ4LCAxMjgsIDgsIDUsIDExNCwgMjI3LCAxMDQsIDgsIDEsIDI0NiwgMTE4LCAyLCAyMzMsIDIsIDIwOSwgCisgICAgMTQ4LCA4LCAxLCAyMTksIDE3LCAyLCAyMzMsIDIsIDIwOSwgMTQ4LCAyNDIsIDE1OSwgMjUyLCAzMywgMTgsIDIwNSwgODUsIAorICAgIDI0MiwgMTU5LCAyNTIsIDMzLCAxOCwgMTAyLCAyNDIsIDE1OSwgMjUyLCAzMywgMTgsIDEwNSwgMjQyLCAxNTksIDI1MiwgCisgICAgMzMsIDE4LCAxNDIsIDI0MiwgMTU5LCAyNTIsIDMzLCAxOCwgMTM5LCAyNDIsIDE1OSwgMjUyLCAzMywgMTgsIDE2OCwgMjQyLCAKKyAgICAxNTksIDI1MiwgMzMsIDE4LCAxODQsIDI0MiwgMTU5LCAyNTIsIDMzLCAxOCwgMTk1LCAyNDIsIDE1OSwgMjUyLCAzMywgMTgsIAorICAgIDE5MywgMjQyLCAxNTksIDI1MiwgMzMsIDE4LCAyMDAsIDgsIDEsIDIxNSwgMjExLCAyLCA2NywgNTUsIDgsIDEsIDI0NiwgCisgICAgMTQxLCAyLCA2NywgNTUsIDgsIDEsIDI0MCwgOTUsIDIsIDY3LCA1NSwgOCwgMywgMjE1LCA0NCwgMjUyLCAxMjUsIDgsIDMsIAorICAgIDIxNSwgNDQsIDIyMCwgMTcyLCAyMjcsIDgzLCA4LCAxLCAyMzksIDUxLCAyLCAyMzMsIDIsIDIwOSwgMTQ4LCAyMTMsIDMwLCAKKyAgICAyNDMsIDM0LCA3MywgMjIxLCAyMjgsIDIxMywgMzAsIDIxMywgMTM1LCAyNDEsIDgyLCAyMTMsIDI1MSwgMjEzLCAzMCwgCisgICAgMjEzLCAxODUsIDI0MSwgODIsIDIxMywgMjUxLCAyMTMsIDMwLCAyMTMsIDEzNSwgMjQ3LCAxNjIsIDIxMywgMzAsIDIxMywgCisgICAgMTg1LCAyNDcsIDE2MiwgMjEzLCAzMCwgMTk0LCAyNDcsIDE2MiwgMjEzLCAzMCwgMjQ3LCAxNjMsIDIxNCwgMjQ2LCAyMzAsIAorICAgIDQ2LCAyMTMsIDMwLCAyNDcsIDE2MywgMjE0LCAyNDYsIDIxOCwgMTY3LCAyMTMsIDMwLCAyMTMsIDEzNSwgMjQ3LCAxNjMsIAorICAgIDIxNCwgMjQ2LCAyMzAsIDQ2LCAyMTMsIDMwLCAyMTMsIDE4NSwgMjQ3LCAxNjMsIDIxNCwgMjQ2LCAyMTgsIDE2NywgMjEzLCAKKyAgICAzMCwgMjQ3LCAxMTEsIDIxMywgMzAsIDIzOSwgOTIsIDIyMiwgMjI0LCAyMTMsIDMwLCAyMzksIDkyLCAyMjcsIDYwLCAyMTMsIAorICAgIDMwLCAyMzksIDkyLCAyNTEsIDIxMSwgMjEzLCAzMCwgMjUzLCAyOSwgODMsIDIxMywgMzAsIDEsIDI1MiwgMTc3LCAyMTMsIAorICAgIDMwLCAxLCAyMTMsIDEzOSwgMjUyLCAxNzcsIDIxMywgMzAsIDEsIDI1MCwgNywgMjEzLCAzMCwgMSwgMjQwLCAyMjEsIDIxMywgCisgICAgMzAsIDEsIDI0MCwgMjIyLCAyNDAsIDE5OSwgMjEzLCAzMCwgMSwgMjQ2LCAxMTQsIDIxMywgMzAsIDEsIDI0NSwgMjIsIAorICAgIDI0NiwgMTE1LCAyMTgsIDE0MywgMjEzLCAzMCwgMSwgMjM5LCA3MSwgMjEzLCAzMCwgMSwgMjA3LCA1OSwgMjEzLCAzMCwgMSwgCisgICAgMjA1LCAxMDgsIDIxMywgMzAsIDEsIDIzOSwgMjcsIDIxMywgMzAsIDEsIDIxMiwgNzYsIDIxMywgMzAsIDEsIDIxMiwgNzcsIAorICAgIDI0MCwgMTk5LCAyMTMsIDMwLCAxLCAyMDUsIDIwMCwgMjEzLCAzMCwgMSwgMjA1LCAyMDEsIDIzOSwgNzEsIDIxMywgMzAsIAorICAgIDEsIDIzMiwgMTcsIDIxMywgMzAsIDEsIDIzMCwgMTA1LCAyMTMsIDMwLCAxLCAyMjYsIDIxMSwgMjEzLCAzMCwgMSwgMjIzLCAKKyAgICAxNzMsIDIxMywgMzAsIDEsIDIxNiwgNDUsIDIxMywgMzAsIDEsIDQyLCAyMTYsIDQ1LCAyMTMsIDMwLCAxLCA3NSwgMjEzLCAKKyAgICAzMCwgMSwgMjIxLCAxNzQsIDIxMywgMzAsIDEsIDIxOCwgMjI0LCAyMjEsIDE3NCwgMjEzLCAzMCwgMSwgMjE3LCAxODksIAorICAgIDIxMywgMzAsIDEsIDIyMCwgNiwgMjEzLCAzMCwgMSwgMjE4LCAxNDMsIDIxMywgMzAsIDEsIDIxNSwgMTcxLCAyMTMsIDMwLCAKKyAgICAxLCAyMTIsIDE0NSwgMjEzLCAzMCwgMSwgMjIxLCAxMTYsIDI0OSwgMjUwLCAyMTMsIDMwLCAxLCAyMjEsIDExNiwgMjQwLCAKKyAgICA5MiwgMjEzLCAzMCwgMSwgMjIxLCAxMTYsIDI0NSwgMTg3LCAyMTMsIDMwLCAyMjAsIDgzLCA1MiwgMjEzLCAzMCwgMjIwLCAKKyAgICA4MywgNTUsIDIxMywgMzAsIDIyMCwgODMsIDI0NCwgMjAsIDIxMywgMzAsIDIwNSwgMTMsIDUyLCAyMTMsIDMwLCAyMDUsIAorICAgIDEzLCA1NSwgMjEzLCAzMCwgMjA1LCAxMywgMjQ0LCAyMCwgMjEzLCAzMCwgMjE5LCA1NCwgNTIsIDIxMywgMzAsIDIxOSwgCisgICAgNTQsIDU1LCAyMTMsIDMwLCAyNDQsIDIxLCAyMDUsIDIwLCAyMzgsIDEyMSwgMjEzLCAzMCwgMjQ0LCAyMSwgMjA1LCAyMCwgCisgICAgMjUyLCAxMDQsIDIxMywgMzAsIDIzOSwgNzQsIDUyLCAyMTMsIDMwLCAyMzksIDc0LCA1NSwgMjEzLCAzMCwgMjM5LCA3MywgCisgICAgMjQ0LCAyMCwgMjEzLCAzMCwgMjQyLCAyMTksIDUyLCAyMTMsIDMwLCAyNDIsIDIxOSwgNTUsIDIxMywgMzAsIDIxOCwgMTYsIAorICAgIDIxMywgMzAsIDI0MiwgOSwgMjQ1LCAyMywgMjEzLCAzMCwgMjE5LCAxNzQsIDIxMywgMzAsIDIxOCwgNDMsIDIxMywgMzAsIAorICAgIDExOCwgNzksIDE3NywgNTIsIDIxMywgMzAsIDExOCwgNzksIDE3NywgNTUsIDIxMywgMzAsIDEyOSwgMTc3LCA1MiwgMjEzLCAKKyAgICAzMCwgMTI5LCAxNzcsIDU1LCAyMTMsIDMwLCAyMjIsIDIyMiwgMjI5LCAyMDYsIDUyLCAyMTMsIDMwLCAyMjIsIDIyMiwgCisgICAgMjI5LCAyMDYsIDU1LCAyMTMsIDMwLCAyMjYsIDY0LCAyMTMsIDMwLCAyNTAsIDEyMCwgMjEzLCAzMCwgMSwgMjE0LCAxODQsIAorICAgIDIwNSwgNzksIDIxMywgMzAsIDEsIDIxNCwgMTg0LCAyMzEsIDE1NiwgMjEzLCAzMCwgMSwgMjE0LCAxODQsIDI0MiwgMjgsIAorICAgIDgsIDEsIDI1MCwgMzksIDIsIDEyOSwgMTc3LCAyMzgsIDcxLCA1NSwgOCwgMSwgMjUwLCAzOSwgMiwgNjcsIDI1MCwgMjYsIAorICAgIDIzLCAxMjksIDE3NywgNTIsIDgsIDEsIDI1MCwgMzksIDIsIDEyOSwgMTc3LCAyMjAsIDIwMSwgMTY3LCA1NSwgOCwgMSwgCisgICAgMjUwLCAzOSwgMiwgMTI5LCAxNzcsIDIyMCwgMjAxLCAxNjcsIDI1MCwgMjYsIDIzLCAxMTgsIDE3NywgNTIsIDgsIDEsIAorICAgIDI1MCwgMzksIDIsIDExOCwgMTc3LCAyNTAsIDI2LCAyMywgNjcsIDUyLCA4LCAxLCAyNTAsIDM5LCAyLCAyMzMsIDIsIDUsIAorICAgIDIwOSwgMTQ5LCA1NSwgOCwgMSwgMjUwLCAzOSwgMiwgNSwgMjA5LCAxNDgsIDgsIDEsIDE0MCwgMiwgMTE4LCAxNzcsIDUyLCAKKyAgICA4LCAxLCAxNDAsIDIsIDEyOSwgMTc3LCAyMjAsIDIwMSwgMTY3LCA1NSwgOCwgMSwgMjQ2LCAxMTgsIDIsIDExOCwgMTc3LCAKKyAgICAyMDgsIDIyOCwgMjUwLCAyNiwgMjMsIDUsIDIxMiwgMTk0LCA4LCAxLCAyNDYsIDExOCwgMiwgMjMzLCAyLCA1LCAyMDksIAorICAgIDE0OSwgNTUsIDgsIDEsIDIxOSwgMTcsIDIsIDkxLCA4LCAxLCAyMTcsIDcxLCAyLCAyNDEsIDEyNSwgMTc3LCA1MiwgOCwgMSwgCisgICAgMjUyLCAyMDEsIDIsIDExOCwgMTc3LCA1MiwgOCwgMSwgMjUyLCAyMDEsIDIsIDEyOSwgMTc3LCAyMjAsIDIwMSwgMTczLCAKKyAgICA1MiwgOCwgMSwgMjUyLCAyMDEsIDIsIDExOCwgMTc3LCAyMDgsIDIyOCwgNTIsIDgsIDEsIDI0MiwgMTYsIDIsIDExOCwgCisgICAgMTc3LCA1NSwgOCwgMSwgMjQyLCAxNiwgMiwgMTI5LCAxNzcsIDIyMCwgMjAxLCAxNjcsIDU1LCA4LCAxLCAyMzEsIDIxMywgCisgICAgMiwgNjcsIDUyLCA4LCAxLCAyMzEsIDIxMywgMiwgMTI5LCAxNzcsIDUyLCA4LCAxLCAyMzEsIDIxMywgMiwgMTI5LCAxNzcsIAorICAgIDIyMCwgMjAxLCAxNjcsIDU1LCA4LCAxLCA4MCwgMiwgNjcsIDUyLCA4LCAxLCA4MCwgMiwgNjcsIDU1LCA4LCAxLCAyMjQsIAorICAgIDU1LCAyLCAxMTgsIDE3NywgNTUsIDgsIDEsIDIyNCwgNTUsIDIsIDUsIDIxMiwgMTk0LCA4LCAxLCAyMjQsIDU1LCAyLCA1LCAKKyAgICAyMDksIDE0OCwgOCwgMSwgMjMwLCAxMDcsIDIsIDEzNCwgOCwgMSwgMjE5LCAxNywgMiwgMTE4LCAxNzcsIDIwOCwgMjI4LCAKKyAgICA1MiwgOCwgMSwgMjE5LCAxNywgMiwgMjM5LCAxMTIsIDUyLCA4LCAxLCAyMTcsIDcxLCAyLCAxMTgsIDE3NywgMjA4LCAyMjgsIAorICAgIDUyLCA4LCAxLCAxNDAsIDIsIDUsIDgsIDEsIDIxMiwgMTk1LCA1NSwgOCwgMSwgMTQwLCAyLCA1LCA4LCAxLCAyMTIsIDE5NSwgCisgICAgMjMsIDExOCwgMjQ1LCAyMSwgOCwgMSwgMjE3LCA3MSwgMiwgNSwgOCwgMSwgMjEyLCAxOTUsIDIzLCAxMTgsIDI0NSwgMjEsIAorICAgIDgsIDEsIDIxOSwgMTcsIDIsIDUsIDgsIDEsIDIxMiwgMTk1LCAyMywgMTE4LCAyNDUsIDIxLCA4LCAxLCAxNDAsIDIsIDUsIAorICAgIDgsIDEsIDIxMiwgMTk1LCA1MiwgOCwgMSwgMTI2LCAyLCAyNDIsIDE1OSwgMjUyLCAzMywgMTgsIDExOCwgNTIsIDgsIDEsIAorICAgIDEyNiwgMiwgMjQyLCAxNTksIDI1MiwgMzMsIDE4LCAxMjksIDUyLCA4LCAxLCAyNDIsIDQyLCA4NywgMiwgMjQyLCAxNTksIAorICAgIDI1MiwgMzMsIDE4LCAxMTgsIDUyLCA4LCAxLCAyNDIsIDQyLCA4NywgMiwgMjQyLCAxNTksIDI1MiwgMzMsIDE4LCAxMjksIAorICAgIDUyLCA4LCAxLCAyNDIsIDQyLCA4NywgMiwgMjQyLCAxNTksIDI1MiwgMzMsIDE4LCAyNDEsIDEyNSwgNTUsIDgsIDEsIDIwNywgCisgICAgNjAsIDIsIDI0MiwgMTU5LCAyNTIsIDMzLCAxOCwgMTE4LCA1MiwgOCwgMSwgMjA3LCA2MCwgMiwgMjQyLCAxNTksIDI1MiwgCisgICAgMzMsIDE4LCAxMjksIDUyLCA4LCAxLCA4NywgMjUwLCAxMjIsIDIsIDI0MiwgMTU5LCAyNTIsIDMzLCAxOCwgMTE4LCA1MiwgCisgICAgOCwgMSwgODcsIDI1MCwgMTIyLCAyLCAyNDIsIDE1OSwgMjUyLCAzMywgMTgsIDEyOSwgNTIsIDgsIDEsIDE0MCwgMiwgMjQyLCAKKyAgICAxNTksIDI1MiwgMzMsIDE4LCAyNDEsIDEyNSwgNTUsIDgsIDEsIDIxNywgNzEsIDIsIDI0MiwgMTU5LCAyNTIsIDMzLCAxOCwgCisgICAgMjQxLCAxMjUsIDUyLCA4LCAxLCAyMTcsIDcxLCAyLCAyMzMsIDIsIDIwOSwgMTQ4LCA4LCAxLCAyMzIsIDQ2LCAyLCAxMTgsIAorICAgIDE3NywgNTIsIDIxMiwgNTMsIDEsIDIzOSwgMTQxLCAyMTIsIDUzLCAxLCAyMTUsIDIyMCwgMjEyLCA1MywgMSwgMjI0LCA1MywgCisgICAgMjEyLCA1MywgMSwgMjE5LCAxMDksIDIxMiwgNTMsIDEsIDI1MCwgMTgxLCAyMTIsIDUzLCAxLCAyMjksIDI0NSwgMjEyLCAKKyAgICA1MywgMSwgMjMyLCA2MCwgMjEyLCA1MywgMSwgMjUyLCAxNjEsIDIxMiwgNTMsIDEsIDIwOSwgNjgsIDIxMiwgNTMsIDEsIAorICAgIDIyNywgMTAzLCAyMTIsIDUzLCAxLCAyNDIsIDcxLCAyMTIsIDUzLCAxLCAyNDUsIDE5MCwgMjEyLCA1MywgMSwgMjEyLCA1NSwgCisgICAgMjEyLCA1MywgMSwgMjMwLCAxMzcsIDIxMiwgNTMsIDEsIDI0MCwgMjQwLCAyMTIsIDUzLCAxLCAyNDAsIDIyLCAyMTIsIDUzLCAKKyAgICAxLCAyMTcsIDY5LCAyMTIsIDUzLCAxLCAyNDYsIDcwLCAyMTIsIDUzLCAxLCAyMDUsIDk5LCAyMTIsIDUzLCAxLCAyMTIsIAorICAgIDE0NiwgMjEyLCA1MywgMSwgMjA2LCAxMDksIDIxMiwgNTMsIDEsIDIyMSwgMTg3LCAyMTIsIDUzLCAxLCAyMzIsIDE4NiwgCisgICAgMjEyLCA1MywgMSwgMjQ4LCA4NSwgMjEyLCA1MywgMSwgMjEwLCAyMDcsIDIxMiwgNTMsIDEsIDIzOSwgMTksIDIxMiwgNTMsIAorICAgIDEsIDIzMSwgMTY2LCAyMTIsIDUzLCAxLCAyMTIsIDU0LCAyMTIsIDUzLCAxLCAyMDUsIDExNSwgMjEyLCA1MywgMSwgMjE1LCAKKyAgICAyMDksIDIxMiwgNTMsIDEsIDIxNywgMTk1LCAyMTIsIDUzLCAxLCAyNDYsIDE0MywgMjEyLCA1MywgMSwgMTI0LCAyMTIsIAorICAgIDUzLCAxLCAyMDUsIDE5LCAyMTIsIDUzLCAxLCAyNTIsIDE5NywgMjEyLCA1MywgMSwgMjQwLCA5MywgMjEyLCA1MywgMSwgCisgICAgMjIwLCAxNiwgMjEyLCA1MywgMSwgMjA3LCA5NCwgMjEyLCA1MywgMjUzLCAzMSwgMjEyLCA1MywgMjUzLCAxMjksIDIxMiwgCisgICAgNTMsIDIzNywgMTg0LCAyMTIsIDUzLCAyNDMsIDEwMywgMjEyLCA1MywgMjEwLCAxMSwgMjEyLCA1MywgMjIyLCAxNTEsIAorICAgIDIxMiwgNTMsIDI0MywgMTExLCAyMTIsIDUzLCAyNDIsIDE1MSwgMjEyLCA1MywgMjIyLCAyMjEsIDIxMiwgNTMsIDIyMiwgCisgICAgMjI5LCAyMTIsIDUzLCAyMTMsIDE2MiwgMjEyLCA1MywgMSwgMjI1LCAyMzIsIDIyNCwgMTMxLCAxOCwgMjA1LCA4NSwgMjI0LCAKKyAgICAxMzEsIDE4LCAxMDIsIDIyNCwgMTMxLCAxOCwgMTA1LCAyMjQsIDEzMSwgMTgsIDE0MiwgMjI0LCAxMzEsIDE4LCAxMzksIAorICAgIDIyNCwgMTMxLCAxOCwgMTY4LCAyMjQsIDEzMSwgMTgsIDE4NCwgMjI0LCAxMzEsIDE4LCAxOTUsIDIyNCwgMTMxLCAxOCwgCisgICAgMTkzLCAyMjQsIDEzMSwgMTgsIDIwMCwgMjI0LCAxMzEsIDEsIDYyLCAyMjQsIDEzMSwgMSwgMjQzLCAxMDQsIDIyNCwgMTMxLCAKKyAgICAxLCA3NCwgMjI0LCAxMzEsIDEsIDc1LCAyMjQsIDEzMSwgMSwgNzEsIDIyNCwgMTMxLCAxLCAyMjIsIDE1MiwgMjI0LCAxMzEsIAorICAgIDEsIDc2LCAyMjQsIDEzMSwgMSwgMjQ2LCAxMzIsIDIyNCwgMTMxLCAxLCAyMjYsIDMzLCAyMjQsIDEzMSwgMSwgMjUwLCAKKyAgICAxODMsIDIyNCwgMTMxLCAxLCAxNzksIDIyNCwgMTMxLCAxLCAyMTIsIDIxOSwgMjI0LCAxMzEsIDEsIDIzMiwgMjAwLCAyMjQsIAorICAgIDEzMSwgMSwgMjQ4LCAxMTAsIDIyNCwgMTMxLCAxLCAyNDYsIDE0NSwgMjI0LCAxMzEsIDEsIDIxOSwgMTEzLCAyMjQsIDEzMSwgCisgICAgMSwgMjE4LCA4OSwgMjI0LCAxMzEsIDEsIDIxNywgMTk5LCAyMjQsIDEzMSwgMSwgMjQwLCAxODcsIDIyNCwgMTMxLCAxLCAKKyAgICAyNDIsIDczLCAyMjQsIDEzMSwgMSwgMTcyLCAyMjQsIDEzMSwgMSwgMjMwLCAxNDEsIDIyNCwgMTMxLCAxLCAyMjUsIDIzNywgCisgICAgMjA2LCAyNDYsIDIyNCwgMTMxLCAxLCAxODUsIDIyNCwgMTMxLCAxLCAyMjMsIDE0NCwgMjI0LCAxMzEsIDEsIDE5OSwgMjI0LCAKKyAgICAxMzEsIDEsIDE1NSwgMjI0LCAxMzEsIDEsIDIwNywgOTYsIDIyNCwgMTMxLCAxLCAxOTAsIDIyNCwgMTMxLCAxLCAyMjMsIAorICAgIDE0NSwgMjA2LCAyNDYsIDIyNCwgMTMxLCAxLCAyMzIsIDExNSwgMjMyLCAyMDAsIDIyNCwgMTMxLCAxLCAyMzIsIDExNSwgCisgICAgMjQ4LCAxMTAsIDIyNCwgMTMxLCAxLCAyMzIsIDExNSwgMjE5LCAxMTMsIDIyNCwgMTMxLCAzNiwgMjE1LCAxNDQsIDEyNywgCisgICAgMjExLCAxMTgsIDIyNCwgMTMxLCAzNiwgMjE1LCAxNDQsIDExNCwgMjExLCAxMTgsIDIyNCwgMTMxLCAzNiwgMjE1LCAxNDQsIAorICAgIDIxOCwgMTQyLCAyMTEsIDExOCwgMjI0LCAxMzEsIDM2LCAxNTIsIDI0NSwgMjEwLCAyMTEsIDExOCwgMjI0LCAxMzEsIDM2LCAKKyAgICAxNTIsIDEyNywgMjExLCAxMTgsIDIyNCwgMTMxLCAzNiwgMTUyLCAxMTQsIDIxMSwgMTE4LCAyMjQsIDEzMSwgMzYsIDE1MiwgCisgICAgMjE4LCAxNDIsIDIxMSwgMTE4LCAyMjQsIDEzMSwgMzYsIDIyNSwgMTk3LCA4MywgMjI0LCAxMzEsIDM2LCA1MCwgNjcsIDUyLCAKKyAgICAyMjQsIDEzMSwgMTI3LCAxMzUsIDI1MiwgNTMsIDIyNCwgMTMxLCAxMTQsIDEzNSwgMjUyLCA1MywgMjI0LCAxMzEsIDE2LCAKKyAgICAyMjIsIDE1MywgMjQ1LCAyMjMsIDIyNCwgMTMxLCAxNiwgMjQwLCAxODYsIDIyNCwgMTMxLCAyNDcsIDE1NSwgMjI0LCAxMzEsIAorICAgIDI0MiwgMTY4LCA4MywgMjI0LCAxMzEsIDIzMCwgMTEyLCAyMTcsIDE2MCwgMSwgMjUyLCAxNzksIDIxNywgMTYwLCAxLCAKKyAgICAyNDksIDIwOSwgMjE3LCAxNjAsIDEsIDI0MCwgMjIwLCAyMTcsIDE2MCwgMSwgMjQ2LCAxMTYsIDIxNywgMTYwLCAxLCAyMzIsIAorICAgIDIxMSwgMjE3LCAxNjAsIDEsIDI1MCwgMTgxLCAyMTcsIDE2MCwgMSwgMjA1LCA4OCwgMjE3LCAxNjAsIDEsIDIzMiwgMjIwLCAKKyAgICAyMTcsIDE2MCwgMSwgMjExLCAxNTYsIDIxNywgMTYwLCAxLCAyMDUsIDE4MiwgMjE3LCAxNjAsIDEsIDIzMiwgNjEsIDIxNywgCisgICAgMTYwLCAxLCAyMzAsIDEzNCwgMjE3LCAxNjAsIDEsIDIyNiwgMjExLCAyMTcsIDE2MCwgMSwgMjIzLCAxNzMsIDIxNywgMTYwLCAKKyAgICAxLCAyMTUsIDQyLCAyMTcsIDE2MCwgMSwgMjMzLCA2OCwgMjE3LCAxNjAsIDEsIDI0MSwgMjUwLCAyMTcsIDE2MCwgMSwgCisgICAgMjEwLCAyNDEsIDIxNywgMTYwLCAxLCAyMTksIDE5MywgMjE3LCAxNjAsIDEsIDIxOCwgMTQzLCAyMTcsIDE2MCwgMSwgMjE1LCAKKyAgICAyMzcsIDIxNywgMTYwLCAxLCAyMTIsIDIxNCwgMjE3LCAxNjAsIDE0MSwgMjMzLCA2OCwgMjE3LCAxNjAsIDE0MSwgMjMzLCAKKyAgICA2NywgMjE3LCAxNjAsIDE0MSwgMjIyLCAyMTcsIDIxNywgMTYwLCAxNDEsIDI0NiwgMTMwLCAyMTcsIDE2MCwgNjUsIDEsIAorICAgIDI0MiwgMjQ5LCAyMDUsIDE4MiwgMjE3LCAxNjAsIDE0MSwgMjQyLCAyNDksIDIwNSwgMTgyLCAyMTcsIDE2MCwgMjIsIDMsIAorICAgIDE1MiwgNzUsIDIxNywgMTYwLCAyMiwgMywgNzUsIDIxNywgMTYwLCAyMiwgMywgMjIyLCA4MCwgMjUzLCAxNjQsIDIxNywgCisgICAgMTYwLCAyMiwgMywgMTUyLCAyNTMsIDE2NCwgMjE3LCAxNjAsIDIyLCAzLCAyNTMsIDE2NCwgMjE3LCAxNjAsIDIyLCAzLCAKKyAgICAyMjIsIDgwLCA2MiwgMjE3LCAxNjAsIDIyLCAzLCAxNTIsIDYyLCAyMTcsIDE2MCwgMjIsIDMsIDYyLCAyMTcsIDE2MCwgNjUsIAorICAgIDEsIDIxNSwgMTQ0LCA2MiwgMjE3LCAxNjAsIDIyLCAzLCAyMTUsIDE0NCwgNjIsIDIxNywgMTYwLCAyMiwgMywgMTUyLCA3MSwgCisgICAgMjE3LCAxNjAsIDIyLCAzLCA3MSwgMjE3LCAxNjAsIDY1LCAxLCA3NCwgMjE3LCAxNjAsIDIyLCAzLCAxNTIsIDc0LCAyMTcsIAorICAgIDE2MCwgMjIsIDMsIDc0LCAyMTcsIDE2MCwgMjIsIDMsIDc2LCAyMTcsIDE2MCwgMjIsIDMsIDIxMywgMTYyLCAyMTcsIDE2MCwgCisgICAgMTQxLCAyMjUsIDk0LCAyMTcsIDE2MCwgMjIwLCA3MiwgMjI1LCA5NCwgMjE3LCAxNjAsIDIyMCwgNzIsIDI1MiwgMjIyLCAKKyAgICAyMTcsIDE2MCwgMjIwLCA3MiwgMjUyLCAxMTMsIDIxNywgMTYwLCAyMjAsIDcyLCAyNTAsIDEwMSwgMjE3LCAxNjAsIDIyMCwgCisgICAgNzIsIDI1MSwgMTk0LCAyMTcsIDE2MCwgMjIwLCA3MiwgMjE1LCAxNTksIDIxNywgMTYwLCAyNTMsIDI5LCA4MywgMjE3LCAKKyAgICAxNjAsIDIyMCwgNzIsIDIyNywgOTMsIDIxOSwgMjI5LCAyMTcsIDE2MCwgMjIwLCA3MiwgMjA1LCAyNywgMjE3LCAxNjAsIAorICAgIDIyMCwgNzIsIDIxOSwgMjI5LCAyMTcsIDE2MCwgMjIwLCA3MiwgMjA1LCAxMTQsIDIxNywgMTYwLCAyMjAsIDcyLCAyMTAsIAorICAgIDE0MCwgMjE3LCAxNjAsIDIyMCwgNzIsIDI1MiwgNCwgMjE3LCAxNjAsIDIyMCwgNzIsIDIxNCwgMTg4LCAyMjcsIDE3NiwgCisgICAgMjE3LCAxNjAsIDIyMCwgNzIsIDI1MiwgOTksIDIyNywgMjE3LCAxLCAyMzksIDExOCwgMjI3LCAyMTcsIDEsIDI1MywgMTE1LCAKKyAgICAyMjcsIDIxNywgMSwgMjUyLCAyMjAsIDIyNywgMjE3LCAxLCAyNTMsIDUsIDIyNywgMjE3LCAxLCAyNTIsIDIxMywgMjI3LCAKKyAgICAyMTcsIDEsIDIwOSwgMTY4LCAyMjcsIDIxNywgMSwgMjUxLCAxNTIsIDIyNywgMjE3LCAxLCAyMzIsIDIyMCwgMjI3LCAyMTcsIAorICAgIDEsIDI1MSwgMTkxLCAyMjcsIDIxNywgMSwgMjUyLCAxODQsIDIyNywgMjE3LCAxLCAyNTIsIDE4OSwgMjI3LCAyMTcsIDEsIAorICAgIDI1MiwgMTgxLCAyMjcsIDIxNywgMSwgMjUyLCAxMzYsIDIyNywgMjE3LCAxLCAyNTIsIDEyMiwgMjI3LCAyMTcsIDEsIDI1MSwgCisgICAgMjMxLCAyMjcsIDIxNywgMSwgMjMzLCA2OCwgMjI3LCAyMTcsIDEsIDI1MiwgNjgsIDIyNywgMjE3LCAxLCAyNTEsIDIwMSwgCisgICAgMjI3LCAyMTcsIDEsIDI1MiwgNDEsIDIyNywgMjE3LCAxLCAyNTIsIDM3LCAyMjcsIDIxNywgMSwgMjUxLCAyMjUsIDIyNywgCisgICAgMjE3LCAxLCAyNTEsIDE5OSwgMjI3LCAyMTcsIDEsIDI0MywgMjE0LCAyMjcsIDIxNywgMSwgMjMyLCA1MywgMjI3LCAyMTcsIAorICAgIDEsIDI1MiwgMjAwLCAyMjcsIDIxNywgMjUyLCAyMjYsIDgzLCAyMjcsIDIxNywgMjA4LCAxNzEsIDgzLCAyMjcsIDIxNywgCisgICAgMjQwLCAxNTksIDgzLCAyMjcsIDIxNywgMjIwLCA3MSwgOCwgMSwgMjUwLCAzOSwgMiwgNSwgMjA5LCAxNDksIDU1LCA4LCAxLCAKKyAgICAyNTAsIDM5LCAyLCAyMzksIDExMiwgNTIsIDgsIDEsIDE3MSwgMiwgMTE4LCAxNzcsIDUyLCA4LCAxLCAyMTIsIDE5NSwgMiwgCisgICAgMTE4LCAxNzcsIDUyLCA4LCAxLCAyNDIsIDE2LCAyLCA2NywgMjUwLCAyNiwgMjMsIDEyOSwgMTc3LCA1MiwgOCwgMSwgMjIwLCAKKyAgICAxMywgMiwgNjcsIDU1LCA4LCAxLCAyMzAsIDEwNywgMiwgNTAsIDEzNCwgOCwgMSwgODAsIDIsIDEyOSwgMTc3LCA1MiwgOCwgCisgICAgMSwgODcsIDIsIDExOCwgMTc3LCAyNTAsIDI2LCAyMywgMjM5LCAxMTIsIDUyLCA4LCAxLCA4NywgMiwgMTE4LCAxNzcsIAorICAgIDI1MCwgMjYsIDIzLCA2NywgNTIsIDgsIDEsIDIxOSwgMTcsIDIsIDIyOSwgMTExLCA4LCAxLCAyMDcsIDYwLCAyLCA2NywgCisgICAgMjA2LCAyNTQsIDgsIDEsIDIxOCwgMTEzLCAyMDYsIDQ3LCA4LCAxLCAxMTQsIDI1MiwgMTcyLCA4LCAxLCAyNDYsIDExOCwgCisgICAgMiwgMTI5LCAxNzcsIDU1LCA4LCAxLCAyMTcsIDE5MiwgMiwgMTI5LCAxNzcsIDU1LCA4LCAxLCAyNDAsIDIzMiwgMiwgMjMzLCAKKyAgICAyLCA5MSwgOCwgMSwgMjEzLCAyNDMsIDIwNywgNTksIDgsIDEsIDIwNSwgMTA5LCAyLCAyMzMsIDIsIDIwOSwgMTQ5LCA1MiwgCisgICAgOCwgMjQ3LCAyNiwgMjQyLCAzOSwgOCwgMjQ3LCAyNiwgMjQ2LCAxMDYsIDgsIDI0NywgMjYsIDIzMSwgMjUyLCA4LCAyNDcsIAorICAgIDI2LCAyNDIsIDM3LCA4LCAyNDcsIDI2LCAyNDYsIDEwNCwgOCwgMjQ3LCAyNiwgMjMxLCAyNTAsIDgsIDEzNSwgMTE5LCA2NywgCisgICAgNTIsIDgsIDEzNSwgMTE4LCAxNzcsIDUyLCA4LCAxMzUsIDIyOSwgMTEyLCA1MiwgOCwgMTM1LCAxMTksIDY3LCA1NSwgOCwgCisgICAgMTM1LCAxMTgsIDE3NywgNTUsIDgsIDEzNSwgMjI5LCAxMTIsIDU1LCA4LCAyMjIsIDE0MiwgMjQyLCAzNywgOCwgMjIyLCAKKyAgICAxNDIsIDI0NiwgMTA0LCA4LCAyMjIsIDE0MiwgMjMxLCAyNTAsIDgsIDUsIDEyNywgMjA3LCA1OSwgOCwgMjQyLCA0MCwgMiwgCisgICAgMjE4LCAxNDgsIDgsIDI0MiwgNDAsIDIsIDY3LCA1MiwgOCwgMjMxLCAyNTMsIDIsIDY3LCA1NSwgOCwgNDcsIDI1MSwgMjQ0LCAKKyAgICA1MiwgOCwgNDgsIDI1MSwgMjQ0LCA1MiwgOCwgNDcsIDI1MSwgMjQ0LCA1NSwgOCwgNDgsIDI1MSwgMjQ0LCA1NSwgOCwgNTAsIAorICAgIDQ4LCAyNTEsIDI0NCwgNTIsIDgsIDUwLCA0OCwgMjUxLCAyNDQsIDg0LCAyLCAyNDUsIDIzLCA4LCA0OCwgMjUxLCAyNDQsIAorICAgIDg0LCAyLCAyNDUsIDIzLCA4LCAyNDYsIDEwNywgMiwgMjQ1LCAyMywgOCwgMTQxLCAyMTUsIDczLCAyMjQsIDU1LCAyNDAsIAorICAgIDY1LCA4OSwgMywgMjMzLCAyLCAyNDgsIDIxNywgODksIDMsIDI0OCwgMjE3LCA4OSwgMywgMjUyLCA3MywgODksIDMsIDIwOCwgCisgICAgMTgzLCA4OSwgMSwgMjE1LCAxNDQsIDYyLCA4OSwgMSwgNjIsIDg5LCAxLCAyNTMsIDE2NCwgODksIDEsIDc0LCA4OSwgMSwgCisgICAgMjMzLCAxMDIsIDg5LCAxLCA3MSwgODksIDEsIDIwOSwgMTYyLCA4OSwgMSwgMTE1LCAxMzcsIDg5LCAxLCAxMTUsIDE0OSwgCisgICAgODksIDEsIDI0OCwgMjIwLCA3NSwgODksIDEsIDIxNSwgMTQ0LCA3NSwgODksIDEsIDc1LCA4OSwgMSwgMjUyLCAyMDUsIDg5LCAKKyAgICAxLCAyNDgsIDIyMCwgNzYsIDg5LCAxLCAyMTUsIDE0NCwgNzYsIDg5LCAxLCA3NiwgODksIDEsIDI1MSwgMTg0LCA4OSwgMSwgCisgICAgMTcyLCA4OSwgMSwgMjMxLCAxNjcsIDg5LCAxLCAyNDAsIDI0NCwgODksIDEsIDI0MCwgOTksIDg5LCAxLCAyMjUsIDc3LCAKKyAgICA4OSwgMSwgMjQ5LCAxLCA4OSwgMSwgMjQ4LCAxMTAsIDg5LCAxLCAyMzIsIDIwMCwgODksIDEsIDIzMiwgMTcwLCA4OSwgMSwgCisgICAgMjIzLCAxNDQsIDg5LCAxLCAyMTAsIDIwOCwgODksIDEsIDIxMCwgMTk2LCA4OSwgMSwgMjQ2LCA1NCwgODksIDEsIDI0NiwgCisgICAgMzgsIDg5LCAxLCAyMjQsIDEwMywgODksIDEsIDIxMiwgMjE5LCA4OSwgMSwgMjEyLCA1NiwgODksIDEsIDI0NiwgMTQ1LCAKKyAgICA4OSwgMSwgMjQ1LCAxOTIsIDg5LCAxLCAxOTksIDg5LCAxLCAyMjQsIDg1LCA4OSwgMSwgMTc5LCA4OSwgMSwgMjIxLCA5MywgCisgICAgODksIDEsIDI1MCwgMTgzLCA4OSwgMSwgMjUwLCAwLCA4OSwgMSwgMTg1LCA4OSwgMSwgMTkwLCA4OSwgMSwgMjE5LCAxMTMsIAorICAgIDg5LCAxLCAyMTgsIDg5LCA4OSwgMSwgMjMwLCAxNDEsIDg5LCAxLCAyMjksIDE3MiwgODksIDEsIDIyOSwgMTYzLCA4OSwgMSwgCisgICAgMjA5LCA3MCwgODksIDEsIDIxNiwgMiwgODksIDEsIDIxNCwgOTYsIDg5LCAxLCAyMTcsIDE5OSwgODksIDEsIDE1NSwgODksIAorICAgIDIyLCAzLCAyMjIsIDIwNiwgODksIDIyLCAzLCAyMjIsIDE1MCwgODksIDMsIDIyMywgMTg0LCA4OSwgMywgMjUxLCAxNjcsIAorICAgIDg5LCAyMiwgMywgMjUzLCAxNjQsIDg5LCAyMiwgMywgNzQsIDg5LCAyMiwgMywgMjMzLCAxMDIsIDg5LCAyMiwgMywgNzEsIAorICAgIDg5LCAyMiwgMywgMjA5LCAxNjIsIDg5LCAyMiwgMywgMTE1LCAxMzcsIDg5LCAyMiwgMywgMTE1LCAyMTgsIDkwLCA4OSwgCisgICAgMjIsIDMsIDI0OCwgMjIwLCA3NSwgODksIDIyLCAzLCAyMTUsIDE0NCwgNzUsIDg5LCAyMiwgMywgNzUsIDg5LCAyMiwgMywgCisgICAgMjUyLCAyMDUsIDg5LCAyMiwgMywgMjQ4LCAyMjAsIDc2LCA4OSwgMjIsIDMsIDIxNSwgMTQ0LCA3NiwgODksIDIyLCAzLCAKKyAgICA3NiwgODksIDIyLCAzLCAyNTEsIDE4NCwgODksIDMsIDIwOCwgMTg4LCA4OSwgMjIsIDMsIDIyMCwgMTIwLCA3NSwgODksIAorICAgIDIyLCAzLCAyNTEsIDE2MywgODksIDIyMiwgMTczLCA4OSwgMjEzLCAyMzMsIDMsIDIxMCwgNSwgODksIDIxMywgMjMzLCAzLCAKKyAgICAyNTIsIDc1LCA4OSwgMjM5LCAyMzcsIDI1MywgMjEsIDg5LCAyNTMsIDksIDI1MywgMjEsIDg5LCAyMiwgMywgMjQ4LCAyMjAsIAorICAgIDE1MiwgNzUsIDg5LCAyMiwgMywgMjEwLCAzLCA4OSwgMjIsIDMsIDIwOSwgMTYxLCA4OSwgMSwgMjIwLCAxOSwgODksIDEsIAorICAgIDIzMSwgMTQ4LCA4OSwgMSwgMjQwLCA3NCwgODksIDEsIDIwNSwgMTE2LCA4OSwgMSwgMjQ2LCA0MywgODksIDEsIDIxOCwgCisgICAgMjEyLCA4OSwgMSwgMjQyLCA3MywgODksIDEsIDIwNSwgMTY4LCA4OSwgMSwgMTE1LCAyMTgsIDkwLCA4OSwgMSwgMTE1LCAKKyAgICAyMjksIDE3MywgODksIDIyLCAzLCAxMTUsIDE0OSwgODksIDIyLCAzLCAxMTUsIDIyOSwgMTczLCA4OSwgMjQ2LCAxMDAsIAorICAgIDg5LCA1MCwgMjQ2LCAxMDAsIDg5LCAxOCwgMjA1LCA4NSwgODksIDE4LCAxMDIsIDg5LCAxOCwgMTA1LCA4OSwgMTgsIDE0MiwgCisgICAgODksIDE4LCAxMzksIDg5LCAxOCwgMTY4LCA4OSwgMTgsIDE4NCwgODksIDE4LCAxOTUsIDg5LCAxOCwgMTkzLCA4OSwgMTgsIAorICAgIDIwMCwgODksIDI1MywgMjksIDUzLCA4OSwgMywgMTI3LCAyMTQsIDE1MiwgMjQ1LCAyMywgODksIDEsIDI0OCwgMjIwLCA2MiwgCisgICAgODksIDEsIDIyMiwgMjA2LCA4OSwgMSwgMjIyLCAxNTAsIDg5LCAxLCAyNTEsIDE2MywgODksIDEsIDIxMCwgMywgODksIDEsIAorICAgIDIwOSwgMTYxLCA4OSwgMSwgMjI3LCAxODEsIDI0NiwgNTQsIDg5LCAxLCAyMDUsIDgxLCA4OSwgMSwgNzcsIDE5MCwgODksIAorICAgIDEsIDI0MCwgMTM1LCA4OSwgMSwgMjMyLCAxNTAsIDg5LCAxLCAyNDAsIDI1LCAyMTMsIDI1MSwgODksIDEsIDI0NiwgNDQsIAorICAgIDg5LCAxLCAyNTAsIDk3LCAxNjUsIDI1MiwgMTAyLCAxNjUsIDMsIDI0OCwgMjE3LCAxNjUsIDMsIDI1MiwgNzMsIDE2NSwgMywgCisgICAgMjA4LCAxODMsIDE2NSwgMSwgNjIsIDE2NSwgMSwgMjUzLCAxNjQsIDE2NSwgMSwgNzQsIDE2NSwgMSwgMjMzLCAxMDIsIAorICAgIDE2NSwgMSwgNzEsIDE2NSwgMSwgMjA5LCAxNjIsIDE2NSwgMSwgMTE1LCAxMzcsIDE2NSwgMSwgMTE1LCAxNDksIDE2NSwgMSwgCisgICAgNzUsIDE2NSwgMSwgMjUyLCAyMDUsIDE2NSwgMSwgNzYsIDE2NSwgMSwgMjUxLCAxODQsIDE2NSwgMSwgMTcyLCAxNjUsIDEsIAorICAgIDIzMSwgMTY3LCAxNjUsIDEsIDI0MCwgMjQ0LCAxNjUsIDEsIDI0MCwgOTksIDE2NSwgMSwgMjI1LCA3NywgMTY1LCAxLCAKKyAgICAyNDksIDEsIDE2NSwgMSwgMjQ4LCAxMTAsIDE2NSwgMSwgMjMyLCAyMDAsIDE2NSwgMSwgMjMyLCAxNzAsIDE2NSwgMSwgCisgICAgMjIzLCAxNDQsIDE2NSwgMSwgMjEwLCAyMDgsIDE2NSwgMSwgMjEwLCAxOTYsIDE2NSwgMSwgMjQ2LCA1NCwgMTY1LCAxLCAKKyAgICAyNDYsIDM4LCAxNjUsIDEsIDIyNCwgMTAzLCAxNjUsIDEsIDIxMiwgMjE5LCAxNjUsIDEsIDIxMiwgNTYsIDE2NSwgMSwgCisgICAgMjQ2LCAxNDUsIDE2NSwgMSwgMjQ1LCAxOTIsIDE2NSwgMSwgMTk5LCAxNjUsIDEsIDE3OSwgMTY1LCAxLCAyMjEsIDkzLCAKKyAgICAxNjUsIDEsIDI1MCwgMTgzLCAxNjUsIDEsIDI1MCwgMCwgMTY1LCAxLCAxODUsIDE2NSwgMSwgMTkwLCAxNjUsIDEsIDIxOSwgCisgICAgMTEzLCAxNjUsIDEsIDIzMCwgMTQxLCAxNjUsIDEsIDIxNiwgMiwgMTY1LCAxLCAyMTQsIDk2LCAxNjUsIDEsIDIxNywgMTk5LCAKKyAgICAxNjUsIDEsIDE1NSwgMTY1LCAzLCAyMjMsIDE4NCwgMTY1LCAzLCAyNTEsIDE2NywgMTY1LCAyMiwgMywgMjUzLCAxNjQsIAorICAgIDE2NSwgMjIsIDMsIDc0LCAxNjUsIDIyLCAzLCAyMzMsIDEwMiwgMTY1LCAyMiwgMywgNzEsIDE2NSwgMjIsIDMsIDIwOSwgCisgICAgMTYyLCAxNjUsIDIyLCAzLCAxMTUsIDEzNywgMTY1LCAyMiwgMywgMTE1LCAyMTgsIDkwLCAxNjUsIDIyLCAzLCA3NSwgMTY1LCAKKyAgICAyMiwgMywgMjUyLCAyMDUsIDE2NSwgMjIsIDMsIDc2LCAxNjUsIDIyLCAzLCAyNTEsIDE4NCwgMTY1LCAzLCAyMDgsIDE4OCwgCisgICAgMTY1LCAxLCAyMzEsIDE1OCwgMjEyLCAyMTksIDE2NSwgMjUxLCAxODUsIDIzMCwgMjAsIDgzLCAxNjUsIDEsIDIxOCwgODksIAorICAgIDE2NSwgMSwgMjE4LCAyMTIsIDE2NSwgMSwgMjA1LCAxNjgsIDE2NSwgMSwgMTE1LCAyMTgsIDkwLCAxNjUsIDEsIDExNSwgCisgICAgMjI5LCAxNzMsIDE2NSwgMjIsIDMsIDExNSwgMTQ5LCAxNjUsIDIyLCAzLCAxMTUsIDIyOSwgMTczLCAxNjUsIDE4LCAyMDUsIAorICAgIDg1LCAxNjUsIDE4LCAxMDIsIDE2NSwgMTgsIDEwNSwgMTY1LCAxOCwgMTQyLCAxNjUsIDE4LCAxMzksIDE2NSwgMTgsIDE2OCwgCisgICAgMTY1LCAxOCwgMTg0LCAxNjUsIDE4LCAxOTUsIDE2NSwgMTgsIDE5MywgMTY1LCAxOCwgMjAwLCAxNjUsIDEsIDIxOSwgMTE0LCAKKyAgICAyLCAyMjYsIDI0NywgMjQ1LCAxNjIsIDE2NSwgMSwgMjE5LCAxMTQsIDIsIDIyOSwgOTIsIDI0NSwgMTYyLCAxNjUsIDIxOCwgCisgICAgMjcsIDgzLCAxNjUsIDIxOCwgMjcsIDUzLCAxNjUsIDI0NywgMjUsIDIyMywgMTc2LCAxMDIsIDE2NSwgMjQ3LCAyNSwgMjIzLCAKKyAgICAxNzYsIDEwNSwgMTY1LCAyNDcsIDI1LCAyMjMsIDE3NiwgMTQyLCAxNjUsIDI0NywgMjUsIDIyMywgMTc2LCAxMzksIDE2NSwgCisgICAgMjQ3LCAyNSwgMjIzLCAxNzYsIDExOSwgMjMwLCAxMSwgMjEyLCA0NywgMjEyLCA0MiwgMjQ1LCAyMjEsIDE2NSwgMjQ3LCAKKyAgICAyNSwgMjQ1LCAyMjIsIDIxNSwgNCwgMTY1LCAyMzIsIDIyMSwgMTY1LCAyNDAsIDIxMSwgODMsIDIzOSwgMTgyLCAzLCAyNTMsIAorICAgIDQsIDI0OSwgMjI0LCAyMzksIDE4MiwgMywgMjQ5LCAyMjQsIDIzOSwgMTgyLCAzLCAyMDgsIDE4MywgMjM5LCAxODIsIDEsIAorICAgIDYyLCAyMzksIDE4MiwgMSwgMjUzLCAxNjQsIDIzOSwgMTgyLCAxLCA3NCwgMjM5LCAxODIsIDEsIDIzMywgMTAyLCAyMzksIAorICAgIDE4MiwgMSwgNzEsIDIzOSwgMTgyLCAxLCAyMDksIDE2MiwgMjM5LCAxODIsIDEsIDI0MywgMTA0LCAyMzksIDE4MiwgMSwgCisgICAgMjUyLCAyMDUsIDIzOSwgMTgyLCAxLCAyMjIsIDE1MiwgMjM5LCAxODIsIDEsIDI1MSwgMTg0LCAyMzksIDE4MiwgMSwgMTcyLCAKKyAgICAyMzksIDE4MiwgMSwgMjMxLCAxNjcsIDIzOSwgMTgyLCAxLCAyNDAsIDI0NCwgMjM5LCAxODIsIDEsIDI0MCwgOTksIDIzOSwgCisgICAgMTgyLCAxLCAyMjUsIDc3LCAyMzksIDE4MiwgMSwgMjQ5LCAxLCAyMzksIDE4MiwgMSwgMjQ4LCAxMTAsIDIzOSwgMTgyLCAxLCAKKyAgICAyMzIsIDIwMCwgMjM5LCAxODIsIDEsIDIzMiwgMTcwLCAyMzksIDE4MiwgMSwgMjIzLCAxNDQsIDIzOSwgMTgyLCAxLCAyMTAsIAorICAgIDIwOCwgMjM5LCAxODIsIDEsIDIxMCwgMTk2LCAyMzksIDE4MiwgMSwgMjQ2LCA1NCwgMjM5LCAxODIsIDEsIDI0NiwgMzgsIAorICAgIDIzOSwgMTgyLCAxLCAyMjQsIDEwMywgMjM5LCAxODIsIDEsIDIxMiwgMjE5LCAyMzksIDE4MiwgMSwgMjEyLCA1NiwgMjM5LCAKKyAgICAxODIsIDEsIDI0NiwgMTQ1LCAyMzksIDE4MiwgMSwgMjQ1LCAxOTIsIDIzOSwgMTgyLCAxLCAxOTksIDIzOSwgMTgyLCAxLCAKKyAgICAxNzksIDIzOSwgMTgyLCAxLCAyMjEsIDkzLCAyMzksIDE4MiwgMSwgMjUwLCAxODMsIDIzOSwgMTgyLCAxLCAyNTAsIDAsIAorICAgIDIzOSwgMTgyLCAxLCAxODUsIDIzOSwgMTgyLCAxLCAxOTAsIDIzOSwgMTgyLCAxLCAyMTksIDExMywgMjM5LCAxODIsIDEsIAorICAgIDIzMCwgMTQxLCAyMzksIDE4MiwgMSwgMjI5LCAxNzIsIDIzOSwgMTgyLCAxLCAyMDksIDcwLCAyMzksIDE4MiwgMSwgMjE2LCAKKyAgICAyLCAyMzksIDE4MiwgMSwgMjE3LCAxOTksIDIzOSwgMTgyLCAxLCAxNTUsIDIzOSwgMTgyLCAzLCAyMjMsIDE4NCwgMjM5LCAKKyAgICAxODIsIDIyLCAzLCAyNTMsIDE2NCwgMjM5LCAxODIsIDIyLCAzLCA3NCwgMjM5LCAxODIsIDIyLCAzLCAyMzMsIDEwMiwgCisgICAgMjM5LCAxODIsIDIyLCAzLCA3MSwgMjM5LCAxODIsIDIyLCAzLCAyMDksIDE2MiwgMjM5LCAxODIsIDIyLCAzLCAyNDMsIAorICAgIDEwNCwgMjM5LCAxODIsIDIyLCAzLCAyNTIsIDIwNSwgMjM5LCAxODIsIDIyLCAzLCAyMjIsIDE1MiwgMjM5LCAxODIsIDIyLCAKKyAgICAzLCAyNTEsIDE4NCwgMjM5LCAxODIsIDMsIDIwOCwgMTg4LCAyMzksIDE4MiwgMywgMjEwLCA3LCAyMzksIDE4MiwgMSwgCisgICAgMjMxLCAxNDgsIDIzOSwgMTgyLCAxLCAyNDAsIDc0LCAyMzksIDE4MiwgMSwgMjA1LCAxMTYsIDIzOSwgMTgyLCAxLCAyMTgsIAorICAgIDg5LCAyMzksIDE4MiwgMSwgMjQyLCA3MywgMjM5LCAxODIsIDE4LCAyMDUsIDg1LCAyMzksIDE4MiwgMTgsIDEwMiwgMjM5LCAKKyAgICAxODIsIDE4LCAxMDUsIDIzOSwgMTgyLCAxOCwgMTQyLCAyMzksIDE4MiwgMTgsIDEzOSwgMjM5LCAxODIsIDE4LCAxNjgsIAorICAgIDIzOSwgMTgyLCAxOCwgMTg0LCAyMzksIDE4MiwgMTgsIDE5NSwgMjM5LCAxODIsIDE4LCAxOTMsIDIzOSwgMTgyLCAxOCwgCisgICAgMjAwLCAyMzksIDE4MiwgMjExLCAxNjQsIDIzOSwgMTgyLCAyNTMsIDMsIDIzOSwgMTgyLCAyMzIsIDI0MSwgMjM5LCAxODIsIAorICAgIDIwOSwgMTkwLCAyMzksIDE4MiwgMjQzLCA3NiwgMjIyLCAxNTcsIDIzOSwgMTgyLCAzLCAyMDYsIDg0LCAxOTgsIDMsIDI0OCwgCisgICAgMjE3LCAxOTgsIDMsIDI1MiwgNzMsIDE5OCwgMywgMjA4LCAxODMsIDE5OCwgMSwgNjIsIDE5OCwgMSwgMjUzLCAxNjQsIAorICAgIDE5OCwgMSwgNzQsIDE5OCwgMSwgMjMzLCAxMDIsIDE5OCwgMSwgNzEsIDE5OCwgMSwgMjA5LCAxNjIsIDE5OCwgMSwgMTE1LCAKKyAgICAxMzcsIDE5OCwgMSwgMTE1LCAxNDksIDE5OCwgMjIsIDI0OCwgMjIwLCA3NSwgMTk4LCAxLCA3NSwgMTk4LCAxLCAyNTIsIAorICAgIDIwNSwgMTk4LCAyMiwgMjQ4LCAyMjAsIDc2LCAxOTgsIDEsIDc2LCAxOTgsIDEsIDI1MSwgMTg0LCAxOTgsIDEsIDE3MiwgCisgICAgMTk4LCAxLCAyMzEsIDE2NywgMTk4LCAxLCAyNDAsIDI0NCwgMTk4LCAxLCAyNDAsIDk5LCAxOTgsIDEsIDIyNSwgNzcsIAorICAgIDE5OCwgMSwgMjQ5LCAxLCAxOTgsIDEsIDI0OCwgMTEwLCAxOTgsIDEsIDIzMiwgMjAwLCAxOTgsIDEsIDIzMiwgMTcwLCAKKyAgICAxOTgsIDEsIDIyMywgMTQ0LCAxOTgsIDEsIDIxMCwgMjA4LCAxOTgsIDEsIDIxMCwgMTk2LCAxOTgsIDEsIDI0NiwgNTQsIAorICAgIDE5OCwgMSwgMjQ2LCAzOCwgMTk4LCAxLCAyMjQsIDEwMywgMTk4LCAxLCAyMTIsIDIxOSwgMTk4LCAxLCAyMTIsIDU2LCAKKyAgICAxOTgsIDEsIDI0NiwgMTQ1LCAxOTgsIDEsIDI0NSwgMTkyLCAxOTgsIDEsIDE5OSwgMTk4LCAxLCAxNzksIDE5OCwgMSwgCisgICAgMjIxLCA5MywgMTk4LCAxLCAyNTAsIDE4MywgMTk4LCAxLCAyNTAsIDAsIDE5OCwgMSwgMTg1LCAxOTgsIDEsIDE5MCwgMTk4LCAKKyAgICAxLCAyMTksIDExMywgMTk4LCAxLCAyMzAsIDE0MSwgMTk4LCAxLCAyMjksIDE3MiwgMTk4LCAxLCAyMDksIDcwLCAxOTgsIDEsIAorICAgIDIxNiwgMiwgMTk4LCAxLCAyMTQsIDk2LCAxOTgsIDEsIDIxNywgMTk5LCAxOTgsIDEsIDE1NSwgMTk4LCAzLCAyMjMsIDE4NCwgCisgICAgMTk4LCAzLCAyNTEsIDE2NywgMTk4LCAyMiwgMywgMjUzLCAxNjQsIDE5OCwgMjIsIDMsIDc0LCAxOTgsIDIyLCAzLCAyMzMsIAorICAgIDEwMiwgMTk4LCAyMiwgMywgNzEsIDE5OCwgMjIsIDMsIDIwOSwgMTYyLCAxOTgsIDIyLCAzLCAxMTUsIDEzNywgMTk4LCAyMiwgCisgICAgMywgMTE1LCAyMTgsIDkwLCAxOTgsIDIyLCAzLCAyNDgsIDIyMCwgNzUsIDE5OCwgMjIsIDMsIDc1LCAxOTgsIDIyLCAzLCAKKyAgICAyNTIsIDIwNSwgMTk4LCAyMiwgMywgMjQ4LCAyMjAsIDc2LCAxOTgsIDIyLCAzLCA3NiwgMTk4LCAyMiwgMywgMjUxLCAxODQsIAorICAgIDE5OCwgMywgMjA4LCAxODgsIDE5OCwgMjIyLCAxNzMsIDE5OCwgMSwgMTE1LCAyMTgsIDkwLCAxOTgsIDEsIDExNSwgMjI5LCAKKyAgICAxNzMsIDE5OCwgMjIsIDMsIDExNSwgMTQ5LCAxOTgsIDIyLCAzLCAxMTUsIDIyOSwgMTczLCAxOTgsIDE4LCAyMDUsIDg1LCAKKyAgICAxOTgsIDE4LCAxMDIsIDE5OCwgMTgsIDEwNSwgMTk4LCAxOCwgMTQyLCAxOTgsIDE4LCAxMzksIDE5OCwgMTgsIDE2OCwgCisgICAgMTk4LCAxOCwgMTg0LCAxOTgsIDE4LCAxOTUsIDE5OCwgMTgsIDE5MywgMTk4LCAxOCwgMjAwLCAxOTgsIDI1MywgMjksIDUzLCAKKyAgICAxOTgsIDIxOCwgMjcsIDUzLCAxNzgsIDMsIDI0OCwgMjE3LCAxNzgsIDMsIDI1MiwgNzMsIDE3OCwgMywgMjA4LCAxODMsIAorICAgIDE3OCwgMSwgNjIsIDE3OCwgMSwgMjUzLCAxNjQsIDE3OCwgMSwgNzQsIDE3OCwgMSwgMjMzLCAxMDIsIDE3OCwgMSwgNzEsIAorICAgIDE3OCwgMSwgMjA5LCAxNjIsIDE3OCwgMSwgMTE1LCAxMzcsIDE3OCwgMSwgMTE1LCAxNDksIDE3OCwgMSwgNzUsIDE3OCwgMSwgCisgICAgMjUyLCAyMDUsIDE3OCwgMSwgNzYsIDE3OCwgMSwgMjUxLCAxODQsIDE3OCwgMSwgMTcyLCAxNzgsIDEsIDIzMSwgMTY3LCAKKyAgICAxNzgsIDEsIDI0MCwgMjQ0LCAxNzgsIDEsIDI0MCwgOTksIDE3OCwgMSwgMjI1LCA3NywgMTc4LCAxLCAyNDksIDEsIDE3OCwgCisgICAgMSwgMjQ4LCAxMTAsIDE3OCwgMSwgMjMyLCAyMDAsIDE3OCwgMSwgMjMyLCAxNzAsIDE3OCwgMSwgMjIzLCAxNDQsIDE3OCwgCisgICAgMSwgMjEwLCAyMDgsIDE3OCwgMSwgMjEwLCAxOTYsIDE3OCwgMSwgMjQ2LCA1NCwgMTc4LCAxLCAyNDYsIDM4LCAxNzgsIDEsIAorICAgIDIyNCwgMTAzLCAxNzgsIDEsIDIxMiwgMjE5LCAxNzgsIDEsIDIxMiwgNTYsIDE3OCwgMSwgMjQ2LCAxNDUsIDE3OCwgMSwgCisgICAgMjQ1LCAxOTIsIDE3OCwgMSwgMTk5LCAxNzgsIDEsIDE3OSwgMTc4LCAxLCAyMjEsIDkzLCAxNzgsIDEsIDI1MCwgMTgzLCAKKyAgICAxNzgsIDEsIDI1MCwgMCwgMTc4LCAxLCAxODUsIDE3OCwgMSwgMTkwLCAxNzgsIDEsIDIxOSwgMTEzLCAxNzgsIDEsIDIzMCwgCisgICAgMTQxLCAxNzgsIDEsIDIyOSwgMTcyLCAxNzgsIDEsIDIwOSwgNzAsIDE3OCwgMSwgMjE2LCAyLCAxNzgsIDEsIDIxNCwgOTYsIAorICAgIDE3OCwgMSwgMjE3LCAxOTksIDE3OCwgMSwgMTU1LCAxNzgsIDMsIDIyMywgMTg0LCAxNzgsIDMsIDI1MSwgMTY3LCAxNzgsIAorICAgIDIyLCAzLCAyNTMsIDE2NCwgMTc4LCAyMiwgMywgNzQsIDE3OCwgMjIsIDMsIDIzMywgMTAyLCAxNzgsIDIyLCAzLCA3MSwgCisgICAgMTc4LCAyMiwgMywgMjA5LCAxNjIsIDE3OCwgMjIsIDMsIDExNSwgMTM3LCAxNzgsIDIyLCAzLCAxMTUsIDIxOCwgOTAsIAorICAgIDE3OCwgMjIsIDMsIDc1LCAxNzgsIDIyLCAzLCAyNTIsIDIwNSwgMTc4LCAyMiwgMywgNzYsIDE3OCwgMjIsIDMsIDI1MSwgCisgICAgMTg0LCAxNzgsIDMsIDIwOCwgMTg4LCAxNzgsIDI1MiwgMjA2LCAyMzAsIDIwLCA4MywgMTc4LCAyNTEsIDE4NSwgMjMwLCAKKyAgICAyMCwgODMsIDE3OCwgMSwgMjE4LCA4OSwgMTc4LCAxLCAyMTgsIDIxMiwgMTc4LCAxLCAyMDUsIDE2OCwgMTc4LCAxLCAxMTUsIAorICAgIDIxOCwgOTAsIDE3OCwgMSwgMTE1LCAyMjksIDE3MywgMTc4LCAyMiwgMywgMTE1LCAxNDksIDE3OCwgMjIsIDMsIDExNSwgCisgICAgMjI5LCAxNzMsIDE3OCwgMTgsIDIwNSwgODUsIDE3OCwgMTgsIDEwMiwgMTc4LCAxOCwgMTA1LCAxNzgsIDE4LCAxNDIsIAorICAgIDE3OCwgMTgsIDEzOSwgMTc4LCAxOCwgMTY4LCAxNzgsIDE4LCAxODQsIDE3OCwgMTgsIDE5NSwgMTc4LCAxOCwgMTkzLCAKKyAgICAxNzgsIDE4LCAyMDAsIDE3OCwgMjMyLCAyMjEsIDE3OCwgMSwgMjA3LCA5NiwgMTc4LCAyNDEsIDExNiwgMTE5LCAyMTksIAorICAgIDIwNCwgMTc4LCAyNDEsIDExNiwgMTE5LCAyMzksIDEyMSwgMTc4LCAyNDEsIDExNiwgMTI5LCAyMTksIDIwMiwgMTc4LCAKKyAgICAyNDEsIDExNiwgMTE5LCAyMTUsIDIsIDE3OCwgMjQxLCAxMTYsIDExOSwgMjQzLCA4MywgMTc4LCAyNDEsIDExNiwgMTI5LCAKKyAgICAyMTUsIDEsIDQwLCAzLCAyNTIsIDczLCA0MCwgMywgMjA4LCAxODMsIDQwLCAxLCA2MiwgNDAsIDEsIDI1MywgMTY0LCA0MCwgCisgICAgMSwgNzQsIDQwLCAxLCAyMzMsIDEwMiwgNDAsIDEsIDcxLCA0MCwgMSwgMjA5LCAxNjIsIDQwLCAxLCA3NSwgNDAsIDEsIAorICAgIDI0MywgMTA0LCA0MCwgMSwgMjUyLCAyMDUsIDQwLCAxLCA3NiwgNDAsIDEsIDIyMiwgMTUyLCA0MCwgMSwgMjUxLCAxODQsIAorICAgIDQwLCAxLCAxNzIsIDQwLCAxLCAyMjUsIDc3LCA0MCwgMSwgMjQ5LCAxLCA0MCwgMSwgMjMyLCAyMDAsIDQwLCAxLCAyMjMsIAorICAgIDE0NCwgNDAsIDEsIDIxMCwgMjA4LCA0MCwgMSwgMjI0LCAxMDMsIDQwLCAxLCAyMTIsIDIxOSwgNDAsIDEsIDE5OSwgNDAsIAorICAgIDEsIDIyNCwgODUsIDQwLCAxLCAxNzksIDQwLCAxLCAxODUsIDQwLCAxLCAxOTAsIDQwLCAxLCAyMTksIDExMywgNDAsIDEsIAorICAgIDIxOCwgODksIDQwLCAxLCAyMzAsIDE0MSwgNDAsIDEsIDIyOSwgMTcyLCA0MCwgMSwgMjI5LCAxNjMsIDQwLCAxLCAyMDksIAorICAgIDcwLCA0MCwgMSwgMjE2LCAyLCA0MCwgMSwgMjE0LCA5NiwgNDAsIDEsIDIxNywgMTk5LCA0MCwgMSwgMTU1LCA0MCwgMjIsIAorICAgIDMsIDI1MywgMTY0LCA0MCwgMjIsIDMsIDc0LCA0MCwgMjIsIDMsIDIzMywgMTAyLCA0MCwgMjIsIDMsIDcxLCA0MCwgMjIsIAorICAgIDMsIDIwOSwgMTYyLCA0MCwgMjIsIDMsIDc1LCA0MCwgMjIsIDMsIDI0MywgMTA0LCA0MCwgMjIsIDMsIDI1MiwgMjA1LCA0MCwgCisgICAgMjIsIDMsIDc2LCA0MCwgMjIsIDMsIDIyMiwgMTUyLCA0MCwgMjIsIDMsIDI1MSwgMTg0LCA0MCwgMywgMjA4LCAxODgsIDQwLCAKKyAgICAyMjIsIDE3MywgNDAsIDI1MSwgMTg1LCAyMzAsIDIwLCA4MywgNDAsIDE4LCAyMDUsIDg1LCA0MCwgMTgsIDEwMiwgNDAsIAorICAgIDE4LCAxMDUsIDQwLCAxOCwgMTQyLCA0MCwgMTgsIDEzOSwgNDAsIDE4LCAxNjgsIDQwLCAxOCwgMTg0LCA0MCwgMTgsIDE5NSwgCisgICAgNDAsIDE4LCAxOTMsIDQwLCAxOCwgMjAwLCA0MCwgNDMsIDIxMiwgOTgsIDQwLCA0MywgMTE5LCAyMzgsIDI5LCA0MCwgNDMsIAorICAgIDExOSwgMjExLCAyNDIsIDQwLCAyNDYsIDY3LCA1MywgNDAsIDIyNiwgMTUzLCA1MywgNDAsIDIwNiwgNTAsIDUzLCA0MCwgCisgICAgMjQ2LCA2LCA1MywgNDAsIDI0NywgNjgsIDUzLCA0MCwgMjUxLCAyMzIsIDg0LCA1MywgNDAsIDIxOCwgMjcsIDUzLCA0MCwgCisgICAgNDMsIDUzLCAxNjMsIDMsIDM2LCAyNDgsIDIxOCwgNTIsIDE2MywgMywgMjQ4LCAyMTcsIDE2MywgMywgMjUyLCA3MywgMTYzLCAKKyAgICAzLCAyMDgsIDE4MywgMTYzLCAxLCA2MiwgMTYzLCAxLCAyNTMsIDE2NCwgMTYzLCAxLCA3NCwgMTYzLCAxLCAyMzMsIDEwMiwgCisgICAgMTYzLCAxLCA3MSwgMTYzLCAxLCAyMDksIDE2MiwgMTYzLCAxLCAxMTUsIDEzNywgMTYzLCAxLCAxMTUsIDE0OSwgMTYzLCAxLCAKKyAgICA3NSwgMTYzLCAxLCAyNDMsIDEwNCwgMTYzLCAxLCAyNTIsIDIwNSwgMTYzLCAxLCA3NiwgMTYzLCAxLCAyMjIsIDE1MiwgCisgICAgMTYzLCAxLCAyNTEsIDE4NCwgMTYzLCAxLCAxNzIsIDE2MywgMSwgMjMxLCAxNjcsIDE2MywgMSwgMjQwLCAyNDQsIDE2MywgCisgICAgMSwgMjQwLCA5OSwgMTYzLCAxLCAyMjUsIDc3LCAxNjMsIDEsIDI0OSwgMSwgMTYzLCAxLCAyNDgsIDExMCwgMTYzLCAxLCAKKyAgICAyMzIsIDIwMCwgMTYzLCAxLCAyMzIsIDE3MCwgMTYzLCAxLCAyMjMsIDE0NCwgMTYzLCAxLCAyMTAsIDIwOCwgMTYzLCAxLCAKKyAgICAyMTAsIDE5NiwgMTYzLCAxLCAyNDYsIDU0LCAxNjMsIDEsIDI0NiwgMzgsIDE2MywgMSwgMjI0LCAxMDMsIDE2MywgMSwgCisgICAgMjEyLCAyMTksIDE2MywgMSwgMjEyLCA1NiwgMTYzLCAxLCAyNDYsIDE0NSwgMTYzLCAxLCAyNDUsIDE5MiwgMTYzLCAxLCAKKyAgICAxOTksIDE2MywgMSwgMTc5LCAxNjMsIDEsIDIyMSwgOTMsIDE2MywgMSwgMjUwLCAxODMsIDE2MywgMSwgMjUwLCAwLCAxNjMsIAorICAgIDEsIDE4NSwgMTYzLCAxLCAxOTAsIDE2MywgMSwgMjE5LCAxMTMsIDE2MywgMSwgMjE4LCA4OSwgMTYzLCAxLCAyMzAsIDE0MSwgCisgICAgMTYzLCAxLCAyMjksIDE3MiwgMTYzLCAxLCAyMjksIDE2MywgMTYzLCAxLCAyMDksIDcwLCAxNjMsIDEsIDIxNiwgMiwgMTYzLCAKKyAgICAxLCAyMTQsIDk2LCAxNjMsIDEsIDIxNywgMTk5LCAxNjMsIDEsIDE1NSwgMTYzLCAzLCAyNTEsIDE2NywgMTYzLCAyMiwgMywgCisgICAgMjUzLCAxNjQsIDE2MywgMjIsIDMsIDc0LCAxNjMsIDIyLCAzLCAyMzMsIDEwMiwgMTYzLCAyMiwgMywgNzEsIDE2MywgMjIsIAorICAgIDMsIDIwOSwgMTYyLCAxNjMsIDIyLCAzLCAxMTUsIDEzNywgMTYzLCAyMiwgMywgMTE1LCAyMTgsIDkwLCAxNjMsIDIyLCAzLCAKKyAgICA3NSwgMTYzLCAyMiwgMywgMjQzLCAxMDQsIDE2MywgMjIsIDMsIDI1MiwgMjA1LCAxNjMsIDIyLCAzLCA3NiwgMTYzLCAyMiwgCisgICAgMywgMjIyLCAxNTIsIDE2MywgMjIsIDMsIDI1MSwgMTg0LCAxNjMsIDMsIDIwOCwgMTg4LCAxNjMsIDIzMCwgMjAsIDgzLCAKKyAgICAxNjMsIDI1MiwgMjA2LCAyMzAsIDIwLCA4MywgMTYzLCAxLCAyMTAsIDI0MywgMTYzLCAxLCAyNDMsIDE5NiwgMTYzLCAxLCAKKyAgICAxMTUsIDIxOCwgOTAsIDE2MywgMSwgMTE1LCAyMjksIDE3MywgMTYzLCAyMiwgMywgMTE1LCAxNDksIDE2MywgMjIsIDMsIAorICAgIDExNSwgMjI5LCAxNzMsIDE2MywgMTgsIDIwNSwgODUsIDE2MywgMTgsIDEwMiwgMTYzLCAxOCwgMTA1LCAxNjMsIDE4LCAKKyAgICAxNDIsIDE2MywgMTgsIDEzOSwgMTYzLCAxOCwgMTY4LCAxNjMsIDE4LCAxODQsIDE2MywgMTgsIDE5NSwgMTYzLCAxOCwgCisgICAgMTkzLCAxNjMsIDE4LCAyMDAsIDE2MywgMjQxLCAxMTYsIDE4LCAyMDUsIDg2LCAzMywgMjIyLCAyMTAsIDIyMCwgMTYwLCAKKyAgICA3MywgMTM5LCAxNjMsIDI0MSwgMTE2LCAxOCwgMTE5LCAzMywgMjIyLCAyMTAsIDIyMCwgMTYwLCA3MywgMTM5LCAxNjMsIAorICAgIDI0MSwgMTE2LCAxOCwgMTE4LCAzMywgMjIyLCAyMTAsIDIyMCwgMTYwLCA3MywgMTM5LCAxNjMsIDI0MSwgMTE2LCAxOCwgCisgICAgMTI5LCAzMywgMjIyLCAyMTAsIDIyMCwgMTYwLCA3MywgMTM5LCAxNjMsIDI0MSwgMTE2LCAxOCwgMTE5LCAzMywgMjQyLCAKKyAgICAxNzksIDIyMCwgMTYwLCA3MywgMTM5LCAxNjMsIDI0MSwgMTE2LCAxOCwgMTE4LCAzMywgMjQyLCAxNzksIDIyMCwgMTYwLCAKKyAgICA3MywgMTM5LCAxNjMsIDI0MSwgMTE2LCAxOCwgMTI5LCAzMywgMjQyLCAxNzksIDIyMCwgMTYwLCA3MywgMTM5LCAxNjMsIDMsIAorICAgIDIxMCwgMTM0LCAxODMsIDMsIDI0OCwgMjE3LCAxODMsIDMsIDI1MiwgNzMsIDE4MywgMywgMjA4LCAxODMsIDE4MywgMSwgCisgICAgNjIsIDE4MywgMSwgMjUzLCAxNjQsIDE4MywgMSwgNzQsIDE4MywgMSwgMjMzLCAxMDIsIDE4MywgMSwgNzEsIDE4MywgMSwgCisgICAgMjA5LCAxNjIsIDE4MywgMSwgMTE1LCAxMzcsIDE4MywgMSwgMTE1LCAxNDksIDE4MywgMSwgNzUsIDE4MywgMSwgMjQzLCAKKyAgICAxMDQsIDE4MywgMSwgMjUyLCAyMDUsIDE4MywgMSwgNzYsIDE4MywgMSwgMjIyLCAxNTIsIDE4MywgMSwgMjUxLCAxODQsIAorICAgIDE4MywgMSwgMTcyLCAxODMsIDEsIDIzMSwgMTY3LCAxODMsIDEsIDI0MCwgMjQ0LCAxODMsIDEsIDI0MCwgOTksIDE4MywgMSwgCisgICAgMjI1LCA3NywgMTgzLCAxLCAyNDksIDEsIDE4MywgMSwgMjQ4LCAxMTAsIDE4MywgMSwgMjMyLCAyMDAsIDE4MywgMSwgMjMyLCAKKyAgICAxNzAsIDE4MywgMSwgMjIzLCAxNDQsIDE4MywgMSwgMjEwLCAyMDgsIDE4MywgMSwgMjEwLCAxOTYsIDE4MywgMSwgMjQ2LCAKKyAgICA1NCwgMTgzLCAxLCAyNDYsIDM4LCAxODMsIDEsIDIyNCwgMTAzLCAxODMsIDEsIDIxMiwgMjE5LCAxODMsIDEsIDIxMiwgNTYsIAorICAgIDE4MywgMSwgMjQ2LCAxNDUsIDE4MywgMSwgMjQ1LCAxOTIsIDE4MywgMSwgMTk5LCAxODMsIDEsIDE3OSwgMTgzLCAxLCAKKyAgICAyMjEsIDkzLCAxODMsIDEsIDI1MCwgMTgzLCAxODMsIDEsIDI1MCwgMCwgMTgzLCAxLCAxODUsIDE4MywgMSwgMTkwLCAxODMsIAorICAgIDEsIDIxOSwgMTEzLCAxODMsIDEsIDIxOCwgODksIDE4MywgMSwgMjMwLCAxNDEsIDE4MywgMSwgMjI5LCAxNzIsIDE4MywgMSwgCisgICAgMjA5LCA3MCwgMTgzLCAxLCAyMTYsIDIsIDE4MywgMSwgMjE0LCA5NiwgMTgzLCAxLCAyMTcsIDE5OSwgMTgzLCAxLCAxNTUsIAorICAgIDE4MywgMywgMjIzLCAxODQsIDE4MywgMywgMjUxLCAxNjcsIDE4MywgMjIsIDMsIDI1MywgMTY0LCAxODMsIDIyLCAzLCA3NCwgCisgICAgMTgzLCAyMiwgMywgMjMzLCAxMDIsIDE4MywgMjIsIDMsIDcxLCAxODMsIDIyLCAzLCAyMDksIDE2MiwgMTgzLCAyMiwgMywgCisgICAgMTE1LCAxMzcsIDE4MywgMjIsIDMsIDExNSwgMjE4LCA5MCwgMTgzLCAyMiwgMywgNzUsIDE4MywgMjIsIDMsIDI0MywgMTA0LCAKKyAgICAxODMsIDIyLCAzLCAyNTIsIDIwNSwgMTgzLCAyMiwgMywgNzYsIDE4MywgMjIsIDMsIDIyMiwgMTUyLCAxODMsIDIyLCAzLCAKKyAgICAyNTEsIDE4NCwgMTgzLCAzLCAyMDgsIDE4OCwgMTgzLCAyMzAsIDIwLCA4MywgMTgzLCAyNTIsIDIwNiwgMjMwLCAyMCwgODMsIAorICAgIDE4MywgMSwgMjQyLCA3MywgMTgzLCAxLCAxMTUsIDIxOCwgOTAsIDE4MywgMSwgMTE1LCAyMjksIDE3MywgMTgzLCAyMiwgMywgCisgICAgMTE1LCAxNDksIDE4MywgMjIsIDMsIDExNSwgMjI5LCAxNzMsIDE4MywgMTgsIDIwNSwgODUsIDE4MywgMTgsIDEwMiwgMTgzLCAKKyAgICAxOCwgMTA1LCAxODMsIDE4LCAxNDIsIDE4MywgMTgsIDEzOSwgMTgzLCAxOCwgMTY4LCAxODMsIDE4LCAxODQsIDE4MywgMTgsIAorICAgIDE5NSwgMTgzLCAxOCwgMTkzLCAxODMsIDE4LCAyMDAsIDE4MywgMywgMjMyLCAxNTYsIDE4MywgMywgMjA5LCAyMDQsIDE1NiwgCisgICAgMywgMjQ4LCAyMTcsIDE1NiwgMywgMjUyLCA3MywgMTU2LCAzLCAyMDgsIDE4MywgMTU2LCAxLCA2MiwgMTU2LCAxLCAyNTMsIAorICAgIDE2NCwgMTU2LCAxLCA3NCwgMTU2LCAxLCAyMzMsIDEwMiwgMTU2LCAxLCA3MSwgMTU2LCAxLCAyMDksIDE2MiwgMTU2LCAxLCAKKyAgICAxMTUsIDEzNywgMTU2LCAxLCAxMTUsIDE0OSwgMTU2LCAxLCA3NSwgMTU2LCAxLCAyNDMsIDEwNCwgMTU2LCAxLCAyNTIsIAorICAgIDIwNSwgMTU2LCAxLCA3NiwgMTU2LCAxLCAyMjIsIDE1MiwgMTU2LCAxLCAyNTEsIDE4NCwgMTU2LCAxLCAxNzIsIDE1NiwgMSwgCisgICAgMjMxLCAxNjcsIDE1NiwgMSwgMjQwLCAyNDQsIDE1NiwgMSwgMjQwLCA5OSwgMTU2LCAxLCAyMjUsIDc3LCAxNTYsIDEsIAorICAgIDI0OSwgMSwgMTU2LCAxLCAyNDgsIDExMCwgMTU2LCAxLCAyMzIsIDIwMCwgMTU2LCAxLCAyMzIsIDE3MCwgMTU2LCAxLCAKKyAgICAyMjMsIDE0NCwgMTU2LCAxLCAyMTAsIDIwOCwgMTU2LCAxLCAyMTAsIDE5NiwgMTU2LCAxLCAyNDYsIDU0LCAxNTYsIDEsIAorICAgIDI0NiwgMzgsIDE1NiwgMSwgMjI0LCAxMDMsIDE1NiwgMSwgMjEyLCAyMTksIDE1NiwgMSwgMjEyLCA1NiwgMTU2LCAxLCAKKyAgICAyNDYsIDE0NSwgMTU2LCAxLCAyNDUsIDE5MiwgMTU2LCAxLCAxOTksIDE1NiwgMSwgMjI0LCA4NSwgMTU2LCAxLCAxNzksIAorICAgIDE1NiwgMSwgMjIxLCA5MywgMTU2LCAxLCAyNTAsIDE4MywgMTU2LCAxLCAyNTAsIDAsIDE1NiwgMSwgMTg1LCAxNTYsIDEsIAorICAgIDE5MCwgMTU2LCAxLCAyMTksIDExMywgMTU2LCAxLCAyMTgsIDg5LCAxNTYsIDEsIDIzMCwgMTQxLCAxNTYsIDEsIDIyOSwgCisgICAgMTcyLCAxNTYsIDEsIDIyOSwgMTYzLCAxNTYsIDEsIDIwOSwgNzAsIDE1NiwgMSwgMjE2LCAyLCAxNTYsIDEsIDIxNCwgOTYsIAorICAgIDE1NiwgMSwgMjE3LCAxOTksIDE1NiwgMSwgMTU1LCAxNTYsIDEsIDIxMCwgMTc3LCAxNTYsIDMsIDI1MSwgMTY3LCAxNTYsIAorICAgIDIyLCAzLCAyNTMsIDE2NCwgMTU2LCAyMiwgMywgNzQsIDE1NiwgMjIsIDMsIDIzMywgMTAyLCAxNTYsIDIyLCAzLCA3MSwgCisgICAgMTU2LCAyMiwgMywgMjA5LCAxNjIsIDE1NiwgMjIsIDMsIDExNSwgMTM3LCAxNTYsIDIyLCAzLCAxMTUsIDIxOCwgOTAsIAorICAgIDE1NiwgMjIsIDMsIDc1LCAxNTYsIDIyLCAzLCAyNDMsIDEwNCwgMTU2LCAyMiwgMywgMjUyLCAyMDUsIDE1NiwgMjIsIDMsIAorICAgIDc2LCAxNTYsIDIyLCAzLCAyMjIsIDE1MiwgMTU2LCAyMiwgMywgMjUxLCAxODQsIDE1NiwgMywgMjA4LCAxODgsIDE1NiwgMSwgCisgICAgNjcsIDIxOCwgMjQ4LCAxNTYsIDI1MSwgMTg1LCAyMzAsIDIwLCA4MywgMTU2LCAxLCAxMTUsIDIxOCwgOTAsIDE1NiwgMSwgCisgICAgMTE1LCAyMjksIDE3MywgMTU2LCAyMiwgMywgMTE1LCAxNDksIDE1NiwgMjIsIDMsIDExNSwgMjI5LCAxNzMsIDE1NiwgMTgsIAorICAgIDIwNSwgODUsIDE1NiwgMTgsIDEwMiwgMTU2LCAxOCwgMTA1LCAxNTYsIDE4LCAxNDIsIDE1NiwgMTgsIDEzOSwgMTU2LCAxOCwgCisgICAgMTY4LCAxNTYsIDE4LCAxODQsIDE1NiwgMTgsIDE5NSwgMTU2LCAxOCwgMTkzLCAxNTYsIDE4LCAyMDAsIDE1NiwgNDMsIAorICAgIDIxMiwgOTgsIDE1NiwgNDMsIDExOSwgMjM4LCAyOSwgMTU2LCA0MywgMTE5LCAyMTEsIDI0MiwgMTU2LCAyNDEsIDExNiwgCisgICAgMTE5LCAyMTksIDIwNCwgMTU2LCAyNDEsIDExNiwgMTE5LCAyMzksIDEyMSwgMTU2LCAyNDEsIDExNiwgMTI5LCAyMTksIAorICAgIDIwMiwgMTU2LCAyNDYsIDcyLCA4MywgMTU2LCAxLCAyNDgsIDQ3LCAyMjQsIDEwNCwgMTU2LCAxLCAyNDgsIDQ3LCAyMjYsIAorICAgIDMzLCAxNTYsIDEsIDI0OCwgNDcsIDIxOCwgOTAsIDE1NiwgMSwgMjQ4LCA0NywgMTQ5LCAxNTYsIDEsIDI0OCwgNDcsIDIyOSwgCisgICAgMTczLCAxNTYsIDEsIDI0OCwgNDcsIDIzMiwgNzYsIDEzMiwgMywgMjUyLCA3MiwgMTMyLCAzLCAyMDgsIDE4MiwgMTMyLCAxLCAKKyAgICAyNTEsIDE1NywgMTMyLCAxLCAyNTMsIDExOCwgMTMyLCAxLCAyNTIsIDIyOCwgMTMyLCAxLCAyNTIsIDI0MywgMTMyLCAxLCAKKyAgICAyMzIsIDIxMCwgMTMyLCAxLCAyMzMsIDEwMSwgMTMyLCAxLCAyMDksIDE1MywgMTMyLCAxLCAyMDksIDE1NiwgMTMyLCAxLCAKKyAgICAyMzIsIDIzNiwgMTMyLCAxLCAyMzIsIDIzNywgMTMyLCAxLCAyMzMsIDg3LCAxMzIsIDEsIDIzMywgODksIDEzMiwgMSwgCisgICAgMjQyLCAxNTIsIDEzMiwgMSwgMjQzLCA5OSwgMTMyLCAxLCAyNTIsIDE5MSwgMTMyLCAxLCAyMjIsIDcwLCAxMzIsIDEsIAorICAgIDIyMiwgMTQ1LCAxMzIsIDEsIDI1MSwgMTcwLCAxMzIsIDEsIDI1MiwgMTQ3LCAyMzEsIDIyOSwgMTMyLCAxLCAyMjcsIDI0NiwgCisgICAgMjMxLCAyMjksIDEzMiwgMSwgMjUyLCAxNDcsIDI0MCwgMTkwLCAxMzIsIDEsIDIyNywgMjQ2LCAyNDAsIDE5MCwgMTMyLCAxLCAKKyAgICAyMzIsIDIyLCAyMjUsIDIyOSwgMTMyLCAxLCAyMTcsIDE0MywgMjQwLCAxOTAsIDEzMiwgMSwgMjUyLCAxNDcsIDI0OCwgCisgICAgMTc0LCAxMzIsIDEsIDIyNywgMjQ2LCAyNDgsIDE3NCwgMTMyLCAxLCAyNTIsIDE0NywgMjMyLCAxODUsIDEzMiwgMSwgMjI3LCAKKyAgICAyNDYsIDIzMiwgMTg1LCAxMzIsIDEsIDIxMiwgMjEyLCAyMjUsIDIyOSwgMTMyLCAxLCAyMTIsIDIxMiwgMjE3LCAxNDIsIAorICAgIDIyNSwgMjMwLCAxMzIsIDEsIDIxNywgMTQzLCAyMzIsIDE4NSwgMTMyLCAxLCAyNTIsIDE0NywgMjEwLCAyMDQsIDEzMiwgMSwgCisgICAgMjI3LCAyNDYsIDIxMCwgMjA0LCAxMzIsIDEsIDI1MiwgMTQ3LCAyNDYsIDQ1LCAxMzIsIDEsIDIyNywgMjQ2LCAyNDYsIDQ1LCAKKyAgICAxMzIsIDEsIDIyNiwgNjEsIDIyNSwgMTg0LCAxMzIsIDEsIDIxNywgMTQzLCAyNDYsIDQ1LCAxMzIsIDEsIDI1MiwgMTQ3LCAKKyAgICAyMTIsIDEzOSwgMTMyLCAxLCAyMjcsIDI0NiwgMjEyLCAxMzksIDEzMiwgMSwgMjUyLCAxNDcsIDI0NiwgNjUsIDEzMiwgMSwgCisgICAgMjI3LCAyNDYsIDI0NiwgNjUsIDEzMiwgMSwgMjQ2LCA5NiwgMjI1LCAxODQsIDEzMiwgMSwgMjE3LCAxNDMsIDI0NiwgNjUsIAorICAgIDEzMiwgMSwgMjUyLCAxNDcsIDIyMSwgMTgyLCAxMzIsIDEsIDIyNywgMjQ2LCAyMjEsIDE4MiwgMTMyLCAxLCAyNTIsIDE0NywgCisgICAgMjUwLCA5OSwgMTMyLCAxLCAyMjcsIDI0NiwgMjUwLCA5OSwgMTMyLCAxLCAyMjcsIDE2MSwgMTMyLCAxLCAyNTIsIDEzMSwgCisgICAgMjUwLCA5OSwgMTMyLCAxLCAyMDYsIDU3LCAxMzIsIDEsIDIxOSwgNTcsIDEzMiwgMSwgMjQ2LCA5NiwgMjMwLCA2NywgMTMyLCAKKyAgICAxLCAyMDksIDQxLCAxMzIsIDEsIDIxMiwgMjEyLCAyMTcsIDExNSwgMTMyLCAxLCAyMjYsIDYxLCAyMTcsIDExNSwgMTMyLCAKKyAgICAxLCAyNDYsIDk2LCAyMTcsIDExNSwgMTMyLCAxLCAyMzksIDc1LCAxMzIsIDEsIDIyNiwgNjEsIDIzMCwgNjcsIDEzMiwgMSwgCisgICAgMjQyLCAzMCwgMTMyLCAzLCAyNTIsIDE4MCwgMTMyLCAyMiwgMywgMjUyLCAyMzgsIDEzMiwgMjIsIDMsIDIzMSwgMTkyLCAKKyAgICAyNTIsIDI0NSwgMTMyLCAyMiwgMywgMjQ1LCAxMzUsIDI1MiwgMjQ1LCAxMzIsIDIyLCAzLCAyMzEsIDE5MiwgMjMyLCAyMzMsIAorICAgIDEzMiwgMjIsIDMsIDI0NSwgMTM1LCAyMzIsIDIzMywgMTMyLCAyMiwgMywgMjMxLCAxOTIsIDIyMiwgNTAsIDEzMiwgMjIsIAorICAgIDMsIDI0NSwgMTM1LCAyMjIsIDUwLCAxMzIsIDIyLCAzLCAyNDAsIDIzMywgMTMyLCAyMiwgMywgMjMxLCAzOCwgMTMyLCAyMiwgCisgICAgMywgMjQ1LCAxMzUsIDIzMSwgMzgsIDEzMiwgMjIsIDMsIDIzMSwgNDAsIDI0NSwgMjQwLCAxMzIsIDIyLCAzLCAyMzEsIDM5LCAKKyAgICAyMzksIDE0MiwgMjUyLCAyMzgsIDEzMiwgMjIsIDMsIDIzMSwgMzksIDIzOSwgMTQyLCAyNDUsIDEzNSwgMjUyLCAyMzgsIAorICAgIDEzMiwgMjIsIDMsIDIzMSwgMzksIDIzOSwgMTQyLCAyNDAsIDE4OSwgMTMyLCAyMiwgMywgMjQwLCAxODksIDEzMiwgMjI5LCAKKyAgICAxODMsIDE4LCAyMDUsIDg1LCAxMzIsIDIyOSwgMTgzLCAxOCwgMTAyLCAxMzIsIDIyOSwgMTgzLCAxOCwgMTA1LCAxMzIsIAorICAgIDIyOSwgMTgzLCAxOCwgMTQyLCAxMzIsIDIyOSwgMTgzLCAxOCwgMTM5LCAxMzIsIDIyOSwgMTgzLCAxOCwgMTY4LCAxMzIsIAorICAgIDIyOSwgMTgzLCAxOCwgMTg0LCAxMzIsIDIyOSwgMTgzLCAxOCwgMTk1LCAxMzIsIDIyOSwgMTgzLCAxOCwgMTkzLCAxMzIsIAorICAgIDIyOSwgMTgzLCAxOCwgMjAwLCAxMzIsIDIyLCAzLCAyNDUsIDEzNSwgMjQwLCAyMzMsIDEzMiwgMjIsIDMsIDI0NSwgMTM1LCAKKyAgICAyNDAsIDE4OSwgMTMyLCAyMjAsIDcyLCAyMzAsIDIyMSwgMTg5LCAxNTcsIDIzMSwgNTQsIDIzMiwgNDEsIDE4OSwgMTU3LCAKKyAgICAyMzEsIDEzOSwgMjMxLCAxNjIsIDE4OSwgMTU3LCAyMzEsIDEzOSwgMjMxLCAxMzEsIDE4OSwgMTU3LCAyMzEsIDEzOSwgCisgICAgMjMxLCAxMjYsIDE4OSwgMTU3LCAyMzEsIDEzOSwgMjMxLCAxMzUsIDE4OSwgMTU3LCAyMzEsIDEzOSwgMjE5LCA3OCwgMTg5LCAKKyAgICAxNTcsIDIyNSwgMywgMjI0LCAyNDYsIDE4OSwgMTU3LCAyNDgsIDMzLCAyNDgsIDEwMCwgMTg5LCAxNTcsIDI0OCwgMzMsIAorICAgIDI0OCwgNDMsIDE4OSwgMTU3LCAyNDgsIDMzLCAyNDgsIDk5LCAxODksIDE1NywgMjE0LCAxOTQsIDIxNCwgMTkzLCAxODksIAorICAgIDE1NywgMjQ4LCAzMywgMjQ4LCAyOSwgMTg5LCAxNTcsIDIwNSwgMjQ4LCAyMDUsIDI1NSwgMTg5LCAxNTcsIDI0NSwgNTIsIAorICAgIDI0OCwgMTA3LCAxODksIDE1NywgMjExLCAxMzAsIDIyMSwgMTkzLCAxODksIDE1NywgMjExLCAyNTQsIDIxMiwgNDYsIDE4OSwgCisgICAgMTU3LCAyMTEsIDI1NCwgMjI1LCAyMDYsIDE4OSwgMTU3LCAyMTEsIDI1NCwgMjIxLCA1NiwgMTg5LCAxNTcsIDIyNCwgNjgsIAorICAgIDIyNSwgMTAxLCAxODksIDE1NywgMjQ1LCA1MiwgMjQ1LCAyNDEsIDE4OSwgMTU3LCAyMTEsIDEzMCwgMjEyLCAxNjcsIDE4OSwgCisgICAgMTU3LCAyMTEsIDI1NCwgMjExLCAyMjUsIDE4OSwgMTU3LCAyMTEsIDI1NCwgMjEyLCA1MiwgMTg5LCAxNTcsIDIxMSwgMjU0LCAKKyAgICAyMTEsIDI0OSwgMTg5LCAxNTcsIDIyNCwgNjgsIDIyMywgMjE3LCAxODksIDE1NywgMjQ5LCAxODUsIDI1MCwgMTU0LCAxODksIAorICAgIDE1NywgMjIwLCAyMTIsIDIyMCwgMjQwLCAxODksIDE1NywgMjIxLCA2NywgMjIxLCA1OCwgMTg5LCAxNTcsIDI0MSwgMTYzLCAKKyAgICAyNDIsIDczLCAxODksIDE1NywgMjIxLCA2NywgMjIxLCA4NiwgMTg5LCAxNTcsIDI0MSwgMTYzLCAyNDIsIDQ3LCAxODksIAorICAgIDE1NywgMjIxLCA2NywgMjE3LCAxNTUsIDE4OSwgMTU3LCAyMjYsIDE4MiwgMTg1LCAxODksIDE1NywgMjA1LCAyNDgsIDIwNiwgCisgICAgODUsIDE4OSwgMTU3LCAyMTgsIDEyNSwgMjE4LCA0OSwgMTg5LCAxNTcsIDIxOCwgNTAsIDE4OSwgMTU3LCAyMjksIDE0NSwgCisgICAgMjI5LCAxOTgsIDE4OSwgMTU3LCAyMjksIDgxLCAxODksIDE1NywgMjA2LCAyNTEsIDIwNywgOTEsIDE4OSwgMTU3LCAyMTQsIAorICAgIDE5NCwgMjE3LCAxNzAsIDE4OSwgMTU3LCAyMTQsIDE5NCwgMjE4LCAyMywgMTg5LCAxNTcsIDIxNCwgMTk0LCAyMTMsIDIwMiwgCisgICAgMTg5LCAxNTcsIDIzOCwgMTUwLCAyMzgsIDI0NSwgMTg5LCAxNTcsIDIyOSwgMTQ1LCAyNDgsIDEzLCAxODksIDE1NywgMTQ4LCAKKyAgICAyNTIsIDExNCwgMTg5LCAxNTcsIDIzOCwgMTUwLCAyMjQsIDYzLCAxODksIDE1NywgMjIyLCAyOCwgMTg5LCAxNTcsIDIxNywgCisgICAgMTM3LCA2MiwgMTg5LCAxNTcsIDIyNywgMjQwLCAyMzksIDEwOSwgMTg5LCAxNTcsIDIxNywgMTM3LCAyNTMsIDE2NCwgMTg5LCAKKyAgICAxNTcsIDIxNywgMTM3LCAyNTIsIDEzNiwgMTg5LCAxNTcsIDIxNywgMTM3LCA3NCwgMTg5LCAxNTcsIDIxNywgMTM3LCAyMzMsIAorICAgIDEwMiwgMTg5LCAxNTcsIDIxNywgMTM3LCAyMTAsIDMsIDE4OSwgMTU3LCAyMTcsIDEzNywgMjEwLCAxLCAxODksIDE1NywgCisgICAgMjE3LCAxMzcsIDcxLCAxODksIDE1NywgMjE3LCAxMzcsIDIwOSwgMTYyLCAxODksIDE1NywgMjIxLCA2OSwgMTg5LCAyNDcsIAorICAgIDI1LCAxNiwgMjUwLCAxNTUsIDE4OSwgMTU3LCAyMTcsIDEzNywgNzUsIDE4OSwgMTU3LCAyMTcsIDEzNywgMjUyLCAyNDgsIAorICAgIDE4OSwgMTU3LCAyMTcsIDEzNywgNzYsIDE4OSwgMTU3LCAyMTcsIDEzNywgMjUyLCAyMDYsIDIyNywgMjM0LCAxODksIDE1NywgCisgICAgMjE3LCAxMzcsIDI1MiwgMjA2LCAyMjcsIDIzNSwgMTg5LCAxNTcsIDIzMCwgMTEwLCAxODksIDE1NywgMjI3LCAyMzEsIAorICAgIDE4OSwgMTU3LCAyMjcsIDIzMiwgMTg5LCAxNTcsIDIyNywgMjQwLCAyNDMsIDc1LCAxODksIDE1NywgMjI3LCAyNDAsIDIxMSwgCisgICAgMjUzLCAxODksIDE1NywgMjI3LCAyNDAsIDIxMSwgNTQsIDE4OSwgMTU3LCAyMjcsIDI0MCwgMjQ4LCA4NywgMTg5LCAxNTcsIAorICAgIDIxMiwgNDQsIDE4OSwgMTU3LCAyMjQsIDIwMiwgMTg5LCAxNTcsIDIwNiwgNzksIDE4OSwgMTU3LCAyNDEsIDE1MywgMTg5LCAKKyAgICAxOCwgMjA1LCA4NSwgMTg5LCAxOCwgMTAyLCAxODksIDE4LCAxMDUsIDE4OSwgMTgsIDE0MiwgMTg5LCAxOCwgMTM5LCAxODksIAorICAgIDE4LCAxNjgsIDE4OSwgMTgsIDE4NCwgMTg5LCAxOCwgMTk1LCAxODksIDE4LCAxOTMsIDE4OSwgMTgsIDIwMCwgMTg5LCAKKyAgICAxNTcsIDI1MiwgMTEwLCAxODksIDE1NywgMjMxLCAxMzYsIDIzMCwgOTAsIDEsIDIzMSwgNTMsIDIzMCwgOTAsIDEsIDIzMSwgCisgICAgMTM5LCAyMTMsIDE1MSwgMjMwLCA5MCwgMSwgMjMxLCAxMzksIDIxMiwgMTc2LCAyMzAsIDkwLCAxLCAyMjUsIDIsIDIzMCwgCisgICAgOTAsIDEsIDI0NywgMTc0LCAyMzAsIDkwLCAxLCAyMTQsIDE5NCwgMjEyLCAxNzYsIDIzMCwgOTAsIDEsIDIyMywgMTEwLCAKKyAgICAyMzAsIDkwLCAxLCAyNDUsIDUxLCAyMzAsIDkwLCAxLCAxMjQsIDIzMCwgOTAsIDEsIDIxMSwgMjU0LCAyMTMsIDE1MSwgCisgICAgMjMwLCA5MCwgMSwgMjExLCAyNTQsIDIxMiwgMTc2LCAyMzAsIDkwLCAxLCAyMjQsIDY3LCAyMzAsIDkwLCAxLCAyNDksIAorICAgIDE4NCwgMjMwLCA5MCwgMSwgMjIwLCAyMTEsIDIzMCwgOTAsIDEsIDIyMSwgNjcsIDIxMywgMTUxLCAyMzAsIDkwLCAxLCAKKyAgICAyNDEsIDE2MywgMjEyLCAxNzYsIDIzMCwgOTAsIDEsIDIyMSwgNjcsIDIxMiwgMTc2LCAyMzAsIDkwLCAxLCAyNDEsIDE2MywgCisgICAgMjEzLCAxNTEsIDIzMCwgOTAsIDEsIDIyNiwgMTgxLCAyMzAsIDkwLCAxLCAyMDUsIDI0NywgMjMwLCA5MCwgMSwgMjI5LCAKKyAgICAxNDUsIDIyOSwgMTk4LCAyMzAsIDkwLCAxLCAyMjksIDE0NSwgMjI5LCAxMDksIDIzMCwgOTAsIDEsIDIwNiwgMjUwLCAyMzAsIAorICAgIDkwLCAxLCAyMTQsIDE5NCwgMjEzLCAxNTEsIDIzMCwgOTAsIDEsIDIzOCwgMTUwLCAyMTMsIDE1MSwgMjMwLCA5MCwgMSwgCisgICAgNzYsIDIzMCwgOTAsIDEsIDIzOCwgMTUwLCAyMTIsIDE3NiwgMjMwLCA5MCwgMjQzLCA1NCwgMjMwLCA5MCwgMjIsIDMsIDYyLCAKKyAgICAyMzAsIDkwLCAyMiwgMywgMjI3LCAyNDAsIDIzMiwgMjcsIDIzMCwgOTAsIDIyLCAzLCAyNTMsIDE2NCwgMjMwLCA5MCwgMjIsIAorICAgIDMsIDI1MiwgMTM2LCAyMzAsIDkwLCAyMiwgMywgNzQsIDIzMCwgOTAsIDIyLCAzLCAyMzMsIDEwMiwgMjMwLCA5MCwgMjIsIAorICAgIDMsIDIwNiwgMTIzLCAyMzAsIDkwLCAyMiwgMywgMjA1LCAxNjksIDIzMCwgOTAsIDIyLCAzLCA3MSwgMjMwLCA5MCwgMjIsIAorICAgIDMsIDIwOSwgMTYyLCAyMzAsIDkwLCAyMiwgMywgMjI3LCAyNDAsIDIzMSwgMzYsIDIzMCwgOTAsIDIxNiwgNDcsIDMsIDIyOSwgCisgICAgMTQ0LCAyMzAsIDkwLCAyMTYsIDQ3LCAzLCAyMjMsIDExMCwgMjMwLCA5MCwgMjIsIDMsIDc1LCAyMzAsIDkwLCAyMiwgMywgCisgICAgMjQzLCA5MCwgMjMwLCA5MCwgMjIsIDMsIDc2LCAyMzAsIDkwLCAyMiwgMywgMjUxLCAxNTksIDIzMCwgOTAsIDIyLCAzLCAKKyAgICAyNTIsIDIwNSwgMjMwLCA5MCwgMjMxLCA1NCwgMjMwLCAxNDEsIDIzMCwgOTAsIDEzNSwgMjI3LCAyNDAsIDI0MywgNzUsIAorICAgIDIzMCwgOTAsIDEzNSwgMjI3LCAyNDAsIDIxMSwgMjUzLCAyMzAsIDkwLCAxMzUsIDIyNywgMjQwLCAyMTEsIDIxMSwgMjMwLCAKKyAgICA5MCwgMTM1LCAyMjcsIDI0MCwgMjQ4LCAxODIsIDIzMCwgOTAsIDI0OCwgMjIzLCA4MywgMjMwLCA5MCwgMjI0LCAyMTEsIAorICAgIDIzMCwgOTAsIDE4LCAyMDUsIDg1LCAyMzAsIDkwLCAxOCwgMTAyLCAyMzAsIDkwLCAxOCwgMTA1LCAyMzAsIDkwLCAxOCwgCisgICAgMTQyLCAyMzAsIDkwLCAxOCwgMTM5LCAyMzAsIDkwLCAxOCwgMTY4LCAyMzAsIDkwLCAxOCwgMTg0LCAyMzAsIDkwLCAxOCwgCisgICAgMTk1LCAyMzAsIDkwLCAxOCwgMTkzLCAyMzAsIDkwLCAxOCwgMjAwLCAyMzAsIDkwLCAyMzgsIDE1MCwgMjI0LCA2NywgMjMwLCAKKyAgICA5MCwgMjM4LCAxNTAsIDIyNiwgMTgxLCAyMzAsIDkwLCAxLCAyMzEsIDE0MCwgMjQwLCAxOSwgMjMwLCA5MCwgMSwgMjMxLCAKKyAgICAxNDAsIDIyMywgMTEwLCA3MiwgNCwgMjIyLCAxNzMsIDcyLCAxNDEsIDIzOSwgMjE1LCAyMDYsIDMsIDIyNywgMTYsIDIxMCwgCisgICAgMjQ5LCA2MiwgNzIsIDE0MSwgMjM5LCAyMTUsIDIwNiwgMywgMjI3LCAxNiwgMjU0LCAyNTQsIDIxOCwgMTI5LCAyNTAsIDYzLCAKKyAgICAxODUsIDcyLCAxNDEsIDIzOSwgMjE1LCAyMDYsIDMsIDIyNywgMTYsIDI1NCwgMjU0LCAyMzksIDIxNSwgMjEwLCAyMjksIAorICAgIDE4NSwgNzIsIDE0MSwgNzgsIDIwNiwgMywgMjI3LCAxNiwgMjI3LCAxMjEsIDE4NSwgNzIsIDE0MSwgMjQ3LCAxODgsIDIwNiwgCisgICAgMywgMjI3LCAxNiwgMjE2LCA5LCAxODUsIDcyLCAxNDEsIDI0OCwgMjAwLCAyMDYsIDMsIDIyNywgMTYsIDIyMSwgNTcsIAorICAgIDIxNSwgMjUyLCAxODUsIDcyLCAxNDEsIDIwNiwgMywgMjI3LCAxNiwgMjEwLCAyMjksIDIxNSwgMjUyLCAxODUsIDcyLCAKKyAgICAxNDEsIDIxNywgMTEzLCAyMTUsIDI1MSwgNzIsIDE0MSwgMjQ5LCAxMDQsIDIwNiwgMywgMjI3LCAxNSwgNzIsIDE0MSwgCisgICAgMjQ5LCAyMDQsIDIxNSwgMTU0LCAyMDYsIDMsIDIyNywgMTUsIDcyLCAxNDEsIDIzMywgNiwgMjEwLCAyMjgsIDcyLCAxNDEsIAorICAgIDI0NSwgMjM0LCAyMTAsIDIyOSwgMjQ5LCAxMDMsIDcyLCAxNDEsIDIxNSwgMjUxLCA3MiwgMTQxLCAyMjMsIDExNSwgMjE1LCAKKyAgICAyNTEsIDcyLCAxNDEsIDIxMCwgMjI5LCAyMTUsIDI1MSwgNzIsIDE0MSwgMjIzLCAxMTUsIDIxMCwgMjI5LCAyMTUsIDI1MSwgCisgICAgNzIsIDE0MSwgMjE4LCAxNTEsIDI0OCwgNzEsIDIxNCwgMTEwLCAyMTUsIDI1MSwgNzIsIDE0MSwgMjE4LCAyMTYsIDIzOSwgCisgICAgMjQ2LCAyMTUsIDI1MSwgNzIsIDE0MSwgMjQ4LCAyMDAsIDI1NSwgMiwgMjE4LCA1NCwgMjI3LCAxMjAsIDE1MiwgMjQ4LCAKKyAgICAyMjYsIDcyLCAxNDEsIDIzOSwgMjE1LCAyMTAsIDIyOCwgNzIsIDIyOSwgMTMyLCAzLCAyNDgsIDEwOCwgMjE4LCA1MywgNzIsIAorICAgIDIyOSwgMTMyLCAzLCAyMjksIDI0NiwgMjE4LCA1MywgNzIsIDI1MSwgMjA1LCAzLCAyMTYsIDUsIDI0MCwgMTczLCAyNTUsIAorICAgIDMsIDIxOCwgNTMsIDcyLCAyNTEsIDIwNSwgMywgMjU1LCAwLCAxNzksIDcyLCAyNTEsIDIwNSwgMywgMjE3LCA4NywgMjEwLCAKKyAgICAyMjMsIDcyLCAzLCAyMTksIDUzLCAyNDUsIDY1LCAyNDAsIDE3MiwgNzIsIDMsIDIxOSwgNTMsIDI0NSwgNjUsIDI0MCwgMjEsIAorICAgIDcyLCAzLCAyMTksIDUzLCAyNDUsIDY1LCAyMzksIDIxNiwgNzIsIDMsIDIxOSwgNTMsIDIyNSwgMjI1LCAyNDAsIDE3MiwgCisgICAgNzIsIDMsIDIxOSwgNTMsIDIyNSwgMjI1LCAyNDAsIDIxLCA3MiwgMywgMjE5LCA1MywgMjQ1LCA2NSwgMjE5LCA1MywgMjI1LCAKKyAgICAyMjQsIDcyLCAxOCwgMjA1LCA4NSwgNzIsIDE4LCAxMDIsIDcyLCAxOCwgMTA1LCA3MiwgMTgsIDE0MiwgNzIsIDE4LCAxMzksIAorICAgIDcyLCAxOCwgMTY4LCA3MiwgMTgsIDE4NCwgNzIsIDE4LCAxOTUsIDcyLCAxOCwgMTkzLCA3MiwgMTgsIDIwMCwgNzIsIDE4LCAKKyAgICAxNjAsIDEwMiwgNzIsIDE4LCAxNjAsIDEwNSwgNzIsIDE4LCAxNjAsIDE0MiwgNzIsIDE4LCAxNjAsIDEzOSwgNzIsIDE4LCAKKyAgICAxNjAsIDE2OCwgNzIsIDE4LCAxNjAsIDE4NCwgNzIsIDE4LCAxNjAsIDE5NSwgNzIsIDE4LCAxNjAsIDE5MywgNzIsIDE4LCAKKyAgICAxNjAsIDIwMCwgNzIsIDE4LCAxNjAsIDIwNSwgODUsIDcyLCAxNDEsIDI0OSwgMTA2LCAyMTgsIDUzLCA3MiwgMTQxLCAyMjUsIAorICAgIDY4LCAyNDksIDM2LCAyMjMsIDEyNiwgMjA1LCAyMSwgNzIsIDE0MSwgMjQ4LCAyMDAsIDI1NSwgMiwgMjE4LCA1NCwgMjQ5LCAKKyAgICAzNywgMjI2LCAyMjUsIDI0OCwgMjI2LCA3MiwgMTQxLCAyMjUsIDY4LCAyNDksIDM2LCAyMTYsIDYsIDIxOCwgNTMsIDcyLCAKKyAgICAxNDEsIDI0OCwgODMsIDIyNywgMTUsIDcyLCAxNDEsIDIxMCwgMjQ0LCAyNTQsIDI1NSwgNzIsIDE0MSwgMjM5LCAxOTgsIAorICAgIDIxOCwgNTQsIDIzOSwgMTU4LCA3MiwgMTQxLCAyMzksIDE5OCwgMjE4LCA1NCwgMjM5LCAxNjQsIDcyLCAxNDEsIDI1MiwgCisgICAgMTE1LCAyMzEsIDE1NywgMjM5LCAxNTgsIDcyLCAxNDEsIDI1MiwgMTE1LCAyMzEsIDE1NywgMjM5LCAxNjQsIDcyLCAzLCAKKyAgICAyMDYsIDcxLCAyMTAsIDIyNywgNzIsIDMsIDIyNywgMjAwLCAyMTAsIDIyNywgNzIsIDEsIDE3MiwgNzIsIDEsIDIzMSwgCisgICAgMTY3LCA3MiwgMSwgMjQwLCAyNDQsIDcyLCAxLCAyNDAsIDk5LCA3MiwgMSwgMjI1LCA3NywgNzIsIDEsIDI0OSwgMSwgNzIsIAorICAgIDEsIDI0OCwgMTEwLCA3MiwgMSwgMjMyLCAyMDAsIDcyLCAxLCAyMjMsIDE0NCwgNzIsIDEsIDIxMCwgMjA4LCA3MiwgMSwgCisgICAgMjEwLCAxOTYsIDcyLCAxLCAyNDYsIDU0LCA3MiwgMSwgMjQ2LCAzOCwgNzIsIDEsIDIyNCwgMTAzLCA3MiwgMSwgMjEyLCAKKyAgICAyMTksIDcyLCAxLCAyMTIsIDU2LCA3MiwgMSwgMjQ2LCAxNDUsIDcyLCAxLCAyNDUsIDE5MiwgNzIsIDEsIDE5OSwgNzIsIDEsIAorICAgIDE3OSwgNzIsIDEsIDIyMSwgOTMsIDcyLCAxLCAyNTAsIDE4MywgNzIsIDEsIDI1MCwgMCwgNzIsIDEsIDE4NSwgNzIsIDEsIAorICAgIDIxMCwgMjQzLCA3MiwgMSwgMjEwLCAyMzMsIDcyLCAxLCAyNDMsIDE5NiwgNzIsIDEsIDI0MywgMTkwLCA3MiwgMSwgMjA3LCAKKyAgICA5NiwgNzIsIDEsIDIwNSwgODEsIDcyLCAxLCAyMDUsIDExNiwgNzIsIDEsIDI1NSwgNSwgNzIsIDEsIDE5MCwgNzIsIDEsIAorICAgIDIxOSwgMTEzLCA3MiwgMSwgMjMwLCAxNDEsIDcyLCAxLCAyMTYsIDIsIDcyLCAxLCAyMTQsIDk2LCA3MiwgMSwgMjE3LCAKKyAgICAxOTksIDcyLCAxLCAxNTUsIDcyLCAxLCA2MiwgNzIsIDEsIDIzMCwgMjUwLCA3MiwgMSwgMjQxLCAyMDAsIDIxOSwgMTEzLCAKKyAgICA3MiwgMSwgMjMxLCA3MiwgNzIsIDEsIDIxOCwgODksIDcyLCAyMiwgMywgMjUzLCAxNjQsIDcyLCAyMiwgMywgNzQsIDcyLCAKKyAgICAyMiwgMywgMjMzLCAxMDIsIDcyLCAyMiwgMywgNzEsIDcyLCAyMiwgMywgMjA5LCAxNjIsIDcyLCAyMiwgMywgMTE1LCAxMzcsIAorICAgIDcyLCAyMiwgMywgMTE1LCAyMTgsIDkwLCA3MiwgMjIsIDMsIDExNSwgMTQ5LCA3MiwgMjIsIDMsIDExNSwgMjI5LCAxNzMsIAorICAgIDcyLCAyMiwgMywgNzUsIDcyLCAyMiwgMywgMjQzLCAxMDQsIDcyLCAyMiwgMywgNzYsIDcyLCAyMiwgMywgMjIyLCAxNTIsIAorICAgIDcyLCAzLCAyMTgsIDEzNSwgMjEzLCAyMDQsIDIyNSwgNzgsIDIxOCwgMTI0LCA3MiwgMywgMjE4LCAxMjksIDI1MCwgNjIsIAorICAgIDcyLCAyMiwgMywgMjE4LCAyMjQsIDc0LCA3MiwgMjIsIDMsIDIxOCwgMjI0LCAyMzMsIDEwMiwgNzIsIDMsIDIyMywgMTI2LCAKKyAgICAyMDUsIDIyLCAyMjUsIDIzMywgMjQ2LCAxNDUsIDcyLCAzLCAyMTQsIDIwNywgMjMwLCA2MCwgNzIsIDE0MSwgMjM5LCAxMjMsIAorICAgIDcyLCAxNDEsIDIyMiwgMTYsIDcyLCAzLCAyMzAsIDYzLCAyMTgsIDUzLCA3MiwgMywgMjA2LCA3NiwgMjE4LCA1MywgNzIsIAorICAgIDMsIDIzMCwgNjQsIDIxMCwgMjQ0LCAyNDgsIDIyNiwgNzIsIDMsIDIyNywgMTIzLCAyNDgsIDIyNiwgNzIsIDMsIDIzOSwgCisgICAgMjE5LCAyNDgsIDIyNywgMjE4LCAyMTQsIDcyLCAzLCAyMzksIDIxOSwgMjI3LCAxMTMsIDIxOCwgMjE0LCA3MiwgMywgMjMzLCAKKyAgICAyLCAyMjcsIDEyMywgMjQ4LCAyMjYsIDcyLCAyMTMsIDE5MSwgMywgMjMwLCA2NCwgMjEwLCAyNDQsIDI0OCwgMjI2LCA3MiwgCisgICAgMjEzLCAxOTEsIDMsIDIyNywgMTIzLCAyNDgsIDIyNiwgNzIsIDIxMywgMTkxLCAzLCAyMzMsIDIsIDIyNywgMTIzLCAyNDgsIAorICAgIDIyNiwgNzIsIDIxMywgMTkxLCAxLCAxNzIsIDcyLCAyMTMsIDE5MSwgMSwgMjMxLCAxNjcsIDcyLCAyMTMsIDE5MSwgMSwgCisgICAgMjQwLCAyNDQsIDcyLCAyMTMsIDE5MSwgMSwgMjQwLCA5OSwgNzIsIDIxMywgMTkxLCAxLCAyMjUsIDc3LCA3MiwgMjEzLCAKKyAgICAxOTEsIDEsIDI0OSwgMSwgNzIsIDIxMywgMTkxLCAxLCAyNDgsIDExMCwgNzIsIDIxMywgMTkxLCAxLCAyMzIsIDIwMCwgNzIsIAorICAgIDIxMywgMTkxLCAxLCAyMjMsIDE0NCwgNzIsIDIxMywgMTkxLCAxLCAyMTAsIDIwOCwgNzIsIDIxMywgMTkxLCAxLCAyMTAsIAorICAgIDE5NiwgNzIsIDIxMywgMTkxLCAxLCAyNDYsIDU0LCA3MiwgMjEzLCAxOTEsIDEsIDI0NiwgMzgsIDcyLCAyMTMsIDE5MSwgMSwgCisgICAgMjI0LCAxMDMsIDcyLCAyMTMsIDE5MSwgMSwgMjEyLCAyMTksIDcyLCAyMTMsIDE5MSwgMSwgMjEyLCA1NiwgNzIsIDIxMywgCisgICAgMTkxLCAxLCAyNDYsIDE0NSwgNzIsIDIxMywgMTkxLCAxLCAyNDUsIDE5MiwgNzIsIDIxMywgMTkxLCAxLCAxOTksIDcyLCAKKyAgICAyMTMsIDE5MSwgMSwgMTc5LCA3MiwgMjEzLCAxOTEsIDEsIDIyMSwgOTMsIDcyLCAyMTMsIDE5MSwgMSwgMjUwLCAxODMsIAorICAgIDcyLCAyMTMsIDE5MSwgMSwgMjUwLCAwLCA3MiwgMjEzLCAxOTEsIDEsIDE4NSwgNzIsIDIxMywgMTkxLCAxLCAyMTAsIDI0MywgCisgICAgNzIsIDIxMywgMTkxLCAxLCAyMTAsIDIzMywgNzIsIDIxMywgMTkxLCAxLCAyNDMsIDE5NiwgNzIsIDIxMywgMTkxLCAxLCAKKyAgICAyNDMsIDE5MCwgNzIsIDIxMywgMTkxLCAxLCAyMDcsIDk2LCA3MiwgMjEzLCAxOTEsIDEsIDIwNSwgODEsIDcyLCAyMTMsIAorICAgIDE5MSwgMSwgMjA1LCAxMTYsIDcyLCAyMTMsIDE5MSwgMSwgMjU1LCA1LCA3MiwgMjEzLCAxOTEsIDEsIDE5MCwgNzIsIDIxMywgCisgICAgMTkxLCAxLCAyMTksIDExMywgNzIsIDIxMywgMTkxLCAxLCAyMzAsIDE0MSwgNzIsIDIxMywgMTkxLCAxLCAyMTYsIDIsIDcyLCAKKyAgICAyMTMsIDE5MSwgMSwgMjE0LCA5NiwgNzIsIDIxMywgMTkxLCAxLCAyMTcsIDE5OSwgNzIsIDIxMywgMTkxLCAxLCAxNTUsIAorICAgIDcyLCAyMTMsIDE5MSwgMSwgNjIsIDcyLCAyMTMsIDE5MSwgMSwgMjMwLCAyNTAsIDcyLCAyMTMsIDE5MSwgMSwgMjQxLCAKKyAgICAyMDAsIDIwNywgOTYsIDcyLCAyMTMsIDE5MSwgMSwgMjQxLCAyMDAsIDE5MCwgNzIsIDIxMywgMTkxLCAxLCAyNDEsIDIwMCwgCisgICAgMjE5LCAxMTMsIDcyLCAyMzAsIDIzNywgMjE4LCA1MSwgMjMxLCAxNjcsIDcyLCAyMzAsIDIzNywgMjE4LCA1MSwgMjMxLCAKKyAgICAxNjgsIDI0OSwgMzcsIDIyNiwgMjI1LCAyNDgsIDIyNiwgNzIsIDI0OCwgMjE0LCAzLCA3NywgMjUwLCA1NSwgNzIsIDI0OCwgCisgICAgMjE0LCAzLCAxNDcsIDI1MCwgNTUsIDcyLCAyNDgsIDIxNCwgMywgMjQ4LCAyMTUsIDIxMiwgMTI5LCA3MiwgMjQ4LCAyMTQsIAorICAgIDMsIDIxNywgMTEyLCAyNTUsIDQsIDcyLCAxNiwgMjQzLCAyNTAsIDI0OSwgMTAxLCA3MiwgMTYsIDIxOSwgNTIsIDIxOCwgCisgICAgMTM2LCA3MiwgMTYsIDIyMiwgMzksIDI0MCwgMTcxLCA3MiwgMTYsIDIxOSwgNTIsIDIxOCwgMTM3LCAyMTgsIDIxNiwgMjM5LCAKKyAgICAyNDUsIDcyLCAxNiwgMjIxLCA1NywgMTc5LCA3MiwgMTYsIDIyNCwgNTEsIDI0OSwgMTAxLCA3MiwgMTYsIDIyNCwgNTEsIAorICAgIDI0OSwgMTAyLCAyMjMsIDExNSwgMjU1LCAxLCA3MiwgMTYsIDIyNCwgNTEsIDI0OSwgMTAyLCAyMzksIDIxNywgMjU1LCAxLCAKKyAgICA3MiwgMTYsIDIyNCwgNTEsIDI0OSwgMTAyLCAyNDksIDM3LCAyNTUsIDEsIDcyLCAzLCAyMTksIDUzLCAyMjUsIDIyNSwgCisgICAgMjE5LCA1MywgMjQ1LCA2NCwgNzIsIDMsIDIxOSwgNTMsIDIyNSwgMjI1LCAyMzksIDIxNiwgNzIsIDE0MSwgMjQ5LCAxMDUsIAorICAgIDIxNSwgMTU0LCAyNDAsIDYyLCAyMjcsIDE2LCAyMTgsIDIxNSwgNzIsIDE0MSwgMjI2LCAxODMsIDIwNiwgMywgMjQwLCA2MiwgCisgICAgMjI3LCAxNiwgMjE4LCAyMTUsIDcyLCAxNDEsIDIyMywgMTE1LCAyMTAsIDIyOCwgNzIsIDE0MSwgNzgsIDI0OSwgMTI4LCAKKyAgICAyMTgsIDEyNiwgMjA2LCAzLCAyMjcsIDE2LCAyMjcsIDEyMSwgMTg1LCA3MiwgMTQxLCAyNDcsIDE4OCwgMjQ5LCAxMjgsIAorICAgIDIxOCwgMTI2LCAyMDYsIDMsIDIyNywgMTYsIDIxNiwgOSwgMTg1LCAyMTgsIDE2NiwgMjEzLCAxMTQsIDUzLCAyMzAsIDQ1LCAKKyAgICAyMTMsIDExNCwgNTMsIDIxOCwgMTY2LCAyMTMsIDExNCwgMywgMiwgMjQ1LCAyMSwgMjMwLCA0NSwgMjEzLCAxMTQsIDMsIDIsIAorICAgIDI0NSwgMjEsIDcyLCAxNDEsIDIzMCwgNTUsIDIyNywgMTI0LCAyMTgsIDUzLCA3MiwgMTQxLCAyMTEsIDc2LCAyMjcsIDEyNCwgCisgICAgMjE4LCA1MywgNjYsIDEsIDE3MiwgNjYsIDEsIDIzMSwgMTY3LCA2NiwgMSwgMjQwLCAyNDQsIDY2LCAxLCAyNDAsIDk5LCAKKyAgICA2NiwgMSwgMjI1LCA3NywgNjYsIDEsIDI0OSwgMSwgNjYsIDEsIDI0OCwgMTEwLCA2NiwgMSwgMjMyLCAyMDAsIDY2LCAxLCAKKyAgICAyMzIsIDE3MCwgNjYsIDEsIDIyMywgMTQ0LCA2NiwgMSwgMjI0LCA2OSwgNjYsIDEsIDIxMCwgMjA4LCA2NiwgMSwgMjEwLCAKKyAgICAxOTYsIDY2LCAxLCAyNDYsIDU0LCA2NiwgMSwgMjQ2LCAzOCwgNjYsIDEsIDIyNCwgMTAzLCA2NiwgMSwgMjEyLCAyMTksIAorICAgIDY2LCAxLCAyMTIsIDU2LCA2NiwgMSwgMjQ2LCAxNDUsIDY2LCAxLCAyNDUsIDE5MiwgNjYsIDEsIDE5OSwgNjYsIDEsIDE3OSwgCisgICAgNjYsIDEsIDIyMSwgOTMsIDY2LCAxLCAyNTAsIDE4MywgNjYsIDEsIDI1MCwgMCwgNjYsIDEsIDE4NSwgNjYsIDEsIDE5MCwgCisgICAgNjYsIDEsIDIxOSwgMTEzLCA2NiwgMSwgMjMwLCAxNDEsIDY2LCAxLCAyMDcsIDk2LCA2NiwgMSwgMjE3LCAxOTksIDY2LCAxLCAKKyAgICAxNTUsIDY2LCAxLCAyMjksIDE3MiwgNjYsIDEsIDYyLCA2NiwgMSwgMjE1LCAyMzgsIDYyLCA2NiwgMSwgNzQsIDY2LCAxLCAKKyAgICAyMzMsIDEwMiwgNjYsIDEsIDcxLCA2NiwgMSwgMjA5LCAxNjIsIDY2LCAxLCA3NSwgNjYsIDEsIDIyNiwgMTY5LCA3NSwgNjYsIAorICAgIDEsIDc2LCA2NiwgMSwgMjUxLCAxODQsIDY2LCAyMiwgMywgMjEyLCAxNzgsIDI1MywgMTY0LCA2NiwgMjIsIDMsIDI1MywgCisgICAgMTY0LCA2NiwgMjIsIDMsIDc0LCA2NiwgMjIsIDMsIDIzMywgMTAyLCA2NiwgMjIsIDMsIDcxLCA2NiwgMjIsIDMsIDIwOSwgCisgICAgMTYyLCA2NiwgMjIsIDMsIDc1LCA2NiwgMjIsIDMsIDI1MiwgMjA1LCA2NiwgMjIsIDMsIDIyNiwgMTY5LCAyMzMsIDEwMiwgCisgICAgNjYsIDIyLCAzLCAyMjYsIDE2OSwgNzYsIDY2LCAyMiwgMywgMTc0LCA1MiwgNjYsIDMsIDI1MiwgNzMsIDY2LCAzLCA2NywgCisgICAgNTUsIDY2LCAzLCAyMDgsIDE4MywgNjYsIDMsIDIwOCwgMTg4LCA2NiwgMywgMjUxLCAyMjksIDY2LCAxMDcsIDMsIDE2OSwgCisgICAgMTkwLCA2NiwgMTA3LCAzLCAxNjksIDIxOSwgMTEzLCA2NiwgMTA3LCAzLCAxNjksIDIwNywgOTYsIDY2LCAxMDcsIDMsIAorICAgIDE2OSwgMTU1LCA2NiwgMSwgMjM5LCAyMzIsIDIxNywgMTk5LCA2NiwgMTgsIDIwNSwgODUsIDY2LCAxOCwgMTAyLCA2NiwgCisgICAgMTgsIDEwNSwgNjYsIDE4LCAxNDIsIDY2LCAxOCwgMTM5LCA2NiwgMTgsIDE2OCwgNjYsIDE4LCAxODQsIDY2LCAxOCwgMTk1LCAKKyAgICA2NiwgMTgsIDE5MywgNjYsIDE4LCAyMDAsIDY2LCAzLCAyMjksIDE4MCwgMjE3LCA3NiwgNjYsIDMsIDIxNywgNzYsIDY2LCAKKyAgICAxNiwgMjI5LCAxNDEsIDY2LCAxNiwgMjQ3LCAxNDksIDY2LCAxNiwgMjUyLCAyMjQsIDY2LCAxNiwgMjQwLCAxNTQsIDY2LCAKKyAgICAxLCAyMTYsIDIsIDY2LCAxLCAyMTQsIDk2LCA2NiwgMSwgMTE1LCAxMzcsIDY2LCAxLCAxMTUsIDIxOCwgOTAsIDY2LCAxLCAKKyAgICAxMTUsIDE0OSwgNjYsIDEsIDExNSwgMjI5LCAxNzMsIDY2LCAyMiwgMywgMTE1LCAxMzcsIDY2LCAyMiwgMywgMTE1LCAyMTgsIAorICAgIDkwLCA2NiwgMjIsIDMsIDExNSwgMTQ5LCA2NiwgMjIsIDMsIDExNSwgMjI5LCAxNzMsIDY2LCAxLCAyMjYsIDE2OSwgMjI1LCAKKyAgICA3NywgNjYsIDEsIDIyNiwgMTY5LCAyMzIsIDE3MCwgNjYsIDEsIDIyNiwgMTY5LCAyNTAsIDk3LCA2NiwgMSwgMjI2LCAxNjksIAorICAgIDI1MCwgOTIsIDY2LCAxMDcsIDMsIDIyNiwgMTY5LCAxNjksIDE5OSwgNjYsIDEwNywgMywgMjI2LCAxNjksIDE2OSwgMTg1LCAKKyAgICA2NiwgMTA3LCAzLCAyMjYsIDE2OSwgMTY5LCAyMzAsIDE0MSwgNjYsIDEsIDIxNiwgOCwgMjMyLCA0LCAyMTYsIDIsIDY2LCAKKyAgICAyMiwgMywgMjE2LCA4LCAyMzIsIDQsIDI0MiwgMTkyLCA2NiwgMTM1LCAxNDEsIDIxNiwgOCwgMjMyLCA0LCAyMzksIDgyLCAKKyAgICA2NiwgMTM1LCAxNDEsIDIxNiwgOCwgMjMyLCA0LCAyMzEsIDIyNSwgMjIxLCA2NiwgNjYsIDEsIDIwNywgMzQsIDIyMCwgMzksIAorICAgIDIzMiwgNCwgMjEyLCA1NiwgNjYsIDEsIDIwNywgMzQsIDIyMCwgMzksIDIzMiwgNCwgMjIwLCA0NSwgNjYsIDIyLCAzLCAKKyAgICAyMDcsIDM0LCAyMjAsIDM5LCAyMzIsIDQsIDI0MiwgMTkyLCA2NiwgMjIsIDMsIDIwNywgMzQsIDIyMCwgMzksIDIzMiwgNCwgCisgICAgMjEwLCAzLCA2NiwgMywgMjA3LCAzNCwgMjIwLCAzOSwgMjMyLCA0LCAyMTEsIDExNywgNjYsIDMsIDIwNywgMzQsIDIyMCwgCisgICAgMzksIDIzMiwgNCwgMjExLCAxMTYsIDY2LCAzLCAyMDcsIDM0LCAyMjAsIDM5LCAyMzIsIDQsIDIxMSwgMTE1LCA2NiwgMywgCisgICAgMjA3LCAzNCwgMjIwLCAzOSwgMjMyLCA0LCAyMTEsIDExNCwgNjYsIDMsIDIwNywgMzQsIDIyMCwgMzksIDIzMiwgNCwgMjExLCAKKyAgICAxMTMsIDY2LCAxLCAyNDMsIDExNSwgMjIwLCAzOSwgMjMyLCA0LCAyMjQsIDEwMywgNjYsIDEsIDI0MywgMTE1LCAyMjAsIAorICAgIDM5LCAyMzIsIDQsIDIwNSwgMTc2LCA2NiwgMSwgMjQzLCAxMTUsIDIyMCwgMzksIDIzMiwgNCwgMjQwLCA2NCwgNjYsIDIyLCAKKyAgICAzLCAyNDAsIDE2NiwgMjMyLCA0LCA3NCwgNjYsIDIyLCAzLCAyMzEsIDIzMCwgMjIyLCAyMDYsIDY2LCAyMiwgMywgMjMxLCAKKyAgICAyMzAsIDcxLCA2NiwgMjIsIDMsIDIzMSwgMjMwLCAyNDMsIDEwNCwgNjYsIDEsIDIxNSwgMjM4LCAxNzIsIDY2LCAxLCAyMTUsIAorICAgIDIzOCwgMjMxLCAxNjcsIDY2LCAxLCAyMTUsIDIzOCwgMjQwLCAyNDQsIDY2LCAxLCAyMTUsIDIzOCwgMjQ5LCAxLCA2NiwgMSwgCisgICAgMjE1LCAyMzgsIDIwNSwgMTE2LCA2NiwgMSwgMjE1LCAyMzgsIDIyMywgMTQ0LCA2NiwgMSwgMjE1LCAyMzgsIDI0NiwgMTQ1LCAKKyAgICA2NiwgMSwgMjE1LCAyMzgsIDE5OSwgNjYsIDEsIDIxNSwgMjM4LCAyMjEsIDkzLCA2NiwgMSwgMjE1LCAyMzgsIDI0MiwgNzMsIAorICAgIDY2LCAxLCAyMTUsIDIzOCwgMjUwLCAxODMsIDY2LCAxLCAyMTUsIDIzOCwgMjEyLCA1NiwgNjYsIDEsIDIxNSwgMjM4LCAKKyAgICAxNTUsIDY2LCAxMDcsIDMsIDIxNSwgMjM4LCAxNjksIDIwNywgOTYsIDY2LCAyMiwgMywgMjE1LCAyMzgsIDI1MywgMTY0LCAKKyAgICA2NiwgMjIsIDMsIDIxNSwgMjM4LCA3NSwgNjYsIDIyLCAzLCAyMTUsIDIzOCwgMTc0LCA1MiwgNjYsIDIyLCAzLCAyMTUsIAorICAgIDIzOCwgNDIsIDIwNiwgMTIzLCA2NiwgMywgMjE1LCAyMzgsIDIxMSwgMTE2LCA2NiwgMywgMjE1LCAyMzgsIDIxMSwgMTE1LCAKKyAgICA2NiwgMywgMjE1LCAyMzgsIDIxMSwgMTEzLCA2NiwgMywgMjE1LCAyMzgsIDIxMSwgMTEyLCA2NiwgMywgMjE1LCAyMzgsIAorICAgIDI0NywgODIsIDIxMSwgMTE2LCA2NiwgMywgMjE1LCAyMzgsIDI0NywgODIsIDIxMSwgMTE1LCA2NiwgMywgMjE1LCAyMzgsIAorICAgIDI0NywgODIsIDI0MywgNDQsIDIxMSwgMTE4LCA2NiwgMSwgMjE4LCAzNywgMjIyLCAyMywgMjQyLCA3MywgNjYsIDMsIDIxOCwgCisgICAgMzcsIDIyMiwgMjMsIDIxMSwgMTEzLCA2NiwgMjE1LCAyMzgsIDE4LCAyMDUsIDg1LCA2NiwgMjE1LCAyMzgsIDE4LCAxMDIsIAorICAgIDY2LCAyMTUsIDIzOCwgMTgsIDEwNSwgNjYsIDIxNSwgMjM4LCAxOCwgMTQyLCA2NiwgMjE1LCAyMzgsIDE4LCAxMzksIDY2LCAKKyAgICAyMTUsIDIzOCwgMTgsIDE2OCwgNjYsIDIxNSwgMjM4LCAxOCwgMTg0LCA2NiwgMjE1LCAyMzgsIDE4LCAxOTUsIDY2LCAyMTUsIAorICAgIDIzOCwgMTgsIDE5MywgNjYsIDIxNSwgMjM4LCAxOCwgMjAwLCA2NiwgMywgMjMxLCAxNjAsIDIxMSwgMTE3LCA2NiwgMywgCisgICAgMjMxLCAxNjAsIDIxMSwgMTE1LCA2NiwgMjIsIDMsIDI1MiwgMTkzLCA2MiwgNjYsIDIyLCAzLCAyNTIsIDE5MywgMjUyLCAKKyAgICAyMDUsIDY2LCAxNiwgMjE1LCAyMzgsIDEwMiwgNjYsIDE2LCAyMTUsIDIzOCwgMjQyLCAxNjcsIDEwOCwgNiwgMSwgMjUyLCAKKyAgICAxMjIsIDEwOCwgNiwgMSwgMjUwLCAxNDAsIDEwOCwgNiwgMSwgMjQwLCAyMTQsIDEwOCwgNiwgMSwgMjQ1LCAzMSwgMTA4LCAKKyAgICA2LCAxLCAyNDMsIDQxLCAxMDgsIDYsIDEsIDIwOCwgMTk3LCAxMDgsIDYsIDEsIDIwNSwgODgsIDEwOCwgNiwgMSwgMjEyLCAKKyAgICAxNzQsIDEwOCwgNiwgMSwgMjMzLCA2OCwgMTA4LCA2LCAxLCAyMzIsIDI3LCAxMDgsIDYsIDEsIDIzMCwgODIsIDEwOCwgNiwgCisgICAgMSwgMjI3LCAyMjEsIDEwOCwgNiwgMSwgMjI1LCAyMDAsIDEwOCwgNiwgMSwgMjIyLCAxNjUsIDEwOCwgNiwgMSwgMjIxLCAKKyAgICAyMzEsIDEwOCwgNiwgMSwgMjA1LCA3NywgMTA4LCA2LCAxLCAyMTksIDk1LCAxMDgsIDYsIDEsIDIxNywgMTUxLCAxMDgsIDYsIAorICAgIDEsIDIxMiwgMTYyLCAxMDgsIDYsIDEsIDIwOSwgMjM0LCAxMDgsIDYsIDEsIDIyMSwgODUsIDEwOCwgNiwgMSwgMjMxLCAKKyAgICAxNTUsIDEwOCwgNiwgMSwgMjQwLCA5MCwgMTA4LCA2LCAxLCAyMjAsIDQsIDEwOCwgNiwgMSwgMjE1LCAxNzEsIDEwOCwgNiwgCisgICAgMSwgMjQ4LCA0NSwgMTA4LCA2LCAxLCAyNDgsIDIyNiwgMTA4LCA2LCAxLCAyMzIsIDE1NCwgMTA4LCA2LCAxLCAyNDcsIAorICAgIDI0MCwgMTA4LCA2LCAxLCAyNDgsIDk1LCAxMDgsIDYsIDEsIDIwNiwgMTc5LCAxMDgsIDYsIDEsIDIzMiwgMTY3LCAxMDgsIAorICAgIDYsIDEsIDIzOSwgMTM4LCAxMDgsIDYsIDEsIDIzOSwgNzEsIDEwOCwgNiwgMSwgMjM5LCA2LCAxMDgsIDYsIDEsIDIwNywgCisgICAgNTEsIDEwOCwgNiwgMSwgMjM5LCA5NSwgMTA4LCA2LCAxLCAyMzgsIDE0NiwgMTA4LCA2LCAxLCAyMDUsIDI0OSwgMTA4LCA2LCAKKyAgICAxLCAyNTIsIDIzNywgMTA4LCAxLCAyNTIsIDEyMiwgMTA4LCAxLCAyNTAsIDE0MCwgMTA4LCAxLCAyNDAsIDIxNCwgMTA4LCAKKyAgICAxLCAyNDUsIDMxLCAxMDgsIDEsIDI0MywgNDEsIDEwOCwgMSwgMjA4LCAxOTcsIDEwOCwgMSwgMjA1LCA4OCwgMTA4LCAxLCAKKyAgICAyMTIsIDE3NCwgMTA4LCAxLCAyMzMsIDY4LCAxMDgsIDEsIDIzMiwgMjcsIDEwOCwgMSwgMjMwLCA4MiwgMTA4LCAxLCAyMjcsIAorICAgIDIyMSwgMTA4LCAxLCAyMjUsIDIwMCwgMTA4LCAxLCAyMjIsIDE2NSwgMTA4LCAxLCAyMjEsIDIzMSwgMTA4LCAxLCAyMDUsIAorICAgIDc3LCAxMDgsIDEsIDIxOSwgOTUsIDEwOCwgMSwgMjE3LCAxNTEsIDEwOCwgMSwgMjEyLCAxNjIsIDEwOCwgMSwgMjA5LCAKKyAgICAyMzQsIDEwOCwgMSwgMjIxLCA4NSwgMTA4LCAxLCAyMzEsIDE1NSwgMTA4LCAxLCAyNDAsIDkwLCAxMDgsIDEsIDIyMCwgNCwgCisgICAgMTA4LCAxLCAyMTUsIDE3MSwgMTA4LCAxLCAyNDgsIDQ1LCAxMDgsIDEsIDI0OCwgMjI2LCAxMDgsIDEsIDIzMiwgMTU0LCAKKyAgICAxMDgsIDEsIDI0NywgMjQwLCAxMDgsIDEsIDI0OCwgOTUsIDEwOCwgMSwgMjA2LCAxNzksIDEwOCwgMSwgMjMyLCAxNjcsIAorICAgIDEwOCwgMSwgMjM5LCAxMzgsIDEwOCwgMSwgMjM5LCA3MSwgMTA4LCAxLCAyMzksIDYsIDEwOCwgMSwgMjA3LCA1MSwgMTA4LCAKKyAgICAxLCAyMzksIDk1LCAxMDgsIDEsIDIzOCwgMTQ2LCAxMDgsIDEsIDI0MSwgMjUwLCAxMDgsIDEsIDIwNSwgMjQ5LCAxMDgsIDEsIAorICAgIDI0MywgNTYsIDEwOCwgMSwgMjAxLCAyNDAsIDIxNCwgMTA4LCAxLCAyNTIsIDIwMCwgMTA4LCAyMjEsIDIyOSwgMjE2LCAzOSwgCisgICAgNjUsIDEsIDEwOCwgMjI1LCAyMDAsIDEwOCwgMSwgMjUyLCAyMzcsIDEwOCwgMSwgMjM5LCA5NCwgNTMsIDEwOCwgMSwgMjMwLCAKKyAgICAxMzIsIDUzLCAyNSwgMTEzLCAyMzEsIDg0LCAyNSwgMTEzLCAyMTQsIDg4LCAyNSwgMTEzLCAyMjQsIDIyMywgMjUsIDExMywgCisgICAgMjExLCAxOTMsIDI1LCAxMTMsIDIxNCwgNzcsIDI1LCAxMTMsIDIxOCwgMTk4LCAyNSwgMTEzLCAyMjYsIDI0MCwgMjUsIAorICAgIDExMywgMjIxLCAzOSwgMjUsIDExMywgMjE0LCA4NSwgMjUsIDExMywgMjE1LCAzMywgMjUsIDExMywgMjE0LCA4MiwgMjUsIAorICAgIDExMywgMjMzLCAxMjUsIDI1LCAxMTMsIDI0NywgMjQ2LCAyNSwgMTEzLCAyMTQsIDkyLCAyNSwgMTEzLCAyNDgsIDU0LCAyNSwgCisgICAgMTEzLCAyMzEsIDE0MywgMjUsIDExMywgMjEyLCAxNSwgMjUsIDExMywgMjIxLCA3NiwgMjUsIDExMywgMjM5LCAzLCAyNSwgCisgICAgMTEzLCAyMjQsIDIxOSwgMjUsIDExMywgMjE0LCA4NiwgMjUsIDExMywgMjI0LCAyMTMsIDI1LCAxMTMsIDIyNCwgMjE3LCAKKyAgICAyNSwgMTEzLCAyMTEsIDE5MCwgMjUsIDExMywgMjE4LCAxODYsIDI1LCAxMTMsIDIxNCwgODQsIDI1LCAxMTMsIDIxOCwgCisgICAgMTk2LCAyNSwgMTEzLCAyMzIsIDEwLCAyNSwgMTEzLCAyMjYsIDIzMywgMjUsIDExMywgMjMyLCAxMywgMjUsIDExMywgMjIxLCAKKyAgICAzNCwgMjUsIDExMywgMjIxLCAzMiwgMjUsIDExMywgMjIxLCAyMCwgMjUsIDExMywgMjIxLCAyOCwgMjUsIDExMywgMjIxLCAKKyAgICAyNiwgMjUsIDExMywgMjIxLCAyMywgMjUsIDExMywgMjIxLCAyNSwgMjUsIDExMywgMjIxLCAyMiwgMjUsIDExMywgMjIxLCAKKyAgICAyNywgMjUsIDExMywgMjIxLCAzNywgMjUsIDExMywgMjIxLCAzOCwgMjUsIDExMywgMjIxLCAyMSwgMjUsIDExMywgMjIxLCAKKyAgICAzMSwgMjUsIDExMywgMjMyLCAxMSwgMjUsIDExMywgMjMyLCA5LCAyNSwgMTEzLCAyMTUsIDI2LCAyNSwgMTEzLCAyMTUsIAorICAgIDI0LCAyNSwgMTEzLCAyMTUsIDE2LCAyNSwgMTEzLCAyMTUsIDE5LCAyNSwgMTEzLCAyMTUsIDI1LCAyNSwgMTEzLCAyMTUsIAorICAgIDIxLCAyNSwgMTEzLCAyMTUsIDIwLCAyNSwgMTEzLCAyMTUsIDE4LCAyNSwgMTEzLCAyMTUsIDI5LCAyNSwgMTEzLCAyMTUsIAorICAgIDMxLCAyNSwgMTEzLCAyMTUsIDMyLCAyNSwgMTEzLCAyMTUsIDI3LCAyNSwgMTEzLCAyMTUsIDE3LCAyNSwgMTEzLCAyMTUsIAorICAgIDIyLCAyNSwgMTEzLCAyMTUsIDMwLCAyNSwgMTEzLCAyNDgsIDM2LCAyNSwgMTEzLCAyNDgsIDM0LCAyNSwgMTEzLCAyNDgsIAorICAgIDEyMSwgMjUsIDExMywgMjQ4LCAxMTksIDI1LCAxMTMsIDIyMSwgMjQ3LCAyNSwgMTEzLCAyMzMsIDEyMCwgMjUsIDExMywgCisgICAgMjMzLCAxMTEsIDI1LCAxMTMsIDIzMywgMTE5LCAyNSwgMTEzLCAyMzMsIDExNiwgMjUsIDExMywgMjMzLCAxMTQsIDI1LCAKKyAgICAxMTMsIDIzMywgMTE4LCAyNSwgMTEzLCAyMTQsIDg5LCAyNSwgMTEzLCAyMzMsIDEyMywgMjUsIDExMywgMjMzLCAxMjQsIAorICAgIDI1LCAxMTMsIDIzMywgMTEyLCAyNSwgMTEzLCAyMzMsIDExNywgMjUsIDExMywgMjA2LCAyOSwgMjUsIDExMywgMjQ3LCAKKyAgICAyNDUsIDI1LCAxMTMsIDI0OCwgMzcsIDI1LCAxMTMsIDI0OCwgMzUsIDI1LCAxMTMsIDI0OCwgMTIyLCAyNSwgMTEzLCAyNDgsIAorICAgIDEyMCwgMjUsIDExMywgMjQ4LCA1MiwgMjUsIDExMywgMjQ4LCA1MywgMjUsIDExMywgMjQ4LCAzOCwgMjUsIDExMywgMjQ4LCAKKyAgICAxMjMsIDI1LCAxMTMsIDIyMSwgNzQsIDI1LCAxMTMsIDIzMiwgMTIsIDI1LCAxMTMsIDIxNCwgOTAsIDI1LCAxMTMsIDIwNiwgCisgICAgMzUsIDI1LCAxMTMsIDIzMSwgNzUsIDI1LCAxMTMsIDIyNCwgMjE1LCAyNSwgMTEzLCAyMjQsIDIyMSwgMjUsIDExMywgMjI0LCAKKyAgICAyMjAsIDI1LCAxMTMsIDIxMSwgMTg3LCAyNSwgMTEzLCAyNDEsIDIzMiwgMjUsIDE2MiwgMjQxLCAyMzIsIDI1LCAxNjIsIAorICAgIDYyLCAyNSwgMTYyLCAyNTIsIDI0OCwgMjUsIDE2MiwgMTkwLCAyNSwgMTYyLCAyMDYsIDk4LCAyNSwgMTYyLCAyNDMsIDYsIAorICAgIDI1LCAxNjIsIDc1LCAyNSwgMTYyLCAyMDYsIDM5LCAyNSwgMTYyLCAyMDYsIDUyLCAyNSwgMTYyLCA3NiwgMjUsIDE2MiwgCisgICAgMjA3LCA5NiwgMjUsIDE2MiwgMjA3LCA5MiwgMjUsIDE2MiwgMjIyLCAyMDYsIDI1LCAxNjIsIDIwNSwgMjQ3LCAyNSwgMTYyLCAKKyAgICA3MSwgMjUsIDE2MiwgMjA3LCAzOCwgMjUsIDE2MiwgMjA3LCA1MSwgMjUsIDE2MiwgMjA3LCAyMCwgMjUsIDE2MiwgMjA1LCAKKyAgICAyMTMsIDI1LCAxNjIsIDI0MiwgMTkyLCAyNSwgMTYyLCAyMDYsIDExLCAyNSwgMTYyLCA3NCwgMjUsIDE2MiwgMjU0LCAyNTIsIAorICAgIDI1LCAxNjIsIDI1NCwgMjUxLCAyNSwgMTYyLCAyMDYsIDExMiwgMjUsIDE2MiwgMjA2LCAxMTAsIDI1LCAxNjIsIDI0MywgNCwgCisgICAgMjUsIDE2MiwgMjQzLCAzLCAyNSwgMTYyLCAyNDMsIDUsIDI1LCAxNjIsIDIwNiwgMzgsIDI1LCAxNjIsIDIwNiwgMzcsIDI1LCAKKyAgICAxNjIsIDIyMywgNTgsIDI1LCAxNjIsIDIyMywgNTksIDI1LCAxNjIsIDIyMywgNTIsIDI1LCAxNjIsIDIyMywgNTcsIDI1LCAKKyAgICAxNjIsIDIyMywgNTUsIDI1LCAxNjIsIDIwNSwgMjQxLCAyNSwgMTYyLCAyMDUsIDI0MCwgMjUsIDE2MiwgMjA1LCAyMzksIAorICAgIDI1LCAxNjIsIDIwNSwgMjQyLCAyNSwgMTYyLCAyMDUsIDI0MywgMjUsIDE2MiwgMjEwLCA3NiwgMjUsIDE2MiwgMjEwLCA3NSwgCisgICAgMjUsIDE2MiwgMjEwLCA3MywgMjUsIDE2MiwgMjEwLCA2OSwgMjUsIDE2MiwgMjEwLCA3MCwgMjUsIDE2MiwgMjA1LCAyMTIsIAorICAgIDI1LCAxNjIsIDIwNSwgMjA5LCAyNSwgMTYyLCAyMDUsIDIxMCwgMjUsIDE2MiwgMjA1LCAyMDQsIDI1LCAxNjIsIDIwNSwgCisgICAgMjA1LCAyNSwgMTYyLCAyMDUsIDIwNiwgMjUsIDE2MiwgMjA1LCAyMDgsIDI1LCAxNjIsIDI0MiwgMTg2LCAyNSwgMTYyLCAKKyAgICAyNDIsIDE4OCwgMjUsIDE2MiwgMjA2LCAxMCwgMjUsIDE2MiwgMjM3LCAyMjQsIDI1LCAxNjIsIDIzNywgMjE2LCAyNSwgCisgICAgMTYyLCAyMzcsIDIxOSwgMjUsIDE2MiwgMjM3LCAyMTcsIDI1LCAxNjIsIDIzNywgMjIxLCAyNSwgMTYyLCAyMzcsIDIyMywgCisgICAgMjUsIDE2MiwgMjUyLCAzMCwgMjUsIDE2MiwgMjUyLCAyNywgMjUsIDE2MiwgMjUyLCAyNSwgMjUsIDE2MiwgMjUyLCAyNiwgCisgICAgMjUsIDE2MiwgMjE0LCA5MywgMjUsIDE2MiwgMjU0LCAyNTMsIDI1LCAxNjIsIDIwNiwgMTExLCAyNSwgMTYyLCAyMDYsIDM2LCAKKyAgICAyNSwgMTYyLCAyMjMsIDU0LCAyNSwgMTYyLCAyMjMsIDUzLCAyNSwgMTAwLCAyMzEsIDg0LCAyNSwgMTAwLCAyMTQsIDg4LCAKKyAgICAyNSwgMTAwLCAyMzEsIDc3LCAyNSwgMTAwLCAyMjQsIDIyMywgMjUsIDEwMCwgMjI0LCAyMjEsIDI1LCAxMDAsIDIyNCwgCisgICAgMjIwLCAyNSwgMTAwLCAyMTEsIDE5MywgMjUsIDEwMCwgMjE4LCAxOTgsIDI1LCAxMDAsIDIxOCwgMTkzLCAyNSwgMTAwLCAKKyAgICAyMTgsIDE5MCwgMjUsIDEwMCwgMjE4LCAxODMsIDI1LCAxMDAsIDIxOCwgMTc4LCAyNSwgMTAwLCAyMTgsIDE3MywgMjUsIAorICAgIDEwMCwgMjE4LCAxODQsIDI1LCAxMDAsIDIxOCwgMTk2LCAyNSwgMTAwLCAyMjYsIDI0MCwgMjUsIDEwMCwgMjIxLCAzOSwgCisgICAgMjUsIDEwMCwgMjIxLCAyOCwgMjUsIDEwMCwgMjE1LCAzMywgMjUsIDEwMCwgMjE0LCA4MiwgMjUsIDEwMCwgMjMzLCAxMjUsIAorICAgIDI1LCAxMDAsIDI0NywgMjQ2LCAyNSwgMTAwLCAyNDgsIDU0LCAyNSwgMTAwLCAyMzEsIDE0MywgMjUsIDEwMCwgMjEyLCAxNSwgCisgICAgMjUsIDEwMCwgMjIxLCA3NiwgMjUsIDEwMCwgMjM5LCAzLCAyNSwgMTAwLCAyMzEsIDc4LCAyNSwgMTAwLCAyMzEsIDc2LCAKKyAgICAyNSwgMTAwLCAyMjQsIDIxOSwgMjUsIDEwMCwgMjI0LCAyMTMsIDI1LCAxMDAsIDIyNCwgMjE1LCAyNSwgMTAwLCAyMjQsIAorICAgIDIxOCwgMjUsIDEwMCwgMjI0LCAyMTQsIDI1LCAxMDAsIDIxMSwgMTkwLCAyNSwgMTAwLCAyMTEsIDE4NywgMjUsIDEwMCwgCisgICAgMjE4LCAxOTEsIDI1LCAxMDAsIDIxOCwgMTg2LCAyNSwgMTAwLCAyMTgsIDE3MiwgMjUsIDEwMCwgMjE4LCAxNzEsIDI1LCAKKyAgICAxMDAsIDIxNCwgODQsIDI1LCAxMDAsIDIxOCwgMTg4LCAyNSwgMTAwLCAyMTgsIDE4NywgMjUsIDEwMCwgMjE4LCAxODAsIAorICAgIDI1LCAxMDAsIDIxOCwgMTgyLCAyNSwgMTAwLCAyMTgsIDE5NSwgMjUsIDEwMCwgMjE4LCAxNzUsIDI1LCAxMDAsIDIxOCwgCisgICAgMTg1LCAyNSwgMTAwLCAyMTgsIDE5NCwgMjUsIDEwMCwgMjE4LCAxNzAsIDI1LCAxMDAsIDIyNiwgMjM2LCAyNSwgMTAwLCAKKyAgICAyMjYsIDIzMSwgMjUsIDEwMCwgMjI2LCAyMzMsIDI1LCAxMDAsIDIyNiwgMjMwLCAyNSwgMTAwLCAyMjYsIDIyOCwgMjUsIAorICAgIDEwMCwgMjI2LCAyMzQsIDI1LCAxMDAsIDIyNiwgMjM5LCAyNSwgMTAwLCAyMjYsIDIzNywgMjUsIDEwMCwgMjMyLCAxMywgCisgICAgMjUsIDEwMCwgMjIxLCAzMCwgMjUsIDEwMCwgMjIxLCAzMSwgMjUsIDEwMCwgMjIxLCAzNiwgMjUsIDEwMCwgMjMyLCAxMSwgCisgICAgMjUsIDEwMCwgMjE1LCAyNiwgMjUsIDEwMCwgMjE1LCAxNiwgMjUsIDEwMCwgMjE1LCAxOSwgMjUsIDEwMCwgMjE1LCAyMSwgCisgICAgMjUsIDEwMCwgMjIxLCAyNDcsIDI1LCAxMDAsIDIzMywgMTIwLCAyNSwgMTAwLCAyMzMsIDExMywgMjUsIDEwMCwgMjE0LCAKKyAgICA4OSwgMjUsIDEwMCwgMjMzLCAxMjEsIDI1LCAxMDAsIDIwNiwgMjksIDI1LCAxMDAsIDIwNiwgMjUsIDI1LCAxMDAsIDIwNiwgCisgICAgMjYsIDI1LCAxMDAsIDIyMSwgNzQsIDI1LCAxMDAsIDIzMiwgMTIsIDI1LCAxMDAsIDIzOSwgMSwgMjUsIDEwMCwgMjM4LCAKKyAgICAyNTUsIDI1LCAxMDAsIDIzOSwgMiwgMjUsIDEwMCwgMjM5LCAwLCAyNSwgMTAwLCAyMDYsIDM1LCAyNSwgMTAwLCAyMzEsIAorICAgIDgwLCAyNSwgMTAwLCAyMzEsIDc5LCAyNSwgMTAwLCAyMzEsIDgzLCAyNSwgMTAwLCAyMzEsIDgxLCAyNSwgMTAwLCAyMzEsIAorICAgIDgyLCAyNSwgMTAwLCAyMTQsIDg2LCAzMSwgNCwgMTU1LCAzMSwgNCwgMjM4LCA0MiwgMzEsIDQsIDIzOSwgMTEsIDMxLCA0LCAKKyAgICAyMzksIDE0MSwgMzEsIDQsIDIzOSwgNTMsIDMxLCA0LCAyMzksIDcxLCAzMSwgNCwgMjM4LCAxNDksIDMxLCA0LCAyMzgsIAorICAgIDE0OCwgMzEsIDQsIDIzMCwgMTQxLCAzMSwgNCwgMjI5LCA4MSwgMzEsIDQsIDIyOSwgMjM1LCAzMSwgNCwgMjMwLCAxNDAsIAorICAgIDMxLCA0LCAyMzAsIDUwLCAzMSwgNCwgMjMwLCA1OCwgMzEsIDQsIDIyOSwgMTQ0LCAzMSwgNCwgMjI5LCA1MCwgMzEsIDQsIAorICAgIDIzOSwgMjAsIDMxLCA0LCAyMzksIDE0LCAzMSwgNCwgMjM5LCAxNiwgMzEsIDQsIDIzOSwgMTksIDMxLCA0LCAyMzksIDE3LCAKKyAgICAzMSwgNCwgMjM5LCAxOCwgMzEsIDQsIDIzOSwgMTUsIDMxLCA0LCAyMzksIDEzLCAzMSwgNCwgMTg1LCAzMSwgNCwgMjI2LCAKKyAgICAxMTQsIDMxLCA0LCAyMjYsIDI1NCwgMzEsIDQsIDIyOCwgMTgsIDMxLCA0LCAyMjcsIDEwNywgMzEsIDQsIDIyNywgMTE5LCAKKyAgICAzMSwgNCwgMjI2LCAxODEsIDMxLCA0LCAyMjYsIDUwLCAzMSwgNCwgMjEzLCAyMSwgMzEsIDQsIDIxMywgMTUsIDMxLCA0LCAKKyAgICAyMTMsIDE3LCAzMSwgNCwgMjEzLCAyMCwgMzEsIDQsIDIxMywgMTgsIDMxLCA0LCAyMTMsIDE5LCAzMSwgNCwgMjEzLCAxNiwgCisgICAgMzEsIDQsIDIxMywgMTQsIDMxLCA0LCAyMTksIDExMywgMzEsIDQsIDIxOCwgNTAsIDMxLCA0LCAyMTgsIDIwOCwgMzEsIDQsIAorICAgIDIxOSwgMTA5LCAzMSwgNCwgMjE5LCAyOSwgMzEsIDQsIDIxOSwgNTEsIDMxLCA0LCAyMTgsIDEyNCwgMzEsIDQsIDIxOCwgCisgICAgMTgsIDMxLCA0LCAyMTcsIDE5OSwgMzEsIDQsIDIxMywgMjAzLCAzMSwgNCwgMjE1LCA4MCwgMzEsIDQsIDIxNywgMTk2LCAKKyAgICAzMSwgNCwgMjE3LCA3NCwgMzEsIDQsIDIxNywgODYsIDMxLCA0LCAyMTQsIDE5MywgMzEsIDQsIDIxMywgMTEyLCAzMSwgNCwgCisgICAgMjE2LCAyLCAzMSwgNCwgMjE1LCAxMTYsIDMxLCA0LCAyMTUsIDE4MywgMzEsIDQsIDIxNSwgMjU0LCAzMSwgNCwgMjE1LCAKKyAgICAyMTIsIDMxLCA0LCAyMTUsIDIxNCwgMzEsIDQsIDIxNSwgMTU4LCAzMSwgNCwgMjE1LCA5OCwgMzEsIDQsIDIyMCwgMTksIAorICAgIDMxLCA0LCAyMTksIDIxNCwgMzEsIDQsIDIxOSwgMjM3LCAzMSwgNCwgMjIwLCAxOCwgMzEsIDQsIDIxOSwgMjU0LCAzMSwgNCwgCisgICAgMjE5LCAyNTUsIDMxLCA0LCAyMTksIDIyNiwgMzEsIDQsIDIxOSwgMjI1LCAzMSwgNCwgMjE5LCAxNjgsIDMxLCA0LCAyMTksIAorICAgIDE2NCwgMzEsIDQsIDIxOSwgMTY3LCAzMSwgNCwgMjE5LCAxNjUsIDMxLCA0LCAyMTksIDE2NiwgMzEsIDQsIDIxOSwgMjUxLCAKKyAgICAzMSwgNCwgMjE5LCAyNDMsIDMxLCA0LCAyMTksIDI0NiwgMzEsIDQsIDIxOSwgMjUwLCAzMSwgNCwgMjE5LCAyNDcsIDMxLCAKKyAgICA0LCAyMTksIDI0OCwgMzEsIDQsIDIxOSwgMjQ1LCAzMSwgNCwgMjE5LCAyNDIsIDMxLCA0LCAyMTksIDIzOCwgMzEsIDQsIAorICAgIDIxOSwgMjQxLCAzMSwgNCwgMjE5LCAyMzksIDMxLCA0LCAyMTksIDI0MCwgMzEsIDQsIDI1MCwgMTgzLCAzMSwgNCwgMjQ5LCAKKyAgICAxMDEsIDMxLCA0LCAyNDksIDI0NCwgMzEsIDQsIDI1MCwgMTgxLCAzMSwgNCwgMjUwLCA1MCwgMzEsIDQsIDI1MCwgNjEsIAorICAgIDMxLCA0LCAyNDksIDE4NCwgMzEsIDQsIDI0OSwgNTEsIDMxLCA0LCAyMDksIDcwLCAzMSwgNCwgMjA3LCAxNDgsIDMxLCA0LCAKKyAgICAyMDgsIDIxNCwgMzEsIDQsIDIwOSwgNjksIDMxLCA0LCAyMDksIDM0LCAzMSwgNCwgMjA5LCAzOSwgMzEsIDQsIDIwOCwgCisgICAgMTczLCAzMSwgNCwgMjA3LCAxMzksIDMxLCA0LCAyMTIsIDIxOSwgMzEsIDQsIDIxMCwgMTcwLCAzMSwgNCwgMjExLCAyMTEsIAorICAgIDMxLCA0LCAyMTIsIDIxNSwgMzEsIDQsIDIxMiwgMTIwLCAzMSwgNCwgMjEyLCAxMzEsIDMxLCA0LCAxMjQsIDMxLCA0LCAKKyAgICAyMTAsIDEzMCwgMzEsIDQsIDI0OSwgMSwgMzEsIDQsIDI0NywgNDAsIDMxLCA0LCAyNDcsIDI1MSwgMzEsIDQsIDI0OSwgMCwgCisgICAgMzEsIDQsIDI0OCwgMTQwLCAzMSwgNCwgMjQ4LCAxNDgsIDMxLCA0LCAyNDcsIDE3NCwgMzEsIDQsIDI0NywgNywgMzEsIDQsIAorICAgIDIwNiwgMTgxLCAzMSwgNCwgMjA2LCAxNTEsIDMxLCA0LCAyMDYsIDE2OSwgMzEsIDQsIDIwNiwgMTgwLCAzMSwgNCwgMjA2LCAKKyAgICAxNzQsIDMxLCA0LCAyMDYsIDE3NSwgMzEsIDQsIDIwNiwgMTU5LCAzMSwgNCwgMjA2LCAxNTgsIDMxLCA0LCAyMDYsIDE0NSwgCisgICAgMzEsIDQsIDIwNiwgMTQxLCAzMSwgNCwgMjA2LCAxNDQsIDMxLCA0LCAyMDYsIDE0MiwgMzEsIDQsIDIwNiwgMTQzLCAzMSwgCisgICAgNCwgMTk5LCAzMSwgNCwgMjIzLCAyMTcsIDMxLCA0LCAyMjQsIDIzMCwgMzEsIDQsIDIyNSwgMjMyLCAzMSwgNCwgMjI1LCAKKyAgICAxMDYsIDMxLCA0LCAyMjUsIDExMCwgMzEsIDQsIDIyNCwgNjcsIDMxLCA0LCAyMjMsIDE1MywgMzEsIDQsIDIyMywgMTQ0LCAKKyAgICAzMSwgNCwgMjIzLCAxMDMsIDMxLCA0LCAyMjMsIDEyNSwgMzEsIDQsIDIyMywgMTQzLCAzMSwgNCwgMjIzLCAxMzMsIDMxLCAKKyAgICA0LCAyMjMsIDEzNCwgMzEsIDQsIDIyMywgMTEwLCAzMSwgNCwgMjIzLCA5MywgMzEsIDQsIDI0MCwgMjUsIDYyLCAzMSwgNCwgCisgICAgMjQwLCAyNSwgNzEsIDMxLCA0LCAyNDAsIDI1LCA3NCwgMzEsIDQsIDI0MCwgMjUsIDI1MywgMTY0LCAzMSwgNCwgMjQwLCAKKyAgICAyNSwgMjQzLCAxMDQsIDMxLCA0LCAyNDAsIDI1LCA3NSwgMzEsIDQsIDI0MCwgMjUsIDc2LCAzMSwgNCwgMjQwLCAyNSwgCisgICAgMjA3LCA5NiwgMzEsIDQsIDE3MiwgMzEsIDQsIDIzMCwgMjM2LCAzMSwgNCwgMjMxLCAxMjMsIDMxLCA0LCAyMzIsIDYzLCAKKyAgICAzMSwgNCwgMjMxLCAyMjEsIDMxLCA0LCAyMzEsIDIyNCwgMzEsIDQsIDIzMSwgNTMsIDMxLCA0LCAyMzEsIDUyLCAzMSwgNCwgCisgICAgMjMwLCAxOTUsIDMxLCA0LCAyMzAsIDE4OCwgMzEsIDQsIDIzMCwgMTk0LCAzMSwgNCwgMjMwLCAxODksIDMxLCA0LCAyMzAsIAorICAgIDE5MCwgMzEsIDQsIDIzMCwgMTgxLCAzMSwgNCwgMjMwLCAxNzUsIDMxLCA0LCAyMzAsIDE3NywgMzEsIDQsIDIzMCwgMTgwLCAKKyAgICAzMSwgNCwgMjMwLCAxNzgsIDMxLCA0LCAyMzAsIDE3OSwgMzEsIDQsIDIzMCwgMTc2LCAzMSwgNCwgMjMwLCAxNzQsIDMxLCAKKyAgICA0LCAyMzAsIDE3MCwgMzEsIDQsIDIzMCwgMTczLCAzMSwgNCwgMjMwLCAxNzEsIDMxLCA0LCAyMzAsIDE3MiwgMzEsIDQsIAorICAgIDIwNywgOTYsIDMxLCA0LCAyMDYsIDIxNiwgMzEsIDQsIDIwNywgMjAsIDMxLCA0LCAyMDcsIDk1LCAzMSwgNCwgMjA3LCA0NSwgCisgICAgMzEsIDQsIDIwNywgNTEsIDMxLCA0LCAyMDYsIDI1MCwgMzEsIDQsIDIwNiwgMjQ5LCAzMSwgNCwgMjIxLCA4NCwgNjIsIDMxLCAKKyAgICA0LCAyMjEsIDg0LCA3MSwgMzEsIDQsIDIyMSwgODQsIDc0LCAzMSwgNCwgMjIxLCA4NCwgMjUzLCAxNjQsIDMxLCA0LCAyMjEsIAorICAgIDg0LCAyNDMsIDEwNCwgMzEsIDQsIDIyMSwgODQsIDc1LCAzMSwgNCwgMjIxLCA4NCwgNzYsIDMxLCA0LCAyMDUsIDExNiwgCisgICAgMzEsIDQsIDIwNSwgOSwgMzEsIDQsIDIwNSwgNDAsIDMxLCA0LCAyMDUsIDExNSwgMzEsIDQsIDIwNSwgOTEsIDMxLCA0LCAKKyAgICAyMDUsIDkzLCAzMSwgNCwgMjA1LCAxOSwgMzEsIDQsIDIwNCwgMjUyLCAzMSwgNCwgMjA1LCA4MSwgMzEsIDQsIDIwNSwgNTgsIAorICAgIDMxLCA0LCAyMDUsIDY3LCAzMSwgNCwgMjA1LCA4MCwgMzEsIDQsIDIwNSwgNzEsIDMxLCA0LCAyMDUsIDcyLCAzMSwgNCwgCisgICAgMjA1LCA2NCwgMzEsIDQsIDIwNSwgNDksIDMxLCA0LCAxOTAsIDMxLCA0LCAyMDUsIDIxMywgMzEsIDQsIDIwNiwgMTEsIDMxLCAKKyAgICA0LCAyMDYsIDEwOSwgMzEsIDQsIDIwNiwgNDksIDMxLCA0LCAyMDYsIDUyLCAzMSwgNCwgMjA1LCAyNDcsIDMxLCA0LCAyMDUsIAorICAgIDIzOCwgMzEsIDQsIDI0NiwgMTQ1LCAzMSwgNCwgMjQzLCAyMzcsIDMxLCA0LCAyNDUsIDE2OCwgMzEsIDQsIDI0NiwgMTQ0LCAKKyAgICAzMSwgNCwgMjQ1LCAyNTEsIDMxLCA0LCAyNDYsIDksIDMxLCA0LCAyNDUsIDUxLCAzMSwgNCwgMjQzLCAyMDYsIDMxLCA0LCAKKyAgICAyNDYsIDU0LCAzMSwgNCwgMjQ2LCAxOSwgMzEsIDQsIDI0NiwgMzEsIDMxLCA0LCAyNDYsIDUzLCAzMSwgNCwgMjQ2LCA0MSwgCisgICAgMzEsIDQsIDI0NiwgNDIsIDMxLCA0LCAyNDYsIDI0LCAzMSwgNCwgMjQ2LCAxMCwgMzEsIDQsIDIzMiwgMjAwLCAzMSwgNCwgCisgICAgMjMyLCAxMDQsIDMxLCA0LCAyMzIsIDE2MiwgMzEsIDQsIDIzMiwgMTk5LCAzMSwgNCwgMjMyLCAxODAsIDMxLCA0LCAyMzIsIAorICAgIDE4MiwgMzEsIDQsIDIzMiwgMTIyLCAzMSwgNCwgMjMyLCA4NCwgMzEsIDQsIDI0MCwgMjQ0LCAzMSwgNCwgMjM5LCAyMTMsIAorICAgIDMxLCA0LCAyNDAsIDYxLCAzMSwgNCwgMjQwLCAyNDEsIDMxLCA0LCAyNDAsIDE2MiwgMzEsIDQsIDI0MCwgMTcwLCAzMSwgNCwgCisgICAgMjQwLCAxOSwgMzEsIDQsIDI0MCwgMTgsIDMxLCA0LCAyMzksIDE3NCwgMzEsIDQsIDIzOSwgMTcwLCAzMSwgNCwgMjM5LCAKKyAgICAxNzMsIDMxLCA0LCAyMzksIDE3MSwgMzEsIDQsIDIzOSwgMTcyLCAzMSwgNCwgMjQwLCAxMzUsIDMxLCA0LCAyNDAsIDExNSwgCisgICAgMzEsIDQsIDI0MCwgMTI1LCAzMSwgNCwgMjQwLCAxMzQsIDMxLCA0LCAyNDAsIDEyOSwgMzEsIDQsIDI0MCwgMTMwLCAzMSwgCisgICAgNCwgMjQwLCAxMTksIDMxLCA0LCAyNDAsIDEwNCwgMzEsIDQsIDIxMiwgNTYsIDMxLCA0LCAyMTEsIDIzMCwgMzEsIDQsIAorICAgIDIxMiwgMTksIDMxLCA0LCAyMTIsIDU1LCAzMSwgNCwgMjEyLCAzOSwgMzEsIDQsIDIxMiwgNDEsIDMxLCA0LCAyMTEsIDI1MywgCisgICAgMzEsIDQsIDIxMSwgMjIyLCAzMSwgNCwgMjQ4LCAxMTAsIDMxLCA0LCAyNDgsIDE0LCAzMSwgNCwgMjQ4LCA1OCwgMzEsIDQsIAorICAgIDI0OCwgMTA5LCAzMSwgNCwgMjQ4LCA3OCwgMzEsIDQsIDI0OCwgODIsIDMxLCA0LCAyNDgsIDMyLCAzMSwgNCwgMjQ4LCAzLCAKKyAgICAzMSwgNCwgMjIxLCA5MywgMzEsIDQsIDIyMSwgNTksIDMxLCA0LCAyMjEsIDc4LCAzMSwgNCwgMjIxLCA5MiwgMzEsIDQsIAorICAgIDIyMSwgODAsIDMxLCA0LCAyMjEsIDgxLCAzMSwgNCwgMjIxLCA2NiwgMzEsIDQsIDIyMSwgNTUsIDMxLCA0LCAyMTAsIDI0MywgCisgICAgMzEsIDQsIDIxMCwgMjE2LCAzMSwgNCwgMjEwLCAyMjIsIDMxLCA0LCAyMTAsIDI0MiwgMzEsIDQsIDIxMCwgMjM2LCAzMSwgCisgICAgNCwgMjEwLCAyMzcsIDMxLCA0LCAyMTAsIDIyMCwgMzEsIDQsIDIxMCwgMjE0LCAzMSwgNCwgMjEwLCA4NSwgMzEsIDQsIAorICAgIDIxMCwgNzcsIDMxLCA0LCAyMTAsIDgxLCAzMSwgNCwgMjEwLCA4NCwgMzEsIDQsIDIxMCwgODIsIDMxLCA0LCAyMTAsIDgzLCAKKyAgICAzMSwgNCwgMjEwLCA3OSwgMzEsIDQsIDIxMCwgNzgsIDMxLCA0LCAyNDIsIDczLCAzMSwgNCwgMjQxLCA4OCwgMzEsIDQsIAorICAgIDI0MSwgMjUwLCAzMSwgNCwgMjQyLCA3MiwgMzEsIDQsIDI0MiwgMjEsIDMxLCA0LCAyNDIsIDI4LCAzMSwgNCwgMjQxLCAKKyAgICAxNjIsIDMxLCA0LCAyNDEsIDY2LCAzMSwgNCwgMTc5LCAzMSwgNCwgMjIwLCA4MiwgMzEsIDQsIDIyMSwgNTMsIDMxLCA0LCAKKyAgICAyMjIsIDUxLCAzMSwgNCwgMjIxLCAxNjQsIDMxLCA0LCAyMjEsIDE3NCwgMzEsIDQsIDIyMCwgMjExLCAzMSwgNCwgMjIwLCAKKyAgICA0NSwgMzEsIDQsIDIxOCwgOCwgMzEsIDQsIDIyNiwgMzksIDMxLCA0LCAyNDEsIDYwLCAzMSwgMzYsIDI0MCwgMTU5LCAyMywgCisgICAgMjIsIDIzMCwgMjAsIDgzLCAzMSwgMzYsIDIyLCAyMzAsIDIwLCA4MywgMzEsIDM2LCAyNDAsIDE1OSwgODMsIDMxLCAyMTcsIAorICAgIDc3LCA4MywgMzEsIDIwNiwgMjMxLCAzMSwgMjQxLCA4MiwgMjEzLCAyNTEsIDMxLCAyNDcsIDE1NSwgMzEsIDIxNiwgNTIsIAorICAgIDMxLCAyNDcsIDE2MiwgMzEsIDIyMCwgMTM2LCAyNDcsIDE2MiwgMzEsIDIxOSwgMTk2LCA4MywgMzEsIDIyMSwgMjI5LCAKKyAgICAyMTYsIDM5LCAzMSwgMTgsIDEwMiwgMzEsIDE4LCAxMDUsIDMxLCAxOCwgMTQyLCAzMSwgMTgsIDEzOSwgMzEsIDE4LCAxNjgsIAorICAgIDMxLCAxOCwgMTg0LCAzMSwgMTgsIDE5NSwgMzEsIDE4LCAxOTMsIDMxLCAxOCwgMjAwLCAzMSwgNDMsIDIxMiwgOTgsIDMxLCAKKyAgICA0MywgMjEwLCAxMjMsIDMxLCA0MywgMjEyLCAzLCAzMSwgNDMsIDI0MSwgMTMwLCAzMSwgNDMsIDI0MSwgMjQzLCAzMSwgNDMsIAorICAgIDIxNCwgMjUyLCAzMSwgNDMsIDIxNiwgMTcsIDMxLCA0MywgMjQzLCA3OSwgMzEsIDQzLCAyMjQsIDE5MCwgMzEsIDQzLCAKKyAgICAyMzgsIDI5LCAzMSwgNDMsIDIxMiwgOTksIDIxMSwgMjQyLCAzMSwgNCwgMjE3LCA4MiwgMjI2LCA1MCwgMzEsIDQsIDIyNiwgCisgICAgNDYsIDMxLCA0LCAyMjYsIDQ3LCAzMSwgNCwgMjI2LCA0OCwgMzEsIDQsIDIxNywgODIsIDI0OSwgNTEsIDMxLCA0LCAyNDksIAorICAgIDQ4LCAzMSwgNCwgMjQ5LCA0OSwgMzEsIDQsIDI0OSwgNTAsIDMxLCA0LCAyMTcsIDgyLCAyNDEsIDY2LCAzMSwgNCwgMjQxLCAKKyAgICA2MiwgMzEsIDQsIDI0MSwgNjMsIDMxLCA0LCAyNDEsIDY0LCAzMSwgNCwgMjE3LCA4MiwgMjIwLCA0NSwgMzEsIDQsIDIyMCwgCisgICAgNDEsIDMxLCA0LCAyMjAsIDQyLCAzMSwgNCwgMjIwLCA0MywgMzEsIDIxMSwgMTE5LCAxNDEsIDIwNSwgMjUwLCAzMSwgMjExLCAKKyAgICAxMTksIDE0MSwgMjQ1LCAyMTMsIDMxLCAyMTEsIDExOSwgMTQxLCAyMTgsIDE1MywgMzEsIDIxMSwgMTE5LCAxNDEsIDIxNSwgCisgICAgMTQ0LCAyMTgsIDE1MywgMzEsIDIxMSwgMTE5LCAxNDEsIDI0NSwgMTQyLCAzMSwgMjExLCAxMTksIDE0MSwgMjMxLCAyMDIsIAorICAgIDMxLCAyMTEsIDExOSwgMTQxLCAyNDgsIDQwLCAzMSwgMjExLCAxMTksIDE0MSwgMjM5LCA4LCAzMSwgMjExLCAxMTksIDE0MSwgCisgICAgMjQ1LCAyMTIsIDMxLCAyMTEsIDExOSwgMTQxLCAyMzAsIDIwOCwgMTkyLCAxLCA2MiwgMTkyLCAxLCA3NSwgMTkyLCAxLCAKKyAgICA3NCwgMTkyLCAxLCA3NiwgMTkyLCAxLCA3MSwgMTkyLCAxLCAyMDksIDE0OCwgMTkyLCAxLCAyNDAsIDI0NCwgMTkyLCAxLCAKKyAgICAxNzIsIDE5MiwgMSwgMjQwLCAxNzAsIDE5MiwgMSwgMjQwLCA2MSwgMTkyLCAxLCAyNDAsIDE5LCAxOTIsIDEsIDIzOSwgCisgICAgMjEzLCAxOTIsIDEsIDIzOSwgMTc2LCAxOTIsIDEsIDE1NSwgMTkyLCAxLCAyMzksIDcxLCAxOTIsIDEsIDIzOSwgMTEsIAorICAgIDE5MiwgMSwgMjM4LCAxNDksIDE5MiwgMSwgMjM4LCA0MiwgMTkyLCAxLCAyMzgsIDE3LCAxOTIsIDEsIDIzMCwgMTQxLCAKKyAgICAxOTIsIDEsIDIzMCwgNTgsIDE5MiwgMSwgMjI5LCAyMzUsIDE5MiwgMSwgMjI5LCAxNDQsIDE5MiwgMSwgMjI5LCA4MSwgCisgICAgMTkyLCAxLCAyMjksIDUxLCAxOTIsIDEsIDE4NSwgMTkyLCAxLCAyMjcsIDExOSwgMTkyLCAxLCAyMjYsIDI1NCwgMTkyLCAxLCAKKyAgICAyMjYsIDE4MSwgMTkyLCAxLCAyMjYsIDExNCwgMTkyLCAxLCAxOTksIDE5MiwgMSwgMjM4LCAxNzMsIDE5MiwgMSwgMjI1LCAKKyAgICAyMTksIDE5MiwgMSwgMjI1LCAxMTAsIDE5MiwgMSwgMjI0LCAyMzAsIDE5MiwgMSwgMjI0LCA2NywgMTkyLCAxLCAyMjMsIAorICAgIDIxNywgMTkyLCAxLCAyMjMsIDE1NSwgMTkyLCAxLCAyMTksIDIxMywgMTkyLCAxLCAyMTksIDE5OSwgMTkyLCAxLCAyMTksIAorICAgIDE5MiwgMTkyLCAxLCAyMTksIDE4MywgMTkyLCAxLCAyMTksIDE3MiwgMTkyLCAxLCAyMTksIDE3MCwgMTkyLCAxLCAyMTcsIAorICAgIDE5OSwgMTkyLCAxLCAxODIsIDE5MiwgMSwgMjE3LCA4NiwgMTkyLCAxLCAyMTUsIDgwLCAxOTIsIDEsIDIxNCwgMTkzLCAKKyAgICAxOTIsIDEsIDIxMywgMjAzLCAxOTIsIDEsIDIxMywgMTE3LCAxOTIsIDEsIDI0NiwgMTQ1LCAxOTIsIDEsIDIxMiwgMjE5LCAKKyAgICAxOTIsIDEsIDI0NiwgOSwgMTkyLCAxLCAyMTIsIDEzMSwgMTkyLCAxLCAyNDUsIDE2OCwgMTkyLCAxLCAyMTEsIDIxMSwgCisgICAgMTkyLCAxLCAyNDUsIDUxLCAxOTIsIDEsIDI0MywgMjM3LCAxOTIsIDEsIDI0MywgMjA5LCAxOTIsIDEsIDI0NSwgNjIsIAorICAgIDE5MiwgMSwgMjExLCAxNDcsIDE5MiwgMSwgMjExLCAxNDYsIDE5MiwgMSwgMjExLCAxMzUsIDE5MiwgMSwgMjExLCAxMzQsIAorICAgIDE5MiwgMSwgMjExLCAxMzMsIDE5MiwgMSwgMjExLCAxMzIsIDE5MiwgMSwgMjEwLCAyNDMsIDE5MiwgMSwgMjEwLCAyMzcsIAorICAgIDE5MiwgMSwgMjEwLCAyMjIsIDE5MiwgMSwgMjEwLCAyMjAsIDE5MiwgMSwgMjEwLCAyMTYsIDE5MiwgMSwgMjEwLCAyMTUsIAorICAgIDE5MiwgMSwgMjA3LCA5NiwgMTkyLCAxLCAyMDcsIDUxLCAxOTIsIDEsIDIwNywgMjAsIDE5MiwgMSwgMjA2LCAyNTAsIDE5MiwgCisgICAgMSwgMjA2LCAyMTYsIDE5MiwgMSwgMjA2LCAyMDMsIDE5MiwgMSwgMTkwLCAxOTIsIDEsIDIwNiwgNTIsIDE5MiwgMSwgMjA2LCAKKyAgICAxMSwgMTkyLCAxLCAyMDUsIDI0NywgMTkyLCAxLCAyMDUsIDIxMywgMTkyLCAxLCAyMDUsIDE3NywgMTksIDIwLCAyMzcsIAorICAgIDIzOSwgMTksIDIwLCA3NSwgMTksIDIwLCAyNTMsIDEyOCwgMTksIDIwLCA3NCwgMTksIDIwLCAyMzMsIDEwMiwgMTksIDIwLCAKKyAgICA3NiwgMTksIDIwLCAyMjIsIDE1MiwgMTksIDIwLCAyMDYsIDEyMiwgMjIyLCAxNTIsIDE5LCAyMCwgODUsIDI0MywgMTA0LCAKKyAgICAxOSwgMjAsIDg1LCA3NCwgMTksIDIwLCA2MiwgMTksIDIwLCAyNTMsIDE2NCwgMTksIDIwLCAyMDcsIDUxLCAxOSwgMjAsIAorICAgIDE4MCwgMjA3LCA1MSwgMTksIDIwLCAyMDcsIDIwLCAxOSwgMjAsIDE4MCwgMjA3LCAyMCwgMTksIDIwLCAyMDcsIDEyLCAxOSwgCisgICAgMjAsIDE4MCwgMjA3LCAxMiwgMTksIDIwLCAyMDYsIDI1MCwgMTksIDIwLCAxODAsIDIwNiwgMjUwLCAxOSwgMjAsIDIwNiwgCisgICAgMjM4LCAxOSwgMjAsIDE4MCwgMjA2LCAyMzgsIDE5LCAyMCwgMjI1LCAxOTQsIDIwNiwgMjM4LCAxOSwgMjAsIDIwNywgOTYsIAorICAgIDE5LCAyMCwgMTgwLCAyMDcsIDk2LCAxOSwgMjAsIDIwNywgOTUsIDE5LCAyMCwgMTgwLCAyMDcsIDk1LCAxOSwgMjAsIDIyNSwgCisgICAgMTk0LCAyMDcsIDk1LCAxOSwgMjAsIDI1MiwgMjA1LCAxOSwgMjAsIDIwNiwgMTIyLCAyMDcsIDEyOSwgMTksIDIwLCAyNDAsIAorICAgIDI1LCAyMTMsIDI1MSwgMTksIDIwLCA0MiwgMTUzLCAxOSwgMjAsIDQyLCAyMzksIDIzNiwgMTksIDIwLCA0MiwgMjQ5LCAKKyAgICAxNTQsIDE2MCwgMjE4LCAxNDgsIDE5LCAyMCwgNDIsIDIxMSwgMTAyLCAxNjAsIDIxOCwgMTQ4LCAxOSwgMjAsIDQyLCA0OCwgCisgICAgMTYwLCAyMTgsIDE0OCwgMTksIDIwLCA0MiwgMjE4LCAxNDgsIDE5LCAyMCwgNDIsIDUwLCAxNTMsIDE5LCAyMCwgNDIsIDUwLCAKKyAgICAyMTUsIDE0NCwgNzksIDIxMywgMjEyLCAxOSwgMjAsIDQyLCAyMjYsIDI0NywgMjQ1LCAyMywgMTksIDIwLCA0MiwgMjE1LCAKKyAgICAxNDQsIDE5NCwgOTEsIDE5LCAyMCwgNDIsIDIyMCwgMjE4LCAxOSwgMjAsIDQyLCAxMzAsIDIxMiwgMjAxLCAxOSwgMjAsIAorICAgIDI0MywgNDEsIDE5LCAyMCwgMjMzLCA2OCwgMTksIDIwLCAyMjIsIDE2NSwgMTksIDIwLCAyNTIsIDEyMiwgMTksIDIwLCAKKyAgICAyMjEsIDE3NCwgMTksIDIwLCAyMjIsIDQ5LCAxOSwgMjAsIDIyMSwgNTMsIDE5LCAyMCwgMjIxLCAxNSwgMTksIDIwLCAyMjAsIAorICAgIDIxMSwgMTksIDIwLCAyMjAsIDE4NywgMTksIDIwLCAyMDYsIDEyMiwgMjIwLCAxODcsIDE5LCAyMCwgODUsIDIzOSwgNTMsIAorICAgIDE5LCAyMCwgODUsIDIzOSwgMTEsIDE5LCAyMCwgMTc5LCAxOSwgMjAsIDIyMiwgNTEsIDE5LCAyMCwgMjIwLCA0MywgMTksIAorICAgIDIwLCAxODAsIDIyMCwgNDMsIDE5LCAyMCwgMjIwLCA0MSwgMTksIDIwLCAxODAsIDIyMCwgNDEsIDE5LCAyMCwgMjIwLCA0MCwgCisgICAgMTksIDIwLCAxODAsIDIyMCwgNDAsIDE5LCAyMCwgMjIwLCAzOCwgMTksIDIwLCAxODAsIDIyMCwgMzgsIDE5LCAyMCwgMjIwLCAKKyAgICAzNywgMTksIDIwLCAxODAsIDIyMCwgMzcsIDE5LCAyMCwgMjIwLCA0NSwgMTksIDIwLCAxODAsIDIyMCwgNDUsIDE5LCAyMCwgCisgICAgMjIwLCA0NCwgMTksIDIwLCAxODAsIDIyMCwgNDQsIDE5LCAyMCwgMjA2LCAxMjIsIDIyMCwgNDQsIDE5LCAyMCwgMjIyLCAKKyAgICA2NywgMTksIDIwLCAxODAsIDIyMiwgNjcsIDE5LCAyMCwgODUsIDIzOSwgMTU1LCAxOSwgMjAsIDIxMiwgMTMxLCAxOSwgMjAsIAorICAgIDIxMiwgMjEzLCAxOSwgMjAsIDIxMSwgMjExLCAxOSwgMjAsIDIxMSwgMTk1LCAxOSwgMjAsIDEyNCwgMTksIDIwLCAyMTEsIAorICAgIDEwNSwgMTksIDIwLCAyMDYsIDEyMiwgMjExLCAxMDUsIDE5LCAyMCwgODUsIDI0NSwgMjUxLCAxOSwgMjAsIDg1LCAyNDUsIAorICAgIDE2OCwgMTksIDIwLCAyMTIsIDIxOSwgMTksIDIwLCAyMTIsIDIxNSwgMTksIDIwLCAyMTAsIDEyOCwgMTksIDIwLCAxODAsIAorICAgIDIxMCwgMTI4LCAxOSwgMjAsIDIxMCwgMTEyLCAxOSwgMjAsIDE4MCwgMjEwLCAxMTIsIDE5LCAyMCwgMjEwLCAxMTEsIDE5LCAKKyAgICAyMCwgMTgwLCAyMTAsIDExMSwgMTksIDIwLCAxMDUsIDE5LCAyMCwgMTgwLCAxMDUsIDE5LCAyMCwgMjEwLCAxMDQsIDE5LCAKKyAgICAyMCwgMTgwLCAyMTAsIDEwNCwgMTksIDIwLCAyMTAsIDEzMCwgMTksIDIwLCAxODAsIDIxMCwgMTMwLCAxOSwgMjAsIDIxMCwgCisgICAgMTI5LCAxOSwgMjAsIDE4MCwgMjEwLCAxMjksIDE5LCAyMCwgMjI1LCAxOTQsIDIxMCwgMTI5LCAxOSwgMjAsIDIxMywgMTAsIAorICAgIDE5LCAyMCwgMjEwLCAyMDMsIDE5LCAyMCwgMjEwLCAxODcsIDE5LCAyMCwgMjEwLCAxODUsIDE5LCAyMCwgMjEwLCAyMDgsIAorICAgIDE5LCAyMCwgMjMxLCAyMjQsIDE5LCAyMCwgMjMyLCA1OSwgMTksIDIwLCAyMzEsIDEyMywgMTksIDIwLCAyMzEsIDExMSwgCisgICAgMTksIDIwLCAyMzEsIDUzLCAxOSwgMjAsIDIzMSwgMzMsIDE5LCAyMCwgMjA2LCAxMjIsIDIzMSwgMzMsIDE5LCAyMCwgMTcyLCAKKyAgICAxOSwgMjAsIDIzMiwgNjMsIDE5LCAyMCwgMjMwLCAxOTAsIDE5LCAyMCwgMTgwLCAyMzAsIDE5MCwgMTksIDIwLCAyMzAsIAorICAgIDE4OCwgMTksIDIwLCAxODAsIDIzMCwgMTg4LCAxOSwgMjAsIDIzMCwgMTg3LCAxOSwgMjAsIDE4MCwgMjMwLCAxODcsIDE5LCAKKyAgICAyMCwgMjMwLCAxODUsIDE5LCAyMCwgMTgwLCAyMzAsIDE4NSwgMTksIDIwLCAyMzAsIDE4NCwgMTksIDIwLCAxODAsIDIzMCwgCisgICAgMTg0LCAxOSwgMjAsIDIzMCwgMTk1LCAxOSwgMjAsIDE4MCwgMjMwLCAxOTUsIDE5LCAyMCwgMjMwLCAxOTQsIDE5LCAyMCwgCisgICAgMTgwLCAyMzAsIDE5NCwgMTksIDIwLCAyMjUsIDE5NCwgMjMwLCAxOTQsIDE5LCAyMCwgMjMyLCA3NiwgMTksIDIwLCAyMzAsIAorICAgIDE5NiwgMTksIDIwLCAyMTQsIDE2MiwgMjMxLCAyMTQsIDE5LCAyMCwgMjE0LCAxNjIsIDIzMSwgMTEyLCAxOSwgMjAsIDIxNCwgCisgICAgMTYyLCAyMzEsIDQ3LCAxOSwgMjAsIDIxNCwgMTYyLCAyMzIsIDQzLCAxOSwgMjAsIDI0OCwgMTQ4LCAxOSwgMjAsIDI0OCwgCisgICAgMjU1LCAxOSwgMjAsIDI0NywgMjUxLCAxOSwgMjAsIDI0NywgMjQxLCAxOSwgMjAsIDI0NywgMTc0LCAxOSwgMjAsIDI0NywgCisgICAgMTA1LCAxOSwgMjAsIDIwNiwgMTIyLCAyNDcsIDEwNSwgMTksIDIwLCAyNDksIDEsIDE5LCAyMCwgMjQ5LCAwLCAxOSwgMjAsIAorICAgIDI0NywgNSwgMTksIDIwLCAxODAsIDI0NywgNSwgMTksIDIwLCAyNDcsIDMsIDE5LCAyMCwgMTgwLCAyNDcsIDMsIDE5LCAyMCwgCisgICAgMjQ3LCAyLCAxOSwgMjAsIDE4MCwgMjQ3LCAyLCAxOSwgMjAsIDI0NywgMSwgMTksIDIwLCAxODAsIDI0NywgMSwgMTksIDIwLCAKKyAgICAyNDcsIDAsIDE5LCAyMCwgMTgwLCAyNDcsIDAsIDE5LCAyMCwgMjQ3LCA3LCAxOSwgMjAsIDE4MCwgMjQ3LCA3LCAxOSwgMjAsIAorICAgIDI0NywgNiwgMTksIDIwLCAxODAsIDI0NywgNiwgMTksIDIwLCAyMjUsIDE5NCwgMjQ3LCA2LCAxOSwgMjAsIDI0OSwgMzQsIAorICAgIDE5LCAyMCwgMjE3LCAxMTQsIDIxMiwgNTgsIDE5LCAyMCwgMjI3LCAxMTksIDE5LCAyMCwgMjI4LCAxNywgMTksIDIwLCAKKyAgICAyMjYsIDI1NCwgMTksIDIwLCAyMjYsIDIyNCwgMTksIDIwLCAyMjYsIDE4MSwgMTksIDIwLCAyMjYsIDE1MCwgMTksIDIwLCAKKyAgICAyMDYsIDEyMiwgMjI2LCAxNTAsIDE5LCAyMCwgMTg1LCAxOSwgMjAsIDIyOCwgMTgsIDE5LCAyMCwgMjI2LCA0OCwgMTksIAorICAgIDIwLCAxODAsIDIyNiwgNDgsIDE5LCAyMCwgMjI2LCA0NiwgMTksIDIwLCAxODAsIDIyNiwgNDYsIDE5LCAyMCwgMjI2LCA0NSwgCisgICAgMTksIDIwLCAxODAsIDIyNiwgNDUsIDE5LCAyMCwgMjI2LCA0NCwgMTksIDIwLCAxODAsIDIyNiwgNDQsIDE5LCAyMCwgMjI2LCAKKyAgICA0MywgMTksIDIwLCAxODAsIDIyNiwgNDMsIDE5LCAyMCwgMjI2LCA1MCwgMTksIDIwLCAxODAsIDIyNiwgNTAsIDE5LCAyMCwgCisgICAgMjI2LCA0OSwgMTksIDIwLCAxODAsIDIyNiwgNDksIDE5LCAyMCwgMjI1LCAxOTQsIDIyNiwgNDksIDE5LCAyMCwgMjI5LCAKKyAgICAyOCwgMTksIDIwLCAxODAsIDIyOSwgMjgsIDE5LCAyMCwgMjI3LCAyLCAxOSwgMjAsIDI1MSwgMTk4LCAyMjksIDI4LCAxOSwgCisgICAgMjAsIDIxNywgMTE0LCAyMjksIDI4LCAxOSwgMjAsIDIyNSwgMTEwLCAxOSwgMjAsIDIyNSwgMjMxLCAxOSwgMjAsIDIyNCwgCisgICAgMjMwLCAxOSwgMjAsIDIyNCwgMjA1LCAxOSwgMjAsIDIyNCwgNjcsIDE5LCAyMCwgMjI0LCA1NiwgMTksIDIwLCAyMDYsIAorICAgIDEyMiwgMjI0LCA1NiwgMTksIDIwLCAxOTksIDE5LCAyMCwgMjI1LCAyMzIsIDE5LCAyMCwgMjIzLCAxNTEsIDE5LCAyMCwgCisgICAgMTgwLCAyMjMsIDE1MSwgMTksIDIwLCAyMjMsIDE1MywgMTksIDIwLCAxODAsIDIyMywgMTUzLCAxOSwgMjAsIDIyMywgMTUyLCAKKyAgICAxOSwgMjAsIDE4MCwgMjIzLCAxNTIsIDE5LCAyMCwgMjI1LCAxOTQsIDIyMywgMTUyLCAxOSwgMjAsIDIyNiwgMzMsIDE5LCAKKyAgICAyMCwgODUsIDIyNSwgNzksIDE5LCAyMCwgMjI0LCAyMzUsIDE5LCAyMCwgMjMwLCA1OCwgMTksIDIwLCAyMzAsIDEzOSwgMTksIAorICAgIDIwLCAyMjksIDIzNSwgMTksIDIwLCAyMjksIDIxOSwgMTksIDIwLCAyMjksIDE0NCwgMTksIDIwLCAyMjksIDExNSwgMTksIAorICAgIDIwLCAyMDYsIDEyMiwgMjI5LCAxMTUsIDE5LCAyMCwgMjMwLCAxNDEsIDE5LCAyMCwgMjMwLCAxNDAsIDE5LCAyMCwgMjI5LCAKKyAgICA0OCwgMTksIDIwLCAxODAsIDIyOSwgNDgsIDE5LCAyMCwgMjI5LCA0NywgMTksIDIwLCAxODAsIDIyOSwgNDcsIDE5LCAyMCwgCisgICAgMjI5LCA0NiwgMTksIDIwLCAxODAsIDIyOSwgNDYsIDE5LCAyMCwgMjI5LCA0NSwgMTksIDIwLCAxODAsIDIyOSwgNDUsIDE5LCAKKyAgICAyMCwgMjI5LCA0NCwgMTksIDIwLCAxODAsIDIyOSwgNDQsIDE5LCAyMCwgMjI5LCA1MCwgMTksIDIwLCAxODAsIDIyOSwgNTAsIAorICAgIDE5LCAyMCwgMjI5LCA0OSwgMTksIDIwLCAxODAsIDIyOSwgNDksIDE5LCAyMCwgMTQ5LCAxOSwgMjAsIDE4MCwgMTQ5LCAxOSwgCisgICAgMjAsIDE2OSwgMTQ5LCAxOSwgMjAsIDIxNywgODYsIDE5LCAyMCwgMjE3LCAxOTQsIDE5LCAyMCwgMjE1LCA4MCwgMTksIDIwLCAKKyAgICAyMTUsIDYxLCAxOSwgMjAsIDIxNCwgMTkzLCAxOSwgMjAsIDIxNCwgMTc0LCAxOSwgMjAsIDIwNiwgMTIyLCAyMTQsIDE3NCwgCisgICAgMTksIDIwLCAyMTcsIDE5OSwgMTksIDIwLCAyMTcsIDE5NiwgMTksIDIwLCAyMTMsIDEwOCwgMTksIDIwLCAxODAsIDIxMywgCisgICAgMTA4LCAxOSwgMjAsIDIxMywgMTAyLCAxOSwgMjAsIDE4MCwgMjEzLCAxMDIsIDE5LCAyMCwgMjEzLCAxMDEsIDE5LCAyMCwgCisgICAgMTgwLCAyMTMsIDEwMSwgMTksIDIwLCAyMTMsIDk3LCAxOSwgMjAsIDE4MCwgMjEzLCA5NywgMTksIDIwLCAyMTMsIDk2LCAKKyAgICAxOSwgMjAsIDE4MCwgMjEzLCA5NiwgMTksIDIwLCAyMTMsIDExMiwgMTksIDIwLCAxODAsIDIxMywgMTEyLCAxOSwgMjAsIAorICAgIDIxMywgMTExLCAxOSwgMjAsIDE4MCwgMjEzLCAxMTEsIDE5LCAyMCwgMjI1LCAxOTQsIDIxMywgMTExLCAxOSwgMjAsIDE4MiwgCisgICAgMTksIDIwLCAyNTEsIDE5OCwgMTgyLCAxOSwgMjAsIDIxMywgMTEzLCAxOSwgMjAsIDI0OSwgMTk5LCAxODIsIDE5LCAyMCwgCisgICAgMjI2LCAxNDMsIDIxNCwgMjQ4LCAxOSwgMjAsIDIyNSwgMTk0LCAyMTQsIDIzOSwgMTksIDIwLCAyMjUsIDE5NCwgMjE3LCAKKyAgICAyNTUsIDE5LCAyMCwgMjI1LCAxOTQsIDIxNCwgMTA5LCAxOSwgMjAsIDIyNSwgMTk0LCAyMTMsIDIwNiwgMTksIDIwLCAyMjUsIAorICAgIDE5NCwgMjE0LCAyMzgsIDE5LCAyMCwgMjI1LCAxOTQsIDIxNywgODksIDE5LCAyMCwgMjE1LCAyMTQsIDE5LCAyMCwgMjE1LCAKKyAgICAxODMsIDE5LCAyMCwgMjE1LCAxNzgsIDE5LCAyMCwgMjE1LCAxNTgsIDE5LCAyMCwgMjE1LCAxNTIsIDE5LCAyMCwgMjE2LCAKKyAgICAyLCAxOSwgMjAsIDIxNSwgMjU0LCAxOSwgMjAsIDIxNSwgOTUsIDE5LCAyMCwgMTgwLCAyMTUsIDk1LCAxOSwgMjAsIDIxNSwgCisgICAgOTQsIDE5LCAyMCwgMTgwLCAyMTUsIDk0LCAxOSwgMjAsIDIxNSwgOTMsIDE5LCAyMCwgMTgwLCAyMTUsIDkzLCAxOSwgMjAsIAorICAgIDIxNSwgOTIsIDE5LCAyMCwgMTgwLCAyMTUsIDkyLCAxOSwgMjAsIDIxNSwgOTEsIDE5LCAyMCwgMTgwLCAyMTUsIDkxLCAxOSwgCisgICAgMjAsIDIxNSwgOTgsIDE5LCAyMCwgMTgwLCAyMTUsIDk4LCAxOSwgMjAsIDIxNSwgOTcsIDE5LCAyMCwgMTgwLCAyMTUsIDk3LCAKKyAgICAxOSwgMjAsIDIxNiwgNCwgMTksIDIwLCAyMDYsIDUyLCAxOSwgMjAsIDIwNiwgMTA3LCAxOSwgMjAsIDIwNiwgMTEsIDE5LCAKKyAgICAyMCwgMjA2LCAyLCAxOSwgMjAsIDIwNSwgMjQ3LCAxOSwgMjAsIDIwNSwgMjMyLCAxOSwgMjAsIDIwNiwgMTIyLCAyMDUsIAorICAgIDIzMiwgMTksIDIwLCAxOTAsIDE5LCAyMCwgMjA2LCAxMDksIDE5LCAyMCwgMjA1LCAxNzQsIDE5LCAyMCwgMTgwLCAyMDUsIAorICAgIDE3NCwgMTksIDIwLCAyMDUsIDE3MywgMTksIDIwLCAxODAsIDIwNSwgMTczLCAxOSwgMjAsIDIwNSwgMTcyLCAxOSwgMjAsIAorICAgIDE4MCwgMjA1LCAxNzIsIDE5LCAyMCwgMjA1LCAxNzEsIDE5LCAyMCwgMTgwLCAyMDUsIDE3MSwgMTksIDIwLCAyMDUsIDE3MCwgCisgICAgMTksIDIwLCAxODAsIDIwNSwgMTcwLCAxOSwgMjAsIDIwNSwgMTc2LCAxOSwgMjAsIDE4MCwgMjA1LCAxNzYsIDE5LCAyMCwgCisgICAgMjA1LCAxNzUsIDE5LCAyMCwgMTgwLCAyMDUsIDE3NSwgMTksIDIwLCAyMjUsIDE5NCwgMjA1LCAxNzUsIDE5LCAyMCwgMjA2LCAKKyAgICAxMjMsIDE5LCAyMCwgMjQ5LCAyNDIsIDIwNiwgMTIzLCAxOSwgMjAsIDE4MCwgMjA2LCAxMjMsIDE5LCAyMCwgMjE3LCAxMTQsIAorICAgIDIwNiwgMTEsIDE5LCAyMCwgMjE5LCA1MSwgMTksIDIwLCAyMTksIDE0OSwgMjE5LCA1MSwgMTksIDIwLCAxODAsIDIzMCwgCisgICAgNTgsIDE5LCAyMCwgMjE5LCAxMDgsIDE5LCAyMCwgMjE4LCAyMDgsIDE5LCAyMCwgMjE4LCAxNTQsIDE5LCAyMCwgMjE4LCAKKyAgICAxMjQsIDE5LCAyMCwgMjE4LCAxMDcsIDE5LCAyMCwgMTgwLCAyMjksIDE0NCwgMTksIDIwLCAyMTksIDExMywgMTksIDIwLCAKKyAgICAyMTksIDEwOSwgMTksIDIwLCAxODAsIDIzMCwgMTQxLCAxOSwgMjAsIDIxOCwgMTcsIDE5LCAyMCwgMTgwLCAyMTgsIDE3LCAKKyAgICAxOSwgMjAsIDEzNywgMTksIDIwLCAxODAsIDEzNywgMTksIDIwLCAxNjksIDEzNywgMTksIDIwLCAyNDIsIDI4LCAxOSwgMjAsIAorICAgIDI0MiwgNzAsIDE5LCAyMCwgMjQxLCAyNTAsIDE5LCAyMCwgMjQxLCAyMzcsIDE5LCAyMCwgMjQxLCAxNjIsIDE5LCAyMCwgCisgICAgMjQxLCAxNTEsIDE5LCAyMCwgMjQyLCA3MywgMTksIDIwLCAyNDIsIDcyLCAxOSwgMjAsIDI0MSwgNjUsIDE5LCAyMCwgMTgwLCAKKyAgICAyNDEsIDY1LCAxOSwgMjAsIDI0MiwgMTM5LCAxOSwgMjAsIDIxMiwgNDEsIDE5LCAyMCwgMjI2LCAzMSwgMjEyLCA0MSwgMTksIAorICAgIDIwLCAyMTIsIDE5LCAxOSwgMjAsIDIyNiwgMzEsIDIxMiwgMTksIDE5LCAyMCwgMjEyLCAxMywgMTksIDIwLCAyMjYsIDMxLCAKKyAgICAyMTIsIDEzLCAxOSwgMjAsIDIxMSwgMjUzLCAxOSwgMjAsIDIxMSwgMjQ4LCAxOSwgMjAsIDIxMiwgNTYsIDE5LCAyMCwgCisgICAgMjEyLCA1NSwgMTksIDIwLCAyMTEsIDIyMSwgMTksIDIwLCAxODAsIDIxMSwgMjIxLCAxOSwgMjAsIDIxMiwgNTgsIDE5LCAKKyAgICAyMCwgMjEwLCAxOTQsIDE5LCAyMCwgMjEwLCAxOTIsIDE5LCAyMCwgMjEwLCAxOTEsIDE5LCAyMCwgMjEwLCAxOTYsIDE5LCAKKyAgICAyMCwgMjEwLCAxOTcsIDE5LCAyMCwgMjEwLCA5OCwgMTksIDIwLCAyMTAsIDk3LCAxOSwgMjAsIDIxMCwgOTYsIDE5LCAyMCwgCisgICAgMjEwLCAxMDAsIDE5LCAyMCwgMjIzLCAxNzIsIDIzOSwgNzEsIDE5LCAyMCwgMjIzLCAxNzIsIDIzOSwgMTEsIDE5LCAyMCwgCisgICAgMjIzLCAxNzIsIDIzOCwgMjQ3LCAxOSwgMjAsIDIyMywgMTcyLCAyMzgsIDE0OSwgMTksIDIwLCAyMjMsIDE3MiwgMjM4LCAKKyAgICAxMzEsIDE5LCAyMCwgMjIzLCAxNzIsIDE1NSwgMTksIDIwLCAyMjMsIDE3MiwgMjM5LCAxNDEsIDE5LCAyMCwgMjIzLCAxNzIsIAorICAgIDIzOSwgMTU1LCAxOSwgMjAsIDIyMywgMTcxLCAyMzksIDE1NSwgMTksIDIwLCAyMzgsIDIzOSwgMTksIDIwLCAyMjAsIDE1LCAKKyAgICAxOSwgMjAsIDIxOSwgMjM3LCAxOSwgMjAsIDIxOSwgMjMyLCAxOSwgMjAsIDIxOSwgMjI2LCAxOSwgMjAsIDIxOSwgMjIxLCAKKyAgICAxOSwgMjAsIDIyMCwgMTksIDE5LCAyMCwgMjIwLCAxOCwgMTksIDIwLCAyMjAsIDI3LCAxOSwgMjAsIDIxMSwgMTQzLCAxOSwgCisgICAgMjAsIDIxMSwgMTQxLCAxOSwgMjAsIDIxMSwgMTQwLCAxOSwgMjAsIDIxMSwgMTQ0LCAxOSwgMjAsIDE4MCwgMjE5LCA1MSwgCisgICAgMTksIDIwLCAxODAsIDIxOCwgMjA4LCAxOSwgMjAsIDE4MCwgMjE4LCAxMjQsIDE5LCAyMCwgMTgwLCAyMTksIDExMywgMTksIAorICAgIDIwLCAyMjUsIDc1LCAxOSwgMjAsIDIyNSwgMjUsIDE5LCAyMCwgMjI1LCAyMSwgMTksIDIwLCAyMjUsIDIsIDE5LCAyMCwgCisgICAgMjI0LCAyNTMsIDE5LCAyMCwgMjI1LCA3NywgMTksIDIwLCAyMjUsIDc2LCAxOSwgMjAsIDIyNSwgNzksIDE5LCAyMCwgMjI0LCAKKyAgICA5NiwgMTksIDIwLCAyMTcsIDExNCwgMjE1LCAyMTQsIDE5LCAyMCwgMjE3LCAxMTQsIDIxNSwgMTgzLCAxOSwgMjAsIDIxNywgCisgICAgMTE0LCAyMTUsIDE1OCwgMTksIDIwLCAyMTcsIDExNCwgMjE2LCAyLCAxOSwgMjAsIDIwNiwgMjM2LCAyMTIsIDQxLCAxOSwgCisgICAgMjAsIDIwNiwgMjM2LCAyMTIsIDE5LCAxOSwgMjAsIDIwNiwgMjM2LCAyMTEsIDI1MywgMTksIDIwLCAyMDYsIDIzNiwgMjEyLCAKKyAgICA1NiwgMTksIDIwLCAyMDYsIDIzNiwgMjEyLCA1OCwgMTksIDIwLCAyMjksIDI0MiwgMTksIDIwLCAyMjksIDI0MSwgMTksIAorICAgIDIwLCAyMjksIDI0MCwgMTksIDIwLCAyMjksIDIzOSwgMTksIDIwLCAyMjksIDI0OCwgMTksIDIwLCAyMjksIDI0NywgMTksIAorICAgIDIwLCAyMjksIDI0OSwgMTksIDIwLCAyMTIsIDU3LCAyMTIsIDQxLCAxOSwgMjAsIDIxMiwgNTcsIDIxMiwgMTksIDE5LCAyMCwgCisgICAgMjEyLCA1NywgMjEyLCAxMywgMTksIDIwLCAyMTIsIDU3LCAyMTEsIDI1MywgMTksIDIwLCAyMTIsIDU3LCAyMTEsIDI0OCwgCisgICAgMTksIDIwLCAyMTIsIDU3LCAyMTIsIDU2LCAxOSwgMjAsIDIxMiwgNTcsIDIxMiwgNTUsIDE5LCAyMCwgMjEyLCA1NywgMjEyLCAKKyAgICA1OCwgMTksIDIwLCAyNTIsIDE5MiwgMjUxLCAxNTAsIDE5LCAyMCwgMjQ5LCAxOTksIDc1LCAxOSwgMjAsIDI0OSwgMTk5LCAKKyAgICA3NCwgMTksIDIwLCAyNDksIDE5OSwgNzYsIDE5LCAyMCwgMjQ5LCAxOTksIDYyLCAxOSwgMjAsIDI0OSwgMTk5LCAyMDcsIAorICAgIDUxLCAxOSwgMjAsIDI0OSwgMTk5LCAyMDcsIDIwLCAxOSwgMjAsIDI0OSwgMTk5LCAyMDYsIDI1MCwgMTksIDIwLCAyNDksIAorICAgIDE5OSwgMjA3LCA5NiwgMTksIDIwLCAyNDksIDE5OSwgMjI1LCAxMTAsIDE5LCAyMCwgMjQ5LCAxOTksIDIyNCwgMjMwLCAxOSwgCisgICAgMjAsIDI0OSwgMTk5LCAyMjQsIDY3LCAxOSwgMjAsIDI0OSwgMTk5LCAxOTksIDE5LCAyMCwgMjQ5LCAxOTksIDIzMSwgMjI0LCAKKyAgICAxOSwgMjAsIDI0OSwgMTk5LCAyMzEsIDEyMywgMTksIDIwLCAyNDksIDE5OSwgMjMxLCA1MywgMTksIDIwLCAyNDksIDE5OSwgCisgICAgMTcyLCAxOSwgMjAsIDIxNywgMTE0LCAyMzksIDcxLCAxOSwgMjAsIDIxNywgMTE0LCAyMzksIDExLCAxOSwgMjAsIDIxNywgCisgICAgMTE0LCAyMzgsIDE0OSwgMTksIDIwLCAyMTcsIDExNCwgMTU1LCAxOSwgMjAsIDg1LCAyNDAsIDY3LCAxOSwgMjAsIDg1LCAKKyAgICAyNDAsIDcxLCAxOSwgMjAsIDg1LCAyNDAsIDg1LCAxOSwgMjAsIDg1LCAyNDAsIDg0LCAxOSwgMjAsIDg1LCAyNDAsIDczLCAKKyAgICAxOSwgMjAsIDg1LCAyNDAsIDk5LCAxOSwgMjAsIDg1LCAyMTgsIDUwLCAxOSwgMjAsIDg1LCAyMTgsIDEyNCwgMTksIDIwLCAKKyAgICA4NSwgMjE5LCA1MSwgMTksIDIwLCA4NSwgMjE5LCAyOSwgMTksIDIwLCA4NSwgMjE4LCAyMDgsIDE5LCAyMCwgODUsIDIxOSwgCisgICAgMTEzLCAxOSwgMjAsIDg1LCAyMDYsIDIxNiwgMTksIDIwLCA4NSwgMjA2LCAyNTAsIDE5LCAyMCwgODUsIDIwNywgNTEsIDE5LCAKKyAgICAyMCwgODUsIDIwNywgNDUsIDE5LCAyMCwgODUsIDIwNywgMjAsIDE5LCAyMCwgODUsIDIwNywgOTYsIDE5LCAyMCwgODUsIAorICAgIDIzOCwgOSwgMTksIDIwLCA4NSwgMjM4LCAxMCwgMTksIDIwLCA4NSwgMjM4LCAxMywgMTksIDIwLCA4NSwgMjM4LCAxMiwgCisgICAgMTksIDIwLCA4NSwgMjM4LCAxMSwgMTksIDIwLCA4NSwgMjM4LCAxNiwgMTksIDIwLCA4NSwgMjExLCAyMzAsIDE5LCAyMCwgCisgICAgODUsIDIxMSwgMjUzLCAxOSwgMjAsIDg1LCAyMTIsIDQxLCAxOSwgMjAsIDg1LCAyMTIsIDM5LCAxOSwgMjAsIDg1LCAyMTIsIAorICAgIDE5LCAxOSwgMjAsIDg1LCAyMTIsIDU2LCAxOSwgMjAsIDg1LCAyMTAsIDE3NSwgMTksIDIwLCA4NSwgMjEwLCAxODUsIDE5LCAKKyAgICAyMCwgODUsIDIxMCwgMjAzLCAxOSwgMjAsIDg1LCAyMTAsIDIwMiwgMTksIDIwLCA4NSwgMjEwLCAxODcsIDE5LCAyMCwgODUsIAorICAgIDIxMCwgMjA4LCAxOSwgMjAsIDg1LCAyMjAsIDgyLCAxOSwgMjAsIDg1LCAyMjAsIDIxMSwgMTksIDIwLCA4NSwgMjIxLCAKKyAgICAxNzQsIDE5LCAyMCwgODUsIDIyMSwgMTY0LCAxOSwgMjAsIDg1LCAyMjEsIDUzLCAxOSwgMjAsIDg1LCAxNzksIDE5LCAyMCwgCisgICAgODUsIDIyMiwgNjcsIDE5LCAyMCwgODUsIDIzOSwgMjEzLCAxOSwgMjAsIDg1LCAyNDAsIDE5LCAxOSwgMjAsIDg1LCAyNDAsIAorICAgIDE3MCwgMTksIDIwLCA4NSwgMjQwLCAxNjIsIDE5LCAyMCwgODUsIDI0MCwgNjEsIDE5LCAyMCwgODUsIDI0MCwgMjQ0LCAxOSwgCisgICAgMjAsIDg1LCAyMzEsIDEzMiwgMTksIDIwLCA4NSwgMjMxLCAxMzgsIDE5LCAyMCwgODUsIDIzMSwgMTUyLCAxOSwgMjAsIDg1LCAKKyAgICAyMzEsIDE1MSwgMTksIDIwLCA4NSwgMjMxLCAxNDUsIDE5LCAyMCwgODUsIDIzMSwgMTY3LCAxOSwgMjAsIDg1LCAyMzEsIAorICAgIDY3LCAxOSwgMjAsIDg1LCAyMzEsIDY4LCAxOSwgMjAsIDg1LCAyMzEsIDcxLCAxOSwgMjAsIDg1LCAyMzEsIDcwLCAxOSwgCisgICAgMjAsIDg1LCAyMzEsIDY5LCAxOSwgMjAsIDg1LCAyMzEsIDcyLCAxOSwgMjAsIDg1LCAyMzEsIDczLCAxOSwgMjAsIDg1LCAKKyAgICAyMjMsIDIxNywgMTksIDIwLCA4NSwgMjI0LCA2NywgMTksIDIwLCA4NSwgMjI1LCAxMTAsIDE5LCAyMCwgODUsIDIyNSwgCisgICAgMTA2LCAxOSwgMjAsIDg1LCAyMjQsIDIzMCwgMTksIDIwLCA4NSwgMTk5LCAxOSwgMjAsIDg1LCAyMjYsIDExNCwgMTksIDIwLCAKKyAgICA4NSwgMjI2LCAxODEsIDE5LCAyMCwgODUsIDIyNywgMTE5LCAxOSwgMjAsIDg1LCAyMjcsIDEwNywgMTksIDIwLCA4NSwgCisgICAgMjI2LCAyNTQsIDE5LCAyMCwgODUsIDE4NSwgMTksIDIwLCA4NSwgMjA1LCAyMTMsIDE5LCAyMCwgODUsIDIwNSwgMjQ3LCAKKyAgICAxOSwgMjAsIDg1LCAyMDYsIDUyLCAxOSwgMjAsIDg1LCAyMDYsIDQ5LCAxOSwgMjAsIDg1LCAyMDYsIDExLCAxOSwgMjAsIAorICAgIDg1LCAxOTAsIDE5LCAyMCwgODUsIDIzMiwgMTA0LCAxOSwgMjAsIDIxNywgMTE0LCAyMzIsIDEwNCwgMTksIDIwLCA4NSwgCisgICAgMjMyLCAxMjIsIDE5LCAyMCwgODUsIDIzMiwgMTgyLCAxOSwgMjAsIDg1LCAyMzIsIDE4MCwgMTksIDIwLCA4NSwgMjMyLCAKKyAgICAxNjIsIDE5LCAyMCwgMjE3LCAxMTQsIDIzMiwgMTYyLCAxOSwgMjAsIDg1LCAyMzIsIDIwMCwgMTksIDIwLCA4NSwgMjMyLCAKKyAgICAxMzUsIDE5LCAyMCwgODUsIDIzMiwgMTM5LCAxOSwgMjAsIDg1LCAyMzIsIDE0OSwgMTksIDIwLCA4NSwgMjMyLCAxNDgsIAorICAgIDE5LCAyMCwgODUsIDIzMiwgMTQ3LCAxOSwgMjAsIDg1LCAyMzIsIDE1MCwgMTksIDIwLCA4NSwgMjI5LCA4MSwgMTksIDIwLCAKKyAgICA4NSwgMjI5LCAxNDQsIDE5LCAyMCwgODUsIDIzMCwgNTgsIDE5LCAyMCwgODUsIDIzMCwgNTAsIDE5LCAyMCwgODUsIDIyOSwgCisgICAgMjM1LCAxOSwgMjAsIDg1LCAyMzAsIDE0MSwgMTksIDIwLCA4NSwgMjQ1LCA1NSwgMTksIDIwLCA4NSwgMjQ1LCA1NiwgMTksIAorICAgIDIwLCA4NSwgMjQ1LCA2MSwgMTksIDIwLCA4NSwgMjQ1LCA2MCwgMTksIDIwLCA4NSwgMjQ1LCA1NywgMTksIDIwLCA4NSwgCisgICAgMjQ1LCA2MiwgMTksIDIwLCA4NSwgMjI5LCAyMzgsIDE5LCAyMCwgODUsIDIyOSwgMjQwLCAxOSwgMjAsIDg1LCAyMjksIAorICAgIDI0NCwgMTksIDIwLCA4NSwgMjI5LCAyNDMsIDE5LCAyMCwgODUsIDIyOSwgMjQyLCAxOSwgMjAsIDg1LCAyMjksIDI0OCwgCisgICAgMTksIDIwLCA4NSwgMjExLCAxMzgsIDE5LCAyMCwgODUsIDIxMSwgMTQwLCAxOSwgMjAsIDg1LCAyMTEsIDE0MywgMTksIDIwLCAKKyAgICA4NSwgMjExLCAxNDIsIDE5LCAyMCwgODUsIDIxMSwgMTQxLCAxOSwgMjAsIDg1LCAyMTEsIDE0NCwgMTksIDIwLCA4NSwgCisgICAgMjExLCAxMzMsIDE5LCAyMCwgODUsIDIxMSwgMTM0LCAxOSwgMjAsIDg1LCAyMTEsIDE0NiwgMTksIDIwLCA4NSwgMjExLCAKKyAgICAxNDUsIDE5LCAyMCwgODUsIDIxMSwgMTM1LCAxOSwgMjAsIDg1LCAyMTEsIDE0NywgMTksIDIwLCA4NSwgMjA1LCA5LCAxOSwgCisgICAgMjAsIDg1LCAyMDUsIDE5LCAxOSwgMjAsIDg1LCAyMDUsIDkzLCAxOSwgMjAsIDg1LCAyMDUsIDkxLCAxOSwgMjAsIDg1LCAKKyAgICAyMDUsIDQwLCAxOSwgMjAsIDg1LCAyMDUsIDExNiwgMTksIDIwLCA4NSwgMjA1LCAxNTksIDE5LCAyMCwgODUsIDc4LCAyMDUsIAorICAgIDE1OSwgMTksIDIwLCA4NSwgMjQzLCAxODMsIDE5LCAyMCwgODUsIDI0MywgMTg0LCAxOSwgMjAsIDg1LCAyNDMsIDE5MywgCisgICAgMTksIDIwLCA4NSwgMjQzLCAxOTIsIDE5LCAyMCwgODUsIDI0MywgMTg3LCAxOSwgMjAsIDg1LCAyNDMsIDE5NiwgMTksIDIwLCAKKyAgICA4NSwgMjEzLCAyMDMsIDE5LCAyMCwgODUsIDIxNCwgMTkzLCAxOSwgMjAsIDg1LCAyMTcsIDg2LCAxOSwgMjAsIDg1LCAyMTcsIAorICAgIDc0LCAxOSwgMjAsIDg1LCAyMTUsIDgwLCAxOSwgMjAsIDg1LCAyMTcsIDE5OSwgMTksIDIwLCA4NSwgMjE1LCAxMTYsIDE5LCAKKyAgICAyMCwgODUsIDIxNSwgMTU4LCAxOSwgMjAsIDg1LCAyMTUsIDIxNCwgMTksIDIwLCA4NSwgMjE1LCAyMTIsIDE5LCAyMCwgODUsIAorICAgIDIxNSwgMTgzLCAxOSwgMjAsIDg1LCAyMTYsIDIsIDE5LCAyMCwgODUsIDIxNiwgNCwgMTksIDIwLCA4NSwgMjEwLCAyMTYsIAorICAgIDE5LCAyMCwgODUsIDIxMCwgMjIwLCAxOSwgMjAsIDg1LCAyMTAsIDIzNywgMTksIDIwLCA4NSwgMjEwLCAyMzYsIDE5LCAyMCwgCisgICAgODUsIDIxMCwgMjIyLCAxOSwgMjAsIDg1LCAyMTAsIDI0MywgMTksIDIwLCA4NSwgMjQ4LCAxNCwgMTksIDIwLCA4NSwgMjQ4LCAKKyAgICAzMiwgMTksIDIwLCA4NSwgMjQ4LCA4MiwgMTksIDIwLCA4NSwgMjQ4LCA3OCwgMTksIDIwLCA4NSwgMjQ4LCA1OCwgMTksIAorICAgIDIwLCA4NSwgMjQ4LCAxMTAsIDE5LCAyMCwgODUsIDIxMCwgMTc4LCAxOSwgMjAsIDg1LCAyMTAsIDE3OSwgMTksIDIwLCA4NSwgCisgICAgMjEwLCAxODIsIDE5LCAyMCwgODUsIDIxMCwgMTgxLCAxOSwgMjAsIDg1LCAyMTAsIDE4MCwgMTksIDIwLCA4NSwgMjEwLCAKKyAgICAxODMsIDE5LCAyMCwgMjQ4LCA1OSwgNTMsIDE5LCAyMCwgMjQxLCA4MiwgMjEzLCAyNTEsIDE5LCAyMCwgMjIwLCAxMSwgMTksIAorICAgIDIwLCAyMjUsIDczLCAxOSwgMjAsIDIyNCwgOTMsIDE5LCAyMCwgMjI0LCA5MiwgMTksIDIwLCAyMjQsIDkxLCAxOSwgMjAsIAorICAgIDIyNCwgOTAsIDE5LCAyMCwgMjI0LCA5NSwgMTksIDIwLCAyMjQsIDk0LCAxOSwgMjAsIDIwNiwgMjM2LCAyMTEsIDIxOSwgCisgICAgMTksIDIwLCAyMDYsIDIzNiwgMjExLCAyMTgsIDE5LCAyMCwgMjA2LCAyMzYsIDIxMSwgMjE3LCAxOSwgMjAsIDIwNiwgMjM2LCAKKyAgICAyMTEsIDIxNiwgMTksIDIwLCAyMDYsIDIzNiwgMjExLCAyMTUsIDE5LCAyMCwgMjA2LCAyMzYsIDIxMSwgMjIyLCAxOSwgMjAsIAorICAgIDIwNiwgMjM2LCAyMTEsIDIyMSwgMTksIDIwLCAyMDYsIDIzNiwgNDIsIDIxMiwgNTgsIDE5LCAyMCwgMjQ5LCAxOTksIDIwNywgCisgICAgMTI5LCAyMjIsIDE5OCwgMjE0LCAxNTQsIDgzLCAyMjIsIDE5OCwgMSwgMjUwLCAzMiwgMjIyLCAxOTgsIDEsIDIyOSwgNjgsIAorICAgIDIyMiwgMTk4LCAxLCAyNDIsIDI1LCAyMjIsIDE5OCwgMSwgMjE3LCAxNzksIDIyMiwgMTk4LCAxLCAyMjQsIDE4OCwgMjIyLCAKKyAgICAxOTgsIDEsIDIxMCwgMTUsIDIyMiwgMTk4LCAxLCAyNDYsIDExOSwgMjIyLCAxOTgsIDEsIDIxMSwgMTcwLCAyMjIsIDE5OCwgCisgICAgMSwgMjQ3LCAxNjUsIDIyMiwgMTk4LCAxLCAyNDgsIDEzNiwgMjIyLCAxOTgsIDEsIDIyNiwgMTAxLCAyMjIsIDE5OCwgMSwgCisgICAgMjQwLCAwLCAyMjIsIDE5OCwgMSwgMjI1LCA2MywgMjIyLCAxOTgsIDEsIDIxMywgMjQ0LCAyMjIsIDE5OCwgMSwgMjE4LCAKKyAgICA0NCwgMjIyLCAxOTgsIDEsIDI1MiwgMjAyLCAyMjIsIDE5OCwgMSwgMjIyLCAxNTYsIDIyMiwgMTk4LCAxLCAyMDksIDE5NCwgCisgICAgMjIyLCAxOTgsIDEsIDI0MywgMTI4LCAyMjIsIDE5OCwgMSwgMjMyLCAyNTIsIDIyMiwgMTk4LCAxLCAyNDMsIDEyOSwgMjIyLCAKKyAgICAxOTgsIDEsIDIyMiwgMTIyLCAyMjIsIDE5OCwgMSwgMjA5LCAyNTAsIDIyMiwgMTk4LCAxLCAyMzMsIDEwOCwgMjIyLCAxOTgsIAorICAgIDEsIDI0MywgMTI2LCAyMjIsIDE5OCwgMSwgMjIxLCAxNTQsIDIyMiwgMTk4LCAyNDIsIDI0LCA4MywgMjIyLCAxOTgsIDIxOCwgCisgICAgMjI0LCAyNDIsIDI0LCA4MywgMTgxLCAxLCAyNDIsIDE0LCAyNDIsIDYsIDI0MiwgMjksIDI0MiwgMTM5LCAxODEsIDEsIAorICAgIDIwOSwgMTQ4LCAxODEsIDEsIDIwOSwgMTc5LCAyMDksIDE5NSwgNzEsIDE4MSwgMSwgMjA1LCAyMTYsIDE4MSwgMSwgMjA2LCAKKyAgICAxMjMsIDE4MSwgMSwgMjA3LCAxMjksIDE4MSwgMSwgMjExLCAyMjQsIDIxMSwgMjIzLCAyMTEsIDI0NiwgMTgxLCAxLCAyNDIsIAorICAgIDE5NiwgMTgxLCAxLCAyNTIsIDkyLCA2MiwgMTgxLCAxLCAyMjIsIDEwNywgNzYsIDE4MSwgMSwgMjUzLCAyNSwgNjIsIDE4MSwgCisgICAgMSwgMjUyLCAyMzIsIDE4MSwgMSwgMjI5LCAxMjEsIDc2LCAxODEsIDEsIDIxNSwgMTM3LCA3NiwgMTgxLCAxLCA3NiwgMTgxLCAKKyAgICAxLCAyMjIsIDIwNiwgMTgxLCAxLCAyMjIsIDE2NSwgMTgxLCAxLCAyMTksIDg4LCAyMTksIDEwMSwgMjE5LCAxNCwgMTM3LCAKKyAgICAxODEsIDEsIDIzMSwgMjM5LCAxODEsIDEsIDI0OCwgMTMyLCAxODEsIDEsIDIzMSwgMjQwLCAyMzIsIDc2LCAxODEsIDEsIAorICAgIDI0MSwgNTUsIDE4MSwgMSwgMjQzLCAyOCwgMTgxLCAxLCAyNDAsIDE2NSwgMjM5LCAxNjEsIDI0MSwgNTUsIDE4MSwgMSwgCisgICAgMjQwLCAyMDQsIDE4MSwgMSwgMjA2LCAyMDgsIDIwNiwgMTk5LCAyMDcsIDEyOSwgMTgxLCAxLCAyMzksIDEzMywgMjM5LCAKKyAgICAxNTUsIDE4MSwgMSwgMjM5LCAxMzcsIDIzOSwgMTU1LCAxODEsIDEsIDIyOSwgMTIzLCAyMzksIDE1NSwgMTgxLCAxLCAyMTUsIAorICAgIDE0MCwgMjM5LCAxNTUsIDE4MSwgMSwgMjI1LCAxODksIDIyMywgMTM1LCAyMjUsIDE5MCwgMjI2LCAzMywgMTgxLCAxLCAKKyAgICAyMTUsIDEzOCwgMjI2LCAzMywgMTgxLCAxLCAyNDQsIDE4LCAxODEsIDEsIDIzMiwgMjMxLCAyMzIsIDIzNSwgMjMyLCAyMjIsIAorICAgIDc0LCAxODEsIDEsIDc1LCAxODEsIDEsIDIzMiwgMTczLCAyMzIsIDIwMywgMTgxLCAxLCAyNDAsIDE0OSwgMTgxLCAxLCAKKyAgICAyMjksIDEyNCwgMjUyLCAyNDgsIDE4MSwgMSwgMjE1LCAxNDIsIDYyLCAxODEsIDEsIDIzMiwgMjE0LCAyNDMsIDIsIDE4MSwgCisgICAgMSwgMjIxLCAxMTEsIDIyMSwgMTM2LCAyMjIsIDY3LCAxODEsIDEsIDI1MiwgMTY1LCAyNDMsIDAsIDE4MSwgMSwgMjE0LCAKKyAgICAxNTksIDE4MiwgMTgxLCAxLCAyMTUsIDY1LCAyMjksIDEyMCwgMTgyLCAxODEsIDEsIDIxNSwgMTM2LCAxODIsIDE4MSwgMSwgCisgICAgMjQ5LCAzNCwgMTgxLCAxLCAyMDUsIDE1OSwgMTgxLCAxLCAyMTEsIDE1MiwgMjExLCAxNjMsIDIxMCwgODcsIDIxMywgMTAsIAorICAgIDE4MSwgMSwgMjE1LCAxMzUsIDIxMywgMTAsIDE4MSwgMSwgMjQ2LCAyNDAsIDE4MSwgMSwgMjUwLCAxMywgMjUwLCAxNiwgCisgICAgMjQ5LCAyMDUsIDI1MSwgMTUwLCAxODEsIDEsIDIxNSwgMTQxLCAyNTEsIDE1MCwgMTgxLCAxLCAyNDQsIDE3LCAxODEsIDEsIAorICAgIDIyMiwgMTM2LCAxODEsIDEsIDI0MywgOTEsIDI0MywgOTMsIDc1LCAxODEsIDEsIDIyNywgMjEyLCAyMjcsIDIyMiwgMjI5LCAKKyAgICAyOCwgMTgxLCAxLCAyMjksIDEyMiwgMjI5LCAyOCwgMTgxLCAxLCAyMTUsIDEzOSwgMjI5LCAyOCwgMTgxLCAxLCAyMzAsIAorICAgIDczLCAyMzAsIDExOSwgMjI5LCAxMzEsIDE0OSwgMTgxLCAxLCAyNDQsIDE5LCAxODEsIDEsIDIzMywgNDEsIDE4MSwgMSwgCisgICAgMjMzLCA0MiwgMTgxLCAxLCAyNDYsIDEzMywgMjQ2LCAxMzksIDI0NiwgMjQwLCAxODEsIDEsIDIyMiwgMTAxLCAyNDIsIAorICAgIDE5NSwgNzYsIDE4MSwgMSwgMjQzLCAxMjQsIDE4MSwgMSwgMjMyLCAyNTEsIDE4MSwgMSwgMjQ3LCA0LCAxODEsIDEsIDI0OCwgCisgICAgMjQwLCAxODEsIDEsIDI0OCwgMTQ3LCAxODEsIDEsIDIxNCwgMzEsIDE4MSwgMSwgMjI5LCAxMTksIDE4MSwgMSwgMjE1LCAKKyAgICAxMzQsIDE4MSwgMSwgMjM3LCAxODAsIDE4MSwgMSwgMjIwLCAyNywgMTgxLCAxLCAyMDYsIDE5NSwgMTgxLCAyMTUsIDQxLCAKKyAgICAyMjAsIDcxLCAxODEsIDIyNiwgOTUsIDIyMCwgNzEsIDE4MSwgMjQ3LCA2MCwgMjIwLCA3MSwgMTgxLCAyNTIsIDEsIDkzLCAKKyAgICAxODEsIDIxMCwgMTMyLCA5MywgMTgxLCAyNTAsIDMwLCA5MywgMTgxLCAxLCAyMzIsIDc2LCAxODEsIDEsIDIxNiwgNCwgCisgICAgMTgxLCAxLCAyMjIsIDE1MiwgMTgxLCAxLCAyNDEsIDEwOSwgMjQ4LCAxODYsIDIyMiwgMTA2LCAxODEsIDEsIDI0MSwgMTA5LCAKKyAgICAyNDgsIDE4NiwgMjMyLCAyMzQsIDE4MSwgMSwgMjQxLCAxMDksIDI0OCwgMTg2LCAyNDMsIDkyLCAxODEsIDEsIDI0MSwgCisgICAgMTA5LCAyNDgsIDE4NiwgMjUzLCAyNCwgMTgxLCAxLCAyNDEsIDEwOSwgMjQ4LCAxODYsIDI1MiwgMjMyLCAyMTIsIDE5NywgCisgICAgMSwgNjIsIDIxMiwgMTk3LCAxLCA3NCwgMjEyLCAxOTcsIDEsIDcxLCAyMTIsIDE5NywgMSwgMTcyLCAyMTIsIDE5NywgMSwgCisgICAgMjQwLCAyNDQsIDIxMiwgMTk3LCAxLCAyMjUsIDc3LCAyMTIsIDE5NywgMSwgMjEyLCAyMTksIDIxMiwgMTk3LCAxLCAyNDYsIAorICAgIDE0NSwgMjEyLCAxOTcsIDEsIDE5OSwgMjEyLCAxOTcsIDEsIDE3OSwgMjEyLCAxOTcsIDEsIDI1MCwgMTgzLCAyMTIsIDE5NywgCisgICAgMSwgMTg1LCAyMTIsIDE5NywgMSwgMTkwLCAyMTIsIDE5NywgMSwgMjMwLCAxNDEsIDIxMiwgMTk3LCAxLCAyMDcsIDk2LCAKKyAgICAyMTIsIDE5NywgMSwgMjE3LCAxOTksIDIxMiwgMTk3LCAxLCAxNTUsIDIxMiwgMTk3LCAyMiwgMywgNzQsIDIxMiwgMTk3LCAKKyAgICAyMiwgMywgNzEsIDIxMiwgMTk3LCAzLCAyMDgsIDE4OCwgMjM5LCA5OSwgMSwgNjIsIDIzOSwgOTksIDEsIDc0LCAyMzksIAorICAgIDk5LCAxLCA3MSwgMjM5LCA5OSwgMSwgMTcyLCAyMzksIDk5LCAxLCAyNDAsIDI0NCwgMjM5LCA5OSwgMSwgMjI1LCA3NywgCisgICAgMjM5LCA5OSwgMSwgMjEyLCAyMTksIDIzOSwgOTksIDEsIDI0NiwgMTQ1LCAyMzksIDk5LCAxLCAxOTksIDIzOSwgOTksIDEsIAorICAgIDE3OSwgMjM5LCA5OSwgMSwgMjUwLCAxODMsIDIzOSwgOTksIDEsIDE4NSwgMjM5LCA5OSwgMSwgMTkwLCAyMzksIDk5LCAxLCAKKyAgICAyMTksIDExMywgMjM5LCA5OSwgMSwgMjMwLCAxNDEsIDIzOSwgOTksIDEsIDIwNywgOTYsIDIzOSwgOTksIDEsIDIxNywgCisgICAgMTk5LCAyMzksIDk5LCAxLCAxNTUsIDIzOSwgOTksIDIyLCAzLCA3NCwgMjM5LCA5OSwgMjIsIDMsIDcxLCAyMzksIDk5LCAzLCAKKyAgICAyMjIsIDgsIDIyMSwgNzEsIDIxNSwgNDEsIDIyMCwgNzEsIDIyMSwgNzEsIDUwLCAyMjAsIDcxLCAyNDksIDkzLCAxLCA2MiwgCisgICAgMjQ5LCA5MywgMSwgNzQsIDI0OSwgOTMsIDEsIDcxLCAyNDksIDkzLCAxLCAxNzIsIDI0OSwgOTMsIDEsIDI0MCwgMjQ0LCAKKyAgICAyNDksIDkzLCAxLCAyMjUsIDc3LCAyNDksIDkzLCAxLCAyMTIsIDIxOSwgMjQ5LCA5MywgMSwgMjQ2LCAxNDUsIDI0OSwgOTMsIAorICAgIDEsIDE5OSwgMjQ5LCA5MywgMSwgMTc5LCAyNDksIDkzLCAxLCAyNTAsIDE4MywgMjQ5LCA5MywgMSwgMTg1LCAyNDksIDkzLCAKKyAgICAxLCAxOTAsIDI0OSwgOTMsIDEsIDIxOSwgMTEzLCAyNDksIDkzLCAxLCAyMzAsIDE0MSwgMjQ5LCA5MywgMSwgMjA3LCA5NiwgCisgICAgMjQ5LCA5MywgMSwgMjE3LCAxOTksIDI0OSwgOTMsIDEsIDE1NSwgMjQ5LCA5MywgMjIsIDMsIDc0LCAyNDksIDkzLCAyMiwgCisgICAgMywgNzEsIDIxMiwgMTk2LCAxLCA2MiwgMjEyLCAxOTYsIDEsIDc0LCAyMTIsIDE5NiwgMSwgNzEsIDIxMiwgMTk2LCAxLCAKKyAgICAxNzIsIDIxMiwgMTk2LCAxLCAyNDAsIDI0NCwgMjEyLCAxOTYsIDEsIDIyNSwgNzcsIDIxMiwgMTk2LCAxLCAyMTIsIDIxOSwgCisgICAgMjEyLCAxOTYsIDEsIDI0NiwgMTQ1LCAyMTIsIDE5NiwgMSwgMTk5LCAyMTIsIDE5NiwgMSwgMTc5LCAyMTIsIDE5NiwgMSwgCisgICAgMjUwLCAxODMsIDIxMiwgMTk2LCAxLCAxODUsIDIxMiwgMTk2LCAxLCAxOTAsIDIxMiwgMTk2LCAxLCAyMzAsIDE0MSwgMjEyLCAKKyAgICAxOTYsIDEsIDIwNywgOTYsIDIxMiwgMTk2LCAxLCAyMTcsIDE5OSwgMjEyLCAxOTYsIDIyLCAzLCA3NCwgMjEyLCAxOTYsIAorICAgIDIyLCAzLCA3MSwgODIsIDEsIDE3MiwgODIsIDEsIDIzMSwgMTY3LCA4MiwgMSwgMjMxLCA1MywgODIsIDEsIDIzMSwgMTM4LCAKKyAgICA4MiwgMSwgMjI1LCAyLCA4MiwgMSwgMjQ5LCAxLCA4MiwgMSwgMjQ4LCAxMTAsIDgyLCAxLCAyNDcsIDE3NCwgODIsIDEsIAorICAgIDI0OCwgMzIsIDgyLCAxLCAyMjMsIDExMCwgODIsIDEsIDI0NiwgMTQ1LCA4MiwgMSwgMjEwLCAxOTYsIDgyLCAxLCAyNDUsIAorICAgIDUxLCA4MiwgMSwgMjEwLCAxOTEsIDgyLCAxLCAyMjQsIDczLCA4MiwgMSwgMjEyLCAyMTksIDgyLCAxLCAyMTIsIDU2LCA4MiwgCisgICAgMSwgMTI0LCA4MiwgMSwgMjExLCAyNTMsIDgyLCAxLCAyMjQsIDY3LCA4MiwgMSwgMjUwLCAxODMsIDgyLCAxLCAyMjEsIDkzLCAKKyAgICA4MiwgMSwgMjIwLCAyMTEsIDgyLCAxLCAyMjEsIDY2LCA4MiwgMSwgMjI2LCAxODEsIDgyLCAxLCAyMDUsIDI0NywgODIsIDEsIAorICAgIDIxOCwgMTI0LCA4MiwgMSwgMjI5LCAxNDQsIDgyLCAxLCAyMDgsIDE3MywgODIsIDEsIDIxNiwgMiwgODIsIDEsIDIxNCwgCisgICAgNTYsIDgyLCAxLCAyMTcsIDE5OSwgODIsIDEsIDE1NSwgODIsIDEsIDIzMCwgMTQxLCA4MiwgMSwgMjIwLCAxOSwgODIsIAorICAgIDIzMywgNTUsIDIyLCAyMjAsIDUsIDgyLCAyMzMsIDU1LCAyMiwgMjIwLCAxOCwgODIsIDIzMywgNTUsIDIyLCAyMTksIDIzNywgCisgICAgODIsIDIzMywgNTUsIDIyLCAyMTksIDIzMiwgODIsIDIzMywgNTUsIDIyLCAyMTksIDIxNCwgODIsIDIzMywgNTUsIDIyLCAKKyAgICAyMTksIDE4NCwgODIsIDIzMywgNTUsIDIyLCAyMTksIDE3MiwgODIsIDIzMywgNTUsIDIyLCAyMTksIDE3MSwgODIsIDIzMywgCisgICAgNTUsIDIyLCAyMTgsIDksIDgyLCAyMzMsIDU1LCAyMiwgMjE4LCAyLCA4MiwgMjMzLCA1NSwgMjIsIDIyOSwgNDIsIDgyLCAKKyAgICAyMzMsIDU1LCAyMiwgMjI5LCAzMSwgODIsIDIzMywgNTUsIDIyLCAyMTksIDI1NSwgODIsIDIzMywgNTUsIDIyLCAyMjAsIAorICAgIDExLCA4MiwgMjMzLCA1NSwgMjIsIDIxOSwgMjIyLCAyMTAsIDk1LCAxMDIsIDgyLCAyMzMsIDU1LCAyMiwgMjE5LCAyMjIsIAorICAgIDIxMCwgOTUsIDEwNSwgODIsIDIzMywgNTUsIDIyLCAyMjAsIDEsIDgyLCAyMiwgMjMzLCA0MCwgMjUyLCA0MSwgODIsIDIyLCAKKyAgICAyMzMsIDQwLCAyNTMsIDE2NCwgODIsIDIyLCAzLCAyNTMsIDE2NCwgODIsIDIyLCAzLCA3NCwgODIsIDIyLCAzLCAyMzMsIAorICAgIDEwMiwgODIsIDIyLCAzLCAyMDYsIDEyMywgODIsIDIyLCAzLCAyMDUsIDE2OSwgODIsIDIyLCAzLCA3MSwgODIsIDIyLCAzLCAKKyAgICAyMDksIDE2MiwgODIsIDIyLCAzLCAyMTAsIDE4LCA4MiwgMjIsIDMsIDIyMiwgMjA2LCA4MiwgMjIsIDMsIDE5MCwgODIsIAorICAgIDIyLCAzLCAyMzMsIDEyOSwgODIsIDIyLCAzLCA3NSwgODIsIDIyLCAzLCAyNTIsIDI0OCwgODIsIDIyLCAzLCAyNTIsIDIwNSwgCisgICAgODIsIDIyLCAzLCAyMjIsIDE1MiwgODIsIDIyLCAzLCAyNTEsIDE4NCwgODIsIDMsIDIyNCwgMjAzLCA4MiwgMywgMjE5LCAKKyAgICA0OSwgODIsIDMsIDIwNSwgMTgwLCA4MiwgMywgMjI2LCA2MCwgODIsIDMsIDIxMSwgMzksIDgyLCAzLCAyNTAsIDEzMSwgODIsIAorICAgIDMsIDIxOCwgMTE5LCA4MiwgMywgMjExLCAxMjgsIDgyLCAzLCAyMzIsIDM0LCA4MiwgMywgMjUyLCAyMDcsIDgyLCAzLCAKKyAgICAyMTcsIDE1MiwgMjE3LCAxNDUsIDgyLCAzLCAyMDgsIDE4NSwgODIsIDMsIDI0NywgMTY4LCA4MiwgMywgMjUwLCAxMDQsIAorICAgIDgyLCAzLCAyMzEsIDE1OSwgODIsIDMsIDI1MCwgMTI2LCA4MiwgMywgMjQ4LCAyMjksIDIyMSwgMTYsIDIzMCwgMjAxLCA4MiwgCisgICAgMywgMjMwLCAyNywgMjExLCAxMDUsIDgyLCAzLCAyNTAsIDIsIDgyLCAzLCAyMjEsIDY4LCAyMjYsIDExMSwgODIsIDMsIAorICAgIDIzMSwgMzEsIDgyLCAyNDcsIDI1LCAxNiwgMjE4LCAyMDAsIDgyLCAzLCAyNTEsIDE2NiwgODIsIDMsIDI1MSwgMTg3LCA4MiwgCisgICAgMTgsIDIwNSwgODUsIDgyLCAxOCwgMTAyLCA4MiwgMTgsIDEwNSwgODIsIDE4LCAxNDIsIDgyLCAxOCwgMTM5LCA4MiwgMTgsIAorICAgIDE2OCwgODIsIDE4LCAxODQsIDgyLCAxOCwgMTk1LCA4MiwgMTgsIDE5MywgODIsIDE4LCAyMDAsIDgyLCAxNiwgMjMwLCAyNywgCisgICAgMjUxLCAxODksIDIxNCwgMTc3LCA4MiwgMTYsIDIzMCwgMjcsIDI1MSwgMTg5LCAyMjYsIDgwLCA4MiwgMTYsIDIzMCwgMjcsIAorICAgIDI1MSwgMTg5LCAyMjEsIDE1LCA4MiwgMTYsIDIzMCwgMjcsIDI1MSwgMTg5LCAyNTAsIDMzLCA4MiwgMTYsIDIzMCwgMjcsIAorICAgIDI1MSwgMTg5LCAyNDksIDczLCA4MiwgMTYsIDIzMCwgMjcsIDI1MSwgMTg5LCAyMjAsIDE1MiwgODIsIDE2LCAyMzAsIDI3LCAKKyAgICAyNTEsIDE4OSwgMjIwLCAxNDYsIDgyLCAxNiwgMjMwLCAyNywgMjUxLCAxODksIDIyMCwgMTQ0LCA4MiwgMTYsIDIzMCwgMjcsIAorICAgIDI1MSwgMTg5LCAyMjAsIDE1MCwgODIsIDE2LCAyMzAsIDI3LCAyNTEsIDE4OSwgMjIwLCAxNDgsIDkwLCAyNDksIDIxNywgCisgICAgOTAsIDI0MywgNTQsIDkwLCAyNDcsIDE1NSwgOTAsIDI0MSwgODIsIDIxMywgMjUxLCA5MCwgMjQ3LCAxNjIsIDkwLCAyNDEsIAorICAgIDEyNSwgMjQ1LCAyMSwgOTAsIDIxMSwgMTI3LCAyMTQsIDE4NywgMjM3LCAyMzksIDkwLCAyMTUsIDc4LCA0LCAyNDksIDE1MCwgCisgICAgMjI3LCAxODcsIDkwLCAyMjcsIDIxOCwgMjQ3LCAxNTUsIDkwLCAyMjcsIDIxOCwgMjQxLCA4MiwgMjEzLCAyNTEsIDkwLCAKKyAgICAyMjQsIDE4NiwgOTAsIDI0MSwgMTA4LCA1NCwgMjE3LCA2MCwgMTAyLCA5MCwgMjQxLCAxMDgsIDU0LCAyMTcsIDYwLCAxMDUsIAorICAgIDkwLCAyNDEsIDEwOCwgNTQsIDIxNywgNjAsIDE0MiwgOTAsIDIyLCAyMTYsIDM5LCA5MCwgMTgsIDIwNSwgODUsIDkwLCAxOCwgCisgICAgMTAyLCA5MCwgMTgsIDEwNSwgOTAsIDE4LCAxNDIsIDkwLCAxOCwgMTM5LCA5MCwgMTgsIDE2OCwgOTAsIDE4LCAxODQsIDkwLCAKKyAgICAxOCwgMTk1LCA5MCwgMTgsIDE5MywgOTAsIDE4LCAyMDAsIDkwLCAxLCA2MiwgOTAsIDEsIDc1LCA5MCwgMSwgNzQsIDkwLCAKKyAgICAxLCA3NiwgOTAsIDEsIDcxLCA5MCwgMSwgMjIyLCAyMDYsIDkwLCAxLCAyMTAsIDMsIDkwLCAxLCAyNDMsIDEwNCwgOTAsIDEsIAorICAgIDE5OSwgOTAsIDEsIDI1MiwgMTE0LCA5MCwgMSwgMjUwLCAxODMsIDkwLCAxLCAxNzksIDkwLCAxLCAyMjAsIDE5LCA5MCwgMSwgCisgICAgMjQwLCAyNDQsIDkwLCAxLCAxODUsIDkwLCAxLCAyMzAsIDE0MSwgOTAsIDEsIDIxNywgMTk5LCA5MCwgMSwgMjE2LCAyLCAKKyAgICA5MCwgMSwgMjEyLCAyMTksIDkwLCAxLCAyNDYsIDE0NSwgOTAsIDEsIDI0OCwgMTEwLCA5MCwgMSwgMjMyLCAyMDAsIDkwLCAKKyAgICAxLCAxOTAsIDkwLCAxLCAyMTksIDExMywgOTAsIDEsIDIwNywgOTYsIDkwLCAxLCAyNDIsIDczLCA5MCwgMSwgMTcyLCA5MCwgCisgICAgMSwgMjMxLCAxNjcsIDkwLCAxLCAyMTAsIDI0MywgOTAsIDEsIDIwNSwgMTE2LCA5MCwgMSwgMjM5LCAxNDEsIDkwLCAxLCAKKyAgICAyMDUsIDEyLCA5MCwgMSwgMjI5LCAyNDgsIDkwLCAxLCAyMDUsIDY3LCA5MCwgMSwgMjQ4LCA1OCwgOTAsIDEsIDIxMSwgCisgICAgMTI3LCAxNTIsIDIyLCA1MywgOTAsIDEsIDIxMSwgMTI3LCA3NSwgOTAsIDEsIDIxMSwgMTI3LCA3NCwgOTAsIDEsIDIxMSwgCisgICAgMTI3LCA3NiwgOTAsIDEsIDIxMSwgMTI3LCA3MSwgOTAsIDEsIDIxMSwgMTI3LCAyMjIsIDIwNiwgOTAsIDEsIDIxMSwgMTI3LCAKKyAgICAyMTAsIDMsIDkwLCAxLCAyMTEsIDEyNywgMjUyLCAxMTQsIDkwLCAxLCAyMTEsIDEyNywgMjUwLCAxODMsIDkwLCAxLCAyMTEsIAorICAgIDEyNywgMTc5LCA5MCwgMSwgMjExLCAxMjcsIDIyMCwgMTksIDkwLCAxLCAyMTEsIDEyNywgMjQwLCAyNDQsIDkwLCAxLCAKKyAgICAyMTEsIDEyNywgMTg1LCA5MCwgMSwgMjExLCAxMjcsIDIxMiwgMjE5LCA5MCwgMSwgMjExLCAxMjcsIDI0NiwgMTQ1LCA5MCwgCisgICAgMSwgMjExLCAxMjcsIDI0OCwgMTEwLCA5MCwgMSwgMjExLCAxMjcsIDIzMiwgMjAwLCA5MCwgMSwgMjExLCAxMjcsIDIxMCwgCisgICAgMjQzLCA5MCwgMSwgMjExLCAxMjcsIDE5MCwgOTAsIDEsIDIxMSwgMTI3LCAyMDcsIDk2LCA5MCwgMSwgMjExLCAxMjcsIAorICAgIDE3MiwgOTAsIDEsIDIxMSwgMTI3LCAyNDAsIDI0MSwgOTAsIDEsIDIxMSwgMTI3LCAyMzksIDE0MSwgOTAsIDEsIDIxMSwgCisgICAgMTI3LCAyMzIsIDE2MSwgOTAsIDEsIDIxMSwgMTI3LCAyMjQsIDIyOCwgOTAsIDEsIDIxMSwgMTI3LCAyNDMsIDE5NiwgOTAsIAorICAgIDEsIDIxNSwgNzgsIDc1LCA5MCwgMSwgMjE1LCA3OCwgNzQsIDkwLCAxLCAyMTUsIDc4LCAyMzIsIDIxMSwgOTAsIDEsIDIxNSwgCisgICAgNzgsIDIxMCwgMywgOTAsIDEsIDIxNSwgNzgsIDcxLCA5MCwgMSwgMjE1LCA3OCwgMjUyLCAxMTQsIDkwLCAxLCAyMTUsIDc4LCAKKyAgICAxNzIsIDkwLCAxLCAyMTUsIDc4LCAyNDAsIDI0NCwgOTAsIDEsIDIxNSwgNzgsIDE1NSwgOTAsIDEsIDIxNSwgNzgsIDE3OSwgCisgICAgOTAsIDEsIDIxNSwgNzgsIDIxNiwgMiwgOTAsIDEsIDIxNSwgNzgsIDIxMiwgMjE5LCA5MCwgMSwgMjE1LCA3OCwgMjQ2LCAKKyAgICAxNDUsIDkwLCAxLCAyMTUsIDc4LCAyMzIsIDIwMCwgOTAsIDEsIDIxNSwgNzgsIDI0MiwgNzMsIDkwLCAxLCAyMTUsIDc4LCAKKyAgICAyNDAsIDI0MSwgOTAsIDEsIDIxNSwgNzgsIDIzOSwgMTQxLCA5MCwgMSwgMjE1LCA3OCwgMjEwLCAyNDMsIDkwLCAxLCAyMTUsIAorICAgIDc4LCAyMDUsIDExNiwgOTAsIDEsIDIxNSwgNzgsIDIxOSwgMTA5LCA5MCwgMSwgMjE1LCA3OCwgMjQ4LCAxMTAsIDkwLCAxLCAKKyAgICAyMTUsIDc4LCAyMDUsIDgxLCA5MCwgMSwgMjI3LCAyMTgsIDc0LCA5MCwgMSwgMjI3LCAyMTgsIDE3MiwgOTAsIDEsIDIyNywgCisgICAgMjE4LCAyMTksIDExMywgOTAsIDEsIDIyNywgMjE4LCAyNDIsIDczLCA5MCwgMSwgMjI3LCAyMTgsIDIwNSwgODEsIDkwLCAxLCAKKyAgICAyNTIsIDE2NCwgMjQwLCAyMjQsIDI1MiwgNzQsIDEwMiwgOTAsIDEsIDI1MiwgMTY0LCAyNDAsIDIyNCwgMjA4LCAxODQsIAorICAgIDEwMiwgOTAsIDEsIDI1MiwgMTY0LCAyNDAsIDIyNCwgMjQ2LCAxMDgsIDkwLCAxLCAyNTIsIDE2NCwgMjQwLCAyMjQsIDIxMCwgCisgICAgMTMsIDkwLCAxLCAyNTIsIDE2NCwgMjQwLCAyMjQsIDIzMywgMiwgMjEwLCAxMywgOTAsIDEsIDI1MiwgMTY0LCAyNDAsIAorICAgIDIyNCwgMjUwLCAxNDMsIDkwLCAxLCAyNTIsIDE2NCwgMjQwLCAyMjQsIDEyOSwgMjUwLCAxNDMsIDkwLCAxLCAyNTIsIDE2NCwgCisgICAgMjQwLCAyMjQsIDYyLCA5MCwgMSwgMjUyLCAxNjQsIDI0MCwgMjI0LCA3NCwgOTAsIDEsIDI1MiwgMTY0LCAyNDAsIDIyNCwgCisgICAgMTcyLCA5MCwgMSwgMjUyLCAxNjQsIDI0MCwgMjI0LCAyMjUsIDc3LCA5MCwgMSwgMjUyLCAxNjQsIDI0MCwgMjI0LCAyNDksIAorICAgIDEsIDkwLCAxLCAyNTIsIDE2NCwgMjQwLCAyMjQsIDIxMCwgMjA4LCA5MCwgMSwgMjUyLCAxNjQsIDI0MCwgMjI0LCAyMTAsIAorICAgIDE5NiwgOTAsIDEsIDI1MiwgMTY0LCAyNDAsIDIyNCwgMjQ2LCA1NCwgOTAsIDEsIDI1MiwgMTY0LCAyNDAsIDIyNCwgMjI0LCAKKyAgICAxMDMsIDkwLCAxLCAyNTIsIDE2NCwgMjQwLCAyMjQsIDIxMiwgMjE5LCA5MCwgMSwgMjUyLCAxNjQsIDI0MCwgMjI0LCAyNDYsIAorICAgIDE0NSwgOTAsIDEsIDI1MiwgMTY0LCAyNDAsIDIyNCwgMTc5LCA5MCwgMSwgMjUyLCAxNjQsIDI0MCwgMjI0LCAyMjEsIDkzLCAKKyAgICA5MCwgMSwgMjUyLCAxNjQsIDI0MCwgMjI0LCAyMTQsIDk2LCA5MCwgMSwgMjUyLCAxNjQsIDI0MCwgMjI0LCAyMDUsIDgxLCAKKyAgICA5MCwgMSwgMjUyLCAxNjQsIDI0MCwgMjI0LCAyMDUsIDExNiwgOTAsIDEsIDI1MiwgMTY0LCAyNDAsIDIyNCwgMjUyLCAyMTMsIAorICAgIDkwLCAxLCAyMTEsIDEyNywgMjUyLCAxNjQsIDI0MCwgMjI0LCAyMTIsIDIxOSwgOTAsIDEsIDIxMSwgMTI3LCAyNTIsIDE2NCwgCisgICAgMjQwLCAyMjQsIDIwNSwgODEsIDkwLCAxLCAyMjcsIDIxOCwgMjUyLCAxNjQsIDI0MCwgMjI0LCAyNDAsIDk5LCA5MCwgMSwgCisgICAgMjI3LCAyMTgsIDI1MiwgMTY0LCAyNDAsIDIyNCwgMjI1LCA3NywgOTAsIDEsIDIyNywgMjE4LCAyNTIsIDE2NCwgMjQwLCAKKyAgICAyMjQsIDI0OSwgMSwgOTAsIDEsIDIyNywgMjE4LCAyNTIsIDE2NCwgMjQwLCAyMjQsIDIzMiwgMTcwLCA5MCwgMSwgMjI3LCAKKyAgICAyMTgsIDI1MiwgMTY0LCAyNDAsIDIyNCwgMjEwLCAyMDgsIDkwLCAxLCAyMjcsIDIxOCwgMjUyLCAxNjQsIDI0MCwgMjI0LCAKKyAgICAyNDYsIDM4LCA5MCwgMSwgMjI3LCAyMTgsIDI1MiwgMTY0LCAyNDAsIDIyNCwgMjEyLCAyMTksIDkwLCAxLCAyMjcsIDIxOCwgCisgICAgMjUyLCAxNjQsIDI0MCwgMjI0LCAyNDUsIDE5MiwgOTAsIDEsIDIyNywgMjE4LCAyNTIsIDE2NCwgMjQwLCAyMjQsIDIxNCwgCisgICAgOTYsIDkwLCAxLCAyMjcsIDIxOCwgMjUyLCAxNjQsIDI0MCwgMjI0LCAyNDYsIDI1NCwgOTAsIDEsIDIyNywgMjE4LCAyNTIsIAorICAgIDE2NCwgMjQwLCAyMjQsIDIwNSwgODEsIDkwLCAxLCAyMjcsIDIxOCwgMjUyLCAxNjQsIDI0MCwgMjI0LCAyMDUsIDExNiwgCisgICAgOTAsIDEsIDI1MiwgMTY0LCAyNDAsIDIyNCwgMTYwLCA3MSwgOTAsIDEsIDI1MiwgMTY0LCAyNDAsIDIyNCwgMTYwLCAxOTAsIAorICAgIDkwLCAxLCAyMjcsIDIxOCwgMjUyLCAxNjQsIDI0MCwgMjI0LCAyNTAsIDAsIDkwLCAxLCAyNTIsIDE2NCwgMjQwLCAyMjQsIAorICAgIDI0NiwgMTM0LCA5MCwgMSwgMjI3LCAyMTgsIDI1MiwgMTY0LCAyNDAsIDIyNCwgMjI5LCAyNDgsIDE5LCAyMCwgMjIyLCA3MSwgCisgICAgMTksIDIwLCAyNTEsIDE1OSwgMTksIDIwLCAyNTMsIDExOSwgMTksIDIwLCAyMDcsIDU0LCAxOSwgMjAsIDIyMCwgMTU4LCAKKyAgICAxOSwgMjAsIDIyMSwgMTgzLCAxOSwgMjAsIDIyMCwgMzYsIDE5LCAyMCwgMjEyLCAxNDAsIDE5LCAyMCwgMjMxLCAyMzEsIAorICAgIDE5LCAyMCwgMjMwLCAxOTIsIDE5LCAyMCwgMjI3LCAxNjIsIDE5LCAyMCwgMjI0LCAyNiwgMTksIDIwLCAyMjUsIDE4NSwgCisgICAgMTksIDIwLCAyMzAsIDY4LCAxOSwgMjAsIDIxNCwgMTU3LCAxOSwgMjAsIDIxNywgMTE2LCAxOSwgMjAsIDIxNSwgMTI0LCAKKyAgICAxOSwgMjAsIDIxNSwgMjE4LCAxOSwgMjAsIDIxNSwgOTAsIDE5LCAyMCwgMjA1LCAyMjIsIDE5LCAyMCwgMjA2LCA1OCwgMTksIAorICAgIDIwLCAyMTksIDU4LCAxOSwgMjAsIDIyMywgMTUwLCAxOSwgMjAsIDIyMiwgMTg3LCAyMjMsIDE1MCwgMTksIDIwLCAyMjMsIAorICAgIDE0OSwgMTksIDIwLCAyMjIsIDE4NywgMjIzLCAxNDksIDE5LCAyMCwgMjIzLCAxNDgsIDE5LCAyMCwgMjIyLCAxODcsIDIyMywgCisgICAgMTQ4LCAxOSwgMjAsIDIyMywgMTQ3LCAxOSwgMjAsIDIyMiwgMTg3LCAyMjMsIDE0NywgMTksIDIwLCAyMTgsIDE0LCAxOSwgCisgICAgMjAsIDIxOCwgMTMsIDE5LCAyMCwgMjE4LCAxMiwgMTksIDIwLCAyMTgsIDExLCAxOSwgMjAsIDIxOCwgMTAsIDE5LCAyMCwgCisgICAgMjE4LCAxOCwgMTksIDIwLCAyMjIsIDE4NywgMjIyLCA2NywgMTksIDIwLCAyMjIsIDE4NywgMjEzLCAxMCwgMTksIDIwLCAKKyAgICAyMjIsIDE4NywgMjMyLCA3NiwgMTksIDIwLCAyMjIsIDE4NywgMjQ5LCAzNCwgMTksIDIwLCAyMjIsIDE4NywgMjI5LCAyOCwgCisgICAgMTksIDIwLCAyMjIsIDE4NywgMjI2LCAzMywgMTksIDIwLCAyMjIsIDE4NywgMTgyLCAxOSwgMjAsIDIyMiwgMTg3LCAyMTYsIAorICAgIDQsIDE5LCAyMCwgMjQzLCAxMTUsIDIwNywgMTI5LCAxOSwgMjAsIDIwNywgMzQsIDIwNywgMTI5LCAxOSwgMjAsIDQyLCA1LCAKKyAgICAyMTgsIDE0OCwgMTksIDIwLCA0MiwgMjE5LCA4MSwgMjQ1LCAyMywgMTksIDIwLCAyMTksIDE0OSwgMjE4LCAxNSwgMTksIAorICAgIDIwLCAxODAsIDIyOSwgMTE1LCAxOSwgMjAsIDE4MCwgMjMwLCAxNDAsIDE5LCAyMCwgMjExLCAyMjAsIDE5LCAyMCwgMjExLCAKKyAgICAyMjIsIDE5LCAyMCwgMjEwLCAxODgsIDE5LCAyMCwgMjEwLCAxOTAsIDE5LCAyMCwgMjEwLCAxOTUsIDE5LCAyMCwgMjExLCAKKyAgICAxMzcsIDE5LCAyMCwgMjExLCAxMzksIDE5LCAyMCwgMjE3LCAxMTQsIDIxNSwgOTUsIDE5LCAyMCwgMjE3LCAxMTQsIDIxNSwgCisgICAgMTUyLCAxOSwgMjAsIDIxNywgMTE0LCAyMzgsIDEzMSwgMTksIDIwLCA4NSwgMjM5LCAxNjksIDE5LCAyMCwgODUsIDI0NSwgCisgICAgMjI1LCAyNDAsIDE2MiwgMTksIDIwLCA4NSwgMjQwLCAyNDEsIDE5LCAyMCwgODUsIDIzOSwgMTc0LCAxOSwgMjAsIDIxNywgCisgICAgMTE0LCAyMzIsIDg2LCAxOSwgMjAsIDg1LCAyMzIsIDg0LCAxOSwgMjAsIDI1MCwgNTMsIDI0NSwgMjI1LCAxNDksIDE5LCAKKyAgICAyMCwgMjUwLCA1MywgMjQ1LCAyMjUsIDEzNywgMTksIDIwLCA4NSwgMjQ1LCAyMjAsIDE4MiwgMjI5LCAyMTUsIDIwOCwgCisgICAgMTU0LCAyMzAsIDUsIDIyOSwgMjE1LCAxLCAxNzIsIDIyOSwgMjE1LCAxLCAyMzEsIDE2NywgMjI5LCAyMTUsIDEsIDI0MCwgCisgICAgMjQ0LCAyMjksIDIxNSwgMSwgMjQwLCA5OSwgMjI5LCAyMTUsIDEsIDIyNSwgNzcsIDIyOSwgMjE1LCAxLCAyNDksIDEsIAorICAgIDIyOSwgMjE1LCAxLCAyNDgsIDExMCwgMjI5LCAyMTUsIDEsIDIzMiwgMjAwLCAyMjksIDIxNSwgMSwgMjMyLCAxNzAsIDIyOSwgCisgICAgMjE1LCAxLCAyMDYsIDc3LCAyMjksIDIxNSwgMSwgMjEyLCAyMTksIDIyOSwgMjE1LCAxLCAyMTIsIDU2LCAyMjksIDIxNSwgCisgICAgMSwgMjQ2LCAxNDUsIDIyOSwgMjE1LCAxLCAyNDUsIDE5MiwgMjI5LCAyMTUsIDEsIDE5OSwgMjI5LCAyMTUsIDEsIDE3OSwgCisgICAgMjI5LCAyMTUsIDEsIDIyMSwgOTMsIDIyOSwgMjE1LCAxLCAyNTAsIDE4MywgMjI5LCAyMTUsIDEsIDI1MCwgMCwgMjI5LCAKKyAgICAyMTUsIDEsIDE4NSwgMjI5LCAyMTUsIDEsIDE5MCwgMjI5LCAyMTUsIDEsIDIxOSwgMTEzLCAyMjksIDIxNSwgMSwgMjMwLCAKKyAgICAxNDEsIDIyOSwgMjE1LCAxLCAyMDcsIDk2LCAyMjksIDIxNSwgMSwgMjE2LCAyLCAyMjksIDIxNSwgMSwgMjE0LCA5NiwgCisgICAgMjI5LCAyMTUsIDEsIDIxNywgMTk5LCAyMjksIDIxNSwgMSwgMTU1LCAyMjksIDIxNSwgMSwgMjM5LCAxNjUsIDIyOSwgMjE1LCAKKyAgICAxLCAyMTEsIDgzLCAyMjksIDIxNSwgMjIsIDMsIDYyLCAyMjksIDIxNSwgMjIsIDMsIDc0LCAyMjksIDIxNSwgMjIsIDMsIAorICAgIDcxLCAyMjksIDIxNSwgMjIsIDMsIDI0MywgMTA0LCAyMjksIDIxNSwgMjIsIDMsIDI1MiwgMjA1LCAyMjksIDIxNSwgMjIsIAorICAgIDMsIDIyMiwgMTUyLCAyMjksIDIxNSwgMjIsIDMsIDI1MSwgMTg0LCAyMjksIDIxNSwgMjIsIDMsIDc1LCAyMjksIDIxNSwgCisgICAgMjIsIDMsIDc2LCAyMjksIDIxNSwgMjEzLCAxOTEsIDEsIDE5MCwgMjI5LCAyMTUsIDIxMywgMTkxLCAxLCAyMTksIDExMywgCisgICAgMjI5LCAyMTUsIDIxMywgMTkxLCAxLCAyMDcsIDk2LCAyMjksIDIxNSwgNSwgMSwgMTcyLCAyMjksIDIxNSwgNSwgMSwgMjI1LCAKKyAgICA3NywgMjI5LCAyMTUsIDUsIDEsIDI1MiwgNzMsIDIyOSwgMjE1LCA1LCAxLCAyMTIsIDIxOSwgMjI5LCAyMTUsIDUsIDEsIAorICAgIDE5OSwgMjI5LCAyMTUsIDUsIDEsIDE3OSwgMjI5LCAyMTUsIDUsIDEsIDE4NSwgMjI5LCAyMTUsIDUsIDEsIDIxOSwgMTEzLCAKKyAgICAyMjksIDIxNSwgNSwgMSwgMjMwLCAxNDEsIDIyOSwgMjE1LCAzLCAyMjYsIDk5LCAyMjksIDIxNSwgMywgMjMxLCAyMDksIAorICAgIDIyOSwgMjE1LCAzLCAyMTcsIDE5NywgMjI5LCAyMTUsIDMsIDIyOSwgMTE1LCAyMjksIDIxNSwgMjQyLCAxNjgsIDgzLCAKKyAgICAyMjksIDIxNSwgMjE5LCAxOTYsIDgzLCAyMjksIDIxNSwgMTgsIDIwNSwgODUsIDIyOSwgMjE1LCAxOCwgMTAyLCAyMjksIAorICAgIDIxNSwgMTgsIDEwNSwgMjI5LCAyMTUsIDE4LCAxNDIsIDIyOSwgMjE1LCAxOCwgMTM5LCAyMjksIDIxNSwgMTgsIDE2OCwgCisgICAgMjI5LCAyMTUsIDE4LCAxODQsIDIyOSwgMjE1LCAxOCwgMTk1LCAyMjksIDIxNSwgMTgsIDE5MywgMjI5LCAyMTUsIDE4LCAKKyAgICAyMDAsIDQxLCAyMzAsIDU5LCAxLCAxNzIsIDQxLCAyMzAsIDU5LCAxLCAyMDYsIDE4MSwgNDEsIDIzMCwgNTksIDEsIDIyNSwgCisgICAgNzcsIDQxLCAyMzAsIDU5LCAxLCAyMTAsIDI0MywgNDEsIDIzMCwgNTksIDEsIDIxNywgMTk5LCA0MSwgMjMwLCA1OSwgMSwgCisgICAgMTkwLCA0MSwgMjMwLCA1OSwgMSwgMjEyLCAyMTksIDQxLCAyMzAsIDU5LCAxLCAyMTIsIDU2LCA0MSwgMjMwLCA1OSwgMSwgCisgICAgMjMwLCAxNDEsIDQxLCAyMzAsIDU5LCAxLCAxNzksIDQxLCAyMzAsIDU5LCAxLCAyMjEsIDkzLCA0MSwgMjMwLCA1OSwgMSwgCisgICAgMTg1LCA0MSwgMjMwLCA1OSwgMSwgMjQyLCA3MywgNDEsIDIzMCwgNTksIDEsIDIwOSwgNzAsIDQxLCAyMzAsIDU5LCAxLCAKKyAgICAxNTUsIDQxLCAyMzAsIDU5LCAxLCAyMjAsIDE5LCA0MSwgMjMwLCA1OSwgMSwgMjMxLCAxNjcsIDQxLCAyMzAsIDU5LCAxLCAKKyAgICAyMTAsIDIzMywgNDEsIDIzMCwgNTksIDEsIDE5OSwgNDEsIDIzMCwgNTksIDEsIDYyLCA0MSwgMjMwLCA1OSwgMSwgNzQsIAorICAgIDQxLCAyMzAsIDU5LCAxLCAyNDMsIDEwNCwgNDEsIDIzMCwgNTksIDEsIDI0MywgOTIsIDQxLCAyMzAsIDU5LCAxLCA3MSwgCisgICAgNDEsIDIzMCwgNTksIDEsIDIyMiwgMTUyLCA0MSwgMjMwLCA1OSwgMSwgNzYsIDQxLCAyMzAsIDU5LCAxLCAyMTAsIDMsIDQxLCAKKyAgICAyMzAsIDU5LCAxLCA3NSwgNDEsIDIzMCwgNTksIDEsIDI1MSwgMTgyLCA0MSwgMjMwLCA1OSwgMSwgMjUyLCAyMDUsIDQxLCAKKyAgICAyMzAsIDU5LCAxLCAyMTEsIDExNiwgNDEsIDIzMCwgNTksIDEsIDIxMSwgMTE1LCA0MSwgMjMwLCA1OSwgMSwgMjExLCAxMTQsIAorICAgIDQxLCAyMzAsIDU5LCAxLCAyMTEsIDExMywgNDEsIDIzMCwgNTksIDEsIDIxMSwgMTEyLCAxODYsIDQxLCAyMjksIDc1LCAxLCAKKyAgICAxMjcsIDIyMCwgMTksIDE4NiwgNDEsIDIyOSwgNzUsIDEsIDExNCwgMjIwLCAxOSwgMTg2LCA0MSwgMjI5LCA3NSwgMSwgCisgICAgMTI3LCAxNzIsIDE4NiwgNDEsIDIyOSwgNzUsIDEsIDEyNywgMjA2LCAxODEsIDE4NiwgNDEsIDIyOSwgNzUsIDEsIDEyNywgCisgICAgMjI1LCA3NywgMTg2LCA0MSwgMjI5LCA3NSwgMSwgMTE0LCAxNzIsIDE4NiwgNDEsIDIyOSwgNzUsIDEsIDExNCwgMjA2LCAKKyAgICAxODEsIDE4NiwgNDEsIDIyOSwgNzUsIDEsIDExNCwgMjI1LCA3NywgMTg2LCA0MSwgMjI5LCA3NSwgMSwgMTI3LCAyMTAsIAorICAgIDI0MywgMTg2LCA0MSwgMjI5LCA3NSwgMSwgMTI3LCAyMTcsIDE5OSwgMTg2LCA0MSwgMjI5LCA3NSwgMSwgMTI3LCAxOTAsIAorICAgIDE4NiwgNDEsIDIyOSwgNzUsIDEsIDExNCwgMjEwLCAyNDMsIDE4NiwgNDEsIDIyOSwgNzUsIDEsIDExNCwgMjE3LCAxOTksIAorICAgIDE4NiwgNDEsIDIyOSwgNzUsIDEsIDExNCwgMTkwLCAxODYsIDQxLCAyMjksIDc1LCAxLCAxMjcsIDIxMiwgMjE5LCAxODYsIAorICAgIDQxLCAyMjksIDc1LCAxLCAxMjcsIDIxMiwgNTYsIDE4NiwgNDEsIDIyOSwgNzUsIDEsIDEyNywgMTk5LCAxODYsIDQxLCAKKyAgICAyMjksIDc1LCAxLCAxMTQsIDIxMiwgMjE5LCAxODYsIDQxLCAyMjksIDc1LCAxLCAxMTQsIDIxMiwgNTYsIDE4NiwgNDEsIAorICAgIDIyOSwgNzUsIDEsIDExNCwgMTk5LCAxODYsIDQxLCAyMjksIDc1LCAxLCAxMjcsIDE3OSwgMTg2LCA0MSwgMjI5LCA3NSwgMSwgCisgICAgMTI3LCAyMjEsIDkzLCAxODYsIDQxLCAyMjksIDc1LCAxLCAxMjcsIDE4NSwgMTg2LCA0MSwgMjI5LCA3NSwgMSwgMTE0LCAKKyAgICAxNzksIDE4NiwgNDEsIDIyOSwgNzUsIDEsIDExNCwgMjIxLCA5MywgMTg2LCA0MSwgMjI5LCA3NSwgMSwgMTE0LCAxODUsIAorICAgIDE4NiwgNDEsIDIyOSwgNzUsIDEsIDEyNywgMjQyLCA3MywgMTg2LCA0MSwgMjI5LCA3NSwgMSwgMTI3LCAyMDksIDcwLCAKKyAgICAxODYsIDQxLCAyMjksIDc1LCAxLCAxMjcsIDIzMCwgMTQxLCAxODYsIDQxLCAyMjksIDc1LCAxLCAxMTQsIDI0MiwgNzMsIAorICAgIDE4NiwgNDEsIDIyOSwgNzUsIDEsIDExNCwgMjA5LCA3MCwgMTg2LCA0MSwgMjI5LCA3NSwgMSwgMTE0LCAyMzAsIDE0MSwgCisgICAgMTg2LCA0MSwgMjI5LCA3NSwgMSwgMTI3LCAxNTUsIDE4NiwgNDEsIDIyOSwgNzUsIDEsIDEyNywgMjQ2LCAxNDUsIDE4NiwgCisgICAgNDEsIDIyOSwgNzUsIDEsIDEyNywgMjUwLCAxODMsIDE4NiwgNDEsIDIyOSwgNzUsIDEsIDExNCwgMTU1LCAxODYsIDQxLCAKKyAgICAyMjksIDc1LCAxLCAxMTQsIDI0NiwgMTQ1LCAxODYsIDQxLCAyMjksIDc1LCAxLCAxMTQsIDI1MCwgMTgzLCAxODYsIDQxLCAKKyAgICAyMjksIDc1LCAxLCAxMjcsIDIzMCwgMTk3LCAxODYsIDQxLCAyMjksIDc1LCAxLCAxMjcsIDIwNiwgMTQ4LCAxODYsIDQxLCAKKyAgICAyMjksIDc1LCAxLCAxMTQsIDIzMCwgMTk3LCAxODYsIDQxLCAyMjksIDc1LCAxLCAxMTQsIDIwNiwgMTQ4LCAxODYsIDQxLCAKKyAgICAyMjksIDc1LCAxLCAxMjcsIDIxMywgMjAyLCAxODYsIDQxLCAyMjksIDc1LCAxLCAxMTQsIDIxMywgMjAyLCAxODYsIDQxLCAKKyAgICAyMjksIDc1LCAyMiwgMywgMjIsIDIxNSwgMTMyLCAxODYsIDQxLCAyMjksIDc1LCAyMiwgMywgMjUzLCAxNjQsIDE4NiwgNDEsIAorICAgIDIyOSwgNzUsIDIyLCAzLCAyMzMsIDEwMiwgMTg2LCA0MSwgMjI5LCA3NSwgMjIsIDMsIDcxLCAxODYsIDQxLCAyMjksIDc1LCAKKyAgICAyMiwgMywgMjA5LCAxNjIsIDE4NiwgNDEsIDIyOSwgNzUsIDIyLCAzLCA3NSwgMTg2LCA0MSwgMjI5LCA3NSwgMjIsIDMsIAorICAgIDI1MiwgMjQ4LCAxODYsIDQxLCAyMjksIDc1LCAyMiwgMywgNzYsIDE4NiwgNDEsIDIyOSwgNzUsIDIyLCAzLCAyMjIsIDIzMCwgCisgICAgMTg2LCA0MSwgMjI5LCA3NSwgMjIsIDMsIDIxMCwgMywgMTg2LCA0MSwgMjI5LCA3NSwgMjIsIDMsIDI1MSwgMTU5LCAxODYsIAorICAgIDQxLCAyMjksIDc1LCAyMiwgMywgMjUzLCAxMTksIDE4NiwgNDEsIDIyOSwgNzUsIDIyLCAzLCAyMDksIDE1NCwgMTg2LCA0MSwgCisgICAgMjI5LCA3NSwgMjIsIDMsIDIyMiwgNzEsIDE4NiwgNDEsIDIyOSwgNzUsIDIyLCAzLCAyMjIsIDIyNywgMTg2LCA0MSwgMjI5LCAKKyAgICA3NSwgMjIsIDMsIDIwOSwgMjU1LCAxODYsIDQxLCAyMjksIDc1LCAyMiwgMywgMjMyLCAyMTEsIDE4NiwgNDEsIDIyOSwgNzUsIAorICAgIDEsIDQyLCAyMDksIDE0OCwgMTg2LCA0MSwgMjI5LCA3NSwgMSwgNDIsIDIyNSwgNzksIDE4NiwgNDEsIDIyOSwgNzUsIDEsIAorICAgIDQyLCAyMjYsIDMzLCAxODYsIDQxLCAyMjksIDc1LCAxLCA0MiwgMjI5LCAyOCwgMTg2LCA0MSwgMjI5LCA3NSwgMSwgNDIsIAorICAgIDIzMiwgNzYsIDE4NiwgNDEsIDIyOSwgNzUsIDEsIDQyLCAyNDYsIDI0MCwgMTg2LCA0MSwgMjI5LCA3NSwgMSwgNDIsIDI1MSwgCisgICAgMTUwLCAxODYsIDQxLCAyMjksIDc1LCAxMzUsIDIyNywgMTkxLCAxODYsIDQxLCAyMjksIDc1LCAxMzUsIDIyNywgMTkwLCAKKyAgICAxODYsIDQxLCAyMjksIDc1LCAxOCwgMjA1LCA4NSwgMTg2LCA0MSwgMjI5LCA3NSwgMTgsIDEwMiwgMTg2LCA0MSwgMjI5LCAKKyAgICA3NSwgMTgsIDEwNSwgMTg2LCA0MSwgMjI5LCA3NSwgMTgsIDE0MiwgMTg2LCA0MSwgMjI5LCA3NSwgMTgsIDEzOSwgMTg2LCAKKyAgICA0MSwgMjI5LCA3NSwgMTgsIDE2OCwgMTg2LCA0MSwgMjI5LCA3NSwgMTgsIDE4NCwgMTg2LCA0MSwgMjI5LCA3NSwgMTgsIAorICAgIDE5NSwgMTg2LCA0MSwgMjI5LCA3NSwgMTgsIDE5MywgMTg2LCA0MSwgMjI5LCA3NSwgMTgsIDIwMCwgMTg2LCA0MSwgMjI5LCAKKyAgICA3NSwgOTksIDE4LCAxMDIsIDE4NiwgNDEsIDIyOSwgNzUsIDMsIDIzMCwgMTI1LCAxODYsIDQxLCAyMjksIDc1LCAzLCAyMzAsIAorICAgIDEyNCwgODIsIDE2LCAyMjEsIDE5MSwgODIsIDE2LCAyMjYsIDgxLCAyMzEsIDQ5LCA4MiwgMTYsIDIyMSwgMTYsIDIzMSwgCisgICAgNDksIDgyLCAxNiwgMjUwLCAzNCwgMjMxLCA0OSwgODIsIDE2LCAyNDksIDc0LCAyMzEsIDQ5LCA4MiwgMTYsIDIyMCwgMTUzLCAKKyAgICAyMzEsIDQ5LCA4MiwgMTYsIDIyMCwgMTQ3LCAyMzEsIDQ5LCA4MiwgMTYsIDIyMCwgMTQ1LCAyMzEsIDQ5LCA4MiwgMTYsIAorICAgIDIyMCwgMTUxLCAyMzEsIDQ5LCA4MiwgMTYsIDIyMCwgMTQ5LCAyMzEsIDQ5LCA4MiwgMTYsIDI0NiwgOTUsIDIzMSwgNDksIAorICAgIDgyLCAxNiwgMjQ2LCA5MSwgMjMxLCA0OSwgODIsIDE2LCAyNDYsIDkwLCAyMzEsIDQ5LCA4MiwgMTYsIDI0NiwgOTMsIDIzMSwgCisgICAgNDksIDgyLCAxNiwgMjQ2LCA5MiwgMjMxLCA0OSwgODIsIDE2LCAyNDYsIDg5LCAyMzEsIDQ5LCA4MiwgMTYsIDIxMCwgMTM3LCAKKyAgICA4MiwgMTYsIDIyNiwgODEsIDIxOCwgMTE4LCA4MiwgMTYsIDIyMSwgMTYsIDIxOCwgMTE4LCA4MiwgMTYsIDI1MCwgMzQsIAorICAgIDIxOCwgMTE4LCA4MiwgMTYsIDI0OSwgNzQsIDIxOCwgMTE4LCA4MiwgMTYsIDIyMCwgMTUzLCAyMTgsIDExOCwgODIsIDE2LCAKKyAgICAyMjAsIDE0NywgMjE4LCAxMTgsIDgyLCAxNiwgMjIwLCAxNDUsIDIxOCwgMTE4LCA4MiwgMTYsIDIyMCwgMTUxLCAyMTgsIAorICAgIDExOCwgODIsIDE2LCAyMjAsIDE0OSwgMjE4LCAxMTgsIDgyLCAxNiwgMjQ2LCA5NSwgMjE4LCAxMTgsIDgyLCAxNiwgMjQ2LCAKKyAgICA5MSwgMjE4LCAxMTgsIDgyLCAxNiwgMjQ2LCA5MCwgMjE4LCAxMTgsIDgyLCAxNiwgMjQ2LCA5MywgMjE4LCAxMTgsIDgyLCAKKyAgICAxNiwgMjQ2LCA5MiwgMjE4LCAxMTgsIDgyLCAxNiwgMjQ2LCA4OSwgMjE4LCAxMTgsIDI0OSwgOTQsIDEsIDE3MiwgMjQ5LCAKKyAgICA5NCwgMSwgMjQwLCAyNDQsIDI0OSwgOTQsIDEsIDIyNSwgNzcsIDI0OSwgOTQsIDEsIDIyNSwgMjAsIDI0OSwgOTQsIDEsIAorICAgIDE3OSwgMjQ5LCA5NCwgMSwgMjUwLCAxODMsIDI0OSwgOTQsIDEsIDE4NSwgMjQ5LCA5NCwgMSwgMjI2LCAxMTgsIDI0OSwgCisgICAgOTQsIDEsIDIxMiwgMjE5LCAyNDksIDk0LCAxLCAyNDYsIDE0NSwgMjQ5LCA5NCwgMSwgMTk5LCAyNDksIDk0LCAxLCAyMjQsIAorICAgIDI0LCAyNDksIDk0LCAxLCAyNDksIDEsIDI0OSwgOTQsIDEsIDIzMiwgMjAwLCAyNDksIDk0LCAxLCAyMjMsIDE0NCwgMjQ5LCAKKyAgICA5NCwgMSwgMjIzLCAxMzYsIDI0OSwgOTQsIDEsIDE5MCwgMjQ5LCA5NCwgMSwgMjE5LCAxMTMsIDI0OSwgOTQsIDEsIDIzMCwgCisgICAgMTQxLCAyNDksIDk0LCAxLCAyMDksIDcwLCAyNDksIDk0LCAxLCAyMTcsIDE5OSwgMjQ5LCA5NCwgMSwgNjIsIDI0OSwgOTQsIAorICAgIDEsIDE1NSwgMjQ5LCA5NCwgMjIsIDMsIDc0LCAyNDksIDk0LCAyMiwgMywgNzEsIDI0OSwgOTQsIDIyLCAzLCA3NSwgMjQ5LCAKKyAgICA5NCwgMjIsIDMsIDc2LCAyNDksIDk0LCAyMiwgMywgMjUyLCAyNDgsIDI0OSwgOTQsIDIyMiwgMjAsIDI0OSwgOTQsIDI0MywgCisgICAgMzQsIDczLCAyMTcsIDc2LCA0MSwgOTksIDEsIDEyNywgMTcyLCA0MSwgOTksIDEsIDEyNywgMjMxLCAxNjcsIDQxLCA5OSwgCisgICAgMSwgMTI3LCAyMzAsIDE4MSwgNDEsIDk5LCAxLCAxMTQsIDE3MiwgNDEsIDk5LCAxLCAxMTQsIDIzMCwgMTgxLCA0MSwgOTksIAorICAgIDEsIDExNCwgMjMxLCAxNjcsIDQxLCA5OSwgMSwgMjI1LCA3NywgNDEsIDk5LCAxLCAxMjcsIDI0OSwgMSwgNDEsIDk5LCAxLCAKKyAgICAxMjcsIDI0OCwgMTEwLCA0MSwgOTksIDEsIDExNCwgMjQ5LCAxLCA0MSwgOTksIDEsIDExNCwgMjE3LCAxOTksIDQxLCA5OSwgCisgICAgMSwgMTE0LCAyNDgsIDExMCwgNDEsIDk5LCAxLCAyMjMsIDE0NCwgNDEsIDk5LCAxLCAyMTksIDY0LCA0MSwgOTksIDEsIAorICAgIDEyNywgMjE5LCA2MiwgNDEsIDk5LCAxLCAyNDYsIDE0NSwgNDEsIDk5LCAxLCAxMTQsIDIxOSwgNjIsIDQxLCA5OSwgMSwgCisgICAgMjE5LCA3MywgNDEsIDk5LCAxLCAxMjcsIDIxMiwgMjE5LCA0MSwgOTksIDEsIDEyNywgMjEyLCA1NiwgNDEsIDk5LCAxLCAKKyAgICAxMTQsIDIxMiwgMjE5LCA0MSwgOTksIDEsIDExNCwgMjEyLCA1NiwgNDEsIDk5LCAxLCAxOTksIDQxLCA5OSwgMSwgMjUwLCAKKyAgICAxODMsIDQxLCA5OSwgMSwgMTI3LCAxNzksIDQxLCA5OSwgMSwgMTI3LCAyMjEsIDkzLCA0MSwgOTksIDEsIDEyNywgMjQyLCAKKyAgICA3MywgNDEsIDk5LCAxLCAxMTQsIDE3OSwgNDEsIDk5LCAxLCAxMTQsIDI0MiwgNzMsIDQxLCA5OSwgMSwgMTE0LCAyMjEsIAorICAgIDkzLCA0MSwgOTksIDEsIDE4NSwgNDEsIDk5LCAxLCAxMTQsIDE5MCwgNDEsIDk5LCAxLCAxMjcsIDE5MCwgNDEsIDk5LCAxLCAKKyAgICAyMTksIDExMywgNDEsIDk5LCAxLCAyMTgsIDQ2LCA0MSwgOTksIDEsIDIzMCwgMTQxLCA0MSwgOTksIDEsIDIyOSwgNzQsIAorICAgIDQxLCA5OSwgMSwgMjA3LCA5NiwgNDEsIDk5LCAxLCAxMjcsIDIxNiwgMiwgNDEsIDk5LCAxLCAxMjcsIDIxNCwgOTYsIDQxLCAKKyAgICA5OSwgMSwgMTI3LCAyMTcsIDE5OSwgNDEsIDk5LCAxLCAxMjcsIDE1NSwgNDEsIDk5LCAxLCAyMjksIDE3MiwgNDEsIDk5LCAKKyAgICAxLCA2MiwgNDEsIDk5LCAxLCAxMTQsIDE1NSwgNDEsIDk5LCAxLCA3NCwgNDEsIDk5LCAxLCAyMzMsIDEwMiwgNDEsIDk5LCAKKyAgICAxLCA3MSwgNDEsIDk5LCAxLCAyMDksIDE2MiwgNDEsIDk5LCAxLCAyNDMsIDEwNCwgNDEsIDk5LCAxLCAyMjIsIDE1MiwgNDEsIAorICAgIDk5LCAxLCAyMzAsIDEyNSwgNDEsIDk5LCAxLCAyMzksIDIzMiwgMjE3LCAxOTksIDQxLCA5OSwgMTA3LCAzLCAxNjksIDIxOSwgCisgICAgMTEzLCA0MSwgOTksIDEwNywgMywgMTY5LCAyMzAsIDE0MSwgNDEsIDk5LCAxMDcsIDMsIDIzMCwgMTQyLCAyMTIsIDE3MiwgCisgICAgMjMwLCAxMTQsIDQxLCA5OSwgMywgMjI3LCAyNDAsIDIzMiwgMjQsIDIzMCwgMTE0LCA0MSwgOTksIDEwNywgMywgNDIsIAorICAgIDIyNSwgNzcsIDQxLCA5OSwgMTA3LCAzLCAxMTQsIDE3OSwgNDEsIDk5LCAxMDcsIDMsIDEyNywgMjE5LCA2MywgMjIyLCAKKyAgICAxMjMsIDExNCwgMTc5LCA0MSwgOTksIDEwNywgMywgMTg1LCA0MSwgOTksIDEwNywgMywgMjUwLCAxODMsIDQxLCA5OSwgCisgICAgMTA3LCAzLCAyMTcsIDE5OSwgNDEsIDk5LCAzLCAyMTcsIDE3NCwgNDEsIDk5LCAyMiwgMywgNjIsIDQxLCA5OSwgMjIsIDMsIAorICAgIDIyNywgMjQwLCAyMTcsIDEzMywgNDEsIDk5LCAyMiwgMywgMjUzLCAxNjQsIDQxLCA5OSwgMjIsIDMsIDIxMiwgMTc4LCAKKyAgICAyNTMsIDE2NCwgNDEsIDk5LCAyMiwgMywgNzQsIDQxLCA5OSwgMjIsIDMsIDIzMywgMTAyLCA0MSwgOTksIDIyLCAzLCAyMTAsIAorICAgIDMsIDQxLCA5OSwgMjIsIDMsIDIwOSwgMTYxLCA0MSwgOTksIDIyLCAzLCA3MSwgNDEsIDk5LCAyMiwgMywgMjA5LCAxNjIsIAorICAgIDQxLCA5OSwgMjIsIDMsIDc2LCA0MSwgOTksIDIyLCAzLCAyMjIsIDIzMSwgNTUsIDQxLCA5OSwgMjIsIDMsIDIyMiwgNzEsIAorICAgIDQxLCA5OSwgMjIsIDMsIDc1LCA0MSwgOTksIDIyLCAzLCAyNTIsIDI0OCwgNDEsIDk5LCAyMiwgMywgMjIyLCAxNTIsIDQxLCAKKyAgICA5OSwgMjIsIDMsIDI1MiwgMjA1LCA0MSwgOTksIDIyLCAzLCA5OSwgMjUyLCAyMDUsIDQxLCA5OSwgMjIsIDMsIDIyMiwgCisgICAgMjMxLCA1MiwgNDEsIDk5LCAzLCAyMjcsIDI0MCwgMjMyLCAyMywgNDEsIDk5LCAzLCAyMTEsIDExNywgNDEsIDk5LCAzLCAKKyAgICAyMTEsIDExNiwgNDEsIDk5LCAzLCAyMzEsIDEyOCwgMjExLCAxMTUsIDQxLCA5OSwgMywgMjMxLCAxMjgsIDIxMSwgMTE0LCAKKyAgICA0MSwgOTksIDMsIDIzMSwgMTI4LCAyMTEsIDExMywgNDEsIDk5LCAzLCAyMTksIDExNCwgMjM5LCAxNDAsIDQxLCA5OSwgMywgCisgICAgMjI3LCAyNDAsIDIxNywgMTYxLCA0MSwgOTksIDMsIDIzMSwgMTI3LCAyMzIsIDYsIDQxLCA5OSwgMzYsIDI0NywgNDMsIAorICAgIDI0NSwgMjMsIDQxLCA5OSwgMjM4LCAxMjMsIDE4LCAyMDUsIDg1LCA0MSwgOTksIDIzOCwgMTIzLCAxOCwgMTAyLCA0MSwgCisgICAgOTksIDIzOCwgMTIzLCAxOCwgMTA1LCA0MSwgOTksIDIzOCwgMTIzLCAxOCwgMTQyLCA0MSwgOTksIDIzOCwgMTIzLCAxOCwgCisgICAgMTM5LCA0MSwgOTksIDIzOCwgMTIzLCAxOCwgMTY4LCA0MSwgOTksIDIzOCwgMTIzLCAxOCwgMTg0LCA0MSwgOTksIDIzOCwgCisgICAgMTIzLCAxOCwgMTk1LCA0MSwgOTksIDIzOCwgMTIzLCAxOCwgMTkzLCA0MSwgOTksIDIzOCwgMTIzLCAxOCwgMjAwLCA0MSwgCisgICAgOTksIDk5LCAxOCwgMjA1LCA4NSwgNDEsIDk5LCA5OSwgMTgsIDEwMiwgNDEsIDk5LCA5OSwgMTgsIDEwNSwgNDEsIDk5LCAKKyAgICA5OSwgMTgsIDE0MiwgNDEsIDk5LCA5OSwgMTgsIDEzOSwgNDEsIDk5LCA5OSwgMTgsIDE2OCwgNDEsIDk5LCA5OSwgMTgsIAorICAgIDE4NCwgNDEsIDk5LCA5OSwgMTgsIDE5NSwgNDEsIDk5LCA5OSwgMTgsIDE5MywgNDEsIDk5LCA5OSwgMTgsIDIwMCwgNDEsIAorICAgIDk5LCAzLCAyMDcsIDE5LCA0MSwgOTksIDMsIDIwNywgMTgsIDQxLCA5OSwgMywgMjE3LCAxMjAsIDQxLCA5OSwgMywgMjMxLCAKKyAgICAxOTgsIDQxLCA5OSwgMywgMjM4LCA1MiwgNDEsIDk5LCAzLCAyNDUsIDM3LCA0MSwgOTksIDMsIDIxOCwgMjI0LCAyMTgsIAorICAgIDk3LCAyMTksIDczLCA0MSwgOTksIDMsIDIyNywgMjQwLCAyMDYsIDc4LCA0MSwgOTksIDMsIDIzMiwgNTgsIDQxLCA5OSwgMywgCisgICAgMjMyLCA1NywgNDEsIDk5LCAzLCAyMTcsIDEyOCwgNDEsIDk5LCAzLCAyMTcsIDEyNywgNDEsIDk5LCAzLCAyMzksIDEwMSwgCisgICAgNDEsIDk5LCAzLCAyNDgsIDI1NCwgMzYsIDI0NCwgMTMsIDI0NywgMjI4LCAyNTMsIDIxLCAzNiwgMjQ1LCAxNjUsIDM2LCAKKyAgICAyMzMsIDQ1LCAzNiwgMTczLCA0NSwgMzYsIDIxMSwgMzYsIDI0NSwgMjMsIDM2LCAyMDYsIDE5NCwgNTUsIDM2LCAyMDcsIAorICAgIDE0LCAyMjksIDIwNiwgNTUsIDM2LCAyMjIsIDE0MiwgMTQxLCA1NSwgMzYsIDUwLCAyMjIsIDE0MiwgMTQxLCA1NSwgMzYsIAorICAgIDE0NywgMjQ4LCAxMzAsIDIxMywgMjI1LCA1NSwgMzYsIDIxMywgMjExLCAyNDgsIDEzMCwgMjEzLCAyMjUsIDU1LCAzNiwgCisgICAgMjIxLCAyMTgsIDUyLCAzNiwgNTAsIDIyMSwgMjE4LCA1MiwgMzYsIDIyMSwgMjE4LCA1NSwgMzYsIDIyMSwgMjE4LCAyMjIsIAorICAgIDgyLCAxMTcsIDMsIDIwOSwgMjQ0LCAyMTgsIDIwMiwgMTE3LCAzLCAyMDksIDI0NCwgMjQ4LCAyMTksIDExNywgMywgMjQ4LCAKKyAgICAxNDQsIDExNywgMywgMjEzLCAxMzEsIDExNywgMywgMjQ5LCAyMTQsIDExNywgMSwgMjUyLCAxODcsIDExNywgMSwgMjUyLCAKKyAgICAxODgsIDIxMiwgMTIyLCAxMTcsIDEsIDIzMywgOTgsIDExNywgMSwgMjMzLCA5OSwgMjEyLCAxMjIsIDExNywgMSwgMjA5LCAKKyAgICAyNDcsIDExNywgMSwgMjA5LCAyNDgsIDIxMiwgMTIyLCAxMTcsIDEsIDIxOSwgMTE0LCAyMTgsIDI1NCwgMTE3LCAxLCAyMTksIAorICAgIDExNCwgMjE4LCAyNTUsIDIxMiwgMTIyLCAxMTcsIDEsIDIzMCwgMTQyLCAyMzAsIDIxLCAxMTcsIDEsIDIzMCwgMTQyLCAKKyAgICAyMzAsIDIyLCAyMTIsIDEyMiwgMTE3LCAxLCAyNDMsIDczLCAxMTcsIDEsIDI1MiwgMjAzLCAxMTcsIDEsIDIyMiwgMTgzLCAKKyAgICAxMTcsIDEsIDIyMiwgMTg0LCAyMTIsIDEyMiwgMTE3LCAxLCAxNzIsIDExNywgMSwgMjMyLCA2NiwgMjI3LCAyNDMsIDExNywgCisgICAgMSwgMjQwLCAyNDQsIDExNywgMSwgMjQwLCAyNDUsIDI0MCwgNSwgMTE3LCAxLCAyMjUsIDc3LCAxMTcsIDEsIDI0OSwgMSwgCisgICAgMTE3LCAxLCAyNDksIDIsIDIzMCwgMTI4LCAxMTcsIDEsIDIzMiwgMjAwLCAxMTcsIDEsIDIzMiwgMjAxLCAyMzIsIDE3NCwgCisgICAgMTE3LCAxLCAyMjMsIDE0NCwgMTE3LCAxLCAyMTIsIDIyMCwgMjMwLCA3NywgMTE3LCAxLCAyMTIsIDIyMCwgMjI2LCA3NiwgCisgICAgMjI3LCAyNDMsIDExNywgMSwgMjQ2LCAxNDYsIDIyNiwgNzYsIDI1MiwgMTQ2LCAxMTcsIDEsIDI0NiwgMTQ2LCAyMjYsIDc2LCAKKyAgICAyMjcsIDI0MywgMTE3LCAxLCAyMjUsIDIzNywgMjE5LCA3NiwgMTE3LCAxLCAyMTIsIDIxOSwgMTE3LCAxLCAyMTIsIDIyMCwgCisgICAgMjEyLCAxNDQsIDExNywgMSwgMjQ2LCAxNDUsIDExNywgMSwgMjQ2LCAxNDYsIDIyOCwgNiwgMTE3LCAxLCAxOTksIDExNywgCisgICAgMSwgMTc5LCAxMTcsIDEsIDIyMiwgNTIsIDIzMiwgMTgsIDExNywgMSwgMjUwLCAxODMsIDExNywgMSwgMjUwLCAxODQsIAorICAgIDIzMSwgMjEwLCAxMTcsIDEsIDE4NSwgMTE3LCAxLCAxOTAsIDExNywgMSwgMjE5LCAxMTMsIDExNywgMSwgMjMwLCAxNDEsIAorICAgIDExNywgMSwgMjA3LCA5NiwgMTE3LCAxLCAyMTcsIDIwMCwgMjE3LCAxODQsIDExNywgMSwgMjE3LCAyMDAsIDIxNywgMTQwLCAKKyAgICAxMTcsIDEsIDIxNywgMTk5LCAxMTcsIDEsIDE1NSwgMTE3LCAzLCAyMTgsIDI0NSwgMTE3LCAyMiwgMywgMjEyLCAxMjIsIAorICAgIDExNywgMjIsIDMsIDIwOSwgMjQzLCAxMTcsIDIyLCAzLCAyMDksIDI0NCwgMjE3LCAxMzYsIDExNywgMjIsIDMsIDIxMywgCisgICAgMTY0LCAxMTcsIDIyLCAzLCAyMTMsIDE2NSwgMjMzLCA5MCwgMTE3LCAyMiwgMywgMjE5LCAxMTQsIDIxOCwgMjU0LCAxMTcsIAorICAgIDIyLCAzLCAyMTksIDExNCwgMjE4LCAyNTUsIDIxMiwgMTIyLCAxMTcsIDIyLCAzLCAyMzAsIDE0MiwgMjMwLCAyMSwgMTE3LCAKKyAgICAyMiwgMywgMjMwLCAxNDIsIDIzMCwgMjIsIDIxMiwgMTIyLCAxMTcsIDIyLCAzLCAyMTIsIDE3OSwgMTE3LCAyMiwgMywgCisgICAgMjEyLCAxODAsIDIxOCwgMjU0LCAxMTcsIDIyLCAzLCAyMTIsIDE4MCwgMjEyLCAxMjIsIDExNywgMjIsIDMsIDIxMiwgMTgwLCAKKyAgICAyMTgsIDI1NSwgMjEyLCAxMjIsIDExNywgMjIsIDMsIDIyMSwgMTM0LCAxMTcsIDIyLCAzLCAyMjEsIDEzNSwgMjEyLCAxMjIsIAorICAgIDExNywgMjUzLCAwLCAyNTIsIDI1NSwgMTE3LCAxLCAyMzIsIDQ2LCAyMTcsIDEzNSwgMTE3LCAxLCAyMzEsIDEzNCwgMjE3LCAKKyAgICAxMzUsIDExNywgMSwgMjEwLCA4MCwgMjE3LCAxMzUsIDExNywgMSwgMjQzLCA5OCwgMjE3LCAxMzUsIDExNywgMSwgMjA5LCAKKyAgICA0MCwgMjE3LCAxMzUsIDExNywgMSwgMjA1LCAxMDcsIDIxNywgMTM1LCAxMTcsIDEsIDI1MSwgMjAyLCAyMTcsIDEzNSwgCisgICAgMTE3LCAxOCwgMjA1LCA4NSwgMTE3LCAxOCwgMTAyLCAxMTcsIDE4LCAxMDUsIDExNywgMTgsIDE0MiwgMTE3LCAxOCwgMTM5LCAKKyAgICAxMTcsIDE4LCAxNjgsIDExNywgMTgsIDE4NCwgMTE3LCAxOCwgMTk1LCAxMTcsIDE4LCAxOTMsIDExNywgMTgsIDIwMCwgCisgICAgMTE3LCAyMjEsIDI0NCwgMTE3LCAyMjIsIDE0LCAxMTcsIDIwNywgNywgMTE3LCAyNDgsIDE5NywgMjIyLCA3LCAxMTcsIAorICAgIDI0OCwgMTk3LCAyMTUsIDU4LCAxMTcsIDI0OCwgMTk3LCAyMjEsIDIxNSwgMTE3LCAyMjIsIDEzLCAxMTcsIDMwLCAxNiwgCisgICAgMjQ1LCAyOSwgMTE3LCAzMCwgMTYsIDI0NSwgMjI0LCAxMTcsIDMwLCAxNiwgMjQzLCAyMjMsIDExNywgMzAsIDE2LCAyNDYsIAorICAgIDk4LCAxMTcsIDMwLCAxNiwgMjQ2LCA5OSwgMjEzLCAxMzEsIDExNywgMzAsIDE2LCAyNDUsIDExMiwgMTE3LCAzMCwgMTYsIAorICAgIDI0NiwgMTM4LCAxMTcsIDMwLCAxNiwgMjQ1LCAyMDEsIDExNywgMzAsIDE2LCAyNDYsIDEyMCwgMTE3LCAzMCwgMTYsIDI0NiwgCisgICAgOTksIDI0MCwgMTY0LCAxMTcsIDMwLCAxNiwgMzYsIDIxMiwgMTE3LCAxMTcsIDMwLCAxNiwgMzYsIDI0MywgMzIsIDExNywgCisgICAgMzAsIDE2LCAzNiwgMjMxLCAyMDUsIDExNywgMzAsIDE2LCAzNiwgMjMxLCAyMDcsIDExNywgMzAsIDE2LCAzNiwgMjMyLCAKKyAgICAxNzgsIDExNywgMzAsIDE2LCAzNiwgMjMxLCAyMDYsIDIsIDIzMiwgMTc4LCAxMTcsIDMwLCAxNiwgMzYsIDIzMSwgMjA4LCAKKyAgICAyLCAyMzIsIDE3OCwgMTE3LCAzMCwgMTYsIDM2LCAyNTAsIDIwLCAxMTcsIDMwLCAxNiwgMzYsIDI0MCwgOSwgMTE3LCAzMCwgCisgICAgMTYsIDIxOCwgMTY1LCAyMjIsIDE0MiwgMjQzLCAyMzMsIDExNywgMzAsIDE2LCAyMTgsIDE2NSwgMjIyLCAxNDIsIDI0NiwgCisgICAgMTM2LCAxMTcsIDMwLCAxNiwgMjE4LCAxNjUsIDI0NywgMTkyLCAyMTAsIDE2MiwgMTE3LCAzMCwgMTYsIDIxOCwgMTY1LCAKKyAgICAyNDcsIDE5MiwgMjEyLCAxODcsIDExNywgMzAsIDE2LCAyMzAsIDQ0LCAyMjIsIDE0MiwgMjIyLCAyLCAxMTcsIDMwLCAxNiwgCisgICAgMjMwLCA0NCwgMjIyLCAxNDIsIDIyMCwgNzAsIDExNywgMzAsIDE2LCAyMzAsIDQ0LCAyNDcsIDE5MiwgMjIwLCAyMzYsIAorICAgIDExNywgMzAsIDE2LCAyMzAsIDQ0LCAyNDcsIDE5MiwgMjIwLCAyMjIsIDExNywgMzAsIDE2LCAyMzAsIDQ0LCAyMjIsIDE0MiwgCisgICAgMjIxLCA1LCAyMTMsIDE1MywgMywgMjIxLCAyNDEsIDIxMywgMTUzLCAzLCAyMjEsIDI1NCwgMjEzLCAxNTMsIDMsIDIyMSwgCisgICAgMjUwLCAyMTMsIDE1MywgMSwgNjIsIDIxMywgMTUzLCAxLCA3NCwgMjEzLCAxNTMsIDEsIDcxLCAyMTMsIDE1MywgMSwgMjUyLCAKKyAgICAyNDgsIDIxMywgMTUzLCAxLCA3NiwgMjEzLCAxNTMsIDEsIDc1LCAyMTMsIDE1MywgMSwgMjQyLCAxOTIsIDIxMywgMTUzLCAKKyAgICAxLCAxNzIsIDIxMywgMTUzLCAxLCAyMjAsIDE5LCAyMTMsIDE1MywgMSwgMjQwLCAyNDQsIDIxMywgMTUzLCAxLCAyMjUsIAorICAgIDc3LCAyMTMsIDE1MywgMSwgMjQ5LCAxLCAyMTMsIDE1MywgMSwgMjMyLCAyMDAsIDIxMywgMTUzLCAxLCAyMDUsIDExNiwgCisgICAgMjEzLCAxNTMsIDEsIDIyMywgMTQ0LCAyMTMsIDE1MywgMSwgMjEyLCAyMTksIDIxMywgMTUzLCAxLCAyNDYsIDE0NSwgMjEzLCAKKyAgICAxNTMsIDEsIDE5OSwgMjEzLCAxNTMsIDEsIDE3OSwgMjEzLCAxNTMsIDEsIDI0MiwgNzMsIDIxMywgMTUzLCAxLCAyMDksIAorICAgIDcwLCAyMTMsIDE1MywgMSwgMjUwLCAxODMsIDIxMywgMTUzLCAxLCAxODUsIDIxMywgMTUzLCAxLCAxOTAsIDIxMywgMTUzLCAKKyAgICAxLCAyMTksIDExMywgMjEzLCAxNTMsIDEsIDIzMCwgMTQxLCAyMTMsIDE1MywgMSwgMjA3LCA5NiwgMjEzLCAxNTMsIDEsIAorICAgIDIxNywgMTk5LCAyMTMsIDE1MywgMSwgMjA2LCAxODEsIDIxMywgMTUzLCAxLCAxNTUsIDIxMywgMTUzLCAxMDcsIDMsIDIyMiwgCisgICAgMTEsIDIxMywgMTUzLCAxMDcsIDMsIDIyMSwgMjQzLCAyMTMsIDE1MywgMTA3LCAzLCAyMjEsIDI0MCwgMjEzLCAxNTMsIDIyLCAKKyAgICAzLCAyMjIsIDEsIDIxMywgMTUzLCAyMiwgMywgMjIxLCAyMzksIDIxMywgMTUzLCAyMiwgMywgMjIyLCA1LCAyMTMsIDE1MywgCisgICAgMjIsIDMsIDIyMSwgMjQ5LCAyMTMsIDE1MywgMjIsIDMsIDIyMiwgMTIsIDIxMywgMTUzLCAyMiwgMywgMjIyLCAzLCAyMTMsIAorICAgIDE1MywgMywgMjIyLCAxNSwgMjEzLCAxNTMsIDMsIDIwOCwgMTg4LCAyMTMsIDE1MywgMTA3LCAzLCAyMjEsIDIwNCwgMTg1LCAKKyAgICAyMTMsIDE1MywgMTA3LCAzLCAyMjEsIDIwNCwgMjA3LCA5NiwgMjEzLCAxNTMsIDEsIDIzMSwgMTY3LCAyMTMsIDE1MywgMSwgCisgICAgMjEzLCA5MCwgMjEzLCAxNTMsIDE4LCAyMDUsIDg1LCAyMTMsIDE1MywgMTgsIDEwMiwgMjEzLCAxNTMsIDE4LCAxMDUsIAorICAgIDIxMywgMTUzLCAxOCwgMTQyLCAyMTMsIDE1MywgMTgsIDEzOSwgMjEzLCAxNTMsIDE4LCAxNjgsIDIxMywgMTUzLCAxOCwgCisgICAgMTg0LCAyMTMsIDE1MywgMTgsIDE5NSwgMjEzLCAxNTMsIDE4LCAxOTMsIDIxMywgMTUzLCAxOCwgMjAwLCAyMTMsIDE1MywgCisgICAgMjUxLCAxNjcsIDIxMywgMTUzLCAxLCAyMTgsIDIyNywgMjEzLCAxNTMsIDEsIDIzMCwgMiwgMjEzLCAxNTMsIDEsIDI1MCwgCisgICAgMCwgMjEzLCAxNTMsIDEsIDQyLCAyMzIsIDc2LCAyMTMsIDE1MywgMSwgNDIsIDIyOSwgMjgsIDI1MCwgMTA3LCAxLCA2MiwgCisgICAgMjUwLCAxMDcsIDEsIDIxNSwgNTAsIDYyLCAyNTAsIDEwNywgMSwgMTU1LCAyNTAsIDEwNywgMSwgMjE1LCA1MCwgMTU1LCAKKyAgICAyNTAsIDEwNywgMSwgMjI3LCAyMTYsIDE1NSwgMjUwLCAxMDcsIDEsIDI1MCwgMTgzLCAyNTAsIDEwNywgMSwgMjMyLCAzLCAKKyAgICAyNTAsIDE4MywgMjUwLCAxMDcsIDEsIDE3OSwgMjUwLCAxMDcsIDEsIDIxNSwgNTAsIDE3OSwgMjUwLCAxMDcsIDEsIDE5OSwgCisgICAgMjUwLCAxMDcsIDEsIDIyNywgMjE2LCAxOTksIDI1MCwgMTA3LCAxLCAyMDcsIDk2LCAyNTAsIDEwNywgMSwgMjE1LCA1MCwgCisgICAgMjA3LCA5NiwgMjUwLCAxMDcsIDEsIDIyMiwgMjcsIDIwNywgOTYsIDI1MCwgMTA3LCAxLCAyNDAsIDI0NCwgMjUwLCAxMDcsIAorICAgIDEsIDIxNSwgNTAsIDI0MCwgMjQ0LCAyNTAsIDEwNywgMSwgMjMyLCAyMDAsIDI1MCwgMTA3LCAxLCAyNDYsIDE0NSwgMjUwLCAKKyAgICAxMDcsIDEsIDIxOSwgMTEzLCAyNTAsIDEwNywgMSwgMjE1LCA1MCwgMjE5LCAxMTMsIDI1MCwgMTA3LCAxLCAxODUsIDI1MCwgCisgICAgMTA3LCAxLCAyMTUsIDUwLCAxODUsIDI1MCwgMTA3LCAxLCAyMTQsIDE2MSwgMjEyLCAyMTksIDI1MCwgMTA3LCAxLCAyMjQsIAorICAgIDQ2LCAyMTIsIDIxOSwgMjUwLCAxMDcsIDEsIDIxNywgMTk5LCAyNTAsIDEwNywgMSwgMjE1LCA1MCwgMjE3LCAxOTksIDI1MCwgCisgICAgMTA3LCAxLCAyMjcsIDIxNiwgMjE3LCAxOTksIDI1MCwgMTA3LCAxLCAxOTAsIDI1MCwgMTA3LCAxLCAyMTUsIDUwLCAxOTAsIAorICAgIDI1MCwgMTA3LCAxLCAyMjUsIDc3LCAyNTAsIDEwNywgMSwgMjMwLCAxNDEsIDI1MCwgMTA3LCAxLCAyMTUsIDUwLCAyMzAsIAorICAgIDE0MSwgMjUwLCAxMDcsIDEsIDIyMywgMTQ0LCAyNTAsIDEwNywgMSwgMjQ5LCAxLCAyNTAsIDEwNywgMSwgMjI1LCAxNTEsIAorICAgIDI1MCwgMTA3LCAxLCAyMjcsIDE1MywgMjUwLCAxMDcsIDEsIDc0LCAyNTAsIDEwNywgMSwgNzEsIDI1MCwgMTA3LCAzLCAKKyAgICAyMTEsIDEyMSwgMjUwLCAxMDcsIDIyLCAzLCA3NSwgMjUwLCAxMDcsIDIyLCAzLCAyMjIsIDI3LCA3NSwgMjUwLCAxMDcsIAorICAgIDIyLCAzLCAyNDMsIDEwNCwgMjUwLCAxMDcsIDIyLCAzLCA3NCwgMjUwLCAxMDcsIDIyLCAzLCAyMzIsIDMsIDc0LCAyNTAsIAorICAgIDEwNywgMjIsIDMsIDc2LCAyNTAsIDEwNywgMjIsIDMsIDIzMiwgMywgNzYsIDI1MCwgMTA3LCAyMiwgMywgNzEsIDI1MCwgCisgICAgMTA3LCAyMiwgMywgMTA2LCAzMywgMjE1LCA1MCwgMjE3LCAxOTksIDI1MCwgMTA3LCAxMDcsIDMsIDIyNSwgNzksIDI1MCwgCisgICAgMTA3LCAxMDcsIDMsIDIzOSwgMTU1LCAyNTAsIDEwNywgMjIxLCAyNTIsIDI1MCwgMTA3LCAyMjEsIDI0OCwgMjUwLCAxMDcsIAorICAgIDE2LCAyNDksIDIyMiwgMjI1LCAyMzcsIDIyNywgNjEsIDI1MCwgMTA3LCAxNiwgMjQ5LCAyMjIsIDIyMSwgOCwgMjUwLCAKKyAgICAxMDcsIDE2LCAyNDksIDIyMiwgMjMyLCAxMDEsIDI1MCwgMTA3LCAxNiwgMjQ5LCAyMjIsIDIyMSwgMjUyLCAyMzAsIDEyLCAKKyAgICAxLCAxNzIsIDIzMCwgMTIsIDEsIDIzMSwgNjUsIDIzMCwgMTIsIDEsIDIzMSwgMTY3LCAyMzAsIDEyLCAxLCAyNDAsIDI0NCwgCisgICAgMjMwLCAxMiwgMSwgMjQwLCAzMSwgMjMwLCAxMiwgMSwgMjI1LCA3NywgMjMwLCAxMiwgMSwgMjQ5LCAxLCAyMzAsIDEyLCAxLCAKKyAgICAyNDgsIDExMCwgMjMwLCAxMiwgMSwgMjMyLCAyMDAsIDIzMCwgMTIsIDEsIDIyMywgMTQ0LCAyMzAsIDEyLCAxLCAyMTIsIAorICAgIDIxOSwgMjMwLCAxMiwgMSwgMjEyLCA1NiwgMjMwLCAxMiwgMSwgMjQ2LCAxNDUsIDIzMCwgMTIsIDEsIDE5OSwgMjMwLCAxMiwgCisgICAgMSwgMTc5LCAyMzAsIDEyLCAxLCAyMjAsIDI0MCwgMjMwLCAxMiwgMSwgMjIxLCA5MywgMjMwLCAxMiwgMSwgMjQyLCA3MywgCisgICAgMjMwLCAxMiwgMSwgMjQxLCAxOTgsIDIzMCwgMTIsIDEsIDI1MCwgMTgzLCAyMzAsIDEyLCAxLCAyNDksIDIwMywgMjMwLCAKKyAgICAxMiwgMSwgMTg1LCAyMzAsIDEyLCAxLCAyMjYsIDE4OCwgMjMwLCAxMiwgMSwgMjEwLCAyNDMsIDIzMCwgMTIsIDEsIDIxMCwgCisgICAgMjMzLCAyMzAsIDEyLCAxLCAyNDMsIDE5NiwgMjMwLCAxMiwgMSwgMTkwLCAyMzAsIDEyLCAxLCAyMTksIDExMywgMjMwLCAKKyAgICAxMiwgMSwgMjMwLCAxNDEsIDIzMCwgMTIsIDEsIDE1NSwgMjMwLCAxMiwgMSwgMjM4LCAyMzcsIDIzMCwgMTIsIDEsIDIwOSwgCisgICAgNzAsIDIzMCwgMTIsIDEsIDIxNywgMTk5LCAyMzAsIDEyLCAxLCAyMTYsIDIsIDIzMCwgMTIsIDEsIDIwNywgOTYsIDIzMCwgCisgICAgMTIsIDEsIDYyLCAyMzAsIDEyLCAyMTMsIDE5MSwgMSwgMTkwLCAyMzAsIDEyLCAyMTMsIDE5MSwgMSwgMjE5LCAxMTMsIAorICAgIDIzMCwgMTIsIDIyLCAzLCAyNTMsIDE2NCwgMjMwLCAxMiwgMjIsIDMsIDc0LCAyMzAsIDEyLCAyMiwgMywgNzYsIDIzMCwgCisgICAgMTIsIDIyLCAzLCAyMjIsIDE1MiwgMjMwLCAxMiwgMjIsIDMsIDcxLCAyMzAsIDEyLCAyMiwgMywgMjA5LCAxNjIsIDIzMCwgCisgICAgMTIsIDIyLCAzLCA3NSwgMjMwLCAxMiwgMTA3LCAzLCAyMzIsIDc2LCAyMzAsIDEyLCAxMDcsIDMsIDIyOSwgMjgsIDIzMCwgCisgICAgMTIsIDEwNywgMywgMTQ5LCAyMzAsIDEyLCAxMDcsIDMsIDIyNiwgMzMsIDIzMCwgMTIsIDEwNywgMywgMjIyLCA2NywgMjMwLCAKKyAgICAxMiwgMTA3LCAzLCAxMzcsIDIzMCwgMTIsIDEwNywgMywgMjEzLCAxMCwgMjMwLCAxMiwgMTA3LCAzLCAyMjMsIDExOCwgCisgICAgMjMwLCAxMiwgMTA3LCAzLCAyMzIsIDIzLCAyMzAsIDEyLCAzLCAyMTksIDc0LCAyMzAsIDEyLCAzLCAyMjMsIDE4NCwgMjMwLCAKKyAgICAxMiwgMjIwLCA3MiwgMjEyLCAyMTcsIDIzMCwgMTIsIDIyMCwgNzIsIDIyMywgMTI5LCAyMTEsIDIxNCwgMjEyLCAyMTcsIAorICAgIDIzMCwgMTIsIDIyMCwgNzIsIDI0OCwgMTE3LCAyMzAsIDEyLCAyMjAsIDcyLCAyMTAsIDIyNSwgMjQ4LCAxMTcsIDIzMCwgCisgICAgMTIsIDIyMCwgNzIsIDIxMCwgMjI0LCAyMzAsIDEyLCAxOCwgMjA1LCA4NSwgMjMwLCAxMiwgMTgsIDEwMiwgMjMwLCAxMiwgCisgICAgMTgsIDEwNSwgMjMwLCAxMiwgMTgsIDE0MiwgMjMwLCAxMiwgMTgsIDEzOSwgMjMwLCAxMiwgMTgsIDE2OCwgMjMwLCAxMiwgCisgICAgMTgsIDE4NCwgMjMwLCAxMiwgMTgsIDE5NSwgMjMwLCAxMiwgMTgsIDE5MywgMjMwLCAxMiwgMTgsIDIwMCwgMjMwLCAxMiwgCisgICAgMSwgMjEwLCAyMDgsIDIzMCwgMTIsIDEsIDIxMCwgMTk2LCAyMzAsIDEyLCAxLCAyNDYsIDU0LCAyMjIsIDE4MSwgMjQ4LCAKKyAgICA1MSwgMTgsIDIwNSwgODUsIDIyMiwgMTgxLCAyNDgsIDUxLCAxOCwgMTAyLCAyMjIsIDE4MSwgMjQ4LCA1MSwgMTgsIDEwNSwgCisgICAgMjIyLCAxODEsIDI0OCwgNTEsIDE4LCAxNDIsIDIyMiwgMTgxLCAyNDgsIDUxLCAxOCwgMTM5LCAyMjIsIDE4MSwgMjQ4LCAKKyAgICA1MSwgMTgsIDE2OCwgMjIyLCAxODEsIDI0OCwgNTEsIDE4LCAxODQsIDIyMiwgMTgxLCAyNDgsIDUxLCAxOCwgMTk1LCAyMjIsIAorICAgIDE4MSwgMjQ4LCA1MSwgMTgsIDE5MywgMjIyLCAxODEsIDI0OCwgNTEsIDE4LCAyMDAsIDIyMiwgMTgxLCAyNDgsIDUxLCAxLCAKKyAgICAyMzAsIDE0MSwgMjIyLCAxODEsIDI0OCwgNTEsIDEsIDI1MSwgMTk5LCAyMjIsIDE4MSwgMjQ4LCA1MSwgMSwgMjUyLCAyMjAsIAorICAgIDIyMiwgMTgxLCAyNDgsIDUxLCAxLCAyNTIsIDExNCwgMjIyLCAxODEsIDI0OCwgNTEsIDEsIDI1MiwgMTgxLCAyMjIsIDE4MSwgCisgICAgMjQ4LCA1MSwgMSwgMjMwLCAxNDAsIDIyMiwgMTgxLCAyNDgsIDUxLCAxLCAyNTMsIDEyNiwgMjIyLCAxODEsIDI0OCwgNTEsIAorICAgIDEsIDI1MywgMTI3LCAyMjIsIDE4MSwgMjQ4LCA1MSwgMSwgMjUzLCAxMjUsIDIyMiwgMTgxLCAyNDgsIDUxLCAxLCAyNTMsIAorICAgIDEyMCwgMjIyLCAxODEsIDI0OCwgNTEsIDEsIDIyOSwgMjM1LCAyMjIsIDE4MSwgMjQ4LCA1MSwgMSwgMjMyLCAyMzQsIDIyMiwgCisgICAgMTgxLCAyNDgsIDUxLCAxLCAyMzMsIDEwMywgMjIyLCAxODEsIDI0OCwgNTEsIDEsIDIzMiwgMjU1LCAyMjIsIDE4MSwgMjQ4LCAKKyAgICA1MSwgMSwgMjMyLCAyNDMsIDIyMiwgMTgxLCAyNDgsIDUxLCAxLCAyMjksIDgxLCAyMjIsIDE4MSwgMjQ4LCA1MSwgMSwgCisgICAgMjEwLCAxMCwgMjIyLCAxODEsIDI0OCwgNTEsIDEsIDIxMCwgOCwgMjIyLCAxODEsIDI0OCwgNTEsIDEsIDIwOSwgMjExLCAKKyAgICAyMjIsIDE4MSwgMjQ4LCA1MSwgMSwgMjA5LCAxNTQsIDIyMiwgMTgxLCAyNDgsIDUxLCAxLCAyMzAsIDU4LCAyMjIsIDE4MSwgCisgICAgMjQ4LCA1MSwgMSwgMjQyLCAyNTMsIDIyMiwgMTgxLCAyNDgsIDUxLCAxLCAyNDMsIDEwNywgMjIyLCAxODEsIDI0OCwgNTEsIAorICAgIDEsIDI0MywgNDEsIDIyMiwgMTgxLCAyNDgsIDUxLCAxLCAyNDIsIDIyOSwgMjIyLCAxODEsIDI0OCwgNTEsIDEsIDIyOSwgCisgICAgMTQ0LCAyMjIsIDE4MSwgMjQ4LCA1MSwgMSwgMjIyLCAxMDAsIDIyMiwgMTgxLCAyNDgsIDUxLCAxLCAyMjIsIDIyNiwgMjIyLCAKKyAgICAxODEsIDI0OCwgNTEsIDEsIDIyMiwgODgsIDIyMiwgMTgxLCAyNDgsIDUxLCAxLCAyMjIsIDE5NCwgMjIyLCAxODEsIDI0OCwgCisgICAgNTEsIDIyNiwgMTE1LCAyMTAsIDE3MywgMjIyLCAxODEsIDI0OCwgNTEsIDI0MCwgMjM5LCAyMTAsIDE3NCwgMjIyLCAxODEsIAorICAgIDI0OCwgNTEsIDIyNiwgMTEzLCAyMTAsIDE3NCwgMjIyLCAxODEsIDI0OCwgNTEsIDIxOSwgMTIsIDIyMiwgMTgxLCAyNDgsIAorICAgIDUxLCAyMjEsIDkxLCAyMjIsIDE4MSwgMjQ4LCA1MSwgMjUyLCAyMTIsIDIyMiwgMTgxLCAyNDgsIDUxLCAyMjAsIDcyLCAKKyAgICAyMjYsIDEwOSwgMjIyLCAxODEsIDI0OCwgNTEsIDIyMCwgNzIsIDUwLCAyMjYsIDEwOSwgMjEzLCAxNTMsIDIyMCwgNzIsIAorICAgIDI0OSwgMjIyLCAyMTMsIDEyNCwgMjEzLCAxNTMsIDIyMCwgNzIsIDI0OSwgMjIyLCAyMjEsIDI1MywgMjEzLCAxNTMsIDIyMCwgCisgICAgNzIsIDI0OSwgMjIyLCAyMjAsIDYwLCAyMTMsIDE1MywgMjIwLCA3MiwgMjQ5LCAyMjIsIDI0OCwgMjQyLCAyMTMsIDE1MywgCisgICAgMjIwLCA3MiwgMjQ5LCAyMjIsIDIzMCwgMywgMjE3LCAxMzIsIDIxMywgMTUzLCAyMjAsIDcyLCAyNDksIDIyMiwgMjMyLCAKKyAgICA2NiwgMjE3LCAxMzIsIDIxMywgMTUzLCAyMjAsIDcyLCAyNDksIDIyMiwgMjQ2LCAxNDYsIDIxNywgMTMyLCAyMTMsIDE1MywgCisgICAgMjIwLCA3MiwgMjQ5LCAyMjIsIDI1MCwgMTg0LCAyMTcsIDEzMiwgMjA5LCAzNiwgMTM1LCAyMzIsIDEsIDIwOSwgMzYsIAorICAgIDEzNSwgMjE1LCAyMjksIDIwOSwgMzYsIDEzNSwgMjIwLCAxMzUsIDIwOSwgMzYsIDMsIDIyNCwgMjA2LCAyMDksIDM2LCAzLCAKKyAgICAyMDYsIDg2LCAyMjYsIDI0NSwgMjEzLCAxMTUsIDIwOSwgMzYsIDEzNSwgMjA2LCA4NiwgMjUyLCAyMTcsIDIzMywgNTUsIAorICAgIDIxMywgMTE1LCAyMDksIDM2LCAxMzUsIDIwNiwgODYsIDIzMywgNTUsIDIxMywgMTE1LCAyMDksIDM2LCAxMzUsIDIwNiwgCisgICAgODYsIDIzMSwgMjQ1LCAyMzMsIDU1LCAyMTMsIDExNSwgMjA5LCAzNiwgMTM1LCAyNDgsIDIyMCwgNTUsIDIwOSwgMzYsIAorICAgIDEzNSwgMjA2LCA4NiwgMjMxLCAyNDUsIDIzMywgNTUsIDIxMywgMTE2LCAyMTcsIDEwMiwgMjA5LCAzNiwgMTM1LCA1MCwgCisgICAgMjEzLCAxMTUsIDIwOSwgMzYsIDEzNSwgMjExLCAzNiwgMjEzLCAxMTUsIDIwOSwgMzYsIDEzNSwgMjMxLCAyNDUsIDI1MiwgCisgICAgNzUsIDIwOSwgMzYsIDEzNSwgNjcsIDU1LCAyMDksIDM2LCAxMzUsIDExOCwgMTc3LCA1NSwgMjA5LCAzNiwgMTM1LCAxMjksIAorICAgIDE3NywgNTUsIDIwOSwgMzYsIDEzNSwgMjE4LCAxNTUsIDIzMiwgMCwgMjMzLCA1NSwgMjEzLCAxMTUsIDIwOSwgMzYsIDEzNSwgCisgICAgMjUxLCAxOTcsIDIzMywgNTUsIDIxMywgMTE1LCAyMDksIDM2LCAzLCAyMDgsIDE4NCwgMjEzLCAxMTUsIDIwOSwgMzYsIDMsIAorICAgIDIwOCwgMTg0LCAyMTAsIDUsIDIwOSwgMzYsIDMsIDIxOCwgMjI0LCAyMDgsIDE4NCwgMjEwLCA1LCAyMDksIDM2LCAzLCAKKyAgICAyMDgsIDE4NCwgMjUyLCA3NSwgMjA5LCAzNiwgMywgMjE4LCAyMjQsIDIwOCwgMTg0LCAyNTIsIDc1LCAyMDksIDM2LCAzLCAKKyAgICAyMDgsIDE4NCwgMjEwLCA2LCAyLCAyMTIsIDE5MSwgMjA5LCAzNiwgMywgMjA4LCAxODQsIDI1MiwgNzYsIDIsIDIxMiwgCisgICAgMTkxLCAyMDksIDM2LCAzLCAyNTIsIDc0LCAyNTIsIDkwLCAyMDksIDM2LCAzLCAyNTIsIDc0LCAyNTAsIDE1NiwgMjA5LCAKKyAgICAzNiwgMywgMjUyLCA3NCwgMjA5LCA2MSwgMjA5LCAzNiwgMywgMjUyLCA3NCwgMjA5LCA2MiwgMiwgMjEyLCAxOTEsIDIwOSwgCisgICAgMzYsIDMsIDIxMSwgMTU3LCAyMDksIDM2LCAzLCAyMzksIDIzLCAxNTIsIDI1MiwgNzMsIDIwOSwgMzYsIDMsIDE1MiwgMjUyLCAKKyAgICA3MywgMjA5LCAzNiwgMywgMjE4LCA1MiwgMTUyLCAyNTIsIDczLCAyMDksIDM2LCAzLCAyNTIsIDc0LCAyMTAsIDEyLCAyMjYsIAorICAgIDEwMCwgMjA5LCAzNiwgMywgMjUyLCAxNSwgMjA5LCAzNiwgMywgMjE4LCA5NywgMjUyLCAxNSwgMjA5LCAzNiwgMTM1LCAKKyAgICAyNDgsIDIyMCwgNTIsIDIwOSwgMzYsIDMsIDIzMiwgMTU2LCAyMDksIDM2LCAzLCAyMDksIDIwNCwgMjA5LCAzNiwgMTM1LCAKKyAgICAyMTgsIDE0OSwgNTIsIDIwOSwgMzYsIDEzNSwgNTAsIDIxOCwgMTQ5LCA1MiwgNywgMSwgNSwgNiwgNjIsIDcsIDEsIDUsIDYsIAorICAgIDI1MiwgMjQ4LCA3LCA1LCAxLCAyMDEsIDI1MiwgMjQ4LCA3LCAxLCA1LCA2LCAyNTAsIDEyMywgMjUxLCAxNTAsIDcsIDEsIAorICAgIDUsIDYsIDI0OSwgMzQsIDcsIDEsIDUsIDYsIDI0NiwgMjQwLCA3LCAxLCA1LCA2LCAyNDIsIDE5NiwgNywgMSwgNSwgNiwgCisgICAgNzUsIDcsIDUsIDEsIDIwMSwgMjIyLCAxNDIsIDc1LCA3LCA1LCAxLCAyMDEsIDc0LCA3LCAxLCA1LCA2LCAyMzIsIDIwMywgCisgICAgNywgMSwgNSwgNiwgMjMyLCA3NiwgNywgMSwgNSwgNiwgMjMwLCAxNTksIDIsIDkxLCA3LCAxLCA1LCA2LCAyMjksIDI4LCA3LCAKKyAgICAxLCA1LCA2LCAyMTgsIDIyNCwgMjI2LCAzMywgNywgMSwgNSwgNiwgNzYsIDcsIDEsIDUsIDYsIDIyMiwgMTQyLCA3NiwgNywgCisgICAgNSwgMSwgMjE1LCA3MywgNzYsIDcsIDUsIDEsIDIxNSwgNzMsIDIyMiwgMTQyLCA3NiwgNywgNSwgMSwgMjE1LCA3MywgMTQ4LCAKKyAgICAyLCA5MSwgNywgNSwgMSwgMjAxLCAyMjIsIDIwNiwgNywgMSwgNSwgNiwgMjIyLCA5NywgNywgNSwgMSwgMjExLCAxMDIsIAorICAgIDE2MCwgNzYsIDcsIDUsIDEsIDI0OSwgMTU0LCAxNjAsIDc2LCA3LCAxLCA1LCA2LCAyMjIsIDY3LCA3LCAxLCA1LCA2LCAKKyAgICAyMTgsIDIyNCwgMTM3LCA3LCAxLCA1LCA2LCAyMDEsIDEzNywgNywgMSwgNSwgNiwgMjEzLCAxMCwgNywgMSwgNSwgNiwgNzEsIAorICAgIDcsIDUsIDEsIDIxNSwgNzMsIDcxLCA3LCA1LCAxLCAyMTUsIDczLCAyNDUsIDE2NCwgNzEsIDcsIDUsIDEsIDIxNSwgNzMsIAorICAgIDIwMSwgMjI5LCAyOCwgNywgMSwgNSwgNiwgMjA5LCAxNDgsIDcsIDEsIDUsIDYsIDIwNywgMTI5LCA3LCAxLCA1LCA2LCAKKyAgICAyMDUsIDE1OSwgNywgMSwgNSwgNiwgMjQyLCAxNDEsIDcsIDEsIDIwOCwgMTcwLCAyMzAsIDgzLCAyMTQsIDEyNiwgNywgMSwgCisgICAgMjUyLCAyMDAsIDI3LCAxLCA1LCA2LCAyNDAsIDIxNSwgMjcsIDEsIDUsIDYsIDIzMCwgMTAyLCAyNywgMSwgNSwgNiwgMjIxLCAKKyAgICA1MywgMjcsIDEsIDUsIDYsIDIxOCwgMjEwLCAyNywgMSwgNSwgNiwgMjIwLCA5MywgMzQsIDEsIDUsIDYsIDI0MywgNjgsIAorICAgIDY1LCAxLCA2LCA2MiwgNjUsIDEsIDYsIDI1MiwgMjQ4LCA2NSwgMSwgNiwgMjUxLCAxNTAsIDY1LCAxLCA2LCAyNTAsIDEyMywgCisgICAgMjUxLCAxNTAsIDY1LCAxLCA2LCAyNDYsIDI0MCwgNjUsIDEsIDYsIDc1LCA2NSwgMSwgNiwgMjE4LCAyMjQsIDc1LCA2NSwgCisgICAgMSwgNiwgMjQxLCA1NSwgNjUsIDEsIDYsIDIzOSwgMTU1LCA2NSwgMSwgNiwgNzQsIDY1LCAxLCA2LCAyMzIsIDIwMywgNjUsIAorICAgIDEsIDYsIDIzMiwgNzYsIDY1LCAxLCA2LCAxNDksIDY1LCAxLCA2LCAyMjksIDI4LCA2NSwgMSwgNiwgMjI2LCAzMywgNjUsIAorICAgIDEsIDYsIDIxOCwgMjI0LCAyMjYsIDMzLCA2NSwgMSwgNiwgNzYsIDY1LCAxLCA2LCAyMjIsIDk3LCA2NSwgMSwgNiwgMjIyLCAKKyAgICA2NywgNjUsIDEsIDYsIDEzNywgNjUsIDEsIDYsIDIxMywgMTAsIDY1LCAxLCA2LCA3MSwgNjUsIDEsIDYsIDIwNywgMTI5LCAKKyAgICA2NSwgMSwgNSwgNjIsIDY1LCAxLCA1LCAyMDEsIDYyLCA2NSwgMSwgNSwgMjUyLCAxNDQsIDY1LCAxLCA1LCAyMDEsIDI1MiwgCisgICAgMjQ4LCA2NSwgMSwgNSwgMjUxLCAxNTAsIDY1LCAxLCA1LCAyNDYsIDI0MCwgNjUsIDEsIDUsIDc1LCA2NSwgMSwgNSwgMjE3LCAKKyAgICAxMDAsIDY1LCAxLCA1LCAyMjIsIDE0MiwgNzUsIDY1LCAxLCA1LCAyMDEsIDIyMiwgMTQyLCA3NSwgNjUsIDEsIDUsIDI0MSwgCisgICAgNTUsIDY1LCAxLCA1LCAyMDEsIDc0LCA2NSwgMSwgNSwgMjMyLCA3NiwgNjUsIDEsIDUsIDIyOSwgMjgsIDY1LCAxLCA1LCAKKyAgICAyNDMsIDI4LCA2NSwgMSwgNSwgNzYsIDY1LCAxLCA1LCAyMjIsIDE0MiwgNzYsIDY1LCAxLCA1LCAyMTEsIDEwMiwgMTYwLCAKKyAgICA3NiwgNjUsIDEsIDUsIDI0OSwgMTU0LCAxNjAsIDc2LCA2NSwgMSwgNSwgMjIyLCA2NywgNjUsIDEsIDUsIDIxMywgMTAsIAorICAgIDY1LCAxLCA1LCA3MSwgNjUsIDEsIDUsIDIxNSwgNzMsIDcxLCA2NSwgMSwgNSwgMjAxLCAyMjksIDI4LCA2NSwgMSwgNSwgCisgICAgMjA5LCAxNDgsIDY1LCAxLCA1LCAyNTIsIDIwMCwgNjUsIDEsIDUsIDI1MCwgOCwgNjUsIDEsIDUsIDI3LCAyNDAsIDIxNSwgCisgICAgNjUsIDEsIDUsIDI0NSwgMjI3LCA2NSwgMSwgNSwgMjcsIDIyMSwgNzgsIDY1LCAxLCA1LCAyNDgsIDU4LCA3LCAyMTMsIAorICAgIDE4MywgNSwgMSwgNzQsIDcsIDIxMywgMTgzLCA1LCAxLCAxMzcsIDcsIDIxMywgMTgzLCA1LCAxLCA3MSwgNywgMjEzLCAKKyAgICAxODMsIDUsIDEsIDIwOSwgMTQ4LCAyNywgMjEzLCAxODMsIDUsIDEsIDI1MCwgOCwgMjcsIDIxMywgMTgzLCA1LCAxLCAyNDAsIAorICAgIDIxNSwgMjcsIDIxMywgMTgzLCA1LCAxLCAyMTgsIDIxMCwgMjcsIDIxMywgMTgzLCA1LCAxLCAyMjEsIDc4LCAyNywgMjEzLCAKKyAgICAxODMsIDUsIDEsIDI0OCwgNTgsIDcsIDUsIDEsIDIxMCwgMywgNywgNSwgMSwgNjMsIDIsIDIyNiwgMjQ3LCAyMTEsIDE4MCwgCisgICAgNywgNSwgMSwgMjQ2LCAyNDEsIDIsIDIyNiwgMjQ3LCAyMTEsIDE4MCwgNywgNSwgMSwgMjQyLCAxNDAsIDIsIDIyNiwgMjQ3LCAKKyAgICAyMTEsIDE4MCwgNywgNSwgMSwgMjI5LCAyOSwgMiwgMjI2LCAyNDcsIDIxMSwgMTgwLCA3LCA1LCAxLCAyMjYsIDM0LCAyLCAKKyAgICAyMjYsIDI0NywgMjExLCAxODAsIDcsIDUsIDEsIDIyMiwgNjgsIDIsIDIyNiwgMjQ3LCAyMTEsIDE4MCwgNywgNSwgMSwgCisgICAgMjE5LCAxNTAsIDIsIDIyNiwgMjQ3LCAyMTEsIDE4MCwgNywgNSwgMSwgMjE5LCAxNTAsIDIsIDI0MSwgMjExLCAyMywgMjI2LCAKKyAgICAyNDcsIDIxMSwgMTgwLCA3LCA1LCAxLCAyMTgsIDEsIDIsIDIyNiwgMjQ3LCAyMTEsIDE4MCwgNywgNSwgMSwgMjEzLCAxMSwgCisgICAgMiwgMjI2LCAyNDcsIDIxMSwgMTgwLCA3LCA1LCAxLCAyMDUsIDE2MCwgMiwgMjI2LCAyNDcsIDIxMSwgMTgwLCA3LCA1LCAxLCAKKyAgICAyMDEsIDI0MSwgNTUsIDY1LCAxLCAzNCwgMjQzLCA0MSwgNywgNSwgMSwgMjMzLCAyMywgMjQxLCA1NSwgNywgNSwgMSwgCisgICAgMjEyLCA1OSwgMiwgMjEzLCAyMjksIDcsIDUsIDYsIDEsIDIzNywgMjI1LCAyLCA5MSwgNywgNSwgMSwgMjMyLCAyNTAsIDIsIAorICAgIDkxLCA3LCA1LCAxLCAyMjIsIDY4LCAyLCA5MSwgNywgNSwgNiwgMSwgMTA2LCAyLCA5MSwgNywgNSwgMSwgMjA5LCAyMDEsIAorICAgIDIsIDkxLCA3LCA1LCAxLCA2MywgMiwgMjIyLCAyNiwgMTA5LCA3LCA1LCAxLCAyNDYsIDI0MSwgMiwgMjIyLCAyNiwgMTA5LCAKKyAgICA3LCA1LCAxLCAyNDIsIDE0MCwgMiwgMjIyLCAyNiwgMTA5LCA3LCA1LCAxLCAyNDEsIDU2LCAyLCAyMjIsIDI2LCAxMDksIDcsIAorICAgIDUsIDEsIDIzMiwgNzcsIDIsIDIyMiwgMjYsIDEwOSwgNywgNSwgMSwgMjMwLCAxNTksIDIsIDIyMiwgMjYsIDEwOSwgNywgNSwgCisgICAgMSwgMjI5LCAyOSwgMiwgMjIyLCAyNiwgMTA5LCA3LCA1LCAxLCAyMjYsIDM0LCAyLCAyMjIsIDI2LCAxMDksIDcsIDUsIDEsIAorICAgIDIyMiwgNjgsIDIsIDIyMiwgMjYsIDEwOSwgNywgNSwgMSwgMjE5LCAxNTAsIDIsIDIyMiwgMjYsIDEwOSwgNywgNSwgMSwgCisgICAgMjE4LCAxLCAyLCAyMjIsIDI2LCAxMDksIDcsIDUsIDEsIDI0MiwgMjE2LCAyLCAyMjIsIDI2LCAxMDksIDcsIDUsIDEsIAorICAgIDIwOSwgMTQ5LCAyLCAyMjIsIDI2LCAxMDksIDcsIDUsIDEsIDIwNiwgMTk2LCAyLCAyMjIsIDI2LCAxMDksIDcsIDUsIDEsIAorICAgIDIwNSwgMTYwLCAyLCAyMjIsIDI2LCAxMDksIDcsIDUsIDEsIDMyLCAyLCAyMTgsIDIzMCwgMTA5LCA3LCA1LCAxLCAyNTIsIAorICAgIDE0NSwgMiwgMjE4LCAyMzAsIDEwOSwgNywgNSwgMSwgMjQ2LCAyNDEsIDIsIDIzOCwgMTMwLCAyMywgMjEyLCAxOTEsIDcsIAorICAgIDUsIDEsIDE3NCwgMiwgMjE4LCAyMzAsIDEwOSwgNywgNSwgMSwgMjIyLCAxNDIsIDE3NCwgMiwgMjE4LCAyMzAsIDEwOSwgNywgCisgICAgNSwgMSwgMjE4LCAyMjQsIDIyMiwgMTQyLCAxNzQsIDIsIDIxOCwgMjMwLCAxMDksIDcsIDUsIDEsIDIxNywgMTAxLCAyLCAKKyAgICAyMTgsIDIzMCwgMTA5LCA3LCA1LCAxLCAyMzcsIDIyNSwgMiwgMjE4LCAyMzAsIDEwOSwgNywgNSwgMSwgMjIyLCAxNDIsIAorICAgIDE0OCwgMiwgMjE4LCAyMzAsIDEwOSwgNywgNSwgMSwgMjQyLCAyMTYsIDIsIDIxOCwgMjMwLCAxMDksIDcsIDUsIDEsIDEwNiwgCisgICAgMiwgMjE4LCAyMzAsIDEwOSwgNywgNSwgMSwgMjQyLCAxNDIsIDIsIDIxOCwgMjMwLCAxMDksIDY1LCAxLCA1LCAyMDEsIAorICAgIDI1MiwgMTQ0LCA2NSwgMSwgNSwgMjQ5LCAzNCwgNjUsIDEsIDUsIDI0OSwgMzUsIDIsIDI0NywgMjcsIDY1LCAxLCA1LCAKKyAgICAyNDIsIDE5NiwgNjUsIDEsIDUsIDIxOCwgMjI0LCAyMjIsIDE0MiwgNzUsIDY1LCAxLCA1LCAyNDIsIDEzOSwgNjUsIDEsIDUsIAorICAgIDI0NSwgMjIsIDIzMiwgMjA0LCAyLCA5MSwgNjUsIDEsIDUsIDEyMSwgMjQxLCA1NSwgNjUsIDEsIDUsIDIwMSwgMjM5LCAKKyAgICAxNTUsIDY1LCAxLCA1LCAyMzcsIDIyNSwgMiwgOTEsIDY1LCAxLCA1LCAyMzIsIDI0OSwgNjUsIDEsIDUsIDYsIDc0LCA2NSwgCisgICAgMSwgNSwgNiwgMjM3LCAyMjUsIDIsIDkxLCA2NSwgMSwgNSwgMjMyLCAyMDQsIDIsIDI0NywgNTYsIDY1LCAxLCA1LCAyMzAsIAorICAgIDE1OSwgMiwgMjE4LCAyMzAsIDEwOSwgNjUsIDEsIDUsIDIzMCwgMTU5LCAyLCAyMjIsIDI2LCAxMDksIDY1LCAxLCA1LCA2LCAKKyAgICAxNDksIDY1LCAxLCA1LCAyMjksIDI5LCAyLCAxMDksIDY1LCAxLCA1LCAyMDEsIDIyOSwgMjksIDIsIDE1MiwgMjMwLCAzNCwgCisgICAgNjUsIDEsIDUsIDIyNiwgMzQsIDIsIDQ3LCAxMDksIDY1LCAxLCA1LCAyMjYsIDM0LCAyLCAyMTgsIDIzMCwgMTA5LCA2NSwgCisgICAgMSwgNSwgNiwgMjI2LCAzMywgNjUsIDEsIDUsIDI1MCwgMTIzLCA3NiwgNjUsIDEsIDUsIDIyMSwgNzgsIDY1LCAxLCA1LCAKKyAgICAyMTgsIDEsIDIsIDEwOSwgNjUsIDEsIDUsIDI0MiwgMjE1LCA2NSwgMSwgNSwgMjEzLCAxMSwgMiwgMjIyLCAyNiwgMTA5LCAKKyAgICA2NSwgMSwgNSwgMTA2LCAxMzQsIDY1LCAxLCA1LCAyMDksIDIwMCwgNjUsIDEsIDUsIDYsIDcxLCA2NSwgMSwgNSwgMjA5LCAKKyAgICAxNDksIDIsIDEwOSwgNjUsIDEsIDUsIDIwMSwgMjA5LCAxNDgsIDY1LCAxLCA1LCAyMDUsIDE1OSwgNjUsIDEsIDUsIDIwNSwgCisgICAgMTYwLCAyLCAyMTgsIDIzMCwgMTA5LCA2NSwgMSwgNSwgMjA1LCAxNjAsIDIsIDI0NywgMjcsIDY1LCAxLCA1LCAyNDIsIAorICAgIDE0MSwgNjUsIDEsIDUsIDIxMiwgMjMsIDM2LCAyNDQsIDIxLCAyMzksIDIzNywgMjUzLCAyMSwgMzYsIDI0NCwgMjEsIDI1MywgCisgICAgOSwgMjUzLCAyMSwgMzYsIDIxNCwgMjA1LCA1NSwgMzYsIDIxMywgMTIyLCA4MywgMzYsIDIyOCwgMTIsIDM2LCAyMzksIAorICAgIDIzNCwgMzYsIDIyOCwgMTAsIDM2LCAyNTMsIDcsIDM2LCAyMzksIDIzNSwgMzYsIDI1MywgOCwgMzYsIDcsIDUsIDEsIDIxOSwgCisgICAgMTUwLCA1NSwgMzYsIDI0OSwgMTIxLCAzNiwgMjI4LCAxMSwgMzYsIDUwLCAyNDcsIDIyOCwgNTIsIDM2LCAyMjIsIDE5NywgCisgICAgNTIsIDM2LCAyMDUsIDMxLCA1NSwgMzYsIDIzMiwgMjM1LCA1NSwgMzYsIDIwOSwgMTk1LCA1MiwgMzYsIDIwOSwgMTc4LCAKKyAgICA1MiwgMzYsIDcsIDUsIDEsIDI0MSwgMTg1LCAyMjIsIDE0MiwgMzIsIDUyLCAzNiwgNywgNSwgMSwgMjUyLCAyNDgsIDM2LCAKKyAgICA3LCA1LCAxLCAyNTIsIDcxLCAzNiwgNywgNSwgMSwgMjUxLCAxNjgsIDM2LCA3LCA1LCAxLCAyNDksIDM1LCAyNDgsIDE0MSwgCisgICAgMzYsIDcsIDUsIDEsIDIzMywgMjMsIDI0NiwgMjQwLCAzNiwgNywgNSwgMSwgMjQyLCAxOTYsIDM2LCA3LCA1LCAxLCAyNDEsIAorICAgIDU1LCAzNiwgNywgMSwgNSwgNiwgMjQxLCA1NSwgMzYsIDcsIDUsIDEsIDIzMiwgNzYsIDM2LCA3LCA1LCAxLCAxNDksIDM2LCAKKyAgICA3LCAxLCA1LCA2LCAxNDksIDM2LCA3LCAxLCA1LCA2LCAyMjksIDI4LCAzNiwgNywgNSwgMSwgMjI2LCAzMywgMzYsIDcsIDEsIAorICAgIDUsIDYsIDIyNiwgMzMsIDM2LCA3LCAxLCA1LCA2LCAxMzcsIDM2LCA3LCA1LCAxLCAyMTksIDE1MCwgMjE4LCA5NiwgMzYsIAorICAgIDcsIDUsIDEsIDE4MiwgMzYsIDcsIDUsIDEsIDE1MiwgMTgyLCAzNiwgNywgNSwgMSwgMjA1LCAxNTksIDM2LCA3LCA1LCAxLCAKKyAgICAyNTIsIDE0NCwgMzYsIDcsIDUsIDEsIDI1MSwgMTUwLCAzNiwgNywgNSwgMSwgMjUwLCA4LCAzNiwgNywgNSwgMSwgMjE3LCAKKyAgICAxMDAsIDM2LCA3LCA1LCAxLCAyNDIsIDEzOSwgMzYsIDcsIDUsIDEsIDIzMCwgMTU5LCAyLCA1MCwgMjI2LCAyNDcsIDIxMSwgCisgICAgMTgwLCAzNiwgNywgNSwgMSwgMTQ4LCAyLCAxNDcsIDI0OCwgMTMwLCA5MSwgMzYsIDcsIDUsIDEsIDIyMiwgNjcsIDM2LCA3LCAKKyAgICA1LCAxLCAyNDIsIDIxNSwgMzYsIDcsIDUsIDEsIDEwNiwgMiwgMTQ3LCAyNDgsIDEzMCwgOTEsIDM2LCA3LCA1LCAxLCAyMDcsIAorICAgIDEyOSwgMzYsIDcsIDUsIDEsIDMyLCAyLCAyNDUsIDE2NiwgMzYsIDcsIDUsIDEsIDE0OCwgMiwgMjQ1LCAxNjYsIDM2LCA3LCAKKyAgICA1LCAxLCAxMDYsIDIsIDI0NSwgMTY2LCAzNiwgMTIwLCAyMTIsIDIwMiwgNTIsIDM2LCA1MCwgMjMzLCAyLCAyNDksIDEyMywgCisgICAgNTUsIDM2LCAyNTIsIDE0OSwgMTQ2LCAyMTEsIDEzMCwgNTUsIDM2LCA0NywgMjUxLCAyNDQsIDUyLCAzNiwgNDgsIDI1MSwgCisgICAgMjQ0LCAyMywgMTMwLCAyNTEsIDI0NCwgNTUsIDcsIDYsIDEsIDMyLCAyLCAyMTgsIDE0OSwgNTUsIDcsIDUsIDEsIDMyLCAyLCAKKyAgICAyMTgsIDE0OSwgNTUsIDcsIDYsIDEsIDYzLCAyLCA2NywgNTIsIDcsIDUsIDEsIDYzLCAyLCA2NywgNTIsIDcsIDYsIDEsIAorICAgIDYzLCAyLCA2NywgNTUsIDcsIDUsIDEsIDYzLCAyLCA2NywgNTUsIDcsIDYsIDEsIDYzLCAyLCAyMjksIDIwNiwgNTUsIDcsIAorICAgIDUsIDEsIDYzLCAyLCAyMjksIDIwNiwgNTUsIDcsIDYsIDEsIDI0OSwgMzUsIDIsIDI0OCwgMTQyLCAyMywgMTUzLCA3LCA1LCAKKyAgICAxLCAyNDksIDM1LCAyLCAyNDgsIDE0MiwgMjMsIDE1MywgNywgNiwgMSwgMjQ2LCAyNDEsIDIsIDY3LCA1MiwgNywgNSwgMSwgCisgICAgMjQ2LCAyNDEsIDIsIDY3LCA1MiwgNywgNiwgMSwgMjQ2LCAyNDEsIDIsIDY3LCA1NSwgNywgNSwgMSwgMjQ2LCAyNDEsIDIsIAorICAgIDY3LCA1NSwgNywgNiwgMSwgMjQ2LCAyNDEsIDIsIDIyOSwgMjA2LCA1NSwgNywgNSwgMSwgMjQ2LCAyNDEsIDIsIDIyOSwgCisgICAgMjA2LCA1NSwgNywgNiwgMSwgMjQ2LCAyNDEsIDIsIDI0OCwgMTQxLCA3LCA1LCAxLCAyNDYsIDI0MSwgMiwgMjQ4LCAxNDEsIAorICAgIDcsIDYsIDEsIDI0NiwgMjQxLCAyLCAyNDcsIDIyOCwgNTUsIDcsIDUsIDEsIDI0NiwgMjQxLCAyLCAyNDcsIDIyOCwgNTUsIAorICAgIDcsIDYsIDEsIDE3NCwgMiwgMjI4LCAxNCwgMjMsIDIzOSwgMjM2LCA3LCA1LCAxLCAxNzQsIDIsIDIyOCwgMTQsIDIzLCAKKyAgICAyMzksIDIzNiwgNywgNiwgMSwgMTc0LCAyLCAyMjgsIDE0LCAyMywgMTUzLCA3LCA1LCAxLCAxNzQsIDIsIDIyOCwgMTQsIAorICAgIDIzLCAxNTMsIDcsIDYsIDEsIDE3NCwgMiwgMjQ3LCAyMjgsIDU1LCA3LCA1LCAxLCAxNzQsIDIsIDI0NywgMjI4LCA1NSwgNywgCisgICAgNiwgMSwgMTc0LCAyLCAyMTEsIDE4MSwgNTUsIDcsIDUsIDEsIDE3NCwgMiwgMjExLCAxODEsIDU1LCA3LCA2LCAxLCAxNzQsIAorICAgIDIsIDI0OCwgMTQyLCAyMywgMjQ5LCAxMjIsIDcsIDUsIDEsIDE3NCwgMiwgMjQ4LCAxNDIsIDIzLCAyNDksIDEyMiwgNywgNiwgCisgICAgMSwgMjQyLCAxNDAsIDIsIDY3LCA1MiwgNywgNSwgMSwgMjQyLCAxNDAsIDIsIDY3LCA1MiwgNywgNiwgMSwgMjQxLCA1NiwgCisgICAgMiwgMjI4LCAxMywgNywgNSwgMSwgMjQxLCA1NiwgMiwgMjI4LCAxMywgNywgNiwgMSwgMjM5LCAxNTYsIDIsIDY3LCA1MiwgCisgICAgNywgNSwgMSwgMjM5LCAxNTYsIDIsIDY3LCA1MiwgNywgNiwgMSwgMjM5LCAxNTYsIDIsIDY3LCA1NSwgNywgNSwgMSwgMjM5LCAKKyAgICAxNTYsIDIsIDY3LCA1NSwgNywgNiwgMSwgMjM5LCAxNTYsIDIsIDI0NSwgMTY2LCA3LCA1LCAxLCAyMzksIDE1NiwgMiwgCisgICAgMjQ1LCAxNjYsIDcsIDYsIDEsIDIzOSwgMTU2LCAyLCAyNDgsIDE0MSwgNywgNSwgMSwgMjM5LCAxNTYsIDIsIDI0OCwgMTQxLCAKKyAgICA3LCA2LCAxLCAyMzksIDE1NiwgMiwgMjQ5LCAxMjMsIDU1LCA3LCA1LCAxLCAyMzksIDE1NiwgMiwgMjQ5LCAxMjMsIDU1LCAKKyAgICA3LCA2LCAxLCAyMzcsIDIyNSwgMiwgMjExLCAxODEsIDU1LCA3LCA1LCAxLCAyMzcsIDIyNSwgMiwgMjExLCAxODEsIDU1LCAKKyAgICA3LCA2LCAxLCAyMzcsIDIyNSwgMiwgMjQ1LCAxNjcsIDIzLCAxNTMsIDcsIDUsIDEsIDIzNywgMjI1LCAyLCAyNDUsIDE2NywgCisgICAgMjMsIDE1MywgNywgNiwgMSwgMjMyLCA3NywgMiwgMTUzLCA3LCA1LCAxLCAyMzIsIDc3LCAyLCAxNTMsIDcsIDYsIDEsIAorICAgIDIzMiwgNzcsIDIsIDY3LCA1NSwgNywgNSwgMSwgMjMyLCA3NywgMiwgNjcsIDU1LCA3LCA2LCAxLCAyMzIsIDc3LCAyLCAKKyAgICAyMjksIDIwNiwgNTUsIDcsIDUsIDEsIDIzMiwgNzcsIDIsIDIyOSwgMjA2LCA1NSwgNywgNiwgMSwgMjMwLCAxNTksIDIsIAorICAgIDY3LCA1NSwgNywgNSwgMSwgMjMwLCAxNTksIDIsIDY3LCA1NSwgNywgNiwgMSwgMjMwLCAxNTksIDIsIDY3LCAyNTAsIDI2LCAKKyAgICAyMywgMjI4LCAxMywgNywgNSwgMSwgMjMwLCAxNTksIDIsIDY3LCAyNTAsIDI2LCAyMywgMjI4LCAxMywgNywgNiwgMSwgCisgICAgMjMwLCAxNTksIDIsIDIyOSwgMjA2LCA1NSwgNywgNSwgMSwgMjMwLCAxNTksIDIsIDIyOSwgMjA2LCA1NSwgNywgNiwgMSwgCisgICAgMjMwLCAxNTksIDIsIDI0NywgMjI4LCA1NSwgNywgNSwgMSwgMjMwLCAxNTksIDIsIDI0NywgMjI4LCA1NSwgNywgNiwgMSwgCisgICAgMjI5LCAyOSwgMiwgMTUzLCA3LCA1LCAxLCAyMjksIDI5LCAyLCAxNTMsIDcsIDYsIDEsIDIyOSwgMjksIDIsIDY3LCA1MiwgCisgICAgNywgNSwgMSwgMjI5LCAyOSwgMiwgNjcsIDUyLCA3LCA2LCAxLCAyMjksIDI5LCAyLCA2NywgNTUsIDcsIDUsIDEsIDIyOSwgCisgICAgMjksIDIsIDY3LCA1NSwgNywgNiwgMSwgMjI2LCAzNCwgMiwgNjcsIDUyLCA3LCA1LCAxLCAyMjYsIDM0LCAyLCA2NywgNTIsIAorICAgIDcsIDYsIDEsIDIyNiwgMzQsIDIsIDY3LCA1NSwgNywgNSwgMSwgMjI2LCAzNCwgMiwgNjcsIDU1LCA3LCA2LCAxLCAyMjYsIAorICAgIDM0LCAyLCAyMjksIDIwNiwgNTUsIDcsIDUsIDEsIDIyNiwgMzQsIDIsIDIyOSwgMjA2LCA1NSwgNywgNiwgMSwgMjI2LCAzNCwgCisgICAgMiwgMjQ3LCAyMjgsIDU1LCA3LCA1LCAxLCAyMjYsIDM0LCAyLCAyNDcsIDIyOCwgNTUsIDcsIDYsIDEsIDE0OCwgMiwgMjExLCAKKyAgICAxODEsIDIzLCAxNTMsIDcsIDUsIDEsIDE0OCwgMiwgMjExLCAxODEsIDIzLCAxNTMsIDcsIDYsIDEsIDE0OCwgMiwgMjExLCAKKyAgICAxODEsIDIzLCAyNDUsIDE2NiwgNywgNSwgMSwgMTQ4LCAyLCAyMTEsIDE4MSwgMjMsIDI0NSwgMTY2LCA3LCA2LCAxLCAxNDgsIAorICAgIDIsIDIyOCwgMTQsIDIzLCAyMzksIDIzNiwgNywgNSwgMSwgMTQ4LCAyLCAyMjgsIDE0LCAyMywgMjM5LCAyMzYsIDcsIDYsIAorICAgIDEsIDE0OCwgMiwgMjI4LCAxNCwgMjMsIDE1MywgNywgNSwgMSwgMTQ4LCAyLCAyMjgsIDE0LCAyMywgMTUzLCA3LCA2LCAxLCAKKyAgICAyMjIsIDY4LCAyLCAxNTMsIDcsIDUsIDEsIDIyMiwgNjgsIDIsIDE1MywgNywgNiwgMSwgMjIyLCA2OCwgMiwgNjcsIDUyLCAKKyAgICA3LCA1LCAxLCAyMjIsIDY4LCAyLCA2NywgNTIsIDcsIDYsIDEsIDIxOSwgMTUwLCAyLCA2NywgNTIsIDcsIDUsIDEsIDIxOSwgCisgICAgMTUwLCAyLCA2NywgNTIsIDcsIDYsIDEsIDIxOSwgMTUwLCAyLCA2NywgNTUsIDcsIDUsIDEsIDIxOSwgMTUwLCAyLCA2NywgCisgICAgNTUsIDcsIDYsIDEsIDIxOSwgMTUwLCAyLCA2NywgMjUwLCAyNiwgMjMsIDIyOCwgMTMsIDcsIDUsIDEsIDIxOSwgMTUwLCAyLCAKKyAgICA2NywgMjUwLCAyNiwgMjMsIDIyOCwgMTMsIDcsIDYsIDEsIDIxOSwgMTUwLCAyLCAyMjksIDIwNiwgNTUsIDcsIDUsIDEsIAorICAgIDIxOSwgMTUwLCAyLCAyMjksIDIwNiwgNTUsIDcsIDYsIDEsIDIxOCwgMSwgMiwgNjcsIDUyLCA3LCA1LCAxLCAyMTgsIDEsIAorICAgIDIsIDY3LCA1MiwgNywgNiwgMSwgMjE4LCAxLCAyLCA2NywgNTUsIDcsIDUsIDEsIDIxOCwgMSwgMiwgNjcsIDU1LCA3LCA2LCAKKyAgICAxLCAyMTgsIDEsIDIsIDI1MywgOSwgMjMsIDY3LCA1MiwgNywgNSwgMSwgMjE4LCAxLCAyLCAyNTMsIDksIDIzLCA2NywgNTIsIAorICAgIDcsIDYsIDEsIDIxOCwgMSwgMiwgMjQ4LCAxOTYsIDIzLCA2NywgNTIsIDcsIDUsIDEsIDIxOCwgMSwgMiwgMjQ4LCAxOTYsIAorICAgIDIzLCA2NywgNTIsIDcsIDYsIDEsIDIxOCwgMSwgMiwgNjcsIDI1MCwgMjYsIDIzLCA2NywgNTIsIDcsIDUsIDEsIDIxOCwgMSwgCisgICAgMiwgNjcsIDI1MCwgMjYsIDIzLCA2NywgNTIsIDcsIDYsIDEsIDIxMywgMTEsIDIsIDY3LCA1MiwgNywgNSwgMSwgMjEzLCAKKyAgICAxMSwgMiwgNjcsIDUyLCA3LCA2LCAxLCAyMTMsIDExLCAyLCA2NywgNTUsIDcsIDUsIDEsIDIxMywgMTEsIDIsIDY3LCA1NSwgCisgICAgNywgNiwgMSwgMjEzLCAxMSwgMiwgMjI5LCAyMDYsIDU1LCA3LCA1LCAxLCAyMTMsIDExLCAyLCAyMjksIDIwNiwgNTUsIDcsIAorICAgIDYsIDEsIDIxMywgMTEsIDIsIDI0NywgMjI4LCA1NSwgNywgNSwgMSwgMjEzLCAxMSwgMiwgMjQ3LCAyMjgsIDU1LCA3LCA2LCAKKyAgICAxLCAxMDYsIDIsIDI0NSwgMTY3LCA1NSwgNywgNSwgMSwgMTA2LCAyLCAyNDUsIDE2NywgNTUsIDcsIDYsIDEsIDEwNiwgMiwgCisgICAgMjExLCAxODEsIDU1LCA3LCA1LCAxLCAxMDYsIDIsIDIxMSwgMTgxLCA1NSwgNywgNiwgMSwgMTA2LCAyLCAyNDcsIDIyOCwgCisgICAgNTUsIDcsIDUsIDEsIDEwNiwgMiwgMjQ3LCAyMjgsIDU1LCA3LCA2LCAxLCAxMDYsIDIsIDIxMSwgMTgxLCAyMywgMTUzLCA3LCAKKyAgICA1LCAxLCAxMDYsIDIsIDIxMSwgMTgxLCAyMywgMTUzLCA3LCA2LCAxLCAxMDYsIDIsIDIyOCwgMTQsIDIzLCAyNDUsIDE2NiwgCisgICAgNywgNSwgMSwgMTA2LCAyLCAyMjgsIDE0LCAyMywgMjQ1LCAxNjYsIDcsIDYsIDEsIDIwOSwgMTQ5LCAyLCAyMTEsIDE4MCwgCisgICAgNywgNSwgMSwgMjA5LCAxNDksIDIsIDIxMSwgMTgwLCA3LCA2LCAxLCAyMDksIDE0OSwgMiwgNjcsIDU1LCA3LCA1LCAxLCAKKyAgICAyMDksIDE0OSwgMiwgNjcsIDU1LCA3LCA2LCAxLCAyMDcsIDEzMCwgMiwgMjM5LCAyMzYsIDcsIDUsIDEsIDIwNywgMTMwLCAKKyAgICAyLCAyMzksIDIzNiwgNywgNiwgMSwgMjA3LCAxMzAsIDIsIDE1MywgNywgNSwgMSwgMjA3LCAxMzAsIDIsIDE1MywgNywgNiwgCisgICAgMSwgMjA3LCAxMzAsIDIsIDI0NSwgMTY2LCA3LCA1LCAxLCAyMDcsIDEzMCwgMiwgMjQ1LCAxNjYsIDcsIDYsIDEsIDIwNywgCisgICAgMTMwLCAyLCA2NywgNTIsIDcsIDUsIDEsIDIwNywgMTMwLCAyLCA2NywgNTIsIDcsIDYsIDEsIDIwNywgMTMwLCAyLCA2NywgCisgICAgNTUsIDcsIDUsIDEsIDIwNywgMTMwLCAyLCA2NywgNTUsIDcsIDYsIDEsIDIwNiwgMTk2LCAyLCA2NywgNTIsIDcsIDUsIDEsIAorICAgIDIwNiwgMTk2LCAyLCA2NywgNTIsIDcsIDYsIDEsIDIwNiwgMTk2LCAyLCAyNDUsIDE2NiwgNywgNSwgMSwgMjA2LCAxOTYsIAorICAgIDIsIDI0NSwgMTY2LCA3LCA2LCAxLCAyMDYsIDEyNCwgMiwgNjcsIDUyLCA3LCA1LCAxLCAyMDYsIDEyNCwgMiwgNjcsIDUyLCAKKyAgICA3LCA2LCAxLCAyMDUsIDE2MCwgMiwgMjQ3LCAyMjcsIDcsIDUsIDEsIDIwNSwgMTYwLCAyLCAyNDcsIDIyNywgNywgNiwgMSwgCisgICAgMjA1LCAxNjAsIDIsIDY3LCA1NSwgNywgNSwgMSwgMjA1LCAxNjAsIDIsIDY3LCA1NSwgNywgNiwgMSwgMjA1LCAxNjAsIDIsIAorICAgIDIyOSwgMjA2LCA1NSwgNywgNSwgMSwgMjA1LCAxNjAsIDIsIDIyOSwgMjA2LCA1NSwgNywgNSwgMSwgMjM5LCAxNTYsIDIsIAorICAgIDIyOSwgMjA2LCA1NSwgNywgNSwgMSwgMjEzLCAxMSwgMiwgMjQ1LCAxNjYsIDcsIDUsIDEsIDIwNywgMTMwLCAyLCAyMTgsIAorICAgIDE0OSwgNTIsIDcsIDUsIDEsIDIwNiwgMTI0LCAyLCAyMTgsIDE0OSwgNTIsIDcsIDUsIDEsIDMyLCAyLCA0OCwgMTYwLCAKKyAgICAyMTgsIDE0OCwgNywgNSwgMSwgMTUyLCAyMTgsIDEsIDIsIDY3LCA1MiwgNywgNSwgMSwgMTUyLCAyMTgsIDEsIDIsIDI0NSwgCisgICAgMTYzLCA5MSwgNywgNSwgMSwgMTUyLCAyMTgsIDEsIDIsIDEyNywgOTEsIDcsIDYsIDEsIDIxNSwgMjI4LCAxODIsIDcsIDUsIAorICAgIDEsIDI0NSwgMjI3LCA3LCA2LCAxLCAzMiwgMiwgNjcsIDU1LCA3LCA1LCAxLCAzMiwgMiwgNjcsIDU1LCA3LCA2LCAxLCAzMiwgCisgICAgMiwgMjM4LCAxMzAsIDUyLCA3LCA1LCAxLCAzMiwgMiwgMjM4LCAxMzAsIDUyLCA3LCA2LCAxLCAzMiwgMiwgMjQ3LCAyMjgsIAorICAgIDIzLCAxNTMsIDcsIDUsIDEsIDMyLCAyLCAyNDcsIDIyOCwgMjMsIDE1MywgNywgNiwgMSwgMzIsIDIsIDI0NywgMjI4LCAyMywgCisgICAgMjM5LCAyMzYsIDcsIDUsIDEsIDMyLCAyLCAyNDcsIDIyOCwgMjMsIDIzOSwgMjM2LCA3LCA2LCAxLCAzMiwgMiwgMjQ3LCAKKyAgICAyMjgsIDIzLCAyMzgsIDEzMCwgNTIsIDcsIDUsIDEsIDMyLCAyLCAyNDcsIDIyOCwgMjMsIDIzOCwgMTMwLCA1MiwgNywgNiwgCisgICAgMSwgMzIsIDIsIDI0NywgMjI4LCAyMywgMjExLCAxODAsIDcsIDUsIDEsIDMyLCAyLCAyNDcsIDIyOCwgMjMsIDIxMSwgMTgwLCAKKyAgICA3LCA2LCAxLCAzMiwgMiwgMjQ3LCAyMjgsIDIzLCA2NywgNTUsIDcsIDUsIDEsIDMyLCAyLCAyNDcsIDIyOCwgMjMsIDY3LCAKKyAgICA1NSwgNywgNiwgMSwgMzIsIDIsIDI0OSwgMTIzLCAyMywgMTUzLCA3LCA1LCAxLCAzMiwgMiwgMjQ5LCAxMjMsIDIzLCAxNTMsIAorICAgIDcsIDYsIDEsIDMyLCAyLCAyNDksIDEyMywgMjMsIDIzOSwgMjM2LCA3LCA1LCAxLCAzMiwgMiwgMjQ5LCAxMjMsIDIzLCAKKyAgICAyMzksIDIzNiwgNywgNiwgMSwgMzIsIDIsIDI0OSwgMTIzLCAyMywgMjM4LCAxMzAsIDUyLCA3LCA1LCAxLCAzMiwgMiwgCisgICAgMjQ5LCAxMjMsIDIzLCAyMzgsIDEzMCwgNTIsIDcsIDYsIDEsIDMyLCAyLCAyNDksIDEyMywgMjMsIDIxMSwgMTgwLCA3LCA1LCAKKyAgICAxLCAzMiwgMiwgMjQ5LCAxMjMsIDIzLCAyMTEsIDE4MCwgNywgNiwgMSwgMzIsIDIsIDI0OSwgMTIzLCAyMywgNjcsIDU1LCAKKyAgICA3LCA1LCAxLCAzMiwgMiwgMjQ5LCAxMjMsIDIzLCA2NywgNTUsIDcsIDYsIDEsIDE3NCwgMiwgNjcsIDU1LCA3LCA1LCAxLCAKKyAgICAxNzQsIDIsIDY3LCA1NSwgNywgNiwgMSwgMTc0LCAyLCAyMzgsIDEzMCwgNTIsIDcsIDUsIDEsIDE3NCwgMiwgMjM4LCAxMzAsIAorICAgIDUyLCA3LCA2LCAxLCAxNzQsIDIsIDIxMSwgMTgwLCA3LCA1LCAxLCAxNzQsIDIsIDIxMSwgMTgwLCA3LCA2LCAxLCAxNzQsIAorICAgIDIsIDI0NywgMjI4LCAyMywgMTUzLCA3LCA1LCAxLCAxNzQsIDIsIDI0NywgMjI4LCAyMywgMTUzLCA3LCA2LCAxLCAxNzQsIAorICAgIDIsIDI0NywgMjI4LCAyMywgMjM5LCAyMzYsIDcsIDUsIDEsIDE3NCwgMiwgMjQ3LCAyMjgsIDIzLCAyMzksIDIzNiwgNywgNiwgCisgICAgMSwgMTc0LCAyLCAyNDcsIDIyOCwgMjMsIDIzOCwgMTMwLCA1MiwgNywgNSwgMSwgMTc0LCAyLCAyNDcsIDIyOCwgMjMsIAorICAgIDIzOCwgMTMwLCA1MiwgNywgNiwgMSwgMTc0LCAyLCAyNDcsIDIyOCwgMjMsIDIxMSwgMTgwLCA3LCA1LCAxLCAxNzQsIDIsIAorICAgIDI0NywgMjI4LCAyMywgMjExLCAxODAsIDcsIDYsIDEsIDE3NCwgMiwgMjQ3LCAyMjgsIDIzLCA2NywgNTUsIDcsIDUsIDEsIAorICAgIDE3NCwgMiwgMjQ3LCAyMjgsIDIzLCA2NywgNTUsIDcsIDYsIDEsIDIzNywgMjI1LCAyLCAyMzgsIDEzMCwgNTIsIDcsIDUsIAorICAgIDEsIDIzNywgMjI1LCAyLCAyMzgsIDEzMCwgNTIsIDcsIDYsIDEsIDIzNywgMjI1LCAyLCA2NywgNTUsIDcsIDUsIDEsIDIzNywgCisgICAgMjI1LCAyLCA2NywgNTUsIDcsIDYsIDEsIDE0OCwgMiwgNjcsIDU1LCA3LCA1LCAxLCAxNDgsIDIsIDY3LCA1NSwgNywgNiwgCisgICAgMSwgMTQ4LCAyLCAyMzgsIDEzMCwgNTIsIDcsIDUsIDEsIDE0OCwgMiwgMjM4LCAxMzAsIDUyLCA3LCA2LCAxLCAxNDgsIDIsIAorICAgIDI0NywgMjI4LCAyMywgMTUzLCA3LCA1LCAxLCAxNDgsIDIsIDI0NywgMjI4LCAyMywgMTUzLCA3LCA2LCAxLCAxNDgsIDIsIAorICAgIDI0NywgMjI4LCAyMywgMjM5LCAyMzYsIDcsIDUsIDEsIDE0OCwgMiwgMjQ3LCAyMjgsIDIzLCAyMzksIDIzNiwgNywgNiwgMSwgCisgICAgMTQ4LCAyLCAyNDcsIDIyOCwgMjMsIDIzOCwgMTMwLCA1MiwgNywgNSwgMSwgMTQ4LCAyLCAyNDcsIDIyOCwgMjMsIDIzOCwgCisgICAgMTMwLCA1MiwgNywgNiwgMSwgMTQ4LCAyLCAyNDcsIDIyOCwgMjMsIDIxMSwgMTgwLCA3LCA1LCAxLCAxNDgsIDIsIDI0NywgCisgICAgMjI4LCAyMywgMjExLCAxODAsIDcsIDYsIDEsIDE0OCwgMiwgMjQ3LCAyMjgsIDIzLCA2NywgNTUsIDcsIDUsIDEsIDE0OCwgCisgICAgMiwgMjQ3LCAyMjgsIDIzLCA2NywgNTUsIDcsIDYsIDEsIDE0OCwgMiwgMjM4LCA3MCwgMjMsIDE1MywgNywgNSwgMSwgMTQ4LCAKKyAgICAyLCAyMzgsIDcwLCAyMywgMTUzLCA3LCA2LCAxLCAxNDgsIDIsIDIzOCwgNzAsIDIzLCAyMzksIDIzNiwgNywgNSwgMSwgCisgICAgMTQ4LCAyLCAyMzgsIDcwLCAyMywgMjM5LCAyMzYsIDcsIDYsIDEsIDE0OCwgMiwgMjM4LCA3MCwgMjMsIDIzOCwgMTMwLCAKKyAgICA1MiwgNywgNSwgMSwgMTQ4LCAyLCAyMzgsIDcwLCAyMywgMjM4LCAxMzAsIDUyLCA3LCA2LCAxLCAxNDgsIDIsIDIzOCwgNzAsIAorICAgIDIzLCAyMTEsIDE4MCwgNywgNSwgMSwgMTQ4LCAyLCAyMzgsIDcwLCAyMywgMjExLCAxODAsIDcsIDYsIDEsIDE0OCwgMiwgCisgICAgMjM4LCA3MCwgMjMsIDY3LCA1NSwgNywgNSwgMSwgMTQ4LCAyLCAyMzgsIDcwLCAyMywgNjcsIDU1LCA3LCA2LCAxLCAxMDYsIAorICAgIDIsIDY3LCA1NSwgNywgNSwgMSwgMTA2LCAyLCA2NywgNTUsIDcsIDYsIDEsIDEwNiwgMiwgMjM4LCAxMzAsIDUyLCA3LCA1LCAKKyAgICAxLCAxMDYsIDIsIDIzOCwgMTMwLCA1MiwgNywgNiwgMSwgMTA2LCAyLCAyMzgsIDcwLCAyMywgMTUzLCA3LCA1LCAxLCAxMDYsIAorICAgIDIsIDIzOCwgNzAsIDIzLCAxNTMsIDcsIDYsIDEsIDEwNiwgMiwgMjM4LCA3MCwgMjMsIDIzOSwgMjM2LCA3LCA1LCAxLCAKKyAgICAxMDYsIDIsIDIzOCwgNzAsIDIzLCAyMzksIDIzNiwgNywgNiwgMSwgMTA2LCAyLCAyMzgsIDcwLCAyMywgMjM4LCAxMzAsIAorICAgIDUyLCA3LCA1LCAxLCAxMDYsIDIsIDIzOCwgNzAsIDIzLCAyMzgsIDEzMCwgNTIsIDcsIDYsIDEsIDEwNiwgMiwgMjM4LCA3MCwgCisgICAgMjMsIDIxMSwgMTgwLCA3LCA1LCAxLCAxMDYsIDIsIDIzOCwgNzAsIDIzLCAyMTEsIDE4MCwgNywgNiwgMSwgMTA2LCAyLCAKKyAgICAyMzgsIDcwLCAyMywgNjcsIDU1LCA3LCA1LCAxLCAxMDYsIDIsIDIzOCwgNzAsIDIzLCA2NywgNTUsIDcsIDYsIDEsIDIwNiwgCisgICAgMTI0LCAyLCAyMzksIDIzNiwgNywgNSwgMSwgMjA2LCAxMjQsIDIsIDIzOSwgMjM2LCA3LCA2LCAxLCAyMDYsIDEyNCwgMiwgCisgICAgNjcsIDU1LCA3LCA1LCAxLCAyMDYsIDEyNCwgMiwgNjcsIDU1LCA3LCA2LCAxLCAyMDYsIDEyNCwgMiwgMjM4LCAxMzAsIDUyLCAKKyAgICA3LCA1LCAxLCAyMDYsIDEyNCwgMiwgMjM4LCAxMzAsIDUyLCA3LCA2LCAxLCAyMDYsIDEyNCwgMiwgMjExLCAxODAsIDcsIDUsIAorICAgIDEsIDIwNiwgMTI0LCAyLCAyMTEsIDE4MCwgNywgNiwgMSwgMjI2LCAyNDYsIDIyOSwgMTczLCA3LCA1LCAxLCAyMjYsIDI0NiwgCisgICAgMjI5LCAxNzMsIDcsIDYsIDEsIDIyNiwgMjQ2LCAyMDksIDE0OCwgNywgNSwgMSwgMjI2LCAyNDYsIDIwOSwgMTQ4LCA3LCA2LCAKKyAgICAxLCAyMDYsIDEyNCwgMiwgMjI5LCAxMTEsIDcsIDUsIDEsIDIwNiwgMTI0LCAyLCAyMjksIDExMSwgMjcsIDUsIDEsIDI1MiwgCisgICAgMTQ1LCAyLCAyMjAsIDg2LCAyNywgNSwgMSwgMjUyLCAxNDUsIDIsIDI0NiwgNzUsIDI3LCA1LCAxLCAyNTIsIDE0NSwgMiwgCisgICAgMjIwLCA4NywgMjMsIDIwOSwgNTQsIDI3LCA1LCAxLCAyNTIsIDE0NSwgMiwgMjQ2LCA3NiwgMjMsIDIwOSwgNTQsIDI3LCA1LCAKKyAgICAxLCAyNTIsIDE0NSwgMiwgMjIwLCA4NywgMjMsIDIyMiwgNzIsIDI3LCA1LCAxLCAyNTIsIDE0NSwgMiwgMjQ2LCA3NiwgMjMsIAorICAgIDIyMiwgNzIsIDI3LCA1LCAxLCAyNTIsIDE0NSwgMiwgMjIwLCA4NywgMjMsIDIyMSwgMTI0LCAyNywgNSwgMSwgMjUyLCAKKyAgICAxNDUsIDIsIDI0NiwgNzYsIDIzLCAyMjEsIDEyNCwgMjcsIDYsIDEsIDI1MiwgMTQ1LCAyLCAyMjAsIDg2LCAyNywgNiwgMSwgCisgICAgMjUyLCAxNDUsIDIsIDI0NiwgNzUsIDI3LCA2LCAxLCAyNTIsIDE0NSwgMiwgMjIwLCA4NywgMjMsIDIwOSwgNTQsIDI3LCA2LCAKKyAgICAxLCAyNTIsIDE0NSwgMiwgMjQ2LCA3NiwgMjMsIDIwOSwgNTQsIDI3LCA2LCAxLCAyNTIsIDE0NSwgMiwgMjIwLCA4NywgMjMsIAorICAgIDIyMiwgNzIsIDI3LCA2LCAxLCAyNTIsIDE0NSwgMiwgMjQ2LCA3NiwgMjMsIDIyMiwgNzIsIDI3LCA2LCAxLCAyNTIsIDE0NSwgCisgICAgMiwgMjIwLCA4NywgMjMsIDIyMSwgMTI0LCAyNywgNiwgMSwgMjUyLCAxNDUsIDIsIDI0NiwgNzYsIDIzLCAyMjEsIDEyNCwgCisgICAgMjcsIDUsIDEsIDI0MiwgMjQ1LCAyLCAyMjAsIDg2LCAyNywgNSwgMSwgMjQyLCAyNDUsIDIsIDI0NiwgNzUsIDI3LCA1LCAxLCAKKyAgICAyNDIsIDI0NSwgMiwgMjIwLCA4NywgMjMsIDIwOSwgNTQsIDI3LCA1LCAxLCAyNDIsIDI0NSwgMiwgMjQ2LCA3NiwgMjMsIAorICAgIDIwOSwgNTQsIDI3LCA1LCAxLCAyNDIsIDI0NSwgMiwgMjIwLCA4NywgMjMsIDIyMiwgNzIsIDI3LCA1LCAxLCAyNDIsIDI0NSwgCisgICAgMiwgMjQ2LCA3NiwgMjMsIDIyMiwgNzIsIDI3LCA2LCAxLCAyNDIsIDI0NSwgMiwgMjIwLCA4NiwgMjcsIDYsIDEsIDI0MiwgCisgICAgMjQ1LCAyLCAyNDYsIDc1LCAyNywgNiwgMSwgMjQyLCAyNDUsIDIsIDIyMCwgODcsIDIzLCAyMDksIDU0LCAyNywgNiwgMSwgCisgICAgMjQyLCAyNDUsIDIsIDI0NiwgNzYsIDIzLCAyMDksIDU0LCAyNywgNiwgMSwgMjQyLCAyNDUsIDIsIDIyMCwgODcsIDIzLCAKKyAgICAyMjIsIDcyLCAyNywgNiwgMSwgMjQyLCAyNDUsIDIsIDI0NiwgNzYsIDIzLCAyMjIsIDcyLCAyNywgNSwgMSwgMjQyLCAyMDIsIAorICAgIDIsIDIyMCwgODYsIDI3LCA1LCAxLCAyNDIsIDIwMiwgMiwgMjQ2LCA3NSwgMjcsIDUsIDEsIDI0MiwgMjAyLCAyLCAyMjAsIAorICAgIDg3LCAyMywgMjA5LCA1NCwgMjcsIDUsIDEsIDI0MiwgMjAyLCAyLCAyNDYsIDc2LCAyMywgMjA5LCA1NCwgMjcsIDUsIDEsIAorICAgIDI0MiwgMjAyLCAyLCAyMjAsIDg3LCAyMywgMjIyLCA3MiwgMjcsIDUsIDEsIDI0MiwgMjAyLCAyLCAyNDYsIDc2LCAyMywgCisgICAgMjIyLCA3MiwgMjcsIDUsIDEsIDI0MiwgMjAyLCAyLCAyMjAsIDg3LCAyMywgMjIxLCAxMjQsIDI3LCA1LCAxLCAyNDIsIAorICAgIDIwMiwgMiwgMjQ2LCA3NiwgMjMsIDIyMSwgMTI0LCAyNywgNiwgMSwgMjQyLCAyMDIsIDIsIDIyMCwgODYsIDI3LCA2LCAxLCAKKyAgICAyNDIsIDIwMiwgMiwgMjQ2LCA3NSwgMjcsIDYsIDEsIDI0MiwgMjAyLCAyLCAyMjAsIDg3LCAyMywgMjA5LCA1NCwgMjcsIDYsIAorICAgIDEsIDI0MiwgMjAyLCAyLCAyNDYsIDc2LCAyMywgMjA5LCA1NCwgMjcsIDYsIDEsIDI0MiwgMjAyLCAyLCAyMjAsIDg3LCAyMywgCisgICAgMjIyLCA3MiwgMjcsIDYsIDEsIDI0MiwgMjAyLCAyLCAyNDYsIDc2LCAyMywgMjIyLCA3MiwgMjcsIDYsIDEsIDI0MiwgMjAyLCAKKyAgICAyLCAyMjAsIDg3LCAyMywgMjIxLCAxMjQsIDI3LCA2LCAxLCAyNDIsIDIwMiwgMiwgMjQ2LCA3NiwgMjMsIDIyMSwgMTI0LCAKKyAgICAyNywgNSwgMSwgMjMyLCAyNTAsIDIsIDIyMCwgODYsIDI3LCA1LCAxLCAyMzIsIDI1MCwgMiwgMjQ2LCA3NSwgMjcsIDUsIDEsIAorICAgIDIzMiwgMjUwLCAyLCAyMjAsIDg3LCAyMywgMjA5LCA1NCwgMjcsIDUsIDEsIDIzMiwgMjUwLCAyLCAyNDYsIDc2LCAyMywgCisgICAgMjA5LCA1NCwgMjcsIDUsIDEsIDIzMiwgMjUwLCAyLCAyMjAsIDg3LCAyMywgMjIyLCA3MiwgMjcsIDUsIDEsIDIzMiwgMjUwLCAKKyAgICAyLCAyNDYsIDc2LCAyMywgMjIyLCA3MiwgMjcsIDUsIDEsIDIzMiwgMjUwLCAyLCAyMjAsIDg3LCAyMywgMjIxLCAxMjQsIAorICAgIDI3LCA1LCAxLCAyMzIsIDI1MCwgMiwgMjQ2LCA3NiwgMjMsIDIyMSwgMTI0LCAyNywgNiwgMSwgMjMyLCAyNTAsIDIsIDIyMCwgCisgICAgODYsIDI3LCA2LCAxLCAyMzIsIDI1MCwgMiwgMjQ2LCA3NSwgMjcsIDYsIDEsIDIzMiwgMjUwLCAyLCAyMjAsIDg3LCAyMywgCisgICAgMjA5LCA1NCwgMjcsIDYsIDEsIDIzMiwgMjUwLCAyLCAyNDYsIDc2LCAyMywgMjA5LCA1NCwgMjcsIDYsIDEsIDIzMiwgMjUwLCAKKyAgICAyLCAyMjAsIDg3LCAyMywgMjIyLCA3MiwgMjcsIDYsIDEsIDIzMiwgMjUwLCAyLCAyNDYsIDc2LCAyMywgMjIyLCA3MiwgMjcsIAorICAgIDYsIDEsIDIzMiwgMjUwLCAyLCAyMjAsIDg3LCAyMywgMjIxLCAxMjQsIDI3LCA2LCAxLCAyMzIsIDI1MCwgMiwgMjQ2LCA3NiwgCisgICAgMjMsIDIyMSwgMTI0LCAyNywgNSwgMSwgMjIyLCAxNjksIDIsIDIyMCwgODYsIDI3LCA1LCAxLCAyMjIsIDE2OSwgMiwgMjQ2LCAKKyAgICA3NSwgMjcsIDUsIDEsIDIyMiwgMTY5LCAyLCAyMjAsIDg3LCAyMywgMjA5LCA1NCwgMjcsIDUsIDEsIDIyMiwgMTY5LCAyLCAKKyAgICAyNDYsIDc2LCAyMywgMjA5LCA1NCwgMjcsIDUsIDEsIDIyMiwgMTY5LCAyLCAyMjAsIDg3LCAyMywgMjIyLCA3MiwgMjcsIDUsIAorICAgIDEsIDIyMiwgMTY5LCAyLCAyNDYsIDc2LCAyMywgMjIyLCA3MiwgMjcsIDYsIDEsIDIyMiwgMTY5LCAyLCAyMjAsIDg2LCAyNywgCisgICAgNiwgMSwgMjIyLCAxNjksIDIsIDI0NiwgNzUsIDI3LCA2LCAxLCAyMjIsIDE2OSwgMiwgMjIwLCA4NywgMjMsIDIwOSwgNTQsIAorICAgIDI3LCA2LCAxLCAyMjIsIDE2OSwgMiwgMjQ2LCA3NiwgMjMsIDIwOSwgNTQsIDI3LCA2LCAxLCAyMjIsIDE2OSwgMiwgMjIwLCAKKyAgICA4NywgMjMsIDIyMiwgNzIsIDI3LCA2LCAxLCAyMjIsIDE2OSwgMiwgMjQ2LCA3NiwgMjMsIDIyMiwgNzIsIDI3LCA1LCAxLCAKKyAgICAyMDksIDIwMSwgMiwgMjIwLCA4NiwgMjcsIDUsIDEsIDIwOSwgMjAxLCAyLCAyNDYsIDc1LCAyNywgNSwgMSwgMjA5LCAyMDEsIAorICAgIDIsIDIyMCwgODcsIDIzLCAyMDksIDU0LCAyNywgNSwgMSwgMjA5LCAyMDEsIDIsIDI0NiwgNzYsIDIzLCAyMDksIDU0LCAyNywgCisgICAgNSwgMSwgMjA5LCAyMDEsIDIsIDIyMCwgODcsIDIzLCAyMjIsIDcyLCAyNywgNSwgMSwgMjA5LCAyMDEsIDIsIDI0NiwgNzYsIAorICAgIDIzLCAyMjIsIDcyLCAyNywgNSwgMSwgMjA5LCAyMDEsIDIsIDIyMCwgODcsIDIzLCAyMjEsIDEyNCwgMjcsIDUsIDEsIDIwOSwgCisgICAgMjAxLCAyLCAyNDYsIDc2LCAyMywgMjIxLCAxMjQsIDI3LCA2LCAxLCAyMDksIDIwMSwgMiwgMjQ2LCA3NSwgMjcsIDYsIDEsIAorICAgIDIwOSwgMjAxLCAyLCAyNDYsIDc2LCAyMywgMjA5LCA1NCwgMjcsIDYsIDEsIDIwOSwgMjAxLCAyLCAyNDYsIDc2LCAyMywgCisgICAgMjIyLCA3MiwgMjcsIDYsIDEsIDIwOSwgMjAxLCAyLCAyNDYsIDc2LCAyMywgMjIxLCAxMjQsIDI3LCA1LCAxLCAyMjIsIAorICAgIDE3MSwgMiwgMjIwLCA4NiwgMjcsIDUsIDEsIDIyMiwgMTcxLCAyLCAyNDYsIDc1LCAyNywgNSwgMSwgMjIyLCAxNzEsIDIsIAorICAgIDIyMCwgODcsIDIzLCAyMDksIDU0LCAyNywgNSwgMSwgMjIyLCAxNzEsIDIsIDI0NiwgNzYsIDIzLCAyMDksIDU0LCAyNywgNSwgCisgICAgMSwgMjIyLCAxNzEsIDIsIDIyMCwgODcsIDIzLCAyMjIsIDcyLCAyNywgNSwgMSwgMjIyLCAxNzEsIDIsIDI0NiwgNzYsIDIzLCAKKyAgICAyMjIsIDcyLCAyNywgNSwgMSwgMjIyLCAxNzEsIDIsIDIyMCwgODcsIDIzLCAyMjEsIDEyNCwgMjcsIDUsIDEsIDIyMiwgCisgICAgMTcxLCAyLCAyNDYsIDc2LCAyMywgMjIxLCAxMjQsIDI3LCA2LCAxLCAyMjIsIDE3MSwgMiwgMjIwLCA4NiwgMjcsIDYsIDEsIAorICAgIDIyMiwgMTcxLCAyLCAyNDYsIDc1LCAyNywgNiwgMSwgMjIyLCAxNzEsIDIsIDIyMCwgODcsIDIzLCAyMDksIDU0LCAyNywgNiwgCisgICAgMSwgMjIyLCAxNzEsIDIsIDI0NiwgNzYsIDIzLCAyMDksIDU0LCAyNywgNiwgMSwgMjIyLCAxNzEsIDIsIDIyMCwgODcsIDIzLCAKKyAgICAyMjIsIDcyLCAyNywgNiwgMSwgMjIyLCAxNzEsIDIsIDI0NiwgNzYsIDIzLCAyMjIsIDcyLCAyNywgNiwgMSwgMjIyLCAxNzEsIAorICAgIDIsIDIyMCwgODcsIDIzLCAyMjEsIDEyNCwgMjcsIDYsIDEsIDIyMiwgMTcxLCAyLCAyNDYsIDc2LCAyMywgMjIxLCAxMjQsIAorICAgIDI3LCA1LCAxLCAyNTIsIDE0NSwgMiwgMjA5LCA1NCwgMjcsIDUsIDEsIDI1MiwgMTQ1LCAyLCAyMjIsIDcyLCAyNywgNSwgMSwgCisgICAgMjQyLCAyNDUsIDIsIDIwOSwgNTQsIDI3LCA1LCAxLCAyNDIsIDI0NSwgMiwgMjIyLCA3MiwgMjcsIDUsIDEsIDI0MiwgMjAyLCAKKyAgICAyLCAyMDksIDU0LCAyNywgNSwgMSwgMjQyLCAyMDIsIDIsIDIyMiwgNzIsIDI3LCA1LCAxLCAyMzIsIDI1MCwgMiwgMjA5LCAKKyAgICA1NCwgMjcsIDUsIDEsIDIzMiwgMjUwLCAyLCAyMjIsIDcyLCAyNywgNSwgMSwgMjIyLCAxNjksIDIsIDIwOSwgNTQsIDI3LCAKKyAgICA1LCAxLCAyMjIsIDE2OSwgMiwgMjIyLCA3MiwgMjcsIDUsIDEsIDIwOSwgMjAxLCAyLCAyMDksIDU0LCAyNywgNSwgMSwgCisgICAgMjA5LCAyMDEsIDIsIDIyMiwgNzIsIDI3LCA1LCAxLCAyMjIsIDE3MSwgMiwgMjA5LCA1NCwgMjcsIDUsIDEsIDIyMiwgMTcxLCAKKyAgICAyLCAyMjIsIDcyLCAyNywgNSwgMSwgMjUyLCAxNDUsIDIsIDIyMCwgODcsIDIzLCAyMDUsIDIyMSwgMjcsIDUsIDEsIDI1MiwgCisgICAgMTQ1LCAyLCAyNDYsIDc2LCAyMywgMjA1LCAyMjEsIDI3LCA1LCAxLCAyNTIsIDE0NSwgMiwgMjIwLCA4NywgMjMsIDIwOSwgCisgICAgNTUsIDIzLCAyMDUsIDIyMSwgMjcsIDUsIDEsIDI1MiwgMTQ1LCAyLCAyNDYsIDc2LCAyMywgMjA5LCA1NSwgMjMsIDIwNSwgCisgICAgMjIxLCAyNywgNSwgMSwgMjUyLCAxNDUsIDIsIDIyMCwgODcsIDIzLCAyMjIsIDczLCAyMywgMjA1LCAyMjEsIDI3LCA1LCAxLCAKKyAgICAyNTIsIDE0NSwgMiwgMjQ2LCA3NiwgMjMsIDIyMiwgNzMsIDIzLCAyMDUsIDIyMSwgMjcsIDUsIDEsIDI1MiwgMTQ1LCAyLCAKKyAgICAyMjAsIDg3LCAyMywgMjIxLCAxMjUsIDIzLCAyMDUsIDIyMSwgMjcsIDUsIDEsIDI1MiwgMTQ1LCAyLCAyNDYsIDc2LCAyMywgCisgICAgMjIxLCAxMjUsIDIzLCAyMDUsIDIyMSwgMjcsIDYsIDEsIDI1MiwgMTQ1LCAyLCAyMjAsIDg3LCAyMywgMjIwLCAxMDAsIDI3LCAKKyAgICA2LCAxLCAyNTIsIDE0NSwgMiwgMjQ2LCA3NiwgMjMsIDIyMCwgMTAwLCAyNywgNiwgMSwgMjUyLCAxNDUsIDIsIDIyMCwgODcsIAorICAgIDIzLCAyMDksIDU1LCAyMywgMjIwLCAxMDAsIDI3LCA2LCAxLCAyNTIsIDE0NSwgMiwgMjQ2LCA3NiwgMjMsIDIwOSwgNTUsIAorICAgIDIzLCAyMjAsIDEwMCwgMjcsIDYsIDEsIDI1MiwgMTQ1LCAyLCAyMjAsIDg3LCAyMywgMjIyLCA3MywgMjMsIDIyMCwgMTAwLCAKKyAgICAyNywgNiwgMSwgMjUyLCAxNDUsIDIsIDI0NiwgNzYsIDIzLCAyMjIsIDczLCAyMywgMjIwLCAxMDAsIDI3LCA2LCAxLCAyNTIsIAorICAgIDE0NSwgMiwgMjIwLCA4NywgMjMsIDIyMSwgMTI1LCAyMywgMjIwLCAxMDAsIDI3LCA2LCAxLCAyNTIsIDE0NSwgMiwgMjQ2LCAKKyAgICA3NiwgMjMsIDIyMSwgMTI1LCAyMywgMjIwLCAxMDAsIDI3LCA1LCAxLCAyNDIsIDIwMiwgMiwgMjIwLCA4NywgMjMsIDIwNSwgCisgICAgMjIxLCAyNywgNSwgMSwgMjQyLCAyMDIsIDIsIDI0NiwgNzYsIDIzLCAyMDUsIDIyMSwgMjcsIDUsIDEsIDI0MiwgMjAyLCAyLCAKKyAgICAyMjAsIDg3LCAyMywgMjA5LCA1NSwgMjMsIDIwNSwgMjIxLCAyNywgNSwgMSwgMjQyLCAyMDIsIDIsIDI0NiwgNzYsIDIzLCAKKyAgICAyMDksIDU1LCAyMywgMjA1LCAyMjEsIDI3LCA1LCAxLCAyNDIsIDIwMiwgMiwgMjIwLCA4NywgMjMsIDIyMiwgNzMsIDIzLCAKKyAgICAyMDUsIDIyMSwgMjcsIDUsIDEsIDI0MiwgMjAyLCAyLCAyNDYsIDc2LCAyMywgMjIyLCA3MywgMjMsIDIwNSwgMjIxLCAyNywgCisgICAgNSwgMSwgMjQyLCAyMDIsIDIsIDIyMCwgODcsIDIzLCAyMjEsIDEyNSwgMjMsIDIwNSwgMjIxLCAyNywgNSwgMSwgMjQyLCAKKyAgICAyMDIsIDIsIDI0NiwgNzYsIDIzLCAyMjEsIDEyNSwgMjMsIDIwNSwgMjIxLCAyNywgNiwgMSwgMjQyLCAyMDIsIDIsIDIyMCwgCisgICAgODcsIDIzLCAyMjAsIDEwMCwgMjcsIDYsIDEsIDI0MiwgMjAyLCAyLCAyNDYsIDc2LCAyMywgMjIwLCAxMDAsIDI3LCA2LCAxLCAKKyAgICAyNDIsIDIwMiwgMiwgMjIwLCA4NywgMjMsIDIwOSwgNTUsIDIzLCAyMjAsIDEwMCwgMjcsIDYsIDEsIDI0MiwgMjAyLCAyLCAKKyAgICAyNDYsIDc2LCAyMywgMjA5LCA1NSwgMjMsIDIyMCwgMTAwLCAyNywgNiwgMSwgMjQyLCAyMDIsIDIsIDIyMCwgODcsIDIzLCAKKyAgICAyMjIsIDczLCAyMywgMjIwLCAxMDAsIDI3LCA2LCAxLCAyNDIsIDIwMiwgMiwgMjQ2LCA3NiwgMjMsIDIyMiwgNzMsIDIzLCAKKyAgICAyMjAsIDEwMCwgMjcsIDYsIDEsIDI0MiwgMjAyLCAyLCAyMjAsIDg3LCAyMywgMjIxLCAxMjUsIDIzLCAyMjAsIDEwMCwgMjcsIAorICAgIDYsIDEsIDI0MiwgMjAyLCAyLCAyNDYsIDc2LCAyMywgMjIxLCAxMjUsIDIzLCAyMjAsIDEwMCwgMjcsIDUsIDEsIDIyMiwgCisgICAgMTcxLCAyLCAyMjAsIDg3LCAyMywgMjA1LCAyMjEsIDI3LCA1LCAxLCAyMjIsIDE3MSwgMiwgMjQ2LCA3NiwgMjMsIDIwNSwgCisgICAgMjIxLCAyNywgNSwgMSwgMjIyLCAxNzEsIDIsIDIyMCwgODcsIDIzLCAyMDksIDU1LCAyMywgMjA1LCAyMjEsIDI3LCA1LCAxLCAKKyAgICAyMjIsIDE3MSwgMiwgMjQ2LCA3NiwgMjMsIDIwOSwgNTUsIDIzLCAyMDUsIDIyMSwgMjcsIDUsIDEsIDIyMiwgMTcxLCAyLCAKKyAgICAyMjAsIDg3LCAyMywgMjIyLCA3MywgMjMsIDIwNSwgMjIxLCAyNywgNSwgMSwgMjIyLCAxNzEsIDIsIDI0NiwgNzYsIDIzLCAKKyAgICAyMjIsIDczLCAyMywgMjA1LCAyMjEsIDI3LCA1LCAxLCAyMjIsIDE3MSwgMiwgMjIwLCA4NywgMjMsIDIyMSwgMTI1LCAyMywgCisgICAgMjA1LCAyMjEsIDI3LCA1LCAxLCAyMjIsIDE3MSwgMiwgMjQ2LCA3NiwgMjMsIDIyMSwgMTI1LCAyMywgMjA1LCAyMjEsIDI3LCAKKyAgICA2LCAxLCAyMjIsIDE3MSwgMiwgMjIwLCA4NywgMjMsIDIyMCwgMTAwLCAyNywgNiwgMSwgMjIyLCAxNzEsIDIsIDI0NiwgNzYsIAorICAgIDIzLCAyMjAsIDEwMCwgMjcsIDYsIDEsIDIyMiwgMTcxLCAyLCAyMjAsIDg3LCAyMywgMjA5LCA1NSwgMjMsIDIyMCwgMTAwLCAKKyAgICAyNywgNiwgMSwgMjIyLCAxNzEsIDIsIDI0NiwgNzYsIDIzLCAyMDksIDU1LCAyMywgMjIwLCAxMDAsIDI3LCA2LCAxLCAyMjIsIAorICAgIDE3MSwgMiwgMjIwLCA4NywgMjMsIDIyMiwgNzMsIDIzLCAyMjAsIDEwMCwgMjcsIDYsIDEsIDIyMiwgMTcxLCAyLCAyNDYsIAorICAgIDc2LCAyMywgMjIyLCA3MywgMjMsIDIyMCwgMTAwLCAyNywgNiwgMSwgMjIyLCAxNzEsIDIsIDIyMCwgODcsIDIzLCAyMjEsIAorICAgIDEyNSwgMjMsIDIyMCwgMTAwLCAyNywgNiwgMSwgMjIyLCAxNzEsIDIsIDI0NiwgNzYsIDIzLCAyMjEsIDEyNSwgMjMsIDIyMCwgCisgICAgMTAwLCAyNywgNSwgMSwgMjUyLCAxNDUsIDIsIDIwOCwgMTUyLCAyNywgNSwgMSwgMjUyLCAxNDUsIDIsIDIyOCwgMTMsIDI3LCAKKyAgICA1LCAxLCAyNTIsIDE0NSwgMiwgMjA5LCA1NSwgMjMsIDIwNSwgMjIxLCAyNywgNSwgMSwgMjUyLCAxNDUsIDIsIDIwNSwgCisgICAgMjIxLCAyNywgNSwgMSwgMjUyLCAxNDUsIDIsIDIyMiwgNzMsIDIzLCAyMDUsIDIyMSwgMjcsIDUsIDEsIDI1MiwgMTQ1LCAyLCAKKyAgICAyMjEsIDEyNCwgMjcsIDUsIDEsIDI1MiwgMTQ1LCAyLCAyMjEsIDEyNSwgMjMsIDIwNSwgMjIxLCAyNywgNiwgMSwgMjUyLCAKKyAgICAxNDUsIDIsIDIwOCwgMTUyLCAyNywgNiwgMSwgMjUyLCAxNDUsIDIsIDIyOCwgMTMsIDI3LCA2LCAxLCAyNTIsIDE0NSwgMiwgCisgICAgMjA5LCA1NCwgMjcsIDYsIDEsIDI1MiwgMTQ1LCAyLCAyMjIsIDcyLCAyNywgNiwgMSwgMjUyLCAxNDUsIDIsIDIyMCwgMTAwLCAKKyAgICAyNywgMjMxLCAyMywgMjcsIDIyMCwgMTAwLCAyNywgMjIwLCA4NiwgMjcsIDIyMSwgMTI0LCAyNywgMjQ1LCAxNjAsIDIzLCAKKyAgICAyMjEsIDEyNCwgMjcsIDUsIDEsIDI0MiwgMjAyLCAyLCAyMDksIDU1LCAyMywgMjA1LCAyMjEsIDI3LCA1LCAxLCAyNDIsIAorICAgIDIwMiwgMiwgMjA1LCAyMjEsIDI3LCA1LCAxLCAyNDIsIDIwMiwgMiwgMjIyLCA3MywgMjMsIDIwNSwgMjIxLCAyNywgNSwgMSwgCisgICAgMjQyLCAyMDIsIDIsIDIyMSwgMTI0LCAyNywgNSwgMSwgMjQyLCAyMDIsIDIsIDIyMSwgMTI1LCAyMywgMjA1LCAyMjEsIDI3LCAKKyAgICA2LCAxLCAyNDIsIDI0NSwgMiwgMjA5LCA1NCwgMjcsIDYsIDEsIDI0MiwgMjQ1LCAyLCAyMjIsIDcyLCAyNywgNiwgMSwgCisgICAgMjQyLCAyMDIsIDIsIDIwOSwgNTQsIDI3LCA2LCAxLCAyNDIsIDIwMiwgMiwgMjIyLCA3MiwgMjcsIDYsIDEsIDI0MiwgMjAyLCAKKyAgICAyLCAyMjAsIDEwMCwgMjcsIDIyMCwgODcsIDIzLCAyMDksIDU0LCAyNywgMjIwLCA4NywgMjMsIDIyMiwgNzIsIDI3LCAyMjAsIAorICAgIDg3LCAyMywgMjIxLCAxMjQsIDI3LCA1LCAxLCAyMzIsIDI1MCwgMiwgMjA4LCAxNTIsIDI3LCA1LCAxLCAyMzIsIDI1MCwgMiwgCisgICAgMjI4LCAxMywgMjcsIDUsIDEsIDIzMiwgMjUwLCAyLCAyNDUsIDE2MCwgMjMsIDIwOSwgNTQsIDI3LCA1LCAxLCAyMzIsIAorICAgIDI1MCwgMiwgMjQ1LCAxNjAsIDIzLCAyMjIsIDcyLCAyNywgNSwgMSwgMjMyLCAyNTAsIDIsIDIyMSwgMTI0LCAyNywgNSwgMSwgCisgICAgMjMyLCAyNTAsIDIsIDI0NSwgMTYwLCAyMywgMjIxLCAxMjQsIDI3LCA2LCAxLCAyMzIsIDI1MCwgMiwgMjA4LCAxNTIsIDI3LCAKKyAgICA2LCAxLCAyMzIsIDI1MCwgMiwgMjI4LCAxMywgMjcsIDYsIDEsIDIzMiwgMjUwLCAyLCAyMDksIDU0LCAyNywgNiwgMSwgCisgICAgMjMyLCAyNTAsIDIsIDIyMiwgNzIsIDI3LCAyNDYsIDc2LCAyMywgMjA5LCA1NCwgMjcsIDI0NiwgNzYsIDIzLCAyMjIsIDcyLCAKKyAgICAyNywgMjQ2LCA3NiwgMjMsIDIyMSwgMTI0LCAyNywgNSwgMSwgMjA5LCAyMDEsIDIsIDIwOCwgMTUyLCAyNywgNSwgMSwgCisgICAgMjA5LCAyMDEsIDIsIDIyOCwgMTMsIDI3LCA1LCAxLCAyMDksIDIwMSwgMiwgMjQ1LCAxNjAsIDIzLCAyMDksIDU0LCAyNywgCisgICAgNSwgMSwgMjA5LCAyMDEsIDIsIDI0NSwgMTYwLCAyMywgMjIyLCA3MiwgMjcsIDUsIDEsIDIxOCwgMjExLCAyLCAyMjAsIDg2LCAKKyAgICAyNywgNSwgMSwgMjE4LCAyMTEsIDIsIDI0NiwgNzUsIDI3LCA1LCAxLCAyMDksIDIwMSwgMiwgMjIxLCAxMjQsIDI3LCA1LCAKKyAgICAxLCAyMDksIDIwMSwgMiwgMjQ1LCAxNjAsIDIzLCAyMjEsIDEyNCwgMjcsIDYsIDEsIDIwOSwgMjAxLCAyLCAyMDgsIDE1MiwgCisgICAgMjcsIDYsIDEsIDIwOSwgMjAxLCAyLCAyMjgsIDEzLCAyNywgNiwgMSwgMjA5LCAyMDEsIDIsIDIwOSwgNTQsIDI3LCA2LCAxLCAKKyAgICAyMDksIDIwMSwgMiwgMjIyLCA3MiwgMjcsIDYsIDEsIDIxOCwgMjExLCAyLCAyNDYsIDc1LCAyNywgMjQ1LCAxNjAsIDIzLCAKKyAgICAyMDksIDU0LCAyNywgMjQ1LCAxNjAsIDIzLCAyMjIsIDcyLCAyNywgMjA5LCA1NCwgMjcsIDUsIDEsIDIyMiwgMTcxLCAyLCAKKyAgICAyMDksIDU1LCAyMywgMjA1LCAyMjEsIDI3LCA1LCAxLCAyMjIsIDE3MSwgMiwgMjA1LCAyMjEsIDI3LCA1LCAxLCAyMjIsIAorICAgIDE3MSwgMiwgMjIyLCA3MywgMjMsIDIwNSwgMjIxLCAyNywgNSwgMSwgMjIyLCAxNzEsIDIsIDIyMSwgMTI0LCAyNywgNSwgMSwgCisgICAgMjIyLCAxNzEsIDIsIDIyMSwgMTI1LCAyMywgMjA1LCAyMjEsIDI3LCA2LCAxLCAyMjIsIDE2OSwgMiwgMjA5LCA1NCwgMjcsIAorICAgIDYsIDEsIDIyMiwgMTY5LCAyLCAyMjIsIDcyLCAyNywgNiwgMSwgMjIyLCAxNzEsIDIsIDIwOSwgNTQsIDI3LCA2LCAxLCAKKyAgICAyMjIsIDE3MSwgMiwgMjIyLCA3MiwgMjcsIDYsIDEsIDIyMiwgMTcxLCAyLCAyMjAsIDEwMCwgMjcsIDIyMiwgNzIsIDI3LCAKKyAgICAyNDYsIDc1LCAyNDMsIDQyLCAyMTksIDIxMSwgMjQzLCA1MSwgMjE5LCAyMTEsIDI0MywgNDIsIDIxNCwgMTUzLCAyNDMsIAorICAgIDUxLCAyMTQsIDE1MywgMjExLCAyMzUsIDIxNCwgMTUzLCAyNDEsIDEyMywgMjE0LCAxNTMsIDIxNSwgOCwgMjE0LCAxNTMsIAorICAgIDI0MSwgMjQxLCAyMTQsIDE1MywgMjIwLCA3MiwgMjE0LCAxNTMsIDIxMiwgMTIsIDIxNCwgMTUzLCAyMzksIDEzMCwgMjE0LCAKKyAgICAxNTMsIDIwNSwgODYsIDIwNywgMTUsIDIxNCwgMTUzLCAyMDUsIDg2LCAyMDcsIDE1LCAyMjQsIDU5LCAyMDUsIDg2LCAyMDcsIAorICAgIDE1LCAyMzIsIDExNywgMjMwLCAzNywgODMsIDIxOCwgMTU4LCA4MywgMjM3LCAyMzksIDIyNCwgNjAsIDIzNywgMjM5LCAKKyAgICAyNDEsIDI0MSwgMjQ2LCA3OCwgMjQzLCA0MiwgMjQ2LCA3OCwgMjQzLCA1MSwgMjQ2LCA3OCwgMTk0LCAxMzQsIDUwLCA3OSwgCisgICAgMjI5LCAyMDUsIDUwLCAxMTQsIDIyOSwgMjA1LCA0NywgMjE1LCA0MSwgMjE5LCAxODAsIDgzLCA0OCwgMjE1LCA0MSwgMjE5LCAKKyAgICAxODAsIDgzLCAyMTUsIDQxLCAyMjksIDk2LCAyMTksIDE4MCwgODMsIDIxNSwgNDEsIDIzOCwgMjQ5LCAyMTksIDE4MCwgODMsIAorICAgIDQ3LCA1MCwgMjE5LCAxODAsIDgzLCA0OCwgNTAsIDIxOSwgMTgwLCA4MywgNTAsIDIyOSwgOTYsIDIxOSwgMTgwLCA4MywgCisgICAgNTAsIDIzOCwgMjQ5LCAyMTksIDE4MCwgODMsIDI0NiwgMTI4LCA1MCwgMjQ2LCAxMjgsIDI0OSwgODUsIDIxMSwgNDgsIAorICAgIDI0OSwgODUsIDExOSwgNjcsIDIzMCwgNTYsIDExOCwgNjcsIDIzMCwgNTYsIDE5NCwgMjQzLCA1NCwgMjM3LCAyMzcsIDIyMCwgCisgICAgMjA0LCAyMjksIDIwNiwgMjE2LCAzOSwgMjIxLCAyMjksIDIxNiwgMzksIDIzMCwgMzcsIDI0MywgNDksIDIxOCwgMTU4LCAKKyAgICAyNDMsIDQ5LCAyMjAsIDE4NCwgMjQ1LCAxMDMsIDI0MSwgMTM0LCAyMzAsIDM3LCAyMjIsIDc5LCAyMTgsIDE1OCwgMjIyLCAKKyAgICA3OSwgMjI1LCAxOTksIDIyNCwgNjYsIDIxNCwgMTUzLCAyMjEsIDEzMiwgMjI2LCAyMTUsIDUzLCAyMjEsIDEzMiwgMjEyLCAKKyAgICA5OSwgMjExLCAyNDMsIDUzLCAyMjAsIDEyNywgNTAsIDIyMCwgMTI3LCAyMTEsIDM2LCAyMjAsIDEyNywgMjE4LCAyMjQsIAorICAgIDIyMCwgMTI3LCAyMTgsIDIyNCwgNTAsIDIyMCwgMTI3LCAyMTgsIDIyNCwgMjExLCAzNiwgMjIwLCAxMjcsIDI0OCwgMTk5LCAKKyAgICAyMTUsIDQxLCAyMzAsIDQxLCAyNTIsIDEwOSwgMjE5LCAxODAsIDgzLCAyMTUsIDQxLCAyMTgsIDE2MiwgMjUyLCAxMDksIAorICAgIDIxOSwgMTgwLCA4MywgMjE5LCAyOCwgODMsIDUwLCAyNDIsIDE2OCwgODMsIDIzMywgMTAsIDIyMiwgODEsIDIwOSwgMjIzLCAKKyAgICAxNTcsIDIxMSwgMjAzLCAyNDgsIDIwMCwgMjMzLCAyNywgMjIwLCAyMDQsIDI1MSwgMjA3LCAyMzcsIDI0MCwgMjQ5LCA4NSwgCisgICAgMjQxLCAxMTYsIDIxNCwgMjM1LCA0NywgNDksIDI0OSwgMTM0LCAyLCAyMTksIDE5MCwgNDgsIDQ5LCAyNDksIDEzNCwgMiwgCisgICAgMjE5LCAxOTAsIDUwLCAyMTksIDE5NiwgODMsIDIxOSwgMTk2LCAyNDIsIDE2OCwgODMsIDI0MiwgMTY4LCAyMTksIDE5NiwgCisgICAgODMsIDIxMSwgMTU5LCAzLCAyNDIsIDIwMywgMjE4LCAyMjQsIDIyMSwgMTIsIDUzLCA2MCwgOTIsIDI0OSwgODUsIDYwLCAKKyAgICA4NiwgMjQ5LCA4NSwgMTE0LCAyNTEsIDIwOSwgMjE4LCAyMjQsIDIxNiwgNTIsIDI0NywgMTkzLCAyMDksIDIwNiwgMTE4LCAKKyAgICAyNTEsIDIwOCwgMjUyLCAxNjAsIDIwOCwgMjI3LCAyNDcsIDE1MywgMjI2LCAyMDIsIDUzLCAyMTMsIDkzLCAyNDYsIDc4LCAKKyAgICAyMzMsIDIsIDIwOSwgMjIzLCAyNDEsIDE3MywgMjIwLCA3MiwgODMsIDEyOSwgNjcsIDIyMCwgNzEsIDIxOSwgMjA3LCAyMjAsIAorICAgIDEyNywgMjQxLCAxMjUsIDY3LCAyMjAsIDcxLCAyNDEsIDIwNCwgNjcsIDIyMCwgNzEsIDExOCwgNjcsIDIyMCwgNzEsIDI0MSwgCisgICAgMTI1LCA2NywgODMsIDI0NCwgMjEsIDI0NywgNTksIDIxMSwgNDcsIDc5LCAyNDEsIDEyNSwgMjQ1LCAyMSwgMjI3LCAxMDksIAorICAgIDExLCAyMTQsIDE1MywgMjA2LCAyMzIsIDIzMiwgMTE3LCAyNDEsIDgwLCAyNTIsIDQ4LCAyMzMsIDAsIDIxMSwgMTc1LCAKKyAgICAyMzMsIDAsIDIxNiwgMzksIDIzMywgMCwgMjIwLCAyMTgsIDIzMCwgMzcsIDIzMiwgMjI2LCAyMTgsIDE1OCwgMjMyLCAyMjYsIAorICAgIDI0MSwgMjE1LCAyMTMsIDIxMSwgMjMyLCAyMjYsIDIyMCwgMTg0LCAyNDUsIDEwMywgMjMyLCAyMjYsIDIzMywgMzksIDIxMywgCisgICAgNDEsIDIxMywgMTEwLCAyNTMsIDExLCAyMTMsIDQxLCAyMTMsIDExMCwgMjMzLCAzOSwgOCwgMjQxLCAxMzYsIDIxNSwgMjMyLCAKKyAgICAyNTMsIDExLCA4LCAyNDEsIDEzNiwgMjE1LCAyMzIsIDIyNSwgMTkzLCAxOCwgMjE1LCAyMzMsIDIyNCwgNjIsIDE4LCAyMTUsIAorICAgIDIzMywgMjEzLCAxMzksIDIwNSwgODUsIDIxMywgMTM5LCA3LCA1LCAxLCA3NCwgMjEzLCAxMzksIDEzOSwgMjEzLCAxMzksIAorICAgIDE2OCwgMjEzLCAxMzksIDE4NCwgMjEzLCAxMzksIDE5NSwgMjEzLCAxMzksIDE5MywgMjEzLCAxMzksIDIwMCwgMjEzLCAKKyAgICAxMzksIDEwMSwgNTMsIDIxMywgMTM5LCAyMjYsIDIwMSwgMjEzLCAxMzksIDI0MiwgMjQyLCA1MywgMjEzLCAxMzksIDQ3LCAKKyAgICAyMjEsIDIxNiwgMjEzLCAxMzksIDQ4LCAyMjEsIDIxNiwgMjEzLCAxMzksIDcsIDUsIDEsIDIyNiwgMzMsIDIxMywgMTgzLCAKKyAgICAyMDUsIDg1LCAyMTMsIDE4MywgMTAyLCAyMTMsIDE4MywgMTA1LCAyMTMsIDE4MywgMTQyLCAyMTMsIDE4MywgMTM5LCAyMTMsIAorICAgIDE4MywgMTY4LCAyMTMsIDE4MywgMTg0LCAyMTMsIDE4MywgMTk1LCAyMTMsIDE4MywgMTkzLCAyMTMsIDE4MywgMjAwLCAKKyAgICAyMTMsIDE4MywgMTAxLCA1MywgMjEzLCAxODMsIDIyNiwgMjAxLCAyMTMsIDE4MywgMjQyLCAyNDIsIDUzLCAyMTMsIDE4MywgCisgICAgNDcsIDIyMSwgMjE2LCAyMTMsIDE4MywgNDgsIDIyMSwgMjE2LCA3LCAyMTMsIDE4MywgNSwgMSwgNjIsIDcsIDIxMywgMTgzLCAKKyAgICA1LCAxLCA3NSwgNywgMjEzLCAxODMsIDUsIDEsIDc2LCA3LCAyMTMsIDE4MywgNSwgMSwgMjA2LCAxOTUsIDcsIDIxMywgCisgICAgMTgzLCA1LCAxLCAyMTcsIDEwMCwgNywgMjEzLCAxODMsIDUsIDEsIDIzOSwgMTU1LCA3LCAyMTMsIDE4MywgNSwgMSwgMjMyLCAKKyAgICA3NiwgNywgMjEzLCAxODMsIDUsIDEsIDE0OSwgNywgMjEzLCAxODMsIDUsIDEsIDIyOSwgMjgsIDcsIDIxMywgMTgzLCA1LCAKKyAgICAxLCAyMjYsIDMzLCA3LCAyMTMsIDE4MywgNSwgMSwgMjIyLCA2NywgNywgMjEzLCAxODMsIDUsIDEsIDE4MiwgNywgMjEzLCAKKyAgICAxODMsIDUsIDEsIDIxMywgMTAsIDI0MiwgMTgzLCA1MywgMjQ3LCAxNjMsIDUzLCAyNDcsIDQ1LCA1MywgMjQxLCAxMDYsIAorICAgIDI0MSwgMTEwLCA1MywgMjI5LCAxODgsIDUzLCAyMjYsIDIxNiwgNTMsIDIyNSwgMjE2LCA1MywgMjIxLCAxMDksIDUzLCAKKyAgICAyMTgsIDI3LCA1MywgMjA2LCAyNDAsIDUzLCAxODYsIDIxNSwgMjAwLCA1MywgMjQ1LCAzMCwgNTMsIDI0MiwgMTg0LCA1MywgCisgICAgMjMxLCAxMDQsIDUzLCAyMTAsIDE2MywgNTMsIDI0NCwgNCwgNTMsIDI0MCwgMTQ2LCAyMjEsIDE0MywgNTMsIDIyMSwgMTA2LCAKKyAgICA1MywgMjM5LCAyMDgsIDUzLCAyNTEsIDE3NCwgNTMsIDIzOCwgNDgsIDUzLCAyNDgsIDE0MywgNTMsIDIyOSwgMTc5LCAyMTEsIAorICAgIDg4LCA1MywgMjE0LCAxMzQsIDUzLCAyMTIsIDk2LCA1MywgMjMzLCA1MiwgMjE4LCAyNywgNTMsIDIxMCwgMTQ2LCAyMjksIAorICAgIDE4OCwgNTMsIDIyNCwgNDksIDE0MSwgNTMsIDIyNywgMjE5LCA1MywgMjE4LCA0NywgNTMsIDM2LCA0NywgMjM5LCA5MCwgCisgICAgNTIsIDM2LCA0OCwgMjM5LCA5MCwgNTIsIDM2LCAxNTIsIDc5LCAyMjksIDIwNiwgMjIyLCA4MiwgMzYsIDIxNSwgMTQ0LCAKKyAgICA3OSwgMjI5LCAyMDYsIDIyMiwgODIsIDM2LCAyNTIsIDg3LCA1MSwgNTIsIDM2LCAyNDcsIDE5NCwgNTEsIDUyLCAzNiwgNDcsIAorICAgIDUxLCA1MiwgMzYsIDQ4LCA1MSwgNTIsIDM2LCAyMTgsIDE0OSwgMjIyLCA4MiwgMzYsIDI0NywgMTk0LCAyMTgsIDE0OSwgCisgICAgMjIyLCA4MiwgMzYsIDI1MiwgODcsIDIxOCwgMTQ5LCAyMjIsIDgyLCAzNiwgMTI5LCAxNzcsIDUyLCAzNiwgMjQxLCAxMjUsIAorICAgIDE3NywgNTIsIDM2LCAyNDMsIDM3LCAyNDcsIDIzMywgMzYsIDI0MywgMzcsIDIxNCwgMTA3LCAzNiwgMjQzLCAzNywgMjQ1LCAKKyAgICAxNTYsIDM2LCAyNDMsIDM3LCAyNDcsIDIzNCwgMjUwLCAxNzEsIDM2LCA0NywgNDgsIDUxLCA1MiwgMzYsIDI0MywgMzcsIAorICAgIDIxNywgOTMsIDM2LCAyNDMsIDM3LCAyMzEsIDE3MCwgMzYsIDI0MywgMzcsIDIwOSwgMTk4LCAyMjAsIDIwMSwgMjExLCA1MSwgCisgICAgMzYsIDIxOCwgMjI1LCAyMTQsIDE4MSwgMjIyLCA4MiwgMzYsIDUwLCA3OSwgMjEzLCAyMjUsIDIyMiwgODIsIDM2LCAyNTIsIAorICAgIDk3LCA5MywgMzYsIDIxMSwgMzYsIDIwOSwgMjI1LCAzNiwgMjA3LCAxNywgMjQ5LCAxMTYsIDUyLCAzNiwgOTIsIDUxLCAKKyAgICAyMjIsIDgyLCAzNiwgMTUyLCA1MCwgMjE0LCAxODEsIDIyMiwgODIsIDM2LCA4NiwgMjM5LCA5MCwgMiwgMTM4LCAyNDQsIDYsIAorICAgIDM2LCA5MiwgMjM5LCA5MCwgMiwgMTM4LCAyNDQsIDYsIDM2LCA0NywgNTEsIDU1LCAzNiwgNDgsIDUxLCA1NSwgMzYsIDI1MSwgCisgICAgMjEwLCA1MiwgMjUzLCAxNywgMjIyLCAyMDMsIDI1MywgMSwgMjExLCAxMzAsIDIxMiwgNDIsIDIxMywgMTkyLCAxNTksIDYsIAorICAgIDI0OSwgMzQsIDI0NSwgMjQ1LCAyNDgsIDEzNCwgMjQ4LCAxMjksIDIyOSwgMjA2LCA5MywgMjQ4LCAyMDEsIDIyMiwgMjAzLCAKKyAgICAyNDgsIDI0OSwgMjA5LCAyMzMsIDI0MiwgMTg1LCAyNDcsIDEyNCwgMjE3LCA5MCwgMjQ1LCAyNDUsIDI0MiwgNTYsIDEyMSwgCisgICAgNSwgMjQxLCA1NSwgMTIxLCA2LCAyMzksIDE1NSwgMjQ5LCAyMDAsIDYsIDIzOSwgMTU1LCAxNTksIDYsIDIzOSwgMTU1LCAKKyAgICAyMjAsIDIzNSwgMjQ3LCAxMjQsIDIyMCwgMjM1LCAyNDcsIDEyNSwgMTMxLCAxMTgsIDIyMSwgNTMsIDEyMSwgNiwgNzQsIAorICAgIDI0OSwgMjAwLCA2LCA3NCwgMTIxLCA2LCAxNDksIDEyMSwgNSwgMTQ5LCAyMzAsIDE1OSwgNjMsIDI1MCwgMTI5LCA5MywgCisgICAgMTU5LCA2LCAyMjYsIDMzLCAyMjMsIDE3NSwgNTMsIDIxNCwgMTY1LCAyMTksIDQwLCAyNDcsIDkzLCAxMjEsIDYsIDIyMiwgCisgICAgNjcsIDE1OSwgNiwgMjIyLCA2NywgMTU5LCA2LCAyMjAsIDI3LCAxMjEsIDYsIDEzNywgMjQ5LCAyMDAsIDYsIDEzNywgMTU5LCAKKyAgICA2LCAxMzcsIDIyMCwgMTMzLCAyMTIsIDE4NSwgMjE4LCAyMzcsIDIxNiwgMzMsIDgzLCAyMTIsIDEwOCwgNTMsIDIxMSwgNzksIAorICAgIDE0MSwgNTMsIDIwOSwgMjMsIDE1OSwgNiwgMjA1LCAxNTksIDIyMiwgOTYsIDUzLCAyMjIsIDE5MywgNTMsIDIzMywgMiwgCisgICAgMjIyLCAxOTMsIDUzLCAyNDksIDIwMCwgNiwgMjA1LCAxNTksIDIwMSwgMjcsIDUsIDEsIDIzMiwgMjQ5LCAyMzEsIDIxMSwgCisgICAgNTMsIDI1MiwgMTA2LCA1MywgMTIxLCA2LCAyNTEsIDE1MCwgMjQ5LCAyMDAsIDYsIDI0OSwgMzQsIDI0MiwgMjA3LCA5MywgCisgICAgMTIxLCA1LCA3NSwgMTIxLCA2LCA3NSwgMTIxLCA2LCAyNDIsIDEzOSwgMjAxLCA2LCAyNDIsIDEzOSwgMTIxLCA2LCAyMjksIAorICAgIDI4LCAxMjEsIDUsIDc2LCAxMjYsIDkzLCAyNTAsIDExLCA5MywgMjQwLCA0OCwgOTMsIDI0NiwgMTEyLCA5MywgMjMzLCA0MywgCisgICAgMjE0LCAxNjMsIDIxOCwgOTcsIDYsIDIyMCwgMjcsIDI0MiwgNTksIDUzLCAxNTksIDUsIDIyMSwgNTMsIDE1OSwgNSwgMjQwLCAKKyAgICAyMTUsIDE1OSwgNiwgMjQwLCAyMTUsIDE1OSwgNiwgMjIxLCA1MywgMTU5LCAyMjYsIDMyLCAyMTMsIDE1NywgMjAxLCAzOCwgCisgICAgNiwgMjQxLCA1NSwgMjAxLCAzOCwgNiwgMTQ5LCAyMTgsIDIyNCwgMzgsIDYsIDE0OSwgMjAxLCAzOCwgNiwgMjA2LCAxMjMsIAorICAgIDE1OSwgMzUsIDYsIDI0NiwgMjQwLCAxNTksIDM1LCA1LCAyNDYsIDI0MCwgMTU5LCAzNSwgNSwgNzUsIDE1OSwgMzUsIDUsIAorICAgIDc0LCAxNTksIDM1LCA1LCAyMzIsIDIwMywgMjIwLCAxMDMsIDIyOSwgMjA1LCAyMDEsIDI1MiwgMTI1LCAyMjEsIDEzMiwgCisgICAgNTMsIDI1MiwgMTgzLCAyMDEsIDUsIDI0MiwgMTM5LCAxNiwgMzMsIDIxNywgMTYwLCAyMTQsIDE2MywgMjA3LCAxNDYsIAorICAgIDI0MSwgMTE2LCAxMTksIDIxNiwgMTksIDIwNywgMTQ2LCAyNDEsIDExNiwgMTE5LCAyMjQsIDE4OSwgMjA3LCAxNDYsIDI0MSwgCisgICAgMTE2LCAxMTksIDIxMiwgOTEsIDIwNywgMTQ2LCAyNDEsIDExNiwgMTE5LCAyMTIsIDEwLCAyMDcsIDE0NiwgMjQxLCAxMTYsIAorICAgIDExOCwgMjEyLCA3LCAyMDcsIDE0NiwgMjQxLCAxMTYsIDExOSwgMjQxLCAyNDYsIDIwNywgMTQ2LCAyNDEsIDExNiwgMTE4LCAKKyAgICAyNDEsIDI0NSwgMjA3LCAxNDYsIDI0MSwgMTE2LCAxMjksIDI0MSwgMjQ1LCAyMDcsIDE0NiwgMjQxLCAxMTYsIDI0MSwgCisgICAgMTI1LCAyNDEsIDI0NSwgMjA3LCAxNDYsIDI0MSwgMTE2LCAxMTksIDIxNSwgMCwgMjA3LCAxNDYsIDI0MSwgMTE2LCAyNDEsIAorICAgIDIwNCwgMjE0LCAyNTQsIDIwNywgMTQ2LCAyNDEsIDExNiwgMTE5LCAyNDMsIDgzLCAyMDcsIDE0NiwgMjQxLCAxMTYsIDEyOSwgCisgICAgMjQzLCA4MSwgMjA3LCAxNDYsIDI0MSwgMTE2LCAyNDEsIDIwNCwgMjQzLCA4MSwgMjA3LCAxNDYsIDI0MSwgMTE2LCAyMTYsIAorICAgIDIzLCAyNDMsIDgxLCAyNDEsIDExNiwgMjIzLCAxNzYsIDEwMiwgMjE4LCAxMDksIDIyMywgMTc3LCAxMDIsIDIxOCwgMTA5LCAKKyAgICAyMjMsIDE3NywgMTA1LCAyMTgsIDEwOSwgMjIzLCAxNzcsIDE0MiwgMjE4LCAxMDksIDIyMywgMTc3LCAxMzksIDIxOCwgCisgICAgMTA5LCAyMjMsIDE3NywgMTY4LCAyMTgsIDEwOSwgMjIzLCAxNzcsIDE4NCwgMjE4LCAxMDksIDIyMywgMTc3LCAxOTUsIAorICAgIDIxOCwgMTA5LCAyMjMsIDE3NywgMTkzLCAyMTgsIDEwOSwgMjIzLCAxNzcsIDIwMCwgMjE4LCAxMDksIDIyMywgMTc3LCAKKyAgICAyMTIsIDk4LCAyMTgsIDEwOSwgMjIzLCAxNzcsIDI0MywgNTgsIDIxOCwgMTA5LCAyMjMsIDE3NywgMjEwLCAxMjYsIDIxOCwgCisgICAgMTA5LCAyMjMsIDE3NywgMjQxLCAyNDMsIDIxOCwgMTA5LCAyMjMsIDE3NywgMTE5LCAyMzgsIDI5LCAyMTgsIDEwOSwgMjIzLCAKKyAgICAxNzcsIDI0MSwgMjA0LCAyMzgsIDI5LCAyMTgsIDEwOSwgMjIzLCAxNzcsIDExOSwgMjExLCAyNDIsIDUsIDIxOCwgMTA5LCAKKyAgICAyMjMsIDE3NywgMTAyLCA1LCAyMTgsIDEwOSwgMjIzLCAxNzcsIDEwNSwgNSwgMjE4LCAxMDksIDIyMywgMTc3LCAxNDIsIDUsIAorICAgIDIxOCwgMTA5LCAyMjMsIDE3NywgMTM5LCA1LCAyMTgsIDEwOSwgMjIzLCAxNzcsIDE2OCwgNSwgMjE4LCAxMDksIDIyMywgCisgICAgMTc3LCAxODQsIDUsIDIxOCwgMTA5LCAyMjMsIDE3NywgMTk1LCA1LCAyMTgsIDEwOSwgMjIzLCAxNzcsIDE5MywgNSwgMjE4LCAKKyAgICAxMDksIDIyMywgMTc3LCAyMDAsIDUsIDIxOCwgMTA5LCAyMjMsIDE3NywgMjEyLCA5OCwgNSwgMjE4LCAxMDksIDIyMywgCisgICAgMTc3LCAyNDMsIDU4LCA1LCAyMTgsIDEwOSwgMjIzLCAxNzcsIDIxMCwgMTI2LCA1LCAyMTgsIDEwOSwgMjIzLCAxNzcsIAorICAgIDI0MSwgMjQzLCA1LCAyMTgsIDEwOSwgMjIzLCAxNzcsIDExOSwgMjM4LCAyOSwgNSwgMjE4LCAxMDksIDIyMywgMTc3LCAKKyAgICAyNDEsIDIwNCwgMjM4LCAyOSwgNSwgMjE4LCAxMDksIDIyMywgMTc3LCAxMTksIDIxMSwgMjQyLCAyMTgsIDEwOSwgMjIzLCAKKyAgICAxNzcsIDExOSwgMjExLCAyNDMsIDI0OSwgMzUsIDI0NiwgMjQwLCAyMTgsIDEwOSwgMjIzLCAxNzcsIDI0MSwgMjA0LCAyMTEsIAorICAgIDI0MiwgMjE4LCAxMDksIDIyMywgMTc3LCAyMTIsIDk5LCAyMTEsIDI0MiwgMjE4LCAxMDksIDIyMywgMTc3LCAyMTgsIDIyNCwgCisgICAgMTE5LCAyMzgsIDI5LCA3LCA1LCAxLCAyMTgsIDIyNCwgMjQ5LCAzNCwgMjE4LCAxMDksIDIyMywgMTc3LCAyMTUsIDEwLCAKKyAgICAyMzAsIDc5LCAxNywgMjE4LCAxMDksIDIyMywgMTc3LCAyNDEsIDI0NCwgMjQzLCAxMjMsIDE3LCAyMTgsIDEwOSwgMjIzLCAKKyAgICAxNzcsIDI0MSwgMjQ0LCAyMTEsIDI0MiwgMjE4LCAxMDksIDIyMywgMTc3LCAxMTksIDIzOCwgMzAsIDIxMSwgMjQyLCAyMDcsIAorICAgIDE0NiwgMjQxLCAxMTYsIDIwNSwgODYsIDIxMiwgNywgOTIsIDQ1LCAxNjcsIDQ1LCA4NiwgNDUsIDE3MywgNDUsIDQ3LCA0OCwgCisgICAgNDUsIDEyMCwgMTMwLCA0NSwgMTQzLCAyMDcsIDM2LCA0NSwgMTQzLCAyNDMsIDExNywgNDUsIDE4OCwgMjQzLCAxMTcsIDQ1LCAKKyAgICAxODgsIDIwNywgMzYsIDQ1LCA5MiwgNTEsIDIsIDkxLCA4NiwgNTEsIDIsIDkxLCA5MiwgMjA3LCA2NSwgNDUsIDg2LCAyMDcsIAorICAgIDY1LCA0NSwgOTIsIDExOCwgMjM5LCA2NywgNDUsIDE2NywgMTE4LCAyMzksIDY3LCA0NSwgODYsIDExOCwgMjM5LCA2NywgCisgICAgNDUsIDE3MywgMTE4LCAyMzksIDY3LCA0NSwgOTIsIDUxLCAyLCAyMTIsIDE5MSwgODYsIDUxLCAyLCAyMTIsIDE5MSwgOTIsIAorICAgIDUxLCAyNDEsIDk4LCAxMzQsIDE2NywgNTEsIDI0MSwgOTgsIDEzNCwgODYsIDUxLCAyNDEsIDk4LCAxMzQsIDE3MywgNTEsIAorICAgIDI0MSwgOTgsIDEzNCwgMTIwLCAxMzAsIDUxLCAyLCAyNTAsIDExNiwgOTIsIDUxLCAyLCAxMDksIDg2LCA1MSwgMiwgMTA5LCAKKyAgICA5MiwgNTEsIDIsIDIyOSwgMTExLCA4NiwgNTEsIDIsIDIyOSwgMTExLCA0NywgNDgsIDIwNywgNjUsIDQ1LCA0NywgNDgsIAorICAgIDUxLCAyLCA5MSwgMTczLCAyMDUsIDMxLCA0NSwgMTY3LCA1MSwgMiwgMjExLCAxNjcsIDIzMCwgMzYsIDE2NywgNTEsIDIsIAorICAgIDIxMSwgMTY3LCAyMTgsIDE1NiwgMTczLCA1MSwgMiwgMjExLCAxNjcsIDIzMCwgMzYsIDE3MywgNTEsIDIsIDIxMSwgMTY3LCAKKyAgICAyMTgsIDE1NiwgODYsIDUxLCAyLCAyNDcsIDkyLCAyNDQsIDYsIDE3MywgNTEsIDIsIDI0NywgOTIsIDIzMCwgMzYsIDI1MiwgCisgICAgODcsIDIxMSwgMTAyLCAyMTYsIDU1LCA0NSwgMjQ3LCAxOTQsIDIxMSwgMTAyLCAyMTYsIDU1LCA0NSwgMTQzLCAyMDcsIDM2LCAKKyAgICA1MSwgMjExLCAxMzAsIDE1MiwgMTM0LCA5MiwgNTEsIDIxMSwgMTMwLCAyNTAsIDEyOSwgMTMxLCA4NiwgNTEsIDIxMSwgCisgICAgMTMwLCAxMzQsIDI1MiwgODcsIDIyMiwgMTQyLCAyNDcsIDIzNCwgNDUsIDI0NywgMTk0LCAyMjIsIDE0MiwgMjQ3LCAyMzQsIAorICAgIDQ1LCA5MiwgMjM5LCA5MCwgMiwgMTM4LCAyMDksIDE5NiwgOTIsIDIzOSwgOTAsIDIsIDEzOCwgMjQ0LCA2LCAxNjcsIDIzOSwgCisgICAgOTAsIDIsIDEzOCwgMjE4LCAxNTYsIDE2NywgMjM5LCA5MCwgMiwgMTM4LCAyMzAsIDM2LCA4NiwgMjM5LCA5MCwgMiwgMTM4LCAKKyAgICAyMDksIDE5NiwgODYsIDIzOSwgOTAsIDIsIDEzOCwgMjQ0LCA2LCAxNzMsIDIzOSwgOTAsIDIsIDEzOCwgMjE4LCAxNTYsIAorICAgIDE3MywgMjM5LCA5MCwgMiwgMTM4LCAyMzAsIDM2LCA4NiwgNTEsIDEzMSwgOTIsIDQ1LCAxNjcsIDUxLCA5MiwgNzMsIDE3MywgCisgICAgNDUsIDkyLCA1MSwgMTMxLCA4NiwgNDUsIDkyLCAyMjIsIDMwLCAyNTEsIDI0MSwgMTY3LCAyMjIsIDMwLCAyNTEsIDI0MSwgCisgICAgODYsIDIyMiwgMzAsIDI1MSwgMjQxLCAxNzMsIDIyMiwgMzAsIDI1MSwgMjQxLCA5MiwgMjM5LCA5MCwgMTMxLCA4NiwgMjM5LCAKKyAgICA4OSwgODYsIDIzOSwgOTAsIDEzMSwgOTIsIDIzOSwgODksIDkyLCA1MCwgNTEsIDIsIDkxLCA0NywgNDgsIDUwLCA1MSwgMiwgCisgICAgOTEsIDg2LCA1MCwgNTEsIDIsIDkxLCA5MiwgNTAsIDQ1LCAxNjcsIDUwLCA0NSwgODYsIDUwLCA0NSwgMTczLCA1MCwgNDUsIAorICAgIDQ3LCA0OCwgNTAsIDQ1LCAxMjAsIDEzMCwgNTAsIDQ1LCAxNDMsIDIwNywgMzYsIDUwLCA0NSwgMTQzLCAyNDMsIDExNywgCisgICAgNTAsIDQ1LCAxODgsIDI0MywgMTE3LCA1MCwgNDUsIDE4OCwgMjA3LCAzNiwgNTAsIDQ1LCA5MiwgMjExLCAzNiwgNDUsIDg2LCAKKyAgICAyMTEsIDM2LCA0NSwgOTIsIDIxNCwgMTAzLCA0NSwgODYsIDIxNCwgMTAzLCA0NSwgMTY3LCA1MSwgMiwgNTAsIDkxLCAxNzMsIAorICAgIDUxLCAyLCA1MCwgOTEsIDkyLCAyNDYsIDc3LCA0NSwgMTY3LCAyNDYsIDc3LCA0NSwgODYsIDI0NiwgNzcsIDQ1LCAxNzMsIAorICAgIDI0NiwgNzcsIDQ1LCA5MiwgNTEsIDIxMSwgMTMwLCAxMzQsIDg2LCA1MSwgMjExLCAxMzAsIDEzNCwgOTIsIDU5LCA0NSwgCisgICAgMTY3LCA1OSwgNDUsIDg2LCA1OSwgNDUsIDE3MywgNTksIDQ1LCAxNjcsIDU5LCA1MSwgMjQxLCA5OCwgMTM0LCAxNjcsIDU5LCAKKyAgICA1MSwgMjIyLCAxNjYsIDIyMSwgMTY3LCAxNjcsIDU5LCA1MSwgMjIyLCAxNjYsIDIyMSwgMTY4LCAyLCAxOTQsIDEzNCwgCisgICAgMTY3LCA1OSwgNTEsIDIyMiwgMTY2LCAyMjEsIDE2OCwgMiwgNzksIDEzNCwgMTY3LCA1OSwgNTAsIDQ1LCAxNjcsIDU5LCAKKyAgICA1MCwgNTEsIDIyMiwgMTY2LCAyMjEsIDE2NywgODYsIDU5LCA1MSwgMjQxLCA5OCwgMjA3LCA4NiwgMTQzLCAyMDcsIDM2LCAKKyAgICA1MSwgMjExLCAxMzAsIDI0NywgOTEsIDE4OCwgMjQzLCAxMTcsIDUxLCAyMTEsIDEzMCwgMjQ3LCA5MSwgMTIwLCAxMzAsIAorICAgIDU5LCA0NSwgNDgsIDUxLCAyLCA1LCAyNDcsIDIzMywgMTczLCA1MSwgOTIsIDczLCAxNjcsIDQ1LCAxMjksIDg2LCAyNTEsIAorICAgIDI0MSwgOTIsIDUxLCAyLCA3OSwgOTEsIDg2LCA1MSwgMiwgNzksIDkxLCA0NywgNDgsIDUxLCAyLCA3OSwgOTEsIDkyLCA1MSwgCisgICAgMiwgNTAsIDc5LCA5MSwgODYsIDUxLCAyLCA1MCwgNzksIDkxLCA0NywgNDgsIDUxLCAyLCA1MCwgNzksIDkxLCA5MiwgMjIyLCAKKyAgICAxNDAsIDQ1LCA4NiwgMjIyLCAxNDAsIDQ1LCA0NywgNDgsIDIyMiwgMTQwLCA0NSwgMzMsIDI1MiwgMTU2LCAyNDcsIDE1MCwgCisgICAgMjIxLCAyMDksIDI0NSwgMTQwLCAyMTIsIDMyLCAyNDIsIDE2NCwgMjEyLCAzMiwgMjQ1LCA0MiwgMjI0LCA0MywgMjQyLCAKKyAgICAxNjUsIDI0MywgNDMsIDIxNiwgMjgsIDIzMywgNTcsIDIyNSwgMjI3LCAyNDMsIDYxLCAyMjIsIDIwMywgMjI0LCA0MywgCisgICAgMjUyLCAxMjMsIDI0MywgNjEsIDIyMiwgMjAzLCA1LCAyNDMsIDYxLCAyMjIsIDIwMywgMjQ3LCAxMTgsIDI1MSwgMjMyLCAKKyAgICAyMjcsIDg3LCAyNDUsIDQyLCAyMjQsIDQzLCAyNDcsIDEyMCwgMjUxLCAyMzIsIDIyNywgODcsIDUsIDI0NywgMTE4LCAyNTEsIAorICAgIDIzMiwgMjI3LCA4NywgMjQzLCAzNCwgNzMsIDIyMCwgMTA1LCAyMjYsIDMyLCAyMjAsIDExNSwgMjI2LCAzMiwgMjQ3LCA5NiwgCisgICAgMjI2LCAzMiwgMjEzLCAxNTcsIDIyNiwgMjAyLCA1MywgMjI2LCAyMDAsIDUzLCA2NywgMjIwLCAyMTgsIDI0NSwgNzUsIAorICAgIDIxNCwgMjM1LCAyMTYsIDI5LCAyMjYsIDIwMSwgMjUxLCAyMTAsIDIyMiwgMTMyLCAyMTgsIDE0OSwgMjIyLCAxMzIsIDI0OSwgCisgICAgODYsIDIyMiwgMTMyLCA0OSwgMjE4LCAxMDMsIDI0NywgMzYsIDIxOCwgMTAzLCAyNDEsIDExOCwgMjE4LCAxMDMsIDIyMCwgCisgICAgMTAxLCAxMjQsIDIzMywgNDUsIDQ4LCAyNTIsIDEwOCwgMjUyLCAxMDgsIDIyNywgMTE2LCAyNTIsIDEwOCwgMjE0LCAxMzMsIAorICAgIDI1MiwgMTA4LCAyNDUsIDc3LCAyNDUsIDQyLCAyMjQsIDQzLCAyNDUsIDgxLCAyMjEsIDIyMiwgMTI0LCAyMjQsIDQzLCAKKyAgICAyMjEsIDIyMiwgMTI0LCAyMjksIDEzNCwgMjUyLCAxMTcsIDIyOSwgMTM0LCAyMjIsIDEyMiwgMjMzLCA3LCAyMDksIDIxOCwgCisgICAgMjMzLCAyMSwgNTAsIDIzMywgMjEsIDIxMSwgMzYsIDIzMywgMjEsIDI0NywgMTEzLCAyMzMsIDIxLCAyMTMsIDEyOSwgMjMzLCAKKyAgICAyMSwgMjA4LCAxNjMsIDIzMywgMjEsIDI0NywgMTk0LCAyMzMsIDIxLCAyNDcsIDE5NCwgMjQ3LCAxMTMsIDIzMywgMjEsIAorICAgIDI1MiwgODcsIDI0NywgMTEzLCAyMzMsIDIxLCAyMTIsIDMxLCAyNTAsIDUyLCAyMTksIDYxLCAyMjAsIDEwMiwgNjcsIDIyNiwgCisgICAgMjAxLCAyNDIsIDE3MCwgMjQwLCAxNTIsIDIyMCwgMTAyLCAyMzgsIDEzNSwgMjExLCAxODEsIDIyMiwgMTMyLCAyMTgsIAorICAgIDIyNCwgMjExLCAxODAsIDIzMywgMiwgMjMwLCA2NSwgMTgyLCAyMTUsIDQzLCAyMDcsIDY0LCAyMDYsIDIyMSwgMjIwLCAKKyAgICAxMTUsIDIyNCwgNDMsIDIxMSwgMTgwLCAyMjYsIDIwMiwgMjExLCAxODAsIDI1MSwgMjAzLCAxNDYsIDEyNCwgMjI0LCA0MywgCisgICAgMjUxLCAyMDMsIDE0NiwgMTI0LCAyNTIsIDQ0LCAxNDYsIDEyNCwgMjUyLCA0NCwgMjQ5LCA1NywgMjI0LCA0MywgMjUzLCAKKyAgICAxMCwgMTQ2LCAxMjQsIDIyNSwgMTAzLCAyNTIsIDQ0LCAyMjQsIDUxLCAyNTMsIDEwLCAxNDYsIDEyNCwgMjUyLCAxNDksIAorICAgIDE0NiwgMTI0LCAyMjQsIDQzLCAyNTIsIDE0OSwgMTQ2LCAxMjQsIDI1MiwgMTQ5LCAxNDYsIDIyMiwgMTIzLCAxNDYsIDEyNCwgCisgICAgMjExLCAzNiwgMjExLCAxODAsIDI1MiwgMTU3LCAxNDYsIDEyNCwgMjQyLCAyMzcsIDEyNCwgMjQwLCAxNTEsIDI0MiwgMjM3LCAKKyAgICAxMjQsIDI0NSwgMTQxLCAyNTAsIDUsIDI1MiwgNDYsIDIxMiwgNDIsIDIyOSwgMjEzLCAyNDAsIDE1MSwgMTQ2LCAxMjQsIAorICAgIDI1MiwgNDQsIDE0NiwgMjExLCAxMzAsIDIyMiwgMTIzLCAyMTIsIDQyLCAyMzMsIDg0LCAyMjIsIDIwMywgMjMzLCA4NCwgCisgICAgNzMsIDIyMiwgMTIzLCAyNTIsIDQ0LCAxNDYsIDEyNCwgMjQ3LCAxNjMsIDI0MiwgMjQxLCAyNDIsIDI0MiwgMjQ3LCAxNjIsIAorICAgIDIxOCwgMTQ5LCAyMzMsIDY5LCAxNDYsIDEyNCwgMjE4LCAxNDksIDE0NiwgMTI0LCAyNDcsIDg1LCAxMjQsIDI0MiwgMjA2LCAKKyAgICAyNDIsIDI0MCwgMTI0LCAyMTQsIDI3LCAyNDIsIDI0MSwgMjQ1LCAyMjgsIDE0NiwgMTI0LCAxNDYsIDIxMSwgMTMwLCAyNDksIAorICAgIDQ2LCAyNDUsIDI0NiwgMjI3LCAxMTYsIDI0OSwgNDUsIDIxOSwgMTk0LCAxNDYsIDEyNCwgMjI0LCA0MywgMTQ2LCAxMjQsIAorICAgIDIzNywgMTczLCAxMjQsIDIyNCwgNDMsIDIzNywgMTczLCAxMjQsIDIxMywgMjMxLCAyNDIsIDIzNywgMTI0LCAyMzAsIDEwLCAKKyAgICAyMjIsIDEyMywgMTQ2LCAxMjQsIDIzOSwgMjMwLCAyMjIsIDEyMywgMTQ2LCAxMjQsIDIzMCwgMTAsIDEzMSwgMTQ2LCAxMjQsIAorICAgIDIzOSwgMjMwLCAxMzEsIDE0NiwgMTI0LCAyMzAsIDEwLCAyNDksIDU3LCAyMjQsIDQzLCAxNDYsIDEyNCwgMjM5LCAyMzAsIAorICAgIDI0OSwgNTcsIDIyNCwgNDMsIDE0NiwgMTI0LCAyMjYsIDEwOCwgMjMwLCA5LCAyMjYsIDEwOCwgMjM5LCAyMjksIDI1MCwgNSwgCisgICAgMjI0LCA0MywgMjQyLCAyMzcsIDEyNCwgMjI0LCA0MywgMjMwLCA5LCAyMjQsIDQzLCAyMzksIDIyOSwgMjI1LCAxMDMsIAorICAgIDIzMCwgMTAsIDIyNCwgNTEsIDE0NiwgMTI0LCAyMjUsIDEwMywgMjM5LCAyMzAsIDIyNCwgNTEsIDE0NiwgMTI0LCAyMzAsIAorICAgIDEwLCAyMjIsIDEyMywgMjQyLCAyMzcsIDEyNCwgMjM5LCAyMzAsIDIyMiwgMTIzLCAyNDIsIDIzNywgMTI0LCAyMjUsIDEwMywgCisgICAgMjMwLCAxMCwgMjI0LCA1MSwgMjQyLCAyMzcsIDEyNCwgMjI1LCAxMDMsIDIzOSwgMjMwLCAyMjQsIDUxLCAyNDIsIDIzNywgCisgICAgMTI0LCAyMzAsIDEwLCAyMjIsIDEyMywgMjM5LCAyMjksIDIzOSwgMjMwLCAyMjIsIDEyMywgMjMwLCA5LCAyMjUsIDEwMywgCisgICAgMjMwLCAxMCwgMjI0LCA1MSwgMjM5LCAyMjksIDIyNSwgMTAzLCAyMzksIDIzMCwgMjI0LCA1MSwgMjMwLCA5LCAyMjAsIAorICAgIDEzOSwgMjEzLCAxNzMsIDIyMCwgMTQwLCAyMjIsIDEyMywgMTQ2LCAxMjQsIDIxMywgMTc0LCAyMjIsIDEyMywgMTQ2LCAKKyAgICAxMjQsIDIyMCwgMTQwLCAyMjIsIDEyMywgMjQyLCAyMzcsIDEyNCwgMjEzLCAxNzQsIDIyMiwgMTIzLCAyNDIsIDIzNywgCisgICAgMTI0LCAyNDUsIDQyLCAyMjQsIDQzLCAyMjAsIDE0MiwgMjQ1LCA0MiwgMjI0LCA0MywgMjEzLCAxNzUsIDIxMywgMTgyLCAKKyAgICAyMjIsIDIwMywgMjEzLCAxMzgsIDIyMiwgMjAzLCAyMjQsIDQzLCAzMiwgMjEzLCAxODIsIDIyMiwgMjAzLCAyMjQsIDQzLCAKKyAgICAzMiwgMjEzLCAxMzgsIDIyMiwgMjAzLCAyMTMsIDE4MiwgNzMsIDIyMiwgMTIzLCAxNDYsIDEyNCwgMjEzLCAxMzgsIDczLCAKKyAgICAyMjIsIDEyMywgMTQ2LCAxMjQsIDIyNSwgMTAzLCAzMiwgMjEzLCAxODIsIDczLCAyMjQsIDUxLCAxNDYsIDEyNCwgMjI1LCAKKyAgICAxMDMsIDMyLCAyMTMsIDEzOCwgNzMsIDIyNCwgNTEsIDE0NiwgMTI0LCAyMTMsIDE4MiwgNzMsIDIsIDIyNCwgNDMsIDE0NiwgCisgICAgMTI0LCAyMTMsIDEzOCwgNzMsIDIsIDIyNCwgNDMsIDE0NiwgMTI0LCAyMjYsIDkxLCAyMjYsIDkyLCAyMjYsIDkzLCAyMjYsIAorICAgIDkyLCAyMDksIDIxOCwgNDksIDIzMywgODQsIDIyMiwgMjAzLCA0OSwgMjIyLCAxMTQsIDIyMiwgMjAzLCA0OSwgMjMzLCA4NCwgCisgICAgNzMsIDIyMiwgMTIzLCAxNDYsIDEyNCwgNDksIDIyMiwgMTE0LCA3MywgMjIyLCAxMjMsIDE0NiwgMTI0LCA0OSwgMjQ4LCAKKyAgICAyMTMsIDQ5LCAyNDcsIDI5LCAzOSwgMjIwLCAyMTgsIDM5LCAyMjYsIDIwMSwgMzksIDIxMSwgMTc1LCAzOSwgMjQ1LCA3NSwgCisgICAgMjE0LCAyMzUsIDM5LCA2NywgMjIyLCAxMzIsIDM5LCAyMTgsIDE0OSwgMjIyLCAxMzIsIDM5LCAyNTEsIDIxMCwgMjIyLCAKKyAgICAxMzIsIDM5LCAyNDIsIDI0MSwgMzksIDI0NiwgNzgsIDk4LCAyMjAsIDIxOCwgOTgsIDIyNiwgMjAxLCA5OCwgMjExLCAxNzUsIAorICAgIDk4LCA2NywgMjIyLCAxMzIsIDQ4LCAyMTIsIDIwMSwgNDcsIDIxMiwgMjAxLCAxMzAsIDIxMiwgMjAxLCAxMjAsIDIxMiwgCisgICAgMjAxLCAyNTEsIDIxMywgMjI2LCAxNzYsIDIxMSwgMTYsIDI0MSwgMTQxLCAyMTEsIDM2LCA3OSwgMjUwLCAxMjksIDQ4LCAKKyAgICAyMTAsIDE0MywgNTAsIDc5LCAyNTAsIDEyOSwgNTAsIDQ4LCAyMTAsIDE0MywgMjQ1LCA0MiwgMjI0LCA0MywgMjIwLCA5NiwgCisgICAgMjI0LCA0MywgMjExLCAxNiwgMjQ1LCA0MiwgMjI0LCA0MywgMjQxLCAxNDIsIDIyNSwgMTA1LCA1MCwgNzksIDI1MCwgMTI5LCAKKyAgICA1MCwgNDgsIDIxMCwgMTQzLCAyMjAsIDE0MCwgMjA5LCAyMjcsIDIxOSwgMTEsIDIxMywgMTc0LCAyMDksIDIyNywgMjE5LCAKKyAgICAxMSwgMjI0LCA0OCwgMjEzLCAxOTUsIDIyMiwgMjAzLCAyNDcsIDExOCwgMjUxLCAyMzIsIDIyNCwgNDgsIDIxMywgMTk0LCAKKyAgICAyMjQsIDQ4LCAyMTMsIDE5NSwgNzMsIDIyMiwgMTIzLCAxNDYsIDEyNCwgMjQ3LCAxMTgsIDI1MSwgMjMyLCAyMjQsIDQ4LCAKKyAgICAyMTMsIDE5NSwgMjIyLCAxMjMsIDE0NiwgMTI0LCAyMjIsIDExNCwgMjIyLCAyMDMsIDIzMywgODQsIDIyMiwgMjAzLCAyMjYsIAorICAgIDk3LCAyMzksIDMyLCAyNDcsIDEyOSwgMjI3LCAxNjgsIDIzMywgMTgsIDIwNiwgMTU1LCAyMjUsIDIwNywgMjI0LCA1MCwgCisgICAgNDgsIDI1MiwgMTA5LCAyLCAyNTIsIDIxLCA0OCwgMjExLCA1MSwgMjI2LCAzMiwgMjI5LCAxMzQsIDI1MiwgMTE3LCAyMjYsIAorICAgIDMyLCAyMjksIDEzNCwgMjIyLCAxMjIsIDIyNiwgMzIsIDIzMywgNywgMjI2LCAzMiwgMjA5LCAyMTgsIDI0NSwgMTU3LCAKKyAgICAyMjIsIDEzMiwgNjcsIDIyMiwgMTMyLCAyMTQsIDI3LCAyMjIsIDEzMiwgMjQ1LCA3NSwgMjExLCAxNzUsIDI0OSwgMTQxLCAKKyAgICA0NywgMjI0LCA0OCwgMjQyLCA1OCwgMjE2LCA1MSwgMjIwLCAxMTUsIDQ4LCAyMjQsIDQ4LCAyNDIsIDU4LCAyMTYsIDUxLCAKKyAgICAyMjAsIDExNSwgNDcsIDIxNiwgNTEsIDIyMCwgMTE1LCA0OCwgMjE2LCA1MSwgMjIwLCAxMTUsIDIxOCwgMjI0LCAyMTEsIAorICAgIDE4MSwgMjQyLCAyNDEsIDI0NywgMjYsIDIyOSwgMTM0LCAyMjIsIDEyMiwgMjQ3LCAyNiwgMjI5LCAxMzQsIDI1MiwgMTE3LCAKKyAgICA1MCwgMjEzLCAxODEsIDUwLCAyMTMsIDEzNywgNTAsIDIzMywgNywgNTAsIDIwOSwgMjE4LCAyMjAsIDI0NSwgMTQ2LCAyMywgCisgICAgMjIxLCAyMjIsIDEyNCwgMjMwLCAxMCwgMiwgMjQ1LCAyMywgMjM5LCAyMzAsIDIsIDI0NSwgMjMsIDIwOCwgMjI2LCAyMjYsIAorICAgIDEwOCwgMjMwLCA5LCAyMDgsIDIyNiwgMjI2LCAxMDgsIDIzOSwgMjI5LCAyMzAsIDEwLCAxNDYsIDIxMSwgMTMwLCAyMjIsIAorICAgIDEyMywgMjM5LCAyMjksIDIzOSwgMjMwLCAxNDYsIDIxMSwgMTMwLCAyMjIsIDEyMywgMjMwLCA5LCAxNDYsIDIxMSwgMTMwLCAKKyAgICAyMjIsIDEyMywgMjMwLCA5LCAxNDYsIDIxMSwgMTMwLCAyMjIsIDEyMywgMjM5LCAyMjksIDE0NiwgMjExLCAxMzAsIDIyMiwgCisgICAgMTIzLCAyMjAsIDEzOSwgMTQ2LCAyMTEsIDEzMCwgMjIyLCAxMjMsIDIxMywgMTczLCAyNDUsIDQyLCAyMjQsIDQzLCAyMjAsIAorICAgIDE0MywgMjIyLCAxMjMsIDI0MiwgMjQzLCAyNDUsIDQyLCAyMjQsIDQzLCAyMTMsIDE3NiwgMjIyLCAxMjMsIDI0MiwgMjQzLCAKKyAgICAyMjQsIDQzLCA0OSwgMjMzLCA4NCwgNzMsIDIyMiwgMTIzLCAxNDYsIDEyNCwgMjI0LCA0MywgNDksIDIyMiwgMTE0LCA3MywgCisgICAgMjIyLCAxMjMsIDE0NiwgMTI0LCA0OSwgMjMzLCA4NCwgNzMsIDIyMiwgMTIzLCAyMjQsIDQzLCAxNDYsIDEyNCwgNDksIAorICAgIDIyMiwgMTE0LCA3MywgMjIyLCAxMjMsIDIyNCwgNDMsIDE0NiwgMTI0LCAyMzAsIDEwLCAyNDksIDU3LCAyMjQsIDQzLCAKKyAgICAyNDIsIDIzNywgMTI0LCAyMzksIDIzMCwgMjQ5LCA1NywgMjI0LCA0MywgMjQyLCAyMzcsIDEyNCwgMjIwLCAxNDAsIDI0OSwgCisgICAgNTcsIDIyNCwgNDMsIDI0MiwgMjM3LCAxMjQsIDIxMywgMTc0LCAyNDksIDU3LCAyMjQsIDQzLCAyNDIsIDIzNywgMTI0LCAKKyAgICAyMjQsIDQzLCAyMjQsIDQ4LCAyMTMsIDE5NSwgMjIyLCAyMDMsIDI0NSwgNDIsIDIyNCwgNDMsIDI0NywgMTIwLCAyNTEsIAorICAgIDIzMiwgMjI0LCA0OCwgMjEzLCAxOTQsIDIyNCwgNDMsIDIyNCwgNDgsIDIxMywgMTk1LCA3MywgMjIyLCAxMjMsIDE0NiwgCisgICAgMTI0LCAyNDUsIDQyLCAyMjQsIDQzLCAyNDcsIDEyMCwgMjUxLCAyMzIsIDIyNCwgNDgsIDIxMywgMTk1LCAyMjIsIDEyMywgCisgICAgMjQyLCAyNDMsIDc5LCAyNDMsIDU0LCAyMjYsIDI0NSwgMTk0LCAyNDMsIDU0LCAxMjAsIDQ4LCAyNDUsIDE2MywgMjQzLCAKKyAgICA1NCwgMTMwLCA0OCwgMjQ1LCAxNjMsIDI0MywgNTQsIDI0MywgNjEsIDczLCAyLCAxNTIsIDE5NCwgOTEsIDI0MywgNjEsIAorICAgIDczLCAyLCA3OSwgMjUwLCAxMjksIDI1MSwgMjAwLCAyNDMsIDM0LCA3MywgMTk0LCA5MSwgNSwgMjQzLCA2MSwgNzMsIDIsIAorICAgIDc5LCAyNTAsIDEyOSwgMjUxLCAyMDAsIDI0MywgMzQsIDczLCAxOTQsIDkxLCAyNDMsIDYxLCA3MywgMiwgNjcsIDUyLCAKKyAgICAyNDMsIDYxLCA3MywgMiwgMjIyLCA4NiwgNSwgMjQzLCA2MSwgNzMsIDIsIDIyMiwgODYsIDI0MywgNjEsIDczLCAyLCAyMDksIAorICAgIDIyNiwgMjQzLCA2MSwgNzMsIDIsIDExOCwgMTk0LCAyMTMsIDIxMiwgMjQ3LCAxMTgsIDIsIDE1MiwgMTk0LCA5MSwgMjQ3LCAKKyAgICAxMTgsIDIsIDc5LCAyNTAsIDEyOSwgMjUxLCAyMDAsIDI0MywgMzQsIDczLCAxOTQsIDkxLCA1LCAyNDcsIDExOCwgMiwgNzksIAorICAgIDI1MCwgMTI5LCAyNTEsIDIwMCwgMjQzLCAzNCwgNzMsIDE5NCwgOTEsIDI0NywgMTE4LCAyLCAyMjIsIDg2LCA1LCAyNDcsIAorICAgIDExOCwgMiwgMjIyLCA4NiwgMjA1LCAxNjAsIDIyNCwgNDEsIDI1MCwgMTY0LCAyMjcsIDg2LCAyNDUsIDE1OCwgNTMsIDI0MywgCisgICAgNjMsIDQ1LCAyMzgsIDU0LCAxMjAsIDI1MSwgMjQzLCAxMzAsIDI1MSwgMjQzLCAyMjAsIDEwOSwgMjIxLCAxMTIsIDIwNywgCisgICAgNjEsIDIyOSwgMjA1LCA0NywgMjQ4LCAxMzcsIDQ4LCAyNDgsIDEzNywgNDcsIDI0MSwgMTc4LCA0OCwgMjQxLCAxNzgsIAorICAgIDI0OSwgMTU0LCA0OCwgMjQ3LCA2MSwgMjQ5LCAxNTQsIDQ3LCAyNDcsIDYxLCAyMTEsIDEwMiwgNDgsIDI0NywgNjEsIDIxMSwgCisgICAgMTAyLCA0NywgMjQ3LCA2MSwgMjE4LCAyMjQsIDIyNCwgNDMsIDUzLCA0OSwgMjI5LCA4OCwgMjUyLCAyMSwgMjE3LCA2NywgCisgICAgMjE3LCA3NSwgMjEyLCAxMDgsIDIxOSwgNDEsIDIyMCwgMTc4LCAyMzMsIDQ5LCAyMDgsIDIwMiwgMjE0LCAxMDcsIDIyMCwgCisgICAgMjM5LCA3MywgMjMzLCAxNywgNTMsIDIwMSwgMjI0LCA0MywgNTMsIDIwNywgNzEsIDIzOCwgNTYsIDIxMSwgMTAyLCA0NywgCisgICAgMjQ3LCA5MSwgMjExLCAxMDIsIDQ4LCAyNDcsIDkxLCAyNDksIDE1NCwgNDcsIDI0NywgOTEsIDI0OSwgMTU0LCA0OCwgMjQ3LCAKKyAgICA5MSwgMjExLCAxMDIsIDE2MCwgMjMzLCAyMSwgMjQ5LCAxNTQsIDE2MCwgMjMzLCAyMSwgMjQxLCA5NSwgMjE0LCAyMTEsIAorICAgIDEyMCwgMjUxLCAyNDQsIDI1MCwgNiwgMTE4LCAxOTQsIDI1MCwgMTE4LCAyMjIsIDEyNSwgMjMxLCAxNzQsIDI0MiwgMjMzLCAKKyAgICAyMTEsIDEzMCwgMjEyLCA0MiwgMjE4LCAxNjcsIDIwNiwgMTk2LCAyMzMsIDY5LCAzMiwgMjE5LCAzOCwgMjQ5LCAxNDAsIAorICAgIDIzMSwgMTcyLCAyMzAsIDQxLCAyNTIsIDEwOSwgMTQ1LCAyMTgsIDE2MiwgMjUyLCAxMDksIDE0NSwgMjQyLCAyMzMsIDIxMSwgCisgICAgMTMwLCAyMTIsIDQyLCAyMzAsIDQ2LCAyNTAsIDE3LCAyMTgsIDE0OCwgMjQ2LCAyNTAsIDI1MiwgMTU3LCAyNTEsIDI1MiwgCisgICAgMjEzLCA0MCwgMjExLCA5MCwgMjE4LCAzMiwgMjQ1LCAxMjIsIDIyMiwgMTE1LCAyNDcsIDEzMSwgMjEyLCAxNjQsIDIxNCwgCisgICAgMjIyLCAyNDcsIDgxLCAyNDcsIDgwLCAyNTIsIDYyLCAyNDEsIDc4LCAxNiwgMjM3LCAyMjIsIDI1MiwgNjIsIDI0MSwgNzgsIAorICAgIDE2LCAyMTQsIDEwMSwgMjE5LCAyMTEsIDI1MiwgNjIsIDI0MSwgNzgsIDE2LCAyMTksIDIxMiwgMjQyLCAyNDMsIDI1MiwgCisgICAgNjIsIDI0MSwgNzgsIDE2LCAyMTksIDIxMiwgMjQ1LCA4MSwgMjUyLCA2MiwgMjQxLCA3OCwgMTYsIDIxOSwgMjEyLCAyNDUsIAorICAgIDE1NiwgMjUyLCA2MiwgMjQxLCA3OCwgMTYsIDIxOSwgMjEyLCAyMzIsIDExMCwgMjUyLCA2MiwgMjQxLCA3OCwgMTYsIDIxOSwgCisgICAgMjEyLCAyNDcsIDIzMywgMjUyLCA2MiwgMjQxLCA3OCwgMTYsIDI0NywgMjM0LCAyMTQsIDMsIDI1MiwgNjIsIDI0MSwgNzgsIAorICAgIDE2LCAyNDcsIDIzNCwgMjMyLCAxMTAsIDI1MiwgNjIsIDI0MSwgNzgsIDE2LCAyMTQsIDIzNiwgMTM0LCAyNTIsIDYyLCAKKyAgICAyNDEsIDc4LCAxNiwgMjUwLCAxNzIsIDEzNCwgMjUyLCA2MiwgMjQxLCA3OCwgMTYsIDIxOSwgMjEyLCAyMTQsIDIzNSwgCisgICAgMjUyLCA2MiwgMjQxLCA3OCwgMTYsIDIxOSwgMjEyLCAyNTAsIDE3MSwgMjUyLCA2MiwgMjQxLCA3OCwgMTYsIDIxOSwgMjEyLCAKKyAgICAyMzAsIDksIDI1MiwgNjIsIDI0MSwgNzgsIDE2LCAyMTksIDIxMiwgMjM5LCAyMjksIDI1MiwgNjIsIDI0MSwgNzgsIDE2LCAKKyAgICA5MiwgMjA5LCA2MCwgMjUyLCA2MiwgMjQxLCA3OCwgMTYsIDg2LCAyMDksIDYwLCAyNTIsIDYyLCAyNDEsIDc4LCAxNiwgCisgICAgMjE5LCAyMTIsIDkyLCA0NSwgMjUyLCA2MiwgMjQxLCA3OCwgMTYsIDIxOSwgMjEyLCA4NiwgNDUsIDI1MiwgNjIsIDI0MSwgCisgICAgNzgsIDE2LCAyNDcsIDIzNCwgMjUwLCAxNzEsIDI1MiwgNjIsIDI0MSwgNzgsIDE2LCAxMzAsIDIxMiwgMjAyLCAyMDksIAorICAgIDIyNiwgMjUyLCA2MiwgMjQxLCA3OCwgMTYsIDI0NSwgMjI4LCAyMTQsIDMsIDI1MiwgNjIsIDI0MSwgNzgsIDE2LCAyMTksIAorICAgIDIxMiwgMTMwLCAyNDgsIDE5OSwgMjUyLCA2MiwgMjQxLCA3OCwgMTYsIDIxOSwgMjEyLCAyNDUsIDIyNywgMjUyLCA2MiwgCisgICAgMjQxLCA3OCwgMTYsIDEzMCwgMjEyLCAyMDIsIDIzMiwgMTEwLCAyNTIsIDYyLCAyNDEsIDc4LCAxNiwgMTY3LCAyMDksIDYwLCAKKyAgICAyNTIsIDYyLCAyNDEsIDc4LCAxNiwgMjE5LCAyMTIsIDE2NywgNDUsIDI1MiwgNjIsIDI0MSwgNzgsIDE2LCAxMjAsIDIxMiwgCisgICAgMjAyLCAyMjIsIDg2LCAyNTIsIDYyLCAyNDEsIDc4LCAxNiwgMjQ1LCAyMzksIDIxNCwgMywgMjUyLCA2MiwgMjQxLCA3OCwgCisgICAgMTYsIDIxOSwgMjEyLCAxMjAsIDI0OCwgMTk5LCAyNTIsIDYyLCAyNDEsIDc4LCAxNiwgMjE5LCAyMTIsIDI0NSwgMjM4LCAKKyAgICAyNTIsIDYyLCAyNDEsIDc4LCAxNiwgMTIwLCAyMTIsIDIwMiwgMjMyLCAxMTAsIDI1MiwgNjIsIDI0MSwgNzgsIDE2LCAxNzMsIAorICAgIDIwOSwgNjAsIDI1MiwgNjIsIDI0MSwgNzgsIDE2LCAyMTksIDIxMiwgMTczLCA0NSwgMjUyLCA2MiwgMjQxLCA3OCwgMTYsIAorICAgIDIxOSwgMTc5LCAyMDksIDIyNiwgMjUyLCA2MiwgMjQxLCA3OCwgMTYsIDI0NSwgMjI4LCAyMDksIDIyNiwgMjUyLCA2MiwgCisgICAgMjQxLCA3OCwgMTYsIDI0NSwgMTU3LCAyMDksIDIyNiwgMjUyLCA2MiwgMjQxLCA3OCwgMTYsIDIzMiwgMTExLCAyMDksIAorICAgIDIyNiwgMjUyLCA2MiwgMjQxLCA3OCwgMTYsIDI0NywgMjM0LCAyMDksIDIyNiwgMjUyLCA2MiwgMjQxLCA3OCwgMTYsIDEyMCwgCisgICAgMjE1LCAxNTYsIDIzMiwgMTEwLCAyNTIsIDYyLCAyNDEsIDc4LCAxNiwgMjE5LCAxNzksIDIxOSwgMjExLCAyNTIsIDYyLCAKKyAgICAyNDEsIDc4LCAxNiwgMjQ3LCAyMzQsIDIxNCwgMjYsIDI1MiwgNjIsIDI0MSwgNzgsIDE2LCAyMTksIDIxMiwgMjQ3LCAxNjIsIAorICAgIDI1MiwgNjIsIDI0MSwgNzgsIDE2LCAxMjAsIDIxMiwgMjAyLCAyNDUsIDE2NiwgMjUyLCA2MiwgMjQxLCA3OCwgMTYsIDI0NSwgCisgICAgMjM5LCAyNDUsIDE2NiwgMjUyLCA2MiwgMjQxLCA3OCwgMTYsIDIxNCwgMjcsIDI0NSwgMTY2LCAyNTIsIDYyLCAyNDEsIDc4LCAKKyAgICAxNiwgMjMyLCAxMTEsIDI0NSwgMTY2LCAyNTIsIDYyLCAyNDEsIDc4LCAxNiwgMjQ3LCAyMzQsIDI0NSwgMTY2LCAyNTIsIAorICAgIDYyLCAyNDEsIDc4LCAxNiwgMTMwLCAyMTUsIDE1NiwgMjE0LCAzLCAyNTIsIDYyLCAyNDEsIDc4LCAxNiwgNDcsIDIxNSwgCisgICAgMTU2LCAyMTQsIDMsIDI1MiwgNjIsIDI0MSwgNzgsIDE2LCAyMTEsIDE4MSwgMjQ1LCAxNjYsIDI1MiwgNjIsIDI0MSwgNzgsIAorICAgIDE2LCAyMzksIDIzMCwgMjQ1LCAxNjYsIDI1MiwgNjIsIDI0MSwgNzgsIDE2LCAyNDcsIDE1NiwgMTM0LCAyNTIsIDYyLCAKKyAgICAyNDEsIDc4LCAxNiwgMjQ1LCAyMzksIDIxMSwgMTgwLCAyNTIsIDYyLCAyNDEsIDc4LCAxNiwgMjA1LCAzMCwgMjUyLCA2MiwgCisgICAgMjQxLCA3OCwgMTYsIDIxNCwgNCwgMjExLCAxODAsIDI1MiwgNjIsIDI0MSwgNzgsIDE2LCAyMTYsIDUzLCAyMDksIDIyNiwgCisgICAgMjUyLCA2MiwgMjQxLCA3OCwgMTYsIDIxOSwgMjEyLCAyMjQsIDQzLCAyNDIsIDI0MywgMjUyLCA2MiwgMjQxLCA3OCwgMTYsIAorICAgIDIxOSwgMjEyLCAyMTksIDE5NSwgMjUyLCA2MiwgMjQxLCA3OCwgMTYsIDEzMCwgMjQ4LCAyMDAsIDIxMSwgMTgwLCAyNTIsIAorICAgIDYyLCAyNDEsIDc4LCAxNiwgMTIwLCAyNDgsIDIwMCwgMjExLCAxODAsIDI1MiwgNjIsIDI0MSwgNzgsIDE2LCAyMzIsIDI0OSwgCisgICAgMjUyLCA2MiwgMjQxLCA3OCwgMTYsIDIxOCwgMjEwLCAyNTIsIDYyLCAyNDEsIDc4LCAxNiwgMjIyLCAxNzAsIDI1MiwgNjIsIAorICAgIDI0MSwgNzgsIDE2LCAyNTIsIDE0NSwgMjA5LCAyMjYsIDI1MiwgNjIsIDI0MSwgNzgsIDE2LCAyNDIsIDI0NSwgMjA5LCAKKyAgICAyMjYsIDI1MiwgNjIsIDI0MSwgNzgsIDE2LCAyMzIsIDI1MCwgMjA5LCAyMjYsIDI1MiwgNjIsIDI0MSwgNzgsIDE2LCAyMjIsIAorICAgIDE3MSwgMjA5LCAyMjYsIDI1MiwgNjIsIDI0MSwgNzgsIDE2LCAyNTIsIDE0NCwgMjI0LCA0MywgMjQ4LCA4MSwgODMsIDQ4LCAKKyAgICAyNTIsIDEwOSwgMiwgMTczLCAyMDUsIDMxLCA0NSwgMjE1LCAxMjcsIDIyMiwgMTQyLCAyNDksIDE0MCwgMjUwLCAyOSwgOTMsIAorICAgIDc5LCAyMjksIDIwNiwgMiwgMjI2LCAyNDcsIDI0NSwgMjMsIDIzMywgMjcsIDkzLCAyNDcsIDExNCwgMjA5LCAyMjQsIDkzLCAKKyAgICAyNDUsIDk2LCAyMDksIDIyNCwgOTMsIDI0MywgNDUsIDkzLCAyNDcsIDE0NiwgOTMsIDU5LCA0OSwgMiwgMjQ4LCAxMjksIAorICAgIDc5LCAyMjksIDIwNSwgMjQzLCAxOSwgOTMsIDI1MiwgMTM5LCAyMzEsIDE3NSwgOTMsIDIzOSwgNDUsIDkzLCAzOSwgMTk0LCAKKyAgICAyNTAsIDEyOSwgMiwgMjI0LCA0MCwgMzksIDIxMSwgNTIsIDI0NCwgOCwgMjQ5LCAxMTEsIDI0NywgMjM0LCAyLCAyMjQsIAorICAgIDQ1LCA0NSwgMjA5LCAyMjIsIDkzLCAyMjYsIDE1NSwgOTMsIDIzNywgMjM1LCA5MywgMjIyLCAxNDEsIDIzOSwgMTU0LCA5MywgCisgICAgMjIyLCAxNDEsIDIzMCwgMTU3LCA5MywgMjIxLCAxOTksIDkzLCAyMjEsIDE5OCwgOTMsIDI0NSwgMTA0LCAyNDcsIDI0LCAKKyAgICAxNiwgMjQxLCAxMzYsIDEwNSwgMjE0LCAxODUsIDkzLCAyNTIsIDYyLCAyNDEsIDc4LCAxNiwgMjE5LCAyMTEsIDI0NiwgMiwgCisgICAgMjE2LCA0MCwgMjMxLCAxNzUsIDkzLCAyMjAsIDEyOSwgMjIyLCAzNywgMjI1LCA4MiwgMjIyLCAzNywgMjIwLCAxMjUsIAorICAgIDIxNywgOTQsIDkzLCAyNDcsIDIwOSwgMjE3LCA5NCwgOTMsIDQ3LCAyMjEsIDIxNywgMjA5LCAyMDMsIDEwOSwgNDcsIDIyMSwgCisgICAgMjE3LCAyNDIsIDE1NywgNDcsIDIyMSwgMjE3LCAyMjksIDkyLCAxMDksIDQ4LCAyMjEsIDIxNywgMjA5LCAyMDMsIDEwOSwgCisgICAgNDgsIDIyMSwgMjE3LCAyNDIsIDE1NywgNDgsIDIyMSwgMjE3LCAyMjksIDkyLCAxMDksIDQ3LCA0OSwgMjQ5LCAxMzQsIAorICAgIDIwOSwgMjAzLCAyNDcsIDkxLCA0NywgNDksIDI0OSwgMTM0LCAyNDIsIDE1NywgNDcsIDQ5LCAyNDksIDEzNCwgMjI5LCA5MiwgCisgICAgMjQ3LCA5MSwgNDgsIDQ5LCAyNDksIDEzNCwgMjA5LCAyMDMsIDI0NywgOTEsIDQ4LCA0OSwgMjQ5LCAxMzQsIDI0MiwgMTU3LCAKKyAgICA0OCwgNDksIDI0OSwgMTM0LCAyMjksIDkyLCAyNDcsIDkxLCA0NywgMjQ3LCAyNiwgMjQ5LCAxMzQsIDIwOSwgMjAzLCAxMDksIAorICAgIDQ3LCAyNDcsIDI2LCAyNDksIDEzNCwgMjI2LCAyNDcsIDIyMSwgNDUsIDQ3LCAyNDcsIDI2LCAyNDksIDEzNCwgMjI5LCA5MiwgCisgICAgMTA5LCAyNDcsIDI2LCAyNDksIDEzNCwgMjQyLCAxNTcsIDQ4LCAyNDcsIDI2LCAyNDksIDEzNCwgMjA5LCAyMDMsIDEwOSwgCisgICAgNDgsIDI0NywgMjYsIDI0OSwgMTM0LCAyMjYsIDI0NywgMjIxLCA0NSwgNDgsIDI0NywgMjYsIDI0OSwgMTM0LCAyMjksIDkyLCAKKyAgICAxMDksIDIzMywgMjIsIDI0MiwgMTU3LCAxOTQsIDIyOSwgMjA2LCAyNDIsIDE1NywgMjA5LCAyMDMsIDQ3LCAyMjIsIDEyMywgCisgICAgMjI5LCA5MiwgNDgsIDI0NywgMjYsIDI0OSwgMTM0LCAyMTcsIDc2LCAyMDksIDIwMywgNDgsIDIyMiwgMTIzLCAyMjksIDkyLCAKKyAgICA0NywgMjQ3LCAyNiwgMjQ5LCAxMzQsIDIxNywgNzYsIDIxMywgMTU4LCAyMTEsIDEwMSwgMjEzLCAxNTgsIDI0OSwgMTUzLCAKKyAgICAyMTEsIDEwMiwgNDksIDE0NSwgMjQ5LCAxNTQsIDQ5LCAxNDUsIDI0OSwgMTU0LCA0OSwgMjQ5LCAxMzQsIDEzMSwgMjExLCAKKyAgICAxMDIsIDQ5LCAxNDUsIDM3LCAxNiwgMjQ5LCAxNTMsIDQ3LCA3OSwgOTYsIDIyOSwgMjA1LCA0OCwgNzksIDk2LCAyMjksIAorICAgIDIwNSwgMTk0LCAyMTcsIDExMCwgMjI5LCAyMDQsIDE5NCwgMjE3LCAxMTAsIDIyOSwgMjAzLCAxOTQsIDIxNywgMTEwLCAKKyAgICAyMjksIDIwMiwgMTk0LCAyMTcsIDExMCwgMjI5LCAyMDEsIDI0NSwgMjE5LCAxNiwgMTQ3LCA3OSwgMjMsIDIxMSwgMTAyLCAKKyAgICAyMTgsIDE2NywgMjQ1LCAyMTksIDE2LCAxNDcsIDc5LCAyMywgMjQ5LCAxNTQsIDIxOCwgMTY3LCAyNDUsIDIxOSwgMTYsIAorICAgIDE0NywgNzksIDIsIDI0NywgMjMzLCAyNDUsIDIxOSwgMTYsIDE0NywgMTMwLCAyMywgMTk0LCAyLCAyNDcsIDIzMywgMjQ1LCAKKyAgICAyMTksIDE2LCAxNDcsIDEyMCwgMjMsIDE5NCwgMiwgMjQ3LCAyMzMsIDI0NSwgMjE5LCAxNiwgMTQ3LCA3OSwgMiwgMjExLCAKKyAgICA1MSwgMjQ1LCAyMTksIDE2LCAxNDcsIDEzMCwgMjMsIDE5NCwgMiwgMjExLCA1MSwgMjQ1LCAyMTksIDE2LCAxNDcsIDEyMCwgCisgICAgMjMsIDE5NCwgMiwgMjExLCA1MSwgMjQ1LCAyMTksIDE2LCAxNDcsIDc5LCAyMywgMjA3LCA2NCwgMjQ1LCAyMTksIDE2LCAKKyAgICAxNDcsIDEzMCwgMjMsIDE5NCwgMiwgMjA3LCA2NCwgMjQ1LCAyMTksIDE2LCAxNDcsIDEyMCwgMjMsIDE5NCwgMiwgMjA3LCAKKyAgICA2NCwgMjQ1LCAyMTksIDE2LCAxNDcsIDEzMCwgMjMsIDIzOCwgMTIxLCAyNDUsIDIxOSwgMTYsIDE0NywgMTIwLCAyMywgCisgICAgMjM4LCAxMjEsIDI0NSwgMjE5LCAxNiwgMTQ3LCA3OSwgMjMsIDIxMSwgMTAyLCAyMzAsIDQ2LCAyNDUsIDIxOSwgMTYsIAorICAgIDE0NywgNzksIDIzLCAyNDksIDE1NCwgMjMwLCA0NiwgNDksIDI0MSwgMTQ4LCAyMTgsIDIyOSwgOTMsIDI0MywgNzcsIDkzLCAKKyAgICA3OSwgMjI5LCAyMDYsIDI0MiwgMTU3LCAyMjcsIDU3LCAyNDksIDEyMiwgMjI3LCA1NywgMTUyLCAxMzEsIDIxNSwgMTQzLCAKKyAgICAyMjcsIDU3LCAyMTUsIDE0NCwgMTMxLCAyMjksIDEyNSwgMjI3LCA1NywgMTUyLCAxMzEsIDExOCwgMjE1LCAxMjksIDIyNywgCisgICAgNTcsIDExOCwgMjE1LCAxMzAsIDEzMSwgMjI5LCAxMjUsIDIyNywgNTcsIDExOCwgMjE1LCAxMzAsIDIzMiwgMTE4LCAyMjcsIAorICAgIDU3LCAyMTEsIDMzLCAyMjcsIDU3LCAyMTIsIDcyLCAyMjcsIDU3LCAyMjEsIDEzOCwgMjQzLCAxMjEsIDIzOSwgMjIyLCAKKyAgICAyNDEsIDcyLCAyMTEsIDEwMiwgMjIxLCAyMTYsIDI0OSwgMTU0LCAyMjEsIDIxNiwgMjExLCAxMDIsIDI0NywgMjYsIDE0NSwgCisgICAgMjQ5LCAxNTQsIDI0NywgMjYsIDE0NSwgMjExLCAxMDIsIDIxMSwgOTMsIDIxNSwgMjA0LCAxNDUsIDI0OSwgMTU0LCAyMTEsIAorICAgIDkzLCAyMTUsIDIwNCwgMTQ1LCA1OSwgMjExLCA2NSwgMjUwLCAxNywgMjE4LCAxNDksIDIsIDI0NywgMjMzLCAyMTMsIDI0MiwgCisgICAgMjQxLCAxODYsIDI1MywgMjUsIDI0NywgMjMsIDI0MywgNjIsIDIzMywgNywgMjQ2LCAyLCAyNDIsIDE2MSwgOTMsIDYwLCAKKyAgICAyMTgsIDE2MiwgNTAsIDIxMSwgNTEsIDYwLCAyMzAsIDQxLCA1MCwgMjExLCA1MSwgNjAsIDIwOSwgMjA1LCA1MCwgMjExLCAKKyAgICA1MSwgNjAsIDI0NCwgNywgNTAsIDIxMSwgNTEsIDYwLCAyMTgsIDE2MiwgNTAsIDIxMSwgNTIsIDIsIDc5LCAxMzQsIDYwLCAKKyAgICAyMzAsIDQxLCA1MCwgMjExLCA1MiwgMiwgNzksIDEzNCwgNjAsIDIxOCwgMTYyLCAyMTEsIDUyLCAyLCA1MCwgNzksIDEzNCwgCisgICAgMjUyLCAxNzYsIDI0NywgMTk1LCAyMTMsIDI0OCwgMjExLCAxNzYsIDI0NywgMTk1LCAyMzgsIDU3LCAyLCAyNDEsIDE3MCwgCisgICAgMjE3LCAxNDksIDYwLCAyMjcsIDEwOSwgMjMwLCA0MSwgMjExLCA1MSwgNjAsIDIyNywgMTA5LCAyMTgsIDE2MiwgMjExLCAKKyAgICA1MSwgNjAsIDIyNywgMTA5LCAyMDksIDIwNSwgMjExLCA1MSwgNjAsIDIyNywgMTA5LCAyNDQsIDcsIDIxMSwgNTEsIDUwLCAKKyAgICA3OSwgMTM0LCA2MCwgNDksIDMzLCAyMTMsIDI1MSwgNjAsIDI0NywgMjM0LCAzMywgMjE5LCA0MiwgMTYsIDMzLCAyMjMsIAorICAgIDE4MSwgMTYsIDMzLCAyMTQsIDIyLCA3MywgMjM5LCA2NiwgMTYsIDMzLCAyMTQsIDIyLCA3MywgMjEyLCA2MCwgMTYsIDMzLCAKKyAgICAyNDMsIDM0LCA3MywgMjEyLCA2MCwgMTYsIDMzLCAyNDMsIDM0LCA3MywgMjExLCA2OSwgMTYsIDMzLCAyNDMsIDIxLCAxNiwgCisgICAgMzMsIDI1MywgMTMsIDE2LCAzMywgMjUwLCAyOCwgMTYsIDMzLCAyNTAsIDE3MCwgMTYsIDMzLCAxOTQsIDIxMiwgMjAzLCAKKyAgICAxNiwgMzMsIDIyOSwgMjA2LCAyNDIsIDE5LCAxNiwgMzMsIDc5LCAyMTIsIDIwMywgMTYsIDMzLCAyNDEsIDEzNiwgMjQyLCAKKyAgICAxOSwgMTYsIDMzLCAyNDgsIDE5MSwgMjE4LCAyMjgsIDE2LCAzMywgMjE1LCAxNzksIDIyMiwgOTMsIDE2LCAzMywgMjE1LCAKKyAgICAxNzksIDIzMywgNjgsIDE2LCAzMywgMjQ2LCA3MywgMjI5LCAxOTYsIDI0MiwgMjE3LCAxNiwgMzMsIDI0NSwgMTk5LCAyNDcsIAorICAgIDEwOSwgMTAyLCAxNiwgMzMsIDI0NSwgMTk5LCAyNDcsIDEwOSwgMTA1LCAxNiwgMzMsIDI0NSwgMTk5LCAyNDcsIDEwOSwgCisgICAgMTQyLCAxNiwgMzMsIDI0NSwgMTk5LCAyNDcsIDEwOSwgMTM5LCAxNiwgMzMsIDE3MCwgMjUzLCAxMywgMTYsIDMzLCAyMTMsIAorICAgIDM2LCAyMzMsIDEzMSwgMTYsIDMzLCAyNDMsIDM0LCA3MywgMjExLCA3MCwgMjQ5LCAxOTMsIDE2LCAzMywgMjQ4LCAyMjQsIAorICAgIDE2LCAzMywgMjQzLCAzNCwgNzMsIDIyNywgMTA4LCAxNiwgMzMsIDIxMywgMTc5LCAxNiwgMzMsIDI0MiwgMjE3LCAxNiwgCisgICAgMzMsIDI0MSwgMjM2LCAyMTYsIDM5LCAxNiwgMzMsIDIzOSwgMjIxLCAyMTYsIDM5LCAxNiwgMzMsIDIxOSwgNDMsIDIxNiwgCisgICAgMzksIDE2LCAzMywgMjA5LCAyMTcsIDIxNiwgMzksIDE2LCAzMywgMjE0LCAxNTMsIDE2LCAzMywgMjQ1LCAyMzYsIDI0OSwgCisgICAgMTk2LCA5MywgMjIyLCAxNDIsIDI0OSwgMTQwLCAxNiwgMzMsIDIyNSwgODUsIDE2LCAzMywgMjQ1LCAyMzcsIDI0MSwgMTM2LCAKKyAgICAxMDUsIDE2LCAzMywgMjEzLCAxODAsIDI0MSwgMTM2LCAxMDUsIDIyMiwgMjE1LCAxMDksIDIyMiwgMjE1LCAyNDgsIDEwNSwgCisgICAgMjIyLCAyMTUsIDI0MSwgMTM5LCAyMjIsIDIxNSwgMjMzLCAyLCAyNDEsIDEzOSwgMjIyLCAyMTUsIDI1MCwgMjUsIDI0OSwgCisgICAgOTgsIDIyMiwgMjE1LCAyNDksIDE0NywgMjExLCAyMDMsIDIyMiwgMjE1LCAyNDksIDEzMSwgMjUwLCAxMzQsIDIzNywgMTcyLCAKKyAgICAyMjIsIDIxNSwgMjUyLCAxMjcsIDczLCAyNDgsIDgwLCAyMjIsIDIxNSwgMjQ2LCA3OCwgMjIyLCAyMTUsIDI0NywgMTMsIAorICAgIDI1MywgMTcsIDIyMywgMTc5LCAyMjIsIDIxNSwgNTAsIDI1MCwgMTcxLCAzOSwgMTgsIDEwMiwgMzksIDE4LCAxMDUsIDM5LCAKKyAgICAxOCwgMTQyLCAzOSwgMTgsIDEzOSwgMzksIDE4LCAxNjgsIDM5LCAxOCwgMTg0LCAzOSwgMTgsIDE5NSwgMzksIDE4LCAxOTMsIAorICAgIDM5LCAxOCwgMjAwLCAzOSwgNDMsIDIxMiwgOTgsIDM5LCA0MywgMjQzLCA1OCwgMzksIDQzLCAyMTAsIDEyNiwgMzksIDQzLCAKKyAgICAyMTIsIDUsIDM5LCA0MywgMjQxLCAxMTksIDM5LCA0MywgMjQxLCAyNDcsIDM5LCA0MywgMjE1LCA0LCAzOSwgNDMsIDIxNiwgCisgICAgMjAsIDM5LCA0MywgMjQzLCA4NSwgMzksIDQzLCAyMjQsIDE5MiwgMzksIDQzLCAyMTAsIDEyMywgOTcsIDE4LCAxMDIsIDk3LCAKKyAgICAxOCwgMTA1LCA5NywgMTgsIDE0MiwgOTcsIDE4LCAxMzksIDk3LCAxOCwgMTY4LCA5NywgMTgsIDE4NCwgOTcsIDE4LCAxOTUsIAorICAgIDk3LCAxOCwgMTkzLCA5NywgMTgsIDIwMCwgOTcsIDQzLCAyMTIsIDk4LCA5NywgNDMsIDI0MywgNTgsIDk3LCA0MywgMjEwLCAKKyAgICAxMjYsIDk3LCA0MywgMjEyLCA1LCA5NywgNDMsIDI0MSwgMTE5LCA5NywgNDMsIDI0MSwgMjQ3LCA5NywgNDMsIDIxNSwgNCwgCisgICAgOTcsIDQzLCAyMTYsIDIwLCA5NywgNDMsIDI0MywgODUsIDk3LCA0MywgMjI0LCAxOTIsIDk3LCA0MywgMjEwLCAxMjMsIDE4LCAKKyAgICAxMTksIDI0MSwgODIsIDIxMywgMjUxLCAxOCwgMTE4LCAyNDEsIDgyLCAyMTMsIDI1MSwgMTgsIDEyOSwgMjQxLCA4MiwgCisgICAgMjEzLCAyNTEsIDE4LCAyNDEsIDEyNSwgMjQxLCA4MiwgMjEzLCAyNTEsIDE4LCAyNDEsIDIwNCwgMjQxLCA4MiwgMjEzLCAKKyAgICAyNTEsIDE4LCAyMTUsIDEwLCAyNDEsIDgyLCAyMTMsIDI1MSwgMTgsIDIxNiwgMjMsIDI0MSwgODIsIDIxMywgMjUxLCAxOCwgCisgICAgMjQzLCA4OCwgMjQxLCA4MiwgMjEzLCAyNTEsIDE4LCAyMjQsIDE5NSwgMjQxLCA4MiwgMjEzLCAyNTEsIDQzLCAyMTIsIDk5LCAKKyAgICAyNDEsIDgyLCAyMTMsIDI1MSwgNDMsIDI0MywgNTksIDI0MSwgODIsIDIxMywgMjUxLCA0MywgMjEwLCAxMjcsIDI0MSwgODIsIAorICAgIDIxMywgMjUxLCA0MywgMjEyLCA2LCAyNDEsIDgyLCAyMTMsIDI1MSwgNDMsIDI0MSwgMTIwLCAyNDEsIDgyLCAyMTMsIDI1MSwgCisgICAgNDMsIDI0MSwgMjQ4LCAyNDEsIDgyLCAyMTMsIDI1MSwgNDMsIDIxNSwgNSwgMjQxLCA4MiwgMjEzLCAyNTEsIDQzLCAyMTYsIAorICAgIDIxLCAyNDEsIDgyLCAyMTMsIDI1MSwgNDMsIDI0MywgODYsIDI0MSwgODIsIDIxMywgMjUxLCA0MywgMjI0LCAxOTMsIDI0MSwgCisgICAgODIsIDIxMywgMjUxLCA0MywgMjEwLCAxMjQsIDI0MSwgODIsIDIxMywgMjUxLCA5NywgNywgNSwgMSwgNjIsIDk3LCA3LCA1LCAKKyAgICAxLCAyNTEsIDE1MCwgOTcsIDcsIDUsIDEsIDI0OSwgMzQsIDk3LCA3LCA1LCAxLCAyNDYsIDI0MCwgOTcsIDcsIDUsIDEsIAorICAgIDc1LCA5NywgNywgNSwgMSwgMjQyLCAxMzksIDk3LCA3LCA1LCAxLCAyNDEsIDU1LCA5NywgNywgNSwgMSwgMjM5LCAxNTUsIAorICAgIDk3LCA3LCA1LCAxLCA3NCwgOTcsIDcsIDUsIDEsIDIzMiwgMjAzLCA5NywgNywgNSwgMSwgMjMyLCA3NiwgOTcsIDcsIDUsIAorICAgIDEsIDE0OSwgOTcsIDcsIDUsIDEsIDIyOSwgMjgsIDk3LCA3LCA1LCAxLCAyMjYsIDMzLCA5NywgNywgNSwgMSwgNzYsIDk3LCAKKyAgICA3LCA1LCAxLCAyMjIsIDY3LCA5NywgNywgNSwgMSwgMjIwLCAyNywgOTcsIDcsIDUsIDEsIDEzNywgOTcsIDcsIDUsIDEsIAorICAgIDE4MiwgOTcsIDcsIDUsIDEsIDIxMywgMTAsIDk3LCA3LCA1LCAxLCA3MSwgOTcsIDcsIDUsIDEsIDIwOSwgMTQ4LCA5NywgNywgCisgICAgNSwgMSwgMjA3LCAxMjksIDk3LCA3LCA1LCAxLCAyMDYsIDE5NSwgOTcsIDcsIDUsIDEsIDIwNiwgMTIzLCA5NywgNywgNSwgCisgICAgMSwgMjA1LCAxNTksIDM5LCA3LCA2LCAxLCA2MiwgMzksIDcsIDYsIDEsIDI1MSwgMTUwLCAzOSwgNywgNiwgMSwgMjQ5LCAKKyAgICAzNCwgMzksIDcsIDYsIDEsIDI0NiwgMjQwLCAzOSwgNywgNiwgMSwgNzUsIDM5LCA3LCA2LCAxLCAyNDIsIDEzOSwgMzksIDcsIAorICAgIDYsIDEsIDI0MSwgNTUsIDM5LCA3LCA2LCAxLCAyMzksIDE1NSwgMzksIDcsIDYsIDEsIDc0LCAzOSwgNywgNiwgMSwgMjMyLCAKKyAgICAyMDMsIDM5LCA3LCA2LCAxLCAyMzIsIDc2LCAzOSwgNywgNiwgMSwgMTQ5LCAzOSwgNywgNiwgMSwgMjI5LCAyOCwgMzksIDcsIAorICAgIDYsIDEsIDIyNiwgMzMsIDM5LCA3LCA2LCAxLCA3NiwgMzksIDcsIDYsIDEsIDIyMiwgNjcsIDM5LCA3LCA2LCAxLCAyMjAsIAorICAgIDI3LCAzOSwgNywgNiwgMSwgMTM3LCAzOSwgNywgNiwgMSwgMTgyLCAzOSwgNywgNiwgMSwgMjEzLCAxMCwgMzksIDcsIDYsIAorICAgIDEsIDcxLCAzOSwgNywgNiwgMSwgMjA5LCAxNDgsIDM5LCA3LCA2LCAxLCAyMDcsIDEyOSwgMzksIDcsIDYsIDEsIDIwNiwgCisgICAgMTk1LCAzOSwgNywgNiwgMSwgMjA2LCAxMjMsIDM5LCA3LCA2LCAxLCAyMDUsIDE1OSwgMzksIDcsIDUsIDEsIDYyLCAzOSwgCisgICAgNywgNSwgMSwgMjUxLCAxNTAsIDM5LCA3LCA1LCAxLCAyNDksIDM0LCAzOSwgNywgNSwgMSwgMjQ2LCAyNDAsIDM5LCA3LCA1LCAKKyAgICAxLCA3NSwgMzksIDcsIDUsIDEsIDI0MiwgMTM5LCAzOSwgNywgNSwgMSwgMjQxLCA1NSwgMzksIDcsIDUsIDEsIDIzOSwgCisgICAgMTU1LCAzOSwgNywgNSwgMSwgNzQsIDM5LCA3LCA1LCAxLCAyMzIsIDIwMywgMzksIDcsIDUsIDEsIDIzMiwgNzYsIDM5LCA3LCAKKyAgICA1LCAxLCAxNDksIDM5LCA3LCA1LCAxLCAyMjksIDI4LCAzOSwgNywgNSwgMSwgMjI2LCAzMywgMzksIDcsIDUsIDEsIDc2LCAKKyAgICAzOSwgNywgNSwgMSwgMjIyLCA2NywgMzksIDcsIDUsIDEsIDIyMCwgMjcsIDM5LCA3LCA1LCAxLCAxMzcsIDM5LCA3LCA1LCAKKyAgICAxLCAxODIsIDM5LCA3LCA1LCAxLCAyMTMsIDEwLCAzOSwgNywgNSwgMSwgNzEsIDM5LCA3LCA1LCAxLCAyMDksIDE0OCwgMzksIAorICAgIDcsIDUsIDEsIDIwNywgMTI5LCAzOSwgNywgNSwgMSwgMjA2LCAxOTUsIDM5LCA3LCA1LCAxLCAyMDYsIDEyMywgMzksIDcsIAorICAgIDUsIDEsIDIwNSwgMTU5LCAzOSwgMTgsIDIwNSwgODUsIDE3MCwgMzksIDQzLCAyNDMsIDU4LCAxNzAsIDM5LCA0MywgMjEwLCAKKyAgICAxMjYsIDE3MCwgMzksIDQzLCAyMTIsIDUsIDE3MCwgMzksIDQzLCAyNDEsIDExOSwgMTcwLCAzOSwgNDMsIDI0MSwgMjQ3LCAKKyAgICAxNzAsIDM5LCA0MywgMjE1LCA0LCAxNzAsIDM5LCA0MywgMjE2LCAyMCwgMTcwLCAzOSwgNDMsIDI0MywgODUsIDE3MCwgMzksIAorICAgIDQzLCAyMjQsIDE5MiwgMTcwLCAzOSwgNDMsIDIxMCwgMTIzLCA1MCwgMzksIDE4LCAxMDIsIDUwLCAzOSwgMTgsIDEwNSwgCisgICAgNTAsIDM5LCAxOCwgMTQyLCA1MCwgMzksIDE4LCAxMzksIDUwLCAzOSwgMTgsIDE2OCwgNTAsIDM5LCAxOCwgMTg0LCA1MCwgCisgICAgMzksIDE4LCAxOTUsIDUwLCAzOSwgMTgsIDE5MywgNTAsIDM5LCAxOCwgMjAwLCA1MCwgMzksIDQzLCAyMTIsIDk4LCAxNzAsIAorICAgIDM5LCAxOCwgMjA1LCA4NSwgOTYsIDExMCwgMTQ3LCAyMzgsIDEyMSwgOTYsIDExMCwgNzcsIDIzOCwgMTIxLCA5NiwgMTEwLCAKKyAgICAxNDcsIDIwOSwgMjIsIDk2LCAxMTAsIDc3LCAyMDksIDIyLCA5NiwgMTEwLCAxNDcsIDIxMSwgMzYsIDI0NiwgNzksIDIzOCwgCisgICAgMTIxLCA5NiwgMTEwLCA3NywgMjExLCAzNiwgMjQ2LCA3OSwgMjM4LCAxMjEsIDk2LCAxMTAsIDE0NywgMjExLCAzNiwgMjQ2LCAKKyAgICA3OSwgMjA5LCAyMiwgOTYsIDExMCwgNzcsIDIxMSwgMzYsIDI0NiwgNzksIDIwOSwgMjIsIDk2LCAxMTAsIDE0NywgMjE5LCAKKyAgICAyMDcsIDI0NiwgNzksIDIzOCwgMTIxLCA5NiwgMTEwLCA3NywgMjE5LCAyMDcsIDI0NiwgNzksIDIzOCwgMTIxLCA5NiwgCisgICAgMTEwLCAxNDcsIDIxOSwgMjA3LCAyNDYsIDc5LCAyMDksIDIyLCA5NiwgMTEwLCA3NywgMjE5LCAyMDcsIDI0NiwgNzksIAorICAgIDIwOSwgMjIsIDk2LCAxMTAsIDE0NywgMTMwLCAyMywgMjE4LCAxNjcsIDk2LCAxMTAsIDEzMCwgMTQ3LCAyMywgNDgsIDIzOSwgCisgICAgNTQsIDk2LCAxMTAsIDEzMCwgNzcsIDIzLCA0OCwgMjI5LCAyMjMsIDk2LCAxMTAsIDc3LCAxMzAsIDIzLCAyMTgsIDE2NywgCisgICAgOTYsIDExMCwgMTQ3LCAxMzAsIDIzLCAyMzAsIDQ2LCA5NiwgMTEwLCAxMzAsIDE0NywgMjMsIDQ3LCAyMzksIDU0LCA5NiwgCisgICAgMTEwLCAxMzAsIDc3LCAyMywgNDcsIDIyOSwgMjIzLCA5NiwgMTEwLCA3NywgMTMwLCAyMywgMjMwLCA0NiwgOTYsIDExMCwgCisgICAgMTQ3LCAxMjAsIDIzLCAyMTgsIDE2NywgOTYsIDExMCwgMTIwLCAxNDcsIDIzLCA0OCwgMjM5LCA1NCwgOTYsIDExMCwgMTIwLCAKKyAgICA3NywgMjMsIDQ4LCAyMjksIDIyMywgOTYsIDExMCwgNzcsIDEyMCwgMjMsIDIxOCwgMTY3LCA5NiwgMTEwLCAxNDcsIDEyMCwgCisgICAgMjMsIDIzMCwgNDYsIDk2LCAxMTAsIDEyMCwgMTQ3LCAyMywgNDcsIDIzOSwgNTQsIDk2LCAxMTAsIDEyMCwgNzcsIDIzLCAKKyAgICA0NywgMjI5LCAyMjMsIDk2LCAxMTAsIDc3LCAxMjAsIDIzLCAyMzAsIDQ2LCA5NiwgMTEwLCAxNDcsIDc5LCAyMywgMjE4LCAKKyAgICAxNjcsIDk2LCAxMTAsIDc5LCAxNDcsIDIzLCA0OCwgMjM5LCA1NCwgOTYsIDExMCwgMTIwLCA3NywgMjMsIDQ4LCAxMzAsIAorICAgIDIyOSwgMjIzLCA5NiwgMTEwLCAxMzAsIDc3LCAyMywgNDgsIDEyMCwgMjI5LCAyMjMsIDk2LCAxMTAsIDc5LCA3NywgMjMsIAorICAgIDQ4LCAyMjksIDIyMywgOTYsIDExMCwgMTMwLCAxNDcsIDIzLCA0OCwgMTIwLCAyMzksIDU0LCA5NiwgMTEwLCAxMjAsIDE0NywgCisgICAgMjMsIDQ4LCAxMzAsIDIzOSwgNTQsIDk2LCAxMTAsIDc3LCA3OSwgMjMsIDIxOCwgMTY3LCA5NiwgMTEwLCAxNDcsIDc5LCAKKyAgICAyMywgMjMwLCA0NiwgOTYsIDExMCwgNzksIDE0NywgMjMsIDQ3LCAyMzksIDU0LCA5NiwgMTEwLCAxMjAsIDc3LCAyMywgNDcsIAorICAgIDEzMCwgMjI5LCAyMjMsIDk2LCAxMTAsIDEzMCwgNzcsIDIzLCA0NywgMTIwLCAyMjksIDIyMywgOTYsIDExMCwgNzksIDc3LCAKKyAgICAyMywgNDcsIDIyOSwgMjIzLCA5NiwgMTEwLCAxMzAsIDE0NywgMjMsIDQ3LCAxMjAsIDIzOSwgNTQsIDk2LCAxMTAsIDEyMCwgCisgICAgMTQ3LCAyMywgNDcsIDEzMCwgMjM5LCA1NCwgOTYsIDExMCwgNzcsIDc5LCAyMywgMjMwLCA0NiwgOTYsIDExMCwgMTQ3LCAKKyAgICAxMzAsIDIzLCAyMzgsIDEyMSwgOTYsIDExMCwgNDcsIDc3LCAyMywgNDgsIDEzMCwgMjI5LCAyMjMsIDk2LCAxMTAsIDQ4LCAKKyAgICA3NywgMjMsIDQ3LCAxMzAsIDIyOSwgMjIzLCA5NiwgMTEwLCAxMzAsIDE0NywgMjMsIDE5NCwgMjM5LCA1NCwgOTYsIDExMCwgCisgICAgMTMwLCA3NywgMjMsIDE5NCwgMjI5LCAyMjMsIDk2LCAxMTAsIDQ4LCAxNDcsIDIzLCA0NywgMTMwLCAyMzksIDU0LCA5NiwgCisgICAgMTEwLCA0NywgMTQ3LCAyMywgNDgsIDEzMCwgMjM5LCA1NCwgOTYsIDExMCwgNzcsIDEzMCwgMjMsIDIzOCwgMTIxLCA5NiwgCisgICAgMTEwLCAxNDcsIDEyMCwgMjMsIDIzOCwgMTIxLCA5NiwgMTEwLCA0NywgNzcsIDIzLCA0OCwgMTIwLCAyMjksIDIyMywgOTYsIAorICAgIDExMCwgNDgsIDc3LCAyMywgNDcsIDEyMCwgMjI5LCAyMjMsIDk2LCAxMTAsIDEyMCwgMTQ3LCAyMywgMTk0LCAyMzksIDU0LCAKKyAgICA5NiwgMTEwLCAxMjAsIDc3LCAyMywgMTk0LCAyMjksIDIyMywgOTYsIDExMCwgNDgsIDE0NywgMjMsIDQ3LCAxMjAsIDIzOSwgCisgICAgNTQsIDk2LCAxMTAsIDQ3LCAxNDcsIDIzLCA0OCwgMTIwLCAyMzksIDU0LCA5NiwgMTEwLCA3NywgMTIwLCAyMywgMjM4LCAKKyAgICAxMjEsIDk2LCAxMTAsIDE0NywgNzksIDIzLCAyMzgsIDEyMSwgOTYsIDExMCwgNDcsIDc3LCAyMywgNDgsIDc5LCAyMjksIAorICAgIDIyMywgOTYsIDExMCwgNDgsIDc3LCAyMywgNDcsIDc5LCAyMjksIDIyMywgOTYsIDExMCwgNzksIDE0NywgMjMsIDE5NCwgCisgICAgMjM5LCA1NCwgOTYsIDExMCwgMTIwLCA3NywgMjMsIDEzMCwgMTk0LCAyMjksIDIyMywgOTYsIDExMCwgMTMwLCA3NywgMjMsIAorICAgIDEyMCwgMTk0LCAyMjksIDIyMywgOTYsIDExMCwgNzksIDc3LCAyMywgMTk0LCAyMjksIDIyMywgOTYsIDExMCwgNDcsIDEyMCwgCisgICAgNzcsIDIzLCA0OCwgMTMwLCAyMjksIDIyMywgOTYsIDExMCwgNDgsIDEyMCwgNzcsIDIzLCA0NywgMTMwLCAyMjksIDIyMywgCisgICAgOTYsIDExMCwgNDcsIDEzMCwgNzcsIDIzLCA0OCwgMTIwLCAyMjksIDIyMywgOTYsIDExMCwgNDgsIDEzMCwgNzcsIDIzLCAKKyAgICA0NywgMTIwLCAyMjksIDIyMywgOTYsIDExMCwgMTMwLCAxNDcsIDIzLCAxMjAsIDE5NCwgMjM5LCA1NCwgOTYsIDExMCwgCisgICAgMTIwLCAxNDcsIDIzLCAxMzAsIDE5NCwgMjM5LCA1NCwgOTYsIDExMCwgNDgsIDE0NywgMjMsIDQ3LCA3OSwgMjM5LCA1NCwgCisgICAgOTYsIDExMCwgNDcsIDE0NywgMjMsIDQ4LCA3OSwgMjM5LCA1NCwgOTYsIDExMCwgNzcsIDc5LCAyMywgMjM4LCAxMjEsIDk2LCAKKyAgICAxMTAsIDE0NywgNTAsIDI0NiwgNzksIDIzOCwgMTIxLCA5NiwgMTEwLCA3NywgNTAsIDI0NiwgNzksIDIzOCwgMTIxLCA5NiwgCisgICAgMTEwLCAxNDcsIDUwLCAyNDYsIDc5LCAyMDksIDIyLCA5NiwgMTEwLCA3NywgNTAsIDI0NiwgNzksIDIwOSwgMjIsIDk2LCAKKyAgICAxMTAsIDUwLCAyMzgsIDEyMSwgOTYsIDExMCwgNTAsIDIwOSwgMjIsIDk2LCAxMTAsIDEzMCwgMjE1LCA0MSwgMjMsIDQ4LCAKKyAgICAyNDQsIDE2LCA5NiwgMTEwLCAxMzAsIDUwLCAyMywgNDgsIDIxNSwgNDAsIDk2LCAxMTAsIDUwLCAxMzAsIDIzLCAyMTgsIAorICAgIDE2NywgOTYsIDExMCwgMTMwLCAyMTUsIDQxLCAyMywgNDcsIDI0NCwgMTYsIDk2LCAxMTAsIDEzMCwgNTAsIDIzLCA0NywgCisgICAgMjE1LCA0MCwgOTYsIDExMCwgNTAsIDEzMCwgMjMsIDIzMCwgNDYsIDk2LCAxMTAsIDEyMCwgMjE1LCA0MSwgMjMsIDQ4LCAKKyAgICAyNDQsIDE2LCA5NiwgMTEwLCAxMjAsIDUwLCAyMywgNDgsIDIxNSwgNDAsIDk2LCAxMTAsIDUwLCAxMjAsIDIzLCAyMTgsIAorICAgIDE2NywgOTYsIDExMCwgMTIwLCAyMTUsIDQxLCAyMywgNDcsIDI0NCwgMTYsIDk2LCAxMTAsIDEyMCwgNTAsIDIzLCA0NywgCisgICAgMjE1LCA0MCwgOTYsIDExMCwgNTAsIDEyMCwgMjMsIDIzMCwgNDYsIDk2LCAxMTAsIDc5LCAyMTUsIDQxLCAyMywgNDgsIAorICAgIDI0NCwgMTYsIDk2LCAxMTAsIDc5LCA1MCwgMjMsIDQ4LCAyMTUsIDQwLCA5NiwgMTEwLCA1MCwgNzksIDIzLCAyMTgsIDE2NywgCisgICAgOTYsIDExMCwgNzksIDIxNSwgNDEsIDIzLCA0NywgMjQ0LCAxNiwgOTYsIDExMCwgNzksIDUwLCAyMywgNDcsIDIxNSwgNDAsIAorICAgIDk2LCAxMTAsIDUwLCA3OSwgMjMsIDIzMCwgNDYsIDk2LCAxMTAsIDEzMCwgMjE1LCA0MSwgMjMsIDE5NCwgMjQ0LCAxNiwgCisgICAgOTYsIDExMCwgMTMwLCA1MCwgMjMsIDE5NCwgMjE1LCA0MCwgOTYsIDExMCwgNTAsIDEzMCwgMjMsIDIzOCwgMTIxLCA5NiwgCisgICAgMTEwLCAxMjAsIDIxNSwgNDEsIDIzLCAxOTQsIDI0NCwgMTYsIDk2LCAxMTAsIDEyMCwgNTAsIDIzLCAxOTQsIDIxNSwgNDAsIAorICAgIDk2LCAxMTAsIDUwLCAxMjAsIDIzLCAyMzgsIDEyMSwgOTYsIDExMCwgNzksIDIxNSwgNDEsIDIzLCAxOTQsIDI0NCwgMTYsIAorICAgIDk2LCAxMTAsIDc5LCA1MCwgMjMsIDE5NCwgMjE1LCA0MCwgOTYsIDExMCwgNTAsIDc5LCAyMywgMjM4LCAxMjEsIDk2LCAKKyAgICAxMTAsIDE0NywgMjUyLCAyMiwgMTMwLCAyMywgMjE4LCAxNjcsIDk2LCAxMTAsIDE0NywgMjUyLCAyMiwgMTMwLCAyMywgCisgICAgMjMwLCA0NiwgOTYsIDExMCwgMTQ3LCAyNTIsIDIyLCAxMjAsIDIzLCAyMzAsIDQ2LCA5NiwgMTEwLCAxNDcsIDI1MiwgMjIsIAorICAgIDEyMCwgMjMsIDIxOCwgMTY3LCA5NiwgMTEwLCAxNDcsIDI0NSwgMTYzLCAyMDksIDIwMywgNDgsIDIxMSwgMTMwLCAyMjksIAorICAgIDkyLCAyMzAsIDQ2LCA5NiwgMTEwLCAxNDcsIDI0NSwgMTYzLCAyMDksIDIwMywgNDcsIDIxMSwgMTMwLCAyMjksIDkyLCAKKyAgICAyMTgsIDE2NywgOTYsIDExMCwgMTQ3LCAyNDUsIDE2MywgMjQ3LCA1OSwgOTYsIDExMCwgMTQ3LCAyMzAsIDQ2LCA5NiwgCisgICAgMTEwLCAxNDcsIDIwOSwgMjA2LCA5NiwgMTEwLCAxNDcsIDIxOCwgMTY3LCA5NiwgMTEwLCAxNDcsIDI0NCwgOCwgOTYsIAorICAgIDExMCwgNzcsIDIzMCwgNDYsIDk2LCAxMTAsIDc3LCAyMDksIDIwNiwgOTYsIDExMCwgNzcsIDIxOCwgMTY3LCA5NiwgMTEwLCAKKyAgICA3NywgMjQ0LCA4LCA5NiwgMTEwLCAxNDcsIDQ3LCAyMywgNzcsIDIxOCwgMTY3LCA5NiwgMTEwLCAxNDcsIDEyMCwgMjMsIAorICAgIDc3LCAyNDQsIDgsIDk2LCAxMTAsIDc3LCA0NywgMjMsIDE0NywgMjE4LCAxNjcsIDk2LCAxMTAsIDc3LCAxMjAsIDIzLCAKKyAgICAxNDcsIDI0NCwgOCwgMjA5LCAyMDMsIDE2MCwgMjQ5LCAxOTMsIDIyOSwgOTIsIDExOSwgMjQzLCA4NCwgMjQ5LCAxOTMsIAorICAgIDIyOSwgOTIsIDExOSwgMjE5LCAyMDUsIDI0OSwgMTkzLCAyMjksIDkyLCAxMjksIDI0MywgODIsIDI0OSwgMTkzLCAyMjksIAorICAgIDkyLCAxNjAsIDI0OSwgMTkzLCAyMjksIDkyLCAyNDEsIDIwNCwgMjQzLCA4MiwgMjQ5LCAxOTMsIDIyOSwgOTIsIDEyOSwgCisgICAgMjE5LCAyMDMsIDI0OSwgMTkzLCAyMjksIDkyLCAyMTYsIDIzLCAyNDMsIDgyLCAyNDksIDE5MywgMjQxLCA4MiwgMjQ5LCAKKyAgICAxOTMsIDQ3LCAyMTYsIDIzLCAyNDMsIDgyLCAyNDksIDE5MywgNDcsIDEyOSwgMjE5LCAyMDMsIDI0OSwgMTkzLCA0NywgCisgICAgMjQxLCAyMDQsIDI0MywgODIsIDI0OSwgMTkzLCA0NywgMTYwLCAyNDksIDE5MywgNDcsIDEyOSwgMjQzLCA4MiwgMjQ5LCAKKyAgICAxOTMsIDQ3LCAxMTksIDIxOSwgMjA1LCAyNDksIDE5MywgNDcsIDExOSwgMjQzLCA4NCwgMjQ5LCAxOTMsIDQ4LCAxNjAsIAorICAgIDI0OSwgMTkzLCAxNDcsIDIxNSwgMjQ4LCAyMjcsIDEwOSwgMjE1LCAyNDgsIDI0NiwgODQsIDIxNSwgMjQ4LCAyMDksIDIwMywgCisgICAgMTE5LCAyNDMsIDg0LCAyNDksIDE5MywgNDgsIDExOSwgMjQzLCA4NCwgMjQ5LCAxOTMsIDIxOSwgMjA5LCAyMjksIDkyLCAKKyAgICAyMzAsIDQ2LCAyMTksIDIwOSwgMjI5LCA5MiwgMjE4LCAxNjcsIDIxOSwgMjA5LCAyMDksIDIwMywgMjMwLCA0NiwgMjE5LCAKKyAgICAyMDksIDIwOSwgMjAzLCA0NywgMjMsIDIyOSwgOTIsIDQ3LCAyMywgMjI5LCA5MiwgMjE4LCAxNjcsIDIxOSwgMjA5LCAyMDksIAorICAgIDIwMywgNDcsIDIzLCAyMjksIDkyLCAyMTgsIDE2NywgMjE5LCAyMDksIDIwOSwgMjAzLCA0NywgMjMsIDIwOSwgMjAzLCA0OCwgCisgICAgMjMsIDIyOSwgOTIsIDIzMCwgNDYsIDIxOSwgMjA5LCAyMDksIDIwMywgNDcsIDIzLCAyMDksIDIwMywgNDgsIDIzLCAyMjksIAorICAgIDkyLCAyMTgsIDE2NywgMjE5LCAyMDksIDIwOSwgMjAzLCAyMTgsIDE2NywgMjE5LCAyMDksIDIwOSwgMjAzLCA0OCwgMjMsIAorICAgIDIyOSwgOTIsIDIzMCwgNDYsIDIxOSwgMjA5LCAyMDksIDIwMywgNDgsIDIzLCAyMjksIDkyLCA0NywgMjMsIDIyOSwgOTIsIAorICAgIDIxOCwgMTY3LCA2MCwgMjE0LCAxMDcsIDU5LCAyMTQsIDEwNywgNTksIDQ5LCAyLCAyMTgsIDkzLCAyNDcsIDkwLCA1OSwgCisgICAgNDksIDI0NywgMTE5LCA2MCwgNSwgMjE0LCAxMDcsIDQ5LCAyLCAxOTQsIDI0MSwgMjM0LCA0OSwgMiwgNzksIDI0MSwgMjM0LCAKKyAgICA0OSwgMiwgMjIyLCAxMDgsIDI0NywgNTUsIDI0MSwgMjM0LCA0OSwgMiwgMjA5LCAyMDMsIDQ3LCAyMTEsIDEzMCwgMjI5LCAKKyAgICA5MiwgNDgsIDI0MSwgMjM0LCA0OSwgMiwgMjA5LCAyMDMsIDQ4LCAyMTEsIDEzMCwgMjI5LCA5MiwgNDcsIDI0MSwgMjM0LCAKKyAgICA0OSwgMiwgMjQ1LCAxNjMsIDI0NywgNTUsIDI0MSwgMjM0LCA2MCwgNSwgMjE0LCAxMDcsIDU5LCA1LCAyMTQsIDEwNywgNjAsIAorICAgIDIxOSwgMzcsIDU5LCAyMTksIDM3LCA2MCwgNzksIDIxOSwgMzcsIDU5LCA3OSwgMjE5LCAzNywgNjAsIDIyMSwgMjIwLCA1OSwgCisgICAgMjIxLCAyMjAsIDYwLCAyMDksIDIwNSwgMjExLCA1MSwgNTksIDIwOSwgMjA1LCAyMTEsIDUxLCA2MCwgMjA5LCAyMDUsIDUsIAorICAgIDIxMSwgNTEsIDU5LCAyMDksIDIwNSwgNSwgMjExLCA1MSwgNjAsIDIxOCwgMTYyLCAyMTEsIDUxLCA1OSwgMjE4LCAxNjIsIAorICAgIDIxMSwgNTEsIDYwLCAyMTgsIDE2MiwgNSwgMjExLCA1MSwgNTksIDIxOCwgMTYyLCA1LCAyMTEsIDUxLCA2MCwgMjE4LCAKKyAgICAxNjIsIDIyMCwgMjAyLCA1OSwgMjE4LCAxNjIsIDIyMCwgMjAyLCA2MCwgMjQ0LCA3LCAyMTEsIDUxLCA1OSwgMjQ0LCA3LCAKKyAgICAyMTEsIDUxLCA2MCwgMjQ0LCA3LCA1LCAyMTEsIDUxLCA1OSwgMjQ0LCA3LCA1LCAyMTEsIDUxLCA2MCwgMjMwLCA0MSwgCisgICAgMjExLCA1MSwgNTksIDIzMCwgNDEsIDIxMSwgNTEsIDYwLCAyMzAsIDQxLCA1LCAyMTEsIDUxLCA1OSwgMjMwLCA0MSwgNSwgCisgICAgMjExLCA1MSwgNjAsIDIzMCwgNDEsIDIyMCwgMjAyLCA1OSwgMjMwLCA0MSwgMjIwLCAyMDIsIDYwLCAyNDUsIDE1NiwgNTksIAorICAgIDI0NSwgMTU2LCA1OSwgMjQ1LCAxNTcsIDI0NywgMTE5LCA2MCwgNSwgMjQ1LCAxNTYsIDI0MSwgMjEyLCAyMjksIDg4LCA1OSwgCisgICAgMjQ3LCAyMzMsIDI0NCwgMjEsIDI0NywgMjMzLCAyNDcsIDIzNCwgMiwgNzksIDI0MSwgMjM0LCAyNDksIDgxLCA2MCwgMjQ3LCAKKyAgICAyMzMsIDI0NywgMjM0LCAyLCA0NywgMTYwLCAyNDksIDIwMiwgMjQ3LCAyMzQsIDIsIDQ4LCAxNjAsIDI0OSwgMjAyLCAyNDcsIAorICAgIDIzNCwgMiwgMjI5LCA5MiwgMTYwLCAyNDksIDIwMiwgMjQ3LCAyMzQsIDIsIDIwOSwgMjAzLCAxNjAsIDI0OSwgMjAyLCAKKyAgICAyNDcsIDIzNCwgMiwgMjA5LCAyMDMsIDQ4LCAyMTksIDIwOSwgMjQ5LCAyMDIsIDI0NywgMjM0LCAyLCAyNTIsIDE1NywgCisgICAgMjQ5LCA1NywgMjA5LCAyMDMsIDQ3LCAyMTksIDIwOSwgMjQ5LCAyMDIsIDQ3LCAxNjAsIDYwLCAyNDcsIDIzMywgNDgsIAorICAgIDE2MCwgNjAsIDI0NywgMjMzLCAyMzMsIDMsIDI0OSwgODUsIDIzMywgMywgNTksIDI0NywgMjMzLCAyMDksIDIwMywgMTYwLCAKKyAgICAyMzMsIDMsIDU5LCAyNDcsIDIzMywgMjI5LCA5MiwgMTYwLCAyMzMsIDMsIDU5LCAyNDcsIDIzMywgMjA5LCAyMDMsIDQ3LCAKKyAgICAyMTksIDIwOSwgMjQ3LCAyMzAsIDI1MiwgMjEsIDIwOSwgMjAzLCA0OCwgMjE5LCAyMDksIDI0NywgMjMwLCAyNTIsIDIxLCAKKyAgICAyMjksIDkyLCA0OCwgMjE5LCAyMDksIDI0NywgMjMwLCAyNTIsIDIxLCAyMjksIDkyLCA0NywgMjE5LCAyMDksIDI0NywgCisgICAgMjMwLCAyNTIsIDIxLCAyMDksIDIwMywgMTYwLCAyNDcsIDIzMywgMjI5LCA5MiwgMTYwLCAyNDcsIDIzMywgNjAsIDIyOSwgCisgICAgOTIsIDQ4LCAyMTEsIDUxLCA2MCwgMjI5LCA5MiwgNDcsIDIxMSwgNTEsIDYwLCAyMDksIDIwMywgNDcsIDIxMSwgNTEsIDYwLCAKKyAgICAyMDksIDIwMywgNDgsIDIxMSwgNTEsIDU5LCAyNDksIDg1LCA0OSwgMiwgNDcsIDE2MCwgMjQ5LCAyMDIsIDQ5LCAyLCA0OCwgCisgICAgMTYwLCAyNDksIDIwMiwgNDksIDIsIDIwOSwgMjAzLCA0NywgMjQ1LCAxNjMsIDE2MCwgMjQ5LCAyMDIsIDQ5LCAyLCAyMjksIAorICAgIDkyLCA0OCwgMjQ1LCAxNjMsIDE2MCwgMjQ5LCAyMDIsIDU5LCA0OSwgMiwgNzksIDI0OSwgMjEzLCAyMjksIDIwNSwgNTksIAorICAgIDIwOSwgMjA1LCAyMTEsIDUyLCAyLCAyNDUsIDIzLCAyMDksIDIwNSwgMjExLCA1MiwgMiwgNDcsIDE2MCwgMjQ5LCAyMDIsIAorICAgIDIwOSwgMjA1LCAyMTEsIDUyLCAyLCA0OCwgMTYwLCAyNDksIDIwMiwgMjMwLCA4NiwgMjQ3LCAyMzMsIDU5LCA0OSwgMiwgCisgICAgMjA5LCAyMDMsIDQ3LCAyMTksIDIwOCwgNTksIDQ5LCAyLCAyMjksIDkyLCA0NywgMjE5LCAyMDgsIDU5LCA0OSwgMiwgMjI5LCAKKyAgICA5MiwgNDgsIDIxOSwgMjA4LCA1OSwgNDksIDIsIDIwOSwgMjAzLCA0OCwgMjE5LCAyMDgsIDU5LCAyNDcsIDIzNCwgMiwgCisgICAgMjA5LCAyMDMsIDQ3LCAyMTksIDIwOCwgNTksIDI0NywgMjM0LCAyLCAyMjksIDkyLCA0NywgMjE5LCAyMDgsIDU5LCAyNDcsIAorICAgIDIzNCwgMiwgMjI5LCA5MiwgNDgsIDIxOSwgMjA4LCA1OSwgMjQ3LCAyMzQsIDIsIDIwOSwgMjAzLCA0OCwgMjE5LCAyMDgsIAorICAgIDIwOSwgMjAzLCA0NywgMjExLCA1MSwgMjA5LCAyMDMsIDQ4LCAyMTEsIDUxLCAyMjksIDkyLCA0NywgMjExLCA1MSwgNTksIAorICAgIDIyNywgMTA5LCAyMTQsIDEwNywgNjAsIDIyNywgMTA5LCAyMTQsIDEwNywgNTksIDIyNywgMTA5LCA1LCAyMTQsIDEwNywgCisgICAgNjAsIDIyNywgMTA5LCA1LCAyMTQsIDEwNywgMjI5LCA5MiwgNDgsIDIxMSwgNTEsIDYwLCAyMTMsIDE1NSwgMiwgMjE5LCAKKyAgICA1NSwgMjQ3LCAxODMsIDIwOSwgMjM4LCAyMTQsIDE5NSwgMjQ3LCAxNTgsIDYwLCAyMTQsIDI2LCA1OSwgMjE0LCAyNiwgCisgICAgMjI5LCAyMjAsIDIxMSwgMjI2LCAyMTMsIDE1NCwgMjUxLCAyMjgsIDIyNCwgNjQsIDI0NSwgMjEwLCAyMjQsIDY0LCAyNDcsIAorICAgIDEyOCwgMjIyLCAxMjgsIDYwLCAyMTIsIDEwNywgNTksIDIxMiwgMTA3LCAyNTAsIDE0NiwgMjQ5LCAxNDAsIDI1MCwgMTQ2LCAKKyAgICA5NiwgMiwgMjQ4LCA4MCwgMjUwLCAxNDYsIDk2LCAyLCAyMDYsIDE5NSwgMjE3LCAxNjIsIDIwOSwgMjM5LCAyLCAyMTksIAorICAgIDg0LCAyNDMsIDI0MywgMjM4LCA2MywgMjUwLCA0LCA1OSwgMjE1LCAxNTMsIDIyMSwgNDUsIDYwLCAyMTUsIDE1MywgMjIxLCAKKyAgICA0NSwgMjE1LCAyMzksIDIxOCwgMjI0LCAyMTgsIDk3LCAyNDEsIDE3NiwgMjM5LCA2MSwgMjQ5LCA4NSwgNjAsIDQ3LCAyMjAsIAorICAgIDIwMSwgMjMzLCA1MywgNjAsIDQ4LCAyMjAsIDIwMSwgMjMzLCA1MywgNTksIDQ3LCAyMjAsIDIwMSwgMjMzLCA1MywgNTksIAorICAgIDEyMCwgMjIwLCAyMDEsIDIzMywgNTMsIDU5LCA0OCwgMjIwLCAyMDEsIDIzMywgNTMsIDU5LCAxMzAsIDIyMCwgMjAxLCAKKyAgICAyMzMsIDUzLCAyMTQsIDI0MSwgMjMsIDI0NywgNTgsIDI0OCwgMTc3LCA1MywgMjE5LCA5NiwgNTMsIDI0OSwgMjIwLCA1MywgCisgICAgMjQ4LCAyNDgsIDI1MiwgMTAxLCAyMjIsIDEwOSwgMjQ3LCA1OSwgMjQ4LCA1OSwgMjE4LCAyMTAsIDI0NywgNjAsIDczLCAKKyAgICAyMjksIDEwNiwgMjQ3LCA2MCwgNzMsIDIzMiwgMTcyLCAyMTQsIDI3LCAyMywgMjQ3LCA2NSwgMjQyLCA0MiwgOTMsIDI1MiwgCisgICAgMjU0LCAyMTUsIDI0MSwgMjM5LCAxMTUsIDIzLCAyMTUsIDc3LCAyMjEsIDE3MywgOTMsIDIwNiwgMSwgMjA2LCA3NSwgMjExLCAKKyAgICA0MSwgMzMsIDIzOSwgNTYsIDIxMSwgNDEsIDMzLCAyMzAsIDExMSwgMjExLCA0MSwgMzMsIDI0MSwgMjE5LCAyMTEsIDQxLCAKKyAgICAzMywgMjExLCAyMjcsIDIxMSwgNDEsIDMzLCAyMDcsIDksIDIxMSwgNDEsIDMzLCAyMDcsIDY5LCAyMTEsIDQxLCAzMywgCisgICAgMjI2LCAxMjgsIDIxMSwgNDEsIDMzLCAyNDMsIDEyMCwgMjA3LCAyNywgNzMsIDI0NSwgMTg0LCA1OSwgMjQxLCA5NCwgMjQyLCAKKyAgICA2NywgNTksIDIxNCwgMjEwLCAyNDIsIDY3LCA2MCwgMjE0LCAyMTAsIDI0MiwgNjcsIDU5LCAyMTMsIDE1NSwgMiwgMjE5LCAKKyAgICA1NSwgMjQxLCAyMTUsIDIxOSwgMjA1LCAyMjYsIDE0NCwgMjMwLCA4MSwgMjE5LCAyMDUsIDIyNiwgMTQ0LCAyMjcsIDc4LCAKKyAgICAyNDIsIDExLCA1MywgMjQzLCAxMjAsIDIyNywgMjI2LCA1MywgMjMyLCA5MSwgMjE3LCAxMjYsIDIwOSwgMTg5LCAyMjUsIAorICAgIDk1LCAyMjAsIDIxNSwgMjUyLCA3LCAyMTIsIDE0OSwgMjQwLCAxNTgsIDI0OCwgMjIyLCAyMzAsIDE1LCAyMDgsIDE4NiwgCisgICAgMjI5LCAyMzIsIDIxNywgOTYsIDIxNywgMTgzLCAyNDgsIDIwOCwgMjUyLCAzOCwgMjIwLCAyNTAsIDU5LCAyNDgsIDY1LCAKKyAgICAyMzEsIDEwNiwgNTksIDI0OCwgNjUsIDIxOSwgMTk3LCA1OSwgMjQ4LCA2NSwgMjE4LCAxMDUsIDU5LCAyNDgsIDY1LCAyNDksIAorICAgIDIxMiwgNTksIDI0OCwgNjUsIDIzMSwgNTYsIDU5LCAyNDgsIDY1LCAyMjEsIDE4NSwgNjAsIDI0OCwgNjUsIDIzMSwgMTA2LCAKKyAgICA2MCwgMjQ4LCA2NSwgMjE5LCAxOTcsIDYwLCAyNDgsIDY1LCAyMTgsIDEwNSwgNjAsIDI0OCwgNjUsIDI0OSwgMjEyLCA2MCwgCisgICAgMjQ4LCA2NSwgMjMxLCA1NiwgNjAsIDI0OCwgNjUsIDIyMSwgMTg1LCA2MCwgMjE0LCAxNTEsIDIxMywgMTY3LCA1OSwgMjM5LCAKKyAgICA2MSwgMjEzLCAxNjcsIDU5LCAyNDUsIDE1NywgMjEzLCAxNjcsIDYwLCAyNDcsIDE4MSwgMjEzLCAxNjcsIDU5LCAyMTQsIAorICAgIDE1MSwgMjEzLCAxNjcsIDYwLCAyMzksIDYxLCAyMTMsIDE2NywgNjAsIDI0NSwgMTU3LCAyMTMsIDE2NywgNTksIDI0NywgCisgICAgMTgxLCAyMTMsIDE2NywgMjM4LCA2MywgMjE0LCAxMTIsIDIxOSwgMjA1LCAyMjQsIDM3LCAyNDMsIDg0LCAyMjQsIDM3LCAKKyAgICAyNTAsIDU4LCAyNDMsIDg0LCAyMjQsIDMyLCAyNTAsIDU4LCAyMTUsIDMsIDIyNCwgMzIsIDIyNiwgNjUsIDI0MSwgMTg4LCAKKyAgICA1MywgMjI2LCA2NSwgMjI1LCAxOTIsIDUzLCAyMjYsIDY1LCAyMTUsIDIyOCwgNTMsIDIwNywgMzYsIDIxMywgMzAsIDI0NywgCisgICAgNTksIDI0MywgMTE3LCAyMTMsIDMwLCAyNDcsIDU5LCAyMDksIDIxNCwgMjE5LCAzMywgOTMsIDIxOSwgMzMsIDE2LCAzMywgCisgICAgMjEwLCA5NCwgMjIwLCAyMzIsIDIxOSwgMzMsIDE2LCAzMywgMjEwLCA5MywgMjIwLCAyMzIsIDIxOSwgMzMsIDE2LCAzMywgCisgICAgMjEwLCA5MiwgMjIwLCAyMzIsIDIxOSwgMzMsIDE2LCAzMywgMjEwLCA5MSwgMjIwLCAyMzIsIDIxOSwgMzMsIDE2LCAzMywgCisgICAgMjEwLCA5MCwgMjIwLCAyMzIsIDIxOSwgMzMsIDE2LCAzMywgMjEwLCA4OSwgMjIwLCAyMzIsIDIxOSwgMzMsIDE2LCAzMywgCisgICAgMjEwLCA4OCwgMjIwLCAyMzIsIDIxOSwgMzMsIDE2LCAzMywgMjQwLCAxNTYsIDIyNywgMTY5LCA2MCwgMjA5LCAyMTQsIAorICAgIDIxOSwgMzMsIDkzLCAyMTksIDM0LCAyMjEsIDIzNSwgOTMsIDIyMSwgMjA4LCAyMjEsIDIzNSwgOTMsIDIyMSwgMTIzLCAKKyAgICAyMjEsIDIzNSwgNTMsIDIwNywgMjUsIDkzLCAyNDUsIDE0OSwgMjQyLCA2NiwgMjQ1LCAxNDksIDI0MiwgNjUsIDI0NSwgCisgICAgMTQ5LCAyNDIsIDY0LCAyNDUsIDE0OSwgMjQyLCA2MywgMjQ1LCAxNDksIDI0MiwgNjIsIDI0NSwgMTQ5LCAyNDIsIDYxLCAKKyAgICA1OSwgMjQ3LCAyMzQsIDIsIDY3LCAyMTgsIDE2NywgNTksIDI0NywgMjM0LCAyLCAxMTgsIDI0NSwgMjEsIDYwLCAyNDcsIAorICAgIDIzNCwgMiwgNTksIDY3LCAyMTgsIDE2NywgNjAsIDI0NywgMjM0LCAyLCAxMTgsIDU5LCAyNDUsIDIxLCAyMjYsIDE2MCwgCisgICAgMzMsIDIwNiwgNzUsIDIyNiwgMTYwLCAzMywgMjA2LCAwLCAyNDUsIDEzMSwgMzMsIDIzOSwgMjMxLCAyMDYsIDc1LCAyNDUsIAorICAgIDEzMSwgMzMsIDIzMCwgOCwgMjA2LCAwLCAyNDUsIDEzMSwgMzMsIDIzMCwgOCwgMjA2LCA3NSwgMjQ1LCAxMzEsIDMzLCAKKyAgICAyMzksIDIzMSwgMjA2LCAwLCA1OSwgMjQxLCAxOTYsIDYwLCAyNDEsIDE5NiwgMjM5LCAxMTUsIDIzLCAyMjEsIDQ5LCAyNTIsIAorICAgIDExOSwgMjQ3LCA1NywgMjEzLCA5NCwgMjE0LCAzNSwgNzMsIDI1MiwgMjMxLCAyMTcsIDExMSwgMjUyLCAxNzEsIDI0MSwgCisgICAgMTcyLCAyNDAsIDE2NywgMjE0LCAzNSwgNzMsIDIzOSwgMzQsIDI1MSwgMTkyLCA5MywgMjQxLCAxODQsIDIyMiwgODksIDU5LCAKKyAgICAyMTQsIDI2LCAxMjksIDIyOSwgMjAwLCAyNDcsIDEwNiwgMjE4LCAxNjcsIDEyOSwgMjI5LCAyMDAsIDI0NywgMTA2LCAyMzAsIAorICAgIDQ2LCAyMDcsIDgwLCA1MywgMTI3LCAyMDgsIDE2NCwgNTMsIDI0NCwgMTMsIDI0MiwgMTEsIDUzLCAyNDQsIDEzLCAyMjcsIAorICAgIDIyNiwgNTMsIDIzMywgMTMsIDI0MiwgMTEsIDIzLCAyMjcsIDIyNiwgNTMsIDIyNywgMjI2LCAyMywgMjQyLCAxMSwgNTMsIAorICAgIDIyNywgMjI2LCAyLCAyMTMsIDIyNSwgNTMsIDIyNywgMjI2LCAyLCAyMTMsIDIyNSwgMjMsIDIyNywgMjI2LCAyMywgMjQyLCAKKyAgICAxMSwgNTMsIDc5LCAyMjcsIDIyNiwgMiwgMjEzLCAyMjUsIDUzLCAxOTQsIDIyNywgMjI2LCAyLCAyMTMsIDIyNSwgNTMsIAorICAgIDIyNywgMTA5LCA1OSwgMjQ3LCAyMzMsIDIyNywgMTA5LCA2MCwgMjQ3LCAyMzMsIDIyNywgMTA5LCA1LCA1OSwgMjQ3LCAKKyAgICAyMzMsIDIyNywgMTg1LCA5MywgMjQ1LCA3MywgOTMsIDIwOSwgMjEyLCAyMjEsIDIwNywgOTMsIDI0NywgMTY3LCAyNDEsIAorICAgIDc3LCAyMDksIDE4NSwgMjI1LCA4OSwgMjQ4LCAxMTQsIDIyMiwgMjEsIDIzMiwgOTcsIDIwOCwgMjI0LCAyNDgsIDM5LCA2MCwgCisgICAgMjI2LCAxNDUsIDIyOSwgMjE3LCAyMTYsIDEzLCAyMTYsIDQ5LCAyMTksIDE4NywgMjE2LCAzMSwgMjE0LCAxOTAsIDI1MCwgCisgICAgMTQ5LCAyNTAsIDExNSwgOTgsIDIzMSwgMTc0LCA1OSwgMjQzLCAyNTIsIDIyNywgMjIxLCA1OSwgMjQzLCAyNTIsIDIzMSwgCisgICAgMTA2LCA2MCwgMjQzLCAyNTIsIDIyNywgMjIxLCA2MCwgMjQzLCAyNTIsIDIzMSwgMTA2LCAyMTQsIDE5NiwgMjA2LCAyNTMsIAorICAgIDIxNCwgMTk5LCAyMTMsIDE1NSwgMjUwLCAzNSwgMjQ3LCAxODMsIDIxOSwgODMsIDYwLCAyMTQsIDE5NSwgMjExLCAyMjgsIAorICAgIDI0NywgMTg0LCAyMywgMjE5LCA4MywgMjAxLCA1OSwgMjE1LCAxNTMsIDIyMSwgNDUsIDIwMSwgNjAsIDIxNSwgMTUzLCAKKyAgICAyMjEsIDQ1LCA1OSwgMjQ1LCAxNTcsIDIzMywgNjksIDIxNCwgMTA3LCAyNDcsIDU0LCAyMzAsIDkzLCAyNDUsIDEwMCwgCisgICAgMjQ4LCAyMDQsIDIyMiwgMTMxLCAyMjEsIDQ5LCAyNDgsIDIwNSwgMjE0LCAyMjYsIDIzOSwgNDQsIDIsIDU5LCAyNDcsIDU5LCAKKyAgICAzOSwgMjQ3LCA1NCwgMjMwLCA5MywgMjQ4LCAxMDYsIDIyNCwgNjgsIDI0MywgMTMsIDI1MiwgMTQxLCAyMjIsIDE2MCwgNDcsIAorICAgIDIwNywgNTUsIDIxMSwgNzcsIDYwLCAyMTAsIDEwNSwgNDcsIDIwNywgNTUsIDIxMSwgNzcsIDU5LCAyMTAsIDEwNSwgNDcsIAorICAgIDIwNywgNTUsIDIxMSwgNzcsIDYwLCA0NywgMjMwLCA5NCwgMjI3LCA3NywgNTksIDQ3LCAyMzAsIDk0LCAyMjcsIDc3LCAKKyAgICAyNDMsIDI0OCwgMjE0LCAyMTgsIDUzLCA3NywgNTksIDI0NCwgNywgMjExLCA1MSwgNDcsIDI0NywgMTkyLCAyNDMsIDEzLCAKKyAgICA5OCwgMjE3LCAxNjIsIDI0MiwgNTAsIDI0NSwgMTYzLCAyMzMsIDY5LCA1OSwgMjQ3LCAyMzQsIDIzMywgNjksIDYwLCAyMTQsIAorICAgIDEwNywgNjAsIDIxMSwgMTcsIDIxOCwgMjM1LCA0NywgMjQzLCAxMiwgMjE4LCAyMzUsIDQ3LCAyNDMsIDExLCAyNTEsIDIwNCwgCisgICAgMTYsIDMzLCAyMDksIDE4OSwgNzcsIDI0NywgMjM0LCAyLCAyMTMsIDIyNSwgMjMsIDExOCwgMTc3LCA1MiwgMjIxLCAxMzksIAorICAgIDIxOCwgMTY0LCAyMzMsIDE1LCAyMjEsIDEzOSwgMjMwLCA0MywgMjMzLCAxNSwgMjIxLCAxMzksIDIzMywgMiwgMjIxLCAKKyAgICAxMzksIDYwLCAyNDcsIDYwLCAyMjIsIDE2NiwgMjE1LCAxODAsIDIxNSwgMTY4LCAyMTUsIDEyMCwgMjQ4LCA2LCAyNDgsIAorICAgIDE4NSwgMjM4LCAyNDMsIDIxNSwgMTEsIDI0MCwgMTY4LCAyMDYsIDI1MywgMjM4LCAzOSwgMjQwLCAxNjgsIDIsIDIzOSwgCisgICAgMTA0LCAyMjcsIDIwNiwgMTYsIDMzLCAyMjksIDIyMiwgMjI2LCAxMjgsIDIwOSwgMjM5LCAyMjIsIDE2NiwgMjM5LCAyMjIsIAorICAgIDI0MSwgMTI2LCAyNDEsIDE5NywgMjMzLCA2OSwgMjM4LCAxNDAsIDI0MiwgMiwgMjE3LCAxNzgsIDQ5LCAyNDEsIDEyNSwgCisgICAgMjQ3LCA5MCwgMjE0LCAyNDQsIDIzNywgMTgyLCAyMTQsIDI0NywgMjIxLCAxMTUsIDIsIDI1MCwgMTQ5LCAyMTIsIDkyLCAKKyAgICAyMzIsIDE4OSwgMjUwLCAxMzQsIDkzLCAyMzksIDY0LCAyMzksIDIzMywgOTMsIDI0MSwgODUsIDIyMCwgNzMsIDI0NywgMzAsIAorICAgIDIyMiwgMTY2LCA2MCwgMjE0LCAxMDcsIDU5LCAyNDEsIDE5NywgMiwgMTk0LCAyMjYsIDI0NywgNjAsIDIxMywgMjI2LCA2MCwgCisgICAgMjE3LCAxODgsIDIxNywgOTgsIDIwOSwgMjAzLCAyNDksIDE5NywgMjE3LCA5OCwgNjAsIDIxNywgOTgsIDIyOSwgOTIsIAorICAgIDI0OSwgMTk3LCAyMTcsIDk4LCA1OSwgMjE3LCA5OCwgNTksIDc3LCAyNDgsIDgxLCA4MywgMjEyLCAxMDgsIDIyOSwgMTQyLCAKKyAgICA1MywgMjEyLCAxNjUsIDI0MywgMjQ3LCAyNTIsIDE5NCwgMjQzLCA4LCAyMTksIDgxLCAyNDEsIDIwOCwgMjE5LCA4MSwgCisgICAgMjM5LCAxMDcsIDIwOCwgMjEyLCAyMzksIDEwNywgMjA2LCAyMTksIDIzOSwgMTA3LCAyMjksIDkyLCA0OCwgMjIxLCAxNDksIAorICAgIDIyMSwgMTQ5LCAyMDksIDIwMywgNDgsIDIyMSwgMTQ5LCA1OSwgMjI0LCAyMjcsIDYwLCAyMjQsIDIyNywgMjQ4LCA4MSwgCisgICAgODMsIDc3LCAyNDgsIDgxLCA4MywgMjI2LCA5NCwgMjA2LCAxOTUsIDc3LCAyMjYsIDk0LCAyMDYsIDE5NSwgMjUwLCAxNDYsIAorICAgIDIwNiwgMTk1LCA3NywgMjUwLCAxNDYsIDIwNiwgMTk1LCAyMjIsIDg5LCAyNywgMjQ3LCA1OSwgNzcsIDI3LCAyNDcsIDU5LCAKKyAgICAyMjIsIDE0MiwgMjQ4LCAxMjksIDI0NywgNTksIDc3LCAyMjIsIDE0MiwgMjQ4LCAxMjksIDI0NywgNTksIDcsIDI0NywgNTksIAorICAgIDIxNSwgMjQ2LCA1OSwgNywgMjQ3LCA1OSwgMjIyLCA4OSwgNywgMjQ3LCA1OSwgMjI3LCAyMjMsIDI0NywgNTksIDIxNCwgCisgICAgMjcsIDczLCAyNDYsIDcxLCAyNDEsIDEyNSwgMjEyLCAxMjQsIDI1MSwgMjA5LCAyNDEsIDEyNSwgMjUwLCAxNDcsIDI1MSwgCisgICAgMjA5LCA3NywgMjQxLCAxMjUsIDI1MCwgMTQ3LCAyNTEsIDIwOSwgMjQxLCAxMjUsIDI0NywgMTc5LCAyNTEsIDIwOSwgNjAsIAorICAgIDI0MSwgMTI1LCAyMjAsIDIwMywgMjE0LCAyNiwgNTksIDI0MSwgMTI1LCAyMjAsIDIwMywgMjE0LCAyNiwgMjE0LCAxNDYsIAorICAgIDIxMywgMjMzLCAyMjIsIDg5LCA1OSwgMjE0LCAyNiwgMzksIDU5LCAyMTQsIDI2LCAyMjIsIDE0MiwgMjQ4LCAxMjksIDYwLCAKKyAgICAyMTQsIDI2LCA2MCwgMjQ4LCAxMjksIDU5LCAyMTQsIDI2LCAyMjIsIDg5LCA2MCwgMjE0LCAyNiwgNzcsIDIyMiwgODksIAorICAgIDYwLCAyMTQsIDI2LCAyMjEsIDQsIDIxNCwgMjYsIDIxNSwgMjQ2LCA1OSwgMjE0LCAyNiwgNzcsIDI1MSwgMjA5LCAyMjIsIAorICAgIDE0MiwgMjQ4LCAxMjksIDI1MSwgMjA5LCAyNDMsIDg4LCAyMTQsIDExOSwgMjUxLCAyMDksIDI0MywgODgsIDIyMCwgMjAzLCAKKyAgICA2MCwgMjE0LCAyNiwgMjQzLCA4OCwgMjIwLCAyMDMsIDIyMSwgNCwgMjE0LCAyNiwgMjE1LCAxMCwgMjIwLCAyMDMsIDYwLCAKKyAgICAyMTQsIDI2LCAyNDMsIDg4LCAyMjAsIDIwMywgMjE5LCAzNSwgNjAsIDIxNCwgMjYsIDc3LCAyNDMsIDg4LCAyMjAsIDIwMywgCisgICAgMjE5LCAzNSwgNjAsIDIxNCwgMjYsIDIxMCwgMTI3LCAyMjAsIDIwMywgNjAsIDIxNCwgMjYsIDIxNSwgNSwgMjIwLCAyMDMsIAorICAgIDI1MSwgMjA5LCAyMTIsIDEyNCwgMjUxLCAyMDksIDIyMiwgMTQyLCAyNDgsIDEyOSwgMjEyLCAxMjQsIDI1MSwgMjA5LCA3NywgCisgICAgMjEyLCAxMjQsIDI1MSwgMjA5LCAyMTUsIDEwLCAyMjEsIDEwMywgNjAsIDIzLCA1OSwgMjQxLCAxNzUsIDYwLCAyNDEsIAorICAgIDE3NSwgNTksIDI0MSwgMTc1LCAyNDMsIDg4LCAyMjEsIDEwMywgMjIyLCA4OSwgNjAsIDI0MSwgMTc1LCAzOSwgMjIyLCAKKyAgICAxNDIsIDI0OCwgMTI5LCAyNDMsIDg4LCAyMjAsIDIwMywgMjE0LCAyNiwgNzcsIDIxMiwgMTI0LCAyMjEsIDQsIDI1MSwgCisgICAgMjA5LCAyMTQsIDE5NywgMjExLCAxOTcsIDIxMSwgNDQsIDIxNCwgMTk3LCA3NywgMjQ4LCA2MiwgMjE0LCAxOTcsIDIxNCwgCisgICAgMTQ4LCA3NywgMjE0LCAxNDgsIDI1MCwgMTQ3LCAyNTEsIDIwOSwgMjQzLCA4OCwgMjEyLCAxMjQsIDIyMCwgMTA0LCAyNTEsIAorICAgIDIwOSwgNzcsIDI0MywgODgsIDIxMiwgMTI0LCAyMjAsIDEwNCwgMjUxLCAyMDksIDI0NywgNjAsIDgzLCAyMTUsIDI0NiwgCisgICAgNTksIDI0NywgMjMzLCAxNzAsIDk4LCAyNDcsIDYwLCA4MywgMjI5LCA5MiwgNDgsIDI0MywgMjQ1LCA1OSwgMjE0LCAxMDcsIAorICAgIDIwOSwgMjAzLCA0OCwgMjQzLCAyNDUsIDU5LCAyMTQsIDEwNywgMjI5LCA5MiwgNDgsIDIxNSwgMjQ2LCA1OSwgMjE0LCAKKyAgICAxMDcsIDIwOSwgMjAzLCA0OCwgMjE1LCAyNDYsIDU5LCAyMTQsIDEwNywgNjAsIDIxOSwgMTk2LCAxNDEsIDIyMiwgMTExLCAKKyAgICA1OSwgMjE5LCAxOTYsIDE0MSwgMjIyLCAxMTEsIDU5LCAyNDIsIDE2OCwgMTQxLCAyMjIsIDExMSwgNjAsIDI0NSwgMTU3LCAKKyAgICAyMjYsIDIwMiwgNTksIDIwNiwgMTk1LCA3NywgMjQyLCAxNjgsIDE0MSwgOTMsIDE0NywgNzksIDEzNCwgMjI3LCAxMDksIAorICAgIDc5LCAxMzQsIDc3LCA3OSwgMTM0LCA3NywgMjE1LCA0MSwgMjAxLCAyNDcsIDE1NiwgMjE5LCAxODAsIDE0MSwgMjIyLCAKKyAgICAxMTEsIDc3LCAyMTUsIDQxLCAyNDcsIDE1NiwgMjE5LCAxODAsIDE0MSwgMjIyLCAxMTEsIDc3LCA1MCwgMjAxLCAyNDcsIAorICAgIDE1NiwgMjE5LCAxODAsIDE0MSwgMjIyLCAxMTEsIDc3LCA1MCwgMjQ3LCAxNTYsIDIxOSwgMTgwLCAxNDEsIDIyMiwgMTExLCAKKyAgICA3NywgMTE0LCAyMTUsIDQxLCAyNDcsIDE1NiwgMjE5LCAxODAsIDE0MSwgMjIyLCAxMTEsIDc3LCAxMTQsIDUwLCAyNDcsIAorICAgIDE1NiwgMjE5LCAxODAsIDE0MSwgMjIyLCAxMTEsIDI0NywgMTgsIDIxNCwgMTAsIDIyMSwgMjI5LCAzLCAyMjIsIDExMSwgCisgICAgNzcsIDI0MiwgMTY4LCAxNDEsIDIyMiwgMTExLCA3NywgMjM5LCA2MSwgMjQyLCAxNjgsIDE0MSwgMjIyLCAxMTEsIDc3LCAKKyAgICA2MCwgMjM5LCA2MCwgMjE4LCA5NywgNzcsIDYwLCAyMzksIDYxLCAyNDksIDg1LCAyNDEsIDE3NiwgMjM5LCA2MCwgMjE4LCAKKyAgICA5NywgMjQxLCAxNzYsIDIzOSwgNjEsIDI0OSwgODUsIDIyNywgMTA5LCA0NywgMjIxLCAyMTcsIDIyMiwgMTExLCAyMjcsIAorICAgIDEwOSwgNDgsIDIyMSwgMjE3LCAyMjIsIDExMSwgMjI3LCAxMDksIDI0MSwgMTg1LCA0NywgMjIxLCAyMTcsIDIyMiwgMTExLCAKKyAgICAyMjcsIDEwOSwgMjQxLCAxODUsIDQ4LCAyMjEsIDIxNywgMjIyLCAxMTEsIDIyNywgMTA5LCAyMzAsIDQxLCAyNTIsIDEwOSwgCisgICAgMjQ5LCAxMzQsIDIyMiwgMTExLCAyMjcsIDEwOSwgMjE4LCAxNjIsIDI1MiwgMTA5LCAyNDksIDEzNCwgMjIyLCAxMTEsIDc3LCAKKyAgICAyMzAsIDQxLCAyNTIsIDEwOSwgMjE5LCAxODAsIDE0MSwgMjIyLCAxMTEsIDc3LCAyMTgsIDE2MiwgMjUyLCAxMDksIDIxOSwgCisgICAgMTgwLCAxNDEsIDIyMiwgMTExLCA3NywgMjMwLCA0MSwgMjUyLCAxMDksIDI0OSwgMTM0LCAyMjIsIDExMSwgNzcsIDIxOCwgCisgICAgMTYyLCAyNTIsIDEwOSwgMjQ5LCAxMzQsIDIyMiwgMTExLCAxNDcsIDQ3LCAyMTEsIDkzLCAyMTUsIDIwNCwgMjQ5LCAxMzQsIAorICAgIDIyMiwgMTExLCAxNDcsIDQ4LCAyMTEsIDkzLCAyMTUsIDIwNCwgMjQ5LCAxMzQsIDIyMiwgMTExLCAyMjcsIDEwOSwgNDcsIAorICAgIDI0NywgMjYsIDI0OSwgMTM0LCAyMjIsIDExMSwgMjI3LCAxMDksIDQ4LCAyNDcsIDI2LCAyNDksIDEzNCwgMjIyLCAxMTEsIAorICAgIDI0NSwgMTExLCAxNzAsIDM5LCAxOCwgMTAyLCAyNDUsIDExMSwgMTcwLCAzOSwgMTgsIDEwNSwgMjQ1LCAxMTEsIDE3MCwgCisgICAgMzksIDE4LCAxNDIsIDI0NSwgMTExLCAxNzAsIDM5LCAxOCwgMTM5LCAyNDUsIDExMSwgMTcwLCAzOSwgMTgsIDE2OCwgMjQ1LCAKKyAgICAxMTEsIDE3MCwgMzksIDE4LCAxODQsIDI0NSwgMTExLCAxNzAsIDM5LCAxOCwgMTk1LCAyNDUsIDExMSwgMTcwLCAzOSwgMTgsIAorICAgIDE5MywgMjQ1LCAxMTEsIDE3MCwgMzksIDE4LCAyMDAsIDI0NSwgMTExLCAxNzAsIDM5LCA0MywgMjEyLCA5OCwgMjQ1LCAKKyAgICAxMTEsIDM5LCAzOCwgMTgsIDEwMiwgMjQ1LCAxMTEsIDM5LCAzOCwgMTgsIDEwNSwgMjQ1LCAxMTEsIDM5LCAzOCwgMTgsIAorICAgIDE0MiwgMjQ1LCAxMTEsIDM5LCAzOCwgMTgsIDEzOSwgMjQ1LCAxMTEsIDM5LCAzOCwgMTgsIDE2OCwgMjQ1LCAxMTEsIDM5LCAKKyAgICAzOCwgMTgsIDE4NCwgMjQ1LCAxMTEsIDM5LCAzOCwgMTgsIDE5NSwgMjQ1LCAxMTEsIDM5LCAzOCwgMTgsIDE5MywgMjQ1LCAKKyAgICAxMTEsIDM5LCAzOCwgMTgsIDIwMCwgMjQ1LCAxMTEsIDM5LCAzOCwgNDMsIDIxMiwgOTgsIDI0NSwgMTExLCAxNzAsIDM5LCAKKyAgICAzOCwgMTgsIDEwMiwgMjQ1LCAxMTEsIDE3MCwgMzksIDM4LCAxOCwgMTA1LCAyNDUsIDExMSwgMTcwLCAzOSwgMzgsIDE4LCAKKyAgICAxNDIsIDI0NSwgMTExLCAxNzAsIDM5LCAzOCwgMTgsIDEzOSwgMjQ1LCAxMTEsIDE3MCwgMzksIDM4LCAxOCwgMTY4LCAyNDUsIAorICAgIDExMSwgMTcwLCAzOSwgMzgsIDE4LCAxODQsIDI0NSwgMTExLCAxNzAsIDM5LCAzOCwgMTgsIDE5NSwgMjQ1LCAxMTEsIDE3MCwgCisgICAgMzksIDM4LCAxOCwgMTkzLCAyNDUsIDExMSwgMTcwLCAzOSwgMzgsIDE4LCAyMDAsIDI0NSwgMTExLCAxNzAsIDM5LCAzOCwgCisgICAgNDMsIDIxMiwgOTgsIDc3LCAyMDcsIDE2LCA4NiwgNDUsIDc3LCAxMDEsIDUzLCA3NywgMjI2LCAyMDIsIDUzLCA3NywgMjQ1LCAKKyAgICA3NSwgNTMsIDc3LCAxODgsIDI0MywgMTE3LCA0NSwgNzcsIDg2LCA0NSwgNzcsIDE0MywgMjQzLCAxMTcsIDQ1LCAyNDQsIDEsIAorICAgIDIyMCwgMjA1LCA4NiwgNDUsIDc3LCAyMTgsIDk0LCA4NiwgNDUsIDIxMSwgNTAsIDg2LCA0NSwgNzcsIDIxMSwgNTAsIDg2LCAKKyAgICA0NSwgMjQ2LCA3NywgMjExLCA1MCwgODYsIDQ1LCA3NywgMjQ2LCA3NywgMjExLCA1MCwgODYsIDQ1LCA2MCwgODYsIDQ1LCAKKyAgICAyMTEsIDIzOCwgMjExLCAxMDAsIDg2LCAyNTEsIDI0MywgMjExLCAyMzgsIDI0OSwgMTUyLCA4NiwgMjUxLCAyNDMsIDYwLCAKKyAgICA4NiwgMjUxLCAyNDMsIDc3LCA2MCwgMjQ3LCAxOCwgMTczLCAyMywgODYsIDQ1LCA3NywgNjAsIDI0NywgMTgsIDE2NywgMjMsIAorICAgIDg2LCA0NSwgMjE0LCAxMDQsIDYwLCA4NiwgNDUsIDc3LCAyNDcsIDEzOSwgNjAsIDg2LCA0NSwgMjE4LCAxNjEsIDU5LCA4NiwgCisgICAgNDUsIDIzMCwgNDAsIDU5LCA4NiwgNDUsIDI1MCwgMTc1LCAyMTUsIDI0NiwgNTksIDg2LCA0NSwgMjQxLCA5NiwgMjE1LCAKKyAgICAyNDYsIDU5LCA4NiwgNDUsIDc3LCAyMjksIDkyLCAyMTgsIDE2MCwgNTksIDg2LCA0NSwgNzcsIDIwOSwgMjAzLCAyMTgsIAorICAgIDE2MCwgNTksIDg2LCA0NSwgMjI0LCAzOSwgMjI5LCA5MiwgMjE4LCAxNjAsIDU5LCA4NiwgNDUsIDI0NywgMjYsIDIyOSwgCisgICAgMTExLCAyMjQsIDM5LCAyMDksIDIwMywgMjE4LCAxNjAsIDU5LCA4NiwgNDUsIDM5LCA3NywgNTksIDg2LCA0NSwgMjA3LCAKKyAgICAyMiwgODYsIDQ1LCAyNDksIDIwMSwgMTg4LCAyNDMsIDExNywgNDUsIDI0OSwgMjAxLCA4NiwgNDUsIDI0OSwgMjAxLCAxNDMsIAorICAgIDI0MywgMTE3LCA0NSwgNzcsIDI0OSwgMjAxLCAxODgsIDI0MywgMTE3LCA0NSwgNzcsIDI0OSwgMjAxLCA4NiwgNDUsIDc3LCAKKyAgICAyNDksIDIwMSwgMTQzLCAyNDMsIDExNywgNDUsIDIxMiwgMTI2LCA4NiwgNDUsIDc3LCAyMTIsIDEyNSwgODYsIDQ1LCAyMDcsIAorICAgIDQ2LCA4NiwgNDUsIDc3LCAyMDcsIDQ2LCA4NiwgNDUsIDIyMiwgMTM3LCA4NiwgNDUsIDUwLCAyNDcsIDI2LCAyMjksIDExMSwgCisgICAgMTI5LCAyNDUsIDEyMSwgMjUyLCAxMDgsIDU5LCAyMTEsIDUyLCAyNDcsIDExOSwgNSwgNTksIDIxMSwgNTEsIDIyMSwgMTE4LCAKKyAgICAyMjIsIDE0MiwgMjEzLCAxODEsIDIyMiwgMTQyLCAyMTMsIDEzNywgNDcsIDIxOCwgMCwgMjUwLCAxNjQsIDI0NSwgMjMzLCAKKyAgICA0OCwgMjE4LCAwLCAyNTAsIDE2NCwgMjQ1LCAyMzMsIDIyMiwgMTIzLCAyLCA2NywgMjMzLCAyNSwgMjE4LCAyMjUsIDIxNCwgCisgICAgMTgxLCAyMjAsIDEzOCwgMjEzLCAxODEsIDIxMywgMTM4LCAyMjAsIDEzOCwgMjE0LCAxODAsIDc5LCAyNTAsIDEyOSwgMiwgCisgICAgMTk0LCA5MSwgMTEsIDIxOCwgMTQyLCAyNDUsIDE2MiwgMTUyLCAyNDUsIDc0LCAxMSwgMjQyLCA1MCwgMjQ1LCAxNjIsIDk4LCAKKyAgICAyMjksIDEzNCwgMjUyLCAxMTcsIDk4LCAyMjksIDEzNCwgMjIyLCAxMjIsIDU5LCAyNDUsIDE1NywgMiwgMjQ4LCAxMjcsIAorICAgIDI0NSwgMjMsIDIzLCAyLCAyNDUsIDIzLCAyNDMsIDYxLCA3MywgMjIyLCAxMzUsIDIwOSwgMTk2LCAyMjksIDkyLCA0OCwgCisgICAgMjQ3LCA5MiwgMiwgMjQ1LCAyMywgMjA5LCAyMDMsIDQ3LCAyNDcsIDkyLCAyLCAyNDUsIDIzLCA0NywgMjIyLCA5MSwgMjMyLCAKKyAgICAxMjAsIDQ4LCAyMjIsIDkxLCAyMzIsIDEyMCwgMjQxLCA4MiwgMjIyLCA5MSwgMjMyLCAxMjAsIDIzMCwgODYsIDEyMCwgCisgICAgMjEyLCAyMDEsIDIzMCwgODYsIDEzMCwgMjEyLCAyMDEsIDQ3LCAyMywgNDgsIDUwLCAyMTAsIDE0MywgNDcsIDIzLCA0OCwgCisgICAgMjEyLCAyMDEsIDQ3LCAyMjYsIDk3LCAxNTIsIDQ4LCAyMTIsIDIwMSwgMTUyLCA0NywgMjEyLCAyMDEsIDEyMCwgMjEyLCAKKyAgICAyMDIsIDIsIDI0NywgMjM0LCA1MiwgMjI5LCA4OSwgMjQ1LCA4MCwgMjQ5LCA0NiwgMTk0LCAyMTgsIDQyLCA1OSwgMjQ3LCAKKyAgICAxMzgsIDI0NSwgMTU2LCA1OSwgMjQ3LCAxMzgsIDI0NSwgMTU3LCAyLCA5MiwgMjExLCAyMDcsIDU5LCAyNDcsIDEzOCwgCisgICAgMjQ1LCAxNTcsIDIsIDg2LCAyMTEsIDIwNywgNTksIDQ5LCAyLCA5MiwgMjExLCAyMDcsIDU5LCA0OSwgMiwgODYsIDIxMSwgCisgICAgMjA3LCAxMSwgNDcsIDU5LCA0OSwgMTQ1LCAxMSwgNDgsIDU5LCA0OSwgMTQ1LCAxMSwgNDcsIDI1MiwgMTA5LCAxNDUsIDExLCAKKyAgICA0OCwgMjUyLCAxMDksIDE0NSwgMTEsIDQ3LCA1MCwgMjUyLCAxMDksIDE0NSwgMTEsIDQ4LCA1MCwgMjUyLCAxMDksIDE0NSwgCisgICAgMTEsIDQ3LCA1OSwgMjExLCA5MywgMjE1LCAyMDQsIDE0NSwgMTEsIDQ4LCA1OSwgMjExLCA5MywgMjE1LCAyMDQsIDE0NSwgCisgICAgMTEsIDQ3LCAyNDEsIDE4NSwgMjIxLCAyMTYsIDExLCA0OCwgMjQxLCAxODUsIDIyMSwgMjE2LCAxNjcsIDIxOSwgMjA3LCAKKyAgICA0NSwgMTczLCAyMTksIDIwNywgNDUsIDI1MiwgODcsIDI0MCwgMjA2LCAyNDcsIDIzNCwgNDUsIDI0NywgMTk0LCAyNDAsIAorICAgIDIwNiwgMjQ3LCAyMzQsIDQ1LCA0OCwgNTEsIDIsIDM5LCAyMjAsIDIxOCwgMTUyLCA5MiwgNDUsIDE1MiwgODYsIDQ1LCAKKyAgICAxNTIsIDQ3LCA0OCwgNDUsIDE1MiwgOTIsIDUwLCA0NSwgMTUyLCA4NiwgNTAsIDQ1LCAxNTIsIDQ3LCA0OCwgNTAsIDQ1LCAKKyAgICAxNTIsIDkyLCA1MSwgMjQxLCA5OCwgMTM0LCAxNTIsIDg2LCA1MSwgMjQxLCA5OCwgMTM0LCAxNTIsIDkyLCA1MCwgNTEsIAorICAgIDI0MSwgOTgsIDEzNCwgMTUyLCA4NiwgNTAsIDUxLCAyNDEsIDk4LCAxMzQsIDE1MiwgODYsIDIxNCwgMTAzLCA0NSwgNTYsIAorICAgIDU3LCAyNDksIDE5NSwgNTYsIDU3LCAyNDUsIDIwLCA1NiwgNTcsIDI0NCwgMTQ4LCA1NiwgNTcsIDI0NSwgMTksIDU2LCA1NywgCisgICAgMjQ0LCA4NCwgNTYsIDU3LCAyNDQsIDIxMSwgNTYsIDU3LCAyNDQsIDE0NywgNTYsIDU3LCAyNDUsIDE4LCA1NiwgNTcsIAorICAgIDI0NCwgNTIsIDU2LCA1NywgMjQ0LCAxNzksIDU2LCA1NywgMjQ0LCAxMTUsIDU2LCA1NywgMjQ0LCAyNDIsIDU2LCA1NywgCisgICAgMjQ0LCA4MywgNTYsIDU3LCAyNDQsIDIxMCwgNTYsIDU3LCAyNDQsIDE0NiwgNTYsIDU3LCAyNDUsIDE3LCA1NiwgNTcsIAorICAgIDI0NCwgMzYsIDU2LCA1NywgMjQ0LCAxNjMsIDU2LCA1NywgMjQ0LCA5OSwgNTYsIDU3LCAyNDQsIDIyNiwgNTYsIDU3LCAKKyAgICAyNDQsIDY3LCA1NiwgNTcsIDI0NCwgMTk0LCA1NiwgNTcsIDI0NCwgMTMwLCA1NiwgNTcsIDI0NSwgMSwgNTYsIDU3LCAyNDQsIAorICAgIDUxLCA1NiwgNTcsIDI0NCwgMTc4LCA1NiwgNTcsIDI0NCwgMTE0LCA1NiwgNTcsIDI0NCwgMjQxLCA1NiwgNTcsIDI0NCwgCisgICAgODIsIDU2LCA1NywgMjQ0LCAyMDksIDU2LCA1NywgMjQ0LCAxNDUsIDU2LCA1NywgMjQ1LCAxNiwgNTYsIDU3LCAyNDQsIDI4LCAKKyAgICA1NiwgNTcsIDI0NCwgMTU1LCA1NiwgNTcsIDI0NCwgOTEsIDU2LCA1NywgMjQ0LCAyMTgsIDU2LCA1NywgMjQ0LCA1OSwgNTYsIAorICAgIDU3LCAyNDQsIDE4NiwgNTYsIDU3LCAyNDQsIDEyMiwgNTYsIDU3LCAyNDQsIDI0OSwgNTYsIDU3LCAyNDQsIDQzLCA1NiwgCisgICAgNTcsIDI0NCwgMTcwLCA1NiwgNTcsIDI0NCwgMTA2LCA1NiwgNTcsIDI0NCwgMjMzLCA1NiwgNTcsIDI0NCwgNzQsIDU2LCAKKyAgICA1NywgMjQ0LCAyMDEsIDU2LCA1NywgMjQ0LCAxMzcsIDU2LCA1NywgMjQ1LCA4LCA1NiwgNTcsIDI0NCwgMzUsIDU2LCA1NywgCisgICAgMjQ0LCAxNjIsIDU2LCA1NywgMjQ0LCA5OCwgNTYsIDU3LCAyNDQsIDIyNSwgNTYsIDU3LCAyNDQsIDY2LCA1NiwgNTcsIAorICAgIDI0NCwgMTkzLCA1NiwgNTcsIDI0NCwgMTI5LCA1NiwgNTcsIDI0NSwgMCwgNTYsIDU3LCAyNDQsIDUwLCA1NiwgNTcsIDI0NCwgCisgICAgMTc3LCA1NiwgNTcsIDI0NCwgMTEzLCA1NiwgNTcsIDI0NCwgMjQwLCA1NiwgNTcsIDI0NCwgODEsIDU2LCA1NywgMjQ0LCAKKyAgICAyMDgsIDU2LCA1NywgMjQ0LCAxNDQsIDU2LCA1NywgMjQ1LCAxNSwgNTYsIDU3LCAyNDQsIDI0LCA1NiwgNTcsIDI0NCwgCisgICAgMTUxLCA1NiwgNTcsIDI0NCwgODcsIDU2LCA1NywgMjQ0LCAyMTQsIDU2LCA1NywgMjQ0LCA1NSwgNTYsIDU3LCAyNDQsIAorICAgIDE4MiwgNTYsIDU3LCAyNDQsIDExOCwgNTYsIDU3LCAyNDQsIDI0NSwgNTYsIDU3LCAyNDQsIDM5LCA1NiwgNTcsIDI0NCwgCisgICAgMTY2LCA1NiwgNTcsIDI0NCwgMTAyLCA1NiwgNTcsIDI0NCwgMjI5LCA1NiwgNTcsIDI0NCwgNzAsIDU2LCA1NywgMjQ0LCAKKyAgICAxOTcsIDU2LCA1NywgMjQ0LCAxMzMsIDU2LCA1NywgMjQ1LCA0LCA1NiwgNTcsIDI0NCwgMzEsIDU2LCA1NywgMjQ0LCAxNTgsIAorICAgIDU2LCA1NywgMjQ0LCA5NCwgNTYsIDU3LCAyNDQsIDIyMSwgNTYsIDU3LCAyNDQsIDYyLCA1NiwgNTcsIDI0NCwgMTg5LCA1NiwgCisgICAgNTcsIDI0NCwgMTI1LCA1NiwgNTcsIDI0NCwgMjUyLCA1NiwgNTcsIDI0NCwgNDYsIDU2LCA1NywgMjQ0LCAxNzMsIDU2LCAKKyAgICA1NywgMjQ0LCAxMDksIDU2LCA1NywgMjQ0LCAyMzYsIDU2LCA1NywgMjQ0LCA3NywgNTYsIDU3LCAyNDQsIDIwNCwgNTYsIAorICAgIDU3LCAyNDQsIDE0MCwgNTYsIDU3LCAyNDUsIDExLCA1NiwgNTcsIDI0NCwgMjcsIDU2LCA1NywgMjQ0LCAxNTQsIDU2LCA1NywgCisgICAgMjQ0LCA5MCwgNTYsIDU3LCAyNDQsIDIxNywgNTYsIDU3LCAyNDQsIDU4LCA1NiwgNTcsIDI0NCwgMTg1LCA1NiwgNTcsIAorICAgIDI0NCwgMTIxLCA1NiwgNTcsIDI0NCwgMjQ4LCA1NiwgNTcsIDI0NCwgNDIsIDU2LCA1NywgMjQ0LCAxNjksIDU2LCA1NywgCisgICAgMjQ0LCAxMDUsIDU2LCA1NywgMjQ0LCAyMzIsIDU2LCA1NywgMjQ0LCA3MywgNTYsIDU3LCAyNDQsIDIwMCwgNTYsIDU3LCAKKyAgICAyNDQsIDEzNiwgNTYsIDU3LCAyNDUsIDcsIDU2LCA1NywgMjQ0LCAzNCwgNTYsIDU3LCAyNDQsIDE2MSwgNTYsIDU3LCAyNDQsIAorICAgIDk3LCA1NiwgNTcsIDI0NCwgMjI0LCA1NiwgNTcsIDI0NCwgNjUsIDU2LCA1NywgMjQ0LCAxOTIsIDU2LCA1NywgMjQ0LCAKKyAgICAxMjgsIDU2LCA1NywgMjQ0LCAyNTUsIDU2LCA1NywgMjQ0LCA0OSwgNTYsIDU3LCAyNDQsIDE3NiwgNTYsIDU3LCAyNDQsIAorICAgIDExMiwgNTYsIDU3LCAyNDQsIDIzOSwgNTYsIDU3LCAyNDQsIDgwLCA1NiwgNTcsIDI0NCwgMjA3LCA1NiwgNTcsIDI0NCwgCisgICAgMTQzLCA1NiwgNTcsIDI0NSwgMTQsIDU2LCA1NywgMjQ0LCAyMiwgNTYsIDU3LCAyNDQsIDE0OSwgNTYsIDU3LCAyNDQsIDg1LCAKKyAgICA1NiwgNTcsIDI0NCwgMjEyLCA1NiwgNTcsIDI0NCwgNTMsIDU2LCA1NywgMjQ0LCAxODAsIDU2LCA1NywgMjQ0LCAxMTYsIAorICAgIDU2LCA1NywgMjQ0LCAyNDMsIDU2LCA1NywgMjQ0LCAzNywgNTYsIDU3LCAyNDQsIDE2NCwgNTYsIDU3LCAyNDQsIDEwMCwgCisgICAgNTYsIDU3LCAyNDQsIDIyNywgNTYsIDU3LCAyNDQsIDY4LCA1NiwgNTcsIDI0NCwgMTk1LCA1NiwgNTcsIDI0NCwgMTMxLCAKKyAgICA1NiwgNTcsIDI0NSwgMiwgNTYsIDU3LCAyNDQsIDI5LCA1NiwgNTcsIDI0NCwgMTU2LCA1NiwgNTcsIDI0NCwgOTIsIDU2LCAKKyAgICA1NywgMjQ0LCAyMTksIDU2LCA1NywgMjQ0LCA2MCwgNTYsIDU3LCAyNDQsIDE4NywgNTYsIDU3LCAyNDQsIDEyMywgNTYsIAorICAgIDU3LCAyNDQsIDI1MCwgNTYsIDU3LCAyNDQsIDQ0LCA1NiwgNTcsIDI0NCwgMTcxLCA1NiwgNTcsIDI0NCwgMTA3LCA1NiwgCisgICAgNTcsIDI0NCwgMjM0LCA1NiwgNTcsIDI0NCwgNzUsIDU2LCA1NywgMjQ0LCAyMDIsIDU2LCA1NywgMjQ0LCAxMzgsIDU2LCAKKyAgICA1NywgMjQ1LCA5LCA1NiwgNTcsIDI0NCwgMjUsIDU2LCA1NywgMjQ0LCAxNTIsIDU2LCA1NywgMjQ0LCA4OCwgNTYsIDU3LCAKKyAgICAyNDQsIDIxNSwgNTYsIDU3LCAyNDQsIDU2LCA1NiwgNTcsIDI0NCwgMTgzLCA1NiwgNTcsIDI0NCwgMTE5LCA1NiwgNTcsIAorICAgIDI0NCwgMjQ2LCA1NiwgNTcsIDI0NCwgNDAsIDU2LCA1NywgMjQ0LCAxNjcsIDU2LCA1NywgMjQ0LCAxMDMsIDU2LCA1NywgCisgICAgMjQ0LCAyMzAsIDU2LCA1NywgMjQ0LCA3MSwgNTYsIDU3LCAyNDQsIDE5OCwgNTYsIDU3LCAyNDQsIDEzNCwgNTYsIDU3LCAKKyAgICAyNDUsIDUsIDU2LCA1NywgMjQ0LCAzMiwgNTYsIDU3LCAyNDQsIDE1OSwgNTYsIDU3LCAyNDQsIDk1LCA1NiwgNTcsIDI0NCwgCisgICAgMjIyLCA1NiwgNTcsIDI0NCwgNjMsIDU2LCA1NywgMjQ0LCAxOTAsIDU2LCA1NywgMjQ0LCAxMjYsIDU2LCA1NywgMjQ0LCAKKyAgICAyNTMsIDU2LCA1NywgMjQ0LCA0NywgNTYsIDU3LCAyNDQsIDE3NCwgNTYsIDU3LCAyNDQsIDExMCwgNTYsIDU3LCAyNDQsIAorICAgIDIzNywgNTYsIDU3LCAyNDQsIDc4LCA1NiwgNTcsIDI0NCwgMjA1LCA1NiwgNTcsIDI0NCwgMTQxLCA1NiwgNTcsIDI0NSwgCisgICAgMTIsIDU2LCA1NywgMjQ0LCAyMywgNTYsIDU3LCAyNDQsIDE1MCwgNTYsIDU3LCAyNDQsIDg2LCA1NiwgNTcsIDI0NCwgMjEzLCAKKyAgICA1NiwgNTcsIDI0NCwgNTQsIDU2LCA1NywgMjQ0LCAxODEsIDU2LCA1NywgMjQ0LCAxMTcsIDU2LCA1NywgMjQ0LCAyNDQsIAorICAgIDU2LCA1NywgMjQ0LCAzOCwgNTYsIDU3LCAyNDQsIDE2NSwgNTYsIDU3LCAyNDQsIDEwMSwgNTYsIDU3LCAyNDQsIDIyOCwgCisgICAgNTYsIDU3LCAyNDQsIDY5LCA1NiwgNTcsIDI0NCwgMTk2LCA1NiwgNTcsIDI0NCwgMTMyLCA1NiwgNTcsIDI0NSwgMywgNTYsIAorICAgIDU3LCAyNDQsIDMwLCA1NiwgNTcsIDI0NCwgMTU3LCA1NiwgNTcsIDI0NCwgOTMsIDU2LCA1NywgMjQ0LCAyMjAsIDU2LCA1NywgCisgICAgMjQ0LCA2MSwgNTYsIDU3LCAyNDQsIDE4OCwgNTYsIDU3LCAyNDQsIDEyNCwgNTYsIDU3LCAyNDQsIDI1MSwgNTYsIDU3LCAKKyAgICAyNDQsIDQ1LCA1NiwgNTcsIDI0NCwgMTcyLCA1NiwgNTcsIDI0NCwgMTA4LCA1NiwgNTcsIDI0NCwgMjM1LCA1NiwgNTcsIAorICAgIDI0NCwgNzYsIDU2LCA1NywgMjQ0LCAyMDMsIDU2LCA1NywgMjQ0LCAxMzksIDU2LCA1NywgMjQ1LCAxMCwgNTYsIDU3LCAKKyAgICAyNDQsIDI2LCA1NiwgNTcsIDI0NCwgMTUzLCA1NiwgNTcsIDI0NCwgODksIDU2LCA1NywgMjQ0LCAyMTYsIDU2LCA1NywgCisgICAgMjQ0LCA1NywgNTYsIDU3LCAyNDQsIDE4NCwgNTYsIDU3LCAyNDQsIDEyMCwgNTYsIDU3LCAyNDQsIDI0NywgNTYsIDU3LCAKKyAgICAyNDQsIDQxLCA1NiwgNTcsIDI0NCwgMTY4LCA1NiwgNTcsIDI0NCwgMTA0LCA1NiwgNTcsIDI0NCwgMjMxLCA1NiwgNTcsIAorICAgIDI0NCwgNzIsIDU2LCA1NywgMjQ0LCAxOTksIDU2LCA1NywgMjQ0LCAxMzUsIDU2LCA1NywgMjQ1LCA2LCA1NiwgNTcsIDI0NCwgCisgICAgMzMsIDU2LCA1NywgMjQ0LCAxNjAsIDU2LCA1NywgMjQ0LCA5NiwgNTYsIDU3LCAyNDQsIDIyMywgNTYsIDU3LCAyNDQsIDY0LCAKKyAgICA1NiwgNTcsIDI0NCwgMTkxLCA1NiwgNTcsIDI0NCwgMTI3LCA1NiwgNTcsIDI0NCwgMjU0LCA1NiwgNTcsIDI0NCwgNDgsIAorICAgIDU2LCA1NywgMjQ0LCAxNzUsIDU2LCA1NywgMjQ0LCAxMTEsIDU2LCA1NywgMjQ0LCAyMzgsIDU2LCA1NywgMjQ0LCA3OSwgCisgICAgNTYsIDU3LCAyNDQsIDIwNiwgNTYsIDU3LCAyNDQsIDE0MiwgNTYsIDU3LCAyNDUsIDEzLCA4NiwgMjEwLCAxMDgsIDUxLCAyLCAKKyAgICA3OSwgOTEsIDg2LCAyMTAsIDEwOCwgNTEsIDIsIDUwLCA3OSwgOTEsIDkyLCA1MCwgNTEsIDIsIDc5LCA5MSwgODYsIDUwLCAKKyAgICA1MSwgMiwgNzksIDkxLCA0NywgNDgsIDUwLCA1MSwgMiwgNzksIDkxLCA4NiwgMjEwLCAxMDgsIDUxLCAyNDEsIDk4LCAxMzQsIAorICAgIDkyLCA1MCwgNTEsIDI0MSwgOTgsIDEzNCwgODYsIDUwLCA1MSwgMjQxLCA5OCwgMTM0LCAxNzMsIDUxLCAyLCAxOTQsIDkxLCAKKyAgICAxNjcsIDUxLCAyLCAxOTQsIDkxLCAxNjcsIDIxMSwgMzYsIDQ1LCAxNzMsIDIxMSwgMzYsIDQ1LCA5MiwgNTAsIDI0NiwgNzksIAorICAgIDQ1LCA4NiwgNTAsIDI0NiwgNzksIDQ1LCA5MiwgMjExLCAzNiwgMjQ2LCA3OSwgNDUsIDg2LCAyMTEsIDM2LCAyNDYsIDc5LCAKKyAgICA0NSwgODYsIDIxMCwgMTA4LCAyMTEsIDM2LCAyNDYsIDc5LCA0NSwgODYsIDUxLCAyLCAyNDQsIDIxLCAyMTQsIDksIDE2NywgCisgICAgNTEsIDIxMSwgMTMwLCAxMzQsIDE3MywgNTEsIDIxMSwgMTMwLCAxMzQsIDg2LCA1MSwgMiwgMjEyLCAxOTIsIDIsIDc5LCAKKyAgICA5MSwgODYsIDUxLCAyLCAyMTIsIDE5MiwgMiwgNTAsIDc5LCA5MSwgODYsIDIxMCwgMTA4LCA1MSwgMiwgMjEyLCAxOTEsIAorICAgIDg2LCAyMTAsIDEwOCwgNTEsIDIsIDIxMiwgMTkyLCAyLCA3OSwgOTEsIDg2LCAyMTAsIDEwOCwgNTEsIDIsIDIxMiwgMTkyLCAKKyAgICAyLCA1MCwgNzksIDkxLCA5MiwgMjUxLCAyNDUsIDg2LCAyNTEsIDI0NSwgOTIsIDUwLCAyNTEsIDI0NSwgODYsIDUwLCAyNTEsIAorICAgIDI0NSwgOTIsIDUxLCAyMTEsIDEzMCwgNjAsIDI0NSwgMTU2LCA4NiwgNTEsIDIxMSwgMTMwLCA2MCwgMjQ1LCAxNTYsIDkyLCAKKyAgICA1MSwgMjQxLCA5OCwgMjUwLCAxMjksIDIxMSwgMTMwLCA2MCwgMjQ1LCAxNTYsIDg2LCA1MSwgMjQxLCA5OCwgMjUwLCAxMjksIAorICAgIDIxMSwgMTMwLCA2MCwgMjQ1LCAxNTYsIDE0MywgMjA3LCAzNiwgMjMsIDE4OCwgMjQzLCAxMTcsIDQ1LCAxNDMsIDI0MywgCisgICAgMTE3LCAyMywgMTg4LCAyMDcsIDM2LCA0NSwgMTQzLCAyMDcsIDM2LCA1MSwgMiwgMTA5LCAxNDMsIDI0MywgMTE3LCA1MSwgCisgICAgMiwgMTA5LCAxODgsIDI0MywgMTE3LCA1MSwgMiwgMTA5LCAxODgsIDIwNywgMzYsIDUxLCAyLCAxMDksIDE0MywgMjA3LCAKKyAgICAzNiwgNTEsIDIzLCAxNDMsIDI0MywgMTE3LCA0NSwgMTQzLCAyNDMsIDExNywgNTEsIDIzLCAxODgsIDI0MywgMTE3LCA0NSwgCisgICAgMTg4LCAyNDMsIDExNywgNTEsIDIzLCAxODgsIDIwNywgMzYsIDQ1LCAxODgsIDIwNywgMzYsIDUxLCAyMywgMTQzLCAyMDcsIAorICAgIDM2LCA0NSwgMjE4LCAxNDIsIDI0NSwgMTYzLCAyNDcsIDU0LCAyNDIsIDUwLCAyNDUsIDE2MiwgMjQyLCA1MCwgMjQ1LCAKKyAgICAxNjMsIDI0NywgNTQsIDIxOCwgMTQyLCAyNDUsIDE2MiwgMTg4LCAyNDMsIDExNywgNTEsIDI0NywgNTQsIDE0MywgMjQzLCAKKyAgICAxMTcsIDQ1LCAxNDMsIDI0MywgMTE3LCA1MSwgMjQ3LCA1NCwgMTg4LCAyNDMsIDExNywgNDUsIDI0MiwgNTAsIDI0NSwgCisgICAgMTYzLCAyNDcsIDU0LCAxNDMsIDI0MywgMTE3LCA0NSwgMjE4LCAxNDIsIDI0NSwgMTYzLCAyNDcsIDU0LCAxODgsIDI0MywgCisgICAgMTE3LCA0NSwgMTQzLCAyNDMsIDExNywgNTEsIDI0NywgNTQsIDE0MywgMjA3LCAzNiwgNDUsIDE0MywgMjA3LCAzNiwgNTEsIAorICAgIDI0NywgNTQsIDE0MywgMjQzLCAxMTcsIDQ1LCAyMDcsIDY1LCA1MSwgMjIwLCAyMDEsIDI0NSwgMTAyLCAyMTgsIDE2NywgCisgICAgNTEsIDIyMCwgMjAxLCA4NiwgMjEyLCAzMywgMjQ3LCAxNywgMjA5LCAxOTYsIDUxLCAyMjAsIDIwMSwgODYsIDIxMiwgMzMsIAorICAgIDI0NywgMTcsIDI0NCwgNiwgNTEsIDIyMCwgMjAxLCAxNzMsIDIxMiwgMzMsIDI0NywgMTcsIDIzMCwgMzYsIDUxLCAyMjAsIAorICAgIDIwMSwgMTczLCAyMTIsIDMzLCAyNDcsIDE3LCAyMTgsIDE1NiwgMjE4LCAxNTksIDI1MiwgMjIsIDI0NywgMTk0LCA0NSwgCisgICAgMjMwLCAzOSwgMjUyLCAyMiwgMjUyLCA4NywgNDUsIDIxMSwgMTAyLCAyNTIsIDIyLCAyNTIsIDg3LCA0NSwgMjQ5LCAxNTQsIAorICAgIDI1MiwgMjIsIDI1MiwgODcsIDQ1LCAyMTEsIDEwMiwgMjUyLCAyMiwgMjQ3LCAxOTQsIDUxLCAyLCAyMjYsIDIwMSwgMjExLCAKKyAgICAxMDIsIDI1MiwgMjIsIDI1MiwgODcsIDUxLCAyLCAyMjAsIDIxOCwgMjI5LCA5MiwgNDgsIDIxNiwgNTQsIDI0NywgMTk0LCAKKyAgICA0NSwgMjI5LCA5MiwgNDcsIDIxNiwgNTQsIDI1MiwgODcsIDQ1LCAyNTIsIDg3LCAyNDcsIDE5MiwgMjQ3LCAyMzQsIDQ1LCAKKyAgICAyNDcsIDE5NCwgMjQ3LCAxOTIsIDI0NywgMjM0LCA0NSwgODYsIDUxLCA4NCwgMjE1LCAxNDQsIDkyLCA0NSwgOTIsIDUxLCAKKyAgICA4NCwgMjE1LCAxNDQsIDg2LCA0NSwgMjE1LCAxNDQsIDg2LCA1MSwgODQsIDkyLCA0NSwgODYsIDUxLCAyLCAxMDEsIDU1LCAKKyAgICA5MiwgNTEsIDIsIDEwMSwgNTUsIDg2LCA1MSwgMjExLCAyMzMsIDIwNiwgMTk1LCA0NywgNDgsIDUxLCAyMTEsIDIzMywgNSwgCisgICAgMjQ3LCAyMzMsIDE2NywgMjEwLCAxMDgsIDUxLCAyNDEsIDk4LCA1LCAyNDcsIDIzMywgNDcsIDEzOCwgMTIwLCA0OCwgMTM4LCAKKyAgICAxMzAsIDIzOSwgODksIDQ3LCAxMzgsIDEzMCwgNDgsIDEzOCwgMTIwLCAyMzksIDg5LCAxMjAsIDEzOCwgNDgsIDEzMCwgCisgICAgMTM4LCA0NywgMjM5LCA4OSwgMTIwLCAxMzgsIDQ3LCAxMzAsIDEzOCwgNDgsIDIzOSwgODksIDQ3LCAxMzgsIDEyMCwgNDgsIAorICAgIDEzOCwgMTIwLCAyMzksIDg5LCAxMjAsIDEzOCwgNDgsIDEzMCwgMTM4LCA0OCwgMjM5LCA4OSwgNDcsIDEzOCwgMTMwLCA0OCwgCisgICAgMTM4LCAxMzAsIDIzOSwgODksIDEyMCwgMTM4LCA0NywgMTMwLCAxMzgsIDQ3LCAyMzksIDg5LCA5MiwgMjM5LCA5MCwgMiwgCisgICAgMTM4LCAxMjAsIDIxMSwgMTMwLCAxMzQsIDg2LCAyMzksIDkwLCAyLCAxMzgsIDEyMCwgMjExLCAxMzAsIDEzNCwgMTY3LCAKKyAgICAyMzksIDkwLCAyLCAxMzgsIDQ4LCAyMTEsIDEzMCwgMTM0LCAxNzMsIDIzOSwgOTAsIDIsIDEzOCwgNDgsIDIxMSwgMTMwLCAKKyAgICAxMzQsIDkyLCAyMzksIDkwLCAyLCAxMzgsIDEzMCwgMjExLCAxMzAsIDEzNCwgODYsIDIzOSwgOTAsIDIsIDEzOCwgMTMwLCAKKyAgICAyMTEsIDEzMCwgMTM0LCAxNjcsIDIzOSwgOTAsIDIsIDEzOCwgNDcsIDIxMSwgMTMwLCAxMzQsIDE3MywgMjM5LCA5MCwgMiwgCisgICAgMTM4LCA0NywgMjExLCAxMzAsIDEzNCwgOTIsIDIzOSwgOTAsIDIsIDEzOCwgMTIwLCAyNDEsIDk4LCAxMzQsIDg2LCAyMzksIAorICAgIDkwLCAyLCAxMzgsIDEyMCwgMjQxLCA5OCwgMTM0LCAxNjcsIDIzOSwgOTAsIDIsIDEzOCwgNDgsIDI0MSwgOTgsIDEzNCwgCisgICAgMTczLCAyMzksIDkwLCAyLCAxMzgsIDQ4LCAyNDEsIDk4LCAxMzQsIDkyLCAyMzksIDkwLCAyLCAxMzgsIDEzMCwgMjQxLCAKKyAgICA5OCwgMTM0LCA4NiwgMjM5LCA5MCwgMiwgMTM4LCAxMzAsIDI0MSwgOTgsIDEzNCwgMTY3LCAyMzksIDkwLCAyLCAxMzgsIAorICAgIDQ3LCAyNDEsIDk4LCAxMzQsIDE3MywgMjM5LCA5MCwgMiwgMTM4LCA0NywgMjQxLCA5OCwgMTM0LCA5MiwgMjM5LCA5MCwgMiwgCisgICAgMTM4LCAxMjAsIDg0LCA5MiwgMjM5LCA5MCwgMiwgMTM4LCAyNDQsIDgsIDE2NywgMjM5LCA5MCwgMiwgMTM4LCA0NywgMjUwLCAKKyAgICAxMiwgMTY3LCAyMzksIDkwLCAyLCAxMzgsIDIxOCwgMTY3LCA4NiwgMjM5LCA5MCwgMiwgMTM4LCAxMjAsIDg0LCA4NiwgCisgICAgMjM5LCA5MCwgMiwgMTM4LCAyNDQsIDgsIDE3MywgMjM5LCA5MCwgMiwgMTM4LCA0NywgMjUwLCAxMiwgMTczLCAyMzksIDkwLCAKKyAgICAyLCAxMzgsIDIxOCwgMTY3LCA5MiwgMjM5LCA5MCwgMiwgMTM4LCAxMjAsIDg0LCA4NiwgMjM5LCA5MCwgMiwgMTM4LCAyMDksIAorICAgIDIwNiwgOTIsIDIzOSwgOTAsIDIsIDEzOCwgMTMwLCA4NCwgODYsIDIzOSwgOTAsIDIsIDEzOCwgMjQ0LCA4LCA4NiwgMjM5LCAKKyAgICA5MCwgMiwgMTM4LCAxMjAsIDg0LCA5MiwgMjM5LCA5MCwgMiwgMTM4LCAyMDksIDIwNiwgODYsIDIzOSwgOTAsIDIsIDEzOCwgCisgICAgMTMwLCA4NCwgOTIsIDIzOSwgOTAsIDIsIDEzOCwgMjQ0LCA4LCA5MiwgMjM5LCA5MCwgMiwgMTM4LCAxMjAsIDg0LCAxNTIsIAorICAgIDI0NiwgNzgsIDkyLCAyMzksIDkwLCAyLCAxMzgsIDEzMCwgMjUwLCAyNiwgMTUyLCAyNDYsIDc4LCA4NiwgMjM5LCA5MCwgMiwgCisgICAgMTM4LCAxMjAsIDg0LCAxNTIsIDI0NiwgNzgsIDg2LCAyMzksIDkwLCAyLCAxMzgsIDEzMCwgMjUwLCAyNiwgMTUyLCAyNDYsIAorICAgIDc4LCAxNjcsIDIzOSwgOTAsIDIsIDEzOCwgNDcsIDI1MCwgMTIsIDE3MywgMjM5LCA5MCwgMiwgMTM4LCAyMTgsIDE2NywgCisgICAgMTczLCAyMzksIDkwLCAyLCAxMzgsIDQ3LCAyNTAsIDEyLCAxNjcsIDIzOSwgOTAsIDIsIDEzOCwgMjE4LCAxNjcsIDQ4LCAKKyAgICA1MCwgNTEsIDIsIDIxOCwgOTMsIDIzOSwgNjgsIDI0MiwgMjQyLCAzLCA4NCwgODYsIDQ1LCAyMTEsIDE4MSwgMjIyLCAxMzMsIAorICAgIDg0LCA4NiwgNDUsIDkyLCA1MSwgODQsIDIxMSwgMTgxLCAyMjIsIDEzMiwgODYsIDUxLCA4NCwgMjExLCAxODEsIDIyMiwgCisgICAgMTMyLCA4NiwgNTEsIDg0LCAyNTIsIDE0OSwgMTQ2LCAxMjQsIDIzMCwgMTAsIDg0LCA5MiwgNDUsIDkyLCA1MSwgMjExLCAKKyAgICAyMzMsIDIzMCwgOSwgMjM5LCAyMzAsIDg0LCA4NiwgNDUsIDIxMywgMTgyLCA4NCwgODYsIDQ1LCA5MiwgNTEsIDIxMSwgCisgICAgMjMzLCAyMTMsIDE4MSwgMjEzLCAxMzgsIDg0LCA5MiwgNDUsIDQ3LCAyNDEsIDIxNCwgMjEyLCAxOTEsIDQ4LCAyNDEsIAorICAgIDIxNCwgMjEyLCAxOTEsIDEyMCwgMjQxLCAyMTQsIDIxMiwgMTkxLCAxMzAsIDI0MSwgMjE0LCAyMTIsIDE5MSwgMjExLCAzNiwgCisgICAgNzksIDI1MCwgMTI5LCAyNDUsIDIzMywgMjA1LCAxNjAsIDIyNCwgNDEsIDIxNCwgMTE2LCAyMDUsIDE2MCwgMjI0LCA0MSwgCisgICAgMjEwLCA5NSwgMjQ3LCAxNjIsIDQ3LCA1OSwgMjQ3LCAyNiwgMTQ1LCA0OCwgNTksIDI0NywgMjYsIDE0NSwgNDcsIDU5LCAKKyAgICAyMjEsIDIxNiwgNDgsIDU5LCAyMjEsIDIxNiwgMjA1LCAxNjAsIDIyNCwgNDEsIDQ3LCAyMzMsIDg0LCAxNDUsIDIwNSwgCisgICAgMTYwLCAyMjQsIDQxLCA0OCwgMjMzLCA4NCwgMTQ1LCAyMDUsIDE2MCwgMjI0LCA0MSwgNDcsIDI0OSwgMjIzLCAxNDUsIAorICAgIDIwNSwgMTYwLCAyMjQsIDQxLCA0OCwgMjQ5LCAyMjMsIDE0NSwgNDcsIDQ5LCAyNDksIDEzNCwgMiwgMjA5LCAyMjYsIDQ4LCAKKyAgICA0OSwgMjQ5LCAxMzQsIDIsIDIwOSwgMjI2LCA0NywgNDksIDI0OSwgMTM0LCAyLCAyMTEsIDIwOCwgMjMzLCA2OSwgMjExLCAKKyAgICAxMDIsIDI0NywgOTEsIDQ4LCA0OSwgMjQ5LCAxMzQsIDIsIDIxMSwgMjA4LCAyMzMsIDY5LCAyNDksIDE1NCwgMjQ3LCA5MSwgCisgICAgNDcsIDQ5LCAyNDksIDEzNCwgMiwgMjExLCAyMDgsIDIzMywgNjksIDI0OSwgMTU0LCAyNDcsIDkxLCA0OCwgNDksIDI0OSwgCisgICAgMTM0LCAyLCAyMTEsIDIwOCwgMjMzLCA2OSwgMjExLCAxMDIsIDI0NywgOTEsIDQ3LCAyNTIsIDEwOSwgMjQ5LCAxMzQsIDIsIAorICAgIDI0NSwgMjMsIDQ4LCAyNTIsIDEwOSwgMjQ5LCAxMzQsIDIsIDI0NSwgMjMsIDQ3LCAyNTIsIDIyLCAyMzAsIDEwLCAxNDUsIAorICAgIDQ4LCAyNTIsIDIyLCAyMzksIDIzMCwgMTQ1LCA1MCwgNDcsIDI1MiwgMjIsIDIzOSwgMjMwLCAxNDUsIDUwLCA0OCwgMjUyLCAKKyAgICAyMiwgMjMwLCAxMCwgMTQ1LCA0NywgNjAsIDIxMSwgOTMsIDIxNSwgMjA0LCAxNDUsIDQ4LCA2MCwgMjExLCA5MywgMjE1LCAKKyAgICAyMDQsIDE0NSwgMjQ0LCAyMSwgMjQyLCA4LCA3OSwgMjA1LCAzMSwgMjI5LCAyMDUsIDIyNywgMTE2LCAyNTIsIDEwOSwgCisgICAgMjIyLCAxMzUsIDIzMCwgNDYsIDQ4LCAyNTIsIDEwOSwgMjA5LCA1MywgMiwgMjE0LCAxMDcsIDIyNywgMTE2LCA0OCwgMjUyLCAKKyAgICAxMDksIDIsIDI0NSwgMjMsIDI1MiwgMTA5LCAyLCAyMTgsIDEsIDIzMywgMjUsIDI1MywgOSwgMjUyLCAxMDgsIDIxNCwgCisgICAgMTMzLCAyNTIsIDEwOSwgMjIyLCAxMzUsIDIzMCwgNDYsIDIxNCwgMTMzLCAyNTIsIDEwOSwgMjIyLCAxMzUsIDIwOSwgMjA2LCAKKyAgICAyMDEsIDI1MiwgMTA4LCAyMTgsIDIyNCwgMjUyLCAxMDgsIDI1MiwgMTA5LCAyLCAyMDksIDIyNiwgMjE4LCAyMjQsIDI1MiwgCisgICAgMTA5LCAyLCAyMDksIDIyNiwgMjIyLCAyMjIsIDI1MiwgMTA5LCAyMjIsIDEzNSwgMjA5LCAyMDYsIDIyMiwgMjIyLCAyNTIsIAorICAgIDEwOSwgMjIyLCAxMzUsIDI0NCwgOCwgMjI3LCAxMTYsIDI1MiwgMTA5LCAyLCAyMjIsIDE0MiwgMjUyLCAwLCAyNDMsIDMxLCAKKyAgICAyMzMsIDY5LCA1MSwgMjIwLCAyMDEsIDEyMCwgMjMsIDIxOCwgMTY3LCAyMjcsIDExNiwgMjUyLCAxMDksIDIsIDIyMiwgCisgICAgMTQyLCAyNTIsIDAsIDI0MywgMzEsIDIzMywgNjksIDUxLCAyMjAsIDIwMSwgMTIwLCAyMywgMjMwLCA0NiwgMjI3LCAxMTYsIAorICAgIDI1MiwgMTA5LCAyLCAyMjIsIDE0MiwgMjUyLCAwLCAyNDMsIDMxLCAyMzMsIDY5LCA1MSwgMjIwLCAyMDEsIDEzMCwgMjMsIAorICAgIDIxOCwgMTY3LCAyMjcsIDExNiwgMjUyLCAxMDksIDIsIDIyMiwgMTQyLCAyNTIsIDAsIDI0MywgMzEsIDIzMywgNjksIDUxLCAKKyAgICAyMjAsIDIwMSwgMTMwLCAyMywgMjMwLCA0NiwgMjI3LCAxMTYsIDI1MiwgMTA5LCAyLCAyMjIsIDE0MiwgMjUyLCAwLCAyNDMsIAorICAgIDMxLCAyMzMsIDY5LCA1MSwgMjIwLCAyMDEsIDQ4LCAyMywgMjA5LCAyMDYsIDIyNywgMTE2LCAyNTIsIDEwOSwgMiwgMjIyLCAKKyAgICAxNDIsIDI1MiwgMCwgMjQzLCAzMSwgMjMzLCA2OSwgNTEsIDIyMCwgMjAxLCA0NywgMjMsIDIwOSwgMjA2LCAyMjcsIDExNiwgCisgICAgMjUyLCAxMDksIDIsIDIyMiwgMTQyLCAyNTIsIDAsIDI0MywgMzEsIDIzMywgNjksIDUxLCAyMjAsIDIwMSwgNDgsIDIzLCAKKyAgICAyNDQsIDgsIDIyNywgMTE2LCAyNTIsIDEwOSwgMiwgMjIyLCAxNDIsIDI1MiwgMCwgMjQzLCAzMSwgMjMzLCA2OSwgNTEsIAorICAgIDIyMCwgMjAxLCA0NywgMjMsIDI0NCwgOCwgMjE4LCAyMjQsIDI0MywgNDMsIDIxNiwgMjgsIDI0MywgNDMsIDIxNiwgMjksIAorICAgIDIsIDIyMiwgODYsIDI0MywgNDMsIDIxNiwgMjksIDIsIDUsIDI0NywgMjM0LCA1MiwgMjQzLCA0MywgMjE2LCAyOSwgMiwgCisgICAgNDgsIDUxLCA1MiwgMjQzLCA0MywgMjE2LCAyOSwgMiwgNDcsIDUxLCA1MiwgMjQ3LCAyMzQsIDIsIDE5NCwgMTM0LCAzOSwgCisgICAgNzksIDEzNCwgMzksIDIyMSwgMjIxLCAzOSwgMjE4LCAyMjUsIDIxNCwgMTgwLCAzOSwgMjIxLCAxMTgsIDI0NywgMjM0LCAKKyAgICAyNDUsIDgwLCAyNDksIDQ2LCAxOTQsIDI1MCwgMTI5LCAyMywgMjExLCAxMDIsIDE2MCwgMjQ1LCA4MCwgMjQ5LCA0NiwgNzksIAorICAgIDEzNCwgMjQ3LCAyMzQsIDIsIDIxMywgMTQwLCAyMDYsIDE5NSwgMzksIDI1MiwgODUsIDI0NSwgNzUsIDUzLCAxMjAsIDUxLCAKKyAgICAyMTEsIDIzMywgMjQ3LCAyMzMsIDM5LCA1OSwgMjQ5LCA4NSwgMzksIDI0OSwgODUsIDM5LCAyMzAsIDksIDM5LCAyMzksIAorICAgIDIyOSwgMjQ3LCAyMzQsIDIsIDUsIDI0NywgMjM0LCAyMTEsIDEzMCwgMjEyLCA0MiwgMjE4LCAxNjcsIDI0NywgMjM0LCAyLCAKKyAgICAxMTgsIDE5NCwgMjEzLCAyMTMsIDIxMSwgMTMwLCAyMTIsIDQyLCAyMTgsIDE2NywgOTgsIDIxOCwgMTQyLCAyNDUsIDE2MywgCisgICAgMjE0LCAyMzUsIDk4LCAyNDIsIDUwLCAyNDUsIDE2MywgMjE0LCAyMzUsIDk4LCAyNTEsIDIwOSwgOTgsIDUsIDI0NywgMjMzLCAKKyAgICA5OCwgMjE0LCAxMDcsIDExOCwgMjMyLCAxMTksIDIxNCwgMTA1LCAyMTEsIDUyLCAyLCA2NywgNTIsIDIxMSwgNTIsIDIsIAorICAgIDIwOSwgMjI2LCAyMTgsIDEsIDIzMywgNjksIDIxMSwgNTEsIDIxMSwgNTIsIDIsIDIxNiwgMzUsIDI1MSwgMjAwLCAyNDksIAorICAgIDE1MywgNDgsIDIxMSwgNTIsIDg0LCA0NywgMjExLCA1MSwgNDcsIDIxMSwgNTIsIDI1MCwgMTIsIDc5LCAxMzQsIDc5LCAKKyAgICAyNTAsIDEyOSwgMjUwLCAxMiwgNDgsIDIxMSwgNTEsIDI0OSwgMTQyLCAyLCA0NywgMTYwLCAyNDksIDIwMiwgMjQ5LCAxNDIsIAorICAgIDIsIDQ4LCAxNjAsIDI0OSwgMjAyLCA2MCwgMjQ5LCAxNDEsIDI5LCAyLCA0NywgMTYwLCAyNDksIDIwMiwgMjksIDIsIDQ4LCAKKyAgICAxNjAsIDI0OSwgMjAyLCA1OSwgMjM4LCA1NiwgNjAsIDIzOCwgNTYsIDQ3LCAyMDcsIDE0LCAyNDIsIDgsIDQ4LCAyMDcsIAorICAgIDE0LCAyNDIsIDgsIDQ3LCA1MCwgMjA3LCAxNCwgMjQyLCA4LCA0OCwgNTAsIDIwNywgMTQsIDI0MiwgOCwgMjMzLCA2MSwgCisgICAgMjMzLCA0NSwgMjExLCAyMDQsIDEzMSwgMjMzLCA0NSwgMjMzLCA0NiwgMjI1LCAxMDUsIDIsIDc5LCAxMzQsIDI0NCwgMTUsIAorICAgIDIyNiwgOTcsIDQ5LCAyLCAyNDcsIDExMiwgMjIyLCA5MCwgMjMzLCA1OCwgMjUxLCAyMzEsIDIxNSwgMTEwLCAyMjAsIDExNSwgCisgICAgMjQyLCAyNDIsIDMsIDIzLCAyMTQsIDIzNywgMjIxLCAyMjEsIDI0MiwgMjQyLCAzLCAyMywgMjE0LCAyMzcsIDIyMSwgMjIyLCAKKyAgICAyLCAyMTEsIDE4MSwgNTIsIDIzNywgMTczLCAyMTEsIDEzMCwgMjMsIDIxNCwgMjM3LCAyMjEsIDIyMSwgMjQwLCAyOCwgCisgICAgMjE0LCAyNSwgMjEyLCAzMCwgMjQ0LCA3LCAyMTEsIDUyLCAyLCA0NywgMTYwLCAyNDksIDIwMiwgMjQ0LCA3LCAyMTEsIDUyLCAKKyAgICAyLCA0OCwgMTYwLCAyNDksIDIwMiwgNjAsIDI0NSwgMTU3LCAyLCAxMzAsIDQ1LCA2MCwgMjI5LCA4OCwgNTksIDI0NywgCisgICAgMjM0LCAyLCAxMzAsIDQ1LCA2MCwgMjQ3LCAyMzQsIDIsIDEzMCwgNDUsIDI0MiwgMjI4LCA1OSwgMjE0LCAxMDcsIDI0MiwgCisgICAgMjI4LCA2MCwgMjE0LCAxMDcsIDI0MiwgMjI4LCA1OSwgMjQ1LCAxNTYsIDI0MiwgMjI4LCA2MCwgMjQ1LCAxNTYsIDI0MiwgCisgICAgMjI4LCA1OSwgMjQ3LCAyMzMsIDI0MiwgMjI4LCA2MCwgMjQ3LCAyMzMsIDIxOCwgNDEsIDIxOCwgMjI1LCAyMTQsIDE4MSwgCisgICAgMjIyLCAxMzIsIDIxNCwgMTgxLCAyLCAyMjIsIDg2LCAyMTgsIDIyNSwgMjE0LCAxODEsIDIsIDE5NCwgOTEsIDI0OSwgMjMxLCAKKyAgICAyMTQsIDE4MCwgMjQ5LCAyMzEsIDIxOCwgMjI1LCAyMTQsIDE4MCwgNTAsIDIyMCwgMjE4LCAyMTEsIDM2LCAyMjAsIDIxOCwgCisgICAgMjMwLCA0MSwgMjQ3LCAxOCwgMjUyLCAxMDksIDE0NSwgMjE4LCAxNjIsIDI0NywgMTgsIDI1MiwgMTA5LCAxNDUsIDIxMSwgCisgICAgMTY4LCAyMjYsIDE5OSwgMjI2LCAzMiwgMzksIDY3LCAyMjIsIDEzMiwgMjI2LCAzMiwgMzksIDEwMSwgMjIyLCAxMzIsIAorICAgIDIyNiwgMzIsIDM5LCAyOSwgMjIyLCAxMzIsIDIyNiwgMzIsIDIwOSwgMjE5LCAyMjIsIDEzMywgMiwgMjQ1LCAyMywgMjI2LCAKKyAgICAzMiwgMjA5LCAyMTksIDIyMiwgMTMzLCAyLCAyMjAsIDIxOCwgMjI2LCAzMiwgNDksIDIzMywgOCwgMjIyLCAxMzIsIDIyNiwgCisgICAgMzIsIDQ5LCAyMDksIDIxOSwgMjIyLCAxMzIsIDExOCwgMjI5LCAxMzQsIDIzLCAyMjIsIDEzMiwgMTE4LCAyMjksIDEzNCwgCisgICAgMjIyLCAxMjMsIDIyMiwgMTMyLCAyMjYsIDMyLCAyOSwgMjIyLCAxMzIsIDIyNiwgMTcyLCAxMTgsIDIxMywgMTYwLCAyMTMsIAorICAgIDE1OCwgMiwgMjMzLCAyMSwgMjE5LCAyMDcsIDIzMywgMjIsIDIyMiwgMTMyLCAyNDEsIDIyMiwgMjIxLCAyMTEsIDIzMywgCisgICAgMjEsIDIzMywgMjIsIDIsIDUwLCA5MSwgMjMzLCAyMiwgMjUxLCAxNjUsIDIsIDIxNCwgMjM1LCAyNDcsIDIyOSwgMjQxLCAKKyAgICA3OSwgMjUyLCA4NywgMjMzLCAxOSwgMjI5LCAyMDYsIDIzMywgMjAsIDIsIDIxOSwgMzYsIDIyMSwgMTkyLCAyNTEsIDI1MywgCisgICAgMjIwLCAxOTUsIDIyOSwgMjA2LCAyMzMsIDIwLCAyLCAyMTYsIDU0LCAyMjEsIDE5MiwgMjUxLCAyNTMsIDIyMCwgMTk1LCAKKyAgICAyMjksIDIwNiwgMjMzLCAyMCwgMjI0LCA0MywgMjMzLCA2MywgMjEyLCA0MiwgMjIwLCAxOTUsIDIzMywgMjIsIDI1MSwgCisgICAgMjUzLCAzMiwgMjIwLCAyMDUsIDIyMiwgMTMyLCAyMTksIDIwMSwgMjMzLCAyMiwgMjIyLCAxMzIsIDIzMywgMjIsIDIsIDkyLCAKKyAgICA1MSwgMiwgMTA5LCAyMzMsIDIyLCAyLCAyOSwgNTMsIDIzMywgMjIsIDIsIDIzMywgNywgMjMzLCAyMiwgMiwgMjA5LCAyMTgsIAorICAgIDIzMywgMjIsIDIsIDIyMiwgODYsIDIzMywgMjIsIDIsIDIwOSwgMjI2LCAyMzIsIDEyMCwgMjMwLCA4NiwgNDcsIDIxMSwgCisgICAgNTIsIDIyMiwgMTMyLCAyMDUsIDE2MCwgMjI0LCA0MSwgMjE3LCAxMDYsIDI0NywgMTQ1LCAyMDUsIDE2MCwgMjI0LCA0MSwgCisgICAgMjE3LCAxMDYsIDIyMSwgMCwgMjA1LCAxNjAsIDIyNCwgNDEsIDIxNywgMTA2LCAyMjAsIDExMCwgMTAxLCAzLCAyLCA1LCAKKyAgICAyNDcsIDIzNCwgNTIsIDEwMSwgMywgMiwgMjQ3LCAyMjgsIDI1MywgMjIsIDUyLCAxMDEsIDMsIDIsIDIxMSwgMTgxLCA1MiwgCisgICAgMTAxLCAzLCAyLCA2NywgNTUsIDEwMSwgMywgMiwgMjExLCAxODEsIDU1LCAxMDEsIDMsIDIsIDIxMywgMTgzLCAxMDUsIAorICAgIDEwMSwgMywgMiwgNjAsIDIxMSwgNTEsIDIyNiwgMjAyLCAzLCAyLCAyNDcsIDE1NiwgNTIsIDIyNiwgMjAyLCAzLCAyLCA2NywgCisgICAgNTUsIDIyNiwgMjAyLCAzLCAyLCAyNDIsIDUwLCAyNDUsIDIxLCAyMjYsIDIwMiwgMywgMiwgMjE4LCAxNDIsIDI0NSwgMjEsIAorICAgIDEwMSwgMywgMjMzLCA2OSwgNDcsIDE2MCwgMjQ3LCAyMzMsIDEwMSwgMywgMjMzLCA2OSwgNDgsIDE2MCwgMjQ3LCAyMzMsIAorICAgIDIwOSwgMzgsIDIyMiwgMTIzLCAyNDcsIDYwLCAyMjAsIDExNSwgMjI2LCA5NCwgMywgMiwgNjcsIDUyLCAyMjYsIDk0LCAzLCAKKyAgICAyLCAyMDksIDIyNiwgMjE2LCA1MSwgMjIwLCAxMTYsIDIsIDI0OSwgMTU0LCAyNDcsIDE5MSwgMjE0LCAyMTMsIDIyMCwgCisgICAgMTE1LCAyMjYsIDk0LCAzLCAyMzMsIDY5LCA0NywgMTYwLCAyNDcsIDIzMywgMjI2LCA5NCwgMywgMjMzLCA2OSwgNDgsIAorICAgIDE2MCwgMjQ3LCAyMzMsIDM5LCAyMjYsIDk0LCAzLCAyLCAyNDcsIDIyOCwgMjUzLCAyMSwgMjI2LCA5NCwgMywgMjMzLCA2OSwgCisgICAgNTAsIDI0NywgMjMzLCAzOSwgMjQ1LCA3NSwgNTMsIDEwMSwgMywgMjMzLCA2OSwgMjExLCA1MSwgMjI2LCAyMDIsIDMsIAorICAgIDIzMywgNjksIDIxMSwgNTEsIDIyNiwgOTQsIDMsIDIzMywgNjksIDIxMSwgNTEsIDIzMywgMTYsIDIyMCwgMTE1LCAyMTgsIAorICAgIDE1NywgMjMzLCAxNiwgMjIwLCAxMTUsIDIwNSwgMTYwLCAyMjQsIDQxLCAyMTksIDEwLCAyNDcsIDE0NSwgMjUyLCAxMzQsIAorICAgIDIyMiwgMTIzLCAyNDcsIDk2LCAyMzMsIDgsIDIsIDI0NSwgMjMsIDIwOSwgMjE5LCAyLCAyMjYsIDIwMiwgNTMsIDIwOSwgCisgICAgMjE5LCAyLCAyMjIsIDg2LCAyMzMsIDgsIDIsIDIyMiwgODYsIDIzMywgOCwgMiwgMjI5LCAxMzQsIDI1MiwgMTE3LCAyMDksIAorICAgIDIxOSwgMiwgMjI5LCAxMzQsIDIyMiwgMTIyLCAyMDksIDIxOSwgODQsIDIzMywgNywgMjMzLCA4LCA4NCwgMjA5LCAyMTgsIAorICAgIDIwOSwgMjE5LCA4NCwgMjUwLCAxMjksIDg0LCAyMzMsIDcsIDIzMywgOCwgODQsIDI1MCwgMTI5LCA4NCwgMjA5LCAyMTgsIAorICAgIDIwOSwgMjE5LCAyNTAsIDEyLCAyMywgMjMyLCAxMTksIDIsIDIwOSwgMjE4LCAyMzMsIDgsIDI1MCwgMTIsIDIzLCAyMzIsIAorICAgIDExOSwgMiwgMjMzLCA3LCAyNDcsIDE5MiwgMjA5LCAyMTksIDIsIDIxNiwgMzQsIDI0NywgMTkyLCAyMzMsIDgsIDIsIDIxNiwgCisgICAgMzQsIDUwLCA0OSwgMjMzLCA3LCA1MCwgNDksIDIwOSwgMjE4LCAyNDcsIDE5MiwgMjA5LCAyMTksIDIsIDIxNiwgMzUsIDIzLCAKKyAgICAyMTQsIDIxMywgMjIwLCAxMTUsIDIyOSwgMTM0LCAyMywgMiwgNjcsIDUyLCAyMjksIDEzNCwgMjIyLCAxMjMsIDIsIDY3LCAKKyAgICA1MiwgNTAsIDIyOSwgMTM0LCAyNTIsIDExNywgNTAsIDIyOSwgMTM0LCAyMjIsIDEyMiwgMTE4LCAyMzMsIDksIDIyOSwgCisgICAgMTM0LCAyNTIsIDExNywgMTE4LCAyMzMsIDksIDIyOSwgMTM0LCAyMjIsIDEyMiwgMjE0LCAyMjEsIDIzMCwgODYsIDIyMiwgCisgICAgMTIyLCAyMTQsIDIyMSwgMjMwLCA4NiwgMjUyLCAxMTcsIDIyOSwgMTM0LCAyMjIsIDEyMywgMjIyLCA4MywgMjI5LCAxMzQsIAorICAgIDI1MiwgMTE3LCAyMjksIDEzNCwgMjMsIDIsIDIyNiwgMjQ3LCAyMTQsIDksIDIyOSwgMTM0LCAyMjIsIDEyMywgMiwgMjI2LCAKKyAgICAyNDcsIDIxNCwgOSwgMjI5LCAxMzQsIDIzLCAyLCAxOTQsIDI0NiwgNzgsIDIyOSwgMTM0LCAyMjIsIDEyMywgMiwgMTk0LCAKKyAgICAyNDYsIDc4LCAyMjksIDEzNCwgMjMsIDIsIDUwLCAyMjIsIDg2LCAyMjksIDEzNCwgMjMsIDIsIDIwOSwgMjI2LCAyMjksIAorICAgIDEzNCwgMjMsIDIsIDUwLCAyMDksIDIyNiwgNSwgMjA5LCAzNSwgMiwgMjA5LCAyMjYsIDIyOSwgMTM0LCAyMjIsIDEyMywgMiwgCisgICAgNTAsIDIyMiwgODYsIDIyOSwgMTM0LCAyMjIsIDEyMywgMiwgNTAsIDIwOSwgMjI2LCAyMDUsIDE2MCwgMjI0LCA0MSwgMjQ1LCAKKyAgICAzMiwgMjUyLCA3NywgMjA1LCAxNjAsIDIyNCwgNDEsIDIxOSwgNzIsIDI1MiwgNzcsIDI0MiwgMjQyLCAzLCAyLCA2NywgNTUsIAorICAgIDIzNywgMTczLCAyLCA2NywgNTIsIDIxMSwgMzYsIDE5NCwgMjUwLCAxMjksIDIsIDUwLCA3OSwgOTEsIDIxMSwgMzYsIDE5NCwgCisgICAgMjUwLCAxMjksIDIsIDIxMSwgMzYsIDc5LCA5MSwgMjExLCAxODEsIDIyMiwgMTMzLCAyLCA2NywgNTIsIDIxMSwgMTgxLCAKKyAgICAyMjIsIDEzMywgMiwgMjE4LCAxNDIsIDI0NSwgMjEsIDIxNSwgNDgsIDIyNiwgMjAyLCAyMTUsIDQ3LCAyNDcsIDEzMiwgMiwgCisgICAgNjcsIDUyLCAyNDIsIDI0MiwgMiwgMjUxLCAyMDksIDI1MiwgMTQ5LCAxNDYsIDIxMSwgMTMwLCAyLCAyNDcsIDIyOCwgMjUzLCAKKyAgICAyMSwgMjUyLCA0NCwgMTQ2LCAyMjIsIDEyMywgMTQ2LCAxMjQsIDI0MiwgMjQyLCAzLCA4NCwgMTAxLCA1MywgMTAxLCAzLCAKKyAgICA4NCwgMjQyLCAyNDIsIDUzLCAyNDIsIDI0MiwgMywgODQsIDIxMSwgMTgxLCAyMjIsIDEzMiwgNTAsIDI0NywgMTYzLCAyNDIsIAorICAgIDI0MywgMTE4LCAyNDcsIDEyNywgMjQyLCAyNDIsIDIxNSwgNjIsIDEyOSwgMjQ3LCAxMjcsIDI0MiwgMjQyLCAyMTUsIDYyLCAKKyAgICAyNDIsIDI0MiwgMywgMiwgMTE4LCAxNzcsIDg0LCAyMywgMTE4LCAxNzcsIDU1LCAyNDIsIDIzNywgMiwgMjQxLCAxMjUsIAorICAgIDE3NywgNTIsIDIzMCwgMTAsIDIsIDI0NywgMjM0LCAyMzMsIDI1LCAyMzksIDIzMCwgMiwgMjQ3LCAyMzQsIDIzMywgMjUsIAorICAgIDIzMCwgMTAsIDIsIDIxOSwgMTk2LCAxNDEsIDUyLCAyMzksIDIzMCwgMiwgMjE5LCAxOTYsIDE0MSwgNTIsIDIzMCwgMTAsIAorICAgIDIyMiwgMTIzLCAyMTQsIDIzNywgMTQ2LCAxMjQsIDIzOSwgMjMwLCAyMjIsIDEyMywgMjE0LCAyMzcsIDE0NiwgMTI0LCAKKyAgICAyMzAsIDEwLCAyMjIsIDEyMywgMjE0LCAyMzcsIDE0NiwgMjExLCAxMzAsIDIsIDY3LCAyMzMsIDI1LCAyMzksIDIzMCwgCisgICAgMjIyLCAxMjMsIDIxNCwgMjM3LCAxNDYsIDIxMSwgMTMwLCAyLCA2NywgMjMzLCAyNSwgMjMwLCAxMCwgMjIyLCAxMjMsIAorICAgIDIxNCwgMjM3LCAxNDYsIDIxMSwgMTMwLCAyLCA2NywgNTIsIDIzOSwgMjMwLCAyMjIsIDEyMywgMjE0LCAyMzcsIDE0NiwgCisgICAgMjExLCAxMzAsIDIsIDY3LCA1MiwgMjMwLCAxMCwgMjIyLCAxMjMsIDIxNCwgMjM3LCAxNDYsIDIxMSwgMTMwLCAyLCA2NywgCisgICAgODQsIDIxOCwgMTY3LCAyMzksIDIzMCwgMjIyLCAxMjMsIDIxNCwgMjM3LCAxNDYsIDIxMSwgMTMwLCAyLCA2NywgODQsIAorICAgIDIzMCwgNDYsIDIzMCwgMTAsIDIyMiwgMTIzLCAyNTIsIDQ1LCAyMzksIDIzMCwgMjIyLCAxMjMsIDI1MiwgNDUsIDIzMCwgCisgICAgMTAsIDIzLCAyMTUsIDM5LCAyMjQsIDQzLCAxNDYsIDEyNCwgMjM5LCAyMzAsIDIzLCAyMTUsIDM5LCAyMjQsIDQzLCAxNDYsIAorICAgIDEyNCwgMjMwLCAxMCwgMjMsIDIyNCwgNDMsIDI1MiwgNDUsIDIzOSwgMjMwLCAyMywgMjI0LCA0MywgMjUyLCA0NSwgMjMwLCAKKyAgICAxMCwgODQsIDI0NCwgMTQsIDE0NiwgODQsIDIzOSwgMjI5LCAyMzksIDIzMCwgODQsIDI0NCwgMTQsIDE0NiwgODQsIDIzMCwgCisgICAgOSwgMjMwLCAxMCwgODQsIDIxNSwgNDgsIDIyMiwgMTIzLCAyNDIsIDI0MywgMjM5LCAyMzAsIDg0LCAyMTUsIDQ4LCAyMjIsIAorICAgIDEyMywgMjQyLCAyNDMsIDIzMCwgMTAsIDg0LCAyMTUsIDQ4LCA4NCwgMjM5LCAyMjksIDIzOSwgMjMwLCA4NCwgMjE1LCA0OCwgCisgICAgODQsIDIzMCwgOSwgMjMwLCAxMCwgODQsIDIzOSwgMjMwLCA4NCwgMjQ0LCAxNCwgMjQyLCAyNDMsIDIzOSwgMjMwLCA4NCwgCisgICAgMjMwLCAxMCwgODQsIDI0NCwgMTQsIDI0MiwgMjQzLCAyMzAsIDEwLCA4NCwgMjE0LCAyMzcsIDE0NiwgODQsIDIzOSwgMjMwLCAKKyAgICA4NCwgMjE0LCAyMzcsIDI0MiwgMjQzLCAyMzksIDIzMCwgODQsIDIxNCwgMjM3LCAxNDYsIDg0LCAyMzAsIDEwLCA4NCwgCisgICAgMjE0LCAyMzcsIDI0MiwgMjQzLCAyMTQsIDIzNywgMTQ2LCAyMTEsIDEzMCwgMjIyLCAxMjMsIDIzMCwgOSwgMjE0LCAyMzcsIAorICAgIDE0NiwgMjExLCAxMzAsIDIyMiwgMTIzLCAyMzksIDIyOSwgMjE0LCAyMzcsIDE0NiwgMjExLCAxMzAsIDIyMiwgMTIzLCAKKyAgICAyMzAsIDEwLCAyLCA2NywgMjMzLCAyNSwgMjE0LCAyMzcsIDE0NiwgMjExLCAxMzAsIDIyMiwgMTIzLCAyMzksIDIzMCwgMiwgCisgICAgNjcsIDIzMywgMjUsIDI0NCwgMTQsIDE0NiwgMjExLCAxMzAsIDIyMiwgMTIzLCAyMzAsIDksIDI0NCwgMTQsIDE0NiwgMjExLCAKKyAgICAxMzAsIDIyMiwgMTIzLCAyMzksIDIyOSwgMjQ0LCAxNCwgMjE0LCAyMzcsIDE0NiwgMjExLCAxMzAsIDIyMiwgMTIzLCAyMzAsIAorICAgIDksIDI0NCwgMTQsIDIxNCwgMjM3LCAxNDYsIDIxMSwgMTMwLCAyMjIsIDEyMywgMjM5LCAyMjksIDIxNSwgNDgsIDIyMiwgCisgICAgMTIzLCAyMzAsIDksIDIxNSwgNDgsIDIyMiwgMTIzLCAyMzksIDIyOSwgMjE1LCA0OCwgODQsIDIzMCwgMTAsIDg0LCAyNDIsIAorICAgIDI0MiwgNTMsIDIxNSwgNDgsIDg0LCAyMzksIDIzMCwgODQsIDI0MiwgMjQyLCA1MywgNTAsIDIyNSwgOTMsIDIzMCwgOSwgCisgICAgNTAsIDIyNSwgOTMsIDIzOSwgMjI5LCA1MCwgMjI1LCA5MywgMjMwLCAxMCwgMiwgMjA5LCAyMjYsIDIzOSwgMjMwLCAyMjIsIAorICAgIDgzLCAyMzAsIDksIDIzOSwgMjMwLCAyNTAsIDEyLCAyMzAsIDksIDIzMCwgMTAsIDI0NywgMTkyLCAyNDksIDQ2LCAyNDcsIAorICAgIDE5LCAyMzksIDIzMCwgMjQ3LCAxOTIsIDI0OSwgNDYsIDI0NywgMTksIDIzMCwgMTAsIDI0NywgMTkyLCAyNDksIDQ2LCAKKyAgICAyNDcsIDIwLCA4NCwgMjE0LCAyMzcsIDI0MiwgMjQzLCAyMzksIDIzMCwgMjQ3LCAxOTIsIDI0OSwgNDYsIDI0NywgMjAsIAorICAgIDg0LCAyMTQsIDIzNywgMjQyLCAyNDMsIDIxNCwgMjE0LCAyMTIsIDQ2LCAyMzAsIDg0LCAyMTIsIDQ2LCAyMTQsIDIxNCwgCisgICAgMjEyLCA0NywgMjIyLCAxMjMsIDE0NiwgMTI0LCAyMzAsIDg0LCAyMTIsIDQ3LCAyMjIsIDEyMywgMTQ2LCAxMjQsIDI0MiwgCisgICAgMjQyLCAzLCAyLCAyNDksIDc4LCA1MiwgMjIwLCAxNDAsIDg0LCAyMTUsIDM5LCAyNDIsIDI0MiwgNTMsIDIxMywgMTc0LCAKKyAgICA4NCwgMjE1LCAzOSwgMjQyLCAyNDIsIDUzLCAyMjAsIDE0MCwgODQsIDIxNSwgMzksIDIyNCwgNDMsIDE0NiwgMTI0LCAyMTMsIAorICAgIDE3NCwgODQsIDIxNSwgMzksIDIyNCwgNDMsIDE0NiwgMTI0LCAyMjAsIDE0MCwgODQsIDI0MiwgMjQyLCA1MywgMjEzLCAKKyAgICAxNzQsIDg0LCAyNDIsIDI0MiwgNTMsIDIyMCwgMTQwLCA4NCwgMjI0LCA0MywgMTQ2LCAxMjQsIDIxMywgMTc0LCA4NCwgCisgICAgMjI0LCA0MywgMTQ2LCAxMjQsIDIyMCwgMTQwLCA4NCwgMjUyLCAxNDksIDE0NiwgMTI0LCAyMTMsIDE3NCwgODQsIDI1MiwgCisgICAgMTQ5LCAxNDYsIDEyNCwgMjIwLCAxNDAsIDg0LCAyMjQsIDQzLCAyNTIsIDE0OSwgMTQ2LCAxMjQsIDIxMywgMTc0LCA4NCwgCisgICAgMjI0LCA0MywgMjUyLCAxNDksIDE0NiwgMTI0LCA1MCwgMjIwLCAxMzksIDUwLCAyMTMsIDE3MywgMjEzLCAxODIsIDIsIAorICAgIDI0NSwgMjMsIDIxMywgMTM4LCAyLCAyNDUsIDIzLCAyMTMsIDE4MiwgMiwgMTAxLCAzLCA1NSwgMjEzLCAxMzgsIDIsIDEwMSwgCisgICAgMywgNTUsIDIxMywgMTgyLCAyLCAyMjYsIDk0LCAzLCA1NSwgMjEzLCAxMzgsIDIsIDIyNiwgOTQsIDMsIDU1LCAyMTMsIAorICAgIDE4MiwgNzMsIDIyMiwgMTIzLCAxNDYsIDIxMSwgMTMwLCAyLCA2NywgNTIsIDIxMywgMTM4LCA3MywgMjIyLCAxMjMsIDE0NiwgCisgICAgMjExLCAxMzAsIDIsIDY3LCA1MiwgMjEzLCAxODIsIDczLCA4NCwgMjQyLCAyNDIsIDUzLCAyMTMsIDEzOCwgNzMsIDg0LCAKKyAgICAyNDIsIDI0MiwgNTMsIDIxMywgMTgyLCA3MywgODQsIDIxMSwgMTgxLCAyMjIsIDEzMiwgMjEzLCAxMzgsIDczLCA4NCwgCisgICAgMjExLCAxODEsIDIyMiwgMTMyLCAyMTMsIDE4MiwgNzMsIDg0LCAyNTIsIDE0OSwgMTQ2LCAxMjQsIDIxMywgMTM4LCA3MywgCisgICAgODQsIDI1MiwgMTQ5LCAxNDYsIDEyNCwgMjEzLCAxODIsIDczLCA4NCwgMjI0LCA0MywgMTQ2LCAxMjQsIDIxMywgMTM4LCAKKyAgICA3MywgODQsIDIyNCwgNDMsIDE0NiwgMTI0LCA0OSwgNDcsIDIyMiwgMTQyLCA5NiwgMjIyLCAxMzIsIDQ5LCA0OCwgMjIyLCAKKyAgICAxNDIsIDk2LCAyMjIsIDEzMiwgMjQ3LCAxOTIsIDIxMywgMTgxLCAyNDcsIDE5MiwgMjEzLCAxMzcsIDI0NywgMTkyLCAyMTMsIAorICAgIDE4MiwgMjIyLCAxMjMsIDE0NiwgMTI0LCAyNDcsIDE5MiwgMjEzLCAxMzgsIDIyMiwgMTIzLCAxNDYsIDEyNCwgMjEzLCAKKyAgICAxODIsIDg0LCAyMTMsIDEzNywgMjEzLCAxMzgsIDg0LCAyMTMsIDE4MSwgMjEzLCAxODIsIDg0LCAyMTMsIDE4MSwgMjEzLCAKKyAgICAxMzgsIDg0LCAyMTMsIDEzNywgMjEzLCAxMzgsIDI1MCwgMTIsIDIxMywgMTgxLCAyMTMsIDEzOCwgMjUwLCAxMiwgMjMsIAorICAgIDIzMiwgMTE5LCAyNDksIDQ2LCAyNDYsIDc5LCAyLCAyMTMsIDE4MSwgMjQzLCA2MSwgNzMsIDIyMiwgMTM1LCAyNDQsIDYsIAorICAgIDIyMCwgMjQ2LCAyLCAyMTIsIDEyMSwgMjExLCAxMDEsIDIxMSwgNjYsIDIzMywgNywgMjQxLCAxMzcsIDIyNCwgNTcsIDIxNSwgCisgICAgMTQ0LCA0NywgMjEyLCAyMDEsIDIxNSwgMTQ0LCAxMzAsIDIxMiwgMjAxLCAyMTUsIDE0NCwgMTIwLCAyMTIsIDIwMSwgMjIxLCAKKyAgICAxMTksIDIsIDE4MiwgNzksIDI1MCwgMTI5LCAyMTEsIDM2LCA0OCwgMjEwLCAxNDMsIDUwLCA3OSwgMjUwLCAxMjksIDQ3LCAKKyAgICAyMTAsIDE0MywgNzksIDI1MCwgMTI5LCA1MCwgNDcsIDIxMCwgMTQzLCA1MCwgNzksIDI1MCwgMTI5LCA1MCwgNDcsIDIxMCwgCisgICAgMTQzLCAxNTIsIDI0NiwgNzksIDI0MSwgOTgsIDQ3LCAyMjcsIDg4LCA3MywgNTAsIDIwOSwgMjIsIDIxNSwgMTQ0LCAxMzAsIAorICAgIDIxMiwgMjAyLCAyLCAyMjIsIDg2LCAyMTUsIDE0NCwgMTIwLCAyMTIsIDIwMiwgMiwgMjA5LCAyMjYsIDIxNSwgMTQ0LCAKKyAgICAxMjAsIDIxMiwgMjAyLCA4NCwgMjE1LCAxNDQsIDEzMCwgMjEyLCAyMDEsIDUwLCAxMzAsIDIxMiwgMjAxLCA1MCwgMTIwLCAKKyAgICAyMTIsIDIwMSwgNTAsIDIxMywgMjI1LCAyMjQsIDQzLCA1MywgMjE4LCAyMjQsIDUwLCAyMTMsIDIyNSwgMjI0LCA0MywgNTMsIAorICAgIDI0NSwgNDIsIDIyNCwgNDMsIDI0NSwgODIsIDIsIDIxOCwgMjI0LCAyMjUsIDEwNCwgMjE0LCAyMzUsIDc5LCAyMjksIDIwNiwgCisgICAgMiwgMjQ3LCAyMzQsIDUyLCA3OSwgMjI5LCAyMDYsIDIsIDI0NywgMjM0LCA1NSwgMTMwLCAyMTIsIDIwMiwgMiwgMjQ3LCAKKyAgICAyMzQsIDU1LCAyMjEsIDIyMiwgMiwgMTk0LCA5MSwgMjIxLCAyMjIsIDIsIDIxMSwgMTgxLCAyMjIsIDEzMiwgMjExLCAzNiwgCisgICAgNzksIDI1MCwgMTI5LCAyNDksIDIyNSwgMjE5LCAxMSwgMjExLCAzNiwgNzksIDI1MCwgMTI5LCAyLCAxOTQsIDkxLCAyMTEsIAorICAgIDM2LCAyNDcsIDE2MywgMjIyLCAxMzIsIDIxMSwgMzYsIDIyNSwgOTMsIDIzMCwgOSwgMjExLCAzNiwgMjI1LCA5MywgMjM5LCAKKyAgICAyMjksIDI0NCwgMTQsIDIxNCwgMjM3LCAyMzAsIDEwLCAyMjIsIDEyMywgMTQ2LCAxMjQsIDI0NCwgMTQsIDIxNCwgMjM3LCAKKyAgICAyMzksIDIzMCwgMjIyLCAxMjMsIDE0NiwgMTI0LCAyMTEsIDM2LCAyMTQsIDE4MSwgMjQ5LCAyMjUsIDIxOSwgMTEsIDIzMCwgCisgICAgODYsIDIxMSwgMzYsIDc5LCAyNTAsIDEyOSwgMjIyLCAxMzIsIDUwLCAyMTQsIDE4MSwgMjIyLCAxMzIsIDU5LCA3OSwgMTM0LCAKKyAgICAyMjYsIDMyLCA1OSwgNzksIDEzNCwgMTQzLCAyNDMsIDExNywgNTksIDQ1LCAxNDMsIDIwNywgMzYsIDU5LCA0NSwgMTg4LCAKKyAgICAyNDMsIDExNywgNTksIDQ1LCAxODgsIDIwNywgMzYsIDU5LCA0NSwgNDcsIDQ4LCA1OSwgNDUsIDkyLCA2MCwgNDUsIDE2NywgCisgICAgNjAsIDQ1LCAxNzMsIDYwLCA0NSwgMTQzLCAyNDMsIDExNywgNjAsIDQ1LCAxNDMsIDIwNywgMzYsIDYwLCA0NSwgMTg4LCAKKyAgICAyNDMsIDExNywgNjAsIDQ1LCAxODgsIDIwNywgMzYsIDYwLCA0NSwgNDcsIDQ4LCA2MCwgNDUsIDEyMCwgMTMwLCA2MCwgNDUsIAorICAgIDg2LCA1MSwgMiwgMjExLCAxNjcsIDI0NCwgNiwgODYsIDUxLCAyLCAyMTEsIDE2NywgMjA5LCAxOTYsIDkyLCA1MSwgMiwgCisgICAgMjExLCAxNjcsIDI0NCwgNiwgOTIsIDUxLCAyLCAyMTEsIDE2NywgMjA5LCAxOTYsIDQ5LCAyLCAyMTEsIDEwMiwgMTYwLCAKKyAgICAyNDksIDIwMiwgNDksIDIsIDI0OSwgMTU0LCAxNjAsIDI0OSwgMjAyLCA0OSwgMiwgMjA5LCAyMDMsIDQ4LCAyNDUsIDE2MywgCisgICAgMTYwLCAyNDksIDIwMiwgNDksIDIsIDIyOSwgOTIsIDQ3LCAyNDUsIDE2MywgMTYwLCAyNDksIDIwMiwgMjQ1LCAxNTcsIDIsIAorICAgIDQ3LCAxNjAsIDI0OSwgMjAyLCAyNDUsIDE1NywgMiwgNDgsIDE2MCwgMjQ5LCAyMDIsIDI0NSwgMTU3LCAyLCAyMTEsIDEwMiwgCisgICAgMTYwLCAyNDksIDIwMiwgMjQ1LCAxNTcsIDIsIDI0OSwgMTU0LCAxNjAsIDI0OSwgMjAyLCAyNDQsIDIxLCAyMTQsIDEwNywgCisgICAgNjAsIDIzMCwgODYsIDIxNCwgMTA3LCA1OSwgMjMwLCA4NiwgMjE0LCAxMDcsIDYwLCAyMDgsIDIyNiwgNSwgMjE0LCAxMDcsIAorICAgIDU5LCAyMDgsIDIyNiwgNSwgMjE0LCAxMDcsIDYwLCAyMjEsIDE0MCwgNTksIDIyMSwgMTQwLCA1OSwgMjM5LCAyNSwgNjAsIAorICAgIDIzOSwgMjUsIDE5NCwgNjAsIDIzOSwgMjUsIDYwLCAyMzAsIDg2LCAyNDcsIDIzMywgNjAsIDIyNywgMTA5LCAyNDUsIDE1NiwgCisgICAgNTksIDIyNywgMTA5LCAyNDUsIDE1NiwgNjAsIDIyNywgMTA5LCAyMjksIDg4LCA1OSwgMjI3LCAxMDksIDIyOSwgODgsIDYwLCAKKyAgICA1LCAyNDUsIDE1NiwgNjAsIDUsIDIyOSwgODgsIDU5LCA1LCAyMjksIDg4LCA2MCwgMTk0LCAyNDMsIDU1LCA1OSwgMTk0LCAKKyAgICAyNDMsIDU1LCA2MCwgNzksIDI0MywgNTUsIDU5LCA3OSwgMjQzLCA1NSwgNDcsIDUxLCAyLCA1LCAyNDcsIDIzMywgMTI5LCAKKyAgICA5MiwgMjUxLCAyNDEsIDQ3LCA1MSwgMiwgMzksIDIyMCwgMjE4LCAxNTIsIDkyLCAyMTQsIDEwMywgNDUsIDkyLCAyMTAsIAorICAgIDEwOCwgNTEsIDIsIDc5LCA5MSwgOTIsIDIxMCwgMTA4LCA1MSwgMiwgNTAsIDc5LCA5MSwgOTIsIDIxMCwgMTA4LCA1MSwgCisgICAgMjQxLCA5OCwgMTM0LCA5MiwgMjEwLCAxMDgsIDIxMSwgMzYsIDI0NiwgNzksIDQ1LCA5MiwgNTEsIDIsIDI0NCwgMjEsIAorICAgIDIxNCwgOSwgOTIsIDUxLCAyLCAyMTIsIDE5MiwgMiwgNzksIDkxLCA5MiwgNTEsIDIsIDIxMiwgMTkyLCAyLCA1MCwgNzksIAorICAgIDkxLCA5MiwgMjEwLCAxMDgsIDUxLCAyLCAyMTIsIDE5MSwgOTIsIDIxMCwgMTA4LCA1MSwgMiwgMjEyLCAxOTIsIDIsIDc5LCAKKyAgICA5MSwgOTIsIDIxMCwgMTA4LCA1MSwgMiwgMjEyLCAxOTIsIDIsIDUwLCA3OSwgOTEsIDkyLCA1MSwgMjExLCAyMzMsIDIwNiwgCisgICAgMTk1LCAyMDcsIDY1LCA1MSwgMjIwLCAyMDEsIDI0NSwgMTAyLCAyMzAsIDQ2LCAyNDIsIDI0MiwgMywgODQsIDkyLCA0NSwgCisgICAgMjE4LCAyMjUsIDIxMSwgMTgxLCAyMjIsIDEzMywgODQsIDkyLCA0NSwgOTIsIDUxLCA4NCwgMjE4LCAyMjUsIDI1MiwgMTQ5LCAKKyAgICAxNDYsIDEyNCwgODYsIDUxLCAyMTEsIDIzMywgMjM5LCAyMjksIDg2LCA1MSwgMjExLCAyMzMsIDIxMywgMTM3LCA5MiwgCisgICAgMjE5LCAyMDcsIDQ1LCA4NiwgMjE5LCAyMDcsIDQ1LCAyMTgsIDIyNSwgMjExLCAxODEsIDIyMiwgMTMzLCA4NCwgODYsIDQ1LCAKKyAgICA4NiwgNTEsIDg0LCAyMTgsIDIyNSwgMjUyLCAxNDksIDE0NiwgMTI0LCAyMTEsIDE4MSwgMjIyLCAxMzMsIDg0LCA5MiwgNDUsIAorICAgIDkyLCA1MSwgODQsIDI1MiwgMTQ5LCAxNDYsIDEyNCwgOTIsIDUxLCA4NCwgMjE4LCAyMjUsIDIxMSwgMTgxLCAyMjIsIDEzMiwgCisgICAgODYsIDUxLCA4NCwgMjE4LCAyMjUsIDIxMSwgMTgxLCAyMjIsIDEzMiwgMTczLCAyMTEsIDUwLCAyMDUsIDMxLCA0NSwgMjE1LCAKKyAgICAxNDQsIDIxNCwgMjM3LCAxNDMsIDQ1LCAyMTUsIDE0NCwgMjUwLCAxNzMsIDE4OCwgNDUsIDU5LCAyMjcsIDEwOSwgMjE0LCAKKyAgICAyNiwgNjAsIDUsIDIxNCwgMjYsIDU5LCA1LCAyMTQsIDI2LCA2MCwgMjE4LCAxNjIsIDIyMSwgMTQwLCA1OSwgMjE4LCAxNjIsIAorICAgIDIyMSwgMTQwLCA3NywgMjMwLCA4NiwgMjQ3LCAyMzMsIDc3LCAyMjIsIDg3LCAyLCAyMjIsIDg3LCAyMzMsIDI1LCA3NywgCisgICAgMjQ3LCAyMzQsIDIsIDI0NywgMjM0LCAyMzMsIDI1LCA3NywgMjQ3LCAyMzMsIDc3LCAzOSwgMjE3LCAxNjIsIDIxNCwgMjM3LCAKKyAgICAxNDMsIDUxLCAyLCAyMzgsIDEyOSwgMjM5LCA2OCwgMjUwLCAxNzMsIDE4OCwgNTEsIDIsIDIzOCwgMTI5LCAyMTIsIDE5MSwgCisgICAgMjE0LCAyMzcsIDE0MywgNTEsIDIsIDE5NCwgMjEyLCAxOTEsIDI1MCwgMTczLCAxODgsIDUxLCAyLCAxOTQsIDIxMiwgMTkxLCAKKyAgICAyNTAsIDE5LCA1MSwgMjIwLCAyMDEsIDE3MywgMjEyLCAzMywgMTQzLCAyNDMsIDExNiwgMjE1LCAxNDQsIDI1MCwgMTksIAorICAgIDUxLCAyMjAsIDIwMSwgMTczLCAyMTIsIDMzLCAxNDMsIDI0MywgMTE2LCA5MiwgMjExLCA1MCwgNDUsIDE2NywgMjExLCA1MCwgCisgICAgNDUsIDg2LCAyMTEsIDUwLCA0NSwgMTczLCAyMTEsIDUwLCA0NSwgNDcsIDQ4LCAyMTEsIDUwLCA0NSwgMTIwLCAxMzAsIAorICAgIDIxMSwgNTAsIDQ1LCAxNDMsIDIwNywgMzYsIDIxMSwgNTAsIDQ1LCAxNDMsIDI0MywgMTE3LCAyMTEsIDUwLCA0NSwgMTg4LCAKKyAgICAyNDMsIDExNywgMjExLCA1MCwgNDUsIDE4OCwgMjA3LCAzNiwgMjExLCA1MCwgNDUsIDkyLCAyMTEsIDUwLCAyNDYsIDc3LCAKKyAgICA0NSwgMTY3LCAyMTEsIDUwLCAyNDYsIDc3LCA0NSwgODYsIDIxMSwgNTAsIDI0NiwgNzcsIDQ1LCAxNzMsIDIxMSwgNTAsIAorICAgIDI0NiwgNzcsIDQ1LCAyNDcsIDE5NCwgMjExLCA1MCwgMjIyLCAxNDIsIDI0NywgMjM0LCA0NSwgMjUyLCA4NywgMjExLCA1MCwgCisgICAgMjIyLCAxNDIsIDI0NywgMjM0LCA0NSwgOTIsIDIxMSwgNTAsIDUxLCAyMTEsIDEzMCwgMTM0LCAxNjcsIDIxMSwgNTAsIDUxLCAKKyAgICAyMTEsIDEzMCwgMTM0LCA4NiwgMjExLCA1MCwgNTEsIDIxMSwgMTMwLCAxMzQsIDE3MywgMjExLCA1MCwgNTEsIDIxMSwgCisgICAgMTMwLCAxMzQsIDE0MywgMjA3LCAzNiwgMjExLCA1MCwgNTEsIDIxMSwgMTMwLCAxMzQsIDE0MywgMjQzLCAxMTcsIDIxMSwgCisgICAgNTAsIDUxLCAyMTEsIDEzMCwgMTM0LCAxODgsIDI0MywgMTE3LCAyMTEsIDUwLCA1MSwgMjExLCAxMzAsIDEzNCwgMTg4LCAKKyAgICAyMDcsIDM2LCAyMTEsIDUwLCA1MSwgMjExLCAxMzAsIDEzNCwgOTIsIDIxMSwgNTAsIDUxLCAyLCA1MCwgMTk0LCA5MSwgCisgICAgMTY3LCAyMTEsIDUwLCA1MSwgMiwgNTAsIDE5NCwgOTEsIDg2LCAyMTEsIDUwLCA1MSwgMiwgNTAsIDE5NCwgOTEsIDE3MywgCisgICAgMjExLCA1MCwgNTEsIDIsIDUwLCAxOTQsIDkxLCAxOTQsIDIxMiwgMjA4LCAyMzEsIDE3NCwgNzksIDIxMiwgMjA4LCAyMzEsIAorICAgIDE3NCwgOTIsIDIxMSwgNTAsIDUxLCAxMzEsIDg2LCAyMTEsIDUwLCA0NSwgMTY3LCAyMTEsIDUwLCA1MSwgOTIsIDczLCAKKyAgICAxNzMsIDIxMSwgNTAsIDQ1LCA4NiwgMjExLCA1MCwgNTEsIDEzMSwgOTIsIDIxMSwgNTAsIDQ1LCAxNzMsIDIxMSwgNTAsIAorICAgIDUxLCA5MiwgNzMsIDE2NywgMjExLCA1MCwgNDUsIDkyLCAyMTEsIDUwLCAyMjIsIDMwLCAyNTEsIDI0MSwgMTY3LCAyMTEsIAorICAgIDUwLCAyMjIsIDMwLCAyNTEsIDI0MSwgODYsIDIxMSwgNTAsIDIyMiwgMzAsIDI1MSwgMjQxLCAxNzMsIDIxMSwgNTAsIDIyMiwgCisgICAgMzAsIDI1MSwgMjQxLCA5MiwgNjAsIDM5LCA1OSwgNDUsIDE2NywgNjAsIDM5LCA1OSwgNDUsIDg2LCA2MCwgMzksIDU5LCAKKyAgICA0NSwgMTczLCA2MCwgMzksIDU5LCA0NSwgMjUyLCA4NywgMjExLCA1MCwgNDgsIDIxMCwgNzEsIDQ1LCAyNTIsIDg3LCAyMTEsIAorICAgIDUwLCAyNDksIDE1NCwgMjEwLCA3MSwgNDUsIDI1MiwgODcsIDIxMSwgNTAsIDQ3LCAyMTAsIDcxLCA0NSwgMjUyLCA4NywgCisgICAgMjExLCA1MCwgMjExLCAxMDIsIDIxMCwgNzEsIDQ1LCAyMTgsIDIyOSwgMjMwLCA0NiwgMjE4LCAyMjksIDIxOCwgMTY3LCAKKyAgICAyMjUsIDg2LCAyMzAsIDQ2LCAyMjUsIDg2LCAyMTgsIDE2NywgMjQxLCAxMjUsIDI0NywgOTIsIDI1MSwgMjQyLCAyNDcsIAorICAgIDIzMSwgMjUyLCA4NiwgODYsIDYwLCA0NSwgMjExLCAyMzgsIDIxMSwgMTAwLCA5MiwgMjQyLCAyMzgsIDI1MSwgMjQzLCAKKyAgICAyMTEsIDIzOCwgMjE4LCAxNjMsIDE2NywgMjQyLCAyMzgsIDI1MSwgMjQzLCAyMTEsIDIzOCwgMjExLCAxMDAsIDg2LCAyNDIsIAorICAgIDIzOCwgMjUxLCAyNDMsIDIxMSwgMjM4LCAyMzAsIDQyLCAxNzMsIDI0MiwgMjM4LCAyNTEsIDI0MywgNjAsIDkyLCAyNDIsIAorICAgIDIzOCwgMjUxLCAyNDMsIDYwLCAxNjcsIDI0MiwgMjM4LCAyNTEsIDI0MywgNjAsIDg2LCAyNDIsIDIzOCwgMjUxLCAyNDMsIAorICAgIDYwLCAxNzMsIDI0MiwgMjM4LCAyNTEsIDI0MywgMTczLCAyMTEsIDUwLCA1MSwgMiwgMTUyLCAyMTEsIDE2NywgMjMwLCAzNiwgCisgICAgMTczLCAyMTEsIDUwLCA1MSwgMiwgMTUyLCAyMTEsIDE2NywgMjE4LCAxNTYsIDE2NywgMjExLCA1MCwgNTEsIDIsIDE1MiwgCisgICAgMjExLCAxNjcsIDIzMCwgMzYsIDE2NywgMjExLCA1MCwgNTEsIDIsIDE1MiwgMjExLCAxNjcsIDIxOCwgMTU2LCA5MiwgMjExLCAKKyAgICA1MCwgNTEsIDIsIDE1MiwgMjExLCAxNjcsIDIwOSwgMTk2LCA4NiwgMjExLCA1MCwgNTEsIDIsIDE1MiwgMjExLCAxNjcsIAorICAgIDIwOSwgMTk2LCA5MiwgMjExLCA1MCwgNTEsIDIsIDE1MiwgMjExLCAxNjcsIDI0NCwgNiwgODYsIDIxMSwgNTAsIDUxLCAyLCAKKyAgICAxNTIsIDIxMSwgMTY3LCAyNDQsIDYsIDYwLCAyNDcsIDE4LCAxNzMsIDIzLCA5MiwgNDUsIDYwLCAyNDcsIDE4LCAxNzMsIAorICAgIDIzLCA4NiwgNDUsIDYwLCAyNDcsIDE4LCAxNjcsIDIzLCA5MiwgNDUsIDYwLCAyNDcsIDE4LCAxNjcsIDIzLCA4NiwgNDUsIAorICAgIDYwLCAyNDcsIDE4LCA5MiwgMjMsIDE2NywgNDUsIDYwLCAyNDcsIDE4LCA4NiwgMjMsIDE2NywgNDUsIDYwLCAyNDcsIDE4LCAKKyAgICA5MiwgMjMsIDE3MywgNDUsIDYwLCAyNDcsIDE4LCA4NiwgMjMsIDE3MywgNDUsIDIxOCwgMjA2LCA1MSwgMTMwLCAyMzAsIAorICAgIDQ2LCAyMTgsIDIwNiwgNTEsIDEzMCwgMjE4LCAxNjcsIDIxOCwgMjA2LCA1MSwgMTIwLCAyMzAsIDQ2LCAyMTgsIDIwNiwgCisgICAgNTEsIDEyMCwgMjE4LCAxNjcsIDIxOCwgMjA2LCA1MSwgNDcsIDIwOSwgMjA2LCAyMTgsIDIwNiwgNTEsIDQ4LCAyMDksIAorICAgIDIwNiwgMjE4LCAyMDYsIDUxLCA0NywgMjQ0LCA4LCAyMTgsIDIwNiwgNTEsIDQ4LCAyNDQsIDgsIDE2NywgNTksIDUxLCAKKyAgICAyNDEsIDk4LCAyNTAsIDEyOSwgMiwgMTk0LCAxMzQsIDEyMCwgMjUxLCAyNDQsIDIzMywgNjksIDMyLCAyMTksIDM4LCAyNDksIAorICAgIDE0MCwgMjUwLCAxNDYsIDk2LCAyLCAxNDcsIDIwNiwgMTk1LCAzOSwgMjA2LCAxOTUsIDM5LCAyNCwgMjA2LCAxOTUsIDYwLCAKKyAgICA0OSwgMjQ4LCAxMjYsIDYwLCAyNDUsIDE1NywgMjQ4LCAxMjYsIDIwMSwgNjAsIDIyMSwgMTQwLCAxOTQsIDYwLCAyMjIsIAorICAgIDIxNCwgNjAsIDIyMiwgMjE0LCA2MCwgMjI3LCAxMDksIDIwOSwgMjA1LCAyMTEsIDUyLCAyNDgsIDEyNiwgNjAsIDIyNywgCisgICAgMTA5LCAyNDQsIDcsIDIxMSwgNTIsIDI0OCwgMTI2LCA2MCwgMjI3LCAxMDksIDIzMCwgNDEsIDIxMSwgNTIsIDI0OCwgMTI2LCAKKyAgICA2MCwgMjI3LCAxMDksIDIxOCwgMTYyLCAyMTEsIDUyLCAyNDgsIDEyNiwgMjExLCAxMDIsIDE2MCwgNjAsIDI0NywgMjMzLCAKKyAgICAyNDksIDE1NCwgMTYwLCA2MCwgMjQ3LCAyMzMsIDE0NywgMjQxLCAxMjUsIDIyMCwgMjAzLCA2MCwgMjQ3LCAxNSwgMjE4LCAKKyAgICA5NywgMTQ3LCAyNDEsIDEyNSwgMjIwLCAyMDMsIDYwLCAyNDcsIDE1LCA1OSwgMjQxLCAxMjUsIDIyMCwgMjAzLCAyNDcsIAorICAgIDE1LCAyMTgsIDk3LCA1OSwgMjQxLCAxMjUsIDIyMCwgMjAzLCAyNDcsIDE1LCA0OSwgMjIwLCAxNzgsIDIzMywgNDksIDIwOSwgCisgICAgMjI5LCA1MywgMTY2LCA2LCAxLCAyNTEsIDE1MSwgMTY2LCA2LCAxLCAyNDksIDg5LCAxNjYsIDYsIDEsIDIwOSwgMzcsIAorICAgIDE2NiwgNiwgMSwgMjQwLCAzMCwgMTY2LCA2LCAxLCAyNDUsIDQ2LCAxNjYsIDYsIDEsIDIwNiwgMjQsIDE2NiwgNiwgMSwgCisgICAgMjA1LCA2NSwgMTY2LCA2LCAxLCAyNDMsIDE5MSwgMTY2LCA2LCAxLCAyMDUsIDkwLCAxNjYsIDYsIDEsIDIzMiwgMjA3LCAKKyAgICAxNjYsIDYsIDEsIDc4LCAyMzIsIDIwNywgMTY2LCA2LCAxLCA3NCwgMTY2LCA2LCAxLCAyNDUsIDY2LCAxNjYsIDYsIDEsIAorICAgIDIzMiwgMzMsIDE2NiwgNiwgMSwgMjI5LCAxNzQsIDE2NiwgNiwgMSwgMjI2LCAzNywgMTY2LCA2LCAxLCAyMjUsIDE5NSwgCisgICAgMTY2LCA2LCAxLCAyMjIsIDE1NCwgMTY2LCA2LCAxLCAyMjAsIDE5OCwgMTY2LCA2LCAxLCAyMTgsIDE0MSwgMTY2LCA2LCAxLCAKKyAgICAyMTQsIDIxOSwgMTY2LCA2LCAxLCAyMTAsIDEzMSwgMTY2LCA2LCAxLCAyMDksIDI0NSwgMTY2LCA2LCAxLCAyNDEsIDEwMSwgCisgICAgMTY2LCA2LCAxLCAyMzksIDMxLCAxNjYsIDYsIDEsIDIyMiwgOTgsIDE2NiwgNiwgMSwgMjIxLCAxNzQsIDE2NiwgNiwgMSwgCisgICAgMjE1LCAxMTksIDE2NiwgNiwgMSwgMjEwLCAyMjIsIDE2NiwgNiwgMSwgMjQ4LCAyMCwgMTY2LCA2LCAxLCAyMTYsIDIsIAorICAgIDE2NiwgNiwgMSwgMjA2LCAzMCwgMTY2LCA2LCAxLCAyMDYsIDMyLCAxNjYsIDYsIDEsIDIwNiwgNjMsIDE2NiwgNiwgMSwgCisgICAgMjE0LCAxMjksIDE1NSwgMTY2LCA2LCAxLCAyMDUsIDIxMywgMTY2LCA2LCAxLCA1LCAyMDUsIDE4MywgMTY2LCA2LCAxLCA1LCAKKyAgICAyMDUsIDE4NCwgMiwgMjEyLCAxOTEsIDE2NiwgNiwgMSwgMjA1LCAyNDcsIDE2NiwgNiwgMSwgMjMyLCAyNDgsIDUsIDIwNSwgCisgICAgMTgzLCAxNjYsIDYsIDEsIDI0OSwgMjMxLCAyMDUsIDE4MywgMTY2LCA2LCAxLCAyMzIsIDI0OCwgMjQ5LCAyMzEsIDIwNSwgCisgICAgMTgzLCAxNjYsIDYsIDEsIDI0MSwgMjA1LCAxNjYsIDYsIDEsIDIzMiwgMjA1LCAxNjYsIDYsIDEsIDIxNSwgMTE4LCAxNjYsIAorICAgIDYsIDEsIDIxMSwgMjcsIDYyLCAxNjYsIDYsIDEsIDIzMCwgNzYsIDIyNiwgMzcsIDE2NiwgNSwgMSwgMjUxLCAxNTEsIDE2NiwgCisgICAgNSwgMSwgMjQ5LCA4OSwgMTY2LCA1LCAxLCAyMDksIDM3LCAxNjYsIDUsIDEsIDI0MCwgMzAsIDE2NiwgNSwgMSwgMjQ1LCAKKyAgICA0NiwgMTY2LCA1LCAxLCAyMDYsIDI0LCAxNjYsIDUsIDEsIDIwNSwgNjUsIDE2NiwgNSwgMSwgMjQzLCAxOTEsIDE2NiwgNSwgCisgICAgMSwgMjA1LCA5MCwgMTY2LCA1LCAxLCAyMzIsIDIwNywgMTY2LCA1LCAxLCA3OCwgMjMyLCAyMDcsIDE2NiwgNSwgMSwgNzQsIAorICAgIDE2NiwgNSwgMSwgMjQ1LCA2NiwgMTY2LCA1LCAxLCAyMzIsIDMzLCAxNjYsIDUsIDEsIDIyOSwgMTc0LCAxNjYsIDUsIDEsIAorICAgIDIyNiwgMzcsIDE2NiwgNSwgMSwgMjI1LCAxOTUsIDE2NiwgNSwgMSwgMjIyLCAxNTQsIDE2NiwgNSwgMSwgMjIwLCAxOTgsIAorICAgIDE2NiwgNSwgMSwgMjE4LCAxNDEsIDE2NiwgNSwgMSwgMjE0LCAyMTksIDE2NiwgNSwgMSwgMjEwLCAxMzEsIDE2NiwgNSwgMSwgCisgICAgMjA5LCAyNDUsIDE2NiwgNSwgMSwgMjQxLCAxMDEsIDE2NiwgNSwgMSwgMjM5LCAzMSwgMTY2LCA1LCAxLCAyMjIsIDk4LCAKKyAgICAxNjYsIDUsIDEsIDIyMSwgMTc0LCAxNjYsIDUsIDEsIDIxNSwgMTE5LCAxNjYsIDUsIDEsIDIxMCwgMjIyLCAxNjYsIDUsIDEsIAorICAgIDI0OCwgMjAsIDE2NiwgNSwgMSwgMjE2LCAyLCAxNjYsIDUsIDEsIDIwNiwgMzAsIDE2NiwgNSwgMSwgMjA2LCAzMiwgMTY2LCAKKyAgICA1LCAxLCAyMDYsIDYzLCAxNjYsIDUsIDEsIDIxNCwgMTI5LCAxNTUsIDE2NiwgNSwgMSwgMjA1LCAyMTMsIDE2NiwgNSwgMSwgCisgICAgNSwgMjA1LCAxODMsIDE2NiwgNSwgMSwgNSwgMjA1LCAxODQsIDIsIDIxMiwgMTkxLCAxNjYsIDUsIDEsIDIwNSwgMjQ3LCAKKyAgICAxNjYsIDUsIDEsIDIzMiwgMjQ4LCA1LCAyMDUsIDE4MywgMTY2LCA1LCAxLCAyNDksIDIzMSwgMjA1LCAxODMsIDE2NiwgNSwgCisgICAgMSwgMjMyLCAyNDgsIDI0OSwgMjMxLCAyMDUsIDE4MywgMTY2LCA1LCAxLCAyNDEsIDIwNSwgMTY2LCA1LCAxLCAyMzIsIAorICAgIDIwNSwgMTY2LCA1LCAxLCAyMTUsIDExOCwgMTY2LCA1LCAxLCAyMTEsIDI3LCA2MiwgMTY2LCA1LCAxLCAyMzAsIDc2LCAKKyAgICAyMjYsIDM3LCA3LCA2LCAxLCAyMzAsIDE1OSwgMiwgNTAsIDEzNCwgNywgNSwgMSwgMjMwLCAxNTksIDIsIDUwLCAxMzQsIDcsIAorICAgIDYsIDEsIDIzMCwgMTU5LCAyLCAyMjYsIDI0NywgMjExLCAxODAsIDcsIDYsIDEsIDIyMiwgNjgsIDIsIDkxLCA3LCA2LCAxLCAKKyAgICAyMTksIDE1MCwgMiwgMjEyLCAxOTEsIDcsIDUsIDEsIDMyLCAyLCA5MSwgNywgNSwgMSwgMjEzLCAxMSwgMiwgMjQ1LCAxNjMsIAorICAgIDkxLCA3LCA2LCAxLCAyMzksIDE1NiwgMiwgMjQ1LCAyMTEsIDcsIDUsIDEsIDIzOSwgMTU2LCAyLCAyNDUsIDIxMSwgNywgNiwgCisgICAgMSwgMjMyLCA3NywgMiwgMjQ1LCAyMTEsIDcsIDUsIDEsIDIzMiwgNzcsIDIsIDI0NSwgMjExLCA3LCA2LCAxLCAyMDUsIAorICAgIDE2MCwgMiwgMjQ1LCAyMTEsIDcsIDUsIDEsIDIwNSwgMTYwLCAyLCAyNDUsIDIxMSwgNywgNiwgMSwgMjUyLCAxNDQsIDcsIAorICAgIDYsIDEsIDIyOSwgMjksIDIsIDEwOSwgNywgNiwgMSwgMjAxLCA2MiwgNywgNiwgMSwgMjAxLCAyNTIsIDE0NCwgNywgNSwgMSwgCisgICAgMjA5LCAxNDksIDIsIDQ4LCAxMDksIDcsIDYsIDEsIDIwNywgMTMwLCAyLCAxMDksIDcsIDUsIDEsIDIwNywgMTMwLCAyLCAKKyAgICAxMDksIDcsIDUsIDEsIDIwOSwgMTQ5LCAyLCAyNDcsIDI3LCA3LCA2LCAxLCAxNjAsIDIzOSwgMTU1LCA3LCA1LCAxLCAxNjAsIAorICAgIDIzOSwgMTU1LCA3LCA1LCAxLCAyMTIsIDE4OSwgMjIxLCA3OCwgNywgNSwgMSwgMTc0LCAyLCAyMjQsIDQwLCA3LCA1LCAxLCAKKyAgICAyMDEsIDIxOSwgMTUwLCAyLCAyMTIsIDE5MSwgNywgNSwgMSwgMTQ4LCAyLCAxMTQsIDIxOCwgMTQ5LCAyMzMsIDI1LCA3LCAKKyAgICAxLCA1LCA2LCAyMDEsIDc1LCA3LCAyMTMsIDE4MywgNSwgMSwgMjMyLCAyMDMsIDY1LCAxLCA2LCAyMDksIDE0OCwgNywgNiwgCisgICAgMSwgMjE4LCAxLCAyLCAyMTMsIDEwOSwgMjEyLCAxOTEsIDcsIDYsIDEsIDIwNSwgMTYwLCAyLCAyMTMsIDEwOSwgMjEyLCAKKyAgICAxOTEsIDgxLCA2LCAxLCAyNTIsIDE2NiwgODEsIDUsIDEsIDI1MiwgMTY2LCA4MSwgNiwgMSwgMjA4LCAyMTEsIDgxLCA1LCAKKyAgICAxLCAyMDgsIDIxMSwgODEsIDYsIDEsIDI0MCwgMjE1LCA4MSwgNSwgMSwgMjQwLCAyMTUsIDgxLCA2LCAxLCAyNDYsIDExMywgCisgICAgODEsIDUsIDEsIDI0NiwgMTEzLCA4MSwgNiwgMSwgMjQzLCA4OSwgODEsIDUsIDEsIDI0MywgODksIDgxLCA2LCAxLCAyMTQsIAorICAgIDE2NywgODEsIDUsIDEsIDIxNCwgMTY3LCA4MSwgNiwgMSwgMjA1LCAxMDAsIDgxLCA1LCAxLCAyMDUsIDEwMCwgODEsIDYsIAorICAgIDEsIDIzOSwgODMsIDgxLCA1LCAxLCAyMzksIDgzLCA4MSwgNiwgMSwgMjEyLCAyMSwgODEsIDUsIDEsIDIxMiwgMjEsIDgxLCAKKyAgICA2LCAxLCAyMzcsIDE4NywgODEsIDUsIDEsIDIzNywgMTg3LCA4MSwgNiwgMSwgMjMyLCAxOSwgODEsIDUsIDEsIDIzMiwgMTksIAorICAgIDgxLCA2LCAxLCAyMzAsIDcyLCA4MSwgNSwgMSwgMjMwLCA3MiwgODEsIDYsIDEsIDIyNiwgMjU0LCA4MSwgNSwgMSwgMjI2LCAKKyAgICAyNTQsIDgxLCA2LCAxLCAyMjQsIDIzMCwgODEsIDUsIDEsIDIyNCwgMjMwLCA4MSwgNiwgMSwgMjMwLCAyNTIsIDgxLCA1LCAKKyAgICAxLCAyMzAsIDI1MiwgODEsIDYsIDEsIDc2LCA4MSwgNSwgMSwgNzYsIDgxLCA2LCAxLCAyMjEsIDUzLCA4MSwgNSwgMSwgCisgICAgMjIxLCA1MywgODEsIDYsIDEsIDIxOCwgMTI0LCA4MSwgNSwgMSwgMjE4LCAxMjQsIDgxLCA2LCAxLCAyMTUsIDUxLCA4MSwgCisgICAgNSwgMSwgMjE1LCA1MSwgODEsIDYsIDEsIDIxMiwgMTUxLCA4MSwgNSwgMSwgMjEyLCAxNTEsIDgxLCA2LCAxLCAyMTAsIDE4LCAKKyAgICA4MSwgNSwgMSwgMjEwLCAxOCwgODEsIDYsIDEsIDI0MSwgMjUwLCA4MSwgNSwgMSwgMjQxLCAyNTAsIDgxLCA2LCAxLCAyMzEsIAorICAgIDE0NSwgODEsIDUsIDEsIDIzMSwgMTQ1LCA4MSwgNiwgMSwgMjIwLCA5MywgODEsIDUsIDEsIDIyMCwgOTMsIDgxLCA2LCAxLCAKKyAgICAyMjIsIDE0NiwgODEsIDUsIDEsIDIyMiwgMTQ2LCA4MSwgNiwgMSwgMjQ1LCAxNjEsIDI1MiwgMTcyLCA4MSwgNSwgMSwgCisgICAgMjQ1LCAxNjEsIDI1MiwgMTcyLCA4MSwgNiwgMSwgNDQsIDgxLCAyNTIsIDIwMCwgODEsIDUsIDEsIDQ0LCA4MSwgMjUyLCAKKyAgICAyMDAsIDgxLCA2LCAxLCAyNDcsIDQzLCAyNDMsIDg5LCA4MSwgNSwgMSwgMjQ3LCA0MywgMjQzLCA4OSwgODEsIDYsIDEsIAorICAgIDI0NSwgMTYxLCAyMzIsIDE5LCA4MSwgNSwgMSwgMjQ1LCAxNjEsIDIzMiwgMTksIDgxLCA2LCAxLCAyNDUsIDE2MSwgMjI0LCAKKyAgICAyMzAsIDgxLCA1LCAxLCAyNDUsIDE2MSwgMjI0LCAyMzAsIDgxLCA2LCAxLCAyNDcsIDQzLCAyMjQsIDIzMCwgODEsIDUsIDEsIAorICAgIDI0NywgNDMsIDIyNCwgMjMwLCA4MSwgNiwgMSwgNDQsIDgxLCAyMjIsIDE0NiwgODEsIDUsIDEsIDQ0LCA4MSwgMjIyLCAKKyAgICAxNDYsIDgxLCA2LCAxLCAyMTcsIDE1NCwgODEsIDUsIDEsIDIxNywgMTU0LCA4MSwgNiwgMSwgMjQ3LCA1NywgMjE1LCAyMDYsIAorICAgIDgxLCA1LCAxLCAyNDcsIDU3LCAyMTUsIDIwNiwgODEsIDYsIDEsIDQ0LCA4MSwgMjE1LCAyMDYsIDgxLCA1LCAxLCA0NCwgCisgICAgODEsIDIxNSwgMjA2LCA4MSwgNiwgMSwgNDQsIDgxLCAyNDIsIDIxNSwgODEsIDUsIDEsIDQ0LCA4MSwgMjQyLCAyMTUsIDgxLCAKKyAgICA2LCAxLCAyNTIsIDE4NSwgMjMxLCAxNTAsIDgxLCA1LCAxLCAyNTIsIDE4NSwgMjMxLCAxNTAsIDgxLCA2LCAxLCAyNDUsIAorICAgIDE2MSwgMjM4LCAxMjIsIDgxLCA1LCAxLCAyNDUsIDE2MSwgMjM4LCAxMjIsIDgxLCA2LCAxLCA0NCwgODEsIDIzOCwgMTIyLCAKKyAgICA4MSwgNSwgMSwgNDQsIDgxLCAyMzgsIDEyMiwgODEsIDYsIDEsIDQ0LCA4MSwgMTU1LCA4MSwgNSwgMSwgNDQsIDgxLCAxNTUsIAorICAgIDgxLCA2LCAxLCAyMzAsIDE1OCwgMTU1LCA4MSwgNSwgMSwgMjMwLCAxNTgsIDE1NSwgODEsIDYsIDEsIDQ0LCA4MSwgMjM5LCAKKyAgICA0OSwgODEsIDUsIDEsIDQ0LCA4MSwgMjM5LCA0OSwgODEsIDYsIDEsIDQ0LCA4MSwgMjM5LCA4NiwgODEsIDUsIDEsIDQ0LCAKKyAgICA4MSwgMjM5LCA4NiwgODEsIDYsIDEsIDQ0LCA4MSwgMjQwLCAyMTAsIDgxLCA1LCAxLCA0NCwgODEsIDI0MCwgMjEwLCA4MSwgCisgICAgNiwgMSwgNDQsIDgxLCAyNDUsIDY5LCA4MSwgNSwgMSwgNDQsIDgxLCAyNDUsIDY5LCA4MSwgNiwgMSwgNDQsIDgxLCAyMTUsIAorICAgIDE3MywgODEsIDUsIDEsIDQ0LCA4MSwgMjE1LCAxNzMsIDgxLCA2LCAxLCA0NCwgMjIzLCAxODcsIDIxNSwgMTczLCA4MSwgNSwgCisgICAgMSwgNDQsIDIyMywgMTg3LCAyMTUsIDE3MywgODEsIDYsIDEsIDQ0LCAyMjMsIDE4NywgMjI1LCAyNSwgODEsIDUsIDEsIDQ0LCAKKyAgICAyMjMsIDE4NywgMjI1LCAyNSwgODEsIDYsIDEsIDQ0LCAyMjMsIDE4NywgMjIzLCAxMjUsIDgxLCA1LCAxLCA0NCwgMjIzLCAKKyAgICAxODcsIDIyMywgMTI1LCA4MSwgNiwgMSwgNDQsIDIyMywgMTg3LCAyMDcsIDY2LCA4MSwgNSwgMSwgNDQsIDIyMywgMTg3LCAKKyAgICAyMDcsIDY2LCA4MSwgMTYsIDIzMiwgNDEsIDgxLCAxNiwgMjI2LCAyNTUsIDIxOCwgMTI0LCA4MSwgMTYsIDIyMSwgNTQsIAorICAgIDIxOCwgMTI0LCA4MSwgMTYsIDIxNCwgMTcsIDgxLCAxNiwgMjEyLCAxNTIsIDIxOCwgMTI0LCA4MSwgMTYsIDIzMSwgMTQ2LCAKKyAgICAyMTgsIDEyNCwgODEsIDE2LCAyMTUsIDE3NCwgMjE1LCA1MSwgODEsIDYsIDEsIDI0NywgNDMsIDIxNSwgMjA2LCA4MSwgNSwgCisgICAgMSwgMjQ3LCA0MywgMjE1LCAyMDYsIDgxLCA2LCAxLCAyNDcsIDQzLCAyNDAsIDIxMCwgODEsIDUsIDEsIDI0NywgNDMsIAorICAgIDI0MCwgMjEwLCA4MSwgMzYsIDIyNCwgMjMxLCA1MiwgODEsIDM2LCAyMTQsIDEyMywgMjUxLCAyMTcsIDgxLCAzNiwgMjE0LCAKKyAgICAxMjMsIDIzMCwgMTcsIDgxLCA2LCAxLCAyNDksIDE3OCwgMjMxLCAxNTAsIDgxLCA1LCAxLCAyNDksIDE3OCwgMjMxLCAxNTAsIAorICAgIDgxLCA0NCwgMjIzLCAxODcsIDI0MSwgODIsIDIxMywgMjUxLCA4MSwgNDQsIDIyMywgMTg3LCAyNDUsIDEwNCwgMjE5LCAKKyAgICAxOTYsIDgzLCA4MSwgNDQsIDIyMywgMTg3LCAyMzMsIDQ4LCAyMTksIDE5NiwgODMsIDgxLCA0NCwgMjIzLCAxODcsIDIwOSwgCisgICAgMjQsIDI0NSwgNzksIDgxLCAyNDEsIDExNiwgMTE5LCAyMzksIDEyMSwgODEsIDI0MSwgODIsIDIxMywgMjUxLCA4MSwgMjI2LCAKKyAgICAxNDAsIDI0NSwgNzksIDEwOCwgNSwgMSwgMjUyLCAxMjIsIDEwOCwgNSwgMSwgMjUwLCAxNDAsIDEwOCwgNSwgMSwgMjQwLCAKKyAgICAyMTQsIDEwOCwgNSwgMSwgMjQ1LCAzMSwgMTA4LCA1LCAxLCAyNDMsIDQxLCAxMDgsIDUsIDEsIDIwOCwgMTk3LCAxMDgsIDUsIAorICAgIDEsIDIwNSwgODgsIDEwOCwgNSwgMSwgMjEyLCAxNzQsIDEwOCwgNSwgMSwgMjMzLCA2OCwgMTA4LCA1LCAxLCAyMzIsIDI3LCAKKyAgICAxMDgsIDUsIDEsIDIzMCwgODIsIDEwOCwgNSwgMSwgMjI3LCAyMjEsIDEwOCwgNSwgMSwgMjI1LCAyMDAsIDEwOCwgNSwgMSwgCisgICAgMjIyLCAxNjUsIDEwOCwgNSwgMSwgMjIxLCAyMzEsIDEwOCwgNSwgMSwgMjA1LCA3NywgMTA4LCA1LCAxLCAyMTksIDk1LCAKKyAgICAxMDgsIDUsIDEsIDIxNywgMTUxLCAxMDgsIDUsIDEsIDIxMiwgMTYyLCAxMDgsIDUsIDEsIDIwOSwgMjM0LCAxMDgsIDUsIDEsIAorICAgIDIyMSwgODUsIDEwOCwgNSwgMSwgMjMxLCAxNTUsIDEwOCwgNSwgMSwgMjQwLCA5MCwgMTA4LCA1LCAxLCAyMjAsIDQsIDEwOCwgCisgICAgNSwgMSwgMjE1LCAxNzEsIDEwOCwgNSwgMSwgMjQ4LCA0NSwgMTA4LCA1LCAxLCAyNDgsIDIyNiwgMTA4LCA1LCAxLCAyMzIsIAorICAgIDE1NCwgMTA4LCA1LCAxLCAyNDcsIDI0MCwgMTA4LCA1LCAxLCAyNDgsIDk1LCAxMDgsIDUsIDEsIDIwNiwgMTc5LCAxMDgsIAorICAgIDUsIDEsIDIzMiwgMTY3LCAxMDgsIDUsIDEsIDIzOSwgMTM4LCAxMDgsIDUsIDEsIDIzOSwgNzEsIDEwOCwgNSwgMSwgMjM5LCAKKyAgICA2LCAxMDgsIDUsIDEsIDIwNywgNTEsIDEwOCwgNSwgMSwgMjM5LCA5NSwgMTA4LCA1LCAxLCAyMzgsIDE0NiwgMTA4LCA1LCAKKyAgICAxLCAyMDUsIDI0OSwgMTA4LCA1LCAxLCAyNTIsIDIzNywgMjExLCAyMDAsIDEsIDE5MCwgMjExLCAyMDAsIDEsIDIwNiwgCisgICAgMTA1LCAyMTEsIDIwMCwgMSwgMjA2LCAxMDQsIDIxMSwgMjAwLCAxLCAyMDYsIDk0LCAyMTEsIDIwMCwgMSwgMjA2LCA5MiwgCisgICAgMjExLCAyMDAsIDEsIDI1MCwgMTQsIDI1MywgMjMsIDIwNiwgODcsIDIxMSwgMjAwLCAxLCAyMDYsIDg3LCAyMTEsIDIwMCwgCisgICAgMSwgMjA2LCAxMDIsIDIxMSwgMjAwLCAxLCAyMDYsIDk5LCAyMTEsIDIwMCwgMSwgMjA2LCAxMDEsIDIxMSwgMjAwLCAxLCAKKyAgICAyMDYsIDEwMCwgMjExLCAyMDAsIDEsIDIwNiwgMTUsIDIxMSwgMjAwLCAxLCAyMDYsIDk2LCAyMTEsIDIwMCwgMSwgMjA2LCAKKyAgICA4NSwgMjExLCAyMDAsIDEsIDIxMCwgMTY3LCAyMDYsIDg1LCAyMTEsIDIwMCwgMSwgMjA2LCA4MiwgMjExLCAyMDAsIDEsIAorICAgIDIwNiwgOTAsIDIxMSwgMjAwLCAxLCAyNTAsIDE0LCAyNTMsIDIzLCAyMDYsIDkwLCAyMTEsIDIwMCwgMSwgMjEwLCAxNjcsIAorICAgIDIwNiwgOTAsIDIxMSwgMjAwLCAxLCAyMDYsIDg5LCAyMTEsIDIwMCwgMSwgMjA2LCAxMDksIDIxMSwgMjAwLCAxLCAyMDYsIAorICAgIDgzLCAyMTEsIDIwMCwgMSwgMjEwLCAxNjcsIDIwNiwgODMsIDIxMSwgMjAwLCAxLCAyMDYsIDcyLCAyMTEsIDIwMCwgMSwgCisgICAgMjEwLCAxNjcsIDIwNiwgNzIsIDIxMSwgMjAwLCAxLCAyMDYsIDExLCAyMTEsIDIwMCwgMSwgMjA2LCA1NCwgMjExLCAyMDAsIAorICAgIDEsIDI1MiwgMjExLCAyMDYsIDU0LCAyMTEsIDIwMCwgMSwgMjEwLCAxNjcsIDIwNiwgNTQsIDIxMSwgMjAwLCAxLCAyMDYsIAorICAgIDgxLCAyMTEsIDIwMCwgMSwgMjA2LCA4MCwgMjExLCAyMDAsIDEsIDIwNiwgNzcsIDIxMSwgMjAwLCAxLCAyMTAsIDE2NywgCisgICAgMjA2LCA5MSwgMjExLCAyMDAsIDEsIDIxMCwgMTY3LCAyMDYsIDc1LCAyMTEsIDIwMCwgMSwgMjA2LCA3MywgMjExLCAyMDAsIAorICAgIDEsIDIwNSwgMjEzLCAyMTEsIDIwMCwgMSwgMjA2LCA3MCwgMjExLCAyMDAsIDEsIDIwNiwgNjksIDIxMSwgMjAwLCAxLCAKKyAgICAyMDYsIDkzLCAyMTEsIDIwMCwgMSwgMjEwLCAxNjcsIDIwNiwgOTMsIDIxMSwgMjAwLCAxLCAyNTEsIDE1NSwgMjA2LCA5MywgCisgICAgMjExLCAyMDAsIDEsIDIwNiwgNjgsIDIxMSwgMjAwLCAxLCAyMDYsIDY2LCAyMTEsIDIwMCwgMSwgMjA2LCA2NywgMjExLCAKKyAgICAyMDAsIDEsIDIwNiwgNjUsIDIxMSwgMjAwLCAxLCAyMDYsIDY0LCAyMTEsIDIwMCwgMSwgMjA2LCAxMDMsIDIxMSwgMjAwLCAKKyAgICAxLCAyMDYsIDYyLCAyMTEsIDIwMCwgMSwgMjA2LCA2MCwgMjExLCAyMDAsIDEsIDIwNiwgNTksIDIxMSwgMjAwLCAxLCAyMDYsIAorICAgIDU4LCAyMTEsIDIwMCwgMSwgMjA2LCA1NSwgMjExLCAyMDAsIDEsIDIxMiwgMTQzLCAyMDYsIDU1LCAyMTEsIDIwMCwgMSwgCisgICAgMjA2LCA1MywgMjExLCAyMDAsIDEsIDIwNiwgNTIsIDIxMSwgMjAwLCAxLCAyMDUsIDI0NywgMjExLCAyMDAsIDY1LCAxLCAKKyAgICAyMzAsIDEzMSwgODMsIDIxMSwgMjAwLCAyMTYsIDQwLCA4MywgMjExLCAyMDAsIDEwNywgMjMyLCAxMTcsIDMxLCA0LCAyMjksIAorICAgIDE0MywgMzEsIDQsIDIyNiwgMTgwLCAzMSwgNCwgMjE4LCAxMjIsIDMxLCA0LCAyMTQsIDE5MiwgMzEsIDQsIDIxNSwgMTU3LCAKKyAgICAzMSwgNCwgMjQ5LCAxODMsIDMxLCA0LCAyMTEsIDEyOSwgMzEsIDQsIDI0NywgMTczLCAzMSwgNCwgMjI0LCA2NSwgMzEsIDQsIAorICAgIDIyMywgMTA5LCAzMSwgNCwgMjQwLCAyNSwgMjIyLCAyMzAsIDMxLCA0LCAyMDUsIDE4LCAzMSwgNCwgMjQ1LCA0OSwgMzEsIAorICAgIDQsIDI0NiwgMjMsIDMxLCA0LCAyMzIsIDEyMSwgMzEsIDQsIDIxMSwgMjUyLCAzMSwgNCwgMjQ4LCAzMSwgMzEsIDQsIDIyMSwgCisgICAgNjUsIDMxLCA0LCAyMjAsIDIxMCwgMzEsIDQsIDI0MCwgMTA1LCAzMSwgNCwgMjQwLCAxMDEsIDMxLCA0LCAyNDAsIDEwMiwgCisgICAgMzEsIDQsIDI0MCwgMTAzLCAzMSwgNCwgMjE0LCA5NiwgMzEsIDQsIDIxNCwgNTEsIDMxLCA0LCAyMTQsIDY0LCAzMSwgNCwgCisgICAgMjE0LCA5NSwgMzEsIDQsIDIxNCwgNjksIDMxLCA0LCAyMTQsIDcwLCAzMSwgNCwgMjE0LCA1NiwgMzEsIDQsIDI0OCwgMTcxLCAKKyAgICAzMSwgNCwgMjQ4LCAxNTAsIDMxLCA0LCAyNDgsIDE1MiwgMzEsIDQsIDI0OCwgMTcwLCAzMSwgNCwgMjQ4LCAxNjgsIDMxLCAKKyAgICA0LCAyNDgsIDE2OSwgMzEsIDQsIDI0OCwgMTUxLCAzMSwgNCwgMjA0LCAyMzgsIDMxLCA0LCAyMDQsIDIxNiwgMzEsIDQsIAorICAgIDIwNCwgMjI5LCAzMSwgNCwgMjA0LCAyMzcsIDMxLCA0LCAyMDQsIDIzMiwgMzEsIDQsIDIwNCwgMjMzLCAzMSwgNCwgMjA0LCAKKyAgICAyMjEsIDMxLCA0LCAyNDgsIDE2NiwgMzEsIDQsIDI0OCwgMTUzLCAzMSwgNCwgMjQ4LCAxNTUsIDMxLCA0LCAyNDgsIDE2NSwgCisgICAgMzEsIDQsIDI0OCwgMTYzLCAzMSwgNCwgMjQ4LCAxNjQsIDMxLCA0LCAyNDgsIDE1NCwgMzEsIDQsIDIxOSwgMTYyLCAzMSwgCisgICAgNCwgMjE5LCAxNTIsIDMxLCA0LCAyMTksIDE1OCwgMzEsIDQsIDIxOSwgMTYxLCAzMSwgNCwgMjE5LCAxNTksIDMxLCA0LCAKKyAgICAyMTksIDE2MCwgMzEsIDQsIDIxOSwgMTU3LCAzMSwgNCwgMjMwLCAxNjksIDMxLCA0LCAyMzAsIDE2MSwgMzEsIDQsIDIzMCwgCisgICAgMTY0LCAzMSwgNCwgMjMwLCAxNjgsIDMxLCA0LCAyMzAsIDE2NSwgMzEsIDQsIDIzMCwgMTY2LCAzMSwgNCwgMjMwLCAxNjIsIAorICAgIDMxLCA0LCAyMDYsIDEzOSwgMzEsIDQsIDIwNiwgMTI2LCAzMSwgNCwgMjA2LCAxMzQsIDMxLCA0LCAyMDYsIDEzOCwgMzEsIAorICAgIDQsIDIwNiwgMTM2LCAzMSwgNCwgMjA2LCAxMzcsIDMxLCA0LCAyMDYsIDEzMywgMzEsIDQsIDIzOSwgMTY3LCAzMSwgNCwgCisgICAgMjM5LCAxNTcsIDMxLCA0LCAyMzksIDE2MCwgMzEsIDQsIDIzOSwgMTY2LCAzMSwgNCwgMjM5LCAxNjIsIDMxLCA0LCAyMzksIAorICAgIDE2MywgMzEsIDQsIDIzOSwgMTU5LCAzNiwgMzQsIDEsIDI1MCwgNjEsIDM2LCAzNCwgMSwgMjA5LCAzOSwgMzYsIDM0LCAxLCAKKyAgICAyNDAsIDg1LCAzNiwgMzQsIDEsIDI0NiwgOSwgMzYsIDM0LCAxLCAyMDUsIDcyLCAzNiwgMzQsIDEsIDIwNSwgOTMsIDM2LCAKKyAgICAzNCwgMSwgMTcyLCAzNiwgMzQsIDEsIDI0MywgNjgsIDM2LCAzNCwgMSwgMjQzLCA1MCwgMzYsIDM0LCAxLCAyNDMsIDQxLCAKKyAgICAzNiwgMzQsIDEsIDc2LCAzNiwgMzQsIDEsIDIyMSwgMTc0LCAzNiwgMzQsIDEsIDI0MiwgMjM1LCAzNiwgMzQsIDEsIDI0MiwgCisgICAgMjI1LCAzNiwgMzQsIDEsIDIxMiwgMTMxLCAzNiwgMzQsIDEsIDE1NSwgMzYsIDM0LCAxLCAyMTAsIDIzNywgMzYsIDM0LCAxLCAKKyAgICAyNDgsIDgyLCAzNiwgMzQsIDEsIDIxNiwgMiwgMzYsIDM0LCAxLCAyMTUsIDIxNywgMzYsIDM0LCAxLCAyNDEsIDIwNSwgMzYsIAorICAgIDM0LCAxLCAyNDIsIDIyMSwgMzYsIDM0LCAxLCA2MiwgMzYsIDM0LCAxLCAyMzMsIDEyOSwgMzYsIDM0LCAxLCAyNDUsIDY3LCAKKyAgICAzNiwgMzQsIDEsIDIyNiwgMTU4LCAyMDksIDI0OSwgMzYsIDM0LCAxLCAyMDYsIDY1LCAzNiwgMzQsIDEsIDIwNSwgMjEzLCAKKyAgICAzNiwgMzQsIDEsIDIzMiwgMjQ3LCA2MiwgMzYsIDM0LCAxLCAyMjksIDE4MCwgMjA1LCAxODMsIDM2LCAzNCwgMSwgMjQ5LCAKKyAgICAyMzEsIDIwNSwgMTgzLCAzNiwgMzQsIDEsIDIzMiwgMjQ3LCAyNDksIDIzMSwgMjA1LCAxODMsIDQ4LCAyNTIsIDEwOSwgCisgICAgMjEzLCAxNzgsIDIyNywgMTg3LCA0OCwgMjUyLCAxMDksIDI0NCwgMjEsIDIxMywgMTc4LCAyMjcsIDE4NywgNDcsIDIxMywgCisgICAgMTc4LCAxNDUsIDQ4LCAyMTMsIDE3OCwgMTQ1LCA0NywgMjQ0LCAyMSwgMjEzLCAxNzgsIDE0NSwgNDgsIDI0NCwgMjEsIAorICAgIDIxMywgMTc4LCAxNDUsIDIxOSwgODEsIDIzMywgMTIsIDIyNywgMTg3LCAyMTksIDgxLCAyNDQsIDIxLCAyMzMsIDEyLCAKKyAgICAyMjcsIDE4NywgMjQ0LCAyMSwgMjExLCA2NywgMjI3LCAxODcsIDQ3LCAyMTEsIDY3LCAxNDUsIDQ4LCAyMTEsIDY3LCAxNDUsIAorICAgIDIxOSwgODEsIDIxNCwgMTA3LCA0NywgMjE5LCA4MSwgMjIyLCAxNjcsIDE0NSwgNDgsIDIxOSwgODEsIDIyMiwgMTY3LCAKKyAgICAxNDUsIDI0MywgMTA1LCAyNDcsIDg5LCAyMjEsIDIyNywgMjQxLCAxMzgsIDIyMSwgMjI3LCAyMTgsIDIyNCwgMjQxLCAxMzgsIAorICAgIDIyMSwgMjI3LCAyMzcsIDIzNiwgMjQ0LCAyMSwgMjIyLCAyMjUsIDE3MywgMjUyLCAxMTgsIDE2NywgMjUyLCAxMTgsIDI0NCwgCisgICAgMjEsIDIxOCwgMTYyLCAyNTIsIDEwOCwgNTAsIDIyMiwgMjIyLCAyMzcsIDIzOSwgMjMzLCAyLCAyMzMsIDEwLCAyMjIsIDE5LCAKKyAgICAyNDksIDEzMCwgMjM3LCAyNDAsIDIsIDI0NSwgMTY2LCAyMTEsIDE4MSwgMiwgMjE4LCAxNDksIDUyLCA0NywgMTE0LCAyMjEsIAorICAgIDIxOSwgMTQ1LCA0OCwgMTE0LCAyMjEsIDIxOSwgMTQ1LCAyMTEsIDE4MSwgMiwgNjcsIDUyLCAyMTEsIDE4MSwgMiwgNjcsIAorICAgIDU1LCA0NywgNzksIDI1MCwgMTI5LCAyLCAyMTksIDE5MCwgNDgsIDc5LCAyNTAsIDEyOSwgMiwgMjE5LCAxOTAsIDIxMSwgCisgICAgMTAyLCA0NywgMTYwLCAxNDUsIDIxMSwgMTAyLCA0OCwgMTYwLCAxNDUsIDI0OSwgMTU0LCA0NywgMTYwLCAxNDUsIDI0OSwgCisgICAgMTU0LCA0OCwgMTYwLCAxNDUsIDQ3LCAyMTUsIDczLCAxMDYsIDE0NSwgNDgsIDIxNSwgNzMsIDEwNiwgMTQ1LCA0NywgNTAsIAorICAgIDIyMSwgMjE2LCA0OCwgNTAsIDIyMSwgMjE2LCAxMTgsIDE3NywgMTMxLCAxMTksIDY3LCAyMjAsIDcxLCAxMTksIDY3LCAKKyAgICAxMzEsIDExOCwgMTc3LCAyMjAsIDcxLCA5OCwgMjQxLCAxMjUsIDY3LCAyMjAsIDcxLCAyNDEsIDIwNCwgNjcsIDgzLCAyMTgsIAorICAgIDIyNCwgMjE5LCAxOTYsIDgzLCA3OSwgMjExLCAxODAsIDIxOCwgMTQ5LCAyMjAsIDIwNCwgMjA2LCAyMzIsIDIxNiwgNDAsIAorICAgIDIyNiwgMjQ3LCAyNDUsIDIzLCAyMDEsIDI0NywgMTU1LCAyMTksIDgxLCAyNDUsIDIzLCAyMTksIDgxLCAyNDcsIDE1NSwgCisgICAgMjAxLCAyMTYsIDUyLCAyNDYsIDEyOSwgMiwgNDcsIDIzOSwgMjA3LCAyNDYsIDEyOSwgMiwgNDgsIDIzOSwgMjA3LCAyMDEsIAorICAgIDI0NiwgMTI4LCAyMTEsIDEwMiwgMTYwLCAyMTcsIDc3LCA1MywgMjEwLCAxMDksIDI0NiwgNzgsIDIxMSwgMjM3LCAyNDYsIAorICAgIDc4LCAyMTQsIDgsIDI0MSwgODIsIDIxMywgMjUxLCA3OSwgMjE1LCAxMCwgMjQ1LCAyMSwgMjA3LCAxNCwgNzksIDIyOSwgCisgICAgMjA1LCAyNDgsIDIxMSwgNTAsIDIzNywgMjM5LCAyMTgsIDIyNCwgMjQ3LCAxNTUsIDUwLCAyMjksIDkzLCAyMTksIDE4MCwgCisgICAgODMsIDEwLCAzNywgMjE4LCAyNTEsIDEwLCAzNywgMjQ3LCAyMDIsIDEwLCAzNywgMjE3LCA4MCwgMTAyLCAxMCwgMzcsIAorICAgIDIxNywgODAsIDEwNSwgMTAsIDM3LCAyMTcsIDgwLCAxNDIsIDEwLCAzNywgMjIxLCAxMTQsIDEwLCAzNywgMjQ5LCAxNDAsIAorICAgIDEwLCAzNywgMjEyLCAyMDYsIDEwLCAzNywgMjMxLCA1OSwgMTAyLCAxMCwgMzcsIDIzMSwgNTksIDEwNSwgMTAsIDM3LCAKKyAgICAyNDUsIDc2LCAxMCwgMzcsIDIxNywgODQsIDEwLCAzNywgNSwgMTAyLCAxMCwgMzcsIDUsIDEwNSwgMTAsIDM3LCAyMzAsIAorICAgIDEwMSwgMTAyLCAxMCwgMzcsIDIzMCwgMTAxLCAxMDUsIDEwLCAzNywgMjMwLCAxMDEsIDE0MiwgMTAsIDM3LCAyMzAsIDEwMSwgCisgICAgMTM5LCAxMCwgMzcsIDIxNCwgMjA0LCAxMCwgMzcsIDIxMSwgMjM5LCAxMCwgMzcsIDIxNCwgMjAyLCAxMDIsIDEwLCAzNywgCisgICAgMjE0LCAyMDIsIDEwNSwgMTAsIDM3LCAyMzksIDYxLCAxMDIsIDEwLCAzNywgMjM5LCA2MSwgMTA1LCAxMCwgMzcsIDIzOSwgCisgICAgMTA3LCAxMCwgMzcsIDIxOSwgNzEsIDEwLCAzNywgMjQ4LCAyOCwgMTAsIDM3LCAyMTMsIDE1NCwgMTAsIDM3LCAyMjYsIAorICAgIDE0NCwgMTAsIDM3LCAyNDYsIDcsIDEwLCAzNywgMjI2LCAxMzYsIDEwLCAzNywgMjQ3LCAyMjAsIDEwLCAzNywgMjA3LCA3MCwgCisgICAgMTAyLCAxMCwgMzcsIDIwNywgNzAsIDEwNSwgMTAsIDM3LCAyNDEsIDIxOSwgMTAsIDM3LCAyMjEsIDE4NiwgMTAyLCAxMCwgCisgICAgMzcsIDIyMSwgMTg2LCAxMDUsIDEwLCAzNywgMjE1LCA0NiwgMTYwLCAyMTEsIDYyLCAyMTAsIDI0OCwgMTAsIDM3LCAyNDcsIAorICAgIDc1LCAxMCwgMzcsIDI0NSwgNDAsIDEwLCAzNywgMjMyLCAxOTUsIDEwLCAzNywgMjQ5LCAxNzcsIDczLCAyNDcsIDE4NiwgCisgICAgMTAsIDM3LCAyNDIsIDE1MCwgMTAsIDM3LCAyMTQsIDEyNSwgMTAyLCAxMCwgMzcsIDIxNCwgMTI1LCAxMDUsIDEwLCAzNywgCisgICAgMjUwLCAxNDIsIDEwLCAzNywgMjE1LCA1MywgMTAsIDM3LCAyNDksIDMxLCAyMTUsIDUzLCAxMCwgMzcsIDIyNSwgOTIsIAorICAgIDEwMiwgMTAsIDM3LCAyMjUsIDkyLCAxMDUsIDEwLCAzNywgMjI1LCA5MiwgMTQyLCAxMCwgMzcsIDIyNSwgOTIsIDEzOSwgCisgICAgMTAsIDM3LCAyMjcsIDcwLCAxMCwgMzcsIDIxNSwgMjA4LCAxMCwgMzcsIDIxOSwgNzcsIDEwLCAzNywgMjQyLCAxNzQsIDEwLCAKKyAgICAzNywgMjIyLCAxNzksIDEwLCAzNywgMjQ5LCAxMDksIDEwMiwgMTAsIDM3LCAyNDksIDEwOSwgMTA1LCAxMCwgMzcsIDIyNywgCisgICAgMTE0LCAxMCwgMzcsIDIyNiwgMTM5LCAxMCwgMzcsIDIzOSwgMjQwLCAxMDIsIDEwLCAzNywgMjM5LCAyNDAsIDEwNSwgMTAsIAorICAgIDM3LCAyMzksIDI0MCwgMTQyLCAxMCwgMzcsIDIxMSwgMTk4LCAxMCwgMzcsIDI0NywgMTg1LCAxMCwgMzcsIDIwNywgMzYsIAorICAgIDEwMiwgMTAsIDM3LCAyMDcsIDM2LCAxMDUsIDEwLCAzNywgMjQ5LCAzMSwgMjE3LCA3NCwgMTAsIDM3LCAyMTUsIDQ2LCAKKyAgICAyMzgsIDY5LCAxMCwgMzcsIDIzOCwgNjksIDEwLCAzNywgMjQ5LCAzMSwgMjE0LCAxMzYsIDEwLCAzNywgMjQ5LCAzMSwgCisgICAgMjE1LCAyMDMsIDEwLCAzNywgMjQxLCAxNDgsIDEwLCAzNywgMjQ5LCAzMSwgMjQ4LCAxODksIDEwLCAzNywgMjE1LCA0NiwgCisgICAgMjA3LCA4NywgMTAsIDM3LCAyMDcsIDg4LCAxMDIsIDEwLCAzNywgMjA3LCA4OCwgMTA1LCAxMCwgMzcsIDI0NywgMjIzLCAKKyAgICAxMCwgMzcsIDI0OSwgMzEsIDI0MCwgMTEsIDEwLCAzNywgMTUyLCAxMDIsIDEwLCAzNywgMTUyLCAxMDUsIDEwLCAzNywgCisgICAgMjQ5LCAzMSwgMjI5LCAxMjUsIDEwLCAzNywgMjQ5LCAzMSwgMjQwLCAxOTYsIDEwLCAzNywgMjI2LCAxMzIsIDEwMiwgMTAsIAorICAgIDM3LCAyMjYsIDEzMiwgMTA1LCAxMCwgMzcsIDIxOSwgODMsIDEwLCAzNywgMjQ5LCAxODYsIDEwLCAzNywgMjQ5LCAzMSwgCisgICAgMjEyLCAxNjgsIDIzMCwgNTIsIDEwLCAzNywgMjQ5LCAzMSwgMjMwLCA1MywgMTAsIDM3LCAyNDksIDMxLCAyMDcsIDksIDEwLCAKKyAgICAzNywgMjQ5LCAzMSwgMjQxLCAxNjYsIDEwLCAzNywgMjQzLCAxMTQsIDEwMiwgMTAsIDM3LCAyNDMsIDExNCwgMTA1LCAxMCwgCisgICAgMzcsIDI0MywgMTE0LCAxNDIsIDEwLCAzNywgMjQ5LCAzMSwgMjQzLCAxMTMsIDEwLCAzNywgMjM5LCA2OCwgMTAsIDM3LCAKKyAgICAyNDksIDMxLCAyMzgsIDY1LCAxMCwgMzcsIDI0OSwgMTczLCAxMCwgMzcsIDI0MCwgNjksIDEwLCAzNywgMjQ5LCAzMSwgCisgICAgMjQxLCAyMTMsIDEwLCAzNywgMjQ5LCAzMSwgMjQ5LCAyMTgsIDEwLCAzNywgMjQ5LCAzMSwgMjE3LCAxNjUsIDEwLCAzNywgCisgICAgMjE1LCA0NiwgMjA3LCAyOCwgMTAsIDM3LCAyMTUsIDQ2LCAyMDYsIDQ0LCAxMCwgMzcsIDI0OSwgMzEsIDI0MSwgOTksIDEwLCAKKyAgICAzNywgMjMyLCAyMDIsIDI0MiwgMTc4LCAxMCwgMzcsIDI0OSwgMzEsIDI0MiwgMTc4LCAxMCwgMzcsIDIzMiwgMjAyLCAyMTEsIAorICAgIDEwMywgMTAsIDM3LCAyNDksIDMxLCAyMTEsIDEwMywgMTAsIDM3LCAyMzIsIDIwMiwgMjQzLCAyNTUsIDEwLCAzNywgMjQ5LCAKKyAgICAzMSwgMjQzLCAyNTUsIDEwLCAzNywgMjEwLCAxNDEsIDEwLCAzNywgMjMyLCAyMDIsIDIxMCwgMTQxLCAxMCwgMzcsIDI0OSwgCisgICAgMzEsIDIxMCwgMTQxLCA2OCwgMzcsIDEwMiwgNjgsIDM3LCAyMjksIDIwNSwgNjgsIDM3LCAyNDUsIDIzLCA2OCwgMzcsIAorICAgIDIxNCwgMjM1LCA2OCwgMzcsIDIxNywgNzksIDY4LCAzNywgMTA5LCA2OCwgMzcsIDEwNSwgNjgsIDM3LCAyMjksIDIzMSwgCisgICAgNjgsIDM3LCAyMjcsIDIyMSwgNjgsIDM3LCAyMzAsIDMxLCA2OCwgMzcsIDI0MywgMTgsIDY4LCAzNywgMTkzLCA2OCwgMzcsIAorICAgIDEzMCwgMjQ5LCAxNDAsIDY4LCAzNywgMjQ3LCA3NywgNjgsIDM3LCAyMzcsIDE4MSwgNjgsIDM3LCAyMTIsIDIwNiwgNjgsIAorICAgIDM3LCAyMjIsIDE0MiwgMjQ5LCAxNDAsIDY4LCAzNywgMjMxLCA1OCwgNjgsIDM3LCAyMjAsIDE2MSwgNjgsIDM3LCAyMDYsIAorICAgIDIyMywgNjgsIDM3LCAyMTQsIDExOCwgNjgsIDM3LCA0OCwgMjIyLCAxNDIsIDI0OSwgMTQwLCA2OCwgMzcsIDIzOSwgNywgCisgICAgMjQzLCAzNiwgNjgsIDM3LCAyMTIsIDk4LCA2OCwgMzcsIDI0NSwgNzYsIDY4LCAzNywgMjE3LCA4NCwgNjgsIDM3LCAyNDcsIAorICAgIDIwMiwgNjgsIDM3LCAyMjAsIDExNywgNjgsIDM3LCAyNTIsIDIxOSwgNjgsIDM3LCAyMjYsIDEyMywgNjgsIDM3LCAyNDMsIAorICAgIDM2LCA2OCwgMzcsIDI0MywgMTIwLCA2OCwgMzcsIDIxNywgMTA1LCA2OCwgMzcsIDI0MCwgMTksIDY4LCAzNywgMjQwLCAyMCwgCisgICAgMjE0LCAyMTcsIDY4LCAzNywgMjQyLCAxNzcsIDY4LCAzNywgMjQ5LCAyMzAsIDY4LCAzNywgMjA2LCAyNDQsIDY4LCAzNywgCisgICAgMjQ4LCA0OSwgNjgsIDM3LCAyMTgsIDEwNiwgNjgsIDM3LCAyMzMsIDY0LCA2OCwgMzcsIDIxNCwgMjE1LCA2OCwgMzcsIAorICAgIDIzMCwgMTAwLCA2OCwgMzcsIDI0NywgODcsIDY4LCAzNywgMjE0LCAxMTEsIDY4LCAzNywgMjI2LCAxMjgsIDY4LCAzNywgCisgICAgMjE4LCAxMzgsIDY4LCAzNywgMjA2LCAyMjksIDY4LCAzNywgMjIyLCAxNTksIDY4LCAzNywgMjEwLCAxNDgsIDY4LCAzNywgCisgICAgMjQzLCAyMzksIDY4LCAzNywgMjE1LCAxNDQsIDIxMSwgMjM5LCA2OCwgMzcsIDI0NCwgMjEsIDI0NywgMjAyLCA2OCwgMzcsIAorICAgIDE1MiwgMjEzLCAyMzAsIDY4LCAzNywgMTE4LCAyMzksIDEwMiwgNjgsIDM3LCAyMTUsIDE1MCwgNjgsIDM3LCAyNDksIDE0NiwgCisgICAgNjgsIDM3LCAyMTQsIDIwMSwgNjgsIDM3LCAyNDksIDExMywgNjgsIDM3LCAyMTQsIDcsIDY4LCAzNywgMjM5LCA2MCwgNjgsIAorICAgIDM3LCAyMzksIDEyMiwgNjgsIDM3LCAyNDUsIDI2LCA2OCwgMzcsIDIzOSwgMTA3LCA2OCwgMzcsIDI0OSwgMTMwLCA2OCwgCisgICAgMzcsIDIxOSwgNzEsIDY4LCAzNywgMjE3LCA5MiwgNjgsIDM3LCAyNDUsIDEwNiwgNjgsIDM3LCAyNTEsIDE2MCwgNjgsIDM3LCAKKyAgICAyMTQsIDEwNywgNjgsIDM3LCAyMjQsIDQyLCA2OCwgMzcsIDIxMywgMTU0LCA2OCwgMzcsIDIxNywgMTE2LCA2OCwgMzcsIAorICAgIDIyNiwgMTQ0LCA2OCwgMzcsIDIxMSwgNjEsIDY4LCAzNywgMjMwLCAxMjcsIDY4LCAzNywgMjEzLCAyNTEsIDY4LCAzNywgCisgICAgMjQ2LCA3LCA2OCwgMzcsIDIwNywgNTAsIDY4LCAzNywgMjQ1LCA1MiwgMjI0LCA0MiwgNjgsIDM3LCAyNDcsIDE1MSwgNjgsIAorICAgIDM3LCAyNDEsIDc1LCA2OCwgMzcsIDI0NywgMjE0LCA2OCwgMzcsIDIxNCwgMTIsIDY4LCAzNywgMjA3LCA2OSwgNjgsIDM3LCAKKyAgICAyNDEsIDIxOSwgNjgsIDM3LCAyNDcsIDIxMCwgNjgsIDM3LCAyNDIsIDM1LCA2OCwgMzcsIDUwLCAyMDYsIDE5NSwgNjgsIAorICAgIDM3LCAxNjAsIDIxMSwgNjIsIDIxMCwgMjQ4LCA2OCwgMzcsIDIxNCwgMjI4LCA2OCwgMzcsIDI0MiwgNDUsIDY4LCAzNywgCisgICAgMjQ3LCA3NSwgNjgsIDM3LCAyNDUsIDQwLCA2OCwgMzcsIDIyMCwgMTE0LCA2OCwgMzcsIDIzMiwgMTk1LCA2OCwgMzcsIAorICAgIDIyNywgOTIsIDY4LCAzNywgMjExLCAxNzksIDY4LCAzNywgMjEzLCAxMDQsIDY4LCAzNywgMjI5LCAyMjUsIDY4LCAzNywgCisgICAgMjA5LCAxNzUsIDY4LCAzNywgMjQxLCAyNDksIDY4LCAzNywgMjQ5LCAxNzcsIDczLCAyNDcsIDE4NiwgNjgsIDM3LCAyMTUsIAorICAgIDc2LCA2OCwgMzcsIDI0NCwgMjEsIDIxMiwgOTIsIDY4LCAzNywgMjA3LCAyMywgNjgsIDM3LCAyMTQsIDI0MywgNjgsIDM3LCAKKyAgICAyNDUsIDk0LCA2OCwgMzcsIDI0MiwgMTUwLCA2OCwgMzcsIDIxNCwgMTM5LCA2OCwgMzcsIDQ1LCA2OCwgMzcsIDIxMywgCisgICAgMjUzLCA2OCwgMzcsIDIxNCwgMTI0LCA2OCwgMzcsIDIxMSwgODIsIDY4LCAzNywgMjM5LCAyNDcsIDY4LCAzNywgMjQ4LCAKKyAgICAxNzYsIDY4LCAzNywgMjE0LCAzMCwgNjgsIDM3LCAyNTAsIDE0MiwgNjgsIDM3LCAyMTgsIDIwMywgNjgsIDM3LCAyMTUsIAorICAgIDUzLCA2OCwgMzcsIDIzMiwgMTg4LCA2OCwgMzcsIDIyNSwgOTEsIDY4LCAzNywgMjE1LCAyMDgsIDY4LCAzNywgMjQyLCAyMywgCisgICAgNjgsIDM3LCAyMjIsIDE3OSwgNjgsIDM3LCAyNTIsIDExNywgNjgsIDM3LCAyMjAsIDIyNSwgNjgsIDM3LCAyNDMsIDEyNCwgCisgICAgNjgsIDM3LCAyNDksIDEwOCwgNjgsIDM3LCAyMjcsIDExNCwgNjgsIDM3LCAyMjYsIDIwMywgNjgsIDM3LCAyMTYsIDU4LCAKKyAgICA2OCwgMzcsIDI1MSwgMjQ3LCA2OCwgMzcsIDIyNiwgMTM5LCA2OCwgMzcsIDIxMSwgMTA3LCA2OCwgMzcsIDIyMiwgMTMwLCAKKyAgICA2OCwgMzcsIDI0OSwgMTgwLCA2OCwgMzcsIDIxMywgMjQ5LCA2OCwgMzcsIDI0NywgMTYxLCA2OCwgMzcsIDIzOSwgMjM5LCAKKyAgICA2OCwgMzcsIDIxMSwgMTk4LCA2OCwgMzcsIDIzMywgMjgsIDY4LCAzNywgMjQ5LCAxOTEsIDY4LCAzNywgMjA3LCA4OCwgCisgICAgMjQzLCAzNiwgNjgsIDM3LCAyNDcsIDE4NSwgNjgsIDM3LCAyMDcsIDM1LCA2OCwgMzcsIDIxNywgNzQsIDY4LCAzNywgMjM4LCAKKyAgICA2OSwgNjgsIDM3LCAyMTQsIDEzNiwgNjgsIDM3LCAyMDksIDYzLCA2OCwgMzcsIDI1MCwgNTcsIDY4LCAzNywgMjIxLCAxNywgCisgICAgNjgsIDM3LCAyNTAsIDE2NSwgNjgsIDM3LCAyMTUsIDIwMywgNjgsIDM3LCAyMTksIDMxLCA2OCwgMzcsIDIxOCwgMzUsIDY4LCAKKyAgICAzNywgMjQxLCAxNDgsIDY4LCAzNywgMjQ5LCAxNzksIDY4LCAzNywgMjQ4LCAxODksIDY4LCAzNywgMjQ5LCAyMDcsIDY4LCAKKyAgICAzNywgMjI2LCAxNDEsIDY4LCAzNywgMjA3LCA4NywgNjgsIDM3LCAyNDcsIDIyMywgNjgsIDM3LCAyMDcsIDUsIDY4LCAzNywgCisgICAgMjQ1LCA4NywgNjgsIDM3LCAyMDgsIDE5OCwgNjgsIDM3LCAyNDAsIDExLCA2OCwgMzcsIDIyOSwgMTI1LCA2OCwgMzcsIAorICAgIDI0MCwgMTk2LCA2OCwgMzcsIDIyNiwgMTMxLCA2OCwgMzcsIDIxNCwgMjM0LCA2OCwgMzcsIDIxNSwgMTQ0LCAyMTIsIDE5MCwgCisgICAgMjQ5LCAyMTgsIDY4LCAzNywgMjE5LCA4MywgNjgsIDM3LCAyNDksIDE4NiwgNjgsIDM3LCAyMDYsIDIxOCwgNjgsIDM3LCAKKyAgICAyNDIsIDY3LCA2OCwgMzcsIDIzMCwgNTIsIDY4LCAzNywgMjEyLCAxNjgsIDIzMCwgNTIsIDY4LCAzNywgMjMwLCA0OCwgNjgsIAorICAgIDM3LCAyMTQsIDE2NCwgNjgsIDM3LCAyMzAsIDUzLCA2OCwgMzcsIDIwNywgOSwgNjgsIDM3LCAyNDEsIDE2NiwgNjgsIDM3LCAKKyAgICAyNDMsIDExMywgNjgsIDM3LCAyMzksIDY4LCA2OCwgMzcsIDI0MSwgMTE0LCA2OCwgMzcsIDIzOCwgNjUsIDY4LCAzNywgCisgICAgMjQ5LCAxNzMsIDY4LCAzNywgMjEyLCAxNzcsIDY4LCAzNywgMjM5LCAxMjksIDY4LCAzNywgMjQxLCAyNDIsIDY4LCAzNywgCisgICAgMjE3LCAxOTMsIDIwNywgNSwgNjgsIDM3LCAyNDgsIDE3OCwgNjgsIDM3LCAyNDAsIDY5LCA2OCwgMzcsIDI0MSwgMjEzLCAKKyAgICA2OCwgMzcsIDI0OSwgMjE4LCA2OCwgMzcsIDIxNywgMTY1LCA2OCwgMzcsIDI0NSwgMjQ4LCA2OCwgMzcsIDIwNywgMjgsIAorICAgIDY4LCAzNywgMjM5LCA0MiwgNjgsIDM3LCAyMDYsIDQ0LCA2OCwgMzcsIDIyNiwgMjE0LCA2OCwgMzcsIDI0OSwgMjAyLCA2OCwgCisgICAgMzcsIDI0MywgNDYsIDY4LCAzNywgMjQxLCA5OSwgNjgsIDM3LCAyMTEsIDM0LCA2OCwgMzcsIDI0MywgMjQxLCA2OCwgMzcsIAorICAgIDIxOSwgNjUsIDY4LCAzNywgMjI0LCA0NCwgNjgsIDM3LCAyNDIsIDE3OCwgNjgsIDM3LCAyMTEsIDEwMywgNjgsIDM3LCAKKyAgICAyNDMsIDI1NSwgNjgsIDM3LCAyMTAsIDE0MSwgNjgsIDM3LCAyNDEsIDE2OCwgMTI4LCAyNDUsIDIwOSwgMTU3LCA0NywgCisgICAgMjExLCAxMzAsIDIxOCwgMTY3LCAxMjgsIDI0NSwgMjA5LCAxNTcsIDg0LCAyMTEsIDEzMCwgNTUsIDEyOCwgMjQ1LCAyMDksIAorICAgIDE1NywgNDcsIDIxMSwgMTMwLCAyMjYsIDI0NywgMjMsIDIxOCwgMTY3LCAxMjgsIDI0NSwgMjA5LCAxNTcsIDg0LCAyMTEsIAorICAgIDEzMCwgMjI2LCAyNDcsIDIzLCA1NSwgMTI4LCAyNDUsIDIwOSwgMTU3LCAyNDEsIDgyLCAyMTMsIDEyNiwgMTI4LCAyNDUsIAorICAgIDIwOSwgMTU3LCAyMTMsIDEyNywgMjQxLCA5OCwgNTIsIDEyOCwgMjQ1LCAyMDksIDE1NywgMjEzLCAxMjcsIDI0MSwgOTgsIAorICAgIDU1LCAxMjgsIDI0NSwgMjA5LCAxNTcsIDIxMywgMTI3LCAyNDEsIDk4LCAyMzAsIDQ2LCAxMjgsIDI0NSwgMjA5LCAxNTcsIAorICAgIDIxMywgMTI3LCAyNDEsIDk4LCAyMDksIDIwMywgMjMwLCA0NiwgMTI4LCAyNDUsIDIwOSwgMTU3LCAyMTMsIDEyNywgMjQxLCAKKyAgICA5OCwgMjA5LCAyMDMsIDIxOCwgMTY3LCAxMjgsIDI0NSwgMjA5LCAxNTcsIDIxMywgMTI3LCAyNDEsIDk4LCAyMjksIDkyLCAKKyAgICAyMzAsIDQ2LCAxMjgsIDI0NSwgMjA5LCAxNTcsIDIyMiwgODUsIDEyOCwgMjE0LCAxNTMsIDEyOCwgMjQ3LCAxNTUsIDEyOCwgCisgICAgMjQxLCA4MiwgMjEzLCAyNTEsIDI0NSwgODQsIDgzLCAyMzIsIDE4OSwgMjMzLCA0NywgMjE0LCAyOSwgOTMsIDEyOCwgMjMyLCAKKyAgICAyMTgsIDgzLCAxMjgsIDI0NywgMTg4LCA4MywgMTI4LCA0MywgMjA1LCA4NSwgNDcsIDI1MiwgMTA5LCAxNDUsIDQ4LCAyNTIsIAorICAgIDEwOSwgMTQ1LCA0NywgNTAsIDI1MiwgMTA5LCAxNDUsIDQ4LCA1MCwgMjUyLCAxMDksIDE0NSwgNDcsIDI0NywgOTIsIDE0NSwgCisgICAgNDgsIDI0NywgOTIsIDE0NSwgNDcsIDU5LCAyNDcsIDkyLCAxNDUsIDQ4LCA1OSwgMjQ3LCA5MiwgMTQ1LCA0NywgNjAsIAorICAgIDIzMCwgMTYsIDE0NSwgNDgsIDYwLCAyMzAsIDE2LCAxNDUsIDIyMCwgMTc0LCA4MywgMjQwLCAxMzgsIDgzLCA0NywgMjExLCAKKyAgICA5MywgMjE1LCAyMDQsIDE0NSwgNDgsIDIxMSwgOTMsIDIxNSwgMjA0LCAxNDUsIDQ3LCA1OSwgMjMwLCAxNiwgMTQ1LCA0OCwgCisgICAgNTksIDIzMCwgMTYsIDE0NSwgNDcsIDU5LCAyMTEsIDkzLCAyMTUsIDIwNCwgMTQ1LCA0OCwgNTksIDIxMSwgOTMsIDIxNSwgCisgICAgMjA0LCAxNDUsIDQ3LCA1OSwgNDksIDE0NSwgNDgsIDU5LCA0OSwgMTQ1LCAyMDcsIDY1LCAyNDYsIDc4LCAyMTgsIDIyNCwgCisgICAgNTAsIDIyMCwgMTI4LCAyMTksIDE4MCwgODMsIDUwLCAyMjAsIDEyOCwgMjE5LCAxODAsIDgzLCAxMTQsIDUwLCAyMjAsIAorICAgIDEyOCwgMjE5LCAxODAsIDgzLCAyMjAsIDE3NCwgMTQxLCAyNDIsIDY3LCAyMzksIDEwMCwgMjIzLCAxNzcsIDEwMiwgMjM5LCAKKyAgICAxMDAsIDIyMywgMTc3LCAxMDUsIDIzOSwgMTAwLCAyMjMsIDE3NywgMTQyLCAyMzksIDEwMCwgMjIzLCAxNzcsIDEzOSwgCisgICAgMjM5LCAxMDAsIDIyMywgMTc3LCAxNjgsIDIzOSwgMTAwLCAyMjMsIDE3NywgMTg0LCAyMzksIDEwMCwgMjIzLCAxNzcsIAorICAgIDE5NSwgMjM5LCAxMDAsIDIyMywgMTc3LCAxOTMsIDIzOSwgMTAwLCAyMjMsIDE3NywgMjAwLCAxMjgsIDIyOSwgMjU0LCAKKyAgICAxMzUsIDgzLCAxMjgsIDIxOCwgMTQyLCAxMzUsIDgzLCAxMjgsIDI0NSwgMjE3LCAxMzUsIDgzLCAxMjgsIDI0MywgMTcsIAorICAgIDEzNSwgODMsIDI1LCAyMTUsIDQxLCA2NywgMTM1LCA4MywgMjUsIDUwLCA2NywgMTM1LCA4MywgMjA3LCA2MSwgMjQ2LCA3OCwgCisgICAgNzksIDIzMiwgMjYsIDIxOCwgMjUyLCA4MywgNzksIDIzMiwgMjYsIDIxOCwgMjUyLCAyLCAyMDgsIDE3MCwgMjE0LCAxNjUsIAorICAgIDgzLCA3OSwgMjMyLCAyNiwgMjE4LCAyNTIsIDE0MSwgMjA5LCAyMDMsIDIzOSwgMTIxLCA3OSwgMjMyLCAyNiwgMjE4LCAKKyAgICAyNTIsIDIsIDIwOCwgMTcwLCAyMTQsIDE2NSwgMTQxLCAyMDksIDIwMywgMjM5LCAxMjEsIDc5LCAyMzIsIDI2LCAyMTgsIAorICAgIDI1MiwgMTQxLCAyMjksIDkyLCAyMzksIDEyMSwgMzksIDIyMCwgMTc0LCA4MywgMTI4LCAyMTIsIDExMCwgMjI5LCAyMDYsIAorICAgIDI0MiwgMjAsIDIxNiwgNDAsIDkzLCAyMzksIDEwMCwgMjIzLCAxNzcsIDIxMiwgOTgsIDIzOSwgMTAwLCAyMjMsIDE3NywgCisgICAgMjEwLCAxMjMsIDIzOSwgMTAwLCAyMjMsIDE3NywgMjEyLCAzLCA3OSwgMTI4LCAyMzIsIDIxOCwgODMsIDIyNywgMTcxLCAKKyAgICA4MywgMjIxLCAyMTEsIDI1MiwgMTQwLCA4MywgMTI4LCA1NCwgMjMzLCA0OSwgMTI4LCAxNjAsIDI0MSwgMjM1LCAyMTQsIAorICAgIDE1MywgMTYxLCAxLCA1LCA2MiwgMTYxLCAxLCA2MiwgMTYxLCAxLCA1LCA3NCwgMTYxLCAxLCA3NCwgMTYxLCAxLCA1LCA3MSwgCisgICAgMTYxLCAxLCA3MSwgMTYxLCAxLCA1LCA3NSwgMTYxLCAxLCA3NSwgMTYxLCAxLCA1LCA3NiwgMTYxLCAxLCA3NiwgMTYxLCAxLCAKKyAgICAxNzIsIDE2MSwgMSwgMjQwLCAyNDQsIDE2MSwgMSwgMjMxLCAxMjMsIDE2MSwgMSwgMjQwLCA2MSwgMTYxLCAxLCAyMzAsIAorICAgIDIzNiwgMTYxLCAxLCAyMzksIDIxMywgMTYxLCAxLCAyMzEsIDIyNCwgMTYxLCAxLCAyNDAsIDE3MCwgMTYxLCAxLCAyMzEsIAorICAgIDUzLCAxNjEsIDEsIDI0MCwgMTksIDE2MSwgMSwgMjE3LCAxOTksIDE2MSwgMSwgMjA1LCAxMTYsIDE2MSwgMSwgMjE1LCA4MCwgCisgICAgMTYxLCAxLCAyMDUsIDQwLCAxNjEsIDEsIDIxMywgMjAzLCAxNjEsIDEsIDIwNSwgOSwgMTYxLCAxLCAyMTcsIDg2LCAxNjEsIAorICAgIDEsIDIwNSwgOTMsIDE2MSwgMSwgMjE0LCAxOTMsIDE2MSwgMSwgMjA1LCAxOSwgMTYxLCAxLCAyMTIsIDIxOSwgMTYxLCAxLCAKKyAgICAyNDYsIDE0NSwgMTYxLCAxLCAyMTEsIDIxMSwgMTYxLCAxLCAyNDUsIDE2OCwgMTYxLCAxLCA1LCAyMTAsIDE3MCwgMTYxLCAKKyAgICAxLCAyMTAsIDE3MCwgMTYxLCAxLCAyNDMsIDIzNywgMTYxLCAxLCAyMTIsIDEzMSwgMTYxLCAxLCAyNDYsIDksIDE2MSwgMSwgCisgICAgMTI0LCAxNjEsIDEsIDI0NSwgNTEsIDE2MSwgMSwgMTk5LCAxNjEsIDEsIDIyNCwgMjMwLCAxNjEsIDEsIDIyMywgMjE3LCAKKyAgICAxNjEsIDEsIDIyNSwgMTEwLCAxNjEsIDEsIDIyNCwgNjcsIDE2MSwgMSwgMTU1LCAxNjEsIDEsIDI1MCwgMTgzLCAxNjEsIDEsIAorICAgIDE3OSwgMTYxLCAxLCAyMzksIDExLCAxNjEsIDEsIDI0OSwgMjQ0LCAxNjEsIDEsIDIyMSwgNTMsIDE2MSwgMSwgMjM4LCA0MiwgCisgICAgMTYxLCAxLCAyNDksIDEwMSwgMTYxLCAxLCAyMjAsIDgyLCAxNjEsIDEsIDIzOSwgNzEsIDE2MSwgMSwgMjUwLCA2MSwgMTYxLCAKKyAgICAxLCAyMjEsIDE3NCwgMTYxLCAxLCAyMzgsIDE0OSwgMTYxLCAxLCAyNDksIDE4NCwgMTYxLCAxLCAyMjAsIDIxMSwgMTYxLCAKKyAgICAxLCAxODUsIDE2MSwgMSwgMjI2LCAyNTQsIDE2MSwgMSwgMjI2LCAxMTQsIDE2MSwgMSwgMjI3LCAxMTksIDE2MSwgMSwgCisgICAgMjI2LCAxODEsIDE2MSwgMSwgNSwgMTkwLCAxNjEsIDEsIDE5MCwgMTYxLCAxLCA1LCAyMDUsIDIxMywgMTYxLCAxLCAyMDUsIAorICAgIDIxMywgMTYxLCAxLCA1LCAyMDUsIDI0NywgMTYxLCAxLCAyMDUsIDI0NywgMTYxLCAxLCAyMTksIDExMywgMTYxLCAxLCAKKyAgICAyMTgsIDIwOCwgMTYxLCAxLCAyMTgsIDUwLCAxNjEsIDEsIDIxOSwgNTEsIDE2MSwgMSwgMjE4LCAxMjQsIDE2MSwgMSwgNSwgCisgICAgMjA3LCA5NiwgMTYxLCAxLCAyMDcsIDk2LCAxNjEsIDEsIDIwNywgMjAsIDE2MSwgMSwgMjA3LCA1MSwgMTYxLCAxLCAyMDYsIAorICAgIDI1MCwgMTYxLCAxLCAyMjYsIDMzLCAxNjEsIDEsIDIwNywgMTQ4LCAxNjEsIDEsIDUsIDE3MiwgMTYxLCAxLCA1LCAyMzEsIAorICAgIDIyNCwgMzYsIDIzMSwgMjQ4LCAyMDgsIDE3MCwgMjE0LCAxNjUsIDgzLCAzNiwgMjMxLCAyNDgsIDIxNiwgNTcsIDIxNCwgCisgICAgMTY1LCA4MywgMjMxLCAyNDgsIDIwOCwgMTcwLCAyMTQsIDE2NSwgODMsIDIzMSwgMjQ4LCAyMTYsIDU3LCAyMTQsIDE2NSwgCisgICAgODMsIDE2MSwgMjMyLCAyMTgsIDgzLCAxNjEsIDIwOCwgMTcwLCAyMzIsIDIxOCwgODMsIDE2MSwgMjQ1LCAxMjgsIDIwNSwgCisgICAgMjI4LCAyMzEsIDI0OCwgNTAsIDIzNywgMjM5LCA2NCwgMSwgNSwgNjIsIDY0LCAxLCA2MiwgNjQsIDEsIDUsIDc0LCA2NCwgCisgICAgMSwgNzQsIDY0LCAxLCA1LCA3MSwgNjQsIDEsIDcxLCA2NCwgMSwgNSwgNzUsIDY0LCAxLCA3NSwgNjQsIDEsIDUsIDc2LCAKKyAgICA2NCwgMSwgNzYsIDY0LCAxLCAxNzIsIDY0LCAxLCAyNDAsIDI0NCwgNjQsIDEsIDIzMSwgMTIzLCA2NCwgMSwgMjQwLCA2MSwgCisgICAgNjQsIDEsIDIzMCwgMjM2LCA2NCwgMSwgMjM5LCAyMTMsIDY0LCAxLCAyMzEsIDIyNCwgNjQsIDEsIDI0MCwgMTcwLCA2NCwgCisgICAgMSwgMjMxLCA1MywgNjQsIDEsIDI0MCwgMTksIDY0LCAxLCAyMTcsIDE5OSwgNjQsIDEsIDIwNSwgMTE2LCA2NCwgMSwgMjE1LCAKKyAgICA4MCwgNjQsIDEsIDIwNSwgNDAsIDY0LCAxLCAyMTMsIDIwMywgNjQsIDEsIDIwNSwgOSwgNjQsIDEsIDIxNywgODYsIDY0LCAKKyAgICAxLCAyMDUsIDkzLCA2NCwgMSwgMjE0LCAxOTMsIDY0LCAxLCAyMDUsIDE5LCA2NCwgMSwgMjEyLCAyMTksIDY0LCAxLCAyNDYsIAorICAgIDE0NSwgNjQsIDEsIDIxMSwgMjExLCA2NCwgMSwgMjQ1LCAxNjgsIDY0LCAxLCA1LCAyMTAsIDE3MCwgNjQsIDEsIDIxMCwgCisgICAgMTcwLCA2NCwgMSwgMjQzLCAyMzcsIDY0LCAxLCAyMTIsIDEzMSwgNjQsIDEsIDI0NiwgOSwgNjQsIDEsIDEyNCwgNjQsIDEsIAorICAgIDI0NSwgNTEsIDY0LCAxLCAxOTksIDY0LCAxLCAyMjQsIDIzMCwgNjQsIDEsIDIyMywgMjE3LCA2NCwgMSwgMjI1LCAxMTAsIAorICAgIDY0LCAxLCAyMjQsIDY3LCA2NCwgMSwgMTU1LCA2NCwgMSwgMjUwLCAxODMsIDY0LCAxLCAxNzksIDY0LCAxLCAyMzksIDExLCAKKyAgICA2NCwgMSwgMjQ5LCAyNDQsIDY0LCAxLCAyMjEsIDUzLCA2NCwgMSwgMjM4LCA0MiwgNjQsIDEsIDI0OSwgMTAxLCA2NCwgMSwgCisgICAgMjIwLCA4MiwgNjQsIDEsIDIzOSwgNzEsIDY0LCAxLCAyNTAsIDYxLCA2NCwgMSwgMjIxLCAxNzQsIDY0LCAxLCAyMzgsIAorICAgIDE0OSwgNjQsIDEsIDI0OSwgMTg0LCA2NCwgMSwgMjIwLCAyMTEsIDY0LCAxLCAxODUsIDY0LCAxLCAyMjYsIDI1NCwgNjQsIAorICAgIDEsIDIyNiwgMTE0LCA2NCwgMSwgMjI3LCAxMTksIDY0LCAxLCAyMjYsIDE4MSwgNjQsIDEsIDUsIDE5MCwgNjQsIDEsIDE5MCwgCisgICAgNjQsIDEsIDUsIDIwNSwgMjEzLCA2NCwgMSwgMjA1LCAyMTMsIDY0LCAxLCA1LCAyMDUsIDI0NywgNjQsIDEsIDIwNSwgMjQ3LCAKKyAgICA2NCwgMSwgMjE5LCAxMTMsIDY0LCAxLCAyMTgsIDIwOCwgNjQsIDEsIDIxOCwgNTAsIDY0LCAxLCAyMTksIDUxLCA2NCwgMSwgCisgICAgMjE4LCAxMjQsIDY0LCAxLCA1LCAyMDcsIDk2LCA2NCwgMSwgMjA3LCA5NiwgNjQsIDEsIDIwNywgMjAsIDY0LCAxLCAyMDcsIAorICAgIDUxLCA2NCwgMSwgMjA2LCAyNTAsIDY0LCAxLCAyMjYsIDMzLCA2NCwgMSwgMjA3LCAxNDgsIDY0LCAxLCA1LCAxNzIsIDY0LCAKKyAgICAxLCA1LCAyMzEsIDIyNCwgNjQsIDEsIDIwOSwgNzAsIDY0LCAxLCAyMDgsIDIxNCwgNjQsIDEsIDIwOSwgMzksIDY0LCAxLCAKKyAgICAyMDgsIDE3MywgNjQsIDIyNiwgMjQ3LCAyNDUsIDIzLCAyMzEsIDI0OCwgMjIwLCAxMDYsIDIxNCwgMTY1LCA4MywgNjQsIAorICAgIDIzMiwgMjE4LCA4MywgNjQsIDIwOCwgMTcwLCAyMzIsIDIxOCwgODMsIDY0LCAyNDUsIDEyOCwgMjMxLCAyMCwgMjQ5LCAKKyAgICAxNjMsIDEsIDI1MSwgMTUwLCAyNDksIDE2MywgMSwgMjIyLCA2NywgMjQ5LCAxNjMsIDEsIDIyOSwgMjgsIDI0OSwgMTYzLCAKKyAgICAxLCAyNDIsIDEzOSwgMjQ5LCAxNjMsIDEsIDI0NiwgMjQwLCAyNDksIDE2MywgMSwgMjEzLCAxMCwgMjQ5LCAxNjMsIDEsIAorICAgIDIyNiwgMzMsIDI0OSwgMTYzLCAxLCAxNDksIDI0OSwgMTYzLCAxLCAyNDEsIDU1LCAyNDksIDE2MywgMSwgMjMyLCA3NiwgCisgICAgMjQ5LCAxNjMsIDEsIDIzOSwgMTU1LCAyNDksIDE2MywgMSwgMjMyLCAyMDMsIDI0OSwgMTYzLCAxLCAyMjAsIDI3LCAyNDksIAorICAgIDE2MywgMSwgMjA2LCAxOTUsIDI0OSwgMTYzLCAxLCAyMDUsIDgyLCAyNDksIDE2MywgMSwgMjQ4LCAxMTEsIDI0OSwgMTYzLCAKKyAgICAxLCAyMTYsIDQsIDI0OSwgMTYzLCAxLCAxMzcsIDI0OSwgMTYzLCAxLCAyMDUsIDE1OSwgMjQ5LCAxNjMsIDEsIDI0OSwgMzQsIAorICAgIDI0OSwgMTYzLCAxLCAxODIsIDI0OSwgMTYzLCAxLCA2MiwgMjQ5LCAxNjMsIDEsIDc2LCAyNDksIDE2MywgMSwgNzUsIDI0OSwgCisgICAgMTYzLCAxLCAyNDMsIDkyLCAyNDksIDE2MywgMSwgMjUyLCAyMDUsIDI0OSwgMTYzLCAxLCAyNDMsIDkwLCAyNDksIDE2MywgCisgICAgMSwgMjUxLCAxODQsIDI0OSwgMTYzLCAxLCAyMjIsIDk3LCAyNDksIDE2MywgMSwgMjUyLCAxMjIsIDI0OSwgMTYzLCAxLCAKKyAgICAyNDMsIDQxLCAyNDksIDE2MywgMSwgMjUyLCAxMTQsIDI0OSwgMTYzLCAxLCAyNDMsIDI4LCAyNDksIDE2MywgMSwgMjQyLCAKKyAgICAyMzUsIDI0OSwgMTYzLCAxLCA3NCwgMjQ5LCAxNjMsIDEsIDcxLCAyNDksIDE2MywgMSwgMjMyLCAyMTYsIDI0OSwgMTYzLCAKKyAgICAxLCAyMDksIDE0OCwgMjQ5LCAxNjMsIDEsIDIyNSwgNzksIDI0OSwgMTYzLCAxLCAyNDAsIDIzLCAyNDksIDE2MywgMSwgCisgICAgMjMzLCAxMDMsIDI1LCAxLCAyMzEsIDg0LCAyNSwgMSwgMjE0LCA4OCwgMjUsIDEsIDIzMSwgNzcsIDI1LCAxLCAyMjQsIAorICAgIDIyMywgMjUsIDEsIDIyNCwgMjIxLCAyNSwgMSwgMjI0LCAyMjAsIDI1LCAxLCAyMTEsIDE5MywgMjUsIDEsIDIxNCwgNzcsIAorICAgIDI1LCAxLCAyMTgsIDE5OCwgMjUsIDEsIDIxOCwgMTkzLCAyNSwgMSwgMjE4LCAxOTAsIDI1LCAxLCAyMTgsIDE4MywgMjUsIAorICAgIDEsIDIxOCwgMTc4LCAyNSwgMSwgMjE4LCAxNzMsIDI1LCAxLCAyMTgsIDE4NCwgMjUsIDEsIDIxOCwgMTk2LCAyNSwgMSwgCisgICAgMjI2LCAyNDAsIDI1LCAxLCAyMjEsIDM5LCAyNSwgMSwgMjE0LCA4NSwgMjUsIDEsIDIyMSwgMjgsIDI1LCAxLCAyMTUsIDMzLCAKKyAgICAyNSwgMSwgMjE0LCA4MiwgMjUsIDEsIDIzMywgMTI1LCAyNSwgMSwgMjQ3LCAyNDYsIDI1LCAxLCAyMTQsIDkyLCAyNSwgMSwgCisgICAgMjQ4LCA1NCwgMjUsIDEsIDIzMSwgMTQzLCAyNSwgMSwgMjEyLCAxNSwgMjUsIDEsIDIyMSwgNzYsIDI1LCAxLCAyMzksIDMsIAorICAgIDI1LCAxLCA2MiwgMjUsIDEsIDI1MiwgMjQ4LCAyNSwgMSwgMTkwLCAyNSwgMSwgMjA2LCA5OCwgMjUsIDEsIDI0MywgNiwgCisgICAgMjUsIDEsIDc1LCAyNSwgMSwgMjA2LCAzOSwgMjUsIDEsIDIwNiwgNTIsIDI1LCAxLCA3NiwgMjUsIDEsIDIwNywgOTYsIDI1LCAKKyAgICAxLCAyMDcsIDkyLCAyNSwgMSwgMjIyLCAyMDYsIDI1LCAxLCAyMDUsIDI0NywgMjUsIDEsIDcxLCAyNSwgMSwgMjA3LCAzOCwgCisgICAgMjUsIDEsIDIwNywgNTEsIDI1LCAxLCAyMDcsIDIwLCAyNSwgMSwgMjA1LCAyMTMsIDI1LCAxLCAyNDIsIDE5MiwgMjUsIDEsIAorICAgIDIwNiwgMTEsIDI1LCAxLCA3NCwgMjUsIDI0MSwgMjMyLCAyNSwgMSwgMjE0LCA4NiwgMjUsIDEsIDIyNCwgMjEzLCAyNSwgMSwgCisgICAgMjI0LCAyMTUsIDI1LCAxLCAyMjQsIDIxOCwgMjUsIDEsIDIxOCwgMTkxLCAyNSwgMSwgMjE4LCAxNzIsIDI1LCAxLCAyMTgsIAorICAgIDE4MCwgMjUsIDEsIDIxOCwgMTg1LCAyNSwgMSwgMjE4LCAxNzAsIDI1LCAxLCAyMjYsIDIzMywgMjUsIDEsIDIyNiwgMjMwLCAKKyAgICAyNSwgMSwgMjI2LCAyMzQsIDI1LCAxLCAyMzIsIDEzLCAyNSwgMSwgMjIxLCAzNCwgMjUsIDEsIDIyMSwgMjAsIDI1LCAxLCAKKyAgICAyMjEsIDI2LCAyNSwgMSwgMjIxLCAyMywgMjUsIDEsIDIyMSwgMzcsIDI1LCAxLCAyMjEsIDIxLCAyNSwgMSwgMjMyLCAxMSwgCisgICAgMjUsIDEsIDIzMiwgOSwgMjUsIDEsIDIxNSwgMjYsIDI1LCAxLCAyMTUsIDI0LCAyNSwgMSwgMjE1LCAxNiwgMjUsIDEsIAorICAgIDIxNSwgMjEsIDI1LCAxLCAyMTUsIDMxLCAyNSwgMSwgMjIxLCAyNDcsIDI1LCAxLCAyMTQsIDg5LCAyNSwgMSwgMjA2LCAyOSwgCisgICAgMjUsIDEsIDIwNiwgMjUsIDI1LCAxLCAyMDYsIDI2LCAyNSwgMSwgMjMyLCAxMiwgMjUsIDEsIDIxNCwgOTAsIDI1LCAxLCAKKyAgICAyMDYsIDM1LCAyNSwgMSwgMjA1LCAyNDEsIDI1LCAxLCAyMDUsIDI0MCwgMjUsIDEsIDIwNSwgMjQzLCAyNSwgMSwgMjA1LCAKKyAgICAyMDQsIDI1LCAxLCAyMDUsIDIwNSwgMjUsIDEsIDIwNSwgMjA4LCAyNSwgMSwgMjUyLCAzMCwgMjUsIDEsIDI1MiwgMjQsIAorICAgIDEyOCwgMjUyLCA5OCwgMjI5LCAxOTQsIDgzLCAxMjgsIDI1MiwgOTgsIDIxOCwgMjI1LCA4MywgMTI4LCAyNTIsIDk4LCAKKyAgICAxMTksIDgzLCAxMjgsIDI1MiwgOTgsIDExOCwgODMsIDEyOCwgMjUyLCA5OCwgMTI5LCA4MywgMTI4LCAyNTIsIDk4LCAyNDEsIAorICAgIDEyNSwgODMsIDEyOCwgMjUyLCA5OCwgMjExLCAxMDIsIDgzLCAxMjgsIDI1MiwgOTgsIDIyNiwgMjQ3LCA4MywgMTI4LCAKKyAgICAyNTIsIDk4LCAyNDksIDE1NCwgODMsIDEyOCwgMjUyLCA5OCwgMjQxLCAyMTUsIDgzLCAxMjgsIDI1MiwgOTgsIDIxNywgODAsIAorICAgIDgzLCAxMjgsIDI1MiwgOTgsIDIxMiwgMTEsIDgzLCAxMjgsIDI1MiwgOTgsIDI0MSwgMTE4LCA4MywgMTI4LCAyNTIsIDk4LCAKKyAgICAyMzksIDU3LCA4MywgMTI4LCAyNTIsIDk4LCAyNDMsIDEyMSwgODMsIDEyOCwgMjUyLCA5OCwgMjI3LCAyMjIsIDgzLCAyNDksIAorICAgIDE2MywgMSwgMjQ5LCAxMDEsIDI0OSwgMTYzLCAxLCAyMDUsIDQwLCAyNDksIDE2MywgMSwgMjMyLCAxNjIsIDI0OSwgMTYzLCAKKyAgICAxLCAyMzksIDIxMywgMjQ5LCAxNjMsIDEsIDI0MywgMTA0LCAyNDksIDE2MywgMSwgMjQzLCAyNSwgMjQ5LCAxNjMsIDEsIAorICAgIDIyMiwgMTUyLCAyNDksIDE2MywgMSwgMjIyLCAxNTYsIDI0OSwgMTYzLCAxLCAyMzIsIDI0MywgMjQ5LCAxNjMsIDEsIDI1MiwgCisgICAgMTAwLCAyNDksIDE2MywgMSwgMjMzLCAzNSwgMjQ5LCAxNjMsIDEsIDIwOSwgMjExLCAyNDksIDE2MywgMSwgMjMzLCA4NSwgCisgICAgMjQ5LCAxNjMsIDEsIDIyNSwgNTcsIDI0OSwgMTYzLCAxLCAyNTIsIDE5OSwgMjQ5LCAxNjMsIDEsIDI1MSwgMTc5LCAyNDksIAorICAgIDE2MywgMSwgMjUyLCAxMzYsIDI0OSwgMTYzLCAxLCAyMjIsIDE3MywgMjQ5LCAxNjMsIDEsIDIyMiwgMTU4LCAyNDksIDE2MywgCisgICAgMSwgMjMzLCAzMiwgMjQ5LCAxNjMsIDQyLCAxLCAyMjIsIDY3LCAyNDksIDE2MywgNDIsIDEsIDIxMywgMTAsIDI0OSwgMTYzLCAKKyAgICA0MiwgMSwgMjMyLCA3NiwgMjQ5LCAxNjMsIDQyLCAxLCAyMzksIDE1NSwgMjQ5LCAxNjMsIDEsIDI0MCwgMTAwLCAyNDksIAorICAgIDE2MywgMSwgMjI5LCAyNDksIDI0OSwgMTYzLCAxLCAyMDQsIDI0NSwgMTAsIDIxMywgMjI1LCAyMTMsIDEwLCAxMCwgMjEzLCAKKyAgICAyMjUsIDIwNywgMzEsIDEwLCAyMTMsIDIyNSwgMjA2LCAxNzAsIDEwLCAyMTMsIDIyNSwgMjQ5LCA0NywgMTAsIDIxMywgCisgICAgMjI1LCAyMTMsIDExMywgMTAsIDIxMywgMjI1LCAyMzcsIDIyOSwgMTAsIDIxMywgMjI1LCAyMzcsIDIzMywgMTAsIDIxMywgCisgICAgMjI1LCAyMzgsIDUxLCAxMCwgMjEzLCAyMjUsIDIzNywgMjMwLCAxMCwgMjEzLCAyMjUsIDIxMywgMTMsIDEwLCAyMTMsIAorICAgIDIyNSwgMjM3LCAyMzIsIDEwLCAyMTMsIDIyNSwgMjM3LCAyMjgsIDEwLCAyMTMsIDIyNSwgMjM4LCA0OSwgMTAsIDIxMywgCisgICAgMjI1LCAyMzcsIDIzMSwgMTAsIDIxMywgMjI1LCAyMzcsIDIyNywgMTAsIDIxMywgMjI1LCAyMjYsIDMzLCAxMCwgMjEzLCAKKyAgICAyMjUsIDIzOSwgMTU1LCAxMCwgMjEzLCAyMjUsIDE4MiwgMTAsIDIxMywgMjI1LCAyMjIsIDY3LCAxMCwgMjEzLCAyMjUsIAorICAgIDIxNCwgMTU2LCAxMCwgMjEzLCAyMjUsIDI0NiwgMjQwLCAxMCwgMjEzLCAyMjUsIDIzNywgMjM0LCAxMCwgMjEzLCAyMjUsIAorICAgIDIzOSwgMjEsIDEwLCAyMTMsIDIyNSwgMjEzLCAyMiwgMTAsIDIxMywgMjI1LCAyMTMsIDkyLCAxMCwgMjEzLCAyMjUsIDIxNCwgCisgICAgNDAsIDEwLCAyMTMsIDIyNSwgMjE2LCAxMCwgMTAsIDIxMywgMjI1LCAyMjEsIDE3OCwgMTAsIDIxMywgMjI1LCAyMjAsIDI5LCAKKyAgICAxMCwgMjEzLCAyMjUsIDIxMSwgMTMxLCAxMCwgMjEzLCAyMjUsIDIxMywgMTIsIDEwLCAyMTMsIDIyNSwgMjEzLCAxMDMsIAorICAgIDEwLCAyMTMsIDIyNSwgMjM3LCAyNDEsIDEwLCAyMTMsIDIyNSwgMjM3LCAyMjYsIDEwLCAyMTMsIDIyNSwgMjIxLCA5NSwgCisgICAgMTAsIDIxMywgMjI1LCAyMjAsIDI3LCA2NCwgMSwgNSwgMjMwLCAyMzYsIDY0LCAxLCA1LCAyMTUsIDgwLCA2NCwgMSwgNSwgCisgICAgMjEzLCAyMDMsIDY0LCAxLCA1LCAxMjQsIDY0LCAxLCA1LCAyMjMsIDIxNywgNjQsIDEsIDUsIDE1NSwgNjQsIDEsIDUsIAorICAgIDIzOSwgMTEsIDY0LCAxLCA1LCAyMzgsIDQyLCA2NCwgMSwgNSwgMjM5LCA3MSwgNjQsIDEsIDUsIDIzOCwgMTQ5LCA2NCwgMSwgCisgICAgNSwgMjI2LCAxMTQsIDY0LCAxLCA1LCAyMTksIDExMywgNjQsIDEsIDUsIDIxOCwgMjA4LCA2NCwgMSwgNSwgMjE4LCA1MCwgCisgICAgNjQsIDEsIDUsIDIxOSwgNTEsIDY0LCAxLCA1LCAyMTgsIDEyNCwgOTcsIDI1LCAyMzEsIDg0LCA5NywgMjUsIDIyNCwgMjIzLCAKKyAgICA5NywgMjUsIDIxMSwgMTkzLCA5NywgMjUsIDIxOCwgMTk4LCA5NywgMjUsIDIyNiwgMjQwLCA5NywgMjUsIDIyMSwgMzksIAorICAgIDk3LCAyNSwgMjE1LCAzMywgOTcsIDI1LCAyMzMsIDEyNSwgOTcsIDI1LCAyNDcsIDI0NiwgOTcsIDI1LCAyNDgsIDU0LCA5NywgCisgICAgMjUsIDIzMSwgMTQzLCA5NywgMjUsIDIxMiwgMTUsIDk3LCAyNSwgMjIxLCA3NiwgOTcsIDI1LCAyMzksIDMsIDk3LCAyNSwgCisgICAgMjMxLCA4NSwgNjIsIDk3LCAyNSwgMjI0LCAyMjQsIDYyLCA5NywgMjUsIDIxMSwgMTk0LCA2MiwgOTcsIDI1LCAyMTgsIAorICAgIDE5OSwgNjIsIDk3LCAyNSwgMjI2LCAyNDEsIDYyLCA5NywgMjUsIDIyMSwgNDAsIDYyLCA5NywgMjUsIDIxNSwgMzQsIDYyLCAKKyAgICA5NywgMjUsIDIzMywgMTI2LCA2MiwgOTcsIDI1LCAyNDcsIDI0NywgNjIsIDk3LCAyNSwgMjQ4LCA1NSwgNjIsIDk3LCAyNSwgCisgICAgMjMxLCAxNDQsIDYyLCA5NywgMjUsIDIxMiwgMTYsIDYyLCA5NywgMjUsIDIyMSwgNzcsIDYyLCA5NywgMjUsIDIzOSwgNCwgCisgICAgNjIsIDk3LCAyNSwgMjQ3LCAyNDcsIDcxLCA5NywgMjMxLCAyNCwgMTU3LCAyMjIsIDE4OCwgOTcsIDIzMSwgMjQsIDE1NywgCisgICAgMTQ4LCAyMzgsIDQyLCA5NywgMTc1LCAxMDIsIDk3LCAxNzUsIDEwNSwgOTcsIDE3NSwgMTQyLCA5NywgMTc1LCAxMzksIDk3LCAKKyAgICAxNzUsIDE2OCwgOTcsIDE3NSwgMTg0LCA5NywgMTc1LCAxOTUsIDk3LCAxNzUsIDE5MywgOTcsIDE3NSwgMjAwLCA5NywgCisgICAgMTc1LCAyMTIsIDk4LCA5NywgMTc1LCAyMjYsIDE0NCwgOTcsIDE3NSwgMjQxLCAyMTksIDk3LCAxNzUsIDIwNywgNjksIDk3LCAKKyAgICAxNzUsIDIwNiwgMjM3LCA5NywgMTc1LCAyMjcsIDYzLCA5NywgMTc1LCAyNDMsIDEyMCwgOTcsIDE3NSwgMjEzLCAxNTQsIAorICAgIDk3LCAxNzUsIDIxMywgMjU0LCA5NywgMTc1LCAyMzksIDc4LCA5NywgMTc1LCAyMTQsIDE4OSwgOTcsIDE3NSwgMjI1LCAKKyAgICAyMTAsIDk3LCAxNzUsIDIxNCwgMTM4LCA5NywgMTc1LCAyNDEsIDIyOSwgOTcsIDE3NSwgMjQ3LCAxMzMsIDk3LCAxNzUsIAorICAgIDIzMCwgMTMwLCA5NywgMTc1LCAyMTgsIDI0NiwgOTcsIDE3NSwgMjQ4LCAyMzYsIDk3LCAxNzUsIDIxMywgMjA3LCA5NywgCisgICAgMTc1LCAyMTMsIDEzNiwgOTcsIDE3NSwgMjQzLCAxNiwgOTcsIDE3NSwgMjE4LCAyMzgsIDk3LCAxNzUsIDI1MiwgMTUyLCAKKyAgICA5NywgMTc1LCAyNDIsIDEsIDk3LCAxNzUsIDIxOCwgMjM2LCA5NywgMTc1LCAyMTYsIDU4LCA5NywgMTc1LCAyMTksIDUwLCAKKyAgICAzOSwgMTc1LCAyMTksIDE5NSwgMzksIDE3NSwgMjMxLCAxMDgsIDM5LCAxNzUsIDIxNywgMTAzLCAzOSwgMTc1LCAyMzEsIAorICAgIDIwLCAzOSwgNDMsIDIxMiwgOTksIDIyMiwgMTY2LCA2MCwgMjE0LCAxMDcsIDM5LCA0MywgMjEwLCAxMjQsIDIyMiwgMTY2LCAKKyAgICA2MCwgMjE0LCAxMDcsIDM5LCA0MywgMjEyLCA0LCAyMjIsIDE2NiwgNjAsIDIxNCwgMTA3LCAzOSwgNDMsIDI0MSwgMTMxLCAKKyAgICAyMjIsIDE2NiwgNjAsIDIxNCwgMTA3LCAzOSwgNDMsIDI0MSwgMjQ0LCAyMjIsIDE2NiwgNjAsIDIxNCwgMTA3LCAzOSwgNDMsIAorICAgIDIxNCwgMjUzLCAyMjIsIDE2NiwgNjAsIDIxNCwgMTA3LCAzOSwgNDMsIDIxNiwgMTgsIDIyMiwgMTY2LCA2MCwgMjE0LCAKKyAgICAxMDcsIDM5LCA0MywgMjQzLCA4MCwgMjIyLCAxNjYsIDYwLCAyMTQsIDEwNywgMjIxLCAyMDcsIDUzLCAzOSwgNDMsIDIxMCwgCisgICAgMTI0LCAxMDIsIDM5LCA0MywgMjEwLCAxMjQsIDEwNSwgMzksIDQzLCAyMTAsIDEyNCwgMTQyLCAzOSwgNDMsIDIxMCwgMTI0LCAKKyAgICAxMzksIDM5LCA0MywgMjEwLCAxMjQsIDE2OCwgMzksIDQzLCAyMTAsIDEyNCwgMTg0LCAzOSwgNDMsIDIxMCwgMTI0LCAxOTUsIAorICAgIDM5LCA0MywgMjEwLCAxMjQsIDE5MywgMzksIDQzLCAyMTAsIDEyNCwgMjAwLCAzOSwgNDMsIDIxMiwgMywgMzksIDQzLCAKKyAgICAyMTIsIDQsIDEwMiwgMzksIDQzLCAyMTIsIDQsIDEwNSwgMzksIDQzLCAyMTIsIDQsIDE0MiwgMzksIDQzLCAyMTIsIDQsIAorICAgIDEzOSwgMzksIDQzLCAyMTIsIDQsIDE2OCwgMzksIDI1LCAyMzEsIDg0LCAzOSwgMjUsIDIyNCwgMjIzLCAzOSwgMjUsIDIxMSwgCisgICAgMTkzLCAzOSwgMjUsIDIxOCwgMTk4LCAzOSwgMjUsIDIyNiwgMjQwLCAzOSwgMjUsIDIyMSwgMzksIDM5LCAyNSwgMjE1LCAKKyAgICAzMywgMzksIDI1LCAyMzMsIDEyNSwgMzksIDI1LCAyNDcsIDI0NiwgMzksIDI1LCAyNDgsIDU0LCAzOSwgMjUsIDIzMSwgCisgICAgMTQzLCAzOSwgMjUsIDIxMiwgMTUsIDM5LCAyNSwgMjIxLCA3NiwgMzksIDI1LCAyMzksIDMsIDM5LCAyNSwgMjMxLCA4NSwgCisgICAgNjIsIDM5LCAyNSwgMjI0LCAyMjQsIDYyLCAzOSwgMjUsIDIxMSwgMTk0LCA2MiwgMzksIDI1LCAyMTgsIDE5OSwgNjIsIDM5LCAKKyAgICAyNSwgMjI2LCAyNDEsIDYyLCAzOSwgMjUsIDIyMSwgNDAsIDYyLCAzOSwgMjUsIDIxNSwgMzQsIDYyLCAzOSwgMjUsIDIzMywgCisgICAgMTI2LCA2MiwgMzksIDI1LCAyNDcsIDI0NywgNjIsIDM5LCAyNSwgMjQ4LCA1NSwgNjIsIDM5LCAyNSwgMjMxLCAxNDQsIDYyLCAKKyAgICAzOSwgMjUsIDIxMiwgMTYsIDYyLCAzOSwgMjUsIDIyMSwgNzcsIDYyLCAzOSwgMjUsIDIzOSwgNCwgNjIsIDM5LCAyMzEsIAorICAgIDI0LCAxNTcsIDI0OCwgMTAxLCAzOSwgMjMxLCAyNCwgMTU3LCAyMzIsIDEwMCwgMzksIDI1LCAyMzMsIDEyNiwgNzEsIDIzMSwgCisgICAgMjQsIDIxNCwgMjksIDkzLCAzOSwgMTc1LCAxMDIsIDM5LCAxNzUsIDEwNSwgMzksIDE3NSwgMTQyLCAzOSwgMTc1LCAxMzksIAorICAgIDM5LCAxNzUsIDE2OCwgMzksIDE3NSwgMTg0LCAzOSwgMTc1LCAxOTUsIDM5LCAxNzUsIDE5MywgMzksIDE3NSwgMjAwLCAzOSwgCisgICAgMTc1LCAyMTIsIDk4LCAzOSwgMTc1LCAyMjYsIDE0NCwgMzksIDE3NSwgMjQxLCAyMTksIDM5LCAxNzUsIDIwNywgNjksIDM5LCAKKyAgICAxNzUsIDIwNiwgMjM3LCAzOSwgMTc1LCAyMjcsIDYzLCAzOSwgMTc1LCAyNDMsIDEyMCwgMzksIDE3NSwgMjEzLCAxNTQsIAorICAgIDM5LCAxNzUsIDIxMywgMjU0LCAzOSwgMTc1LCAyMzksIDc4LCAzOSwgMTc1LCAyMTQsIDE4OSwgMzksIDE3NSwgMjI1LCAKKyAgICAyMTAsIDM5LCAxNzUsIDIxNCwgMTM4LCAzOSwgMTc1LCAyNDEsIDIyOSwgMzksIDE3NSwgMjQ3LCAxMzMsIDM5LCAxNzUsIAorICAgIDIzMCwgMTMwLCAzOSwgMTc1LCAyMTcsIDc4LCAzOSwgMTc1LCAyMjcsIDIyNSwgMzksIDE3NSwgMjQyLCAxMCwgMzksIDE3NSwgCisgICAgMjEzLCAxNjYsIDM5LCAxNzUsIDI0MiwgMTcxLCAzOSwgMTc1LCAyMjAsIDEyNCwgMzksIDE3NSwgMjUxLCAxODgsIDM5LCAKKyAgICAxNzUsIDIzMiwgMjE5LCAzOSwgMTc1LCAyMTgsIDIzNiwgMzksIDE3NSwgMjQ3LCA5NSwgMzksIDE3NSwgMjQ3LCA4NiwgMzksIAorICAgIDE3NSwgMjM4LCAyNTIsIDM5LCAxNzUsIDI0OCwgMTI4LCAzOSwgMTc1LCAyMjksIDk3LCAzOSwgMTc1LCAyMzAsIDQ2LCAzOSwgCisgICAgMTc1LCAyMTgsIDE2NywgMzksIDE3NSwgMjI3LCAxMTAsIDM5LCAxNzUsIDIxOSwgNywgMzksIDE3NSwgMjEzLCAyMDcsIDM5LCAKKyAgICAxNzUsIDIxMywgMTM2LCAzOSwgMTc1LCAyNDMsIDE2LCAzOSwgMTc1LCAyMTgsIDIzOCwgMzksIDE3NSwgMjUyLCAxNTIsIAorICAgIDM5LCAxNzUsIDIyNCwgMjA5LCAzOSwgNDMsIDIxMiwgNCwgMTg0LCAzOSwgNDMsIDIxMiwgNCwgMTk1LCAzOSwgNDMsIDIxMiwgCisgICAgNCwgMTkzLCAzOSwgNDMsIDIxMiwgNCwgMjAwLCAzOSwgNDMsIDI0MSwgMTMwLCAzOSwgNDMsIDI0MSwgMTMxLCAxMDIsIDM5LCAKKyAgICA0MywgMjQxLCAxMzEsIDEwNSwgMzksIDQzLCAyNDEsIDEzMSwgMTQyLCAzOSwgNDMsIDI0MSwgMTMxLCAxMzksIDM5LCA0MywgCisgICAgMjQxLCAxMzEsIDE2OCwgMzksIDQzLCAyNDEsIDEzMSwgMTg0LCAzOSwgNDMsIDI0MSwgMTMxLCAxOTUsIDM5LCA0MywgMjQxLCAKKyAgICAxMzEsIDE5MywgMzksIDQzLCAyNDEsIDEzMSwgMjAwLCAzOSwgNDMsIDI0MSwgMjQzLCAxMjgsIDIxMiwgMTEwLCAxNiwgMzMsIAorICAgIDIzMiwgMTkxLCAxMjgsIDIxMiwgMTEwLCAxNiwgMzMsIDI0MiwgMjIsIDEyOCwgMjEyLCAxMTAsIDE2LCAzMywgMjI3LCAKKyAgICAxOTMsIDEyOCwgMjEyLCAxMTAsIDE2LCAzMywgMjUyLCA0MywgMTI4LCAyMTIsIDExMCwgMTYsIDMzLCAyMjcsIDE2MiwgCisgICAgMTI4LCAyMTIsIDExMCwgMTYsIDMzLCAyMzIsIDk4LCAxMjgsIDIxMiwgMTEwLCAxNiwgMzMsIDIzMiwgOTksIDEyOCwgMjEyLCAKKyAgICAxMTAsIDE2LCAzMywgMjUxLCAxODAsIDEyOCwgMjEyLCAxMTAsIDE2LCAzMywgMjE2LCAzOCwgMTI4LCAyMTIsIDExMCwgMTYsIAorICAgIDMzLCAyMjIsIDIxMiwgMTI4LCAyMTIsIDExMCwgMTYsIDMzLCAyMjQsIDMwLCAxMjgsIDIxMiwgMTEwLCAxNiwgMzMsIDI0NiwgCisgICAgNCwgNDksIDIzOSwgMjEsIDQ5LCAyNDIsIDIzMSwgNDksIDI0MiwgMTgwLCAyMjksIDIxMSwgMjI5LCAyMzQsIDUzLCAzOSwgCisgICAgNjQsIDYyLCAzOSwgNjQsIDc0LCAzOSwgNjQsIDcxLCAzOSwgNjQsIDc1LCAzOSwgNjQsIDc2LCAzOSwgNjQsIDE3MiwgMzksIAorICAgIDY0LCAyMzEsIDEyMywgMzksIDY0LCAyMzAsIDIzNiwgMzksIDY0LCAyMzEsIDIyNCwgMzksIDY0LCAyMzEsIDUzLCAzOSwgCisgICAgNjQsIDIxNywgMTk5LCAzOSwgNjQsIDIxNSwgODAsIDM5LCA2NCwgMjEzLCAyMDMsIDM5LCA2NCwgMjE3LCA4NiwgMzksIDY0LCAKKyAgICAyMTQsIDE5MywgMzksIDY0LCAyMTIsIDIxOSwgMzksIDY0LCAyMTEsIDIxMSwgMzksIDY0LCAyMTAsIDE3MCwgMzksIDY0LCAKKyAgICAyMTIsIDEzMSwgMzksIDY0LCAxMjQsIDM5LCA2NCwgMTk5LCAzOSwgNjQsIDIyNCwgMjMwLCAzOSwgNjQsIDIyMywgMjE3LCAKKyAgICAzOSwgNjQsIDIyNSwgMTEwLCAzOSwgNjQsIDIyNCwgNjcsIDM5LCA2NCwgMTU1LCAzOSwgNjQsIDIzOSwgMTEsIDM5LCA2NCwgCisgICAgMjM4LCA0MiwgMzksIDY0LCAyMzksIDcxLCAzOSwgNjQsIDIzOCwgMTQ5LCAzOSwgNjQsIDE4NSwgMzksIDY0LCAyMjYsIAorICAgIDI1NCwgMzksIDY0LCAyMjYsIDExNCwgMzksIDY0LCAyMjcsIDExOSwgMzksIDY0LCAyMjYsIDE4MSwgMzksIDY0LCAxOTAsIAorICAgIDM5LCA2NCwgMjA1LCAyMTMsIDM5LCA2NCwgMjA1LCAyNDcsIDM5LCA2NCwgMjE5LCAxMTMsIDM5LCA2NCwgMjE4LCAyMDgsIAorICAgIDM5LCA2NCwgMjE4LCA1MCwgMzksIDY0LCAyMTksIDUxLCAzOSwgNjQsIDIxOCwgMTI0LCAzOSwgNjQsIDIwNywgOTYsIDM5LCAKKyAgICA2NCwgMjA3LCAyMCwgMzksIDY0LCAyMDcsIDUxLCAzOSwgNjQsIDIwNiwgMjUwLCA0OSwgMjUyLCA2NywgNDksIDI1MSwgCisgICAgMjMzLCA0OSwgMjUyLCA5NCwgNDksIDI1MywgMTIyLCA0OSwgMjMzLCAzNywgNDksIDIzMywgNSwgNDksIDIwOSwgMjA5LCAKKyAgICA0OSwgMjQyLCAyMDUsIDQ5LCAyNDMsIDEwMSwgNDksIDIyMiwgMTU1LCA0OSwgMjIyLCAxNDgsIDQ5LCAyMzIsIDM5LCA0OSwgCisgICAgMjMyLCA1LCA0OSwgMjMyLCAyLCA0OSwgMjQwLCAyMDAsIDQ5LCAyNDAsIDIwOSwgNDksIDI0MCwgNTAsIDQ5LCAyNDAsIDQ2LCAKKyAgICA0OSwgMjMwLCAxNjAsIDQ5LCAyNDAsIDM4LCA0OSwgMjMxLCAxMDAsIDQ5LCAyMzEsIDk5LCA0OSwgMjMxLCA5OCwgNDksIAorICAgIDIzMSwgOTcsIDQ5LCAyMzksIDE4NCwgNDksIDIzOSwgMTgzLCA0OSwgMjMwLCAyMDcsIDQ5LCAyMzAsIDIwOSwgNDksIDIzMSwgCisgICAgMjE3LCA0OSwgMjMxLCAyMiwgNDksIDIzMSwgMzAsIDQ5LCAyMTcsIDE4MCwgNDksIDIxNywgMTQ0LCA0OSwgMjE1LCAxNCwgCisgICAgNDksIDIxNiwgNDMsIDQ5LCAyMTYsIDQyLCA0OSwgMjQ2LCAxNDIsIDQ5LCAyNDUsIDIwNSwgNDksIDI0NSwgMjQsIDQ5LCAKKyAgICAyMTEsIDEyMCwgNDksIDIyNSwgMjA1LCA0OSwgMjI0LCAzMSwgNDksIDIzOSwgMTI2LCA0OSwgMjIyLCA0NiwgNDksIDIyMiwgCisgICAgNDUsIDQ5LCAyNTAsIDE4MCwgNDksIDIyMSwgNTAsIDQ5LCAyMjEsIDEzLCA0OSwgMjIxLCAxNCwgNDksIDI0OSwgMjE1LCAKKyAgICA0OSwgMjM4LCA0MCwgNDksIDIzOCwgMzYsIDQ5LCAyNDksIDYwLCA0OSwgMjM4LCAyMiwgNDksIDIzOSwgNDcsIDQ5LCAyMjEsIAorICAgIDEwNSwgNDksIDIyMSwgMTQ1LCA0OSwgMjM5LCAzMCwgNDksIDIyMSwgMTQxLCA0OSwgMjIxLCAxNTksIDQ5LCAyNTAsIDQ1LCAKKyAgICA0OSwgMjIwLCAyMDAsIDQ5LCAyNDksIDE1OSwgNDksIDIzOCwgMTM0LCA0OSwgMjIwLCAxODgsIDQ5LCAyMzgsIDEyNiwgNDksIAorICAgIDIzOCwgMTI4LCA0OSwgMjI3LCAyMzcsIDQ5LCAyMjcsIDIzMywgNDksIDIyNywgMjQyLCA0OSwgMjI3LCAxODIsIDQ5LCAKKyAgICAyMjcsIDIwOSwgNDksIDIyNiwgMjIwLCA0OSwgMjI2LCAxOTYsIDQ5LCAyMjYsIDE5NSwgNDksIDIyNywgOTksIDQ5LCAyMjcsIAorICAgIDk2LCA0OSwgMjI3LCAxMDAsIDQ5LCAyMDYsIDEwOCwgNDksIDIwNiwgMTA2LCA0OSwgMjA1LCAyMDIsIDQ5LCAyMTgsIDE0MCwgCisgICAgNDksIDIxOCwgMTQ0LCA0OSwgMjE4LCAyNiwgNDksIDIxOCwgMjAsIDQ5LCAyMTksIDQsIDQ5LCAyMTksIDEsIDQ5LCAyMDcsIAorICAgIDY3LCAxMjgsIDIxMiwgMTEwLCAxNiwgMzMsIDIzOCwgNTksIDIwNSwgODUsIDEyOCwgMjEyLCAxMTAsIDE2LCAzMywgMjM4LCAKKyAgICA1OSwgMTAyLCAxMjgsIDIxMiwgMTEwLCAxNiwgMzMsIDIzOCwgNTksIDEwNSwgMTI4LCAyMTIsIDExMCwgMTYsIDMzLCAyMzgsIAorICAgIDU5LCAxNDIsIDEyOCwgMjEyLCAxMTAsIDE2LCAzMywgMjM4LCA1OSwgMTM5LCAxMjgsIDIxMiwgMTEwLCAxNiwgMzMsIDIzOCwgCisgICAgNTksIDE2OCwgMTI4LCAyMTIsIDExMCwgMTYsIDMzLCAyMzgsIDU5LCAxODQsIDEyOCwgMjEyLCAxMTAsIDE2LCAzMywgMjM4LCAKKyAgICA1OSwgMTk1LCAxMjgsIDIxMiwgMTEwLCAxNiwgMzMsIDIzOCwgNTksIDE5MywgMTI4LCAyMTIsIDExMCwgMTYsIDMzLCAyMzgsIAorICAgIDU5LCAyMDAsIDEyOCwgMjEyLCAxMTAsIDE2LCAzMywgMjM4LCA1OSwgMjEyLCA5OCwgMTI4LCAyMTIsIDExMCwgMTYsIDMzLCAKKyAgICAyMzgsIDU5LCAyNDMsIDU4LCAxMjgsIDIxMiwgMTEwLCAxNiwgMzMsIDIzOCwgNTksIDIxMCwgMTI2LCAxMjgsIDIxMiwgCisgICAgMTEwLCAxNiwgMzMsIDIzOCwgNTksIDIxMiwgNSwgMTI4LCAyMTIsIDExMCwgMTYsIDMzLCAyMzgsIDU5LCAyNDEsIDExOSwgCisgICAgMTI4LCAyMTIsIDExMCwgMTYsIDMzLCAyMzgsIDU5LCAyNDEsIDI0NywgMTI4LCAyMTIsIDExMCwgMTYsIDMzLCAyMzgsIDU5LCAKKyAgICAyMTUsIDQsIDEyOCwgMjEyLCAxMTAsIDE2LCAzMywgMjM4LCA1OSwgMjE2LCAyMCwgMTI4LCAyMTIsIDExMCwgMTYsIDMzLCAKKyAgICAyMzgsIDU5LCAyNDMsIDg1LCAxMjgsIDIxMiwgMTEwLCAxNiwgMzMsIDIzOCwgNTksIDIyNCwgMTkyLCAxMjgsIDIxMiwgCisgICAgMTEwLCAxNiwgMzMsIDIzOCwgNTksIDIxMCwgMTIzLCAxMjgsIDIxMiwgMTEwLCAxNiwgMzMsIDIzOCwgNTksIDIxMCwgMTE3LCAKKyAgICAxMjgsIDIxMiwgMTEwLCAxNiwgMzMsIDIzOCwgNTksIDIxMCwgMTEzLCAxMjgsIDIxMiwgMTEwLCAxNiwgMzMsIDIzOCwgNTksIAorICAgIDIxMCwgMTE0LCAxMjgsIDIxMiwgMTEwLCAxNiwgMzMsIDIzOCwgNTksIDIxMCwgMTE5LCA0OSwgMjM4LCA1MCwgNDksIDI0NiwgCisgICAgMTQ1LCA0OSwgMjUxLCAxODQsIDQ5LCAxMzQsIDQ5LCAyMjIsIDg4LCA0OSwgMjIxLCAxNzksIDQ5LCAyNDUsIDUzLCA0OSwgCisgICAgMjQ1LCA1NCwgMjE0LCAxMDYsIDQ5LCAyNDUsIDU0LCAyNDcsIDM1LCA0OSwgMjMyLCAyMTYsIDQ5LCAyNDIsIDIzNCwgMjI1LCAKKyAgICAyMTEsIDIzOSwgNDgsIDQ5LCAyNDIsIDIzNCwgMjI1LCAyMTEsIDIxMywgMzMsIDQ5LCAyNDIsIDIzNCwgMjI1LCAyMTEsIAorICAgIDIxMiwgMTg4LCA0OSwgMjQyLCAyMzQsIDIyNSwgMjExLCAyMjcsIDk1LCA0OSwgMjQ3LCA4OCwgNDksIDIyMiwgNTIsIDI1MiwgCisgICAgMTI0LCA0OSwgMTk5LCA0OSwgMjI2LCAxMTUsIDYyLCA0OSwgMTg1LCA0OSwgMTcyLCA0OSwgMjMxLCAyMjcsIDQ5LCAyMjcsIAorICAgIDE1OCwgNDksIDI0MCwgMTg4LCA0OSwgMjQ4LCAyNDEsIDQ5LCAyMzEsIDIyNiwgNDksIDIyMSwgOTYsIDQ5LCAyMjUsIDgxLCAKKyAgICA0OSwgMjI2LCAxMTUsIDI0MiwgMTM5LCA0OSwgMjI2LCAxMTUsIDI0MSwgNTUsIDQ5LCAyMjcsIDM5LCA0OSwgMjMxLCAxNjksIAorICAgIDQ5LCAyMzcsIDIzNCwgNDksIDIzMSwgMTI1LCA0OSwgMjI3LCAwLCA0OSwgMjQwLCA2MywgNDksIDIxMSwgMjEzLCA0OSwgCisgICAgMjI2LCAxMTUsIDE0OSwgNDksIDIyNiwgMTg5LCA0OSwgMjQ1LCA2MywgNDksIDIzMSwgNjYsIDQ5LCAyNDEsIDE2NCwgNDksIAorICAgIDIyNCwgMTA1LCA0OSwgMjI2LCAxMTUsIDIyOSwgMjgsIDQ5LCAyMjYsIDE4NiwgNDksIDI0NywgMTc1LCA0OSwgMjMxLCA2MCwgCisgICAgNDksIDIyNiwgMTg3LCAyMTQsIDEwNiwgNDksIDI0NywgMTc2LCAyMTQsIDEwNiwgNDksIDIyOSwgMjksIDIxNCwgMTA2LCAKKyAgICA0OSwgMjMxLCA2MSwgMjE0LCAxMDYsIDQ5LCAyMjYsIDE4NywgMjQ3LCAzNSwgNDksIDI0NywgMTc2LCAyNDcsIDM1LCA0OSwgCisgICAgMjI5LCAyOSwgMjQ3LCAzNSwgNDksIDIzMSwgNjEsIDI0NywgMzUsIDQ5LCAyMjksIDI5LCAxMzEsIDE4MiwgNDksIDIyOSwgCisgICAgMjksIDEzMSwgMjE4LCAxLCAyMTQsIDEwNiwgNDksIDE3OSwgNDksIDIzMSwgMTUsIDQ5LCAyMjYsIDExOCwgNDksIDIzOSwgCisgICAgMjUxLCA0OSwgMjE5LCAxMDAsIDQ5LCAyMTksIDEwMSwgMTMxLCAxODIsIDQ5LCAyMTksIDEwMSwgMTMxLCAyMTgsIDEsIAorICAgIDIxNCwgMTA2LCA0OSwgMjIwLCA5NSwgNDksIDIyMywgMjU1LCA0OSwgMjI2LCAxMTUsIDE4MiwgNDksIDIyNiwgMTE2LCA0OSwgCisgICAgMjIwLCA0NywgNDksIDIyMywgMTU1LCA0OSwgMjI2LCAxMTUsIDIwOSwgMTQ4LCA0OSwgMjI2LCA1NywgNDksIDIzMCwgMTk4LCAKKyAgICA0OSwgMjI2LCA1OCwgMjI3LCA5OSwgNDksIDIyMCwgNDYsIDQ5LCAyMjMsIDE1NCwgNDksIDIyNiwgMTE1LCAyMDcsIDEyOSwgCisgICAgNDksIDIyNiwgNTEsIDQ5LCAyMzAsIDE5NiwgNDksIDIyNiwgNTIsIDIyNywgOTksIDQ5LCAyMzIsIDc3LCAyMjIsIDE5MiwgCisgICAgNDksIDIyOSwgMjksIDIyMiwgMTkyLCA0OSwgMjUyLCAxMzYsIDQ5LCAyNDksIDEzNiwgNDksIDI0OCwgMTcyLCA0OSwgMjQ4LCAKKyAgICAxNDksIDQ5LCAyNDksIDM1LCAxMzEsIDIzMSwgMTY5LCA0OSwgMjQ3LCAxNzQsIDQ5LCAyNDYsIDYzLCA0OSwgMjM5LCAxNjgsIAorICAgIDQ5LCAxNTUsIDQ5LCAyMzgsIDUxLCA0OSwgMjMzLCA2OCwgNDksIDIzMSwgNzMsIDQ5LCAyMzEsIDYxLCAyNDgsIDIxMiwgCisgICAgNDksIDIzMCwgMjM4LCA0OSwgMjI5LCAxNDcsIDQ5LCAyMjksIDE0NiwgNDksIDIyOSwgMTM1LCA0OSwgMjI5LCA0MywgNDksIAorICAgIDIyNywgMTU5LCAyMTQsIDIxNSwgNDksIDIyNiwgMjE5LCA0OSwgMjI2LCAxNzAsIDQ5LCAyMjEsIDk0LCA0OSwgMjIwLCAKKyAgICAyMTQsIDQ5LCAyMjAsIDE1NiwgNDksIDIyMCwgMTU0LCA0OSwgMjE0LCAxMDAsIDQ5LCAyMTMsIDExNywgNDksIDIwNywgNTMsIAorICAgIDQ5LCAyMDksIDE0OSwgMTMxLCAyMjksIDI4LCA0OSwgMzIsIDEzMSwgMjI5LCAyOCwgMTI4LCAyMTIsIDExMCwgMTYsIDMzLCAKKyAgICAyNDYsIDY3LCAxMDIsIDEyOCwgMjEyLCAxMTAsIDE2LCAzMywgMjQ2LCA2NywgMTA1LCAxMjgsIDIxMiwgMTEwLCAxNiwgMzMsIAorICAgIDI0NiwgNjcsIDE0MiwgMTI4LCAyMTIsIDExMCwgMTYsIDMzLCAyNDYsIDY3LCAxMzksIDEyOCwgMjEyLCAxMTAsIDE2LCAzMywgCisgICAgMjQ2LCA2NywgMTY4LCAxMjgsIDIxMiwgMTEwLCAxNiwgMzMsIDI0NiwgNjcsIDE4NCwgMTI4LCAyMTIsIDExMCwgMTYsIDMzLCAKKyAgICAyNDYsIDY3LCAxOTUsIDEyOCwgMjEyLCAxMTAsIDE2LCAzMywgMjQ2LCA2NywgMTkzLCAxMjgsIDIxMiwgMTEwLCAxNiwgMzMsIAorICAgIDI0NiwgNjcsIDIwMCwgMTI4LCAyMTIsIDExMCwgMTYsIDMzLCAyNDYsIDY3LCAyMTIsIDk4LCAxMjgsIDIxMiwgMTEwLCAxNiwgCisgICAgMzMsIDI0NiwgNjcsIDI0MywgNTgsIDEyOCwgMjEyLCAxMTAsIDE2LCAzMywgMjQ2LCA2NywgMjEwLCAxMjYsIDEyOCwgMjEyLCAKKyAgICAxMTAsIDE2LCAzMywgMjQ2LCA2NywgMjEyLCA1LCAxMjgsIDIxMiwgMTEwLCAxNiwgMzMsIDI0NiwgNjcsIDI0MSwgMTE5LCAKKyAgICAxMjgsIDIxMiwgMTEwLCAxNiwgMzMsIDI0NiwgNjcsIDI0MSwgMjQ3LCAxMjgsIDIxMiwgMTEwLCAxNiwgMzMsIDI0NiwgNjcsIAorICAgIDIxNSwgNCwgMTI4LCAyMTIsIDExMCwgMTYsIDMzLCAyNDYsIDY3LCAyMTYsIDIwLCAxMjgsIDIxMiwgMTEwLCAxNiwgMzMsIAorICAgIDI0NiwgNjcsIDI0MywgODUsIDEyOCwgMjEyLCAxMTAsIDE2LCAzMywgMjQ2LCA2NywgMjI0LCAxOTIsIDEyOCwgMjEyLCAKKyAgICAxMTAsIDE2LCAzMywgMjQ2LCA2NywgMjEwLCAxMjMsIDEyOCwgMjEyLCAxMTAsIDE2LCAzMywgMjQ2LCA2NywgMjEwLCAxMTcsIAorICAgIDEyOCwgMjEyLCAxMTAsIDE2LCAzMywgMjQ2LCA2NywgMjEwLCAxMTMsIDEyOCwgMjEyLCAxMTAsIDE2LCAzMywgMjQ2LCA2NywgCisgICAgMjEwLCAxMTQsIDEyOCwgMjEyLCAxMTAsIDE2LCAzMywgMjQ2LCA2NywgMjEwLCAxMTksIDEyOCwgMjEyLCAxMTAsIDE2LCAKKyAgICAzMywgMjQ2LCA2NywgMjEwLCAxMjAsIDEyOCwgMjEyLCAxMTAsIDE2LCAzMywgMjQ2LCA2NywgMjEwLCAxMTUsIDEyOCwgCisgICAgMjEyLCAxMTAsIDE2LCAzMywgMjQ2LCA2NywgMjEwLCAxMTYsIDEyOCwgMjEyLCAxMTAsIDE2LCAzMywgMjQ2LCA2NywgMjEwLCAKKyAgICAxMjIsIDEyOCwgMjEyLCAxMTAsIDE2LCAzMywgMjQ2LCA2NywgMjEwLCAxMTgsIDEyOCwgMjEyLCAxMTAsIDE2LCAzMywgCisgICAgMjQ2LCA2NywgMjEyLCAzLCAxMjgsIDIxMiwgMTEwLCAxNiwgMzMsIDI0NiwgNjcsIDIxMiwgMiwgNDksIDI0MCwgMjI2LCAKKyAgICAyMzksIDI0LCAzMywgMjEyLCA0MiwgMjQ3LCA2OSwgMjM5LCA1NiwgMjM5LCAyNCwgMzMsIDIxMiwgNDIsIDIxOSwgNDQsIAorICAgIDI0MywgMTIwLCAyMzksIDI0LCAzMywgMjQ1LCAxMzgsIDI1MSwgMjAwLCAyMTIsIDQyLCAyNTAsIDQwLCAyMzksIDI0LCAzMywgCisgICAgMjA1LCAyMjYsIDI0MSwgMTU2LCAyMzksIDI0LCAzMywgMjA3LCA4OSwgMjM5LCAyNCwgMzMsIDI0NywgMTM2LCAyMzksIDI0LCAKKyAgICAzMywgMjEyLCA0MiwgMjUxLCAyNTQsIDIzOSwgMjQsIDMzLCAyMzgsIDE0MSwgMjExLCAxMjYsIDIzOSwgMjQsIDMzLCA1LCAKKyAgICAyMTIsIDE3NSwgMjM5LCAyNCwgMzMsIDIxMSwgNjMsIDIzOSwgMjQsIDMzLCAyMjEsIDE3MiwgMjM5LCAyNCwgMzMsIDIxNCwgCisgICAgMjgsIDIzOSwgMjQsIDMzLCAyNDIsIDEyLCAyMzksIDI0LCAzMywgMjM5LCAyMzIsIDIyMCwgMTc3LCAyMzksIDI0LCAzMywgCisgICAgMjI2LCAxNzQsIDIzOSwgMjQsIDMzLCAyNDMsIDE1LCAyMzksIDI0LCAzMywgMjQxLCAxNTcsIDIzOSwgMjQsIDMzLCAyMDYsIAorICAgIDIzMCwgMjIyLCAxNjYsIDIxMiwgNDIsIDI0NiwgNSwgMjM5LCAyNCwgMzMsIDI1MiwgNDcsIDIzOSwgMjQsIDMzLCAyNDcsIAorICAgIDExNywgMjM5LCAyNCwgMzMsIDI0OSwgMjA4LCAyMTEsIDIzMiwgMjM5LCAyNCwgMzMsIDIzOSwgMjQ5LCAyMzksIDI0LCAzMywgCisgICAgMjE0LCAxMjAsIDI1MiwgNjYsIDIzOSwgMjQsIDMzLCAyMTgsIDIyOCwgMjM5LCAyNCwgMzMsIDIzMywgMzEsIDIzOSwgMjQsIAorICAgIDMzLCAyMzksIDIzMiwgMjEyLCAxNzUsIDIzOSwgMjQsIDMzLCAyMjYsIDEyNCwgMjQ3LCA5MCwgMjM5LCAyNCwgMzMsIDIzOSwgCisgICAgMjMyLCAyMjAsIDEzNCwgMjM5LCAyNCwgMzMsIDIxMiwgNDIsIDI1MywgMjYsIDIwNywgNjksIDIzOSwgMjQsIDMzLCAyMTIsIAorICAgIDQyLCAyNDcsIDIwMCwgMjQxLCAyMTksIDIzOSwgMjQsIDMzLCAyMzMsIDQ0LCAyMzksIDI0LCAzMywgMjQzLCAyMTYsIDIzOSwgCisgICAgMjQsIDMzLCAyMTgsIDIzMSwgMjM5LCAyNCwgMzMsIDIzOSwgMjMyLCAyMjAsIDE2MSwgMjM5LCAyNCwgMzMsIDIyMCwgMTEyLCAKKyAgICAyMzksIDI0LCAzMywgMjQ2LCA4MywgNzMsIDIxMiwgNDIsIDIyOSwgMjIzLCAyMzksIDI0LCAzMywgMjEyLCA0MiwgMjQyLCAKKyAgICA0OCwgMjM5LCAyNCwgMzMsIDIyMiwgMTI4LCAyMzksIDI0LCAzMywgMjIyLCAyMTgsIDIzOSwgMjQsIDMzLCAyNDUsIDIzMiwgCisgICAgMjM5LCAyNCwgMzMsIDI0NSwgMjUzLCAyMzksIDI0LCAzMywgMjMzLCA1OSwgMjM5LCAyNCwgMzMsIDI0OSwgMTI1LCAyMzksIAorICAgIDI0LCAzMywgMjQ3LCAxNTcsIDIxMSwgMTMwLCAyMjcsIDEwMiwgMjM5LCAyNCwgMzMsIDI0MCwgMTk1LCAyMTEsIDEyNiwgCisgICAgMjM5LCAyNCwgMzMsIDIyMCwgNTYsIDIwOSwgMTk3LCAyMzksIDI0LCAzMywgMjIyLCAxMjcsIDIzOSwgMjQsIDMzLCAyMTIsIAorICAgIDQyLCAyMDcsIDQwLCAyMzksIDI0LCAzMywgMjE4LCAyMTksIDIzOSwgMjQsIDMzLCAyMTIsIDQyLCAyNDgsIDE3OCwgMjM5LCAKKyAgICAyNCwgMzMsIDIxMiwgNDIsIDI1MSwgMjUwLCAyMTEsIDIyNywgMjM5LCAyNCwgMzMsIDIxMiwgNDIsIDIzMSwgMjE4LCAyMTQsIAorICAgIDIsIDIyNiwgMTI4LCAyMzksIDI0LCAzMywgMjQ1LCAyMDAsIDIzOSwgMjQsIDMzLCAyMTIsIDQyLCAyMjcsIDE4NCwgMjI3LCAKKyAgICAyMzgsIDIzOSwgMjQsIDMzLCAyNTMsIDI3LCAyMzksIDI0LCAzMywgMjEyLCA0MiwgMjA3LCA4NCwgMjM5LCAyNCwgMzMsIAorICAgIDIxMiwgNDIsIDI0MCwgMTUzLCAyMDcsIDksIDIzOSwgMjQsIDMzLCAyMTIsIDQyLCAyMzIsIDEwNiwgMjMwLCAxMTEsIDIzOSwgCisgICAgMjQsIDMzLCAyNDUsIDkxLCAyMzksIDI0LCAzMywgMjI5LCAyMTIsIDIzOSwgMjQsIDMzLCAyMzMsIDM0LCAyMTAsIDI0NywgCisgICAgMjM5LCAyNCwgMzMsIDUsIDIyMCwgMTM0LCAyMzksIDI0LCAzMywgMjUyLCAyMjEsIDI0NywgMTQ4LCAyMzksIDI0LCAzMywgCisgICAgMjUwLCA0MywgMjQ3LCAxNDgsIDksIDQsIDIzMiwgMjIwLCA5LCA0LCAyMzIsIDIxMiwgOSwgNCwgNzQsIDksIDQsIDIzMiwgCisgICAgMjQ2LCA5LCA0LCAyMzMsIDEyNywgOSwgNCwgMjMzLCAxMTAsIDksIDQsIDIzMywgMTI5LCA5LCA0LCAyMzMsIDEyOCwgOSwgCisgICAgNCwgMjUxLCAxOTksIDksIDQsIDI1MSwgMTYxLCA5LCA0LCA2MiwgOSwgNCwgMjUyLCA2OCwgOSwgNCwgMjA5LCAyMDcsIDksIAorICAgIDQsIDIwOSwgMjEwLCA5LCA0LCAyMDksIDIwOCwgOSwgNCwgMjIyLCAxMDMsIDksIDQsIDIyMiwgNzYsIDksIDQsIDc2LCA5LCAKKyAgICA0LCAyMjIsIDE0MywgOSwgNCwgMjQyLCAxNzIsIDksIDQsIDc1LCA5LCA0LCAyMDYsIDIxNiwgOSwgNCwgMjQ5LCAyMDksIDksIAorICAgIDQsIDI0OSwgMjA2LCA5LCA0LCAyNDksIDI0NCwgOSwgNCwgMjQ5LCAyMTksIDksIDQsIDI0OSwgMjMzLCA5LCA0LCAyNDksIAorICAgIDIzMiwgOSwgNCwgMjQ5LCAyMzUsIDksIDQsIDI0OSwgMjM0LCA5LCA0LCAyNTAsIDEwOCwgOSwgNCwgMjUwLCAxMDAsIDksIAorICAgIDQsIDI1MCwgMTgzLCA5LCA0LCAyNTAsIDEzMCwgOSwgNCwgMjQ5LCA3MSwgOSwgNCwgMjQ5LCA3NSwgOSwgNCwgMjQ5LCA3MiwgCisgICAgOSwgNCwgMjQ5LCAxNTgsIDksIDQsIDI0OSwgMTQwLCA5LCA0LCAyNDksIDE4NCwgOSwgNCwgMjQ5LCAxNjQsIDksIDQsIAorICAgIDI1MCwgMywgOSwgNCwgMjUwLCA2MSwgOSwgNCwgMjUwLCAxNSwgOSwgNCwgMjQ5LCA1NiwgOSwgNCwgMjQ5LCA1MiwgOSwgNCwgCisgICAgMjQ5LCAxMDEsIDksIDQsIDI0OSwgNzAsIDksIDQsIDI0OSwgNjQsIDksIDQsIDI0OSwgNjgsIDksIDQsIDI0OSwgNDAsIDksIAorICAgIDQsIDI0OSwgMzgsIDksIDQsIDI0OSwgNDUsIDksIDQsIDI0OSwgNDMsIDksIDQsIDI0OSwgNDEsIDksIDQsIDI0OSwgNDIsIAorICAgIDksIDQsIDIyMCwgMjQ3LCA5LCA0LCAyMjAsIDI0MywgOSwgNCwgMjIxLCA1MywgOSwgNCwgMjIxLCAzLCA5LCA0LCAyMjEsIAorICAgIDE5LCA5LCA0LCAyMjEsIDQ2LCA5LCA0LCAyMjEsIDQyLCA5LCA0LCAyMjEsIDE5NSwgOSwgNCwgMjIxLCAxODQsIDksIDQsIAorICAgIDE3OSwgOSwgNCwgMjIxLCAyMzYsIDksIDQsIDIyMCwgNjYsIDksIDQsIDIyMCwgNjgsIDksIDQsIDIyMCwgNjcsIDksIDQsIAorICAgIDIyMCwgMTcwLCA5LCA0LCAyMjAsIDE1OSwgOSwgNCwgMjIwLCAyMTEsIDksIDQsIDIyMCwgMTgzLCA5LCA0LCAyMjAsIDUyLCAKKyAgICA5LCA0LCAyMjAsIDQ4LCA5LCA0LCAyMjAsIDgyLCA5LCA0LCAyMjAsIDY1LCA5LCA0LCAyMjAsIDU3LCA5LCA0LCAyMjAsIAorICAgIDYzLCA5LCA0LCAyMjAsIDMxLCA5LCA0LCAyMjAsIDMwLCA5LCA0LCAyMjAsIDM1LCA5LCA0LCAyMjAsIDM0LCA5LCA0LCAKKyAgICAyMjAsIDMyLCA5LCA0LCAyMjAsIDMzLCA5LCA0LCAyNTAsIDgyLCA5LCA0LCAyNTAsIDgxLCA5LCA0LCAyNTAsIDg4LCA5LCAKKyAgICA0LCAyNTAsIDgzLCA5LCA0LCAyNTAsIDg1LCA5LCA0LCAyNTAsIDg0LCA5LCA0LCAyNTAsIDg3LCA5LCA0LCAyNTAsIDg2LCAKKyAgICA5LCA0LCAyNTAsIDk0LCA5LCA0LCAyNTAsIDkzLCA5LCA0LCAyNTAsIDk3LCA5LCA0LCAyNTAsIDk1LCA5LCA0LCAyNTAsIAorICAgIDczLCA5LCA0LCAyNTAsIDc1LCA5LCA0LCAyNTAsIDc0LCA5LCA0LCAyNTAsIDc4LCA5LCA0LCAyNTAsIDc3LCA5LCA0LCAKKyAgICAyNTAsIDgwLCA5LCA0LCAyNTAsIDc5LCA5LCA0LCAyNTAsIDg5LCA5LCA0LCAyNTAsIDkyLCA5LCA0LCAyNTAsIDkwLCA5LCAKKyAgICA0LCAyNTAsIDY5LCA5LCA0LCAyNTAsIDY4LCA5LCA0LCAyNTAsIDc2LCA5LCA0LCAyNTAsIDcyLCA5LCA0LCAyNTAsIDcwLCAKKyAgICA5LCA0LCAyNTAsIDcxLCA5LCA0LCAyNTAsIDY1LCA5LCA0LCAyNTAsIDY0LCA5LCA0LCAyNTAsIDY3LCA5LCA0LCAyNTAsIAorICAgIDY2LCA5LCA0LCAyMjUsIDE3MywgOSwgNCwgMjI1LCAxNzIsIDksIDQsIDIyNSwgMTc4LCA5LCA0LCAyMjUsIDE3NCwgOSwgNCwgCisgICAgMjI1LCAxNzUsIDksIDQsIDIyNSwgMTc3LCA5LCA0LCAyMjUsIDE3NiwgOSwgNCwgMjI1LCAxODEsIDksIDQsIDIyNSwgMTgwLCAKKyAgICA5LCA0LCAyMjUsIDE4MywgOSwgNCwgMjI1LCAxODIsIDksIDQsIDIyNSwgMTY5LCA5LCA0LCAyMjUsIDE2OCwgOSwgNCwgCisgICAgMjI1LCAxNzEsIDksIDQsIDIyNSwgMTcwLCA5LCA0LCAyMjUsIDE2MiwgOSwgNCwgMjI1LCAxNjEsIDksIDQsIDIyNSwgMTY2LCAKKyAgICA5LCA0LCAyMjUsIDE2NSwgOSwgNCwgMjI1LCAxNjMsIDksIDQsIDIyNSwgMTY0LCA5LCA0LCAyMjUsIDE1NiwgOSwgNCwgCisgICAgMjI1LCAxNTUsIDksIDQsIDIyNSwgMTYwLCA5LCA0LCAyMjUsIDE1OSwgOSwgNCwgMjI1LCAxNTcsIDksIDQsIDIyNSwgMTU4LCAKKyAgICA5LCA0LCAyMzgsIDE5MywgOSwgNCwgMjM4LCAxOTIsIDksIDQsIDIzOCwgMTk4LCA5LCA0LCAyMzgsIDE5NCwgOSwgNCwgCisgICAgMjM4LCAxOTUsIDksIDQsIDIzOCwgMTk3LCA5LCA0LCAyMzgsIDE5NiwgOSwgNCwgMjM4LCAyMDEsIDksIDQsIDIzOCwgMjAwLCAKKyAgICA5LCA0LCAyMzgsIDIwMywgOSwgNCwgMjM4LCAyMDIsIDksIDQsIDIzOCwgMTg0LCA5LCA0LCAyMzgsIDE4NiwgOSwgNCwgCisgICAgMjM4LCAxODUsIDksIDQsIDIzOCwgMTg5LCA5LCA0LCAyMzgsIDE4OCwgOSwgNCwgMjM4LCAxOTEsIDksIDQsIDIzOCwgMTkwLCAKKyAgICA5LCA0LCAyMzgsIDE4MCwgOSwgNCwgMjM4LCAxNzksIDksIDQsIDIzOCwgMTg3LCA5LCA0LCAyMzgsIDE4MywgOSwgNCwgCisgICAgMjM4LCAxODEsIDksIDQsIDIzOCwgMTgyLCA5LCA0LCAyMzgsIDE3NCwgOSwgNCwgMjM4LCAxNzgsIDksIDQsIDIzOCwgMTc3LCAKKyAgICA5LCA0LCAyMzgsIDE3NSwgOSwgNCwgMjM4LCAxNzYsIDksIDQsIDIyNiwgMTkyLCA5LCA0LCAyMjYsIDE5MSwgOSwgNCwgCisgICAgMjI2LCAyNTQsIDksIDQsIDIyNiwgMTk4LCA5LCA0LCAyMjYsIDIyNiwgOSwgNCwgMjI2LCAyNDQsIDksIDQsIDIyNiwgMjQyLCAKKyAgICA5LCA0LCAyMjcsIDE3MCwgOSwgNCwgMjI3LCAxNjUsIDksIDQsIDE4NSwgOSwgNCwgMjI3LCAyMDUsIDksIDQsIDIyNiwgODMsIAorICAgIDksIDQsIDIyNiwgODIsIDksIDQsIDIyNiwgODYsIDksIDQsIDIyNiwgODQsIDksIDQsIDIyNiwgMTM3LCA5LCA0LCAyMjYsIAorICAgIDEyMCwgOSwgNCwgMjI2LCAxODEsIDksIDQsIDIyNiwgMTQyLCA5LCA0LCAyMjcsIDUwLCA5LCA0LCAyMjcsIDExOSwgOSwgNCwgCisgICAgMjI2LCA2MywgOSwgNCwgMjI2LCA1OSwgOSwgNCwgMjI2LCAxMTQsIDksIDQsIDIyNiwgNzksIDksIDQsIDIyNiwgNzIsIDksIAorICAgIDQsIDIyNiwgNzcsIDksIDQsIDIyNiwgMzYsIDksIDQsIDIyNiwgMzUsIDksIDQsIDIyNiwgNDEsIDksIDQsIDIyNiwgMzgsIAorICAgIDksIDQsIDI0MSwgMjA2LCA5LCA0LCAyNDEsIDIwMSwgOSwgNCwgMjQxLCAyNTAsIDksIDQsIDI0MSwgMjIxLCA5LCA0LCAKKyAgICAyNDIsIDQxLCA5LCA0LCAyNDIsIDMyLCA5LCA0LCAyNDIsIDczLCA5LCA0LCAyNDIsIDQ0LCA5LCA0LCAyNDEsIDExNywgOSwgCisgICAgNCwgMjQxLCAxNjIsIDksIDQsIDI0MSwgMTQzLCA5LCA0LCAyNDEsIDcxLCA5LCA0LCAyNDEsIDcwLCA5LCA0LCAyNDEsIDg4LCAKKyAgICA5LCA0LCAyNDEsIDc2LCA5LCA0LCAyNDEsIDc0LCA5LCA0LCAyNDEsIDc1LCA5LCA0LCAyNDEsIDU4LCA5LCA0LCAyNDEsIAorICAgIDU3LCA5LCA0LCAyNDEsIDYxLCA5LCA0LCAyNDEsIDU5LCA5LCA0LCAyMDgsIDE4MCwgOSwgNCwgMjA4LCAxNzUsIDksIDQsIAorICAgIDIwOCwgMjE0LCA5LCA0LCAyMDgsIDE4OSwgOSwgNCwgMjA4LCAyMDMsIDksIDQsIDIwOCwgMjAwLCA5LCA0LCAyMDgsIDIwNiwgCisgICAgOSwgNCwgMjA4LCAyMDUsIDksIDQsIDIwOSwgNDcsIDksIDQsIDIwOSwgNDIsIDksIDQsIDIwOSwgNzAsIDksIDQsIDIwOSwgCisgICAgNTksIDksIDQsIDIwOCwgMTU3LCA5LCA0LCAyMDgsIDE1MywgOSwgNCwgMjA4LCAxNzMsIDksIDQsIDIwOCwgMTU5LCA5LCA0LCAKKyAgICAyMDgsIDIxNywgOSwgNCwgMjA5LCAyOCwgOSwgNCwgMjA3LCAxNDIsIDksIDQsIDIwNywgMTQwLCA5LCA0LCAyMDcsIDE0OCwgCisgICAgOSwgNCwgMjA3LCAxNDUsIDksIDQsIDIwNywgMTQzLCA5LCA0LCAyMDcsIDE0NCwgOSwgNCwgMjA3LCAxMzMsIDksIDQsIAorICAgIDIwNywgMTMyLCA5LCA0LCAyMDcsIDEzNywgOSwgNCwgMjA3LCAxMzYsIDksIDQsIDIwNywgMTM0LCA5LCA0LCAyMDcsIDEzNSwgCisgICAgOSwgNCwgMjQ1LCA4NSwgOSwgNCwgMjQ1LCA3MiwgOSwgNCwgMjQ1LCAxNjgsIDksIDQsIDI0NSwgMTEwLCA5LCA0LCAyNDUsIAorICAgIDE0MywgOSwgNCwgMjQ1LCAxNDgsIDksIDQsIDI0NSwgMTQ3LCA5LCA0LCAyNDYsIDc0LCA5LCA0LCAyNDYsIDY4LCA5LCA0LCAKKyAgICAyNDYsIDE0NSwgOSwgNCwgMjQ2LCA5NCwgOSwgNCwgMjQzLCAyMjEsIDksIDQsIDI0MywgMjIyLCA5LCA0LCAyNDUsIDIzLCAKKyAgICA5LCA0LCAyNDQsIDUsIDksIDQsIDI0NSwgNTEsIDksIDQsIDI0NSwgMjUsIDksIDQsIDI0NSwgMTk4LCA5LCA0LCAyNDYsIDksIAorICAgIDksIDQsIDI0NSwgMjE4LCA5LCA0LCAyNDMsIDIxMiwgOSwgNCwgMjQzLCAyMTAsIDksIDQsIDI0MywgMjM3LCA5LCA0LCAKKyAgICAyNDMsIDIyMCwgOSwgNCwgMjQzLCAyMTUsIDksIDQsIDI0MywgMjE4LCA5LCA0LCAyMTEsIDE1NiwgOSwgNCwgMjExLCAxNDksIAorICAgIDksIDQsIDIxMSwgMjExLCA5LCA0LCAyMTEsIDE2NiwgOSwgNCwgMjExLCAyMDEsIDksIDQsIDIxMSwgMjAzLCA5LCA0LCAKKyAgICAyMTEsIDIwMiwgOSwgNCwgMjEyLCAxNTYsIDksIDQsIDIxMiwgMTQyLCA5LCA0LCAyMTIsIDIxOSwgOSwgNCwgMjEyLCAxNjYsIAorICAgIDksIDQsIDIxMCwgMTUzLCA5LCA0LCAyMTAsIDE1MiwgOSwgNCwgMjEwLCAxNTUsIDksIDQsIDIxMCwgMTU0LCA5LCA0LCAKKyAgICAyMTEsIDkxLCA5LCA0LCAyMTEsIDg1LCA5LCA0LCAxMjQsIDksIDQsIDIxMSwgMTAxLCA5LCA0LCAyMTIsIDYyLCA5LCA0LCAKKyAgICAyMTIsIDEzMSwgOSwgNCwgMjEyLCA4NywgOSwgNCwgMjEwLCAxMzgsIDksIDQsIDIxMCwgMTMzLCA5LCA0LCAyMTAsIDE3MCwgCisgICAgOSwgNCwgMjEwLCAxNTEsIDksIDQsIDIxMCwgMTM5LCA5LCA0LCAyMTAsIDE0OSwgOSwgNCwgMjQ2LCAyNiwgOSwgNCwgMjQ2LCAKKyAgICAyNSwgOSwgNCwgMjQ2LCAzMSwgOSwgNCwgMjQ2LCAyNywgOSwgNCwgMjQ2LCAyOCwgOSwgNCwgMjQ2LCAzMCwgOSwgNCwgCisgICAgMjQ2LCAyOSwgOSwgNCwgMjQ2LCA0NywgOSwgNCwgMjQ2LCA0NiwgOSwgNCwgMjQ2LCA1NCwgOSwgNCwgMjQ2LCA0OCwgOSwgCisgICAgNCwgMjQ2LCAxNiwgOSwgNCwgMjQ2LCAxOCwgOSwgNCwgMjQ2LCAxNywgOSwgNCwgMjQ2LCAyMSwgOSwgNCwgMjQ2LCAyMCwgCisgICAgOSwgNCwgMjQ2LCAyNCwgOSwgNCwgMjQ2LCAyMiwgOSwgNCwgMjQ2LCAzOSwgOSwgNCwgMjQ2LCA0MiwgOSwgNCwgMjQ2LCAKKyAgICA0MCwgOSwgNCwgMjQ2LCAxMiwgOSwgNCwgMjQ2LCAxMSwgOSwgNCwgMjQ2LCAxOSwgOSwgNCwgMjQ2LCAxNSwgOSwgNCwgCisgICAgMjQ2LCAxMywgOSwgNCwgMjQ2LCAxNCwgOSwgNCwgMjI1LCAxMjksIDksIDQsIDIyNSwgMTI4LCA5LCA0LCAyMjUsIDEzNiwgCisgICAgOSwgNCwgMjI1LCAxMzEsIDksIDQsIDIyNSwgMTMyLCA5LCA0LCAyMjUsIDEzMywgOSwgNCwgMjI1LCAxNDUsIDksIDQsIAorICAgIDIyNSwgMTQ0LCA5LCA0LCAyMjUsIDE1MSwgOSwgNCwgMjI1LCAxNDYsIDksIDQsIDIyNSwgMTIxLCA5LCA0LCAyMjUsIDEyMCwgCisgICAgOSwgNCwgMjI1LCAxMjcsIDksIDQsIDIyNSwgMTIyLCA5LCA0LCAyMjUsIDEzNywgOSwgNCwgMjI1LCAxNDMsIDksIDQsIAorICAgIDIyNSwgMTQxLCA5LCA0LCAyMjUsIDExMywgOSwgNCwgMjI1LCAxMTIsIDksIDQsIDIyNSwgMTE4LCA5LCA0LCAyMjUsIDExNiwgCisgICAgOSwgNCwgMjI1LCAxMTQsIDksIDQsIDIyNSwgMTE1LCA5LCA0LCAyMzgsIDE1OSwgOSwgNCwgMjM4LCAxNTgsIDksIDQsIAorICAgIDIzOCwgMTY1LCA5LCA0LCAyMzgsIDE2MCwgOSwgNCwgMjM4LCAxNjIsIDksIDQsIDIzOCwgMTYxLCA5LCA0LCAyMzgsIDE2NCwgCisgICAgOSwgNCwgMjM4LCAxNjMsIDksIDQsIDIzOCwgMTcxLCA5LCA0LCAyMzgsIDE2OSwgOSwgNCwgMjM4LCAxNzMsIDksIDQsIAorICAgIDIzOCwgMTcyLCA5LCA0LCAyMzgsIDE1MiwgOSwgNCwgMjM4LCAxNTMsIDksIDQsIDIzOCwgMTU2LCA5LCA0LCAyMzgsIDE1NSwgCisgICAgOSwgNCwgMjM4LCAxNTcsIDksIDQsIDIzOCwgMTY2LCA5LCA0LCAyMzgsIDE2OCwgOSwgNCwgMjM4LCAxNjcsIDksIDQsIAorICAgIDIzOCwgMTUxLCA5LCA0LCAyMjQsIDE4NCwgOSwgNCwgMjI0LCAxODIsIDksIDQsIDIyNCwgMjMwLCA5LCA0LCAyMjQsIDE4NywgCisgICAgOSwgNCwgMjI0LCAyMTIsIDksIDQsIDIyNCwgMjI2LCA5LCA0LCAyMjQsIDIyNSwgOSwgNCwgMjI1LCAxODcsIDksIDQsIAorICAgIDE5OSwgOSwgNCwgMjI1LCAyMDIsIDksIDQsIDIyMywgMTY1LCA5LCA0LCAyMjMsIDE2NywgOSwgNCwgMjIzLCAxNjYsIDksIAorICAgIDQsIDIyNCwgNDIsIDksIDQsIDIyNCwgMjcsIDksIDQsIDIyNCwgNjcsIDksIDQsIDIyNCwgNTIsIDksIDQsIDIyNSwgODMsIAorICAgIDksIDQsIDIyNSwgMTEwLCA5LCA0LCAyMjUsIDk2LCA5LCA0LCAyMjMsIDE2MCwgOSwgNCwgMjIzLCAxNTYsIDksIDQsIDIyMywgCisgICAgMjE3LCA5LCA0LCAyMjMsIDE2NCwgOSwgNCwgMjIzLCAxNjIsIDksIDQsIDIyMywgMTYzLCA5LCA0LCAyMzgsIDIyNCwgOSwgCisgICAgNCwgMjM4LCAyMjMsIDksIDQsIDIzOCwgMjI5LCA5LCA0LCAyMzgsIDIyNSwgOSwgNCwgMjM4LCAyMjYsIDksIDQsIDIzOCwgCisgICAgMjI4LCA5LCA0LCAyMzgsIDIyNywgOSwgNCwgMjM4LCAyMzUsIDksIDQsIDIzOCwgMjMzLCA5LCA0LCAyMzgsIDIzNywgOSwgCisgICAgNCwgMjM4LCAyMzYsIDksIDQsIDIzOCwgMjE2LCA5LCA0LCAyMzgsIDIxOCwgOSwgNCwgMjM4LCAyMTcsIDksIDQsIDIzOCwgCisgICAgMjIwLCA5LCA0LCAyMzgsIDIyMiwgOSwgNCwgMjM4LCAyMjEsIDksIDQsIDIzOCwgMjMwLCA5LCA0LCAyMzgsIDIzMiwgOSwgCisgICAgNCwgMjM4LCAyMzEsIDksIDQsIDIzOCwgMjEyLCA5LCA0LCAyMzgsIDIxMSwgOSwgNCwgMjM4LCAyMTksIDksIDQsIDIzOCwgCisgICAgMjE1LCA5LCA0LCAyMzgsIDIxMywgOSwgNCwgMjM4LCAyMTQsIDksIDQsIDIzOCwgMjA2LCA5LCA0LCAyMzgsIDIwNSwgOSwgCisgICAgNCwgMjM4LCAyMTAsIDksIDQsIDIzOCwgMjA5LCA5LCA0LCAyMzgsIDIwNywgOSwgNCwgMjM4LCAyMDgsIDksIDQsIDIyOSwgCisgICAgMTg0LCA5LCA0LCAyMjksIDE3NywgOSwgNCwgMjI5LCAyMzUsIDksIDQsIDIyOSwgMTkzLCA5LCA0LCAyMjksIDIyNywgOSwgCisgICAgNCwgMjI5LCAyMjYsIDksIDQsIDIyOSwgMjMwLCA5LCA0LCAyMjksIDIyOCwgOSwgNCwgMjMwLCA4MCwgOSwgNCwgMjMwLCAKKyAgICA2OSwgOSwgNCwgMjMwLCAxNDEsIDksIDQsIDIzMCwgODksIDksIDQsIDIyOSwgNjAsIDksIDQsIDIyOSwgNTksIDksIDQsIAorICAgIDIyOSwgNjIsIDksIDQsIDIyOSwgNjEsIDksIDQsIDIyOSwgMTAzLCA5LCA0LCAyMjksIDkwLCA5LCA0LCAyMjksIDE0NCwgOSwgCisgICAgNCwgMjI5LCAxMDgsIDksIDQsIDIyOSwgMjUyLCA5LCA0LCAyMzAsIDU4LCA5LCA0LCAyMzAsIDEzLCA5LCA0LCAyMjksIDU0LCAKKyAgICA5LCA0LCAyMjksIDUyLCA5LCA0LCAyMjksIDgxLCA5LCA0LCAyMjksIDU4LCA5LCA0LCAyMjksIDU2LCA5LCA0LCAyMjksIAorICAgIDU3LCA5LCA0LCAyMjksIDMzLCA5LCA0LCAyMjksIDMyLCA5LCA0LCAyMjksIDQyLCA5LCA0LCAyMjksIDM2LCA5LCA0LCAKKyAgICAyMjksIDM0LCA5LCA0LCAyMjksIDM1LCA5LCA0LCAyNDAsIDM0LCA5LCA0LCAyNDAsIDMzLCA5LCA0LCAyNDAsIDYxLCA5LCAKKyAgICA0LCAyNDAsIDQ1LCA5LCA0LCAyNDAsIDUzLCA5LCA0LCAyNDAsIDUyLCA5LCA0LCAyNDAsIDU1LCA5LCA0LCAyNDAsIDU0LCAKKyAgICA5LCA0LCAyNDAsIDE5NywgOSwgNCwgMjQwLCAxOTIsIDksIDQsIDI0MCwgMjQ0LCA5LCA0LCAyNDAsIDIwNywgOSwgNCwgCisgICAgMjM5LCAxODksIDksIDQsIDIzOSwgMTg4LCA5LCA0LCAyMzksIDE5MSwgOSwgNCwgMjM5LCAxOTAsIDksIDQsIDIzOSwgMjU0LCAKKyAgICA5LCA0LCAyMzksIDI1MiwgOSwgNCwgMjQwLCAxOSwgOSwgNCwgMjQwLCA2LCA5LCA0LCAyNDAsIDEzOSwgOSwgNCwgMjQwLCAKKyAgICAxMzcsIDksIDQsIDI0MCwgMTcwLCA5LCA0LCAyNDAsIDE1MCwgOSwgNCwgMjM5LCAxNzgsIDksIDQsIDIzOSwgMTc3LCA5LCAKKyAgICA0LCAyMzksIDIxMywgOSwgNCwgMjM5LCAxODcsIDksIDQsIDIzOSwgMTc5LCA5LCA0LCAyMzksIDE4NiwgOSwgNCwgMjMxLCAKKyAgICA4OSwgOSwgNCwgMjMxLCA4NiwgOSwgNCwgMjMxLCAxMjMsIDksIDQsIDIzMSwgMTAzLCA5LCA0LCAyMzEsIDExMywgOSwgNCwgCisgICAgMjMxLCAxMTYsIDksIDQsIDIzMSwgMTE0LCA5LCA0LCAyMzEsIDI0OSwgOSwgNCwgMjMxLCAyMzIsIDksIDQsIDE3MiwgOSwgCisgICAgNCwgMjMyLCAyMCwgOSwgNCwgMjMwLCAyMTQsIDksIDQsIDIzMCwgMjE5LCA5LCA0LCAyMzAsIDIxNiwgOSwgNCwgMjMxLCAKKyAgICAyMSwgOSwgNCwgMjMxLCAxNiwgOSwgNCwgMjMxLCA1MywgOSwgNCwgMjMxLCAyOCwgOSwgNCwgMjMxLCAxOTMsIDksIDQsIAorICAgIDIzMSwgMTc2LCA5LCA0LCAyMzEsIDIyNCwgOSwgNCwgMjMxLCAxOTcsIDksIDQsIDIzMCwgMjAzLCA5LCA0LCAyMzAsIDE5OSwgCisgICAgOSwgNCwgMjMwLCAyMzYsIDksIDQsIDIzMCwgMjEzLCA5LCA0LCAyMzAsIDIwNiwgOSwgNCwgMjMwLCAyMTAsIDksIDQsIAorICAgIDI0MCwgMTIxLCA5LCA0LCAyNDAsIDEyMCwgOSwgNCwgMjQwLCAxMjUsIDksIDQsIDI0MCwgMTIyLCA5LCA0LCAyNDAsIDEyNCwgCisgICAgOSwgNCwgMjQwLCAxMjMsIDksIDQsIDI0MCwgMTMyLCA5LCA0LCAyNDAsIDEzMSwgOSwgNCwgMjQwLCAxMzUsIDksIDQsIAorICAgIDI0MCwgMTMzLCA5LCA0LCAyNDAsIDExMiwgOSwgNCwgMjQwLCAxMTEsIDksIDQsIDI0MCwgMTE0LCA5LCA0LCAyNDAsIDExMywgCisgICAgOSwgNCwgMjQwLCAxMTcsIDksIDQsIDI0MCwgMTE2LCA5LCA0LCAyNDAsIDExOSwgOSwgNCwgMjQwLCAxMTgsIDksIDQsIAorICAgIDI0MCwgMTI3LCA5LCA0LCAyNDAsIDEyNiwgOSwgNCwgMjQwLCAxMzAsIDksIDQsIDI0MCwgMTI4LCA5LCA0LCAyNDAsIDEwNywgCisgICAgOSwgNCwgMjQwLCAxMDYsIDksIDQsIDI0MCwgMTE1LCA5LCA0LCAyNDAsIDExMCwgOSwgNCwgMjQwLCAxMDgsIDksIDQsIAorICAgIDI0MCwgMTA5LCA5LCA0LCAyMjcsIDE3LCA5LCA0LCAyMjcsIDE4LCA5LCA0LCAyMjcsIDM2LCA5LCA0LCAyMjcsIDM1LCA5LCAKKyAgICA0LCAyMjcsIDM4LCA5LCA0LCAyMjcsIDM3LCA5LCA0LCAyMjcsIDgsIDksIDQsIDIyNywgMTAsIDksIDQsIDIyNywgOSwgOSwgCisgICAgNCwgMjI3LCAxMywgOSwgNCwgMjI3LCAxMiwgOSwgNCwgMjI3LCAxNSwgOSwgNCwgMjI3LCAxNCwgOSwgNCwgMjI3LCAxOSwgCisgICAgOSwgNCwgMjI3LCAyMSwgOSwgNCwgMjI3LCAyMCwgOSwgNCwgMjI3LCA0LCA5LCA0LCAyMjcsIDMsIDksIDQsIDIyNywgMTEsIAorICAgIDksIDQsIDIyNywgNywgOSwgNCwgMjI3LCA1LCA5LCA0LCAyMjcsIDYsIDksIDQsIDIzNywgMjUxLCA5LCA0LCAyMzcsIDI1MCwgCisgICAgOSwgNCwgMjM4LCAxLCA5LCA0LCAyMzcsIDI1MiwgOSwgNCwgMjM3LCAyNTQsIDksIDQsIDIzNywgMjUzLCA5LCA0LCAyMzgsIAorICAgIDAsIDksIDQsIDIzNywgMjU1LCA5LCA0LCAyMzgsIDYsIDksIDQsIDIzOCwgNSwgOSwgNCwgMjM4LCA4LCA5LCA0LCAyMzgsIAorICAgIDcsIDksIDQsIDIzNywgMjQzLCA5LCA0LCAyMzcsIDI0MiwgOSwgNCwgMjM3LCAyNDUsIDksIDQsIDIzNywgMjQ0LCA5LCA0LCAKKyAgICAyMzcsIDI0NywgOSwgNCwgMjM3LCAyNDYsIDksIDQsIDIzNywgMjQ5LCA5LCA0LCAyMzcsIDI0OCwgOSwgNCwgMjM4LCAyLCAKKyAgICA5LCA0LCAyMzgsIDQsIDksIDQsIDIzOCwgMywgOSwgNCwgMjI1LCAyMiwgOSwgNCwgMjI1LCAyNCwgOSwgNCwgMjI1LCAyMywgCisgICAgOSwgNCwgMjI1LCA2NywgOSwgNCwgMjI1LCA2NSwgOSwgNCwgMjI1LCA3NywgOSwgNCwgMjI1LCA3MCwgOSwgNCwgMjI0LCAKKyAgICAyNDAsIDksIDQsIDIyNCwgMjM5LCA5LCA0LCAyMjQsIDI0MSwgOSwgNCwgMjI0LCAyNTAsIDksIDQsIDIyNCwgMjQ3LCA5LCAKKyAgICA0LCAyMjUsIDIsIDksIDQsIDIyNCwgMjUyLCA5LCA0LCAyMjUsIDU4LCA5LCA0LCAyMjUsIDY0LCA5LCA0LCAyMjUsIDYwLCAKKyAgICA5LCA0LCAyMzgsIDI0MiwgOSwgNCwgMjM4LCAyNTMsIDksIDQsIDIzOSwgNiwgOSwgNCwgMjM5LCA4NiwgOSwgNCwgMjM5LCAKKyAgICA3NiwgOSwgNCwgMTU1LCA5LCA0LCAyMzksIDk3LCA5LCA0LCAyMzgsIDI0LCA5LCA0LCAyMzgsIDIzLCA5LCA0LCAyMzgsIAorICAgIDI2LCA5LCA0LCAyMzgsIDI1LCA5LCA0LCAyMzgsIDYyLCA5LCA0LCAyMzgsIDUzLCA5LCA0LCAyMzgsIDE0OSwgOSwgNCwgCisgICAgMjM4LCAxMjQsIDksIDQsIDIzOSwgMjYsIDksIDQsIDIzOSwgNzEsIDksIDQsIDIzOSwgMzgsIDksIDQsIDIwNywgNzIsIDksIAorICAgIDQsIDIwNywgNTcsIDksIDQsIDIwNywgOTYsIDksIDQsIDIwNywgODEsIDksIDQsIDIwNiwgMjA1LCA5LCA0LCAyMDYsIDIwNywgCisgICAgOSwgNCwgMjA2LCAyMDYsIDksIDQsIDIwNiwgMjI0LCA5LCA0LCAyMDYsIDI1MCwgOSwgNCwgMjA2LCAyMzMsIDksIDQsIAorICAgIDIwNywgMzIsIDksIDQsIDIwNywgNTEsIDksIDQsIDIwNywgMzcsIDksIDQsIDIwNSwgMjYsIDksIDQsIDIwNSwgMjUsIDksIAorICAgIDQsIDIwNSwgNDAsIDksIDQsIDIwNSwgMjgsIDksIDQsIDIwNSwgMzMsIDksIDQsIDIwNSwgMzUsIDksIDQsIDIwNSwgMzQsIAorICAgIDksIDQsIDIwNSwgMTAxLCA5LCA0LCAyMDUsIDk4LCA5LCA0LCAyMDUsIDExNiwgOSwgNCwgMjA1LCAxMDUsIDksIDQsIDIwNSwgCisgICAgMiwgOSwgNCwgMjA1LCA0LCA5LCA0LCAyMDUsIDMsIDksIDQsIDIwNSwgMTUsIDksIDQsIDIwNSwgMTQsIDksIDQsIDIwNSwgCisgICAgMTksIDksIDQsIDIwNSwgMTYsIDksIDQsIDIwNSwgODMsIDksIDQsIDIwNSwgOTMsIDksIDQsIDIwNSwgODcsIDksIDQsIAorICAgIDIwNCwgMjU0LCA5LCA0LCAyMDQsIDI1MywgOSwgNCwgMjA1LCA5LCA5LCA0LCAyMDUsIDEsIDksIDQsIDIwNCwgMjU1LCA5LCAKKyAgICA0LCAyMDUsIDAsIDksIDQsIDIwNCwgMjQwLCA5LCA0LCAyMDQsIDIzOSwgOSwgNCwgMjA0LCAyNDUsIDksIDQsIDIwNCwgCisgICAgMjQzLCA5LCA0LCAyMDQsIDI0MSwgOSwgNCwgMjA0LCAyNDIsIDksIDQsIDI0NywgMjI1LCA5LCA0LCAyNDcsIDIxOSwgOSwgCisgICAgNCwgMjQ3LCAyNTEsIDksIDQsIDI0NywgMjM1LCA5LCA0LCAyNDcsIDI0OCwgOSwgNCwgMjQ3LCAyNDIsIDksIDQsIDI0NywgCisgICAgMjUwLCA5LCA0LCAyNDcsIDI0OSwgOSwgNCwgMjQ4LCAxODMsIDksIDQsIDI0OCwgMTc1LCA5LCA0LCAyNDksIDEsIDksIDQsIAorICAgIDI0OCwgMjEzLCA5LCA0LCAyNDcsIDMxLCA5LCA0LCAyNDcsIDMzLCA5LCA0LCAyNDcsIDMyLCA5LCA0LCAyNDcsIDg0LCA5LCAKKyAgICA0LCAyNDcsIDc0LCA5LCA0LCAyNDcsIDE3NCwgOSwgNCwgMjQ3LCAxMDAsIDksIDQsIDI0OCwgMTEzLCA5LCA0LCAyNDgsIAorICAgIDE0OCwgOSwgNCwgMjQ4LCAxMTgsIDksIDQsIDI0NywgMTAsIDksIDQsIDI0NywgOCwgOSwgNCwgMjQ3LCA0MCwgOSwgNCwgCisgICAgMjQ3LCAyOSwgOSwgNCwgMjQ3LCAxNiwgOSwgNCwgMjQ3LCAyOCwgOSwgNCwgMjQ2LCAyNDMsIDksIDQsIDI0NiwgMjQyLCA5LCAKKyAgICA0LCAyNDYsIDI1NSwgOSwgNCwgMjQ2LCAyNDksIDksIDQsIDI0NiwgMjQ0LCA5LCA0LCAyNDYsIDI0NiwgOSwgNCwgMjA0LCAKKyAgICAyMjMsIDksIDQsIDIwNCwgMjIyLCA5LCA0LCAyMDQsIDIyOSwgOSwgNCwgMjA0LCAyMjQsIDksIDQsIDIwNCwgMjI2LCA5LCAKKyAgICA0LCAyMDQsIDIyNSwgOSwgNCwgMjA0LCAyMjgsIDksIDQsIDIwNCwgMjI3LCA5LCA0LCAyMDQsIDIzNSwgOSwgNCwgMjA0LCAKKyAgICAyMzQsIDksIDQsIDIwNCwgMjM4LCA5LCA0LCAyMDQsIDIzNiwgOSwgNCwgMjA0LCAyMTksIDksIDQsIDIwNCwgMjIxLCA5LCAKKyAgICA0LCAyMDQsIDIyMCwgOSwgNCwgMjA0LCAyMzAsIDksIDQsIDIwNCwgMjMzLCA5LCA0LCAyMDQsIDIzMSwgOSwgNCwgMjA0LCAKKyAgICAyMTIsIDksIDQsIDIwNCwgMjE2LCA5LCA0LCAyMDQsIDIxNSwgOSwgNCwgMjA0LCAyMTMsIDksIDQsIDIwNCwgMjE0LCA5LCAKKyAgICA0LCAyMDQsIDIwNiwgOSwgNCwgMjA0LCAyMDUsIDksIDQsIDIwNCwgMjExLCA5LCA0LCAyMDQsIDIwOSwgOSwgNCwgMjA0LCAKKyAgICAyMDcsIDksIDQsIDIwNCwgMjA4LCA5LCA0LCAyMjMsIDc4LCA5LCA0LCAyMjMsIDc3LCA5LCA0LCAyMjMsIDgzLCA5LCA0LCAKKyAgICAyMjMsIDc5LCA5LCA0LCAyMjMsIDgwLCA5LCA0LCAyMjMsIDgyLCA5LCA0LCAyMjMsIDgxLCA5LCA0LCAyMjMsIDg4LCA5LCAKKyAgICA0LCAyMjMsIDg3LCA5LCA0LCAyMjMsIDkxLCA5LCA0LCAyMjMsIDkwLCA5LCA0LCAyMjMsIDcxLCA5LCA0LCAyMjMsIDcyLCAKKyAgICA5LCA0LCAyMjMsIDc1LCA5LCA0LCAyMjMsIDc2LCA5LCA0LCAyMjMsIDg0LCA5LCA0LCAyMjMsIDg2LCA5LCA0LCAyMjMsIAorICAgIDY2LCA5LCA0LCAyMjMsIDc0LCA5LCA0LCAyMjMsIDcwLCA5LCA0LCAyMjMsIDY3LCA5LCA0LCAyMjMsIDY4LCA5LCA0LCAKKyAgICAyMjMsIDYxLCA5LCA0LCAyMjMsIDYwLCA5LCA0LCAyMjMsIDY1LCA5LCA0LCAyMjMsIDY0LCA5LCA0LCAyMjMsIDYyLCA5LCAKKyAgICA0LCAyMjMsIDYzLCA5LCA0LCAyMTUsIDEyLCA5LCA0LCAxODQsIDksIDQsIDIxNSwgODAsIDksIDQsIDIxNSwgMTUsIDksIDQsIAorICAgIDIxNSwgNjksIDksIDQsIDIxNSwgNzIsIDksIDQsIDIxNSwgNzAsIDksIDQsIDIxNywgMTMzLCA5LCA0LCAyMTcsIDExOSwgOSwgCisgICAgNCwgMjE3LCAxOTksIDksIDQsIDIxNywgMTQxLCA5LCA0LCAyMTMsIDE0NCwgOSwgNCwgMjEzLCAxNDYsIDksIDQsIDIxMywgCisgICAgMTQ1LCA5LCA0LCAyMTQsIDE2OCwgOSwgNCwgMjE0LCAxNTgsIDksIDQsIDIxNCwgMTkzLCA5LCA0LCAyMTQsIDE3MiwgOSwgCisgICAgNCwgMjE2LCAxNSwgOSwgNCwgMjE3LCA4NiwgOSwgNCwgMjE2LCA0MSwgOSwgNCwgMjEzLCAxMjEsIDksIDQsIDIxMywgMTE4LCAKKyAgICA5LCA0LCAyMTMsIDIwMywgOSwgNCwgMjEzLCAxNDMsIDksIDQsIDIxMywgMTI1LCA5LCA0LCAyMTMsIDEzMywgOSwgNCwgCisgICAgMjEzLCAyNCwgOSwgNCwgMjEzLCAyMywgOSwgNCwgMjEzLCA5MSwgOSwgNCwgMjEzLCAzMiwgOSwgNCwgMjEzLCAyNiwgOSwgCisgICAgNCwgMjEzLCAzMSwgOSwgNCwgMjE0LCA1OCwgOSwgNCwgMjE0LCA1NywgOSwgNCwgMjE0LCA2NCwgOSwgNCwgMjE0LCA1OSwgCisgICAgOSwgNCwgMjE0LCA2MSwgOSwgNCwgMjE0LCA2MywgOSwgNCwgMjE0LCA2MiwgOSwgNCwgMjE0LCA3MywgOSwgNCwgMjE0LCAKKyAgICA3MSwgOSwgNCwgMjE0LCA5NiwgOSwgNCwgMjE0LCA3NCwgOSwgNCwgMjE0LCA1MywgOSwgNCwgMjE0LCA1MiwgOSwgNCwgCisgICAgMjE0LCA1NiwgOSwgNCwgMjE0LCA1NCwgOSwgNCwgMjE0LCA2NywgOSwgNCwgMjE0LCA3MCwgOSwgNCwgMjE0LCA2OCwgOSwgCisgICAgNCwgMjE0LCA0OSwgOSwgNCwgMjE0LCA0NywgOSwgNCwgMjE0LCA1MSwgOSwgNCwgMjE0LCA1MCwgOSwgNCwgMjE0LCA0MiwgCisgICAgOSwgNCwgMjE0LCA0MSwgOSwgNCwgMjE0LCA0NiwgOSwgNCwgMjE0LCA0NSwgOSwgNCwgMjE0LCA0MywgOSwgNCwgMjE0LCAKKyAgICA0NCwgOSwgNCwgMjA1LCA3NiwgOSwgNCwgMjA1LCA3NSwgOSwgNCwgMjA1LCA4MSwgOSwgNCwgMjA1LCA3OCwgOSwgNCwgCisgICAgMjA1LCA1NSwgOSwgNCwgMjA1LCA1NywgOSwgNCwgMjA1LCA1NiwgOSwgNCwgMjA1LCA2MCwgOSwgNCwgMjA1LCA1OSwgOSwgCisgICAgNCwgMjA1LCA2NCwgOSwgNCwgMjA1LCA2MSwgOSwgNCwgMjA1LCA2OSwgOSwgNCwgMjA1LCA2OCwgOSwgNCwgMjA1LCA3MiwgCisgICAgOSwgNCwgMjA1LCA3MCwgOSwgNCwgMjA1LCA1MSwgOSwgNCwgMjA1LCA1MCwgOSwgNCwgMjA1LCA1OCwgOSwgNCwgMjA1LCAKKyAgICA1NCwgOSwgNCwgMjA1LCA1MiwgOSwgNCwgMjA1LCA1MywgOSwgNCwgMjA1LCA0MywgOSwgNCwgMjA1LCA0MiwgOSwgNCwgCisgICAgMjA1LCA0NywgOSwgNCwgMjA1LCA0NiwgOSwgNCwgMjA1LCA0NCwgOSwgNCwgMjA1LCA0NSwgOSwgNCwgMjQ4LCA4OCwgOSwgCisgICAgNCwgMjQ4LCA4NCwgOSwgNCwgMjQ4LCAxMTAsIDksIDQsIDI0OCwgOTcsIDksIDQsIDI0OCwgMTAsIDksIDQsIDI0OCwgOSwgCisgICAgOSwgNCwgMjQ4LCAxMiwgOSwgNCwgMjQ4LCAxMSwgOSwgNCwgMjQ4LCAyNSwgOSwgNCwgMjQ4LCAyNCwgOSwgNCwgMjQ4LCAKKyAgICAzMiwgOSwgNCwgMjQ4LCAyNywgOSwgNCwgMjQ4LCA2MywgOSwgNCwgMjQ4LCA2MSwgOSwgNCwgMjQ4LCA4MiwgOSwgNCwgCisgICAgMjQ4LCA3MCwgOSwgNCwgMjQ4LCA0LCA5LCA0LCAyNDgsIDE0LCA5LCA0LCAyNDgsIDgsIDksIDQsIDI0OCwgNSwgOSwgNCwgCisgICAgMjQ4LCA3LCA5LCA0LCAyNDcsIDI1MywgOSwgNCwgMjQ3LCAyNTIsIDksIDQsIDI0OCwgMSwgOSwgNCwgMjQ4LCAwLCA5LCA0LCAKKyAgICAyNDcsIDI1NCwgOSwgNCwgMjQ3LCAyNTUsIDksIDQsIDIxOCwgODUsIDksIDQsIDIxOCwgODksIDksIDQsIDIxOCwgNjgsIDksIAorICAgIDQsIDIxOCwgNjksIDksIDQsIDIxOCwgNzIsIDksIDQsIDIxOCwgNzEsIDksIDQsIDIxOCwgNzUsIDksIDQsIDIxOCwgNzMsIAorICAgIDksIDQsIDIxOCwgNzksIDksIDQsIDIxOCwgNzgsIDksIDQsIDIxOCwgODQsIDksIDQsIDIxOCwgODAsIDksIDQsIDIxOCwgCisgICAgNjQsIDksIDQsIDIxOCwgNjIsIDksIDQsIDIxOCwgNzAsIDksIDQsIDIxOCwgNjcsIDksIDQsIDIxOCwgNjUsIDksIDQsIAorICAgIDIxOCwgNjYsIDksIDQsIDIxOCwgNTcsIDksIDQsIDIxOCwgNTYsIDksIDQsIDIxOCwgNjEsIDksIDQsIDIxOCwgNjAsIDksIAorICAgIDQsIDIxOCwgNTgsIDksIDQsIDIxOCwgNTksIDksIDQsIDIyNCwgMjIsIDksIDQsIDIyNCwgMjEsIDksIDQsIDIyNCwgMjQsIAorICAgIDksIDQsIDIyNCwgMjMsIDksIDQsIDIyNCwgMTMsIDksIDQsIDIyNCwgMTUsIDksIDQsIDIyNCwgMTQsIDksIDQsIDIyNCwgCisgICAgMTcsIDksIDQsIDIyNCwgMTYsIDksIDQsIDIyNCwgMjAsIDksIDQsIDIyNCwgMTksIDksIDQsIDIyNCwgNywgOSwgNCwgMjI0LCAKKyAgICA2LCA5LCA0LCAyMjQsIDEyLCA5LCA0LCAyMjQsIDEwLCA5LCA0LCAyMjQsIDgsIDksIDQsIDIyNCwgOSwgOSwgNCwgMjI0LCAKKyAgICAxLCA5LCA0LCAyMjQsIDAsIDksIDQsIDIyNCwgNSwgOSwgNCwgMjI0LCA0LCA5LCA0LCAyMjQsIDIsIDksIDQsIDIyNCwgMywgCisgICAgOSwgNCwgMjE1LCAyMjQsIDksIDQsIDIxNSwgMjE5LCA5LCA0LCAyMTYsIDIsIDksIDQsIDIxNSwgMjM1LCA5LCA0LCAyMTUsIAorICAgIDEwNSwgOSwgNCwgMjE1LCAxMDcsIDksIDQsIDIxNSwgMTA2LCA5LCA0LCAyMTUsIDEyOCwgOSwgNCwgMjE1LCAxMjUsIDksIAorICAgIDQsIDIxNSwgMTU4LCA5LCA0LCAyMTUsIDE0OCwgOSwgNCwgMjE1LCAxOTMsIDksIDQsIDIxNSwgMTg2LCA5LCA0LCAyMTUsIAorICAgIDIxNCwgOSwgNCwgMjE1LCAyMDEsIDksIDQsIDIxNSwgMTAxLCA5LCA0LCAyMTUsIDk5LCA5LCA0LCAyMTUsIDExNiwgOSwgNCwgCisgICAgMjE1LCAxMDQsIDksIDQsIDIxNSwgMTAyLCA5LCA0LCAyMTUsIDEwMywgOSwgNCwgMjE1LCA4MywgOSwgNCwgMjE1LCA4MiwgCisgICAgOSwgNCwgMjE1LCA4OSwgOSwgNCwgMjE1LCA4NiwgOSwgNCwgMjE1LCA4NCwgOSwgNCwgMjE1LCA4NSwgOSwgNCwgMjE5LCAKKyAgICA2NSwgOSwgNCwgMjE5LCA1OSwgOSwgNCwgMjE5LCAxMTMsIDksIDQsIDIxOSwgNzEsIDksIDQsIDIxOCwgMjksIDksIDQsIAorICAgIDIxOCwgMzEsIDksIDQsIDIxOCwgMzAsIDksIDQsIDIxOCwgOTgsIDksIDQsIDIxOCwgOTEsIDksIDQsIDIxOCwgMTI0LCA5LCAKKyAgICA0LCAyMTgsIDEwMiwgOSwgNCwgMjE4LCAyMTcsIDksIDQsIDIxOSwgNTEsIDksIDQsIDIxOSwgMCwgOSwgNCwgMjE4LCAyMiwgCisgICAgOSwgNCwgMjE4LCAxOSwgOSwgNCwgMjE4LCA1MCwgOSwgNCwgMjE4LCAyOCwgOSwgNCwgMjE4LCAyNCwgOSwgNCwgMjE4LCAKKyAgICAyNSwgOSwgNCwgMjE4LCA0LCA5LCA0LCAyMTgsIDMsIDksIDQsIDIxOCwgOSwgOSwgNCwgMjE4LCA3LCA5LCA0LCAyMTgsIDUsIAorICAgIDksIDQsIDIxOCwgNiwgOSwgNCwgMjMyLCAxNTIsIDksIDQsIDIzMiwgMTUxLCA5LCA0LCAyMzIsIDE2MiwgOSwgNCwgMjMyLCAKKyAgICAxNTMsIDksIDQsIDIzMiwgMTU4LCA5LCA0LCAyMzIsIDE1NywgOSwgNCwgMjMyLCAxNjAsIDksIDQsIDIzMiwgMTU5LCA5LCAKKyAgICA0LCAyMzIsIDk0LCA5LCA0LCAyMzIsIDkzLCA5LCA0LCAyMzIsIDk2LCA5LCA0LCAyMzIsIDk1LCA5LCA0LCAyMzIsIDExMCwgCisgICAgOSwgNCwgMjMyLCAxMDgsIDksIDQsIDIzMiwgMTIyLCA5LCA0LCAyMzIsIDExMiwgOSwgNCwgMjMyLCA4NywgOSwgNCwgMjMyLCAKKyAgICA4NSwgOSwgNCwgMjMyLCAxMDQsIDksIDQsIDIzMiwgOTIsIDksIDQsIDIzMiwgODksIDksIDQsIDIzMiwgOTAsIDksIDQsIAorICAgIDIzMiwgNzksIDksIDQsIDIzMiwgNzgsIDksIDQsIDIzMiwgODMsIDksIDQsIDIzMiwgODIsIDksIDQsIDIzMiwgODAsIDksIAorICAgIDQsIDIzMiwgODEsIDksIDQsIDIxOSwgMjMwLCA5LCA0LCAyMTksIDIyOCwgOSwgNCwgMjE5LCAyMzcsIDksIDQsIDIxOSwgCisgICAgMjMxLCA5LCA0LCAyMTksIDIzNCwgOSwgNCwgMjE5LCAyMzMsIDksIDQsIDIxOSwgMjM2LCA5LCA0LCAyMTksIDIzNSwgOSwgCisgICAgNCwgMjE5LCAxODEsIDksIDQsIDIxOSwgMTc4LCA5LCA0LCAyMTksIDE4MywgOSwgNCwgMjE5LCAxODIsIDksIDQsIDIxOSwgCisgICAgMjE3LCA5LCA0LCAyMTksIDIxNiwgOSwgNCwgMjE5LCAyMjYsIDksIDQsIDIxOSwgMjIwLCA5LCA0LCAyMTksIDE3MywgOSwgCisgICAgNCwgMjE5LCAxNjksIDksIDQsIDIxOSwgMjE0LCA5LCA0LCAyMTksIDE3NywgOSwgNCwgMjE5LCAxNzUsIDksIDQsIDIxOSwgCisgICAgMTc2LCA5LCA0LCAyMTksIDE1MywgOSwgNCwgMjE5LCAxNTEsIDksIDQsIDIxOSwgMTYzLCA5LCA0LCAyMTksIDE1NiwgOSwgCisgICAgNCwgMjE5LCAxNTQsIDksIDQsIDIxOSwgMTU1LCA5LCA0LCAyMzIsIDE0MSwgOSwgNCwgMjMyLCAxNDAsIDksIDQsIDIzMiwgCisgICAgMTQ3LCA5LCA0LCAyMzIsIDE0MiwgOSwgNCwgMjMyLCAxNDQsIDksIDQsIDIzMiwgMTQzLCA5LCA0LCAyMzIsIDE0NiwgOSwgCisgICAgNCwgMjMyLCAxNDUsIDksIDQsIDIzMiwgMTMyLCA5LCA0LCAyMzIsIDEzNCwgOSwgNCwgMjMyLCAxMzMsIDksIDQsIDIzMiwgCisgICAgMTM3LCA5LCA0LCAyMzIsIDEzNiwgOSwgNCwgMjMyLCAxMzksIDksIDQsIDIzMiwgMTM4LCA5LCA0LCAyMzIsIDEyOCwgOSwgCisgICAgNCwgMjMyLCAxMjcsIDksIDQsIDIzMiwgMTM1LCA5LCA0LCAyMzIsIDEzMSwgOSwgNCwgMjMyLCAxMjksIDksIDQsIDIzMiwgCisgICAgMTMwLCA5LCA0LCAyMzIsIDEyNCwgOSwgNCwgMjMyLCAxMjMsIDksIDQsIDIzMiwgMTI2LCA5LCA0LCAyMzIsIDEyNSwgOSwgCisgICAgNCwgMjI0LCAxNTcsIDksIDQsIDIyNCwgMTU2LCA5LCA0LCAyMjQsIDE2NCwgOSwgNCwgMjI0LCAxNTgsIDksIDQsIDIyNCwgCisgICAgMTYwLCA5LCA0LCAyMjQsIDE1OSwgOSwgNCwgMjI0LCAxNjMsIDksIDQsIDIyNCwgMTYxLCA5LCA0LCAyMjQsIDE0NiwgOSwgCisgICAgNCwgMjI0LCAxNDcsIDksIDQsIDIyNCwgMTUyLCA5LCA0LCAyMjQsIDE1MSwgOSwgNCwgMjI0LCAxNTUsIDksIDQsIDIyNCwgCisgICAgMTUzLCA5LCA0LCAyMjQsIDE0MSwgOSwgNCwgMjI0LCAxNTAsIDksIDQsIDIyNCwgMTQ1LCA5LCA0LCAyMjQsIDE0MiwgOSwgCisgICAgNCwgMjI0LCAxNDMsIDksIDQsIDIyNCwgMTM2LCA5LCA0LCAyMjQsIDEzNSwgOSwgNCwgMjI0LCAxNDAsIDksIDQsIDIyNCwgCisgICAgMTM5LCA5LCA0LCAyMjQsIDEzNywgOSwgNCwgMjI0LCAxMzgsIDksIDQsIDIyMywgMTEzLCA5LCA0LCAyMjMsIDExMiwgOSwgCisgICAgNCwgMjIzLCAxMjUsIDksIDQsIDIyMywgMTE3LCA5LCA0LCAyMjMsIDEyMiwgOSwgNCwgMjIzLCAxMjEsIDksIDQsIDIyMywgCisgICAgMTI0LCA5LCA0LCAyMjMsIDEyMywgOSwgNCwgMjIzLCA5OCwgOSwgNCwgMjIzLCAxMDAsIDksIDQsIDIyMywgOTksIDksIDQsIAorICAgIDIyMywgMTA1LCA5LCA0LCAyMjMsIDEwNCwgOSwgNCwgMjIzLCAxMTAsIDksIDQsIDIyMywgMTA2LCA5LCA0LCAyMjMsIDk2LCAKKyAgICA5LCA0LCAyMjMsIDk0LCA5LCA0LCAyMjMsIDEwMywgOSwgNCwgMjIzLCA5NywgOSwgNCwgMjA2LCAxNjEsIDksIDQsIDIwNiwgCisgICAgMTYwLCA5LCA0LCAyMDYsIDE2OSwgOSwgNCwgMjA2LCAxNjMsIDksIDQsIDIwNiwgMTY1LCA5LCA0LCAyMDYsIDE2NCwgOSwgCisgICAgNCwgMjA2LCAxNjcsIDksIDQsIDIwNiwgMTY2LCA5LCA0LCAyMDYsIDE0OSwgOSwgNCwgMjA2LCAxNTAsIDksIDQsIDIwNiwgCisgICAgMTU0LCA5LCA0LCAyMDYsIDE1MywgOSwgNCwgMjA2LCAxNTksIDksIDQsIDIwNiwgMTU3LCA5LCA0LCAyMDYsIDEyNywgOSwgCisgICAgNCwgMjA2LCAxMjUsIDksIDQsIDIwNiwgMTQwLCA5LCA0LCAyMDYsIDEzMCwgOSwgNCwgMjA2LCAxMjgsIDksIDQsIDIwNiwgCisgICAgMTI5LCA5LCA0LCAyMDUsIDI1MywgOSwgNCwgMjA1LCAyNTEsIDksIDQsIDIwNiwgMTEsIDksIDQsIDIwNSwgMjU0LCA5LCA0LCAKKyAgICAyMDYsIDUsIDksIDQsIDIwNiwgNCwgOSwgNCwgMjA2LCA4LCA5LCA0LCAyMDYsIDYsIDksIDQsIDIwNSwgMTkxLCA5LCA0LCAKKyAgICAyMDUsIDE5MCwgOSwgNCwgMjA1LCAxOTQsIDksIDQsIDIwNSwgMTkyLCA5LCA0LCAyMDUsIDIyNywgOSwgNCwgMjA1LCAyMjMsIAorICAgIDksIDQsIDIwNSwgMjQ3LCA5LCA0LCAyMDUsIDIzMSwgOSwgNCwgMjA1LCAxODIsIDksIDQsIDIwNSwgMTc4LCA5LCA0LCAKKyAgICAyMDUsIDIxMywgOSwgNCwgMjA1LCAxODksIDksIDQsIDIwNSwgMTg1LCA5LCA0LCAyMDUsIDE4NiwgOSwgNCwgMjA1LCAxNjIsIAorICAgIDksIDQsIDIwNSwgMTYxLCA5LCA0LCAyMDUsIDE2OSwgOSwgNCwgMjA1LCAxNjUsIDksIDQsIDIwNSwgMTYzLCA5LCA0LCAKKyAgICAyMDUsIDE2NCwgOSwgMzcsIDIxOSwgMjE3LCA5LCAzNywgMjI5LCAyMzUsIDksIDM3LCAyMzEsIDg5LCA5LCAzNywgMjIzLCAKKyAgICAxMTcsIDksIDM3LCAyNDYsIDI0OSwgOSwgMzcsIDIxNCwgNjQsIDksIDM3LCAyNDAsIDExOCwgOSwgMzcsIDI0MCwgMTUwLCAKKyAgICA5LCAzNywgMjI2LCAyNTQsIDksIDM3LCAyMzcsIDI1MSwgOSwgMzcsIDIyOSwgMzUsIDksIDM3LCAyNTAsIDY5LCA5LCAzNywgCisgICAgMjI2LCAxNDIsIDksIDM3LCAyMDUsIDI0NywgOSwgMzcsIDIyMCwgNTIsIDksIDM3LCAyMzcsIDI0NSwgOSwgMzcsIDIxMiwgCisgICAgMTU2LCA5LCAzNywgMjQwLCAyNDQsIDksIDM3LCAyMDUsIDEsIDksIDM3LCAyNDYsIDI0MywgOSwgMzcsIDI0NiwgMTQsIDksIAorICAgIDM3LCAyNDksIDY4LCA5LCAzNywgMjQwLCAxMTQsIDksIDM3LCAyMjMsIDEwNiwgOSwgMzcsIDIxMCwgMTcwLCA5LCAzNywgCisgICAgMjIyLCAxNDMsIDksIDM3LCAyMzIsIDEyOCwgOSwgMzcsIDIwNSwgMTUsIDksIDM3LCAyMjAsIDMxLCA5LCAzNywgMjM4LCAKKyAgICAxOTEsIDksIDM3LCAyMDUsIDI1MywgOSwgMzcsIDIwNywgMTQ0LCA5LCAzNywgMjE1LCA4OSwgOSwgMzcsIDIwOSwgMjgsIDksIAorICAgIDM3LCAyMDUsIDExNiwgOSwgMzcsIDIzMiwgMTIyLCA5LCAzNywgMjIzLCA3MCwgOSwgMzcsIDIzMiwgMTI2LCA5LCAzNywgCisgICAgMjM5LCAyNTQsIDksIDM3LCAyMzIsIDE0NiwgOSwgMzcsIDIwNiwgMjUwLCA5LCAzNywgMjQzLCAyMzcsIDksIDM3LCAyMTUsIAorICAgIDEwMywgOSwgMzcsIDIyOSwgMjMwLCA5LCAzNywgMjQ2LCAyNTUsIDksIDM3LCAyNDcsIDMyLCA5LCAzNywgMjQ3LCAyMzUsIAorICAgIDksIDM3LCAyMzcsIDI0OCwgOSwgMzcsIDIxNSwgMjI0LCA5LCAzNywgMjA1LCAwLCA5LCAzNywgMjE1LCAxNDgsIDksIDM3LCAKKyAgICAyNDgsIDgyLCA5LCAzNywgMjA0LCAyMjYsIDksIDM3LCAyMjUsIDE3NywgOSwgMzcsIDIzMSwgMjI0LCAyMjksIDE4NSwgMSwgCisgICAgMjUwLCAxODMsIDIyOSwgMTg1LCAxLCAxNzksIDIyOSwgMTg1LCAxLCAyMjEsIDkzLCAyMjksIDE4NSwgMSwgMjQ2LCAxNDUsIAorICAgIDIyOSwgMTg1LCAxLCAyMTIsIDIxOSwgMjI5LCAxODUsIDEsIDIxMiwgNTYsIDIyOSwgMTg1LCAxLCAyNDAsIDI0NCwgMjI5LCAKKyAgICAxODUsIDEsIDE3MiwgMjI5LCAxODUsIDEsIDIzMSwgMTY3LCAyMjksIDE4NSwgMSwgMjMyLCAyMDAsIDIyOSwgMTg1LCAxLCAKKyAgICAyNDksIDEsIDIyOSwgMTg1LCAxLCAyNDgsIDExMCwgMjI5LCAxODUsIDEsIDI0MywgMTk2LCAyMjksIDE4NSwgMSwgMjEwLCAKKyAgICAyNDMsIDIyOSwgMTg1LCAxLCAyMTAsIDIzMywgMjI5LCAxODUsIDEsIDE4NSwgMjI5LCAxODUsIDEsIDE5OSwgMjI5LCAxODUsIAorICAgIDEsIDIzMCwgMTQxLCAyMjksIDE4NSwgMSwgMjE3LCAxOTksIDIyOSwgMTg1LCAxLCAyMDUsIDgxLCAyMjksIDE4NSwgMSwgCisgICAgMjA1LCAxMTYsIDIyOSwgMTg1LCAxLCAyMjUsIDc3LCAyMjksIDE4NSwgMSwgMTU1LCAyMjksIDE4NSwgMSwgMjA2LCAxODEsIAorICAgIDIyOSwgMTg1LCAxLCAyMzksIDIwLCAyMjksIDE4NSwgMSwgMjQyLCA3MywgMjI5LCAxODUsIDEsIDIwNywgOTYsIDIyOSwgCisgICAgMTg1LCAxLCAyMTYsIDIsIDIyOSwgMTg1LCAxLCAxOTAsIDIyOSwgMTg1LCAxLCAyNDAsIDk5LCAyMjksIDE4NSwgMSwgNjIsIAorICAgIDIyOSwgMTg1LCAxLCAyNTIsIDI0OCwgMjI5LCAxODUsIDEsIDc1LCAyMjksIDE4NSwgMSwgMjQyLCAxOTIsIDIyOSwgMTg1LCAKKyAgICAxLCA3NCwgMjI5LCAxODUsIDEsIDc2LCAyMjksIDE4NSwgMSwgNzEsIDIyOSwgMTg1LCAxLCAyMTAsIDMsIDIyOSwgMTg1LCAKKyAgICAxLCAyMDksIDI1MywgMjI5LCAxODUsIDEsIDIyMiwgMjA2LCAyMjksIDE4NSwgMSwgMTM1LCAyMjYsIDQwLCAyMTEsIDIxMSwgCisgICAgMjI5LCAxODUsIDEsIDEzNSwgMjI1LCAyMzcsIDIyMCwgMjExLCAyMjksIDE4NSwgMSwgMTM1LCAyMjYsIDQwLCAyNDYsIAorICAgIDI1NCwgMjI5LCAxODUsIDEsIDEzNSwgMjI2LCA0MCwgMjQ5LCAxODQsIDIyOSwgMTg1LCAxLCAxMzUsIDIyNiwgNDAsIDE5OSwgCisgICAgMjI5LCAxODUsIDEsIDEzNSwgMjI2LCA0MCwgMjMyLCAxNzEsIDIyOSwgMTg1LCAyMjAsIDcyLCAyNDcsIDE1NSwgMjI5LCAKKyAgICAxODUsIDIyMCwgNzIsIDI0MSwgODIsIDIxMywgMjUxLCA0NiwgNCwgMjQzLCAxMDQsIDQ2LCA0LCAyNDMsIDEwMCwgNDYsIDQsIAorICAgIDIzOSwgNTMsIDQ2LCA0LCAyMDcsIDQ1LCA0NiwgNCwgMjA3LCA0NCwgNDYsIDQsIDIyMSwgMTY0LCA0NiwgNCwgMjQ5LCAKKyAgICAyNTEsIDQ2LCA0LCAyNTAsIDUwLCA0NiwgNCwgMjI3LCAxNDUsIDQ2LCA0LCAyMzEsIDEwLCA0NiwgNCwgMjI3LCAzMCwgNDYsIAorICAgIDQsIDI0MCwgMTgzLCA0NiwgNCwgMjQyLCAyMSwgNDYsIDQsIDIwOSwgMzQsIDQ2LCA0LCAyMTIsIDEyMCwgNDYsIDQsIDIxMiwgCisgICAgMzksIDQ2LCA0LCAyNDUsIDE4MiwgNDYsIDQsIDI0NSwgMTc5LCA0NiwgNCwgMjMwLCA1MCwgNDYsIDQsIDIxOSwgMjksIDQ2LCAKKyAgICA0LCAyNDUsIDI1MSwgNDYsIDQsIDIyNSwgMTQyLCA0NiwgNCwgMjE3LCA3NCwgNDYsIDQsIDIxNSwgMjEyLCA0NiwgNCwgCisgICAgMjA1LCA5MSwgNDYsIDQsIDIwNSwgNzEsIDQ2LCA0LCAyNDgsIDE0MCwgNDYsIDQsIDIzMiwgMTgwLCA0NiwgNCwgMjI0LCAKKyAgICAxNzEsIDQ2LCA0LCAyMDYsIDQ5LCA0NiwgNCwgMjMxLCAyMjEsIDQ2LCA0LCAyMjUsIDUwLCA0NiwgNCwgMjQwLCAxNjIsIAorICAgIDQ2LCA0LCAyMjcsIDEwNywgNDYsIDQsIDIyNSwgMTA2LCA0NiwgNCwgMjIzLCAxMzMsIDQ2LCA0LCA3NCwgNDYsIDQsIDIzMywgCisgICAgNjgsIDQ2LCA0LCAyMzksIDExLCA0NiwgNCwgMjM4LCAyNDYsIDQ2LCA0LCAyMDcsIDIwLCA0NiwgNCwgMjA3LCAxMSwgNDYsIAorICAgIDQsIDIyMSwgNTMsIDQ2LCA0LCAyNDksIDI0OSwgNDYsIDQsIDI0OSwgMjQ0LCA0NiwgNCwgMjI3LCAxMzgsIDQ2LCA0LCAKKyAgICAyMzEsIDcsIDQ2LCA0LCAyMjcsIDI3LCA0NiwgNCwgMjQwLCAxNzksIDQ2LCA0LCAyNDEsIDI1MCwgNDYsIDQsIDIwOCwgCisgICAgMjE0LCA0NiwgNCwgMjExLCAyMTEsIDQ2LCA0LCAyMTIsIDE5LCA0NiwgNCwgMjQ1LCAxNzQsIDQ2LCA0LCAyNDUsIDE3OCwgCisgICAgNDYsIDQsIDIyOSwgMjM1LCA0NiwgNCwgMjE4LCAyMDgsIDQ2LCA0LCAyNDUsIDE2OCwgNDYsIDQsIDIyNSwgMTM2LCA0NiwgCisgICAgNCwgMjE1LCA4MCwgNDYsIDQsIDIxNSwgMTgzLCA0NiwgNCwgMjA1LCA0MCwgNDYsIDQsIDIwNSwgNjcsIDQ2LCA0LCAyNDcsIAorICAgIDI1MSwgNDYsIDQsIDIzMiwgMTYyLCA0NiwgNCwgMjI0LCAxNjQsIDQ2LCA0LCAyMDYsIDExLCA0NiwgNCwgMjMxLCAxMjMsIAorICAgIDQ2LCA0LCAyMjUsIDQyLCA0NiwgNCwgMjQwLCA2MSwgNDYsIDQsIDIyNiwgMjU0LCA0NiwgNCwgMjI0LCAyMzAsIDQ2LCA0LCAKKyAgICAyMjMsIDEyNSwgNDYsIDQsIDYyLCA0NiwgNCwgMjUyLCAxMjIsIDQ2LCA0LCAyMjUsIDcyLCA0NiwgNCwgMTU1LCA0NiwgNCwgCisgICAgMjM5LCAxMTAsIDQ2LCA0LCAyMDcsIDk2LCA0NiwgNCwgMjA3LCA4NSwgNDYsIDQsIDE3OSwgNDYsIDQsIDI1MCwgMCwgNDYsIAorICAgIDQsIDI1MCwgMTgzLCA0NiwgNCwgMjI3LCAxNTMsIDQ2LCA0LCAyMzEsIDE1LCA0NiwgNCwgMjMxLCAxMywgNDYsIDQsIDIyNywgCisgICAgMzQsIDQ2LCA0LCAyNDAsIDE4NywgNDYsIDQsIDI0MiwgNzMsIDQ2LCA0LCAyMDksIDcwLCA0NiwgNCwgMjEyLCAyMTksIDQ2LCAKKyAgICA0LCAyMTIsIDU2LCA0NiwgNCwgMjQ1LCAxOTIsIDQ2LCA0LCAyNDUsIDE4MSwgNDYsIDQsIDIzMCwgMTQxLCA0NiwgNCwgCisgICAgMjE5LCAxMTMsIDQ2LCA0LCAyNDYsIDE0NSwgNDYsIDQsIDIyNSwgMTUxLCA0NiwgNCwgMjE3LCAxOTksIDQ2LCA0LCAyMTYsIAorICAgIDIsIDQ2LCA0LCAyMDUsIDExNiwgNDYsIDQsIDIwNSwgODEsIDQ2LCA0LCAyNDksIDEsIDQ2LCA0LCAyMzIsIDIwMCwgNDYsIAorICAgIDQsIDIyNCwgMTgwLCA0NiwgNCwgMTkwLCA0NiwgNCwgMTcyLCA0NiwgNCwgMjMyLCAyNywgNDYsIDQsIDIyNSwgNTYsIDQ2LCAKKyAgICA0LCAyNDAsIDI0NCwgNDYsIDQsIDE4NSwgNDYsIDQsIDE5OSwgNDYsIDQsIDIyMywgMTQ0LCA0NiwgNCwgMjIyLCAxNTIsIAorICAgIDQ2LCA0LCAyMjIsIDE0NywgNDYsIDQsIDIzOCwgMTMxLCA0NiwgNCwgMjA2LCAyMzgsIDQ2LCA0LCAyMDYsIDIzNCwgNDYsIAorICAgIDQsIDIyMCwgMTg3LCA0NiwgNCwgMjQ5LCAyNDcsIDQ2LCA0LCAyNDksIDE3MiwgNDYsIDQsIDIyNywgMTMzLCA0NiwgNCwgCisgICAgMjMxLCA1LCA0NiwgNCwgMjI3LCAyMywgNDYsIDQsIDI0MCwgMTc1LCA0NiwgNCwgMjQxLCAxNTEsIDQ2LCA0LCAyMDgsIAorICAgIDE2MSwgNDYsIDQsIDIxMSwgMTA1LCA0NiwgNCwgMjExLCAyNDgsIDQ2LCA0LCAyNDUsIDE3MSwgNDYsIDQsIDI0NSwgMTc2LCAKKyAgICA0NiwgNCwgMjI5LCAxMTUsIDQ2LCA0LCAyMTgsIDEwNywgNDYsIDQsIDI0NSwgMjgsIDQ2LCA0LCAyMjUsIDEyMywgNDYsIDQsIAorICAgIDIxNCwgMTc0LCA0NiwgNCwgMjE1LCAxNTIsIDQ2LCA0LCAyMDUsIDE3LCA0NiwgNCwgMjA1LCA2MiwgNDYsIDQsIDI0NywgCisgICAgMTA1LCA0NiwgNCwgMjMyLCAxMTMsIDQ2LCA0LCAyMjQsIDE1NCwgNDYsIDQsIDIwNSwgMjMyLCA0NiwgNCwgMjMxLCAzMywgCisgICAgNDYsIDQsIDIyNSwgNDAsIDQ2LCA0LCAyNDAsIDgsIDQ2LCA0LCAyMjYsIDE1MCwgNDYsIDQsIDIyNCwgNTYsIDQ2LCA0LCAKKyAgICAyMjMsIDEwNywgNDYsIDQsIDcxLCA0NiwgNCwgMjA5LCAyMzQsIDQ2LCA0LCAyMzgsIDQyLCA0NiwgNCwgMjM4LCAzMSwgNDYsIAorICAgIDQsIDIwNiwgMjE2LCA0NiwgNCwgMjA2LCAyMDksIDQ2LCA0LCAyMjAsIDgyLCA0NiwgNCwgMjQ5LCAyNDYsIDQ2LCA0LCAKKyAgICAyNDksIDEwMSwgNDYsIDQsIDIyNywgMTMyLCA0NiwgNCwgMjMxLCAzLCA0NiwgNCwgMjI3LCAyMiwgNDYsIDQsIDI0MCwgCisgICAgMTc0LCA0NiwgNCwgMjQxLCA4OCwgNDYsIDQsIDIwNywgMTQ4LCA0NiwgNCwgMjEwLCAxNzAsIDQ2LCA0LCAyMTEsIDIzMCwgCisgICAgNDYsIDQsIDI0NSwgMTY5LCA0NiwgNCwgMjQ1LCAxNzUsIDQ2LCA0LCAyMjksIDgxLCA0NiwgNCwgMjE4LCA1MCwgNDYsIDQsIAorICAgIDI0MywgMjM3LCA0NiwgNCwgMjI1LCAxMTgsIDQ2LCA0LCAyMTMsIDIwMywgNDYsIDQsIDIxNSwgMTE2LCA0NiwgNCwgMjA1LCAKKyAgICA5LCA0NiwgNCwgMjA1LCA1OCwgNDYsIDQsIDI0NywgNDAsIDQ2LCA0LCAyMzIsIDEwNCwgNDYsIDQsIDIyNCwgMTUwLCA0NiwgCisgICAgNCwgMjA1LCAyMTMsIDQ2LCA0LCAyMzAsIDIzNiwgNDYsIDQsIDIyNSwgMzksIDQ2LCA0LCAyMzksIDIxMywgNDYsIDQsIAorICAgIDIyNiwgMTE0LCA0NiwgNCwgMjIzLCAyMTcsIDQ2LCA0LCAyMjMsIDEwMywgNDYsIDQsIDc2LCA0NiwgNCwgMjIyLCAxNjUsIAorICAgIDQ2LCA0LCAyMjQsIDI1NCwgNDYsIDQsIDIzOCwgMTQ5LCA0NiwgNCwgMjM4LCAxMzQsIDQ2LCA0LCAyMDYsIDI1MCwgNDYsIAorICAgIDQsIDIwNiwgMjM5LCA0NiwgNCwgMjIwLCAyMTEsIDQ2LCA0LCAyNDksIDI0OCwgNDYsIDQsIDI0OSwgMTg0LCA0NiwgNCwgCisgICAgMjI3LCAxMzQsIDQ2LCA0LCAyMzEsIDYsIDQ2LCA0LCAyMjcsIDI1LCA0NiwgNCwgMjQwLCAxNzcsIDQ2LCA0LCAyNDAsIAorICAgIDE3NiwgNDYsIDQsIDI0MSwgMTYyLCA0NiwgNCwgMjA4LCAxNzMsIDQ2LCA0LCAxMjQsIDQ2LCA0LCAyMTEsIDI1MywgNDYsIAorICAgIDQsIDI0NSwgMTcyLCA0NiwgNCwgMjQ1LCAxNzcsIDQ2LCA0LCAyMjksIDE0NCwgNDYsIDQsIDIxOCwgMTI0LCA0NiwgNCwgCisgICAgMjQ1LCA1MSwgNDYsIDQsIDIyNSwgMTI3LCA0NiwgNCwgMjE0LCAxOTMsIDQ2LCA0LCAyMTUsIDE1OCwgNDYsIDQsIDIwNSwgCisgICAgMTksIDQ2LCA0LCAyMDUsIDY0LCA0NiwgNCwgMjQ3LCAxNzQsIDQ2LCA0LCAyMzIsIDEyMiwgNDYsIDQsIDIyNCwgMTU1LCAKKyAgICA0NiwgNCwgMjA1LCAyNDcsIDQ2LCA0LCAyMzEsIDUzLCA0NiwgNCwgMjI1LCA0MSwgNDYsIDQsIDI0MCwgMTksIDQ2LCA0LCAKKyAgICAyMjYsIDE4MSwgNDYsIDQsIDIyNCwgNjcsIDQ2LCA0LCAyMjMsIDExMCwgNDYsIDQsIDc1LCA0NiwgNCwgMjQzLCA0MSwgNDYsIAorICAgIDQsIDIyNSwgNjEsIDQ2LCA0LCAyMzksIDcxLCA0NiwgNCwgMjM5LCA0MSwgNDYsIDQsIDIwNywgNTEsIDQ2LCA0LCAyMDcsIAorICAgIDM5LCA0NiwgNCwgMjIxLCAxNzQsIDQ2LCA0LCAyNDksIDI1MiwgNDYsIDQsIDI1MCwgNjEsIDQ2LCA0LCAyMjcsIDE0NiwgCisgICAgNDYsIDQsIDIzMSwgMTEsIDQ2LCA0LCAyMzEsIDksIDQ2LCA0LCAyMjcsIDMxLCA0NiwgNCwgMjQwLCAxODQsIDQ2LCA0LCAKKyAgICAyNDAsIDE4MiwgNDYsIDQsIDI0MiwgMjgsIDQ2LCA0LCAyMDksIDM5LCA0NiwgNCwgMjEyLCAxMzEsIDQ2LCA0LCAyMTIsIAorICAgIDQxLCA0NiwgNCwgMjQ1LCAxODMsIDQ2LCA0LCAyNDUsIDE4MCwgNDYsIDQsIDIzMCwgNTgsIDQ2LCA0LCAyMTksIDUxLCA0NiwgCisgICAgNCwgMjQ2LCA5LCA0NiwgNCwgMjI1LCAxNDMsIDQ2LCA0LCAyMTcsIDg2LCA0NiwgNCwgMjE1LCAyMTQsIDQ2LCA0LCAyMDUsIAorICAgIDkzLCA0NiwgNCwgMjA1LCA3MiwgNDYsIDQsIDI0OCwgMTQ4LCA0NiwgNCwgMjMyLCAxODIsIDQ2LCA0LCAyMjQsIDE3MywgCisgICAgNDYsIDQsIDIwNiwgNTIsIDQ2LCA0LCAyMzEsIDIyNCwgNDYsIDQsIDIyNSwgNTEsIDQ2LCA0LCAyMjUsIDQ3LCA0NiwgNCwgCisgICAgMjQwLCAxNzAsIDQ2LCA0LCAyNDAsIDE1NywgNDYsIDQsIDIyNywgMTE5LCA0NiwgNCwgMjI1LCAxMTAsIDQ2LCA0LCAyMjMsIAorICAgIDEzNCwgNDYsIDQsIDIyNSwgNzksIDQ2LCA0LCAyMzAsIDE5LCA0NiwgMjQ3LCAxNTUsIDQ2LCAyNDEsIDgyLCAyMTMsIDI1MSwgCisgICAgNDYsIDIxOSwgMTk2LCA4MywgNDYsIDQsIDIyNSwgMTI2LCAyNDIsIDczLCA0NiwgNCwgMjI1LCAxMjYsIDE3MiwgNDYsIDQsIAorICAgIDIyNSwgMTI2LCAyMTQsIDE3NCwgNDYsIDE2LCAyNDIsIDE3LCA0NiwgMTYsIDIzMSwgMjE5LCA0NiwgMTYsIDIxMSwgMTcxLCAKKyAgICA0NiwgMTYsIDIyNCwgMjA1LCA0NiwgMTYsIDI1MCwgMTM1LCA0NiwgMTYsIDI0MiwgNzIsIDQ2LCAxNiwgMjEyLCAyMTUsIAorICAgIDQ2LCAxNiwgMjQ2LCA5OCwgNDYsIDE2LCAyNDUsIDI3LCA0NiwgMTYsIDIzMCwgMjIwLCA0NiwgMTYsIDIxMSwgMTA5LCA0NiwgCisgICAgMTYsIDI0NSwgNTAsIDQ2LCAxNiwgMjMyLCAxMTQsIDQ2LCAxOCwgMjA1LCA4NSwgNDYsIDE4LCAxMDIsIDQ2LCAxOCwgMTA1LCAKKyAgICA0NiwgMTgsIDE0MiwgNDYsIDE4LCAxMzksIDQ2LCAxOCwgMTY4LCA0NiwgMTgsIDE4NCwgNDYsIDE4LCAxOTUsIDQ2LCAxOCwgCisgICAgMTkzLCA0NiwgMTgsIDIwMCwgNDYsIDQsIDIyNSwgMTI2LCAxODUsIDQ2LCA0LCAyMjUsIDEyNiwgMjQ1LCA1MSwgMzQsIDYsIAorICAgIDEsIDIwNSwgODksIDM0LCA1LCAxLCAyMDUsIDg5LCAzNCwgNiwgMSwgMjQzLCAxOTEsIDM0LCA1LCAxLCAyNDMsIDE5MSwgCisgICAgMzQsIDYsIDEsIDIxOCwgMjI0LCAyNDMsIDE5MywgMzQsIDUsIDEsIDIxOCwgMjI0LCAyNDMsIDE5MywgMzQsIDYsIDEsIAorICAgIDIzMiwgMjQ5LCAzNCwgNSwgMSwgMjMyLCAyNDksIDM0LCA2LCAxLCAyNDUsIDY3LCAzNCwgNSwgMSwgMjQ1LCA2NywgMzQsIAorICAgIDYsIDEsIDIyNiwgMTU4LCAyMDksIDI0OSwgMzQsIDUsIDEsIDIyNiwgMTU4LCAyMDksIDI0OSwgMzQsIDYsIDEsIDI0OSwgCisgICAgMTEyLCAyMjIsIDE3MCwgMzQsIDUsIDEsIDI0OSwgMTEyLCAyMjIsIDE3MCwgMzQsIDYsIDEsIDIyNSwgODgsIDIwNiwgMzQsIAorICAgIDM0LCA1LCAxLCAyMjUsIDg4LCAyMDYsIDM0LCAzNCwgNiwgMSwgMjA2LCAzMSwgMiwgMjUwLCAxNzcsIDIwNiwgMzQsIDM0LCAKKyAgICA1LCAxLCAyMDYsIDMxLCAyLCAyNTAsIDE3NywgMjA2LCAzNCwgMzQsIDYsIDEsIDIzMiwgMjQ3LCAyMDYsIDY1LCAzNCwgNSwgCisgICAgMSwgMjMyLCAyNDcsIDIwNiwgNjUsIDM0LCA2LCAxLCAyMTgsIDIyNCwgMjA1LCAyMTMsIDM0LCA1LCAxLCAyMTgsIDIyNCwgCisgICAgMjA1LCAyMTMsIDM0LCA2LCAxLCAyMzIsIDI0NywgNjIsIDM0LCA1LCAxLCAyMzIsIDI0NywgNjIsIDM0LCA2LCAxLCAyNDcsIAorICAgIDE5MiwgMjI5LCAxODAsIDIwNSwgMTgzLCAzNCwgNSwgMSwgMjQ3LCAxOTIsIDIyOSwgMTgwLCAyMDUsIDE4MywgMzQsIDYsIAorICAgIDEsIDI0OSwgMTk0LCAyMDUsIDE4MywgMzQsIDUsIDEsIDI0OSwgMTk0LCAyMDUsIDE4MywgMzQsIDYsIDEsIDIzMiwgMjQ3LCAKKyAgICAyNDcsIDE5MiwgMjI5LCAxODAsIDIwNSwgMTgzLCAzNCwgNSwgMSwgMjMyLCAyNDcsIDI0NywgMTkyLCAyMjksIDE4MCwgCisgICAgMjA1LCAxODMsIDM0LCA2LCAxLCAyMDUsIDI0OSwgMzQsIDUsIDEsIDIwNSwgMjQ5LCAzNCwgNiwgMSwgMjE4LCAyMjQsIAorICAgIDIxMCwgMjM3LCAzNCwgNSwgMSwgMjE4LCAyMjQsIDIxMCwgMjM3LCAzNCwgNiwgMSwgMjE0LCAxODcsIDI0NiwgOSwgMzQsIAorICAgIDUsIDEsIDIxNCwgMTg3LCAyNDYsIDksIDM0LCA2LCAxLCAyMTQsIDE4NywgMjQzLCA2OCwgMzQsIDUsIDEsIDIxNCwgMTg3LCAKKyAgICAyNDMsIDY4LCAzNCwgNiwgMSwgMjE0LCAxODcsIDI0MywgNTAsIDM0LCA1LCAxLCAyMTQsIDE4NywgMjQzLCA1MCwgMzQsIDYsIAorICAgIDEsIDIyNiwgMTYyLCA3NiwgMzQsIDUsIDEsIDIyNiwgMTYyLCA3NiwgMzQsIDYsIDEsIDI0OSwgMjIxLCA3NiwgMzQsIDUsIAorICAgIDEsIDI0OSwgMjIxLCA3NiwgMzQsIDYsIDEsIDUwLCAyMjYsIDE2MiwgNzYsIDM0LCA1LCAxLCA1MCwgMjI2LCAxNjIsIDc2LCAKKyAgICAzNCwgMSwgMjI2LCA5NiwgNzYsIDM2LCAzNCwgMjA3LCAxMzEsIDM2LCAzNCwgMjEyLCA5OSwgMjI2LCAyMTMsIDUzLCAzNiwgCisgICAgMzQsIDIzOCwgMzAsIDIyNiwgMjEzLCA1MywgMzYsIDM0LCAyMTEsIDI0MywgMjI2LCAyMTMsIDUzLCAyMTQsIDIzMywgMjUxLCAKKyAgICAyMDksIDM2LCAzNCwgMSwgMjA5LCAyNDYsIDIzMywgMTI5LCAzNiwgMzQsIDEsIDc0LCAzNiwgMzQsIDEsIDIwNiwgMTEsIAorICAgIDM2LCAzNCwgMSwgNzEsIDM2LCAzNCwgMSwgMjM5LCA5NCwgNTMsIDM2LCAzNCwgMSwgMjA2LCAzMCwgMzYsIDM0LCAxLCAKKyAgICAyMTQsIDE4NywgNTMsIDM2LCAzNCwgMSwgMjIyLCAxNzAsIDM2LCAzNCwgMjMxLCAyMzYsIDM2LCAzNCwgMjIxLCAxODEsIAorICAgIDM0LCAyMzEsIDIzNiwgMzQsIDIyMSwgMTgxLCAzNCwgNiwgMSwgMjQzLCAyMDUsIDM0LCA1LCAxLCAyNDMsIDIwNSwgMzQsIAorICAgIDYsIDEsIDI0MywgMTgyLCAzNCwgNSwgMSwgMjQzLCAxODIsIDM0LCA2LCAxLCAyMDUsIDQ4LCAzNCwgNSwgMSwgMjA1LCA0OCwgCisgICAgMzQsIDYsIDEsIDI0OCwgMTY0LCAzNCwgNSwgMSwgMjQ4LCAxNjQsIDM0LCA2LCAxLCAyNDMsIDE3OSwgMzQsIDUsIDEsIAorICAgIDI0MywgMTc5LCAzNCwgNiwgMSwgMjEyLCAxMzIsIDIsIDIyNiwgMjQ3LCAxMDksIDM0LCA1LCAxLCAyMTIsIDEzMiwgMiwgCisgICAgMjI2LCAyNDcsIDEwOSwgMzQsIDYsIDEsIDIxMCwgMTI4LCAzNCwgNSwgMSwgMjEwLCAxMjgsIDM0LCA2LCAxLCAyMTAsIAorICAgIDIxMiwgMzQsIDUsIDEsIDIxMCwgMjEyLCAzNCwgNiwgMSwgMjEwLCAyMTcsIDM0LCA1LCAxLCAyMTAsIDIxNywgMzQsIDYsIAorICAgIDEsIDIxMiwgMTM3LCAzNCwgNSwgMSwgMjEyLCAxMzcsIDM0LCA2LCAxLCAyMzgsIDEzLCAzNCwgNSwgMSwgMjM4LCAxMywgCisgICAgMzQsIDYsIDEsIDIxNSwgOTUsIDM0LCA1LCAxLCAyMTUsIDk1LCAzNCwgNiwgMSwgNTAsIDc2LCAzNCwgNSwgMSwgNTAsIDc2LCAKKyAgICAzNCwgNiwgMSwgMjQ3LCA1NywgNzYsIDM0LCA1LCAxLCAyNDcsIDU3LCA3NiwgNjUsIDEsIDM0LCAyMzksIDk0LCA1MywgNjUsIAorICAgIDEsIDM0LCAyMTQsIDE4NywgNTMsIDM2LCAzNCwgMSwgMjMyLCAyNDcsIDc1LCAyMSwgMSwgNjIsIDIxLCAxLCAxNzIsIDIxLCAKKyAgICAxLCA3MSwgMjEsIDEsIDIzMCwgMjM2LCAyMSwgMSwgMjQzLCAxMDQsIDIxLCAxLCAyMTksIDI5LCAyMSwgMSwgMjEyLCAyMDAsIAorICAgIDIxLCAxLCA3NiwgMjEsIDEsIDIyMywgMTI1LCAyMSwgMSwgNzQsIDIxLCAxLCAyMzAsIDE0MSwgMjEsIDEsIDE3OSwgMjEsIAorICAgIDEsIDIxOCwgMTU0LCAyMSwgMSwgMjE4LCAyMDEsIDIxLCAxLCAyMzAsIDQ5LCAyMSwgMSwgMjI3LCAxMDYsIDIxLCAxLCAKKyAgICAyMTIsIDIxNSwgMjEsIDEsIDIyNSwgMTQ5LCAyMSwgMSwgMjI0LCAxNzgsIDIxLCAxLCAyMjksIDI4LCAyMSwgMSwgMjEzLCAKKyAgICAxMTksIDIxLCAxLCAyMjYsIDExNCwgMjEsIDEsIDIxNSwgMTc4LCAyMSwgMSwgMjE1LCA4MCwgMjEsIDEsIDIxNSwgMTg4LCAKKyAgICAyMSwgMSwgMjE2LCAyNCwgMjEsIDEsIDIzMCwgMTY1LCAyMSwgMSwgMjMxLCAxOTMsIDIxLCAxLCAyMjMsIDE4OCwgMjEsIDEsIAorICAgIDIyMywgMjE3LCAyMSwgMSwgMjI0LCAxNDksIDIxLCAxLCAyMDUsIDIyOSwgMjEsIDEsIDIxNSwgMTE2LCAyMSwgMSwgMjA1LCAKKyAgICAxODcsIDIxLCAxLCAxOTAsIDIxLCAxLCAyMjMsIDI1MSwgMjEsIDEsIDIzMSwgMTc5LCAyMSwgMSwgMjIxLCA5NywgMjEsIDEsIAorICAgIDIyNCwgMTcxLCAyMSwgMSwgMjIzLCAyMzIsIDIxLCAxLCAyMjAsIDc1LCAyMSwgMSwgMjA2LCAyMTMsIDIxLCAxLCAyMjEsIAorICAgIDE2NCwgMjEsIDEsIDI0MiwgMjEsIDIxLCAxLCAyMTgsIDUwLCAyMSwgMSwgMjI5LCA4MSwgMjEsIDEsIDIyNiwgMjU0LCAyMSwgCisgICAgMSwgMjI0LCAyMzAsIDIxLCAxLCAyMTgsIDIyNiwgMjEsIDEsIDIxOSwgOTUsIDIxLCAxLCAyMzEsIDIwMywgMjEsIDEsIAorICAgIDIyNSwgNSwgMjEsIDEsIDIyNSwgNTYsIDIxLCAxLCAyMjUsIDc3LCAyMSwgMSwgMjE1LCAxNTgsIDIxLCAxLCAyMjAsIDc5LCAKKyAgICAyMSwgMSwgMjQxLCA4OCwgMjEsIDEsIDI0MSwgMTU1LCAyMSwgMSwgMjA3LCA5NiwgMjEsIDEsIDE5OSwgMjEsIDEsIDIyOSwgCisgICAgMjM1LCAyMSwgMSwgMjIxLCA1MywgMjEsIDEsIDIyOSwgMTA3LCAyMSwgMSwgMjMxLCA1MywgMjEsIDEsIDIyNywgMTQzLCAKKyAgICAyMSwgMSwgMjE5LCAyLCAyMSwgMSwgMjI3LCA4MywgMjEsIDEsIDE4NSwgMjEsIDEsIDIxMSwgMjExLCAyMSwgMSwgMjMxLCAKKyAgICAxMjMsIDIxLCAxLCAyMjYsIDE4MSwgMjEsIDEsIDIyNywgMTUxLCAyMSwgMSwgMjEyLCA4MCwgMjEsIDEsIDIzMSwgMTUsIAorICAgIDIxLCAxLCAyMTIsIDk4LCAyMSwgMSwgMjIzLCAyMTksIDIxLCAxLCAyMTcsIDE1OSwgMjEsIDEsIDI0MiwgNjksIDIxLCAxLCAKKyAgICAyMzEsIDE3LCAyMSwgMSwgMjMxLCA0OCwgMjEsIDM2LCAxNDEsIDIzMSwgMjYsIDIxLCAzNiwgMTQxLCAyMTAsIDE2MSwgMjEsIAorICAgIDIyNCwgMTc3LCAyMSwgMjQxLCA4MiwgMjEzLCAyNTEsIDIxLCAyNDcsIDE2MiwgMjEsIDI0NywgMTU1LCAyMSwgMjE2LCA1MiwgCisgICAgMjEsIDIxOSwgMTk2LCA4MywgNjUsIDEsIDI0OCwgNDQsIDEzNSwgMjA2LCAxLCAyMjEsIDUsIDY1LCAxLCAyNDgsIDQ0LCAKKyAgICAxMzUsIDIwNiwgNzYsIDIyMSwgNSwgNjUsIDEsIDI0OCwgNDQsIDEzNSwgMjA2LCAxLCAyMTUsIDIzNiwgNjUsIDEsIDI0OCwgCisgICAgNDQsIDEzNSwgMjA2LCA3NiwgMjE1LCAyMzYsIDY1LCAxLCAyNDgsIDQ0LCAxMzUsIDIwNiwgMSwgMjE5LCAyMTQsIDY1LCAxLCAKKyAgICAyNDgsIDQ0LCAxMzUsIDIwNiwgNzYsIDIxOSwgMjE0LCA2NSwgMSwgMjQ4LCA0NCwgMTM1LCAyMDYsIDEsIDIxOCwgNTAsIAorICAgIDY1LCAxLCAyNDgsIDQ0LCAxMzUsIDIwNiwgNzYsIDIxOCwgNTAsIDY1LCAxLCAyNDIsIDE1NiwgMjQ0LCAyMSwgMTM1LCAKKyAgICAxMzQsIDY1LCAxLCAxMjcsIDI0NCwgMjEsIDEzNSwgMTM0LCA2NSwgMSwgMjI2LCAyNDksIDI0NCwgMjEsIDEzNSwgMTM0LCAKKyAgICA2NSwgMSwgMTE0LCAyNDQsIDIxLCAxMzUsIDEzNCwgNjUsIDEsIDI0MiwgMTU1LCAyNDQsIDIxLCAxMzUsIDEzNCwgNjUsIDEsIAorICAgIDI0MiwgMTU2LCAyNDQsIDIxLCAyMzAsIDM4LCAxMzUsIDEzNCwgNjUsIDEsIDEyNywgMjQ0LCAyMSwgMjMwLCAzOCwgMTM1LCAKKyAgICAxMzQsIDY1LCAxLCAyMjYsIDI0OSwgMjQ0LCAyMSwgMjMwLCAzOCwgMTM1LCAxMzQsIDY1LCAxLCAxMTQsIDI0NCwgMjEsIAorICAgIDIzMCwgMzgsIDEzNSwgMTM0LCA2NSwgMSwgMjQyLCAxNTUsIDI0NCwgMjEsIDIzMCwgMzgsIDEzNSwgMTM0LCA2NSwgMSwgCisgICAgMjQyLCAxNTYsIDIzMCwgMzgsIDEzNSwgMTM0LCA2NSwgMSwgMTI3LCAyMzAsIDM4LCAxMzUsIDEzNCwgNjUsIDEsIDIyNiwgCisgICAgMjQ5LCAyMzAsIDM4LCAxMzUsIDEzNCwgNjUsIDEsIDExNCwgMjMwLCAzOCwgMTM1LCAxMzQsIDY1LCAxLCAyNDIsIDE1NSwgCisgICAgMjMwLCAzOCwgMTM1LCAxMzQsIDY1LCAxLCA2NywgNzksIDEzNCwgNjUsIDEsIDY3LCAyMTQsIDIzNSwgNjUsIDEsIDY3LCAKKyAgICAxOTQsIDEzNCwgNjUsIDEsIDIyOSwgOTIsIDQ4LCAyNDcsIDkyLCAyNTIsIDEwOCwgNjUsIDEsIDIxOSwgODEsIDEyMCwgNDUsIAorICAgIDY1LCAxLCAyMTksIDgxLCAxMzAsIDQ1LCA2NSwgMSwgMjE5LCA4MSwgMjQyLCAxNjgsIDgzLCA2NSwgMSwgMjE5LCA4MSwgCisgICAgMjMzLCAyLCAyNDIsIDE2OCwgODMsIDY1LCAxLCAxMTQsIDIzMywgMiwgMjQyLCAxNjgsIDgzLCA2NSwgMSwgMjEzLCAyMzMsIAorICAgIDIzLCAxMjcsIDIxMSwgMTE4LCA2NSwgMSwgMjEzLCAyMzMsIDIzLCAxMTQsIDIxMSwgMTE4LCA3LCA2LCAxLCAyNDMsIDk0LCAKKyAgICAyNTIsIDE3MiwgNywgNSwgMSwgMjQzLCA5NCwgMjUyLCAxNzIsIDcsIDYsIDEsIDI0MywgOTQsIDI1MiwgMjAwLCA3LCA1LCAKKyAgICAxLCAyNDMsIDk0LCAyNTIsIDIwMCwgNywgNiwgMSwgMjM5LCAzOSwgNywgNSwgMSwgMjM5LCAzOSwgNywgNiwgMSwgMjEwLCAKKyAgICA4NiwgNywgNSwgMSwgMjEwLCA4NiwgNywgNiwgMSwgMjExLCA1NSwgNywgNSwgMSwgMjExLCA1NSwgNywgNiwgMSwgMjQ3LCAKKyAgICAzNywgNywgNSwgMSwgMjQ3LCAzNywgNywgNiwgMSwgMjQ3LCAzOCwgMiwgMjQ3LCAxNTUsIDcsIDUsIDEsIDI0NywgMzgsIDIsIAorICAgIDI0NywgMTU1LCA3LCAxLCA1LCA2LCAyNDIsIDEzOSwgNywgMSwgNSwgNiwgMTgyLCA3LCA2LCAxLCAyNTMsIDE2NCwgNywgNSwgCisgICAgMSwgMjUzLCAxNjQsIDcsIDYsIDEsIDI1MiwgNzEsIDcsIDUsIDEsIDI1MiwgNzEsIDcsIDYsIDEsIDI1MSwgMTg0LCA3LCA1LCAKKyAgICAxLCAyNTEsIDE4NCwgNywgNiwgMSwgMjUxLCAxNjgsIDcsIDUsIDEsIDI1MSwgMTY4LCA3LCA2LCAxLCAyNTEsIDE2OSwgMiwgCisgICAgMTk0LCAxMzQsIDcsIDUsIDEsIDI1MSwgMTY5LCAyLCAxOTQsIDEzNCwgNywgNiwgMSwgMjUxLCAxNTksIDcsIDUsIDEsIAorICAgIDI1MSwgMTU5LCA3LCA2LCAxLCAyMTgsIDIyNCwgMjQ5LCAzNSwgMiwgMjQ1LCAyMywgNywgNSwgMSwgMjE4LCAyMjQsIDI0OSwgCisgICAgMzUsIDIsIDI0NSwgMjMsIDcsIDYsIDEsIDIzMiwgNzcsIDIsIDkxLCA3LCA1LCAxLCAyMzIsIDc3LCAyLCA5MSwgNywgNiwgCisgICAgMSwgMjMyLCA3NywgMiwgMjQ1LCAxNjMsIDkxLCA3LCA1LCAxLCAyMzIsIDc3LCAyLCAyNDUsIDE2MywgOTEsIDcsIDYsIDEsIAorICAgIDIzMiwgNzcsIDIsIDIxMywgMjI1LCAyMywgMjQ1LCAxNjMsIDkxLCA3LCA1LCAxLCAyMzIsIDc3LCAyLCAyMTMsIDIyNSwgCisgICAgMjMsIDI0NSwgMTYzLCA5MSwgNywgNiwgMSwgMjQ5LCAxMTEsIDE0OSwgNywgNSwgMSwgMjQ5LCAxMTEsIDE0OSwgNywgNiwgCisgICAgMSwgMjMwLCAxNTksIDIsIDEyNywgOTEsIDcsIDUsIDEsIDIzMCwgMTU5LCAyLCAxMjcsIDkxLCA3LCA2LCAxLCAxNDgsIDIsIAorICAgIDE1MiwgMjEzLCAyMjUsIDIyMiwgODIsIDcsIDUsIDEsIDE0OCwgMiwgMTUyLCAyMTMsIDIyNSwgMjIyLCA4MiwgNywgNiwgMSwgCisgICAgMTQ4LCAyLCAyMjksIDExMSwgNywgNSwgMSwgMTQ4LCAyLCAyMjksIDExMSwgNywgNiwgMSwgMjIyLCAxNTIsIDcsIDUsIDEsIAorICAgIDIyMiwgMTUyLCA3LCA2LCAxLCAyMjIsIDY4LCAyLCAyMTMsIDIyNSwgMjExLCAyMzMsIDI0NSwgMjExLCA3LCA1LCAxLCAKKyAgICAyMjIsIDY4LCAyLCAyMTMsIDIyNSwgMjExLCAyMzMsIDI0NSwgMjExLCA3LCA2LCAxLCAyMjIsIDY4LCAyLCAyNDEsIDE3NCwgCisgICAgNywgNSwgMSwgMjIyLCA2OCwgMiwgMjQxLCAxNzQsIDcsIDYsIDEsIDIyMiwgNjgsIDIsIDIxNCwgMTAyLCAyMTIsIDE5MSwgCisgICAgNywgNSwgMSwgMjIyLCA2OCwgMiwgMjE0LCAxMDIsIDIxMiwgMTkxLCA3LCA2LCAxLCAyMjAsIDI4LCAyLCAyMTMsIDIyNSwgCisgICAgMjExLCAyMzMsIDI0NSwgMjExLCA3LCA1LCAxLCAyMjAsIDI4LCAyLCAyMTMsIDIyNSwgMjExLCAyMzMsIDI0NSwgMjExLCA3LCAKKyAgICA2LCAxLCAyMjAsIDI4LCAyLCAyNDUsIDE2MywgOTEsIDcsIDUsIDEsIDIyMCwgMjgsIDIsIDI0NSwgMTYzLCA5MSwgNywgNiwgCisgICAgMSwgMjE5LCAxNTAsIDIxOCwgOTYsIDcsIDUsIDEsIDIxOSwgMTUwLCAyMTgsIDk2LCA3LCA2LCAxLCAyMTgsIDM5LCAyMTgsIAorICAgIDk2LCA3LCA1LCAxLCAyMTgsIDM5LCAyMTgsIDk2LCA3LCA2LCAxLCAyMDksIDE0OSwgMiwgMjQ1LCAxNjMsIDkxLCA3LCA1LCAKKyAgICAxLCAyMDksIDE0OSwgMiwgMjQ1LCAxNjMsIDkxLCA3LCA2LCAxLCAyMDcsIDEzNywgNywgNSwgMSwgMjA3LCAxMzcsIDcsIDYsIAorICAgIDEsIDIwOCwgMTgxLCAyMDUsIDE1OSwgNywgNSwgMSwgMjA4LCAxODEsIDIwNSwgMTU5LCA3LCA2LCAxLCAyMTEsIDI0NywgMiwgCisgICAgOTEsIDcsIDUsIDEsIDIxMSwgMjQ3LCAyLCA5MSwgNywgNiwgMSwgMjExLCAyNDcsIDIsIDIxMywgMjI1LCAyMTEsIDIzMywgCisgICAgMjQ1LCAyMTEsIDcsIDUsIDEsIDIxMSwgMjQ3LCAyLCAyMTMsIDIyNSwgMjExLCAyMzMsIDI0NSwgMjExLCA3LCA2LCAxLCAKKyAgICAyMDksIDI5LCA3LCA1LCAxLCAyMDksIDI5LCA3LCA2LCAxLCAyNDIsIDIwMywgNywgNSwgMSwgMjQyLCAyMDMsIDcsIDYsIDEsIAorICAgIDIzMiwgMjM0LCA3LCA1LCAxLCAyMzIsIDIzNCwgNywgNiwgMSwgMjQ3LCAxNDAsIDcsIDUsIDEsIDI0NywgMTQwLCA2NSwgMSwgCisgICAgMjA5LCAxNzcsIDcsIDUsIDEsIDI0MywgMjI4LCA3LCA1LCAxLCAyMjksIDY1LCA3LCA1LCAxLCAyMjYsIDkwLCA3LCA1LCAxLCAKKyAgICAyMjMsIDE4MCwgNywgNSwgMSwgMjE4LCAzOCwgNywgMSwgNSwgNiwgMjE4LCAzOCwgNywgNSwgMSwgMjEwLCAxNTksIDcsIDUsIAorICAgIDEsIDIwOSwgMjQxLCA3LCA2LCAxLCAyMzMsIDIzLCAyNDYsIDI0MCwgNywgNSwgMSwgMjMzLCAyMywgMjQ2LCAyNDAsIDcsIAorICAgIDYsIDEsIDIzMywgMjMsIDI0MiwgMTM5LCA3LCA1LCAxLCAyMzMsIDIzLCAyNDIsIDEzOSwgNywgNiwgMSwgMjMzLCAyMywgCisgICAgMjQxLCA1NSwgNywgNiwgMSwgMjAxLCAyMzMsIDIzLCAyNDEsIDU1LCA3LCA1LCAxLCAyMDEsIDIzMywgMjMsIDI0MSwgNTUsIAorICAgIDcsIDYsIDEsIDIwMSwgMTQ5LCA3LCA1LCAxLCAyMDEsIDE0OSwgNywgNiwgMSwgMjMzLCAyMywgMTM3LCA3LCA1LCAxLCAKKyAgICAyMzMsIDIzLCAxMzcsIDcsIDYsIDEsIDIzMywgMjMsIDE4MiwgNywgNSwgMSwgMjMzLCAyMywgMTgyLCA3LCA2LCAxLCAyMzMsIAorICAgIDIzLCAyMTMsIDEwLCA3LCA1LCAxLCAyMzMsIDIzLCAyMTMsIDEwLCA2NSwgMSwgMTE0LCAyNDcsIDIyOCwgMjUzLCAyMSwgCisgICAgNjUsIDEsIDI0NywgMTYyLCA2NSwgMSwgMjE1LCAxNDQsIDI0MiwgMjQyLCA1MywgNywgNiwgMSwgMjE3LCAxNjMsIDcsIDUsIAorICAgIDEsIDIxNywgMTYzLCA3LCA2LCAxLCAyMDEsIDIzOSwgMTU1LCA3LCA1LCAxLCAyMzAsIDE1OSwgMiwgMjE4LCAyMzAsIDIzOCwgCisgICAgMTMwLCAyMywgMjUwLCAyNCwgNywgNiwgMSwgMjI2LCAzNCwgMiwgMjQ1LCAyMTEsIDcsIDUsIDEsIDIyNiwgMzQsIDIsIAorICAgIDI0NSwgMjExLCA3LCA2LCAxLCAyNDksIDM1LCAyLCAxMzQsIDcsIDUsIDEsIDI0OSwgMzUsIDIsIDEzNCwgNywgNSwgMSwgCisgICAgMjQ5LCAzNSwgMiwgMjIyLCAyNiwgMTA5LCA3LCA1LCAxLCAyMzksIDE1NiwgMiwgMjIyLCAyNiwgMTA5LCA3LCA2LCAxLCAKKyAgICA2MywgMiwgMjQxLCAxNzQsIDcsIDUsIDEsIDYzLCAyLCAyNDEsIDE3NCwgNywgNiwgMSwgMjQyLCAxNDAsIDIsIDkxLCA3LCAKKyAgICA1LCAxLCAyNDIsIDE0MCwgMiwgOTEsIDcsIDYsIDEsIDIwOCwgMTY2LCAyNTIsIDI0OCwgNywgNSwgMSwgMjA4LCAxNjYsIAorICAgIDI1MiwgMjQ4LCA3LCA2LCAxLCAyMDgsIDE2NiwgMjIyLCAyMDYsIDcsIDUsIDEsIDIwOCwgMTY2LCAyMjIsIDIwNiwgNywgNiwgCisgICAgMSwgMjA4LCAxNjYsIDIxMCwgMywgNywgNSwgMSwgMjA4LCAxNjYsIDIxMCwgMywgNywgNiwgMSwgMjQxLCA1NiwgMiwgMjIyLCAKKyAgICAyMjIsIDkxLCA3LCA1LCAxLCAyNDEsIDU2LCAyLCAyMjIsIDIyMiwgOTEsIDcsIDYsIDEsIDIzMiwgNzcsIDIsIDIyMiwgCisgICAgMjIyLCA5MSwgNywgNSwgMSwgMjMyLCA3NywgMiwgMjIyLCAyMjIsIDkxLCA3LCA2LCAxLCAyMjYsIDM0LCAyLCAyMjIsIAorICAgIDIyMiwgOTEsIDcsIDUsIDEsIDIyNiwgMzQsIDIsIDIyMiwgMjIyLCA5MSwgNywgNiwgMSwgMjE5LCAxNTAsIDIsIDIyMiwgCisgICAgMjIyLCA5MSwgNywgNSwgMSwgMjE5LCAxNTAsIDIsIDIyMiwgMjIyLCA5MSwgNywgNiwgMSwgMjE4LCAxLCAyLCAyMjIsIAorICAgIDIyMiwgOTEsIDcsIDUsIDEsIDIxOCwgMSwgMiwgMjIyLCAyMjIsIDkxLCA3LCA2LCAxLCAyMzksIDE1NiwgMiwgMTA5LCA3LCAKKyAgICA2LCAxLCAyMTgsIDIyNCwgMjIyLCAxNDIsIDc1LCA3LCA2LCAxLCAxMjEsIDI0MSwgNTUsIDcsIDYsIDEsIDIzMCwgMTU5LCAKKyAgICAyLCAyNTAsIDI0LCA3LCA2LCAxLCAyMDEsIDIzMiwgNzYsIDcsIDYsIDEsIDIwMSwgMjEzLCAxMCwgNywgMjQyLCAyNDcsIDEsIAorICAgIDIxNSwgNzMsIDc0LCA2NSwgMSwgNiwgMjM5LCAxNTYsIDIsIDkxLCA2NSwgMSwgNSwgMjgsIDIyMiwgMjA2LCA3LCAxLCA1LCAKKyAgICA2LCAyMDEsIDIyOSwgMjgsIDcsIDI0MiwgMjQ3LCAxLCAyMTgsIDIyNCwgMjQyLCAxMzksIDcsIDI0MiwgMjQ3LCAxLCAyMTgsIAorICAgIDIyNCwgMjIyLCA2NywgNywgMjQyLCAyNDcsIDEsIDIzMywgMiwgMjI5LCAyOCwgNywgMjQyLCAyNDcsIDEsIDIzNywgMjI1LCAKKyAgICAyMjksIDExNywgNywgMjQyLCAyNDcsIDEsIDI1MiwgMTksIDIyOSwgMjgsIDIxMywgODksIDIyNSwgMjIwLCAxLCA2MiwgCisgICAgMjEzLCA4OSwgMjI1LCAyMjAsIDEsIDc0LCAyMTMsIDg5LCAyMjUsIDIyMCwgMywgMjQzLCAyMDcsIDIxMywgODksIDIyNSwgCisgICAgMjIwLCAxLCA3MSwgMjEzLCA4OSwgMjI1LCAyMjAsIDEsIDc1LCAyMTMsIDg5LCAyMjUsIDIyMCwgMSwgNzYsIDIxMywgODksIAorICAgIDIyNSwgMjIwLCAzLCAyMzksIDg4LCAyMTMsIDg5LCAyMjUsIDIyMCwgMSwgMjMxLCA1MywgMjEzLCA4OSwgMjI1LCAyMjAsIAorICAgIDEsIDIzMSwgMTM4LCAyMTMsIDg5LCAyMjUsIDIyMCwgMSwgMjQwLCAxOSwgMjEzLCA4OSwgMjI1LCAyMjAsIDEsIDI0MCwgCisgICAgNzEsIDIxMywgODksIDIyNSwgMjIwLCAzLCAyNTIsIDczLCAyMTMsIDg5LCAyMjUsIDIyMCwgMSwgMjQ3LCAxNzQsIDIxMywgCisgICAgODksIDIyNSwgMjIwLCAxLCAyNDgsIDMyLCAyMTMsIDg5LCAyMjUsIDIyMCwgMSwgMjMyLCAxMjIsIDIxMywgODksIDIyNSwgCisgICAgMjIwLCAxLCAyMzIsIDE2NCwgMjEzLCA4OSwgMjI1LCAyMjAsIDEsIDIxMCwgMTg1LCAyMTMsIDg5LCAyMjUsIDIyMCwgMSwgCisgICAgMjEwLCAxOTEsIDIxMywgODksIDIyNSwgMjIwLCAxLCAyNDYsIDI0LCAyMTMsIDg5LCAyMjUsIDIyMCwgMSwgMjQ2LCAzMywgCisgICAgMjEzLCA4OSwgMjI1LCAyMjAsIDEsIDEyNCwgMjEzLCA4OSwgMjI1LCAyMjAsIDEsIDIxMSwgMjUzLCAyMTMsIDg5LCAyMjUsIAorICAgIDIyMCwgMSwgMjQ1LCA1MSwgMjEzLCA4OSwgMjI1LCAyMjAsIDEsIDI0NSwgMTcyLCAyMTMsIDg5LCAyMjUsIDIyMCwgMSwgCisgICAgMjI0LCA2NywgMjEzLCA4OSwgMjI1LCAyMjAsIDEsIDIyMCwgMjExLCAyMTMsIDg5LCAyMjUsIDIyMCwgMSwgMjIxLCA2NiwgCisgICAgMjEzLCA4OSwgMjI1LCAyMjAsIDEsIDI0OSwgMTg0LCAyMTMsIDg5LCAyMjUsIDIyMCwgMSwgMjQ5LCAyNDgsIDIxMywgODksIAorICAgIDIyNSwgMjIwLCAxLCAyMjYsIDE4MSwgMjEzLCA4OSwgMjI1LCAyMjAsIDEsIDIxOCwgMTI0LCAyMTMsIDg5LCAyMjUsIDIyMCwgCisgICAgMSwgMjI5LCAxNDQsIDIxMywgODksIDIyNSwgMjIwLCAxLCAyMTgsIDc1LCAyMTMsIDg5LCAyMjUsIDIyMCwgMSwgMjE0LCAKKyAgICAxOTMsIDIxMywgODksIDIyNSwgMjIwLCAxLCAyMzgsIDE0OSwgMjEzLCA4OSwgMjI1LCAyMjAsIDIyLCAzLCA2MiwgMjEzLCAKKyAgICA4OSwgMjI1LCAyMjAsIDIyLCAzLCA3NCwgMjEzLCA4OSwgMjI1LCAyMjAsIDIyLCAzLCA3MSwgMjEzLCA4OSwgMjI1LCAyMjAsIAorICAgIDIyLCAzLCA3NSwgMjEzLCA4OSwgMjI1LCAyMjAsIDIyLCAzLCAyMjIsIDE1MiwgMjEzLCA4OSwgMjI1LCAyMjAsIDIyMCwgCisgICAgMjA2LCAyMjcsIDE5MSwgMjEzLCA4OSwgMjI1LCAyMjAsIDIyMCwgMjA2LCAyMjcsIDE5MCwgMjEzLCA4OSwgMjI1LCAyMjAsIAorICAgIDIyMCwgMjA2LCAyMjcsIDE4OSwgMjEzLCA4OSwgMjI1LCAyMjAsIDIyMCwgMjA2LCAyMjcsIDE4OCwgMTQzLCAyMzMsIDUxLCAKKyAgICAyNDEsIDExNiwgMTE5LCAyMTksIDIwNCwgMTQzLCAyMzMsIDUxLCAyNDEsIDExNiwgMTE5LCAyMzksIDEyMSwgMTQzLCAyMzMsIAorICAgIDUxLCAyNDEsIDExNiwgMTI5LCAyMTksIDIwMiwgMTQzLCAyMzMsIDUxLCAyNDEsIDExNiwgMTE5LCAyMTUsIDIsIDE0MywgCisgICAgMjMzLCA1MSwgMjQxLCAxMTYsIDExOSwgMjQzLCA4MywgMTQzLCAyMzMsIDUxLCAyNDEsIDExNiwgMTI5LCAyMTUsIDEsIAorICAgIDE0MywgMjMzLCA1MSwgMjE5LCAyMDUsIDgzLCAxNDMsIDIzMywgNTEsIDIyMCwgMjM4LCA4MywgMTQzLCAyMzMsIDUxLCAKKyAgICAyMTgsIDI3LCA4MywgMTQzLCAyMzMsIDUxLCAyMTksIDIwNiwgODMsIDIyMSwgODksIDEsIDE3MiwgMjIxLCA4OSwgMSwgCisgICAgMjMxLCAxNjcsIDIyMSwgODksIDEsIDI0MCwgMjQ0LCAyMjEsIDg5LCAxLCAyMjUsIDc3LCAyMjEsIDg5LCAxLCAyNDksIDEsIAorICAgIDIyMSwgODksIDEsIDI0OCwgMTEwLCAyMjEsIDg5LCAxLCAyMzIsIDIwMCwgMjIxLCA4OSwgMSwgMjIzLCAxNDQsIDIyMSwgCisgICAgODksIDEsIDIxMiwgMjE5LCAyMjEsIDg5LCAxLCAyMTIsIDU2LCAyMjEsIDg5LCAxLCAyNDYsIDE0NSwgMjIxLCA4OSwgMSwgCisgICAgMTk5LCAyMjEsIDg5LCAxLCAxNzksIDIyMSwgODksIDEsIDIyMSwgOTMsIDIyMSwgODksIDEsIDI1MCwgMTgzLCAyMjEsIDg5LCAKKyAgICAxLCAxODUsIDIyMSwgODksIDEsIDIxMCwgMjQzLCAyMjEsIDg5LCAxLCAyMTAsIDIzMywgMjIxLCA4OSwgMSwgMjQzLCAxOTYsIAorICAgIDIyMSwgODksIDEsIDIwNywgOTYsIDIyMSwgODksIDEsIDIwNSwgODEsIDIyMSwgODksIDEsIDIwNSwgMTE2LCAyMjEsIDg5LCAKKyAgICAxLCA1LCA2MiwgMjIxLCA4OSwgMSwgMTkwLCAyMjEsIDg5LCAxLCAyMTksIDExMywgMjIxLCA4OSwgMSwgMjMwLCAxNDEsIAorICAgIDIyMSwgODksIDEsIDIxNiwgMiwgMjIxLCA4OSwgMSwgMjE3LCAxOTksIDIyMSwgODksIDEsIDE1NSwgMjIxLCA4OSwgMSwgCisgICAgNjIsIDIyMSwgODksIDEsIDc0LCAyMjEsIDg5LCAxLCA3MSwgMjIxLCA4OSwgMSwgNzUsIDIyMSwgODksIDEsIDc2LCAyMjEsIAorICAgIDg5LCAxLCAyMjAsIDE5LCAyMjEsIDg5LCAxLCAyMDYsIDE4MSwgMjIxLCA4OSwgMSwgMjQyLCA3MywgMjIxLCA4OSwgMSwgCisgICAgMjQwLCAxMzUsIDIyMSwgODksIDEsIDI0MywgMTA0LCAyMjEsIDg5LCAyMTMsIDE5MSwgMSwgMjA3LCA5NiwgMjIxLCA4OSwgCisgICAgMjEzLCAxOTEsIDEsIDE5MCwgMjIxLCA4OSwgMSwgMjEwLCAyMDgsIDIyMSwgODksIDEsIDIxMCwgMTk2LCAyMjEsIDg5LCAxLCAKKyAgICAyNDYsIDU0LCAyMjEsIDg5LCAxLCAyMjQsIDEwMywgMjIxLCA4OSwgMSwgMjUyLCAxNDEsIDE5MCwgMjIxLCA4OSwgMSwgCisgICAgMjA4LCAxNjksIDIxNiwgMiwgMjIxLCA4OSwgMSwgMjA4LCAxNzAsIDE1NSwgMjIxLCA4OSwgMSwgMjUxLCAyMTYsIDI0MiwgCisgICAgNzMsIDIyMSwgODksIDIxMywgMTkxLCAxLCAyMTksIDExMywgMjIxLCA4OSwgMjEzLCAxNDEsIDEsIDIxOSwgMTEzLCAyMjEsIAorICAgIDg5LCAxLCAyNDgsIDIxNywgMjIxLCA4OSwgMjE1LCA0MSwgMjM5LCA2OSwgODMsIDIyMSwgODksIDUwLCAyMzksIDY5LCA4MywgCisgICAgMjIxLCA4OSwgMTQxLCAyMTUsIDI1MSwgMjIxLCA4OSwgMTQxLCA1MCwgMjE1LCAyNTEsIDIxNywgMTIzLCAzLCAyNTIsIDczLCAKKyAgICAyMTcsIDEyMywgMywgMjA4LCAxODMsIDIxNywgMTIzLCAxLCA2MiwgMjE3LCAxMjMsIDEsIDI1MywgMTY0LCAyMTcsIDEyMywgCisgICAgMSwgNzQsIDIxNywgMTIzLCAxLCAyMzMsIDEwMiwgMjE3LCAxMjMsIDEsIDcxLCAyMTcsIDEyMywgMSwgMjA5LCAxNjIsIAorICAgIDIxNywgMTIzLCAxLCAxMTUsIDEzNywgMjE3LCAxMjMsIDEsIDExNSwgMjE4LCA5MCwgMjE3LCAxMjMsIDEsIDExNSwgMTQ5LCAKKyAgICAyMTcsIDEyMywgMSwgMTE1LCAyMjksIDE3MywgMjE3LCAxMjMsIDEsIDc1LCAyMTcsIDEyMywgMSwgMjQzLCAxMDQsIDIxNywgCisgICAgMTIzLCAxLCAyNTIsIDIwNSwgMjE3LCAxMjMsIDEsIDc2LCAyMTcsIDEyMywgMSwgMjIyLCAxNTIsIDIxNywgMTIzLCAxLCAKKyAgICAyNTEsIDE4NCwgMjE3LCAxMjMsIDEsIDE3MiwgMjE3LCAxMjMsIDEsIDIzMSwgMTY3LCAyMTcsIDEyMywgMSwgMjQwLCAyNDQsIAorICAgIDIxNywgMTIzLCAxLCAyNDAsIDk5LCAyMTcsIDEyMywgMSwgMjI1LCA3NywgMjE3LCAxMjMsIDEsIDI0OSwgMSwgMjE3LCAKKyAgICAxMjMsIDEsIDI0OCwgMTEwLCAyMTcsIDEyMywgMSwgMjMyLCAyMDAsIDIxNywgMTIzLCAxLCAyMzIsIDE3MCwgMjE3LCAxMjMsIAorICAgIDEsIDIyMywgMTQ0LCAyMTcsIDEyMywgMSwgMjEwLCAyMDgsIDIxNywgMTIzLCAxLCAyMTAsIDE5NiwgMjE3LCAxMjMsIDEsIAorICAgIDI0NiwgNTQsIDIxNywgMTIzLCAxLCAyNDYsIDM4LCAyMTcsIDEyMywgMSwgMjI0LCAxMDMsIDIxNywgMTIzLCAxLCAyMTIsIAorICAgIDIxOSwgMjE3LCAxMjMsIDEsIDIxMiwgNTYsIDIxNywgMTIzLCAxLCAyNDYsIDE0NSwgMjE3LCAxMjMsIDEsIDI0NSwgMTkyLCAKKyAgICAyMTcsIDEyMywgMSwgMTk5LCAyMTcsIDEyMywgMSwgMTc5LCAyMTcsIDEyMywgMSwgMjIxLCA5MywgMjE3LCAxMjMsIDEsIAorICAgIDI1MCwgMTgzLCAyMTcsIDEyMywgMSwgMjUwLCAwLCAyMTcsIDEyMywgMSwgMTg1LCAyMTcsIDEyMywgMSwgMTkwLCAyMTcsIAorICAgIDEyMywgMSwgMjE5LCAxMTMsIDIxNywgMTIzLCAxLCAyMzAsIDE0MSwgMjE3LCAxMjMsIDEsIDIwOSwgNzAsIDIxNywgMTIzLCAKKyAgICAxLCAyMTYsIDIsIDIxNywgMTIzLCAxLCAyMTQsIDk2LCAyMTcsIDEyMywgMSwgMjE3LCAxOTksIDIxNywgMTIzLCAxLCAxNTUsIAorICAgIDIxNywgMTIzLCAxLCAyMjksIDE3MiwgMjE3LCAxMjMsIDEwNywgMywgMjM5LCAxMzksIDIxNywgMTIzLCAyMiwgMywgMjUzLCAKKyAgICAxNjQsIDIxNywgMTIzLCAyMiwgMywgNzQsIDIxNywgMTIzLCAyMiwgMywgMjMzLCAxMDIsIDIxNywgMTIzLCAyMiwgMywgNzEsIAorICAgIDIxNywgMTIzLCAyMiwgMywgMjA5LCAxNjIsIDIxNywgMTIzLCAyMiwgMywgMTE1LCAxMzcsIDIxNywgMTIzLCAyMiwgMywgCisgICAgMTE1LCAyMTgsIDkwLCAyMTcsIDEyMywgMjIsIDMsIDExNSwgMTQ5LCAyMTcsIDEyMywgMjIsIDMsIDExNSwgMjI5LCAxNzMsIAorICAgIDIxNywgMTIzLCAyMiwgMywgNzUsIDIxNywgMTIzLCAyMiwgMywgMjQzLCAxMDQsIDIxNywgMTIzLCAyMiwgMywgMjUyLCAKKyAgICAyMDUsIDIxNywgMTIzLCAyMiwgMywgNzYsIDIxNywgMTIzLCAyMiwgMywgMjIyLCAxNTIsIDIxNywgMTIzLCAyMiwgMywgCisgICAgMjUxLCAxODQsIDIxNywgMTIzLCAzLCAyMDgsIDE4OCwgMjE3LCAxMjMsIDI0NiwgMTAwLCAyMTcsIDEyMywgNTAsIDI0NiwgCisgICAgMTAwLCAyMTcsIDEyMywgMTgsIDIwNSwgODUsIDIxNywgMTIzLCAxOCwgMTAyLCAyMTcsIDEyMywgMTgsIDEwNSwgMjE3LCAKKyAgICAxMjMsIDE4LCAxNDIsIDIxNywgMTIzLCAxOCwgMTM5LCAyMTcsIDEyMywgMTgsIDE2OCwgMjE3LCAxMjMsIDE4LCAxODQsIAorICAgIDIxNywgMTIzLCAxOCwgMTk1LCAyMTcsIDEyMywgMTgsIDE5MywgMjE3LCAxMjMsIDE4LCAyMDAsIDM2LCA4OSwgMTgsIDIwNSwgCisgICAgODUsIDM2LCA4OSwgMTgsIDEwMiwgMzYsIDg5LCAxOCwgMTA1LCAzNiwgODksIDE4LCAxNDIsIDM2LCA4OSwgMTgsIDEzOSwgCisgICAgMzYsIDg5LCAxOCwgMTY4LCAzNiwgODksIDE4LCAxODQsIDM2LCA4OSwgMTgsIDE5NSwgMzYsIDg5LCAxOCwgMTkzLCAzNiwgCisgICAgODksIDE4LCAyMDAsIDM2LCA4OSwgMSwgNjIsIDM2LCA4OSwgMSwgNzEsIDM2LCA4OSwgMSwgMTcyLCAzNiwgODksIDEsIAorICAgIDE5OSwgMzYsIDg5LCAxLCAxNzksIDM2LCA4OSwgMSwgMjE5LCAxMTMsIDM2LCA4OSwgMSwgMjA4LCAyMTQsIDM2LCA4OSwgMywgCisgICAgMjUxLCAxNjcsIDg5LCAzLCAyMTQsIDE1MiwgMjQ4LCAyMTcsIDg5LCAzLCAyNDgsIDIxOCwgMjA4LCAxODgsIDg5LCAzLCAKKyAgICA1MCwgMjQ4LCAyMTgsIDIwOCwgMTg4LCA4OSwgMywgMjQ4LCAyMTgsIDEwNSwgODksIDMsIDI0OCwgMjE4LCAxNDIsIDg5LCAKKyAgICAzLCAyNDgsIDIxOCwgMjUxLCAxNjcsIDg5LCAzLCAyMjAsIDU1LCA4OSwgMjQwLCAyMDgsIDI0MSwgMjMyLCA4OSwgMjQ4LCAKKyAgICAxOTksIDg5LCAyMzksIDYzLCAyMzEsIDIzMCwgMjI5LCAyMzYsIDE4LCAyMDUsIDg1LCAyMzEsIDIzMCwgMjI5LCAyMzYsIAorICAgIDE4LCAxMDIsIDIzMSwgMjMwLCAyMjksIDIzNiwgMTgsIDEwNSwgMjMxLCAyMzAsIDIyOSwgMjM2LCAxOCwgMTQyLCAyMzEsIAorICAgIDIzMCwgMjI5LCAyMzYsIDE4LCAxMzksIDIzMSwgMjMwLCAyMjksIDIzNiwgMTgsIDE2OCwgMjMxLCAyMzAsIDIyOSwgMjM2LCAKKyAgICAxOCwgMTg0LCAyMzEsIDIzMCwgMjI5LCAyMzYsIDE4LCAxOTUsIDIzMSwgMjMwLCAyMjksIDIzNiwgMTgsIDE5MywgMjMxLCAKKyAgICAyMzAsIDIyOSwgMjM2LCAxOCwgMjAwLCAyMzEsIDIzMCwgMjI5LCAyMzYsIDEsIDE3MiwgMjMxLCAyMzAsIDIyOSwgMjM2LCAKKyAgICAxLCAyMzEsIDE2NywgMjMxLCAyMzAsIDIyOSwgMjM2LCAxLCAyNDAsIDI0NCwgMjMxLCAyMzAsIDIyOSwgMjM2LCAxLCAyMjUsIAorICAgIDc3LCAyMzEsIDIzMCwgMjI5LCAyMzYsIDEsIDIxNywgMTk5LCAyMzEsIDIzMCwgMjI5LCAyMzYsIDEsIDIxNiwgMiwgMjMxLCAKKyAgICAyMzAsIDIyOSwgMjM2LCAxLCAyMDUsIDExNiwgMjMxLCAyMzAsIDIyOSwgMjM2LCAxLCAyMjMsIDE0NCwgMjMxLCAyMzAsIAorICAgIDIyOSwgMjM2LCAxLCAyMTIsIDIxOSwgMjMxLCAyMzAsIDIyOSwgMjM2LCAxLCAyMzgsIDQ2LCAyMzEsIDIzMCwgMjI5LCAKKyAgICAyMzYsIDEsIDE5OSwgMjMxLCAyMzAsIDIyOSwgMjM2LCAxLCAxNzksIDIzMSwgMjMwLCAyMjksIDIzNiwgMSwgMjIxLCA5MywgCisgICAgMjMxLCAyMzAsIDIyOSwgMjM2LCAxLCAxODUsIDIzMSwgMjMwLCAyMjksIDIzNiwgMSwgMjQ2LCAxNDUsIDIzMSwgMjMwLCAKKyAgICAyMjksIDIzNiwgMSwgMjUwLCAxODMsIDIzMSwgMjMwLCAyMjksIDIzNiwgMSwgMjE5LCAxMTMsIDIzMSwgMjMwLCAyMjksIAorICAgIDIzNiwgMSwgMTkwLCAyMzEsIDIzMCwgMjI5LCAyMzYsIDEsIDIzMCwgMTQxLCAyMzEsIDIzMCwgMjI5LCAyMzYsIDEsIDIwNywgCisgICAgOTYsIDIzMSwgMjMwLCAyMjksIDIzNiwgMSwgMjEyLCA1NiwgMjMxLCAyMzAsIDIyOSwgMjM2LCAxLCAxNTUsIDIzMSwgMjMwLCAKKyAgICAyMjksIDIzNiwgMSwgMjA5LCA3MCwgMjMxLCAyMzAsIDIyOSwgMjM2LCAxLCAyNDksIDEsIDIzMSwgMjMwLCAyMjksIDIzNiwgCisgICAgMSwgNjIsIDIzMSwgMjMwLCAyMjksIDIzNiwgMSwgMjIyLCAyMDYsIDIzMSwgMjMwLCAyMjksIDIzNiwgMSwgNzQsIDIzMSwgCisgICAgMjMwLCAyMjksIDIzNiwgMSwgMjIyLCAxNTIsIDIzMSwgMjMwLCAyMjksIDIzNiwgMjIsIDIxMCwgMywgMjMxLCAyMzAsIAorICAgIDIyOSwgMjM2LCAyMiwgNzUsIDIzMSwgMjMwLCAyMjksIDIzNiwgMjIsIDcxLCAyMzEsIDIzMCwgMjI5LCAyMzYsIDIyLCAKKyAgICAyNDMsIDEwNCwgMjMxLCAyMzAsIDIyOSwgMjM2LCAyMiwgNzYsIDIzMSwgMjMwLCAyMjksIDIzNiwgMTM1LCAyMjAsIDIyNiwgCisgICAgMjMxLCAyMzAsIDIyOSwgMjM2LCAxMzUsIDI0OCwgMjMzLCAyMzEsIDIzMCwgMjI5LCAyMzYsIDEzNSwgMjQ4LCAyMzQsIAorICAgIDIyMCwgMjI2LCAyMzEsIDIzMCwgMjI5LCAyMzYsIDMsIDI0NywgMywgMjMxLCAyMzAsIDIyOSwgMjM2LCAzLCAyMTUsIDg4LCAKKyAgICAyMTksIDEzLCAxLCAxNzIsIDIxOSwgMTMsIDEsIDI0MCwgMjQ0LCAyMTksIDEzLCAxLCAyMjUsIDc3LCAyMTksIDEzLCAxLCAKKyAgICAyMTIsIDIxOSwgMjE5LCAxMywgMSwgMjQ2LCAxNDUsIDIxOSwgMTMsIDEsIDE5OSwgMjE5LCAxMywgMSwgMTc5LCAyMTksIAorICAgIDEzLCAxLCAyNTAsIDE4MywgMjE5LCAxMywgMSwgMTg1LCAyMTksIDEzLCAxLCAyNDksIDEsIDIxOSwgMTMsIDEsIDIzMiwgCisgICAgMjAwLCAyMTksIDEzLCAxLCAyMjMsIDE0NCwgMjE5LCAxMywgMSwgMjE3LCAxOTksIDIxOSwgMTMsIDEsIDIxOSwgMTEzLCAKKyAgICAyMTksIDEzLCAxLCAyMzAsIDE0MSwgMjE5LCAxMywgMSwgMTkwLCAyMTksIDEzLCAxLCAyMDcsIDk2LCAyMTksIDEzLCAxLCAKKyAgICAxNTUsIDIxOSwgMTMsIDEsIDIyNywgMTUzLCAyMTksIDEzLCAxLCAyMjUsIDU2LCAyMTksIDEzLCAxLCAyMjUsIDE1MSwgCisgICAgMjE5LCAxMywgMSwgMjIzLCAxMTEsIDIxOSwgMTMsIDEsIDYyLCAyMTksIDEzLCAyMiwgMywgNzQsIDIxOSwgMTMsIDIyLCAzLCAKKyAgICA3MSwgMjE5LCAxMywgMjIsIDMsIDc1LCAyMTksIDEzLCAyMiwgMywgMjUyLCAyMDUsIDIxOSwgMTMsIDIyLCAzLCA3NiwgCisgICAgMjE5LCAxMywgMjIsIDMsIDI1MSwgMTg0LCAyMTksIDEzLCAyMiwgMywgMjQyLCAxOTIsIDIxOSwgMTMsIDIyLCAzLCAyNDMsIAorICAgIDEzMCwgMjE5LCAxMywgMTA3LCAzLCAyMjUsIDc5LCAyMTksIDEzLCAxMDcsIDMsIDIyNiwgMzMsIDIxOSwgMTMsIDEwNywgMywgCisgICAgMTM3LCAyMTksIDEzLCAxMDcsIDMsIDIzOSwgMTU1LCAyMTksIDEzLCAyMDgsIDE4OCwgMjE5LCAxMywgMjE3LCA3NywgODMsIAorICAgIDI1LCAxMTMsIDIxMSwgMTg5LCAyNSwgMTEzLCAyMTEsIDE4OCwgMjUsIDExMywgMjExLCAxODYsIDI1LCAxMTMsIDIxMSwgCisgICAgMTkxLCAyNSwgMTEzLCAyMTgsIDE5MywgMjUsIDExMywgMjE4LCAxNzcsIDI1LCAxMTMsIDIxOCwgMTcyLCAyNSwgMTEzLCAKKyAgICAyMTgsIDE3NCwgMjUsIDExMywgMjE4LCAxOTAsIDI1LCAxMTMsIDIxOCwgMTgzLCAyNSwgMTEzLCAyMTgsIDE3NiwgMjUsIAorICAgIDExMywgMjE4LCAxOTUsIDI1LCAxMTMsIDIxOCwgMTc4LCAyNSwgMTEzLCAyMTgsIDE5NywgMjUsIDExMywgMjE4LCAxOTQsIAorICAgIDI1LCAxMTMsIDIyNiwgMjM2LCAyNSwgMTEzLCAyMjYsIDIyNywgMjUsIDExMywgMjI2LCAyMzAsIDI1LCAxMTMsIDIyMSwgCisgICAgMjQsIDI1LCAxMTMsIDIyMSwgMzUsIDI1LCAxMTMsIDIyMSwgMzYsIDI1LCAxMTMsIDIxNCwgODAsIDI1LCAxMTMsIDIzMywgCisgICAgMTE1LCAyNSwgMTEzLCAyMzMsIDEyMiwgMjUsIDExMywgMjE0LCA5MSwgMjUsIDExMywgMjE0LCA3OCwgMjUsIDExMywgMjIxLCAKKyAgICA3NSwgMjUsIDExMywgMjM4LCAyNTQsIDI1LCAxMTMsIDIxNCwgNzUsIDE3NiwgMywgMjIxLCAyNDIsIDE3NiwgMywgMjQ4LCAKKyAgICAxNDUsIDE3NiwgMywgMjMwLCA2NiwgMTc2LCAzLCAyMDcsIDEzLCAxNzYsIDEsIDYyLCAxNzYsIDEsIDIzNywgMjI1LCAyMzEsIAorICAgIDIzNCwgMTc2LCAxLCA3NCwgMTc2LCAxLCAyMzMsIDEwMiwgMTc2LCAxLCA3MSwgMTc2LCAxLCAyMjIsIDUyLCAyNDgsIDExNiwgCisgICAgMTc2LCAxLCAyMjUsIDc4LCAyMzAsIDI1LCAxNzYsIDEsIDIyNSwgNzgsIDIzMCwgMjYsIDIxOSwgNjYsIDE3NiwgMSwgNzUsIAorICAgIDE3NiwgMSwgMjUyLCAyMDUsIDE3NiwgMSwgNzYsIDE3NiwgMSwgMTcyLCAxNzYsIDEsIDIzMiwgNjYsIDIxNywgMTM1LCAKKyAgICAxNzYsIDEsIDIzMiwgNjYsIDIyNiwgNzUsIDE3NiwgMSwgMjQwLCAyNDQsIDE3NiwgMSwgMjQwLCAyNDUsIDIyNiwgNzUsIAorICAgIDE3NiwgMSwgMjI1LCA3NywgMTc2LCAxLCAyNDksIDEsIDE3NiwgMSwgMjQ5LCAyLCAyMjYsIDc1LCAxNzYsIDEsIDIzMiwgCisgICAgMjAwLCAxNzYsIDEsIDIyMywgMTQ1LCAyMjYsIDc1LCAxNzYsIDEsIDIzMiwgMjAxLCAyMjcsIDI0MywgMTc2LCAxLCAyMjMsIAorICAgIDE0NCwgMTc2LCAxLCAyMTAsIDIwOCwgMTc2LCAxLCAyMTAsIDIwOSwgMjI3LCAyNDMsIDE3NiwgMSwgMjQ2LCA1NCwgMTc2LCAKKyAgICAxLCAyNDYsIDU1LCAyMjcsIDI0MywgMTc2LCAxLCAyMjUsIDIzNywgMjI2LCA3NSwgMTc2LCAxLCAyMTIsIDIxOSwgMTc2LCAKKyAgICAxLCAyMTIsIDIyMCwgMjI2LCA3NSwgMTc2LCAxLCAyNDYsIDE0NSwgMTc2LCAxLCAyNDYsIDE0NiwgMjI3LCAyNDMsIDE3NiwgCisgICAgMSwgMTk5LCAxNzYsIDEsIDE3OSwgMTc2LCAxLCAyMjIsIDUyLCAyMjYsIDc1LCAxNzYsIDEsIDI1MCwgMTgzLCAxNzYsIDEsIAorICAgIDI1MCwgMTg0LCAyMjYsIDc1LCAxNzYsIDEsIDE4NSwgMTc2LCAxLCAxOTAsIDE3NiwgMSwgMjE5LCAxMTMsIDE3NiwgMSwgCisgICAgMjE5LCAxMTQsIDI1MiwgMjE0LCAxNzYsIDEsIDIzMCwgMTQxLCAxNzYsIDEsIDIwNywgOTYsIDE3NiwgMSwgMjE3LCAyMDAsIAorICAgIDIyNiwgNzUsIDE3NiwgMSwgMjE3LCAyMDAsIDIyNywgMjQzLCAxNzYsIDEsIDIxNywgMTk5LCAxNzYsIDEsIDE1NSwgMTc2LCAKKyAgICAzLCAyNDgsIDE0NiwgMjEyLCAxMDEsIDE3NiwgMjIsIDMsIDIxMiwgMTU4LCAxNzYsIDIyLCAzLCAyMTEsIDEyMywgMTc2LCAKKyAgICAyMiwgMywgMjA2LCAyMTAsIDE3NiwgMjIsIDMsIDIwNiwgMjExLCAyMjcsIDk0LCAxNzYsIDIyLCAzLCAyMTMsIDE2NCwgCisgICAgMTc2LCAyMiwgMywgMjEzLCAxNjUsIDIyNywgODIsIDE3NiwgMjIsIDMsIDIxMiwgMTc5LCAxNzYsIDIyLCAzLCAyNDUsIAorICAgIDEwMSwgMjI2LCA3NCwgMTc2LCAyMiwgMywgMjIxLCAxMzQsIDE3NiwgMTA3LCAzLCAyMzEsIDE5NiwgMTc2LCAxMDcsIDMsIAorICAgIDIyMSwgMTQ3LCAxNzYsIDEwNywgMywgMjQ4LCAyNDIsIDE3NiwgMjIxLCAyNTUsIDE3NiwgNDcsIDIxOCwgMjQ0LCAxNzYsIAorICAgIDQ4LCAyMTgsIDI0NCwgMTc2LCAyMjIsIDQxLCAyNTIsIDExNiwgMTc2LCAyMjIsIDQxLCAyMjgsIDUsIDE3NiwgMjIyLCA0MSwgCisgICAgMjI5LCA2OSwgMTc2LCAyMjIsIDQxLCAyMDcsIDcsIDE3NiwgMjIyLCA0MSwgMjIyLCAwLCAxNzYsIDIyMiwgNDEsIDIyOSwgCisgICAgMTk3LCAxNzYsIDIyMiwgNDEsIDIyOSwgNjMsIDE3NiwgMjIyLCA0MSwgMjUyLCAyNTUsIDE3NiwgMjIyLCA0MSwgMjUzLCAwLCAKKyAgICAyNTIsIDI1NSwgMTc2LCAyMjIsIDQxLCAyMjAsIDI0OSwgMTc2LCAyMDEsIDIyMiwgNDEsIDIyMCwgMjQ5LCAxNzYsIDIyMSwgCisgICAgMjUxLCAxNzYsIDE4LCAyMDUsIDg1LCAxNzYsIDE4LCAxMDIsIDE3NiwgMTgsIDEwNSwgMTc2LCAxOCwgMTQyLCAxNzYsIDE4LCAKKyAgICAxMzksIDE3NiwgMTgsIDE2OCwgMTc2LCAxOCwgMTg0LCAxNzYsIDE4LCAxOTUsIDE3NiwgMTgsIDE5MywgMTc2LCAxOCwgCisgICAgMjAwLCAxNzYsIDIyMiwgNDEsIDIxMSwgMTU4LCAyMTAsIDE1NywgMTc2LCAyMjIsIDQxLCAyMzIsIDIzMCwgNjYsIDEsIAorICAgIDIxNSwgMjM4LCAyNDAsIDk5LCA2NiwgMSwgMjE1LCAyMzgsIDI0OCwgMTEwLCA2NiwgMSwgMjE1LCAyMzgsIDIzMiwgMTcwLCAKKyAgICA2NiwgMSwgMjE1LCAyMzgsIDIyNCwgMTAzLCA2NiwgMSwgMjE1LCAyMzgsIDI1MCwgMCwgNjYsIDMsIDIxNSwgMjM4LCAyMTcsIAorICAgIDEyMSwgNjYsIDY1LCAxLCAyMTUsIDIzOCwgMjE5LCAzMCwgNjYsIDEsIDQxLCAyMzAsIDExMywgMjIzLCAxNDQsIDY2LCAxLCAKKyAgICA0MSwgMjMwLCAxMTMsIDI0MiwgNzMsIDY2LCAxLCA0MSwgMjMwLCAxMTMsIDI0MCwgMjQ0LCA2NiwgMSwgNDEsIDIzMCwgCisgICAgMTEzLCAyNDAsIDk5LCA2NiwgMSwgNDEsIDIzMCwgMTEzLCAyMzIsIDIwMCwgNjYsIDEsIDQxLCAyMzAsIDExMywgMjMyLCAKKyAgICAxNzAsIDY2LCAxLCA0MSwgMjMwLCAxMTMsIDI0NiwgNTQsIDY2LCAxLCA0MSwgMjMwLCAxMTMsIDI0NiwgMzgsIDY2LCAxLCAKKyAgICA0MSwgMjMwLCAxMTMsIDIyNCwgMTAzLCA2NiwgNDEsIDIzMCwgMTEzLCAxOCwgMjA1LCA4NSwgNjYsIDQxLCAyMzAsIDExMywgCisgICAgMTgsIDEwMiwgNjYsIDQxLCAyMzAsIDExMywgMTgsIDEwNSwgNjYsIDQxLCAyMzAsIDExMywgMTgsIDE0MiwgNjYsIDQxLCAKKyAgICAyMzAsIDExMywgMTgsIDEzOSwgNjYsIDQxLCAyMzAsIDExMywgMTgsIDE2OCwgNjYsIDQxLCAyMzAsIDExMywgMTgsIDE4NCwgCisgICAgNjYsIDQxLCAyMzAsIDExMywgMTgsIDE5NSwgNjYsIDQxLCAyMzAsIDExMywgMTgsIDE5MywgNjYsIDQxLCAyMzAsIDExMywgCisgICAgMTgsIDIwMCwgNjYsIDEsIDQxLCAyMzAsIDExMywgMjI5LCAxNzIsIDY2LCAxLCA0MSwgMjMwLCAxMTMsIDI0NiwgMTQ1LCAKKyAgICA2NiwgMSwgNDEsIDIzMCwgMTEzLCAyNDUsIDE5MiwgNjYsIDEsIDQxLCAyMzAsIDExMywgMjUwLCAxODMsIDY2LCAxLCA0MSwgCisgICAgMjMwLCAxMTMsIDI1MCwgMCwgMjAzLCAxLCA2MiwgMjAzLCAxLCA3NCwgMjAzLCAxLCA3MSwgMjAzLCAxLCA3NSwgMjAzLCAxLCAKKyAgICAyNTIsIDIwNSwgMjAzLCAxLCA3NiwgMjAzLCAxLCAxNzIsIDIwMywgMSwgMjMxLCAxNjcsIDIwMywgMSwgMjQwLCAyNDQsIAorICAgIDIwMywgMSwgMjQwLCA5OSwgMjAzLCAxLCAyMjQsIDI0MiwgMjAzLCAxLCAyMjUsIDc3LCAyMDMsIDEsIDI0OCwgMTEwLCAKKyAgICAyMDMsIDEsIDI0OCwgNjAsIDIwMywgMSwgMjMyLCAyMDAsIDIwMywgMSwgMjMyLCAxNzAsIDIwMywgMSwgMjI0LCAyMzIsIAorICAgIDIwMywgMSwgMjI0LCAyMzQsIDIwMywgMSwgMjI0LCAyMzMsIDIwMywgMSwgMjEyLCAyMTksIDIwMywgMSwgMjEyLCA1NiwgCisgICAgMjAzLCAxLCAyNDYsIDE0NSwgMjAzLCAxLCAyNDUsIDE5MiwgMjAzLCAxLCAyMjMsIDE4NiwgMjAzLCAxLCAxOTksIDIwMywgCisgICAgMSwgMjQ2LCA1NCwgMjAzLCAxLCAxNzksIDIwMywgMSwgMjIwLCAxNTcsIDIwMywgMSwgMjIxLCA5MywgMjAzLCAxLCAyNTAsIAorICAgIDE4MywgMjAzLCAxLCAyNTAsIDAsIDIwMywgMSwgMjI2LCAxMDYsIDIwMywgMSwgMTg1LCAyMDMsIDEsIDI1MCwgOTcsIDIwMywgCisgICAgMSwgMTkwLCAyMDMsIDEsIDIxOSwgMTEzLCAyMDMsIDEsIDIzMCwgMTQxLCAyMDMsIDEsIDIwOSwgNzAsIDIwMywgMSwgMjE0LCAKKyAgICA5NiwgMjAzLCAxLCAyMTcsIDE5OSwgMjAzLCAxLCAxNTUsIDIwMywgMjIsIDMsIDI1MywgMTY0LCAyMDMsIDIyLCAzLCA3NCwgCisgICAgMjAzLCAyMiwgMywgMjMzLCAxMDIsIDIwMywgMjIsIDMsIDI0MywgOTAsIDIwMywgMjIsIDMsIDcxLCAyMDMsIDIyLCAzLCAKKyAgICAyMjIsIDIwNiwgMjAzLCAyMiwgMywgNzYsIDIwMywgMjIsIDMsIDI1MiwgMjA1LCAyMDMsIDIyLCAzLCAyNTEsIDE4NCwgCisgICAgMjAzLCAyMiwgMywgMjEwLCAzLCAyMDMsIDEwNywgMywgMTkwLCAyMDMsIDEwNywgMywgMjE5LCAxMTMsIDIwMywgMTA3LCAzLCAKKyAgICAyMzAsIDE0MSwgMjAzLCAxMDcsIDMsIDIwNywgOTYsIDIwMywgMSwgNDIsIDIzMiwgNzYsIDIwMywgMSwgNDIsIDI0MSwgNTUsIAorICAgIDIwMywgMSwgNDIsIDIyNSwgNzksIDIwMywgMTA3LCAzLCA0MiwgMjI1LCA3OSwgMjAzLCAxLCA0MiwgMjQ4LCAxMTEsIDIwMywgCisgICAgMSwgNDIsIDIxMywgMTAsIDIwMywgMSwgNDIsIDIyNiwgMzMsIDIwMywgMSwgNDIsIDIyMiwgNjcsIDIwMywgMSwgNDIsIAorICAgIDIwNiwgMTIzLCAyMDMsIDEsIDQyLCAxMzcsIDIwMywgMSwgNDIsIDE0OSwgMjAzLCAxLCA0MiwgMjE0LCA5OSwgMjAzLCAKKyAgICAxMDcsIDMsIDQyLCAyMjksIDI4LCAyMDMsIDEwNywgMywgNDIsIDIzOSwgMTU1LCAyMDMsIDE4LCAyMDUsIDg1LCAyMDMsIAorICAgIDE4LCAxMDIsIDIwMywgMTgsIDEwNSwgMjAzLCAxOCwgMTQyLCAyMDMsIDE4LCAxMzksIDIwMywgMTgsIDE2OCwgMjAzLCAxOCwgCisgICAgMTg0LCAyMDMsIDE4LCAxOTUsIDIwMywgMTgsIDE5MywgMjAzLCAxOCwgMjAwLCAyMDMsIDIyMCwgNzIsIDIxNCwgMTI3LCAKKyAgICAyMDMsIDIyMCwgNzIsIDI0NiwgMTAwLCAyMDMsIDIyMCwgNzIsIDUwLCAyNDYsIDEwMCwgMjAzLCAyMjAsIDcyLCAyMTEsIAorICAgIDM2LCAyNDYsIDEwMCwgNjYsIDEsIDIzMSwgMTYwLCAyNDAsIDI0NCwgNjYsIDEsIDIzMSwgMTYwLCAyNDksIDEsIDY2LCAxLCAKKyAgICAyMzEsIDE2MCwgMjQ4LCAxMTAsIDY2LCAxLCAyMzEsIDE2MCwgMjMyLCAyMDAsIDY2LCAxLCAyMzEsIDE2MCwgMjMyLCAxNzAsIAorICAgIDY2LCAxLCAyMzEsIDE2MCwgMjIzLCAxNDQsIDY2LCAxLCAyMzEsIDE2MCwgMjEwLCAyMDgsIDY2LCAxLCAyMzEsIDE2MCwgCisgICAgMjEwLCAxOTYsIDY2LCAxLCAyMzEsIDE2MCwgMjQ2LCA1NCwgNjYsIDEsIDIzMSwgMTYwLCAyNDYsIDM4LCA2NiwgMSwgMjMxLCAKKyAgICAxNjAsIDI0NSwgMTkyLCA2NiwgMSwgMjMxLCAxNjAsIDE5OSwgNjYsIDEsIDIzMSwgMTYwLCAyMTcsIDE5OSwgNjYsIDEsIAorICAgIDIzMSwgMTYwLCAxNTUsIDY2LCAxLCAyMzEsIDE2MCwgMjM5LCAyMCwgNjYsIDEsIDIzMSwgMTYwLCAyNDIsIDczLCA2NiwgCisgICAgNjUsIDEsIDIzMSwgMTYwLCAyMTksIDMwLCA2NiwgMSwgMjMxLCAxNjAsIDIwNiwgMTgxLCA2NiwgMSwgMjMxLCAxNjAsIAorICAgIDIwNSwgMTE2LCA2NiwgMSwgMjMxLCAxNjAsIDIxOSwgMTEzLCA2NiwgMjI5LCAxMzMsIDIzMSwgMTYwLCAyMjIsIDIyNywgCisgICAgNjYsIDIyOSwgMTMzLCAyMzEsIDE2MCwgMjE5LCAyMjcsIDY2LCAyMjksIDEzMywgMjMxLCAxNjAsIDIzOCwgMjA0LCA2NiwgCisgICAgMTYsIDI1MiwgMTkzLCAyNDIsIDE2NywgNjYsIDE2LCAyNTIsIDE5MywgMTAyLCA2NiwgMTYsIDI1MiwgMTkzLCAxMDUsIDY2LCAKKyAgICAxLCAyNTIsIDE5MywgMjE5LCAxMTMsIDY2LCAzLCAyMjEsIDIzOCwgMjMyLCA0LCAyMTEsIDExOCwgNjYsIDMsIDQxLCAyMzAsIAorICAgIDExMywgMjExLCAxMTYsIDY2LCAzLCA0MSwgMjMwLCAxMTMsIDIxMSwgMTEzLCA2NiwgMSwgMjE1LCA5NiwgMjIyLCAyMywgCisgICAgMjQ4LCAxMTAsIDY2LCAxLCAyMTUsIDk2LCAyMjIsIDIzLCAyMTYsIDIsIDQxLCAyMDgsIDIwNCwgMSwgMTE0LCAyMzEsIDUzLCAKKyAgICA0MSwgMjA4LCAyMDQsIDEsIDEyNywgMjMxLCA1MywgNDEsIDIwOCwgMjA0LCAxLCAxMTQsIDIzMSwgMTM4LCA0MSwgMjA4LCAKKyAgICAyMDQsIDEsIDEyNywgMjMxLCAxMzgsIDQxLCAyMDgsIDIwNCwgMSwgMTE0LCAyMzEsIDE0NywgNDEsIDIwOCwgMjA0LCAxLCAKKyAgICAxMjcsIDIzMSwgMTQ3LCA0MSwgMjA4LCAyMDQsIDEsIDExNCwgMjQwLCAxOSwgNDEsIDIwOCwgMjA0LCAxLCAxMjcsIDI0MCwgCisgICAgMTksIDQxLCAyMDgsIDIwNCwgMSwgMTE0LCAyMjUsIDIsIDQxLCAyMDgsIDIwNCwgMSwgMTI3LCAyMjUsIDIsIDQxLCAyMDgsIAorICAgIDIwNCwgMSwgMTE0LCAyNDcsIDE3NCwgNDEsIDIwOCwgMjA0LCAxLCAxMjcsIDI0NywgMTc0LCA0MSwgMjA4LCAyMDQsIDEsIAorICAgIDExNCwgMjQ4LCAzMiwgNDEsIDIwOCwgMjA0LCAxLCAxMjcsIDI0OCwgMzIsIDQxLCAyMDgsIDIwNCwgMSwgMTE0LCAyMTQsIAorICAgIDE5MywgNDEsIDIwOCwgMjA0LCAxLCAxMjcsIDIxNCwgMTkzLCA0MSwgMjA4LCAyMDQsIDEsIDExNCwgMjIzLCAxMTAsIDQxLCAKKyAgICAyMDgsIDIwNCwgMSwgMTI3LCAyMjMsIDExMCwgNDEsIDIwOCwgMjA0LCAxLCAxMTQsIDI0NSwgNTEsIDQxLCAyMDgsIDIwNCwgCisgICAgMSwgMTI3LCAyNDUsIDUxLCA0MSwgMjA4LCAyMDQsIDEsIDExNCwgMTI0LCA0MSwgMjA4LCAyMDQsIDEsIDEyNywgMTI0LCAKKyAgICA0MSwgMjA4LCAyMDQsIDEsIDExNCwgMjExLCAyNTMsIDQxLCAyMDgsIDIwNCwgMSwgMTI3LCAyMTEsIDI1MywgNDEsIDIwOCwgCisgICAgMjA0LCAxLCAxMTQsIDIyNCwgNjcsIDQxLCAyMDgsIDIwNCwgMSwgMTI3LCAyMjQsIDY3LCA0MSwgMjA4LCAyMDQsIDEsIAorICAgIDExNCwgMjQ5LCAxODQsIDQxLCAyMDgsIDIwNCwgMSwgMTI3LCAyNDksIDE4NCwgNDEsIDIwOCwgMjA0LCAxLCAxMTQsIDIyMCwgCisgICAgMjExLCA0MSwgMjA4LCAyMDQsIDEsIDEyNywgMjIwLCAyMTEsIDQxLCAyMDgsIDIwNCwgMSwgMTE0LCAyMjEsIDY2LCA0MSwgCisgICAgMjA4LCAyMDQsIDEsIDEyNywgMjIxLCA2NiwgNDEsIDIwOCwgMjA0LCAxLCAxMTQsIDI0MSwgMTYyLCA0MSwgMjA4LCAyMDQsIAorICAgIDEsIDEyNywgMjQxLCAxNjIsIDQxLCAyMDgsIDIwNCwgMSwgMTE0LCAyMjYsIDE4MSwgNDEsIDIwOCwgMjA0LCAxLCAxMjcsIAorICAgIDIyNiwgMTgxLCA0MSwgMjA4LCAyMDQsIDEsIDExNCwgMjA1LCAyNDcsIDQxLCAyMDgsIDIwNCwgMSwgMTI3LCAyMDUsIDI0NywgCisgICAgNDEsIDIwOCwgMjA0LCAxLCAxMTQsIDIxOCwgMTI0LCA0MSwgMjA4LCAyMDQsIDEsIDEyNywgMjE4LCAxMjQsIDQxLCAyMDgsIAorICAgIDIwNCwgMSwgMTE0LCAyMjksIDE0NCwgNDEsIDIwOCwgMjA0LCAxLCAxMjcsIDIyOSwgMTQ0LCA0MSwgMjA4LCAyMDQsIDEsIAorICAgIDExNCwgMjA4LCAxNzMsIDQxLCAyMDgsIDIwNCwgMSwgMTI3LCAyMDgsIDE3MywgNDEsIDIwOCwgMjA0LCAxLCAxMTQsIDIzOCwgCisgICAgMTQ5LCA0MSwgMjA4LCAyMDQsIDEsIDEyNywgMjM4LCAxNDksIDQxLCAyMDgsIDIwNCwgMSwgMTE0LCA3NiwgNDEsIDIwOCwgCisgICAgMjA0LCAxLCAxMjcsIDc2LCA0MSwgMjA4LCAyMDQsIDIyNywgMjQwLCAyMzIsIDIzLCA0MSwgMjA4LCAyMDQsIDIyLCAyNTMsIAorICAgIDE2NCwgNDEsIDIwOCwgMjA0LCAyMiwgNzQsIDQxLCAyMDgsIDIwNCwgMjIsIDIxMCwgMywgNDEsIDIwOCwgMjA0LCAyMiwgCisgICAgNzEsIDQxLCAyMDgsIDIwNCwgMjIsIDc1LCA0MSwgMjA4LCAyMDQsIDIyLCA3NiwgNDEsIDIwOCwgMjA0LCAyMjcsIDI0MCwgCisgICAgMjMxLCAxNDEsIDQxLCAyMDgsIDIwNCwgMjIsIDIzNywgMTkwLCA0MSwgMjA4LCAyMDQsIDIyLCAyMTAsIDIsIDQxLCAyMDgsIAorICAgIDIwNCwgMjIsIDIxMCwgMTgsIDQxLCAyMDgsIDIwNCwgMjIsIDI1MSwgMTgyLCA0MSwgMjA4LCAyMDQsIDIyLCAyNTEsIDE1OSwgCisgICAgNDEsIDIwOCwgMjA0LCAyMiwgMjUyLCAxMjIsIDQxLCAyMDgsIDIwNCwgMjIsIDI1MiwgMTM2LCA0MSwgMjA4LCAyMDQsIAorICAgIDEzNSwgMjI3LCAyNDAsIDI0MywgNzUsIDQxLCAyMDgsIDIwNCwgMTM1LCAyMjcsIDI0MCwgMjIzLCAxODUsIDQxLCAyMDgsIAorICAgIDIwNCwgMTM1LCAyMjcsIDI0MCwgMjExLCAyNTMsIDQxLCAyMDgsIDIwNCwgMTM1LCAyMjcsIDI0MCwgMjE0LCAxNzYsIDQxLCAKKyAgICAyMDgsIDIwNCwgMTYsIDIzMSwgMzYsIDQxLCAyMDgsIDIwNCwgMTYsIDIyMywgMTg1LCA0MSwgMjA4LCAyMDQsIDE2LCAyMTcsIAorICAgIDE2MSwgNDEsIDIwOCwgMjA0LCAxNiwgMjM4LCAxNTAsIDIzOCwgMTQ1LCA0MSwgMjA4LCAyMDQsIDE2LCAyMzEsIDQ2LCAKKyAgICAyMzEsIDQ1LCAyMjcsIDEwMSwgMjI3LCAxNjAsIDEsIDc1LCAyMjcsIDEwMSwgMjI3LCAxNjAsIDEsIDc2LCAyMjcsIDEwMSwgCisgICAgMjI3LCAxNjAsIDEsIDI0OCwgMTEwLCAyMjcsIDEwMSwgMjI3LCAxNjAsIDEsIDIyMywgMTQ0LCAyMjcsIDEwMSwgMjI3LCAKKyAgICAxNjAsIDEsIDIxMCwgMjA4LCAyMjcsIDEwMSwgMjI3LCAxNjAsIDEsIDIxMCwgMTk2LCAyMjcsIDEwMSwgMjI3LCAxNjAsIDEsIAorICAgIDI0NiwgNTQsIDIyNywgMTAxLCAyMjcsIDE2MCwgMSwgMjQ2LCAzOCwgMjI3LCAxMDEsIDIyNywgMTYwLCAxLCAyMjQsIDEwMywgCisgICAgMjI3LCAxMDEsIDIyNywgMTYwLCAxLCAyMTYsIDIsIDIyNywgMTAxLCAyMjcsIDE2MCwgMSwgMjE0LCA5NiwgMjI3LCAxMDEsIAorICAgIDIyNywgMTYwLCAyMiwgMywgMjMzLCAxMDIsIDIyNywgMTAxLCAyMjcsIDE2MCwgMjIsIDMsIDIwOSwgMTYyLCAyMjcsIDEwMSwgCisgICAgMjI3LCAxNjAsIDIyLCAzLCAyNTMsIDEyOCwgMjI3LCAxMDEsIDIyNywgMTYwLCAyMiwgMywgMjUxLCAxODQsIDIyNywgMTAxLCAKKyAgICAyMjcsIDE2MCwgMjIsIDMsIDI1MywgMTIxLCAyMjcsIDEwMSwgMjI3LCAxNjAsIDI0OCwgNzQsIDIyNywgMTAxLCAyMjcsIAorICAgIDE2MCwgMjUyLCAyMTAsIDIzMSwgMTMwLCAyMjcsIDEwMSwgMjI3LCAxNjAsIDI1MiwgMTAyLCAyMjcsIDEwMSwgMjI3LCAKKyAgICAxNjAsIDQsIDIxOCwgMjQ5LCA4MywgMjI3LCAxMDEsIDIyNywgMTYwLCAyMDYsIDIzMiwgMjE4LCAyNDksIDgzLCAyMjcsIAorICAgIDEwMSwgMjI3LCAxNjAsIDIyLCAzLCAyMDgsIDE4MywgMjI3LCAxMDEsIDIyNywgMTYwLCAyMDgsIDE4OCwgMzEsIDQsIDIxMCwgCisgICAgMTg5LCAzMSwgNCwgMjEwLCAxOTIsIDMxLCA0LCAyMTAsIDE5NSwgMzEsIDQsIDIxMCwgMTkzLCAzMSwgNCwgMjEwLCAxOTQsIAorICAgIDMxLCA0LCAyMTAsIDE5MSwgMzEsIDQsIDI0NiwgMzIsIDMxLCA0LCAyNDYsIDM0LCAzMSwgNCwgMjQ2LCAzNywgMzEsIDQsIAorICAgIDI0NiwgMzUsIDMxLCA0LCAyNDYsIDM2LCAzMSwgNCwgMjQ2LCAzMywgMzEsIDQsIDI0MywgMTgzLCAzMSwgNCwgMjQzLCAKKyAgICAxODcsIDMxLCA0LCAyNDMsIDE5NSwgMzEsIDQsIDI0MywgMTkyLCAzMSwgNCwgMjQzLCAxOTMsIDMxLCA0LCAyNDMsIDE4NCwgCisgICAgMzEsIDQsIDI0OCwgMTYyLCAzMSwgNCwgMjQ4LCAxNTYsIDMxLCA0LCAyNDgsIDE1OCwgMzEsIDQsIDI0OCwgMTYxLCAzMSwgCisgICAgNCwgMjQ4LCAxNTksIDMxLCA0LCAyNDgsIDE2MCwgMzEsIDQsIDI0OCwgMTU3LCAzMSwgNCwgMjUwLCA5NywgMzEsIDQsIAorICAgIDI1MCwgNzYsIDMxLCA0LCAyNTAsIDg4LCAzMSwgNCwgMjUwLCA5NiwgMzEsIDQsIDI1MCwgOTEsIDMxLCA0LCAyNTAsIDkyLCAKKyAgICAzMSwgNCwgMjUwLCA4MCwgNywgNSwgMSwgMjUwLCAxMjMsIDI1MiwgMTQ0LCA3LCA1LCAxLCAzMiwgMjE4LCAyMjIsIDcsIDUsIAorICAgIDEsIDI0OSwgMTk4LCA3NSwgNywgNSwgMSwgMjUwLCAxMjMsIDc1LCA3LCA1LCAxLCAxNzQsIDIsIDI0MSwgMTc0LCA3LCA1LCAKKyAgICAxLCAyMzAsIDE4LCAyNDIsIDEzOSwgNywgNSwgMSwgMTIxLCAyNDEsIDU2LCAyLCAyNDcsIDU2LCA3LCA1LCAxLCAyMzAsIAorICAgIDE1OSwgMiwgMjMzLCAyLCAyMzAsIDY1LCAxODIsIDcsIDUsIDEsIDIzMCwgMTU5LCAyLCA1MCwgMjI2LCAyNDcsIDIxMSwgCisgICAgMTgwLCA3LCA1LCAxLCAyMzAsIDE1OSwgMiwgMjI2LCAyNDcsIDIxOCwgMTQ4LCA3LCA1LCAxLCAyMjksIDI5LCAyLCAyNDcsIAorICAgIDU2LCA3LCA1LCAxLCAyMjYsIDM0LCAyLCAyNDcsIDU2LCA3LCA1LCAxLCAyNDMsIDI5LCAyLCAyNDcsIDU2LCA3LCA1LCAxLCAKKyAgICAyNDksIDE5OCwgNzYsIDcsIDUsIDEsIDI0OSwgMTk4LCAxNDgsIDIsIDkxLCA3LCA1LCAxLCAyMjIsIDE0MiwgMTQ4LCAyLCAKKyAgICA5MSwgNywgNSwgMSwgMjMzLCAyLCAyMjIsIDIwNiwgNywgNSwgMSwgMjAxLCAyMjIsIDIwNywgMiwgOTEsIDcsIDUsIDEsIAorICAgIDIwMSwgMjIyLCAyMDcsIDIsIDE5NCwgOTEsIDcsIDUsIDEsIDIwMSwgMTQ4LCAyMjIsIDEzOCwgNywgNSwgMSwgMjAxLCAKKyAgICAxNDgsIDIyMiwgMTM5LCAyLCA5MSwgNywgNSwgMSwgMjE0LCAwLCAxMzcsIDcsIDEsIDUsIDYsIDIxOSwgMTUwLCAyLCA0OCwgCisgICAgMjMwLCAzNCwgNywgNSwgMSwgMjE5LCAxNTAsIDIwNiwgMjUzLCAyMzksIDEwNSwgNywgNSwgMSwgNTAsIDEzNywgNywgNSwgCisgICAgMSwgMjE5LCAxNTAsIDIsIDI0NywgNTYsIDcsIDUsIDEsIDUwLCAyMTksIDE1MCwgMiwgMjQ3LCA1NiwgNywgNSwgMSwgMTIxLCAKKyAgICAxMzcsIDcsIDUsIDEsIDEyMSwgMjE5LCAxNTAsIDIsIDIxOCwgMTQ4LCA3LCA1LCAxLCAyNTAsIDExNCwgMjQyLCAyMTUsIDcsIAorICAgIDUsIDEsIDEwNiwgMiwgMjE1LCAxNDQsIDQ4LCAyMzAsIDM0LCA3LCA1LCAxLCAxMDYsIDI1MCwgMTI5LCAyLCAyMTUsIDE0NCwgCisgICAgNDgsIDIzMCwgMzQsIDcsIDUsIDEsIDIwOSwgMjUyLCA3LCA1LCAxLCAyMDEsIDIwOSwgMjUyLCA3LCA1LCAxLCAxMDYsIDIsIAorICAgIDQ3LCAxMDksIDcsIDUsIDEsIDI0OCwgNTgsIDcsIDUsIDEsIDI0OCwgNTksIDIsIDExNCwgNDgsIDIxOCwgMTQ4LCA3LCA1LCAKKyAgICAxLCAyNDgsIDU5LCAyLCAxMTQsIDQ3LCAyMTYsIDM2LCA3LCA1LCAxLCAyMDYsIDE5NiwgMiwgMTE0LCA0OCwgMjE4LCAxNDgsIAorICAgIDcsIDUsIDEsIDIwNiwgMTk2LCAyLCAxNTIsIDQ3LCAyMzAsIDM0LCA3LCA1LCAxLCAyMDYsIDE5NiwgMiwgMTUyLCA0NywgCisgICAgMjMwLCAzNSwgMjMsIDExNCwgNDgsIDIxOCwgMTQ4LCA3LCA1LCAxLCAyMDYsIDE5NiwgMiwgMTUyLCA0NywgMjMwLCAzNSwgCisgICAgMiwgMjE2LCAzNiwgNywgNSwgMSwgMjA2LCAxMjQsIDIsIDIxNSwgMTQ0LCA0OCwgMjMwLCAzNCwgNjUsIDI0OSwgMTIzLCAyLCAKKyAgICAyMzMsIDIsIDI0OSwgMTIyLCA2NSwgMSwgNSwgMjM5LCAzOSwgNjUsIDEsIDUsIDIzMCwgMTU5LCAyLCAyMzMsIDIsIDIzMCwgCisgICAgNjUsIDE4MiwgNjUsIDEsIDUsIDIzMCwgMTU5LCAyLCAyMjYsIDI0NywgMjExLCAxODAsIDY1LCAxLCA1LCAxMDYsIDIsIDQ3LCAKKyAgICAxMDksIDcsIDUsIDEsIDIzMywgMiwgMjUyLCAxNDQsIDI3LCAxLCA1LCA2LCAyMjIsIDE3MCwgMjI3LCAxMDEsIDIyNywgCisgICAgMTYwLCAxLCAyMzEsIDQzLCAyMjcsIDEwMSwgMjI3LCAxNjAsIDEsIDIxNywgMTYxLCAyMjcsIDEwMSwgMjI3LCAxNjAsIDEsIAorICAgIDIzMCwgMTE0LCAyMjcsIDEwMSwgMjI3LCAxNjAsIDEsIDIyNiwgMTkyLCAyMjcsIDEwMSwgMjI3LCAxNjAsIDEsIDE3OSwgCisgICAgMjI3LCAxMDEsIDIyNywgMTYwLCAxLCAxOTksIDIyNywgMTAxLCAyMjcsIDE2MCwgMSwgMjQ4LCA1MCwgMjI3LCAxMDEsIAorICAgIDIyNywgMTYwLCAxLCAyMTEsIDE4MiwgMjI3LCAxMDEsIDIyNywgMTYwLCAxLCAyMzEsIDEzMywgMjI3LCAxMDEsIDIyNywgCisgICAgMTYwLCAxLCAyMjQsIDI0OCwgMjI3LCAxMDEsIDIyNywgMTYwLCAxLCAyMTEsIDI0NSwgMjI3LCAxMDEsIDIyNywgMTYwLCAxLCAKKyAgICAyMDcsIDkwLCAyMjcsIDEwMSwgMjI3LCAxNjAsIDEsIDIwNiwgNzUsIDIyNywgMTAxLCAyMjcsIDE2MCwgMSwgMjM4LCAzNSwgCisgICAgMjI3LCAxMDEsIDIyNywgMTYwLCAxLCAyMDksIDIzNCwgMjI3LCAxMDEsIDIyNywgMTYwLCAxLCA3NCwgMjI3LCAxMDEsIAorICAgIDIyNywgMTYwLCAxLCAyMjEsIDg3LCAyMjcsIDEwMSwgMjI3LCAxNjAsIDEsIDI1MSwgMTk1LCAyMjcsIDEwMSwgMjI3LCAKKyAgICAxNjAsIDEsIDI0MCwgMTIsIDIyNywgMTAxLCAyMjcsIDE2MCwgMSwgMjMyLCAxNjgsIDIyNywgMTAxLCAyMjcsIDE2MCwgMSwgCisgICAgMjE5LCA5MCwgMjI3LCAxMDEsIDIyNywgMTYwLCAxLCAyNTAsIDE4MywgMjI3LCAxMDEsIDIyNywgMTYwLCAxLCAyMzIsIAorICAgIDE1NCwgMjI3LCAxMDEsIDIyNywgMTYwLCAxLCAyNDUsIDEyNiwgMjI3LCAxMDEsIDIyNywgMTYwLCAxLCAyNDAsIDY4LCAKKyAgICAyMjcsIDEwMSwgMjI3LCAxNjAsIDEsIDI0NSwgMTcwLCAyMjcsIDEwMSwgMjI3LCAxNjAsIDEsIDI0OSwgMjU0LCAyMjcsIAorICAgIDEwMSwgMjI3LCAxNjAsIDEsIDIzMSwgNDQsIDIyOSwgMTE2LCAyMjcsIDEwMSwgMjI3LCAxNjAsIDEsIDIzMCwgMTE1LCAKKyAgICAyMjksIDExNiwgMjI3LCAxMDEsIDIyNywgMTYwLCAxLCAyMjYsIDE5MywgMjI5LCAxMTYsIDIyNywgMTAxLCAyMjcsIDE2MCwgCisgICAgMSwgMjIyLCA1MiwgMjI5LCAxMTYsIDIyNywgMTAxLCAyMjcsIDE2MCwgMSwgMjI1LCAyMzcsIDIyOSwgMTE2LCAyMjcsIAorICAgIDEwMSwgMjI3LCAxNjAsIDEsIDIxMSwgMTgzLCAyMjksIDExNiwgMjI3LCAxMDEsIDIyNywgMTYwLCAxLCAyMjQsIDI0OSwgCisgICAgMjI5LCAxMTYsIDIyNywgMTAxLCAyMjcsIDE2MCwgMSwgMjM3LCAyMjUsIDIyOSwgMTE2LCAyMjcsIDEwMSwgMjI3LCAxNjAsIAorICAgIDIyLCAzLCAyMjIsIDE2NCwgMjI3LCAxMDEsIDIyNywgMTYwLCAyMiwgMywgMjMzLCA2NiwgMjI3LCAxMDEsIDIyNywgMTYwLCAKKyAgICAyMiwgMywgMjUyLCAxMjEsIDIyNywgMTAxLCAyMjcsIDE2MCwgMjIsIDMsIDIwNiwgNDEsIDIyNywgMTAxLCAyMjcsIDE2MCwgCisgICAgMjIsIDMsIDIxNCwgMTY2LCAyMjcsIDEwMSwgMjI3LCAxNjAsIDIyLCAzLCAyMDksIDIzMSwgMjI3LCAxMDEsIDIyNywgMTYwLCAKKyAgICAyMiwgMywgMjQ4LCA3MiwgMjI3LCAxMDEsIDIyNywgMTYwLCAyMiwgMywgMjIzLCAxNzAsIDIyNywgMTAxLCAyMjcsIDE2MCwgCisgICAgMjQ4LCA3MywgMjI3LCAxMDEsIDIyNywgMTYwLCAyMjksIDY2LCAyMzIsIDIwOSwgMjI3LCAxMDEsIDIyNywgMTYwLCAyNTIsIAorICAgIDQyLCAyMzIsIDIwOSwgMjI3LCAxMDEsIDIyNywgMTYwLCAxOCwgMjA1LCA4NSwgMjI3LCAxMDEsIDIyNywgMTYwLCAxOCwgCisgICAgMTAyLCAyMjcsIDEwMSwgMjI3LCAxNjAsIDE4LCAxMDUsIDIyNywgMTAxLCAyMjcsIDE2MCwgMTgsIDE0MiwgMjI3LCAxMDEsIAorICAgIDIyNywgMTYwLCAxOCwgMTM5LCAyMjcsIDEwMSwgMjI3LCAxNjAsIDE4LCAxNjgsIDIyNywgMTAxLCAyMjcsIDE2MCwgMTgsIAorICAgIDE4NCwgMjI3LCAxMDEsIDIyNywgMTYwLCAxOCwgMTk1LCAyMjcsIDEwMSwgMjI3LCAxNjAsIDE4LCAxOTMsIDIyNywgMTAxLCAKKyAgICAyMjcsIDE2MCwgMTgsIDIwMCwgMjUsIDE2MiwgMjIzLCA1MSwgMjUsIDE2MiwgMjIzLCA1NiwgMjUsIDE2MiwgMjA1LCAyNDYsIAorICAgIDI1LCAxNjIsIDIwNSwgMjQ1LCAyNSwgMTYyLCAyMDUsIDI0NCwgMjUsIDE2MiwgMjEwLCA2OCwgMjUsIDE2MiwgMjEwLCA3MiwgCisgICAgMjUsIDE2MiwgMjA1LCAyMTEsIDI1LCAxNjIsIDIwNSwgMjA3LCAyNSwgMTYyLCAyNDIsIDE5MSwgMjUsIDE2MiwgMjQyLCAKKyAgICAxODksIDI1LCAxNjIsIDI0MiwgMTkwLCAyNSwgMTYyLCAyNDIsIDE4NywgMjUsIDE2MiwgMjM3LCAyMTUsIDI1LCAxNjIsIAorICAgIDIzNywgMjE0LCAyNSwgMTYyLCAyMzcsIDIxMiwgMjUsIDE2MiwgMjM3LCAyMTMsIDI1LCAxNjIsIDIzNywgMjE4LCAyNSwgCisgICAgMTYyLCAyMzcsIDIxMSwgMjUsIDE2MiwgMjM3LCAyMTAsIDI1LCAxNjIsIDIzNywgMjIwLCAyNSwgMTYyLCAyNTIsIDI5LCAKKyAgICAyNSwgMTYyLCAyNTIsIDI4LCAyNSwgMTAwLCAyMjQsIDIxNiwgMjUsIDEwMCwgMjI0LCAyMjIsIDI1LCAxMDAsIDIxNCwgNzcsIAorICAgIDI1LCAxMDAsIDIxNCwgNzYsIDI1LCAxMDAsIDIxMSwgMTg4LCAyNSwgMTAwLCAyMTEsIDE4NiwgMjUsIDEwMCwgMjExLCAKKyAgICAxODUsIDI1LCAxMDAsIDIxMSwgMTkxLCAyNSwgMTAwLCAyMTEsIDE5MiwgMjUsIDEwMCwgMjExLCAxODQsIDI1LCAxMDAsIAorICAgIDIxOCwgMTc3LCAyNSwgMTAwLCAyMTgsIDE5MiwgMjUsIDEwMCwgMjE0LCA4MywgMjUsIDEwMCwgMjE4LCAxODksIDI1LCAKKyAgICAxMDAsIDIxOCwgMTc5LCAyNSwgMTAwLCAyMTgsIDE4MSwgMjUsIDEwMCwgMjE4LCAxNjgsIDI1LCAxMDAsIDIxOCwgMTY5LCAKKyAgICAyNSwgMTAwLCAyMzIsIDEwLCAyNSwgMTAwLCAyMjYsIDIzNSwgMjUsIDEwMCwgMjI2LCAyMjksIDI1LCAxMDAsIDIxNCwgODcsIAorICAgIDI1LCAxMDAsIDIyNiwgMjMyLCAyNSwgMTAwLCAyMjYsIDIzOCwgMjUsIDEwMCwgMjIxLCAyMCwgMjUsIDEwMCwgMjIxLCAyOSwgCisgICAgMjUsIDEwMCwgMjIxLCAzMywgMjUsIDEwMCwgMjE0LCA4NSwgMjUsIDEwMCwgMjIxLCAyMywgMjUsIDEwMCwgMjIxLCAzNywgCisgICAgMjUsIDEwMCwgMjIxLCAzOCwgMjUsIDEwMCwgMjE1LCAyNSwgMjUsIDEwMCwgMjE1LCAyOCwgMjUsIDEwMCwgMjE0LCA4MSwgCisgICAgMjUsIDEwMCwgMjE0LCA3OSwgMjUsIDEwMCwgMjE1LCAyMywgMjUsIDEwMCwgMjE1LCAzMSwgMjUsIDEwMCwgMjE1LCAzMiwgCisgICAgMjUsIDEwMCwgMjE1LCAxNywgMjUsIDEwMCwgMjE1LCAzMCwgMjUsIDEwMCwgMjIxLCAyNDUsIDI1LCAxMDAsIDIyMSwgMjQ2LCAKKyAgICAyNSwgMTAwLCAyMDYsIDI3LCAyNSwgMTAwLCAyMDYsIDI4LCAyNSwgMTAwLCAyNDcsIDI0NCwgMjUsIDEwMCwgMjQ3LCAyNDMsIAorICAgIDI1LCAxMDAsIDIxNCwgOTIsIDI1LCAxMDAsIDIyMSwgNzMsIDI1LCAxMDAsIDIyMSwgNzIsIDEwLCAxNSwgMjM1LCA5MywgCisgICAgMTAsIDE1LCAyMzUsIDkyLCAxMCwgMTUsIDIzNSwgOTEsIDEwLCAxNSwgMjM1LCA5MCwgMTAsIDE1LCAyMzUsIDg5LCAxMCwgCisgICAgMTUsIDIzNSwgODgsIDEwLCAxNSwgMjM1LCA4NywgMTAsIDE1LCAyMzUsIDg2LCAxMCwgMTUsIDIzNSwgODUsIDEwLCAxNSwgCisgICAgMjM1LCA4NCwgMTAsIDE1LCAyMzUsIDgzLCAxMCwgMTUsIDIzNSwgODIsIDEwLCAxNSwgMjM1LCA4MSwgMTAsIDE1LCAyMzUsIAorICAgIDgwLCAxMCwgMTUsIDIzNSwgNzksIDEwLCAxNSwgMjM1LCA3OCwgMTAsIDE1LCAyMzUsIDc3LCAxMCwgMTUsIDIzNSwgNzYsIAorICAgIDEwLCAxNSwgMjM1LCA3NSwgMTAsIDE1LCAyMzUsIDc0LCAxMCwgMTUsIDIzNSwgNzMsIDEwLCAxNSwgMjM1LCA3MiwgMTAsIAorICAgIDE1LCAyMzUsIDcxLCAxMCwgMTUsIDIzNSwgNzAsIDEwLCAxNSwgMjM1LCA2OSwgMTAsIDE1LCAyMzUsIDY4LCAxMCwgMTUsIAorICAgIDIzNSwgNjcsIDEwLCAxNSwgMjM1LCA2NiwgMTAsIDE1LCAyMzUsIDY1LCAxMCwgMTUsIDIzNSwgNjQsIDEwLCAxNSwgMjM1LCAKKyAgICA2MywgMTAsIDE1LCAyMzUsIDYyLCAxMCwgMTUsIDIzNSwgNjEsIDEwLCAxNSwgMjM1LCA2MCwgMTAsIDE1LCAyMzUsIDU5LCAKKyAgICAxMCwgMTUsIDIzNSwgNTgsIDEwLCAxNSwgMjM1LCA1NywgMTAsIDE1LCAyMzUsIDU2LCAxMCwgMTUsIDIzNSwgNTUsIDEwLCAKKyAgICAxNSwgMjM1LCA1NCwgMTAsIDE1LCAyMzUsIDUzLCAxMCwgMTUsIDIzNSwgNTIsIDEwLCAxNSwgMjM1LCA1MSwgMTAsIDE1LCAKKyAgICAyMzUsIDUwLCAxMCwgMTUsIDIzNSwgNDksIDEwLCAxNSwgMjM1LCA0OCwgMTAsIDE1LCAyMzUsIDQ3LCAxMCwgMTUsIDIzNSwgCisgICAgNDYsIDEwLCAxNSwgMjM1LCA0NSwgMTAsIDE1LCAyMzUsIDQ0LCAxMCwgMTUsIDIzNSwgNDMsIDEwLCAxNSwgMjM1LCA0MiwgCisgICAgMTAsIDE1LCAyMzUsIDQxLCAxMCwgMTUsIDIzNSwgNDAsIDEwLCAxNSwgMjM1LCAzOSwgMTAsIDE1LCAyMzUsIDM4LCAxMCwgCisgICAgMTUsIDIzNSwgMzcsIDEwLCAxNSwgMjM1LCAzNiwgMTAsIDE1LCAyMzUsIDM1LCAxMCwgMTUsIDIzNSwgMzQsIDEwLCAxNSwgCisgICAgMjM1LCAzMywgMTAsIDE1LCAyMzUsIDMyLCAxMCwgMTUsIDIzNSwgMzEsIDEwLCAxNSwgMjM1LCAzMCwgMTAsIDE1LCAyMzUsIAorICAgIDI5LCAxMCwgMTUsIDIzNSwgMjgsIDEwLCAxNSwgMjM1LCAyNywgMTAsIDE1LCAyMzUsIDI2LCAxMCwgMTUsIDIzNSwgMjUsIAorICAgIDEwLCAxNSwgMjM1LCAyNCwgMTAsIDE1LCAyMzUsIDIzLCAxMCwgMTUsIDIzNSwgMjIsIDEwLCAxNSwgMjM1LCAyMSwgMTAsIAorICAgIDE1LCAyMzUsIDIwLCAxMCwgMTUsIDIzNSwgMTksIDEwLCAxNSwgMjM1LCAxOCwgMTAsIDE1LCAyMzUsIDE3LCAxMCwgMTUsIAorICAgIDIzNSwgMTYsIDEwLCAxNSwgMjM1LCAxNSwgMTAsIDE1LCAyMzUsIDE0LCAxMCwgMTUsIDIzNSwgMTMsIDEwLCAxNSwgMjM1LCAKKyAgICAxMiwgMTAsIDE1LCAyMzUsIDExLCAxMCwgMTUsIDIzNSwgMTAsIDEwLCAxNSwgMjM1LCA5LCAxMCwgMTUsIDIzNSwgOCwgMTAsIAorICAgIDE1LCAyMzUsIDcsIDEwLCAxNSwgMjM1LCA2LCAxMCwgMTUsIDIzNSwgNSwgMTAsIDE1LCAyMzUsIDQsIDEwLCAxNSwgMjM1LCAKKyAgICAzLCAxMCwgMTUsIDIzNSwgMiwgMTAsIDE1LCAyMzUsIDEsIDEwLCAxNSwgMjM1LCAwLCAxMCwgMTUsIDIzNCwgMjU1LCAxMCwgCisgICAgMTUsIDIzNCwgMjU0LCAxMCwgMTUsIDIzNCwgMjUzLCAxMCwgMTUsIDIzNCwgMjUyLCAxMCwgMTUsIDIzNCwgMjUxLCAxMCwgCisgICAgMTUsIDIzNCwgMjUwLCAxMCwgMTUsIDIzNCwgMjQ5LCAxMCwgMTUsIDIzNCwgMjQ4LCAxMCwgMTUsIDIzNCwgMjQ3LCAxMCwgCisgICAgMTUsIDIzNCwgMjQ2LCAxMCwgMTUsIDIzNCwgMjQ1LCAxMCwgMTUsIDIzNCwgMjQ0LCAxMCwgMTUsIDIzNCwgMjQzLCAxMCwgCisgICAgMTUsIDIzNCwgMjQyLCAxMCwgMTUsIDIzNCwgMjQxLCAxMCwgMTUsIDIzNCwgMjQwLCAxMCwgMTUsIDIzNCwgMjM5LCAxMCwgCisgICAgMTUsIDIzNCwgMjM4LCAxMCwgMTUsIDIzNCwgMjM3LCAxMCwgMTUsIDIzNCwgMjM2LCAxMCwgMTUsIDIzNCwgMjM1LCAxMCwgCisgICAgMTUsIDIzNCwgMjM0LCAxMCwgMTUsIDIzNCwgMjMzLCAxMCwgMTUsIDIzNCwgMjMyLCAxMCwgMTUsIDIzNCwgMjMxLCAxMCwgCisgICAgMTUsIDIzNCwgMjMwLCAxMCwgMTUsIDIzNCwgMjI5LCAxMCwgMTUsIDIzNCwgMjI4LCAxMCwgMTUsIDIzNCwgMjI3LCAxMCwgCisgICAgMTUsIDIzNCwgMjI2LCAxMCwgMTUsIDIzNCwgMjI1LCAxMCwgMTUsIDIzNCwgMjI0LCAxMCwgMTUsIDIzNCwgMjIzLCAxMCwgCisgICAgMTUsIDIzNCwgMjIyLCAxMCwgMTUsIDIzNCwgMjIxLCAxMCwgMTUsIDIzNCwgMjIwLCAxMCwgMTUsIDIzNCwgMjE5LCAxMCwgCisgICAgMTUsIDIzNCwgMjE4LCAxMCwgMTUsIDIzNCwgMjE3LCAxMCwgMTUsIDIzNCwgMjE2LCAxMCwgMTUsIDIzNCwgMjE1LCAxMCwgCisgICAgMTUsIDIzNCwgMjE0LCAxMCwgMTUsIDIzNCwgMjEzLCAxMCwgMTUsIDIzNCwgMjEyLCAxMCwgMTUsIDIzNCwgMjExLCAxMCwgCisgICAgMTUsIDIzNCwgMjEwLCAxMCwgMTUsIDIzNCwgMjA5LCAxMCwgMTUsIDIzNCwgMjA4LCAxMCwgMTUsIDIzNCwgMjA3LCAxMCwgCisgICAgMTUsIDIzNCwgMjA2LCAxMCwgMTUsIDIzNCwgMjA1LCAxMCwgMTUsIDIzNCwgMjA0LCAxMCwgMTUsIDIzNCwgMjAzLCAxMCwgCisgICAgMTUsIDIzNCwgMjAyLCAxMCwgMTUsIDIzNCwgMjAxLCAxMCwgMTUsIDIzNCwgMjAwLCAxMCwgMTUsIDIzNCwgMTk5LCAxMCwgCisgICAgMTUsIDIzNCwgMTk4LCAxMCwgMTUsIDIzNCwgMTk3LCAxMCwgMTUsIDIzNCwgMTk2LCAxMCwgMTUsIDIzNCwgMTk1LCAxMCwgCisgICAgMTUsIDIzNCwgMTk0LCAxMCwgMTUsIDIzNCwgMTkzLCAxMCwgMTUsIDIzNCwgMTkyLCAxMCwgMTUsIDIzNCwgMTkxLCAxMCwgCisgICAgMTUsIDIzNCwgMTkwLCAxMCwgMTUsIDIzNCwgMTg5LCAxMCwgMTUsIDIzNCwgMTg4LCAxMCwgMTUsIDIzNCwgMTg3LCAxMCwgCisgICAgMTUsIDIzNCwgMTg2LCAxMCwgMTUsIDIzNCwgMTg1LCAxMCwgMTUsIDIzNCwgMTg0LCAxMCwgMTUsIDIzNCwgMTgzLCAxMCwgCisgICAgMTUsIDIzNCwgMTgyLCAxMCwgMTUsIDIzNCwgMTgxLCAxMCwgMTUsIDIzNCwgMTgwLCAxMCwgMTUsIDIzNCwgMTc5LCAxMCwgCisgICAgMTUsIDIzNCwgMTc4LCAxMCwgMTUsIDIzNCwgMTc3LCAxMCwgMTUsIDIzNCwgMTc2LCAxMCwgMTUsIDIzNCwgMTc1LCAxMCwgCisgICAgMTUsIDIzNCwgMTc0LCAxMCwgMTUsIDIzNCwgMTczLCAxMCwgMTUsIDIzNCwgMTcyLCAxMCwgMTUsIDIzNCwgMTcxLCAxMCwgCisgICAgMTUsIDIzNCwgMTcwLCAxMCwgMTUsIDIzNCwgMTY5LCAxMCwgMTUsIDIzNCwgMTY4LCAxMCwgMTUsIDIzNCwgMTY3LCAxMCwgCisgICAgMTUsIDIzNCwgMTY2LCAxMCwgMTUsIDIzNCwgMTY1LCAxMCwgMTUsIDIzNCwgMTY0LCAxMCwgMTUsIDIzNCwgMTYzLCAxMCwgCisgICAgMTUsIDIzNCwgMTYyLCAxMCwgMTUsIDIzNCwgMTYxLCAxMCwgMTUsIDIzNCwgMTYwLCAxMCwgMTUsIDIzNCwgMTU5LCAxMCwgCisgICAgMTUsIDIzNCwgMTU4LCAxMCwgMTUsIDIzNCwgMTU3LCAxMCwgMTUsIDIzNCwgMTU2LCAxMCwgMTUsIDIzNCwgMTU1LCAxMCwgCisgICAgMTUsIDIzNCwgMTU0LCAxMCwgMTUsIDIzNCwgMTUzLCAxMCwgMTUsIDIzNCwgMTUyLCAxMCwgMTUsIDIzNCwgMTUxLCAxMCwgCisgICAgMTUsIDIzNCwgMTUwLCAxMCwgMTUsIDIzNCwgMTQ5LCAxMCwgMTUsIDIzNCwgMTQ4LCAxMCwgMTUsIDIzNCwgMTQ3LCAxMCwgCisgICAgMTUsIDIzNCwgMTQ2LCAxMCwgMTUsIDIzNCwgMTQ1LCAxMCwgMTUsIDIzNCwgMTQ0LCAxMCwgMTUsIDIzNCwgMTQzLCAxMCwgCisgICAgMTUsIDIzNCwgMTQyLCAxMCwgMTUsIDIzNCwgMTQxLCAxMCwgMTUsIDIzNCwgMTQwLCAxMCwgMTUsIDIzNCwgMTM5LCAxMCwgCisgICAgMTUsIDIzNCwgMTM4LCAxMCwgMTUsIDIzNCwgMTM3LCAxMCwgMTUsIDIzNCwgMTM2LCAxMCwgMTUsIDIzNCwgMTM1LCAxMCwgCisgICAgMTUsIDIzNCwgMTM0LCAxMCwgMTUsIDIzNCwgMTMzLCAxMCwgMTUsIDIzNCwgMTMyLCAxMCwgMTUsIDIzNCwgMTMxLCAxMCwgCisgICAgMTUsIDIzNCwgMTMwLCAxMCwgMTUsIDIzNCwgMTI5LCAxMCwgMTUsIDIzNCwgMTI4LCAxMCwgMTUsIDIzNCwgMTI3LCAxMCwgCisgICAgMTUsIDIzNCwgMTI2LCAxMCwgMTUsIDIzNCwgMTI1LCAxMCwgMTUsIDIzNCwgMTI0LCAxMCwgMTUsIDIzNCwgMTIzLCAxMCwgCisgICAgMTUsIDIzNCwgMTIyLCAxMCwgMTUsIDIzNCwgMTIxLCAxMCwgMTUsIDIzNCwgMTIwLCAxMCwgMTUsIDIzNCwgMTE5LCAxMCwgCisgICAgMTUsIDIzNCwgMTE4LCAxMCwgMTUsIDIzNCwgMTE3LCAxMCwgMTUsIDIzNCwgMTE2LCAxMCwgMTUsIDIzNCwgMTE1LCAxMCwgCisgICAgMTUsIDIzNCwgMTE0LCAxMCwgMTUsIDIzNCwgMTEzLCAxMCwgMTUsIDIzNCwgMTEyLCAxMCwgMTUsIDIzNCwgMTExLCAxMCwgCisgICAgMTUsIDIzNCwgMTEwLCAxMCwgMTUsIDIzNCwgMTA5LCAxMCwgMTUsIDIzNCwgMTA4LCAxMCwgMTUsIDIzNCwgMTA3LCAxMCwgCisgICAgMTUsIDIzNCwgMTA2LCAxMCwgMTUsIDIzNCwgMTA1LCAxMCwgMTUsIDIzNCwgMTA0LCAxMCwgMTUsIDIzNCwgMTAzLCAxMCwgCisgICAgMTUsIDIzNCwgMTAyLCAxMCwgMTUsIDIzNCwgMTAxLCAxMCwgMTUsIDIzNCwgMTAwLCAxMCwgMTUsIDIzNCwgOTksIDEwLCAKKyAgICAxNSwgMjM0LCA5OCwgMTAsIDE1LCAyMzQsIDk3LCAxMCwgMTUsIDIzNCwgOTYsIDEwLCAxNSwgMjM0LCA5NSwgMTAsIDE1LCAKKyAgICAyMzQsIDk0LCAxMCwgMTUsIDIzNCwgOTMsIDEwLCAxNSwgMjM0LCA5MiwgMTAsIDE1LCAyMzQsIDkxLCAxMCwgMTUsIDIzNCwgCisgICAgOTAsIDEwLCAxNSwgMjM0LCA4OSwgMTAsIDE1LCAyMzQsIDg4LCAxMCwgMTUsIDIzNCwgODcsIDEwLCAxNSwgMjM0LCA4NiwgCisgICAgMTAsIDE1LCAyMzQsIDg1LCAxMCwgMTUsIDIzNCwgODQsIDEwLCAxNSwgMjM0LCA4MywgMTAsIDE1LCAyMzQsIDgyLCAxMCwgCisgICAgMTUsIDIzNCwgODEsIDEwLCAxNSwgMjM0LCA4MCwgMTAsIDE1LCAyMzQsIDc5LCAxMCwgMTUsIDIzNCwgNzgsIDEwLCAxNSwgCisgICAgMjM0LCA3NywgMTAsIDE1LCAyMzQsIDc2LCAxMCwgMTUsIDIzNCwgNzUsIDEwLCAxNSwgMjM0LCA3NCwgMTAsIDE1LCAyMzQsIAorICAgIDczLCAxMCwgMTUsIDIzNCwgNzIsIDEwLCAxNSwgMjM0LCA3MSwgMTAsIDE1LCAyMzQsIDcwLCAxMCwgMTUsIDIzNCwgNjksIAorICAgIDEwLCAxNSwgMjM0LCA2OCwgMTAsIDE1LCAyMzQsIDY3LCAxMCwgMTUsIDIzNCwgNjYsIDEwLCAxNSwgMjM0LCA2NSwgMTAsIAorICAgIDE1LCAyMzQsIDY0LCAxMCwgMTUsIDIzNCwgNjMsIDEwLCAxNSwgMjM0LCA2MiwgMTAsIDE1LCAyMzQsIDYxLCAxMCwgMTUsIAorICAgIDIzNCwgNjAsIDEwLCAxNSwgMjM0LCA1OSwgMTAsIDE1LCAyMzQsIDU4LCAxMCwgMTUsIDIzNCwgNTcsIDEwLCAxNSwgMjM0LCAKKyAgICA1NiwgMTAsIDE1LCAyMzQsIDU1LCAxMCwgMTUsIDIzNCwgNTQsIDEwLCAxNSwgMjM0LCA1MywgMTAsIDE1LCAyMzQsIDUyLCAKKyAgICAxMCwgMTUsIDIzNCwgNTEsIDEwLCAxNSwgMjM0LCA1MCwgMTAsIDE1LCAyMzQsIDQ5LCAxMCwgMTUsIDIzNCwgNDgsIDEwLCAKKyAgICAxNSwgMjM0LCA0NywgMTAsIDE1LCAyMzQsIDQ2LCAxMCwgMTUsIDIzNCwgNDUsIDEwLCAxNSwgMjM0LCA0NCwgMTAsIDE1LCAKKyAgICAyMzQsIDQzLCAxMCwgMTUsIDIzNCwgNDIsIDEwLCAxNSwgMjM0LCA0MSwgMTAsIDE1LCAyMzQsIDQwLCAxMCwgMTUsIDIzNCwgCisgICAgMzksIDEwLCAxNSwgMjM0LCAzOCwgMTAsIDE1LCAyMzQsIDM3LCAxMCwgMTUsIDIzNCwgMzYsIDEwLCAxNSwgMjM0LCAzNSwgCisgICAgMTAsIDE1LCAyMzQsIDM0LCAxMCwgMTUsIDIzNCwgMzMsIDEwLCAxNSwgMjM0LCAzMiwgMTAsIDE1LCAyMzQsIDMxLCAxMCwgCisgICAgMTUsIDIzNCwgMzAsIDEwLCAxNSwgMjM0LCAyOSwgMTAsIDE1LCAyMzQsIDI4LCAxMCwgMTUsIDIzNCwgMjcsIDEwLCAxNSwgCisgICAgMjM0LCAyNiwgMTAsIDE1LCAyMzQsIDI1LCAxMCwgMTUsIDIzNCwgMjQsIDEwLCAxNSwgMjM0LCAyMywgMTAsIDE1LCAyMzQsIAorICAgIDIyLCAxMCwgMTUsIDIzNCwgMjEsIDEwLCAxNSwgMjM0LCAyMCwgMTAsIDE1LCAyMzQsIDE5LCAxMCwgMTUsIDIzNCwgMTgsIAorICAgIDEwLCAxNSwgMjM0LCAxNywgMTAsIDE1LCAyMzQsIDE2LCAxMCwgMTUsIDIzNCwgMTUsIDEwLCAxNSwgMjM0LCAxNCwgMTAsIAorICAgIDE1LCAyMzQsIDEzLCAxMCwgMTUsIDIzNCwgMTIsIDEwLCAxNSwgMjM0LCAxMSwgMTAsIDE1LCAyMzQsIDEwLCAxMCwgMTUsIAorICAgIDIzNCwgOSwgMTAsIDE1LCAyMzQsIDgsIDEwLCAxNSwgMjM0LCA3LCAxMCwgMTUsIDIzNCwgNiwgMTAsIDE1LCAyMzQsIDUsIAorICAgIDEwLCAxNSwgMjM0LCA0LCAxMCwgMTUsIDIzNCwgMywgMTAsIDE1LCAyMzQsIDIsIDEwLCAxNSwgMjM0LCAxLCAxMCwgMTUsIAorICAgIDIzNCwgMCwgMTAsIDE1LCAyMzMsIDI1NSwgMTAsIDE1LCAyMzMsIDI1NCwgMTAsIDE1LCAyMzMsIDI1MywgMTAsIDE1LCAKKyAgICAyMzMsIDI1MiwgMTAsIDE1LCAyMzMsIDI1MSwgMTAsIDE1LCAyMzMsIDI1MCwgMTAsIDE1LCAyMzMsIDI0OSwgMTAsIDE1LCAKKyAgICAyMzMsIDI0OCwgMTAsIDE1LCAyMzMsIDI0NywgMTAsIDE1LCAyMzMsIDI0NiwgMTAsIDE1LCAyMzMsIDI0NSwgMTAsIDE1LCAKKyAgICAyMzMsIDI0NCwgMTAsIDE1LCAyMzMsIDI0MywgMTAsIDE1LCAyMzMsIDI0MiwgMTAsIDE1LCAyMzMsIDI0MSwgMTAsIDE1LCAKKyAgICAyMzMsIDI0MCwgMTAsIDE1LCAyMzMsIDIzOSwgMTAsIDE1LCAyMzMsIDIzOCwgMTAsIDE1LCAyMzMsIDIzNywgMTAsIDE1LCAKKyAgICAyMzMsIDIzNiwgMTAsIDE1LCAyMzMsIDIzNSwgMTAsIDE1LCAyMzMsIDIzNCwgMTAsIDE1LCAyMzMsIDIzMywgMTAsIDE1LCAKKyAgICAyMzMsIDIzMiwgMTAsIDE1LCAyMzMsIDIzMSwgMTAsIDE1LCAyMzMsIDIzMCwgMTAsIDE1LCAyMzMsIDIyOSwgMTAsIDE1LCAKKyAgICAyMzMsIDIyOCwgMTAsIDE1LCAyMzMsIDIyNywgMTAsIDE1LCAyMzMsIDIyNiwgMTAsIDE1LCAyMzMsIDIyNSwgMTAsIDE1LCAKKyAgICAyMzMsIDIyNCwgMTAsIDE1LCAyMzMsIDIyMywgMTAsIDE1LCAyMzMsIDIyMiwgMTAsIDE1LCAyMzMsIDIyMSwgMTAsIDE1LCAKKyAgICAyMzMsIDIyMCwgMTAsIDE1LCAyMzMsIDIxOSwgMTAsIDE1LCAyMzMsIDIxOCwgMTAsIDE1LCAyMzMsIDIxNywgMTAsIDE1LCAKKyAgICAyMzMsIDIxNiwgMTAsIDE1LCAyMzMsIDIxNSwgMTAsIDE1LCAyMzMsIDIxNCwgMTAsIDE1LCAyMzMsIDIxMywgMTAsIDE1LCAKKyAgICAyMzMsIDIxMiwgMTAsIDE1LCAyMzMsIDIxMSwgMTAsIDE1LCAyMzMsIDIxMCwgMTAsIDE1LCAyMzMsIDIwOSwgMTAsIDE1LCAKKyAgICAyMzMsIDIwOCwgMTAsIDE1LCAyMzMsIDIwNywgMTAsIDE1LCAyMzMsIDIwNiwgMTAsIDE1LCAyMzMsIDIwNSwgMTAsIDE1LCAKKyAgICAyMzMsIDIwNCwgMTAsIDE1LCAyMzMsIDIwMywgMTAsIDE1LCAyMzMsIDIwMiwgMTAsIDE1LCAyMzMsIDIwMSwgMTAsIDE1LCAKKyAgICAyMzMsIDIwMCwgMTAsIDE1LCAyMzMsIDE5OSwgMTAsIDE1LCAyMzMsIDE5OCwgMTAsIDE1LCAyMzMsIDE5NywgMTAsIDE1LCAKKyAgICAyMzMsIDE5NiwgMTAsIDE1LCAyMzMsIDE5NSwgMTAsIDE1LCAyMzMsIDE5NCwgMTAsIDE1LCAyMzMsIDE5MywgMTAsIDE1LCAKKyAgICAyMzMsIDE5MiwgMTAsIDE1LCAyMzMsIDE5MSwgMTAsIDE1LCAyMzMsIDE5MCwgMTAsIDE1LCAyMzMsIDE4OSwgMTAsIDE1LCAKKyAgICAyMzMsIDE4OCwgMTAsIDE1LCAyMzMsIDE4NywgMTAsIDE1LCAyMzMsIDE4NiwgMTAsIDE1LCAyMzMsIDE4NSwgMTAsIDE1LCAKKyAgICAyMzMsIDE4NCwgMTAsIDE1LCAyMzMsIDE4MywgMTAsIDE1LCAyMzMsIDE4MiwgMTAsIDE1LCAyMzMsIDE4MSwgMTAsIDE1LCAKKyAgICAyMzMsIDE4MCwgMTAsIDE1LCAyMzMsIDE3OSwgMTAsIDE1LCAyMzMsIDE3OCwgMTAsIDE1LCAyMzMsIDE3NywgMTAsIDE1LCAKKyAgICAyMzMsIDE3NiwgMTAsIDE1LCAyMzMsIDE3NSwgMTAsIDE1LCAyMzMsIDE3NCwgMTAsIDE1LCAyMzMsIDE3MywgMTAsIDE1LCAKKyAgICAyMzMsIDE3MiwgMTAsIDE1LCAyMzMsIDE3MSwgMTAsIDE1LCAyMzMsIDE3MCwgMTAsIDE1LCAyMzMsIDE2OSwgMTAsIDE1LCAKKyAgICAyMzMsIDE2OCwgMTAsIDE1LCAyMzMsIDE2NywgMTAsIDE1LCAyMzMsIDE2NiwgMTAsIDE1LCAyMzMsIDE2NSwgMTAsIDE1LCAKKyAgICAyMzMsIDE2NCwgMTAsIDE1LCAyMzMsIDE2MywgMTAsIDE1LCAyMzMsIDE2MiwgMTAsIDE1LCAyMzMsIDE2MSwgMTAsIDE1LCAKKyAgICAyMzMsIDE2MCwgMTAsIDE1LCAyMzMsIDE1OSwgMTAsIDE1LCAyMzMsIDE1OCwgMTAsIDE1LCAyMzMsIDE1NywgMTAsIDE1LCAKKyAgICAyMzMsIDE1NiwgMTAsIDE1LCAyMzMsIDE1NSwgMTAsIDE1LCAyMzMsIDE1NCwgMTAsIDE1LCAyMzMsIDE1MywgMTAsIDE1LCAKKyAgICAyMzMsIDE1MiwgMTAsIDE1LCAyMzMsIDE1MSwgMTAsIDE1LCAyMzMsIDE1MCwgMTAsIDE1LCAyMzMsIDE0OSwgMTAsIDE1LCAKKyAgICAyMzMsIDE0OCwgMTAsIDE1LCAyMzMsIDE0NywgMTAsIDE1LCAyMzMsIDE0NiwgMTAsIDE1LCAyMzMsIDE0NSwgMTAsIDE1LCAKKyAgICAyMzMsIDE0NCwgMTAsIDE1LCAyMzMsIDE0MywgMTAsIDE1LCAyMzMsIDE0MiwgMTAsIDE1LCAyMzMsIDE0MSwgMTAsIDE1LCAKKyAgICAyMzMsIDE0MCwgMTAsIDE1LCAyMzMsIDEzOSwgMTAsIDE1LCAyMzMsIDEzOCwgMTAsIDE1LCAyMzMsIDEzNywgMTAsIDE1LCAKKyAgICAyMzMsIDEzNiwgMTAsIDE1LCAyMzMsIDEzNSwgMTAsIDE1LCAyMzMsIDEzNCwgNywgNSwgMjgsIDI0MSwgMjU0LCA3LCA1LCAKKyAgICAyOCwgMjQxLCAyNTAsIDcsIDUsIDI4LCAyNDEsIDE5OSwgNywgNSwgMjgsIDI0MSwgMjUzLCA3LCA1LCAyOCwgMjQxLCAyNTIsIAorICAgIDcsIDUsIDI4LCAxNTIsIDIxOCwgMSwgMjEzLCAxMCwgNywgNSwgMjgsIDIxNCwgNDAsIDE2NCwgNSwgMjgsIDIyNywgODQsIAorICAgIDIyNCwgMjksIDE2NCwgNSwgMjgsIDIyNywgODQsIDI0MywgMTA4LCAxNjQsIDUsIDI4LCAyMjcsIDg0LCAyMzMsIDM4LCAKKyAgICAxNjQsIDUsIDI4LCAyMDgsIDIxOSwgMjI0LCAyOSwgMTY0LCA1LCAyOCwgMjI3LCA4NCwgMjA2LCAxNzMsIDEwMywgMSwgCisgICAgMjA1LCAyMzcsIDIsIDIzOCwgMjQ0LCAxMDMsIDIyMCwgMjA1LCAyMzIsIDEwMywgMjA5LCA1MSwgMTAzLCAyOCwgMjA2LCA5LCAKKyAgICAyMDUsIDIzNywgMjA1LCAyMzcsIDIyMSwgMTk0LCAxMDMsIDEsIDI1MiwgMTM5LCAyNTEsIDE1NCwgMTAzLCAxLCAyMDcsIAorICAgIDE3LCAyNTIsIDE3MiwgMTAzLCAxLCAyMDcsIDE3LCAyNDYsIDExMSwgMTAzLCAxLCAyMDcsIDE3LCAyMzksIDcxLCAxMDMsIAorICAgIDEsIDIwNywgMTcsIDIzMiwgNDUsIDEwMywgMSwgMjA3LCAxNywgMjMwLCA5OCwgMTAzLCAxLCAyMDcsIDE3LCA0MiwgMjI3LCAKKyAgICA5MCwgMTAzLCAxLCAyMDcsIDE3LCAyMTgsIDI0MiwgMTAzLCAxLCAyMDcsIDE3LCAyMTIsIDE0NywgMTAzLCAxLCAyNTIsIAorICAgIDEzOSwgMTAxLCA1MywgMTAzLCAxLCAyMTUsIDE3MiwgMiwgMjE1LCAxNzIsIDI0NSwgMjMsIDEwMywgMSwgMjE1LCAxNzIsIAorICAgIDIsIDIxNSwgNDUsIDI0NSwgMjMsIDEwMywgMSwgMjE1LCAxNzIsIDIsIDI0NiwgMTMxLCAyMywgMjE1LCAxNzIsIDI0NSwgCisgICAgMjMsIDEwMywgMSwgMjE1LCAxNzIsIDIsIDI0NiwgMTMxLCAyMywgMjE1LCA0NSwgMjQ1LCAyMywgMTAzLCAxLCAxMjYsIDIsIAorICAgIDIyMSwgMTk0LCAxMDMsIDEsIDEyNiwgMiwgMjIwLCA3LCAxMDMsIDEsIDEyNiwgMiwgMjI3LCAyMDQsIDEwMywgMSwgMjUwLCAKKyAgICAxMSwgMiwgMjQ2LCAxMzAsIDEwMywgMSwgMjQwLCA0OCwgMiwgMjQ2LCAxMzAsIDEwMywgMSwgMjQ2LCAxMTIsIDIsIDI0NiwgCisgICAgMTMwLCAxMDMsIDEsIDIzOSwgNzIsIDIsIDIyNywgMjA0LCAxMDMsIDEsIDIwOSwgNDQsIDIsIDI0NiwgMTMwLCAxMDMsIDEsIAorICAgIDIwNSwgOTcsIDIsIDI0NiwgMTMwLCAxMDMsIDEsIDIxMiwgODEsIDIsIDI0NiwgMTMwLCAxMDMsIDEsIDIwNSwgMjM3LCAyLCAKKyAgICAyNDYsIDEzMCwgMTAzLCAxLCA0MiwgMjMyLCA0NiwgMiwgMjQ2LCAxMzAsIDEwMywgMSwgMjMyLCA0NiwgMiwgMjQ2LCAxMzAsIAorICAgIDEwMywgMSwgMjMwLCA5OSwgMiwgMjQ2LCAxMzAsIDEwMywgMSwgMjI3LCA5MSwgMiwgMjQ2LCAxMzAsIDEwMywgMSwgMjIzLCAKKyAgICAxNzQsIDIsIDI0NiwgMTMwLCAxMDMsIDEsIDIxNywgMTU4LCAyLCAyNDYsIDEzMCwgMTAzLCAxLCA0MiwgMjIxLCAxNzUsIDIsIAorICAgIDI0NiwgMTMwLCAxMDMsIDEsIDIyMSwgMTc1LCAyLCAyNDYsIDEzMCwgMTAzLCAxLCAyMTAsIDIzOSwgMiwgMjQ2LCAxMzAsIAorICAgIDEwMywgMSwgMjE5LCAyMjQsIDIsIDI0NiwgMTMwLCAxMDMsIDEsIDIxOCwgMjQzLCAyLCAyNDYsIDEzMCwgMTAzLCAxLCAKKyAgICAyMTUsIDE3MiwgMiwgMjQ2LCAxMzAsIDEwMywgMSwgMjEyLCAxNDgsIDIsIDI0NiwgMTMwLCAxMDMsIDEsIDIwOSwgNDQsIDIsIAorICAgIDIzOCwgMTQyLCAxMDMsIDEsIDI1MCwgMTEsIDIsIDIxOSwgOTMsIDEwMywgMSwgMjMyLCA0NiwgMiwgMjE5LCA5MywgMTAzLCAKKyAgICAxLCAyMjEsIDE3NSwgMiwgMjE5LCA5MywgMTAzLCAyOCwgMTI2LCAyMzAsIDk4LCA4LCAxLCAxMjYsIDIwNywgNzcsIDYxLCAKKyAgICAxNywgOCwgMSwgMTI2LCAyMDcsIDc3LCA0MiwgMTcsIDgsIDEsIDI1MCwgNDksIDYxLCAxNywgOCwgMSwgMjUwLCA0OSwgNDIsIAorICAgIDE3LCA4LCAxLCAyNTAsIDQ5LCA3OCwgMTcsIDgsIDEsIDI1MCwgNDksIDE2OSwgMTcsIDgsIDEsIDIyMSwgMTU4LCA2MSwgCisgICAgMTcsIDgsIDEsIDIyMSwgMTU4LCA0MiwgMTcsIDgsIDEsIDIyMSwgMTU4LCA3OCwgMTcsIDgsIDEsIDIyMSwgMTU4LCAxNjksIAorICAgIDE3LCA4LCAxLCAyNTAsIDM3LCA2MSwgMTcsIDgsIDEsIDI1MCwgMzcsIDQyLCAxNywgOCwgMSwgMjUwLCAzNywgNzgsIDE3LCAKKyAgICA4LCAxLCAyNTAsIDM3LCAxNjksIDE3LCA4LCAxLCAyMTAsIDE5OSwgNjEsIDE3LCA4LCAxLCAyMTAsIDE5OSwgNDIsIDE3LCAKKyAgICA4LCAxLCAyMTAsIDE5OSwgNzgsIDE3LCA4LCAxLCAyMTAsIDE5OSwgMTY5LCAxNywgOCwgMSwgMjEyLCAxMTQsIDYxLCAxNywgCisgICAgOCwgMSwgMjEyLCAxMTQsIDQyLCAxNywgOCwgMSwgMjEyLCAxMTQsIDc4LCAxNywgOCwgMSwgMjEyLCAxMTQsIDE2OSwgMTcsIAorICAgIDgsIDEsIDIxMCwgMjAxLCA2MSwgMTcsIDgsIDEsIDIxMCwgMjAxLCA0MiwgMTcsIDgsIDEsIDIxMCwgMjAxLCA3OCwgMTcsIAorICAgIDgsIDEsIDIxMCwgMjAxLCAxNjksIDE3LCA4LCAxLCAyMDksIDMzLCA2MSwgMTcsIDgsIDEsIDIwOSwgMzMsIDQyLCAxNywgOCwgCisgICAgMSwgMjA5LCAzMywgNzgsIDE3LCA4LCAxLCAyMDksIDMzLCAxNjksIDE3LCA4LCAxLCAyMjEsIDE1NiwgNjEsIDE3LCA4LCAxLCAKKyAgICAyMjEsIDE1NiwgNDIsIDE3LCA4LCAxLCAyMjEsIDE1NiwgNzgsIDE3LCA4LCAxLCAyMjEsIDE1NiwgMTY5LCAxNywgOCwgMSwgCisgICAgMjQzLCAyMDIsIDYxLCAxNywgOCwgMSwgMjQzLCAyMDIsIDQyLCAxNywgOCwgMSwgMjQzLCAyMDIsIDc4LCAxNywgOCwgMSwgCisgICAgMjQzLCAyMDIsIDE2OSwgMTcsIDgsIDEsIDIyMywgMTMyLCA2MSwgMTcsIDgsIDEsIDIyMywgMTMyLCA0MiwgMTcsIDgsIDEsIAorICAgIDIyMywgMTMyLCA3OCwgMTcsIDgsIDEsIDIyMywgMTMyLCAxNjksIDE3LCA4LCAxLCAyMTIsIDEzNiwgNjEsIDE3LCA4LCAxLCAKKyAgICAyMTIsIDEzNiwgNDIsIDE3LCA4LCAxLCAyMTIsIDEzNiwgNzgsIDE3LCA4LCAxLCAyMTIsIDEzNiwgMTY5LCAxNywgOCwgMSwgCisgICAgMjEyLCAxMzQsIDYxLCAxNywgOCwgMSwgMjEyLCAxMzQsIDQyLCAxNywgOCwgMSwgMjEyLCAxMzQsIDc4LCAxNywgOCwgMSwgCisgICAgMjEyLCAxMzQsIDE2OSwgMTcsIDgsIDEsIDI0NiwgNTIsIDYxLCAxNywgOCwgMSwgMjQ2LCA1MiwgNDIsIDE3LCA4LCAxLCAKKyAgICAyNDYsIDEyNSwgNjEsIDE3LCA4LCAxLCAyNDYsIDEyNSwgNDIsIDE3LCA4LCAxLCAyNDMsIDIzMCwgNjEsIDE3LCA4LCAxLCAKKyAgICAyNDMsIDIzMCwgNDIsIDE3LCA4LCAxLCAyNDYsIDUwLCA2MSwgMTcsIDgsIDEsIDI0NiwgNTAsIDQyLCAxNywgOCwgMSwgCisgICAgMjMyLCAxNzcsIDYxLCAxNywgOCwgMSwgMjMyLCAxNzcsIDQyLCAxNywgOCwgMSwgMjE4LCA4MiwgNjEsIDE3LCA4LCAxLCAKKyAgICAyMTgsIDgyLCA0MiwgMTcsIDgsIDEsIDIzMSwgMjEzLCA2MSwgMTcsIDgsIDEsIDIzMSwgMjEzLCA0MiwgMTcsIDgsIDEsIAorICAgIDIzMSwgMjEzLCA3OCwgMTcsIDgsIDEsIDIzMSwgMjEzLCAxNjksIDE3LCA4LCAxLCAyNDAsIDIzMiwgNjEsIDE3LCA4LCAxLCAKKyAgICAyNDAsIDIzMiwgNDIsIDE3LCA4LCAxLCAyNDAsIDIzMiwgNzgsIDE3LCA4LCAxLCAyNDAsIDIzMiwgMTY5LCAxNywgOCwgMSwgCisgICAgMjM5LCAyMDEsIDYxLCAxNywgOCwgMSwgMjM5LCAyMDEsIDQyLCAxNywgOCwgMSwgMjM5LCAyMDEsIDc4LCAxNywgOCwgMSwgCisgICAgMjM5LCAyMDEsIDE2OSwgMTcsIDgsIDEsIDIyNSwgMSwgNjEsIDE3LCA4LCAxLCAyMjUsIDEsIDQyLCAxNywgOCwgMSwgMjI1LCAKKyAgICAxLCA3OCwgMTcsIDgsIDEsIDIyNSwgMSwgMTY5LCAxNywgOCwgMSwgMjI0LCA1NSwgMjQwLCA2NiwgNjEsIDE3LCA4LCAxLCAKKyAgICAyMjQsIDU1LCAyNDAsIDY2LCA0MiwgMTcsIDgsIDEsIDIxOCwgMTI4LCA2MSwgMTcsIDgsIDEsIDIxOCwgMTI4LCA0MiwgMTcsIAorICAgIDgsIDEsIDIxOCwgMTI4LCA3OCwgMTcsIDgsIDEsIDIxOCwgMTI4LCAxNjksIDE3LCA4LCAxLCAyMzksIDUxLCAyLCA4NywgCisgICAgODQsIDYxLCAxNywgOCwgMSwgMjM5LCA1MSwgMiwgODcsIDg0LCA0MiwgMTcsIDgsIDEsIDIzOSwgNTEsIDI0MCwgMTcsIDYxLCAKKyAgICAxNywgOCwgMSwgMjM5LCA1MSwgMjQwLCAxNywgNDIsIDE3LCA4LCAxLCAyMzksIDUxLCAyNDAsIDE3LCA3OCwgMTcsIDgsIDEsIAorICAgIDIzOSwgNTEsIDI0MCwgMTcsIDE2OSwgMTcsIDgsIDEsIDIzOSwgNTEsIDI0NSwgNDgsIDYxLCAxNywgOCwgMSwgMjM5LCA1MSwgCisgICAgMjQ1LCA0OCwgNDIsIDE3LCA4LCAxLCAyMzksIDUxLCAyNDUsIDQ4LCA3OCwgMTcsIDgsIDEsIDIzOSwgNTEsIDI0NSwgNDgsIAorICAgIDE2OSwgMTcsIDgsIDEsIDg3LCAyNTAsIDEyMiwgNjEsIDE3LCA4LCAxLCA4NywgMjUwLCAxMjIsIDQyLCAxNywgOCwgMSwgCisgICAgODcsIDI1MCwgMTIyLCAyLCAyMzksIDExMiwgODQsIDYxLCAxNywgOCwgMSwgODcsIDI1MCwgMTIyLCAyLCAyMzksIDExMiwgCisgICAgODQsIDQyLCAxNywgOCwgMTYsIDY3LCA1MiwgOCwgMTYsIDY3LCA1NSwgOCwgMTYsIDExOCwgMTc3LCA1MiwgOCwgMTYsIAorICAgIDExOCwgMTc3LCA1NSwgOCwgMTYsIDEyOSwgMTc3LCA1MiwgOCwgMTYsIDEyOSwgMTc3LCA1NSwgOCwgMTYsIDEyOSwgMTc3LCAKKyAgICAyMjAsIDIwMSwgMTczLCA1MiwgOCwgMTYsIDEyOSwgMTc3LCAyMjAsIDIwMSwgMTczLCA1NSwgOCwgMTYsIDI0MSwgMTI1LCAKKyAgICAxNzcsIDUyLCA4LCAxNiwgMjQxLCAxMjUsIDE3NywgNTUsIDgsIDE2LCA1MCwgNzksIDI1MCwgMTI5LCA1NSwgOCwgMTYsIAorICAgIDExOCwgMTc3LCAyMDgsIDIyOCwgNTIsIDgsIDE2LCAxMTgsIDE3NywgMjA4LCAyMjgsIDU1LCA4LCAxNiwgMjE4LCAxNDgsIAorICAgIDgsIDE2LCA1LCAyMTIsIDE5NSwgNTIsIDgsIDE2LCA1LCAyMTIsIDE5NSwgNTUsIDgsIDEsIDIyNSwgODAsIDYxLCAxNywgOCwgCisgICAgMSwgMjI1LCA4MCwgNDIsIDE3LCA4LCAxLCAyMjUsIDgwLCA3OCwgMTcsIDgsIDEsIDIyNSwgODAsIDE2OSwgMTcsIDgsIDEsIAorICAgIDEwNiwgNjEsIDE3LCA4LCAxLCAxMDYsIDQyLCAxNywgOCwgMSwgMjIyLCAyMDcsIDYxLCAxNywgOCwgMSwgMjIyLCAyMDcsIAorICAgIDQyLCAxNywgOCwgMSwgMjA1LCAyMTQsIDYxLCAxNywgOCwgMSwgMjA1LCAyMTQsIDQyLCAxNywgOCwgMSwgMTA2LCAyLCAKKyAgICAyMzksIDExMiwgODQsIDYxLCAxNywgOCwgMSwgMjA5LCA0MCwgNjEsIDE3LCA4LCAxLCAyMDksIDQwLCA0MiwgMTcsIDgsIDEsIAorICAgIDIzMSwgMTAxLCAyMjIsIDIwNywgNjEsIDE3LCA4LCAxLCAyMzEsIDEwMSwgMjIyLCAyMDcsIDQyLCAxNywgOCwgMSwgMjMxLCAKKyAgICAxMDEsIDIwNSwgMjE0LCA2MSwgMTcsIDgsIDEsIDIzMSwgMTAxLCAyMDUsIDIxNCwgNDIsIDE3LCA4LCAxLCAxNzQsIDYxLCAKKyAgICAxNywgOCwgMSwgMTc0LCA0MiwgMTcsIDgsIDEsIDE3NCwgNzgsIDE3LCA4LCAxLCAxNzQsIDE2OSwgMTcsIDgsIDEsIDIwOSwgCisgICAgMjUxLCAyMzEsIDIyOCwgMjMxLCAxMDEsIDEyNiwgMjI3LCAyMjksIDc4LCAxNywgOCwgMSwgMjA5LCAyNTEsIDIzMSwgMjI4LCAKKyAgICAyMzEsIDEwMSwgMTI2LCAyMjcsIDIyOSwgMTY5LCAxNywgOCwgMjgsIDg3LCAyLCAyMzksIDExMiwgODQsIDIsIDEyNiwgNjEsIAorICAgIDE3LCA4LCAyOCwgODcsIDIsIDIzOSwgMTEyLCA4NCwgMiwgMTI2LCA0MiwgMTcsIDgsIDI4LCA4NywgMiwgMjM5LCAxMTIsIAorICAgIDg0LCAyLCAyNTIsIDI0OSwgNjEsIDE3LCA4LCAyOCwgODcsIDIsIDIzOSwgMTEyLCA4NCwgMiwgMjUyLCAyNDksIDQyLCAxNywgCisgICAgOCwgMjgsIDg3LCAyLCAyMzksIDExMiwgODQsIDIsIDIwNywgNjAsIDYxLCAxNywgOCwgMjgsIDg3LCAyLCAyMzksIDExMiwgCisgICAgODQsIDIsIDIwNywgNjAsIDQyLCAxNywgOCwgMjgsIDg3LCAyLCAyMzksIDExMiwgODQsIDIsIDEwNiwgNjEsIDE3LCA4LCAKKyAgICAyOCwgODcsIDIsIDIzOSwgMTEyLCA4NCwgMiwgMTA2LCA0MiwgMTcsIDgsIDI4LCA4NywgMiwgMjM5LCAxMTIsIDg0LCAyLCAKKyAgICAyMjIsIDIwNywgNjEsIDE3LCA4LCAyOCwgODcsIDIsIDIzOSwgMTEyLCA4NCwgMiwgMjIyLCAyMDcsIDQyLCAxNywgOCwgMjgsIAorICAgIDg3LCAyLCAyMzksIDExMiwgODQsIDIsIDIwNSwgMjE0LCA2MSwgMTcsIDgsIDI4LCA4NywgMiwgMjM5LCAxMTIsIDg0LCAyLCAKKyAgICAyMDUsIDIxNCwgNDIsIDE3LCA4LCAyOCwgODcsIDIsIDIzOSwgMTEyLCA4NCwgMiwgMTc0LCA2MSwgMTcsIDgsIDI4LCA4NywgCisgICAgMiwgMjM5LCAxMTIsIDg0LCAyLCAxNzQsIDQyLCAxNywgOCwgMjgsIDg3LCAyLCAyMzksIDExMiwgODQsIDIsIDE3NCwgNzgsIAorICAgIDE3LCA4LCAyOCwgMjA5LCAyNTEsIDIzMSwgMTAxLCA4NywgMiwgMjM5LCAxMTIsIDg0LCAyLCAxMjYsIDIyNywgMjI5LCA2MSwgCisgICAgMTcsIDgsIDI4LCAyMDksIDI1MSwgMjMxLCAxMDEsIDg3LCAyLCAyMzksIDExMiwgODQsIDIsIDEyNiwgMjI3LCAyMjksIDQyLCAKKyAgICAxNywgOCwgMjgsIDIwOSwgMjUxLCAyMzEsIDEwMSwgODcsIDIsIDIzOSwgMTEyLCA4NCwgMiwgMTI2LCAyMjcsIDIyOSwgNzgsIAorICAgIDE3LCA4LCAxLCAyNDIsIDQyLCA4NywgNjEsIDE3LCA4LCAxLCAyNDIsIDQyLCA4NywgNDIsIDE3LCA4LCAxLCAyNDIsIDQyLCAKKyAgICA4NywgNzgsIDE3LCA4LCAxLCAyNDIsIDQyLCA4NywgMTY5LCAxNywgOCwgMjgsIDg3LCAyLCAyMzksIDExMiwgODQsIDIsIAorICAgIDE3MSwgNjEsIDE3LCA4LCAyOCwgODcsIDIsIDIzOSwgMTEyLCA4NCwgMiwgMTQwLCA2MSwgMTcsIDgsIDI4LCA4NywgMiwgCisgICAgMjM5LCAxMTIsIDg0LCAyLCA4MCwgNjEsIDE3LCA4LCAyOCwgODcsIDIsIDIzOSwgMTEyLCA4NCwgMiwgMTI2LCAyMjcsIAorICAgIDIyOSwgNjEsIDE3LCA4LCAyOCwgODcsIDIsIDIzOSwgMTEyLCA4NCwgMiwgODcsIDYxLCAxNywgOCwgMjgsIDI1MCwgMzksIAorICAgIDIsIDE3MSwgNjEsIDE3LCA4LCAyOCwgMjUwLCAzOSwgMiwgMTQwLCA2MSwgMTcsIDgsIDI4LCAyNTAsIDM5LCAyLCAyMzEsIAorICAgIDE2NCwgNjEsIDE3LCA4LCAyOCwgMjUwLCAzOSwgMiwgODAsIDYxLCAxNywgOCwgMjgsIDI1MCwgMzksIDIsIDEyNiwgMjI3LCAKKyAgICAyMjksIDYxLCAxNywgOCwgMjgsIDI1MCwgMzksIDIsIDg3LCA2MSwgMTcsIDgsIDI4LCAyMTIsIDExNiwgMiwgMTcxLCA2MSwgCisgICAgMTcsIDgsIDI4LCAyMTIsIDExNiwgMiwgMTQwLCA2MSwgMTcsIDgsIDI4LCAyMTIsIDExNiwgMiwgMjMxLCAxNjQsIDYxLCAKKyAgICAxNywgOCwgMjgsIDIxMiwgMTE2LCAyLCA4MCwgNjEsIDE3LCA4LCAyOCwgMjEyLCAxMTYsIDIsIDEyNiwgMjI3LCAyMjksIAorICAgIDYxLCAxNywgOCwgMjgsIDIxMiwgMTE2LCAyLCA4NywgNjEsIDE3LCA4LCAyOCwgMjEyLCAzOCwgMiwgMTcxLCA2MSwgMTcsIAorICAgIDgsIDI4LCAyMTIsIDM4LCAyLCA4MCwgNjEsIDE3LCA4LCAyOCwgMjEyLCAzOCwgMiwgMTI2LCAyMjcsIDIyOSwgNjEsIDE3LCAKKyAgICA4LCAyOCwgMjEyLCAzOCwgMiwgODcsIDYxLCAxNywgOCwgMjgsIDE3MSwgMiwgMTQwLCA2MSwgMTcsIDgsIDI4LCAxNzEsIDIsIAorICAgIDgwLCA2MSwgMTcsIDgsIDI4LCAxNDAsIDIsIDE3MSwgNjEsIDE3LCA4LCAyOCwgMTQwLCAyLCA4MCwgNjEsIDE3LCA4LCAyOCwgCisgICAgMjMxLCAxNjQsIDIsIDE3MSwgNjEsIDE3LCA4LCAyOCwgMjMxLCAxNjQsIDIsIDE0MCwgNjEsIDE3LCA4LCAyOCwgMjMxLCAKKyAgICAxNjQsIDIsIDgwLCA2MSwgMTcsIDgsIDI4LCAyMTcsIDcxLCAyLCAxNzEsIDYxLCAxNywgOCwgMjgsIDIxNywgNzEsIDIsIAorICAgIDE0MCwgNjEsIDE3LCA4LCAyOCwgMjE3LCA3MSwgMiwgMjMxLCAxNjQsIDYxLCAxNywgOCwgMjgsIDIxNywgNzEsIDIsIDgwLCAKKyAgICA2MSwgMTcsIDgsIDI4LCAyMTcsIDE5MiwgMiwgMTQwLCA2MSwgMTcsIDgsIDI4LCAyMTcsIDE5MiwgMiwgODAsIDYxLCAxNywgCisgICAgOCwgMjgsIDI0NiwgMTQxLCAyLCAxNzEsIDYxLCAxNywgOCwgMjgsIDI0NiwgMTQxLCAyLCAxNDAsIDYxLCAxNywgOCwgMjgsIAorICAgIDI0NiwgMTQxLCAyLCAyMzEsIDE2NCwgNjEsIDE3LCA4LCAyOCwgMjQ2LCAxNDEsIDIsIDgwLCA2MSwgMTcsIDgsIDI4LCAKKyAgICAyMTIsIDE5NSwgMiwgMTQwLCA2MSwgMTcsIDgsIDI4LCAyMTIsIDE5NSwgMiwgODAsIDYxLCAxNywgOCwgMjgsIDIwNSwgCisgICAgMTEyLCAyLCA4MCwgNjEsIDE3LCA4LCAyOCwgMjUyLCAyMDEsIDIsIDE3MSwgNjEsIDE3LCA4LCAyOCwgMjUyLCAyMDEsIDIsIAorICAgIDgwLCA2MSwgMTcsIDgsIDI4LCAyNDAsIDk1LCAyLCAxNzEsIDYxLCAxNywgOCwgMjgsIDI0MCwgOTUsIDIsIDgwLCA2MSwgCisgICAgMTcsIDgsIDI4LCAyNDIsIDE2LCAyLCAxNzEsIDYxLCAxNywgOCwgMjgsIDI0MiwgMTYsIDIsIDE0MCwgNjEsIDE3LCA4LCAKKyAgICAyOCwgMjQyLCAxNiwgMiwgMjMxLCAxNjQsIDYxLCAxNywgOCwgMjgsIDI0MiwgMTYsIDIsIDgwLCA2MSwgMTcsIDgsIDI4LCAKKyAgICAyNDIsIDE2LCAyLCAxMjYsIDIyNywgMjI5LCA2MSwgMTcsIDgsIDI4LCAyNDIsIDE2LCAyLCA4NywgNjEsIDE3LCA4LCAyOCwgCisgICAgMjIwLCAxMywgMiwgMTQwLCA2MSwgMTcsIDgsIDI4LCAyMjAsIDEzLCAyLCA4MCwgNjEsIDE3LCA4LCAyOCwgMjIwLCAxMywgCisgICAgMiwgMTI2LCAyMjcsIDIyOSwgNjEsIDE3LCA4LCAyOCwgMjIwLCAxMywgMiwgODcsIDYxLCAxNywgOCwgMjgsIDIzMiwgNDYsIAorICAgIDIsIDEyNiwgNjEsIDE3LCA4LCAyOCwgMjMyLCA0NiwgMiwgMTcxLCA2MSwgMTcsIDgsIDI4LCAyMzIsIDQ2LCAyLCAxNDAsIAorICAgIDYxLCAxNywgOCwgMjgsIDIzMiwgNDYsIDIsIDIzMSwgMTY0LCA2MSwgMTcsIDgsIDI4LCAyMzIsIDQ2LCAyLCAyMzAsIDEwNywgCisgICAgNjEsIDE3LCA4LCAyOCwgMjMyLCA0NiwgMiwgODAsIDYxLCAxNywgOCwgMjgsIDIzMiwgNDYsIDIsIDEyNiwgMjI3LCAyMjksIAorICAgIDYxLCAxNywgOCwgMjgsIDIzMiwgNDYsIDIsIDg3LCA2MSwgMTcsIDgsIDI4LCAyMzAsIDEwNywgMiwgMTcxLCA2MSwgMTcsIAorICAgIDgsIDI4LCAyMzAsIDEwNywgMiwgMTQwLCA2MSwgMTcsIDgsIDI4LCAyMzAsIDEwNywgMiwgMjMxLCAxNjQsIDYxLCAxNywgOCwgCisgICAgMjgsIDIzMCwgMTA3LCAyLCA4MCwgNjEsIDE3LCA4LCAyOCwgMjMwLCAxMDcsIDIsIDEyNiwgMjI3LCAyMjksIDYxLCAxNywgCisgICAgOCwgMjgsIDIzMCwgMTA3LCAyLCA4NywgNjEsIDE3LCA4LCAyOCwgODAsIDIsIDE3MSwgNjEsIDE3LCA4LCAyOCwgODAsIDIsIAorICAgIDE0MCwgNjEsIDE3LCA4LCAyOCwgODAsIDIsIDIzMSwgMTY0LCA2MSwgMTcsIDgsIDI4LCA4MCwgMiwgODAsIDYxLCAxNywgOCwgCisgICAgMjgsIDgwLCAyLCAxMjYsIDIyNywgMjI5LCA2MSwgMTcsIDgsIDI4LCA4MCwgMiwgODcsIDYxLCAxNywgOCwgMjgsIDIyNCwgCisgICAgNTUsIDIsIDE3MSwgNjEsIDE3LCA4LCAyOCwgMjI0LCA1NSwgMiwgMTQwLCA2MSwgMTcsIDgsIDI4LCAyMjQsIDU1LCAyLCAKKyAgICAyMzEsIDE2NCwgNjEsIDE3LCA4LCAyOCwgMjI0LCA1NSwgMiwgODAsIDYxLCAxNywgOCwgMjgsIDIyNCwgNTUsIDIsIDEyNiwgCisgICAgMjI3LCAyMjksIDYxLCAxNywgOCwgMjgsIDIyNCwgNTUsIDIsIDg3LCA2MSwgMTcsIDgsIDI4LCAyMzksIDUxLCAyLCAxNzEsIAorICAgIDYxLCAxNywgOCwgMjgsIDIzOSwgNTEsIDIsIDgwLCA2MSwgMTcsIDgsIDI4LCAyMzksIDUxLCAyLCAxMjYsIDIyNywgMjI5LCAKKyAgICA2MSwgMTcsIDgsIDI4LCAyMzksIDUxLCAyLCA4NywgNjEsIDE3LCA4LCAyOCwgODcsIDIsIDE3MSwgNjEsIDE3LCA4LCAyOCwgCisgICAgODcsIDIsIDE0MCwgNjEsIDE3LCA4LCAyOCwgODcsIDIsIDIzMSwgMTY0LCA2MSwgMTcsIDgsIDI4LCA4NywgMiwgODAsIDYxLCAKKyAgICAxNywgOCwgMjgsIDg3LCAyLCAxMjYsIDIyNywgMjI5LCA2MSwgMTcsIDgsIDI4LCA4NywgMiwgODcsIDYxLCAxNywgOCwgMjgsIAorICAgIDIxMiwgNTAsIDIsIDIxMywgMTM5LCAxMjYsIDYxLCAxNywgOCwgMjgsIDIxOSwgMTcsIDIsIDIxMywgMTM5LCAxMjYsIDYxLCAKKyAgICAxNywgOCwgMjgsIDEyNiwgMjI3LCAyMjksIDIsIDIxMywgMTM5LCAxMjYsIDYxLCAxNywgOCwgMjgsIDIxNSwgMjUwLCAyLCAKKyAgICAyNDYsIDEwNSwgNjEsIDE3LCA4LCAyOCwgMjE1LCAyNTAsIDIsIDIzMSwgMjUxLCA2MSwgMTcsIDgsIDI4LCAyMTUsIDI1MCwgCisgICAgMiwgMjQyLCA0MCwgNjEsIDE3LCA4LCAyOCwgMjE1LCAyNTAsIDIsIDI0NiwgMTA3LCA2MSwgMTcsIDgsIDI4LCAyMTUsIAorICAgIDI1MCwgMiwgMjMxLCAyNTMsIDYxLCAxNywgOCwgMjgsIDIxNSwgMjUwLCAyLCAyMTMsIDEzOSwgMTI2LCA2MSwgMTcsIDgsIAorICAgIDI4LCA4NywgMiwgMjM5LCAxMTIsIDg0LCAyLCAyMTksIDE3LCA0MiwgMTcsIDgsIDI4LCA4NywgMiwgMjM5LCAxMTIsIDg0LCAKKyAgICAyLCAyMDUsIDEwOSwgNDIsIDE3LCA4LCAyOCwgODcsIDIsIDIzOSwgMTEyLCA4NCwgMiwgODAsIDQyLCAxNywgOCwgMjgsIAorICAgIDg3LCAyLCAyMzksIDExMiwgODQsIDIsIDIyNCwgNTUsIDQyLCAxNywgOCwgMjgsIDg3LCAyLCAyMzksIDExMiwgODQsIDIsIAorICAgIDEyNiwgMjI3LCAyMjksIDQyLCAxNywgOCwgMjgsIDg3LCAyLCAyMzksIDExMiwgODQsIDIsIDg3LCA0MiwgMTcsIDgsIDI4LCAKKyAgICAyNTAsIDM5LCAyLCAyMTksIDE3LCA0MiwgMTcsIDgsIDI4LCAyNTAsIDM5LCAyLCAyMDUsIDEwOSwgNDIsIDE3LCA4LCAyOCwgCisgICAgMjUwLCAzOSwgMiwgODAsIDQyLCAxNywgOCwgMjgsIDI1MCwgMzksIDIsIDIyNCwgNTUsIDQyLCAxNywgOCwgMjgsIDI1MCwgCisgICAgMzksIDIsIDEyNiwgMjI3LCAyMjksIDQyLCAxNywgOCwgMjgsIDI1MCwgMzksIDIsIDg3LCA0MiwgMTcsIDgsIDI4LCAyMTIsIAorICAgIDExNiwgMiwgMjE5LCAxNywgNDIsIDE3LCA4LCAyOCwgMjEyLCAxMTYsIDIsIDIwNSwgMTA5LCA0MiwgMTcsIDgsIDI4LCAKKyAgICAyMTIsIDExNiwgMiwgODAsIDQyLCAxNywgOCwgMjgsIDIxMiwgMTE2LCAyLCAyMjQsIDU1LCA0MiwgMTcsIDgsIDI4LCAyMTIsIAorICAgIDExNiwgMiwgMTI2LCAyMjcsIDIyOSwgNDIsIDE3LCA4LCAyOCwgMjEyLCAxMTYsIDIsIDg3LCA0MiwgMTcsIDgsIDI4LCAKKyAgICAyMTIsIDM4LCAyLCAyMTksIDE3LCA0MiwgMTcsIDgsIDI4LCAyMTIsIDM4LCAyLCAyMDUsIDEwOSwgNDIsIDE3LCA4LCAyOCwgCisgICAgMjEyLCAzOCwgMiwgODAsIDQyLCAxNywgOCwgMjgsIDIxMiwgMzgsIDIsIDIyNCwgNTUsIDQyLCAxNywgOCwgMjgsIDIxMiwgCisgICAgMzgsIDIsIDEyNiwgMjI3LCAyMjksIDQyLCAxNywgOCwgMjgsIDIxMiwgMzgsIDIsIDg3LCA0MiwgMTcsIDgsIDI4LCAyNDIsIAorICAgIDE2LCAyLCAxMjYsIDIyNywgMjI5LCA0MiwgMTcsIDgsIDI4LCAyNDIsIDE2LCAyLCA4NywgNDIsIDE3LCA4LCAyOCwgMjIwLCAKKyAgICAxMywgMiwgMTI2LCAyMjcsIDIyOSwgNDIsIDE3LCA4LCAyOCwgMjIwLCAxMywgMiwgODcsIDQyLCAxNywgOCwgMjgsIDIzMiwgCisgICAgNDYsIDIsIDEyNiwgNDIsIDE3LCA4LCAyOCwgMjMyLCA0NiwgMiwgMjMwLCAxMDcsIDQyLCAxNywgOCwgMjgsIDIzMiwgNDYsIAorICAgIDIsIDgwLCA0MiwgMTcsIDgsIDI4LCAyMzIsIDQ2LCAyLCAxMjYsIDIyNywgMjI5LCA0MiwgMTcsIDgsIDI4LCAyMzIsIDQ2LCAKKyAgICAyLCA4NywgNDIsIDE3LCA4LCAyOCwgMjMwLCAxMDcsIDIsIDgwLCA0MiwgMTcsIDgsIDI4LCAyMzAsIDEwNywgMiwgMTI2LCAKKyAgICAyMjcsIDIyOSwgNDIsIDE3LCA4LCAyOCwgMjMwLCAxMDcsIDIsIDg3LCA0MiwgMTcsIDgsIDI4LCA4MCwgMiwgMTI2LCA0MiwgCisgICAgMTcsIDgsIDI4LCA4MCwgMiwgODAsIDQyLCAxNywgOCwgMjgsIDIyNCwgNTUsIDIsIDIxOSwgMTcsIDQyLCAxNywgOCwgMjgsIAorICAgIDIyNCwgNTUsIDIsIDIwNSwgMTA5LCA0MiwgMTcsIDgsIDI4LCAyMjQsIDU1LCAyLCA4MCwgNDIsIDE3LCA4LCAyOCwgMjI0LCAKKyAgICA1NSwgMiwgMjI0LCA1NSwgNDIsIDE3LCA4LCAyOCwgMjI0LCA1NSwgMiwgMTI2LCAyMjcsIDIyOSwgNDIsIDE3LCA4LCAyOCwgCisgICAgMjI0LCA1NSwgMiwgODcsIDQyLCAxNywgOCwgMjgsIDEyNiwgMjI3LCAyMjksIDIsIDIxMywgMTM5LCAxMjYsIDQyLCAxNywgCisgICAgOCwgMjgsIDg3LCAyLCAyMTksIDE3LCA0MiwgMTcsIDgsIDI4LCA4NywgMiwgMjA1LCAxMDksIDQyLCAxNywgOCwgMjgsIDg3LCAKKyAgICAyLCA4MCwgNDIsIDE3LCA4LCAyOCwgODcsIDIsIDIyNCwgNTUsIDQyLCAxNywgOCwgMjgsIDg3LCAyLCAxMjYsIDIyNywgCisgICAgMjI5LCA0MiwgMTcsIDgsIDI4LCA4NywgMiwgODcsIDQyLCAxNywgOCwgMjgsIDg3LCAyLCAyMzksIDExMiwgODQsIDIsIAorICAgIDE3MSwgNzgsIDE3LCA4LCAyOCwgODcsIDIsIDIzOSwgMTEyLCA4NCwgMiwgMTQwLCA3OCwgMTcsIDgsIDI4LCA4NywgMiwgCisgICAgMjM5LCAxMTIsIDg0LCAyLCAyMzEsIDE2NCwgNzgsIDE3LCA4LCAyOCwgODcsIDIsIDIzOSwgMTEyLCA4NCwgMiwgODAsIDc4LCAKKyAgICAxNywgOCwgMjgsIDg3LCAyLCAyMzksIDExMiwgODQsIDIsIDIzOSwgNTEsIDc4LCAxNywgOCwgMjgsIDI1MCwgMzksIDIsIAorICAgIDE3MSwgNzgsIDE3LCA4LCAyOCwgMjUwLCAzOSwgMiwgMTQwLCA3OCwgMTcsIDgsIDI4LCAyNTAsIDM5LCAyLCAyMzEsIDE2NCwgCisgICAgNzgsIDE3LCA4LCAyOCwgMjUwLCAzOSwgMiwgODAsIDc4LCAxNywgOCwgMjgsIDI1MCwgMzksIDIsIDIzOSwgNTEsIDc4LCAKKyAgICAxNywgOCwgMjgsIDIxMiwgMTE2LCAyLCAxNzEsIDc4LCAxNywgOCwgMjgsIDIxMiwgMTE2LCAyLCAxNDAsIDc4LCAxNywgOCwgCisgICAgMjgsIDIxMiwgMTE2LCAyLCAyMzEsIDE2NCwgNzgsIDE3LCA4LCAyOCwgMjEyLCAxMTYsIDIsIDgwLCA3OCwgMTcsIDgsIDI4LCAKKyAgICAyMTIsIDExNiwgMiwgMjM5LCA1MSwgNzgsIDE3LCA4LCAyOCwgMjEyLCAzOCwgMiwgODAsIDc4LCAxNywgOCwgMjgsIDE3MSwgCisgICAgMiwgMTQwLCA3OCwgMTcsIDgsIDI4LCAxNzEsIDIsIDgwLCA3OCwgMTcsIDgsIDI4LCAxNDAsIDIsIDE3MSwgNzgsIDE3LCA4LCAKKyAgICAyOCwgMTQwLCAyLCA4MCwgNzgsIDE3LCA4LCAyOCwgMjMxLCAxNjQsIDIsIDE3MSwgNzgsIDE3LCA4LCAyOCwgMjMxLCAxNjQsIAorICAgIDIsIDgwLCA3OCwgMTcsIDgsIDI4LCAyMTcsIDcxLCAyLCAxNzEsIDc4LCAxNywgOCwgMjgsIDIxNywgNzEsIDIsIDE0MCwgCisgICAgNzgsIDE3LCA4LCAyOCwgMjE3LCA3MSwgMiwgMjMxLCAxNjQsIDc4LCAxNywgOCwgMjgsIDIxNywgNzEsIDIsIDgwLCA3OCwgCisgICAgMTcsIDgsIDI4LCAyMTcsIDE5MiwgMiwgMTQwLCA3OCwgMTcsIDgsIDI4LCAyMTcsIDE5MiwgMiwgMjMxLCAxNjQsIDc4LCAKKyAgICAxNywgOCwgMjgsIDIxNywgMTkyLCAyLCA4MCwgNzgsIDE3LCA4LCAyOCwgMjQ2LCAxNDEsIDIsIDE3MSwgNzgsIDE3LCA4LCAKKyAgICAyOCwgMjQ2LCAxNDEsIDIsIDE0MCwgNzgsIDE3LCA4LCAyOCwgMjQ2LCAxNDEsIDIsIDIzMSwgMTY0LCA3OCwgMTcsIDgsIAorICAgIDI4LCAyNDYsIDE0MSwgMiwgODAsIDc4LCAxNywgOCwgMjgsIDIxMiwgMTk1LCAyLCAxNDAsIDc4LCAxNywgOCwgMjgsIDIwNSwgCisgICAgMTEyLCAyLCA4MCwgNzgsIDE3LCA4LCAyOCwgMjUyLCAyMDEsIDIsIDE3MSwgNzgsIDE3LCA4LCAyOCwgMjUyLCAyMDEsIDIsIAorICAgIDgwLCA3OCwgMTcsIDgsIDI4LCAyNDAsIDk1LCAyLCAxNzEsIDc4LCAxNywgOCwgMjgsIDI0MCwgOTUsIDIsIDgwLCA3OCwgCisgICAgMTcsIDgsIDI4LCAyNDIsIDE2LCAyLCAxNzEsIDc4LCAxNywgOCwgMjgsIDI0MiwgMTYsIDIsIDE0MCwgNzgsIDE3LCA4LCAKKyAgICAyOCwgMjQyLCAxNiwgMiwgMjMxLCAxNjQsIDc4LCAxNywgOCwgMjgsIDI0MiwgMTYsIDIsIDgwLCA3OCwgMTcsIDgsIDI4LCAKKyAgICAyMjAsIDEzLCAyLCAxNDAsIDc4LCAxNywgOCwgMjgsIDIyMCwgMTMsIDIsIDgwLCA3OCwgMTcsIDgsIDI4LCAyMzIsIDQ2LCAKKyAgICAyLCAxNzEsIDc4LCAxNywgOCwgMjgsIDIzMiwgNDYsIDIsIDE0MCwgNzgsIDE3LCA4LCAyOCwgMjMyLCA0NiwgMiwgMjMxLCAKKyAgICAxNjQsIDc4LCAxNywgOCwgMjgsIDIzMiwgNDYsIDIsIDIzMCwgMTA3LCA3OCwgMTcsIDgsIDI4LCAyMzIsIDQ2LCAyLCA4MCwgCisgICAgNzgsIDE3LCA4LCAyOCwgMjMwLCAxMDcsIDIsIDE3MSwgNzgsIDE3LCA4LCAyOCwgMjMwLCAxMDcsIDIsIDE0MCwgNzgsIDE3LCAKKyAgICA4LCAyOCwgMjMwLCAxMDcsIDIsIDIzMSwgMTY0LCA3OCwgMTcsIDgsIDI4LCAyMzAsIDEwNywgMiwgODAsIDc4LCAxNywgOCwgCisgICAgMjgsIDIzMCwgMTA3LCAyLCAyMzksIDUxLCA3OCwgMTcsIDgsIDI4LCA4MCwgMiwgMTcxLCA3OCwgMTcsIDgsIDI4LCA4MCwgCisgICAgMiwgMTQwLCA3OCwgMTcsIDgsIDI4LCA4MCwgMiwgMjMxLCAxNjQsIDc4LCAxNywgOCwgMjgsIDgwLCAyLCA4MCwgNzgsIDE3LCAKKyAgICA4LCAyOCwgMjI0LCA1NSwgMiwgMTcxLCA3OCwgMTcsIDgsIDI4LCAyMjQsIDU1LCAyLCAxNDAsIDc4LCAxNywgOCwgMjgsIAorICAgIDIyNCwgNTUsIDIsIDIzMSwgMTY0LCA3OCwgMTcsIDgsIDI4LCAyMjQsIDU1LCAyLCA4MCwgNzgsIDE3LCA4LCAyOCwgMjI0LCAKKyAgICA1NSwgMiwgMjM5LCA1MSwgNzgsIDE3LCA4LCAyOCwgMjM5LCA1MSwgMiwgMTcxLCA3OCwgMTcsIDgsIDI4LCAyMzksIDUxLCAKKyAgICAyLCA4MCwgNzgsIDE3LCA4LCAyOCwgMjM5LCA1MSwgMiwgMjEzLCAxMzksIDEyNiwgNzgsIDE3LCA4LCAyOCwgODcsIDIsIAorICAgIDE3MSwgNzgsIDE3LCA4LCAyOCwgODcsIDIsIDE0MCwgNzgsIDE3LCA4LCAyOCwgODcsIDIsIDIzMSwgMTY0LCA3OCwgMTcsIAorICAgIDgsIDI4LCA4NywgMiwgODAsIDc4LCAxNywgOCwgMjgsIDg3LCAyLCAyMzksIDUxLCA3OCwgMTcsIDgsIDI4LCA4NywgMiwgCisgICAgMjM5LCAxMTIsIDg0LCAyLCA4MCwgMTY5LCAxNywgOCwgMjgsIDg3LCAyLCAyMzksIDExMiwgODQsIDIsIDIzOSwgNTEsIAorICAgIDE2OSwgMTcsIDgsIDI4LCAyNTAsIDM5LCAyLCA4MCwgMTY5LCAxNywgOCwgMjgsIDI1MCwgMzksIDIsIDIzOSwgNTEsIDE2OSwgCisgICAgMTcsIDgsIDI4LCAyMTIsIDExNiwgMiwgODAsIDE2OSwgMTcsIDgsIDI4LCAyMTIsIDExNiwgMiwgMjM5LCA1MSwgMTY5LCAKKyAgICAxNywgOCwgMjgsIDIxMiwgMzgsIDIsIDgwLCAxNjksIDE3LCA4LCAyOCwgMjEyLCAzOCwgMiwgMjM5LCA1MSwgMTY5LCAxNywgCisgICAgOCwgMjgsIDIxNywgNzEsIDIsIDgwLCAxNjksIDE3LCA4LCAyOCwgMjE3LCA3MSwgMiwgMjM5LCA1MSwgMTY5LCAxNywgOCwgCisgICAgMjgsIDIxNSwgMjExLCAyLCA4MCwgMTY5LCAxNywgOCwgMjgsIDIxNSwgMjExLCAyLCAyMzksIDUxLCAxNjksIDE3LCA4LCAKKyAgICAyOCwgMjMyLCA0NiwgMiwgMjMwLCAxMDcsIDE2OSwgMTcsIDgsIDI4LCAyMzIsIDQ2LCAyLCA4MCwgMTY5LCAxNywgOCwgMjgsIAorICAgIDIzMCwgMTA3LCAyLCA4MCwgMTY5LCAxNywgOCwgMjgsIDIyNCwgNTUsIDIsIDgwLCAxNjksIDE3LCA4LCAyOCwgMjI0LCA1NSwgCisgICAgMiwgMjM5LCA1MSwgMTY5LCAxNywgOCwgMjgsIDg3LCAyLCA4MCwgMTY5LCAxNywgOCwgMjgsIDg3LCAyLCAyMzksIDUxLCAKKyAgICAxNjksIDE3LCA4LCAyOCwgMjE1LCAyNTAsIDIsIDI0MiwgNDAsIDE2OSwgMTcsIDgsIDI4LCAyMTUsIDI1MCwgMiwgMjQ2LCAKKyAgICAxMDcsIDE2OSwgMTcsIDgsIDI4LCAyMTUsIDI1MCwgMiwgMjMxLCAyNTMsIDE2OSwgMTcsIDgsIDI4LCAyMTIsIDE5NSwgMiwgCisgICAgMTI2LCAyMjcsIDIyOSwgNjEsIDE3LCA4LCAyOCwgMjEyLCAxOTUsIDIsIDg3LCA2MSwgMTcsIDgsIDI4LCAyNTIsIDIwMSwgCisgICAgMiwgMTI2LCAyMjcsIDIyOSwgNjEsIDE3LCA4LCAyOCwgMjUyLCAyMDEsIDIsIDg3LCA2MSwgMTcsIDgsIDI4LCAyNDAsIDk1LCAKKyAgICAyLCAxMjYsIDIyNywgMjI5LCA2MSwgMTcsIDgsIDI4LCAyNDAsIDk1LCAyLCA4NywgNjEsIDE3LCA4LCAyOCwgMjE3LCA3MSwgCisgICAgMiwgMTI2LCAyMjcsIDIyOSwgNjEsIDE3LCA4LCAyOCwgMjE3LCA3MSwgMiwgODcsIDYxLCAxNywgOCwgMjgsIDIxNSwgMjExLCAKKyAgICAyLCAxMjYsIDIyNywgMjI5LCA2MSwgMTcsIDgsIDI4LCAyMTUsIDIxMSwgMiwgODcsIDYxLCAxNywgOCwgMjgsIDE0MCwgMiwgCisgICAgMTI2LCAyMjcsIDIyOSwgNjEsIDE3LCA4LCAyOCwgMTQwLCAyLCA4NywgNjEsIDE3LCA4LCAyOCwgMTcxLCAyLCAxMjYsIAorICAgIDIyNywgMjI5LCA2MSwgMTcsIDgsIDI4LCAxNzEsIDIsIDg3LCA2MSwgMTcsIDgsIDI4LCAyMzEsIDE2NCwgMiwgMTI2LCAKKyAgICAyMjcsIDIyOSwgNjEsIDE3LCA4LCAyOCwgMjMxLCAxNjQsIDIsIDg3LCA2MSwgMTcsIDgsIDI4LCAyMTcsIDE5MiwgMiwgCisgICAgMTI2LCAyMjcsIDIyOSwgNjEsIDE3LCA4LCAyOCwgMjE3LCAxOTIsIDIsIDg3LCA2MSwgMTcsIDgsIDI4LCAyNDYsIDE0MSwgCisgICAgMiwgMTI2LCAyMjcsIDIyOSwgNjEsIDE3LCA4LCAyOCwgMjQ2LCAxNDEsIDIsIDg3LCA2MSwgMTcsIDgsIDI4LCAyMTUsIAorICAgIDIxMSwgMiwgMTcxLCA2MSwgMTcsIDgsIDI4LCAyMTUsIDIxMSwgMiwgMTQwLCA2MSwgMTcsIDgsIDI4LCAyMTUsIDIxMSwgMiwgCisgICAgMjMxLCAxNjQsIDYxLCAxNywgOCwgMjgsIDIxNSwgMjExLCAyLCA4MCwgNjEsIDE3LCA4LCAyOCwgMjE1LCAyMTEsIDIsIAorICAgIDIxOSwgMTcsIDYxLCAxNywgOCwgMjgsIDIxNywgNzEsIDIsIDIxOSwgMTcsIDYxLCAxNywgOCwgMjgsIDIxNywgMTkyLCAyLCAKKyAgICAyMTksIDE3LCA2MSwgMTcsIDgsIDI4LCAyNDYsIDE0MSwgMiwgMjE5LCAxNywgNjEsIDE3LCA4LCAyOCwgMjEyLCAxOTUsIDIsIAorICAgIDEyNiwgMjI3LCAyMjksIDQyLCAxNywgOCwgMjgsIDIxMiwgMTk1LCAyLCA4NywgNDIsIDE3LCA4LCAyOCwgMjUyLCAyMDEsIAorICAgIDIsIDEyNiwgMjI3LCAyMjksIDQyLCAxNywgOCwgMjgsIDI1MiwgMjAxLCAyLCA4NywgNDIsIDE3LCA4LCAyOCwgMjQwLCA5NSwgCisgICAgMiwgMTI2LCAyMjcsIDIyOSwgNDIsIDE3LCA4LCAyOCwgMjQwLCA5NSwgMiwgODcsIDQyLCAxNywgOCwgMjgsIDIxNywgNzEsIAorICAgIDIsIDEyNiwgMjI3LCAyMjksIDQyLCAxNywgOCwgMjgsIDIxNywgNzEsIDIsIDg3LCA0MiwgMTcsIDgsIDI4LCAyMTUsIDIxMSwgCisgICAgMiwgMTI2LCAyMjcsIDIyOSwgNDIsIDE3LCA4LCAyOCwgMjE1LCAyMTEsIDIsIDg3LCA0MiwgMTcsIDgsIDI4LCAxNDAsIDIsIAorICAgIDEyNiwgMjI3LCAyMjksIDQyLCAxNywgOCwgMjgsIDE0MCwgMiwgODcsIDQyLCAxNywgOCwgMjgsIDE3MSwgMiwgMTI2LCAKKyAgICAyMjcsIDIyOSwgNDIsIDE3LCA4LCAyOCwgMTcxLCAyLCA4NywgNDIsIDE3LCA4LCAyOCwgMjMxLCAxNjQsIDIsIDEyNiwgCisgICAgMjI3LCAyMjksIDQyLCAxNywgOCwgMjgsIDIzMSwgMTY0LCAyLCA4NywgNDIsIDE3LCA4LCAyOCwgMjE3LCAxOTIsIDIsIAorICAgIDEyNiwgMjI3LCAyMjksIDQyLCAxNywgOCwgMjgsIDIxNywgMTkyLCAyLCA4NywgNDIsIDE3LCA4LCAyOCwgMjQ2LCAxNDEsIAorICAgIDIsIDEyNiwgMjI3LCAyMjksIDQyLCAxNywgOCwgMjgsIDI0NiwgMTQxLCAyLCA4NywgNDIsIDE3LCA4LCAyOCwgMjE1LCAKKyAgICAyMTEsIDIsIDE3MSwgNDIsIDE3LCA4LCAyOCwgMjE1LCAyMTEsIDIsIDE0MCwgNDIsIDE3LCA4LCAyOCwgMjE1LCAyMTEsIDIsIAorICAgIDIzMSwgMTY0LCA0MiwgMTcsIDgsIDI4LCAyMTUsIDIxMSwgMiwgODAsIDQyLCAxNywgOCwgMjgsIDIxNSwgMjExLCAyLCAKKyAgICAyMTksIDE3LCA0MiwgMTcsIDgsIDI4LCAyMTcsIDcxLCAyLCAyMTksIDE3LCA0MiwgMTcsIDgsIDI4LCAyMTcsIDE5MiwgMiwgCisgICAgMjE5LCAxNywgNDIsIDE3LCA4LCAyOCwgMjQ2LCAxNDEsIDIsIDIxOSwgMTcsIDQyLCAxNywgOCwgMjgsIDIxNSwgMjExLCAyLCAKKyAgICAxNzEsIDc4LCAxNywgOCwgMjgsIDIxNSwgMjExLCAyLCAxNDAsIDc4LCAxNywgOCwgMjgsIDIxNSwgMjExLCAyLCAyMzEsIAorICAgIDE2NCwgNzgsIDE3LCA4LCAyOCwgMjE1LCAyMTEsIDIsIDgwLCA3OCwgMTcsIDgsIDI4LCAyMTcsIDcxLCAyLCAyMzksIDUxLCAKKyAgICA3OCwgMTcsIDgsIDI4LCAyMTUsIDIxMSwgMiwgMjM5LCA1MSwgNzgsIDE3LCA4LCAyOCwgMjEyLCAxOTUsIDIsIDgwLCA3OCwgCisgICAgMTcsIDgsIDI4LCAyMTcsIDcxLCAyLCAxNzEsIDE2OSwgMTcsIDgsIDI4LCAyMTcsIDcxLCAyLCAxNDAsIDE2OSwgMTcsIDgsIAorICAgIDI4LCAyMTcsIDcxLCAyLCAyMzEsIDE2NCwgMTY5LCAxNywgOCwgMjgsIDIxNSwgMjExLCAyLCAxNzEsIDE2OSwgMTcsIDgsIAorICAgIDI4LCAyMTUsIDIxMSwgMiwgMTQwLCAxNjksIDE3LCA4LCAyOCwgMjE1LCAyMTEsIDIsIDIzMSwgMTY0LCAxNjksIDE3LCA4LCAKKyAgICAyOCwgMjEyLCAxOTUsIDIsIDgwLCAxNjksIDE3LCA4LCAyOCwgMjA1LCAxMTIsIDIsIDgwLCAxNjksIDE3LCA4LCAyOCwgCisgICAgMTI2LCAyLCAyNDIsIDM4LCA0MiwgMTcsIDgsIDI4LCAxMjYsIDIsIDI0MiwgMzgsIDYxLCAxNywgMjIyLCAxMTAsIDQ3LCAKKyAgICAyMjEsIDIxNiwgMjIyLCAxMTAsIDQ4LCAyMjEsIDIxNiwgOCwgMjgsIDIxMiwgMTE2LCAyLCAxNzEsIDIsIDgwLCA3OCwgMTcsIAorICAgIDgsIDI4LCAyMTIsIDExNiwgMiwgMTQwLCAyLCAxNzEsIDQyLCAxNywgOCwgMjgsIDIxMiwgMTE2LCAyLCAxNDAsIDIsIDE3MSwgCisgICAgNzgsIDE3LCA4LCAyOCwgMjEyLCAxMTYsIDIsIDE0MCwgMiwgODAsIDc4LCAxNywgOCwgMjgsIDIxMiwgMTE2LCAyLCAyMzEsIAorICAgIDE2NCwgMiwgODAsIDc4LCAxNywgOCwgMjgsIDIxMiwgMTE2LCAyLCA4MCwgMiwgMTcxLCA3OCwgMTcsIDgsIDI4LCAyMTIsIAorICAgIDExNiwgMiwgODAsIDIsIDE0MCwgNzgsIDE3LCA4LCAyOCwgMjEyLCAxMTYsIDIsIDgwLCAyLCAyMzEsIDE2NCwgNzgsIDE3LCAKKyAgICA4LCAyOCwgMTcxLCAyLCA4MCwgMiwgMTQwLCA0MiwgMTcsIDgsIDI4LCAxNzEsIDIsIDgwLCAyLCAxNDAsIDc4LCAxNywgOCwgCisgICAgMjgsIDE0MCwgMiwgODAsIDIsIDg3LCA0MiwgMTcsIDgsIDI4LCAxNDAsIDIsIDgwLCAyLCAxMjYsIDIyNywgMjI5LCA0MiwgCisgICAgMTcsIDgsIDI4LCAyMTcsIDcxLCAyLCAxNDAsIDIsIDE3MSwgNzgsIDE3LCA4LCAyOCwgMjE3LCA3MSwgMiwgMTcxLCAyLCAKKyAgICAxNDAsIDc4LCAxNywgOCwgMjgsIDIxNywgNzEsIDIsIDE3MSwgMiwgMTI2LCAyMjcsIDIyOSwgNDIsIDE3LCA4LCAyOCwgCisgICAgMjE3LCA3MSwgMiwgODAsIDIsIDE0MCwgNDIsIDE3LCA4LCAyOCwgMjE3LCA3MSwgMiwgODAsIDIsIDE0MCwgNzgsIDE3LCA4LCAKKyAgICAyOCwgMjE3LCA3MSwgMiwgODAsIDIsIDE3MSwgNzgsIDE3LCA4LCAyOCwgMjE3LCA3MSwgMiwgODAsIDIsIDgwLCA0MiwgMTcsIAorICAgIDgsIDI4LCAyMTcsIDcxLCAyLCA4MCwgMiwgODAsIDc4LCAxNywgOCwgMjgsIDIxNywgMTkyLCAyLCAxNDAsIDIsIDE0MCwgCisgICAgNDIsIDE3LCA4LCAyOCwgMjE3LCAxOTIsIDIsIDE0MCwgMiwgMTQwLCA3OCwgMTcsIDgsIDI4LCAyMTcsIDE5MiwgMiwgODAsIAorICAgIDIsIDgwLCA0MiwgMTcsIDgsIDI4LCAyMTUsIDIxMSwgMiwgMTQwLCAyLCA4MCwgNDIsIDE3LCA4LCAyOCwgMjE1LCAyMTEsIAorICAgIDIsIDE0MCwgMiwgODAsIDc4LCAxNywgOCwgMjgsIDIxNSwgMjExLCAyLCAxNzEsIDIsIDg3LCA0MiwgMTcsIDgsIDI4LCAKKyAgICAyMTUsIDIxMSwgMiwgODAsIDIsIDIzMSwgMTY0LCA0MiwgMTcsIDgsIDI4LCAyMTUsIDIxMSwgMiwgODAsIDIsIDIzMSwgCisgICAgMTY0LCA3OCwgMTcsIDgsIDI4LCAyMTUsIDIxMSwgMiwgODAsIDIsIDgwLCA0MiwgMTcsIDgsIDI4LCAyMTUsIDIxMSwgMiwgCisgICAgODAsIDIsIDgwLCA3OCwgMTcsIDgsIDI4LCAyNDYsIDE0MSwgMiwgMTQwLCAyLCAxMjYsIDIyNywgMjI5LCA0MiwgMTcsIDgsIAorICAgIDI4LCAyNDYsIDE0MSwgMiwgMjMxLCAxNjQsIDIsIDgwLCA0MiwgMTcsIDgsIDI4LCAyNDYsIDE0MSwgMiwgMjMxLCAxNjQsIAorICAgIDIsIDgwLCA3OCwgMTcsIDgsIDI4LCAyMTIsIDE5NSwgMiwgODAsIDIsIDE0MCwgNDIsIDE3LCA4LCAyOCwgMjEyLCAxOTUsIAorICAgIDIsIDgwLCAyLCAxNDAsIDc4LCAxNywgOCwgMjgsIDIxMiwgMTk1LCAyLCA4MCwgMiwgODAsIDc4LCAxNywgOCwgMjgsIDIxMiwgCisgICAgMTk1LCAyLCA4MCwgMiwgODcsIDQyLCAxNywgOCwgMjgsIDI1MiwgMjAxLCAyLCAxNzEsIDIsIDgwLCA0MiwgMTcsIDgsIDI4LCAKKyAgICAyNTIsIDIwMSwgMiwgODAsIDIsIDgwLCA0MiwgMTcsIDgsIDI4LCAyNTIsIDIwMSwgMiwgODAsIDIsIDgwLCA3OCwgMTcsIDgsIAorICAgIDI4LCAyNTIsIDIwMSwgMiwgODAsIDIsIDEyNiwgMjI3LCAyMjksIDQyLCAxNywgOCwgMjgsIDI0MCwgOTUsIDIsIDgwLCAyLCAKKyAgICA4MCwgNDIsIDE3LCA4LCAyOCwgMjQwLCA5NSwgMiwgODAsIDIsIDg3LCA0MiwgMTcsIDgsIDI4LCAyNDAsIDk1LCAyLCA4MCwgCisgICAgMiwgMTI2LCAyMjcsIDIyOSwgNDIsIDE3LCA4LCAyOCwgMjQyLCAxNiwgMiwgMjMxLCAxNjQsIDIsIDgwLCA0MiwgMTcsIDgsIAorICAgIDI4LCAyNDIsIDE2LCAyLCAyMzEsIDE2NCwgMiwgODAsIDc4LCAxNywgOCwgMjgsIDIyMCwgMTMsIDIsIDgwLCAyLCAxNDAsIAorICAgIDQyLCAxNywgOCwgMjgsIDIyMCwgMTMsIDIsIDgwLCAyLCA4MCwgNDIsIDE3LCA4LCAyOCwgMjMwLCAxMDcsIDIsIDE0MCwgMiwgCisgICAgODAsIDQyLCAxNywgOCwgMjgsIDIzMCwgMTA3LCAyLCAxNDAsIDIsIDg3LCA0MiwgMTcsIDgsIDI4LCAyMzAsIDEwNywgMiwgCisgICAgMTQwLCAyLCAxMjYsIDIyNywgMjI5LCA0MiwgMTcsIDgsIDI4LCAyMzAsIDEwNywgMiwgMTcxLCAyLCAxNzEsIDc4LCAxNywgCisgICAgOCwgMjgsIDIzMCwgMTA3LCAyLCAxNzEsIDIsIDE3MSwgNDIsIDE3LCA4LCAyOCwgMjMwLCAxMDcsIDIsIDIzMSwgMTY0LCAyLCAKKyAgICA4MCwgNDIsIDE3LCA4LCAyOCwgMjMwLCAxMDcsIDIsIDIzMSwgMTY0LCAyLCA4MCwgNzgsIDE3LCA4LCAyOCwgMjMwLCAxMDcsIAorICAgIDIsIDgwLCAyLCAxNDAsIDQyLCAxNywgOCwgMjgsIDIzMCwgMTA3LCAyLCA4MCwgMiwgMTQwLCA3OCwgMTcsIDgsIDI4LCA4MCwgCisgICAgMiwgMTQwLCAyLCAxNzEsIDc4LCAxNywgOCwgMjgsIDgwLCAyLCAxNDAsIDIsIDgwLCA3OCwgMTcsIDgsIDI4LCA4MCwgMiwgCisgICAgMTQwLCAyLCA4NywgNDIsIDE3LCA4LCAyOCwgODAsIDIsIDE3MSwgMiwgMTQwLCA3OCwgMTcsIDgsIDI4LCA4MCwgMiwgMTcxLCAKKyAgICAyLCA4MCwgNzgsIDE3LCA4LCAyOCwgODAsIDIsIDIzMSwgMTY0LCAyLCAxNzEsIDc4LCAxNywgOCwgMjgsIDgwLCAyLCAyMzEsIAorICAgIDE2NCwgMiwgODAsIDc4LCAxNywgOCwgMjgsIDgwLCAyLCAxNzEsIDIsIDIzMSwgMTY0LCA3OCwgMTcsIDgsIDI4LCAyMzksIAorICAgIDUxLCAyLCA4MCwgMiwgMTcxLCA3OCwgMTcsIDgsIDI4LCAyMzksIDUxLCAyLCA4MCwgMiwgODAsIDc4LCAxNywgOCwgMjgsIAorICAgIDIyNCwgNTUsIDIsIDE0MCwgMiwgODAsIDc4LCAxNywgOCwgMjgsIDIyNCwgNTUsIDIsIDE0MCwgMiwgMTI2LCAyMjcsIDIyOSwgCisgICAgNDIsIDE3LCA4LCAyOCwgMjI0LCA1NSwgMiwgMTcxLCAyLCA4MCwgNDIsIDE3LCA4LCAyOCwgMjI0LCA1NSwgMiwgMTcxLCAyLCAKKyAgICA4MCwgNzgsIDE3LCA4LCAyOCwgMjI0LCA1NSwgMiwgMTcxLCAyLCAxMjYsIDIyNywgMjI5LCA0MiwgMTcsIDgsIDI4LCAyMjQsIAorICAgIDU1LCAyLCA4MCwgMiwgODcsIDQyLCAxNywgOCwgMjgsIDIyNCwgNTUsIDIsIDgwLCAyLCAxMjYsIDIyNywgMjI5LCA0MiwgCisgICAgMTcsIDgsIDI4LCA4NywgMiwgODAsIDIsIDgwLCA0MiwgMTcsIDgsIDI4LCA4NywgMiwgODAsIDIsIDgwLCA3OCwgMTcsIDgsIAorICAgIDI4LCAyNTAsIDM5LCAyLCAyMzEsIDE2NCwgMiwgODcsIDQyLCAxNywgOCwgMjgsIDIxMiwgMTE2LCAyLCAxNzEsIDIsIDg3LCAKKyAgICA0MiwgMTcsIDgsIDI4LCAyMTIsIDExNiwgMiwgMTcxLCAyLCAxMjYsIDIyNywgMjI5LCA0MiwgMTcsIDgsIDI4LCAyMTIsIAorICAgIDExNiwgMiwgMjMxLCAxNjQsIDIsIDg3LCA0MiwgMTcsIDgsIDI4LCAyMTIsIDExNiwgMiwgMjMxLCAxNjQsIDIsIDEyNiwgCisgICAgMjI3LCAyMjksIDQyLCAxNywgOCwgMjgsIDIxMiwgMTE2LCAyLCA4MCwgMiwgODcsIDQyLCAxNywgOCwgMjgsIDIxMiwgMTE2LCAKKyAgICAyLCA4MCwgMiwgMTI2LCAyMjcsIDIyOSwgNDIsIDE3LCA4LCAyOCwgMTcxLCAyLCA4MCwgMiwgODcsIDQyLCAxNywgOCwgMjgsIAorICAgIDE3MSwgMiwgMTQwLCAyLCAxMjYsIDIyNywgMjI5LCA0MiwgMTcsIDgsIDI4LCAxNzEsIDIsIDgwLCAyLCAxMjYsIDIyNywgCisgICAgMjI5LCA0MiwgMTcsIDgsIDI4LCAyMTcsIDcxLCAyLCAyMzEsIDE2NCwgMiwgMTI2LCAyMjcsIDIyOSwgNDIsIDE3LCA4LCAKKyAgICAyOCwgMjE3LCAxOTIsIDIsIDE0MCwgMiwgODcsIDQyLCAxNywgOCwgMjgsIDIxNSwgMjExLCAyLCAxNDAsIDIsIDg3LCA0MiwgCisgICAgMTcsIDgsIDI4LCAyNDYsIDE0MSwgMiwgMTQwLCAyLCA4NywgNDIsIDE3LCA4LCAyOCwgMjMwLCAxMDcsIDIsIDE3MSwgMiwgCisgICAgODcsIDQyLCAxNywgOCwgMjgsIDIzMCwgMTA3LCAyLCA4MCwgMiwgODcsIDQyLCAxNywgOCwgMjgsIDg3LCAyLCAxNDAsIDIsIAorICAgIDg3LCA0MiwgMTcsIDgsIDI4LCA4NywgMiwgMTcxLCAyLCA4NywgNDIsIDE3LCA4LCAyOCwgODcsIDIsIDgwLCAyLCA4NywgCisgICAgNDIsIDE3LCA4LCAyOCwgODAsIDIsIDgwLCAyLCA4NywgNDIsIDE3LCA4LCAyOCwgMjIwLCAxMywgMiwgODAsIDIsIDg3LCAKKyAgICA0MiwgMTcsIDgsIDI4LCAyMjQsIDU1LCAyLCAxNDAsIDIsIDg3LCA0MiwgMTcsIDgsIDI4LCAyMjAsIDEzLCAyLCA4MCwgMiwgCisgICAgMTQwLCA3OCwgMTcsIDgsIDI4LCAyMzAsIDEwNywgMiwgMTQwLCAyLCA4MCwgNzgsIDE3LCA4LCAyOCwgMjUyLCAyMDEsIDIsIAorICAgIDgwLCAyLCA4NywgNDIsIDE3LCA4LCAyOCwgMjMyLCA0NiwgMiwgODAsIDIsIDg3LCA0MiwgMTcsIDgsIDI4LCAyMjQsIDU1LCAKKyAgICAyLCAxNzEsIDIsIDE0MCwgNzgsIDE3LCA4LCAyOCwgODAsIDIsIDIzMSwgMTY0LCAyLCA4NywgNDIsIDE3LCA4LCAyOCwgCisgICAgMjMwLCAxMDcsIDIsIDE3MSwgMiwgODAsIDc4LCAxNywgOCwgMjgsIDIzMiwgNDYsIDIsIDgwLCAyLCA4MCwgNDIsIDE3LCA4LCAKKyAgICAyOCwgMjMwLCAxMDcsIDIsIDE3MSwgMiwgODAsIDQyLCAxNywgOCwgMjgsIDIyNCwgNTUsIDIsIDE3MSwgMiwgMTQwLCA0MiwgCisgICAgMTcsIDgsIDI4LCAxNzEsIDIsIDE0MCwgMiwgODcsIDQyLCAxNywgOCwgMjgsIDE0MCwgMiwgMTcxLCAyLCA4NywgNDIsIDE3LCAKKyAgICA4LCAyOCwgODAsIDIsIDE3MSwgMiwgODcsIDQyLCAxNywgOCwgMjgsIDI0MiwgMTYsIDIsIDgwLCAyLCA4NywgNDIsIDE3LCAKKyAgICA4LCAyOCwgMjUwLCAzOSwgMiwgMTQwLCAyLCA4NywgNDIsIDE3LCA4LCAyOCwgMjMyLCA0NiwgMiwgODAsIDIsIDgwLCA3OCwgCisgICAgMTcsIDgsIDI4LCAyNTIsIDIwMSwgMiwgMTcxLCAyLCA4MCwgNzgsIDE3LCA4LCAyOCwgMjE3LCAxOTIsIDIsIDgwLCAyLCAKKyAgICA4MCwgNzgsIDE3LCA4LCAyOCwgMjE3LCA3MSwgMiwgMjMxLCAxNjQsIDIsIDg3LCA0MiwgMTcsIDgsIDI4LCAyMjQsIDU1LCAKKyAgICAyLCAxNzEsIDIsIDg3LCA0MiwgMTcsIDgsIDI4LCAyMTcsIDE2OCwgMjA5LCAxNzIsIDI1MSwgMjMyLCAyMzEsIDI1LCAyMTMsIAorICAgIDI1MiwgMywgNjEsIDE3LCA4LCAyOCwgMjIwLCA5LCAyMDksIDE3MiwgMjUxLCAyMzIsIDIzMSwgMjUsIDIxMywgMjUyLCAzLCAKKyAgICA2MSwgMTcsIDgsIDI4LCAyNTIsIDE1NSwgNjEsIDE3LCA4LCAyOCwgMjUyLCAxODYsIDYxLCAxNywgOCwgMjgsIDIyNiwgCisgICAgMTcxLCA2MSwgMTcsIDgsIDI4LCAyMTcsIDE2OSwgNjEsIDE3LCA4LCAyOCwgMjE5LCA2NywgNjEsIDE3LCA4LCAyOCwgMjUyLCAKKyAgICAxNzUsIDYxLCAxNywgOCwgMjgsIDIwNywgNzksIDYxLCAxNywgOCwgMjgsIDIxNywgMTY4LCA2MSwgMTcsIDgsIDI4LCAyMTcsIAorICAgIDE2NywgMjUyLCAxNzUsIDIwNywgNzgsIDgsIDI4LCAyMzIsIDE5MiwgMjE4LCAyMDcsIDUzLCA4LCAyOCwgMjQ5LCAyMTEsIAorICAgIDI1MiwgMzUsIDI1MiwgMzYsIDU0LCAyMTcsIDU4LCA1NCwgMjE2LCAyMDMsIDU0LCAyMTYsIDEzNSwgNTQsIDIxNiwgMTI0LCAKKyAgICA1NCwgMjE2LCAxMTMsIDU0LCAyMTYsIDEwMiwgNTQsIDIxNiwgOTEsIDU0LCAyMTYsIDgwLCA1NCwgMjE2LCA2OSwgNTQsIAorICAgIDIxNywgNTcsIDU0LCAyMTcsIDQ2LCA1NCwgMjE3LCAzNSwgNTQsIDIxNywgMjQsIDU0LCAyMTcsIDEzLCA1NCwgMjE3LCAyLCAKKyAgICA1NCwgMjE2LCAyNDcsIDIyMCwgMTMxLCAyNDEsIDEzNiwgMzMsIDc5LCAyNDcsIDE1NSwgMjIwLCAxMzEsIDI0MSwgMTM2LCAKKyAgICAzMywgNzksIDEyOCwgMjQ3LCAxNTUsIDIyMCwgMTMxLCAyNDEsIDEzNiwgMzMsIDc5LCAxMjgsIDI0MSwgODIsIDIxMywgCisgICAgMjUxLCAyMjAsIDEzMSwgMjQxLCAxMzYsIDMzLCA3OSwgMjQ3LCAxNjIsIDIyMCwgMTMxLCAyNDEsIDEzNiwgMzMsIDc5LCAKKyAgICAyMTYsIDUyLCAyMjAsIDEzMSwgMjQxLCAxMzYsIDMzLCA3OSwgMjQyLCAxNjgsIDgzLCAyMjAsIDEzMSwgMjQxLCAxMzYsIAorICAgIDMzLCA3OSwgMjE5LCAxOTYsIDgzLCAyMjAsIDEzMSwgMjQxLCAxMzYsIDMzLCA3OSwgNDcsIDU5LCAyMzAsIDE2LCAxNDUsIAorICAgIDIyMCwgMTMxLCAyNDEsIDEzNiwgMzMsIDc5LCA0OCwgNTksIDIzMCwgMTYsIDI0OSwgMTMyLCAyMjAsIDEzMSwgMjQxLCAKKyAgICAxMzYsIDMzLCA3OSwgMTk0LCAyNDMsIDU0LCAzNiwgMjgsIDQ3LCAyMzksIDEyMSwgMzYsIDI4LCA0OCwgMjM5LCAxMjEsIAorICAgIDM2LCA1MCwgMjExLCAxODEsIDQ3LCAyMzksIDEyMSwgMzYsIDUwLCAyMTEsIDE4MSwgNDgsIDIzOSwgMTIxLCAzNiwgMjI4LCAKKyAgICAxNCwgNDcsIDIzOSwgMTIxLCAzNiwgMjI4LCAxNCwgNDgsIDIzOSwgMTIxLCAzNiwgMjQ3LCAxMzAsIDIyOCwgMTMsIDM2LCAKKyAgICAyOCwgNDcsIDE2MCwgNTUsIDM2LCAyOCwgNDgsIDE2MCwgNTUsIDM2LCAyMTEsIDE4MSwgNDcsIDE2MCwgNTUsIDM2LCAyMTEsIAorICAgIDE4MSwgNDgsIDE2MCwgNTUsIDM2LCAyMjgsIDE0LCA0NywgMTYwLCA1NSwgMzYsIDIyOCwgMTQsIDQ4LCAxNjAsIDU1LCAzNiwgCisgICAgMjQ3LCAxMzAsIDIyOCwgMTQsIDU1LCAyMjAsIDEzMSwgMjQxLCAxMzYsIDMzLCA3OSwgMTE4LCA2NywgMjMwLCA1NiwgMjIwLCAKKyAgICAxMzEsIDI0MSwgMTM2LCAzMywgNzksIDI0MywgNTEsIDI0NiwgNzgsIDIyMCwgMTMxLCAyNDEsIDEzNiwgMzMsIDc5LCAyNDMsIAorICAgIDQyLCAyNDYsIDc4LCAyMjAsIDEzMSwgMjQxLCAxMzYsIDMzLCA3OSwgMTE0LCAyMjksIDIwNSwgMjIwLCAxMzEsIDI0MSwgCisgICAgMTM2LCAzMywgNzksIDIwNywgNjEsIDExNCwgMjI5LCAyMDUsIDIyMCwgMTMxLCAyNDEsIDEzNiwgMzMsIDc5LCA0NywgMjIxLCAKKyAgICAyMTYsIDIyMCwgMTMxLCAyNDEsIDEzNiwgMzMsIDc5LCA0OCwgMjIxLCAyMTYsIDIyMCwgMTMxLCAyNDEsIDEzNiwgMzMsIAorICAgIDc5LCA0NywgMjQ3LCAyNiwgMTQ1LCAyMjAsIDEzMSwgMjQxLCAxMzYsIDMzLCA3OSwgNDgsIDI0NywgMjYsIDE0NSwgMjIwLCAKKyAgICAxMzEsIDI0MSwgMTM2LCAzMywgNzksIDQ3LCAyMTEsIDkzLCAyMTUsIDIwNCwgMTQ1LCAyMjAsIDEzMSwgMjQxLCAxMzYsIAorICAgIDMzLCA3OSwgNDgsIDIxMSwgOTMsIDIxNSwgMjA0LCAxNDUsIDIyMCwgMTMxLCAyNDEsIDEzNiwgMzMsIDc5LCA0NywgNjAsIAorICAgIDIzMCwgMTYsIDE0NSwgMjIwLCAxMzEsIDI0MSwgMTM2LCAzMywgNzksIDQ4LCA2MCwgMjMwLCAxNiwgMTQ1LCAyMjAsIDEzMSwgCisgICAgMjQxLCAxMzYsIDMzLCA3OSwgNDcsIDUwLCAyNTIsIDEwOSwgMTQ1LCAyMjAsIDEzMSwgMjQxLCAxMzYsIDMzLCA3OSwgNDgsIAorICAgIDUwLCAyNTIsIDEwOSwgMTQ1LCAyMjAsIDEzMSwgMjQxLCAxMzYsIDMzLCA3OSwgNDcsIDI1MiwgMTA5LCAxNDUsIDIyMCwgCisgICAgMTMxLCAyNDEsIDEzNiwgMzMsIDc5LCA0OCwgMjUyLCAxMDksIDE0NSwgMjIwLCAxMzEsIDI0MSwgMTM2LCAzMywgNzksIDQ3LCAKKyAgICAyNDcsIDkyLCAxNDUsIDIyMCwgMTMxLCAyNDEsIDEzNiwgMzMsIDc5LCA0OCwgMjQ3LCA5MiwgMTQ1LCAyMjAsIDEzMSwgCisgICAgMjQxLCAxMzYsIDMzLCA3OSwgNDcsIDU5LCAyNDcsIDkyLCAxNDUsIDIyMCwgMTMxLCAyNDEsIDEzNiwgMzMsIDc5LCA0OCwgCisgICAgNTksIDI0NywgOTIsIDE0NSwgMjE2LCAzMiwgMjQ1LCAyMywgNTksIDIxNiwgMzIsIDI0NSwgMjMsIDIyMCwgMTMxLCAyNDEsIAorICAgIDEzNiwgMzMsIDc5LCA0NywgNDksIDE0NSwgMjIwLCAxMzEsIDI0MSwgMTM2LCAzMywgNzksIDQ4LCA0OSwgMTQ1LCAyNDYsIAorICAgIDc3LCAyMjIsIDgxLCAyNDgsIDEyNSwgMjIyLCA4MSwgMjA3LCA2MSwgMjIyLCA4MSwgNTAsIDIwNywgNjEsIDIyMiwgODEsIAorICAgIDI0NiwgNzcsIDExNCwgMjI5LCAyMDUsIDI0OCwgMTI1LCAxMTQsIDIyOSwgMjA1LCAyMDcsIDYxLCAxMTQsIDIyOSwgMjA1LCAKKyAgICA1LCAyNDcsIDE1NSwgNSwgMTI4LCAyNDcsIDE1NSwgNSwgMjQxLCA4MiwgMjEzLCAyNTEsIDUsIDIxNiwgNTIsIDUsIDI0NywgCisgICAgMTYyLCA1LCAyMTksIDE5NiwgODMsIDUsIDI0MiwgMTY4LCA4MywgNSwgMjQzLCA1MSwgMjQ2LCA3OCwgNSwgNDcsIDIyMSwgCisgICAgMjE2LCA1LCA0OCwgMjIxLCAyMTYsIDUsIDQ3LCAyNDcsIDI2LCAxNDUsIDUsIDQ4LCAyNDcsIDI2LCAxNDUsIDUsIDQ3LCAKKyAgICAyMTEsIDkzLCAyMTUsIDIwNCwgMTQ1LCA1LCA0OCwgMjExLCA5MywgMjE1LCAyMDQsIDE0NSwgNSwgNDMsIDUzLCA1LCAyNTIsIAorICAgIDEyNSwgNSwgMjUxLCAyMDksIDUsIDEwMSwgNTMsIDUsIDIzNywgMjM4LCA1LCAyMzAsIDEwLCA1MywgNSwgMjM5LCAyMzAsIAorICAgIDUzLCA1LCAyNDIsIDI0MiwgNTMsIDUsIDIxOCwgMjI1LCAyMTQsIDE4MCwgNSwgMjQ1LCAzNSwgNTMsIDUsIDIyMSwgMTMxLCAKKyAgICA1MywgNSwgMjQ3LCAxNTMsIDI1MSwgMTk5LCA4LCAyNDIsIDM4LCA2MSwgMTcsIDgsIDIxMiwgMTU0LCAyLCAyNDIsIDM4LCAKKyAgICA1MiwgOCwgMjQ2LCAxMDUsIDYxLCAxNywgOCwgMjEyLCAxOTIsIDI0MSwgMTE1LCA4LCAyMzEsIDI1MSwgNjEsIDE3LCA4LCAKKyAgICAyNDIsIDQwLCA2MSwgMTcsIDgsIDI0MiwgNDAsIDE2OSwgMTcsIDgsIDI0NiwgMTA3LCA2MSwgMTcsIDgsIDI0NiwgMTA3LCAKKyAgICAxNjksIDE3LCA4LCAyMzEsIDI1MywgNjEsIDE3LCA4LCAyMzEsIDI1MywgMTY5LCAxNywgOCwgMjE1LCAyNTAsIDYxLCAxNywgCisgICAgOCwgMjE1LCAyNTAsIDE2OSwgMTcsIDgsIDIxMywgMTYzLCA2MSwgMTcsIDgsIDIxMywgMTYzLCAxNjksIDE3LCA4LCAxLCAKKyAgICAyMzksIDExMiwgNjEsIDE3LCA4LCAxLCAxMjYsIDIsIDIyOCwgOSwgODQsIDYxLCAxNywgOCwgMSwgMTI2LCAyLCAyMjgsIDksIAorICAgIDg0LCA0MiwgMTcsIDgsIDEsIDEyNiwgMiwgMjM5LCAxMTIsIDg0LCA2MSwgMTcsIDgsIDEsIDEyNiwgMiwgMjM5LCAxMTIsIAorICAgIDg0LCA0MiwgMTcsIDgsIDEsIDIwNywgNjAsIDIsIDIzOSwgMTEyLCA4NCwgNjEsIDE3LCA4LCAxLCAyMDcsIDYwLCAyLCAKKyAgICAyMzksIDExMiwgODQsIDQyLCAxNywgOCwgMSwgMTI2LCAyLCAyMzksIDExMiwgMjUwLCAyNiwgNjEsIDE3LCA4LCAxLCAxMjYsIAorICAgIDIsIDIzOSwgMTEyLCAyNTAsIDI2LCA0MiwgMTcsIDgsIDEsIDg3LCAyLCAyMzksIDExMiwgODQsIDYxLCAxNywgOCwgMSwgCisgICAgODcsIDIsIDIzOSwgMTEyLCA4NCwgNDIsIDE3LCA4LCAxLCA4NywgMiwgMjM5LCAxMTIsIDg0LCA3OCwgMTcsIDgsIDEsIDg3LCAKKyAgICAyLCAyMzksIDExMiwgODQsIDE2OSwgMTcsIDgsIDEsIDEyNiwgNjEsIDE3LCA4LCAxLCAxMjYsIDQyLCAxNywgOCwgMSwgCisgICAgMjUwLCAzOSwgNjEsIDE3LCA4LCAxLCAyNTAsIDM5LCA0MiwgMTcsIDgsIDEsIDI1MCwgMzksIDc4LCAxNywgOCwgMSwgMjUwLCAKKyAgICAzOSwgMTY5LCAxNywgOCwgMSwgMjEyLCAxMTYsIDIyNywgMTk4LCA2MSwgMTcsIDgsIDEsIDIxMiwgMTE2LCAyMjcsIDE5OCwgCisgICAgNDIsIDE3LCA4LCAxLCAyMTIsIDExNiwgNjEsIDE3LCA4LCAxLCAyMTIsIDExNiwgNDIsIDE3LCA4LCAxLCAyMTIsIDExNiwgCisgICAgNzgsIDE3LCA4LCAxLCAyMTIsIDExNiwgMTY5LCAxNywgOCwgMSwgMjEyLCAzOCwgNjEsIDE3LCA4LCAxLCAyMTIsIDM4LCAKKyAgICA0MiwgMTcsIDgsIDEsIDIxMiwgMzgsIDc4LCAxNywgOCwgMSwgMjEyLCAzOCwgMTY5LCAxNywgOCwgMSwgMTcxLCA2MSwgMTcsIAorICAgIDgsIDEsIDE3MSwgNDIsIDE3LCA4LCAxLCAxNzEsIDc4LCAxNywgOCwgMSwgMTcxLCAxNjksIDE3LCA4LCAxLCAxNDAsIDYxLCAKKyAgICAxNywgOCwgMSwgMTQwLCA0MiwgMTcsIDgsIDEsIDE0MCwgNzgsIDE3LCA4LCAxLCAxNDAsIDE2OSwgMTcsIDgsIDEsIDIzMSwgCisgICAgMTY0LCA2MSwgMTcsIDgsIDEsIDIzMSwgMTY0LCA0MiwgMTcsIDgsIDEsIDIzMSwgMTY0LCA3OCwgMTcsIDgsIDEsIDIzMSwgCisgICAgMTY0LCAxNjksIDE3LCA4LCAxLCAyNDYsIDExOCwgNjEsIDE3LCA4LCAxLCAyNDYsIDExOCwgNDIsIDE3LCA4LCAxLCAyMTIsIAorICAgIDUwLCA2MSwgMTcsIDgsIDEsIDIxMiwgNTAsIDQyLCAxNywgOCwgMSwgMjE5LCAxNywgNjEsIDE3LCA4LCAxLCAyMTksIDE3LCAKKyAgICA0MiwgMTcsIDgsIDEsIDIwNSwgMTA5LCA2MSwgMTcsIDgsIDEsIDIwNSwgMTA5LCA0MiwgMTcsIDgsIDEsIDIxNywgNzEsIAorICAgIDYxLCAxNywgOCwgMSwgMjE3LCA3MSwgNDIsIDE3LCA4LCAxLCAyMTcsIDcxLCA3OCwgMTcsIDgsIDEsIDIxNywgNzEsIDE2OSwgCisgICAgMTcsIDgsIDEsIDIxNSwgMjExLCA2MSwgMTcsIDgsIDEsIDIxNSwgMjExLCA0MiwgMTcsIDgsIDEsIDIxNSwgMjExLCA3OCwgCisgICAgMTcsIDgsIDEsIDIxNSwgMjExLCAxNjksIDE3LCA4LCAxLCAyMTcsIDE5MiwgNjEsIDE3LCA4LCAxLCAyMTcsIDE5MiwgNDIsIAorICAgIDE3LCA4LCAxLCAyMTcsIDE5MiwgNzgsIDE3LCA4LCAxLCAyMTcsIDE5MiwgMTY5LCAxNywgOCwgMSwgMjQ2LCAxNDEsIDYxLCAKKyAgICAxNywgOCwgMSwgMjQ2LCAxNDEsIDQyLCAxNywgOCwgMSwgMjQ2LCAxNDEsIDc4LCAxNywgOCwgMSwgMjQ2LCAxNDEsIDE2OSwgCisgICAgMTcsIDgsIDEsIDIxMiwgMTk1LCA2MSwgMTcsIDgsIDEsIDIxMiwgMTk1LCA0MiwgMTcsIDgsIDEsIDIxMiwgMTk1LCA3OCwgCisgICAgMTcsIDgsIDEsIDIxMiwgMTk1LCAxNjksIDE3LCA4LCAxLCAyMDUsIDExMiwgNjEsIDE3LCA4LCAxLCAyMDUsIDExMiwgNDIsIAorICAgIDE3LCA4LCAxLCAyMDUsIDExMiwgNzgsIDE3LCA4LCAxLCAyMDUsIDExMiwgMTY5LCAxNywgOCwgMSwgMjUyLCAyMDEsIDYxLCAKKyAgICAxNywgOCwgMSwgMjUyLCAyMDEsIDQyLCAxNywgOCwgMSwgMjUyLCAyMDEsIDc4LCAxNywgOCwgMSwgMjUyLCAyMDEsIDE2OSwgCisgICAgMTcsIDgsIDEsIDI0MCwgOTUsIDYxLCAxNywgOCwgMSwgMjQwLCA5NSwgNDIsIDE3LCA4LCAxLCAyNDAsIDk1LCA3OCwgMTcsIAorICAgIDgsIDEsIDI0MCwgOTUsIDE2OSwgMTcsIDgsIDEsIDI0MiwgMTYsIDYxLCAxNywgOCwgMSwgMjQyLCAxNiwgNDIsIDE3LCA4LCAKKyAgICAxLCAyNDIsIDE2LCA3OCwgMTcsIDgsIDEsIDI0MiwgMTYsIDE2OSwgMTcsIDgsIDEsIDIyMCwgMTMsIDYxLCAxNywgOCwgMSwgCisgICAgMjIwLCAxMywgNDIsIDE3LCA4LCAxLCAyMjAsIDEzLCA3OCwgMTcsIDgsIDEsIDIyMCwgMTMsIDE2OSwgMTcsIDgsIDEsIAorICAgIDIzMiwgNDYsIDYxLCAxNywgOCwgMSwgMjMyLCA0NiwgNDIsIDE3LCA4LCAxLCAyMzIsIDQ2LCA3OCwgMTcsIDgsIDEsIDIzMiwgCisgICAgNDYsIDE2OSwgMTcsIDgsIDEsIDIzMCwgMTA3LCA2MSwgMTcsIDgsIDEsIDIzMCwgMTA3LCA0MiwgMTcsIDgsIDEsIDIzMCwgCisgICAgMTA3LCA3OCwgMTcsIDgsIDEsIDIzMCwgMTA3LCAxNjksIDE3LCA4LCAxLCA4MCwgNjEsIDE3LCA4LCAxLCA4MCwgNDIsIDE3LCAKKyAgICA4LCAxLCA4MCwgNzgsIDE3LCA4LCAxLCA4MCwgMTY5LCAxNywgOCwgMSwgMjI0LCA1NSwgNjEsIDE3LCA4LCAxLCAyMjQsIAorICAgIDU1LCA0MiwgMTcsIDgsIDEsIDIyNCwgNTUsIDc4LCAxNywgOCwgMSwgMjI0LCA1NSwgMTY5LCAxNywgOCwgMSwgMjM5LCA1MSwgCisgICAgNjEsIDE3LCA4LCAxLCAyMzksIDUxLCA0MiwgMTcsIDgsIDEsIDIzOSwgNTEsIDc4LCAxNywgOCwgMSwgMjM5LCA1MSwgMTY5LCAKKyAgICAxNywgOCwgMSwgMjA3LCA2MCwgNjEsIDE3LCA4LCAxLCAyMDcsIDYwLCA0MiwgMTcsIDgsIDEsIDEyNiwgMjI3LCAyMjksIAorICAgIDYxLCAxNywgOCwgMSwgMTI2LCAyMjcsIDIyOSwgNDIsIDE3LCA4LCAxLCA4NywgNjEsIDE3LCA4LCAxLCA4NywgNDIsIDE3LCAKKyAgICA4LCAxLCA4NywgNzgsIDE3LCA4LCAxLCA4NywgMTY5LCAxNywgOCwgMjgsIDIzMCwgMTA3LCAyLCAxMjYsIDIsIDIyOCwgOSwgCisgICAgODQsIDYxLCAxNywgOCwgMjgsIDIzMCwgMTA3LCAyLCAxMjYsIDIsIDIyOCwgOSwgODQsIDQyLCAxNywgOCwgMjgsIDIzMCwgCisgICAgMTA3LCAyLCAxMjYsIDIsIDIzOSwgMTEyLCA4NCwgNjEsIDE3LCA4LCAyOCwgMjMwLCAxMDcsIDIsIDEyNiwgMiwgMjM5LCAKKyAgICAxMTIsIDg0LCA0MiwgMTcsIDgsIDI4LCAyMzAsIDEwNywgMiwgMTI2LCAyLCAyMzksIDExMiwgMjUwLCAyNiwgNjEsIDE3LCAKKyAgICA4LCAyOCwgMjMwLCAxMDcsIDIsIDEyNiwgMiwgMjM5LCAxMTIsIDI1MCwgMjYsIDQyLCAxNywgOCwgMjgsIDIzMCwgMTA3LCAKKyAgICAyLCAxMjYsIDYxLCAxNywgOCwgMjgsIDIzMCwgMTA3LCAyLCAxMjYsIDQyLCAxNywgMjA1LCA4NiwgMjA3LCAxNSwgMjI0LCAKKyAgICA2NiwgMjE0LCAxNTMsIDE0NCwgMjQyLCAxNjgsIDgzLCAxNDQsIDIxOSwgMTgwLCA4MywgMTQ0LCA0MywgNTMsIDE0NCwgCisgICAgMjQ1LCAzNSwgNTMsIDE0NCwgMjIxLCAxMzEsIDUzLCAxNDQsIDI1MiwgMTI1LCAxNDQsIDI1MiwgNTMsIDE0NCwgNDcsIAorICAgIDIyMSwgMjE2LCAxNDQsIDQ4LCAyMjEsIDIxNiwgMTQ0LCAyNTEsIDIwOSwgMTQ0LCAxMDEsIDUzLCAxNDQsIDI0NywgMTU1LCAKKyAgICAxNDQsIDIzNywgMjM4LCAxNDQsIDI0MSwgODIsIDIxMywgMjUxLCAxNDQsIDIxNCwgMTgwLCAxNDQsIDE4LCAyMDUsIDg1LCAKKyAgICAxNDQsIDE4LCAxMDIsIDE0NCwgMTgsIDEwNSwgMTQ0LCAxOCwgMTQyLCAxNDQsIDE4LCAxMzksIDE0NCwgMTgsIDE2OCwgCisgICAgMTQ0LCAxOCwgMTg0LCAxNDQsIDE4LCAxOTUsIDE0NCwgMTgsIDE5MywgMTQ0LCAxOCwgMjAwLCAxNDQsIDI0NywgMTYyLCAKKyAgICAxNDQsIDIxNiwgNTIsIDE0NCwgMjMwLCAxMCwgNTMsIDE0NCwgMjQyLCAyNDIsIDUzLCAxNDQsIDIzOSwgMjMwLCA1MywgCisgICAgMTQ0LCAyMTksIDE5NiwgODMsIDE0NCwgMjQ3LCAxNTMsIDI1MSwgMTk5LCAxNDQsIDcsIDYsIDEsIDYyLCAxNDQsIDcsIDYsIAorICAgIDEsIDI1MSwgMTUwLCAxNDQsIDcsIDYsIDEsIDI0OSwgMzQsIDE0NCwgNywgNiwgMSwgMjQ2LCAyNDAsIDE0NCwgNywgNiwgMSwgCisgICAgNzUsIDE0NCwgNywgNiwgMSwgMjQyLCAxMzksIDE0NCwgNywgNiwgMSwgMjQxLCA1NSwgMTQ0LCA3LCA2LCAxLCAyMzksIAorICAgIDE1NSwgMTQ0LCA3LCA2LCAxLCA3NCwgMTQ0LCA3LCA2LCAxLCAyMzIsIDIwMywgMTQ0LCA3LCA2LCAxLCAyMzIsIDc2LCAKKyAgICAxNDQsIDcsIDYsIDEsIDE0OSwgMTQ0LCA3LCA2LCAxLCAyMjksIDI4LCAxNDQsIDcsIDYsIDEsIDIyNiwgMzMsIDE0NCwgNywgCisgICAgNiwgMSwgNzYsIDE0NCwgNywgNiwgMSwgMjIyLCA2NywgMTQ0LCA3LCA2LCAxLCAyMjAsIDI3LCAxNDQsIDcsIDYsIDEsIAorICAgIDEzNywgMTQ0LCA3LCA2LCAxLCAxODIsIDE0NCwgNywgNiwgMSwgMjEzLCAxMCwgMTQ0LCA3LCA2LCAxLCA3MSwgMTQ0LCA3LCAKKyAgICA2LCAxLCAyMDksIDE0OCwgMTQ0LCA3LCA2LCAxLCAyMDcsIDEyOSwgMTQ0LCA3LCA2LCAxLCAyMDYsIDE5NSwgMTQ0LCA3LCAKKyAgICA2LCAxLCAyMDYsIDEyMywgMTQ0LCA3LCA2LCAxLCAyMDUsIDE1OSwgMTQ0LCA0NywgNDksIDE0NSwgMTQ0LCAyMTgsIDIyNSwgCisgICAgMjE0LCAxODAsIDE0NCwgNDgsIDQ5LCAxNDUsIDE0NCwgMjQ3LCAyMjgsIDI1MywgMjEsIDE0NCwgMTE0LCAyMjksIDIwNSwgCisgICAgMTQ0LCAyMzksIDIzNywgMjUzLCAyMSwgMTQ0LCA3LCA1LCAxLCA2MiwgMTQ0LCA3LCA1LCAxLCAyNTEsIDE1MCwgMTQ0LCA3LCAKKyAgICA1LCAxLCAyNDksIDM0LCAxNDQsIDcsIDUsIDEsIDI0NiwgMjQwLCAxNDQsIDcsIDUsIDEsIDc1LCAxNDQsIDcsIDUsIDEsIAorICAgIDI0MiwgMTM5LCAxNDQsIDcsIDUsIDEsIDI0MSwgNTUsIDE0NCwgNywgNSwgMSwgMjM5LCAxNTUsIDE0NCwgNywgNSwgMSwgCisgICAgNzQsIDE0NCwgNywgNSwgMSwgMjMyLCAyMDMsIDE0NCwgNywgNSwgMSwgMjMyLCA3NiwgMTQ0LCA3LCA1LCAxLCAxNDksIAorICAgIDE0NCwgNywgNSwgMSwgMjI5LCAyOCwgMTQ0LCA3LCA1LCAxLCAyMjYsIDMzLCAxNDQsIDcsIDUsIDEsIDc2LCAxNDQsIDcsIAorICAgIDUsIDEsIDIyMiwgNjcsIDE0NCwgNywgNSwgMSwgMjIwLCAyNywgMTQ0LCA3LCA1LCAxLCAxMzcsIDE0NCwgNywgNSwgMSwgCisgICAgMTgyLCAxNDQsIDcsIDUsIDEsIDIxMywgMTAsIDE0NCwgNywgNSwgMSwgNzEsIDE0NCwgNywgNSwgMSwgMjA5LCAxNDgsIAorICAgIDE0NCwgNywgNSwgMSwgMjA3LCAxMjksIDE0NCwgNywgNSwgMSwgMjA2LCAxOTUsIDE0NCwgNywgNSwgMSwgMjA2LCAxMjMsIAorICAgIDE0NCwgNywgNSwgMSwgMjA1LCAxNTksIDE0NCwgNDcsIDI0NywgMjYsIDE0NSwgMTQ0LCA3OSwgMjI5LCAyMDUsIDE0NCwgCisgICAgNDgsIDI0NywgMjYsIDE0NSwgMTQ0LCAyMTEsIDE4MCwgMTQ0LCA0NywgNTksIDIyMSwgMjE2LCAxNDQsIDQ4LCA1OSwgMjIxLCAKKyAgICAyMTYsIDExNiwgMTI4LCAyNDEsIDgyLCAyMTMsIDI1MSwgMTE2LCA0NywgMjQ3LCA5MiwgMTQ1LCAxMTYsIDQ4LCAyNDcsIAorICAgIDkyLCAxNDUsIDExNiwgMTI4LCAyNDcsIDE1NSwgMTE2LCA2NCwgMjI2LCAyNDcsIDI0NSwgMjMsIDExNiwgNjQsIDEsIDIwNiwgCisgICAgMjUwLCAxMTYsIDY0LCAxLCA1LCA2MiwgMTE2LCA2NCwgMSwgNSwgNzQsIDExNiwgNjQsIDEsIDUsIDcxLCAxMTYsIDY0LCAxLCAKKyAgICA1LCA3NSwgMTE2LCA2NCwgMSwgNSwgNzYsIDExNiwgNjQsIDEsIDUsIDE5MCwgMTE2LCA2NCwgMSwgNSwgMjA1LCAyMTMsIAorICAgIDExNiwgNjQsIDEsIDUsIDIwNSwgMjQ3LCAxMTYsIDY0LCAxLCA1LCAyMTAsIDE3MCwgMTE2LCAyMzEsIDI0OCwgMjIwLCAKKyAgICAxMDYsIDIxNCwgMTY1LCA4MywgMTE2LCA2NCwgMSwgNjIsIDExNiwgNjQsIDEsIDc0LCAxMTYsIDY0LCAxLCA3MSwgMTE2LCAKKyAgICA2NCwgMSwgNzUsIDExNiwgNjQsIDEsIDc2LCAxMTYsIDY0LCAxLCAxNzIsIDExNiwgNjQsIDEsIDIzMSwgMTIzLCAxMTYsIAorICAgIDY0LCAxLCAyMzAsIDIzNiwgMTE2LCA2NCwgMSwgMjMxLCAyMjQsIDExNiwgNjQsIDEsIDIzMSwgNTMsIDExNiwgNjQsIDEsIAorICAgIDIxNywgMTk5LCAxMTYsIDY0LCAxLCAyMTUsIDgwLCAxMTYsIDY0LCAxLCAyMTMsIDIwMywgMTE2LCA2NCwgMSwgMjE3LCA4NiwgCisgICAgMTE2LCA2NCwgMSwgMjE0LCAxOTMsIDExNiwgNjQsIDEsIDIxMiwgMjE5LCAxMTYsIDY0LCAxLCAyMTEsIDIxMSwgMTE2LCAKKyAgICA2NCwgMSwgMjEwLCAxNzAsIDExNiwgNjQsIDEsIDIxMiwgMTMxLCAxMTYsIDY0LCAxLCAxMjQsIDExNiwgNjQsIDEsIDE5OSwgCisgICAgMTE2LCA2NCwgMSwgMjI0LCAyMzAsIDExNiwgNjQsIDEsIDIyMywgMjE3LCAxMTYsIDY0LCAxLCAyMjUsIDExMCwgMTE2LCAKKyAgICA2NCwgMSwgMjI0LCA2NywgMTE2LCA2NCwgMSwgMTU1LCAxMTYsIDY0LCAxLCAyMzksIDExLCAxMTYsIDY0LCAxLCAyMzgsIAorICAgIDQyLCAxMTYsIDY0LCAxLCAyMzksIDcxLCAxMTYsIDY0LCAxLCAyMzgsIDE0OSwgMTE2LCA2NCwgMSwgMTg1LCAxMTYsIDY0LCAKKyAgICAxLCAyMjYsIDI1NCwgMTE2LCA2NCwgMSwgMjI2LCAxMTQsIDExNiwgNjQsIDEsIDIyNywgMTE5LCAxMTYsIDY0LCAxLCAyMjYsIAorICAgIDE4MSwgMTE2LCA2NCwgMSwgMTkwLCAxMTYsIDY0LCAxLCAyMDUsIDIxMywgMTE2LCA2NCwgMSwgMjA1LCAyNDcsIDExNiwgCisgICAgNjQsIDEsIDIxOSwgMTEzLCAxMTYsIDY0LCAxLCAyMTgsIDIwOCwgMTE2LCA2NCwgMSwgMjE4LCA1MCwgMTE2LCA2NCwgMSwgCisgICAgMjE5LCA1MSwgMTE2LCA2NCwgMSwgMjE4LCAxMjQsIDExNiwgNjQsIDEsIDIwNywgOTYsIDExNiwgNjQsIDEsIDIyNiwgMzMsIAorICAgIDExNiwgNjQsIDIwOCwgMTcwLCAyMTQsIDE2NSwgODMsIDExNiwgNjQsIDIxNiwgNTcsIDIxNCwgMTY1LCA4MywgMTE2LCAyNSwgCisgICAgMjQxLCAyMzIsIDExNiwgMjUsIDEsIDIzMSwgODQsIDExNiwgMjUsIDEsIDIxNCwgODgsIDExNiwgMjUsIDEsIDIzMSwgNzcsIAorICAgIDExNiwgMjUsIDEsIDIyNCwgMjIzLCAxMTYsIDI1LCAxLCAyMjQsIDIyMSwgMTE2LCAyNSwgMSwgMjI0LCAyMjAsIDExNiwgCisgICAgMjUsIDEsIDIxMSwgMTkzLCAxMTYsIDI1LCAxLCAyMTQsIDc3LCAxMTYsIDI1LCAxLCAyMTgsIDE5OCwgMTE2LCAyNSwgMSwgCisgICAgMjE4LCAxOTMsIDExNiwgMjUsIDEsIDIxOCwgMTkwLCAxMTYsIDI1LCAxLCAyMTgsIDE4MywgMTE2LCAyNSwgMSwgMjE4LCAKKyAgICAxNzgsIDExNiwgMjUsIDEsIDIxOCwgMTczLCAxMTYsIDI1LCAxLCAyMTgsIDE4NCwgMTE2LCAyNSwgMSwgMjE4LCAxOTYsIAorICAgIDExNiwgMjUsIDEsIDIyNiwgMjQwLCAxMTYsIDI1LCAxLCAyMjEsIDM5LCAxMTYsIDI1LCAxLCAyMTQsIDg1LCAxMTYsIDI1LCAKKyAgICAxLCAyMjEsIDI4LCAxMTYsIDI1LCAxLCAyMTUsIDMzLCAxMTYsIDI1LCAxLCAyMTQsIDgyLCAxMTYsIDI1LCAxLCAyMzMsIAorICAgIDEyNSwgMTE2LCAyNSwgMSwgMjQ3LCAyNDYsIDExNiwgMjUsIDEsIDIxNCwgOTIsIDExNiwgMjUsIDEsIDI0OCwgNTQsIDExNiwgCisgICAgMjUsIDEsIDIzMSwgMTQzLCAxMTYsIDI1LCAxLCAyMTIsIDE1LCAxMTYsIDI1LCAxLCAyMjEsIDc2LCAxMTYsIDI1LCAxLCAKKyAgICAyMzksIDMsIDExNiwgMjUsIDEsIDYyLCAxMTYsIDI1LCAxLCAyNTIsIDI0OCwgMTE2LCAyNSwgMSwgMTkwLCAxMTYsIDI1LCAKKyAgICAxLCAyMDYsIDk4LCAxMTYsIDI1LCAxLCAyNDMsIDYsIDExNiwgMjUsIDEsIDc1LCAxMTYsIDI1LCAxLCAyMDYsIDM5LCAxMTYsIAorICAgIDI1LCAxLCAyMDYsIDUyLCAxMTYsIDI1LCAxLCA3NiwgMTE2LCAyNSwgMSwgMjA3LCA5NiwgMTE2LCAyNSwgMSwgMjA3LCA5MiwgCisgICAgMTE2LCAyNSwgMSwgMjIyLCAyMDYsIDExNiwgMjUsIDEsIDIwNSwgMjQ3LCAxMTYsIDI1LCAxLCA3MSwgMTE2LCAyNSwgMSwgCisgICAgMjA3LCAzOCwgMTE2LCAyNSwgMSwgMjA3LCA1MSwgMTE2LCAyNSwgMSwgMjA3LCAyMCwgMTE2LCAyNSwgMSwgMjA1LCAyMTMsIAorICAgIDExNiwgMjUsIDEsIDI0MiwgMTkyLCAxMTYsIDI1LCAxLCAyMDYsIDExLCAxMTYsIDI1LCAxLCA3NCwgMTQ0LCAyNDgsIDEzMSwgCisgICAgNTMsIDE0NCwgMjIwLCAxNjUsIDUzLCAxNDQsIDIyNCwgNDMsIDUzLCAxNDQsIDIyOCwgMTMsIDE0NCwgMjQ5LCAxMTEsIAorICAgIDEzNCwgMTQ0LCAyMDYsIDQzLCA1MywgMTQ0LCAyMDYsIDI0MCwgNTMsIDExNiwgMjQxLCAxMzMsIDE0NywgMjA5LCAyMiwgCisgICAgMTE2LCA5MiwgNDUsIDExNiwgMTY3LCA0NSwgMTE2LCA4NiwgNDUsIDExNiwgMTczLCA0NSwgMTE2LCA2MCwgMjE0LCAxMDcsIAorICAgIDExNiwgNTksIDI0NywgMjMzLCAyMzMsIDE0LCAyNTIsIDk4LCAyNTIsIDExOSwgMjMzLCAxNCwgMjUyLCA5OCwgMjE2LCAzOSwgCisgICAgMjMzLCAxNCwgMjUyLCA5OCwgMjEyLCA4NiwgMjIyLCAyMjMsIDIxOCwgMjQ3LCAyNDgsIDk0LCAyMTgsIDI0NywgMjQ4LCAKKyAgICA5NCwgMjYsIDYzLCA0LCAyNTEsIDEzNCwgNjIsIDI2LCA2MywgNCwgMjUxLCAxMDMsIDc1LCAyNiwgNjMsIDQsIDI1MSwgCisgICAgMTEyLCA3NCwgMjYsIDYzLCA0LCAyNTEsIDgwLCA3NiwgMjYsIDYzLCA0LCAyNTEsIDEzMCwgNzEsIDI2LCA2MywgNCwgMjUxLCAKKyAgICAxNDksIDI0NiwgMTQ1LCAyNiwgNjMsIDQsIDI1MSwgOTYsIDI0NiwgOSwgMjYsIDYzLCA0LCAyNTEsIDEzNiwgMjQ1LCAxNjgsIAorICAgIDI2LCA2MywgNCwgMjUxLCAxMjYsIDI0NSwgNTEsIDI2LCA2MywgNCwgMjUxLCA5MCwgMjQzLCAyMzcsIDI2LCA2MywgNCwgCisgICAgMjUxLCA4NCwgMjMyLCAyMDAsIDI2LCA2MywgNCwgMjUxLCA5NSwgMjMyLCAxODIsIDI2LCA2MywgNCwgMjUxLCAxMDUsIAorICAgIDIzMiwgMTIyLCAyNiwgNjMsIDQsIDI1MSwgNzYsIDIzMiwgMTA0LCAyNiwgNjMsIDQsIDI1MSwgNjQsIDE3MiwgMjYsIDYzLCAKKyAgICA0LCAyNTEsIDk3LCAyMzEsIDIyNCwgMjYsIDYzLCA0LCAyNTEsIDc0LCAyMzEsIDEyMywgMjYsIDYzLCA0LCAyNTEsIDcxLCAKKyAgICAyMzEsIDUzLCAyNiwgNjMsIDQsIDI1MSwgNjAsIDIzMCwgMjM2LCAyNiwgNjMsIDQsIDI1MSwgNjEsIDE4NSwgMjYsIDYzLCAKKyAgICA0LCAyNTEsIDEyNywgMjI3LCAxMTksIDI2LCA2MywgNCwgMjUxLCA2OCwgMjI2LCAyNTQsIDI2LCA2MywgNCwgMjUxLCAxMjUsIAorICAgIDIyNiwgMTgxLCAyNiwgNjMsIDQsIDI1MSwgMTE3LCAyMjYsIDExNCwgMjYsIDYzLCA0LCAyNTEsIDEzOCwgMTk5LCAyNiwgCisgICAgNjMsIDQsIDI1MSwgMTE2LCAyMjUsIDExMCwgMjYsIDYzLCA0LCAyNTEsIDExMCwgMjI0LCAyMzAsIDI2LCA2MywgNCwgMjUxLCAKKyAgICA4OSwgMjI0LCA2NywgMjYsIDYzLCA0LCAyNTEsIDg2LCAyMjMsIDIxNywgMjYsIDYzLCA0LCAyNTEsIDE0NSwgMTc5LCAyNiwgCisgICAgNjMsIDQsIDI1MSwgNjksIDIyMSwgMTc0LCAyNiwgNjMsIDQsIDI1MSwgMTAyLCAyMjEsIDUzLCAyNiwgNjMsIDQsIDI1MSwgCisgICAgMTI5LCAyMjAsIDIxMSwgMjYsIDYzLCA0LCAyNTEsIDkxLCAyMjAsIDgyLCAyNiwgNjMsIDQsIDI1MSwgMTI0LCAyMjAsIDE5LCAKKyAgICAyNiwgNjMsIDQsIDI1MSwgNjMsIDIxOSwgMjU1LCAyNiwgNjMsIDQsIDI1MSwgMTE5LCAyMTksIDIzNywgMjYsIDYzLCA0LCAKKyAgICAyNTEsIDEwOCwgMjE5LCAyMjYsIDI2LCA2MywgNCwgMjUxLCA4MSwgMjE5LCAxMTMsIDI2LCA2MywgNCwgMjUxLCAxMTMsIAorICAgIDIxOSwgNTEsIDI2LCA2MywgNCwgMjUxLCA4OCwgMjE4LCAyMDgsIDI2LCA2MywgNCwgMjUxLCAxNDcsIDIxOCwgMTI0LCAyNiwgCisgICAgNjMsIDQsIDI1MSwgMTE0LCAyMTgsIDUwLCAyNiwgNjMsIDQsIDI1MSwgMTA5LCAyMTcsIDE5OSwgMjYsIDYzLCA0LCAyNTEsIAorICAgIDEzMiwgMjE3LCA4NiwgMjYsIDYzLCA0LCAyNTEsIDEwMCwgMjE1LCA4MCwgMjYsIDYzLCA0LCAyNTEsIDEyOCwgMjE0LCAKKyAgICAxOTMsIDI2LCA2MywgNCwgMjUxLCA4MywgMjEzLCAyMDMsIDI2LCA2MywgNCwgMjUxLCA4MiwgMjEyLCAyMTksIDI2LCA2MywgCisgICAgNCwgMjUxLCAxNDMsIDIxMiwgMTMxLCAyNiwgNjMsIDQsIDI1MSwgMTA0LCAyMTEsIDIxMSwgMjYsIDYzLCA0LCAyNTEsIAorICAgIDE0MSwgMTI0LCAyNiwgNjMsIDQsIDI1MSwgNzIsIDIxMCwgMTcwLCAyNiwgNjMsIDQsIDI1MSwgODcsIDIwNywgOTYsIDI2LCAKKyAgICA2MywgNCwgMjUxLCA2NiwgMjA3LCA1MSwgMjYsIDYzLCA0LCAyNTEsIDEwMSwgMjA3LCAyMCwgMjYsIDYzLCA0LCAyNTEsIAorICAgIDk5LCAyMDYsIDI1MCwgMjYsIDYzLCA0LCAyNTEsIDEyMywgMjA1LCAxMTYsIDI2LCA2MywgNCwgMjUxLCA2NywgMjA1LCA5MywgCisgICAgMjYsIDYzLCA0LCAyNTEsIDEyMCwgMjA1LCAxOSwgMjYsIDYzLCA0LCAyNTEsIDExNSwgMjU0LCAxNjYsIDI2LCA2MywgNCwgCisgICAgMjUxLCA5OCwgMjU0LCAxNjUsIDI2LCA2MywgNCwgMjUxLCA1NywgMjUxLCAxODQsIDI2LCA2MywgNCwgMjUxLCA3MCwgMjQzLCAKKyAgICAyMDUsIDI2LCA2MywgNCwgMjUxLCA1MywgMjQzLCAyMDQsIDI2LCA2MywgNCwgMjUxLCA5MywgMjIzLCAxNTMsIDI2LCA2MywgCisgICAgNCwgMjUxLCAxMTEsIDIyMCwgODAsIDI2LCA2MywgNCwgMjUxLCA3OSwgMjIwLCA4NCwgMjYsIDYzLCA0LCAyNTEsIDY1LCAKKyAgICAyMTksIDExMSwgMjYsIDYzLCA0LCAyNTEsIDEwNywgMjE5LCAxMTAsIDI2LCA2MywgNCwgMjUxLCA3MywgMjE4LCAxMjMsIAorICAgIDI2LCA2MywgNCwgMjUxLCA3NSwgMjEyLCAyMTYsIDI2LCA2MywgNCwgMjUxLCA1NSwgMjEwLCAxMjgsIDI2LCA2MywgNCwgCisgICAgMjUxLCA1MiwgMTA1LCAyNiwgNjMsIDE2LCAyNTEsIDEyMiwgMjYsIDYzLCAxNiwgMjUxLCAxMjEsIDI2LCA2MywgMTYsIAorICAgIDI1MSwgMTE4LCAyNiwgNjMsIDE2LCAyNTEsIDEwNiwgMjYsIDYzLCAxNiwgMjUxLCA5NCwgMjYsIDYzLCAxNiwgMjUxLCA5MiwgCisgICAgMjYsIDYzLCAxNiwgMjUxLCA4NSwgMjYsIDYzLCAxNiwgMjUxLCA3OCwgMjYsIDYzLCAxNiwgMjUxLCA3NywgMjYsIDYzLCAKKyAgICAxNiwgMjUxLCA2MiwgMjYsIDYzLCAxNiwgMjUxLCA1OSwgMjYsIDYzLCAxNiwgMjUxLCA1OCwgMjYsIDYzLCAxNiwgMjUxLCAKKyAgICA1NiwgMjYsIDYzLCAxNiwgMjUxLCA1NCwgMjYsIDYzLCAxMjIsIDI1MSwgNTEsIDIyNywgMjIxLCAyNiwgNjMsIDEyMiwgCisgICAgMjUxLCA1MCwgMjA2LCAyNDQsIDI2LCA2MywgMTIyLCAyNTEsIDQ5LCAyNDUsIDI0OCwgMjYsIDYzLCAxMjIsIDI1MSwgNDgsIAorICAgIDI0MiwgMjM5LCAyNiwgNjMsIDEyMiwgMjUxLCA0NywgMjI3LCAxOTIsIDI2LCA2MywgMTIyLCAyNTEsIDQ2LCAyMTQsIDMzLCAKKyAgICAyNiwgNjMsIDEyMiwgMjUxLCA0NSwgMjQyLCAxNzQsIDI2LCA2MywgMTIyLCAyNTEsIDQ0LCAyMTksIDc3LCAyNiwgNjMsIAorICAgIDEyMiwgMjUxLCA0MywgMjE1LCAyMTMsIDI2LCA2MywgMTIyLCAyNTEsIDQyLCAyMzksIDcwLCAyNiwgNjMsIDEyMiwgMjUxLCAKKyAgICA0MSwgMjE0LCAxNjAsIDI2LCA2MywgMTIyLCAyNTEsIDQwLCAyNDksIDE4MiwgMjYsIDYzLCAxMjIsIDI1MSwgMzksIDI0NywgCisgICAgNzUsIDI2LCA2MywgMTIyLCAyNTEsIDM4LCAyNDksIDg3LCAyNiwgNjMsIDEyMiwgMjUxLCAzNywgMjA3LCAyOCwgMjYsIDYzLCAKKyAgICAxMjIsIDI1MSwgMzYsIDI1MCwgMTI1LCAyNiwgNjMsIDEyMiwgMjUxLCAzNSwgMjIyLCAxNzUsIDI2LCA2MywgMTIyLCAyNTEsIAorICAgIDM0LCAyMTQsIDEzMiwgMjYsIDYzLCAxMjIsIDI1MSwgMzMsIDI0NiwgMjQ4LCAyNiwgNjMsIDIyNiwgMTYwLCAyNTEsIDMyLCAKKyAgICAyMzIsIDE2LCAyNiwgNjMsIDIyNiwgMTYwLCAyNTEsIDMxLCAyMzIsIDI1LCAyNiwgNjMsIDEyMiwgMjUxLCAzMCwgMjIyLCAKKyAgICAxODksIDI2LCA2MywgMTIyLCAyNTEsIDI5LCAyMDcsIDUsIDI2LCA2MywgMTIyLCAyNTEsIDI4LCAyNiwgNjMsIDIyNiwgCisgICAgMTYwLCAyNTEsIDI3LCAyNTIsIDEyLCAyNiwgNjMsIDIyNiwgMTYwLCAyNTEsIDI2LCAyMjcsIDc2LCAyNiwgNjMsIDEyMiwgCisgICAgMjUxLCAyNSwgMjQ5LCAxMTAsIDI2LCA2MywgMTIyLCAyNTEsIDI0LCAyNDAsIDExLCAyNiwgNjMsIDEyMiwgMjUxLCAyMywgCisgICAgMjYsIDYzLCAxMjIsIDI1MSwgMjIsIDIwNiwgMjM1LCAyNiwgNjMsIDEyMiwgMjUxLCAyMSwgMjYsIDYzLCAxMjIsIDI1MSwgCisgICAgMjAsIDI2LCA2MywgMTIyLCAyNTEsIDE5LCAyMzgsIDY5LCAyNiwgNjMsIDEyMiwgMjUxLCAxOCwgMjYsIDYzLCAxMjIsIAorICAgIDI1MSwgMTcsIDI2LCA2MywgMTIyLCAyNTEsIDE2LCAyNiwgNjMsIDIyNiwgMTYwLCAyNTEsIDE0LCAyMTAsIDE0MiwgMjYsIAorICAgIDYzLCAxMjIsIDI1MSwgMTMsIDI2LCA2MywgMTIyLCAyNTEsIDEyLCAyNiwgNjMsIDEyMiwgMjUxLCAxMSwgMjQ3LCAxODYsIAorICAgIDI2LCA2MywgMTIyLCAyNTEsIDEwLCAyNiwgNjMsIDEyMiwgMjUxLCA5LCAyNiwgNjMsIDEyMiwgMjUxLCA4LCAyNDAsIDIwMSwgCisgICAgMjYsIDYzLCAxMjIsIDI1MSwgNywgMjUxLCAyNTUsIDI2LCA2MywgMTIyLCAyNTEsIDYsIDI2LCA2MywgMTIyLCAyNTEsIDUsIAorICAgIDI2LCA2MywgMTIyLCAyNTEsIDQsIDI2LCA2MywgMTIyLCAyNTEsIDMsIDI2LCA2MywgMTIyLCAyNTEsIDIsIDI2LCA2MywgCisgICAgMTIyLCAyNTEsIDEsIDI2LCA2MywgMTIyLCAyNTEsIDAsIDI2LCA2MywgMTIyLCAyNTAsIDI1NSwgMjYsIDYzLCAxMjIsIAorICAgIDI1MCwgMjU0LCAyNiwgNjMsIDEyMiwgMjUwLCAyNTMsIDIyNiwgMTUyLCAyNiwgNjMsIDEyMiwgMjUwLCAyNTIsIDI2LCA2MywgCisgICAgMTIyLCAyNTAsIDI1MSwgMjExLCA2MSwgMjYsIDYzLCAxMjIsIDI1MCwgMjUwLCAyNiwgNjMsIDEyMiwgMjUwLCAyNDksIDI2LCAKKyAgICA2MywgMTIyLCAyNTAsIDI0OCwgMjYsIDYzLCAxMjIsIDI1MCwgMjQ3LCAyNiwgNjMsIDEyMiwgMjUwLCAyNDYsIDI2LCA2MywgCisgICAgMTIyLCAyNTAsIDI0NSwgMjYsIDYzLCAxMjIsIDI1MCwgMjQ0LCAyNiwgNjMsIDEyMiwgMjUwLCAyNDMsIDI2LCA2MywgMTIyLCAKKyAgICAyNTAsIDI0MiwgMjYsIDYzLCAxMjIsIDI1MCwgMjQxLCAyNiwgNjMsIDEyMiwgMjUwLCAyNDAsIDI2LCA2MywgMTIyLCAyNTAsIAorICAgIDIzOSwgMjM5LCA0MywgMjYsIDYzLCAxMjIsIDI1MCwgMjE4LCAyNDEsIDE0NCwgMjYsIDYzLCAxMjIsIDI1MCwgMjE1LCAKKyAgICAyNTAsIDEwMywgMjYsIDYzLCAxMjIsIDI1MCwgMjEwLCAyMTQsIDEzOSwgMjYsIDYzLCAxMjIsIDI1MCwgMjA5LCA0NSwgMjYsIAorICAgIDYzLCAxMjIsIDI1MCwgMjA4LCAyNiwgNjMsIDEyMiwgMjUwLCAyMDcsIDIxMywgOTUsIDI2LCA2MywgMTIyLCAyNTAsIDIwNiwgCisgICAgMjYsIDYzLCAxMjIsIDI1MCwgMjA1LCAyNiwgNjMsIDEyMiwgMjUwLCAyMDQsIDIwNywgMjQsIDI0OCwgOTEsIDI2LCA2MywgCisgICAgMTIyLCAyNTAsIDIwMywgMjQ4LCA5MSwgMjYsIDYzLCAxMjIsIDI1MCwgMjAyLCAyNDgsIDkyLCAyNDEsIDExMiwgMjYsIDYzLCAKKyAgICAxMjIsIDI1MCwgMjAxLCAyMDcsIDI2LCAyNiwgNjMsIDEyMiwgMjUwLCAyMDAsIDI2LCA2MywgMTIyLCAyNTAsIDE5OSwgMjYsIAorICAgIDYzLCAyMjYsIDE2MCwgMjUwLCAxOTgsIDI0NSwgMTA1LCAyNiwgNjMsIDEyMiwgMjUwLCAxOTcsIDI2LCA2MywgMTIyLCAKKyAgICAyNTAsIDE5NiwgMjYsIDYzLCAxMjIsIDI1MCwgMTk0LCAyNiwgNjMsIDEyMiwgMjUwLCAxOTMsIDI2LCA2MywgMTIyLCAyNTAsIAorICAgIDE5MiwgMjYsIDYzLCAxMjIsIDI1MCwgMTkxLCAyNDYsIDgxLCAyNiwgNjMsIDEyMiwgMjUwLCAxOTAsIDI2LCA2MywgMTIyLCAKKyAgICAyNTAsIDE4OSwgMjYsIDYzLCAxMjIsIDI1MCwgMTg4LCAyNiwgNjMsIDEyMiwgMjUwLCAxODcsIDI2LCA2MywgMTIyLCAyNTAsIAorICAgIDE4NiwgMjYsIDYzLCAxMjIsIDIwOCwgMjI1LCAyNTEsIDE1LCAyNiwgNjMsIDEyMiwgMjA4LCAyMjUsIDI1MCwgMjM4LCAyNiwgCisgICAgNjMsIDEyMiwgMjA4LCAyMjUsIDI1MCwgMjM3LCAyNiwgNjMsIDEyMiwgMjA4LCAyMjUsIDI1MCwgMjM2LCAyNiwgNjMsIAorICAgIDEyMiwgMjA4LCAyMjUsIDI1MCwgMjM1LCAyNiwgNjMsIDEyMiwgMjA4LCAyMjUsIDI1MCwgMjM0LCAyNiwgNjMsIDEyMiwgCisgICAgMjA4LCAyMjUsIDI1MCwgMjMzLCAyNiwgNjMsIDEyMiwgMjA4LCAyMjUsIDI1MCwgMjMyLCAyNiwgNjMsIDEyMiwgMjA4LCAKKyAgICAyMjUsIDI1MCwgMjMxLCAyNiwgNjMsIDEyMiwgMjA4LCAyMjUsIDI1MCwgMjMwLCAyNiwgNjMsIDEyMiwgMjA4LCAyMjUsIAorICAgIDI1MCwgMjI5LCAyNiwgNjMsIDEyMiwgMjA4LCAyMjUsIDI1MCwgMjI4LCAyNiwgNjMsIDEyMiwgMjA4LCAyMjUsIDI1MCwgCisgICAgMjI3LCAyNiwgNjMsIDEyMiwgMjA4LCAyMjUsIDI1MCwgMjI2LCAyNiwgNjMsIDEyMiwgMjA4LCAyMjUsIDI1MCwgMjI1LCAKKyAgICAyNiwgNjMsIDEyMiwgMjA4LCAyMjUsIDI1MCwgMjI0LCAyNiwgNjMsIDEyMiwgMjA4LCAyMjUsIDI1MCwgMjIzLCAyNiwgNjMsIAorICAgIDEyMiwgMjA4LCAyMjUsIDI1MCwgMjIyLCAyNiwgNjMsIDEyMiwgMjA4LCAyMjUsIDI1MCwgMjIxLCAyNiwgNjMsIDEyMiwgCisgICAgMjA4LCAyMjUsIDI1MCwgMjIwLCAyNiwgNjMsIDEyMiwgMjA4LCAyMjUsIDI1MCwgMjE5LCAyNiwgNjMsIDEyMiwgMjA4LCAKKyAgICAyMjUsIDI1MCwgMjE3LCAyNiwgNjMsIDEyMiwgMjA4LCAyMjUsIDI1MCwgMjE2LCAyNiwgNjMsIDEyMiwgMjA4LCAyMjUsIAorICAgIDI1MCwgMjE0LCAyNiwgNjMsIDEyMiwgMjA4LCAyMjUsIDI1MCwgMjEzLCAyNiwgNjMsIDEyMiwgMjA4LCAyMjUsIDI1MCwgCisgICAgMjEyLCAyNiwgNjMsIDEyMiwgMjA4LCAyMjUsIDI1MCwgMjExLCAyNiwgNjMsIDEyMiwgMjA4LCAyMjUsIDI1MCwgMTk1LCAKKyAgICAyNiwgNjMsIDEyMiwgMjA4LCAyMjUsIDI1MCwgMTg1LCAyNTIsIDI0MSwgMjA2LCAyMzIsIDIxNiwgNDAsIDIyOSwgMjA1LCAKKyAgICAyNTIsIDI0MSwgMjA2LCAyMzIsIDIxNiwgNDAsIDI0NSwgMjMsIDI1MiwgMjQxLCAyNDgsIDgxLCA4MywgMjUyLCAyNDEsIAorICAgIDQzLCAxMDIsIDI1MiwgMjQxLCA0MywgMTA1LCAyNTIsIDI0MSwgNDMsIDE0MiwgMjUyLCAyNDEsIDQzLCAxMzksIDI1MiwgCisgICAgMjQxLCA0MywgMTY4LCAyNTIsIDI0MSwgNDMsIDE4NCwgMjUyLCAyNDEsIDQzLCAxOTUsIDI1MiwgMjQxLCA0MywgMTkzLCAKKyAgICAyNTIsIDI0MSwgNDMsIDIwMCwgMjUyLCAyNDEsIDQzLCAyMTIsIDk4LCAyNTIsIDI0MSwgNDMsIDIxMCwgMTIzLCAyNTIsIAorICAgIDI0MSwgNDMsIDIxMiwgMywgMjUyLCAyNDEsIDQzLCAyNDEsIDEzMCwgMjUyLCAyNDEsIDQzLCAyNDEsIDI0MywgMjUyLCAKKyAgICAyNDEsIDQzLCAyMTQsIDI1MiwgMjUyLCAyNDEsIDQzLCAyMTYsIDE3LCAyNTIsIDI0MSwgNDMsIDI0MywgNzksIDI1MiwgCisgICAgMjQxLCA0MywgMjI0LCAxOTAsIDI1MiwgMjQxLCA0MywgMTE5LCAyMzgsIDI5LCAyNTIsIDI0MSwgNDMsIDExOCwgMjM4LCAKKyAgICAyOSwgMjUyLCAyNDEsIDQzLCAxMjksIDIzOCwgMjksIDI1MiwgMjQxLCA0MywgMjQxLCAxMjUsIDIzOCwgMjksIDI1MiwgCisgICAgMjQxLCA0MywgMjQxLCAyMDQsIDIzOCwgMjksIDI1MiwgMjQxLCA0MywgMjE1LCAxMCwgMjM4LCAyOSwgMjUyLCAyNDEsIDQzLCAKKyAgICAyMTYsIDIzLCAyMzgsIDI5LCAyNTIsIDI0MSwgNDMsIDI0MywgODgsIDIzOCwgMjksIDI1MiwgMjQxLCA0MywgMjI0LCAxOTUsIAorICAgIDIzOCwgMjksIDI1MiwgMjQxLCA0MywgMTE5LCAyMTEsIDI0MiwgMjUyLCAyNDEsIDQzLCAxMTgsIDIxMSwgMjQyLCAyNTIsIAorICAgIDI0MSwgNDMsIDEyOSwgMjExLCAyNDIsIDI1MiwgMjQxLCA0MywgMjQxLCAxMjUsIDIxMSwgMjQyLCAyNTIsIDI0MSwgNDMsIAorICAgIDI0MSwgMjA0LCAyMTEsIDI0MiwgMjUyLCAyNDEsIDQzLCAyMTUsIDEwLCAyMTEsIDI0MiwgMjUyLCAyNDEsIDQzLCAyMTYsIAorICAgIDIzLCAyMTEsIDI0MiwgMjUyLCAyNDEsIDQzLCAyNDMsIDg4LCAyMTEsIDI0MiwgMjUyLCAyNDEsIDQzLCAyMjQsIDE5NSwgCisgICAgMjExLCAyNDIsIDI1MiwgMjQxLCA0MywgMjEyLCA5OSwgMjExLCAyNDIsIDI1MiwgMjQxLCA0MywgMjEwLCAxMjQsIDIxMSwgCisgICAgMjQyLCAyNTIsIDI0MSwgNDMsIDIxMiwgNCwgMjExLCAyNDIsIDI1MiwgMjQxLCA0MywgMjQxLCAxMzEsIDIxMSwgMjQyLCAKKyAgICAyNTIsIDI0MSwgNDMsIDI0MSwgMjQ0LCAyMTEsIDI0MiwgMjUyLCAyNDEsIDQzLCAyMTQsIDI1MywgMjExLCAyNDIsIDI1MiwgCisgICAgMjQxLCA0MywgMjE2LCAxOCwgMjExLCAyNDIsIDI1MiwgMjQxLCA0MywgMjQzLCA4MCwgMjExLCAyNDIsIDI1MiwgMjQxLCAKKyAgICA0MywgMjI0LCAxOTEsIDIxMSwgMjQyLCAyNTIsIDI0MSwgMjA3LCA0MSwgMjUwLCAxMTcsIDIwOSwgMjE2LCAyNTIsIDI0MSwgCisgICAgMjA3LCA0MSwgMjQxLCAyMTUsIDIxMywgMTc3LCAyNTIsIDI0MSwgMjA3LCA0MSwgMjE3LCA4MCwgMjEzLCAxNzcsIDI1MiwgCisgICAgMjQxLCAyMDcsIDQxLCAyMTIsIDExLCAyMTMsIDE3NywgMjUyLCAyNDEsIDIwNywgNDEsIDI0MSwgMTE4LCAyMTMsIDE3NywgCisgICAgMjUyLCAyNDEsIDI0MywgMjQwLCAyMjcsIDExOCwgMjQxLCAyMTUsIDIxMywgMTc3LCAyNTIsIDI0MSwgMjI5LCAxODksIAorICAgIDIyNywgMTE4LCAyNDEsIDIxNSwgMjEzLCAxNzcsIDI1MiwgMjQxLCAyMjcsIDExOCwgMjE3LCA4MCwgMjEzLCAxNzcsIDI1MiwgCisgICAgMjQxLCAyMjcsIDExOCwgMjEyLCAxMSwgMjEzLCAxNzcsIDI3LCAyNTMsIDEyLCAyNTEsIDE4NiwgMTE5LCAyMTksIDIwNCwgCisgICAgMjcsIDI1MywgMTIsIDI1MSwgMTg2LCAxMTksIDIzOSwgMTIxLCAyNywgMjUzLCAxMiwgMjUxLCAxODYsIDExOSwgMjQ0LCAzLCAKKyAgICAyNywgMjUzLCAxMiwgMjUxLCAxODYsIDE2OCwgMjcsIDI1MywgMTIsIDI1MSwgMTg2LCAyNDEsIDI0MywgMjcsIDI1MywgMTIsIAorICAgIDI1MSwgMTg2LCAyNDEsIDIwNCwgMjM4LCAyOSwgMjcsIDI1MywgMTIsIDI1MSwgMTg2LCAyNDEsIDIwNCwgMjExLCAyNDIsIAorICAgIDI3LCAyNTMsIDEyLCAyNTEsIDE4NiwgMjQxLCAyNDQsIDIxMSwgMjQyLCAyNywgMjUzLCAxMiwgMjUxLCAxODYsIDI0MSwgCisgICAgMjA0LCAyMTIsIDE4MSwgMjcsIDI1MywgMTIsIDI1MSwgMTg2LCAyMTIsIDk5LCAyMTIsIDE4MSwgMjcsIDI1MywgMTIsIAorICAgIDI1MSwgMTg2LCAyNDEsIDI0NCwgMjEyLCAxODEsIDI3LCAyNTMsIDEyLCAyNTEsIDE4NiwgMTE5LCAyMzgsIDMwLCAyMTIsIAorICAgIDE4MSwgMjcsIDI1MywgMTIsIDI1MSwgMTg2LCAyNDEsIDIwNCwgMjM4LCAzMCwgMjEyLCAxODEsIDI3LCAyNTMsIDEyLCAKKyAgICAyNTEsIDE4NiwgMTE5LCAyMTEsIDI0MywgMjEyLCAxODEsIDI3LCAyNTMsIDEyLCAyNTEsIDE4NiwgMjQxLCAyMDQsIDIxMSwgCisgICAgMjQzLCAyMTIsIDE4MSwgMjcsIDI1MywgMTIsIDI1MSwgMTg2LCAyNDEsIDIwNCwgMjE0LCAyMCwgMjcsIDI1MywgMTIsIAorICAgIDI1MSwgMTg2LCAyMTIsIDk5LCAyMTQsIDIwLCAyNywgMjUzLCAxMiwgMjUxLCAxODYsIDI0MSwgMjQ0LCAyMTQsIDIwLCAyNywgCisgICAgMjUzLCAxMiwgMjUxLCAxODYsIDExOSwgMjM4LCAzMCwgMjE0LCAyMCwgMjcsIDI1MywgMTIsIDI1MSwgMTg2LCAyNDEsIAorICAgIDIwNCwgMjM4LCAzMCwgMjE0LCAyMCwgMjcsIDI1MywgMTIsIDI1MSwgMTg2LCAxMTksIDIxMSwgMjQzLCAyMTQsIDIwLCAyNywgCisgICAgMjUzLCAxMiwgMjUxLCAxODYsIDIxMiwgOTksIDIxMSwgMjQzLCAyMTQsIDIwLCAyNywgMjUzLCAxMiwgMjUxLCAxODYsIAorICAgIDI0MSwgMjQ0LCAyMTEsIDI0MywgMjE0LCAyMCwgMjcsIDI1MywgMTIsIDI1MSwgMTg2LCAyMTIsIDk5LCAyMjYsIDE4NCwgCisgICAgMjcsIDI1MywgMTIsIDIzOSwgMzcsIDExOSwgMjIwLCAyMjgsIDI3LCAyNTMsIDEyLCAyMTIsIDI1LCAxMDIsIDI3LCAyNTMsIAorICAgIDEyLCAyMzksIDMzLCAxMDIsIDI3LCAyNTMsIDEyLCAyNDIsIDI0OCwgMTA1LCAyNywgMjUzLCAxMiwgMjEyLCAyNSwgMTA1LCAKKyAgICAyNywgMjUzLCAxMiwgMjQ2LCAyNDUsIDExOCwgMjQ0LCAyLCAyNywgMjUzLCAxMiwgMjQyLCAyNDgsIDExOCwgMjQ0LCAyLCAKKyAgICAyNywgMjUzLCAxMiwgMjExLCAyOCwgMTY4LCAyNywgMjUzLCAxMiwgMjExLCAyOCwgMjEyLCA5OCwgMjcsIDI1MywgMTIsIAorICAgIDIxMSwgMjgsIDIxMiwgOTksIDI1MiwgMTQxLCAxNywgMjcsIDI1MywgMTIsIDIzOSwgMzMsIDIxMiwgOTgsIDI3LCAyNTMsIAorICAgIDEyLCAyMjcsIDY1LCAyMTIsIDk4LCAyNywgMjUzLCAxMiwgMjEyLCAyNSwgMjEyLCA5OCwgMjcsIDI1MywgMTIsIDIxMiwgCisgICAgMjUsIDIxMiwgMywgMjcsIDI1MywgMTIsIDIxMSwgMjgsIDI0MSwgMjQzLCAyNywgMjUzLCAxMiwgMjExLCAyOCwgMjQxLCAKKyAgICAyNDQsIDI1MiwgMTQxLCAxNywgMjcsIDI1MywgMTIsIDIzOSwgMzMsIDI0MSwgMjQzLCAyNywgMjUzLCAxMiwgMjEyLCAyNSwgCisgICAgMjQxLCAyNDMsIDI3LCAyNTMsIDEyLCAyMTIsIDI1LCAxMTksIDIzOCwgMjksIDI3LCAyNTMsIDEyLCAyMTIsIDI1LCAxMjksIAorICAgIDIzOCwgMjksIDI3LCAyNTMsIDEyLCAyNDIsIDI0OCwgMjQxLCAyMDQsIDIzOCwgMjksIDI3LCAyNTMsIDEyLCAyMTEsIDI4LCAKKyAgICAyNDEsIDIwNCwgMjM4LCAyOSwgMjcsIDI1MywgMTIsIDIxMiwgMjUsIDI0MSwgMjA0LCAyMzgsIDI5LCAyNywgMjUzLCAxMiwgCisgICAgMjQ4LCAxODcsIDI0MSwgMjA0LCAyMzgsIDI5LCAyNywgMjUzLCAxMiwgMjI1LCAxODYsIDI0MSwgMjA0LCAyMzgsIDI5LCAKKyAgICAyNywgMjUzLCAxMiwgMjEyLCAyNSwgMTE5LCAyMTEsIDI0MiwgMjcsIDI1MywgMTIsIDIxMiwgMjUsIDI0MSwgMjA0LCAyMTEsIAorICAgIDI0MiwgMjcsIDI1MywgMTIsIDI0NSwgMjMwLCAyNDEsIDIwNCwgMjI2LCAxODQsIDI3LCAyNTMsIDEyLCAyMTMsIDI0MCwgCisgICAgMjQxLCAyNDQsIDIyNiwgMTg0LCAyNywgMTE5LCAxNjAsIDUzLCAyNywgMTE5LCAxNjAsIDMsIDI1MiwgMTQxLCAxNywgMjcsIAorICAgIDExOCwgMjEyLCA4LCA1MywgMjcsIDEyOSwgMjE5LCAyMDMsIDUzLCAyNywgMjA2LCA1MCwgNTMsIDI3LCAyMTIsIDE4MiwgCisgICAgNTMsIDI3LCAyNDQsIDQsIDUzLCAyNywgMjIyLCAyMjAsIDUzLCAyNywgMTE4LCAyMjIsIDIxOSwgNTMsIDI3LCAxMjksIAorICAgIDIyMiwgMjE5LCA1MywgMjcsIDI0MSwgMTI1LCAyMjIsIDIxOSwgNTMsIDI3LCAyNDEsIDIwNCwgMjIyLCAyMTksIDUzLCAyNywgCisgICAgMjI3LCA1OSwgNTMsIDI3LCAyMzAsIDE2NywgMjUwLCAxMTcsIDUzLCAyNywgMjI5LCAxODIsIDUzLCAyNywgMjIyLCA5NCwgCisgICAgNTMsIDI3LCAyMDYsIDE3MiwgNTMsIDI3LCAyNTEsIDIzNywgNTMsIDI3LCAyNTEsIDI1MSwgNTMsIDI3LCAyMzksIDI0NCwgCisgICAgNTMsIDI3LCAyMTAsIDI0NiwgMjUwLCAxMTcsIDUzLCAyNywgMjA1LCA4NiwgNTMsIDI3LCAxMTksIDIxOSwgMjA1LCA1MywgCisgICAgMjcsIDIxNSwgMzUsIDUzLCAyMTgsIDEwOSwgMjE2LCAxNCwgNTMsIDIxOCwgMTA5LCAyMDksIDIyOCwgNTMsIDIxOCwgMTA5LCAKKyAgICAyMTYsIDQ0LCA1MywgMjE4LCAxMDksIDIxNiwgMTIsIDUzLCAyMTgsIDEwOSwgMjQ1LCAxMjAsIDIxNiwgMTIsIDUzLCAyMTgsIAorICAgIDEwOSwgMjE1LCA1NCwgNTMsIDIxOCwgMTA5LCAyNDUsIDIyNiwgNTMsIDIxOCwgMTA5LCAyMTksIDE4OCwgNTMsIDIxOCwgCisgICAgMTA5LCAyMTYsIDMwLCA1MywgMjE4LCAxMDksIDI0MywgMjE5LCA1MywgMjE4LCAxMDksIDI1MSwgMjMyLCA1MywgMjE4LCAKKyAgICAxMDksIDI0OCwgMTI0LCA1MywgMjcsIDE2LCAyMTIsIDE1MiwgMjE4LCAyMTAsIDIyMSwgODgsIDI0NSwgOTgsIDMsIDIyMSwgCisgICAgMTY2LCAyMjEsIDg4LCAyNDUsIDk4LCAzLCAyMjAsIDIyMCwgMjM5LCA2OCwgMjIxLCA4OCwgMjQ1LCA5OCwgMywgMjEyLCAKKyAgICAxNTUsIDIzOSwgNjgsIDIyMSwgODgsIDI0NSwgOTgsIDMsIDI0OCwgMjA3LCAyMjEsIDg4LCAyNDUsIDk4LCAzLCAyNDgsIAorICAgIDQ5LCAyMjEsIDg4LCAyNDUsIDk4LCAzLCAyMDYsIDI0NCwgMjIxLCA4OCwgMjQ1LCA5OCwgMywgMjM5LCA0MywgMjIxLCA4OCwgCisgICAgMjQ1LCA5OCwgMywgMjQwLCAxOTMsIDIyMSwgODgsIDI0NSwgOTgsIDMsIDIxMSwgMjA5LCAyMjEsIDg4LCAyNDUsIDk4LCAzLCAKKyAgICA0NSwgMjIxLCA4OCwgMjQ1LCA5OCwgMywgMjQ5LCAxNDYsIDIyMSwgODgsIDI0NSwgOTgsIDMsIDIxNSwgMTgwLCAyMjEsIAorICAgIDg4LCAyNDUsIDk4LCAzLCAyNDcsIDE4MCwgMjIxLCA4OCwgMjQ1LCA5OCwgMywgMjI3LCAyMjAsIDIyMSwgODgsIDI0NSwgCisgICAgOTgsIDMsIDIyNywgMTY3LCAyMjEsIDg4LCAyNDUsIDk4LCAzLCAyMTcsIDEyMSwgMjIxLCA4OCwgMjQ1LCA5OCwgMywgMjI5LCAKKyAgICAyMzEsIDIyMSwgODgsIDI0NSwgOTgsIDMsIDI0OSwgMTY3LCAyMjEsIDg4LCAyNDUsIDk4LCAzLCAyNDgsIDE5MiwgMjIwLCAKKyAgICAyMzMsIDIyMSwgODgsIDI0NSwgOTgsIDMsIDI0NSwgMzYsIDIyMSwgODgsIDI0NSwgOTgsIDMsIDI0NywgMTU5LCAyMjEsIAorICAgIDg4LCAyNDUsIDk4LCAzLCAyMTQsIDIyNCwgMjIxLCA4OCwgMjQ1LCA5OCwgMywgMjQ3LCAxNjAsIDIyMSwgODgsIDI0NSwgCisgICAgOTgsIDMsIDI1MCwgNDcsIDIyMSwgODgsIDI0NSwgOTgsIDMsIDIxNSwgMTY3LCAyMjEsIDg4LCAyNDUsIDk4LCAzLCAyMzgsIAorICAgIDY5LCAyMjEsIDg4LCAyNDUsIDk4LCAzLCAyMzksIDksIDIyMSwgODgsIDI0NSwgOTgsIDMsIDI0OSwgODIsIDIzMCwgMzQsIAorICAgIDIyMSwgODgsIDI0NSwgOTgsIDMsIDI0OCwgMTgzLCAyMjEsIDg4LCAyNDUsIDk4LCAzLCAyMTksIDc3LCAyMjEsIDg4LCAKKyAgICAyNDUsIDk4LCAzLCAyNDMsIDEyNywgMjIxLCA4OCwgMjQ1LCA5OCwgMywgMjQ0LCA5LCAyMjEsIDg4LCAyNDUsIDk4LCAzLCAKKyAgICAyMTAsIDE1NiwgMjIxLCA4OCwgMjQ1LCA5OCwgMywgMjUwLCA1MCwgMjIxLCA4OCwgMjQ1LCA5OCwgMywgMjIwLCAyMzQsIAorICAgIDIxMSwgNjEsIDIyMSwgODgsIDI0NSwgOTgsIDMsIDIwOCwgMTk1LCAyMjEsIDg4LCAyNDUsIDk4LCAzLCAyMjEsIDIzMiwgCisgICAgMjIxLCA4OCwgMjQ1LCA5OCwgMywgMjE4LCAxMDAsIDIyMSwgODgsIDI0NSwgOTgsIDMsIDIyOSwgMjE2LCAyMjEsIDg4LCAKKyAgICAyNDUsIDk4LCAzLCAyMjIsIDc3LCAyNTAsIDE3NiwgMjIxLCA4OCwgMjQ1LCA5OCwgMywgMjQxLCAxNjgsIDIyMSwgODgsIAorICAgIDI0NSwgOTgsIDMsIDIzOSwgMjM4LCAyMjEsIDg4LCAyNDUsIDk4LCAzLCAyMTMsIDI0MSwgMjIxLCA4OCwgMjQ1LCA5OCwgMywgCisgICAgNSwgMjUxLCAxNjAsIDIyMSwgODgsIDI0NSwgOTgsIDMsIDIwNywgNjEsIDI1MCwgMTM2LCAyMjEsIDg4LCAyNDUsIDk4LCAzLCAKKyAgICAzNiwgMjIyLCAyMjIsIDkxLCAyMjksIDQwLCAxLCA2MiwgMjI5LCA0MCwgMSwgNzUsIDIyOSwgNDAsIDEsIDI1MSwgMTUwLCAKKyAgICAyMjksIDQwLCAxLCAyNTAsIDEsIDIyOSwgNDAsIDEsIDI0MSwgNTUsIDIyOSwgNDAsIDEsIDI0NiwgMjQwLCAyMjksIDQwLCAKKyAgICAxLCA3NCwgMjI5LCA0MCwgMSwgMjA3LCAxMjksIDIyOSwgNDAsIDEsIDIwNSwgMTU5LCAyMjksIDQwLCAxLCAyMTIsIDU4LCAKKyAgICAyMjksIDQwLCAxLCAyMzIsIDIwMywgMjI5LCA0MCwgMSwgMjMyLCA3NiwgMjI5LCA0MCwgMSwgMjIwLCAyNywgMjI5LCA0MCwgCisgICAgMSwgMTQ5LCAyMjksIDQwLCAxLCAyMjksIDI4LCAyMjksIDQwLCAxLCAyMjYsIDMzLCAyMjksIDQwLCAxLCAyMjYsIDE4NiwgCisgICAgMjI5LCA0MCwgMSwgMjI0LCAxMDQsIDIyOSwgNDAsIDEsIDcxLCAyMjksIDQwLCAxLCAyMjIsIDY3LCAyMjksIDQwLCAxLCAKKyAgICAyMzEsIDczLCAyMjksIDQwLCAxLCAxMzcsIDIyOSwgNDAsIDEsIDE4MiwgMjI5LCA0MCwgMSwgMjEzLCAxMCwgMjI5LCA0MCwgCisgICAgMSwgMjEwLCAyMTEsIDIyOSwgNDAsIDEsIDI1MiwgMTIyLCAyMjksIDQwLCAxLCAyNDMsIDQxLCAyMjksIDQwLCAxLCAyMzksIAorICAgIDE1NSwgMjI5LCA0MCwgMSwgMjA2LCAxOTUsIDI0OCwgMTk4LCAxLCA2MiwgMjQ4LCAxOTgsIDEsIDIyMiwgNTMsIDI0OCwgCisgICAgMTk4LCAxLCAyNDYsIDI0MCwgMjQ4LCAxOTgsIDEsIDE0OSwgMjQ4LCAxOTgsIDEsIDIwOSwgMTYwLCAyNDgsIDE5OCwgMSwgCisgICAgMTM3LCAyNDgsIDE5OCwgMSwgMjMwLCA2MiwgMjQ4LCAxOTgsIDEsIDI1NCwgMTY2LCAyNDgsIDE5OCwgMSwgMjIwLCAyNywgCisgICAgMjQ4LCAxOTgsIDEsIDI1MSwgMTUwLCAyNDgsIDE5OCwgMSwgMjI5LCAyOCwgMjQ4LCAxOTgsIDEsIDc2LCAyNDgsIDE5OCwgCisgICAgMSwgMjQ2LCAxNDcsIDI0OCwgMTk4LCAxLCAyMTMsIDEwLCAyNDgsIDE5OCwgMSwgMjE2LCA0LCAyNDgsIDE5OCwgMSwgMjE2LCAKKyAgICAzLCAyNDgsIDE5OCwgMSwgMTgyLCAyNDgsIDE5OCwgMSwgMjQ5LCAzMywgMjQ4LCAxOTgsIDEsIDcxLCAyNDgsIDE5OCwgMSwgCisgICAgMjI0LCAxMDQsIDI0OCwgMTk4LCAxLCAyMDYsIDE5NSwgMjQ4LCAxOTgsIDEsIDIyNiwgMzMsIDI0OCwgMTk4LCAxLCAyMTAsIAorICAgIDIxMCwgMjQ4LCAxOTgsIDEsIDIyMiwgNjcsIDI0OCwgMTk4LCAxLCAyMTQsIDk5LCAyNDgsIDE5OCwgMSwgNzQsIDI0OCwgCisgICAgMTk4LCAxLCA3NSwgMjQ4LCAxOTgsIDEsIDIwOSwgMTU3LCAyNDgsIDE5OCwgMSwgMjMyLCA3NiwgMjQ4LCAxOTgsIDEsIAorICAgIDIzMiwgNjcsIDI0OCwgMTk4LCAxLCAyMjUsIDE1MywgMjQ4LCAxOTgsIDEsIDIwOSwgMTYyLCAyNDgsIDE5OCwgMSwgMjQxLCAKKyAgICA1NSwgMjQ4LCAxOTgsIDEsIDI0MCwgMjQ2LCAyNDgsIDE5OCwgMSwgMjE0LCA0MCwgMjQ4LCAxOTgsIDEsIDIxNCwgMzksIAorICAgIDI0OCwgMTk4LCAxLCAyMjUsIDc5LCAyNDgsIDE5OCwgMSwgMjMzLCAxMDIsIDI0OCwgMTk4LCAxLCAyNDksIDMyLCAyNDgsIAorICAgIDE5OCwgMSwgMjEwLCAyMTEsIDI0OCwgMTk4LCAxLCAyMDksIDE1OSwgMjQ4LCAxOTgsIDEsIDIxOCwgOTAsIDI0OCwgMTk4LCAKKyAgICAxLCAyMjcsIDE1OCwgMjQ4LCAxOTgsIDEsIDIyNywgMTU3LCAyNDgsIDE5OCwgMSwgMjI3LCAxNTYsIDI0OCwgMTk4LCAxLCAKKyAgICAyMjcsIDE1NSwgMjQ4LCAxOTgsIDEsIDIzMCwgNjEsIDI0OCwgMTk4LCAxLCAyNDMsIDEzMSwgMjQ4LCAxOTgsIDEsIDIwOSwgCisgICAgMTU4LCA4MSwgMjQyLCAyNTEsIDIxMSwgMjQxLCA4MywgODEsIDI0MiwgMjUxLCAxOCwgMTAyLCA4MSwgMjQyLCAyNTEsIDE4LCAKKyAgICAxMDUsIDgxLCAyNDIsIDI1MSwgMTgsIDE0MiwgODEsIDI0MiwgMjUxLCAxOCwgMTM5LCA4MSwgMjQyLCAyNTEsIDE4LCAxNjgsIAorICAgIDgxLCAyNDIsIDI1MSwgMTgsIDE4NCwgODEsIDI0MiwgMjUxLCAxOCwgMTk1LCA4MSwgMjQyLCAyNTEsIDE4LCAxOTMsIDgxLCAKKyAgICAyNDIsIDI1MSwgMTgsIDIwMCwgODEsIDI0MiwgMjUxLCA0MywgMjEyLCA5OCwgODEsIDI0MiwgMjUxLCA0MywgMjEwLCAxMjMsIAorICAgIDgxLCAyNDIsIDI1MSwgNDMsIDIxMiwgMywgODEsIDI0MiwgMjUxLCA0MywgMjQxLCAxMzAsIDgxLCAyNDIsIDI1MSwgNDMsIAorICAgIDI0MSwgMjQzLCA4MSwgMjQyLCAyNTEsIDQzLCAyMTQsIDI1MiwgODEsIDI0MiwgMjUxLCA0MywgMjE2LCAxNywgODEsIDI0MiwgCisgICAgMjUxLCA0MywgMjQzLCA3OSwgODEsIDI0MiwgMjUxLCA0MywgMjI0LCAxOTAsIDgxLCAyNDIsIDI1MSwgNDMsIDExOSwgMjM4LCAKKyAgICAyOSwgODEsIDI0MiwgMjUxLCA0MywgMTE4LCAyMzgsIDI5LCA4MSwgMjQyLCAyNTEsIDQzLCAxMjksIDIzOCwgMjksIDgxLCAKKyAgICAyNDIsIDI1MSwgNDMsIDI0MSwgMTI1LCAyMzgsIDI5LCA4MSwgMjQyLCAyNTEsIDQzLCAyNDEsIDIwNCwgMjM4LCAyOSwgODEsIAorICAgIDI0MiwgMjUxLCA0MywgMjE1LCAxMCwgMjM4LCAyOSwgODEsIDI0MiwgMjUxLCA0MywgMjE2LCAyMywgMjM4LCAyOSwgODEsIAorICAgIDI0MiwgMjUxLCA0MywgMjQzLCA4OCwgMjM4LCAyOSwgODEsIDI0MiwgMjUxLCA0MywgMjI0LCAxOTUsIDIzOCwgMjksIDQ0LCAKKyAgICAzNSwgMSwgNjIsIDQ0LCAzNSwgMSwgMjUwLCA2MSwgNDQsIDM1LCAxLCAyMzEsIDIyNCwgNDQsIDM1LCAxLCAyNDYsIDksIAorICAgIDQ0LCAzNSwgMSwgNzUsIDQ0LCAzNSwgMSwgMjA5LCAzOSwgNDQsIDM1LCAxLCAyMDUsIDkzLCA0NCwgMzUsIDEsIDIzOSwgCisgICAgNzEsIDQ0LCAzNSwgMSwgMjEyLCA0MSwgNDQsIDM1LCAxLCA3NCwgNDQsIDM1LCAxLCAxNzIsIDQ0LCAzNSwgMSwgMjQzLCAKKyAgICA2OCwgNDQsIDM1LCAxLCAyNDMsIDUwLCA0NCwgMzUsIDEsIDI0MywgNDEsIDQ0LCAzNSwgMSwgMjQyLCAyMTUsIDQ0LCAzNSwgCisgICAgMSwgNzYsIDQ0LCAzNSwgMSwgMjIxLCAxNzQsIDQ0LCAzNSwgMSwgMjE1LCAyMTQsIDQ0LCAzNSwgMSwgMjMwLCAyMzYsIDQ0LCAKKyAgICAzNSwgMSwgMjQyLCAyMzUsIDQ0LCAzNSwgMSwgMjQyLCAyMjUsIDQ0LCAzNSwgMSwgMjEyLCAxMzEsIDQ0LCAzNSwgMSwgNzEsIAorICAgIDQ0LCAzNSwgMSwgMjQzLCA3MSwgNDQsIDM1LCAxLCAyMjEsIDgxLCA0NCwgMzUsIDEsIDIzMSwgMTUyLCA0NCwgMzUsIDEsIAorICAgIDI0MywgOTcsIDQ0LCAzNSwgMSwgMjQyLCAyMjcsIDQ0LCAzNSwgMSwgMjQ4LCA4MiwgNDQsIDM1LCAxLCAyMzMsIDEwMiwgCisgICAgNDQsIDM1LCAxLCAyMDksIDE2MiwgNDQsIDM1LCAxLCAyNDIsIDIwOCwgNDQsIDM1LCAyMjMsIDE3NywgMTAyLCA0NCwgMzUsIAorICAgIDIyMywgMTc3LCAxNjgsIDQ0LCAzNSwgMjIzLCAxNzcsIDIxMiwgOTgsIDQ0LCAzNSwgMjIzLCAxNzcsIDI0MSwgMjQzLCAKKyAgICAyMzksIDI1MywgMSwgMjUyLCAyMDgsIDIzOSwgMjUzLCAxLCAyNTAsIDE1MywgMjM5LCAyNTMsIDEsIDI0MCwgNTgsIDIzOSwgCisgICAgMjUzLCAxLCAyNDYsIDEyNywgMjM5LCAyNTMsIDEsIDI1MiwgMjA0LCAyMzksIDI1MywgMSwgMjIwLCAxMCwgMjM5LCAyNTMsIAorICAgIDEsIDIzMiwgMjE1LCAyMzksIDI1MywgMSwgMjM5LCAxMzQsIDIzOSwgMjUzLCAxLCAyMTEsIDI1NSwgMjM5LCAyNTMsIDEsIAorICAgIDI0MywgNzgsIDIzOSwgMjUzLCAxLCAyMzAsIDIwNCwgMjM5LCAyNTMsIDEsIDIzMCwgMTE4LCAyMzksIDI1MywgMSwgMjI3LCAKKyAgICAyMTMsIDIzOSwgMjUzLCAxLCAyMjUsIDE4OCwgMjM5LCAyNTMsIDEsIDIzMiwgMTc1LCAyMzksIDI1MywgMSwgMjA5LCAxODAsIAorICAgIDIzOSwgMjUzLCAxLCAyMjIsIDI5LCAyMzksIDI1MywgMSwgMjI0LCAxOTAsIDIzOSwgMjUzLCAxLCAyMTksIDg5LCAyMzksIAorICAgIDI1MywgMSwgMjE3LCAxMjQsIDIzOSwgMjUzLCAxLCAyMTIsIDExMiwgMjM5LCAyNTMsIDEsIDIwNywgMywgMjM5LCAyNTMsIAorICAgIDEsIDI0MiwgNTQsIDIzOSwgMjUzLCAxLCAyMzMsIDEwNiwgMjM5LCAyNTMsIDEsIDIzOCwgMTQsIDIzOSwgMjUzLCAxLCAKKyAgICAyMjIsIDEwMiwgMjM5LCAyNTMsIDEsIDIyNCwgMTk1LCAyMzgsIDI5LCA0NCwgMjIxLCAxMjIsIDEsIDI1MiwgMTIyLCA0NCwgCisgICAgMjIxLCAxMjIsIDEsIDI0OSwgNjgsIDQ0LCAyMjEsIDEyMiwgMSwgMjQwLCAyMjgsIDQ0LCAyMjEsIDEyMiwgMSwgMjQ1LCAKKyAgICAzOSwgNDQsIDIyMSwgMTIyLCAxLCA3NSwgNDQsIDIyMSwgMTIyLCAxLCAyMDUsIDYzLCA0NCwgMjIxLCAxMjIsIDEsIDI0MywgCisgICAgMTg4LCA0NCwgMjIxLCAxMjIsIDEsIDIwNSwgMTAwLCA0NCwgMjIxLCAxMjIsIDEsIDI0MywgMTg2LCA0NCwgMjIxLCAxMjIsIAorICAgIDEsIDc0LCA0NCwgMjIxLCAxMjIsIDEsIDIzMSwgNDIsIDQ0LCAyMjEsIDEyMiwgMSwgMjMwLCAzMCwgNDQsIDIyMSwgMTIyLCAKKyAgICAxLCAyMjcsIDgxLCA0NCwgMjIxLCAxMjIsIDEsIDIyNSwgOTksIDQ0LCAyMjEsIDEyMiwgMSwgMjA4LCAxNjAsIDQ0LCAyMjEsIAorICAgIDEyMiwgMSwgMjIxLCAxNjMsIDQ0LCAyMjEsIDEyMiwgMSwgMjE5LCAxNSwgNDQsIDIyMSwgMTIyLCAxLCAyMTUsIDYxLCA0NCwgCisgICAgMjIxLCAxMjIsIDEsIDIxMiwgMTkzLCA0NCwgMjIxLCAxMjIsIDEsIDcxLCA0NCwgMjIxLCAxMjIsIDEsIDI0OCwgNjYsIDQ0LCAKKyAgICAyMjEsIDEyMiwgMSwgMjE1LCAxNTEsIDQ0LCAyMjEsIDEyMiwgMSwgMjE1LCAyMTYsIDQ0LCAyMjEsIDEyMiwgMSwgMjA1LCAKKyAgICAyMTUsIDQ0LCAyMjEsIDEyMiwgMSwgMjA2LCAzMCwgNDQsIDIyMSwgMTIyLCAxLCA3NiwgNDQsIDIyMSwgMTIyLCAxLCAyMjIsIAorICAgIDE1MiwgNDQsIDIyMSwgMTIyLCAxLCAyNDMsIDk3LCA0NCwgMjIxLCAxMjIsIDEsIDE1NSwgNDQsIDIyMSwgMTIyLCAxLCAKKyAgICAyMTAsIDIyMSwgNDQsIDIyMSwgMTIyLCAxLCAyMDksIDI3LCA0NCwgMjIxLCAxMjIsIDEsIDIwNiwgMzQsIDQ0LCAyMjEsIAorICAgIDEyMiwgMSwgMjA2LCAzMiwgNDQsIDIyMSwgMTIyLCAxLCAyMDYsIDY1LCA0NCwgMjIxLCAxMjIsIDEsIDIzMywgMTI5LCA0NCwgCisgICAgMjIxLCAxMjIsIDEsIDIwNSwgMjEzLCA0NCwgMjIxLCAxMjIsIDEsIDE5MCwgNDQsIDIyMSwgMTIyLCAxLCAyMzcsIDE5MCwgCisgICAgMzYsIDQ0LCAyMjEsIDEyMiwgMSwgMjUyLCAxMjIsIDM2LCA0NCwgMjIxLCAxMjIsIDEsIDI0NSwgMzksIDM2LCA0NCwgMjIxLCAKKyAgICAxMjIsIDEsIDIwNSwgMTAwLCAzNiwgNDQsIDIyMSwgMTIyLCAxLCAyMjUsIDk5LCAzNiwgNDQsIDIyMSwgMTIyLCAxLCAyMTUsIAorICAgIDYxLCAyMDksIDI1NCwgMSwgMjUyLCAxNDgsIDIwOSwgMjU0LCAxLCAyNTAsIDgsIDIwOSwgMjU0LCAxLCAyNDAsIDIxNiwgCisgICAgMjA5LCAyNTQsIDEsIDIzMSwgMTY3LCAyMDksIDI1NCwgMSwgMjQ1LCAyMjcsIDIwOSwgMjU0LCAxLCAyMzgsIDE0OSwgMjA5LCAKKyAgICAyNTQsIDEsIDIwNiwgMjUwLCAyMDksIDI1NCwgMSwgMjA1LCA4NCwgMjA5LCAyNTQsIDEsIDIzOCwgNjEsIDIwOSwgMjU0LCAKKyAgICAxLCAyMTIsIDgwLCAyMDksIDI1NCwgMSwgMjA1LCAyMzYsIDIwOSwgMjU0LCAxLCAyMzIsIDQ1LCAyMDksIDI1NCwgMSwgCisgICAgMjE1LCAxNzEsIDIwOSwgMjU0LCAxLCAyMzAsIDEwMiwgMjA5LCAyNTQsIDEsIDIyNywgOTAsIDIwOSwgMjU0LCAxLCAyNDUsIAorICAgIDE4OCwgMjA5LCAyNTQsIDEsIDIyMywgMTczLCAyMDksIDI1NCwgMSwgMjA1LCA5LCAyMDksIDI1NCwgMSwgMjE3LCAxNTYsIAorICAgIDIwOSwgMjU0LCAxLCAyNTIsIDIwMCwgMjA5LCAyNTQsIDEsIDIyMCwgODIsIDIwOSwgMjU0LCAxLCAyMTcsIDE5MCwgMjA5LCAKKyAgICAyNTQsIDEsIDIxOSwgMjE5LCAyMDksIDI1NCwgMSwgMjE5LCA2OCwgMjA5LCAyNTQsIDEsIDIxMiwgNDUsIDIwOSwgMjU0LCAKKyAgICAxLCAyNDAsIDk0LCAyMDksIDI1NCwgMSwgMTI0LCAyMDksIDI1NCwgMSwgNzQsIDIwOSwgMjU0LCAxLCA3MSwgMjA5LCAyNTQsIAorICAgIDEsIDIxNCwgNTEsIDIwOSwgMjU0LCAyMDYsIDIzMiwgMjQ1LCA3OSwgNDQsIDIyMSwgMTE2LCAzLCA2MiwgNDQsIDIyMSwgCisgICAgMTE2LCAzLCA3NCwgNDQsIDIyMSwgMTE2LCAzLCA3MSwgNDQsIDIyMSwgMTE2LCAzLCAxNzIsIDQ0LCAyMjEsIDExNiwgMywgCisgICAgMjMwLCAyMzYsIDQ0LCAyMjEsIDExNiwgMywgMjQwLCAyNDQsIDQ0LCAyMjEsIDExNiwgMywgMjM5LCAyMTMsIDQ0LCAyMjEsIAorICAgIDExNiwgMywgMjA2LCAxODEsIDQ0LCAyMjEsIDExNiwgMywgMjQ5LCAxLCA0NCwgMjIxLCAxMTYsIDMsIDIzMiwgMjAwLCA0NCwgCisgICAgMjIxLCAxMTYsIDMsIDIzMiwgMTYyLCA0NCwgMjIxLCAxMTYsIDMsIDIxMiwgMjE5LCA0NCwgMjIxLCAxMTYsIDMsIDIxMCwgCisgICAgMTcwLCA0NCwgMjIxLCAxMTYsIDMsIDI0NiwgMTQ1LCA0NCwgMjIxLCAxMTYsIDMsIDI0NSwgMTY4LCA0NCwgMjIxLCAxMTYsIAorICAgIDMsIDI0MywgMjM3LCA0NCwgMjIxLCAxMTYsIDMsIDIxMiwgNTYsIDQ0LCAyMjEsIDExNiwgMywgMTc5LCA0NCwgMjIxLCAKKyAgICAxMTYsIDMsIDI1MCwgMTgzLCA0NCwgMjIxLCAxMTYsIDMsIDI0MiwgNzMsIDQ0LCAyMjEsIDExNiwgMywgMTk5LCA0NCwgCisgICAgMjIxLCAxMTYsIDMsIDIyMywgMjE3LCA0NCwgMjIxLCAxMTYsIDMsIDE4NSwgNDQsIDIyMSwgMTE2LCAzLCAyMjYsIDI1NCwgCisgICAgNDQsIDIyMSwgMTE2LCAzLCAyMjYsIDExNCwgNDQsIDIyMSwgMTE2LCAzLCAxOTAsIDQ0LCAyMjEsIDExNiwgMywgMjA5LCAKKyAgICA3MCwgNDQsIDIyMSwgMTE2LCAzLCAyMDgsIDIxNCwgNDQsIDIyMSwgMTE2LCAzLCAyMTksIDExMywgNDQsIDIyMSwgMTE2LCAKKyAgICAzLCAyMTgsIDUwLCA0NCwgMjIxLCAxMTYsIDMsIDIzMCwgMTQxLCA0NCwgMjIxLCAxMTYsIDMsIDIxNywgMTk5LCA0NCwgCisgICAgMjIxLCAxMTYsIDMsIDIwNSwgMTE2LCA0NCwgMjIxLCAxMTYsIDMsIDIxNiwgMiwgNDQsIDIyMSwgMTE2LCAzLCAyMTQsIDk2LCAKKyAgICA0NCwgMjIxLCAxMTYsIDMsIDE1NSwgNDQsIDIyMSwgMTE2LCAzLCAyNTEsIDE3OCwgNDQsIDIyMSwgMTE2LCAzLCAyNTEsIAorICAgIDE3NywgNDQsIDIyMSwgMTE2LCAzLCAyNTEsIDE3NiwgNDQsIDIyMSwgMTE2LCAzLCAyMDYsIDE1MiwgNDQsIDIyMSwgMTE2LCAKKyAgICAzLCAyNDYsIDEyMywgNDQsIDIyMSwgMTE2LCAzLCAyNDYsIDEyMiwgNDQsIDIyMSwgMTE2LCAzLCAyNTAsIDE2MSwgNDQsIAorICAgIDIyMSwgMTE2LCAzLCAyNDksIDUzLCA0NCwgMjIxLCAxMTYsIDIwNiwgMjMyLCAyNDUsIDc5LCA0NCwgMjIxLCAxMTYsIDQzLCAKKyAgICAxMDIsIDQ0LCAyMjEsIDExNiwgNDMsIDEwNSwgNDQsIDIyMSwgMTE2LCA0MywgMjEyLCA5OCwgNDQsIDIyMSwgMTE2LCA0MywgCisgICAgMjEwLCAxMjMsIDQ0LCAyMjEsIDExNiwgNDMsIDIzOCwgMjksIDI0NSwgMjA4LCA2LCAxLCAxNTIsIDc0LCAyNDUsIDIwOCwgCisgICAgNiwgMSwgMTUyLCA3NSwgMjQ1LCAyMDgsIDYsIDEsIDE1MiwgNjIsIDI0NSwgMjA4LCA2LCAxLCAxNTIsIDI1MiwgMjEzLCAKKyAgICAyNDUsIDIwOCwgNiwgMSwgMTUyLCA3NiwgMjQ1LCAyMDgsIDYsIDEsIDE1MiwgMjIyLCAxNTIsIDI0NSwgMjA4LCA2LCAxLCAKKyAgICAyMTUsIDE0NCwgNzQsIDI0NSwgMjA4LCA2LCAxLCAyMTUsIDE0NCwgNzUsIDI0NSwgMjA4LCA2LCAxLCAyMTUsIDE0NCwgNjIsIAorICAgIDI0NSwgMjA4LCA2LCAxLCAyMTUsIDE0NCwgMjUyLCAyMTMsIDI0NSwgMjA4LCA2LCAxLCAyMTUsIDE0NCwgNzYsIDI0NSwgCisgICAgMjA4LCA2LCAxLCAyMTUsIDE0NCwgMjIyLCAxNTIsIDI0NSwgMjA4LCA2LCAxLCAyNTEsIDE1OSwgMjQ1LCAyMDgsIDYsIDEsIAorICAgIDIyMiwgNzgsIDI0NSwgMjA4LCA2LCAxLCAyMDYsIDIxNiwgMjQ1LCAyMDgsIDYsIDEsIDIwNiwgNDksIDI0NSwgMjA4LCA2LCAKKyAgICAxLCAyMzksIDE1NSwgMjQ1LCAyMDgsIDYsIDEsIDIyMSwgMTY0LCAyNDUsIDIwOCwgNiwgMSwgMjUwLCA1MCwgMjQ1LCAyMDgsIAorICAgIDYsIDEsIDIxMiwgMTIwLCAyNDUsIDIwOCwgNiwgMSwgMjQ1LCAyNTEsIDI0NSwgMjA4LCA2LCAxLCAyNDgsIDc4LCAyNDUsIAorICAgIDIwOCwgNiwgMSwgMjMyLCAxODAsIDI0NSwgMjA4LCA2LCAxLCAyMzEsIDIzMSwgMjQ1LCAyMDgsIDYsIDEsIDI0MCwgMTkxLCAKKyAgICAyNDUsIDIwOCwgNiwgMSwgMjQzLCA5NywgMjQ1LCAyMDgsIDYsIDEsIDIwOSwgMzQsIDI0NSwgMjA4LCA2LCAxLCAyNDIsIAorICAgIDE5NiwgMjQ1LCAyMDgsIDYsIDEsIDIxMiwgMzksIDI0NSwgMjA4LCA2LCAxLCAyNDIsIDIyNSwgMjQ1LCAyMDgsIDYsIDEsIAorICAgIDIwNSwgOTEsIDI0NSwgMjA4LCA2LCAxLCAyNDIsIDIxNSwgMjQ1LCAyMDgsIDYsIDEsIDIwNSwgNzEsIDI0NSwgMjA4LCA2LCAKKyAgICAxLCAyNDIsIDIzNSwgMjQ1LCAyMDgsIDYsIDEsIDI0MywgNjgsIDI0NSwgMjA4LCA2LCAxLCAyNDMsIDUwLCAyNDUsIDIwOCwgCisgICAgNiwgMSwgMjQzLCA0MSwgMjQ1LCAyMDgsIDYsIDEsIDI0MywgMjgsIDI0NSwgMjA4LCA2LCAxLCAyMjIsIDE5MSwgMjQ1LCAKKyAgICAyMDgsIDYsIDEsIDI0MiwgMTc1LCAyNDUsIDIwOCwgNSwgMSwgMTUyLCA3NCwgMjQ1LCAyMDgsIDUsIDEsIDE1MiwgNzUsIAorICAgIDI0NSwgMjA4LCA1LCAxLCAxNTIsIDYyLCAyNDUsIDIwOCwgNSwgMSwgMTUyLCAyNTIsIDIxMywgMjQ1LCAyMDgsIDUsIDEsIAorICAgIDE1MiwgNzYsIDI0NSwgMjA4LCA1LCAxLCAxNTIsIDIyMiwgMTUyLCAyNDUsIDIwOCwgNSwgMSwgMjE1LCAxNDQsIDc0LCAKKyAgICAyNDUsIDIwOCwgNSwgMSwgMjE1LCAxNDQsIDc1LCAyNDUsIDIwOCwgNSwgMSwgMjE1LCAxNDQsIDYyLCAyNDUsIDIwOCwgNSwgCisgICAgMSwgMjE1LCAxNDQsIDI1MiwgMjEzLCAyNDUsIDIwOCwgNSwgMSwgMjE1LCAxNDQsIDc2LCAyNDUsIDIwOCwgNSwgMSwgMjE1LCAKKyAgICAxNDQsIDIyMiwgMTUyLCAyNDUsIDIwOCwgNSwgMSwgMjUxLCAxNTksIDI0NSwgMjA4LCA1LCAxLCAyMjIsIDc4LCAyNDUsIAorICAgIDIwOCwgNSwgMSwgMjA2LCAyMTYsIDI0NSwgMjA4LCA1LCAxLCAyMDYsIDQ5LCAyNDUsIDIwOCwgNSwgMSwgMjM5LCAxNTUsIAorICAgIDI0NSwgMjA4LCA1LCAxLCAyMjEsIDE2NCwgMjQ1LCAyMDgsIDUsIDEsIDI1MCwgNTAsIDI0NSwgMjA4LCA1LCAxLCAyMTIsIAorICAgIDEyMCwgMjQ1LCAyMDgsIDUsIDEsIDI0NSwgMjUxLCAyNDUsIDIwOCwgNSwgMSwgMjQ4LCA3OCwgMjQ1LCAyMDgsIDUsIDEsIAorICAgIDIzMiwgMTgwLCAyNDUsIDIwOCwgNSwgMSwgMjMxLCAyMzEsIDI0NSwgMjA4LCA1LCAxLCAyNDAsIDE5MSwgMjQ1LCAyMDgsIAorICAgIDUsIDEsIDI0MywgOTcsIDI0NSwgMjA4LCA1LCAxLCAyMDksIDM0LCAyNDUsIDIwOCwgNSwgMSwgMjQyLCAxOTYsIDI0NSwgCisgICAgMjA4LCA1LCAxLCAyMTIsIDM5LCAyNDUsIDIwOCwgNSwgMSwgMjQyLCAyMjUsIDI0NSwgMjA4LCA1LCAxLCAyMDUsIDkxLCAKKyAgICAyNDUsIDIwOCwgNSwgMSwgMjQyLCAyMTUsIDI0NSwgMjA4LCA1LCAxLCAyMDUsIDcxLCAyNDUsIDIwOCwgNSwgMSwgMjQyLCAKKyAgICAyMzUsIDI0NSwgMjA4LCA1LCAxLCAyNDMsIDY4LCAyNDUsIDIwOCwgNSwgMSwgMjQzLCA1MCwgMjQ1LCAyMDgsIDUsIDEsIAorICAgIDI0MywgNDEsIDI0NSwgMjA4LCA1LCAxLCAyNDMsIDI4LCAyNDUsIDIwOCwgNSwgMSwgMjIyLCAxOTEsIDI0NSwgMjA4LCA1LCAKKyAgICAxLCAyNDIsIDE3NSwgMjE1LCAyMjEsIDEsIDIyMSwgMTYxLCAyMTUsIDIyMSwgMSwgMjExLCA5MSwgMjE1LCAyMjEsIDEsIAorICAgIDIzMSwgMTE5LCAyMTUsIDIyMSwgMSwgMjQyLCAyMSwgMjE1LCAyMjEsIDEsIDIxMiwgMTQsIDIxNSwgMjIxLCAxLCAyMTQsIAorICAgIDE5MywgMjE1LCAyMjEsIDEsIDIxMywgMTMwLCAyMTUsIDIyMSwgMSwgMjQ4LCA2LCAyMTUsIDIyMSwgMSwgMjA2LCA1MSwgCisgICAgMjE1LCAyMjEsIDEsIDIzOCwgMjcsIDIxNSwgMjIxLCAxLCAyNDksIDI0MywgMjE1LCAyMjEsIDEsIDI0NiwgOCwgMjE1LCAKKyAgICAyMjEsIDEsIDI0MCwgMjMwLCAyMTUsIDIyMSwgMSwgMjA4LCAxNTUsIDIxNSwgMjIxLCAxLCAyMTIsIDIwLCAyMTUsIDIyMSwgCisgICAgMSwgMjA1LCAxNywgMjE1LCAyMjEsIDEsIDIyNywgMTE3LCAyMTUsIDIyMSwgMSwgMjMyLCAxMDIsIDIxNSwgMjIxLCAxLCAKKyAgICAyMDYsIDI0OCwgMjE1LCAyMjEsIDEsIDIzOSwgMTQzLCAyMTUsIDIyMSwgMSwgMjI5LCAxMzAsIDIxNSwgMjIxLCAxLCAyMjYsIAorICAgIDIxMCwgMjE1LCAyMjEsIDEsIDIzMywgMTA5LCAyMTUsIDIyMSwgMSwgMjQzLCA5NiwgMjE1LCAyMjEsIDEsIDI1MSwgMjI1LCAKKyAgICAyMTUsIDIyMSwgMSwgMjUyLCAyNTIsIDIxNSwgMjIxLCAxLCAyMjIsIDE2NSwgMjE1LCAyMjEsIDEsIDIwNiwgMjM1LCAyMTUsIAorICAgIDIyMSwgMSwgMjIyLCA5MywgMjE1LCAyMjEsIDEsIDI1MiwgMjEzLCAyMTUsIDIyMSwgMSwgMjE4LCAxMjEsIDIxNSwgMjIxLCAKKyAgICAxLCAyMjMsIDE3MywgMjE1LCAyMjEsIDEsIDI0MywgMTEzLCAyMTUsIDIyMSwgMSwgMjUyLCAyMTgsIDIxNSwgMjIxLCAxLCAKKyAgICAyMzcsIDE4MSwgMjE1LCAyMjEsIDEsIDIwOSwgMjA2LCAyMTUsIDIyMSwgMSwgMjIyLCAyMjgsIDIxNSwgMjIxLCAxLCAyMjIsIAorICAgIDE0NCwgMjE1LCAyMjEsIDEsIDIyMiwgMTg5LCAyMTUsIDIyMSwgMSwgMjUxLCAxNjIsIDIxNSwgMjIxLCAxLCAyNTIsIDE0LCAKKyAgICAyMTUsIDIyMSwgMSwgMjIyLCAxMjIsIDIxNSwgMjIxLCAxLCAyNTIsIDE5NiwgMjE1LCAyMjEsIDEsIDI0MiwgMjI5LCAyMTUsIAorICAgIDIyMSwgMSwgMjUxLCAyNDgsIDIxNSwgMjIxLCAxLCAyNDMsIDEyNCwgMjE1LCAyMjEsIDEsIDIzNywgMTg5LCAyMTUsIDIyMSwgCisgICAgMSwgMjA2LCAxNiwgMjIyLCAxMDQsIDEsIDI1MiwgMTcyLCAyMjIsIDEwNCwgMSwgMjUwLCAxODMsIDIyMiwgMTA0LCAxLCAKKyAgICAyMTIsIDIxOSwgMjIyLCAxMDQsIDEsIDIzMiwgMjAwLCAyMjIsIDEwNCwgMSwgMjA2LCAxODEsIDIyMiwgMTA0LCAxLCAyMzEsIAorICAgIDE2NywgMjIyLCAxMDQsIDEsIDI0NSwgMjUwLCAyMjIsIDEwNCwgMSwgMjE5LCAxMTMsIDIyMiwgMTA0LCAxLCAyMTcsIDE5OSwgCisgICAgMjIyLCAxMDQsIDEsIDIxNSwgMTc3LCAyMjIsIDEwNCwgMSwgMjQ1LCAxOTIsIDIyMiwgMTA0LCAxLCAyNDgsIDE3MywgMjIyLCAKKyAgICAxMDQsIDEsIDI0MCwgMjQ0LCAyMjIsIDEwNCwgMSwgMjQyLCA3MywgMjIyLCAxMDQsIDEsIDIyMCwgMTcsIDIyMiwgMTA0LCAKKyAgICAxLCAyMzIsIDYxLCAyMjIsIDEwNCwgMSwgMjMwLCAxMzYsIDIyMiwgMTA0LCAxLCAyMjYsIDIyMywgMjIyLCAxMDQsIDEsIAorICAgIDIyMywgMTU3LCAyMjIsIDEwNCwgMSwgMjA3LCA1OSwgMjIyLCAxMDQsIDEsIDE1NSwgMjIyLCAxMDQsIDEsIDE5MCwgMjIyLCAKKyAgICAxMDQsIDEsIDYyLCAyMjIsIDEwNCwgMSwgNzUsIDIyMiwgMTA0LCAxLCA3NCwgMjIyLCAxMDQsIDEsIDc2LCAyMjIsIDEwNCwgCisgICAgMSwgNzEsIDIyMiwgMTA0LCAxLCAyNTMsIDE2NCwgMjIyLCAxMDQsIDEsIDI0MywgMTA0LCAyMjIsIDEwNCwgMSwgMjIyLCAKKyAgICAxNTIsIDIyMiwgMTA0LCAxOCwgMjA1LCA4NSwgMjIyLCAxMDQsIDE4LCAxMDIsIDIyMiwgMTA0LCAxOCwgMTA1LCAyMjIsIAorICAgIDEwNCwgMTgsIDE0MiwgMjIyLCAxMDQsIDE4LCAxMzksIDIyMiwgMTA0LCAxOCwgMTY4LCAyMjIsIDEwNCwgMTgsIDE4NCwgCisgICAgMjIyLCAxMDQsIDE4LCAxOTUsIDIyMiwgMTA0LCAxOCwgMTkzLCAyMjIsIDEwNCwgMTgsIDIwMCwgMjQzLCA2NCwgMSwgNjIsIAorICAgIDI0MywgNjQsIDEsIDI1MCwgNjEsIDI0MywgNjQsIDEsIDI0OCwgMTQ4LCAyNDMsIDY0LCAxLCAyNDgsIDgyLCAyNDMsIDY0LCAKKyAgICAxLCAyNDYsIDksIDI0MywgNjQsIDEsIDIyNSwgMTQzLCAyNDMsIDY0LCAxLCAyNDUsIDE4MywgMjQzLCA2NCwgMSwgMjQzLCAKKyAgICA5MCwgMjQzLCA2NCwgMSwgNzUsIDI0MywgNjQsIDEsIDI0MiwgMjgsIDI0MywgNjQsIDEsIDI0MCwgMTcwLCAyNDMsIDY0LCAKKyAgICAxLCAyNDAsIDMyLCAyNDMsIDY0LCAxLCAyMzksIDcxLCAyNDMsIDY0LCAxLCA3NCwgMjQzLCA2NCwgMSwgMjMyLCAxODIsIAorICAgIDI0MywgNjQsIDEsIDIzMSwgMjI0LCAyNDMsIDY0LCAxLCAyMzAsIDU4LCAyNDMsIDY0LCAxLCAyMjksIDE2OCwgMjQzLCA2NCwgCisgICAgMSwgMjI3LCAxMTksIDI0MywgNjQsIDEsIDIyNSwgMTEwLCAyNDMsIDY0LCAxLCAxOTksIDI0MywgNjQsIDEsIDIyNCwgMTczLCAKKyAgICAyNDMsIDY0LCAxLCA3NiwgMjQzLCA2NCwgMSwgMjIxLCAxNzQsIDI0MywgNjQsIDEsIDIxOSwgMjU1LCAyNDMsIDY0LCAxLCAKKyAgICAyMTksIDUxLCAyNDMsIDY0LCAxLCAyMTgsIDg0LCAyNDMsIDY0LCAxLCAyMTcsIDg2LCAyNDMsIDY0LCAxLCAyMTUsIDIxNCwgCisgICAgMjQzLCA2NCwgMSwgMjEyLCAxMzEsIDI0MywgNjQsIDEsIDIxMiwgNDEsIDI0MywgNjQsIDEsIDcxLCAyNDMsIDY0LCAxLCAKKyAgICAyMDksIDM5LCAyNDMsIDY0LCAxLCAyMDYsIDE3NSwgMjQzLCA2NCwgMSwgMjA2LCAxMjMsIDI0MywgNjQsIDEsIDIwNSwgOTMsIAorICAgIDI0MywgNjQsIDEsIDIwNSwgNzIsIDI0MywgNjQsIDEsIDI0MCwgODUsIDI0MywgNjQsIDEsIDI0MCwgOTEsIDI0MywgNjQsIAorICAgIDEsIDIzMSwgMTUyLCAyNDgsIDE4MCwgMjUyLCAxNzMsIDEsIDI1MiwgMTQzLCAyNDgsIDE4MCwgMjUyLCAxNzMsIDEsIDI1MCwgCisgICAgMTAsIDI0OCwgMTgwLCAyNTIsIDE3MywgMSwgMjQwLCA0OSwgMjQ4LCAxODAsIDI1MiwgMTczLCAxLCAyNDYsIDc0LCAyNDgsIAorICAgIDE4MCwgMjUyLCAxNzMsIDEsIDI0MywgMTEyLCAyNDgsIDE4MCwgMjUyLCAxNzMsIDEsIDIwNSwgMTAzLCAyNDgsIDE4MCwgCisgICAgMjUyLCAxNzMsIDEsIDI0MiwgMTQ3LCAyNDgsIDE4MCwgMjUyLCAxNzMsIDEsIDIwNSwgNjYsIDI0OCwgMTgwLCAyNTIsIAorICAgIDE3MywgMSwgMjEyLCAxNTcsIDI0OCwgMTgwLCAyNTIsIDE3MywgMSwgMjQ4LCAxMTAsIDI0OCwgMTgwLCAyNTIsIDE3MywgMSwgCisgICAgMjA1LCAyMjQsIDI0OCwgMTgwLCAyNTIsIDE3MywgMSwgMjA1LCA4MSwgMjQ4LCAxODAsIDI1MiwgMTczLCAxLCAyMzIsIAorICAgIDI0MiwgMjQ4LCAxODAsIDI1MiwgMTczLCAxLCAyMTYsIDIsIDI0OCwgMTgwLCAyNTIsIDE3MywgMSwgMjMwLCA5NSwgMjQ4LCAKKyAgICAxODAsIDI1MiwgMTczLCAxLCAyMzIsIDI1NCwgMjQ4LCAxODAsIDI1MiwgMTczLCAxLCAyMDYsIDE3MSwgMjQ4LCAxODAsIAorICAgIDI1MiwgMTczLCAxLCAyNDMsIDIwMywgMjQ4LCAxODAsIDI1MiwgMTczLCAxLCAyNDgsIDIwNCwgMjQ4LCAxODAsIDI1MiwgCisgICAgMTczLCAxLCAyMzIsIDE2MywgMjQ4LCAxODAsIDI1MiwgMTczLCAxLCAyMzIsIDcsIDI0OCwgMTgwLCAyNTIsIDE3MywgMSwgCisgICAgMjI5LCAzNywgMjQ4LCAxODAsIDI1MiwgMTczLCAxLCAyMzksIDIyLCAyNDgsIDE4MCwgMjUyLCAxNzMsIDEsIDIyMCwgMCwgCisgICAgMjQ4LCAxODAsIDI1MiwgMTczLCAxLCAyNTIsIDcwLCAyNDgsIDE4MCwgMjUyLCAxNzMsIDEsIDI0OCwgMjMsIDI0OCwgMTgwLCAKKyAgICAyNTIsIDE3MywgMSwgMjQ4LCA1OCwgMjQ4LCAxODAsIDI1MiwgMTczLCAxLCAyNDYsIDI1MiwgMjQ4LCAxODAsIDI1MiwgCisgICAgMTczLCAxLCAyMjcsIDIwMiwgMjQ4LCAxODAsIDI1MiwgMTczLCAxLCAyMjAsIDQsIDI0OCwgMTgwLCAyNTIsIDE3MywgMSwgCisgICAgMjI0LCAyOCwgMjQ4LCAxODAsIDI1MiwgMTczLCAxLCAyNDMsIDE4MSwgMjQ4LCAxODAsIDI1MiwgMTczLCAxLCAyMTUsIAorICAgIDI0MiwgMjQ4LCAxODAsIDI1MiwgMTczLCAxLCAyMzIsIDE4MywgMjQ4LCAxODAsIDI1MiwgMTczLCAxLCAyMjIsIDE2NSwgCisgICAgMjQ4LCAxODAsIDI1MiwgMTczLCAxLCAyMTAsIDk5LCAyNDgsIDE4MCwgMjUyLCAxNzMsIDEsIDI0MiwgNDksIDI0OCwgMTgwLCAKKyAgICAyNTIsIDE3MywgMSwgMjQzLCAxOTQsIDI0OCwgMTgwLCAyNTIsIDE3MywgMSwgMjQ4LCA4OCwgMjQ4LCAxODAsIDI1MiwgCisgICAgMTczLCAxLCAyMjEsIDE1MCwgMjQ4LCAxODAsIDI1MiwgMTczLCAxLCAyNDAsIDc1LCAyNDgsIDE4MCwgMjUyLCAxNzMsIDEsIAorICAgIDIxOSwgNjUsIDI0OCwgMTgwLCAyNTIsIDE3MywgMSwgMjE2LCAxMSwgMjQ4LCAxODAsIDI1MiwgMTczLCAxLCAyMDgsIDIxNiwgCisgICAgMjQ4LCAxODAsIDI1MiwgMTczLCAxLCAyMTEsIDE1MCwgMjQ4LCAxODAsIDI1MiwgMTczLCAxLCAyMTUsIDEyNCwgMjQ4LCAKKyAgICAxODAsIDI1MiwgMTczLCAxLCAyMzIsIDIxMywgMjQ4LCAxODAsIDI1MiwgMTczLCAxLCAyNDYsIDI1MywgMjQ4LCAxODAsIAorICAgIDI1MiwgMTczLCAxLCAyNDgsIDE3MywgMjQ4LCAxODAsIDI1MiwgMTczLCAxLCAyMDYsIDU2LCAyNDgsIDE4MCwgMjUyLCAKKyAgICAxNzMsIDEsIDIyMCwgMjQ0LCAyNDgsIDE4MCwgMjUyLCAxNzMsIDEsIDIzMSwgODcsIDI0OCwgMTgwLCAyNTIsIDE3MywgCisgICAgMjQ3LCAyMjQsIDgzLCAyNiwgMzIsIDMsIDI1MywgMTE0LCAyNiwgMzIsIDMsIDI1MywgMTEzLCAyNiwgMzIsIDMsIDI1MywgCisgICAgMTEyLCAyNiwgMzIsIDMsIDI1MywgMTExLCAyNiwgMzIsIDMsIDI1MywgMTEwLCAyNiwgMzIsIDMsIDI1MywgMTA5LCAyNiwgCisgICAgMzIsIDMsIDI1MywgMTA4LCAyNiwgMzIsIDMsIDI1MywgMTA3LCAyNiwgMzIsIDMsIDI1MywgMTA2LCAyNiwgMzIsIDMsIAorICAgIDI1MywgMTA1LCAyNiwgMzIsIDMsIDI1MywgMTA0LCAyNiwgMzIsIDMsIDI1MywgMTAzLCAyNiwgMzIsIDMsIDI1MywgMTAyLCAKKyAgICAyNiwgMzIsIDMsIDI1MywgMTAxLCAyNiwgMzIsIDMsIDI1MywgMTAwLCAyNiwgMzIsIDMsIDI1MywgOTksIDI2LCAzMiwgMywgCisgICAgMjUzLCA5OCwgMjYsIDMyLCAzLCAyNTMsIDk3LCAyNiwgMzIsIDMsIDI1MywgOTYsIDI2LCAzMiwgMywgMjUzLCA5NSwgMjYsIAorICAgIDMyLCAzLCAyNTMsIDk0LCAyNiwgMzIsIDMsIDI1MywgOTMsIDI2LCAzMiwgMywgMjUzLCA5MiwgMjYsIDMyLCAzLCAyNTMsIAorICAgIDkxLCAyNiwgMzIsIDMsIDI1MywgOTAsIDI2LCAzMiwgMywgMjUzLCA4OSwgMjYsIDMyLCAzLCAyNTMsIDg4LCAyNiwgMzIsIAorICAgIDMsIDI1NCwgMjE3LCAyNiwgMzIsIDMsIDI1MywgODcsIDI2LCAzMiwgMywgMjUzLCA4NiwgMjYsIDMyLCAzLCAyNTMsIDg1LCAKKyAgICAyNiwgMzIsIDMsIDI1MywgODQsIDI2LCAzMiwgMywgMjUzLCA4MywgMjYsIDMyLCAzLCAyNTMsIDgyLCAyNiwgMzIsIDMsIAorICAgIDI1MywgODEsIDI2LCAzMiwgMywgMjUzLCA4MCwgMjYsIDMyLCAzLCAyNTMsIDc5LCAyNiwgMzIsIDMsIDI1MywgNzgsIDI2LCAKKyAgICAzMiwgMywgMjUzLCA3NywgMjYsIDMyLCAzLCAyNTMsIDc2LCAyNiwgMzIsIDMsIDI1MywgNzUsIDI2LCAzMiwgMywgMjUzLCAKKyAgICA3NCwgMjYsIDMyLCAzLCAyNTMsIDczLCAyNiwgMzIsIDMsIDI1MywgNzIsIDI2LCAzMiwgMywgMjUzLCA3MSwgMjYsIDMyLCAKKyAgICAzLCAyNTMsIDcwLCAyNiwgMzIsIDMsIDI1MywgNjksIDI2LCAzMiwgMywgMjUzLCA2OCwgMjYsIDMyLCAzLCAyNTMsIDY3LCAKKyAgICAyNiwgMzIsIDMsIDI1MywgNjYsIDI2LCAzMiwgMywgMjUzLCA2NSwgMjYsIDMyLCAzLCAyNTMsIDY0LCAyNiwgMzIsIDMsIAorICAgIDI1MywgNjMsIDI2LCAzMiwgMywgMjUzLCA2MiwgMjYsIDMyLCAzLCAyNTMsIDYxLCAyNiwgMzIsIDMsIDI1MywgNjAsIDI2LCAKKyAgICAzMiwgMywgMjUzLCA1OSwgMjYsIDMyLCAzLCAyNTMsIDU4LCAyNiwgMzIsIDMsIDI1MywgNTcsIDI2LCAzMiwgMywgMjUzLCAKKyAgICA1NiwgMjYsIDMyLCAzLCAyNTMsIDU1LCAyNiwgMzIsIDMsIDI1MywgNTQsIDI2LCAzMiwgMywgMjUzLCA1MywgMjYsIDMyLCAKKyAgICAzLCAyNTMsIDUyLCAyNiwgMzIsIDMsIDI1MywgNTEsIDI2LCAzMiwgMywgMjUzLCA1MCwgMjYsIDMyLCAzLCAyNTMsIDQ5LCAKKyAgICAyNiwgMzIsIDMsIDI1MywgNDgsIDI2LCAzMiwgMywgMjUzLCA0NywgMjYsIDMyLCAzLCAyNTMsIDQ2LCAyNiwgMzIsIDMsIAorICAgIDI1MywgNDUsIDI2LCAzMiwgMywgMjU0LCAxNjksIDI2LCAzMiwgMywgMjUzLCA0NCwgMjYsIDMyLCAzLCAyNTMsIDQzLCAyNiwgCisgICAgMzIsIDMsIDI1NCwgMTY4LCAyNiwgMzIsIDMsIDI1MywgNDIsIDI2LCAzMiwgMywgMjUzLCA0MSwgMjYsIDMyLCAzLCAyNTMsIAorICAgIDQwLCAyNiwgMzIsIDMsIDI1MywgMzksIDI2LCAzMiwgMywgMjU0LCAxNjcsIDI2LCAzMiwgMywgMjUzLCAzOCwgMjYsIDMyLCAKKyAgICAzLCAyNTMsIDM3LCAyNiwgMzIsIDMsIDI1MywgMzYsIDI2LCAzMiwgMywgMjUzLCAzNSwgMjYsIDMyLCAzLCAyNTMsIDM0LCAKKyAgICAyNiwgMzIsIDMsIDI1NCwgMTY0LCAyNiwgMzIsIDMsIDI1NCwgMTYzLCAyNiwgMzIsIDMsIDI1NCwgMTYyLCAyNiwgMzIsIDMsIAorICAgIDI1NCwgMTYxLCAyNiwgMzIsIDMsIDI1NCwgMTYwLCAyNiwgMzIsIDMsIDI1NCwgMTU5LCAyNiwgMzIsIDMsIDI1NCwgMTU4LCAKKyAgICAyNiwgMzIsIDMsIDI1NCwgMTU3LCAyNiwgMzIsIDMsIDI1NCwgMTU2LCAyNiwgMzIsIDMsIDI1NCwgMTU1LCAyNiwgMzIsIDMsIAorICAgIDI1NCwgMTU0LCAyNiwgMzIsIDMsIDI1NCwgMTUzLCAyNiwgMzIsIDMsIDI1NCwgMTUyLCAyNiwgMzIsIDMsIDI1NCwgMTUxLCAKKyAgICAyNiwgMzIsIDMsIDI1NCwgMTUwLCAyNiwgMzIsIDMsIDI1NCwgMTQ5LCAyNiwgMzIsIDMsIDI1NCwgMTQ4LCAyNiwgMzIsIDMsIAorICAgIDI1NCwgMTQ3LCAyNiwgMzIsIDMsIDI1NCwgMTQ2LCAyNiwgMzIsIDMsIDI1NCwgMTQ1LCAyNiwgMzIsIDMsIDI1NCwgMTQ0LCAKKyAgICAyNiwgMzIsIDMsIDI1NCwgMTQzLCAyNiwgMzIsIDMsIDI1NCwgMTQyLCAyNiwgMzIsIDMsIDI1NCwgMTQxLCAyNiwgMzIsIDMsIAorICAgIDI1NCwgMTQwLCAyNiwgMzIsIDMsIDI1NCwgMTM5LCAyNiwgMzIsIDMsIDI1NCwgMTM4LCAyNiwgMzIsIDMsIDI1NCwgMTM3LCAKKyAgICAyNiwgMzIsIDMsIDI1NCwgMTM2LCAyNiwgMzIsIDMsIDI1NCwgMTM1LCAyNiwgMzIsIDMsIDI1NCwgMTM0LCAyNiwgMzIsIDMsIAorICAgIDI1NCwgMTMzLCAyNiwgMzIsIDMsIDI1NCwgMTMyLCAyNiwgMzIsIDMsIDI1NCwgMTMxLCAyNiwgMzIsIDMsIDI1NCwgMTMwLCAKKyAgICAyNiwgMzIsIDMsIDI1NCwgMTI5LCAyNiwgMzIsIDMsIDI1NCwgMTI4LCAyNiwgMzIsIDMsIDI1NCwgMTI3LCAyNiwgMzIsIDMsIAorICAgIDI1NCwgMTI2LCAyNiwgMzIsIDMsIDI1NCwgMTI1LCAyNiwgMzIsIDMsIDI1NCwgMTI0LCAyNiwgMzIsIDMsIDI1NCwgMTIzLCAKKyAgICAyNiwgMzIsIDMsIDI1NCwgMTIyLCAyNiwgMzIsIDMsIDI1NCwgMTIxLCAyNiwgMzIsIDMsIDI1NCwgMTIwLCAyNiwgMzIsIDMsIAorICAgIDI1NCwgMTE5LCAyNiwgMzIsIDMsIDI1NCwgMTE4LCAyNiwgMzIsIDMsIDI1NCwgMTE3LCAyNiwgMzIsIDMsIDI1NCwgMTE2LCAKKyAgICAyNiwgMzIsIDMsIDI1NCwgMTE1LCAyNiwgMzIsIDMsIDI1NCwgMTE0LCAyNiwgMzIsIDMsIDI1NCwgMTEzLCAyNiwgMzIsIDMsIAorICAgIDI1NCwgMTEyLCAyNiwgMzIsIDMsIDI1NCwgMTExLCAyNiwgMzIsIDMsIDI1NCwgMTEwLCAyNiwgMzIsIDMsIDI1NCwgMTA5LCAKKyAgICAyNiwgMzIsIDMsIDI1NCwgMTA4LCAyNiwgMzIsIDMsIDI1NCwgMTA3LCAyNiwgMzIsIDMsIDI1NCwgMTA2LCAyNiwgMzIsIDMsIAorICAgIDI1NCwgMTA1LCAyNiwgMzIsIDMsIDI1NCwgMTA0LCAyNiwgMzIsIDMsIDI1NCwgMTAzLCAyNiwgMzIsIDMsIDI1NCwgMTAyLCAKKyAgICAyNiwgMzIsIDMsIDI1NCwgMTAxLCAyNiwgMzIsIDMsIDI1NCwgMTAwLCAyNiwgMzIsIDMsIDI1NCwgOTksIDI2LCAzMiwgMywgCisgICAgMjU0LCA5OCwgMjYsIDMyLCAzLCAyNTQsIDk3LCAyNiwgMzIsIDMsIDI1NCwgOTYsIDI2LCAzMiwgMywgMjU0LCA5NSwgMjYsIAorICAgIDMyLCAzLCAyNTQsIDk0LCAyNiwgMzIsIDMsIDI1NCwgOTMsIDI2LCAzMiwgMywgMjU0LCA5MiwgMjYsIDMyLCAzLCAyNTQsIAorICAgIDkxLCAyNiwgMzIsIDMsIDI1NCwgOTAsIDI2LCAzMiwgMywgMjU0LCA4OSwgMjYsIDMyLCAzLCAyNTQsIDg4LCAyNiwgMzIsIAorICAgIDMsIDI1NCwgODcsIDI2LCAzMiwgMywgMjU0LCA4NiwgMjYsIDMyLCAzLCAyNTQsIDg1LCAyNiwgMzIsIDMsIDI1NCwgODQsIAorICAgIDI2LCAzMiwgMywgMjU0LCA4MywgMjYsIDMyLCAzLCAyNTQsIDgyLCAyNiwgMzIsIDMsIDI1NCwgODEsIDI2LCAzMiwgMywgCisgICAgMjU0LCA4MCwgMjYsIDMyLCAzLCAyNTQsIDc5LCAyNiwgMzIsIDMsIDI1NCwgNzgsIDI2LCAzMiwgMywgMjU0LCA3NywgMjYsIAorICAgIDMyLCAzLCAyNTQsIDc2LCAyNiwgMzIsIDMsIDI1NCwgNzUsIDI2LCAzMiwgMywgMjU0LCA3NCwgMjYsIDMyLCAzLCAyNTQsIAorICAgIDczLCAyNiwgMzIsIDMsIDI1NCwgNzIsIDI2LCAzMiwgMywgMjU0LCA3MSwgMjYsIDMyLCAzLCAyNTQsIDcwLCAyNiwgMzIsIAorICAgIDMsIDI1NCwgNjksIDI2LCAzMiwgMywgMjU0LCA2OCwgMjYsIDMyLCAzLCAyNTQsIDY3LCAyNiwgMzIsIDMsIDI1NCwgNjYsIAorICAgIDI2LCAzMiwgMywgMjU0LCA2NSwgMjYsIDMyLCAzLCAyNTQsIDY0LCAyNiwgMzIsIDMsIDI1NCwgNjMsIDI2LCAzMiwgMywgCisgICAgMjU0LCA2MiwgMjYsIDMyLCAzLCAyNTQsIDYxLCAyNiwgMzIsIDMsIDI1NCwgNjAsIDI2LCAzMiwgMywgMjU0LCA1OSwgMjYsIAorICAgIDMyLCAzLCAyNTQsIDU4LCAyNiwgMzIsIDMsIDI1NCwgNTcsIDI2LCAzMiwgMywgMjU0LCA1NiwgMjYsIDMyLCAzLCAyNTQsIAorICAgIDU1LCAyNiwgMzIsIDMsIDI1NCwgNTQsIDI2LCAzMiwgMywgMjU0LCA1MywgMjYsIDMyLCAzLCAyNTQsIDUyLCAyNiwgMzIsIAorICAgIDMsIDI1NCwgNTEsIDI2LCAzMiwgMywgMjU0LCA1MCwgMjYsIDMyLCAzLCAyNTQsIDQ5LCAyNiwgMzIsIDMsIDI1NCwgNDgsIAorICAgIDI2LCAzMiwgMywgMjU0LCA0NywgMjYsIDMyLCAzLCAyNTQsIDQ2LCAyNiwgMzIsIDMsIDI1NCwgNDUsIDI2LCAzMiwgMywgCisgICAgMjU0LCA0NCwgMjYsIDMyLCAzLCAyNTQsIDQzLCAyNiwgMzIsIDMsIDI1NCwgNDIsIDI2LCAzMiwgMywgMjU0LCA0MSwgMjYsIAorICAgIDMyLCAzLCAyNTQsIDQwLCAyNiwgMzIsIDMsIDI1NCwgMzksIDI2LCAzMiwgMywgMjU0LCAzOCwgMjYsIDMyLCAzLCAyNTQsIAorICAgIDM3LCAyNiwgMzIsIDMsIDI1NCwgMzYsIDI2LCAzMiwgMywgMjU0LCAzNSwgMjYsIDMyLCAzLCAyNTQsIDM0LCAyNiwgMzIsIAorICAgIDMsIDI1NCwgMzMsIDI2LCAzMiwgMywgMjU0LCAzMiwgMjYsIDMyLCAzLCAyNTQsIDMxLCAyNiwgMzIsIDMsIDI1NCwgMzAsIAorICAgIDI2LCAzMiwgMywgMjU0LCAyOSwgMjYsIDMyLCAzLCAyNTQsIDI4LCAyNiwgMzIsIDMsIDI1NCwgMjcsIDI2LCAzMiwgMywgCisgICAgMjU0LCAyNiwgMjYsIDMyLCAzLCAyNTQsIDI1LCAyNiwgMzIsIDMsIDI1NCwgMjQsIDI2LCAzMiwgMywgMjU0LCAyMywgMjYsIAorICAgIDMyLCAzLCAyNTQsIDIyLCAyNiwgMzIsIDMsIDI1NCwgMjEsIDI2LCAzMiwgMywgMjU0LCAyMCwgMjYsIDMyLCAzLCAyNTQsIAorICAgIDE5LCAyNiwgMzIsIDMsIDI1NCwgMTgsIDI2LCAzMiwgMywgMjU0LCAxNywgMjYsIDMyLCAzLCAyNTQsIDE2LCAyNiwgMzIsIAorICAgIDMsIDI1NCwgMTUsIDI2LCAzMiwgMywgMjU0LCAxNCwgMjYsIDMyLCAzLCAyNTQsIDEzLCAyNiwgMzIsIDMsIDI1NCwgMTIsIAorICAgIDI2LCAzMiwgMywgMjU0LCAxMSwgMjYsIDMyLCAzLCAyNTQsIDEwLCAyNiwgMzIsIDMsIDI1NCwgOSwgMjYsIDMyLCAzLCAKKyAgICAyNTQsIDgsIDI2LCAzMiwgMywgMjU0LCA3LCAyNiwgMzIsIDMsIDI1NCwgNiwgMjYsIDMyLCAzLCAyNTQsIDUsIDI2LCAzMiwgCisgICAgMywgMjU0LCA0LCAyNiwgMzIsIDMsIDI1NCwgMywgMjYsIDMyLCAzLCAyNTQsIDIsIDI2LCAzMiwgMywgMjU0LCAxLCAyNiwgCisgICAgMzIsIDMsIDI1NCwgMCwgMjYsIDMyLCAzLCAyNTMsIDI1NSwgMjYsIDMyLCAzLCAyNTMsIDI1NCwgMjYsIDMyLCAzLCAyNTMsIAorICAgIDI1MywgMjYsIDMyLCAzLCAyNTMsIDI1MiwgMjYsIDMyLCAzLCAyNTMsIDI1MSwgMjYsIDMyLCAzLCAyNTMsIDI1MCwgMjYsIAorICAgIDMyLCAzLCAyNTMsIDI0OSwgMjYsIDMyLCAzLCAyNTMsIDI0OCwgMjYsIDMyLCAzLCAyNTMsIDI0NywgMjYsIDMyLCAzLCAKKyAgICAyNTMsIDI0NiwgMjYsIDMyLCAzLCAyNTMsIDI0NSwgMjYsIDMyLCAzLCAyNTMsIDI0NCwgMjYsIDMyLCAzLCAyNTMsIDI0MywgCisgICAgMjYsIDMyLCAzLCAyNTMsIDI0MiwgMjYsIDMyLCAzLCAyNTMsIDI0MSwgMjYsIDMyLCAzLCAyNTMsIDI0MCwgMjYsIDMyLCAzLCAKKyAgICAyNTMsIDIzOSwgMjYsIDMyLCAzLCAyNTMsIDIzOCwgMjYsIDMyLCAzLCAyNTMsIDIzNywgMjYsIDMyLCAzLCAyNTMsIDIzNiwgCisgICAgMjYsIDMyLCAzLCAyNTMsIDIzNSwgMjYsIDMyLCAzLCAyNTMsIDIzNCwgMjYsIDMyLCAzLCAyNTMsIDIzMywgMjYsIDMyLCAzLCAKKyAgICAyNTMsIDIzMiwgMjYsIDMyLCAzLCAyNTMsIDIzMSwgMjYsIDMyLCAzLCAyNTMsIDIzMCwgMjYsIDMyLCAzLCAyNTMsIDIyOSwgCisgICAgMjYsIDMyLCAzLCAyNTMsIDIyOCwgMjYsIDMyLCAzLCAyNTMsIDIyNywgMjYsIDMyLCAzLCAyNTMsIDIyNiwgMjYsIDMyLCAzLCAKKyAgICAyNTMsIDIyNSwgMjYsIDMyLCAzLCAyNTMsIDIyNCwgMjYsIDMyLCAzLCAyNTMsIDIyMywgMjYsIDMyLCAzLCAyNTMsIDIyMiwgCisgICAgMjYsIDMyLCAzLCAyNTMsIDIyMSwgMjYsIDMyLCAzLCAyNTMsIDIyMCwgMjYsIDMyLCAzLCAyNTMsIDIxOSwgMjYsIDMyLCAzLCAKKyAgICAyNTMsIDIxOCwgMjYsIDMyLCAzLCAyNTMsIDIxNywgMjYsIDMyLCAzLCAyNTMsIDIxNiwgMjYsIDMyLCAzLCAyNTMsIDIxNSwgCisgICAgMjYsIDMyLCAzLCAyNTMsIDIxNCwgMjYsIDMyLCAzLCAyNTMsIDIxMywgMjYsIDMyLCAzLCAyNTMsIDIxMiwgMjYsIDMyLCAzLCAKKyAgICAyNTMsIDIxMSwgMjYsIDMyLCAzLCAyNTMsIDIxMCwgMjYsIDMyLCAzLCAyNTMsIDIwOSwgMjYsIDMyLCAzLCAyNTMsIDIwOCwgCisgICAgMjYsIDMyLCAzLCAyNTMsIDIwNywgMjYsIDMyLCAzLCAyNTMsIDIwNiwgMjYsIDMyLCAzLCAyNTMsIDIwNSwgMjYsIDMyLCAzLCAKKyAgICAyNTMsIDIwNCwgMjYsIDMyLCAzLCAyNTMsIDIwMywgMjYsIDMyLCAzLCAyNTMsIDIwMiwgMjYsIDMyLCAzLCAyNTMsIDIwMSwgCisgICAgMjYsIDMyLCAzLCAyNTMsIDIwMCwgMjYsIDMyLCAzLCAyNTMsIDE5OSwgMjYsIDMyLCAzLCAyNTMsIDE5OCwgMjYsIDMyLCAzLCAKKyAgICAyNTMsIDE5NywgMjYsIDMyLCAzLCAyNTMsIDE5NiwgMjYsIDMyLCAzLCAyNTMsIDE5NSwgMjYsIDMyLCAzLCAyNTMsIDE5NCwgCisgICAgNjIsIDI2LCAzMiwgMywgMjUzLCAxOTMsIDI1MSwgMTUwLCAyNiwgMzIsIDMsIDI1MywgMTkyLCAyNDYsIDI0MCwgMjYsIDMyLCAKKyAgICAzLCAyNTMsIDE5MSwgNzUsIDI2LCAzMiwgMywgMjUzLCAxOTAsIDI0MiwgMTM5LCAyNiwgMzIsIDMsIDI1MywgMTg5LCAyMzksIAorICAgIDE1NSwgMjYsIDMyLCAzLCAyNTMsIDE4OCwgMjMyLCAyMDMsIDI2LCAzMiwgMywgMjUzLCAxODcsIDIzMiwgNzYsIDI2LCAzMiwgCisgICAgMywgMjUzLCAxODYsIDE0OSwgMjYsIDMyLCAzLCAyNTMsIDE4NSwgMjMwLCAxNDYsIDI2LCAzMiwgMywgMjUzLCAxODQsIAorICAgIDIzMCwgMTQ1LCAyNiwgMzIsIDMsIDI1MywgMTgzLCAyMzAsIDE0NCwgMjYsIDMyLCAzLCAyNTMsIDE4MiwgMjMwLCAxNDMsIAorICAgIDI2LCAzMiwgMywgMjUzLCAxODEsIDIwNywgMTI5LCAyNiwgMzIsIDMsIDI1MywgMTgwLCAyMDYsIDE5NSwgMjYsIDMyLCAzLCAKKyAgICAyNTMsIDE3OSwgMjA2LCAxMjMsIDI2LCAzMiwgMywgMjUzLCAxNzgsIDIyMiwgMTcwLCAyNiwgMzIsIDMsIDI1MywgMTc3LCAKKyAgICAyNTMsIDMwLCAyNiwgMzIsIDMsIDI1MywgMTc2LCAyNTAsIDk4LCAyNiwgMzIsIDMsIDI1MywgMTc1LCAyNDYsIDU2LCAyNiwgCisgICAgMzIsIDMsIDI1MywgMTc0LCAyNDIsIDE0NiwgMjYsIDMyLCAzLCAyNTMsIDE3MywgMjMyLCAxODIsIDI2LCAzMiwgMywgMjUzLCAKKyAgICAxNzIsIDI2LCAzMiwgMywgMjUzLCAxNzEsIDI2LCAzMiwgMywgMjUzLCAxNzAsIDI2LCAzMiwgMywgMjUzLCAxNjksIDI2LCAKKyAgICAzMiwgMywgMjUzLCAxNjgsIDI2LCAzMiwgMywgMjUzLCAxNjcsIDI2LCAzMiwgMywgMjUzLCAxNjYsIDI2LCAzMiwgMywgCisgICAgMjUzLCAxNjUsIDI0NiwgMjQ3LCA0LCA2MiwgMjQ2LCAyNDcsIDQsIDc1LCAyNDYsIDI0NywgNCwgNzQsIDI0NiwgMjQ3LCA0LCAKKyAgICA3NiwgMjQ2LCAyNDcsIDQsIDcxLCAyNDYsIDI0NywgNCwgMjMyLCAyMDAsIDI0NiwgMjQ3LCA0LCAyMzIsIDEyMiwgMjQ2LCAKKyAgICAyNDcsIDQsIDE3MiwgMjQ2LCAyNDcsIDQsIDIzMSwgMjI0LCAyNDYsIDI0NywgNCwgMjMxLCAxMjMsIDI0NiwgMjQ3LCA0LCAKKyAgICAyMzEsIDUzLCAyNDYsIDI0NywgNCwgMjMwLCAyMzYsIDI0NiwgMjQ3LCA0LCAyMzAsIDE0MSwgMjQ2LCAyNDcsIDQsIDIzMCwgCisgICAgNTgsIDI0NiwgMjQ3LCA0LCAyMjksIDIzNSwgMjQ2LCAyNDcsIDQsIDIyOSwgMTQ0LCAyNDYsIDI0NywgNCwgMjI5LCA4MSwgCisgICAgMjQ2LCAyNDcsIDQsIDE4NSwgMjQ2LCAyNDcsIDQsIDIyNywgMTE5LCAyNDYsIDI0NywgNCwgMjI2LCAyNTQsIDI0NiwgMjQ3LCAKKyAgICA0LCAyMjYsIDE4MSwgMjQ2LCAyNDcsIDQsIDIyNiwgMTE0LCAyNDYsIDI0NywgNCwgMTk5LCAyNDYsIDI0NywgNCwgMjI1LCAKKyAgICAxMTAsIDI0NiwgMjQ3LCA0LCAyMjQsIDIzMCwgMjQ2LCAyNDcsIDQsIDIyNCwgNjcsIDI0NiwgMjQ3LCA0LCAyMjMsIDIxNywgCisgICAgMjQ2LCAyNDcsIDQsIDE3OSwgMjQ2LCAyNDcsIDQsIDIyMSwgMTc0LCAyNDYsIDI0NywgNCwgMjIxLCA1MywgMjQ2LCAyNDcsIAorICAgIDQsIDIyMCwgMjExLCAyNDYsIDI0NywgNCwgMjIwLCA4MiwgMjQ2LCAyNDcsIDQsIDIxOSwgMTEzLCAyNDYsIDI0NywgNCwgCisgICAgMjE5LCA1MSwgMjQ2LCAyNDcsIDQsIDIxOCwgMjA4LCAyNDYsIDI0NywgNCwgMjE4LCAxMjQsIDI0NiwgMjQ3LCA0LCAyMTgsIAorICAgIDUwLCAyNDYsIDI0NywgNCwgMjE3LCAxOTksIDI0NiwgMjQ3LCA0LCAyMTcsIDg2LCAyNDYsIDI0NywgNCwgMjE1LCA4MCwgCisgICAgMjQ2LCAyNDcsIDQsIDIxNCwgMTkzLCAyNDYsIDI0NywgNCwgMjEzLCAyMDMsIDI0NiwgMjQ3LCA0LCAyMTIsIDIxOSwgMjQ2LCAKKyAgICAyNDcsIDQsIDIxMiwgMTMxLCAyNDYsIDI0NywgNCwgMjExLCAyMTEsIDI0NiwgMjQ3LCA0LCAxMjQsIDI0NiwgMjQ3LCA0LCAKKyAgICAyMTAsIDE3MCwgMjQ2LCAyNDcsIDQsIDIwNywgOTYsIDI0NiwgMjQ3LCA0LCAyMDcsIDUxLCAyNDYsIDI0NywgNCwgMjA3LCAKKyAgICAyMCwgMjQ2LCAyNDcsIDQsIDIwNiwgMjUwLCAyNDYsIDI0NywgNCwgMjA2LCAxODEsIDI0NiwgMjQ3LCA0LCAyMDYsIDE3NSwgCisgICAgMjQ2LCAyNDcsIDQsIDIwNSwgMTE2LCAyNDYsIDI0NywgNCwgMjA1LCAxOSwgMjMzLCA3MCwgMjUyLCAyMywgMSwgMjUyLCAKKyAgICAxNzAsIDIzMywgNzAsIDI1MiwgMjMsIDEsIDI1MCwgNywgMjMzLCA3MCwgMjUyLCAyMywgMSwgMjQwLCA0NywgMjMzLCA3MCwgCisgICAgMjUyLCAyMywgMSwgMjQ2LCAxMTAsIDIzMywgNzAsIDI1MiwgMjMsIDEsIDIzOSwgNzEsIDIzMywgNzAsIDI1MiwgMjMsIDEsIAorICAgIDIwNywgNTksIDIzMywgNzAsIDI1MiwgMjMsIDEsIDIwNSwgOTYsIDIzMywgNzAsIDI1MiwgMjMsIDEsIDIzOSwgMjcsIDIzMywgCisgICAgNzAsIDI1MiwgMjMsIDEsIDIxMiwgNzYsIDIzMywgNzAsIDI1MiwgMjMsIDEsIDIwNSwgMjM1LCAyMzMsIDcwLCAyNTIsIDIzLCAKKyAgICAxLCAyMzIsIDE3LCAyMzMsIDcwLCAyNTIsIDIzLCAxLCAyMzAsIDk3LCAyMzMsIDcwLCAyNTIsIDIzLCAxLCAyMjcsIDkwLCAKKyAgICAyMzMsIDcwLCAyNTIsIDIzLCAxLCAyMjMsIDE3MywgMjMzLCA3MCwgMjUyLCAyMywgMSwgMjE3LCAxNTcsIDIzMywgNzAsIAorICAgIDI1MiwgMjMsIDEsIDI1MSwgMTU0LCAyMzMsIDcwLCAyNTIsIDIzLCAxLCAyMjEsIDE3NCwgMjMzLCA3MCwgMjUyLCAyMywgMSwgCisgICAgMjE3LCAxODksIDIzMywgNzAsIDI1MiwgMjMsIDEsIDIxOSwgMjE4LCAyMzMsIDcwLCAyNTIsIDIzLCAxLCAyMTgsIDI0MiwgCisgICAgMjMzLCA3MCwgMjUyLCAyMywgMSwgMjE1LCAxNzEsIDIzMywgNzAsIDI1MiwgMjMsIDEsIDIxMiwgMTQ1LCAyMzMsIDcwLCAKKyAgICAyNTIsIDIzLCAyMTcsIDc3LCA1MywgMjMzLCA3MCwgMjUyLCAyMywgNDMsIDEwMiwgMjMzLCA3MCwgMjUyLCAyMywgNDMsIAorICAgIDEwNSwgMjMzLCA3MCwgMjUyLCAyMywgNDMsIDE0MiwgMjMzLCA3MCwgMjUyLCAyMywgNDMsIDIxMiwgOTgsIDIzMywgNzAsIAorICAgIDI1MiwgMjMsIDQzLCAyMTAsIDEyMywgMjMzLCA3MCwgMjUyLCAyMywgNDMsIDExOSwgMjM4LCAyOSwgMjMzLCA3MCwgMjUyLCAKKyAgICAyMywgNDMsIDExOSwgMjExLCAyNDIsIDIzMywgNzAsIDI1MiwgMjMsIDQzLCAyMTIsIDk5LCAyMTEsIDI0MiwgMjIyLCAxOCwgCisgICAgMSwgMjUyLCAxNzAsIDIyMiwgMTgsIDEsIDI1MCwgNywgMjIyLCAxOCwgMSwgMjQwLCA0NywgMjIyLCAxOCwgMSwgMjQ2LCAKKyAgICAxMTAsIDIyMiwgMTgsIDEsIDIzOSwgNzEsIDIyMiwgMTgsIDEsIDIwNywgNTksIDIyMiwgMTgsIDEsIDIwNSwgOTYsIDIyMiwgCisgICAgMTgsIDEsIDIzOSwgMjcsIDIyMiwgMTgsIDEsIDIxMiwgNzYsIDIyMiwgMTgsIDEsIDIwNSwgMjM1LCAyMjIsIDE4LCAxLCAKKyAgICAyMzIsIDE3LCAyMjIsIDE4LCAxLCAyMzAsIDk3LCAyMjIsIDE4LCAxLCAyMjcsIDkwLCAyMjIsIDE4LCAxLCA0MiwgMjIzLCAKKyAgICAxNzMsIDIyMiwgMTgsIDEsIDIyMywgMTczLCAyMjIsIDE4LCAxLCAyMTcsIDE1NywgMjIyLCAxOCwgMSwgMjUxLCAxNTQsIAorICAgIDIyMiwgMTgsIDEsIDIyMSwgMTc0LCAyMjIsIDE4LCAxLCAyMTcsIDE4OSwgMjIyLCAxOCwgMSwgMjE5LCAyMTgsIDIyMiwgCisgICAgMTgsIDEsIDIxOCwgMjQyLCAyMjIsIDE4LCAxLCAyMTUsIDE3MSwgMjIyLCAxOCwgMSwgMjEyLCAxNDUsIDIyMiwgMTgsIAorICAgIDIzMCwgNDEsIDI0MSwgMTgzLCAyMjIsIDE4LCAyMTgsIDE2MiwgMjQxLCAxODMsIDIyMiwgMTgsIDQzLCAxMDIsIDIyMiwgCisgICAgMTgsIDQzLCAxMDUsIDIyMiwgMTgsIDQzLCAxNDIsIDIyMiwgMTgsIDQzLCAxMzksIDIyMiwgMTgsIDQzLCAxNjgsIDIyMiwgCisgICAgMTgsIDQzLCAyMTIsIDk4LCAyMjIsIDE4LCA0MywgMjEwLCAxMjMsIDIyNSwgMjI4LCAxLCA0MiwgMjUyLCAxNzAsIDIyNSwgCisgICAgMjI4LCAxLCAyNTIsIDE3MCwgMjI1LCAyMjgsIDEsIDQyLCAyNTAsIDcsIDIyNSwgMjI4LCAxLCAyNTAsIDcsIDIyNSwgMjI4LCAKKyAgICAxLCAyNDAsIDQ3LCAyMjUsIDIyOCwgMSwgMjQ2LCAxMTAsIDIyNSwgMjI4LCAxLCA0MiwgMjM5LCA3MSwgMjI1LCAyMjgsIDEsIAorICAgIDIzOSwgNzEsIDIyNSwgMjI4LCAxLCAyMDcsIDU5LCAyMjUsIDIyOCwgMSwgMjA1LCA5NiwgMjI1LCAyMjgsIDEsIDIzOSwgCisgICAgMjcsIDIyNSwgMjI4LCAxLCAyMTIsIDc2LCAyMjUsIDIyOCwgMSwgNDIsIDIwNSwgMjM1LCAyMjUsIDIyOCwgMSwgMjA1LCAKKyAgICAyMzUsIDIyNSwgMjI4LCAxLCA0MiwgMjMyLCAxNywgMjI1LCAyMjgsIDEsIDIzMiwgMTcsIDIyNSwgMjI4LCAxLCA0MiwgCisgICAgMjMwLCA5NywgMjI1LCAyMjgsIDEsIDIzMCwgOTcsIDIyNSwgMjI4LCAxLCA0MiwgMjI3LCA5MCwgMjI1LCAyMjgsIDEsIAorICAgIDIyNywgOTAsIDIyNSwgMjI4LCAxLCA0MiwgMjIzLCAxNzMsIDIyNSwgMjI4LCAxLCAyMjMsIDE3MywgMjI1LCAyMjgsIDEsIAorICAgIDIxNywgMTU3LCAyMjUsIDIyOCwgMSwgMjUxLCAxNTQsIDIyNSwgMjI4LCAxLCAyMjEsIDE3NCwgMjI1LCAyMjgsIDEsIDIxNywgCisgICAgMTg5LCAyMjUsIDIyOCwgMSwgMjE5LCAyMTgsIDIyNSwgMjI4LCAxLCAyMTgsIDI0MiwgMjI1LCAyMjgsIDEsIDQyLCAyMTUsIAorICAgIDE3MSwgMjI1LCAyMjgsIDEsIDIxNSwgMTcxLCAyMjUsIDIyOCwgMSwgMjEyLCAxNDUsIDIyNSwgMjI4LCA0MywgMTAyLCAKKyAgICAyMjUsIDIyOCwgNDMsIDEwNSwgMjI1LCAyMjgsIDQzLCAxNDIsIDIyNSwgMjI4LCA0MywgMTM5LCAyMjUsIDIyOCwgMjQ3LCAKKyAgICA0NiwgNDMsIDEzOSwgMjI1LCAyMjgsIDQzLCAxNjgsIDIyNSwgMjI4LCA0MywgMjEyLCA5OCwgMjI1LCAyMjgsIDQzLCAyMTAsIAorICAgIDEyMywgMjI1LCAyMjgsIDQzLCAxMTksIDIzOCwgMjksIDIyMSwgNjQsIDEsIDI1MiwgMTY3LCAyMjEsIDY0LCAxLCAyNTAsIAorICAgIDEwLCAyMjEsIDY0LCAxLCAyNDAsIDIxNywgMjIxLCA2NCwgMSwgMjQ1LCAyMjksIDIyMSwgNjQsIDEsIDIzOSwgNzEsIDIyMSwgCisgICAgNjQsIDEsIDIwNywgNjYsIDIyMSwgNjQsIDEsIDIwNSwgMTEwLCAyMjEsIDY0LCAxLCAyMzksIDI5LCAyMjEsIDY0LCAxLCAKKyAgICAyMTIsIDgwLCAyMjEsIDY0LCAxLCAyMDUsIDIzNiwgMjIxLCA2NCwgMSwgMjMyLCA0NSwgMjIxLCA2NCwgMSwgMjMwLCAxMDMsIAorICAgIDIyMSwgNjQsIDEsIDIyNywgOTAsIDIyMSwgNjQsIDEsIDIyMywgMTczLCAyMjEsIDY0LCAxLCAyMTYsIDQ2LCAyMjEsIDY0LCAKKyAgICAxLCAyNTIsIDIwMCwgMjIxLCA2NCwgMSwgMjIxLCAxNzQsIDIyMSwgNjQsIDEsIDIxNywgMTkwLCAyMjEsIDY0LCAxLCAyMTksIAorICAgIDIyMywgMjIxLCA2NCwgMSwgMjE4LCA5OSwgMjIxLCA2NCwgMSwgMjE1LCAxNzEsIDIyMSwgNjQsIDEsIDIxMiwgMTUxLCAKKyAgICAyMjEsIDY0LCA0MywgMTAyLCAyMjEsIDY0LCA0MywgMjEyLCA5OCwgMjIxLCA2NCwgNDMsIDIxMCwgMTIzLCAyMjEsIDY0LCAKKyAgICA0MywgMTE5LCAyMzgsIDI5LCAyMjEsIDY0LCA0MywgMTA1LCAyMjEsIDY0LCA0MywgMTQyLCAyMjEsIDY0LCAyMDYsIDIzMiwgCisgICAgMjE2LCAzOSwgMjI5LCAzOSwgMSwgNjIsIDIyOSwgMzksIDEsIDI1MSwgMTUwLCAyMjksIDM5LCAxLCAyNDEsIDU1LCAyMjksIAorICAgIDM5LCAxLCAyNDYsIDI0MCwgMjI5LCAzOSwgMSwgNzUsIDIyOSwgMzksIDEsIDIwOSwgMTQ4LCAyMjksIDM5LCAxLCA3NCwgCisgICAgMjI5LCAzOSwgMSwgMjA2LCAxMjMsIDIyOSwgMzksIDEsIDIzMiwgNzYsIDIyOSwgMzksIDEsIDE0OSwgMjI5LCAzOSwgMSwgCisgICAgMjI5LCAyOCwgMjI5LCAzOSwgMSwgMjI2LCAzMywgMjI5LCAzOSwgMSwgNzYsIDIyOSwgMzksIDEsIDEzNywgMjI5LCAzOSwgCisgICAgMSwgMjE0LCA5OSwgMjI5LCAzOSwgMSwgMjEzLCAxMCwgMjI5LCAzOSwgMSwgNzEsIDIyOSwgMzksIDEsIDI0MiwgMTM5LCAKKyAgICAyMjksIDM5LCAxLCAyMjAsIDI3LCAyMjksIDM5LCAxLCAxODIsIDIyOSwgMzksIDEsIDIxMCwgMjExLCAyMjksIDM5LCAxLCAKKyAgICAyNTIsIDEyMiwgMjI5LCAzOSwgMSwgMjQzLCA0MSwgMjI5LCAzOSwgMSwgMjI5LCA0MiwgMjI5LCAzOSwgMSwgMjI0LCAxMDQsIAorICAgIDIyOSwgMzksIDEsIDI0OSwgMzQsIDIyOSwgMzksIDIxMSwgNDgsIDgzLCAyMjcsIDcyLCAyMzksIDUsIDEsIDYyLCAyMjcsIAorICAgIDcyLCAyMzksIDUsIDEsIDc1LCAyMjcsIDcyLCAyMzksIDUsIDEsIDc0LCAyMjcsIDcyLCAyMzksIDUsIDEsIDc2LCAyMjcsIAorICAgIDcyLCAyMzksIDUsIDEsIDE5MCwgMjI3LCA3MiwgMjM5LCA1LCAxLCAyMDcsIDk2LCAyMjcsIDcyLCAyMzksIDUsIDEsIDI1MCwgCisgICAgMTgzLCAyMjcsIDcyLCAyMzksIDUsIDEsIDI1MCwgMTgyLCAyMjcsIDcyLCAyMzksIDUsIDEsIDE3OSwgMjI3LCA3MiwgMjM5LCAKKyAgICA1LCAxLCAxODUsIDIyNywgNzIsIDIzOSwgNSwgMSwgMTk5LCAyMjcsIDcyLCAyMzksIDUsIDEsIDIyNSwgMjM2LCAyMjcsIAorICAgIDcyLCAyMzksIDUsIDEsIDIyNSwgMTEwLCAyMjcsIDcyLCAyMzksIDUsIDEsIDIyNSwgMTA5LCAyMjcsIDcyLCAyMzksIDUsIAorICAgIDEsIDIxOSwgMTEzLCAyMjcsIDcyLCAyMzksIDUsIDEsIDIxOSwgMTEyLCAyMjcsIDcyLCAyMzksIDUsIDEsIDIzMCwgMTQxLCAKKyAgICAyMjcsIDcyLCAyMzksIDUsIDEsIDIzMSwgMTY3LCAyMjcsIDcyLCAyMzksIDUsIDEsIDIzOSwgMjAsIDIyNywgNzIsIDIzOSwgCisgICAgNSwgMSwgMjE3LCAxOTksIDIyNywgNzIsIDIzOSwgNSwgMSwgMjE3LCAxOTgsIDIyNywgNzIsIDIzOSwgNSwgMSwgMjE3LCAKKyAgICA4NiwgMjI3LCA3MiwgMjM5LCA1LCAxLCAxNzIsIDIyNywgNzIsIDIzOSwgNSwgMSwgMjIwLCAxOSwgMjI3LCA3MiwgMjM5LCAKKyAgICA1LCAxLCAyMTIsIDIxOSwgMjI3LCA3MiwgMjM5LCA1LCAxLCAyMTIsIDIxOCwgMjI3LCA3MiwgMjM5LCA1LCAxLCAyMTIsIAorICAgIDEzMSwgMjI3LCA3MiwgMjM5LCA1LCAxLCAyMTIsIDEzMCwgMjI3LCA3MiwgMjM5LCA1LCAxLCAxMjQsIDIyNywgNzIsIDIzOSwgCisgICAgNSwgMSwgMjQ2LCAxNDUsIDIyNywgNzIsIDIzOSwgNSwgMTYsIDIwOCwgMjA4LCAyMjcsIDcyLCAyMzksIDUsIDE2LCAyMDgsIAorICAgIDIwNywgMjI3LCA3MiwgMjQ3LCAyMSwgMSwgNjIsIDIyNywgNzIsIDI0NywgMjEsIDEsIDc1LCAyMjcsIDcyLCAyNDcsIDIxLCAKKyAgICAxLCA3NCwgMjI3LCA3MiwgMjQ3LCAyMSwgMSwgNzYsIDIyNywgNzIsIDI0NywgMjEsIDEsIDE5MCwgMjI3LCA3MiwgMjQ3LCAKKyAgICAyMSwgMSwgMjA3LCA5NiwgMjI3LCA3MiwgMjQ3LCAyMSwgMSwgMjUwLCAxODMsIDIyNywgNzIsIDI0NywgMjEsIDEsIDE3OSwgCisgICAgMjI3LCA3MiwgMjQ3LCAyMSwgMSwgMTg1LCAyMjcsIDcyLCAyNDcsIDIxLCAxLCAxOTksIDIyNywgNzIsIDI0NywgMjEsIDEsIAorICAgIDIyNSwgMTEwLCAyMjcsIDcyLCAyNDcsIDIxLCAxLCAyMTksIDExMywgMjI3LCA3MiwgMjQ3LCAyMSwgMSwgMjMwLCAxNDEsIAorICAgIDIyNywgNzIsIDI0NywgMjEsIDEsIDIzMSwgMTY3LCAyMjcsIDcyLCAyNDcsIDIxLCAxLCAyMzksIDIwLCAyMjcsIDcyLCAKKyAgICAyNDcsIDIxLCAxLCAyMTcsIDE5OSwgMjI3LCA3MiwgMjQ3LCAyMSwgMSwgMjUyLCAxOSwgMjE3LCAxOTksIDIyNywgNzIsIAorICAgIDI0NywgMjEsIDEsIDIxNywgODYsIDIyNywgNzIsIDI0NywgMjEsIDEsIDE3MiwgMjI3LCA3MiwgMjQ3LCAyMSwgMSwgMjIwLCAKKyAgICAxOSwgMjI3LCA3MiwgMjQ3LCAyMSwgMSwgMjEyLCAyMTksIDIyNywgNzIsIDI0NywgMjEsIDEsIDIxMiwgMTMxLCAyMjcsIAorICAgIDcyLCAyNDcsIDIxLCAxLCAxMjQsIDIyNywgNzIsIDI0NywgMjEsIDEsIDI0NiwgMTQ1LCAyMjcsIDcyLCAyNDcsIDIxLCAKKyAgICAyMjksIDEzMywgMjE4LCAxMzAsIDIyNywgNzIsIDI0NywgMjEsIDIyOSwgMTMzLCAyMzMsIDc1LCAyMzEsIDE1NCwgMSwgNjIsIAorICAgIDIzMSwgMTU0LCAyMiwgMywgNzQsIDIzMSwgMTU0LCAyMiwgMywgNzEsIDIzMSwgMTU0LCAyMiwgMywgMTE1LCAxMzcsIDIzMSwgCisgICAgMTU0LCAyMiwgMywgNzUsIDIzMSwgMTU0LCAyMiwgMywgNzYsIDIzMSwgMTU0LCAyMiwgMjMwLCAyMCwgODMsIDIzMSwgMTU0LCAKKyAgICAzLCA1MCwgMjE4LCAxNDksIDU1LCAyMzEsIDE1NCwgMywgMjUyLCA3MywgMjMxLCAxNTQsIDMsIDIwOCwgMTgzLCAyMzEsIAorICAgIDE1NCwgMSwgMTcyLCAyMzEsIDE1NCwgMSwgMjMxLCAxNjcsIDIzMSwgMTU0LCAxLCAyNDAsIDI0NCwgMjMxLCAxNTQsIDEsIAorICAgIDI0MCwgOTksIDIzMSwgMTU0LCAxLCAyNDksIDEsIDIzMSwgMTU0LCAxLCAyNDgsIDExMCwgMjMxLCAxNTQsIDEsIDIzMiwgCisgICAgMjAwLCAyMzEsIDE1NCwgMSwgMjIzLCAxNDQsIDIzMSwgMTU0LCAxLCAyMTAsIDIwOCwgMjMxLCAxNTQsIDEsIDIxMCwgMTk2LCAKKyAgICAyMzEsIDE1NCwgMSwgMjQ2LCA1NCwgMjMxLCAxNTQsIDEsIDI0NiwgMzgsIDIzMSwgMTU0LCAxLCAyMjQsIDEwMywgMjMxLCAKKyAgICAxNTQsIDEsIDIxMiwgMjE5LCAyMzEsIDE1NCwgMSwgMjEyLCA1NiwgMjMxLCAxNTQsIDEsIDI0NiwgMTQ1LCAyMzEsIDE1NCwgCisgICAgMSwgMjQ1LCAxOTIsIDIzMSwgMTU0LCAxLCAxOTksIDIzMSwgMTU0LCAxLCAxNzksIDIzMSwgMTU0LCAxLCAyMjEsIDkzLCAKKyAgICAyMzEsIDE1NCwgMSwgMjUwLCAxODMsIDIzMSwgMTU0LCAxLCAyNTAsIDAsIDIzMSwgMTU0LCAxLCAxODUsIDIzMSwgMTU0LCAKKyAgICAxLCAxOTAsIDIzMSwgMTU0LCAxLCAyMTksIDExMywgMjMxLCAxNTQsIDEsIDIzMCwgMTQxLCAyMzEsIDE1NCwgMSwgMjA5LCAKKyAgICA3MCwgMjMxLCAxNTQsIDEsIDIxNiwgMiwgMjMxLCAxNTQsIDEsIDIxNCwgOTYsIDIzMSwgMTU0LCAxLCAyMTcsIDE5OSwgCisgICAgMjMxLCAxNTQsIDEsIDIwNSwgMTE2LCAyMzEsIDE1NCwgMSwgMTU1LCAyMzEsIDE1NCwgMSwgMjMxLCA3MiwgMjMxLCAxNTQsIAorICAgIDEsIDIxMCwgMTc2LCAyMzEsIDE1NCwgMywgMjUwLCAxMjksIDUyLCAyMzEsIDE1NCwgMywgMjQ4LCAxNzksIDIzMSwgMTU0LCAKKyAgICAzLCA2NywgNTUsIDIzMSwgMTU0LCAyMDgsIDE4OCwgMjMxLCAxNTQsIDE4LCAxMDIsIDIzMSwgMTU0LCAxOCwgMTA1LCAyMzEsIAorICAgIDE1NCwgMTgsIDE0MiwgMjMxLCAxNTQsIDE4LCAxMzksIDIzMSwgMTU0LCA0MywgMjEyLCA5OCwgMjMxLCAxNTQsIDQzLCAKKyAgICAyMTAsIDEyMywgMjMxLCAxNTQsIDQzLCAxMTksIDIzOCwgMjksIDIzMSwgMTU0LCA0MywgMTE5LCAyMTEsIDI0MiwgMjMxLCAKKyAgICAxNTQsIDIyMCwgNzIsIDI0NSwgMjMsIDIzMSwgMTU0LCAyMjAsIDcyLCA1LCAyNDcsIDIzMywgMjMxLCAxNTQsIDIyMCwgNzIsIAorICAgIDI0NywgMjMzLCAyMzEsIDE1NCwgMjIwLCA3MiwgMjQ3LCA2NiwgMTM0LCAyMzEsIDE1NCwgMjIwLCA3MiwgMjI3LCAyMTUsIAorICAgIDIzMSwgMTU0LCAyMjAsIDcyLCAyMjksIDEwMiwgMjMxLCAxNTQsIDIyMCwgNzIsIDI0NiwgMTAwLCAyMzEsIDE1NCwgMjIwLCAKKyAgICA3MiwgNTAsIDI0NiwgMTAwLCAyMzEsIDE1NCwgMjIwLCA3MiwgMjI5LCAxOTksIDQ0LCAxODgsIDI1MiwgMzQsIDEsIDIzOSwgCisgICAgNzEsIDQ0LCAxODgsIDI1MiwgMzQsIDEsIDIzMCwgOTcsIDQ0LCAxODgsIDI1MiwgMzQsIDEsIDIzOSwgMjcsIDQ0LCAxODgsIAorICAgIDI1MiwgMzQsIDEsIDIyNywgOTAsIDQ0LCAxODgsIDI1MiwgMzQsIDEsIDIxOSwgMjE4LCA0NCwgMTg4LCAyNTIsIDM0LCAxLCAKKyAgICAyMDcsIDU5LCA0NCwgMTg4LCAyNTIsIDM0LCAxLCAyMTUsIDE3MSwgNDQsIDE4OCwgMjUyLCAzNCwgMSwgMjE4LCAyNDIsIAorICAgIDQ0LCAxODgsIDI1MiwgMzQsIDEsIDI1MCwgNywgNDQsIDE4OCwgMjUyLCAzNCwgMSwgMjEyLCAxNDUsIDQ0LCAxODgsIDI1MiwgCisgICAgMzQsIDEsIDIxNywgMTMzLCA0NCwgMTg4LCAyNTIsIDM0LCAxLCAyMzIsIDE3LCA0NCwgMTg4LCAyNTIsIDM0LCAxLCAyMjMsIAorICAgIDE3MywgNDQsIDE4OCwgMjUyLCAzNCwgMSwgMjMxLCAxNDksIDQ0LCAxODgsIDI1MiwgMzQsIDEsIDIxNywgMTg5LCA0NCwgCisgICAgMTg4LCAyNTIsIDM0LCAxLCAyMTcsIDE1NywgNDQsIDE4OCwgMjUyLCAzNCwgMSwgMjQyLCAyOCwgNDQsIDE4OCwgMjUyLCAKKyAgICAzNCwgMSwgMjUyLCAxNzIsIDQ0LCAxODgsIDI1MiwgMzQsIDEsIDI1MSwgMTUzLCA0NCwgMTg4LCAyNTIsIDM0LCAxLCAyNDUsIAorICAgIDE4OSwgNDQsIDE4OCwgMjUyLCAzNCwgMSwgMjQwLCA0NywgNDQsIDE4OCwgMjUyLCAzNCwgMSwgMjQ2LCAxMTAsIDQ0LCAKKyAgICAxODgsIDI1MiwgMzQsIDEsIDI0MCwgODcsIDQ0LCAxODgsIDI1MiwgMzQsIDEsIDIxMiwgNzYsIDQ0LCAxODgsIDI1MiwgMzQsIAorICAgIDEsIDIwNSwgOTUsIDQ0LCAxODgsIDI1MiwgMzQsIDEsIDI0NSwgMTg2LCA0NCwgMTg4LCAyNTIsIDM0LCAxLCAyMDUsIDIzNSwgCisgICAgNDQsIDE4OCwgMjUyLCAzNCwgMSwgMjEyLCA0MywgNDQsIDE4OCwgMjUyLCAzNCwgMSwgMjEyLCAyMiwgNDQsIDE4OCwgMjUyLCAKKyAgICAzNCwgNDMsIDEwMiwgNDQsIDE4OCwgMjUyLCAzNCwgNDMsIDI0MSwgMjQzLCA0NCwgMTg4LCAyNTIsIDM0LCAxMzMsIDIzMywgCisgICAgNDksIDQ0LCAxNDMsIDI1MiwgMzQsIDEsIDIzOSwgNTAsIDQ0LCAxNDMsIDI1MiwgMzQsIDEsIDIzMCwgMTA2LCA0NCwgMTQzLCAKKyAgICAyNTIsIDM0LCAxLCAyMzksIDEzMiwgNDQsIDE0MywgMjUyLCAzNCwgMSwgMjI3LCAxMDQsIDQ0LCAxNDMsIDI1MiwgMzQsIDEsIAorICAgIDIyMCwgMTIsIDQ0LCAxNDMsIDI1MiwgMzQsIDEsIDIwNywgNTksIDQ0LCAxNDMsIDI1MiwgMzQsIDEsIDI0MiwgMjIzLCA0NCwgCisgICAgMTQzLCAyNTIsIDM0LCAxLCAyMTksIDE2LCA0NCwgMTQzLCAyNTIsIDM0LCAxLCAyNTAsIDM4LCA0NCwgMTQzLCAyNTIsIDM0LCAKKyAgICAxLCAyMTIsIDExNSwgNDQsIDE0MywgMjUyLCAzNCwgMSwgMjQyLCAyMjQsIDQ0LCAxNDMsIDI1MiwgMzQsIDEsIDIzMiwgNDUsIAorICAgIDQ0LCAxNDMsIDI1MiwgMzQsIDEsIDIyNCwgNTQsIDQ0LCAxNDMsIDI1MiwgMzQsIDEsIDIzMSwgMTYzLCA0NCwgMTQzLCAKKyAgICAyNTIsIDM0LCAxLCAyMTcsIDE5MSwgNDQsIDE0MywgMjUyLCAzNCwgMSwgMjQyLCAyMjIsIDQ0LCAxNDMsIDI1MiwgMzQsIDEsIAorICAgIDI0MiwgMTUsIDQ0LCAxNDMsIDI1MiwgMzQsIDEsIDI1MiwgMTcyLCA0NCwgMTQzLCAyNTIsIDM0LCAxLCAyNTIsIDIwMCwgCisgICAgNDQsIDE0MywgMjUyLCAzNCwgMSwgMjQ2LCAxNDAsIDQ0LCAxNDMsIDI1MiwgMzQsIDEsIDI0MCwgMTYxLCA0NCwgMTQzLCAKKyAgICAyNTIsIDM0LCAxLCAyNDYsIDExNywgNDQsIDE0MywgMjUyLCAzNCwgMSwgMjQwLCA5NCwgNDQsIDE0MywgMjUyLCAzNCwgMSwgCisgICAgMjEyLCAxOTQsIDQ0LCAxNDMsIDI1MiwgMzQsIDEsIDIwNSwgMTA4LCA0NCwgMTQzLCAyNTIsIDM0LCAxLCAyMTIsIDQ5LCAKKyAgICA0NCwgMTQzLCAyNTIsIDM0LCAxLCAyMDYsIDQ3LCA0NCwgMTQzLCAyNTIsIDM0LCAxLCAyMTIsIDM3LCA0NCwgMTQzLCAyNTIsIAorICAgIDM0LCAxLCAyMDUsIDExMSwgNDQsIDE0MywgMjUyLCAzNCwgNDMsIDEwMiwgNDQsIDE0MywgMjUyLCAzNCwgNDMsIDIxMiwgCisgICAgOTgsIDQ0LCAxNDMsIDI1MiwgMzQsIDQzLCAyMTAsIDEyMywgMjI3LCAyMTQsIDEsIDI1MiwgMTcwLCAyMjcsIDIxNCwgMSwgCisgICAgMjUwLCA3LCAyMjcsIDIxNCwgMSwgMjQ5LCAyNTAsIDIyNywgMjE0LCAxLCAyNDAsIDQ3LCAyMjcsIDIxNCwgMSwgMjQwLCAKKyAgICA3MiwgMjI3LCAyMTQsIDEsIDI0NiwgMTEwLCAyMjcsIDIxNCwgMSwgMjM5LCA3MSwgMjI3LCAyMTQsIDEsIDIwNywgNTksIAorICAgIDIyNywgMjE0LCAzLCAyMTAsIDgsIDIyNywgMjE0LCAxLCAyMDUsIDk2LCAyMjcsIDIxNCwgMSwgMjA1LCA3NCwgMjI3LCAKKyAgICAyMTQsIDEsIDIzMiwgMTg0LCAyMjcsIDIxNCwgMSwgMjMyLCAxNjYsIDIyNywgMjE0LCAxLCAyMzksIDI3LCAyMjcsIDIxNCwgCisgICAgMSwgMjEyLCA3NiwgMjI3LCAyMTQsIDEsIDIwNSwgMjM1LCAyMjcsIDIxNCwgMSwgMjMyLCAxNywgMjI3LCAyMTQsIDEsIAorICAgIDIwNiwgMTc4LCAyMjcsIDIxNCwgMSwgMjMxLCAxNTYsIDIyNywgMjE0LCAxLCAyMzAsIDk3LCAyMjcsIDIxNCwgMSwgMjQ1LCAKKyAgICAxODUsIDIyNywgMjE0LCAxLCAyMTIsIDQ4LCAyMjcsIDIxNCwgMSwgMjI3LCA5MCwgMjI3LCAyMTQsIDEsIDIyMywgMTczLCAKKyAgICAyMjcsIDIxNCwgMSwgMjE3LCAxNTcsIDIyNywgMjE0LCAxLCAyNTEsIDE1NCwgMjI3LCAyMTQsIDEsIDI1MywgMTE3LCAyMjcsIAorICAgIDIxNCwgMSwgMjIxLCAxNzQsIDIyNywgMjE0LCAxLCAyNDIsIDI4LCAyMjcsIDIxNCwgMSwgMjE3LCAxODksIDIyNywgMjE0LCAKKyAgICAxLCAyMTksIDIxOCwgMjI3LCAyMTQsIDEsIDIwNiwgMTU2LCAyMjcsIDIxNCwgMSwgMjE5LCAyNDQsIDIyNywgMjE0LCAxLCAKKyAgICAyMTgsIDI0MiwgMjI3LCAyMTQsIDEsIDIxNSwgMTcxLCAyMjcsIDIxNCwgMSwgMjE0LCA2NSwgMjI3LCAyMTQsIDEsIDIxMiwgCisgICAgMTQ1LCAyMjcsIDIxNCwgMjUzLCAyOSwgMTQxLCA1MiwgMjI3LCAyMTQsIDI1MywgMjksIDE0MSwgNTUsIDIyNywgMjE0LCAKKyAgICA0MywgMTAyLCAyMjcsIDIxNCwgNDMsIDE2OCwgMjI3LCAyMTQsIDQzLCAyMTIsIDk4LCAyMjcsIDIxNCwgNDMsIDIxMCwgCisgICAgMTIzLCAyMjcsIDIxNCwgNDMsIDExOSwgMjM4LCAyOSwgMjI3LCAyMTQsIDIyMCwgNzIsIDIxNCwgMjYsIDIyNywgMjE0LCAKKyAgICAyMjAsIDcyLCAyNDEsIDE4MywgMjI3LCAyMTQsIDIyMCwgNzIsIDUwLCA2NywgMjA2LCAyNTUsIDI0NSwgMjMsIDIyNywgCisgICAgMjE0LCAyMjAsIDcyLCA2NywgMjA2LCAyNTUsIDI0NSwgMjMsIDIyNywgMjE0LCAyMjAsIDcyLCAyNDUsIDIzLCAyMjcsIAorICAgIDIxNCwgMjIwLCA3MiwgMTE4LCAyNDUsIDIxLCAyMjcsIDIxNCwgMjIwLCA3MiwgMjI5LCAyMDYsIDI0MSwgMjMyLCAyNTEsIAorICAgIDE2NCwgMSwgNjIsIDI1MSwgMTY0LCAxLCAyNTMsIDE2NCwgMjUxLCAxNjQsIDEsIDI1MiwgNzEsIDI1MSwgMTY0LCAxLCAKKyAgICAyNTMsIDEyMywgMjUxLCAxNjQsIDEsIDI1MiwgMTIyLCAyNTEsIDE2NCwgMSwgMjUzLCAxMjQsIDI1MSwgMTY0LCAxLCAyNTIsIAorICAgIDI0OCwgMjUxLCAxNjQsIDEsIDI1MiwgMjQ0LCAyNTEsIDE2NCwgMSwgNzUsIDI1MSwgMTY0LCAxLCAyNDMsIDEwNCwgMjUxLCAKKyAgICAxNjQsIDEsIDc2LCAyNTEsIDE2NCwgMSwgMjIyLCAxNTIsIDI1MSwgMTY0LCAxLCA3NCwgMjUxLCAxNjQsIDEsIDIzMywgCisgICAgMTAyLCAyNTEsIDE2NCwgMSwgNzEsIDI1MSwgMTY0LCAxLCAyMDksIDE2MiwgMjUxLCAxNjQsIDEsIDIzMSwgMjI0LCAyNTEsIAorICAgIDE2NCwgMSwgMjA2LCAxNzUsIDI1MSwgMTY0LCAxLCAyMDYsIDEzNywgMjUxLCAxNjQsIDEsIDIwNiwgMTQ3LCAyNTEsIDE2NCwgCisgICAgMSwgMjQwLCAxNzAsIDI1MSwgMTY0LCAxLCAyNDAsIDEzMCwgMjUxLCAxNjQsIDEsIDI0MCwgODUsIDI1MSwgMTY0LCAxLCAKKyAgICAyNDgsIDE0OCwgMjUxLCAxNjQsIDEsIDIzMiwgMTgyLCAyNTEsIDE2NCwgMSwgMjEyLCAxMzEsIDI1MSwgMTY0LCAxLCAyMTIsIAorICAgIDQxLCAyNTEsIDE2NCwgMSwgMjQ2LCA5LCAyNTEsIDE2NCwgMSwgMjQ1LCAxODMsIDI1MSwgMTY0LCAxLCAyMTAsIDIwMywgCisgICAgMjUxLCAxNjQsIDEsIDIyMSwgMTc0LCAyNTEsIDE2NCwgMSwgMjQyLCAyOCwgMjUxLCAxNjQsIDEsIDI1MCwgNjEsIDI1MSwgCisgICAgMTY0LCAxLCAyNDksIDI1MiwgMjUxLCAxNjQsIDEsIDIyNSwgNjQsIDI1MSwgMTY0LCAxLCAyMjQsIDIzNiwgMjUxLCAxNjQsIAorICAgIDEsIDIyNCwgMjM3LCAyNTEsIDE2NCwgMSwgMjI1LCAxMTAsIDI1MSwgMTY0LCAxLCAyMjMsIDEzNCwgMjUxLCAxNjQsIDEsIAorICAgIDIyNCwgOTgsIDI1MSwgMTY0LCAxLCAyMjcsIDExOSwgMjUxLCAxNjQsIDEsIDIzOCwgMTk5LCAyNTEsIDE2NCwgMSwgMjA1LCAKKyAgICAxNjYsIDI1MSwgMTY0LCAxLCAyMDYsIDUyLCAyNTEsIDE2NCwgMSwgMjA5LCAzOSwgMjUxLCAxNjQsIDEsIDIxOSwgNTEsIAorICAgIDI1MSwgMTY0LCAxLCAyMzAsIDU4LCAyNTEsIDE2NCwgMSwgMjE3LCA4NiwgMjUxLCAxNjQsIDEsIDIwNSwgOTMsIDI1MSwgCisgICAgMTY0LCAxLCAyMTUsIDIxNCwgMjUxLCAxNjQsIDEsIDIwNSwgNzIsIDI1MSwgMTY0LCAxLCAyMTUsIDg3LCAyNTEsIDE2NCwgCisgICAgMSwgMjE0LCA2NiwgMjUxLCAxNjQsIDEsIDIzOSwgNzEsIDI1MSwgMTY0LCAyNTMsIDI5LCA4MywgMjExLCAxNjksIDExOCwgCisgICAgMTc3LCAxMzEsIDExOSwgNjcsIDIyMCwgNzEsIDUsIDExOCwgMTc3LCAxMzEsIDExOSwgNjcsIDIyMCwgNzEsIDIzMCwgODYsIAorICAgIDExOCwgMTc3LCAxMzEsIDExOSwgNjcsIDIyMCwgNzEsIDIzMCwgODYsIDExOSwgNjcsIDEzMSwgMTE4LCAxNzcsIDIyMCwgCisgICAgNzEsIDIzMCwgODYsIDExOCwgMjE4LCAxNDYsIDEzMSwgMTE5LCAyMTgsIDE0OSwgMjIwLCA3MSwgMjMwLCA4NiwgMTE5LCAKKyAgICAyMTgsIDE0OSwgMTMxLCAxMTgsIDIxOCwgMTQ2LCAyMjAsIDcxLCAyMzMsIDI5LCAyMjEsIDIxMCwgMSwgMjUyLCAxNzAsIAorICAgIDIzMywgMjksIDIyMSwgMjEwLCAxLCAyNTAsIDcsIDIzMywgMjksIDIyMSwgMjEwLCAxLCAyNDAsIDQ3LCAyMzMsIDI5LCAKKyAgICAyMjEsIDIxMCwgMSwgMjQ2LCAxMTAsIDIzMywgMjksIDIyMSwgMjEwLCAxLCAyMzksIDcxLCAyMzMsIDI5LCAyMjEsIDIxMCwgCisgICAgMSwgMjA3LCA1OSwgMjMzLCAyOSwgMjIxLCAyMTAsIDEsIDIwNSwgOTYsIDIzMywgMjksIDIyMSwgMjEwLCAxLCAyMzksIDI3LCAKKyAgICAyMzMsIDI5LCAyMjEsIDIxMCwgMSwgMjEyLCA3NiwgMjMzLCAyOSwgMjIxLCAyMTAsIDEsIDIwNSwgMjM1LCAyMzMsIDI5LCAKKyAgICAyMjEsIDIxMCwgMSwgMjMyLCAxNywgMjMzLCAyOSwgMjIxLCAyMTAsIDEsIDIzMCwgOTcsIDIzMywgMjksIDIyMSwgMjEwLCAKKyAgICAxLCAyMjcsIDkwLCAyMzMsIDI5LCAyMjEsIDIxMCwgMSwgMjIzLCAxNzMsIDIzMywgMjksIDIyMSwgMjEwLCAxLCAyMTcsIAorICAgIDE1NywgMjMzLCAyOSwgMjIxLCAyMTAsIDEsIDI1MSwgMTU0LCAyMzMsIDI5LCAyMjEsIDIxMCwgMSwgMjIxLCAxNzQsIDIzMywgCisgICAgMjksIDIyMSwgMjEwLCAxLCAyMTcsIDE4OSwgMjMzLCAyOSwgMjIxLCAyMTAsIDEsIDIxOSwgMjE4LCAyMzMsIDI5LCAyMjEsIAorICAgIDIxMCwgMSwgMjE4LCAyNDIsIDIzMywgMjksIDIyMSwgMjEwLCAxLCAyMTUsIDE3MSwgMjMzLCAyOSwgMjIxLCAyMTAsIDEsIAorICAgIDIxMiwgMTQ1LCAyMzMsIDI5LCAyMjEsIDIxMCwgNDMsIDEwMiwgMjMzLCAyOSwgMjIxLCAyMTAsIDQzLCAxMDUsIDIzMywgCisgICAgMjksIDIyMSwgMjEwLCA0MywgMTQyLCAyMzMsIDI5LCAyMjEsIDIxMCwgNDMsIDEzOSwgMjMzLCAyOSwgMjIxLCAyMTAsIDQzLCAKKyAgICAyMTIsIDk4LCAyMzMsIDI5LCAyMjEsIDIxMCwgNDMsIDIxMCwgMTIzLCAyMzMsIDI5LCAyMjEsIDIxMCwgNDMsIDExOSwgCisgICAgMjM4LCAyOSwgMjMzLCAyOSwgMjIxLCAyMTAsIDQzLCAxMTksIDIxMSwgMjQyLCAyMzMsIDI5LCAyMjIsIDMzLCAxLCAyNTIsIAorICAgIDE3MCwgMjMzLCAyOSwgMjIyLCAzMywgMSwgMjUwLCA3LCAyMzMsIDI5LCAyMjIsIDMzLCAxLCAyNDAsIDQ3LCAyMzMsIDI5LCAKKyAgICAyMjIsIDMzLCAxLCAyNDYsIDExMCwgMjMzLCAyOSwgMjIyLCAzMywgMSwgMjM5LCA3MSwgMjMzLCAyOSwgMjIyLCAzMywgMSwgCisgICAgMjA3LCA1OCwgMjMzLCAyOSwgMjIyLCAzMywgMSwgMjA1LCA5NiwgMjMzLCAyOSwgMjIyLCAzMywgMSwgMjM5LCAyNywgMjMzLCAKKyAgICAyOSwgMjIyLCAzMywgMSwgMjEyLCA3NiwgMjMzLCAyOSwgMjIyLCAzMywgMSwgMjA1LCAyMzUsIDIzMywgMjksIDIyMiwgMzMsIAorICAgIDEsIDIzMiwgMTcsIDIzMywgMjksIDIyMiwgMzMsIDEsIDIzMCwgOTcsIDIzMywgMjksIDIyMiwgMzMsIDEsIDIyNywgODksIAorICAgIDIzMywgMjksIDIyMiwgMzMsIDEsIDIyMywgMTczLCAyMzMsIDI5LCAyMjIsIDMzLCAxLCAyMTcsIDE1NywgMjMzLCAyOSwgCisgICAgMjIyLCAzMywgMSwgMjIxLCAxNzQsIDIzMywgMjksIDIyMiwgMzMsIDEsIDIxNywgMTg5LCAyMzMsIDI5LCAyMjIsIDMzLCAxLCAKKyAgICAyMTUsIDE3MSwgMjMzLCAyOSwgMjIyLCAzMywgMSwgMjEyLCAxNDUsIDIzMywgMjksIDIyMiwgMzMsIDQzLCAxMDIsIDIzMywgCisgICAgMjksIDIyMiwgMzMsIDQzLCAxMDUsIDIzMywgMjksIDIyMiwgMzMsIDQzLCAxNDIsIDIzMywgMjksIDIyMiwgMzMsIDQzLCAKKyAgICAxMzksIDIzMywgMjksIDIyMiwgMzMsIDQzLCAyMTIsIDk4LCAyMzMsIDI5LCAyMjIsIDMzLCA0MywgMjEwLCAxMjMsIDIzMywgCisgICAgMjksIDIyMiwgMzMsIDQzLCAxMTksIDIzOCwgMjksIDIzMywgMjksIDIyMiwgMzMsIDQzLCAxMTksIDIxMSwgMjQyLCAyMjAsIAorICAgIDk0LCAyMjIsIDMzLCAxLCAyNTIsIDE3MCwgMjIwLCA5NCwgMjIyLCAzMywgMSwgMjUwLCA3LCAyMjAsIDk0LCAyMjIsIDMzLCAKKyAgICAxLCAyNDAsIDQ3LCAyMjAsIDk0LCAyMjIsIDMzLCAxLCAyNDYsIDExMCwgMjIwLCA5NCwgMjIyLCAzMywgMSwgMjM5LCA3MSwgCisgICAgMjIwLCA5NCwgMjIyLCAzMywgMSwgMjA3LCA1OCwgMjIwLCA5NCwgMjIyLCAzMywgMSwgMjA1LCA5NiwgMjIwLCA5NCwgMjIyLCAKKyAgICAzMywgMSwgMjM5LCAyNywgMjIwLCA5NCwgMjIyLCAzMywgMSwgMjA1LCAyMzUsIDIyMCwgOTQsIDIyMiwgMzMsIDEsIDIzMiwgCisgICAgMTcsIDIyMCwgOTQsIDIyMiwgMzMsIDEsIDIzMCwgOTcsIDIyMCwgOTQsIDIyMiwgMzMsIDEsIDIyNywgODksIDIyMCwgOTQsIAorICAgIDIyMiwgMzMsIDEsIDIyMywgMTczLCAyMjAsIDk0LCAyMjIsIDMzLCAxLCAyMTcsIDE1NywgMjIwLCA5NCwgMjIyLCAzMywgMSwgCisgICAgMjIxLCAxNzQsIDIyMCwgOTQsIDIyMiwgMzMsIDEsIDIxNywgMTg5LCAyMjAsIDk0LCAyMjIsIDMzLCAxLCAyMTUsIDE3MSwgCisgICAgMjIwLCA5NCwgMjIyLCAzMywgMSwgMjEyLCAxNDUsIDIyMCwgOTQsIDIyMiwgMzMsIDIxNywgNzcsIDgzLCAyMjAsIDk0LCAKKyAgICAyMjIsIDMzLCAyMDEsIDIxNywgNzcsIDgzLCAyMjAsIDk0LCAyMjIsIDMzLCAyNDEsIDEyNSwgMTc3LCAyLCAyNDcsIDU5LCAKKyAgICAyMjAsIDk0LCAyMjIsIDMzLCAyNDEsIDEyNSwgMTc3LCAyLCAyNDUsIDIzLCAyMjAsIDk0LCAyMjIsIDMzLCA0MywgMTAyLCAKKyAgICAyMjAsIDk0LCAyMjIsIDMzLCA0MywgMTA1LCAyMjAsIDk0LCAyMjIsIDMzLCA0MywgMTQyLCAyMjAsIDk0LCAyMjIsIDMzLCAKKyAgICA0MywgMTM5LCAyMjAsIDk0LCAyMjIsIDMzLCA0MywgMjEyLCA5OCwgMjIwLCA5NCwgMjIyLCAzMywgNDMsIDIxMCwgMTIzLCAKKyAgICAyMjAsIDk0LCAyMjIsIDMzLCA0MywgMTE5LCAyMzgsIDI5LCA0NCwgMjEwLCAxNDcsIDEsIDIyMiwgMTEzLCA2MiwgNDQsIAorICAgIDIxMCwgMTQ3LCAxLCAyMDYsIDQwLCA2MiwgNDQsIDIxMCwgMTQ3LCAxLCAyMDYsIDQwLCAyNTIsIDI0OCwgNDQsIDIxMCwgCisgICAgMTQ3LCAxLCAyMjIsIDExMywgNzQsIDQ0LCAyMTAsIDE0NywgMSwgMjA2LCA0MCwgNzQsIDQ0LCAyMTAsIDE0NywgMSwgMjA2LCAKKyAgICA0MCwgNzUsIDQ0LCAyMTAsIDE0NywgMSwgMjIyLCAxMTMsIDc2LCA0NCwgMjEwLCAxNDcsIDEsIDIyMiwgMTEzLCAyMjIsIAorICAgIDIwNiwgNDQsIDIxMCwgMTQ3LCAxLCAyMDYsIDQwLCAyMjIsIDIwNiwgNDQsIDIxMCwgMTQ3LCAxLCAyMjIsIDExMywgMjUzLCAKKyAgICAxMTUsIDQ0LCAyMTAsIDE0NywgMSwgMjA2LCA0MCwgMjUzLCAxMTUsIDQ0LCAyMTAsIDE0NywgMSwgMjIyLCAxMTMsIDI1MiwgCisgICAgMjQ3LCA0NCwgMjEwLCAxNDcsIDEsIDIwNiwgNDAsIDI1MiwgMjQ3LCA0NCwgMjEwLCAxNDcsIDEsIDIyMiwgMTEzLCAyNTIsIAorICAgIDIyMCwgNDQsIDIxMCwgMTQ3LCAxLCAyMDYsIDQwLCAyNTIsIDIyMCwgNDQsIDIxMCwgMTQ3LCAxLCAyMjIsIDExMywgMjUyLCAKKyAgICAyNDIsIDQ0LCAyMTAsIDE0NywgMSwgMjA2LCA0MCwgMjUyLCAyNDIsIDQ0LCAyMTAsIDE0NywgMSwgMjIyLCAxMTMsIDI1MywgCisgICAgNSwgNDQsIDIxMCwgMTQ3LCAxLCAyMDYsIDQwLCAyNTMsIDUsIDQ0LCAyMTAsIDE0NywgMSwgMjIyLCAxMTMsIDI1MiwgMjQ2LCAKKyAgICA0NCwgMjEwLCAxNDcsIDEsIDIyMiwgMTEzLCAyNDIsIDE0NSwgNDQsIDIxMCwgMTQ3LCAxLCAyMDYsIDQwLCAyNDIsIDE0NSwgCisgICAgNDQsIDIxMCwgMTQ3LCAxLCAyMjIsIDExMywgMjUxLCAxNTksIDQ0LCAyMTAsIDE0NywgMSwgMjA2LCA0MCwgMjUxLCAxNTksIAorICAgIDQ0LCAyMTAsIDE0NywgMSwgMjIyLCAxMTMsIDI1MiwgMjI5LCA0NCwgMjEwLCAxNDcsIDEsIDIwNiwgNDAsIDI1MiwgMjI5LCAKKyAgICA0NCwgMjEwLCAxNDcsIDEsIDIyMiwgMTEzLCAyNTIsIDI0MCwgNDQsIDIxMCwgMTQ3LCAxLCAyMDYsIDQwLCAyNTIsIDI0MCwgCisgICAgNDQsIDIxMCwgMTQ3LCAxLCAyMjIsIDExMywgMjIyLCAyMDUsIDQ0LCAyMTAsIDE0NywgMSwgMjA2LCA0MCwgMjIyLCAyMDUsIAorICAgIDQ0LCAyMTAsIDE0NywgMSwgMjIyLCAxMTMsIDI1MiwgMTgxLCA0NCwgMjEwLCAxNDcsIDEsIDIwNiwgNDAsIDI1MiwgMTgxLCAKKyAgICA0NCwgMjEwLCAxNDcsIDEsIDIyMiwgMTEzLCAyNTIsIDIzOSwgNDQsIDIxMCwgMTQ3LCAxLCAyMjIsIDExMywgMjQzLCA1MiwgCisgICAgNDQsIDIxMCwgMTQ3LCAxLCAyMjIsIDExMywgMjQzLCA1MCwgNDQsIDIxMCwgMTQ3LCAxLCAyMjIsIDExMywgMjUyLCAxMjIsIAorICAgIDQ0LCAyMTAsIDE0NywgMSwgMjIyLCAxMTMsIDI1MiwgMjM3LCA0NCwgMjEwLCAxNDcsIDEsIDIwNiwgNDAsIDI1MiwgMjM3LCAKKyAgICA0NCwgMjEwLCAxNDcsIDEsIDIyMiwgMTEzLCAyNDMsIDIwLCA0NCwgMjEwLCAxNDcsIDEsIDIwNiwgNDAsIDI0MywgMjAsIAorICAgIDQ0LCAyMTAsIDE0NywgMSwgMjIyLCAxMTMsIDI0MywgMzgsIDQ0LCAyMTAsIDE0NywgMSwgMjA2LCA0MCwgMjQzLCAzOCwgCisgICAgNDQsIDIxMCwgMTQ3LCAxLCAyMjIsIDExMywgMjQzLCA3LCA0NCwgMjEwLCAxNDcsIDEsIDIwNiwgNDAsIDI0MywgNywgNDQsIAorICAgIDIxMCwgMTQ3LCAxLCAyMDYsIDQwLCAyNTIsIDExNCwgNDQsIDIxMCwgMTQ3LCAxLCAyMjIsIDExMywgMjQzLCAyOCwgNDQsIAorICAgIDIxMCwgMTQ3LCAxLCAyMDYsIDQwLCAyNTIsIDIzNiwgNDQsIDIxMCwgMTQ3LCAxLCAyMjIsIDExMywgMjQyLCAyNTMsIDQ0LCAKKyAgICAyMTAsIDE0NywgMSwgMjIyLCAxMTMsIDIyMiwgMTQzLCA0NCwgMjEwLCAxNDcsIDEsIDIyMiwgMTEzLCAyMzcsIDE4MywgNDQsIAorICAgIDIxMCwgMTQ3LCAxLCAyMjIsIDExMywgMjQzLCAxMTAsIDQ0LCAyMTAsIDE0NywgMSwgMjA2LCA0MCwgMjQzLCAxMTAsIDQ0LCAKKyAgICAyMTAsIDE0NywgMSwgMjIyLCAxMTMsIDI1MiwgNDEsIDQ0LCAyMTAsIDE0NywgMSwgMjA2LCA0MCwgMjUyLCA0MSwgNDQsIAorICAgIDIxMCwgMTQ3LCAxLCAyMjIsIDExMywgMjMyLCAyNDUsIDQ0LCAyMTAsIDE0NywgMSwgMjA2LCA0MCwgMjMyLCAyNDUsIDQ0LCAKKyAgICAyMTAsIDE0NywgMSwgMjIyLCAxMTMsIDIyMiwgMTI0LCA0NCwgMjEwLCAxNDcsIDEsIDIwNiwgNDAsIDIyMiwgMTI0LCA0NCwgCisgICAgMjEwLCAxNDcsIDEsIDIyMiwgMTEzLCAyNTIsIDM3LCA0NCwgMjEwLCAxNDcsIDEsIDIwNiwgNDAsIDI1MiwgMzcsIDQ0LCAKKyAgICAyMTAsIDE0NywgMSwgMjIyLCAxMTMsIDI1MiwgMjM1LCA0NCwgMjEwLCAxNDcsIDEsIDIyMiwgMTEzLCAyNTEsIDIzMSwgNDQsIAorICAgIDIxMCwgMTQ3LCAxLCAyMjIsIDExMywgMjUyLCAyMzMsIDQ0LCAyMTAsIDE0NywgMSwgMjIyLCAxMTMsIDI1MSwgMjI1LCA0NCwgCisgICAgMjEwLCAxNDcsIDEsIDIwNiwgNDAsIDI1MSwgMjI1LCA0NCwgMjEwLCAxNDcsIDEsIDIyMiwgMTEzLCAyNDIsIDIxNSwgNDQsIAorICAgIDIxMCwgMTQ3LCAxLCAyMDYsIDQwLCAyNDIsIDIxNSwgNDQsIDIxMCwgMTQ3LCAxLCAyMjIsIDExMywgMjUxLCAxOTksIDQ0LCAKKyAgICAyMTAsIDE0NywgMSwgMjA2LCA0MCwgMjUxLCAxOTksIDQ0LCAyMTAsIDE0NywgMSwgMjIyLCAxMTMsIDI1MiwgMjMwLCA0NCwgCisgICAgMjEwLCAxNDcsIDEsIDIwNiwgNDAsIDI1MiwgMjMwLCA0NCwgMjEwLCAxNDcsIDEsIDIyMiwgMTEzLCAyMjIsIDEwMywgNDQsIAorICAgIDIxMCwgMTQ3LCAxLCAyMjIsIDExMywgMjUwLCAxMTMsIDIxOCwgMzYsIDE4LCAxMDIsIDIxOCwgMzYsIDE4LCAxMDUsIDIxOCwgCisgICAgMzYsIDE4LCAxNDIsIDIxOCwgMzYsIDE4LCAxMzksIDIxOCwgMzYsIDE4LCAxNjgsIDIxOCwgMzYsIDE4LCAxODQsIDIxOCwgCisgICAgMzYsIDE4LCAxOTUsIDIxOCwgMzYsIDE4LCAxOTMsIDIxOCwgMzYsIDE4LCAyMDAsIDIxOCwgMzYsIDQzLCAyMTIsIDk4LCAKKyAgICAyMTgsIDM2LCA0MywgMjEwLCAxMjMsIDIxOCwgMzYsIDQzLCAyMTIsIDMsIDIxOCwgMzYsIDQzLCAyNDEsIDEzMCwgMjE4LCAKKyAgICAzNiwgNDMsIDI0MSwgMjQzLCAyMTgsIDM2LCA0MywgMjE0LCAyNTIsIDIxOCwgMzYsIDQzLCAyMTYsIDE3LCAyMTgsIDM2LCAKKyAgICA0MywgMjQzLCA3OSwgMjE4LCAzNiwgNDMsIDIyNCwgMTkwLCAyMTgsIDM2LCA0MywgMTE5LCAyMzgsIDI5LCAyMTgsIDM2LCAKKyAgICA0MywgMTE4LCAyMzgsIDI5LCAyMTgsIDM2LCA0MywgMTI5LCAyMzgsIDI5LCAyMTgsIDM2LCA0MywgMjQxLCAxMjUsIDIzOCwgCisgICAgMjksIDIxOCwgMzYsIDQzLCAyNDEsIDIwNCwgMjM4LCAyOSwgMjE4LCAzNiwgNDMsIDIxNSwgMTAsIDIzOCwgMjksIDIxOCwgCisgICAgMzYsIDQzLCAyMTYsIDIzLCAyMzgsIDI5LCAyMTgsIDM2LCA0MywgMjQzLCA4OCwgMjM4LCAyOSwgMjE4LCAzNiwgNDMsIAorICAgIDIyNCwgMTk1LCAyMzgsIDI5LCAyMTgsIDM2LCAyNDEsIDExNiwgMTE5LCAyMzksIDEyMSwgMjE4LCAzNiwgMjQxLCAxMTYsIAorICAgIDExOSwgMjE5LCAyMDQsIDIxOCwgMzYsIDI0MSwgMTE2LCAxMTksIDIxMiwgMTAsIDIxOCwgMzYsIDI0MSwgMTE2LCAxMTgsIAorICAgIDIxMiwgNywgMTM2LCAzLCAyNDgsIDIxNywgMTM2LCAzLCAyNTIsIDczLCAxMzYsIDMsIDIwOCwgMTgzLCAxMzYsIDMsIDIzMiwgCisgICAgMTU2LCAxMzYsIDMsIDIwOSwgMjA0LCAxMzYsIDEsIDYyLCAxMzYsIDEsIDI1MywgMTY0LCAxMzYsIDEsIDc0LCAxMzYsIDEsIAorICAgIDIzMywgMTAyLCAxMzYsIDEsIDcxLCAxMzYsIDEsIDIwOSwgMTYyLCAxMzYsIDEsIDExNSwgMTM3LCAxMzYsIDEsIDExNSwgCisgICAgMjE4LCA5MCwgMTM2LCAxLCAxMTUsIDE0OSwgMTM2LCAxLCAxMTUsIDIyOSwgMTczLCAxMzYsIDEsIDc1LCAxMzYsIDEsIAorICAgIDI1MiwgMjA1LCAxMzYsIDEsIDc2LCAxMzYsIDEsIDI1MSwgMTg0LCAxMzYsIDEsIDE3MiwgMTM2LCAxLCAyMzEsIDE2NywgCisgICAgMTM2LCAxLCAyNDAsIDI0NCwgMTM2LCAxLCAyNDAsIDk5LCAxMzYsIDEsIDIyNSwgNzcsIDEzNiwgMSwgMjQ5LCAxLCAxMzYsIAorICAgIDEsIDI0OCwgMTEwLCAxMzYsIDEsIDIzMiwgMjAwLCAxMzYsIDEsIDIzMiwgMTcwLCAxMzYsIDEsIDIyMywgMTQ0LCAxMzYsIAorICAgIDEsIDIxMCwgMjA4LCAxMzYsIDEsIDIxMCwgMTk2LCAxMzYsIDEsIDI0NiwgNTQsIDEzNiwgMSwgMjQ2LCAzOCwgMTM2LCAxLCAKKyAgICAyMjQsIDEwMywgMTM2LCAxLCAyMTIsIDIxOSwgMTM2LCAxLCAyMTIsIDU2LCAxMzYsIDEsIDI0NiwgMTQ1LCAxMzYsIDEsIAorICAgIDI0NSwgMTkyLCAxMzYsIDEsIDE5OSwgMTM2LCAxLCAxNzksIDEzNiwgMSwgMjIxLCA5MywgMTM2LCAxLCAyNTAsIDE4MywgCisgICAgMTM2LCAxLCAyNTAsIDAsIDEzNiwgMSwgMTg1LCAxMzYsIDEsIDE5MCwgMTM2LCAxLCAyMTksIDExMywgMTM2LCAxLCAyMzAsIAorICAgIDE0MSwgMTM2LCAxLCAyMDksIDcwLCAxMzYsIDEsIDIxNiwgMiwgMTM2LCAxLCAyMTQsIDk2LCAxMzYsIDEsIDIxNywgMTk5LCAKKyAgICAxMzYsIDEsIDE1NSwgMTM2LCAxLCAyMjksIDE3MiwgMTM2LCAxLCA0NCwgNDAsIDIyOSwgMTYzLCAxMzYsIDEsIDQ0LCA0MCwgCisgICAgMjE4LCA4OSwgMTM2LCAxLCA0NCwgNDAsIDIyNCwgODUsIDEzNiwgMjIsIDMsIDI1MywgMTY0LCAxMzYsIDIyLCAzLCAyNDksIAorICAgIDI1MywgMjUzLCAxNjQsIDEzNiwgMjIsIDMsIDc0LCAxMzYsIDIyLCAzLCAyMzMsIDEwMiwgMTM2LCAyMiwgMywgNzEsIDEzNiwgCisgICAgMjIsIDMsIDIwOSwgMTYyLCAxMzYsIDIyLCAzLCAxMTUsIDEzNywgMTM2LCAyMiwgMywgMTE1LCAyMTgsIDkwLCAxMzYsIDIyLCAKKyAgICAzLCAxMTUsIDE0OSwgMTM2LCAyMiwgMywgMTE1LCAyMjksIDE3MywgMTM2LCAyMiwgMywgNzUsIDEzNiwgMjIsIDMsIDI1MiwgCisgICAgMjA1LCAxMzYsIDIyLCAzLCA3NiwgMTM2LCAyMiwgMywgMjUxLCAxODQsIDEzNiwgMjA4LCAxODgsIDEzNiwgMjQ2LCAxMDAsIAorICAgIDEzNiwgNTAsIDI0NiwgMTAwLCAxMzYsIDIyMCwgNzIsIDI0NSwgMjMsIDEzNiwgMjIwLCA3MiwgNTAsIDI0NSwgMjMsIDEzNiwgCisgICAgMjIwLCA3MiwgMjI5LCAyMDUsIDEzNiwgMjIwLCA3MiwgMjQ3LCA2NiwgMTM0LCAxMzYsIDIyMCwgNzIsIDIyOSwgMTAyLCAKKyAgICAxMzYsIDQzLCAxMDIsIDEzNiwgNDMsIDEwNSwgMTM2LCA0MywgMTQyLCAxMzYsIDQzLCAxMzksIDEzNiwgNDMsIDE2OCwgCisgICAgMTM2LCA0MywgMTg0LCAxMzYsIDQzLCAxOTUsIDEzNiwgNDMsIDE5MywgMTM2LCA0MywgMjAwLCAxMzYsIDQzLCAyMTIsIDk4LCAKKyAgICAxMzYsIDQzLCAyMTAsIDEyMywgMTM2LCA0MywgMjEyLCAzLCAxMzYsIDQzLCAyNDEsIDEzMCwgMTM2LCA0MywgMjQxLCAyNDMsIAorICAgIDEzNiwgNDMsIDIxNCwgMjUyLCAxMzYsIDQzLCAyMTYsIDE3LCAxMzYsIDQzLCAyNDMsIDc5LCAxMzYsIDQzLCAyMjQsIDE5MCwgCisgICAgMTM2LCA0MywgMTE5LCAyMzgsIDI5LCAxMzYsIDQzLCAxMTksIDIxMSwgMjQyLCAxMzYsIDE4LCAyMDUsIDg1LCAxMzYsIDE4LCAKKyAgICAxMDIsIDEzNiwgMTgsIDEwNSwgMTM2LCAxOCwgMTQyLCAxMzYsIDE4LCAxMzksIDEzNiwgMTgsIDE2OCwgMTM2LCAxOCwgCisgICAgMTg0LCAxMzYsIDE4LCAxOTUsIDEzNiwgMTgsIDE5MywgMTM2LCAxOCwgMjAwLCAxMzYsIDQzLCAyMzIsIDExNywgMjMyLCAKKyAgICAzOCwgMywgMjQ4LCAyMTcsIDIzMiwgMzgsIDMsIDI1MiwgNzMsIDIzMiwgMzgsIDMsIDIwOCwgMTgzLCAyMzIsIDM4LCAxLCAKKyAgICA2MiwgMjMyLCAzOCwgMSwgMjUzLCAxNjQsIDIzMiwgMzgsIDEsIDc0LCAyMzIsIDM4LCAxLCAyMzMsIDEwMiwgMjMyLCAzOCwgCisgICAgMSwgNzEsIDIzMiwgMzgsIDEsIDIwOSwgMTYyLCAyMzIsIDM4LCAxLCA3NSwgMjMyLCAzOCwgMSwgMjUyLCAyMDUsIDIzMiwgCisgICAgMzgsIDEsIDc2LCAyMzIsIDM4LCAxLCAyNTEsIDE4NCwgMjMyLCAzOCwgMSwgMTcyLCAyMzIsIDM4LCAxLCAyMzEsIDE2NywgCisgICAgMjMyLCAzOCwgMSwgMjQwLCAyNDQsIDIzMiwgMzgsIDEsIDI0MCwgOTksIDIzMiwgMzgsIDEsIDIyNSwgNzcsIDIzMiwgMzgsIAorICAgIDEsIDI0OSwgMSwgMjMyLCAzOCwgMSwgMjQ4LCAxMTAsIDIzMiwgMzgsIDEsIDIzMiwgMjAwLCAyMzIsIDM4LCAxLCAyMzIsIAorICAgIDE3MCwgMjMyLCAzOCwgMSwgMjIzLCAxNDQsIDIzMiwgMzgsIDEsIDIxMCwgMjA4LCAyMzIsIDM4LCAxLCAyMTAsIDE5NiwgCisgICAgMjMyLCAzOCwgMSwgMjQ2LCA1NCwgMjMyLCAzOCwgMSwgMjQ2LCA0MywgMjMyLCAzOCwgMSwgMjQ2LCAzOCwgMjMyLCAzOCwgCisgICAgMSwgMjE4LCAyMTIsIDIzMiwgMzgsIDEsIDIyNCwgMTAzLCAyMzIsIDM4LCAxLCAyMTIsIDIxOSwgMjMyLCAzOCwgMSwgMjEyLCAKKyAgICA1NiwgMjMyLCAzOCwgMSwgMjQ2LCAxNDUsIDIzMiwgMzgsIDEsIDI0NSwgMTkyLCAyMzIsIDM4LCAxLCAxOTksIDIzMiwgMzgsIAorICAgIDEsIDE3OSwgMjMyLCAzOCwgMSwgMjIxLCA5MywgMjMyLCAzOCwgMSwgMjUwLCAxODMsIDIzMiwgMzgsIDEsIDI1MCwgMCwgCisgICAgMjMyLCAzOCwgMSwgMTg1LCAyMzIsIDM4LCAxLCAxOTAsIDIzMiwgMzgsIDEsIDIxOSwgMTEzLCAyMzIsIDM4LCAxLCAyMzAsIAorICAgIDE0MSwgMjMyLCAzOCwgMSwgMjA5LCA3MCwgMjMyLCAzOCwgMSwgMjE2LCAyLCAyMzIsIDM4LCAxLCAyMTQsIDk2LCAyMzIsIAorICAgIDM4LCAxLCAyMTcsIDE5OSwgMjMyLCAzOCwgMSwgMTU1LCAyMzIsIDM4LCAyMiwgMywgMjUzLCAxNjQsIDIzMiwgMzgsIDIyLCAKKyAgICAzLCA3NCwgMjMyLCAzOCwgMjIsIDMsIDIzMywgMTAyLCAyMzIsIDM4LCAyMiwgMywgNzEsIDIzMiwgMzgsIDIyLCAzLCAyMDksIAorICAgIDE2MiwgMjMyLCAzOCwgMjIsIDMsIDc1LCAyMzIsIDM4LCAyMiwgMywgMjUyLCAyMDUsIDIzMiwgMzgsIDIyLCAzLCA3NiwgCisgICAgMjMyLCAzOCwgMjIsIDMsIDI1MSwgMTg0LCAyMzIsIDM4LCAzLCAyMDgsIDE4OCwgMjMyLCAzOCwgMywgMjIzLCAxODQsIAorICAgIDIzMiwgMzgsIDI1MywgMjksIDUzLCAyMzIsIDM4LCAyNDMsIDEwLCA1MywgMjMyLCAzOCwgNDMsIDUzLCAyMzIsIDM4LCAKKyAgICAyMTcsIDc3LCA4MywgMjMyLCAzOCwgNTAsIDIxNywgNzcsIDgzLCAyMzIsIDM4LCAyNDYsIDEwMCwgMjMyLCAzOCwgNTAsIAorICAgIDI0NiwgMTAwLCAyMTQsIDE3MCwgMjE0LCAxNzgsIDEsIDIxNywgMTgyLCAyMTQsIDE3MCwgMjE0LCAxNzgsIDEsIDIxMiwgCisgICAgMTk0LCAyMTQsIDE3MCwgMjE0LCAxNzgsIDEsIDI1MCwgMTU4LCAyMTQsIDE3MCwgMjE0LCAxNzgsIDEsIDI0OCwgMjQ2LCAKKyAgICAyMTQsIDE3MCwgMjE0LCAxNzgsIDEsIDI0NiwgMTI2LCAyMTQsIDE3MCwgMjE0LCAxNzgsIDEsIDI0MCwgMjI5LCAyMTQsIAorICAgIDE3MCwgMjE0LCAxNzgsIDEsIDIyNywgMjQ3LCAyMTQsIDE3MCwgMjE0LCAxNzgsIDEsIDIyNSwgNzQsIDIxNCwgMTcwLCAKKyAgICAyMTQsIDE3OCwgMSwgMjMwLCAxMTcsIDIxNCwgMTcwLCAyMTQsIDE3OCwgMSwgMjI1LCAyMTksIDIxNCwgMTcwLCAyMTQsIAorICAgIDE3OCwgMSwgMjA5LCA2NiwgMjE0LCAxNzAsIDIxNCwgMTc4LCAxLCAyMjIsIDM0LCAyMTQsIDE3MCwgMjE0LCAxNzgsIDEsIAorICAgIDIwNiwgOTAsIDIxNCwgMTcwLCAyMTQsIDE3OCwgMSwgMjE5LCA5MiwgMjE0LCAxNzAsIDIxNCwgMTc4LCAxLCAyMzksIDEzMiwgCisgICAgMjE0LCAxNzAsIDIxNCwgMTc4LCAxLCAyMzIsIDQzLCAyMTQsIDE3MCwgMjE0LCAxNzgsIDEsIDIzMiwgMTk0LCAyMTQsIAorICAgIDE3MCwgMjE0LCAxNzgsIDEsIDIyMywgMTQxLCAyMTQsIDE3MCwgMjE0LCAxNzgsIDEsIDI1MiwgMjEzLCAyMTQsIDE3MCwgCisgICAgMjE0LCAxNzgsIDEsIDI0MywgMTAyLCAyMTQsIDE3MCwgMjE0LCAxNzgsIDEsIDIzMywgMTAzLCAyMTQsIDE3MCwgMjE0LCAKKyAgICAxNzgsIDEsIDIwOSwgMjUzLCAyMTQsIDE3MCwgMjE0LCAxNzgsIDEsIDIyMiwgMTk0LCAyMTQsIDE3MCwgMjE0LCAxNzgsIDEsIAorICAgIDI0MywgOTIsIDIxNCwgMTcwLCAyMTQsIDE3OCwgMSwgMjI4LCA0LCAyMTQsIDE3MCwgMjE0LCAxNzgsIDE4LCAyMDUsIDg1LCAKKyAgICAyMTQsIDE3MCwgMjE0LCAxNzgsIDE4LCAxMDIsIDIxNCwgMTcwLCAyMTQsIDE3OCwgMTgsIDEwNSwgMjE0LCAxNzAsIDIxNCwgCisgICAgMTc4LCAxOCwgMTQyLCAyMTQsIDE3MCwgMjE0LCAxNzgsIDE4LCAxMzksIDIxNCwgMTcwLCAyMTQsIDE3OCwgMTgsIDE2OCwgCisgICAgMjE0LCAxNzAsIDIxNCwgMTc4LCAxOCwgMTg0LCAyMTQsIDE3MCwgMjE0LCAxNzgsIDE4LCAxOTUsIDIxNCwgMTcwLCAyMTQsIAorICAgIDE3OCwgMTgsIDE5MywgMjE0LCAxNzAsIDIxNCwgMTc4LCAxOCwgMjAwLCAyNDgsIDEwNCwgMywgMjQ4LCAyMTcsIDI0OCwgCisgICAgMTA0LCAzLCAyNTIsIDczLCAyNDgsIDEwNCwgMywgMjA4LCAxODMsIDI0OCwgMTA0LCAxLCAyNTMsIDE2NCwgMjQ4LCAxMDQsIAorICAgIDEsIDc0LCAyNDgsIDEwNCwgMSwgNzEsIDI0OCwgMTA0LCAxLCA3NSwgMjQ4LCAxMDQsIDEsIDIzMiwgNjMsIDI0OCwgMTA0LCAKKyAgICAxLCAyMzEsIDE2NiwgMjQ4LCAxMDQsIDEsIDI0MCwgMjQxLCAyNDgsIDEwNCwgMSwgMjQwLCA5OCwgMjQ4LCAxMDQsIDEsIAorICAgIDIyNSwgNzYsIDI0OCwgMTA0LCAxLCAyNDksIDAsIDI0OCwgMTA0LCAxLCAyNDgsIDEwOSwgMjQ4LCAxMDQsIDEsIDIzMiwgCisgICAgMTk5LCAyNDgsIDEwNCwgMSwgMjMyLCAxNjksIDI0OCwgMTA0LCAxLCAyMjMsIDE0MywgMjQ4LCAxMDQsIDEsIDIxMCwgMjA3LCAKKyAgICAyNDgsIDEwNCwgMSwgMjEwLCAxOTUsIDI0OCwgMTA0LCAxLCAyNDYsIDUzLCAyNDgsIDEwNCwgMSwgMjQ2LCAzNywgMjQ4LCAKKyAgICAxMDQsIDEsIDIyNCwgMTAyLCAyNDgsIDEwNCwgMSwgMjEyLCAyMTUsIDI0OCwgMTA0LCAxLCAyMTIsIDU1LCAyNDgsIDEwNCwgCisgICAgMSwgMjQ2LCAxNDQsIDI0OCwgMTA0LCAxLCAyNDUsIDE5MSwgMjQ4LCAxMDQsIDEsIDIyNSwgMjMyLCAyNDgsIDEwNCwgMSwgCisgICAgMjIyLCA1MSwgMjQ4LCAxMDQsIDEsIDIyMSwgOTIsIDI0OCwgMTA0LCAxLCAyNTAsIDE4MSwgMjQ4LCAxMDQsIDEsIDI0OSwgCisgICAgMjU1LCAyNDgsIDEwNCwgMSwgMjI4LCAxOCwgMjQ4LCAxMDQsIDEsIDIwNSwgMTY3LCAyNDgsIDEwNCwgMSwgMjA2LCAxMDksIAorICAgIDI0OCwgMTA0LCAxLCAyMTksIDEwOSwgMjQ4LCAxMDQsIDEsIDIzMCwgMTQwLCAyNDgsIDEwNCwgMSwgMjA3LCA5NSwgMjQ4LCAKKyAgICAxMDQsIDEsIDIxNywgMTk2LCAyNDgsIDEwNCwgMSwgMjM5LCAxNDEsIDI0OCwgMTA0LCAyMiwgMywgNjIsIDI0OCwgMTA0LCAKKyAgICAyMiwgMywgNzQsIDI0OCwgMTA0LCAyMiwgMywgMjMzLCAxMDIsIDI0OCwgMTA0LCAyMiwgMywgNzEsIDI0OCwgMTA0LCAyMiwgCisgICAgMywgMjA5LCAxNjIsIDI0OCwgMTA0LCAyMiwgMywgNzUsIDI0OCwgMTA0LCAyMiwgMywgMjUyLCAyMDUsIDI0OCwgMTA0LCAKKyAgICAyMiwgMywgNzYsIDI0OCwgMTA0LCAyMiwgMywgMjUxLCAxODQsIDI0OCwgMTA0LCAyMiwgMywgMjIyLCAxOTEsIDI0OCwgCisgICAgMTA0LCAxNDgsIDgzLCAyNDgsIDEwNCwgMjUxLCAxODUsIDgzLCAyNDgsIDEwNCwgMjA4LCAxODgsIDI0OCwgMTA0LCAyMjgsIAorICAgIDE2LCAyNDgsIDEwNCwgMTgsIDIwNSwgODUsIDI0OCwgMTA0LCAxOCwgMTAyLCAyNDgsIDEwNCwgMTgsIDEwNSwgMjQ4LCAKKyAgICAxMDQsIDE4LCAxNDIsIDI0OCwgMTA0LCAxOCwgMTM5LCAyNDgsIDEwNCwgMTgsIDE2OCwgMjQ4LCAxMDQsIDE4LCAxODQsIAorICAgIDI0OCwgMTA0LCAxOCwgMTk1LCAyNDgsIDEwNCwgMTgsIDE5MywgMjQ4LCAxMDQsIDE4LCAyMDAsIDI0OCwgMTA0LCAyMTcsIAorICAgIDc3LCA4MywgMjQ4LCAxMDQsIDI0NiwgMTAwLCAyNDgsIDEwNCwgNTAsIDI0NiwgMTAwLCAyNDgsIDEwNCwgMjE5LCAxOTYsIAorICAgIDgzLCAyMjcsIDI0NSwgMSwgNjIsIDIyNywgMjQ1LCAxLCA3NCwgMjI3LCAyNDUsIDEsIDcxLCAyMjcsIDI0NSwgMSwgNzUsIAorICAgIDIyNywgMjQ1LCAxLCA3NiwgMjI3LCAyNDUsIDEsIDE3MiwgMjI3LCAyNDUsIDEsIDIzMSwgMTY3LCAyMjcsIDI0NSwgMSwgCisgICAgMjQwLCAyNDQsIDIyNywgMjQ1LCAxLCAyNDAsIDk5LCAyMjcsIDI0NSwgMSwgMjQ5LCAxLCAyMjcsIDI0NSwgMSwgMjQ4LCAKKyAgICAxMTAsIDIyNywgMjQ1LCAxLCAyMzIsIDIwMCwgMjI3LCAyNDUsIDEsIDIzMiwgMTcwLCAyMjcsIDI0NSwgMSwgMjIzLCAxNDQsIAorICAgIDIyNywgMjQ1LCAxLCAyMTAsIDIwOCwgMjI3LCAyNDUsIDEsIDIxMCwgMTk2LCAyMjcsIDI0NSwgMSwgMjQ2LCA1NCwgMjI3LCAKKyAgICAyNDUsIDEsIDI0NiwgMzgsIDIyNywgMjQ1LCAxLCAyMjQsIDEwMywgMjI3LCAyNDUsIDEsIDIxMiwgMjE5LCAyMjcsIDI0NSwgCisgICAgMSwgMjEyLCA1NiwgMjI3LCAyNDUsIDEsIDI0NiwgMTQ1LCAyMjcsIDI0NSwgMSwgMjQ1LCAxOTIsIDIyNywgMjQ1LCAxLCAKKyAgICAxOTksIDIyNywgMjQ1LCAxLCAxNzksIDIyNywgMjQ1LCAxLCAyMjEsIDkzLCAyMjcsIDI0NSwgMSwgMjUwLCAxODMsIDIyNywgCisgICAgMjQ1LCAxLCAyNTAsIDAsIDIyNywgMjQ1LCAxLCAxODUsIDIyNywgMjQ1LCAxLCAyMTksIDExMywgMjI3LCAyNDUsIDEsIAorICAgIDIzMCwgMTQxLCAyMjcsIDI0NSwgMSwgMjA5LCA3MCwgMjI3LCAyNDUsIDEsIDIxNywgMTk5LCAyMjcsIDI0NSwgMSwgMTU1LCAKKyAgICAyMjcsIDI0NSwgMSwgMjE4LCA4OSwgMjI3LCAyNDUsIDMsIDIyMywgMTg0LCAyMjcsIDI0NSwgMjUzLCAyOSwgNTMsIDIyNywgCisgICAgMjQ1LCAyMTcsIDc3LCA4MywgMjI3LCAyNDUsIDI4LCAyMTUsIDEyMywgMTk2LCAzLCAyNDgsIDIxNywgMTk2LCAzLCAyNTIsIAorICAgIDczLCAxOTYsIDMsIDIwOCwgMTgzLCAxOTYsIDEsIDYyLCAxOTYsIDEsIDI1MywgMTY0LCAxOTYsIDEsIDc0LCAxOTYsIDEsIAorICAgIDIzMywgMTAyLCAxOTYsIDEsIDcxLCAxOTYsIDEsIDIwOSwgMTYyLCAxOTYsIDEsIDExNSwgMTM3LCAxOTYsIDEsIDExNSwgCisgICAgMjE4LCA5MCwgMTk2LCAxLCAxMTUsIDE0OSwgMTk2LCAxLCAxMTUsIDIyOSwgMTczLCAxOTYsIDEsIDc1LCAxOTYsIDEsIAorICAgIDI1MiwgMjA1LCAxOTYsIDEsIDc2LCAxOTYsIDEsIDI1MSwgMTg0LCAxOTYsIDEsIDE3MiwgMTk2LCAxLCAyMzEsIDE2NywgCisgICAgMTk2LCAxLCAyNDAsIDI0NCwgMTk2LCAxLCAyNDAsIDk5LCAxOTYsIDEsIDIyNSwgNzcsIDE5NiwgMSwgMjQ5LCAxLCAxOTYsIAorICAgIDEsIDI0OCwgMTEwLCAxOTYsIDEsIDIzMiwgMjAwLCAxOTYsIDEsIDIzMiwgMTcwLCAxOTYsIDEsIDIyMywgMTQ0LCAxOTYsIAorICAgIDEsIDIxMCwgMjA4LCAxOTYsIDEsIDIxMCwgMTk2LCAxOTYsIDEsIDI0NiwgNTQsIDE5NiwgMSwgMjQ2LCAzOCwgMTk2LCAxLCAKKyAgICAyMjQsIDEwMywgMTk2LCAxLCAyMTIsIDIxOSwgMTk2LCAxLCAyMTIsIDU2LCAxOTYsIDEsIDI0NiwgMTQ1LCAxOTYsIDEsIAorICAgIDI0NSwgMTkyLCAxOTYsIDEsIDE5OSwgMTk2LCAxLCAxNzksIDE5NiwgMSwgMjIxLCA5MywgMTk2LCAxLCAyNTAsIDE4MywgCisgICAgMTk2LCAxLCAyNTAsIDAsIDE5NiwgMSwgMTg1LCAxOTYsIDEsIDE5MCwgMTk2LCAxLCAyMTksIDExMywgMTk2LCAxLCAyMzAsIAorICAgIDE0MSwgMTk2LCAxLCAyMjksIDE3MiwgMTk2LCAxLCAyMDksIDcwLCAxOTYsIDEsIDIxNiwgMiwgMTk2LCAxLCAyMTQsIDk2LCAKKyAgICAxOTYsIDEsIDIxNywgMTk5LCAxOTYsIDEsIDE1NSwgMTk2LCAyMiwgMywgMjUzLCAxNjQsIDE5NiwgMjIsIDMsIDc0LCAxOTYsIAorICAgIDIyLCAzLCAyMzMsIDEwMiwgMTk2LCAyMiwgMywgNzEsIDE5NiwgMjIsIDMsIDIwOSwgMTYyLCAxOTYsIDIyLCAzLCAxMTUsIAorICAgIDEzNywgMTk2LCAyMiwgMywgMTE1LCAyMTgsIDkwLCAxOTYsIDIyLCAzLCAxMTUsIDE0OSwgMTk2LCAyMiwgMywgMTE1LCAKKyAgICAyMjksIDE3MywgMTk2LCAyMiwgMywgNzUsIDE5NiwgMjIsIDMsIDI1MiwgMjA1LCAxOTYsIDIyLCAzLCA3NiwgMTk2LCAyMiwgCisgICAgMywgMjUxLCAxODQsIDE5NiwgMywgMjA4LCAxODgsIDE5NiwgMywgMjUxLCAxNjcsIDE5NiwgMywgMjMyLCAxNTYsIDE5NiwgCisgICAgMywgMjA5LCAyMDQsIDE5NiwgMjIyLCAxNzMsIDE5NiwgMjQ2LCAxMDAsIDE5NiwgNTAsIDI0NiwgMTAwLCAxOTYsIDI1MywgCisgICAgMjksIDUzLCAxOTYsIDIxNiwgMzksIDE5NiwgMjEzLCAxMjAsIDgzLCAxOTYsIDE4LCAyMDUsIDg1LCAxOTYsIDE4LCAxMDIsIAorICAgIDE5NiwgMTgsIDEwNSwgMTk2LCAxOCwgMTQyLCAxOTYsIDE4LCAxMzksIDE5NiwgMTgsIDE2OCwgMTk2LCAxOCwgMTg0LCAKKyAgICAxOTYsIDE4LCAxOTUsIDE5NiwgMTgsIDE5MywgMTk2LCAxOCwgMjAwLCAxOTYsIDI0MywgNzQsIDEzMiwgMjUyLCAxOSwgMTgsIAorICAgIDEwMiwgMTMyLCAyNTIsIDE5LCAxOCwgMTA1LCAxMzIsIDI1MiwgMTksIDE4LCAxNDIsIDEzMiwgMjUyLCAxOSwgMTgsIDEzOSwgCisgICAgMTMyLCAyNTIsIDE5LCAxOCwgMTY4LCAxMzIsIDI1MiwgMTksIDE4LCAxODQsIDEzMiwgMjUyLCAxOSwgMTgsIDE5NSwgMTMyLCAKKyAgICAyNTIsIDE5LCAxOCwgMTkzLCAxMzIsIDI1MiwgMTksIDE4LCAyMDAsIDEzMiwgMjUyLCAxOSwgNDMsIDIxMiwgOTgsIDEzMiwgCisgICAgMjUyLCAxOSwgNDMsIDIxMCwgMTIzLCAxMzIsIDI1MiwgMTksIDQzLCAyMTIsIDMsIDEzMiwgMjUyLCAxOSwgNDMsIDI0MSwgCisgICAgMTMwLCAxMzIsIDI1MiwgMTksIDQzLCAyNDEsIDI0MywgMTMyLCAyNTIsIDE5LCA0MywgMjE0LCAyNTIsIDEzMiwgMjUyLCAKKyAgICAxOSwgNDMsIDIxNiwgMTcsIDEzMiwgMjUyLCAxOSwgNDMsIDI0MywgNzksIDEzMiwgMjUyLCAxOSwgNDMsIDIyNCwgMTkwLCAKKyAgICAxMzIsIDI1MiwgMTksIDQzLCAxMTksIDIzOCwgMjksIDEzMiwgMjUyLCAxOSwgNDMsIDExOSwgMjExLCAyNDIsIDIzMSwgCisgICAgMTM3LCAxLCA2MiwgMjMxLCAxMzcsIDEsIDI1MywgMTY0LCAyMzEsIDEzNywgMSwgNzQsIDIzMSwgMTM3LCAxLCA3MSwgMjMxLCAKKyAgICAxMzcsIDEsIDc1LCAyMzEsIDEzNywgMSwgMjUyLCAyMDUsIDIzMSwgMTM3LCAxLCA3NiwgMjMxLCAxMzcsIDEsIDI1MSwgCisgICAgMTg0LCAyMzEsIDEzNywgMSwgMTcyLCAyMzEsIDEzNywgMSwgMjMxLCAxNjcsIDIzMSwgMTM3LCAxLCAyNDAsIDI0NCwgMjMxLCAKKyAgICAxMzcsIDEsIDI0MCwgMTM1LCAyMzEsIDEzNywgMSwgMjQwLCA5OSwgMjMxLCAxMzcsIDEsIDIyNSwgNzcsIDIzMSwgMTM3LCAKKyAgICAxLCAyNDksIDEsIDIzMSwgMTM3LCAxLCAyNDgsIDExMCwgMjMxLCAxMzcsIDEsIDIzMiwgMjAwLCAyMzEsIDEzNywgMSwgCisgICAgMjMyLCAxNTAsIDIzMSwgMTM3LCAxLCAyMjMsIDE0NCwgMjMxLCAxMzcsIDEsIDIxMCwgMjA4LCAyMzEsIDEzNywgMSwgMjEwLCAKKyAgICAxOTYsIDIzMSwgMTM3LCAxLCAyNDYsIDU0LCAyMzEsIDEzNywgMSwgMjQ2LCAzOCwgMjMxLCAxMzcsIDEsIDIyNCwgMTAzLCAKKyAgICAyMzEsIDEzNywgMSwgMjEyLCAyMTksIDIzMSwgMTM3LCAxLCAyMTIsIDU2LCAyMzEsIDEzNywgMSwgMjQ2LCAxNDUsIDIzMSwgCisgICAgMTM3LCAxLCAyNDYsIDQ0LCAyMzEsIDEzNywgMSwgMjQ1LCAxOTIsIDIzMSwgMTM3LCAxLCAxOTksIDIzMSwgMTM3LCAxLCAKKyAgICAxNzksIDIzMSwgMTM3LCAxLCAyMjEsIDkzLCAyMzEsIDEzNywgMSwgMjUwLCAxODMsIDIzMSwgMTM3LCAxLCAyNTAsIDk3LCAKKyAgICAyMzEsIDEzNywgMSwgMjUwLCAwLCAyMzEsIDEzNywgMSwgMTg1LCAyMzEsIDEzNywgMSwgMTkwLCAyMzEsIDEzNywgMSwgCisgICAgMjE5LCAxMTMsIDIzMSwgMTM3LCAxLCAyMzAsIDE0MSwgMjMxLCAxMzcsIDEsIDIwOSwgNzAsIDIzMSwgMTM3LCAxLCAyMTcsIAorICAgIDE5OSwgMjMxLCAxMzcsIDEsIDE1NSwgMjMxLCAxMzcsIDEsIDIyOSwgMTcyLCAyMzEsIDEzNywgMjIsIDMsIDI1MywgMTY0LCAKKyAgICAyMzEsIDEzNywgMjIsIDMsIDc0LCAyMzEsIDEzNywgMjIsIDMsIDIzMywgMTAyLCAyMzEsIDEzNywgMjIsIDMsIDcxLCAyMzEsIAorICAgIDEzNywgMjIsIDMsIDc1LCAyMzEsIDEzNywgMjIsIDMsIDI1MiwgMjA1LCAyMzEsIDEzNywgMjIsIDMsIDc2LCAyMzEsIDEzNywgCisgICAgMjIsIDMsIDI1MSwgMTg0LCAyMzEsIDEzNywgMywgMjUyLCA3MywgMjMxLCAxMzcsIDMsIDIwOCwgMTg4LCAyMzEsIDEzNywgCisgICAgMywgMjIzLCAxODQsIDIzMSwgMTM3LCAzLCAyMTUsIDI0OSwgMjMxLCAxMzcsIDI0NiwgMTAwLCAyMzEsIDEzNywgNTAsIAorICAgIDI0NiwgMTAwLCAyMzEsIDEzNywgMjA2LCAyMzIsIDIxNiwgMzksIDIzMSwgMTM3LCAyMTcsIDc3LCA4MywgMjMxLCAxMzcsIAorICAgIDUwLCAyMTcsIDc3LCA4MywgMjMxLCAxMzcsIDI1MywgMjksIDUzLCAyMzEsIDEyOSwgMSwgNjIsIDIzMSwgMTI5LCAxLCAKKyAgICAyNTMsIDE2NCwgMjMxLCAxMjksIDEsIDc0LCAyMzEsIDEyOSwgMSwgMjMzLCAxMDIsIDIzMSwgMTI5LCAxLCA3MSwgMjMxLCAKKyAgICAxMjksIDEsIDIwOSwgMTYyLCAyMzEsIDEyOSwgMSwgNzUsIDIzMSwgMTI5LCAxLCAyNTIsIDIwNSwgMjMxLCAxMjksIDEsIAorICAgIDc2LCAyMzEsIDEyOSwgMSwgMjUxLCAxODQsIDIzMSwgMTI5LCAxLCAxNzIsIDIzMSwgMTI5LCAxLCAyMzEsIDE2NywgMjMxLCAKKyAgICAxMjksIDEsIDI0MCwgMjQ0LCAyMzEsIDEyOSwgMSwgMjQwLCAxMzUsIDIzMSwgMTI5LCAxLCAyNDAsIDk5LCAyMzEsIDEyOSwgCisgICAgMSwgMjI1LCA3NywgMjMxLCAxMjksIDEsIDI0OSwgMSwgMjMxLCAxMjksIDEsIDI0OCwgMTEwLCAyMzEsIDEyOSwgMSwgMjMyLCAKKyAgICAyMDAsIDIzMSwgMTI5LCAxLCAyMzIsIDE1MCwgMjMxLCAxMjksIDEsIDIzMiwgMTcwLCAyMzEsIDEyOSwgMSwgMjIzLCAxNDQsIAorICAgIDIzMSwgMTI5LCAxLCAyMTAsIDIwOCwgMjMxLCAxMjksIDEsIDIxMCwgMTk2LCAyMzEsIDEyOSwgMSwgMjQ2LCA1NCwgMjMxLCAKKyAgICAxMjksIDEsIDI0NiwgNDQsIDIzMSwgMTI5LCAxLCAyMTgsIDg5LCAyMzEsIDEyOSwgMSwgMjQ2LCAzOCwgMjMxLCAxMjksIDEsIAorICAgIDIyNCwgMTAzLCAyMzEsIDEyOSwgMSwgMjEyLCAyMTksIDIzMSwgMTI5LCAxLCAyMTIsIDU2LCAyMzEsIDEyOSwgMSwgMjQ2LCAKKyAgICAxNDUsIDIzMSwgMTI5LCAxLCAyNDUsIDE5MiwgMjMxLCAxMjksIDEsIDE5OSwgMjMxLCAxMjksIDEsIDE3OSwgMjMxLCAxMjksIAorICAgIDEsIDIyMSwgOTMsIDIzMSwgMTI5LCAxLCAyNTAsIDE4MywgMjMxLCAxMjksIDEsIDI1MCwgOTcsIDIzMSwgMTI5LCAxLCAKKyAgICAyNTAsIDAsIDIzMSwgMTI5LCAxLCAxODUsIDIzMSwgMTI5LCAxLCAxOTAsIDIzMSwgMTI5LCAxLCAyMTksIDExMywgMjMxLCAKKyAgICAxMjksIDEsIDIzMCwgMTQxLCAyMzEsIDEyOSwgMSwgMjA5LCA3MCwgMjMxLCAxMjksIDEsIDIxNiwgMiwgMjMxLCAxMjksIDEsIAorICAgIDIxNywgMTk5LCAyMzEsIDEyOSwgMSwgMTU1LCAyMzEsIDEyOSwgMywgMjUyLCA3MywgMjMxLCAxMjksIDIyLCAzLCAyNTMsIAorICAgIDE2NCwgMjMxLCAxMjksIDIyLCAzLCA3NCwgMjMxLCAxMjksIDIyLCAzLCAyMzMsIDEwMiwgMjMxLCAxMjksIDIyLCAzLCA3MSwgCisgICAgMjMxLCAxMjksIDIyLCAzLCAyMDksIDE2MiwgMjMxLCAxMjksIDIyLCAzLCA3NSwgMjMxLCAxMjksIDIyLCAzLCAyNTIsIAorICAgIDIwNSwgMjMxLCAxMjksIDIyLCAzLCA3NiwgMjMxLCAxMjksIDIyLCAzLCAyNTEsIDE4NCwgMjMxLCAxMjksIDMsIDIyMywgCisgICAgMTg0LCAyMzEsIDEyOSwgMywgMjA4LCAxODgsIDIzMSwgMTI5LCAxOCwgMjA1LCA4NSwgMjMxLCAxMjksIDE4LCAxMDIsIAorICAgIDIzMSwgMTI5LCAxOCwgMTA1LCAyMzEsIDEyOSwgMTgsIDE0MiwgMjMxLCAxMjksIDE4LCAxMzksIDIzMSwgMTI5LCAxOCwgCisgICAgMTY4LCAyMzEsIDEyOSwgMTgsIDE4NCwgMjMxLCAxMjksIDE4LCAxOTUsIDIzMSwgMTI5LCAxOCwgMTkzLCAyMzEsIDEyOSwgCisgICAgMTgsIDIwMCwgMjA0LCAyMDQsIDMsIDI0OCwgMjE3LCAyMDQsIDIwNCwgMywgMjUyLCA3MywgMjA0LCAyMDQsIDMsIDIwOCwgCisgICAgMTgzLCAyMDQsIDIwNCwgMSwgNjIsIDIwNCwgMjA0LCAxLCAyNTMsIDE2NCwgMjA0LCAyMDQsIDEsIDc0LCAyMDQsIDIwNCwgCisgICAgMSwgMjMzLCAxMDIsIDIwNCwgMjA0LCAxLCA3MSwgMjA0LCAyMDQsIDEsIDIwOSwgMTYyLCAyMDQsIDIwNCwgMSwgMTE1LCAKKyAgICAxMzcsIDIwNCwgMjA0LCAxLCAxMTUsIDE0OSwgMjA0LCAyMDQsIDEsIDI0MywgMTA0LCAyMDQsIDIwNCwgMSwgMjUyLCAyMDUsIAorICAgIDIwNCwgMjA0LCAxLCAyMjIsIDE1MiwgMjA0LCAyMDQsIDEsIDI1MSwgMTg0LCAyMDQsIDIwNCwgMSwgMTcyLCAyMDQsIDIwNCwgCisgICAgMSwgMjMxLCAxNjcsIDIwNCwgMjA0LCAxLCAyNDAsIDI0NCwgMjA0LCAyMDQsIDEsIDI0MCwgOTksIDIwNCwgMjA0LCAxLCAKKyAgICAyMjUsIDc3LCAyMDQsIDIwNCwgMSwgMjQ5LCAxLCAyMDQsIDIwNCwgMSwgMjQ4LCAxMTAsIDIwNCwgMjA0LCAxLCAyMzIsIAorICAgIDIwMCwgMjA0LCAyMDQsIDEsIDIzMiwgMTcwLCAyMDQsIDIwNCwgMSwgMjIzLCAxNDQsIDIwNCwgMjA0LCAxLCAyMTAsIDIwOCwgCisgICAgMjA0LCAyMDQsIDEsIDIxMCwgMTk2LCAyMDQsIDIwNCwgMSwgMjQ2LCA1NCwgMjA0LCAyMDQsIDEsIDI0NiwgMzgsIDIwNCwgCisgICAgMjA0LCAxLCAyMjQsIDEwMywgMjA0LCAyMDQsIDEsIDIxMiwgMjE5LCAyMDQsIDIwNCwgMSwgMjEyLCA1NiwgMjA0LCAyMDQsIAorICAgIDEsIDI0NiwgMTQ1LCAyMDQsIDIwNCwgMSwgMjQ1LCAxOTIsIDIwNCwgMjA0LCAxLCAxOTksIDIwNCwgMjA0LCAxLCAxNzksIAorICAgIDIwNCwgMjA0LCAxLCAyMjEsIDkzLCAyMDQsIDIwNCwgMSwgMjUwLCAxODMsIDIwNCwgMjA0LCAxLCAyNTAsIDAsIDIwNCwgCisgICAgMjA0LCAxLCAxODUsIDIwNCwgMjA0LCAxLCAxOTAsIDIwNCwgMjA0LCAxLCAyMTksIDExMywgMjA0LCAyMDQsIDEsIDIzMCwgCisgICAgMTQxLCAyMDQsIDIwNCwgMSwgMjI5LCAxNzIsIDIwNCwgMjA0LCAxLCAyMDksIDcwLCAyMDQsIDIwNCwgMSwgMjE2LCAyLCAKKyAgICAyMDQsIDIwNCwgMSwgMjE0LCA5NiwgMjA0LCAyMDQsIDEsIDIxNywgMTk5LCAyMDQsIDIwNCwgMSwgMTU1LCAyMDQsIDIwNCwgCisgICAgMywgMjIzLCAxODQsIDIwNCwgMjA0LCAzLCAyNTEsIDE2NywgMjA0LCAyMDQsIDIyLCAzLCAyNTMsIDE2NCwgMjA0LCAyMDQsIAorICAgIDIyLCAzLCA3NCwgMjA0LCAyMDQsIDIyLCAzLCAyMzMsIDEwMiwgMjA0LCAyMDQsIDIyLCAzLCA3MSwgMjA0LCAyMDQsIDIyLCAKKyAgICAzLCAyMDksIDE2MiwgMjA0LCAyMDQsIDIyLCAzLCAxMTUsIDEzNywgMjA0LCAyMDQsIDIyLCAzLCAxMTUsIDIxOCwgOTAsIAorICAgIDIwNCwgMjA0LCAyMiwgMywgMjQzLCAxMDQsIDIwNCwgMjA0LCAyMiwgMywgMjUyLCAyMDUsIDIwNCwgMjA0LCAyMiwgMywgCisgICAgMjIyLCAxNTIsIDIwNCwgMjA0LCAyMiwgMywgMjUxLCAxODQsIDIwNCwgMjA0LCAzLCAyMDgsIDE4OCwgMjA0LCAyMDQsIAorICAgIDI1MSwgMTg1LCAyMzAsIDIwLCA4MywgMjA0LCAyMDQsIDMsIDIyMCwgMjE2LCAyMDQsIDIwNCwgMSwgMjA5LCAzNiwgMjUyLCAKKyAgICA3MywgMjA0LCAyMDQsIDEsIDIwOSwgMzYsIDUwLCAyNTIsIDczLCAyMDQsIDIwNCwgMSwgMTE1LCAyMTgsIDkwLCAyMDQsIAorICAgIDIwNCwgMSwgMTE1LCAyMjksIDE3MywgMjA0LCAyMDQsIDIyLCAzLCAxMTUsIDE0OSwgMjA0LCAyMDQsIDIyLCAzLCAxMTUsIAorICAgIDIyOSwgMTczLCAzNiwgMjA0LCAyMDQsIDE4LCAyMDUsIDg1LCAzNiwgMjA0LCAyMDQsIDE4LCAxMDIsIDM2LCAyMDQsIDIwNCwgCisgICAgMTgsIDEwNSwgMzYsIDIwNCwgMjA0LCAxOCwgMTQyLCAzNiwgMjA0LCAyMDQsIDE4LCAxMzksIDM2LCAyMDQsIDIwNCwgMTgsIAorICAgIDE2OCwgMzYsIDIwNCwgMjA0LCAxOCwgMTg0LCAzNiwgMjA0LCAyMDQsIDEsIDYyLCAzNiwgMjA0LCAyMDQsIDEsIDE3MiwgCisgICAgMzYsIDIwNCwgMjA0LCAxLCAxOTksIDM2LCAyMDQsIDIwNCwgMSwgMjA4LCAyMTQsIDM2LCAyMDQsIDIwNCwgMSwgMTc5LCAKKyAgICAyMTEsIDE2MCwgMjUyLCAxMDIsIDIxMSwgMTYwLCAxLCA2MiwgMjExLCAxNjAsIDEsIDI1MywgMTY0LCAyMTEsIDE2MCwgMSwgCisgICAgNzQsIDIxMSwgMTYwLCAxLCAyMzMsIDEwMiwgMjExLCAxNjAsIDEsIDcxLCAyMTEsIDE2MCwgMSwgMjA5LCAxNjIsIDIxMSwgCisgICAgMTYwLCAxLCAxMTUsIDEzNywgMjExLCAxNjAsIDEsIDExNSwgMjE4LCA5MCwgMjExLCAxNjAsIDEsIDExNSwgMTQ5LCAyMTEsIAorICAgIDE2MCwgMSwgMTE1LCAyMjksIDE3MywgMjExLCAxNjAsIDEsIDc1LCAyMTEsIDE2MCwgMSwgMjUyLCAyMDUsIDIxMSwgMTYwLCAKKyAgICAxLCA3NiwgMjExLCAxNjAsIDEsIDI1MSwgMTg0LCAyMTEsIDE2MCwgMSwgMTcyLCAyMTEsIDE2MCwgMSwgMjMxLCAxNjcsIAorICAgIDIxMSwgMTYwLCAxLCAyNDAsIDI0NCwgMjExLCAxNjAsIDEsIDI0MCwgOTksIDIxMSwgMTYwLCAxLCAyMjUsIDc3LCAyMTEsIAorICAgIDE2MCwgMSwgMjQ5LCAxLCAyMTEsIDE2MCwgMSwgMjQ4LCAxMTAsIDIxMSwgMTYwLCAxLCAyMzIsIDIwMCwgMjExLCAxNjAsIAorICAgIDEsIDIzMiwgMTcwLCAyMTEsIDE2MCwgMSwgMjIzLCAxNDQsIDIxMSwgMTYwLCAxLCAyMTAsIDIwOCwgMjExLCAxNjAsIDEsIAorICAgIDIxMCwgMTk2LCAyMTEsIDE2MCwgMSwgMjQ2LCA1NCwgMjExLCAxNjAsIDEsIDI0NiwgMzgsIDIxMSwgMTYwLCAxLCAyMjQsIAorICAgIDEwMywgMjExLCAxNjAsIDEsIDIxMiwgMjE5LCAyMTEsIDE2MCwgMSwgMjEyLCA1NiwgMjExLCAxNjAsIDEsIDI0NiwgMTQ1LCAKKyAgICAyMTEsIDE2MCwgMSwgMjQ1LCAxOTIsIDIxMSwgMTYwLCAxLCAxOTksIDIxMSwgMTYwLCAxLCAxNzksIDIxMSwgMTYwLCAxLCAKKyAgICAyMjEsIDkzLCAyMTEsIDE2MCwgMSwgMjUwLCAxODMsIDIxMSwgMTYwLCAxLCAyNTAsIDAsIDIxMSwgMTYwLCAxLCAxODUsIAorICAgIDIxMSwgMTYwLCAxLCAxOTAsIDIxMSwgMTYwLCAxLCAyMTksIDExMywgMjExLCAxNjAsIDEsIDIzMCwgMTQxLCAyMTEsIDE2MCwgCisgICAgMSwgMjA5LCA3MCwgMjExLCAxNjAsIDEsIDIxNiwgMiwgMjExLCAxNjAsIDEsIDIxNCwgOTYsIDIxMSwgMTYwLCAxLCAyMTcsIAorICAgIDE5OSwgMjExLCAxNjAsIDEsIDE1NSwgMjExLCAxNjAsIDIyLCAzLCAyNTMsIDE2NCwgMjExLCAxNjAsIDIyLCAzLCA3NCwgCisgICAgMjExLCAxNjAsIDIyLCAzLCAyMzMsIDEwMiwgMjExLCAxNjAsIDIyLCAzLCA3MSwgMjExLCAxNjAsIDIyLCAzLCAyMDksIAorICAgIDE2MiwgMjExLCAxNjAsIDIyLCAzLCAxMTUsIDEzNywgMjExLCAxNjAsIDIyLCAzLCAxMTUsIDIxOCwgOTAsIDIxMSwgMTYwLCAKKyAgICAyMiwgMywgMTE1LCAxNDksIDIxMSwgMTYwLCAyMiwgMywgMTE1LCAyMjksIDE3MywgMjExLCAxNjAsIDIyLCAzLCA3NSwgCisgICAgMjExLCAxNjAsIDIyLCAzLCAyMTUsIDE0NCwgNzUsIDIxMSwgMTYwLCAyMiwgMywgMjUyLCAyMDUsIDIxMSwgMTYwLCAyMiwgCisgICAgMywgNzYsIDIxMSwgMTYwLCAyMiwgMywgMjE1LCAxNDQsIDc2LCAyMTEsIDE2MCwgMjIsIDMsIDI1MSwgMTg0LCAyMTEsIAorICAgIDE2MCwgMywgMjQ4LCAyMTcsIDIxMSwgMTYwLCAzLCAyNTIsIDczLCAyMTEsIDE2MCwgMywgMjA4LCAxODMsIDIxMSwgMTYwLCAKKyAgICAzLCAyMDgsIDE4OCwgMjExLCAxNjAsIDMsIDIyMywgMTg0LCAyMTEsIDE2MCwgMywgMjUxLCAxNjcsIDIxMSwgMTYwLCAyMzksIAorICAgIDE3NSwgMjExLCAxNjAsIDI1MywgMjksIDUzLCAyMTEsIDE2MCwgMjIyLCAxNzMsIDIxMSwgMTYwLCAxOCwgMjA1LCA4NSwgCisgICAgMjExLCAxNjAsIDE4LCAxMDIsIDIxMSwgMTYwLCAxOCwgMTA1LCAyMTEsIDE2MCwgMTgsIDE0MiwgMjExLCAxNjAsIDE4LCAKKyAgICAxMzksIDIxMSwgMTYwLCAxOCwgMTY4LCAyMTEsIDE2MCwgMTgsIDE4NCwgMjExLCAxNjAsIDE4LCAxOTUsIDIxMSwgMTYwLCAKKyAgICAxOCwgMTkzLCAyMTEsIDE2MCwgMTgsIDIwMCwgMjE1LCA3NSwgMSwgNjIsIDIxNSwgNzUsIDEsIDI1MywgMTY0LCAyMTUsIAorICAgIDc1LCAxLCA3NCwgMjE1LCA3NSwgMSwgMjMzLCAxMDIsIDIxNSwgNzUsIDEsIDcxLCAyMTUsIDc1LCAxLCAyMDksIDE2MiwgCisgICAgMjE1LCA3NSwgMSwgMTE1LCAxMzcsIDIxNSwgNzUsIDEsIDExNSwgMjE4LCA5MCwgMjE1LCA3NSwgMSwgMTE1LCAxNDksIAorICAgIDIxNSwgNzUsIDEsIDExNSwgMjI5LCAxNzMsIDIxNSwgNzUsIDEsIDc1LCAyMTUsIDc1LCAxLCAyNTIsIDIwNSwgMjE1LCA3NSwgCisgICAgMSwgNzYsIDIxNSwgNzUsIDEsIDI1MSwgMTg0LCAyMTUsIDc1LCAxLCAxNzIsIDIxNSwgNzUsIDEsIDIzMSwgMTY3LCAyMTUsIAorICAgIDc1LCAxLCAyNDAsIDI0NCwgMjE1LCA3NSwgMSwgMjQwLCA5OSwgMjE1LCA3NSwgMSwgMjI1LCA3NywgMjE1LCA3NSwgMSwgCisgICAgMjQ5LCAxLCAyMTUsIDc1LCAxLCAyNDgsIDExMCwgMjE1LCA3NSwgMSwgMjMyLCAyMDAsIDIxNSwgNzUsIDEsIDIzMiwgMTcwLCAKKyAgICAyMTUsIDc1LCAxLCAyMjMsIDE0NCwgMjE1LCA3NSwgMSwgMjEwLCAyMDgsIDIxNSwgNzUsIDEsIDIxMCwgMTk2LCAyMTUsIAorICAgIDc1LCAxLCAyNDYsIDU0LCAyMTUsIDc1LCAxLCAyNDYsIDM4LCAyMTUsIDc1LCAxLCAyMjQsIDEwMywgMjE1LCA3NSwgMSwgCisgICAgMjEyLCAyMTksIDIxNSwgNzUsIDEsIDIxMiwgNTYsIDIxNSwgNzUsIDEsIDI0NiwgMTQ1LCAyMTUsIDc1LCAxLCAyNDUsIAorICAgIDE5MiwgMjE1LCA3NSwgMSwgMTk5LCAyMTUsIDc1LCAxLCAxNzksIDIxNSwgNzUsIDEsIDIyMSwgOTMsIDIxNSwgNzUsIDEsIAorICAgIDI1MCwgMTgzLCAyMTUsIDc1LCAxLCAyNTAsIDAsIDIxNSwgNzUsIDEsIDE4NSwgMjE1LCA3NSwgMSwgMTkwLCAyMTUsIDc1LCAKKyAgICAxLCAyMTksIDExMywgMjE1LCA3NSwgMSwgMjMwLCAxNDEsIDIxNSwgNzUsIDEsIDIwOSwgNzAsIDIxNSwgNzUsIDEsIDIxNiwgCisgICAgMiwgMjE1LCA3NSwgMSwgMjE0LCA5NiwgMjE1LCA3NSwgMSwgMjE3LCAxOTksIDIxNSwgNzUsIDEsIDE1NSwgMjE1LCA3NSwgCisgICAgMjIsIDMsIDI1MywgMTY0LCAyMTUsIDc1LCAyMiwgMywgNzQsIDIxNSwgNzUsIDIyLCAzLCAyMzMsIDEwMiwgMjE1LCA3NSwgCisgICAgMjIsIDMsIDcxLCAyMTUsIDc1LCAyMiwgMywgMjA5LCAxNjIsIDIxNSwgNzUsIDIyLCAzLCAxMTUsIDEzNywgMjE1LCA3NSwgCisgICAgMjIsIDMsIDExNSwgMjE4LCA5MCwgMjE1LCA3NSwgMjIsIDMsIDc1LCAyMTUsIDc1LCAyMiwgMywgMjUyLCAyMDUsIDIxNSwgCisgICAgNzUsIDIyLCAzLCA3NiwgMjE1LCA3NSwgMjIsIDMsIDI1MSwgMTg0LCAyMTUsIDc1LCAzLCAyNDgsIDIxNywgMjE1LCA3NSwgCisgICAgMywgMjUyLCA3MywgMjE1LCA3NSwgMywgMjA4LCAxODMsIDIxNSwgNzUsIDMsIDIwOCwgMTg4LCAyMTUsIDc1LCAzLCAyMjMsIAorICAgIDE4NCwgMjE1LCA3NSwgMywgMjE1LCA3NCwgMjE1LCA3NSwgMjQ2LCAxMDAsIDIxNSwgNzUsIDUwLCAyNDYsIDEwMCwgMjE1LCAKKyAgICA3NSwgMjE2LCA0MCwgMjQ1LCAyMywgMjE1LCA3NSwgMjE2LCA0MCwgMTM0LCAyMTUsIDc1LCAyMTgsIDI0OSwgMjI3LCAxOTEsIAorICAgIDIxNSwgNzUsIDIxOCwgMjQ5LCAyMjcsIDE5MCwgMjE1LCA3NSwgMjE4LCAyNDksIDIyNywgMTg5LCAyMTUsIDc1LCAyNDMsIAorICAgIDM0LCA3MywgMjEyLCA2MSwgODMsIDIyNiwgMTczLCAxLCA2MiwgMjI2LCAxNzMsIDEsIDI1MywgMTY0LCAyMjYsIDE3MywgMSwgCisgICAgNzQsIDIyNiwgMTczLCAxLCAyMzMsIDEwMiwgMjI2LCAxNzMsIDEsIDcxLCAyMjYsIDE3MywgMSwgMjA5LCAxNjIsIDIyNiwgCisgICAgMTczLCAxLCAxMTUsIDEzNywgMjI2LCAxNzMsIDEsIDExNSwgMjE4LCA5MCwgMjI2LCAxNzMsIDEsIDExNSwgMTQ5LCAyMjYsIAorICAgIDE3MywgMSwgMTE1LCAyMjksIDE3MywgMjI2LCAxNzMsIDEsIDc1LCAyMjYsIDE3MywgMSwgMjUyLCAyMDUsIDIyNiwgMTczLCAKKyAgICAxLCA3NiwgMjI2LCAxNzMsIDEsIDI1MSwgMTg0LCAyMjYsIDE3MywgMSwgMTcyLCAyMjYsIDE3MywgMSwgMjMxLCAxNjcsIAorICAgIDIyNiwgMTczLCAxLCAyNDAsIDI0NCwgMjI2LCAxNzMsIDEsIDI0MCwgOTksIDIyNiwgMTczLCAxLCAyMjUsIDc3LCAyMjYsIAorICAgIDE3MywgMSwgMjQ5LCAxLCAyMjYsIDE3MywgMSwgMjQ4LCAxMTAsIDIyNiwgMTczLCAxLCAyMzIsIDIwMCwgMjI2LCAxNzMsIAorICAgIDEsIDIzMiwgMTcwLCAyMjYsIDE3MywgMSwgMjIzLCAxNDQsIDIyNiwgMTczLCAxLCAyMTAsIDIwOCwgMjI2LCAxNzMsIDEsIAorICAgIDIxMCwgMTk2LCAyMjYsIDE3MywgMSwgMjQ2LCA1NCwgMjI2LCAxNzMsIDEsIDI0NiwgMzgsIDIyNiwgMTczLCAxLCAyMjQsIAorICAgIDEwMywgMjI2LCAxNzMsIDEsIDIxMiwgMjE5LCAyMjYsIDE3MywgMSwgMjEyLCA1NiwgMjI2LCAxNzMsIDEsIDI0NiwgMTQ1LCAKKyAgICAyMjYsIDE3MywgMSwgMjQ1LCAxOTIsIDIyNiwgMTczLCAxLCAxOTksIDIyNiwgMTczLCAxLCAxNzksIDIyNiwgMTczLCAxLCAKKyAgICAyMjEsIDkzLCAyMjYsIDE3MywgMSwgMjUwLCAxODMsIDIyNiwgMTczLCAxLCAyNTAsIDAsIDIyNiwgMTczLCAxLCAxODUsIAorICAgIDIyNiwgMTczLCAxLCAxOTAsIDIyNiwgMTczLCAxLCAyMTksIDExMywgMjI2LCAxNzMsIDEsIDIzMCwgMTQxLCAyMjYsIDE3MywgCisgICAgMSwgMjA5LCA3MCwgMjI2LCAxNzMsIDEsIDIxNiwgMiwgMjI2LCAxNzMsIDEsIDIxNCwgOTYsIDIyNiwgMTczLCAxLCAyMTcsIAorICAgIDE5OSwgMjI2LCAxNzMsIDEsIDE1NSwgMjI2LCAxNzMsIDEsIDIyOSwgMTcyLCAyMjYsIDE3MywgMjIsIDMsIDI1MywgMTY0LCAKKyAgICAyMjYsIDE3MywgMjIsIDMsIDc0LCAyMjYsIDE3MywgMjIsIDMsIDIzMywgMTAyLCAyMjYsIDE3MywgMjIsIDMsIDcxLCAyMjYsIAorICAgIDE3MywgMjIsIDMsIDIwOSwgMTYyLCAyMjYsIDE3MywgMjIsIDMsIDExNSwgMTM3LCAyMjYsIDE3MywgMjIsIDMsIDExNSwgCisgICAgMjE4LCA5MCwgMjI2LCAxNzMsIDIyLCAzLCAxMTUsIDE0OSwgMjI2LCAxNzMsIDIyLCAzLCAxMTUsIDIyOSwgMTczLCAyMjYsIAorICAgIDE3MywgMjIsIDMsIDc1LCAyMjYsIDE3MywgMjIsIDMsIDI1MiwgMjA1LCAyMjYsIDE3MywgMjIsIDMsIDc2LCAyMjYsIDE3MywgCisgICAgMjIsIDMsIDI1MSwgMTg0LCAyMjYsIDE3MywgMywgMjUyLCA3MywgMjI2LCAxNzMsIDMsIDIwOCwgMTgzLCAyMjYsIDE3MywgCisgICAgMywgMjA4LCAxODgsIDIyNiwgMTczLCAzLCAyNTIsIDE2LCAyMjYsIDE3MywgMjQ2LCAxMDAsIDIyNiwgMTczLCA1MCwgMjQ2LCAKKyAgICAxMDAsIDIyNiwgMTczLCAyNTMsIDI5LCA1MywgMjI2LCAxNzMsIDMsIDIzOCwgMTgsIDIyNiwgMTczLCAxOCwgMjA1LCA4NSwgCisgICAgMjI2LCAxNzMsIDE4LCAxMDIsIDIyNiwgMTczLCAxOCwgMTA1LCAyMjYsIDE3MywgMTgsIDE0MiwgMjI2LCAxNzMsIDE4LCAKKyAgICAxMzksIDIyNiwgMTczLCAxOCwgMTY4LCAyMjYsIDE3MywgMTgsIDE4NCwgMjI2LCAxNzMsIDE4LCAxOTUsIDIyNiwgMTczLCAKKyAgICAxOCwgMTkzLCAyMjYsIDE3MywgMTgsIDIwMCwgMjEyLCAxODMsIDEsIDYyLCAyMTIsIDE4MywgMSwgMjUzLCAxNjQsIDIxMiwgCisgICAgMTgzLCAxLCA3NCwgMjEyLCAxODMsIDEsIDIzMywgMTAyLCAyMTIsIDE4MywgMSwgNzEsIDIxMiwgMTgzLCAxLCAyMDksIAorICAgIDE2MiwgMjEyLCAxODMsIDEsIDc1LCAyMTIsIDE4MywgMSwgMjUyLCAyMDUsIDIxMiwgMTgzLCAxLCA3NiwgMjEyLCAxODMsIAorICAgIDEsIDI1MSwgMTg0LCAyMTIsIDE4MywgMSwgMTcyLCAyMTIsIDE4MywgMSwgMjMxLCAxNjcsIDIxMiwgMTgzLCAxLCAyNDAsIAorICAgIDI0NCwgMjEyLCAxODMsIDEsIDI0MCwgOTksIDIxMiwgMTgzLCAxLCAyMjUsIDc3LCAyMTIsIDE4MywgMSwgMjQ5LCAxLCAKKyAgICAyMTIsIDE4MywgMSwgMjQ4LCAxMTAsIDIxMiwgMTgzLCAxLCAyMzIsIDIwMCwgMjEyLCAxODMsIDEsIDIzMiwgMTcwLCAyMTIsIAorICAgIDE4MywgMSwgMjIzLCAxNDQsIDIxMiwgMTgzLCAxLCAyMTAsIDIwOCwgMjEyLCAxODMsIDEsIDIxMCwgMTk2LCAyMTIsIDE4MywgCisgICAgMSwgMjQ2LCA1NCwgMjEyLCAxODMsIDEsIDI0NiwgMzgsIDIxMiwgMTgzLCAxLCAyMjQsIDEwMywgMjEyLCAxODMsIDEsIAorICAgIDIxMiwgMjE5LCAyMTIsIDE4MywgMSwgMjEyLCA1NiwgMjEyLCAxODMsIDEsIDI0NiwgMTQ1LCAyMTIsIDE4MywgMSwgMjQ1LCAKKyAgICAxOTIsIDIxMiwgMTgzLCAxLCAxOTksIDIxMiwgMTgzLCAxLCAxNzksIDIxMiwgMTgzLCAxLCAyMjEsIDkzLCAyMTIsIDE4MywgCisgICAgMSwgMjUwLCAxODMsIDIxMiwgMTgzLCAxLCAyNTAsIDAsIDIxMiwgMTgzLCAxLCAxODUsIDIxMiwgMTgzLCAxLCAxOTAsIAorICAgIDIxMiwgMTgzLCAxLCAyMTksIDExMywgMjEyLCAxODMsIDEsIDIzMCwgMTQxLCAyMTIsIDE4MywgMSwgMjA5LCA3MCwgMjEyLCAKKyAgICAxODMsIDEsIDIxNiwgMiwgMjEyLCAxODMsIDEsIDIxNywgMTk5LCAyMTIsIDE4MywgMSwgMTU1LCAyMTIsIDE4MywgMSwgCisgICAgMjE4LCA4OSwgMjEyLCAxODMsIDMsIDI1MiwgNzMsIDIxMiwgMTgzLCAzLCAyMDgsIDE4MywgMjEyLCAxODMsIDIyLCAzLCAKKyAgICAyNTMsIDE2NCwgMjEyLCAxODMsIDIyLCAzLCA3NCwgMjEyLCAxODMsIDIyLCAzLCAyMzMsIDEwMiwgMjEyLCAxODMsIDIyLCAKKyAgICAzLCA3MSwgMjEyLCAxODMsIDIyLCAzLCAyMDksIDE2MiwgMjEyLCAxODMsIDIyLCAzLCA3NSwgMjEyLCAxODMsIDIyLCAzLCAKKyAgICAyNTIsIDIwNSwgMjEyLCAxODMsIDIyLCAzLCA3NiwgMjEyLCAxODMsIDIyLCAzLCAyNTEsIDE4NCwgMjEyLCAxODMsIDMsIAorICAgIDIwOCwgMTg4LCAyMTIsIDE4MywgMywgMjIzLCAxODQsIDIxMiwgMTgzLCAxOCwgMjA1LCA4NSwgMjEyLCAxODMsIDE4LCAKKyAgICAxMDIsIDIxMiwgMTgzLCAxOCwgMTA1LCAyMTIsIDE4MywgMTgsIDE0MiwgMjEyLCAxODMsIDE4LCAxMzksIDIxMiwgMTgzLCAKKyAgICAxOCwgMTY4LCAyMTIsIDE4MywgMTgsIDE4NCwgMjEyLCAxODMsIDE4LCAxOTUsIDIxMiwgMTgzLCAxOCwgMTkzLCAyMTIsIAorICAgIDE4MywgMTgsIDIwMCwgMjAyLCAxOTcsIDYsIDEsIDIyNSwgNzYsIDIwMiwgMTk3LCA2LCAxLCA2MiwgMjAyLCAxOTcsIDYsIAorICAgIDEsIDIwNywgMjAsIDIwMiwgMTk3LCA2LCAxLCAyMDUsIDIxMywgMjAyLCAxOTcsIDYsIDEsIDE5MCwgMjAyLCAxOTcsIDYsIAorICAgIDEsIDIwNSwgMjQ3LCAyMDIsIDE5NywgNiwgMSwgMjMzLCAxMDIsIDIwMiwgMTk3LCA2LCAxLCAyMDksIDE2MiwgMjAyLCAKKyAgICAxOTcsIDYsIDEsIDc1LCAyMDIsIDE5NywgNiwgMSwgNzYsIDIwMiwgMTk3LCA2LCAxLCAyNTIsIDExNCwgMjAyLCAxOTcsIDYsIAorICAgIDEsIDI0MCwgMjQ0LCAyMDIsIDE5NywgNiwgMSwgMjMxLCA1MywgMjAyLCAxOTcsIDYsIDEsIDI0MywgNywgMjAyLCAxOTcsIAorICAgIDYsIDEsIDIwNSwgMTk3LCAyMDIsIDE5NywgNiwgMSwgMjEwLCAxMCwgMjAyLCAxOTcsIDYsIDEsIDI0MywgMjUsIDIwMiwgCisgICAgMTk3LCA2LCAxLCAyMjIsIDIwOSwgMjAyLCAxOTcsIDYsIDEsIDIxMCwgMjAzLCAyMDIsIDE5NywgNiwgMSwgMjIzLCAxNzAsIAorICAgIDIwMiwgMTk3LCA2LCAxLCAyNDYsIDE0NSwgMjAyLCAxOTcsIDYsIDEsIDI1MSwgMTk5LCAyMDIsIDE5NywgNiwgMSwgMjUyLCAKKyAgICAxMzYsIDIwMiwgMTk3LCA2LCAxLCAyNDksIDEwMSwgMjAyLCAxOTcsIDYsIDEsIDIyMCwgODIsIDIwMiwgMTk3LCA2LCAxLCAKKyAgICAyMzgsIDI0MSwgMjAyLCAxOTcsIDYsIDEsIDIzOCwgMTM4LCAyMDIsIDE5NywgNiwgMSwgMjM4LCA2NywgMjAyLCAxOTcsIDYsIAorICAgIDEsIDIzOSwgOTUsIDIwMiwgMTk3LCA2LCAxLCAyMTQsIDQ4LCAyMDIsIDE5NywgNiwgMSwgMjE1LCA2MSwgMjAyLCAxOTcsIAorICAgIDYsIDEsIDIwOCwgMTc0LCAyMDIsIDE5NywgNSwgMSwgMjI1LCA3NiwgMjAyLCAxOTcsIDUsIDEsIDYyLCAyMDIsIDE5NywgNSwgCisgICAgMSwgMjA3LCAyMCwgMjAyLCAxOTcsIDUsIDEsIDIwNSwgMjEzLCAyMDIsIDE5NywgNSwgMSwgMTkwLCAyMDIsIDE5NywgNSwgCisgICAgMSwgMjA1LCAyNDcsIDIwMiwgMTk3LCA1LCAxLCAyMzMsIDEwMiwgMjAyLCAxOTcsIDUsIDEsIDIwOSwgMTYyLCAyMDIsIAorICAgIDE5NywgNSwgMSwgNzUsIDIwMiwgMTk3LCA1LCAxLCA3NiwgMjAyLCAxOTcsIDUsIDEsIDI1MiwgMTE0LCAyMDIsIDE5NywgNSwgCisgICAgMSwgMjQwLCAyNDQsIDIwMiwgMTk3LCA1LCAxLCAyMzEsIDUzLCAyMDIsIDE5NywgNSwgMSwgMjQzLCA3LCAyMDIsIDE5NywgCisgICAgNSwgMSwgMjA1LCAxOTcsIDIwMiwgMTk3LCA1LCAxLCAyMTAsIDEwLCAyMDIsIDE5NywgNSwgMSwgMjQzLCAyNSwgMjAyLCAKKyAgICAxOTcsIDUsIDEsIDIyMiwgMjA5LCAyMDIsIDE5NywgNSwgMSwgMjEwLCAyMDMsIDIwMiwgMTk3LCA1LCAxLCAyMjMsIDE3MCwgCisgICAgMjAyLCAxOTcsIDUsIDEsIDI0NiwgMTQ1LCAyMDIsIDE5NywgNSwgMSwgMjUxLCAxOTksIDIwMiwgMTk3LCA1LCAxLCAyNTIsIAorICAgIDEzNiwgMjAyLCAxOTcsIDUsIDEsIDI0OSwgMTAxLCAyMDIsIDE5NywgNSwgMSwgMjIwLCA4MiwgMjAyLCAxOTcsIDUsIDEsIAorICAgIDIzOCwgMjQxLCAyMDIsIDE5NywgNSwgMSwgMjM4LCAxMzgsIDIwMiwgMTk3LCA1LCAxLCAyMzgsIDY3LCAyMDIsIDE5NywgNSwgCisgICAgMSwgMjM5LCA5NSwgMjAyLCAxOTcsIDUsIDEsIDIxNCwgNDgsIDIwMiwgMTk3LCA1LCAxLCAyMTUsIDYxLCAyMDIsIDE5NywgCisgICAgNSwgMSwgMjA4LCAxNzQsIDIwMiwgMTk3LCAxOCwgMjA1LCA4NSwgMjAyLCAxOTcsIDE4LCAxMDIsIDIwMiwgMTk3LCAxOCwgCisgICAgMTA1LCAyMDIsIDE5NywgMTgsIDE0MiwgMjAyLCAxOTcsIDE4LCAxMzksIDIwMiwgMTk3LCAxOCwgMTY4LCAyMDIsIDE5NywgCisgICAgMTgsIDE4NCwgMjAyLCAxOTcsIDE4LCAxOTUsIDIwMiwgMTk3LCAxOCwgMTkzLCAyMDIsIDE5NywgMTgsIDIwMCwgMjAyLCAKKyAgICAxOTcsIDQzLCAyMTIsIDk4LCAyMDIsIDE5NywgNDMsIDIxMCwgMTIzLCAyMDIsIDE5NywgNDMsIDIxMiwgMywgMjAyLCAxOTcsIAorICAgIDQzLCAyNDEsIDEzMCwgMjAyLCAxOTcsIDQzLCAyNDEsIDI0MywgMjAyLCAxOTcsIDQzLCAyMTQsIDI1MiwgMjAyLCAxOTcsIAorICAgIDQzLCAyMTYsIDE3LCAyMDIsIDE5NywgNDMsIDI0MywgNzksIDIwMiwgMTk3LCA0MywgMjI0LCAxOTAsIDIwMiwgMTk3LCAKKyAgICAyMjIsIDE3MywgMjIxLCAxODksIDI0NywgMjM4LCAyMzksIDgxLCAxLCAxNzksIDIyMSwgMTg5LCAyNDcsIDIzOCwgMjM5LCAKKyAgICA4MSwgMSwgMTcyLCAyMjEsIDE4OSwgMjQ3LCAyMzgsIDIzOSwgODEsIDEsIDIzMCwgMTQxLCAyMjEsIDE4OSwgMjQ3LCAyMzgsIAorICAgIDIzOSwgODEsIDEsIDE4NSwgMjIxLCAxODksIDI0NywgMjM4LCAyMzksIDgxLCAxLCAyNDYsIDE0NSwgMjIxLCAxODksIDI0NywgCisgICAgMjM4LCAyMzksIDgxLCAxLCAyMDUsIDExNiwgMjIxLCAxODksIDI0NywgMjM4LCAyMzksIDgxLCAxLCAyMDksIDcwLCAyMjEsIAorICAgIDE4OSwgMjQ3LCAyMzgsIDIzOSwgODEsIDEsIDIyNSwgNzcsIDIyMSwgMTg5LCAyNDcsIDIzOCwgMjM5LCA4MSwgMSwgMTU1LCAKKyAgICAyMjEsIDE4OSwgMjQ3LCAyMzgsIDIzOSwgODEsIDEsIDI0MCwgMjQ0LCAyMjEsIDE4OSwgMjQ3LCAyMzgsIDIzOSwgODEsIDEsIAorICAgIDIzMSwgMTY3LCAyMjEsIDE4OSwgMjQ3LCAyMzgsIDIzOSwgODEsIDEsIDIxNywgMTk5LCAyMjEsIDE4OSwgMjQ3LCAyMzgsIAorICAgIDIzOSwgODEsIDEsIDI1MCwgMTgzLCAyMjEsIDE4OSwgMjQ3LCAyMzgsIDIzOSwgODEsIDEsIDI0OSwgMSwgMjIxLCAxODksIAorICAgIDI0NywgMjM4LCAyMzksIDgxLCAxLCAyMTIsIDIxOSwgMjIxLCAxODksIDI0NywgMjM4LCAyMzksIDgxLCAxLCAyMTIsIDU2LCAKKyAgICAyMjEsIDE4OSwgMjQ3LCAyMzgsIDIzOSwgODEsIDEsIDE5OSwgMjIxLCAxODksIDI0NywgMjM4LCAyMzksIDgxLCAxLCAyMjEsIAorICAgIDkzLCAyMjEsIDE4OSwgMjQ3LCAyMzgsIDIzOSwgODEsIDEsIDIxOSwgMTEzLCAyMjEsIDE4OSwgMjQ3LCAyMzgsIDIzOSwgCisgICAgODEsIDEsIDI0MiwgNzMsIDIyMSwgMTg5LCAyNDcsIDIzOCwgMjM5LCA4MSwgMSwgMjQ4LCAxMTAsIDIyMSwgMTg5LCAyNDcsIAorICAgIDIzOCwgMjM5LCA4MSwgMSwgNjIsIDIyMSwgMTg5LCAyNDcsIDIzOCwgMjM5LCA4MSwgMSwgNzUsIDIyMSwgMTg5LCAyNDcsIAorICAgIDIzOCwgMjM5LCA4MSwgMSwgNzQsIDIyMSwgMTg5LCAyNDcsIDIzOCwgMjM5LCA4MSwgMSwgNzYsIDIyMSwgMTg5LCAyNDcsIAorICAgIDIzOCwgMjM5LCA4MSwgMSwgNzEsIDIyMSwgMTg5LCAyNDcsIDIzOCwgMjM5LCA4MSwgMSwgMjEwLCAxOCwgMjIxLCAxODksIAorICAgIDI0NywgMjM4LCAyMzksIDgxLCAxLCAyMzcsIDE5MCwgMjIxLCAxODksIDI0NywgMjM4LCAyMzksIDgxLCAxLCA0MiwgMjIyLCAKKyAgICA2NywgMjIxLCAxODksIDI0NywgMjM4LCAyMzksIDgxLCAxLCA0MiwgMjMyLCA3NiwgMjIxLCAxODksIDI0NywgMjM4LCAyMzksIAorICAgIDgxLCAxLCA0MiwgMjEzLCAxMCwgMjIxLCAxODksIDI0NywgMjM4LCAyMzksIDgxLCAxLCA0MiwgMjI5LCAyOCwgMjIxLCAKKyAgICAxODksIDI0NywgMjM4LCAyMzksIDgxLCAxLCA0MiwgMjI2LCAzMywgMjIxLCAxODksIDI0NywgMjM4LCAyMzksIDgxLCAxLCAKKyAgICA0MiwgMTQ5LCAyMjEsIDE4OSwgMjQ3LCAyMzgsIDIzOSwgODEsIDEsIDQyLCAyMDcsIDEyOSwgMjIxLCAxODksIDI0NywgCisgICAgMjM4LCAyMzksIDgxLCAxLCA0MiwgMjI1LCA3OSwgMjIxLCAxODksIDI0NywgMjM4LCAyMzksIDgxLCAxLCA0MiwgMjA2LCAKKyAgICAxMjMsIDIyMSwgMTg5LCAyNDcsIDIzOCwgMjM5LCA4MSwgMjE4LCAxNDIsIDEzNSwgMjI5LCAxMjUsIDIyMSwgMTg5LCAyNDcsIAorICAgIDIzOCwgMjM5LCA4MSwgMjE4LCAxNDIsIDIxMSwgMTE4LCAyMjEsIDE4OSwgMjQ3LCAyMzgsIDIzOSwgODEsIDIxNywgMTQ3LCAKKyAgICAyNDAsIDI1LCAyMTMsIDI1MSwgMjIxLCAxODksIDI0NywgMjM4LCAyMzksIDgxLCAyMTgsIDE0MiwgMTM1LCAxNTIsIDI0MSwgCisgICAgMjMwLCAyMjEsIDE4OSwgMjQ3LCAyMzgsIDIzOSwgODEsIDIxOCwgMTQyLCAxMzUsIDI0MSwgMjMwLCAyMjEsIDE4OSwgMjQ3LCAKKyAgICAyMzgsIDIzOSwgODEsIDIxNywgMTQ3LCAyNDAsIDI1LCAyMTMsIDI1MiwgMjQxLCAyMzAsIDIyMSwgMTg5LCAyNDcsIDIzOCwgCisgICAgMjM5LCA4MSwgMjE3LCAxNDcsIDEzNSwgMjI5LCAxMjUsIDIyMSwgMTg5LCAyNDcsIDIzOCwgMjM5LCA4MSwgMjE3LCAxNDcsIAorICAgIDIxMSwgMTE4LCAyMjEsIDE4OSwgMjQ3LCAyMzgsIDIzOSwgODEsIDIxNywgMTQ3LCAxMzUsIDE1MiwgMjQxLCAyMzAsIDIyMSwgCisgICAgMTg5LCAyNDcsIDIzOCwgMjM5LCA4MSwgMjE3LCAxNDcsIDEzNSwgMjQxLCAyMzAsIDIyMSwgMTg5LCAyNDcsIDIzOCwgMjM5LCAKKyAgICA4MSwgMjI2LCAyNDgsIDIxMSwgMTE4LCAyMjEsIDE4OSwgMjQ3LCAyMzgsIDIzOSwgODEsIDI0MCwgMjUsIDIxMywgMjUyLCAKKyAgICAyMDksIDUyLCAyMjEsIDE4OSwgMjQ3LCAyMzgsIDIzOSwgODEsIDIyNiwgMjQ4LCAxMzUsIDE1MiwgMjQxLCAyMzAsIDIyMSwgCisgICAgMTg5LCAyNDcsIDIzOCwgMjM5LCA4MSwgMjI2LCAyNDgsIDEzNSwgMjQxLCAyMzAsIDIyMSwgMTg5LCAyNDcsIDIzOCwgMjM5LCAKKyAgICA4MSwgMjI5LCA5NSwgMTM1LCAyMjksIDEyNSwgMjIxLCAxODksIDI0NywgMjM4LCAyMzksIDgxLCAyMjksIDk1LCAyMTEsIAorICAgIDExOCwgMjIxLCAxODksIDI0NywgMjM4LCAyMzksIDgxLCAyNDAsIDI1LCAyMTMsIDI1MSwgMjIxLCAxODksIDI0NywgMjM4LCAKKyAgICAyMzksIDgxLCAyMjksIDk1LCAxMzUsIDE1MiwgMjQxLCAyMzAsIDIyMSwgMTg5LCAyNDcsIDIzOCwgMjM5LCA4MSwgMjI5LCAKKyAgICA5NSwgMTM1LCAyNDEsIDIzMCwgMjIxLCAxODksIDI0NywgMjM4LCAyMzksIDgxLCAyNDAsIDI1LCAyMTMsIDI1MiwgMjQxLCAKKyAgICAyMzAsIDE0LCAzLCA2MiwgMTQsIDMsIDMyLCAyOSwgNjIsIDE0LCAzLCAzMiwgMjksIDI1MCwgMTY3LCAxNCwgMywgMzIsIAorICAgIDI5LCAyNDAsIDIxMywgMjEyLCA4OSwgMTQsIDMsIDMyLCAyOSwgMTU1LCAxNCwgMywgMzIsIDI5LCAyMzMsIDEwNCwgMTQsIAorICAgIDMsIDMyLCAyOSwgMjMwLCAxMjEsIDIzOSwgMTkyLCAxNCwgMywgMzIsIDI5LCAyMjYsIDY5LCAxNCwgMywgMzIsIDI5LCAKKyAgICAyMTcsIDE4NSwgMTQsIDMsIDI1NCwgMTY2LCAxNCwgMywgMjUzLCAxMTUsIDE0LCAzLCAyNTMsIDExNiwgMjksIDI1MSwgCisgICAgMjIzLCAxNCwgMywgMjUzLCAxMTYsIDI5LCAyNDMsIDIyNiwgMjM5LCAxOTIsIDE0LCAzLCAyNTMsIDExNiwgMjksIDI0MCwgCisgICAgMjI2LCAxNCwgMywgMjUzLCAxMTYsIDI5LCAyNDAsIDIxMywgMjEyLCA4OSwgMTQsIDMsIDI1MywgMTE2LCAyOSwgMTU1LCAKKyAgICAxNCwgMywgMjUzLCAxMTYsIDI5LCAyMzMsIDEwNSwgMjM5LCAxOTIsIDE0LCAzLCAyNTMsIDExNiwgMjksIDIzMywgNzgsIAorICAgIDE0LCAzLCAyNTMsIDExNiwgMjksIDIzMCwgMTIyLCAxNCwgMywgMjUzLCAxMTYsIDI5LCAyMTUsIDE5OSwgMTQsIDMsIDI1MywgCisgICAgMTE2LCAyOSwgMTA2LCAxMDEsIDEwNiwgMTAxLCA3MSwgMTQsIDMsIDI1MywgMTE2LCAyMzksIDE5MiwgMTQsIDMsIDI1MywgCisgICAgMzIsIDE0LCAzLCAyNTMsIDMzLCAyOSwgMjUwLCAxNTAsIDE0LCAzLCAyNTMsIDMzLCAyOSwgMjQwLCAyMTMsIDIxMiwgODksIAorICAgIDE0LCAzLCAyNTMsIDMzLCAyOSwgMjI3LCAxMjAsIDEwMSwgMjQzLCA0MSwgMTQsIDMsIDI1MywgMzMsIDI5LCAyMTYsIDAsIAorICAgIDE0LCAzLCAyNTMsIDMzLCAyOSwgMjEyLCAxODYsIDE0LCAzLCAyNTMsIDUsIDE0LCAzLCAyNTIsIDE4OSwgMTQsIDMsIDI1MiwgCisgICAgMTkwLCAyOSwgMjQyLCAyMzAsIDE0LCAzLCAyNTIsIDE5MCwgMjksIDIxNSwgMTYxLCAxMDEsIDI0MCwgMzUsIDE0LCAzLCAKKyAgICAyNTIsIDE4MSwgMTQsIDMsIDI1MiwgMTgyLCAyOSwgMjUyLCAxODEsIDE0LCAzLCAyNTIsIDE4MiwgMjksIDI0NSwgMTIzLCAKKyAgICAxNCwgMywgMjUyLCAxODIsIDI5LCAyNDAsIDM1LCAxNCwgMywgMjUyLCAxODIsIDI5LCAxNTUsIDE0LCAzLCAyNTIsIDE4MiwgCisgICAgMjksIDIzMiwgNTAsIDE0LCAzLCAyNTIsIDE4MiwgMjksIDIzMSwgMTIzLCAxNCwgMywgMjUyLCAxODIsIDI5LCAyMTUsIAorICAgIDIxNCwgMTQsIDMsIDI1MiwgMTgyLCAyOSwgMjA5LCAxNzAsIDE0LCAzLCAyNTIsIDE3OCwgMTQsIDMsIDI1MiwgMTcwLCAxNCwgCisgICAgMywgMjUyLCAxMzIsIDE0LCAzLCAyNTIsIDEzMywgMjksIDIxNSwgMjE0LCAxNCwgMywgMjUyLCAxMjIsIDE0LCAzLCAyNTIsIAorICAgIDEyMywgMTMxLCAyNTIsIDEyMiwgMTQsIDMsIDI1MiwgMTIzLCAxMjksIDIxMSwgMTc1LCAxNCwgMywgMjUyLCAxMjMsIDEwMSwgCisgICAgMjI1LCAyMjMsIDIyMiwgMTI5LCAyNTIsIDEyMywgMTAxLCAyMjUsIDIyMiwgMTQsIDMsIDI1MiwgMTIzLCAxMDEsIDIyNSwgCisgICAgMjIzLCAyMTQsIDEwNiwgMTQsIDMsIDI1MiwgOTMsIDE0LCAzLCAyNTIsIDYzLCAxNCwgMywgMjUyLCAzMSwgMTQsIDMsIAorICAgIDI1MiwgMzIsIDI5LCAyMzAsIDIxMCwgMTQsIDMsIDI1MiwgMywgMTQsIDMsIDI1MSwgMjMwLCAxNCwgMywgMjUxLCAyMjUsIAorICAgIDE0LCAzLCAyNTEsIDIyNiwgMjA1LCAzNiwgMjEyLCA4OSwgMTQsIDMsIDI1MSwgMjI2LCAyMzIsIDU0LCAyMTIsIDg5LCAxNCwgCisgICAgMywgMjUxLCAyMjYsIDEzMSwgMjUxLCAyMjYsIDIxMCwgMTY1LCAxMzEsIDIxMCwgMTY1LCAyMTAsIDE2NSwgMTMxLCAyMTAsIAorICAgIDE2NSwgMjIxLCAyMzYsIDE0LCAzLCAyNTEsIDIyNiwgMTMxLCAyNTEsIDIyNiwgMTMxLCAyNTEsIDIyNSwgMTQsIDMsIDI1MSwgCisgICAgMjI2LCAxMzEsIDI1MSwgMjI2LCAxMzEsIDI1MSwgMjI2LCAyNDcsIDU0LCAyNTEsIDIyNiwgMTMxLCAyNTEsIDIyNiwgMTMxLCAKKyAgICAyNTEsIDIyNSwgMTQsIDMsIDI1MSwgMjIzLCAxNCwgMywgMjUxLCAyMTksIDE0LCAzLCAyNTAsIDE4MywgMTQsIDMsIDI1MCwgCisgICAgMTY3LCAxNCwgMywgMjUwLCAxNjIsIDE0LCAzLCAyNTAsIDE1NywgMTQsIDMsIDI1MCwgMTUxLCAxNCwgMywgMjUwLCAxNTIsIAorICAgIDEzMSwgMjUwLCAxNTEsIDE0LCAzLCAyNTAsIDE1MCwgMTQsIDMsIDEzNCwgMTQsIDMsIDI1MCwgMTI4LCAxNCwgMywgMjQ5LCAKKyAgICAyNDQsIDE0LCAzLCAyNDksIDI0NSwgMjksIDYyLCAxNCwgMywgMjQ5LCAyNDUsIDI5LCAyNDAsIDIwNCwgMTQsIDMsIDI0OSwgCisgICAgMjQ1LCAyOSwgMjMzLCAxMDUsIDIzOSwgMTkyLCAxNCwgMywgMjQ5LCAxMDEsIDE0LCAzLCAyNDksIDEwMiwgMTMxLCAyNDksIAorICAgIDEwMiwgMjUzLCAxMTUsIDE0LCAzLCAyNDksIDEwMiwgMTMxLCAyNDksIDEwMiwgMjA5LCAyMzQsIDE0LCAzLCAyNDksIDEwMiwgCisgICAgMjQ3LCA1NCwgMjQ5LCAxMDEsIDE0LCAzLCAyNDksIDc5LCAxNCwgMywgMjQ5LCA4MCwgMTMxLCAyNDksIDc5LCAxNCwgMywgCisgICAgMjQ5LCA2OCwgMTQsIDMsIDI0OSwgNjcsIDE0LCAzLCAyNDYsIDE0NSwgMTQsIDMsIDI0NiwgMTM2LCAxNCwgMywgMjQ2LCAKKyAgICAxMzcsIDIzMSwgOTQsIDI5LCAzMiwgMTAxLCAyMjcsIDE3OCwgMTQsIDMsIDI0NiwgMTM3LCAyMzEsIDk0LCAyOSwgMjUyLCAKKyAgICAxMzIsIDE0LCAzLCAyNDYsIDEzNywgMjMxLCA5NCwgMjksIDI1MCwgMTUwLCAxNCwgMywgMjQ2LCAxMzcsIDIzMSwgOTQsIAorICAgIDI5LCAyNDksIDI0NCwgMTQsIDMsIDI0NiwgMTM3LCAyMzEsIDk0LCAyOSwgMjQwLCAyNDQsIDE0LCAzLCAyNDYsIDEzNywgCisgICAgMjMxLCA5NCwgMjksIDI0MCwgMjQ1LCAxMDEsIDIyNywgMTc4LCAxNCwgMywgMjQ2LCAxMzcsIDIzMSwgOTQsIDI5LCAyNDAsIAorICAgIDYxLCAxNCwgMywgMjQ2LCAxMzcsIDIzMSwgOTQsIDI5LCAyNDAsIDQzLCAxNCwgMywgMjQ2LCAxMzcsIDIzMSwgOTQsIDI5LCAKKyAgICAyMzksIDIwMiwgMTQsIDMsIDI0NiwgMTM3LCAyMzEsIDk0LCAyOSwgMTU1LCAxNCwgMywgMjQ2LCAxMzcsIDIzMSwgOTQsIAorICAgIDI5LCAyMzIsIDI0MywgMTQsIDMsIDI0NiwgMTM3LCAyMzEsIDk0LCAyOSwgMjMyLCAyNDQsIDEwMSwgMjI5LCA4MSwgMTQsIAorICAgIDMsIDI0NiwgMTM3LCAyMzEsIDk0LCAyOSwgMjMyLCAzNSwgMTQsIDMsIDI0NiwgMTM3LCAyMzEsIDk0LCAyOSwgMjMwLCAKKyAgICAxNDEsIDE0LCAzLCAyNDYsIDEzNywgMjMxLCA5NCwgMjksIDIyOSwgODEsIDE0LCAzLCAyNDYsIDEzNywgMjMxLCA5NCwgMjksIAorICAgIDIyOSwgODIsIDEwMSwgMjI3LCAxNzcsIDE0LCAzLCAyNDYsIDEzNywgMjMxLCA5NCwgMjksIDIyOSwgNjUsIDE0LCAzLCAKKyAgICAyNDYsIDEzNywgMjMxLCA5NCwgMjksIDIyNSwgMTEwLCAxNCwgMywgMjQ2LCAxMzcsIDIzMSwgOTQsIDI5LCAyMjEsIDIzNywgCisgICAgMTAxLCAyMjEsIDIzNiwgMTQsIDMsIDI0NiwgMTM3LCAyMzEsIDk0LCAyOSwgMjE1LCA4MCwgMTQsIDMsIDI0NiwgMTM3LCAKKyAgICAyMzEsIDk0LCAyOSwgMjEyLCAxODYsIDE0LCAzLCAyNDYsIDEzNywgMjMxLCA5NCwgMjksIDIxMCwgMjAsIDEwMSwgMjQwLCAKKyAgICA0MywgMTQsIDMsIDI0NiwgMTM3LCAyMzEsIDk0LCAyOSwgMjA5LCAxNzAsIDE0LCAzLCAyNDYsIDEwOSwgMTQsIDMsIDI0NiwgCisgICAgODgsIDE0LCAzLCAyNDYsIDg3LCAxNCwgMywgMjQ2LCA4NiwgMTQsIDMsIDI0NSwgMTY4LCAxNCwgMywgMjQ1LCAxNTAsIDE0LCAKKyAgICAzLCAyNDUsIDEyNCwgMTQsIDMsIDI0NSwgMTI1LCAyOSwgMjE1LCAyMTQsIDE0LCAzLCAyNDUsIDEyMywgMTQsIDMsIDI0NSwgCisgICAgMTEzLCAxNCwgMywgMjQ1LCAxMTQsIDIzMSwgMjU1LCAxMDYsIDIzOSwgMTkzLCAyNDUsIDk0LCAxNCwgMywgMjQ1LCA5NCwgCisgICAgMTQsIDMsIDI0MywgMjM3LCAxNCwgMywgMjQzLCAyMzgsIDEzMSwgMjQzLCAyMzcsIDE0LCAzLCAyNDMsIDIzOCwgMjM5LCAKKyAgICAxOTIsIDE0LCAzLCAyNDMsIDIzOCwgMjE1LCAxOTYsIDE0LCAzLCAyNDMsIDIzNSwgMTQsIDMsIDI0MywgMjM2LCAyOSwgCisgICAgMjQyLCAyMTIsIDE0LCAzLCAyNDMsIDIzNCwgMTQsIDMsIDI0MywgMjMzLCAxNCwgMywgMjQzLCAyMzIsIDE0LCAzLCAyNDMsIAorICAgIDIzMSwgMTQsIDMsIDI0MywgMjI3LCAxNCwgMywgMjQzLCAyMjUsIDE0LCAzLCAyNDMsIDIyNiwgMjM5LCAxOTIsIDE0LCAzLCAKKyAgICAyNDMsIDIyNiwgMjM5LCAxOTMsIDIzOSwgMTkyLCAxNCwgMywgMjQzLCAyMjQsIDE0LCAzLCAyNDMsIDIxNywgMTQsIDMsIAorICAgIDc1LCAxNCwgMywgMTc0LCAyOSwgMjIxLCAyMzYsIDE0LCAzLCAxNzQsIDEzMSwgMTc0LCAyMjMsIDE3NCwgMTMxLCAyMjMsIAorICAgIDE3MywgMTQsIDMsIDI0MywgMTMxLCAxNCwgMywgMjQzLCAxMzIsIDI5LCAzMiwgMTAxLCAyMzksIDE0NCwgMTAxLCAyNDYsIAorICAgIDE0NSwgMTQsIDMsIDI0MywgMTMyLCAyOSwgMjQwLCAyMDQsIDE0LCAzLCAyNDMsIDEzMiwgMjksIDIyNiwgMjU0LCAxNCwgMywgCisgICAgMjQzLCAxMzIsIDI5LCAyMTcsIDE3MiwgMTQsIDMsIDI0MywgMTMyLCAyOSwgMjE1LCAyMTQsIDE0LCAzLCAyNDMsIDEzMiwgCisgICAgMjksIDcxLCAxNCwgMywgMjQzLCAxMDYsIDE0LCAzLCAyNDMsIDk1LCAxNCwgMywgMjQzLCA2OCwgMTQsIDMsIDI0MywgNDEsIAorICAgIDE0LCAzLCAyNDMsIDQyLCAyOSwgMjQwLCAyMTIsIDE0LCAzLCAyNDMsIDQyLCAyOSwgMjQwLCAyMTMsIDIxMiwgODksIDE0LCAKKyAgICAzLCAyNDMsIDQyLCAyOSwgMjI3LCAxMTksIDE0LCAzLCAyNDMsIDQyLCAyNDcsIDU0LCAyNDMsIDQxLCAxNCwgMywgMjQzLCAKKyAgICA0MiwgMjIyLCAxMjksIDI0MywgNDEsIDE0LCAzLCAyNDMsIDQyLCAyMTQsIDEwNiwgMTQsIDMsIDI0MiwgMjMyLCAxNCwgMywgCisgICAgMjQyLCAyMzAsIDE0LCAzLCAyNDIsIDIxMiwgMTQsIDMsIDI0MiwgMTQzLCAxNCwgMywgMjQyLCAxNDQsIDI5LCA2MiwgMTQsIAorICAgIDMsIDI0MiwgMTQ0LCAyOSwgMzIsIDEwMSwgMjMwLCAxMDgsIDE0LCAzLCAyNDIsIDE0NCwgMjksIDMyLCAxMDEsIDIzMCwgCisgICAgMTA5LCAyOSwgMjMwLCAxMDgsIDE0LCAzLCAyNDIsIDE0NCwgMjksIDI1MiwgMTIyLCAxNCwgMywgMjQyLCAxNDQsIDI5LCAKKyAgICAyNTAsIDE2NywgMTQsIDMsIDI0MiwgMTQ0LCAyOSwgMjQzLCAyMjYsIDIzOSwgMTkyLCAxNCwgMywgMjQyLCAxNDQsIDI5LCAKKyAgICAyNDMsIDIyNiwgMjM5LCAxOTMsIDIzOSwgMTkyLCAxNCwgMywgMjQyLCAxNDQsIDI5LCAxNTUsIDE0LCAzLCAyNDIsIDE0NCwgCisgICAgMjksIDIzOSwgMTQ0LCAyMzksIDE5MiwgMTQsIDMsIDI0MiwgMTQ0LCAyOSwgMjMzLCAxMDUsIDIzOSwgMTkyLCAxNCwgMywgCisgICAgMjQyLCAxNDQsIDI5LCAyMzEsIDI1NCwgMTQsIDMsIDI0MiwgMTQ0LCAyOSwgMjMxLCAyNTUsIDIxNCwgMTA2LCAxNCwgMywgCisgICAgMjQyLCAxNDQsIDI5LCAyMzAsIDIzNCwgMTQsIDMsIDI0MiwgMTQ0LCAyOSwgMjMwLCAxNDEsIDE0LCAzLCAyNDIsIDE0NCwgCisgICAgMjksIDIzMCwgMTA5LCAyOSwgMjMwLCAxMDgsIDE0LCAzLCAyNDIsIDE0NCwgMjksIDIyOSwgMjM1LCAxNCwgMywgMjQyLCAKKyAgICAxNDQsIDI5LCAyMjksIDgxLCAxNCwgMywgMjQyLCAxNDQsIDI5LCAyMTAsIDE5LCAxNCwgMywgMjQyLCAxNDQsIDI5LCAyMTAsIAorICAgIDgsIDE0LCAzLCAyNDAsIDI0NCwgMTQsIDMsIDI0MCwgMjQ1LCAyMzksIDE5MiwgMTQsIDMsIDI0MCwgMjQyLCAxNCwgMywgCisgICAgMjQwLCAyNDMsIDI5LCAzMiwgMTAxLCAyNDYsIDE0NiwgMTAxLCAxNTUsIDE0LCAzLCAyNDAsIDI0MywgMjksIDMyLCAxMDEsIAorICAgIDE1NSwgMTQsIDMsIDI0MCwgMjQzLCAyOSwgMzIsIDEwMSwgMjMzLCAxMDQsIDE0LCAzLCAyNDAsIDI0MywgMjksIDI1MywgCisgICAgMzMsIDIxMiwgOTAsIDEwMSwgMjEyLCAyMDcsIDE0LCAzLCAyNDAsIDI0MywgMjksIDI1MiwgMTIyLCAxNCwgMywgMjQwLCAKKyAgICAyNDMsIDI5LCAyNTEsIDIyNSwgMTQsIDMsIDI0MCwgMjQzLCAyOSwgMjUxLCAyMjQsIDEwMSwgMjQwLCAyMjYsIDE0LCAzLCAKKyAgICAyNDAsIDI0MywgMjksIDI1MCwgMTY3LCAxNCwgMywgMjQwLCAyNDMsIDI5LCAyNTAsIDEyOSwgMTAxLCAyMTksIDExMywgMTQsIAorICAgIDMsIDI0MCwgMjQzLCAyOSwgMjQ5LCA2OCwgMTQsIDMsIDI0MCwgMjQzLCAyOSwgMjQ5LCA2OSwgMTAxLCAyMTksIDExMywgCisgICAgMTQsIDMsIDI0MCwgMjQzLCAyOSwgMjQ2LCAxNDUsIDE0LCAzLCAyNDAsIDI0MywgMjksIDI0NSwgMTY4LCAxNCwgMywgMjQwLCAKKyAgICAyNDMsIDI5LCAyNDUsIDEyNSwgMjksIDIxNSwgMjE0LCAxNCwgMywgMjQwLCAyNDMsIDI5LCAyNDMsIDIzNSwgMTQsIDMsIAorICAgIDI0MCwgMjQzLCAyOSwgMjQzLCA2OCwgMTQsIDMsIDI0MCwgMjQzLCAyOSwgMjQzLCA2OSwgMTAxLCAyMzAsIDE0MSwgMTQsIAorICAgIDMsIDI0MCwgMjQzLCAyOSwgMjQzLCA0MSwgMTQsIDMsIDI0MCwgMjQzLCAyOSwgMjQzLCA0MiwgMjksIDI0MCwgMjEzLCAKKyAgICAyMTIsIDg5LCAxNCwgMywgMjQwLCAyNDMsIDI5LCAyNDAsIDIxMywgMjEyLCA4OSwgMTQsIDMsIDI0MCwgMjQzLCAyOSwgCisgICAgMjQwLCAyMDQsIDE0LCAzLCAyNDAsIDI0MywgMjksIDI0MCwgNjEsIDE0LCAzLCAyNDAsIDI0MywgMjksIDI0MCwgNTksIDE0LCAKKyAgICAzLCAyNDAsIDI0MywgMjksIDI0MCwgNjAsIDEwMSwgNjIsIDE0LCAzLCAyNDAsIDI0MywgMjksIDI0MCwgNDQsIDEwMSwgCisgICAgMjEzLCAyMDMsIDE0LCAzLCAyNDAsIDI0MywgMjksIDIzOSwgMTQ0LCAxMDEsIDIyOSwgODIsIDEwMSwgMjQyLCAyMTIsIDE0LCAKKyAgICAzLCAyNDAsIDI0MywgMjksIDIzOSwgMTI0LCAxNCwgMywgMjQwLCAyNDMsIDI5LCAyMzksIDEyNSwgMTAxLCAyMzAsIDE0MSwgCisgICAgMTQsIDMsIDI0MCwgMjQzLCAyOSwgMjM5LCAxMiwgMTAxLCAyMjksIDIzNSwgMTQsIDMsIDI0MCwgMjQzLCAyOSwgMjM4LCAKKyAgICAzNywgMTQsIDMsIDI0MCwgMjQzLCAyOSwgMjMzLCAxMDUsIDIzOSwgMTkyLCAxNCwgMywgMjQwLCAyNDMsIDI5LCAyMzIsIAorICAgIDIyOSwgMTAxLCAyMzgsIDQzLCAxMDEsIDI1MSwgMjI1LCAxNCwgMywgMjQwLCAyNDMsIDI5LCAyMzIsIDM1LCAxNCwgMywgCisgICAgMjQwLCAyNDMsIDI5LCAyMzEsIDI1NCwgMTQsIDMsIDI0MCwgMjQzLCAyOSwgMjMxLCAxMTcsIDE0LCAzLCAyNDAsIDI0MywgCisgICAgMjksIDIzMSwgMTE4LCAxMDEsIDIzMCwgMTA4LCAxNCwgMywgMjQwLCAyNDMsIDI5LCAyMzAsIDIzNSwgMTAxLCAyNTIsIAorICAgIDEyMiwgMTQsIDMsIDI0MCwgMjQzLCAyOSwgMjMwLCAxNDEsIDE0LCAzLCAyNDAsIDI0MywgMjksIDIyNywgMTIwLCAxMDEsIAorICAgIDI0MywgNDEsIDE0LCAzLCAyNDAsIDI0MywgMjksIDIyNiwgMjU0LCAxNCwgMywgMjQwLCAyNDMsIDI5LCAyMjMsIDE3MywgCisgICAgMTQsIDMsIDI0MCwgMjQzLCAyOSwgMjIzLCAxNzQsIDEzMSwgMjIzLCAxNzMsIDE0LCAzLCAyNDAsIDI0MywgMjksIDE3OSwgCisgICAgMTQsIDMsIDI0MCwgMjQzLCAyOSwgMjE3LCAxNzIsIDE0LCAzLCAyNDAsIDI0MywgMjksIDIxNywgMTM4LCAxNCwgMywgMjQwLCAKKyAgICAyNDMsIDI5LCAyMTUsIDIxNCwgMTQsIDMsIDI0MCwgMjQzLCAyOSwgMjE1LCAyMTUsIDEwMSwgMjEwLCAxNDksIDE0LCAzLCAKKyAgICAyNDAsIDI0MywgMjksIDIxNSwgMTgxLCAxNCwgMywgMjQwLCAyNDMsIDI5LCAyMTMsIDE2MCwgMTQsIDMsIDI0MCwgMjQzLCAKKyAgICAyOSwgMjEyLCAxODYsIDE0LCAzLCAyNDAsIDI0MywgMjksIDcxLCAxNCwgMywgMjQwLCAyNDMsIDI5LCAyMTAsIDgsIDE0LCAKKyAgICAzLCAyNDAsIDI0MywgMjksIDIxMCwgOSwgMTAxLCAyNDMsIDIzNywgMTQsIDMsIDI0MCwgMjQzLCAxMzEsIDI0MCwgMjQyLCAKKyAgICAxNCwgMywgMjQwLCAyMzcsIDE0LCAzLCAyNDAsIDIzOCwgMjQ3LCA1NCwgMjQwLCAyMzcsIDE0LCAzLCAyNDAsIDIzNSwgMTQsIAorICAgIDMsIDI0MCwgMjM2LCAxMzEsIDI0MCwgMjM2LCAyNDAsIDIwNSwgMTMxLCAyNDAsIDIwNCwgMTQsIDMsIDI0MCwgMjI2LCAxNCwgCisgICAgMywgMjQwLCAyMjcsIDI0MCwgMjM2LCAxMzEsIDI0MCwgMjM2LCAyNDAsIDIwNSwgMTMxLCAyNDAsIDIwNCwgMTQsIDMsIAorICAgIDI0MCwgMjI1LCAxNCwgMywgMjQwLCAyMjMsIDE0LCAzLCAyNDAsIDIxNCwgMTQsIDMsIDI0MCwgMjEyLCAxNCwgMywgMjQwLCAKKyAgICAyMTMsIDIxMiwgODksIDE0LCAzLCAyNDAsIDIxMywgMTMxLCAyNDAsIDIxMiwgMTQsIDMsIDI0MCwgMjEzLCAyNDcsIDU0LCAKKyAgICAyNDAsIDIxMiwgMTQsIDMsIDI0MCwgMjA0LCAxNCwgMywgMjQwLCAyMDMsIDE0LCAzLCAyNDAsIDE5OCwgMTQsIDMsIDI0MCwgCisgICAgMTQyLCAxNCwgMywgMjQwLCAxNDMsIDI5LCAyMzAsIDIxMCwgMTQsIDMsIDI0MCwgNjEsIDE0LCAzLCAyNDAsIDYyLCAyOSwgCisgICAgNzUsIDE0LCAzLCAyNDAsIDYyLCAyOSwgNzEsIDE0LCAzLCAyNDAsIDYyLCAyNDcsIDU0LCAyNDAsIDYxLCAxNCwgMywgMjQwLCAKKyAgICA1OSwgMTQsIDMsIDI0MCwgNjAsIDEzMSwgMjQwLCA1OSwgMTQsIDMsIDI0MCwgNjAsIDI0NywgNTQsIDI0MCwgNTksIDE0LCAKKyAgICAzLCAyNDAsIDU2LCAxNCwgMywgMjQwLCA0MywgMTQsIDMsIDI0MCwgNDQsIDIzOSwgMTkyLCAxNCwgMywgMjQwLCA0MSwgMTQsIAorICAgIDMsIDI0MCwgNDIsIDI5LCAzMiwgMTAxLCAyMzMsIDEwNCwgMTQsIDMsIDI0MCwgNDIsIDI5LCAyNDAsIDIxMywgMjEyLCA4OSwgCisgICAgMTQsIDMsIDI0MCwgNDIsIDI5LCAyMzMsIDEwNCwgMTQsIDMsIDI0MCwgNDIsIDI5LCAyMjksIDgyLCAxMDEsIDIzMywgMTA0LCAKKyAgICAxNCwgMywgMjQwLCA0MiwgMjksIDE3OSwgMTQsIDMsIDI0MCwgMzcsIDE0LCAzLCAyNDAsIDM1LCAxNCwgMywgMjQwLCAzNiwgCisgICAgMjQ3LCA1NCwgMjQwLCAzNSwgMTQsIDMsIDI0MCwgMzYsIDI5LCAyNTAsIDE2NywgMTQsIDMsIDI0MCwgMzYsIDI5LCAyMTIsIAorICAgIDE4NiwgMTQsIDMsIDI0MCwgMzYsIDIxMiwgODksIDE0LCAzLCAyMzksIDIxMywgMTQsIDMsIDIzOSwgMjE0LCAyNDcsIDU0LCAKKyAgICAyMzksIDIxMywgMTQsIDMsIDIzOSwgMjExLCAxNCwgMywgMjM5LCAyMTIsIDI5LCAyMzIsIDM1LCAxNCwgMywgMjM5LCAyMTIsIAorICAgIDI5LCAyMzIsIDM2LCAyOSwgMjMzLCAxMDUsIDIzOSwgMTkyLCAxNCwgMywgMjM5LCAyMTIsIDI5LCAyMjMsIDE3MywgMTQsIAorICAgIDMsIDIzOSwgMjEyLCAyOSwgMjE3LCAxNzMsIDEwMSwgMjEwLCAxNjQsIDE0LCAzLCAyMzksIDIxMiwgMjM5LCAxOTIsIDE0LCAKKyAgICAzLCAyMzksIDIwMiwgMTQsIDMsIDIzOSwgMjAzLCAyOSwgMzIsIDEwMSwgMjMwLCAyMTAsIDE0LCAzLCAyMzksIDIwMywgMjksIAorICAgIDIzMCwgMjEwLCAxNCwgMywgMjM5LCAyMDMsIDEzMSwgMjM5LCAyMDMsIDIyOSwgNzIsIDE0LCAzLCAyMzksIDE5NiwgMTQsIAorICAgIDMsIDIzOSwgMTk0LCAxNCwgMywgMjM5LCAxOTUsIDI5LCAyMTUsIDIxNCwgMTQsIDMsIDIzOSwgMTg2LCAxNCwgMywgMjM5LCAKKyAgICAxODUsIDE0LCAzLCAyMzksIDE4MSwgMTQsIDMsIDIzOSwgMTgwLCAxNCwgMywgMTU1LCAxNCwgMywgMjM5LCAxNDQsIDIxMiwgCisgICAgODksIDE0LCAzLCAyMzksIDE0NCwgMjM5LCAxOTIsIDE0LCAzLCAyMzksIDEyNCwgMTQsIDMsIDIzOSwgMTEsIDE0LCAzLCAKKyAgICAyMzksIDEyLCAyOSwgMjUxLCAyMjUsIDE0LCAzLCAyMzksIDEyLCAyOSwgMjUxLCAyMjMsIDE0LCAzLCAyMzksIDEyLCAyOSwgCisgICAgMjUwLCAxNjcsIDE0LCAzLCAyMzksIDEyLCAyOSwgMjQ1LCA5NCwgMTQsIDMsIDIzOSwgMTIsIDI5LCAyNDAsIDIzNSwgMTQsIAorICAgIDMsIDIzOSwgMTIsIDI5LCAyMzEsIDEwOSwgMTQsIDMsIDIzOSwgMTIsIDI5LCAyMjMsIDE3MywgMTQsIDMsIDIzOSwgMTIsIAorICAgIDI5LCAyMTUsIDIxNCwgMTQsIDMsIDIzOSwgMTIsIDI5LCA3MSwgMTQsIDMsIDIzOCwgNDIsIDE0LCAzLCAyMzgsIDM3LCAxNCwgCisgICAgMywgMjM4LCAzOCwgMjksIDI1MiwgMTIyLCAxNCwgMywgMjM4LCAzOCwgMjksIDIzOSwgMTI0LCAxNCwgMywgMjM4LCAzOCwgCisgICAgMjksIDIzMSwgMjU0LCAxNCwgMywgMjM4LCAzOCwgMjksIDIyOSwgMTg2LCAxNCwgMywgMjM4LCAzOCwgMjksIDIxMCwgOCwgCisgICAgMTQsIDMsIDIzOCwgMzQsIDE0LCAzLCA3NCwgMTQsIDMsIDIzNywgMjI1LCA2MiwgMTQsIDMsIDIzNywgMTg1LCAxNCwgMywgCisgICAgMjMzLCAxMzIsIDE0LCAzLCAyMzMsIDEzMywgMTMxLCAyMzMsIDEzMywgMjQ5LCA2OCwgMTQsIDMsIDIzMywgMTMzLCAxMzEsIAorICAgIDIzMywgMTMzLCAyMTQsIDEwNiwgMTQsIDMsIDIzMywgMTA3LCAxNCwgMywgMjMzLCAxMDQsIDE0LCAzLCAyMzMsIDEwNSwgCisgICAgMjQ1LCAxNTAsIDE0LCAzLCAyMzMsIDEwNSwgMjE4LCAyMDgsIDE0LCAzLCAyMzMsIDEwNSwgMTMxLCAyMzMsIDEwNSwgMjE1LCAKKyAgICAxNjUsIDEzMSwgMjE1LCAxNjUsIDIxMCwgOSwgMTMxLCAyMTAsIDgsIDE0LCAzLCAyMzMsIDEwNSwgMjM5LCAxOTIsIDE0LCAKKyAgICAzLCAyMzMsIDk2LCAxNCwgMywgMjMzLCA5NywgMjksIDI0MCwgMjEzLCAyMTIsIDg5LCAxNCwgMywgMjMzLCA5NSwgMTQsIDMsIAorICAgIDIzMywgODUsIDE0LCAzLCAyMzMsIDg2LCAyOSwgMjEyLCAxODYsIDE0LCAzLCAyMzMsIDg2LCAyNDcsIDU0LCAyMzMsIDg1LCAKKyAgICAxNCwgMywgMjMzLCA4NiwgMjIyLCAxMjksIDIzMywgODUsIDE0LCAzLCAyMzMsIDg2LCAyMTQsIDEwNiwgMTQsIDMsIDIzMywgCisgICAgNzgsIDE0LCAzLCAyMzMsIDY4LCAxNCwgMywgMjMyLCAyNDMsIDE0LCAzLCAyMzIsIDIyOCwgMTQsIDMsIDE3MiwgMTQsIDMsIAorICAgIDIzMiwgNjYsIDI5LCA2MiwgMTQsIDMsIDIzMiwgNjYsIDI5LCAyNTMsIDUsIDE0LCAzLCAyMzIsIDY2LCAyOSwgMjUzLCA2LCAKKyAgICAxMDEsIDIzMCwgMjM0LCAxNCwgMywgMjMyLCA2NiwgMjksIDI1MSwgMjIzLCAxNCwgMywgMjMyLCA2NiwgMjksIDI1MCwgCisgICAgMTY3LCAxNCwgMywgMjMyLCA2NiwgMjksIDI1MCwgMTUwLCAxNCwgMywgMjMyLCA2NiwgMjksIDEzNCwgMTQsIDMsIDIzMiwgCisgICAgNjYsIDI5LCAyNDksIDI0NCwgMTQsIDMsIDIzMiwgNjYsIDI5LCAyNDIsIDIzMCwgMTQsIDMsIDIzMiwgNjYsIDI5LCAyNDIsIAorICAgIDIxMiwgMTQsIDMsIDIzMiwgNjYsIDI5LCAyNDAsIDI0NCwgMTQsIDMsIDIzMiwgNjYsIDI5LCAyNDAsIDIyNiwgMTQsIDMsIAorICAgIDIzMiwgNjYsIDI5LCAyNDAsIDIxMywgMjEyLCA4OSwgMTQsIDMsIDIzMiwgNjYsIDI5LCAyNDAsIDIwNCwgMTQsIDMsIDIzMiwgCisgICAgNjYsIDI5LCAyNDAsIDIwNSwgMTAxLCAyMTYsIDEsIDEwMSwgNjIsIDE0LCAzLCAyMzIsIDY2LCAyOSwgMjQwLCA2MSwgMTQsIAorICAgIDMsIDIzMiwgNjYsIDI5LCAyNDAsIDQzLCAxNCwgMywgMjMyLCA2NiwgMjksIDI0MCwgMzYsIDEwMSwgMjE3LCAxMzgsIDE0LCAKKyAgICAzLCAyMzIsIDY2LCAyOSwgMjQwLCAzNiwgMjQ3LCA1NCwgMjQwLCAzNSwgMTQsIDMsIDIzMiwgNjYsIDI5LCAyMzksIDIxMywgCisgICAgMTQsIDMsIDIzMiwgNjYsIDI5LCAyMzksIDE4NSwgMTQsIDMsIDIzMiwgNjYsIDI5LCAyMzMsIDEwNCwgMTQsIDMsIDIzMiwgCisgICAgNjYsIDI5LCAyMzMsIDg1LCAxNCwgMywgMjMyLCA2NiwgMjksIDIzMiwgMzUsIDE0LCAzLCAyMzIsIDY2LCAyOSwgMjMxLCAKKyAgICAxMjMsIDE0LCAzLCAyMzIsIDY2LCAyOSwgMjMxLCAxMTcsIDE0LCAzLCAyMzIsIDY2LCAyOSwgMjI5LCAyMzUsIDE0LCAzLCAKKyAgICAyMzIsIDY2LCAyOSwgMjI5LCA4MSwgMTQsIDMsIDIzMiwgNjYsIDI5LCAyMjcsIDExOSwgMTQsIDMsIDIzMiwgNjYsIDI5LCAKKyAgICAyMjcsIDEyMCwgMTAxLCAyNDMsIDIzNywgMTQsIDMsIDIzMiwgNjYsIDI5LCAyMjcsIDEyMCwgMTAxLCAyNDAsIDYxLCAxNCwgCisgICAgMywgMjMyLCA2NiwgMjksIDIyNywgMTIwLCAxMDEsIDIxMiwgMTMxLCAxNCwgMywgMjMyLCA2NiwgMjksIDIyNiwgMjU0LCAKKyAgICAxNCwgMywgMjMyLCA2NiwgMjksIDIyNiwgMjU1LCAxMDEsIDIyMywgMTY4LCAxNCwgMywgMjMyLCA2NiwgMjksIDIyNSwgCisgICAgMTEwLCAxNCwgMywgMjMyLCA2NiwgMjksIDIyMywgMTczLCAxNCwgMywgMjMyLCA2NiwgMjksIDIyMSwgNTMsIDE0LCAzLCAKKyAgICAyMzIsIDY2LCAyOSwgMjE4LCA1MCwgMTQsIDMsIDIzMiwgNjYsIDI5LCAyMTcsIDE5OSwgMTQsIDMsIDIzMiwgNjYsIDI5LCAKKyAgICAyMTcsIDEzOCwgMTQsIDMsIDIzMiwgNjYsIDI5LCAyMTYsIDIsIDE0LCAzLCAyMzIsIDY2LCAyOSwgMjE1LCAyMTQsIDE0LCAKKyAgICAzLCAyMzIsIDY2LCAyOSwgMjE1LCAxODEsIDE0LCAzLCAyMzIsIDY2LCAyOSwgMjE1LCAxMTYsIDE0LCAzLCAyMzIsIDY2LCAKKyAgICAyOSwgMjE1LCA2OCwgMTQsIDMsIDIzMiwgNjYsIDI5LCAyMTMsIDE2OSwgMTQsIDMsIDIzMiwgNjYsIDI5LCAyMTIsIDE2MiwgCisgICAgMTQsIDMsIDIzMiwgNjYsIDI5LCA3MSwgMTQsIDMsIDIzMiwgNjYsIDI5LCAyMTAsIDE5LCAxNCwgMywgMjMyLCA2NiwgMjksIAorICAgIDIxMCwgOCwgMTQsIDMsIDIzMiwgNjYsIDI5LCAyMDksIDIzNywgMjksIDE3OSwgMTQsIDMsIDIzMiwgNjYsIDI5LCAyMDksIAorICAgIDE3MCwgMTQsIDMsIDIzMiwgNjYsIDI5LCAyMDUsIDQwLCAxNCwgMywgMjMyLCA2NCwgMTQsIDMsIDIzMiwgNjUsIDI0NywgCisgICAgNTQsIDIzMiwgNjQsIDE0LCAzLCAyMzIsIDU1LCAxNCwgMywgMjMyLCA1MiwgMTQsIDMsIDIzMiwgNTAsIDE0LCAzLCAyMzIsIAorICAgIDQ5LCAxNCwgMywgMjMyLCA0NywgMTQsIDMsIDIzMiwgNDgsIDEzMSwgMjMyLCA0NywgMTQsIDMsIDIzMiwgMzUsIDE0LCAzLCAKKyAgICAyMzIsIDM2LCAyOSwgMjMzLCAxMDUsIDIzOSwgMTkyLCAxNCwgMywgMjMyLCAzMSwgMTQsIDMsIDIzMiwgMzIsIDI5LCAyNTAsIAorICAgIDE2NywgMTQsIDMsIDIzMiwgMzIsIDI0NywgNTQsIDIzMiwgMzEsIDE0LCAzLCAyMzIsIDI5LCAxNCwgMywgMjMyLCAyOCwgCisgICAgMTQsIDMsIDIzMSwgMjU0LCAxNCwgMywgMjMxLCAyNTUsIDIzMCwgMTIzLCAyOSwgMTA2LCAxMzEsIDIzMCwgMTIzLCAyOSwgCisgICAgNzEsIDE0LCAzLCAyMzEsIDI1NSwgMTMxLCAyMzEsIDI1NSwgMjMwLCAxMjMsIDI5LCAxMDYsIDEzMSwgMjMwLCAxMjMsIDI5LCAKKyAgICA3MSwgMTQsIDMsIDIzMSwgMTk0LCAxNCwgMywgMjMxLCAxMjMsIDE0LCAzLCAyMzEsIDEyNCwgMjksIDI1MCwgMTY3LCAxNCwgCisgICAgMywgMjMxLCAxMjQsIDI5LCA3MSwgMTQsIDMsIDIzMSwgMTI0LCAyOSwgMjEwLCA4LCAxNCwgMywgMjMxLCAxMTcsIDE0LCAzLCAKKyAgICAyMzEsIDEwOSwgMTQsIDMsIDIzMSwgOTYsIDE0LCAzLCAyMzEsIDk1LCAxNCwgMywgMjMxLCA5MywgMTQsIDMsIDIzMSwgOTQsIAorICAgIDEzMSwgMjMxLCA5MywgMTQsIDMsIDIzMCwgMjM2LCAxNCwgMywgMjMwLCAyMzcsIDEzMSwgMjM5LCAxMiwgMjksIDI1MSwgCisgICAgMjI0LCAyMzAsIDIzNywgMTMxLCAyMzksIDEyLCAyOSwgMjUxLCAyMjMsIDE0LCAzLCAyMzAsIDIzNCwgMTQsIDMsIDIzMCwgCisgICAgMjMyLCAxNCwgMywgMjMwLCAyMzMsIDIwOSwgNTMsIDE3LCAxNCwgMywgMjMwLCAyMzEsIDE0LCAzLCAyMzAsIDIyMywgMTQsIAorICAgIDMsIDIzMCwgMjI0LCAyMzksIDE5MiwgMTQsIDMsIDIzMCwgMjIyLCAxNCwgMywgMjMwLCAyMTAsIDE0LCAzLCAyMzAsIDIxMSwgCisgICAgMjIyLCAxMjksIDIzMCwgMjEwLCAxNCwgMywgMjMwLCAyMDUsIDE0LCAzLCAyMzAsIDE4MywgMTQsIDMsIDIzMCwgMTQxLCAKKyAgICAxNCwgMywgMjMwLCAxMjIsIDE0LCAzLCAyMzAsIDEyMywgMjksIDYyLCAxNCwgMywgMjMwLCAxMjMsIDI5LCAzMiwgMTAxLCAKKyAgICAyNDYsIDE0NiwgMTAxLCAxNTUsIDE0LCAzLCAyMzAsIDEyMywgMjksIDMyLCAxMDEsIDI0MCwgMjA0LCAxNCwgMywgMjMwLCAKKyAgICAxMjMsIDI5LCAzMiwgMTAxLCAyMzAsIDEwOCwgMTQsIDMsIDIzMCwgMTIzLCAyOSwgMjUyLCAxODEsIDE0LCAzLCAyMzAsIAorICAgIDEyMywgMjksIDI1MiwgMTIyLCAxNCwgMywgMjMwLCAxMjMsIDI5LCAyNTEsIDIyNiwgMjA1LCAzNiwgMjEyLCA4OSwgMTQsIAorICAgIDMsIDIzMCwgMTIzLCAyOSwgMjUwLCAxNjcsIDE0LCAzLCAyMzAsIDEyMywgMjksIDI0OSwgMjQ0LCAxNCwgMywgMjMwLCAKKyAgICAxMjMsIDI5LCAyNDYsIDg4LCAxNCwgMywgMjMwLCAxMjMsIDI5LCAyNDMsIDQxLCAxNCwgMywgMjMwLCAxMjMsIDI5LCAyNDAsIAorICAgIDI0NCwgMTQsIDMsIDIzMCwgMTIzLCAyOSwgMjQwLCAyMDQsIDE0LCAzLCAyMzAsIDEyMywgMjksIDIzOSwgMjAyLCAxNCwgMywgCisgICAgMjMwLCAxMjMsIDI5LCAyMzksIDIwMywgMTAxLCAyMzksIDIwMiwgMTQsIDMsIDIzMCwgMTIzLCAyOSwgMTU1LCAxNCwgMywgCisgICAgMjMwLCAxMjMsIDI5LCAyMzksIDEyNCwgMTQsIDMsIDIzMCwgMTIzLCAyOSwgMjM5LCAxMiwgMjksIDIyMywgMTczLCAxNCwgCisgICAgMywgMjMwLCAxMjMsIDI5LCAyMzMsIDEwNSwgMjM5LCAxOTIsIDE0LCAzLCAyMzAsIDEyMywgMjksIDIzMywgODUsIDE0LCAzLCAKKyAgICAyMzAsIDEyMywgMjksIDIzMywgODYsIDEwMSwgMTU1LCAxNCwgMywgMjMwLCAxMjMsIDI5LCAyMzMsIDg2LCAxMDEsIDIyOSwgCisgICAgODEsIDE0LCAzLCAyMzAsIDEyMywgMjksIDIzMSwgMTIzLCAxNCwgMywgMjMwLCAxMjMsIDI5LCAyMzEsIDEwOSwgMTQsIDMsIAorICAgIDIzMCwgMTIzLCAyOSwgMjMwLCAyMzQsIDE0LCAzLCAyMzAsIDEyMywgMjksIDIzMCwgMjIzLCAxNCwgMywgMjMwLCAxMjMsIAorICAgIDI5LCAyMzAsIDIyNCwgMTAxLCAyMzksIDEyLCAxMDEsIDYyLCAxNCwgMywgMjMwLCAxMjMsIDI5LCAyMzAsIDEyMiwgMTQsIAorICAgIDMsIDIzMCwgMTIzLCAyOSwgMjI5LCAxODYsIDE0LCAzLCAyMzAsIDEyMywgMjksIDIyOSwgODEsIDE0LCAzLCAyMzAsIDEyMywgCisgICAgMjksIDIyOSwgNjcsIDE0LCAzLCAyMzAsIDEyMywgMjksIDIyNywgMTE5LCAxNCwgMywgMjMwLCAxMjMsIDI5LCAyMjcsIAorICAgIDEyMCwgMTAxLCAyNDMsIDQxLCAxNCwgMywgMjMwLCAxMjMsIDI5LCAyMjYsIDY5LCAxNCwgMywgMjMwLCAxMjMsIDI5LCAKKyAgICAyMjUsIDExMCwgMTQsIDMsIDIzMCwgMTIzLCAyOSwgMjE1LCAyMTUsIDEwMSwgMjEzLCAxNjAsIDE0LCAzLCAyMzAsIDEyMywgCisgICAgMjksIDIxNSwgMTYxLCAxMDEsIDI0MCwgMzYsIDEwMSwgMjQyLCAyMzAsIDE0LCAzLCAyMzAsIDEyMywgMjksIDIxNSwgMTYxLCAKKyAgICAxMDEsIDI0MCwgMzYsIDIxMiwgODksIDE0LCAzLCAyMzAsIDEyMywgMjksIDIxNSwgMTE0LCAxNCwgMywgMjMwLCAxMjMsIAorICAgIDI5LCAyMTUsIDExNSwgMTAxLCAyMTUsIDExNCwgMTQsIDMsIDIzMCwgMTIzLCAyOSwgMjEzLCAxNjAsIDE0LCAzLCAyMzAsIAorICAgIDEyMywgMjksIDIxMiwgMTk4LCAxNCwgMywgMjMwLCAxMjMsIDI5LCAyMTIsIDE4NiwgMTQsIDMsIDIzMCwgMTIzLCAyOSwgCisgICAgMjEyLCAxMzIsIDEwMSwgMzIsIDEwMSwgMjEzLCAyMDQsIDEwMSwgMTk5LCAxNCwgMywgMjMwLCAxMjMsIDI5LCA3MSwgMTQsIAorICAgIDMsIDIzMCwgMTIzLCAyOSwgMTA2LCAxMDEsIDYyLCAxNCwgMywgMjMwLCAxMjMsIDI5LCAxMDYsIDEwMSwgMTA2LCAxMDEsIAorICAgIDcxLCAxNCwgMywgMjMwLCAxMjMsIDI5LCAyMTAsIDIwLCAxMDEsIDI1MSwgMjI1LCAxNCwgMywgMjMwLCAxMjMsIDI5LCAKKyAgICAyMTAsIDgsIDE0LCAzLCAyMzAsIDEyMywgMjksIDIwOSwgMTcwLCAxNCwgMywgMjMwLCAxMjMsIDIxNCwgMTA2LCAxNCwgMywgCisgICAgMjMwLCAxMjAsIDE0LCAzLCAyMzAsIDEyMSwgMjksIDIxNSwgMjE0LCAxNCwgMywgMjMwLCAxMjEsIDI5LCAyMTUsIDIxNSwgCisgICAgMTAxLCAyMTMsIDE2MCwgMTQsIDMsIDIzMCwgMTIxLCAyMzksIDE5MiwgMTQsIDMsIDIzMCwgMTIxLCAyMzksIDE5MywgMTMxLCAKKyAgICAyMzAsIDEyMSwgMjM5LCAxOTMsIDIxNSwgMjE0LCAxNCwgMywgMjMwLCAxMTYsIDE0LCAzLCAyMzAsIDEwOCwgMTQsIDMsIAorICAgIDIzMCwgMTA5LCAyOSwgMjMwLCAxMDgsIDE0LCAzLCAyMzAsIDEwNiwgMTQsIDMsIDIzMCwgMTA3LCAyOSwgMjMwLCAyMTAsIAorICAgIDE0LCAzLCAyMzAsIDEwNywgMjksIDIzMCwgMjExLCAxMDEsIDIxOCwgNTAsIDE0LCAzLCAyMjksIDIzNSwgMTQsIDMsIDIyOSwgCisgICAgMjE4LCAxNCwgMywgMjI5LCAyMDgsIDE0LCAzLCAyMjksIDE4NiwgMTQsIDMsIDIyOSwgODEsIDE0LCAzLCAyMjksIDgyLCAKKyAgICAyOSwgMjUwLCAxNjcsIDE0LCAzLCAyMjksIDc5LCAxNCwgMywgMjI5LCA4MCwgMjksIDI1MiwgMTgxLCAxNCwgMywgMjI5LCAKKyAgICA4MCwgMjksIDI1MCwgMTY3LCAxNCwgMywgMjI5LCA4MCwgMjksIDI0MiwgMjEyLCAxNCwgMywgMjI5LCA4MCwgMjksIDI0MiwgCisgICAgMjEzLCAyMTIsIDg5LCAxNCwgMywgMjI5LCA4MCwgMjksIDI0MCwgMjEzLCAyMTIsIDg5LCAxNCwgMywgMjI5LCA4MCwgMjksIAorICAgIDIzOSwgMTIsIDI5LCAyNTAsIDE2NywgMTQsIDMsIDIyOSwgODAsIDI5LCAyMzMsIDg1LCAxNCwgMywgMjI5LCA4MCwgMjksIAorICAgIDIzMiwgNTIsIDE0LCAzLCAyMjksIDgwLCAyOSwgMjMyLCA1MCwgMTQsIDMsIDIyOSwgODAsIDI5LCAyMzIsIDUxLCAxMDEsIAorICAgIDI1MSwgMjI1LCAxNCwgMywgMjI5LCA4MCwgMjksIDIzMSwgMTIzLCAxNCwgMywgMjI5LCA4MCwgMjksIDIzMCwgMTQyLCAKKyAgICAxMDEsIDI1MSwgMjI1LCAxNCwgMywgMjI5LCA4MCwgMjksIDIzMCwgMTIyLCAxNCwgMywgMjI5LCA4MCwgMjksIDIyNywgCisgICAgMTIwLCAxMDEsIDI0MywgNDEsIDE0LCAzLCAyMjksIDgwLCAyOSwgMjI1LCAxMTAsIDE0LCAzLCAyMjksIDgwLCAyOSwgMjIzLCAKKyAgICAyMTcsIDE0LCAzLCAyMjksIDgwLCAyOSwgMjE1LCA4MSwgMTAxLCAyNTEsIDIyNSwgMTQsIDMsIDIyOSwgODAsIDI5LCAyMTUsIAorICAgIDYwLCAxMDEsIDI0OSwgMTAxLCAxNCwgMywgMjI5LCA4MCwgMjksIDIxMCwgMTY0LCAxNCwgMywgMjI5LCA4MCwgMjEyLCA4OSwgCisgICAgMTQsIDMsIDIyOSwgODAsIDI0NywgNTQsIDIyOSwgNzksIDE0LCAzLCAyMjksIDgwLCAyMjIsIDEyOSwgMjI5LCA3OSwgMTQsIAorICAgIDMsIDIyOSwgODAsIDIxNCwgMTA2LCAxNCwgMywgMjI5LCA4MCwgMjE1LCAxOTYsIDE0LCAzLCAyMjksIDc4LCAxNCwgMywgCisgICAgMjI5LCA3MiwgMTQsIDMsIDIyOSwgNzMsIDEzMSwgMjI5LCA3MiwgMTQsIDMsIDIyOSwgNzMsIDIyMiwgMTI5LCAyMjksIDcyLCAKKyAgICAxNCwgMywgMjI5LCA3MywgMjE1LCAxOTYsIDE0LCAzLCAyMjksIDcwLCAxNCwgMywgMjI5LCA2NywgMTQsIDMsIDIyOSwgNjUsIAorICAgIDE0LCAzLCAyMjksIDY2LCAxMzEsIDIyOSwgNjUsIDE0LCAzLCAyMjksIDY2LCAxMzEsIDIyOSwgNjYsIDI0MCwgMjA1LCAKKyAgICAxMzEsIDI0MCwgMjA0LCAxNCwgMywgMTg1LCAxNCwgMywgMjI4LCAyMCwgMjksIDIxMiwgMTg2LCAxNCwgMywgMjI4LCAyMCwgCisgICAgMjM5LCAxOTIsIDE0LCAzLCAyMjgsIDE5LCAxNCwgMywgMjI3LCAyNDcsIDE0LCAzLCAyMjcsIDE5OSwgMTQsIDMsIDIyNywgCisgICAgMTc4LCAxNCwgMywgMjI3LCAxNzcsIDE0LCAzLCAyMjcsIDExOSwgMTQsIDMsIDIyNywgNzEsIDE0LCAzLCAyMjYsIDI1NCwgCisgICAgMTQsIDMsIDIyNiwgMjA5LCAxNCwgMywgMjI2LCAxMTQsIDE0LCAzLCAyMjYsIDExNSwgMTMxLCAyMjYsIDExNCwgMTQsIDMsIAorICAgIDIyNiwgMTAzLCAxNCwgMywgMjI2LCAxMDQsIDIzOSwgMTkyLCAxNCwgMywgMjI2LCA4NywgMTQsIDMsIDIyNiwgNzMsIDE0LCAKKyAgICAzLCAyMjYsIDY5LCAxNCwgMywgMjI2LCA3MCwgMjksIDYyLCAxNCwgMywgMjI2LCA3MCwgMjksIDIzMCwgMjEwLCAxNCwgMywgCisgICAgMjI2LCA3MCwgMjksIDIwNSwgMTE2LCAxNCwgMywgMjI2LCA3MCwgMTMxLCAyMjYsIDY5LCAxNCwgMywgMjI2LCA3MCwgMTMxLCAKKyAgICAyMjYsIDcwLCAyOSwgMzIsIDEwMSwgMTk5LCAxNCwgMywgMjI2LCA3MCwgMjQ3LCA1NCwgMjI2LCA2OSwgMTQsIDMsIDIyNiwgCisgICAgNjcsIDE0LCAzLCAyMjYsIDY4LCAyOSwgNjIsIDE0LCAzLCAyMjYsIDY4LCAyOSwgMzIsIDEwMSwgMjQ1LCAxNjgsIDE0LCAzLCAKKyAgICAyMjYsIDY4LCAyOSwgMjQ1LCAxNjgsIDE0LCAzLCAyMjYsIDY4LCAyMzksIDE5MiwgMTQsIDMsIDE5OSwgMTQsIDMsIDIyNSwgCisgICAgMjM1LCAxNCwgMywgMjI1LCAyMjIsIDE0LCAzLCAyMjUsIDIyMywgMjMzLCAxLCAxNCwgMywgMjI1LCAyMjMsIDI5LCAyMTUsIAorICAgIDExNywgMjEyLCA4OSwgMTQsIDMsIDIyNSwgMjIzLCAyMjIsIDEyOSwgMjI1LCAyMjIsIDE0LCAzLCAyMjUsIDIyMSwgMTQsIAorICAgIDMsIDIyNSwgMjE0LCAyMjMsIDE1OSwgMTQsIDMsIDIyNSwgMjEzLCAxNCwgMywgMjI1LCAyMTIsIDE0LCAzLCAyMjUsIDExMCwgCisgICAgMTQsIDMsIDIyNSwgMTExLCAyOSwgNjIsIDE0LCAzLCAyMjUsIDExMSwgMjksIDIxMCwgOCwgMTQsIDMsIDIyNSwgMTExLCAKKyAgICAyMTUsIDE5NiwgMTQsIDMsIDIyNCwgMjMwLCAxNCwgMywgMjI0LCAyMzEsIDI5LCA3NSwgMTQsIDMsIDIyNCwgMjI5LCAxNCwgCisgICAgMywgMjI0LCAyMDAsIDE0LCAzLCAyMjQsIDIwMSwgMjksIDI0MCwgMjEzLCAyMTIsIDg5LCAxNCwgMywgMjI0LCAyMDEsIDI5LCAKKyAgICAyNDAsIDIwNSwgMTAxLCAyNDAsIDIxMywgMjEyLCA4OSwgMTQsIDMsIDIyNCwgMTk2LCAxNCwgMywgMjI0LCAxOTcsIDI5LCAKKyAgICAyNTIsIDEyMiwgMTQsIDMsIDIyNCwgMTk3LCAyOSwgMjUxLCAyMjUsIDE0LCAzLCAyMjQsIDE5NywgMjksIDI1MSwgMjI2LCAKKyAgICAxMDEsIDI1MSwgMjI1LCAxNCwgMywgMjI0LCAxOTcsIDI5LCAyMzksIDIwMiwgMTQsIDMsIDIyNCwgMTk3LCAyOSwgMjI3LCAKKyAgICAxMjAsIDEwMSwgMjQwLCAyMTMsIDIxMiwgODksIDE0LCAzLCAyMjQsIDE5NywgMjksIDIyNSwgMTEwLCAxNCwgMywgMjI0LCAKKyAgICAxOTcsIDI5LCAyMjMsIDE3MywgMTQsIDMsIDIyNCwgMTk3LCAyOSwgMjE1LCAyMTQsIDE0LCAzLCAyMjQsIDE5NywgMjksIAorICAgIDIxNSwgMjE1LCAxMDEsIDMyLCAyNTIsIDEyMiwgMTQsIDMsIDIyNCwgMTk3LCAyOSwgMjE1LCAyMTUsIDEwMSwgMjUxLCAKKyAgICAyMjUsIDE0LCAzLCAyMjQsIDE5NywgMjksIDIxNSwgMjE1LCAxMDEsIDI1MSwgMjI2LCAxMDEsIDI1MSwgMjI1LCAxNCwgMywgCisgICAgMjI0LCAxOTcsIDI5LCAyMTAsIDIwLCAxMDEsIDI1MSwgMjI1LCAxNCwgMywgMjI0LCAxOTcsIDI5LCAyMDksIDE3MCwgMTQsIAorICAgIDMsIDIyNCwgMTg1LCAxNCwgMywgMjIzLCAyMTcsIDE0LCAzLCAyMjMsIDE4OSwgMTQsIDMsIDIyMywgMTczLCAxNCwgMywgCisgICAgMjIzLCAxNzQsIDIzMCwgMTIxLCAyOSwgMjQwLCAyMDQsIDE0LCAzLCAyMjMsIDE3NCwgMjMwLCAxMjEsIDI5LCAyMjcsIAorICAgIDE3OCwgMTQsIDMsIDIyMywgMTc0LCAyMzAsIDEyMSwgMjksIDIxNywgMTcyLCAxNCwgMywgMjIzLCAxNzQsIDIzMCwgMTIxLCAKKyAgICAyOSwgMjE3LCAxNzMsIDEzMSwgMjIzLCAxNzQsIDIzMCwgMTIxLCAyOSwgMjE3LCAxNzIsIDE0LCAzLCAyMjMsIDE3NCwgCisgICAgMjMwLCAxMjEsIDI5LCAyMDksIDE3MCwgMTQsIDMsIDIyMywgMTc0LCAyMTIsIDg5LCAxNCwgMywgMjIzLCAxNzQsIDEzMSwgCisgICAgMjIzLCAxNzMsIDE0LCAzLCAyMjMsIDE3NCwgMjQ3LCA1NCwgMjIzLCAxNzMsIDE0LCAzLCAyMjMsIDE3NCwgMjQ3LCA1NCwgCisgICAgMjIzLCAxNzQsIDIzMCwgMTIxLCAxMzEsIDIzMCwgMTIwLCAxNCwgMywgMjIzLCAxNjgsIDE0LCAzLCAyMjMsIDE2OSwgMjUzLCAKKyAgICAzMywgMjksIDI1MSwgMjE5LCAxNCwgMywgMjIzLCAxNjksIDI1MywgMzMsIDI5LCAyNDksIDI0NCwgMTQsIDMsIDIyMywgCisgICAgMTY5LCAyNTMsIDMzLCAyOSwgMjQzLCAyMzMsIDE0LCAzLCAyMjMsIDE2OSwgMjUzLCAzMywgMjksIDIzOSwgMjAyLCAxNCwgCisgICAgMywgMjIzLCAxNjksIDI1MywgMzMsIDI5LCAyMzMsIDEwNSwgMjM5LCAxOTIsIDE0LCAzLCAyMjMsIDE2OSwgMjUzLCAzMywgCisgICAgMjksIDIzMiwgNTAsIDE0LCAzLCAyMjMsIDE2OSwgMjUzLCAzMywgMjksIDIzMCwgMTQxLCAxNCwgMywgMjIzLCAxNjksIAorICAgIDI1MywgMzMsIDI5LCAyMjUsIDExMCwgMTQsIDMsIDIyMywgMTY5LCAyNTMsIDMzLCAyOSwgMjE1LCA1NywgMTQsIDMsIDIyMywgCisgICAgMTY5LCAyNTMsIDMzLCAyOSwgMjEwLCAxOSwgMTQsIDMsIDIyMywgMTY5LCAyMzEsIDk0LCAyOSwgMjQ5LCAyNDQsIDE0LCAzLCAKKyAgICAyMjMsIDE2OSwgMjMxLCA5NCwgMjksIDI0OSwgMjQ1LCA3MSwgMTQsIDMsIDE3OSwgMTQsIDMsIDIyMiwgNDIsIDE0LCAzLCAKKyAgICAyMjIsIDYsIDE0LCAzLCAyMjEsIDIzNiwgMTQsIDMsIDIyMSwgMTA3LCAxNCwgMywgMjIxLCA1MywgMTQsIDMsIDIyMSwgNTQsIAorICAgIDI5LCA2MiwgMTQsIDMsIDIyMSwgNTQsIDI5LCAyNTMsIDExNSwgMTQsIDMsIDIyMSwgNTQsIDI5LCAyNDksIDI0NCwgMTQsIAorICAgIDMsIDIyMSwgNTQsIDI5LCAyNDksIDEwMSwgMTQsIDMsIDIyMSwgNTQsIDI5LCA3NSwgMTQsIDMsIDIyMSwgNTQsIDI5LCA3NCwgCisgICAgMTQsIDMsIDIyMSwgNTQsIDI5LCAyMzcsIDE4NSwgMTQsIDMsIDIyMSwgNTQsIDI5LCA3MSwgMTQsIDMsIDIyMSwgNTQsIDI5LCAKKyAgICAyMTAsIDE5LCAxNCwgMywgMjIxLCA1NCwgMjQ3LCA1NCwgMjIxLCA1MywgMTQsIDMsIDIyMCwgMjUxLCAxNCwgMywgMjIwLCAKKyAgICAyNTIsIDI5LCAyMzIsIDMxLCAxNCwgMywgMjIwLCAyNTIsIDI5LCAyMTAsIDgsIDE0LCAzLCAyMjAsIDI1MiwgMjksIDIwNSwgCisgICAgMTE2LCAxNCwgMywgMjIwLCAyNTIsIDIyMiwgMTI5LCAyMjAsIDI1MSwgMTQsIDMsIDIxOSwgMTEzLCAxNCwgMywgMjE5LCAKKyAgICAxMDcsIDE0LCAzLCAyMTgsIDIwOCwgMTQsIDMsIDIxOCwgNTAsIDE0LCAzLCAyMTcsIDE5OSwgMTQsIDMsIDIxNywgMTg2LCAKKyAgICAyMjMsIDE1OSwgMTQsIDMsIDIxNywgMTg1LCAxNCwgMywgMjE3LCAxODYsIDI5LCA2MiwgMTQsIDMsIDIxNywgMTg2LCAyOSwgCisgICAgMjQzLCAyMzcsIDE0LCAzLCAyMTcsIDE4NiwgMjksIDI0MywgMjM1LCAxNCwgMywgMjE3LCAxODYsIDI5LCAxNTUsIDE0LCAzLCAKKyAgICAyMTcsIDE4NiwgMjksIDIzMiwgMzUsIDE0LCAzLCAyMTcsIDE4NiwgMjksIDIzMCwgMjEwLCAxNCwgMywgMjE3LCAxODYsIAorICAgIDI5LCAyMjksIDY1LCAxNCwgMywgMjE3LCAxODYsIDI5LCAyMjYsIDI1NCwgMTQsIDMsIDIxNywgMTg2LCAyOSwgMjIzLCAKKyAgICAxNzMsIDE0LCAzLCAyMTcsIDE4NiwgMjksIDIxNywgMTcyLCAxNCwgMywgMjE3LCAxODYsIDI5LCAyMTUsIDE4MSwgMTQsIDMsIAorICAgIDIxNywgMTg2LCAyOSwgMjEyLCAyMDcsIDE0LCAzLCAyMTcsIDE4NiwgMjksIDIxMCwgMTksIDE0LCAzLCAyMTcsIDE4NiwgCisgICAgMjksIDIxMCwgMTQsIDE0LCAzLCAyMTcsIDE4NiwgMjksIDIwOSwgMjQxLCAxNCwgMywgMjE3LCAxODYsIDI5LCAyMDksIAorICAgIDE5NCwgMTQsIDMsIDIxNywgMTg2LCAyOSwgMjA5LCAxNzAsIDE0LCAzLCAyMTcsIDE4NiwgMTMxLCAyMTcsIDE4NSwgMTQsIAorICAgIDMsIDIxNywgMTg2LCAyMzksIDE5MiwgMTQsIDMsIDIxNywgMTcyLCAxNCwgMywgMjE3LCAxNzMsIDIzMCwgMTIzLCAyOSwgCisgICAgMjUxLCAyMjMsIDE0LCAzLCAyMTcsIDE0NiwgMTQsIDMsIDIxNywgMTM4LCAxNCwgMywgMjE2LCAyLCAxNCwgMywgMjE2LCAwLCAKKyAgICAxNCwgMywgMjE2LCAxLCAyOSwgNjIsIDE0LCAzLCAyMTYsIDEsIDI5LCAyNTAsIDE2NywgMTQsIDMsIDIxNiwgMSwgMjksIAorICAgIDI0MCwgMzUsIDE0LCAzLCAyMTYsIDEsIDI5LCAyMjUsIDExMCwgMTQsIDMsIDIxNiwgMSwgMjksIDIxNSwgMTE0LCAxNCwgMywgCisgICAgMjE2LCAxLCAyOSwgMjEwLCAxNDksIDE0LCAzLCAyMTYsIDEsIDI5LCA3MSwgMTQsIDMsIDIxNiwgMSwgMjksIDEwNiwgMTAxLCAKKyAgICA2MiwgMTQsIDMsIDIxNSwgMjU1LCAxNCwgMywgMjE1LCAyNTMsIDE0LCAzLCAyMTUsIDIzMCwgMTQsIDMsIDIxNSwgMjE0LCAKKyAgICAxNCwgMywgMjE1LCAyMTUsIDIzOCwgNDIsIDE0LCAzLCAyMTUsIDIxNSwgMTMxLCAyMTUsIDIxNSwgMjQwLCAyMzYsIDEzMSwgCisgICAgMjQwLCAyMzYsIDI0MCwgMjA1LCAxMzEsIDI0MCwgMjA0LCAxNCwgMywgMjE1LCAyMTUsIDEzMSwgMjE1LCAyMTUsIDIxMiwgCisgICAgMjA4LCAxMzEsIDIxMiwgMjA4LCAyNDAsIDIwNSwgMTMxLCAyNDAsIDIwNCwgMTQsIDMsIDIxNSwgMjA3LCAxNCwgMywgMjE1LCAKKyAgICAyMDIsIDE0LCAzLCAyMTUsIDE5OSwgMTQsIDMsIDIxNSwgMTk4LCAxNCwgMywgMjE1LCAxOTUsIDE0LCAzLCAyMTUsIDE4MSwgCisgICAgMTQsIDMsIDIxNSwgMTgyLCAyOSwgNjIsIDE0LCAzLCAyMTUsIDE4MiwgMjksIDIzMywgODUsIDE0LCAzLCAyMTUsIDE3NSwgCisgICAgMTQsIDMsIDIxNSwgMTc2LCAyOSwgNjIsIDE0LCAzLCAyMTUsIDE3NiwgMjksIDI1MCwgMTUxLCAxNCwgMywgMjE1LCAxNzYsIAorICAgIDI5LCAyNDksIDc5LCAxNCwgMywgMjE1LCAxNzYsIDI5LCAyNDUsIDExMywgMTQsIDMsIDIxNSwgMTc2LCAyOSwgMjQwLCAKKyAgICAyMDQsIDE0LCAzLCAyMTUsIDE3NiwgMjksIDIzMywgMTA0LCAxNCwgMywgMjE1LCAxNzYsIDI5LCAyMzMsIDEwNSwgMjM5LCAKKyAgICAxOTIsIDE0LCAzLCAyMTUsIDE3NiwgMjksIDIzMCwgMjA1LCAxNCwgMywgMjE1LCAxNzYsIDI5LCAyMjksIDY3LCAxNCwgMywgCisgICAgMjE1LCAxNzYsIDI5LCAyMjYsIDEwMywgMTQsIDMsIDIxNSwgMTc2LCAyOSwgMjE3LCAxNzIsIDE0LCAzLCAyMTUsIDE2OSwgCisgICAgMTQsIDMsIDIxNSwgMTY0LCAxNCwgMywgMjE1LCAxNjUsIDIxMiwgODksIDE0LCAzLCAyMTUsIDE2NSwgMTMxLCAyMTUsIAorICAgIDE2NSwgMjQ5LCA2OSwgMTMxLCAyNDksIDY4LCAxNCwgMywgMjE1LCAxNjAsIDE0LCAzLCAyMTUsIDExNiwgMTQsIDMsIDIxNSwgCisgICAgMTE3LCAxMzEsIDIzMywgMiwgMjE1LCAxMTYsIDE0LCAzLCAyMTUsIDExNCwgMTQsIDMsIDIxNSwgMTEzLCAxNCwgMywgMjE1LCAKKyAgICA4MCwgMTQsIDMsIDIxNSwgODEsIDIzOSwgMTkyLCAxNCwgMywgMjE1LCA2OCwgMTQsIDMsIDIxNSwgNjYsIDE0LCAzLCAyMTUsIAorICAgIDY3LCAxMzEsIDIxNSwgNjcsIDIxNSwgMTE0LCAxNCwgMywgMjE1LCA1OSwgMTQsIDMsIDIxNSwgNTcsIDE0LCAzLCAyMTMsIAorICAgIDIwMywgMTQsIDMsIDIxMywgMjA0LCAxMzEsIDIxMywgMjAzLCAxNCwgMywgMjEzLCAxNzIsIDE0LCAzLCAyMTMsIDE3MSwgCisgICAgMTQsIDMsIDIxMywgMTY5LCAxNCwgMywgMjEzLCAxNjAsIDE0LCAzLCAyMTMsIDE1OSwgMTQsIDMsIDIxMywgMTMzLCAxNCwgCisgICAgMywgMjEzLCAxMzIsIDE0LCAzLCAyMTIsIDIxOSwgMTQsIDMsIDIxMiwgMjIwLCAyNTEsIDIwOSwgMTQsIDMsIDIxMiwgMjIwLCAKKyAgICAyOSwgMjM5LCAxMSwgMTQsIDMsIDIxMiwgMjIwLCAyOSwgMjI2LCAyNTQsIDE0LCAzLCAyMTIsIDIyMCwgMjM5LCAxOTIsIAorICAgIDE0LCAzLCAyMTIsIDIwNywgMTQsIDMsIDIxMiwgMjA4LCAxMzEsIDIxMiwgMjA4LCAyMjQsIDIzMSwgMTMxLCAyMjQsIDIzMSwgCisgICAgMjQ1LCA5NSwgMTMxLCAyNDUsIDk0LCAxNCwgMywgMjEyLCAyMDgsIDIxNCwgMTA2LCAxNCwgMywgMjEyLCAxOTgsIDE0LCAzLCAKKyAgICAxNTAsIDI5LCAyNDksIDI0NCwgMTQsIDMsIDE1MCwgMjksIDIzOSwgMjAyLCAxNCwgMywgMTUwLCAyOSwgMjE1LCAyMTQsIAorICAgIDE0LCAzLCAxNTAsIDI5LCAyMTUsIDExNiwgMTQsIDMsIDE1MCwgMjksIDIxMCwgMTY0LCAxNCwgMywgMTUwLCAyOSwgMjEwLCAKKyAgICA4LCAxNCwgMywgMjEyLCAxODYsIDE0LCAzLCAyMTIsIDE2MiwgMTQsIDMsIDIxMiwgMTMxLCAxNCwgMywgMjEyLCAxMzIsIAorICAgIDIzOSwgMTkyLCAxNCwgMywgMjExLCAyMTEsIDE0LCAzLCAyMTEsIDIxMiwgMjEyLCA4OSwgMTQsIDMsIDIxMSwgMTgyLCAxNCwgCisgICAgMywgMjExLCAxNjIsIDE0LCAzLCAyMTEsIDE2MywgMjksIDIxMiwgMTg2LCAxNCwgMywgMjExLCAxNjMsIDEzMSwgMjExLCAKKyAgICAxNjIsIDE0LCAzLCAyMTEsIDE2MywgMTMxLCAyMTEsIDE2MywgMjQwLCAyMzYsIDEzMSwgMjQwLCAyMzYsIDI0MCwgMjA1LCAKKyAgICAxMzEsIDI0MCwgMjA0LCAxNCwgMywgMjEwLCAxNzAsIDE0LCAzLCAyMTAsIDE2NCwgMTQsIDMsIDIxMCwgMTYyLCAxNCwgMywgCisgICAgMjEwLCAxNTksIDE0LCAzLCAyMTAsIDE0OSwgMTQsIDMsIDIxMCwgMTUwLCAxMzEsIDIxMCwgMTUwLCAyMDUsIDExNywgMTMxLCAKKyAgICAyMDUsIDExNiwgMTQsIDMsIDcxLCAxNCwgMywgMTA2LCAyMzksIDIwMiwgMTQsIDMsIDEwNiwgMTA2LCA3MSwgMTQsIDMsIAorICAgIDEwNiwgMTMxLCAxMDYsIDIyMiwgNTIsIDEzMSwgMjIyLCA1MiwgMjQwLCAyMDUsIDEzMSwgMjQwLCAyMDQsIDE0LCAzLCAKKyAgICAxMDYsIDEzMSwgMTA2LCAyMTMsIDEzNCwgMTMxLCAyMTMsIDEzMywgMTQsIDMsIDEwNiwgMTMxLCAxMDYsIDEwNiwgMjE4LCAKKyAgICAyMjQsIDEzMSwgMTA2LCAyMTgsIDIyMywgMTQsIDMsIDIxMCwgMTksIDE0LCAzLCAyMTAsIDE0LCAxNCwgMywgMjEwLCA4LCAKKyAgICAxNCwgMywgMjEwLCA5LCAyMzAsIDIwNSwgMTQsIDMsIDIxMCwgOSwgMjksIDI1MCwgMTY3LCAxNCwgMywgMjEwLCA5LCAyOSwgCisgICAgMjI2LCAyNTQsIDE0LCAzLCAyMTAsIDksIDI5LCAxMDYsIDEwMSwgMTA2LCAxMDEsIDcxLCAxNCwgMywgMjEwLCA5LCAyOSwgCisgICAgMTA2LCAxMDEsIDEwNiwgMTAxLCAxMDYsIDIzOSwgMTkyLCAxNCwgMywgMjEwLCA5LCAyMzksIDE5MiwgMTQsIDMsIDIxMCwgCisgICAgOSwgMjE1LCAxOTYsIDE0LCAzLCAyMTAsIDksIDIxNSwgMTk3LCAyOSwgMjUwLCAxNjcsIDE0LCAzLCAyMTAsIDQsIDE0LCAzLCAKKyAgICAyMDksIDI0MSwgMTQsIDMsIDIwOSwgMjQyLCAyOSwgMjMwLCAxMjIsIDE0LCAzLCAyMDksIDI0MiwgMjksIDIyNywgMTIwLCAKKyAgICAxMDEsIDI0NiwgMTQ1LCAxNCwgMywgMjA5LCAyNDIsIDI5LCAyMTYsIDAsIDE0LCAzLCAyMDksIDI0MiwgMjksIDcxLCAxNCwgCisgICAgMywgMjA5LCAyNDAsIDE0LCAzLCAyMDksIDIzNiwgMTQsIDMsIDIwOSwgMjM3LCAyOSwgMjMxLCAyNTQsIDE0LCAzLCAyMDksIAorICAgIDIzNywgMjksIDE3OSwgMTQsIDMsIDIwOSwgMjM0LCAxNCwgMywgMjA5LCAyMzUsIDIzOSwgMTkyLCAxNCwgMywgMjA5LCAKKyAgICAxOTQsIDE0LCAzLCAyMDksIDE5NSwgMjQ3LCA1NCwgMjA5LCAxOTQsIDE0LCAzLCAyMDksIDE5NSwgMjE1LCAxOTYsIDE0LCAKKyAgICAzLCAyMDksIDE5MiwgMTQsIDMsIDIwOSwgMTkzLCAyOSwgMzIsIDEwMSwgMTU1LCAxNCwgMywgMjA5LCAxOTMsIDI5LCAzMiwgCisgICAgMTAxLCAxOTksIDE0LCAzLCAyMDksIDE5MywgMjksIDI1MiwgMTgxLCAxNCwgMywgMjA5LCAxOTMsIDI5LCAxNTUsIDE0LCAzLCAKKyAgICAyMDksIDE5MywgMjksIDIyMywgMTczLCAxNCwgMywgMjA5LCAxOTMsIDI5LCAyMTAsIDE5LCAxNCwgMywgMjA5LCAxOTMsIAorICAgIDI5LCAyMTAsIDIwLCAxMDEsIDI1MSwgMjI1LCAxNCwgMywgMjA5LCAxOTMsIDI5LCAyMTAsIDIwLCAxMDEsIDI0OSwgMjQ0LCAKKyAgICAxNCwgMywgMjA5LCAxOTEsIDE0LCAzLCAyMDksIDE4OCwgMTQsIDMsIDIwOSwgMTg3LCAxNCwgMywgMjA5LCAxODMsIDE0LCAKKyAgICAzLCAyMDksIDE4NCwgMjksIDYyLCAxNCwgMywgMjA5LCAxODQsIDI5LCAyNTEsIDIxOSwgMTQsIDMsIDIwOSwgMTg0LCAyOSwgCisgICAgMTM0LCAxNCwgMywgMjA5LCAxODQsIDI5LCAyNDMsIDIyNywgMTQsIDMsIDIwOSwgMTg0LCAyOSwgMjQwLCAyNDQsIDE0LCAzLCAKKyAgICAyMDksIDE4NCwgMjksIDI0MCwgMjI2LCAxNCwgMywgMjA5LCAxODQsIDI5LCAyNDAsIDIxMywgMjEyLCA4OSwgMTQsIDMsIAorICAgIDIwOSwgMTg0LCAyOSwgMjQwLCAyMDQsIDE0LCAzLCAyMDksIDE4NCwgMjksIDIzOSwgMjEzLCAxNCwgMywgMjA5LCAxODQsIAorICAgIDI5LCAxNTUsIDE0LCAzLCAyMDksIDE4NCwgMjksIDIzMywgMTA0LCAxNCwgMywgMjA5LCAxODQsIDI5LCAyMzMsIDg1LCAxNCwgCisgICAgMywgMjA5LCAxODQsIDI5LCAyMzIsIDIyOCwgMTQsIDMsIDIwOSwgMTg0LCAyOSwgMjMxLCAxMjMsIDE0LCAzLCAyMDksIAorICAgIDE4NCwgMjksIDIyOSwgNjUsIDE0LCAzLCAyMDksIDE4NCwgMjksIDIyNiwgMjA5LCAxNCwgMywgMjA5LCAxODQsIDI5LCAKKyAgICAxNzksIDE0LCAzLCAyMDksIDE4NCwgMjksIDIxNSwgMjE0LCAxNCwgMywgMjA5LCAxODQsIDI5LCAyMTUsIDY2LCAxNCwgMywgCisgICAgMjA5LCAxODQsIDI5LCAyMTAsIDE3MCwgMTQsIDMsIDIwOSwgMTg0LCAyOSwgMTA2LCAxMDEsIDIzOSwgMjAyLCAxNCwgMywgCisgICAgMjA5LCAxODQsIDI5LCAyMTAsIDgsIDE0LCAzLCAyMDksIDE4NCwgMjksIDIwOSwgMTgxLCAxNCwgMywgMjA5LCAxODEsIDE0LCAKKyAgICAzLCAyMDksIDE4MiwgMjksIDcxLCAxNCwgMywgMjA5LCAxNzAsIDE0LCAzLCAyMDksIDE3MSwgMjksIDYyLCAxNCwgMywgCisgICAgMjA5LCAxNzEsIDI5LCAyMzAsIDIzNiwgMTQsIDMsIDIwOSwgMTcxLCAyOSwgMjMwLCAyMTAsIDE0LCAzLCAyMDksIDE3MSwgCisgICAgMjksIDIxMiwgMTg2LCAxNCwgMywgMjA5LCAxNjYsIDE0LCAzLCAyMDksIDE2OSwgMTQsIDMsIDIwOSwgMTY3LCAxNCwgMywgCisgICAgMjA5LCAxNjMsIDE0LCAzLCAyMDksIDE1MSwgMTQsIDMsIDIwOSwgMTUyLCAyOSwgMjMxLCAyNTQsIDE0LCAzLCAyMDksIAorICAgIDE1MCwgMTQsIDMsIDIwNSwgMTE2LCAxNCwgMywgMjA1LCAxMTcsIDIxMiwgODksIDE0LCAzLCAyMDUsIDExNywgOTgsIDI5LCAKKyAgICAyMzAsIDIxMCwgMTQsIDMsIDIwNSwgMTEzLCAxNCwgMywgMjA1LCAxMDYsIDE0LCAzLCAyMDUsIDkyLCAxNCwgMywgMjA1LCAKKyAgICA0MCwgMTQsIDMsIDIwNSwgNDEsIDEzMSwgMjA1LCA0MCwgMTQsIDMsIDIwNSwgMzksIDE0LCAzLCAyMDUsIDM3LCAxNCwgMywgCisgICAgMjA1LCAzOCwgMjMyLCA1NCwgMjEyLCA4OSwgMTQsIDMsIDIwNSwgMzIsIDE0LCAzLCAyMDUsIDI0LCAxNCwgMywgMjA1LCA5LCAKKyAgICAxNCwgMywgMjA1LCA3LCAxNCwgMywgMjA1LCA4LCAyOSwgNjIsIDE0LCAzLCAyMDUsIDYsIDE0LCAzLCAyMDUsIDUsIDE0LCAKKyAgICAzLCAyMzIsIDIxLCAyNDMsIDY1LCAxNCwgMywgMjUzLCAxMTYsIDI5LCAyMjMsIDE3MywgMTQsIDMsIDI1MywgMzMsIDI5LCAKKyAgICA2MiwgMTQsIDMsIDI1MiwgMTMzLCAyOSwgMjMwLCAyMjUsIDE0LCAzLCAyNDYsIDEzNywgMjMxLCA5NCwgMjksIDIxMCwgMjAsIAorICAgIDEwMSwgMjI3LCAxNzgsIDE0LCAzLCAyNDYsIDEzNSwgMTQsIDMsIDI0NSwgOTUsIDEwMSwgMjE1LCAxMTYsIDE0LCAzLCAKKyAgICAyNDMsIDIzNiwgMjksIDIxNSwgMjE0LCAxNCwgMywgMjQyLCAxNDQsIDI5LCAyMzksIDIwMiwgMTQsIDMsIDI0MiwgMTQ0LCAKKyAgICAyOSwgMjE1LCAyMTQsIDE0LCAzLCAyNDAsIDI0MywgMjksIDI1MiwgMTIzLCAxMDEsIDIzMiwgMzYsIDEwMSwgNjIsIDE0LCAKKyAgICAzLCAyNDAsIDI0MywgMjksIDI1MSwgMjIzLCAxNCwgMywgMjQwLCAxNjksIDE0LCAzLCAyNDAsIDUxLCAxNCwgMywgMjM4LCAKKyAgICAyMSwgMTQsIDMsIDIzMiwgNjYsIDI5LCAyNTIsIDkzLCAxNCwgMywgMjMyLCA2NiwgMjksIDI1MSwgMjIyLCAxNCwgMywgCisgICAgMjMyLCA2NiwgMjksIDI0MCwgMzUsIDE0LCAzLCAyMzIsIDY2LCAyOSwgMjM5LCAyMDIsIDE0LCAzLCAyMzIsIDY2LCAyOSwgCisgICAgMjM5LCAxMiwgMjksIDI1MSwgMjIzLCAxNCwgMywgMjMyLCA2NiwgMjksIDIyOSwgNjUsIDE0LCAzLCAyMzIsIDY2LCAyOSwgCisgICAgMTc5LCAxNCwgMywgMjMyLCA2NiwgMjksIDIxNSwgMTA5LCAxNCwgMywgMjMyLCA2NiwgMjksIDIxMCwgMTcwLCAxNCwgMywgCisgICAgMjMyLCA2NiwgMjksIDIwOSwgMTkyLCAxNCwgMywgMjMwLCAxMjMsIDI5LCAyNDAsIDYxLCAxNCwgMywgMjI5LCA4MCwgMjE1LCAKKyAgICAxOTcsIDI5LCAyNTAsIDE2NywgMTQsIDMsIDIyOSwgODAsIDI5LCAyNDIsIDIxMywgMTAxLCAyMzAsIDEwOCwgMTQsIDMsIAorICAgIDIyOSwgODAsIDI5LCAyMTUsIDExNiwgMTQsIDMsIDIyNywgNzAsIDE0LCAzLCAyMjYsIDY4LCAyOSwgMjA1LCAxMTYsIDE0LCAKKyAgICAzLCAyMjUsIDIzNCwgMTQsIDMsIDIyNCwgMTk5LCAxNCwgMywgMjI0LCAxOTgsIDE0LCAzLCAyMjQsIDE5NywgMjksIDI1MCwgCisgICAgMTUxLCAxNCwgMywgMjI0LCAxOTcsIDI5LCAyNDAsIDYxLCAxNCwgMywgMjIzLCAxOTAsIDIxOCwgOTcsIDIyNCwgMTkxLCAKKyAgICAyNDUsIDI0NCwgMTQsIDMsIDIyMSwgMTA4LCAyNTEsIDIwOSwgMTQsIDMsIDIyMCwgMjU1LCAxNCwgMywgMjE3LCAxODYsIAorICAgIDI5LCAyMzMsIDEwNSwgMjM5LCAxOTIsIDE0LCAzLCAyMTEsIDIxMCwgMTQsIDMsIDIwOSwgMjQyLCAyOSwgMjI3LCAxMTksIAorICAgIDE0LCAxMzMsIDMsIDExOCwgMjUxLCAyMjUsIDE0LCAxMzMsIDMsIDEyOSwgMjUxLCAyMjUsIDE0LCAxMzMsIDMsIDI0MSwgCisgICAgMTI1LCAyNTEsIDIyNSwgMTQsIDEzMywgMywgMjQxLCAyMDQsIDI1MSwgMjI1LCAxNCwgMTMzLCAzLCAyMTUsIDEwLCAyNTEsIAorICAgIDIyNSwgMTQsIDEzMywgMywgMjE2LCAyMywgMjUxLCAyMjUsIDE0LCAxMzMsIDMsIDI0MywgODgsIDI1MSwgMjI1LCAxNCwgCisgICAgMTMzLCAzLCAyMjQsIDE5NSwgMjUxLCAyMjUsIDE0LCAxMzMsIDMsIDEyOSwgMjQ1LCA5NCwgMTQsIDEzMywgMywgMjQxLCAKKyAgICAxMjUsIDI0NSwgOTQsIDE0LCAxMzMsIDMsIDI0MSwgMjA0LCAyNDUsIDk0LCAxNCwgMTMzLCAzLCAyMTUsIDEwLCAyNDUsIAorICAgIDk0LCAxNCwgMTMzLCAzLCAyMTYsIDIzLCAyNDUsIDk0LCAxNCwgMTMzLCAzLCAyNDMsIDg4LCAyNDUsIDk0LCAxNCwgMTMzLCAKKyAgICAzLCAyMjQsIDE5NSwgMjQ1LCA5NCwgMTQsIDEzMywgMywgMjQxLCAxMjUsIDcxLCAxNCwgMTMzLCAzLCAyNDEsIDIwNCwgNzEsIAorICAgIDE0LCAxMzMsIDMsIDIxNSwgMTAsIDcxLCAxNCwgMTMzLCAzLCAyMTYsIDIzLCA3MSwgMTQsIDEzMywgMywgMjQzLCA4OCwgCisgICAgNzEsIDE0LCAxMzMsIDMsIDIyNCwgMTk1LCA3MSwgMTQsIDEzMywgMywgMTE5LCAyNDAsIDE0NCwgMTQsIDEzMywgMywgMTE4LCAKKyAgICAyNDAsIDE0NCwgMTQsIDEzMywgMywgMTI5LCAyNDAsIDE0NCwgMTQsIDEzMywgMywgMjQxLCAxMjUsIDI0MCwgMTQ0LCAxNCwgCisgICAgMTMzLCAzLCAyNDEsIDIwNCwgMjQwLCAxNDQsIDE0LCAxMzMsIDMsIDIxNSwgMTAsIDI0MCwgMTQ0LCAxNCwgMTMzLCAzLCAKKyAgICAyMTYsIDIzLCAyNDAsIDE0NCwgMTQsIDEzMywgMywgMjQzLCA4OCwgMjQwLCAxNDQsIDE0LCAxMzMsIDMsIDIyNCwgMTk1LCAKKyAgICAyNDAsIDE0NCwgMTQsIDEzMywgMywgMTE5LCAyNDAsIDE0MSwgMTQsIDEzMywgMywgMTE4LCAyNDAsIDE0MSwgMTQsIDEzMywgCisgICAgMywgMTI5LCAyNDAsIDE0MSwgMTQsIDEzMywgMywgMjQxLCAxMjUsIDI0MCwgMTQxLCAxNCwgMTMzLCAzLCAyNDEsIDIwNCwgCisgICAgMjQwLCAxNDEsIDE0LCAxMzMsIDMsIDExOCwgMjE1LCAyMzAsIDE0LCAxMzMsIDMsIDEyOSwgMjE1LCAyMzAsIDE0LCAxMzMsIAorICAgIDMsIDEyOSwgMjE1LCAyMzEsIDIwOSwgNTMsIDE3LCAxNCwgMTMzLCAzLCAyNDEsIDEyNSwgMjE1LCAyMzAsIDE0LCAxMzMsIAorICAgIDMsIDI0MSwgMjA0LCAyMTUsIDIzMCwgMTQsIDEzMywgMywgMjE1LCAxMCwgMjE1LCAyMzAsIDE0LCAxMzMsIDMsIDIxNiwgCisgICAgMjMsIDIxNSwgMjMwLCAxNCwgMTMzLCAzLCAyNDMsIDg4LCAyMTUsIDIzMCwgMTQsIDEzMywgMywgMjI0LCAxOTUsIDIxNSwgCisgICAgMjMwLCAxNCwgMTMzLCAzLCAxMTksIDIxNSwgMjI1LCAxNCwgMTMzLCAzLCAxMTgsIDIxNSwgMjI1LCAxNCwgMTMzLCAzLCAKKyAgICAxMjksIDIxNSwgMjI1LCAxNCwgMTMzLCAzLCAxMjksIDIxNSwgMjI2LCAyMDksIDUzLCAxNywgMTQsIDEzMywgMywgMjQxLCAKKyAgICAxMjUsIDIxNSwgMjI1LCAxNCwgMTMzLCAzLCAyNDEsIDIwNCwgMjE1LCAyMjUsIDE0LCAxMzMsIDMsIDIxNSwgMjMxLCAyOSwgCisgICAgMjQwLCAyMjcsIDEwMSwgMjQ1LCA5NCwgMTQsIDEzMywgMywgMjE1LCAyMzEsIDI5LCAyNDAsIDIyNywgMTAxLCAyMjYsIAorICAgIDIwOSwgMTQsIDEzMywgMywgMTE5LCAyNDksIDY1LCAxNCwgMTMzLCAzLCAxMTgsIDI0OSwgNjUsIDE0LCAxMzMsIDMsIDEyOSwgCisgICAgMjQ5LCA2NSwgMTQsIDEzMywgMywgMTI5LCAyNDksIDY2LCAyMDksIDUzLCAxNywgMTQsIDEzMywgMywgMjQxLCAxMjUsIAorICAgIDI0OSwgNjUsIDE0LCAxMzMsIDMsIDI0MSwgMjA0LCAyNDksIDY1LCAxNCwgMTMzLCAzLCAxMjksIDIwOSwgNTMsIDI0MSwgCisgICAgMTM2LCAyNDIsIDIxNCwgMTQsIDEzMywgMywgMTI5LCAyMDksIDUzLCAyNDEsIDEzNiwgMjQyLCAyMTEsIDE0LCAxMzMsIDMsIAorICAgIDI0MSwgMTI1LCAyMDksIDUzLCAyNDEsIDEzNiwgMjI5LCAyMDksIDE0LCAxMzMsIDMsIDI0MSwgMTI1LCAyMDksIDUzLCAKKyAgICAyNDEsIDEzNiwgMjI5LCAyMDcsIDE0LCAxMzMsIDMsIDI0MSwgMTI1LCAyMDksIDUzLCAyNDEsIDEzNiwgMjI5LCAyMTAsIAorICAgIDYyLCAxNCwgMTMzLCAzLCAyNDEsIDEyNSwgMjA5LCA1MywgMjQxLCAxMzYsIDIyOSwgMjEwLCAyNTEsIDE1MCwgMTQsIDEzMywgCisgICAgMywgMjE1LCAxMCwgMjA5LCA1MywgMjQxLCAxMzYsIDI1MSwgMjIxLCAxNCwgMTMzLCAzLCAyMTYsIDIzLCAyMDksIDUzLCAKKyAgICAyNDEsIDEzNiwgMjMzLCA3NywgMTQsIDEzMywgMywgMjE2LCAyMywgMjA5LCA1MywgMjQxLCAxMzYsIDIzMywgNzksIDYyLCAKKyAgICAxNCwgMTMzLCAzLCAyMTYsIDIzLCAyMDksIDUzLCAyNDEsIDEzNiwgMjMzLCA3OSwgMjUxLCAxNTAsIDE0LCAxMzMsIDMsIAorICAgIDI0MywgODgsIDIwOSwgNTMsIDI0MSwgMTM2LCAyMDksIDE2NSwgMTQsIDEzMywgMywgMjQzLCA4OCwgMjA5LCA1MywgMjQxLCAKKyAgICAxMzYsIDIwOSwgMTY0LCAxNCwgMTMzLCAzLCAyMjQsIDE5NSwgMjA5LCA1MywgMjQxLCAxMzYsIDIzMywgOTMsIDE0LCAxMzMsIAorICAgIDMsIDIyNCwgMTk1LCAyMDksIDUzLCAyNDEsIDEzNiwgMjMzLCA5MiwgMTQsIDEzMywgMywgMjI0LCAxOTUsIDIwOSwgNTMsIAorICAgIDI0MSwgMTM2LCAyMzMsIDkxLCAxNCwgMTMzLCAzLCAyMjQsIDE5NSwgMjA5LCA1MywgMjQxLCAxMzYsIDIzMywgOTQsIDYyLCAKKyAgICAxNCwgMTMzLCAzLCAxMTgsIDI1MSwgMjI2LCAyMTIsIDg5LCAxNCwgMTMzLCAzLCAxMjksIDI1MSwgMjI2LCAyMTIsIDg5LCAKKyAgICAxNCwgMTMzLCAzLCAyNDEsIDEyNSwgMjUxLCAyMjYsIDIxMiwgODksIDE0LCAxMzMsIDMsIDI0MSwgMjA0LCAyNTEsIDIyNiwgCisgICAgMjEyLCA4OSwgMTQsIDEzMywgMywgMjE1LCAxMCwgMjUxLCAyMjYsIDIxMiwgODksIDE0LCAxMzMsIDMsIDExOSwgMjUwLCAKKyAgICAxMzgsIDE0LCAxMzMsIDMsIDExOCwgMjUwLCAxMzgsIDE0LCAxMzMsIDMsIDEyOSwgMjUwLCAxMzgsIDE0LCAxMzMsIDMsIAorICAgIDI0MSwgMTI1LCAyNTAsIDEzOCwgMTQsIDEzMywgMywgMjQxLCAxMjUsIDI1MCwgMTM5LCAyMDksIDUzLCAxNywgMTQsIDEzMywgCisgICAgMywgMjQxLCAyMDQsIDI1MCwgMTM4LCAxNCwgMTMzLCAzLCAyNDEsIDIwNCwgMjUwLCAxMzksIDIwOSwgNTMsIDE3LCAxNCwgCisgICAgMTMzLCAzLCAyMjQsIDIwNywgMTQsIDEzMywgMywgMjI0LCAyMDgsIDE0LCAxMzMsIDMsIDExOSwgMjQyLCAyMTAsIDE0LCAKKyAgICAxMzMsIDMsIDExOCwgMjQyLCAyMTAsIDE0LCAxMzMsIDMsIDExOSwgMjEyLCAxMSwgMjQ1LCA5NCwgMTQsIDEzMywgMywgCisgICAgMTE4LCAyMTIsIDgsIDI0NSwgOTQsIDE0LCAxMzMsIDMsIDI0MSwgMjA0LCAyMTQsIDI1NSwgMjQ1LCA5NCwgMTQsIDEzMywgCisgICAgMywgMTE5LCAyMTIsIDExLCAyMDksIDUzLCAyNDEsIDEzNiwgNjIsIDE0LCAxMzMsIDMsIDExOCwgMjEyLCA4LCAyMDksIDUzLCAKKyAgICAyNDEsIDEzNiwgNjIsIDE0LCAxMzMsIDMsIDExOSwgMjQzLCA4NCwgMjUxLCAyMjUsIDE0LCAxMzMsIDMsIDExOSwgMjE5LCAKKyAgICAyMDUsIDI1MSwgMjI1LCAxNCwgMTMzLCAzLCA0NCwgMjUxLCAyMTIsIDExOSwgMjE1LCAwLCAxNCwgMTMzLCAzLCA0NCwgCisgICAgMjUxLCAyMTIsIDExOSwgMjE5LCAyMDQsIDE0LCAxMzMsIDMsIDExOSwgMjE5LCAyMDUsIDIzOSwgMTg2LCAxNCwgMTMzLCAzLCAKKyAgICAxMTksIDE2MCwgMjM5LCAxODYsIDE0LCAxMzMsIDMsIDI0MywgNjYsIDExOSwgMjEyLCAxMCwgMTQsIDEzMywgMywgMjQzLCAKKyAgICA2NiwgMTE4LCAyMTIsIDcsIDE0LCAxMzMsIDMsIDI0MywgNjYsIDI0MSwgMTMwLCAxNCwgMTMzLCAzLCAyNDMsIDY2LCAyNDEsIAorICAgIDI0MywgMTQsIDEzMywgMywgMjQxLCAxMjUsIDEwNiwgMjA5LCA1MywgMTcsIDE0LCAxMzMsIDMsIDI0MSwgMjA0LCAxMDYsIAorICAgIDIwOSwgNTMsIDE3LCAxNCwgMTMzLCAzLCAyMTUsIDEwLCAxMDYsIDIwOSwgNTMsIDE3LCAxNCwgMTMzLCAzLCAyMTYsIDIzLCAKKyAgICAxMDYsIDIwOSwgNTMsIDE3LCAxNCwgMTMzLCAzLCAyNDMsIDg4LCAxMDYsIDIwOSwgNTMsIDE3LCAxNCwgMTMzLCAzLCAyMjQsIAorICAgIDE5NSwgMTA2LCAyMDksIDUzLCAxNywgMTQsIDIyMCwgNzIsIDMsIDQ0LCAyNTEsIDIxMiwgMjA2LCAyMzIsIDI0NSwgNzksIAorICAgIDE0LCAyMjAsIDcyLCAzLCA3OSwgMjQ3LCAxNjIsIDE0LCAyMjAsIDcyLCAzLCAyNDUsIDE2MywgMjQ3LCAxNjIsIDE0LCAKKyAgICAyMjAsIDcyLCAzLCAyNDUsIDE2MywgMjExLCA0NywgMTQsIDIyMCwgNzIsIDMsIDI0NSwgMTYzLCAyMTksIDIxMCwgMTIsIAorICAgIDEzLCAyNTQsIDI1MCwgMTIsIDEzLCAyNTQsIDI0OSwgMTIsIDEzLCAyNTQsIDI0OCwgMTIsIDEzLCAyNTQsIDI0NywgMTIsIAorICAgIDEzLCAyNTQsIDI0NiwgMTIsIDEzLCAyNTQsIDI0NSwgMTIsIDEzLCAyNTQsIDI0NCwgMTIsIDEzLCAyNTQsIDI0MywgMTIsIAorICAgIDEzLCAyNTQsIDI0MiwgMTIsIDEzLCAyNTQsIDI0MSwgMTIsIDEzLCAyNTQsIDI0MCwgMTIsIDEzLCAyNTQsIDIzOSwgMTIsIAorICAgIDEzLCAyNTQsIDIzOCwgMTIsIDEzLCAyNTQsIDIzNywgMTIsIDEzLCAyNTQsIDIzNiwgMTIsIDEzLCAyNTQsIDIzNSwgMTIsIAorICAgIDEzLCAyNTQsIDIzNCwgMTIsIDEzLCAyNTQsIDIzMywgMTIsIDEzLCAyNTQsIDIzMiwgMTIsIDEzLCAyNTQsIDIzMSwgMTIsIAorICAgIDEzLCAyNTQsIDIzMCwgMTIsIDEzLCAyNTQsIDIyOSwgMTIsIDEzLCAyNTQsIDIyOCwgMTIsIDEzLCAyNTQsIDIyNywgMTIsIAorICAgIDEzLCAyNTQsIDIyNiwgMTIsIDEzLCAyNTQsIDIyNSwgMTIsIDEzLCAyNTQsIDIyNCwgMTIsIDEzLCAyNTQsIDIyMywgMTIsIAorICAgIDEzLCAyNTQsIDIyMiwgMTIsIDEzLCAyNTQsIDIyMSwgMTIsIDEzLCAyNTQsIDIyMCwgMTIsIDEzLCAyNTQsIDIxOSwgMTIsIAorICAgIDEzLCAyNTQsIDIxOCwgMTIsIDEzLCAyNTQsIDIxNiwgMTIsIDEzLCAyNTQsIDIxNSwgMTIsIDEzLCAyNTQsIDIxNCwgMTIsIAorICAgIDEzLCAyNTQsIDIxMywgMTIsIDEzLCAyNTQsIDIxMiwgMTIsIDEzLCAyNTQsIDIxMSwgMTIsIDEzLCAyNTQsIDIxMCwgMTIsIAorICAgIDEzLCAyNTQsIDIwOSwgMTIsIDEzLCAyNTQsIDIwOCwgMTIsIDEzLCAyNTQsIDIwNywgMTIsIDEzLCAyNTQsIDIwNiwgMTIsIAorICAgIDEzLCAyNTQsIDIwNSwgMTIsIDEzLCAyNTQsIDIwNCwgMTIsIDEzLCAyNTQsIDIwMywgMTIsIDEzLCAyNTQsIDIwMiwgMTIsIAorICAgIDEzLCAyNTQsIDIwMSwgMTIsIDEzLCAyNTQsIDIwMCwgMTIsIDEzLCAyNTQsIDE5OSwgMTIsIDEzLCAyNTQsIDE5OCwgMTIsIAorICAgIDEzLCAyNTQsIDE5NywgMTIsIDEzLCAyNTQsIDE5NiwgMTIsIDEzLCAyNTQsIDE5NSwgMTIsIDEzLCAyNTQsIDE5NCwgMTIsIAorICAgIDEzLCAyNTQsIDE5MywgMTIsIDEzLCAyNTQsIDE5MiwgMTIsIDEzLCAyNTQsIDE5MSwgMTIsIDEzLCAyNTQsIDE5MCwgMTIsIAorICAgIDEzLCAyNTQsIDE4OSwgMTIsIDEzLCAyNTQsIDE4OCwgMTIsIDEzLCAyNTQsIDE4NywgMTIsIDEzLCAyNTQsIDE4NiwgMTIsIAorICAgIDEzLCAyNTQsIDE4NSwgMTIsIDEzLCAyNTQsIDE4NCwgMTIsIDEzLCAyNTQsIDE4MywgMTIsIDEzLCAyNTQsIDE4MiwgMTIsIAorICAgIDEzLCAyNTQsIDE4MSwgMTIsIDEzLCAyNTQsIDE4MCwgMTIsIDEzLCAyNTQsIDE3OSwgMTIsIDEzLCAyNTQsIDE3OCwgMTIsIAorICAgIDEzLCAyNTQsIDE3NywgMTIsIDEzLCAyNTQsIDE3NiwgMTIsIDEzLCAyNTQsIDE3NSwgMTIsIDEzLCAyNTQsIDE3NCwgMTIsIAorICAgIDEzLCAyNTQsIDE3MywgMTIsIDEzLCAyNTQsIDE3MiwgMTIsIDEzLCAyNTQsIDE3MSwgMTIsIDEzLCAyNTQsIDE3MCwgMTIsIAorICAgIDEzLCAyNTEsIDE0OCwgMTIsIDEzLCAyNTEsIDE0NiwgMTIsIDEzLCAyNTEsIDE0NCwgMTIsIDEzLCAyNTEsIDE0MiwgMTIsIAorICAgIDEzLCAyNTEsIDE0MCwgMTIsIDEzLCAyNTEsIDEzOSwgMTIsIDEzLCAyNTEsIDEzNywgMTIsIDEzLCAyNTEsIDEzNSwgMTIsIAorICAgIDEzLCAyNTEsIDEzMywgMTIsIDEzLCAyNTEsIDEzMSwgMTIsIDEzLCAyNDksIDMwLCAxMiwgMTMsIDI0OSwgMjksIDEyLCAxMywgCisgICAgMjQ5LCAyOCwgMTIsIDEzLCAyNDksIDI3LCAxMiwgMTMsIDI0OSwgMjYsIDEyLCAxMywgMjQ5LCAyNSwgMTIsIDEzLCAyNDksIAorICAgIDI0LCAxMiwgMTMsIDI0OSwgMjMsIDEyLCAxMywgMjQ5LCAyMiwgMTIsIDEzLCAyNDksIDIxLCAxMiwgMTMsIDI0OSwgMjAsIAorICAgIDEyLCAxMywgMjQ5LCAxOSwgMTIsIDEzLCAyNDksIDE4LCAxMiwgMTMsIDI0OSwgMTcsIDEyLCAxMywgMjQ5LCAxNiwgMTIsIAorICAgIDEzLCAyNDksIDE1LCAxMiwgMTMsIDI0OSwgMTQsIDEyLCAxMywgMjQ5LCAxMywgMTIsIDEzLCAyNDksIDEyLCAxMiwgMTMsIAorICAgIDI0OSwgMTEsIDEyLCAxMywgMjQ5LCAxMCwgMTIsIDEzLCAyNDksIDksIDEyLCAxMywgMjQ5LCA4LCAxMiwgMTMsIDI0OSwgNywgCisgICAgMTIsIDEzLCAyNDksIDYsIDEyLCAxMywgMjQ5LCA1LCAxMiwgMTMsIDI0OSwgNCwgMTIsIDEzLCAyNDksIDMsIDEyLCAxMywgCisgICAgMjQ2LCAyMzksIDEyLCAxMywgMjQ2LCAyMzgsIDEyLCAxMywgMjQ2LCAyMzcsIDEyLCAxMywgMjQ2LCAyMzYsIDEyLCAxMywgCisgICAgMjQ2LCAyMzUsIDEyLCAxMywgMjQ2LCAyMzQsIDEyLCAxMywgMjQ2LCAyMzMsIDEyLCAxMywgMjQ2LCAyMzIsIDEyLCAxMywgCisgICAgMjQ2LCAyMzEsIDEyLCAxMywgMjQ2LCAyMzAsIDEyLCAxMywgMjQ2LCAyMjksIDEyLCAxMywgMjQ2LCAyMjgsIDEyLCAxMywgCisgICAgMjQ2LCAyMjcsIDEyLCAxMywgMjQ2LCAyMjYsIDEyLCAxMywgMjQ2LCAyMjUsIDEyLCAxMywgMjQ2LCAyMjQsIDEyLCAxMywgCisgICAgMjQ2LCAyMjMsIDEyLCAxMywgMjQ2LCAyMjIsIDEyLCAxMywgMjQ2LCAyMjEsIDEyLCAxMywgMjQ2LCAyMjAsIDEyLCAxMywgCisgICAgMjQ2LCAyMTksIDEyLCAxMywgMjQ2LCAyMTgsIDEyLCAxMywgMjQ2LCAyMTcsIDEyLCAxMywgMjQ2LCAyMTYsIDEyLCAxMywgCisgICAgMjQ2LCAyMTUsIDEyLCAxMywgMjQ2LCAyMTQsIDEyLCAxMywgMjQ2LCAyMTMsIDEyLCAxMywgMjQ2LCAyMTIsIDEyLCAxMywgCisgICAgMjQ2LCAyMTEsIDEyLCAxMywgMjQ2LCAyMTAsIDEyLCAxMywgMjQ2LCAyMDksIDEyLCAxMywgMjQ2LCAyMDgsIDEyLCAxMywgCisgICAgMjQ2LCAyMDcsIDEyLCAxMywgMjQ2LCAyMDYsIDEyLCAxMywgMjQ2LCAyMDUsIDEyLCAxMywgMjQ2LCAyMDQsIDEyLCAxMywgCisgICAgMjQ2LCAyMDMsIDEyLCAxMywgMjQ2LCAyMDIsIDEyLCAxMywgMjQ2LCAyMDEsIDEyLCAxMywgMjQ2LCAyMDAsIDEyLCAxMywgCisgICAgMjQ2LCAxOTksIDEyLCAxMywgMjQ2LCAxOTgsIDEyLCAxMywgMjQ2LCAxOTcsIDEyLCAxMywgMjQ2LCAxOTYsIDEyLCAxMywgCisgICAgMjQ2LCAxOTUsIDEyLCAxMywgMjQ2LCAxOTQsIDEyLCAxMywgMjQ2LCAxOTMsIDEyLCAxMywgMjQ2LCAxOTIsIDEyLCAxMywgCisgICAgMjQ2LCAxOTEsIDEyLCAxMywgMjQ2LCAxOTAsIDEyLCAxMywgMjQ2LCAxODksIDEyLCAxMywgMjQ2LCAxODgsIDEyLCAxMywgCisgICAgMjQ2LCAxODcsIDEyLCAxMywgMjQ2LCAxODYsIDEyLCAxMywgMjQ2LCAxODUsIDEyLCAxMywgMjQ2LCAxODQsIDEyLCAxMywgCisgICAgMjQ2LCAxODMsIDEyLCAxMywgMjQ2LCAxODIsIDEyLCAxMywgMjQ2LCAxODEsIDEyLCAxMywgMjQ2LCAxODAsIDEyLCAxMywgCisgICAgMjQ2LCAxNzksIDEyLCAxMywgMjQ2LCAxNzgsIDEyLCAxMywgMjQ2LCAxNzcsIDEyLCAxMywgMjQ2LCAxNzYsIDEyLCAxMywgCisgICAgMjQ2LCAxNzUsIDEyLCAxMywgMjQ2LCAxNzQsIDEyLCAxMywgMjQ2LCAxNzMsIDEyLCAxMywgMjQ2LCAxNzIsIDEyLCAxMywgCisgICAgMjQ2LCAxNzEsIDEyLCAxMywgMjQ2LCAxNzAsIDEyLCAxMywgMjQ2LCAxNjksIDEyLCAxMywgMjQ2LCAxNjgsIDEyLCAxMywgCisgICAgMjQ2LCAxNjcsIDEyLCAxMywgMjQ2LCAxNjYsIDEyLCAxMywgMjQ2LCAxNjUsIDEyLCAxMywgMjQ2LCAxNjQsIDEyLCAxMywgCisgICAgMjQ2LCAxNjMsIDEyLCAxMywgMjQ2LCAxNjIsIDEyLCAxMywgMjQ2LCAxNjEsIDEyLCAxMywgMjQ2LCAxNjAsIDEyLCAxMywgCisgICAgMjQ2LCAxNTksIDEyLCAxMywgMjQ2LCAxNTgsIDEyLCAxMywgMjQ2LCAxNTcsIDEyLCAxMywgMjQ2LCAxNTYsIDEyLCAxMywgCisgICAgMjQ2LCAxNTUsIDEyLCAxMywgMjQ2LCAxNTQsIDEyLCAxMywgMjQ2LCAxNTMsIDEyLCAxMywgMjQ2LCAxNTIsIDEyLCAxMywgCisgICAgMjQ2LCAxNTEsIDEyLCAxMywgMjQ2LCAxNTAsIDEyLCAxMywgMjQ2LCAxNDksIDEyLCAxMywgMjQ2LCAxNDgsIDEyLCAxMywgCisgICAgMjQzLCAxNzYsIDEyLCAxMywgMjQzLCAxNzUsIDEyLCAxMywgMjQzLCAxNzQsIDEyLCAxMywgMjQzLCAxNzMsIDEyLCAxMywgCisgICAgMjQzLCAxNzIsIDEyLCAxMywgMjQzLCAxNzEsIDEyLCAxMywgMjQzLCAxNzAsIDEyLCAxMywgMjQzLCAxNjksIDEyLCAxMywgCisgICAgMjQzLCAxNjgsIDEyLCAxMywgMjQzLCAxNjcsIDEyLCAxMywgMjQzLCAxNjYsIDEyLCAxMywgMjQzLCAxNjUsIDEyLCAxMywgCisgICAgMjQzLCAxNjQsIDEyLCAxMywgMjQzLCAxNjMsIDEyLCAxMywgMjQzLCAxNjIsIDEyLCAxMywgMjQzLCAxNjEsIDEyLCAxMywgCisgICAgMjQzLCAxNjAsIDEyLCAxMywgMjQzLCAxNTksIDEyLCAxMywgMjQzLCAxNTgsIDEyLCAxMywgMjQzLCAxNTcsIDEyLCAxMywgCisgICAgMjQzLCAxNTYsIDEyLCAxMywgMjQzLCAxNTUsIDEyLCAxMywgMjQzLCAxNTQsIDEyLCAxMywgMjQzLCAxNTMsIDEyLCAxMywgCisgICAgMjQzLCAxNTIsIDEyLCAxMywgMjQzLCAxNTEsIDEyLCAxMywgMjQzLCAxNTAsIDEyLCAxMywgMjQzLCAxNDksIDEyLCAxMywgCisgICAgMjQzLCAxNDgsIDEyLCAxMywgMjQzLCAxNDcsIDEyLCAxMywgMjQzLCAxNDYsIDEyLCAxMywgMjQzLCAxNDUsIDEyLCAxMywgCisgICAgMjQzLCAxNDQsIDEyLCAxMywgMjQzLCAxNDMsIDEyLCAxMywgMjQzLCAxNDIsIDEyLCAxMywgMjQzLCAxNDEsIDEyLCAxMywgCisgICAgMjQzLCAxNDAsIDEyLCAxMywgMjQzLCAxMzksIDEyLCAxMywgMjQzLCAxMzgsIDEyLCAxMywgMjQzLCAxMzcsIDEyLCAxMywgCisgICAgMjQzLCAxMzYsIDEyLCAxMywgMjQzLCAxMzUsIDEyLCAxMywgMjQzLCAxMzQsIDEyLCAxMywgMjQzLCAxMzMsIDEyLCAxMywgCisgICAgMjQyLCAxMzgsIDEyLCAxMywgMjQyLCAxMzcsIDEyLCAxMywgMjQyLCAxMzYsIDEyLCAxMywgMjQyLCAxMzUsIDEyLCAxMywgCisgICAgMjQyLCAxMzQsIDEyLCAxMywgMjQyLCAxMzMsIDEyLCAxMywgMjQyLCAxMzIsIDEyLCAxMywgMjQyLCAxMzEsIDEyLCAxMywgCisgICAgMjQyLCAxMzAsIDEyLCAxMywgMjQyLCAxMjksIDEyLCAxMywgMjQyLCAxMjgsIDEyLCAxMywgMjQyLCAxMjcsIDEyLCAxMywgCisgICAgMjQyLCAxMjYsIDEyLCAxMywgMjQyLCAxMjUsIDEyLCAxMywgMjQyLCAxMjQsIDEyLCAxMywgMjQyLCAxMjMsIDEyLCAxMywgCisgICAgMjQyLCAxMjIsIDEyLCAxMywgMjQyLCAxMjEsIDEyLCAxMywgMjQyLCAxMjAsIDEyLCAxMywgMjQyLCAxMTksIDEyLCAxMywgCisgICAgMjQyLCAxMTgsIDEyLCAxMywgMjQyLCAxMTcsIDEyLCAxMywgMjQyLCAxMTYsIDEyLCAxMywgMjQyLCAxMTUsIDEyLCAxMywgCisgICAgMjQyLCAxMTQsIDEyLCAxMywgMjQyLCAxMTMsIDEyLCAxMywgMjQyLCAxMTIsIDEyLCAxMywgMjQyLCAxMTEsIDEyLCAxMywgCisgICAgMjQyLCAxMTAsIDEyLCAxMywgMjQyLCAxMDksIDEyLCAxMywgMjQyLCAxMDgsIDEyLCAxMywgMjQyLCAxMDcsIDEyLCAxMywgCisgICAgMjQyLCAxMDYsIDEyLCAxMywgMjQyLCAxMDUsIDEyLCAxMywgMjQyLCAxMDQsIDEyLCAxMywgMjQyLCAxMDMsIDEyLCAxMywgCisgICAgMjQyLCAxMDIsIDEyLCAxMywgMjQyLCAxMDEsIDEyLCAxMywgMjQyLCAxMDAsIDEyLCAxMywgMjQyLCA5OSwgMTIsIDEzLCAKKyAgICAyNDIsIDk4LCAxMiwgMTMsIDI0MiwgOTcsIDEyLCAxMywgMjQyLCA5NiwgMTIsIDEzLCAyNDIsIDk1LCAxMiwgMTMsIDI0MiwgCisgICAgOTQsIDEyLCAxMywgMjQyLCA5MywgMTIsIDEzLCAyNDIsIDkyLCAxMiwgMTMsIDI0MiwgOTEsIDEyLCAxMywgMjQyLCA5MCwgCisgICAgMTIsIDEzLCAyNDIsIDg5LCAxMiwgMTMsIDI0MiwgODgsIDEyLCAxMywgMjQyLCA4NywgMTIsIDEzLCAyNDIsIDg2LCAxMiwgCisgICAgMTMsIDI0MiwgODUsIDEyLCAxMywgMjQyLCA4NCwgMTIsIDEzLCAyNDIsIDgzLCAxMiwgMTMsIDI0MiwgODIsIDEyLCAxMywgCisgICAgMjQyLCA4MSwgMTIsIDEzLCAyNDIsIDgwLCAxMiwgMTMsIDI0MiwgNzksIDEyLCAxMywgMjQyLCA3OCwgMTIsIDEzLCAyNDIsIAorICAgIDc3LCAxMiwgMTMsIDI0MiwgNzYsIDEyLCAxMywgMjQyLCA3NSwgMTIsIDEzLCAyNDIsIDc0LCAxMiwgMTMsIDI0MSwgNTQsIAorICAgIDEyLCAxMywgMjQxLCA1MywgMTIsIDEzLCAyNDEsIDUyLCAxMiwgMTMsIDI0MSwgNTEsIDEyLCAxMywgMjQxLCA1MCwgMTIsIAorICAgIDEzLCAyNDEsIDQ5LCAxMiwgMTMsIDI0MSwgNDgsIDEyLCAxMywgMjQxLCA0NywgMTIsIDEzLCAyNDEsIDQ2LCAxMiwgMTMsIAorICAgIDI0MSwgNDUsIDEyLCAxMywgMjQxLCA0NCwgMTIsIDEzLCAyNDEsIDQzLCAxMiwgMTMsIDI0MSwgNDIsIDEyLCAxMywgMjQxLCAKKyAgICA0MSwgMTIsIDEzLCAyNDEsIDQwLCAxMiwgMTMsIDI0MSwgMzksIDEyLCAxMywgMjQxLCAzOCwgMTIsIDEzLCAyNDEsIDM3LCAKKyAgICAxMiwgMTMsIDI0MSwgMzYsIDEyLCAxMywgMjQxLCAzNSwgMTIsIDEzLCAyNDEsIDM0LCAxMiwgMTMsIDI0MSwgMzMsIDEyLCAKKyAgICAxMywgMjQxLCAzMiwgMTIsIDEzLCAyNDEsIDMxLCAxMiwgMTMsIDI0MSwgMzAsIDEyLCAxMywgMjQxLCAyOSwgMTIsIDEzLCAKKyAgICAyNDEsIDI4LCAxMiwgMTMsIDI0MSwgMjcsIDEyLCAxMywgMjQxLCAyNiwgMTIsIDEzLCAyNDEsIDI1LCAxMiwgMTMsIDI0MSwgCisgICAgMjQsIDEyLCAxMywgMjQxLCAyMywgMTIsIDEzLCAyNDEsIDIyLCAxMiwgMTMsIDI0MSwgMjEsIDEyLCAxMywgMjQxLCAyMCwgCisgICAgMTIsIDEzLCAyNDEsIDE5LCAxMiwgMTMsIDI0MSwgMTgsIDEyLCAxMywgMjQxLCAxNywgMTIsIDEzLCAyNDEsIDE2LCAxMiwgCisgICAgMTMsIDI0MSwgMTUsIDEyLCAxMywgMjQxLCAxNCwgMTIsIDEzLCAyNDEsIDEzLCAxMiwgMTMsIDI0MSwgMTIsIDEyLCAxMywgCisgICAgMjQxLCAxMSwgMTIsIDEzLCAyNDEsIDEwLCAxMiwgMTMsIDI0MSwgOSwgMTIsIDEzLCAyNDEsIDgsIDEyLCAxMywgMjQxLCA3LCAKKyAgICAxMiwgMTMsIDI0MSwgNiwgMTIsIDEzLCAyNDEsIDUsIDEyLCAxMywgMjQxLCA0LCAxMiwgMTMsIDI0MSwgMywgMTIsIDEzLCAKKyAgICAyNDEsIDIsIDEyLCAxMywgMjQxLCAxLCAxMiwgMTMsIDI0MSwgMCwgMTIsIDEzLCAyNDAsIDI1NSwgMTIsIDEzLCAyNDAsIAorICAgIDI1NCwgMTIsIDEzLCAyNDAsIDI1MywgMTIsIDEzLCAyNDAsIDI1MiwgMTIsIDEzLCAyNDAsIDI1MSwgMTIsIDEzLCAyNDAsIAorICAgIDI1MCwgMTIsIDEzLCAyNDAsIDI0OSwgMTIsIDEzLCAyNDAsIDI0OCwgMTIsIDEzLCAyNDAsIDI0NywgMTIsIDEzLCAyMzksIAorICAgIDE1MywgMTIsIDEzLCAyMzksIDE1MiwgMTIsIDEzLCAyMzksIDE1MSwgMTIsIDEzLCAyMzksIDE1MCwgMTIsIDEzLCAyMzksIAorICAgIDE0OSwgMTIsIDEzLCAyMzksIDE0OCwgMTIsIDEzLCAyMzksIDE0NywgMTIsIDEzLCAyMzksIDE0NiwgMTIsIDEzLCAyMzksIAorICAgIDE0NSwgMTIsIDEzLCAyMzcsIDIwOSwgMTIsIDEzLCAyMzcsIDIwOCwgMTIsIDEzLCAyMzcsIDIwNywgMTIsIDEzLCAyMzcsIAorICAgIDIwNiwgMTIsIDEzLCAyMzcsIDIwNSwgMTIsIDEzLCAyMzcsIDIwNCwgMTIsIDEzLCAyMzcsIDIwMywgMTIsIDEzLCAyMzcsIAorICAgIDIwMiwgMTIsIDEzLCAyMzcsIDIwMSwgMTIsIDEzLCAyMzcsIDIwMCwgMTIsIDEzLCAyMzcsIDE5OSwgMTIsIDEzLCAyMzcsIAorICAgIDE5OCwgMTIsIDEzLCAyMzcsIDE5NywgMTIsIDEzLCAyMzcsIDE5NiwgMTIsIDEzLCAyMzcsIDE5NSwgMTIsIDEzLCAyMzcsIAorICAgIDE5NCwgMTIsIDEzLCAyMzcsIDE5MywgMTIsIDEzLCAyMzcsIDE5MiwgMTIsIDEzLCAyMzcsIDE5MSwgMTIsIDEzLCAyMzIsIAorICAgIDc1LCAxMiwgMTMsIDIzMiwgNzQsIDEyLCAxMywgMjMyLCA3MywgMTIsIDEzLCAyMzIsIDcyLCAxMiwgMTMsIDIzMiwgNzEsIAorICAgIDEyLCAxMywgMjMyLCA3MCwgMTIsIDEzLCAyMzIsIDY5LCAxMiwgMTMsIDIzMiwgNjgsIDEyLCAxMywgMjMwLCAxNTYsIDEyLCAKKyAgICAxMywgMjMwLCAxNTUsIDEyLCAxMywgMjMwLCAxNTQsIDEyLCAxMywgMjMwLCAxNTMsIDEyLCAxMywgMjMwLCAxNTIsIDEyLCAKKyAgICAxMywgMjMwLCAxNTEsIDEyLCAxMywgMjMwLCAxNTAsIDEyLCAxMywgMjMwLCAxNDksIDEyLCAxMywgMjMwLCAxNDgsIDEyLCAKKyAgICAxMywgMjMwLCAxNDcsIDEyLCAxMywgMjI5LCAyNiwgMTIsIDEzLCAyMjksIDI1LCAxMiwgMTMsIDIyOSwgMjQsIDEyLCAxMywgCisgICAgMjI5LCAyMiwgMTIsIDEzLCAyMjksIDIwLCAxMiwgMTMsIDIyOSwgMTksIDEyLCAxMywgMjI5LCAxNywgMTIsIDEzLCAyMjksIAorICAgIDE1LCAxMiwgMTMsIDIyOSwgMTMsIDEyLCAxMywgMjI5LCAxMSwgMTIsIDEzLCAyMjksIDksIDEyLCAxMywgMjI5LCA3LCAxMiwgCisgICAgMTMsIDIyOSwgNSwgMTIsIDEzLCAyMjksIDQsIDEyLCAxMywgMjI5LCAyLCAxMiwgMTMsIDIyOSwgMCwgMTIsIDEzLCAyMjgsIAorICAgIDI1NSwgMTIsIDEzLCAyMjgsIDI1NCwgMTIsIDEzLCAyMjgsIDI1MywgMTIsIDEzLCAyMjgsIDI1MiwgMTIsIDEzLCAyMjgsIAorICAgIDI1MSwgMTIsIDEzLCAyMjgsIDI1MCwgMTIsIDEzLCAyMjgsIDI0OSwgMTIsIDEzLCAyMjgsIDI0OCwgMTIsIDEzLCAyMjgsIAorICAgIDI0NiwgMTIsIDEzLCAyMjgsIDI0NCwgMTIsIDEzLCAyMjgsIDI0MiwgMTIsIDEzLCAyMjgsIDI0MSwgMTIsIDEzLCAyMjgsIAorICAgIDIzOSwgMTIsIDEzLCAyMjgsIDIzOCwgMTIsIDEzLCAyMjgsIDIzNiwgMTIsIDEzLCAyMjgsIDIzNSwgMTIsIDEzLCAyMjgsIAorICAgIDIzMywgMTIsIDEzLCAyMjgsIDIzMSwgMTIsIDEzLCAyMjgsIDIyOSwgMTIsIDEzLCAyMjgsIDIyNywgMTIsIDEzLCAyMjgsIAorICAgIDIyNSwgMTIsIDEzLCAyMjgsIDIyNCwgMTIsIDEzLCAyMjgsIDIyMiwgMTIsIDEzLCAyMjgsIDIyMCwgMTIsIDEzLCAyMjgsIAorICAgIDIxOSwgMTIsIDEzLCAyMjgsIDIxNywgMTIsIDEzLCAyMjgsIDIxNSwgMTIsIDEzLCAyMjgsIDIxMywgMTIsIDEzLCAyMjgsIAorICAgIDIxMSwgMTIsIDEzLCAyMjgsIDIxMCwgMTIsIDEzLCAyMjgsIDIwOCwgMTIsIDEzLCAyMjgsIDIwNiwgMTIsIDEzLCAyMjgsIAorICAgIDIwNCwgMTIsIDEzLCAyMjgsIDIwMywgMTIsIDEzLCAyMjgsIDIwMSwgMTIsIDEzLCAyMjgsIDE5OSwgMTIsIDEzLCAyMjgsIAorICAgIDE5OCwgMTIsIDEzLCAyMjgsIDE5NywgMTIsIDEzLCAyMjgsIDE5NSwgMTIsIDEzLCAyMjgsIDE5MywgMTIsIDEzLCAyMjgsIAorICAgIDE5MSwgMTIsIDEzLCAyMjgsIDE4OSwgMTIsIDEzLCAyMjgsIDE4NywgMTIsIDEzLCAyMjgsIDE4NSwgMTIsIDEzLCAyMjgsIAorICAgIDE4MywgMTIsIDEzLCAyMjgsIDE4MiwgMTIsIDEzLCAyMjgsIDE4MCwgMTIsIDEzLCAyMjgsIDE3OCwgMTIsIDEzLCAyMjgsIAorICAgIDE3NiwgMTIsIDEzLCAyMjgsIDE3NCwgMTIsIDEzLCAyMjYsIDMwLCAxMiwgMTMsIDIyNiwgMjksIDEyLCAxMywgMjI2LCAyOCwgCisgICAgMTIsIDEzLCAyMjYsIDI3LCAxMiwgMTMsIDIyNiwgMjYsIDEyLCAxMywgMjI2LCAyNSwgMTIsIDEzLCAyMjYsIDI0LCAxMiwgCisgICAgMTMsIDIyNiwgMjMsIDEyLCAxMywgMjI2LCAyMiwgMTIsIDEzLCAyMjYsIDIxLCAxMiwgMTMsIDIyNiwgMjAsIDEyLCAxMywgCisgICAgMjI2LCAxOSwgMTIsIDEzLCAyMjYsIDE4LCAxMiwgMTMsIDIyNiwgMTcsIDEyLCAxMywgMjI2LCAxNiwgMTIsIDEzLCAyMjYsIAorICAgIDE1LCAxMiwgMTMsIDIyNiwgMTQsIDEyLCAxMywgMjI2LCAxMywgMTIsIDEzLCAyMjYsIDEyLCAxMiwgMTMsIDIyNiwgMTEsIAorICAgIDEyLCAxMywgMjI2LCAxMCwgMTIsIDEzLCAyMjYsIDksIDEyLCAxMywgMjI2LCA4LCAxMiwgMTMsIDIyNiwgNywgMTIsIDEzLCAKKyAgICAyMjYsIDYsIDEyLCAxMywgMjI2LCA1LCAxMiwgMTMsIDIyNiwgNCwgMTIsIDEzLCAyMjYsIDMsIDEyLCAxMywgMjI2LCAyLCAKKyAgICAxMiwgMTMsIDIyNiwgMSwgMTIsIDEzLCAyMjYsIDAsIDEyLCAxMywgMjI1LCAyNTUsIDEyLCAxMywgMjI1LCAyNTQsIDEyLCAKKyAgICAxMywgMjI1LCAyNTMsIDEyLCAxMywgMjI1LCAyNTIsIDEyLCAxMywgMjI1LCAyNTEsIDEyLCAxMywgMjI1LCAyNTAsIDEyLCAKKyAgICAxMywgMjI1LCAyNDksIDEyLCAxMywgMjI1LCAyNDgsIDEyLCAxMywgMjI1LCAyNDcsIDEyLCAxMywgMjI1LCAyNDYsIDEyLCAKKyAgICAxMywgMjI1LCAyNDUsIDEyLCAxMywgMjI1LCAyNDQsIDEyLCAxMywgMjI1LCAyNDMsIDEyLCAxMywgMjI1LCAyNDIsIDEyLCAKKyAgICAxMywgMjI1LCAyNDEsIDEyLCAxMywgMjI1LCAyNDAsIDEyLCAxMywgMjI1LCAyMzksIDEyLCAxMywgMjI1LCAyMzgsIDEyLCAKKyAgICAxMywgMjI0LCAxMjgsIDEyLCAxMywgMjI0LCAxMjcsIDEyLCAxMywgMjI0LCAxMjYsIDEyLCAxMywgMjI0LCAxMjUsIDEyLCAKKyAgICAxMywgMjI0LCAxMjQsIDEyLCAxMywgMjI0LCAxMjMsIDEyLCAxMywgMjI0LCAxMjIsIDEyLCAxMywgMjI0LCAxMjEsIDEyLCAKKyAgICAxMywgMjI0LCAxMjAsIDEyLCAxMywgMjI0LCAxMTksIDEyLCAxMywgMjI0LCAxMTgsIDEyLCAxMywgMjI0LCAxMTcsIDEyLCAKKyAgICAxMywgMjI0LCAxMTYsIDEyLCAxMywgMjI0LCAxMTUsIDEyLCAxMywgMjI0LCAxMTQsIDEyLCAxMywgMjI0LCAxMTMsIDEyLCAKKyAgICAxMywgMjI0LCAxMTIsIDEyLCAxMywgMjI0LCAxMTEsIDEyLCAxMywgMjI0LCAxMTAsIDEyLCAxMywgMjI0LCAxMDksIDEyLCAKKyAgICAxMywgMjI0LCAxMDgsIDEyLCAxMywgMjI0LCAxMDcsIDEyLCAxMywgMjIzLCAyMTYsIDEyLCAxMywgMjIzLCAyMTUsIDEyLCAKKyAgICAxMywgMjIzLCAyMTQsIDEyLCAxMywgMjIzLCAyMTMsIDEyLCAxMywgMjIzLCAyMTIsIDEyLCAxMywgMjIzLCAyMTEsIDEyLCAKKyAgICAxMywgMjIzLCAyMTAsIDEyLCAxMywgMjIzLCAyMDksIDEyLCAxMywgMjIzLCAyMDgsIDEyLCAxMywgMjIzLCAyMDcsIDEyLCAKKyAgICAxMywgMjIzLCAyMDYsIDEyLCAxMywgMjIzLCAyMDUsIDEyLCAxMywgMjIzLCAyMDQsIDEyLCAxMywgMjIzLCAyMDMsIDEyLCAKKyAgICAxMywgMjIzLCAyMDIsIDEyLCAxMywgMjIzLCAyMDEsIDEyLCAxMywgMjIzLCAyMDAsIDEyLCAxMywgMjIzLCAxOTksIDEyLCAKKyAgICAxMywgMjIzLCAxOTgsIDEyLCAxMywgMjIzLCAxOTcsIDEyLCAxMywgMjIzLCAxOTYsIDEyLCAxMywgMjIzLCAxOTUsIDEyLCAKKyAgICAxMywgMjIzLCAxOTQsIDEyLCAxMywgMjIzLCAxOTMsIDEyLCAxMywgMjIzLCAxOTIsIDEyLCAxMywgMjIzLCAxOTEsIDEyLCAKKyAgICAxMywgMjIzLCA1MCwgMTIsIDEzLCAyMjMsIDQ5LCAxMiwgMTMsIDIyMywgNDgsIDEyLCAxMywgMjIzLCA0NywgMTIsIDEzLCAKKyAgICAyMjMsIDQ2LCAxMiwgMTMsIDIyMywgNDUsIDEyLCAxMywgMjIzLCA0NCwgMTIsIDEzLCAyMjMsIDQzLCAxMiwgMTMsIDIyMywgCisgICAgNDIsIDEyLCAxMywgMjIzLCA0MSwgMTIsIDEzLCAyMjMsIDQwLCAxMiwgMTMsIDIyMywgMzksIDEyLCAxMywgMjIzLCAzOCwgCisgICAgMTIsIDEzLCAyMjMsIDM3LCAxMiwgMTMsIDIyMywgMzYsIDEyLCAxMywgMjIzLCAzNSwgMTIsIDEzLCAyMjMsIDM0LCAxMiwgCisgICAgMTMsIDIyMywgMzMsIDEyLCAxMywgMjIzLCAzMiwgMTIsIDEzLCAyMjMsIDMxLCAxMiwgMTMsIDIyMywgMzAsIDEyLCAxMywgCisgICAgMjIzLCAyOSwgMTIsIDEzLCAyMjMsIDI4LCAxMiwgMTMsIDIyMywgMjcsIDEyLCAxMywgMjIzLCAyNiwgMTIsIDEzLCAyMjMsIAorICAgIDI1LCAxMiwgMTMsIDIyMywgMjQsIDEyLCAxMywgMjIzLCAyMywgMTIsIDEzLCAyMjMsIDIyLCAxMiwgMTMsIDIyMywgMjEsIAorICAgIDEyLCAxMywgMjIzLCAyMCwgMTIsIDEzLCAyMjMsIDE5LCAxMiwgMTMsIDIyMywgMTgsIDEyLCAxMywgMjIzLCAxNywgMTIsIAorICAgIDEzLCAyMjMsIDE2LCAxMiwgMTMsIDIyMywgMTUsIDEyLCAxMywgMjIzLCAxNCwgMTIsIDEzLCAyMjMsIDEzLCAxMiwgMTMsIAorICAgIDIyMywgMTIsIDEyLCAxMywgMjIzLCAxMSwgMTIsIDEzLCAyMjMsIDEwLCAxMiwgMTMsIDIyMywgOSwgMTIsIDEzLCAyMjMsIAorICAgIDgsIDEyLCAxMywgMjIzLCA3LCAxMiwgMTMsIDIyMywgNiwgMTIsIDEzLCAyMjMsIDUsIDEyLCAxMywgMjIzLCA0LCAxMiwgCisgICAgMTMsIDIyMywgMywgMTIsIDEzLCAyMjMsIDIsIDEyLCAxMywgMjIzLCAxLCAxMiwgMTMsIDIyMywgMCwgMTIsIDEzLCAyMjIsIAorICAgIDI1NSwgMTIsIDEzLCAyMjIsIDI1NCwgMTIsIDEzLCAyMjIsIDI1MywgMTIsIDEzLCAyMjIsIDI1MiwgMTIsIDEzLCAyMjIsIAorICAgIDI1MSwgMTIsIDEzLCAyMjIsIDI1MCwgMTIsIDEzLCAyMjIsIDI0OSwgMTIsIDEzLCAyMjIsIDI0OCwgMTIsIDEzLCAyMjIsIAorICAgIDI0NywgMTIsIDEzLCAyMjIsIDI0NiwgMTIsIDEzLCAyMjIsIDI0NSwgMTIsIDEzLCAyMjIsIDI0NCwgMTIsIDEzLCAyMjIsIAorICAgIDI0MywgMTIsIDEzLCAyMjIsIDI0MiwgMTIsIDEzLCAyMjIsIDI0MSwgMTIsIDEzLCAyMjIsIDI0MCwgMTIsIDEzLCAyMjIsIAorICAgIDIzOSwgMTIsIDEzLCAyMjIsIDIzOCwgMTIsIDEzLCAyMjIsIDIzNywgMTIsIDEzLCAyMjIsIDIzNiwgMTIsIDEzLCAyMjIsIAorICAgIDIzNSwgMTIsIDEzLCAyMjIsIDIzNCwgMTIsIDEzLCAyMjIsIDIzMywgMTIsIDEzLCAyMjIsIDIzMiwgMTIsIDEzLCAyMjIsIAorICAgIDY2LCAxMiwgMTMsIDIyMiwgNjUsIDEyLCAxMywgMjIyLCA2NCwgMTIsIDEzLCAyMjIsIDYzLCAxMiwgMTMsIDIyMiwgNjIsIAorICAgIDEyLCAxMywgMjIyLCA2MSwgMTIsIDEzLCAyMjIsIDYwLCAxMiwgMTMsIDIyMiwgNTksIDEyLCAxMywgMjIyLCA1OCwgMTIsIAorICAgIDEzLCAyMjIsIDU3LCAxMiwgMTMsIDIyMiwgNTYsIDEyLCAxMywgMjIyLCA1NSwgMTIsIDEzLCAyMjIsIDU0LCAxMiwgMTMsIAorICAgIDIyMCwgMjYsIDEyLCAxMywgMjIwLCAyNSwgMTIsIDEzLCAyMjAsIDI0LCAxMiwgMTMsIDIyMCwgMjMsIDEyLCAxMywgMjIwLCAKKyAgICAyMiwgMTIsIDEzLCAyMjAsIDIxLCAxMiwgMTMsIDIyMCwgMjAsIDEyLCAxMywgMjE5LCAxNDgsIDEyLCAxMywgMjE5LCAxNDcsIAorICAgIDEyLCAxMywgMjE5LCAxNDYsIDEyLCAxMywgMjE5LCAxNDUsIDEyLCAxMywgMjE5LCAxNDQsIDEyLCAxMywgMjE5LCAxNDMsIAorICAgIDEyLCAxMywgMjE5LCAxNDIsIDEyLCAxMywgMjE5LCAxNDEsIDEyLCAxMywgMjE5LCAxNDAsIDEyLCAxMywgMjE5LCAxMzksIAorICAgIDEyLCAxMywgMjE5LCAxMzgsIDEyLCAxMywgMjE5LCAxMzcsIDEyLCAxMywgMjE5LCAxMzYsIDEyLCAxMywgMjE5LCAxMzUsIAorICAgIDEyLCAxMywgMjE5LCAxMzQsIDEyLCAxMywgMjE5LCAxMzMsIDEyLCAxMywgMjE5LCAxMzIsIDEyLCAxMywgMjE5LCAxMzEsIAorICAgIDEyLCAxMywgMjE5LCAxMzAsIDEyLCAxMywgMjE5LCAxMjksIDEyLCAxMywgMjE5LCAxMjgsIDEyLCAxMywgMjE5LCAxMjcsIAorICAgIDEyLCAxMywgMjE5LCAxMjYsIDEyLCAxMywgMjE5LCAxMjUsIDEyLCAxMywgMjE5LCAxMjQsIDEyLCAxMywgMjE5LCAxMjMsIAorICAgIDEyLCAxMywgMjE5LCAxMjIsIDEyLCAxMywgMjE5LCAxMjEsIDEyLCAxMywgMjE5LCAxMjAsIDEyLCAxMywgMjE5LCAxMTksIAorICAgIDEyLCAxMywgMjE5LCAxMTgsIDEyLCAxMywgMjE5LCAxMTcsIDEyLCAxMywgMjE5LCAxMTYsIDEyLCAxMywgMjE5LCAxMTUsIAorICAgIDEyLCAxMywgMjE3LCAyNTQsIDEyLCAxMywgMjE3LCAyNTMsIDEyLCAxMywgMjE3LCAyNTIsIDEyLCAxMywgMjE3LCAyNTEsIAorICAgIDEyLCAxMywgMjE3LCAyNTAsIDEyLCAxMywgMjE3LCAyNDksIDEyLCAxMywgMjE3LCAyNDgsIDEyLCAxMywgMjE3LCAyNDcsIAorICAgIDEyLCAxMywgMjE3LCAyNDYsIDEyLCAxMywgMjE3LCAyNDUsIDEyLCAxMywgMjE3LCAyNDQsIDEyLCAxMywgMjE3LCAyNDMsIAorICAgIDEyLCAxMywgMjE3LCAyNDIsIDEyLCAxMywgMjE3LCAyNDEsIDEyLCAxMywgMjE3LCAyNDAsIDEyLCAxMywgMjE3LCAyMzksIAorICAgIDEyLCAxMywgMjE3LCAyMzgsIDEyLCAxMywgMjE3LCAyMzcsIDEyLCAxMywgMjE3LCAyMzYsIDEyLCAxMywgMjE3LCAyMzUsIAorICAgIDEyLCAxMywgMjE3LCAyMzQsIDEyLCAxMywgMjE3LCAyMzMsIDEyLCAxMywgMjE3LCAyMzIsIDEyLCAxMywgMjE3LCAyMzEsIAorICAgIDEyLCAxMywgMjE3LCAyMzAsIDEyLCAxMywgMjE3LCAyMjksIDEyLCAxMywgMjE3LCAyMjgsIDEyLCAxMywgMjE3LCAyMjcsIAorICAgIDEyLCAxMywgMjE3LCAyMjYsIDEyLCAxMywgMjE3LCAyMjUsIDEyLCAxMywgMjE3LCAyMjQsIDEyLCAxMywgMjE3LCAyMjMsIAorICAgIDEyLCAxMywgMjE3LCAyMjIsIDEyLCAxMywgMjE3LCAyMjEsIDEyLCAxMywgMjE3LCAyMjAsIDEyLCAxMywgMjE3LCAyMTksIAorICAgIDEyLCAxMywgMjE3LCAyMTgsIDEyLCAxMywgMjE3LCAyMTcsIDEyLCAxMywgMjE3LCAyMTYsIDEyLCAxMywgMjE3LCAyMTUsIAorICAgIDEyLCAxMywgMjE3LCAyMTQsIDEyLCAxMywgMjE3LCAyMTMsIDEyLCAxMywgMjE3LCAyMTIsIDEyLCAxMywgMjE3LCAyMTEsIAorICAgIDEyLCAxMywgMjE3LCAyMTAsIDEyLCAxMywgMjE3LCAyMDksIDEyLCAxMywgMjE3LCAyMDgsIDEyLCAxMywgMjE3LCAyMDcsIAorICAgIDEyLCAxMywgMjE3LCAyMDYsIDEyLCAxMywgMjE3LCAyMDUsIDEyLCAxMywgMjE3LCAyMDQsIDEyLCAxMywgMjE3LCAyMDMsIAorICAgIDEyLCAxMywgMjE3LCAyMDIsIDEyLCAxMywgMjE3LCAyMDEsIDEyLCAxMywgMjEzLCA4LCAxMiwgMTMsIDIxMywgNywgMTIsIAorICAgIDEzLCAyMTMsIDYsIDEyLCAxMywgMjEzLCA1LCAxMiwgMTMsIDIxMywgNCwgMTIsIDEzLCAyMTMsIDMsIDEyLCAxMywgMjEzLCAKKyAgICAyLCAxMiwgMTMsIDIxMywgMSwgMTIsIDEzLCAyMTMsIDAsIDEyLCAxMywgMjEyLCAyNTUsIDEyLCAxMywgMjEyLCAyNTQsIAorICAgIDEyLCAxMywgMjEyLCAyNTMsIDEyLCAxMywgMjEyLCAyNTIsIDEyLCAxMywgMjEyLCAyNTEsIDEyLCAxMywgMjEyLCAyNTAsIAorICAgIDEyLCAxMywgMjEyLCAyNDksIDEyLCAxMywgMjEyLCAyNDgsIDEyLCAxMywgMjEyLCAyNDcsIDEyLCAxMywgMjEyLCAyNDYsIAorICAgIDEyLCAxMywgMjEyLCAyNDUsIDEyLCAxMywgMjEyLCAyNDQsIDEyLCAxMywgMjEyLCAyNDMsIDEyLCAxMywgMjEyLCAyNDIsIAorICAgIDEyLCAxMywgMjEyLCAyNDEsIDEyLCAxMywgMjEyLCAyNDAsIDEyLCAxMywgMjEyLCAyMzksIDEyLCAxMywgMjEyLCAyMzgsIAorICAgIDEyLCAxMywgMjEyLCAyMzcsIDEyLCAxMywgMjEyLCAyMzYsIDEyLCAxMywgMjEyLCAyMzUsIDEyLCAxMywgMjEyLCAyMzQsIAorICAgIDEyLCAxMywgMjEyLCAyMzMsIDEyLCAxMywgMjEyLCAyMzIsIDEyLCAxMywgMjEyLCAyMzEsIDEyLCAxMywgMjEyLCAyMzAsIAorICAgIDEyLCAxMywgMjEyLCAyMjksIDEyLCAxMywgMjEyLCAyMjgsIDEyLCAxMywgMjEyLCAyMjcsIDEyLCAxMywgMjEyLCAyMjYsIAorICAgIDEyLCAxMywgMjEyLCAyMjUsIDEyLCAxMywgMjEyLCAyMjQsIDEyLCAxMywgMjEyLCAyMjMsIDEyLCAxMywgMjEyLCAyMjIsIAorICAgIDEyLCAxMywgMjEyLCAyMjEsIDEyLCAxMywgMjEwLCA2NywgMTIsIDEzLCAyMTAsIDY2LCAxMiwgMTMsIDIxMCwgNjUsIDEyLCAKKyAgICAxMywgMjEwLCA2NCwgMTIsIDEzLCAyMTAsIDYzLCAxMiwgMTMsIDIxMCwgNjIsIDEyLCAxMywgMjEwLCA2MSwgMTIsIDEzLCAKKyAgICAyMTAsIDYwLCAxMiwgMTMsIDIxMCwgNTksIDEyLCAxMywgMjEwLCA1OCwgMTIsIDEzLCAyMTAsIDU3LCAxMiwgMTMsIDIxMCwgCisgICAgNTYsIDEyLCAxMywgMjEwLCA1NSwgMTIsIDEzLCAyMTAsIDU0LCAxMiwgMTMsIDIxMCwgNTMsIDEyLCAxMywgMjEwLCA1MiwgCisgICAgMTIsIDEzLCAyMTAsIDUxLCAxMiwgMTMsIDIxMCwgNTAsIDEyLCAxMywgMjEwLCA0OSwgMTIsIDEzLCAyMTAsIDQ4LCAxMiwgCisgICAgMTMsIDIxMCwgNDcsIDEyLCAxMywgMjEwLCA0NiwgMTIsIDEzLCAyMTAsIDQ1LCAxMiwgMTMsIDIxMCwgNDQsIDEyLCAxMywgCisgICAgMjEwLCA0MywgMTIsIDEzLCAyMTAsIDQyLCAxMiwgMTMsIDIxMCwgNDEsIDEyLCAxMywgMjEwLCA0MCwgMTIsIDEzLCAyMTAsIAorICAgIDM5LCAxMiwgMTMsIDIxMCwgMzgsIDEyLCAxMywgMjEwLCAzNywgMTIsIDEzLCAyMTAsIDM2LCAxMiwgMTMsIDIxMCwgMzUsIAorICAgIDEyLCAxMywgMjEwLCAzNCwgMTIsIDEzLCAyMTAsIDMzLCAxMiwgMTMsIDIxMCwgMzIsIDEyLCAxMywgMjEwLCAzMSwgMTIsIAorICAgIDEzLCAyMTAsIDMwLCAxMiwgMTMsIDIxMCwgMjksIDEyLCAxMywgMjEwLCAyOCwgMTIsIDEzLCAyMTAsIDI3LCAxMiwgMTMsIAorICAgIDIxMCwgMjYsIDEyLCAxMywgMjEwLCAyNSwgMTIsIDEzLCAyMTAsIDI0LCAxMiwgMTMsIDIxMCwgMjMsIDEyLCAxMywgMjEwLCAKKyAgICAyMiwgMTIsIDEzLCAyMTAsIDIxLCAxMiwgMTMsIDIwOSwgMTQ3LCAxMiwgMTMsIDIwOSwgMTQ2LCAxMiwgMTMsIDIwOSwgCisgICAgMTQ1LCAxMiwgMTMsIDIwOSwgMTQ0LCAxMiwgMTMsIDIwOSwgMTQzLCAxMiwgMTMsIDIwOSwgMTQyLCAxMiwgMTMsIDIwOSwgCisgICAgMTQxLCAxMiwgMTMsIDIwOSwgMTQwLCAxMiwgMTMsIDIwOSwgMTM5LCAxMiwgMTMsIDIwOSwgMTM4LCAxMiwgMTMsIDIwOSwgCisgICAgMTM3LCAxMiwgMTMsIDIwOSwgMTM2LCAxMiwgMTMsIDIwOSwgMTM1LCAxMiwgMTMsIDIwOSwgMTM0LCAxMiwgMTMsIDIwOSwgCisgICAgMTMzLCAxMiwgMTMsIDIwOSwgMTMyLCAxMiwgMTMsIDIwOSwgMTMxLCAxMiwgMTMsIDIwOSwgMTMwLCAxMiwgMTMsIDIwOSwgCisgICAgMTI5LCAxMiwgMTMsIDIwOSwgMTI4LCAxMiwgMTMsIDIwOSwgMTI3LCAxMiwgMTMsIDIwOSwgMTI2LCAxMiwgMTMsIDIwOSwgCisgICAgMTI1LCAxMiwgMTMsIDIwOSwgMTI0LCAxMiwgMTMsIDIwOSwgMTIzLCAxMiwgMTMsIDIwOSwgMTIyLCAxMiwgMTMsIDIwOSwgCisgICAgMTIxLCAxMiwgMTMsIDIwOSwgMTIwLCAxMiwgMTMsIDIwOSwgMTE5LCAxMiwgMTMsIDIwOSwgMTE4LCAxMiwgMTMsIDIwOSwgCisgICAgMTE3LCAxMiwgMTMsIDIwOSwgMTE2LCAxMiwgMTMsIDIwOSwgMTE1LCAxMiwgMTMsIDIwOSwgMTE0LCAxMiwgMTMsIDIwOSwgCisgICAgMTEzLCAxMiwgMTMsIDIwOSwgMTEyLCAxMiwgMTMsIDIwOSwgMTExLCAxMiwgMTMsIDIwOSwgMTEwLCAxMiwgMTMsIDIwOSwgCisgICAgMTA5LCAxMiwgMTMsIDIwOSwgMTA4LCAxMiwgMTMsIDIwOSwgMTA3LCAxMiwgMTMsIDIwOSwgMTA2LCAxMiwgMTMsIDIwOSwgCisgICAgMTA1LCAxMiwgMTMsIDIwOSwgMTA0LCAxMiwgMTMsIDIwOSwgMTAzLCAxMiwgMTMsIDIwOSwgMTAyLCAxMiwgMTMsIDIwOSwgCisgICAgMTAxLCAxMiwgMTMsIDIwOSwgMTAwLCAxMiwgMTMsIDIwOSwgOTksIDEyLCAxMywgMjA5LCA5OCwgMTIsIDEzLCAyMDksIDk3LCAKKyAgICAxMiwgMTMsIDIwOSwgOTYsIDEyLCAxMywgMjA5LCA5NSwgMTIsIDEzLCAyMDksIDk0LCAxMiwgMTMsIDIwOSwgOTMsIDEyLCAKKyAgICAxMywgMjA5LCA5MiwgMTIsIDEzLCAyMDksIDkxLCAxMiwgMTMsIDIwOSwgOTAsIDEyLCAxMywgMjA5LCA4OSwgMTIsIDEzLCAKKyAgICAyMDksIDg4LCAxMiwgMTMsIDIwOSwgODcsIDEyLCAxMywgMjA5LCA4NiwgMTIsIDEzLCAyMDksIDg1LCAxMiwgMTMsIDIwOSwgCisgICAgODQsIDEyLCAxMywgMjA5LCA4MywgMTIsIDEzLCAyMDksIDgyLCAxMiwgMTMsIDIwOSwgODEsIDEyLCAxMywgMjA5LCA4MCwgCisgICAgMTIsIDEzLCAyMDksIDc5LCAxMiwgMTMsIDIwOSwgNzgsIDEyLCAxMywgMjA5LCA3NywgMTIsIDEzLCAyMDksIDc2LCAxMiwgCisgICAgMTMsIDIwOSwgNzUsIDEyLCAxMywgMjA5LCA3NCwgMTIsIDEzLCAyMDksIDczLCAxMiwgMTMsIDIwOSwgNzIsIDEyLCAxMywgCisgICAgMjA5LCA3MSwgMTIsIDEzLCAyMDcsIDEyOCwgMTIsIDEzLCAyMDcsIDEyNywgMTIsIDEzLCAyMDcsIDEyNiwgMTIsIDEzLCAKKyAgICAyMDcsIDEyNSwgMTIsIDEzLCAyMDcsIDEyNCwgMTIsIDEzLCAyMDcsIDEyMywgMTIsIDEzLCAyMDcsIDEyMiwgMTIsIDEzLCAKKyAgICAyMDcsIDEyMSwgMTIsIDEzLCAyMDcsIDEyMCwgMTIsIDEzLCAyMDcsIDExOSwgMTIsIDEzLCAyMDcsIDExOCwgMTIsIDEzLCAKKyAgICAyMDcsIDExNywgMTIsIDEzLCAyMDcsIDExNiwgMTIsIDEzLCAyMDcsIDExNSwgMTIsIDEzLCAyMDcsIDExNCwgMTIsIDEzLCAKKyAgICAyMDcsIDExMywgMTIsIDEzLCAyMDcsIDExMiwgMTIsIDEzLCAyMDcsIDExMSwgMTIsIDEzLCAyMDcsIDExMCwgMTIsIDEzLCAKKyAgICAyMDcsIDEwOSwgMTIsIDEzLCAyMDcsIDEwOCwgMTIsIDEzLCAyMDcsIDEwNywgMTIsIDEzLCAyMDcsIDEwNiwgMTIsIDEzLCAKKyAgICAyMDcsIDEwNSwgMTIsIDEzLCAyMDcsIDEwNCwgMTIsIDEzLCAyMDcsIDEwMywgMTIsIDEzLCAyMDcsIDEwMiwgMTIsIDEzLCAKKyAgICAyMDcsIDEwMSwgMTIsIDEzLCAyMDcsIDEwMCwgMTIsIDEzLCAyMDcsIDk5LCAxMiwgMTMsIDIwNywgOTgsIDEyLCAxMywgCisgICAgMjA3LCA5NywgMTIsIDEzLCAyMDYsIDE5MywgMTIsIDEzLCAyMDYsIDE5MiwgMTIsIDEzLCAyMDYsIDE5MSwgMTIsIDEzLCAKKyAgICAyMDYsIDE5MCwgMTIsIDEzLCAyMDYsIDE4OSwgMTIsIDEzLCAyMDYsIDE4OCwgMTIsIDEzLCAyMDYsIDE4NywgMTIsIDEzLCAKKyAgICAyMDYsIDE4NiwgMTIsIDEzLCAyMDYsIDE4NSwgMTIsIDEzLCAyMDYsIDE4NCwgMTIsIDEzLCAyMDYsIDE4MywgMTIsIDEzLCAKKyAgICAyMDYsIDE4MiwgMTIsIDEzLCAyMDYsIDEyMSwgMTIsIDEzLCAyMDYsIDEyMCwgMTIsIDEzLCAyMDYsIDExOSwgMTIsIDEzLCAKKyAgICAyMDYsIDExOCwgMTIsIDEzLCAyMDYsIDExNywgMTIsIDEzLCAyMDYsIDExNiwgMTIsIDEzLCAyMDYsIDExNSwgMTIsIDEzLCAKKyAgICAyMDYsIDExNCwgMTIsIDEzLCAyMDYsIDExMywgMTIsIDEzLCAyMDUsIDE1OCwgMTIsIDEzLCAyMDUsIDE1NywgMTIsIDEzLCAKKyAgICAyMDUsIDE1NiwgMTIsIDEzLCAyMDUsIDE1NSwgMTIsIDEzLCAyMDUsIDE1NCwgMTIsIDEzLCAyMDUsIDE1MywgMTIsIDEzLCAKKyAgICAyMDUsIDE1MiwgMTIsIDEzLCAyMDUsIDE1MSwgMTIsIDEzLCAyMDUsIDE1MCwgMTIsIDEzLCAyMDUsIDE0OSwgMTIsIDEzLCAKKyAgICAyMDUsIDE0OCwgMTIsIDEzLCAyMDUsIDE0NywgMTIsIDEzLCAyMDUsIDE0NiwgMTIsIDEzLCAyMDUsIDE0NSwgMTIsIDEzLCAKKyAgICAyMDUsIDE0NCwgMTIsIDEzLCAyMDUsIDE0MywgMTIsIDEzLCAyMDUsIDE0MiwgMTIsIDEzLCAyMDUsIDE0MSwgMTIsIDEzLCAKKyAgICAyMDUsIDE0MCwgMTIsIDEzLCAyMDUsIDEzOSwgMTIsIDEzLCAyMDUsIDEzOCwgMTIsIDEzLCAyMDUsIDEzNywgMTIsIDEzLCAKKyAgICAyMDUsIDEzNiwgMTIsIDEzLCAyMDUsIDEzNSwgMTIsIDEzLCAyMDUsIDEzNCwgMTIsIDEzLCAyMDUsIDEzMywgMTIsIDEzLCAKKyAgICAyMDUsIDEzMiwgMTIsIDEzLCAyMDUsIDEzMSwgMTIsIDEzLCAyMDUsIDEzMCwgMTIsIDEzLCAyMDUsIDEyOSwgMTIsIDEzLCAKKyAgICAyMDUsIDEyOCwgMTIsIDEzLCAyMDUsIDEyNywgMTIsIDEzLCAyMDUsIDEyNiwgMTIsIDEzLCAyMDUsIDEyNSwgMTIsIDEzLCAKKyAgICAyMDUsIDEyNCwgMTIsIDEzLCAyMDUsIDEyMywgMTIsIDEzLCAyMDUsIDEyMiwgMTIsIDEzLCAyMDUsIDEyMSwgMTIsIDEzLCAKKyAgICAyMDUsIDEyMCwgMTIsIDEzLCAyMDUsIDExOSwgMTIsIDEzLCAyMDUsIDExOCwgMTIsIDEzLCAyNTMsIDE2MywgMTIsIDEzLCAKKyAgICAyNTMsIDE2MiwgMTIsIDEzLCAyNTMsIDE2MSwgMTIsIDEzLCAyNTMsIDE2MCwgMTIsIDEzLCAyNTMsIDE1OSwgMTIsIDEzLCAKKyAgICAyNTMsIDE1OCwgMTIsIDEzLCAyNTMsIDE1NywgMTIsIDEzLCAyNTMsIDE1NiwgMTIsIDEzLCAyNTMsIDE1NSwgMTIsIDEzLCAKKyAgICAyNTMsIDE1NCwgMTIsIDEzLCAyNTMsIDE1MywgMTIsIDEzLCAyNTMsIDE1MiwgMTIsIDEzLCAyNTMsIDE1MSwgMTIsIDEzLCAKKyAgICAyNTMsIDE1MCwgMTIsIDEzLCAyNTMsIDE0OSwgMTIsIDEzLCAyNTMsIDE0OCwgMTIsIDEzLCAyNTMsIDE0NywgMTIsIDEzLCAKKyAgICAyNTMsIDE0NiwgMTIsIDEzLCAyNTMsIDE0NSwgMTIsIDEzLCAyNTMsIDE0NCwgMTIsIDEzLCAyNTMsIDE0MywgMTIsIDEzLCAKKyAgICAyNTMsIDE0MiwgMTIsIDEzLCAyNTMsIDE0MSwgMTIsIDEzLCAyNTMsIDE0MCwgMTIsIDEzLCAyNTMsIDEzOSwgMTIsIDEzLCAKKyAgICAyNTMsIDEzOCwgMTIsIDEzLCAyNTMsIDEzNywgMTIsIDEzLCAyNTMsIDEzNiwgMTIsIDEzLCAyNTMsIDEzNSwgMTIsIDEzLCAKKyAgICAyNTMsIDEzNCwgMTIsIDEzLCAyNTMsIDEzMywgMTIsIDEzLCAyNTMsIDEzMiwgMTIsIDEzLCAyNTMsIDEzMSwgMTIsIDEzLCAKKyAgICAyNTMsIDEzMCwgMjEsIDEsIDE4NywgMjI1LCAxMCwgMjI3LCA0MCwgMjEsIDEsIDE4NywgMjQwLCAxNzgsIDI0MSwgMTU0LCAKKyAgICAyMSwgMSwgMTg3LCAyMjAsIDE4OSwgMjI3LCA0MSwgMjIxLCAxLCAyMSwgMSwgMTg3LCAyMjAsIDE4OSwgMjI3LCA0MSwgCisgICAgMjIxLCAyLCAyMSwgMSwgMTg3LCAyMjUsIDIzMywgMjI3LCA0MCwgMjEsIDEsIDE4NywgMjE1LCAxMTIsIDIxLCAxLCAxODcsIAorICAgIDIxMSwgMTU1LCAyMjcsIDQwLCAyMSwgMSwgMTg3LCAyMjMsIDkyLCAyMjcsIDQwLCAyMSwgMSwgMTg3LCAyMTUsIDE3MCwgCisgICAgMjIyLCA1MiwgMjI0LCAxNjQsIDIxLCAxLCAxODcsIDIyMCwgMTg5LCAyMjIsIDUyLCAyMjQsIDE2NSwgMjIxLCAxLCAyMSwgCisgICAgMSwgMTg3LCAyMjAsIDE4OSwgMjIyLCA1MiwgMjI0LCAxNjUsIDIyMSwgMiwgMjEsIDEsIDE4NywgMjI3LCAyNTUsIDIxLCAxLCAKKyAgICAxODcsIDIxMCwgMTcxLCAyMjgsIDAsIDIxLCAxLCAxODcsIDIyNSwgNzEsIDIxLCAxLCAxODcsIDIyNywgMjUyLCAyMSwgMSwgCisgICAgMTg3LCAyMjcsIDIxMCwgMjEsIDEsIDE4NywgMjI2LCA1NiwgMjEsIDEsIDE4NywgMjE2LCAyNSwgMjEsIDEsIDE4NywgMjIzLCAKKyAgICAyMjQsIDIxLCAxLCAxODcsIDIzMSwgMTg2LCAyMSwgMSwgMTg3LCAyMjQsIDEzMiwgMjEsIDEsIDE4NywgMjEzLCAxMTksIAorICAgIDIxLCAxLCAxODcsIDIyNSwgOSwgMjEsIDEsIDE4NywgMjMwLCA4OCwgMjEsIDEsIDE4NywgMjMwLCA3LCAyMzAsIDIwMywgCisgICAgMjEsIDEsIDE4NywgMjIzLCAyMzQsIDIyNywgNDgsIDIxLCAxLCAxODcsIDIyOCwgMywgMjEsIDEsIDE4NywgMjIxLCAyMDIsIAorICAgIDIxLCAxLCAxODcsIDI0MCwgODAsIDIxLCAxLCAxODcsIDIyMiwgOSwgMjEsIDEsIDE4NywgMjI2LCAxNjksIDIyNSwgNDQsIAorICAgIDIxLCAxLCAxODcsIDIyMywgNzMsIDIyNywgNTEsIDIxLCAxLCAxODcsIDEwNiwgMjA1LCAxODgsIDIyNSwgMjI2LCAyMSwgMSwgCisgICAgMTg3LCAyNDAsIDgxLCAyMSwgMSwgMTg3LCAyMjMsIDIzNCwgMjIzLCAyMzUsIDIxLCAxLCAxODcsIDIxNSwgMTMsIDIxLCAxLCAKKyAgICAxODcsIDIyNywgMzMsIDIxLCAxLCAxODcsIDIyNywgNTQsIDIxLCAxLCAxODcsIDIyNiwgMTQ2LCAyMSwgMSwgMTg3LCAyMzIsIAorICAgIDQ0LCAyMSwgMSwgMTg3LCAyMjIsIDUyLCAyMzAsIDQ3LCAyMSwgMSwgMTg3LCAyMjUsIDE1MiwgMjMwLCA0NywgMjEsIDEsIAorICAgIDE4NywgMjIxLCAxMDQsIDIxLCAxLCAxODcsIDIyNywgMjUzLCAyMSwgMSwgMTg3LCAyMjQsIDIwNCwgMjEsIDEsIDE4NywgCisgICAgMjIwLCA2NSwgMjEsIDEsIDE4NywgMjEwLCAxNjgsIDIxLCAxLCAxODcsIDIyOSwgNzcsIDIxLCAxLCAxODcsIDIxNCwgMTc1LCAKKyAgICAyMSwgMSwgMTg3LCAyMTIsIDY1LCAyMSwgMSwgMTg3LCAyMjcsIDI1MCwgMjEsIDEsIDE4NywgMjMxLCAxOTMsIDIxLCAxLCAKKyAgICAxODcsIDIyNSwgMTQ4LCAyMSwgMSwgMTg3LCAyMzAsIDIxNSwgMjEsIDEsIDE4NywgMjI2LCAxNDcsIDIxLCAxLCAxODcsIAorICAgIDIxNSwgMTA4LCAyMSwgMSwgMTg3LCAyMjksIDEyNiwgMjEsIDEsIDE4NywgMjQxLCAyMTYsIDIxLCAxLCAxODcsIDIxOCwgCisgICAgMTEwLCAyMSwgMSwgMTg3LCAyMzEsIDQsIDIxLCAxLCAxODcsIDIxNCwgMTcxLCAyMSwgMSwgMTg3LCAyMjcsIDIwNiwgMjIxLCAKKyAgICA0MywgMjEsIDEsIDE4NywgMjE1LCAxNjMsIDIxLCAxLCAxODcsIDIyMywgMjMzLCAyMSwgMSwgMTg3LCAyMTUsIDE0NiwgCisgICAgMjIzLCAyNDQsIDIwNSwgMTk2LCAyMSwgMSwgMTg3LCAyMjMsIDExNCwgMjI2LCAxNjYsIDIxLCAxLCAxODcsIDIyMiwgNDcsIAorICAgIDIxLCAxLCAxODcsIDIyNCwgMTM0LCAyMSwgMSwgMTg3LCAyMDksIDIxMywgMjEsIDEsIDE4NywgMjI1LCA0NywgMjEsIDEsIAorICAgIDE4NywgMjI3LCAyNDksIDIxLCAxLCAxODcsIDIyNCwgMTc2LCAyMSwgMSwgMTg3LCAyMjcsIDE0OCwgMjEsIDEsIDE4NywgCisgICAgMjIzLCAxMjgsIDIxLCAxLCAxODcsIDIxMiwgNjksIDIxLCAxLCAxODcsIDIxNCwgMTY4LCAyMSwgMSwgMTg3LCAyMjIsIDQ4LCAKKyAgICAyMSwgMSwgMTg3LCAyMjMsIDI0OCwgMjEsIDEsIDE4NywgMjI4LCAxLCAyMSwgMSwgMTg3LCAyMjMsIDEyNSwgMjEsIDEsIAorICAgIDE4NywgMjMyLCA4LCAyMSwgMSwgMTg3LCAyMjMsIDI1MSwgMjEsIDEsIDE4NywgMjA5LCAzNCwgMjEsIDEsIDE4NywgMjI5LCAKKyAgICA4MSwgMjEsIDEsIDE4NywgMjI1LCAxMDEsIDIxLCAxLCAxODcsIDIyNSwgMjAxLCAyMSwgMSwgMTg3LCAyMjcsIDE0NywgMjEsIAorICAgIDEsIDIyMSwgODMsIDIyMywgMjQ2LCAyMSwgMSwgMjIxLCA4MywgMjEwLCAxNzEsIDIyNywgMjU0LCAyMSwgMSwgMjIxLCA4MywgCisgICAgMjE1LCA3MSwgMjEsIDEsIDIyMSwgODMsIDIxNiwgMjksIDIxMCwgMTcwLCAyMSwgMSwgMjIxLCA4MywgMjI5LCAxMjgsIAorICAgIDIyMywgMjMwLCAyMSwgMSwgMjIxLCA4MywgMjI3LCAxNTQsIDIyOCwgMiwgMjEsIDEsIDIyMSwgODMsIDIzMSwgMTE1LCAyMSwgCisgICAgMSwgMjIxLCA4MywgMjA2LCAxOCwgMjEsIDEsIDIyMSwgODMsIDIyNywgMTQ5LCAyMSwgMSwgMjIxLCA4MywgMjMyLCAzMCwgCisgICAgMjEsIDEsIDIyMSwgODMsIDIyMSwgMTYwLCAyMSwgMSwgMjIxLCA4MywgMjA2LCA5NSwgMjMwLCA0NywgMjEsIDEsIDIyMSwgCisgICAgODMsIDIzMCwgMTA3LCAyMjMsIDI0NCwgMjIzLCAxMzksIDIxLCAxLCAyMjEsIDgzLCAyMjMsIDIyNywgMjE1LCAxODksIDIxLCAKKyAgICAxLCAyMjEsIDgzLCAyMjUsIDExOSwgMjI0LCAxNzksIDIxLCAxLCAyMjEsIDgzLCAyNDAsIDc4LCAyMSwgMSwgMjIxLCA4MywgCisgICAgMjIwLCAyNDcsIDIxLCAxLCAyMjEsIDgzLCAyMTAsIDE3MSwgMjIzLCAyNDIsIDIxLCAxLCAyMjEsIDgzLCAyMTUsIDE5NCwgCisgICAgMjI0LCAxNzQsIDIxLCAxLCAyMjEsIDgzLCAyMTUsIDE5MCwgMjEsIDEsIDIyMSwgODMsIDIyNywgNDEsIDIxMiwgNjgsIDIxLCAKKyAgICAxLCAyMjEsIDgzLCAyMjcsIDEzNiwgMjI3LCAxNTAsIDIxLCAxLCAyMjEsIDgzLCAyMjMsIDEyNiwgMjIzLCAyMzAsIDIxLCAKKyAgICAxLCAyMjEsIDgzLCAyMzEsIDE4MiwgMjEsIDEsIDIyMSwgODMsIDI0MCwgNzksIDIxLCAxLCAyMjEsIDgzLCAyMzEsIDE3OCwgCisgICAgMjEsIDEsIDIyMSwgODMsIDIzMCwgMTM1LCAyMSwgMSwgMjIxLCA4MywgMjIxLCAyMDUsIDIxLCAxLCAyMjEsIDgzLCAyMDgsIAorICAgIDIyMSwgMjEsIDEsIDIyMSwgODMsIDIyNSwgMTEsIDIyNiwgNTQsIDIxLCAxLCAyMjEsIDgzLCAyMjUsIDQ2LCAyMjcsIDEzMiwgCisgICAgMjEsIDEsIDIyMSwgODMsIDIwNiwgMjE0LCAyMSwgMSwgMjIxLCA4MywgMjE3LCAxNzUsIDIxLCAxLCAyMjEsIDgzLCAyMTIsIAorICAgIDIxMSwgMjEsIDEsIDIyMSwgODMsIDIyNywgNTMsIDIxLCAxLCAyMjEsIDgzLCAyMjUsIDMwLCAyMSwgMSwgMjIxLCA4MywgCisgICAgMjI1LCAzMSwgMjMwLCA4NSwgMjEsIDEsIDIyMSwgODMsIDIyNywgNDMsIDIxLCAxLCAyMjEsIDgzLCAyMTMsIDE3MCwgMjEsIAorICAgIDEsIDIyMSwgODMsIDIyNywgMTQwLCAyMSwgMSwgMjIxLCA4MywgMjI2LCAxNTEsIDIxLCAxLCAyMjEsIDgzLCAyMjMsIDE0MiwgCisgICAgMjEsIDEsIDIyMSwgODMsIDIyMCwgNjksIDIxLCAxLCAyMjEsIDgzLCAyMjcsIDUyLCAyMjUsIDQ4LCAyMSwgMSwgMjIxLCAKKyAgICA4MywgMjQxLCAyNTUsIDIxLCAxLCAyMjEsIDgzLCAyMjcsIDEyNywgMjEsIDEsIDIyMSwgODMsIDI0MiwgMjEsIDIxLCAxLCAKKyAgICAyMjEsIDgzLCAyMzEsIDE5MCwgMjEsIDEsIDIyMSwgODMsIDIyOCwgMjAsIDIyNCwgMTY4LCAyMSwgMSwgMjIxLCA4MywgCisgICAgMjI4LCAyMCwgMjI0LCAxNDQsIDIxLCAxLCAyMjEsIDgzLCAyMzAsIDYsIDIxLCAxLCAyMjEsIDgzLCAyMjUsIDU0LCAyMSwgCisgICAgMSwgMjIxLCA4MywgMjIzLCAyNTMsIDIxLCAxLCAyMjEsIDgzLCAxODUsIDIxLCAxLCAyMjEsIDgzLCAyMzEsIDEwMiwgMjEsIAorICAgIDEsIDIyMSwgODMsIDIyNCwgMjU1LCAyMSwgMSwgMTU4LCAyMjUsIDEwLCAyMjgsIDAsIDIxLCAxLCAxNTgsIDIyMywgOTEsIAorICAgIDIxLCAxLCAxNTgsIDIwNSwgMTk2LCAyMSwgMSwgMTU4LCAyMDcsIDgzLCAyMSwgMSwgMTU4LCAyMjUsIDQ3LCAyMSwgMSwgCisgICAgMTU4LCAyMjUsIDE0MCwgMjEsIDEsIDE1OCwgMjI1LCAxNywgMjEsIDEsIDE1OCwgMjQwLCA4OCwgMjEsIDEsIDE1OCwgMjI3LCAKKyAgICAxNDQsIDIxLCAxLCAxNTgsIDI0MCwgMTg1LCAyMSwgMSwgMTU4LCAyMjMsIDExNiwgMjI2LCAxOTAsIDIyNywgNTUsIDIxLCAKKyAgICAxLCAxNTgsIDIyMywgMjIyLCAyMjcsIDEzNSwgMjEsIDEsIDE1OCwgMjI3LCAxNDEsIDIxLCAxLCAxNTgsIDIyMCwgMjUzLCAKKyAgICAyMSwgMSwgMTU4LCAyMjUsIDEyNSwgMjEsIDEsIDE1OCwgMjI3LCAxNTIsIDI0OCwgMjUzLCAyMSwgMSwgMTU4LCAyMzEsIAorICAgIDE4MCwgMjEsIDEsIDE1OCwgMjQwLCA4OSwgMjEsIDEsIDE1OCwgMjMxLCAxODcsIDIxLCAxLCAxNTgsIDIwNSwgMjE0LCAKKyAgICAyMjYsIDg1LCAyMSwgMSwgMTU4LCAyMjMsIDg1LCAyMSwgMSwgMTU4LCAyMjcsIDEyOSwgMjEsIDEsIDE1OCwgMjIzLCAyNTIsIAorICAgIDIxLCAxLCAxNTgsIDIyNywgMTM1LCAyMSwgMSwgMTU4LCAyMDYsIDE5LCAyMSwgMSwgMTU4LCAyMzEsIDEyLCAyMSwgMSwgCisgICAgMTU4LCAyMzIsIDYzLCAyMSwgMSwgMTU4LCAyMTYsIDI0LCAyMSwgMSwgMTU4LCAyMjUsIDEzNCwgMjEsIDEsIDE1OCwgMjEyLCAKKyAgICAyMDksIDIxLCAxLCAxNTgsIDIyNCwgMTQ4LCAyMSwgMSwgMTU4LCAyMTEsIDE1NSwgMjA1LCAxOTksIDIxLCAxLCAxNTgsIAorICAgIDIxMywgMTk4LCAyMSwgMSwgMTU4LCAyMjUsIDM3LCAyMjMsIDEzOSwgMjEsIDEsIDE1OCwgMjA4LCAyMjAsIDIxLCAxLCAKKyAgICAxNTgsIDIyNSwgMjA0LCAyMSwgMSwgMTU4LCAyMjgsIDIwLCAyMzEsIDE4OSwgMjEsIDEsIDE1OCwgMjIzLCAyMzUsIDIxLCAKKyAgICAxLCAxNTgsIDIyNSwgMzIsIDIxLCAxLCAxNTgsIDIzMCwgODksIDIxLCAxLCAxNTgsIDIyNywgMTM3LCAyMSwgMSwgMTU4LCAKKyAgICAyMjcsIDMyLCAyMSwgMSwgMTU4LCAyMjMsIDIyOSwgMjEsIDEsIDE1OCwgMjEyLCA2NCwgMjEsIDEsIDE1OCwgMjI1LCAzNCwgCisgICAgMjEsIDEsIDE1OCwgMjQxLCA4NiwgMjEsIDEsIDE1OCwgMjI1LCAxMzksIDIxLCAxLCAxNTgsIDIyMywgMjU0LCAyMSwgMSwgCisgICAgMTU4LCAyMjMsIDI1MCwgMjEsIDEsIDE1OCwgMjQ5LCA3NywgMjEsIDEsIDE1OCwgMjA4LCAyMjIsIDIxLCAxLCAxNTgsIAorICAgIDIyNywgMTQyLCAyMSwgMSwgMTU4LCAyMTgsIDUwLCAyMSwgMSwgMTU4LCAyMjQsIDE3OCwgMjEsIDEsIDE1OCwgMjMwLCAKKyAgICAxMDYsIDIxLCAxLCAxNTgsIDIxMSwgMTUzLCAyMSwgMSwgMTU4LCAyMjMsIDIzNiwgMjI0LCAyNTUsIDIxLCAxLCAxNTgsIAorICAgIDIyNCwgMTcwLCAyMSwgMSwgMTU4LCAyMzEsIDE5MywgMjEsIDEsIDE1OCwgMjI1LCAzOSwgMjEsIDEsIDE1OCwgMjI3LCAKKyAgICAyNDksIDIxLCAxLCAxNTgsIDIyNywgMTMwLCAyMSwgMSwgMTU4LCAyMjksIDgxLCAyMSwgMSwgMTU4LCAyMzAsIDIwMywgMjEsIAorICAgIDEsIDE1OCwgMjI0LCAxNzYsIDIxLCAxLCAxNTgsIDIyNCwgMjU1LCAyMSwgMSwgMTU4LCAyMDYsIDIwNCwgMjEsIDEsIDE1OCwgCisgICAgMjI1LCAzNSwgMjEsIDEsIDE1OCwgMjIzLCAyMzksIDIxLCAxLCAxNTgsIDIyMywgMjMxLCAyMSwgMSwgMTU4LCAyMzAsIAorICAgIDIxNywgMjI0LCAxMzQsIDIxLCAxLCAxNTgsIDIyMywgMjM3LCAyMSwgMSwgMTU4LCAyMjUsIDE0NywgMjEsIDEsIDE1OCwgCisgICAgMjI4LCAyMCwgMjIzLCAyNDIsIDIxLCAxLCAxNTgsIDIwNiwgMTA5LCAyMSwgMSwgMTU4LCAyMjUsIDE0NiwgMjEsIDEsIAorICAgIDE1OCwgMjE1LCAxMTEsIDIxLCAxLCAxNTgsIDIxNiwgMjcsIDIxLCAxLCAxNTgsIDIyNywgMTM4LCAyMSwgMSwgMTU4LCAKKyAgICAyMjgsIDAsIDIxLCAxLCAxNTgsIDIyNywgMTQ4LCAyMSwgMSwgMTU4LCAyMzEsIDE4MSwgMjEsIDEsIDE1OCwgMjI3LCAxMzksIAorICAgIDIxLCAxLCAxNTgsIDIzMSwgMTg1LCAyMSwgMSwgMTU4LCAyMjcsIDE1MiwgMjIxLCA0OCwgMjEsIDEsIDE1OCwgMjA1LCAKKyAgICAxNzksIDIxLCAxLCAxNTgsIDIyNCwgMTY2LCAyMSwgMSwgMTU4LCAyMjYsIDI0MywgMjEsIDEsIDE1OCwgMjI2LCAxMTIsIAorICAgIDIxLCAxLCAxNTgsIDIxNSwgMTY2LCAyMSwgMSwgMTU4LCAyMzEsIDIwNCwgMjMwLCA3MCwgMjEsIDEsIDE1OCwgMjMxLCAKKyAgICAyMDQsIDI0MiwgMzQsIDIxLCAxLCAxNTgsIDIyNSwgNjksIDIxLCAxLCAxNTgsIDIyNSwgMjAxLCAyMSwgMSwgMTU4LCAyMjksIAorICAgIDE5MCwgMjEsIDEsIDE1OCwgMjIxLCA5LCAyMSwgMSwgMTU4LCAyMjEsIDE1MCwgMjEsIDEsIDE1OCwgMjEyLCA4MCwgMjEsIAorICAgIDEsIDEyMywgMjI3LCAxMjgsIDIxLCAxLCAxMjMsIDIwNywgODEsIDIxLCAxLCAxMjMsIDIyNCwgMTY0LCAyMSwgMSwgMTIzLCAKKyAgICAyMjcsIDQwLCAyMSwgMSwgMTIzLCAyMjQsIDE2MiwgMjEsIDEsIDEyMywgMjI5LCAyMjksIDIxLCAxLCAxMjMsIDIyNCwgCisgICAgMTY3LCAyMSwgMSwgMTIzLCAyMjMsIDI0OSwgMjEsIDEsIDEyMywgMjI1LCA1MywgMjEsIDEsIDEyMywgMjIzLCAxMzksIDIxLCAKKyAgICAxLCAxMjMsIDIwNiwgMjE1LCAyMSwgMSwgMTIzLCAyMjUsIDcsIDIxLCAxLCAxMjMsIDIxNSwgMjEyLCAyMSwgMSwgMTIzLCAKKyAgICAyMjUsIDE4LCAyMSwgMSwgMTIzLCAyMzEsIDE4OCwgMjEsIDEsIDEyMywgMjEyLCA2NiwgMjEsIDEsIDEyMywgMjE1LCAxOTIsIAorICAgIDIxLCAxLCAxMjMsIDIyNCwgMTc1LCAyMSwgMSwgMTIzLCAyMTMsIDE3MCwgMjEsIDEsIDEyMywgMjMxLCAxOTMsIDIxLCAxLCAKKyAgICAxMjMsIDIwNiwgOTcsIDIxLCAxLCAxMjMsIDIzMCwgMjE4LCAyMSwgMSwgMTIzLCAyMTcsIDE0MSwgMjEsIDEsIDEyMywgCisgICAgMjI3LCA0NSwgMjEsIDEsIDEyMywgMjI1LCAxMzgsIDIxLCAxLCAxMjMsIDIyNywgMjI0LCAyMSwgMSwgMTIzLCAyMjcsIDUxLCAKKyAgICAyMSwgMSwgMTIzLCAyMTYsIDI2LCAyMSwgMSwgMTIzLCAyMDYsIDQyLCAyMSwgMSwgMTIzLCAyMjQsIDE2OSwgMjEsIDEsIAorICAgIDEyMywgMjMxLCAxODQsIDIyNywgMTMxLCAyMSwgMSwgMTIzLCAyMjUsIDE0LCAyMSwgMSwgMTIzLCAyMTAsIDE3MCwgMjEsIAorICAgIDEsIDEyMywgMjQwLCA5OCwgMjEsIDEsIDEyMywgMjI1LCA0LCAyMSwgMSwgMTIzLCAyNDIsIDAsIDIxLCAxLCAxMjMsIDIyNSwgCisgICAgMTQyLCAyMSwgMSwgMTIzLCAyMjcsIDI0LCAyMSwgMSwgMTIzLCAyMzAsIDAsIDIxLCAxLCAxMjMsIDIyNSwgMTI0LCAyMSwgCisgICAgMSwgMTIzLCAyMjYsIDE2NSwgMjEsIDEsIDEyMywgMjI3LCAyOCwgMjEsIDEsIDEyMywgMjIwLCA0OSwgMjEsIDEsIDEyMywgCisgICAgMjI3LCAyNiwgMjEsIDEsIDEyMywgMjI3LCA0MiwgMjEsIDEsIDEyMywgMjI5LCA2NSwgMjEsIDEsIDEyMywgMjIzLCAyNDEsIAorICAgIDIxLCAxLCAxMjMsIDIyNywgMTUxLCAyMSwgMSwgMTIzLCAyMzAsIDE5MywgMjEsIDEsIDEyMywgMjIzLCAxMjgsIDIxLCAxLCAKKyAgICAxMjMsIDIxMiwgNjksIDIxLCAxLCAxMjMsIDIxNCwgMTY4LCAyMSwgMSwgMTIzLCAyMDUsIDE3OSwgMjEsIDEsIDEyMywgCisgICAgMjMxLCAxODUsIDIxLCAxLCAxMjMsIDIxOSwgOTQsIDIxLCAxLCAxMjMsIDIxMiwgMTE5LCAyMSwgMSwgMTIzLCAyMjUsIDE1LCAKKyAgICAyMSwgMSwgMTIzLCAyMjcsIDQ3LCAyMSwgMSwgMTIzLCAyMjMsIDI0MCwgMjEsIDEsIDEyMywgMjMxLCAxODMsIDIxLCAxLCAKKyAgICAxMjMsIDIyMSwgMywgMjEsIDEsIDEyMywgMjIxLCA5OCwgMjEsIDEsIDEyMywgMjIzLCAxMDIsIDIxLCAxLCAxMjMsIDIzMCwgCisgICAgNiwgMjEsIDEsIDEyMywgMjI1LCA1NCwgMjEsIDEsIDEyMywgMjI3LCA0NCwgMjEsIDEsIDEyMywgMjI1LCAyNywgMjEsIDEsIAorICAgIDEyMywgMjA1LCAxOTMsIDIxLCAxLCAxMjMsIDIyMSwgMjM2LCAyMSwgMSwgMTIzLCAyMDUsIDE5MiwgMjEsIDEsIDEyMywgCisgICAgMjI1LCAxNDcsIDIxLCAxLCAxMjMsIDIyMywgMjMwLCAyMSwgMSwgMTIzLCAyMTMsIDIwMCwgMjEsIDEsIDEyMywgMjMwLCAKKyAgICAyMjIsIDIxLCAxLCAxMjMsIDIyNSwgNDMsIDIxLCAxLCAxMjMsIDIyNSwgMTIsIDIxLCAxLCAxMjMsIDIxMCwgMTUzLCAyMSwgCisgICAgMSwgMTIzLCAyMjcsIDU1LCAyMSwgMSwgMTIzLCAyMzAsIDIxMiwgMjEsIDEsIDEyMywgMjIzLCAyMzgsIDIxLCAxLCAxMjMsIAorICAgIDIxMiwgNjcsIDIxLCAxLCAxMjMsIDIyNywgMjUxLCAyMSwgMSwgMTIzLCAyMjUsIDUyLCAyMSwgMSwgMTIzLCAyMjksIDI1NSwgCisgICAgMjEsIDEsIDEyMywgMjI1LCAzMywgMjEsIDEsIDEyMywgMjIzLCAyNDMsIDIxLCAxLCAxMjMsIDIyNCwgMTQ4LCAyMSwgMSwgCisgICAgMTIzLCAyNDAsIDgyLCAyMSwgMSwgMTIzLCAyMzAsIDIzNiwgMjEsIDEsIDEyMywgMjE5LCAzLCAyMjIsIDE3OSwgMjEsIDEsIAorICAgIDEyMywgMjEyLCAyMDAsIDIxLCAxLCAxMjMsIDIxMSwgOTgsIDIxLCAxLCAxMjMsIDIyMywgMTI1LCAyMSwgMSwgMTIzLCAKKyAgICAyMTgsIDE1NCwgMjEsIDEsIDEyMywgMjMwLCA0OSwgMjEsIDEsIDEyMywgMjI3LCAxMDYsIDIxLCAxLCAxMjMsIDIyOSwgMjgsIAorICAgIDIxLCAxLCAxMjMsIDIxMywgMTE5LCAyMSwgMSwgMTIzLCAyMjYsIDExNCwgMjEsIDEsIDEyMywgMjE1LCAxNzgsIDIxLCAxLCAKKyAgICAxMjMsIDIxNSwgMTg4LCAyMSwgMSwgMTIzLCAyMzAsIDE2NSwgMjEsIDEsIDEyMywgMjIzLCAyMTcsIDIxLCAxLCAxMjMsIAorICAgIDIxNSwgMTE2LCAyMSwgMSwgMTIzLCAyMjMsIDIzMiwgMjEsIDEsIDEyMywgMjIxLCAxNjQsIDIxLCAxLCAxMjMsIDIyNCwgCisgICAgMjMwLCAyMSwgMSwgMTIzLCAyMTUsIDE0NSwgMjEsIDEsIDEyMywgMjIwLCA2NCwgMjEsIDEsIDEyMywgMjI2LCA1NCwgMjEsIAorICAgIDEsIDEyMywgMjI5LCAxMDcsIDIxLCAxLCAxMjMsIDIxOSwgMywgMjI2LCAxMDcsIDIxLCAxLCAxMjMsIDIxMSwgMjExLCAyMSwgCisgICAgMSwgMTIzLCAyMjMsIDIxOSwgMjEsIDEsIDEyMywgMjI3LCAxNTIsIDE5NSwgMjEsIDEsIDEyMywgMjE3LCAxMzksIDIxLCAxLCAKKyAgICAxMjMsIDI0MiwgNzIsIDIxLCAxLCA4OCwgMjI1LCAxNDYsIDIxLCAxLCA4OCwgMjExLCAxMDQsIDIxLCAxLCA4OCwgMjI3LCAKKyAgICAxNDEsIDIxLCAxLCA4OCwgMjMwLCA4OSwgMjEsIDEsIDg4LCAyMDgsIDE2MiwgMjEsIDEsIDg4LCAyMjksIDExMywgMjEsIDEsIAorICAgIDg4LCAyMjIsIDUxLCAyMSwgMSwgODgsIDIxNCwgMTc5LCAyMSwgMSwgODgsIDIxOSwgNjksIDIxLCAxLCA4OCwgMjIzLCAKKyAgICAyNDUsIDIxLCAxLCA4OCwgMjI1LCAxMTcsIDIxLCAxLCA4OCwgMjIwLCA3OSwgMjEsIDEsIDg4LCAyMTIsIDE3NiwgMjEsIDEsIAorICAgIDg4LCAyMjUsIDIwLCAyMSwgMSwgODgsIDIzMSwgOCwgMjEsIDEsIDg4LCAyMDYsIDIwNywgMjEsIDEsIDg4LCAyMTcsIDc0LCAKKyAgICAyMSwgMSwgODgsIDIyNSwgNDQsIDIxLCAxLCA4OCwgMjIyLCA0OCwgMjEsIDEsIDg4LCAyMTEsIDEwNSwgMjEsIDEsIDg4LCAKKyAgICAyMzAsIDIxNiwgMjEsIDEsIDg4LCAyMjksIDEyNywgMjEsIDEsIDg4LCAyMjMsIDI0OCwgMjEsIDEsIDg4LCAyMjQsIDI1MiwgCisgICAgMjEsIDEsIDg4LCAyMjgsIDEsIDIxLCAxLCA4OCwgMjI1LCAxMywgMjEsIDEsIDg4LCAyMjQsIDI1MSwgMjEsIDEsIDg4LCAKKyAgICAyMjMsIDI0NywgMjEsIDEsIDg4LCAyMTgsIDE1MiwgMjEsIDEsIDg4LCAyMjQsIDE2NiwgMjEsIDEsIDg4LCAyMjEsIDE2MiwgCisgICAgMjEsIDEsIDg4LCAyMTcsIDE5NiwgMjEsIDEsIDg4LCAyMjUsIDI4LCAyMSwgMSwgODgsIDIyNywgMzQsIDIxLCAxLCA4OCwgCisgICAgMjQwLCA3NiwgMjEsIDEsIDg4LCAyMjUsIDE2LCAyMSwgMSwgODgsIDIyNCwgMTc3LCAyMSwgMSwgODgsIDIyNywgMjA1LCAKKyAgICAyMSwgMSwgODgsIDIyOSwgMTA5LCAyMSwgMSwgODgsIDIyNSwgNDksIDIxLCAxLCA4OCwgMjI1LCAxMzAsIDIxLCAxLCA4OCwgCisgICAgMjEyLCAxOTksIDIyMywgMjMwLCAyMSwgMSwgODgsIDIxNiwgMjgsIDIxLCAxLCA4OCwgMjIwLCA3NCwgMjEsIDEsIDg4LCAKKyAgICAyMjUsIDE1MCwgMjE0LCAxODYsIDIxLCAxLCA4OCwgMjI1LCAzNiwgMjIzLCAxMzksIDIxLCAxLCA4OCwgMjA2LCA3LCAyMSwgCisgICAgMSwgODgsIDI0MCwgNzcsIDIxLCAxLCA4OCwgMjEwLCAxNjksIDIxLCAxLCA4OCwgMjA2LCAyMiwgMjEsIDEsIDg4LCAyMjAsIAorICAgIDIxMSwgMjEsIDEsIDg4LCAyMTAsIDE1OCwgMjEsIDEsIDg4LCAyMzEsIDE5MSwgMjEsIDEsIDg4LCAyMTMsIDE5OSwgMjEsIAorICAgIDEsIDg4LCAyMTIsIDY4LCAyMSwgMSwgODgsIDIwOCwgMjIzLCAyMSwgMSwgODgsIDIwNywgMzMsIDIxLCAxLCA4OCwgMjMwLCAKKyAgICAxMzgsIDIxLCAxLCA4OCwgMjIwLCA4MiwgMjEsIDEsIDg4LCAyMTIsIDIxMCwgMjEsIDEsIDg4LCAyNDAsIDk3LCAyMSwgMSwgCisgICAgODgsIDIyNSwgNTksIDIxLCAxLCA4OCwgMjE1LCAxOTEsIDIxLCAxLCA4OCwgMjI3LCAyOSwgMjEsIDEsIDg4LCAyMjcsIAorICAgIDE0NSwgMjEsIDEsIDg4LCAyMjMsIDg5LCAyMSwgMSwgODgsIDIyNCwgMTMwLCAyMSwgMSwgODgsIDI0MCwgMTgxLCAyMSwgMSwgCisgICAgODgsIDIxMCwgMTU5LCAyMSwgMSwgODgsIDIzMCwgMjI2LCAyMSwgMSwgODgsIDIwNiwgNzMsIDIxLCAxLCA4OCwgMjIzLCAKKyAgICAxMjYsIDI0NywgMjA4LCAyMSwgMSwgODgsIDIwNSwgMjUzLCAyMSwgMSwgODgsIDIyNywgNDYsIDIxLCAxLCA4OCwgMjI1LCAKKyAgICAxMzUsIDIxLCAxLCA4OCwgMjIxLCA0NCwgMjEsIDEsIDg4LCAyMDUsIDE5OCwgMjEsIDEsIDg4LCAyMzAsIDEsIDIxLCAxLCAKKyAgICA4OCwgMjQxLCA4NiwgMjEsIDEsIDg4LCAyNDAsIDE4MCwgMjEsIDEsIDg4LCAyMjUsIDYsIDIxLCAxLCA4OCwgMjMxLCAxOTMsIAorICAgIDIxLCAxLCA4OCwgMjI4LCA0LCAyMSwgMSwgODgsIDIyNSwgMTksIDIxLCAxLCA4OCwgMjQwLCA4MywgMjEsIDEsIDg4LCAKKyAgICAyNDIsIDczLCAyMSwgMSwgODgsIDIyMywgMjIwLCAyMSwgMSwgODgsIDIyMSwgOTksIDIxLCAxLCA4OCwgMjA2LCAyMCwgMjEsIAorICAgIDEsIDg4LCAyMjUsIDQ1LCAyMSwgMSwgODgsIDIyMywgMTI2LCAyNTAsIDUsIDIxLCAxLCA4OCwgMjIzLCA2OSwgMjEsIDEsIAorICAgIDg4LCAyMjAsIDE4NSwgMjEsIDEsIDg4LCAyMjYsIDI0MywgMjEsIDEsIDg4LCAyNDEsIDg0LCAyMSwgMSwgODgsIDIyNSwgCisgICAgMjI2LCAyMSwgMSwgODgsIDIyNiwgMTEyLCAyMSwgMSwgODgsIDI0MCwgODIsIDIxLCAxLCA4OCwgMjQxLCA4OSwgNzQsIDIxLCAKKyAgICAxLCA4OCwgMjI2LCA1NSwgMjEsIDEsIDg4LCAyMjAsIDc4LCAyMSwgMSwgODgsIDIyNSwgOCwgMjEsIDEsIDg4LCAyMzAsIAorICAgIDIwMywgMjEsIDEsIDg4LCAyMjEsIDQxLCAyMSwgMSwgODgsIDIyMywgMjMzLCAyMSwgMSwgODgsIDIwNiwgMjEsIDIxLCAxLCAKKyAgICA4OCwgMjI1LCAyOSwgMjEsIDEsIDg4LCAyMjIsIDUyLCAyMjEsIDEzNywgMjEsIDEsIDg4LCAyNDEsIDg5LCAyNDgsIDIzNiwgCisgICAgMjEsIDEsIDg4LCAyNDEsIDE1NSwgMjEsIDEsIDg4LCAyMjQsIDE3MSwgMjEsIDEsIDg4LCA2MiwgMjEsIDEsIDg4LCAyMTEsIAorICAgIDk4LCAyMSwgMSwgODgsIDc2LCAyMSwgMSwgODgsIDc0LCAyMSwgMSwgODgsIDIzMCwgODcsIDIxLCAxLCA4OCwgMjIyLCA1MiwgCisgICAgMjIwLCAyMTksIDIxLCAxLCA4OCwgMjEyLCAyMTUsIDIxLCAxLCA4OCwgMjEyLCAxNjMsIDIxLCAxLCA4OCwgMjI1LCAxNTAsIAorICAgIDIyNiwgNDIsIDIzOCwgNTQsIDIxLCAxLCA4OCwgMjE1LCAxNjYsIDIxLCAxLCA4OCwgMjA2LCAxNywgMjEsIDEsIDg4LCAKKyAgICAyMjQsIDI0NSwgMjEsIDEsIDg4LCAyMDUsIDIwMywgMjEsIDEsIDg4LCAyMDUsIDIzMCwgMjEzLCA5OSwgMjEsIDEsIDg4LCAKKyAgICAyMDUsIDIzMCwgMjQ3LCA3NywgMjEsIDEsIDg4LCAyMDUsIDE4NywgMjEsIDEsIDg4LCAyMDUsIDE5NSwgMjEsIDEsIDg4LCAKKyAgICAyMzEsIDE3OSwgMjEsIDEsIDg4LCAyMjEsIDk3LCAyMSwgMSwgODgsIDIyNCwgMTcyLCAyNDIsIDI0NiwgMjEsIDEsIDg4LCAKKyAgICAyMjAsIDc1LCAyMSwgMSwgODgsIDIwNiwgMjEzLCAyMSwgMSwgODgsIDI0MiwgMjEsIDIxLCAxLCA4OCwgMjA5LCAzNCwgMjEsIAorICAgIDEsIDg4LCAyMjksIDgxLCAyMSwgMSwgODgsIDIyNiwgMjU0LCAyMSwgMSwgODgsIDIxOCwgMjI2LCAyMSwgMSwgODgsIDIxOSwgCisgICAgOTUsIDIxLCAxLCA4OCwgMjI0LCAyNDQsIDIxLCAxLCA4OCwgMjI1LCA3NywgMjEsIDEsIDg4LCAyMTUsIDE1OCwgMjEsIDEsIAorICAgIDg4LCAyMTUsIDE0NSwgMjEsIDEsIDg4LCAyNDEsIDg5LCAyMTksIDYsIDIxLCAxLCA4OCwgMTk5LCAyMSwgMSwgODgsIDIyMSwgCisgICAgNTMsIDIxLCAxLCA4OCwgMjI5LCAxMDcsIDIxLCAxLCA4OCwgMjMxLCA1MywgMjEsIDEsIDg4LCAyMjcsIDgzLCAyMSwgMSwgCisgICAgODgsIDE4NSwgMjEsIDEsIDg4LCAyMjcsIDIwMiwgMjEsIDEsIDg4LCAyMTIsIDcwLCAyMSwgMSwgODgsIDIzMSwgMTIzLCAKKyAgICAyMSwgMSwgODgsIDIyNiwgMTY4LCAyMSwgMSwgODgsIDIxMiwgOTgsIDIxLCAxLCA4OCwgMjQyLCA0MywgMjEsIDEsIDg4LCAKKyAgICAyNDAsIDcwLCAyMSwgMSwgMjIxLCA4MiwgMTcyLCAyMSwgMSwgMjIxLCA4MiwgNzEsIDIxLCAxLCAyMjEsIDgyLCAyMzAsIAorICAgIDIzNiwgMjEsIDEsIDIyMSwgODIsIDI0MywgMTA0LCAyMSwgMSwgMjIxLCA4MiwgMjE5LCAyOSwgMjEsIDEsIDIyMSwgODIsIAorICAgIDIxMiwgMjAwLCAyMSwgMSwgMjIxLCA4MiwgMjIzLCAxMjUsIDIxLCAxLCAyMjEsIDgyLCAyMzAsIDE0MSwgMjEsIDEsIDIyMSwgCisgICAgODIsIDIxOCwgMTU0LCAyMSwgMSwgMjIxLCA4MiwgMjE4LCAyMDEsIDIxLCAxLCAyMjEsIDgyLCAyMjcsIDEwNiwgMjEsIDEsIAorICAgIDIyMSwgODIsIDIxMiwgMjE1LCAyMSwgMSwgMjIxLCA4MiwgMjI1LCAxNDksIDIxLCAxLCAyMjEsIDgyLCAyMjQsIDE3OCwgCisgICAgMjEsIDEsIDIyMSwgODIsIDIyOSwgMjgsIDIxLCAxLCAyMjEsIDgyLCAyMTMsIDExOSwgMjEsIDEsIDIyMSwgODIsIDIxNSwgCisgICAgMTc4LCAyMSwgMSwgMjIxLCA4MiwgMjE1LCA4MCwgMjEsIDEsIDIyMSwgODIsIDIxNiwgMjQsIDIxLCAxLCAyMjEsIDgyLCAKKyAgICAyMzAsIDE2NSwgMjEsIDEsIDIyMSwgODIsIDIzMSwgMTkzLCAyMSwgMSwgMjIxLCA4MiwgMjIzLCAxODgsIDIxLCAxLCAyMjEsIAorICAgIDgyLCAyMjMsIDIxNywgMjEsIDEsIDIyMSwgODIsIDIyNCwgMTQ5LCAyMSwgMSwgMjIxLCA4MiwgMjA1LCAyMjksIDIxLCAxLCAKKyAgICAyMjEsIDgyLCAyMTUsIDExNiwgMjEsIDEsIDIyMSwgODIsIDE5MCwgMjEsIDEsIDIyMSwgODIsIDIyMywgMjUxLCAyMSwgMSwgCisgICAgMjIxLCA4MiwgMjIxLCA5NywgMjEsIDEsIDIyMSwgODIsIDIyMywgMjMyLCAyMSwgMSwgMjIxLCA4MiwgMjA2LCAyMTMsIDIxLCAKKyAgICAxLCAyMjEsIDgyLCAyMjEsIDE2NCwgMjEsIDEsIDIyMSwgODIsIDIxOCwgNTAsIDIxLCAxLCAyMjEsIDgyLCAyMjQsIDIzMCwgCisgICAgMjEsIDEsIDIyMSwgODIsIDIxOCwgMjI2LCAyMSwgMSwgMjIxLCA4MiwgMjMxLCAyMDMsIDIxLCAxLCAyMjEsIDgyLCAyMjUsIAorICAgIDUsIDIxLCAxLCAyMjEsIDgyLCAyMjUsIDU2LCAyMSwgMSwgMjIxLCA4MiwgMjE1LCAxNTgsIDIxLCAxLCAyMjEsIDgyLCAKKyAgICAyMjAsIDc5LCAyMSwgMSwgMjIxLCA4MiwgMjQxLCAxNTUsIDIxLCAxLCAyMjEsIDgyLCAyMDcsIDk2LCAyMSwgMSwgMjIxLCAKKyAgICA4MiwgMjI5LCAyMzUsIDIxLCAxLCAyMjEsIDgyLCAyMjksIDEwNywgMjEsIDEsIDIyMSwgODIsIDIzMSwgNTMsIDIxLCAxLCAKKyAgICAyMjEsIDgyLCAyMjcsIDE0MywgMjEsIDEsIDIyMSwgODIsIDIxOSwgMiwgMjEsIDEsIDIyMSwgODIsIDE4NSwgMjEsIDEsIAorICAgIDIyMSwgODIsIDIyNiwgMTgxLCAyMSwgMSwgMjIxLCA4MiwgMjI3LCAxNTEsIDIxLCAxLCAyMjEsIDgyLCAyMTIsIDgwLCAyMSwgCisgICAgMSwgMjIxLCA4MiwgMjMxLCAxNSwgMjEsIDEsIDIyMSwgODIsIDIxNywgMTU5LCAyMSwgMSwgMjIxLCA4MiwgMjA3LCAxNDcsIAorICAgIDIyNiwgMTE3LCAxLCAyMTIsIDIxOSwgMjI2LCAxMTcsIDEsIDIyNSwgMjUsIDIyNiwgMTE3LCAxLCAyMDUsIDI0NywgMjI2LCAKKyAgICAxMTcsIDEsIDIyNiwgMjExLCAyMjYsIDExNywgMSwgMjUwLCAxODMsIDIyNiwgMTE3LCAxLCAyNDYsIDE0NSwgMjI2LCAxMTcsIAorICAgIDEsIDYyLCAyMjYsIDExNywgMSwgMjIxLCA3OCwgMjI2LCAxMTcsIDEsIDIzMSwgMTYyLCAyMjYsIDExNywgMSwgMjM5LCA5OCwgCisgICAgMjI2LCAxMTcsIDEsIDI0NiwgMTIxLCAyMjYsIDExNywgMSwgMjQ4LCAxNCwgMjI2LCAxMTcsIDEsIDIzMSwgMjIzLCAyMjYsIAorICAgIDExNywgMSwgMjIyLCAxODAsIDIyNiwgMTE3LCAxLCAyMjgsIDEsIDIyNiwgMTE3LCAxLCAyMjQsIDE5OSwgMjI2LCAxMTcsIAorICAgIDEsIDE3OSwgMjI2LCAxMTcsIDEsIDIyMiwgMTUyLCAyMjYsIDExNywgMSwgNzYsIDIyNiwgMTE3LCAxLCAyMTgsIDEyNCwgCisgICAgMjI2LCAxMTcsIDEsIDIxNSwgMTgzLCAyMjYsIDExNywgMSwgMjEyLCA0MCwgMjI2LCAxMTcsIDEsIDI0MywgMTMwLCAyMjYsIAorICAgIDExNywgMSwgMjA3LCA5NiwgMjI2LCAxMTcsIDEsIDc1LCAyMjYsIDExNywgMSwgMjMxLCA1MywgMjI2LCAxMTcsIDEsIDIzMCwgCisgICAgOTUsIDIyNiwgMTE3LCAxLCAyMzAsIDE0MSwgMjI2LCAxMTcsIDEsIDIzOSwgMTMxLCAyMjYsIDExNywgMSwgMjE4LCAyMDgsIAorICAgIDIyNiwgMTE3LCAxLCAyMTIsIDExMSwgMjI2LCAxMTcsIDE4LCAyMDUsIDg1LCAyMjYsIDExNywgMTgsIDEwMiwgMjI2LCAKKyAgICAxMTcsIDE4LCAxMDUsIDIyNiwgMTE3LCAxOCwgMTQyLCAyMjYsIDExNywgMTgsIDEzOSwgMjI2LCAxMTcsIDE4LCAxNjgsIAorICAgIDIyNiwgMTE3LCAxOCwgMTg0LCAyMjYsIDExNywgMTgsIDE5NSwgMjI2LCAxMTcsIDE4LCAxOTMsIDIyNiwgMTE3LCAxOCwgCisgICAgMjAwLCAyMjYsIDExNywgMjQ2LCAxMDAsIDIyNiwgMTE3LCA1MCwgMjQ2LCAxMDAsIDI1MCwgMTEwLCAyMDksIDY3LCAxLCAKKyAgICAyNDMsIDI0LCAyNTAsIDExMCwgMjA5LCA2NywgMSwgMTcyLCAyNTAsIDExMCwgMjA5LCA2NywgMSwgMjE3LCA4NiwgMjUwLCAKKyAgICAxMTAsIDIwOSwgNjcsIDEsIDI0MiwgNzMsIDI1MCwgMTEwLCAyMDksIDY3LCAxLCAyMjcsIDE0NiwgMjUwLCAxMTAsIDIwOSwgCisgICAgNjcsIDEsIDIwNiwgOCwgMjUwLCAxMTAsIDIwOSwgNjcsIDEsIDI0MCwgMjI5LCAyNTAsIDExMCwgMjA5LCA2NywgMSwgMjQ1LCAKKyAgICAxNzMsIDI1MCwgMTEwLCAyMDksIDY3LCAxLCAyMzEsIDE0LCAyNTAsIDExMCwgMjA5LCA2NywgMSwgMjMyLCAxMjIsIDI1MCwgCisgICAgMTEwLCAyMDksIDY3LCAxLCAyMzgsIDE1LCAyNTAsIDExMCwgMjA5LCA2NywgMSwgMjA3LCA5NiwgMjUwLCAxMTAsIDIwOSwgCisgICAgNjcsIDEsIDIwNSwgMTksIDI1MCwgMTEwLCAyMDksIDY3LCAxLCAyNDAsIDE3NCwgMjUwLCAxMTAsIDIwOSwgNjcsIDEsIAorICAgIDI0NSwgNTEsIDI1MCwgMTEwLCAyMDksIDY3LCAxLCAyNDgsIDE0OCwgMjUwLCAxMTAsIDIwOSwgNjcsIDEsIDIwOSwgMTU1LCAKKyAgICAyNTAsIDExMCwgMjA5LCA2NywgMSwgMTI0LCAyNTAsIDExMCwgMjA5LCA2NywgMSwgMjUwLCAxODMsIDI1MCwgMTEwLCAyMDksIAorICAgIDY3LCAxLCAyMDcsIDE0OCwgMjUwLCAxMTAsIDIwOSwgNjcsIDEsIDIwNiwgNDYsIDI1MCwgMTEwLCAyMDksIDY3LCAxLCAKKyAgICAxNzksIDI1MCwgMTEwLCAyMDksIDY3LCAxLCAyMDcsIDkzLCAyNTAsIDExMCwgMjA5LCA2NywgMSwgNjIsIDI1MCwgMTEwLCAKKyAgICAyMDksIDY3LCAxLCA3NiwgMjUwLCAxMTAsIDIwOSwgNjcsIDEsIDIyMiwgMTUyLCAyNTAsIDExMCwgMjA5LCA2NywgMSwgNzEsIAorICAgIDI1MCwgMTEwLCAyMDksIDY3LCAxLCAyNDMsIDEwNCwgMjUwLCAxMTAsIDIwOSwgNjcsIDEsIDc1LCAyNTAsIDExMCwgMjA5LCAKKyAgICA2NywgMSwgNzQsIDI1MCwgMTEwLCAyMDksIDY3LCAzNiwgMTI3LCAyMTEsIDExOCwgMjUwLCAxMTAsIDIwOSwgNjcsIDM2LCAKKyAgICAxMTQsIDIxMSwgMTE4LCAyNTAsIDExMCwgMjA5LCA2NywgMzYsIDIyNiwgMjQ5LCAyMTEsIDExOCwgMjUwLCAxMTAsIDIwOSwgCisgICAgNjcsIDM2LCAyMjksIDk0LCAyMTEsIDExOCwgMjUwLCAxMTAsIDIwOSwgNjcsIDM2LCAyMzgsIDI1MCwgMjExLCAxMTgsIAorICAgIDI1MCwgMTEwLCAyMDksIDY3LCAyNDEsIDgyLCAyMTMsIDI1MSwgMTEyLCAxMTEsIDIyLCAyMzEsIDIyMCwgMTEyLCAxMTEsIAorICAgIDIyLCAyMzEsIDIxNiwgMTEyLCAxMTEsIDIyLCAyMzEsIDEyMCwgMTEyLCAxMTEsIDIyLCAyMzEsIDg4LCAxMTIsIDExMSwgCisgICAgMjIsIDIzMSwgMjQxLCAxMTIsIDExMSwgMjIsIDIzMSwgMjM4LCAxMTIsIDExMSwgMjIsIDIzMCwgMjI3LCAxMTIsIDExMSwgCisgICAgMjIsIDIzMCwgMjAwLCAxMTIsIDExMSwgMjIsIDIzMSwgMjIyLCAxMTIsIDExMSwgMjIsIDIzMSwgMTc3LCAxMTIsIDExMSwgCisgICAgMjIsIDIzMiwgNDAsIDExMiwgMTExLCAyMiwgMjMyLCAzNywgMTEyLCAxMTEsIDIyLCAyMzEsIDMyLCAxMTIsIDExMSwgMjIsIAorICAgIDIzMSwgMjksIDExMiwgMTExLCAyMiwgMjMxLCAyMzUsIDExMiwgMTExLCAyMiwgMjMxLCAyMzMsIDExMiwgMTExLCAyMiwgCisgICAgMjMwLCAyMjksIDExMiwgMTExLCAyMiwgMjMwLCAyMjgsIDExMiwgMTExLCAyMiwgMjMxLCA1MCwgMTEyLCAxMTEsIDIyLCAKKyAgICAyMzEsIDE4LCAxMTIsIDExMSwgMjIsIDIzMSwgMTIyLCAxMTIsIDExMSwgMjIsIDIzMSwgMTIxLCAxMTIsIDExMSwgMjIsIAorICAgIDIzMiwgNTUsIDExMiwgMTExLCAyMiwgMjMxLCAyMzcsIDExMiwgMTExLCAyMiwgMjMwLCAxOTEsIDExMiwgMTExLCAyMiwgCisgICAgMjMwLCAxODIsIDExMiwgMTExLCAyMiwgMjMyLCA2MiwgMTEyLCAxMTEsIDIyLCAyMzIsIDU2LCAxMTIsIDExMSwgMTA3LCAKKyAgICAyMDksIDQ1LCAxMTIsIDExMSwgMTA3LCAyMjMsIDIyMywgMTEyLCAxMTEsIDEwNywgMjMwLCA3NSwgMTEyLCAxMTEsIDEwNywgCisgICAgMjM5LCA4MCwgMTEyLCAxMTEsIDEwNywgMjI0LCAxMDYsIDExMiwgMTExLCAxMDcsIDIxOSwgNjAsIDExMiwgMTExLCAxMDcsIAorICAgIDIyNCwgMTMzLCAxMTIsIDExMSwgMTA3LCAyMTksIDI0OSwgMTEyLCAxMTEsIDEwNywgMjA2LCA2MSwgMTEyLCAxMTEsIDEwNywgCisgICAgMjM4LCAyMzQsIDExMiwgMTExLCAxMDcsIDIyNywgMTY2LCAxMTIsIDExMSwgMTA3LCAyNDgsIDg2LCAxMTIsIDExMSwgMTA3LCAKKyAgICAyMjUsIDE1NCwgMTEyLCAxMTEsIDEwNywgMjM4LCAxNzAsIDExMiwgMTExLCAxMDcsIDIyMCwgMjI3LCAxMTIsIDExMSwgCisgICAgMTA3LCAyMjMsIDIyOCwgMTEyLCAxMTEsIDEwNywgMjI1LCAxOTEsIDExMiwgMTExLCAxMDcsIDI1MSwgMTg0LCAxMTIsIAorICAgIDExMSwgMTA3LCAyMDYsIDE3NywgMTEyLCAxMTEsIDEwNywgMjQ4LCAxODEsIDExMiwgMTExLCAxNDEsIDI0NywgMjM5LCAKKyAgICAyMTAsIDE2NiwgMTEyLCAxMTEsIDE0MSwgMjQ3LCAyMzksIDIxNCwgMTkzLCAxMTIsIDExMSwgMTQxLCAyNDcsIDIzOSwgCisgICAgMjMxLCAxOTUsIDExMiwgMTExLCAxNDEsIDI0NywgMjM5LCAyMzEsIDE1MywgMTEyLCAxMTEsIDE0MSwgMjQ3LCAyMzksIAorICAgIDIxMywgMTk3LCAxMTIsIDExMSwgMTQxLCAyNDcsIDIzOSwgMjM4LCAxMzcsIDExMiwgMTExLCAxNDEsIDI0NywgMjM5LCAKKyAgICAyMTIsIDE1MCwgMTEyLCAxMTEsIDMsIDIwOCwgMTU4LCAyMTEsIDI1MCwgMTEyLCAxMTEsIDMsIDIwOCwgMTU4LCAyMTAsIAorICAgIDIzMiwgMjQ4LCAxMzksIDExMiwgMTExLCAzLCAyNDcsIDIzOSwgMjQ4LCA3NywgMTEyLCAxMTEsIDMsIDIwOCwgMTU4LCAKKyAgICAyMTIsIDE4LCAxMTIsIDExMSwgMywgMjA4LCAxNTgsIDI0MiwgMTgsIDExMiwgMTExLCAzLCAyMDYsIDEzNSwgMjIzLCAyMTgsIAorICAgIDExMiwgMTExLCAzLCAyMDYsIDEzNSwgMjE4LCAyMTAsIDExMiwgMTExLCAzLCAyMDYsIDEzNSwgMjExLCA4NywgMTEyLCAKKyAgICAxMTEsIDMsIDIwNiwgMTM1LCAyNDIsIDU1LCAxMTIsIDExMSwgMywgMjA4LCAxNTgsIDIxNywgNjgsIDExMiwgMTExLCAzLCAKKyAgICAyMjcsIDEwNSwgMjEzLCAyMDEsIDExMiwgMTExLCAzLCAyMDgsIDE1OCwgMjI0LCAxMSwgMTEyLCAxMTEsIDMsIDIzNywgCisgICAgMTg2LCAyMDYsIDgwLCAxMTIsIDExMSwgMywgMjA2LCAxNzYsIDExMiwgMTExLCAzLCAyNDcsIDIzOSwgMjEwLCAyMTksIAorICAgIDIxOCwgMTE0LCAxMTIsIDExMSwgMTgsIDIwNSwgODUsIDExMiwgMTExLCAxOCwgMTAyLCAxMTIsIDExMSwgMTgsIDEwNSwgCisgICAgMTEyLCAxMTEsIDE4LCAxNDIsIDExMiwgMTExLCAxOCwgMTM5LCAxMTIsIDExMSwgMTgsIDE2OCwgMTEyLCAxMTEsIDE4LCAKKyAgICAxODQsIDExMiwgMTExLCAxOCwgMTk1LCAxMTIsIDExMSwgMTgsIDE5MywgMTEyLCAxMTEsIDE4LCAyMDAsIDExMiwgMTExLCAKKyAgICA0MywgMjEyLCA5MywgMTEyLCAxMTEsIDQzLCAyMzgsIDI4LCAxMTIsIDExMSwgNDMsIDIxMiwgOTksIDIxMSwgMjQwLCAxMTIsIAorICAgIDExMSwgNDMsIDIyNiwgMjEyLCAxMTIsIDExMSwgNDMsIDIzOCwgMzAsIDIyNiwgMjEyLCAxMTIsIDExMSwgNDMsIDIxMiwgCisgICAgOTksIDI0OSwgMjI2LCAxMTIsIDExMSwgNDMsIDIxMSwgMzgsIDExMiwgMTExLCAzLCAyMDgsIDE1OCwgMjI5LCA3NiwgMTEyLCAKKyAgICAxMTEsIDMsIDIwNiwgMTMyLCAxMTIsIDExMSwgMywgMjM4LCAyMjksIDExMiwgMTExLCAzLCAyMTIsIDksIDIzOCwgMjI5LCAKKyAgICAxMTIsIDExMSwgMywgMjA0LCAyNTAsIDIxMiwgNTEsIDExMiwgMTExLCAzLCAyMzgsIDE1NCwgMTEyLCAxMTEsIDMsIDIyNCwgCisgICAgMjUsIDExMiwgMTExLCAzLCAyMDYsIDE2OCwgMTEyLCAxMTEsIDMsIDIyMywgMjIxLCAxMTIsIDExMSwgMywgMjUxLCAxNjgsIAorICAgIDExMiwgMTExLCAzLCAyMTAsIDEwMywgMjQ4LCAxMzgsIDExMiwgMTExLCAzLCAyMjcsIDEwNSwgMjEwLCAyMzUsIDExMiwgCisgICAgMTExLCAzLCAyMTIsIDE1MSwgMTEyLCAxMTEsIDMsIDIyOSwgMTA0LCAxMTIsIDExMSwgMywgMjI2LCA3MSwgMTEyLCAxMTEsIAorICAgIDMsIDI0NywgMjM5LCAyMzksIDEyNywgMjI5LCA1NSwgMjIzLCAyMjYsIDIyMywgMjI1LCAxMTIsIDExMSwgMywgMjQ3LCAKKyAgICAyMzksIDI0NywgMzksIDIxMCwgMjI2LCAxMTIsIDExMSwgMywgMjQ3LCAyMzksIDIxMCwgMTAxLCAxMTIsIDExMSwgMywgCisgICAgMjQ3LCAyMzksIDIxMCwgMTAyLCAyNDgsIDIsIDExMiwgMTExLCAzLCAyNDcsIDIzOSwgMjIwLCA3NywgMjQ2LCA2OSwgMTEyLCAKKyAgICAxMTEsIDMsIDI0NywgMjM5LCAyMjQsIDE4LCAyMTEsIDkyLCAxMTIsIDExMSwgMjQ3LCAyMTUsIDMsIDIxMCwgMjMwLCAxMTIsIAorICAgIDExMSwgMjQ3LCAyMTUsIDMsIDIwNiwgNDgsIDExMiwgMTExLCAyNDcsIDIxNSwgMywgMjI5LCAxODcsIDExMiwgMTExLCAKKyAgICAyNDcsIDIxNSwgMywgMjMwLCA3NCwgMTEyLCAxMTEsIDI0NywgMjE1LCAzLCAyMDYsIDEzMSwgMTEyLCAxMTEsIDI0NywgCisgICAgMjE1LCAzLCAyMzEsIDMzLCAxMTIsIDExMSwgMjQ3LCAyMTUsIDMsIDIzOSwgNzcsIDExMiwgMTExLCAyNDcsIDIxNSwgMywgCisgICAgMjI2LCAxMTAsIDExMiwgMTExLCAyNDcsIDIxNSwgMywgMjExLCAyNTEsIDExMiwgMTExLCAyNDcsIDIxNSwgMywgMjEwLCAKKyAgICAyNDAsIDExMiwgMTExLCAyNDcsIDIxNSwgMywgMjIxLCA5MCwgMTEyLCAxMTEsIDI0NywgMjE1LCAzLCAyMzEsIDE2NSwgCisgICAgMTEyLCAxMTEsIDI0NywgMjE1LCAzLCAyMzksIDExNywgMTEyLCAxMTEsIDI0NywgMjE1LCAzLCAyMDksIDY0LCAxMTIsIAorICAgIDExMSwgMjQ3LCAyMTUsIDMsIDI0MiwgNTIsIDExMiwgMTExLCAyNDcsIDIxNSwgMywgMjA2LCA4NywgMTEyLCAxMTEsIDI0NywgCisgICAgMjE1LCAzLCAyMTAsIDIxMywgMTEyLCAxMTEsIDI0NywgMjE1LCAzLCAyMzAsIDE4NiwgMTEyLCAxMTEsIDI0NywgMjE1LCAzLCAKKyAgICAyMDcsIDEzOCwgMTA0LCAxLCAxNzksIDEwNCwgMSwgMjUwLCAxODMsIDEwNCwgMSwgOSwgMTc5LCAxMDQsIDEsIDIyMCwgCisgICAgMjQwLCAxMDQsIDEsIDE4NSwgMTA0LCAxLCAyMjcsIDEsIDEwNCwgMSwgMjUyLCAxOSwgMTg1LCAxMDQsIDEsIDI0MiwgNzMsIAorICAgIDEwNCwgMSwgMjA5LCA3MCwgMTA0LCAxLCAyMDgsIDIxNSwgMTA0LCAxLCAyMTIsIDIxOSwgMTA0LCAxLCAyNDYsIDE0NSwgCisgICAgMTA0LCAxLCA5LCAyMTAsIDIwOCwgMTA0LCAxLCA5LCAyMTIsIDIxOSwgMTA0LCAxLCAyMTAsIDIwOCwgMTA0LCAxLCAyNDYsIAorICAgIDU0LCAxMDQsIDEsIDE5OSwgMTA0LCAxLCAyMjQsIDIzNCwgMTA0LCAxLCA5LCAyMjQsIDEwMywgMTA0LCAxLCAyNTIsIDE5LCAKKyAgICAxOTksIDEwNCwgMSwgMjI0LCAxMDMsIDEwNCwgMSwgMjI0LCA4OSwgMTA0LCAxLCAyMzAsIDE0MSwgMTA0LCAxLCAyMjksIAorICAgIDQxLCAxMDQsIDEsIDIyOSwgMjQ4LCAxMDQsIDEsIDIyOSwgMjM3LCAxMDQsIDEsIDIxMSwgMTQ0LCAxMDQsIDEsIDI0NSwgCisgICAgNTksIDEwNCwgMSwgMjExLCAxMzYsIDEwNCwgMSwgMjQ1LCA1OCwgMTA0LCAxLCAxNzIsIDEwNCwgMSwgMjQwLCAyNDQsIAorICAgIDEwNCwgMSwgOSwgMTcyLCAxMDQsIDEsIDIyMCwgMTksIDEwNCwgMSwgMjE5LCAyNTIsIDEwNCwgMSwgMjI1LCA3NywgMTA0LCAKKyAgICAxLCAyMjUsIDI2LCAxMDQsIDEsIDI1MiwgMTksIDIyNSwgNzcsIDEwNCwgMSwgMTU1LCAxMDQsIDEsIDIwNiwgMTgxLCAxMDQsIAorICAgIDEsIDI0MCwgOTksIDEwNCwgMSwgMjQwLCA3NCwgMTA0LCAxLCAyMTAsIDIxOCwgMTA0LCAxLCAyNDMsIDE4MCwgMTA0LCAxLCAKKyAgICAyMjMsIDE0NCwgMTA0LCAxLCAyMjMsIDEyNywgMTA0LCAxLCAyMTAsIDIzMywgMTA0LCAxLCAyNDMsIDE5MCwgMTA0LCAxLCAKKyAgICA5LCAyMTAsIDIzMywgMTA0LCAxLCA5LCAyNDMsIDE5MCwgMTA0LCAxLCAyMTksIDI3LCAyMTAsIDIzMywgMTA0LCAxLCAyMTYsIAorICAgIDIsIDEwNCwgMSwgMjE0LCA5NiwgMTA0LCAxLCAyMDUsIDgxLCAxMDQsIDEsIDIwNSwgMTAsIDEwNCwgMSwgMjEwLCAyNDMsIAorICAgIDEwNCwgMSwgMjQzLCAxOTYsIDEwNCwgMSwgOSwgMjEwLCAyNDMsIDEwNCwgMSwgMjE3LCAxOTksIDEwNCwgMSwgMjA1LCAKKyAgICAxMTYsIDEwNCwgMSwgMjA1LCAxMSwgMTA0LCAxLCAyMDQsIDIzOCwgMTA0LCAxLCAyMDQsIDIxOCwgMTA0LCAxLCAyNTIsIAorICAgIDE5LCAyMDQsIDIzOCwgMTA0LCAxLCAyMDQsIDIxMCwgMTA0LCAxLCAyMDQsIDIxNywgMTA0LCAxLCAyMDcsIDk2LCAxMDQsIAorICAgIDEsIDI1MiwgMjEzLCAxMDQsIDEsIDIzOSwgMjAsIDEwNCwgMSwgMjI1LCAxOTYsIDEwNCwgMywgMjUxLCAyMTUsIDEwNCwgMywgCisgICAgMjE5LCAyNywgMjA4LCAxNjgsIDEwNCwgMywgMjE5LCAyNywgMjUxLCAyMTUsIDEwNCwgMjIsIDMsIDYyLCAxMDQsIDIyLCAzLCAKKyAgICAyNTMsIDE2NCwgMTA0LCAyMiwgMywgMjUyLCAyMDksIDEwNCwgMjIsIDMsIDI1MiwgMTIyLCAxMDQsIDIyLCAzLCAyNTIsIAorICAgIDExNCwgMTA0LCAyMiwgMywgNzYsIDEwNCwgMjIsIDMsIDIyMiwgMTUyLCAxMDQsIDIyLCAzLCAyMDYsIDI1MCwgMTA0LCAyMiwgCisgICAgMywgMjA3LCAxMjksIDEwNCwgMjIsIDMsIDc1LCAxMDQsIDIyLCAzLCAyNDMsIDQxLCAxMDQsIDIyLCAzLCAyNDMsIDI4LCAKKyAgICAxMDQsIDIyLCAzLCAyMjIsIDIwNCwgMTA0LCAyMiwgMywgNzQsIDEwNCwgMjIsIDMsIDIzNywgMTkwLCAxMDQsIDIyLCAzLCAKKyAgICAyMzcsIDE4OSwgMTA0LCAyMiwgMywgMjM3LCAxODgsIDEwNCwgMjIsIDMsIDIzMiwgMjUzLCAxMDQsIDIyLCAzLCAyMzMsIAorICAgIDEyOSwgMTA0LCAyMiwgMywgMjMzLCAxMDIsIDEwNCwgMjIsIDMsIDIzMiwgMjE2LCAxMDQsIDIyLCAzLCAyMzMsIDQyLCAKKyAgICAxMDQsIDIyLCAzLCA3MSwgMTA0LCAyMiwgMywgMjEwLCAxOCwgMTA0LCAyMiwgMywgMjEwLCAxNywgMTA0LCAyMiwgMywgCisgICAgMjEwLCAxNiwgMTA0LCAyMiwgMywgMjA5LCAxNjIsIDEwNCwgMjIsIDMsIDIxMCwgMCwgMTA0LCAyMiwgMywgMjA5LCAyMjEsIAorICAgIDEwNCwgMjIsIDMsIDIwNiwgMTIzLCAxMDQsIDIyLCAzLCAyMDYsIDExLCAxMDQsIDIyLCAzLCAyNTIsIDI0OCwgMTA0LCAyMiwgCisgICAgMywgMjUyLCAyNDQsIDEwNCwgMjIsIDMsIDI0MiwgMjI5LCAxMDQsIDIyLCAzLCAyMTgsIDkzLCAyNDIsIDIyOSwgMTA0LCAKKyAgICAyMiwgMywgMjQyLCAyMzUsIDEwNCwgMjIsIDMsIDIxOCwgOTMsIDI0MiwgMjM1LCAxMDQsIDIyLCAzLCAyNTIsIDIwNSwgCisgICAgMTA0LCAyMiwgMywgMjQzLCA5MCwgMTA0LCAyMiwgMywgMjUxLCAxODQsIDEwNCwgMjIsIDMsIDIyMiwgOTcsIDEwNCwgMjIsIAorICAgIDMsIDIyNiwgMzMsIDEwNCwgMjIsIDMsIDIyNSwgNzksIDEwNCwgMTM1LCAyMTgsIDE2NywgMTA0LCAxMzUsIDIxMSwgMTAyLCAKKyAgICAyMTgsIDE2NywgMTA0LCAxMzUsIDUyLCAxMDQsIDEzNSwgNTUsIDEwNCwgMSwgMjExLCAxMTYsIDEwNCwgMSwgMjExLCAxMTUsIAorICAgIDEwNCwgMSwgMjExLCAxMTQsIDEwNCwgMSwgMjExLCAxMTMsIDEwNCwgMSwgMjExLCAxMTIsIDEwNCwgMSwgMjExLCAxMTEsIAorICAgIDEwNCwgMSwgMjExLCAxMTAsIDEwNCwgMSwgMjE5LCAyNywgMjExLCAxMTcsIDEwNCwgMSwgMjE5LCAyNywgMjExLCAxMTYsIAorICAgIDEwNCwgMSwgMjE5LCAyNywgMjExLCAxMTQsIDEwNCwgMSwgMjE5LCAyNywgMjExLCAxMTMsIDEwNCwgMSwgMjE5LCAyNywgCisgICAgMjExLCAxMTIsIDEwNCwgMSwgMjE5LCAyNywgMjExLCAxMTAsIDY0LCAxLCAyNTIsIDE5LCA3NSwgMTYxLCAxLCAyNTIsIDE5LCAKKyAgICAyMDYsIDUyLCA5NSwgMSwgMjM5LCAxNTUsIDk1LCAxLCAyMDYsIDE5NSwgOTUsIDEsIDIyMiwgNjcsIDk1LCAxLCAyMTMsIAorICAgIDEwLCA5NSwgMSwgMjQyLCAxMzksIDk1LCAxLCAyMzIsIDc2LCA5NSwgMSwgMTQ5LCA5NSwgMSwgMjUxLCAxNTAsIDk1LCAxLCAKKyAgICAyNDYsIDI0MCwgOTUsIDEsIDIwOSwgMTQ4LCA5NSwgMSwgMjQxLCA1NSwgOTUsIDEsIDEzNywgOTUsIDEsIDIyMiwgNjgsIAorICAgIDIyNiwgMzMsIDk1LCAxLCAyNDYsIDI0MSwgMTgyLCA5NSwgMSwgMjQyLCAxNDAsIDIyNiwgMzMsIDk1LCAxLCAyMzIsIDc3LCAKKyAgICAyMjksIDI4LCA5NSwgMSwgMjE5LCAxNTAsIDE4MiwgOTUsIDEsIDIxMiwgNTgsIDk1LCAxLCAyMTQsIDIyMywgMjQ1LCAxOTMsIAorICAgIDk1LCAxLCAyNDUsIDE5MywgOTUsIDEsIDIzMSwgNzMsIDk1LCAxLCAyMTQsIDIyMywgMjMyLCAyMDMsIDk1LCAxLCAyMzgsIAorICAgIDIzOCwgOTUsIDEsIDIyOSwgMjQ5LCA5NSwgMSwgMjE4LCAyMTMsIDk1LCAxLCAyMjksIDI4LCA5NSwgMSwgMjI2LCAzMywgCisgICAgOTUsIDEsIDIzMiwgMjAzLCA5NSwgMSwgMTgyLCA5NSwgMSwgMjI5LCAyOSwgMjI2LCAzMywgOTUsIDEsIDIyNiwgMzQsIAorICAgIDIyOSwgMjgsIDk1LCAxLCAyMzIsIDIwNCwgMjI5LCAyOCwgOTUsIDEsIDIxOCwgMSwgMjMyLCAyMDMsIDk1LCAxLCAyMjksIAorICAgIDI5LCAyLCAyNDUsIDIzLCA5NSwgMSwgMjI2LCAzNCwgMiwgMjQ1LCAyMywgOTUsIDEsIDIzMiwgMjA0LCAyLCAyNDUsIDIzLCAKKyAgICA5NSwgMSwgMjMyLCAyMDQsIDIsIDE3NywgMjMzLCAyNiwgMjMsIDUyLCA5NSwgMSwgMjE4LCAxLCAyLCAyNDUsIDIzLCA5NSwgCisgICAgMSwgMjE4LCAxLCAyLCA2NywgNTUsIDk1LCAxLCAyMjksIDI5LCAxODIsIDk1LCAxLCAyMjYsIDM0LCAxODIsIDk1LCAxLCAKKyAgICAyMzIsIDIwNCwgMTgyLCA5NSwgMSwgMjE4LCAxLCAxODIsIDk1LCAxLCAyMjksIDI5LCAyMjYsIDM0LCAxODIsIDk1LCAxLCAKKyAgICAyMjYsIDM0LCAyMjksIDI5LCAxODIsIDk1LCAxLCAyMzIsIDIwNCwgMjI5LCAyOSwgMTgyLCA5NSwgMSwgMjE4LCAxLCAyMzIsIAorICAgIDIwNCwgMTgyLCA5NSwgMSwgMjMyLCAyMDQsIDIxOCwgMSwgMiwgMjQ1LCAyMywgOTUsIDEsIDIzMiwgMjA0LCAyMjYsIDMzLCAKKyAgICA5NSwgMSwgMjMyLCAyMDQsIDIyNiwgMzQsIDE4MiwgOTUsIDEsIDIxOCwgMSwgMjEzLCAxMCwgOTUsIDEsIDIxOCwgMSwgCisgICAgMjEzLCAxMSwgMTM3LCA5NSwgMSwgMjE4LCAxLCAyMjIsIDY3LCA5NSwgMSwgMjE4LCAxLCAyMjIsIDY4LCAxMzcsIDk1LCAxLCAKKyAgICAyMTMsIDExLCAxODIsIDk1LCAxLCAyMTMsIDExLCAyMTksIDE1MCwgMTgyLCA5NSwgMSwgMjA3LCAxMjksIDk1LCAxLCAyMDcsIAorICAgIDMwLCA5NSwgMSwgMjA3LCAxMzAsIDEzNywgOTUsIDEsIDIxOCwgMSwgMjI2LCAzMywgOTUsIDEsIDIxOCwgMSwgMjI5LCAyOCwgCisgICAgOTUsIDEsIDIzMiwgNzcsIDIxOSwgMTUwLCAxODIsIDk1LCAxLCAyNDEsIDU2LCAyMTksIDE1MCwgMTgyLCA5NSwgMSwgMjE4LCAKKyAgICAxLCAyMzIsIDc2LCA5NSwgMSwgMjE4LCAxLCAyMzIsIDc3LCAxMzcsIDk1LCAxLCA2MiwgOTUsIDEsIDIxNCwgMjIzLCAyMjIsIAorICAgIDc4LCA5NSwgMSwgMjIyLCAyMzAsIDk1LCAxLCA3NiwgOTUsIDEsIDI1MiwgNjksIDk1LCAxLCA3NCwgOTUsIDEsIDc1LCA5NSwgCisgICAgMSwgMjMzLCAxMjksIDk1LCAxLCAyMTUsIDE0NCwgNzQsIDk1LCAxLCAyMDksIDI1MiwgOTUsIDEsIDI0MywgMTA0LCA5NSwgCisgICAgMSwgMjE0LCAyMjMsIDI0MywgOTIsIDk1LCAxLCAyMTgsIDEwOCwgNzQsIDk1LCAxLCAyMTQsIDIyMywgMjQzLCAxMDQsIDk1LCAKKyAgICAxLCAxNTIsIDc0LCA5NSwgMSwgMjA2LCA1MiwgOTUsIDEsIDcxLCA5NSwgMSwgMjQyLCAxOTIsIDk1LCAxLCAyMDYsIDE0NiwgCisgICAgOTUsIDEsIDEwNiwgMjI2LCAzMywgOTUsIDEsIDE1MiwgNzEsIDk1LCAxLCAyMTgsIDEwOCwgNzEsIDk1LCAxLCAyMDksIAorICAgIDI1MywgOTUsIDEsIDIxNCwgMjIzLCA3MSwgOTUsIDEsIDIyMiwgMTQ5LCA5NSwgMSwgMjIyLCA3OCwgOTUsIDEsIDIyMiwgCisgICAgOTcsIDk1LCAxLCAyMDcsIDk2LCA5NSwgMSwgMjA2LCAyNTAsIDk1LCAxLCAyMDcsIDIwLCA5NSwgMSwgMjA3LCA0MywgOTUsIAorICAgIDEsIDIwNiwgMjI1LCA5NSwgMSwgMjI1LCAxOTgsIDcxLCA5NSwgMSwgMjI1LCAxOTgsIDc2LCA5NSwgMSwgMjI1LCAxOTgsIAorICAgIDc0LCA5NSwgMSwgMjI1LCAxOTgsIDYyLCA5NSwgMSwgMjIxLCAxMjAsIDI1MiwgMTIyLCA5NSwgMSwgMjIxLCAxMjAsIDI1MiwgCisgICAgMTM2LCA5NSwgMSwgMjE0LCAyMjMsIDI0MywgNDEsIDk1LCAxLCAyMTQsIDIyMywgMjUyLCAxMjIsIDk1LCAxLCAyMTQsIAorICAgIDIyMywgMjIyLCAxNjUsIDk1LCAxLCAxMTUsIDIyOSwgMjgsIDk1LCAyNTIsIDIyNywgNDcsIDE5NCwgMjE3LCA4MSwgOTUsIAorICAgIDI1MiwgMjI3LCAyMjYsIDI0OSwgMTk0LCAyMTcsIDgxLCA5NSwgMjUyLCAyMjcsIDQ4LCAxOTQsIDIxNywgODEsIDk1LCAKKyAgICAyNTIsIDIyNywgMTE0LCA3OSwgMjE3LCA4MSwgOTUsIDI1MiwgMjI3LCAyMjYsIDI0OSwgNzksIDIxNywgODEsIDk1LCAyNTIsIAorICAgIDIyNywgMTI3LCA3OSwgMjE3LCA4MSwgOTUsIDI1MiwgMjI3LCAyNTEsIDE5MCwgMjE3LCA4MSwgOTUsIDI1MiwgMjI3LCAKKyAgICAyNTEsIDE5MCwgMjMwLCAzNywgMjE3LCA4MSwgOTUsIDI1MiwgMjI3LCAyNTEsIDE5MCwgMjEyLCAxNzAsIDk1LCAyNTIsIAorICAgIDIyNywgMjUxLCAxOTAsIDIxMiwgMTkxLCA5NSwgMjUyLCAyMjcsIDI1MSwgMTkwLCAxNzQsIDEwOSwgOTUsIDI1MiwgMjI3LCAKKyAgICAyNTEsIDE5MCwgMjM3LCAyMjUsIDEwOSwgOTUsIDI1MiwgMjI3LCAyNTEsIDE5MCwgMjEyLCAxNzEsIDEwOSwgOTUsIDI1MiwgCisgICAgMjI3LCAxMjcsIDE1MywgOTUsIDI1MiwgMjI3LCAxMjcsIDIxMSwgMTk3LCAxNTMsIDk1LCAyNTIsIDIyNywgMTI3LCAyMzksIAorICAgIDIzNiwgOTUsIDI1MiwgMjI3LCAxMjcsIDE1MiwgMjM5LCAyMzYsIDk1LCAyNTIsIDIyNywgMTI3LCAyNDUsIDIzLCA5NSwgCisgICAgMjUyLCAyMjcsIDEyNywgMjQ3LCAyMzMsIDk1LCAyNTIsIDIyNywgMTI3LCAyMjksIDIwNSwgOTUsIDI1MiwgMjI3LCAxMjcsIAorICAgIDIwNywgNjQsIDk1LCAyNTIsIDIyNywgMTI3LCAyMDksIDIyLCA5NSwgMjUyLCAyMjcsIDExNCwgMTUzLCA5NSwgMjUyLCAKKyAgICAyMjcsIDExNCwgMjExLCAxOTcsIDE1MywgOTUsIDI1MiwgMjI3LCAxMTQsIDIzOSwgMjM2LCA5NSwgMjUyLCAyMjcsIDExNCwgCisgICAgMTUyLCAyMzksIDIzNiwgOTUsIDI1MiwgMjI3LCAxMTQsIDI0NSwgMjMsIDk1LCAyNTIsIDIyNywgMTE0LCAyNDcsIDIzMywgCisgICAgOTUsIDI1MiwgMjI3LCAxMTQsIDIyOSwgMjA1LCA5NSwgMjUyLCAyMjcsIDExNCwgMjA3LCA2NCwgOTUsIDI1MiwgMjI3LCAKKyAgICAxMTQsIDIwOSwgMjIsIDk1LCAyNTIsIDIyNywgMTE0LCA0NSwgOTUsIDMsIDE0OCwgMiwgMjQ3LCA1OSwgOTUsIDIxMiwgMTcsIAorICAgIDEsIDIxNywgNTksIDk1LCA1MCwgODMsIDk1LCAyMjAsIDcyLCAyNDgsIDQyLCAyNDEsIDgyLCAyMTMsIDI1MSwgMjE1LCAKKyAgICAxMzEsIDI0MSwgMTM1LCAxLCAyMjIsIDg0LCAyMTUsIDEzMSwgMjQxLCAxMzUsIDI0NywgMTE1LCAyMjIsIDg0LCAyMTUsIAorICAgIDEzMSwgMjQxLCAxMzUsIDEzMCwgMjE0LCA3LCAyMTUsIDEzMSwgMjQxLCAxMzUsIDEyMCwgMjE0LCA3LCA1OCwgMzAsIDE2LCAKKyAgICAyMjAsIDg2LCA1OCwgMzAsIDE2LCAyNDYsIDgwLCA1OCwgMzAsIDE2LCAyMjEsIDEyNCwgNTgsIDMwLCAxNiwgMjIyLCA3NSwgCisgICAgMjQzLCA3MiwgNTgsIDMwLCAxNiwgMjIyLCA3NSwgMjQ1LCAxMDgsIDU4LCAzMCwgMTYsIDIwOSwgNTcsIDI0MywgNzIsIDU4LCAKKyAgICAzMCwgMTYsIDIwOSwgNTcsIDI0NSwgMTA4LCA1OCwgMzAsIDE2LCAyMzEsIDI0NCwgNTgsIDMwLCAxNiwgMjEzLCAyNywgNTgsIAorICAgIDMwLCAxNiwgMjIxLCAyMjMsIDU4LCAzMCwgMTYsIDIwNSwgMjE5LCA1OCwgMzAsIDE2LCAyMDUsIDIyMCwgMjQ1LCAxMDgsIAorICAgIDU4LCAzMCwgMTYsIDIzMCwgMjUzLCA1OCwgMzAsIDE2LCAyNTIsIDY0LCAyNDMsIDcyLCA1OCwgMzAsIDE2LCAyNDIsIDE2MywgCisgICAgMjQzLCA3MiwgNTgsIDMwLCAxNiwgMjEyLCAxMDksIDU4LCAzMCwgMTYsIDIzMSwgMTk5LCA1OCwgMzAsIDE2LCAyNTIsIDU0LCAKKyAgICA1OCwgMzAsIDE2LCAyNTIsIDU1LCAyNDUsIDEwOCwgNTgsIDMwLCAxNiwgMjEzLCAzNCwgNTgsIDMwLCAxNiwgMjEyLCAwLCAKKyAgICA1OCwgMzAsIDE2LCAyMjIsIDE3NiwgMjUyLCAxNywgNTgsIDMwLCAxNiwgMjQwLCAzLCAyNTIsIDE3LCA1OCwgMzAsIDE2LCAKKyAgICAyMjAsIDg1LCA1OCwgMzAsIDE2LCAyNDgsIDEwMiwgNTgsIDMwLCAxNiwgMjA5LCA0NiwgNTgsIDMwLCAxNiwgMjMyLCAyMjUsIAorICAgIDI1MiwgMTcsIDU4LCAzMCwgMTYsIDIzMSwgMjAxLCAyNTIsIDE3LCA1OCwgMzAsIDE2LCAyMzEsIDIwMCwgMjUyLCAxNywgCisgICAgNTgsIDMwLCAxNiwgMjE3LCAxMTgsIDU4LCAzMCwgMTYsIDIyMSwgMjEzLCA1OCwgMzAsIDE2LCAyMTQsIDE2LCAyNTIsIDU3LCAKKyAgICA1OCwgMzAsIDE2LCAyMjIsIDc0LCAyNTIsIDE3LCA1OCwgMzAsIDE2LCAyMDksIDU2LCAyNTIsIDE3LCA1OCwgMzAsIDE2LCAKKyAgICAyNTIsIDU4LCAyNTIsIDE3LCA1OCwgMzAsIDE2LCAyNTIsIDUyLCA1OCwgMzAsIDE2LCAyMzEsIDYzLCA1OCwgMzAsIDE2LCAKKyAgICAyMTgsIDIyMCwgNTgsIDMwLCAxNiwgMjIxLCA1MSwgMjUyLCAxNywgNTgsIDMwLCAxNiwgMjExLCAxNzMsIDU4LCAzMCwgMTYsIAorICAgIDI1MiwgMTIwLCA1OCwgMzAsIDE2LCAyMTcsIDYyLCA1OCwgMzAsIDE2LCAyMTMsIDM3LCAyNTIsIDE3LCA1OCwgMzAsIDE2LCAKKyAgICAyMTMsIDM3LCAyMjcsIDY0LCAyMTQsIDE0LCA1OCwgMzAsIDE2LCAyMjIsIDY5LCAyNTIsIDE3LCA1OCwgMzAsIDE2LCAyMTIsIAorICAgIDM1LCA1OCwgMzAsIDE2LCAyMzAsIDI0LCA1OCwgMzAsIDE2LCAyNDMsIDE5OSwgNTgsIDMwLCAxNiwgMjExLCA1MywgNTgsIAorICAgIDMwLCAxNiwgMjEyLCA4MiwgNTgsIDMwLCAxNiwgMjMxLCAwLCA1OCwgMzAsIDE2LCAyNTIsIDY0LCAyNDIsIDE2MywgMjI1LCAKKyAgICA5NywgNTgsIDMwLCAxNiwgMjQxLCA5MCwgMjUyLCAxNywgNTgsIDMwLCAxNiwgMjMzLCA4MSwgNTgsIDMwLCAxNiwgMjExLCAKKyAgICAyNCwgMjUyLCAxNywgNTgsIDMwLCAxNiwgMjMxLCAyNDcsIDIxMSwgMjMsIDU4LCAzMCwgMTYsIDIyMSwgMTUyLCA1OCwgMzAsIAorICAgIDE2LCAyMjAsIDkwLCA1OCwgMzAsIDE2LCAyMzEsIDM0LCA1OCwgMzAsIDE2LCAyNDgsIDI2LCAyNTIsIDE3LCA1OCwgMzAsIAorICAgIDE2LCAyMTksIDcwLCA1OCwgMzAsIDE2LCAyMjEsIDIyNiwgMjUyLCAxNywgNTgsIDMwLCAxNiwgMjIxLCAyMjQsIDI1MiwgCisgICAgMTcsIDU4LCAzMCwgMTYsIDIzNywgMTc5LCA1OCwgMzAsIDE2LCAyMjUsIDIwOCwgNTgsIDMwLCAxNiwgMjIxLCAxMDIsIDU4LCAKKyAgICAzMCwgMTYsIDIzMSwgMzUsIDI1MiwgMTUxLCA1OCwgMzAsIDE2LCAyMTEsIDI0LCAyNTIsIDE1MSwgNTgsIDMwLCAxNiwgCisgICAgMjEzLCAyNDUsIDU4LCAzMCwgMTYsIDIzOSwgMjIzLCA1OCwgMzAsIDE2LCAyMzIsIDIyNSwgMjI1LCA5NywgNTgsIDMwLCAKKyAgICAxNiwgMjIyLCAxNzYsIDIyNSwgOTcsIDU4LCAzMCwgMTYsIDIyMiwgNzUsIDIyNSwgOTcsIDU4LCAzMCwgMTYsIDIyMSwgCisgICAgMTAxLCA1OCwgMzAsIDE2LCAyMzEsIDE5LCA1OCwgMzAsIDE2LCAyMjEsIDEwMCwgNTgsIDMwLCAxNiwgMjMwLCAyNTUsIDU4LCAKKyAgICAzMCwgMTYsIDIyMSwgMTUzLCAyMjUsIDk3LCA1OCwgMzAsIDE2LCAyMzEsIDIwMCwgMjI1LCA5OCwgMjUyLCA5NSwgNTgsIAorICAgIDMwLCAxNiwgMjMxLCAyMDEsIDIyNSwgOTgsIDI1MiwgOTUsIDU4LCAzMCwgMTYsIDIwNSwgMjE3LCA1OCwgMzAsIDE2LCAKKyAgICAyNTIsIDU1LCAyMjUsIDk3LCA1OCwgMzAsIDE2LCAyNTIsIDU2LCAyMTMsIDM1LCAyMjUsIDk3LCA1OCwgMzAsIDE2LCAyMDUsIAorICAgIDIxOCwgNTgsIDMwLCAxNiwgMjMwLCAyNTQsIDU4LCAzMCwgMTYsIDI0MywgNjcsIDU4LCAzMCwgMTYsIDI0OCwgMTAzLCA1OCwgCisgICAgMzAsIDE2LCAyMjYsIDIyMSwgMjMyLCAyMjQsIDU4LCAzMCwgMTYsIDIwOSwgNTcsIDIyNSwgOTcsIDU4LCAzMCwgMTYsIAorICAgIDIyMSwgNTEsIDIyNSwgOTcsIDU4LCAzMCwgMTYsIDIyMCwgOTEsIDIyNSwgOTcsIDU4LCAzMCwgMTYsIDIyMiwgMTcyLCA1OCwgCisgICAgMzAsIDE2LCAyNTIsIDgyLCA1OCwgMzAsIDE2LCAyMjksIDM4LCA1OCwgMzAsIDE2LCAyMjEsIDIyNCwgMjI1LCA5NywgNTgsIAorICAgIDMwLCAxNiwgMjIxLCAyMjYsIDIyNSwgOTcsIDU4LCAzMCwgMTYsIDI0MiwgMTk3LCAyMjEsIDIyNSwgNTgsIDMwLCAxNiwgCisgICAgMjMwLCAxNjMsIDU4LCAzMCwgMTYsIDI1MiwgODMsIDU4LCAzMCwgMTYsIDIxMSwgMjQsIDIyNSwgOTcsIDU4LCAzMCwgMTYsIAorICAgIDI0MywgNzAsIDU4LCAzMCwgMTYsIDIxMywgMzcsIDIyNSwgOTcsIDU4LCAzMCwgMTYsIDIxMywgMjgsIDU4LCAzMCwgMTYsIAorICAgIDI0OCwgMjYsIDIyNSwgOTcsIDU4LCAzMCwgMTYsIDI0MiwgMjUwLCA1OCwgMzAsIDE2LCAyMTcsIDYzLCAyMjUsIDk3LCA1OCwgCisgICAgMzAsIDE2LCAyMDYsIDE2MiwgMjMxLCA2MywgNTgsIDMwLCAxNiwgMjExLCAyMSwgNTgsIDMwLCAxNiwgMjIwLCA5MiwgNTgsIAorICAgIDMwLCAxNiwgMjExLCAyNSwgNTgsIDMwLCAxNiwgMjExLCAyMiwgNTgsIDMwLCAxNiwgMjIwLCA4OSwgNTgsIDMwLCAxNiwgCisgICAgMjExLCAyMCwgNTgsIDMwLCAxNiwgMjIwLCA4OCwgNTgsIDMwLCAxNiwgMjQwLCAyLCA1OCwgMzAsIDE2LCAyNTIsIDksIDU4LCAKKyAgICAzMCwgMTYsIDI0MiwgMTk3LCAyNTIsIDksIDU4LCAzMCwgMTYsIDIyMiwgNjksIDIyNSwgOTcsIDU4LCAzMCwgMTYsIDIxMiwgCisgICAgMzQsIDI0MiwgMjA5LCA1OCwgMzAsIDE2LCAyMTIsIDM0LCAyNDIsIDE2MiwgNTgsIDMwLCAxNiwgMjEyLCAzNiwgMjUyLCAKKyAgICA1OSwgNTgsIDMwLCAxNiwgMjEyLCAyOCwgMjMyLCA0MiwgMjUyLCA1MSwgNTgsIDMwLCAxNiwgMjMxLCAyNDYsIDU4LCAzMCwgCisgICAgMTYsIDI0MywgMzAsIDU4LCAzMCwgMTYsIDIwNiwgMTQsIDIzMSwgMjQzLCA1OCwgMzAsIDE2LCAyMDYsIDE0LCAyNTIsIDk1LCAKKyAgICA1OCwgMzAsIDE2LCAyMTQsIDE1LCA1OCwgMzAsIDE2LCAyMzEsIDY0LCAyNTIsIDk1LCA1OCwgMzAsIDE2LCAyNDUsIDEwOSwgCisgICAgMjUyLCAxNywgNTgsIDMwLCAxNiwgMjMxLCAxLCAyNTIsIDE3LCA1OCwgMzAsIDE2LCAyMzEsIDEsIDI1MiwgMTUxLCA1OCwgCisgICAgMzAsIDE2LCAyMzEsIDEsIDIyNSwgOTcsIDU4LCAzMCwgMTYsIDI1MiwgNTgsIDIyNSwgOTcsIDU4LCAzMCwgMTYsIDI1MiwgCisgICAgNjAsIDU4LCAzMCwgMTYsIDI0NSwgMTA4LCA1OCwgMzAsIDE2LCAyMTEsIDM1LCA1OCwgMzAsIDE2LCAyMTIsIDczLCA1OCwgCisgICAgMzAsIDE2LCAyMzEsIDIzLCA1OCwgMzAsIDE2LCAyMzAsIDI5LCAyNDMsIDIzLCAyNDgsIDE2LCA1OCwgMzAsIDE2LCAyMzAsIAorICAgIDI5LCAyNDMsIDIwMCwgMjQ4LCAxNywgNTgsIDMwLCAxNiwgMjMwLCAyOSwgMjExLCAzNywgMjQ4LCAxNywgNTgsIDMwLCAxNiwgCisgICAgMjMwLCAyOSwgMjEyLCA4NCwgMjQ4LCAxNywgNTgsIDMwLCAxNiwgMjMwLCAyOSwgMjMzLCA3NiwgMjQ4LCAxNiwgNTgsIDMwLCAKKyAgICAxNiwgMjQwLCAzLCAyMjUsIDk4LCAyNTIsIDk1LCA1OCwgMzAsIDE2LCAyNDAsIDMsIDIyMSwgMjE0LCAyNTIsIDUsIDU4LCAKKyAgICAzMCwgMTYsIDI0MCwgMywgMjIxLCAyMTQsIDI0NSwgMTk3LCA1OCwgMzAsIDE2LCAyNDUsIDEzMiwgNTgsIDMwLCAxNiwgCisgICAgMjQ1LCAxMzMsIDIyMSwgMjE0LCAyNTIsIDYsIDIzMSwgMjQzLCA1OCwgMzAsIDE2LCAyNDUsIDEzMywgMjIxLCAyMTQsIAorICAgIDI1MiwgNiwgMjUyLCA5NSwgNTgsIDMwLCAxNiwgMjQ1LCAxMzMsIDIyMSwgMjE0LCAyNDUsIDE5NywgNTgsIDMwLCAxNiwgCisgICAgMjExLCA0MiwgNTgsIDMwLCAxNiwgMjUyLCAxMCwgNTgsIDMwLCAxNiwgMjMzLCA4MywgNTgsIDMwLCAxNiwgMjQ1LCAxNTQsIAorICAgIDU4LCAzMCwgMTYsIDI1MiwgMjE1LCAyMjAsIDE5NCwgMjUyLCAxMSwgNTgsIDMwLCAxNiwgMjUyLCAyMTUsIDI1MiwgOCwgCisgICAgNTgsIDMwLCAxNiwgMjUyLCAyMTUsIDI1MiwgMTEsIDU4LCAzMCwgMTYsIDI1MiwgMjE1LCAyMjcsIDU4LCA1OCwgMzAsIDE2LCAKKyAgICAyNTIsIDIxNSwgMjI3LCA2OSwgNTgsIDMwLCAxNiwgMjUyLCAyMTUsIDI0MCwgNCwgNTgsIDMwLCAxNiwgMjUyLCAyMTUsIAorICAgIDI0MCwgMSwgNTgsIDMwLCAxNiwgMjUyLCAyMTUsIDIyMCwgMTk0LCAyNDAsIDQsIDU4LCAzMCwgMTYsIDIyNywgMTgzLCAKKyAgICAyMjAsIDk4LCAyMzcsIDE3NywgNTgsIDMwLCAxNiwgMjI3LCAxODMsIDI1MiwgMTUzLCAyMjAsIDk4LCAyMzcsIDE3NywgNTgsIAorICAgIDMwLCAxNiwgMjI3LCAxODMsIDI0NSwgMTk2LCAyMzcsIDE3NywgNTgsIDMwLCAxNiwgMjI3LCAxODMsIDI1MiwgMTUzLCAKKyAgICAyNDUsIDE5NiwgMjM3LCAxNzcsIDU4LCAzMCwgMTYsIDIyNywgMTgzLCAyMTEsIDMwLCAyMzcsIDE3NywgNTgsIDMwLCAxNiwgCisgICAgMjI3LCAxODMsIDIxMSwgNDMsIDU4LCAzMCwgMTYsIDIyNywgMTgzLCAyMTIsIDc4LCAyMzcsIDE3NywgNTgsIDMwLCAxNiwgCisgICAgMjI3LCAxODMsIDIxMiwgNzgsIDIzMCwgMzMsIDIzNywgMTc3LCA1OCwgMzAsIDE2LCAyMjcsIDE4MywgMjMwLCAzMywgMjM3LCAKKyAgICAxNzcsIDU4LCAzMCwgMTYsIDIyNywgMTgzLCAyMjAsIDIzNywgMjM3LCAxNzcsIDU4LCAzMCwgMTYsIDIzMiwgMjMyLCAyMTIsIAorICAgIDEwMiwgMjM3LCAxNzgsIDU4LCAzMCwgMTYsIDI1MiwgNTYsIDIxMiwgMTAyLCAyMzcsIDE3OCwgNTgsIDMwLCAxNiwgMjQyLCAKKyAgICA0NiwgMjEyLCA3NSwgNTgsIDMwLCAxNiwgMjQyLCA0NiwgMjI2LCAxNjEsIDU4LCAzMCwgMTYsIDI0MiwgNDYsIDI0NSwgCisgICAgMTM3LCA1OCwgMzAsIDE2LCAyMjcsIDE4MywgMjA5LCA1MCwgMjM3LCAxNzcsIDU4LCAzMCwgMTYsIDIyNywgMTgzLCAyMjAsIAorICAgIDk3LCAyMzcsIDE3NywgNTgsIDMwLCAxNiwgMjI3LCAxODMsIDIyMCwgMjM3LCAyMTIsIDc4LCAyMzcsIDE3NywgNTgsIDMwLCAKKyAgICAxNiwgMjM5LCAyNTUsIDIyNiwgMzQsIDI1MiwgNTksIDU4LCAzMCwgMTYsIDIzOSwgMjU1LCAyMjYsIDM0LCAyNDUsIDEwNywgCisgICAgNTgsIDMwLCAxNiwgMjQzLCAzOSwgMjMyLCA0MiwgMjQxLCA5MCwgMjA4LCAxNTYsIDU4LCAzMCwgMTYsIDIzMywgODIsIDU4LCAKKyAgICAzMCwgMTYsIDIzMywgODAsIDU4LCAzMCwgMTYsIDI0MSwgOTAsIDI1MiwgMTgsIDI0NSwgMTk1LCAyMzcsIDE3NiwgNTgsIAorICAgIDMwLCAxNiwgMjQxLCA5MCwgMjQ1LCAxNTIsIDE3OSwgNTgsIDMwLCAxNiwgMjQxLCA5MCwgMjQ1LCAxNTIsIDIyNSwgMjA4LCAKKyAgICA1OCwgMzAsIDE2LCAyNDEsIDkwLCAyMjUsIDIwMywgMjM3LCAxNzcsIDU4LCAzMCwgMTYsIDI0MSwgOTAsIDI0NSwgMTUyLCAKKyAgICAyNDUsIDE2OCwgNTgsIDMwLCAxNiwgMjQxLCA5MCwgMjE0LCAyNDIsIDI0NSwgMTUxLCAyNDUsIDE2OCwgNTgsIDMwLCAxNiwgCisgICAgMjQxLCA5MCwgMjQ1LCAxNTIsIDIzMSwgMjI0LCA1OCwgMzAsIDE2LCAyNDEsIDkwLCAyNDUsIDE1MiwgMjA1LCAxOSwgNTgsIAorICAgIDMwLCAxNiwgMjQxLCA5MCwgMjQ1LCAxNTIsIDIyNCwgMjMxLCAyMzEsIDI0MywgNTgsIDMwLCAxNiwgMjQxLCA5MCwgMjQ1LCAKKyAgICAxNTIsIDIyNCwgMjMxLCAyNTIsIDk1LCA1OCwgMzAsIDE2LCAyNDEsIDkwLCAyMjcsIDIyNywgMjQ4LCAxOCwgMjQ1LCAxMzcsIAorICAgIDU4LCAzMCwgMTYsIDI0MSwgOTAsIDIyNywgMjI3LCAyNDgsIDE4LCAyMjYsIDE2MSwgNTgsIDMwLCAxNiwgMjQxLCAyNTEsIAorICAgIDIxNCwgMjQyLCAyNDgsIDE4LCAyMDksIDQ5LCA1OCwgMzAsIDE2LCAyNDEsIDkwLCAyMTQsIDI0MiwgMjQ4LCAxOCwgMjEzLCAKKyAgICAzOCwgNTgsIDMwLCAxNiwgMjQxLCA5MCwgMjI1LCAxMDAsIDU4LCAzMCwgMTYsIDI0OCwgMTksIDIwNCwgMjQ0LCA1OCwgMzAsIAorICAgIDE2LCAyNDgsIDE5LCAyMzEsIDYyLCA1OCwgMzAsIDE2LCAyNDgsIDE5LCAyMTQsIDE0NCwgNTgsIDMwLCAxNiwgMjQxLCA5MCwgCisgICAgMjM3LCAyMjUsIDIwNiwgMTMsIDIxMiwgNzksIDU4LCAzMCwgMTYsIDI0MSwgOTAsIDI0MywgNDAsIDI1MiwgODQsIDU4LCAKKyAgICAzMCwgMTYsIDIwNiwgMTMsIDIxMSwgMzEsIDU4LCAzMCwgMTYsIDI0NSwgMTQ1LCAyMTEsIDMxLCA1OCwgMzAsIDE2LCAyNDUsIAorICAgIDE0NSwgMjEyLCA3OSwgNTgsIDMwLCAxNiwgMjQ1LCAxNDUsIDI1MiwgNjEsIDI0MywgMjAwLCAyNDUsIDQzLCA1OCwgMzAsIAorICAgIDE2LCAyNDUsIDE0NSwgMjI2LCAxNTksIDIxMiwgODMsIDI0NSwgNDMsIDU4LCAzMCwgMTYsIDI0NSwgMTQ1LCAyNDUsIDEyOSwgCisgICAgMjQyLCAxNzMsIDI0NSwgNDMsIDU4LCAzMCwgMTYsIDI0NSwgMTQ1LCAyMTEsIDQwLCAyMjIsIDE4MiwgMjQ1LCA0MywgNTgsIAorICAgIDMwLCAxNiwgMjA2LCAxMywgMjUyLCA2MSwgMjQzLCAyMDAsIDI0NSwgNDMsIDU4LCAzMCwgMTYsIDIwNiwgMTMsIDIyNiwgCisgICAgMTU5LCAyMTIsIDgzLCAyNDUsIDQzLCA1OCwgMzAsIDE2LCAyMDYsIDEzLCAyNDUsIDEyOSwgMjQyLCAxNzMsIDI0NSwgNDMsIAorICAgIDU4LCAzMCwgMTYsIDIwNiwgMTMsIDIxMSwgNDAsIDIyMiwgMTgyLCAyNDUsIDQzLCA1OCwgMzAsIDE2LCAyNDAsIDE1NSwgCisgICAgMjQ1LCAxNDQsIDU4LCAzMCwgMTYsIDI0MCwgMTU1LCAyMDYsIDEyLCA1OCwgMzAsIDE2LCAyNDUsIDE1MywgMjUyLCA2MSwgCisgICAgMjI2LCAyMjIsIDU4LCAzMCwgMTYsIDI0NSwgMTUzLCAyNTIsIDYxLCAyMjcsIDk4LCA1OCwgMzAsIDE2LCAyNDUsIDE1MywgCisgICAgMjQ1LCAxMDgsIDU4LCAzMCwgMTYsIDI0NSwgMTUzLCAyMTIsIDI2LCA1OCwgMzAsIDE2LCAyMTUsIDQ5LCAyMTIsIDI2LCAKKyAgICA1OCwgMzAsIDE2LCAyMTUsIDQ5LCAyMTIsIDI3LCAyNDUsIDkzLCA1OCwgMzAsIDE2LCAyMTUsIDQ5LCAyMTIsIDI3LCAyMTEsIAorICAgIDMyLCA1OCwgMzAsIDE2LCAyMTUsIDQ5LCAyMTIsIDI3LCAyMTIsIDcxLCA1OCwgMzAsIDE2LCAyMTUsIDQ5LCAyNTEsIDIzOCwgCisgICAgNTgsIDMwLCAxNiwgMjE1LCA0OSwgMjUxLCAyMzksIDI0NSwgOTMsIDU4LCAzMCwgMTYsIDIxNSwgNDksIDI1MSwgMjM5LCAKKyAgICAyMTEsIDMyLCA1OCwgMzAsIDE2LCAyMTUsIDQ5LCAyNTEsIDIzOSwgMjEyLCA3MSwgNTgsIDMwLCAxNiwgMjQ1LCAxMzAsIAorICAgIDI0MCwgMTM2LCA1OCwgMzAsIDE2LCAyNDUsIDEzNiwgMjIyLCA5NywgNTgsIDMwLCAxNiwgMjE0LCA1LCA1OCwgMzAsIDE2LCAKKyAgICAyNTIsIDIsIDE3OSwgNTgsIDMwLCAxNiwgMjUyLCAyLCAyMDgsIDE1NiwgNTgsIDMwLCAxNiwgMjUyLCAyLCAyNDAsIDI0NCwgCisgICAgNTgsIDMwLCAxNiwgMjUyLCAyLCAyNDUsIDE2OCwgNTgsIDMwLCAxNiwgMjUyLCAyLCAyMzEsIDIyNCwgNTgsIDMwLCAxNiwgCisgICAgMjUyLCAyLCAyMDUsIDE5LCA1OCwgMzAsIDE2LCAyNTIsIDIsIDIyNCwgMjMwLCA1OCwgMzAsIDE2LCAyMzEsIDIwMCwgMjI1LCAKKyAgICA5OCwgMjI3LCA2OCwgNTgsIDMwLCAxNiwgMjMxLCAyMDEsIDIyNSwgOTgsIDIyNywgNjgsIDU4LCAzMCwgMTYsIDIzMSwgCisgICAgMjAwLCAyMjUsIDk4LCAyMzEsIDI0MywgNTgsIDMwLCAxNiwgMjMxLCAyMDEsIDIyNSwgOTgsIDIzMSwgMjQzLCA1OCwgMzAsIAorICAgIDE2LCAyMzEsIDY0LCAyMzEsIDI0MywgNTgsIDMwLCAxNiwgMjQwLCAzLCAyMjUsIDk4LCAyMzEsIDI0MywgMzAsIDE2LCAKKyAgICAyMTUsIDQxLCAyNTAsIDEyNCwgMzAsIDE2LCA1MCwgMjUwLCAxMjQsIDMwLCAxNiwgNDIsIDI1MCwgMTI0LCAzMCwgMTYsIAorICAgIDIxOCwgMjI1LCA0MiwgMjUwLCAxMjQsIDMwLCAxNiwgMjQ2LCA3NywgMjUwLCAxMjQsIDMwLCAxNiwgMjE1LCAxNDQsIDI1MCwgCisgICAgMTI0LCAzMCwgMTYsIDQ3LCAyMTgsIDI1MiwgNTMsIDMwLCAxNiwgNDgsIDIxOCwgMjUyLCA1MywgMzAsIDE2LCAyMTgsIAorICAgIDI1MiwgMjQ1LCAyMSwgMzAsIDE2LCAyNDYsIDExOCwgMjE3LCA2NiwgMzAsIDE2LCAyNDYsIDE0NiwgMjQ4LCAyMTAsIDMwLCAKKyAgICAxNiwgMjE3LCA2NiwgMzAsIDE2LCAyNDcsIDE3MCwgMzAsIDE2LCAyMTgsIDI1MCwgMjQxLCAyNDAsIDMwLCAxNiwgMjE4LCAKKyAgICAyNTAsIDI0MSwgMjM5LCAzMCwgMTYsIDIxOCwgMjUwLCAyNDEsIDIzOCwgMzAsIDE2LCAyNDIsIDQsIDMwLCAxNiwgMjQyLCAKKyAgICA1LCA1NSwgMzAsIDE2LCAyNDksIDEyNCwgODMsIDMwLCAxNiwgMjQ4LCAyNDcsIDMwLCAxNiwgMjQ5LCAxMzUsIDMwLCAxNiwgCisgICAgMTQ1LCAzMCwgMTYsIDIyMiwgMTYyLCAyMTQsIDM0LCAzMCwgMTYsIDIxMCwgMTA3LCAyMTQsIDM0LCAzMCwgMTYsIDIxMSwgCisgICAgMjM2LCAyMTQsIDM0LCAzMCwgMTYsIDI0MSwgMTI0LCAyMTQsIDM0LCAzMCwgMTYsIDI0MSwgMjAzLCAyMTQsIDM0LCAzMCwgCisgICAgMTYsIDIxNSwgOSwgMjE0LCAzNCwgMzAsIDE2LCAyMTUsIDcsIDI0MSwgMTA1LCAzMCwgMTYsIDI0MSwgMTIyLCAyNDEsIAorICAgIDEwNSwgMzAsIDE2LCAyNDEsIDU2LCAyNDcsIDIwNiwgMzAsIDE2LCAyNDEsIDU2LCAyNDcsIDIwNywgMjIyLCA5OSwgMjUyLCAKKyAgICAxNDIsIDMwLCAxNiwgMjQxLCA1NiwgMjQ3LCAyMDcsIDIyMiwgOTksIDI1MCwgMTA5LCAzMCwgMTYsIDI0OSwgMzUsIDI0NywgCisgICAgMjA2LCAzMCwgMTYsIDI0MiwgMTQwLCAyNDcsIDIwNiwgMzAsIDE2LCAyNDIsIDE0MCwgMjQ3LCAyMDcsIDIyMiwgOTksIAorICAgIDI1MiwgMTQyLCAzMCwgMTYsIDI0MiwgMTQwLCAyNDcsIDIwNywgMjIyLCA5OSwgMjUwLCAxMDksIDMwLCAxNiwgMjQzLCAKKyAgICAyNDIsIDI0NywgMjA1LCAzMCwgMTYsIDI0MywgMjQyLCAyNDcsIDIwNCwgMzAsIDE2LCAyMjYsIDk1LCAyMjcsIDExOCwgCisgICAgMjE4LCAyMzYsIDMwLCAxNiwgNTAsIDIxNSwgMjI3LCAzMCwgMTYsIDUwLCAyNDEsIDE4NywgMzAsIDE2LCAyNDEsIDE4OCwgCisgICAgMjA5LCAyMDYsIDMwLCAxNiwgMjQxLCAxODgsIDI0NCwgOCwgMzAsIDE2LCAyMjUsIDE5MiwgMjA5LCAyMDYsIDMwLCAxNiwgCisgICAgMjI1LCAxOTIsIDI0NCwgOCwgMzAsIDE2LCAyMTUsIDIyOCwgMjA5LCAyMDYsIDMwLCAxNiwgMjE1LCAyMjgsIDI0NCwgOCwgCisgICAgMzAsIDE2LCAyMTksIDIwNSwgMTM1LCAyMTUsIDIyNywgMzAsIDE2LCAyMTksIDIwNSwgMTM1LCAyNDEsIDE4NywgMzAsIDE2LCAKKyAgICAyNDcsIDE1MiwgMjExLCAxNzcsIDMwLCAxNiwgMjQ3LCAxMSwgMjExLCAxNzcsIDMwLCAxNiwgMjIyLCA5OSwgMjUyLCAxNDIsIAorICAgIDMwLCAxNiwgMjIyLCA5OSwgMjUwLCAxMDksIDMwLCAxNiwgMjE5LCAxODYsIDI1MiwgMTQyLCAzMCwgMTYsIDIxOSwgMTg2LCAKKyAgICAyNTAsIDEwOSwgMzAsIDE2LCAyMjYsIDk4LCAyMTgsIDIzNiwgMzAsIDE2LCAyMDcsIDIxLCAyMTgsIDIzNiwgMzAsIDE2LCAKKyAgICAxNjAsIDIxOCwgMjM2LCAzMCwgMTYsIDIxOSwgMjA1LCAyMTgsIDIzNiwgMzAsIDE2LCAyNDMsIDg0LCAyMTgsIDIzNiwgMzAsIAorICAgIDE2LCAyMTUsIDMsIDIxOCwgMjM2LCAzMCwgMTYsIDIxMiwgMSwgMjE4LCAyMzYsIDMwLCAxNiwgMjE0LCAyNTEsIDIxOCwgCisgICAgMjM2LCAzMCwgMTYsIDExOSwgMjM4LCAzMCwgMjEwLCAxMjEsIDIxOCwgMjM2LCAzMCwgMTYsIDIwNiwgMTk2LCAyMjQsIDMzLCAKKyAgICAzMCwgMTYsIDEwMSwgMjI0LCAzMywgMzAsIDE2LCAyNDcsIDIzNCwgMjA2LCAxOTYsIDIyNCwgMzMsIDMwLCAxNiwgNDksIAorICAgIDIyNCwgMzQsIDIwNywgMjMsIDMwLCAxNiwgNDksIDIyNCwgMzQsIDI0OSwgMjAyLCAzMCwgMTYsIDIxMSwgNTIsIDIyNCwgCisgICAgMzQsIDEyMCwgMjA3LCAyMywgMzAsIDE2LCAyMTEsIDUyLCAyMjQsIDM0LCAxMjAsIDI0OSwgMjAyLCAzMCwgMTYsIDIxMSwgCisgICAgNTIsIDIyNCwgMzQsIDQ3LCAyMDcsIDIzLCAzMCwgMTYsIDIxMSwgNTIsIDIyNCwgMzQsIDQ3LCAyNDksIDIwMiwgMzAsIDE2LCAKKyAgICAyMTEsIDUyLCAyMjQsIDM0LCA0OCwgMjA3LCAyMywgMzAsIDE2LCAyMTEsIDUyLCAyMjQsIDM0LCA0OCwgMjQ5LCAyMDIsIAorICAgIDMwLCAxNiwgMjExLCA1MiwgMjI0LCAzNCwgMTMwLCAyMDcsIDIzLCAzMCwgMTYsIDIxMSwgNTIsIDIyNCwgMzQsIDEzMCwgCisgICAgMjQ5LCAyMDIsIDMwLCAxNiwgMjExLCA1MiwgMjI0LCAzNCwgMTIwLCA0OCwgMjA3LCAyMywgMzAsIDE2LCAyMTEsIDUyLCAKKyAgICAyMjQsIDM0LCAxMjAsIDQ4LCAyNDksIDIwMiwgMzAsIDE2LCAyMjYsIDE0NSwgMjI0LCAzNCwgMjA3LCAyMywgMzAsIDE2LCAKKyAgICAyMjYsIDE0NSwgMjI0LCAzNCwgMjQ5LCAyMDIsIDMwLCAxNiwgMjExLCA0OSwgMjI0LCAzNCwgMTMwLCAyMDcsIDIzLCAzMCwgCisgICAgMTYsIDIxMSwgNDksIDIyNCwgMzQsIDEzMCwgMjQ5LCAyMDIsIDMwLCAxNiwgMjIxLCAyMTcsIDIyNCwgMzMsIDMwLCAxNiwgCisgICAgMjA4LCAxNjcsIDIyNCwgMzMsIDMwLCAxNiwgMjI0LCAzNCwgMjQ5LCAyMDIsIDMwLCAxNiwgMjIzLCAxODIsIDIyNCwgMzMsIAorICAgIDMwLCAxNiwgMjQ3LCAxNzcsIDIyNCwgMzQsIDIwNywgMjMsIDMwLCAxNiwgMjQ3LCAxNzcsIDIyNCwgMzQsIDI0OSwgMjAyLCAKKyAgICAzMCwgMTYsIDI0OSwgMTIyLCAzMCwgMTYsIDIwNywgMjEsIDIyNCwgMzcsIDMwLCAxNiwgMTYwLCAyMjQsIDM3LCAzMCwgMTYsIAorICAgIDIxOSwgMjA1LCAyMjQsIDM3LCAzMCwgMTYsIDI0MywgODQsIDIyNCwgMzcsIDMwLCAxNiwgMjE1LCAzLCAyMjQsIDM3LCAzMCwgCisgICAgMTYsIDIxMiwgMSwgMjI0LCAzNywgMzAsIDE2LCAyMTQsIDI1MSwgMjI0LCAzNywgMzAsIDE2LCAxMTksIDIzOCwgMzAsIAorICAgIDIxMCwgMTIxLCAyMjQsIDM3LCAzMCwgMTYsIDM2LCAyMTQsIDksIDMwLCAxNiwgMzYsIDIxNCwgMTE0LCAyMTQsIDksIDMwLCAKKyAgICAxNiwgMzYsIDIxMSwgNjAsIDMwLCAxNiwgMzYsIDIxMSwgNTksIDMwLCAxNiwgMzYsIDIxMSwgNTgsIDMwLCAxNiwgMjQxLCAKKyAgICAyMjYsIDIxMSwgNjAsIDMwLCAxNiwgMjQxLCAyMjYsIDIxMSwgNTksIDMwLCAxNiwgMjQxLCAyMjYsIDIxMSwgNTgsIDMwLCAKKyAgICAxNiwgMzYsIDI1MSwgMTgxLCAyNDUsIDIzLCAzMCwgMTYsIDM2LCAyNDEsIDE5NSwgMzAsIDE2LCAzNiwgMjQxLCAxOTQsIAorICAgIDMwLCAxNiwgMzYsIDI0MSwgMTkzLCAzMCwgMTYsIDM2LCAyNDEsIDE5MiwgMzAsIDE2LCAzNiwgMjQxLCAxOTEsIDMwLCAxNiwgCisgICAgMjUwLCA0MiwgMjUwLCA1OSwgMzAsIDE2LCAyNDMsIDM0LCAyNTAsIDU5LCAzMCwgMTYsIDI1MCwgNDIsIDIxMSwgMjAzLCAKKyAgICAzMCwgMTYsIDI0MywgMzQsIDIxMSwgMjAzLCAzMCwgMTYsIDI1MCwgNDIsIDIxNCwgMjE2LCAzMCwgMTYsIDI0MywgMzQsIAorICAgIDIxNCwgMjE2LCAzMCwgMTYsIDI1MCwgNDIsIDIyMSwgNjAsIDMwLCAxNiwgMjQzLCAzNCwgMjIxLCA2MCwgMzAsIDE2LCAzNiwgCisgICAgMjUzLCAyMSwgMzAsIDE2LCAzNiwgMjE0LCAzNywgMzAsIDE2LCAzNiwgMjEyLCA4OCwgMzAsIDE2LCAzNiwgMjE0LCAzOCwgCisgICAgMzAsIDE2LCAzNiwgMjI3LCAxOTUsIDMwLCAxNiwgMzYsIDIyNywgMTk0LCAzMCwgMTYsIDM2LCAyNTMsIDIwLCAzMCwgMTYsIAorICAgIDM2LCAyMjksIDk5LCAzMCwgMTYsIDI1MSwgMjQ5LCAyMDksIDIwNiwgMzAsIDE2LCAyNTEsIDI0OSwgMjQ0LCA4LCAzMCwgCisgICAgMTYsIDM2LCAyNDUsIDM4LCAzMCwgMTYsIDM2LCAyMTgsIDE0NSwgMzAsIDE2LCAzNiwgMjQxLCAxNzksIDMwLCAxNiwgMzYsIAorICAgIDIxNCwgMjEyLCAzMCwgMTYsIDM2LCAyNTAsIDIxLCAzMCwgMTYsIDM2LCA1MCwgMjExLCAxMDcsIDMwLCAxNiwgMzYsIDIxMSwgCisgICAgMzYsIDIxMSwgMTA3LCAzMCwgMTYsIDIxOCwgMTUwLCAzMCwgMTYsIDIxMywgMTkzLCAzMCwgMTYsIDIwNSwgMTU5LCAzMCwgCisgICAgMTYsIDIyMSwgNTIsIDMwLCAxNiwgMjI3LCA0OSwgMzAsIDE2LCAyNDEsIDEzMiwgMzAsIDE2LCAyNDcsIDY3LCAzMCwgMTYsIAorICAgIDI0NSwgMjUyLCAzMCwgMTYsIDIzOSwgMjUwLCAyMjQsIDM4LCAyMTQsIDIzNSwgMzAsIDE2LCAyMzksIDI1MCwgMjI0LCAzOCwgCisgICAgMjI0LCA2OCwgMjE0LCAyMzUsIDMwLCAxNiwgMjExLCA4NCwgMzAsIDE2LCAyMTAsIDE0NCwgMzAsIDE2LCAyMzMsIDIsIAorICAgIDIxMCwgMTQ0LCAzMCwgMTYsIDIxMCwgMTQ1LCAyMTQsIDIzNSwgMzAsIDE2LCAyMTAsIDE0NSwgMjA5LCAyMDYsIDMwLCAxNiwgCisgICAgMjIyLCAxMTIsIDIxMywgMjI0LCAzMCwgMTYsIDIyMiwgMTEyLCAyMTMsIDIyMSwgMzAsIDE2LCAyMjIsIDExMiwgMjEzLCAKKyAgICAyMjAsIDMwLCAxNiwgMjIyLCAxMTIsIDIxMywgMjE5LCAzMCwgMTYsIDIyMiwgMTEyLCAyMTMsIDIxOCwgMzAsIDE2LCAyMjIsIAorICAgIDExMiwgMjEzLCAyMTcsIDMwLCAxNiwgMjIyLCAxMTIsIDIxMywgMjE2LCAzMCwgMTYsIDIyMiwgMTEyLCAyMTMsIDIxNSwgCisgICAgMzAsIDE2LCAyMjIsIDExMiwgMjEzLCAyMTQsIDMwLCAxNiwgMjIyLCAxMTIsIDIxMywgMjIzLCAzMCwgMTYsIDIyMiwgMTEyLCAKKyAgICAyMTMsIDIyMiwgMzAsIDE2LCAyMzksIDc5LCAzMCwgMTYsIDIyNSwgMTA4LCAzMCwgMTYsIDI0MywgMzQsIDczLCAyMTQsIDEsIAorICAgIDMwLCAxNiwgMjQ1LCAyNDUsIDIxNCwgMjM1LCAzMCwgMTYsIDM2LCAxMzAsIDI0OSwgMTQ2LCAzMCwgMTYsIDM2LCAxMjAsIAorICAgIDI0OSwgMTQ2LCAzMCwgMTYsIDM2LCAyMzksIDkxLCAzMCwgMTYsIDM2LCAyMTQsIDIwMywgMjIwLCAyNDEsIDMwLCAxNiwgCisgICAgMjIxLCAxNjksIDgzLCAzMCwgMTYsIDIyMSwgMTY5LCAxMjAsIDgzLCAzMCwgMTYsIDE2MCwgMjIxLCAxNjksIDgzLCAzMCwgCisgICAgMTYsIDI0MCwgMjcsIDIwOSwgMjA2LCAzMCwgMTYsIDI0MCwgMjcsIDI0NCwgOCwgMzAsIDE2LCAyLCAyNDEsIDIyNSwgMzAsIAorICAgIDE2LCAyNDYsIDEwMiwgMzAsIDE2LCAyNDYsIDEwMywgMjUyLCAxNTYsIDMwLCAxNiwgMjI3LCAxNjQsIDMwLCAxNiwgMjI5LCAKKyAgICAxMTcsIDMwLCAxNiwgMjQ5LCAxMTksIDMwLCAxNiwgMjE2LCA1NiwgMjA3LCAyMywgMzAsIDE2LCAyMTYsIDU2LCAyNDksIAorICAgIDIwMiwgMzAsIDE2LCAyMjYsIDIwNSwgMzAsIDE2LCAyMjYsIDIwNiwgMjQ5LCAyMDIsIDMwLCAxNiwgMjE2LCA1MCwgMjA3LCAKKyAgICAyMywgMzAsIDE2LCAyMTYsIDUwLCAyNDksIDIwMiwgMzAsIDE2LCAyNDEsIDczLCAyMDcsIDIzLCAzMCwgMTYsIDI0MSwgNzMsIAorICAgIDI0OSwgMjAyLCAzMCwgMTYsIDIyOSwgMTE4LCAyMjEsIDEyOSwgMjE4LCAyMzYsIDMwLCAxNiwgMjI5LCAxMTgsIDIzMywgCisgICAgNzMsIDIxOCwgMjM2LCAzMCwgMTYsIDI0OSwgMTIwLCAyMTgsIDIzNiwgMzAsIDE2LCAyMTYsIDU2LCAyMTgsIDIzNiwgMzAsIAorICAgIDE2LCAyMjYsIDIwNiwgMjE4LCAyMzYsIDMwLCAxNiwgMjE2LCA1MCwgMjE4LCAyMzYsIDMwLCAxNiwgMjEyLCAxMDAsIDIyMSwgCisgICAgMTI3LCAyNDcsIDM0LCAyMjAsIDEwNywgMjIxLCAxMjgsIDMwLCAxNiwgMjEyLCAxMDAsIDIyMSwgMTI3LCAyNDcsIDM0LCAKKyAgICAyMjAsIDEwNywgMjMzLCA3MiwgMzAsIDE2LCAyMTIsIDEwMCwgMjIxLCAxMjcsIDI0NywgMzQsIDIyMCwgMTA3LCAyMjEsIAorICAgIDEyOSwgMjQ1LCAxMTgsIDMwLCAxNiwgMjEyLCAxMDAsIDIzMywgNzEsIDI0NywgMzQsIDIyMCwgMTA3LCAyMjEsIDEyOCwgCisgICAgMzAsIDE2LCAyMTIsIDEwMCwgMjMzLCA3MSwgMjQ3LCAzNCwgMjIwLCAxMDcsIDIzMywgNzIsIDMwLCAxNiwgMjEyLCAxMDAsIAorICAgIDIzMywgNzEsIDI0NywgMzQsIDIyMCwgMTA3LCAyMzMsIDczLCAyNDUsIDExOCwgMzAsIDE2LCAyMTIsIDEwMCwgMjMzLCA3MSwgCisgICAgMjQ3LCAzNCwgMjIwLCAxMDcsIDIzMywgNzMsIDI0NSwgMTE3LCAzMCwgMTYsIDIxMiwgMTAwLCAyMzMsIDcxLCAyNDcsIDM0LCAKKyAgICAyMjAsIDEwNywgMjMzLCA3MywgMjQ1LCAxMTYsIDMwLCAxNiwgMjQ3LCA2MiwgMzAsIDE2LCAyMzksIDIyNiwgMjQ5LCAzNSwgCisgICAgMjQ3LCAyMDYsIDMwLCAxNiwgMjM5LCAyMjYsIDI0MiwgMTQwLCAyNDcsIDIwNiwgMzAsIDE2LCA0OSwgMjUxLCAxNTAsIDMwLCAKKyAgICAxNiwgMjA4LCAxODcsIDMwLCAxNiwgMjIwLCAyMDgsIDMwLCAxNiwgMjQ3LCAxOTcsIDMwLCAxNiwgMjE3LCAxMDgsIDMwLCAKKyAgICAxNiwgMjQ3LCAyMDEsIDMwLCAxNiwgMjExLCA5NSwgMzAsIDE2LCAyMjAsIDE4MCwgMzAsIDE2LCAyMjAsIDE4MSwgMjQxLCAKKyAgICAxODEsIDMwLCAxNiwgMjE3LCAxMDksIDI0MSwgMTgxLCAzMCwgMTYsIDIxMSwgOTYsIDIxOCwgMjMzLCAzMCwgMTYsIDIyMSwgCisgICAgMTEwLCAyMTMsIDE4NCwgMjcsIDIwOCwgMTcyLCAyMjQsIDQxLCAyMTMsIDg4LCAyNywgMjA4LCAxNzIsIDIyNCwgNDEsIAorICAgIDIxMywgNzcsIDI3LCAyMDgsIDE3MiwgMjI0LCA0MSwgMjEzLCA2NywgMjcsIDIwOCwgMTcyLCAyMjQsIDQxLCAyMTMsIDYwLCAKKyAgICAyNywgMjA4LCAxNzIsIDIyNCwgNDEsIDIxMywgNTIsIDI3LCAyMDgsIDE3MiwgMjI0LCA0MSwgMjEzLCA0NiwgMjcsIDIwOCwgCisgICAgMTcyLCAyMjQsIDQxLCAyMTMsIDQ1LCAyNywgMjA4LCAxNzIsIDIyNCwgNDEsIDIxMywgNDQsIDI3LCAyMDgsIDE3MiwgMjI0LCAKKyAgICA0MSwgMjEzLCA0MywgMjcsIDIwOCwgMTcyLCAyMjQsIDQxLCAyMTMsIDg3LCAyNywgMjA4LCAxNzIsIDIyNCwgNDEsIDIxMywgCisgICAgODYsIDI3LCAyMDgsIDE3MiwgMjI0LCA0MSwgMjEzLCA4NSwgMjcsIDIwOCwgMTcyLCAyMjQsIDQxLCAyMTMsIDg0LCAyNywgCisgICAgMjA4LCAxNzIsIDIyNCwgNDEsIDIxMywgODMsIDI3LCAyMDgsIDE3MiwgMjI0LCA0MSwgMjEzLCA4MiwgMjcsIDIwOCwgMTcyLCAKKyAgICAyMjQsIDQxLCAyMTMsIDgxLCAyNywgMjA4LCAxNzIsIDIyNCwgNDEsIDIxMywgODAsIDI3LCAyMDgsIDE3MiwgMjI0LCA0MSwgCisgICAgMjEzLCA3OSwgMjcsIDIwOCwgMTcyLCAyMjQsIDQxLCAyMTMsIDc4LCAyNywgMjA4LCAxNzIsIDIyNCwgNDEsIDIxMywgNzYsIAorICAgIDI3LCAyMDgsIDE3MiwgMjI0LCA0MSwgMjEzLCA3NSwgMjcsIDIwOCwgMTcyLCAyMjQsIDQxLCAyMTMsIDc0LCAyNywgMjA4LCAKKyAgICAxNzIsIDIyNCwgNDEsIDIxMywgNzMsIDI3LCAyMDgsIDE3MiwgMjI0LCA0MSwgMjEzLCA3MiwgMjcsIDIwOCwgMTcyLCAyMjQsIAorICAgIDQxLCAyMTMsIDUxLCAyNywgMjA4LCAxNzIsIDIyNCwgNDEsIDIxMywgNTAsIDI3LCAyMDgsIDE3MiwgMjI0LCA0MSwgMjEzLCAKKyAgICA0OSwgMjcsIDIwOCwgMTcyLCAyMjQsIDQxLCAyMTMsIDQ4LCAyNywgMjA4LCAxNzIsIDIyNCwgNDEsIDIxMywgNDcsIDI3LCAKKyAgICAyMzMsIDI0LCAyMjQsIDQxLCAyMTMsIDg4LCAyNywgMjMzLCAyNCwgMjI0LCA0MSwgMjEzLCA3NywgMjcsIDIzMywgMjQsIAorICAgIDIyNCwgNDEsIDIxMywgNjAsIDI3LCAyMzMsIDI0LCAyMjQsIDQxLCAyMTMsIDUyLCAyNywgMjMzLCAyNCwgMjI0LCA0MSwgCisgICAgMjEzLCA0NSwgMjcsIDIzMywgMjQsIDIyNCwgNDEsIDIxMywgNDQsIDI3LCAyMzMsIDI0LCAyMjQsIDQxLCAyMTMsIDg2LCAKKyAgICAyNywgMjMzLCAyNCwgMjI0LCA0MSwgMjEzLCA4NSwgMjcsIDIzMywgMjQsIDIyNCwgNDEsIDIxMywgODQsIDI3LCAyMzMsIAorICAgIDI0LCAyMjQsIDQxLCAyMTMsIDgzLCAyNywgMjMzLCAyNCwgMjI0LCA0MSwgMjEzLCA4MCwgMjcsIDIzMywgMjQsIDIyNCwgCisgICAgNDEsIDIxMywgNzksIDI3LCAyMzMsIDI0LCAyMjQsIDQxLCAyMTMsIDc4LCAyNywgMjMzLCAyNCwgMjI0LCA0MSwgMjEzLCAKKyAgICA3MywgMjcsIDIzMywgMjQsIDIyNCwgNDEsIDIxMywgNzIsIDI3LCAyMzMsIDI0LCAyMjQsIDQxLCAyMTMsIDcxLCAyNywgCisgICAgMjMzLCAyNCwgMjI0LCA0MSwgMjEzLCA3MCwgMjcsIDIzMywgMjQsIDIyNCwgNDEsIDIxMywgNjksIDI3LCAyMzMsIDI0LCAKKyAgICAyMjQsIDQxLCAyMTMsIDY4LCAyNywgMjMzLCAyNCwgMjI0LCA0MSwgMjEzLCA2NiwgMjcsIDIzMywgMjQsIDIyNCwgNDEsIAorICAgIDIxMywgNjUsIDI3LCAyMzMsIDI0LCAyMjQsIDQxLCAyMTMsIDY0LCAyNywgMjMzLCAyNCwgMjI0LCA0MSwgMjEzLCA2MywgCisgICAgMjcsIDIzMywgMjQsIDIyNCwgNDEsIDIxMywgNjIsIDI3LCAyMzMsIDI0LCAyMjQsIDQxLCAyMTMsIDYxLCAyNywgMjMzLCAKKyAgICAyNCwgMjI0LCA0MSwgMjEzLCA1OSwgMjcsIDIzMywgMjQsIDIyNCwgNDEsIDIxMywgNTgsIDI3LCAyMzMsIDI0LCAyMjQsIAorICAgIDQxLCAyMTMsIDU3LCAyNywgMjMzLCAyNCwgMjI0LCA0MSwgMjEzLCA1NiwgMjcsIDIzMywgMjQsIDIyNCwgNDEsIDIxMywgCisgICAgNTUsIDI3LCAyMzMsIDI0LCAyMjQsIDQxLCAyMTMsIDU0LCAyNywgMjMzLCAyNCwgMjI0LCA0MSwgMjEzLCA1MywgMjcsIAorICAgIDIzMywgMjQsIDIyNCwgNDEsIDIxMywgNTEsIDI3LCAyMzMsIDI0LCAyMjQsIDQxLCAyMTMsIDUwLCAyNywgMjMzLCAyNCwgCisgICAgMjI0LCA0MSwgMjEzLCA0OSwgMjcsIDIzMywgMjQsIDIyNCwgNDEsIDIxMywgNDgsIDI3LCAyMzMsIDI0LCAyMjQsIDQxLCAKKyAgICAyMTMsIDQ3LCAzNiwgMjcsIDMwLCAyMTEsIDMzLCAzNiwgMjcsIDMwLCAyMTIsIDcyLCAzNiwgMjcsIDMwLCAyMjEsIDEzOCwgCisgICAgMjcsIDMwLCAyMzAsIDI4LCAyMjYsIDE2MCwgMzMsIDI0MywgMTIwLCAyNDUsIDEzMSwgMzMsIDIzOSwgNTUsIDI0MywgMTIwLCAKKyAgICAyNDUsIDEzMSwgMzMsIDIzOCwgMzMsIDI0MywgMTIwLCAyNDUsIDEzMSwgMzMsIDI0MywgMTE5LCAyMzksIDU2LCAyNDUsIAorICAgIDEzMSwgMzMsIDI0MywgMTE5LCAyMzgsIDMyLCAyNDUsIDEzMSwgMzMsIDI0MywgMTIwLCAyMTIsIDc0LCAzMywgMjQ4LCAKKyAgICAxMjgsIDIxMiwgNzQsIDMzLCAyNDEsIDgyLCAyNDcsIDIzMywgMjEyLCA3NCwgMzMsIDIyNiwgMTk3LCAyMTIsIDc0LCAzMywgCisgICAgMjUwLCAxMTksIDIxMiwgNzQsIDMzLCAyMzEsIDIxOCwgMjE0LCAyMTUsIDIxMiwgNzQsIDMzLCAyNDcsIDExMCwgMjEyLCAKKyAgICA3NCwgMzMsIDI1MSwgMjI3LCAyMTIsIDc0LCAzMywgMjIyLCAxMjgsIDIxMiwgNzQsIDMzLCAyNDksIDEyOSwgMjIyLCA5MywgCisgICAgMjEyLCA3NCwgMzMsIDI0NSwgMjQ3LCAyMjIsIDEyMywgMjQ1LCA4NiwgMjEyLCA3NCwgMzMsIDI0NSwgODMsIDIxMiwgNzQsIAorICAgIDMzLCAyMDUsIDIyNSwgMjEyLCA3NCwgMzMsIDIzMywgNTksIDIxMiwgNzQsIDMzLCAyMjEsIDE0OCwgMjEyLCA3NCwgMzMsIAorICAgIDIxOSwgNTAsIDIxMiwgNzQsIDMzLCAyNDcsIDEyMSwgMjEyLCA3NCwgMzMsIDIzOCwgMTQxLCAyNTAsIDE3NiwgMjEyLCA3NCwgCisgICAgMzMsIDIwNywgODksIDIxMiwgNzQsIDMzLCAyNDEsIDE1NywgMjEyLCA3NCwgMzMsIDI1MiwgMjUxLCAyMTIsIDc0LCAzMywgCisgICAgMjE5LCA5LCAyMTIsIDc0LCAzMywgMjE4LCAyNDAsIDIxMiwgNzQsIDMzLCAyNDMsIDExOCwgMjEyLCA3NCwgMzMsIDIzMiwgCisgICAgMTA3LCAyMTIsIDc0LCAzMywgMjQ3LCAxMTYsIDIxMiwgNzQsIDMzLCAyNDMsIDMzLCAyMTIsIDc0LCAzMywgMjQzLCAyMTEsIAorICAgIDIxMiwgNzQsIDMzLCAyNDgsIDk4LCAyMTIsIDc0LCAzMywgMjQ2LCAxLCAyMTIsIDc0LCAzMywgMjQsIDIxOCwgMjM5LCAKKyAgICAyMTIsIDc0LCAzMywgMjIyLCA0MywgMjEyLCA3NCwgMzMsIDIzMCwgMzIsIDIxMiwgNzQsIDMzLCAyNDcsIDE5MCwgMjEyLCAKKyAgICA3NCwgMzMsIDIzMSwgMTA1LCAyMTIsIDc0LCAzMywgMjQwLCAxOTQsIDIxMiwgNzQsIDMzLCAyMTMsIDIzNCwgMjEyLCA3NCwgCisgICAgMzMsIDIyMCwgNjEsIDIxMiwgNzQsIDMzLCAyNDEsIDgxLCAyMTIsIDc0LCAzMywgMjE4LCAyNDEsIDIxMiwgNzQsIDMzLCAKKyAgICAyMzAsIDcxLCAyMjIsIDEyMywgMjI2LCAxNzcsIDIxMiwgNzQsIDMzLCAyMTgsIDIzNywgMjEyLCA3NCwgMzMsIDI0MCwgMTMsIAorICAgIDIxMSwgMTMwLCAyMjcsIDEwMiwgMjEyLCA3NCwgMzMsIDI0MywgMzUsIDIxMiwgNzQsIDMzLCAyMTMsIDI0NiwgMjEyLCA3NCwgCisgICAgMzMsIDIzOSwgMjI4LCAyMTIsIDc0LCAzMywgMjQzLCAyNiwgMjEyLCA3NCwgMzMsIDIyMSwgMTkwLCAyMTIsIDc0LCAzMywgCisgICAgMjE4LCAxMzksIDIxMiwgNzQsIDMzLCAyNDEsIDE4MCwgMjEyLCA3NCwgMzMsIDIwOSwgNDgsIDIyMiwgMTIzLCAyMDcsIDczLCAKKyAgICAyMTIsIDc0LCAzMywgMjQ3LCAxMjYsIDIxMiwgNzQsIDMzLCAyMjcsIDExNywgMjEyLCA3NCwgMzMsIDI0MiwgMTk4LCAyMTIsIAorICAgIDc0LCAzMywgMjA5LCAyMTUsIDIxMiwgNzQsIDMzLCAyNDUsIDExOSwgMjEyLCA3NCwgMzMsIDI0NywgMTkyLCAyMjYsIDEyMywgCisgICAgMjEyLCA3NCwgMzMsIDIzOSwgMjA1LCAyMTIsIDc0LCAzMywgMjQwLCAxOTUsIDIzMywgNjgsIDIxMiwgNzQsIDMzLCAyMjcsIAorICAgIDE3MiwgMjEyLCA3NCwgMzMsIDI1MywgMTYsIDIxMiwgNzQsIDMzLCAyNDMsIDQ4LCAyMTIsIDc0LCAzMywgMjQ0LCAxMiwgCisgICAgMjEyLCA3NCwgMzMsIDIwNywgNzEsIDIxMiwgNzQsIDMzLCAyMTUsIDM2LCAyMTIsIDc0LCAzMywgMjMzLCAzMywgMjEyLCAKKyAgICA3NCwgMzMsIDI0NSwgMjE1LCAyMTIsIDc0LCAzMywgMjQ2LCA4MiwgMjEyLCA3NCwgMzMsIDI0NSwgMTE1LCAyMTIsIDc0LCAKKyAgICAzMywgMjQyLCAxNjYsIDIxMiwgNzQsIDMzLCAyMTYsIDE2LCAyMTIsIDc0LCAzMywgMjEzLCAyNTAsIDIxMiwgNzQsIDMzLCAKKyAgICAyMzksIDkzLCAyMTIsIDc0LCAzMywgMjQ3LCAxNDgsIDIxMiwgNzQsIDMzLCAyNDcsIDE4NywgMjEyLCA3NCwgMzMsIDI0MiwgCisgICAgNTMsIDIxMiwgNzQsIDMzLCAyNTIsIDIxNiwgMjEyLCA3NCwgMzMsIDI0NywgMTQ3LCAyMTIsIDc0LCAzMywgMjIyLCAxNjYsIAorICAgIDIxMiwgNDIsIDIwOSwgMjUsIDIxMiwgNzQsIDMzLCAyNDUsIDEzOSwgMjEyLCA3NCwgMzMsIDIzMCwgMTI5LCAyMTIsIDc0LCAKKyAgICAzMywgMjQxLCAxMjgsIDI0NywgNzksIDIxOCwgMTE1LCAyMDksIDIxNywgMTgsIDEwMiwgMjQ3LCA3OSwgMjE4LCAxMTUsIAorICAgIDIwOSwgMjE3LCAxOCwgMTA1LCAyNDcsIDc5LCAyMTgsIDExNSwgMjA5LCAyMTcsIDE4LCAxNDIsIDI0NywgNzksIDIxOCwgCisgICAgMTE1LCAyMDksIDIxNywgMTgsIDEzOSwgMjQ3LCA3OSwgMjE4LCAxMTUsIDIwOSwgMjE3LCAxOCwgMTY4LCAyNDcsIDc5LCAKKyAgICAyMTgsIDExNSwgMjA5LCAyMTcsIDE4LCAxODQsIDI0NywgNzksIDIxOCwgMTE1LCAyMDksIDIxNywgMTgsIDE5NSwgMjQ3LCAKKyAgICA3OSwgMjE4LCAxMTUsIDIwOSwgMjE3LCAxOCwgMTkzLCAyNDcsIDc5LCAyMTgsIDExNSwgMjA5LCAyMTcsIDE4LCAyMDAsIAorICAgIDI0NywgNzksIDIxOCwgMTE1LCAyMTIsIDk0LCAxOCwgMTAyLCAyNDcsIDc5LCAyMTgsIDExNSwgMjEyLCA5NCwgMTgsIDEwNSwgCisgICAgMjQ3LCA3OSwgMjE4LCAxMTUsIDIxMiwgOTQsIDE4LCAxNDIsIDI0NywgNzksIDIxOCwgMTE1LCAyMTIsIDk0LCAxOCwgMTM5LCAKKyAgICAyNDcsIDc5LCAyMTgsIDExNSwgMjEyLCA5NCwgMTgsIDE2OCwgMjQ3LCA3OSwgMjE4LCAxMTUsIDIxMiwgOTQsIDE4LCAxODQsIAorICAgIDI0NywgNzksIDIxOCwgMTE1LCAyMTIsIDk0LCAxOCwgMTk1LCAyNDcsIDc5LCAyMTgsIDExNSwgMjEyLCA5NCwgMTgsIDE5MywgCisgICAgMjQ3LCA3OSwgMjE4LCAxMTUsIDIxMiwgOTQsIDE4LCAyMDAsIDExLCAyNCwgNiwgNjIsIDExLCAyNCwgNiwgMjUxLCAxNTAsIAorICAgIDExLCAyNCwgNiwgMjQ5LCAzNCwgMTEsIDI0LCA2LCAyNDYsIDI0MCwgMTEsIDI0LCA2LCA3NSwgMTEsIDI0LCA2LCAyNDIsIAorICAgIDEzOSwgMTEsIDI0LCA2LCAyNDEsIDU1LCAxMSwgMjQsIDYsIDIzOSwgMTU1LCAxMSwgMjQsIDYsIDc0LCAxMSwgMjQsIDYsIAorICAgIDIzMiwgMjAzLCAxMSwgMjQsIDYsIDIzMiwgNzYsIDExLCAyNCwgNiwgMTQ5LCAxMSwgMjQsIDYsIDIyOSwgMjgsIDExLCAyNCwgCisgICAgNiwgMjI2LCAzMywgMTEsIDI0LCA2LCA3NiwgMTEsIDI0LCA2LCAyMjIsIDY3LCAxMSwgMjQsIDYsIDIyMCwgMjcsIDExLCAKKyAgICAyNCwgNiwgMTM3LCAxMSwgMjQsIDYsIDE4MiwgMTEsIDI0LCA2LCAyMTMsIDEwLCAxMSwgMjQsIDYsIDcxLCAxMSwgMjQsIDYsIAorICAgIDIwOSwgMTQ4LCAxMSwgMjQsIDYsIDIwNywgMTI5LCAxMSwgMjQsIDYsIDIwNiwgMTk1LCAxMSwgMjQsIDYsIDIwNiwgMTIzLCAKKyAgICAxMSwgMjQsIDYsIDIwNSwgMTU5LCAxMSwgMjQsIDUsIDYyLCAxMSwgMjQsIDUsIDI1MSwgMTUwLCAxMSwgMjQsIDUsIDI0OSwgCisgICAgMzQsIDExLCAyNCwgNSwgMjQ2LCAyNDAsIDExLCAyNCwgNSwgNzUsIDExLCAyNCwgNSwgMjQyLCAxMzksIDExLCAyNCwgNSwgCisgICAgMjQxLCA1NSwgMTEsIDI0LCA1LCAyMzksIDE1NSwgMTEsIDI0LCA1LCA3NCwgMTEsIDI0LCA1LCAyMzIsIDIwMywgMTEsIDI0LCAKKyAgICA1LCAyMzIsIDc2LCAxMSwgMjQsIDUsIDE0OSwgMTEsIDI0LCA1LCAyMjksIDI4LCAxMSwgMjQsIDUsIDIyNiwgMzMsIDExLCAKKyAgICAyNCwgNSwgNzYsIDExLCAyNCwgNSwgMjIyLCA2NywgMTEsIDI0LCA1LCAyMjAsIDI3LCAxMSwgMjQsIDUsIDEzNywgMTEsIAorICAgIDI0LCA1LCAxODIsIDExLCAyNCwgNSwgMjEzLCAxMCwgMTEsIDI0LCA1LCA3MSwgMTEsIDI0LCA1LCAyMDksIDE0OCwgMTEsIAorICAgIDI0LCA1LCAyMDcsIDEyOSwgMTEsIDI0LCA1LCAyMDYsIDE5NSwgMTEsIDI0LCA1LCAyMDYsIDEyMywgMTEsIDI0LCA1LCAKKyAgICAyMDUsIDE1OSwgMTEsIDM1LCA2LCA2MiwgMTEsIDM1LCA2LCAyNTEsIDE1MCwgMTEsIDM1LCA2LCAyNDksIDM0LCAxMSwgMzUsIAorICAgIDYsIDI0NiwgMjQwLCAxMSwgMzUsIDYsIDc1LCAxMSwgMzUsIDYsIDI0MiwgMTM5LCAxMSwgMzUsIDYsIDI0MSwgNTUsIDExLCAKKyAgICAzNSwgNiwgMjM5LCAxNTUsIDExLCAzNSwgNiwgNzQsIDExLCAzNSwgNiwgMjMyLCAyMDMsIDExLCAzNSwgNiwgMjMyLCA3NiwgCisgICAgMTEsIDM1LCA2LCAxNDksIDExLCAzNSwgNiwgMjI5LCAyOCwgMTEsIDM1LCA2LCAyMjYsIDMzLCAxMSwgMzUsIDYsIDc2LCAKKyAgICAxMSwgMzUsIDYsIDIyMiwgNjcsIDExLCAzNSwgNiwgMjIwLCAyNywgMTEsIDM1LCA2LCAxMzcsIDExLCAzNSwgNiwgMTgyLCAKKyAgICAxMSwgMzUsIDYsIDIxMywgMTAsIDExLCAzNSwgNiwgNzEsIDExLCAzNSwgNiwgMjA5LCAxNDgsIDExLCAzNSwgNiwgMjA3LCAKKyAgICAxMjksIDExLCAzNSwgNiwgMjA2LCAxOTUsIDExLCAzNSwgNiwgMjA2LCAxMjMsIDExLCAzNSwgNiwgMjA1LCAxNTksIDExLCAKKyAgICAzNSwgNSwgNjIsIDExLCAzNSwgNSwgMjUxLCAxNTAsIDExLCAzNSwgNSwgMjQ5LCAzNCwgMTEsIDM1LCA1LCAyNDYsIDI0MCwgCisgICAgMTEsIDM1LCA1LCA3NSwgMTEsIDM1LCA1LCAyNDIsIDEzOSwgMTEsIDM1LCA1LCAyNDEsIDU1LCAxMSwgMzUsIDUsIDc0LCAKKyAgICAxMSwgMzUsIDUsIDIzMiwgMjAzLCAxMSwgMzUsIDUsIDIzMiwgNzYsIDExLCAzNSwgNSwgMTQ5LCAxMSwgMzUsIDUsIDIyOSwgCisgICAgMjgsIDExLCAzNSwgNSwgMjI2LCAzMywgMTEsIDM1LCA1LCA3NiwgMTEsIDM1LCA1LCAyMjIsIDY3LCAxMSwgMzUsIDUsIAorICAgIDIyMCwgMjcsIDExLCAzNSwgNSwgMTM3LCAxMSwgMzUsIDUsIDE4MiwgMTEsIDM1LCA1LCAyMTMsIDEwLCAxMSwgMzUsIDUsIAorICAgIDcxLCAxMSwgMzUsIDUsIDIwOSwgMTQ4LCAxMSwgMzUsIDUsIDIwNywgMTI5LCAxMSwgMzUsIDUsIDIwNiwgMTk1LCAxMSwgCisgICAgMzUsIDUsIDIwNiwgMTIzLCAxMSwgMzUsIDUsIDIwNSwgMTU5LCAxMSwgMjQsIDM1LCA2LCA2MiwgMTEsIDI0LCAzNSwgNiwgCisgICAgMjUxLCAxNTAsIDExLCAyNCwgMzUsIDYsIDI0OSwgMzQsIDExLCAyNCwgMzUsIDYsIDI0NiwgMjQwLCAxMSwgMjQsIDM1LCA2LCAKKyAgICA3NSwgMTEsIDI0LCAzNSwgNiwgMjQyLCAxMzksIDExLCAyNCwgMzUsIDYsIDI0MSwgNTUsIDExLCAyNCwgMzUsIDYsIDIzOSwgCisgICAgMTU1LCAxMSwgMjQsIDM1LCA2LCA3NCwgMTEsIDI0LCAzNSwgNiwgMjMyLCAyMDMsIDExLCAyNCwgMzUsIDYsIDIzMiwgNzYsIAorICAgIDExLCAyNCwgMzUsIDYsIDE0OSwgMTEsIDI0LCAzNSwgNiwgMjI5LCAyOCwgMTEsIDI0LCAzNSwgNiwgMjI2LCAzMywgMTEsIAorICAgIDI0LCAzNSwgNiwgNzYsIDExLCAyNCwgMzUsIDYsIDIyMiwgNjcsIDExLCAyNCwgMzUsIDYsIDIyMCwgMjcsIDExLCAyNCwgCisgICAgMzUsIDYsIDEzNywgMTEsIDI0LCAzNSwgNiwgMTgyLCAxMSwgMjQsIDM1LCA2LCAyMTMsIDEwLCAxMSwgMjQsIDM1LCA2LCAKKyAgICA3MSwgMTEsIDI0LCAzNSwgNiwgMjA5LCAxNDgsIDExLCAyNCwgMzUsIDYsIDIwNywgMTI5LCAxMSwgMjQsIDM1LCA2LCAyMDYsIAorICAgIDE5NSwgMTEsIDI0LCAzNSwgNiwgMjA2LCAxMjMsIDExLCAyNCwgMzUsIDYsIDIwNSwgMTU5LCAxMSwgMjQsIDM1LCA1LCA2MiwgCisgICAgMTEsIDI0LCAzNSwgNSwgMjUxLCAxNTAsIDExLCAyNCwgMzUsIDUsIDI0OSwgMzQsIDExLCAyNCwgMzUsIDUsIDI0NiwgMjQwLCAKKyAgICAxMSwgMjQsIDM1LCA1LCA3NSwgMTEsIDI0LCAzNSwgNSwgMjQyLCAxMzksIDExLCAyNCwgMzUsIDUsIDI0MSwgNTUsIDExLCAKKyAgICAyNCwgMzUsIDUsIDIzOSwgMTU1LCAxMSwgMjQsIDM1LCA1LCA3NCwgMTEsIDI0LCAzNSwgNSwgMjMyLCAyMDMsIDExLCAyNCwgCisgICAgMzUsIDUsIDIzMiwgNzYsIDExLCAyNCwgMzUsIDUsIDE0OSwgMTEsIDI0LCAzNSwgNSwgMjI5LCAyOCwgMTEsIDI0LCAzNSwgCisgICAgNSwgMjI2LCAzMywgMTEsIDI0LCAzNSwgNSwgNzYsIDExLCAyNCwgMzUsIDUsIDIyMiwgNjcsIDExLCAyNCwgMzUsIDUsIAorICAgIDIyMCwgMjcsIDExLCAyNCwgMzUsIDUsIDEzNywgMTEsIDI0LCAzNSwgNSwgMTgyLCAxMSwgMjQsIDM1LCA1LCAyMTMsIDEwLCAKKyAgICAxMSwgMjQsIDM1LCA1LCA3MSwgMTEsIDI0LCAzNSwgNSwgMjA5LCAxNDgsIDExLCAyNCwgMzUsIDUsIDIwNywgMTI5LCAxMSwgCisgICAgMjQsIDM1LCA1LCAyMDYsIDE5NSwgMTEsIDI0LCAzNSwgNSwgMjA2LCAxMjMsIDExLCAyNCwgMzUsIDUsIDIwNSwgMTU5LCAKKyAgICAxMSwgMTIxLCA2LCA2MiwgMTEsIDEyMSwgNiwgMjQ5LCAzNCwgMTEsIDEyMSwgNiwgMjQ2LCAyNDAsIDExLCAxMjEsIDYsIAorICAgIDI0MSwgNTUsIDExLCAxMjEsIDYsIDIzMiwgMjAzLCAxMSwgMTIxLCA2LCAyMzIsIDc2LCAxMSwgMTIxLCA2LCAyMjYsIDMzLCAKKyAgICAxMSwgMTIxLCA2LCA3NiwgMTEsIDEyMSwgNiwgMjIyLCA2NywgMTEsIDEyMSwgNiwgMjIwLCAyNywgMTEsIDEyMSwgNiwgCisgICAgMTgyLCAxMSwgMTIxLCA2LCAyMTMsIDEwLCAxMSwgMTIxLCA2LCA3MSwgMTEsIDEyMSwgNiwgMjA5LCAxNDgsIDExLCAxMjEsIAorICAgIDYsIDIwNywgMTI5LCAxMSwgMTIxLCA2LCAyMDYsIDE5NSwgMTEsIDEyMSwgNiwgMjA2LCAxMjMsIDExLCAxMjEsIDYsIDIwNSwgCisgICAgMTU5LCAxMSwgMTIxLCA1LCA2MiwgMTEsIDEyMSwgNSwgMjUxLCAxNTAsIDExLCAxMjEsIDUsIDI0OSwgMzQsIDExLCAxMjEsIAorICAgIDUsIDI0NiwgMjQwLCAxMSwgMTIxLCA1LCAyNDIsIDEzOSwgMTEsIDEyMSwgNSwgMjM5LCAxNTUsIDExLCAxMjEsIDUsIDc0LCAKKyAgICAxMSwgMTIxLCA1LCAyMzIsIDIwMywgMTEsIDEyMSwgNSwgMjMyLCA3NiwgMTEsIDEyMSwgNSwgMTQ5LCAxMSwgMTIxLCA1LCAKKyAgICAyMjksIDI4LCAxMSwgMTIxLCA1LCAyMjYsIDMzLCAxMSwgMTIxLCA1LCAyMjIsIDY3LCAxMSwgMTIxLCA1LCAyMjAsIDI3LCAKKyAgICAxMSwgMTIxLCA1LCAxMzcsIDExLCAxMjEsIDUsIDE4MiwgMTEsIDEyMSwgNSwgMjEzLCAxMCwgMTEsIDEyMSwgNSwgNzEsIAorICAgIDExLCAxMjEsIDUsIDIwOSwgMTQ4LCAxMSwgMTIxLCA1LCAyMDcsIDEyOSwgMTEsIDEyMSwgNSwgMjA2LCAxOTUsIDExLCAKKyAgICAxMjEsIDUsIDIwNiwgMTIzLCAxMSwgMTIxLCA1LCAyMDUsIDE1OSwgMTEsIDI0LCAxMjEsIDYsIDYyLCAxMSwgMjQsIDEyMSwgCisgICAgNiwgMjUxLCAxNTAsIDExLCAyNCwgMTIxLCA2LCAyNDksIDM0LCAxMSwgMjQsIDEyMSwgNiwgMjQ2LCAyNDAsIDExLCAyNCwgCisgICAgMTIxLCA2LCA3NSwgMTEsIDI0LCAxMjEsIDYsIDI0MiwgMTM5LCAxMSwgMjQsIDEyMSwgNiwgMjQxLCA1NSwgMTEsIDI0LCAKKyAgICAxMjEsIDYsIDIzOSwgMTU1LCAxMSwgMjQsIDEyMSwgNiwgNzQsIDExLCAyNCwgMTIxLCA2LCAyMzIsIDIwMywgMTEsIDI0LCAKKyAgICAxMjEsIDYsIDIzMiwgNzYsIDExLCAyNCwgMTIxLCA2LCAxNDksIDExLCAyNCwgMTIxLCA2LCAyMjksIDI4LCAxMSwgMjQsIAorICAgIDEyMSwgNiwgMjI2LCAzMywgMTEsIDI0LCAxMjEsIDYsIDc2LCAxMSwgMjQsIDEyMSwgNiwgMjIyLCA2NywgMTEsIDI0LCAKKyAgICAxMjEsIDYsIDIyMCwgMjcsIDExLCAyNCwgMTIxLCA2LCAxMzcsIDExLCAyNCwgMTIxLCA2LCAxODIsIDExLCAyNCwgMTIxLCAKKyAgICA2LCAyMTMsIDEwLCAxMSwgMjQsIDEyMSwgNiwgNzEsIDExLCAyNCwgMTIxLCA2LCAyMDksIDE0OCwgMTEsIDI0LCAxMjEsIDYsIAorICAgIDIwNywgMTI5LCAxMSwgMjQsIDEyMSwgNiwgMjA2LCAxOTUsIDExLCAyNCwgMTIxLCA2LCAyMDYsIDEyMywgMTEsIDI0LCAKKyAgICAxMjEsIDYsIDIwNSwgMTU5LCAxMSwgMjQsIDEyMSwgNSwgNjIsIDExLCAyNCwgMTIxLCA1LCAyNTEsIDE1MCwgMTEsIDI0LCAKKyAgICAxMjEsIDUsIDI0OSwgMzQsIDExLCAyNCwgMTIxLCA1LCAyNDYsIDI0MCwgMTEsIDI0LCAxMjEsIDUsIDc1LCAxMSwgMjQsIAorICAgIDEyMSwgNSwgMjQyLCAxMzksIDExLCAyNCwgMTIxLCA1LCAyNDEsIDU1LCAxMSwgMjQsIDEyMSwgNSwgMjM5LCAxNTUsIDExLCAKKyAgICAyNCwgMTIxLCA1LCA3NCwgMTEsIDI0LCAxMjEsIDUsIDIzMiwgMjAzLCAxMSwgMjQsIDEyMSwgNSwgMjMyLCA3NiwgMTEsIAorICAgIDI0LCAxMjEsIDUsIDE0OSwgMTEsIDI0LCAxMjEsIDUsIDIyOSwgMjgsIDExLCAyNCwgMTIxLCA1LCAyMjYsIDMzLCAxMSwgCisgICAgMjQsIDEyMSwgNSwgNzYsIDExLCAyNCwgMTIxLCA1LCAyMjIsIDY3LCAxMSwgMjQsIDEyMSwgNSwgMjIwLCAyNywgMTEsIDI0LCAKKyAgICAxMjEsIDUsIDEzNywgMTEsIDI0LCAxMjEsIDUsIDE4MiwgMTEsIDI0LCAxMjEsIDUsIDIxMywgMTAsIDExLCAyNCwgMTIxLCAKKyAgICA1LCA3MSwgMTEsIDI0LCAxMjEsIDUsIDIwOSwgMTQ4LCAxMSwgMjQsIDEyMSwgNSwgMjA3LCAxMjksIDExLCAyNCwgMTIxLCAKKyAgICA1LCAyMDYsIDE5NSwgMTEsIDI0LCAxMjEsIDUsIDIwNiwgMTIzLCAxMSwgMjQsIDEyMSwgNSwgMjA1LCAxNTksIDExLCAxNTQsIAorICAgIDYsIDYyLCAxMSwgMTU0LCA2LCAyNTEsIDE1MCwgMTEsIDE1NCwgNiwgMjQ2LCAyNDAsIDExLCAxNTQsIDYsIDc1LCAxMSwgCisgICAgMTU0LCA2LCAyNDIsIDEzOSwgMTEsIDE1NCwgNiwgMjQxLCA1NSwgMTEsIDE1NCwgNiwgMjMyLCAyMDMsIDExLCAxNTQsIDYsIAorICAgIDIzMiwgNzYsIDExLCAxNTQsIDYsIDE0OSwgMTEsIDE1NCwgNiwgMjI5LCAyOCwgMTEsIDE1NCwgNiwgMjI2LCAzMywgMTEsIAorICAgIDE1NCwgNiwgNzYsIDExLCAxNTQsIDYsIDIyMiwgNjcsIDExLCAxNTQsIDYsIDIyMCwgMjcsIDExLCAxNTQsIDYsIDE4MiwgCisgICAgMTEsIDE1NCwgNiwgMjEzLCAxMCwgMTEsIDE1NCwgNiwgNzEsIDExLCAxNTQsIDYsIDIwOSwgMTQ4LCAxMSwgMTU0LCA2LCAKKyAgICAyMDcsIDEyOSwgMTEsIDE1NCwgNiwgMjA2LCAxOTUsIDExLCAxNTQsIDYsIDIwNiwgMTIzLCAxMSwgMTU0LCA1LCA2MiwgMTEsIAorICAgIDE1NCwgNSwgMjUxLCAxNTAsIDExLCAxNTQsIDUsIDI0OSwgMzQsIDExLCAxNTQsIDUsIDI0NiwgMjQwLCAxMSwgMTU0LCA1LCAKKyAgICA3NSwgMTEsIDE1NCwgNSwgMjQyLCAxMzksIDExLCAxNTQsIDUsIDI0MSwgNTUsIDExLCAxNTQsIDUsIDIzOSwgMTU1LCAxMSwgCisgICAgMTU0LCA1LCA3NCwgMTEsIDE1NCwgNSwgMjMyLCAyMDMsIDExLCAxNTQsIDUsIDIzMiwgNzYsIDExLCAxNTQsIDUsIDE0OSwgCisgICAgMTEsIDE1NCwgNSwgMjI5LCAyOCwgMTEsIDE1NCwgNSwgMjI2LCAzMywgMTEsIDE1NCwgNSwgNzYsIDExLCAxNTQsIDUsIAorICAgIDIyMiwgNjcsIDExLCAxNTQsIDUsIDIyMCwgMjcsIDExLCAxNTQsIDUsIDEzNywgMTEsIDE1NCwgNSwgMTgyLCAxMSwgMTU0LCAKKyAgICA1LCAyMTMsIDEwLCAxMSwgMTU0LCA1LCA3MSwgMTEsIDE1NCwgNSwgMjA5LCAxNDgsIDExLCAxNTQsIDUsIDIwNywgMTI5LCAKKyAgICAxMSwgMTU0LCA1LCAyMDYsIDE5NSwgMTEsIDE1NCwgNSwgMjA2LCAxMjMsIDExLCAxNTQsIDUsIDIwNSwgMTU5LCAxMSwgCisgICAgMTU5LCA2LCA2MiwgMTEsIDE1OSwgNiwgMjUxLCAxNTAsIDExLCAxNTksIDYsIDI0NiwgMjQwLCAxMSwgMTU5LCA2LCA3NSwgCisgICAgMTEsIDE1OSwgNiwgMjQyLCAxMzksIDExLCAxNTksIDYsIDI0MSwgNTUsIDExLCAxNTksIDYsIDc0LCAxMSwgMTU5LCA2LCAKKyAgICAyMzIsIDIwMywgMTEsIDE1OSwgNiwgMjMyLCA3NiwgMTEsIDE1OSwgNiwgMTQ5LCAxMSwgMTU5LCA2LCAyMjksIDI4LCAxMSwgCisgICAgMTU5LCA2LCA3NiwgMTEsIDE1OSwgNiwgMTgyLCAxMSwgMTU5LCA2LCAyMTMsIDEwLCAxMSwgMTU5LCA2LCA3MSwgMTEsIAorICAgIDE1OSwgNiwgMjA5LCAxNDgsIDExLCAxNTksIDYsIDIwNywgMTI5LCAxMSwgMTU5LCA2LCAyMDYsIDE5NSwgMTEsIDE1OSwgNiwgCisgICAgMjA2LCAxMjMsIDExLCAxNTksIDUsIDYyLCAxMSwgMTU5LCA1LCAyNTEsIDE1MCwgMTEsIDE1OSwgNSwgMjQ5LCAzNCwgMTEsIAorICAgIDE1OSwgNSwgMjQ2LCAyNDAsIDExLCAxNTksIDUsIDc1LCAxMSwgMTU5LCA1LCAyNDIsIDEzOSwgMTEsIDE1OSwgNSwgMjQxLCAKKyAgICA1NSwgMTEsIDE1OSwgNSwgMjM5LCAxNTUsIDExLCAxNTksIDUsIDc0LCAxMSwgMTU5LCA1LCAyMzIsIDIwMywgMTEsIDE1OSwgCisgICAgNSwgMjMyLCA3NiwgMTEsIDE1OSwgNSwgMTQ5LCAxMSwgMTU5LCA1LCAyMjksIDI4LCAxMSwgMTU5LCA1LCAyMjYsIDMzLCAKKyAgICAxMSwgMTU5LCA1LCA3NiwgMTEsIDE1OSwgNSwgMjIyLCA2NywgMTEsIDE1OSwgNSwgMjIwLCAyNywgMTEsIDE1OSwgNSwgCisgICAgMTM3LCAxMSwgMTU5LCA1LCAxODIsIDExLCAxNTksIDUsIDIxMywgMTAsIDExLCAxNTksIDUsIDcxLCAxMSwgMTU5LCA1LCAKKyAgICAyMDksIDE0OCwgMTEsIDE1OSwgNSwgMjA3LCAxMjksIDExLCAxNTksIDUsIDIwNiwgMTk1LCAxMSwgMTU5LCA1LCAyMDYsIAorICAgIDEyMywgMTEsIDE1OSwgNSwgMjA1LCAxNTksIDExLCAyNCwgMTU0LCA2LCA2MiwgMTEsIDI0LCAxNTQsIDYsIDI1MSwgMTUwLCAKKyAgICAxMSwgMjQsIDE1NCwgNiwgMjQ5LCAzNCwgMTEsIDI0LCAxNTQsIDYsIDI0NiwgMjQwLCAxMSwgMjQsIDE1NCwgNiwgNzUsIAorICAgIDExLCAyNCwgMTU0LCA2LCAyNDIsIDEzOSwgMTEsIDI0LCAxNTQsIDYsIDI0MSwgNTUsIDExLCAyNCwgMTU0LCA2LCAyMzksIAorICAgIDE1NSwgMTEsIDI0LCAxNTQsIDYsIDc0LCAxMSwgMjQsIDE1NCwgNiwgMjMyLCAyMDMsIDExLCAyNCwgMTU0LCA2LCAyMzIsIAorICAgIDc2LCAxMSwgMjQsIDE1NCwgNiwgMTQ5LCAxMSwgMjQsIDE1NCwgNiwgMjI5LCAyOCwgMTEsIDI0LCAxNTQsIDYsIDIyNiwgCisgICAgMzMsIDExLCAyNCwgMTU0LCA2LCA3NiwgMTEsIDI0LCAxNTQsIDYsIDIyMiwgNjcsIDExLCAyNCwgMTU0LCA2LCAyMjAsIDI3LCAKKyAgICAxMSwgMjQsIDE1NCwgNiwgMTM3LCAxMSwgMjQsIDE1NCwgNiwgMTgyLCAxMSwgMjQsIDE1NCwgNiwgMjEzLCAxMCwgMTEsIAorICAgIDI0LCAxNTQsIDYsIDcxLCAxMSwgMjQsIDE1NCwgNiwgMjA5LCAxNDgsIDExLCAyNCwgMTU0LCA2LCAyMDcsIDEyOSwgMTEsIAorICAgIDI0LCAxNTQsIDYsIDIwNiwgMTk1LCAxMSwgMjQsIDE1NCwgNiwgMjA2LCAxMjMsIDExLCAyNCwgMTU0LCA2LCAyMDUsIDE1OSwgCisgICAgMTEsIDI0LCAxNTQsIDUsIDYyLCAxMSwgMjQsIDE1NCwgNSwgMjUxLCAxNTAsIDExLCAyNCwgMTU0LCA1LCAyNDksIDM0LCAKKyAgICAxMSwgMjQsIDE1NCwgNSwgMjQ2LCAyNDAsIDExLCAyNCwgMTU0LCA1LCA3NSwgMTEsIDI0LCAxNTQsIDUsIDI0MiwgMTM5LCAKKyAgICAxMSwgMjQsIDE1NCwgNSwgMjQxLCA1NSwgMTEsIDI0LCAxNTQsIDUsIDIzOSwgMTU1LCAxMSwgMjQsIDE1NCwgNSwgNzQsIAorICAgIDExLCAyNCwgMTU0LCA1LCAyMzIsIDIwMywgMTEsIDI0LCAxNTQsIDUsIDIzMiwgNzYsIDExLCAyNCwgMTU0LCA1LCAxNDksIAorICAgIDExLCAyNCwgMTU0LCA1LCAyMjksIDI4LCAxMSwgMjQsIDE1NCwgNSwgMjI2LCAzMywgMTEsIDI0LCAxNTQsIDUsIDc2LCAxMSwgCisgICAgMjQsIDE1NCwgNSwgMjIyLCA2NywgMTEsIDI0LCAxNTQsIDUsIDIyMCwgMjcsIDExLCAyNCwgMTU0LCA1LCAxMzcsIDExLCAKKyAgICAyNCwgMTU0LCA1LCAxODIsIDExLCAyNCwgMTU0LCA1LCAyMTMsIDEwLCAxMSwgMjQsIDE1NCwgNSwgNzEsIDExLCAyNCwgCisgICAgMTU0LCA1LCAyMDksIDE0OCwgMTEsIDI0LCAxNTQsIDUsIDIwNywgMTI5LCAxMSwgMjQsIDE1NCwgNSwgMjA2LCAxOTUsIDExLCAKKyAgICAyNCwgMTU0LCA1LCAyMDYsIDEyMywgMTEsIDI0LCAxNTQsIDUsIDIwNSwgMTU5LCAxMSwgMzgsIDYsIDYyLCAxMSwgMzgsIDYsIAorICAgIDI1MSwgMTUwLCAxMSwgMzgsIDYsIDI0OSwgMzQsIDExLCAzOCwgNiwgMjQ2LCAyNDAsIDExLCAzOCwgNiwgNzUsIDExLCAzOCwgCisgICAgNiwgMjQyLCAxMzksIDExLCAzOCwgNiwgMjQxLCA1NSwgMTEsIDM4LCA2LCAyMzksIDE1NSwgMTEsIDM4LCA2LCA3NCwgMTEsIAorICAgIDM4LCA2LCAyMzIsIDIwMywgMTEsIDM4LCA2LCAyMzIsIDc2LCAxMSwgMzgsIDYsIDE0OSwgMTEsIDM4LCA2LCAyMjksIDI4LCAKKyAgICAxMSwgMzgsIDYsIDIyNiwgMzMsIDExLCAzOCwgNiwgNzYsIDExLCAzOCwgNiwgMjIyLCA2NywgMTEsIDM4LCA2LCAyMjAsIAorICAgIDI3LCAxMSwgMzgsIDYsIDEzNywgMTEsIDM4LCA2LCAxODIsIDExLCAzOCwgNiwgMjEzLCAxMCwgMTEsIDM4LCA2LCA3MSwgCisgICAgMTEsIDM4LCA2LCAyMDksIDE0OCwgMTEsIDM4LCA2LCAyMDcsIDEyOSwgMTEsIDM4LCA2LCAyMDYsIDE5NSwgMTEsIDM4LCA2LCAKKyAgICAyMDYsIDEyMywgMTEsIDM4LCA2LCAyMDUsIDE1OSwgMTEsIDM4LCA1LCA2MiwgMTEsIDM4LCA1LCAyNTEsIDE1MCwgMTEsIAorICAgIDM4LCA1LCAyNDksIDM0LCAxMSwgMzgsIDUsIDI0NiwgMjQwLCAxMSwgMzgsIDUsIDc1LCAxMSwgMzgsIDUsIDI0MiwgMTM5LCAKKyAgICAxMSwgMzgsIDUsIDI0MSwgNTUsIDExLCAzOCwgNSwgMjM5LCAxNTUsIDExLCAzOCwgNSwgNzQsIDExLCAzOCwgNSwgMjMyLCAKKyAgICAyMDMsIDExLCAzOCwgNSwgMjMyLCA3NiwgMTEsIDM4LCA1LCAxNDksIDExLCAzOCwgNSwgMjI5LCAyOCwgMTEsIDM4LCA1LCAKKyAgICAyMjYsIDMzLCAxMSwgMzgsIDUsIDc2LCAxMSwgMzgsIDUsIDIyMiwgNjcsIDExLCAzOCwgNSwgMjIwLCAyNywgMTEsIDM4LCAKKyAgICA1LCAxMzcsIDExLCAzOCwgNSwgMTgyLCAxMSwgMzgsIDUsIDIxMywgMTAsIDExLCAzOCwgNSwgNzEsIDExLCAzOCwgNSwgCisgICAgMjA5LCAxNDgsIDExLCAzOCwgNSwgMjA3LCAxMjksIDExLCAzOCwgNSwgMjA2LCAxOTUsIDExLCAzOCwgNSwgMjA2LCAxMjMsIAorICAgIDExLCAzOCwgNSwgMjA1LCAxNTksIDExLCAzOCwgMjQsIDYsIDYyLCAxMSwgMzgsIDI0LCA2LCAyNTEsIDE1MCwgMTEsIDM4LCAKKyAgICAyNCwgNiwgMjQ5LCAzNCwgMTEsIDM4LCAyNCwgNiwgMjQ2LCAyNDAsIDExLCAzOCwgMjQsIDYsIDc1LCAxMSwgMzgsIDI0LCAKKyAgICA2LCAyNDIsIDEzOSwgMTEsIDM4LCAyNCwgNiwgMjQxLCA1NSwgMTEsIDM4LCAyNCwgNiwgMjM5LCAxNTUsIDExLCAzOCwgMjQsIAorICAgIDYsIDc0LCAxMSwgMzgsIDI0LCA2LCAyMzIsIDIwMywgMTEsIDM4LCAyNCwgNiwgMjMyLCA3NiwgMTEsIDM4LCAyNCwgNiwgCisgICAgMTQ5LCAxMSwgMzgsIDI0LCA2LCAyMjksIDI4LCAxMSwgMzgsIDI0LCA2LCAyMjYsIDMzLCAxMSwgMzgsIDI0LCA2LCA3NiwgCisgICAgMTEsIDM4LCAyNCwgNiwgMjIyLCA2NywgMTEsIDM4LCAyNCwgNiwgMjIwLCAyNywgMTEsIDM4LCAyNCwgNiwgMTM3LCAxMSwgCisgICAgMzgsIDI0LCA2LCAxODIsIDExLCAzOCwgMjQsIDYsIDIxMywgMTAsIDExLCAzOCwgMjQsIDYsIDcxLCAxMSwgMzgsIDI0LCA2LCAKKyAgICAyMDksIDE0OCwgMTEsIDM4LCAyNCwgNiwgMjA3LCAxMjksIDExLCAzOCwgMjQsIDYsIDIwNiwgMTk1LCAxMSwgMzgsIDI0LCAKKyAgICA2LCAyMDYsIDEyMywgMTEsIDM4LCAyNCwgNiwgMjA1LCAxNTksIDExLCAzOCwgMjQsIDUsIDYyLCAxMSwgMzgsIDI0LCA1LCAKKyAgICAyNTEsIDE1MCwgMTEsIDM4LCAyNCwgNSwgMjQ5LCAzNCwgMTEsIDM4LCAyNCwgNSwgMjQ2LCAyNDAsIDExLCAzOCwgMjQsIDUsIAorICAgIDc1LCAxMSwgMzgsIDI0LCA1LCAyNDIsIDEzOSwgMTEsIDM4LCAyNCwgNSwgMjQxLCA1NSwgMTEsIDM4LCAyNCwgNSwgMjM5LCAKKyAgICAxNTUsIDExLCAzOCwgMjQsIDUsIDc0LCAxMSwgMzgsIDI0LCA1LCAyMzIsIDIwMywgMTEsIDM4LCAyNCwgNSwgMjMyLCA3NiwgCisgICAgMTEsIDM4LCAyNCwgNSwgMTQ5LCAxMSwgMzgsIDI0LCA1LCAyMjksIDI4LCAxMSwgMzgsIDI0LCA1LCAyMjYsIDMzLCAxMSwgCisgICAgMzgsIDI0LCA1LCA3NiwgMTEsIDM4LCAyNCwgNSwgMjIyLCA2NywgMTEsIDM4LCAyNCwgNSwgMjIwLCAyNywgMTEsIDM4LCAKKyAgICAyNCwgNSwgMTM3LCAxMSwgMzgsIDI0LCA1LCAxODIsIDExLCAzOCwgMjQsIDUsIDIxMywgMTAsIDExLCAzOCwgMjQsIDUsIAorICAgIDcxLCAxMSwgMzgsIDI0LCA1LCAyMDksIDE0OCwgMTEsIDM4LCAyNCwgNSwgMjA3LCAxMjksIDExLCAzOCwgMjQsIDUsIDIwNiwgCisgICAgMTk1LCAxMSwgMzgsIDI0LCA1LCAyMDYsIDEyMywgMTEsIDM4LCAyNCwgNSwgMjA1LCAxNTksIDExLCAzOCwgMzUsIDYsIDYyLCAKKyAgICAxMSwgMzgsIDM1LCA2LCAyNTEsIDE1MCwgMTEsIDM4LCAzNSwgNiwgMjQ5LCAzNCwgMTEsIDM4LCAzNSwgNiwgMjQ2LCAyNDAsIAorICAgIDExLCAzOCwgMzUsIDYsIDc1LCAxMSwgMzgsIDM1LCA2LCAyNDIsIDEzOSwgMTEsIDM4LCAzNSwgNiwgMjQxLCA1NSwgMTEsIAorICAgIDM4LCAzNSwgNiwgMjM5LCAxNTUsIDExLCAzOCwgMzUsIDYsIDc0LCAxMSwgMzgsIDM1LCA2LCAyMzIsIDIwMywgMTEsIDM4LCAKKyAgICAzNSwgNiwgMjMyLCA3NiwgMTEsIDM4LCAzNSwgNiwgMTQ5LCAxMSwgMzgsIDM1LCA2LCAyMjksIDI4LCAxMSwgMzgsIDM1LCAKKyAgICA2LCAyMjYsIDMzLCAxMSwgMzgsIDM1LCA2LCA3NiwgMTEsIDM4LCAzNSwgNiwgMjIyLCA2NywgMTEsIDM4LCAzNSwgNiwgCisgICAgMjIwLCAyNywgMTEsIDM4LCAzNSwgNiwgMTM3LCAxMSwgMzgsIDM1LCA2LCAxODIsIDExLCAzOCwgMzUsIDYsIDIxMywgMTAsIAorICAgIDExLCAzOCwgMzUsIDYsIDcxLCAxMSwgMzgsIDM1LCA2LCAyMDksIDE0OCwgMTEsIDM4LCAzNSwgNiwgMjA3LCAxMjksIDExLCAKKyAgICAzOCwgMzUsIDYsIDIwNiwgMTk1LCAxMSwgMzgsIDM1LCA2LCAyMDYsIDEyMywgMTEsIDM4LCAzNSwgNiwgMjA1LCAxNTksIAorICAgIDExLCAzOCwgMzUsIDUsIDYyLCAxMSwgMzgsIDM1LCA1LCAyNTEsIDE1MCwgMTEsIDM4LCAzNSwgNSwgMjQ5LCAzNCwgMTEsIAorICAgIDM4LCAzNSwgNSwgMjQ2LCAyNDAsIDExLCAzOCwgMzUsIDUsIDc1LCAxMSwgMzgsIDM1LCA1LCAyNDIsIDEzOSwgMTEsIDM4LCAKKyAgICAzNSwgNSwgMjQxLCA1NSwgMTEsIDM4LCAzNSwgNSwgMjM5LCAxNTUsIDExLCAzOCwgMzUsIDUsIDc0LCAxMSwgMzgsIDM1LCAKKyAgICA1LCAyMzIsIDIwMywgMTEsIDM4LCAzNSwgNSwgMjMyLCA3NiwgMTEsIDM4LCAzNSwgNSwgMTQ5LCAxMSwgMzgsIDM1LCA1LCAKKyAgICAyMjksIDI4LCAxMSwgMzgsIDM1LCA1LCAyMjYsIDMzLCAxMSwgMzgsIDM1LCA1LCA3NiwgMTEsIDM4LCAzNSwgNSwgMjIyLCAKKyAgICA2NywgMTEsIDM4LCAzNSwgNSwgMjIwLCAyNywgMTEsIDM4LCAzNSwgNSwgMTM3LCAxMSwgMzgsIDM1LCA1LCAxODIsIDExLCAKKyAgICAzOCwgMzUsIDUsIDIxMywgMTAsIDExLCAzOCwgMzUsIDUsIDcxLCAxMSwgMzgsIDM1LCA1LCAyMDksIDE0OCwgMTEsIDM4LCAKKyAgICAzNSwgNSwgMjA3LCAxMjksIDExLCAzOCwgMzUsIDUsIDIwNiwgMTk1LCAxMSwgMzgsIDM1LCA1LCAyMDYsIDEyMywgMTEsIAorICAgIDM4LCAzNSwgNSwgMjA1LCAxNTksIDExLCAzOCwgMjQsIDM1LCA2LCA2MiwgMTEsIDM4LCAyNCwgMzUsIDYsIDI1MSwgMTUwLCAKKyAgICAxMSwgMzgsIDI0LCAzNSwgNiwgMjQ5LCAzNCwgMTEsIDM4LCAyNCwgMzUsIDYsIDI0NiwgMjQwLCAxMSwgMzgsIDI0LCAzNSwgCisgICAgNiwgNzUsIDExLCAzOCwgMjQsIDM1LCA2LCAyNDIsIDEzOSwgMTEsIDM4LCAyNCwgMzUsIDYsIDI0MSwgNTUsIDExLCAzOCwgCisgICAgMjQsIDM1LCA2LCAyMzksIDE1NSwgMTEsIDM4LCAyNCwgMzUsIDYsIDc0LCAxMSwgMzgsIDI0LCAzNSwgNiwgMjMyLCAyMDMsIAorICAgIDExLCAzOCwgMjQsIDM1LCA2LCAyMzIsIDc2LCAxMSwgMzgsIDI0LCAzNSwgNiwgMTQ5LCAxMSwgMzgsIDI0LCAzNSwgNiwgCisgICAgMjI5LCAyOCwgMTEsIDM4LCAyNCwgMzUsIDYsIDIyNiwgMzMsIDExLCAzOCwgMjQsIDM1LCA2LCA3NiwgMTEsIDM4LCAyNCwgCisgICAgMzUsIDYsIDIyMiwgNjcsIDExLCAzOCwgMjQsIDM1LCA2LCAyMjAsIDI3LCAxMSwgMzgsIDI0LCAzNSwgNiwgMTM3LCAxMSwgCisgICAgMzgsIDI0LCAzNSwgNiwgMTgyLCAxMSwgMzgsIDI0LCAzNSwgNiwgMjEzLCAxMCwgMTEsIDM4LCAyNCwgMzUsIDYsIDcxLCAKKyAgICAxMSwgMzgsIDI0LCAzNSwgNiwgMjA5LCAxNDgsIDExLCAzOCwgMjQsIDM1LCA2LCAyMDcsIDEyOSwgMTEsIDM4LCAyNCwgMzUsIAorICAgIDYsIDIwNiwgMTk1LCAxMSwgMzgsIDI0LCAzNSwgNiwgMjA2LCAxMjMsIDExLCAzOCwgMjQsIDM1LCA2LCAyMDUsIDE1OSwgCisgICAgMTEsIDM4LCAyNCwgMzUsIDUsIDYyLCAxMSwgMzgsIDI0LCAzNSwgNSwgMjUxLCAxNTAsIDExLCAzOCwgMjQsIDM1LCA1LCAKKyAgICAyNDksIDM0LCAxMSwgMzgsIDI0LCAzNSwgNSwgMjQ2LCAyNDAsIDExLCAzOCwgMjQsIDM1LCA1LCA3NSwgMTEsIDM4LCAyNCwgCisgICAgMzUsIDUsIDI0MiwgMTM5LCAxMSwgMzgsIDI0LCAzNSwgNSwgMjQxLCA1NSwgMTEsIDM4LCAyNCwgMzUsIDUsIDIzOSwgMTU1LCAKKyAgICAxMSwgMzgsIDI0LCAzNSwgNSwgNzQsIDExLCAzOCwgMjQsIDM1LCA1LCAyMzIsIDIwMywgMTEsIDM4LCAyNCwgMzUsIDUsIAorICAgIDIzMiwgNzYsIDExLCAzOCwgMjQsIDM1LCA1LCAxNDksIDExLCAzOCwgMjQsIDM1LCA1LCAyMjksIDI4LCAxMSwgMzgsIDI0LCAKKyAgICAzNSwgNSwgMjI2LCAzMywgMTEsIDM4LCAyNCwgMzUsIDUsIDc2LCAxMSwgMzgsIDI0LCAzNSwgNSwgMjIyLCA2NywgMTEsIAorICAgIDM4LCAyNCwgMzUsIDUsIDIyMCwgMjcsIDExLCAzOCwgMjQsIDM1LCA1LCAxMzcsIDExLCAzOCwgMjQsIDM1LCA1LCAxODIsIAorICAgIDExLCAzOCwgMjQsIDM1LCA1LCAyMTMsIDEwLCAxMSwgMzgsIDI0LCAzNSwgNSwgNzEsIDExLCAzOCwgMjQsIDM1LCA1LCAKKyAgICAyMDksIDE0OCwgMTEsIDM4LCAyNCwgMzUsIDUsIDIwNywgMTI5LCAxMSwgMzgsIDI0LCAzNSwgNSwgMjA2LCAxOTUsIDExLCAKKyAgICAzOCwgMjQsIDM1LCA1LCAyMDYsIDEyMywgMTEsIDM4LCAyNCwgMzUsIDUsIDIwNSwgMTU5LCAxMSwgMjI2LCAxNTYsIDYsIAorICAgIDYyLCAxMSwgMjI2LCAxNTYsIDYsIDI1MSwgMTUwLCAxMSwgMjI2LCAxNTYsIDYsIDI0OSwgMzQsIDExLCAyMjYsIDE1NiwgNiwgCisgICAgMjQ2LCAyNDAsIDExLCAyMjYsIDE1NiwgNiwgNzUsIDExLCAyMjYsIDE1NiwgNiwgMjQyLCAxMzksIDExLCAyMjYsIDE1NiwgCisgICAgNiwgMjQxLCA1NSwgMTEsIDIyNiwgMTU2LCA2LCAyMzksIDE1NSwgMTEsIDIyNiwgMTU2LCA2LCA3NCwgMTEsIDIyNiwgMTU2LCAKKyAgICA2LCAyMzIsIDIwMywgMTEsIDIyNiwgMTU2LCA2LCAyMzIsIDc2LCAxMSwgMjI2LCAxNTYsIDYsIDE0OSwgMTEsIDIyNiwgCisgICAgMTU2LCA2LCAyMjksIDI4LCAxMSwgMjI2LCAxNTYsIDYsIDIyNiwgMzMsIDExLCAyMjYsIDE1NiwgNiwgNzYsIDExLCAyMjYsIAorICAgIDE1NiwgNiwgMjIyLCA2NywgMTEsIDIyNiwgMTU2LCA2LCAyMjAsIDI3LCAxMSwgMjI2LCAxNTYsIDYsIDEzNywgMTEsIDIyNiwgCisgICAgMTU2LCA2LCAxODIsIDExLCAyMjYsIDE1NiwgNiwgMjEzLCAxMCwgMTEsIDIyNiwgMTU2LCA2LCA3MSwgMTEsIDIyNiwgMTU2LCAKKyAgICA2LCAyMDksIDE0OCwgMTEsIDIyNiwgMTU2LCA2LCAyMDcsIDEyOSwgMTEsIDIyNiwgMTU2LCA2LCAyMDYsIDE5NSwgMTEsIAorICAgIDIyNiwgMTU2LCA2LCAyMDYsIDEyMywgMTEsIDIyNiwgMTU2LCA2LCAyMDUsIDE1OSwgMTEsIDIyNiwgMTU2LCA1LCA2MiwgCisgICAgMTEsIDIyNiwgMTU2LCA1LCAyNTEsIDE1MCwgMTEsIDIyNiwgMTU2LCA1LCAyNDksIDM0LCAxMSwgMjI2LCAxNTYsIDUsIAorICAgIDI0NiwgMjQwLCAxMSwgMjI2LCAxNTYsIDUsIDc1LCAxMSwgMjI2LCAxNTYsIDUsIDI0MiwgMTM5LCAxMSwgMjI2LCAxNTYsIAorICAgIDUsIDI0MSwgNTUsIDExLCAyMjYsIDE1NiwgNSwgMjM5LCAxNTUsIDExLCAyMjYsIDE1NiwgNSwgNzQsIDExLCAyMjYsIDE1NiwgCisgICAgNSwgMjMyLCAyMDMsIDExLCAyMjYsIDE1NiwgNSwgMjMyLCA3NiwgMTEsIDIyNiwgMTU2LCA1LCAxNDksIDExLCAyMjYsIAorICAgIDE1NiwgNSwgMjI5LCAyOCwgMTEsIDIyNiwgMTU2LCA1LCAyMjYsIDMzLCAxMSwgMjI2LCAxNTYsIDUsIDc2LCAxMSwgMjI2LCAKKyAgICAxNTYsIDUsIDIyMiwgNjcsIDExLCAyMjYsIDE1NiwgNSwgMjIwLCAyNywgMTEsIDIyNiwgMTU2LCA1LCAxMzcsIDExLCAyMjYsIAorICAgIDE1NiwgNSwgMTgyLCAxMSwgMjI2LCAxNTYsIDUsIDIxMywgMTAsIDExLCAyMjYsIDE1NiwgNSwgNzEsIDExLCAyMjYsIDE1NiwgCisgICAgNSwgMjA5LCAxNDgsIDExLCAyMjYsIDE1NiwgNSwgMjA3LCAxMjksIDExLCAyMjYsIDE1NiwgNSwgMjA2LCAxOTUsIDExLCAKKyAgICAyMjYsIDE1NiwgNSwgMjA2LCAxMjMsIDExLCAyMjYsIDE1NiwgNSwgMjA1LCAxNTksIDExLCAzNSwgNSwgMjQ1LCAyMiwgNzQsIAorICAgIDExLCAzNSwgNSwgMjQ1LCAyMiwgMjMyLCAyMDMsIDExLCAyNCwgNiwgMjUyLCAxNDQsIDExLCAyNCwgNiwgMjUwLCA4LCAxMSwgCisgICAgMjQsIDYsIDI0MCwgMjE1LCAxMSwgMjQsIDYsIDI0NSwgMjI3LCAxMSwgMjQsIDYsIDI0MiwgMjQ0LCAxMSwgMjQsIDYsIAorICAgIDIwNSwgODQsIDExLCAyNCwgNiwgMjQyLCAyMDEsIDExLCAyNCwgNiwgMjEyLCAyMywgMTEsIDI0LCA2LCAyMzIsIDI0OSwgCisgICAgMTEsIDI0LCA2LCAyMzIsIDE0LCAxMSwgMjQsIDYsIDIzMCwgMTAyLCAxMSwgMjQsIDYsIDIyNiwgMTE0LCAxMSwgMjQsIDYsIAorICAgIDIyMywgMjE3LCAxMSwgMjQsIDYsIDIwNiwgMTY5LCAxMSwgMjQsIDYsIDIyMiwgMTY4LCAxMSwgMjQsIDYsIDIyMSwgNTMsIAorICAgIDExLCAyNCwgNiwgMjE4LCAyMTAsIDExLCAyNCwgNiwgMjEyLCAyNCwgOTMsIDExLCAyNCwgNiwgMjE1LCA2MywgMTEsIDI0LCAKKyAgICA2LCAyMTIsIDE1MSwgMTEsIDI0LCA2LCAyMDksIDIwMCwgMTEsIDI0LCA2LCAyMjEsIDc4LCAxMSwgMjQsIDYsIDI0OCwgNTgsIAorICAgIDExLCAyNCwgNiwgMjIwLCA5MywgMTEsIDI0LCA2LCAyMjIsIDE3MCwgMTEsIDI0LCAyMjUsIDIyNywgMTEsIDI0LCA1LCAKKyAgICAyNTIsIDE0NCwgMTEsIDI0LCA1LCAyNTAsIDgsIDExLCAyNCwgNSwgMjQwLCAyMTUsIDExLCAyNCwgNSwgMjQ1LCAyMjcsIAorICAgIDExLCAyNCwgNSwgMjQyLCAyNDQsIDExLCAyNCwgNSwgMjA1LCA4NCwgMTEsIDI0LCA1LCAyNDIsIDIwMSwgMTEsIDI0LCA1LCAKKyAgICAyMTIsIDIzLCAxMSwgMjQsIDUsIDIzMiwgMjQ5LCAxMSwgMjQsIDUsIDIzMiwgMTQsIDExLCAyNCwgNSwgMjMwLCAxMDIsIAorICAgIDExLCAyNCwgNSwgMjI2LCAxMTQsIDExLCAyNCwgNSwgMjIzLCAyMTcsIDExLCAyNCwgNSwgMjA2LCAxNjksIDExLCAyNCwgNSwgCisgICAgMjIyLCAxNjgsIDExLCAyNCwgNSwgMjIxLCA1MywgMTEsIDI0LCA1LCAyMTgsIDIxMCwgMTEsIDI0LCA1LCA0MiwgMjE1LCAKKyAgICA2MywgMTEsIDI0LCA1LCAyMTUsIDYzLCAxMSwgMjQsIDUsIDIxMiwgMTUxLCAxMSwgMjQsIDUsIDIwOSwgMjAwLCAxMSwgMjQsIAorICAgIDUsIDIyMSwgNzgsIDExLCAyNCwgNSwgMjQ4LCA1OCwgMTEsIDI0LCA1LCAyMjAsIDkzLCAxMSwgMjQsIDUsIDIyMiwgMTcwLCAKKyAgICAxMSwgMjQsIDIyMSwgMjA5LCAyNDUsIDE0MCwgMTEsIDI0LCAyNDIsIDI0NSwgOTMsIDExLCAyNCwgMjEyLCAyNCwgOTMsIAorICAgIDExLCAyNCwgMjMyLCAxNSwgOTMsIDExLCAyNCwgMjIxLCA3OSwgOTMsIDExLCAyNCwgMjE4LCAyMTEsIDkzLCAxMSwgMjQsIAorICAgIDIyMSwgNTQsIDkzLCAxMSwgMzUsIDYsIDI1MiwgMTQ0LCAxMSwgMzUsIDYsIDI1MCwgOCwgMTEsIDM1LCA2LCAyNDAsIDIxNSwgCisgICAgMTEsIDM1LCA2LCAyNDUsIDIyNywgMTEsIDM1LCA2LCAyNDIsIDI0NCwgMTEsIDM1LCA2LCAyMDUsIDg0LCAxMSwgMzUsIDYsIAorICAgIDI0MiwgMjAxLCAxMSwgMzUsIDYsIDIxMiwgMjMsIDExLCAzNSwgNiwgMjMyLCAyNDksIDExLCAzNSwgNiwgMjMyLCAxNCwgCisgICAgMTEsIDM1LCA2LCAyMzAsIDEwMiwgMTEsIDM1LCA2LCAyMjYsIDExNCwgMTEsIDM1LCA2LCAyMjMsIDIxNywgMTEsIDM1LCA2LCAKKyAgICAyMDYsIDE2OSwgMTEsIDM1LCA2LCAyMjIsIDE2OCwgMTEsIDM1LCA2LCAyMjEsIDUzLCAxMSwgMzUsIDYsIDIxOCwgMjEwLCAKKyAgICAxMSwgMzUsIDYsIDIxMiwgMjQsIDkzLCAxMSwgMzUsIDYsIDIxNSwgNjMsIDExLCAzNSwgNiwgMjEyLCAxNTEsIDExLCAzNSwgCisgICAgNiwgMjA5LCAyMDAsIDExLCAzNSwgNiwgMjIxLCA3OCwgMTEsIDM1LCA2LCAyNDgsIDU4LCAxMSwgMzUsIDYsIDIyMCwgOTMsIAorICAgIDExLCAzNSwgNiwgMjIyLCAxNzAsIDExLCAzNSwgMjI1LCAyMjcsIDExLCAzNSwgNSwgMjUyLCAxNDQsIDExLCAzNSwgNSwgCisgICAgMjUwLCA4LCAxMSwgMzUsIDUsIDI0MCwgMjE1LCAxMSwgMzUsIDUsIDI0NSwgMjI3LCAxMSwgMzUsIDUsIDI0MiwgMjQ0LCAKKyAgICAxMSwgMzUsIDUsIDIwNSwgODQsIDExLCAzNSwgNSwgMjQyLCAyMDEsIDExLCAzNSwgNSwgMjEyLCAyMywgMTEsIDM1LCA1LCAKKyAgICAyMzIsIDI0OSwgMTEsIDM1LCA1LCAyMzIsIDE0LCAxMSwgMzUsIDUsIDIzMCwgMTAyLCAxMSwgMzUsIDUsIDIyNiwgMTE0LCAKKyAgICAxMSwgMzUsIDUsIDIyMywgMjE3LCAxMSwgMzUsIDUsIDIwNiwgMTY5LCAxMSwgMzUsIDUsIDIyMiwgMTY4LCAxMSwgMzUsIDUsIAorICAgIDIyMSwgNTMsIDExLCAzNSwgNSwgMjE4LCAyMTAsIDExLCAzNSwgNSwgNDIsIDIxNSwgNjMsIDExLCAzNSwgNSwgMjE1LCA2MywgCisgICAgMTEsIDM1LCA1LCAyMTIsIDE1MSwgMTEsIDM1LCA1LCAyMDksIDIwMCwgMTEsIDM1LCA1LCAyMjEsIDc4LCAxMSwgMzUsIDUsIAorICAgIDI0OCwgNTgsIDExLCAzNSwgNSwgMjIwLCA5MywgMTEsIDM1LCA1LCAyMjIsIDE3MCwgMTEsIDM1LCAyMjEsIDIwOSwgMjQ1LCAKKyAgICAxNDAsIDExLCAzNSwgMjQyLCAyNDUsIDkzLCAxMSwgMzUsIDIxMiwgMjQsIDkzLCAxMSwgMzUsIDIzMiwgMTUsIDkzLCAxMSwgCisgICAgMzUsIDIyMSwgNzksIDkzLCAxMSwgMzUsIDIxOCwgMjExLCA5MywgMTEsIDM1LCAyMjEsIDU0LCA5MywgMTEsIDI0LCAzNSwgCisgICAgNiwgMjUyLCAxNDQsIDExLCAyNCwgMzUsIDYsIDI1MCwgOCwgMTEsIDI0LCAzNSwgNiwgMjQwLCAyMTUsIDExLCAyNCwgMzUsIAorICAgIDYsIDI0NSwgMjI3LCAxMSwgMjQsIDM1LCA2LCAyNDIsIDI0NCwgMTEsIDI0LCAzNSwgNiwgMjA1LCA4NCwgMTEsIDI0LCAzNSwgCisgICAgNiwgMjQyLCAyMDEsIDExLCAyNCwgMzUsIDYsIDIxMiwgMjMsIDExLCAyNCwgMzUsIDYsIDIzMiwgMjQ5LCAxMSwgMjQsIDM1LCAKKyAgICA2LCAyMzIsIDE0LCAxMSwgMjQsIDM1LCA2LCAyMzAsIDEwMiwgMTEsIDI0LCAzNSwgNiwgMjI2LCAxMTQsIDExLCAyNCwgMzUsIAorICAgIDYsIDIyMywgMjE3LCAxMSwgMjQsIDM1LCA2LCAyMDYsIDE2OSwgMTEsIDI0LCAzNSwgNiwgMjIyLCAxNjgsIDExLCAyNCwgCisgICAgMzUsIDYsIDIyMSwgNTMsIDExLCAyNCwgMzUsIDYsIDIxOCwgMjEwLCAxMSwgMjQsIDM1LCA2LCAyMTIsIDI0LCA5MywgMTEsIAorICAgIDI0LCAzNSwgNiwgMjE1LCA2MywgMTEsIDI0LCAzNSwgNiwgMjEyLCAxNTEsIDExLCAyNCwgMzUsIDYsIDIwOSwgMjAwLCAxMSwgCisgICAgMjQsIDM1LCA2LCAyMjEsIDc4LCAxMSwgMjQsIDM1LCA2LCAyNDgsIDU4LCAxMSwgMjQsIDM1LCA2LCAyMjAsIDkzLCAxMSwgCisgICAgMjQsIDM1LCA2LCAyMjIsIDE3MCwgMTEsIDI0LCAzNSwgMjI1LCAyMjcsIDExLCAyNCwgMzUsIDUsIDI1MiwgMTQ0LCAxMSwgCisgICAgMjQsIDM1LCA1LCAyNTAsIDgsIDExLCAyNCwgMzUsIDUsIDI0MCwgMjE1LCAxMSwgMjQsIDM1LCA1LCAyNDUsIDIyNywgMTEsIAorICAgIDI0LCAzNSwgNSwgMjQyLCAyNDQsIDExLCAyNCwgMzUsIDUsIDIwNSwgODQsIDExLCAyNCwgMzUsIDUsIDI0MiwgMjAxLCAxMSwgCisgICAgMjQsIDM1LCA1LCAyMTIsIDIzLCAxMSwgMjQsIDM1LCA1LCAyMzIsIDI0OSwgMTEsIDI0LCAzNSwgNSwgMjMyLCAxNCwgMTEsIAorICAgIDI0LCAzNSwgNSwgMjMwLCAxMDIsIDExLCAyNCwgMzUsIDUsIDIyNiwgMTE0LCAxMSwgMjQsIDM1LCA1LCAyMjMsIDIxNywgCisgICAgMTEsIDI0LCAzNSwgNSwgMjA2LCAxNjksIDExLCAyNCwgMzUsIDUsIDIyMiwgMTY4LCAxMSwgMjQsIDM1LCA1LCAyMjEsIDUzLCAKKyAgICAxMSwgMjQsIDM1LCA1LCAyMTgsIDIxMCwgMTEsIDI0LCAzNSwgNSwgNDIsIDIxNSwgNjMsIDExLCAyNCwgMzUsIDUsIDIxNSwgCisgICAgNjMsIDExLCAyNCwgMzUsIDUsIDIxMiwgMTUxLCAxMSwgMjQsIDM1LCA1LCAyMDksIDIwMCwgMTEsIDI0LCAzNSwgNSwgMjIxLCAKKyAgICA3OCwgMTEsIDI0LCAzNSwgNSwgMjQ4LCA1OCwgMTEsIDI0LCAzNSwgNSwgMjIwLCA5MywgMTEsIDI0LCAzNSwgNSwgMjIyLCAKKyAgICAxNzAsIDExLCAyNCwgMzUsIDIyMSwgMjA5LCAyNDUsIDE0MCwgMTEsIDI0LCAzNSwgMjQyLCAyNDUsIDkzLCAxMSwgMjQsIAorICAgIDM1LCAyMTIsIDI0LCA5MywgMTEsIDI0LCAzNSwgMjMyLCAxNSwgOTMsIDExLCAyNCwgMzUsIDIyMSwgNzksIDkzLCAxMSwgCisgICAgMjQsIDM1LCAyMTgsIDIxMSwgOTMsIDExLCAyNCwgMzUsIDIyMSwgNTQsIDkzLCAxMSwgMzgsIDI0LCA2LCAyNTIsIDE0NCwgCisgICAgMTEsIDM4LCAyNCwgNiwgMjUwLCA4LCAxMSwgMzgsIDI0LCA2LCAyNDAsIDIxNSwgMTEsIDM4LCAyNCwgNiwgMjQ1LCAyMjcsIAorICAgIDExLCAzOCwgMjQsIDYsIDI0MiwgMjQ0LCAxMSwgMzgsIDI0LCA2LCAyMDUsIDg0LCAxMSwgMzgsIDI0LCA2LCAyNDIsIDIwMSwgCisgICAgMTEsIDM4LCAyNCwgNiwgMjEyLCAyMywgMTEsIDM4LCAyNCwgNiwgMjMyLCAyNDksIDExLCAzOCwgMjQsIDYsIDIzMiwgMTQsIAorICAgIDExLCAzOCwgMjQsIDYsIDIzMCwgMTAyLCAxMSwgMzgsIDI0LCA2LCAyMjYsIDExNCwgMTEsIDM4LCAyNCwgNiwgMjIzLCAKKyAgICAyMTcsIDExLCAzOCwgMjQsIDYsIDIwNiwgMTY5LCAxMSwgMzgsIDI0LCA2LCAyMjIsIDE2OCwgMTEsIDM4LCAyNCwgNiwgCisgICAgMjIxLCA1MywgMTEsIDM4LCAyNCwgNiwgMjE4LCAyMTAsIDExLCAzOCwgMjQsIDYsIDIxMiwgMjQsIDkzLCAxMSwgMzgsIDI0LCAKKyAgICA2LCAyMTUsIDYzLCAxMSwgMzgsIDI0LCA2LCAyMTIsIDE1MSwgMTEsIDM4LCAyNCwgNiwgMjA5LCAyMDAsIDExLCAzOCwgMjQsIAorICAgIDYsIDIyMSwgNzgsIDExLCAzOCwgMjQsIDYsIDI0OCwgNTgsIDExLCAzOCwgMjQsIDYsIDIyMCwgOTMsIDExLCAzOCwgMjQsIAorICAgIDYsIDIyMiwgMTcwLCAxMSwgMzgsIDI0LCAyMjUsIDIyNywgMTEsIDM4LCAyNCwgNSwgMjUyLCAxNDQsIDExLCAzOCwgMjQsIAorICAgIDUsIDI1MCwgOCwgMTEsIDM4LCAyNCwgNSwgMjQwLCAyMTUsIDExLCAzOCwgMjQsIDUsIDI0NSwgMjI3LCAxMSwgMzgsIDI0LCAKKyAgICA1LCAyNDIsIDI0NCwgMTEsIDM4LCAyNCwgNSwgMjA1LCA4NCwgMTEsIDM4LCAyNCwgNSwgMjQyLCAyMDEsIDExLCAzOCwgMjQsIAorICAgIDUsIDIxMiwgMjMsIDExLCAzOCwgMjQsIDUsIDIzMiwgMjQ5LCAxMSwgMzgsIDI0LCA1LCAyMzIsIDE0LCAxMSwgMzgsIDI0LCAKKyAgICA1LCAyMzAsIDEwMiwgMTEsIDM4LCAyNCwgNSwgMjI2LCAxMTQsIDExLCAzOCwgMjQsIDUsIDIyMywgMjE3LCAxMSwgMzgsIAorICAgIDI0LCA1LCAyMDYsIDE2OSwgMTEsIDM4LCAyNCwgNSwgMjIyLCAxNjgsIDExLCAzOCwgMjQsIDUsIDIyMSwgNTMsIDExLCAzOCwgCisgICAgMjQsIDUsIDIxOCwgMjEwLCAxMSwgMzgsIDI0LCA1LCA0MiwgMjE1LCA2MywgMTEsIDM4LCAyNCwgNSwgMjE1LCA2MywgMTEsIAorICAgIDM4LCAyNCwgNSwgMjEyLCAxNTEsIDExLCAzOCwgMjQsIDUsIDIwOSwgMjAwLCAxMSwgMzgsIDI0LCA1LCAyMjEsIDc4LCAxMSwgCisgICAgMzgsIDI0LCA1LCAyNDgsIDU4LCAxMSwgMzgsIDI0LCA1LCAyMjAsIDkzLCAxMSwgMzgsIDI0LCA1LCAyMjIsIDE3MCwgMTEsIAorICAgIDM4LCAyNCwgMjIxLCAyMDksIDI0NSwgMTQwLCAxMSwgMzgsIDI0LCAyNDIsIDI0NSwgOTMsIDExLCAzOCwgMjQsIDIxMiwgCisgICAgMjQsIDkzLCAxMSwgMzgsIDI0LCAyMzIsIDE1LCA5MywgMTEsIDM4LCAyNCwgMjIxLCA3OSwgOTMsIDExLCAzOCwgMjQsIAorICAgIDIxOCwgMjExLCA5MywgMTEsIDM4LCAyNCwgMjIxLCA1NCwgOTMsIDExLCAzOCwgMjQsIDM1LCA2LCAyNTIsIDE0NCwgMTEsIAorICAgIDM4LCAyNCwgMzUsIDYsIDI1MCwgOCwgMTEsIDM4LCAyNCwgMzUsIDYsIDI0MCwgMjE1LCAxMSwgMzgsIDI0LCAzNSwgNiwgCisgICAgMjQ1LCAyMjcsIDExLCAzOCwgMjQsIDM1LCA2LCAyNDIsIDI0NCwgMTEsIDM4LCAyNCwgMzUsIDYsIDIwNSwgODQsIDExLCAKKyAgICAzOCwgMjQsIDM1LCA2LCAyNDIsIDIwMSwgMTEsIDM4LCAyNCwgMzUsIDYsIDIxMiwgMjMsIDExLCAzOCwgMjQsIDM1LCA2LCAKKyAgICAyMzIsIDI0OSwgMTEsIDM4LCAyNCwgMzUsIDYsIDIzMiwgMTQsIDExLCAzOCwgMjQsIDM1LCA2LCAyMzAsIDEwMiwgMTEsIAorICAgIDM4LCAyNCwgMzUsIDYsIDIyNiwgMTE0LCAxMSwgMzgsIDI0LCAzNSwgNiwgMjIzLCAyMTcsIDExLCAzOCwgMjQsIDM1LCA2LCAKKyAgICAyMDYsIDE2OSwgMTEsIDM4LCAyNCwgMzUsIDYsIDIyMiwgMTY4LCAxMSwgMzgsIDI0LCAzNSwgNiwgMjIxLCA1MywgMTEsIAorICAgIDM4LCAyNCwgMzUsIDYsIDIxOCwgMjEwLCAxMSwgMzgsIDI0LCAzNSwgNiwgMjEyLCAyNCwgOTMsIDExLCAzOCwgMjQsIDM1LCAKKyAgICA2LCAyMTUsIDYzLCAxMSwgMzgsIDI0LCAzNSwgNiwgMjEyLCAxNTEsIDExLCAzOCwgMjQsIDM1LCA2LCAyMDksIDIwMCwgMTEsIAorICAgIDM4LCAyNCwgMzUsIDYsIDIyMSwgNzgsIDExLCAzOCwgMjQsIDM1LCA2LCAyNDgsIDU4LCAxMSwgMzgsIDI0LCAzNSwgNiwgCisgICAgMjIwLCA5MywgMTEsIDM4LCAyNCwgMzUsIDYsIDIyMiwgMTcwLCAxMSwgMzgsIDI0LCAzNSwgMjI1LCAyMjcsIDExLCAzOCwgCisgICAgMjQsIDM1LCA1LCAyNTIsIDE0NCwgMTEsIDM4LCAyNCwgMzUsIDUsIDI1MCwgOCwgMTEsIDM4LCAyNCwgMzUsIDUsIDI0MCwgCisgICAgMjE1LCAxMSwgMzgsIDI0LCAzNSwgNSwgMjQ1LCAyMjcsIDExLCAzOCwgMjQsIDM1LCA1LCAyNDIsIDI0NCwgMTEsIDM4LCAKKyAgICAyNCwgMzUsIDUsIDIwNSwgODQsIDExLCAzOCwgMjQsIDM1LCA1LCAyNDIsIDIwMSwgMTEsIDM4LCAyNCwgMzUsIDUsIDIxMiwgCisgICAgMjMsIDExLCAzOCwgMjQsIDM1LCA1LCAyMzIsIDI0OSwgMTEsIDM4LCAyNCwgMzUsIDUsIDIzMiwgMTQsIDExLCAzOCwgMjQsIAorICAgIDM1LCA1LCAyMzAsIDEwMiwgMTEsIDM4LCAyNCwgMzUsIDUsIDIyNiwgMTE0LCAxMSwgMzgsIDI0LCAzNSwgNSwgMjIzLCAKKyAgICAyMTcsIDExLCAzOCwgMjQsIDM1LCA1LCAyMDYsIDE2OSwgMTEsIDM4LCAyNCwgMzUsIDUsIDIyMiwgMTY4LCAxMSwgMzgsIAorICAgIDI0LCAzNSwgNSwgMjIxLCA1MywgMTEsIDM4LCAyNCwgMzUsIDUsIDIxOCwgMjEwLCAxMSwgMzgsIDI0LCAzNSwgNSwgNDIsIAorICAgIDIxNSwgNjMsIDExLCAzOCwgMjQsIDM1LCA1LCAyMTUsIDYzLCAxMSwgMzgsIDI0LCAzNSwgNSwgMjEyLCAxNTEsIDExLCAzOCwgCisgICAgMjQsIDM1LCA1LCAyMDksIDIwMCwgMTEsIDM4LCAyNCwgMzUsIDUsIDIyMSwgNzgsIDExLCAzOCwgMjQsIDM1LCA1LCAyNDgsIAorICAgIDU4LCAxMSwgMzgsIDI0LCAzNSwgNSwgMjIwLCA5MywgMTEsIDM4LCAyNCwgMzUsIDUsIDIyMiwgMTcwLCAxMSwgMzgsIDI0LCAKKyAgICAzNSwgMjIxLCAyMDksIDI0NSwgMTQwLCAxMSwgMzgsIDI0LCAzNSwgMjQyLCAyNDUsIDkzLCAxMSwgMzgsIDI0LCAzNSwgCisgICAgMjEyLCAyNCwgOTMsIDExLCAzOCwgMjQsIDM1LCAyMzIsIDE1LCA5MywgMTEsIDM4LCAyNCwgMzUsIDIyMSwgNzksIDkzLCAKKyAgICAxMSwgMzgsIDI0LCAzNSwgMjE4LCAyMTEsIDkzLCAxMSwgMzgsIDI0LCAzNSwgMjIxLCA1NCwgOTMsIDExLCAyNCwgNiwgCisgICAgMjQ1LCAxMzQsIDExLCAyNCwgNSwgMjQ1LCAxMzQsIDExLCAyNCwgMTgsIDIwNSwgODUsIDExLCAyNCwgMTgsIDEwMiwgMTEsIAorICAgIDI0LCAxOCwgMTA1LCAxMSwgMjQsIDE4LCAxNDIsIDExLCAyNCwgMTgsIDEzOSwgMTEsIDI0LCAxOCwgMTY4LCAxMSwgMjQsIAorICAgIDE4LCAxODQsIDExLCAyNCwgMTgsIDE5NSwgMTEsIDI0LCAxOCwgMTkzLCAxMSwgMjQsIDE4LCAyMDAsIDExLCAxNTksIDE4LCAKKyAgICAyMDUsIDg1LCAxMSwgMTU5LCAxOCwgMTAyLCAxMSwgMTU5LCAxOCwgMTA1LCAxMSwgMTU5LCAxOCwgMTQyLCAxMSwgMTU5LCAKKyAgICAxOCwgMTM5LCAxMSwgMTU5LCAxOCwgMTY4LCAxMSwgMTU5LCAxOCwgMTg0LCAxMSwgMTU5LCAxOCwgMTk1LCAxMSwgMTU5LCAKKyAgICAxOCwgMTkzLCAxMSwgMTU5LCAxOCwgMjAwLCAxMSwgMzgsIDE4LCAyMDUsIDg1LCAxMSwgMzgsIDE4LCAxMDIsIDExLCAzOCwgCisgICAgMTgsIDEwNSwgMTEsIDM4LCAxOCwgMTQyLCAxMSwgMzgsIDE4LCAxMzksIDExLCAzOCwgMTgsIDE2OCwgMTEsIDM4LCAxOCwgCisgICAgMTg0LCAxMSwgMzgsIDE4LCAxOTUsIDExLCAzOCwgMTgsIDE5MywgMTEsIDM4LCAxOCwgMjAwLCAxMSwgMzgsIDI0LCAxOCwgCisgICAgMjA1LCA4NSwgMTEsIDM4LCAyNCwgMTgsIDEwMiwgMTEsIDM4LCAyNCwgMTgsIDEwNSwgMTEsIDM4LCAyNCwgMTgsIDE0MiwgCisgICAgMTEsIDM4LCAyNCwgMTgsIDEzOSwgMTEsIDM4LCAyNCwgMTgsIDE2OCwgMTEsIDM4LCAyNCwgMTgsIDE4NCwgMTEsIDM4LCAKKyAgICAyNCwgMTgsIDE5NSwgMTEsIDM4LCAyNCwgMTgsIDE5MywgMTEsIDM4LCAyNCwgMTgsIDIwMCwgMTEsIDIyNiwgMTU2LCAxOCwgCisgICAgMjA1LCA4NSwgMTEsIDIyNiwgMTU2LCAxOCwgMTAyLCAxMSwgMjI2LCAxNTYsIDE4LCAxMDUsIDExLCAyMjYsIDE1NiwgMTgsIAorICAgIDE0MiwgMTEsIDIyNiwgMTU2LCAxOCwgMTM5LCAxMSwgMjI2LCAxNTYsIDE4LCAxNjgsIDExLCAyMjYsIDE1NiwgMTgsIDE4NCwgCisgICAgMTEsIDIyNiwgMTU2LCAxOCwgMTk1LCAxMSwgMjI2LCAxNTYsIDE4LCAxOTMsIDExLCAyMjYsIDE1NiwgMTgsIDIwMCwgNzAsIAorICAgIDY5LCA0LCAyMjksIDI3LCAyMzEsIDEyMywgNzAsIDY5LCA0LCAyMjksIDIzLCAxNzIsIDcwLCA2OSwgNCwgMjI5LCAyMSwgCisgICAgMjMwLCAyMzYsIDcwLCA2OSwgNCwgMjI4LCAxNTMsIDIzMSwgMjIxLCA3MCwgNjksIDQsIDIyOCwgMTIzLCAyMzEsIDIyNCwgCisgICAgNzAsIDY5LCA0LCAyMjgsIDE0MiwgMjMxLCAzMywgNzAsIDY5LCA0LCAyMjgsIDE3MCwgMjMxLCA1MywgNzAsIDY5LCA0LCAKKyAgICAyMjgsIDM5LCAyMzAsIDIzMCwgNzAsIDY5LCA0LCAyMjksIDE4LCAyMDcsIDIwLCA3MCwgNjksIDQsIDIyOSwgMTYsIDIwNywgCisgICAgOTYsIDcwLCA2OSwgNCwgMjI5LCAxNCwgMjA2LCAyMTYsIDcwLCA2OSwgNCwgMjI4LCA5MiwgMjA3LCA0NSwgNzAsIDY5LCA0LCAKKyAgICAyMjgsIDEwMCwgMjA3LCA1MSwgNzAsIDY5LCA0LCAyMjgsIDEwNCwgMjA2LCAyMzgsIDcwLCA2OSwgNCwgMjI4LCAxNzMsIAorICAgIDIwNiwgMjUwLCA3MCwgNjksIDQsIDIyOCwgMjQsIDIwNiwgMjEyLCA3MCwgNjksIDQsIDIyOCwgNzUsIDIwNywgNDMsIDcwLCAKKyAgICA2OSwgNCwgMjI4LCAxNTcsIDIwNiwgMjAwLCA3MCwgNjksIDQsIDIyOCwgMTY5LCAyMDYsIDIwMiwgNzAsIDY5LCA0LCAyMjgsIAorICAgIDc5LCAyMDYsIDIwMSwgNzAsIDY5LCA0LCAyMjksIDEyLCAyMjYsIDIwOSwgNzAsIDY5LCA0LCAyMjksIDEwLCAyMjcsIDIyMSwgCisgICAgNzAsIDY5LCA0LCAyMjksIDgsIDIyNiwgODksIDcwLCA2OSwgNCwgMjI4LCAxNTksIDIyNywgODMsIDcwLCA2OSwgNCwgMjI4LCAKKyAgICAxMjQsIDIyNiwgMTY4LCA3MCwgNjksIDQsIDIyOCwgNjQsIDIyNiwgMTExLCA3MCwgNjksIDQsIDIyOCwgMjksIDIyNiwgCisgICAgMTA1LCA3MCwgNjksIDQsIDIyOSwgNiwgMjQ5LCAyNDQsIDcwLCA2OSwgNCwgMjI5LCAzLCAyNTAsIDE4MywgNzAsIDY5LCA0LCAKKyAgICAyMjksIDEsIDI0OSwgMTAxLCA3MCwgNjksIDQsIDIyOCwgNjgsIDI1MCwgNTAsIDcwLCA2OSwgNCwgMjI4LCAxMjEsIDI1MCwgCisgICAgNjEsIDcwLCA2OSwgNCwgMjI4LCAxMTUsIDI0OSwgMTcyLCA3MCwgNjksIDQsIDIyOCwgODAsIDI0OSwgMTg0LCA3MCwgNjksIAorICAgIDQsIDIyOCwgMjQ3LCA3NCwgNzAsIDY5LCA0LCAyMjgsIDI0NSwgNjIsIDcwLCA2OSwgNCwgMjI4LCAyNDMsIDcxLCA3MCwgCisgICAgNjksIDQsIDIyOCwgNTUsIDI0MywgMTA0LCA3MCwgNjksIDQsIDIyOCwgMTE4LCA3NSwgNzAsIDY5LCA0LCAyMjgsIDUzLCAKKyAgICAyMjIsIDE1MiwgNzAsIDY5LCA0LCAyMjgsIDcxLCA3NiwgNzAsIDY5LCA0LCAyMjgsIDgxLCAyNDMsIDkwLCA3MCwgNjksIDQsIAorICAgIDIyOCwgODcsIDIzMywgNjgsIDcwLCA2OSwgNCwgMjI4LCA4MywgMjMzLCA2OCwgNzAsIDY5LCA0LCAyMjgsIDIzLCAyNTIsIAorICAgIDEyMiwgNzAsIDY5LCA0LCAyMjgsIDQwLCAyNDMsIDQxLCA3MCwgNjksIDQsIDIyOCwgMjMyLCAyMTUsIDgwLCA3MCwgNjksIAorICAgIDQsIDIyOCwgMjMwLCAyMTcsIDE5OSwgNzAsIDY5LCA0LCAyMjgsIDIyOCwgMjEzLCAyMDMsIDcwLCA2OSwgNCwgMjI4LCA1NiwgCisgICAgMjE3LCA3NCwgNzAsIDY5LCA0LCAyMjgsIDEwMiwgMjE3LCA4NiwgNzAsIDY5LCA0LCAyMjgsIDgyLCAyMTQsIDE3NCwgNzAsIAorICAgIDY5LCA0LCAyMjgsIDEzOSwgMjE0LCAxOTMsIDcwLCA2OSwgNCwgMjI4LCAyMiwgMjE1LCA3OSwgNzAsIDY5LCA0LCAyMjgsIAorICAgIDIxOCwgMjI5LCAyMzUsIDcwLCA2OSwgNCwgMjI4LCAyMTYsIDIzMCwgMTQxLCA3MCwgNjksIDQsIDIyOCwgMjE0LCAyMjksIAorICAgIDgxLCA3MCwgNjksIDQsIDIyOCwgMTM0LCAyMzAsIDUwLCA3MCwgNjksIDQsIDIyOCwgMTQ1LCAyMzAsIDU4LCA3MCwgNjksIAorICAgIDQsIDIyOCwgMTY0LCAyMjksIDExNSwgNzAsIDY5LCA0LCAyMjgsIDY1LCAyMjksIDE0NCwgNzAsIDY5LCA0LCAyMjgsIDEwOCwgCisgICAgMTUyLCAyMzAsIDU4LCA3MCwgNjksIDQsIDIyOCwgMjQwLCAyNDUsIDE2OCwgNzAsIDY5LCA0LCAyMjgsIDIzNywgMjQ2LCAKKyAgICAxNDUsIDcwLCA2OSwgNCwgMjI4LCAyMzQsIDI0MywgMjM3LCA3MCwgNjksIDQsIDIyOCwgMTI5LCAyNDUsIDI1MSwgNzAsIAorICAgIDY5LCA0LCAyMjgsIDM4LCAyNDUsIDI4LCA3MCwgNjksIDQsIDIyOCwgMzcsIDI0NSwgNTEsIDcwLCA2OSwgNCwgMjI4LCAKKyAgICAyMjYsIDIxMSwgMjExLCA3MCwgNjksIDQsIDIyOCwgMjIzLCAyMTIsIDIxOSwgNzAsIDY5LCA0LCAyMjgsIDIyMSwgMjEwLCAKKyAgICAxNzAsIDcwLCA2OSwgNCwgMjI4LCAxMjcsIDIxMiwgMTIwLCA3MCwgNjksIDQsIDIyOCwgMTYzLCAyMTIsIDEzMSwgNzAsIAorICAgIDY5LCA0LCAyMjgsIDExNCwgMjExLCAxMDUsIDcwLCA2OSwgNCwgMjI4LCAxNDksIDEyNCwgNzAsIDY5LCA0LCAyMjgsIDIxMiwgCisgICAgMjMyLCAxNjIsIDcwLCA2OSwgNCwgMjI4LCAyMDksIDIzMiwgMjAwLCA3MCwgNjksIDQsIDIyOCwgMjA3LCAyMzIsIDEwNCwgCisgICAgNzAsIDY5LCA0LCAyMjgsIDYxLCAyMzIsIDE4MCwgNzAsIDY5LCA0LCAyMjgsIDEwNSwgMjMyLCAxODIsIDcwLCA2OSwgNCwgCisgICAgMjI4LCA1OCwgMjMyLCAxMTMsIDcwLCA2OSwgNCwgMjI4LCAxNTUsIDIzMiwgMTIyLCA3MCwgNjksIDQsIDIyOCwgNDMsIAorICAgIDE1MiwgMjMyLCAxMjIsIDcwLCA2OSwgNCwgMjI4LCAyMDUsIDIwNiwgMTEsIDcwLCA2OSwgNCwgMjI4LCAyMDIsIDE5MCwgCisgICAgNzAsIDY5LCA0LCAyMjgsIDIwMCwgMjA1LCAyMTMsIDcwLCA2OSwgNCwgMjI4LCAxMDksIDIwNiwgNDksIDcwLCA2OSwgNCwgCisgICAgMjI4LCAxMzgsIDIwNiwgNTIsIDcwLCA2OSwgNCwgMjI4LCA3NywgMjA1LCAyMzIsIDcwLCA2OSwgNCwgMjI4LCA5NywgMjA1LCAKKyAgICAyNDcsIDcwLCA2OSwgNCwgMjI4LCAxOTYsIDI0MSwgMjUwLCA3MCwgNjksIDQsIDIyOCwgMTk0LCAyNDIsIDczLCA3MCwgNjksIAorICAgIDQsIDIyOCwgMTkyLCAyNDEsIDg4LCA3MCwgNjksIDQsIDIyOCwgMTQwLCAyNDIsIDIxLCA3MCwgNjksIDQsIDIyOCwgMTQzLCAKKyAgICAyNDIsIDI4LCA3MCwgNjksIDQsIDIyOCwgODUsIDI0MSwgMTUxLCA3MCwgNjksIDQsIDIyOCwgMTMwLCAyNDEsIDE2MiwgNzAsIAorICAgIDY5LCA0LCAyMjgsIDIxLCAyNDEsIDg3LCA3MCwgNjksIDQsIDIyOCwgMTE3LCAyNDIsIDQ3LCA3MCwgNjksIDQsIDIyOCwgCisgICAgMTkwLCAyMjQsIDE5OSwgNzAsIDY5LCA0LCAyMjgsIDE4OCwgMjI1LCAyMDksIDcwLCA2OSwgNCwgMjI4LCAxODYsIDIyMywgCisgICAgMTczLCA3MCwgNjksIDQsIDIyOCwgMTAxLCAyMjUsIDEwMSwgNzAsIDY5LCA0LCAyMjgsIDQ5LCAyMjQsIDYxLCA3MCwgNjksIAorICAgIDQsIDIyOCwgNDIsIDIzOSwgMTEsIDcwLCA2OSwgNCwgMjI4LCAxODEsIDE1NSwgNzAsIDY5LCA0LCAyMjgsIDMyLCAyMzgsIAorICAgIDQyLCA3MCwgNjksIDQsIDIyOCwgMTg0LCAyMzksIDUzLCA3MCwgNjksIDQsIDIyOCwgMTIyLCAyMzksIDcxLCA3MCwgNjksIAorICAgIDQsIDIyOCwgMTc5LCAyMzgsIDEzMSwgNzAsIDY5LCA0LCAyMjgsIDc4LCAyMzgsIDE0OSwgNzAsIDY5LCA0LCAyMjgsIDEzNSwgCisgICAgMjM5LCA1MiwgNzAsIDY5LCA0LCAyMjgsIDkwLCAyMzgsIDEyNSwgNzAsIDY5LCA0LCAyMjgsIDE2NSwgMjM4LCAyNDYsIDcwLCAKKyAgICA2OSwgNCwgMjI4LCA4OCwgMjM5LCAxMTAsIDcwLCA2OSwgNCwgMjI4LCAxMzEsIDIzOCwgMzEsIDcwLCA2OSwgNCwgMjI4LCAKKyAgICAxNjYsIDIzOSwgNDEsIDcwLCA2OSwgNCwgMjI4LCAyNSwgMjM4LCAxMzQsIDcwLCA2OSwgNCwgMjI4LCAxNzIsIDIzOCwgNDEsIAorICAgIDcwLCA2OSwgNCwgMjI4LCAxMjgsIDIyNSwgNDIsIDcwLCA2OSwgNCwgMjI4LCAxNzcsIDIyNSwgNTYsIDcwLCA2OSwgNCwgCisgICAgMjI4LCAxMzYsIDIyNSwgMzksIDcwLCA2OSwgNCwgMjI4LCAxMDMsIDIyNSwgNTAsIDcwLCA2OSwgNCwgMjI4LCA3MiwgMjI1LCAKKyAgICA1MSwgNzAsIDY5LCA0LCAyMjgsIDYyLCAyMjUsIDQwLCA3MCwgNjksIDQsIDIyOCwgOTgsIDIyNSwgNDEsIDcwLCA2OSwgNCwgCisgICAgMjI4LCA1OSwgMjI1LCA1NSwgNzAsIDY5LCA0LCAyMjgsIDkxLCAyMjUsIDM4LCA3MCwgNjksIDQsIDIyOCwgMTMyLCAxNTIsIAorICAgIDIyNSwgNTEsIDcwLCA2OSwgNCwgMjI4LCAxMTIsIDE1MiwgMjI1LCA0MCwgNzAsIDY5LCA0LCAyMjgsIDM1LCAxNTIsIDIyNSwgCisgICAgNDEsIDcwLCA2OSwgNCwgMjI4LCA2MywgMjQwLCA2MSwgNzAsIDY5LCA0LCAyMjgsIDEwNywgMjQwLCAyNDQsIDcwLCA2OSwgCisgICAgNCwgMjI4LCA1MCwgMjM5LCAyMTMsIDcwLCA2OSwgNCwgMjI4LCAyOCwgMjQwLCAxNjIsIDcwLCA2OSwgNCwgMjI4LCA1MiwgCisgICAgMjM5LCAxOTksIDcwLCA2OSwgNCwgMjI4LCA1MSwgMjM5LCAyMDksIDcwLCA2OSwgNCwgMjI4LCAzNCwgMjI1LCA2MSwgNzAsIAorICAgIDY5LCA0LCAyMjgsIDE2MSwgMjI0LCAyNTQsIDcwLCA2OSwgNCwgMjI4LCA0MSwgMjI0LCAyNDMsIDcwLCA2OSwgNCwgMjI4LCAKKyAgICAxNTAsIDIyMSwgNTMsIDcwLCA2OSwgNCwgMjI4LCAxMTksIDE3OSwgNzAsIDY5LCA0LCAyMjgsIDE2OCwgMjIwLCA4MiwgNzAsIAorICAgIDY5LCA0LCAyMjgsIDEzNywgMjIxLCAxNjQsIDcwLCA2OSwgNCwgMjI4LCAxNjcsIDIyMSwgMTc0LCA3MCwgNjksIDQsIDIyOCwgCisgICAgMTE2LCAyMjAsIDE4NywgNzAsIDY5LCA0LCAyMjgsIDE1MiwgMjIwLCAyMTEsIDcwLCA2OSwgNCwgMjI4LCA3MywgMjI3LCAKKyAgICAxMzgsIDcwLCA2OSwgNCwgMjI4LCAxNTYsIDIyNywgMTUzLCA3MCwgNjksIDQsIDIyOCwgOTYsIDIyNywgMTMyLCA3MCwgNjksIAorICAgIDQsIDIyOCwgMTcxLCAyMjcsIDE0NSwgNzAsIDY5LCA0LCAyMjgsIDMwLCAyMjcsIDE0NSwgNzAsIDY5LCA0LCAyMjgsIDE0NiwgCisgICAgMjI3LCAxNDYsIDcwLCA2OSwgNCwgMjI4LCA0NiwgMjI3LCAxMzMsIDcwLCA2OSwgNCwgMjI4LCA0NCwgMjI3LCAxMzQsIDcwLCAKKyAgICA2OSwgNCwgMjI4LCAzMSwgMjI3LCAxMjYsIDcwLCA2OSwgNCwgMjI4LCA1NywgMTUyLCAyMjcsIDE0NiwgNzAsIDY5LCA0LCAKKyAgICAyMjgsIDExMywgMTUyLCAyMjcsIDEzMywgNzAsIDY5LCA0LCAyMjgsIDc2LCAxNTIsIDIyNywgMTM0LCA3MCwgNjksIDQsIAorICAgIDIyOCwgODYsIDIzMSwgNywgNzAsIDY5LCA0LCAyMjgsIDEyNiwgMjMxLCAxNSwgNzAsIDY5LCA0LCAyMjgsIDE0NCwgMjMxLCAKKyAgICAzLCA3MCwgNjksIDQsIDIyOCwgMTc1LCAyMzEsIDEwLCA3MCwgNjksIDQsIDIyOCwgMTEwLCAyMzEsIDExLCA3MCwgNjksIDQsIAorICAgIDIyOCwgMTA2LCAyMzEsIDUsIDcwLCA2OSwgNCwgMjI4LCA2MCwgMjMxLCA2LCA3MCwgNjksIDQsIDIyOCwgOTQsIDI0MCwgCisgICAgMTc5LCA3MCwgNjksIDQsIDIyOCwgMTYyLCAyNDAsIDE4NywgNzAsIDY5LCA0LCAyMjgsIDcwLCAyNDAsIDE3NCwgNzAsIDY5LCAKKyAgICA0LCAyMjgsIDEyNSwgMjQwLCAxODMsIDcwLCA2OSwgNCwgMjI4LCAxMTEsIDI0MCwgMTg0LCA3MCwgNjksIDQsIDIyOCwgCisgICAgMTQ3LCAyNDAsIDE3NSwgNzAsIDY5LCA0LCAyMjgsIDE0OCwgMjQwLCAxNzcsIDcwLCA2OSwgNCwgMjI4LCA0NywgMjE5LCAKKyAgICAxMTMsIDcwLCA2OSwgNCwgMjI4LCA5NSwgMjI1LCAxMzYsIDcwLCA2OSwgNCwgMjI4LCA4OSwgMjI1LCAxNTEsIDcwLCA2OSwgCisgICAgNCwgMjI4LCA5MywgMjI1LCAxMTgsIDcwLCA2OSwgNCwgMjI4LCAyNywgMjI1LCAxNDIsIDcwLCA2OSwgNCwgMjI4LCA5OSwgCisgICAgMjI1LCAxNDMsIDcwLCA2OSwgNCwgMjI4LCAxNTEsIDIyNSwgMTIzLCA3MCwgNjksIDQsIDIyOCwgMTU0LCAyMjUsIDEyNywgCisgICAgNzAsIDY5LCA0LCAyMjgsIDY2LCAyMjQsIDE4MCwgNzAsIDY5LCA0LCAyMjgsIDI2LCAyMjQsIDE1MCwgNzAsIDY5LCA0LCAKKyAgICAyMjgsIDY5LCAyMjQsIDE3MSwgNzAsIDY5LCA0LCAyMjgsIDg0LCAyMjQsIDE1NCwgNzAsIDY5LCA0LCAyMjgsIDM2LCAyMDgsIAorICAgIDIxNCwgNzAsIDY5LCA0LCAyMjgsIDMzLCAyMDksIDcwLCA3MCwgNjksIDQsIDIyOCwgNjcsIDIwNywgMTQ4LCA3MCwgNjksIAorICAgIDQsIDIyOCwgNDUsIDIwOSwgMzQsIDcwLCA2OSwgNCwgMjI4LCAxMzMsIDIwOSwgMzksIDcwLCA2OSwgNCwgMjI4LCA3NCwgCisgICAgMjA4LCAxNjEsIDcwLCA2OSwgNCwgMjI4LCAxNDEsIDIwOCwgMTczLCA3MCwgNjksIDQsIDIyOCwgNTQsIDIyMywgMTE5LCAKKyAgICA3MCwgNjksIDQsIDIyOCwgMTYwLCAyMjMsIDEzOCwgNzAsIDY5LCA0LCAyMjgsIDQ4LCAyMjMsIDEwMSwgNzAsIDY5LCA0LCAKKyAgICAyMjgsIDEyMCwgMjIzLCAxMzAsIDcwLCA2OSwgNCwgMjI4LCAxNTgsIDIyMywgMTA4LCA3MCwgNjksIDE4LCAxMDIsIDcwLCAKKyAgICA2OSwgMTgsIDEwNSwgNzAsIDY5LCAxOCwgMTQyLCA3MCwgNjksIDE4LCAxMzksIDcwLCA2OSwgMTgsIDE2OCwgNzAsIDY5LCAKKyAgICAxOCwgMTg0LCA3MCwgNjksIDE4LCAxOTUsIDcwLCA2OSwgMTgsIDE5MywgNzAsIDY5LCAxOCwgMjAwLCA3MCwgNjksIDM2LCAKKyAgICA0MywgMjEyLCAxMTgsIDcwLCA2OSwgMzYsIDQzLCAyMTIsIDkzLCA3MCwgNjksIDM2LCA0MywgMjM4LCAyOCwgNzAsIDY5LCAKKyAgICAzNiwgNDMsIDIxMSwgMjQwLCA3MCwgNjksIDM2LCA0MywgMjEyLCA5OSwgMjExLCAyNDAsIDcwLCA2OSwgMzYsIDQzLCAyMzgsIAorICAgIDMwLCAyMTEsIDI0MCwgNzAsIDY5LCAzNiwgNDMsIDIyNiwgMjEyLCA4LCAxMSwgMjUyLCAxNzIsIDgsIDExLCAyNTAsIDM4LCAKKyAgICA4LCAxMSwgMjMyLCAxNzksIDgsIDExLCAyNDYsIDExNywgOCwgMTEsIDIwNywgNTksIDgsIDExLCAyMDUsIDEwOCwgOCwgMTEsIAorICAgIDIzOSwgMTMyLCA4LCAxMSwgMjEyLCAxOTQsIDgsIDExLCAyMDYsIDQ3LCA4LCAxMSwgMjMyLCA0NSwgOCwgMTEsIDIzMCwgCisgICAgMTA2LCA4LCAxMSwgMjI3LCAxMDQsIDgsIDExLCAyMjQsIDU0LCA4LCAxMSwgMjE3LCA3MCwgOCwgMTEsIDI1MiwgMjAwLCA4LCAKKyAgICAxMSwgMjQyLCAxNSwgOCwgMTEsIDIxNywgMTkxLCA4LCAxMSwgMjIwLCAxMiwgOCwgMTEsIDIxOSwgMTYsIDgsIDExLCAyMTUsIAorICAgIDIxMCwgOCwgMTEsIDIxMiwgMTE1LCA4LCAxMSwgMjEyLCAzNywgOCwgMTEsIDIzMSwgMTYzLCA4LCAxMSwgMjEyLCA0OSwgOCwgCisgICAgMTEsIDI0NiwgMTQwLCA4LCAxMSwgMjA1LCAxMTEsIDgsIDExLCAyNDAsIDk0LCA4LCAxMSwgMjQ1LCAyMiwgMjUwLCAzOCwgCisgICAgOCwgMTEsIDI0NSwgMjIsIDIyNCwgNTQsIDgsIDExLCAyNDUsIDIyLCAyNDIsIDE1LCA4LCAxMSwgMjQ1LCAyMiwgMjIwLCAKKyAgICAxMiwgOCwgMTEsIDc4LCAyNTAsIDM4LCA4LCAxMSwgNzgsIDIzMiwgMTc5LCA4LCAxMSwgNzgsIDIzOSwgNTAsIDgsIDExLCAKKyAgICA3OCwgMjM5LCAxMzIsIDgsIDExLCA3OCwgMjA2LCA0NywgOCwgMTEsIDc4LCAyMzIsIDQ1LCA4LCAxMSwgNzgsIDIzMCwgCisgICAgMTA2LCA4LCAxMSwgNzgsIDIyNywgMTA0LCA4LCAxMSwgNzgsIDIyNCwgNTQsIDgsIDExLCA3OCwgMjE3LCA3MCwgOCwgMTEsIAorICAgIDc4LCAyNTIsIDIwMCwgOCwgMTEsIDc4LCAyNDIsIDE1LCA4LCAxMSwgNzgsIDIxNywgMTkxLCA4LCAxMSwgNzgsIDIyMCwgCisgICAgMTIsIDgsIDExLCA3OCwgMjE1LCAyMTAsIDgsIDExLCA3OCwgMjEyLCAxMTUsIDgsIDExLCA3OCwgMjEyLCAzNywgOCwgMTEsIAorICAgIDc4LCAyMzEsIDE2MywgOCwgMTEsIDc4LCAyNDYsIDE0MCwgOCwgMTEsIDc4LCAyNDAsIDk0LCA4LCAxMSwgMjEyLCAxOTAsIAorICAgIDIzMiwgMTc5LCA4LCAxMSwgMjEyLCAxOTAsIDIzOSwgMTMyLCA4LCAxMSwgMjEyLCAxOTAsIDIwNiwgNDcsIDgsIDExLCAKKyAgICAyMTIsIDE5MCwgMjMwLCAxMDYsIDgsIDExLCAyMTIsIDE5MCwgMjI0LCA1NCwgOCwgMTEsIDIxMiwgMTkwLCAyMTcsIDcwLCAKKyAgICA4LCAxMSwgMjEyLCAxOTAsIDI1MiwgMjAwLCA4LCAxMSwgMjEyLCAxOTAsIDIxNywgMTkxLCA4LCAxMSwgMjEyLCAxOTAsIAorICAgIDIyMCwgMTIsIDgsIDExLCAyMTIsIDE5MCwgMjE1LCAyMTAsIDgsIDExLCAyMTIsIDE5MCwgMjMxLCAxNjMsIDgsIDExLCAKKyAgICAyMTIsIDE5MCwgMjQ2LCAxNDAsIDgsIDExLCAyMTIsIDE5MCwgMjQwLCA5NCwgOCwgMTEsIDIxMiwgMTkwLCAyNDUsIDIyLCAKKyAgICAyMjQsIDU0LCA4LCAxMSwgMjEyLCAxOTAsIDI0NSwgMjIsIDIyMCwgMTIsIDgsIDExLCAyMTMsIDIzMiwgMjUwLCAzOCwgOCwgCisgICAgMTEsIDIxMywgMjMyLCAyMzIsIDE3OSwgOCwgMTEsIDIxMywgMjMyLCAyMzksIDUwLCA4LCAxMSwgMjEzLCAyMzIsIDIzOSwgCisgICAgMTMyLCA4LCAxMSwgMjEzLCAyMzIsIDIxMiwgMTk0LCA4LCAxMSwgMjEzLCAyMzIsIDIwNiwgNDcsIDgsIDExLCAyMTMsIAorICAgIDIzMiwgMjMyLCA0NSwgOCwgMTEsIDIxMywgMjMyLCAyMjcsIDEwNCwgOCwgMTEsIDIxMywgMjMyLCAyMjQsIDU0LCA4LCAxMSwgCisgICAgMjEzLCAyMzIsIDIxNywgNzAsIDgsIDExLCAyMTMsIDIzMiwgMjUyLCAyMDAsIDgsIDExLCAyMTMsIDIzMiwgMjQyLCAxNSwgCisgICAgOCwgMTEsIDIxMywgMjMyLCAyMTcsIDE5MSwgOCwgMTEsIDIxMywgMjMyLCAyMjAsIDEyLCA4LCAxMSwgMjEzLCAyMzIsIAorICAgIDIxNSwgMjEwLCA4LCAxMSwgMjEzLCAyMzIsIDIxMiwgMTE1LCA4LCAxMSwgMjEzLCAyMzIsIDIxMiwgMzcsIDgsIDExLCAKKyAgICAyMTMsIDIzMiwgMjMxLCAxNjMsIDgsIDExLCAyMTMsIDIzMiwgMjQ2LCAxNDAsIDgsIDExLCAyMTMsIDIzMiwgMjA1LCAxMTEsIAorICAgIDgsIDExLCAyMTMsIDIzMiwgMjQwLCA5NCwgOCwgMTEsIDIxMywgMjMyLCAyNDUsIDIyLCAyNTAsIDM4LCA4LCAxMSwgMjEzLCAKKyAgICAyMzIsIDI0NSwgMjIsIDI0MiwgMTUsIDgsIDExLCAyMjksIDExMCwgMjUyLCAxNzIsIDgsIDExLCAyMjksIDExMCwgMjUwLCAKKyAgICAzOCwgOCwgMTEsIDIyOSwgMTEwLCAyMzIsIDE3OSwgOCwgMTEsIDIyOSwgMTEwLCAyNDYsIDExNywgOCwgMTEsIDIyOSwgCisgICAgMTEwLCAyMzksIDUwLCA4LCAxMSwgMjI5LCAxMTAsIDIwNywgNTksIDgsIDExLCAyMjksIDExMCwgMjA1LCAxMDgsIDgsIDExLCAKKyAgICAyMjksIDExMCwgMjM5LCAxMzIsIDgsIDExLCAyMjksIDExMCwgMjEyLCAxOTQsIDgsIDExLCAyMjksIDExMCwgMjA2LCA0NywgCisgICAgOCwgMTEsIDIyOSwgMTEwLCAyMzAsIDEwNiwgOCwgMTEsIDIyOSwgMTEwLCAyMjcsIDEwNCwgOCwgMTEsIDIyOSwgMTEwLCAKKyAgICAyMjQsIDU0LCA4LCAxMSwgMjI5LCAxMTAsIDIxNywgNzAsIDgsIDExLCAyMjksIDExMCwgMjUyLCAyMDAsIDgsIDExLCAyMjksIAorICAgIDExMCwgMjQyLCAxNSwgOCwgMTEsIDIyOSwgMTEwLCAyMTcsIDE5MSwgOCwgMTEsIDIyOSwgMTEwLCAyMjAsIDEyLCA4LCAxMSwgCisgICAgMjI5LCAxMTAsIDIxOSwgMTYsIDgsIDExLCAyMjksIDExMCwgMjE1LCAyMTAsIDgsIDExLCAyMjksIDExMCwgMjEyLCAxMTUsIAorICAgIDgsIDExLCAyMjksIDExMCwgMjEyLCAzNywgOCwgMTEsIDIyOSwgMTEwLCAyMzEsIDE2MywgOCwgMTEsIDIyOSwgMTEwLCAKKyAgICAyMTIsIDQ5LCA4LCAxMSwgMjI5LCAxMTAsIDI0NiwgMTQwLCA4LCAxMSwgMjI5LCAxMTAsIDIwNSwgMTExLCA4LCAxMSwgCisgICAgMjI5LCAxMTAsIDI0MCwgOTQsIDgsIDExLCAxNTksIDI1MCwgMzgsIDgsIDExLCAxNTksIDIzMiwgMTc5LCA4LCAxMSwgMTU5LCAKKyAgICAyNDYsIDExNywgOCwgMTEsIDE1OSwgMjA3LCA1OSwgOCwgMTEsIDE1OSwgMjA1LCAxMDgsIDgsIDExLCAxNTksIDIzOSwgCisgICAgMTMyLCA4LCAxMSwgMTU5LCAyMTIsIDE5NCwgOCwgMTEsIDE1OSwgMjA2LCA0NywgOCwgMTEsIDE1OSwgMjMwLCAxMDYsIDgsIAorICAgIDExLCAxNTksIDIyNywgMTA0LCA4LCAxMSwgMTU5LCAyMjQsIDU0LCA4LCAxMSwgMTU5LCAyMTcsIDcwLCA4LCAxMSwgMTU5LCAKKyAgICAyNTIsIDIwMCwgOCwgMTEsIDE1OSwgMjQyLCAxNSwgOCwgMTEsIDE1OSwgMjE3LCAxOTEsIDgsIDExLCAxNTksIDIyMCwgMTIsIAorICAgIDgsIDExLCAxNTksIDIxOSwgMTYsIDgsIDExLCAxNTksIDIxNSwgMjEwLCA4LCAxMSwgMTU5LCAyMTIsIDExNSwgOCwgMTEsIAorICAgIDE1OSwgMjEyLCAzNywgOCwgMTEsIDE1OSwgMjMxLCAxNjMsIDgsIDExLCAxNTksIDIxMiwgNDksIDgsIDExLCAxNTksIDI0NiwgCisgICAgMTQwLCA4LCAxMSwgMTU5LCAyMDUsIDExMSwgOCwgMTEsIDE1OSwgMjQwLCA5NCwgOCwgMTEsIDIyMiwgMTMzLCA4MCwgMiwgCisgICAgMTQwLCAyLCAyMTIsIDE1MywgOCwgMTEsIDIyMiwgMTMzLCAxNDAsIDIsIDI0NiwgMTE3LCAyMjcsIDI0MSwgOTQsIDI0MywgCisgICAgMTE3LCAyMDcsIDksIDIyNywgMjQxLCA5NCwgMTg4LCAyMDcsIDksIDIyNywgMjQxLCA5NCwgMjA3LCAzNiwgMjA3LCA5LCAKKyAgICAyMjcsIDI0MSwgOTQsIDE0MywgMjA3LCA5LCAyMjcsIDI0MSwgOTQsIDIxOSwgMzIsIDI0MywgMjU1LCAyMjcsIDI0MSwgOTQsIAorICAgIDIzOSwgMjI3LCAyNDMsIDI1NSwgMjI3LCAyNDEsIDk0LCA1OSwgMjQzLCAyNTUsIDIyNywgMjQxLCA5NCwgMTE5LCA3MywgCisgICAgMjQ4LCA5MywgMjI3LCAyNDEsIDk0LCAxMTgsIDczLCAyNDgsIDkzLCAyMjcsIDI0MSwgOTQsIDEyOSwgNzMsIDI0OCwgOTMsIAorICAgIDIyNywgMjQxLCA5NCwgMjQxLCAxMjUsIDczLCAyNDgsIDkzLCAyMjcsIDI0MSwgOTQsIDI0MSwgMjA0LCA3MywgMjQ4LCA5MywgCisgICAgMjI3LCAyNDEsIDk0LCAyMTUsIDEwLCA3MywgMjQ4LCA5MywgMjI3LCAyNDEsIDk0LCAyMTYsIDIzLCA3MywgMjQ4LCA5MywgCisgICAgMjI3LCAyNDEsIDk0LCAyNDMsIDg4LCA3MywgMjQ4LCA5MywgMjI3LCAyNDEsIDk0LCAyMjQsIDE5NSwgNzMsIDI0OCwgOTMsIAorICAgIDIyNywgMjQxLCA5NCwgMTE5LCA3MywgMjUwLCAxNDEsIDIyNywgMjQxLCA5NCwgMTE4LCA3MywgMjUwLCAxNDEsIDIyNywgCisgICAgMjQxLCA5NCwgMTI5LCA3MywgMjUwLCAxNDEsIDIyNywgMjQxLCA5NCwgMjQxLCAxMjUsIDczLCAyNTAsIDE0MSwgMjI3LCAKKyAgICAyNDEsIDk0LCAyNDEsIDIwNCwgNzMsIDI1MCwgMTQxLCAyMjcsIDI0MSwgOTQsIDIxNSwgMTAsIDczLCAyNTAsIDE0MSwgCisgICAgMjI3LCAyNDEsIDk0LCAyMTYsIDIzLCA3MywgMjUwLCAxNDEsIDIyNywgMjQxLCA5NCwgMjQzLCA4OCwgNzMsIDI1MCwgMTQxLCAKKyAgICAyMjcsIDI0MSwgOTQsIDIyNCwgMTk1LCA3MywgMjUwLCAxNDEsIDIyNywgMjQxLCA5NCwgMTE5LCA3MywgMjQ3LCAyMzIsIAorICAgIDIyNywgMjQxLCA5NCwgMTE4LCA3MywgMjQ3LCAyMzIsIDIyNywgMjQxLCA5NCwgMTI5LCA3MywgMjQ3LCAyMzIsIDIyNywgCisgICAgMjQxLCA5NCwgMjQxLCAxMjUsIDczLCAyNDcsIDIzMiwgMjI3LCAyNDEsIDk0LCAyNDEsIDIwNCwgNzMsIDI0NywgMjMyLCAKKyAgICAyMjcsIDI0MSwgOTQsIDIxNSwgMTAsIDczLCAyNDcsIDIzMiwgMjI3LCAyNDEsIDk0LCAyMTYsIDIzLCA3MywgMjQ3LCAyMzIsIAorICAgIDIyNywgMjQxLCA5NCwgMjQzLCA4OCwgNzMsIDI0NywgMjMyLCAyMjcsIDI0MSwgOTQsIDIyNCwgMTk1LCA3MywgMjQ3LCAKKyAgICAyMzIsIDIyNywgMjQxLCA5NCwgMjIwLCAyMjEsIDIyNywgMjQxLCA5NCwgMjIyLCAxMjAsIDIyNywgMjQxLCA5NCwgMjUwLCAKKyAgICAxNDIsIDIyNywgMjQxLCA5NCwgMjQ4LCAxNSwgMjI3LCAyNDEsIDk0LCAyMTQsIDExMywgMjI3LCAyNDEsIDk0LCAyMTMsIAorICAgIDE1NiwgMjI3LCAyNDEsIDk0LCAyNTEsIDE3MSwgMjI3LCAyNDEsIDk0LCAyMDcsIDEsIDIyNywgMjQxLCA5NCwgMjMyLCAKKyAgICAxMTYsIDIyNywgMjQxLCA5NCwgMjUwLCAxNzYsIDE1MSwgOTQsIDE5NCwgMjUwLCAxNzYsIDE1MSwgOTQsIDIzOCwgMTIwLCAKKyAgICAxNTEsIDk0LCAyMzgsIDExOSwgMTUxLCA5NCwgMjM4LCAxMTgsIDE1MSwgOTQsIDIzOCwgMTE3LCAxNTEsIDk0LCAyMzgsIAorICAgIDExNiwgMTUxLCA5NCwgMjM4LCAxMTUsIDE1MSwgOTQsIDIzOCwgMTE0LCAxNTEsIDk0LCAyMzgsIDExMywgMTUxLCA5NCwgCisgICAgMjM4LCAxMTIsIDE1MSwgOTQsIDIzOCwgMTExLCAxNTEsIDk0LCAyMzgsIDExMCwgMTUxLCA5NCwgMjM4LCAxMDksIDE1MSwgCisgICAgOTQsIDIzOCwgMTA4LCAxNTEsIDk0LCAyMzgsIDEwNywgMTUxLCA5NCwgMjM4LCAxMDYsIDE1MSwgOTQsIDIzOCwgMTA1LCAKKyAgICAxNTEsIDk0LCAyMzgsIDEwNCwgMTUxLCA5NCwgMjM4LCAxMDMsIDE1MSwgOTQsIDIzOCwgMTAyLCAxNTEsIDk0LCAyMzgsIAorICAgIDEwMSwgMTUxLCA5NCwgMjM4LCAxMDAsIDE1MSwgOTQsIDIzOCwgOTksIDE1MSwgOTQsIDIzOCwgOTgsIDE1MSwgOTQsIDIzOCwgCisgICAgOTcsIDE1MSwgOTQsIDIzOCwgOTYsIDE1MSwgOTQsIDIzOCwgOTUsIDE1MSwgOTQsIDIzOCwgOTQsIDE1MSwgOTQsIDIzOCwgCisgICAgOTMsIDE1MSwgOTQsIDIzOCwgOTIsIDE1MSwgOTQsIDIzOCwgOTEsIDE1MSwgOTQsIDIzOCwgOTAsIDE1MSwgOTQsIDIzOCwgCisgICAgODksIDE1MSwgOTQsIDIzOCwgODgsIDE1MSwgOTQsIDIzOCwgODcsIDE1MSwgOTQsIDIzOCwgODYsIDE1MSwgOTQsIDIzOCwgCisgICAgODUsIDE1MSwgOTQsIDIzOCwgODQsIDE1MSwgOTQsIDIzOCwgODMsIDE1MSwgOTQsIDIzOCwgODIsIDE1MSwgOTQsIDIzOCwgCisgICAgODEsIDE1MSwgOTQsIDIzOCwgODAsIDE1MSwgOTQsIDIzOCwgNzksIDE1MSwgOTQsIDIzOCwgNzgsIDE1MSwgOTQsIDIzOCwgCisgICAgNzcsIDE1MSwgOTQsIDIzOCwgNzYsIDE1MSwgOTQsIDIzOCwgNzUsIDE1MSwgOTQsIDIzOCwgNzQsIDE1MSwgOTQsIDIzOCwgCisgICAgNzMsIDE1MSwgOTQsIDIzOCwgNzIsIDE1MSwgOTQsIDc5LCAyNTAsIDE3NiwgMTUxLCA5NCwgMjA5LCAyMSwgMTUxLCA5NCwgCisgICAgMjA5LCAyMCwgMTUxLCA5NCwgMjA5LCAxOSwgMTUxLCA5NCwgMjA5LCAxOCwgMTUxLCA5NCwgMjA5LCAxNywgMTUxLCA5NCwgCisgICAgMjA5LCAxNiwgMTUxLCA5NCwgMjA5LCAxNSwgMTUxLCA5NCwgMjA5LCAxNCwgMTUxLCA5NCwgMjA5LCAxMywgMTUxLCA5NCwgCisgICAgMjA5LCAxMiwgMTUxLCA5NCwgMjA5LCAxMSwgMTUxLCA5NCwgMjA5LCAxMCwgMTUxLCA5NCwgMjA5LCA5LCAxNTEsIDk0LCAKKyAgICAyMDksIDgsIDE1MSwgOTQsIDIwOSwgNywgMTUxLCA5NCwgMjA5LCA2LCAxNTEsIDk0LCAyMDksIDUsIDE1MSwgOTQsIDIwOSwgCisgICAgNCwgMTUxLCA5NCwgMjA5LCAzLCAxNTEsIDk0LCAyMDksIDIsIDE1MSwgOTQsIDIwOSwgMSwgMTUxLCA5NCwgMjA5LCAwLCAKKyAgICAxNTEsIDk0LCAyMDgsIDI1NSwgMTUxLCA5NCwgMjA4LCAyNTQsIDE1MSwgOTQsIDIwOCwgMjUzLCAxNTEsIDk0LCAyMDgsIAorICAgIDI1MiwgMTUxLCA5NCwgMjA4LCAyNTEsIDE1MSwgOTQsIDIwOCwgMjUwLCAxNTEsIDk0LCAyMDgsIDI0OSwgMTUxLCA5NCwgCisgICAgMjA4LCAyNDgsIDE1MSwgOTQsIDIwOCwgMjQ3LCAxNTEsIDk0LCAyMDgsIDI0NiwgMTUxLCA5NCwgMjA4LCAyNDUsIDE1MSwgCisgICAgOTQsIDIwOCwgMjQ0LCAxNTEsIDk0LCAyMDgsIDI0MywgMTUxLCA5NCwgMjA4LCAyNDIsIDE1MSwgOTQsIDIwOCwgMjQxLCAKKyAgICAxNTEsIDk0LCAyMDgsIDI0MCwgMTUxLCA5NCwgMjA4LCAyMzksIDE1MSwgOTQsIDIwOCwgMjM4LCAxNTEsIDk0LCAyMDgsIAorICAgIDIzNywgMTUxLCA5NCwgMjA4LCAyMzYsIDE1MSwgOTQsIDIwOCwgMjM1LCAxNTEsIDk0LCAyMDgsIDIzNCwgMTUxLCA5NCwgCisgICAgMjA4LCAyMzMsIDE1MSwgOTQsIDIwOCwgMjMyLCAxNTEsIDk0LCAyMDgsIDIzMSwgMTUxLCA5NCwgMjA4LCAyMzAsIDE1MSwgCisgICAgOTQsIDIwOCwgMjI5LCAyMjAsIDIzMCwgMTkxLCAyNTAsIDE3NiwgMjIwLCAyMzAsIDE5MSwgMjUzLCAxNSwgNzMsIDIxNCwgCisgICAgMTUwLCAyMjAsIDIzMCwgMTkxLCAxMTgsIDczLCAyMTQsIDE1MCwgMjIwLCAyMzAsIDE5MSwgMTI5LCA3MywgMjE0LCAxNTAsIAorICAgIDIyMCwgMjMwLCAxOTEsIDI0MSwgMTI1LCA3MywgMjE0LCAxNTAsIDIyMCwgMjMwLCAxOTEsIDI0MSwgMjA0LCA3MywgMjE0LCAKKyAgICAxNTAsIDIyMCwgMjMwLCAxOTEsIDIxNSwgMTAsIDczLCAyMTQsIDE1MCwgMjIwLCAyMzAsIDE5MSwgMjE2LCAyMywgNzMsIAorICAgIDIxNCwgMTUwLCAyMjAsIDIzMCwgMTkxLCAyNDMsIDg4LCA3MywgMjE0LCAxNTAsIDIyMCwgMjMwLCAxOTEsIDIyNCwgMTk1LCAKKyAgICA3MywgMjE0LCAxNTAsIDIyMCwgMjMwLCAxOTEsIDIxMiwgOTksIDczLCAyMTQsIDE1MCwgMjIwLCAyMzAsIDE5MSwgMjMyLCAKKyAgICAxOTgsIDczLCAyMTQsIDE1MCwgMjIwLCAyMzAsIDE5MSwgMjMxLCA1NywgNzMsIDIxNCwgMTUwLCAyMjAsIDIzMCwgMTkxLCAKKyAgICAyMTksIDE5OCwgNzMsIDIxNCwgMTUwLCAyMjAsIDIzMCwgMTkxLCAyMzEsIDEwNywgNzMsIDIxNCwgMTUwLCAyMjAsIDIzMCwgCisgICAgMTkxLCAyNTMsIDE1LCA3MywgMjM5LCA1OCwgMjIwLCAyMzAsIDE5MSwgMTE4LCA3MywgMjM5LCA1OCwgMjIwLCAyMzAsIAorICAgIDE5MSwgMTI5LCA3MywgMjM5LCA1OCwgMjIwLCAyMzAsIDE5MSwgMjQxLCAxMjUsIDczLCAyMzksIDU4LCAyMjAsIDIzMCwgCisgICAgMTkxLCAyNDEsIDIwNCwgNzMsIDIzOSwgNTgsIDIyMCwgMjMwLCAxOTEsIDIxNSwgMTAsIDczLCAyMzksIDU4LCAyMjAsIAorICAgIDIzMCwgMTkxLCAyMTYsIDIzLCA3MywgMjM5LCA1OCwgMjIwLCAyMzAsIDE5MSwgMjQzLCA4OCwgNzMsIDIzOSwgNTgsIDIyMCwgCisgICAgMjMwLCAxOTEsIDIyNCwgMTk1LCA3MywgMjM5LCA1OCwgMjIwLCAyMzAsIDE5MSwgMjEyLCA5OSwgNzMsIDIzOSwgNTgsIAorICAgIDIyMCwgMjMwLCAxOTEsIDIzMiwgMTk4LCA3MywgMjM5LCA1OCwgMjIwLCAyMzAsIDE5MSwgMjMxLCA1NywgNzMsIDIzOSwgCisgICAgNTgsIDIyMCwgMjMwLCAxOTEsIDIxOSwgMTk4LCA3MywgMjM5LCA1OCwgMjIwLCAyMzAsIDE5MSwgMjMxLCAxMDcsIDczLCAKKyAgICAyMzksIDU4LCAyMjAsIDIzMCwgMTkxLCAyMTksIDMyLCAyMzIsIDExNiwgMjIwLCAyMzAsIDE5MSwgMjUzLCAxNSwgNzMsIAorICAgIDI0NSwgMTU1LCAyMjAsIDIzMCwgMTkxLCAxMTgsIDczLCAyNDUsIDE1NSwgMjIwLCAyMzAsIDE5MSwgMTI5LCA3MywgMjQ1LCAKKyAgICAxNTUsIDIyMCwgMjMwLCAxOTEsIDI0MSwgMTI1LCA3MywgMjQ1LCAxNTUsIDIyMCwgMjMwLCAxOTEsIDI0MSwgMjA0LCA3MywgCisgICAgMjQ1LCAxNTUsIDIyMCwgMjMwLCAxOTEsIDIxNSwgMTAsIDczLCAyNDUsIDE1NSwgMjIwLCAyMzAsIDE5MSwgMjE2LCAyMywgCisgICAgNzMsIDI0NSwgMTU1LCAyMjAsIDIzMCwgMTkxLCAyNDMsIDg4LCA3MywgMjQ1LCAxNTUsIDIyMCwgMjMwLCAxOTEsIDIyNCwgCisgICAgMTk1LCA3MywgMjQ1LCAxNTUsIDIyMCwgMjMwLCAxOTEsIDIxMiwgOTksIDczLCAyNDUsIDE1NSwgMjIwLCAyMzAsIDE5MSwgCisgICAgMjMyLCAxOTgsIDczLCAyNDUsIDE1NSwgMjIwLCAyMzAsIDE5MSwgMjMxLCA1NywgNzMsIDI0NSwgMTU1LCAyMjAsIDIzMCwgCisgICAgMTkxLCAyMTksIDE5OCwgNzMsIDI0NSwgMTU1LCAyMjAsIDIzMCwgMTkxLCAyMzEsIDEwNywgNzMsIDI0NSwgMTU1LCAyMjAsIAorICAgIDIzMCwgMTkxLCA2MCwgMjMyLCAxMTYsIDIyMCwgMjMwLCAxOTEsIDI1MywgMTUsIDczLCAyNDcsIDE3OCwgMjIwLCAyMzAsIAorICAgIDE5MSwgMTE4LCA3MywgMjQ3LCAxNzgsIDIyMCwgMjMwLCAxOTEsIDEyOSwgNzMsIDI0NywgMTc4LCAyMjAsIDIzMCwgMTkxLCAKKyAgICAyNDEsIDEyNSwgNzMsIDI0NywgMTc4LCAyMjAsIDIzMCwgMTkxLCAyNDEsIDIwNCwgNzMsIDI0NywgMTc4LCAyMjAsIDIzMCwgCisgICAgMTkxLCAyMTUsIDEwLCA3MywgMjQ3LCAxNzgsIDIyMCwgMjMwLCAxOTEsIDIxNiwgMjMsIDczLCAyNDcsIDE3OCwgMjIwLCAKKyAgICAyMzAsIDE5MSwgMjQzLCA4OCwgNzMsIDI0NywgMTc4LCAyMjAsIDIzMCwgMTkxLCAyMjQsIDE5NSwgNzMsIDI0NywgMTc4LCAKKyAgICAyMjAsIDIzMCwgMTkxLCAyMTIsIDk5LCA3MywgMjQ3LCAxNzgsIDIyMCwgMjMwLCAxOTEsIDIzMiwgMTk4LCA3MywgMjQ3LCAKKyAgICAxNzgsIDIyMCwgMjMwLCAxOTEsIDIzMSwgNTcsIDczLCAyNDcsIDE3OCwgMjIwLCAyMzAsIDE5MSwgMjE5LCAxOTgsIDczLCAKKyAgICAyNDcsIDE3OCwgMjIwLCAyMzAsIDE5MSwgMjMxLCAxMDcsIDczLCAyNDcsIDE3OCwgMjIwLCAyMzAsIDE5MSwgNTksIDIzMiwgCisgICAgMTE2LCAyMjAsIDIzMCwgMTkxLCAyNDEsIDE0OSwgMjIwLCAyMzAsIDE5MSwgMjExLCAxNSwgMjIwLCAyMzAsIDE5MSwgMjExLCAKKyAgICA0LCAyMjAsIDIzMCwgMTkxLCAyMTEsIDEsIDIyMCwgMjMwLCAxOTEsIDIxMSwgMCwgMjIwLCAyMzAsIDE5MSwgMjEwLCAyNTUsIAorICAgIDIyMCwgMjMwLCAxOTEsIDIxMCwgMjU0LCAyMjAsIDIzMCwgMTkxLCAyMTAsIDI1MywgMjIwLCAyMzAsIDE5MSwgMjEwLCAKKyAgICAyNTIsIDIyMCwgMjMwLCAxOTEsIDIxMCwgMjUxLCAyMjAsIDIzMCwgMTkxLCAyMTEsIDE0LCAyMjAsIDIzMCwgMTkxLCAyMTEsIAorICAgIDEzLCAyMjAsIDIzMCwgMTkxLCAyMTEsIDEyLCAyMjAsIDIzMCwgMTkxLCAyMTEsIDExLCAyMjAsIDIzMCwgMTkxLCAyMTEsIAorICAgIDEwLCAyMjAsIDIzMCwgMTkxLCAyMTEsIDksIDIyMCwgMjMwLCAxOTEsIDIxMSwgOCwgMjIwLCAyMzAsIDE5MSwgMjExLCA3LCAKKyAgICAyMjAsIDIzMCwgMTkxLCAyMTEsIDYsIDIyMCwgMjMwLCAxOTEsIDIxMSwgNSwgMjIwLCAyMzAsIDE5MSwgMjExLCAzLCAyMjAsIAorICAgIDIzMCwgMTkxLCAyMTEsIDIsIDE4LCAyMDUsIDg2LCAyNDEsIDgyLCAyMTMsIDI1MSwgMTgsIDIwNSwgODYsIDI0NywgMTU1LCAKKyAgICAxOCwgMTE5LCAyNDcsIDE1NSwgMTgsIDExOCwgMjQ3LCAxNTUsIDE4LCAxMjksIDI0NywgMTU1LCAxOCwgMjQxLCAxMjUsIAorICAgIDI0NywgMTU1LCAxOCwgMjQxLCAyMDQsIDI0NywgMTU1LCAxOCwgMjE1LCAxMCwgMjQ3LCAxNTUsIDE4LCAyMTYsIDIzLCAKKyAgICAyNDcsIDE1NSwgMTgsIDI0MywgODgsIDI0NywgMTU1LCAxOCwgMjI0LCAxOTUsIDI0NywgMTU1LCAyNDUsIDExMSwgMzksIAorICAgIDM4LCAxOCwgMjA1LCA4NSwgMjQ1LCAxMTEsIDE3MCwgMzksIDM4LCAxOCwgMjA1LCA4NSwgOTcsIDcsIDYsIDEsIDYyLCA5NywgCisgICAgNywgNiwgMSwgMjUxLCAxNTAsIDk3LCA3LCA2LCAxLCAyNDksIDM0LCA5NywgNywgNiwgMSwgMjQ2LCAyNDAsIDk3LCA3LCA2LCAKKyAgICAxLCA3NSwgOTcsIDcsIDYsIDEsIDI0MiwgMTM5LCA5NywgNywgNiwgMSwgMjQxLCA1NSwgOTcsIDcsIDYsIDEsIDIzOSwgCisgICAgMTU1LCA5NywgNywgNiwgMSwgNzQsIDk3LCA3LCA2LCAxLCAyMzIsIDIwMywgOTcsIDcsIDYsIDEsIDIzMiwgNzYsIDk3LCA3LCAKKyAgICA2LCAxLCAxNDksIDk3LCA3LCA2LCAxLCAyMjksIDI4LCA5NywgNywgNiwgMSwgMjI2LCAzMywgOTcsIDcsIDYsIDEsIDc2LCAKKyAgICA5NywgNywgNiwgMSwgMjIyLCA2NywgOTcsIDcsIDYsIDEsIDIyMCwgMjcsIDk3LCA3LCA2LCAxLCAxMzcsIDk3LCA3LCA2LCAKKyAgICAxLCAxODIsIDk3LCA3LCA2LCAxLCAyMTMsIDEwLCA5NywgNywgNiwgMSwgNzEsIDk3LCA3LCA2LCAxLCAyMDksIDE0OCwgOTcsIAorICAgIDcsIDYsIDEsIDIwNywgMTI5LCA5NywgNywgNiwgMSwgMjA2LCAxOTUsIDk3LCA3LCA2LCAxLCAyMDYsIDEyMywgOTcsIDcsIAorICAgIDYsIDEsIDIwNSwgMTU5LCAyMTEsIDkzLCAyMTUsIDIwNCwgMjQ5LCAxMzMsIDcsIDYsIDEsIDE4MiwgMzksIDM1LCA3LCA2LCAKKyAgICAxLCAyNDksIDM0LCAzOSwgMzUsIDcsIDYsIDEsIDEzNywgMzksIDI0OCwgMTQ5LCAzOSwgMjA2LCAxOTcsIDk4LCA3LCA2LCAKKyAgICAxLCA2MiwgOTgsIDcsIDYsIDEsIDI1MSwgMTUwLCA5OCwgNywgNiwgMSwgMjQ5LCAzNCwgOTgsIDcsIDYsIDEsIDI0NiwgCisgICAgMjQwLCA5OCwgNywgNiwgMSwgNzUsIDk4LCA3LCA2LCAxLCAyNDIsIDEzOSwgOTgsIDcsIDYsIDEsIDI0MSwgNTUsIDk4LCA3LCAKKyAgICA2LCAxLCAyMzksIDE1NSwgOTgsIDcsIDYsIDEsIDc0LCA5OCwgNywgNiwgMSwgMjMyLCAyMDMsIDk4LCA3LCA2LCAxLCAyMzIsIAorICAgIDc2LCA5OCwgNywgNiwgMSwgMTQ5LCA5OCwgNywgNiwgMSwgMjI5LCAyOCwgOTgsIDcsIDYsIDEsIDIyNiwgMzMsIDk4LCA3LCAKKyAgICA2LCAxLCA3NiwgOTgsIDcsIDYsIDEsIDIyMiwgNjcsIDk4LCA3LCA2LCAxLCAyMjAsIDI3LCA5OCwgNywgNiwgMSwgMTM3LCAKKyAgICA5OCwgNywgNiwgMSwgMTgyLCA5OCwgNywgNiwgMSwgMjEzLCAxMCwgOTgsIDcsIDYsIDEsIDcxLCA5OCwgNywgNiwgMSwgCisgICAgMjA5LCAxNDgsIDk4LCA3LCA2LCAxLCAyMDcsIDEyOSwgOTgsIDcsIDYsIDEsIDIwNiwgMTk1LCA5OCwgNywgNiwgMSwgMjA2LCAKKyAgICAxMjMsIDk4LCA3LCA2LCAxLCAyMDUsIDE1OSwgOTgsIDIzOCwgMTcsIDk4LCAyMjYsIDU3LCA5OCwgMjE3LCA4OCwgOTgsIAorICAgIDIxNCwgOTksIDk4LCAyMjAsIDE1NSwgOTgsIDIwNywgNTIsIDE3MCwgMzksIDcsIDYsIDEsIDYyLCAxNzAsIDM5LCA3LCA2LCAKKyAgICAxLCAyNTEsIDE1MCwgMTcwLCAzOSwgNywgNiwgMSwgMjQ5LCAzNCwgMTcwLCAzOSwgNywgNiwgMSwgMjQ2LCAyNDAsIDE3MCwgCisgICAgMzksIDcsIDYsIDEsIDc1LCAxNzAsIDM5LCA3LCA2LCAxLCAyNDIsIDEzOSwgMTcwLCAzOSwgNywgNiwgMSwgMjQxLCA1NSwgCisgICAgMTcwLCAzOSwgNywgNiwgMSwgMjM5LCAxNTUsIDE3MCwgMzksIDcsIDYsIDEsIDc0LCAxNzAsIDM5LCA3LCA2LCAxLCAyMzIsIAorICAgIDIwMywgMTcwLCAzOSwgNywgNiwgMSwgMjMyLCA3NiwgMTcwLCAzOSwgNywgNiwgMSwgMTQ5LCAxNzAsIDM5LCA3LCA2LCAxLCAKKyAgICAyMjksIDI4LCAxNzAsIDM5LCA3LCA2LCAxLCAyMjYsIDMzLCAxNzAsIDM5LCA3LCA2LCAxLCA3NiwgMTcwLCAzOSwgNywgNiwgCisgICAgMSwgMjIyLCA2NywgMTcwLCAzOSwgNywgNiwgMSwgMjIwLCAyNywgMTcwLCAzOSwgNywgNiwgMSwgMTM3LCAxNzAsIDM5LCA3LCAKKyAgICA2LCAxLCAxODIsIDE3MCwgMzksIDcsIDYsIDEsIDIxMywgMTAsIDE3MCwgMzksIDcsIDYsIDEsIDcxLCAxNzAsIDM5LCA3LCAKKyAgICA2LCAxLCAyMDksIDE0OCwgMTcwLCAzOSwgNywgNiwgMSwgMjA3LCAxMjksIDE3MCwgMzksIDcsIDYsIDEsIDIwNiwgMTk1LCAKKyAgICAxNzAsIDM5LCA3LCA2LCAxLCAyMDYsIDEyMywgMTcwLCAzOSwgNywgNiwgMSwgMjA1LCAxNTksIDIxOSwgODEsIDIyNywgCisgICAgMTI1LCA1MywgMjE5LCA4MSwgMjI3LCAxMjIsIDUzLCAxNzAsIDk4LCA3LCA2LCAxLCA2MiwgMTcwLCA5OCwgNywgNiwgMSwgCisgICAgMjUxLCAxNTAsIDE3MCwgOTgsIDcsIDYsIDEsIDI0OSwgMzQsIDE3MCwgOTgsIDcsIDYsIDEsIDI0NiwgMjQwLCAxNzAsIDk4LCAKKyAgICA3LCA2LCAxLCA3NSwgMTcwLCA5OCwgNywgNiwgMSwgMjQyLCAxMzksIDE3MCwgOTgsIDcsIDYsIDEsIDI0MSwgNTUsIDE3MCwgCisgICAgOTgsIDcsIDYsIDEsIDIzOSwgMTU1LCAxNzAsIDk4LCA3LCA2LCAxLCA3NCwgMTcwLCA5OCwgNywgNiwgMSwgMjMyLCAyMDMsIAorICAgIDE3MCwgOTgsIDcsIDYsIDEsIDIzMiwgNzYsIDE3MCwgOTgsIDcsIDYsIDEsIDE0OSwgMTcwLCA5OCwgNywgNiwgMSwgMjI5LCAKKyAgICAyOCwgMTcwLCA5OCwgNywgNiwgMSwgMjI2LCAzMywgMTcwLCA5OCwgNywgNiwgMSwgNzYsIDE3MCwgOTgsIDcsIDYsIDEsIAorICAgIDIyMiwgNjcsIDE3MCwgOTgsIDcsIDYsIDEsIDIyMCwgMjcsIDE3MCwgOTgsIDcsIDYsIDEsIDEzNywgMTcwLCA5OCwgNywgNiwgCisgICAgMSwgMTgyLCAxNzAsIDk4LCA3LCA2LCAxLCAyMTMsIDEwLCAxNzAsIDk4LCA3LCA2LCAxLCA3MSwgMTcwLCA5OCwgNywgNiwgCisgICAgMSwgMjA5LCAxNDgsIDE3MCwgOTgsIDcsIDYsIDEsIDIwNywgMTI5LCAxNzAsIDk4LCA3LCA2LCAxLCAyMDYsIDE5NSwgMTcwLCAKKyAgICA5OCwgNywgNiwgMSwgMjA2LCAxMjMsIDE3MCwgOTgsIDcsIDYsIDEsIDIwNSwgMTU5LCAyNDcsIDU3LCAxNzAsIDk4LCA3LCAKKyAgICA2LCAxLCAyMjIsIDY3LCAxNzAsIDk4LCAyMzcsIDE4MywgMTcwLCA5OCwgMTc5LCAxNzAsIDk4LCAyMTcsIDE5OSwgMTcwLCAKKyAgICA5OCwgMjUzLCAxMTUsIDE3MCwgOTgsIDIwNywgNTIsIDQ5LCAyNDUsIDcwLCA5OCwgMjQ3LCAyMTgsIDk4LCAyNDcsIDEwMSwgCisgICAgOTgsIDI0MSwgMTA3LCA5OCwgMjM3LCAxNzQsIDk4LCAyMjUsIDg3LCA5OCwgMjI1LCA3OSwgOTgsIDIyMiwgMTg1LCA5OCwgCisgICAgMjE0LCAxNjksIDk4LCAxMjAsIDIsIDI0MiwgMTY4LCA4MywgOTgsIDIwOCwgMTUxLCAyMTksIDI0LCAyMzMsIDUwLCAxNiwgCisgICAgMSwgNjIsIDIxOSwgMjQsIDIzMywgNTAsIDE2LCAxLCAyNTEsIDE1MCwgMjE5LCAyNCwgMjMzLCA1MCwgMTYsIDEsIDI0OSwgCisgICAgMzQsIDIxOSwgMjQsIDIzMywgNTAsIDE2LCAxLCAyNDYsIDI0MCwgMjE5LCAyNCwgMjMzLCA1MCwgMTYsIDEsIDc1LCAyMTksIAorICAgIDI0LCAyMzMsIDUwLCAxNiwgMSwgMjQyLCAxMzksIDIxOSwgMjQsIDIzMywgNTAsIDE2LCAxLCAyNDEsIDU1LCAyMTksIDI0LCAKKyAgICAyMzMsIDUwLCAxNiwgMSwgMjM5LCAxNTUsIDIxOSwgMjQsIDIzMywgNTAsIDE2LCAxLCA3NCwgMjE5LCAyNCwgMjMzLCA1MCwgCisgICAgMTYsIDEsIDIzMiwgMjAzLCAyMTksIDI0LCAyMzMsIDUwLCAxNiwgMSwgMjMyLCA3NiwgMjE5LCAyNCwgMjMzLCA1MCwgMTYsIAorICAgIDEsIDE0OSwgMjE5LCAyNCwgMjMzLCA1MCwgMTYsIDEsIDIyOSwgMjgsIDIxOSwgMjQsIDIzMywgNTAsIDE2LCAxLCAyMjYsIAorICAgIDMzLCAyMTksIDI0LCAyMzMsIDUwLCAxNiwgMSwgNzYsIDIxOSwgMjQsIDIzMywgNTAsIDE2LCAxLCAyMjIsIDY3LCAyMTksIAorICAgIDI0LCAyMzMsIDUwLCAxNiwgMSwgMjIwLCAyNywgMjE5LCAyNCwgMjMzLCA1MCwgMTYsIDEsIDEzNywgMjE5LCAyNCwgMjMzLCAKKyAgICA1MCwgMTYsIDEsIDE4MiwgMjE5LCAyNCwgMjMzLCA1MCwgMTYsIDEsIDIxMywgMTAsIDIxOSwgMjQsIDIzMywgNTAsIDE2LCAKKyAgICAxLCA3MSwgMjE5LCAyNCwgMjMzLCA1MCwgMTYsIDEsIDIwOSwgMTQ4LCAyMTksIDI0LCAyMzMsIDUwLCAxNiwgMSwgMjA3LCAKKyAgICAxMjksIDIxOSwgMjQsIDIzMywgNTAsIDE2LCAxLCAyMDYsIDE5NSwgMjE5LCAyNCwgMjMzLCA1MCwgMTYsIDEsIDIwNiwgCisgICAgMTIzLCAyMTksIDI0LCAyMzMsIDUwLCAxNiwgMSwgMjA1LCAxNTksIDQ5LCAxNjEsIDIzOCwgMTQ0LCA5OCwgNjQsIDIzMSwgCisgICAgNDEsIDk4LCA2NCwgMjE3LCAxOTksIDk4LCAxMCwgMjA5LCAyMjAsIDIzNSwgMTE5LCA5OCwgMTAsIDIwOSwgMjIwLCAyMzUsIAorICAgIDEyMywgOTgsIDEwLCAyMDksIDIyMCwgMjM1LCAxMzEsIDk4LCA2NCwgMjQ2LCA5LCA5OCwgMTAsIDIwOSwgMjIwLCAyMzUsIAorICAgIDEzOCwgOTgsIDEwLCAyMDksIDIyMCwgMjM1LCAxMjUsIDk4LCAxMCwgMjA5LCAyMjAsIDIzNSwgOTcsIDk4LCAxMCwgMjA5LCAKKyAgICAyMjAsIDIzNSwgMTI0LCA5OCwgMTAsIDIwOSwgMjIwLCAyMzUsIDEzNywgOTgsIDEwLCAyMDksIDIyMCwgMjM1LCAxMTEsIAorICAgIDk4LCAxMCwgMjA5LCAyMjAsIDIzNSwgMTA0LCA5OCwgMTAsIDIwOSwgMjIwLCAyMzUsIDExMywgOTgsIDEwLCAyMDksIDIyMCwgCisgICAgMjM1LCAxMzQsIDk4LCAxMCwgMjA5LCAyMjAsIDIzNSwgMTIwLCA5OCwgMTAsIDIwOSwgMjIwLCAyMzUsIDEzNiwgOTgsIDEwLCAKKyAgICAyMDksIDIyMCwgMjM1LCAxMTIsIDk4LCAxMCwgMjA5LCAyMjAsIDIzNSwgMTM1LCA5OCwgMTAsIDIwOSwgMjIwLCAyMzUsIAorICAgIDk4LCA5OCwgMTAsIDIwOSwgMjIwLCAyMzUsIDEwMywgOTgsIDEwLCAyMDksIDIyMCwgMjM1LCA5NiwgOTgsIDEwLCAyMDksIAorICAgIDIyMCwgMjM1LCAxMjYsIDk4LCAxMCwgMjA5LCAyMjAsIDIzNSwgMTI4LCA5OCwgMTAsIDIwOSwgMjIwLCAyMzUsIDEwNiwgCisgICAgOTgsIDEwLCAyMDksIDIyMCwgMjM1LCAxMTcsIDk4LCAxMCwgMjA5LCAyMjAsIDIzNSwgMTE1LCA5OCwgMTAsIDIwOSwgMjIwLCAKKyAgICAyMzUsIDE0MSwgOTgsIDEwLCAyMDksIDIyMCwgMjM1LCAxNDAsIDk4LCAxMCwgMjA5LCAyMjAsIDIzNSwgOTQsIDk4LCAxMCwgCisgICAgMjA5LCAyMjAsIDIzNSwgMTIxLCA5OCwgMTAsIDIwOSwgMjIwLCAyMzUsIDEzOSwgOTgsIDEwLCAyMDksIDIyMCwgMjM1LCAKKyAgICAxMzAsIDk4LCAxMCwgMjA5LCAyMjAsIDIzNSwgMTE2LCA5OCwgMTAsIDIwOSwgMjIwLCAyMzUsIDk1LCA5OCwgMTAsIDIwOSwgCisgICAgMjIwLCAyMzUsIDExOCwgOTgsIDEwLCAyMDksIDIyMCwgMjM1LCAxMDAsIDk4LCAxMCwgMjA5LCAyMjAsIDIzNSwgOTksIDk4LCAKKyAgICAxMCwgMjA5LCAyMjAsIDIzNSwgMTI5LCA5OCwgMTAsIDIwOSwgMjIwLCAyMzUsIDEwNywgOTgsIDEwLCAyMDksIDIyMCwgCisgICAgMjM1LCAxMDksIDk4LCAxMCwgMjA5LCAyMjAsIDIzNSwgMTEwLCA5OCwgMTAsIDIwOSwgMjIwLCAyMzUsIDEwMiwgOTgsIDEwLCAKKyAgICAyMDksIDIyMCwgMjM1LCAxMzMsIDk4LCAxMCwgMjA5LCAyMjAsIDIzNSwgMTI3LCAyMTEsIDkzLCAyMTUsIDIwNCwgMjQ5LCAKKyAgICAxMzMsIDEwLCAyMDksIDIyMCwgMjM1LCAxMDgsIDIxMSwgOTMsIDIxNSwgMjA0LCAyNDksIDEzMywgMTAsIDIwOSwgMjIwLCAKKyAgICAyMzUsIDE0MCwgMjExLCA5MywgMjE1LCAyMDQsIDI0OSwgMTMzLCAxMCwgMjA5LCAyMjAsIDIzNSwgMTM4LCAyMTEsIDkzLCAKKyAgICAyMTUsIDIwNCwgMjQ5LCAxMzMsIDEwLCAyMDksIDIyMCwgMjM1LCAxMjIsIDIxMSwgOTMsIDIxNSwgMjA0LCAyNDksIDEzMywgCisgICAgMTAsIDIwOSwgMjIwLCAyMzUsIDEwNSwgMjExLCA5MywgMjE1LCAyMDQsIDI0OSwgMTMzLCAxMCwgMjA5LCAyMjAsIDIzNSwgCisgICAgMTE4LCAyMTEsIDkzLCAyMTUsIDIwNCwgMjQ5LCAxMzMsIDEwLCAyMDksIDIyMCwgMjM1LCAxMDEsIDIxMSwgOTMsIDIxNSwgCisgICAgMjA0LCAyNDksIDEzMywgMTAsIDIwOSwgMjIwLCAyMzUsIDEzMiwgMjExLCA5MywgMjE1LCAyMDQsIDI0OSwgMTMzLCAxMCwgCisgICAgMjA5LCAyMjAsIDIzNSwgMTE0LCAzOSwgMTc1LCAyNTIsIDI1MCwgMzksIDE3NSwgMjUzLCAxOSwgMjQ2LCAyNTEsIDI0MSwgCisgICAgMTYwLCAyNDcsIDE5MiwgMjA5LCAyMzgsIDIyNCwgMjEwLCAyLCAyMTQsIDIzLCAyMTMsIDE0OSwgMTMxLCAyMjYsIDEyNywgCisgICAgMjEzLCAxNDgsIDI0NywgMjIyLCAyNTEsIDIwMCwgMjQzLCAyMTMsIDIxMywgMTQ3LCAxMzEsIDI0OSwgOTAsIDIxOSwgODIsIAorICAgIDI0OSwgMTE2LCAyNTEsIDIwMCwgMjI0LCAyMDksIDIwNywgNzAsIDIwNywgNjQsIDIwOCwgMTY1LCAyMjYsIDIxNywgMjA3LCAKKyAgICA1NCwgMjQzLCAxMjEsIDI0MCwgMjYsIDI0MiwgMTgyLCAyNDMsIDEyMSwgMjQwLCAyNiwgMjUyLCAxMjgsIDI0MywgMTIxLCAKKyAgICAyNDAsIDI2LCAyNTEsIDIxOCwgMjQwLCAyNiwgMiwgMjI3LCA3NSwgMTg2LCAyMjYsIDE0NSwgOTMsIDIwNywgNTYsIDI0NywgCisgICAgNjYsIDIyNiwgMTQ1LCA5MywgMjQxLCAyMTUsIDIxOSwgMjA1LCAyMjYsIDE0NSwgOTMsIDIwNywgNTYsIDI0MCwgNTcsIAorICAgIDIyNiwgMTQ1LCA5MywgMjQxLCA4MiwgMjI2LCAxNDUsIDkzLCAyMDcsIDgyLCAyNDAsIDU3LCAyMjYsIDE0NSwgOTMsIDIzMCwgCisgICAgODEsIDIxOSwgMjA1LCAyMjYsIDE0NSwgOTMsIDIwNywgODIsIDI0NywgNjYsIDIyNiwgMTQ1LCA5MywgMjQ3LCA2NiwgMjI2LCAKKyAgICAxNDQsIDE4NiwgMjI2LCAxNDUsIDIsIDI0MiwgNjcsIDI0MSwgMjE1LCAyMTksIDIwNSwgMjI2LCAxNDUsIDIsIDI0MiwgNjcsIAorICAgIDIzMCwgODEsIDIxOSwgMjA1LCAyMjYsIDE0NSwgMiwgMjQyLCA2NywgMjQxLCA4MiwgMjI2LCAxNDUsIDIsIDI0MiwgNjcsIAorICAgIDIxMywgMTU1LCAyLCAyNDIsIDY3LCAyNDAsIDI0LCAyMTQsIDI2LCAyMTUsIDE0OSwgMjE0LCAyNiwgMjEyLCAyOSwgNjAsIAorICAgIDI0MywgMjQ0LCA1OSwgMjEzLCAxNTQsIDU5LCAyMTMsIDE1NSwgMiwgNSwgMjQ3LCAxODMsIDU5LCAyMTMsIDE1NSwgMjUwLCAKKyAgICAzNSwgMjQ3LCAxODMsIDU5LCAyMTMsIDE1NSwgMjUwLCAzNSwgMjQ3LCAxODQsIDIsIDIxOSwgODMsIDI0NywgMTg0LCAyLCAKKyAgICAyMTksIDgzLCAyNDcsIDE4NCwgMiwgMjE0LCAxOTksIDI0NywgMTg0LCAyLCAyMjksIDIyMCwgMjQ3LCAxODQsIDIsIDIxMSwgCisgICAgOTQsIDI0MSwgMTYxLCAyMDcsIDEwLCAyNDksIDE4OCwgMjQyLCA2NywgMjQ4LCA2NCwgMjE3LCA3MiwgMjQyLCAxNzYsIAorICAgIDIxMSwgNjEsIDI0NiwgMywgMjExLCA2MSwgMjIyLCAxOSwgMjExLCA2MSwgMjQ4LCAyNTAsIDIzOCwgNjMsIDIyMSwgMTMzLCAKKyAgICAyMTAsIDE2MCwgMjQ4LCA2NywgMjQ5LCAxOTAsIDIxOCwgMTAxLCAyMzksIDEwLCAyMTMsIDE1MiwgMjQ5LCAxOTAsIDI0MywgCisgICAgMTI1LCA3MywgMjI3LCAyMzAsIDI0MywgMTI1LCA3MywgMjE4LCAyMDMsIDIzOSwgMzYsIDI0MSwgMTI1LCAyMzAsIDU0LCAKKyAgICAyNDcsIDE4MiwgMjI3LCAyMDMsIDIzMCwgNTMsIDI0MiwgNTEsIDIzMCwgNTMsIDIzMCwgNTQsIDI0MSwgMTY3LCAyMzMsIAorICAgIDY5LCAyMDcsIDksIDIyNiwgNjYsIDIxMSwgMTIyLCAyNTEsIDE4MywgMjM5LCAyNDMsIDIyNywgOTIsIDIwNywgNjgsIDIxMiwgCisgICAgMTY5LCAyMzAsIDIzLCAyNTAsIDEzNywgMjIxLCA2LCAyMTksIDMyLCAyNTIsIDUwLCAyMzksIDIyNywgMjUyLCA1MCwgMjIxLCAKKyAgICAxNzAsIDIyMSwgMTcxLCAyNDgsIDY4LCAyMTMsIDIzNiwgMjM5LCAxMTYsIDIxNCwgMjI5LCA3MywgMjIwLCAyNDIsIDIyNywgCisgICAgMTE1LCAyMjIsIDE2NiwgMjQ5LCAxNzMsIDIyMCwgMTY2LCAyMzAsIDM0LCAyMTgsIDIwNCwgMjQ3LCA3MiwgMjE4LCAyMDQsIAorICAgIDI1MCwgMTQ5LCAyNDcsIDEwNCwgMjE4LCAyMDMsIDI0NywgMjIsIDIzLCAyMTgsIDIwMywgMjE0LCAxMSwgMjQ5LCAxNDQsIAorICAgIDIxNCwgMTQ5LCAyNDksIDEyNywgMjQxLCAxMDYsIDI0MSwgMTAyLCAyMTgsIDEyMCwgMjEzLCAxMDUsIDIyMCwgMTY4LCAKKyAgICAyNDYsIDk3LCAyMjIsIDIwOCwgMjEzLCAxMjMsIDI0MSwgMTAzLCAyMTUsIDEyMSwgMjQxLCAyMTQsIDI0OCwgMjQ0LCAyLCAKKyAgICAyMTMsIDk4LCAyNDUsIDIwNCwgMjE0LCAxODcsIDIzNywgMTgyLCAyNDcsIDcwLCAyMTUsIDIyMiwgMjM3LCAxODEsIDIzNywgCisgICAgMTgyLCAyNDcsIDcwLCAyNDQsIDExLCAyNDcsIDEwMywgMjQ4LCAzMCwgMTM0LCAyNDgsIDIxNiwgMjI5LCAxMjksIDI0NywgCisgICAgMTQsIDIzOCwgMTMzLCAyMjAsIDE3MCwgMjE1LCAxMzMsIDI1MCwgMTgsIDI0OSwgMTQwLCAyMjAsIDE3MSwgNzMsIDI0MSwgCisgICAgMTUwLCAyNDcsIDEwMiwgMjQxLCAxNDAsIDIzLCAyMzEsIDU4LCAyMTIsIDEyOCwgMjA2LCAyNTMsIDIzOSwgMTA1LCAyMTcsIAorICAgIDE3NiwgMjQ5LCAxNTYsIDIzLCAyNDcsIDI5LCAyMDcsIDYsIDI0MCwgMjksIDI0NywgMTcxLCAyNDAsIDI5LCAyMTEsIDE4LCAKKyAgICAyNDMsIDI0OSwgMjUwLCA0NiwgMjI2LCAxMDMsIDI0NywgMTk5LCAyNTAsIDQ2LCAyMjYsIDEwMiwgMjUwLCAxNzksIDI0OSwgCisgICAgMTU1LCAyNDEsIDE0MCwgMjMsIDIzMSwgNTksIDIsIDIyMCwgMjMxLCAyMTgsIDIwNSwgMjA2LCAyMjIsIDIyMCwgMTMyLCAKKyAgICAyNDksIDIxNiwgMjQ4LCAyNDMsIDIzMiwgMTk3LCAyNDgsIDIyLCAyMTEsIDYxLCAyNDIsIDM2LCAyNDgsIDIxLCAyNDEsIAorICAgIDIxNywgMjQxLCAyMTgsIDIxNCwgMTQ3LCAyNTAsIDE0OCwgMjIxLCAyMDYsIDIyMCwgMTgyLCAyNDcsIDEzNywgMjUwLCAKKyAgICAxNDksIDIxMiwgMTczLCAyMTEsIDYxLCAyNDcsIDU3LCAyNDEsIDE5MCwgMjIxLCA3LCAyNDYsIDAsIDIzMiwgMTg5LCAyNDUsIAorICAgIDM0LCAyNDgsIDE5MywgMjEzLCAyMzUsIDIwNywgMTAsIDI0OCwgNDYsIDIyNiwgMTQ1LCAyMDgsIDIwMSwgMjQ4LCAxMTUsIAorICAgIDIxNywgMTA0LCAyMTcsIDEzMSwgMjM5LCAyNDgsIDI0OCwgMjEzLCAyMzksIDYxLCAyLCAyMTEsIDE2NywgMjIyLCAxNjYsIAorICAgIDIxMiwgNDIsIDIzMCwgNDYsIDI0OSwgMTQ5LCA3MywgMjQxLCAxNzEsIDIyNiwgMjE4LCAyMjcsIDExMiwgMjE5LCA1LCAKKyAgICAyMTgsIDIwNSwgMzAsIDIzMSwgMTczLCAyLCAyMzIsIDE5NiwgMjEzLCAyMDgsIDIyNiwgMjUxLCAyMjksIDI1NCwgMjE0LCAKKyAgICAyMjcsIDI0NywgMTA5LCAyMzEsIDU1LCAyNTAsIDU4LCAyNTEsIDIyOCwgMzAsIDIyNCwgMzIsIDI1MCwgNTgsIDI0NSwgCisgICAgMjEwLCAzMCwgMjI0LCAzMiwgMjQxLCAyMzEsIDI0MSwgMTExLCAyNTIsIDI1MywgMjExLCAyMDUsIDI0OCwgMTk0LCAyMzgsIAorICAgIDY1LCAyNDIsIDMsIDIwNywgMjYsIDIxOCwgMTExLCAyNDcsIDE3MiwgMjQxLCAyMDksIDIyMCwgMTk2LCAyMywgMjQxLCAKKyAgICAyMTMsIDIyNiwgMjUxLCAyMjYsIDEyMSwgMjQ4LCAyMzAsIDI0NywgMjM3LCAyMzksIDY1LCAyNTEsIDIzNSwgMjIyLCAyMiwgCisgICAgMjExLCAxMDIsIDIzOSwgODYsIDI0NywgMjI2LCAyMTIsIDkyLCAyMTEsIDIwNiwgMjQ3LCAyMTMsIDI0OSwgMTgxLCAyMjEsIAorICAgIDEyNiwgMjUxLCAyMzQsIDIwOCwgMjEwLCAyNDAsIDIxOCwgMjQ1LCAxMDQsIDIzOCwgMjQyLCAyMTQsIDIyMCwgMjI4LCAxNSwgCisgICAgMjQ5LCAyMjcsIDI0MCwgMjE5LCAyNDUsIDE0OCwgMjQ5LCAxNDMsIDI0MSwgMTczLCAyMjAsIDIzMCwgMjQ4LCAyMDIsIDMwLCAKKyAgICAyMjQsIDM3LCAyMjYsIDk1LCAzMCwgMjI0LCAzMiwgMjE3LCAxMTcsIDIzOSwgMTk3LCAzMCwgMjMxLCAxNzIsIDIxMCwgCisgICAgMjUwLCAyMDgsIDE5MCwgMzAsIDIxNywgOTcsIDIxOCwgMzMsIDIxNSwgMTYyLCAyLCAyMTcsIDEzNCwgMjEyLCA5NSwgMjE5LCAKKyAgICAxMDIsIDIzLCAyNTAsIDE0OSwgMjE0LCAyNDUsIDIzLCAyMTQsIDI0NSwgMjQ5LCAxNjYsIDI1MCwgMTExLCAyMywgMjM4LCAKKyAgICAxMjcsIDI0OCwgNjksIDI0MSwgMTk2LCAyMTQsIDE5OCwgMjE4LCAzNCwgMjEzLCAxMjgsIDIxNCwgMTE3LCAyMjcsIDExMiwgCisgICAgMjExLCAxOSwgMjM4LCA2NiwgMjE5LCAxMDMsIDI1MiwgMTI5LCAyNDEsIDE0NywgMjE4LCA0NSwgMjQxLCAxNDcsIDIxMywgCisgICAgMTAwLCAyMDcsIDQxLCAyMjksIDIyNCwgMjQwLCAxMCwgMjE5LCAxMDQsIDIyNiwgMTM0LCAyMTksIDEwNCwgMjQ4LCAyMDQsIAorICAgIDIxNCwgMjAwLCAyNDgsIDIwOSwgMjI2LCAxMjgsIDI0OCwgMjI4LCAyNTAsIDYwLCAyLCAyMDksIDIzOCwgMjQ5LCA5MiwgCisgICAgMjQ3LCAxMjIsIDIzOCwgNTUsIDI0OSwgOTAsIDI0NywgMjIxLCAyNDUsIDIxNCwgMjM4LCA1NSwgMjQ5LCA5MSwgMjQ3LCAKKyAgICAyMTEsIDI0OSwgOTEsIDI0NSwgMjA2LCAyNDUsIDIwNywgMjMyLCAyMjcsIDIyNSwgMTkzLCAyMjEsIDIxMiwgMjE0LCAzNiwgCisgICAgMjM4LCA1NSwgMjQ5LCA5MSwgMjM4LCA1NSwgMiwgMjQwLCAyMDIsIDIyMiwgMjAxLCAyNDksIDkxLCAyMzIsIDE4OSwgMjIwLCAKKyAgICAxNzYsIDIyMiwgMjAwLCAyNDIsIDE4MSwgMjIwLCAxNzYsIDIyMiwgMjAwLCAyMzgsIDY0LCAyNTAsIDEzMywgMjUxLCAxNzMsIAorICAgIDIxMiwgMTAzLCAyMjgsIDE1LCAyMzgsIDYwLCAyMjksIDk4LCAyMzgsIDYwLCAyNDcsIDEwNywgMjEzLCAyNDcsIDIxNywgCisgICAgMTAzLCAyNDUsIDIxNiwgMjEzLCAyNDcsIDI0MiwgNTcsIDIzMiwgMjA4LCAyMzAsIDkxLCAyMzIsIDE4OSwgMjQ4LCAxODUsIAorICAgIDI0MiwgMTgxLCAyNDgsIDE4NSwgNTksIDIyMSwgMTQ0LCA2MCwgMjIxLCAxNDQsIDIwNywgNjIsIDU5LCAyNDEsIDE5NiwgCisgICAgMjA3LCA2MiwgNjAsIDI0MSwgMTk2LCAyMTgsIDEwMCwgNjAsIDIxOCwgMTAwLCAyMzAsIDEzMywgMjE5LCA2NSwgMjI2LCAKKyAgICAxMjUsIDIyMiwgNzYsIDIwNywgNzAsIDI0OSwgOTYsIDI0NywgNzUsIDIxMSwgMTk4LCAyMzAsIDE0LCAyMTksIDEwNSwgCisgICAgMjQ4LCAxODMsIDI0MywgMjU1LCAyNDcsIDY0LCAyMDcsIDI5LCAyMTQsIDIwNiwgMjE0LCAyMDQsIDIzOCwgNjUsIDIxOSwgCisgICAgNzcsIDI0MCwgMTUsIDIxNSwgMjA4LCAyMjYsIDE2MywgMjE4LCAxMDQsIDI0OCwgNTYsIDI0NSwgNDAsIDIyMSwgMTcsIAorICAgIDI0OSwgMTgyLCAyNDMsIDYwLCAyMjIsIDIxMSwgMjE0LCAxMjgsIDIxNSwgMjAzLCAyNDksIDk1LCAyNTIsIDkxLCAyMzgsIAorICAgIDEzMiwgMjMwLCAxMjYsIDI1MCwgNDQsIDI0MSwgMjEzLCAyMTEsIDE4LCAyNDEsIDIxMywgMjQ5LCAxODksIDIxMCwgMTQxLCAKKyAgICAyMzksIDg0LCAyNDgsIDU3LCAyNTAsIDE3OSwgMjQ4LCA1NywgMjQxLCA5NywgMjUwLCAxNzksIDI0OCwgNTcsIDI0OSwgCisgICAgMjE4LCAyMjEsIDE0NiwgMjMxLCA1MSwgMjIwLCAxODYsIDI0MywgMjQ2LCAyNDgsIDIzMiwgMjUwLCAxNjgsIDI0OCwgMjMyLCAKKyAgICAyNDUsIDMzLCAyMjYsIDEyNiwgMjQyLCA2NywgMjQ3LCA3NiwgMjQyLCA2NywgMjExLCAxOTksIDI0MiwgNjcsIDIxOSwgCisgICAgMTA2LCAyNDIsIDY3LCAyNDgsIDE4NCwgMjQyLCA2NywgMjQ0LCAwLCAyNDIsIDY3LCAyMTQsIDExNSwgMjA3LCAyOSwgMjM4LCAKKyAgICA2NiwgMjQyLCA2NywgMjI2LCAxNjQsIDI0MiwgNjcsIDI0NSwgNDEsIDI0MiwgNjcsIDIyMSwgMTgsIDI0MiwgNjcsIDI0MSwgCisgICAgMTAwLCAyNDIsIDY3LCAyMzksIDExMywgMjQyLCA2NywgMjA2LCAyNDcsIDI0MiwgNjcsIDI1MCwgNTYsIDI0MiwgNjcsIAorICAgIDIyMiwgNCwgMjQyLCA2NywgMjIxLCAxOCwgMjI0LCA0NCwgMjIxLCAxODYsIDIyMCwgMTIxLCAyNDgsIDQxLCAyNDIsIDE0OCwgCisgICAgMjQyLCAxNTAsIDI0MywgMTI0LCAyMjQsIDQ0LCAyMjYsIDEyMywgMjExLCAxMDcsIDU5LCAxMjAsIDIyMCwgMjAxLCAyNTAsIAorICAgIDE3NCwgMjMzLCA1MywgNTksIDEzMCwgMjIwLCAyMDEsIDI1MCwgMTc0LCAyMzMsIDUzLCA1OSwgNDcsIDIyMCwgMjAxLCAKKyAgICAyNTAsIDE3NCwgMjMzLCA1MywgNTksIDQ4LCAyMjAsIDIwMSwgMjUwLCAxNzQsIDIzMywgNTMsIDI0MSwgMjA3LCAyMzksIAorICAgIDEwOCwgNTMsIDIwNywgNjIsIDIzOSwgMTA4LCA1MywgMjIyLCAxODYsIDIzOSwgMTA4LCA1MywgMjExLCAyMjksIDEyMCwgCisgICAgNTMsIDIxMSwgMjI5LCAxMzAsIDUzLCAyNDcsIDIxMiwgMjM5LCAxMDMsIDUzLCAyMjIsIDE0MiwgMjM5LCAxMDMsIDUzLCAKKyAgICAyNDcsIDUyLCAyMDYsIDI0MywgMjM5LCA4NiwgMjQyLCAxNDksIDIyNSwgMTA3LCAyMTMsIDksIDIzMiwgMTgxLCAyNDMsIAorICAgIDI1MSwgMjMxLCAxMTAsIDI0OSwgMjI5LCAyMDYsIDI0MywgMjQ3LCAxODUsIDIyMCwgNTgsIDIzOSwgMTA2LCAyMjAsIDE2NywgCisgICAgMjI3LCAyMTEsIDIxNSwgMTU1LCAyNTEsIDE5NiwgMjE1LCAxNTUsIDIzOCwgMjUxLCAyMTUsIDE1NSwgMjA2LCAyNDMsIAorICAgIDIxNywgMTQ4LCAyMDYsIDI0MywgMjQ5LCAxNjUsIDI0MSwgMTQ1LCAyNDksIDU5LCAyMzMsIDY5LCAyMTUsIDU1LCAyNDksIAorICAgIDU4LCAyMzMsIDY5LCAyMTUsIDU1LCAyNDksIDEzOSwgMjQwLCA0MCwgMjI3LCAyMjEsIDIwNiwgMjQ0LCAyNDIsIDQ4LCAKKyAgICAyMjcsIDIyMiwgMjMsIDIwNiwgMjQ1LCAyMzgsIDE0MSwgMjM5LCAxMDIsIDExOCwgMjI3LCA4NCwgMjM4LCAxNDEsIDIzOSwgCisgICAgMTAyLCAxMTgsIDIwNiwgMjQyLCAyMzgsIDE0MSwgMjM5LCAxMDIsIDIyMCwgMTkzLCAyMjIsIDE5OSwgMjA2LCAyNDUsIDIsIAorICAgIDI0OSwgNzYsIDI0MywgMTIyLCAyNDksIDExNywgMiwgMjA5LCAzMCwgMjIxLCAxMTUsIDIsIDI0OSwgMTkyLCAyMzksIDEyOSwgCisgICAgMjI3LCAyMjIsIDIsIDIzOSwgMjEwLCAyMjEsIDU0LCAyMjcsIDIwNywgMjI3LCAyMjIsIDIsIDIxMCwgMTQ4LCAyMjIsIAorICAgIDE3OCwgMjI3LCAyMjEsIDIyMiwgMTc4LCAyMDYsIDI0NCwgMjUwLCAxNzgsIDI0NywgMTIzLCAyMDYsIDIyOCwgMjIwLCAKKyAgICAxMjYsIDIzMiwgMTg5LCAyMjIsIDE5NSwgMjMyLCAxODksIDI0MCwgMTQsIDI0MCwgNjksIDI1MCwgMTc5LCAyNTIsIDExMiwgCisgICAgMjQyLCAxNTQsIDI1MiwgMTYyLCAyNTIsIDE2MywgMjI2LCAxNTQsIDIzMywgNzQsIDIxNCwgMjQwLCAyMzMsIDQzLCAyNDUsIAorICAgIDIwMywgMjIxLCAxMTQsIDIzOSwgMjA0LCAyNDYsIDEwMSwgMjI5LCAxOTEsIDIyNSwgMjE3LCAyMjAsIDE5MiwgMjQyLCA2OCwgCisgICAgMjI3LCAxNzMsIDIzOSwgMTI4LCAyNTAsIDEyNywgMjIwLCAxOTUsIDIxMywgMjksIDIyMSwgMTAsIDIzMSwgOTIsIDgzLCAKKyAgICAyMjksIDk4LCAyMzAsIDUsIDIxOCwgMTQ4LCAyNDAsIDE2MCwgMjEzLCAyNTMsIDIzMSwgOTEsIDI0OSwgMTQ4LCAyNDcsIAorICAgIDc4LCAyLCAyMzksIDYwLCAyMDcsIDQ3LCAyNTAsIDU0LCAyMzksIDYwLCAyNDksIDExMSwgMjM5LCA2MCwgMTE4LCAyMzksIAorICAgIDU4LCAyMTQsIDE0NSwgMjM5LCA2MCwgMjM5LCAyMjAsIDIzOSwgNjAsIDIzOSwgNjEsIDIsIDQ1LCAyNDksIDE4NywgMjM5LCAKKyAgICA2MCwgMjM5LCAyMjcsIDIzOSwgNjAsIDIwNiwgNDUsIDIzOSwgNjAsIDIyMCwgNTksIDIzOSwgNjAsIDIzOSwgNjEsIDIsIAorICAgIDIxOCwgMjA1LCAyMTgsIDIxOCwgMjM5LCA1OCwgMjM5LCA2MSwgMjQ2LCAwLCAyNDUsIDE1NywgMjE1LCAyMzQsIDIsIDMyLCAKKyAgICA2NywgMjMzLCAyNSwgMjQzLCA2MywgMTQ3LCAyNDksIDg4LCAyNTIsIDExMSwgOTMsIDI0OSwgMTc0LCAyMTQsIDIzMiwgOTMsIAorICAgIDI0NywgMTY0LCA5MywgMjE0LCAxMjIsIDIxMywgMTA3LCA5MywgMjQzLCAyNDQsIDI0NiwgNzksIDkzLCAyMjEsIDExLCA3MywgCisgICAgMjIwLCAxODcsIDI0MSwgMTgyLCAyNDksIDI0MSwgMjQ1LCA3MSwgOTMsIDIxNCwgMTM3LCAyNTAsIDE0OCwgMjExLCAyNDQsIAorICAgIDI1MCwgMTQ4LCA1OSwgMjQxLCAxNzIsIDIzOCwgMzAsIDIyMCwgMTk5LCA5MywgMjI2LCAxNjcsIDI1MCwgMTYzLCAyNDcsIAorICAgIDI1LCAyNDIsIDE2OSwgNzcsIDI0NSwgMzUsIDUzLCAyNDcsIDY4LCAyNDgsIDIwMywgMjUwLCAxMzIsIDIsIDIwNiwgNDMsIAorICAgIDUzLCAyNTAsIDEzMiwgMiwgMjQ1LCAzNSwgNTMsIDI1MCwgMTMyLCAyLCAyNDIsIDE4NCwgNTMsIDI1MCwgMTMyLCAyLCAKKyAgICAyMjAsIDE2NSwgNTMsIDIyNiwgMTY3LCAyLCAyMDcsIDQsIDI0OCwgOTAsIDIsIDE2NywgMjExLCA1NywgMjMsIDIwNiwgNDMsIAorICAgIDUzLCAyMTcsIDgzLCAyMjEsIDExMywgMjQ3LCAxNDIsIDI0OSwgMTE1LCAyMjYsIDIwNywgMjQxLCAxNzcsIDI0NSwgOTIsIAorICAgIDIyMiwgMTI2LCAyNDUsIDk3LCAyNDMsIDIwOCwgMjQxLCAyMzYsIDI0MSwgMTU4LCAyMjIsIDE0MiwgMjQxLCAyMzYsIDI0MSwgCisgICAgMTU4LCAyMjIsIDM4LCAyLCAyNDcsIDI3LCAyMjIsIDM4LCAyNDIsIDYwLCAyMDksIDIwNiwgMjQ4LCAyMzcsIDIxMiwgMTI3LCAKKyAgICAyNDgsIDIzNywgMTkxLCAyMzMsIDUzLCAyNDgsIDkwLCAyLCAxNjcsIDIxMSwgNTYsIDI0OCwgOTAsIDIsIDE3MywgMjExLCAKKyAgICA1NiwgMjUwLCAxMjksIDI0OCwgODksIDI0NywgMTk4LCAyMjAsIDU0LCAyMTgsIDk1LCAyMjAsIDU0LCAyMjEsIDIzNCwgCisgICAgMjEzLCAyNDMsIDIxOCwgNDAsIDIxMSwgNDgsIDIxOCwgNDAsIDI0OSwgMTcwLCAyMTIsIDIwNSwgMjMwLCA1MSwgMjI0LCAKKyAgICAzNSwgMjI0LCAzNiwgMiwgMjQ1LCAyNTUsIDI0NywgNzcsIDI0NywgMTkyLCAyNDksIDE3MSwgMjIyLCAxNDIsIDI0OSwgCisgICAgMTcxLCAyMzksIDIyNywgMjQ5LCAxNzEsIDI0OSwgMTg3LCAyNDksIDE3MSwgMjIyLCAxMjEsIDI0OSwgMTcxLCAyNDksIAorICAgIDE2OCwgMjI1LCAyMTEsIDI1MCwgMTY2LCAyMTcsIDkxLCAyMjcsIDg1LCAyMTIsIDEwOCwgMjE5LCA0NSwgMjIyLCAzNiwgCisgICAgMjQyLCAzMywgMjI4LCAxNSwgMjE3LCAxMzAsIDI1MiwgODgsIDIyMCwgNzYsIDI1MywgMiwgMjI5LCAxMDAsIDI0OCwgNzYsIAorICAgIDIyNywgOTcsIDIyMiwgOTIsIDIxMSwgNjQsIDIzMywgNjUsIDIxMSwgNjQsIDIyMiwgNDQsIDI0MywgMTc3LCA5MywgMjMzLCAKKyAgICA2MiwgMjQzLCA4LCAyNDMsIDksIDIsIDE3MywgNTEsIDUyLCAyNDcsIDE5MiwgMjI3LCAyMzYsIDIsIDIyOSwgOTEsIDI0MSwgCisgICAgMTk2LCAyNDcsIDE5MiwgMjI3LCAyMzYsIDIsIDIxOSwgODEsIDI0MSwgMTk2LCAyMjIsIDE0MiwgMjI3LCAyMzYsIDIsIAorICAgIDIxOSwgODEsIDI0MSwgMTk2LCAyMjIsIDE0MiwgMjI3LCAyMzYsIDIsIDIyOSwgOTEsIDI0MSwgMTk2LCAyMjAsIDE3MywgCisgICAgMjIwLCAxNzQsIDIzOCwgNjksIDIyNSwgODQsIDIyNiwgMTc5LCAyMjEsIDYyLCAyMjYsIDE3OSwgMjIxLCA2MywgMiwgODYsIAorICAgIDUxLCAyNTEsIDIwMCwgMjMwLCA0NiwgMjA4LCAyMTMsIDIyNiwgMTc4LCAyMjYsIDE3OSwgMjIxLCA2MywgMjIyLCAyMDIsIAorICAgIDIyNCwgNjgsIDIyNiwgMTc5LCAyMjEsIDYxLCAyNTIsIDg5LCAyLCAyNTAsIDExOCwgMjQ4LCAyMzAsIDI0OCwgMjMxLCAyLCAKKyAgICAyNDEsIDE4OSwgMjA4LCAyMTAsIDI0OCwgMjMwLCAyMTIsIDEwNSwgMjE5LCA5NywgMjA4LCAyMDksIDI0MSwgMjMxLCAyMjAsIAorICAgIDEwOCwgMjIwLCAxNzksIDIxNCwgNiwgMjEwLCAxMTAsIDg2LCAyNTEsIDI0MSwgMjQ3LCAxOTQsIDg2LCAyMywgOTIsIDIyMiwgCisgICAgMTQyLCAyNDcsIDIzNCwgMjUxLCAyNDEsIDI0NywgMTk0LCA4NiwgMjMsIDkyLCAyMjIsIDE0MiwgMjQ3LCAyMzQsIDI1MSwgCisgICAgMjQyLCAyLCAzOSwgMTE5LCAyMjIsIDgyLCAyNDcsIDE5NCwgMTczLCAyMywgMTY3LCAyMjIsIDE0MiwgMjQ3LCAyMzQsIAorICAgIDI1MSwgMjQxLCAyNTIsIDg3LCAxNzMsIDIzLCAxNjcsIDIyMiwgMTQyLCAyNDcsIDIzNCwgMjUxLCAyNDEsIDExNCwgMjQ5LCAKKyAgICAxMTQsIDkzLCAxMjcsIDI0OSwgMTE0LCA5MywgMjE0LCAxNDIsIDIsIDI0OCwgMjIzLCA5MSwgMjE0LCAxNDEsIDIxNCwgCisgICAgMTQyLCAyLCAxMTksIDIxNCwgMTY1LCAyMDcsIDY0LCAyMTQsIDE0MiwgMiwgMTI5LCAyMTQsIDE2NSwgMjA3LCA2MywgMjUwLCAKKyAgICAxMDIsIDI0MywgNjMsIDIyMCwgMjIzLCAyMzAsIDQxLCAyMjcsIDI0OCwgMjQwLCAyOSwgMjE4LCAxNjIsIDIyNywgMjQ4LCAKKyAgICAyNDAsIDI5LCAyMjksIDE0MCwgMiwgMjMzLCAzNiwgMjIxLCAxNTAsIDI0NywgMTkyLCAyMjksIDE0MCwgMiwgMjMxLCAxNzQsIAorICAgIDIzMSwgMTc0LCAyMjksIDEzOSwgMjIyLCAxNDIsIDIyOSwgMTM5LCAyNTAsIDI4LCAyNTAsIDI5LCAyLCAyNDgsIDIyMywgCisgICAgOTEsIDI0OSwgMTY5LCAyMjksIDE5NiwgOTMsIDIxOSwgOTgsIDI0OSwgNTQsIDI1MCwgMTc3LCAyLCA5MiwgNTEsIDUyLCAKKyAgICAyNDMsIDM0LCAyLCA5MiwgNTEsIDUyLCAyMjIsIDE2NiwgMiwgMjQyLCAxNjgsIDE0MSwgMiwgNDcsIDQ4LCA1MSwgNTIsIAorICAgIDIxNCwgMTczLCAyLCA4NiwgNTEsIDUyLCAyMTEsIDEwMiwgMiwgMTY3LCA1MSwgNTIsIDIyNCwgNjgsIDExOSwgMjA5LCAKKyAgICAyMjcsIDI0MywgODYsIDkzLCAyMzEsIDE3MSwgMjEyLCA5OCwgMjMzLCAzMCwgMTYsIDMzLCA3LCA2LCAyMzAsIDQsIDIzMywgCisgICAgMzAsIDE2LCAzMywgNywgNSwgMjMwLCA0LCAyMzMsIDMwLCAxNiwgMzMsIDIyMywgMTc4LCAyMzMsIDMwLCAxNiwgMzMsIAorICAgIDIxMywgNDIsIDIzMywgMzAsIDE2LCAzMywgNywgMjMwLCA0LCAyNDEsIDIxOSwgMjQzLCA2MywgMjExLCA5NywgMjA2LCAKKyAgICAyMjAsIDIzOSwgMTE0LCAyMjMsIDE2MSwgMjMsIDI0OSwgMTc2LCAyMzgsIDE0NywgMjIwLCAyNDgsIDIyNiwgMjUwLCAyMTIsIAorICAgIDEwNiwgMjQ3LCA0MiwgMjUwLCAxNDksIDIxNSwgMTAsIDIyMCwgMjAzLCAyMTQsIDI3LCAyLCAyMjYsIDI0NywgMjQ1LCAyMywgCisgICAgMjMyLCAxODksIDE2LCAzMywgMjUwLCA0MSwgMjExLCA0NiwgMjQzLCA0NywgNjAsIDQ5LCAyNDksIDU0LCA1OSwgNDksIAorICAgIDI0OSwgNTQsIDIzMCwgODYsIDIxOSwgMzIsIDI0NywgMjMzLCAyMzAsIDg2LCAyNDksIDE4NywgMjQ3LCAyMzMsIDIzMCwgCisgICAgODYsIDIyMiwgMTIxLCAyNDUsIDE1NiwgMjMwLCA4NiwgMjQ5LCAxODcsIDI0NSwgMTU2LCA1LCAyMjIsIDEyMSwgMjQ1LCAKKyAgICAxNTYsIDUsIDI0OSwgMTg3LCAyNDUsIDE1NiwgMjA5LCAyMDUsIDIxOSwgMzIsIDIxMSwgNTEsIDI0NCwgNywgMjE5LCAzMiwgCisgICAgMjExLCA1MSwgMjA5LCAyMDUsIDUsIDIxOSwgMzIsIDIxMSwgNTEsIDI0NCwgNywgNSwgMjE5LCAzMiwgMjExLCA1MSwgMjI5LCAKKyAgICA5MiwgNDgsIDIxNSwgMjQ2LCA1OSwgMjQ3LCAyMzMsIDIwOSwgMjAzLCA0OCwgMjE1LCAyNDYsIDU5LCAyNDcsIDIzMywgMzksIAorICAgIDI0NywgNjAsIDIyMCwgMTkwLCAyNDcsIDYwLCAyMjAsIDE5MSwgMiwgMjM5LCAxMjAsIDU1LCAyNDcsIDYwLCAyMjAsIDE5MCwgCisgICAgMjI0LCAzOSwgNDcsIDIxNiwgNTUsIDIsIDEyOSwgMjQ1LCAyMSwgMjI0LCAzOSwgNDgsIDIxNiwgNTUsIDIsIDEyOSwgMjQ1LCAKKyAgICAyMSwgMTYsIDMzLCAyMjcsIDE4NiwgMjQ4LCA5NiwgNTksIDcsIDI0NywgNTksIDc3LCA3LCAyNDcsIDU5LCAyNDgsIDEzMywgCisgICAgMjQ3LCA1OSwgMjIyLCAxNzQsIDkzLCAyNDQsIDEwLCA3MywgMjIxLCAxNzIsIDI0NywgMTk2LCAyNDIsIDY4LCAxMTksIAorICAgIDIyMiwgMjE2LCAyNDcsIDE5NiwgMjQyLCA2OCwgMTE4LCAyMjIsIDIxNiwgMjQ3LCAxOTYsIDI0MiwgNjgsIDEyOSwgMjIyLCAKKyAgICAyMTYsIDI0NywgMTk2LCAyNDIsIDY4LCAyNDEsIDEyNSwgMjIyLCAyMTYsIDI0NywgMTk2LCAyNDIsIDY4LCAyNDEsIDIwNCwgCisgICAgMjIyLCAyMTYsIDI0NywgMTk2LCAyNDIsIDY4LCAyMTUsIDEwLCAyMjIsIDIxNiwgMjQ3LCAxOTYsIDI0MiwgNjgsIDIxNiwgCisgICAgMjMsIDIyMiwgMjE2LCAyNDcsIDE5NiwgMjQyLCA2OCwgMjQzLCA4OCwgMjIyLCAyMTYsIDI0NywgMTk2LCAyNDIsIDY4LCAKKyAgICAyMjQsIDE5NSwgMjIyLCAyMTYsIDI0NywgMTk2LCAyNDIsIDY4LCAyMTIsIDk5LCAyMjIsIDIxNiwgMjQ3LCAxOTYsIDI0MiwgCisgICAgNjgsIDI0MywgNTksIDIyMiwgMjE2LCAyNDcsIDE5NiwgMjQyLCA2OCwgMjEwLCAxMjcsIDIyMiwgMjE2LCAyNDcsIDE5NiwgCisgICAgMjQyLCA2OCwgMjIyLCAxNjEsIDI0NywgMTk2LCAyNDIsIDY4LCAyMTAsIDEwNiwgMjQ3LCAxOTYsIDI0MiwgNjgsIDIxMSwgCisgICAgMjM0LCAyNDcsIDE5NiwgMjQyLCA2OCwgMjQxLCAxMjEsIDI0NywgMTk2LCAyNDIsIDY4LCAyNDEsIDIwMiwgMjQ3LCAxOTYsIAorICAgIDI0MiwgNjgsIDIxNSwgNiwgMjQ3LCAxOTYsIDI0MiwgNjgsIDIxNiwgMjIsIDI0NywgMTk2LCAyNDIsIDY4LCAyNDMsIDg3LCAKKyAgICAyNDcsIDE5NiwgMjQyLCA2OCwgMjI0LCAxOTQsIDI0NywgMTk2LCAyNDIsIDY4LCAyMTIsIDk3LCAyNDcsIDE5NiwgMjQyLCAKKyAgICA2OCwgMjQzLCA1NywgMjQ3LCAxOTYsIDI0MiwgNjgsIDIxMCwgMTI1LCA0OCwgMjE0LCAxNDEsIDQ4LCAyMTQsIDE0MiwgMiwgCisgICAgMTE5LCAyMTQsIDE2NSwgMjA3LCA2NCwgNDgsIDIxNCwgMTQyLCAyLCAxMjksIDIxNCwgMTY1LCAyMDcsIDYzLCAyNDksIDgzLCAKKyAgICAyNDksIDg0LCAyLCAyMTQsIDE2NSwgMjA3LCA2MywgMjE4LCAxNDcsIDI1MCwgMjgsIDI0OSwgMTcxLCAyNDgsIDIyMSwgCisgICAgMjI3LCAyMDgsIDI0NywgMTk1LCA2MCwgMjE0LCAyNDEsIDIzLCAyNDcsIDU4LCAyMjQsIDY4LCAyMjAsIDI1NCwgMjM4LCAKKyAgICAxNDAsIDIyNywgMjIyLCAyMzMsIDY5LCAyNDksIDYxLCAyMTMsIDE2OCwgMjI5LCAyNTMsIDIxNCwgMjMwLCAyMjIsIDEyMywgCisgICAgMjE0LCAxMDgsIDI0NiwgODQsIDIxMywgMTUwLCAyMTQsIDEzMCwgMjE0LCAxMzEsIDIwNywgNDgsIDIzMiwgMTA1LCA0NywgCisgICAgMjM5LCAxMDgsIDIxMiwgMTA4LCAyMTksIDQ1LCAyMTIsIDEwOCwgMjE5LCA0NiwgMiwgMjIyLCAzNywgNDgsIDIzOSwgMTA4LCAKKyAgICAyMTIsIDEwOCwgMjE5LCA0NSwgNTksIDIxMSwgODksIDIxMiwgMTA3LCA2MCwgMjExLCA4OSwgMjEyLCAxMDcsIDIxMiwgCisgICAgMTA4LCAyMjIsIDE2NiwgMjExLCAxMDIsIDczLCAyMjYsIDE3NSwgMjQ3LCAyMTYsIDIyNiwgMTc5LCAyMjEsIDYyLCAyNTAsIAorICAgIDE3NywgNzMsIDI0MywgOCwgMjE0LCAzMiwgMjQzLCA4LCAyNDMsIDksIDIsIDIyOSwgMjIwLCAyNDEsIDE2NSwgMjQzLCA4LCAKKyAgICAyMjEsIDE1MSwgMTMxLCAyMTQsIDMyLCAyNDMsIDgsIDIyOSwgMTk1LCAyMjEsIDIzMywgNjAsIDIyMCwgNTQsIDIyOSwgOTIsIAorICAgIDQ3LCAyMjEsIDE0OSwgMjI5LCA5MiwgNDcsIDI1MCwgMTQ0LCAyMjEsIDE1MCwgMjI5LCA5MiwgNDcsIDI0MSwgMTI3LCAKKyAgICAyMjEsIDE1MCwgMjI5LCA5MiwgNDcsIDIyMiwgMzEsIDIyOSwgOTIsIDQ3LCAyNDcsIDcxLCA0NywgMjA2LCAyMTksIDIzOSwgCisgICAgMTA3LCAyMDEsIDIyMiwgMTg2LCAyMzksIDEwOCwgNTMsIDIxOSwgODEsIDIzOSwgMTA4LCAyLCAyNDEsIDIyNCwgMjE0LCAKKyAgICAxMjEsIDIxOCwgMjI0LCAyMTksIDgxLCAyMzksIDEwOCwgMiwgMjQxLCAyMjQsIDIxNCwgMTIxLCAyMTgsIDIyNCwgMjExLCAKKyAgICAyMjksIDEyMCwgNTMsIDIxOCwgMjI0LCAyMTEsIDIyOSwgMTMwLCA1MywgMjE4LCAyMjQsIDIwOCwgMjEyLCAyMzksIDEwNywgCisgICAgMjE4LCAyMjQsIDIzOSwgMTA4LCAyLCAyMjYsIDI0NywgMjQxLCAyMjgsIDI0MiwgMTU4LCAyMTksIDgxLCAyMzksIDEwOCwgCisgICAgMiwgMjIxLCAyMTEsIDI1MCwgNiwgMjI2LCAyNDcsIDIzLCAyMTgsIDE0OSwgMjQxLCAyMjMsIDU5LCAxMzAsIDIyMCwgMjAxLCAKKyAgICA0NywgMjM5LCAxMDgsIDIzMywgNTMsIDIxNSwgNzMsIDU5LCA0NywgMjIwLCAyMDEsIDIzMywgNTMsIDIxNSwgNzMsIDU5LCAKKyAgICA0OCwgMjIwLCAyMDEsIDIzMywgNTMsIDIxNSwgNzMsIDYwLCA0NywgMjIwLCAyMDEsIDIzMywgNTMsIDIxNSwgNzMsIDYwLCAKKyAgICA0OCwgMjIwLCAyMDEsIDIzMywgNTMsIDYwLCA0NywgMjIwLCAyMDEsIDI1MCwgMTc0LCAyMzMsIDUzLCA2MCwgNDgsIDIyMCwgCisgICAgMjAxLCAyNTAsIDE3NCwgMjMzLCA1MywgMjE1LCA3MywgNTksIDEyMCwgMjIwLCAyMDEsIDIzMywgNTMsIDIxNSwgNzMsIDU5LCAKKyAgICAxMzAsIDIyMCwgMjAxLCAyMzMsIDUzLCAyMTUsIDczLCA2MCwgMTIwLCAyMjAsIDIwMSwgMjMzLCA1MywgMjE1LCA3MywgNjAsIAorICAgIDEzMCwgMjIwLCAyMDEsIDIzMywgNTMsIDYwLCAxMjAsIDIyMCwgMjAxLCAyNTAsIDE3NCwgMjMzLCA1MywgNjAsIDEzMCwgCisgICAgMjIwLCAyMDEsIDI1MCwgMTc0LCAyMzMsIDUzLCAyNDUsIDIwMiwgMjQ3LCAxNDIsIDIzMSwgMTczLCAyMywgMjI2LCAxMjUsIAorICAgIDEyOSwgMjI1LCA5MCwgMjQ3LCAxNDEsIDIyMCwgMTIyLCAyMjAsIDIwOSwgMjQ4LCAyMzksIDYwLCAyMzksIDk0LCAyMTUsIAorICAgIDIwNCwgMjQxLCAxNzcsIDI0NSwgOTIsIDU5LCAyMzksIDk0LCAyMTUsIDIwNCwgMjQxLCAxNzcsIDI0NSwgOTIsIDIxNCwgCisgICAgMTg3LCAyMTUsIDIwNCwgMjQxLCAxNzcsIDI0NSwgOTIsIDIxMiwgMTY1LCAyNDgsIDE4OCwgMjA3LCAwLCAyMzEsIDE3MiwgCisgICAgMTE5LCAyNDksIDU1LCAyMjYsIDEyNSwgMTE4LCAyNDksIDU1LCAyMjYsIDEyNSwgMTI5LCAyNDksIDU1LCAyMjYsIDEyNSwgCisgICAgMjExLCA4MSwgNDQsIDIyMSwgMTEzLCAyNDcsIDE0MiwgMjM5LCA5NCwgMjQ1LCA5MiwgMjE3LCA5MywgMjIwLCAxMjMsIAorICAgIDIzNywgMTc1LCAyNDIsIDMzLCAyMzcsIDE3NSwgMjIyLCAxMjYsIDI0NSwgOTgsIDIzNywgMTc1LCAyNDUsIDQ1LCAyLCAKKyAgICAyMTIsIDYwLCAyNDUsIDQ1LCAyLCAyMTIsIDYxLCAyMywgMjIxLCA0NywgMjQ1LCA0NSwgMiwgMjIxLCA0NywgMjQxLCAxMTMsIAorICAgIDIsIDIyMSwgNDcsIDI0MSwgMTEzLCAyLCAyMTEsIDE3OCwgMjQxLCAxMTMsIDIsIDI1MiwgMTIzLCAyMDYsIDE5NSwgNjAsIAorICAgIDI0MSwgMTU4LCAyNDEsIDE1OCwgMjIyLCAxNDIsIDI0MSwgMTU4LCAxOTEsIDIzMywgNTQsIDI0NSwgNzgsIDE5MSwgMjQxLCAKKyAgICAyMzYsIDI0OSwgMTQwLCAyNDEsIDIzNiwgMjQ4LCAyNTIsIDI0MywgNDMsIDIyNCwgMzcsIDI0MywgNDMsIDIyNCwgMzgsIAorICAgIDIyMiwgMzcsIDI0MywgNDMsIDIyNCwgMzgsIDIyMiwgNDIsIDIyNCwgMzcsIDIyNCwgMzgsIDIyMiwgMzcsIDIyNCwgMzgsIAorICAgIDIyMiwgNDIsIDI0MywgNDMsIDI0NSwgNDQsIDI0MywgNDMsIDIyMiwgMzcsIDI0MywgNDMsIDIyMiwgMzUsIDI0NSwgNDQsIAorICAgIDIyMiwgMzcsIDIyMiwgMzUsIDIwNywgNzQsIDIxNCwgMTI4LCAyMjQsIDM4LCAyMjIsIDQyLCAyMTQsIDEyOCwgMjQ4LCAKKyAgICAyMzgsIDIyMiwgNDIsIDI0NSwgMjAyLCAyMDcsIDgsIDIyNiwgMjA0LCAyMjcsIDE2MywgMjIyLCA4NCwgMjQ3LCAxOTQsIAorICAgIDQ4LCAyMywgNDcsIDIxNiwgNTUsIDI1MSwgMjQxLCAyNDgsIDIyMywgMjA2LCAxOTUsIDIzMywgNjAsIDI0MSwgMTUyLCAKKyAgICAyMTQsIDI1MCwgOTMsIDI0NSwgMjU0LCAyNDEsIDE1MiwgMjE0LCAyNTAsIDkzLCAyNDcsIDE0MywgNDQsIDIzMSwgMTc0LCAKKyAgICAyMTgsIDExMiwgMjI1LCA4NCwgMjIyLCAzOCwgMiwgMzksIDIxMiwgNjAsIDIxMywgMjU1LCAyNDgsIDg5LCAyNDYsIDEyOSwgCisgICAgMjMxLCA1OCwgMjI5LCAxOTIsIDIxNCwgMTQwLCAyMzksIDY5LCAyMzMsIDY5LCAyMTUsIDU1LCAxMjksIDIxOSwgNTYsIDUyLCAKKyAgICAxMjksIDIxOSwgNTYsIDU1LCAxMjksIDIxOSwgNTYsIDIzMCwgNDYsIDEyOSwgMjE5LCA1NiwgMjE4LCAxNjcsIDQ3LCAyMTQsIAorICAgIDEzNywgMjQ5LCAxMDAsIDQ4LCAyMTQsIDEzNywgMjQ5LCAxMDAsIDExOCwgMjE0LCAxMzcsIDI0OSwgOTksIDEyOSwgMjE0LCAKKyAgICAxMzcsIDI0OSwgOTksIDQ3LCAyMTEsIDI0NCwgMjQ5LCAxMDAsIDQ4LCAyMTEsIDI0NCwgMjQ5LCAxMDAsIDQ3LCAyNTIsIAorICAgIDExMSwgMjQ5LCAxMDAsIDQ4LCAyNTIsIDExMSwgMjQ5LCAxMDAsIDIyNiwgMTQ5LCAyNDksIDEwMCwgMjI5LCAyMjEsIDIyNiwgCisgICAgMTQ5LCAyNDksIDEwMCwgMjI5LCAyMjEsIDIyNiwgMTQ4LCAyNTAsIDE0NiwgOTYsIDIsIDI1MCwgMTQ1LCAyNTAsIDE0NiwgCisgICAgMTIxLCAyMDYsIDE5NSwgMjUwLCAxNDYsIDk2LCAyLCAxMjEsIDIwNiwgMTk1LCAyNTAsIDE0NiwgMjQsIDEyMSwgMjA2LCAKKyAgICAxOTUsIDI1MCwgMTQ2LCA5NiwgMiwgMjQsIDEyMSwgMjA2LCAxOTUsIDE0NywgMjQ4LCA4MSwgODMsIDI1MCwgMTQ2LCA5NiwgCisgICAgMiwgMjQsIDI0OCwgODAsIDIwNiwgMjI3LCAyMjcsIDIwNSwgMjI2LCAxMzAsIDI0MSwgODMsIDIxMSwgMTI0LCAyMTEsIDg2LCAKKyAgICAyMTQsIDE4LCA3MywgMjI5LCAyMzMsIDIxNSwgNTYsIDczLCAyMzIsIDE5MCwgMjI2LCAxMTksIDIzOSwgMjI0LCAyNDIsIAorICAgIDY3LCAyMzksIDIyNCwgMjQyLCA2OCwgMiwgMjE0LCAyMTAsIDI0MiwgMTQ4LCAyNDIsIDY4LCAyLCAyMTIsIDEyMywgNzMsIAorICAgIDIzMiwgMTA3LCAyMTQsIDIxMCwgMjQyLCA2OCwgMiwgMjIyLCAxNDIsIDIyNiwgMTIzLCAyMTQsIDIxMCwgMjQyLCA2OCwgMiwgCisgICAgMjIyLCAxNDIsIDIyNiwgMTI0LCAyMywgMjE0LCAyMTAsIDI0MiwgMTQ4LCAyMTQsIDIxMCwgMjQyLCA2OCwgMiwgMjIyLCAKKyAgICAxNDIsIDIyNiwgMTI0LCAyMywgMjQ3LCAxNjYsIDIxMywgMTA2LCAyMTQsIDIxMCwgMjQyLCA2OCwgMiwgMjIyLCAxNDIsIAorICAgIDIyNiwgMTI0LCAyMywgMjExLCAxOTYsIDI0MiwgMTQ4LCAyMTQsIDIxMCwgMjQyLCA2OCwgMiwgMjM5LCAxMTksIDIxNCwgCisgICAgMjEwLCAyNDIsIDY4LCAyLCAyMzgsIDY4LCAyMDcsIDIsIDI0MiwgNjcsIDIxNCwgMjEwLCAyNDIsIDY4LCAyLCAyMTQsIAorICAgIDIxMCwgMjQyLCAxNDgsIDI0MiwgNjgsIDIxNywgMTIyLCAyNDUsIDIzNSwgMjQxLCAxNTAsIDIxOSwgOCwgMjQyLCA2NywgCisgICAgMjE0LCAyMTAsIDI0MiwgNjgsIDIsIDIzOSwgNTksIDI0MiwgMTQ4LCAyMTQsIDIxMCwgMjQyLCA2OCwgMiwgMjEzLCAxNTAsIAorICAgIDIxNCwgMjA5LCAyNDIsIDY3LCAyMjUsIDg4LCAyNDIsIDY3LCAyNDIsIDE2MCwgMjQyLCA2NywgMjA5LCAyMzIsIDI0MiwgCisgICAgNjcsIDI0MiwgNjgsIDIsIDI0NywgMTY2LCAyMTMsIDEwNiwgMjIxLCAxNDIsIDI0MiwgNjcsIDI0NywgMTM0LCAyNDIsIDY3LCAKKyAgICAyNDcsIDEzNSwgMjQyLCA2NywgMjMxLCA5MCwgMjQyLCA2NywgMjQyLCA2OCwgMjExLCAyMzEsIDMyLCAyMzEsIDkxLCAyMzEsIAorICAgIDkwLCAyNDIsIDY4LCAyLCAyMTQsIDIxMCwgMjQyLCAxNDgsIDIzMSwgOTAsIDI0MiwgNjgsIDIsIDI0NywgMTkyLCAyNDIsIAorICAgIDE0OCwgMjQyLCA2OCwgMiwgMjEzLCAyMDksIDIxMSwgMTA3LCAyNDIsIDY4LCAyLCAyMTMsIDIwOSwgMjExLCAxMDgsIDIzLCAKKyAgICAyMDcsIDIsIDI0MiwgMTUwLCAyNDIsIDY4LCAyLCAyMTMsIDIwOSwgMjExLCAxMDgsIDIzLCAyMTEsIDE5NiwgMjQyLCAxNDgsIAorICAgIDI0NSwgOTksIDI0MiwgNjcsIDIwNiwgMjI2LCAyNDIsIDY3LCAyNTIsIDEwNywgMjQyLCA2NywgMjIwLCAxNjQsIDI0MiwgCisgICAgNjcsIDI0NywgNDQsIDI0MiwgNjcsIDIyMSwgMTE3LCAyNDIsIDY3LCAyNDIsIDY4LCAyLCAyMjksIDExNCwgNzMsIDIxMSwgCisgICAgMjksIDI0NSwgOTksIDI0OSwgNTcsIDIxOSwgOCwgMjQyLCA2NywgMjQxLCA5NCwgMjQyLCA2OCwgMiwgMjIyLCAxNDIsIAorICAgIDIyNiwgMTIzLCAyNTIsIDEwNSwgMjQyLCA2NywgMjQyLCAyNiwgMjQyLCA2NywgMjA3LCA0OSwgMjQyLCA2NywgMjE0LCAKKyAgICAyMzEsIDI0MiwgNjcsIDIxMSwgMTYxLCAyNDIsIDY3LCAyMzksIDIyNSwgMjQyLCA2NywgMjI5LCAxMDEsIDI0NywgNDQsIAorICAgIDI0MiwgNjcsIDI0MiwgNjgsIDIsIDIyMiwgMTQyLCAyMjYsIDEyMywgMjM4LCAyMCwgMjQyLCA2NywgMjQyLCA2OCwgMiwgCisgICAgMjIyLCAxNDIsIDIyNiwgMTI0LCAyMywgMjQ3LCAxNjYsIDIxMywgMTA2LCAyNDIsIDY4LCAyMTcsIDk1LCAyMzMsIDY5LCAKKyAgICAyNDIsIDI3LCAyNTEsIDIwNiwgMjQyLCA2NywgMjQxLCAxNjksIDI0MiwgNjcsIDIxNCwgMjMyLCAyNDIsIDY3LCAyNDUsIAorICAgIDcxLCAyNDIsIDY3LCAyNDIsIDY4LCAyMDYsIDI1MywgMjI2LCAxMjMsIDI0MiwgNjgsIDIsIDIyNywgMTExLCAyMjcsIDE3NSwgCisgICAgMjM5LCAyMjQsIDI0OCwgMTg0LCAyNDIsIDY4LCAyLCAyMTQsIDIxMCwgMjQyLCAxNDgsIDI0OCwgMTg0LCAyNDIsIDY4LCAyLCAKKyAgICAyMTIsIDEyMywgNzMsIDIzMiwgMTA3LCAyMTQsIDIxMCwgMjQ4LCAxODQsIDI0MiwgNjgsIDIsIDIyMiwgMTQyLCAyMjYsIAorICAgIDEyMywgMjE0LCAyMTAsIDI0OCwgMTg0LCAyNDIsIDY4LCAyLCAyMzksIDU5LCAyNDIsIDE0OCwgMjQ4LCAxODQsIDI0MiwgCisgICAgNjgsIDIsIDIwNiwgMjE3LCAyMTQsIDIxMSwgMjMxLCA5MCwgMjQ4LCAxODQsIDI0MiwgNjgsIDIsIDI0NywgMTkyLCAyNDIsIAorICAgIDE0OCwgMjIwLCAxNjQsIDI0OCwgMTg0LCAyNDIsIDY3LCAyNDcsIDQ0LCAyNDgsIDE4NCwgMjQyLCA2NywgMjA3LCA0OSwgCisgICAgMjQ4LCAxODQsIDI0MiwgNjcsIDIxNCwgMjI1LCAyNDEsIDk0LCAyNDIsIDY3LCAyMTQsIDIyNSwgMjE0LCAyMTAsIDI0MiwgCisgICAgNjcsIDI0MiwgNjgsIDIsIDIyNCwgNjgsIDI0MCwgNywgMjQwLCAxNDAsIDI0MiwgNjgsIDIsIDIyMiwgMTg2LCAyNDAsIAorICAgIDE0MCwgMjIxLCAxMTUsIDI0OSwgMTQ1LCAyNDUsIDI0OSwgMjE3LCA3MywgMjI2LCAxNjMsIDIzOSwgNjIsIDIyNiwgMTYzLCAKKyAgICAyMTQsIDE0MywgMjI2LCAxNjMsIDIzOSwgOTYsIDIyMSwgMTE1LCAyMTksIDgwLCAxMTksIDIzOSwgMTA3LCAyMjEsIDExNSwgCisgICAgMjE5LCA4MCwgMjQ5LCAxNTcsIDIzOSwgMTAzLCAyMzMsIDY5LCAyNDgsIDEzNSwgMjIxLCAxMTUsIDI0MSwgOTMsIDIyMSwgCisgICAgMTE1LCAyLCAyMjAsIDE2NCwgMjQyLCA2NywgMjIxLCAxMTUsIDIsIDI0MSwgMTU5LCAyMzksIDEwMiwgMTQzLCAyMDcsIDM2LCAKKyAgICAyMjAsIDIwMSwgMjMwLCA1MywgMTg4LCAyMDcsIDM2LCAyMjAsIDIwMSwgMjMwLCA1MywgMTQzLCAyNDMsIDExNywgMjIwLCAKKyAgICAyMDEsIDIzMCwgNTMsIDE4OCwgMjQzLCAxMTcsIDIyMCwgMjAxLCAyMzAsIDUzLCAyMDEsIDE0MywgMjA3LCAzNiwgMjIwLCAKKyAgICAyMDEsIDIzMCwgNTMsIDIwMSwgMTg4LCAyMDcsIDM2LCAyMjAsIDIwMSwgMjMwLCA1MywgMjAxLCAxNDMsIDI0MywgMTE3LCAKKyAgICAyMjAsIDIwMSwgMjMwLCA1MywgMjAxLCAxODgsIDI0MywgMTE3LCAyMjAsIDIwMSwgMjMwLCA1MywgMTQzLCAyMDcsIDM2LCAKKyAgICAyMjAsIDIwMSwgMjA4LCAxOTYsIDIzMCwgNTMsIDE4OCwgMjA3LCAzNiwgMjIwLCAyMDEsIDIwOCwgMTk2LCAyMzAsIDUzLCAKKyAgICAxNDMsIDI0MywgMTE3LCAyMjAsIDIwMSwgMjA4LCAxOTYsIDIzMCwgNTMsIDE4OCwgMjQzLCAxMTcsIDIyMCwgMjAxLCAyMDgsIAorICAgIDE5NiwgMjMwLCA1MywgNzcsIDE0MywgMjA3LCAzNiwgMjIwLCAyMDEsIDIwOCwgMTk2LCAyMzAsIDUzLCA3NywgMTg4LCAKKyAgICAyMDcsIDM2LCAyMjAsIDIwMSwgMjA4LCAxOTYsIDIzMCwgNTMsIDc3LCAxNDMsIDI0MywgMTE3LCAyMjAsIDIwMSwgMjA4LCAKKyAgICAxOTYsIDIzMCwgNTMsIDc3LCAxODgsIDI0MywgMTE3LCAyMjAsIDIwMSwgMjA4LCAxOTYsIDIzMCwgNTMsIDE0MywgMjA3LCAKKyAgICAzNiwgMjIwLCAyMDEsIDI0OSwgOTcsIDE4OCwgMjA3LCAzNiwgMjIwLCAyMDEsIDI0OSwgOTcsIDE0MywgMjQzLCAxMTcsIAorICAgIDIyMCwgMjAxLCAyNDksIDk3LCAxODgsIDI0MywgMTE3LCAyMjAsIDIwMSwgMjQ5LCA5NywgNzcsIDE0MywgMjA3LCAzNiwgCisgICAgMjIwLCAyMDEsIDI0OSwgOTcsIDc3LCAxODgsIDIwNywgMzYsIDIyMCwgMjAxLCAyNDksIDk3LCA3NywgMTQzLCAyNDMsIAorICAgIDExNywgMjIwLCAyMDEsIDI0OSwgOTcsIDc3LCAxODgsIDI0MywgMTE3LCAyMjAsIDIwMSwgMjQ5LCA5NywgMjM4LCAxMzksIAorICAgIDIxOSwgMTg5LCA0OSwgMjIyLCAxMTEsIDIzOCwgMTM5LCAyMTksIDE4OSwgNDksIDIyMiwgMTEyLCAyMzMsIDY5LCA2MCwgCisgICAgMjE0LCAxMDcsIDIxNCwgMTgyLCAyMTksIDE4OSwgNDksIDIyMiwgMTExLCAyMTQsIDE4MiwgMjE5LCAxODksIDQ5LCAyMjIsIAorICAgIDExMiwgMjMzLCA2OSwgNjAsIDIxNCwgMTA3LCA5MiwgMjE4LCAxMTYsIDE2NywgMjE4LCAxMTYsIDg2LCAyMTgsIDExNiwgCisgICAgMTczLCAyMTgsIDExNiwgMTIxLCAyOCwgMjQyLCAyMDQsIDIyMiwgMTExLCA3NywgMTIxLCAyOCwgMjQyLCAyMDQsIDIyMiwgCisgICAgMTExLCAyOCwgMjIyLCAxNDIsIDI0MiwgMjA0LCAyMjIsIDExMSwgNzcsIDI4LCAyMjIsIDE0MiwgMjQyLCAyMDQsIDIyMiwgCisgICAgMTExLCA3NywgMjUyLCAxMjYsIDIyMiwgMTExLCAyMTMsIDEwOSwgMjUyLCAxMjYsIDIyMiwgMTExLCAzOCwgNzcsIDUwLCAKKyAgICAyMDEsIDI0NywgMTU2LCAyMTksIDE4MCwgMTQxLCAyMjIsIDExMSwgMzgsIDc3LCA1MCwgMjQ3LCAxNTYsIDIxOSwgMTgwLCAKKyAgICAxNDEsIDIyMiwgMTExLCAzOCwgNzcsIDExNCwgNTAsIDI0NywgMTU2LCAyMTksIDE4MCwgMTQxLCAyMjIsIDExMSwgNzcsIAorICAgIDIzMywgMTEsIDIyMiwgMTExLCAzOCwgMjMzLCAxMSwgMjIyLCAxMTEsIDc3LCAzOCwgMjMzLCAxMSwgMjIyLCAxMTEsIDIwOCwgCisgICAgMjI2LCA3NywgMjE0LCAxODAsIDIwOCwgMjI2LCA3NywgMjE4LCAyMjUsIDIxNCwgMTgwLCAyNDgsIDc5LCAyNDksIDE4MSwgCisgICAgMjE4LCAyMjUsIDI0OCwgNzksIDI0OSwgMTgxLCAyMTgsIDExNiwgMjM5LCA0NiwgMjE0LCAxMywgMjI5LCAxMzcsIDIxOSwgCisgICAgODYsIDI0OCwgMjA0LCAyMzgsIDI0OCwgMjExLCA3NCwgMjM4LCAyNDgsIDIxMSwgNzUsIDIsIDI0OSwgODYsIDIyNCwgNDQsIAorICAgIDIxMSwgNzQsIDIyNywgNTYsIDE0NywgMjE5LCA4NywgMjE0LCAxOSwgMjExLCA3MiwgMjExLCA3MywgMjQ4LCAyMDQsIDI0OSwgCisgICAgNjIsIDIyMiwgMTYzLCAyNDksIDYyLCAyMTEsIDI2LCAyNDksIDYzLCAyMTMsIDI1MSwgMjI2LCAyMDgsIDI1MiwgMTMwLCAKKyAgICAyNDEsIDIyMCwgMjQzLCAyNywgMjIwLCAxOTMsIDI0OCwgMjA0LCAyMjIsIDE2MywgMjIwLCAxOTMsIDI0OCwgMjA0LCAyMTIsIAorICAgIDE0MSwgMjIyLCAxNjMsIDIxMiwgMTQxLCAyNTEsIDE3MiwgMjIyLCAxNjMsIDI1MSwgMTcyLCAyMTksIDM5LCAyMDksIDMxLCAKKyAgICAyNDUsIDIzMSwgMjExLCAxNywgMjUxLCAyMzYsIDIyOSwgMTA1LCAyMTEsIDgwLCAyMjYsIDE1NywgMjI2LCAxMjksIDIxOSwgCisgICAgODUsIDIxMywgMTIyLCAyMTksIDg1LCAyMjYsIDEyOSwgMjQ4LCAyNTEsIDI1MiwgMjM0LCAyMTEsIDcxLCAyMTUsIDE2NywgCisgICAgMjE4LCA5MiwgMjE0LCAxMzUsIDE5NCwgMjExLCA3OCwgMjI5LCAyMjMsIDc5LCAyMTEsIDc4LCAyMjksIDIyMywgMjQ3LCAKKyAgICAxMjMsIDUzLCAyMjAsIDE5MywgMjQ4LCAxOTAsIDIxOCwgMjE4LCAyMjksIDIyMywgMjExLCA0OCwgMjQxLCAxOTcsIDIyMiwgCisgICAgMTY2LCAyMjAsIDE3NSwgMjQ1LCAyNiwgMjI0LCA2OCwgMjQzLCAxNCwgNTMsIDIxNCwgMjA4LCA5MywgMjI0LCA2OCwgMjE0LCAKKyAgICAyMDgsIDkzLCAyMjAsIDUzLCAyMjksIDE4MSwgMjMzLCA2OSwgMjMyLCAyMTcsIDIyMCwgMjM5LCA5MywgMjQ1LCA1MiwgCisgICAgMjI0LCA0MywgMjI5LCAxODEsIDkzLCAyMjAsIDE2OSwgMjA3LCA3MCwgOTMsIDIyNCwgNTgsIDIwNywgNzAsIDkzLCAyNDksIAorICAgIDI0MCwgMjI0LCA2OCwgMjQ5LCAyMzksIDI0OSwgMjM4LCAyMjYsIDEyOSwgMjQ5LCAyMzgsIDIyMSwgMTY2LCAyMjQsIDY4LCAKKyAgICAyMjEsIDE2NSwgMjQ4LCA0OCwgMjQ3LCA1MywgMjI3LCA4MCwgOTMsIDIwNiwgMjQxLCA5MywgMjE4LCAyMzQsIDI1MCwgCisgICAgMTc5LCA5MywgMjExLCAxMjUsIDIwNywgNzAsIDI0NywgMTg5LCAyMTUsIDEyNiwgMjUwLCAxMDUsIDI1MCwgMTAzLCAyMjEsIAorICAgIDE5NywgMjQ3LCAxMDgsIDI0NywgMTIsIDI1MCwgMTYwLCAyNDcsIDIxNywgNDcsIDIyOSwgNzEsIDIxMSwgNTIsIDIsIDIxOCwgCisgICAgOTMsIDI0NywgOTAsIDIyMCwgMTExLCA1MywgMzksIDIzMywgNDMsIDIxNCwgMTYzLCAyNDksIDEzOCwgOTMsIDI0MCwgMzksIAorICAgIDkzLCAyNDcsIDgzLCAyMywgMjMwLCA5NiwgMjE0LCAyMzIsIDI1MywgMTgsIDIxNSwgMTQ3LCAyNTAsIDE1OSwgMjUwLCAyNywgCisgICAgMjUwLCAyOCwgMjUwLCA1MSwgMjM5LCAxMTUsIDIzLCAyMDYsIDIyMCwgMjE1LCAxODAsIDIyMiwgMTkwLCAyNDMsIDI0MSwgCisgICAgMjI2LCAxMzMsIDIxOSwgODYsIDIxMSwgODIsIDIyNiwgMTM1LCAyNDksIDE4MCwgMjA5LCAyMDUsIDIyNiwgMjE4LCAyNTIsIAorICAgIDE5NCwgMjA5LCAyMDUsIDI1MiwgMTk0LCAyMDksIDIwNSwgNSwgMjUyLCAxOTQsIDUsIDI1MiwgMTk0LCAyMjQsIDQ3LCAKKyAgICAyNTIsIDE5NCwgMjUyLCAxOTUsIDI0NSwgMjE1LCAyNTIsIDE5NSwgMjUxLCAyNDYsIDIxNywgMTI5LCAyMjIsIDE2MywgCisgICAgMjQxLCAyMjAsIDI0MywgMjcsIDI0NSwgMTQ2LCAyMjksIDEzNywgMjIxLCAyMDAsIDIxNSwgMTY3LCAxMjUsIDE2LCAzMywgCisgICAgMjE5LCAxODUsIDEyNSwgMTYsIDMzLCAyNTIsIDE5NiwgMTI1LCAxNiwgMzMsIDI0MSwgMjE5LCAxMjUsIDE2LCAzMywgMjQzLCAKKyAgICAxMjAsIDEyNSwgMTYsIDMzLCAyMDcsIDY5LCAxMjUsIDE2LCAzMywgMjUyLCAzOSwgMTI1LCAxNiwgMzMsIDI1MiwgNDAsIAorICAgIDIxOSwgMjYsIDEyNSwgMTYsIDMzLCAyNTIsIDQwLCAyMTksIDI1LCAxMjUsIDE2LCAzMywgMjUyLCA0MCwgMjA4LCAxNzksIAorICAgIDEyNSwgMTYsIDMzLCAyNTIsIDQwLCAyMDgsIDE3OCwgMTI1LCAxNiwgMzMsIDIwOCwgMTkzLCAxMjUsIDE2LCAzMywgMjA4LCAKKyAgICAxOTIsIDEyNSwgMTYsIDMzLCAyMDgsIDE5MSwgMTI1LCAxNiwgMzMsIDIxMywgMTYxLCAxMjUsIDE2LCAzMywgMjIxLCA3MCwgCisgICAgMjEzLCAxNjEsIDEyNSwgMTYsIDMzLCA2MCwgMjEzLCAxNjEsIDEyNSwgMTYsIDMzLCAyMjcsIDc5LCAyMTMsIDE4OSwgMTI1LCAKKyAgICAxNiwgMzMsIDIyNywgNzksIDIxMywgMTg4LCAxMjUsIDE2LCAzMywgMjI3LCA3OSwgMjEzLCAxODcsIDEyNSwgMTYsIDMzLCAKKyAgICAyNDcsIDIzNiwgMTI1LCAxNiwgMzMsIDIxNywgMTY1LCAxMjUsIDE2LCAzMywgMjI0LCAxODMsIDEyNSwgMTYsIDMzLCAyMDgsIAorICAgIDE3NywgMTI1LCAxNiwgMzMsIDIwOCwgMTc2LCAxMjUsIDE2LCAzMywgMjE4LCAxMTcsIDIxNywgMTY1LCAxMjUsIDE2LCAzMywgCisgICAgMjE4LCAxMTcsIDIxNywgMTY0LCAxMjUsIDE2LCAzMywgMjQwLCAxMSwgMTI1LCAxNiwgMzMsIDIxNSwgNTIsIDEyNSwgMTYsIAorICAgIDMzLCAyMzIsIDI0MCwgMjIyLCAxMTcsIDEyNSwgMTYsIDMzLCAyMzIsIDI0MCwgMjIyLCAxMTYsIDEyNSwgMTYsIDMzLCAKKyAgICAyNDcsIDYzLCA3MywgMjMyLCAyMzksIDEyNSwgMTYsIDMzLCAyMTksIDIyLCA3MywgMjMyLCAyMzksIDEyNSwgMTYsIDMzLCAKKyAgICAyNDcsIDk5LCAyMjIsIDExNywgMTI1LCAxNiwgMzMsIDIzMiwgMjM4LCAyMjIsIDExNywgMTI1LCAxNiwgMzMsIDIxMywgCisgICAgMTkwLCA3MywgMjQ3LCA5OCwgMTI1LCAxNiwgMzMsIDI0NywgNjMsIDczLCAyNDcsIDk4LCAxMjUsIDE2LCAzMywgMjQ3LCAKKyAgICA2MywgNzMsIDI0NywgOTcsIDEyNSwgMTYsIDMzLCAyNDcsIDk5LCAyNTIsIDgxLCAxMjUsIDE2LCAzMywgMjE3LCAxNjYsIAorICAgIDczLCAyNDcsIDk5LCAyNTIsIDgxLCAxMjUsIDE2LCAzMywgMjEzLCAxOTAsIDczLCAyMTcsIDE2NiwgNzMsIDI0NywgOTgsIAorICAgIDEyNSwgMTYsIDMzLCAyMDksIDI2LCAxMjUsIDE2LCAzMywgMjExLCAxNzQsIDIyMiwgMTE3LCAxMjUsIDE2LCAzMywgMjMwLCAKKyAgICA1NywgMjIyLCAxMTcsIDEyNSwgMTYsIDMzLCAyNTIsIDgwLCAyMjIsIDExNywgMTI1LCAxNiwgMzMsIDIxMywgMTkwLCA3MywgCisgICAgMjUyLCA3OSwgMTI1LCAxNiwgMzMsIDIxNywgMTY2LCA3MywgMjUyLCA3OSwgMTI1LCAxNiwgMzMsIDIxMywgMTkwLCA3MywgCisgICAgMjE3LCAxNjYsIDczLCAyNTIsIDc5LCAxMjUsIDE2LCAzMywgMjA4LCAxOTQsIDczLCAyNTIsIDc5LCAxMjUsIDE2LCAzMywgCisgICAgMjE5LCAyMiwgNzMsIDI1MiwgNzksIDEyNSwgMTYsIDMzLCAyMTksIDIyLCA3MywgMjUyLCA3OCwgMTI1LCAxNiwgMzMsIAorICAgIDIxOSwgMjEsIDEyNSwgMTYsIDMzLCAyMTksIDIwLCAxMjUsIDE2LCAzMywgMjE5LCAxOSwgMTI1LCAxNiwgMzMsIDIxOSwgCisgICAgMTgsIDEyNSwgMTYsIDMzLCAyNTIsIDE1OSwgMTI1LCAxNiwgMzMsIDI1MiwgMTU4LCAxMjUsIDE2LCAzMywgMjI3LCAxOTYsIAorICAgIDEyNSwgMTYsIDMzLCAyMTcsIDE3MSwgMTI1LCAxNiwgMzMsIDI1MSwgMjQwLCAxMjUsIDE2LCAzMywgMjE5LCA0OCwgMTI1LCAKKyAgICAxNiwgMzMsIDIxOSwgNDcsIDEyNSwgMTYsIDMzLCAyNTEsIDE3NSwgMTI1LCAxNiwgMzMsIDI0OSwgMjEwLCAyMjIsIDExNywgCisgICAgMTI1LCAxNiwgMzMsIDIxMiwgMTYwLCAxMjUsIDE2LCAzMywgMjEyLCAxNTksIDEyNSwgMTYsIDMzLCAyMTksIDE5MSwgMjI5LCAKKyAgICAyMTQsIDEyNSwgMTYsIDMzLCAyNDksIDE2MiwgMTI1LCAxNiwgMzMsIDI0OSwgMTYxLCAxMjUsIDE2LCAzMywgMjQ5LCAxNjAsIAorICAgIDEyNSwgMTYsIDMzLCAyNTIsIDEzOCwgMTI1LCAxNiwgMzMsIDIyMiwgMTg5LCAxMjUsIDE2LCAzMywgMjE0LCAxMjQsIDEyNSwgCisgICAgMTYsIDMzLCAyMTEsIDE3MiwgMTI1LCAxNiwgMzMsIDIzOSwgMTk0LCAxMjUsIDE2LCAzMywgMjA3LCA1NywgMTI1LCAxNiwgCisgICAgMzMsIDIyMCwgMTYzLCAxMjUsIDE2LCAzMywgMjQ4LCAyMzUsIDEyNSwgMTYsIDMzLCAyMTAsIDEzNiwgMTI1LCAxNiwgMzMsIAorICAgIDI0OCwgMjA2LCAyMjYsIDEzOCwgMTI1LCAxNiwgMzMsIDIxNywgMTA3LCA3MywgMjMyLCAxMDksIDEyNSwgMTYsIDMzLCAKKyAgICAyNDgsIDI0OCwgMTI1LCAxNiwgMzMsIDIxMSwgNDUsIDEyNSwgMTYsIDMzLCAyMTQsIDI0LCAyMTEsIDQ1LCAxMjUsIDE2LCAKKyAgICAzMywgMjI5LCAxMzYsIDEyNSwgMTYsIDMzLCAyMTQsIDE5MSwgMTI1LCAxNiwgMzMsIDIwOSwgMTg2LCAxMjUsIDE2LCAzMywgCisgICAgMjM4LCA2NiwgMjQzLCAyMjMsIDEyNSwgMTYsIDMzLCAyNTEsIDIyMCwgMTI1LCAxNiwgMzMsIDIyMCwgMTcxLCAyNTEsIAorICAgIDIyMCwgMTI1LCAxNiwgMzMsIDI0OSwgMTE4LCAxMjUsIDE2LCAzMywgMjIwLCAxNjIsIDI0OSwgMTE4LCAxMjUsIDE2LCAzMywgCisgICAgMjUyLCAxMzUsIDEyNSwgMTYsIDMzLCAyMTMsIDIzOSwgMjEzLCAxNDIsIDIxMywgMjM4LCAxMjUsIDE2LCAzMywgMjEzLCAKKyAgICAyMzksIDIxMywgMTQyLCAyMTMsIDIzNywgMTI1LCAxNiwgMzMsIDIxMywgMTg2LCAxMjUsIDE2LCAzMywgMjIwLCAxMzcsIAorICAgIDEyNSwgMTYsIDMzLCAyNDUsIDg4LCAxMjUsIDE2LCAzMywgMjQ1LCA5MCwgMTI1LCAxNiwgMzMsIDI0NSwgODksIDEyNSwgCisgICAgMTYsIDMzLCAyMjAsIDYyLCAxMjUsIDE2LCAzMywgMjIwLCA1MSwgMTI1LCAxNiwgMzMsIDI0NywgNTEsIDEyNSwgMTYsIDMzLCAKKyAgICAyNDcsIDUwLCAxMjUsIDE2LCAzMywgMjQ3LCA0OSwgMTI1LCAxNiwgMzMsIDI0NywgNDgsIDEyNSwgMTYsIDMzLCAyNDcsIAorICAgIDQ3LCAxMjUsIDE2LCAzMywgMjUyLCAxNzEsIDEyNSwgMTYsIDMzLCAyNTAsIDEwNiwgNzMsIDIyNywgMTgwLCAxMjUsIDE2LCAKKyAgICAzMywgMjUwLCAxMDYsIDczLCAyMDksIDU4LCAxMjUsIDE2LCAzMywgMjE4LCAyMzIsIDEyNSwgMTYsIDMzLCAyMzgsIDU4LCAKKyAgICAxMjUsIDE2LCAzMywgMjI0LCAyMDksIDEyNSwgMTYsIDMzLCAyNDYsIDY2LCAxMjUsIDE2LCAzMywgMjI2LCAxNTIsIDEyNSwgCisgICAgMTYsIDMzLCAxNjAsIDI0MywgMjUzLCAxMjUsIDE2LCAzMywgMTYwLCAyMjIsIDk1LCA2MCwgMjMwLCA0MSwgMjMyLCAyMjMsIAorICAgIDQ4LCAyMTEsIDUxLCA2MCwgMjA5LCAyMDUsIDIzMiwgMjIzLCA0OCwgMjExLCA1MSwgNjAsIDIxOCwgMTYyLCAyMzIsIDIyMywgCisgICAgNDgsIDIxMSwgNTEsIDYwLCAyNDQsIDcsIDIzMiwgMjIzLCA0OCwgMjExLCA1MSwgNjAsIDIxNCwgMjI1LCA1LCAyNDcsIAorICAgIDIzMywgMjI3LCAxMDksIDI0LCA1OSwgMjQ3LCAyMzMsIDI0LCA1OSwgMjQ3LCAyMzMsIDc3LCA1OSwgMjQ3LCAyMzMsIDIwOCwgCisgICAgMjI2LCA3NywgNTksIDI0NywgMjMzLCAyNDIsIDE1MywgNzcsIDU5LCAyNDcsIDIzMywgNTksIDI0NywgMjM0LCAyNDcsIAorICAgIDExOSwgNjAsIDUsIDI0NywgMjMzLCAyMTgsIDk1LCAyMTIsIDE2MSwgNjAsIDIxMSwgMTY5LCAyMTQsIDEwNywgNjAsIDIxNCwgCisgICAgMjI1LCA1LCAyMTQsIDEwNywgMTQ3LCA1OSwgMjE0LCAxMDcsIDIyNywgMTA5LCA1OSwgMjE0LCAxMDcsIDI0LCA1OSwgMjE0LCAKKyAgICAxMDcsIDc3LCA1OSwgMjE0LCAxMDcsIDIwOCwgMjI2LCA3NywgNTksIDIxNCwgMTA3LCAyNDIsIDE1MywgNzcsIDU5LCAyMTQsIAorICAgIDEwNywgNTksIDQ5LCAyNDcsIDExOSwgNjAsIDIwOCwgMjI2LCA1LCAyMTQsIDEwNywgNTksIDQ5LCAyNDcsIDExOSwgNjAsIAorICAgIDIyNywgMTA5LCAyMTQsIDEwNywgNDksIDIxMiwgMTYxLCA2MCwgMjExLCAxNjksIDI0NSwgMTU2LCA2MCwgMjA4LCAyMjYsIAorICAgIDUsIDI0NSwgMTU2LCA2MCwgMjI3LCAxMDksIDUsIDI0NSwgMTU2LCA1OSwgMjQ1LCAxNTcsIDI0NywgMTE5LCA2MCwgMjA4LCAKKyAgICAyMjYsIDUsIDI0NSwgMTU2LCA1OSwgMjQ1LCAxNTcsIDI0NywgMTE5LCA2MCwgMjI3LCAxMDksIDI0NSwgMTU2LCAyNDUsIAorICAgIDE1NywgMjEyLCAxNjEsIDYwLCAyMTEsIDE2OSwgMjI5LCA4OCwgNjAsIDIwOCwgMjI2LCA1LCAyMjksIDg4LCA2MCwgMjI3LCAKKyAgICAxMDksIDUsIDIyOSwgODgsIDU5LCAyMjksIDg5LCAyNDcsIDExOSwgNjAsIDUsIDIyOSwgODgsIDIxMiwgMTIsIDI3LCAyNDcsIAorICAgIDU5LCAxNDcsIDI3LCAyNDcsIDU5LCAyMjcsIDEwOSwgMjcsIDI0NywgNTksIDI0LCAyNywgMjQ3LCA1OSwgMjA4LCAyMjYsIAorICAgIDI0LCAyNywgMjQ3LCA1OSwgMjA4LCAyMjYsIDc3LCAyNywgMjQ3LCA1OSwgMjQyLCAxNTMsIDc3LCAyNywgMjQ3LCA1OSwgCisgICAgMjEyLCAxMiwgMjE3LCAxNjIsIDE0NywgMjE3LCAxNjIsIDIyNywgMTA5LCAyMTcsIDE2MiwgMjQsIDIxNywgMTYyLCA3NywgCisgICAgMjE3LCAxNjIsIDIwOCwgMjI2LCA3NywgMjE3LCAxNjIsIDI0MiwgMTUzLCA3NywgMjE3LCAxNjIsIDE0NywgMjQxLCAyMDQsIAorICAgIDIxNCwgMTE5LCAyNTEsIDIwOSwgMjI3LCAxMDksIDI0MSwgMjA0LCAyMTQsIDExOSwgMjUxLCAyMDksIDI0LCAyNDEsIDIwNCwgCisgICAgMjE0LCAxMTksIDI1MSwgMjA5LCA3NywgMjQxLCAyMDQsIDIxNCwgMTE5LCAyNTEsIDIwOSwgMjA4LCAyMjYsIDc3LCAyNDEsIAorICAgIDIwNCwgMjE0LCAxMTksIDI1MSwgMjA5LCAyNDIsIDE1MywgNzcsIDI0MSwgMjA0LCAyMTQsIDExOSwgMjUxLCAyMDksIDE0NywgCisgICAgMjE1LCAxMCwgMjE0LCAxMTksIDI1MSwgMjA5LCAyMjcsIDEwOSwgMjE1LCAxMCwgMjE0LCAxMTksIDI1MSwgMjA5LCAyNCwgCisgICAgMjE1LCAxMCwgMjE0LCAxMTksIDI1MSwgMjA5LCA3NywgMjE1LCAxMCwgMjE0LCAxMTksIDI1MSwgMjA5LCAyMDgsIDIyNiwgCisgICAgNzcsIDIxNSwgMTAsIDIxNCwgMTE5LCAyNTEsIDIwOSwgMjQyLCAxNTMsIDc3LCAyMTUsIDEwLCAyMTQsIDExOSwgMjUxLCAKKyAgICAyMDksIDE0NywgMjQzLCA4OCwgMjE0LCAxMTksIDI1MSwgMjA5LCAyMjcsIDEwOSwgMjQzLCA4OCwgMjE0LCAxMTksIDI1MSwgCisgICAgMjA5LCAyNCwgMjQzLCA4OCwgMjE0LCAxMTksIDI1MSwgMjA5LCA3NywgMjQzLCA4OCwgMjE0LCAxMTksIDI1MSwgMjA5LCAKKyAgICAyMDgsIDIyNiwgNzcsIDI0MywgODgsIDIxNCwgMTE5LCAyNTEsIDIwOSwgMTQ3LCAxMjksIDIyMCwgMjAzLCA2MCwgMjE0LCAKKyAgICAyNiwgMjI3LCAxMDksIDEyOSwgMjIwLCAyMDMsIDYwLCAyMTQsIDI2LCAxMjksIDIyMCwgMjAzLCA2MCwgMjE0LCAyNiwgCisgICAgMjI3LCAxMDksIDEyOSwgMjIwLCAyMDMsIDIyMSwgNCwgMjE0LCAyNiwgMTQ3LCAyNDEsIDEyNSwgMjIwLCAyMDMsIDYwLCAKKyAgICAyMTQsIDI2LCAyMjcsIDEwOSwgMjQxLCAxMjUsIDIyMCwgMjAzLCA2MCwgMjE0LCAyNiwgMjQxLCAxMjUsIDIyMCwgMjAzLCAKKyAgICA2MCwgMjE0LCAyNiwgMjI3LCAxMDksIDI0MSwgMTI1LCAyMjAsIDIwMywgMjIxLCA0LCAyMTQsIDI2LCAyMTgsIDIyNSwgCisgICAgMTQ3LCAyNDEsIDEyNSwgMjIwLCAyMDMsIDIyMSwgNCwgMjE0LCAyNiwgMTQ3LCAyNDEsIDIwNCwgMjIwLCAyMDMsIDYwLCAKKyAgICAyMTQsIDI2LCA3NywgMjQxLCAyMDQsIDIyMCwgMjAzLCA2MCwgMjE0LCAyNiwgMjI3LCAxMDksIDIxNSwgMTAsIDIyMCwgCisgICAgMjAzLCA2MCwgMjE0LCAyNiwgNzcsIDIxNSwgMTAsIDIyMCwgMjAzLCA2MCwgMjE0LCAyNiwgMjE1LCAxMCwgMjIwLCAyMDMsIAorICAgIDIyMSwgNCwgMjE0LCAyNiwgMjI3LCAxMDksIDI0MywgODgsIDIyMCwgMjAzLCA2MCwgMjE0LCAyNiwgNzcsIDI0MywgODgsIAorICAgIDIyMCwgMjAzLCA2MCwgMjE0LCAyNiwgMjA4LCAyMjYsIDc3LCAyNDMsIDg4LCAyMjAsIDIwMywgNjAsIDIxNCwgMjYsIDc3LCAKKyAgICAyNDMsIDg4LCAyMjAsIDIwMywgMjIxLCA0LCAyMTQsIDI2LCAxNDcsIDIxMCwgMTI3LCAyMjAsIDIwMywgNjAsIDIxNCwgMjYsIAorICAgIDc3LCAyMTAsIDEyNywgMjIwLCAyMDMsIDYwLCAyMTQsIDI2LCA3NywgMjEwLCAxMjcsIDIyMCwgMjAzLCAyMjEsIDQsIDIxNCwgCisgICAgMjYsIDkyLCA1MSwgMiwgNSwgMjExLCA1MiwgMjUxLCAyNDMsIDE2NywgNTEsIDIsIDUsIDIxMSwgNTIsIDI1MSwgMjQzLCAKKyAgICA4NiwgNTEsIDIsIDUsIDIxMSwgNTIsIDI1MSwgMjQzLCAxNzMsIDUxLCAyLCA1LCAyMTEsIDUyLCAyNTEsIDI0MywgOTIsIAorICAgIDUxLCAyLCAyMjcsIDEwOSwgMjExLCA1MiwgMjUxLCAyNDMsIDE2NywgNTEsIDIsIDIyNywgMTA5LCAyMTEsIDUyLCAyNTEsIAorICAgIDI0MywgODYsIDUxLCAyLCAyMjcsIDEwOSwgMjExLCA1MiwgMjUxLCAyNDMsIDE3MywgNTEsIDIsIDIyNywgMTA5LCAyMTEsIAorICAgIDUyLCAyNTEsIDI0MywgOTIsIDUxLCAyLCAyMzAsIDg2LCAyMTEsIDUyLCAyNTEsIDI0MywgMTY3LCA1MSwgMiwgMjMwLCA4NiwgCisgICAgMjExLCA1MiwgMjUxLCAyNDMsIDg2LCA1MSwgMiwgMjMwLCA4NiwgMjExLCA1MiwgMjUxLCAyNDMsIDE3MywgNTEsIDIsIAorICAgIDIzMCwgODYsIDIxMSwgNTIsIDI1MSwgMjQzLCA5MiwgNTEsIDIsIDUsIDI0MiwgMjM4LCAyNTEsIDI0MywgMTY3LCA1MSwgMiwgCisgICAgNSwgMjQyLCAyMzgsIDI1MSwgMjQzLCA4NiwgNTEsIDIsIDUsIDI0MiwgMjM4LCAyNTEsIDI0MywgMTczLCA1MSwgMiwgNSwgCisgICAgMjQyLCAyMzgsIDI1MSwgMjQzLCA5MiwgNTEsIDIsIDI0MiwgMjM4LCAyNTEsIDI0MywgMTY3LCA1MSwgMiwgMjQyLCAyMzgsIAorICAgIDI1MSwgMjQzLCA4NiwgNTEsIDIsIDI0MiwgMjM4LCAyNTEsIDI0MywgMTczLCA1MSwgMiwgMjQyLCAyMzgsIDI1MSwgMjQzLCAKKyAgICA3NywgOTIsIDUxLCAyLCAyNDIsIDIzOCwgMjUxLCAyNDMsIDc3LCAxNjcsIDUxLCAyLCAyNDIsIDIzOCwgMjUxLCAyNDMsIAorICAgIDc3LCA4NiwgNTEsIDIsIDI0MiwgMjM4LCAyNTEsIDI0MywgNzcsIDE3MywgNTEsIDIsIDI0MiwgMjM4LCAyNTEsIDI0MywgCisgICAgNzcsIDkyLCA1MSwgMiwgMjMwLCA4NiwgMjQyLCAyMzgsIDI1MSwgMjQzLCA3NywgMTY3LCA1MSwgMiwgMjMwLCA4NiwgMjQyLCAKKyAgICAyMzgsIDI1MSwgMjQzLCA3NywgODYsIDUxLCAyLCAyMzAsIDg2LCAyNDIsIDIzOCwgMjUxLCAyNDMsIDc3LCAxNzMsIDUxLCAKKyAgICAyLCAyMzAsIDg2LCAyNDIsIDIzOCwgMjUxLCAyNDMsIDkyLCAyMTEsIDUwLCA1MSwgMiwgMjI1LCAxOTksIDIxNSwgMjQ0LCAKKyAgICAxNjcsIDIxMSwgNTAsIDUxLCAyLCAyMjUsIDE5OSwgMjE1LCAyNDQsIDg2LCAyMTEsIDUwLCA1MSwgMiwgMjI1LCAxOTksIAorICAgIDIxNSwgMjQ0LCAxNzMsIDIxMSwgNTAsIDUxLCAyLCAyMjUsIDE5OSwgMjE1LCAyNDQsIDkyLCAyMTEsIDUwLCA1MSwgMiwgCisgICAgMjI3LCAxMDksIDIxNSwgMjQ0LCAxNjcsIDIxMSwgNTAsIDUxLCAyLCAyMjcsIDEwOSwgMjE1LCAyNDQsIDg2LCAyMTEsIDUwLCAKKyAgICA1MSwgMiwgMjI3LCAxMDksIDIxNSwgMjQ0LCAxNzMsIDIxMSwgNTAsIDUxLCAyLCAyMjcsIDEwOSwgMjE1LCAyNDQsIDkyLCAKKyAgICAyMTEsIDUwLCA1MSwgMiwgMjQsIDIxNSwgMjQ0LCAxNjcsIDIxMSwgNTAsIDUxLCAyLCAyNCwgMjE1LCAyNDQsIDg2LCAyMTEsIAorICAgIDUwLCA1MSwgMiwgMjQsIDIxNSwgMjQ0LCAxNzMsIDIxMSwgNTAsIDUxLCAyLCAyNCwgMjE1LCAyNDQsIDkyLCAyMTEsIDUwLCAKKyAgICA1MSwgMiwgNzcsIDIxNSwgMjQ0LCAxNjcsIDIxMSwgNTAsIDUxLCAyLCA3NywgMjE1LCAyNDQsIDg2LCAyMTEsIDUwLCA1MSwgCisgICAgMiwgNzcsIDIxNSwgMjQ0LCAxNzMsIDIxMSwgNTAsIDUxLCAyLCA3NywgMjE1LCAyNDQsIDkyLCAyMTEsIDUwLCA1MSwgMiwgCisgICAgMjA4LCAyMjYsIDc3LCAyMTUsIDI0NCwgMTY3LCAyMTEsIDUwLCA1MSwgMiwgMjA4LCAyMjYsIDc3LCAyMTUsIDI0NCwgODYsIAorICAgIDIxMSwgNTAsIDUxLCAyLCAyMDgsIDIyNiwgNzcsIDIxNSwgMjQ0LCAxNzMsIDIxMSwgNTAsIDUxLCAyLCAyMDgsIDIyNiwgCisgICAgNzcsIDIxNSwgMjQ0LCA5MiwgMjQxLCAyMjcsIDQ1LCAxNjcsIDI0MSwgMjI3LCA0NSwgODYsIDI0MSwgMjI3LCA0NSwgMTczLCAKKyAgICAyNDEsIDIyNywgNDUsIDkyLCA5OCwgNDUsIDE2NywgOTgsIDQ1LCA4NiwgOTgsIDQ1LCAxNzMsIDk4LCA0NSwgOTIsIDI0NywgCisgICAgMTQ0LCA0NSwgMTY3LCAyNDcsIDE0NCwgNDUsIDg2LCAyNDcsIDE0NCwgNDUsIDE3MywgMjQ3LCAxNDQsIDQ1LCA5MiwgNzcsIAorICAgIDI0NywgMTQ0LCA0NSwgMTY3LCA3NywgMjQ3LCAxNDQsIDQ1LCA4NiwgNzcsIDI0NywgMTQ0LCA0NSwgMTczLCA3NywgMjQ3LCAKKyAgICAxNDQsIDQ1LCA5MiwgNzcsIDQ1LCAxNjcsIDc3LCA0NSwgODYsIDc3LCA0NSwgMTczLCA3NywgNDUsIDkyLCAzOCwgNDUsIAorICAgIDE2NywgMzgsIDQ1LCA4NiwgMzgsIDQ1LCAxNzMsIDM4LCA0NSwgMTQzLCAyMDcsIDM2LCAzOCwgNDUsIDE0MywgMjQzLCAKKyAgICAxMTcsIDM4LCA0NSwgMTg4LCAyNDMsIDExNywgMzgsIDQ1LCAxODgsIDIwNywgMzYsIDM4LCA0NSwgNDcsIDQ4LCAzOCwgNDUsIAorICAgIDEyMCwgMTMwLCAzOCwgNDUsIDIwNywgMTYsIDkyLCAxNDcsIDEzOCwgNDUsIDIwNywgMTYsIDE2NywgMTQ3LCAxMzgsIDQ1LCAKKyAgICAyMDcsIDE2LCA4NiwgMTQ3LCAxMzgsIDQ1LCAyMDcsIDE2LCAxNzMsIDE0NywgMTM4LCA0NSwgMjA3LCAxNiwgMTQzLCAyMDcsIAorICAgIDM2LCAxNDcsIDEzOCwgNDUsIDIwNywgMTYsIDE0MywgMjQzLCAxMTcsIDE0NywgMTM4LCA0NSwgMjA3LCAxNiwgMTg4LCAKKyAgICAyNDMsIDExNywgMTQ3LCAxMzgsIDQ1LCAyMDcsIDE2LCAxODgsIDIwNywgMzYsIDE0NywgMTM4LCA0NSwgMjA3LCAxNiwgOTIsIAorICAgIDEzOCwgNDUsIDIwNywgMTYsIDE2NywgMTM4LCA0NSwgMjA3LCAxNiwgODYsIDEzOCwgNDUsIDIwNywgMTYsIDE3MywgMTM4LCAKKyAgICA0NSwgMjA3LCAxNiwgMTQzLCAyMDcsIDM2LCAxMzgsIDQ1LCAyMDcsIDE2LCAxNDMsIDI0MywgMTE3LCAxMzgsIDQ1LCAyMDcsIAorICAgIDE2LCAxODgsIDI0MywgMTE3LCAxMzgsIDQ1LCAyMDcsIDE2LCAxODgsIDIwNywgMzYsIDEzOCwgNDUsIDIwNywgMTYsIDkyLCAKKyAgICAyMjcsIDEwOSwgMTM4LCA0NSwgMjA3LCAxNiwgMTY3LCAyMjcsIDEwOSwgMTM4LCA0NSwgMjA3LCAxNiwgODYsIDIyNywgCisgICAgMTA5LCAxMzgsIDQ1LCAyMDcsIDE2LCAxNzMsIDIyNywgMTA5LCAxMzgsIDQ1LCAyMDcsIDE2LCAxNDMsIDIwNywgMzYsIAorICAgIDIyNywgMTA5LCAxMzgsIDQ1LCAyMDcsIDE2LCAxNDMsIDI0MywgMTE3LCAyMjcsIDEwOSwgMTM4LCA0NSwgMjA3LCAxNiwgCisgICAgMTg4LCAyNDMsIDExNywgMjI3LCAxMDksIDEzOCwgNDUsIDIwNywgMTYsIDE4OCwgMjA3LCAzNiwgMjI3LCAxMDksIDEzOCwgCisgICAgNDUsIDIwNywgMTYsIDkyLCA3NywgMTM4LCA0NSwgMjA3LCAxNiwgMTY3LCA3NywgMTM4LCA0NSwgMjA3LCAxNiwgODYsIDc3LCAKKyAgICAxMzgsIDQ1LCAyMDcsIDE2LCAxNzMsIDc3LCAxMzgsIDQ1LCAyMDcsIDE2LCAxNDMsIDIwNywgMzYsIDc3LCAxMzgsIDQ1LCAKKyAgICAyMDcsIDE2LCAxNDMsIDI0MywgMTE3LCA3NywgMTM4LCA0NSwgMjA3LCAxNiwgMTg4LCAyNDMsIDExNywgNzcsIDEzOCwgNDUsIAorICAgIDIwNywgMTYsIDE4OCwgMjA3LCAzNiwgNzcsIDEzOCwgNDUsIDIwNywgMTYsIDkyLCAyMDgsIDIyNiwgNzcsIDEzOCwgNDUsIAorICAgIDIwNywgMTYsIDE2NywgMjA4LCAyMjYsIDc3LCAxMzgsIDQ1LCAyMDcsIDE2LCA4NiwgMjA4LCAyMjYsIDc3LCAxMzgsIDQ1LCAKKyAgICAyMDcsIDE2LCAxNzMsIDIwOCwgMjI2LCA3NywgMTM4LCA0NSwgMjA3LCAxNiwgMTQzLCAyMDcsIDM2LCAyMDgsIDIyNiwgNzcsIAorICAgIDEzOCwgNDUsIDIwNywgMTYsIDE0MywgMjQzLCAxMTcsIDIwOCwgMjI2LCA3NywgMTM4LCA0NSwgMjA3LCAxNiwgMTg4LCAKKyAgICAyNDMsIDExNywgMjA4LCAyMjYsIDc3LCAxMzgsIDQ1LCAyMDcsIDE2LCAxODgsIDIwNywgMzYsIDIwOCwgMjI2LCA3NywgCisgICAgMTM4LCA0NSwgOTIsIDIxMSwgNTIsIDI1MSwgMjQzLCAxNjcsIDIxMSwgNTIsIDI1MSwgMjQzLCA4NiwgMjExLCA1MiwgMjUxLCAKKyAgICAyNDMsIDE3MywgMjExLCA1MiwgMjUxLCAyNDMsIDkyLCA1OSwgNTEsIDIwNiwgMjU1LCAyMTEsIDUyLCAyNTEsIDI0MywgCisgICAgMTY3LCA1OSwgNTEsIDIwNiwgMjU1LCAyMTEsIDUyLCAyNTEsIDI0MywgODYsIDU5LCA1MSwgMjA2LCAyNTUsIDIxMSwgNTIsIAorICAgIDI1MSwgMjQzLCAxNzMsIDU5LCA1MSwgMjA2LCAyNTUsIDIxMSwgNTIsIDI1MSwgMjQzLCA5MiwgNTEsIDIsIDIyNCwgMzksIAorICAgIDIxMiwgMTkxLCAxNjcsIDUxLCAyLCAyMjQsIDM5LCAyMTIsIDE5MSwgODYsIDUxLCAyLCAyMjQsIDM5LCAyMTIsIDE5MSwgCisgICAgMTczLCA1MSwgMiwgMjI0LCAzOSwgMjEyLCAxOTEsIDc3LCA1MSwgMjE1LCAyNDUsIDIwNywgMTUsIDEwMiwgNzcsIDUxLCAKKyAgICAyMTUsIDI0NSwgMjA3LCAxNSwgMTE4LCAyMTIsIDcsIDc3LCA1MSwgMjE1LCAyNDUsIDIwNywgMTUsIDExOSwgMjM5LCAxMjEsIAorICAgIDc3LCA1MSwgMjE1LCAyNDUsIDIwNywgMTUsIDExOSwgMjEyLCAxMCwgOTIsIDI0OSwgMTUxLCA1OSwgNDUsIDg2LCAyNDksIAorICAgIDE1NCwgMjE1LCAyNDcsIDU5LCA0NSwgOTIsIDIxMSwgMTAyLCAyMTUsIDI0NywgNTksIDQ1LCA4NiwgMjExLCAxMDIsIDIxNSwgCisgICAgMjQ3LCA1OSwgNDUsIDkyLCAyMzAsIDQwLCA1OSwgNDUsIDg2LCAyMTgsIDE2MSwgNTksIDQ1LCA5MiwgMjE4LCAxNjEsIDU5LCAKKyAgICA0NSwgODYsIDIzMCwgNDAsIDU5LCA0NSwgOTIsIDI1MCwgMTc1LCAyMTUsIDI0NiwgNTksIDQ1LCA4NiwgMjUwLCAxNzUsIAorICAgIDIxNSwgMjQ2LCA1OSwgNDUsIDkyLCAyNDEsIDk2LCAyMTUsIDI0NiwgNTksIDQ1LCA4NiwgMjQxLCA5NiwgMjE1LCAyNDYsIAorICAgIDU5LCA0NSwgNTksIDUxLCAyMTUsIDI0NSwgMjA3LCAxNSwgMTAyLCA1OSwgNTEsIDIxNSwgMjQ1LCAyMDcsIDE1LCAxMTgsIAorICAgIDIxMiwgNywgMTAsIDE1LCAyMzcsIDE3MSwgMTAsIDE1LCAyMzcsIDE3MCwgMTAsIDE1LCAyMzcsIDE2OSwgMTAsIDE1LCAKKyAgICAyMzcsIDE2OCwgMTAsIDE1LCAyMzcsIDE2NywgMTAsIDE1LCAyMzcsIDE2NiwgMTAsIDE1LCAyMzcsIDE2NSwgMTAsIDE1LCAKKyAgICAyMzcsIDE2NCwgMTAsIDE1LCAyMzcsIDE2MywgMTAsIDE1LCAyMzcsIDE2MiwgMTAsIDE1LCAyMzcsIDE2MSwgMTAsIDE1LCAKKyAgICAyMzcsIDE2MCwgMTAsIDE1LCAyMzcsIDE1OSwgMTAsIDE1LCAyMzcsIDE1OCwgMTAsIDE1LCAyMzcsIDE1NywgMTAsIDE1LCAKKyAgICAyMzcsIDE1NiwgMTAsIDE1LCAyMzcsIDE1NSwgMTAsIDE1LCAyMzcsIDE1NCwgMTAsIDE1LCAyMzcsIDE1MywgMTAsIDE1LCAKKyAgICAyMzcsIDE1MiwgMTAsIDE1LCAyMzcsIDE1MSwgMTAsIDE1LCAyMzcsIDE1MCwgMTAsIDE1LCAyMzcsIDE0OSwgMTAsIDE1LCAKKyAgICAyMzcsIDE0OCwgMTAsIDE1LCAyMzcsIDE0NywgMTAsIDE1LCAyMzcsIDE0NiwgMTAsIDE1LCAyMzcsIDE0NSwgMTAsIDE1LCAKKyAgICAyMzcsIDE0NCwgMTAsIDE1LCAyMzcsIDE0MywgMTAsIDE1LCAyMzcsIDE0MiwgMTAsIDE1LCAyMzcsIDE0MSwgMTAsIDE1LCAKKyAgICAyMzcsIDE0MCwgMTAsIDE1LCAyMzcsIDEzOSwgMTAsIDE1LCAyMzcsIDEzOCwgMTAsIDE1LCAyMzcsIDEzNywgMTAsIDE1LCAKKyAgICAyMzcsIDEzNiwgMTAsIDE1LCAyMzcsIDEzNSwgMTAsIDE1LCAyMzcsIDEzNCwgMTAsIDE1LCAyMzcsIDEzMywgMTAsIDE1LCAKKyAgICAyMzcsIDEzMiwgMTAsIDE1LCAyMzcsIDEzMSwgMTAsIDE1LCAyMzcsIDEzMCwgMTAsIDE1LCAyMzcsIDEyOSwgMTAsIDE1LCAKKyAgICAyMzcsIDEyOCwgMTAsIDE1LCAyMzcsIDEyNywgMTAsIDE1LCAyMzcsIDEyNiwgMTAsIDE1LCAyMzcsIDEyNSwgMTAsIDE1LCAKKyAgICAyMzcsIDEyNCwgMTAsIDE1LCAyMzcsIDEyMywgMTAsIDE1LCAyMzcsIDEyMiwgMTAsIDE1LCAyMzcsIDEyMSwgMTAsIDE1LCAKKyAgICAyMzcsIDEyMCwgMTAsIDE1LCAyMzcsIDExOSwgMTAsIDE1LCAyMzcsIDExOCwgMTAsIDE1LCAyMzcsIDExNywgMTAsIDE1LCAKKyAgICAyMzcsIDExNiwgMTAsIDE1LCAyMzcsIDExNSwgMTAsIDE1LCAyMzcsIDExNCwgMTAsIDE1LCAyMzcsIDExMywgMTAsIDE1LCAKKyAgICAyMzcsIDExMiwgMTAsIDE1LCAyMzcsIDExMSwgMTAsIDE1LCAyMzcsIDExMCwgMTAsIDE1LCAyMzcsIDEwOSwgMTAsIDE1LCAKKyAgICAyMzcsIDEwOCwgMTAsIDE1LCAyMzcsIDEwNywgMTAsIDE1LCAyMzcsIDEwNiwgMTAsIDE1LCAyMzcsIDEwNSwgMTAsIDE1LCAKKyAgICAyMzcsIDEwNCwgMTAsIDE1LCAyMzcsIDEwMywgMTAsIDE1LCAyMzcsIDEwMiwgMTAsIDE1LCAyMzcsIDEwMSwgMTAsIDE1LCAKKyAgICAyMzcsIDEwMCwgMTAsIDE1LCAyMzcsIDk5LCAxMCwgMTUsIDIzNywgOTgsIDEwLCAxNSwgMjM3LCA5NywgMTAsIDE1LCAyMzcsIAorICAgIDk2LCAxMCwgMTUsIDIzNywgOTUsIDEwLCAxNSwgMjM3LCA5NCwgMTAsIDE1LCAyMzcsIDkzLCAxMCwgMTUsIDIzNywgOTIsIAorICAgIDEwLCAxNSwgMjM3LCA5MSwgMTAsIDE1LCAyMzcsIDkwLCAxMCwgMTUsIDIzNywgODksIDEwLCAxNSwgMjM3LCA4OCwgMTAsIAorICAgIDE1LCAyMzcsIDg3LCAxMCwgMTUsIDIzNywgODYsIDEwLCAxNSwgMjM3LCA4NSwgMTAsIDE1LCAyMzcsIDg0LCAxMCwgMTUsIAorICAgIDIzNywgODMsIDEwLCAxNSwgMjM3LCA4MiwgMTAsIDE1LCAyMzcsIDgxLCAxMCwgMTUsIDIzNywgODAsIDEwLCAxNSwgMjM3LCAKKyAgICA3OSwgMTAsIDE1LCAyMzcsIDc4LCAxMCwgMTUsIDIzNywgNzcsIDEwLCAxNSwgMjM3LCA3NiwgMTAsIDE1LCAyMzcsIDc1LCAKKyAgICAxMCwgMTUsIDIzNywgNzQsIDEwLCAxNSwgMjM3LCA3MywgMTAsIDE1LCAyMzcsIDcyLCAxMCwgMTUsIDIzNywgNzEsIDEwLCAKKyAgICAxNSwgMjM3LCA3MCwgMTAsIDE1LCAyMzcsIDY5LCAxMCwgMTUsIDIzNywgNjgsIDEwLCAxNSwgMjM3LCA2NywgMTAsIDE1LCAKKyAgICAyMzcsIDY2LCAxMCwgMTUsIDIzNywgNjUsIDEwLCAxNSwgMjM3LCA2NCwgMTAsIDE1LCAyMzcsIDYzLCAxMCwgMTUsIDIzNywgCisgICAgNjIsIDEwLCAxNSwgMjM3LCA2MSwgMTAsIDE1LCAyMzcsIDYwLCAxMCwgMTUsIDIzNywgNTksIDEwLCAxNSwgMjM3LCA1OCwgCisgICAgMTAsIDE1LCAyMzcsIDU3LCAxMCwgMTUsIDIzNywgNTYsIDEwLCAxNSwgMjM3LCA1NSwgMTAsIDE1LCAyMzcsIDU0LCAxMCwgCisgICAgMTUsIDIzNywgNTMsIDEwLCAxNSwgMjM3LCA1MiwgMTAsIDE1LCAyMzcsIDUxLCAxMCwgMTUsIDIzNywgNTAsIDEwLCAxNSwgCisgICAgMjM3LCA0OSwgMTAsIDE1LCAyMzcsIDQ4LCAxMCwgMTUsIDIzNywgNDcsIDEwLCAxNSwgMjM3LCA0NiwgMTAsIDE1LCAyMzcsIAorICAgIDQ1LCAxMCwgMTUsIDIzNywgNDQsIDEwLCAxNSwgMjM3LCA0MywgMTAsIDE1LCAyMzcsIDQyLCAxMCwgMTUsIDIzNywgNDEsIAorICAgIDEwLCAxNSwgMjM3LCA0MCwgMTAsIDE1LCAyMzcsIDM5LCAxMCwgMTUsIDIzNywgMzgsIDEwLCAxNSwgMjM3LCAzNywgMTAsIAorICAgIDE1LCAyMzcsIDM2LCAxMCwgMTUsIDIzNywgMzUsIDEwLCAxNSwgMjM3LCAzNCwgMTAsIDE1LCAyMzcsIDMzLCAxMCwgMTUsIAorICAgIDIzNywgMzIsIDEwLCAxNSwgMjM3LCAzMSwgMTAsIDE1LCAyMzcsIDMwLCAxMCwgMTUsIDIzNywgMjksIDEwLCAxNSwgMjM3LCAKKyAgICAyOCwgMTAsIDE1LCAyMzcsIDI3LCAxMCwgMTUsIDIzNywgMjYsIDEwLCAxNSwgMjM3LCAyNSwgMTAsIDE1LCAyMzcsIDI0LCAKKyAgICAxMCwgMTUsIDIzNywgMjMsIDEwLCAxNSwgMjM3LCAyMiwgMTAsIDE1LCAyMzcsIDIxLCAxMCwgMTUsIDIzNywgMjAsIDEwLCAKKyAgICAxNSwgMjM3LCAxOSwgMTAsIDE1LCAyMzcsIDE4LCAxMCwgMTUsIDIzNywgMTcsIDEwLCAxNSwgMjM3LCAxNiwgMTAsIDE1LCAKKyAgICAyMzcsIDE1LCAxMCwgMTUsIDIzNywgMTQsIDEwLCAxNSwgMjM3LCAxMywgMTAsIDE1LCAyMzcsIDEyLCAxMCwgMTUsIDIzNywgCisgICAgMTEsIDEwLCAxNSwgMjM3LCAxMCwgMTAsIDE1LCAyMzcsIDksIDEwLCAxNSwgMjM3LCA4LCAxMCwgMTUsIDIzNywgNywgMTAsIAorICAgIDE1LCAyMzcsIDYsIDEwLCAxNSwgMjM3LCA1LCAxMCwgMTUsIDIzNywgNCwgMTAsIDE1LCAyMzcsIDMsIDEwLCAxNSwgMjM3LCAKKyAgICAyLCAxMCwgMTUsIDIzNywgMSwgMTAsIDE1LCAyMzcsIDAsIDEwLCAxNSwgMjM2LCAyNTUsIDEwLCAxNSwgMjM2LCAyNTQsIAorICAgIDEwLCAxNSwgMjM2LCAyNTMsIDEwLCAxNSwgMjM2LCAyNTIsIDEwLCAxNSwgMjM2LCAyNTEsIDEwLCAxNSwgMjM2LCAyNTAsIAorICAgIDEwLCAxNSwgMjM2LCAyNDksIDEwLCAxNSwgMjM2LCAyNDgsIDEwLCAxNSwgMjM2LCAyNDcsIDEwLCAxNSwgMjM2LCAyNDYsIAorICAgIDEwLCAxNSwgMjM2LCAyNDUsIDEwLCAxNSwgMjM2LCAyNDQsIDEwLCAxNSwgMjM2LCAyNDMsIDEwLCAxNSwgMjM2LCAyNDIsIAorICAgIDEwLCAxNSwgMjM2LCAyNDEsIDEwLCAxNSwgMjM2LCAyNDAsIDEwLCAxNSwgMjM2LCAyMzksIDEwLCAxNSwgMjM2LCAyMzgsIAorICAgIDEwLCAxNSwgMjM2LCAyMzcsIDEwLCAxNSwgMjM2LCAyMzYsIDEwLCAxNSwgMjM2LCAyMzUsIDEwLCAxNSwgMjM2LCAyMzQsIAorICAgIDEwLCAxNSwgMjM2LCAyMzMsIDEwLCAxNSwgMjM2LCAyMzIsIDEwLCAxNSwgMjM2LCAyMzEsIDEwLCAxNSwgMjM2LCAyMzAsIAorICAgIDEwLCAxNSwgMjM2LCAyMjksIDEwLCAxNSwgMjM2LCAyMjgsIDEwLCAxNSwgMjM2LCAyMjcsIDEwLCAxNSwgMjM2LCAyMjYsIAorICAgIDEwLCAxNSwgMjM2LCAyMjUsIDEwLCAxNSwgMjM2LCAyMjQsIDEwLCAxNSwgMjM2LCAyMjMsIDEwLCAxNSwgMjM2LCAyMjIsIAorICAgIDEwLCAxNSwgMjM2LCAyMjEsIDEwLCAxNSwgMjM2LCAyMjAsIDEwLCAxNSwgMjM2LCAyMTksIDEwLCAxNSwgMjM2LCAyMTgsIAorICAgIDEwLCAxNSwgMjM2LCAyMTcsIDEwLCAxNSwgMjM2LCAyMTYsIDEwLCAxNSwgMjM2LCAyMTUsIDEwLCAxNSwgMjM2LCAyMTQsIAorICAgIDEwLCAxNSwgMjM2LCAyMTMsIDEwLCAxNSwgMjM2LCAyMTIsIDEwLCAxNSwgMjM2LCAyMTEsIDEwLCAxNSwgMjM2LCAyMTAsIAorICAgIDEwLCAxNSwgMjM2LCAyMDksIDEwLCAxNSwgMjM2LCAyMDgsIDEwLCAxNSwgMjM2LCAyMDcsIDEwLCAxNSwgMjM2LCAyMDYsIAorICAgIDEwLCAxNSwgMjM2LCAyMDUsIDEwLCAxNSwgMjM2LCAyMDQsIDEwLCAxNSwgMjM2LCAyMDMsIDEwLCAxNSwgMjM2LCAyMDIsIAorICAgIDEwLCAxNSwgMjM2LCAyMDEsIDEwLCAxNSwgMjM2LCAyMDAsIDEwLCAxNSwgMjM2LCAxOTksIDEwLCAxNSwgMjM2LCAxOTgsIAorICAgIDEwLCAxNSwgMjM2LCAxOTcsIDEwLCAxNSwgMjM2LCAxOTYsIDEwLCAxNSwgMjM2LCAxOTUsIDEwLCAxNSwgMjM2LCAxOTQsIAorICAgIDEwLCAxNSwgMjM2LCAxOTMsIDEwLCAxNSwgMjM2LCAxOTIsIDEwLCAxNSwgMjM2LCAxOTEsIDEwLCAxNSwgMjM2LCAxOTAsIAorICAgIDEwLCAxNSwgMjM2LCAxODksIDEwLCAxNSwgMjM2LCAxODgsIDEwLCAxNSwgMjM2LCAxODcsIDEwLCAxNSwgMjM2LCAxODYsIAorICAgIDEwLCAxNSwgMjM2LCAxODUsIDEwLCAxNSwgMjM2LCAxODQsIDEwLCAxNSwgMjM2LCAxODMsIDEwLCAxNSwgMjM2LCAxODIsIAorICAgIDEwLCAxNSwgMjM2LCAxODEsIDEwLCAxNSwgMjM2LCAxODAsIDEwLCAxNSwgMjM2LCAxNzksIDEwLCAxNSwgMjM2LCAxNzgsIAorICAgIDEwLCAxNSwgMjM2LCAxNzcsIDEwLCAxNSwgMjM2LCAxNzYsIDEwLCAxNSwgMjM2LCAxNzUsIDEwLCAxNSwgMjM2LCAxNzQsIAorICAgIDEwLCAxNSwgMjM2LCAxNzMsIDEwLCAxNSwgMjM2LCAxNzIsIDEwLCAxNSwgMjM2LCAxNzEsIDEwLCAxNSwgMjM2LCAxNzAsIAorICAgIDEwLCAxNSwgMjM2LCAxNjksIDEwLCAxNSwgMjM2LCAxNjgsIDEwLCAxNSwgMjM2LCAxNjcsIDEwLCAxNSwgMjM2LCAxNjYsIAorICAgIDEwLCAxNSwgMjM2LCAxNjUsIDEwLCAxNSwgMjM2LCAxNjQsIDEwLCAxNSwgMjM2LCAxNjMsIDEwLCAxNSwgMjM2LCAxNjIsIAorICAgIDEwLCAxNSwgMjM2LCAxNjEsIDEwLCAxNSwgMjM2LCAxNjAsIDEwLCAxNSwgMjM2LCAxNTksIDEwLCAxNSwgMjM2LCAxNTgsIAorICAgIDEwLCAxNSwgMjM2LCAxNTcsIDEwLCAxNSwgMjM2LCAxNTYsIDEwLCAxNSwgMjM2LCAxNTUsIDEwLCAxNSwgMjM2LCAxNTQsIAorICAgIDEwLCAxNSwgMjM2LCAxNTMsIDEwLCAxNSwgMjM2LCAxNTIsIDEwLCAxNSwgMjM2LCAxNTEsIDEwLCAxNSwgMjM2LCAxNTAsIAorICAgIDEwLCAxNSwgMjM2LCAxNDksIDEwLCAxNSwgMjM2LCAxNDgsIDEwLCAxNSwgMjM2LCAxNDcsIDEwLCAxNSwgMjM2LCAxNDYsIAorICAgIDEwLCAxNSwgMjM2LCAxNDUsIDEwLCAxNSwgMjM2LCAxNDQsIDEwLCAxNSwgMjM2LCAxNDMsIDEwLCAxNSwgMjM2LCAxNDIsIAorICAgIDEwLCAxNSwgMjM2LCAxNDEsIDEwLCAxNSwgMjM2LCAxNDAsIDEwLCAxNSwgMjM2LCAxMzksIDEwLCAxNSwgMjM2LCAxMzgsIAorICAgIDEwLCAxNSwgMjM2LCAxMzcsIDEwLCAxNSwgMjM2LCAxMzYsIDEwLCAxNSwgMjM2LCAxMzUsIDEwLCAxNSwgMjM2LCAxMzQsIAorICAgIDEwLCAxNSwgMjM2LCAxMzMsIDEwLCAxNSwgMjM2LCAxMzIsIDEwLCAxNSwgMjM2LCAxMzEsIDEwLCAxNSwgMjM2LCAxMzAsIAorICAgIDEwLCAxNSwgMjM2LCAxMjksIDEwLCAxNSwgMjM2LCAxMjgsIDEwLCAxNSwgMjM2LCAxMjcsIDEwLCAxNSwgMjM2LCAxMjYsIAorICAgIDEwLCAxNSwgMjM2LCAxMjUsIDEwLCAxNSwgMjM2LCAxMjQsIDEwLCAxNSwgMjM2LCAxMjMsIDEwLCAxNSwgMjM2LCAxMjIsIAorICAgIDEwLCAxNSwgMjM2LCAxMjEsIDEwLCAxNSwgMjM2LCAxMjAsIDEwLCAxNSwgMjM2LCAxMTksIDEwLCAxNSwgMjM2LCAxMTgsIAorICAgIDEwLCAxNSwgMjM2LCAxMTcsIDEwLCAxNSwgMjM2LCAxMTYsIDEwLCAxNSwgMjM2LCAxMTUsIDEwLCAxNSwgMjM2LCAxMTQsIAorICAgIDEwLCAxNSwgMjM2LCAxMTMsIDEwLCAxNSwgMjM2LCAxMTIsIDEwLCAxNSwgMjM2LCAxMTEsIDEwLCAxNSwgMjM2LCAxMTAsIAorICAgIDEwLCAxNSwgMjM2LCAxMDksIDEwLCAxNSwgMjM2LCAxMDgsIDEwLCAxNSwgMjM2LCAxMDcsIDEwLCAxNSwgMjM2LCAxMDYsIAorICAgIDEwLCAxNSwgMjM2LCAxMDUsIDEwLCAxNSwgMjM2LCAxMDQsIDEwLCAxNSwgMjM2LCAxMDMsIDEwLCAxNSwgMjM2LCAxMDIsIAorICAgIDEwLCAxNSwgMjM2LCAxMDEsIDEwLCAxNSwgMjM2LCAxMDAsIDEwLCAxNSwgMjM2LCA5OSwgMTAsIDE1LCAyMzYsIDk4LCAxMCwgCisgICAgMTUsIDIzNiwgOTcsIDEwLCAxNSwgMjM2LCA5NiwgMTAsIDE1LCAyMzYsIDk1LCAxMCwgMTUsIDIzNiwgOTQsIDEwLCAxNSwgCisgICAgMjM2LCA5MywgMTAsIDE1LCAyMzYsIDkyLCAxMCwgMTUsIDIzNiwgOTEsIDEwLCAxNSwgMjM2LCA5MCwgMTAsIDE1LCAyMzYsIAorICAgIDg5LCAxMCwgMTUsIDIzNiwgODgsIDEwLCAxNSwgMjM2LCA4NywgMTAsIDE1LCAyMzYsIDg2LCAxMCwgMTUsIDIzNiwgODUsIAorICAgIDEwLCAxNSwgMjM2LCA4NCwgMTAsIDE1LCAyMzYsIDgzLCAxMCwgMTUsIDIzNiwgODIsIDEwLCAxNSwgMjM2LCA4MSwgMTAsIAorICAgIDE1LCAyMzYsIDgwLCAxMCwgMTUsIDIzNiwgNzksIDEwLCAxNSwgMjM2LCA3OCwgMTAsIDE1LCAyMzYsIDc3LCAxMCwgMTUsIAorICAgIDIzNiwgNzYsIDEwLCAxNSwgMjM2LCA3NSwgMTAsIDE1LCAyMzYsIDc0LCAxMCwgMTUsIDIzNiwgNzMsIDEwLCAxNSwgMjM2LCAKKyAgICA3MiwgMTAsIDE1LCAyMzYsIDcxLCAxMCwgMTUsIDIzNiwgNzAsIDEwLCAxNSwgMjM2LCA2OSwgMTAsIDE1LCAyMzYsIDY4LCAKKyAgICAxMCwgMTUsIDIzNiwgNjcsIDEwLCAxNSwgMjM2LCA2NiwgMTAsIDE1LCAyMzYsIDY1LCAxMCwgMTUsIDIzNiwgNjQsIDEwLCAKKyAgICAxNSwgMjM2LCA2MywgMTAsIDE1LCAyMzYsIDYyLCAxMCwgMTUsIDIzNiwgNjEsIDEwLCAxNSwgMjM2LCA2MCwgMTAsIDE1LCAKKyAgICAyMzYsIDU5LCAxMCwgMTUsIDIzNiwgNTgsIDEwLCAxNSwgMjM2LCA1NywgMTAsIDE1LCAyMzYsIDU2LCAxMCwgMTUsIDIzNiwgCisgICAgNTUsIDEwLCAxNSwgMjM2LCA1NCwgMTAsIDE1LCAyMzYsIDUzLCAxMCwgMTUsIDIzNiwgNTIsIDEwLCAxNSwgMjM2LCA1MSwgCisgICAgMTAsIDE1LCAyMzYsIDUwLCAxMCwgMTUsIDIzNiwgNDksIDEwLCAxNSwgMjM2LCA0OCwgMTAsIDE1LCAyMzYsIDQ3LCAxMCwgCisgICAgMTUsIDIzNiwgNDYsIDEwLCAxNSwgMjM2LCA0NSwgMTAsIDE1LCAyMzYsIDQ0LCAxMCwgMTUsIDIzNiwgNDMsIDEwLCAxNSwgCisgICAgMjM2LCA0MiwgMTAsIDE1LCAyMzYsIDQxLCAxMCwgMTUsIDIzNiwgNDAsIDEwLCAxNSwgMjM2LCAzOSwgMTAsIDE1LCAyMzYsIAorICAgIDM4LCAxMCwgMTUsIDIzNiwgMzcsIDEwLCAxNSwgMjM2LCAzNiwgMTAsIDE1LCAyMzYsIDM1LCAxMCwgMTUsIDIzNiwgMzQsIAorICAgIDEwLCAxNSwgMjM2LCAzMywgMTAsIDE1LCAyMzYsIDMyLCAxMCwgMTUsIDIzNiwgMzEsIDEwLCAxNSwgMjM2LCAzMCwgMTAsIAorICAgIDE1LCAyMzYsIDI5LCAxMCwgMTUsIDIzNiwgMjgsIDEwLCAxNSwgMjM2LCAyNywgMTAsIDE1LCAyMzYsIDI2LCAxMCwgMTUsIAorICAgIDIzNiwgMjUsIDEwLCAxNSwgMjM2LCAyNCwgMTAsIDE1LCAyMzYsIDIzLCAxMCwgMTUsIDIzNiwgMjIsIDEwLCAxNSwgMjM2LCAKKyAgICAyMSwgMTAsIDE1LCAyMzYsIDIwLCAxMCwgMTUsIDIzNiwgMTksIDEwLCAxNSwgMjM2LCAxOCwgMTAsIDE1LCAyMzYsIDE3LCAKKyAgICAxMCwgMTUsIDIzNiwgMTYsIDEwLCAxNSwgMjM2LCAxNSwgMTAsIDE1LCAyMzYsIDE0LCAxMCwgMTUsIDIzNiwgMTMsIDEwLCAKKyAgICAxNSwgMjM2LCAxMiwgMTAsIDE1LCAyMzYsIDExLCAxMCwgMTUsIDIzNiwgMTAsIDEwLCAxNSwgMjM2LCA5LCAxMCwgMTUsIAorICAgIDIzNiwgOCwgMTAsIDE1LCAyMzYsIDcsIDEwLCAxNSwgMjM2LCA2LCAxMCwgMTUsIDIzNiwgNSwgMTAsIDE1LCAyMzYsIDQsIAorICAgIDEwLCAxNSwgMjM2LCAzLCAxMCwgMTUsIDIzNiwgMiwgMTAsIDE1LCAyMzYsIDEsIDEwLCAxNSwgMjM2LCAwLCAxMCwgMTUsIAorICAgIDIzNSwgMjU1LCAxMCwgMTUsIDIzNSwgMjU0LCAxMCwgMTUsIDIzNSwgMjUzLCAxMCwgMTUsIDIzNSwgMjUyLCAxMCwgMTUsIAorICAgIDIzNSwgMjUxLCAxMCwgMTUsIDIzNSwgMjUwLCAxMCwgMTUsIDIzNSwgMjQ5LCAxMCwgMTUsIDIzNSwgMjQ4LCAxMCwgMTUsIAorICAgIDIzNSwgMjQ3LCAxMCwgMTUsIDIzNSwgMjQ2LCAxMCwgMTUsIDIzNSwgMjQ1LCAxMCwgMTUsIDIzNSwgMjQ0LCAxMCwgMTUsIAorICAgIDIzNSwgMjQzLCAxMCwgMTUsIDIzNSwgMjQyLCAxMCwgMTUsIDIzNSwgMjQxLCAxMCwgMTUsIDIzNSwgMjQwLCAxMCwgMTUsIAorICAgIDIzNSwgMjM5LCAxMCwgMTUsIDIzNSwgMjM4LCAxMCwgMTUsIDIzNSwgMjM3LCAxMCwgMTUsIDIzNSwgMjM2LCAxMCwgMTUsIAorICAgIDIzNSwgMjM1LCAxMCwgMTUsIDIzNSwgMjM0LCAxMCwgMTUsIDIzNSwgMjMzLCAxMCwgMTUsIDIzNSwgMjMyLCAxMCwgMTUsIAorICAgIDIzNSwgMjMxLCAxMCwgMTUsIDIzNSwgMjMwLCAxMCwgMTUsIDIzNSwgMjI5LCAxMCwgMTUsIDIzNSwgMjI4LCAxMCwgMTUsIAorICAgIDIzNSwgMjI3LCAxMCwgMTUsIDIzNSwgMjI2LCAxMCwgMTUsIDIzNSwgMjI1LCAxMCwgMTUsIDIzNSwgMjI0LCAxMCwgMTUsIAorICAgIDIzNSwgMjIzLCAxMCwgMTUsIDIzNSwgMjIyLCAxMCwgMTUsIDIzNSwgMjIxLCAxMCwgMTUsIDIzNSwgMjIwLCAxMCwgMTUsIAorICAgIDIzNSwgMjE5LCAxMCwgMTUsIDIzNSwgMjE4LCAxMCwgMTUsIDIzNSwgMjE3LCAxMCwgMTUsIDIzNSwgMjE2LCAxMCwgMTUsIAorICAgIDIzNSwgMjE1LCAxMCwgMTUsIDIzNSwgMjE0LCAxMCwgMTUsIDIzNSwgMjEzLCAxMCwgMTUsIDIzNSwgMjEyLCAxMCwgMTUsIAorICAgIDIzNSwgMjExLCAxMCwgMTUsIDIzNSwgMjEwLCAxMCwgMTUsIDIzNSwgMjA5LCAxMCwgMTUsIDIzNSwgMjA4LCAxMCwgMTUsIAorICAgIDIzNSwgMjA3LCAxMCwgMTUsIDIzNSwgMjA2LCAxMCwgMTUsIDIzNSwgMjA1LCAxMCwgMTUsIDIzNSwgMjA0LCAxMCwgMTUsIAorICAgIDIzNSwgMjAzLCAxMCwgMTUsIDIzNSwgMjAyLCAxMCwgMTUsIDIzNSwgMjAxLCAxMCwgMTUsIDIzNSwgMjAwLCAxMCwgMTUsIAorICAgIDIzNSwgMTk5LCAxMCwgMTUsIDIzNSwgMTk4LCAxMCwgMTUsIDIzNSwgMTk3LCAxMCwgMTUsIDIzNSwgMTk2LCAxMCwgMTUsIAorICAgIDIzNSwgMTk1LCAxMCwgMTUsIDIzNSwgMTk0LCAxMCwgMTUsIDIzNSwgMTkzLCAxMCwgMTUsIDIzNSwgMTkyLCAxMCwgMTUsIAorICAgIDIzNSwgMTkxLCAxMCwgMTUsIDIzNSwgMTkwLCAxMCwgMTUsIDIzNSwgMTg5LCAxMCwgMTUsIDIzNSwgMTg4LCAxMCwgMTUsIAorICAgIDIzNSwgMTg3LCAxMCwgMTUsIDIzNSwgMTg2LCAxMCwgMTUsIDIzNSwgMTg1LCAxMCwgMTUsIDIzNSwgMTg0LCAxMCwgMTUsIAorICAgIDIzNSwgMTgzLCAxMCwgMTUsIDIzNSwgMTgyLCAxMCwgMTUsIDIzNSwgMTgxLCAxMCwgMTUsIDIzNSwgMTgwLCAxMCwgMTUsIAorICAgIDIzNSwgMTc5LCAxMCwgMTUsIDIzNSwgMTc4LCAxMCwgMTUsIDIzNSwgMTc3LCAxMCwgMTUsIDIzNSwgMTc2LCAxMCwgMTUsIAorICAgIDIzNSwgMTc1LCAxMCwgMTUsIDIzNSwgMTc0LCAxMCwgMTUsIDIzNSwgMTczLCAxMCwgMTUsIDIzNSwgMTcyLCAxMCwgMTUsIAorICAgIDIzNSwgMTcxLCAxMCwgMTUsIDIzNSwgMTcwLCAxMCwgMTUsIDIzNSwgMTY5LCAxMCwgMTUsIDIzNSwgMTY4LCAxMCwgMTUsIAorICAgIDIzNSwgMTY3LCAxMCwgMTUsIDIzNSwgMTY2LCAxMCwgMTUsIDIzNSwgMTY1LCAxMCwgMTUsIDIzNSwgMTY0LCAxMCwgMTUsIAorICAgIDIzNSwgMTYzLCAxMCwgMTUsIDIzNSwgMTYyLCAxMCwgMTUsIDIzNSwgMTYxLCAxMCwgMTUsIDIzNSwgMTYwLCAxMCwgMTUsIAorICAgIDIzNSwgMTU5LCAxMCwgMTUsIDIzNSwgMTU4LCAxMCwgMTUsIDIzNSwgMTU3LCAxMCwgMTUsIDIzNSwgMTU2LCAxMCwgMTUsIAorICAgIDIzNSwgMTU1LCAxMCwgMTUsIDIzNSwgMTU0LCAxMCwgMTUsIDIzNSwgMTUzLCAxMCwgMTUsIDIzNSwgMTUyLCAxMCwgMTUsIAorICAgIDIzNSwgMTUxLCAxMCwgMTUsIDIzNSwgMTUwLCAxMCwgMTUsIDIzNSwgMTQ5LCAxMCwgMTUsIDIzNSwgMTQ4LCAxMCwgMTUsIAorICAgIDIzNSwgMTQ3LCAxMCwgMTUsIDIzNSwgMTQ2LCAxMCwgMTUsIDIzNSwgMTQ1LCAxMCwgMTUsIDIzNSwgMTQ0LCAxMCwgMTUsIAorICAgIDIzNSwgMTQzLCAxMCwgMTUsIDIzNSwgMTQyLCAyMzAsIDkyLCAyMTIsIDE5OCwgMTUwLCAyMTQsIDE1MywgMTUwLCAyNDIsIAorICAgIDE2OCwgODMsIDE1MCwgMjE5LCAxODAsIDgzLCAxNTAsIDQzLCA1MywgMTUwLCAyNDUsIDM1LCA1MywgMTUwLCAyMjEsIDEzMSwgCisgICAgNTMsIDE1MCwgMjUyLCAxMjUsIDE1MCwgMjUyLCA1MywgMTUwLCA0NywgMjIxLCAyMTYsIDE1MCwgNDgsIDIyMSwgMjE2LCAKKyAgICAxNTAsIDI1MSwgMjA5LCAxNTAsIDEwMSwgNTMsIDE1MCwgMjQ3LCAxNTUsIDE1MCwgMjM3LCAyMzgsIDE1MCwgMjQxLCA4MiwgCisgICAgMjEzLCAyNTEsIDE1MCwgMjE0LCAxODAsIDE1MCwgMTgsIDIwNSwgODUsIDE1MCwgMTgsIDEwMiwgMTUwLCAxOCwgMTA1LCAKKyAgICAxNTAsIDE4LCAxNDIsIDE1MCwgMTgsIDEzOSwgMTUwLCAxOCwgMTY4LCAxNTAsIDE4LCAxODQsIDE1MCwgMTgsIDE5NSwgCisgICAgMTUwLCAxOCwgMTkzLCAxNTAsIDE4LCAyMDAsIDE1MCwgMjQ3LCAxNjIsIDE1MCwgMjE2LCA1MiwgMTUwLCAyMzAsIDEwLCAKKyAgICA1MywgMTUwLCAyNDIsIDI0MiwgNTMsIDE1MCwgMjM5LCAyMzAsIDUzLCAxNTAsIDIxOSwgMTk2LCA4MywgMTUwLCAyNDcsIAorICAgIDE1MywgMjUxLCAxOTksIDE1MCwgNywgNiwgMSwgNjIsIDE1MCwgNywgNiwgMSwgMjUxLCAxNTAsIDE1MCwgNywgNiwgMSwgCisgICAgMjQ5LCAzNCwgMTUwLCA3LCA2LCAxLCAyNDYsIDI0MCwgMTUwLCA3LCA2LCAxLCA3NSwgMTUwLCA3LCA2LCAxLCAyNDIsIAorICAgIDEzOSwgMTUwLCA3LCA2LCAxLCAyNDEsIDU1LCAxNTAsIDcsIDYsIDEsIDIzOSwgMTU1LCAxNTAsIDcsIDYsIDEsIDc0LCAKKyAgICAxNTAsIDcsIDYsIDEsIDIzMiwgMjAzLCAxNTAsIDcsIDYsIDEsIDIzMiwgNzYsIDE1MCwgNywgNiwgMSwgMTQ5LCAxNTAsIDcsIAorICAgIDYsIDEsIDIyOSwgMjgsIDE1MCwgNywgNiwgMSwgMjI2LCAzMywgMTUwLCA3LCA2LCAxLCA3NiwgMTUwLCA3LCA2LCAxLCAKKyAgICAyMjIsIDY3LCAxNTAsIDcsIDYsIDEsIDIyMCwgMjcsIDE1MCwgNywgNiwgMSwgMTM3LCAxNTAsIDcsIDYsIDEsIDE4MiwgCisgICAgMTUwLCA3LCA2LCAxLCAyMTMsIDEwLCAxNTAsIDcsIDYsIDEsIDcxLCAxNTAsIDcsIDYsIDEsIDIwOSwgMTQ4LCAxNTAsIDcsIAorICAgIDYsIDEsIDIwNywgMTI5LCAxNTAsIDcsIDYsIDEsIDIwNiwgMTk1LCAxNTAsIDcsIDYsIDEsIDIwNiwgMTIzLCAxNTAsIDcsIAorICAgIDYsIDEsIDIwNSwgMTU5LCAxNTAsIDQ3LCA0OSwgMTQ1LCAxNTAsIDIxOCwgMjI1LCAyMTQsIDE4MCwgMTUwLCA0OCwgNDksIAorICAgIDE0NSwgMTUwLCAyNDcsIDIyOCwgMjUzLCAyMSwgMTUwLCAxMTQsIDIyOSwgMjA1LCAxNTAsIDIzOSwgMjM3LCAyNTMsIDIxLCAKKyAgICAxNTAsIDcsIDUsIDEsIDYyLCAxNTAsIDcsIDUsIDEsIDI1MSwgMTUwLCAxNTAsIDcsIDUsIDEsIDI0OSwgMzQsIDE1MCwgNywgCisgICAgNSwgMSwgMjQ2LCAyNDAsIDE1MCwgNywgNSwgMSwgNzUsIDE1MCwgNywgNSwgMSwgMjQyLCAxMzksIDE1MCwgNywgNSwgMSwgCisgICAgMjQxLCA1NSwgMTUwLCA3LCA1LCAxLCAyMzksIDE1NSwgMTUwLCA3LCA1LCAxLCA3NCwgMTUwLCA3LCA1LCAxLCAyMzIsIAorICAgIDIwMywgMTUwLCA3LCA1LCAxLCAyMzIsIDc2LCAxNTAsIDcsIDUsIDEsIDE0OSwgMTUwLCA3LCA1LCAxLCAyMjksIDI4LCAKKyAgICAxNTAsIDcsIDUsIDEsIDIyNiwgMzMsIDE1MCwgNywgNSwgMSwgNzYsIDE1MCwgNywgNSwgMSwgMjIyLCA2NywgMTUwLCA3LCAKKyAgICA1LCAxLCAyMjAsIDI3LCAxNTAsIDcsIDUsIDEsIDEzNywgMTUwLCA3LCA1LCAxLCAxODIsIDE1MCwgNywgNSwgMSwgMjEzLCAKKyAgICAxMCwgMTUwLCA3LCA1LCAxLCA3MSwgMTUwLCA3LCA1LCAxLCAyMDksIDE0OCwgMTUwLCA3LCA1LCAxLCAyMDcsIDEyOSwgCisgICAgMTUwLCA3LCA1LCAxLCAyMDYsIDE5NSwgMTUwLCA3LCA1LCAxLCAyMDYsIDEyMywgMTUwLCA3LCA1LCAxLCAyMDUsIDE1OSwgCisgICAgMTUwLCA0NywgMjQ3LCAyNiwgMTQ1LCAxNTAsIDc5LCAyMjksIDIwNSwgMTUwLCA0OCwgMjQ3LCAyNiwgMTQ1LCAxNTAsIAorICAgIDIxMSwgMTgwLCAyNDgsIDIyNSwgMjEyLCAxOTgsIDU0LCAyMTYsIDIzNiwgNTQsIDIxNiwgMjI1LCA1NCwgMjE2LCAyMTQsIAorICAgIDU0LCAyMTYsIDIwMiwgNTQsIDIxNiwgMTkxLCA1NCwgMjE2LCAxODAsIDU0LCAyMTYsIDE2OSwgNTQsIDIxNiwgMTU4LCA1NCwgCisgICAgMjE2LCAxNDcsIDU0LCAyMTYsIDEzOSwgNTQsIDIxNiwgMTM4LCA1NCwgMjE2LCAxMzcsIDU0LCAyMTYsIDEzNiwgNTQsIAorICAgIDIxNiwgMTM0LCA1NCwgMjE2LCAxMzMsIDU0LCAyMTYsIDEzMiwgNTQsIDIxNiwgMTMxLCA1NCwgMjE2LCAxMzAsIDU0LCAKKyAgICAyMTYsIDEyOSwgNTQsIDIxNiwgMTI4LCA1NCwgMjE2LCAxMjcsIDU0LCAyMTYsIDEyNiwgNTQsIDIxNiwgMTI1LCA1NCwgCisgICAgMjE2LCAxMjMsIDU0LCAyMTYsIDEyMiwgNTQsIDIxNiwgMTIxLCA1NCwgMjE2LCAxMjAsIDU0LCAyMTYsIDExOSwgNTQsIAorICAgIDIxNiwgMTE4LCA1NCwgMjE2LCAxMTcsIDU0LCAyMTYsIDExNiwgNTQsIDIxNiwgMTE1LCA1NCwgMjE2LCAxMTQsIDU0LCAKKyAgICAyMTYsIDExMiwgNTQsIDIxNiwgMTExLCA1NCwgMjE2LCAxMTAsIDU0LCAyMTYsIDEwOSwgNTQsIDIxNiwgMTA4LCA1NCwgCisgICAgMjE2LCAxMDcsIDU0LCAyMTYsIDEwNiwgNTQsIDIxNiwgMTA1LCA1NCwgMjE2LCAxMDQsIDU0LCAyMTYsIDEwMywgNTQsIAorICAgIDIxNiwgMTAxLCA1NCwgMjE2LCAxMDAsIDU0LCAyMTYsIDk5LCA1NCwgMjE2LCA5OCwgNTQsIDIxNiwgOTcsIDU0LCAyMTYsIAorICAgIDk2LCA1NCwgMjE2LCA5NSwgNTQsIDIxNiwgOTQsIDU0LCAyMTYsIDkzLCA1NCwgMjE2LCA5MiwgNTQsIDIxNiwgOTAsIDU0LCAKKyAgICAyMTYsIDg5LCA1NCwgMjE2LCA4OCwgNTQsIDIxNiwgODcsIDU0LCAyMTYsIDg2LCA1NCwgMjE2LCA4NSwgNTQsIDIxNiwgODQsIAorICAgIDU0LCAyMTYsIDgzLCA1NCwgMjE2LCA4MiwgNTQsIDIxNiwgODEsIDU0LCAyMTYsIDc5LCA1NCwgMjE2LCA3OCwgNTQsIDIxNiwgCisgICAgNzcsIDU0LCAyMTYsIDc2LCA1NCwgMjE2LCA3NSwgNTQsIDIxNiwgNzQsIDU0LCAyMTYsIDczLCA1NCwgMjE2LCA3MiwgNTQsIAorICAgIDIxNiwgNzEsIDU0LCAyMTYsIDcwLCA1NCwgMjE2LCA2OCwgNTQsIDIxNiwgNjcsIDU0LCAyMTYsIDY2LCA1NCwgMjE2LCA2NSwgCisgICAgNTQsIDIxNiwgNjQsIDU0LCAyMTYsIDYzLCA1NCwgMjE2LCA2MiwgNTQsIDIxNiwgNjEsIDU0LCAyMTYsIDYwLCA1NCwgMjE2LCAKKyAgICA1OSwgNTQsIDIxNywgNTYsIDU0LCAyMTcsIDU1LCA1NCwgMjE3LCA1NCwgNTQsIDIxNywgNTMsIDU0LCAyMTcsIDUyLCA1NCwgCisgICAgMjE3LCA1MSwgNTQsIDIxNywgNTAsIDU0LCAyMTcsIDQ5LCA1NCwgMjE3LCA0OCwgNTQsIDIxNywgNDcsIDU0LCAyMTcsIDQ1LCAKKyAgICA1NCwgMjE3LCA0NCwgNTQsIDIxNywgNDMsIDU0LCAyMTcsIDQyLCA1NCwgMjE3LCA0MSwgNTQsIDIxNywgNDAsIDU0LCAyMTcsIAorICAgIDM5LCA1NCwgMjE3LCAzOCwgNTQsIDIxNywgMzcsIDU0LCAyMTcsIDM2LCA1NCwgMjE3LCAzNCwgNTQsIDIxNywgMzMsIDU0LCAKKyAgICAyMTcsIDMyLCA1NCwgMjE3LCAzMSwgNTQsIDIxNywgMzAsIDU0LCAyMTcsIDI5LCA1NCwgMjE3LCAyOCwgNTQsIDIxNywgMjcsIAorICAgIDU0LCAyMTcsIDI2LCA1NCwgMjE3LCAyNSwgNTQsIDIxNywgMjMsIDU0LCAyMTcsIDIyLCA1NCwgMjE3LCAyMSwgNTQsIDIxNywgCisgICAgMjAsIDU0LCAyMTcsIDE5LCA1NCwgMjE3LCAxOCwgNTQsIDIxNywgMTcsIDU0LCAyMTcsIDE2LCA1NCwgMjE3LCAxNSwgNTQsIAorICAgIDIxNywgMTQsIDU0LCAyMTcsIDEyLCA1NCwgMjE3LCAxMSwgNTQsIDIxNywgMTAsIDU0LCAyMTcsIDksIDU0LCAyMTcsIDgsIAorICAgIDU0LCAyMTcsIDcsIDU0LCAyMTcsIDYsIDU0LCAyMTcsIDUsIDU0LCAyMTcsIDQsIDU0LCAyMTcsIDMsIDU0LCAyMTcsIDEsIAorICAgIDU0LCAyMTcsIDAsIDU0LCAyMTYsIDI1NSwgNTQsIDIxNiwgMjU0LCA1NCwgMjE2LCAyNTMsIDU0LCAyMTYsIDI1MiwgNTQsIAorICAgIDIxNiwgMjUxLCA1NCwgMjE2LCAyNTAsIDU0LCAyMTYsIDI0OSwgNTQsIDIxNiwgMjQ4LCA1NCwgMjE2LCAyNDYsIDU0LCAKKyAgICAyMTYsIDI0NSwgNTQsIDIxNiwgMjQ0LCA1NCwgMjE2LCAyNDMsIDU0LCAyMTYsIDI0MiwgNTQsIDIxNiwgMjQxLCA1NCwgCisgICAgMjE2LCAyNDAsIDU0LCAyMTYsIDIzOSwgNTQsIDIxNiwgMjM4LCA1NCwgMjE2LCAyMzcsIDU0LCAyMTYsIDIzNSwgNTQsIAorICAgIDIxNiwgMjM0LCA1NCwgMjE2LCAyMzMsIDU0LCAyMTYsIDIzMiwgNTQsIDIxNiwgMjMxLCA1NCwgMjE2LCAyMzAsIDU0LCAKKyAgICAyMTYsIDIyOSwgNTQsIDIxNiwgMjI4LCA1NCwgMjE2LCAyMjcsIDU0LCAyMTYsIDIyNiwgNTQsIDIxNiwgMjI0LCA1NCwgCisgICAgMjE2LCAyMjMsIDU0LCAyMTYsIDIyMiwgNTQsIDIxNiwgMjIxLCA1NCwgMjE2LCAyMjAsIDU0LCAyMTYsIDIxOSwgNTQsIAorICAgIDIxNiwgMjE4LCA1NCwgMjE2LCAyMTcsIDU0LCAyMTYsIDIxNiwgNTQsIDIxNiwgMjE1LCA1NCwgMjE2LCAyMTMsIDU0LCAKKyAgICAyMTYsIDIxMiwgNTQsIDIxNiwgMjExLCA1NCwgMjE2LCAyMTAsIDU0LCAyMTYsIDIwOSwgNTQsIDIxNiwgMjA4LCA1NCwgCisgICAgMjE2LCAyMDcsIDU0LCAyMTYsIDIwNiwgNTQsIDIxNiwgMjA1LCA1NCwgMjE2LCAyMDQsIDU0LCAyMTYsIDIwMSwgNTQsIAorICAgIDIxNiwgMjAwLCA1NCwgMjE2LCAxOTksIDU0LCAyMTYsIDE5OCwgNTQsIDIxNiwgMTk3LCA1NCwgMjE2LCAxOTYsIDU0LCAKKyAgICAyMTYsIDE5NSwgNTQsIDIxNiwgMTk0LCA1NCwgMjE2LCAxOTMsIDU0LCAyMTYsIDE5MiwgNTQsIDIxNiwgMTkwLCA1NCwgCisgICAgMjE2LCAxODksIDU0LCAyMTYsIDE4OCwgNTQsIDIxNiwgMTg3LCA1NCwgMjE2LCAxODYsIDU0LCAyMTYsIDE4NSwgNTQsIAorICAgIDIxNiwgMTg0LCA1NCwgMjE2LCAxODMsIDU0LCAyMTYsIDE4MiwgNTQsIDIxNiwgMTgxLCA1NCwgMjE2LCAxNzksIDU0LCAKKyAgICAyMTYsIDE3OCwgNTQsIDIxNiwgMTc3LCA1NCwgMjE2LCAxNzYsIDU0LCAyMTYsIDE3NSwgNTQsIDIxNiwgMTc0LCA1NCwgCisgICAgMjE2LCAxNzMsIDU0LCAyMTYsIDE3MiwgNTQsIDIxNiwgMTcxLCA1NCwgMjE2LCAxNzAsIDU0LCAyMTYsIDE2OCwgNTQsIAorICAgIDIxNiwgMTY3LCA1NCwgMjE2LCAxNjYsIDU0LCAyMTYsIDE2NSwgNTQsIDIxNiwgMTY0LCA1NCwgMjE2LCAxNjMsIDU0LCAKKyAgICAyMTYsIDE2MiwgNTQsIDIxNiwgMTYxLCA1NCwgMjE2LCAxNjAsIDU0LCAyMTYsIDE1OSwgNTQsIDIxNiwgMTU3LCA1NCwgCisgICAgMjE2LCAxNTYsIDU0LCAyMTYsIDE1NSwgNTQsIDIxNiwgMTU0LCA1NCwgMjE2LCAxNTMsIDU0LCAyMTYsIDE1MiwgNTQsIAorICAgIDIxNiwgMTUxLCA1NCwgMjE2LCAxNTAsIDU0LCAyMTYsIDE0OSwgNTQsIDIxNiwgMTQ4LCA1NCwgMjE2LCAxNDYsIDU0LCAKKyAgICAyMTYsIDE0NSwgNTQsIDIxNiwgMTQ0LCA1NCwgMjE2LCAxNDMsIDU0LCAyMTYsIDE0MiwgNTQsIDIxNiwgMTQxLCA1NCwgCisgICAgMjE2LCAxNDAsIDIyMywgMTgxLCAyMjMsIDE4MywgMjE0LCAyMiwgNzMsIDIzOSwgNjYsIDIxNCwgMTgzLCAyMTQsIDIyLCAKKyAgICA3MywgMjEyLCA2MCwgMjEzLCAyMDUsIDI0MywgMzQsIDczLCAyMTIsIDYwLCAyNDIsIDE5MywgMjQzLCAzNCwgNzMsIDIxMSwgCisgICAgNjksIDI0MiwgMjU0LCAyNDMsIDIxLCAyNDMsIDIyLCAyNTMsIDEzLCAyNTMsIDE0LCAyNTIsIDE2OSwgMjUwLCAzMSwgMjUwLCAKKyAgICAxNzAsIDI0OSwgMTA3LCAxNTcsIDIxMiwgMjAzLCAxOTQsIDIxMiwgMjAzLCAyMzgsIDQ3LCAyMTIsIDIwNywgMjI5LCAyMDYsIAorICAgIDI0MiwgMTksIDE4NiwgMjI5LCAyMDUsIDI0MywgMzQsIDczLCAyMjksIDIwNSwgMjI5LCAyNTAsIDIyNCwgMTI5LCAyNDMsIAorICAgIDEsIDIyOSwgMjA2LCAyMTIsIDIwMywgNzksIDIxMiwgMjAzLCAyMDcsIDE1MCwgMjQxLCAxMzYsIDI0MiwgMTksIDI0MSwgCisgICAgMjU0LCAyNDgsIDE5MSwgMjE4LCAyMjgsIDI0NywgNzMsIDIxNSwgMTc5LCAyMjIsIDkzLCAyMjksIDEzOCwgMTAyLCAyMTQsIAorICAgIDE5MywgMjE1LCAxNzksIDIzMywgNjgsIDIyOSwgMTM4LCAyMDUsIDg1LCAyMTUsIDgwLCAyNDYsIDczLCAyMjksIDE5NiwgCisgICAgMjQyLCAyMTcsIDI0NSwgNjEsIDI0NSwgMTk5LCAyNDcsIDEwOSwgMTAyLCAyNDYsIDYyLCAyNDUsIDE5OSwgMjQ3LCAxMDksIAorICAgIDEwNSwgMjQ2LCA2MSwgMjQ1LCAxOTksIDI0NywgMTA5LCAxNDIsIDI0NiwgNjAsIDI0NSwgMTk5LCAyNDcsIDEwOSwgMTM5LCAKKyAgICAyNDYsIDU5LCAxNzAsIDI1MywgMTMsIDIyNSwgMjE1LCAyMTMsIDM2LCAyMzMsIDEzMSwgMjEzLCAzOSwgMjQzLCAzNCwgNzMsIAorICAgIDIxMSwgNzAsIDI0OSwgMTkzLCAyNDIsIDIwMCwgMjQ4LCAyMjQsIDI0OCwgMjI2LCAyNDMsIDM0LCA3MywgMjI3LCAxMDgsIAorICAgIDI0MiwgMjU1LCAyMTMsIDE3OSwgMjEzLCAxOTYsIDI0MiwgMjE3LCAyNDIsIDIxOCwgMjMzLCA0MywgMjE2LCA0MCwgMTM5LCAKKyAgICAyNDEsIDIzNiwgMjE2LCAzOSwgMjQxLCA5MiwgMjMzLCA0MywgMjE2LCA0MCwgMTQyLCAyMzksIDIyMSwgMjE2LCAzOSwgCisgICAgMjM5LCAyMTgsIDIzMywgNDMsIDIxNiwgNDAsIDEwNSwgMjE5LCA0MywgMjE2LCAzOSwgMjE4LCA1NSwgMjMzLCA0MywgMjE2LCAKKyAgICA0MCwgMTAyLCAyMDksIDIxNywgMjE2LCAzOSwgMjA5LCAxNzcsIDIxNCwgMTU2LCAyNDUsIDIzNiwgMjQ1LCAyMzgsIDIyMiwgCisgICAgNDAsIDI0OCwgOTQsIDIyMiwgNDIsIDEyNywgMjIyLCAyMTMsIDIyMCwgMTMwLCAyMzgsIDEyNCwgMjQ5LCAxMjYsIDIyMSwgCisgICAgMTIxLCAyMzksIDM1LCAyNDksIDEzNywgMjI0LCA2OCwgMjQ5LCAxMjYsIDIzOSwgMzUsIDIyNSwgMTc5LCAyMzMsIDUzLCAKKyAgICAyMzMsIDU2LCAyMjUsIDgyLCAyMjksIDIwNSwgMjI1LCAxMDIsIDIxNCwgMjIsIDczLCAyMTcsIDYxLCAyNTIsIDEzLCAyMTQsIAorICAgIDk2LCAyNDMsIDM0LCA3MywgMjE3LCA2MSwgMjUyLCAxMywgMjQyLCAyMjAsIDE1NywgMjEyLCAyMDQsIDIxNiwgMjgsIDE5NCwgCisgICAgMjEyLCAyMDQsIDIxNiwgMjgsIDIzOCwgNDQsIDE1NywgMjEyLCAyMDQsIDIsIDIzMiwgODgsIDE5NCwgMjEyLCAyMDQsIDIsIAorICAgIDIzMiwgODgsIDIzOCwgNDUsIDIyOSwgMjA2LCAyMTIsIDIwNCwgMjE2LCAyOCwgNzksIDIxMiwgMjA0LCAyMTYsIDI4LCAKKyAgICAyMDcsIDE0OSwgMjIxLCAyMDksIDIyOSwgMjA2LCAyNDEsIDEyOSwgMjIxLCAyMDksIDIyOSwgMjA2LCAyNDQsIDgsIDIyMCwgCisgICAgMjI5LCAyMjEsIDIwOSwgMjI5LCAyMDYsIDI1MCwgMTY5LCAyMjEsIDIwOSwgMjI5LCAyMDYsIDIwOSwgMjA2LCAyMjAsIAorICAgIDIyNCwgMjE4LCAyMjUsIDIyOSwgMjA2LCAyNDIsIDE5LCAyMTgsIDIyNSwgMjMzLCA1MywgMjE4LCAyMDgsIDIxNSwgNDEsIAorICAgIDIxNSwgMTc5LCAxMDUsIDIxNSwgMzgsIDIxNCwgOTgsIDIxNSwgNDEsIDIxNSwgMTc5LCAxNDIsIDIxNSwgMzcsIDIxNCwgCisgICAgOTcsIDI0NSwgMTk5LCAyNDcsIDEwOSwgMjEzLCAyMjcsIDI0NiwgNTcsIDIyMCwgMTE4LCAyMDksIDE3NiwgMTAyLCAyMjAsIAorICAgIDExOCwgMjA5LCAxNzQsIDIyMCwgODEsIDIyMCwgMTE4LCAyMDksIDE3NiwgMTA1LCAyMjAsIDExOCwgMjA5LCAxNzMsIDIyMCwgCisgICAgODAsIDIxNiwgMjksIDIxMSwgNjgsIDIxNCwgMjEsIDIxMywgMjEwLCAyNDgsIDIyNSwgMjQ4LCA5NCwgMjQ4LCAxNjcsIAorICAgIDIyNywgNjcsIDIwNywgODksIDIyNiwgNTEsIDIxNCwgMjIsIDczLCAyMzksIDIwNiwgMjUyLCAxMywgMjE0LCAyMiwgNzMsIAorICAgIDIyMCwgOTksIDI1MiwgMTMsIDIxNCwgMTU1LCAyNDMsIDM0LCA3MywgMjM5LCAyMDYsIDI1MiwgMTMsIDI0MywgMzQsIDczLCAKKyAgICAyMjAsIDk5LCAyNTIsIDEzLCAyNDIsIDI1MiwgMjE0LCAyMiwgNzMsIDIxMywgMjI3LCAyMTQsIDE2OSwgMjE1LCA0MSwgCisgICAgMjM5LCAyNDEsIDE1NywgMjMzLCA0LCAyMTYsIDcsIDIxNSwgNDEsIDE1NywgMjMzLCA0LCAyMTcsIDk5LCAyNDcsIDEwOSwgCisgICAgMjE2LCAzNywgMjMzLCA0LCAyNDcsIDQxLCAyMTMsIDIyOCwgMjEyLCA4NiwgMjE0LCA0MCwgMjIyLCAxMzQsIDIxMywgMjUsIAorICAgIDI0NywgMTU0LCAyMjIsIDEwNSwgMjIwLCAxMTksIDIyNywgNjYsIDIyMCwgMjE0LCAyNTIsIDQ5LCAyMjAsIDExMywgMjQ3LCAKKyAgICAxNTQsIDI1MiwgNjUsIDIyNSwgMTY3LCAyMTUsIDg5LCA3LCA2LCAxLCAyNDAsIDk5LCA3LCA1LCAxLCAyNDAsIDk5LCAyNDgsIAorICAgIDExMiwgMjUyLCAxNTAsIDIxMywgMzAsIDIxMywgMTg1LCAyNDcsIDE2MywgMjE0LCAyNDYsIDIzMCwgNDYsIDE4MywgMSwgCisgICAgMjI5LCAxNjMsIDIzMCwgOTAsIDEsIDI0MSwgMTYzLCAyNDEsIDE1NCwgMjMwLCA5MCwgMSwgMjQxLCAxNjMsIDI0MiwgMzEsIAorICAgIDIzMCwgOTAsIDEsIDIxOCwgMTI0LCAyMzAsIDkwLCAxLCAyMjksIDE0NCwgNzIsIDE0MSwgMjQ5LCAyMDQsIDIxNSwgMTU0LCAKKyAgICAyNDAsIDYyLCAyMjcsIDE2LCAyMTgsIDIxNSwgMjQxLCA2OSwgMjQxLCA2OCwgMjQxLCA2NywgMjI2LCA1MywgMjA0LCAyNDYsIAorICAgIDIwNCwgMjQ3LCAyMDQsIDI0OSwgMjI5LCA4NSwgMjE4LCAxMzIsIDIyOSwgODcsIDIxOCwgMTM0LCAyMjEsIDE3NywgMjI5LCAKKyAgICA4NCwgMjE4LCAxMzEsIDIyNCwgOTksIDIyNiwgMTg1LCAyMDYsIDI1MiwgMjI5LCA4NiwgMjE4LCAxMzMsIDI0MSwgOTEsIAorICAgIDIyMSwgMTc2LCAyMDcsIDQyLCAyNDMsIDUzLCAyNDEsIDc5LCAyMjYsIDI1MywgMjIyLCAxNjYsIDIwOSwgMTc4LCA5MywgCisgICAgMjI2LCAyNTMsIDI0NiwgNzksIDkzLCA5LCA0LCAyMzIsIDIxOCwgODMsIDIyMCwgMTMxLCAyNDEsIDEzNiwgMzMsIDc5LCAKKyAgICA0OCwgNTksIDIzMCwgMTYsIDE0NSwgMjA4LCAxNTAsIDIwOCwgMzksIDIwNywgMjI3LCAyMDcsIDIxNiwgMjA3LCAyMDUsIAorICAgIDIwNywgMTk0LCAyMDcsIDE4MywgMjA3LCAxNzIsIDIwNywgMTYxLCAyMDgsIDE0OSwgMjA4LCAxMzgsIDIwOCwgMTI3LCAKKyAgICAyMDgsIDExNiwgMjA4LCAxMDUsIDIwOCwgOTQsIDIwOCwgODMsIDI0OSwgMzksIDIyMiwgMTE5LCA4MywgMjQ5LCAxNzUsIAorICAgIDIwNCwgMjQ4LCAxNCwgMywgMjIzLCAxOTAsIDIxMiwgODksIDE0LCAzLCAyMjMsIDE5MCwgMTMxLCAyMjMsIDE5MCwgMjQ5LCAKKyAgICA2OSwgMTMxLCAyNDksIDY4LCA1OCwgMzAsIDE2LCAyNDEsIDkwLCAyMTQsIDI0MiwgMjQ4LCAxOCwgMjA5LCA0OSwgMjA4LCAKKyAgICA3MiwgMjA4LCA2MSwgMjA4LCA1MCwgMjA4LCAzOCwgMjA4LCAyNywgMjA4LCAxNiwgMjA4LCA1LCAyMDcsIDI1MCwgMjA3LCAKKyAgICAyMzksIDIwNywgMjMxLCAyMDcsIDIzMCwgMjA3LCAyMjksIDIwNywgMjI4LCAyMDcsIDIyNiwgMjA3LCAyMjUsIDIwNywgCisgICAgMjI0LCAyMDcsIDIyMywgMjA3LCAyMjIsIDIwNywgMjIxLCAyMDcsIDIyMCwgMjA3LCAyMTksIDIwNywgMjE4LCAyMDcsIAorICAgIDIxNywgMjA3LCAyMTUsIDIwNywgMjE0LCAyMDcsIDIxMywgMjA3LCAyMTIsIDIwNywgMjExLCAyMDcsIDIxMCwgMjA3LCAKKyAgICAyMDksIDIwNywgMjA4LCAyMDcsIDIwNywgMjA3LCAyMDYsIDIwNywgMjA0LCAyMDcsIDIwMywgMjA3LCAyMDIsIDIwNywgCisgICAgMjAxLCAyMDcsIDIwMCwgMjA3LCAxOTksIDIwNywgMTk4LCAyMDcsIDE5NywgMjA3LCAxOTYsIDIwNywgMTk1LCAyMDcsIAorICAgIDE5MywgMjA3LCAxOTIsIDIwNywgMTkxLCAyMDcsIDE5MCwgMjA3LCAxODksIDIwNywgMTg4LCAyMDcsIDE4NywgMjA3LCAKKyAgICAxODYsIDIwNywgMTg1LCAyMDcsIDE4NCwgMjA3LCAxODIsIDIwNywgMTgxLCAyMDcsIDE4MCwgMjA3LCAxNzksIDIwNywgCisgICAgMTc4LCAyMDcsIDE3NywgMjA3LCAxNzYsIDIwNywgMTc1LCAyMDcsIDE3NCwgMjA3LCAxNzMsIDIwNywgMTcxLCAyMDcsIAorICAgIDE3MCwgMjA3LCAxNjksIDIwNywgMTY4LCAyMDcsIDE2NywgMjA3LCAxNjYsIDIwNywgMTY1LCAyMDcsIDE2NCwgMjA3LCAKKyAgICAxNjMsIDIwNywgMTYyLCAyMDcsIDE2MCwgMjA3LCAxNTksIDIwNywgMTU4LCAyMDcsIDE1NywgMjA3LCAxNTYsIDIwNywgCisgICAgMTU1LCAyMDcsIDE1NCwgMjA3LCAxNTMsIDIwNywgMTUyLCAyMDcsIDE1MSwgMjA4LCAxNDgsIDIwOCwgMTQ3LCAyMDgsIAorICAgIDE0NiwgMjA4LCAxNDUsIDIwOCwgMTQ0LCAyMDgsIDE0MywgMjA4LCAxNDIsIDIwOCwgMTQxLCAyMDgsIDE0MCwgMjA4LCAKKyAgICAxMzksIDIwOCwgMTM3LCAyMDgsIDEzNiwgMjA4LCAxMzUsIDIwOCwgMTM0LCAyMDgsIDEzMywgMjA4LCAxMzIsIDIwOCwgCisgICAgMTMxLCAyMDgsIDEzMCwgMjA4LCAxMjksIDIwOCwgMTI4LCAyMDgsIDEyNiwgMjA4LCAxMjUsIDIwOCwgMTI0LCAyMDgsIAorICAgIDEyMywgMjA4LCAxMjIsIDIwOCwgMTIxLCAyMDgsIDEyMCwgMjA4LCAxMTksIDIwOCwgMTE4LCAyMDgsIDExNywgMjA4LCAKKyAgICAxMTUsIDIwOCwgMTE0LCAyMDgsIDExMywgMjA4LCAxMTIsIDIwOCwgMTExLCAyMDgsIDExMCwgMjA4LCAxMDksIDIwOCwgCisgICAgMTA4LCAyMDgsIDEwNywgMjA4LCAxMDYsIDIwOCwgMTA0LCAyMDgsIDEwMywgMjA4LCAxMDIsIDIwOCwgMTAxLCAyMDgsIAorICAgIDEwMCwgMjA4LCA5OSwgMjA4LCA5OCwgMjA4LCA5NywgMjA4LCA5NiwgMjA4LCA5NSwgMjA4LCA5MywgMjA4LCA5MiwgMjA4LCAKKyAgICA5MSwgMjA4LCA5MCwgMjA4LCA4OSwgMjA4LCA4OCwgMjA4LCA4NywgMjA4LCA4NiwgMjA4LCA4NSwgMjA4LCA4NCwgMjA4LCAKKyAgICA4MiwgMjA4LCA4MSwgMjA4LCA4MCwgMjA4LCA3OSwgMjA4LCA3OCwgMjA4LCA3NywgMjA4LCA3NiwgMjA4LCA3NSwgMjA4LCAKKyAgICA3NCwgMjA4LCA3MywgMjA4LCA3MSwgMjA4LCA3MCwgMjA4LCA2OSwgMjA4LCA2OCwgMjA4LCA2NywgMjA4LCA2NiwgMjA4LCAKKyAgICA2NSwgMjA4LCA2NCwgMjA4LCA2MywgMjA4LCA2MiwgMjA4LCA2MCwgMjA4LCA1OSwgMjA4LCA1OCwgMjA4LCA1NywgMjA4LCAKKyAgICA1NiwgMjA4LCA1NSwgMjA4LCA1NCwgMjA4LCA1MywgMjA4LCA1MiwgMjA4LCA1MSwgMjA4LCA0OSwgMjA4LCA0OCwgMjA4LCAKKyAgICA0NywgMjA4LCA0NiwgMjA4LCA0NSwgMjA4LCA0NCwgMjA4LCA0MywgMjA4LCA0MiwgMjA4LCA0MSwgMjA4LCA0MCwgMjA4LCAKKyAgICAzNywgMjA4LCAzNiwgMjA4LCAzNSwgMjA4LCAzNCwgMjA4LCAzMywgMjA4LCAzMiwgMjA4LCAzMSwgMjA4LCAzMCwgMjA4LCAKKyAgICAyOSwgMjA4LCAyOCwgMjA4LCAyNiwgMjA4LCAyNSwgMjA4LCAyNCwgMjA4LCAyMywgMjA4LCAyMiwgMjA4LCAyMSwgMjA4LCAKKyAgICAyMCwgMjA4LCAxOSwgMjA4LCAxOCwgMjA4LCAxNywgMjA4LCAxNSwgMjA4LCAxNCwgMjA4LCAxMywgMjA4LCAxMiwgMjA4LCAKKyAgICAxMSwgMjA4LCAxMCwgMjA4LCA5LCAyMDgsIDgsIDIwOCwgNywgMjA4LCA2LCAyMDgsIDQsIDIwOCwgMywgMjA4LCAyLCAyMDgsIAorICAgIDEsIDIwOCwgMCwgMjA3LCAyNTUsIDIwNywgMjU0LCAyMDcsIDI1MywgMjA3LCAyNTIsIDIwNywgMjUxLCAyMDcsIDI0OSwgCisgICAgMjA3LCAyNDgsIDIwNywgMjQ3LCAyMDcsIDI0NiwgMjA3LCAyNDUsIDIwNywgMjQ0LCAyMDcsIDI0MywgMjA3LCAyNDIsIAorICAgIDIwNywgMjQxLCAyMDcsIDI0MCwgMjA3LCAyMzgsIDIwNywgMjM3LCAyMDcsIDIzNiwgMjA3LCAyMzUsIDIwNywgMjM0LCAKKyAgICAyMDcsIDIzMywgMjA3LCAyMzIsIDcsIDYsIDEsIDMyLCAyLCAyMjgsIDE0LCAyMywgMjM5LCAyMzYsIDcsIDUsIDEsIDMyLCAKKyAgICAyLCAyMjgsIDE0LCAyMywgMjM5LCAyMzYsIDcsIDYsIDEsIDE3NCwgMiwgNzksIDIyOSwgMjA2LCA1NSwgNywgNSwgMSwgCisgICAgMTc0LCAyLCA3OSwgMjI5LCAyMDYsIDU1LCA3LCA2LCAxLCAxNzQsIDIsIDc5LCAyMjksIDIwNiwgMjUwLCAyNiwgMjMsIAorICAgIDIzOSwgMjM2LCA3LCA1LCAxLCAxNzQsIDIsIDc5LCAyMjksIDIwNiwgMjUwLCAyNiwgMjMsIDIzOSwgMjM2LCA3LCA2LCAxLCAKKyAgICAxNzQsIDIsIDc5LCAyMjksIDIwNiwgMjUwLCAyNiwgMjMsIDE1MywgNywgNSwgMSwgMTc0LCAyLCA3OSwgMjI5LCAyMDYsIAorICAgIDI1MCwgMjYsIDIzLCAxNTMsIDcsIDYsIDEsIDE3NCwgMiwgMjQ3LCAyMjgsIDIzLCAyMjgsIDEzLCA3LCA1LCAxLCAxNzQsIAorICAgIDIsIDI0NywgMjI4LCAyMywgMjI4LCAxMywgNywgNiwgMSwgMTc0LCAyLCAyNDcsIDIyOCwgMjMsIDI0OCwgMTk1LCA3LCA1LCAKKyAgICAxLCAxNzQsIDIsIDI0NywgMjI4LCAyMywgMjQ4LCAxOTUsIDcsIDYsIDEsIDIzNywgMjI1LCAyLCAyMjgsIDE0LCAyMywgCisgICAgMjM5LCAyMzYsIDcsIDUsIDEsIDIzNywgMjI1LCAyLCAyMjgsIDE0LCAyMywgMjM5LCAyMzYsIDcsIDUsIDEsIDIzNywgMjI1LCAKKyAgICAyLCA2NywgODQsIDIzLCAxNTMsIDcsIDUsIDEsIDIyNSwgODAsIDIsIDIxMSwgMTgxLCA1MiwgNywgNiwgMSwgMTQ4LCAyLCAKKyAgICA3OSwgMjI5LCAyMDYsIDU1LCA3LCA1LCAxLCAxNDgsIDIsIDc5LCAyMjksIDIwNiwgNTUsIDcsIDYsIDEsIDE0OCwgMiwgNzksIAorICAgIDIyOSwgMjA2LCAyNTAsIDI2LCAyMywgMjM5LCAyMzYsIDcsIDUsIDEsIDE0OCwgMiwgNzksIDIyOSwgMjA2LCAyNTAsIDI2LCAKKyAgICAyMywgMjM5LCAyMzYsIDcsIDYsIDEsIDE0OCwgMiwgNzksIDIyOSwgMjA2LCAyNTAsIDI2LCAyMywgMTUzLCA3LCA1LCAxLCAKKyAgICAxNDgsIDIsIDc5LCAyMjksIDIwNiwgMjUwLCAyNiwgMjMsIDE1MywgNywgNiwgMSwgMjE4LCAxLCAyLCA3OSwgMjI5LCAyMDYsIAorICAgIDU1LCA3LCA1LCAxLCAyMTgsIDEsIDIsIDc5LCAyMjksIDIwNiwgNTUsIDcsIDYsIDEsIDEwNiwgMiwgMjI4LCAxNCwgMjMsIAorICAgIDIzOSwgMjM2LCA3LCA1LCAxLCAxMDYsIDIsIDIyOCwgMTQsIDIzLCAyMzksIDIzNiwgNywgNiwgMSwgMzIsIDIsIDIyMiwgCisgICAgMTk3LCAyMywgMTUzLCA3LCA1LCAxLCAzMiwgMiwgMjIyLCAxOTcsIDIzLCAxNTMsIDcsIDYsIDEsIDMyLCAyLCAyMjIsIAorICAgIDE5NywgMjMsIDIxMSwgMTgwLCA3LCA1LCAxLCAzMiwgMiwgMjIyLCAxOTcsIDIzLCAyMTEsIDE4MCwgNywgNiwgMSwgMTc0LCAKKyAgICAyLCAyMjIsIDE5NywgMjMsIDE1MywgNywgNSwgMSwgMTc0LCAyLCAyMjIsIDE5NywgMjMsIDE1MywgNywgNiwgMSwgMTc0LCAKKyAgICAyLCAyMjIsIDE5NywgMjMsIDIxMSwgMTgwLCA3LCA1LCAxLCAxNzQsIDIsIDIyMiwgMTk3LCAyMywgMjExLCAxODAsIDcsIDYsIAorICAgIDEsIDE3NCwgMiwgNjcsIDg0LCAyMywgMTUzLCA3LCA1LCAxLCAxNzQsIDIsIDY3LCA4NCwgMjMsIDE1MywgNywgNiwgMSwgCisgICAgMTc0LCAyLCA2NywgODQsIDIzLCAyMTEsIDE4MCwgNywgNSwgMSwgMTc0LCAyLCA2NywgODQsIDIzLCAyMTEsIDE4MCwgNywgCisgICAgNSwgMSwgMjM3LCAyMjUsIDIsIDY3LCA4NCwgMjMsIDIzOSwgMjM2LCA3LCA1LCAxLCAyMzcsIDIyNSwgMiwgNjcsIDg0LCAKKyAgICAyMywgMjExLCAxODAsIDcsIDYsIDEsIDIzNywgMjI1LCAyLCAyMjIsIDE5NywgMjMsIDE1MywgNywgNSwgMSwgMjM3LCAyMjUsIAorICAgIDIsIDIyMiwgMTk3LCAyMywgNjcsIDg0LCAyMywgMTUzLCA3LCA2LCAxLCAyMzcsIDIyNSwgMiwgMjIyLCAxOTcsIDIzLCAKKyAgICAyMTEsIDE4MCwgNywgNSwgMSwgMjM3LCAyMjUsIDIsIDIyMiwgMTk3LCAyMywgNjcsIDg0LCAyMywgMjExLCAxODAsIDcsIDYsIAorICAgIDEsIDIzMiwgMjA0LCAyLCAyMTEsIDE4MCwgNywgNSwgMSwgMjMyLCAyMDQsIDIsIDY3LCA4NCwgMjMsIDIxMSwgMTgwLCA3LCAKKyAgICA2LCAxLCAyMzAsIDE1OSwgMiwgMjExLCAxODAsIDcsIDUsIDEsIDIzMCwgMTU5LCAyLCAyMTEsIDE4MCwgNywgNiwgMSwgCisgICAgMjI5LCAyOSwgMiwgMjExLCAxODAsIDcsIDUsIDEsIDIyOSwgMjksIDIsIDIxMSwgMTgwLCA3LCA2LCAxLCAyMTksIDE1MCwgCisgICAgMiwgMjExLCAxODAsIDcsIDUsIDEsIDIxOSwgMTUwLCAyLCAyMTEsIDE4MCwgNywgNiwgMSwgMTA2LCAyLCAyMjIsIDE5NywgCisgICAgMjMsIDE1MywgNywgNSwgMSwgMTA2LCAyLCAyMjIsIDE5NywgMjMsIDE1MywgNywgNiwgMSwgMTA2LCAyLCAyMjIsIDE5NywgCisgICAgMjMsIDIxMSwgMTgwLCA3LCA1LCAxLCAxMDYsIDIsIDIyMiwgMTk3LCAyMywgMjExLCAxODAsIDcsIDYsIDEsIDEwNiwgMiwgCisgICAgMjI4LCAxNCwgMjMsIDE1MywgNywgNSwgMSwgMTA2LCAyLCAyMjgsIDE0LCAyMywgMTUzLCA3LCA2LCAxLCAxMDYsIDIsIAorICAgIDIyOCwgMTQsIDIzLCAyMTEsIDE4MCwgNywgNSwgMSwgMTA2LCAyLCAyMjgsIDE0LCAyMywgMjExLCAxODAsIDcsIDUsIDEsIAorICAgIDI1MiwgMjQ5LCAyLCAyMzksIDIzNiwgNywgNSwgMSwgMjIyLCAxNDIsIDE0OCwgMiwgMjM5LCAyMzYsIDcsIDUsIDEsIDIyMiwgCisgICAgMTQyLCAxNDgsIDIsIDE1MywgNywgNSwgMSwgMjAxLCAyMDksIDE0OSwgMiwgMjM5LCAyMzYsIDcsIDUsIDEsIDIwMSwgMjA5LCAKKyAgICAxNDksIDIsIDE1MywgNywgNSwgMSwgMjE3LCAxMDEsIDIsIDIzOSwgMjM2LCA3LCA1LCAxLCAyMTcsIDEwMSwgMiwgMTUzLCAKKyAgICA3LCA1LCAxLCAyMzgsIDEyOSwgMjE3LCAxMDEsIDIsIDIzOSwgMjM2LCA3LCA1LCAxLCAyMzgsIDEyOSwgMjE3LCAxMDEsIDIsIAorICAgIDE1MywgOCwgMjE2LCAzNywgODcsIDIsIDIzOSwgMTEyLCA4NCwgMiwgMjUyLCAxNzIsIDgsIDIxNiwgMzcsIDg3LCAyLCAKKyAgICAyMzksIDExMiwgODQsIDIsIDIwNywgNTksIDgsIDIxNiwgMzcsIDg3LCAyLCAyMzksIDExMiwgODQsIDIsIDEyNiwgMjI3LCAKKyAgICAyMjgsIDgsIDIxNiwgMzcsIDg3LCAyLCAyMzksIDExMiwgODQsIDIsIDIyMiwgMjA2LCA4LCAyMTYsIDM3LCA4NywgMiwgCisgICAgMjM5LCAxMTIsIDg0LCAyLCA3MSwgOCwgMjE2LCAzNywgODcsIDIsIDIzOSwgMTEyLCA4NCwgMiwgMjA1LCAyMTMsIDgsIAorICAgIDIxNiwgMzcsIDg3LCAyLCAyMzksIDExMiwgODQsIDIsIDc1LCA4LCAyMTYsIDM3LCA4NywgMiwgMjM5LCAxMTIsIDg0LCAyLCAKKyAgICAyNTIsIDI0OCwgOCwgMjE2LCAzNywgMjI0LCA1NSwgMiwgMjMxLCAyMTIsIDE2NSwgMSwgMjMxLCAxNDIsIDQwLCAxMDcsIAorICAgIDIzMiwgNzYsIDQwLCAxMDcsIDIyNSwgNzksIDQwLCAxMDcsIDI0OSwgMzQsIDQwLCAxMDcsIDIyMywgMTQ2LCA0MCwgMTA3LCAKKyAgICAyMTAsIDIxMSwgNDAsIDEwNywgMjI0LCAxMDQsIDQwLCAxMDcsIDIxMywgMTAsIDQwLCAxMDcsIDIyNiwgMzMsIDQwLCAxMDcsIAorICAgIDIyMiwgNjcsIDQwLCAxMDcsIDIyOSwgMjgsIDQwLCAxMDcsIDIwNiwgMTIzLCA0MCwgMTA3LCAxMzcsIDQwLCAxMDcsIDE0OSwgCisgICAgNDAsIDEwNywgMjA5LCAxNDgsIDQwLCAxMDcsIDIyOSwgMTY0LCA0MCwgMTA3LCAyMjksIDE3MywgNDAsIDEwNywgMjE4LCAKKyAgICA5MCwgNDAsIDEwNywgMjI0LCA4NiwgNDAsIDEwNywgMjMyLCAyMDMsIDQwLCAxMDcsIDIxNiwgNCwgNDAsIDEwNywgMjE0LCAKKyAgICA5OSwgNDAsIDEwNywgMTgyLCA0MCwgMTA3LCAyMzksIDE1NSwgNDAsIDEwNywgMjMwLCAyNTEsIDQwLCA0LCAyMzIsIDYzLCAKKyAgICA0MCwgNCwgMjMxLCAxMjMsIDQwLCA0LCAyMzEsIDExMSwgNDAsIDQsIDIzMCwgMjM2LCA0MCwgNCwgMjMwLCAyMDIsIDQwLCAKKyAgICA0LCAyMzEsIDIyNCwgNDAsIDQsIDIzMSwgMjIxLCA0MCwgNCwgMjMyLCA0MSwgNDAsIDQsIDIzMSwgNTMsIDQwLCA0LCAyMzEsIAorICAgIDMzLCA0MCwgNCwgMjMxLCAyNDIsIDQwLCA0LCAyMjUsIDc2LCA0MCwgNCwgMjI1LCAyNSwgNDAsIDQsIDIyNSwgMjEsIDQwLCAKKyAgICA0LCAyMjQsIDI0NiwgNDAsIDQsIDIyNCwgMjM4LCA0MCwgNCwgMjI1LCA2NCwgNDAsIDQsIDIyNSwgNjIsIDQwLCA0LCAyMjUsIAorICAgIDczLCA0MCwgNCwgMjI1LCAyLCA0MCwgNCwgMjI0LCAyNTMsIDQwLCA0LCAyMjUsIDY2LCA0MCwgNCwgMjQ5LCAwLCA0MCwgNCwgCisgICAgMjQ3LCAyNTEsIDQwLCA0LCAyNDcsIDI0MSwgNDAsIDQsIDI0NywgNDAsIDQwLCA0LCAyNDcsIDksIDQwLCA0LCAyNDgsIAorICAgIDE0OCwgNDAsIDQsIDI0OCwgMTQwLCA0MCwgNCwgMjQ4LCAyNDUsIDQwLCA0LCAyNDcsIDE3NCwgNDAsIDQsIDI0NywgMTA1LCAKKyAgICA0MCwgNCwgMjQ4LCAxODEsIDQwLCA0LCAyMjMsIDE0MywgNDAsIDQsIDIyMywgMTI1LCA0MCwgNCwgMjIzLCAxMjAsIDQwLCAKKyAgICA0LCAyMjMsIDEwMywgNDAsIDQsIDIyMywgOTUsIDQwLCA0LCAyMjMsIDEzNCwgNDAsIDQsIDIyMywgMTMzLCA0MCwgNCwgCisgICAgMjIzLCAxNDAsIDQwLCA0LCAyMjMsIDExMCwgNDAsIDQsIDIyMywgMTA3LCA0MCwgNCwgMjIzLCAxMzcsIDQwLCA0LCAyMTAsIAorICAgIDIwNywgNDAsIDQsIDIxMCwgMTg3LCA0MCwgNCwgMjEwLCAxODYsIDQwLCA0LCAyMTAsIDE3NSwgNDAsIDQsIDIxMCwgMTcyLCAKKyAgICA0MCwgNCwgMjEwLCAyMDMsIDQwLCA0LCAyMTAsIDIwMiwgNDAsIDQsIDIxMCwgMjA2LCA0MCwgNCwgMjEwLCAxODUsIDQwLCAKKyAgICA0LCAyMTAsIDE4NCwgNDAsIDQsIDIxMCwgMjA1LCA0MCwgNCwgMjI0LCAxMDIsIDQwLCA0LCAyMjQsIDg4LCA0MCwgNCwgCisgICAgMjI0LCA4NywgNDAsIDQsIDIyNCwgNzEsIDQwLCA0LCAyMjQsIDcwLCA0MCwgNCwgMjI0LCA5OCwgNDAsIDQsIDIyNCwgOTcsIAorICAgIDQwLCA0LCAyMjQsIDEwMSwgNDAsIDQsIDIyNCwgNzMsIDQwLCA0LCAyMjQsIDcyLCA0MCwgNCwgMjI0LCAxMDAsIDQwLCA0LCAKKyAgICAyMTIsIDIxNSwgNDAsIDQsIDIxMSwgMjExLCA0MCwgNCwgMjExLCAxOTUsIDQwLCA0LCAyMTAsIDE3MCwgNDAsIDQsIDIxMCwgCisgICAgMTM1LCA0MCwgNCwgMjEyLCAxMzEsIDQwLCA0LCAyMTIsIDEyMCwgNDAsIDQsIDIxMiwgMTkzLCA0MCwgNCwgMTI0LCA0MCwgCisgICAgNCwgMjExLCAxMDUsIDQwLCA0LCAyMTIsIDE1MSwgNDAsIDQsIDIyNSwgMjMyLCA0MCwgNCwgMjI0LCAyMzAsIDQwLCA0LCAKKyAgICAyMjQsIDIwNSwgNDAsIDQsIDIyMywgMjE3LCA0MCwgNCwgMjIzLCAxNTgsIDQwLCA0LCAyMjUsIDExMCwgNDAsIDQsIDIyNSwgCisgICAgMTA2LCA0MCwgNCwgMjI1LCAyMTgsIDQwLCA0LCAyMjQsIDY3LCA0MCwgNCwgMjI0LCA1NiwgNDAsIDQsIDIyNSwgMTkxLCAKKyAgICA0MCwgNCwgMjIyLCA1MSwgNDAsIDQsIDIyMSwgNTMsIDQwLCA0LCAyMjEsIDE1LCA0MCwgNCwgMjIwLCA4MiwgNDAsIDQsIAorICAgIDIyMCwgNTAsIDQwLCA0LCAyMjEsIDE3NCwgNDAsIDQsIDIyMSwgMTY0LCA0MCwgNCwgMjIyLCAzMiwgNDAsIDQsIDIyMCwgCisgICAgMjExLCA0MCwgNCwgMjIwLCAxODcsIDQwLCA0LCAyMjEsIDE4OCwgNDAsIDQsIDIyOCwgMTgsIDQwLCA0LCAyMjYsIDI1NCwgCisgICAgNDAsIDQsIDIyNiwgMjI0LCA0MCwgNCwgMjI2LCAxMTQsIDQwLCA0LCAyMjYsIDYyLCA0MCwgNCwgMjI3LCAxMTksIDQwLCA0LCAKKyAgICAyMjcsIDEwNywgNDAsIDQsIDIyNywgMjM5LCA0MCwgNCwgMjI2LCAxODEsIDQwLCA0LCAyMjYsIDE1MCwgNDAsIDQsIDIyNywgCisgICAgMTY2LCA0MCwgNCwgMjA2LCAxMDksIDQwLCA0LCAyMDYsIDExLCA0MCwgNCwgMjA2LCAyLCA0MCwgNCwgMjA1LCAyMTMsIDQwLCAKKyAgICA0LCAyMDUsIDE4MSwgNDAsIDQsIDIwNiwgNTIsIDQwLCA0LCAyMDYsIDQ5LCA0MCwgNCwgMjA2LCA4OCwgNDAsIDQsIDIwNSwgCisgICAgMjQ3LCA0MCwgNCwgMjA1LCAyMzIsIDQwLCA0LCAyMDYsIDYxLCA0MCwgNCwgMjE5LCAxMDksIDQwLCA0LCAyMTgsIDIwOCwgCisgICAgNDAsIDQsIDIxOCwgMTU0LCA0MCwgNCwgMjE4LCA1MCwgNDAsIDQsIDIxOCwgMjEsIDQwLCA0LCAyMTksIDUxLCA0MCwgNCwgCisgICAgMjE5LCAyOSwgNDAsIDQsIDIxOSwgOTAsIDQwLCA0LCAyMTgsIDEyNCwgNDAsIDQsIDIxOCwgMTA3LCA0MCwgNCwgMjE5LCAKKyAgICA2MCwgNDAsIDQsIDIzMCwgMTQwLCA0MCwgNCwgMjI5LCAyMzUsIDQwLCA0LCAyMjksIDIxOSwgNDAsIDQsIDIyOSwgODEsIAorICAgIDQwLCA0LCAyMjksIDUzLCA0MCwgNCwgMjMwLCA1OCwgNDAsIDQsIDIzMCwgNTAsIDQwLCA0LCAyMzAsIDExNCwgNDAsIDQsIAorICAgIDIyOSwgMTQ0LCA0MCwgNCwgMjI5LCAxMTUsIDQwLCA0LCAyMzAsIDc1LCA0MCwgNCwgMjA5LCA2OSwgNDAsIDQsIDIwOCwgCisgICAgMjE0LCA0MCwgNCwgMjA4LCAxOTksIDQwLCA0LCAyMDcsIDE0OCwgNDAsIDQsIDIwNywgMTQxLCA0MCwgNCwgMjA5LCAzOSwgCisgICAgNDAsIDQsIDIwOSwgMzQsIDQwLCA0LCAyMDksIDY1LCA0MCwgNCwgMjA4LCAxNzMsIDQwLCA0LCAyMDgsIDE2MSwgNDAsIDQsIAorICAgIDIwOSwgNDUsIDQwLCA0LCAyMjksIDE2MiwgNDAsIDQsIDIyOSwgMTU3LCA0MCwgNCwgMjI5LCAxNTYsIDQwLCA0LCAyMjksIAorICAgIDE1MywgNDAsIDQsIDIyOSwgMTUyLCA0MCwgNCwgMjI5LCAxNTksIDQwLCA0LCAyMjksIDE1OCwgNDAsIDQsIDIyOSwgMTYxLCAKKyAgICA0MCwgNCwgMjI5LCAxNTUsIDQwLCA0LCAyMjksIDE1NCwgNDAsIDQsIDIyOSwgMTYwLCA0MCwgNCwgMjI5LCAxNzEsIDQwLCAKKyAgICA0LCAyMjksIDE2NiwgNDAsIDQsIDIyOSwgMTY1LCA0MCwgNCwgMjI5LCAxNDksIDQwLCA0LCAyMjksIDE0OCwgNDAsIDQsIAorICAgIDIyOSwgMTY4LCA0MCwgNCwgMjI5LCAxNjcsIDQwLCA0LCAyMjksIDE3MCwgNDAsIDQsIDIyOSwgMTUxLCA0MCwgNCwgMjI5LCAKKyAgICAxNTAsIDQwLCA0LCAyMjksIDE2OSwgNDAsIDQsIDIxOCwgODgsIDQwLCA0LCAyMTgsIDc3LCA0MCwgNCwgMjE4LCA3NiwgNDAsIAorICAgIDQsIDIxOCwgNzAsIDQwLCA0LCAyMTgsIDYzLCA0MCwgNCwgMjE4LCA4NCwgNDAsIDQsIDIxOCwgODMsIDQwLCA0LCAyMTgsIAorICAgIDg3LCA0MCwgNCwgMjE4LCA3NSwgNDAsIDQsIDIxOCwgNzQsIDQwLCA0LCAyMTgsIDg2LCA0MCwgNCwgMjI0LCA4NCwgNDAsIAorICAgIDQsIDIyNCwgNzksIDQwLCA0LCAyMjQsIDc4LCA0MCwgNCwgMjI0LCA3NSwgNDAsIDQsIDIyNCwgNzQsIDQwLCA0LCAyMjQsIAorICAgIDgxLCA0MCwgNCwgMjI0LCA4MCwgNDAsIDQsIDIyNCwgODMsIDQwLCA0LCAyMjQsIDc3LCA0MCwgNCwgMjI0LCA3NiwgNDAsIAorICAgIDQsIDIyNCwgODIsIDQwLCA0LCAyMzIsIDE5OSwgNDAsIDQsIDIzMiwgMTYyLCA0MCwgNCwgMjMyLCAxNTUsIDQwLCA0LCAKKyAgICAyMzIsIDEwNCwgNDAsIDQsIDIzMiwgODYsIDQwLCA0LCAyMzIsIDE4MiwgNDAsIDQsIDIzMiwgMTgwLCA0MCwgNCwgMjMyLCAKKyAgICAxOTMsIDQwLCA0LCAyMzIsIDEyMiwgNDAsIDQsIDIzMiwgMTEzLCA0MCwgNCwgMjMyLCAxODcsIDQwLCA0LCAyMTUsIDI1NCwgCisgICAgNDAsIDQsIDIxNSwgMTgzLCA0MCwgNCwgMjE1LCAxNzgsIDQwLCA0LCAyMTUsIDExNiwgNDAsIDQsIDIxNSwgMTAwLCA0MCwgCisgICAgNCwgMjE1LCAyMTQsIDQwLCA0LCAyMTUsIDIxMiwgNDAsIDQsIDIxNSwgMjQzLCA0MCwgNCwgMjE1LCAxNTgsIDQwLCA0LCAKKyAgICAyMTUsIDE1MiwgNDAsIDQsIDIxNSwgMjIzLCA0MCwgNCwgMjE0LCA5NSwgNDAsIDQsIDIxNCwgNjQsIDQwLCA0LCAyMTQsIAorICAgIDYwLCA0MCwgNCwgMjE0LCA1MSwgNDAsIDQsIDIxNCwgNDgsIDQwLCA0LCAyMTQsIDcwLCA0MCwgNCwgMjE0LCA2OSwgNDAsIAorICAgIDQsIDIxNCwgOTQsIDQwLCA0LCAyMTQsIDU2LCA0MCwgNCwgMjE0LCA1NSwgNDAsIDQsIDIxNCwgNzIsIDQwLCA0LCAyMTcsIAorICAgIDE5NiwgNDAsIDQsIDIxNSwgODAsIDQwLCA0LCAyMTUsIDYxLCA0MCwgNCwgMjEzLCAyMDMsIDQwLCA0LCAyMTMsIDExOSwgCisgICAgNDAsIDQsIDIxNywgODYsIDQwLCA0LCAyMTcsIDc0LCA0MCwgNCwgMjE3LCAxODEsIDQwLCA0LCAyMTQsIDE5MywgNDAsIDQsIAorICAgIDIxNCwgMTc0LCA0MCwgNCwgMjE3LCAxMjUsIDQwLCA0LCAyMzksIDE0MSwgNDAsIDQsIDIzOSwgMTEsIDQwLCA0LCAyMzgsIAorICAgIDI0NywgNDAsIDQsIDIzOCwgNDIsIDQwLCA0LCAyMzgsIDE5LCA0MCwgNCwgMjM5LCA3MSwgNDAsIDQsIDIzOSwgNTMsIDQwLCAKKyAgICA0LCAyMzksIDEzMSwgNDAsIDQsIDIzOCwgMTQ5LCA0MCwgNCwgMjM4LCAxMzEsIDQwLCA0LCAyMzksIDgwLCA0MCwgNCwgCisgICAgMjMwLCAyNTAsIDQwLCA0LCAyMzAsIDI0OSwgNDAsIDQsIDIzMCwgMjQ0LCA0MCwgNCwgMjMwLCAyNDMsIDQwLCA0LCAyMzAsIAorICAgIDI0MCwgNDAsIDQsIDIzMCwgMjM5LCA0MCwgNCwgMjMwLCAyNDYsIDQwLCA0LCAyMzAsIDI0NSwgNDAsIDQsIDIzMCwgMjQ4LCAKKyAgICA0MCwgNCwgMjMwLCAyNDIsIDQwLCA0LCAyMzAsIDI0MSwgNDAsIDQsIDIzMCwgMjQ3LCA0MCwgNCwgMjE1LCAxMjIsIDEzMiwgCisgICAgMTA3LCAzLCAyMDYsIDc0LCAxMzIsIDEwNywgMywgMjE5LCA3OSwgMTMyLCAxMDcsIDMsIDIxOCwgMjUzLCAxMDgsIDEsIAorICAgIDIxMCwgNzQsIDgyLCAxMDcsIDMsIDI0NywgMTY5LCAxNzIsIDgyLCAxMDcsIDMsIDI0NywgMTY5LCAyMzEsIDE2NywgODIsIAorICAgIDEwNywgMywgMjQ3LCAxNjksIDIzMSwgNTMsIDgyLCAxMDcsIDMsIDI0NywgMTY5LCAyMzEsIDEzOCwgODIsIDEwNywgMywgCisgICAgMjQ3LCAxNjksIDIyNSwgMiwgODIsIDEwNywgMywgMjQ3LCAxNjksIDI0OSwgMSwgODIsIDEwNywgMywgMjQ3LCAxNjksIAorICAgIDI0OCwgMTEwLCA4MiwgMTA3LCAzLCAyNDcsIDE2OSwgMjQ3LCAxNzQsIDgyLCAxMDcsIDMsIDI0NywgMTY5LCAyNDgsIDMyLCAKKyAgICA4MiwgMTA3LCAzLCAyNDcsIDE2OSwgMjIzLCAxMTAsIDgyLCAxMDcsIDMsIDI0NywgMTY5LCAyNDYsIDE0NSwgODIsIDEwNywgCisgICAgMywgMjQ3LCAxNjksIDIxMCwgMTk2LCA4MiwgMTA3LCAzLCAyNDcsIDE2OSwgMjQ1LCA1MSwgODIsIDEwNywgMywgMjQ3LCAKKyAgICAxNjksIDIxMCwgMTkxLCA4MiwgMTA3LCAzLCAyNDcsIDE2OSwgMTk5LCA4MiwgMTA3LCAzLCAyNDcsIDE2OSwgMjEyLCAyMTksIAorICAgIDgyLCAxMDcsIDMsIDI0NywgMTY5LCAyMTIsIDU2LCA4MiwgMTA3LCAzLCAyNDcsIDE2OSwgMTI0LCA4MiwgMTA3LCAzLCAKKyAgICAyNDcsIDE2OSwgMjExLCAyNTMsIDgyLCAxMDcsIDMsIDI0NywgMTY5LCAyMjQsIDY3LCA4MiwgMTA3LCAzLCAyNDcsIDE2OSwgCisgICAgMjUwLCAxODMsIDgyLCAxMDcsIDMsIDI0NywgMTY5LCAyMjEsIDkzLCA4MiwgMTA3LCAzLCAyNDcsIDE2OSwgMjIwLCAyMTEsIAorICAgIDgyLCAxMDcsIDMsIDI0NywgMTY5LCAyMjEsIDY2LCA4MiwgMTA3LCAzLCAyNDcsIDE2OSwgMjI2LCAxODEsIDgyLCAxMDcsIAorICAgIDMsIDI0NywgMTY5LCAyMDUsIDI0NywgODIsIDEwNywgMywgMjQ3LCAxNjksIDIxOCwgMTI0LCA4MiwgMTA3LCAzLCAyNDcsIAorICAgIDE2OSwgMjI5LCAxNDQsIDgyLCAxMDcsIDMsIDI0NywgMTY5LCAyMDgsIDE3MywgODIsIDEwNywgMywgMjQ3LCAxNjksIDIxNiwgCisgICAgMiwgODIsIDEwNywgMywgMjQ3LCAxNjksIDIxNCwgOTYsIDgyLCAxMDcsIDMsIDI0NywgMTY5LCAyMTcsIDE5OSwgODIsIAorICAgIDEwNywgMywgMjQ3LCAxNjksIDE1NSwgODIsIDEwNywgMywgMjQ3LCAxNjksIDIzMCwgMTQxLCA4MiwgMjIsIDMsIDI0NywgCisgICAgMTY5LCAyMjAsIDE5LCA4MiwgMjMzLCA1NSwgMjIsIDMsIDI0NywgMTY5LCAyMTksIDIxNCwgODIsIDIzMywgNTUsIDIyLCAzLCAKKyAgICAyNDcsIDE2OSwgMjE4LCA5LCA4MiwgMjMzLCA1NSwgMjIsIDMsIDI0NywgMTY5LCAyMTgsIDIsIDgyLCAyMzMsIDU1LCAyMiwgCisgICAgMywgMjQ3LCAxNjksIDIxOSwgMjU1LCA4MiwgMjIsIDMsIDIyMiwgMTczLCA4MiwgMjIsIDMsIDI1MywgMTI1LCAxNjEsIDEsIAorICAgIDI0OSwgMjM3LCAyMjUsIDc3LCAxNjEsIDEsIDI0OSwgMjM3LCAyMjUsIDI1LCAxNjEsIDEsIDI0OSwgMjM3LCAyMjQsIDI0NiwgCisgICAgMTYxLCAxLCAyNDksIDIzNywgMjI1LCA2NCwgMTYxLCAxLCAyNDksIDIzNywgMjI1LCAyLCA2NCwgMSwgMjQ5LCAyMzcsIAorICAgIDIyNSwgNzcsIDY0LCAxLCAyNDksIDIzNywgMjI1LCAyNSwgNjQsIDEsIDI0OSwgMjM3LCAyMjQsIDI0NiwgNjQsIDEsIDI0OSwgCisgICAgMjM3LCAyMjUsIDY0LCA2NCwgMSwgMjQ5LCAyMzcsIDIyNSwgMiwgNjQsIDEsIDI1MiwgMTk4LCAyNDgsIDE0OCwgNjQsIDEsIAorICAgIDI1MiwgMTk4LCAyMTAsIDE3MCwgNjQsIDEsIDI1MiwgMTk4LCAxMjQsIDY0LCAxLCAyNTIsIDE5OCwgMjIyLCA2NywgNjUsIAorICAgIDEsIDI0MiwgMTU2LCAyNDIsIDE1NSwgMjQ3LCAxMTMsIDEzNSwgMTM0LCA2NSwgMSwgMjQyLCAxNTUsIDI0MiwgMTU2LCAKKyAgICAyNDcsIDExMywgMTM1LCAxMzQsIAogfTsKIAogc3RhdGljIHVuc2lnbmVkIGNoYXIgcGhyYXNlYm9va19vZmZzZXQxW10gPSB7CiAgICAgMCwgMSwgMiwgMywgNCwgNSwgNiwgNywgOCwgOSwgMTAsIDExLCAxMiwgMTMsIDE0LCAxNSwgMTYsIDE3LCAxOCwgMTksIDIwLCAKICAgICAyMSwgMjIsIDIzLCAyNCwgMjUsIDI2LCAyNywgMjgsIDI5LCAzMCwgMzEsIDMyLCAzMywgMzQsIDM1LCAzNiwgMzcsIDM4LCAKLSAgICAzOSwgNDAsIDQxLCA0MiwgNDMsIDQ0LCA0NSwgNDYsIDQ3LCA0OCwgNDksIDUwLCA1MSwgNTIsIDUzLCA1NCwgNTUsIDU2LCAKLSAgICA1NywgNTgsIDU5LCA2MCwgNjEsIDYyLCA2MywgNjQsIDY1LCA2NiwgNjcsIDY4LCA2OSwgNzAsIDcxLCA3MiwgNzMsIDc0LCAKLSAgICA3NSwgNzYsIDc3LCA3OCwgNzksIDgwLCA4MSwgODIsIDgzLCA4NCwgODUsIDg2LCA4NywgODgsIDg5LCA5MCwgOTEsIDkyLCAKLSAgICA5MywgOTQsIDk1LCA5NiwgOTcsIDk4LCA5OSwgMTAwLCAxMDEsIDEwMiwgMTAzLCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAxMDQsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgMTA1LCAxMDYsIDEwNywgMTA4LCAxMDksIAotICAgIDExMCwgMTExLCAxMTIsIDExMywgMTE0LCAxMTUsIDExNiwgMTE3LCAxMTgsIDExOSwgMTIwLCAxMjEsIDEyMiwgMTIzLCAKLSAgICAxMjQsIDEyNSwgMTI2LCAxMjcsIDEyOCwgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgMTI5LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAxMzAsIDEzMSwgCi0gICAgMTMyLCAxMzMsIDEzNCwgMTM1LCAxMzYsIDEzNywgMTM4LCAxMzksIDE0MCwgMTQxLCAxNDIsIDE0MywgMTQ0LCAxNDUsIAotICAgIDE0NiwgMTQ3LCA4NywgMTQ4LCAxNDksIDE1MCwgMTUxLCAxNTIsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDE1MywgODcsIAotICAgIDE1NCwgMTU1LCAxNTYsIDg3LCAxNTcsIDg3LCAxNTgsIDg3LCA4NywgODcsIDE1OSwgODcsIDg3LCA4NywgMTYwLCAxNjEsIAotICAgIDE2MiwgMTYzLCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAxNjQsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDE2NSwgMTY2LCAxNjcsIDE2OCwgCi0gICAgMTY5LCAxNzAsIDE3MSwgODcsIDE3MiwgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAxNzMsIDE3NCwgMTc1LCAxNzYsIDE3NywgMTc4LCAKLSAgICAxNzksIDE4MCwgMTgxLCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgMTgyLCAKLSAgICAxODMsIDE4NCwgMTg1LCAxODYsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDE4NywgMTg4LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDE4OSwgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgMTkwLCAxOTEsIDE5MiwgMTkzLCAxOTQsIDg3LCAxOTUsIAotICAgIDg3LCAxOTYsIDE5NywgMTk4LCAxOTksIDIwMCwgMjAxLCAyMDIsIDIwMywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCAyMDQsIDIwNSwgODcsIDg3LCAyMDYsIDIwNywgMjA4LCAyMDksIDIxMCwgODcsIDIxMSwgMjEyLCAyMTMsIDIxNCwgCi0gICAgMjE1LCAyMTYsIDIxNywgMjE4LCAyMTksIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDIyMCwgMjIxLCAKLSAgICAyMjIsIDIyMywgMjI0LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAyMjUsIDg3LCAyMjYsIDIyNywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDIyOCwgMjI5LCAyMzAsIDIzMSwgMjMyLCAyMzMsIDIzNCwgMjM1LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIAorICAgIDM5LCA0MCwgNDEsIDQyLCA0MywgNDQsIDQ1LCA0NiwgNDcsIDQ4LCA0OSwgNTAsIDUxLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTMsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1NCwgNTUsIDU2LCA1NywgNTgsIAorICAgIDU5LCA2MCwgNjEsIDYyLCA2MywgNjQsIDY1LCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNjYsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDY3LCA2OCwgNjksIDcwLCA3MSwgNzIsIAorICAgIDczLCA3NCwgNzUsIDc2LCA3NywgNzgsIDc5LCA4MCwgODEsIDgyLCA4MywgODQsIDg1LCA4NiwgNTIsIDg3LCA1MiwgODgsIAorICAgIDg5LCA5MCwgOTEsIDkyLCA5MywgOTQsIDUyLCA5NSwgNTIsIDk2LCA1MiwgNTIsIDUyLCA1MiwgNTIsIDk3LCA5OCwgOTksIAorICAgIDEwMCwgMTAxLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDEwMiwgMTAzLCAxMDQsIDEwNSwgCisgICAgMTA2LCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAxMDcsIDEwOCwgCisgICAgMTA5LCAxMTAsIDUyLCA1MiwgNTIsIDExMSwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDExMiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAxMTMsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAxMTQsIDExNSwgMTE2LCAxMTcsIAorICAgIDExOCwgMTE5LCAxMjAsIDEyMSwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDEyMiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAxMjMsIDUyLCAxMjQsIDEyNSwgMTI2LCAxMjcsIDEyOCwgCisgICAgMTI5LCAxMzAsIDEzMSwgMTMyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAxMzMsIDEzNCwgMTM1LCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgMTM2LCAxMzcsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgMTM4LCAxMzksIDE0MCwgMTQxLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgCiB9OwogCiBzdGF0aWMgdW5zaWduZWQgaW50IHBocmFzZWJvb2tfb2Zmc2V0MltdID0gewogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEsIDMsIDYsIDksIDExLCAxNCwgMTcsIDE5LCAyMSwgMjQsIDI3LCAyOSwgMzEsIAogICAgIDMzLCAzNSwgMzksIDQxLCA0NCwgNDYsIDQ4LCA1MCwgNTIsIDU0LCA1NiwgNTgsIDYwLCA2MiwgNjQsIDY2LCA2OSwgNzIsIAotICAgIDc1LCA3OCwgODIsIDg2LCA5MSwgOTYsIDEwMSwgMTA1LCAxMTAsIDExNSwgMTIwLCAxMjQsIDEyOSwgMTM0LCAxMzgsIDE0MiwgCi0gICAgMTQ3LCAxNTEsIDE1NiwgMTYxLCAxNjUsIDE3MCwgMTc1LCAxNzksIDE4NCwgMTg5LCAxOTQsIDE5OSwgMjA0LCAyMDcsIAorICAgIDc1LCA3OCwgODIsIDg2LCA5MSwgOTYsIDEwMSwgMTA1LCAxMTAsIDExNSwgMTIwLCAxMjQsIDEyOSwgMTM0LCAxMzgsIDE0MywgCisgICAgMTQ4LCAxNTIsIDE1NywgMTYyLCAxNjYsIDE3MCwgMTc1LCAxNzksIDE4NCwgMTg5LCAxOTQsIDE5OSwgMjA0LCAyMDcsIAogICAgIDIxMSwgMjE0LCAyMTgsIDIyMSwgMjI1LCAyMjksIDIzNCwgMjM5LCAyNDQsIDI0OCwgMjUzLCAyNTgsIDI2MywgMjY3LCAKLSAgICAyNzIsIDI3NywgMjgxLCAyODUsIDI5MCwgMjk0LCAyOTksIDMwNCwgMzA4LCAzMTMsIDMxOCwgMzIyLCAzMjcsIDMzMiwgCisgICAgMjcyLCAyNzcsIDI4MSwgMjg2LCAyOTEsIDI5NSwgMzAwLCAzMDUsIDMwOSwgMzEzLCAzMTgsIDMyMiwgMzI3LCAzMzIsIAogICAgIDMzNywgMzQyLCAzNDcsIDM1MSwgMzU0LCAzNTgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDM1OSwgMzYzLCAzNjgsIAotICAgIDM3MSwgMzc0LCAzNzcsIDM4MCwgMzgzLCAzODYsIDM4OCwgMzkxLCAzOTcsIDQwNSwgNDA4LCA0MTIsIDQxNSwgNDE3LCAKLSAgICA0MjAsIDQyMywgNDI2LCA0MjksIDQzMywgNDM2LCA0MzksIDQ0MywgNDQ1LCA0NDgsIDQ1NCwgNDYyLCA0NjksIDQ3NiwgCi0gICAgNDgzLCA0ODgsIDQ5NSwgNTAxLCA1MDgsIDUxNCwgNTIxLCA1MjksIDUzNCwgNTQyLCA1NDksIDU1NSwgNTYyLCA1NjksIAotICAgIDU3NywgNTg0LCA1OTIsIDYwMCwgNjA1LCA2MTIsIDYxOSwgNjI1LCA2MzIsIDYzOCwgNjQ1LCA2NDgsIDY1NCwgNjYxLCAKLSAgICA2NjcsIDY3NCwgNjgxLCA2ODgsIDY5MywgNzAwLCA3MDcsIDcxMywgNzIwLCA3MjYsIDczMywgNzQxLCA3NDYsIDc1NCwgCi0gICAgNzYxLCA3NjcsIDc3NCwgNzgxLCA3ODksIDc5NiwgODA0LCA4MTIsIDgxNywgODI0LCA4MzEsIDgzNywgODQ0LCA4NTAsIAotICAgIDg1NywgODYwLCA4NjYsIDg3MywgODc5LCA4ODYsIDg5MywgOTAwLCA5MDUsIDkxMywgOTIwLCA5MjcsIDkzNCwgOTQxLCAKLSAgICA5NDgsIDk1NSwgOTYyLCA5NjksIDk3NywgOTg1LCA5OTMsIDEwMDEsIDEwMDksIDEwMTcsIDEwMjUsIDEwMzMsIDEwNDAsIAotICAgIDEwNDcsIDEwNTQsIDEwNjEsIDEwNjgsIDEwNzUsIDEwODIsIDEwODksIDEwOTYsIDExMDMsIDExMTAsIDExMTcsIDExMjUsIAotICAgIDExMzMsIDExNDEsIDExNDksIDExNTcsIDExNjUsIDExNzMsIDExODEsIDExODksIDExOTcsIDEyMDQsIDEyMTEsIDEyMTgsIAotICAgIDEyMjUsIDEyMzMsIDEyNDEsIDEyNDksIDEyNTcsIDEyNjUsIDEyNzMsIDEyODEsIDEyODcsIDEyOTIsIDEyOTcsIDEzMDUsIAotICAgIDEzMTMsIDEzMjEsIDEzMjksIDEzMzQsIDEzNDEsIDEzNDgsIDEzNTYsIDEzNjQsIDEzNzIsIDEzODAsIDEzOTAsIDE0MDAsIAotICAgIDE0MDcsIDE0MTQsIDE0MjEsIDE0MjgsIDE0MzYsIDE0NDQsIDE0NTIsIDE0NjAsIDE0NzEsIDE0NzYsIDE0ODEsIDE0ODgsIAotICAgIDE0OTUsIDE1MDIsIDE1MDksIDE1MTYsIDE1MjMsIDE1MjgsIDE1MzMsIDE1NDAsIDE1NDcsIDE1NTUsIDE1NjMsIDE1NzEsIAotICAgIDE1NzksIDE1ODYsIDE1OTMsIDE2MDEsIDE2MDksIDE2MTcsIDE2MjUsIDE2MzMsIDE2NDEsIDE2NDksIDE2NTcsIDE2NjUsIAotICAgIDE2NzMsIDE2ODAsIDE2ODcsIDE2OTMsIDE2OTksIDE3MDYsIDE3MTMsIDE3MjAsIDE3MjcsIDE3MzUsIDE3NDMsIDE3NTAsIAotICAgIDE3NTcsIDE3NjQsIDE3NzEsIDE3NzksIDE3ODcsIDE3OTUsIDE4MDMsIDE4MTEsIDE4MTgsIDE4MjUsIDE4MzMsIDE4NDEsIAotICAgIDE4NDksIDE4NTcsIDE4NjMsIDE4NjksIDE4NzUsIDE4ODIsIDE4ODksIDE4OTQsIDE4OTksIDE5MDQsIDE5MTEsIDE5MTgsIAotICAgIDE5MjUsIDE5MzIsIDE5NDAsIDE5NDgsIDE5NTUsIDE5NjEsIDE5NjYsIDE5NzEsIDE5NzgsIDE5ODUsIDE5OTIsIDE5OTcsIAotICAgIDIwMDIsIDIwMDcsIDIwMTQsIDIwMjEsIDIwMjgsIDIwMzUsIDIwNDIsIDIwNDgsIDIwNTYsIDIwNjYsIDIwNzQsIDIwODEsIAotICAgIDIwODgsIDIwOTMsIDIwOTgsIDIxMDUsIDIxMTIsIDIxMTYsIDIxMjEsIDIxMjYsIDIxMzEsIDIxMzksIDIxNDgsIDIxNTUsIAotICAgIDIxNjIsIDIxNzEsIDIxNzgsIDIxODUsIDIxOTAsIDIxOTcsIDIyMDQsIDIyMTEsIDIyMTgsIDIyMjUsIDIyMzAsIDIyMzcsIAotICAgIDIyNDQsIDIyNTIsIDIyNTcsIDIyNjIsIDIyNjcsIDIyNzcsIDIyODEsIDIyODcsIDIyOTMsIDIyOTksIDIzMDUsIDIzMTMsIAotICAgIDIzMjYsIDIzMzQsIDIzMzksIDIzNDksIDIzNTQsIDIzNTksIDIzNjksIDIzNzQsIDIzODEsIDIzODgsIDIzOTYsIDI0MDQsIAotICAgIDI0MTEsIDI0MTgsIDI0MjUsIDI0MzIsIDI0NDIsIDI0NTIsIDI0NjEsIDI0NzAsIDI0ODAsIDI0OTAsIDI1MDAsIDI1MTAsIAotICAgIDI1MTYsIDI1MjYsIDI1MzYsIDI1NDYsIDI1NTYsIDI1NjQsIDI1NzIsIDI1NzksIDI1ODYsIDI1OTQsIDI2MDIsIDI2MTAsIAotICAgIDI2MTgsIDI2MjUsIDI2MzIsIDI2NDIsIDI2NTIsIDI2NjAsIDI2NjgsIDI2NzYsIDI2ODEsIDI2OTEsIDI2OTYsIDI3MDMsIAotICAgIDI3MTAsIDI3MTUsIDI3MjAsIDI3MjgsIDI3MzYsIDI3NDYsIDI3NTYsIDI3NjMsIDI3NzAsIDI3NzksIDI3ODgsIDI3OTYsIAotICAgIDI4MDQsIDI4MTMsIDI4MjIsIDI4MzAsIDI4MzgsIDI4NDcsIDI4NTYsIDI4NjUsIDI4NzQsIDI4ODQsIDI4OTQsIDI5MDIsIAotICAgIDI5MTAsIDI5MTksIDI5MjgsIDI5MzcsIDI5NDYsIDI5NTYsIDI5NjYsIDI5NzQsIDI5ODIsIDI5OTEsIDMwMDAsIDMwMDksIAotICAgIDMwMTgsIDMwMjcsIDMwMzYsIDMwNDEsIDMwNDYsIDMwNTQsIDMwNjIsIDMwNzIsIDMwODAsIDMwODUsIDMwOTAsIDMwOTcsIAotICAgIDMxMDQsIDMxMTEsIDMxMTgsIDMxMjUsIDMxMzIsIDMxNDIsIDMxNTIsIDMxNjIsIDMxNzIsIDMxNzksIDMxODYsIDMxOTYsIAotICAgIDMyMDYsIDMyMTQsIDMyMjIsIDMyMzAsIDMyMzgsIDMyNDYsIDMyNTMsIDMyNjAsIDMyNjcsIDMyNzMsIDMyODAsIDMyODcsIAotICAgIDMyOTQsIDMzMDMsIDMzMTMsIDMzMjMsIDMzMzAsIDMzMzcsIDMzNDMsIDMzNDgsIDMzNTUsIDMzNjEsIDMzNjcsIDMzNzQsIAotICAgIDMzODEsIDMzOTIsIDM0MDIsIDM0MDksIDM0MTYsIDM0MjMsIDM0MzAsIDM0MzYsIDM0NDEsIDM0NDgsIDM0NTQsIDM0NTksIAotICAgIDM0NjcsIDM0NzUsIDM0ODIsIDM0ODgsIDM0OTMsIDM1MDAsIDM1MDUsIDM1MTIsIDM1MjEsIDM1MzAsIDM1MzksIDM1NDYsIAotICAgIDM1NTIsIDM1NTgsIDM1NjMsIDM1NzAsIDM1NzcsIDM1ODQsIDM1OTEsIDM1OTgsIDM2MDMsIDM2MDgsIDM2MTcsIDM2MjUsIAotICAgIDM2MzQsIDM2MzksIDM2NDUsIDM2NTYsIDM2NjMsIDM2NzEsIDM2ODAsIDM2ODYsIDM2OTIsIDM2OTgsIDM3MDUsIDM3MTAsIAotICAgIDM3MTYsIDM3MjcsIDM3MzYsIDM3NDUsIDM3NTMsIDM3NjEsIDM3NzEsIDM3NzYsIDM3ODMsIDM3OTAsIDM3OTUsIDM4MDcsIAotICAgIDM4MTYsIDM4MjQsIDM4MzEsIDM4NDAsIDM4NDUsIDM4NTAsIDM4NTcsIDM4NjQsIDM4NzEsIDM4NzgsIDM4ODQsIDM4OTMsIAotICAgIDM5MDEsIDM5MDYsIDM5MTQsIDM5MjAsIDM5MjgsIDM5MzYsIDM5NDIsIDM5NDgsIDM5NTQsIDM5NjEsIDM5NjksIDM5NzUsIAotICAgIDM5ODMsIDM5OTAsIDM5OTUsIDQwMDIsIDQwMTAsIDQwMjAsIDQwMjcsIDQwMzQsIDQwNDQsIDQwNTEsIDQwNTgsIDQwNjgsIAotICAgIDQwNzUsIDQwODIsIDQwODksIDQwOTUsIDQxMDEsIDQxMTEsIDQxMjQsIDQxMjksIDQxMzYsIDQxNDEsIDQxNDUsIDQxNTEsIAotICAgIDQxNjAsIDQxNjcsIDQxNzIsIDQxNzcsIDQxODEsIDQxODYsIDQxOTIsIDQxOTYsIDQyMDIsIDQyMDgsIDQyMTQsIDQyMjAsIAotICAgIDQyMjgsIDQyMzMsIDQyMzgsIDQyNDMsIDQyNDgsIDQyNTQsIDQyNTYsIDQyNjEsIDQyNjUsIDQyNzEsIDQyNzcsIDQyODMsIAotICAgIDQyODgsIDQyOTUsIDQzMDIsIDQzMDgsIDQzMTUsIDQzMjMsIDQzMzEsIDQzMzYsIDQzNDEsIDQzNDUsIDQzNTAsIDQzNTIsIAotICAgIDQzNTQsIDQzNTcsIDQzNTksIDQzNjEsIDQzNjYsIDQzNzEsIDQzNzcsIDQzODIsIDQzODYsIDQzOTEsIDQzOTYsIDQ0MDUsIAotICAgIDQ0MTEsIDQ0MTYsIDQ0MjIsIDQ0MjcsIDQ0MzMsIDQ0NDEsIDQ0NDksIDQ0NTMsIDQ0NTcsIDQ0NjIsIDQ0NjgsIDQ0NzQsIAotICAgIDQ0ODAsIDQ0ODYsIDQ0OTEsIDQ0OTksIDQ1MDgsIDQ1MTcsIDQ1MjEsIDQ1MjcsIDQ1MzQsIDQ1NDEsIDQ1NDgsIDQ1NTUsIAotICAgIDQ1NTksIDQ1NjQsIDQ1NjksIDQ1NzQsIDQ1NzksIDQ1ODQsIDQ1ODYsIDQ1ODksIDQ1OTIsIDQ1OTUsIDQ1OTgsIDQ2MDEsIAotICAgIDQ2MDUsIDQ2MDksIDQ2MTUsIDQ2MTgsIDQ2MjMsIDQ2MjksIDQ2MzUsIDQ2MzgsIDQ2NDMsIDQ2NDksIDQ2NTMsIDQ2NTksIAotICAgIDQ2NjUsIDQ2NzEsIDQ2NzcsIDQ2ODIsIDQ2ODcsIDQ2OTIsIDQ2OTUsIDQ3MDEsIDQ3MDYsIDQ3MTEsIDQ3MTUsIDQ3MjAsIAotICAgIDQ3MjYsIDQ3MzIsIDQ3MzUsIDQ3MzksIDQ3NDMsIDQ3NDcsIDQ3NTAsIDQ3NTMsIDQ3NTgsIDQ3NjIsIDQ3NjksIDQ3NzMsIAotICAgIDQ3NzksIDQ3ODMsIDQ3ODksIDQ3OTMsIDQ3OTcsIDQ4MDEsIDQ4MDYsIDQ4MTEsIDQ4MTgsIDQ4MjQsIDQ4MzEsIDQ4MzcsIAotICAgIDQ4NDMsIDQ4NDksIDQ4NTIsIDQ4NTYsIDQ4NjAsIDQ4NjMsIDQ4NjcsIDQ4NzIsIDQ4NzcsIDQ4ODEsIDQ4ODUsIDQ4OTEsIAotICAgIDQ4OTUsIDQ4OTksIDQ5MDQsIDQ5MTAsIDQ5MTUsIDQ5MjEsIDQ5MjUsIDQ5MzIsIDQ5MzcsIDQ5NDIsIDQ5NDcsIDQ5NTIsIAotICAgIDQ5NTgsIDQ5NjEsIDQ5NjUsIDQ5NzAsIDQ5NzUsIDQ5ODQsIDQ5OTAsIDQ5OTUsIDQ5OTksIDUwMDQsIDUwMDgsIDUwMTMsIAotICAgIDUwMTcsIDUwMjEsIDUwMjYsIDUwMjksIDUwMzUsIDUwNDAsIDUwNDUsIDUwNTAsIDUwNTUsIDUwNjAsIDUwNjUsIDUwNzEsIAotICAgIDUwNzcsIDUwODMsIDUwODgsIDUwOTMsIDUwOTksIDUxMDUsIDUxMTEsIDUxMTYsIDUxMjEsIDUxMjgsIDUxMzUsIDUxMzksIAotICAgIDUxNDUsIDUxNTIsIDAsIDAsIDUxNTksIDUxNjIsIDUxNzEsIDUxODAsIDUxOTEsIDAsIDAsIDAsIDAsIDAsIDUxOTUsIAotICAgIDUxOTgsIDUyMDMsIDUyMTEsIDUyMTYsIDUyMjQsIDUyMzIsIDAsIDUyNDAsIDAsIDUyNDgsIDUyNTYsIDUyNjQsIDUyNzUsIAotICAgIDUyODAsIDUyODUsIDUyOTAsIDUyOTUsIDUzMDAsIDUzMDUsIDUzMTAsIDUzMTUsIDUzMjAsIDUzMjUsIDUzMzAsIDUzMzUsIAotICAgIDUzNDAsIDUzNDUsIDUzNTAsIDUzNTUsIDAsIDUzNjAsIDUzNjUsIDUzNzAsIDUzNzUsIDUzODAsIDUzODUsIDUzOTAsIAotICAgIDUzOTUsIDU0MDMsIDU0MTEsIDU0MTksIDU0MjcsIDU0MzUsIDU0NDMsIDU0NTQsIDU0NTksIDU0NjQsIDU0NjksIDU0NzQsIAotICAgIDU0NzksIDU0ODQsIDU0ODksIDU0OTQsIDU0OTksIDU1MDQsIDU1MDksIDU1MTQsIDU1MTksIDU1MjQsIDU1MjksIDU1MzQsIAotICAgIDU1MzksIDU1NDUsIDU1NTAsIDU1NTUsIDU1NjAsIDU1NjUsIDU1NzAsIDU1NzUsIDU1ODAsIDU1ODgsIDU1OTYsIDU2MDQsIAotICAgIDU2MTIsIDU2MjAsIDU2MjUsIDU2MjksIDU2MzMsIDU2NDAsIDU2NTAsIDU2NjAsIDU2NjQsIDU2NjgsIDU2NzIsIDU2NzgsIAotICAgIDU2ODUsIDU2ODksIDU2OTQsIDU2OTgsIDU3MDMsIDU3MDcsIDU3MTIsIDU3MTYsIDU3MjEsIDU3MjYsIDU3MzEsIDU3MzYsIAotICAgIDU3NDEsIDU3NDYsIDU3NTEsIDU3NTYsIDU3NjEsIDU3NjYsIDU3NzEsIDU3NzYsIDU3ODEsIDU3ODYsIDU3OTEsIDU3OTUsIAotICAgIDU3OTksIDU4MDUsIDU4MDksIDU4MTQsIDU4MjAsIDU4MjgsIDU4MzMsIDU4MzgsIDU4NDUsIDU4NTAsIDU4NTUsIDU4NjIsIAotICAgIDU4NzEsIDU4ODAsIDU4OTEsIDU4OTksIDU5MDQsIDU5MDksIDU5MTQsIDU5MjEsIDU5MjYsIDU5MzIsIDU5MzcsIDU5NDIsIAotICAgIDU5NDcsIDU5NTIsIDU5NTcsIDU5NjIsIDU5NzAsIDU5NzYsIDU5ODEsIDU5ODUsIDU5OTAsIDU5OTUsIDYwMDAsIDYwMDUsIAotICAgIDYwMTAsIDYwMTUsIDYwMjAsIDYwMjQsIDYwMzAsIDYwMzQsIDYwMzksIDYwNDQsIDYwNDksIDYwNTMsIDYwNTgsIDYwNjMsIAotICAgIDYwNjgsIDYwNzMsIDYwNzcsIDYwODIsIDYwODYsIDYwOTEsIDYwOTYsIDYxMDEsIDYxMDYsIDYxMTIsIDYxMTcsIDYxMjMsIAotICAgIDYxMjcsIDYxMzIsIDYxMzYsIDYxNDAsIDYxNDUsIDYxNTAsIDYxNTUsIDYxNjAsIDYxNjUsIDYxNzAsIDYxNzUsIDYxNzksIAotICAgIDYxODUsIDYxODksIDYxOTQsIDYxOTksIDYyMDQsIDYyMDgsIDYyMTMsIDYyMTgsIDYyMjMsIDYyMjgsIDYyMzIsIDYyMzcsIAotICAgIDYyNDEsIDYyNDYsIDYyNTEsIDYyNTYsIDYyNjEsIDYyNjcsIDYyNzIsIDYyNzgsIDYyODIsIDYyODcsIDYyOTEsIDYyOTksIAotICAgIDYzMDQsIDYzMDksIDYzMTQsIDYzMjEsIDYzMjYsIDYzMzIsIDYzMzcsIDYzNDIsIDYzNDcsIDYzNTIsIDYzNTcsIDYzNjIsIAotICAgIDYzNzAsIDYzNzYsIDYzODEsIDYzODYsIDYzOTEsIDYzOTYsIDY0MDEsIDY0MDcsIDY0MTMsIDY0MjAsIDY0MjcsIDY0MzYsIAotICAgIDY0NDUsIDY0NTIsIDY0NTksIDY0NjgsIDY0NzcsIDY0ODIsIDY0ODcsIDY0OTIsIDY0OTcsIDY1MDIsIDY1MDcsIDY1MTIsIAotICAgIDY1MTcsIDY1MjgsIDY1MzksIDY1NDQsIDY1NDksIDY1NTYsIDY1NjMsIDY1NzEsIDY1NzksIDY1ODQsIDY1ODksIDY1OTQsIAotICAgIDY1OTksIDY2MDMsIDY2MDcsIDY2MTEsIDY2MTcsIDY2MjMsIDY2MjcsIDY2MzQsIDY2MzksIDY2NDksIDY2NTksIDY2NjUsIAotICAgIDY2NzEsIDY2NzksIDY2ODcsIDY2OTUsIDY3MDMsIDY3MTAsIDY3MTcsIDY3MjYsIDY3MzUsIDY3NDMsIDY3NTEsIDY3NTksIAotICAgIDY3NjcsIDY3NzUsIDY3ODMsIDY3OTEsIDY3OTksIDY4MDYsIDY4MTMsIDY4MTksIDY4MjUsIDY4MzMsIDY4NDEsIDY4NDgsIAotICAgIDY4NTUsIDY4NjQsIDY4NzMsIDY4NzksIDY4ODUsIDY4OTMsIDY5MDEsIDY5MDksIDY5MTcsIDY5MjMsIDY5MjksIDY5MzcsIAotICAgIDY5NDUsIDY5NTMsIDY5NjEsIDY5NjgsIDY5NzUsIDY5ODMsIDY5OTEsIDY5OTksIDcwMDcsIDcwMTIsIDcwMTcsIDcwMjQsIAotICAgIDcwMzEsIDcwNDEsIDcwNTEsIDcwNTUsIDcwNjMsIDcwNzEsIDcwNzgsIDcwODUsIDcwOTMsIDcxMDEsIDcxMDgsIDcxMTUsIAotICAgIDcxMjMsIDcxMzEsIDcxMzgsIDcxNDUsIDcxNTMsIDcxNjEsIDcxNjYsIDcxNzMsIDcxODAsIDcxODcsIDcxOTQsIDcyMDAsIAotICAgIDcyMDYsIDcyMTQsIDcyMjIsIDcyMjcsIDcyMzIsIDcyNDAsIDcyNDgsIDcyNTYsIDcyNjQsIDcyNzIsIDcyODAsIDcyODcsIAotICAgIDcyOTQsIDczMDIsIDczMTAsIDczMTgsIDczMjYsIDczMzMsIDczNDAsIDczNDYsIDczNTIsIDczNjEsIDczNzAsIDczNzcsIAotICAgIDczODQsIDczOTEsIDczOTgsIDc0MDUsIDc0MTIsIDc0MTksIDc0MjYsIDc0MzQsIDc0NDIsIDc0NTAsIDc0NTgsIDc0NjYsIAotICAgIDc0NzQsIDc0ODQsIDc0OTQsIDc1MDEsIDc1MDgsIDc1MTUsIDc1MjIsIDc1MjksIDc1MzYsIDc1NDMsIDc1NTAsIDc1NTcsIAotICAgIDc1NjQsIDc1NzEsIDc1NzgsIDc1ODUsIDc1OTIsIDc1OTksIDc2MDYsIDc2MTMsIDc2MjAsIDc2MjcsIDc2MzQsIDc2NDEsIAotICAgIDc2NDgsIDc2NTUsIDc2NjIsIDc2NjcsIDc2NzIsIDc2NzcsIDc2ODIsIDc2ODcsIDc2OTIsIDc2OTcsIDc3MDIsIDc3MDcsIAotICAgIDc3MTIsIDc3MTgsIDc3MjQsIDc3MzMsIDc3NDIsIDc3NTEsIDc3NjAsIDc3NjgsIDc3NzYsIDc3ODQsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDc3OTIsIDc3OTcsIDc4MDIsIDc4MDcsIDc4MTIsIDc4MTcsIDc4MjIsIDc4MjcsIDc4MzIsIAotICAgIDc4MzYsIDc4NDEsIDc4NDYsIDc4NTEsIDc4NTYsIDc4NjEsIDc4NjYsIDc4NzEsIDc4NzYsIDc4ODEsIDc4ODYsIDc4OTEsIAotICAgIDc4OTYsIDc5MDEsIDc5MDYsIDc5MTEsIDc5MTYsIDc5MjEsIDc5MjYsIDc5MzAsIDc5MzUsIDc5NDAsIDc5NDUsIDc5NTAsIAotICAgIDc5NTUsIDc5NjAsIDc5NjUsIDc5NzAsIDc5NzUsIDAsIDAsIDc5ODAsIDc5ODcsIDc5OTAsIDc5OTQsIDc5OTgsIDgwMDEsIAotICAgIDgwMDUsIDAsIDgwMDksIDgwMTQsIDgwMTksIDgwMjQsIDgwMjksIDgwMzQsIDgwMzksIDgwNDQsIDgwNDksIDgwNTMsIAotICAgIDgwNTgsIDgwNjMsIDgwNjgsIDgwNzMsIDgwNzgsIDgwODMsIDgwODgsIDgwOTMsIDgwOTgsIDgxMDMsIDgxMDgsIDgxMTMsIAotICAgIDgxMTgsIDgxMjMsIDgxMjgsIDgxMzMsIDgxMzgsIDgxNDMsIDgxNDcsIDgxNTIsIDgxNTcsIDgxNjIsIDgxNjcsIDgxNzIsIAotICAgIDgxNzcsIDgxODIsIDgxODcsIDgxOTIsIDgxOTcsIDAsIDgyMDQsIDgyMDksIDAsIDAsIDAsIDAsIDgyMTIsIDAsIDgyMTYsIAotICAgIDgyMjEsIDgyMjYsIDgyMzEsIDgyMzgsIDgyNDUsIDgyNTAsIDgyNTUsIDgyNjAsIDgyNjUsIDgyNzAsIDgyNzUsIDgyODAsIAotICAgIDgyODcsIDgyOTIsIDgyOTksIDgzMDYsIDgzMTEsIDgzMTgsIDgzMjMsIDgzMjgsIDgzMzMsIDgzNDAsIDgzNDUsIDgzNTAsIAotICAgIDgzNTcsIDgzNjYsIDgzNzEsIDgzNzYsIDgzODEsIDgzODYsIDgzOTIsIDgzOTcsIDg0MDQsIDg0MTEsIDg0MTgsIDg0MjMsIAotICAgIDg0MjgsIDg0MzMsIDg0MzgsIDg0NDMsIDg0NDgsIDg0NTgsIDg0NjMsIDg0NzEsIDg0NzYsIDg0ODEsIDg0ODYsIDg0OTEsIAotICAgIDg0OTgsIDg1MDUsIDg1MTIsIDg1MTgsIDg1MjQsIDg1MzEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDg1MzgsIDg1NDIsIAotICAgIDg1NDYsIDg1NTAsIDg1NTQsIDg1NTgsIDg1NjIsIDg1NjYsIDg1NzAsIDg1NzQsIDg1NzgsIDg1ODMsIDg1ODcsIDg1OTEsIAotICAgIDg1OTYsIDg2MDAsIDg2MDUsIDg2MDksIDg2MTMsIDg2MTcsIDg2MjIsIDg2MjYsIDg2MzEsIDg2MzUsIDg2MzksIDg2NDMsIAotICAgIDg2NDcsIDAsIDAsIDAsIDAsIDAsIDg2NTEsIDg2NTgsIDg2NjYsIDg2NzMsIDg2NzgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDg2ODMsIDg2ODYsIDg2OTAsIDg2OTUsIDg2OTksIDAsIDg3MDMsIDg3MDksIDg3MTUsIDg3MTgsIAotICAgIDg3MjUsIDg3MzQsIDg3MzcsIDg3NDAsIDg3NDUsIDg3NTEsIDg3NTUsIDg3NjMsIDg3NjksIDg3NzUsIDg3ODMsIDg3ODcsIAotICAgIDg3OTIsIDg4MDMsIDg4MDgsIDg4MTIsIDg4MTYsIDg4MjAsIDg4MjMsIDAsIDg4MjYsIDg4MzMsIDg4MzcsIDg4NDMsIAotICAgIDg4NDcsIDg4NTQsIDg4NjAsIDg4NjcsIDg4NzMsIDg4NzksIDg4ODMsIDg4ODcsIDg4OTMsIDg4OTcsIDg5MDEsIDg5MDUsIAotICAgIDg5MDksIDg5MTMsIDg5MTcsIDg5MjEsIDg5MjUsIDg5MjksIDg5MzMsIDg5MzcsIDg5NDEsIDg5NDUsIDg5NDksIDg5NTMsIAotICAgIDg5NTcsIDg5NjEsIDg5NjksIDg5NzcsIDg5ODcsIDg5OTYsIDkwMDUsIDkwMDgsIDkwMTIsIDkwMTYsIDkwMjAsIDkwMjQsIAotICAgIDkwMjgsIDkwMzIsIDkwMzYsIDkwNDAsIDkwNDUsIDkwNDksIDkwNTIsIDkwNTUsIDkwNTgsIDkwNjEsIDkwNjQsIDkwNjcsIAotICAgIDkwNzAsIDkwNzMsIDkwNzcsIDkwODAsIDkwODMsIDkwODgsIDkwOTMsIDkwOTksIDkxMDIsIDkxMDksIDkxMTgsIDkxMjMsIAotICAgIDkxMjgsIDkxMzUsIDkxNDAsIDkxNDUsIDkxNDksIDkxNTMsIDkxNTcsIDkxNjEsIDkxNjUsIDkxNjksIDkxNzMsIDkxNzcsIAotICAgIDkxODEsIDkxODUsIDkxOTAsIDkxOTUsIDkyMDIsIDkyMDgsIDkyMTQsIDkyMjAsIDkyMjUsIDkyMzMsIDkyNDEsIDkyNDYsIAotICAgIDkyNTIsIDkyNTgsIDkyNjQsIDkyNzAsIDkyNzQsIDkyNzgsIDkyODIsIDkyODksIDkyOTksIDkzMDMsIDkzMDcsIDkzMTEsIAotICAgIDkzMTcsIDkzMjUsIDkzMjksIDkzMzMsIDkzNDAsIDkzNDQsIDkzNDgsIDkzNTIsIDkzNTksIDkzNjYsIDkzNzgsIDkzODIsIAotICAgIDkzODYsIDkzOTAsIDk0MDAsIDk0MDksIDk0MTMsIDk0MjEsIDk0MjgsIDk0MzUsIDk0NDQsIDk0NTUsIDk0NjMsIDk0NjcsIAotICAgIDk0NzYsIDk0ODcsIDk0OTUsIDk1MDgsIDk1MTYsIDk1MjQsIDk1MzIsIDk1NDAsIDk1NDYsIDk1NTUsIDk1NjIsIDk1NjYsIAotICAgIDk1NzQsIDk1NzgsIDk1ODUsIDk1OTMsIDk1OTcsIDk2MDMsIDk2MTAsIDk2MTcsIDk2MjEsIDk2MjksIDk2MzMsIDk2NDAsIAotICAgIDk2NDQsIDk2NTIsIDk2NTYsIDk2NjQsIDk2NzIsIDk2NzksIDk2ODcsIDk2OTUsIDk3MDIsIDk3MDgsIDk3MTIsIDk3MTksIAotICAgIDk3MjcsIDk3MzMsIDk3NDAsIDk3NDcsIDk3NTMsIDk3NjIsIDk3NzAsIDk3NzcsIDk3ODMsIDk3ODcsIDk3OTAsIDk3OTQsIAotICAgIDk4MDAsIDk4MDgsIDk4MTIsIDk4MTgsIDk4MjQsIDk4MzEsIDk4MzgsIDk4NDEsIDk4NDgsIDk4NTMsIDk4NjEsIDk4NjYsIAotICAgIDk4NzAsIDk4ODMsIDk4OTYsIDk5MDIsIDk5MDksIDk5MTQsIDk5MjAsIDk5MjUsIDk5MzEsIDk5NDEsIDk5NDgsIDk5NTcsIAotICAgIDk5NjcsIDk5NzMsIDk5NzgsIDk5ODMsIDk5ODcsIDk5OTEsIDk5OTYsIDEwMDAxLCAxMDAwNywgMTAwMTUsIDEwMDIzLCAKLSAgICAxMDAzNCwgMTAwMzksIDEwMDQ4LCAxMDA1NywgMTAwNjQsIDEwMDcwLCAxMDA3NiwgMTAwODIsIDEwMDg4LCAxMDA5NCwgCi0gICAgMTAxMDAsIDEwMTA2LCAxMDExMiwgMTAxMTgsIDEwMTI1LCAxMDEzMiwgMTAxMzksIDEwMTQ1LCAxMDE1MywgMTAxNjIsIAotICAgIDEwMTY4LCAxMDE3NSwgMTAxODIsIDEwMTg3LCAxMDE5MiwgMTAxOTYsIDEwMjAzLCAxMDIxMCwgMTAyMTksIDEwMjI4LCAKLSAgICAxMDIzMSwgMTAyMzYsIDEwMjQxLCAwLCAxMDI0NiwgMTAyNTAsIDEwMjU0LCAxMDI2MCwgMTAyNjQsIDEwMjY4LCAxMDI3NCwgCi0gICAgMTAyNzgsIDEwMjg2LCAxMDI5MCwgMTAyOTQsIDEwMjk4LCAxMDMwMiwgMTAzMDYsIDEwMzEyLCAxMDMxNiwgMTAzMjIsIAotICAgIDEwMzI2LCAxMDMzMCwgMTAzMzQsIDEwMzM4LCAxMDM0MiwgMTAzNDcsIDEwMzUwLCAxMDM1NCwgMTAzNjAsIDEwMzY0LCAKLSAgICAxMDM2OCwgMTAzNzIsIDEwMzc2LCAxMDM4MCwgMTAzODYsIDEwMzkyLCAxMDM5OCwgMTA0MDIsIDEwNDA2LCAxMDQxMSwgCi0gICAgMTA0MTUsIDEwNDE5LCAxMDQyNCwgMTA0MjgsIDEwNDMyLCAxMDQzOSwgMTA0NDYsIDEwNDUwLCAxMDQ1NCwgMTA0NTksIAotICAgIDEwNDYzLCAxMDQ2NywgMTA0NzAsIDEwNDc1LCAxMDQ3OCwgMTA0ODEsIDEwNDg2LCAxMDQ5MSwgMTA0OTUsIDEwNDk5LCAKLSAgICAxMDUwNSwgMTA1MTEsIDEwNTE0LCAwLCAwLCAxMDUxNywgMTA1MjMsIDEwNTI5LCAxMDUzNSwgMTA1NDUsIDEwNTU3LCAKLSAgICAxMDU2OSwgMTA1ODYsIDEwNTk4LCAxMDYwOSwgMTA2MTcsIDEwNjI0LCAxMDYzNSwgMTA2NTAsIDEwNjYxLCAxMDY2NywgCi0gICAgMTA2NzYsIDEwNjg0LCAxMDY5NiwgMTA3MDYsIDEwNzE0LCAxMDcyNiwgMTA3MzMsIDEwNzQxLCAxMDc1MywgMTA3NTksIAotICAgIDEwNzY1LCAxMDc3MywgMTA3ODEsIDEwNzg5LCAxMDc5NSwgMTA4MDUsIDEwODEyLCAxMDgyMiwgMTA4MzIsIDEwODQ1LCAKLSAgICAxMDg1OSwgMTA4NzMsIDEwODgzLCAxMDg5NCwgMTA5MDUsIDEwOTE4LCAxMDkzMSwgMTA5NDUsIDEwOTU3LCAxMDk2OSwgCi0gICAgMTA5ODIsIDEwOTk1LCAxMTAwNywgMTEwMjAsIDExMDI5LCAxMTAzNywgMTEwNDIsIDExMDQ3LCAxMTA1MiwgMTEwNTcsIAotICAgIDExMDYyLCAxMTA2NywgMTEwNzIsIDExMDc3LCAxMTA4MiwgMTEwODcsIDExMDkyLCAxMTA5NywgMTExMDIsIDExMTA3LCAKLSAgICAxMTExMiwgMTExMTcsIDExMTIyLCAxMTEyNywgMTExMzIsIDExMTM3LCAxMTE0MiwgMTExNDcsIDExMTUyLCAxMTE1NywgCi0gICAgMTExNjIsIDExMTY3LCAxMTE3MiwgMTExNzcsIDExMTgyLCAxMTE4NywgMTExOTIsIDExMTk3LCAxMTIwMSwgMTEyMDYsIAotICAgIDExMjExLCAxMTIxNiwgMTEyMjEsIDExMjI2LCAxMTIzMCwgMTEyMzQsIDExMjM4LCAxMTI0MiwgMTEyNDYsIDExMjUwLCAKLSAgICAxMTI1NCwgMTEyNTgsIDExMjYyLCAxMTI2NiwgMTEyNzAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDExMjc1LCAxMTI4MCwgMTEyODQsIDExMjg4LCAxMTI5MiwgMTEyOTYsIDExMzAwLCAxMTMwNCwgMTEzMDgsIDExMzEyLCAKLSAgICAxMTMxNiwgMTEzMjAsIDExMzI1LCAxMTMyOSwgMTEzMzMsIDExMzM3LCAxMTM0MiwgMTEzNDYsIDExMzUxLCAxMTM1NiwgCi0gICAgMTEzNjEsIDExMzY1LCAxMTM3MCwgMTEzNzUsIDExMzgwLCAxMTM4NSwgMTEzODksIDExMzk0LCAxMTM5OCwgMTE0MDMsIAotICAgIDExNDA4LCAxMTQxMiwgMTE0MTcsIDExNDI0LCAxMTQyOCwgMTE0MzMsIDExNDM3LCAxMTQ0MSwgMTE0NDYsIDExNDUwLCAKLSAgICAxMTQ1NywgMTE0NjQsIDExNDcxLCAxMTQ3NywgMTE0ODUsIDExNDkzLCAxMTUwMiwgMTE1MTAsIDExNTE3LCAxMTUyNCwgCi0gICAgMTE1MzIsIDExNTM4LCAxMTU0NCwgMTE1NTAsIDExNTU2LCAxMTU2MywgMTE1NjgsIDExNTcyLCAxMTU3NywgMCwgMCwgMCwgCi0gICAgMCwgMCwgMTE1ODEsIDExNTg2LCAxMTU5MSwgMTE1OTYsIDExNjAxLCAxMTYwNiwgMTE2MTEsIDExNjE2LCAxMTYyMSwgCi0gICAgMTE2MjYsIDExNjMxLCAxMTYzNiwgMTE2NDEsIDExNjQ2LCAxMTY1MSwgMTE2NTYsIDExNjYxLCAxMTY2NiwgMTE2NzEsIAotICAgIDExNjc2LCAxMTY4MSwgMTE2ODYsIDExNjkxLCAxMTY5NiwgMTE3MDEsIDExNzA2LCAxMTcxMSwgMTE3MTksIDExNzI2LCAKLSAgICAxMTczMiwgMTE3MzcsIDExNzQ1LCAxMTc1MiwgMTE3NTgsIDExNzY1LCAxMTc3MSwgMTE3NzYsIDExNzgzLCAxMTc5MCwgCi0gICAgMTE3OTYsIDExODAxLCAxMTgwNiwgMTE4MTIsIDExODE3LCAxMTgyMiwgMTE4MjgsIDAsIDAsIDExODMzLCAxMTgzOSwgCi0gICAgMTE4NDUsIDExODUxLCAxMTg1NywgMTE4NjMsIDExODY5LCAxMTg3NCwgMTE4ODIsIDExODg4LCAxMTg5NCwgMTE5MDAsIAotICAgIDExOTA2LCAxMTkxMiwgMTE5MjAsIDAsIDExOTI2LCAxMTkzMSwgMTE5MzYsIDExOTQxLCAxMTk0NiwgMTE5NTEsIDExOTU2LCAKLSAgICAxMTk2MSwgMTE5NjYsIDExOTcxLCAxMTk3NiwgMTE5ODEsIDExOTg2LCAxMTk5MSwgMTE5OTYsIDEyMDAxLCAxMjAwNiwgCi0gICAgMTIwMTEsIDEyMDE2LCAxMjAyMSwgMTIwMjYsIDEyMDMxLCAxMjAzNiwgMTIwNDEsIDEyMDQ2LCAxMjA1MSwgMTIwNTYsIAotICAgIDEyMDYxLCAwLCAwLCAxMjA2NiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzYwLCAzNjQsIDM2OSwgCisgICAgMzcyLCAzNzUsIDM3OCwgMzgxLCAzODQsIDM4NywgMzg5LCAzOTIsIDM5OCwgNDA2LCA0MDksIDQxMywgNDE2LCA0MTgsIAorICAgIDQyMSwgNDI0LCA0MjcsIDQzMCwgNDM0LCA0MzcsIDQ0MCwgNDQ0LCA0NDYsIDQ0OSwgNDU1LCA0NjMsIDQ3MCwgNDc3LCAKKyAgICA0ODQsIDQ4OSwgNDk2LCA1MDIsIDUwOSwgNTE2LCA1MjMsIDUzMSwgNTM2LCA1NDQsIDU1MSwgNTU3LCA1NjQsIDU3MSwgCisgICAgNTc5LCA1ODYsIDU5NCwgNjAyLCA2MDcsIDYxNSwgNjIyLCA2MjgsIDYzNSwgNjQyLCA2NDksIDY1MiwgNjU4LCA2NjUsIAorICAgIDY3MSwgNjc4LCA2ODUsIDY5MiwgNjk3LCA3MDMsIDcxMCwgNzE2LCA3MjMsIDczMCwgNzM3LCA3NDUsIDc1MCwgNzU4LCAKKyAgICA3NjUsIDc3MSwgNzc4LCA3ODUsIDc5MywgODAwLCA4MDgsIDgxNiwgODIxLCA4MjksIDgzNiwgODQyLCA4NDksIDg1NiwgCisgICAgODYzLCA4NjYsIDg3MiwgODc5LCA4ODUsIDg5MiwgODk5LCA5MDYsIDkxMSwgOTE5LCA5MjYsIDkzMywgOTQwLCA5NDcsIAorICAgIDk1NCwgOTYxLCA5NjgsIDk3NSwgOTgzLCA5OTEsIDk5OSwgMTAwNywgMTAxNSwgMTAyMywgMTAzMSwgMTAzOSwgMTA0NiwgCisgICAgMTA1MywgMTA2MCwgMTA2NywgMTA3NCwgMTA4MSwgMTA4OCwgMTA5NSwgMTEwMiwgMTEwOSwgMTExNiwgMTEyMywgMTEzMSwgCisgICAgMTEzOSwgMTE0NywgMTE1NSwgMTE2MywgMTE3MSwgMTE3OSwgMTE4NywgMTE5NSwgMTIwMywgMTIxMCwgMTIxNywgMTIyNSwgCisgICAgMTIzMywgMTI0MSwgMTI0OSwgMTI1NywgMTI2NSwgMTI3MywgMTI4MSwgMTI4OSwgMTI5NSwgMTMwMCwgMTMwNSwgMTMxMywgCisgICAgMTMyMSwgMTMyOSwgMTMzNywgMTM0MiwgMTM0OSwgMTM1NiwgMTM2NCwgMTM3MiwgMTM4MCwgMTM4OCwgMTM5OCwgMTQwOCwgCisgICAgMTQxNSwgMTQyMiwgMTQyOSwgMTQzNiwgMTQ0NCwgMTQ1MiwgMTQ2MCwgMTQ2OCwgMTQ3OSwgMTQ4NCwgMTQ4OSwgMTQ5NiwgCisgICAgMTUwMywgMTUxMCwgMTUxNywgMTUyNCwgMTUzMSwgMTUzNiwgMTU0MSwgMTU0OCwgMTU1NSwgMTU2MywgMTU3MSwgMTU3OSwgCisgICAgMTU4NywgMTU5NCwgMTYwMSwgMTYwOSwgMTYxNywgMTYyNSwgMTYzMywgMTY0MSwgMTY0OSwgMTY1NywgMTY2NSwgMTY3MywgCisgICAgMTY4MSwgMTY4OCwgMTY5NSwgMTcwMiwgMTcwOSwgMTcxNiwgMTcyMywgMTczMCwgMTczNywgMTc0NSwgMTc1MywgMTc2MCwgCisgICAgMTc2NywgMTc3NCwgMTc4MSwgMTc4OSwgMTc5NywgMTgwNSwgMTgxMywgMTgyMSwgMTgyOCwgMTgzNSwgMTg0MywgMTg1MSwgCisgICAgMTg1OSwgMTg2NywgMTg3MiwgMTg3OCwgMTg4NCwgMTg5MSwgMTg5OCwgMTkwMywgMTkwOCwgMTkxNCwgMTkyMSwgMTkyOCwgCisgICAgMTkzNSwgMTk0MiwgMTk1MCwgMTk1OCwgMTk2NCwgMTk3MCwgMTk3NSwgMTk4MSwgMTk4OCwgMTk5NSwgMjAwMiwgMjAwNywgCisgICAgMjAxMiwgMjAxNywgMjAyNCwgMjAzMSwgMjAzOCwgMjA0NSwgMjA1MiwgMjA1OCwgMjA2NiwgMjA3NiwgMjA4NSwgMjA5MiwgCisgICAgMjA5OSwgMjEwNCwgMjEwOSwgMjExNiwgMjEyMywgMjEyNywgMjEzMiwgMjEzNywgMjE0MiwgMjE1MCwgMjE1OSwgMjE2NiwgCisgICAgMjE3MywgMjE4MiwgMjE4OSwgMjE5NiwgMjIwMSwgMjIwOCwgMjIxNSwgMjIyMiwgMjIyOSwgMjIzNiwgMjI0MSwgMjI0OCwgCisgICAgMjI1NSwgMjI2MywgMjI2OCwgMjI3MywgMjI3OCwgMjI4OCwgMjI5MiwgMjI5OCwgMjMwNCwgMjMxMCwgMjMxNiwgMjMyNCwgCisgICAgMjMzNywgMjM0NSwgMjM1MCwgMjM2MCwgMjM2NSwgMjM3MCwgMjM4MCwgMjM4NSwgMjM5MiwgMjM5OSwgMjQwNywgMjQxNSwgCisgICAgMjQyMiwgMjQyOSwgMjQzNiwgMjQ0MywgMjQ1MywgMjQ2MywgMjQ3MiwgMjQ4MSwgMjQ5MSwgMjUwMSwgMjUxMSwgMjUyMSwgCisgICAgMjUyNiwgMjUzNiwgMjU0NiwgMjU1NiwgMjU2NiwgMjU3NCwgMjU4MiwgMjU4OSwgMjU5NiwgMjYwNCwgMjYxMiwgMjYyMCwgCisgICAgMjYyOCwgMjYzNSwgMjY0MiwgMjY1MiwgMjY2MiwgMjY3MCwgMjY3OCwgMjY4NiwgMjY5MSwgMjcwMSwgMjcwNiwgMjcxMywgCisgICAgMjcyMCwgMjcyNSwgMjczMCwgMjczOCwgMjc0NiwgMjc1NiwgMjc2NiwgMjc3MywgMjc4MCwgMjc4OSwgMjc5OCwgMjgwNiwgCisgICAgMjgxNCwgMjgyMywgMjgzMiwgMjg0MCwgMjg0OCwgMjg1NywgMjg2NiwgMjg3NSwgMjg4NCwgMjg5NCwgMjkwNCwgMjkxMiwgCisgICAgMjkyMCwgMjkyOSwgMjkzOCwgMjk0NywgMjk1NiwgMjk2NiwgMjk3NiwgMjk4NCwgMjk5MiwgMzAwMSwgMzAxMCwgMzAxOSwgCisgICAgMzAyOCwgMzAzNywgMzA0NiwgMzA1MSwgMzA1NiwgMzA2NCwgMzA3MiwgMzA4MiwgMzA5MCwgMzA5NSwgMzEwMCwgMzEwNywgCisgICAgMzExNCwgMzEyMSwgMzEyOCwgMzEzNSwgMzE0MiwgMzE1MiwgMzE2MiwgMzE3MiwgMzE4MiwgMzE4OSwgMzE5NiwgMzIwNiwgCisgICAgMzIxNiwgMzIyNCwgMzIzMiwgMzI0MCwgMzI0OCwgMzI1NiwgMzI2MywgMzI3MCwgMzI3NywgMzI4MywgMzI5MCwgMzI5NywgCisgICAgMzMwNCwgMzMxMywgMzMyMywgMzMzMywgMzM0MCwgMzM0NywgMzM1MywgMzM1OCwgMzM2NCwgMzM3MCwgMzM3NiwgMzM4MywgCisgICAgMzM5MCwgMzQwMSwgMzQxMSwgMzQxOCwgMzQyNSwgMzQzMiwgMzQzOSwgMzQ0NCwgMzQ0OSwgMzQ1NSwgMzQ2MSwgMzQ2NywgCisgICAgMzQ3NSwgMzQ4MywgMzQ5MCwgMzQ5NiwgMzUwMSwgMzUwOCwgMzUxNCwgMzUyMiwgMzUzMiwgMzU0MiwgMzU1MSwgMzU1OCwgCisgICAgMzU2NCwgMzU3MCwgMzU3NSwgMzU4MiwgMzU4OCwgMzU5NSwgMzYwMiwgMzYwOSwgMzYxNCwgMzYxOSwgMzYyOSwgMzYzNywgCisgICAgMzY0NiwgMzY1MSwgMzY1NywgMzY2NywgMzY3NCwgMzY4MiwgMzY5MSwgMzY5NywgMzcwMywgMzcwOSwgMzcxNiwgMzcyMSwgCisgICAgMzcyNiwgMzczNiwgMzc0NCwgMzc1MywgMzc2MSwgMzc2OSwgMzc3OSwgMzc4NCwgMzc5MSwgMzc5OCwgMzgwMywgMzgxNSwgCisgICAgMzgyNCwgMzgzMiwgMzgzOCwgMzg0NywgMzg1MiwgMzg1NywgMzg2NCwgMzg3MCwgMzg3NiwgMzg4MiwgMzg4OCwgMzg5NywgCisgICAgMzkwNSwgMzkxMCwgMzkxOCwgMzkyNCwgMzkzMiwgMzk0MCwgMzk0NiwgMzk1MiwgMzk1OCwgMzk2NiwgMzk3NCwgMzk4MCwgCisgICAgMzk4OCwgMzk5NCwgMzk5OSwgNDAwNiwgNDAxNCwgNDAyNCwgNDAzMSwgNDAzOCwgNDA0OCwgNDA1NSwgNDA2MiwgNDA3MiwgCisgICAgNDA3OSwgNDA4NiwgNDA5MywgNDA5OSwgNDEwNSwgNDExNCwgNDEyNiwgNDEzMSwgNDEzOCwgNDE0MywgNDE0NywgNDE1MiwgCisgICAgNDE2MCwgNDE2NywgNDE3MiwgNDE3NywgNDE4MSwgNDE4NiwgNDE5MSwgNDE5NSwgNDIwMSwgNDIwNywgNDIxMywgNDIxOSwgCisgICAgNDIyNywgNDIzMiwgNDIzNywgNDI0MiwgNDI0NywgNDI1MywgNDI1NSwgNDI2MCwgNDI2NCwgNDI3MCwgNDI3NiwgNDI4MiwgCisgICAgNDI4NywgNDI5NCwgNDMwMSwgNDMwNywgNDMxNCwgNDMyMiwgNDMzMCwgNDMzNSwgNDM0MCwgNDM0NCwgNDM0OSwgNDM1MSwgCisgICAgNDM1MywgNDM1NiwgNDM1OCwgNDM2MSwgNDM2NiwgNDM3MSwgNDM3NywgNDM4MiwgNDM4NiwgNDM5MCwgNDM5NSwgNDQwNCwgCisgICAgNDQxMCwgNDQxNSwgNDQyMSwgNDQyNiwgNDQzMiwgNDQ0MCwgNDQ0OCwgNDQ1MiwgNDQ1NiwgNDQ2MSwgNDQ2NywgNDQ3MywgCisgICAgNDQ3OSwgNDQ4NSwgNDQ5MCwgNDQ5OCwgNDUwNywgNDUxNiwgNDUyMSwgNDUyNywgNDUzNCwgNDU0MSwgNDU0OCwgNDU1NSwgCisgICAgNDU1OSwgNDU2NSwgNDU3MCwgNDU3NSwgNDU4MCwgNDU4NSwgNDU4OCwgNDU5MSwgNDU5NCwgNDU5NywgNDYwMCwgNDYwMywgCisgICAgNDYwNywgNDYxMSwgNDYxNywgNDYyMCwgNDYyNSwgNDYzMSwgNDYzNywgNDY0MCwgNDY0NSwgNDY1MCwgNDY1NCwgNDY2MCwgCisgICAgNDY2NiwgNDY3MiwgNDY3OCwgNDY4MywgNDY4OCwgNDY5MywgNDY5NiwgNDcwMiwgNDcwNywgNDcxMiwgNDcxNiwgNDcyMSwgCisgICAgNDcyNywgNDczMywgNDczNiwgNDc0MCwgNDc0NCwgNDc0OCwgNDc1MSwgNDc1NCwgNDc1OSwgNDc2MywgNDc3MCwgNDc3NCwgCisgICAgNDc4MCwgNDc4NCwgNDc5MCwgNDc5NCwgNDc5OCwgNDgwMiwgNDgwNywgNDgxMiwgNDgxOSwgNDgyNSwgNDgzMiwgNDgzOCwgCisgICAgNDg0NCwgNDg1MCwgNDg1MywgNDg1NywgNDg2MSwgNDg2NSwgNDg2OSwgNDg3NCwgNDg3OSwgNDg4MywgNDg4NywgNDg5MywgCisgICAgNDg5NywgNDkwMSwgNDkwNiwgNDkxMiwgNDkxNywgNDkyMywgNDkyNywgNDkzNCwgNDkzOSwgNDk0MywgNDk0OCwgNDk1MywgCisgICAgNDk1OSwgNDk2MiwgNDk2NiwgNDk3MSwgNDk3NiwgNDk4NSwgNDk5MSwgNDk5NiwgNTAwMCwgNTAwNSwgNTAwOSwgNTAxNCwgCisgICAgNTAxOCwgNTAyMiwgNTAyNywgNTAzMSwgNTAzNywgNTA0MiwgNTA0NywgNTA1MiwgNTA1NywgNTA2MiwgNTA2NywgNTA3MywgCisgICAgNTA3OSwgNTA4NSwgNTA5MSwgNTA5NiwgNTEwMiwgNTEwOCwgNTExNCwgNTExOSwgNTEyNCwgNTEzMSwgNTEzOCwgNTE0MiwgCisgICAgNTE0OCwgNTE1NSwgMCwgMCwgNTE2MiwgNTE2NSwgNTE3NCwgNTE4MywgNTE5NCwgNTE5OCwgMCwgMCwgMCwgMCwgNTIwMywgCisgICAgNTIwNiwgNTIxMSwgNTIxOSwgNTIyNCwgNTIzMiwgNTI0MCwgMCwgNTI0OCwgMCwgNTI1NiwgNTI2NCwgNTI3MiwgNTI4MywgCisgICAgNTI4OCwgNTI5MywgNTI5OCwgNTMwMywgNTMwOCwgNTMxMywgNTMxOCwgNTMyMywgNTMyOCwgNTMzMywgNTMzOCwgNTM0MywgCisgICAgNTM0OCwgNTM1MywgNTM1OCwgNTM2MywgMCwgNTM2OCwgNTM3MywgNTM3OCwgNTM4MywgNTM4OCwgNTM5MywgNTM5OCwgCisgICAgNTQwMywgNTQxMSwgNTQxOSwgNTQyNywgNTQzNSwgNTQ0MywgNTQ1MSwgNTQ2MiwgNTQ2NywgNTQ3MiwgNTQ3NywgNTQ4MiwgCisgICAgNTQ4NywgNTQ5MiwgNTQ5NywgNTUwMiwgNTUwNywgNTUxMiwgNTUxNywgNTUyMiwgNTUyNywgNTUzMiwgNTUzNywgNTU0MiwgCisgICAgNTU0NywgNTU1MywgNTU1OCwgNTU2MywgNTU2OCwgNTU3MywgNTU3OCwgNTU4MywgNTU4OCwgNTU5NiwgNTYwNCwgNTYxMiwgCisgICAgNTYyMCwgNTYyOCwgNTYzMywgNTYzNywgNTY0MSwgNTY0OCwgNTY1OCwgNTY2OCwgNTY3MiwgNTY3NiwgNTY4MCwgNTY4NiwgCisgICAgNTY5MywgNTY5NywgNTcwMiwgNTcwNiwgNTcxMSwgNTcxNSwgNTcyMCwgNTcyNCwgNTcyOSwgNTczNCwgNTczOSwgNTc0NCwgCisgICAgNTc0OSwgNTc1NCwgNTc1OSwgNTc2NCwgNTc2OSwgNTc3NCwgNTc3OSwgNTc4NCwgNTc4OSwgNTc5NCwgNTc5OSwgNTgwMywgCisgICAgNTgwNywgNTgxMywgNTgxNywgNTgyMiwgNTgyOCwgNTgzNiwgNTg0MSwgNTg0NiwgNTg1MywgNTg1OCwgNTg2MywgNTg3MCwgCisgICAgNTg3OSwgNTg4OCwgNTg5OSwgNTkwNywgNTkxMiwgNTkxNywgNTkyMiwgNTkyOSwgNTkzNCwgNTk0MCwgNTk0NSwgNTk1MCwgCisgICAgNTk1NSwgNTk2MCwgNTk2NSwgNTk3MCwgNTk3OCwgNTk4NCwgNTk4OSwgNTk5MywgNTk5OCwgNjAwMywgNjAwOCwgNjAxMywgCisgICAgNjAxOCwgNjAyMywgNjAyOCwgNjAzMiwgNjAzOCwgNjA0MiwgNjA0NywgNjA1MiwgNjA1NywgNjA2MSwgNjA2NiwgNjA3MSwgCisgICAgNjA3NiwgNjA4MSwgNjA4NSwgNjA5MCwgNjA5NCwgNjA5OSwgNjEwNCwgNjEwOSwgNjExNCwgNjEyMCwgNjEyNSwgNjEzMSwgCisgICAgNjEzNSwgNjE0MCwgNjE0NCwgNjE0OCwgNjE1MywgNjE1OCwgNjE2MywgNjE2OCwgNjE3MywgNjE3OCwgNjE4MywgNjE4NywgCisgICAgNjE5MywgNjE5NywgNjIwMiwgNjIwNywgNjIxMiwgNjIxNiwgNjIyMSwgNjIyNiwgNjIzMSwgNjIzNiwgNjI0MCwgNjI0NSwgCisgICAgNjI0OSwgNjI1NCwgNjI1OSwgNjI2NCwgNjI2OSwgNjI3NSwgNjI4MCwgNjI4NiwgNjI5MCwgNjI5NSwgNjI5OSwgNjMwNywgCisgICAgNjMxMiwgNjMxNywgNjMyMiwgNjMyOSwgNjMzNCwgNjM0MCwgNjM0NSwgNjM1MCwgNjM1NSwgNjM2MCwgNjM2NSwgNjM3MCwgCisgICAgNjM3OCwgNjM4NCwgNjM4OSwgNjM5NCwgNjM5OSwgNjQwNCwgNjQwOSwgNjQxNSwgNjQyMSwgNjQyOCwgNjQzNSwgNjQ0NCwgCisgICAgNjQ1MywgNjQ2MCwgNjQ2NywgNjQ3NiwgNjQ4NSwgNjQ5MCwgNjQ5NSwgNjUwMCwgNjUwNSwgNjUxMCwgNjUxNSwgNjUyMCwgCisgICAgNjUyNSwgNjUzNiwgNjU0NywgNjU1MiwgNjU1NywgNjU2NCwgNjU3MSwgNjU3OSwgNjU4NywgNjU5MiwgNjU5NywgNjYwMiwgCisgICAgNjYwNywgNjYxMSwgNjYxNSwgNjYxOSwgNjYyNSwgNjYzMSwgNjYzNSwgNjY0MiwgNjY0NywgNjY1NywgNjY2NywgNjY3MywgCisgICAgNjY3OSwgNjY4NywgNjY5NSwgNjcwMywgNjcxMSwgNjcxOCwgNjcyNSwgNjczNCwgNjc0MywgNjc1MSwgNjc1OSwgNjc2NywgCisgICAgNjc3NSwgNjc4MywgNjc5MSwgNjc5OSwgNjgwNywgNjgxNCwgNjgyMSwgNjgyNywgNjgzMywgNjg0MSwgNjg0OSwgNjg1NiwgCisgICAgNjg2MywgNjg3MiwgNjg4MSwgNjg4NywgNjg5MywgNjkwMSwgNjkwOSwgNjkxNywgNjkyNSwgNjkzMSwgNjkzNywgNjk0NSwgCisgICAgNjk1MywgNjk2MSwgNjk2OSwgNjk3NiwgNjk4MywgNjk5MSwgNjk5OSwgNzAwNywgNzAxNSwgNzAyMCwgNzAyNSwgNzAzMiwgCisgICAgNzAzOSwgNzA0OSwgNzA1OSwgNzA2MywgNzA3MSwgNzA3OSwgNzA4NiwgNzA5MywgNzEwMSwgNzEwOSwgNzExNiwgNzEyMywgCisgICAgNzEzMSwgNzEzOSwgNzE0NiwgNzE1MywgNzE2MSwgNzE2OSwgNzE3NCwgNzE4MSwgNzE4OCwgNzE5NSwgNzIwMiwgNzIwOCwgCisgICAgNzIxNCwgNzIyMiwgNzIzMCwgNzIzNSwgNzI0MCwgNzI0OCwgNzI1NiwgNzI2NCwgNzI3MiwgNzI4MCwgNzI4OCwgNzI5NSwgCisgICAgNzMwMiwgNzMxMCwgNzMxOCwgNzMyNiwgNzMzNCwgNzM0MSwgNzM0OCwgNzM1NCwgNzM2MCwgNzM2OSwgNzM3OCwgNzM4NSwgCisgICAgNzM5MiwgNzM5OSwgNzQwNiwgNzQxMywgNzQyMCwgNzQyNywgNzQzNCwgNzQ0MiwgNzQ1MCwgNzQ1OCwgNzQ2NiwgNzQ3NCwgCisgICAgNzQ4MiwgNzQ5MiwgNzUwMiwgNzUwOSwgNzUxNiwgNzUyMywgNzUzMCwgNzUzNywgNzU0NCwgNzU1MSwgNzU1OCwgNzU2NSwgCisgICAgNzU3MiwgNzU3OSwgNzU4NiwgNzU5MywgNzYwMCwgNzYwNywgNzYxNCwgNzYyMSwgNzYyOCwgNzYzNSwgNzY0MiwgNzY0OSwgCisgICAgNzY1NiwgNzY2MywgNzY3MCwgNzY3NSwgNzY4MCwgNzY4NSwgNzY5MCwgNzY5NSwgNzcwMCwgNzcwNSwgNzcxMCwgNzcxNSwgCisgICAgNzcyMCwgNzcyNiwgNzczMiwgNzc0MSwgNzc1MCwgNzc1OSwgNzc2OCwgNzc3NiwgNzc4NCwgNzc5MiwgNzgwMCwgNzgwOCwgCisgICAgNzgxNiwgNzgyMSwgNzgyNiwgNzgzMSwgNzgzNiwgNzg0NCwgMCwgNzg1MiwgNzg1NywgNzg2MiwgNzg2NywgNzg3MiwgCisgICAgNzg3NywgNzg4MiwgNzg4NywgNzg5MiwgNzg5NiwgNzkwMSwgNzkwNiwgNzkxMSwgNzkxNiwgNzkyMSwgNzkyNiwgNzkzMSwgCisgICAgNzkzNiwgNzk0MSwgNzk0NiwgNzk1MSwgNzk1NiwgNzk2MSwgNzk2NiwgNzk3MSwgNzk3NiwgNzk4MSwgNzk4NiwgNzk5MSwgCisgICAgNzk5NiwgODAwMSwgODAwNiwgODAxMSwgODAxNiwgODAyMSwgODAyNiwgODAzMSwgODAzNiwgMCwgMCwgODA0MSwgODA0OCwgCisgICAgODA1MSwgODA1NSwgODA1OSwgODA2MiwgODA2NiwgMCwgODA3MCwgODA3NSwgODA4MCwgODA4NSwgODA5MCwgODA5NSwgCisgICAgODEwMCwgODEwNSwgODExMCwgODExNCwgODExOSwgODEyNCwgODEyOSwgODEzNCwgODEzOSwgODE0NCwgODE0OSwgODE1NCwgCisgICAgODE1OSwgODE2NCwgODE2OSwgODE3NCwgODE3OSwgODE4NCwgODE4OSwgODE5NCwgODE5OSwgODIwNCwgODIwOSwgODIxNCwgCisgICAgODIxOSwgODIyNCwgODIyOSwgODIzNCwgODIzOSwgODI0NCwgODI0OSwgODI1NCwgODI1OSwgMCwgODI2NiwgODI3MSwgMCwgCisgICAgMCwgODI3NCwgODI4MCwgODI4NiwgMCwgODI5MCwgODI5NSwgODMwMCwgODMwNSwgODMxMiwgODMxOSwgODMyNCwgODMyOSwgCisgICAgODMzNCwgODMzOSwgODM0NCwgODM0OSwgODM1NCwgODM2MSwgODM2NiwgODM3MywgODM4MCwgODM4NSwgODM5MiwgODM5NywgCisgICAgODQwMiwgODQwNywgODQxNCwgODQxOSwgODQyNCwgODQzMSwgODQ0MCwgODQ0NSwgODQ1MCwgODQ1NSwgODQ2MCwgODQ2NiwgCisgICAgODQ3MSwgODQ3OCwgODQ4NSwgODQ5MiwgODQ5NywgODUwMiwgODUwNywgODUxMiwgODUxNywgODUyMiwgODUzMiwgODUzNywgCisgICAgODU0NiwgODU1MSwgODU1NiwgODU2MSwgODU2NiwgODU3MywgODU4MCwgODU4NywgODU5MywgODU5OSwgODYwNiwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgODYxMywgODYxNywgODYyMSwgODYyNSwgODYyOSwgODYzMywgODYzNywgODY0MSwgODY0NSwgCisgICAgODY0OSwgODY1MywgODY1OCwgODY2MiwgODY2NiwgODY3MSwgODY3NSwgODY4MCwgODY4NCwgODY4OCwgODY5MiwgODY5NywgCisgICAgODcwMSwgODcwNiwgODcxMCwgODcxNCwgODcxOCwgODcyMiwgMCwgMCwgMCwgMCwgMCwgODcyNiwgODczMywgODc0MSwgCisgICAgODc0OCwgODc1MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgODc1OCwgODc2MSwgODc2NSwgODc3MCwgCisgICAgODc3NCwgODc3OCwgODc4MiwgODc4OCwgODc5NCwgODc5NywgODgwNCwgODgxMywgODgxNiwgODgxOSwgODgyNCwgODgzMCwgCisgICAgODgzNCwgODg0MiwgODg0OCwgODg1NCwgODg2MiwgODg2NiwgODg3MSwgODg4MiwgODg4NywgODg5MSwgODg5NSwgODg5OSwgCisgICAgODkwMiwgMCwgODkwNSwgODkxMiwgODkxNiwgODkyMiwgODkyNiwgODkzMywgODk0MCwgODk0OCwgODk1NSwgODk2MiwgCisgICAgODk2NiwgODk3MCwgODk3NiwgODk4MCwgODk4NCwgODk4OCwgODk5MiwgODk5NiwgOTAwMCwgOTAwNCwgOTAwOCwgOTAxMiwgCisgICAgOTAxNiwgOTAyMCwgOTAyNCwgOTAyOCwgOTAzMiwgOTAzNiwgOTA0MCwgOTA0NCwgOTA1MiwgOTA2MCwgOTA3MCwgOTA3OSwgCisgICAgOTA4OCwgOTA5MSwgOTA5NSwgOTA5OSwgOTEwMywgOTEwNywgOTExMSwgOTExNSwgOTExOSwgOTEyMywgOTEyOCwgOTEzMiwgCisgICAgOTEzNSwgOTEzOCwgOTE0MSwgOTE0NCwgOTE0NywgOTE1MCwgOTE1MywgOTE1NiwgOTE2MCwgOTE2NCwgOTE2OCwgOTE3MywgCisgICAgOTE3OCwgOTE4NCwgOTE4NywgOTE5NCwgOTIwMywgOTIwOCwgOTIxMywgOTIyMCwgOTIyNiwgOTIzMSwgOTIzNSwgOTIzOSwgCisgICAgOTI0MywgOTI0NywgOTI1MSwgOTI1NSwgOTI1OSwgOTI2MywgOTI2NywgOTI3MSwgOTI3NiwgOTI4MSwgOTI4OCwgOTI5NCwgCisgICAgOTMwMCwgOTMwNiwgOTMxMSwgOTMyMCwgOTMyOSwgOTMzNCwgOTM0MSwgOTM0OCwgOTM1NSwgOTM2MiwgOTM2NiwgOTM3MCwgCisgICAgOTM3NCwgOTM4MSwgOTM5MSwgOTM5NSwgOTM5OSwgOTQwMywgOTQxMCwgOTQxOCwgOTQyMiwgOTQyNiwgOTQzMywgOTQzNywgCisgICAgOTQ0MSwgOTQ0NSwgOTQ1MiwgOTQ1OSwgOTQ3MSwgOTQ3NSwgOTQ3OSwgOTQ4MywgOTQ5MywgOTUwMiwgOTUwNiwgOTUxNCwgCisgICAgOTUyMSwgOTUyOCwgOTUzNywgOTU0OCwgOTU1NiwgOTU2MCwgOTU2OSwgOTU4MCwgOTU4OCwgOTYwMSwgOTYwOSwgOTYxNywgCisgICAgOTYyNSwgOTYzMywgOTYzOSwgOTY0OCwgOTY1NSwgOTY1OSwgOTY2NywgOTY3MSwgOTY3OCwgOTY4NiwgOTY5MCwgOTY5NiwgCisgICAgOTcwMywgOTcxMCwgOTcxNCwgOTcyMiwgOTcyNiwgOTczMywgOTczNywgOTc0NSwgOTc0OSwgOTc1NywgOTc2NSwgOTc3MiwgCisgICAgOTc4MCwgOTc4OCwgOTc5NSwgOTgwMSwgOTgwNSwgOTgxMiwgOTgyMCwgOTgyNiwgOTgzMywgOTg0MCwgOTg0NiwgOTg1NiwgCisgICAgOTg2NCwgOTg3MSwgOTg3NywgOTg4MSwgOTg4NCwgOTg4OCwgOTg5NCwgOTkwMiwgOTkwNiwgOTkxMiwgOTkxOCwgOTkyNSwgCisgICAgOTkzMiwgOTkzNSwgOTk0MiwgOTk0NywgOTk1NiwgOTk2MSwgOTk2NSwgOTk3OCwgOTk5MSwgOTk5NywgMTAwMDQsIDEwMDA5LCAKKyAgICAxMDAxNSwgMTAwMjAsIDEwMDI2LCAxMDAzNiwgMTAwNDMsIDEwMDUyLCAxMDA2MiwgMTAwNjgsIDEwMDczLCAxMDA3OCwgCisgICAgMTAwODIsIDEwMDg2LCAxMDA5MSwgMTAwOTYsIDEwMTAyLCAxMDExMCwgMTAxMTgsIDEwMTI5LCAxMDEzNCwgMTAxNDMsIAorICAgIDEwMTUyLCAxMDE1OSwgMTAxNjUsIDEwMTcxLCAxMDE3NywgMTAxODMsIDEwMTg5LCAxMDE5NSwgMTAyMDEsIDEwMjA3LCAKKyAgICAxMDIxMywgMTAyMjAsIDEwMjI3LCAxMDIzNCwgMTAyNDAsIDEwMjQ4LCAxMDI1NywgMTAyNjQsIDEwMjcyLCAxMDI4MCwgCisgICAgMTAyODYsIDEwMjkyLCAxMDI5NywgMTAzMDUsIDEwMzEzLCAxMDMyMywgMTAzMzMsIDEwMzM3LCAxMDM0MywgMTAzNDksIDAsIAorICAgIDEwMzU1LCAxMDM2MCwgMTAzNjUsIDEwMzcyLCAxMDM3NywgMTAzODIsIDEwMzg5LCAxMDM5NCwgMTA0MDMsIDEwNDA4LCAKKyAgICAxMDQxMywgMTA0MTgsIDEwNDIzLCAxMDQyOCwgMTA0MzUsIDEwNDQwLCAxMDQ0NywgMTA0NTIsIDEwNDU3LCAxMDQ2MiwgCisgICAgMTA0NjcsIDEwNDcyLCAxMDQ3OCwgMTA0ODIsIDEwNDg3LCAxMDQ5NCwgMTA0OTksIDEwNTA0LCAxMDUwOSwgMTA1MTQsIAorICAgIDEwNTE5LCAxMDUyNiwgMTA1MzMsIDEwNTQwLCAxMDU0NSwgMTA1NTAsIDEwNTU2LCAxMDU2MSwgMTA1NjYsIDEwNTcyLCAKKyAgICAxMDU3NywgMTA1ODIsIDEwNTkwLCAxMDU5OCwgMTA2MDMsIDEwNjA4LCAxMDYxNCwgMTA2MTksIDEwNjI0LCAxMDYyOCwgCisgICAgMTA2MzQsIDEwNjM4LCAxMDY0MiwgMTA2NDgsIDEwNjU0LCAxMDY1OSwgMTA2NjQsIDEwNjcxLCAxMDY3OCwgMTA2ODIsIDAsIAorICAgIDAsIDEwNjg2LCAxMDY5MywgMTA3MDAsIDEwNzA3LCAxMDcxNywgMTA3MjksIDEwNzQwLCAxMDc1NiwgMTA3NjgsIDEwNzc5LCAKKyAgICAxMDc4NywgMTA3OTQsIDEwODA0LCAxMDgxOSwgMTA4MzAsIDEwODM2LCAxMDg0NSwgMTA4NTMsIDEwODY0LCAxMDg3NCwgCisgICAgMTA4ODIsIDEwODkzLCAxMDkwMCwgMTA5MDgsIDEwOTE5LCAxMDkyNSwgMTA5MzEsIDEwOTM5LCAxMDk0NywgMTA5NTUsIAorICAgIDEwOTYxLCAxMDk3MSwgMTA5NzksIDEwOTg5LCAxMDk5OSwgMTEwMTIsIDExMDI2LCAxMTA0MCwgMTEwNTAsIDExMDYxLCAKKyAgICAxMTA3MiwgMTEwODUsIDExMDk4LCAxMTExMiwgMTExMjQsIDExMTM2LCAxMTE0OSwgMTExNjIsIDExMTc0LCAxMTE4NywgCisgICAgMTExOTYsIDExMjA0LCAxMTIwOSwgMTEyMTQsIDExMjE5LCAxMTIyNCwgMTEyMjksIDExMjM0LCAxMTIzOSwgMTEyNDQsIAorICAgIDExMjQ5LCAxMTI1NCwgMTEyNTksIDExMjY0LCAxMTI2OSwgMTEyNzQsIDExMjc5LCAxMTI4NCwgMTEyODksIDExMjk0LCAKKyAgICAxMTI5OSwgMTEzMDQsIDExMzA5LCAxMTMxNCwgMTEzMTksIDExMzI0LCAxMTMyOSwgMTEzMzQsIDExMzM5LCAxMTM0NCwgCisgICAgMTEzNDksIDExMzU0LCAxMTM1OSwgMTEzNjQsIDExMzY4LCAxMTM3MywgMTEzNzgsIDExMzgzLCAxMTM4OCwgMTEzOTMsIAorICAgIDExMzk3LCAxMTQwMSwgMTE0MDUsIDExNDA5LCAxMTQxMywgMTE0MTcsIDExNDIxLCAxMTQyNSwgMTE0MjksIDExNDMzLCAKKyAgICAxMTQzNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTE0NDIsIDExNDQ3LCAxMTQ1MSwgCisgICAgMTE0NTUsIDExNDU5LCAxMTQ2MywgMTE0NjcsIDExNDcxLCAxMTQ3NSwgMTE0NzksIDExNDgzLCAxMTQ4NywgMTE0OTIsIAorICAgIDExNDk2LCAxMTUwMCwgMTE1MDQsIDExNTA5LCAxMTUxMywgMTE1MTgsIDExNTIzLCAxMTUyOCwgMTE1MzIsIDExNTM3LCAKKyAgICAxMTU0MiwgMTE1NDcsIDExNTUyLCAxMTU1NywgMTE1NjIsIDExNTY3LCAxMTU3MiwgMTE1NzcsIDExNTgxLCAxMTU4NiwgCisgICAgMTE1OTMsIDExNTk3LCAxMTYwMiwgMTE2MDYsIDExNjEwLCAxMTYxNSwgMTE2MTksIDExNjI2LCAxMTYzMywgMTE2NDAsIAorICAgIDExNjQ3LCAxMTY1NSwgMTE2NjMsIDExNjcyLCAxMTY4MCwgMTE2ODcsIDExNjk0LCAxMTcwMiwgMTE3MDgsIDExNzE0LCAKKyAgICAxMTcyMCwgMTE3MjYsIDExNzMzLCAxMTczOCwgMTE3NDIsIDExNzQ3LCAwLCAwLCAwLCAwLCAwLCAxMTc1MSwgMTE3NTYsIAorICAgIDExNzYxLCAxMTc2NiwgMTE3NzEsIDExNzc2LCAxMTc4MSwgMTE3ODYsIDExNzkxLCAxMTc5NiwgMTE4MDEsIDExODA2LCAKKyAgICAxMTgxMSwgMTE4MTYsIDExODIxLCAxMTgyNiwgMTE4MzEsIDExODM2LCAxMTg0MSwgMTE4NDYsIDExODUxLCAxMTg1NiwgCisgICAgMTE4NjEsIDExODY2LCAxMTg3MSwgMTE4NzYsIDExODgxLCAxMTg4OSwgMTE4OTYsIDExOTAyLCAxMTkwNywgMTE5MTUsIAorICAgIDExOTIyLCAxMTkyOCwgMTE5MzUsIDExOTQxLCAxMTk0NiwgMTE5NTMsIDExOTYwLCAxMTk2NiwgMTE5NzEsIDExOTc2LCAKKyAgICAxMTk4MiwgMTE5ODcsIDExOTkyLCAxMTk5OCwgMCwgMCwgMTIwMDMsIDEyMDA5LCAxMjAxNSwgMTIwMjEsIDEyMDI3LCAKKyAgICAxMjAzMywgMTIwMzksIDEyMDQ0LCAxMjA1MiwgMTIwNTgsIDEyMDY0LCAxMjA3MCwgMTIwNzYsIDEyMDgyLCAxMjA5MCwgMCwgCisgICAgMTIwOTYsIDEyMTAxLCAxMjEwNiwgMTIxMTEsIDEyMTE2LCAxMjEyMSwgMTIxMjYsIDEyMTMxLCAxMjEzNiwgMTIxNDEsIAorICAgIDEyMTQ2LCAxMjE1MSwgMTIxNTYsIDEyMTYxLCAxMjE2NiwgMTIxNzEsIDEyMTc2LCAxMjE4MSwgMTIxODYsIDEyMTkxLCAKKyAgICAxMjE5NiwgMTIyMDEsIDEyMjA2LCAxMjIxMSwgMTIyMTYsIDEyMjIxLCAxMjIyNiwgMTIyMzEsIDAsIDAsIDEyMjM2LCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMjI0MCwgMTIyNDksIDEyMjU3LCAKKyAgICAxMjI2NCwgMTIyNzIsIDEyMjg0LCAxMjI5MSwgMTIyOTgsIDEyMzA1LCAxMjMxNywgMTIzMjgsIDEyMzM1LCAxMjM0MywgCisgICAgMTIzNDksIDEyMzU0LCAxMjM2MiwgMTIzNzAsIDEyMzc4LCAxMjM4NCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTIzOTQsIDEyMzk5LCAxMjQwNCwgMTI0MDksIAorICAgIDEyNDE0LCAxMjQxOSwgMTI0MjQsIDEyNDI5LCAxMjQzNCwgMTI0MzksIDEyNDQ0LCAxMjQ0OSwgMTI0NTQsIDEyNDU5LCAKKyAgICAxMjQ2NCwgMTI0NjksIDEyNDc0LCAxMjQ4MCwgMTI0ODYsIDEyNDkyLCAxMjQ5NywgMTI1MDIsIDEyNTA3LCAxMjUxMiwgCisgICAgMTI1MTgsIDEyNTI3LCAxMjUzNSwgMTI1NDEsIDEyNTQ5LCAxMjU1NSwgMTI1NTksIDEyNTYzLCAxMjU2NywgMTI1NzIsIAorICAgIDEyNTc1LCAxMjU3OSwgMTI1ODIsIDEyNTg2LCAxMjU4OSwgMTI1OTMsIDEyNTk3LCAxMjYwMSwgMTI2MDYsIDEyNjExLCAKKyAgICAxMjYxNCwgMTI2MTgsIDEyNjIzLCAxMjYyOCwgMTI2MzEsIDEyNjM1LCAxMjYzOCwgMTI2NDIsIDEyNjQ2LCAxMjY1MCwgCisgICAgMTI2NTQsIDEyNjU4LCAxMjY2MiwgMTI2NjYsIDEyNjcwLCAxMjY3NCwgMTI2NzgsIDEyNjgyLCAxMjY4NiwgMTI2OTAsIAorICAgIDEyNjk0LCAxMjY5OCwgMTI3MDIsIDEyNzA2LCAxMjcxMCwgMTI3MTMsIDEyNzE3LCAxMjcyMCwgMTI3MjQsIDEyNzI4LCAKKyAgICAxMjczMiwgMTI3MzUsIDEyNzM4LCAxMjc0MiwgMTI3NDYsIDEyNzUwLCAxMjc1NCwgMTI3NTgsIDEyNzYyLCAxMjc2NiwgCisgICAgMTI3NzAsIDEyNzc0LCAxMjc3NywgMTI3ODIsIDEyNzg3LCAxMjc5MSwgMTI3OTUsIDEyODAwLCAxMjgwNCwgMTI4MDksIAorICAgIDEyODEzLCAxMjgxOCwgMTI4MjMsIDEyODI5LCAxMjgzNSwgMTI4NDEsIDEyODQ1LCAxMjg1MCwgMTI4NTYsIDEyODYyLCAKKyAgICAxMjg2NiwgMTI4NzEsIDEyODc1LCAxMjg4MSwgMTI4ODYsIDEyODg5LCAxMjg5NSwgMTI5MDEsIDEyOTA2LCAxMjkxMSwgCisgICAgMTI5MTgsIDEyOTIzLCAxMjkyOCwgMTI5MzIsIDEyOTM2LCAxMjk0MCwgMTI5NDQsIDEyOTQ4LCAxMjk1MiwgMTI5NTYsIAorICAgIDEyOTYwLCAxMjk2NSwgMTI5NzAsIDEyOTc1LCAxMjk4MSwgMTI5ODQsIDEyOTg4LCAxMjk5MiwgMTI5OTUsIDEyOTk4LCAKKyAgICAxMzAwMSwgMTMwMDQsIDEzMDA3LCAxMzAxMCwgMTMwMTMsIDEzMDE2LCAxMzAxOSwgMTMwMjMsIDEzMDMwLCAxMzAzNSwgCisgICAgMTMwMzksIDEzMDQzLCAxMzA0NywgMTMwNTEsIDEzMDU1LCAxMzA2MSwgMTMwNjUsIDEzMDY5LCAxMzA3MywgMTMwNzcsIAorICAgIDEzMDgzLCAxMzA4NywgMTMwOTEsIDEzMDk0LCAxMzA5OCwgMTMxMDIsIDAsIDEzMTA2LCAxMzEwOSwgMTMxMTMsIDEzMTE2LCAKKyAgICAxMzEyMCwgMTMxMjMsIDEzMTI3LCAxMzEzMSwgMCwgMCwgMTMxMzUsIDEzMTM4LCAwLCAwLCAxMzE0MiwgMTMxNDUsIAorICAgIDEzMTQ5LCAxMzE1MiwgMTMxNTYsIDEzMTYwLCAxMzE2NCwgMTMxNjgsIDEzMTcyLCAxMzE3NiwgMTMxODAsIDEzMTg0LCAKKyAgICAxMzE4OCwgMTMxOTIsIDEzMTk2LCAxMzIwMCwgMTMyMDQsIDEzMjA4LCAxMzIxMiwgMTMyMTYsIDEzMjIwLCAxMzIyNCwgMCwgCisgICAgMTMyMjcsIDEzMjMwLCAxMzIzNCwgMTMyMzgsIDEzMjQyLCAxMzI0NSwgMTMyNDgsIDAsIDEzMjUyLCAwLCAwLCAwLCAKKyAgICAxMzI1NiwgMTMyNjAsIDEzMjY0LCAxMzI2OCwgMCwgMCwgMTMyNzEsIDEzMjc1LCAxMzI3OSwgMTMyODQsIDEzMjg4LCAKKyAgICAxMzI5MywgMTMyOTcsIDEzMzAyLCAxMzMwNywgMCwgMCwgMTMzMTMsIDEzMzE3LCAwLCAwLCAxMzMyMiwgMTMzMjYsIAorICAgIDEzMzMxLCAxMzMzNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTMzNDEsIDAsIDAsIDAsIDAsIDEzMzQ3LCAxMzM1MSwgMCwgCisgICAgMTMzNTUsIDEzMzU5LCAxMzM2NCwgMTMzNjksIDEzMzc0LCAwLCAwLCAxMzM4MCwgMTMzODQsIDEzMzg3LCAxMzM5MCwgCisgICAgMTMzOTMsIDEzMzk2LCAxMzM5OSwgMTM0MDIsIDEzNDA1LCAxMzQwOCwgMTM0MTEsIDEzNDIwLCAxMzQyOSwgMTM0MzMsIAorICAgIDEzNDM3LCAxMzQ0MywgMTM0NDksIDEzNDU1LCAxMzQ2MSwgMTM0NzUsIDEzNDgyLCAxMzQ4NSwgMCwgMCwgMCwgMCwgMCwgCisgICAgMTM0ODksIDEzNDk2LCAxMzUwMSwgMCwgMTM1MDYsIDEzNTEwLCAxMzUxNSwgMTM1MTksIDEzNTI0LCAxMzUyOCwgMCwgMCwgCisgICAgMCwgMCwgMTM1MzMsIDEzNTM4LCAwLCAwLCAxMzU0MywgMTM1NDgsIDEzNTUzLCAxMzU1NywgMTM1NjIsIDEzNTY3LCAKKyAgICAxMzU3MiwgMTM1NzcsIDEzNTgyLCAxMzU4NywgMTM1OTIsIDEzNTk3LCAxMzYwMiwgMTM2MDcsIDEzNjEyLCAxMzYxNywgCisgICAgMTM2MjIsIDEzNjI3LCAxMzYzMiwgMTM2MzcsIDEzNjQyLCAxMzY0NywgMCwgMTM2NTEsIDEzNjU1LCAxMzY2MCwgMTM2NjUsIAorICAgIDEzNjcwLCAxMzY3NCwgMTM2NzgsIDAsIDEzNjgzLCAxMzY4OCwgMCwgMTM2OTMsIDEzNjk4LCAwLCAxMzcwMywgMTM3MDgsIAorICAgIDAsIDAsIDEzNzEyLCAwLCAxMzcxNywgMTM3MjMsIDEzNzI4LCAxMzczNCwgMTM3MzksIDAsIDAsIDAsIDAsIDEzNzQ1LCAKKyAgICAxMzc1MSwgMCwgMCwgMTM3NTcsIDEzNzYzLCAxMzc2OSwgMCwgMCwgMCwgMTM3NzQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDEzNzc5LCAxMzc4NCwgMTM3ODksIDEzNzk0LCAwLCAxMzc5OSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTM4MDQsIDEzODA5LCAKKyAgICAxMzgxMywgMTM4MTcsIDEzODIxLCAxMzgyNSwgMTM4MjksIDEzODMzLCAxMzgzNywgMTM4NDEsIDEzODQ1LCAxMzg0OSwgCisgICAgMTM4NTMsIDEzODU3LCAxMzg2MSwgMTM4NjcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEzODcyLCAKKyAgICAxMzg3NiwgMTM4ODAsIDAsIDEzODg0LCAxMzg4NywgMTM4OTEsIDEzODk0LCAxMzg5OCwgMTM5MDEsIDEzOTA1LCAxMzkwOSwgCisgICAgMTM5MTMsIDAsIDEzOTE4LCAxMzkyMSwgMTM5MjUsIDAsIDEzOTMwLCAxMzkzMywgMTM5MzcsIDEzOTQwLCAxMzk0NCwgCisgICAgMTM5NDgsIDEzOTUyLCAxMzk1NiwgMTM5NjAsIDEzOTY0LCAxMzk2OCwgMTM5NzIsIDEzOTc2LCAxMzk4MCwgMTM5ODQsIAorICAgIDEzOTg4LCAxMzk5MiwgMTM5OTYsIDE0MDAwLCAxNDAwNCwgMTQwMDgsIDE0MDEyLCAwLCAxNDAxNSwgMTQwMTgsIDE0MDIyLCAKKyAgICAxNDAyNiwgMTQwMzAsIDE0MDMzLCAxNDAzNiwgMCwgMTQwNDAsIDE0MDQ0LCAwLCAxNDA0OCwgMTQwNTIsIDE0MDU2LCAKKyAgICAxNDA2MCwgMTQwNjQsIDAsIDAsIDE0MDY3LCAxNDA3MSwgMTQwNzUsIDE0MDgwLCAxNDA4NCwgMTQwODksIDE0MDkzLCAKKyAgICAxNDA5OCwgMTQxMDMsIDE0MTA5LCAwLCAxNDExNSwgMTQxMTksIDE0MTI0LCAwLCAxNDEzMCwgMTQxMzQsIDE0MTM5LCAwLCAKKyAgICAwLCAxNDE0MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTQxNDYsIDE0MTUxLCAKKyAgICAxNDE1NiwgMTQxNjEsIDAsIDAsIDE0MTY3LCAxNDE3MSwgMTQxNzQsIDE0MTc3LCAxNDE4MCwgMTQxODMsIDE0MTg2LCAKKyAgICAxNDE4OSwgMTQxOTIsIDE0MTk1LCAxNDE5OCwgMTQyMDIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDE0MjA2LCAxNDIxMCwgMTQyMTQsIDAsIDE0MjE4LCAxNDIyMSwgMTQyMjUsIDE0MjI4LCAxNDIzMiwgMTQyMzUsIAorICAgIDE0MjM5LCAxNDI0MywgMCwgMCwgMTQyNDcsIDE0MjUwLCAwLCAwLCAxNDI1NCwgMTQyNTcsIDE0MjYxLCAxNDI2NCwgCisgICAgMTQyNjgsIDE0MjcyLCAxNDI3NiwgMTQyODAsIDE0Mjg0LCAxNDI4OCwgMTQyOTIsIDE0Mjk2LCAxNDMwMCwgMTQzMDQsIAorICAgIDE0MzA4LCAxNDMxMiwgMTQzMTYsIDE0MzIwLCAxNDMyNCwgMTQzMjgsIDE0MzMyLCAxNDMzNiwgMCwgMTQzMzksIDE0MzQyLCAKKyAgICAxNDM0NiwgMTQzNTAsIDE0MzU0LCAxNDM1NywgMTQzNjAsIDAsIDE0MzY0LCAxNDM2OCwgMCwgMTQzNzIsIDE0Mzc2LCAKKyAgICAxNDM4MCwgMTQzODQsIDE0Mzg4LCAwLCAwLCAxNDM5MSwgMTQzOTUsIDE0Mzk5LCAxNDQwNCwgMTQ0MDgsIDE0NDEzLCAKKyAgICAxNDQxNywgMTQ0MjIsIDE0NDI3LCAwLCAwLCAxNDQzMywgMTQ0MzcsIDAsIDAsIDE0NDQyLCAxNDQ0NiwgMTQ0NTEsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDE0NDU1LCAxNDQ2MSwgMCwgMCwgMCwgMCwgMTQ0NjcsIDE0NDcxLCAwLCAxNDQ3NSwgCisgICAgMTQ0NzksIDE0NDg0LCAxNDQ4OSwgMTQ0OTQsIDAsIDAsIDE0NTAwLCAxNDUwNCwgMTQ1MDcsIDE0NTEwLCAxNDUxMywgCisgICAgMTQ1MTYsIDE0NTE5LCAxNDUyMiwgMTQ1MjUsIDE0NTI4LCAxNDUzMSwgMTQ1MzQsIDE0NTM4LCAxNDU0NCwgMTQ1NTAsIAorICAgIDE0NTU2LCAxNDU2MiwgMTQ1NjgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE0NTc0LCAxNDU3OCwgMCwgCisgICAgMTQ1ODIsIDE0NTg1LCAxNDU4OSwgMTQ1OTIsIDE0NTk2LCAxNDU5OSwgMCwgMCwgMCwgMTQ2MDMsIDE0NjA2LCAxNDYxMCwgCisgICAgMCwgMTQ2MTQsIDE0NjE3LCAxNDYyMSwgMTQ2MjUsIDAsIDAsIDAsIDE0NjI4LCAxNDYzMiwgMCwgMTQ2MzYsIDAsIDE0NjQwLCAKKyAgICAxNDY0NCwgMCwgMCwgMCwgMTQ2NDgsIDE0NjUyLCAwLCAwLCAwLCAxNDY1NiwgMTQ2NTksIDE0NjYzLCAwLCAwLCAwLCAKKyAgICAxNDY2NiwgMTQ2NjksIDE0NjcyLCAxNDY3NiwgMTQ2ODAsIDE0Njg0LCAxNDY4OCwgMTQ2OTIsIDE0Njk2LCAxNDcwMCwgCisgICAgMTQ3MDQsIDE0NzA4LCAwLCAwLCAwLCAwLCAxNDcxMSwgMTQ3MTYsIDE0NzIwLCAxNDcyNSwgMTQ3MjksIDAsIDAsIDAsIAorICAgIDE0NzM0LCAxNDczOCwgMTQ3NDMsIDAsIDE0NzQ4LCAxNDc1MiwgMTQ3NTcsIDE0NzYyLCAwLCAwLCAxNDc2NiwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMTQ3NjksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE0Nzc1LCAxNDc3OSwgCisgICAgMTQ3ODIsIDE0Nzg1LCAxNDc4OCwgMTQ3OTEsIDE0Nzk0LCAxNDc5NywgMTQ4MDAsIDE0ODAzLCAxNDgwNiwgMTQ4MTAsIAorICAgIDE0ODE1LCAxNDgyMCwgMTQ4MjQsIDE0ODI4LCAxNDgzMiwgMTQ4MzYsIDE0ODQwLCAxNDg0NSwgMTQ4NDksIDAsIDAsIDAsIAorICAgIDAsIDAsIDE0ODUyLCAxNDg1OCwgMTQ4NjIsIDE0ODY2LCAwLCAxNDg3MCwgMTQ4NzMsIDE0ODc3LCAxNDg4MCwgMTQ4ODQsIAorICAgIDE0ODg3LCAxNDg5MSwgMTQ4OTUsIDAsIDE0ODk5LCAxNDkwMiwgMTQ5MDYsIDAsIDE0OTEwLCAxNDkxMywgMTQ5MTcsIAorICAgIDE0OTIxLCAxNDkyNCwgMTQ5MjgsIDE0OTMyLCAxNDkzNiwgMTQ5NDAsIDE0OTQ0LCAxNDk0OCwgMTQ5NTIsIDE0OTU2LCAKKyAgICAxNDk2MCwgMTQ5NjQsIDE0OTY4LCAxNDk3MiwgMTQ5NzYsIDE0OTgwLCAxNDk4NCwgMTQ5ODgsIDE0OTkyLCAxNDk5NiwgMCwgCisgICAgMTQ5OTksIDE1MDAyLCAxNTAwNiwgMTUwMTAsIDE1MDE0LCAxNTAxNywgMTUwMjAsIDE1MDI0LCAxNTAyOCwgMTUwMzIsIAorICAgIDE1MDM2LCAxNTA0MCwgMTUwNDQsIDE1MDQ4LCAxNTA1MiwgMTUwNTYsIDAsIDAsIDAsIDE1MDU5LCAxNTA2MywgMTUwNjgsIAorICAgIDE1MDcyLCAxNTA3NywgMTUwODEsIDE1MDg2LCAxNTA5MSwgMCwgMTUwOTcsIDE1MTAxLCAxNTEwNiwgMCwgMTUxMTEsIAorICAgIDE1MTE1LCAxNTEyMCwgMTUxMjUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE1MTI5LCAxNTEzMywgMCwgMTUxMzksIDE1MTQzLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAxNTE0NywgMTUxNTIsIDE1MTU3LCAxNTE2MiwgMCwgMCwgMTUxNjgsIDE1MTcyLCAxNTE3NSwgCisgICAgMTUxNzgsIDE1MTgxLCAxNTE4NCwgMTUxODcsIDE1MTkwLCAxNTE5MywgMTUxOTYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDE1MTk5LCAxNTIxMiwgMTUyMjQsIDE1MjM2LCAxNTI0OCwgMTUyNjAsIDE1MjcyLCAxNTI4NCwgMCwgMTUyODgsIDE1MjkyLCAKKyAgICAxNTI5NiwgMCwgMTUzMDAsIDE1MzAzLCAxNTMwNywgMTUzMTAsIDE1MzE0LCAxNTMxNywgMTUzMjEsIDE1MzI1LCAwLCAKKyAgICAxNTMyOSwgMTUzMzIsIDE1MzM2LCAwLCAxNTM0MCwgMTUzNDMsIDE1MzQ3LCAxNTM1MSwgMTUzNTQsIDE1MzU4LCAxNTM2MiwgCisgICAgMTUzNjYsIDE1MzcwLCAxNTM3NCwgMTUzNzgsIDE1MzgyLCAxNTM4NiwgMTUzOTAsIDE1Mzk0LCAxNTM5OCwgMTU0MDIsIAorICAgIDE1NDA2LCAxNTQxMCwgMTU0MTQsIDE1NDE4LCAxNTQyMiwgMTU0MjYsIDAsIDE1NDI5LCAxNTQzMiwgMTU0MzYsIDE1NDQwLCAKKyAgICAxNTQ0NCwgMTU0NDcsIDE1NDUwLCAxNTQ1NCwgMTU0NTgsIDE1NDYyLCAwLCAxNTQ2NiwgMTU0NzAsIDE1NDc0LCAxNTQ3OCwgCisgICAgMTU0ODIsIDAsIDAsIDE1NDg1LCAxNTQ4OSwgMTU0OTMsIDE1NDk4LCAxNTUwMiwgMTU1MDcsIDE1NTExLCAxNTUxNiwgCisgICAgMTU1MjEsIDAsIDE1NTI3LCAxNTUzMSwgMTU1MzYsIDAsIDE1NTQxLCAxNTU0NSwgMTU1NTAsIDE1NTU1LCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAxNTU1OSwgMTU1NjMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE1NTY5LCAwLCAxNTU3MywgMTU1NzgsIAorICAgIDE1NTgzLCAxNTU4OCwgMCwgMCwgMTU1OTQsIDE1NTk4LCAxNTYwMSwgMTU2MDQsIDE1NjA3LCAxNTYxMCwgMTU2MTMsIAorICAgIDE1NjE2LCAxNTYxOSwgMTU2MjIsIDAsIDE1NjI1LCAxNTYyOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMTU2MzMsIDE1NjM3LCAxNTY0MSwgMCwgMTU2NDUsIDE1NjQ4LCAxNTY1MiwgMTU2NTUsIDE1NjU5LCAxNTY2MiwgCisgICAgMTU2NjYsIDE1NjcwLCAwLCAxNTY3NCwgMTU2NzcsIDE1NjgxLCAwLCAxNTY4NSwgMTU2ODgsIDE1NjkyLCAxNTY5NiwgCisgICAgMTU2OTksIDE1NzAzLCAxNTcwNywgMTU3MTEsIDE1NzE1LCAxNTcxOSwgMTU3MjMsIDE1NzI3LCAxNTczMSwgMTU3MzUsIAorICAgIDE1NzM5LCAxNTc0MywgMTU3NDcsIDE1NzUxLCAxNTc1NSwgMTU3NTksIDE1NzYzLCAxNTc2NywgMTU3NzEsIDE1Nzc0LCAKKyAgICAxNTc3OCwgMTU3ODEsIDE1Nzg1LCAxNTc4OSwgMTU3OTMsIDE1Nzk2LCAxNTc5OSwgMTU4MDMsIDE1ODA3LCAxNTgxMSwgCisgICAgMTU4MTUsIDE1ODE5LCAxNTgyMywgMTU4MjcsIDE1ODMxLCAxNTgzNSwgMTU4MzgsIDAsIDAsIDE1ODQyLCAxNTg0NiwgCisgICAgMTU4NTEsIDE1ODU1LCAxNTg2MCwgMTU4NjQsIDE1ODY5LCAxNTg3NCwgMCwgMTU4ODAsIDE1ODg0LCAxNTg4OSwgMCwgCisgICAgMTU4OTQsIDE1ODk4LCAxNTkwMywgMTU5MDgsIDE1OTEyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNTkxNywgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMTU5MjMsIDE1OTI4LCAxNTkzMywgMTU5MzgsIDAsIDAsIDE1OTQ0LCAxNTk0OCwgMTU5NTEsIAorICAgIDE1OTU0LCAxNTk1NywgMTU5NjAsIDE1OTYzLCAxNTk2NiwgMTU5NjksIDE1OTcyLCAxNTk3NSwgMTU5NzksIDE1OTg0LCAKKyAgICAxNTk4OSwgMTU5OTUsIDE2MDAxLCAwLCAwLCAwLCAxNjAwNywgMTYwMTEsIDE2MDE3LCAxNjAyMywgMTYwMjksIDE2MDM0LCAKKyAgICAxNjA0MCwgMCwgMCwgMTYwNDYsIDE2MDUwLCAwLCAxNjA1NCwgMTYwNTgsIDE2MDYyLCAxNjA2NiwgMTYwNzAsIDE2MDc0LCAKKyAgICAxNjA3OCwgMTYwODIsIDE2MDg2LCAxNjA5MCwgMTYwOTQsIDE2MDk4LCAxNjEwMiwgMTYxMDYsIDE2MTEwLCAxNjExNCwgCisgICAgMTYxMTgsIDE2MTIyLCAwLCAwLCAwLCAxNjEyNiwgMTYxMzIsIDE2MTM4LCAxNjE0NCwgMTYxNTAsIDE2MTU2LCAxNjE2MiwgCisgICAgMTYxNjgsIDE2MTc0LCAxNjE4MCwgMTYxODYsIDE2MTkyLCAxNjIwMCwgMTYyMDYsIDE2MjEyLCAxNjIxOCwgMTYyMjQsIAorICAgIDE2MjMwLCAxNjIzNiwgMTYyNDIsIDE2MjQ4LCAxNjI1NCwgMTYyNjAsIDE2MjY2LCAwLCAxNjI3MiwgMTYyNzgsIDE2Mjg0LCAKKyAgICAxNjI5MCwgMTYyOTYsIDE2MzAyLCAxNjMwNiwgMTYzMTIsIDE2MzE2LCAwLCAxNjMyMCwgMCwgMCwgMTYzMjYsIDE2MzMwLCAKKyAgICAxNjMzNiwgMTYzNDIsIDE2MzQ4LCAxNjM1MiwgMTYzNTgsIDAsIDAsIDAsIDE2MzYyLCAwLCAwLCAwLCAwLCAxNjM2NiwgCisgICAgMTYzNzEsIDE2Mzc4LCAxNjM4NSwgMTYzOTIsIDE2Mzk5LCAwLCAxNjQwNiwgMCwgMTY0MTMsIDE2NDE4LCAxNjQyMywgCisgICAgMTY0MzAsIDE2NDM3LCAxNjQ0NiwgMTY0NTcsIDE2NDY2LCAwLCAwLCAwLCAwLCAwLCAwLCAxNjQ3MSwgMTY0NzcsIDE2NDgyLCAKKyAgICAxNjQ4NywgMTY0OTIsIDE2NDk3LCAxNjUwMiwgMTY1MDcsIDE2NTEyLCAxNjUxNywgMCwgMCwgMTY1MjIsIDE2NTI5LCAKKyAgICAxNjUzNiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTY1NDEsIDE2NTQ3LCAxNjU1MywgMTY1NTksIAorICAgIDE2NTY1LCAxNjU3MSwgMTY1NzcsIDE2NTgzLCAxNjU4OSwgMTY1OTUsIDE2NjAxLCAxNjYwNywgMTY2MTMsIDE2NjE5LCAKKyAgICAxNjYyNSwgMTY2MzEsIDE2NjM3LCAxNjY0MywgMTY2NDksIDE2NjU1LCAxNjY2MSwgMTY2NjcsIDE2NjczLCAxNjY3OSwgCisgICAgMTY2ODUsIDE2NjkxLCAxNjY5NywgMTY3MDMsIDE2NzA5LCAxNjcxNSwgMTY3MjEsIDE2NzI3LCAxNjczMywgMTY3MzgsIAorICAgIDE2NzQ0LCAxNjc1MCwgMTY3NTQsIDE2NzYwLCAxNjc2NCwgMTY3NzAsIDE2Nzc2LCAxNjc4MiwgMTY3ODgsIDE2Nzk0LCAKKyAgICAxNjgwMCwgMTY4MDUsIDE2ODExLCAxNjgxNSwgMTY4MjAsIDE2ODI2LCAxNjgzMiwgMTY4MzgsIDE2ODQzLCAxNjg0OSwgCisgICAgMTY4NTUsIDE2ODYxLCAxNjg2NiwgMTY4NzIsIDAsIDAsIDAsIDAsIDE2ODc2LCAxNjg4MiwgMTY4ODcsIDE2ODkzLCAKKyAgICAxNjg5OCwgMTY5MDYsIDE2OTE0LCAxNjkxOCwgMTY5MjIsIDE2OTI2LCAxNjkzMiwgMTY5MzgsIDE2OTQ0LCAxNjk1MCwgCisgICAgMTY5NTQsIDE2OTU4LCAxNjk2MiwgMTY5NjYsIDE2OTcwLCAxNjk3MywgMTY5NzYsIDE2OTc5LCAxNjk4MiwgMTY5ODUsIAorICAgIDE2OTg4LCAxNjk5MSwgMTY5OTQsIDE2OTk3LCAxNzAwMSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMTcwMDUsIDE3MDEwLCAwLCAxNzAxNywgMCwgMCwgMTcwMjQsIDE3MDI5LCAwLCAxNzAzNCwgMCwgMCwgMTcwNDEsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDE3MDQ2LCAxNzA1MSwgMTcwNTUsIDE3MDYyLCAwLCAxNzA2OSwgMTcwNzQsIDE3MDc5LCAxNzA4NCwgCisgICAgMTcwOTEsIDE3MDk4LCAxNzEwNSwgMCwgMTcxMTIsIDE3MTE3LCAxNzEyMiwgMCwgMTcxMjksIDAsIDE3MTM2LCAwLCAwLCAKKyAgICAxNzE0MSwgMTcxNDgsIDAsIDE3MTU1LCAxNzE1OSwgMTcxNjYsIDE3MTcwLCAxNzE3NSwgMTcxODMsIDE3MTg5LCAxNzE5NSwgCisgICAgMTcyMDAsIDE3MjA2LCAxNzIxMiwgMTcyMTgsIDE3MjIzLCAwLCAxNzIyOSwgMTcyMzcsIDE3MjQ0LCAwLCAwLCAxNzI1MSwgCisgICAgMTcyNTYsIDE3MjYyLCAxNzI2NywgMTcyNzMsIDAsIDE3Mjc5LCAwLCAxNzI4NSwgMTcyOTIsIDE3Mjk5LCAxNzMwNiwgCisgICAgMTczMTMsIDE3MzE4LCAwLCAwLCAxNzMyMiwgMTczMjcsIDE3MzMxLCAxNzMzNSwgMTczMzksIDE3MzQzLCAxNzM0NywgCisgICAgMTczNTEsIDE3MzU1LCAxNzM1OSwgMCwgMCwgMTczNjMsIDE3MzY5LCAxNzM3NSwgMTczODIsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDE3Mzg5LCAxNzM5MywgMTc0MDQsIDE3NDE5LCAxNzQzNCwgMTc0NDQsIDE3NDU1LCAxNzQ2OCwgMTc0NzksIAorICAgIDE3NDg1LCAxNzQ5MywgMTc1MDMsIDE3NTA5LCAxNzUxNywgMTc1MjEsIDE3NTI3LCAxNzUzMywgMTc1NDEsIDE3NTUxLCAKKyAgICAxNzU1OSwgMTc1NzIsIDE3NTc4LCAxNzU4NiwgMTc1OTQsIDE3NjA2LCAxNzYxMywgMTc2MjEsIDE3NjI5LCAxNzYzNywgCisgICAgMTc2NDUsIDE3NjUzLCAxNzY2MSwgMTc2NzEsIDE3Njc1LCAxNzY3OCwgMTc2ODEsIDE3Njg0LCAxNzY4NywgMTc2OTAsIAorICAgIDE3NjkzLCAxNzY5NiwgMTc2OTksIDE3NzAyLCAxNzcwNiwgMTc3MTAsIDE3NzE0LCAxNzcxOCwgMTc3MjIsIDE3NzI2LCAKKyAgICAxNzczMCwgMTc3MzQsIDE3NzM4LCAxNzc0MywgMTc3NDksIDE3NzU5LCAxNzc3MywgMTc3ODMsIDE3Nzg5LCAxNzc5NSwgCisgICAgMTc4MDMsIDE3ODExLCAxNzgxOSwgMTc4MjcsIDE3ODMzLCAxNzgzOSwgMTc4NDIsIDE3ODQ2LCAxNzg1MCwgMTc4NTQsIAorICAgIDE3ODU4LCAxNzg2MiwgMTc4NjYsIDAsIDE3ODcwLCAxNzg3NCwgMTc4NzgsIDE3ODgyLCAxNzg4NiwgMTc4OTAsIDE3ODk0LCAKKyAgICAxNzg5OCwgMTc5MDIsIDE3OTA2LCAxNzkxMCwgMTc5MTMsIDE3OTE2LCAxNzkyMCwgMTc5MjQsIDE3OTI4LCAxNzkzMSwgCisgICAgMTc5MzUsIDE3OTM5LCAxNzk0MywgMTc5NDcsIDE3OTUxLCAxNzk1NSwgMTc5NTksIDE3OTYzLCAxNzk2NiwgMTc5NzAsIAorICAgIDE3OTc0LCAxNzk3OCwgMTc5ODIsIDE3OTg2LCAxNzk4OSwgMTc5OTIsIDE3OTk2LCAxODAwMiwgMTgwMDYsIDAsIDAsIDAsIAorICAgIDAsIDE4MDEwLCAxODAxNSwgMTgwMTksIDE4MDI0LCAxODAyOCwgMTgwMzMsIDE4MDM4LCAxODA0NCwgMTgwNDksIDE4MDU1LCAKKyAgICAxODA1OSwgMTgwNjQsIDE4MDY4LCAxODA3MywgMTgwODMsIDE4MDg5LCAxODA5NSwgMTgxMDIsIDE4MTEyLCAxODExOCwgCisgICAgMTgxMjIsIDE4MTI2LCAxODEzMiwgMTgxMzgsIDE4MTQ2LCAxODE1MiwgMTgxNjAsIDE4MTY4LCAxODE3NiwgMTgxODYsIAorICAgIDE4MTk0LCAxODIwNCwgMTgyMDksIDE4MjE1LCAxODIyMSwgMTgyMjcsIDE4MjMzLCAxODIzOSwgMTgyNDUsIDAsIDE4MjUxLCAKKyAgICAxODI1NywgMTgyNjMsIDE4MjY5LCAxODI3NSwgMTgyODEsIDE4Mjg3LCAxODI5MywgMTgyOTksIDE4MzA1LCAxODMxMSwgCisgICAgMTgzMTYsIDE4MzIxLCAxODMyNywgMTgzMzMsIDE4MzM5LCAxODM0NCwgMTgzNTAsIDE4MzU2LCAxODM2MiwgMTgzNjgsIAorICAgIDE4Mzc0LCAxODM4MCwgMTgzODYsIDE4MzkyLCAxODM5NywgMTg0MDMsIDE4NDA5LCAxODQxNSwgMTg0MjEsIDE4NDI3LCAKKyAgICAxODQzMiwgMTg0MzcsIDE4NDQzLCAxODQ1MSwgMTg0NTgsIDAsIDE4NDY2LCAxODQ3MywgMTg0ODYsIDE4NDkzLCAxODUwMCwgCisgICAgMTg1MDgsIDE4NTE2LCAxODUyMiwgMTg1MjgsIDE4NTM0LCAxODU0NCwgMTg1NDksIDE4NTU1LCAxODU2NSwgMTg1NzUsIDAsIAorICAgIDE4NTg1LCAxODU5NSwgMTg2MDMsIDE4NjE1LCAxODYyNywgMTg2MzMsIDE4NjQ3LCAxODY2MiwgMTg2NjcsIDE4NjcyLCAKKyAgICAxODY4MCwgMTg2ODgsIDE4Njk2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxODcwNCwgMTg3MDcsIAorICAgIDE4NzExLCAxODcxNSwgMTg3MTksIDE4NzIzLCAxODcyNywgMTg3MzEsIDE4NzM1LCAxODczOSwgMTg3NDMsIDE4NzQ3LCAKKyAgICAxODc1MSwgMTg3NTUsIDE4NzU5LCAxODc2MywgMTg3NjcsIDE4NzcxLCAxODc3NSwgMTg3NzksIDE4NzgzLCAxODc4NiwgCisgICAgMTg3ODksIDE4NzkzLCAxODc5NywgMTg4MDEsIDE4ODA0LCAxODgwNywgMTg4MTEsIDE4ODE1LCAxODgxOSwgMTg4MjMsIAorICAgIDE4ODI2LCAxODgzMCwgMTg4MzMsIDE4ODM4LCAxODg0MSwgMTg4NDUsIDE4ODQ4LCAxODg1MiwgMTg4NTUsIDE4ODYwLCAKKyAgICAxODg2MywgMTg4NjcsIDE4ODc0LCAxODg3OSwgMTg4ODMsIDE4ODg4LCAxODg5MiwgMTg4OTcsIDE4OTAxLCAxODkwNiwgCisgICAgMTg5MTMsIDE4OTE5LCAxODkyNCwgMTg5MjgsIDE4OTMyLCAxODkzNiwgMTg5NDAsIDE4OTQ0LCAxODk0OSwgMTg5NTUsIAorICAgIDE4OTYxLCAxODk2NiwgMTg5NzIsIDE4OTc2LCAxODk3OSwgMTg5ODIsIDE4OTg1LCAxODk4OCwgMTg5OTEsIDE4OTk0LCAKKyAgICAxODk5NywgMTkwMDAsIDE5MDAzLCAxOTAwOSwgMTkwMTMsIDE5MDE3LCAxOTAyMSwgMTkwMjUsIDE5MDI5LCAxOTAzMywgCisgICAgMTkwMzcsIDE5MDQxLCAxOTA0NiwgMTkwNTAsIDE5MDU1LCAxOTA2MCwgMTkwNjYsIDE5MDcxLCAxOTA3NywgMTkwODMsIAorICAgIDE5MDg5LCAxOTA5NSwgMTkxMDEsIDE5MTA4LCAxOTExNSwgMTkxMjMsIDE5MTMxLCAxOTE0MCwgMTkxNDksIDE5MTYwLCAKKyAgICAxOTE3MCwgMTkxODAsIDE5MTkxLCAxOTIwMiwgMTkyMTIsIDE5MjIyLCAxOTIzMiwgMTkyNDIsIDE5MjUyLCAxOTI2MiwgCisgICAgMTkyNzIsIDE5MjgyLCAxOTI5MCwgMTkyOTcsIDE5MzAzLCAxOTMxMCwgMTkzMTUsIDE5MzIxLCAxOTMyNywgMTkzMzMsIAorICAgIDE5MzM5LCAxOTM0NSwgMTkzNTEsIDE5MzU2LCAxOTM2MiwgMTkzNjgsIDE5Mzc0LCAxOTM4MCwgMTkzODUsIDE5MzkzLCAKKyAgICAxOTQwMCwgMTk0MDYsIDE5NDEzLCAxOTQyMSwgMTk0MjcsIDE5NDMzLCAxOTQzOSwgMTk0NDUsIDE5NDUzLCAxOTQ2MSwgCisgICAgMTk0NzEsIDE5NDc5LCAxOTQ4NywgMTk0OTMsIDE5NDk4LCAxOTUwMywgMTk1MDgsIDE5NTEzLCAxOTUxOCwgMTk1MjMsIAorICAgIDE5NTI4LCAxOTUzMywgMTk1MzgsIDE5NTQ0LCAxOTU1MCwgMTk1NTYsIDE5NTYzLCAxOTU2OCwgMTk1NzQsIDE5NTc5LCAKKyAgICAxOTU4NCwgMTk1ODksIDE5NTk0LCAxOTU5OSwgMTk2MDQsIDE5NjA5LCAxOTYxNCwgMTk2MTksIDE5NjI0LCAxOTYyOSwgCisgICAgMTk2MzQsIDE5NjM5LCAxOTY0NCwgMTk2NDksIDE5NjU0LCAxOTY1OSwgMTk2NjQsIDE5NjY5LCAxOTY3NCwgMTk2NzksIAorICAgIDE5Njg0LCAxOTY4OSwgMTk2OTQsIDE5Njk5LCAxOTcwNCwgMTk3MDksIDE5NzE0LCAxOTcxOSwgMTk3MjQsIDE5NzI5LCAKKyAgICAxOTczNCwgMTk3MzksIDE5NzQ0LCAxOTc0OSwgMTk3NTQsIDE5NzU5LCAwLCAxOTc2NCwgMCwgMCwgMCwgMCwgMCwgMTk3NjksIAorICAgIDAsIDAsIDE5Nzc0LCAxOTc3OCwgMTk3ODIsIDE5Nzg2LCAxOTc5MCwgMTk3OTQsIDE5Nzk4LCAxOTgwMiwgMTk4MDYsIAorICAgIDE5ODEwLCAxOTgxNCwgMTk4MTgsIDE5ODIyLCAxOTgyNiwgMTk4MzAsIDE5ODM0LCAxOTgzOCwgMTk4NDIsIDE5ODQ2LCAKKyAgICAxOTg1MCwgMTk4NTQsIDE5ODU4LCAxOTg2MiwgMTk4NjYsIDE5ODcwLCAxOTg3NCwgMTk4NzgsIDE5ODgyLCAxOTg4NiwgCisgICAgMTk4OTAsIDE5ODk0LCAxOTg5OCwgMTk5MDIsIDE5OTA2LCAxOTkxMCwgMTk5MTQsIDE5OTE4LCAxOTkyMiwgMTk5MjYsIAorICAgIDE5OTMwLCAxOTkzNCwgMTk5MzgsIDE5OTQzLCAxOTk0NywgMTk5NTIsIDE5OTU3LCAxOTk2MSwgMTk5NjYsIDE5OTcxLCAKKyAgICAxOTk3NSwgMTk5NzksIDE5OTgzLCAxOTk4NywgMTk5OTEsIDE5OTk1LCAxOTk5OSwgMjAwMDMsIDIwMDA3LCAyMDAxMSwgCisgICAgMjAwMTUsIDIwMDE5LCAyMDAyMywgMjAwMjcsIDIwMDMxLCAyMDAzNSwgMjAwMzksIDIwMDQzLCAyMDA0NywgMjAwNTEsIAorICAgIDIwMDU1LCAyMDA1OSwgMjAwNjMsIDIwMDY3LCAyMDA3MSwgMjAwNzUsIDIwMDc5LCAyMDA4MywgMjAwODcsIDIwMDkxLCAKKyAgICAyMDA5NSwgMjAwOTksIDIwMTAzLCAyMDEwNywgMjAxMTEsIDIwMTE1LCAyMDExOSwgMjAxMjMsIDIwMTI3LCAyMDEzMSwgCisgICAgMjAxMzUsIDIwMTM5LCAyMDE0MywgMjAxNDcsIDIwMTUxLCAyMDE1NSwgMjAxNTksIDIwMTYzLCAyMDE2NywgMjAxNzEsIAorICAgIDIwMTc1LCAyMDE3OSwgMjAxODMsIDIwMTg3LCAyMDE5MSwgMjAxOTUsIDIwMTk5LCAyMDIwMywgMjAyMDcsIDIwMjExLCAKKyAgICAyMDIxNSwgMjAyMTksIDIwMjIzLCAyMDIyNywgMjAyMzEsIDIwMjM1LCAyMDIzOSwgMjAyNDMsIDIwMjQ3LCAyMDI1MSwgCisgICAgMjAyNTUsIDIwMjU5LCAyMDI2MywgMjAyNjcsIDIwMjcxLCAyMDI3NSwgMjAyNzksIDIwMjgzLCAyMDI4NywgMjAyOTEsIAorICAgIDIwMjk1LCAyMDI5OSwgMjAzMDMsIDIwMzA3LCAyMDMxMSwgMjAzMTUsIDIwMzE5LCAyMDMyMywgMjAzMjcsIDIwMzMxLCAKKyAgICAyMDMzNSwgMjAzMzksIDIwMzQzLCAyMDM0NywgMjAzNTEsIDIwMzU1LCAyMDM1OSwgMjAzNjIsIDIwMzY2LCAyMDM2OSwgCisgICAgMjAzNzMsIDIwMzc3LCAyMDM4MCwgMjAzODQsIDIwMzg4LCAyMDM5MSwgMjAzOTUsIDIwMzk5LCAyMDQwMywgMjA0MDcsIAorICAgIDIwNDEwLCAyMDQxNCwgMjA0MTgsIDIwNDIyLCAyMDQyNiwgMjA0MzAsIDIwNDM0LCAyMDQzNywgMjA0NDEsIDIwNDQ1LCAKKyAgICAyMDQ0OSwgMjA0NTMsIDIwNDU3LCAyMDQ2MSwgMjA0NjUsIDIwNDY5LCAyMDQ3MywgMjA0NzcsIDIwNDgxLCAyMDQ4NSwgCisgICAgMjA0ODksIDIwNDkzLCAyMDQ5NywgMjA1MDEsIDIwNTA1LCAyMDUwOSwgMjA1MTMsIDIwNTE3LCAyMDUyMSwgMjA1MjUsIAorICAgIDIwNTI5LCAyMDUzMywgMjA1MzcsIDIwNTQxLCAyMDU0NSwgMjA1NDksIDIwNTUzLCAyMDU1NywgMjA1NjEsIDIwNTY1LCAKKyAgICAyMDU2OSwgMjA1NzMsIDIwNTc3LCAyMDU4MSwgMjA1ODUsIDIwNTg5LCAyMDU5MywgMjA1OTcsIDIwNjAxLCAyMDYwNSwgCisgICAgMjA2MDksIDIwNjEzLCAyMDYxNywgMjA2MjEsIDIwNjI1LCAyMDYyOSwgMjA2MzMsIDIwNjM3LCAyMDY0MSwgMjA2NDUsIAorICAgIDIwNjQ5LCAyMDY1MywgMjA2NTcsIDIwNjYxLCAyMDY2NSwgMjA2NjksIDIwNjczLCAyMDY3NywgMjA2ODEsIDIwNjg1LCAKKyAgICAyMDY4OSwgMjA2OTMsIDIwNjk3LCAyMDcwMSwgMjA3MDUsIDIwNzA5LCAyMDcxMywgMjA3MTcsIDIwNzIxLCAyMDcyNSwgCisgICAgMjA3MjksIDIwNzMzLCAyMDczNywgMjA3NDEsIDIwNzQ1LCAyMDc0OSwgMjA3NTMsIDIwNzU3LCAyMDc2MSwgMjA3NjUsIAorICAgIDIwNzY5LCAyMDc3MywgMjA3NzcsIDIwNzgxLCAyMDc4NSwgMjA3ODksIDIwNzkzLCAyMDc5NywgMjA4MDEsIDIwODA1LCAKKyAgICAyMDgwOSwgMjA4MTMsIDIwODE3LCAyMDgyMSwgMjA4MjUsIDIwODI5LCAyMDgzMywgMjA4MzcsIDIwODQxLCAyMDg0NSwgCisgICAgMjA4NDksIDIwODUzLCAyMDg1NywgMjA4NjEsIDIwODY1LCAyMDg2OSwgMjA4NzMsIDIwODc3LCAyMDg4MSwgMjA4ODUsIAorICAgIDIwODg5LCAyMDg5MywgMjA4OTcsIDIwOTAxLCAyMDkwNSwgMjA5MDksIDIwOTEzLCAyMDkxNywgMjA5MjEsIDIwOTI1LCAKKyAgICAyMDkyOSwgMjA5MzMsIDIwOTM3LCAyMDk0MSwgMjA5NDUsIDIwOTQ5LCAyMDk1MywgMjA5NTcsIDIwOTYxLCAyMDk2NSwgCisgICAgMjA5NjksIDIwOTczLCAyMDk3NywgMjA5ODEsIDIwOTg1LCAyMDk4OSwgMjA5OTIsIDIwOTk2LCAyMTAwMCwgMjEwMDQsIAorICAgIDIxMDA4LCAyMTAxMiwgMjEwMTYsIDIxMDIwLCAyMTAyNCwgMjEwMjgsIDIxMDMyLCAyMTAzNiwgMjEwNDAsIDIxMDQ0LCAKKyAgICAyMTA0OCwgMjEwNTIsIDIxMDU2LCAyMTA2MCwgMjEwNjQsIDIxMDY4LCAyMTA3MiwgMjEwNzYsIDIxMDgwLCAyMTA4NCwgCisgICAgMjEwODcsIDIxMDkxLCAyMTA5NSwgMjEwOTksIDIxMTAzLCAyMTEwNywgMjExMTEsIDIxMTE1LCAyMTExOSwgMjExMjMsIAorICAgIDIxMTI3LCAyMTEzMSwgMjExMzUsIDIxMTM5LCAyMTE0MywgMjExNDcsIDIxMTUxLCAyMTE1NSwgMjExNTksIDIxMTYzLCAKKyAgICAyMTE2NywgMjExNzEsIDIxMTc1LCAyMTE3OSwgMjExODMsIDIxMTg3LCAyMTE5MSwgMjExOTUsIDIxMTk5LCAyMTIwMywgCisgICAgMjEyMDcsIDIxMjExLCAyMTIxNSwgMjEyMTksIDIxMjIzLCAyMTIyNywgMjEyMzEsIDIxMjM1LCAyMTIzOSwgMjEyNDMsIAorICAgIDIxMjQ3LCAyMTI1MSwgMjEyNTUsIDIxMjU5LCAyMTI2MywgMjEyNjcsIDIxMjcxLCAyMTI3NSwgMCwgMjEyNzksIDIxMjgzLCAKKyAgICAyMTI4NywgMjEyOTEsIDAsIDAsIDIxMjk1LCAyMTI5OSwgMjEzMDMsIDIxMzA3LCAyMTMxMSwgMjEzMTUsIDIxMzE5LCAwLCAKKyAgICAyMTMyMywgMCwgMjEzMjcsIDIxMzMxLCAyMTMzNSwgMjEzMzksIDAsIDAsIDIxMzQzLCAyMTM0NywgMjEzNTEsIDIxMzU1LCAKKyAgICAyMTM1OSwgMjEzNjMsIDIxMzY3LCAyMTM3MSwgMjEzNzUsIDIxMzc5LCAyMTM4MywgMjEzODcsIDIxMzkxLCAyMTM5NSwgCisgICAgMjEzOTksIDIxNDAzLCAyMTQwNywgMjE0MTEsIDIxNDE1LCAyMTQxOSwgMjE0MjMsIDIxNDI3LCAyMTQzMSwgMjE0MzQsIAorICAgIDIxNDM4LCAyMTQ0MiwgMjE0NDYsIDIxNDUwLCAyMTQ1NCwgMjE0NTgsIDIxNDYyLCAyMTQ2NiwgMjE0NzAsIDIxNDc0LCAKKyAgICAyMTQ3OCwgMjE0ODIsIDIxNDg2LCAyMTQ5MCwgMjE0OTQsIDIxNDk4LCAyMTUwMiwgMCwgMjE1MDYsIDIxNTEwLCAyMTUxNCwgCisgICAgMjE1MTgsIDAsIDAsIDIxNTIyLCAyMTUyNSwgMjE1MjksIDIxNTMzLCAyMTUzNywgMjE1NDEsIDIxNTQ1LCAyMTU0OSwgCisgICAgMjE1NTMsIDIxNTU3LCAyMTU2MSwgMjE1NjUsIDIxNTY5LCAyMTU3MywgMjE1NzcsIDIxNTgxLCAyMTU4NSwgMjE1OTAsIAorICAgIDIxNTk1LCAyMTYwMCwgMjE2MDYsIDIxNjEyLCAyMTYxNywgMjE2MjIsIDIxNjI4LCAyMTYzMSwgMjE2MzUsIDIxNjM5LCAKKyAgICAyMTY0MywgMjE2NDcsIDIxNjUxLCAyMTY1NSwgMjE2NTksIDAsIDIxNjYzLCAyMTY2NywgMjE2NzEsIDIxNjc1LCAwLCAwLCAKKyAgICAyMTY3OSwgMjE2ODMsIDIxNjg3LCAyMTY5MSwgMjE2OTUsIDIxNjk5LCAyMTcwMywgMCwgMjE3MDcsIDAsIDIxNzExLCAKKyAgICAyMTcxNSwgMjE3MTksIDIxNzIzLCAwLCAwLCAyMTcyNywgMjE3MzEsIDIxNzM1LCAyMTczOSwgMjE3NDMsIDIxNzQ3LCAKKyAgICAyMTc1MSwgMjE3NTUsIDIxNzU5LCAyMTc2NCwgMjE3NjksIDIxNzc0LCAyMTc4MCwgMjE3ODYsIDIxNzkxLCAwLCAyMTc5NiwgCisgICAgMjE4MDAsIDIxODA0LCAyMTgwOCwgMjE4MTIsIDIxODE2LCAyMTgyMCwgMjE4MjQsIDIxODI4LCAyMTgzMiwgMjE4MzYsIAorICAgIDIxODQwLCAyMTg0NCwgMjE4NDgsIDIxODUyLCAyMTg1NiwgMjE4NjAsIDIxODYzLCAyMTg2NywgMjE4NzEsIDIxODc1LCAKKyAgICAyMTg3OSwgMjE4ODMsIDIxODg3LCAyMTg5MSwgMjE4OTUsIDIxODk5LCAyMTkwMywgMjE5MDcsIDIxOTExLCAyMTkxNSwgCisgICAgMjE5MTksIDIxOTIzLCAyMTkyNywgMjE5MzEsIDIxOTM1LCAyMTkzOSwgMjE5NDMsIDIxOTQ3LCAyMTk1MSwgMjE5NTUsIAorICAgIDIxOTU5LCAyMTk2MywgMjE5NjcsIDIxOTcxLCAyMTk3NSwgMjE5NzksIDIxOTgzLCAyMTk4NywgMjE5OTEsIDIxOTk1LCAKKyAgICAyMTk5OSwgMjIwMDMsIDIyMDA3LCAyMjAxMSwgMjIwMTUsIDIyMDE5LCAwLCAyMjAyMywgMjIwMjcsIDIyMDMxLCAyMjAzNSwgCisgICAgMCwgMCwgMjIwMzksIDIyMDQzLCAyMjA0NywgMjIwNTEsIDIyMDU1LCAyMjA1OSwgMjIwNjMsIDIyMDY3LCAyMjA3MSwgCisgICAgMjIwNzUsIDIyMDc5LCAyMjA4MywgMjIwODcsIDIyMDkxLCAyMjA5NSwgMjIwOTksIDIyMTAzLCAyMjEwNywgMjIxMTEsIAorICAgIDIyMTE1LCAyMjExOSwgMjIxMjMsIDIyMTI3LCAyMjEzMSwgMjIxMzUsIDIyMTM5LCAyMjE0MywgMjIxNDcsIDIyMTUxLCAKKyAgICAyMjE1NSwgMjIxNTksIDIyMTYzLCAyMjE2NywgMjIxNzEsIDIyMTc1LCAyMjE3OSwgMjIxODMsIDIyMTg3LCAyMjE5MSwgCisgICAgMjIxOTUsIDIyMTk5LCAyMjIwMywgMjIyMDcsIDIyMjExLCAyMjIxNSwgMjIyMTksIDIyMjIzLCAyMjIyNywgMjIyMzEsIAorICAgIDIyMjM1LCAyMjIzOSwgMjIyNDMsIDIyMjQ3LCAyMjI1MSwgMjIyNTUsIDIyMjU5LCAyMjI2MywgMjIyNjYsIDIyMjcwLCAKKyAgICAyMjI3NCwgMjIyNzgsIDIyMjgyLCAyMjI4NiwgMjIyOTAsIDIyMjk0LCAyMjI5OCwgMjIzMDIsIDAsIDAsIDIyMzA2LCAKKyAgICAyMjMxNSwgMjIzMjEsIDIyMzI2LCAyMjMzMCwgMjIzMzMsIDIyMzM4LCAyMjM0MSwgMjIzNDQsIDIyMzQ3LCAyMjM1MiwgCisgICAgMjIzNTYsIDIyMzYxLCAyMjM2NCwgMjIzNjcsIDIyMzcwLCAyMjM3MywgMjIzNzYsIDIyMzc5LCAyMjM4MiwgMjIzODUsIAorICAgIDIyMzg4LCAyMjM5MiwgMjIzOTYsIDIyNDAwLCAyMjQwNCwgMjI0MDgsIDIyNDEyLCAyMjQxNiwgMjI0MjAsIDIyNDI0LCAKKyAgICAyMjQyOCwgMCwgMCwgMCwgMjI0MzQsIDIyNDQwLCAyMjQ0NCwgMjI0NDgsIDIyNDUyLCAyMjQ1OCwgMjI0NjIsIDIyNDY2LCAKKyAgICAyMjQ3MCwgMjI0NzYsIDIyNDgwLCAyMjQ4NCwgMjI0ODgsIDIyNDk0LCAyMjQ5OCwgMjI1MDIsIDIyNTA2LCAyMjUxMiwgCisgICAgMjI1MTgsIDIyNTI0LCAyMjUzMiwgMjI1MzgsIDIyNTQ0LCAyMjU1MCwgMjI1NTYsIDIyNTYyLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAyMjU2OCwgMjI1NzEsIDIyNTc0LCAyMjU3NywgMjI1ODAsIDIyNTgzLCAyMjU4NywgMjI1OTEsIDIyNTk0LCAyMjU5OCwgCisgICAgMjI2MDIsIDIyNjA2LCAyMjYxMCwgMjI2MTQsIDIyNjE3LCAyMjYyMSwgMjI2MjUsIDIyNjI5LCAyMjYzMywgMjI2MzcsIAorICAgIDIyNjQxLCAyMjY0NSwgMjI2NDksIDIyNjUzLCAyMjY1NywgMjI2NjEsIDIyNjY0LCAyMjY2OCwgMjI2NzIsIDIyNjc2LCAKKyAgICAyMjY4MCwgMjI2ODMsIDIyNjg3LCAyMjY5MSwgMjI2OTUsIDIyNjk5LCAyMjcwMywgMjI3MDcsIDIyNzExLCAyMjcxNSwgCisgICAgMjI3MTksIDIyNzIzLCAyMjcyNywgMjI3MzEsIDIyNzM1LCAyMjczOSwgMjI3NDIsIDIyNzQ2LCAyMjc1MCwgMjI3NTQsIAorICAgIDIyNzU4LCAyMjc2MiwgMjI3NjYsIDIyNzcwLCAyMjc3NCwgMjI3NzgsIDIyNzgyLCAyMjc4NiwgMjI3OTAsIDIyNzk0LCAKKyAgICAyMjc5OCwgMjI4MDIsIDIyODA2LCAyMjgxMCwgMjI4MTQsIDIyODE4LCAyMjgyMiwgMjI4MjYsIDIyODMwLCAyMjgzNCwgCisgICAgMjI4MzgsIDIyODQyLCAyMjg0NiwgMjI4NTAsIDIyODU0LCAyMjg1OCwgMjI4NjIsIDIyODY2LCAyMjg3MCwgMjI4NzQsIAorICAgIDIyODc3LCAyMjg4MSwgMjI4ODUsIDIyODg5LCAyMjg5MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMjI4OTcsIDIyOTAxLCAyMjkwNCwgMjI5MDgsIDIyOTExLCAyMjkxNSwgMjI5MTgsIDIyOTIyLCAyMjkyOCwgMjI5MzMsIAorICAgIDIyOTM3LCAyMjk0MCwgMjI5NDQsIDIyOTQ4LCAyMjk1MywgMjI5NTcsIDIyOTYyLCAyMjk2NiwgMjI5NzEsIDIyOTc1LCAKKyAgICAyMjk4MCwgMjI5ODQsIDIyOTg5LCAyMjk5NSwgMjI5OTksIDIzMDA0LCAyMzAwOCwgMjMwMTMsIDIzMDE5LCAyMzAyMywgCisgICAgMjMwMjksIDIzMDM1LCAyMzAzOSwgMjMwNDQsIDIzMDUyLCAyMzA2MCwgMjMwNjcsIDIzMDcyLCAyMzA3NywgMjMwODYsIAorICAgIDIzMDkzLCAyMzEwMCwgMjMxMDUsIDIzMTExLCAyMzExNSwgMjMxMTksIDIzMTIzLCAyMzEyNywgMjMxMzEsIDIzMTM1LCAKKyAgICAyMzEzOSwgMjMxNDMsIDIzMTQ3LCAyMzE1MSwgMjMxNTcsIDIzMTYyLCAyMzE2NywgMjMxNzAsIDIzMTc0LCAyMzE3OCwgCisgICAgMjMxODMsIDIzMTg3LCAyMzE5MiwgMjMxOTYsIDIzMjAxLCAyMzIwNSwgMjMyMTAsIDIzMjE0LCAyMzIxOSwgMjMyMjMsIAorICAgIDIzMjI4LCAyMzIzMiwgMjMyMzcsIDIzMjQzLCAyMzI0NywgMjMyNTIsIDIzMjU3LCAyMzI2MSwgMjMyNjUsIDIzMjY5LCAKKyAgICAyMzI3MywgMjMyNzYsIDIzMjgwLCAyMzI4NiwgMjMyOTEsIDIzMjk2LCAyMzMwMCwgMjMzMDQsIDIzMzA4LCAyMzMxMywgCisgICAgMjMzMTcsIDIzMzIyLCAyMzMyNiwgMjMzMzEsIDIzMzM0LCAyMzMzOCwgMjMzNDIsIDIzMzQ3LCAyMzM1MSwgMjMzNTYsIAorICAgIDIzMzYwLCAyMzM2NSwgMjMzNzEsIDIzMzc1LCAyMzM3OSwgMjMzODMsIDIzMzg3LCAyMzM5MSwgMjMzOTUsIDIzMzk5LCAKKyAgICAyMzQwMywgMjM0MDcsIDIzNDExLCAyMzQxNSwgMjM0MjEsIDIzNDI0LCAyMzQyOCwgMjM0MzIsIDIzNDM3LCAyMzQ0MSwgCisgICAgMjM0NDYsIDIzNDUwLCAyMzQ1NSwgMjM0NTksIDIzNDY0LCAyMzQ2OCwgMjM0NzMsIDIzNDc3LCAyMzQ4MiwgMjM0ODYsIAorICAgIDIzNDkxLCAyMzQ5NywgMjM1MDEsIDIzNTA1LCAyMzUxMSwgMjM1MTcsIDIzNTIzLCAyMzUyOSwgMjM1MzMsIDIzNTM3LCAKKyAgICAyMzU0MSwgMjM1NDUsIDIzNTQ5LCAyMzU1MywgMjM1NTksIDIzNTYzLCAyMzU2NywgMjM1NzEsIDIzNTc2LCAyMzU4MCwgCisgICAgMjM1ODUsIDIzNTg5LCAyMzU5NCwgMjM1OTgsIDIzNjAzLCAyMzYwNywgMjM2MTIsIDIzNjE2LCAyMzYyMSwgMjM2MjUsIAorICAgIDIzNjMwLCAyMzYzNiwgMjM2NDAsIDIzNjQ2LCAyMzY1MCwgMjM2NTQsIDIzNjU4LCAyMzY2MiwgMjM2NjYsIDIzNjcwLCAKKyAgICAyMzY3NiwgMjM2NzksIDIzNjgzLCAyMzY4NywgMjM2OTIsIDIzNjk2LCAyMzcwMSwgMjM3MDUsIDIzNzEwLCAyMzcxNCwgCisgICAgMjM3MTksIDIzNzIzLCAyMzcyOCwgMjM3MzIsIDIzNzM3LCAyMzc0MSwgMjM3NDYsIDIzNzUyLCAyMzc1NiwgMjM3NjEsIAorICAgIDIzNzY1LCAyMzc3MSwgMjM3NzcsIDIzNzgxLCAyMzc4NSwgMjM3ODksIDIzNzkzLCAyMzc5NywgMjM4MDEsIDIzODA3LCAKKyAgICAyMzgxMCwgMjM4MTQsIDIzODE4LCAyMzgyMywgMjM4MjcsIDIzODMyLCAyMzgzNiwgMjM4NDEsIDIzODQ3LCAyMzg1MSwgCisgICAgMjM4NTYsIDIzODYwLCAyMzg2NCwgMjM4NjgsIDIzODcyLCAyMzg3NiwgMjM4ODAsIDIzODg0LCAyMzg5MCwgMjM4OTQsIAorICAgIDIzODk4LCAyMzkwMiwgMjM5MDcsIDIzOTExLCAyMzkxNiwgMjM5MjAsIDIzOTI1LCAyMzkyOSwgMjM5MzQsIDIzOTM4LCAKKyAgICAyMzk0MywgMjM5NDcsIDIzOTUyLCAyMzk1NiwgMjM5NjEsIDIzOTY0LCAyMzk2OCwgMjM5NzIsIDIzOTc2LCAyMzk4MCwgCisgICAgMjM5ODQsIDIzOTg4LCAyMzk5MiwgMjM5OTYsIDI0MDAyLCAyNDAwNiwgMjQwMTAsIDI0MDE0LCAyNDAxOSwgMjQwMjMsIAorICAgIDI0MDI4LCAyNDAzMiwgMjQwMzcsIDI0MDQxLCAyNDA0NiwgMjQwNTAsIDI0MDU1LCAyNDA1OSwgMjQwNjQsIDI0MDY4LCAKKyAgICAyNDA3MywgMjQwNzksIDI0MDgyLCAyNDA4NywgMjQwOTEsIDI0MDk2LCAyNDEwMiwgMjQxMDgsIDI0MTE0LCAyNDEyMCwgCisgICAgMjQxMjYsIDI0MTMyLCAyNDEzOCwgMjQxNDIsIDI0MTQ2LCAyNDE1MCwgMjQxNTQsIDI0MTU4LCAyNDE2MiwgMjQxNjYsIAorICAgIDI0MTcwLCAyNDE3NSwgMjQxNzksIDI0MTg0LCAyNDE4OCwgMjQxOTMsIDI0MTk3LCAyNDIwMiwgMjQyMDYsIDI0MjExLCAKKyAgICAyNDIxNSwgMjQyMjAsIDI0MjI0LCAyNDIyOSwgMjQyMzMsIDI0MjM3LCAyNDI0MSwgMjQyNDUsIDI0MjQ5LCAyNDI1MywgCisgICAgMjQyNTcsIDI0MjYzLCAyNDI2NiwgMjQyNzAsIDI0Mjc0LCAyNDI3OSwgMjQyODMsIDI0Mjg4LCAyNDI5MiwgMjQyOTcsIAorICAgIDI0MzAxLCAyNDMwNiwgMjQzMTAsIDI0MzE1LCAyNDMxOSwgMjQzMjQsIDI0MzI4LCAyNDMzMywgMjQzMzksIDI0MzQzLCAKKyAgICAyNDM0OSwgMjQzNTQsIDI0MzYwLCAyNDM2NCwgMjQzNzAsIDI0Mzc1LCAyNDM3OSwgMjQzODMsIDI0Mzg3LCAyNDM5MSwgCisgICAgMjQzOTUsIDI0NDAwLCAyNDQwNCwgMjQ0MDgsIDI0NDEzLCAyNDQxNywgMjQ0MjIsIDI0NDI1LCAyNDQyOSwgMjQ0MzMsIAorICAgIDI0NDM3LCAyNDQ0MSwgMjQ0NDUsIDI0NDQ5LCAyNDQ1MywgMjQ0NTcsIDI0NDYxLCAyNDQ2NSwgMjQ0NjksIDI0NDc0LCAKKyAgICAyNDQ3OCwgMjQ0ODIsIDI0NDg4LCAyNDQ5MiwgMjQ0OTgsIDI0NTAyLCAyNDUwOCwgMjQ1MTIsIDI0NTE2LCAyNDUyMCwgCisgICAgMjQ1MjQsIDI0NTI4LCAyNDUzMywgMjQ1MzcsIDI0NTQxLCAyNDU0NSwgMjQ1NDksIDI0NTUzLCAyNDU1NywgMjQ1NjEsIAorICAgIDI0NTY1LCAyNDU2OSwgMjQ1NzMsIDI0NTc5LCAyNDU4NSwgMjQ1OTEsIDI0NTk3LCAyNDYwMywgMjQ2MDgsIDI0NjE0LCAKKyAgICAyNDYyMCwgMjQ2MjYsIDI0NjMwLCAyNDYzNCwgMjQ2MzgsIDI0NjQyLCAyNDY0NiwgMjQ2NTAsIDI0NjU0LCAyNDY1OCwgCisgICAgMjQ2NjIsIDI0NjY2LCAyNDY3MCwgMjQ2NzQsIDI0Njc4LCAyNDY4MywgMjQ2ODgsIDI0NjkzLCAyNDY5OCwgMjQ3MDIsIAorICAgIDI0NzA2LCAyNDcxMCwgMjQ3MTQsIDI0NzE4LCAyNDcyMiwgMjQ3MjYsIDI0NzMwLCAyNDczNCwgMjQ3NDAsIDI0NzQ2LCAKKyAgICAyNDc1MiwgMjQ3NTgsIDI0NzY0LCAyNDc3MCwgMjQ3NzYsIDI0NzgyLCAyNDc4OCwgMjQ3OTIsIDI0Nzk2LCAyNDgwMCwgCisgICAgMjQ4MDQsIDI0ODA4LCAyNDgxMiwgMjQ4MTYsIDI0ODIyLCAyNDgyOCwgMjQ4MzQsIDI0ODQwLCAyNDg0NiwgMjQ4NTIsIAorICAgIDI0ODU4LCAyNDg2NCwgMjQ4NzAsIDI0ODc1LCAyNDg4MCwgMjQ4ODUsIDI0ODkwLCAyNDg5NiwgMjQ5MDIsIDI0OTA4LCAKKyAgICAyNDkxNCwgMjQ5MjAsIDI0OTI2LCAyNDkzMiwgMjQ5MzcsIDI0OTQzLCAyNDk0OSwgMjQ5NTUsIDI0OTYwLCAyNDk2NiwgCisgICAgMjQ5NzIsIDI0OTc4LCAyNDk4MywgMjQ5ODgsIDI0OTkzLCAyNDk5OCwgMjUwMDMsIDI1MDA4LCAyNTAxMywgMjUwMTgsIAorICAgIDI1MDIzLCAyNTAyOCwgMjUwMzMsIDI1MDM4LCAyNTA0MywgMjUwNDgsIDI1MDUzLCAyNTA1OCwgMjUwNjMsIDI1MDY4LCAKKyAgICAyNTA3MywgMjUwNzgsIDI1MDgzLCAyNTA4OCwgMjUwOTMsIDI1MDk4LCAyNTEwMywgMjUxMDgsIDI1MTEzLCAyNTExOCwgCisgICAgMjUxMjMsIDI1MTI4LCAyNTEzMywgMjUxMzgsIDI1MTQzLCAyNTE0OCwgMjUxNTMsIDI1MTU4LCAyNTE2MywgMjUxNjgsIAorICAgIDI1MTczLCAyNTE3OCwgMjUxODMsIDI1MTg4LCAyNTE5MiwgMjUxOTcsIDI1MjAyLCAyNTIwNywgMjUyMTIsIDI1MjE3LCAKKyAgICAyNTIyMiwgMjUyMjcsIDI1MjMyLCAyNTIzNywgMjUyNDIsIDI1MjQ3LCAyNTI1MiwgMjUyNTcsIDI1MjYyLCAyNTI2NywgCisgICAgMjUyNzIsIDI1Mjc3LCAyNTI4MiwgMjUyODcsIDI1MjkyLCAyNTI5NywgMjUzMDIsIDI1MzA3LCAyNTMxMiwgMjUzMTcsIAorICAgIDI1MzIxLCAyNTMyNiwgMjUzMzEsIDI1MzM2LCAyNTM0MSwgMjUzNDYsIDI1MzUwLCAyNTM1NSwgMjUzNjAsIDI1MzY1LCAKKyAgICAyNTM3MCwgMjUzNzUsIDI1Mzc5LCAyNTM4NCwgMjUzOTAsIDI1Mzk1LCAyNTQwMCwgMjU0MDUsIDI1NDEwLCAyNTQxNiwgCisgICAgMjU0MjEsIDI1NDI2LCAyNTQzMSwgMjU0MzYsIDI1NDQxLCAyNTQ0NiwgMjU0NTEsIDI1NDU2LCAyNTQ2MSwgMjU0NjYsIAorICAgIDI1NDcxLCAyNTQ3NiwgMjU0ODEsIDI1NDg2LCAyNTQ5MSwgMjU0OTYsIDI1NTAxLCAyNTUwNiwgMjU1MTEsIDI1NTE2LCAKKyAgICAyNTUyMSwgMjU1MjYsIDI1NTMxLCAyNTUzNiwgMjU1NDEsIDI1NTQ2LCAyNTU1MSwgMjU1NTYsIDI1NTYxLCAyNTU2NiwgCisgICAgMjU1NzEsIDI1NTc2LCAyNTU4MSwgMjU1ODYsIDI1NTkxLCAyNTU5NiwgMjU2MDEsIDI1NjA2LCAyNTYxMSwgMjU2MTYsIAorICAgIDI1NjIxLCAyNTYyNiwgMjU2MzEsIDI1NjM2LCAyNTY0MiwgMjU2NDcsIDI1NjUyLCAyNTY1NywgMjU2NjIsIDI1NjY3LCAKKyAgICAyNTY3MiwgMjU2NzcsIDI1NjgyLCAyNTY4NywgMjU2OTIsIDI1Njk3LCAyNTcwMiwgMjU3MDcsIDI1NzEyLCAyNTcxNywgCisgICAgMjU3MjIsIDI1NzI3LCAyNTczMiwgMjU3MzcsIDI1NzQyLCAyNTc0NywgMjU3NTIsIDI1NzU3LCAyNTc2MiwgMjU3NjcsIAorICAgIDI1NzcyLCAyNTc3NywgMjU3ODIsIDI1Nzg3LCAyNTc5MiwgMjU3OTcsIDI1ODAyLCAyNTgwNywgMjU4MTIsIDI1ODE3LCAKKyAgICAyNTgyMiwgMjU4MjcsIDI1ODMyLCAyNTgzOCwgMjU4NDIsIDI1ODQ2LCAyNTg1MCwgMjU4NTQsIDI1ODU4LCAyNTg2MiwgCisgICAgMjU4NjYsIDI1ODcwLCAyNTg3NiwgMjU4ODIsIDI1ODg4LCAyNTg5NCwgMjU5MDAsIDI1OTA2LCAyNTkxMiwgMjU5MTksIAorICAgIDI1OTI1LCAyNTkzMCwgMjU5MzUsIDI1OTQwLCAyNTk0NSwgMjU5NTAsIDI1OTU1LCAyNTk2MCwgMjU5NjUsIDI1OTcwLCAKKyAgICAyNTk3NSwgMjU5ODAsIDI1OTg1LCAyNTk5MCwgMjU5OTUsIDI2MDAwLCAyNjAwNSwgMjYwMTAsIDI2MDE1LCAyNjAyMCwgCisgICAgMjYwMjUsIDI2MDMwLCAyNjAzNSwgMjYwNDAsIDI2MDQ1LCAyNjA1MCwgMjYwNTUsIDI2MDYwLCAyNjA2NSwgMCwgMCwgMCwgCisgICAgMjYwNzIsIDI2MDgyLCAyNjA4NiwgMjYwOTMsIDI2MDk3LCAyNjEwMSwgMjYxMDUsIDI2MTEzLCAyNjExNywgMjYxMjIsIAorICAgIDI2MTI3LCAyNjEzMiwgMjYxMzYsIDI2MTQxLCAyNjE0NiwgMjYxNDksIDI2MTUzLCAyNjE1NywgMjYxNjYsIDI2MTcwLCAKKyAgICAyNjE3NCwgMjYxODAsIDI2MTg0LCAyNjE4OCwgMjYxOTYsIDI2MjAwLCAyNjIwOCwgMjYyMTQsIDI2MjIwLCAyNjIyNiwgCisgICAgMjYyMzIsIDI2MjQyLCAyNjI0OCwgMjYyNTIsIDI2MjYxLCAyNjI2NCwgMjYyNzAsIDI2Mjc0LCAyNjI4MCwgMjYyODUsIAorICAgIDI2MjkxLCAyNjI5OSwgMjYzMDUsIDI2MzEwLCAyNjMxNywgMjYzMjIsIDI2MzI2LCAyNjMzMCwgMjYzNDAsIDI2MzQ2LCAKKyAgICAyNjM1MCwgMjYzNjAsIDI2MzY2LCAyNjM3MCwgMjYzNzQsIDI2MzgxLCAyNjM4OSwgMjYzOTUsIDI2NDAxLCAyNjQxMCwgCisgICAgMjY0MTQsIDI2NDE4LCAyNjQyMiwgMjY0MzAsIDI2NDM3LCAyNjQ0MSwgMjY0NDUsIDI2NDQ5LCAyNjQ1MywgMjY0NTcsIAorICAgIDI2NDYxLCAyNjQ2NSwgMjY0NjksIDI2NDczLCAyNjQ3NywgMjY0ODEsIDI2NDg2LCAyNjQ5MSwgMjY0OTYsIDI2NTAwLCAKKyAgICAyNjUwNCwgMjY1MDgsIDI2NTEyLCAyNjUxNiwgMjY1MjAsIDI2NTI4LCAyNjUzNiwgMjY1NDQsIDI2NTUyLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAyNjU2MCwgMjY1NjQsIDI2NTY4LCAyNjU3MiwgMjY1NzYsIDI2NTgxLCAyNjU4NiwgMjY1OTEsIAorICAgIDI2NTk2LCAyNjYwMCwgMjY2MDQsIDI2NjA5LCAyNjYxMywgMCwgMjY2MTcsIDI2NjIyLCAyNjYyNywgMjY2MzIsIDI2NjM2LCAKKyAgICAyNjY0MSwgMjY2NDYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI2NjUxLCAyNjY1NSwgMjY2NTksIAorICAgIDI2NjYzLCAyNjY2NywgMjY2NzIsIDI2Njc3LCAyNjY4MiwgMjY2ODcsIDI2NjkxLCAyNjY5NSwgMjY3MDAsIDI2NzA0LCAKKyAgICAyNjcwOCwgMjY3MTMsIDI2NzE4LCAyNjcyMywgMjY3MjgsIDI2NzMyLCAyNjczNywgMjY3NDIsIDI2NzQ3LCAyNjc1MywgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjY3NTgsIDI2NzYyLCAyNjc2NiwgMjY3NzAsIDI2Nzc0LCAyNjc3OSwgMjY3ODQsIAorICAgIDI2Nzg5LCAyNjc5NCwgMjY3OTgsIDI2ODAyLCAyNjgwNywgMjY4MTEsIDI2ODE1LCAyNjgyMCwgMjY4MjUsIDI2ODMwLCAKKyAgICAyNjgzNSwgMjY4MzksIDI2ODQ0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNjg0OSwgMjY4NTMsIAorICAgIDI2ODU3LCAyNjg2MSwgMjY4NjUsIDI2ODcwLCAyNjg3NSwgMjY4ODAsIDI2ODg1LCAyNjg4OSwgMjY4OTMsIDI2ODk4LCAKKyAgICAyNjkwMiwgMCwgMjY5MDYsIDI2OTExLCAyNjkxNiwgMCwgMjY5MjEsIDI2OTI2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAyNjkzMSwgMjY5MzQsIDI2OTM4LCAyNjk0MiwgMjY5NDYsIDI2OTUwLCAyNjk1NCwgMjY5NTgsIAorICAgIDI2OTYyLCAyNjk2NiwgMjY5NzAsIDI2OTc0LCAyNjk3OCwgMjY5ODIsIDI2OTg2LCAyNjk5MCwgMjY5OTQsIDI2OTk4LCAKKyAgICAyNzAwMSwgMjcwMDUsIDI3MDA5LCAyNzAxMywgMjcwMTcsIDI3MDIxLCAyNzAyNSwgMjcwMjksIDI3MDMzLCAyNzAzNywgCisgICAgMjcwNDEsIDI3MDQ1LCAyNzA0OSwgMjcwNTMsIDI3MDU3LCAyNzA2MCwgMjcwNjQsIDI3MDY4LCAyNzA3NCwgMjcwODAsIAorICAgIDI3MDg2LCAyNzA5MiwgMjcwOTgsIDI3MTA0LCAyNzExMCwgMjcxMTYsIDI3MTIyLCAyNzEyOCwgMjcxMzQsIDI3MTQwLCAKKyAgICAyNzE0NiwgMjcxNTIsIDI3MTYxLCAyNzE3MCwgMjcxNzYsIDI3MTgyLCAyNzE4OCwgMjcxOTMsIDI3MTk3LCAyNzIwMiwgCisgICAgMjcyMDcsIDI3MjEyLCAyNzIxNiwgMjcyMjEsIDI3MjI2LCAyNzIzMSwgMjcyMzUsIDI3MjQwLCAyNzI0NCwgMjcyNDksIAorICAgIDI3MjU0LCAyNzI1OSwgMjcyNjQsIDI3MjY4LCAyNzI3MiwgMjcyNzYsIDI3MjgwLCAyNzI4NCwgMjcyODgsIDI3MjkyLCAKKyAgICAyNzI5NiwgMjczMDAsIDI3MzA0LCAyNzMxMCwgMjczMTQsIDI3MzE4LCAyNzMyMiwgMjczMjYsIDI3MzMwLCAyNzMzOCwgCisgICAgMjczNDQsIDI3MzQ4LCAyNzM1NCwgMjczNTgsIDI3MzY0LCAyNzM2OCwgMCwgMCwgMjczNzIsIDI3Mzc2LCAyNzM3OSwgCisgICAgMjczODIsIDI3Mzg1LCAyNzM4OCwgMjczOTEsIDI3Mzk0LCAyNzM5NywgMjc0MDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI3NDAzLCAKKyAgICAyNzQxMSwgMjc0MTksIDI3NDI3LCAyNzQzNSwgMjc0NDMsIDI3NDUxLCAyNzQ1OSwgMjc0NjcsIDI3NDc1LCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAyNzQ4MywgMjc0ODYsIDI3NDg5LCAyNzQ5MiwgMjc0OTcsIDI3NTAwLCAyNzUwNSwgMjc1MTIsIDI3NTIwLCAKKyAgICAyNzUyNSwgMjc1MzIsIDI3NTM1LCAyNzU0MiwgMjc1NDksIDI3NTU2LCAwLCAyNzU2MCwgMjc1NjQsIDI3NTY3LCAyNzU3MCwgCisgICAgMjc1NzMsIDI3NTc2LCAyNzU3OSwgMjc1ODIsIDI3NTg1LCAyNzU4OCwgMCwgMCwgMCwgMCwgMCwgMCwgMjc1OTEsIDI3NTk0LCAKKyAgICAyNzU5NywgMjc2MDAsIDI3NjAzLCAyNzYwNiwgMjc2MTAsIDI3NjE0LCAyNzYxOCwgMjc2MjEsIDI3NjI1LCAyNzYyOSwgCisgICAgMjc2MzIsIDI3NjM2LCAyNzY0MCwgMjc2NDMsIDI3NjQ3LCAyNzY1MSwgMjc2NTUsIDI3NjU5LCAyNzY2MywgMjc2NjcsIAorICAgIDI3NjcxLCAyNzY3NCwgMjc2NzgsIDI3NjgyLCAyNzY4NiwgMjc2ODksIDI3NjkzLCAyNzY5NywgMjc3MDEsIDI3NzA1LCAKKyAgICAyNzcwOSwgMjc3MTMsIDI3NzE3LCAyNzcyMSwgMjc3MjgsIDI3NzMzLCAyNzczOCwgMjc3NDMsIDI3NzQ4LCAyNzc1NCwgCisgICAgMjc3NjAsIDI3NzY2LCAyNzc3MiwgMjc3NzcsIDI3NzgzLCAyNzc4OSwgMjc3OTQsIDI3ODAwLCAyNzgwNiwgMjc4MTIsIAorICAgIDI3ODE4LCAyNzgyNCwgMjc4MjksIDI3ODM1LCAyNzg0MCwgMjc4NDYsIDI3ODUyLCAyNzg1OCwgMjc4NjQsIDI3ODcwLCAKKyAgICAyNzg3NSwgMjc4ODAsIDI3ODg2LCAyNzg5MiwgMjc4OTcsIDI3OTAzLCAyNzkwOCwgMjc5MTQsIDI3OTE5LCAyNzkyNCwgCisgICAgMjc5MzAsIDI3OTM2LCAyNzk0MiwgMjc5NDgsIDI3OTU0LCAyNzk2MCwgMjc5NjYsIDI3OTcyLCAyNzk3OCwgMjc5ODQsIAorICAgIDI3OTkwLCAyNzk5NiwgMjgwMDEsIDI4MDA2LCAyODAxMiwgMjgwMTgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI4MDI0LCAKKyAgICAyODAzMywgMjgwNDIsIDI4MDUwLCAyODA1OCwgMjgwNjgsIDI4MDc2LCAyODA4NSwgMjgwOTIsIDI4MDk5LCAyODEwNiwgCisgICAgMjgxMTQsIDI4MTIyLCAyODEzMCwgMjgxMzgsIDI4MTQ2LCAyODE1NCwgMjgxNjIsIDI4MTcwLCAyODE3NywgMjgxODUsIAorICAgIDI4MTkzLCAyODIwMSwgMjgyMDksIDI4MjE3LCAyODIyNywgMjgyMzcsIDI4MjQ3LCAyODI1NywgMjgyNjcsIDI4Mjc3LCAKKyAgICAyODI4NywgMjgyOTcsIDI4MzA3LCAyODMxNywgMjgzMjcsIDI4MzM3LCAyODM0NywgMjgzNTcsIDI4MzY1LCAyODM3MywgCisgICAgMjgzODMsIDI4MzkxLCAwLCAwLCAwLCAwLCAwLCAyODQwMSwgMjg0MDUsIDI4NDA5LCAyODQxMywgMjg0MTcsIDI4NDIxLCAKKyAgICAyODQyNSwgMjg0MjksIDI4NDMzLCAyODQzNywgMjg0NDEsIDI4NDQ1LCAyODQ0OSwgMjg0NTMsIDI4NDU3LCAyODQ2MSwgCisgICAgMjg0NjUsIDI4NDY5LCAyODQ3MywgMjg0NzcsIDI4NDgxLCAyODQ4NSwgMjg0ODksIDI4NDkzLCAyODQ5OSwgMjg1MDMsIAorICAgIDI4NTA5LCAyODUxMywgMjg1MTksIDI4NTIzLCAyODUyOSwgMjg1MzMsIDI4NTM3LCAyODU0MSwgMjg1NDUsIDI4NTQ5LCAKKyAgICAyODU1MywgMjg1NTksIDI4NTY1LCAyODU3MSwgMjg1NzcsIDI4NTgzLCAyODU4OSwgMjg1OTQsIDI4NjAwLCAyODYwNiwgCisgICAgMjg2MTIsIDI4NjE4LCAyODYyNSwgMjg2MzEsIDI4NjM2LCAyODY0MSwgMjg2NDUsIDI4NjQ5LCAyODY1MywgMjg2NTcsIAorICAgIDI4NjYxLCAyODY2NSwgMjg2NjksIDI4Njc1LCAyODY4MSwgMjg2ODcsIDI4NjkyLCAyODY5OSwgMjg3MDQsIDI4NzA5LCAKKyAgICAyODcxNSwgMjg3MjAsIDI4NzI3LCAyODczNCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjg3NDAsIDI4NzQ2LCAKKyAgICAyODc1MCwgMjg3NTUsIDI4NzYwLCAyODc2NSwgMjg3NzAsIDI4Nzc1LCAyODc4MCwgMjg3ODUsIDI4NzkwLCAyODc5NSwgCisgICAgMjg4MDAsIDI4ODA1LCAyODgxMCwgMjg4MTUsIDI4ODE5LCAyODgyMywgMjg4MjgsIDI4ODMzLCAyODgzOCwgMjg4NDIsIAorICAgIDI4ODQ2LCAyODg1MSwgMjg4NTYsIDI4ODYxLCAyODg2NiwgMjg4NzEsIDI4ODc2LCAyODg4MCwgMjg4ODUsIDAsIDI4ODkwLCAKKyAgICAyODg5NSwgMjg5MDAsIDI4OTA1LCAyODkxMSwgMjg5MTcsIDI4OTIzLCAyODkyOSwgMjg5MzQsIDI4OTM5LCAyODk0NSwgCisgICAgMjg5NTIsIDAsIDAsIDAsIDAsIDI4OTU5LCAyODk2NCwgMjg5NzAsIDI4OTc2LCAyODk4MiwgMjg5ODcsIDI4OTkyLCAKKyAgICAyODk5NywgMjkwMDMsIDI5MDA5LCAyOTAxNCwgMjkwMTksIDAsIDAsIDAsIDAsIDI5MDI0LCAwLCAwLCAwLCAyOTAyOSwgCisgICAgMjkwMzQsIDI5MDM5LCAyOTA0NCwgMjkwNDgsIDI5MDUyLCAyOTA1NiwgMjkwNjAsIDI5MDY0LCAyOTA2OCwgMjkwNzIsIAorICAgIDI5MDc2LCAyOTA4MCwgMjkwODUsIDI5MDkxLCAyOTA5NywgMjkxMDMsIDI5MTA5LCAyOTExNCwgMjkxMjAsIDI5MTI2LCAKKyAgICAyOTEzMiwgMjkxMzcsIDI5MTQzLCAyOTE0OCwgMjkxNTQsIDI5MTYwLCAyOTE2NSwgMjkxNzEsIDI5MTc3LCAyOTE4MywgCisgICAgMjkxODgsIDI5MTkzLCAyOTE5OCwgMjkyMDQsIDI5MjEwLCAyOTIxNSwgMjkyMjEsIDI5MjI2LCAyOTIzMiwgMjkyMzcsIAorICAgIDI5MjQzLCAwLCAwLCAyOTI0OSwgMjkyNTUsIDI5MjYxLCAyOTI2NywgMjkyNzMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDI5Mjc5LCAyOTI4NywgMjkyOTUsIDI5MzAyLCAyOTMxMCwgMjkzMTgsIDI5MzI1LCAyOTMzMywgMjkzNDEsIAorICAgIDI5MzQ5LCAyOTM1NywgMjkzNjQsIDI5MzcyLCAyOTM4MCwgMjkzODcsIDI5Mzk1LCAyOTQwMywgMjk0MTAsIDI5NDE4LCAKKyAgICAyOTQyNiwgMjk0MzMsIDI5NDQwLCAyOTQ0OCwgMjk0NTUsIDI5NDYyLCAyOTQ3MCwgMjk0NzcsIDI5NDg1LCAyOTQ5MywgCisgICAgMjk1MDEsIDI5NTA5LCAyOTUxNywgMjk1MjUsIDI5NTMyLCAyOTU0MCwgMjk1NDgsIDI5NTU1LCAyOTU2MywgMjk1NzEsIAorICAgIDI5NTc5LCAyOTU4NywgMjk1OTUsIDI5NjAzLCAyOTYxMSwgMCwgMCwgMCwgMCwgMjk2MTksIDI5NjI4LCAyOTYzNiwgCisgICAgMjk2NDQsIDI5NjUxLCAyOTY1OSwgMjk2NjYsIDI5Njc0LCAyOTY4MSwgMjk2ODksIDI5Njk3LCAyOTcwNSwgMjk3MTMsIAorICAgIDI5NzIxLCAyOTcyOSwgMjk3MzcsIDI5NzQ1LCAyOTc1MywgMjk3NjEsIDI5NzY5LCAyOTc3NywgMjk3ODUsIDI5NzkzLCAKKyAgICAyOTgwMSwgMjk4MDksIDI5ODE2LCAwLCAwLCAwLCAwLCAwLCAwLCAyOTgyMywgMjk4MzAsIDI5ODM2LCAyOTg0MiwgMjk4NDgsIAorICAgIDI5ODU0LCAyOTg2MCwgMjk4NjYsIDI5ODcyLCAyOTg3OCwgMjk4ODQsIDAsIDAsIDAsIDI5ODkxLCAyOTg5OCwgMjk5MDUsIAorICAgIDI5OTA5LCAyOTkxNSwgMjk5MjEsIDI5OTI3LCAyOTkzMywgMjk5MzksIDI5OTQ1LCAyOTk1MSwgMjk5NTcsIDI5OTYzLCAKKyAgICAyOTk2OSwgMjk5NzUsIDI5OTgxLCAyOTk4NywgMjk5OTMsIDI5OTk5LCAzMDAwMywgMzAwMDksIDMwMDE1LCAzMDAyMSwgCisgICAgMzAwMjcsIDMwMDMzLCAzMDAzOSwgMzAwNDUsIDMwMDUxLCAzMDA1NywgMzAwNjMsIDMwMDY5LCAzMDA3NSwgMzAwODEsIAorICAgIDMwMDg3LCAzMDA5MywgMzAwOTcsIDMwMTAyLCAzMDEwNywgMzAxMTIsIDMwMTE2LCAzMDEyMSwgMzAxMjUsIDMwMTMwLCAKKyAgICAzMDEzNSwgMzAxNDAsIDMwMTQ0LCAzMDE0OSwgMzAxNTQsIDMwMTU5LCAzMDE2NCwgMzAxNjksIDMwMTczLCAzMDE3OCwgCisgICAgMzAxODMsIDMwMTg4LCAzMDE5MywgMzAxOTcsIDMwMjAxLCAzMDIwNiwgMzAyMTEsIDMwMjE2LCAzMDIyMSwgMCwgMCwgCisgICAgMzAyMjcsIDMwMjMxLCAzMDIzOCwgMzAyNDMsIDMwMjQ5LCAzMDI1NSwgMzAyNjAsIDMwMjY2LCAzMDI3MiwgMzAyNzcsIAorICAgIDMwMjgzLCAzMDI4OSwgMzAyOTUsIDMwMzAxLCAzMDMwNywgMzAzMTIsIDMwMzE3LCAzMDMyMywgMzAzMjgsIDMwMzM0LCAKKyAgICAzMDMzOSwgMzAzNDUsIDMwMzUxLCAzMDM1NywgMzAzNjMsIDMwMzY3LCAzMDM3MiwgMzAzNzcsIDMwMzgzLCAzMDM4OSwgCisgICAgMzAzOTQsIDMwNDAwLCAzMDQwNiwgMzA0MTAsIDMwNDE1LCAzMDQyMCwgMzA0MjUsIDMwNDMwLCAzMDQzNSwgMzA0NDAsIAorICAgIDMwNDQ1LCAzMDQ1MSwgMzA0NTcsIDMwNDYzLCAzMDQ2OCwgMzA0NzMsIDMwNDc3LCAzMDQ4MiwgMzA0ODYsIDMwNDkxLCAKKyAgICAzMDQ5NSwgMzA1MDAsIDMwNTA1LCAzMDUxMCwgMzA1MTUsIDMwNTIyLCAzMDUyOSwgMzA1MzYsIDMwNTQ2LCAzMDU1NSwgCisgICAgMzA1NjIsIDMwNTY4LCAzMDU3OSwgMzA1ODQsIDMwNTkwLCAwLCAzMDU5NiwgMzA2MDEsIDMwNjA2LCAzMDYxNCwgMzA2MjAsIAorICAgIDMwNjI4LCAzMDYzMywgMzA2MzksIDMwNjQ1LCAzMDY1MSwgMzA2NTYsIDMwNjYyLCAzMDY2NywgMzA2NzQsIDMwNjgwLCAKKyAgICAzMDY4NSwgMzA2OTEsIDMwNjk3LCAzMDcwMywgMzA3MTAsIDMwNzE3LCAzMDcyNCwgMzA3MjksIDMwNzM0LCAzMDc0MSwgCisgICAgMzA3NDgsIDMwNzU1LCAzMDc2MiwgMzA3NjksIDAsIDAsIDMwNzc2LCAzMDc4MywgMzA3OTAsIDMwNzk2LCAzMDgwMiwgCisgICAgMzA4MDgsIDMwODE0LCAzMDgyMCwgMzA4MjYsIDMwODMyLCAzMDgzOCwgMCwgMCwgMCwgMCwgMCwgMCwgMzA4NDQsIDMwODUwLCAKKyAgICAzMDg1NSwgMzA4NjAsIDMwODY1LCAzMDg3MCwgMzA4NzUsIDMwODgwLCAzMDg4NSwgMzA4OTAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDMwODk1LCAzMDkwMCwgMzA5MDUsIDMwOTEwLCAzMDkxNSwgMzA5MjAsIDMwOTI1LCAzMDkzNCwgMzA5NDEsIDMwOTQ2LCAKKyAgICAzMDk1MSwgMzA5NTYsIDMwOTYxLCAzMDk2NiwgMCwgMCwgMzA5NzEsIDMwOTc4LCAzMDk4MSwgMzA5ODQsIDMwOTg3LCAKKyAgICAzMDk5MiwgMzA5OTYsIDMxMDAyLCAzMTAwNywgMzEwMTMsIDMxMDIwLCAzMTAyOCwgMzEwMzIsIDMxMDM3LCAzMTA0MSwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzEwNDYsIDMxMDUyLCAzMTA1OCwgCisgICAgMzEwNjIsIDMxMDY2LCAzMTA3MCwgMzEwNzQsIDMxMDgwLCAzMTA4NCwgMzEwOTAsIDMxMDk0LCAzMTEwMCwgMzExMDYsIAorICAgIDMxMTE0LCAzMTEyMCwgMzExMjgsIDMxMTMyLCAzMTEzNiwgMzExNDAsIDMxMTQ2LCAzMTE0OSwgMzExNTUsIDMxMTU5LCAKKyAgICAzMTE2NSwgMzExNjksIDMxMTczLCAzMTE3OSwgMzExODMsIDMxMTg5LCAzMTE5MywgMzExOTksIDMxMjA3LCAzMTIxNSwgCisgICAgMzEyMjMsIDMxMjI5LCAzMTIzMywgMzEyMzksIDMxMjQzLCAzMTI0OSwgMzEyNTIsIDMxMjU1LCAzMTI2MSwgMzEyNjUsIAorICAgIDMxMjcxLCAzMTI3NCwgMzEyNzcsIDMxMjgxLCAzMTI4NSwgMzEyODksIDMxMjk1LCAzMTMwMSwgMzEzMDUsIDMxMzA4LCAKKyAgICAzMTMxMiwgMzEzMTcsIDMxMzIyLCAzMTMyOSwgMzEzMzQsIDMxMzQxLCAzMTM0OCwgMzEzNTcsIDMxMzY0LCAzMTM3MywgCisgICAgMzEzNzgsIDMxMzg1LCAzMTM5MiwgMzE0MDEsIDMxNDA2LCAzMTQxMywgMzE0MTgsIDMxNDI0LCAzMTQzMCwgMzE0MzYsIAorICAgIDMxNDQyLCAzMTQ0OCwgMzE0NTQsIDAsIDAsIDAsIDAsIDMxNDYwLCAzMTQ2NCwgMzE0NjcsIDMxNDcwLCAzMTQ3MywgCisgICAgMzE0NzYsIDMxNDc5LCAzMTQ4MiwgMzE0ODUsIDMxNDg4LCAzMTQ5MSwgMzE0OTQsIDMxNDk3LCAzMTUwMCwgMzE1MDUsIAorICAgIDMxNTEwLCAzMTUxNSwgMzE1MTgsIDMxNTIzLCAzMTUyOCwgMzE1MzMsIDMxNTM4LCAzMTU0NSwgMzE1NTAsIDMxNTU1LCAKKyAgICAzMTU2MCwgMzE1NjUsIDMxNTcyLCAzMTU3OCwgMzE1ODQsIDMxNTkwLCAzMTU5NiwgMzE2MDIsIDMxNjExLCAzMTYyMCwgCisgICAgMzE2MjYsIDMxNjMyLCAzMTY0MSwgMzE2NTAsIDMxNjU5LCAzMTY2OCwgMzE2NzcsIDMxNjg2LCAzMTY5NSwgMzE3MDQsIDAsIAorICAgIDAsIDAsIDMxNzEzLCAzMTcxOCwgMzE3MjMsIDMxNzI4LCAzMTczMiwgMzE3MzYsIDMxNzQwLCAzMTc0NSwgMzE3NDksIAorICAgIDMxNzUzLCAzMTc1OCwgMzE3NjIsIDMxNzY3LCAzMTc3MiwgMzE3NzcsIDMxNzgyLCAzMTc4NywgMzE3OTIsIDMxNzk3LCAKKyAgICAzMTgwMiwgMzE4MDcsIDMxODExLCAzMTgxNSwgMzE4MjAsIDMxODI1LCAzMTgzMCwgMzE4MzQsIDMxODM4LCAzMTg0MywgCisgICAgMzE4NDgsIDMxODUzLCAzMTg1OCwgMzE4NjMsIDMxODY3LCAzMTg3MywgMzE4NzksIDMxODg1LCAzMTg5MSwgMzE4OTcsIAorICAgIDMxOTAzLCAzMTkwOSwgMzE5MTUsIDMxOTIxLCAzMTkyNiwgMzE5MzEsIDMxOTM4LCAzMTk0NiwgMzE5NTEsIDMxOTU2LCAKKyAgICAzMTk2MSwgMzE5NjUsIDMxOTY5LCAzMTk3MywgMzE5NzcsIDMxOTgxLCAzMTk4NSwgMzE5ODksIDMxOTkzLCAzMTk5NywgCisgICAgMzIwMDEsIDMyMDA2LCAzMjAxMSwgMzIwMTYsIDMyMDIyLCAzMjAyOCwgMzIwMzIsIDMyMDM4LCAzMjA0MiwgMzIwNDgsIAorICAgIDMyMDU0LCAzMjA1OSwgMzIwNjYsIDMyMDcwLCAzMjA3NiwgMzIwODAsIDMyMDg2LCAzMjA5MSwgMzIwOTgsIDMyMTA1LCAKKyAgICAzMjExMCwgMzIxMTcsIDMyMTIyLCAzMjEyNywgMzIxMzIsIDMyMTM5LCAzMjE0MywgMzIxNDksIDMyMTU2LCAzMjE2MywgCisgICAgMzIxNjgsIDMyMTc1LCAzMjE4MiwgMzIxODYsIDMyMTkyLCAzMjE5NywgMzIyMDIsIDMyMjA5LCAzMjIxNCwgMzIyMTksIAorICAgIDMyMjI0LCAzMjIyOSwgMzIyMzMsIDMyMjM3LCAzMjI0MiwgMzIyNDcsIDMyMjU0LCAzMjI2MCwgMzIyNjUsIDMyMjcyLCAKKyAgICAzMjI3NywgMzIyODQsIDMyMjg5LCAzMjI5OSwgMzIzMDUsIDMyMzExLCAzMjMxNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMzIzMTksIDMyMzI4LCAzMjMzNSwgMzIzNDIsIDMyMzQ5LCAzMjM1MywgMzIzNTgsIDMyMzYzLCAzMjM2OCwgMzIzNzMsIAorICAgIDMyMzc4LCAzMjM4MywgMzIzODgsIDMyMzkzLCAzMjM5OCwgMzI0MDMsIDMyNDA4LCAzMjQxMywgMzI0MTcsIDMyNDIxLCAKKyAgICAzMjQyNiwgMzI0MzEsIDMyNDM2LCAzMjQ0MSwgMzI0NDYsIDMyNDUxLCAzMjQ1NSwgMzI0NjAsIDMyNDY1LCAzMjQ3MCwgCisgICAgMzI0NzUsIDMyNDc5LCAzMjQ4NCwgMzI0ODksIDMyNDkzLCAzMjQ5OCwgMzI1MDMsIDMyNTA4LCAzMjUxMywgMzI1MTgsIAorICAgIDMyNTIyLCAzMjUyOCwgMzI1MzUsIDMyNTQxLCAzMjU0NiwgMzI1NTEsIDMyNTU3LCAzMjU2MiwgMzI1NjgsIDMyNTczLCAKKyAgICAzMjU3OSwgMzI1ODUsIDMyNTkwLCAzMjU5NiwgMzI2MDIsIDMyNjA3LCAzMjYxMywgMzI2MTksIDMyNjI1LCAzMjYzMCwgMCwgCisgICAgMCwgMCwgMzI2MzUsIDMyNjQxLCAzMjY1MSwgMzI2NTcsIDMyNjY1LCAzMjY3MSwgMzI2NzYsIDMyNjgwLCAzMjY4NCwgCisgICAgMzI2ODgsIDMyNjkyLCAzMjY5NiwgMzI3MDAsIDMyNzA0LCAzMjcwOCwgMCwgMCwgMCwgMzI3MTIsIDMyNzE3LCAzMjcyMiwgCisgICAgMzI3MjcsIDMyNzM0LCAzMjc0MCwgMzI3NDYsIDMyNzUyLCAzMjc1OCwgMzI3NjQsIDMyNzcwLCAzMjc3NiwgMzI3ODIsIAorICAgIDMyNzg4LCAzMjc5NSwgMzI4MDIsIDMyODA5LCAzMjgxNiwgMzI4MjMsIDMyODMwLCAzMjgzNywgMzI4NDQsIDMyODUxLCAKKyAgICAzMjg1OCwgMzI4NjUsIDMyODcyLCAzMjg3OSwgMzI4ODYsIDMyODkzLCAzMjkwMCwgMzI5MDcsIDMyOTE0LCAzMjkyMSwgCisgICAgMzI5MjgsIDMyOTM1LCAzMjk0MiwgMzI5NDksIDMyOTU2LCAzMjk2MywgMzI5NzAsIDMyOTc3LCAzMjk4NCwgMzI5OTEsIAorICAgIDMyOTk4LCAzMzAwNiwgMzMwMTQsIDMzMDIyLCAzMzAyOCwgMzMwMzQsIDMzMDQwLCAzMzA0OCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzMwNTcsIDMzMDY1LCAzMzA3MywgMzMwODEsIDMzMDg5LCAzMzA5OSwgCisgICAgMzMxMDksIDMzMTE5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzMzEyOSwgMzMxMzQsIDMzMTM5LCAzMzE0NCwgMzMxNDksIAorICAgIDMzMTU4LCAzMzE2OSwgMzMxNzgsIDMzMTg5LCAzMzE5NSwgMzMyMDgsIDMzMjE0LCAzMzIyMSwgMzMyMjgsIDMzMjMzLCAKKyAgICAzMzIzOSwgMzMyNDUsIDMzMjU2LCAzMzI2NSwgMzMyNzIsIDMzMjc5LCAzMzI4OCwgMzMyOTUsIDMzMzA0LCAzMzMxNCwgCisgICAgMzMzMjQsIDMzMzMxLCAzMzMzOCwgMzMzNDUsIDMzMzU1LCAzMzM2MCwgMzMzNjgsIDMzMzc0LCAzMzM4MiwgMzMzOTEsIAorICAgIDMzMzk2LCAzMzQwMywgMzM0MDksIDMzNDE0LCAwLCAzMzQxOSwgMzM0MjUsIDAsIDAsIDAsIDAsIDAsIDAsIDMzNDMyLCAKKyAgICAzMzQzNywgMzM0NDMsIDMzNDQ5LCAzMzQ1NywgMzM0NjMsIDMzNDY5LCAzMzQ3NSwgMzM0ODAsIDMzNDg3LCAzMzQ5MiwgCisgICAgMzM0OTgsIDMzNTA0LCAzMzUxMiwgMzM1MTgsIDMzNTI2LCAzMzUzMSwgMzM1MzgsIDMzNTQ0LCAzMzU1MiwgMzM1NjAsIAorICAgIDMzNTY2LCAzMzU3MiwgMzM1NzksIDMzNTg2LCAzMzU5MiwgMzM1OTksIDMzNjA1LCAzMzYxMSwgMzM2MTYsIDMzNjIyLCAKKyAgICAzMzYzMCwgMzM2MzgsIDMzNjQ0LCAzMzY1MCwgMzM2NTYsIDMzNjYyLCAzMzY3MCwgMzM2NzQsIDMzNjgwLCAzMzY4NiwgCisgICAgMzM2OTIsIDMzNjk4LCAzMzcwNCwgMzM3MTAsIDMzNzE0LCAzMzcxOSwgMzM3MjQsIDMzNzMxLCAzMzczNiwgMzM3NDAsIAorICAgIDMzNzQ2LCAzMzc1MSwgMzM3NTYsIDMzNzYwLCAzMzc2NSwgMzM3NzAsIDMzNzc0LCAzMzc3OSwgMzM3ODQsIDMzNzkxLCAKKyAgICAzMzc5NSwgMzM4MDAsIDMzODA1LCAzMzgwOSwgMzM4MTQsIDMzODE4LCAzMzgyMywgMzM4MjcsIDMzODMyLCAzMzgzNywgCisgICAgMzM4NDMsIDMzODQ4LCAzMzg1MywgMzM4NTcsIDMzODYyLCAzMzg2OCwgMzM4NzUsIDMzODgwLCAzMzg4NSwgMzM4OTAsIAorICAgIDMzODk1LCAzMzkwMCwgMzM5MDQsIDMzOTEwLCAzMzkxNywgMzM5MjQsIDMzOTI5LCAzMzkzNCwgMzM5MzgsIDMzOTQ0LCAKKyAgICAzMzk1MCwgMzM5NTUsIDMzOTYwLCAzMzk2NSwgMzM5NzEsIDMzOTc2LCAzMzk4MiwgMzM5ODcsIDMzOTkzLCAzMzk5OSwgCisgICAgMzQwMDUsIDM0MDEyLCAzNDAxOSwgMzQwMjYsIDM0MDMzLCAzNDA0MCwgMzQwNDcsIDM0MDUyLCAzNDA2MSwgMzQwNzEsIAorICAgIDM0MDgxLCAzNDA5MSwgMzQxMDEsIDM0MTExLCAzNDEyMSwgMzQxMzQsIDM0MTQ0LCAzNDE1NCwgMzQxNjQsIDM0MTcwLCAKKyAgICAzNDE3NSwgMzQxODIsIDM0MTkwLCAzNDE5OCwgMzQyMDUsIDM0MjEyLCAzNDIxOSwgMzQyMjYsIDM0MjM0LCAzNDI0MywgCisgICAgMzQyNTIsIDM0MjYxLCAzNDI3MCwgMzQyNzksIDM0Mjg4LCAzNDI5NywgMzQzMDYsIDM0MzE1LCAzNDMyNCwgMzQzMzMsIAorICAgIDM0MzQyLCAzNDM1MSwgMzQzNjAsIDM0MzY4LCAzNDM3NywgMzQzODgsIDM0Mzk2LCAzNDQwNiwgMzQ0MTgsIDM0NDI3LCAKKyAgICAzNDQzNiwgMzQ0NDYsIDM0NDU1LCAzNDQ2MywgMzQ0NzIsIDM0NDc4LCAzNDQ4MywgMzQ0OTEsIDM0NDk2LCAzNDUwNCwgCisgICAgMzQ1MDksIDM0NTE4LCAzNDUyNCwgMzQ1MzAsIDM0NTM3LCAzNDU0MiwgMzQ1NDcsIDM0NTU1LCAzNDU2MywgMzQ1NzIsIAorICAgIDM0NTgxLCAzNDU4NiwgMzQ1OTMsIDM0NjAzLCAzNDYxMSwgMzQ2MjAsIDM0NjI2LCAzNDYzMiwgMzQ2MzcsIDM0NjQ0LCAKKyAgICAzNDY0OSwgMzQ2NTgsIDM0NjYzLCAzNDY2OCwgMzQ2NzMsIDM0NjgwLCAzNDY4NiwgMzQ2OTEsIDM0NzAwLCAzNDcwOCwgCisgICAgMzQ3MTMsIDM0NzE4LCAzNDcyNSwgMzQ3MzIsIDM0NzM2LCAzNDc0MCwgMzQ3NDMsIDM0NzQ2LCAzNDc0OSwgMzQ3NTIsIAorICAgIDM0NzU1LCAzNDc1OCwgMzQ3NjUsIDM0NzY4LCAzNDc3MSwgMzQ3NzYsIDM0NzgwLCAzNDc4NCwgMzQ3ODgsIDM0NzkyLCAKKyAgICAzNDc5NiwgMzQ4MDYsIDM0ODEyLCAzNDgxOCwgMzQ4MjQsIDM0ODMyLCAzNDg0MCwgMzQ4NDYsIDM0ODUyLCAzNDg1OSwgCisgICAgMzQ4NjUsIDM0ODcwLCAzNDg3NiwgMzQ4ODMsIDM0ODg5LCAzNDg5NiwgMzQ5MDIsIDM0OTEwLCAzNDkxNSwgMzQ5MjEsIAorICAgIDM0OTI3LCAzNDkzMywgMzQ5MzksIDM0OTQ1LCAzNDk1MSwgMzQ5NTcsIDM0OTY5LCAzNDk3OSwgMzQ5ODUsIDM0OTkxLCAKKyAgICAzNTAwMSwgMzUwMDcsIDM1MDE1LCAzNTAyMywgMzUwMzEsIDAsIDAsIDAsIDAsIDAsIDAsIDM1MDM2LCAzNTA0MywgMzUwNTAsIAorICAgIDM1MDU1LCAzNTA2NCwgMzUwNzIsIDM1MDgwLCAzNTA4NywgMzUwOTQsIDM1MTAxLCAzNTEwOCwgMzUxMTYsIDM1MTI0LCAKKyAgICAzNTEzNCwgMzUxNDQsIDM1MTUyLCAzNTE2MCwgMzUxNjgsIDM1MTc2LCAzNTE4NSwgMzUxOTQsIDM1MjAyLCAzNTIxMCwgCisgICAgMzUyMTksIDM1MjI4LCAzNTIzOCwgMzUyNDgsIDM1MjU3LCAzNTI2NiwgMzUyNzQsIDM1MjgyLCAzNTI5MCwgMzUyOTgsIAorICAgIDM1MzA4LCAzNTMxOCwgMzUzMjYsIDM1MzM0LCAzNTM0MiwgMzUzNTAsIDM1MzU4LCAzNTM2NiwgMzUzNzQsIDM1MzgyLCAKKyAgICAzNTM5MCwgMzUzOTgsIDM1NDA2LCAzNTQxNCwgMzU0MjMsIDM1NDMyLCAzNTQ0MSwgMzU0NTAsIDM1NDYwLCAzNTQ3MCwgCisgICAgMzU0NzcsIDM1NDg0LCAzNTQ5MiwgMzU1MDAsIDM1NTA5LCAzNTUxOCwgMzU1MjYsIDM1NTM0LCAzNTU0NiwgMzU1NTgsIAorICAgIDM1NTY3LCAzNTU3NiwgMzU1ODUsIDM1NTk0LCAzNTYwMSwgMzU2MDgsIDM1NjE2LCAzNTYyNCwgMzU2MzIsIDM1NjQwLCAKKyAgICAzNTY0OCwgMzU2NTYsIDM1NjY0LCAzNTY3MiwgMzU2ODEsIDM1NjkwLCAzNTY5OSwgMzU3MDgsIDM1NzE3LCAzNTcyNiwgCisgICAgMzU3MzYsIDM1NzQ2LCAzNTc1NiwgMzU3NjYsIDM1Nzc1LCAzNTc4NCwgMzU3OTEsIDM1Nzk4LCAzNTgwNiwgMzU4MTQsIAorICAgIDM1ODIyLCAzNTgzMCwgMzU4MzgsIDM1ODQ2LCAzNTg1OCwgMzU4NzAsIDM1ODc5LCAzNTg4OCwgMzU4OTYsIDM1OTA0LCAKKyAgICAzNTkxMiwgMzU5MjAsIDM1OTMxLCAzNTk0MiwgMzU5NTMsIDM1OTY0LCAzNTk3NiwgMzU5ODgsIDM1OTk2LCAzNjAwNCwgCisgICAgMzYwMTIsIDM2MDIwLCAzNjAyOSwgMzYwMzgsIDM2MDQ3LCAzNjA1NiwgMzYwNjQsIDM2MDcyLCAzNjA4MCwgMzYwODgsIAorICAgIDM2MDk2LCAzNjEwNCwgMzYxMTMsIDM2MTIyLCAzNjEzMiwgMzYxNDIsIDM2MTUwLCAzNjE1OCwgMzYxNjYsIDM2MTc0LCAKKyAgICAzNjE4MiwgMzYxOTAsIDM2MTk3LCAzNjIwNCwgMzYyMTIsIDM2MjIwLCAzNjIyOCwgMzYyMzYsIDM2MjQ0LCAzNjI1MiwgCisgICAgMzYyNjAsIDM2MjY4LCAzNjI3NiwgMzYyODQsIDM2MjkyLCAzNjMwMCwgMzYzMDgsIDM2MzE2LCAzNjMyNCwgMzYzMzIsIAorICAgIDM2MzQxLCAzNjM1MCwgMzYzNTksIDM2MzY3LCAzNjM3NiwgMzYzODUsIDM2Mzk0LCAzNjQwMywgMzY0MTMsIDM2NDIyLCAKKyAgICAzNjQyOCwgMzY0MzMsIDM2NDQwLCAzNjQ0NywgMzY0NTUsIDM2NDYzLCAzNjQ3MiwgMzY0ODEsIDM2NDkxLCAzNjUwMSwgCisgICAgMzY1MTIsIDM2NTIzLCAzNjUzMywgMzY1NDMsIDM2NTUzLCAzNjU2MywgMzY1NzIsIDM2NTgxLCAzNjU5MSwgMzY2MDEsIAorICAgIDM2NjEyLCAzNjYyMywgMzY2MzMsIDM2NjQzLCAzNjY1MywgMzY2NjMsIDM2NjcwLCAzNjY3NywgMzY2ODUsIDM2NjkzLCAKKyAgICAzNjcwMCwgMzY3MDcsIDM2NzE2LCAzNjcyNSwgMzY3MzUsIDM2NzQ1LCAzNjc1NiwgMzY3NjcsIDM2Nzc3LCAzNjc4NywgCisgICAgMzY3OTcsIDM2ODA3LCAzNjgxNiwgMzY4MjUsIDM2ODMzLCAzNjg0MSwgMzY4NDgsIDM2ODU1LCAzNjg2MywgMzY4NzEsIAorICAgIDM2ODgwLCAzNjg4OSwgMzY4OTksIDM2OTA5LCAzNjkyMCwgMzY5MzEsIDM2OTQxLCAzNjk1MSwgMzY5NjEsIDM2OTcxLCAKKyAgICAzNjk4MCwgMzY5ODksIDM2OTk5LCAzNzAwOSwgMzcwMjAsIDM3MDMxLCAzNzA0MSwgMzcwNTEsIDM3MDYxLCAzNzA3MSwgCisgICAgMzcwNzgsIDM3MDg1LCAzNzA5MywgMzcxMDEsIDM3MTEwLCAzNzExOSwgMzcxMjksIDM3MTM5LCAzNzE1MCwgMzcxNjEsIAorICAgIDM3MTcxLCAzNzE4MSwgMzcxOTEsIDM3MjAxLCAzNzIwOSwgMzcyMTcsIDM3MjI1LCAzNzIzMywgMzcyNDIsIDM3MjUxLCAKKyAgICAzNzI1OSwgMzcyNjcsIDM3Mjc0LCAzNzI4MSwgMzcyODgsIDM3Mjk1LCAzNzMwMywgMzczMTEsIDM3MzE5LCAzNzMyNywgCisgICAgMzczMzgsIDM3MzQ5LCAzNzM2MCwgMzczNzEsIDM3MzgyLCAzNzM5MywgMzc0MDEsIDM3NDA5LCAzNzQyMCwgMzc0MzEsIAorICAgIDM3NDQyLCAzNzQ1MywgMzc0NjQsIDM3NDc1LCAzNzQ4MywgMzc0OTEsIDM3NTAyLCAzNzUxMywgMzc1MjQsIDAsIDAsIAorICAgIDM3NTM1LCAzNzU0MywgMzc1NTEsIDM3NTYyLCAzNzU3MywgMzc1ODQsIDAsIDAsIDM3NTk1LCAzNzYwMywgMzc2MTEsIAorICAgIDM3NjIyLCAzNzYzMywgMzc2NDQsIDM3NjU1LCAzNzY2NiwgMzc2NzcsIDM3Njg1LCAzNzY5MywgMzc3MDQsIDM3NzE1LCAKKyAgICAzNzcyNiwgMzc3MzcsIDM3NzQ4LCAzNzc1OSwgMzc3NjcsIDM3Nzc1LCAzNzc4NiwgMzc3OTcsIDM3ODA4LCAzNzgxOSwgCisgICAgMzc4MzAsIDM3ODQxLCAzNzg0OSwgMzc4NTcsIDM3ODY4LCAzNzg3OSwgMzc4OTAsIDM3OTAxLCAzNzkxMiwgMzc5MjMsIAorICAgIDM3OTMxLCAzNzkzOSwgMzc5NTAsIDM3OTYxLCAzNzk3MiwgMCwgMCwgMzc5ODMsIDM3OTkxLCAzNzk5OSwgMzgwMTAsIAorICAgIDM4MDIxLCAzODAzMiwgMCwgMCwgMzgwNDMsIDM4MDUxLCAzODA1OSwgMzgwNzAsIDM4MDgxLCAzODA5MiwgMzgxMDMsIAorICAgIDM4MTE0LCAwLCAzODEyNSwgMCwgMzgxMzMsIDAsIDM4MTQ0LCAwLCAzODE1NSwgMzgxNjYsIDM4MTc0LCAzODE4MiwgCisgICAgMzgxOTMsIDM4MjA0LCAzODIxNSwgMzgyMjYsIDM4MjM3LCAzODI0OCwgMzgyNTYsIDM4MjY0LCAzODI3NSwgMzgyODYsIAorICAgIDM4Mjk3LCAzODMwOCwgMzgzMTksIDM4MzMwLCAzODMzOCwgMzgzNDYsIDM4MzU0LCAzODM2MiwgMzgzNzAsIDM4Mzc4LCAKKyAgICAzODM4NiwgMzgzOTQsIDM4NDAyLCAzODQxMCwgMzg0MTgsIDM4NDI2LCAzODQzNCwgMCwgMCwgMzg0NDIsIDM4NDUzLCAKKyAgICAzODQ2NCwgMzg0NzgsIDM4NDkyLCAzODUwNiwgMzg1MjAsIDM4NTM0LCAzODU0OCwgMzg1NTksIDM4NTcwLCAzODU4NCwgCisgICAgMzg1OTgsIDM4NjEyLCAzODYyNiwgMzg2NDAsIDM4NjU0LCAzODY2NSwgMzg2NzYsIDM4NjkwLCAzODcwNCwgMzg3MTgsIAorICAgIDM4NzMyLCAzODc0NiwgMzg3NjAsIDM4NzcxLCAzODc4MiwgMzg3OTYsIDM4ODEwLCAzODgyNCwgMzg4MzgsIDM4ODUyLCAKKyAgICAzODg2NiwgMzg4NzcsIDM4ODg4LCAzODkwMiwgMzg5MTYsIDM4OTMwLCAzODk0NCwgMzg5NTgsIDM4OTcyLCAzODk4MywgCisgICAgMzg5OTQsIDM5MDA4LCAzOTAyMiwgMzkwMzYsIDM5MDUwLCAzOTA2NCwgMzkwNzgsIDM5MDg2LCAzOTA5NCwgMzkxMDUsIAorICAgIDM5MTEzLCAwLCAzOTEyNCwgMzkxMzIsIDM5MTQzLCAzOTE1MSwgMzkxNTksIDM5MTY3LCAzOTE3NSwgMzkxODMsIDM5MTg2LCAKKyAgICAzOTE4OSwgMzkxOTIsIDM5MTk1LCAzOTIwMSwgMzkyMTIsIDM5MjIwLCAwLCAzOTIzMSwgMzkyMzksIDM5MjUwLCAzOTI1OCwgCisgICAgMzkyNjYsIDM5Mjc0LCAzOTI4MiwgMzkyOTAsIDM5Mjk2LCAzOTMwMiwgMzkzMDgsIDM5MzE2LCAzOTMyNCwgMzkzMzUsIDAsIAorICAgIDAsIDM5MzQ2LCAzOTM1NCwgMzkzNjUsIDM5MzczLCAzOTM4MSwgMzkzODksIDAsIDM5Mzk3LCAzOTQwMywgMzk0MDksIAorICAgIDM5NDE1LCAzOTQyMywgMzk0MzEsIDM5NDQyLCAzOTQ1MywgMzk0NjEsIDM5NDY5LCAzOTQ3NywgMzk0ODgsIDM5NDk2LCAKKyAgICAzOTUwNCwgMzk1MTIsIDM5NTIwLCAzOTUyOCwgMzk1MzQsIDM5NTQwLCAwLCAwLCAzOTU0MywgMzk1NTQsIDM5NTYyLCAwLCAKKyAgICAzOTU3MywgMzk1ODEsIDM5NTkyLCAzOTYwMCwgMzk2MDgsIDM5NjE2LCAzOTYyNCwgMzk2MzIsIDM5NjM1LCAwLCAzOTYzOCwgCisgICAgMzk2NDIsIDM5NjQ2LCAzOTY1MCwgMzk2NTQsIDM5NjU4LCAzOTY2MiwgMzk2NjYsIDM5NjcwLCAzOTY3NCwgMzk2NzgsIAorICAgIDM5NjgyLCAzOTY4OCwgMzk2OTQsIDM5NzAwLCAzOTcwMywgMzk3MDYsIDM5NzA4LCAzOTcxMiwgMzk3MTYsIDM5NzIwLCAKKyAgICAzOTcyNCwgMzk3MjYsIDM5NzMwLCAzOTczNCwgMzk3NDAsIDM5NzQ2LCAzOTc1MywgMzk3NjAsIDM5NzY1LCAzOTc3MCwgCisgICAgMzk3NzYsIDM5NzgyLCAzOTc4NCwgMzk3ODcsIDM5Nzg5LCAzOTc5MywgMzk3OTcsIDM5ODAxLCAzOTgwNCwgMzk4MDgsIAorICAgIDM5ODEyLCAzOTgxNiwgMzk4MjAsIDM5ODI0LCAzOTgzMCwgMzk4MzQsIDM5ODM4LCAzOTg0NCwgMzk4NDksIDM5ODU2LCAKKyAgICAzOTg1OCwgMzk4NjEsIDM5ODY1LCAzOTg2OSwgMzk4NzQsIDM5ODgwLCAzOTg4MiwgMzk4OTEsIDM5OTAwLCAzOTkwMywgCisgICAgMzk5MDcsIDM5OTA5LCAzOTkxMSwgMzk5MTMsIDM5OTE2LCAzOTkyMiwgMzk5MjQsIDM5OTI4LCAzOTkzMiwgMzk5MzksIAorICAgIDM5OTQ2LCAzOTk1MCwgMzk5NTUsIDM5OTYwLCAzOTk2NSwgMzk5NzAsIDM5OTc0LCAzOTk3OCwgMzk5ODEsIDM5OTg1LCAKKyAgICAzOTk4OSwgMzk5OTYsIDQwMDAxLCA0MDAwNSwgNDAwMDksIDQwMDE0LCA0MDAxOCwgNDAwMjIsIDQwMDI3LCA0MDAzMiwgCisgICAgNDAwMzYsIDQwMDQwLCA0MDA0NCwgNDAwNDYsIDQwMDUxLCA0MDA1NiwgNDAwNjAsIDQwMDY0LCA0MDA2OCwgNDAwNzIsIDAsIAorICAgIDQwMDc2LCA0MDA4MCwgNDAwODQsIDQwMDkwLCA0MDA5NiwgNDAxMDIsIDQwMTA4LCA0MDExNSwgNDAxMjIsIDQwMTI3LCAKKyAgICA0MDEzMiwgNDAxMzYsIDAsIDAsIDQwMTQyLCA0MDE0NSwgNDAxNDgsIDQwMTUxLCA0MDE1NCwgNDAxNTcsIDQwMTYwLCAKKyAgICA0MDE2NCwgNDAxNjgsIDQwMTczLCA0MDE3OCwgNDAxODMsIDQwMTkwLCA0MDE5NCwgNDAxOTcsIDQwMjAwLCA0MDIwMywgCisgICAgNDAyMDYsIDQwMjA5LCA0MDIxMiwgNDAyMTUsIDQwMjE4LCA0MDIyMSwgNDAyMjUsIDQwMjI5LCA0MDIzNCwgNDAyMzksIDAsIAorICAgIDQwMjQ0LCA0MDI1MCwgNDAyNTYsIDQwMjYyLCA0MDI2OSwgNDAyNzYsIDQwMjgzLCA0MDI5MCwgNDAyOTYsIDQwMzAzLCAKKyAgICA0MDMxMCwgNDAzMTcsIDQwMzIzLCAwLCAwLCAwLCA0MDMzMCwgNDAzMzMsIDQwMzM2LCA0MDMzOSwgNDAzNDQsIDQwMzQ3LCAKKyAgICA0MDM1MCwgNDAzNTMsIDQwMzU2LCA0MDM1OSwgNDAzNjIsIDQwMzY2LCA0MDM2OSwgNDAzNzIsIDQwMzc1LCA0MDM3OCwgCisgICAgNDAzODEsIDQwMzg2LCA0MDM4OSwgNDAzOTIsIDQwMzk1LCA0MDM5OCwgNDA0MDEsIDQwNDA2LCA0MDQwOSwgNDA0MTIsIAorICAgIDQwNDE3LCA0MDQyMiwgNDA0MjYsIDQwNDI5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCA0MDQzMiwgNDA0MzcsIDQwNDQyLCA0MDQ0OSwgNDA0NTcsIDQwNDYyLCA0MDQ2NywgNDA0NzEsIDQwNDc1LCAKKyAgICA0MDQ4MCwgNDA0ODcsIDQwNDk0LCA0MDQ5OCwgNDA1MDMsIDQwNTA4LCA0MDUxMywgNDA1MTgsIDQwNTI1LCA0MDUzMCwgCisgICAgNDA1MzUsIDQwNTQwLCA0MDU0OSwgNDA1NTYsIDQwNTYzLCA0MDU2NywgNDA1NzIsIDQwNTc4LCA0MDU4MywgNDA1OTAsIAorICAgIDQwNTk4LCA0MDYwNiwgNDA2MTAsIDQwNjE0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICA0MDYxOCwgNDA2MjIsIDQwNjMwLCA0MDYzNCwgNDA2MzgsIDQwNjQzLCA0MDY0NywgNDA2NTEsIDQwNjU1LCA0MDY1NywgCisgICAgNDA2NjEsIDQwNjY1LCA0MDY2OSwgNDA2NzQsIDQwNjc4LCA0MDY4MiwgNDA2OTAsIDQwNjkzLCA0MDY5NywgNDA3MDAsIAorICAgIDQwNzAzLCA0MDcwOSwgNDA3MTMsIDQwNzE2LCA0MDcyMiwgNDA3MjYsIDQwNzMwLCA0MDczNCwgNDA3MzcsIDQwNzQxLCAKKyAgICA0MDc0NCwgNDA3NDgsIDQwNzUwLCA0MDc1MywgNDA3NTYsIDQwNzYwLCA0MDc2MiwgNDA3NjYsIDQwNzY5LCA0MDc3MiwgCisgICAgNDA3NzcsIDQwNzgyLCA0MDc4OCwgNDA3OTEsIDQwNzk0LCA0MDc5OCwgNDA4MDMsIDQwODA2LCA0MDgwOSwgNDA4MTIsIAorICAgIDQwODE2LCA0MDgyMCwgNDA4MjQsIDQwODI3LCA0MDgyOSwgNDA4MzIsIDQwODM1LCA0MDgzOCwgNDA4NDIsIDQwODQ3LCAKKyAgICA0MDg1MCwgNDA4NTQsIDQwODU4LCA0MDg2MiwgNDA4NjYsIDQwODcxLCA0MDg3NiwgNDA4ODAsIDQwODg1LCA0MDg5MCwgCisgICAgNDA4OTUsIDQwOTAwLCA0MDkwNCwgNDA5MDgsIDQwOTEzLCA0MDkxNywgNDA5MjAsIDQwOTIzLCA0MDkyNSwgNDA5MjksIAorICAgIDQwOTM1LCA0MDk0MiwgNDA5NDksIDQwOTU2LCA0MDk2MywgNDA5NzAsIDQwOTc3LCA0MDk4NCwgNDA5OTEsIDQwOTk5LCAKKyAgICA0MTAwNiwgNDEwMTQsIDQxMDIxLCA0MTAyOCwgNDEwMzYsIDQxMDQ0LCA0MTA0OSwgNDEwNTQsIDQxMDU5LCA0MTA2NCwgCisgICAgNDEwNjksIDQxMDc0LCA0MTA3OSwgNDEwODQsIDQxMDg5LCA0MTA5NCwgNDExMDAsIDQxMTA2LCA0MTExMiwgNDExMTgsIAorICAgIDQxMTI1LCA0MTEzMywgNDExNDAsIDQxMTQ2LCA0MTE1MiwgNDExNTgsIDQxMTY0LCA0MTE3MCwgNDExNzYsIDQxMTgyLCAKKyAgICA0MTE4OCwgNDExOTQsIDQxMjAxLCA0MTIwOCwgNDEyMTUsIDQxMjIyLCA0MTIzMCwgNDEyMzksIDQxMjQ3LCA0MTI1OCwgCisgICAgNDEyNjYsIDQxMjc0LCA0MTI4MywgNDEyOTAsIDQxMjk5LCA0MTMwOCwgNDEzMTYsIDQxMzI1LCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICA0MTMzMywgNDEzMzUsIDQxMzM3LCA0MTMzOSwgNDEzNDEsIDQxMzQ0LCA0MTM0NywgNDEzNTEsIDQxMzU1LCA0MTM1OSwgCisgICAgNDEzNjMsIDQxMzY3LCA0MTM3MSwgNDEzNzUsIDQxMzc5LCA0MTM4NCwgNDEzODksIDQxMzk0LCA0MTM5OSwgNDE0MDQsIAorICAgIDQxNDA5LCA0MTQxNCwgNDE0MTksIDQxNDI0LCA0MTQyOSwgNDE0MzUsIDQxNDM5LCA0MTQ0MywgNDE0NDgsIDQxNDUzLCAKKyAgICA0MTQ1OCwgNDE0NjMsIDQxNDY3LCA0MTQ3NCwgNDE0ODEsIDQxNDg4LCA0MTQ5NSwgNDE1MDIsIDQxNTA5LCA0MTUxNiwgCisgICAgNDE1MjMsIDQxNTMxLCA0MTU0MywgNDE1NTAsIDQxNTU3LCA0MTU2NCwgNDE1NzEsIDQxNTc4LCA0MTU4NSwgNDE1OTIsIAorICAgIDQxNTk5LCA0MTYwNiwgNDE2MTMsIDQxNjE4LCA0MTYyNCwgNDE2MjksIDQxNjM0LCA0MTYzOSwgNDE2NDQsIDQxNjQ5LCAKKyAgICA0MTY1NiwgNDE2NjMsIDQxNjY4LCA0MTY3NCwgNDE2NzksIDQxNjgyLCA0MTY4NSwgNDE2ODgsIDQxNjkxLCA0MTY5NSwgCisgICAgNDE2OTksIDQxNzA0LCA0MTcwOSwgNDE3MTQsIDQxNzE5LCA0MTcyMywgNDE3MjcsIDQxNzMxLCA0MTczNSwgNDE3NDAsIAorICAgIDQxNzQ1LCA0MTc0OSwgNDE3NTMsIDQxNzU3LCA0MTc2MSwgNDE3NjYsIDQxNzcxLCA0MTc3NCwgNDE3NzcsIDQxNzgwLCAKKyAgICA0MTc4MywgNDE3ODksIDQxNzk2LCA0MTgwNiwgNDE4MTYsIDQxODIwLCA0MTgyOCwgNDE4MzUsIDQxODQzLCA0MTg1MSwgCisgICAgNDE4NTUsIDQxODYxLCA0MTg2NywgNDE4NzEsIDQxODc2LCA0MTg4MSwgNDE4ODcsIDQxODkzLCA0MTg5OSwgNDE5MDYsIAorICAgIDQxOTEwLCA0MTkxNCwgNDE5MTksIDQxOTIyLCA0MTkyNCwgNDE5MjgsIDQxOTMyLCA0MTk0MCwgNDE5NDQsIDQxOTQ2LCAKKyAgICA0MTk0OCwgNDE5NTIsIDQxOTYwLCA0MTk2NSwgNDE5NzEsIDQxOTgxLCA0MTk4OCwgNDE5OTMsIDQxOTk3LCA0MjAwMSwgCisgICAgNDIwMDUsIDQyMDA4LCA0MjAxMSwgNDIwMTQsIDQyMDE4LCA0MjAyMiwgNDIwMjYsIDQyMDMwLCA0MjAzNCwgNDIwMzcsIAorICAgIDQyMDQxLCA0MjA0NSwgNDIwNDgsIDQyMDUwLCA0MjA1MywgNDIwNTUsIDQyMDU5LCA0MjA2MywgNDIwNjUsIDQyMDcxLCAKKyAgICA0MjA3NCwgNDIwNzksIDQyMDgzLCA0MjA4NywgNDIwODksIDQyMDkxLCA0MjA5MywgNDIwOTYsIDQyMTAwLCA0MjEwNCwgCisgICAgNDIxMDgsIDQyMTEyLCA0MjExNiwgNDIxMjIsIDQyMTI4LCA0MjEzMCwgNDIxMzIsIDQyMTM0LCA0MjEzNiwgNDIxMzksIAorICAgIDQyMTQxLCA0MjE0NSwgNDIxNDcsIDQyMTUxLCA0MjE1NSwgNDIxNjAsIDQyMTY0LCA0MjE2OCwgNDIxNzIsIDQyMTc2LCAKKyAgICA0MjE4MCwgNDIxODYsIDQyMTkwLCA0MjIwMCwgNDIyMTAsIDQyMjE0LCA0MjIyMCwgNDIyMjcsIDQyMjMxLCA0MjIzNSwgCisgICAgNDIyMzgsIDQyMjQzLCA0MjI0NywgNDIyNTMsIDQyMjU3LCA0MjI3MCwgNDIyNzksIDQyMjgzLCA0MjI4NywgNDIyOTMsIAorICAgIDQyMjk3LCA0MjMwMCwgNDIzMDIsIDQyMzA1LCA0MjMwOSwgNDIzMTMsIDQyMzIwLCA0MjMyNCwgNDIzMjgsIDQyMzMyLCAKKyAgICA0MjMzNSwgNDIzNDAsIDQyMzQ1LCA0MjM1MSwgNDIzNTcsIDQyMzYyLCA0MjM2NywgNDIzNzUsIDQyMzgzLCA0MjM4NywgCisgICAgNDIzOTEsIDQyMzkzLCA0MjM5OCwgNDI0MDIsIDQyNDA2LCA0MjQxNCwgNDI0MjIsIDQyNDI5LCA0MjQzNiwgNDI0NDUsIAorICAgIDQyNDU0LCA0MjQ2MCwgNDI0NjYsIDQyNDc0LCA0MjQ4MiwgNDI0ODQsIDQyNDg2LCA0MjQ5MiwgNDI0OTgsIDQyNTA1LCAKKyAgICA0MjUxMiwgNDI1MTgsIDQyNTI0LCA0MjUyOCwgNDI1MzIsIDQyNTM5LCA0MjU0NiwgNDI1NTMsIDQyNTYwLCA0MjU3MCwgCisgICAgNDI1ODAsIDQyNTg4LCA0MjU5NiwgNDI1OTgsIDQyNjAyLCA0MjYwNiwgNDI2MTEsIDQyNjE2LCA0MjYyNCwgNDI2MzIsIAorICAgIDQyNjM1LCA0MjYzOCwgNDI2NDEsIDQyNjQ0LCA0MjY0NywgNDI2NTIsIDQyNjU2LCA0MjY2MSwgNDI2NjYsIDQyNjY5LCAKKyAgICA0MjY3MiwgNDI2NzUsIDQyNjc4LCA0MjY4MSwgNDI2ODUsIDQyNjg4LCA0MjY5MSwgNDI2OTQsIDQyNjk3LCA0MjY5OSwgCisgICAgNDI3MDEsIDQyNzAzLCA0MjcwNSwgNDI3MTMsIDQyNzIxLCA0MjcyNywgNDI3MzEsIDQyNzM3LCA0Mjc0NywgNDI3NTMsIAorICAgIDQyNzU5LCA0Mjc2NSwgNDI3NzMsIDQyNzgyLCA0Mjc5NCwgNDI3OTgsIDQyODAyLCA0MjgwNCwgNDI4MTAsIDQyODEyLCAKKyAgICA0MjgxNCwgNDI4MTYsIDQyODE4LCA0MjgyNCwgNDI4MjcsIDQyODMzLCA0MjgzOSwgNDI4NDMsIDQyODQ3LCA0Mjg1MSwgCisgICAgNDI4NTQsIDQyODU4LCA0Mjg2MiwgNDI4NjQsIDQyODczLCA0Mjg4MiwgNDI4ODcsIDQyODkyLCA0Mjg5OCwgNDI5MDQsIAorICAgIDQyOTEwLCA0MjkxMywgNDI5MTYsIDQyOTE5LCA0MjkyMiwgNDI5MjQsIDQyOTI5LCA0MjkzNCwgNDI5MzksIDQyOTQ1LCAKKyAgICA0Mjk1MSwgNDI5NjAsIDQyOTY5LCA0Mjk3NiwgNDI5ODMsIDQyOTkwLCA0Mjk5NywgNDMwMDcsIDQzMDE3LCA0MzAyNywgCisgICAgNDMwMzcsIDQzMDQ3LCA0MzA1NywgNDMwNjYsIDQzMDc1LCA0MzA4NCwgNDMwOTMsIDQzMTAxLCA0MzExMywgNDMxMjQsIAorICAgIDQzMTQwLCA0MzE0MywgNDMxNDgsIDQzMTU0LCA0MzE2MCwgNDMxNjcsIDQzMTgxLCA0MzE5NiwgNDMyMDIsIDQzMjA4LCAKKyAgICA0MzIxNSwgNDMyMjEsIDQzMjI5LCA0MzIzNSwgNDMyNDgsIDQzMjYyLCA0MzI2NywgNDMyNzMsIDQzMjgxLCA0MzI4NCwgCisgICAgNDMyODcsIDQzMjg5LCA0MzI5MiwgNDMyOTUsIDQzMjk3LCA0MzI5OSwgNDMzMDMsIDQzMzA2LCA0MzMwOSwgNDMzMTIsIAorICAgIDQzMzE1LCA0MzMyMCwgNDMzMjUsIDQzMzMwLCA0MzMzNSwgNDMzNDAsIDQzMzQzLCA0MzM0NSwgNDMzNDcsIDQzMzQ5LCAKKyAgICA0MzM1MywgNDMzNTcsIDQzMzYxLCA0MzM2NywgNDMzNzEsIDQzMzczLCA0MzM3NSwgNDMzODAsIDQzMzg1LCA0MzM5MCwgCisgICAgNDMzOTUsIDQzNDAwLCA0MzQwNSwgNDM0MDcsIDQzNDA5LCA0MzQxOCwgNDM0MjIsIDQzNDMwLCA0MzQzOSwgNDM0NDEsIAorICAgIDQzNDQ2LCA0MzQ1MSwgNDM0NTksIDQzNDYzLCA0MzQ2NSwgNDM0NjksIDQzNDcxLCA0MzQ3NSwgNDM0NzksIDQzNDgzLCAKKyAgICA0MzQ4NSwgNDM0ODcsIDQzNDg5LCA0MzQ5NiwgNDM1MDUsIDQzNTE0LCA0MzUyMywgNDM1MzIsIDQzNTQxLCA0MzU1MCwgCisgICAgNDM1NTksIDQzNTY4LCA0MzU3NiwgNDM1ODQsIDQzNTkzLCA0MzYwMiwgNDM2MTEsIDQzNjIwLCA0MzYyOCwgNDM2MzYsIAorICAgIDQzNjQ1LCA0MzY1NCwgNDM2NjMsIDQzNjczLCA0MzY4MiwgNDM2OTIsIDQzNzAxLCA0MzcxMSwgNDM3MTksIDQzNzI4LCAKKyAgICA0MzczOCwgNDM3NDcsIDQzNzU3LCA0Mzc2NiwgNDM3NzYsIDQzNzg0LCA0Mzc5MywgNDM4MDIsIDQzODExLCA0MzgyMCwgCisgICAgNDM4MjksIDQzODM4LCA0Mzg0OCwgNDM4NTcsIDQzODY2LCA0Mzg3NSwgNDM4ODUsIDQzODk0LCA0MzkwMywgNDM5MTIsIAorICAgIDQzOTIxLCA0MzkzMSwgNDM5NDEsIDQzOTUwLCA0Mzk1OSwgNDM5NjcsIDQzOTc2LCA0Mzk4MywgNDM5OTIsIDQ0MDAxLCAKKyAgICA0NDAxMiwgNDQwMjEsIDQ0MDMxLCA0NDA0MSwgNDQwNDgsIDQ0MDU1LCA0NDA2MiwgNDQwNzEsIDQ0MDgwLCA0NDA4OSwgCisgICAgNDQwOTgsIDQ0MTA1LCA0NDExMCwgNDQxMTgsIDQ0MTI0LCA0NDEyNywgNDQxMzUsIDQ0MTM4LCA0NDE0MywgNDQxNDgsIAorICAgIDQ0MTUxLCA0NDE1NCwgNDQxNjIsIDQ0MTY1LCA0NDE3MCwgNDQxNzMsIDQ0MTgwLCA0NDE4NSwgNDQxOTMsIDQ0MTk2LCAKKyAgICA0NDE5OSwgNDQyMDIsIDQ0MjA3LCA0NDIxMiwgNDQyMTUsIDQ0MjE4LCA0NDIyNiwgNDQyMjksIDQ0MjM2LCA0NDI0MywgCisgICAgNDQyNDcsIDQ0MjUxLCA0NDI1NiwgNDQyNjEsIDQ0MjY3LCA0NDI3MiwgNDQyNzgsIDQ0Mjg0LCA0NDI4OSwgNDQyOTUsIAorICAgIDQ0MzAzLCA0NDMwOSwgNDQzMTcsIDQ0MzI1LCA0NDMzMSwgNDQzMzksIDQ0MzQ3LCA0NDM1NiwgNDQzNjQsIDQ0MzcwLCAKKyAgICA0NDM3OCwgNDQzODcsIDQ0Mzk1LCA0NDM5OSwgNDQ0MDQsIDQ0NDE4LCA0NDQzMiwgNDQ0MzYsIDQ0NDQwLCA0NDQ0NCwgCisgICAgNDQ0NDgsIDQ0NDU4LCA0NDQ2MiwgNDQ0NjcsIDQ0NDcyLCA0NDQ3NywgNDQ0ODIsIDQ0NDg3LCA0NDQ5MiwgNDQ1MDIsIAorICAgIDQ0NTEyLCA0NDUyMCwgNDQ1MzAsIDQ0NTQwLCA0NDU0OCwgNDQ1NTgsIDQ0NTY4LCA0NDU3NiwgNDQ1ODYsIDQ0NTk2LCAKKyAgICA0NDYwNCwgNDQ2MTIsIDQ0NjIyLCA0NDYzMiwgNDQ2MzUsIDQ0NjM4LCA0NDY0MSwgNDQ2NDYsIDQ0NjUwLCA0NDY1NiwgCisgICAgNDQ2NjMsIDQ0NjcwLCA0NDY3OCwgNDQ2ODUsIDQ0Njg5LCA0NDY5MywgNDQ2OTcsIDQ0NzAxLCA0NDcwMywgNDQ3MDcsIAorICAgIDQ0NzExLCA0NDcxNiwgNDQ3MjEsIDQ0NzI4LCA0NDczNSwgNDQ3MzgsIDQ0NzQ1LCA0NDc0NywgNDQ3NDksIDQ0NzUzLCAKKyAgICA0NDc1NywgNDQ3NjIsIDQ0NzY4LCA0NDc3NCwgNDQ3ODAsIDQ0Nzg2LCA0NDc5NSwgNDQ4MDQsIDQ0ODEzLCA0NDgxNywgCisgICAgNDQ4MTksIDQ0ODIzLCA0NDgzMCwgNDQ4MzcsIDQ0ODQ0LCA0NDg1MSwgNDQ4NTgsIDQ0ODYxLCA0NDg2NiwgMCwgMCwgMCwgCisgICAgMCwgMCwgNDQ4NzIsIDQ0ODc2LCA0NDg4MywgNDQ4OTAsIDQ0ODk3LCA0NDkwNCwgNDQ5MDgsIDQ0OTEyLCA0NDkxNiwgCisgICAgNDQ5MjAsIDQ0OTI1LCA0NDkzMSwgNDQ5MzYsIDQ0OTQyLCA0NDk0OCwgNDQ5NTQsIDQ0OTYwLCA0NDk2OCwgNDQ5NzUsIAorICAgIDQ0OTgyLCA0NDk4OSwgNDQ5OTYsIDQ1MDAxLCA0NTAwNywgNDUwMTYsIDQ1MDIwLCA0NTAyNywgNDUwMzEsIDQ1MDM1LCAKKyAgICA0NTA0MSwgNDUwNDcsIDQ1MDUzLCA0NTA1OSwgNDUwNjMsIDQ1MDY3LCA0NTA3MCwgNDUwNzQsIDQ1MDc4LCA0NTA4NSwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgNDUwOTIsIDQ1MDk1LCA0NTA5OSwgNDUxMDMsIDQ1MTA5LCA0NTExNSwgNDUxMjEsIDQ1MTI5LCA0NTEzNiwgNDUxNDAsIAorICAgIDQ1MTQ4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICA0NTE1MywgNDUxNTYsIDQ1MTU5LCA0NTE2MiwgNDUxNjUsIDQ1MTY4LCA0NTE3MSwgNDUxNzQsIDQ1MTc3LCA0NTE4MCwgCisgICAgNDUxODQsIDQ1MTg4LCA0NTE5MiwgNDUxOTYsIDQ1MjAwLCA0NTIwNCwgNDUyMDgsIDQ1MjEyLCA0NTIxNiwgNDUyMjAsIAorICAgIDQ1MjI0LCA0NTIyNywgNDUyMzAsIDQ1MjMzLCA0NTIzNiwgNDUyMzksIDQ1MjQyLCA0NTI0NSwgNDUyNDgsIDQ1MjUxLCAKKyAgICA0NTI1NSwgNDUyNTksIDQ1MjYzLCA0NTI2NywgNDUyNzEsIDQ1Mjc1LCA0NTI3OSwgNDUyODMsIDQ1Mjg3LCA0NTI5MSwgCisgICAgNDUyOTUsIDQ1MzAxLCA0NTMwNywgNDUzMTMsIDQ1MzIwLCA0NTMyNywgNDUzMzQsIDQ1MzQxLCA0NTM0OCwgNDUzNTUsIAorICAgIDQ1MzYyLCA0NTM2OSwgNDUzNzYsIDQ1MzgzLCA0NTM5MCwgNDUzOTcsIDQ1NDA0LCA0NTQxMSwgNDU0MTgsIDQ1NDI1LCAKKyAgICA0NTQzMiwgNDU0MzcsIDQ1NDQzLCA0NTQ0OSwgNDU0NTUsIDQ1NDYwLCA0NTQ2NiwgNDU0NzIsIDQ1NDc4LCA0NTQ4MywgCisgICAgNDU0ODksIDQ1NDk1LCA0NTUwMCwgNDU1MDYsIDQ1NTEyLCA0NTUxNywgNDU1MjMsIDQ1NTI5LCA0NTUzNCwgNDU1MzksIAorICAgIDQ1NTQ1LCA0NTU1MCwgNDU1NTYsIDQ1NTYyLCA0NTU2OCwgNDU1NzQsIDQ1NTgwLCA0NTU4NSwgNDU1OTEsIDQ1NTk3LCAKKyAgICA0NTYwMywgNDU2MDgsIDQ1NjE0LCA0NTYyMCwgNDU2MjYsIDQ1NjMxLCA0NTYzNywgNDU2NDMsIDQ1NjQ4LCA0NTY1NCwgCisgICAgNDU2NjAsIDQ1NjY1LCA0NTY3MSwgNDU2NzcsIDQ1NjgyLCA0NTY4NywgNDU2OTMsIDQ1Njk4LCA0NTcwNCwgNDU3MTAsIAorICAgIDQ1NzE2LCA0NTcyMiwgNDU3MjgsIDQ1NzMzLCA0NTczOSwgNDU3NDUsIDQ1NzUxLCA0NTc1NiwgNDU3NjIsIDQ1NzY4LCAKKyAgICA0NTc3NCwgNDU3NzksIDQ1Nzg1LCA0NTc5MSwgNDU3OTYsIDQ1ODAyLCA0NTgwOCwgNDU4MTMsIDQ1ODE5LCA0NTgyNSwgCisgICAgNDU4MzAsIDQ1ODM1LCA0NTg0MSwgNDU4NDYsIDQ1ODUyLCA0NTg1OCwgNDU4NjQsIDQ1ODcwLCA0NTg3NiwgNDU4ODAsIAorICAgIDQ1ODg1LCA0NTg5MCwgNDU4OTUsIDQ1OTAwLCA0NTkwNSwgNDU5MTAsIDQ1OTE1LCA0NTkyMCwgNDU5MjUsIDQ1OTMwLCAKKyAgICA0NTkzNCwgNDU5MzgsIDQ1OTQyLCA0NTk0NiwgNDU5NTAsIDQ1OTU0LCA0NTk1OCwgNDU5NjIsIDQ1OTY2LCA0NTk3MSwgCisgICAgNDU5NzYsIDQ1OTgxLCA0NTk4NiwgNDU5OTEsIDQ1OTk2LCA0NjAwNSwgNDYwMTQsIDQ2MDIzLCA0NjAzMiwgNDYwNDEsIAorICAgIDQ2MDUwLCA0NjA1OSwgNDYwNjgsIDQ2MDc1LCA0NjA4MywgNDYwOTEsIDQ2MDk4LCA0NjEwNSwgNDYxMTMsIDQ2MTIxLCAKKyAgICA0NjEyOCwgNDYxMzUsIDQ2MTQzLCA0NjE1MSwgNDYxNTgsIDQ2MTY1LCA0NjE3MywgNDYxODEsIDQ2MTg4LCA0NjE5NSwgCisgICAgNDYyMDMsIDQ2MjEyLCA0NjIyMSwgNDYyMjksIDQ2MjM4LCA0NjI0NywgNDYyNTQsIDQ2MjYxLCA0NjI2OSwgNDYyNzgsIAorICAgIDQ2Mjg3LCA0NjI5NSwgNDYzMDQsIDQ2MzEzLCA0NjMyMCwgNDYzMjcsIDQ2MzM2LCA0NjM0NSwgNDYzNTMsIDQ2MzYxLCAKKyAgICA0NjM3MCwgNDYzNzksIDQ2Mzg2LCA0NjM5MywgNDY0MDIsIDQ2NDExLCA0NjQxOSwgNDY0MjcsIDQ2NDM2LCA0NjQ0NSwgCisgICAgNDY0NTIsIDQ2NDU5LCA0NjQ2OCwgNDY0NzcsIDQ2NDg1LCA0NjQ5NCwgNDY1MDMsIDQ2NTExLCA0NjUyMSwgNDY1MzEsIAorICAgIDQ2NTQxLCA0NjU1MSwgNDY1NjAsIDQ2NTY5LCA0NjU3OCwgNDY1ODcsIDQ2NTk0LCA0NjYwMiwgNDY2MTAsIDQ2NjE4LCAKKyAgICA0NjYyNiwgNDY2MzEsIDQ2NjM2LCA0NjY0NSwgNDY2NTMsIDQ2NjYwLCA0NjY2OSwgNDY2NzcsIDQ2Njg0LCA0NjY5MywgCisgICAgNDY3MDEsIDQ2NzA4LCA0NjcxNywgNDY3MjUsIDQ2NzMyLCA0Njc0MSwgNDY3NDksIDQ2NzU2LCA0Njc2NSwgNDY3NzMsIAorICAgIDQ2NzgwLCA0Njc4OSwgNDY3OTcsIDQ2ODA0LCA0NjgxMywgNDY4MjEsIDQ2ODI4LCA0NjgzNywgNDY4NDUsIDQ2ODUyLCAKKyAgICA0Njg2MSwgNDY4NzAsIDQ2ODc5LCA0Njg4OCwgNDY5MDIsIDQ2OTE2LCA0NjkyMywgNDY5MjgsIDQ2OTMzLCA0NjkzOCwgCisgICAgNDY5NDMsIDQ2OTQ4LCA0Njk1MywgNDY5NTgsIDQ2OTYzLCA0Njk3MSwgNDY5NzksIDQ2OTg3LCA0Njk5NSwgNDcwMDAsIAorICAgIDQ3MDA3LCA0NzAxNCwgNDcwMjEsIDQ3MDI2LCA0NzAzNCwgNDcwNDEsIDQ3MDQ5LCA0NzA1MywgNDcwNjAsIDQ3MDY2LCAKKyAgICA0NzA3MywgNDcwNzcsIDQ3MDgzLCA0NzA4OSwgNDcwOTUsIDQ3MDk5LCA0NzEwMiwgNDcxMDYsIDQ3MTEwLCA0NzExNywgCisgICAgNDcxMjMsIDQ3MTI5LCA0NzEzNSwgNDcxNDEsIDQ3MTU1LCA0NzE2NSwgNDcxNzksIDQ3MTkzLCA0NzE5OSwgNDcyMDksIAorICAgIDQ3MjIzLCA0NzIyNiwgNDcyMjksIDQ3MjM2LCA0NzI0NCwgNDcyNDksIDQ3MjU0LCA0NzI2MiwgNDcyNzQsIDQ3Mjg2LCAKKyAgICA0NzI5NCwgNDcyOTgsIDQ3MzAyLCA0NzMwNSwgNDczMDgsIDQ3MzEyLCA0NzMxNiwgNDczMTksIDQ3MzIyLCA0NzMyNywgCisgICAgNDczMzIsIDQ3MzM4LCA0NzM0NCwgNDczNDksIDQ3MzU0LCA0NzM2MCwgNDczNjYsIDQ3MzcxLCA0NzM3NiwgNDczODEsIAorICAgIDQ3Mzg2LCA0NzM5MiwgNDczOTgsIDQ3NDAzLCA0NzQwOCwgNDc0MTQsIDQ3NDIwLCA0NzQyNSwgNDc0MzAsIDQ3NDMzLCAKKyAgICA0NzQzNiwgNDc0NDUsIDQ3NDQ3LCA0NzQ0OSwgNDc0NTIsIDQ3NDU2LCA0NzQ2MiwgNDc0NjQsIDQ3NDY3LCA0NzQ3NCwgCisgICAgNDc0ODEsIDQ3NDg5LCA0NzQ5NywgNDc1MDcsIDQ3NTIxLCA0NzUyNiwgNDc1MzEsIDQ3NTM1LCA0NzU0MCwgNDc1NDgsIAorICAgIDQ3NTU2LCA0NzU2NSwgNDc1NzQsIDQ3NTgzLCA0NzU5MiwgNDc1OTcsIDQ3NjAyLCA0NzYwOCwgNDc2MTQsIDQ3NjIwLCAKKyAgICA0NzYyNiwgNDc2MjksIDQ3NjM1LCA0NzY0MSwgNDc2NTEsIDQ3NjYxLCA0NzY2OSwgNDc2NzcsIDQ3Njg2LCA0NzY5NSwgCisgICAgNDc2OTksIDQ3NzA3LCA0NzcxNSwgNDc3MjMsIDQ3NzMxLCA0Nzc0MCwgNDc3NDksIDQ3NzU4LCA0Nzc2NywgNDc3NzIsIAorICAgIDQ3Nzc3LCA0Nzc4MiwgNDc3ODcsIDQ3NzkyLCA0Nzc5OCwgNDc4MDQsIDQ3ODA5LCA0NzgxNSwgNDc4MTcsIDQ3ODE5LCAKKyAgICA0NzgyMSwgNDc4MjMsIDQ3ODI2LCA0NzgyOSwgNDc4MzEsIDQ3ODMzLCA0NzgzNSwgNDc4MzksIDQ3ODQzLCA0Nzg0NSwgCisgICAgNDc4NDcsIDQ3ODUwLCA0Nzg1MywgNDc4NTcsIDQ3ODYzLCA0Nzg2OSwgNDc4NzEsIDQ3ODc4LCA0Nzg4MiwgNDc4ODcsIAorICAgIDQ3ODkyLCA0Nzg5NCwgNDc5MDQsIDQ3OTEwLCA0NzkxNiwgNDc5MjIsIDQ3OTI4LCA0NzkzNCwgNDc5NDAsIDQ3OTQ1LCAKKyAgICA0Nzk0OCwgNDc5NTEsIDQ3OTU0LCA0Nzk1NiwgNDc5NTgsIDQ3OTYyLCA0Nzk2NiwgNDc5NzEsIDQ3OTc2LCA0Nzk4MSwgCisgICAgNDc5ODQsIDQ3OTg4LCA0Nzk5MywgNDc5OTYsIDQ4MDAwLCA0ODAwNSwgNDgwMTAsIDQ4MDE1LCA0ODAyMCwgNDgwMjUsIAorICAgIDQ4MDMwLCA0ODAzNSwgNDgwNDAsIDQ4MDQ1LCA0ODA1MCwgNDgwNTUsIDQ4MDYwLCA0ODA2NiwgNDgwNzIsIDQ4MDc4LCAKKyAgICA0ODA4MCwgNDgwODMsIDQ4MDg1LCA0ODA4OCwgNDgwOTAsIDQ4MDkyLCA0ODA5NCwgNDgwOTYsIDQ4MDk4LCA0ODEwMCwgCisgICAgNDgxMDIsIDQ4MTA0LCA0ODEwNiwgNDgxMDgsIDQ4MTEwLCA0ODExMiwgNDgxMTQsIDQ4MTE2LCA0ODExOCwgNDgxMjAsIAorICAgIDQ4MTIyLCA0ODEyNywgNDgxMzIsIDQ4MTM3LCA0ODE0MiwgNDgxNDcsIDQ4MTUyLCA0ODE1NywgNDgxNjIsIDQ4MTY3LCAKKyAgICA0ODE3MiwgNDgxNzcsIDQ4MTgyLCA0ODE4NywgNDgxOTIsIDQ4MTk3LCA0ODIwMiwgNDgyMDcsIDQ4MjEyLCA0ODIxNywgCisgICAgNDgyMjIsIDQ4MjI2LCA0ODIzMCwgNDgyMzQsIDQ4MjQwLCA0ODI0NiwgNDgyNTEsIDQ4MjU2LCA0ODI2MSwgNDgyNjcsIAorICAgIDQ4MjczLCA0ODI3OCwgNDgyODYsIDQ4Mjk0LCA0ODMwMiwgNDgzMTAsIDQ4MzE4LCA0ODMyNiwgNDgzMzQsIDQ4MzQyLCAKKyAgICA0ODM0OCwgNDgzNTMsIDQ4MzU4LCA0ODM2MywgNDgzNjYsIDQ4MzcwLCA0ODM3NCwgNDgzNzgsIDQ4MzgyLCA0ODM4NiwgCisgICAgNDgzOTAsIDQ4Mzk3LCA0ODQwNCwgNDg0MTIsIDQ4NDIwLCA0ODQyNSwgNDg0MzAsIDQ4NDM3LCA0ODQ0NCwgNDg0NTEsIAorICAgIDQ4NDU4LCA0ODQ2MSwgNDg0NjQsIDQ4NDY5LCA0ODQ3MSwgNDg0NzUsIDQ4NDgwLCA0ODQ4MiwgNDg0ODQsIDQ4NDg2LCAKKyAgICA0ODQ4OCwgNDg0OTMsIDQ4NDk2LCA0ODQ5OCwgNDg1MDMsIDQ4NTEwLCA0ODUxNywgNDg1MjAsIDQ4NTI0LCA0ODUyOSwgCisgICAgNDg1MzQsIDQ4NTQyLCA0ODU0OCwgNDg1NTQsIDQ4NTY2LCA0ODU3MywgNDg1ODAsIDQ4NTg1LCA0ODU5MCwgNDg1OTYsIAorICAgIDQ4NTk5LCA0ODYwMiwgNDg2MDcsIDQ4NjA5LCA0ODYxMywgNDg2MTUsIDQ4NjE3LCA0ODYxOSwgNDg2MjEsIDQ4NjIzLCAKKyAgICA0ODYyNSwgNDg2MzAsIDQ4NjMyLCA0ODYzNCwgNDg2MzYsIDQ4NjM4LCA0ODY0MiwgNDg2NDQsIDQ4NjQ3LCA0ODY1MiwgCisgICAgNDg2NTcsIDQ4NjYyLCA0ODY2NywgNDg2NzMsIDQ4Njc5LCA0ODY4MSwgNDg2ODQsIDQ4NjkxLCA0ODY5NywgNDg3MDMsIAorICAgIDQ4NzEwLCA0ODcxNCwgNDg3MTgsIDQ4NzIwLCA0ODcyMiwgNDg3MjYsIDQ4NzMyLCA0ODczNywgNDg3MzksIDQ4NzQzLCAKKyAgICA0ODc1MiwgNDg3NjAsIDQ4NzY4LCA0ODc3NCwgNDg3ODAsIDQ4Nzg1LCA0ODc5MSwgNDg3OTYsIDQ4Nzk5LCA0ODgxMywgCisgICAgNDg4MTYsIDQ4ODIxLCA0ODgyNiwgNDg4MzIsIDQ4ODQyLCA0ODg0NCwgNDg4NTAsIDQ4ODU2LCA0ODg2MCwgNDg4NjcsIAorICAgIDQ4ODcxLCA0ODg3MywgNDg4NzUsIDQ4ODc5LCA0ODg4NSwgNDg4OTAsIDQ4ODk2LCA0ODg5OCwgNDg5MDQsIDQ4OTA2LCAKKyAgICA0ODkxMiwgNDg5MTQsIDQ4OTE2LCA0ODkyMSwgNDg5MjMsIDQ4OTI3LCA0ODkzMiwgNDg5MzQsIDQ4OTM5LCA0ODk0NCwgCisgICAgNDg5NDgsIDQ4OTU1LCA0ODk2NSwgNDg5NzAsIDQ4OTc2LCA0ODk3OSwgNDg5ODUsIDQ4OTg4LCA0ODk5MywgNDg5OTgsIAorICAgIDQ5MDAyLCA0OTAwNCwgNDkwMDYsIDQ5MDEwLCA0OTAxNCwgNDkwMTgsIDQ5MDIyLCA0OTAyNywgNDkwMjksIDQ5MDM0LCAKKyAgICA0OTAzNywgNDkwNDAsIDQ5MDQzLCA0OTA0NywgNDkwNTEsIDQ5MDU2LCA0OTA2MCwgNDkwNjUsIDQ5MDcwLCA0OTA3NCwgCisgICAgNDkwODAsIDQ5MDg3LCA0OTA5MCwgNDkwOTYsIDQ5MTAxLCA0OTEwNSwgNDkxMTAsIDQ5MTE2LCA0OTEyMiwgNDkxMjksIAorICAgIDQ5MTM1LCA0OTE0MiwgNDkxNDksIDQ5MTUxLCA0OTE1OCwgNDkxNjIsIDQ5MTY5LCA0OTE3NSwgNDkxODAsIDQ5MTg2LCAKKyAgICA0OTE5MCwgNDkxOTUsIDQ5MTk4LCA0OTIwNCwgNDkyMTAsIDQ5MjE3LCA0OTIyNSwgNDkyMzIsIDQ5MjQxLCA0OTI1MSwgCisgICAgNDkyNTgsIDQ5MjY0LCA0OTI2OCwgNDkyNzYsIDQ5MjgxLCA0OTI5MCwgNDkyOTMsIDQ5Mjk2LCA0OTMwNSwgNDkzMTYsIAorICAgIDQ5MzIzLCA0OTMyNSwgNDkzMzEsIDQ5MzM2LCA0OTMzOCwgNDkzNDEsIDQ5MzQ1LCA0OTM1MywgNDkzNjIsIDQ5MzY1LCAKKyAgICA0OTM3MCwgNDkzNzUsIDQ5MzgzLCA0OTM5MSwgNDkzOTksIDQ5NDA3LCA0OTQxMywgNDk0MTksIDQ5NDI1LCA0OTQzMywgCisgICAgNDk0MzgsIDQ5NDQxLCA0OTQ0NSwgNDk0NDgsIDQ5NDU5LCA0OTQ2OSwgNDk0NzksIDQ5NDg4LCA0OTQ5OSwgNDk1MDksIAorICAgIDQ5NTE4LCA0OTUyNCwgNDk1MzIsIDQ5NTM2LCA0OTU0NCwgNDk1NDgsIDQ5NTU2LCA0OTU2MywgNDk1NzAsIDQ5NTc5LCAKKyAgICA0OTU4OCwgNDk1OTgsIDQ5NjA4LCA0OTYxOCwgNDk2MjgsIDQ5NjM3LCA0OTY0NiwgNDk2NTYsIDQ5NjY2LCA0OTY3NSwgCisgICAgNDk2ODQsIDQ5NjkwLCA0OTY5NiwgNDk3MDIsIDQ5NzA4LCA0OTcxNCwgNDk3MjAsIDQ5NzI2LCA0OTczMiwgNDk3MzgsIAorICAgIDQ5NzQ1LCA0OTc1MSwgNDk3NTcsIDQ5NzYzLCA0OTc2OSwgNDk3NzUsIDQ5NzgxLCA0OTc4NywgNDk3OTMsIDQ5Nzk5LCAKKyAgICA0OTgwNiwgNDk4MTMsIDQ5ODIwLCA0OTgyNywgNDk4MzQsIDQ5ODQxLCA0OTg0OCwgNDk4NTUsIDQ5ODYyLCA0OTg2OSwgCisgICAgNDk4NzcsIDQ5ODgyLCA0OTg4NSwgNDk4ODksIDQ5ODkzLCA0OTg5OCwgNDk5MDEsIDQ5OTA2LCA0OTkxMiwgNDk5MTcsIAorICAgIDQ5OTIxLCA0OTkyNiwgNDk5MzIsIDQ5OTM5LCA0OTk0MiwgNDk5NDksIDQ5OTU2LCA0OTk2MCwgNDk5NjgsIDQ5OTc2LCAKKyAgICA0OTk4MSwgNDk5ODcsIDQ5OTkyLCA0OTk5NywgNTAwMDQsIDUwMDExLCA1MDAxOSwgNTAwMjcsIDUwMDM2LCA1MDA0MCwgCisgICAgNTAwNDksIDUwMDU0LCA1MDA1OCwgNTAwNjQsIDUwMDY4LCA1MDA3NCwgNTAwODEsIDUwMDg2LCA1MDA5MywgNTAwOTcsIAorICAgIDUwMTAyLCA1MDEwNiwgNTAxMTEsIDUwMTE1LCA1MDEyMCwgNTAxMjUsIDUwMTM0LCA1MDEzNiwgNTAxNDAsIDUwMTQ0LCAKKyAgICA1MDE1MSwgNTAxNTgsIDUwMTY0LCA1MDE3MiwgNTAxNzgsIDUwMTg0LCA1MDE4OSwgNTAxOTIsIDUwMTk3LCA1MDIwMiwgCisgICAgNTAyMDcsIDUwMjE1LCA1MDIxOSwgNTAyMjYsIDUwMjM0LCA1MDI0MiwgNTAyNDcsIDUwMjUyLCA1MDI1OCwgNTAyNjMsIAorICAgIDUwMjY4LCA1MDI3NCwgNTAyNzksIDUwMjgyLCA1MDI4NiwgNTAyOTAsIDUwMjk3LCA1MDMwNiwgNTAzMTEsIDUwMzIwLCAKKyAgICA1MDMyOSwgNTAzMzUsIDUwMzQxLCA1MDM0NiwgNTAzNTEsIDUwMzU2LCA1MDM2MSwgNTAzNjcsIDUwMzczLCA1MDM4MSwgCisgICAgNTAzODksIDUwMzk1LCA1MDQwMSwgNTA0MDUsIDUwNDA5LCA1MDQxNiwgNTA0MjMsIDUwNDI5LCA1MDQzMiwgNTA0MzUsIAorICAgIDUwNDM5LCA1MDQ0MywgNTA0NDcsIDUwNDUyLCA1MDQ1OCwgNTA0NjQsIDUwNDcxLCA1MDQ3OCwgNTA0ODMsIDUwNDg3LCAKKyAgICA1MDQ5MSwgNTA0OTUsIDUwNDk5LCA1MDUwMywgNTA1MDcsIDUwNTExLCA1MDUxNSwgNTA1MTksIDUwNTIzLCA1MDUyNywgCisgICAgNTA1MzEsIDUwNTM1LCA1MDUzOSwgNTA1NDMsIDUwNTQ3LCA1MDU1MSwgNTA1NTUsIDUwNTU5LCA1MDU2MywgNTA1NjcsIAorICAgIDUwNTcxLCA1MDU3NSwgNTA1NzksIDUwNTgzLCA1MDU4NywgNTA1OTEsIDUwNTk1LCA1MDU5OSwgNTA2MDMsIDUwNjA3LCAKKyAgICA1MDYxMSwgNTA2MTUsIDUwNjE5LCA1MDYyMywgNTA2MjcsIDUwNjMxLCA1MDYzNSwgNTA2MzksIDUwNjQzLCA1MDY0NywgCisgICAgNTA2NTEsIDUwNjU1LCA1MDY1OSwgNTA2NjMsIDUwNjY3LCA1MDY3MSwgNTA2NzUsIDUwNjc5LCA1MDY4MywgNTA2ODcsIAorICAgIDUwNjkxLCA1MDY5NSwgNTA2OTksIDUwNzAzLCA1MDcwNywgNTA3MTEsIDUwNzE1LCA1MDcxOSwgNTA3MjMsIDUwNzI3LCAKKyAgICA1MDczMSwgNTA3MzUsIDUwNzM5LCA1MDc0MywgNTA3NDcsIDUwNzUxLCA1MDc1NSwgNTA3NTksIDUwNzYzLCA1MDc2NywgCisgICAgNTA3NzEsIDUwNzc1LCA1MDc3OSwgNTA3ODMsIDUwNzg3LCA1MDc5MSwgNTA3OTUsIDUwNzk5LCA1MDgwMywgNTA4MDcsIAorICAgIDUwODExLCA1MDgxNSwgNTA4MTksIDUwODIzLCA1MDgyNywgNTA4MzEsIDUwODM1LCA1MDgzOSwgNTA4NDMsIDUwODQ3LCAKKyAgICA1MDg1MSwgNTA4NTUsIDUwODU5LCA1MDg2MywgNTA4NjcsIDUwODcxLCA1MDg3NSwgNTA4NzksIDUwODgzLCA1MDg4NywgCisgICAgNTA4OTEsIDUwODk1LCA1MDg5OSwgNTA5MDMsIDUwOTA3LCA1MDkxMSwgNTA5MTUsIDUwOTE5LCA1MDkyMywgNTA5MjcsIAorICAgIDUwOTMxLCA1MDkzNSwgNTA5MzksIDUwOTQzLCA1MDk0NywgNTA5NTEsIDUwOTU1LCA1MDk1OSwgNTA5NjMsIDUwOTY3LCAKKyAgICA1MDk3MSwgNTA5NzUsIDUwOTc5LCA1MDk4MywgNTA5ODcsIDUwOTkxLCA1MDk5NSwgNTA5OTksIDUxMDAzLCA1MTAwNywgCisgICAgNTEwMTEsIDUxMDE1LCA1MTAxOSwgNTEwMjMsIDUxMDI3LCA1MTAzMSwgNTEwMzUsIDUxMDM5LCA1MTA0MywgNTEwNDcsIAorICAgIDUxMDUxLCA1MTA1NSwgNTEwNTksIDUxMDYzLCA1MTA2NywgNTEwNzEsIDUxMDc1LCA1MTA3OSwgNTEwODMsIDUxMDg3LCAKKyAgICA1MTA5MSwgNTEwOTUsIDUxMDk5LCA1MTEwMywgNTExMDcsIDUxMTExLCA1MTExNSwgNTExMTksIDUxMTIzLCA1MTEyNywgCisgICAgNTExMzEsIDUxMTM1LCA1MTEzOSwgNTExNDMsIDUxMTQ3LCA1MTE1MSwgNTExNTUsIDUxMTU5LCA1MTE2MywgNTExNjcsIAorICAgIDUxMTcxLCA1MTE3NSwgNTExNzksIDUxMTgzLCA1MTE4NywgNTExOTEsIDUxMTk1LCA1MTE5OSwgNTEyMDMsIDUxMjA3LCAKKyAgICA1MTIxMSwgNTEyMTUsIDUxMjE5LCA1MTIyMywgNTEyMjcsIDUxMjMxLCA1MTIzNSwgNTEyMzksIDUxMjQzLCA1MTI0NywgCisgICAgNTEyNTEsIDUxMjU1LCA1MTI1OSwgNTEyNjMsIDUxMjY3LCA1MTI3MSwgNTEyNzUsIDUxMjc5LCA1MTI4MywgNTEyODcsIAorICAgIDUxMjkxLCA1MTI5NSwgNTEyOTksIDUxMzAzLCA1MTMwNywgNTEzMTEsIDUxMzE1LCA1MTMxOSwgNTEzMjMsIDUxMzI3LCAKKyAgICA1MTMzMSwgNTEzMzUsIDUxMzM5LCA1MTM0MywgNTEzNDcsIDUxMzUxLCA1MTM1NSwgNTEzNTksIDUxMzYzLCA1MTM2NywgCisgICAgNTEzNzEsIDUxMzc1LCA1MTM3OSwgNTEzODMsIDUxMzg3LCA1MTM5MSwgNTEzOTUsIDUxMzk5LCA1MTQwMywgNTE0MDcsIAorICAgIDUxNDExLCA1MTQxNSwgNTE0MTksIDUxNDIzLCA1MTQyNywgNTE0MzEsIDUxNDM1LCA1MTQzOSwgNTE0NDMsIDUxNDQ3LCAKKyAgICA1MTQ1MSwgNTE0NTUsIDUxNDU5LCA1MTQ2MywgNTE0NjcsIDUxNDcxLCA1MTQ3NSwgNTE0NzksIDUxNDgzLCA1MTQ4NywgCisgICAgNTE0OTEsIDUxNDk1LCA1MTQ5OSwgNTE1MDMsIDUxNTA3LCA1MTUxNCwgNTE1MjIsIDUxNTI4LCA1MTUzNCwgNTE1NDEsIAorICAgIDUxNTQ4LCA1MTU1NCwgNTE1NjAsIDUxNTY1LCA1MTU3MCwgNTE1NzQsIDUxNTc4LCA1MTU4MywgNTE1ODgsIDUxNTk0LCAKKyAgICA1MTYwMCwgNTE2MDgsIDUxNjE1LCA1MTYyMCwgNTE2MjUsIDUxNjMzLCA1MTY0MiwgNTE2NDksIDUxNjU5LCA1MTY3MCwgCisgICAgNTE2NzMsIDUxNjc2LCA1MTY4MCwgNTE2ODQsIDUxNjkxLCA1MTY5OCwgNTE3MDksIDUxNzIwLCA1MTcyOCwgNTE3MzYsIAorICAgIDUxNzQyLCA1MTc0OCwgNTE3NTQsIDUxNzYwLCA1MTc2OSwgNTE3NzgsIDUxNzg3LCA1MTc5NiwgNTE4MDYsIDUxODE2LCAKKyAgICA1MTgyNiwgNTE4MzYsIDUxODQ2LCA1MTg1NiwgNTE4NjYsIDUxODc2LCA1MTg4NSwgNTE4OTUsIDUxOTA1LCA1MTkxNSwgCisgICAgNTE5MjUsIDUxOTMyLCA1MTkzOSwgNTE5NDYsIDUxOTUzLCA1MTk2MywgNTE5NzMsIDUxOTgxLCA1MTk4OSwgNTE5OTYsIAorICAgIDUyMDAzLCA1MjAxMCwgNTIwMTcsIDUyMDI0LCA1MjAyOSwgNTIwMzQsIDUyMDQwLCA1MjA0OCwgNTIwNTcsIDUyMDY1LCAKKyAgICA1MjA3MywgNTIwODEsIDUyMDg5LCA1MjA5NywgNTIxMDUsIDUyMTEzLCA1MjEyMSwgNTIxMzAsIDUyMTM5LCA1MjE0OCwgCisgICAgNTIxNTcsIDUyMTY2LCA1MjE3NSwgNTIxODQsIDUyMTkzLCA1MjIwMiwgNTIyMTEsIDUyMjIwLCA1MjIyOSwgNTIyMzgsIAorICAgIDUyMjQ3LCA1MjI1NiwgNTIyNjUsIDUyMjc5LCA1MjI5NCwgNTIzMDgsIDUyMzIzLCA1MjMzNywgNTIzNTEsIDUyMzY1LCAKKyAgICA1MjM3OSwgNTIzODksIDUyNDAwLCA1MjQxMCwgNTI0MjEsIDUyNDM2LCA1MjQ1MSwgNTI0NTksIDUyNDY1LCA1MjQ3MiwgCisgICAgNTI0NzksIDUyNDg2LCA1MjQ5MywgNTI0OTgsIDUyNTA0LCA1MjUwOSwgNTI1MTQsIDUyNTIwLCA1MjUyNSwgNTI1MzAsIAorICAgIDUyNTM1LCA1MjU0MCwgNTI1NDUsIDUyNTUyLCA1MjU1OCwgNTI1NjYsIDUyNTcxLCA1MjU3NiwgNTI1ODAsIDUyNTg0LCAKKyAgICA1MjU5MiwgNTI2MDAsIDUyNjA4LCA1MjYxNiwgNTI2MjMsIDUyNjMwLCA1MjY0MywgNTI2NTYsIDUyNjY5LCA1MjY4MiwgCisgICAgNTI2OTAsIDUyNjk4LCA1MjcwNCwgNTI3MTAsIDUyNzE3LCA1MjcyNCwgNTI3MzEsIDUyNzM4LCA1Mjc0MiwgNTI3NDcsIAorICAgIDUyNzU1LCA1Mjc2MywgNTI3NzEsIDUyNzc4LCA1Mjc4MiwgNTI3OTAsIDUyNzk4LCA1MjgwMSwgNTI4MDUsIDUyODEwLCAKKyAgICA1MjgxNywgNTI4MjUsIDUyODMzLCA1Mjg1MywgNTI4NzMsIDUyODkzLCA1MjkxMywgNTI5MzMsIDUyOTUzLCA1Mjk3MywgCisgICAgNTI5OTMsIDUyOTk5LCA1MzAwNiwgNTMwMTUsIDUzMDIzLCA1MzAzMSwgNTMwMzYsIDUzMDM5LCA1MzA0MiwgNTMwNDcsIAorICAgIDUzMDUwLCA1MzA2OSwgNTMwNzYsIDUzMDgyLCA1MzA4OCwgNTMwOTIsIDUzMDk1LCA1MzA5OCwgNTMxMDEsIDUzMTEzLCAKKyAgICA1MzEyNiwgNTMxMzMsIDUzMTQwLCA1MzE0MywgNTMxNDcsIDUzMTUwLCA1MzE1NSwgNTMxNjAsIDUzMTY1LCA1MzE3MSwgCisgICAgNTMxODAsIDUzMTg3LCA1MzE5NCwgNTMyMDIsIDUzMjA5LCA1MzIxNiwgNTMyMTksIDUzMjI1LCA1MzIzMSwgNTMyMzQsIAorICAgIDUzMjM3LCA1MzI0MiwgNTMyNDcsIDUzMjUzLCA1MzI1OSwgNTMyNjMsIDUzMjY4LCA1MzI3NSwgNTMyNzksIDUzMjg1LCAKKyAgICA1MzI4OSwgNTMyOTMsIDUzMzAxLCA1MzMxMywgNTMzMjIsIDUzMzI2LCA1MzMyOCwgNTMzMzcsIDUzMzQ2LCA1MzM1MiwgCisgICAgNTMzNTUsIDUzMzYxLCA1MzM2NywgNTMzNzIsIDUzMzc3LCA1MzM4MiwgNTMzODcsIDUzMzkyLCA1MzM5NywgNTMzOTksIAorICAgIDUzNDA1LCA1MzQxMCwgNTM0MTcsIDUzNDIxLCA1MzQyNywgNTM0MzAsIDUzNDM0LCA1MzQ0MSwgNTM0NDgsIDUzNDUwLCAKKyAgICA1MzQ1MiwgNTM0NTgsIDUzNDY0LCA1MzQ3MCwgNTM0NzksIDUzNDg4LCA1MzQ5NSwgNTM1MDIsIDUzNTA4LCA1MzUxNSwgCisgICAgNTM1MjAsIDUzNTI1LCA1MzUzMCwgNTM1MzYsIDUzNTQyLCA1MzU0NywgNTM1NTQsIDUzNTU4LCA1MzU2MiwgNTM1NzUsIAorICAgIDUzNTg4LCA1MzYwMCwgNTM2MDksIDUzNjE1LCA1MzYyMiwgNTM2MjcsIDUzNjMyLCA1MzYzNywgNTM2NDIsIDUzNjQ3LCAKKyAgICA1MzY0OSwgNTM2NTYsIDUzNjY0LCA1MzY3MiwgNTM2ODAsIDUzNjg3LCA1MzY5NSwgNTM3MDEsIDUzNzA2LCA1MzcxMiwgCisgICAgNTM3MTgsIDUzNzI0LCA1MzczMSwgNTM3MzcsIDUzNzQ1LCA1Mzc1MywgNTM3NjEsIDUzNzY5LCA1Mzc3NywgNTM3ODMsIAorICAgIDUzNzg5LCA1Mzc5OCwgNTM4MDIsIDUzODExLCA1MzgyMCwgNTM4MjksIDUzODM3LCA1Mzg0MSwgNTM4NDcsIDUzODU0LCAKKyAgICA1Mzg2MSwgNTM4NjUsIDUzODcxLCA1Mzg3OSwgNTM4ODUsIDUzODkwLCA1Mzg5NiwgNTM5MDEsIDUzOTA2LCA1MzkxMywgCisgICAgNTM5MjAsIDUzOTI1LCA1MzkzMCwgNTM5MzgsIDUzOTQ2LCA1Mzk1NiwgNTM5NjYsIDUzOTczLCA1Mzk4MCwgNTM5ODQsIAorICAgIDUzOTg4LCA1NDAwMCwgNTQwMDYsIDU0MDEzLCA1NDAxOCwgNTQwMjMsIDU0MDMwLCA1NDAzNywgNTQwNDMsIDU0MDQ5LCAKKyAgICA1NDA1OSwgNTQwNjcsIDU0MDc2LCA1NDA4MywgNTQwOTEsIDU0MDk4LCA1NDEwNCwgNTQxMTEsIDU0MTE3LCA1NDEyNSwgCisgICAgNTQxMzMsIDU0MTQxLCA1NDE0OSwgNTQxNTUsIDU0MTYwLCA1NDE2OSwgNTQxNzksIDU0MTg2LCA1NDE5NSwgNTQyMDEsIAorICAgIDU0MjA2LCA1NDIxMSwgNTQyMjEsIDU0MjI4LCA1NDIzNCwgNTQyNDAsIDU0MjQ4LCA1NDI1MywgNTQyNjAsIDU0MjY3LCAKKyAgICA1NDI3OCwgNTQyODUsIDU0MjkyLCA1NDI5OSwgNTQzMDYsIDU0MzEzLCA1NDMyMSwgNTQzMjksIDU0MzQyLCA1NDM1NSwgCisgICAgNTQzNjcsIDU0Mzc5LCA1NDM5MywgNTQ0MDcsIDU0NDEzLCA1NDQxOSwgNTQ0MjgsIDU0NDM3LCA1NDQ0NCwgNTQ0NTEsIAorICAgIDU0NDYwLCA1NDQ2OSwgNTQ0NzgsIDU0NDg3LCA1NDQ5NSwgNTQ1MDMsIDU0NTEzLCA1NDUyMywgNTQ1MzcsIDU0NTUxLCAKKyAgICA1NDU2MCwgNTQ1NjksIDU0NTgyLCA1NDU5NSwgNTQ2MDQsIDU0NjEzLCA1NDYyNCwgNTQ2MzUsIDU0NjQxLCA1NDY0NywgCisgICAgNTQ2NTYsIDU0NjY1LCA1NDY3MCwgNTQ2NzUsIDU0NjgzLCA1NDY4OSwgNTQ2OTUsIDU0NzAzLCA1NDcxMSwgNTQ3MjQsIAorICAgIDU0NzM3LCA1NDc0MSwgNTQ3NDUsIDU0NzUzLCA1NDc2MSwgNTQ3NjgsIDU0Nzc2LCA1NDc4NCwgNTQ3OTMsIDU0ODAyLCAKKyAgICA1NDgwOCwgNTQ4MTQsIDU0ODIxLCA1NDgyOCwgNTQ4MzUsIDU0ODQyLCA1NDg1MSwgNTQ4NjAsIDU0ODYzLCA1NDg2NiwgCisgICAgNTQ4NzEsIDU0ODc2LCA1NDg4MiwgNTQ4ODgsIDU0ODk1LCA1NDkwMiwgNTQ5MTMsIDU0OTI0LCA1NDkzMSwgNTQ5MzgsIAorICAgIDU0OTQ2LCA1NDk1NCwgNTQ5NjIsIDU0OTcwLCA1NDk3OCwgNTQ5ODYsIDU0OTkzLCA1NTAwMCwgNTUwMDQsIDU1MDA4LCAKKyAgICA1NTAxNiwgNTUwMjQsIDU1MDI5LCA1NTAzNCwgNTUwMzksIDU1MDQ0LCA1NTA1MCwgNTUwNjQsIDU1MDcxLCA1NTA3OCwgCisgICAgNTUwODIsIDU1MDg0LCA1NTA4NiwgNTUwOTEsIDU1MDk2LCA1NTEwMSwgNTUxMDUsIDU1MTEzLCA1NTEyMCwgNTUxMjcsIAorICAgIDU1MTM1LCA1NTE0NywgNTUxNTUsIDU1MTYzLCA1NTE3NCwgNTUxNzgsIDU1MTgyLCA1NTE4OCwgNTUxOTYsIDU1MjA5LCAKKyAgICA1NTIxNiwgNTUyMjMsIDU1MjMwLCA1NTIzNSwgNTUyNDIsIDU1MjUxLCA1NTI1OSwgNTUyNjUsIDU1MjcxLCA1NTI3NywgCisgICAgNTUyODcsIDU1Mjk3LCA1NTMwNSwgNTUzMTQsIDU1MzE5LCA1NTMyMiwgNTUzMjcsIDU1MzMyLCA1NTMzNywgNTUzNDIsIAorICAgIDU1MzQ3LCA1NTM1MSwgNTUzNTQsIDU1MzU3LCA1NTM2MCwgNTUzNjUsIDU1MzcwLCA1NTM3NSwgNTUzODAsIDU1Mzg0LCAKKyAgICA1NTM4OCwgNTUzOTUsIDU1NDAyLCA1NTQwOSwgNTU0MTYsIDU1NDIzLCA1NTQzMCwgNTU0NDAsIDU1NDUwLCA1NTQ1NywgCisgICAgNTU0NjQsIDU1NDcyLCA1NTQ4MCwgNTU0ODQsIDU1NDg5LCA1NTQ5NCwgNTU1MDAsIDU1NTA2LCA1NTUwOSwgNTU1MTIsIAorICAgIDU1NTE1LCA1NTUxOCwgNTU1MjIsIDU1NTI3LCA1NTUzMiwgNTU1MzcsIDU1NTQyLCA1NTU0NywgNTU1NTEsIDU1NTU1LCAKKyAgICA1NTU1OSwgNTU1NjMsIDU1NTY3LCA1NTU3MSwgNTU1NzUsIDU1NTgxLCA1NTU4NSwgNTU1OTEsIDU1NTk2LCA1NTYwMywgCisgICAgNTU2MTEsIDU1NjE4LCA1NTYyNiwgNTU2MzMsIDU1NjQxLCA1NTY1MCwgNTU2NTcsIDU1NjY3LCA1NTY3OCwgNTU2ODQsIAorICAgIDU1NjkzLCA1NTY5OSwgNTU3MDgsIDU1NzE3LCA1NTcyMywgNTU3MjksIDU1NzMzLCA1NTczNywgNTU3NDYsIDU1NzU1LCAKKyAgICA1NTc2MiwgNTU3NjksIDU1Nzc4LCA1NTc4NywgNTU3OTMsIDU1Nzk5LCA1NTgwNSwgNTU4MTAsIDU1ODE0LCA1NTgxOCwgCisgICAgNTU4MjMsIDU1ODI4LCA1NTgzMywgNTU4NDEsIDU1ODQ5LCA1NTg1MiwgNTU4NTYsIDU1ODY1LCA1NTg3NCwgNTU4ODIsIAorICAgIDU1ODkwLCA1NTkwMSwgNTU5MTQsIDU1OTE4LCA1NTkyMiwgNTU5MjYsIDU1OTMwLCA1NTkzNSwgNTU5NDAsIDU1OTQ2LCAKKyAgICA1NTk1MiwgNTU5NTgsIDU1OTY0LCA1NTk3MCwgNTU5NzYsIDU1OTgyLCA1NTk4OCwgNTU5OTcsIDU2MDA2LCA1NjAxMywgCisgICAgNTYwMjAsIDU2MDI3LCAwLCAwLCA1NjAzNCwgNTYwNDMsIDU2MDUyLCA1NjA2MSwgNTYwNzAsIDU2MDc4LCA1NjA4NiwgCisgICAgNTYwOTQsIDU2MTAyLCA1NjEwNywgNTYxMTIsIDU2MTIxLCA1NjEzMSwgNTYxNDAsIDU2MTUwLCA1NjE1NywgNTYxNjQsIAorICAgIDU2MTcxLCA1NjE3OCwgNTYxODMsIDU2MTg4LCA1NjE5MywgNTYxOTgsIDU2MjA2LCA1NjIxNSwgNTYyMjMsIDU2MjMyLCAKKyAgICA1NjIzNiwgNTYyNDAsIDU2MjQ0LCA1NjI0OCwgNTYyNTgsIDAsIDAsIDU2MjYxLCA1NjI3MCwgNTYyNzksIDU2Mjg4LCAKKyAgICA1NjI5NywgNTYzMDMsIDU2MzA5LCA1NjMxNSwgNTYzMjEsIDU2MzMxLCA1NjM0MSwgNTYzNTEsIDU2MzYxLCA1NjM3MSwgCisgICAgNTYzODEsIDU2MzkxLCA1NjQwMSwgNTY0MDgsIDU2NDE1LCA1NjQyMiwgNTY0MjksIDU2NDM2LCA1NjQ0MywgNTY0NTAsIAorICAgIDU2NDU3LCA1NjQ2MywgNTY0NjksIDU2NDc1LCA1NjQ4MSwgNTY0ODcsIDU2NDkzLCA1NjQ5OSwgNTY1MDUsIDU2NTE1LCAwLCAKKyAgICAwLCAwLCA1NjUyNSwgNTY1MzIsIDU2NTM1LCA1NjUzOSwgNTY1NDMsIDU2NTQ4LCA1NjU1MiwgNTY1NTYsIDU2NTU5LCAKKyAgICA1NjU2OCwgNTY1NzcsIDU2NTg2LCAwLCA1NjU5NSwgNTY2MDEsIDU2NjA3LCA1NjYxNSwgNTY2MjUsIDU2NjMyLCA1NjY0MSwgCisgICAgNTY2NDYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDU2NjQ5LCA1NjY1NCwgNTY2NTksIDU2NjY0LCA1NjY2OSwgNTY2NzQsIDU2Njc5LCA1NjY4NCwgNTY2ODksIDU2Njk0LCAKKyAgICA1NjY5OSwgNTY3MDUsIDU2NzA5LCA1NjcxNCwgNTY3MTksIDU2NzI0LCA1NjcyOSwgNTY3MzQsIDU2NzM5LCA1Njc0NCwgCisgICAgNTY3NDksIDU2NzU0LCA1Njc1OSwgNTY3NjQsIDU2NzY5LCA1Njc3NCwgNTY3NzksIDU2Nzg0LCA1Njc4OSwgNTY3OTQsIAorICAgIDU2Nzk5LCA1NjgwNCwgNTY4MDksIDU2ODE0LCA1NjgxOSwgNTY4MjUsIDU2ODMwLCA1NjgzNiwgNTY4NDUsIDU2ODUwLCAKKyAgICA1Njg1OCwgNTY4NjUsIDU2ODc0LCA1Njg3OSwgNTY4ODQsIDU2ODg5LCA1Njg5NSwgMCwgNTY5MDIsIDU2OTA3LCA1NjkxMiwgCisgICAgNTY5MTcsIDU2OTIyLCA1NjkyNywgNTY5MzIsIDU2OTM3LCA1Njk0MiwgNTY5NDcsIDU2OTUyLCA1Njk1OCwgNTY5NjIsIAorICAgIDU2OTY3LCA1Njk3MiwgNTY5NzcsIDU2OTgyLCA1Njk4NywgNTY5OTIsIDU2OTk3LCA1NzAwMiwgNTcwMDcsIDU3MDEyLCAKKyAgICA1NzAxNywgNTcwMjIsIDU3MDI3LCA1NzAzMiwgNTcwMzcsIDU3MDQyLCA1NzA0NywgNTcwNTIsIDU3MDU3LCA1NzA2MiwgCisgICAgNTcwNjcsIDU3MDcyLCA1NzA3OCwgNTcwODMsIDU3MDg5LCA1NzA5OCwgNTcxMDMsIDU3MTExLCA1NzExOCwgNTcxMjcsIAorICAgIDU3MTMyLCA1NzEzNywgNTcxNDIsIDU3MTQ4LCAwLCA1NzE1NSwgNTcxNjMsIDU3MTcxLCA1NzE4MSwgNTcxODgsIDU3MTk2LCAKKyAgICA1NzIwMiwgNTcyMTEsIDU3MjE5LCA1NzIyNywgNTcyMzUsIDU3MjQzLCA1NzI1MSwgNTcyNTksIDU3MjY0LCA1NzI3MSwgCisgICAgNTcyNzYsIDU3MjgyLCA1NzI5MCwgNTcyOTcsIDU3MzA0LCA1NzMxMiwgNTczMTgsIDU3MzI0LCA1NzMzMSwgNTczMzgsIAorICAgIDU3MzQ3LCA1NzM1NywgNTczNjMsIDU3MzcwLCA1NzM3NSwgNTczODUsIDU3Mzk1LCA1NzQwMCwgNTc0MDUsIDU3NDEwLCAKKyAgICA1NzQxNSwgNTc0MjAsIDU3NDI1LCA1NzQzMCwgNTc0MzUsIDU3NDQwLCA1NzQ0NSwgNTc0NTAsIDU3NDU1LCA1NzQ2MCwgCisgICAgNTc0NjUsIDU3NDcwLCA1NzQ3NSwgNTc0ODAsIDU3NDg1LCA1NzQ5MCwgNTc0OTUsIDU3NTAwLCA1NzUwNSwgNTc1MTAsIAorICAgIDU3NTE1LCA1NzUyMCwgNTc1MjUsIDU3NTMwLCA1NzUzNSwgNTc1NDAsIDU3NTQ1LCA1NzU0OSwgNTc1NTMsIDU3NTU4LCAKKyAgICA1NzU2MywgNTc1NjgsIDU3NTczLCA1NzU3OCwgNTc1ODMsIDU3NTg4LCA1NzU5MywgNTc1OTgsIDU3NjAzLCA1NzYwOCwgCisgICAgNTc2MTMsIDU3NjE4LCA1NzYyMywgNTc2MjgsIDU3NjMzLCA1NzYzOCwgNTc2NDMsIDU3NjUwLCA1NzY1NywgNTc2NjQsIAorICAgIDU3NjcxLCA1NzY3OCwgNTc2ODUsIDU3NjkyLCA1NzY5OSwgNTc3MDYsIDU3NzEzLCA1NzcyMCwgNTc3MjcsIDU3NzM0LCAKKyAgICA1Nzc0MSwgNTc3NDYsIDU3NzUxLCA1Nzc1OCwgNTc3NjUsIDU3NzcyLCA1Nzc3OSwgNTc3ODYsIDU3NzkzLCA1NzgwMCwgCisgICAgNTc4MDcsIDU3ODE0LCA1NzgyMSwgNTc4MjgsIDU3ODM1LCA1Nzg0MSwgNTc4NDcsIDU3ODUzLCA1Nzg1OSwgNTc4NjYsIAorICAgIDU3ODczLCA1Nzg4MCwgNTc4ODcsIDU3ODk0LCA1NzkwMSwgNTc5MDgsIDU3OTE1LCA1NzkyMiwgNTc5MjksIDU3OTM3LCAKKyAgICA1Nzk0NSwgNTc5NTMsIDU3OTYxLCA1Nzk2OSwgNTc5NzcsIDU3OTg1LCA1Nzk5MywgNTc5OTcsIDU4MDAzLCA1ODAwOSwgCisgICAgNTgwMTMsIDU4MDE5LCA1ODAyNSwgNTgwMzEsIDU4MDM4LCA1ODA0NSwgNTgwNTIsIDU4MDU5LCA1ODA2NCwgNTgwNzAsIAorICAgIDU4MDc2LCA1ODA4MywgMCwgMCwgMCwgMCwgMCwgNTgwOTAsIDU4MDk4LCA1ODEwNywgNTgxMTYsIDU4MTI0LCA1ODEzMCwgCisgICAgNTgxMzUsIDU4MTQwLCA1ODE0NSwgNTgxNTAsIDU4MTU1LCA1ODE2MCwgNTgxNjUsIDU4MTcwLCA1ODE3NSwgNTgxODAsIAorICAgIDU4MTg1LCA1ODE5MCwgNTgxOTUsIDU4MjAwLCA1ODIwNSwgNTgyMTAsIDU4MjE1LCA1ODIyMCwgNTgyMjUsIDU4MjMwLCAKKyAgICA1ODIzNSwgNTgyNDAsIDU4MjQ1LCA1ODI1MCwgNTgyNTUsIDU4MjYwLCA1ODI2NSwgNTgyNzAsIDU4Mjc1LCA1ODI4MCwgCisgICAgNTgyODUsIDU4MjkwLCA1ODI5NSwgNTgzMDAsIDU4MzA1LCA1ODMxMCwgNTgzMTUsIDU4MzIwLCA1ODMyNSwgMCwgNTgzMzAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDU4MzM1LCAwLCAwLCA1ODM0MCwgNTgzNDQsIDU4MzQ5LCA1ODM1NCwgNTgzNTksIDU4MzY0LCAKKyAgICA1ODM3MywgNTgzNzgsIDU4MzgzLCA1ODM4OCwgNTgzOTMsIDU4Mzk4LCA1ODQwMywgNTg0MDgsIDU4NDEzLCA1ODQyMCwgCisgICAgNTg0MjUsIDU4NDMwLCA1ODQzOSwgNTg0NDYsIDU4NDUxLCA1ODQ1NiwgNTg0NjEsIDU4NDY4LCA1ODQ3MywgNTg0ODAsIAorICAgIDU4NDg1LCA1ODQ5MCwgNTg0OTcsIDU4NTA0LCA1ODUwOSwgNTg1MTQsIDU4NTE5LCA1ODUyNiwgNTg1MzMsIDU4NTM4LCAKKyAgICA1ODU0MywgNTg1NDgsIDU4NTUzLCA1ODU1OCwgNTg1NjUsIDU4NTcyLCA1ODU3NywgNTg1ODIsIDU4NTg3LCA1ODU5MiwgCisgICAgNTg1OTcsIDU4NjAyLCA1ODYwNywgNTg2MTIsIDU4NjE3LCA1ODYyMiwgNTg2MjcsIDU4NjM0LCA1ODYzOSwgNTg2NDQsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDU4NjQ5LCA1ODY1NiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgNTg2NjEsIDU4NjY2LCA1ODY3MCwgNTg2NzQsIDU4Njc4LCA1ODY4MiwgNTg2ODYsIDU4NjkwLCA1ODY5NCwgNTg2OTgsIAorICAgIDU4NzAyLCA1ODcwNiwgNTg3MTIsIDU4NzE2LCA1ODcyMCwgNTg3MjQsIDU4NzI4LCA1ODczMiwgNTg3MzYsIDU4NzQwLCAKKyAgICA1ODc0NCwgNTg3NDgsIDU4NzUyLCA1ODc1NiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTg3NjAsIDU4NzY0LCAKKyAgICA1ODc2OCwgNTg3NzIsIDU4Nzc2LCA1ODc4MCwgNTg3ODQsIDAsIDU4Nzg4LCA1ODc5MiwgNTg3OTYsIDU4ODAwLCA1ODgwNCwgCisgICAgNTg4MDgsIDU4ODEyLCAwLCA1ODgxNiwgNTg4MjAsIDU4ODI0LCA1ODgyOCwgNTg4MzIsIDU4ODM2LCA1ODg0MCwgMCwgCisgICAgNTg4NDQsIDU4ODQ4LCA1ODg1MiwgNTg4NTYsIDU4ODYwLCA1ODg2NCwgNTg4NjgsIDAsIDU4ODcyLCA1ODg3NiwgNTg4ODAsIAorICAgIDU4ODg0LCA1ODg4OCwgNTg4OTIsIDU4ODk2LCAwLCA1ODkwMCwgNTg5MDQsIDU4OTA4LCA1ODkxMiwgNTg5MTYsIDU4OTIwLCAKKyAgICA1ODkyNCwgMCwgNTg5MjgsIDU4OTMyLCA1ODkzNiwgNTg5NDAsIDU4OTQ0LCA1ODk0OCwgNTg5NTIsIDAsIDU4OTU2LCAKKyAgICA1ODk2MCwgNTg5NjQsIDU4OTY4LCA1ODk3MiwgNTg5NzYsIDU4OTgwLCAwLCA1ODk4NCwgNTg5ODksIDU4OTk0LCA1ODk5OSwgCisgICAgNTkwMDQsIDU5MDA5LCA1OTAxNCwgNTkwMTgsIDU5MDIzLCA1OTAyOCwgNTkwMzMsIDU5MDM3LCA1OTA0MiwgNTkwNDcsIAorICAgIDU5MDUyLCA1OTA1NywgNTkwNjEsIDU5MDY2LCA1OTA3MSwgNTkwNzYsIDU5MDgxLCA1OTA4NiwgNTkwOTEsIDU5MDk1LCAKKyAgICA1OTEwMCwgNTkxMDUsIDU5MTEyLCA1OTExNywgNTkxMjIsIDU5MTI4LCA1OTEzNSwgNTkxNDIsIDU5MTUxLCA1OTE1OCwgCisgICAgNTkxNjcsIDU5MTcxLCA1OTE3NSwgNTkxODEsIDU5MTg3LCA1OTE5MywgNTkyMDEsIDU5MjA3LCA1OTIxMSwgNTkyMTUsIAorICAgIDU5MjE5LCA1OTIyNSwgNTkyMzEsIDU5MjM1LCA1OTIzNywgNTkyNDEsIDU5MjQ3LCA1OTI0OSwgNTkyNTMsIDU5MjU2LCAKKyAgICA1OTI1OSwgNTkyNjUsIDU5MjcwLCA1OTI3NCwgNTkyNzgsIDU5MjgzLCA1OTI4OSwgNTkyOTQsIDU5Mjk5LCA1OTMwNCwgCisgICAgNTkzMDksIDU5MzE2LCA1OTMyMywgNTkzMjgsIDU5MzMzLCA1OTMzOCwgNTkzNDMsIDU5MzQ4LCA1OTM1MywgNTkzNTcsIAorICAgIDU5MzYxLCA1OTM2OCwgNTkzNzUsIDU5MzgxLCA1OTM4NSwgNTkzOTAsIDU5MzkzLCA1OTM5NywgNTk0MDUsIDU5NDA4LCAKKyAgICA1OTQxMiwgNTk0MTYsIDU5NDE5LCA1OTQyNSwgNTk0MzEsIDU5NDM0LCA1OTQ0MCwgNTk0NDQsIDU5NDQ4LCA1OTQ1NCwgCisgICAgNTk0NTksIDU5NDY0LCA1OTQ2NiwgNTk0NjksIDU5NDczLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICA1OTQ3OSwgNTk0ODMsIDU5NDg3LCA1OTQ5MiwgNTk0OTcsIDU5NTAyLCA1OTUwNiwgNTk1MTAsIDU5NTE0LCA1OTUxOSwgCisgICAgNTk1MjQsIDU5NTI4LCA1OTUzMiwgNTk1MzYsIDU5NTQwLCA1OTU0NSwgNTk1NTAsIDU5NTU1LCA1OTU2MCwgNTk1NjQsIAorICAgIDU5NTY4LCA1OTU3MywgNTk1NzgsIDU5NTgzLCA1OTU4OCwgNTk1OTIsIDAsIDU5NTk2LCA1OTYwMCwgNTk2MDQsIDU5NjA4LCAKKyAgICA1OTYxMiwgNTk2MTYsIDU5NjIwLCA1OTYyNSwgNTk2MzAsIDU5NjM0LCA1OTYzOSwgNTk2NDQsIDU5NjUzLCA1OTY1NywgCisgICAgNTk2NjEsIDU5NjY1LCA1OTY3MiwgNTk2NzYsIDU5NjgxLCA1OTY4NiwgNTk2OTAsIDU5Njk0LCA1OTcwMCwgNTk3MDUsIAorICAgIDU5NzEwLCA1OTcxNSwgNTk3MjAsIDU5NzI0LCA1OTcyOCwgNTk3MzIsIDU5NzM2LCA1OTc0MCwgNTk3NDUsIDU5NzUwLCAKKyAgICA1OTc1NCwgNTk3NTgsIDU5NzYzLCA1OTc2OCwgNTk3NzMsIDU5Nzc3LCA1OTc4MSwgNTk3ODYsIDU5NzkxLCA1OTc5NywgCisgICAgNTk4MDMsIDU5ODA3LCA1OTgxMywgNTk4MTksIDU5ODIzLCA1OTgyOSwgNTk4MzUsIDU5ODQwLCA1OTg0NSwgNTk4NDksIAorICAgIDU5ODU1LCA1OTg1OSwgNTk4NjMsIDU5ODY5LCA1OTg3NSwgNTk4ODAsIDU5ODg1LCA1OTg4OSwgNTk4OTMsIDU5OTAxLCAKKyAgICA1OTkwNywgNTk5MTMsIDU5OTE5LCA1OTkyNCwgNTk5MjksIDU5OTM0LCA1OTk0MCwgNTk5NDQsIDU5OTUwLCA1OTk1NCwgCisgICAgNTk5NTgsIDU5OTY0LCA1OTk3MCwgNTk5NzYsIDU5OTgyLCA1OTk4OCwgNTk5OTQsIDYwMDAwLCA2MDAwNiwgNjAwMTIsIAorICAgIDYwMDE4LCA2MDAyNCwgNjAwMzAsIDYwMDM0LCA2MDA0MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgNjAwNDYsIDYwMDQ5LCA2MDA1MywgNjAwNTcsIDYwMDYxLCA2MDA2NSwgNjAwNjgsIDYwMDcxLCA2MDA3NSwgNjAwNzksIAorICAgIDYwMDgzLCA2MDA4NywgNjAwOTAsIDYwMDk1LCA2MDA5OSwgNjAxMDMsIDYwMTA3LCA2MDExMywgNjAxMTcsIDYwMTIxLCAKKyAgICA2MDEyNSwgNjAxMjksIDYwMTM2LCA2MDE0MiwgNjAxNDYsIDYwMTUwLCA2MDE1NCwgNjAxNTgsIDYwMTYyLCA2MDE2NiwgCisgICAgNjAxNzAsIDYwMTc0LCA2MDE3OCwgNjAxODIsIDYwMTg2LCA2MDE5MiwgNjAxOTYsIDYwMjAwLCA2MDIwNCwgNjAyMDgsIAorICAgIDYwMjEyLCA2MDIxNiwgNjAyMjAsIDYwMjI0LCA2MDIyOCwgNjAyMzIsIDYwMjM2LCA2MDI0MCwgNjAyNDQsIDYwMjQ4LCAKKyAgICA2MDI1MiwgNjAyNTYsIDYwMjYyLCA2MDI2OCwgNjAyNzMsIDYwMjc4LCA2MDI4MiwgNjAyODYsIDYwMjkwLCA2MDI5NCwgCisgICAgNjAyOTgsIDYwMzAyLCA2MDMwNiwgNjAzMTAsIDYwMzE0LCA2MDMxOCwgNjAzMjIsIDYwMzI2LCA2MDMzMCwgNjAzMzQsIAorICAgIDYwMzM4LCA2MDM0MiwgNjAzNDYsIDYwMzUwLCA2MDM1NCwgNjAzNTgsIDYwMzYyLCA2MDM2NiwgNjAzNzAsIDYwMzc0LCAKKyAgICA2MDM4MCwgNjAzODQsIDYwMzg4LCA2MDM5MiwgNjAzOTYsIDYwNDAwLCA2MDQwNCwgNjA0MDgsIDYwNDEyLCA2MDQxNywgCisgICAgNjA0MjQsIDYwNDI4LCA2MDQzMiwgNjA0MzYsIDYwNDQwLCA2MDQ0NCwgNjA0NDgsIDYwNDUyLCA2MDQ1NiwgNjA0NjAsIAorICAgIDYwNDY0LCA2MDQ2OCwgNjA0NzIsIDYwNDc5LCA2MDQ4MywgNjA0ODksIDYwNDkzLCA2MDQ5NywgNjA1MDEsIDYwNTA1LCAKKyAgICA2MDUwOSwgNjA1MTIsIDYwNTE2LCA2MDUyMCwgNjA1MjQsIDYwNTI4LCA2MDUzMiwgNjA1MzYsIDYwNTQwLCA2MDU0NCwgCisgICAgNjA1NDgsIDYwNTUyLCA2MDU1NiwgNjA1NjAsIDYwNTY0LCA2MDU2OCwgNjA1NzIsIDYwNTc2LCA2MDU4MCwgNjA1ODQsIAorICAgIDYwNTg4LCA2MDU5MiwgNjA1OTYsIDYwNjAwLCA2MDYwNCwgNjA2MDgsIDYwNjEyLCA2MDYxNiwgNjA2MjAsIDYwNjI0LCAKKyAgICA2MDYyOCwgNjA2MzIsIDYwNjM2LCA2MDY0MCwgNjA2NDYsIDYwNjUwLCA2MDY1NCwgNjA2NTgsIDYwNjYyLCA2MDY2NiwgCisgICAgNjA2NzAsIDYwNjc0LCA2MDY3OCwgNjA2ODIsIDYwNjg2LCA2MDY5MCwgNjA2OTQsIDYwNjk4LCA2MDcwMiwgNjA3MDYsIAorICAgIDYwNzEwLCA2MDcxNCwgNjA3MTgsIDYwNzIyLCA2MDcyNiwgNjA3MzAsIDYwNzM0LCA2MDczOCwgNjA3NDIsIDYwNzQ2LCAKKyAgICA2MDc1MCwgNjA3NTQsIDYwNzYyLCA2MDc2NiwgNjA3NzAsIDYwNzc0LCA2MDc3OCwgNjA3ODIsIDYwNzg4LCA2MDc5MiwgCisgICAgNjA3OTYsIDYwODAwLCA2MDgwNCwgNjA4MDgsIDYwODEyLCA2MDgxNiwgNjA4MjAsIDYwODI0LCA2MDgyOCwgNjA4MzIsIAorICAgIDYwODM2LCA2MDg0MCwgNjA4NDYsIDYwODUwLCA2MDg1NCwgNjA4NTgsIDYwODYyLCA2MDg2NiwgNjA4NzAsIDYwODc0LCAKKyAgICA2MDg3OCwgNjA4ODIsIDYwODg2LCA2MDg5MCwgNjA4OTQsIDYwODk4LCA2MDkwMiwgNjA5MDYsIDYwOTEwLCA2MDkxNCwgCisgICAgNjA5MTgsIDYwOTIyLCA2MDkyNiwgNjA5MzAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDYwOTM0LCA2MDk0MywgNjA5NTEsIDYwOTYzLCA2MDk3NCwgCisgICAgNjA5ODIsIDYwOTkxLCA2MTAwMCwgNjEwMTAsIDYxMDIyLCA2MTAzNCwgNjEwNDYsIDAsIDAsIDAsIDAsIDYxMDUyLCAKKyAgICA2MTA1NSwgNjEwNTgsIDYxMDYzLCA2MTA2NiwgNjEwNzMsIDYxMDc3LCA2MTA4MSwgNjEwODUsIDYxMDg5LCA2MTA5MywgCisgICAgNjEwOTgsIDYxMTAzLCA2MTEwNywgNjExMTEsIDYxMTE2LCA2MTEyMSwgNjExMjYsIDYxMTMxLCA2MTEzNCwgNjExMzcsIAorICAgIDYxMTQzLCA2MTE0OSwgNjExNTQsIDYxMTU5LCA2MTE2NiwgNjExNzMsIDYxMTc3LCA2MTE4MSwgNjExODUsIDYxMTkzLCAKKyAgICA2MTE5OSwgNjEyMDYsIDYxMjExLCA2MTIxNiwgNjEyMjEsIDYxMjI2LCA2MTIzMSwgNjEyMzYsIDYxMjQxLCA2MTI0NiwgCisgICAgNjEyNTEsIDYxMjU2LCA2MTI2MSwgNjEyNjYsIDYxMjcxLCA2MTI3NiwgNjEyODIsIDYxMjg3LCA2MTI5MSwgNjEyOTcsIAorICAgIDYxMzA4LCA2MTMxOCwgNjEzMzMsIDYxMzQzLCA2MTM0NywgNjEzNTcsIDYxMzYzLCA2MTM2OSwgNjEzNzUsIDYxMzgwLCAKKyAgICA2MTM4MywgNjEzODgsIDYxMzkyLCAwLCA2MTM5OCwgNjE0MDIsIDYxNDA1LCA2MTQwOSwgNjE0MTIsIDYxNDE2LCA2MTQxOSwgCisgICAgNjE0MjMsIDYxNDI2LCA2MTQzMCwgNjE0MzMsIDYxNDM2LCA2MTQ0MCwgNjE0NDQsIDYxNDQ4LCA2MTQ1MiwgNjE0NTYsIAorICAgIDYxNDYwLCA2MTQ2NCwgNjE0NjgsIDYxNDcyLCA2MTQ3NiwgNjE0ODAsIDYxNDg0LCA2MTQ4OCwgNjE0OTIsIDYxNDk2LCAKKyAgICA2MTUwMCwgNjE1MDQsIDYxNTA4LCA2MTUxMiwgNjE1MTYsIDYxNTIwLCA2MTUyNCwgNjE1MjgsIDYxNTMzLCA2MTUzNywgCisgICAgNjE1NDEsIDYxNTQ1LCA2MTU0OSwgNjE1NTIsIDYxNTU2LCA2MTU1OSwgNjE1NjMsIDYxNTY3LCA2MTU3MSwgNjE1NzUsIAorICAgIDYxNTc4LCA2MTU4MiwgNjE1ODUsIDYxNTg5LCA2MTU5MywgNjE1OTcsIDYxNjAxLCA2MTYwNSwgNjE2MDksIDYxNjEzLCAKKyAgICA2MTYxNywgNjE2MjEsIDYxNjI1LCA2MTYyOSwgNjE2MzMsIDYxNjM2LCA2MTY0MCwgNjE2NDQsIDYxNjQ4LCA2MTY1MiwgCisgICAgNjE2NTYsIDYxNjU5LCA2MTY2NCwgNjE2NjgsIDYxNjczLCA2MTY3NywgNjE2ODEsIDYxNjg1LCA2MTY4OSwgNjE2OTMsIAorICAgIDYxNjk3LCA2MTcwMiwgNjE3MDYsIDYxNzEwLCA2MTcxNCwgNjE3MTgsIDYxNzIyLCA2MTcyNiwgNjE3MzAsIDAsIDAsIAorICAgIDYxNzM1LCA2MTc0MywgNjE3NTEsIDYxNzU4LCA2MTc2NSwgNjE3NjksIDYxNzc1LCA2MTc4MCwgNjE3ODUsIDYxNzg5LCAKKyAgICA2MTc5MiwgNjE3OTYsIDYxNzk5LCA2MTgwMywgNjE4MDYsIDYxODEwLCA2MTgxMywgNjE4MTcsIDYxODIwLCA2MTgyMywgCisgICAgNjE4MjcsIDYxODMxLCA2MTgzNSwgNjE4MzksIDYxODQzLCA2MTg0NywgNjE4NTEsIDYxODU1LCA2MTg1OSwgNjE4NjMsIAorICAgIDYxODY3LCA2MTg3MSwgNjE4NzUsIDYxODc5LCA2MTg4MywgNjE4ODcsIDYxODkxLCA2MTg5NSwgNjE4OTksIDYxOTAzLCAKKyAgICA2MTkwNywgNjE5MTEsIDYxOTE1LCA2MTkyMCwgNjE5MjQsIDYxOTI4LCA2MTkzMiwgNjE5MzYsIDYxOTM5LCA2MTk0MywgCisgICAgNjE5NDYsIDYxOTUwLCA2MTk1NCwgNjE5NTgsIDYxOTYyLCA2MTk2NSwgNjE5NjksIDYxOTcyLCA2MTk3NiwgNjE5ODAsIAorICAgIDYxOTg0LCA2MTk4OCwgNjE5OTIsIDYxOTk2LCA2MjAwMCwgNjIwMDQsIDYyMDA4LCA2MjAxMiwgNjIwMTYsIDYyMDIwLCAKKyAgICA2MjAyMywgNjIwMjcsIDYyMDMxLCA2MjAzNSwgNjIwMzksIDYyMDQzLCA2MjA0NiwgNjIwNTEsIDYyMDU1LCA2MjA2MCwgCisgICAgNjIwNjQsIDYyMDY4LCA2MjA3MiwgNjIwNzYsIDYyMDgwLCA2MjA4NCwgNjIwODksIDYyMDkzLCA2MjA5NywgNjIxMDEsIAorICAgIDYyMTA1LCA2MjEwOSwgNjIxMTMsIDYyMTE3LCA2MjEyMiwgNjIxMjYsIDYyMTMwLCA2MjEzNCwgNjIxMzgsIDYyMTQzLCAKKyAgICA2MjE1MCwgNjIxNTQsIDYyMTYwLCAwLCAwLCAwLCAwLCAwLCA2MjE2NSwgNjIxNzAsIDYyMTc1LCA2MjE4MCwgNjIxODUsIAorICAgIDYyMTkwLCA2MjE5NSwgNjIyMDAsIDYyMjA0LCA2MjIwOSwgNjIyMTQsIDYyMjE5LCA2MjIyNCwgNjIyMjksIDYyMjM0LCAKKyAgICA2MjIzOSwgNjIyNDQsIDYyMjQ5LCA2MjI1MywgNjIyNTgsIDYyMjYzLCA2MjI2NywgNjIyNzEsIDYyMjc1LCA2MjI3OSwgCisgICAgNjIyODQsIDYyMjg5LCA2MjI5NCwgNjIyOTksIDYyMzA0LCA2MjMwOSwgNjIzMTQsIDYyMzE5LCA2MjMyNCwgNjIzMjksIAorICAgIDYyMzMzLCA2MjMzNywgNjIzNDIsIDYyMzQ3LCA2MjM1MiwgNjIzNTcsIDAsIDAsIDAsIDYyMzYyLCA2MjM2NiwgNjIzNzAsIAorICAgIDYyMzc0LCA2MjM3OCwgNjIzODIsIDYyMzg2LCA2MjM5MCwgNjIzOTQsIDYyMzk4LCA2MjQwMiwgNjI0MDYsIDYyNDEwLCAKKyAgICA2MjQxNCwgNjI0MTgsIDYyNDIyLCA2MjQyNiwgNjI0MzAsIDYyNDM0LCA2MjQzOCwgNjI0NDIsIDYyNDQ2LCA2MjQ1MCwgCisgICAgNjI0NTQsIDYyNDU4LCA2MjQ2MiwgNjI0NjYsIDYyNDcwLCA2MjQ3NCwgNjI0NzgsIDYyNDgyLCA2MjQ4NSwgNjI0ODksIAorICAgIDYyNDkyLCA2MjQ5NiwgNjI1MDAsIDYyNTAzLCA2MjUwNywgNjI1MTEsIDYyNTE0LCA2MjUxOCwgNjI1MjIsIDYyNTI2LCAKKyAgICA2MjUzMCwgNjI1MzMsIDYyNTM3LCA2MjU0MSwgNjI1NDUsIDYyNTQ5LCA2MjU1MywgNjI1NTcsIDYyNTYwLCA2MjU2MywgCisgICAgNjI1NjcsIDYyNTcxLCA2MjU3NSwgNjI1NzksIDYyNTgzLCA2MjU4NywgNjI1OTEsIDYyNTk1LCA2MjU5OSwgNjI2MDMsIAorICAgIDYyNjA3LCA2MjYxMSwgNjI2MTUsIDYyNjE5LCA2MjYyMywgNjI2MjcsIDYyNjMxLCA2MjYzNSwgNjI2MzksIDYyNjQzLCAKKyAgICA2MjY0NywgNjI2NTEsIDYyNjU1LCA2MjY1OSwgNjI2NjMsIDYyNjY3LCA2MjY3MSwgNjI2NzUsIDYyNjc5LCA2MjY4MywgCisgICAgNjI2ODcsIDYyNjkxLCA2MjY5NSwgNjI2OTksIDYyNzAzLCA2MjcwNywgNjI3MTEsIDYyNzE1LCA2MjcxOSwgNjI3MjMsIAorICAgIDYyNzI3LCAwLCA2MjczMSwgNjI3MzcsIDYyNzQzLCA2Mjc0OCwgNjI3NTMsIDYyNzU4LCA2Mjc2NCwgNjI3NzAsIDYyNzc2LCAKKyAgICA2Mjc4MiwgNjI3ODgsIDYyNzk0LCA2MjgwMCwgNjI4MDYsIDYyODEyLCA2MjgxOCwgNjI4MjQsIDYyODI5LCA2MjgzNCwgCisgICAgNjI4MzksIDYyODQ0LCA2Mjg0OSwgNjI4NTQsIDYyODU5LCA2Mjg2NCwgNjI4NjksIDYyODc0LCA2Mjg3OSwgNjI4ODQsIAorICAgIDYyODg5LCA2Mjg5NCwgNjI4OTksIDYyOTA0LCA2MjkwOSwgNjI5MTQsIDYyOTE5LCA2MjkyNCwgNjI5MzAsIDYyOTM2LCAKKyAgICA2Mjk0MiwgNjI5NDgsIDYyOTUzLCA2Mjk1OCwgMCwgMCwgMCwgMCwgMCwgNjI5NjMsIDYyOTY4LCA2Mjk3MywgNjI5NzgsIAorICAgIDYyOTgzLCA2Mjk4OCwgNjI5OTMsIDYyOTk4LCA2MzAwMywgNjMwMDgsIDYzMDEzLCA2MzAxOCwgNjMwMjMsIDYzMDI4LCAKKyAgICA2MzAzMywgNjMwMzgsIDYzMDQzLCA2MzA0OCwgNjMwNTIsIDYzMDU3LCA2MzA2MiwgNjMwNjcsIDYzMDcyLCA2MzA3NywgCisgICAgNjMwODIsIDYzMDg3LCA2MzA5MiwgNjMwOTcsIDYzMTAyLCA2MzEwNywgNjMxMTIsIDYzMTE3LCA2MzEyMiwgNjMxMjcsIAorICAgIDYzMTMyLCA2MzEzNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjMxNDIsIDYzMTQ3LCA2MzE1MiwgCisgICAgNjMxNTcsIDYzMTYxLCA2MzE2NiwgNjMxNzAsIDYzMTc1LCA2MzE4MCwgNjMxODUsIDYzMTkwLCA2MzE5NSwgNjMyMDAsIAorICAgIDYzMjA1LCA2MzIxMCwgNjMyMTUsIDYzMjIwLCA2MzIyNCwgNjMyMjgsIDYzMjMyLCA2MzIzNiwgNjMyNDAsIDYzMjQ0LCAKKyAgICA2MzI0OCwgNjMyNTIsIDYzMjU2LCA2MzI2MCwgNjMyNjQsIDYzMjY4LCA2MzI3MiwgNjMyNzYsIDYzMjgxLCA2MzI4NiwgCisgICAgNjMyOTEsIDYzMjk2LCA2MzMwMSwgNjMzMDYsIDYzMzExLCA2MzMxNiwgNjMzMjEsIDYzMzI2LCA2MzMzMSwgNjMzMzYsIAorICAgIDYzMzQxLCA2MzM0NiwgNjMzNTEsIDYzMzU3LCAwLCA2MzM2NCwgNjMzNjcsIDYzMzcwLCA2MzM3MywgNjMzNzYsIDYzMzc5LCAKKyAgICA2MzM4MiwgNjMzODUsIDYzMzg4LCA2MzM5MSwgNjMzOTUsIDYzMzk5LCA2MzQwMywgNjM0MDcsIDYzNDExLCA2MzQxNSwgCisgICAgNjM0MTksIDYzNDIzLCA2MzQyNywgNjM0MzEsIDYzNDM1LCA2MzQzOSwgNjM0NDMsIDYzNDQ3LCA2MzQ1MSwgNjM0NTUsIAorICAgIDYzNDU5LCA2MzQ2MywgNjM0NjcsIDYzNDcxLCA2MzQ3NSwgNjM0NzksIDYzNDgzLCA2MzQ4NywgNjM0OTEsIDYzNDk1LCAKKyAgICA2MzQ5OSwgNjM1MDMsIDYzNTA3LCA2MzUxMSwgNjM1MTUsIDYzNTI0LCA2MzUzMywgNjM1NDIsIDYzNTUxLCA2MzU2MCwgCisgICAgNjM1NjksIDYzNTc4LCA2MzU4NywgNjM1OTAsIDYzNTk1LCA2MzYwMCwgNjM2MDUsIDYzNjEwLCA2MzYxNSwgNjM2MjAsIAorICAgIDYzNjI1LCA2MzYzMCwgNjM2MzUsIDYzNjM5LCA2MzY0NCwgNjM2NDksIDYzNjU0LCA2MzY1OSwgNjM2NjQsIDYzNjY4LCAKKyAgICA2MzY3MiwgNjM2NzYsIDYzNjgwLCA2MzY4NCwgNjM2ODgsIDYzNjkyLCA2MzY5NiwgNjM3MDAsIDYzNzA0LCA2MzcwOCwgCisgICAgNjM3MTIsIDYzNzE2LCA2MzcyMCwgNjM3MjUsIDYzNzMwLCA2MzczNSwgNjM3NDAsIDYzNzQ1LCA2Mzc1MCwgNjM3NTUsIAorICAgIDYzNzYwLCA2Mzc2NSwgNjM3NzAsIDYzNzc1LCA2Mzc4MCwgNjM3ODUsIDYzNzkwLCA2Mzc5NiwgNjM4MDIsIDYzODA3LCAKKyAgICA2MzgxMiwgNjM4MTUsIDYzODE4LCA2MzgyMSwgNjM4MjQsIDYzODI3LCA2MzgzMCwgNjM4MzMsIDYzODM2LCA2MzgzOSwgCisgICAgNjM4NDMsIDYzODQ3LCA2Mzg1MSwgNjM4NTUsIDYzODU5LCA2Mzg2MywgNjM4NjcsIDYzODcxLCA2Mzg3NSwgNjM4NzksIAorICAgIDYzODgzLCA2Mzg4NywgNjM4OTEsIDYzODk1LCA2Mzg5OSwgNjM5MDMsIDYzOTA3LCA2MzkxMSwgNjM5MTUsIDYzOTE5LCAKKyAgICA2MzkyMywgNjM5MjcsIDYzOTMxLCA2MzkzNSwgNjM5MzksIDYzOTQzLCA2Mzk0NywgNjM5NTEsIDYzOTU1LCA2Mzk1OSwgCisgICAgNjM5NjMsIDYzOTY3LCA2Mzk3MSwgNjM5NzUsIDYzOTc5LCA2Mzk4MywgNjM5ODcsIDYzOTkxLCA2Mzk5NSwgNjM5OTksIAorICAgIDY0MDA0LCA2NDAwOSwgNjQwMTQsIDY0MDE5LCA2NDAyMywgNjQwMjgsIDY0MDMzLCA2NDAzOCwgNjQwNDMsIDY0MDQ4LCAKKyAgICA2NDA1MywgNjQwNTgsIDY0MDYzLCA2NDA2OCwgNjQwNzIsIDY0MDc5LCA2NDA4NiwgNjQwOTMsIDY0MTAwLCA2NDEwNywgCisgICAgNjQxMTQsIDY0MTIxLCA2NDEyOCwgNjQxMzUsIDY0MTQyLCA2NDE0OSwgNjQxNTYsIDY0MTU5LCA2NDE2MiwgNjQxNjUsIAorICAgIDY0MTcwLCA2NDE3MywgNjQxNzYsIDY0MTc5LCA2NDE4MiwgNjQxODUsIDY0MTg4LCA2NDE5MiwgNjQxOTYsIDY0MjAwLCAKKyAgICA2NDIwNCwgNjQyMDgsIDY0MjEyLCA2NDIxNiwgNjQyMjAsIDY0MjI0LCA2NDIyOCwgNjQyMzIsIDY0MjM2LCA2NDI0MCwgCisgICAgNjQyNDMsIDY0MjQ2LCA2NDI1MCwgNjQyNTQsIDY0MjU4LCA2NDI2MiwgNjQyNjUsIDY0MjY5LCA2NDI3MywgNjQyNzcsIAorICAgIDY0MjgxLCA2NDI4NCwgNjQyODgsIDY0MjkyLCA2NDI5NiwgNjQzMDAsIDY0MzAzLCA2NDMwNywgNjQzMTEsIDY0MzE1LCAKKyAgICA2NDMxOSwgNjQzMjMsIDY0MzI3LCA2NDMzMSwgNjQzMzUsIDY0MzM5LCA2NDM0MywgMCwgNjQzNDcsIDY0MzUwLCA2NDM1MywgCisgICAgNjQzNTYsIDY0MzU5LCA2NDM2MiwgNjQzNjUsIDY0MzY4LCA2NDM3MSwgNjQzNzQsIDY0Mzc3LCA2NDM4MCwgNjQzODMsIAorICAgIDY0Mzg2LCA2NDM4OSwgNjQzOTIsIDY0Mzk1LCA2NDM5OCwgNjQ0MDEsIDY0NDA0LCA2NDQwNywgNjQ0MTAsIDY0NDEzLCAKKyAgICA2NDQxNiwgNjQ0MTksIDY0NDIyLCA2NDQyNSwgNjQ0MjgsIDY0NDMxLCA2NDQzNCwgNjQ0MzcsIDY0NDQwLCA2NDQ0MywgCisgICAgNjQ0NDYsIDY0NDQ5LCA2NDQ1MiwgNjQ0NTUsIDY0NDU4LCA2NDQ2MSwgNjQ0NjQsIDY0NDY3LCA2NDQ3MCwgNjQ0NzMsIAorICAgIDY0NDc2LCA2NDQ3OSwgNjQ0ODIsIDY0NDg1LCA2NDQ4OCwgNjQ0OTEsIDY0NDk0LCA2NDQ5NywgNjQ1MDAsIDY0NTAzLCAKKyAgICA2NDUwNiwgNjQ1MDksIDY0NTEyLCA2NDUxNSwgNjQ1MTgsIDY0NTIxLCA2NDUyNCwgNjQ1MjcsIDY0NTMwLCA2NDUzMywgCisgICAgNjQ1MzYsIDY0NTM5LCA2NDU0MiwgNjQ1NDUsIDY0NTQ4LCA2NDU1MSwgNjQ1NTQsIDY0NTU3LCA2NDU2MCwgNjQ1NjMsIAorICAgIDY0NTY2LCA2NDU2OSwgNjQ1NzIsIDY0NTc1LCA2NDU3OCwgNjQ1ODEsIDY0NTg0LCA2NDU4NywgNjQ1OTAsIDY0NTkzLCAKKyAgICA2NDU5NiwgNjQ1OTksIDY0NjAyLCA2NDYwNSwgNjQ2MDgsIDY0NjExLCA2NDYyMCwgNjQ2MjgsIDY0NjM2LCA2NDY0NCwgCisgICAgNjQ2NTIsIDY0NjYwLCA2NDY2OCwgNjQ2NzYsIDY0Njg0LCA2NDY5MiwgNjQ3MDEsIDY0NzEwLCA2NDcxOSwgNjQ3MjgsIAorICAgIDY0NzM3LCA2NDc0NiwgNjQ3NTUsIDY0NzY0LCA2NDc3MywgNjQ3ODIsIDY0NzkxLCA2NDgwMCwgNjQ4MDksIDY0ODE4LCAKKyAgICA2NDgyNywgNjQ4MzAsIDY0ODMzLCA2NDgzNiwgNjQ4MzgsIDY0ODQxLCA2NDg0NCwgNjQ4NDcsIDY0ODUyLCA2NDg1NywgCisgICAgNjQ4NjAsIDY0ODY3LCA2NDg3NCwgNjQ4ODEsIDY0ODg4LCA2NDg5MSwgNjQ4OTYsIDY0ODk4LCA2NDkwMiwgNjQ5MDQsIAorICAgIDY0OTA2LCA2NDkwOSwgNjQ5MTIsIDY0OTE1LCA2NDkxOCwgNjQ5MjEsIDY0OTI0LCA2NDkyNywgNjQ5MzIsIDY0OTM3LCAKKyAgICA2NDk0MCwgNjQ5NDMsIDY0OTQ2LCA2NDk0OSwgNjQ5NTIsIDY0OTU1LCA2NDk1OCwgNjQ5NjIsIDY0OTY1LCA2NDk2OCwgCisgICAgNjQ5NzEsIDY0OTc0LCA2NDk3NywgNjQ5ODIsIDY0OTg1LCA2NDk4OCwgNjQ5OTEsIDY0OTk2LCA2NTAwMSwgNjUwMDYsIAorICAgIDY1MDExLCA2NTAxNiwgNjUwMjEsIDY1MDI2LCA2NTAzMSwgNjUwMzYsIDY1MDQ0LCA2NTA0NiwgNjUwNDksIDY1MDUyLCAKKyAgICA2NTA1NSwgNjUwNTgsIDY1MDYzLCA2NTA3MSwgNjUwNzQsIDY1MDc3LCA2NTA4MSwgNjUwODQsIDY1MDg3LCA2NTA5MCwgCisgICAgNjUwOTUsIDY1MDk4LCA2NTEwMSwgNjUxMDYsIDY1MTA5LCA2NTExMiwgNjUxMTcsIDY1MTIwLCA2NTEyMywgNjUxMjgsIAorICAgIDY1MTMzLCA2NTEzOCwgNjUxNDEsIDY1MTQ0LCA2NTE0NywgNjUxNTAsIDY1MTU2LCA2NTE1OSwgNjUxNjIsIDY1MTY1LCAKKyAgICA2NTE2NywgNjUxNzAsIDY1MTczLCA2NTE3NiwgNjUxODEsIDY1MTg0LCA2NTE4NywgNjUxOTAsIDY1MTkzLCA2NTE5NiwgCisgICAgNjUyMDEsIDY1MjA0LCA2NTIwNywgNjUyMTAsIDY1MjEzLCA2NTIxNiwgNjUyMTksIDY1MjIyLCA2NTIyNSwgNjUyMjgsIAorICAgIDY1MjM0LCA2NTIzOSwgNjUyNDcsIDY1MjU1LCA2NTI2MywgNjUyNzEsIDY1Mjc5LCA2NTI4NywgNjUyOTUsIDY1MzAzLCAKKyAgICA2NTMxMSwgNjUzMjAsIDY1MzI5LCA2NTMzOCwgNjUzNDcsIDY1MzU2LCA2NTM2NSwgNjUzNzQsIDY1MzgzLCA2NTM5MiwgCisgICAgNjU0MDEsIDY1NDEwLCA2NTQxOSwgNjU0MjgsIDY1NDM3LCA2NTQ0NiwgNjU0NTUsIDY1NDY0LCA2NTQ3MywgNjU0ODIsIAorICAgIDY1NDkxLCA2NTUwMCwgNjU1MDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDEyMDcwLCAwLCAxMjA3OSwgMTIwODYsIDEyMDk0LCAxMjEwNiwgMTIxMTMsIDEyMTIwLCAxMjEyNywgMTIxMzgsIDEyMTQ5LCAKLSAgICAxMjE1NiwgMTIxNjQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEyMTcwLCAxMjE3NSwgMTIxODAsIDEyMTg1LCAxMjE5MCwgCi0gICAgMTIxOTUsIDEyMjAwLCAxMjIwNSwgMTIyMTAsIDEyMjE1LCAxMjIyMCwgMTIyMjUsIDEyMjMwLCAxMjIzNCwgMTIyMzgsIAotICAgIDEyMjQyLCAxMjI0NywgMTIyNTMsIDEyMjU5LCAxMjI2NSwgMTIyNzAsIDEyMjc1LCAxMjI4MCwgMTIyODUsIDEyMjkxLCAKLSAgICAxMjMwMCwgMTIzMDgsIDAsIDEyMzE0LCAxMjMyMCwgMTIzMjQsIDEyMzI4LCAxMjMzMiwgMTIzMzcsIDEyMzQwLCAxMjM0NCwgCi0gICAgMTIzNDcsIDEyMzUxLCAxMjM1NCwgMTIzNTgsIDEyMzYyLCAxMjM2NiwgMTIzNzEsIDEyMzc2LCAxMjM3OSwgMTIzODMsIAotICAgIDEyMzg4LCAxMjM5MywgMTIzOTYsIDEyNDAwLCAxMjQwMywgMTI0MDcsIDEyNDExLCAxMjQxNSwgMTI0MTksIDEyNDIzLCAKLSAgICAxMjQyNywgMTI0MzEsIDEyNDM1LCAxMjQzOSwgMTI0NDMsIDEyNDQ3LCAxMjQ1MSwgMTI0NTUsIDEyNDU5LCAxMjQ2MywgCi0gICAgMTI0NjcsIDEyNDcxLCAxMjQ3NSwgMTI0NzgsIDEyNDgyLCAxMjQ4NSwgMTI0ODksIDEyNDkzLCAxMjQ5NywgMTI1MDAsIAotICAgIDEyNTAzLCAxMjUwNiwgMTI1MTAsIDEyNTE0LCAxMjUxOCwgMTI1MjIsIDEyNTI2LCAxMjUzMCwgMTI1MzQsIDEyNTM3LCAKLSAgICAxMjU0MCwgMTI1NDUsIDEyNTUwLCAxMjU1NCwgMTI1NTgsIDEyNTYzLCAxMjU2NywgMTI1NzIsIDEyNTc2LCAxMjU4MSwgCi0gICAgMTI1ODYsIDEyNTkyLCAxMjU5OCwgMTI2MDQsIDEyNjA4LCAxMjYxMywgMTI2MTksIDEyNjI1LCAxMjYyOSwgMTI2MzQsIAotICAgIDEyNjM4LCAxMjY0NCwgMTI2NDksIDEyNjUyLCAxMjY1OCwgMTI2NjQsIDEyNjY5LCAxMjY3NCwgMTI2ODEsIDEyNjg2LCAKLSAgICAxMjY5MSwgMTI2OTUsIDEyNjk5LCAxMjcwMywgMTI3MDcsIDEyNzExLCAxMjcxNSwgMTI3MTksIDEyNzIzLCAxMjcyOCwgCi0gICAgMTI3MzMsIDEyNzM4LCAxMjc0NCwgMTI3NDcsIDEyNzUxLCAxMjc1NSwgMTI3NTgsIDEyNzYxLCAxMjc2NCwgMTI3NjcsIAotICAgIDEyNzcwLCAxMjc3MywgMTI3NzYsIDEyNzc5LCAxMjc4MiwgMTI3ODYsIDEyNzkzLCAxMjc5OCwgMTI4MDIsIDEyODA2LCAKLSAgICAxMjgxMCwgMTI4MTQsIDAsIDEyODE4LCAxMjgyMiwgMTI4MjYsIDEyODMwLCAxMjgzNCwgMTI4NDAsIDEyODQ0LCAwLCAKLSAgICAxMjg0OCwgMTI4NTIsIDEyODU2LCAwLCAxMjg2MCwgMTI4NjMsIDEyODY3LCAxMjg3MCwgMTI4NzQsIDEyODc3LCAxMjg4MSwgCi0gICAgMTI4ODUsIDAsIDAsIDEyODg5LCAxMjg5MiwgMCwgMCwgMTI4OTYsIDEyODk5LCAxMjkwMywgMTI5MDYsIDEyOTEwLCAKLSAgICAxMjkxNCwgMTI5MTgsIDEyOTIyLCAxMjkyNiwgMTI5MzAsIDEyOTM0LCAxMjkzOCwgMTI5NDIsIDEyOTQ2LCAxMjk1MCwgCi0gICAgMTI5NTQsIDEyOTU4LCAxMjk2MiwgMTI5NjYsIDEyOTcwLCAxMjk3NCwgMTI5NzgsIDAsIDEyOTgxLCAxMjk4NCwgMTI5ODgsIAotICAgIDEyOTkyLCAxMjk5NiwgMTI5OTksIDEzMDAyLCAwLCAxMzAwNSwgMCwgMCwgMCwgMTMwMDksIDEzMDEzLCAxMzAxNywgCi0gICAgMTMwMjAsIDAsIDAsIDEzMDIzLCAxMzAyNywgMTMwMzEsIDEzMDM2LCAxMzA0MCwgMTMwNDUsIDEzMDQ5LCAxMzA1NCwgCi0gICAgMTMwNTksIDAsIDAsIDEzMDY1LCAxMzA2OSwgMCwgMCwgMTMwNzQsIDEzMDc4LCAxMzA4MywgMTMwODcsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDEzMDkzLCAwLCAwLCAwLCAwLCAxMzA5OSwgMTMxMDMsIDAsIDEzMTA3LCAxMzExMSwgMTMxMTYsIAotICAgIDEzMTIxLCAxMzEyNiwgMCwgMCwgMTMxMzIsIDEzMTM2LCAxMzEzOSwgMTMxNDIsIDEzMTQ1LCAxMzE0OCwgMTMxNTEsIAotICAgIDEzMTU0LCAxMzE1NywgMTMxNjAsIDEzMTYzLCAxMzE3MiwgMTMxODEsIDEzMTg1LCAxMzE4OSwgMTMxOTUsIDEzMjAxLCAKLSAgICAxMzIwNywgMTMyMTMsIDEzMjI3LCAxMzIzNCwgMTMyMzcsIDAsIDAsIDAsIDAsIDAsIDEzMjQxLCAxMzI0NywgMTMyNTEsIDAsIAotICAgIDEzMjU1LCAxMzI1OCwgMTMyNjIsIDEzMjY1LCAxMzI2OSwgMTMyNzIsIDAsIDAsIDAsIDAsIDEzMjc2LCAxMzI4MCwgMCwgMCwgCi0gICAgMTMyODQsIDEzMjg4LCAxMzI5MiwgMTMyOTUsIDEzMjk5LCAxMzMwMywgMTMzMDcsIDEzMzExLCAxMzMxNSwgMTMzMTksIAotICAgIDEzMzIzLCAxMzMyNywgMTMzMzEsIDEzMzM1LCAxMzMzOSwgMTMzNDMsIDEzMzQ3LCAxMzM1MSwgMTMzNTUsIDEzMzU5LCAKLSAgICAxMzM2MywgMTMzNjcsIDAsIDEzMzcwLCAxMzM3MywgMTMzNzcsIDEzMzgxLCAxMzM4NSwgMTMzODgsIDEzMzkxLCAwLCAKLSAgICAxMzM5NCwgMTMzOTgsIDAsIDEzNDAyLCAxMzQwNiwgMCwgMTM0MTAsIDEzNDEzLCAwLCAwLCAxMzQxNiwgMCwgMTM0MjAsIAotICAgIDEzNDI1LCAxMzQyOSwgMTM0MzQsIDEzNDM4LCAwLCAwLCAwLCAwLCAxMzQ0MywgMTM0NDgsIDAsIDAsIDEzNDUzLCAxMzQ1OCwgCi0gICAgMTM0NjMsIDAsIDAsIDAsIDEzNDY3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMzQ3MSwgMTM0NzUsIDEzNDc5LCAxMzQ4MywgCi0gICAgMCwgMTM0ODcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEzNDkxLCAxMzQ5NSwgMTM0OTgsIDEzNTAxLCAxMzUwNCwgMTM1MDcsIAotICAgIDEzNTEwLCAxMzUxMywgMTM1MTYsIDEzNTE5LCAxMzUyMiwgMTM1MjUsIDEzNTI4LCAxMzUzMSwgMTM1MzQsIDEzNTM5LCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMzU0MywgMTM1NDcsIDEzNTUxLCAwLCAxMzU1NSwgMTM1NTgsIAotICAgIDEzNTYyLCAxMzU2NSwgMTM1NjksIDEzNTcyLCAxMzU3NiwgMTM1ODAsIDEzNTg0LCAwLCAxMzU4OSwgMTM1OTIsIDEzNTk2LCAKLSAgICAwLCAxMzYwMSwgMTM2MDQsIDEzNjA4LCAxMzYxMSwgMTM2MTUsIDEzNjE5LCAxMzYyMywgMTM2MjcsIDEzNjMxLCAxMzYzNSwgCi0gICAgMTM2MzksIDEzNjQzLCAxMzY0NywgMTM2NTEsIDEzNjU1LCAxMzY1OSwgMTM2NjMsIDEzNjY3LCAxMzY3MSwgMTM2NzUsIAotICAgIDEzNjc5LCAxMzY4MywgMCwgMTM2ODYsIDEzNjg5LCAxMzY5MywgMTM2OTcsIDEzNzAxLCAxMzcwNCwgMTM3MDcsIDAsIAotICAgIDEzNzEwLCAxMzcxNCwgMCwgMTM3MTgsIDEzNzIyLCAxMzcyNiwgMTM3MzAsIDEzNzMzLCAwLCAwLCAxMzczNiwgMTM3NDAsIAotICAgIDEzNzQ0LCAxMzc0OSwgMTM3NTMsIDEzNzU4LCAxMzc2MiwgMTM3NjcsIDEzNzcyLCAxMzc3OCwgMCwgMTM3ODQsIDEzNzg4LCAKLSAgICAxMzc5MywgMCwgMTM3OTksIDEzODAzLCAxMzgwOCwgMCwgMCwgMTM4MTIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDEzODE1LCAxMzgyMCwgMTM4MjUsIDEzODMwLCAwLCAwLCAxMzgzNiwgMTM4NDAsIDEzODQzLCAKLSAgICAxMzg0NiwgMTM4NDksIDEzODUyLCAxMzg1NSwgMTM4NTgsIDEzODYxLCAxMzg2NCwgMTM4NjcsIDEzODcxLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMzg3NSwgMTM4NzksIDEzODgzLCAwLCAxMzg4NywgMTM4OTAsIAotICAgIDEzODk0LCAxMzg5NywgMTM5MDEsIDEzOTA0LCAxMzkwOCwgMTM5MTIsIDAsIDAsIDEzOTE2LCAxMzkxOSwgMCwgMCwgCi0gICAgMTM5MjMsIDEzOTI2LCAxMzkzMCwgMTM5MzMsIDEzOTM3LCAxMzk0MSwgMTM5NDUsIDEzOTQ5LCAxMzk1MywgMTM5NTcsIAotICAgIDEzOTYxLCAxMzk2NSwgMTM5NjksIDEzOTczLCAxMzk3NywgMTM5ODEsIDEzOTg1LCAxMzk4OSwgMTM5OTMsIDEzOTk3LCAKLSAgICAxNDAwMSwgMTQwMDUsIDAsIDE0MDA4LCAxNDAxMSwgMTQwMTUsIDE0MDE5LCAxNDAyMywgMTQwMjYsIDE0MDI5LCAwLCAKLSAgICAxNDAzMiwgMTQwMzYsIDAsIDE0MDQwLCAxNDA0NCwgMTQwNDgsIDE0MDUyLCAxNDA1NSwgMCwgMCwgMTQwNTgsIDE0MDYyLCAKLSAgICAxNDA2NiwgMTQwNzEsIDE0MDc1LCAxNDA4MCwgMTQwODQsIDE0MDg5LCAxNDA5NCwgMCwgMCwgMTQxMDAsIDE0MTA0LCAwLCAKLSAgICAwLCAxNDEwOSwgMTQxMTMsIDE0MTE4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNDEyMiwgMTQxMjgsIDAsIDAsIDAsIDAsIAotICAgIDE0MTM0LCAxNDEzOCwgMCwgMTQxNDIsIDE0MTQ2LCAxNDE1MSwgMTQxNTYsIDE0MTYxLCAwLCAwLCAxNDE2NywgMTQxNzEsIAotICAgIDE0MTc0LCAxNDE3NywgMTQxODAsIDE0MTgzLCAxNDE4NiwgMTQxODksIDE0MTkyLCAxNDE5NSwgMTQxOTgsIDE0MjAxLCAKLSAgICAxNDIwNSwgMTQyMTEsIDE0MjE3LCAxNDIyMywgMTQyMjksIDE0MjM1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAxNDI0MSwgMTQyNDUsIDAsIDE0MjQ5LCAxNDI1MiwgMTQyNTYsIDE0MjU5LCAxNDI2MywgMTQyNjYsIDAsIDAsIDAsIAotICAgIDE0MjcwLCAxNDI3MywgMTQyNzcsIDAsIDE0MjgxLCAxNDI4NCwgMTQyODgsIDE0MjkyLCAwLCAwLCAwLCAxNDI5NSwgCi0gICAgMTQyOTksIDAsIDE0MzAzLCAwLCAxNDMwNywgMTQzMTEsIDAsIDAsIDAsIDE0MzE1LCAxNDMxOSwgMCwgMCwgMCwgMTQzMjMsIAotICAgIDE0MzI2LCAxNDMzMCwgMCwgMCwgMCwgMTQzMzMsIDE0MzM2LCAxNDMzOSwgMTQzNDIsIDE0MzQ2LCAxNDM1MCwgMTQzNTQsIAotICAgIDE0MzU4LCAxNDM2MiwgMTQzNjYsIDE0MzcwLCAxNDM3MywgMCwgMCwgMCwgMCwgMTQzNzYsIDE0MzgxLCAxNDM4NSwgCi0gICAgMTQzOTAsIDE0Mzk0LCAwLCAwLCAwLCAxNDM5OSwgMTQ0MDMsIDE0NDA4LCAwLCAxNDQxMywgMTQ0MTcsIDE0NDIyLCAKLSAgICAxNDQyNywgMCwgMCwgMTQ0MzEsIDAsIDAsIDAsIDAsIDAsIDAsIDE0NDM0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAxNDQ0MCwgMTQ0NDQsIDE0NDQ3LCAxNDQ1MCwgMTQ0NTMsIDE0NDU2LCAxNDQ1OSwgMTQ0NjIsIAotICAgIDE0NDY1LCAxNDQ2OCwgMTQ0NzEsIDE0NDc1LCAxNDQ4MCwgMTQ0ODUsIDE0NDg5LCAxNDQ5MywgMTQ0OTcsIDE0NTAxLCAKLSAgICAxNDUwNSwgMTQ1MTAsIDE0NTE0LCAwLCAwLCAwLCAwLCAwLCAwLCAxNDUxNywgMTQ1MjEsIDE0NTI1LCAwLCAxNDUyOSwgCi0gICAgMTQ1MzIsIDE0NTM2LCAxNDUzOSwgMTQ1NDMsIDE0NTQ2LCAxNDU1MCwgMTQ1NTQsIDAsIDE0NTU4LCAxNDU2MSwgMTQ1NjUsIAotICAgIDAsIDE0NTY5LCAxNDU3MiwgMTQ1NzYsIDE0NTgwLCAxNDU4MywgMTQ1ODcsIDE0NTkxLCAxNDU5NSwgMTQ1OTksIDE0NjAzLCAKLSAgICAxNDYwNywgMTQ2MTEsIDE0NjE1LCAxNDYxOSwgMTQ2MjMsIDE0NjI3LCAxNDYzMSwgMTQ2MzUsIDE0NjM5LCAxNDY0MywgCi0gICAgMTQ2NDcsIDE0NjUxLCAxNDY1NSwgMCwgMTQ2NTgsIDE0NjYxLCAxNDY2NSwgMTQ2NjksIDE0NjczLCAxNDY3NiwgMTQ2NzksIAotICAgIDE0NjgyLCAxNDY4NiwgMTQ2OTAsIDAsIDE0Njk0LCAxNDY5OCwgMTQ3MDIsIDE0NzA2LCAxNDcwOSwgMCwgMCwgMCwgCi0gICAgMTQ3MTIsIDE0NzE2LCAxNDcyMSwgMTQ3MjUsIDE0NzMwLCAxNDczNCwgMTQ3MzksIDE0NzQ0LCAwLCAxNDc1MCwgMTQ3NTQsIAotICAgIDE0NzU5LCAwLCAxNDc2NCwgMTQ3NjgsIDE0NzczLCAxNDc3OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTQ3ODIsIDE0Nzg2LCAKLSAgICAwLCAxNDc5MiwgMTQ3OTYsIDAsIDAsIDAsIDAsIDAsIDAsIDE0ODAwLCAxNDgwNSwgMTQ4MTAsIDE0ODE1LCAwLCAwLCAKLSAgICAxNDgyMSwgMTQ4MjUsIDE0ODI4LCAxNDgzMSwgMTQ4MzQsIDE0ODM3LCAxNDg0MCwgMTQ4NDMsIDE0ODQ2LCAxNDg0OSwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTQ4NTIsIDE0ODY1LCAxNDg3NywgMTQ4ODksIDE0OTAxLCAxNDkxMywgMTQ5MjUsIAotICAgIDE0OTM3LCAwLCAwLCAxNDk0MSwgMTQ5NDUsIDAsIDE0OTQ5LCAxNDk1MiwgMTQ5NTYsIDE0OTU5LCAxNDk2MywgMTQ5NjYsIAotICAgIDE0OTcwLCAxNDk3NCwgMCwgMTQ5NzgsIDE0OTgxLCAxNDk4NSwgMCwgMTQ5ODksIDE0OTkyLCAxNDk5NiwgMTUwMDAsIAotICAgIDE1MDAzLCAxNTAwNywgMTUwMTEsIDE1MDE1LCAxNTAxOSwgMTUwMjMsIDE1MDI3LCAxNTAzMSwgMTUwMzUsIDE1MDM5LCAKLSAgICAxNTA0MywgMTUwNDcsIDE1MDUxLCAxNTA1NSwgMTUwNTksIDE1MDYzLCAxNTA2NywgMTUwNzEsIDE1MDc1LCAwLCAxNTA3OCwgCi0gICAgMTUwODEsIDE1MDg1LCAxNTA4OSwgMTUwOTMsIDE1MDk2LCAxNTA5OSwgMTUxMDIsIDE1MTA2LCAxNTExMCwgMCwgMTUxMTQsIAotICAgIDE1MTE4LCAxNTEyMiwgMTUxMjYsIDE1MTI5LCAwLCAwLCAxNTEzMiwgMTUxMzYsIDE1MTQwLCAxNTE0NSwgMTUxNDksIAotICAgIDE1MTU0LCAxNTE1OCwgMTUxNjMsIDE1MTY4LCAwLCAxNTE3NCwgMTUxNzgsIDE1MTgzLCAwLCAxNTE4OCwgMTUxOTIsIAotICAgIDE1MTk3LCAxNTIwMiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTUyMDYsIDE1MjEwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAxNTIxNiwgMCwgMTUyMjAsIDE1MjI1LCAxNTIzMCwgMTUyMzUsIDAsIDAsIDE1MjQxLCAxNTI0NSwgMTUyNDgsIDE1MjUxLCAKLSAgICAxNTI1NCwgMTUyNTcsIDE1MjYwLCAxNTI2MywgMTUyNjYsIDE1MjY5LCAwLCAxNTI3MiwgMTUyNzYsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE1MjgwLCAxNTI4NCwgMCwgMTUyODgsIDE1MjkxLCAxNTI5NSwgCi0gICAgMTUyOTgsIDE1MzAyLCAxNTMwNSwgMTUzMDksIDE1MzEzLCAwLCAxNTMxNywgMTUzMjAsIDE1MzI0LCAwLCAxNTMyOCwgCi0gICAgMTUzMzEsIDE1MzM1LCAxNTMzOSwgMTUzNDIsIDE1MzQ2LCAxNTM1MCwgMTUzNTQsIDE1MzU4LCAxNTM2MiwgMTUzNjYsIAotICAgIDE1MzcwLCAxNTM3NCwgMTUzNzgsIDE1MzgyLCAxNTM4NiwgMTUzOTAsIDE1Mzk0LCAxNTM5OCwgMTU0MDIsIDE1NDA2LCAKLSAgICAxNTQxMCwgMTU0MTQsIDE1NDE3LCAxNTQyMSwgMTU0MjQsIDE1NDI4LCAxNTQzMiwgMTU0MzYsIDE1NDM5LCAxNTQ0MiwgCi0gICAgMTU0NDUsIDE1NDQ5LCAxNTQ1MywgMTU0NTcsIDE1NDYxLCAxNTQ2NSwgMTU0NjksIDE1NDczLCAxNTQ3NiwgMTU0NzksIDAsIAotICAgIDAsIDE1NDgzLCAxNTQ4NywgMTU0OTIsIDE1NDk2LCAxNTUwMSwgMTU1MDUsIDE1NTEwLCAxNTUxNSwgMCwgMTU1MjEsIAotICAgIDE1NTI1LCAxNTUzMCwgMCwgMTU1MzUsIDE1NTM5LCAxNTU0NCwgMTU1NDksIDE1NTUzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAxNTU1OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTU1NjQsIDE1NTY5LCAxNTU3NCwgMTU1NzksIDAsIDAsIAotICAgIDE1NTg1LCAxNTU4OSwgMTU1OTIsIDE1NTk1LCAxNTU5OCwgMTU2MDEsIDE1NjA0LCAxNTYwNywgMTU2MTAsIDE1NjEzLCAKLSAgICAxNTYxNiwgMTU2MjAsIDE1NjI1LCAxNTYzMCwgMTU2MzYsIDE1NjQyLCAwLCAwLCAwLCAxNTY0OCwgMTU2NTIsIDE1NjU4LCAKLSAgICAxNTY2NCwgMTU2NzAsIDE1Njc1LCAxNTY4MSwgMCwgMCwgMTU2ODcsIDE1NjkxLCAwLCAxNTY5NSwgMTU2OTksIDE1NzAzLCAKLSAgICAxNTcwNywgMTU3MTEsIDE1NzE1LCAxNTcxOSwgMTU3MjMsIDE1NzI3LCAxNTczMSwgMTU3MzUsIDE1NzM5LCAxNTc0MywgCi0gICAgMTU3NDcsIDE1NzUxLCAxNTc1NSwgMTU3NTksIDE1NzYzLCAwLCAwLCAwLCAxNTc2NywgMTU3NzMsIDE1Nzc5LCAxNTc4NSwgCi0gICAgMTU3OTEsIDE1Nzk3LCAxNTgwMywgMTU4MDksIDE1ODE1LCAxNTgyMSwgMTU4MjcsIDE1ODMzLCAxNTg0MSwgMTU4NDcsIAotICAgIDE1ODUzLCAxNTg1OSwgMTU4NjUsIDE1ODcxLCAxNTg3NywgMTU4ODMsIDE1ODg5LCAxNTg5NSwgMTU5MDEsIDE1OTA3LCAwLCAKLSAgICAxNTkxMywgMTU5MTksIDE1OTI1LCAxNTkzMSwgMTU5MzcsIDE1OTQzLCAxNTk0NywgMTU5NTMsIDE1OTU3LCAwLCAxNTk2MSwgCi0gICAgMCwgMCwgMTU5NjcsIDE1OTcxLCAxNTk3NywgMTU5ODMsIDE1OTg5LCAxNTk5MywgMTU5OTksIDAsIDAsIDAsIDE2MDAzLCAwLCAKLSAgICAwLCAwLCAwLCAxNjAwNywgMTYwMTIsIDE2MDE5LCAxNjAyNiwgMTYwMzMsIDE2MDQwLCAwLCAxNjA0NywgMCwgMTYwNTQsIAotICAgIDE2MDU5LCAxNjA2NCwgMTYwNzEsIDE2MDc4LCAxNjA4NywgMTYwOTgsIDE2MTA3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNjExMiwgMTYxMTksIDE2MTI2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAxNjEzMSwgMTYxMzcsIDE2MTQzLCAxNjE0OSwgMTYxNTUsIDE2MTYxLCAxNjE2NywgMTYxNzMsIAotICAgIDE2MTc5LCAxNjE4NSwgMTYxOTEsIDE2MTk3LCAxNjIwMywgMTYyMDksIDE2MjE1LCAxNjIyMSwgMTYyMjcsIDE2MjMzLCAKLSAgICAxNjIzOSwgMTYyNDUsIDE2MjUxLCAxNjI1NywgMTYyNjMsIDE2MjY5LCAxNjI3NSwgMTYyODEsIDE2Mjg3LCAxNjI5MywgCi0gICAgMTYyOTksIDE2MzA1LCAxNjMxMSwgMTYzMTcsIDE2MzIzLCAxNjMyOCwgMTYzMzQsIDE2MzQwLCAxNjM0NCwgMTYzNTAsIAotICAgIDE2MzU0LCAxNjM2MCwgMTYzNjYsIDE2MzcyLCAxNjM3OCwgMTYzODQsIDE2MzkwLCAxNjM5NSwgMTY0MDEsIDE2NDA1LCAKLSAgICAxNjQxMCwgMTY0MTYsIDE2NDIyLCAxNjQyOCwgMTY0MzMsIDE2NDM5LCAxNjQ0NSwgMTY0NTEsIDE2NDU2LCAxNjQ2MiwgMCwgCi0gICAgMCwgMCwgMCwgMTY0NjYsIDE2NDcyLCAxNjQ3NywgMTY0ODMsIDE2NDg4LCAxNjQ5NiwgMTY1MDQsIDE2NTA4LCAxNjUxMiwgCi0gICAgMTY1MTYsIDE2NTIyLCAxNjUyOCwgMTY1MzQsIDE2NTQwLCAxNjU0NCwgMTY1NDgsIDE2NTUyLCAxNjU1NiwgMTY1NjAsIAotICAgIDE2NTYzLCAxNjU2NiwgMTY1NjksIDE2NTcyLCAxNjU3NSwgMTY1NzgsIDE2NTgxLCAxNjU4NCwgMTY1ODcsIDE2NTkxLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNjU5NSwgMTY2MDAsIDAsIDE2NjA3LCAwLCAwLCAxNjYxNCwgCi0gICAgMTY2MTksIDAsIDE2NjI0LCAwLCAwLCAxNjYzMSwgMCwgMCwgMCwgMCwgMCwgMCwgMTY2MzYsIDE2NjQxLCAxNjY0NSwgCi0gICAgMTY2NTIsIDAsIDE2NjU5LCAxNjY2NCwgMTY2NjksIDE2Njc0LCAxNjY4MSwgMTY2ODgsIDE2Njk1LCAwLCAxNjcwMiwgCi0gICAgMTY3MDcsIDE2NzEyLCAwLCAxNjcxOSwgMCwgMTY3MjYsIDAsIDAsIDE2NzMxLCAxNjczOCwgMCwgMTY3NDUsIDE2NzQ5LCAKLSAgICAxNjc1NiwgMTY3NjAsIDE2NzY1LCAxNjc3MywgMTY3NzksIDE2Nzg1LCAxNjc5MCwgMTY3OTYsIDE2ODAyLCAxNjgwOCwgCi0gICAgMTY4MTMsIDAsIDE2ODE5LCAxNjgyNywgMTY4MzQsIDAsIDAsIDE2ODQxLCAxNjg0NiwgMTY4NTIsIDE2ODU3LCAxNjg2MywgCi0gICAgMCwgMTY4NjksIDAsIDE2ODc1LCAxNjg4MiwgMTY4ODksIDE2ODk2LCAxNjkwMywgMTY5MDgsIDAsIDAsIDE2OTEyLCAKLSAgICAxNjkxNywgMTY5MjEsIDE2OTI1LCAxNjkyOSwgMTY5MzMsIDE2OTM3LCAxNjk0MSwgMTY5NDUsIDE2OTQ5LCAwLCAwLCAKLSAgICAxNjk1MywgMTY5NTksIDE2OTY1LCAxNjk3MiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTY5NzksIDE2OTgzLCAxNjk5NCwgCi0gICAgMTcwMDksIDE3MDI0LCAxNzAzNCwgMTcwNDUsIDE3MDU4LCAxNzA2OSwgMTcwNzUsIDE3MDgzLCAxNzA5MywgMTcwOTksIAotICAgIDE3MTA3LCAxNzExMSwgMTcxMTcsIDE3MTIzLCAxNzEzMSwgMTcxNDEsIDE3MTQ5LCAxNzE2MiwgMTcxNjgsIDE3MTc2LCAKLSAgICAxNzE4NCwgMTcxOTYsIDE3MjAzLCAxNzIxMSwgMTcyMTksIDE3MjI3LCAxNzIzNSwgMTcyNDMsIDE3MjUxLCAxNzI2MSwgCi0gICAgMTcyNjUsIDE3MjY4LCAxNzI3MSwgMTcyNzQsIDE3Mjc3LCAxNzI4MCwgMTcyODMsIDE3Mjg2LCAxNzI4OSwgMTcyOTIsIAotICAgIDE3Mjk2LCAxNzMwMCwgMTczMDQsIDE3MzA4LCAxNzMxMiwgMTczMTYsIDE3MzIwLCAxNzMyNCwgMTczMjgsIDE3MzMzLCAKLSAgICAxNzMzOSwgMTczNDksIDE3MzYzLCAxNzM3MywgMTczNzksIDE3Mzg1LCAxNzM5MywgMTc0MDEsIDE3NDA5LCAxNzQxNywgCi0gICAgMTc0MjMsIDE3NDI5LCAxNzQzMiwgMTc0MzYsIDE3NDQwLCAxNzQ0NCwgMTc0NDgsIDE3NDUyLCAxNzQ1NiwgMCwgMTc0NjAsIAotICAgIDE3NDY0LCAxNzQ2OCwgMTc0NzIsIDE3NDc2LCAxNzQ4MCwgMTc0ODQsIDE3NDg4LCAxNzQ5MiwgMTc0OTYsIDE3NTAwLCAKLSAgICAxNzUwMywgMTc1MDYsIDE3NTEwLCAxNzUxNCwgMTc1MTgsIDE3NTIxLCAxNzUyNSwgMTc1MjksIDE3NTMzLCAxNzUzNywgCi0gICAgMTc1NDEsIDE3NTQ1LCAxNzU0OSwgMTc1NTMsIDE3NTU2LCAxNzU1OSwgMTc1NjMsIDE3NTY3LCAxNzU3MSwgMTc1NzQsIAotICAgIDE3NTc3LCAxNzU4MCwgMTc1ODQsIDE3NTg5LCAxNzU5MywgMCwgMCwgMCwgMCwgMTc1OTcsIDE3NjAyLCAxNzYwNiwgCi0gICAgMTc2MTEsIDE3NjE1LCAxNzYyMCwgMTc2MjUsIDE3NjMxLCAxNzYzNiwgMTc2NDIsIDE3NjQ2LCAxNzY1MSwgMTc2NTUsIAotICAgIDE3NjYwLCAxNzY3MCwgMTc2NzYsIDE3NjgyLCAxNzY4OSwgMTc2OTksIDE3NzA1LCAxNzcwOSwgMTc3MTMsIDE3NzE5LCAKLSAgICAxNzcyNSwgMTc3MzMsIDE3NzM5LCAxNzc0NywgMTc3NTUsIDE3NzYzLCAxNzc3MywgMTc3ODEsIDE3NzkxLCAxNzc5NiwgCi0gICAgMTc4MDIsIDE3ODA4LCAxNzgxNCwgMTc4MjAsIDE3ODI2LCAxNzgzMiwgMCwgMTc4MzgsIDE3ODQ0LCAxNzg1MCwgMTc4NTYsIAotICAgIDE3ODYyLCAxNzg2OCwgMTc4NzQsIDE3ODgwLCAxNzg4NiwgMTc4OTIsIDE3ODk4LCAxNzkwMywgMTc5MDgsIDE3OTE0LCAKLSAgICAxNzkyMCwgMTc5MjYsIDE3OTMxLCAxNzkzNywgMTc5NDMsIDE3OTQ5LCAxNzk1NSwgMTc5NjEsIDE3OTY3LCAxNzk3MywgCi0gICAgMTc5NzksIDE3OTg0LCAxNzk4OSwgMTc5OTUsIDE4MDAxLCAxODAwNywgMTgwMTIsIDE4MDE3LCAxODAyMiwgMTgwMjgsIAotICAgIDE4MDM2LCAxODA0MywgMCwgMTgwNTAsIDE4MDU3LCAxODA3MCwgMTgwNzcsIDE4MDg0LCAxODA5MiwgMTgxMDAsIDE4MTA2LCAKLSAgICAxODExMiwgMTgxMTgsIDE4MTI4LCAxODEzMywgMTgxMzksIDE4MTQ5LCAxODE1OSwgMCwgMTgxNjksIDE4MTc5LCAxODE4NywgCi0gICAgMTgxOTksIDE4MjExLCAxODIxNywgMTgyMzEsIDE4MjQ2LCAxODI1MSwgMTgyNTYsIDE4MjY0LCAxODI3MiwgMTgyODAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE4Mjg4LCAxODI5MSwgMTgyOTUsIDE4Mjk5LCAxODMwMywgCi0gICAgMTgzMDcsIDE4MzExLCAxODMxNSwgMTgzMTksIDE4MzIzLCAxODMyNywgMTgzMzEsIDE4MzM1LCAxODMzOSwgMTgzNDMsIAotICAgIDE4MzQ3LCAxODM1MSwgMTgzNTUsIDE4MzU5LCAxODM2MywgMTgzNjcsIDE4MzcwLCAxODM3MywgMTgzNzcsIDE4MzgxLCAKLSAgICAxODM4NSwgMTgzODgsIDE4MzkxLCAxODM5NCwgMTgzOTgsIDE4NDAyLCAxODQwNSwgMTg0MDgsIDE4NDEyLCAxODQxNSwgCi0gICAgMTg0MjAsIDE4NDIzLCAxODQyNywgMTg0MzAsIDE4NDM0LCAxODQzNywgMTg0NDIsIDE4NDQ1LCAxODQ0OSwgMTg0NTYsIAotICAgIDE4NDYxLCAxODQ2NSwgMTg0NzAsIDE4NDc0LCAxODQ3OSwgMTg0ODMsIDE4NDg4LCAxODQ5NSwgMTg1MDEsIDE4NTA2LCAKLSAgICAxODUxMCwgMTg1MTQsIDE4NTE4LCAxODUyMiwgMTg1MjYsIDE4NTMxLCAxODUzNiwgMTg1NDIsIDE4NTQ3LCAxODU1MiwgCi0gICAgMTg1NTYsIDE4NTU5LCAxODU2MiwgMTg1NjUsIDE4NTY4LCAxODU3MSwgMTg1NzQsIDE4NTc3LCAxODU4MCwgMTg1ODMsIAotICAgIDE4NTg5LCAxODU5MywgMTg1OTcsIDE4NjAxLCAxODYwNSwgMTg2MDksIDE4NjEzLCAxODYxNywgMTg2MjEsIDE4NjI2LCAKLSAgICAxODYzMCwgMTg2MzUsIDE4NjQwLCAxODY0NiwgMTg2NTEsIDE4NjU3LCAxODY2MywgMTg2NjksIDE4Njc1LCAxODY4MSwgCi0gICAgMTg2ODgsIDE4Njk1LCAxODcwMywgMTg3MTEsIDE4NzIwLCAxODcyOSwgMTg3NDAsIDE4NzUwLCAxODc2MCwgMTg3NzEsIAotICAgIDE4NzgyLCAxODc5MiwgMTg4MDIsIDE4ODEyLCAxODgyMiwgMTg4MzIsIDE4ODQyLCAxODg1MiwgMTg4NjIsIDE4ODcwLCAKLSAgICAxODg3NywgMTg4ODMsIDE4ODkwLCAxODg5NSwgMTg5MDEsIDE4OTA3LCAxODkxMywgMTg5MTksIDE4OTI1LCAxODkzMSwgCi0gICAgMTg5MzYsIDE4OTQyLCAxODk0OCwgMTg5NTQsIDE4OTYwLCAxODk2NSwgMTg5NzMsIDE4OTgwLCAxODk4NiwgMTg5OTMsIAotICAgIDE5MDAxLCAxOTAwNywgMTkwMTMsIDE5MDE5LCAxOTAyNSwgMTkwMzMsIDE5MDQxLCAxOTA1MSwgMTkwNTksIDE5MDY3LCAKLSAgICAxOTA3MywgMTkwNzgsIDE5MDgzLCAxOTA4OCwgMTkwOTMsIDE5MDk4LCAxOTEwMywgMTkxMDgsIDE5MTEzLCAxOTExOCwgCi0gICAgMTkxMjQsIDE5MTMwLCAxOTEzNiwgMTkxNDMsIDE5MTQ4LCAxOTE1NCwgMTkxNTksIDE5MTY0LCAxOTE2OSwgMTkxNzQsIAotICAgIDE5MTc5LCAxOTE4NCwgMTkxODksIDE5MTk0LCAxOTE5OSwgMTkyMDQsIDE5MjA5LCAxOTIxNCwgMTkyMTksIDE5MjI0LCAKLSAgICAxOTIyOSwgMTkyMzQsIDE5MjM5LCAxOTI0NCwgMTkyNDksIDE5MjU0LCAxOTI1OSwgMTkyNjQsIDE5MjY5LCAxOTI3NCwgCi0gICAgMTkyNzksIDE5Mjg0LCAxOTI4OSwgMTkyOTQsIDE5Mjk5LCAxOTMwNCwgMTkzMDksIDE5MzE0LCAxOTMxOSwgMTkzMjQsIAotICAgIDE5MzI5LCAxOTMzNCwgMTkzMzksIDAsIDE5MzQ0LCAwLCAwLCAwLCAwLCAwLCAxOTM0OSwgMCwgMCwgMTkzNTQsIDE5MzU4LCAKLSAgICAxOTM2MiwgMTkzNjYsIDE5MzcwLCAxOTM3NCwgMTkzNzgsIDE5MzgyLCAxOTM4NiwgMTkzOTAsIDE5Mzk0LCAxOTM5OCwgCi0gICAgMTk0MDIsIDE5NDA2LCAxOTQxMCwgMTk0MTQsIDE5NDE4LCAxOTQyMiwgMTk0MjYsIDE5NDMwLCAxOTQzNCwgMTk0MzgsIAotICAgIDE5NDQyLCAxOTQ0NiwgMTk0NTAsIDE5NDU0LCAxOTQ1OCwgMTk0NjIsIDE5NDY2LCAxOTQ3MCwgMTk0NzQsIDE5NDc4LCAKLSAgICAxOTQ4MiwgMTk0ODYsIDE5NDkwLCAxOTQ5NCwgMTk0OTgsIDE5NTAyLCAxOTUwNiwgMTk1MTAsIDE5NTE0LCAxOTUxOCwgCi0gICAgMTk1MjQsIDE5NTI4LCAxOTUzMywgMTk1MzgsIDE5NTQyLCAxOTU0NywgMTk1NTIsIDE5NTU2LCAxOTU2MCwgMTk1NjQsIAotICAgIDE5NTY4LCAxOTU3MiwgMTk1NzYsIDE5NTgwLCAxOTU4NCwgMTk1ODgsIDE5NTkyLCAxOTU5NiwgMTk2MDAsIDE5NjA0LCAKLSAgICAxOTYwOCwgMTk2MTIsIDE5NjE2LCAxOTYyMCwgMTk2MjQsIDE5NjI4LCAxOTYzMiwgMTk2MzYsIDE5NjQwLCAxOTY0NCwgCi0gICAgMTk2NDgsIDE5NjUyLCAxOTY1NiwgMTk2NjAsIDE5NjY0LCAxOTY2OCwgMTk2NzIsIDE5Njc2LCAxOTY4MCwgMTk2ODQsIAotICAgIDE5Njg4LCAxOTY5MiwgMTk2OTYsIDE5NzAwLCAxOTcwNCwgMTk3MDgsIDE5NzEyLCAxOTcxNiwgMTk3MjAsIDE5NzI0LCAKLSAgICAxOTcyOCwgMTk3MzIsIDE5NzM2LCAxOTc0MCwgMTk3NDQsIDE5NzQ4LCAxOTc1MiwgMTk3NTYsIDE5NzYwLCAxOTc2NCwgCi0gICAgMTk3NjgsIDE5NzcyLCAxOTc3NiwgMTk3ODAsIDE5Nzg0LCAxOTc4OCwgMTk3OTIsIDE5Nzk2LCAxOTgwMCwgMTk4MDQsIAotICAgIDE5ODA4LCAxOTgxMiwgMTk4MTYsIDE5ODIwLCAxOTgyNCwgMTk4MjgsIDE5ODMyLCAxOTgzNiwgMTk4NDAsIDE5ODQ0LCAKLSAgICAxOTg0OCwgMTk4NTIsIDE5ODU2LCAxOTg2MCwgMTk4NjQsIDE5ODY4LCAxOTg3MiwgMTk4NzYsIDE5ODgwLCAxOTg4NCwgCi0gICAgMTk4ODgsIDE5ODkyLCAxOTg5NiwgMTk5MDAsIDE5OTA0LCAxOTkwOCwgMTk5MTIsIDE5OTE2LCAxOTkyMCwgMTk5MjQsIAotICAgIDE5OTI4LCAxOTkzMiwgMTk5MzYsIDE5OTQwLCAxOTk0MywgMTk5NDcsIDE5OTUwLCAxOTk1NCwgMTk5NTgsIDE5OTYxLCAKLSAgICAxOTk2NSwgMTk5NjksIDE5OTcyLCAxOTk3NiwgMTk5ODAsIDE5OTg0LCAxOTk4OCwgMTk5OTEsIDE5OTk1LCAxOTk5OSwgCi0gICAgMjAwMDMsIDIwMDA3LCAyMDAxMSwgMjAwMTUsIDIwMDE4LCAyMDAyMiwgMjAwMjYsIDIwMDMwLCAyMDAzNCwgMjAwMzgsIAotICAgIDIwMDQyLCAyMDA0NiwgMjAwNTAsIDIwMDU0LCAyMDA1OCwgMjAwNjIsIDIwMDY2LCAyMDA3MCwgMjAwNzQsIDIwMDc4LCAKLSAgICAyMDA4MiwgMjAwODYsIDIwMDkwLCAyMDA5NCwgMjAwOTgsIDIwMTAyLCAyMDEwNiwgMjAxMTAsIDIwMTE0LCAyMDExOCwgCi0gICAgMjAxMjIsIDIwMTI2LCAyMDEzMCwgMjAxMzQsIDIwMTM4LCAyMDE0MiwgMjAxNDYsIDIwMTUwLCAyMDE1NCwgMjAxNTgsIAotICAgIDIwMTYyLCAyMDE2NiwgMjAxNzAsIDIwMTc0LCAyMDE3OCwgMjAxODIsIDIwMTg2LCAyMDE5MCwgMjAxOTQsIDIwMTk4LCAKLSAgICAyMDIwMiwgMjAyMDYsIDIwMjEwLCAyMDIxNCwgMjAyMTgsIDIwMjIyLCAyMDIyNiwgMjAyMzAsIDIwMjM0LCAyMDIzOCwgCi0gICAgMjAyNDIsIDIwMjQ2LCAyMDI1MCwgMjAyNTQsIDIwMjU4LCAyMDI2MiwgMjAyNjYsIDIwMjcwLCAyMDI3NCwgMjAyNzgsIAotICAgIDIwMjgyLCAyMDI4NiwgMjAyOTAsIDIwMjk0LCAyMDI5OCwgMjAzMDIsIDIwMzA2LCAyMDMxMCwgMjAzMTQsIDIwMzE4LCAKLSAgICAyMDMyMiwgMjAzMjYsIDIwMzMwLCAyMDMzNCwgMjAzMzgsIDIwMzQyLCAyMDM0NiwgMjAzNTAsIDIwMzU0LCAyMDM1OCwgCi0gICAgMjAzNjIsIDIwMzY2LCAyMDM3MCwgMjAzNzQsIDIwMzc4LCAyMDM4MiwgMjAzODYsIDIwMzkwLCAyMDM5NCwgMjAzOTgsIAotICAgIDIwNDAyLCAyMDQwNiwgMjA0MTAsIDIwNDE0LCAyMDQxOCwgMjA0MjIsIDIwNDI2LCAyMDQzMCwgMjA0MzQsIDIwNDM4LCAKLSAgICAyMDQ0MiwgMjA0NDYsIDIwNDUwLCAyMDQ1NCwgMjA0NTgsIDIwNDYyLCAyMDQ2NiwgMjA0NzAsIDIwNDc0LCAyMDQ3OCwgCi0gICAgMjA0ODIsIDIwNDg2LCAyMDQ5MCwgMjA0OTQsIDIwNDk4LCAyMDUwMiwgMjA1MDYsIDIwNTEwLCAyMDUxNCwgMjA1MTgsIAotICAgIDIwNTIyLCAyMDUyNiwgMjA1MzAsIDIwNTM0LCAyMDUzOCwgMjA1NDIsIDIwNTQ2LCAyMDU1MCwgMjA1NTQsIDIwNTU4LCAKLSAgICAyMDU2MiwgMjA1NjYsIDIwNTcwLCAyMDU3MywgMjA1NzcsIDIwNTgxLCAyMDU4NSwgMjA1ODksIDIwNTkzLCAyMDU5NywgCi0gICAgMjA2MDEsIDIwNjA1LCAyMDYwOSwgMjA2MTMsIDIwNjE3LCAyMDYyMSwgMjA2MjUsIDIwNjI5LCAyMDYzMywgMjA2MzcsIAotICAgIDIwNjQxLCAyMDY0NSwgMjA2NDksIDIwNjUzLCAyMDY1NywgMjA2NjEsIDIwNjY1LCAyMDY2OCwgMjA2NzIsIDIwNjc2LCAKLSAgICAyMDY4MCwgMjA2ODQsIDIwNjg4LCAyMDY5MiwgMjA2OTYsIDIwNzAwLCAyMDcwNCwgMjA3MDgsIDIwNzEyLCAyMDcxNiwgCi0gICAgMjA3MjAsIDIwNzI0LCAyMDcyOCwgMjA3MzEsIDIwNzM1LCAyMDczOSwgMjA3NDMsIDIwNzQ3LCAyMDc1MSwgMjA3NTUsIAotICAgIDIwNzU5LCAyMDc2MiwgMjA3NjYsIDIwNzcwLCAyMDc3NCwgMjA3NzgsIDIwNzgyLCAyMDc4NiwgMjA3OTAsIDIwNzk0LCAKLSAgICAyMDc5OCwgMjA4MDIsIDIwODA2LCAyMDgxMCwgMjA4MTQsIDIwODE4LCAyMDgyMiwgMjA4MjYsIDIwODMwLCAyMDgzNCwgCi0gICAgMjA4MzgsIDIwODQyLCAyMDg0NiwgMjA4NTAsIDIwODU0LCAwLCAyMDg1OCwgMjA4NjIsIDIwODY2LCAyMDg3MCwgMCwgMCwgCi0gICAgMjA4NzQsIDIwODc4LCAyMDg4MiwgMjA4ODYsIDIwODkwLCAyMDg5NCwgMjA4OTgsIDAsIDIwOTAyLCAwLCAyMDkwNiwgCi0gICAgMjA5MTAsIDIwOTE0LCAyMDkxOCwgMCwgMCwgMjA5MjIsIDIwOTI2LCAyMDkzMCwgMjA5MzQsIDIwOTM4LCAyMDk0MiwgCi0gICAgMjA5NDYsIDIwOTUwLCAyMDk1NCwgMjA5NTgsIDIwOTYyLCAyMDk2NiwgMjA5NzAsIDIwOTc0LCAyMDk3OCwgMjA5ODIsIAotICAgIDIwOTg2LCAyMDk5MCwgMjA5OTQsIDIwOTk4LCAyMTAwMiwgMjEwMDYsIDIxMDEwLCAyMTAxMywgMjEwMTcsIDIxMDIxLCAKLSAgICAyMTAyNSwgMjEwMjksIDIxMDMzLCAyMTAzNywgMjEwNDEsIDIxMDQ1LCAyMTA0OSwgMjEwNTMsIDIxMDU3LCAyMTA2MSwgCi0gICAgMjEwNjUsIDIxMDY5LCAyMTA3MywgMjEwNzcsIDIxMDgxLCAwLCAyMTA4NSwgMjEwODksIDIxMDkzLCAyMTA5NywgMCwgMCwgCi0gICAgMjExMDEsIDIxMTA0LCAyMTEwOCwgMjExMTIsIDIxMTE2LCAyMTEyMCwgMjExMjQsIDIxMTI4LCAyMTEzMiwgMjExMzYsIAotICAgIDIxMTQwLCAyMTE0NCwgMjExNDgsIDIxMTUyLCAyMTE1NiwgMjExNjAsIDIxMTY0LCAyMTE2OSwgMjExNzQsIDIxMTc5LCAKLSAgICAyMTE4NSwgMjExOTEsIDIxMTk2LCAyMTIwMSwgMjEyMDcsIDIxMjEwLCAyMTIxNCwgMjEyMTgsIDIxMjIyLCAyMTIyNiwgCi0gICAgMjEyMzAsIDIxMjM0LCAyMTIzOCwgMCwgMjEyNDIsIDIxMjQ2LCAyMTI1MCwgMjEyNTQsIDAsIDAsIDIxMjU4LCAyMTI2MiwgCi0gICAgMjEyNjYsIDIxMjcwLCAyMTI3NCwgMjEyNzgsIDIxMjgyLCAwLCAyMTI4NiwgMCwgMjEyOTAsIDIxMjk0LCAyMTI5OCwgCi0gICAgMjEzMDIsIDAsIDAsIDIxMzA2LCAyMTMxMCwgMjEzMTQsIDIxMzE4LCAyMTMyMiwgMjEzMjYsIDIxMzMwLCAyMTMzNCwgCi0gICAgMjEzMzgsIDIxMzQzLCAyMTM0OCwgMjEzNTMsIDIxMzU5LCAyMTM2NSwgMjEzNzAsIDAsIDIxMzc1LCAyMTM3OSwgMjEzODMsIAotICAgIDIxMzg3LCAyMTM5MSwgMjEzOTUsIDIxMzk5LCAyMTQwMywgMjE0MDcsIDIxNDExLCAyMTQxNSwgMjE0MTksIDIxNDIzLCAKLSAgICAyMTQyNywgMjE0MzEsIDIxNDM1LCAyMTQzOSwgMjE0NDIsIDIxNDQ2LCAyMTQ1MCwgMjE0NTQsIDIxNDU4LCAyMTQ2MiwgCi0gICAgMjE0NjYsIDIxNDcwLCAyMTQ3NCwgMjE0NzgsIDIxNDgyLCAyMTQ4NiwgMjE0OTAsIDIxNDk0LCAyMTQ5OCwgMjE1MDIsIAotICAgIDIxNTA2LCAyMTUxMCwgMjE1MTQsIDIxNTE4LCAyMTUyMiwgMjE1MjYsIDIxNTMwLCAyMTUzNCwgMjE1MzgsIDIxNTQyLCAKLSAgICAyMTU0NiwgMjE1NTAsIDIxNTU0LCAyMTU1OCwgMjE1NjIsIDIxNTY2LCAyMTU3MCwgMjE1NzQsIDIxNTc4LCAyMTU4MiwgCi0gICAgMjE1ODYsIDIxNTkwLCAyMTU5NCwgMjE1OTgsIDAsIDIxNjAyLCAyMTYwNiwgMjE2MTAsIDIxNjE0LCAwLCAwLCAyMTYxOCwgCi0gICAgMjE2MjIsIDIxNjI2LCAyMTYzMCwgMjE2MzQsIDIxNjM4LCAyMTY0MiwgMjE2NDYsIDIxNjUwLCAyMTY1NCwgMjE2NTgsIAotICAgIDIxNjYyLCAyMTY2NiwgMjE2NzAsIDIxNjc0LCAyMTY3OCwgMjE2ODIsIDIxNjg2LCAyMTY5MCwgMjE2OTQsIDIxNjk4LCAKLSAgICAyMTcwMiwgMjE3MDYsIDIxNzEwLCAyMTcxNCwgMjE3MTgsIDIxNzIyLCAyMTcyNiwgMjE3MzAsIDIxNzM0LCAyMTczOCwgCi0gICAgMjE3NDIsIDIxNzQ2LCAyMTc1MCwgMjE3NTQsIDIxNzU4LCAyMTc2MiwgMjE3NjYsIDIxNzcwLCAyMTc3NCwgMjE3NzgsIAotICAgIDIxNzgyLCAyMTc4NiwgMjE3OTAsIDIxNzk0LCAyMTc5OCwgMjE4MDIsIDIxODA2LCAyMTgxMCwgMjE4MTQsIDIxODE4LCAKLSAgICAyMTgyMiwgMjE4MjYsIDIxODMwLCAyMTgzNCwgMjE4MzgsIDIxODQyLCAyMTg0NSwgMjE4NDksIDIxODUzLCAyMTg1NywgCi0gICAgMjE4NjEsIDIxODY1LCAyMTg2OSwgMjE4NzMsIDIxODc3LCAyMTg4MSwgMCwgMCwgMjE4ODUsIDIxODk0LCAyMTkwMCwgCi0gICAgMjE5MDUsIDIxOTA5LCAyMTkxMiwgMjE5MTcsIDIxOTIwLCAyMTkyMywgMjE5MjYsIDIxOTMxLCAyMTkzNSwgMjE5NDAsIAotICAgIDIxOTQzLCAyMTk0NiwgMjE5NDksIDIxOTUyLCAyMTk1NSwgMjE5NTgsIDIxOTYxLCAyMTk2NCwgMjE5NjcsIDIxOTcxLCAKLSAgICAyMTk3NSwgMjE5NzksIDIxOTgzLCAyMTk4NywgMjE5OTEsIDIxOTk1LCAyMTk5OSwgMjIwMDMsIDIyMDA3LCAwLCAwLCAwLCAKLSAgICAyMjAxMywgMjIwMTksIDIyMDIzLCAyMjAyNywgMjIwMzEsIDIyMDM3LCAyMjA0MSwgMjIwNDUsIDIyMDQ5LCAyMjA1NSwgCi0gICAgMjIwNTksIDIyMDYzLCAyMjA2NywgMjIwNzMsIDIyMDc3LCAyMjA4MSwgMjIwODUsIDIyMDkxLCAyMjA5NywgMjIxMDMsIAotICAgIDIyMTExLCAyMjExNywgMjIxMjMsIDIyMTI5LCAyMjEzNSwgMjIxNDEsIDAsIDAsIDAsIDAsIDAsIDAsIDIyMTQ3LCAyMjE1MCwgCi0gICAgMjIxNTMsIDIyMTU2LCAyMjE1OSwgMjIxNjIsIDIyMTY2LCAyMjE3MCwgMjIxNzMsIDIyMTc3LCAyMjE4MSwgMjIxODUsIAotICAgIDIyMTg5LCAyMjE5MywgMjIxOTYsIDIyMjAwLCAyMjIwNCwgMjIyMDgsIDIyMjEyLCAyMjIxNiwgMjIyMjAsIDIyMjI0LCAKLSAgICAyMjIyOCwgMjIyMzIsIDIyMjM2LCAyMjI0MCwgMjIyNDMsIDIyMjQ3LCAyMjI1MSwgMjIyNTUsIDIyMjU5LCAyMjI2MiwgCi0gICAgMjIyNjYsIDIyMjcwLCAyMjI3NCwgMjIyNzgsIDIyMjgyLCAyMjI4NiwgMjIyOTAsIDIyMjk0LCAyMjI5OCwgMjIzMDIsIAotICAgIDIyMzA2LCAyMjMxMCwgMjIzMTQsIDIyMzE3LCAyMjMyMSwgMjIzMjUsIDIyMzI5LCAyMjMzMywgMjIzMzcsIDIyMzQxLCAKLSAgICAyMjM0NSwgMjIzNDksIDIyMzUzLCAyMjM1NywgMjIzNjEsIDIyMzY1LCAyMjM2OSwgMjIzNzMsIDIyMzc3LCAyMjM4MSwgCi0gICAgMjIzODUsIDIyMzg5LCAyMjM5MywgMjIzOTcsIDIyNDAxLCAyMjQwNSwgMjI0MDksIDIyNDEzLCAyMjQxNywgMjI0MjEsIAotICAgIDIyNDI1LCAyMjQyOSwgMjI0MzMsIDIyNDM3LCAyMjQ0MSwgMjI0NDUsIDIyNDQ5LCAyMjQ1MywgMjI0NTYsIDIyNDYwLCAKLSAgICAyMjQ2NCwgMjI0NjgsIDIyNDcyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyMjQ3NiwgMjI0ODAsIAotICAgIDIyNDgzLCAyMjQ4NywgMjI0OTAsIDIyNDk0LCAyMjQ5NywgMjI1MDEsIDIyNTA3LCAyMjUxMiwgMjI1MTYsIDIyNTE5LCAKLSAgICAyMjUyMywgMjI1MjcsIDIyNTMyLCAyMjUzNiwgMjI1NDEsIDIyNTQ1LCAyMjU1MCwgMjI1NTQsIDIyNTU5LCAyMjU2MywgCi0gICAgMjI1NjgsIDIyNTc0LCAyMjU3OCwgMjI1ODMsIDIyNTg3LCAyMjU5MiwgMjI1OTgsIDIyNjAyLCAyMjYwOCwgMjI2MTQsIAotICAgIDIyNjE4LCAyMjYyMywgMjI2MzEsIDIyNjM5LCAyMjY0NiwgMjI2NTEsIDIyNjU2LCAyMjY2NSwgMjI2NzIsIDIyNjc5LCAKLSAgICAyMjY4NCwgMjI2OTAsIDIyNjk0LCAyMjY5OCwgMjI3MDIsIDIyNzA2LCAyMjcxMCwgMjI3MTQsIDIyNzE4LCAyMjcyMiwgCi0gICAgMjI3MjYsIDIyNzMwLCAyMjczNiwgMjI3NDEsIDIyNzQ2LCAyMjc0OSwgMjI3NTMsIDIyNzU3LCAyMjc2MiwgMjI3NjYsIAotICAgIDIyNzcxLCAyMjc3NSwgMjI3ODAsIDIyNzg0LCAyMjc4OSwgMjI3OTMsIDIyNzk4LCAyMjgwMiwgMjI4MDcsIDIyODExLCAKLSAgICAyMjgxNiwgMjI4MjIsIDIyODI2LCAyMjgzMSwgMjI4MzYsIDIyODQwLCAyMjg0NCwgMjI4NDgsIDIyODUyLCAyMjg1NSwgCi0gICAgMjI4NTksIDIyODY1LCAyMjg3MCwgMjI4NzUsIDIyODc5LCAyMjg4MywgMjI4ODcsIDIyODkyLCAyMjg5NiwgMjI5MDEsIAotICAgIDIyOTA1LCAyMjkxMCwgMjI5MTMsIDIyOTE3LCAyMjkyMSwgMjI5MjYsIDIyOTMwLCAyMjkzNSwgMjI5MzksIDIyOTQ0LCAKLSAgICAyMjk1MCwgMjI5NTQsIDIyOTU4LCAyMjk2MiwgMjI5NjYsIDIyOTcwLCAyMjk3NCwgMjI5NzgsIDIyOTgyLCAyMjk4NiwgCi0gICAgMjI5OTAsIDIyOTk0LCAyMzAwMCwgMjMwMDMsIDIzMDA3LCAyMzAxMSwgMjMwMTYsIDIzMDIwLCAyMzAyNSwgMjMwMjksIAotICAgIDIzMDM0LCAyMzAzOCwgMjMwNDMsIDIzMDQ3LCAyMzA1MiwgMjMwNTYsIDIzMDYxLCAyMzA2NSwgMjMwNzAsIDIzMDc2LCAKLSAgICAyMzA4MCwgMjMwODQsIDIzMDkwLCAyMzA5NiwgMjMxMDIsIDIzMTA4LCAyMzExMiwgMjMxMTYsIDIzMTIwLCAyMzEyNCwgCi0gICAgMjMxMjgsIDIzMTMyLCAyMzEzOCwgMjMxNDIsIDIzMTQ2LCAyMzE1MCwgMjMxNTUsIDIzMTU5LCAyMzE2NCwgMjMxNjgsIAotICAgIDIzMTczLCAyMzE3NywgMjMxODIsIDIzMTg2LCAyMzE5MSwgMjMxOTUsIDIzMjAwLCAyMzIwNCwgMjMyMDksIDIzMjE1LCAKLSAgICAyMzIxOSwgMjMyMjUsIDIzMjI5LCAyMzIzMywgMjMyMzcsIDIzMjQxLCAyMzI0NSwgMjMyNDksIDIzMjU1LCAyMzI1OCwgCi0gICAgMjMyNjIsIDIzMjY2LCAyMzI3MSwgMjMyNzUsIDIzMjgwLCAyMzI4NCwgMjMyODksIDIzMjkzLCAyMzI5OCwgMjMzMDIsIAotICAgIDIzMzA3LCAyMzMxMSwgMjMzMTYsIDIzMzIwLCAyMzMyNSwgMjMzMzEsIDIzMzM0LCAyMzMzOCwgMjMzNDIsIDIzMzQ3LCAKLSAgICAyMzM1MiwgMjMzNTYsIDIzMzYwLCAyMzM2NCwgMjMzNjgsIDIzMzcyLCAyMzM3NiwgMjMzODIsIDIzMzg1LCAyMzM4OSwgCi0gICAgMjMzOTMsIDIzMzk4LCAyMzQwMiwgMjM0MDcsIDIzNDExLCAyMzQxNiwgMjM0MjIsIDIzNDI2LCAyMzQzMSwgMjM0MzUsIAotICAgIDIzNDM5LCAyMzQ0MywgMjM0NDcsIDIzNDUxLCAyMzQ1NSwgMjM0NTksIDIzNDY1LCAyMzQ2OSwgMjM0NzMsIDIzNDc3LCAKLSAgICAyMzQ4MiwgMjM0ODYsIDIzNDkxLCAyMzQ5NSwgMjM1MDAsIDIzNTA0LCAyMzUwOSwgMjM1MTMsIDIzNTE4LCAyMzUyMiwgCi0gICAgMjM1MjcsIDIzNTMxLCAyMzUzNiwgMjM1MzksIDIzNTQzLCAyMzU0NywgMjM1NTEsIDIzNTU1LCAyMzU1OSwgMjM1NjMsIAotICAgIDIzNTY3LCAyMzU3MSwgMjM1NzcsIDIzNTgwLCAyMzU4NCwgMjM1ODgsIDIzNTkzLCAyMzU5NywgMjM2MDIsIDIzNjA2LCAKLSAgICAyMzYxMSwgMjM2MTUsIDIzNjIwLCAyMzYyNCwgMjM2MjksIDIzNjMzLCAyMzYzOCwgMjM2NDIsIDIzNjQ3LCAyMzY1MywgCi0gICAgMjM2NTcsIDIzNjYzLCAyMzY2NywgMjM2NzMsIDIzNjc5LCAyMzY4NSwgMjM2OTEsIDIzNjk3LCAyMzcwMywgMjM3MDksIAotICAgIDIzNzE1LCAyMzcxOSwgMjM3MjMsIDIzNzI3LCAyMzczMSwgMjM3MzUsIDIzNzM5LCAyMzc0MywgMjM3NDcsIDIzNzUyLCAKLSAgICAyMzc1NiwgMjM3NjEsIDIzNzY1LCAyMzc3MCwgMjM3NzQsIDIzNzc5LCAyMzc4MywgMjM3ODgsIDIzNzkyLCAyMzc5NywgCi0gICAgMjM4MDEsIDIzODA2LCAyMzgxMCwgMjM4MTQsIDIzODE4LCAyMzgyMiwgMjM4MjYsIDIzODMwLCAyMzgzNCwgMjM4NDAsIAotICAgIDIzODQzLCAyMzg0NywgMjM4NTEsIDIzODU2LCAyMzg2MCwgMjM4NjUsIDIzODY5LCAyMzg3NCwgMjM4NzgsIDIzODgzLCAKLSAgICAyMzg4NywgMjM4OTIsIDIzODk2LCAyMzkwMSwgMjM5MDUsIDIzOTEwLCAyMzkxNiwgMjM5MjAsIDIzOTI2LCAyMzkzMSwgCi0gICAgMjM5MzcsIDIzOTQxLCAyMzk0NywgMjM5NTIsIDIzOTU2LCAyMzk2MCwgMjM5NjQsIDIzOTY4LCAyMzk3MiwgMjM5NzcsIAotICAgIDIzOTgwLCAyMzk4NCwgMjM5ODksIDIzOTkzLCAyMzk5OCwgMjQwMDEsIDI0MDA1LCAyNDAwOSwgMjQwMTMsIDI0MDE3LCAKLSAgICAyNDAyMSwgMjQwMjUsIDI0MDI5LCAyNDAzMywgMjQwMzcsIDI0MDQxLCAyNDA0NSwgMjQwNTAsIDI0MDU0LCAyNDA1OCwgCi0gICAgMjQwNjQsIDI0MDY4LCAyNDA3NCwgMjQwNzgsIDI0MDg0LCAyNDA4OCwgMjQwOTIsIDI0MDk2LCAyNDEwMCwgMjQxMDQsIAotICAgIDI0MTA5LCAyNDExMywgMjQxMTcsIDI0MTIxLCAyNDEyNSwgMjQxMjksIDI0MTMzLCAyNDEzNywgMjQxNDEsIDI0MTQ1LCAKLSAgICAyNDE0OSwgMjQxNTUsIDI0MTYxLCAyNDE2NywgMjQxNzMsIDI0MTc5LCAyNDE4NCwgMjQxOTAsIDI0MTk2LCAyNDIwMiwgCi0gICAgMjQyMDYsIDI0MjEwLCAyNDIxNCwgMjQyMTgsIDI0MjIyLCAyNDIyNiwgMjQyMzAsIDI0MjM0LCAyNDIzOCwgMjQyNDIsIAotICAgIDI0MjQ2LCAyNDI1MCwgMjQyNTQsIDI0MjU5LCAyNDI2NCwgMjQyNjksIDI0MjczLCAyNDI3NywgMjQyODEsIDI0Mjg1LCAKLSAgICAyNDI4OSwgMjQyOTMsIDI0Mjk3LCAyNDMwMSwgMjQzMDUsIDI0MzA5LCAyNDMxNSwgMjQzMjEsIDI0MzI3LCAyNDMzMywgCi0gICAgMjQzMzksIDI0MzQ1LCAyNDM1MSwgMjQzNTcsIDI0MzYzLCAyNDM2NywgMjQzNzEsIDI0Mzc1LCAyNDM3OSwgMjQzODMsIAotICAgIDI0Mzg3LCAyNDM5MSwgMjQzOTcsIDI0NDAzLCAyNDQwOSwgMjQ0MTUsIDI0NDIxLCAyNDQyNywgMjQ0MzMsIDI0NDM5LCAKLSAgICAyNDQ0NSwgMjQ0NTAsIDI0NDU1LCAyNDQ2MCwgMjQ0NjUsIDI0NDcxLCAyNDQ3NywgMjQ0ODMsIDI0NDg5LCAyNDQ5NSwgCi0gICAgMjQ1MDEsIDI0NTA3LCAyNDUxMiwgMjQ1MTgsIDI0NTI0LCAyNDUzMCwgMjQ1MzUsIDI0NTQxLCAyNDU0NywgMjQ1NTMsIAotICAgIDI0NTU4LCAyNDU2MywgMjQ1NjgsIDI0NTczLCAyNDU3OCwgMjQ1ODMsIDI0NTg4LCAyNDU5MywgMjQ1OTgsIDI0NjAzLCAKLSAgICAyNDYwOCwgMjQ2MTMsIDI0NjE3LCAyNDYyMiwgMjQ2MjcsIDI0NjMyLCAyNDYzNywgMjQ2NDIsIDI0NjQ3LCAyNDY1MiwgCi0gICAgMjQ2NTcsIDI0NjYyLCAyNDY2NywgMjQ2NzIsIDI0Njc3LCAyNDY4MiwgMjQ2ODcsIDI0NjkyLCAyNDY5NywgMjQ3MDIsIAotICAgIDI0NzA3LCAyNDcxMiwgMjQ3MTcsIDI0NzIyLCAyNDcyNywgMjQ3MzIsIDI0NzM3LCAyNDc0MiwgMjQ3NDcsIDI0NzUyLCAKLSAgICAyNDc1NywgMjQ3NjIsIDI0NzY2LCAyNDc3MSwgMjQ3NzYsIDI0NzgxLCAyNDc4NiwgMjQ3OTEsIDI0Nzk2LCAyNDgwMSwgCi0gICAgMjQ4MDYsIDI0ODExLCAyNDgxNiwgMjQ4MjEsIDI0ODI2LCAyNDgzMSwgMjQ4MzYsIDI0ODQxLCAyNDg0NiwgMjQ4NTEsIAotICAgIDI0ODU2LCAyNDg2MSwgMjQ4NjYsIDI0ODcxLCAyNDg3NiwgMjQ4ODEsIDI0ODg2LCAyNDg5MSwgMjQ4OTUsIDI0OTAwLCAKLSAgICAyNDkwNSwgMjQ5MTAsIDI0OTE1LCAyNDkyMCwgMjQ5MjQsIDI0OTI5LCAyNDkzNCwgMjQ5MzksIDI0OTQ0LCAyNDk0OSwgCi0gICAgMjQ5NTMsIDI0OTU4LCAyNDk2NCwgMjQ5NjksIDI0OTc0LCAyNDk3OSwgMjQ5ODQsIDI0OTkwLCAyNDk5NSwgMjUwMDAsIAotICAgIDI1MDA1LCAyNTAxMCwgMjUwMTUsIDI1MDIwLCAyNTAyNSwgMjUwMzAsIDI1MDM1LCAyNTA0MCwgMjUwNDUsIDI1MDUwLCAKLSAgICAyNTA1NSwgMjUwNjAsIDI1MDY1LCAyNTA3MCwgMjUwNzUsIDI1MDgwLCAyNTA4NSwgMjUwOTAsIDI1MDk1LCAyNTEwMCwgCi0gICAgMjUxMDUsIDI1MTEwLCAyNTExNSwgMjUxMjAsIDI1MTI1LCAyNTEzMCwgMjUxMzUsIDI1MTQwLCAyNTE0NSwgMjUxNTAsIAotICAgIDI1MTU1LCAyNTE2MCwgMjUxNjUsIDI1MTcwLCAyNTE3NSwgMjUxODAsIDI1MTg1LCAyNTE5MCwgMjUxOTUsIDI1MjAwLCAKLSAgICAyNTIwNSwgMjUyMTAsIDI1MjE2LCAyNTIyMSwgMjUyMjYsIDI1MjMxLCAyNTIzNiwgMjUyNDEsIDI1MjQ2LCAyNTI1MSwgCi0gICAgMjUyNTYsIDI1MjYxLCAyNTI2NiwgMjUyNzEsIDI1Mjc1LCAyNTI4MCwgMjUyODUsIDI1MjkwLCAyNTI5NSwgMjUzMDAsIAotICAgIDI1MzA1LCAyNTMxMCwgMjUzMTUsIDI1MzIwLCAyNTMyNSwgMjUzMzAsIDI1MzM1LCAyNTM0MCwgMjUzNDUsIDI1MzUwLCAKLSAgICAyNTM1NSwgMjUzNjAsIDI1MzY1LCAyNTM3MCwgMjUzNzUsIDI1MzgwLCAyNTM4NSwgMjUzOTAsIDI1Mzk1LCAyNTQwMCwgCi0gICAgMjU0MDUsIDI1NDExLCAyNTQxNSwgMjU0MTksIDI1NDIzLCAyNTQyNywgMjU0MzEsIDI1NDM1LCAyNTQzOSwgMjU0NDMsIAotICAgIDI1NDQ5LCAyNTQ1NSwgMjU0NjEsIDI1NDY3LCAyNTQ3MywgMjU0NzksIDI1NDg1LCAyNTQ5MiwgMjU0OTgsIDI1NTAzLCAKLSAgICAyNTUwOCwgMjU1MTMsIDI1NTE4LCAyNTUyMywgMjU1MjgsIDI1NTMzLCAyNTUzOCwgMjU1NDMsIDI1NTQ4LCAyNTU1MywgCi0gICAgMjU1NTgsIDI1NTYzLCAyNTU2OCwgMjU1NzMsIDI1NTc4LCAyNTU4MywgMjU1ODgsIDI1NTkzLCAyNTU5OCwgMjU2MDMsIAotICAgIDI1NjA4LCAyNTYxMywgMjU2MTgsIDI1NjIzLCAyNTYyOCwgMjU2MzMsIDI1NjM4LCAwLCAwLCAwLCAyNTY0NSwgMjU2NTUsIAotICAgIDI1NjU5LCAyNTY2NiwgMjU2NzAsIDI1Njc0LCAyNTY3OCwgMjU2ODYsIDI1NjkwLCAyNTY5NSwgMjU3MDAsIDI1NzA1LCAKLSAgICAyNTcwOSwgMjU3MTQsIDI1NzE5LCAyNTcyMiwgMjU3MjYsIDI1NzMwLCAyNTczOSwgMjU3NDMsIDI1NzQ3LCAyNTc1MywgCi0gICAgMjU3NTcsIDI1NzYxLCAyNTc2OSwgMjU3NzMsIDI1NzgxLCAyNTc4NywgMjU3OTMsIDI1Nzk5LCAyNTgwNSwgMjU4MTUsIAotICAgIDI1ODIxLCAyNTgyNSwgMjU4MzQsIDI1ODM3LCAyNTg0MywgMjU4NDcsIDI1ODUzLCAyNTg1OCwgMjU4NjQsIDI1ODcyLCAKLSAgICAyNTg3OCwgMjU4ODQsIDI1ODkyLCAyNTg5OCwgMjU5MDIsIDI1OTA2LCAyNTkxNiwgMjU5MjIsIDI1OTI2LCAyNTkzNiwgCi0gICAgMjU5NDIsIDI1OTQ2LCAyNTk1MCwgMjU5NTcsIDI1OTY0LCAyNTk2OSwgMjU5NzQsIDI1OTgzLCAyNTk4NywgMjU5OTEsIAotICAgIDI1OTk1LCAyNjAwMywgMjYwMTAsIDI2MDE0LCAyNjAxOCwgMjYwMjIsIDI2MDI2LCAyNjAzMCwgMjYwMzQsIDI2MDM4LCAKLSAgICAyNjA0MiwgMjYwNDYsIDI2MDUwLCAyNjA1NCwgMjYwNTksIDI2MDY0LCAyNjA2OSwgMjYwNzMsIDI2MDc3LCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNjA4MSwgMjYwODUsIDI2MDg5LCAyNjA5MywgMjYwOTcsIAotICAgIDI2MTAyLCAyNjEwNywgMjYxMTIsIDI2MTE3LCAyNjEyMSwgMjYxMjUsIDI2MTMwLCAyNjEzNCwgMCwgMjYxMzgsIDI2MTQzLCAKLSAgICAyNjE0OCwgMjYxNTIsIDI2MTU2LCAyNjE2MSwgMjYxNjYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDI2MTcxLCAyNjE3NSwgMjYxNzksIDI2MTgzLCAyNjE4NywgMjYxOTIsIDI2MTk3LCAyNjIwMiwgMjYyMDcsIDI2MjExLCAKLSAgICAyNjIxNSwgMjYyMjAsIDI2MjI0LCAyNjIyOCwgMjYyMzIsIDI2MjM3LCAyNjI0MiwgMjYyNDYsIDI2MjUwLCAyNjI1NSwgCi0gICAgMjYyNjAsIDI2MjY1LCAyNjI3MSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjYyNzYsIDI2MjgwLCAyNjI4NCwgCi0gICAgMjYyODgsIDI2MjkyLCAyNjI5NywgMjYzMDIsIDI2MzA3LCAyNjMxMiwgMjYzMTYsIDI2MzIwLCAyNjMyNSwgMjYzMjksIAotICAgIDI2MzMzLCAyNjMzNywgMjYzNDIsIDI2MzQ3LCAyNjM1MSwgMjYzNTUsIDI2MzYwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAyNjM2NSwgMjYzNjksIDI2MzczLCAyNjM3NywgMjYzODEsIDI2Mzg2LCAyNjM5MSwgMjYzOTYsIAotICAgIDI2NDAxLCAyNjQwNSwgMjY0MDksIDI2NDE0LCAyNjQxOCwgMCwgMjY0MjIsIDI2NDI3LCAyNjQzMiwgMCwgMjY0MzYsIAotICAgIDI2NDQxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNjQ0NiwgMjY0NDksIDI2NDUzLCAyNjQ1NywgCi0gICAgMjY0NjEsIDI2NDY1LCAyNjQ2OSwgMjY0NzMsIDI2NDc3LCAyNjQ4MSwgMjY0ODUsIDI2NDg5LCAyNjQ5MywgMjY0OTcsIAotICAgIDI2NTAxLCAyNjUwNSwgMjY1MDksIDI2NTEzLCAyNjUxNiwgMjY1MjAsIDI2NTI0LCAyNjUyOCwgMjY1MzIsIDI2NTM2LCAKLSAgICAyNjU0MCwgMjY1NDQsIDI2NTQ4LCAyNjU1MiwgMjY1NTYsIDI2NTYwLCAyNjU2NCwgMjY1NjgsIDI2NTcxLCAyNjU3NCwgCi0gICAgMjY1NzgsIDI2NTgyLCAyNjU4OCwgMjY1OTQsIDI2NjAwLCAyNjYwNiwgMjY2MTIsIDI2NjE4LCAyNjYyNCwgMjY2MzAsIAotICAgIDI2NjM2LCAyNjY0MiwgMjY2NDgsIDI2NjU0LCAyNjY2MCwgMjY2NjYsIDI2Njc1LCAyNjY4NCwgMjY2OTAsIDI2Njk2LCAKLSAgICAyNjcwMiwgMjY3MDcsIDI2NzExLCAyNjcxNiwgMjY3MjEsIDI2NzI2LCAyNjczMCwgMjY3MzUsIDI2NzQwLCAyNjc0NSwgCi0gICAgMjY3NDksIDI2NzU0LCAyNjc1OCwgMjY3NjMsIDI2NzY4LCAyNjc3MywgMjY3NzgsIDI2NzgyLCAyNjc4NiwgMjY3OTAsIAotICAgIDI2Nzk0LCAyNjc5OCwgMjY4MDIsIDI2ODA2LCAyNjgxMCwgMjY4MTQsIDI2ODE4LCAyNjgyNCwgMjY4MjgsIDI2ODMyLCAKLSAgICAyNjgzNiwgMjY4NDAsIDI2ODQ0LCAyNjg1MiwgMjY4NTgsIDI2ODYyLCAyNjg2OCwgMjY4NzIsIDI2ODc4LCAyNjg4MiwgMCwgCi0gICAgMCwgMjY4ODYsIDI2ODkwLCAyNjg5MywgMjY4OTYsIDI2ODk5LCAyNjkwMiwgMjY5MDUsIDI2OTA4LCAyNjkxMSwgMjY5MTQsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDI2OTE3LCAyNjkyNSwgMjY5MzMsIDI2OTQxLCAyNjk0OSwgMjY5NTcsIDI2OTY1LCAyNjk3MywgCi0gICAgMjY5ODEsIDI2OTg5LCAwLCAwLCAwLCAwLCAwLCAwLCAyNjk5NywgMjcwMDAsIDI3MDAzLCAyNzAwNiwgMjcwMTEsIDI3MDE0LCAKLSAgICAyNzAxOSwgMjcwMjYsIDI3MDM0LCAyNzAzOSwgMjcwNDYsIDI3MDQ5LCAyNzA1NiwgMjcwNjMsIDI3MDcwLCAwLCAyNzA3NCwgCi0gICAgMjcwNzgsIDI3MDgxLCAyNzA4NCwgMjcwODcsIDI3MDkwLCAyNzA5MywgMjcwOTYsIDI3MDk5LCAyNzEwMiwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMjcxMDUsIDI3MTA4LCAyNzExMSwgMjcxMTQsIDI3MTE3LCAyNzEyMCwgMjcxMjQsIDI3MTI4LCAyNzEzMiwgCi0gICAgMjcxMzUsIDI3MTM5LCAyNzE0MywgMjcxNDYsIDI3MTUwLCAyNzE1NCwgMjcxNTcsIDI3MTYxLCAyNzE2NCwgMjcxNjgsIAotICAgIDI3MTcyLCAyNzE3NiwgMjcxODAsIDI3MTg0LCAyNzE4NywgMjcxOTAsIDI3MTk0LCAyNzE5OCwgMjcyMDEsIDI3MjA1LCAKLSAgICAyNzIwOSwgMjcyMTMsIDI3MjE3LCAyNzIyMSwgMjcyMjUsIDI3MjI5LCAyNzIzMywgMjcyNDAsIDI3MjQ1LCAyNzI1MCwgCi0gICAgMjcyNTUsIDI3MjYwLCAyNzI2NiwgMjcyNzIsIDI3Mjc4LCAyNzI4NCwgMjcyODksIDI3Mjk1LCAyNzMwMSwgMjczMDYsIAotICAgIDI3MzEyLCAyNzMxOCwgMjczMjQsIDI3MzMwLCAyNzMzNiwgMjczNDEsIDI3MzQ3LCAyNzM1MiwgMjczNTgsIDI3MzY0LCAKLSAgICAyNzM3MCwgMjczNzYsIDI3MzgyLCAyNzM4NywgMjczOTIsIDI3Mzk4LCAyNzQwNCwgMjc0MDksIDI3NDE1LCAyNzQyMCwgCi0gICAgMjc0MjYsIDI3NDMxLCAyNzQzNiwgMjc0NDIsIDI3NDQ4LCAyNzQ1NCwgMjc0NjAsIDI3NDY2LCAyNzQ3MiwgMjc0NzgsIAotICAgIDI3NDg0LCAyNzQ5MCwgMjc0OTYsIDI3NTAyLCAyNzUwOCwgMjc1MTMsIDI3NTE4LCAyNzUyMywgMjc1MjksIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDI3NTM1LCAyNzU0NCwgMjc1NTMsIDI3NTYxLCAyNzU2OSwgMjc1NzksIDI3NTg3LCAyNzU5NiwgCi0gICAgMjc2MDMsIDI3NjEwLCAyNzYxNywgMjc2MjUsIDI3NjMzLCAyNzY0MSwgMjc2NDksIDI3NjU3LCAyNzY2NSwgMjc2NzMsIAotICAgIDI3NjgxLCAyNzY4OCwgMjc2OTYsIDI3NzA0LCAyNzcxMiwgMjc3MjAsIDI3NzI4LCAyNzczOCwgMjc3NDgsIDI3NzU4LCAKLSAgICAyNzc2OCwgMjc3NzgsIDI3Nzg4LCAyNzc5OCwgMjc4MDgsIDI3ODE4LCAyNzgyOCwgMjc4MzgsIDI3ODQ4LCAyNzg1OCwgCi0gICAgMjc4NjgsIDI3ODc2LCAyNzg4NCwgMjc4OTQsIDI3OTAyLCAwLCAwLCAwLCAwLCAwLCAyNzkxMiwgMjc5MTYsIDI3OTIwLCAKLSAgICAyNzkyNCwgMjc5MjgsIDI3OTMyLCAyNzkzNiwgMjc5NDAsIDI3OTQ0LCAyNzk0OCwgMjc5NTIsIDI3OTU2LCAyNzk2MCwgCi0gICAgMjc5NjQsIDI3OTY4LCAyNzk3MiwgMjc5NzYsIDI3OTgwLCAyNzk4NCwgMjc5ODgsIDI3OTkyLCAyNzk5NiwgMjgwMDAsIAotICAgIDI4MDA0LCAyODAxMCwgMjgwMTQsIDI4MDIwLCAyODAyNCwgMjgwMzAsIDI4MDM0LCAyODA0MCwgMjgwNDQsIDI4MDQ4LCAKLSAgICAyODA1MiwgMjgwNTYsIDI4MDYwLCAyODA2NCwgMjgwNzAsIDI4MDc2LCAyODA4MiwgMjgwODgsIDI4MDkzLCAyODA5OSwgCi0gICAgMjgxMDUsIDI4MTExLCAyODExNywgMjgxMjMsIDI4MTI5LCAyODEzNiwgMjgxNDIsIDI4MTQ3LCAyODE1MiwgMjgxNTYsIAotICAgIDI4MTYwLCAyODE2NCwgMjgxNjgsIDI4MTcyLCAyODE3NiwgMjgxODAsIDI4MTg2LCAyODE5MiwgMjgxOTgsIDI4MjAzLCAKLSAgICAyODIxMCwgMjgyMTUsIDI4MjIwLCAyODIyNiwgMjgyMzEsIDI4MjM4LCAyODI0NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMjgyNTIsIDI4MjU4LCAyODI2MiwgMjgyNjcsIDI4MjcyLCAyODI3NywgMjgyODIsIDI4Mjg3LCAyODI5MiwgCi0gICAgMjgyOTcsIDI4MzAyLCAyODMwNywgMjgzMTIsIDI4MzE3LCAyODMyMiwgMjgzMjcsIDI4MzMxLCAyODMzNSwgMjgzNDAsIAotICAgIDI4MzQ1LCAyODM1MCwgMjgzNTQsIDI4MzU4LCAyODM2MiwgMjgzNjcsIDI4MzcyLCAyODM3NywgMjgzODIsIDI4Mzg2LCAwLCAKLSAgICAwLCAwLCAyODM5MCwgMjgzOTUsIDI4NDAwLCAyODQwNSwgMjg0MTEsIDI4NDE3LCAyODQyMywgMjg0MjksIDI4NDM0LCAKLSAgICAyODQzOSwgMjg0NDUsIDI4NDUxLCAwLCAwLCAwLCAwLCAyODQ1OCwgMjg0NjMsIDI4NDY5LCAyODQ3NSwgMjg0ODEsIAotICAgIDI4NDg2LCAyODQ5MSwgMjg0OTYsIDI4NTAxLCAyODUwNywgMjg1MTIsIDI4NTE3LCAwLCAwLCAwLCAwLCAyODUyMiwgMCwgMCwgCi0gICAgMCwgMjg1MjcsIDI4NTMyLCAyODUzNywgMjg1NDIsIDI4NTQ2LCAyODU1MCwgMjg1NTQsIDI4NTU4LCAyODU2MiwgMjg1NjYsIAotICAgIDI4NTcwLCAyODU3NCwgMjg1NzgsIDI4NTgzLCAyODU4OSwgMjg1OTUsIDI4NjAxLCAyODYwNiwgMjg2MTEsIDI4NjE3LCAKLSAgICAyODYyMywgMjg2MjksIDI4NjM0LCAyODY0MCwgMjg2NDUsIDI4NjUxLCAyODY1NywgMjg2NjIsIDI4NjY4LCAyODY3NCwgCi0gICAgMjg2ODAsIDI4Njg1LCAyODY5MCwgMjg2OTUsIDI4NzAxLCAyODcwNywgMjg3MTIsIDI4NzE4LCAyODcyMywgMjg3MjksIAotICAgIDI4NzM0LCAyODc0MCwgMCwgMCwgMjg3NDYsIDI4NzUyLCAyODc1OCwgMjg3NjQsIDI4NzcwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAyODc3NiwgMjg3ODMsIDI4NzkwLCAyODc5NiwgMjg4MDMsIDI4ODEwLCAyODgxNiwgMjg4MjMsIAotICAgIDI4ODMwLCAyODgzNywgMjg4NDMsIDI4ODQ5LCAyODg1NiwgMjg4NjIsIDI4ODY4LCAyODg3NSwgMjg4ODIsIDI4ODg4LCAKLSAgICAyODg5NSwgMjg5MDIsIDI4OTA4LCAyODkxNCwgMjg5MjEsIDI4OTI3LCAyODkzMywgMjg5NDAsIDI4OTQ2LCAyODk1MywgCi0gICAgMjg5NjAsIDI4OTY3LCAyODk3NCwgMjg5ODEsIDI4OTg4LCAyODk5NCwgMjkwMDEsIDI5MDA4LCAyOTAxNCwgMjkwMjEsIAotICAgIDI5MDI4LCAyOTAzNSwgMjkwNDIsIDI5MDQ5LCAyOTA1NiwgMjkwNjMsIDAsIDAsIDAsIDAsIDI5MDcwLCAyOTA3OCwgCi0gICAgMjkwODUsIDI5MDkyLCAyOTA5OCwgMjkxMDUsIDI5MTExLCAyOTExOCwgMjkxMjQsIDI5MTMxLCAyOTEzOCwgMjkxNDUsIAotICAgIDI5MTUyLCAyOTE1OSwgMjkxNjYsIDI5MTczLCAyOTE4MCwgMjkxODcsIDI5MTk0LCAyOTIwMSwgMjkyMDgsIDI5MjE0LCAKLSAgICAyOTIyMSwgMjkyMjgsIDI5MjM1LCAyOTI0MSwgMCwgMCwgMCwgMCwgMCwgMCwgMjkyNDcsIDI5MjUzLCAyOTI1OCwgMjkyNjMsIAotICAgIDI5MjY4LCAyOTI3MywgMjkyNzgsIDI5MjgzLCAyOTI4OCwgMjkyOTMsIDI5Mjk4LCAwLCAwLCAwLCAyOTMwNCwgMjkzMTAsIAotICAgIDI5MzE2LCAyOTMyMCwgMjkzMjYsIDI5MzMyLCAyOTMzOCwgMjkzNDQsIDI5MzUwLCAyOTM1NiwgMjkzNjIsIDI5MzY4LCAKLSAgICAyOTM3NCwgMjkzODAsIDI5Mzg2LCAyOTM5MiwgMjkzOTgsIDI5NDA0LCAyOTQxMCwgMjk0MTQsIDI5NDIwLCAyOTQyNiwgCi0gICAgMjk0MzIsIDI5NDM4LCAyOTQ0NCwgMjk0NTAsIDI5NDU2LCAyOTQ2MiwgMjk0NjgsIDI5NDc0LCAyOTQ4MCwgMjk0ODYsIAotICAgIDI5NDkyLCAyOTQ5OCwgMjk1MDQsIDI5NTA4LCAyOTUxMywgMjk1MTgsIDI5NTIzLCAyOTUyNywgMjk1MzIsIDI5NTM2LCAKLSAgICAyOTU0MSwgMjk1NDYsIDI5NTUxLCAyOTU1NSwgMjk1NjAsIDI5NTY1LCAyOTU3MCwgMjk1NzUsIDI5NTgwLCAyOTU4NCwgCi0gICAgMjk1ODgsIDI5NTkzLCAyOTU5OCwgMjk2MDIsIDI5NjA2LCAyOTYxMCwgMjk2MTUsIDI5NjIwLCAyOTYyNSwgMjk2MzAsIDAsIAotICAgIDAsIDI5NjM2LCAyOTY0MCwgMjk2NDcsIDI5NjUyLCAyOTY1OCwgMjk2NjQsIDI5NjY5LCAyOTY3NSwgMjk2ODEsIDI5Njg2LCAKLSAgICAyOTY5MiwgMjk2OTgsIDI5NzA0LCAyOTcwOSwgMjk3MTUsIDI5NzIwLCAyOTcyNSwgMjk3MzEsIDI5NzM2LCAyOTc0MiwgCi0gICAgMjk3NDcsIDI5NzUzLCAyOTc1OSwgMjk3NjUsIDI5NzcxLCAyOTc3NSwgMjk3ODAsIDI5Nzg1LCAyOTc5MSwgMjk3OTcsIAotICAgIDI5ODAyLCAyOTgwOCwgMjk4MTQsIDI5ODE4LCAyOTgyMywgMjk4MjgsIDI5ODMyLCAyOTgzNywgMjk4NDIsIDI5ODQ3LCAKLSAgICAyOTg1MiwgMjk4NTgsIDI5ODY0LCAyOTg2OSwgMjk4NzQsIDI5ODc5LCAyOTg4MywgMjk4ODgsIDI5ODkyLCAyOTg5NywgCi0gICAgMjk5MDEsIDI5OTA2LCAyOTkxMSwgMjk5MTYsIDI5OTIxLCAyOTkyNywgMjk5MzMsIDI5OTQwLCAyOTk1MCwgMjk5NTksIAotICAgIDI5OTY2LCAyOTk3MiwgMjk5ODIsIDI5OTg3LCAyOTk5MywgMCwgMjk5OTgsIDMwMDAzLCAzMDAwOCwgMzAwMTYsIDMwMDIyLCAKLSAgICAzMDAzMCwgMzAwMzUsIDMwMDQxLCAzMDA0NywgMzAwNTMsIDMwMDU4LCAzMDA2NCwgMzAwNjksIDMwMDc2LCAzMDA4MiwgCi0gICAgMzAwODcsIDMwMDkzLCAzMDA5OSwgMzAxMDUsIDMwMTEyLCAzMDExOSwgMzAxMjYsIDMwMTMxLCAzMDEzNiwgMzAxNDMsIAotICAgIDMwMTUwLCAzMDE1NywgMzAxNjQsIDMwMTcxLCAwLCAwLCAzMDE3OCwgMzAxODUsIDMwMTkyLCAzMDE5OCwgMzAyMDQsIAotICAgIDMwMjEwLCAzMDIxNiwgMzAyMjIsIDMwMjI4LCAzMDIzNCwgMzAyNDAsIDAsIDAsIDAsIDAsIDAsIDAsIDMwMjQ2LCAzMDI1MiwgCi0gICAgMzAyNTcsIDMwMjYyLCAzMDI2NywgMzAyNzIsIDMwMjc3LCAzMDI4MiwgMzAyODcsIDMwMjkyLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAzMDI5NywgMzAzMDIsIDMwMzA3LCAzMDMxMiwgMzAzMTcsIDMwMzIyLCAzMDMyNywgMzAzMzYsIDMwMzQzLCAzMDM0OCwgCi0gICAgMzAzNTMsIDMwMzU4LCAzMDM2MywgMzAzNjgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDY1NTEyLCA2NTUyMSwgNjU1MzAsIDY1NTQxLCA2NTU0OCwgNjU1NTMsIDY1NTU4LCA2NTU2NSwgNjU1NzIsIDY1NTc4LCAKKyAgICA2NTU4MywgNjU1ODgsIDY1NTkzLCA2NTU5OCwgNjU2MDUsIDY1NjEwLCA2NTYxNSwgNjU2MjAsIDY1NjMxLCA2NTYzNiwgCisgICAgNjU2NDEsIDY1NjQ4LCA2NTY1MywgNjU2NjAsIDY1NjY1LCA2NTY3MCwgNjU2NzcsIDY1Njg0LCA2NTY5MSwgNjU3MDAsIAorICAgIDY1NzA5LCA2NTcxNCwgNjU3MTksIDY1NzI0LCA2NTczMSwgNjU3MzYsIDY1NzQ2LCA2NTc1MywgNjU3NTgsIDY1NzYzLCAKKyAgICA2NTc2OCwgNjU3NzMsIDY1Nzc4LCA2NTc4MywgNjU3OTIsIDY1Nzk5LCA2NTgwNiwgNjU4MTEsIDY1ODE4LCA2NTgyMywgCisgICAgNjU4MzAsIDY1ODM5LCA2NTg1MCwgNjU4NTUsIDY1ODY0LCA2NTg2OSwgNjU4NzYsIDY1ODg1LCA2NTg5NCwgNjU4OTksIAorICAgIDY1OTA0LCA2NTkxMSwgNjU5MTcsIDY1OTI0LCA2NTkzMSwgNjU5MzUsIDY1OTM5LCA2NTk0MiwgNjU5NDYsIDY1OTUwLCAKKyAgICA2NTk1NCwgNjU5NTgsIDY1OTYyLCA2NTk2NiwgNjU5NzAsIDY1OTczLCA2NTk3NywgNjU5ODEsIDY1OTg1LCA2NTk4OSwgCisgICAgNjU5OTMsIDY1OTk3LCA2NjAwMCwgNjYwMDQsIDY2MDA4LCA2NjAxMSwgNjYwMTUsIDY2MDE5LCA2NjAyMywgNjYwMjcsIAorICAgIDY2MDMxLCA2NjAzNSwgNjYwMzksIDY2MDQzLCA2NjA0NywgNjYwNTEsIDY2MDU1LCA2NjA1OSwgNjYwNjMsIDY2MDY3LCAKKyAgICA2NjA3MSwgNjYwNzUsIDY2MDc5LCA2NjA4MywgNjYwODcsIDY2MDkxLCA2NjA5NSwgNjYwOTksIDY2MTAzLCA2NjEwNywgCisgICAgNjYxMTEsIDY2MTE1LCA2NjExOSwgNjYxMjMsIDY2MTI3LCA2NjEzMSwgNjYxMzUsIDY2MTM5LCA2NjE0MywgNjYxNDcsIAorICAgIDY2MTUxLCA2NjE1NSwgNjYxNTksIDY2MTYzLCA2NjE2NywgNjYxNzEsIDY2MTc1LCA2NjE3OSwgNjYxODMsIDY2MTg3LCAKKyAgICA2NjE5MCwgNjYxOTQsIDY2MTk4LCA2NjIwMiwgNjYyMDYsIDY2MjEwLCA2NjIxNCwgNjYyMTgsIDY2MjIyLCA2NjIyNiwgCisgICAgNjYyMzAsIDY2MjM0LCA2NjIzOCwgNjYyNDIsIDY2MjQ2LCA2NjI1MCwgNjYyNTQsIDY2MjU4LCA2NjI2MiwgNjYyNjYsIAorICAgIDY2MjcwLCA2NjI3NCwgNjYyNzgsIDY2MjgyLCA2NjI4NiwgNjYyOTAsIDY2Mjk0LCA2NjI5OCwgNjYzMDIsIDY2MzA2LCAKKyAgICA2NjMxMCwgNjYzMTQsIDY2MzE4LCA2NjMyMiwgNjYzMjYsIDY2MzMwLCA2NjMzNCwgNjYzMzgsIDY2MzQyLCA2NjM0NiwgCisgICAgNjYzNTAsIDY2MzU0LCA2NjM1OCwgNjYzNjIsIDY2MzY2LCA2NjM3MCwgNjYzNzQsIDY2Mzc4LCA2NjM4MiwgNjYzODYsIAorICAgIDY2MzkwLCA2NjM5NCwgNjYzOTgsIDY2NDAyLCA2NjQwNiwgNjY0MTAsIDY2NDE0LCA2NjQxOCwgNjY0MjIsIDY2NDI2LCAKKyAgICA2NjQzMCwgNjY0MzQsIDY2NDM4LCA2NjQ0MiwgNjY0NDYsIDY2NDUwLCA2NjQ1NCwgNjY0NTgsIDY2NDYyLCA2NjQ2NiwgCisgICAgNjY0NzAsIDY2NDc0LCA2NjQ3OCwgNjY0ODIsIDY2NDg2LCA2NjQ5MCwgNjY0OTQsIDY2NDk4LCA2NjUwMiwgNjY1MDYsIAorICAgIDY2NTEwLCA2NjUxNCwgNjY1MTgsIDY2NTIyLCA2NjUyNiwgNjY1MzAsIDY2NTM0LCA2NjUzOCwgNjY1NDIsIDY2NTQ2LCAKKyAgICA2NjU1MCwgNjY1NTQsIDY2NTU4LCA2NjU2MiwgNjY1NjYsIDY2NTcwLCA2NjU3NCwgNjY1NzgsIDY2NTgyLCA2NjU4NiwgCisgICAgNjY1OTAsIDY2NTk0LCA2NjU5OCwgNjY2MDIsIDY2NjA2LCA2NjYxMCwgNjY2MTQsIDY2NjE4LCA2NjYyMiwgNjY2MjYsIAorICAgIDY2NjMwLCA2NjYzNCwgNjY2MzgsIDY2NjQyLCA2NjY0NiwgNjY2NTAsIDY2NjU0LCA2NjY1OCwgNjY2NjEsIDY2NjY1LCAKKyAgICA2NjY2OSwgNjY2NzMsIDY2Njc3LCA2NjY4MSwgNjY2ODUsIDY2Njg5LCA2NjY5MywgNjY2OTcsIDY2NzAxLCA2NjcwNSwgCisgICAgNjY3MDksIDY2NzEzLCA2NjcxNywgNjY3MjEsIDY2NzI1LCA2NjcyOSwgNjY3MzMsIDY2NzM3LCA2Njc0MSwgNjY3NDUsIAorICAgIDY2NzQ5LCA2Njc1MywgNjY3NTcsIDY2NzYxLCA2Njc2NSwgNjY3NjksIDY2NzczLCA2Njc3NywgNjY3ODEsIDY2Nzg1LCAKKyAgICA2Njc4OSwgNjY3OTMsIDY2Nzk3LCA2NjgwMSwgNjY4MDUsIDY2ODA5LCA2NjgxMywgNjY4MTcsIDY2ODIxLCA2NjgyNSwgCisgICAgNjY4MjksIDY2ODMzLCA2NjgzNywgNjY4NDEsIDY2ODQ1LCA2Njg0OSwgNjY4NTMsIDY2ODU3LCA2Njg2MSwgNjY4NjUsIAorICAgIDY2ODY5LCA2Njg3MywgNjY4NzcsIDY2ODgxLCA2Njg4NSwgNjY4ODksIDY2ODkzLCA2Njg5NywgNjY5MDEsIDY2OTA1LCAKKyAgICA2NjkwOSwgNjY5MTMsIDY2OTE3LCA2NjkyMSwgNjY5MjUsIDY2OTI5LCA2NjkzMywgNjY5MzcsIDY2OTQxLCA2Njk0NSwgCisgICAgNjY5NDksIDY2OTUzLCA2Njk1NywgNjY5NjEsIDY2OTY1LCA2Njk2OSwgNjY5NzMsIDY2OTc3LCA2Njk4MSwgNjY5ODUsIAorICAgIDY2OTg5LCA2Njk5MywgNjY5OTcsIDY3MDAxLCA2NzAwNSwgNjcwMDksIDY3MDEzLCA2NzAxNywgNjcwMjEsIDY3MDI1LCAKKyAgICA2NzAyOSwgNjcwMzMsIDY3MDM3LCA2NzA0MSwgNjcwNDUsIDY3MDQ5LCA2NzA1MywgNjcwNTcsIDY3MDYxLCA2NzA2NSwgCisgICAgNjcwNjksIDY3MDczLCA2NzA3NywgNjcwODEsIDY3MDg1LCA2NzA4OSwgNjcwOTMsIDY3MDk3LCA2NzEwMSwgNjcxMDUsIAorICAgIDY3MTA5LCA2NzExMywgNjcxMTcsIDY3MTIxLCA2NzEyNCwgNjcxMjgsIDY3MTMyLCA2NzEzNiwgNjcxNDAsIDY3MTQ0LCAKKyAgICA2NzE0OCwgNjcxNTIsIDY3MTU2LCA2NzE2MCwgNjcxNjQsIDY3MTY4LCA2NzE3MiwgNjcxNzYsIDY3MTgwLCA2NzE4NCwgCisgICAgNjcxODgsIDY3MTkyLCA2NzE5NiwgNjcyMDAsIDY3MjA0LCA2NzIwOCwgNjcyMTIsIDY3MjE2LCA2NzIyMCwgNjcyMjQsIAorICAgIDY3MjI4LCA2NzIzMiwgNjcyMzYsIDY3MjQwLCA2NzI0NCwgNjcyNDgsIDY3MjUyLCA2NzI1NiwgNjcyNjAsIDY3MjY0LCAKKyAgICA2NzI2OCwgNjcyNzIsIDY3Mjc2LCA2NzI4MCwgNjcyODQsIDY3Mjg4LCA2NzI5MiwgNjcyOTYsIDY3MzAwLCA2NzMwNCwgCisgICAgNjczMDgsIDY3MzEyLCA2NzMxNiwgNjczMjAsIDY3MzI0LCA2NzMyOCwgNjczMzIsIDY3MzM2LCA2NzM0MCwgNjczNDQsIAorICAgIDY3MzQ4LCA2NzM1MiwgNjczNTYsIDY3MzYwLCA2NzM2NCwgNjczNjgsIDY3MzcyLCA2NzM3NiwgNjczODAsIDY3Mzg0LCAKKyAgICA2NzM4OCwgNjczOTIsIDY3Mzk2LCA2NzQwMCwgNjc0MDQsIDY3NDA4LCA2NzQxMiwgNjc0MTYsIDY3NDIwLCA2NzQyNCwgCisgICAgNjc0MjgsIDY3NDMyLCA2NzQzNiwgNjc0NDAsIDY3NDQ0LCA2NzQ0OCwgNjc0NTIsIDY3NDU2LCA2NzQ2MCwgNjc0NjQsIAorICAgIDY3NDY4LCA2NzQ3MiwgNjc0NzYsIDY3NDgwLCA2NzQ4MywgNjc0ODcsIDY3NDkxLCA2NzQ5NSwgNjc0OTksIDY3NTAzLCAKKyAgICA2NzUwNywgNjc1MTEsIDY3NTE1LCA2NzUxOSwgNjc1MjMsIDY3NTI3LCA2NzUzMSwgNjc1MzUsIDY3NTM5LCA2NzU0MywgCisgICAgNjc1NDcsIDY3NTUxLCA2NzU1NSwgNjc1NTksIDY3NTYzLCA2NzU2NywgNjc1NzEsIDY3NTc1LCA2NzU3OSwgNjc1ODMsIAorICAgIDY3NTg3LCA2NzU5MSwgNjc1OTUsIDY3NTk5LCA2NzYwMywgNjc2MDcsIDY3NjExLCA2NzYxNSwgNjc2MTksIDY3NjIzLCAKKyAgICA2NzYyNywgNjc2MzEsIDY3NjM1LCA2NzYzOSwgNjc2NDMsIDY3NjQ3LCA2NzY1MSwgNjc2NTUsIDY3NjU5LCA2NzY2MywgCisgICAgNjc2NjcsIDY3NjcxLCA2NzY3NSwgNjc2NzksIDY3NjgzLCA2NzY4NywgNjc2OTEsIDY3Njk1LCA2NzY5OSwgNjc3MDMsIAorICAgIDY3NzA3LCA2NzcxMSwgNjc3MTUsIDY3NzE5LCA2NzcyMywgNjc3MjcsIDY3NzMxLCA2NzczNSwgNjc3MzksIDY3NzQzLCAKKyAgICA2Nzc0NywgNjc3NTEsIDY3NzU1LCA2Nzc1OSwgNjc3NjMsIDY3NzY3LCA2Nzc3MSwgNjc3NzUsIDY3Nzc5LCA2Nzc4MywgCisgICAgNjc3ODcsIDY3NzkxLCA2Nzc5NSwgNjc3OTksIDY3ODAzLCA2NzgwNywgNjc4MTEsIDY3ODE1LCA2NzgxOSwgNjc4MjMsIAorICAgIDY3ODI3LCA2NzgzMSwgNjc4MzUsIDY3ODM5LCA2Nzg0MywgNjc4NDcsIDY3ODUxLCA2Nzg1NSwgNjc4NTksIDY3ODYzLCAKKyAgICA2Nzg2NywgNjc4NzEsIDY3ODc1LCA2Nzg3OSwgNjc4ODMsIDY3ODg3LCA2Nzg5MSwgNjc4OTUsIDY3ODk5LCA2NzkwMywgCisgICAgNjc5MDcsIDY3OTExLCA2NzkxNSwgNjc5MTksIDY3OTIzLCA2NzkyNywgNjc5MzEsIDY3OTM1LCA2NzkzOSwgNjc5NDMsIAorICAgIDY3OTQ3LCA2Nzk1MSwgNjc5NTUsIDY3OTU5LCA2Nzk2MywgNjc5NjcsIDY3OTcxLCA2Nzk3NSwgNjc5NzgsIDY3OTgyLCAKKyAgICA2Nzk4NiwgNjc5OTAsIDY3OTk0LCA2Nzk5OCwgNjgwMDIsIDY4MDA2LCA2ODAxMCwgNjgwMTQsIDY4MDE4LCA2ODAyMiwgCisgICAgNjgwMjYsIDY4MDMwLCA2ODAzNCwgNjgwMzgsIDY4MDQyLCA2ODA0NiwgNjgwNTAsIDY4MDU0LCA2ODA1OCwgNjgwNjIsIAorICAgIDY4MDY2LCA2ODA3MCwgNjgwNzQsIDY4MDc4LCA2ODA4MiwgNjgwODYsIDY4MDkwLCA2ODA5NCwgNjgwOTgsIDY4MTAyLCAKKyAgICA2ODEwNiwgNjgxMTAsIDY4MTE0LCA2ODExOCwgNjgxMjIsIDY4MTI2LCA2ODEzMCwgNjgxMzQsIDY4MTM4LCA2ODE0MiwgCisgICAgNjgxNDYsIDY4MTUwLCA2ODE1NCwgNjgxNTgsIDY4MTYyLCA2ODE2NiwgNjgxNzAsIDY4MTc0LCA2ODE3OCwgNjgxODIsIAorICAgIDY4MTg2LCA2ODE5MCwgNjgxOTQsIDY4MTk4LCA2ODIwMiwgNjgyMDYsIDY4MjEwLCA2ODIxNCwgNjgyMTgsIDY4MjIyLCAKKyAgICA2ODIyNiwgNjgyMzAsIDY4MjM0LCA2ODIzOCwgNjgyNDIsIDY4MjQ2LCA2ODI1MCwgNjgyNTQsIDY4MjU4LCA2ODI2MiwgCisgICAgNjgyNjYsIDY4MjcwLCA2ODI3NCwgNjgyNzgsIDY4MjgyLCA2ODI4NiwgNjgyOTAsIDY4Mjk0LCA2ODI5OCwgNjgzMDIsIAorICAgIDY4MzA2LCA2ODMxMCwgNjgzMTQsIDY4MzE4LCA2ODMyMiwgNjgzMjYsIDY4MzMwLCA2ODMzNCwgNjgzMzgsIDY4MzQyLCAKKyAgICA2ODM0NiwgNjgzNTAsIDY4MzU0LCA2ODM1OCwgNjgzNjIsIDY4MzY2LCA2ODM3MCwgNjgzNzQsIDY4Mzc4LCA2ODM4MiwgCisgICAgNjgzODYsIDY4MzkwLCA2ODM5NCwgNjgzOTgsIDY4NDAyLCA2ODQwNiwgNjg0MTAsIDY4NDE0LCA2ODQxOCwgNjg0MjIsIAorICAgIDY4NDI2LCA2ODQzMCwgNjg0MzMsIDY4NDM3LCA2ODQ0MSwgNjg0NDUsIDY4NDQ5LCA2ODQ1MywgNjg0NTcsIDY4NDYxLCAKKyAgICA2ODQ2NSwgNjg0NjksIDY4NDczLCA2ODQ3NywgNjg0ODEsIDY4NDg1LCA2ODQ4OSwgNjg0OTMsIDY4NDk3LCA2ODUwMSwgCisgICAgNjg1MDUsIDY4NTA5LCA2ODUxMywgNjg1MTcsIDY4NTIxLCA2ODUyNSwgNjg1MjksIDY4NTMzLCA2ODUzNywgNjg1NDEsIAorICAgIDY4NTQ1LCA2ODU0OSwgNjg1NTMsIDY4NTU3LCA2ODU2MSwgNjg1NjUsIDY4NTY5LCA2ODU3MywgNjg1NzcsIDY4NTgxLCAKKyAgICA2ODU4NSwgNjg1ODksIDY4NTkzLCA2ODU5NywgNjg2MDEsIDY4NjA1LCA2ODYwOSwgNjg2MTMsIDY4NjE3LCA2ODYyMSwgCisgICAgNjg2MjUsIDY4NjI5LCA2ODYzMywgNjg2MzcsIDY4NjQxLCA2ODY0NSwgNjg2NDksIDY4NjUzLCA2ODY1NywgNjg2NjEsIAorICAgIDY4NjY1LCA2ODY2OSwgNjg2NzMsIDY4Njc3LCA2ODY4MSwgNjg2ODUsIDY4Njg5LCA2ODY5MywgNjg2OTcsIDY4NzAxLCAKKyAgICA2ODcwNSwgNjg3MDksIDY4NzEzLCA2ODcxNywgNjg3MjEsIDY4NzI1LCA2ODcyOSwgNjg3MzMsIDY4NzM3LCA2ODc0MSwgCisgICAgNjg3NDUsIDY4NzQ5LCA2ODc1MywgNjg3NTcsIDY4NzYxLCA2ODc2NSwgNjg3NjksIDY4NzczLCA2ODc3NywgNjg3ODEsIAorICAgIDY4Nzg1LCA2ODc4OSwgNjg3OTMsIDY4Nzk3LCA2ODgwMSwgNjg4MDUsIDY4ODA5LCA2ODgxMywgNjg4MTcsIDY4ODIxLCAKKyAgICA2ODgyNSwgNjg4MjksIDY4ODMzLCA2ODgzNywgNjg4NDEsIDY4ODQ1LCA2ODg0OSwgNjg4NTMsIDY4ODU3LCA2ODg2MSwgCisgICAgNjg4NjUsIDY4ODY5LCA2ODg3MywgNjg4NzcsIDY4ODgxLCA2ODg4NSwgNjg4ODksIDY4ODkzLCA2ODg5NywgNjg5MDEsIAorICAgIDY4OTA1LCA2ODkwOSwgNjg5MTMsIDY4OTE3LCA2ODkyMSwgNjg5MjUsIDY4OTI5LCA2ODkzMywgNjg5MzcsIDY4OTQxLCAKKyAgICA2ODk0NSwgNjg5NDksIDY4OTUzLCA2ODk1NywgNjg5NjEsIDY4OTY1LCA2ODk2OSwgNjg5NzMsIDY4OTc3LCA2ODk4MSwgCisgICAgNjg5ODUsIDY4OTg5LCA2ODk5MywgNjg5OTcsIDY5MDAxLCA2OTAwNSwgNjkwMDksIDY5MDEzLCA2OTAxNywgNjkwMjEsIAorICAgIDY5MDI1LCA2OTAyOSwgNjkwMzMsIDY5MDM2LCA2OTA0MCwgNjkwNDQsIDY5MDQ4LCA2OTA1MiwgNjkwNTYsIDY5MDYwLCAKKyAgICA2OTA2NCwgNjkwNjgsIDY5MDcyLCA2OTA3NiwgNjkwODAsIDY5MDg0LCA2OTA4OCwgNjkwOTIsIDY5MDk2LCA2OTEwMCwgCisgICAgNjkxMDQsIDY5MTA4LCA2OTExMiwgNjkxMTYsIDY5MTIwLCA2OTEyNCwgNjkxMjgsIDY5MTMyLCA2OTEzNiwgNjkxNDAsIAorICAgIDY5MTQ0LCA2OTE0OCwgNjkxNTIsIDY5MTU2LCA2OTE2MCwgNjkxNjQsIDY5MTY4LCA2OTE3MiwgNjkxNzYsIDY5MTgwLCAKKyAgICA2OTE4NCwgNjkxODgsIDY5MTkyLCA2OTE5NiwgNjkyMDAsIDY5MjA0LCA2OTIwOCwgNjkyMTIsIDY5MjE2LCA2OTIyMCwgCisgICAgNjkyMjQsIDY5MjI4LCA2OTIzMiwgNjkyMzYsIDY5MjQwLCA2OTI0NCwgNjkyNDgsIDY5MjUyLCA2OTI1NiwgNjkyNjAsIAorICAgIDY5MjY0LCA2OTI2OCwgNjkyNzIsIDY5Mjc2LCA2OTI4MCwgNjkyODQsIDY5Mjg4LCA2OTI5MiwgNjkyOTYsIDY5MzAwLCAKKyAgICA2OTMwNCwgNjkzMDgsIDY5MzEyLCA2OTMxNiwgNjkzMjAsIDY5MzI0LCA2OTMyOCwgNjkzMzIsIDY5MzM2LCA2OTM0MCwgCisgICAgNjkzNDQsIDY5MzQ4LCA2OTM1MiwgNjkzNTYsIDY5MzYwLCA2OTM2NCwgNjkzNjgsIDY5MzcyLCA2OTM3NiwgNjkzODAsIAorICAgIDY5Mzg0LCA2OTM4OCwgNjkzOTIsIDY5Mzk2LCA2OTQwMCwgNjk0MDQsIDY5NDA4LCA2OTQxMiwgNjk0MTYsIDY5NDIwLCAKKyAgICA2OTQyNCwgNjk0MjgsIDY5NDMyLCA2OTQzNiwgNjk0NDAsIDY5NDQ0LCA2OTQ0OCwgNjk0NTIsIDY5NDU2LCA2OTQ2MCwgCisgICAgNjk0NjQsIDY5NDY4LCA2OTQ3MiwgNjk0NzYsIDY5NDgwLCA2OTQ4NCwgNjk0ODgsIDY5NDkyLCA2OTQ5NiwgNjk1MDAsIAorICAgIDY5NTA0LCA2OTUwOCwgNjk1MTIsIDY5NTE2LCA2OTUyMCwgNjk1MjQsIDY5NTI4LCA2OTUzMiwgNjk1MzYsIDY5NTQwLCAKKyAgICA2OTU0NCwgNjk1NDgsIDY5NTUyLCA2OTU1NiwgNjk1NjAsIDY5NTY0LCA2OTU2OCwgNjk1NzIsIDY5NTc2LCA2OTU4MCwgCisgICAgNjk1ODQsIDY5NTg4LCA2OTU5MiwgNjk1OTYsIDY5NjAwLCA2OTYwNCwgNjk2MDgsIDY5NjEyLCA2OTYxNiwgNjk2MjAsIAorICAgIDY5NjI0LCA2OTYyOCwgNjk2MzIsIDY5NjM2LCA2OTY0MCwgNjk2NDQsIDY5NjQ4LCA2OTY1MiwgNjk2NTYsIDY5NjYwLCAKKyAgICA2OTY2NCwgNjk2NjgsIDY5NjcyLCA2OTY3NiwgNjk2ODAsIDY5Njg0LCA2OTY4OCwgNjk2OTIsIDY5Njk2LCA2OTcwMCwgCisgICAgNjk3MDQsIDY5NzA4LCA2OTcxMiwgNjk3MTYsIDY5NzIwLCA2OTcyNCwgNjk3MjgsIDY5NzMyLCA2OTczNiwgNjk3NDAsIAorICAgIDY5NzQ0LCA2OTc0OCwgNjk3NTIsIDY5NzU2LCA2OTc2MCwgNjk3NjQsIDY5NzY4LCA2OTc3MiwgNjk3NzYsIDY5NzgwLCAKKyAgICA2OTc4NCwgNjk3ODgsIDY5NzkyLCA2OTc5NiwgNjk4MDAsIDY5ODA0LCA2OTgwOCwgNjk4MTIsIDY5ODE2LCA2OTgyMCwgCisgICAgNjk4MjQsIDY5ODI4LCA2OTgzMiwgNjk4MzYsIDY5ODQwLCA2OTg0NCwgNjk4NDgsIDY5ODUyLCA2OTg1NiwgNjk4NjAsIAorICAgIDY5ODY0LCA2OTg2OCwgNjk4NzIsIDY5ODc2LCA2OTg4MCwgNjk4ODQsIDY5ODg4LCA2OTg5MiwgNjk4OTYsIDY5OTAwLCAKKyAgICA2OTkwNCwgNjk5MDgsIDY5OTEyLCA2OTkxNiwgNjk5MjAsIDY5OTI0LCA2OTkyOCwgNjk5MzIsIDY5OTM2LCA2OTk0MCwgCisgICAgNjk5NDQsIDY5OTQ4LCA2OTk1MiwgNjk5NTYsIDY5OTYwLCA2OTk2NCwgNjk5NjgsIDY5OTcyLCA2OTk3NiwgNjk5ODAsIAorICAgIDY5OTg0LCA2OTk4OCwgNjk5OTIsIDY5OTk2LCA3MDAwMCwgNzAwMDQsIDcwMDA4LCA3MDAxMiwgNzAwMTYsIDcwMDIwLCAKKyAgICA3MDAyNCwgNzAwMjgsIDcwMDMyLCA3MDAzNiwgNzAwNDAsIDcwMDQ0LCA3MDA0OCwgNzAwNTIsIDcwMDU2LCA3MDA2MCwgCisgICAgNzAwNjQsIDcwMDY4LCA3MDA3MiwgNzAwNzYsIDcwMDgwLCA3MDA4NCwgNzAwODgsIDcwMDkyLCA3MDA5NiwgNzAxMDAsIAorICAgIDcwMTA0LCA3MDEwOCwgNzAxMTIsIDcwMTE2LCA3MDEyMCwgNzAxMjQsIDcwMTI4LCA3MDEzMiwgNzAxMzYsIDcwMTQwLCAKKyAgICA3MDE0NCwgNzAxNDgsIDcwMTUyLCA3MDE1NiwgNzAxNjAsIDcwMTY0LCA3MDE2OCwgNzAxNzIsIDcwMTc2LCA3MDE4MCwgCisgICAgNzAxODQsIDcwMTg4LCA3MDE5MiwgNzAxOTYsIDcwMjAwLCA3MDIwNCwgNzAyMDgsIDcwMjEyLCA3MDIxNiwgNzAyMjAsIAorICAgIDcwMjI0LCA3MDIyOCwgNzAyMzIsIDcwMjM2LCA3MDI0MCwgNzAyNDQsIDcwMjQ4LCA3MDI1MiwgNzAyNTYsIDcwMjYwLCAKKyAgICA3MDI2NCwgNzAyNjgsIDcwMjcyLCA3MDI3NiwgNzAyODAsIDcwMjg0LCA3MDI4OCwgNzAyOTIsIDcwMjk2LCA3MDMwMCwgCisgICAgNzAzMDQsIDcwMzA4LCA3MDMxMiwgNzAzMTYsIDcwMzIwLCA3MDMyNCwgNzAzMjgsIDcwMzMyLCA3MDMzNiwgNzAzNDAsIAorICAgIDcwMzQ0LCA3MDM0OCwgNzAzNTIsIDcwMzU2LCA3MDM2MCwgNzAzNjQsIDcwMzY4LCA3MDM3MiwgNzAzNzYsIDcwMzgwLCAKKyAgICA3MDM4NCwgNzAzODgsIDcwMzkyLCA3MDM5NiwgNzA0MDAsIDcwNDA0LCA3MDQwOCwgNzA0MTIsIDcwNDE2LCA3MDQyMCwgCisgICAgNzA0MjQsIDcwNDI4LCA3MDQzMiwgNzA0MzYsIDcwNDQwLCA3MDQ0NCwgNzA0NDgsIDcwNDUyLCA3MDQ1NiwgNzA0NjAsIAorICAgIDcwNDY0LCA3MDQ2OCwgNzA0NzIsIDcwNDc2LCA3MDQ4MCwgNzA0ODQsIDcwNDg4LCA3MDQ5MiwgNzA0OTYsIDcwNTAwLCAKKyAgICA3MDUwNCwgNzA1MDgsIDcwNTEyLCA3MDUxNiwgNzA1MjAsIDcwNTI0LCA3MDUyOCwgNzA1MzIsIDcwNTM2LCA3MDU0MCwgCisgICAgNzA1NDQsIDcwNTQ4LCA3MDU1MiwgNzA1NTYsIDcwNTYwLCA3MDU2NCwgNzA1NjgsIDcwNTcyLCA3MDU3NiwgMCwgMCwgMCwgCisgICAgNzA1ODAsIDcwNTg0LCA3MDU4OCwgNzA1OTIsIDcwNTk2LCA3MDYwMCwgNzA2MDQsIDcwNjA4LCA3MDYxMiwgNzA2MTYsIAorICAgIDcwNjIwLCA3MDYyNCwgNzA2MjgsIDcwNjMyLCA3MDYzNiwgNzA2NDAsIDcwNjQ0LCA3MDY0OCwgNzA2NTIsIDcwNjU2LCAKKyAgICA3MDY2MCwgNzA2NjQsIDcwNjY4LCA3MDY3MiwgNzA2NzYsIDcwNjgwLCA3MDY4NCwgNzA2ODgsIDcwNjkyLCA3MDY5NiwgCisgICAgNzA3MDAsIDcwNzA0LCA3MDcwOCwgNzA3MTIsIDcwNzE2LCA3MDcyMCwgNzA3MjQsIDcwNzI4LCA3MDczMiwgNzA3MzYsIAorICAgIDcwNzQwLCA3MDc0NCwgNzA3NDgsIDcwNzUyLCA3MDc1NiwgNzA3NjAsIDcwNzY0LCA3MDc2OCwgNzA3NzIsIDcwNzc2LCAKKyAgICA3MDc4MCwgNzA3ODQsIDcwNzg4LCA3MDc5MiwgNzA3OTYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDcwODAwLCAKKyAgICA3MDgwNSwgNzA4MDksIDcwODE0LCA3MDgxOSwgNzA4MjQsIDcwODI5LCA3MDgzNCwgNzA4MzgsIDcwODQzLCA3MDg0OCwgCisgICAgNzA4NTMsIDcwODU4LCA3MDg2MywgNzA4NjgsIDcwODczLCA3MDg3NywgNzA4ODEsIDcwODg2LCA3MDg5MSwgNzA4OTYsIAorICAgIDcwOTAxLCA3MDkwNiwgNzA5MTAsIDcwOTE1LCA3MDkyMCwgNzA5MjUsIDcwOTMwLCA3MDkzNSwgNzA5MzksIDcwOTQ0LCAKKyAgICA3MDk0OCwgNzA5NTMsIDcwOTU3LCA3MDk2MiwgNzA5NjYsIDcwOTcwLCA3MDk3NCwgNzA5NzksIDcwOTg0LCA3MDk4OSwgCisgICAgNzA5OTcsIDcxMDA1LCA3MTAxMywgNzEwMjEsIDcxMDI4LCA3MTAzNiwgNzEwNDIsIDcxMDUwLCA3MTA1NCwgNzEwNTgsIAorICAgIDcxMDYyLCA3MTA2NiwgNzEwNzAsIDcxMDc0LCA3MTA3OCwgNzEwODIsIDcxMDg2LCA3MTA5MCwgNzEwOTQsIDcxMDk4LCAKKyAgICA3MTEwMiwgNzExMDYsIDcxMTEwLCA3MTExNCwgNzExMTgsIDcxMTIyLCA3MTEyNiwgNzExMzAsIDcxMTM0LCA3MTEzOCwgCisgICAgNzExNDIsIDcxMTQ2LCA3MTE1MCwgNzExNTQsIDcxMTU4LCA3MTE2MiwgNzExNjYsIDcxMTcwLCA3MTE3NCwgNzExNzgsIAorICAgIDcxMTgyLCA3MTE4NiwgNzExOTAsIDcxMTk0LCA3MTE5NywgNzEyMDEsIDcxMjA1LCA3MTIwOSwgNzEyMTMsIDcxMjE3LCAKKyAgICA3MTIyMSwgNzEyMjUsIDcxMjI5LCA3MTIzMywgNzEyMzcsIDcxMjQxLCA3MTI0NSwgNzEyNDksIDcxMjUzLCA3MTI1NywgCisgICAgNzEyNjEsIDcxMjY1LCA3MTI2OSwgNzEyNzMsIDcxMjc3LCA3MTI4MSwgNzEyODUsIDcxMjg5LCA3MTI5MywgNzEyOTcsIAorICAgIDcxMzAxLCA3MTMwNSwgNzEzMDksIDcxMzEzLCA3MTMxNywgNzEzMjEsIDcxMzI1LCA3MTMyOSwgNzEzMzMsIDcxMzM3LCAKKyAgICA3MTM0MSwgNzEzNDQsIDcxMzQ4LCA3MTM1MiwgNzEzNTUsIDcxMzU5LCA3MTM2MywgNzEzNjcsIDcxMzcwLCA3MTM3NCwgCisgICAgNzEzNzgsIDcxMzgyLCA3MTM4NiwgNzEzOTAsIDcxMzk0LCA3MTM5OCwgNzE0MDIsIDcxNDA2LCA3MTQxMCwgNzE0MTQsIAorICAgIDcxNDE4LCA3MTQyMiwgNzE0MjYsIDcxNDMwLCA3MTQzNCwgNzE0MzgsIDcxNDQyLCA3MTQ0NiwgNzE0NTAsIDcxNDU0LCAKKyAgICA3MTQ1OCwgNzE0NjIsIDcxNDY2LCA3MTQ2OSwgNzE0NzIsIDcxNDc2LCA3MTQ4MCwgNzE0ODQsIDcxNDg3LCA3MTQ5MCwgCisgICAgNzE0OTQsIDcxNDk4LCA3MTUwMiwgNzE1MDYsIDcxNTEwLCA3MTUxNCwgNzE1MTgsIDcxNTIyLCA3MTUyNiwgNzE1MzAsIAorICAgIDcxNTM0LCA3MTUzOCwgNzE1NDIsIDcxNTQ2LCA3MTU1MCwgNzE1NTQsIDcxNTU4LCA3MTU2MiwgNzE1NjYsIDcxNTcwLCAKKyAgICA3MTU3NCwgNzE1NzgsIDcxNTgyLCA3MTU4NiwgNzE1OTAsIDcxNTk0LCA3MTU5OCwgNzE2MDIsIDcxNjA2LCA3MTYxMCwgCisgICAgNzE2MTQsIDcxNjE4LCA3MTYyMiwgNzE2MjYsIDcxNjMwLCA3MTYzNCwgNzE2MzgsIDcxNjQxLCA3MTY0NSwgNzE2NDksIAorICAgIDcxNjUzLCA3MTY1NywgNzE2NjEsIDcxNjY1LCA3MTY2OSwgNzE2NzMsIDcxNjc3LCA3MTY4MSwgNzE2ODUsIDcxNjg5LCAKKyAgICA3MTY5MywgNzE2OTcsIDcxNzAxLCA3MTcwNSwgNzE3MDksIDcxNzEzLCA3MTcxNywgNzE3MjEsIDcxNzI1LCA3MTcyOSwgCisgICAgNzE3MzMsIDcxNzM3LCA3MTc0MSwgNzE3NDUsIDcxNzQ5LCA3MTc1MywgNzE3NTcsIDcxNzYxLCA3MTc2NSwgNzE3NjksIAorICAgIDcxNzczLCA3MTc3NywgNzE3ODEsIDcxNzg1LCA3MTc4OCwgNzE3OTIsIDcxNzk2LCA3MTgwMCwgNzE4MDQsIDcxODA4LCAKKyAgICA3MTgxMiwgNzE4MTYsIDcxODIwLCA3MTgyNCwgNzE4MjgsIDcxODMyLCA3MTgzNiwgNzE4NDAsIDcxODQ0LCA3MTg0OCwgCisgICAgNzE4NTIsIDcxODU1LCA3MTg1OSwgNzE4NjMsIDcxODY3LCA3MTg3MSwgNzE4NzUsIDcxODc5LCA3MTg4MywgNzE4ODcsIAorICAgIDcxODkxLCA3MTg5NSwgNzE4OTksIDcxOTAzLCA3MTkwNywgNzE5MTEsIDcxOTE1LCA3MTkxOSwgNzE5MjMsIDcxOTI3LCAKKyAgICA3MTkzMSwgNzE5MzUsIDcxOTM5LCA3MTk0MiwgNzE5NDYsIDcxOTUwLCA3MTk1NCwgNzE5NTgsIDcxOTYyLCA3MTk2NiwgCisgICAgNzE5NzAsIDcxOTc0LCA3MTk3OCwgNzE5ODIsIDcxOTg2LCA3MTk5MCwgNzE5OTQsIDcxOTk4LCA3MjAwMiwgNzIwMDYsIAorICAgIDcyMDEwLCA3MjAxNCwgNzIwMTgsIDcyMDIyLCA3MjAyNiwgNzIwMzAsIDcyMDM0LCA3MjAzOCwgNzIwNDIsIDcyMDQ2LCAKKyAgICA3MjA1MCwgNzIwNTQsIDcyMDU4LCA3MjA2MiwgNzIwNjYsIDcyMDcwLCA3MjA3NCwgNzIwNzgsIDcyMDgyLCA3MjA4NiwgCisgICAgNzIwOTAsIDcyMDk0LCA3MjA5OCwgNzIxMDIsIDcyMTA2LCA3MjExMCwgNzIxMTQsIDcyMTE3LCA3MjEyMiwgNzIxMjYsIAorICAgIDcyMTMyLCA3MjEzNywgNzIxNDMsIDcyMTQ3LCA3MjE1MSwgNzIxNTUsIDcyMTU5LCA3MjE2MywgNzIxNjcsIDcyMTcxLCAKKyAgICA3MjE3NSwgNzIxNzksIDcyMTgzLCA3MjE4NywgNzIxOTEsIDcyMTk1LCA3MjE5OSwgNzIyMDIsIDcyMjA1LCA3MjIwOCwgCisgICAgNzIyMTEsIDcyMjE0LCA3MjIxNywgNzIyMjAsIDcyMjIzLCA3MjIyNiwgNzIyMzEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDcyMjM3LCA3MjI0MiwgNzIyNDcsIDcyMjUyLCA3MjI1NywgCisgICAgNzIyNjQsIDcyMjcxLCA3MjI3NiwgNzIyODEsIDcyMjg2LCA3MjI5MSwgNzIyOTgsIDcyMzA1LCA3MjMxMiwgNzIzMTksIAorICAgIDcyMzI2LCA3MjMzMywgNzIzNDMsIDcyMzUzLCA3MjM2MCwgNzIzNjcsIDcyMzc0LCA3MjM4MSwgNzIzODcsIDcyMzkzLCAKKyAgICA3MjQwMiwgNzI0MTEsIDcyNDE4LCA3MjQyNSwgNzI0MzYsIDcyNDQ3LCA3MjQ1MiwgNzI0NTcsIDcyNDY0LCA3MjQ3MSwgCisgICAgNzI0NzgsIDcyNDg1LCA3MjQ5MiwgNzI0OTksIDcyNTA2LCA3MjUxMywgNzI1MTksIDcyNTI1LCA3MjUzMSwgNzI1MzcsIAorICAgIDcyNTQ0LCA3MjU1MSwgNzI1NTYsIDcyNTYwLCA3MjU2NywgNzI1NzQsIDcyNTgxLCA3MjU4NSwgNzI1OTIsIDcyNTk2LCAKKyAgICA3MjYwMSwgNzI2MDUsIDcyNjExLCA3MjYxNiwgNzI2MjIsIDcyNjI3LCA3MjYzMSwgNzI2MzUsIDcyNjM4LCA3MjY0MSwgCisgICAgNzI2NDYsIDcyNjUxLCA3MjY1NiwgNzI2NjEsIDcyNjY2LCA3MjY3MSwgNzI2NzYsIDcyNjgxLCA3MjY4NiwgNzI2OTEsIAorICAgIDcyNzAwLCA3MjcwOSwgNzI3MTQsIDcyNzE5LCA3MjcyNCwgNzI3MjksIDcyNzM0LCA3MjczOSwgNzI3NDQsIDcyNzQ5LCAKKyAgICA3Mjc1NCwgNzI3NTksIDcyNzY0LCA3Mjc2OSwgNzI3NzQsIDcyNzc5LCA3Mjc4NSwgNzI3OTEsIDcyNzk3LCAwLCA3MjgwMywgCisgICAgNzI4MDksIDcyODEyLCA3MjgxNSwgNzI4MTgsIDcyODIyLCA3MjgyNiwgNzI4MzAsIDcyODM0LCA3MjgzNywgNzI4NDEsIAorICAgIDcyODQ0LCA3Mjg0OCwgNzI4NTEsIDcyODU1LCA3Mjg1OSwgNzI4NjMsIDcyODY3LCA3Mjg3MSwgNzI4NzUsIDcyODc5LCAKKyAgICA3Mjg4MywgNzI4ODcsIDcyODkxLCA3Mjg5NSwgNzI4OTksIDcyOTAzLCA3MjkwNywgNzI5MTEsIDcyOTE1LCA3MjkxOSwgCisgICAgNzI5MjMsIDcyOTI3LCA3MjkzMSwgNzI5MzUsIDcyOTM5LCA3Mjk0MiwgNzI5NDYsIDcyOTUwLCA3Mjk1NCwgNzI5NTgsIAorICAgIDcyOTYyLCA3Mjk2NiwgNzI5NzAsIDcyOTc0LCA3Mjk3OCwgNzI5ODIsIDcyOTg2LCA3Mjk5MCwgNzI5OTQsIDcyOTk4LCAKKyAgICA3MzAwMiwgNzMwMDYsIDczMDEwLCA3MzAxNCwgNzMwMTgsIDczMDIyLCA3MzAyNiwgNzMwMzAsIDczMDM0LCA3MzAzOCwgCisgICAgNzMwNDEsIDczMDQ1LCA3MzA0OSwgNzMwNTMsIDczMDU3LCA3MzA2MSwgNzMwNjUsIDczMDY5LCA3MzA3MiwgNzMwNzYsIAorICAgIDczMDgwLCA3MzA4NCwgNzMwODgsIDczMDkyLCA3MzA5NiwgNzMxMDAsIDczMTA0LCA3MzEwOCwgNzMxMTIsIDczMTE2LCAKKyAgICA3MzEyMCwgNzMxMjUsIDczMTMwLCA3MzEzMywgNzMxMzgsIDczMTQxLCA3MzE0NCwgNzMxNDcsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDczMTUxLCA3MzE2MCwgNzMxNjksIDczMTc4LCA3MzE4NywgNzMxOTYsIDczMjA1LCA3MzIxNCwgNzMyMjMsIAorICAgIDczMjMxLCA3MzIzOCwgNzMyNDYsIDczMjUzLCA3MzI2MSwgNzMyNzEsIDczMjgwLCA3MzI5MCwgNzMyOTksIDczMzA5LCAKKyAgICA3MzMxNywgNzMzMjQsIDczMzMyLCA3MzMzOSwgNzMzNDcsIDczMzUyLCA3MzM1NywgNzMzNjIsIDczMzcxLCA3MzM3NywgCisgICAgNzMzODMsIDczMzkwLCA3MzM5OSwgNzM0MDcsIDczNDE1LCA3MzQyMywgNzM0MzAsIDczNDM3LCA3MzQ0NCwgNzM0NTEsIAorICAgIDczNDU2LCA3MzQ2MSwgNzM0NjYsIDczNDcxLCA3MzQ3NiwgNzM0ODEsIDczNDg2LCA3MzQ5MSwgNzM0OTksIDczNTA3LCAKKyAgICA3MzUxMywgNzM1MTgsIDczNTIzLCA3MzUyOCwgNzM1MzMsIDczNTM4LCA3MzU0MywgNzM1NDgsIDczNTUzLCA3MzU1OCwgCisgICAgNzM1NjYsIDczNTc0LCA3MzU3OSwgNzM1ODQsIDczNTk0LCA3MzYwNCwgNzM2MTEsIDczNjE4LCA3MzYyNywgNzM2MzYsIAorICAgIDczNjQ4LCA3MzY2MCwgNzM2NjYsIDczNjcyLCA3MzY4MCwgNzM2ODgsIDczNjk4LCA3MzcwOCwgNzM3MTUsIDczNzIyLCAKKyAgICA3MzcyNywgNzM3MzIsIDczNzQ0LCA3Mzc1NiwgNzM3NjQsIDczNzcyLCA3Mzc4MiwgNzM3OTIsIDczODA0LCA3MzgxNiwgCisgICAgNzM4MjUsIDczODM0LCA3Mzg0MSwgNzM4NDgsIDczODU1LCA3Mzg2MiwgNzM4NzEsIDczODgwLCA3Mzg4NSwgNzM4OTAsIAorICAgIDczODk3LCA3MzkwNCwgNzM5MTEsIDczOTE4LCA3MzkzMCwgNzM5NDIsIDczOTQ3LCA3Mzk1MiwgNzM5NTcsIDczOTYyLCAKKyAgICA3Mzk2NywgNzM5NzIsIDczOTc3LCA3Mzk4MiwgNzM5ODYsIDczOTkxLCA3Mzk5NiwgNzQwMDEsIDc0MDA2LCA3NDAxMSwgCisgICAgNzQwMTcsIDc0MDIyLCA3NDAyNywgNzQwMzQsIDc0MDQxLCA3NDA0OCwgNzQwNTUsIDc0MDYyLCA3NDA3MCwgNzQwNzgsIAorICAgIDc0MDgzLCA3NDA4OCwgNzQwOTQsIDc0MTAwLCA3NDEwNiwgNzQxMTIsIDc0MTE5LCA3NDEyNiwgNzQxMzMsIDc0MTM3LCAKKyAgICA3NDE0NCwgNzQxNDksIDc0MTU0LCA3NDE2MCwgMCwgNzQxNzMsIDc0MTgxLCA3NDE4OSwgNzQxOTYsIDc0MjAzLCA3NDIxMiwgCisgICAgNzQyMjEsIDc0MjI4LCA3NDIzNSwgNzQyNDIsIDc0MjQ5LCA3NDI1NiwgNzQyNjMsIDc0MjcwLCA3NDI3NywgNzQyODQsIAorICAgIDc0MjkxLCA3NDMwMCwgNzQzMDksIDc0MzE4LCA3NDMyNywgNzQzMzYsIDc0MzQ1LCA3NDM1NCwgNzQzNjMsIDc0MzcyLCAKKyAgICA3NDM4MSwgNzQzODgsIDc0Mzk2LCA3NDQwMiwgMCwgMCwgNzQ0MTAsIDc0NDE2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzMDM3MywgMzAzNzksIAotICAgIDMwMzg1LCAzMDM4OSwgMzAzOTMsIDMwMzk3LCAzMDQwMSwgMzA0MDcsIDMwNDExLCAzMDQxNywgMzA0MjEsIDMwNDI3LCAKLSAgICAzMDQzMywgMzA0NDEsIDMwNDQ3LCAzMDQ1NSwgMzA0NTksIDMwNDYzLCAzMDQ2NywgMzA0NzMsIDMwNDc2LCAzMDQ4MiwgCi0gICAgMzA0ODYsIDMwNDkyLCAzMDQ5NiwgMzA1MDAsIDMwNTA2LCAzMDUxMCwgMzA1MTYsIDMwNTIwLCAzMDUyNiwgMzA1MzQsIAotICAgIDMwNTQyLCAzMDU1MCwgMzA1NTYsIDMwNTYwLCAzMDU2NiwgMzA1NzAsIDMwNTc2LCAzMDU3OSwgMzA1ODIsIDMwNTg4LCAKLSAgICAzMDU5MiwgMzA1OTgsIDMwNjAxLCAzMDYwNCwgMzA2MDcsIDMwNjExLCAzMDYxNSwgMzA2MjEsIDMwNjI3LCAzMDYzMCwgCi0gICAgMzA2MzMsIDMwNjM3LCAzMDY0MiwgMzA2NDcsIDMwNjU0LCAzMDY1OSwgMzA2NjYsIDMwNjczLCAzMDY4MiwgMzA2ODksIAotICAgIDMwNjk4LCAzMDcwMywgMzA3MTAsIDMwNzE3LCAzMDcyNiwgMzA3MzEsIDMwNzM4LCAzMDc0MywgMzA3NDksIDMwNzU1LCAKLSAgICAzMDc2MSwgMzA3NjcsIDMwNzczLCAzMDc3OSwgMCwgMCwgMCwgMCwgMzA3ODUsIDMwNzg5LCAzMDc5MiwgMzA3OTUsIAotICAgIDMwNzk4LCAzMDgwMSwgMzA4MDQsIDMwODA3LCAzMDgxMCwgMzA4MTMsIDMwODE2LCAzMDgxOSwgMzA4MjIsIDMwODI1LCAKLSAgICAzMDgzMCwgMzA4MzUsIDMwODQwLCAzMDg0MywgMzA4NDgsIDMwODUzLCAzMDg1OCwgMzA4NjMsIDMwODcwLCAzMDg3NSwgCi0gICAgMzA4ODAsIDMwODg1LCAzMDg5MCwgMzA4OTcsIDMwOTAzLCAzMDkwOSwgMzA5MTUsIDMwOTIxLCAzMDkyNywgMzA5MzYsIAotICAgIDMwOTQ1LCAzMDk1MSwgMzA5NTcsIDMwOTY1LCAzMDk3MywgMzA5ODIsIDMwOTkxLCAzMDk5OSwgMzEwMDcsIDMxMDE2LCAKLSAgICAzMTAyNSwgMCwgMCwgMCwgMzEwMzMsIDMxMDM3LCAzMTA0MSwgMzEwNDUsIDMxMDQ4LCAzMTA1MSwgMzEwNTQsIDMxMDU4LCAKLSAgICAzMTA2MSwgMzEwNjQsIDMxMDY4LCAzMTA3MSwgMzEwNzUsIDMxMDc5LCAzMTA4MywgMzEwODcsIDMxMDkxLCAzMTA5NSwgCi0gICAgMzEwOTksIDMxMTAzLCAzMTEwNywgMzExMTAsIDMxMTEzLCAzMTExNywgMzExMjEsIDMxMTI1LCAzMTEyOCwgMzExMzEsIAotICAgIDMxMTM0LCAzMTEzOCwgMzExNDIsIDMxMTQ1LCAzMTE0OSwgMzExNTIsIDMxMTU3LCAzMTE2MiwgMzExNjcsIDMxMTcyLCAKLSAgICAzMTE3NywgMzExODIsIDMxMTg3LCAzMTE5MiwgMzExOTcsIDMxMjAxLCAzMTIwNSwgMzEyMTEsIDMxMjE4LCAzMTIyMiwgCi0gICAgMzEyMjYsIDMxMjMwLCAzMTIzMywgMzEyMzYsIDMxMjM5LCAzMTI0MiwgMzEyNDUsIDMxMjQ4LCAzMTI1MSwgMzEyNTQsIAotICAgIDMxMjU3LCAzMTI2MCwgMzEyNjQsIDMxMjY4LCAzMTI3MiwgMzEyNzcsIDMxMjgxLCAzMTI4NSwgMzEyOTEsIDMxMjk1LCAKLSAgICAzMTMwMSwgMzEzMDcsIDMxMzEyLCAzMTMxOSwgMzEzMjMsIDMxMzI5LCAzMTMzMywgMzEzMzksIDMxMzQ0LCAzMTM1MSwgCi0gICAgMzEzNTgsIDMxMzYzLCAzMTM3MCwgMzEzNzUsIDMxMzgwLCAzMTM4NCwgMzEzOTAsIDMxMzk0LCAzMTQwMCwgMzE0MDcsIAotICAgIDMxNDE0LCAzMTQxOCwgMzE0MjQsIDMxNDMwLCAzMTQzNCwgMzE0NDAsIDMxNDQ1LCAzMTQ1MCwgMzE0NTcsIDMxNDYyLCAKLSAgICAzMTQ2NywgMzE0NzIsIDMxNDc3LCAzMTQ4MSwgMzE0ODUsIDMxNDkwLCAzMTQ5NSwgMzE1MDIsIDMxNTA4LCAzMTUxMywgCi0gICAgMzE1MjAsIDMxNTI1LCAzMTUzMiwgMzE1MzcsIDMxNTQ2LCAzMTU1MiwgMzE1NTgsIDMxNTYyLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAzMTU2NiwgMzE1NzUsIDMxNTgyLCAzMTU4OSwgMzE1OTYsIDMxNTk5LCAzMTYwMywgMzE2MDcsIDMxNjExLCAKLSAgICAzMTYxNSwgMzE2MTksIDMxNjIzLCAzMTYyNywgMzE2MzEsIDMxNjM1LCAzMTYzOSwgMzE2NDMsIDMxNjQ3LCAzMTY1MCwgCi0gICAgMzE2NTMsIDMxNjU3LCAzMTY2MSwgMzE2NjUsIDMxNjY5LCAzMTY3MywgMzE2NzcsIDMxNjgwLCAzMTY4NCwgMzE2ODgsIAotICAgIDMxNjkyLCAzMTY5NiwgMzE2OTksIDMxNzAyLCAzMTcwNiwgMzE3MDksIDMxNzEzLCAzMTcxNywgMzE3MjAsIDMxNzI0LCAKLSAgICAzMTcyOCwgMzE3MzEsIDMxNzM2LCAzMTc0MSwgMzE3NDYsIDMxNzUwLCAzMTc1NCwgMzE3NTksIDMxNzYzLCAzMTc2OCwgCi0gICAgMzE3NzIsIDMxNzc3LCAzMTc4MSwgMzE3ODUsIDMxNzkwLCAzMTc5NSwgMzE3OTksIDMxODA0LCAzMTgwOSwgMzE4MTQsIAotICAgIDMxODE4LCAwLCAwLCAwLCAzMTgyMiwgMzE4MjcsIDMxODM2LCAzMTg0MSwgMzE4NDgsIDMxODUzLCAzMTg1NywgMzE4NjAsIAotICAgIDMxODYzLCAzMTg2NiwgMzE4NjksIDMxODcyLCAzMTg3NSwgMzE4NzgsIDMxODgxLCAwLCAwLCAwLCAzMTg4NCwgMzE4ODgsIAotICAgIDMxODkyLCAzMTg5NiwgMzE5MDMsIDMxOTA5LCAzMTkxNSwgMzE5MjEsIDMxOTI3LCAzMTkzMywgMzE5MzksIDMxOTQ1LCAKLSAgICAzMTk1MSwgMzE5NTcsIDMxOTY0LCAzMTk3MSwgMzE5NzgsIDMxOTg1LCAzMTk5MiwgMzE5OTksIDMyMDA2LCAzMjAxMywgCi0gICAgMzIwMjAsIDMyMDI3LCAzMjAzNCwgMzIwNDEsIDMyMDQ4LCAzMjA1NSwgMzIwNjIsIDMyMDY5LCAzMjA3NiwgMzIwODMsIAotICAgIDMyMDkwLCAzMjA5NywgMzIxMDQsIDMyMTExLCAzMjExOCwgMzIxMjUsIDMyMTMyLCAzMjEzOSwgMzIxNDYsIDMyMTUzLCAKLSAgICAzMjE2MCwgMzIxNjcsIDMyMTc1LCAzMjE4MywgMzIxOTEsIDMyMTk3LCAzMjIwMywgMzIyMDksIDMyMjE3LCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA3NDQyMiwgNzQ0MjksIDc0NDM2LCA3NDQ0MiwgNzQ0NDksIAorICAgIDc0NDU3LCA3NDQ2NSwgNzQ0NzMsIDc0NDgxLCA3NDQ4OSwgNzQ0OTUsIDc0NTAxLCA3NDUwOCwgNzQ1MTQsIDc0NTIwLCAKKyAgICA3NDUyNiwgNzQ1MzMsIDc0NTQwLCA3NDU0NywgNzQ1NTQsIDc0NTYxLCA3NDU2OCwgNzQ1NzUsIDc0NTgyLCA3NDU4OSwgCisgICAgNzQ1OTYsIDc0NjAzLCA3NDYxMCwgNzQ2MTcsIDc0NjI0LCA3NDYzMCwgNzQ2MzcsIDc0NjQ0LCA3NDY1MSwgNzQ2NTgsIAorICAgIDc0NjY1LCA3NDY3MiwgNzQ2NzksIDc0Njg2LCA3NDY5MywgNzQ3MDAsIDc0NzA3LCA3NDcxNCwgNzQ3MjEsIDc0NzI4LCAKKyAgICA3NDczNSwgNzQ3NDIsIDc0NzQ5LCA3NDc1NiwgNzQ3NjQsIDc0NzcyLCA3NDc4MCwgNzQ3ODgsIDAsIDAsIDAsIDAsIAorICAgIDc0Nzk2LCA3NDgwNCwgNzQ4MTIsIDc0ODIwLCA3NDgyOCwgNzQ4MzYsIDc0ODQ0LCA3NDg1MCwgNzQ4NTYsIDc0ODYyLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCA3NDg2OCwgNzQ4NzIsIDc0ODc3LCA3NDg4MiwgNzQ4ODcsIDc0ODkyLCA3NDg5NywgNzQ5MDIsIAorICAgIDc0OTA3LCA3NDkxMiwgNzQ5MTcsIDc0OTIyLCA3NDkyNiwgNzQ5MzAsIDc0OTM1LCA3NDk0MCwgNzQ5NDQsIDc0OTQ5LCAKKyAgICA3NDk1NCwgNzQ5NTksIDc0OTY0LCA3NDk2OSwgNzQ5NzQsIDc0OTc5LCA3NDk4MywgNzQ5ODgsIDc0OTkzLCA3NDk5OCwgCisgICAgNzUwMDMsIDc1MDA3LCA3NTAxMSwgNzUwMTUsIDc1MDE5LCA3NTAyMywgNzUwMjcsIDc1MDMyLCA3NTAzNywgNzUwNDIsIAorICAgIDc1MDQ3LCA3NTA1MiwgNzUwNTksIDc1MDY1LCA3NTA3MCwgNzUwNzUsIDc1MDgwLCA3NTA4NSwgNzUwOTEsIDc1MDk4LCAKKyAgICA3NTEwNCwgNzUxMTEsIDc1MTE4LCA3NTEyNSwgNzUxMzAsIDc1MTM3LCA3NTE0MywgNzUxNDgsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDc1MTU0LCA3NTE1OSwgNzUxNjQsIDc1MTY4LCA3NTE3MywgNzUxNzcsIDc1MTgyLCA3NTE4NiwgNzUxOTEsIAorICAgIDc1MTk2LCA3NTIwMiwgNzUyMDcsIDc1MjEzLCA3NTIxNywgNzUyMjIsIDc1MjI3LCA3NTIzMSwgNzUyMzYsIDc1MjQxLCAKKyAgICA3NTI0NSwgNzUyNTAsIDc1MjU1LCA3NTI2MCwgNzUyNjUsIDc1MjcwLCA3NTI3NSwgNzUyODAsIDc1Mjg1LCA3NTI5MCwgCisgICAgNzUyOTUsIDc1MzAwLCA3NTMwNSwgNzUzMTAsIDc1MzE1LCA3NTMyMCwgNzUzMjUsIDc1MzMwLCA3NTMzNSwgNzUzMzksIAorICAgIDc1MzQzLCA3NTM0OCwgNzUzNTMsIDc1MzU4LCA3NTM2MiwgNzUzNjYsIDc1MzcxLCA3NTM3NiwgNzUzODEsIDc1Mzg2LCAKKyAgICA3NTM5MSwgNzUzOTYsIDc1NDAwLCA3NTQwNSwgNzU0MTEsIDc1NDE3LCA3NTQyMiwgNzU0MjgsIDc1NDMzLCA3NTQzOSwgCisgICAgNzU0NDUsIDc1NDUyLCA3NTQ1OCwgNzU0NjUsIDc1NDcwLCA3NTQ3NiwgNzU0ODIsIDc1NDg3LCA3NTQ5MywgNzU0OTksIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDc1NTA0LCA3NTUwOCwgNzU1MTMsIDc1NTE4LCA3NTUyMiwgNzU1MjYsIDc1NTMwLCAKKyAgICA3NTUzNCwgNzU1MzgsIDc1NTQyLCA3NTU0NiwgNzU1NTAsIDAsIDAsIDAsIDAsIDAsIDAsIDc1NTU0LCA3NTU1OSwgNzU1NjMsIAorICAgIDc1NTY3LCA3NTU3MSwgNzU1NzUsIDc1NTc5LCA3NTU4MywgNzU1ODcsIDc1NTkxLCA3NTU5NSwgNzU1OTksIDc1NjAzLCAKKyAgICA3NTYwNywgNzU2MTEsIDc1NjE1LCA3NTYyMCwgNzU2MjUsIDc1NjMwLCA3NTYzNiwgNzU2NDIsIDc1NjQ5LCA3NTY1NCwgCisgICAgNzU2NTksIDc1NjY1LCA3NTY2OSwgNzU2NzQsIDc1Njc3LCAwLCAwLCAwLCAwLCA3NTY4MCwgNzU2ODcsIDc1NjkzLCAKKyAgICA3NTY5OSwgNzU3MDUsIDc1NzExLCA3NTcxNywgNzU3MjMsIDc1NzI5LCA3NTczNSwgNzU3NDEsIDc1NzQ3LCA3NTc1NCwgCisgICAgNzU3NjEsIDc1NzY4LCA3NTc3NSwgNzU3ODIsIDc1Nzg5LCA3NTc5NiwgNzU4MDMsIDc1ODEwLCA3NTgxNiwgNzU4MjIsIAorICAgIDc1ODI5LCA3NTgzNSwgNzU4NDIsIDc1ODQ5LCA3NTg1NiwgNzU4NjIsIDc1ODY5LCA3NTg3NiwgNzU4ODMsIDc1ODg5LCAKKyAgICA3NTg5NiwgNzU5MDMsIDc1OTA5LCA3NTkxNiwgNzU5MjIsIDc1OTI5LCA3NTkzNiwgNzU5NDIsIDc1OTQ4LCA3NTk1NSwgCisgICAgNzU5NjEsIDc1OTY4LCA3NTk3NSwgNzU5ODQsIDc1OTkxLCA3NTk5OCwgNzYwMDIsIDc2MDA3LCA3NjAxMiwgNzYwMTcsIAorICAgIDc2MDIyLCA3NjAyNiwgNzYwMzAsIDc2MDM1LCA3NjAzOSwgNzYwNDQsIDc2MDQ5LCA3NjA1NCwgNzYwNTksIDc2MDY0LCAKKyAgICA3NjA2OSwgNzYwNzMsIDc2MDc4LCA3NjA4MiwgNzYwODcsIDc2MDkyLCA3NjA5NywgNzYxMDIsIDc2MTA2LCA3NjExMSwgCisgICAgNzYxMTYsIDc2MTIxLCA3NjEyNywgNzYxMzIsIDc2MTM4LCA3NjE0NCwgNzYxNTAsIDc2MTU2LCA3NjE2MiwgNzYxNjcsIAorICAgIDc2MTczLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA3NjE3NywgNzYxODIsIDc2MTg2LCA3NjE5MCwgCisgICAgNzYxOTQsIDc2MTk4LCA3NjIwMiwgNzYyMDYsIDc2MjEwLCA3NjIxNCwgNzYyMTgsIDc2MjIyLCA3NjIyNiwgNzYyMzAsIAorICAgIDc2MjM0LCA3NjIzOCwgNzYyNDIsIDc2MjQ2LCA3NjI1MCwgNzYyNTQsIDc2MjU4LCA3NjI2MiwgNzYyNjYsIDc2MjcwLCAKKyAgICA3NjI3NCwgNzYyNzgsIDc2MjgyLCA3NjI4NiwgNzYyOTAsIDc2Mjk0LCAwLCAwLCAwLCA3NjI5OCwgNzYzMDIsIDc2MzA2LCAKKyAgICA3NjMxMCwgNzYzMTQsIDc2MzE3LCA3NjMyMywgNzYzMjYsIDc2MzMwLCA3NjMzMywgNzYzMzksIDc2MzQ1LCA3NjM1MywgCisgICAgNzYzNTYsIDc2MzYwLCA3NjM2MywgNzYzNjYsIDc2MzcyLCA3NjM3OCwgNzYzODIsIDc2Mzg4LCA3NjM5MiwgNzYzOTYsIAorICAgIDc2NDAyLCA3NjQwNiwgNzY0MTIsIDc2NDE4LCA3NjQyMiwgNzY0MjYsIDc2NDMyLCA3NjQzNiwgNzY0NDIsIDc2NDQ4LCAKKyAgICA3NjQ1MiwgNzY0NTgsIDc2NDYyLCA3NjQ2OCwgNzY0NzEsIDc2NDc0LCA3NjQ4MCwgNzY0ODQsIDc2NDkwLCA3NjQ5MywgCisgICAgNzY0OTYsIDc2NTAwLCA3NjUwNiwgNzY1MTAsIDc2NTE0LCA3NjUyMCwgNzY1MjYsIDc2NTMwLCA3NjUzMywgNzY1MzksIAorICAgIDc2NTQ0LCA3NjU0OSwgNzY1NTQsIDc2NTYxLCA3NjU2NiwgNzY1NzMsIDc2NTc4LCA3NjU4NSwgNzY1OTAsIDc2NTk1LCAKKyAgICA3NjYwMCwgNzY2MDUsIDc2NjA4LCA3NjYxMiwgNzY2MTYsIDc2NjIxLCA3NjYyNiwgNzY2MzEsIDc2NjM2LCA3NjY0MSwgCisgICAgNzY2NDYsIDc2NjUxLCA3NjY1NiwgNzY2NjMsIDc2NjY4LCAwLCA3NjY3NCwgNzY2NzcsIDc2NjgxLCA3NjY4NCwgNzY2ODcsIAorICAgIDc2NjkwLCA3NjY5MywgNzY2OTYsIDc2Njk5LCA3NjcwMiwgNzY3MDUsIDAsIDAsIDAsIDAsIDc2NzA4LCA3NjcxNSwgCisgICAgNzY3MjAsIDc2NzI2LCA3NjczMiwgNzY3MzgsIDc2NzQ0LCA3Njc1MCwgNzY3NTYsIDc2NzYzLCA3Njc3MCwgNzY3NzcsIAorICAgIDc2Nzg0LCA3Njc5MSwgNzY3OTgsIDc2ODA1LCA3NjgxMiwgNzY4MTksIDc2ODI2LCA3NjgzMywgNzY4MzksIDc2ODQ1LCAKKyAgICA3Njg1MSwgNzY4NTcsIDc2ODYzLCA3Njg2OSwgNzY4NzUsIDc2ODgxLCA3Njg4NywgNzY4OTQsIDc2OTAxLCA3NjkwOCwgCisgICAgNzY5MTUsIDAsIDc2OTIyLCA3NjkyNSwgNzY5MjgsIDc2OTMxLCA3NjkzNCwgNzY5MzgsIDc2OTQxLCA3Njk0NCwgNzY5NDgsIAorICAgIDc2OTUyLCA3Njk1NiwgNzY5NjAsIDc2OTY0LCA3Njk2OCwgNzY5NzIsIDc2OTc2LCA3Njk4MCwgNzY5ODQsIDc2OTg4LCAKKyAgICA3Njk5MiwgNzY5OTYsIDc3MDAwLCA3NzAwNCwgNzcwMDgsIDc3MDEyLCA3NzAxNSwgNzcwMTksIDc3MDIyLCA3NzAyNiwgCisgICAgNzcwMzAsIDc3MDM0LCA3NzAzOCwgNzcwNDIsIDc3MDQ1LCA3NzA0OSwgNzcwNTIsIDc3MDU2LCA3NzA2MCwgNzcwNjQsIAorICAgIDc3MDY4LCA3NzA3MiwgNzcwNzUsIDc3MDgwLCA3NzA4NCwgNzcwODksIDc3MDk0LCA3NzA5OCwgNzcxMDMsIDc3MTA3LCAKKyAgICA3NzExMiwgNzcxMTcsIDc3MTIyLCA3NzEyNiwgNzcxMzEsIDc3MTM2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICA3NzE0MSwgNzcxNDYsIDc3MTUxLCA3NzE1NiwgNzcxNjIsIDc3MTY3LCA3NzE3MiwgNzcxNzcsIDc3MTgyLCA3NzE4NywgCisgICAgNzcxOTEsIDc3MTk1LCA3NzIwMCwgNzcyMDYsIDAsIDAsIDc3MjEyLCA3NzIxNiwgNzcyMTksIDc3MjIyLCA3NzIyNSwgCisgICAgNzcyMjgsIDc3MjMxLCA3NzIzNCwgNzcyMzcsIDc3MjQwLCAwLCAwLCA3NzI0MywgNzcyNDgsIDc3MjUzLCA3NzI1OSwgCisgICAgNzcyNjYsIDc3MjcyLCA3NzI3OCwgNzcyODQsIDc3MjkwLCA3NzI5NiwgNzczMDIsIDc3MzA4LCA3NzMxNCwgNzczMjAsIAorICAgIDc3MzI2LCA3NzMzMiwgNzczMzcsIDc3MzQzLCA3NzM0OCwgNzczNTQsIDc3MzYwLCA3NzM2NywgNzczNzMsIDc3Mzc5LCAKKyAgICA3NzM4NSwgNzczOTIsIDc3Mzk5LCA3NzQwNiwgNzc0MTIsIDc3NDE3LCA3NzQyMiwgNzc0MjgsIDc3NDM2LCA3NzQ0MywgCisgICAgNzc0NTAsIDc3NDU4LCA3NzQ2NiwgNzc0NzMsIDc3NDgwLCA3NzQ4NywgNzc0OTQsIDc3NTAxLCA3NzUwOCwgNzc1MTUsIAorICAgIDc3NTIyLCA3NzUyOSwgNzc1MzYsIDc3NTQzLCA3NzU1MCwgNzc1NTcsIDc3NTY0LCA3NzU3MSwgNzc1NzgsIDc3NTg1LCAKKyAgICA3NzU5MiwgNzc1OTksIDc3NjA2LCA3NzYxMiwgNzc2MTgsIDc3NjI1LCA3NzYzMiwgNzc2MzksIDc3NjQ2LCA3NzY1MywgCisgICAgNzc2NjAsIDc3NjY3LCA3NzY3NCwgNzc2ODEsIDc3Njg4LCA3NzY5NSwgNzc3MDIsIDc3NzA5LCA3NzcxNiwgNzc3MjMsIAorICAgIDc3NzMwLCA3NzczNywgNzc3NDQsIDc3NzUxLCA3Nzc1OCwgNzc3NjUsIDc3NzcyLCA3Nzc3OSwgNzc3ODYsIDc3NzkyLCAKKyAgICA3Nzc5OCwgNzc4MDUsIDc3ODExLCA3NzgxNiwgNzc4MjIsIDc3ODI3LCA3NzgzMiwgNzc4MzcsIDc3ODQ0LCA3Nzg1MCwgCisgICAgNzc4NTYsIDc3ODYyLCA3Nzg2OCwgNzc4NzQsIDc3ODgwLCA3Nzg4NiwgNzc4OTQsIDc3OTAyLCA3NzkxMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNzc5MTgsIAorICAgIDc3OTI0LCA3NzkzMCwgNzc5MzYsIDc3OTQ0LCA3Nzk1MiwgNzc5NTgsIDc3OTY0LCA3Nzk3MSwgNzc5NzgsIDc3OTg1LCAKKyAgICA3Nzk5MiwgNzc5OTksIDc4MDA2LCA3ODAxMywgNzgwMjAsIDc4MDI3LCA3ODAzNSwgNzgwNDMsIDc4MDUxLCA3ODA1OSwgCisgICAgNzgwNjcsIDc4MDczLCA3ODA4MSwgNzgwODcsIDc4MDk1LCA3ODEwNCwgNzgxMTIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDc4MTE4LCA3ODEyMiwgNzgxMjYsIDc4MTMwLCA3ODEzNCwgNzgxMzgsIDAsIDAsIDc4MTQyLCA3ODE0NiwgCisgICAgNzgxNTAsIDc4MTU0LCA3ODE1OCwgNzgxNjIsIDAsIDAsIDc4MTY2LCA3ODE3MCwgNzgxNzQsIDc4MTc4LCA3ODE4MiwgCisgICAgNzgxODYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDc4MTkwLCA3ODE5NCwgNzgxOTgsIDc4MjAyLCA3ODIwNiwgCisgICAgNzgyMTAsIDc4MjE0LCAwLCA3ODIxOCwgNzgyMjIsIDc4MjI2LCA3ODIzMCwgNzgyMzQsIDc4MjM4LCA3ODI0MiwgMCwgCisgICAgNzgyNDYsIDc4MjUzLCA3ODI1OSwgNzgyNjUsIDc4MjcxLCA3ODI3OCwgNzgyODUsIDc4Mjk0LCA3ODMwNSwgNzgzMTYsIAorICAgIDc4MzI2LCA3ODMzNCwgNzgzNDIsIDc4MzUwLCA3ODM1NiwgNzgzNjQsIDc4MzcyLCA3ODM3OSwgNzgzODcsIDc4Mzk2LCAKKyAgICA3ODQwMywgNzg0MTIsIDc4NDE4LCA3ODQyOCwgNzg0MzcsIDc4NDQyLCA3ODQ1MCwgNzg0NTksIDc4NDY0LCA3ODQ3MywgCisgICAgNzg0ODAsIDc4NDkwLCA3ODUwMiwgNzg1MDcsIDc4NTEzLCA3ODUyMCwgNzg1MjUsIDc4NTM1LCA3ODU0NSwgNzg1NTUsIAorICAgIDc4NTY1LCA3ODU4MCwgNzg1OTMsIDc4NjA0LCA3ODYxMiwgNzg2MTcsIDc4NjI4LCA3ODYzOCwgMCwgMCwgMCwgMCwgCisgICAgNzg2NDUsIDc4NjUyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzMjIyNiwgMzIyMzMsIDMyMjQwLCAzMjI0NywgMzIyNTQsIAotICAgIDMyMjYzLCAzMjI3MiwgMzIyODEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDMyMjkwLCAzMjI5NSwgMzIzMDAsIDMyMzA1LCAKLSAgICAzMjMxMCwgMzIzMTksIDMyMzMwLCAzMjMzOSwgMzIzNTAsIDMyMzU2LCAzMjM2OSwgMzIzNzUsIDMyMzgyLCAzMjM4OSwgCi0gICAgMzIzOTQsIDMyNDAwLCAzMjQwNiwgMzI0MTcsIDMyNDI2LCAzMjQzMywgMzI0NDAsIDMyNDQ5LCAzMjQ1NiwgMzI0NjUsIAotICAgIDMyNDc1LCAzMjQ4NSwgMzI0OTIsIDMyNDk5LCAzMjUwNiwgMzI1MTYsIDMyNTIxLCAzMjUyOSwgMzI1MzUsIDMyNTQzLCAKLSAgICAzMjU1MiwgMzI1NTcsIDMyNTY0LCAzMjU3MCwgMzI1NzUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDMyNTgwLCAKLSAgICAzMjU4NSwgMzI1OTEsIDMyNTk4LCAzMjYwNiwgMzI2MTIsIDMyNjE4LCAzMjYyNCwgMzI2MjksIDMyNjM2LCAzMjY0MiwgCi0gICAgMzI2NDgsIDMyNjU0LCAzMjY2MiwgMzI2NjcsIDMyNjc1LCAzMjY4MCwgMzI2ODYsIDMyNjkyLCAzMjY5OSwgMzI3MDcsIAotICAgIDMyNzE0LCAzMjcyMCwgMzI3MjcsIDMyNzM0LCAzMjc0MCwgMzI3NDcsIDMyNzU0LCAzMjc2MCwgMzI3NjUsIDMyNzcxLCAKLSAgICAzMjc3OSwgMzI3ODcsIDMyNzkzLCAzMjc5OSwgMzI4MDUsIDMyODExLCAzMjgxOSwgMzI4MjMsIDMyODI5LCAzMjgzNSwgCi0gICAgMzI4NDEsIDMyODQ3LCAzMjg1MywgMzI4NTksIDMyODYzLCAzMjg2OCwgMzI4NzMsIDMyODgwLCAzMjg4NSwgMzI4ODksIAotICAgIDMyODk1LCAzMjkwMCwgMzI5MDUsIDMyOTA5LCAzMjkxNCwgMzI5MTksIDMyOTIzLCAzMjkyNywgMzI5MzIsIDMyOTM5LCAKLSAgICAzMjk0MywgMzI5NDgsIDMyOTUzLCAzMjk1NywgMzI5NjIsIDMyOTY2LCAzMjk3MSwgMzI5NzUsIDMyOTgxLCAzMjk4NiwgCi0gICAgMzI5OTMsIDMyOTk4LCAzMzAwMywgMzMwMDcsIDMzMDEyLCAzMzAxNywgMzMwMjQsIDMzMDI5LCAzMzAzNSwgMzMwNDAsIAotICAgIDMzMDQ0LCAzMzA0OSwgMzMwNTMsIDMzMDU4LCAzMzA2NSwgMzMwNzIsIDMzMDc3LCAzMzA4MiwgMzMwODYsIDMzMDkyLCAKLSAgICAzMzA5OCwgMzMxMDMsIDMzMTA4LCAzMzExMywgMzMxMTksIDMzMTI0LCAzMzEzMCwgMzMxMzUsIDMzMTQxLCAzMzE0NywgCi0gICAgMzMxNTMsIDMzMTYwLCAzMzE2NywgMzMxNzQsIDMzMTgxLCAzMzE4OCwgMzMxOTUsIDMzMjAwLCAzMzIwOCwgMzMyMTcsIAotICAgIDMzMjI2LCAzMzIzNSwgMzMyNDQsIDMzMjUzLCAzMzI2MiwgMzMyNzQsIDMzMjgzLCAzMzI5MiwgMzMzMDEsIDMzMzA4LCAKLSAgICAzMzMxMywgMzMzMjAsIDMzMzI4LCAzMzMzNiwgMzMzNDMsIDMzMzUwLCAzMzM1NywgMzMzNjQsIDMzMzcyLCAzMzM4MSwgCi0gICAgMzMzOTAsIDMzMzk5LCAzMzQwOCwgMzM0MTcsIDMzNDI2LCAzMzQzNSwgMzM0NDQsIDMzNDUzLCAzMzQ2MiwgMzM0NzEsIAotICAgIDMzNDgwLCAzMzQ4OSwgMzM0OTgsIDMzNTA2LCAzMzUxNSwgMzM1MjYsIDMzNTM0LCAzMzU0MywgMzM1NTQsIDMzNTYzLCAKLSAgICAzMzU3MiwgMzM1ODEsIDMzNTkwLCAzMzU5OCwgMzM2MDcsIDMzNjE0LCAzMzYxOSwgMzM2MjcsIDMzNjMyLCAzMzYzOSwgCi0gICAgMzM2NDQsIDMzNjUzLCAzMzY1OSwgMzM2NjYsIDMzNjczLCAzMzY3OCwgMzM2ODMsIDMzNjkxLCAzMzY5OSwgMzM3MDgsIAotICAgIDMzNzE3LCAzMzcyMiwgMzM3MjksIDMzNzQwLCAzMzc0OCwgMzM3NTcsIDMzNzYzLCAzMzc2OSwgMzM3NzQsIDMzNzgxLCAKLSAgICAzMzc4NiwgMzM3OTUsIDMzODAwLCAzMzgwNSwgMzM4MTAsIDMzODE3LCAzMzgyNCwgMzM4MjksIDMzODM4LCAzMzg0NiwgCi0gICAgMzM4NTEsIDMzODU2LCAzMzg2MywgMzM4NzAsIDMzODc0LCAzMzg3OCwgMzM4ODEsIDMzODg0LCAzMzg4NywgMzM4OTAsIAotICAgIDMzODkzLCAzMzg5NiwgMzM5MDMsIDMzOTA2LCAzMzkwOSwgMzM5MTQsIDMzOTE4LCAzMzkyMiwgMzM5MjYsIDMzOTMwLCAKLSAgICAzMzkzNCwgMzM5NDMsIDMzOTQ5LCAzMzk1NSwgMzM5NjEsIDMzOTY5LCAzMzk3NywgMzM5ODMsIDMzOTg5LCAzMzk5NiwgCi0gICAgMzQwMDIsIDM0MDA3LCAzNDAxMywgMzQwMTksIDM0MDI1LCAzNDAzMiwgMzQwMzgsIDM0MDQ2LCAzNDA1MiwgMzQwNTksIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDM0MDY1LCAzNDA3MiwgCi0gICAgMzQwNzksIDM0MDg0LCAzNDA5MywgMzQxMDEsIDM0MTA5LCAzNDExNiwgMzQxMjMsIDM0MTMwLCAzNDEzNywgMzQxNDUsIAotICAgIDM0MTUzLCAzNDE2MywgMzQxNzMsIDM0MTgxLCAzNDE4OSwgMzQxOTcsIDM0MjA1LCAzNDIxNCwgMzQyMjMsIDM0MjMxLCAKLSAgICAzNDIzOSwgMzQyNDgsIDM0MjU3LCAzNDI2NywgMzQyNzcsIDM0Mjg2LCAzNDI5NSwgMzQzMDMsIDM0MzExLCAzNDMxOSwgCi0gICAgMzQzMjcsIDM0MzM3LCAzNDM0NywgMzQzNTUsIDM0MzYzLCAzNDM3MSwgMzQzNzksIDM0Mzg3LCAzNDM5NSwgMzQ0MDMsIAotICAgIDM0NDExLCAzNDQxOSwgMzQ0MjcsIDM0NDM1LCAzNDQ0MywgMzQ0NTIsIDM0NDYxLCAzNDQ3MCwgMzQ0NzksIDM0NDg5LCAKLSAgICAzNDQ5OSwgMzQ1MDYsIDM0NTEzLCAzNDUyMSwgMzQ1MjksIDM0NTM4LCAzNDU0NywgMzQ1NTUsIDM0NTYzLCAzNDU3NSwgCi0gICAgMzQ1ODcsIDM0NTk2LCAzNDYwNSwgMzQ2MTQsIDM0NjIzLCAzNDYzMCwgMzQ2MzcsIDM0NjQ1LCAzNDY1MywgMzQ2NjEsIAotICAgIDM0NjY5LCAzNDY3NywgMzQ2ODUsIDM0NjkzLCAzNDcwMSwgMzQ3MTAsIDM0NzE5LCAzNDcyOCwgMzQ3MzcsIDM0NzQ2LCAKLSAgICAzNDc1NSwgMzQ3NjUsIDM0Nzc1LCAzNDc4NSwgMzQ3OTUsIDM0ODA0LCAzNDgxMywgMzQ4MjAsIDM0ODI3LCAzNDgzNSwgCi0gICAgMzQ4NDMsIDM0ODUxLCAzNDg1OSwgMzQ4NjcsIDM0ODc1LCAzNDg4NywgMzQ4OTksIDM0OTA4LCAzNDkxNywgMzQ5MjUsIAotICAgIDM0OTMzLCAzNDk0MSwgMzQ5NDksIDM0OTYwLCAzNDk3MSwgMzQ5ODIsIDM0OTkzLCAzNTAwNSwgMzUwMTcsIDM1MDI1LCAKLSAgICAzNTAzMywgMzUwNDEsIDM1MDQ5LCAzNTA1OCwgMzUwNjcsIDM1MDc2LCAzNTA4NSwgMzUwOTMsIDM1MTAxLCAzNTEwOSwgCi0gICAgMzUxMTcsIDM1MTI1LCAzNTEzMywgMzUxNDIsIDM1MTUxLCAzNTE2MSwgMzUxNzEsIDM1MTc4LCAzNTE4NSwgMzUxOTMsIAotICAgIDM1MjAxLCAzNTIwOSwgMzUyMTcsIDM1MjI0LCAzNTIzMSwgMzUyMzksIDM1MjQ3LCAzNTI1NSwgMzUyNjMsIDM1MjcxLCAKLSAgICAzNTI3OSwgMzUyODcsIDM1Mjk1LCAzNTMwMywgMzUzMTEsIDM1MzE5LCAzNTMyNywgMzUzMzUsIDM1MzQzLCAzNTM1MSwgCi0gICAgMzUzNTksIDM1MzY4LCAzNTM3NywgMzUzODYsIDM1Mzk0LCAzNTQwMywgMzU0MTIsIDM1NDIxLCAzNTQzMCwgMzU0NDAsIAotICAgIDM1NDQ5LCAzNTQ1NiwgMzU0NjEsIDM1NDY4LCAzNTQ3NSwgMzU0ODMsIDM1NDkxLCAzNTUwMCwgMzU1MDksIDM1NTE5LCAKLSAgICAzNTUyOSwgMzU1NDAsIDM1NTUxLCAzNTU2MCwgMzU1NjksIDM1NTc5LCAzNTU4OSwgMzU1OTgsIDM1NjA3LCAzNTYxNywgCi0gICAgMzU2MjcsIDM1NjM4LCAzNTY0OSwgMzU2NTgsIDM1NjY3LCAzNTY3NywgMzU2ODcsIDM1Njk0LCAzNTcwMSwgMzU3MDksIAotICAgIDM1NzE3LCAzNTcyMywgMzU3MjksIDM1NzM4LCAzNTc0NywgMzU3NTcsIDM1NzY3LCAzNTc3OCwgMzU3ODksIDM1Nzk4LCAKLSAgICAzNTgwNywgMzU4MTcsIDM1ODI3LCAzNTgzNiwgMzU4NDUsIDM1ODUzLCAzNTg2MSwgMzU4NjgsIDM1ODc1LCAzNTg4MywgCi0gICAgMzU4OTEsIDM1OTAwLCAzNTkwOSwgMzU5MTksIDM1OTI5LCAzNTk0MCwgMzU5NTEsIDM1OTYwLCAzNTk2OSwgMzU5NzksIAotICAgIDM1OTg5LCAzNTk5OCwgMzYwMDcsIDM2MDE3LCAzNjAyNywgMzYwMzgsIDM2MDQ5LCAzNjA1OCwgMzYwNjcsIDM2MDc3LCAKLSAgICAzNjA4NywgMzYwOTQsIDM2MTAxLCAzNjEwOSwgMzYxMTcsIDM2MTI2LCAzNjEzNSwgMzYxNDUsIDM2MTU1LCAzNjE2NiwgCi0gICAgMzYxNzcsIDM2MTg2LCAzNjE5NSwgMzYyMDUsIDM2MjE1LCAzNjIyMywgMzYyMzEsIDM2MjM5LCAzNjI0NywgMzYyNTYsIAotICAgIDM2MjY1LCAzNjI3MiwgMzYyNzksIDM2Mjg2LCAzNjI5MywgMzYzMDAsIDM2MzA3LCAzNjMxNSwgMzYzMjMsIDM2MzMxLCAKLSAgICAzNjMzOSwgMzYzNTAsIDM2MzYxLCAzNjM3MiwgMzYzODMsIDM2Mzk0LCAzNjQwNSwgMzY0MTMsIDM2NDIxLCAzNjQzMiwgCi0gICAgMzY0NDMsIDM2NDU0LCAzNjQ2NSwgMzY0NzYsIDM2NDg3LCAzNjQ5NSwgMzY1MDMsIDM2NTE0LCAzNjUyNSwgMzY1MzYsIDAsIAotICAgIDAsIDM2NTQ3LCAzNjU1NSwgMzY1NjMsIDM2NTc0LCAzNjU4NSwgMzY1OTYsIDAsIDAsIDM2NjA3LCAzNjYxNSwgMzY2MjMsIAotICAgIDM2NjM0LCAzNjY0NSwgMzY2NTYsIDM2NjY3LCAzNjY3OCwgMzY2ODksIDM2Njk3LCAzNjcwNSwgMzY3MTYsIDM2NzI3LCAKLSAgICAzNjczOCwgMzY3NDksIDM2NzYwLCAzNjc3MSwgMzY3NzksIDM2Nzg3LCAzNjc5OCwgMzY4MDksIDM2ODIwLCAzNjgzMSwgCi0gICAgMzY4NDIsIDM2ODUzLCAzNjg2MSwgMzY4NjksIDM2ODgwLCAzNjg5MSwgMzY5MDIsIDM2OTEzLCAzNjkyNCwgMzY5MzUsIAotICAgIDM2OTQzLCAzNjk1MSwgMzY5NjIsIDM2OTczLCAzNjk4NCwgMCwgMCwgMzY5OTUsIDM3MDAzLCAzNzAxMSwgMzcwMjIsIAotICAgIDM3MDMzLCAzNzA0NCwgMCwgMCwgMzcwNTUsIDM3MDYzLCAzNzA3MSwgMzcwODIsIDM3MDkzLCAzNzEwNCwgMzcxMTUsIAotICAgIDM3MTI2LCAwLCAzNzEzNywgMCwgMzcxNDUsIDAsIDM3MTU2LCAwLCAzNzE2NywgMzcxNzgsIDM3MTg2LCAzNzE5NCwgCi0gICAgMzcyMDUsIDM3MjE2LCAzNzIyNywgMzcyMzgsIDM3MjQ5LCAzNzI2MCwgMzcyNjgsIDM3Mjc2LCAzNzI4NywgMzcyOTgsIAotICAgIDM3MzA5LCAzNzMyMCwgMzczMzEsIDM3MzQyLCAzNzM1MCwgMzczNTgsIDM3MzY2LCAzNzM3NCwgMzczODIsIDM3MzkwLCAKLSAgICAzNzM5OCwgMzc0MDYsIDM3NDE0LCAzNzQyMiwgMzc0MzAsIDM3NDM4LCAzNzQ0NiwgMCwgMCwgMzc0NTQsIDM3NDY1LCAKLSAgICAzNzQ3NiwgMzc0OTAsIDM3NTA0LCAzNzUxOCwgMzc1MzIsIDM3NTQ2LCAzNzU2MCwgMzc1NzEsIDM3NTgyLCAzNzU5NiwgCi0gICAgMzc2MTAsIDM3NjI0LCAzNzYzOCwgMzc2NTIsIDM3NjY2LCAzNzY3NywgMzc2ODgsIDM3NzAyLCAzNzcxNiwgMzc3MzAsIAotICAgIDM3NzQ0LCAzNzc1OCwgMzc3NzIsIDM3NzgzLCAzNzc5NCwgMzc4MDgsIDM3ODIyLCAzNzgzNiwgMzc4NTAsIDM3ODY0LCAKLSAgICAzNzg3OCwgMzc4ODksIDM3OTAwLCAzNzkxNCwgMzc5MjgsIDM3OTQyLCAzNzk1NiwgMzc5NzAsIDM3OTg0LCAzNzk5NSwgCi0gICAgMzgwMDYsIDM4MDIwLCAzODAzNCwgMzgwNDgsIDM4MDYyLCAzODA3NiwgMzgwOTAsIDM4MDk4LCAzODEwNiwgMzgxMTcsIAotICAgIDM4MTI1LCAwLCAzODEzNiwgMzgxNDQsIDM4MTU1LCAzODE2MywgMzgxNzEsIDM4MTc5LCAzODE4NywgMzgxOTUsIDM4MTk4LCAKLSAgICAzODIwMSwgMzgyMDQsIDM4MjA3LCAzODIxMywgMzgyMjQsIDM4MjMyLCAwLCAzODI0MywgMzgyNTEsIDM4MjYyLCAzODI3MCwgCi0gICAgMzgyNzgsIDM4Mjg2LCAzODI5NCwgMzgzMDIsIDM4MzA4LCAzODMxNCwgMzgzMjAsIDM4MzI4LCAzODMzNiwgMzgzNDcsIDAsIAotICAgIDAsIDM4MzU4LCAzODM2NiwgMzgzNzcsIDM4Mzg1LCAzODM5MywgMzg0MDEsIDAsIDM4NDA5LCAzODQxNSwgMzg0MjEsIAotICAgIDM4NDI3LCAzODQzNSwgMzg0NDMsIDM4NDU0LCAzODQ2NSwgMzg0NzMsIDM4NDgxLCAzODQ4OSwgMzg1MDAsIDM4NTA4LCAKLSAgICAzODUxNiwgMzg1MjQsIDM4NTMyLCAzODU0MCwgMzg1NDYsIDM4NTUyLCAwLCAwLCAzODU1NSwgMzg1NjYsIDM4NTc0LCAwLCAKLSAgICAzODU4NSwgMzg1OTMsIDM4NjA0LCAzODYxMiwgMzg2MjAsIDM4NjI4LCAzODYzNiwgMzg2NDQsIDM4NjQ3LCAwLCAzODY1MCwgCi0gICAgMzg2NTQsIDM4NjU4LCAzODY2MiwgMzg2NjYsIDM4NjcwLCAzODY3NCwgMzg2NzgsIDM4NjgyLCAzODY4NiwgMzg2OTAsIAotICAgIDM4Njk0LCAzODcwMCwgMzg3MDYsIDM4NzEyLCAzODcxNSwgMzg3MTgsIDM4NzIwLCAzODcyNCwgMzg3MjgsIDM4NzMyLCAKLSAgICAzODczNiwgMzg3MzgsIDM4NzQyLCAzODc0NiwgMzg3NTIsIDM4NzU4LCAzODc2NSwgMzg3NzIsIDM4Nzc3LCAzODc4MiwgCi0gICAgMzg3ODgsIDM4Nzk0LCAzODc5NiwgMzg3OTksIDM4ODAxLCAzODgwNSwgMzg4MDksIDM4ODEzLCAzODgxNiwgMzg4MjAsIAotICAgIDM4ODI0LCAzODgyOCwgMzg4MzIsIDM4ODM2LCAzODg0MiwgMzg4NDYsIDM4ODUwLCAzODg1NiwgMzg4NjEsIDM4ODY4LCAKLSAgICAzODg3MCwgMzg4NzMsIDM4ODc3LCAzODg4MSwgMzg4ODYsIDM4ODkyLCAzODg5NCwgMzg5MDMsIDM4OTEyLCAzODkxNSwgCi0gICAgMzg5MTksIDM4OTIxLCAzODkyMywgMzg5MjUsIDM4OTI4LCAzODkzNCwgMzg5MzYsIDM4OTQwLCAzODk0NCwgMzg5NTEsIAotICAgIDM4OTU4LCAzODk2MiwgMzg5NjcsIDM4OTcyLCAzODk3NywgMzg5ODIsIDM4OTg2LCAzODk5MCwgMzg5OTMsIDM4OTk3LCAKLSAgICAzOTAwMSwgMzkwMDgsIDM5MDEzLCAzOTAxNywgMzkwMjEsIDM5MDI2LCAzOTAzMCwgMzkwMzQsIDM5MDM5LCAzOTA0NCwgCi0gICAgMzkwNDgsIDM5MDUyLCAzOTA1NiwgMzkwNTgsIDM5MDYzLCAzOTA2OCwgMzkwNzIsIDM5MDc2LCAzOTA4MCwgMzkwODQsIDAsIAotICAgIDM5MDg4LCAzOTA5MiwgMzkwOTYsIDM5MTAyLCAzOTEwOCwgMzkxMTQsIDM5MTIwLCAzOTEyNywgMzkxMzQsIDM5MTM5LCAKLSAgICAzOTE0NCwgMzkxNDgsIDAsIDAsIDM5MTU0LCAzOTE1NywgMzkxNjAsIDM5MTYzLCAzOTE2NiwgMzkxNjksIDM5MTcyLCAKLSAgICAzOTE3NiwgMzkxODAsIDM5MTg1LCAzOTE5MCwgMzkxOTUsIDM5MjAyLCAzOTIwNiwgMzkyMDksIDM5MjEyLCAzOTIxNSwgCi0gICAgMzkyMTgsIDM5MjIxLCAzOTIyNCwgMzkyMjcsIDM5MjMwLCAzOTIzMywgMzkyMzcsIDM5MjQxLCAzOTI0NiwgMzkyNTEsIDAsIAotICAgIDM5MjU2LCAzOTI2MiwgMzkyNjgsIDM5Mjc0LCAzOTI4MSwgMzkyODgsIDM5Mjk1LCAzOTMwMiwgMzkzMDgsIDM5MzE0LCAKLSAgICAzOTMyMSwgMzkzMjgsIDM5MzM1LCAwLCAwLCAwLCAzOTM0MiwgMzkzNDUsIDM5MzQ4LCAzOTM1MSwgMzkzNTYsIDM5MzU5LCAKLSAgICAzOTM2MiwgMzkzNjUsIDM5MzY4LCAzOTM3MSwgMzkzNzQsIDM5Mzc4LCAzOTM4MSwgMzkzODQsIDM5Mzg3LCAzOTM5MCwgCi0gICAgMzkzOTMsIDM5Mzk4LCAzOTQwMSwgMzk0MDQsIDM5NDA3LCAzOTQxMCwgMzk0MTMsIDM5NDE4LCAzOTQyMSwgMzk0MjQsIAotICAgIDM5NDI5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAzOTQzNCwgMzk0MzksIDM5NDQ0LCAzOTQ1MSwgMzk0NTksIDM5NDY0LCAzOTQ2OSwgMzk0NzMsIDM5NDc3LCAzOTQ4MiwgCi0gICAgMzk0ODksIDM5NDk2LCAzOTUwMCwgMzk1MDUsIDM5NTEwLCAzOTUxNSwgMzk1MjAsIDM5NTI3LCAzOTUzMiwgMzk1MzcsIAotICAgIDM5NTQyLCAzOTU1MSwgMzk1NTgsIDM5NTY1LCAzOTU2OSwgMzk1NzQsIDM5NTgwLCAzOTU4NSwgMzk1OTIsIDM5NjAxLCAKLSAgICAzOTYxMCwgMzk2MTQsIDM5NjE4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzOTYyMiwgCi0gICAgMzk2MjYsIDM5NjM0LCAzOTYzOCwgMzk2NDIsIDM5NjQ3LCAzOTY1MSwgMzk2NTUsIDM5NjU5LCAzOTY2MSwgMzk2NjUsIAotICAgIDM5NjY5LCAzOTY3MywgMzk2NzgsIDM5NjgyLCAzOTY4NiwgMzk2OTQsIDM5Njk3LCAzOTcwMSwgMzk3MDQsIDM5NzA3LCAKLSAgICAzOTcxMywgMzk3MTcsIDM5NzIwLCAzOTcyNiwgMzk3MzAsIDM5NzM0LCAzOTczOCwgMzk3NDEsIDM5NzQ1LCAzOTc0OCwgCi0gICAgMzk3NTIsIDM5NzU0LCAzOTc1NywgMzk3NjAsIDM5NzY0LCAzOTc2NiwgMzk3NzAsIDM5NzczLCAzOTc3NiwgMzk3ODEsIAotICAgIDM5Nzg2LCAzOTc5MywgMzk3OTYsIDM5Nzk5LCAzOTgwMywgMzk4MDgsIDM5ODExLCAzOTgxNCwgMzk4MTcsIDM5ODIxLCAKLSAgICAzOTgyNiwgMzk4MjksIDM5ODMyLCAzOTgzNCwgMzk4MzcsIDM5ODQwLCAzOTg0MywgMzk4NDcsIDM5ODUyLCAzOTg1NSwgCi0gICAgMzk4NTksIDM5ODYzLCAzOTg2NywgMzk4NzEsIDM5ODc2LCAzOTg4MiwgMzk4ODcsIDM5ODkyLCAzOTg5OCwgMzk5MDMsIAotICAgIDM5OTA4LCAzOTkxMiwgMzk5MTYsIDM5OTIxLCAzOTkyNSwgMzk5MjksIDM5OTMyLCAzOTkzNCwgMzk5MzksIDM5OTQ1LCAKLSAgICAzOTk1MiwgMzk5NTksIDM5OTY2LCAzOTk3MywgMzk5ODAsIDM5OTg3LCAzOTk5NCwgNDAwMDEsIDQwMDA5LCA0MDAxNiwgCi0gICAgNDAwMjQsIDQwMDMxLCA0MDAzOCwgNDAwNDYsIDQwMDU0LCA0MDA1OSwgNDAwNjQsIDQwMDY5LCA0MDA3NCwgNDAwNzksIAotICAgIDQwMDg0LCA0MDA4OSwgNDAwOTQsIDQwMDk5LCA0MDEwNCwgNDAxMTAsIDQwMTE2LCA0MDEyMiwgNDAxMjgsIDQwMTM1LCAKLSAgICA0MDE0MywgNDAxNTAsIDQwMTU2LCA0MDE2MiwgNDAxNjgsIDQwMTc0LCA0MDE4MCwgNDAxODYsIDQwMTkyLCA0MDE5OCwgCi0gICAgNDAyMDQsIDQwMjExLCA0MDIxOCwgNDAyMjUsIDQwMjMyLCA0MDI0MCwgNDAyNDksIDQwMjU3LCA0MDI2OCwgNDAyNzYsIAotICAgIDQwMjg0LCA0MDI5MywgNDAzMDAsIDQwMzA5LCA0MDMxOCwgNDAzMjYsIDQwMzM1LCAwLCAwLCAwLCAwLCAwLCAwLCA0MDM0MywgCi0gICAgNDAzNDUsIDQwMzQ4LCA0MDM1MCwgNDAzNTMsIDQwMzU2LCA0MDM1OSwgNDAzNjQsIDQwMzY5LCA0MDM3NCwgNDAzNzksIAotICAgIDQwMzgzLCA0MDM4NywgNDAzOTEsIDQwMzk1LCA0MDQwMCwgNDA0MDYsIDQwNDExLCA0MDQxNywgNDA0MjIsIDQwNDI3LCAKLSAgICA0MDQzMiwgNDA0MzgsIDQwNDQzLCA0MDQ0OSwgNDA0NTUsIDQwNDU5LCA0MDQ2MywgNDA0NjgsIDQwNDczLCA0MDQ3OCwgCi0gICAgNDA0ODMsIDQwNDg4LCA0MDQ5NiwgNDA1MDQsIDQwNTEyLCA0MDUyMCwgNDA1MjcsIDQwNTM1LCA0MDU0MiwgNDA1NDksIAotICAgIDQwNTU4LCA0MDU3MCwgNDA1NzYsIDQwNTgyLCA0MDU5MCwgNDA1OTgsIDQwNjA3LCA0MDYxNiwgNDA2MjQsIDQwNjMyLCAKLSAgICA0MDY0MSwgNDA2NTAsIDQwNjU1LCA0MDY2MywgNDA2NjgsIDQwNjczLCA0MDY3OSwgNDA2ODQsIDQwNjkwLCA0MDY5NywgCi0gICAgNDA3MDQsIDQwNzA5LCA0MDcxNSwgNDA3MjAsIDQwNzIzLCA0MDcyNywgNDA3MzAsIDQwNzM0LCA0MDczOCwgNDA3NDIsIAotICAgIDQwNzQ4LCA0MDc1NCwgNDA3NjAsIDQwNzY2LCA0MDc3MCwgNDA3NzQsIDQwNzc4LCA0MDc4MiwgNDA3ODgsIDQwNzk0LCAKLSAgICA0MDc5OCwgNDA4MDMsIDQwODA3LCA0MDgxMiwgNDA4MTcsIDQwODIyLCA0MDgyNSwgNDA4MjksIDQwODMyLCA0MDgzNiwgCi0gICAgNDA4NDMsIDQwODUxLCA0MDg2MiwgNDA4NzMsIDQwODc4LCA0MDg4NywgNDA4OTQsIDQwOTAzLCA0MDkxMiwgNDA5MTYsIAotICAgIDQwOTIyLCA0MDkzMCwgNDA5MzQsIDQwOTM5LCA0MDk0NCwgNDA5NTAsIDQwOTU2LCA0MDk2MiwgNDA5NjksIDQwOTczLCAKLSAgICA0MDk3NywgNDA5ODIsIDQwOTg1LCA0MDk4NywgNDA5OTEsIDQwOTk1LCA0MTAwMywgNDEwMDcsIDQxMDA5LCA0MTAxMSwgCi0gICAgNDEwMTUsIDQxMDIzLCA0MTAyOCwgNDEwMzQsIDQxMDQ0LCA0MTA1MSwgNDEwNTYsIDQxMDYwLCA0MTA2NCwgNDEwNjgsIAotICAgIDQxMDcxLCA0MTA3NCwgNDEwNzcsIDQxMDgxLCA0MTA4NSwgNDEwODksIDQxMDkzLCA0MTA5NywgNDExMDAsIDQxMTA0LCAKLSAgICA0MTEwOCwgNDExMTEsIDQxMTEzLCA0MTExNiwgNDExMTgsIDQxMTIyLCA0MTEyNiwgNDExMjgsIDQxMTM0LCA0MTEzNywgCi0gICAgNDExNDIsIDQxMTQ2LCA0MTE1MCwgNDExNTIsIDQxMTU0LCA0MTE1NiwgNDExNTksIDQxMTYzLCA0MTE2NywgNDExNzEsIAotICAgIDQxMTc1LCA0MTE3OSwgNDExODUsIDQxMTkxLCA0MTE5MywgNDExOTUsIDQxMTk3LCA0MTE5OSwgNDEyMDIsIDQxMjA0LCAKLSAgICA0MTIwOCwgNDEyMTAsIDQxMjE0LCA0MTIxNywgNDEyMjMsIDQxMjI3LCA0MTIzMSwgNDEyMzQsIDQxMjM3LCA0MTI0MSwgCi0gICAgNDEyNDcsIDQxMjUxLCA0MTI2MSwgNDEyNzEsIDQxMjc1LCA0MTI4MSwgNDEyODcsIDQxMjkwLCA0MTI5NCwgNDEyOTcsIAotICAgIDQxMzAyLCA0MTMwNiwgNDEzMTIsIDQxMzE2LCA0MTMyOCwgNDEzMzYsIDQxMzQwLCA0MTM0NCwgNDEzNTAsIDQxMzU0LCAKLSAgICA0MTM1NywgNDEzNTksIDQxMzYyLCA0MTM2NiwgNDEzNzAsIDQxMzc3LCA0MTM4MSwgNDEzODUsIDQxMzg5LCA0MTM5MiwgCi0gICAgNDEzOTcsIDQxNDAyLCA0MTQwNywgNDE0MTIsIDQxNDE3LCA0MTQyMiwgNDE0MzAsIDQxNDM4LCA0MTQ0MiwgNDE0NDYsIAotICAgIDQxNDQ4LCA0MTQ1MywgNDE0NTcsIDQxNDYxLCA0MTQ2OSwgNDE0NzcsIDQxNDgzLCA0MTQ4OSwgNDE0OTgsIDQxNTA3LCAKLSAgICA0MTUxMiwgNDE1MTcsIDQxNTI1LCA0MTUzMywgNDE1MzUsIDQxNTM3LCA0MTU0MiwgNDE1NDcsIDQxNTUzLCA0MTU1OSwgCi0gICAgNDE1NjUsIDQxNTcxLCA0MTU3NSwgNDE1NzksIDQxNTg2LCA0MTU5MywgNDE1OTksIDQxNjA1LCA0MTYxNSwgNDE2MjUsIAotICAgIDQxNjMzLCA0MTY0MSwgNDE2NDMsIDQxNjQ3LCA0MTY1MSwgNDE2NTYsIDQxNjYxLCA0MTY2OCwgNDE2NzUsIDQxNjc4LCAKLSAgICA0MTY4MSwgNDE2ODQsIDQxNjg3LCA0MTY5MCwgNDE2OTUsIDQxNjk5LCA0MTcwNCwgNDE3MDksIDQxNzEyLCA0MTcxNSwgCi0gICAgNDE3MTgsIDQxNzIxLCA0MTcyNCwgNDE3MjgsIDQxNzMxLCA0MTczNCwgNDE3MzcsIDQxNzQwLCA0MTc0MiwgNDE3NDQsIAotICAgIDQxNzQ2LCA0MTc0OCwgNDE3NTYsIDQxNzY0LCA0MTc3MCwgNDE3NzQsIDQxNzgwLCA0MTc5MCwgNDE3OTYsIDQxODAyLCAKLSAgICA0MTgwOCwgNDE4MTYsIDQxODI0LCA0MTgzNSwgNDE4MzksIDQxODQzLCA0MTg0NSwgNDE4NTEsIDQxODUzLCA0MTg1NSwgCi0gICAgNDE4NTcsIDQxODU5LCA0MTg2NSwgNDE4NjgsIDQxODc0LCA0MTg4MCwgNDE4ODQsIDQxODg4LCA0MTg5MiwgNDE4OTUsIAotICAgIDQxODk5LCA0MTkwMywgNDE5MDUsIDQxOTE0LCA0MTkyMywgNDE5MjgsIDQxOTMzLCA0MTkzOSwgNDE5NDUsIDQxOTUxLCAKLSAgICA0MTk1NCwgNDE5NTcsIDQxOTYwLCA0MTk2MywgNDE5NjUsIDQxOTcwLCA0MTk3NSwgNDE5ODAsIDQxOTg2LCA0MTk5MiwgCi0gICAgNDIwMDAsIDQyMDA4LCA0MjAxNCwgNDIwMjAsIDQyMDI2LCA0MjAzMiwgNDIwNDEsIDQyMDUwLCA0MjA1OSwgNDIwNjgsIAotICAgIDQyMDc3LCA0MjA4NiwgNDIwOTUsIDQyMTA0LCA0MjExMywgNDIxMjIsIDQyMTMwLCA0MjE0MiwgNDIxNTIsIDQyMTY3LCAKLSAgICA0MjE3MCwgNDIxNzUsIDQyMTgxLCA0MjE4NywgNDIxOTQsIDQyMjA4LCA0MjIyMywgNDIyMjksIDQyMjM1LCA0MjI0MiwgCi0gICAgNDIyNDgsIDQyMjU2LCA0MjI2MiwgNDIyNzUsIDQyMjg5LCA0MjI5NCwgNDIzMDAsIDQyMzA3LCA0MjMxMCwgNDIzMTMsIAotICAgIDQyMzE1LCA0MjMxOCwgNDIzMjEsIDQyMzIzLCA0MjMyNSwgNDIzMjksIDQyMzMyLCA0MjMzNSwgNDIzMzgsIDQyMzQxLCAKLSAgICA0MjM0NiwgNDIzNTEsIDQyMzU2LCA0MjM2MSwgNDIzNjYsIDQyMzY5LCA0MjM3MSwgNDIzNzMsIDQyMzc1LCA0MjM3OSwgCi0gICAgNDIzODMsIDQyMzg3LCA0MjM5MywgNDIzOTgsIDQyNDAwLCA0MjQwMiwgNDI0MDcsIDQyNDEyLCA0MjQxNywgNDI0MjIsIAotICAgIDQyNDI3LCA0MjQzMiwgNDI0MzQsIDQyNDM2LCA0MjQ0NSwgNDI0NDksIDQyNDU3LCA0MjQ2NiwgNDI0NjgsIDQyNDczLCAKLSAgICA0MjQ3OCwgNDI0ODYsIDQyNDkwLCA0MjQ5MiwgNDI0OTYsIDQyNDk4LCA0MjUwMiwgNDI1MDYsIDQyNTEwLCA0MjUxMiwgCi0gICAgNDI1MTQsIDQyNTE2LCA0MjUyMywgNDI1MzIsIDQyNTQxLCA0MjU1MCwgNDI1NTksIDQyNTY4LCA0MjU3NywgNDI1ODYsIAotICAgIDQyNTk1LCA0MjYwMywgNDI2MTEsIDQyNjIwLCA0MjYyOSwgNDI2MzgsIDQyNjQ3LCA0MjY1NSwgNDI2NjMsIDQyNjcyLCAKLSAgICA0MjY4MSwgNDI2OTAsIDQyNzAwLCA0MjcwOSwgNDI3MTksIDQyNzI4LCA0MjczOCwgNDI3NDcsIDQyNzU3LCA0Mjc2NywgCi0gICAgNDI3NzYsIDQyNzg2LCA0Mjc5NSwgNDI4MDUsIDQyODE0LCA0MjgyNCwgNDI4MzMsIDQyODQyLCA0Mjg1MSwgNDI4NjAsIAotICAgIDQyODY5LCA0Mjg3OSwgNDI4ODgsIDQyODk3LCA0MjkwNiwgNDI5MTYsIDQyOTI1LCA0MjkzNCwgNDI5NDMsIDQyOTUyLCAKLSAgICA0Mjk2MiwgNDI5NzIsIDQyOTgxLCA0Mjk5MCwgNDI5OTgsIDQzMDA2LCA0MzAxMywgNDMwMjEsIDQzMDMwLCA0MzA0MSwgCi0gICAgNDMwNTAsIDQzMDU5LCA0MzA2OCwgNDMwNzUsIDQzMDgyLCA0MzA4OSwgNDMwOTgsIDQzMTA3LCA0MzExNiwgNDMxMjUsIAotICAgIDQzMTMyLCA0MzEzNywgNDMxNDYsIDQzMTUxLCA0MzE1NCwgNDMxNjIsIDQzMTY1LCA0MzE3MCwgNDMxNzUsIDQzMTc4LCAKLSAgICA0MzE4MSwgNDMxODksIDQzMTkyLCA0MzE5NywgNDMyMDAsIDQzMjA3LCA0MzIxMiwgNDMyMjAsIDQzMjIzLCA0MzIyNiwgCi0gICAgNDMyMjksIDQzMjM0LCA0MzIzOSwgNDMyNDIsIDQzMjQ1LCA0MzI1MywgNDMyNTYsIDQzMjYzLCA0MzI3MCwgNDMyNzQsIAotICAgIDQzMjc4LCA0MzI4MywgNDMyODgsIDQzMjk0LCA0MzI5OSwgNDMzMDUsIDQzMzExLCA0MzMxNiwgNDMzMjIsIDQzMzMwLCAKLSAgICA0MzMzNiwgNDMzNDQsIDQzMzUyLCA0MzM1OCwgNDMzNjYsIDQzMzc0LCA0MzM4MywgNDMzOTEsIDQzMzk3LCA0MzQwNSwgCi0gICAgNDM0MTQsIDQzNDIyLCA0MzQyNiwgNDM0MzEsIDQzNDQ0LCA0MzQ1NywgNDM0NjEsIDQzNDY1LCA0MzQ2OSwgNDM0NzMsIAotICAgIDQzNDgzLCA0MzQ4NywgNDM0OTIsIDQzNDk3LCA0MzUwMiwgNDM1MDcsIDQzNTEyLCA0MzUxNywgNDM1MjcsIDQzNTM3LCAKLSAgICA0MzU0NSwgNDM1NTUsIDQzNTY1LCA0MzU3MywgNDM1ODMsIDQzNTkzLCA0MzYwMSwgNDM2MTEsIDQzNjIxLCA0MzYyOSwgCi0gICAgNDM2MzcsIDQzNjQ3LCA0MzY1NywgNDM2NjAsIDQzNjYzLCA0MzY2NiwgNDM2NzEsIDQzNjc1LCA0MzY4MSwgNDM2ODgsIAotICAgIDQzNjk1LCA0MzcwMywgNDM3MTAsIDQzNzE0LCA0MzcxOCwgNDM3MjIsIDQzNzI2LCA0MzcyOCwgNDM3MzIsIDQzNzM2LCAKLSAgICA0Mzc0MSwgNDM3NDYsIDQzNzUzLCA0Mzc2MCwgNDM3NjMsIDQzNzcwLCA0Mzc3MiwgNDM3NzQsIDQzNzc4LCA0Mzc4MiwgCi0gICAgNDM3ODcsIDQzNzkzLCA0Mzc5OSwgNDM4MDUsIDQzODExLCA0MzgyMCwgNDM4MjksIDQzODM4LCA0Mzg0MiwgNDM4NDQsIAotICAgIDQzODQ4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0Mzg1NSwgNDM4NTksIDQzODY2LCA0Mzg3MywgCi0gICAgNDM4ODAsIDQzODg3LCA0Mzg5MSwgNDM4OTUsIDQzODk5LCA0MzkwMywgNDM5MDgsIDQzOTE0LCA0MzkxOSwgNDM5MjUsIAotICAgIDQzOTMxLCA0MzkzNywgNDM5NDMsIDQzOTUxLCA0Mzk1OCwgNDM5NjUsIDQzOTcyLCA0Mzk3OSwgNDM5ODQsIDQzOTkwLCAKLSAgICA0Mzk5OSwgNDQwMDMsIDQ0MDEwLCA0NDAxNCwgNDQwMTgsIDQ0MDI0LCA0NDAzMCwgNDQwMzYsIDQ0MDQyLCA0NDA0NiwgCi0gICAgNDQwNTAsIDQ0MDUzLCA0NDA1NiwgNDQwNjAsIDQ0MDY3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0NDA3NCwgNDQwNzcsIDQ0MDgxLCA0NDA4NSwgNDQwOTEsIAotICAgIDQ0MDk3LCA0NDEwMywgNDQxMTEsIDQ0MTE4LCA0NDEyMiwgNDQxMzAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ0MTM1LCA0NDEzOCwgNDQxNDEsIDQ0MTQ0LCA0NDE0NywgCi0gICAgNDQxNTAsIDQ0MTUzLCA0NDE1NiwgNDQxNTksIDQ0MTYyLCA0NDE2NiwgNDQxNzAsIDQ0MTc0LCA0NDE3OCwgNDQxODIsIAotICAgIDQ0MTg2LCA0NDE5MCwgNDQxOTQsIDQ0MTk4LCA0NDIwMiwgNDQyMDYsIDQ0MjA5LCA0NDIxMiwgNDQyMTUsIDQ0MjE4LCAKLSAgICA0NDIyMSwgNDQyMjQsIDQ0MjI3LCA0NDIzMCwgNDQyMzMsIDQ0MjM3LCA0NDI0MSwgNDQyNDUsIDQ0MjQ5LCA0NDI1MywgCi0gICAgNDQyNTcsIDQ0MjYxLCA0NDI2NSwgNDQyNjksIDQ0MjczLCA0NDI3NywgNDQyODMsIDQ0Mjg5LCA0NDI5NSwgNDQzMDIsIAotICAgIDQ0MzA5LCA0NDMxNiwgNDQzMjMsIDQ0MzMwLCA0NDMzNywgNDQzNDQsIDQ0MzUxLCA0NDM1OCwgNDQzNjUsIDQ0MzcyLCAKLSAgICA0NDM3OSwgNDQzODYsIDQ0MzkzLCA0NDQwMCwgNDQ0MDcsIDQ0NDE0LCA0NDQxOSwgNDQ0MjUsIDQ0NDMxLCA0NDQzNywgCi0gICAgNDQ0NDIsIDQ0NDQ4LCA0NDQ1NCwgNDQ0NjAsIDQ0NDY1LCA0NDQ3MSwgNDQ0NzcsIDQ0NDgyLCA0NDQ4NywgNDQ0OTMsIAotICAgIDQ0NDk4LCA0NDUwNCwgNDQ1MTAsIDQ0NTE1LCA0NDUyMSwgNDQ1MjcsIDQ0NTMyLCA0NDUzOCwgNDQ1NDQsIDQ0NTUwLCAKLSAgICA0NDU1NiwgNDQ1NjIsIDQ0NTY3LCA0NDU3MywgNDQ1NzksIDQ0NTg1LCA0NDU5MCwgNDQ1OTYsIDQ0NjAyLCA0NDYwOCwgCi0gICAgNDQ2MTMsIDQ0NjE5LCA0NDYyNSwgNDQ2MzAsIDQ0NjM1LCA0NDY0MSwgNDQ2NDYsIDQ0NjUyLCA0NDY1OCwgNDQ2NjMsIAotICAgIDQ0NjY5LCA0NDY3NSwgNDQ2ODAsIDQ0Njg2LCA0NDY5MiwgNDQ2OTgsIDQ0NzA0LCA0NDcxMCwgNDQ3MTUsIDQ0NzIxLCAKLSAgICA0NDcyNywgNDQ3MzMsIDQ0NzM4LCA0NDc0NCwgNDQ3NTAsIDQ0NzU2LCA0NDc2MSwgNDQ3NjcsIDQ0NzczLCA0NDc3OCwgCi0gICAgNDQ3ODMsIDQ0Nzg5LCA0NDc5NCwgNDQ4MDAsIDQ0ODA2LCA0NDgxMSwgNDQ4MTcsIDQ0ODIzLCA0NDgyOCwgNDQ4MzQsIAotICAgIDQ0ODQwLCA0NDg0NiwgNDQ4NTIsIDQ0ODU4LCA0NDg2MiwgNDQ4NjcsIDQ0ODcyLCA0NDg3NywgNDQ4ODIsIDQ0ODg3LCAKLSAgICA0NDg5MiwgNDQ4OTcsIDQ0OTAyLCA0NDkwNywgNDQ5MTIsIDQ0OTE2LCA0NDkyMCwgNDQ5MjQsIDQ0OTI4LCA0NDkzMiwgCi0gICAgNDQ5MzYsIDQ0OTQwLCA0NDk0NCwgNDQ5NDgsIDQ0OTUzLCA0NDk1OCwgNDQ5NjMsIDQ0OTY4LCA0NDk3MywgNDQ5NzgsIAotICAgIDQ0OTg3LCA0NDk5NiwgNDUwMDUsIDQ1MDE0LCA0NTAyMywgNDUwMzIsIDQ1MDQxLCA0NTA1MCwgNDUwNTcsIDQ1MDY1LCAKLSAgICA0NTA3MywgNDUwODAsIDQ1MDg3LCA0NTA5NSwgNDUxMDMsIDQ1MTEwLCA0NTExNywgNDUxMjUsIDQ1MTMzLCA0NTE0MCwgCi0gICAgNDUxNDcsIDQ1MTU1LCA0NTE2MywgNDUxNzAsIDQ1MTc3LCA0NTE4NSwgNDUxOTQsIDQ1MjAzLCA0NTIxMSwgNDUyMjAsIAotICAgIDQ1MjI5LCA0NTIzNiwgNDUyNDMsIDQ1MjUxLCA0NTI2MCwgNDUyNjksIDQ1Mjc3LCA0NTI4NiwgNDUyOTUsIDQ1MzAyLCAKLSAgICA0NTMwOSwgNDUzMTgsIDQ1MzI3LCA0NTMzNSwgNDUzNDMsIDQ1MzUyLCA0NTM2MSwgNDUzNjgsIDQ1Mzc1LCA0NTM4NCwgCi0gICAgNDUzOTMsIDQ1NDAxLCA0NTQwOSwgNDU0MTgsIDQ1NDI3LCA0NTQzNCwgNDU0NDEsIDQ1NDUwLCA0NTQ1OSwgNDU0NjcsIAotICAgIDQ1NDc2LCA0NTQ4NSwgNDU0OTMsIDQ1NTAzLCA0NTUxMywgNDU1MjMsIDQ1NTMzLCA0NTU0MiwgNDU1NTEsIDQ1NTYwLCAKLSAgICA0NTU2OSwgNDU1NzYsIDQ1NTg0LCA0NTU5MiwgNDU2MDAsIDQ1NjA4LCA0NTYxMywgNDU2MTgsIDQ1NjI3LCA0NTYzNSwgCi0gICAgNDU2NDIsIDQ1NjUxLCA0NTY1OSwgNDU2NjYsIDQ1Njc1LCA0NTY4MywgNDU2OTAsIDQ1Njk5LCA0NTcwNywgNDU3MTQsIAotICAgIDQ1NzIzLCA0NTczMSwgNDU3MzgsIDQ1NzQ3LCA0NTc1NSwgNDU3NjIsIDQ1NzcxLCA0NTc3OSwgNDU3ODYsIDQ1Nzk1LCAKLSAgICA0NTgwMywgNDU4MTAsIDQ1ODE5LCA0NTgyNywgNDU4MzQsIDQ1ODQzLCA0NTg1MiwgNDU4NjEsIDQ1ODcwLCA0NTg4NCwgCi0gICAgNDU4OTgsIDQ1OTA1LCA0NTkxMCwgNDU5MTUsIDQ1OTIwLCA0NTkyNSwgNDU5MzAsIDQ1OTM1LCA0NTk0MCwgNDU5NDUsIAotICAgIDQ1OTUzLCA0NTk2MSwgNDU5NjksIDQ1OTc3LCA0NTk4MiwgNDU5ODksIDQ1OTk2LCA0NjAwMywgNDYwMDgsIDQ2MDE2LCAKLSAgICA0NjAyMywgNDYwMzEsIDQ2MDM1LCA0NjA0MiwgNDYwNDgsIDQ2MDU1LCA0NjA1OSwgNDYwNjUsIDQ2MDcxLCA0NjA3NywgCi0gICAgNDYwODEsIDQ2MDg0LCA0NjA4OCwgNDYwOTIsIDQ2MDk5LCA0NjEwNSwgNDYxMTEsIDQ2MTE3LCA0NjEyMywgNDYxMzcsIAotICAgIDQ2MTQ3LCA0NjE2MSwgNDYxNzUsIDQ2MTgxLCA0NjE5MSwgNDYyMDUsIDQ2MjA4LCA0NjIxMSwgNDYyMTgsIDQ2MjI2LCAKLSAgICA0NjIzMSwgNDYyMzYsIDQ2MjQ0LCA0NjI1NiwgNDYyNjgsIDQ2Mjc2LCA0NjI4MCwgNDYyODQsIDQ2Mjg3LCA0NjI5MCwgCi0gICAgNDYyOTQsIDQ2Mjk4LCA0NjMwMSwgNDYzMDQsIDQ2MzA5LCA0NjMxNCwgNDYzMjAsIDQ2MzI2LCA0NjMzMSwgNDYzMzYsIAotICAgIDQ2MzQyLCA0NjM0OCwgNDYzNTMsIDQ2MzU4LCA0NjM2MywgNDYzNjgsIDQ2Mzc0LCA0NjM4MCwgNDYzODUsIDQ2MzkwLCAKLSAgICA0NjM5NiwgNDY0MDIsIDQ2NDA3LCA0NjQxMiwgNDY0MTUsIDQ2NDE4LCA0NjQyNywgNDY0MjksIDQ2NDMxLCA0NjQzNCwgCi0gICAgNDY0MzgsIDQ2NDQ0LCA0NjQ0NiwgNDY0NDksIDQ2NDU2LCA0NjQ2MywgNDY0NzEsIDQ2NDc5LCA0NjQ4OSwgNDY1MDMsIAotICAgIDQ2NTA4LCA0NjUxMywgNDY1MTcsIDQ2NTIyLCA0NjUzMCwgNDY1MzgsIDQ2NTQ3LCA0NjU1NiwgNDY1NjUsIDQ2NTc0LCAKLSAgICA0NjU3OSwgNDY1ODQsIDQ2NTkwLCA0NjU5NiwgNDY2MDIsIDQ2NjA4LCA0NjYxMSwgNDY2MTcsIDQ2NjIzLCA0NjYzMywgCi0gICAgNDY2NDMsIDQ2NjUxLCA0NjY1OSwgNDY2NjgsIDQ2Njc3LCA0NjY4MSwgNDY2ODksIDQ2Njk3LCA0NjcwNSwgNDY3MTMsIAotICAgIDQ2NzIyLCA0NjczMSwgNDY3NDAsIDQ2NzQ5LCA0Njc1NCwgNDY3NTksIDQ2NzY0LCA0Njc2OSwgNDY3NzQsIDQ2NzgwLCAKLSAgICA0Njc4NiwgNDY3OTEsIDQ2Nzk3LCA0Njc5OSwgNDY4MDEsIDQ2ODAzLCA0NjgwNSwgNDY4MDgsIDQ2ODExLCA0NjgxMywgCi0gICAgNDY4MTUsIDQ2ODE3LCA0NjgyMSwgNDY4MjUsIDQ2ODI3LCA0NjgyOSwgNDY4MzIsIDQ2ODM1LCA0NjgzOSwgNDY4NDUsIAotICAgIDQ2ODUxLCA0Njg1MywgNDY4NjAsIDQ2ODY0LCA0Njg2OSwgNDY4NzQsIDQ2ODc2LCA0Njg4NiwgNDY4OTIsIDQ2ODk4LCAKLSAgICA0NjkwNCwgNDY5MTAsIDQ2OTE2LCA0NjkyMiwgNDY5MjcsIDQ2OTMwLCA0NjkzMywgNDY5MzYsIDQ2OTM4LCA0Njk0MCwgCi0gICAgNDY5NDQsIDQ2OTQ4LCA0Njk1MywgNDY5NTgsIDQ2OTYzLCA0Njk2NiwgNDY5NzAsIDQ2OTc1LCA0Njk3OCwgNDY5ODIsIAotICAgIDQ2OTg3LCA0Njk5MiwgNDY5OTcsIDQ3MDAyLCA0NzAwNywgNDcwMTIsIDQ3MDE3LCA0NzAyMiwgNDcwMjcsIDQ3MDMyLCAKLSAgICA0NzAzNywgNDcwNDIsIDQ3MDQ4LCA0NzA1NCwgNDcwNjAsIDQ3MDYyLCA0NzA2NSwgNDcwNjcsIDQ3MDcwLCA0NzA3MiwgCi0gICAgNDcwNzQsIDQ3MDc2LCA0NzA3OCwgNDcwODAsIDQ3MDgyLCA0NzA4NCwgNDcwODYsIDQ3MDg4LCA0NzA5MCwgNDcwOTIsIAotICAgIDQ3MDk0LCA0NzA5NiwgNDcwOTgsIDQ3MTAwLCA0NzEwMiwgNDcxMDQsIDQ3MTA5LCA0NzExNCwgNDcxMTksIDQ3MTI0LCAKLSAgICA0NzEyOSwgNDcxMzQsIDQ3MTM5LCA0NzE0NCwgNDcxNDksIDQ3MTU0LCA0NzE1OSwgNDcxNjQsIDQ3MTY5LCA0NzE3NCwgCi0gICAgNDcxNzksIDQ3MTg0LCA0NzE4OSwgNDcxOTQsIDQ3MTk5LCA0NzIwNCwgNDcyMDgsIDQ3MjEyLCA0NzIxNiwgNDcyMjIsIAotICAgIDQ3MjI4LCA0NzIzMywgNDcyMzgsIDQ3MjQzLCA0NzI0OCwgNDcyNTMsIDQ3MjU4LCA0NzI2NiwgNDcyNzQsIDQ3MjgyLCAKLSAgICA0NzI5MCwgNDcyOTgsIDQ3MzA2LCA0NzMxNCwgNDczMjIsIDQ3MzI4LCA0NzMzMywgNDczMzgsIDQ3MzQzLCA0NzM0NiwgCi0gICAgNDczNTAsIDQ3MzU0LCA0NzM1OCwgNDczNjIsIDQ3MzY2LCA0NzM3MCwgNDczNzcsIDQ3Mzg0LCA0NzM5MiwgNDc0MDAsIAotICAgIDQ3NDA1LCA0NzQxMCwgNDc0MTcsIDQ3NDI0LCA0NzQzMSwgNDc0MzgsIDQ3NDQxLCA0NzQ0NCwgNDc0NDksIDQ3NDUxLCAKLSAgICA0NzQ1NSwgNDc0NjAsIDQ3NDYyLCA0NzQ2NCwgNDc0NjYsIDQ3NDY4LCA0NzQ3MywgNDc0NzYsIDQ3NDc4LCA0NzQ4MywgCi0gICAgNDc0OTAsIDQ3NDk3LCA0NzUwMCwgNDc1MDQsIDQ3NTA5LCA0NzUxNCwgNDc1MjIsIDQ3NTI4LCA0NzUzNCwgNDc1NDYsIAotICAgIDQ3NTUzLCA0NzU2MCwgNDc1NjUsIDQ3NTcwLCA0NzU3NiwgNDc1NzksIDQ3NTgyLCA0NzU4NywgNDc1ODksIDQ3NTkzLCAKLSAgICA0NzU5NSwgNDc1OTcsIDQ3NTk5LCA0NzYwMSwgNDc2MDMsIDQ3NjA1LCA0NzYxMCwgNDc2MTIsIDQ3NjE0LCA0NzYxNiwgCi0gICAgNDc2MTgsIDQ3NjIyLCA0NzYyNCwgNDc2MjcsIDQ3NjMyLCA0NzYzNywgNDc2NDIsIDQ3NjQ3LCA0NzY1MywgNDc2NTksIAotICAgIDQ3NjYxLCA0NzY2NCwgNDc2NzEsIDQ3Njc4LCA0NzY4NSwgNDc2OTIsIDQ3Njk2LCA0NzcwMCwgNDc3MDIsIDQ3NzA0LCAKLSAgICA0NzcwOCwgNDc3MTQsIDQ3NzE5LCA0NzcyMSwgNDc3MjUsIDQ3NzM0LCA0Nzc0MiwgNDc3NTAsIDQ3NzU2LCA0Nzc2MiwgCi0gICAgNDc3NjcsIDQ3NzczLCA0Nzc3OCwgNDc3ODEsIDQ3Nzk1LCA0Nzc5OCwgNDc4MDMsIDQ3ODA4LCA0NzgxNCwgNDc4MjQsIAotICAgIDQ3ODI2LCA0NzgzMiwgNDc4MzgsIDQ3ODQyLCA0Nzg0OSwgNDc4NTMsIDQ3ODU1LCA0Nzg1NywgNDc4NjEsIDQ3ODY3LCAKLSAgICA0Nzg3MiwgNDc4NzgsIDQ3ODgwLCA0Nzg4NiwgNDc4ODgsIDQ3ODk0LCA0Nzg5NiwgNDc4OTgsIDQ3OTAzLCA0NzkwNSwgCi0gICAgNDc5MDksIDQ3OTE0LCA0NzkxNiwgNDc5MjEsIDQ3OTI2LCA0NzkzMCwgNDc5MzcsIDAsIDQ3OTQ3LCA0Nzk1MywgNDc5NTYsIAotICAgIDQ3OTYyLCA0Nzk2NSwgNDc5NzAsIDQ3OTc1LCA0Nzk3OSwgNDc5ODEsIDQ3OTgzLCA0Nzk4NywgNDc5OTEsIDQ3OTk1LCAKLSAgICA0Nzk5OSwgNDgwMDQsIDQ4MDA2LCA0ODAxMSwgNDgwMTQsIDQ4MDE3LCA0ODAyMCwgNDgwMjQsIDQ4MDI4LCA0ODAzMywgCi0gICAgNDgwMzcsIDQ4MDQyLCA0ODA0NywgNDgwNTEsIDQ4MDU2LCA0ODA2MiwgNDgwNjUsIDQ4MDcxLCA0ODA3NiwgNDgwODAsIAotICAgIDQ4MDg1LCA0ODA5MSwgNDgwOTcsIDQ4MTA0LCA0ODExMCwgNDgxMTcsIDQ4MTI0LCA0ODEyNiwgNDgxMzMsIDQ4MTM3LCAKLSAgICA0ODE0MywgNDgxNDksIDQ4MTU0LCA0ODE2MCwgNDgxNjQsIDQ4MTY5LCA0ODE3MiwgNDgxNzcsIDQ4MTgzLCA0ODE5MCwgCi0gICAgNDgxOTgsIDQ4MjA1LCA0ODIxNCwgNDgyMjQsIDQ4MjMxLCA0ODIzNywgNDgyNDEsIDQ4MjQ4LCA0ODI1MywgNDgyNjIsIAotICAgIDQ4MjY1LCA0ODI2OCwgNDgyNzcsIDQ4Mjg3LCA0ODI5NCwgNDgyOTYsIDQ4MzAyLCA0ODMwNywgNDgzMDksIDQ4MzEyLCAKLSAgICA0ODMxNiwgNDgzMjQsIDQ4MzMzLCA0ODMzNiwgNDgzNDEsIDQ4MzQ2LCA0ODM1NCwgNDgzNjIsIDQ4MzcwLCA0ODM3OCwgCi0gICAgNDgzODQsIDQ4MzkwLCA0ODM5NiwgNDg0MDQsIDQ4NDA5LCA0ODQxMiwgNDg0MTYsIDQ4NDE5LCA0ODQzMSwgNDg0NDEsIAotICAgIDQ4NDUyLCA0ODQ2MSwgNDg0NzIsIDQ4NDgyLCA0ODQ5MSwgNDg0OTcsIDQ4NTA1LCA0ODUwOSwgNDg1MTcsIDQ4NTIxLCAKLSAgICA0ODUyOSwgNDg1MzYsIDQ4NTQzLCA0ODU1MiwgNDg1NjEsIDQ4NTcxLCA0ODU4MSwgNDg1OTEsIDQ4NjAxLCA0ODYxMCwgCi0gICAgNDg2MTksIDQ4NjI5LCA0ODYzOSwgNDg2NDgsIDQ4NjU3LCA0ODY2MywgNDg2NjksIDQ4Njc1LCA0ODY4MSwgNDg2ODcsIAotICAgIDQ4NjkzLCA0ODY5OSwgNDg3MDUsIDQ4NzExLCA0ODcxOCwgNDg3MjQsIDQ4NzMwLCA0ODczNiwgNDg3NDIsIDQ4NzQ4LCAKLSAgICA0ODc1NCwgNDg3NjAsIDQ4NzY2LCA0ODc3MiwgNDg3NzksIDQ4Nzg2LCA0ODc5MywgNDg4MDAsIDQ4ODA3LCA0ODgxNCwgCi0gICAgNDg4MjEsIDQ4ODI4LCA0ODgzNSwgNDg4NDIsIDQ4ODUwLCA0ODg1NSwgNDg4NTgsIDQ4ODYyLCA0ODg2NiwgNDg4NzIsIAotICAgIDQ4ODc1LCA0ODg4MSwgNDg4ODcsIDQ4ODkyLCA0ODg5NiwgNDg5MDEsIDQ4OTA3LCA0ODkxNCwgNDg5MTcsIDQ4OTI0LCAKLSAgICA0ODkzMSwgNDg5MzUsIDQ4OTQ0LCA0ODk1MywgNDg5NTgsIDQ4OTY0LCA0ODk2OSwgNDg5NzQsIDQ4OTgxLCA0ODk4OCwgCi0gICAgNDg5OTYsIDQ5MDA0LCA0OTAxMywgNDkwMTcsIDQ5MDI2LCA0OTAzMSwgNDkwMzUsIDQ5MDQyLCA0OTA0NiwgNDkwNTMsIAotICAgIDQ5MDYxLCA0OTA2NiwgNDkwNzQsIDQ5MDc4LCA0OTA4MywgNDkwODcsIDQ5MDkyLCA0OTA5NiwgNDkxMDEsIDQ5MTA2LCAKLSAgICA0OTExNSwgNDkxMTcsIDQ5MTIwLCA0OTEyMywgNDkxMzAsIDQ5MTM3LCA0OTE0MiwgNDkxNTAsIDQ5MTU2LCA0OTE2MiwgCi0gICAgNDkxNjcsIDQ5MTcwLCA0OTE3NSwgNDkxODAsIDQ5MTg1LCA0OTE5MywgNDkxOTcsIDQ5MjA0LCA0OTIxMiwgNDkyMjAsIAotICAgIDQ5MjI1LCA0OTIzMCwgNDkyMzYsIDQ5MjQxLCA0OTI0NiwgNDkyNTIsIDQ5MjU3LCA0OTI2MCwgNDkyNjQsIDQ5MjY4LCAKLSAgICA0OTI3NSwgNDkyODQsIDQ5Mjg5LCA0OTI5OCwgNDkzMDcsIDQ5MzEzLCA0OTMxOSwgNDkzMjQsIDQ5MzI5LCA0OTMzNCwgCi0gICAgNDkzMzksIDQ5MzQ1LCA0OTM1MSwgNDkzNTksIDQ5MzY3LCA0OTM3MywgNDkzNzksIDQ5Mzg0LCA0OTM4OSwgNDkzOTYsIAotICAgIDQ5NDAzLCA0OTQwOSwgNDk0MTIsIDQ5NDE1LCA0OTQxOSwgNDk0MjMsIDQ5NDI3LCA0OTQzMiwgNDk0MzgsIDQ5NDQ0LCAKLSAgICA0OTQ1MSwgNDk0NTgsIDQ5NDYzLCA0OTQ2NywgNDk0NzEsIDQ5NDc1LCA0OTQ3OSwgNDk0ODMsIDQ5NDg3LCA0OTQ5MSwgCi0gICAgNDk0OTUsIDQ5NDk5LCA0OTUwMywgNDk1MDcsIDQ5NTExLCA0OTUxNSwgNDk1MTksIDQ5NTIzLCA0OTUyNywgNDk1MzEsIAotICAgIDQ5NTM1LCA0OTUzOSwgNDk1NDMsIDQ5NTQ3LCA0OTU1MSwgNDk1NTUsIDQ5NTU5LCA0OTU2MywgNDk1NjcsIDQ5NTcxLCAKLSAgICA0OTU3NSwgNDk1NzksIDQ5NTgzLCA0OTU4NywgNDk1OTEsIDQ5NTk1LCA0OTU5OSwgNDk2MDMsIDQ5NjA3LCA0OTYxMSwgCi0gICAgNDk2MTUsIDQ5NjE5LCA0OTYyMywgNDk2MjcsIDQ5NjMxLCA0OTYzNSwgNDk2MzksIDQ5NjQzLCA0OTY0NywgNDk2NTEsIAotICAgIDQ5NjU1LCA0OTY1OSwgNDk2NjMsIDQ5NjY3LCA0OTY3MSwgNDk2NzUsIDQ5Njc5LCA0OTY4MywgNDk2ODcsIDQ5NjkxLCAKLSAgICA0OTY5NSwgNDk2OTksIDQ5NzAzLCA0OTcwNywgNDk3MTEsIDQ5NzE1LCA0OTcxOSwgNDk3MjMsIDQ5NzI3LCA0OTczMSwgCi0gICAgNDk3MzUsIDQ5NzM5LCA0OTc0MywgNDk3NDcsIDQ5NzUxLCA0OTc1NSwgNDk3NTksIDQ5NzYzLCA0OTc2NywgNDk3NzEsIAotICAgIDQ5Nzc1LCA0OTc3OSwgNDk3ODMsIDQ5Nzg3LCA0OTc5MSwgNDk3OTUsIDQ5Nzk5LCA0OTgwMywgNDk4MDcsIDQ5ODExLCAKLSAgICA0OTgxNSwgNDk4MTksIDQ5ODIzLCA0OTgyNywgNDk4MzEsIDQ5ODM1LCA0OTgzOSwgNDk4NDMsIDQ5ODQ3LCA0OTg1MSwgCi0gICAgNDk4NTUsIDQ5ODU5LCA0OTg2MywgNDk4NjcsIDQ5ODcxLCA0OTg3NSwgNDk4NzksIDQ5ODgzLCA0OTg4NywgNDk4OTEsIAotICAgIDQ5ODk1LCA0OTg5OSwgNDk5MDMsIDQ5OTA3LCA0OTkxMSwgNDk5MTUsIDQ5OTE5LCA0OTkyMywgNDk5MjcsIDQ5OTMxLCAKLSAgICA0OTkzNSwgNDk5MzksIDQ5OTQzLCA0OTk0NywgNDk5NTEsIDQ5OTU1LCA0OTk1OSwgNDk5NjMsIDQ5OTY3LCA0OTk3MSwgCi0gICAgNDk5NzUsIDQ5OTc5LCA0OTk4MywgNDk5ODcsIDQ5OTkxLCA0OTk5NSwgNDk5OTksIDUwMDAzLCA1MDAwNywgNTAwMTEsIAotICAgIDUwMDE1LCA1MDAxOSwgNTAwMjMsIDUwMDI3LCA1MDAzMSwgNTAwMzUsIDUwMDM5LCA1MDA0MywgNTAwNDcsIDUwMDUxLCAKLSAgICA1MDA1NSwgNTAwNTksIDUwMDYzLCA1MDA2NywgNTAwNzEsIDUwMDc1LCA1MDA3OSwgNTAwODMsIDUwMDg3LCA1MDA5MSwgCi0gICAgNTAwOTUsIDUwMDk5LCA1MDEwMywgNTAxMDcsIDUwMTExLCA1MDExNSwgNTAxMTksIDUwMTIzLCA1MDEyNywgNTAxMzEsIAotICAgIDUwMTM1LCA1MDEzOSwgNTAxNDMsIDUwMTQ3LCA1MDE1MSwgNTAxNTUsIDUwMTU5LCA1MDE2MywgNTAxNjcsIDUwMTcxLCAKLSAgICA1MDE3NSwgNTAxNzksIDUwMTgzLCA1MDE4NywgNTAxOTEsIDUwMTk1LCA1MDE5OSwgNTAyMDMsIDUwMjA3LCA1MDIxMSwgCi0gICAgNTAyMTUsIDUwMjE5LCA1MDIyMywgNTAyMjcsIDUwMjMxLCA1MDIzNSwgNTAyMzksIDUwMjQzLCA1MDI0NywgNTAyNTEsIAotICAgIDUwMjU1LCA1MDI1OSwgNTAyNjMsIDUwMjY3LCA1MDI3MSwgNTAyNzUsIDUwMjc5LCA1MDI4MywgNTAyODcsIDUwMjkxLCAKLSAgICA1MDI5NSwgNTAyOTksIDUwMzAzLCA1MDMwNywgNTAzMTEsIDUwMzE1LCA1MDMxOSwgNTAzMjMsIDUwMzI3LCA1MDMzMSwgCi0gICAgNTAzMzUsIDUwMzM5LCA1MDM0MywgNTAzNDcsIDUwMzUxLCA1MDM1NSwgNTAzNTksIDUwMzYzLCA1MDM2NywgNTAzNzEsIAotICAgIDUwMzc1LCA1MDM3OSwgNTAzODMsIDUwMzg3LCA1MDM5MSwgNTAzOTUsIDUwMzk5LCA1MDQwMywgNTA0MDcsIDUwNDExLCAKLSAgICA1MDQxNSwgNTA0MTksIDUwNDIzLCA1MDQyNywgNTA0MzEsIDUwNDM1LCA1MDQzOSwgNTA0NDMsIDUwNDQ3LCA1MDQ1MSwgCi0gICAgNTA0NTUsIDUwNDU5LCA1MDQ2MywgNTA0NjcsIDUwNDcxLCA1MDQ3NSwgNTA0NzksIDUwNDgzLCA1MDQ4NywgNTA0OTQsIAotICAgIDUwNTAyLCA1MDUwOCwgNTA1MTQsIDUwNTIxLCA1MDUyOCwgNTA1MzQsIDUwNTQwLCA1MDU0NiwgNTA1NTIsIDUwNTU3LCAKLSAgICA1MDU2MiwgNTA1NjcsIDUwNTcyLCA1MDU3OCwgNTA1ODQsIDUwNTkyLCA1MDU5OSwgNTA2MDUsIDUwNjExLCA1MDYxOSwgCi0gICAgNTA2MjgsIDUwNjM1LCA1MDY0NSwgNTA2NTYsIDUwNjU5LCA1MDY2MiwgNTA2NjYsIDUwNjcwLCA1MDY3NywgNTA2ODQsIAotICAgIDUwNjk1LCA1MDcwNiwgNTA3MTYsIDUwNzI2LCA1MDczMywgNTA3NDAsIDUwNzQ3LCA1MDc1NCwgNTA3NjUsIDUwNzc2LCAKLSAgICA1MDc4NywgNTA3OTgsIDUwODA4LCA1MDgxOCwgNTA4MzAsIDUwODQyLCA1MDg1MywgNTA4NjQsIDUwODc2LCA1MDg4OCwgCi0gICAgNTA4OTcsIDUwOTA3LCA1MDkxNywgNTA5MjgsIDUwOTM5LCA1MDk0NiwgNTA5NTMsIDUwOTYwLCA1MDk2NywgNTA5NzcsIAotICAgIDUwOTg3LCA1MDk5NSwgNTEwMDMsIDUxMDEwLCA1MTAxNywgNTEwMjQsIDUxMDMxLCA1MTAzOCwgNTEwNDMsIDUxMDQ4LCAKLSAgICA1MTA1NCwgNTEwNjIsIDUxMDcyLCA1MTA4MiwgNTEwOTIsIDUxMTAyLCA1MTExMiwgNTExMjIsIDUxMTMyLCA1MTE0MiwgCi0gICAgNTExNTIsIDUxMTYyLCA1MTE3MiwgNTExODMsIDUxMTk0LCA1MTIwNCwgNTEyMTQsIDUxMjI1LCA1MTIzNiwgNTEyNDYsIAotICAgIDUxMjU2LCA1MTI2NywgNTEyNzgsIDUxMjg4LCA1MTI5OCwgNTEzMDksIDUxMzIwLCA1MTMzNiwgNTEzNTUsIDUxMzcxLCAKLSAgICA1MTM5MCwgNTE0MDYsIDUxNDIyLCA1MTQzOCwgNTE0NTQsIDUxNDY1LCA1MTQ3NywgNTE0ODgsIDUxNTAwLCA1MTUxOSwgCi0gICAgNTE1MzgsIDUxNTQ2LCA1MTU1MiwgNTE1NTksIDUxNTY2LCA1MTU3MywgNTE1ODAsIDUxNTg1LCA1MTU5MSwgNTE1OTYsIAotICAgIDUxNjAxLCA1MTYwNywgNTE2MTIsIDUxNjE3LCA1MTYyMiwgNTE2MjcsIDUxNjMyLCA1MTYzOSwgNTE2NDQsIDUxNjUxLCAKLSAgICA1MTY1NiwgNTE2NjEsIDUxNjY1LCA1MTY2OSwgNTE2NzYsIDUxNjgzLCA1MTY5MCwgNTE2OTcsIDUxNzA0LCA1MTcxMSwgCi0gICAgNTE3MjQsIDUxNzM3LCA1MTc1MCwgNTE3NjMsIDUxNzcxLCA1MTc3OSwgNTE3ODUsIDUxNzkxLCA1MTc5OCwgNTE4MDUsIAotICAgIDUxODEyLCA1MTgxOSwgNTE4MjMsIDUxODI4LCA1MTgzNiwgNTE4NDQsIDUxODUyLCA1MTg1OSwgNTE4NjMsIDUxODcxLCAKLSAgICA1MTg3OSwgNTE4ODMsIDUxODg3LCA1MTg5MiwgNTE4OTksIDUxOTA3LCA1MTkxNSwgNTE5MzQsIDUxOTUzLCA1MTk3MiwgCi0gICAgNTE5OTEsIDUyMDEwLCA1MjAyOSwgNTIwNDgsIDUyMDY3LCA1MjA3MywgNTIwODAsIDUyMDg5LCA1MjA5NywgNTIxMDUsIAotICAgIDUyMTEwLCA1MjExMywgNTIxMTYsIDUyMTIxLCA1MjEyNCwgNTIxNDMsIDUyMTUwLCA1MjE1NiwgNTIxNjIsIDUyMTY2LCAKLSAgICA1MjE2OSwgNTIxNzIsIDUyMTc1LCA1MjE4NywgNTIyMDAsIDUyMjA3LCA1MjIxNCwgNTIyMTcsIDUyMjIxLCA1MjIyNCwgCi0gICAgNTIyMjksIDUyMjM0LCA1MjIzOSwgNTIyNDUsIDUyMjU0LCA1MjI2MSwgNTIyNjgsIDUyMjc2LCA1MjI4MywgNTIyOTAsIAotICAgIDUyMjkzLCA1MjI5OSwgNTIzMDUsIDUyMzA4LCA1MjMxMSwgNTIzMTYsIDUyMzIxLCA1MjMyNywgNTIzMzMsIDUyMzM3LCAKLSAgICA1MjM0MiwgNTIzNDksIDUyMzUzLCA1MjM1OSwgNTIzNjMsIDUyMzY3LCA1MjM3NSwgNTIzODcsIDUyMzk2LCA1MjQwMCwgCi0gICAgNTI0MDIsIDUyNDExLCA1MjQyMCwgNTI0MjYsIDUyNDI5LCA1MjQzNSwgNTI0NDEsIDUyNDQ2LCA1MjQ1MSwgNTI0NTYsIAotICAgIDUyNDYxLCA1MjQ2NiwgNTI0NzEsIDUyNDczLCA1MjQ3OSwgNTI0ODQsIDUyNDkxLCA1MjQ5NSwgNTI1MDEsIDUyNTA0LCAKLSAgICA1MjUwOCwgNTI1MTUsIDUyNTIyLCA1MjUyNCwgNTI1MjYsIDUyNTMyLCA1MjUzOCwgNTI1NDQsIDUyNTUzLCA1MjU2MiwgCi0gICAgNTI1NjksIDUyNTc2LCA1MjU4MiwgNTI1ODgsIDUyNTkzLCA1MjU5OCwgNTI2MDMsIDUyNjA5LCA1MjYxNSwgNTI2MjAsIAotICAgIDUyNjI3LCA1MjYzMSwgNTI2MzUsIDUyNjQ4LCA1MjY2MSwgNTI2NzMsIDUyNjgyLCA1MjY4OCwgNTI2OTUsIDUyNzAwLCAKLSAgICA1MjcwNSwgNTI3MTAsIDUyNzE1LCA1MjcyMCwgNTI3MjIsIDUyNzI5LCA1MjczNiwgNTI3NDMsIDUyNzUwLCA1Mjc1NywgCi0gICAgNTI3NjUsIDUyNzcxLCA1Mjc3NiwgNTI3ODIsIDUyNzg4LCA1Mjc5NCwgNTI4MDEsIDUyODA3LCA1MjgxNSwgNTI4MjMsIAotICAgIDUyODMxLCA1MjgzOSwgNTI4NDYsIDUyODUyLCA1Mjg1OCwgNTI4NjcsIDUyODcxLCA1Mjg4MCwgNTI4ODksIDUyODk4LCAKLSAgICA1MjkwNiwgNTI5MTAsIDUyOTE2LCA1MjkyMywgNTI5MzAsIDUyOTM0LCA1Mjk0MCwgNTI5NDcsIDUyOTUyLCA1Mjk1NywgCi0gICAgNTI5NjMsIDUyOTY4LCA1Mjk3MywgNTI5ODAsIDUyOTg3LCA1Mjk5MiwgNTI5OTcsIDUzMDA1LCA1MzAxMywgNTMwMjMsIAotICAgIDUzMDMzLCA1MzA0MCwgNTMwNDcsIDUzMDUxLCA1MzA1NSwgNTMwNjcsIDUzMDczLCA1MzA3OSwgNTMwODQsIDUzMDg5LCAKLSAgICA1MzA5NiwgNTMxMDMsIDUzMTA5LCA1MzExNSwgNTMxMjQsIDUzMTMyLCA1MzE0MCwgNTMxNDcsIDUzMTU0LCA1MzE2MSwgCi0gICAgNTMxNjcsIDUzMTc0LCA1MzE4MCwgNTMxODcsIDUzMTk0LCA1MzIwMSwgNTMyMDgsIDUzMjE0LCA1MzIxOSwgNTMyMjgsIAotICAgIDUzMjM4LCA1MzI0NSwgNTMyNTQsIDUzMjYwLCA1MzI2NSwgNTMyNzAsIDUzMjgwLCA1MzI4NiwgNTMyOTIsIDUzMjk4LCAKLSAgICA1MzMwNiwgNTMzMTEsIDUzMzE4LCA1MzMyNSwgNTMzMzYsIDUzMzQzLCA1MzM1MCwgNTMzNTcsIDUzMzY0LCA1MzM3MSwgCi0gICAgNTMzNzgsIDUzMzg1LCA1MzM5NywgNTM0MDksIDUzNDIwLCA1MzQzMSwgNTM0NDQsIDUzNDU3LCA1MzQ2MiwgNTM0NjcsIAotICAgIDUzNDc2LCA1MzQ4NSwgNTM0OTIsIDUzNDk5LCA1MzUwOCwgNTM1MTcsIDUzNTI1LCA1MzUzMywgNTM1NDEsIDUzNTQ5LCAKLSAgICA1MzU1OSwgNTM1NjksIDUzNTgzLCA1MzU5NywgNTM2MDUsIDUzNjEzLCA1MzYyNSwgNTM2MzcsIDUzNjQ1LCA1MzY1MywgCi0gICAgNTM2NjMsIDUzNjczLCA1MzY3OCwgNTM2ODMsIDUzNjkyLCA1MzcwMSwgNTM3MDYsIDUzNzExLCA1MzcxOSwgNTM3MjUsIAotICAgIDUzNzMxLCA1MzczOSwgNTM3NDcsIDUzNzYwLCA1Mzc3MywgNTM3NzcsIDUzNzgxLCA1Mzc4OCwgNTM3OTUsIDUzODAyLCAKLSAgICA1MzgxMCwgNTM4MTgsIDUzODI3LCA1MzgzNiwgNTM4NDIsIDUzODQ4LCA1Mzg1NSwgNTM4NjIsIDUzODY5LCA1Mzg3NiwgCi0gICAgNTM4ODUsIDUzODk0LCA1Mzg5NywgNTM5MDAsIDUzOTA1LCA1MzkxMCwgNTM5MTYsIDUzOTIyLCA1MzkyOSwgNTM5MzYsIAotICAgIDUzOTQ2LCA1Mzk1NiwgNTM5NjMsIDUzOTcwLCA1Mzk3OCwgNTM5ODYsIDUzOTk0LCA1NDAwMiwgNTQwMTAsIDU0MDE4LCAKLSAgICA1NDAyNCwgNTQwMzAsIDU0MDM0LCA1NDAzOCwgNTQwNDUsIDU0MDUyLCA1NDA1NywgNTQwNjIsIDU0MDY3LCA1NDA3MiwgCi0gICAgNTQwNzgsIDU0MDkyLCA1NDA5OSwgNTQxMDYsIDU0MTEwLCA1NDExMiwgNTQxMTQsIDU0MTE5LCA1NDEyNCwgNTQxMjksIAotICAgIDU0MTM0LCA1NDE0MiwgNTQxNDksIDU0MTU2LCA1NDE2NCwgNTQxNzYsIDU0MTg0LCA1NDE5MiwgNTQyMDMsIDU0MjA3LCAKLSAgICA1NDIxMSwgNTQyMTcsIDU0MjI1LCA1NDIzOCwgNTQyNDUsIDU0MjUyLCA1NDI1OSwgNTQyNjQsIDU0MjcxLCA1NDI4MCwgCi0gICAgNTQyODgsIDU0Mjk0LCA1NDMwMCwgNTQzMDYsIDU0MzE1LCA1NDMyNCwgNTQzMzIsIDU0MzQxLCA1NDM0NiwgNTQzNDksIAotICAgIDU0MzU0LCA1NDM2MCwgNTQzNjYsIDU0MzcyLCA1NDM3OCwgNTQzODIsIDU0Mzg1LCA1NDM4OSwgNTQzOTMsIDU0Mzk5LCAKLSAgICA1NDQwNSwgNTQ0MTEsIDU0NDE3LCA1NDQyMSwgNTQ0MjUsIDU0NDMyLCA1NDQzOSwgNTQ0NDYsIDU0NDUzLCA1NDQ2MCwgCi0gICAgNTQ0NjcsIDU0NDc3LCA1NDQ4NywgNTQ0OTQsIDU0NTAxLCA1NDUwOSwgNTQ1MTcsIDU0NTIxLCA1NDUyNiwgNTQ1MzEsIAotICAgIDU0NTM3LCA1NDU0MywgNTQ1NDYsIDU0NTQ5LCA1NDU1MiwgNTQ1NTUsIDU0NTU5LCA1NDU2NCwgNTQ1NjksIDU0NTc0LCAKLSAgICA1NDU3OSwgNTQ1ODQsIDU0NTg4LCA1NDU5MiwgNTQ1OTYsIDU0NjAwLCA1NDYwNCwgNTQ2MDgsIDU0NjEyLCA1NDYxOCwgCi0gICAgNTQ2MjIsIDU0NjI4LCA1NDYzMywgNTQ2NDAsIDU0NjQ4LCA1NDY1NSwgNTQ2NjMsIDU0NjcwLCA1NDY3OCwgNTQ2ODcsIAotICAgIDU0Njk0LCA1NDcwNCwgNTQ3MTUsIDU0NzIxLCA1NDczMCwgNTQ3MzYsIDU0NzQ1LCA1NDc1NCwgNTQ3NjAsIDU0NzY2LCAKLSAgICA1NDc3MCwgNTQ3NzQsIDU0NzgzLCA1NDc5MiwgNTQ3OTksIDU0ODA2LCA1NDgxNSwgMCwgMCwgMCwgNTQ4MjQsIDU0ODI5LCAKLSAgICA1NDgzMywgNTQ4MzcsIDU0ODQyLCA1NDg0NywgNTQ4NTIsIDU0ODYwLCA1NDg2OCwgNTQ4NzEsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDc4NjU4LCAKKyAgICA3ODY2NSwgNzg2NzIsIDc4Njc5LCA3ODY4NiwgNzg2OTIsIDc4Njk4LCA3ODcwNSwgNzg3MTIsIDc4NzE5LCA3ODcyNiwgCisgICAgNzg3MzMsIDc4NzQwLCA3ODc0NywgNzg3NTQsIDc4NzYxLCA3ODc2NywgNzg3NzQsIDc4NzgxLCA3ODc4OCwgNzg3OTUsIAorICAgIDc4ODAyLCA3ODgwOSwgNzg4MTYsIDc4ODIzLCA3ODgzMCwgNzg4MzcsIDc4ODQ0LCA3ODg1MywgNzg4NjIsIDc4ODcxLCAKKyAgICA3ODg4MCwgNzg4ODksIDc4ODk4LCA3ODkwNywgNzg5MTYsIDc4OTI0LCA3ODkzMiwgNzg5NDAsIDc4OTQ4LCA3ODk1NiwgCisgICAgNzg5NjQsIDc4OTcyLCA3ODk4MCwgNzg5ODYsIDc4OTk0LCAwLCAwLCA3OTAwMiwgNzkwMDksIDc5MDE1LCA3OTAyMSwgCisgICAgNzkwMjcsIDc5MDMzLCA3OTAzOSwgNzkwNDUsIDc5MDUxLCA3OTA1NywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTQ4NzUsIDU0ODgwLCA1NDg4NSwgCi0gICAgNTQ4OTAsIDU0ODk1LCA1NDkwMCwgNTQ5MDUsIDU0OTEwLCA1NDkxNSwgNTQ5MjAsIDU0OTI1LCA1NDkzMSwgNTQ5MzUsIAotICAgIDU0OTQwLCA1NDk0NSwgNTQ5NTAsIDU0OTU1LCA1NDk2MCwgNTQ5NjUsIDU0OTcwLCA1NDk3NSwgNTQ5ODAsIDU0OTg1LCAKLSAgICA1NDk5MCwgNTQ5OTUsIDU1MDAwLCA1NTAwNSwgNTUwMTAsIDU1MDE1LCA1NTAyMCwgNTUwMjUsIDU1MDMwLCA1NTAzNSwgCi0gICAgNTUwNDAsIDU1MDQ1LCA1NTA1MSwgNTUwNTYsIDU1MDYyLCA1NTA3MSwgNTUwNzYsIDU1MDg0LCA1NTA5MSwgNTUxMDAsIAotICAgIDU1MTA1LCA1NTExMCwgNTUxMTUsIDU1MTIxLCAwLCA1NTEyOCwgNTUxMzMsIDU1MTM4LCA1NTE0MywgNTUxNDgsIDU1MTUzLCAKLSAgICA1NTE1OCwgNTUxNjMsIDU1MTY4LCA1NTE3MywgNTUxNzgsIDU1MTg0LCA1NTE4OCwgNTUxOTMsIDU1MTk4LCA1NTIwMywgCi0gICAgNTUyMDgsIDU1MjEzLCA1NTIxOCwgNTUyMjMsIDU1MjI4LCA1NTIzMywgNTUyMzgsIDU1MjQzLCA1NTI0OCwgNTUyNTMsIAotICAgIDU1MjU4LCA1NTI2MywgNTUyNjgsIDU1MjczLCA1NTI3OCwgNTUyODMsIDU1Mjg4LCA1NTI5MywgNTUyOTgsIDU1MzA0LCAKLSAgICA1NTMwOSwgNTUzMTUsIDU1MzI0LCA1NTMyOSwgNTUzMzcsIDU1MzQ0LCA1NTM1MywgNTUzNTgsIDU1MzYzLCA1NTM2OCwgCi0gICAgNTUzNzQsIDAsIDU1MzgxLCA1NTM4OSwgNTUzOTcsIDU1NDA2LCA1NTQxMywgNTU0MjEsIDU1NDI3LCA1NTQzNiwgNTU0NDQsIAotICAgIDU1NDUyLCA1NTQ2MCwgNTU0NjgsIDU1NDc2LCA1NTQ4NCwgNTU0ODksIDU1NDk2LCA1NTUwMiwgNTU1MDksIDU1NTE3LCAKLSAgICA1NTUyNCwgNTU1MzEsIDU1NTM5LCA1NTU0NSwgNTU1NTEsIDU1NTU4LCA1NTU2NSwgNTU1NzUsIDU1NTg1LCA1NTU5MiwgCi0gICAgNTU1OTksIDU1NjA0LCA1NTYxNCwgNTU2MjQsIDU1NjI5LCA1NTYzNCwgNTU2MzksIDU1NjQ0LCA1NTY0OSwgNTU2NTQsIAotICAgIDU1NjU5LCA1NTY2NCwgNTU2NjksIDU1Njc0LCA1NTY3OSwgNTU2ODQsIDU1Njg5LCA1NTY5NCwgNTU2OTksIDU1NzA0LCAKLSAgICA1NTcwOSwgNTU3MTQsIDU1NzE5LCA1NTcyNCwgNTU3MjksIDU1NzM0LCA1NTczOSwgNTU3NDQsIDU1NzQ5LCA1NTc1NCwgCi0gICAgNTU3NTksIDU1NzY0LCA1NTc2OSwgNTU3NzQsIDU1Nzc4LCA1NTc4MiwgNTU3ODcsIDU1NzkyLCA1NTc5NywgNTU4MDIsIAotICAgIDU1ODA3LCA1NTgxMiwgNTU4MTcsIDU1ODIyLCA1NTgyNywgNTU4MzIsIDU1ODM3LCA1NTg0MiwgNTU4NDcsIDU1ODUyLCAKLSAgICA1NTg1NywgNTU4NjIsIDU1ODY3LCA1NTg3MiwgNTU4NzksIDU1ODg2LCA1NTg5MywgNTU5MDAsIDU1OTA3LCA1NTkxNCwgCi0gICAgNTU5MjEsIDU1OTI4LCA1NTkzNSwgNTU5NDIsIDU1OTQ5LCA1NTk1NiwgNTU5NjMsIDU1OTcwLCA1NTk3NSwgNTU5ODAsIAotICAgIDU1OTg3LCA1NTk5NCwgNTYwMDEsIDU2MDA4LCA1NjAxNSwgNTYwMjIsIDU2MDI5LCA1NjAzNiwgNTYwNDMsIDU2MDUwLCAKLSAgICA1NjA1NywgNTYwNjQsIDU2MDcwLCA1NjA3NiwgNTYwODIsIDU2MDg4LCA1NjA5NSwgNTYxMDIsIDU2MTA5LCA1NjExNiwgCi0gICAgNTYxMjMsIDU2MTMwLCA1NjEzNywgNTYxNDQsIDU2MTUxLCA1NjE1OCwgNTYxNjYsIDU2MTc0LCA1NjE4MiwgNTYxOTAsIAotICAgIDU2MTk4LCA1NjIwNiwgNTYyMTQsIDU2MjIyLCA1NjIyNiwgNTYyMzIsIDU2MjM4LCA1NjI0MiwgNTYyNDgsIDU2MjU0LCAKLSAgICA1NjI2MCwgNTYyNjcsIDU2Mjc0LCA1NjI4MSwgNTYyODgsIDU2MjkzLCA1NjI5OSwgNTYzMDUsIDU2MzEyLCAwLCAwLCAwLCAKLSAgICAwLCAwLCA1NjMxOSwgNTYzMjcsIDU2MzM2LCA1NjM0NSwgNTYzNTMsIDU2MzU5LCA1NjM2NCwgNTYzNjksIDU2Mzc0LCAKLSAgICA1NjM3OSwgNTYzODQsIDU2Mzg5LCA1NjM5NCwgNTYzOTksIDU2NDA0LCA1NjQwOSwgNTY0MTQsIDU2NDE5LCA1NjQyNCwgCi0gICAgNTY0MjksIDU2NDM0LCA1NjQzOSwgNTY0NDQsIDU2NDQ5LCA1NjQ1NCwgNTY0NTksIDU2NDY0LCA1NjQ2OSwgNTY0NzQsIAotICAgIDU2NDc5LCA1NjQ4NCwgNTY0ODksIDU2NDk0LCA1NjQ5OSwgNTY1MDQsIDU2NTA5LCA1NjUxNCwgNTY1MTksIDU2NTI0LCAKLSAgICA1NjUyOSwgNTY1MzQsIDU2NTM5LCA1NjU0NCwgNTY1NDksIDU2NTU0LCAwLCA1NjU1OSwgMCwgMCwgMCwgMCwgMCwgNTY1NjQsIAotICAgIDAsIDAsIDU2NTY5LCA1NjU3MywgNTY1NzgsIDU2NTgzLCA1NjU4OCwgNTY1OTMsIDU2NjAyLCA1NjYwNywgNTY2MTIsIAotICAgIDU2NjE3LCA1NjYyMiwgNTY2MjcsIDU2NjMyLCA1NjYzNywgNTY2NDIsIDU2NjQ5LCA1NjY1NCwgNTY2NTksIDU2NjY4LCAKLSAgICA1NjY3NSwgNTY2ODAsIDU2Njg1LCA1NjY5MCwgNTY2OTcsIDU2NzAyLCA1NjcwOSwgNTY3MTQsIDU2NzE5LCA1NjcyNiwgCi0gICAgNTY3MzMsIDU2NzM4LCA1Njc0MywgNTY3NDgsIDU2NzU1LCA1Njc2MiwgNTY3NjcsIDU2NzcyLCA1Njc3NywgNTY3ODIsIAotICAgIDU2Nzg3LCA1Njc5NCwgNTY4MDEsIDU2ODA2LCA1NjgxMSwgNTY4MTYsIDU2ODIxLCA1NjgyNiwgNTY4MzEsIDU2ODM2LCAKLSAgICA1Njg0MSwgNTY4NDYsIDU2ODUxLCA1Njg1NiwgNTY4NjMsIDU2ODY4LCA1Njg3MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgNTY4NzgsIDU2ODg1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1Njg5MCwgNTY4OTUsIAotICAgIDU2ODk5LCA1NjkwMywgNTY5MDcsIDU2OTExLCA1NjkxNSwgNTY5MTksIDU2OTIzLCA1NjkyNywgNTY5MzEsIDU2OTM1LCAKLSAgICA1Njk0MSwgNTY5NDUsIDU2OTQ5LCA1Njk1MywgNTY5NTcsIDU2OTYxLCA1Njk2NSwgNTY5NjksIDU2OTczLCA1Njk3NywgCi0gICAgNTY5ODEsIDU2OTg1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1Njk4OSwgNTY5OTMsIDU2OTk3LCA1NzAwMSwgCi0gICAgNTcwMDUsIDU3MDA5LCA1NzAxMywgMCwgNTcwMTcsIDU3MDIxLCA1NzAyNSwgNTcwMjksIDU3MDMzLCA1NzAzNywgNTcwNDEsIAotICAgIDAsIDU3MDQ1LCA1NzA0OSwgNTcwNTMsIDU3MDU3LCA1NzA2MSwgNTcwNjUsIDU3MDY5LCAwLCA1NzA3MywgNTcwNzcsIAotICAgIDU3MDgxLCA1NzA4NSwgNTcwODksIDU3MDkzLCA1NzA5NywgMCwgNTcxMDEsIDU3MTA1LCA1NzEwOSwgNTcxMTMsIDU3MTE3LCAKLSAgICA1NzEyMSwgNTcxMjUsIDAsIDU3MTI5LCA1NzEzMywgNTcxMzcsIDU3MTQxLCA1NzE0NSwgNTcxNDksIDU3MTUzLCAwLCAKLSAgICA1NzE1NywgNTcxNjEsIDU3MTY1LCA1NzE2OSwgNTcxNzMsIDU3MTc3LCA1NzE4MSwgMCwgNTcxODUsIDU3MTg5LCA1NzE5MywgCi0gICAgNTcxOTcsIDU3MjAxLCA1NzIwNSwgNTcyMDksIDAsIDU3MjEzLCA1NzIxOCwgNTcyMjMsIDU3MjI4LCA1NzIzMywgNTcyMzgsIAotICAgIDU3MjQzLCA1NzI0NywgNTcyNTIsIDU3MjU3LCA1NzI2MiwgNTcyNjYsIDU3MjcxLCA1NzI3NiwgNTcyODEsIDU3Mjg2LCAKLSAgICA1NzI5MCwgNTcyOTUsIDU3MzAwLCA1NzMwNSwgNTczMTAsIDU3MzE1LCA1NzMyMCwgNTczMjQsIDU3MzI5LCA1NzMzNCwgCi0gICAgNTczNDEsIDU3MzQ2LCA1NzM1MSwgNTczNTcsIDU3MzY0LCA1NzM3MSwgNTczODAsIDU3Mzg3LCA1NzM5NiwgNTc0MDAsIAotICAgIDU3NDA0LCA1NzQxMCwgNTc0MTYsIDU3NDIyLCA1NzQzMCwgNTc0MzYsIDU3NDQwLCA1NzQ0NCwgNTc0NDgsIDU3NDU0LCAKLSAgICA1NzQ2MCwgNTc0NjQsIDU3NDY2LCA1NzQ3MCwgNTc0NzYsIDU3NDc4LCA1NzQ4MiwgNTc0ODYsIDU3NDkwLCA1NzQ5NiwgCi0gICAgNTc1MDEsIDU3NTA1LCA1NzUwOSwgNTc1MTQsIDU3NTIwLCA1NzUyNSwgNTc1MzAsIDU3NTM1LCA1NzU0MCwgNTc1NDcsIAotICAgIDU3NTU0LCA1NzU1OSwgNTc1NjQsIDU3NTY5LCA1NzU3NCwgNTc1NzksIDU3NTg0LCA1NzU4OCwgNTc1OTIsIDU3NTk5LCAKLSAgICA1NzYwNiwgNTc2MTIsIDU3NjE2LCA1NzYyMSwgNTc2MjMsIDU3NjI3LCA1NzYzNSwgNTc2MzksIDU3NjQzLCA1NzY0NywgCi0gICAgNTc2NTEsIDU3NjU3LCA1NzY2MywgNTc2NjcsIDU3NjczLCA1NzY3NywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgNzkwNjMsIDc5MDY3LCA3OTA3MSwgNzkwNzUsIDc5MDc5LCA3OTA4MywgNzkwODcsIDc5MDkxLCAKKyAgICA3OTA5NSwgNzkwOTksIDc5MTAzLCA3OTEwNywgNzkxMTEsIDc5MTE1LCA3OTExOSwgNzkxMjMsIDc5MTI3LCA3OTEzMSwgCisgICAgNzkxMzUsIDc5MTM5LCA3OTE0MywgNzkxNDcsIDc5MTUxLCAwLCAwLCAwLCAwLCA3OTE1NSwgNzkxNTksIDc5MTYzLCAKKyAgICA3OTE2NywgNzkxNzEsIDc5MTc1LCA3OTE3OSwgNzkxODMsIDc5MTg3LCA3OTE5MSwgNzkxOTUsIDc5MTk5LCA3OTIwMywgCisgICAgNzkyMDcsIDc5MjExLCA3OTIxNSwgNzkyMTksIDc5MjIzLCA3OTIyNywgNzkyMzEsIDc5MjM1LCA3OTIzOSwgNzkyNDMsIAorICAgIDc5MjQ3LCA3OTI1MSwgNzkyNTUsIDc5MjU5LCA3OTI2MywgNzkyNjcsIDc5MjcxLCA3OTI3NSwgNzkyNzksIDc5MjgzLCAKKyAgICA3OTI4NywgNzkyOTEsIDc5Mjk1LCA3OTI5OSwgNzkzMDMsIDc5MzA3LCA3OTMxMSwgNzkzMTUsIDc5MzE5LCA3OTMyMywgCisgICAgNzkzMjcsIDc5MzMxLCA3OTMzNSwgNzkzMzksIDc5MzQzLCA3OTM0NywgMCwgMCwgMCwgMCwgNzkzNTEsIDc5MzU1LCAKKyAgICA3OTM1OSwgNzkzNjMsIDc5MzY3LCA3OTM3MSwgNzkzNzUsIDc5Mzc5LCA3OTM4MywgNzkzODcsIDc5MzkxLCA3OTM5NSwgCisgICAgNzkzOTksIDc5NDAzLCA3OTQwNywgNzk0MTEsIDc5NDE1LCA3OTQxOSwgNzk0MjMsIDc5NDI3LCA3OTQzMSwgNzk0MzUsIAorICAgIDc5NDM5LCA3OTQ0MywgNzk0NDcsIDc5NDUxLCA3OTQ1NSwgNzk0NTksIDc5NDYzLCA3OTQ2NywgNzk0NzEsIDc5NDc1LCAKKyAgICA3OTQ3OSwgNzk0ODMsIDc5NDg3LCA3OTQ5MSwgNzk0OTUsIDc5NDk5LCA3OTUwMywgNzk1MDcsIDc5NTExLCA3OTUxNSwgCisgICAgNzk1MTksIDc5NTIzLCA3OTUyNywgNzk1MzEsIDc5NTM1LCA3OTUzOSwgNzk1NDMsIDc5NTQ3LCA3OTU1MSwgNzk1NTUsIAorICAgIDc5NTU5LCA3OTU2MywgNzk1NjcsIDc5NTcxLCA3OTU3NSwgNzk1NzksIDc5NTgzLCA3OTU4NywgNzk1OTEsIDc5NTk1LCAKKyAgICA3OTU5OSwgNzk2MDMsIDc5NjA3LCA3OTYxMSwgNzk2MTUsIDc5NjE5LCA3OTYyMywgNzk2MjcsIDc5NjMxLCA3OTYzNSwgCisgICAgNzk2MzksIDc5NjQzLCA3OTY0NywgNzk2NTEsIDc5NjU1LCA3OTY1OSwgNzk2NjMsIDc5NjY3LCA3OTY3MSwgNzk2NzUsIAorICAgIDc5Njc5LCA3OTY4MywgNzk2ODcsIDc5NjkxLCA3OTY5NSwgNzk2OTksIDc5NzAzLCA3OTcwNywgNzk3MTEsIDc5NzE1LCAKKyAgICA3OTcxOSwgNzk3MjMsIDc5NzI3LCA3OTczMSwgNzk3MzUsIDc5NzM5LCA3OTc0MywgNzk3NDcsIDc5NzUxLCA3OTc1NSwgCisgICAgNzk3NTksIDc5NzYzLCA3OTc2NywgNzk3NzEsIDc5Nzc1LCA3OTc3OSwgNzk3ODMsIDc5Nzg3LCA3OTc5MSwgNzk3OTUsIAorICAgIDc5Nzk5LCA3OTgwMywgNzk4MDcsIDc5ODExLCA3OTgxNSwgNzk4MTksIDc5ODIzLCA3OTgyNywgNzk4MzEsIDc5ODM1LCAKKyAgICA3OTgzOSwgNzk4NDMsIDc5ODQ3LCA3OTg1MSwgNzk4NTUsIDc5ODU5LCA3OTg2MywgNzk4NjcsIDc5ODcxLCA3OTg3NSwgCisgICAgNzk4NzksIDc5ODgzLCA3OTg4NywgNzk4OTEsIDc5ODk1LCA3OTg5OSwgNzk5MDMsIDc5OTA3LCA3OTkxMSwgNzk5MTUsIAorICAgIDc5OTE5LCA3OTkyMywgNzk5MjcsIDc5OTMxLCA3OTkzNSwgNzk5MzksIDc5OTQzLCA3OTk0NywgNzk5NTEsIDc5OTU1LCAKKyAgICA3OTk1OSwgNzk5NjMsIDc5OTY3LCA3OTk3MSwgNzk5NzUsIDc5OTc5LCA3OTk4MywgNzk5ODcsIDc5OTkxLCA3OTk5NSwgCisgICAgNzk5OTksIDgwMDAzLCA4MDAwNywgODAwMTEsIDgwMDE1LCA4MDAxOSwgODAwMjMsIDgwMDI3LCA4MDAzMSwgODAwMzUsIAorICAgIDgwMDM5LCA4MDA0MywgODAwNDcsIDgwMDUxLCA4MDA1NSwgODAwNTksIDgwMDYzLCA4MDA2NywgODAwNzEsIDgwMDc1LCAKKyAgICA4MDA3OSwgODAwODMsIDgwMDg3LCA4MDA5MSwgODAwOTUsIDgwMDk5LCA4MDEwMywgODAxMDcsIDgwMTExLCA4MDExNSwgCisgICAgODAxMTksIDgwMTIzLCA4MDEyNywgODAxMzEsIDgwMTM1LCA4MDEzOSwgODAxNDMsIDgwMTQ3LCA4MDE1MSwgODAxNTUsIAorICAgIDgwMTU5LCA4MDE2MywgODAxNjcsIDgwMTcxLCA4MDE3NSwgODAxNzksIDgwMTgzLCA4MDE4NywgODAxOTEsIDgwMTk1LCAKKyAgICA4MDE5OSwgODAyMDMsIDgwMjA3LCA4MDIxMSwgODAyMTUsIDgwMjE5LCA4MDIyMywgODAyMjcsIDgwMjMxLCA4MDIzNSwgCisgICAgODAyMzksIDgwMjQzLCA4MDI0NywgODAyNTEsIDgwMjU1LCA4MDI1OSwgODAyNjMsIDgwMjY3LCA4MDI3MSwgODAyNzUsIAorICAgIDgwMjc5LCA4MDI4MywgODAyODcsIDgwMjkxLCA4MDI5NSwgODAyOTksIDgwMzAzLCA4MDMwNywgODAzMTEsIDgwMzE1LCAKKyAgICA4MDMxOSwgODAzMjMsIDgwMzI3LCA4MDMzMSwgODAzMzUsIDgwMzM5LCA4MDM0MywgODAzNDcsIDgwMzUxLCA4MDM1NSwgCisgICAgODAzNTksIDgwMzYzLCA4MDM2NywgODAzNzEsIDgwMzc1LCA4MDM3OSwgODAzODMsIDgwMzg3LCA4MDM5MSwgODAzOTUsIAorICAgIDgwMzk5LCA4MDQwMywgODA0MDcsIDgwNDExLCA4MDQxNSwgODA0MTksIDgwNDIzLCA4MDQyNywgODA0MzEsIDgwNDM1LCAKKyAgICA4MDQzOSwgODA0NDMsIDgwNDQ3LCA4MDQ1MSwgODA0NTUsIDgwNDU5LCA4MDQ2MywgODA0NjcsIDgwNDcxLCA4MDQ3NSwgCisgICAgODA0NzksIDgwNDgzLCA4MDQ4NywgODA0OTEsIDgwNDk1LCA4MDQ5OSwgODA1MDMsIDgwNTA3LCA4MDUxMSwgODA1MTUsIAorICAgIDgwNTE5LCA4MDUyMywgODA1MjcsIDgwNTMxLCA4MDUzNSwgODA1MzksIDgwNTQzLCA4MDU0NywgODA1NTEsIDgwNTU1LCAKKyAgICA4MDU1OSwgODA1NjMsIDgwNTY3LCA4MDU3MSwgODA1NzUsIDgwNTc5LCA4MDU4MywgODA1ODcsIDgwNTkxLCA4MDU5NSwgCisgICAgODA1OTksIDgwNjAzLCA4MDYwNywgODA2MTEsIDgwNjE1LCA4MDYxOSwgODA2MjMsIDgwNjI3LCA4MDYzMSwgODA2MzUsIAorICAgIDgwNjM5LCA4MDY0MywgODA2NDcsIDgwNjUxLCA4MDY1NSwgODA2NTksIDgwNjYzLCA4MDY2NywgODA2NzEsIDgwNjc1LCAKKyAgICA4MDY3OSwgODA2ODMsIDgwNjg3LCA4MDY5MSwgODA2OTUsIDgwNjk5LCA4MDcwMywgODA3MDcsIDgwNzExLCA4MDcxNSwgCisgICAgODA3MTksIDgwNzIzLCA4MDcyNywgODA3MzEsIDgwNzM1LCA4MDczOSwgODA3NDMsIDgwNzQ3LCA4MDc1MSwgODA3NTUsIAorICAgIDgwNzU5LCA4MDc2MywgODA3NjcsIDgwNzcxLCA4MDc3NSwgODA3NzksIDgwNzgzLCA4MDc4NywgODA3OTEsIDgwNzk1LCAKKyAgICA4MDc5OSwgODA4MDMsIDgwODA3LCA4MDgxMSwgMCwgMCwgODA4MTUsIDgwODE5LCA4MDgyMywgODA4MjcsIDgwODMxLCAKKyAgICA4MDgzNSwgODA4MzksIDgwODQzLCA4MDg0NywgODA4NTEsIDgwODU1LCA4MDg1OSwgODA4NjMsIDgwODY3LCA4MDg3MSwgCisgICAgODA4NzUsIDgwODc5LCA4MDg4MywgODA4ODcsIDgwODkxLCA4MDg5NSwgODA4OTksIDgwOTAzLCA4MDkwNywgODA5MTEsIAorICAgIDgwOTE1LCA4MDkxOSwgODA5MjMsIDgwOTI3LCA4MDkzMSwgODA5MzUsIDgwOTM5LCA4MDk0MywgODA5NDcsIDgwOTUxLCAKKyAgICA4MDk1NSwgODA5NTksIDgwOTYzLCA4MDk2NywgODA5NzEsIDgwOTc1LCA4MDk3OSwgODA5ODMsIDgwOTg3LCA4MDk5MSwgCisgICAgODA5OTUsIDgwOTk5LCA4MTAwMywgODEwMDcsIDgxMDExLCA4MTAxNSwgODEwMTksIDgxMDIzLCA4MTAyNywgODEwMzEsIAorICAgIDgxMDM1LCA4MTAzOSwgODEwNDMsIDgxMDQ3LCA4MTA1MSwgODEwNTUsIDgxMDU5LCA4MTA2MywgODEwNjcsIDgxMDcxLCAKKyAgICA4MTA3NSwgODEwNzksIDgxMDgzLCA4MTA4NywgODEwOTEsIDgxMDk1LCA4MTA5OSwgODExMDMsIDgxMTA3LCA4MTExMSwgCisgICAgODExMTUsIDgxMTE5LCA4MTEyMywgODExMjcsIDgxMTMxLCA4MTEzNSwgODExMzksIDgxMTQzLCA4MTE0NywgODExNTEsIAorICAgIDgxMTU1LCA4MTE1OSwgODExNjMsIDgxMTY3LCA4MTE3MSwgODExNzUsIDgxMTc5LCA4MTE4MywgODExODcsIDgxMTkxLCAKKyAgICA4MTE5NSwgODExOTksIDgxMjAzLCA4MTIwNywgODEyMTEsIDgxMjE1LCA4MTIxOSwgODEyMjMsIDgxMjI3LCA4MTIzMSwgCisgICAgODEyMzUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDgxMjM5LCA4MTI0NCwgODEyNDksIAorICAgIDgxMjU0LCA4MTI1OSwgODEyNjQsIDgxMjcyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA4MTI3NywgCisgICAgODEyODQsIDgxMjkxLCA4MTI5OCwgODEzMDUsIDAsIDAsIDAsIDAsIDAsIDgxMzEyLCA4MTMxOSwgODEzMjYsIDgxMzM2LCAKKyAgICA4MTM0MiwgODEzNDgsIDgxMzU0LCA4MTM2MCwgODEzNjYsIDgxMzcyLCA4MTM3OSwgODEzODUsIDgxMzkxLCA4MTM5NywgCisgICAgODE0MDYsIDgxNDE1LCA4MTQyNywgODE0MzksIDgxNDQ1LCA4MTQ1MSwgODE0NTcsIDgxNDY0LCA4MTQ3MSwgODE0NzgsIAorICAgIDgxNDg1LCA4MTQ5MiwgMCwgODE0OTksIDgxNTA2LCA4MTUxMywgODE1MjEsIDgxNTI4LCAwLCA4MTUzNSwgMCwgODE1NDIsIAorICAgIDgxNTQ5LCAwLCA4MTU1NiwgODE1NjQsIDAsIDgxNTcxLCA4MTU3OCwgODE1ODUsIDgxNTkyLCA4MTU5OSwgODE2MDYsIAorICAgIDgxNjEzLCA4MTYyMCwgODE2MjcsIDgxNjM0LCA4MTYzOSwgODE2NDYsIDgxNjUzLCA4MTY1OSwgODE2NjUsIDgxNjcxLCAKKyAgICA4MTY3NywgODE2ODMsIDgxNjg5LCA4MTY5NSwgODE3MDEsIDgxNzA3LCA4MTcxMywgODE3MTksIDgxNzI1LCA4MTczMSwgCisgICAgODE3MzcsIDgxNzQzLCA4MTc0OSwgODE3NTUsIDgxNzYxLCA4MTc2NywgODE3NzMsIDgxNzc5LCA4MTc4NSwgODE3OTEsIAorICAgIDgxNzk3LCA4MTgwMywgODE4MDksIDgxODE1LCA4MTgyMSwgODE4MjcsIDgxODMzLCA4MTgzOSwgODE4NDUsIDgxODUxLCAKKyAgICA4MTg1NywgODE4NjMsIDgxODY5LCA4MTg3NSwgODE4ODEsIDgxODg3LCA4MTg5MywgODE4OTksIDgxOTA1LCA4MTkxMSwgCisgICAgODE5MTcsIDgxOTIzLCA4MTkyOSwgODE5MzUsIDgxOTQxLCA4MTk0NywgODE5NTMsIDgxOTU5LCA4MTk2NSwgODE5NzEsIAorICAgIDgxOTc3LCA4MTk4MywgODE5ODksIDgxOTk1LCA4MjAwMSwgODIwMDcsIDgyMDEzLCA4MjAxOSwgODIwMjUsIDgyMDMxLCAKKyAgICA4MjAzNywgODIwNDMsIDgyMDQ5LCA4MjA1NSwgODIwNjEsIDgyMDY3LCA4MjA3MywgODIwNzksIDgyMDg1LCA4MjA5MSwgCisgICAgODIwOTcsIDgyMTAzLCA4MjEwOSwgODIxMTcsIDgyMTI1LCA4MjEzMSwgODIxMzcsIDgyMTQzLCA4MjE0OSwgODIxNTgsIAorICAgIDgyMTY3LCA4MjE3NSwgODIxODMsIDgyMTkxLCA4MjE5OSwgODIyMDcsIDgyMjE1LCA4MjIyMywgODIyMzEsIDgyMjM4LCAKKyAgICA4MjI0NSwgODIyNTYsIDgyMjY3LCA4MjI3MSwgODIyNzUsIDgyMjgwLCA4MjI4NSwgODIyOTAsIDgyMjk1LCA4MjMwMywgCisgICAgODIzMTEsIDgyMzE3LCA4MjMyMywgODIzMzAsIDgyMzM3LCA4MjM0NCwgODIzNDgsIDgyMzU0LCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA4MjM2MCwgODIzNjYsIDgyMzcyLCA4MjM3OCwgODIzODQsIAorICAgIDgyMzg5LCA4MjM5NCwgODI0MDAsIDgyNDA2LCA4MjQxMiwgODI0MTgsIDgyNDI3LCA4MjQzMywgODI0MzksIDgyNDQ3LCAKKyAgICA4MjQ1NSwgODI0NjMsIDgyNDcxLCA4MjQ3NiwgODI0ODEsIDgyNDg2LCA4MjQ5MSwgODI1MDQsIDgyNTE3LCA4MjUyOCwgCisgICAgODI1MzksIDgyNTUxLCA4MjU2MywgODI1NzUsIDgyNTg3LCA4MjU5OCwgODI2MDksIDgyNjIxLCA4MjYzMywgODI2NDUsIAorICAgIDgyNjU3LCA4MjY2OCwgODI2NzksIDgyNjkwLCA4MjcwNywgODI3MjQsIDgyNzQxLCA4Mjc0OCwgODI3NTUsIDgyNzYyLCAKKyAgICA4Mjc2OSwgODI3ODAsIDgyNzkxLCA4MjgwMiwgODI4MTUsIDgyODI2LCA4MjgzNCwgODI4NDIsIDgyODUxLCA4Mjg1OSwgCisgICAgODI4NjksIDgyODc3LCA4Mjg4NSwgODI4OTMsIDgyOTAyLCA4MjkxMCwgODI5MjAsIDgyOTI4LCA4MjkzNiwgODI5NDQsIAorICAgIDgyOTU0LCA4Mjk2MiwgODI5NjksIDgyOTc2LCA4Mjk4MywgODI5OTAsIDgyOTk4LCA4MzAwNiwgODMwMTQsIDgzMDIyLCAKKyAgICA4MzAzMCwgODMwMzksIDgzMDQ3LCA4MzA1NSwgODMwNjMsIDgzMDcxLCA4MzA3OSwgODMwODgsIDgzMDk2LCA4MzEwNCwgCisgICAgODMxMTIsIDgzMTIwLCA4MzEyOCwgODMxMzYsIDgzMTQ0LCA4MzE1MiwgODMxNjAsIDgzMTY4LCA4MzE3NywgODMxODUsIAorICAgIDgzMTk1LCA4MzIwMywgODMyMTEsIDgzMjE5LCA4MzIyOSwgODMyMzcsIDgzMjQ1LCA4MzI1MywgODMyNjEsIDgzMjcwLCAKKyAgICA4MzI3OSwgODMyODcsIDgzMjk3LCA4MzMwNSwgODMzMTMsIDgzMzIxLCA4MzMzMCwgODMzMzgsIDgzMzQ4LCA4MzM1NiwgCisgICAgODMzNjMsIDgzMzcwLCA4MzM3OCwgODMzODUsIDgzMzk0LCA4MzQwMSwgODM0MDksIDgzNDE3LCA4MzQyNiwgODM0MzQsIAorICAgIDgzNDQ0LCA4MzQ1MiwgODM0NjAsIDgzNDY4LCA4MzQ3OCwgODM0ODYsIDgzNDkzLCA4MzUwMCwgODM1MDgsIDgzNTE1LCAKKyAgICA4MzUyNCwgODM1MzEsIDgzNTQxLCA4MzU1MSwgODM1NjIsIDgzNTcxLCA4MzU4MCwgODM1ODksIDgzNTk4LCA4MzYwNywgCisgICAgODM2MTcsIDgzNjI5LCA4MzY0MSwgODM2NTIsIDgzNjY0LCA4MzY3NywgODM2ODgsIDgzNjk3LCA4MzcwNiwgODM3MTQsIAorICAgIDgzNzIzLCA4MzczMywgODM3NDEsIDgzNzUwLCA4Mzc1OSwgODM3NjcsIDgzNzc2LCA4Mzc4NiwgODM3OTQsIDgzODAzLCAKKyAgICA4MzgxMiwgODM4MjAsIDgzODI5LCA4MzgzOSwgODM4NDcsIDgzODU3LCA4Mzg2NSwgODM4NzUsIDgzODgzLCA4Mzg5MSwgCisgICAgODM5MDAsIDgzOTA4LCA4MzkxOCwgODM5MjYsIDgzOTM0LCA4Mzk0NCwgODM5NTIsIDgzOTU5LCA4Mzk2NiwgODM5NzUsIAorICAgIDgzOTg0LCA4Mzk5MiwgODQwMDEsIDg0MDExLCA4NDAxOSwgODQwMzAsIDg0MDM4LCA4NDA0NiwgODQwNTMsIDg0MDYxLCAKKyAgICA4NDA3MCwgODQwNzcsIDg0MDg4LCA4NDA5OSwgODQxMTEsIDg0MTIyLCA4NDEzNCwgODQxNDIsIDg0MTUwLCA4NDE1OSwgCisgICAgODQxNjcsIDg0MTc2LCA4NDE4NCwgODQxOTIsIDg0MjAxLCA4NDIwOSwgODQyMTgsIDg0MjI2LCA4NDIzMywgODQyNDAsIAorICAgIDg0MjQ3LCA4NDI1NCwgODQyNjIsIDg0MjcwLCA4NDI3OCwgODQyODYsIDg0Mjk1LCA4NDMwMywgODQzMTEsIDg0MzIwLCAKKyAgICA4NDMyOCwgODQzMzYsIDg0MzQ0LCA4NDM1MywgODQzNjEsIDg0MzY5LCA4NDM3NywgODQzODUsIDg0MzkzLCA4NDQwMSwgCisgICAgODQ0MDksIDg0NDE3LCA4NDQyNSwgODQ0MzQsIDg0NDQyLCA4NDQ1MCwgODQ0NTgsIDg0NDY2LCA4NDQ3NCwgODQ0ODMsIAorICAgIDg0NDkyLCA4NDUwMCwgODQ1MDgsIDg0NTE2LCA4NDUyNSwgODQ1MzMsIDg0NTQyLCA4NDU0OSwgODQ1NTYsIDg0NTY0LCAKKyAgICA4NDU3MSwgODQ1NzksIDg0NTg3LCA4NDU5NiwgODQ2MDQsIDg0NjEzLCA4NDYyMSwgODQ2MjksIDg0NjM5LCA4NDY0NiwgCisgICAgODQ2NTMsIDg0NjYxLCA4NDY2OCwgODQ2NzYsIDg0Njg3LCA4NDY5OSwgODQ3MDcsIDg0NzE2LCA4NDcyNCwgODQ3MzMsIAorICAgIDg0NzQxLCA4NDc1MCwgODQ3NTgsIDg0NzY3LCA4NDc3NSwgODQ3ODQsIDg0NzkzLCA4NDgwMSwgODQ4MDksIDg0ODE3LCAKKyAgICA4NDgyNiwgODQ4MzMsIDg0ODQxLCA4NDg1MCwgODQ4NTksIDg0ODY4LCA4NDg3OCwgODQ4ODYsIDg0ODk2LCA4NDkwNCwgCisgICAgODQ5MTQsIDg0OTIyLCA4NDkzMiwgODQ5NDAsIDg0OTUwLCA4NDk1OCwgODQ5NjcsIDg0OTc0LCA4NDk4MywgODQ5OTAsIAorICAgIDg1MDAwLCA4NTAwOCwgODUwMTgsIDg1MDI2LCA4NTAzNiwgODUwNDQsIDg1MDUyLCA4NTA2MCwgODUwNjksIDg1MDc3LCAKKyAgICA4NTA4NiwgODUwOTUsIDg1MTA0LCA4NTExMywgODUxMjMsIDg1MTMxLCA4NTE0MSwgODUxNDksIDg1MTU5LCA4NTE2NywgCisgICAgODUxNzcsIDg1MTg1LCA4NTE5NSwgODUyMDMsIDg1MjEyLCA4NTIxOSwgODUyMjgsIDg1MjM1LCA4NTI0NSwgODUyNTMsIAorICAgIDg1MjYzLCA4NTI3MSwgODUyODEsIDg1Mjg5LCA4NTI5NywgODUzMDUsIDg1MzE0LCA4NTMyMiwgODUzMzEsIDg1MzQwLCAKKyAgICA4NTM0OSwgODUzNTgsIDg1MzY2LCA4NTM3NCwgODUzODMsIDg1MzkxLCA4NTQwMCwgODU0MDksIDg1NDE3LCA4NTQyNSwgCisgICAgODU0MzMsIDg1NDQyLCA4NTQ1MCwgODU0NTgsIDg1NDY3LCA4NTQ3NSwgODU0ODMsIDg1NDkxLCA4NTQ5OSwgODU1MDQsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDg1NTA5LCA4NTUxOSwgODU1MjksIDg1NTM5LCAKKyAgICA4NTU0OSwgODU1NjAsIDg1NTcwLCA4NTU4MCwgODU1OTEsIDg1NjAwLCA4NTYwOSwgODU2MTgsIDg1NjI5LCA4NTYzOSwgCisgICAgODU2NDksIDg1NjYxLCA4NTY3MSwgODU2ODEsIDg1NjkxLCA4NTcwMSwgODU3MTEsIDg1NzIxLCA4NTczMSwgODU3NDEsIAorICAgIDg1NzUxLCA4NTc2MSwgODU3NzEsIDg1NzgyLCA4NTc5MywgODU4MDMsIDg1ODEzLCA4NTgyNSwgODU4MzYsIDg1ODQ3LCAKKyAgICA4NTg1NywgODU4NjcsIDg1ODc3LCA4NTg4NywgODU4OTcsIDg1OTA3LCA4NTkxNywgODU5MjksIDg1OTM5LCA4NTk0OSwgCisgICAgODU5NjEsIDg1OTcyLCA4NTk4MywgODU5OTMsIDg2MDAzLCA4NjAxMywgODYwMjMsIDg2MDM1LCA4NjA0NSwgODYwNTUsIAorICAgIDg2MDY2LCA4NjA3NywgODYwODcsIDg2MDk3LCA4NjEwNiwgODYxMTUsIDg2MTI0LCA4NjEzMywgODYxNDIsIDg2MTUyLCAwLCAKKyAgICAwLCA4NjE2MiwgODYxNzIsIDg2MTgyLCA4NjE5MiwgODYyMDIsIDg2MjE0LCA4NjIyNCwgODYyMzQsIDg2MjQ2LCA4NjI1NiwgCisgICAgODYyNjgsIDg2Mjc3LCA4NjI4NiwgODYyOTcsIDg2MzA3LCA4NjMxOSwgODYzMzAsIDg2MzQzLCA4NjM1MywgODYzNjUsIAorICAgIDg2Mzc0LCA4NjM4NSwgODYzOTYsIDg2NDA5LCA4NjQxOSwgODY0MjksIDg2NDM5LCA4NjQ0OSwgODY0NTksIDg2NDY4LCAKKyAgICA4NjQ3NywgODY0ODYsIDg2NDk1LCA4NjUwNSwgODY1MTUsIDg2NTI1LCA4NjUzNSwgODY1NDUsIDg2NTU1LCA4NjU2NSwgCisgICAgODY1NzUsIDg2NTg1LCA4NjU5NSwgODY2MDUsIDg2NjE1LCA4NjYyNCwgODY2MzMsIDg2NjQyLCA4NjY1MiwgODY2NjIsIAorICAgIDg2NjcyLCA4NjY4MiwgODY2OTIsIDg2NzAzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NzY4MSwgNTc2ODUsIDU3Njg5LCA1NzY5NCwgNTc2OTksIDU3NzA0LCAKLSAgICA1NzcwOCwgNTc3MTIsIDU3NzE2LCA1NzcyMSwgNTc3MjYsIDU3NzMwLCA1NzczNCwgNTc3MzgsIDU3NzQyLCA1Nzc0NywgCi0gICAgNTc3NTIsIDU3NzU3LCA1Nzc2MiwgNTc3NjYsIDU3NzcwLCA1Nzc3NSwgNTc3ODAsIDU3Nzg1LCA1Nzc5MCwgNTc3OTQsIDAsIAotICAgIDU3Nzk4LCA1NzgwMiwgNTc4MDYsIDU3ODEwLCA1NzgxNCwgNTc4MTgsIDU3ODIyLCA1NzgyNywgNTc4MzIsIDU3ODM2LCAKLSAgICA1Nzg0MSwgNTc4NDYsIDU3ODU1LCA1Nzg1OSwgNTc4NjMsIDU3ODY3LCA1Nzg3NCwgNTc4NzgsIDU3ODgzLCA1Nzg4OCwgCi0gICAgNTc4OTIsIDU3ODk2LCA1NzkwMiwgNTc5MDcsIDU3OTEyLCA1NzkxNywgNTc5MjIsIDU3OTI2LCA1NzkzMCwgNTc5MzQsIAotICAgIDU3OTM4LCA1Nzk0MiwgNTc5NDcsIDU3OTUyLCA1Nzk1NiwgNTc5NjAsIDU3OTY1LCA1Nzk3MCwgNTc5NzUsIDU3OTc5LCAKLSAgICA1Nzk4MywgNTc5ODgsIDU3OTkzLCA1Nzk5OSwgNTgwMDUsIDU4MDA5LCA1ODAxNSwgNTgwMjEsIDU4MDI1LCA1ODAzMSwgCi0gICAgNTgwMzcsIDU4MDQyLCA1ODA0NywgNTgwNTEsIDU4MDU3LCA1ODA2MSwgNTgwNjUsIDU4MDcxLCA1ODA3NywgNTgwODIsIAotICAgIDU4MDg3LCA1ODA5MSwgNTgwOTUsIDU4MTAzLCA1ODEwOSwgNTgxMTUsIDU4MTIxLCA1ODEyNiwgNTgxMzEsIDU4MTM2LCAKLSAgICA1ODE0MiwgNTgxNDYsIDU4MTUyLCA1ODE1NiwgNTgxNjAsIDU4MTY2LCA1ODE3MiwgNTgxNzgsIDU4MTg0LCA1ODE5MCwgCi0gICAgNTgxOTYsIDU4MjAyLCA1ODIwOCwgNTgyMTQsIDU4MjIwLCA1ODIyNiwgNTgyMzIsIDU4MjM2LCA1ODI0MiwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTgyNDgsIDU4MjUxLCA1ODI1NSwgNTgyNTksIDU4MjYzLCA1ODI2NywgCi0gICAgNTgyNzAsIDU4MjczLCA1ODI3NywgNTgyODEsIDU4Mjg1LCA1ODI4OSwgNTgyOTIsIDU4Mjk3LCA1ODMwMSwgNTgzMDUsIAotICAgIDU4MzA5LCA1ODMxNCwgNTgzMTgsIDU4MzIyLCA1ODMyNiwgNTgzMzAsIDU4MzM2LCA1ODM0MiwgNTgzNDYsIDU4MzUwLCAKLSAgICA1ODM1NCwgNTgzNTgsIDU4MzYyLCA1ODM2NiwgNTgzNzAsIDU4Mzc0LCA1ODM3OCwgNTgzODIsIDU4Mzg2LCA1ODM5MiwgCi0gICAgNTgzOTYsIDU4NDAwLCA1ODQwNCwgNTg0MDgsIDU4NDEyLCA1ODQxNiwgNTg0MjAsIDU4NDI0LCA1ODQyOCwgNTg0MzIsIAotICAgIDU4NDM2LCA1ODQ0MCwgNTg0NDQsIDU4NDQ4LCA1ODQ1MiwgNTg0NTYsIDU4NDYyLCA1ODQ2OCwgNTg0NzMsIDU4NDc4LCAKLSAgICA1ODQ4MiwgNTg0ODYsIDU4NDkwLCA1ODQ5NCwgNTg0OTgsIDU4NTAyLCA1ODUwNiwgNTg1MTAsIDU4NTE0LCA1ODUxOCwgCi0gICAgNTg1MjIsIDU4NTI2LCA1ODUzMCwgNTg1MzQsIDU4NTM4LCA1ODU0MiwgNTg1NDYsIDU4NTUwLCA1ODU1NCwgNTg1NTgsIAotICAgIDU4NTYyLCA1ODU2NiwgNTg1NzAsIDU4NTc0LCA1ODU4MCwgNTg1ODQsIDU4NTg4LCA1ODU5MiwgNTg1OTYsIDU4NjAwLCAKLSAgICA1ODYwNCwgNTg2MDgsIDU4NjEyLCA1ODYxNywgNTg2MjQsIDU4NjI4LCA1ODYzMiwgNTg2MzYsIDU4NjQwLCA1ODY0NCwgCi0gICAgNTg2NDgsIDU4NjUyLCA1ODY1NiwgNTg2NjAsIDU4NjY0LCA1ODY2OCwgNTg2NzIsIDU4Njc5LCA1ODY4MywgNTg2ODksIAotICAgIDU4NjkzLCA1ODY5NywgNTg3MDEsIDU4NzA1LCA1ODcwOSwgNTg3MTIsIDU4NzE2LCA1ODcyMCwgNTg3MjQsIDU4NzI4LCAKLSAgICA1ODczMiwgNTg3MzYsIDU4NzQwLCA1ODc0NCwgNTg3NDgsIDU4NzUyLCA1ODc1NiwgNTg3NjAsIDU4NzY0LCA1ODc2OCwgCi0gICAgNTg3NzIsIDU4Nzc2LCA1ODc4MCwgNTg3ODQsIDU4Nzg4LCA1ODc5MiwgNTg3OTYsIDU4ODAwLCA1ODgwNCwgNTg4MDgsIAotICAgIDU4ODEyLCA1ODgxNiwgNTg4MjAsIDU4ODI0LCA1ODgyOCwgNTg4MzIsIDU4ODM2LCA1ODg0MCwgNTg4NDYsIDU4ODUwLCAKLSAgICA1ODg1NCwgNTg4NTgsIDU4ODYyLCA1ODg2NiwgNTg4NzAsIDU4ODc0LCA1ODg3OCwgNTg4ODIsIDU4ODg2LCA1ODg5MCwgCi0gICAgNTg4OTQsIDU4ODk4LCA1ODkwMiwgNTg5MDYsIDU4OTEwLCA1ODkxNCwgNTg5MTgsIDU4OTIyLCA1ODkyNiwgNTg5MzAsIAotICAgIDU4OTM0LCA1ODkzOCwgNTg5NDIsIDU4OTQ2LCA1ODk1MCwgNTg5NTQsIDU4OTYyLCA1ODk2NiwgNTg5NzAsIDU4OTc0LCAKLSAgICA1ODk3OCwgNTg5ODIsIDU4OTg4LCA1ODk5MiwgNTg5OTYsIDU5MDAwLCA1OTAwNCwgNTkwMDgsIDU5MDEyLCA1OTAxNiwgCi0gICAgNTkwMjAsIDU5MDI0LCA1OTAyOCwgNTkwMzIsIDU5MDM2LCA1OTA0MCwgNTkwNDYsIDU5MDUwLCA1OTA1NCwgNTkwNTgsIAotICAgIDU5MDYyLCA1OTA2NiwgNTkwNzAsIDU5MDc0LCA1OTA3OCwgNTkwODIsIDU5MDg2LCA1OTA5MCwgNTkwOTQsIDU5MDk4LCAKLSAgICA1OTEwMiwgNTkxMDYsIDU5MTEwLCA1OTExNCwgNTkxMTgsIDU5MTIyLCA1OTEyNiwgNTkxMzAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU5MTM0LCA1OTE0MywgCi0gICAgNTkxNTEsIDU5MTYzLCA1OTE3NCwgNTkxODIsIDU5MTkxLCA1OTIwMCwgNTkyMTAsIDU5MjIyLCA1OTIzNCwgNTkyNDYsIDAsIAotICAgIDAsIDAsIDAsIDU5MjUyLCA1OTI1NSwgNTkyNTgsIDU5MjYzLCA1OTI2NiwgNTkyNzMsIDU5Mjc3LCA1OTI4MSwgNTkyODUsIAotICAgIDU5Mjg5LCA1OTI5MywgNTkyOTgsIDU5MzAzLCA1OTMwNywgNTkzMTEsIDU5MzE2LCA1OTMyMSwgNTkzMjYsIDU5MzMxLCAKLSAgICA1OTMzNCwgNTkzMzcsIDU5MzQzLCA1OTM0OSwgNTkzNTQsIDU5MzU5LCA1OTM2NiwgNTkzNzMsIDU5Mzc3LCA1OTM4MSwgCi0gICAgNTkzODUsIDU5MzkzLCA1OTM5OSwgNTk0MDYsIDU5NDExLCA1OTQxNiwgNTk0MjEsIDU5NDI2LCA1OTQzMSwgNTk0MzYsIAotICAgIDU5NDQxLCA1OTQ0NiwgNTk0NTEsIDU5NDU2LCA1OTQ2MSwgNTk0NjYsIDU5NDcxLCA1OTQ3NiwgNTk0ODIsIDU5NDg3LCAKLSAgICA1OTQ5MSwgNTk0OTcsIDU5NTA4LCA1OTUxOCwgNTk1MzMsIDU5NTQzLCA1OTU0NywgNTk1NTcsIDU5NTYzLCA1OTU2OSwgCi0gICAgNTk1NzUsIDU5NTgwLCA1OTU4MywgNTk1ODgsIDU5NTkyLCAwLCA1OTU5OCwgNTk2MDIsIDU5NjA1LCA1OTYwOSwgNTk2MTIsIAotICAgIDU5NjE2LCA1OTYxOSwgNTk2MjMsIDU5NjI2LCA1OTYzMCwgNTk2MzMsIDU5NjM2LCA1OTY0MCwgNTk2NDQsIDU5NjQ4LCAKLSAgICA1OTY1MiwgNTk2NTYsIDU5NjYwLCA1OTY2NCwgNTk2NjgsIDU5NjcyLCA1OTY3NSwgNTk2NzksIDU5NjgzLCA1OTY4NywgCi0gICAgNTk2OTEsIDU5Njk1LCA1OTY5OSwgNTk3MDMsIDU5NzA3LCA1OTcxMSwgNTk3MTUsIDU5NzE5LCA1OTcyMywgNTk3MjcsIAotICAgIDU5NzMyLCA1OTczNiwgNTk3NDAsIDU5NzQ0LCA1OTc0OCwgNTk3NTEsIDU5NzU1LCA1OTc1OCwgNTk3NjIsIDU5NzY2LCAKLSAgICA1OTc3MCwgNTk3NzQsIDU5Nzc3LCA1OTc4MSwgNTk3ODQsIDU5Nzg4LCA1OTc5MiwgNTk3OTYsIDU5ODAwLCA1OTgwNCwgCi0gICAgNTk4MDgsIDU5ODEyLCA1OTgxNiwgNTk4MjAsIDU5ODI0LCA1OTgyOCwgNTk4MzIsIDU5ODM1LCA1OTgzOSwgNTk4NDMsIAotICAgIDU5ODQ3LCA1OTg1MSwgNTk4NTUsIDU5ODU4LCA1OTg2MywgNTk4NjcsIDU5ODcyLCA1OTg3NiwgNTk4NzksIDU5ODgzLCAKLSAgICA1OTg4NywgNTk4OTEsIDU5ODk1LCA1OTkwMCwgNTk5MDQsIDU5OTA4LCA1OTkxMiwgNTk5MTYsIDU5OTIwLCA1OTkyNCwgCi0gICAgNTk5MjgsIDAsIDAsIDU5OTMzLCA1OTk0MSwgNTk5NDksIDU5OTU2LCA1OTk2MywgNTk5NjcsIDU5OTczLCA1OTk3OCwgCi0gICAgNTk5ODMsIDU5OTg3LCA1OTk5MCwgNTk5OTQsIDU5OTk3LCA2MDAwMSwgNjAwMDQsIDYwMDA4LCA2MDAxMSwgNjAwMTUsIAotICAgIDYwMDE4LCA2MDAyMSwgNjAwMjUsIDYwMDI5LCA2MDAzMywgNjAwMzcsIDYwMDQxLCA2MDA0NSwgNjAwNDksIDYwMDUzLCAKLSAgICA2MDA1NywgNjAwNjAsIDYwMDY0LCA2MDA2OCwgNjAwNzIsIDYwMDc2LCA2MDA4MCwgNjAwODQsIDYwMDg4LCA2MDA5MiwgCi0gICAgNjAwOTYsIDYwMTAwLCA2MDEwNCwgNjAxMDgsIDYwMTEyLCA2MDExNywgNjAxMjEsIDYwMTI1LCA2MDEyOSwgNjAxMzMsIAotICAgIDYwMTM2LCA2MDE0MCwgNjAxNDMsIDYwMTQ3LCA2MDE1MSwgNjAxNTUsIDYwMTU5LCA2MDE2MiwgNjAxNjYsIDYwMTY5LCAKLSAgICA2MDE3MywgNjAxNzcsIDYwMTgxLCA2MDE4NSwgNjAxODksIDYwMTkzLCA2MDE5NywgNjAyMDEsIDYwMjA1LCA2MDIwOSwgCi0gICAgNjAyMTMsIDYwMjE3LCA2MDIyMCwgNjAyMjQsIDYwMjI4LCA2MDIzMiwgNjAyMzYsIDYwMjQwLCA2MDI0MywgNjAyNDgsIAotICAgIDYwMjUyLCA2MDI1NywgNjAyNjEsIDYwMjY0LCA2MDI2OCwgNjAyNzIsIDYwMjc2LCA2MDI4MCwgNjAyODUsIDYwMjg5LCAKLSAgICA2MDI5MywgNjAyOTcsIDYwMzAxLCA2MDMwNSwgNjAzMDksIDYwMzEzLCA2MDMxOCwgNjAzMjIsIDYwMzI2LCA2MDMzMCwgCi0gICAgNjAzMzQsIDYwMzM5LCA2MDM0NiwgNjAzNTAsIDYwMzU2LCAwLCAwLCAwLCAwLCAwLCA2MDM2MSwgNjAzNjYsIDYwMzcxLCAKLSAgICA2MDM3NSwgNjAzODAsIDYwMzg1LCA2MDM5MCwgNjAzOTUsIDYwMzk5LCA2MDQwNCwgNjA0MDksIDYwNDE0LCA2MDQxOSwgCi0gICAgNjA0MjQsIDYwNDI5LCA2MDQzNCwgNjA0MzksIDYwNDQ0LCA2MDQ0OCwgNjA0NTMsIDYwNDU4LCA2MDQ2MywgNjA0NjcsIAotICAgIDYwNDcxLCA2MDQ3NSwgNjA0ODAsIDYwNDg1LCA2MDQ5MCwgNjA0OTUsIDYwNTAwLCA2MDUwNSwgNjA1MTAsIDYwNTE1LCAKLSAgICA2MDUyMCwgNjA1MjUsIDYwNTI5LCA2MDUzMywgNjA1MzgsIDYwNTQzLCA2MDU0OCwgNjA1NTMsIDAsIDAsIDAsIDYwNTU4LCAKLSAgICA2MDU2MiwgNjA1NjYsIDYwNTcwLCA2MDU3NCwgNjA1NzgsIDYwNTgyLCA2MDU4NiwgNjA1OTAsIDYwNTk0LCA2MDU5OCwgCi0gICAgNjA2MDIsIDYwNjA2LCA2MDYxMCwgNjA2MTQsIDYwNjE4LCA2MDYyMiwgNjA2MjYsIDYwNjMwLCA2MDYzNCwgNjA2MzgsIAotICAgIDYwNjQyLCA2MDY0NiwgNjA2NTAsIDYwNjU0LCA2MDY1OCwgNjA2NjIsIDYwNjY2LCA2MDY3MCwgNjA2NzQsIDYwNjc4LCAKLSAgICA2MDY4MSwgNjA2ODUsIDYwNjg4LCA2MDY5MiwgNjA2OTYsIDYwNjk5LCA2MDcwMywgNjA3MDcsIDYwNzEwLCA2MDcxNCwgCi0gICAgNjA3MTgsIDYwNzIyLCA2MDcyNiwgNjA3MjksIDYwNzMzLCA2MDczNywgNjA3NDEsIDYwNzQ1LCA2MDc0OSwgNjA3NTMsIAotICAgIDYwNzU2LCA2MDc1OSwgNjA3NjMsIDYwNzY3LCA2MDc3MSwgNjA3NzUsIDYwNzc5LCA2MDc4MywgNjA3ODcsIDYwNzkxLCAKLSAgICA2MDc5NSwgNjA3OTksIDYwODAzLCA2MDgwNywgNjA4MTEsIDYwODE1LCA2MDgxOSwgNjA4MjMsIDYwODI3LCA2MDgzMSwgCi0gICAgNjA4MzUsIDYwODM5LCA2MDg0MywgNjA4NDcsIDYwODUxLCA2MDg1NSwgNjA4NTksIDYwODYzLCA2MDg2NywgNjA4NzEsIAotICAgIDYwODc1LCA2MDg3OSwgNjA4ODMsIDYwODg3LCA2MDg5MSwgNjA4OTUsIDYwODk5LCA2MDkwMywgNjA5MDcsIDYwOTExLCAKLSAgICA2MDkxNSwgNjA5MTksIDYwOTIzLCAwLCA2MDkyNywgNjA5MzMsIDYwOTM5LCA2MDk0NCwgNjA5NDksIDYwOTU0LCA2MDk2MCwgCi0gICAgNjA5NjYsIDYwOTcyLCA2MDk3OCwgNjA5ODQsIDYwOTkwLCA2MDk5NiwgNjEwMDIsIDYxMDA4LCA2MTAxNCwgNjEwMjAsIAotICAgIDYxMDI1LCA2MTAzMCwgNjEwMzUsIDYxMDQwLCA2MTA0NSwgNjEwNTAsIDYxMDU1LCA2MTA2MCwgNjEwNjUsIDYxMDcwLCAKLSAgICA2MTA3NSwgNjEwODAsIDYxMDg1LCA2MTA5MCwgNjEwOTUsIDYxMTAwLCA2MTEwNSwgNjExMTAsIDYxMTE1LCA2MTEyMCwgCi0gICAgNjExMjYsIDYxMTMyLCA2MTEzOCwgNjExNDQsIDYxMTQ5LCA2MTE1NCwgMCwgMCwgMCwgMCwgMCwgNjExNTksIDYxMTY0LCAKLSAgICA2MTE2OSwgNjExNzQsIDYxMTc5LCA2MTE4NCwgNjExODksIDYxMTk0LCA2MTE5OSwgNjEyMDQsIDYxMjA5LCA2MTIxNCwgCi0gICAgNjEyMTksIDYxMjI0LCA2MTIyOSwgNjEyMzQsIDYxMjM5LCA2MTI0NCwgNjEyNDksIDYxMjU0LCA2MTI1OSwgNjEyNjQsIAotICAgIDYxMjY5LCA2MTI3NCwgNjEyNzksIDYxMjg0LCA2MTI4OSwgNjEyOTQsIDYxMjk5LCA2MTMwNCwgNjEzMDksIDYxMzE0LCAKLSAgICA2MTMxOSwgNjEzMjQsIDYxMzI5LCA2MTMzNCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjEzMzksIAotICAgIDYxMzQ0LCA2MTM0OSwgNjEzNTQsIDYxMzU4LCA2MTM2MywgNjEzNjcsIDYxMzcyLCA2MTM3NywgNjEzODIsIDYxMzg3LCAKLSAgICA2MTM5MiwgNjEzOTYsIDYxNDAxLCA2MTQwNiwgNjE0MTEsIDYxNDE2LCA2MTQyMCwgNjE0MjQsIDYxNDI4LCA2MTQzMiwgCi0gICAgNjE0MzYsIDYxNDQwLCA2MTQ0NCwgNjE0NDgsIDYxNDUyLCA2MTQ1NiwgNjE0NjAsIDYxNDY0LCA2MTQ2OCwgNjE0NzIsIAotICAgIDYxNDc3LCA2MTQ4MiwgNjE0ODcsIDYxNDkyLCA2MTQ5NywgNjE1MDIsIDYxNTA3LCA2MTUxMiwgNjE1MTcsIDYxNTIyLCAKLSAgICA2MTUyNywgNjE1MzIsIDYxNTM3LCA2MTU0MiwgNjE1NDcsIDYxNTUzLCAwLCA2MTU2MCwgNjE1NjMsIDYxNTY2LCA2MTU2OSwgCi0gICAgNjE1NzIsIDYxNTc1LCA2MTU3OCwgNjE1ODEsIDYxNTg0LCA2MTU4NywgNjE1OTEsIDYxNTk1LCA2MTU5OSwgNjE2MDMsIAotICAgIDYxNjA3LCA2MTYxMSwgNjE2MTUsIDYxNjE5LCA2MTYyMywgNjE2MjcsIDYxNjMxLCA2MTYzNSwgNjE2MzksIDYxNjQzLCAKLSAgICA2MTY0NywgNjE2NTEsIDYxNjU1LCA2MTY1OSwgNjE2NjMsIDYxNjY3LCA2MTY3MSwgNjE2NzUsIDYxNjc5LCA2MTY4MywgCi0gICAgNjE2ODcsIDYxNjkxLCA2MTY5NSwgNjE2OTksIDYxNzAzLCA2MTcwNywgNjE3MTEsIDYxNzIwLCA2MTcyOSwgNjE3MzgsIAotICAgIDYxNzQ3LCA2MTc1NiwgNjE3NjUsIDYxNzc0LCA2MTc4MywgNjE3ODYsIDYxNzkxLCA2MTc5NiwgNjE4MDEsIDYxODA2LCAKLSAgICA2MTgxMSwgNjE4MTYsIDYxODIxLCA2MTgyNiwgNjE4MzEsIDYxODM1LCA2MTg0MCwgNjE4NDUsIDYxODUwLCA2MTg1NSwgCi0gICAgNjE4NjAsIDYxODY0LCA2MTg2OCwgNjE4NzIsIDYxODc2LCA2MTg4MCwgNjE4ODQsIDYxODg4LCA2MTg5MiwgNjE4OTYsIAotICAgIDYxOTAwLCA2MTkwNCwgNjE5MDgsIDYxOTEyLCA2MTkxNiwgNjE5MjEsIDYxOTI2LCA2MTkzMSwgNjE5MzYsIDYxOTQxLCAKLSAgICA2MTk0NiwgNjE5NTEsIDYxOTU2LCA2MTk2MSwgNjE5NjYsIDYxOTcxLCA2MTk3NiwgNjE5ODEsIDYxOTg2LCA2MTk5MiwgCi0gICAgNjE5OTgsIDYyMDAzLCA2MjAwOCwgNjIwMTEsIDYyMDE0LCA2MjAxNywgNjIwMjAsIDYyMDIzLCA2MjAyNiwgNjIwMjksIAotICAgIDYyMDMyLCA2MjAzNSwgNjIwMzksIDYyMDQzLCA2MjA0NywgNjIwNTEsIDYyMDU1LCA2MjA1OSwgNjIwNjMsIDYyMDY3LCAKLSAgICA2MjA3MSwgNjIwNzUsIDYyMDc5LCA2MjA4MywgNjIwODcsIDYyMDkxLCA2MjA5NSwgNjIwOTksIDYyMTAzLCA2MjEwNywgCi0gICAgNjIxMTEsIDYyMTE1LCA2MjExOSwgNjIxMjMsIDYyMTI3LCA2MjEzMSwgNjIxMzUsIDYyMTM5LCA2MjE0MywgNjIxNDcsIAotICAgIDYyMTUxLCA2MjE1NSwgNjIxNTksIDYyMTYzLCA2MjE2NywgNjIxNzEsIDYyMTc1LCA2MjE3OSwgNjIxODMsIDYyMTg3LCAKLSAgICA2MjE5MSwgNjIxOTUsIDYyMjAwLCA2MjIwNSwgNjIyMTAsIDYyMjE1LCA2MjIxOSwgNjIyMjQsIDYyMjI5LCA2MjIzNCwgCi0gICAgNjIyMzksIDYyMjQ0LCA2MjI0OSwgNjIyNTQsIDYyMjU5LCA2MjI2NCwgNjIyNjgsIDYyMjc1LCA2MjI4MiwgNjIyODksIAotICAgIDYyMjk2LCA2MjMwMywgNjIzMTAsIDYyMzE3LCA2MjMyNCwgNjIzMzEsIDYyMzM4LCA2MjM0NSwgNjIzNTIsIDYyMzU1LCAKLSAgICA2MjM1OCwgNjIzNjEsIDYyMzY2LCA2MjM2OSwgNjIzNzIsIDYyMzc1LCA2MjM3OCwgNjIzODEsIDYyMzg0LCA2MjM4OCwgCi0gICAgNjIzOTIsIDYyMzk2LCA2MjQwMCwgNjI0MDMsIDYyNDA3LCA2MjQxMSwgNjI0MTUsIDYyNDE5LCA2MjQyMywgNjI0MjcsIAotICAgIDYyNDMxLCA2MjQzNSwgNjI0MzgsIDYyNDQxLCA2MjQ0NSwgNjI0NDksIDYyNDUzLCA2MjQ1NywgNjI0NjAsIDYyNDY0LCAKLSAgICA2MjQ2OCwgNjI0NzIsIDYyNDc2LCA2MjQ3OSwgNjI0ODMsIDYyNDg3LCA2MjQ5MSwgNjI0OTUsIDYyNDk4LCA2MjUwMiwgCi0gICAgNjI1MDYsIDYyNTA5LCA2MjUxMywgNjI1MTcsIDYyNTIxLCA2MjUyNSwgNjI1MjksIDYyNTMzLCA2MjUzNywgMCwgNjI1NDEsIAotICAgIDYyNTQ0LCA2MjU0NywgNjI1NTAsIDYyNTUzLCA2MjU1NiwgNjI1NTksIDYyNTYyLCA2MjU2NSwgNjI1NjgsIDYyNTcxLCAKLSAgICA2MjU3NCwgNjI1NzcsIDYyNTgwLCA2MjU4MywgNjI1ODYsIDYyNTg5LCA2MjU5MiwgNjI1OTUsIDYyNTk4LCA2MjYwMSwgCi0gICAgNjI2MDQsIDYyNjA3LCA2MjYxMCwgNjI2MTMsIDYyNjE2LCA2MjYxOSwgNjI2MjIsIDYyNjI1LCA2MjYyOCwgNjI2MzEsIAotICAgIDYyNjM0LCA2MjYzNywgNjI2NDAsIDYyNjQzLCA2MjY0NiwgNjI2NDksIDYyNjUyLCA2MjY1NSwgNjI2NTgsIDYyNjYxLCAKLSAgICA2MjY2NCwgNjI2NjcsIDYyNjcwLCA2MjY3MywgNjI2NzYsIDYyNjc5LCA2MjY4MiwgNjI2ODUsIDYyNjg4LCA2MjY5MSwgCi0gICAgNjI2OTQsIDYyNjk3LCA2MjcwMCwgNjI3MDMsIDYyNzA2LCA2MjcwOSwgNjI3MTIsIDYyNzE1LCA2MjcxOCwgNjI3MjEsIAotICAgIDYyNzI0LCA2MjcyNywgNjI3MzAsIDYyNzMzLCA2MjczNiwgNjI3MzksIDYyNzQyLCA2Mjc0NSwgNjI3NDgsIDYyNzUxLCAKLSAgICA2Mjc1NCwgNjI3NTcsIDYyNzYwLCA2Mjc2MywgNjI3NjYsIDYyNzY5LCA2Mjc3MiwgNjI3NzUsIDYyNzc4LCA2Mjc4MSwgCi0gICAgNjI3ODQsIDYyNzg3LCA2Mjc5MCwgNjI3OTMsIDYyNzk2LCA2Mjc5OSwgNjI4MDIsIDYyODA1LCA2MjgxNCwgNjI4MjIsIAotICAgIDYyODMwLCA2MjgzOCwgNjI4NDYsIDYyODU0LCA2Mjg2MiwgNjI4NzAsIDYyODc4LCA2Mjg4NiwgNjI4OTUsIDYyOTA0LCAKLSAgICA2MjkxMywgNjI5MjIsIDYyOTMxLCA2Mjk0MCwgNjI5NDksIDYyOTU4LCA2Mjk2NywgNjI5NzYsIDYyOTg1LCA2Mjk5NCwgCi0gICAgNjMwMDMsIDYzMDEyLCA2MzAyMSwgNjMwMjQsIDYzMDI3LCA2MzAzMCwgNjMwMzIsIDYzMDM1LCA2MzAzOCwgNjMwNDEsIAotICAgIDYzMDQ2LCA2MzA1MSwgNjMwNTQsIDYzMDYxLCA2MzA2OCwgNjMwNzUsIDYzMDgyLCA2MzA4NSwgNjMwOTAsIDYzMDkyLCAKLSAgICA2MzA5NiwgNjMwOTgsIDYzMTAwLCA2MzEwMywgNjMxMDYsIDYzMTA5LCA2MzExMiwgNjMxMTUsIDYzMTE4LCA2MzEyMSwgCi0gICAgNjMxMjYsIDYzMTMxLCA2MzEzNCwgNjMxMzcsIDYzMTQwLCA2MzE0MywgNjMxNDYsIDYzMTQ5LCA2MzE1MiwgNjMxNTYsIAotICAgIDYzMTU5LCA2MzE2MiwgNjMxNjUsIDYzMTY4LCA2MzE3MSwgNjMxNzUsIDYzMTc4LCA2MzE4MSwgNjMxODQsIDYzMTg5LCAKLSAgICA2MzE5NCwgNjMxOTksIDYzMjA0LCA2MzIwOSwgNjMyMTQsIDYzMjE5LCA2MzIyNCwgNjMyMzAsIDYzMjM4LCA2MzI0MCwgCi0gICAgNjMyNDMsIDYzMjQ2LCA2MzI0OSwgNjMyNTIsIDYzMjU4LCA2MzI2NiwgNjMyNjksIDYzMjcyLCA2MzI3NywgNjMyODAsIAotICAgIDYzMjgzLCA2MzI4NiwgNjMyOTEsIDYzMjk0LCA2MzI5NywgNjMzMDIsIDYzMzA1LCA2MzMwOCwgNjMzMTMsIDYzMzE2LCAKLSAgICA2MzMxOSwgNjMzMjQsIDYzMzI5LCA2MzMzNCwgNjMzMzcsIDYzMzQwLCA2MzM0MywgNjMzNDYsIDYzMzUyLCA2MzM1NSwgCi0gICAgNjMzNTgsIDYzMzYxLCA2MzM2MywgNjMzNjYsIDYzMzY5LCA2MzM3MiwgNjMzNzcsIDYzMzgwLCA2MzM4MywgNjMzODYsIAotICAgIDYzMzg5LCA2MzM5MiwgNjMzOTcsIDYzNDAwLCA2MzQwMywgNjM0MDYsIDYzNDA5LCA2MzQxMiwgNjM0MTUsIDYzNDE4LCAKLSAgICA2MzQyMSwgNjM0MjQsIDYzNDI5LCA2MzQzMywgNjM0NDEsIDYzNDQ5LCA2MzQ1NywgNjM0NjUsIDYzNDczLCA2MzQ4MSwgCi0gICAgNjM0ODksIDYzNDk3LCA2MzUwNSwgNjM1MTQsIDYzNTIzLCA2MzUzMiwgNjM1NDEsIDYzNTUwLCA2MzU1OSwgNjM1NjgsIAotICAgIDYzNTc3LCA2MzU4NiwgNjM1OTUsIDYzNjA0LCA2MzYxMywgNjM2MjIsIDYzNjMxLCA2MzY0MCwgNjM2NDksIDYzNjU4LCAKLSAgICA2MzY2NywgNjM2NzYsIDYzNjg1LCA2MzY5NCwgNjM3MDMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDg2NzEzLCA4NjcyOCwgODY3NDMsIDg2NzQ5LCA4Njc1NSwgODY3NjEsIDg2NzY3LCA4Njc3MywgODY3NzksIDg2Nzg1LCAKKyAgICA4Njc5MSwgODY3OTksIDg2ODAzLCA4NjgwNiwgMCwgMCwgODY4MTQsIDg2ODE3LCA4NjgyMCwgODY4MjMsIDg2ODI2LCAKKyAgICA4NjgyOSwgODY4MzIsIDg2ODM1LCA4NjgzOCwgODY4NDEsIDg2ODQ0LCA4Njg0NywgODY4NTAsIDg2ODUzLCA4Njg1NiwgCisgICAgODY4NTksIDg2ODYyLCA4Njg3MCwgODY4NzksIDg2ODkwLCA4Njg5OCwgODY5MDYsIDg2OTE1LCA4NjkyNCwgODY5MzUsIAorICAgIDg2OTQ3LCAwLCAwLCAwLCAwLCAwLCAwLCA4Njk1NiwgODY5NjEsIDg2OTY2LCA4Njk3MywgODY5ODAsIDg2OTg2LCA4Njk5MiwgCisgICAgODY5OTcsIDg3MDAyLCA4NzAwNywgODcwMTMsIDg3MDE5LCA4NzAyNSwgODcwMzEsIDAsIDAsIDg3MDM3LCA4NzA0NywgCisgICAgODcwNTcsIDg3MDY3LCA4NzA3NiwgODcwODcsIDg3MDk2LCA4NzEwNSwgODcxMTUsIDg3MTI1LCA4NzEzNywgODcxNDksIAorICAgIDg3MTYwLCA4NzE3MSwgODcxODIsIDg3MTkzLCA4NzIwMywgODcyMTMsIDg3MjIzLCA4NzIzMywgODcyNDQsIDg3MjU1LCAKKyAgICA4NzI1OSwgODcyNjQsIDg3MjczLCA4NzI4MiwgODcyODYsIDg3MjkwLCA4NzI5NCwgODcyOTksIDg3MzA0LCA4NzMwOSwgCisgICAgODczMTQsIDg3MzE3LCA4NzMyMSwgMCwgODczMjYsIDg3MzI5LCA4NzMzMiwgODczMzYsIDg3MzQwLCA4NzM0NSwgODczNDksIAorICAgIDg3MzUzLCA4NzM1OCwgODczNjMsIDg3MzcwLCA4NzM3NywgODczODAsIDg3MzgzLCA4NzM4NiwgODczODksIDg3MzkyLCAKKyAgICA4NzM5NiwgODc0MDAsIDAsIDg3NDA0LCA4NzQwOSwgODc0MTMsIDg3NDE3LCAwLCAwLCAwLCAwLCA4NzQyMiwgODc0MjcsIAorICAgIDg3NDM0LCA4NzQzOSwgODc0NDQsIDAsIDg3NDQ5LCA4NzQ1NCwgODc0NTksIDg3NDY0LCA4NzQ2OSwgODc0NzQsIDg3NDc5LCAKKyAgICA4NzQ4NCwgODc0ODksIDg3NDk0LCA4NzQ5OSwgODc1MDUsIDg3NTE0LCA4NzUyMywgODc1MzIsIDg3NTQxLCA4NzU1MSwgCisgICAgODc1NjEsIDg3NTcxLCA4NzU4MSwgODc1OTAsIDg3NTk5LCA4NzYwOCwgODc2MTcsIDg3NjIyLCA4NzYyNywgODc2MzMsIAorICAgIDg3NjM5LCA4NzY0NSwgODc2NTEsIDg3NjU5LCA4NzY2NywgODc2NzMsIDg3Njc5LCA4NzY4NSwgODc2OTEsIDg3Njk3LCAKKyAgICA4NzcwMywgODc3MDksIDg3NzE1LCA4NzcyMCwgODc3MjUsIDg3NzMwLCA4NzczNSwgODc3NDAsIDg3NzQ1LCA4Nzc1MCwgCisgICAgODc3NTUsIDg3NzYxLCA4Nzc2NywgODc3NzMsIDg3Nzc5LCA4Nzc4NSwgODc3OTEsIDg3Nzk3LCA4NzgwMywgODc4MDksIAorICAgIDg3ODE1LCA4NzgyMSwgODc4MjcsIDg3ODMzLCA4NzgzOSwgODc4NDUsIDg3ODUxLCA4Nzg1NywgODc4NjMsIDg3ODY5LCAKKyAgICA4Nzg3NSwgODc4ODEsIDg3ODg3LCA4Nzg5MywgODc4OTksIDg3OTA1LCA4NzkxMSwgODc5MTcsIDg3OTIzLCA4NzkyOSwgCisgICAgODc5MzUsIDg3OTQxLCA4Nzk0NywgODc5NTMsIDg3OTU5LCA4Nzk2NSwgODc5NzEsIDg3OTc3LCA4Nzk4MywgODc5ODksIAorICAgIDg3OTk1LCA4ODAwMSwgODgwMDcsIDg4MDEzLCA4ODAxOSwgODgwMjUsIDg4MDMxLCA4ODAzNywgODgwNDMsIDg4MDQ5LCAKKyAgICA4ODA1NSwgODgwNjEsIDg4MDY3LCA4ODA3MywgODgwNzksIDg4MDg1LCA4ODA5MSwgODgwOTcsIDg4MTAzLCA4ODEwOSwgCisgICAgODgxMTUsIDg4MTIwLCA4ODEyNSwgODgxMzAsIDg4MTM1LCA4ODE0MSwgODgxNDcsIDg4MTUzLCA4ODE1OSwgODgxNjUsIAorICAgIDg4MTcxLCA4ODE3NywgODgxODMsIDg4MTg5LCA4ODE5NSwgODgyMDIsIDg4MjA5LCA4ODIxNCwgODgyMTksIDg4MjI0LCAKKyAgICA4ODIyOSwgODgyNDEsIDg4MjUzLCA4ODI2NSwgODgyNzcsIDg4MjkwLCA4ODMwMywgODgzMTEsIDAsIDAsIDg4MzE5LCAwLCAKKyAgICA4ODMyNywgODgzMzEsIDg4MzM1LCA4ODMzOCwgODgzNDIsIDg4MzQ2LCA4ODM0OSwgODgzNTIsIDg4MzU2LCA4ODM2MCwgCisgICAgODgzNjMsIDg4MzY2LCA4ODM2OSwgODgzNzIsIDg4Mzc3LCA4ODM4MCwgODgzODQsIDg4Mzg3LCA4ODM5MCwgODgzOTMsIAorICAgIDg4Mzk2LCA4ODM5OSwgODg0MDIsIDg4NDA1LCA4ODQwOCwgODg0MTEsIDg4NDE0LCA4ODQxNywgODg0MjEsIDg4NDI1LCAKKyAgICA4ODQyOSwgODg0MzMsIDg4NDM4LCA4ODQ0MywgODg0NDksIDg4NDU1LCA4ODQ2MSwgODg0NjYsIDg4NDcyLCA4ODQ3OCwgCisgICAgODg0ODQsIDg4NDg5LCA4ODQ5NSwgODg1MDEsIDg4NTA2LCA4ODUxMiwgODg1MTgsIDg4NTIzLCA4ODUyOSwgODg1MzUsIAorICAgIDg4NTQwLCA4ODU0NSwgODg1NTEsIDg4NTU2LCA4ODU2MiwgODg1NjgsIDg4NTc0LCA4ODU4MCwgODg1ODYsIDg4NTkwLCAKKyAgICA4ODU5NSwgODg1OTksIDg4NjA0LCA4ODYwOCwgODg2MTMsIDg4NjE4LCA4ODYyNCwgODg2MzAsIDg4NjM2LCA4ODY0MSwgCisgICAgODg2NDcsIDg4NjUzLCA4ODY1OSwgODg2NjQsIDg4NjcwLCA4ODY3NiwgODg2ODEsIDg4Njg3LCA4ODY5MywgODg2OTgsIAorICAgIDg4NzA0LCA4ODcxMCwgODg3MTUsIDg4NzIwLCA4ODcyNiwgODg3MzEsIDg4NzM3LCA4ODc0MywgODg3NDksIDg4NzU1LCAKKyAgICA4ODc2MSwgODg3NjYsIDg4NzcwLCA4ODc3NSwgODg3NzgsIDg4NzgzLCA4ODc4OCwgODg3OTQsIDg4Nzk5LCA4ODgwNCwgCisgICAgODg4MDgsIDg4ODE0LCA4ODgxOSwgODg4MjQsIDg4ODI5LCA4ODgzNCwgODg4MzksIDg4ODQ0LCA4ODg0OSwgODg4NTUsIAorICAgIDg4ODYxLCA4ODg2NywgODg4NzUsIDg4ODc5LCA4ODg4MywgODg4ODcsIDg4ODkxLCA4ODg5NSwgODg4OTksIDg4OTA0LCAKKyAgICA4ODkwOSwgODg5MTQsIDg4OTE5LCA4ODkyNCwgODg5MjksIDg4OTM0LCA4ODkzOSwgODg5NDQsIDg4OTQ5LCA4ODk1NCwgCisgICAgODg5NTksIDg4OTY0LCA4ODk2OCwgODg5NzIsIDg4OTc3LCA4ODk4MiwgODg5ODcsIDg4OTkyLCA4ODk5NiwgODkwMDEsIAorICAgIDg5MDA2LCA4OTAxMSwgODkwMTYsIDg5MDIwLCA4OTAyNSwgODkwMzAsIDg5MDM1LCA4OTA0MCwgODkwNDQsIDg5MDQ5LCAKKyAgICA4OTA1NCwgODkwNTksIDg5MDY0LCA4OTA2OSwgODkwNzQsIDg5MDc5LCA4OTA4NCwgODkwODksIDg5MDk2LCA4OTEwMywgCisgICAgODkxMDcsIDg5MTEyLCA4OTExNywgODkxMjIsIDg5MTI3LCA4OTEzMiwgODkxMzcsIDg5MTQyLCA4OTE0NywgODkxNTIsIAorICAgIDg5MTU3LCA4OTE2MiwgODkxNjcsIDg5MTcyLCA4OTE3NywgODkxODIsIDg5MTg3LCA4OTE5MiwgODkxOTcsIDg5MjAyLCAKKyAgICA4OTIwNywgODkyMTIsIDg5MjE3LCA4OTIyMiwgODkyMjcsIDg5MjMyLCA4OTIzNywgODkyNDIsIDg5MjQ3LCA4OTI1MiwgMCwgCisgICAgMCwgMCwgODkyNTcsIDg5MjYxLCA4OTI2NiwgODkyNzAsIDg5Mjc1LCA4OTI4MCwgMCwgMCwgODkyODQsIDg5Mjg5LCAKKyAgICA4OTI5NCwgODkyOTgsIDg5MzAzLCA4OTMwOCwgMCwgMCwgODkzMTMsIDg5MzE4LCA4OTMyMiwgODkzMjcsIDg5MzMyLCAKKyAgICA4OTMzNywgMCwgMCwgODkzNDIsIDg5MzQ3LCA4OTM1MiwgMCwgMCwgMCwgODkzNTYsIDg5MzYwLCA4OTM2NCwgODkzNjgsIAorICAgIDg5MzcxLCA4OTM3NSwgODkzNzksIDAsIDg5MzgzLCA4OTM4OSwgODkzOTIsIDg5Mzk1LCA4OTM5OCwgODk0MDEsIDg5NDA1LCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA4OTQwOSwgODk0MTUsIDg5NDIxLCA4OTQyNywgODk0MzMsIDAsIDAsIAorICAgIDg5NDM3LCA4OTQ0MywgODk0NDksIDg5NDU1LCA4OTQ2MSwgODk0NjcsIDg5NDc0LCA4OTQ4MSwgODk0ODgsIDg5NDk1LCAKKyAgICA4OTUwMiwgODk1MDksIDAsIDg5NTE2LCA4OTUyMywgODk1MzAsIDg5NTM2LCA4OTU0MywgODk1NTAsIDg5NTU3LCA4OTU2NCwgCisgICAgODk1NzAsIDg5NTc3LCA4OTU4NCwgODk1OTEsIDg5NTk4LCA4OTYwNCwgODk2MTEsIDg5NjE4LCA4OTYyNSwgODk2MzIsIAorICAgIDg5NjM4LCA4OTY0NSwgODk2NTIsIDg5NjU5LCA4OTY2NiwgODk2NzMsIDg5NjgwLCA4OTY4NywgMCwgODk2OTQsIDg5NzAxLCAKKyAgICA4OTcwOCwgODk3MTUsIDg5NzIyLCA4OTcyOSwgODk3MzYsIDg5NzQzLCA4OTc1MCwgODk3NTcsIDg5NzY0LCA4OTc3MSwgCisgICAgODk3NzgsIDg5Nzg1LCA4OTc5MSwgODk3OTgsIDg5ODA1LCA4OTgxMiwgODk4MTksIDAsIDg5ODI2LCA4OTgzMywgMCwgCisgICAgODk4NDAsIDg5ODQ3LCA4OTg1NCwgODk4NjEsIDg5ODY4LCA4OTg3NSwgODk4ODIsIDg5ODg5LCA4OTg5NiwgODk5MDMsIAorICAgIDg5OTEwLCA4OTkxNywgODk5MjQsIDg5OTMxLCA4OTkzOCwgMCwgMCwgODk5NDQsIDg5OTQ5LCA4OTk1NCwgODk5NTksIAorICAgIDg5OTY0LCA4OTk2OSwgODk5NzQsIDg5OTc5LCA4OTk4NCwgODk5ODksIDg5OTk0LCA4OTk5OSwgOTAwMDQsIDkwMDA5LCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5MDAxNCwgOTAwMjEsIDkwMDI4LCA5MDAzNSwgOTAwNDIsIDkwMDQ5LCAKKyAgICA5MDA1NiwgOTAwNjMsIDkwMDcwLCA5MDA3NywgOTAwODQsIDkwMDkxLCA5MDA5OCwgOTAxMDUsIDkwMTEyLCA5MDExOSwgCisgICAgOTAxMjYsIDkwMTMzLCA5MDE0MCwgOTAxNDcsIDkwMTU1LCA5MDE2MywgOTAxNzAsIDkwMTc3LCA5MDE4MiwgOTAxOTAsIAorICAgIDkwMTk4LCA5MDIwNSwgOTAyMTIsIDkwMjE3LCA5MDIyNCwgOTAyMjksIDkwMjM0LCA5MDI0MSwgOTAyNDYsIDkwMjUxLCAKKyAgICA5MDI1NiwgOTAyNjQsIDkwMjY5LCA5MDI3NCwgOTAyODEsIDkwMjg2LCA5MDI5MSwgOTAyOTgsIDkwMzA1LCA5MDMxMCwgCisgICAgOTAzMTUsIDkwMzIwLCA5MDMyNSwgOTAzMzAsIDkwMzM1LCA5MDM0MCwgOTAzNDUsIDkwMzUwLCA5MDM1NywgOTAzNjIsIAorICAgIDkwMzY5LCA5MDM3NCwgOTAzNzksIDkwMzg0LCA5MDM4OSwgOTAzOTQsIDkwMzk5LCA5MDQwNCwgOTA0MDksIDkwNDE0LCAKKyAgICA5MDQxOSwgOTA0MjQsIDkwNDMxLCA5MDQzOCwgOTA0NDUsIDkwNDUyLCA5MDQ1OCwgOTA0NjMsIDkwNDcwLCA5MDQ3NSwgCisgICAgOTA0ODAsIDkwNDg5LCA5MDQ5NiwgOTA1MDUsIDkwNTEyLCA5MDUxNywgOTA1MjIsIDkwNTMwLCA5MDUzNSwgOTA1NDAsIAorICAgIDkwNTQ1LCA5MDU1MCwgOTA1NTUsIDkwNTYyLCA5MDU2NywgOTA1NzIsIDkwNTc3LCA5MDU4MiwgOTA1ODcsIDkwNTk0LCAKKyAgICA5MDYwMSwgOTA2MDgsIDkwNjE1LCA5MDYyMiwgOTA2MjksIDkwNjM2LCA5MDY0MywgOTA2NTAsIDkwNjU3LCA5MDY2NCwgCisgICAgOTA2NzEsIDkwNjc4LCA5MDY4NSwgOTA2OTIsIDkwNjk5LCA5MDcwNiwgOTA3MTMsIDkwNzIwLCA5MDcyNywgOTA3MzQsIAorICAgIDkwNzQxLCA5MDc0OCwgOTA3NTUsIDkwNzYyLCA5MDc2OSwgOTA3NzYsIDkwNzgzLCAwLCAwLCAwLCAwLCAwLCA5MDc5MCwgCisgICAgOTA3OTgsIDkwODA2LCAwLCAwLCAwLCAwLCA5MDgxMSwgOTA4MTUsIDkwODE5LCA5MDgyMywgOTA4MjcsIDkwODMxLCAKKyAgICA5MDgzNSwgOTA4MzksIDkwODQzLCA5MDg0NywgOTA4NTIsIDkwODU3LCA5MDg2MiwgOTA4NjcsIDkwODcyLCA5MDg3NywgCisgICAgOTA4ODIsIDkwODg3LCA5MDg5MiwgOTA4OTgsIDkwOTA0LCA5MDkxMCwgOTA5MTcsIDkwOTI0LCA5MDkzMSwgOTA5MzgsIAorICAgIDkwOTQ1LCA5MDk1MiwgOTA5NTgsIDkwOTY0LCA5MDk3MCwgOTA5NzcsIDkwOTg0LCA5MDk5MSwgOTA5OTgsIDkxMDA1LCAKKyAgICA5MTAxMiwgOTEwMTksIDkxMDI2LCA5MTAzMywgOTEwNDAsIDkxMDQ3LCA5MTA1NCwgOTEwNjEsIDkxMDY4LCAwLCAwLCAwLCAKKyAgICA5MTA3NSwgOTEwODMsIDkxMDkxLCA5MTA5OSwgOTExMDcsIDkxMTE1LCA5MTEyNSwgOTExMzUsIDkxMTQzLCA5MTE1MSwgCisgICAgOTExNTksIDkxMTY3LCA5MTE3NSwgOTExODEsIDkxMTg4LCA5MTE5NywgOTEyMDYsIDkxMjE1LCA5MTIyNCwgOTEyMzMsIAorICAgIDkxMjQyLCA5MTI1MiwgOTEyNjMsIDkxMjczLCA5MTI4NCwgOTEyOTMsIDkxMzAyLCA5MTMxMSwgOTEzMjEsIDkxMzMyLCAKKyAgICA5MTM0MiwgOTEzNTMsIDkxMzY0LCA5MTM3MywgOTEzODEsIDkxMzg3LCA5MTM5MywgOTEzOTksIDkxNDA1LCA5MTQxMywgCisgICAgOTE0MjEsIDkxNDI3LCA5MTQzNCwgOTE0NDQsIDkxNDUxLCA5MTQ1OCwgOTE0NjUsIDkxNDcyLCA5MTQ3OSwgOTE0ODksIAorICAgIDkxNDk2LCA5MTUwMywgOTE1MTEsIDkxNTE5LCA5MTUyOCwgOTE1MzcsIDkxNTQ2LCA5MTU1NSwgOTE1NjQsIDkxNTcyLCAKKyAgICA5MTU4MSwgOTE1OTAsIDkxNTk5LCA5MTYwMywgOTE2MTAsIDkxNjE1LCA5MTYyMCwgOTE2MjQsIDkxNjI4LCA5MTYzMiwgCisgICAgOTE2MzYsIDkxNjQxLCA5MTY0NiwgOTE2NTIsIDkxNjU4LCA5MTY2MiwgOTE2NjgsIDkxNjcyLCA5MTY3NiwgOTE2ODAsIAorICAgIDkxNjg0LCA5MTY4OCwgOTE2OTIsIDkxNjk4LCA5MTcwMiwgOTE3MDcsIDAsIDAsIDAsIDkxNzExLCA5MTcxNiwgOTE3MjEsIAorICAgIDkxNzI2LCA5MTczMSwgOTE3MzgsIDkxNzQzLCA5MTc0OCwgOTE3NTMsIDkxNzU4LCA5MTc2MywgOTE3NjgsIDAsIDAsIDAsIAorICAgIDAsIDkxNzczLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCA2MzcwNiwgNjM3MTUsIDYzNzI0LCA2MzczNSwgNjM3NDIsIDYzNzQ3LCA2Mzc1MiwgNjM3NTksIDYzNzY2LCAKLSAgICA2Mzc3MiwgNjM3NzcsIDYzNzgyLCA2Mzc4NywgNjM3OTIsIDYzNzk5LCA2MzgwNCwgNjM4MDksIDYzODE0LCA2MzgyNSwgCi0gICAgNjM4MzAsIDYzODM1LCA2Mzg0MiwgNjM4NDcsIDYzODU0LCA2Mzg1OSwgNjM4NjQsIDYzODcxLCA2Mzg3OCwgNjM4ODUsIAotICAgIDYzODk0LCA2MzkwMywgNjM5MDgsIDYzOTEzLCA2MzkxOCwgNjM5MjUsIDYzOTMwLCA2Mzk0MCwgNjM5NDcsIDYzOTUyLCAKLSAgICA2Mzk1NywgNjM5NjIsIDYzOTY3LCA2Mzk3MiwgNjM5NzcsIDYzOTg2LCA2Mzk5MywgNjQwMDAsIDY0MDA1LCA2NDAxMiwgCi0gICAgNjQwMTcsIDY0MDI0LCA2NDAzMywgNjQwNDQsIDY0MDQ5LCA2NDA1OCwgNjQwNjMsIDY0MDcwLCA2NDA3OSwgNjQwODgsIAotICAgIDY0MDkzLCA2NDA5OCwgNjQxMDUsIDY0MTExLCA2NDExOCwgNjQxMjUsIDY0MTI5LCA2NDEzMywgNjQxMzYsIDY0MTQwLCAKLSAgICA2NDE0NCwgNjQxNDgsIDY0MTUyLCA2NDE1NiwgNjQxNjAsIDY0MTY0LCA2NDE2NywgNjQxNzEsIDY0MTc1LCA2NDE3OSwgCi0gICAgNjQxODMsIDY0MTg3LCA2NDE5MSwgNjQxOTQsIDY0MTk4LCA2NDIwMiwgNjQyMDUsIDY0MjA5LCA2NDIxMywgNjQyMTcsIAotICAgIDY0MjIxLCA2NDIyNSwgNjQyMjksIDY0MjMzLCA2NDIzNywgNjQyNDEsIDY0MjQ1LCA2NDI0OSwgNjQyNTMsIDY0MjU3LCAKLSAgICA2NDI2MSwgNjQyNjUsIDY0MjY5LCA2NDI3MywgNjQyNzcsIDY0MjgxLCA2NDI4NSwgNjQyODksIDY0MjkzLCA2NDI5NywgCi0gICAgNjQzMDEsIDY0MzA1LCA2NDMwOSwgNjQzMTMsIDY0MzE3LCA2NDMyMSwgNjQzMjUsIDY0MzI5LCA2NDMzMywgNjQzMzcsIAotICAgIDY0MzQxLCA2NDM0NSwgNjQzNDksIDY0MzUzLCA2NDM1NywgNjQzNjEsIDY0MzY1LCA2NDM2OSwgNjQzNzMsIDY0Mzc3LCAKLSAgICA2NDM4MSwgNjQzODQsIDY0Mzg4LCA2NDM5MiwgNjQzOTYsIDY0NDAwLCA2NDQwNCwgNjQ0MDgsIDY0NDEyLCA2NDQxNiwgCi0gICAgNjQ0MjAsIDY0NDI0LCA2NDQyOCwgNjQ0MzIsIDY0NDM2LCA2NDQ0MCwgNjQ0NDQsIDY0NDQ4LCA2NDQ1MiwgNjQ0NTYsIAotICAgIDY0NDYwLCA2NDQ2NCwgNjQ0NjgsIDY0NDcyLCA2NDQ3NiwgNjQ0ODAsIDY0NDg0LCA2NDQ4OCwgNjQ0OTIsIDY0NDk2LCAKLSAgICA2NDUwMCwgNjQ1MDQsIDY0NTA4LCA2NDUxMiwgNjQ1MTYsIDY0NTIwLCA2NDUyNCwgNjQ1MjgsIDY0NTMyLCA2NDUzNiwgCi0gICAgNjQ1NDAsIDY0NTQ0LCA2NDU0OCwgNjQ1NTIsIDY0NTU2LCA2NDU2MCwgNjQ1NjQsIDY0NTY4LCA2NDU3MiwgNjQ1NzYsIAotICAgIDY0NTgwLCA2NDU4NCwgNjQ1ODgsIDY0NTkyLCA2NDU5NiwgNjQ2MDAsIDY0NjA0LCA2NDYwOCwgNjQ2MTIsIDY0NjE2LCAKLSAgICA2NDYyMCwgNjQ2MjQsIDY0NjI4LCA2NDYzMiwgNjQ2MzYsIDY0NjQwLCA2NDY0NCwgNjQ2NDgsIDY0NjUyLCA2NDY1NiwgCi0gICAgNjQ2NjAsIDY0NjY0LCA2NDY2OCwgNjQ2NzIsIDY0Njc2LCA2NDY4MCwgNjQ2ODQsIDY0Njg4LCA2NDY5MiwgNjQ2OTYsIAotICAgIDY0NzAwLCA2NDcwNCwgNjQ3MDgsIDY0NzEyLCA2NDcxNiwgNjQ3MjAsIDY0NzI0LCA2NDcyOCwgNjQ3MzIsIDY0NzM2LCAKLSAgICA2NDc0MCwgNjQ3NDQsIDY0NzQ4LCA2NDc1MiwgNjQ3NTYsIDY0NzYwLCA2NDc2NCwgNjQ3NjgsIDY0NzcyLCA2NDc3NiwgCi0gICAgNjQ3ODAsIDY0Nzg0LCA2NDc4OCwgNjQ3OTIsIDY0Nzk2LCA2NDgwMCwgNjQ4MDQsIDY0ODA4LCA2NDgxMiwgNjQ4MTYsIAotICAgIDY0ODIwLCA2NDgyNCwgNjQ4MjgsIDY0ODMyLCA2NDgzNiwgNjQ4NDAsIDY0ODQ0LCA2NDg0OCwgNjQ4NTIsIDY0ODU1LCAKLSAgICA2NDg1OSwgNjQ4NjMsIDY0ODY3LCA2NDg3MSwgNjQ4NzUsIDY0ODc5LCA2NDg4MywgNjQ4ODcsIDY0ODkxLCA2NDg5NSwgCi0gICAgNjQ4OTksIDY0OTAzLCA2NDkwNywgNjQ5MTEsIDY0OTE1LCA2NDkxOSwgNjQ5MjMsIDY0OTI3LCA2NDkzMSwgNjQ5MzUsIAotICAgIDY0OTM5LCA2NDk0MywgNjQ5NDcsIDY0OTUxLCA2NDk1NSwgNjQ5NTksIDY0OTYzLCA2NDk2NywgNjQ5NzEsIDY0OTc1LCAKLSAgICA2NDk3OSwgNjQ5ODMsIDY0OTg3LCA2NDk5MSwgNjQ5OTUsIDY0OTk5LCA2NTAwMywgNjUwMDcsIDY1MDExLCA2NTAxNSwgCi0gICAgNjUwMTksIDY1MDIzLCA2NTAyNywgNjUwMzEsIDY1MDM1LCA2NTAzOSwgNjUwNDMsIDY1MDQ3LCA2NTA1MSwgNjUwNTUsIAotICAgIDY1MDU5LCA2NTA2MywgNjUwNjcsIDY1MDcxLCA2NTA3NSwgNjUwNzksIDY1MDgzLCA2NTA4NywgNjUwOTEsIDY1MDk1LCAKLSAgICA2NTA5OSwgNjUxMDMsIDY1MTA3LCA2NTExMSwgNjUxMTUsIDY1MTE5LCA2NTEyMywgNjUxMjcsIDY1MTMxLCA2NTEzNSwgCi0gICAgNjUxMzksIDY1MTQzLCA2NTE0NywgNjUxNTEsIDY1MTU1LCA2NTE1OSwgNjUxNjMsIDY1MTY3LCA2NTE3MSwgNjUxNzUsIAotICAgIDY1MTc5LCA2NTE4MywgNjUxODcsIDY1MTkxLCA2NTE5NSwgNjUxOTksIDY1MjAzLCA2NTIwNywgNjUyMTEsIDY1MjE1LCAKLSAgICA2NTIxOSwgNjUyMjMsIDY1MjI3LCA2NTIzMSwgNjUyMzUsIDY1MjM5LCA2NTI0MywgNjUyNDcsIDY1MjUxLCA2NTI1NSwgCi0gICAgNjUyNTksIDY1MjYzLCA2NTI2NywgNjUyNzEsIDY1Mjc1LCA2NTI3OSwgNjUyODMsIDY1Mjg3LCA2NTI5MSwgNjUyOTUsIAotICAgIDY1Mjk5LCA2NTMwMywgNjUzMDcsIDY1MzExLCA2NTMxNSwgNjUzMTgsIDY1MzIyLCA2NTMyNiwgNjUzMzAsIDY1MzM0LCAKLSAgICA2NTMzOCwgNjUzNDIsIDY1MzQ2LCA2NTM1MCwgNjUzNTQsIDY1MzU4LCA2NTM2MiwgNjUzNjYsIDY1MzcwLCA2NTM3NCwgCi0gICAgNjUzNzgsIDY1MzgyLCA2NTM4NiwgNjUzOTAsIDY1Mzk0LCA2NTM5OCwgNjU0MDIsIDY1NDA2LCA2NTQxMCwgNjU0MTQsIAotICAgIDY1NDE4LCA2NTQyMiwgNjU0MjYsIDY1NDMwLCA2NTQzNCwgNjU0MzgsIDY1NDQyLCA2NTQ0NiwgNjU0NTAsIDY1NDU0LCAKLSAgICA2NTQ1OCwgNjU0NjIsIDY1NDY2LCA2NTQ3MCwgNjU0NzQsIDY1NDc4LCA2NTQ4MiwgNjU0ODYsIDY1NDkwLCA2NTQ5NCwgCi0gICAgNjU0OTgsIDY1NTAyLCA2NTUwNiwgNjU1MTAsIDY1NTE0LCA2NTUxOCwgNjU1MjIsIDY1NTI2LCA2NTUzMCwgNjU1MzQsIAotICAgIDY1NTM4LCA2NTU0MiwgNjU1NDYsIDY1NTUwLCA2NTU1NCwgNjU1NTgsIDY1NTYyLCA2NTU2NiwgNjU1NzAsIDY1NTc0LCAKLSAgICA2NTU3OCwgNjU1ODIsIDY1NTg2LCA2NTU5MCwgNjU1OTQsIDY1NTk4LCA2NTYwMiwgNjU2MDYsIDY1NjEwLCA2NTYxNCwgCi0gICAgNjU2MTgsIDY1NjIyLCA2NTYyNiwgNjU2MzAsIDY1NjM0LCA2NTYzOCwgNjU2NDIsIDY1NjQ2LCA2NTY1MCwgNjU2NTQsIAotICAgIDY1NjU4LCA2NTY2MiwgNjU2NjYsIDY1NjcwLCA2NTY3NCwgNjU2NzcsIDY1NjgxLCA2NTY4NSwgNjU2ODksIDY1NjkzLCAKLSAgICA2NTY5NywgNjU3MDEsIDY1NzA1LCA2NTcwOSwgNjU3MTMsIDY1NzE3LCA2NTcyMSwgNjU3MjUsIDY1NzI5LCA2NTczMywgCi0gICAgNjU3MzcsIDY1NzQxLCA2NTc0NSwgNjU3NDksIDY1NzUzLCA2NTc1NywgNjU3NjEsIDY1NzY1LCA2NTc2OSwgNjU3NzMsIAotICAgIDY1Nzc3LCA2NTc4MSwgNjU3ODUsIDY1Nzg5LCA2NTc5MywgNjU3OTcsIDY1ODAxLCA2NTgwNSwgNjU4MDksIDY1ODEzLCAKLSAgICA2NTgxNywgNjU4MjEsIDY1ODI1LCA2NTgyOSwgNjU4MzMsIDY1ODM3LCA2NTg0MSwgNjU4NDUsIDY1ODQ5LCA2NTg1MywgCi0gICAgNjU4NTcsIDY1ODYxLCA2NTg2NSwgNjU4NjksIDY1ODczLCA2NTg3NywgNjU4ODEsIDY1ODg1LCA2NTg4OSwgNjU4OTMsIAotICAgIDY1ODk3LCA2NTkwMSwgNjU5MDUsIDY1OTA5LCA2NTkxMywgNjU5MTcsIDY1OTIxLCA2NTkyNSwgNjU5MjksIDY1OTMzLCAKLSAgICA2NTkzNywgNjU5NDEsIDY1OTQ1LCA2NTk0OSwgNjU5NTMsIDY1OTU3LCA2NTk2MSwgNjU5NjUsIDY1OTY5LCA2NTk3MywgCi0gICAgNjU5NzcsIDY1OTgxLCA2NTk4NSwgNjU5ODksIDY1OTkzLCA2NTk5NywgNjYwMDEsIDY2MDA1LCA2NjAwOSwgNjYwMTMsIAotICAgIDY2MDE3LCA2NjAyMSwgNjYwMjUsIDY2MDI5LCA2NjAzMywgNjYwMzcsIDY2MDQxLCA2NjA0NSwgNjYwNDksIDY2MDUzLCAKLSAgICA2NjA1NywgNjYwNjEsIDY2MDY1LCA2NjA2OSwgNjYwNzMsIDY2MDc3LCA2NjA4MSwgNjYwODUsIDY2MDg5LCA2NjA5MywgCi0gICAgNjYwOTcsIDY2MTAxLCA2NjEwNSwgNjYxMDksIDY2MTEzLCA2NjExNywgNjYxMjEsIDY2MTI1LCA2NjEyOSwgNjYxMzMsIAotICAgIDY2MTM3LCA2NjE0MSwgNjYxNDUsIDY2MTQ5LCA2NjE1MywgNjYxNTcsIDY2MTYxLCA2NjE2NSwgNjYxNjksIDY2MTcyLCAKLSAgICA2NjE3NiwgNjYxODAsIDY2MTg0LCA2NjE4OCwgNjYxOTIsIDY2MTk2LCA2NjIwMCwgNjYyMDQsIDY2MjA4LCA2NjIxMiwgCi0gICAgNjYyMTYsIDY2MjIwLCA2NjIyNCwgNjYyMjgsIDY2MjMyLCA2NjIzNiwgNjYyNDAsIDY2MjQ0LCA2NjI0OCwgNjYyNTIsIAotICAgIDY2MjU2LCA2NjI2MCwgNjYyNjQsIDY2MjY4LCA2NjI3MiwgNjYyNzYsIDY2MjgwLCA2NjI4NCwgNjYyODgsIDY2MjkyLCAKLSAgICA2NjI5NiwgNjYzMDAsIDY2MzA0LCA2NjMwOCwgNjYzMTIsIDY2MzE2LCA2NjMyMCwgNjYzMjQsIDY2MzI4LCA2NjMzMiwgCi0gICAgNjYzMzYsIDY2MzQwLCA2NjM0NCwgNjYzNDgsIDY2MzUyLCA2NjM1NiwgNjYzNjAsIDY2MzY0LCA2NjM2OCwgNjYzNzIsIAotICAgIDY2Mzc2LCA2NjM4MCwgNjYzODQsIDY2Mzg4LCA2NjM5MiwgNjYzOTYsIDY2NDAwLCA2NjQwNCwgNjY0MDgsIDY2NDEyLCAKLSAgICA2NjQxNiwgNjY0MjAsIDY2NDI0LCA2NjQyOCwgNjY0MzIsIDY2NDM2LCA2NjQ0MCwgNjY0NDQsIDY2NDQ4LCA2NjQ1MiwgCi0gICAgNjY0NTYsIDY2NDYwLCA2NjQ2NCwgNjY0NjgsIDY2NDcyLCA2NjQ3NiwgNjY0ODAsIDY2NDg0LCA2NjQ4OCwgNjY0OTIsIAotICAgIDY2NDk2LCA2NjUwMCwgNjY1MDQsIDY2NTA4LCA2NjUxMiwgNjY1MTYsIDY2NTIwLCA2NjUyNCwgNjY1MjgsIDY2NTMyLCAKLSAgICA2NjUzNiwgNjY1NDAsIDY2NTQ0LCA2NjU0OCwgNjY1NTIsIDY2NTU2LCA2NjU2MCwgNjY1NjQsIDY2NTY4LCA2NjU3MiwgCi0gICAgNjY1NzYsIDY2NTgwLCA2NjU4NCwgNjY1ODgsIDY2NTkyLCA2NjU5NiwgNjY2MDAsIDY2NjA0LCA2NjYwOCwgNjY2MTIsIAotICAgIDY2NjE2LCA2NjYyMCwgNjY2MjQsIDY2NjI3LCA2NjYzMSwgNjY2MzUsIDY2NjM5LCA2NjY0MywgNjY2NDcsIDY2NjUxLCAKLSAgICA2NjY1NSwgNjY2NTksIDY2NjYzLCA2NjY2NywgNjY2NzEsIDY2Njc1LCA2NjY3OSwgNjY2ODMsIDY2Njg3LCA2NjY5MSwgCi0gICAgNjY2OTUsIDY2Njk5LCA2NjcwMywgNjY3MDcsIDY2NzExLCA2NjcxNSwgNjY3MTksIDY2NzIzLCA2NjcyNywgNjY3MzEsIAotICAgIDY2NzM1LCA2NjczOSwgNjY3NDMsIDY2NzQ3LCA2Njc1MSwgNjY3NTUsIDY2NzU5LCA2Njc2MywgNjY3NjcsIDY2NzcxLCAKLSAgICA2Njc3NSwgNjY3NzksIDY2NzgzLCA2Njc4NywgNjY3OTEsIDY2Nzk1LCA2Njc5OSwgNjY4MDMsIDY2ODA3LCA2NjgxMSwgCi0gICAgNjY4MTUsIDY2ODE5LCA2NjgyMywgNjY4MjcsIDY2ODMxLCA2NjgzNSwgNjY4MzksIDY2ODQzLCA2Njg0NywgNjY4NTEsIAotICAgIDY2ODU1LCA2Njg1OSwgNjY4NjMsIDY2ODY3LCA2Njg3MSwgNjY4NzUsIDY2ODc5LCA2Njg4MywgNjY4ODcsIDY2ODkxLCAKLSAgICA2Njg5NSwgNjY4OTksIDY2OTAzLCA2NjkwNywgNjY5MTEsIDY2OTE1LCA2NjkxOSwgNjY5MjMsIDY2OTI3LCA2NjkzMSwgCi0gICAgNjY5MzUsIDY2OTM5LCA2Njk0MywgNjY5NDcsIDY2OTUxLCA2Njk1NSwgNjY5NTksIDY2OTYzLCA2Njk2NywgNjY5NzEsIAotICAgIDY2OTc1LCA2Njk3OSwgNjY5ODMsIDY2OTg3LCA2Njk5MSwgNjY5OTUsIDY2OTk5LCA2NzAwMywgNjcwMDcsIDY3MDExLCAKLSAgICA2NzAxNSwgNjcwMTksIDY3MDIzLCA2NzAyNywgNjcwMzEsIDY3MDM1LCA2NzAzOSwgNjcwNDMsIDY3MDQ3LCA2NzA1MSwgCi0gICAgNjcwNTUsIDY3MDU5LCA2NzA2MywgNjcwNjcsIDY3MDcxLCA2NzA3NSwgNjcwNzksIDY3MDgzLCA2NzA4NywgNjcwOTEsIAotICAgIDY3MDk1LCA2NzA5OSwgNjcxMDMsIDY3MTA3LCA2NzExMSwgNjcxMTUsIDY3MTE5LCA2NzEyMywgNjcxMjcsIDY3MTMxLCAKLSAgICA2NzEzNSwgNjcxMzksIDY3MTQzLCA2NzE0NywgNjcxNTEsIDY3MTU1LCA2NzE1OSwgNjcxNjMsIDY3MTY3LCA2NzE3MSwgCi0gICAgNjcxNzUsIDY3MTc5LCA2NzE4MywgNjcxODcsIDY3MTkxLCA2NzE5NSwgNjcxOTksIDY3MjAzLCA2NzIwNywgNjcyMTEsIAotICAgIDY3MjE1LCA2NzIxOSwgNjcyMjMsIDY3MjI3LCA2NzIzMCwgNjcyMzQsIDY3MjM4LCA2NzI0MiwgNjcyNDYsIDY3MjUwLCAKLSAgICA2NzI1NCwgNjcyNTgsIDY3MjYxLCA2NzI2NSwgNjcyNjksIDY3MjczLCA2NzI3NywgNjcyODEsIDY3Mjg1LCA2NzI4OSwgCi0gICAgNjcyOTMsIDY3Mjk3LCA2NzMwMSwgNjczMDUsIDY3MzA5LCA2NzMxMywgNjczMTcsIDY3MzIxLCA2NzMyNSwgNjczMjksIAotICAgIDY3MzMzLCA2NzMzNywgNjczNDEsIDY3MzQ1LCA2NzM0OSwgNjczNTMsIDY3MzU3LCA2NzM2MSwgNjczNjUsIDY3MzY5LCAKLSAgICA2NzM3MywgNjczNzcsIDY3MzgxLCA2NzM4NSwgNjczODksIDY3MzkzLCA2NzM5NywgNjc0MDEsIDY3NDA1LCA2NzQwOSwgCi0gICAgNjc0MTMsIDY3NDE3LCA2NzQyMSwgNjc0MjUsIDY3NDI5LCA2NzQzMywgNjc0MzcsIDY3NDQxLCA2NzQ0NSwgNjc0NDksIAotICAgIDY3NDUzLCA2NzQ1NywgNjc0NjEsIDY3NDY1LCA2NzQ2OSwgNjc0NzMsIDY3NDc3LCA2NzQ4MSwgNjc0ODUsIDY3NDg5LCAKLSAgICA2NzQ5MywgNjc0OTcsIDY3NTAxLCA2NzUwNSwgNjc1MDksIDY3NTEzLCA2NzUxNywgNjc1MjEsIDY3NTI1LCA2NzUyOSwgCi0gICAgNjc1MzMsIDY3NTM3LCA2NzU0MSwgNjc1NDUsIDY3NTQ5LCA2NzU1MywgNjc1NTcsIDY3NTYxLCA2NzU2NSwgNjc1NjksIAotICAgIDY3NTczLCA2NzU3NywgNjc1ODEsIDY3NTg1LCA2NzU4OSwgNjc1OTMsIDY3NTk3LCA2NzYwMSwgNjc2MDUsIDY3NjA5LCAKLSAgICA2NzYxMywgNjc2MTcsIDY3NjIxLCA2NzYyNSwgNjc2MjksIDY3NjMzLCA2NzYzNywgNjc2NDEsIDY3NjQ1LCA2NzY0OSwgCi0gICAgNjc2NTMsIDY3NjU3LCA2NzY2MSwgNjc2NjUsIDY3NjY5LCA2NzY3MywgNjc2NzcsIDY3NjgxLCA2NzY4NSwgNjc2ODksIAotICAgIDY3NjkzLCA2NzY5NywgNjc3MDEsIDY3NzA1LCA2NzcwOSwgNjc3MTMsIDY3NzE3LCA2NzcyMSwgNjc3MjUsIDY3NzI5LCAKLSAgICA2NzczMywgNjc3MzcsIDY3NzQxLCA2Nzc0NSwgNjc3NDksIDY3NzUzLCA2Nzc1NywgNjc3NjEsIDY3NzY1LCA2Nzc2OSwgCi0gICAgNjc3NzMsIDY3Nzc3LCA2Nzc4MSwgNjc3ODUsIDY3Nzg5LCA2Nzc5MywgNjc3OTcsIDY3ODAxLCA2NzgwNSwgNjc4MDksIAotICAgIDY3ODEzLCA2NzgxNywgNjc4MjEsIDY3ODI1LCA2NzgyOSwgNjc4MzMsIDY3ODM3LCA2Nzg0MSwgNjc4NDUsIDY3ODQ5LCAKLSAgICA2Nzg1MywgNjc4NTcsIDY3ODYxLCA2Nzg2NSwgNjc4NjksIDY3ODczLCA2Nzg3NywgNjc4ODEsIDY3ODg1LCA2Nzg4OSwgCi0gICAgNjc4OTMsIDY3ODk3LCA2NzkwMSwgNjc5MDUsIDY3OTA5LCA2NzkxMywgNjc5MTcsIDY3OTIxLCA2NzkyNSwgNjc5MjksIAotICAgIDY3OTMzLCA2NzkzNywgNjc5NDEsIDY3OTQ1LCA2Nzk0OSwgNjc5NTMsIDY3OTU3LCA2Nzk2MSwgNjc5NjUsIDY3OTY5LCAKLSAgICA2Nzk3MywgNjc5NzcsIDY3OTgxLCA2Nzk4NSwgNjc5ODgsIDY3OTkyLCA2Nzk5NiwgNjgwMDAsIDY4MDA0LCA2ODAwOCwgCi0gICAgNjgwMTIsIDY4MDE2LCA2ODAyMCwgNjgwMjQsIDY4MDI4LCA2ODAzMiwgNjgwMzYsIDY4MDQwLCA2ODA0NCwgNjgwNDgsIAotICAgIDY4MDUyLCA2ODA1NiwgNjgwNjAsIDY4MDY0LCA2ODA2OCwgNjgwNzIsIDY4MDc2LCA2ODA4MCwgNjgwODQsIDY4MDg4LCAKLSAgICA2ODA5MiwgNjgwOTYsIDY4MTAwLCA2ODEwNCwgNjgxMDgsIDY4MTEyLCA2ODExNiwgNjgxMjAsIDY4MTI0LCA2ODEyOCwgCi0gICAgNjgxMzIsIDY4MTM2LCA2ODE0MCwgNjgxNDQsIDY4MTQ4LCA2ODE1MiwgNjgxNTYsIDY4MTYwLCA2ODE2NCwgNjgxNjgsIAotICAgIDY4MTcyLCA2ODE3NiwgNjgxODAsIDY4MTg0LCA2ODE4OCwgNjgxOTIsIDY4MTk2LCA2ODIwMCwgNjgyMDQsIDY4MjA4LCAKLSAgICA2ODIxMiwgNjgyMTYsIDY4MjIwLCA2ODIyNCwgNjgyMjgsIDY4MjMyLCA2ODIzNiwgNjgyNDAsIDY4MjQ0LCA2ODI0OCwgCi0gICAgNjgyNTIsIDY4MjU2LCA2ODI2MCwgNjgyNjQsIDY4MjY4LCA2ODI3MiwgNjgyNzYsIDY4MjgwLCA2ODI4NCwgNjgyODgsIAotICAgIDY4MjkyLCA2ODI5NiwgNjgzMDAsIDY4MzA0LCA2ODMwOCwgNjgzMTIsIDY4MzE2LCA2ODMyMCwgNjgzMjQsIDY4MzI4LCAKLSAgICA2ODMzMiwgNjgzMzYsIDY4MzQwLCA2ODM0NCwgNjgzNDgsIDY4MzUyLCA2ODM1NiwgNjgzNjAsIDY4MzY0LCA2ODM2OCwgCi0gICAgNjgzNzIsIDY4Mzc2LCA2ODM4MCwgNjgzODQsIDY4Mzg4LCA2ODM5MiwgNjgzOTYsIDY4NDAwLCA2ODQwNCwgNjg0MDgsIAotICAgIDY4NDEyLCA2ODQxNiwgNjg0MjAsIDY4NDI0LCA2ODQyOCwgNjg0MzIsIDY4NDM2LCA2ODQ0MCwgNjg0NDQsIDY4NDQ4LCAKLSAgICA2ODQ1MiwgNjg0NTYsIDY4NDYwLCA2ODQ2NCwgNjg0NjgsIDY4NDcyLCA2ODQ3NiwgNjg0ODAsIDY4NDg0LCA2ODQ4OCwgCi0gICAgNjg0OTIsIDY4NDk2LCA2ODUwMCwgNjg1MDQsIDY4NTA4LCA2ODUxMiwgNjg1MTYsIDY4NTIwLCA2ODUyNCwgNjg1MjgsIAotICAgIDY4NTMyLCA2ODUzNiwgNjg1NDAsIDY4NTQ0LCA2ODU0OCwgNjg1NTIsIDY4NTU2LCA2ODU2MCwgNjg1NjQsIDY4NTY4LCAKLSAgICA2ODU3MiwgNjg1NzYsIDY4NTgwLCA2ODU4NCwgNjg1ODgsIDY4NTkyLCA2ODU5NiwgNjg2MDAsIDY4NjA0LCA2ODYwOCwgCi0gICAgNjg2MTIsIDY4NjE2LCA2ODYyMCwgNjg2MjQsIDY4NjI4LCA2ODYzMiwgNjg2MzYsIDY4NjQwLCA2ODY0NCwgNjg2NDgsIAotICAgIDY4NjUyLCA2ODY1NiwgNjg2NjAsIDY4NjY0LCA2ODY2OCwgNjg2NzIsIDY4Njc2LCA2ODY4MCwgNjg2ODQsIDY4Njg4LCAKLSAgICA2ODY5MiwgNjg2OTYsIDY4NzAwLCA2ODcwNCwgNjg3MDgsIDY4NzEyLCA2ODcxNiwgNjg3MjAsIDY4NzI0LCA2ODcyOCwgCi0gICAgNjg3MzIsIDY4NzM2LCA2ODc0MCwgNjg3NDQsIDY4NzQ4LCA2ODc1MiwgNjg3NTYsIDY4NzYwLCA2ODc2NCwgNjg3NjgsIDAsIAotICAgIDAsIDAsIDY4NzcyLCA2ODc3NiwgNjg3ODAsIDY4Nzg0LCA2ODc4OCwgNjg3OTIsIDY4Nzk2LCA2ODgwMCwgNjg4MDQsIAotICAgIDY4ODA4LCA2ODgxMiwgNjg4MTYsIDY4ODIwLCA2ODgyNCwgNjg4MjgsIDY4ODMyLCA2ODgzNiwgNjg4NDAsIDY4ODQ0LCAKLSAgICA2ODg0OCwgNjg4NTIsIDY4ODU2LCA2ODg2MCwgNjg4NjQsIDY4ODY4LCA2ODg3MiwgNjg4NzYsIDY4ODgwLCA2ODg4NCwgCi0gICAgNjg4ODgsIDY4ODkyLCA2ODg5NiwgNjg5MDAsIDY4OTA0LCA2ODkwOCwgNjg5MTIsIDY4OTE2LCA2ODkyMCwgNjg5MjQsIAotICAgIDY4OTI4LCA2ODkzMiwgNjg5MzYsIDY4OTQwLCA2ODk0NCwgNjg5NDgsIDY4OTUyLCA2ODk1NiwgNjg5NjAsIDY4OTY0LCAKLSAgICA2ODk2OCwgNjg5NzIsIDY4OTc2LCA2ODk4MCwgNjg5ODQsIDY4OTg4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICA2ODk5MiwgNjg5OTcsIDY5MDAxLCA2OTAwNiwgNjkwMTEsIDY5MDE2LCA2OTAyMSwgNjkwMjYsIDY5MDMwLCA2OTAzNSwgCi0gICAgNjkwNDAsIDY5MDQ1LCA2OTA1MCwgNjkwNTUsIDY5MDYwLCA2OTA2NSwgNjkwNjksIDY5MDczLCA2OTA3OCwgNjkwODIsIAotICAgIDY5MDg3LCA2OTA5MiwgNjkwOTcsIDY5MTAxLCA2OTEwNiwgNjkxMTEsIDY5MTE2LCA2OTEyMSwgNjkxMjYsIDY5MTMwLCAKLSAgICA2OTEzNSwgNjkxMzksIDY5MTQ0LCA2OTE0OCwgNjkxNTMsIDY5MTU3LCA2OTE2MSwgNjkxNjUsIDY5MTcwLCA2OTE3NSwgCi0gICAgNjkxODAsIDY5MTg4LCA2OTE5NiwgNjkyMDQsIDY5MjEyLCA2OTIxOSwgNjkyMjcsIDY5MjMzLCA2OTI0MSwgNjkyNDUsIAotICAgIDY5MjQ5LCA2OTI1MywgNjkyNTcsIDY5MjYxLCA2OTI2NSwgNjkyNjksIDY5MjczLCA2OTI3NywgNjkyODEsIDY5Mjg1LCAKLSAgICA2OTI4OSwgNjkyOTMsIDY5Mjk3LCA2OTMwMSwgNjkzMDUsIDY5MzA5LCA2OTMxMywgNjkzMTcsIDY5MzIxLCA2OTMyNSwgCi0gICAgNjkzMjksIDY5MzMzLCA2OTMzNywgNjkzNDEsIDY5MzQ1LCA2OTM0OSwgNjkzNTMsIDY5MzU3LCA2OTM2MSwgNjkzNjUsIAotICAgIDY5MzY5LCA2OTM3MywgNjkzNzcsIDY5MzgxLCA2OTM4NSwgNjkzODgsIDY5MzkyLCA2OTM5NiwgNjk0MDAsIDY5NDA0LCAKLSAgICA2OTQwOCwgNjk0MTIsIDY5NDE2LCA2OTQyMCwgNjk0MjQsIDY5NDI4LCA2OTQzMiwgNjk0MzYsIDY5NDQwLCA2OTQ0NCwgCi0gICAgNjk0NDgsIDY5NDUyLCA2OTQ1NiwgNjk0NjAsIDY5NDY0LCA2OTQ2OCwgNjk0NzIsIDY5NDc2LCA2OTQ4MCwgNjk0ODQsIAotICAgIDY5NDg4LCA2OTQ5MiwgNjk0OTYsIDY5NTAwLCA2OTUwNCwgNjk1MDgsIDY5NTEyLCA2OTUxNiwgNjk1MjAsIDY5NTI0LCAKLSAgICA2OTUyOCwgNjk1MzIsIDY5NTM1LCA2OTUzOSwgNjk1NDMsIDY5NTQ2LCA2OTU1MCwgNjk1NTQsIDY5NTU4LCA2OTU2MSwgCi0gICAgNjk1NjUsIDY5NTY5LCA2OTU3MywgNjk1NzcsIDY5NTgxLCA2OTU4NSwgNjk1ODksIDY5NTkzLCA2OTU5NywgNjk2MDEsIAotICAgIDY5NjA1LCA2OTYwOSwgNjk2MTMsIDY5NjE3LCA2OTYyMCwgNjk2MjQsIDY5NjI4LCA2OTYzMSwgNjk2MzUsIDY5NjM5LCAKLSAgICA2OTY0MywgNjk2NDcsIDY5NjUxLCA2OTY1NSwgNjk2NTgsIDY5NjYxLCA2OTY2NSwgNjk2NjksIDY5NjczLCA2OTY3NiwgCi0gICAgNjk2NzksIDY5NjgzLCA2OTY4NywgNjk2OTEsIDY5Njk1LCA2OTY5OSwgNjk3MDMsIDY5NzA3LCA2OTcxMSwgNjk3MTUsIAotICAgIDY5NzE5LCA2OTcyMywgNjk3MjcsIDY5NzMxLCA2OTczNSwgNjk3MzksIDY5NzQzLCA2OTc0NywgNjk3NTEsIDY5NzU1LCAKLSAgICA2OTc1OSwgNjk3NjMsIDY5NzY3LCA2OTc3MSwgNjk3NzUsIDY5Nzc5LCA2OTc4MywgNjk3ODcsIDY5NzkxLCA2OTc5NSwgCi0gICAgNjk3OTksIDY5ODAzLCA2OTgwNywgNjk4MTEsIDY5ODE1LCA2OTgxOSwgNjk4MjMsIDY5ODI3LCA2OTgzMCwgNjk4MzQsIAotICAgIDY5ODM4LCA2OTg0MiwgNjk4NDYsIDY5ODUwLCA2OTg1NCwgNjk4NTgsIDY5ODYyLCA2OTg2NiwgNjk4NzAsIDY5ODc0LCAKLSAgICA2OTg3OCwgNjk4ODIsIDY5ODg2LCA2OTg5MCwgNjk4OTQsIDY5ODk4LCA2OTkwMiwgNjk5MDYsIDY5OTEwLCA2OTkxNCwgCi0gICAgNjk5MTgsIDY5OTIyLCA2OTkyNiwgNjk5MzAsIDY5OTM0LCA2OTkzOCwgNjk5NDIsIDY5OTQ2LCA2OTk1MCwgNjk5NTQsIAotICAgIDY5OTU4LCA2OTk2MiwgNjk5NjYsIDY5OTcwLCA2OTk3NCwgNjk5NzcsIDY5OTgxLCA2OTk4NSwgNjk5ODksIDY5OTkzLCAKLSAgICA2OTk5NywgNzAwMDEsIDcwMDA1LCA3MDAwOSwgNzAwMTMsIDcwMDE3LCA3MDAyMSwgNzAwMjUsIDcwMDI5LCA3MDAzMywgCi0gICAgNzAwMzcsIDcwMDQxLCA3MDA0NCwgNzAwNDgsIDcwMDUyLCA3MDA1NiwgNzAwNjAsIDcwMDY0LCA3MDA2OCwgNzAwNzIsIAotICAgIDcwMDc2LCA3MDA4MCwgNzAwODQsIDcwMDg4LCA3MDA5MiwgNzAwOTYsIDcwMTAwLCA3MDEwNCwgNzAxMDgsIDcwMTEyLCAKLSAgICA3MDExNiwgNzAxMjAsIDcwMTI0LCA3MDEyOCwgNzAxMzEsIDcwMTM1LCA3MDEzOSwgNzAxNDMsIDcwMTQ3LCA3MDE1MSwgCi0gICAgNzAxNTUsIDcwMTU5LCA3MDE2MywgNzAxNjcsIDcwMTcxLCA3MDE3NSwgNzAxNzksIDcwMTgzLCA3MDE4NywgNzAxOTEsIAotICAgIDcwMTk1LCA3MDE5OSwgNzAyMDMsIDcwMjA3LCA3MDIxMSwgNzAyMTUsIDcwMjE5LCA3MDIyMywgNzAyMjcsIDcwMjMxLCAKLSAgICA3MDIzNSwgNzAyMzksIDcwMjQzLCA3MDI0NywgNzAyNTEsIDcwMjU1LCA3MDI1OSwgNzAyNjMsIDcwMjY3LCA3MDI3MSwgCi0gICAgNzAyNzUsIDcwMjc5LCA3MDI4MywgNzAyODcsIDcwMjkxLCA3MDI5NSwgNzAyOTksIDcwMzAzLCA3MDMwNiwgNzAzMTEsIAotICAgIDcwMzE1LCA3MDMyMSwgNzAzMjYsIDcwMzMyLCA3MDMzNiwgNzAzNDAsIDcwMzQ0LCA3MDM0OCwgNzAzNTIsIDcwMzU2LCAKLSAgICA3MDM2MCwgNzAzNjQsIDcwMzY4LCA3MDM3MiwgNzAzNzYsIDcwMzgwLCA3MDM4NCwgNzAzODgsIDcwMzkxLCA3MDM5NCwgCi0gICAgNzAzOTcsIDcwNDAwLCA3MDQwMywgNzA0MDYsIDcwNDA5LCA3MDQxMiwgNzA0MTUsIDcwNDIwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA3MDQyNiwgNzA0MzEsIDcwNDM2LCA3MDQ0MSwgCi0gICAgNzA0NDYsIDcwNDUzLCA3MDQ2MCwgNzA0NjUsIDcwNDcwLCA3MDQ3NSwgNzA0ODAsIDcwNDg3LCA3MDQ5NCwgNzA1MDEsIAotICAgIDcwNTA4LCA3MDUxNSwgNzA1MjIsIDcwNTMyLCA3MDU0MiwgNzA1NDksIDcwNTU2LCA3MDU2MywgNzA1NzAsIDcwNTc2LCAKLSAgICA3MDU4MiwgNzA1OTEsIDcwNjAwLCA3MDYwNywgNzA2MTQsIDcwNjI1LCA3MDYzNiwgNzA2NDEsIDcwNjQ2LCA3MDY1MywgCi0gICAgNzA2NjAsIDcwNjY3LCA3MDY3NCwgNzA2ODEsIDcwNjg4LCA3MDY5NSwgNzA3MDIsIDcwNzA4LCA3MDcxNCwgNzA3MjAsIAotICAgIDcwNzI2LCA3MDczMywgNzA3NDAsIDcwNzQ1LCA3MDc0OSwgNzA3NTYsIDcwNzYzLCA3MDc3MCwgNzA3NzQsIDcwNzgxLCAKLSAgICA3MDc4NSwgNzA3OTAsIDcwNzk0LCA3MDgwMCwgNzA4MDUsIDcwODExLCA3MDgxNiwgNzA4MjAsIDcwODI0LCA3MDgyNywgCi0gICAgNzA4MzAsIDcwODM1LCA3MDg0MCwgNzA4NDUsIDcwODUwLCA3MDg1NSwgNzA4NjAsIDcwODY1LCA3MDg3MCwgNzA4NzUsIAotICAgIDcwODgwLCA3MDg4OSwgNzA4OTgsIDcwOTAzLCA3MDkwOCwgNzA5MTMsIDcwOTE4LCA3MDkyMywgNzA5MjgsIDcwOTMzLCAKLSAgICA3MDkzOCwgNzA5NDMsIDcwOTQ4LCA3MDk1MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNzA5NTgsIDcwOTY0LCA3MDk2NywgCi0gICAgNzA5NzAsIDcwOTczLCA3MDk3NywgNzA5ODEsIDcwOTg1LCA3MDk4OSwgNzA5OTIsIDcwOTk2LCA3MDk5OSwgNzEwMDMsIAotICAgIDcxMDA2LCA3MTAxMCwgNzEwMTQsIDcxMDE4LCA3MTAyMiwgNzEwMjYsIDcxMDMwLCA3MTAzNCwgNzEwMzcsIDcxMDQxLCAKLSAgICA3MTA0NSwgNzEwNDksIDcxMDUzLCA3MTA1NywgNzEwNjEsIDcxMDY1LCA3MTA2OSwgNzEwNzMsIDcxMDc3LCA3MTA4MSwgCi0gICAgNzEwODUsIDcxMDg5LCA3MTA5MywgNzEwOTYsIDcxMTAwLCA3MTEwNCwgNzExMDgsIDcxMTEyLCA3MTExNiwgNzExMjAsIAotICAgIDcxMTI0LCA3MTEyOCwgNzExMzIsIDcxMTM2LCA3MTE0MCwgNzExNDQsIDcxMTQ4LCA3MTE1MiwgNzExNTYsIDcxMTYwLCAKLSAgICA3MTE2NCwgNzExNjgsIDcxMTcyLCA3MTE3NiwgNzExODAsIDcxMTg0LCA3MTE4OCwgNzExOTIsIDcxMTk1LCA3MTE5OSwgCi0gICAgNzEyMDMsIDcxMjA3LCA3MTIxMSwgNzEyMTUsIDcxMjE5LCA3MTIyMywgNzEyMjYsIDcxMjMwLCA3MTIzNCwgNzEyMzgsIAotICAgIDcxMjQyLCA3MTI0NiwgNzEyNTAsIDcxMjU0LCA3MTI1OCwgNzEyNjIsIDcxMjY2LCA3MTI3MCwgNzEyNzQsIDcxMjc5LCAKLSAgICA3MTI4NCwgNzEyODcsIDcxMjkyLCA3MTI5NSwgNzEyOTgsIDcxMzAxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA3MTMwNSwgCi0gICAgNzEzMTQsIDcxMzIzLCA3MTMzMiwgNzEzNDEsIDcxMzUwLCA3MTM1OSwgNzEzNjgsIDcxMzc3LCA3MTM4NSwgNzEzOTIsIAotICAgIDcxNDAwLCA3MTQwNywgNzE0MTUsIDcxNDI1LCA3MTQzNCwgNzE0NDQsIDcxNDUzLCA3MTQ2MywgNzE0NzEsIDcxNDc4LCAKLSAgICA3MTQ4NiwgNzE0OTMsIDcxNTAxLCA3MTUwNiwgNzE1MTEsIDcxNTE2LCA3MTUyNSwgNzE1MzEsIDcxNTM3LCA3MTU0NCwgCi0gICAgNzE1NTMsIDcxNTYxLCA3MTU2OSwgNzE1NzcsIDcxNTg0LCA3MTU5MSwgNzE1OTgsIDcxNjA1LCA3MTYxMCwgNzE2MTUsIAotICAgIDcxNjIwLCA3MTYyNSwgNzE2MzAsIDcxNjM1LCA3MTY0MCwgNzE2NDUsIDcxNjUzLCA3MTY2MSwgNzE2NjcsIDcxNjczLCAKLSAgICA3MTY3OCwgNzE2ODMsIDcxNjg4LCA3MTY5MywgNzE2OTgsIDcxNzAzLCA3MTcwOCwgNzE3MTMsIDcxNzIxLCA3MTcyOSwgCi0gICAgNzE3MzQsIDcxNzM5LCA3MTc0OSwgNzE3NTksIDcxNzY2LCA3MTc3MywgNzE3ODIsIDcxNzkxLCA3MTgwMywgNzE4MTUsIAotICAgIDcxODIxLCA3MTgyNywgNzE4MzUsIDcxODQzLCA3MTg1MywgNzE4NjMsIDcxODcwLCA3MTg3NywgNzE4ODIsIDcxODg3LCAKLSAgICA3MTg5OSwgNzE5MTEsIDcxOTE5LCA3MTkyNywgNzE5MzcsIDcxOTQ3LCA3MTk1OSwgNzE5NzEsIDcxOTgwLCA3MTk4OSwgCi0gICAgNzE5OTYsIDcyMDAzLCA3MjAxMCwgNzIwMTcsIDcyMDI2LCA3MjAzNSwgNzIwNDAsIDcyMDQ1LCA3MjA1MiwgNzIwNTksIAotICAgIDcyMDY2LCA3MjA3MywgNzIwODUsIDcyMDk3LCA3MjEwMiwgNzIxMDcsIDcyMTEyLCA3MjExNywgNzIxMjIsIDcyMTI3LCAKLSAgICA3MjEzMiwgNzIxMzcsIDcyMTQxLCA3MjE0NiwgNzIxNTEsIDcyMTU2LCA3MjE2MSwgNzIxNjYsIDcyMTcyLCA3MjE3NywgCi0gICAgNzIxODIsIDcyMTg5LCA3MjE5NiwgNzIyMDMsIDcyMjEwLCA3MjIxNywgNzIyMjYsIDcyMjM1LCA3MjI0MSwgNzIyNDcsIAotICAgIDcyMjUzLCA3MjI1OSwgNzIyNjYsIDcyMjczLCA3MjI4MCwgNzIyODcsIDcyMjk0LCA3MjI5OCwgNzIzMDUsIDcyMzEwLCAKLSAgICA3MjMxNSwgNzIzMjIsIDAsIDcyMzM1LCA3MjM0MywgNzIzNTEsIDcyMzU4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCA3MjM2NSwgNzIzNzQsIDcyMzgzLCA3MjM5MiwgNzI0MDEsIDcyNDEwLCA3MjQxOSwgNzI0MjgsIDcyNDM3LCAKLSAgICA3MjQ0NiwgNzI0NTUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDcyNDYyLCA3MjQ2OSwgNzI0NzUsIDcyNDgyLCA3MjQ5MCwgNzI0OTgsIAotICAgIDcyNTA1LCA3MjUxMywgNzI1MjAsIDcyNTI2LCA3MjUzMiwgNzI1MzksIDcyNTQ1LCA3MjU1MSwgNzI1NTcsIDcyNTY0LCAKLSAgICA3MjU3MSwgNzI1NzgsIDcyNTg1LCA3MjU5MiwgNzI1OTksIDcyNjA2LCA3MjYxMywgNzI2MjAsIDcyNjI3LCA3MjYzNCwgCi0gICAgNzI2NDEsIDcyNjQ4LCA3MjY1NSwgNzI2NjEsIDcyNjY4LCA3MjY3NSwgNzI2ODIsIDcyNjg5LCA3MjY5NiwgNzI3MDMsIAotICAgIDcyNzEwLCA3MjcxNywgNzI3MjQsIDcyNzMxLCA3MjczOCwgNzI3NDUsIDcyNzUyLCA3Mjc1OSwgNzI3NjYsIDcyNzczLCAKLSAgICA3Mjc4MCwgNzI3ODcsIDcyNzk1LCA3MjgwMywgNzI4MTEsIDcyODE5LCAwLCAwLCAwLCAwLCA3MjgyNywgNzI4MzYsIAotICAgIDcyODQ1LCA3Mjg1NCwgNzI4NjMsIDcyODcyLCA3Mjg4MSwgNzI4ODgsIDcyODk1LCA3MjkwMiwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgNzI5MDksIDcyOTEzLCA3MjkxOCwgNzI5MjMsIDcyOTI4LCA3MjkzMywgNzI5MzgsIDcyOTQzLCA3Mjk0OCwgNzI5NTMsIAotICAgIDcyOTU4LCA3Mjk2MywgNzI5NjcsIDcyOTcxLCA3Mjk3NiwgNzI5ODEsIDcyOTg1LCA3Mjk5MCwgNzI5OTUsIDczMDAwLCAKLSAgICA3MzAwNSwgNzMwMTAsIDczMDE1LCA3MzAyMCwgNzMwMjQsIDczMDI4LCA3MzAzMywgNzMwMzgsIDczMDQyLCA3MzA0NiwgCi0gICAgNzMwNTAsIDczMDU0LCA3MzA1OCwgNzMwNjIsIDczMDY2LCA3MzA3MSwgNzMwNzYsIDczMDgxLCA3MzA4NiwgNzMwOTEsIAotICAgIDczMDk4LCA3MzEwNCwgNzMxMDksIDczMTE0LCA3MzExOSwgNzMxMjQsIDczMTMwLCA3MzEzNywgNzMxNDMsIDczMTUwLCAKLSAgICA3MzE1NiwgNzMxNjIsIDczMTY3LCA3MzE3NCwgNzMxODAsIDczMTg1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA3MzE5MSwgCi0gICAgNzMxOTUsIDczMTk5LCA3MzIwMiwgNzMyMDYsIDczMjA5LCA3MzIxMywgNzMyMTYsIDczMjIwLCA3MzIyNCwgNzMyMjksIAotICAgIDczMjMzLCA3MzIzOCwgNzMyNDEsIDczMjQ1LCA3MzI0OSwgNzMyNTIsIDczMjU2LCA3MzI2MCwgNzMyNjMsIDczMjY3LCAKLSAgICA3MzI3MSwgNzMyNzUsIDczMjc5LCA3MzI4MywgNzMyODcsIDczMjkxLCA3MzI5NSwgNzMyOTksIDczMzAzLCA3MzMwNywgCi0gICAgNzMzMTEsIDczMzE1LCA3MzMxOSwgNzMzMjMsIDczMzI3LCA3MzMzMSwgNzMzMzUsIDczMzM4LCA3MzM0MSwgNzMzNDUsIAotICAgIDczMzQ5LCA3MzM1MywgNzMzNTYsIDczMzU5LCA3MzM2MiwgNzMzNjYsIDczMzcwLCA3MzM3NCwgNzMzNzgsIDczMzgxLCAKLSAgICA3MzM4NCwgNzMzODgsIDczMzkzLCA3MzM5OCwgNzM0MDIsIDczNDA3LCA3MzQxMSwgNzM0MTYsIDczNDIxLCA3MzQyNywgCi0gICAgNzM0MzIsIDczNDM4LCA3MzQ0MiwgNzM0NDcsIDczNDUyLCA3MzQ1NiwgNzM0NjEsIDczNDY2LCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCA3MzQ3MCwgNzM0NzMsIDczNDc3LCA3MzQ4MSwgNzM0ODQsIDczNDg3LCA3MzQ5MCwgNzM0OTMsIDczNDk2LCAKLSAgICA3MzQ5OSwgNzM1MDIsIDczNTA1LCAwLCAwLCAwLCAwLCAwLCAwLCA3MzUwOCwgNzM1MTMsIDczNTE3LCA3MzUyMSwgNzM1MjUsIAotICAgIDczNTI5LCA3MzUzMywgNzM1MzcsIDczNTQxLCA3MzU0NSwgNzM1NDksIDczNTUzLCA3MzU1NywgNzM1NjEsIDczNTY1LCAKLSAgICA3MzU2OSwgNzM1NzMsIDczNTc4LCA3MzU4MywgNzM1ODksIDczNTk1LCA3MzYwMiwgNzM2MDcsIDczNjEyLCA3MzYxOCwgCi0gICAgNzM2MjIsIDczNjI3LCA3MzYzMCwgMCwgMCwgMCwgMCwgNzM2MzMsIDczNjQwLCA3MzY0NiwgNzM2NTIsIDczNjU4LCAKLSAgICA3MzY2NCwgNzM2NzAsIDczNjc2LCA3MzY4MiwgNzM2ODgsIDczNjk0LCA3MzcwMCwgNzM3MDcsIDczNzE0LCA3MzcyMSwgCi0gICAgNzM3MjcsIDczNzM0LCA3Mzc0MSwgNzM3NDgsIDczNzU1LCA3Mzc2MiwgNzM3NjgsIDczNzc0LCA3Mzc4MSwgNzM3ODcsIAotICAgIDczNzk0LCA3MzgwMSwgNzM4MDcsIDczODEzLCA3MzgyMCwgNzM4MjcsIDczODM0LCA3Mzg0MCwgNzM4NDcsIDczODU0LCAKLSAgICA3Mzg2MCwgNzM4NjcsIDczODczLCA3Mzg4MCwgNzM4ODcsIDczODkzLCA3Mzg5OSwgNzM5MDYsIDczOTEyLCA3MzkxOSwgCi0gICAgNzM5MjYsIDczOTM1LCA3Mzk0MiwgNzM5NDksIDczOTUzLCA3Mzk1OCwgNzM5NjMsIDczOTY4LCA3Mzk3MywgNzM5NzcsIAotICAgIDczOTgxLCA3Mzk4NiwgNzM5OTAsIDczOTk1LCA3NDAwMCwgNzQwMDUsIDc0MDA5LCA3NDAxMywgNzQwMTgsIDc0MDIyLCAKLSAgICA3NDAyNywgNzQwMzEsIDc0MDM2LCA3NDA0MSwgNzQwNDYsIDc0MDUxLCA3NDA1NSwgNzQwNjAsIDc0MDY1LCA3NDA3MCwgCi0gICAgNzQwNzYsIDc0MDgxLCA3NDA4NywgNzQwOTMsIDc0MDk5LCA3NDEwNSwgNzQxMTEsIDc0MTE2LCA3NDEyMiwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNzQxMjYsIDc0MTMxLCA3NDEzNSwgNzQxMzksIDc0MTQzLCA3NDE0NywgNzQxNTEsIAotICAgIDc0MTU1LCA3NDE1OSwgNzQxNjMsIDc0MTY3LCA3NDE3MSwgNzQxNzUsIDc0MTc5LCA3NDE4MywgNzQxODcsIDc0MTkxLCAKLSAgICA3NDE5NSwgNzQxOTksIDc0MjAzLCA3NDIwNywgNzQyMTEsIDc0MjE1LCA3NDIxOSwgNzQyMjMsIDc0MjI3LCA3NDIzMSwgCi0gICAgNzQyMzUsIDc0MjM5LCA3NDI0MywgMCwgMCwgMCwgNzQyNDcsIDc0MjUxLCA3NDI1NSwgNzQyNTksIDc0MjYzLCA3NDI2NiwgCi0gICAgNzQyNzIsIDc0Mjc1LCA3NDI3OSwgNzQyODIsIDc0Mjg4LCA3NDI5NCwgNzQzMDIsIDc0MzA1LCA3NDMwOSwgNzQzMTIsIAotICAgIDc0MzE1LCA3NDMyMSwgNzQzMjcsIDc0MzMxLCA3NDMzNywgNzQzNDEsIDc0MzQ1LCA3NDM1MSwgNzQzNTUsIDc0MzYxLCAKLSAgICA3NDM2NywgNzQzNzEsIDc0Mzc1LCA3NDM4MSwgNzQzODUsIDc0MzkxLCA3NDM5NywgNzQ0MDEsIDc0NDA3LCA3NDQxMSwgCi0gICAgNzQ0MTcsIDc0NDIwLCA3NDQyMywgNzQ0MjksIDc0NDMzLCA3NDQzOSwgNzQ0NDIsIDc0NDQ1LCA3NDQ0OCwgNzQ0NTQsIAotICAgIDc0NDU4LCA3NDQ2MiwgNzQ0NjgsIDc0NDc0LCA3NDQ3NywgNzQ0ODAsIDc0NDg2LCA3NDQ5MSwgNzQ0OTYsIDc0NTAxLCAKLSAgICA3NDUwOCwgNzQ1MTMsIDc0NTIwLCA3NDUyNSwgNzQ1MzIsIDc0NTM3LCA3NDU0MiwgNzQ1NDcsIDc0NTUyLCA3NDU1NSwgCi0gICAgNzQ1NTksIDc0NTYzLCA3NDU2OCwgNzQ1NzMsIDc0NTc4LCA3NDU4MywgNzQ1ODgsIDc0NTkzLCA3NDU5OCwgNzQ2MDMsIAotICAgIDc0NjEwLCA3NDYxNSwgMCwgNzQ2MjIsIDc0NjI1LCA3NDYyOSwgNzQ2MzIsIDc0NjM1LCA3NDYzOCwgNzQ2NDEsIDc0NjQ0LCAKLSAgICA3NDY0NywgNzQ2NTAsIDc0NjUzLCAwLCAwLCAwLCAwLCA3NDY1NiwgNzQ2NjMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDc0NjY4LCA3NDY3MSwgNzQ2NzQsIDc0Njc3LCA3NDY4MCwgNzQ2ODQsIDc0Njg3LCA3NDY5MCwgNzQ2OTQsIDc0Njk4LCAKLSAgICA3NDcwMiwgNzQ3MDYsIDc0NzEwLCA3NDcxNCwgNzQ3MTgsIDc0NzIyLCA3NDcyNiwgNzQ3MzAsIDc0NzM0LCA3NDczOCwgCi0gICAgNzQ3NDIsIDc0NzQ2LCA3NDc1MCwgNzQ3NTQsIDc0NzU4LCA3NDc2MSwgNzQ3NjUsIDc0NzY4LCA3NDc3MiwgNzQ3NzYsIAotICAgIDc0NzgwLCA3NDc4NCwgNzQ3ODgsIDc0NzkxLCA3NDc5NSwgNzQ3OTgsIDc0ODAxLCA3NDgwNSwgNzQ4MDksIDc0ODEzLCAKLSAgICA3NDgxNiwgNzQ4MTksIDc0ODI0LCA3NDgyOCwgNzQ4MzMsIDc0ODM4LCA3NDg0MiwgNzQ4NDcsIDc0ODUxLCA3NDg1NiwgCi0gICAgNzQ4NjEsIDc0ODY2LCA3NDg3MCwgNzQ4NzQsIDc0ODc5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA3NDg4NCwgCi0gICAgNzQ4ODksIDc0ODk0LCA3NDg5OSwgNzQ5MDUsIDc0OTEwLCA3NDkxNSwgNzQ5MjAsIDc0OTI1LCA3NDkzMCwgNzQ5MzQsIAotICAgIDc0OTM4LCA3NDk0MywgNzQ5NDgsIDAsIDAsIDc0OTU0LCA3NDk1OCwgNzQ5NjEsIDc0OTY0LCA3NDk2NywgNzQ5NzAsIAotICAgIDc0OTczLCA3NDk3NiwgNzQ5NzksIDc0OTgyLCAwLCAwLCA3NDk4NSwgNzQ5OTAsIDc0OTk1LCA3NTAwMSwgNzUwMDgsIAotICAgIDc1MDE0LCA3NTAyMCwgNzUwMjYsIDc1MDMyLCA3NTAzOCwgNzUwNDQsIDc1MDUwLCA3NTA1NiwgNzUwNjIsIDc1MDY4LCAKLSAgICA3NTA3NCwgNzUwNzksIDc1MDg0LCA3NTA4OSwgNzUwOTUsIDc1MTAxLCA3NTEwOCwgNzUxMTQsIDc1MTIwLCA3NTEyNSwgCi0gICAgNzUxMzIsIDc1MTM5LCA3NTE0NiwgNzUxNTIsIDc1MTU3LCA3NTE2MiwgNzUxNjcsIDAsIDAsIDAsIDAsIDc1MTc1LCAKLSAgICA3NTE4MSwgNzUxODcsIDc1MTkzLCA3NTE5OSwgNzUyMDUsIDc1MjExLCA3NTIxNywgNzUyMjMsIDc1MjI5LCA3NTIzNSwgCi0gICAgNzUyNDEsIDc1MjQ3LCA3NTI1MywgNzUyNTksIDc1MjY1LCA3NTI3MSwgNzUyNzcsIDc1MjgzLCA3NTI4OSwgNzUyOTUsIAotICAgIDc1MzAwLCA3NTMwNSwgNzUzMTEsIDc1MzE3LCA3NTMyMywgNzUzMjksIDc1MzM1LCA3NTM0MSwgNzUzNDcsIDc1MzUzLCAKLSAgICA3NTM1OSwgNzUzNjUsIDc1MzcxLCA3NTM3NywgNzUzODMsIDc1Mzg5LCA3NTM5NSwgNzU0MDEsIDc1NDA3LCA3NTQxMywgCi0gICAgNzU0MTksIDc1NDI1LCA3NTQzMSwgNzU0MzcsIDc1NDQzLCA3NTQ0OSwgNzU0NTQsIDc1NDU5LCA3NTQ2NSwgNzU0NzAsIAotICAgIDc1NDc0LCA3NTQ3OSwgNzU0ODMsIDc1NDg3LCA3NTQ5MSwgNzU0OTcsIDc1NTAyLCA3NTUwNywgNzU1MTIsIDc1NTE3LCAKLSAgICA3NTUyMiwgNzU1MjcsIDc1NTMyLCA3NTUzOSwgNzU1NDYsIDc1NTUzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA3NTU2MCwgNzU1NjUsIDc1NTcwLCA3NTU3NSwgCi0gICAgNzU1ODIsIDc1NTg5LCA3NTU5MywgNzU1OTcsIDc1NjAyLCA3NTYwNywgNzU2MTIsIDc1NjE3LCA3NTYyMiwgNzU2MjcsIAotICAgIDc1NjMyLCA3NTYzNywgNzU2NDIsIDc1NjQ4LCA3NTY1NCwgNzU2NjAsIDc1NjY2LCA3NTY3MiwgNzU2NzYsIDc1NjgyLCAKLSAgICA3NTY4NiwgNzU2OTIsIDc1Njk5LCA3NTcwNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNzU3MDksIDc1NzEzLCAKLSAgICA3NTcxNywgNzU3MjEsIDc1NzI1LCA3NTcyOSwgMCwgMCwgNzU3MzMsIDc1NzM3LCA3NTc0MSwgNzU3NDUsIDc1NzQ5LCAKLSAgICA3NTc1MywgMCwgMCwgNzU3NTcsIDc1NzYxLCA3NTc2NSwgNzU3NjksIDc1NzczLCA3NTc3NywgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgNzU3ODEsIDc1Nzg1LCA3NTc4OSwgNzU3OTMsIDc1Nzk3LCA3NTgwMSwgNzU4MDUsIDAsIDc1ODA5LCAKLSAgICA3NTgxMywgNzU4MTcsIDc1ODIxLCA3NTgyNSwgNzU4MjksIDc1ODMzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCA5MTc3OSwgOTE3ODYsIDkxNzk1LCA5MTgwNCwgOTE4MTEsIDkxODE4LCA5MTgyNSwgOTE4MzIsIDkxODM5LCAKKyAgICA5MTg0NiwgOTE4NTIsIDkxODU5LCA5MTg2NiwgOTE4NzMsIDkxODgwLCA5MTg4NywgOTE4OTQsIDkxOTAxLCA5MTkwOCwgCisgICAgOTE5MTcsIDkxOTI0LCA5MTkzMSwgOTE5MzgsIDkxOTQ1LCA5MTk1MiwgOTE5NTksIDkxOTY2LCA5MTk3MywgOTE5ODIsIAorICAgIDkxOTg5LCA5MTk5NiwgOTIwMDMsIDkyMDEwLCA5MjAxNywgOTIwMjQsIDkyMDMzLCA5MjA0MCwgOTIwNDcsIDkyMDU0LCAKKyAgICA5MjA2MSwgOTIwNzAsIDkyMDc3LCA5MjA4NCwgOTIwOTEsIDkyMDk5LCA5MjEwOCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNzU4MzcsIDc1ODQyLCA3NTg0NywgNzU4NTIsIAotICAgIDc1ODU3LCA3NTg2MSwgNzU4NjUsIDc1ODcwLCA3NTg3NSwgNzU4ODAsIDc1ODg1LCA3NTg5MCwgNzU4OTUsIDc1OTAwLCAKLSAgICA3NTkwNSwgNzU5MTAsIDc1OTE0LCA3NTkxOSwgNzU5MjQsIDc1OTI5LCA3NTkzNCwgNzU5MzksIDc1OTQ0LCA3NTk0OSwgCi0gICAgNzU5NTQsIDc1OTU5LCA3NTk2NCwgNzU5NjksIDc1OTc2LCA3NTk4MywgNzU5OTAsIDc1OTk3LCA3NjAwNCwgNzYwMTEsIAotICAgIDc2MDE4LCA3NjAyNSwgNzYwMzEsIDc2MDM3LCA3NjA0MywgNzYwNDksIDc2MDU1LCA3NjA2MSwgNzYwNjcsIDc2MDczLCAKLSAgICA3NjA3NywgNzYwODMsIDAsIDAsIDc2MDg5LCA3NjA5NCwgNzYwOTgsIDc2MTAyLCA3NjEwNiwgNzYxMTAsIDc2MTE0LCAKLSAgICA3NjExOCwgNzYxMjIsIDc2MTI2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA3NjEzMCwgNzYxMzQsIDc2MTM4LCA3NjE0MiwgNzYxNDYsIAotICAgIDc2MTUwLCA3NjE1NCwgNzYxNTgsIDc2MTYyLCA3NjE2NiwgNzYxNzAsIDc2MTc0LCA3NjE3OCwgNzYxODIsIDc2MTg2LCAKLSAgICA3NjE5MCwgNzYxOTQsIDc2MTk4LCA3NjIwMiwgNzYyMDYsIDc2MjEwLCA3NjIxNCwgNzYyMTgsIDAsIDAsIDAsIDAsIAotICAgIDc2MjIyLCA3NjIyNiwgNzYyMzAsIDc2MjM0LCA3NjIzOCwgNzYyNDIsIDc2MjQ2LCA3NjI1MCwgNzYyNTQsIDc2MjU4LCAKLSAgICA3NjI2MiwgNzYyNjYsIDc2MjcwLCA3NjI3NCwgNzYyNzgsIDc2MjgyLCA3NjI4NiwgNzYyOTAsIDc2Mjk0LCA3NjI5OCwgCi0gICAgNzYzMDIsIDc2MzA2LCA3NjMxMCwgNzYzMTQsIDc2MzE4LCA3NjMyMiwgNzYzMjYsIDc2MzMwLCA3NjMzNCwgNzYzMzgsIAotICAgIDc2MzQyLCA3NjM0NiwgNzYzNTAsIDc2MzU0LCA3NjM1OCwgNzYzNjIsIDc2MzY2LCA3NjM3MCwgNzYzNzQsIDc2Mzc4LCAKLSAgICA3NjM4MiwgNzYzODYsIDc2MzkwLCA3NjM5NCwgNzYzOTgsIDc2NDAyLCA3NjQwNiwgNzY0MTAsIDc2NDE0LCAwLCAwLCAwLCAKLSAgICAwLCA3NjQxOCwgNzY0MjIsIDc2NDI2LCA3NjQzMCwgNzY0MzQsIDc2NDM4LCA3NjQ0MiwgNzY0NDYsIDc2NDUwLCA3NjQ1NCwgCi0gICAgNzY0NTgsIDc2NDYyLCA3NjQ2NiwgNzY0NzAsIDc2NDc0LCA3NjQ3OCwgNzY0ODIsIDc2NDg2LCA3NjQ5MCwgNzY0OTQsIAotICAgIDc2NDk4LCA3NjUwMiwgNzY1MDYsIDc2NTEwLCA3NjUxNCwgNzY1MTgsIDc2NTIyLCA3NjUyNiwgNzY1MzAsIDc2NTM0LCAKLSAgICA3NjUzOCwgNzY1NDIsIDc2NTQ2LCA3NjU1MCwgNzY1NTQsIDc2NTU4LCA3NjU2MiwgNzY1NjYsIDc2NTcwLCA3NjU3NCwgCi0gICAgNzY1NzgsIDc2NTgyLCA3NjU4NiwgNzY1OTAsIDc2NTk0LCA3NjU5OCwgNzY2MDIsIDc2NjA2LCA3NjYxMCwgNzY2MTQsIAotICAgIDc2NjE4LCA3NjYyMiwgNzY2MjYsIDc2NjMwLCA3NjYzNCwgNzY2MzgsIDc2NjQyLCA3NjY0NiwgNzY2NTAsIDc2NjU0LCAKLSAgICA3NjY1OCwgNzY2NjIsIDc2NjY2LCA3NjY3MCwgNzY2NzQsIDc2Njc4LCA3NjY4MiwgNzY2ODYsIDc2NjkwLCA3NjY5NCwgCi0gICAgNzY2OTgsIDc2NzAyLCA3NjcwNiwgNzY3MTAsIDc2NzE0LCA3NjcxOCwgNzY3MjIsIDc2NzI2LCA3NjczMCwgNzY3MzQsIAotICAgIDc2NzM4LCA3Njc0MiwgNzY3NDYsIDc2NzUwLCA3Njc1NCwgNzY3NTgsIDc2NzYyLCA3Njc2NiwgNzY3NzAsIDc2Nzc0LCAKLSAgICA3Njc3OCwgNzY3ODIsIDc2Nzg2LCA3Njc5MCwgNzY3OTQsIDc2Nzk4LCA3NjgwMiwgNzY4MDYsIDc2ODEwLCA3NjgxNCwgCi0gICAgNzY4MTgsIDc2ODIyLCA3NjgyNiwgNzY4MzAsIDc2ODM0LCA3NjgzOCwgNzY4NDIsIDc2ODQ2LCA3Njg1MCwgNzY4NTQsIAotICAgIDc2ODU4LCA3Njg2MiwgNzY4NjYsIDc2ODcwLCA3Njg3NCwgNzY4NzgsIDc2ODgyLCA3Njg4NiwgNzY4OTAsIDc2ODk0LCAKLSAgICA3Njg5OCwgNzY5MDIsIDc2OTA2LCA3NjkxMCwgNzY5MTQsIDc2OTE4LCA3NjkyMiwgNzY5MjYsIDc2OTMwLCA3NjkzNCwgCi0gICAgNzY5MzgsIDc2OTQyLCA3Njk0NiwgNzY5NTAsIDc2OTU0LCA3Njk1OCwgNzY5NjIsIDc2OTY2LCA3Njk3MCwgNzY5NzQsIAotICAgIDc2OTc4LCA3Njk4MiwgNzY5ODYsIDc2OTkwLCA3Njk5NCwgNzY5OTgsIDc3MDAyLCA3NzAwNiwgNzcwMTAsIDc3MDE0LCAKLSAgICA3NzAxOCwgNzcwMjIsIDc3MDI2LCA3NzAzMCwgNzcwMzQsIDc3MDM4LCA3NzA0MiwgNzcwNDYsIDc3MDUwLCA3NzA1NCwgCi0gICAgNzcwNTgsIDc3MDYyLCA3NzA2NiwgNzcwNzAsIDc3MDc0LCA3NzA3OCwgNzcwODIsIDc3MDg2LCA3NzA5MCwgNzcwOTQsIAotICAgIDc3MDk4LCA3NzEwMiwgNzcxMDYsIDc3MTEwLCA3NzExNCwgNzcxMTgsIDc3MTIyLCA3NzEyNiwgNzcxMzAsIDc3MTM0LCAKLSAgICA3NzEzOCwgNzcxNDIsIDc3MTQ2LCA3NzE1MCwgNzcxNTQsIDc3MTU4LCA3NzE2MiwgNzcxNjYsIDc3MTcwLCA3NzE3NCwgCi0gICAgNzcxNzgsIDc3MTgyLCA3NzE4NiwgNzcxOTAsIDc3MTk0LCA3NzE5OCwgNzcyMDIsIDc3MjA2LCA3NzIxMCwgNzcyMTQsIAotICAgIDc3MjE4LCA3NzIyMiwgNzcyMjYsIDc3MjMwLCA3NzIzNCwgNzcyMzgsIDc3MjQyLCA3NzI0NiwgNzcyNTAsIDc3MjU0LCAKLSAgICA3NzI1OCwgNzcyNjIsIDc3MjY2LCA3NzI3MCwgNzcyNzQsIDc3Mjc4LCA3NzI4MiwgNzcyODYsIDc3MjkwLCA3NzI5NCwgCi0gICAgNzcyOTgsIDc3MzAyLCA3NzMwNiwgNzczMTAsIDc3MzE0LCA3NzMxOCwgNzczMjIsIDc3MzI2LCA3NzMzMCwgNzczMzQsIAotICAgIDc3MzM4LCA3NzM0MiwgNzczNDYsIDc3MzUwLCA3NzM1NCwgNzczNTgsIDc3MzYyLCA3NzM2NiwgNzczNzAsIDc3Mzc0LCAKLSAgICA3NzM3OCwgNzczODIsIDc3Mzg2LCA3NzM5MCwgNzczOTQsIDc3Mzk4LCA3NzQwMiwgNzc0MDYsIDc3NDEwLCA3NzQxNCwgCi0gICAgNzc0MTgsIDc3NDIyLCA3NzQyNiwgNzc0MzAsIDc3NDM0LCA3NzQzOCwgNzc0NDIsIDc3NDQ2LCA3NzQ1MCwgNzc0NTQsIAotICAgIDc3NDU4LCA3NzQ2MiwgNzc0NjYsIDc3NDcwLCA3NzQ3NCwgNzc0NzgsIDc3NDgyLCA3NzQ4NiwgNzc0OTAsIDc3NDk0LCAKLSAgICA3NzQ5OCwgNzc1MDIsIDc3NTA2LCA3NzUxMCwgNzc1MTQsIDc3NTE4LCA3NzUyMiwgNzc1MjYsIDc3NTMwLCA3NzUzNCwgCi0gICAgNzc1MzgsIDc3NTQyLCA3NzU0NiwgNzc1NTAsIDc3NTU0LCA3NzU1OCwgNzc1NjIsIDc3NTY2LCA3NzU3MCwgNzc1NzQsIAotICAgIDc3NTc4LCA3NzU4MiwgNzc1ODYsIDc3NTkwLCA3NzU5NCwgNzc1OTgsIDc3NjAyLCA3NzYwNiwgNzc2MTAsIDc3NjE0LCAKLSAgICA3NzYxOCwgNzc2MjIsIDc3NjI2LCA3NzYzMCwgNzc2MzQsIDc3NjM4LCA3NzY0MiwgNzc2NDYsIDc3NjUwLCA3NzY1NCwgCi0gICAgNzc2NTgsIDc3NjYyLCA3NzY2NiwgNzc2NzAsIDc3Njc0LCA3NzY3OCwgNzc2ODIsIDc3Njg2LCA3NzY5MCwgNzc2OTQsIAotICAgIDc3Njk4LCA3NzcwMiwgNzc3MDYsIDc3NzEwLCA3NzcxNCwgNzc3MTgsIDc3NzIyLCA3NzcyNiwgNzc3MzAsIDc3NzM0LCAKLSAgICA3NzczOCwgNzc3NDIsIDc3NzQ2LCA3Nzc1MCwgNzc3NTQsIDc3NzU4LCA3Nzc2MiwgNzc3NjYsIDc3NzcwLCA3Nzc3NCwgCi0gICAgNzc3NzgsIDc3NzgyLCA3Nzc4NiwgNzc3OTAsIDc3Nzk0LCA3Nzc5OCwgNzc4MDIsIDc3ODA2LCA3NzgxMCwgNzc4MTQsIAotICAgIDc3ODE4LCA3NzgyMiwgNzc4MjYsIDc3ODMwLCA3NzgzNCwgNzc4MzgsIDc3ODQyLCA3Nzg0NiwgNzc4NTAsIDc3ODU0LCAKLSAgICA3Nzg1OCwgNzc4NjIsIDc3ODY2LCA3Nzg3MCwgNzc4NzQsIDc3ODc4LCAwLCAwLCA3Nzg4MiwgNzc4ODYsIDc3ODkwLCAKLSAgICA3Nzg5NCwgNzc4OTgsIDc3OTAyLCA3NzkwNiwgNzc5MTAsIDc3OTE0LCA3NzkxOCwgNzc5MjIsIDc3OTI2LCA3NzkzMCwgCi0gICAgNzc5MzQsIDc3OTM4LCA3Nzk0MiwgNzc5NDYsIDc3OTUwLCA3Nzk1NCwgNzc5NTgsIDc3OTYyLCA3Nzk2NiwgNzc5NzAsIAotICAgIDc3OTc0LCA3Nzk3OCwgNzc5ODIsIDc3OTg2LCA3Nzk5MCwgNzc5OTQsIDc3OTk4LCA3ODAwMiwgNzgwMDYsIDc4MDEwLCAKLSAgICA3ODAxNCwgNzgwMTgsIDc4MDIyLCA3ODAyNiwgNzgwMzAsIDc4MDM0LCA3ODAzOCwgNzgwNDIsIDc4MDQ2LCA3ODA1MCwgCi0gICAgNzgwNTQsIDc4MDU4LCA3ODA2MiwgNzgwNjYsIDc4MDcwLCA3ODA3NCwgNzgwNzgsIDc4MDgyLCA3ODA4NiwgNzgwOTAsIAotICAgIDc4MDk0LCA3ODA5OCwgNzgxMDIsIDc4MTA2LCA3ODExMCwgNzgxMTQsIDc4MTE4LCA3ODEyMiwgNzgxMjYsIDc4MTMwLCAKLSAgICA3ODEzNCwgNzgxMzgsIDc4MTQyLCA3ODE0NiwgNzgxNTAsIDc4MTU0LCA3ODE1OCwgNzgxNjIsIDc4MTY2LCA3ODE3MCwgCi0gICAgNzgxNzQsIDc4MTc4LCA3ODE4MiwgNzgxODYsIDc4MTkwLCA3ODE5NCwgNzgxOTgsIDc4MjAyLCA3ODIwNiwgNzgyMTAsIAotICAgIDc4MjE0LCA3ODIxOCwgNzgyMjIsIDc4MjI2LCA3ODIzMCwgNzgyMzQsIDc4MjM4LCA3ODI0MiwgNzgyNDYsIDc4MjUwLCAKLSAgICA3ODI1NCwgNzgyNTgsIDc4MjYyLCA3ODI2NiwgNzgyNzAsIDc4Mjc0LCA3ODI3OCwgNzgyODIsIDc4Mjg2LCA3ODI5MCwgCi0gICAgNzgyOTQsIDc4Mjk4LCA3ODMwMiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNzgzMDYsIAotICAgIDc4MzExLCA3ODMxNiwgNzgzMjEsIDc4MzI2LCA3ODMzMSwgNzgzMzksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDc4MzQ0LCA3ODM1MSwgNzgzNTgsIDc4MzY1LCA3ODM3MiwgMCwgMCwgMCwgMCwgMCwgNzgzNzksIDc4Mzg2LCAKLSAgICA3ODM5MywgNzg0MDMsIDc4NDA5LCA3ODQxNSwgNzg0MjEsIDc4NDI3LCA3ODQzMywgNzg0MzksIDc4NDQ2LCA3ODQ1MiwgCi0gICAgNzg0NTgsIDc4NDY0LCA3ODQ3MywgNzg0ODIsIDc4NDk0LCA3ODUwNiwgNzg1MTIsIDc4NTE4LCA3ODUyNCwgNzg1MzEsIAotICAgIDc4NTM4LCA3ODU0NSwgNzg1NTIsIDc4NTU5LCAwLCA3ODU2NiwgNzg1NzMsIDc4NTgwLCA3ODU4OCwgNzg1OTUsIDAsIAotICAgIDc4NjAyLCAwLCA3ODYwOSwgNzg2MTYsIDAsIDc4NjIzLCA3ODYzMSwgMCwgNzg2MzgsIDc4NjQ1LCA3ODY1MiwgNzg2NTksIAotICAgIDc4NjY2LCA3ODY3MywgNzg2ODAsIDc4Njg3LCA3ODY5NCwgNzg3MDEsIDc4NzA2LCA3ODcxMywgNzg3MjAsIDc4NzI2LCAKLSAgICA3ODczMiwgNzg3MzgsIDc4NzQ0LCA3ODc1MCwgNzg3NTYsIDc4NzYyLCA3ODc2OCwgNzg3NzQsIDc4NzgwLCA3ODc4NiwgCi0gICAgNzg3OTIsIDc4Nzk4LCA3ODgwNCwgNzg4MTAsIDc4ODE2LCA3ODgyMiwgNzg4MjgsIDc4ODM0LCA3ODg0MCwgNzg4NDYsIAotICAgIDc4ODUyLCA3ODg1OCwgNzg4NjQsIDc4ODcwLCA3ODg3NiwgNzg4ODIsIDc4ODg4LCA3ODg5NCwgNzg5MDAsIDc4OTA2LCAKLSAgICA3ODkxMiwgNzg5MTgsIDc4OTI0LCA3ODkzMCwgNzg5MzYsIDc4OTQyLCA3ODk0OCwgNzg5NTQsIDc4OTYwLCA3ODk2NiwgCi0gICAgNzg5NzIsIDc4OTc4LCA3ODk4NCwgNzg5OTAsIDc4OTk2LCA3OTAwMiwgNzkwMDgsIDc5MDE0LCA3OTAyMCwgNzkwMjYsIAotICAgIDc5MDMyLCA3OTAzOCwgNzkwNDQsIDc5MDUwLCA3OTA1NiwgNzkwNjIsIDc5MDY4LCA3OTA3NCwgNzkwODAsIDc5MDg2LCAKLSAgICA3OTA5MiwgNzkwOTgsIDc5MTA0LCA3OTExMCwgNzkxMTYsIDc5MTIyLCA3OTEyOCwgNzkxMzQsIDc5MTQwLCA3OTE0NiwgCi0gICAgNzkxNTIsIDc5MTU4LCA3OTE2NCwgNzkxNzAsIDc5MTc2LCA3OTE4NCwgNzkxOTIsIDc5MTk4LCA3OTIwNCwgNzkyMTAsIAotICAgIDc5MjE2LCA3OTIyNSwgNzkyMzQsIDc5MjQyLCA3OTI1MCwgNzkyNTgsIDc5MjY2LCA3OTI3NCwgNzkyODIsIDc5MjkwLCAKLSAgICA3OTI5OCwgNzkzMDUsIDc5MzEyLCA3OTMyMiwgNzkzMzIsIDc5MzM2LCA3OTM0MCwgNzkzNDUsIDc5MzUwLCA3OTM1NSwgCi0gICAgNzkzNjAsIDc5MzY5LCA3OTM3OCwgNzkzODQsIDc5MzkwLCA3OTM5NywgNzk0MDQsIDc5NDExLCA3OTQxNSwgNzk0MjEsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDc5NDI3LCA3OTQzMywgNzk0MzksIAotICAgIDc5NDQ1LCA3OTQ1MSwgNzk0NTYsIDc5NDYxLCA3OTQ2NywgNzk0NzMsIDc5NDc5LCA3OTQ4NSwgNzk0OTMsIDc5NDk5LCAKLSAgICA3OTUwNSwgNzk1MTMsIDc5NTIxLCA3OTUyOSwgNzk1MzcsIDc5NTQyLCA3OTU0NywgNzk1NTIsIDc5NTU3LCA3OTU3MCwgCi0gICAgNzk1ODMsIDc5NTkzLCA3OTYwMywgNzk2MTQsIDc5NjI1LCA3OTYzNiwgNzk2NDcsIDc5NjU3LCA3OTY2NywgNzk2NzgsIAotICAgIDc5Njg5LCA3OTcwMCwgNzk3MTEsIDc5NzIxLCA3OTczMSwgNzk3NDEsIDc5NzU3LCA3OTc3MywgNzk3ODksIDc5Nzk2LCAKLSAgICA3OTgwMywgNzk4MTAsIDc5ODE3LCA3OTgyNywgNzk4MzcsIDc5ODQ3LCA3OTg1OSwgNzk4NjksIDc5ODc3LCA3OTg4NSwgCi0gICAgNzk4OTQsIDc5OTAyLCA3OTkxMiwgNzk5MjAsIDc5OTI4LCA3OTkzNiwgNzk5NDUsIDc5OTUzLCA3OTk2MywgNzk5NzEsIAotICAgIDc5OTc5LCA3OTk4NywgNzk5OTcsIDgwMDA1LCA4MDAxMiwgODAwMTksIDgwMDI2LCA4MDAzMywgODAwNDEsIDgwMDQ5LCAKLSAgICA4MDA1NywgODAwNjUsIDgwMDczLCA4MDA4MiwgODAwOTAsIDgwMDk4LCA4MDEwNiwgODAxMTQsIDgwMTIyLCA4MDEzMSwgCi0gICAgODAxMzksIDgwMTQ3LCA4MDE1NSwgODAxNjMsIDgwMTcxLCA4MDE3OSwgODAxODcsIDgwMTk1LCA4MDIwMywgODAyMTEsIAotICAgIDgwMjIwLCA4MDIyOCwgODAyMzgsIDgwMjQ2LCA4MDI1NCwgODAyNjIsIDgwMjcyLCA4MDI4MCwgODAyODgsIDgwMjk2LCAKLSAgICA4MDMwNCwgODAzMTMsIDgwMzIyLCA4MDMzMCwgODAzNDAsIDgwMzQ4LCA4MDM1NiwgODAzNjQsIDgwMzczLCA4MDM4MSwgCi0gICAgODAzOTEsIDgwMzk5LCA4MDQwNiwgODA0MTMsIDgwNDIxLCA4MDQyOCwgODA0MzcsIDgwNDQ0LCA4MDQ1MiwgODA0NjAsIAotICAgIDgwNDY5LCA4MDQ3NywgODA0ODcsIDgwNDk1LCA4MDUwMywgODA1MTEsIDgwNTIxLCA4MDUyOSwgODA1MzYsIDgwNTQzLCAKLSAgICA4MDU1MSwgODA1NTgsIDgwNTY3LCA4MDU3NCwgODA1ODQsIDgwNTk0LCA4MDYwNSwgODA2MTQsIDgwNjIzLCA4MDYzMiwgCi0gICAgODA2NDEsIDgwNjUwLCA4MDY2MCwgODA2NzEsIDgwNjgyLCA4MDY5MiwgODA3MDMsIDgwNzE1LCA4MDcyNSwgODA3MzQsIAotICAgIDgwNzQzLCA4MDc1MSwgODA3NjAsIDgwNzcwLCA4MDc3OCwgODA3ODcsIDgwNzk2LCA4MDgwNCwgODA4MTMsIDgwODIzLCAKLSAgICA4MDgzMSwgODA4NDAsIDgwODQ5LCA4MDg1NywgODA4NjYsIDgwODc2LCA4MDg4NCwgODA4OTQsIDgwOTAyLCA4MDkxMiwgCi0gICAgODA5MjAsIDgwOTI4LCA4MDkzNywgODA5NDUsIDgwOTU1LCA4MDk2MywgODA5NzEsIDgwOTgxLCA4MDk4OSwgODA5OTYsIAotICAgIDgxMDAzLCA4MTAxMiwgODEwMjEsIDgxMDI5LCA4MTAzOCwgODEwNDgsIDgxMDU2LCA4MTA2NywgODEwNzUsIDgxMDgzLCAKLSAgICA4MTA5MCwgODEwOTgsIDgxMTA3LCA4MTExNCwgODExMjQsIDgxMTM0LCA4MTE0NSwgODExNTUsIDgxMTY2LCA4MTE3NCwgCi0gICAgODExODIsIDgxMTkxLCA4MTE5OSwgODEyMDgsIDgxMjE2LCA4MTIyNCwgODEyMzMsIDgxMjQxLCA4MTI1MCwgODEyNTgsIAotICAgIDgxMjY1LCA4MTI3MiwgODEyNzksIDgxMjg2LCA4MTI5NCwgODEzMDIsIDgxMzEwLCA4MTMxOCwgODEzMjcsIDgxMzM1LCAKLSAgICA4MTM0MywgODEzNTIsIDgxMzYwLCA4MTM2OCwgODEzNzYsIDgxMzg1LCA4MTM5MywgODE0MDEsIDgxNDA5LCA4MTQxNywgCi0gICAgODE0MjUsIDgxNDMzLCA4MTQ0MSwgODE0NDksIDgxNDU3LCA4MTQ2NiwgODE0NzQsIDgxNDgyLCA4MTQ5MCwgODE0OTgsIAotICAgIDgxNTA2LCA4MTUxNSwgODE1MjQsIDgxNTMyLCA4MTU0MCwgODE1NDgsIDgxNTU3LCA4MTU2NSwgODE1NzQsIDgxNTgxLCAKLSAgICA4MTU4OCwgODE1OTYsIDgxNjAzLCA4MTYxMSwgODE2MTksIDgxNjI4LCA4MTYzNiwgODE2NDUsIDgxNjUzLCA4MTY2MSwgCi0gICAgODE2NzEsIDgxNjc4LCA4MTY4NSwgODE2OTMsIDgxNzAwLCA4MTcwOCwgODE3MTgsIDgxNzI5LCA4MTczNywgODE3NDYsIAotICAgIDgxNzU0LCA4MTc2MywgODE3NzEsIDgxNzgwLCA4MTc4OCwgODE3OTcsIDgxODA1LCA4MTgxNCwgODE4MjMsIDgxODMxLCAKLSAgICA4MTgzOSwgODE4NDcsIDgxODU2LCA4MTg2MywgODE4NzEsIDgxODgwLCA4MTg4OSwgODE4OTgsIDgxOTA4LCA4MTkxNiwgCi0gICAgODE5MjYsIDgxOTM0LCA4MTk0NCwgODE5NTIsIDgxOTYyLCA4MTk3MCwgODE5ODAsIDgxOTg4LCA4MTk5NywgODIwMDQsIAotICAgIDgyMDEzLCA4MjAyMCwgODIwMzAsIDgyMDM4LCA4MjA0OCwgODIwNTYsIDgyMDY2LCA4MjA3NCwgODIwODIsIDgyMDkwLCAKLSAgICA4MjA5OSwgODIxMDcsIDgyMTE2LCA4MjEyNSwgODIxMzQsIDgyMTQzLCA4MjE1MywgODIxNjEsIDgyMTcxLCA4MjE3OSwgCi0gICAgODIxODksIDgyMTk3LCA4MjIwNywgODIyMTUsIDgyMjI1LCA4MjIzMywgODIyNDIsIDgyMjQ5LCA4MjI1OCwgODIyNjUsIAotICAgIDgyMjc1LCA4MjI4MywgODIyOTMsIDgyMzAxLCA4MjMxMSwgODIzMTksIDgyMzI3LCA4MjMzNSwgODIzNDQsIDgyMzUyLCAKLSAgICA4MjM2MSwgODIzNzAsIDgyMzc5LCA4MjM4OCwgODIzOTYsIDgyNDA0LCA4MjQxMywgODI0MjEsIDgyNDMwLCA4MjQzOSwgCi0gICAgODI0NDcsIDgyNDU1LCA4MjQ2MywgODI0NzIsIDgyNDgwLCA4MjQ4OCwgODI0OTcsIDgyNTA1LCA4MjUxMywgODI1MjEsIAotICAgIDgyNTI5LCA4MjUzNCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgODI1MzksIAotICAgIDgyNTQ5LCA4MjU1OSwgODI1NjksIDgyNTc5LCA4MjU5MCwgODI2MDAsIDgyNjEwLCA4MjYyMSwgODI2MzAsIDgyNjM5LCAKLSAgICA4MjY0OCwgODI2NTksIDgyNjY5LCA4MjY3OSwgODI2OTEsIDgyNzAxLCA4MjcxMSwgODI3MjEsIDgyNzMxLCA4Mjc0MSwgCi0gICAgODI3NTEsIDgyNzYxLCA4Mjc3MSwgODI3ODEsIDgyNzkxLCA4MjgwMSwgODI4MTIsIDgyODIzLCA4MjgzMywgODI4NDMsIAotICAgIDgyODU1LCA4Mjg2NiwgODI4NzcsIDgyODg3LCA4Mjg5NywgODI5MDcsIDgyOTE3LCA4MjkyNywgODI5MzcsIDgyOTQ3LCAKLSAgICA4Mjk1OSwgODI5NjksIDgyOTc5LCA4Mjk5MSwgODMwMDIsIDgzMDEzLCA4MzAyMywgODMwMzMsIDgzMDQzLCA4MzA1MywgCi0gICAgODMwNjUsIDgzMDc1LCA4MzA4NSwgODMwOTYsIDgzMTA3LCA4MzExNywgODMxMjcsIDgzMTM2LCA4MzE0NSwgODMxNTQsIAotICAgIDgzMTYzLCA4MzE3MiwgODMxODIsIDAsIDAsIDgzMTkyLCA4MzIwMiwgODMyMTIsIDgzMjIyLCA4MzIzMiwgODMyNDQsIAotICAgIDgzMjU0LCA4MzI2NCwgODMyNzYsIDgzMjg2LCA4MzI5OCwgODMzMDcsIDgzMzE2LCA4MzMyNywgODMzMzcsIDgzMzQ5LCAKLSAgICA4MzM2MCwgODMzNzMsIDgzMzgzLCA4MzM5NSwgODM0MDQsIDgzNDE1LCA4MzQyNiwgODM0MzksIDgzNDQ5LCA4MzQ1OSwgCi0gICAgODM0NjksIDgzNDc5LCA4MzQ4OSwgODM0OTgsIDgzNTA3LCA4MzUxNiwgODM1MjUsIDgzNTM1LCA4MzU0NSwgODM1NTUsIAotICAgIDgzNTY1LCA4MzU3NSwgODM1ODUsIDgzNTk1LCA4MzYwNSwgODM2MTUsIDgzNjI1LCA4MzYzNSwgODM2NDUsIDgzNjU0LCAKLSAgICA4MzY2MywgODM2NzIsIDgzNjgyLCA4MzY5MiwgODM3MDIsIDgzNzEyLCA4MzcyMiwgODM3MzMsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDgzNzQzLCA4Mzc1OCwgODM3NzMsIDgzNzc5LCA4Mzc4NSwgODM3OTEsIAotICAgIDgzNzk3LCA4MzgwMywgODM4MDksIDgzODE1LCA4MzgyMSwgODM4MjksIDgzODMzLCA4MzgzNiwgMCwgMCwgODM4NDQsIAotICAgIDgzODQ3LCA4Mzg1MCwgODM4NTMsIDgzODU2LCA4Mzg1OSwgODM4NjIsIDgzODY1LCA4Mzg2OCwgODM4NzEsIDgzODc0LCAKLSAgICA4Mzg3NywgODM4ODAsIDgzODgzLCA4Mzg4NiwgODM4ODksIDgzODkyLCA4MzkwMCwgODM5MDksIDgzOTIwLCA4MzkyOCwgCi0gICAgODM5MzYsIDgzOTQ1LCA4Mzk1NCwgODM5NjUsIDgzOTc3LCAwLCAwLCAwLCAwLCAwLCAwLCA4Mzk4NiwgODM5OTEsIDgzOTk2LCAKLSAgICA4NDAwMywgODQwMTAsIDg0MDE2LCA4NDAyMiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgODQwMjcsIDg0MDM3LCAKLSAgICA4NDA0NywgODQwNTcsIDg0MDY2LCA4NDA3NywgODQwODYsIDg0MDk1LCA4NDEwNSwgODQxMTUsIDg0MTI3LCA4NDEzOSwgCi0gICAgODQxNTAsIDg0MTYxLCA4NDE3MiwgODQxODMsIDg0MTkzLCA4NDIwMywgODQyMTMsIDg0MjIzLCA4NDIzNCwgODQyNDUsIAotICAgIDg0MjQ5LCA4NDI1NCwgODQyNjMsIDg0MjcyLCA4NDI3NiwgODQyODAsIDg0Mjg0LCA4NDI4OSwgODQyOTQsIDg0Mjk5LCAKLSAgICA4NDMwNCwgODQzMDcsIDg0MzExLCAwLCA4NDMxNiwgODQzMTksIDg0MzIyLCA4NDMyNiwgODQzMzAsIDg0MzM1LCA4NDMzOSwgCi0gICAgODQzNDMsIDg0MzQ4LCA4NDM1MywgODQzNjAsIDg0MzY3LCA4NDM3MCwgODQzNzMsIDg0Mzc2LCA4NDM3OSwgODQzODIsIAotICAgIDg0Mzg2LCA4NDM5MCwgMCwgODQzOTQsIDg0Mzk5LCA4NDQwMywgODQ0MDcsIDAsIDAsIDAsIDAsIDg0NDEyLCA4NDQxNywgCi0gICAgODQ0MjQsIDg0NDI5LCA4NDQzNCwgMCwgODQ0MzksIDg0NDQ0LCA4NDQ0OSwgODQ0NTQsIDg0NDU5LCA4NDQ2NCwgODQ0NjksIAotICAgIDg0NDc0LCA4NDQ3OSwgODQ0ODQsIDg0NDg5LCA4NDQ5NCwgODQ1MDMsIDg0NTEyLCA4NDUyMCwgODQ1MjgsIDg0NTM3LCAKLSAgICA4NDU0NiwgODQ1NTUsIDg0NTY0LCA4NDU3MiwgODQ1ODAsIDg0NTg4LCA4NDU5NiwgODQ2MDEsIDg0NjA2LCA4NDYxMiwgCi0gICAgODQ2MTgsIDg0NjI0LCA4NDYzMCwgODQ2MzgsIDg0NjQ2LCA4NDY1MiwgODQ2NTgsIDg0NjY0LCA4NDY3MCwgODQ2NzYsIAotICAgIDg0NjgyLCA4NDY4OCwgODQ2OTQsIDg0Njk5LCA4NDcwNCwgODQ3MDksIDg0NzE0LCA4NDcxOSwgODQ3MjQsIDg0NzI5LCAKLSAgICA4NDczNCwgODQ3NDAsIDg0NzQ2LCA4NDc1MiwgODQ3NTgsIDg0NzY0LCA4NDc3MCwgODQ3NzYsIDg0NzgyLCA4NDc4OCwgCi0gICAgODQ3OTQsIDg0ODAwLCA4NDgwNiwgODQ4MTIsIDg0ODE4LCA4NDgyNCwgODQ4MzAsIDg0ODM2LCA4NDg0MiwgODQ4NDgsIAotICAgIDg0ODU0LCA4NDg2MCwgODQ4NjYsIDg0ODcyLCA4NDg3OCwgODQ4ODQsIDg0ODkwLCA4NDg5NiwgODQ5MDIsIDg0OTA4LCAKLSAgICA4NDkxNCwgODQ5MjAsIDg0OTI2LCA4NDkzMiwgODQ5MzgsIDg0OTQ0LCA4NDk1MCwgODQ5NTYsIDg0OTYyLCA4NDk2OCwgCi0gICAgODQ5NzQsIDg0OTgwLCA4NDk4NiwgODQ5OTIsIDg0OTk4LCA4NTAwNCwgODUwMTAsIDg1MDE2LCA4NTAyMiwgODUwMjgsIAotICAgIDg1MDM0LCA4NTA0MCwgODUwNDYsIDg1MDUyLCA4NTA1OCwgODUwNjQsIDg1MDcwLCA4NTA3NiwgODUwODIsIDg1MDg4LCAKLSAgICA4NTA5NCwgODUwOTksIDg1MTA0LCA4NTEwOSwgODUxMTQsIDg1MTIwLCA4NTEyNiwgODUxMzIsIDg1MTM4LCA4NTE0NCwgCi0gICAgODUxNTAsIDg1MTU2LCA4NTE2MiwgODUxNjgsIDg1MTc0LCA4NTE4MSwgODUxODgsIDg1MTkzLCA4NTE5OCwgODUyMDMsIAotICAgIDg1MjA4LCA4NTIyMCwgODUyMzIsIDg1MjQzLCA4NTI1NCwgODUyNjYsIDg1Mjc4LCA4NTI4NiwgMCwgMCwgODUyOTQsIDAsIAotICAgIDg1MzAyLCA4NTMwNiwgODUzMTAsIDg1MzEzLCA4NTMxNywgODUzMjEsIDg1MzI0LCA4NTMyNywgODUzMzEsIDg1MzM1LCAKLSAgICA4NTMzOCwgODUzNDEsIDg1MzQ0LCA4NTM0NywgODUzNTIsIDg1MzU1LCA4NTM1OSwgODUzNjIsIDg1MzY1LCA4NTM2OCwgCi0gICAgODUzNzEsIDg1Mzc0LCA4NTM3NywgODUzODAsIDg1MzgzLCA4NTM4NiwgODUzODksIDg1MzkyLCA4NTM5NiwgODU0MDAsIAotICAgIDg1NDA0LCA4NTQwOCwgODU0MTMsIDg1NDE4LCA4NTQyNCwgODU0MzAsIDg1NDM2LCA4NTQ0MSwgODU0NDcsIDg1NDUzLCAKLSAgICA4NTQ1OSwgODU0NjQsIDg1NDcwLCA4NTQ3NiwgODU0ODEsIDg1NDg2LCA4NTQ5MiwgODU0OTcsIDg1NTAzLCA4NTUwOSwgCi0gICAgODU1MTQsIDg1NTIwLCA4NTUyNiwgODU1MzEsIDg1NTM3LCA4NTU0MywgODU1NDksIDg1NTU1LCA4NTU2MSwgODU1NjUsIAotICAgIDg1NTcwLCA4NTU3NCwgODU1NzksIDg1NTgzLCA4NTU4OCwgODU1OTMsIDg1NTk5LCA4NTYwNSwgODU2MTEsIDg1NjE2LCAKLSAgICA4NTYyMiwgODU2MjgsIDg1NjM0LCA4NTYzOSwgODU2NDUsIDg1NjUxLCA4NTY1NiwgODU2NjEsIDg1NjY3LCA4NTY3MiwgCi0gICAgODU2NzgsIDg1Njg0LCA4NTY4OSwgODU2OTUsIDg1NzAxLCA4NTcwNiwgODU3MTIsIDg1NzE4LCA4NTcyNCwgODU3MzAsIAotICAgIDg1NzM2LCA4NTc0MSwgODU3NDUsIDg1NzUwLCA4NTc1MiwgODU3NTcsIDg1NzYyLCA4NTc2OCwgODU3NzMsIDg1Nzc4LCAKLSAgICA4NTc4MiwgODU3ODgsIDg1NzkzLCA4NTc5OCwgODU4MDMsIDg1ODA4LCA4NTgxMywgODU4MTgsIDg1ODIzLCA4NTgyOSwgCi0gICAgODU4MzUsIDg1ODQxLCA4NTg0OSwgODU4NTMsIDg1ODU3LCA4NTg2MSwgODU4NjUsIDg1ODY5LCA4NTg3MywgODU4NzgsIAotICAgIDg1ODgzLCA4NTg4OCwgODU4OTMsIDg1ODk3LCA4NTkwMiwgODU5MDcsIDg1OTEyLCA4NTkxNywgODU5MjIsIDg1OTI3LCAKLSAgICA4NTkzMiwgODU5MzcsIDg1OTQxLCA4NTk0NSwgODU5NTAsIDg1OTU1LCA4NTk2MCwgODU5NjUsIDg1OTY5LCA4NTk3NCwgCi0gICAgODU5NzksIDg1OTg0LCA4NTk4OSwgODU5OTMsIDg1OTk4LCA4NjAwMywgODYwMDgsIDg2MDEzLCA4NjAxNywgODYwMjIsIAotICAgIDg2MDI3LCA4NjAzMSwgODYwMzYsIDg2MDQxLCA4NjA0NiwgODYwNTEsIDg2MDU2LCA4NjA2MSwgODYwNjgsIDg2MDc1LCAKLSAgICA4NjA3OSwgODYwODQsIDg2MDg5LCA4NjA5NCwgODYwOTksIDg2MTA0LCA4NjEwOSwgODYxMTQsIDg2MTE5LCA4NjEyNCwgCi0gICAgODYxMjksIDg2MTM0LCA4NjEzOSwgODYxNDQsIDg2MTQ5LCA4NjE1NCwgODYxNTksIDg2MTY0LCA4NjE2OSwgODYxNzQsIAotICAgIDg2MTc5LCA4NjE4NCwgODYxODksIDg2MTk0LCA4NjE5OSwgODYyMDQsIDg2MjA5LCA4NjIxNCwgODYyMTksIDg2MjI0LCAwLCAKLSAgICAwLCAwLCA4NjIyOSwgODYyMzMsIDg2MjM4LCA4NjI0MiwgODYyNDcsIDg2MjUyLCAwLCAwLCA4NjI1NiwgODYyNjEsIAotICAgIDg2MjY2LCA4NjI3MCwgODYyNzUsIDg2MjgwLCAwLCAwLCA4NjI4NSwgODYyOTAsIDg2Mjk0LCA4NjI5OSwgODYzMDQsIAotICAgIDg2MzA5LCAwLCAwLCA4NjMxNCwgODYzMTksIDg2MzI0LCAwLCAwLCAwLCA4NjMyOCwgODYzMzIsIDg2MzM2LCA4NjM0MCwgCi0gICAgODYzNDMsIDg2MzQ3LCA4NjM1MSwgMCwgODYzNTUsIDg2MzYxLCA4NjM2NCwgODYzNjgsIDg2MzcxLCA4NjM3NSwgODYzNzksIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDg2MzgzLCA4NjM4OSwgODYzOTUsIDg2NDAxLCA4NjQwNywgMCwgMCwgCi0gICAgODY0MTEsIDg2NDE3LCA4NjQyMywgODY0MjksIDg2NDM1LCA4NjQ0MSwgODY0NDgsIDg2NDU1LCA4NjQ2MiwgODY0NjksIAotICAgIDg2NDc2LCA4NjQ4MywgMCwgODY0OTAsIDg2NDk3LCA4NjUwNCwgODY1MTAsIDg2NTE3LCA4NjUyNCwgODY1MzEsIDg2NTM4LCAKLSAgICA4NjU0NCwgODY1NTEsIDg2NTU4LCA4NjU2NSwgODY1NzIsIDg2NTc4LCA4NjU4NSwgODY1OTIsIDg2NTk5LCA4NjYwNiwgCi0gICAgODY2MTIsIDg2NjE5LCA4NjYyNiwgODY2MzMsIDg2NjQwLCA4NjY0NywgODY2NTQsIDg2NjYxLCAwLCA4NjY2OCwgODY2NzQsIAotICAgIDg2NjgxLCA4NjY4OCwgODY2OTUsIDg2NzAyLCA4NjcwOCwgODY3MTUsIDg2NzIyLCA4NjcyOSwgODY3MzYsIDg2NzQzLCAKLSAgICA4Njc1MCwgODY3NTcsIDg2NzYzLCA4Njc3MCwgODY3NzcsIDg2Nzg0LCA4Njc5MSwgMCwgODY3OTgsIDg2ODA1LCAwLCAKLSAgICA4NjgxMiwgODY4MTksIDg2ODI2LCA4NjgzMywgODY4NDAsIDg2ODQ3LCA4Njg1NCwgODY4NjEsIDg2ODY4LCA4Njg3NSwgCi0gICAgODY4ODIsIDg2ODg5LCA4Njg5NiwgODY5MDMsIDg2OTEwLCAwLCAwLCA4NjkxNiwgODY5MjEsIDg2OTI2LCA4NjkzMSwgCi0gICAgODY5MzYsIDg2OTQxLCA4Njk0NiwgODY5NTEsIDg2OTU2LCA4Njk2MSwgODY5NjYsIDg2OTcxLCA4Njk3NiwgODY5ODEsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDg2OTg2LCA4Njk5MywgODcwMDAsIDg3MDA3LCA4NzAxNCwgODcwMjEsIAotICAgIDg3MDI4LCA4NzAzNSwgODcwNDIsIDg3MDQ5LCA4NzA1NiwgODcwNjMsIDg3MDcwLCA4NzA3NywgODcwODQsIDg3MDkxLCAKLSAgICA4NzA5OCwgODcxMDUsIDg3MTEyLCA4NzExOSwgODcxMjcsIDg3MTM1LCA4NzE0MiwgODcxNDksIDg3MTU0LCA4NzE2MiwgCi0gICAgODcxNzAsIDg3MTc3LCA4NzE4NCwgODcxODksIDg3MTk2LCA4NzIwMSwgODcyMDYsIDg3MjEzLCA4NzIxOCwgODcyMjMsIAotICAgIDg3MjI4LCA4NzIzNiwgODcyNDEsIDg3MjQ2LCA4NzI1MywgODcyNTgsIDg3MjYzLCA4NzI3MCwgODcyNzcsIDg3MjgyLCAKLSAgICA4NzI4NywgODcyOTIsIDg3Mjk3LCA4NzMwMiwgODczMDcsIDg3MzEyLCA4NzMxNywgODczMjIsIDg3MzI5LCA4NzMzNCwgCi0gICAgODczNDEsIDg3MzQ2LCA4NzM1MSwgODczNTYsIDg3MzYxLCA4NzM2NiwgODczNzEsIDg3Mzc2LCA4NzM4MSwgODczODYsIAotICAgIDg3MzkxLCA4NzM5NiwgODc0MDMsIDg3NDEwLCA4NzQxNywgODc0MjQsIDg3NDMwLCA4NzQzNSwgODc0NDIsIDg3NDQ3LCAKLSAgICA4NzQ1MiwgODc0NjEsIDg3NDY4LCA4NzQ3NywgODc0ODQsIDg3NDg5LCA4NzQ5NCwgODc1MDIsIDg3NTA3LCA4NzUxMiwgCi0gICAgODc1MTcsIDg3NTIyLCA4NzUyNywgODc1MzQsIDg3NTM5LCA4NzU0NCwgODc1NDksIDg3NTU0LCA4NzU1OSwgODc1NjYsIAotICAgIDg3NTczLCA4NzU4MCwgODc1ODcsIDg3NTk0LCA4NzYwMSwgODc2MDgsIDg3NjE1LCA4NzYyMiwgODc2MjksIDg3NjM2LCAKLSAgICA4NzY0MywgODc2NTAsIDg3NjU3LCA4NzY2NCwgODc2NzEsIDg3Njc4LCA4NzY4NSwgODc2OTIsIDg3Njk5LCA4NzcwNiwgCi0gICAgODc3MTMsIDg3NzIwLCA4NzcyNywgODc3MzQsIDg3NzQxLCA4Nzc0OCwgODc3NTUsIDAsIDAsIDAsIDAsIDAsIDg3NzYyLCAKLSAgICA4Nzc3MCwgODc3NzgsIDAsIDAsIDAsIDAsIDg3NzgzLCA4Nzc4NywgODc3OTEsIDg3Nzk1LCA4Nzc5OSwgODc4MDMsIAotICAgIDg3ODA3LCA4NzgxMSwgODc4MTUsIDg3ODE5LCA4NzgyNCwgODc4MjksIDg3ODM0LCA4NzgzOSwgODc4NDQsIDg3ODQ5LCAKLSAgICA4Nzg1NCwgODc4NTksIDg3ODY0LCA4Nzg3MCwgODc4NzYsIDg3ODgyLCA4Nzg4OSwgODc4OTYsIDg3OTAzLCA4NzkxMCwgCi0gICAgODc5MTcsIDg3OTI0LCA4NzkzMCwgODc5MzYsIDg3OTQyLCA4Nzk0OSwgODc5NTYsIDg3OTYzLCA4Nzk3MCwgODc5NzcsIAotICAgIDg3OTg0LCA4Nzk5MSwgODc5OTgsIDg4MDA1LCA4ODAxMiwgODgwMTksIDg4MDI2LCA4ODAzMywgODgwNDAsIDAsIDAsIDAsIAotICAgIDg4MDQ3LCA4ODA1NSwgODgwNjMsIDg4MDcxLCA4ODA3OSwgODgwODcsIDg4MDk3LCA4ODEwNywgODgxMTUsIDg4MTIzLCAKLSAgICA4ODEzMSwgODgxMzksIDg4MTQ3LCA4ODE1MywgODgxNjAsIDg4MTY5LCA4ODE3OCwgODgxODcsIDg4MTk2LCA4ODIwNSwgCi0gICAgODgyMTQsIDg4MjI0LCA4ODIzNSwgODgyNDUsIDg4MjU2LCA4ODI2NSwgODgyNzQsIDg4MjgzLCA4ODI5MywgODgzMDQsIAotICAgIDg4MzE0LCA4ODMyNSwgODgzMzYsIDg4MzQ1LCA4ODM1MywgODgzNTksIDg4MzY1LCA4ODM3MSwgODgzNzcsIDg4Mzg1LCAKLSAgICA4ODM5MywgODgzOTksIDg4NDA2LCA4ODQxNiwgODg0MjMsIDg4NDMwLCA4ODQzNywgODg0NDQsIDg4NDUxLCA4ODQ2MSwgCi0gICAgODg0NjgsIDg4NDc1LCA4ODQ4MywgODg0OTEsIDg4NTAwLCA4ODUwOSwgODg1MTgsIDg4NTI3LCA4ODUzNiwgODg1NDQsIAotICAgIDg4NTUzLCA4ODU2MiwgODg1NzEsIDg4NTc1LCA4ODU4MiwgODg1ODcsIDg4NTkyLCA4ODU5NiwgODg2MDAsIDg4NjA0LCAKLSAgICA4ODYwOCwgODg2MTMsIDg4NjE4LCA4ODYyNCwgODg2MzAsIDg4NjM0LCA4ODY0MCwgODg2NDQsIDg4NjQ4LCA4ODY1MiwgCi0gICAgODg2NTYsIDg4NjYwLCA4ODY2NCwgODg2NzAsIDAsIDAsIDAsIDAsIDAsIDg4Njc0LCA4ODY3OSwgODg2ODQsIDg4Njg5LCAKLSAgICA4ODY5NCwgODg3MDEsIDg4NzA2LCA4ODcxMSwgODg3MTYsIDg4NzIxLCA4ODcyNiwgODg3MzEsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDg4NzM2LCAKLSAgICA4ODc0MywgODg3NTIsIDg4NzYxLCA4ODc2OCwgODg3NzUsIDg4NzgyLCA4ODc4OSwgODg3OTYsIDg4ODAzLCA4ODgwOSwgCi0gICAgODg4MTYsIDg4ODIzLCA4ODgzMCwgODg4MzcsIDg4ODQ0LCA4ODg1MSwgODg4NTgsIDg4ODY1LCA4ODg3NCwgODg4ODEsIAotICAgIDg4ODg4LCA4ODg5NSwgODg5MDIsIDg4OTA5LCA4ODkxNiwgODg5MjMsIDg4OTMwLCA4ODkzOSwgODg5NDYsIDg4OTUzLCAKLSAgICA4ODk2MCwgODg5NjcsIDg4OTc0LCA4ODk4MSwgODg5OTAsIDg4OTk3LCA4OTAwNCwgODkwMTEsIDg5MDE4LCA4OTAyNywgCi0gICAgODkwMzQsIDg5MDQxLCA4OTA0OCwgODkwNTYsIDg5MDY1LCAwLCAwLCA4OTA3NCwgODkwNzgsIDg5MDgyLCA4OTA4NywgCi0gICAgODkwOTIsIDg5MDk3LCA4OTEwMiwgODkxMDYsIDg5MTExLCA4OTExNiwgODkxMjEsIDg5MTI2LCA4OTEzMSwgODkxMzYsIAotICAgIDg5MTQwLCA4OTE0NCwgODkxNDksIDg5MTU0LCA4OTE1OSwgODkxNjMsIDg5MTY4LCA4OTE3MywgODkxNzcsIDg5MTgyLCAKLSAgICA4OTE4NywgODkxOTIsIDg5MTk3LCA4OTIwMiwgODkyMDcsIDAsIDAsIDAsIDg5MjEyLCA4OTIxNiwgODkyMjEsIDg5MjI2LCAKLSAgICA4OTIzMCwgODkyMzUsIDg5MjM5LCA4OTI0NCwgODkyNDksIDg5MjU0LCA4OTI1OSwgODkyNjMsIDg5MjY3LCA4OTI3MiwgCi0gICAgODkyNzcsIDg5MjgyLCA4OTI4NywgODkyOTIsIDg5Mjk3LCA4OTMwMSwgODkzMDYsIDg5MzExLCA4OTMxNiwgODkzMjEsIAotICAgIDg5MzI2LCA4OTMzMSwgODkzMzUsIDg5MzM5LCA4OTM0NCwgODkzNDksIDg5MzU0LCA4OTM1OSwgODkzNjQsIDg5MzY5LCAKLSAgICA4OTM3NCwgODkzNzksIDg5Mzg0LCA4OTM4OSwgODkzOTQsIDg5Mzk5LCA4OTQwNCwgODk0MDksIDg5NDE0LCA4OTQxOSwgCi0gICAgODk0MjQsIDg5NDI5LCA4OTQzNCwgODk0MzksIDg5NDQ0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA4OTQ0OSwgODk0NTMsIDg5NDU4LCA4OTQ2MywgODk0NjgsIDg5NDcyLCAKLSAgICA4OTQ3NywgODk0ODIsIDg5NDg3LCA4OTQ5MiwgODk0OTYsIDg5NTAwLCA4OTUwNSwgODk1MTAsIDg5NTE1LCA4OTUyMCwgCi0gICAgODk1MjQsIDg5NTI5LCA4OTUzNCwgODk1MzksIDg5NTQ0LCA4OTU0OSwgODk1NTQsIDg5NTU4LCA4OTU2MywgODk1NjgsIAotICAgIDg5NTczLCA4OTU3OCwgODk1ODMsIDg5NTg4LCA4OTU5MywgMCwgODk1OTgsIDg5NjAzLCA4OTYwOCwgODk2MTQsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDg5NjIwLCA4OTYyNSwgODk2MzAsIDg5NjM1LCA4OTY0MCwgODk2NDUsIAotICAgIDg5NjUwLCA4OTY1NSwgODk2NjAsIDg5NjY1LCA4OTY3MCwgODk2NzUsIDg5NjgwLCA4OTY4NSwgODk2OTAsIDg5Njk1LCAKLSAgICA4OTcwMCwgODk3MDUsIDg5NzEwLCA4OTcxNSwgODk3MjAsIDg5NzI1LCA4OTczMCwgODk3MzUsIDg5NzQwLCA4OTc0NSwgCi0gICAgODk3NTAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDg5NzU3LCA4OTc2MiwgODk3NjcsIDg5NzcyLCA4OTc3NywgODk3ODIsIDg5Nzg3LCAKLSAgICA4OTc5MiwgODk3OTcsIDg5ODAyLCA4OTgwNywgODk4MTIsIDg5ODE3LCA4OTgyMiwgODk4MjcsIDg5ODMyLCA4OTgzNywgCi0gICAgODk4NDIsIDg5ODQ3LCA4OTg1MiwgODk4NTcsIDg5ODYyLCA4OTg2NywgODk4NzIsIDg5ODc3LCA4OTg4MiwgODk4ODcsIAotICAgIDg5ODkxLCA4OTg5NSwgODk4OTksIDAsIDg5OTA0LCA4OTkxMCwgODk5MTUsIDg5OTIwLCA4OTkyNSwgODk5MzAsIDg5OTM2LCAKLSAgICA4OTk0MiwgODk5NDgsIDg5OTU0LCA4OTk2MCwgODk5NjYsIDg5OTcyLCA4OTk3OCwgODk5ODQsIDg5OTkwLCA4OTk5NiwgCi0gICAgOTAwMDIsIDkwMDA4LCA5MDAxMywgOTAwMTksIDkwMDI1LCA5MDAzMCwgOTAwMzYsIDkwMDQxLCA5MDA0NywgOTAwNTMsIAotICAgIDkwMDU4LCA5MDA2NCwgOTAwNzAsIDkwMDc1LCA5MDA4MSwgOTAwODcsIDkwMDkyLCA5MDA5OCwgOTAxMDQsIDkwMTEwLCAwLCAKLSAgICAwLCAwLCAwLCA5MDExNSwgOTAxMjEsIDkwMTI3LCA5MDEzMywgOTAxMzksIDkwMTQ1LCA5MDE1MSwgOTAxNTcsIDkwMTYzLCAKLSAgICA5MDE3MCwgOTAxNzUsIDkwMTgwLCA5MDE4NiwgOTAxOTIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDkwMTk4LCA5MDIwMywgOTAyMDgsIDkwMjEzLCA5MDIxOSwgOTAyMjQsIDkwMjMwLCA5MDIzNiwgCi0gICAgOTAyNDIsIDkwMjQ4LCA5MDI1NSwgOTAyNjEsIDkwMjY4LCA5MDI3MywgOTAyNzgsIDkwMjgzLCA5MDI4OCwgOTAyOTMsIAotICAgIDkwMjk4LCA5MDMwMywgOTAzMDgsIDkwMzEzLCA5MDMxOCwgOTAzMjMsIDkwMzI4LCA5MDMzMywgOTAzMzgsIDkwMzQzLCAKLSAgICA5MDM0OCwgOTAzNTMsIDkwMzU4LCA5MDM2MywgOTAzNjgsIDkwMzczLCA5MDM3OCwgOTAzODMsIDkwMzg4LCA5MDM5MywgCi0gICAgOTAzOTgsIDkwNDAzLCA5MDQwOCwgOTA0MTMsIDkwNDE4LCA5MDQyMywgOTA0MjksIDkwNDM0LCA5MDQ0MCwgOTA0NDYsIAotICAgIDkwNDUyLCA5MDQ1OCwgOTA0NjUsIDkwNDcxLCA5MDQ3OCwgOTA0ODMsIDkwNDg4LCA5MDQ5MywgOTA0OTgsIDkwNTAzLCAKLSAgICA5MDUwOCwgOTA1MTMsIDkwNTE4LCA5MDUyMywgOTA1MjgsIDkwNTMzLCA5MDUzOCwgOTA1NDMsIDkwNTQ4LCA5MDU1MywgCi0gICAgOTA1NTgsIDkwNTYzLCA5MDU2OCwgOTA1NzMsIDkwNTc4LCA5MDU4MywgOTA1ODgsIDkwNTkzLCA5MDU5OCwgOTA2MDMsIAotICAgIDkwNjA4LCA5MDYxMywgOTA2MTgsIDkwNjIzLCA5MDYyOCwgOTA2MzMsIDkwNjM4LCA5MDY0MywgOTA2NDgsIDkwNjUzLCAKLSAgICA5MDY1OCwgOTA2NjMsIDkwNjY4LCA5MDY3MywgOTA2NzgsIDkwNjgzLCA5MDY4OCwgOTA2OTMsIDkwNjk4LCA5MDcwMywgCi0gICAgOTA3MDgsIDkwNzEzLCA5MDcxOCwgOTA3MjMsIDkwNzI4LCA5MDczMywgOTA3MzgsIDkwNzQzLCA5MDc0OCwgOTA3NTMsIAotICAgIDkwNzU4LCA5MDc2MywgOTA3NjgsIDkwNzczLCA5MDc3OCwgOTA3ODMsIDkwNzg4LCA5MDc5MywgOTA3OTgsIDkwODAzLCAKLSAgICA5MDgwOCwgOTA4MTMsIDkwODE4LCA5MDgyMywgOTA4MjgsIDkwODMzLCA5MDgzOCwgOTA4NDMsIDkwODQ4LCA5MDg1MywgCi0gICAgOTA4NTgsIDkwODYzLCA5MDg2OCwgOTA4NzMsIDkwODc4LCA5MDg4MywgOTA4ODgsIDkwODkzLCA5MDg5NywgOTA5MDEsIAotICAgIDkwOTA2LCA5MDkxMSwgOTA5MTYsIDkwOTIxLCA5MDkyNiwgOTA5MzEsIDkwOTM2LCA5MDk0MSwgOTA5NDYsIDkwOTUxLCAKLSAgICA5MDk1NiwgOTA5NjAsIDkwOTY0LCA5MDk2OCwgOTA5NzIsIDkwOTc2LCA5MDk4MCwgOTA5ODQsIDkwOTg5LCA5MDk5NCwgMCwgCi0gICAgMCwgOTA5OTksIDkxMDA0LCA5MTAwOCwgOTEwMTIsIDkxMDE2LCA5MTAyMCwgOTEwMjQsIDkxMDI4LCA5MTAzMiwgOTEwMzYsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDkxMDQwLCA5MTA0NCwgOTEwNDgsIDkxMDUyLCAKLSAgICA5MTA1NiwgOTEwNjAsIDAsIDAsIDkxMDY1LCAwLCA5MTA3MCwgOTEwNzQsIDkxMDc5LCA5MTA4NCwgOTEwODksIDkxMDk0LCAKLSAgICA5MTA5OSwgOTExMDQsIDkxMTA5LCA5MTExNCwgOTExMTksIDkxMTIzLCA5MTEyOCwgOTExMzMsIDkxMTM4LCA5MTE0MywgCi0gICAgOTExNDcsIDkxMTUyLCA5MTE1NywgOTExNjIsIDkxMTY3LCA5MTE3MSwgOTExNzYsIDkxMTgxLCA5MTE4NiwgOTExOTEsIAotICAgIDkxMTk1LCA5MTIwMCwgOTEyMDUsIDkxMjEwLCA5MTIxNSwgOTEyMTksIDkxMjI0LCA5MTIyOSwgOTEyMzQsIDkxMjM5LCAKLSAgICA5MTI0NCwgOTEyNDksIDkxMjU0LCA5MTI1OCwgOTEyNjMsIDkxMjY4LCA5MTI3MywgOTEyNzgsIDAsIDkxMjgzLCA5MTI4OCwgCi0gICAgMCwgMCwgMCwgOTEyOTMsIDAsIDAsIDkxMjk4LCA5MTMwMywgOTEzMTAsIDkxMzE3LCA5MTMyNCwgOTEzMzEsIDkxMzM4LCAKLSAgICA5MTM0NSwgOTEzNTIsIDkxMzU5LCA5MTM2NiwgOTEzNzMsIDkxMzgwLCA5MTM4NywgOTEzOTQsIDkxNDAxLCA5MTQwOCwgCi0gICAgOTE0MTUsIDkxNDIyLCA5MTQyOSwgOTE0MzYsIDkxNDQzLCA5MTQ1MCwgMCwgOTE0NTcsIDkxNDY0LCA5MTQ3MCwgOTE0NzYsIAotICAgIDkxNDgyLCA5MTQ4OSwgOTE0OTYsIDkxNTA0LCA5MTUxMiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOTE1MjEsIDkxNTI2LCAKLSAgICA5MTUzMSwgOTE1MzYsIDkxNTQxLCA5MTU0NiwgOTE1NTEsIDkxNTU2LCA5MTU2MSwgOTE1NjYsIDkxNTcxLCA5MTU3NiwgCi0gICAgOTE1ODEsIDkxNTg2LCA5MTU5MSwgOTE1OTYsIDkxNjAxLCA5MTYwNiwgOTE2MTEsIDkxNjE2LCA5MTYyMSwgOTE2MjYsIAotICAgIDkxNjMxLCA5MTYzNSwgOTE2NDAsIDkxNjQ1LCA5MTY1MSwgOTE2NTUsIDAsIDAsIDAsIDkxNjU5LCA5MTY2NSwgOTE2NjksIAotICAgIDkxNjc0LCA5MTY3OSwgOTE2ODQsIDkxNjg4LCA5MTY5MywgOTE2OTcsIDkxNzAyLCA5MTcwNywgOTE3MTEsIDkxNzE1LCAKLSAgICA5MTcyMCwgOTE3MjQsIDkxNzI4LCA5MTczMywgOTE3MzgsIDkxNzQyLCA5MTc0NywgOTE3NTIsIDkxNzU3LCA5MTc2MiwgCi0gICAgOTE3NjcsIDkxNzcyLCA5MTc3NywgOTE3ODIsIDAsIDAsIDAsIDAsIDAsIDkxNzg3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5MTc5MiwgOTE3OTgsIDkxODA0LCA5MTgxMCwgOTE4MTYsIDkxODIyLCA5MTgyOSwgCi0gICAgOTE4MzYsIDkxODQzLCA5MTg0OSwgOTE4NTUsIDkxODYxLCA5MTg2OCwgOTE4NzUsIDkxODgyLCA5MTg4OCwgOTE4OTUsIAotICAgIDkxOTAyLCA5MTkwOSwgOTE5MTYsIDkxOTIyLCA5MTkyOSwgOTE5MzYsIDkxOTQyLCA5MTk0OSwgOTE5NTYsIDkxOTYzLCAKLSAgICA5MTk3MCwgOTE5NzcsIDkxOTgzLCA5MTk5MCwgOTE5OTcsIDkyMDA0LCA5MjAxMCwgOTIwMTYsIDkyMDIyLCA5MjAyOCwgCi0gICAgOTIwMzQsIDkyMDQxLCA5MjA0OCwgOTIwNTQsIDkyMDYwLCA5MjA2NiwgOTIwNzMsIDkyMDc5LCA5MjA4NiwgOTIwOTMsIAotICAgIDkyMTAwLCA5MjEwNiwgOTIxMTQsIDkyMTIxLCA5MjEyNywgOTIxMzQsIDkyMTQxLCA5MjE0OCwgOTIxNTQsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDkyMTYxLCA5MjE2OSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgOTIxNzcsIDkyMTgxLCA5MjE4NiwgOTIxOTEsIDAsIDkyMTk3LCA5MjIwMiwgMCwgMCwgMCwgMCwgMCwgOTIyMDcsIDkyMjEzLCAKLSAgICA5MjIyMCwgOTIyMjUsIDkyMjMwLCA5MjIzNCwgOTIyMzksIDkyMjQ0LCAwLCA5MjI0OSwgOTIyNTQsIDkyMjU5LCAwLCAKLSAgICA5MjI2NCwgOTIyNjksIDkyMjc0LCA5MjI3OSwgOTIyODQsIDkyMjg5LCA5MjI5NCwgOTIyOTksIDkyMzA0LCA5MjMwOSwgCi0gICAgOTIzMTQsIDkyMzE4LCA5MjMyMiwgOTIzMjcsIDkyMzMyLCA5MjMzNywgOTIzNDEsIDkyMzQ1LCA5MjM0OSwgOTIzNTQsIAotICAgIDkyMzU5LCA5MjM2NCwgOTIzNjksIDkyMzczLCA5MjM3OCwgOTIzODIsIDkyMzg3LCAwLCAwLCAwLCAwLCA5MjM5MiwgCi0gICAgOTIzOTgsIDkyNDAzLCAwLCAwLCAwLCAwLCA5MjQwOCwgOTI0MTIsIDkyNDE2LCA5MjQyMCwgOTI0MjQsIDkyNDI4LCAKLSAgICA5MjQzMywgOTI0MzgsIDkyNDQ0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5MjQ1MCwgOTI0NTYsIDkyNDYzLCA5MjQ2OSwgCi0gICAgOTI0NzYsIDkyNDgyLCA5MjQ4OCwgOTI0OTQsIDkyNTAxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5MjUwNywgOTI1MTUsIAotICAgIDkyNTIzLCA5MjUzMSwgOTI1MzksIDkyNTQ3LCA5MjU1NSwgOTI1NjMsIDkyNTcxLCA5MjU3OSwgOTI1ODcsIDkyNTk1LCAKLSAgICA5MjYwMywgOTI2MTEsIDkyNjE5LCA5MjYyNywgOTI2MzUsIDkyNjQzLCA5MjY1MSwgOTI2NTksIDkyNjY3LCA5MjY3NSwgCi0gICAgOTI2ODMsIDkyNjkxLCA5MjY5OSwgOTI3MDcsIDkyNzE1LCA5MjcyMywgOTI3MzEsIDkyNzM5LCA5Mjc0NiwgOTI3NTQsIAotICAgIDkyNzYyLCA5Mjc2NiwgOTI3NzEsIDkyNzc2LCA5Mjc4MSwgOTI3ODYsIDkyNzkxLCA5Mjc5NiwgOTI4MDEsIDkyODA1LCAKLSAgICA5MjgxMCwgOTI4MTQsIDkyODE5LCA5MjgyMywgOTI4MjgsIDkyODMyLCA5MjgzNywgOTI4NDIsIDkyODQ3LCA5Mjg1MiwgCisgICAgMCwgMCwgOTIxMTcsIDkyMTIxLCA5MjEyNSwgOTIxMzAsIDkyMTM1LCA5MjE0MCwgOTIxNDUsIDkyMTQ5LCA5MjE1NCwgCisgICAgOTIxNTksIDkyMTY0LCA5MjE2OSwgOTIxNzQsIDkyMTc5LCA5MjE4MywgOTIxODgsIDkyMTkzLCA5MjE5OCwgOTIyMDMsIAorICAgIDkyMjA3LCA5MjIxMiwgOTIyMTcsIDkyMjIxLCA5MjIyNSwgOTIyMzAsIDkyMjM1LCA5MjI0MCwgOTIyNDUsIDkyMjUwLCAwLCAKKyAgICAwLCAwLCA5MjI1NSwgOTIyNTksIDkyMjY0LCA5MjI2OSwgOTIyNzMsIDkyMjc4LCA5MjI4MiwgOTIyODcsIDkyMjkyLCAKKyAgICA5MjI5NywgOTIzMDIsIDkyMzA3LCA5MjMxMSwgOTIzMTYsIDkyMzIxLCA5MjMyNiwgOTIzMzEsIDkyMzM1LCA5MjM0MCwgCisgICAgOTIzNDQsIDkyMzQ5LCA5MjM1NCwgOTIzNTksIDkyMzY0LCA5MjM2OSwgOTIzNzQsIDkyMzc4LCA5MjM4MiwgOTIzODcsIAorICAgIDkyMzkyLCA5MjM5NywgOTI0MDIsIDkyNDA3LCA5MjQxMiwgOTI0MTcsIDkyNDIyLCA5MjQyNywgOTI0MzIsIDkyNDM3LCAKKyAgICA5MjQ0MiwgOTI0NDcsIDkyNDUyLCA5MjQ1NywgOTI0NjIsIDkyNDY3LCA5MjQ3MiwgOTI0NzcsIDkyNDgyLCA5MjQ4NywgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOTI0OTIsIDkyNDk4LCA5MjUwMywgOTI1MDgsIAorICAgIDkyNTEzLCA5MjUxOCwgOTI1MjMsIDkyNTI4LCA5MjUzMywgOTI1MzgsIDkyNTQzLCA5MjU0OSwgOTI1NTUsIDkyNTYxLCAKKyAgICA5MjU2NywgOTI1NzMsIDkyNTc5LCA5MjU4NSwgOTI1OTEsIDkyNTk3LCA5MjYwNCwgOTI2MTEsIDkyNjE4LCA5MjYyNiwgCisgICAgOTI2MzQsIDkyNjQyLCA5MjY1MCwgOTI2NTgsIDAsIDAsIDAsIDAsIDkyNjY2LCA5MjY3MCwgOTI2NzUsIDkyNjgwLCAKKyAgICA5MjY4NSwgOTI2ODksIDkyNjk0LCA5MjY5OSwgOTI3MDQsIDkyNzA5LCA5MjcxMywgOTI3MTcsIDkyNzIyLCA5MjcyNywgCisgICAgOTI3MzIsIDkyNzM3LCA5Mjc0MSwgOTI3NDYsIDkyNzUxLCA5Mjc1NiwgOTI3NjEsIDkyNzY2LCA5Mjc3MSwgOTI3NzUsIAorICAgIDkyNzgwLCA5Mjc4NSwgOTI3OTAsIDkyNzk1LCA5MjgwMCwgOTI4MDUsIDkyODEwLCA5MjgxNSwgOTI4MjAsIDkyODI1LCAKKyAgICA5MjgzMCwgOTI4MzYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDkyODQyLCA5Mjg0NywgOTI4NTIsIAogICAgIDkyODU3LCA5Mjg2MiwgOTI4NjcsIDkyODcyLCA5Mjg3NywgOTI4ODIsIDkyODg3LCA5Mjg5MiwgOTI4OTcsIDkyOTAyLCAKICAgICA5MjkwNywgOTI5MTIsIDkyOTE3LCA5MjkyMiwgOTI5MjcsIDkyOTMyLCA5MjkzNywgOTI5NDIsIDkyOTQ3LCA5Mjk1MiwgCi0gICAgOTI5NTcsIDkyOTYyLCA5Mjk2NywgOTI5NzIsIDkyOTc3LCA5Mjk4MiwgOTI5ODcsIDkyOTkyLCA5Mjk5NywgOTMwMDIsIAotICAgIDkzMDA3LCA5MzAxMiwgOTMwMTcsIDkzMDIyLCAwLCAwLCAwLCA5MzAyNywgOTMwMzIsIDkzMDQxLCA5MzA0OSwgOTMwNTgsIAotICAgIDkzMDY3LCA5MzA3OCwgOTMwODksIDkzMDk2LCA5MzEwMywgOTMxMTAsIDkzMTE3LCA5MzEyNCwgOTMxMzEsIDkzMTM4LCAKLSAgICA5MzE0NSwgOTMxNTIsIDkzMTU5LCA5MzE2NiwgOTMxNzMsIDkzMTgwLCA5MzE4NywgOTMxOTQsIDkzMjAxLCA5MzIwOCwgCi0gICAgOTMyMTUsIDkzMjIyLCA5MzIyOSwgOTMyMzYsIDAsIDAsIDkzMjQzLCA5MzI0OSwgOTMyNTUsIDkzMjYxLCA5MzI2NywgCi0gICAgOTMyNzQsIDkzMjgxLCA5MzI4OSwgOTMyOTcsIDkzMzA0LCA5MzMxMSwgOTMzMTgsIDkzMzI1LCA5MzMzMiwgOTMzMzksIAotICAgIDkzMzQ2LCA5MzM1MywgOTMzNjAsIDkzMzY3LCA5MzM3NCwgOTMzODEsIDkzMzg4LCA5MzM5NSwgOTM0MDIsIDkzNDA5LCAKLSAgICA5MzQxNiwgOTM0MjMsIDAsIDAsIDAsIDAsIDAsIDkzNDMwLCA5MzQzNiwgOTM0NDIsIDkzNDQ4LCA5MzQ1NCwgOTM0NjEsIAotICAgIDkzNDY4LCA5MzQ3NiwgOTM0ODQsIDkzNDkwLCA5MzQ5NiwgOTM1MDMsIDkzNTA5LCA5MzUxNSwgOTM1MjEsIDkzNTI3LCAKLSAgICA5MzUzNCwgOTM1NDEsIDkzNTQ4LCA5MzU1NSwgOTM1NjIsIDkzNTY5LCA5MzU3NiwgOTM1ODMsIDkzNTkwLCA5MzU5NywgCi0gICAgOTM2MDQsIDkzNjExLCA5MzYxOCwgOTM2MjUsIDkzNjMyLCA5MzYzOSwgOTM2NDYsIDkzNjUzLCA5MzY2MCwgOTM2NjcsIAotICAgIDkzNjc0LCA5MzY4MSwgOTM2ODgsIDkzNjk1LCA5MzcwMiwgOTM3MDksIDkzNzE2LCA5MzcyMywgOTM3MzAsIDkzNzM3LCAKLSAgICA5Mzc0NCwgOTM3NTEsIDkzNzU4LCA5Mzc2NSwgOTM3NzIsIDkzNzc5LCA5Mzc4NiwgOTM3OTMsIDkzODAwLCA5MzgwNywgCi0gICAgOTM4MTQsIDkzODIxLCA5MzgyOCwgOTM4MzUsIDkzODQyLCA5Mzg0OSwgOTM4NTYsIDkzODYzLCA5Mzg3MCwgOTM4NzcsIAotICAgIDkzODg0LCA5Mzg5MSwgOTM4OTgsIDkzOTA1LCA5MzkxMiwgOTM5MTksIDkzOTI2LCA5MzkzMywgOTM5NDAsIDkzOTQ3LCAKLSAgICA5Mzk1NCwgOTM5NjEsIDkzOTY4LCA5Mzk3NSwgOTM5ODIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDkyOTU3LCA5Mjk2MiwgOTI5NjcsIDkyOTcyLCAwLCAwLCAwLCAwLCAwLCA5Mjk3OSwgOTI5ODUsIDkyOTkxLCA5Mjk5NywgCisgICAgOTMwMDMsIDkzMDA4LCA5MzAxNCwgOTMwMjAsIDkzMDI2LCA5MzAzMiwgOTMwMzcsIDkzMDQzLCA5MzA0OSwgOTMwNTUsIAorICAgIDkzMDYxLCA5MzA2NywgOTMwNzMsIDkzMDc5LCA5MzA4NSwgOTMwOTEsIDkzMDk2LCA5MzEwMiwgOTMxMDgsIDkzMTE0LCAKKyAgICA5MzEyMCwgOTMxMjYsIDkzMTMxLCA5MzEzNywgOTMxNDMsIDkzMTQ4LCA5MzE1NCwgOTMxNjAsIDkzMTY2LCA5MzE3MiwgCisgICAgOTMxNzgsIDkzMTg0LCA5MzE5MCwgOTMxOTUsIDkzMjAxLCA5MzIwOCwgOTMyMTUsIDkzMjIyLCA5MzIyOSwgMCwgMCwgMCwgCisgICAgMCwgMCwgOTMyMzYsIDkzMjQxLCA5MzI0NiwgOTMyNTEsIDkzMjU2LCA5MzI2MSwgOTMyNjYsIDkzMjcxLCA5MzI3NiwgCisgICAgOTMyODEsIDkzMjg2LCA5MzI5MSwgOTMyOTYsIDkzMzAxLCA5MzMwNiwgOTMzMTEsIDkzMzE2LCA5MzMyMSwgOTMzMjYsIAorICAgIDkzMzMxLCA5MzMzNiwgOTMzNDEsIDkzMzQ2LCA5MzM1MSwgOTMzNTYsIDkzMzYxLCA5MzM2NiwgOTMzNzAsIDkzMzc0LCAKKyAgICA5MzM3OCwgMCwgOTMzODMsIDkzMzg5LCA5MzM5NCwgOTMzOTksIDkzNDA0LCA5MzQwOSwgOTM0MTUsIDkzNDIxLCA5MzQyNywgCisgICAgOTM0MzMsIDkzNDM5LCA5MzQ0NSwgOTM0NTEsIDkzNDU3LCA5MzQ2MywgOTM0NjksIDkzNDc1LCA5MzQ4MSwgOTM0ODcsIAorICAgIDkzNDkyLCA5MzQ5OCwgOTM1MDQsIDkzNTA5LCA5MzUxNSwgOTM1MjAsIDkzNTI2LCA5MzUzMiwgOTM1MzcsIDkzNTQzLCAKKyAgICA5MzU0OSwgOTM1NTUsIDkzNTYxLCA5MzU2NywgOTM1NzMsIDkzNTc5LCA5MzU4NSwgOTM1OTEsIDAsIDAsIDAsIDAsIAorICAgIDkzNTk2LCA5MzYwMiwgOTM2MDgsIDkzNjE0LCA5MzYyMCwgOTM2MjYsIDkzNjMyLCA5MzYzOCwgOTM2NDQsIDkzNjUxLCAKKyAgICA5MzY1NiwgOTM2NjEsIDkzNjY3LCA5MzY3MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgOTM2NzksIDkzNjg1LCA5MzY5MSwgOTM2OTcsIDkzNzA0LCA5MzcxMCwgOTM3MTcsIDkzNzI0LCA5MzczMSwgCisgICAgOTM3MzgsIDkzNzQ2LCA5Mzc1MywgOTM3NjEsIDkzNzY3LCA5Mzc3MywgOTM3NzksIDkzNzg1LCA5Mzc5MSwgOTM3OTcsIAorICAgIDkzODAzLCA5MzgwOSwgOTM4MTUsIDkzODIxLCA5MzgyNywgOTM4MzMsIDkzODM5LCA5Mzg0NSwgOTM4NTEsIDkzODU3LCAKKyAgICA5Mzg2MywgOTM4NjksIDkzODc1LCA5Mzg4MSwgOTM4ODcsIDkzODkzLCA5Mzg5OSwgOTM5MDUsIDkzOTExLCA5MzkxNywgCisgICAgOTM5MjMsIDkzOTI5LCA5MzkzNSwgOTM5NDEsIDkzOTQ3LCA5Mzk1NCwgOTM5NjAsIDkzOTY3LCA5Mzk3NCwgOTM5ODEsIAorICAgIDkzOTg4LCA5Mzk5NiwgOTQwMDMsIDk0MDExLCA5NDAxNywgOTQwMjMsIDk0MDI5LCA5NDAzNSwgOTQwNDEsIDk0MDQ3LCAKKyAgICA5NDA1MywgOTQwNTksIDk0MDY1LCA5NDA3MSwgOTQwNzcsIDk0MDgzLCA5NDA4OSwgOTQwOTUsIDk0MTAxLCA5NDEwNywgCisgICAgOTQxMTMsIDk0MTE5LCA5NDEyNSwgOTQxMzEsIDk0MTM3LCA5NDE0MywgOTQxNDksIDk0MTU1LCA5NDE2MSwgOTQxNjcsIAorICAgIDk0MTczLCA5NDE3OSwgOTQxODQsIDk0MTg5LCA5NDE5NCwgOTQxOTksIDk0MjA0LCA5NDIwOSwgOTQyMTQsIDk0MjE5LCAKKyAgICA5NDIyNCwgOTQyMjksIDk0MjM0LCA5NDIzOSwgOTQyNDQsIDk0MjQ5LCA5NDI1NCwgOTQyNTksIDk0MjY0LCA5NDI2OSwgCisgICAgOTQyNzQsIDk0Mjc5LCA5NDI4NCwgOTQyODksIDk0Mjk0LCA5NDI5OSwgOTQzMDQsIDk0MzA5LCA5NDMxNCwgOTQzMTksIAorICAgIDk0MzI0LCA5NDMyOSwgOTQzMzQsIDk0MzM5LCA5NDM0NCwgOTQzNDksIDk0MzU0LCA5NDM1OSwgOTQzNjQsIDk0MzY5LCAKKyAgICA5NDM3NCwgOTQzNzksIDk0Mzg0LCA5NDM4OSwgOTQzOTQsIDk0Mzk5LCA5NDQwNCwgOTQ0MDksIDk0NDE0LCA5NDQxOSwgCisgICAgOTQ0MjQsIDk0NDI5LCA5NDQzNCwgOTQ0MzksIDk0NDQ0LCA5NDQ0OSwgOTQ0NTQsIDk0NDU5LCA5NDQ2NCwgOTQ0NjksIAorICAgIDk0NDc0LCA5NDQ3OSwgOTQ0ODQsIDk0NDg5LCA5NDQ5NCwgOTQ0OTksIDk0NTA0LCA5NDUwOSwgOTQ1MTQsIDk0NTE5LCAKKyAgICA5NDUyMywgOTQ1MjcsIDk0NTMxLCA5NDUzNSwgOTQ1MzksIDk0NTQzLCA5NDU0NywgOTQ1NTIsIDk0NTU3LCAwLCAwLCAKKyAgICA5NDU2MiwgOTQ1NjcsIDk0NTcxLCA5NDU3NSwgOTQ1NzksIDk0NTgzLCA5NDU4NywgOTQ1OTEsIDk0NTk1LCA5NDU5OSwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOTQ2MDMsIDk0NjA3LCA5NDYxMiwgOTQ2MTcsIDk0NjIyLCAKKyAgICA5NDYyNywgOTQ2MzIsIDk0NjM3LCA5NDY0MiwgOTQ2NDYsIDk0NjUxLCA5NDY1NiwgOTQ2NjEsIDk0NjY2LCA5NDY3MCwgCisgICAgOTQ2NzUsIDk0NjgwLCA5NDY4NSwgOTQ2OTAsIDk0Njk1LCA5NDcwMCwgOTQ3MDQsIDk0NzA5LCA5NDcxMywgOTQ3MTgsIAorICAgIDk0NzIzLCA5NDcyOCwgOTQ3MzMsIDk0NzM4LCA5NDc0MywgOTQ3NDgsIDk0NzUzLCA5NDc1NywgOTQ3NjIsIDk0NzY3LCAKKyAgICA5NDc3MiwgOTQ3NzcsIDk0NzgyLCA5NDc4NywgOTQ3OTIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDk0Nzk3LCA5NDgwNCwgCisgICAgOTQ4MTEsIDk0ODE4LCA5NDgyNSwgOTQ4MzIsIDk0ODM5LCA5NDg0NiwgOTQ4NTMsIDk0ODYwLCA5NDg2NywgOTQ4NzQsIAorICAgIDk0ODgxLCA5NDg4OCwgOTQ4OTUsIDk0OTAyLCA5NDkwOSwgOTQ5MTYsIDk0OTIzLCA5NDkzMCwgOTQ5MzcsIDk0OTQ0LCAKKyAgICA5NDk1MSwgOTQ5NTgsIDk0OTY1LCA5NDk3MiwgOTQ5NzksIDk0OTg2LCA5NDk5MywgOTUwMDAsIDk1MDA3LCA5NTAxNCwgCisgICAgOTUwMjEsIDk1MDI4LCA5NTAzNSwgOTUwNDIsIDk1MDQ5LCA5NTA1NiwgOTUwNjMsIDk1MDcwLCA5NTA3NywgOTUwODQsIAorICAgIDk1MDkxLCA5NTA5OCwgOTUxMDUsIDk1MTEyLCA5NTExOSwgOTUxMjYsIDk1MTMzLCA5NTE0MCwgOTUxNDcsIDk1MTU0LCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5NTE2MSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOTM5ODksIDkzOTkzLCAKLSAgICA5Mzk5NywgOTQwMDEsIDk0MDA1LCA5NDAwOSwgOTQwMTMsIDk0MDE3LCA5NDAyMSwgOTQwMjUsIDk0MDMwLCA5NDAzNSwgCi0gICAgOTQwNDAsIDk0MDQ1LCA5NDA1MCwgOTQwNTUsIDk0MDYwLCA5NDA2NSwgOTQwNzAsIDk0MDc2LCA5NDA4MiwgOTQwODgsIAotICAgIDk0MDk1LCA5NDEwMiwgOTQxMDksIDk0MTE2LCA5NDEyMywgOTQxMzAsIDk0MTM3LCA5NDE0NCwgOTQxNTEsIDAsIDk0MTU4LCAKLSAgICA5NDE2MiwgOTQxNjYsIDk0MTcwLCA5NDE3NCwgOTQxNzgsIDk0MTgxLCA5NDE4NSwgOTQxODgsIDk0MTkyLCA5NDE5NSwgCi0gICAgOTQxOTksIDk0MjAzLCA5NDIwOCwgOTQyMTIsIDk0MjE3LCA5NDIyMCwgOTQyMjQsIDk0MjI3LCA5NDIzMSwgOTQyMzQsIAotICAgIDk0MjM4LCA5NDI0MiwgOTQyNDYsIDk0MjUwLCA5NDI1NCwgOTQyNTgsIDk0MjYyLCA5NDI2NiwgOTQyNzAsIDk0Mjc0LCAKLSAgICA5NDI3OCwgOTQyODIsIDk0Mjg2LCA5NDI5MCwgOTQyOTQsIDk0Mjk4LCA5NDMwMiwgOTQzMDYsIDk0MzA5LCA5NDMxMiwgCi0gICAgOTQzMTYsIDk0MzIwLCA5NDMyNCwgOTQzMjcsIDk0MzMwLCA5NDMzMywgOTQzMzcsIDk0MzQxLCA5NDM0NSwgOTQzNDksIAotICAgIDk0MzUyLCA5NDM1NSwgOTQzNTksIDk0MzY1LCA5NDM3MSwgOTQzNzcsIDk0MzgyLCA5NDM4OSwgOTQzOTMsIDk0Mzk4LCAKLSAgICA5NDQwMiwgOTQ0MDcsIDk0NDEyLCA5NDQxOCwgOTQ0MjMsIDk0NDI5LCA5NDQzMywgOTQ0MzgsIDk0NDQyLCA5NDQ0NywgCi0gICAgOTQ0NTAsIDk0NDUzLCA5NDQ1NywgOTQ0NjIsIDk0NDY4LCA5NDQ3MywgOTQ0NzksIDAsIDAsIDAsIDAsIDk0NDg0LCAKLSAgICA5NDQ4NywgOTQ0OTAsIDk0NDkzLCA5NDQ5NiwgOTQ0OTksIDk0NTAyLCA5NDUwNSwgOTQ1MDgsIDk0NTExLCA5NDUxNSwgCi0gICAgOTQ1MTksIDk0NTIzLCA5NDUyNywgOTQ1MzEsIDk0NTM1LCA5NDUzOSwgOTQ1NDMsIDk0NTQ3LCA5NDU1MiwgOTQ1NTcsIAotICAgIDk0NTYxLCA5NDU2NCwgOTQ1NjcsIDk0NTcwLCA5NDU3MywgOTQ1NzYsIDk0NTc5LCA5NDU4MiwgOTQ1ODUsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDk0NTg4LCA5NDU5MywgOTQ1OTgsIDk0NjAzLCA5NDYwNywgCi0gICAgOTQ2MTIsIDk0NjE2LCA5NDYyMSwgOTQ2MjUsIDk0NjMwLCA5NDYzNCwgOTQ2MzksIDk0NjQzLCA5NDY0OCwgOTQ2NTIsIAotICAgIDk0NjU3LCA5NDY2MiwgOTQ2NjcsIDk0NjcyLCA5NDY3NywgOTQ2ODIsIDk0Njg3LCA5NDY5MiwgOTQ2OTcsIDk0NzAyLCAKLSAgICA5NDcwNywgOTQ3MTIsIDk0NzE3LCA5NDcyMiwgOTQ3MjcsIDk0NzMyLCA5NDczNywgOTQ3NDIsIDk0NzQ3LCA5NDc1MiwgCi0gICAgOTQ3NTYsIDk0NzYwLCA5NDc2NSwgOTQ3NzAsIDk0Nzc1LCA5NDc3OSwgOTQ3ODMsIDk0Nzg3LCA5NDc5MiwgOTQ3OTcsIAotICAgIDk0ODAyLCA5NDgwNywgOTQ4MTEsIDk0ODE1LCA5NDgyMSwgOTQ4MjYsIDk0ODMyLCA5NDgzNywgOTQ4NDMsIDk0ODQ4LCAKLSAgICA5NDg1NCwgOTQ4NTksIDk0ODY1LCA5NDg3MCwgOTQ4NzUsIDk0ODgwLCA5NDg4NSwgOTQ4ODksIDk0ODk0LCA5NDkwMCwgCi0gICAgOTQ5MDQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDk0OTA5LCA5NDkxNiwgOTQ5MjMsIAotICAgIDk0OTMwLCA5NDkzNywgOTQ5NDQsIDk0OTUxLCA5NDk1OCwgOTQ5NjUsIDk0OTcyLCA5NDk3OSwgOTQ5ODYsIDk0OTkzLCAKLSAgICA5NTAwMCwgOTUwMDcsIDk1MDE0LCA5NTAyMSwgOTUwMjgsIDk1MDM1LCA5NTA0MiwgOTUwNDksIDk1MDU2LCA5NTA2MywgCi0gICAgOTUwNzAsIDk1MDc3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5NTA4NCwgOTUwOTEsIDk1MDk3LCA5NTEwMywgOTUxMDksIAotICAgIDk1MTE1LCA5NTEyMSwgOTUxMjcsIDk1MTMzLCA5NTEzOSwgMCwgMCwgMCwgMCwgMCwgMCwgOTUxNDUsIDk1MTUwLCA5NTE1NSwgCi0gICAgOTUxNjAsIDk1MTY1LCA5NTE2OSwgOTUxNzMsIDk1MTc3LCA5NTE4MiwgOTUxODcsIDk1MTkyLCA5NTE5NywgOTUyMDIsIAotICAgIDk1MjA3LCA5NTIxMiwgOTUyMTcsIDk1MjIyLCA5NTIyNywgOTUyMzIsIDk1MjM3LCA5NTI0MiwgOTUyNDcsIDk1MjUyLCAKLSAgICA5NTI1NywgOTUyNjIsIDk1MjY3LCA5NTI3MiwgOTUyNzcsIDk1MjgyLCA5NTI4NywgOTUyOTIsIDk1Mjk3LCA5NTMwMiwgCi0gICAgOTUzMDcsIDk1MzEyLCA5NTMxNywgOTUzMjIsIDk1MzI3LCA5NTMzMiwgOTUzMzcsIDk1MzQyLCA5NTM0NywgOTUzNTMsIAotICAgIDk1MzU4LCA5NTM2NCwgOTUzNjksIDk1Mzc1LCA5NTM4MCwgOTUzODYsIDk1MzkyLCA5NTM5NiwgOTU0MDEsIDk1NDA1LCAwLCAKLSAgICA5NTQwOSwgOTU0MTQsIDk1NDE4LCA5NTQyMiwgOTU0MjYsIDk1NDMwLCA5NTQzNCwgOTU0MzgsIDk1NDQyLCA5NTQ0NiwgCi0gICAgOTU0NTAsIDk1NDU1LCA5NTQ1OSwgOTU0NjQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDk1NDY5LCAKLSAgICA5NTQ3MywgOTU0NzcsIDk1NDgxLCA5NTQ4NCwgOTU0ODgsIDk1NDkxLCA5NTQ5NSwgOTU0OTgsIDk1NTAyLCA5NTUwNiwgCi0gICAgOTU1MTEsIDk1NTE1LCA5NTUyMCwgOTU1MjMsIDk1NTI3LCA5NTUzMCwgOTU1MzQsIDk1NTM3LCA5NTU0MSwgOTU1NDUsIAotICAgIDk1NTQ5LCA5NTU1MywgOTU1NTcsIDk1NTYxLCA5NTU2NSwgOTU1NjksIDk1NTczLCA5NTU3NywgOTU1ODEsIDk1NTg1LCAKLSAgICA5NTU4OSwgOTU1OTMsIDk1NTk3LCA5NTYwMSwgOTU2MDUsIDk1NjA5LCA5NTYxMiwgOTU2MTUsIDk1NjE5LCA5NTYyMywgCi0gICAgOTU2MjcsIDk1NjMwLCA5NTYzMywgOTU2MzYsIDk1NjQwLCA5NTY0NCwgOTU2NDgsIDk1NjUyLCA5NTY1NiwgOTU2NTksIAotICAgIDk1NjYyLCA5NTY2NywgOTU2NzEsIDk1Njc2LCA5NTY4MCwgOTU2ODUsIDk1NjkwLCA5NTY5NiwgOTU3MDEsIDk1NzA3LCAKLSAgICA5NTcxMSwgOTU3MTYsIDk1NzIwLCA5NTcyNSwgOTU3MjksIDk1NzMzLCA5NTczNywgOTU3NDEsIDk1NzQ0LCA5NTc0NywgCi0gICAgOTU3NTEsIDk1NzU1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5NTc1OCwgOTU3NjIsIDk1NzY1LCA5NTc2OCwgOTU3NzEsIAotICAgIDk1Nzc0LCA5NTc3NywgOTU3ODAsIDk1NzgzLCA5NTc4NiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgOTU3ODksIDk1NzkzLCA5NTc5OCwgOTU4MDIsIDk1ODA3LCA5NTgxMSwgOTU4MTYsIDk1ODIwLCA5NTgyNSwgOTU4MjksIAotICAgIDk1ODM0LCA5NTgzOCwgOTU4NDMsIDk1ODQ4LCA5NTg1MywgOTU4NTgsIDk1ODYzLCA5NTg2OCwgOTU4NzMsIDk1ODc4LCAKLSAgICA5NTg4MywgOTU4ODgsIDk1ODkzLCA5NTg5OCwgOTU5MDMsIDk1OTA4LCA5NTkxMywgOTU5MTgsIDk1OTIzLCA5NTkyOCwgCi0gICAgOTU5MzIsIDk1OTM2LCA5NTk0MSwgOTU5NDYsIDk1OTUxLCA5NTk1NSwgOTU5NTksIDk1OTYzLCA5NTk2OCwgOTU5NzMsIAotICAgIDk1OTc4LCA5NTk4MiwgOTU5ODYsIDk1OTkxLCA5NTk5NiwgOTYwMDEsIDk2MDA3LCA5NjAxMiwgOTYwMTgsIDk2MDIzLCAKLSAgICA5NjAyOSwgOTYwMzQsIDk2MDQwLCA5NjA0NSwgOTYwNTEsIDk2MDU2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5NjA2MSwgCi0gICAgOTYwNjYsIDk2MDcwLCA5NjA3NCwgOTYwNzgsIDk2MDgyLCA5NjA4NiwgOTYwOTAsIDk2MDk0LCA5NjA5OCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgOTYxMDIsIDk2MTA1LCA5NjExMCwgOTYxMTYsIDk2MTI0LCA5NjEyOSwgOTYxMzUsIDk2MTQzLCA5NjE0OSwgCi0gICAgOTYxNTUsIDk2MTU5LCA5NjE2MywgOTYxNzAsIDk2MTc5LCA5NjE4NiwgOTYxOTUsIDk2MjAxLCA5NjIxMCwgOTYyMTcsIAotICAgIDk2MjI0LCA5NjIzMSwgOTYyNDEsIDk2MjQ3LCA5NjI1MSwgOTYyNTgsIDk2MjY3LCA5NjI3NywgOTYyODQsIDk2MjkxLCAKLSAgICA5NjI5NSwgOTYyOTksIDk2MzA2LCA5NjMxNiwgOTYzMjAsIDk2MzI3LCA5NjMzNCwgOTYzNDEsIDk2MzQ3LCA5NjM1NCwgCi0gICAgOTYzNjEsIDk2MzY4LCA5NjM3NSwgOTYzNzksIDk2MzgzLCA5NjM4NywgOTYzOTQsIDk2Mzk4LCA5NjQwNSwgOTY0MTIsIAotICAgIDk2NDI2LCA5NjQzNSwgOTY0MzksIDk2NDQzLCA5NjQ0NywgOTY0NTQsIDk2NDU4LCA5NjQ2MiwgOTY0NjYsIDk2NDc0LCAKLSAgICA5NjQ4MiwgOTY1MDEsIDk2NTExLCA5NjUzMSwgOTY1MzUsIDk2NTM5LCA5NjU0MywgOTY1NDcsIDk2NTUxLCA5NjU1NSwgCi0gICAgOTY1NTksIDk2NTY2LCA5NjU3MCwgOTY1NzMsIDk2NTc3LCA5NjU4MSwgOTY1ODcsIDk2NTk0LCA5NjYwMywgOTY2MDcsIAotICAgIDk2NjE2LCA5NjYyNSwgOTY2MzMsIDk2NjM3LCA5NjY0NCwgOTY2NDgsIDk2NjUyLCA5NjY1NiwgOTY2NjAsIDk2NjcxLCAKLSAgICA5NjY4MCwgOTY2ODksIDk2Njk4LCA5NjcwNywgOTY3MTksIDk2NzI4LCA5NjczNywgOTY3NDYsIDk2NzU0LCA5Njc2MywgCi0gICAgOTY3NzUsIDk2Nzg0LCA5Njc5MywgOTY4MDIsIDk2ODE0LCA5NjgyMywgOTY4MzIsIDk2ODQ0LCA5Njg1MywgOTY4NjIsIAotICAgIDk2ODc0LCA5Njg4MywgOTY4ODcsIDk2ODkxLCA5Njg5NSwgOTY4OTksIDk2OTAzLCA5NjkwNywgOTY5MTEsIDk2OTE4LCAKLSAgICA5NjkyMiwgOTY5MjYsIDk2OTM3LCA5Njk0MSwgOTY5NDUsIDk2OTUyLCA5Njk1OCwgOTY5NjQsIDk2OTY4LCA5Njk3NSwgCi0gICAgOTY5NzksIDk2OTgzLCA5Njk4NywgOTY5OTEsIDk2OTk1LCA5Njk5OSwgOTcwMDUsIDk3MDEzLCA5NzAxNywgOTcwMjEsIAotICAgIDk3MDI0LCA5NzAzMCwgOTcwNDAsIDk3MDQ0LCA5NzA1NiwgOTcwNjMsIDk3MDcwLCA5NzA3NywgOTcwODQsIDk3MDkwLCAKLSAgICA5NzA5NCwgOTcwOTgsIDk3MTAyLCA5NzEwNiwgOTcxMTMsIDk3MTIyLCA5NzEyOSwgOTcxMzcsIDk3MTQ1LCA5NzE1MSwgCi0gICAgOTcxNTUsIDk3MTU5LCA5NzE2MywgOTcxNjcsIDk3MTczLCA5NzE4MiwgOTcxOTQsIDk3MjAxLCA5NzIwOCwgOTcyMTcsIAotICAgIDk3MjI4LCA5NzIzNCwgOTcyNDMsIDk3MjUyLCA5NzI1OSwgOTcyNjgsIDk3Mjc1LCA5NzI4MiwgOTcyOTIsIDk3Mjk5LCAKLSAgICA5NzMwNiwgOTczMTMsIDk3MzIwLCA5NzMyNCwgOTczMzAsIDk3MzM0LCA5NzM0NSwgOTczNTMsIDk3MzYyLCA5NzM3NCwgCi0gICAgOTczODEsIDk3Mzg4LCA5NzM5OCwgOTc0MDUsIDk3NDE0LCA5NzQyMSwgOTc0MzAsIDk3NDM3LCA5NzQ0NCwgOTc0NTQsIAotICAgIDk3NDYxLCA5NzQ2OCwgOTc0NzgsIDk3NDg1LCA5NzQ5NywgOTc1MDYsIDk3NTEzLCA5NzUyMCwgOTc1MjcsIDk3NTM2LCAKLSAgICA5NzU0NiwgOTc1NTksIDk3NTY2LCA5NzU3NiwgOTc1ODYsIDk3NTkzLCA5NzYwMiwgOTc2MTUsIDk3NjIyLCA5NzYyOSwgCi0gICAgOTc2MzYsIDk3NjQ2LCA5NzY1NiwgOTc2NjMsIDk3NjczLCA5NzY4MCwgOTc2ODcsIDk3Njk3LCA5NzcwMywgOTc3MTAsIAotICAgIDk3NzE3LCA5NzcyNCwgOTc3MzQsIDk3NzQxLCA5Nzc0OCwgOTc3NTUsIDk3NzYxLCA5Nzc2OCwgOTc3NzgsIDk3Nzg1LCAKLSAgICA5Nzc4OSwgOTc3OTcsIDk3ODAxLCA5NzgxMywgOTc4MTcsIDk3ODMxLCA5NzgzNSwgOTc4MzksIDk3ODQzLCA5Nzg0NywgCi0gICAgOTc4NTMsIDk3ODYwLCA5Nzg2OCwgOTc4NzIsIDk3ODc2LCA5Nzg4MCwgOTc4ODQsIDk3ODkxLCA5Nzg5NSwgOTc5MDEsIAotICAgIDk3OTA3LCA5NzkxNSwgOTc5MTksIDk3OTI2LCA5NzkzNCwgOTc5MzgsIDk3OTQyLCA5Nzk0OCwgOTc5NTIsIDk3OTYxLCAKLSAgICA5Nzk3MCwgOTc5NzcsIDk3OTg3LCA5Nzk5MywgOTc5OTcsIDk4MDAxLCA5ODAwOSwgOTgwMTYsIDk4MDIzLCA5ODAyOSwgCi0gICAgOTgwMzMsIDk4MDQxLCA5ODA0NSwgOTgwNTIsIDk4MDY0LCA5ODA3MSwgOTgwODEsIDk4MDg3LCA5ODA5MSwgOTgxMDAsIAotICAgIDk4MTA3LCA5ODExNiwgOTgxMjAsIDk4MTI0LCA5ODEzMSwgOTgxMzUsIDk4MTM5LCA5ODE0MywgOTgxNDcsIDk4MTUwLCAKLSAgICA5ODE1NiwgOTgxNjIsIDk4MTY2LCA5ODE3MCwgOTgxNzcsIDk4MTg0LCA5ODE5MSwgOTgxOTgsIDk4MjA1LCA5ODIxMiwgCi0gICAgOTgyMTksIDk4MjI2LCA5ODIzMiwgOTgyMzYsIDk4MjQwLCA5ODI0NywgOTgyNTQsIDk4MjYxLCA5ODI2OCwgOTgyNzUsIAotICAgIDk4Mjc5LCA5ODI4MiwgOTgyODcsIDk4MjkxLCA5ODI5NSwgOTgzMDQsIDk4MzEzLCA5ODMxNywgOTgzMjEsIDk4MzI3LCAKLSAgICA5ODMzMywgOTgzNTAsIDk4MzU2LCA5ODM2MCwgOTgzNjksIDk4MzczLCA5ODM3NywgOTgzODQsIDk4MzkyLCA5ODQwMCwgCi0gICAgOTg0MDYsIDk4NDEwLCA5ODQxNCwgOTg0MTgsIDk4NDIyLCA5ODQyNSwgOTg0MzEsIDk4NDM4LCA5ODQ0OCwgOTg0NTUsIAotICAgIDk4NDYyLCA5ODQ2OSwgOTg0NzUsIDk4NDgyLCA5ODQ4OSwgOTg0OTYsIDk4NTAzLCA5ODUxMCwgOTg1MTksIDk4NTI2LCAKLSAgICA5ODUzOCwgOTg1NDUsIDk4NTUyLCA5ODU2MiwgOTg1NzMsIDk4NTgwLCA5ODU4NywgOTg1OTQsIDk4NjAxLCA5ODYwOCwgCi0gICAgOTg2MTUsIDk4NjIyLCA5ODYyOSwgOTg2MzYsIDk4NjQzLCA5ODY1MywgOTg2NjMsIDk4NjczLCA5ODY4MCwgOTg2OTAsIAotICAgIDk4Njk3LCA5ODcwNCwgOTg3MTEsIDk4NzE4LCA5ODcyNCwgOTg3MzEsIDk4NzM4LCA5ODc0NSwgOTg3NTIsIDk4NzU5LCAKLSAgICA5ODc2NiwgOTg3NzMsIDk4NzgwLCA5ODc4NiwgOTg3OTMsIDk4ODAwLCA5ODgwOSwgOTg4MTYsIDk4ODIzLCA5ODgyNywgCi0gICAgOTg4MzUsIDk4ODM5LCA5ODg0MywgOTg4NDcsIDk4ODUxLCA5ODg1NSwgOTg4NjIsIDk4ODY2LCA5ODg3NSwgOTg4NzksIAotICAgIDk4ODg2LCA5ODg5NCwgOTg4OTgsIDk4OTAyLCA5ODkwNiwgOTg5MTksIDk4OTM1LCA5ODkzOSwgOTg5NDMsIDk4OTUwLCAKLSAgICA5ODk1NiwgOTg5NjMsIDk4OTY3LCA5ODk3MSwgOTg5NzUsIDk4OTc5LCA5ODk4MywgOTg5OTAsIDk4OTk0LCA5OTAxMiwgCi0gICAgOTkwMTYsIDk5MDIwLCA5OTAyNywgOTkwMzEsIDk5MDM1LCA5OTA0MSwgOTkwNDUsIDk5MDQ5LCA5OTA1NywgOTkwNjEsIAotICAgIDk5MDY1LCA5OTA2OSwgOTkwNzMsIDk5MDc5LCA5OTA5MCwgOTkwOTksIDk5MTA4LCA5OTExNSwgOTkxMjIsIDk5MTMzLCAKLSAgICA5OTE0MCwgOTkxNDcsIDk5MTU0LCA5OTE2MSwgOTkxNjgsIDk5MTc1LCA5OTE4MiwgOTkxOTIsIDk5MTk4LCA5OTIwNSwgCi0gICAgOTkyMTUsIDk5MjI0LCA5OTIzMSwgOTkyNDAsIDk5MjUwLCA5OTI1NywgOTkyNjQsIDk5MjcxLCA5OTI3OCwgOTkyOTAsIAotICAgIDk5Mjk3LCA5OTMwNCwgOTkzMTEsIDk5MzE4LCA5OTMyNSwgOTkzMzUsIDk5MzQyLCA5OTM0OSwgOTkzNTksIDk5MzcyLCAKLSAgICA5OTM4NCwgOTkzOTEsIDk5NDAxLCA5OTQwOCwgOTk0MTUsIDk5NDIyLCA5OTQzNiwgOTk0NDIsIDk5NDUwLCA5OTQ2MCwgCi0gICAgOTk0NzAsIDk5NDc3LCA5OTQ4NCwgOTk0OTAsIDk5NDk0LCA5OTUwMSwgOTk1MTEsIDk5NTE3LCA5OTUzMCwgOTk1MzQsIAotICAgIDk5NTM4LCA5OTU0NSwgOTk1NDksIDk5NTU2LCA5OTU2NiwgOTk1NzAsIDk5NTc0LCA5OTU3OCwgOTk1ODIsIDk5NTg2LCAKLSAgICA5OTU5MywgOTk1OTcsIDk5NjA0LCA5OTYxMSwgOTk2MTgsIDk5NjI3LCA5OTYzNiwgOTk2NDYsIDk5NjUzLCA5OTY2MCwgCi0gICAgOTk2NjcsIDk5Njc3LCA5OTY4NCwgOTk2OTQsIDk5NzAxLCA5OTcxMSwgOTk3MTgsIDk5NzI1LCA5OTczNSwgOTk3NDUsIAotICAgIDk5NzUyLCA5OTc1OCwgOTk3NjYsIDk5Nzc0LCA5OTc4MCwgOTk3ODYsIDk5NzkwLCA5OTc5NCwgOTk4MDEsIDk5ODA5LCAKLSAgICA5OTgxNSwgOTk4MTksIDk5ODIzLCA5OTgyNywgOTk4MzQsIDk5ODQ2LCA5OTg0OSwgOTk4NTYsIDk5ODYyLCA5OTg2NiwgCi0gICAgOTk4NzAsIDk5ODc0LCA5OTg3OCwgOTk4ODIsIDk5ODg2LCA5OTg5MCwgOTk4OTQsIDk5ODk4LCA5OTkwMiwgOTk5MDksIAotICAgIDk5OTEzLCA5OTkxOSwgOTk5MjMsIDk5OTI3LCA5OTkzMSwgOTk5MzcsIDk5OTQ0LCA5OTk1MSwgOTk5NTgsIDk5OTY5LCAKLSAgICA5OTk3NywgOTk5ODEsIDk5OTg3LCA5OTk5NiwgMTAwMDAzLCAxMDAwMDksIDEwMDAxMiwgMTAwMDE2LCAxMDAwMjAsIAotICAgIDEwMDAyNiwgMTAwMDM1LCAxMDAwNDMsIDEwMDA0NywgMTAwMDUzLCAxMDAwNTcsIDEwMDA2MSwgMTAwMDY1LCAxMDAwNzEsIAotICAgIDEwMDA3OCwgMTAwMDg0LCAxMDAwODgsIDEwMDA5NCwgMTAwMDk4LCAxMDAxMDIsIDEwMDExMSwgMTAwMTIzLCAxMDAxMjcsIAotICAgIDEwMDEzNCwgMTAwMTQxLCAxMDAxNTEsIDEwMDE1OCwgMTAwMTcwLCAxMDAxNzcsIDEwMDE4NCwgMTAwMTkxLCAxMDAyMDIsIAotICAgIDEwMDIxMiwgMTAwMjI1LCAxMDAyMzUsIDEwMDI0MiwgMTAwMjQ2LCAxMDAyNTAsIDEwMDI1NCwgMTAwMjU4LCAxMDAyNjcsIAotICAgIDEwMDI3NiwgMTAwMjg1LCAxMDAzMDIsIDEwMDMxMSwgMTAwMzE3LCAxMDAzMjQsIDEwMDMzMiwgMTAwMzQ1LCAxMDAzNDksIAotICAgIDEwMDM1OCwgMTAwMzY3LCAxMDAzNzYsIDEwMDM4NSwgMTAwMzk2LCAxMDA0MDUsIDEwMDQxNCwgMTAwNDIzLCAxMDA0MzIsIAotICAgIDEwMDQ0MSwgMTAwNDUwLCAxMDA0NjAsIDEwMDQ2MywgMTAwNDY3LCAxMDA0NzEsIDEwMDQ3NSwgMTAwNDc5LCAxMDA0ODMsIAotICAgIDEwMDQ4OSwgMTAwNDk2LCAxMDA1MDMsIDEwMDUxMCwgMTAwNTE2LCAxMDA1MjIsIDEwMDUyOSwgMTAwNTM1LCAxMDA1NDIsIAotICAgIDEwMDU1MCwgMTAwNTU0LCAxMDA1NjEsIDEwMDU2OCwgMTAwNTc1LCAxMDA1ODMsIDEwMDU4NiwgMTAwNTkwLCAxMDA1OTQsIAotICAgIDEwMDU5OCwgMTAwNjAxLCAxMDA2MDcsIDEwMDYxMSwgMTAwNjE3LCAxMDA2MjQsIDEwMDYzMSwgMTAwNjM3LCAxMDA2NDQsIAotICAgIDEwMDY1MSwgMTAwNjU4LCAxMDA2NjUsIDEwMDY3MiwgMTAwNjc5LCAxMDA2ODYsIDEwMDY5MywgMTAwNzAwLCAxMDA3MDcsIAotICAgIDEwMDcxNCwgMTAwNzIxLCAxMDA3MjgsIDEwMDczNSwgMTAwNzQxLCAxMDA3NDUsIDEwMDc1NCwgMTAwNzU4LCAxMDA3NjIsIAotICAgIDEwMDc2NiwgMTAwNzcwLCAxMDA3NzYsIDEwMDc4MywgMTAwNzkwLCAxMDA3OTcsIDEwMDgwNCwgMTAwODExLCAxMDA4MTcsIAotICAgIDEwMDgyNSwgMTAwODI5LCAxMDA4MzMsIDEwMDgzNywgMTAwODQxLCAxMDA4NDcsIDEwMDg2NCwgMTAwODgxLCAxMDA4ODUsIAotICAgIDEwMDg4OSwgMTAwODkzLCAxMDA4OTcsIDEwMDkwMSwgMTAwOTA1LCAxMDA5MTEsIDEwMDkxOCwgMTAwOTIyLCAxMDA5MjgsIAotICAgIDEwMDkzNSwgMTAwOTQyLCAxMDA5NDksIDEwMDk1NiwgMTAwOTYzLCAxMDA5NzIsIDEwMDk3OSwgMTAwOTg2LCAxMDA5OTMsIAotICAgIDEwMTAwMCwgMTAxMDA0LCAxMDEwMDgsIDEwMTAxNCwgMTAxMDI2LCAxMDEwMzAsIDEwMTAzNCwgMTAxMDQzLCAxMDEwNDcsIAotICAgIDEwMTA1MSwgMTAxMDU1LCAxMDEwNjEsIDEwMTA2NSwgMTAxMDY5LCAxMDEwNzgsIDEwMTA4MiwgMTAxMDg2LCAxMDEwOTAsIAotICAgIDEwMTA5NywgMTAxMTAxLCAxMDExMDUsIDEwMTEwOSwgMTAxMTEzLCAxMDExMTcsIDEwMTEyMSwgMTAxMTI1LCAxMDExMjksIAotICAgIDEwMTEzNSwgMTAxMTQyLCAxMDExNDksIDEwMTE1NSwgMTAxMTU5LCAxMDExNzYsIDEwMTE4MiwgMTAxMTg2LCAxMDExOTIsIAotICAgIDEwMTE5OCwgMTAxMjA0LCAxMDEyMTAsIDEwMTIxNiwgMTAxMjIyLCAxMDEyMjYsIDEwMTIzMCwgMTAxMjM0LCAxMDEyNDAsIAotICAgIDEwMTI0NCwgMTAxMjUwLCAxMDEyNTQsIDEwMTI1OCwgMTAxMjY1LCAxMDEyNzIsIDEwMTI4OSwgMTAxMjkzLCAxMDEyOTcsIAotICAgIDEwMTMwMSwgMTAxMzA1LCAxMDEzMDksIDEwMTMyMSwgMTAxMzI0LCAxMDEzMjksIDEwMTMzNCwgMTAxMzQ5LCAxMDEzNTksIAotICAgIDEwMTM3MSwgMTAxMzc1LCAxMDEzNzksIDEwMTM4MywgMTAxMzg5LCAxMDEzOTYsIDEwMTQwMywgMTAxNDEzLCAxMDE0MjUsIAotICAgIDEwMTQzMSwgMTAxNDM3LCAxMDE0NDYsIDEwMTQ1MCwgMTAxNDU0LCAxMDE0NjEsIDEwMTQ3MSwgMTAxNDc4LCAxMDE0ODQsIAotICAgIDEwMTQ4OCwgMTAxNDkyLCAxMDE0OTksIDEwMTUwNSwgMTAxNTA5LCAxMDE1MTUsIDEwMTUxOSwgMTAxNTI3LCAxMDE1MzMsIAotICAgIDEwMTUzNywgMTAxNTQ1LCAxMDE1NTMsIDEwMTU2MCwgMTAxNTY2LCAxMDE1NzMsIDEwMTU4MCwgMTAxNTkwLCAxMDE2MDAsIAotICAgIDEwMTYwNCwgMTAxNjA4LCAxMDE2MTIsIDEwMTYxNiwgMTAxNjIyLCAxMDE2MjksIDEwMTYzNSwgMTAxNjQyLCAxMDE2NDksIAotICAgIDEwMTY1NiwgMTAxNjY1LCAxMDE2NzIsIDEwMTY3OSwgMTAxNjg1LCAxMDE2OTIsIDEwMTY5OSwgMTAxNzA2LCAxMDE3MTMsIAotICAgIDEwMTcyMCwgMTAxNzI3LCAxMDE3MzMsIDEwMTc0MCwgMTAxNzQ3LCAxMDE3NTQsIDEwMTc2MywgMTAxNzcwLCAxMDE3NzcsIAotICAgIDEwMTc4MSwgMTAxNzg3LCAxMDE3OTEsIDEwMTc5NywgMTAxODA0LCAxMDE4MTEsIDEwMTgxOCwgMTAxODIyLCAxMDE4MjYsIAotICAgIDEwMTgzMCwgMTAxODM0LCAxMDE4MzgsIDEwMTg0NSwgMTAxODQ5LCAxMDE4NTMsIDEwMTg1OSwgMTAxODY3LCAxMDE4NzEsIAotICAgIDEwMTg3NSwgMTAxODc5LCAxMDE4ODMsIDEwMTg5MCwgMTAxODk0LCAxMDE4OTgsIDEwMTkwNiwgMTAxOTEwLCAxMDE5MTQsIAotICAgIDEwMTkxOCwgMTAxOTIyLCAxMDE5MjgsIDEwMTkzMiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMTAxOTM2LCAxMDE5NDIsIDEwMTk0OCwgMTAxOTU1LCAxMDE5NjIsIDEwMTk2OSwgMTAxOTc2LCAxMDE5ODMsIAotICAgIDEwMTk5MCwgMTAxOTk2LCAxMDIwMDMsIDEwMjAxMCwgMTAyMDE3LCAxMDIwMjQsIDEwMjAzMSwgMTAyMDM4LCAxMDIwNDQsIAotICAgIDEwMjA1MCwgMTAyMDU2LCAxMDIwNjIsIDEwMjA2OCwgMTAyMDc0LCAxMDIwODAsIDEwMjA4NiwgMTAyMDkyLCAxMDIwOTksIAotICAgIDEwMjEwNiwgMTAyMTEzLCAxMDIxMjAsIDEwMjEyNywgMTAyMTM0LCAxMDIxNDAsIDEwMjE0NiwgMTAyMTUyLCAxMDIxNTksIAotICAgIDEwMjE2NiwgMTAyMTcyLCAxMDIxNzgsIDEwMjE4NywgMTAyMTk0LCAxMDIyMDEsIDEwMjIwOCwgMTAyMjE1LCAxMDIyMjIsIAotICAgIDEwMjIyOSwgMTAyMjM1LCAxMDIyNDEsIDEwMjI0NywgMTAyMjU2LCAxMDIyNjMsIDEwMjI3MCwgMTAyMjgxLCAxMDIyOTIsIAotICAgIDEwMjI5OCwgMTAyMzA0LCAxMDIzMTAsIDEwMjMxOSwgMTAyMzI2LCAxMDIzMzMsIDEwMjM0MywgMTAyMzUzLCAxMDIzNjQsIAotICAgIDEwMjM3NSwgMTAyMzg3LCAxMDI0MDAsIDEwMjQxMSwgMTAyNDIyLCAxMDI0MzQsIDEwMjQ0NywgMTAyNDU4LCAxMDI0NjksIAotICAgIDEwMjQ4MCwgMTAyNDkxLCAxMDI1MDIsIDEwMjUxNCwgMTAyNTIyLCAxMDI1MzAsIDEwMjUzOSwgMTAyNTQ4LCAxMDI1NTcsIAotICAgIDEwMjU2MywgMTAyNTY5LCAxMDI1NzUsIDEwMjU4MiwgMTAyNTkyLCAxMDI1OTksIDEwMjYwOSwgMTAyNjE0LCAxMDI2MTksIAotICAgIDEwMjYyNSwgMTAyNjMxLCAxMDI2MzksIDEwMjY0NywgMTAyNjU2LCAxMDI2NjcsIDEwMjY3OCwgMTAyNjg2LCAxMDI2OTQsIAotICAgIDEwMjcwMywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTAyNzEyLCAxMDI3MjMsIDEwMjczMCwgCi0gICAgMTAyNzM4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMDI3NDYsIDEwMjc1MCwgMTAyNzU0LCAKLSAgICAxMDI3NTgsIDEwMjc2MiwgMTAyNzY2LCAxMDI3NzAsIDEwMjc3NCwgMTAyNzc4LCAxMDI3ODIsIDEwMjc4NiwgMTAyNzkwLCAKLSAgICAxMDI3OTQsIDEwMjc5OCwgMTAyODAyLCAxMDI4MDYsIDEwMjgxMCwgMTAyODE0LCAxMDI4MTgsIDEwMjgyMiwgMTAyODI2LCAKLSAgICAxMDI4MzAsIDEwMjgzNCwgMTAyODM4LCAxMDI4NDIsIDEwMjg0NiwgMTAyODUwLCAxMDI4NTQsIDEwMjg1OCwgMTAyODYyLCAKLSAgICAxMDI4NjYsIDEwMjg3MCwgMTAyODc0LCAxMDI4NzgsIDEwMjg4MiwgMTAyODg2LCAxMDI4OTAsIDEwMjg5NCwgMTAyODk4LCAKLSAgICAxMDI5MDIsIDEwMjkwNiwgMTAyOTEwLCAxMDI5MTQsIDEwMjkxOCwgMTAyOTIyLCAxMDI5MjYsIDEwMjkzMCwgMTAyOTM0LCAKLSAgICAxMDI5MzgsIDEwMjk0MiwgMTAyOTQ2LCAxMDI5NTAsIDEwMjk1NCwgMTAyOTU4LCAxMDI5NjIsIDEwMjk2NiwgMTAyOTcwLCAKLSAgICAxMDI5NzQsIDEwMjk3OCwgMTAyOTgyLCAxMDI5ODYsIDEwMjk5MCwgMTAyOTk0LCAxMDI5OTgsIDEwMzAwMiwgMTAzMDA2LCAKLSAgICAxMDMwMTAsIDEwMzAxNCwgMTAzMDE4LCAxMDMwMjIsIDEwMzAyNiwgMTAzMDMwLCAxMDMwMzQsIDEwMzAzOCwgMTAzMDQyLCAKLSAgICAxMDMwNDYsIDEwMzA1MCwgMTAzMDU0LCAxMDMwNTgsIDEwMzA2MiwgMTAzMDY2LCAxMDMwNzAsIDEwMzA3NCwgMTAzMDc4LCAKLSAgICAxMDMwODIsIDEwMzA4NiwgMTAzMDkwLCAxMDMwOTQsIDEwMzA5OCwgMTAzMTAyLCAxMDMxMDYsIDEwMzExMCwgMTAzMTE0LCAKLSAgICAxMDMxMTgsIDEwMzEyMiwgMTAzMTI2LCAxMDMxMzAsIDEwMzEzNCwgMTAzMTM4LCAxMDMxNDIsIDEwMzE0NiwgMTAzMTUwLCAKLSAgICAxMDMxNTQsIDEwMzE1OCwgMTAzMTYyLCAxMDMxNjYsIDEwMzE3MCwgMTAzMTc0LCAxMDMxNzgsIDEwMzE4MiwgMTAzMTg2LCAKLSAgICAxMDMxOTAsIDEwMzE5NCwgMTAzMTk4LCAxMDMyMDIsIDEwMzIwNiwgMTAzMjEwLCAxMDMyMTQsIDEwMzIxOCwgMTAzMjIyLCAKLSAgICAxMDMyMjYsIDEwMzIzMCwgMTAzMjM0LCAxMDMyMzgsIDEwMzI0MiwgMTAzMjQ2LCAxMDMyNTAsIDEwMzI1NCwgMTAzMjU4LCAKLSAgICAxMDMyNjIsIDEwMzI2NiwgMTAzMjcwLCAxMDMyNzQsIDEwMzI3OCwgMTAzMjgyLCAxMDMyODYsIDEwMzI5MCwgMTAzMjk0LCAKLSAgICAxMDMyOTgsIDEwMzMwMiwgMTAzMzA2LCAxMDMzMTAsIDEwMzMxNCwgMTAzMzE4LCAxMDMzMjIsIDEwMzMyNiwgMTAzMzMwLCAKLSAgICAxMDMzMzQsIDEwMzMzOCwgMTAzMzQyLCAxMDMzNDYsIDEwMzM1MCwgMTAzMzU0LCAxMDMzNTgsIDEwMzM2MiwgMTAzMzY2LCAKLSAgICAxMDMzNzAsIDEwMzM3NCwgMTAzMzc4LCAxMDMzODIsIDEwMzM4NiwgMTAzMzkwLCAxMDMzOTQsIDEwMzM5OCwgMTAzNDAyLCAKLSAgICAxMDM0MDYsIDEwMzQxMCwgMTAzNDE0LCAxMDM0MTgsIDEwMzQyMiwgMTAzNDI2LCAxMDM0MzAsIDEwMzQzNCwgMTAzNDM4LCAKLSAgICAxMDM0NDIsIDEwMzQ0NiwgMTAzNDUwLCAxMDM0NTQsIDEwMzQ1OCwgMTAzNDYyLCAxMDM0NjYsIDEwMzQ3MCwgMTAzNDc0LCAKLSAgICAxMDM0NzgsIDEwMzQ4MiwgMTAzNDg2LCAxMDM0OTAsIDEwMzQ5NCwgMTAzNDk4LCAxMDM1MDIsIDEwMzUwNiwgMTAzNTEwLCAKLSAgICAxMDM1MTQsIDEwMzUxOCwgMTAzNTIyLCAxMDM1MjYsIDEwMzUzMCwgMTAzNTM0LCAxMDM1MzgsIDEwMzU0MiwgMTAzNTQ2LCAKLSAgICAxMDM1NTAsIDEwMzU1NCwgMTAzNTU4LCAxMDM1NjIsIDEwMzU2NiwgMTAzNTcwLCAxMDM1NzQsIDEwMzU3OCwgMTAzNTgyLCAKLSAgICAxMDM1ODYsIDEwMzU5MCwgMTAzNTk0LCAxMDM1OTgsIDEwMzYwMiwgMTAzNjA2LCAxMDM2MTAsIDEwMzYxNCwgMTAzNjE4LCAKLSAgICAxMDM2MjIsIDEwMzYyNiwgMTAzNjMwLCAxMDM2MzQsIDEwMzYzOCwgMTAzNjQyLCAxMDM2NDYsIDEwMzY1MCwgMTAzNjU0LCAKLSAgICAxMDM2NTgsIDEwMzY2MiwgMTAzNjY2LCAxMDM2NzAsIDEwMzY3NCwgMTAzNjc4LCAxMDM2ODIsIDEwMzY4NiwgMTAzNjkwLCAKLSAgICAxMDM2OTQsIDEwMzY5OCwgMTAzNzAyLCAxMDM3MDYsIDEwMzcxMCwgMTAzNzE0LCAxMDM3MTgsIDEwMzcyMiwgMTAzNzI2LCAKLSAgICAxMDM3MzAsIDEwMzczNCwgMTAzNzM4LCAxMDM3NDIsIDEwMzc0NiwgMTAzNzUwLCAxMDM3NTQsIDEwMzc1OCwgMTAzNzYyLCAKLSAgICAxMDM3NjYsIDEwMzc3MCwgMTAzNzc0LCAxMDM3NzgsIDEwMzc4MiwgMTAzNzg2LCAxMDM3OTAsIDEwMzc5NCwgMTAzNzk4LCAKLSAgICAxMDM4MDIsIDEwMzgwNiwgMTAzODEwLCAxMDM4MTQsIDEwMzgxOCwgMTAzODIyLCAxMDM4MjYsIDEwMzgzMCwgMTAzODM0LCAKLSAgICAxMDM4MzgsIDEwMzg0MiwgMTAzODQ2LCAxMDM4NTAsIDEwMzg1NCwgMTAzODU4LCAxMDM4NjIsIDEwMzg2NiwgMTAzODcwLCAKLSAgICAxMDM4NzQsIDEwMzg3OCwgMTAzODgyLCAxMDM4ODYsIDEwMzg5MCwgMTAzODk0LCAxMDM4OTgsIDEwMzkwMiwgMTAzOTA2LCAKLSAgICAxMDM5MTAsIDEwMzkxNCwgMTAzOTE4LCAxMDM5MjIsIDEwMzkyNiwgMTAzOTMwLCAxMDM5MzQsIDEwMzkzOCwgMTAzOTQyLCAKLSAgICAxMDM5NDYsIDEwMzk1MCwgMTAzOTU0LCAxMDM5NTgsIDEwMzk2MiwgMTAzOTY2LCAxMDM5NzAsIDEwMzk3NCwgMTAzOTc4LCAKLSAgICAxMDM5ODIsIDEwMzk4NiwgMTAzOTkwLCAxMDM5OTQsIDEwMzk5OCwgMTA0MDAyLCAxMDQwMDYsIDEwNDAxMCwgMTA0MDE0LCAKLSAgICAxMDQwMTgsIDEwNDAyMiwgMTA0MDI2LCAxMDQwMzAsIDEwNDAzNCwgMTA0MDM4LCAxMDQwNDIsIDEwNDA0NiwgMTA0MDUwLCAKLSAgICAxMDQwNTQsIDEwNDA1OCwgMTA0MDYyLCAxMDQwNjYsIDEwNDA3MCwgMTA0MDc0LCAxMDQwNzgsIDEwNDA4MiwgMTA0MDg2LCAKLSAgICAxMDQwOTAsIDEwNDA5NCwgMTA0MDk4LCAxMDQxMDIsIDEwNDEwNiwgMTA0MTEwLCAxMDQxMTQsIDEwNDExOCwgMTA0MTIyLCAKLSAgICAxMDQxMjYsIDEwNDEzMCwgMTA0MTM0LCAxMDQxMzgsIDEwNDE0MiwgMTA0MTQ2LCAxMDQxNTAsIDEwNDE1NCwgMTA0MTU4LCAKLSAgICAxMDQxNjIsIDEwNDE2NiwgMTA0MTcwLCAxMDQxNzQsIDEwNDE3OCwgMTA0MTgyLCAxMDQxODYsIDEwNDE5MCwgMTA0MTk0LCAKLSAgICAxMDQxOTgsIDEwNDIwMiwgMTA0MjA2LCAxMDQyMTAsIDEwNDIxNCwgMTA0MjE4LCAxMDQyMjIsIDEwNDIyNiwgMTA0MjMwLCAKLSAgICAxMDQyMzQsIDEwNDIzOCwgMTA0MjQyLCAxMDQyNDYsIDEwNDI1MCwgMTA0MjU0LCAxMDQyNTgsIDEwNDI2MiwgMTA0MjY2LCAKLSAgICAxMDQyNzAsIDEwNDI3NCwgMTA0Mjc4LCAxMDQyODIsIDEwNDI4NiwgMTA0MjkwLCAxMDQyOTQsIDEwNDI5OCwgMTA0MzAyLCAKLSAgICAxMDQzMDYsIDEwNDMxMCwgMTA0MzE0LCAxMDQzMTgsIDEwNDMyMiwgMTA0MzI2LCAxMDQzMzAsIDEwNDMzNCwgMTA0MzM4LCAKLSAgICAxMDQzNDIsIDEwNDM0NiwgMTA0MzUwLCAxMDQzNTQsIDEwNDM1OCwgMTA0MzYyLCAxMDQzNjYsIDEwNDM3MCwgMTA0Mzc0LCAKLSAgICAxMDQzNzgsIDEwNDM4MiwgMTA0Mzg2LCAxMDQzOTAsIDEwNDM5NCwgMTA0Mzk4LCAxMDQ0MDIsIDEwNDQwNiwgMTA0NDEwLCAKLSAgICAxMDQ0MTQsIDEwNDQxOCwgMTA0NDIyLCAxMDQ0MjYsIDEwNDQzMCwgMTA0NDM0LCAxMDQ0MzgsIDEwNDQ0MiwgMTA0NDQ2LCAKLSAgICAxMDQ0NTAsIDEwNDQ1NCwgMTA0NDU4LCAxMDQ0NjIsIDEwNDQ2NiwgMTA0NDcwLCAxMDQ0NzQsIDEwNDQ3OCwgMTA0NDgyLCAKLSAgICAxMDQ0ODYsIDEwNDQ5MCwgMTA0NDk0LCAxMDQ0OTgsIDEwNDUwMiwgMTA0NTA2LCAxMDQ1MTAsIDEwNDUxNCwgMTA0NTE4LCAKLSAgICAxMDQ1MjIsIDEwNDUyNiwgMTA0NTMwLCAxMDQ1MzQsIDEwNDUzOCwgMTA0NTQyLCAxMDQ1NDYsIDEwNDU1MCwgMTA0NTU0LCAKLSAgICAxMDQ1NTgsIDEwNDU2MiwgMTA0NTY2LCAxMDQ1NzAsIDEwNDU3NCwgMTA0NTc4LCAxMDQ1ODIsIDEwNDU4NiwgMTA0NTkwLCAKLSAgICAxMDQ1OTQsIDEwNDU5OCwgMTA0NjAyLCAxMDQ2MDYsIDEwNDYxMCwgMTA0NjE0LCAxMDQ2MTgsIDEwNDYyMiwgMTA0NjI2LCAKLSAgICAxMDQ2MzAsIDEwNDYzNCwgMTA0NjM4LCAxMDQ2NDIsIDEwNDY0NiwgMTA0NjUwLCAxMDQ2NTQsIDEwNDY1OCwgMTA0NjYyLCAKLSAgICAxMDQ2NjYsIDEwNDY3MCwgMTA0Njc0LCAxMDQ2NzgsIDEwNDY4MiwgMTA0Njg2LCAxMDQ2OTAsIDEwNDY5NCwgMTA0Njk4LCAKLSAgICAxMDQ3MDIsIDEwNDcwNiwgMTA0NzEwLCAxMDQ3MTQsIDEwNDcxOCwgMTA0NzIyLCAxMDQ3MjYsIDEwNDczMCwgMTA0NzM0LCAKLSAgICAxMDQ3MzgsIDEwNDc0MiwgMTA0NzQ2LCAxMDQ3NTAsIDEwNDc1NCwgMTA0NzU4LCAxMDQ3NjIsIDEwNDc2NiwgMTA0NzcwLCAKLSAgICAxMDQ3NzQsIDEwNDc3OCwgMTA0NzgyLCAxMDQ3ODYsIDEwNDc5MCwgMTA0Nzk0LCAxMDQ3OTgsIDEwNDgwMiwgMTA0ODA2LCAKLSAgICAxMDQ4MTAsIDEwNDgxNCwgMTA0ODE4LCAxMDQ4MjIsIDEwNDgyNiwgMTA0ODMwLCAxMDQ4MzQsIDEwNDgzOCwgMTA0ODQyLCAKLSAgICAxMDQ4NDYsIDEwNDg1MCwgMTA0ODU0LCAxMDQ4NTgsIDEwNDg2MiwgMTA0ODY2LCAxMDQ4NzAsIDEwNDg3NCwgMTA0ODc4LCAKLSAgICAxMDQ4ODIsIDEwNDg4NiwgMTA0ODkwLCAxMDQ4OTQsIDEwNDg5OCwgMTA0OTAyLCAxMDQ5MDYsIDEwNDkxMCwgMTA0OTE0LCAKLSAgICAxMDQ5MTgsIDEwNDkyMiwgMTA0OTI2LCAxMDQ5MzAsIDEwNDkzNCwgMTA0OTM4LCAxMDQ5NDIsIDEwNDk0NiwgMTA0OTUwLCAKLSAgICAxMDQ5NTQsIDEwNDk1OCwgMTA0OTYyLCAxMDQ5NjYsIDEwNDk3MCwgMTA0OTc0LCAxMDQ5NzgsIDEwNDk4MiwgMTA0OTg2LCAKLSAgICAxMDQ5OTAsIDEwNDk5NCwgMTA0OTk4LCAxMDUwMDIsIDEwNTAwNiwgMTA1MDEwLCAxMDUwMTQsIDEwNTAxOCwgMTA1MDIyLCAKLSAgICAxMDUwMjYsIDEwNTAzMCwgMTA1MDM0LCAxMDUwMzgsIDEwNTA0MiwgMTA1MDQ2LCAxMDUwNTAsIDEwNTA1NCwgMTA1MDU4LCAKLSAgICAxMDUwNjIsIDEwNTA2NiwgMTA1MDcwLCAxMDUwNzQsIDEwNTA3OCwgMTA1MDgyLCAxMDUwODYsIDEwNTA5MCwgMTA1MDk0LCAKLSAgICAxMDUwOTgsIDEwNTEwMiwgMTA1MTA2LCAxMDUxMTAsIDEwNTExNCwgMTA1MTE4LCAxMDUxMjIsIDEwNTEyNiwgMTA1MTMwLCAKLSAgICAxMDUxMzQsIDEwNTEzOCwgMTA1MTQyLCAxMDUxNDYsIDEwNTE1MCwgMTA1MTU0LCAxMDUxNTgsIDEwNTE2MiwgMTA1MTY2LCAKLSAgICAxMDUxNzAsIDEwNTE3NCwgMTA1MTc4LCAxMDUxODIsIDEwNTE4NiwgMTA1MTkwLCAxMDUxOTQsIDEwNTE5OCwgMTA1MjAyLCAKLSAgICAxMDUyMDYsIDEwNTIxMCwgMTA1MjE0LCAxMDUyMTgsIDEwNTIyMiwgMTA1MjI2LCAxMDUyMzAsIDEwNTIzNCwgMTA1MjM4LCAKLSAgICAxMDUyNDIsIDEwNTI0NiwgMTA1MjUwLCAxMDUyNTQsIDEwNTI1OCwgMTA1MjYyLCAxMDUyNjYsIDEwNTI3MCwgMTA1Mjc0LCAKLSAgICAxMDUyNzgsIDEwNTI4MiwgMTA1Mjg2LCAxMDUyOTAsIDEwNTI5NCwgMTA1Mjk4LCAxMDUzMDIsIDEwNTMwNiwgMTA1MzEwLCAKLSAgICAxMDUzMTQsIDEwNTMxOCwgMTA1MzIyLCAxMDUzMjYsIDEwNTMzMCwgMTA1MzM0LCAxMDUzMzgsIDEwNTM0MiwgMTA1MzQ2LCAKLSAgICAxMDUzNTAsIDEwNTM1NCwgMTA1MzU4LCAxMDUzNjIsIDEwNTM2NiwgMTA1MzcwLCAxMDUzNzQsIDEwNTM3OCwgMTA1MzgyLCAKLSAgICAxMDUzODYsIDEwNTM5MCwgMTA1Mzk0LCAxMDUzOTgsIDEwNTQwMiwgMTA1NDA2LCAxMDU0MTAsIDEwNTQxNCwgMTA1NDE4LCAKLSAgICAxMDU0MjIsIDEwNTQyNiwgMTA1NDMwLCAxMDU0MzQsIDEwNTQzOCwgMTA1NDQyLCAxMDU0NDYsIDEwNTQ1MCwgMTA1NDU0LCAKLSAgICAxMDU0NTgsIDEwNTQ2MiwgMTA1NDY2LCAxMDU0NzAsIDEwNTQ3NCwgMTA1NDc4LCAxMDU0ODIsIDEwNTQ4NiwgMTA1NDkwLCAKLSAgICAxMDU0OTQsIDEwNTQ5OCwgMTA1NTAyLCAxMDU1MDYsIDEwNTUxMCwgMTA1NTE0LCAxMDU1MTgsIDEwNTUyMiwgMTA1NTI2LCAKLSAgICAxMDU1MzAsIDEwNTUzNCwgMTA1NTM4LCAxMDU1NDIsIDEwNTU0NiwgMTA1NTUwLCAxMDU1NTQsIDEwNTU1OCwgMTA1NTYyLCAKLSAgICAxMDU1NjYsIDEwNTU3MCwgMTA1NTc0LCAxMDU1NzgsIDEwNTU4MiwgMTA1NTg2LCAxMDU1OTAsIDEwNTU5NCwgMTA1NTk4LCAKLSAgICAxMDU2MDIsIDEwNTYwNiwgMTA1NjEwLCAxMDU2MTQsIDEwNTYxOCwgMTA1NjIyLCAxMDU2MjYsIDEwNTYzMCwgMTA1NjM0LCAKLSAgICAxMDU2MzgsIDEwNTY0MiwgMTA1NjQ2LCAxMDU2NTAsIDEwNTY1NCwgMTA1NjU4LCAxMDU2NjIsIDEwNTY2NiwgMTA1NjcwLCAKLSAgICAxMDU2NzQsIDEwNTY3OCwgMTA1NjgyLCAxMDU2ODYsIDEwNTY5MCwgMTA1Njk0LCAxMDU2OTgsIDEwNTcwMiwgMTA1NzA2LCAKLSAgICAxMDU3MTAsIDEwNTcxNCwgMTA1NzE4LCAxMDU3MjIsIDEwNTcyNiwgMTA1NzMwLCAxMDU3MzQsIDEwNTczOCwgMTA1NzQyLCAKLSAgICAxMDU3NDYsIDEwNTc1MCwgMTA1NzU0LCAxMDU3NTgsIDEwNTc2MiwgMTA1NzY2LCAxMDU3NzAsIDEwNTc3NCwgMTA1Nzc4LCAKLSAgICAxMDU3ODIsIDEwNTc4NiwgMTA1NzkwLCAxMDU3OTQsIDEwNTc5OCwgMTA1ODAyLCAxMDU4MDYsIDEwNTgxMCwgMTA1ODE0LCAKLSAgICAxMDU4MTgsIDEwNTgyMiwgMTA1ODI2LCAxMDU4MzAsIDEwNTgzNCwgMTA1ODM4LCAxMDU4NDIsIDEwNTg0NiwgMTA1ODUwLCAKLSAgICAxMDU4NTQsIDEwNTg1OCwgMTA1ODYyLCAxMDU4NjYsIDEwNTg3MCwgMTA1ODc0LCAxMDU4NzgsIDEwNTg4MiwgMTA1ODg2LCAKLSAgICAxMDU4OTAsIDEwNTg5NCwgMTA1ODk4LCAxMDU5MDIsIDEwNTkwNiwgMTA1OTEwLCAxMDU5MTQsIDEwNTkxOCwgMTA1OTIyLCAKLSAgICAxMDU5MjYsIDEwNTkzMCwgMTA1OTM0LCAxMDU5MzgsIDEwNTk0MiwgMTA1OTQ2LCAxMDU5NTAsIDEwNTk1NCwgMTA1OTU4LCAKLSAgICAxMDU5NjIsIDEwNTk2NiwgMTA1OTcwLCAxMDU5NzQsIDEwNTk3OCwgMTA1OTgyLCAxMDU5ODYsIDEwNTk5MCwgMTA1OTk0LCAKLSAgICAxMDU5OTgsIDEwNjAwMiwgMTA2MDA2LCAxMDYwMTAsIDEwNjAxNCwgMTA2MDE4LCAxMDYwMjIsIDEwNjAyNiwgMTA2MDMwLCAKLSAgICAxMDYwMzQsIDEwNjAzOCwgMTA2MDQyLCAxMDYwNDYsIDEwNjA1MCwgMTA2MDU0LCAxMDYwNTgsIDEwNjA2MiwgMTA2MDY2LCAKLSAgICAxMDYwNzAsIDEwNjA3NCwgMTA2MDc4LCAxMDYwODIsIDEwNjA4NiwgMTA2MDkwLCAxMDYwOTQsIDEwNjA5OCwgMTA2MTAyLCAKLSAgICAxMDYxMDYsIDEwNjExMCwgMTA2MTE0LCAxMDYxMTgsIDEwNjEyMiwgMTA2MTI2LCAxMDYxMzAsIDEwNjEzNCwgMTA2MTM4LCAKLSAgICAxMDYxNDIsIDEwNjE0NiwgMTA2MTUwLCAxMDYxNTQsIDEwNjE1OCwgMTA2MTYyLCAxMDYxNjYsIDEwNjE3MCwgMTA2MTc0LCAKLSAgICAxMDYxNzgsIDEwNjE4MiwgMTA2MTg2LCAxMDYxOTAsIDEwNjE5NCwgMTA2MTk4LCAxMDYyMDIsIDEwNjIwNiwgMTA2MjEwLCAKLSAgICAxMDYyMTQsIDEwNjIxOCwgMTA2MjIyLCAxMDYyMjYsIDEwNjIzMCwgMTA2MjM0LCAxMDYyMzgsIDEwNjI0MiwgMTA2MjQ2LCAKLSAgICAxMDYyNTAsIDEwNjI1NCwgMTA2MjU4LCAxMDYyNjIsIDEwNjI2NiwgMTA2MjcwLCAxMDYyNzQsIDEwNjI3OCwgMTA2MjgyLCAKLSAgICAxMDYyODYsIDEwNjI5MCwgMTA2Mjk0LCAxMDYyOTgsIDEwNjMwMiwgMTA2MzA2LCAxMDYzMTAsIDEwNjMxNCwgMTA2MzE4LCAKLSAgICAxMDYzMjIsIDEwNjMyNiwgMTA2MzMwLCAxMDYzMzQsIDEwNjMzOCwgMTA2MzQyLCAxMDYzNDYsIDEwNjM1MCwgMTA2MzU0LCAKLSAgICAxMDYzNTgsIDEwNjM2MiwgMTA2MzY2LCAxMDYzNzAsIDEwNjM3NCwgMTA2Mzc4LCAxMDYzODIsIDEwNjM4NiwgMTA2MzkwLCAKLSAgICAxMDYzOTQsIDEwNjM5OCwgMTA2NDAyLCAxMDY0MDYsIDEwNjQxMCwgMTA2NDE0LCAxMDY0MTgsIDEwNjQyMiwgMTA2NDI2LCAKLSAgICAxMDY0MzAsIDEwNjQzNCwgMTA2NDM4LCAxMDY0NDIsIDEwNjQ0NiwgMTA2NDUwLCAxMDY0NTQsIDEwNjQ1OCwgMTA2NDYyLCAKLSAgICAxMDY0NjYsIDEwNjQ3MCwgMTA2NDc0LCAxMDY0NzgsIDEwNjQ4MiwgMTA2NDg2LCAxMDY0OTAsIDEwNjQ5NCwgMTA2NDk4LCAKLSAgICAxMDY1MDIsIDEwNjUwNiwgMTA2NTEwLCAxMDY1MTQsIDEwNjUxOCwgMTA2NTIyLCAxMDY1MjYsIDEwNjUzMCwgMTA2NTM0LCAKLSAgICAxMDY1MzgsIDEwNjU0MiwgMTA2NTQ2LCAxMDY1NTAsIDEwNjU1NCwgMTA2NTU4LCAxMDY1NjIsIDEwNjU2NiwgMTA2NTcwLCAKLSAgICAxMDY1NzQsIDEwNjU3OCwgMTA2NTgyLCAxMDY1ODYsIDEwNjU5MCwgMTA2NTk0LCAxMDY1OTgsIDEwNjYwMiwgMTA2NjA2LCAKLSAgICAxMDY2MTAsIDEwNjYxNCwgMTA2NjE4LCAxMDY2MjIsIDEwNjYyNiwgMTA2NjMwLCAxMDY2MzQsIDEwNjYzOCwgMTA2NjQyLCAKLSAgICAxMDY2NDYsIDEwNjY1MCwgMTA2NjU0LCAxMDY2NTgsIDEwNjY2MiwgMTA2NjY2LCAxMDY2NzAsIDEwNjY3NCwgMTA2Njc4LCAKLSAgICAxMDY2ODIsIDEwNjY4NiwgMTA2NjkwLCAxMDY2OTQsIDEwNjY5OCwgMTA2NzAyLCAxMDY3MDYsIDEwNjcxMCwgMTA2NzE0LCAKLSAgICAxMDY3MTgsIDEwNjcyMiwgMTA2NzI2LCAxMDY3MzAsIDEwNjczNCwgMTA2NzM4LCAxMDY3NDIsIDEwNjc0NiwgMTA2NzUwLCAKLSAgICAxMDY3NTQsIDEwNjc1OCwgMTA2NzYyLCAxMDY3NjYsIDEwNjc3MCwgMTA2Nzc0LCAxMDY3NzgsIDEwNjc4MiwgMTA2Nzg2LCAKLSAgICAxMDY3OTAsIDEwNjc5NCwgMTA2Nzk4LCAxMDY4MDIsIDEwNjgwNiwgMTA2ODEwLCAxMDY4MTQsIDEwNjgxOCwgMTA2ODIyLCAKLSAgICAxMDY4MjYsIDEwNjgzMCwgMTA2ODM0LCAxMDY4MzgsIDEwNjg0MiwgMTA2ODQ2LCAxMDY4NTAsIDEwNjg1NCwgMTA2ODU4LCAKLSAgICAxMDY4NjIsIDEwNjg2NiwgMTA2ODcwLCAxMDY4NzQsIDEwNjg3OCwgMTA2ODgyLCAxMDY4ODYsIDEwNjg5MCwgMTA2ODk0LCAKLSAgICAxMDY4OTgsIDEwNjkwMiwgMTA2OTA2LCAxMDY5MTAsIDEwNjkxNCwgMTA2OTE4LCAxMDY5MjIsIDEwNjkyNiwgMTA2OTMwLCAKLSAgICAxMDY5MzQsIDEwNjkzOCwgMTA2OTQyLCAxMDY5NDYsIDEwNjk1MCwgMTA2OTU0LCAxMDY5NTgsIDEwNjk2MiwgMTA2OTY2LCAKLSAgICAxMDY5NzAsIDEwNjk3NCwgMTA2OTc4LCAxMDY5ODIsIDEwNjk4NiwgMTA2OTkwLCAxMDY5OTQsIDEwNjk5OCwgMTA3MDAyLCAKLSAgICAxMDcwMDYsIDEwNzAxMCwgMTA3MDE0LCAxMDcwMTgsIDEwNzAyMiwgMTA3MDI2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAxMDcwMzAsIDEwNzAzNywgMTA3MDQ0LCAxMDcwNTMsIDEwNzA2MiwgMTA3MDY5LCAxMDcwNzQsIDEwNzA4MSwgCi0gICAgMTA3MDg4LCAxMDcwOTcsIDEwNzEwOCwgMTA3MTE5LCAxMDcxMjQsIDEwNzEzMSwgMTA3MTM2LCAxMDcxNDEsIDEwNzE0NiwgCi0gICAgMTA3MTUxLCAxMDcxNTYsIDEwNzE2MSwgMTA3MTY2LCAxMDcxNzEsIDEwNzE3NiwgMTA3MTgxLCAxMDcxODYsIDEwNzE5MywgCi0gICAgMTA3MjAwLCAxMDcyMDUsIDEwNzIxMCwgMTA3MjE1LCAxMDcyMjAsIDEwNzIyNywgMTA3MjM0LCAxMDcyNDIsIDEwNzI0NywgCi0gICAgMTA3MjU0LCAxMDcyNTksIDEwNzI2NCwgMTA3MjY5LCAxMDcyNzQsIDEwNzI3OSwgMTA3Mjg2LCAxMDcyOTMsIDEwNzI5OCwgCi0gICAgMTA3MzAzLCAxMDczMDgsIDEwNzMxMywgMTA3MzE4LCAxMDczMjMsIDEwNzMyOCwgMTA3MzMzLCAxMDczMzgsIDEwNzM0MywgCi0gICAgMTA3MzQ4LCAxMDczNTMsIDEwNzM1OCwgMTA3MzYzLCAxMDczNjgsIDEwNzM3MywgMTA3Mzc4LCAxMDczODMsIDEwNzM4OCwgCi0gICAgMTA3Mzk1LCAxMDc0MDAsIDEwNzQwNSwgMTA3NDE0LCAxMDc0MjEsIDEwNzQyNiwgMTA3NDMxLCAxMDc0MzYsIDEwNzQ0MSwgCi0gICAgMTA3NDQ2LCAxMDc0NTEsIDEwNzQ1NiwgMTA3NDYxLCAxMDc0NjYsIDEwNzQ3MSwgMTA3NDc2LCAxMDc0ODEsIDEwNzQ4NiwgCi0gICAgMTA3NDkxLCAxMDc0OTYsIDEwNzUwMSwgMTA3NTA2LCAxMDc1MTEsIDEwNzUxNiwgMTA3NTIxLCAxMDc1MjYsIDEwNzUzMiwgCi0gICAgMTA3NTQwLCAxMDc1NDYsIDEwNzU1NCwgMTA3NTYyLCAxMDc1NzAsIDEwNzU3NiwgMTA3NTgyLCAxMDc1ODgsIDEwNzU5NCwgCi0gICAgMTA3NjAwLCAxMDc2MDgsIDEwNzYxOCwgMTA3NjI2LCAxMDc2MzQsIDEwNzY0MCwgMTA3NjQ2LCAxMDc2NTQsIDEwNzY2MiwgCi0gICAgMTA3NjY4LCAxMDc2NzYsIDEwNzY4NCwgMTA3NjkyLCAxMDc2OTgsIDEwNzcwNCwgMTA3NzEwLCAxMDc3MTYsIDEwNzcyMiwgCi0gICAgMTA3NzI4LCAxMDc3MzYsIDEwNzc0NCwgMTA3NzUwLCAxMDc3NTYsIDEwNzc2MiwgMTA3NzY4LCAxMDc3NzQsIDEwNzc4MiwgCi0gICAgMTA3Nzg4LCAxMDc3OTQsIDEwNzgwMCwgMTA3ODA2LCAxMDc4MTIsIDEwNzgxOCwgMTA3ODI2LCAxMDc4MzIsIDEwNzgzOCwgCi0gICAgMTA3ODQ0LCAxMDc4NTAsIDEwNzg1OCwgMTA3ODY2LCAxMDc4NzIsIDEwNzg3OCwgMTA3ODg0LCAxMDc4ODksIDEwNzg5NSwgCi0gICAgMTA3OTAxLCAxMDc5MDgsIDEwNzkxMywgMTA3OTE4LCAxMDc5MjMsIDEwNzkyOCwgMTA3OTMzLCAxMDc5MzgsIDEwNzk0MywgCi0gICAgMTA3OTQ4LCAxMDc5NTMsIDEwNzk2MiwgMTA3OTY5LCAxMDc5NzQsIDEwNzk3OSwgMTA3OTg0LCAxMDc5OTEsIDEwNzk5NiwgCi0gICAgMTA4MDAxLCAxMDgwMDYsIDEwODAxMywgMTA4MDE4LCAxMDgwMjMsIDEwODAyOCwgMTA4MDMzLCAxMDgwMzgsIDEwODA0MywgCi0gICAgMTA4MDQ4LCAxMDgwNTMsIDEwODA1OCwgMTA4MDYzLCAxMDgwNjgsIDEwODA3NSwgMTA4MDgwLCAxMDgwODcsIDEwODA5MiwgCi0gICAgMTA4MDk3LCAxMDgxMDQsIDEwODEwOSwgMTA4MTE0LCAxMDgxMTksIDEwODEyNCwgMTA4MTI5LCAxMDgxMzQsIDEwODEzOSwgCi0gICAgMTA4MTQ0LCAxMDgxNDksIDEwODE1NCwgMTA4MTU5LCAxMDgxNjQsIDEwODE2OSwgMTA4MTc0LCAxMDgxNzksIDEwODE4NCwgCi0gICAgMTA4MTg5LCAxMDgxOTQsIDEwODE5OSwgMTA4MjA2LCAxMDgyMTEsIDEwODIxNiwgMTA4MjIxLCAxMDgyMjYsIDEwODIzMSwgCi0gICAgMTA4MjM2LCAxMDgyNDEsIDEwODI0NiwgMTA4MjUxLCAxMDgyNTYsIDEwODI2MSwgMTA4MjY2LCAxMDgyNzEsIDEwODI3OCwgCi0gICAgMTA4MjgzLCAxMDgyODgsIDEwODI5NSwgMTA4MzAwLCAxMDgzMDUsIDEwODMxMCwgMTA4MzE1LCAxMDgzMjAsIDEwODMyNSwgCi0gICAgMTA4MzMwLCAxMDgzMzUsIDEwODM0MCwgMTA4MzQ1LCAxMDgzNTIsIDEwODM1NywgMTA4MzYyLCAxMDgzNjcsIDEwODM3MiwgCi0gICAgMTA4Mzc3LCAxMDgzODQsIDEwODM5MSwgMTA4Mzk2LCAxMDg0MDEsIDEwODQwNiwgMTA4NDExLCAxMDg0MTYsIDEwODQyMSwgCi0gICAgMTA4NDI2LCAxMDg0MzEsIDEwODQzNiwgMTA4NDQxLCAxMDg0NDYsIDEwODQ1MSwgMTA4NDU2LCAxMDg0NjEsIDEwODQ2NiwgCi0gICAgMTA4NDcxLCAxMDg0NzYsIDEwODQ4MSwgMTA4NDg2LCAxMDg0OTEsIDEwODQ5NiwgMTA4NTAxLCAxMDg1MDYsIDEwODUxMSwgCi0gICAgMTA4NTE2LCAxMDg1MjEsIDEwODUyNiwgMTA4NTMxLCAxMDg1MzYsIDEwODU0MSwgMTA4NTQ2LCAxMDg1NTEsIDEwODU1NiwgCi0gICAgMTA4NTYxLCAxMDg1NjYsIDEwODU3MSwgMTA4NTc4LCAxMDg1ODMsIDEwODU4OCwgMTA4NTkzLCAxMDg1OTgsIDEwODYwMywgCi0gICAgMTA4NjA4LCAxMDg2MTMsIDEwODYxOCwgMTA4NjIzLCAxMDg2MjgsIDEwODYzMywgMTA4NjM4LCAxMDg2NDMsIDEwODY0OCwgCi0gICAgMTA4NjUzLCAxMDg2NTgsIDEwODY2MywgMTA4NjY4LCAxMDg2NzMsIDEwODY3OCwgMTA4NjgzLCAxMDg2ODgsIDEwODY5MywgCi0gICAgMTA4Njk4LCAxMDg3MDMsIDEwODcwOCwgMTA4NzEzLCAxMDg3MTgsIDEwODcyMywgMTA4NzI4LCAxMDg3MzMsIDEwODczOCwgCi0gICAgMTA4NzQzLCAxMDg3NDgsIDEwODc1MywgMTA4NzU4LCAxMDg3NjMsIDEwODc2OCwgMTA4NzczLCAxMDg3NzgsIDEwODc4MywgCi0gICAgMTA4Nzg4LCAxMDg3OTMsIDEwODc5OCwgMTA4ODAzLCAxMDg4MDgsIDEwODgxMywgMTA4ODE4LCAxMDg4MjMsIDEwODgyOCwgCi0gICAgMTA4ODMzLCAxMDg4MzgsIDEwODg0MywgMTA4ODQ4LCAxMDg4NTMsIDEwODg1OCwgMTA4ODYzLCAxMDg4NjgsIDEwODg3NSwgCi0gICAgMTA4ODgwLCAxMDg4ODUsIDEwODg5MCwgMTA4ODk1LCAxMDg5MDAsIDEwODkwNSwgMTA4OTA5LCAxMDg5MTQsIDEwODkxOSwgCi0gICAgMTA4OTI0LCAxMDg5MjksIDEwODkzNCwgMTA4OTM5LCAxMDg5NDQsIDEwODk0OSwgMTA4OTU0LCAxMDg5NTksIDEwODk2NCwgCi0gICAgMTA4OTY5LCAxMDg5NzQsIDEwODk3OSwgMTA4OTg2LCAxMDg5OTEsIDEwODk5NiwgMTA5MDAyLCAxMDkwMDcsIDEwOTAxMiwgCi0gICAgMTA5MDE3LCAxMDkwMjIsIDEwOTAyNywgMTA5MDMyLCAxMDkwMzcsIDEwOTA0MiwgMTA5MDQ3LCAxMDkwNTIsIDEwOTA1NywgCi0gICAgMTA5MDYyLCAxMDkwNjcsIDEwOTA3MiwgMTA5MDc3LCAxMDkwODIsIDEwOTA4NywgMTA5MDkyLCAxMDkwOTcsIDEwOTEwMiwgCi0gICAgMTA5MTA3LCAxMDkxMTIsIDEwOTExNywgMTA5MTIyLCAxMDkxMjcsIDEwOTEzMiwgMTA5MTM3LCAxMDkxNDIsIDEwOTE0NywgCi0gICAgMTA5MTUyLCAxMDkxNTcsIDEwOTE2MiwgMTA5MTY3LCAxMDkxNzIsIDEwOTE3NywgMTA5MTgyLCAxMDkxODcsIDEwOTE5MiwgCi0gICAgMTA5MTk3LCAxMDkyMDIsIDEwOTIwNywgMTA5MjEyLCAxMDkyMTcsIDEwOTIyNCwgMTA5MjI5LCAxMDkyMzQsIDEwOTI0MSwgCi0gICAgMTA5MjQ4LCAxMDkyNTMsIDEwOTI1OCwgMTA5MjYzLCAxMDkyNjgsIDEwOTI3MywgMTA5Mjc4LCAxMDkyODMsIDEwOTI4OCwgCi0gICAgMTA5MjkzLCAxMDkyOTgsIDEwOTMwMywgMTA5MzA4LCAxMDkzMTMsIDEwOTMxOCwgMTA5MzIzLCAxMDkzMjgsIDEwOTMzMywgCi0gICAgMTA5MzM4LCAxMDkzNDMsIDEwOTM0OCwgMTA5MzUzLCAxMDkzNTgsIDEwOTM2MywgMTA5MzY4LCAxMDkzNzMsIDEwOTM4MCwgCi0gICAgMTA5Mzg1LCAxMDkzOTAsIDEwOTM5NSwgMTA5NDAwLCAxMDk0MDUsIDEwOTQxMCwgMTA5NDE1LCAxMDk0MjAsIDEwOTQyNSwgCi0gICAgMTA5NDMwLCAxMDk0MzUsIDEwOTQ0MCwgMTA5NDQ1LCAxMDk0NTAsIDEwOTQ1NSwgMTA5NDYwLCAxMDk0NjUsIDEwOTQ3MCwgCi0gICAgMTA5NDc3LCAxMDk0ODIsIDEwOTQ4NywgMTA5NDkyLCAxMDk0OTcsIDEwOTUwMiwgMTA5NTA3LCAxMDk1MTIsIDEwOTUxOCwgCi0gICAgMTA5NTIzLCAxMDk1MjgsIDEwOTUzMywgMTA5NTM4LCAxMDk1NDMsIDEwOTU0OCwgMTA5NTUzLCAxMDk1NTgsIDEwOTU2NSwgCi0gICAgMTA5NTcyLCAxMDk1NzcsIDEwOTU4MiwgMTA5NTg2LCAxMDk1OTEsIDEwOTU5NSwgMTA5NTk5LCAxMDk2MDQsIDEwOTYxMSwgCi0gICAgMTA5NjE2LCAxMDk2MjEsIDEwOTYzMCwgMTA5NjM1LCAxMDk2NDAsIDEwOTY0NSwgMTA5NjUwLCAxMDk2NTcsIDEwOTY2NCwgCi0gICAgMTA5NjY5LCAxMDk2NzQsIDEwOTY3OSwgMTA5Njg0LCAxMDk2OTEsIDEwOTY5NiwgMTA5NzAxLCAxMDk3MDYsIDEwOTcxMSwgCi0gICAgMTA5NzE2LCAxMDk3MjEsIDEwOTcyNiwgMTA5NzMxLCAxMDk3MzYsIDEwOTc0MSwgMTA5NzQ2LCAxMDk3NTEsIDEwOTc1OCwgCi0gICAgMTA5NzYyLCAxMDk3NjcsIDEwOTc3MiwgMTA5Nzc3LCAxMDk3ODIsIDEwOTc4NiwgMTA5NzkxLCAxMDk3OTYsIDEwOTgwMSwgCi0gICAgMTA5ODA2LCAxMDk4MTEsIDEwOTgxNiwgMTA5ODIxLCAxMDk4MjYsIDEwOTgzMSwgMTA5ODM3LCAxMDk4NDMsIDEwOTg0OSwgCi0gICAgMTA5ODU1LCAxMDk4NjEsIDEwOTg2NywgMTA5ODczLCAxMDk4NzksIDEwOTg4NSwgMTA5ODkxLCAxMDk4OTcsIDEwOTkwMywgCi0gICAgMTA5OTA4LCAxMDk5MTQsIDEwOTkyMCwgMTA5OTI2LCAxMDk5MzIsIDEwOTkzOCwgMTA5OTQ0LCAxMDk5NTAsIDEwOTk1NiwgCi0gICAgMTA5OTYyLCAxMDk5NjgsIDEwOTk3NCwgMTA5OTc5LCAxMDk5ODUsIDEwOTk5MSwgMTA5OTk3LCAxMTAwMDMsIDExMDAwOSwgCi0gICAgMTEwMDE1LCAxMTAwMjEsIDExMDAyNywgMTEwMDMzLCAxMTAwMzksIDExMDA0NSwgMTEwMDUxLCAxMTAwNTcsIDExMDA2MywgCi0gICAgMTEwMDY5LCAxMTAwNzUsIDExMDA4MSwgMTEwMDg3LCAxMTAwOTMsIDExMDA5OSwgMTEwMTA0LCAxMTAxMTAsIDExMDExNiwgCi0gICAgMTEwMTIyLCAxMTAxMjgsIDExMDEzNCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTEwMTQwLCAxMTAxNDMsIDExMDE0NywgMTEwMTUxLCAxMTAxNTUsIDExMDE1OCwgCi0gICAgMTEwMTYyLCAxMTAxNjcsIDExMDE3MSwgMTEwMTc1LCAxMTAxNzksIDExMDE4MywgMTEwMTg3LCAxMTAxOTIsIDExMDE5NywgCi0gICAgMTEwMjAxLCAxMTAyMDUsIDExMDIwOCwgMTEwMjEyLCAxMTAyMTcsIDExMDIyMiwgMTEwMjI2LCAxMTAyMzAsIDExMDIzNCwgCi0gICAgMTEwMjM4LCAxMTAyNDIsIDExMDI0NiwgMTEwMjUwLCAxMTAyNTQsIDExMDI1OCwgMTEwMjYyLCAxMTAyNjUsIDExMDI2OSwgCi0gICAgMTEwMjczLCAxMTAyNzcsIDExMDI4MSwgMTEwMjg1LCAxMTAyODksIDExMDI5NSwgMTEwMjk4LCAxMTAzMDIsIDExMDMwNiwgCi0gICAgMTEwMzEwLCAxMTAzMTQsIDExMDMxOCwgMTEwMzIyLCAxMTAzMjYsIDExMDMzMCwgMTEwMzM0LCAxMTAzMzksIDExMDM0NCwgCi0gICAgMTEwMzUwLCAxMTAzNTQsIDExMDM1OCwgMTEwMzYyLCAxMTAzNjYsIDExMDM3MCwgMTEwMzc0LCAxMTAzNzksIDExMDM4MiwgCi0gICAgMTEwMzg2LCAxMTAzOTAsIDExMDM5NCwgMTEwMzk4LCAxMTA0MDQsIDExMDQwOCwgMTEwNDEyLCAxMTA0MTYsIDExMDQyMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTEwNDI0LCAxMTA0MjgsIDExMDQzMiwgMTEwNDM4LCAxMTA0NDQsIAotICAgIDExMDQ0OCwgMTEwNDUzLCAxMTA0NTgsIDExMDQ2MywgMTEwNDY4LCAxMTA0NzIsIDExMDQ3NywgMTEwNDgyLCAxMTA0ODcsIAotICAgIDExMDQ5MSwgMTEwNDk2LCAxMTA1MDEsIDExMDUwNiwgMTEwNTEwLCAxMTA1MTUsIDExMDUyMCwgMTEwNTI1LCAxMTA1MzAsIAotICAgIDExMDUzNSwgMTEwNTQwLCAxMTA1NDUsIDExMDU1MCwgMTEwNTU0LCAxMTA1NTksIDExMDU2NCwgMTEwNTY5LCAxMTA1NzQsIAotICAgIDExMDU3OSwgMTEwNTg0LCAxMTA1ODksIDExMDU5NCwgMTEwNTk5LCAxMTA2MDQsIDExMDYwOSwgMTEwNjE2LCAxMTA2MjEsIAotICAgIDExMDYyOCwgMTEwNjMzLCAxMTA2MzgsIDExMDY0MywgMTEwNjQ4LCAxMTA2NTMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDExMDY1OCwgMTEwNjYyLCAxMTA2NjgsIDExMDY3MSwgMTEwNjc0LCAxMTA2NzgsIAotICAgIDExMDY4MiwgMTEwNjg2LCAxMTA2OTAsIDExMDY5NCwgMTEwNjk4LCAxMTA3MDIsIDExMDcwOCwgMTEwNzE0LCAxMTA3MjAsIAotICAgIDExMDcyNiwgMTEwNzMyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAxMTA3MzgsIDExMDc0MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTEwNzQ5LCAxMTA3NTQsIDExMDc1OSwgCi0gICAgMTEwNzY0LCAxMTA3NzEsIDExMDc3OCwgMTEwNzg1LCAxMTA3OTIsIDExMDc5NywgMTEwODAyLCAxMTA4MDcsIDExMDgxMiwgCi0gICAgMTEwODE5LCAxMTA4MjQsIDExMDgzMSwgMTEwODM4LCAxMTA4NDMsIDExMDg0OCwgMTEwODUzLCAxMTA4NjAsIDExMDg2NSwgCi0gICAgMTEwODcwLCAxMTA4NzcsIDExMDg4NCwgMTEwODg5LCAxMTA4OTQsIDExMDg5OSwgMTEwOTA2LCAxMTA5MTMsIDExMDkyMCwgCi0gICAgMTEwOTI1LCAxMTA5MzAsIDExMDkzNywgMTEwOTQ0LCAxMTA5NTEsIDExMDk1OCwgMTEwOTYzLCAxMTA5NjgsIDExMDk3MywgCi0gICAgMTEwOTgwLCAxMTA5ODUsIDExMDk5MCwgMTEwOTk1LCAxMTEwMDIsIDExMTAxMSwgMTExMDE4LCAxMTEwMjMsIDExMTAyOCwgCi0gICAgMTExMDMzLCAxMTEwMzgsIDExMTA0MywgMTExMDQ4LCAxMTEwNTcsIDExMTA2NCwgMTExMDY5LCAxMTEwNzYsIDExMTA4MywgCi0gICAgMTExMDg4LCAxMTEwOTMsIDExMTA5OCwgMTExMTA1LCAxMTExMTAsIDExMTExNywgMTExMTI0LCAxMTExMjksIDExMTEzNCwgCi0gICAgMTExMTM5LCAxMTExNDYsIDExMTE1MywgMTExMTU4LCAxMTExNjMsIDExMTE3MCwgMTExMTc3LCAxMTExODQsIDExMTE4OSwgCi0gICAgMTExMTk0LCAxMTExOTksIDExMTIwNCwgMTExMjExLCAxMTEyMjAsIDExMTIyOSwgMTExMjM0LCAxMTEyNDEsIDExMTI1MCwgCi0gICAgMTExMjU1LCAxMTEyNjAsIDExMTI2NSwgMTExMjcwLCAxMTEyNzcsIDExMTI4NCwgMTExMjkxLCAxMTEyOTgsIDExMTMwMywgCi0gICAgMTExMzA4LCAxMTEzMTMsIDExMTMyMCwgMTExMzI3LCAxMTEzMzQsIDExMTMzOSwgMTExMzQ0LCAxMTEzNTEsIDExMTM1NiwgCi0gICAgMTExMzYzLCAxMTEzNjgsIDExMTM3NSwgMTExMzgwLCAxMTEzODcsIDExMTM5NCwgMTExMzk5LCAxMTE0MDQsIDExMTQwOSwgCi0gICAgMTExNDE0LCAxMTE0MTksIDExMTQyNCwgMTExNDI5LCAxMTE0MzQsIDExMTQzOSwgMTExNDQ2LCAxMTE0NTMsIDExMTQ2MCwgCi0gICAgMTExNDY3LCAxMTE0NzQsIDExMTQ4MywgMTExNDg4LCAxMTE0OTMsIDExMTUwMCwgMTExNTA3LCAxMTE1MTIsIDExMTUxOSwgCi0gICAgMTExNTI2LCAxMTE1MzMsIDExMTU0MCwgMTExNTQ3LCAxMTE1NTQsIDExMTU1OSwgMTExNTY0LCAxMTE1NjksIDExMTU3NCwgCi0gICAgMTExNTc5LCAxMTE1ODgsIDExMTU5NywgMTExNjA2LCAxMTE2MTUsIDExMTYyNCwgMTExNjMzLCAxMTE2NDIsIDExMTY1MSwgCi0gICAgMTExNjU2LCAxMTE2NjcsIDExMTY3OCwgMTExNjg3LCAxMTE2OTIsIDExMTY5NywgMTExNzAyLCAxMTE3MDcsIDExMTcxNiwgCi0gICAgMTExNzIzLCAxMTE3MzAsIDExMTczNywgMTExNzQ0LCAxMTE3NTEsIDExMTc1OCwgMTExNzY3LCAxMTE3NzYsIDExMTc4NywgCi0gICAgMTExNzk2LCAxMTE4MDcsIDExMTgxNiwgMTExODIzLCAxMTE4MzIsIDExMTg0MywgMTExODUyLCAxMTE4NjEsIDExMTg3MCwgCi0gICAgMTExODc5LCAxMTE4ODYsIDExMTg5MywgMTExOTAwLCAxMTE5MDksIDExMTkxOCwgMTExOTI5LCAxMTE5MzgsIDExMTk0NywgCi0gICAgMTExOTU4LCAxMTE5NjMsIDExMTk2OCwgMTExOTc5LCAxMTE5ODcsIDExMTk5NiwgMTEyMDA1LCAxMTIwMTQsIDExMjAyNSwgCi0gICAgMTEyMDM0LCAxMTIwNDMsIDExMjA1NCwgMTEyMDY1LCAxMTIwNzYsIDExMjA4NywgMTEyMDk4LCAxMTIxMDksIDExMjExNiwgCi0gICAgMTEyMTIzLCAxMTIxMzAsIDExMjEzNywgMTEyMTQ4LCAxMTIxNTcsIDExMjE2NCwgMTEyMTcxLCAxMTIxNzgsIDExMjE4OSwgCi0gICAgMTEyMjAwLCAxMTIyMTEsIDExMjIyMiwgMTEyMjMzLCAxMTIyNDQsIDExMjI1NSwgMTEyMjY2LCAxMTIyNzMsIDExMjI4MCwgCi0gICAgMTEyMjg5LCAxMTIyOTgsIDExMjMwNSwgMTEyMzEyLCAxMTIzMTksIDExMjMyOCwgMTEyMzM3LCAxMTIzNDYsIDExMjM1MywgCi0gICAgMTEyMzYyLCAxMTIzNzEsIDExMjM4MCwgMTEyMzg3LCAxMTIzOTQsIDExMjM5OSwgMTEyNDA1LCAxMTI0MTIsIDExMjQxOSwgCi0gICAgMTEyNDI2LCAxMTI0MzMsIDExMjQ0MCwgMTEyNDQ3LCAxMTI0NTYsIDExMjQ2NSwgMTEyNDc0LCAxMTI0ODMsIDExMjQ5MCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTEyNDk5LCAxMTI1MDUsIDExMjUxMCwgMTEyNTE1LCAxMTI1MjIsIAotICAgIDExMjUyOCwgMTEyNTM0LCAxMTI1NDAsIDExMjU0NiwgMTEyNTUyLCAxMTI1NTgsIDExMjU2NCwgMTEyNTY4LCAxMTI1NzIsIAotICAgIDExMjU3OCwgMTEyNTg0LCAxMTI1OTAsIDExMjU5NCwgMTEyNTk5LCAxMTI2MDQsIDExMjYwOCwgMTEyNjEyLCAxMTI2MTUsIAotICAgIDExMjYyMSwgMTEyNjI3LCAxMTI2MzMsIDExMjYzOSwgMTEyNjQ1LCAxMTI2NTEsIDExMjY1NywgMTEyNjYzLCAxMTI2NjksIAotICAgIDExMjY3OSwgMTEyNjg5LCAxMTI2OTUsIDExMjcwMSwgMTEyNzExLCAxMTI3MjEsIDExMjcyNywgMCwgMCwgMTEyNzMzLCAKLSAgICAxMTI3NDEsIDExMjc0NiwgMTEyNzUxLCAxMTI3NTcsIDExMjc2MywgMTEyNzY5LCAxMTI3NzUsIDExMjc4MSwgMTEyNzg3LCAKLSAgICAxMTI3OTQsIDExMjgwMSwgMTEyODA3LCAxMTI4MTMsIDExMjgxOSwgMTEyODI1LCAxMTI4MzEsIDExMjgzNywgMTEyODQzLCAKLSAgICAxMTI4NDksIDExMjg1NCwgMTEyODYwLCAxMTI4NjYsIDExMjg3MiwgMTEyODc4LCAxMTI4ODQsIDExMjg5MywgMTEyODk5LCAKLSAgICAxMTI5MDQsIDExMjkxMiwgMTEyOTE5LCAxMTI5MjYsIDExMjkzNSwgMTEyOTQ0LCAxMTI5NTMsIDExMjk2MiwgMTEyOTcxLCAKLSAgICAxMTI5ODAsIDExMjk4OSwgMTEyOTk4LCAxMTMwMDgsIDExMzAxOCwgMTEzMDI2LCAxMTMwMzQsIDExMzA0MywgMTEzMDUyLCAKLSAgICAxMTMwNTgsIDExMzA2NCwgMTEzMDcwLCAxMTMwNzYsIDExMzA4NCwgMTEzMDkyLCAxMTMwOTYsIDExMzEwMiwgMTEzMTA3LCAKLSAgICAxMTMxMTMsIDExMzExOSwgMTEzMTI1LCAxMTMxMzEsIDExMzEzNywgMTEzMTQ2LCAxMTMxNTEsIDExMzE1OCwgMTEzMTYzLCAKLSAgICAxMTMxNjgsIDExMzE3MywgMTEzMTc5LCAxMTMxODUsIDExMzE5MSwgMTEzMTk4LCAxMTMyMDMsIDExMzIwOCwgMTEzMjEzLCAKLSAgICAxMTMyMTgsIDExMzIyMywgMTEzMjI5LCAxMTMyMzUsIDExMzI0MSwgMTEzMjQ3LCAxMTMyNTMsIDExMzI1OSwgMTEzMjY1LCAKLSAgICAxMTMyNzEsIDExMzI3NiwgMTEzMjgxLCAxMTMyODYsIDExMzI5MSwgMTEzMjk2LCAxMTMzMDEsIDExMzMwNiwgMTEzMzExLCAKLSAgICAxMTMzMTcsIDExMzMyMywgMTEzMzI4LCAxMTMzMzMsIDExMzMzOCwgMTEzMzQzLCAxMTMzNDgsIDExMzM1NCwgMTEzMzYxLCAKLSAgICAxMTMzNjUsIDExMzM2OSwgMTEzMzczLCAxMTMzNzcsIDExMzM4MSwgMTEzMzg1LCAxMTMzODksIDExMzM5MywgMTEzNDAxLCAKLSAgICAxMTM0MTEsIDExMzQxNSwgMTEzNDE5LCAxMTM0MjUsIDExMzQzMSwgMTEzNDM3LCAxMTM0NDMsIDExMzQ0OSwgMTEzNDU1LCAKLSAgICAxMTM0NjEsIDExMzQ2NywgMTEzNDczLCAxMTM0NzksIDExMzQ4NSwgMTEzNDkxLCAxMTM0OTcsIDExMzUwMywgMTEzNTA3LCAKLSAgICAxMTM1MTEsIDExMzUxOCwgMTEzNTI0LCAxMTM1MzAsIDExMzUzNiwgMTEzNTQxLCAxMTM1NDgsIDExMzU1MywgMTEzNTU5LCAKLSAgICAxMTM1NjUsIDExMzU3MSwgMTEzNTc3LCAxMTM1ODIsIDExMzU4NiwgMTEzNTkyLCAxMTM1OTYsIDExMzYwMCwgMTEzNjA0LCAKLSAgICAxMTM2MTAsIDExMzYxNiwgMTEzNjIwLCAxMTM2MjYsIDExMzYzMiwgMTEzNjM4LCAxMTM2NDQsIDExMzY1MCwgMTEzNjU4LCAKLSAgICAxMTM2NjYsIDExMzY3MiwgMTEzNjc4LCAxMTM2ODQsIDExMzY5MCwgMTEzNzAyLCAxMTM3MTQsIDExMzcyOCwgMTEzNzQwLCAKLSAgICAxMTM3NTIsIDExMzc2NiwgMTEzNzgwLCAxMTM3OTQsIDExMzc5OCwgMTEzODA2LCAxMTM4MTQsIDExMzgxOSwgMTEzODIzLCAKLSAgICAxMTM4MjcsIDExMzgzMSwgMTEzODM1LCAxMTM4MzksIDExMzg0MywgMTEzODQ3LCAxMTM4NTMsIDExMzg1OSwgMTEzODY1LCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMTM4NzEsIDExMzg3NywgMTEzODgzLCAxMTM4ODksIDExMzg5NSwgCi0gICAgMTEzOTAxLCAxMTM5MDcsIDExMzkxMywgMTEzOTE5LCAxMTM5MjUsIDExMzkzMSwgMTEzOTM3LCAxMTM5NDMsIDExMzk0OSwgCi0gICAgMTEzOTU1LCAxMTM5NjEsIDExMzk2NywgMTEzOTczLCAxMTM5NzksIDExMzk4NSwgMTEzOTkxLCAxMTM5OTcsIDExNDAwMywgCi0gICAgMTE0MDA5LCAxMTQwMTUsIDExNDAyMSwgMTE0MDI3LCAxMTQwMzMsIDExNDAzOSwgMTE0MDQ1LCAxMTQwNTEsIDExNDA1NywgCi0gICAgMTE0MDYzLCAxMTQwNjksIDExNDA3NSwgMTE0MDgxLCAxMTQwODcsIDExNDA5MywgMTE0MDk5LCAxMTQxMDUsIDExNDExMSwgCi0gICAgMTE0MTE3LCAxMTQxMjMsIDExNDEyOSwgMTE0MTM1LCAxMTQxNDEsIDExNDE0NywgMTE0MTUzLCAxMTQxNTksIDExNDE2NSwgCi0gICAgMTE0MTcxLCAxMTQxNzcsIDExNDE4MywgMTE0MTg5LCAxMTQxOTUsIDExNDIwMSwgMTE0MjA3LCAxMTQyMTMsIDExNDIxOSwgCi0gICAgMTE0MjI1LCAxMTQyMzEsIDExNDIzNywgMTE0MjQzLCAxMTQyNDksIDExNDI1NSwgMTE0MjYxLCAxMTQyNjcsIDExNDI3MiwgCi0gICAgMTE0Mjc3LCAxMTQyODIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDExNDI4NiwgMTE0MjkxLCAxMTQyOTgsIAotICAgIDExNDMwNSwgMTE0MzEyLCAxMTQzMTksIDExNDMyNCwgMTE0MzI4LCAxMTQzMzQsIDExNDMzOCwgMTE0MzQyLCAxMTQzNDgsIAotICAgIDExNDM1MiwgMTE0MzU2LCAxMTQzNjAsIDExNDM2NiwgMTE0MzczLCAxMTQzNzcsIDExNDM4MSwgMTE0Mzg1LCAxMTQzODksIAotICAgIDExNDM5MywgMTE0Mzk3LCAxMTQ0MDMsIDExNDQwNywgMTE0NDExLCAxMTQ0MTUsIDExNDQxOSwgMTE0NDIzLCAxMTQ0MjcsIAotICAgIDExNDQzMSwgMTE0NDM1LCAxMTQ0MzksIDExNDQ0MywgMTE0NDQ3LCAxMTQ0NTEsIDExNDQ1NiwgMTE0NDYwLCAxMTQ0NjQsIAotICAgIDExNDQ2OCwgMTE0NDcyLCAxMTQ0NzYsIDExNDQ4MCwgMTE0NDg0LCAxMTQ0ODgsIDExNDQ5MiwgMTE0NDk5LCAxMTQ1MDMsIAotICAgIDExNDUxMSwgMTE0NTE1LCAxMTQ1MTksIDExNDUyMywgMTE0NTI3LCAxMTQ1MzEsIDExNDUzNSwgMTE0NTM5LCAxMTQ1NDYsIAotICAgIDExNDU1MCwgMTE0NTU0LCAxMTQ1NTgsIDExNDU2MiwgMTE0NTY2LCAxMTQ1NzIsIDExNDU3NiwgMTE0NTgyLCAxMTQ1ODYsIAotICAgIDExNDU5MCwgMTE0NTk0LCAxMTQ1OTgsIDExNDYwMiwgMTE0NjA2LCAxMTQ2MTAsIDExNDYxNCwgMTE0NjE4LCAxMTQ2MjIsIAotICAgIDExNDYyNiwgMTE0NjMwLCAxMTQ2MzQsIDExNDYzOCwgMTE0NjQyLCAxMTQ2NDYsIDExNDY1MCwgMTE0NjU0LCAxMTQ2NTgsIAotICAgIDExNDY2NiwgMTE0NjcwLCAxMTQ2NzQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDExNDY3OCwgMTE0Njg2LCAKLSAgICAxMTQ2OTQsIDExNDcwMiwgMTE0NzEwLCAxMTQ3MTgsIDExNDcyNiwgMTE0NzM0LCAxMTQ3NDIsIDExNDc1MCwgMTE0NzU4LCAKLSAgICAxMTQ3NjYsIDExNDc3NCwgMTE0NzgyLCAxMTQ3OTAsIDExNDc5OCwgMTE0ODA2LCAxMTQ4MTQsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDExNDgyMiwgMTE0ODI2LCAxMTQ4MzEsIDExNDgzNiwgMTE0ODQxLCAxMTQ4NDUsIAotICAgIDExNDg1MCwgMTE0ODU1LCAxMTQ4NjAsIDExNDg2NCwgMTE0ODY5LCAxMTQ4NzQsIDExNDg3OCwgMTE0ODgyLCAxMTQ4ODcsIAotICAgIDExNDg5MSwgMTE0ODk2LCAxMTQ5MDEsIDExNDkwNSwgMTE0OTEwLCAxMTQ5MTUsIDExNDkxOSwgMTE0OTI0LCAxMTQ5MjksIAotICAgIDExNDkzNCwgMTE0OTM5LCAxMTQ5NDQsIDExNDk0OCwgMTE0OTUzLCAxMTQ5NTgsIDExNDk2MywgMTE0OTY3LCAxMTQ5NzIsIAotICAgIDExNDk3NywgMTE0OTgyLCAxMTQ5ODYsIDExNDk5MSwgMTE0OTk2LCAxMTUwMDAsIDExNTAwNCwgMTE1MDA5LCAxMTUwMTMsIAotICAgIDExNTAxOCwgMTE1MDIzLCAxMTUwMjcsIDExNTAzMiwgMTE1MDM3LCAxMTUwNDEsIDExNTA0NiwgMTE1MDUxLCAxMTUwNTYsIAotICAgIDExNTA2MSwgMTE1MDY2LCAxMTUwNzAsIDExNTA3NSwgMTE1MDgwLCAxMTUwODUsIDExNTA4OSwgMTE1MDk0LCAxMTUwOTksIAotICAgIDExNTEwNCwgMTE1MTA4LCAxMTUxMTMsIDExNTExOCwgMTE1MTIyLCAxMTUxMjYsIDExNTEzMSwgMTE1MTM1LCAxMTUxNDAsIAotICAgIDExNTE0NSwgMTE1MTQ5LCAxMTUxNTQsIDExNTE1OSwgMTE1MTYzLCAxMTUxNjgsIDExNTE3MywgMTE1MTc4LCAxMTUxODMsIAotICAgIDExNTE4OCwgMTE1MTkyLCAxMTUxOTcsIDExNTIwMiwgMTE1MjA3LCAxMTUyMTEsIDExNTIxNiwgMCwgMTE1MjIxLCAKLSAgICAxMTUyMjUsIDExNTIzMCwgMTE1MjM1LCAxMTUyMzksIDExNTI0MywgMTE1MjQ4LCAxMTUyNTIsIDExNTI1NywgMTE1MjYyLCAKLSAgICAxMTUyNjYsIDExNTI3MSwgMTE1Mjc2LCAxMTUyODAsIDExNTI4NSwgMTE1MjkwLCAxMTUyOTUsIDExNTMwMCwgMTE1MzA1LCAKLSAgICAxMTUzMTAsIDExNTMxNiwgMTE1MzIyLCAxMTUzMjgsIDExNTMzMywgMTE1MzM5LCAxMTUzNDUsIDExNTM1MSwgMTE1MzU2LCAKLSAgICAxMTUzNjIsIDExNTM2OCwgMTE1MzczLCAxMTUzNzgsIDExNTM4NCwgMTE1Mzg5LCAxMTUzOTUsIDExNTQwMSwgMTE1NDA2LCAKLSAgICAxMTU0MTIsIDExNTQxOCwgMTE1NDIzLCAxMTU0MjksIDExNTQzNSwgMTE1NDQxLCAxMTU0NDcsIDExNTQ1MywgMTE1NDU4LCAKLSAgICAxMTU0NjQsIDExNTQ3MCwgMTE1NDc2LCAxMTU0ODEsIDExNTQ4NywgMTE1NDkzLCAxMTU0OTksIDExNTUwNCwgMTE1NTEwLCAKLSAgICAxMTU1MTYsIDExNTUyMSwgMTE1NTI2LCAxMTU1MzIsIDExNTUzNywgMTE1NTQzLCAxMTU1NDksIDExNTU1NCwgMTE1NTYwLCAKLSAgICAxMTU1NjYsIDExNTU3MSwgMTE1NTc3LCAxMTU1ODMsIDExNTU4OSwgMTE1NTk1LCAxMTU2MDEsIDAsIDExNTYwNSwgCi0gICAgMTE1NjEwLCAwLCAwLCAxMTU2MTUsIDAsIDAsIDExNTYyMCwgMTE1NjI1LCAwLCAwLCAxMTU2MzAsIDExNTYzNSwgMTE1NjM5LCAKLSAgICAxMTU2NDQsIDAsIDExNTY0OSwgMTE1NjU0LCAxMTU2NTksIDExNTY2MywgMTE1NjY4LCAxMTU2NzMsIDExNTY3OCwgCi0gICAgMTE1NjgzLCAxMTU2ODgsIDExNTY5MiwgMTE1Njk3LCAxMTU3MDIsIDAsIDExNTcwNywgMCwgMTE1NzEyLCAxMTU3MTcsIAotICAgIDExNTcyMSwgMTE1NzI2LCAxMTU3MzEsIDExNTczNSwgMTE1NzM5LCAwLCAxMTU3NDQsIDExNTc0OSwgMTE1NzU0LCAKLSAgICAxMTU3NTgsIDExNTc2MywgMTE1NzY4LCAxMTU3NzIsIDExNTc3NywgMTE1NzgyLCAxMTU3ODcsIDExNTc5MiwgMTE1Nzk3LCAKLSAgICAxMTU4MDIsIDExNTgwOCwgMTE1ODE0LCAxMTU4MjAsIDExNTgyNSwgMTE1ODMxLCAxMTU4MzcsIDExNTg0MywgMTE1ODQ4LCAKLSAgICAxMTU4NTQsIDExNTg2MCwgMTE1ODY1LCAxMTU4NzAsIDExNTg3NiwgMTE1ODgxLCAxMTU4ODcsIDExNTg5MywgMTE1ODk4LCAKLSAgICAxMTU5MDQsIDExNTkxMCwgMTE1OTE1LCAxMTU5MjEsIDExNTkyNywgMTE1OTMzLCAxMTU5MzksIDExNTk0NSwgMTE1OTUwLCAKLSAgICAxMTU5NTYsIDExNTk2MiwgMTE1OTY4LCAxMTU5NzMsIDExNTk3OSwgMTE1OTg1LCAxMTU5OTEsIDExNTk5NiwgMTE2MDAyLCAKLSAgICAxMTYwMDgsIDExNjAxMywgMTE2MDE4LCAxMTYwMjQsIDExNjAyOSwgMTE2MDM1LCAxMTYwNDEsIDExNjA0NiwgMTE2MDUyLCAKLSAgICAxMTYwNTgsIDExNjA2MywgMTE2MDY5LCAxMTYwNzUsIDExNjA4MSwgMTE2MDg3LCAxMTYwOTMsIDExNjA5NywgMCwgCi0gICAgMTE2MTAyLCAxMTYxMDcsIDExNjExMSwgMTE2MTE2LCAwLCAwLCAxMTYxMjEsIDExNjEyNiwgMTE2MTMxLCAxMTYxMzUsIAotICAgIDExNjEzOSwgMTE2MTQ0LCAxMTYxNDgsIDExNjE1MywgMCwgMTE2MTU4LCAxMTYxNjMsIDExNjE2OCwgMTE2MTcyLCAKLSAgICAxMTYxNzcsIDExNjE4MiwgMTE2MTg3LCAwLCAxMTYxOTIsIDExNjE5NiwgMTE2MjAxLCAxMTYyMDYsIDExNjIxMSwgCi0gICAgMTE2MjE1LCAxMTYyMjAsIDExNjIyNSwgMTE2MjMwLCAxMTYyMzQsIDExNjIzOSwgMTE2MjQ0LCAxMTYyNDgsIDExNjI1MiwgCi0gICAgMTE2MjU3LCAxMTYyNjEsIDExNjI2NiwgMTE2MjcxLCAxMTYyNzUsIDExNjI4MCwgMTE2Mjg1LCAxMTYyODksIDExNjI5NCwgCi0gICAgMTE2Mjk5LCAxMTYzMDQsIDExNjMwOSwgMTE2MzE0LCAxMTYzMTgsIDAsIDExNjMyMywgMTE2MzI4LCAxMTYzMzIsIAotICAgIDExNjMzNywgMCwgMTE2MzQyLCAxMTYzNDYsIDExNjM1MSwgMTE2MzU2LCAxMTYzNjAsIDAsIDExNjM2NCwgMCwgMCwgMCwgCi0gICAgMTE2MzY4LCAxMTYzNzMsIDExNjM3OCwgMTE2MzgyLCAxMTYzODcsIDExNjM5MiwgMTE2Mzk3LCAwLCAxMTY0MDIsIAotICAgIDExNjQwNiwgMTE2NDExLCAxMTY0MTYsIDExNjQyMSwgMTE2NDI1LCAxMTY0MzAsIDExNjQzNSwgMTE2NDQwLCAxMTY0NDQsIAotICAgIDExNjQ0OSwgMTE2NDU0LCAxMTY0NTgsIDExNjQ2MiwgMTE2NDY3LCAxMTY0NzEsIDExNjQ3NiwgMTE2NDgxLCAxMTY0ODUsIAotICAgIDExNjQ5MCwgMTE2NDk1LCAxMTY0OTksIDExNjUwNCwgMTE2NTA5LCAxMTY1MTQsIDExNjUxOSwgMTE2NTI0LCAxMTY1MjksIAotICAgIDExNjUzNSwgMTE2NTQxLCAxMTY1NDcsIDExNjU1MiwgMTE2NTU4LCAxMTY1NjQsIDExNjU3MCwgMTE2NTc1LCAxMTY1ODEsIAotICAgIDExNjU4NywgMTE2NTkyLCAxMTY1OTcsIDExNjYwMywgMTE2NjA4LCAxMTY2MTQsIDExNjYyMCwgMTE2NjI1LCAxMTY2MzEsIAotICAgIDExNjYzNywgMTE2NjQyLCAxMTY2NDgsIDExNjY1NCwgMTE2NjYwLCAxMTY2NjYsIDExNjY3MiwgMTE2Njc3LCAxMTY2ODMsIAotICAgIDExNjY4OSwgMTE2Njk1LCAxMTY3MDAsIDExNjcwNiwgMTE2NzEyLCAxMTY3MTgsIDExNjcyMywgMTE2NzI5LCAxMTY3MzUsIAotICAgIDExNjc0MCwgMTE2NzQ1LCAxMTY3NTEsIDExNjc1NiwgMTE2NzYyLCAxMTY3NjgsIDExNjc3MywgMTE2Nzc5LCAxMTY3ODUsIAotICAgIDExNjc5MCwgMTE2Nzk2LCAxMTY4MDIsIDExNjgwOCwgMTE2ODE0LCAxMTY4MjAsIDExNjgyNCwgMTE2ODI5LCAxMTY4MzQsIAotICAgIDExNjgzOSwgMTE2ODQzLCAxMTY4NDgsIDExNjg1MywgMTE2ODU4LCAxMTY4NjIsIDExNjg2NywgMTE2ODcyLCAxMTY4NzYsIAotICAgIDExNjg4MCwgMTE2ODg1LCAxMTY4ODksIDExNjg5NCwgMTE2ODk5LCAxMTY5MDMsIDExNjkwOCwgMTE2OTEzLCAxMTY5MTcsIAotICAgIDExNjkyMiwgMTE2OTI3LCAxMTY5MzIsIDExNjkzNywgMTE2OTQyLCAxMTY5NDYsIDExNjk1MSwgMTE2OTU2LCAxMTY5NjEsIAotICAgIDExNjk2NSwgMTE2OTcwLCAxMTY5NzUsIDExNjk4MCwgMTE2OTg0LCAxMTY5ODksIDExNjk5NCwgMTE2OTk4LCAxMTcwMDIsIAotICAgIDExNzAwNywgMTE3MDExLCAxMTcwMTYsIDExNzAyMSwgMTE3MDI1LCAxMTcwMzAsIDExNzAzNSwgMTE3MDM5LCAxMTcwNDQsIAotICAgIDExNzA0OSwgMTE3MDU0LCAxMTcwNTksIDExNzA2NCwgMTE3MDY5LCAxMTcwNzUsIDExNzA4MSwgMTE3MDg3LCAxMTcwOTIsIAotICAgIDExNzA5OCwgMTE3MTA0LCAxMTcxMTAsIDExNzExNSwgMTE3MTIxLCAxMTcxMjcsIDExNzEzMiwgMTE3MTM3LCAxMTcxNDMsIAotICAgIDExNzE0OCwgMTE3MTU0LCAxMTcxNjAsIDExNzE2NSwgMTE3MTcxLCAxMTcxNzcsIDExNzE4MiwgMTE3MTg4LCAxMTcxOTQsIAotICAgIDExNzIwMCwgMTE3MjA2LCAxMTcyMTIsIDExNzIxNywgMTE3MjIzLCAxMTcyMjksIDExNzIzNSwgMTE3MjQwLCAxMTcyNDYsIAotICAgIDExNzI1MiwgMTE3MjU4LCAxMTcyNjMsIDExNzI2OSwgMTE3Mjc1LCAxMTcyODAsIDExNzI4NSwgMTE3MjkxLCAxMTcyOTYsIAotICAgIDExNzMwMiwgMTE3MzA4LCAxMTczMTMsIDExNzMxOSwgMTE3MzI1LCAxMTczMzAsIDExNzMzNiwgMTE3MzQyLCAxMTczNDgsIAotICAgIDExNzM1NCwgMTE3MzYwLCAxMTczNjUsIDExNzM3MSwgMTE3Mzc3LCAxMTczODMsIDExNzM4OCwgMTE3Mzk0LCAxMTc0MDAsIAotICAgIDExNzQwNiwgMTE3NDExLCAxMTc0MTcsIDExNzQyMywgMTE3NDI4LCAxMTc0MzMsIDExNzQzOSwgMTE3NDQ0LCAxMTc0NTAsIAotICAgIDExNzQ1NiwgMTE3NDYxLCAxMTc0NjcsIDExNzQ3MywgMTE3NDc4LCAxMTc0ODQsIDExNzQ5MCwgMTE3NDk2LCAxMTc1MDIsIAotICAgIDExNzUwOCwgMTE3NTEzLCAxMTc1MTksIDExNzUyNSwgMTE3NTMxLCAxMTc1MzYsIDExNzU0MiwgMTE3NTQ4LCAxMTc1NTQsIAotICAgIDExNzU1OSwgMTE3NTY1LCAxMTc1NzEsIDExNzU3NiwgMTE3NTgxLCAxMTc1ODcsIDExNzU5MiwgMTE3NTk4LCAxMTc2MDQsIAotICAgIDExNzYwOSwgMTE3NjE1LCAxMTc2MjEsIDExNzYyNiwgMTE3NjMyLCAxMTc2MzgsIDExNzY0NCwgMTE3NjUwLCAxMTc2NTYsIAotICAgIDExNzY2MiwgMTE3NjY5LCAxMTc2NzYsIDExNzY4MywgMTE3Njg5LCAxMTc2OTYsIDExNzcwMywgMTE3NzEwLCAxMTc3MTYsIAotICAgIDExNzcyMywgMTE3NzMwLCAxMTc3MzYsIDExNzc0MiwgMTE3NzQ5LCAxMTc3NTUsIDExNzc2MiwgMTE3NzY5LCAxMTc3NzUsIAotICAgIDExNzc4MiwgMTE3Nzg5LCAxMTc3OTUsIDExNzgwMiwgMTE3ODA5LCAxMTc4MTYsIDExNzgyMywgMTE3ODMwLCAxMTc4MzYsIAotICAgIDExNzg0MywgMTE3ODUwLCAxMTc4NTcsIDExNzg2MywgMTE3ODcwLCAxMTc4NzcsIDExNzg4NCwgMTE3ODkwLCAxMTc4OTcsIAotICAgIDExNzkwNCwgMTE3OTEwLCAxMTc5MTYsIDExNzkyMywgMTE3OTI5LCAxMTc5MzYsIDExNzk0MywgMTE3OTQ5LCAxMTc5NTYsIAotICAgIDExNzk2MywgMTE3OTY5LCAxMTc5NzYsIDExNzk4MywgMTE3OTkwLCAxMTc5OTcsIDExODAwNCwgMTE4MDA5LCAxMTgwMTUsIAotICAgIDExODAyMSwgMTE4MDI3LCAxMTgwMzIsIDExODAzOCwgMTE4MDQ0LCAxMTgwNTAsIDExODA1NSwgMTE4MDYxLCAxMTgwNjcsIAotICAgIDExODA3MiwgMTE4MDc3LCAxMTgwODMsIDExODA4OCwgMTE4MDk0LCAxMTgxMDAsIDExODEwNSwgMTE4MTExLCAxMTgxMTcsIAotICAgIDExODEyMiwgMTE4MTI4LCAxMTgxMzQsIDExODE0MCwgMTE4MTQ2LCAxMTgxNTIsIDExODE1NywgMTE4MTYzLCAxMTgxNjksIAotICAgIDExODE3NSwgMTE4MTgwLCAxMTgxODYsIDExODE5MiwgMTE4MTk4LCAxMTgyMDMsIDExODIwOSwgMTE4MjE1LCAxMTgyMjAsIAotICAgIDExODIyNSwgMTE4MjMxLCAxMTgyMzYsIDExODI0MiwgMTE4MjQ4LCAxMTgyNTMsIDExODI1OSwgMTE4MjY1LCAxMTgyNzAsIAotICAgIDExODI3NiwgMTE4MjgyLCAxMTgyODgsIDExODI5NCwgMTE4MzAwLCAxMTgzMDYsIDAsIDAsIDExODMxMywgMTE4MzE4LCAKLSAgICAxMTgzMjMsIDExODMyOCwgMTE4MzMzLCAxMTgzMzgsIDExODM0MywgMTE4MzQ4LCAxMTgzNTMsIDExODM1OCwgMTE4MzYzLCAKLSAgICAxMTgzNjgsIDExODM3MywgMTE4Mzc4LCAxMTgzODMsIDExODM4OCwgMTE4MzkzLCAxMTgzOTgsIDExODQwNCwgMTE4NDA5LCAKLSAgICAxMTg0MTQsIDExODQxOSwgMTE4NDI0LCAxMTg0MjksIDExODQzNCwgMTE4NDM5LCAxMTg0NDMsIDExODQ0OCwgMTE4NDUzLCAKLSAgICAxMTg0NTgsIDExODQ2MywgMTE4NDY4LCAxMTg0NzMsIDExODQ3OCwgMTE4NDgzLCAxMTg0ODgsIDExODQ5MywgMTE4NDk4LCAKLSAgICAxMTg1MDMsIDExODUwOCwgMTE4NTEzLCAxMTg1MTgsIDExODUyMywgMTE4NTI4LCAxMTg1MzQsIDExODUzOSwgMTE4NTQ0LCAKLSAgICAxMTg1NDksIDExODU1NCwgMTE4NTU5LCAxMTg1NjQsIDExODU2OSwgMTE4NTc1LCAxMTg1ODAsIDExODU4NSwgMTE4NTkwLCAKLSAgICAxMTg1OTUsIDExODYwMCwgMTE4NjA1LCAxMTg2MTAsIDExODYxNSwgMTE4NjIwLCAxMTg2MjUsIDExODYzMCwgMTE4NjM1LCAKLSAgICAxMTg2NDAsIDExODY0NSwgMTE4NjUwLCAxMTg2NTUsIDExODY2MCwgMTE4NjY1LCAxMTg2NzAsIDExODY3NSwgMTE4NjgwLCAKLSAgICAxMTg2ODUsIDExODY5MCwgMTE4Njk2LCAxMTg3MDEsIDExODcwNiwgMTE4NzExLCAxMTg3MTYsIDExODcyMSwgMTE4NzI2LCAKLSAgICAxMTg3MzEsIDExODczNSwgMTE4NzQwLCAxMTg3NDUsIDExODc1MCwgMTE4NzU1LCAxMTg3NjAsIDExODc2NSwgMTE4NzcwLCAKLSAgICAxMTg3NzUsIDExODc4MCwgMTE4Nzg1LCAxMTg3OTAsIDExODc5NSwgMTE4ODAwLCAxMTg4MDUsIDExODgxMCwgMTE4ODE1LCAKLSAgICAxMTg4MjAsIDExODgyNiwgMTE4ODMxLCAxMTg4MzYsIDExODg0MSwgMTE4ODQ2LCAxMTg4NTEsIDExODg1NiwgMTE4ODYxLCAKLSAgICAxMTg4NjcsIDExODg3MiwgMTE4ODc3LCAxMTg4ODIsIDExODg4NywgMTE4ODkyLCAxMTg4OTcsIDExODkwMywgMTE4OTA5LCAKLSAgICAxMTg5MTUsIDExODkyMSwgMTE4OTI3LCAxMTg5MzMsIDExODkzOSwgMTE4OTQ1LCAxMTg5NTEsIDExODk1NywgMTE4OTYzLCAKLSAgICAxMTg5NjksIDExODk3NSwgMTE4OTgxLCAxMTg5ODcsIDExODk5MywgMTE4OTk5LCAxMTkwMDYsIDExOTAxMiwgMTE5MDE4LCAKLSAgICAxMTkwMjQsIDExOTAzMCwgMTE5MDM2LCAxMTkwNDIsIDExOTA0OCwgMTE5MDUzLCAxMTkwNTksIDExOTA2NSwgMTE5MDcxLCAKLSAgICAxMTkwNzcsIDExOTA4MywgMTE5MDg5LCAxMTkwOTUsIDExOTEwMSwgMTE5MTA3LCAxMTkxMTMsIDExOTExOSwgMTE5MTI1LCAKLSAgICAxMTkxMzEsIDExOTEzNywgMTE5MTQzLCAxMTkxNDksIDExOTE1NSwgMTE5MTYyLCAxMTkxNjgsIDExOTE3NCwgMTE5MTgwLCAKLSAgICAxMTkxODYsIDExOTE5MiwgMTE5MTk4LCAxMTkyMDQsIDExOTIxMSwgMTE5MjE3LCAxMTkyMjMsIDExOTIyOSwgMTE5MjM1LCAKLSAgICAxMTkyNDEsIDExOTI0NywgMTE5MjUzLCAxMTkyNTksIDExOTI2NSwgMTE5MjcxLCAxMTkyNzcsIDExOTI4MywgMTE5Mjg5LCAKLSAgICAxMTkyOTUsIDExOTMwMSwgMTE5MzA3LCAxMTkzMTMsIDExOTMxOSwgMTE5MzI1LCAxMTkzMzEsIDExOTMzNywgMTE5MzQzLCAKLSAgICAxMTkzNDksIDExOTM1NiwgMTE5MzYyLCAxMTkzNjgsIDExOTM3NCwgMTE5MzgwLCAxMTkzODYsIDExOTM5MiwgMTE5Mzk4LCAKLSAgICAxMTk0MDMsIDExOTQwOSwgMTE5NDE1LCAxMTk0MjEsIDExOTQyNywgMTE5NDMzLCAxMTk0MzksIDExOTQ0NSwgMTE5NDUxLCAKLSAgICAxMTk0NTcsIDExOTQ2MywgMTE5NDY5LCAxMTk0NzUsIDExOTQ4MSwgMTE5NDg3LCAxMTk0OTMsIDExOTQ5OSwgMTE5NTA1LCAKLSAgICAxMTk1MTIsIDExOTUxOCwgMTE5NTI0LCAxMTk1MzAsIDExOTUzNiwgMTE5NTQyLCAxMTk1NDgsIDExOTU1NCwgMTE5NTYxLCAKLSAgICAxMTk1NjcsIDExOTU3MywgMTE5NTc5LCAxMTk1ODUsIDExOTU5MSwgMTE5NTk3LCAxMTk2MDQsIDExOTYxMSwgMTE5NjE4LCAKLSAgICAxMTk2MjUsIDExOTYzMiwgMTE5NjM5LCAxMTk2NDYsIDExOTY1MywgMTE5NjYwLCAxMTk2NjcsIDExOTY3NCwgMTE5NjgxLCAKLSAgICAxMTk2ODgsIDExOTY5NSwgMTE5NzAyLCAxMTk3MDksIDExOTcxNiwgMTE5NzI0LCAxMTk3MzEsIDExOTczOCwgMTE5NzQ1LCAKLSAgICAxMTk3NTIsIDExOTc1OSwgMTE5NzY2LCAxMTk3NzMsIDExOTc3OSwgMTE5Nzg2LCAxMTk3OTMsIDExOTgwMCwgMTE5ODA3LCAKLSAgICAxMTk4MTQsIDExOTgyMSwgMTE5ODI4LCAxMTk4MzUsIDExOTg0MiwgMTE5ODQ5LCAxMTk4NTYsIDExOTg2MywgMTE5ODcwLCAKLSAgICAxMTk4NzcsIDExOTg4NCwgMTE5ODkxLCAxMTk4OTgsIDExOTkwNiwgMTE5OTEzLCAxMTk5MjAsIDExOTkyNywgMTE5OTM0LCAKLSAgICAxMTk5NDEsIDExOTk0OCwgMTE5OTU1LCAxMTk5NjMsIDExOTk3MCwgMTE5OTc3LCAxMTk5ODQsIDExOTk5MSwgMTE5OTk4LCAKLSAgICAxMjAwMDUsIDEyMDAxMCwgMCwgMCwgMTIwMDE1LCAxMjAwMjAsIDEyMDAyNCwgMTIwMDI4LCAxMjAwMzIsIDEyMDAzNiwgCi0gICAgMTIwMDQwLCAxMjAwNDQsIDEyMDA0OCwgMTIwMDUyLCAxMjAwNTYsIDEyMDA2MSwgMTIwMDY1LCAxMjAwNjksIDEyMDA3MywgCi0gICAgMTIwMDc3LCAxMjAwODEsIDEyMDA4NSwgMTIwMDg5LCAxMjAwOTMsIDEyMDA5NywgMTIwMTAyLCAxMjAxMDYsIDEyMDExMCwgCi0gICAgMTIwMTE0LCAxMjAxMTgsIDEyMDEyMiwgMTIwMTI2LCAxMjAxMzAsIDEyMDEzNCwgMTIwMTM4LCAxMjAxNDQsIDEyMDE0OSwgCi0gICAgMTIwMTU0LCAxMjAxNTksIDEyMDE2NCwgMTIwMTY5LCAxMjAxNzQsIDEyMDE3OSwgMTIwMTg0LCAxMjAxODksIDEyMDE5NSwgCi0gICAgMTIwMjAwLCAxMjAyMDUsIDEyMDIxMCwgMTIwMjE1LCAxMjAyMjAsIDEyMDIyNSwgMTIwMjMwLCAxMjAyMzUsIDEyMDI0MCwgCi0gICAgMTIwMjQ0LCAxMjAyNDgsIDEyMDI1MiwgMCwgMTIwMjU2LCAxMjAyNjAsIDEyMDI2NCwgMTIwMjY4LCAxMjAyNzIsIAotICAgIDEyMDI3NiwgMTIwMjgwLCAxMjAyODQsIDEyMDI4OCwgMTIwMjkyLCAxMjAyOTYsIDEyMDMwMCwgMTIwMzA0LCAxMjAzMDgsIAotICAgIDEyMDMxMiwgMTIwMzE2LCAxMjAzMjAsIDEyMDMyNCwgMTIwMzI4LCAxMjAzMzIsIDEyMDMzNiwgMTIwMzQwLCAxMjAzNDQsIAotICAgIDEyMDM0OCwgMTIwMzU0LCAxMjAzNjAsIDEyMDM2NiwgMCwgMTIwMzcyLCAxMjAzNzcsIDAsIDEyMDM4MiwgMCwgMCwgCi0gICAgMTIwMzg3LCAwLCAxMjAzOTIsIDEyMDM5NywgMTIwNDAyLCAxMjA0MDcsIDEyMDQxMiwgMTIwNDE3LCAxMjA0MjIsIAotICAgIDEyMDQyNywgMTIwNDMyLCAxMjA0MzcsIDAsIDEyMDQ0MiwgMTIwNDQ3LCAxMjA0NTIsIDEyMDQ1NywgMCwgMTIwNDYyLCAwLCAKLSAgICAxMjA0NjcsIDAsIDAsIDAsIDAsIDAsIDAsIDEyMDQ3MiwgMCwgMCwgMCwgMCwgMTIwNDc4LCAwLCAxMjA0ODQsIDAsIAotICAgIDEyMDQ5MCwgMCwgMTIwNDk2LCAxMjA1MDIsIDEyMDUwOCwgMCwgMTIwNTE0LCAxMjA1MjAsIDAsIDEyMDUyNiwgMCwgMCwgCi0gICAgMTIwNTMyLCAwLCAxMjA1MzgsIDAsIDEyMDU0NCwgMCwgMTIwNTUwLCAwLCAxMjA1NTgsIDAsIDEyMDU2NiwgMTIwNTcyLCAwLCAKLSAgICAxMjA1NzgsIDAsIDAsIDEyMDU4NCwgMTIwNTkwLCAxMjA1OTYsIDEyMDYwMiwgMCwgMTIwNjA4LCAxMjA2MTQsIDEyMDYyMCwgCi0gICAgMTIwNjI2LCAxMjA2MzIsIDEyMDYzOCwgMTIwNjQ0LCAwLCAxMjA2NTAsIDEyMDY1NiwgMTIwNjYyLCAxMjA2NjgsIDAsIAotICAgIDEyMDY3NCwgMTIwNjgwLCAxMjA2ODYsIDEyMDY5MiwgMCwgMTIwNzAwLCAwLCAxMjA3MDgsIDEyMDcxNCwgMTIwNzIwLCAKLSAgICAxMjA3MjYsIDEyMDczMiwgMTIwNzM4LCAxMjA3NDQsIDEyMDc1MCwgMTIwNzU2LCAxMjA3NjIsIDAsIDEyMDc2OCwgCi0gICAgMTIwNzc0LCAxMjA3ODAsIDEyMDc4NiwgMTIwNzkyLCAxMjA3OTgsIDEyMDgwNCwgMTIwODEwLCAxMjA4MTYsIDEyMDgyMiwgCi0gICAgMTIwODI4LCAxMjA4MzQsIDEyMDg0MCwgMTIwODQ2LCAxMjA4NTIsIDEyMDg1OCwgMTIwODY0LCAwLCAwLCAwLCAwLCAwLCAKLSAgICAxMjA4NzAsIDEyMDg3NSwgMTIwODgwLCAwLCAxMjA4ODUsIDEyMDg5MCwgMTIwODk1LCAxMjA5MDAsIDEyMDkwNSwgMCwgCi0gICAgMTIwOTEwLCAxMjA5MTUsIDEyMDkyMCwgMTIwOTI1LCAxMjA5MzAsIDEyMDkzNSwgMTIwOTQwLCAxMjA5NDUsIDEyMDk1MCwgCi0gICAgMTIwOTU1LCAxMjA5NjAsIDEyMDk2NSwgMTIwOTcwLCAxMjA5NzUsIDEyMDk4MCwgMTIwOTg1LCAxMjA5OTAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDEyMDk5NSwgMTIxMDA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMjEwMTMsIAotICAgIDEyMTAyMCwgMTIxMDI3LCAxMjEwMzQsIDEyMTA0MSwgMTIxMDQ4LCAxMjEwNTUsIDEyMTA2MSwgMTIxMDY4LCAxMjEwNzUsIAotICAgIDEyMTA4MiwgMTIxMDkwLCAxMjEwOTgsIDEyMTEwNiwgMTIxMTE0LCAxMjExMjIsIDEyMTEzMCwgMTIxMTM3LCAxMjExNDQsIAotICAgIDEyMTE1MSwgMTIxMTU5LCAxMjExNjcsIDEyMTE3NSwgMTIxMTgzLCAxMjExOTEsIDEyMTE5OSwgMTIxMjA2LCAxMjEyMTMsIAotICAgIDEyMTIyMCwgMTIxMjI4LCAxMjEyMzYsIDEyMTI0NCwgMTIxMjUyLCAxMjEyNjAsIDEyMTI2OCwgMTIxMjczLCAxMjEyNzgsIAotICAgIDEyMTI4MywgMTIxMjg4LCAxMjEyOTMsIDEyMTI5OCwgMTIxMzAzLCAxMjEzMDgsIDEyMTMxMywgMCwgMCwgMCwgMCwgCi0gICAgMTIxMzE4LCAxMjEzMjMsIDEyMTMyNywgMTIxMzMxLCAxMjEzMzUsIDEyMTMzOSwgMTIxMzQzLCAxMjEzNDcsIDEyMTM1MSwgCi0gICAgMTIxMzU1LCAxMjEzNTksIDEyMTM2MywgMTIxMzY3LCAxMjEzNzEsIDEyMTM3NSwgMTIxMzc5LCAxMjEzODMsIDEyMTM4NywgCi0gICAgMTIxMzkxLCAxMjEzOTUsIDEyMTM5OSwgMTIxNDAzLCAxMjE0MDcsIDEyMTQxMSwgMTIxNDE1LCAxMjE0MTksIDEyMTQyMywgCi0gICAgMTIxNDI3LCAxMjE0MzEsIDEyMTQzNSwgMTIxNDM5LCAxMjE0NDMsIDEyMTQ0NywgMTIxNDUxLCAxMjE0NTUsIDEyMTQ1OSwgCi0gICAgMTIxNDYzLCAxMjE0NjcsIDEyMTQ3MSwgMTIxNDc1LCAxMjE0NzksIDEyMTQ4MywgMTIxNDg3LCAxMjE0OTEsIDEyMTQ5NSwgCi0gICAgMTIxNDk5LCAxMjE1MDMsIDEyMTUwNywgMTIxNTExLCAxMjE1MTUsIDEyMTUxOSwgMTIxNTI0LCAxMjE1MjgsIDEyMTUzMiwgCi0gICAgMTIxNTM2LCAxMjE1NDAsIDEyMTU0NCwgMTIxNTQ4LCAxMjE1NTIsIDEyMTU1NiwgMTIxNTYwLCAxMjE1NjQsIDEyMTU2OCwgCi0gICAgMTIxNTcyLCAxMjE1NzYsIDEyMTU4MCwgMTIxNTg0LCAxMjE1ODgsIDEyMTU5MiwgMTIxNTk2LCAxMjE2MDAsIDEyMTYwNCwgCi0gICAgMTIxNjA4LCAxMjE2MTIsIDEyMTYxNiwgMTIxNjIwLCAxMjE2MjQsIDEyMTYyOCwgMTIxNjMyLCAxMjE2MzYsIDEyMTY0MCwgCi0gICAgMTIxNjQ0LCAxMjE2NDgsIDEyMTY1MiwgMTIxNjU2LCAxMjE2NjAsIDEyMTY2NCwgMTIxNjY4LCAxMjE2NzIsIDEyMTY3NiwgCi0gICAgMTIxNjgwLCAxMjE2ODQsIDEyMTY4OCwgMTIxNjkyLCAxMjE2OTYsIDEyMTcwMCwgMTIxNzA0LCAxMjE3MDgsIDEyMTcxMiwgCi0gICAgMTIxNzE2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMjE3MjAsIDEyMTcyNiwgMTIxNzM1LCAKLSAgICAxMjE3NDMsIDEyMTc1MSwgMTIxNzYwLCAxMjE3NjksIDEyMTc3OCwgMTIxNzg3LCAxMjE3OTYsIDEyMTgwNSwgMTIxODE0LCAKLSAgICAxMjE4MjMsIDEyMTgzMiwgMTIxODQxLCAwLCAwLCAxMjE4NTAsIDEyMTg1OSwgMTIxODY3LCAxMjE4NzUsIDEyMTg4NCwgCi0gICAgMTIxODkzLCAxMjE5MDIsIDEyMTkxMSwgMTIxOTIwLCAxMjE5MjksIDEyMTkzOCwgMTIxOTQ3LCAxMjE5NTYsIDEyMTk2NSwgCi0gICAgMCwgMCwgMTIxOTc0LCAxMjE5ODMsIDEyMTk5MSwgMTIxOTk5LCAxMjIwMDgsIDEyMjAxNywgMTIyMDI2LCAxMjIwMzUsIAotICAgIDEyMjA0NCwgMTIyMDUzLCAxMjIwNjIsIDEyMjA3MSwgMTIyMDgwLCAxMjIwODksIDEyMjA5OCwgMCwgMTIyMTA1LCAKLSAgICAxMjIxMTQsIDEyMjEyMiwgMTIyMTMwLCAxMjIxMzksIDEyMjE0OCwgMTIyMTU3LCAxMjIxNjYsIDEyMjE3NSwgMTIyMTg0LCAKLSAgICAxMjIxOTMsIDEyMjIwMiwgMTIyMjExLCAxMjIyMjAsIDEyMjIyOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTIyMjM2LCAKLSAgICAxMjIyNDMsIDEyMjI0OCwgMTIyMjUyLCAxMjIyNTYsIDEyMjI2MCwgMTIyMjY1LCAxMjIyNzAsIDEyMjI3NSwgMTIyMjgwLCAKLSAgICAxMjIyODUsIDAsIDAsIDAsIDAsIDAsIDEyMjI5MCwgMTIyMjk1LCAxMjIzMDEsIDEyMjMwNywgMTIyMzEzLCAxMjIzMTgsIAotICAgIDEyMjMyNCwgMTIyMzMwLCAxMjIzMzYsIDEyMjM0MSwgMTIyMzQ3LCAxMjIzNTMsIDEyMjM1OCwgMTIyMzYzLCAxMjIzNjksIAotICAgIDEyMjM3NCwgMTIyMzgwLCAxMjIzODYsIDEyMjM5MSwgMTIyMzk3LCAxMjI0MDMsIDEyMjQwOCwgMTIyNDE0LCAxMjI0MjAsIAotICAgIDEyMjQyNiwgMTIyNDMyLCAxMjI0MzgsIDEyMjQ0OSwgMTIyNDU2LCAxMjI0NjIsIDEyMjQ2NSwgMCwgMTIyNDY4LCAKLSAgICAxMjI0NzMsIDEyMjQ3OSwgMTIyNDg1LCAxMjI0OTEsIDEyMjQ5NiwgMTIyNTAyLCAxMjI1MDgsIDEyMjUxNCwgMTIyNTE5LCAKLSAgICAxMjI1MjUsIDEyMjUzMSwgMTIyNTM2LCAxMjI1NDEsIDEyMjU0NywgMTIyNTUyLCAxMjI1NTgsIDEyMjU2NCwgMTIyNTY5LCAKLSAgICAxMjI1NzUsIDEyMjU4MSwgMTIyNTg2LCAxMjI1OTIsIDEyMjU5OCwgMTIyNjA0LCAxMjI2MTAsIDEyMjYxNiwgMTIyNjE5LCAKLSAgICAxMjI2MjIsIDEyMjYyNSwgMTIyNjI4LCAxMjI2MzEsIDEyMjYzNCwgMTIyNjQwLCAxMjI2NDcsIDEyMjY1NCwgMTIyNjYxLCAKLSAgICAxMjI2NjcsIDEyMjY3NCwgMTIyNjgxLCAxMjI2ODgsIDEyMjY5NCwgMTIyNzAxLCAxMjI3MDgsIDEyMjcxNCwgMTIyNzIwLCAKLSAgICAxMjI3MjcsIDEyMjczMywgMTIyNzQwLCAxMjI3NDcsIDEyMjc1MywgMTIyNzYwLCAxMjI3NjcsIDEyMjc3MywgMTIyNzgwLCAKLSAgICAxMjI3ODcsIDEyMjc5NCwgMTIyODAxLCAxMjI4MDgsIDEyMjgxMywgMCwgMCwgMCwgMCwgMTIyODE4LCAxMjI4MjQsIAotICAgIDEyMjgzMSwgMTIyODM4LCAxMjI4NDUsIDEyMjg1MSwgMTIyODU4LCAxMjI4NjUsIDEyMjg3MiwgMTIyODc4LCAxMjI4ODUsIAotICAgIDEyMjg5MiwgMTIyODk4LCAxMjI5MDQsIDEyMjkxMSwgMTIyOTE3LCAxMjI5MjQsIDEyMjkzMSwgMTIyOTM3LCAxMjI5NDQsIAotICAgIDEyMjk1MSwgMTIyOTU3LCAxMjI5NjQsIDEyMjk3MSwgMTIyOTc4LCAxMjI5ODUsIDEyMjk5MiwgMTIzMDAxLCAxMjMwMDUsIAotICAgIDEyMzAwOCwgMTIzMDExLCAxMjMwMTUsIDEyMzAxOSwgMTIzMDIyLCAxMjMwMjUsIDEyMzAyOCwgMTIzMDMxLCAxMjMwMzQsIAotICAgIDEyMzAzNywgMTIzMDQwLCAxMjMwNDMsIDEyMzA0NiwgMTIzMDUyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMjMwNTUsIDEyMzA2MiwgMTIzMDcwLCAKLSAgICAxMjMwNzgsIDEyMzA4NiwgMTIzMDkzLCAxMjMxMDEsIDEyMzEwOSwgMTIzMTE3LCAxMjMxMjQsIDEyMzEzMiwgMTIzMTQwLCAKLSAgICAxMjMxNDcsIDEyMzE1NCwgMTIzMTYyLCAxMjMxNjksIDEyMzE3NywgMTIzMTg1LCAxMjMxOTIsIDEyMzIwMCwgMTIzMjA4LCAKLSAgICAxMjMyMTUsIDEyMzIyMywgMTIzMjMxLCAxMjMyMzksIDEyMzI0NywgMTIzMjU1LCAxMjMyNTksIDEyMzI2MywgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTIzMjY2LCAxMjMyNzIsIDEyMzI3OCwgMTIzMjg0LCAxMjMyODgsIAotICAgIDEyMzI5NCwgMTIzMzAwLCAxMjMzMDYsIDEyMzMxMiwgMTIzMzE4LCAxMjMzMjQsIDEyMzMzMCwgMTIzMzM2LCAxMjMzNDIsIAotICAgIDEyMzM0OCwgMTIzMzU0LCAxMjMzNjAsIDEyMzM2NiwgMTIzMzcyLCAxMjMzNzgsIDEyMzM4NCwgMTIzMzkwLCAxMjMzOTYsIAotICAgIDEyMzQwMiwgMTIzNDA4LCAxMjM0MTQsIDEyMzQyMCwgMTIzNDI2LCAxMjM0MzIsIDEyMzQzOCwgMTIzNDQ0LCAxMjM0NTAsIAotICAgIDEyMzQ1NiwgMTIzNDYyLCAxMjM0NjgsIDEyMzQ3NCwgMTIzNDgwLCAxMjM0ODYsIDEyMzQ5MiwgMTIzNDk4LCAxMjM1MDQsIAotICAgIDEyMzUxMCwgMTIzNTE2LCAwLCAwLCAwLCAwLCAwLCAxMjM1MjIsIDEyMzUzMywgMTIzNTQ0LCAxMjM1NTUsIDEyMzU2NiwgCi0gICAgMTIzNTc3LCAxMjM1ODgsIDEyMzU5OSwgMTIzNjEwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMjM2MjEsIDEyMzYyNSwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTIzNjI5LCAKLSAgICAxMjM2MzEsIDEyMzYzMywgMTIzNjM3LCAxMjM2NDIsIDEyMzY0NywgMTIzNjQ5LCAxMjM2NTUsIDEyMzY2MCwgMTIzNjYyLCAKLSAgICAxMjM2NjgsIDEyMzY3MiwgMTIzNjc0LCAxMjM2NzgsIDEyMzY4NCwgMTIzNjkwLCAxMjM2OTYsIDEyMzcwMSwgMTIzNzA1LCAKLSAgICAxMjM3MTIsIDEyMzcxOSwgMTIzNzI2LCAxMjM3MzEsIDEyMzczOCwgMTIzNzQ1LCAxMjM3NTIsIDEyMzc1NiwgMTIzNzYyLCAKLSAgICAxMjM3NzEsIDEyMzc4MCwgMTIzNzg3LCAxMjM3OTIsIDEyMzc5NiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMTIzODAwLCAxMjM4MDIsIDEyMzgwNCwgMTIzODA4LCAxMjM4MTIsIDEyMzgxNiwgMCwgMTIzODE4LCAKLSAgICAxMjM4MjAsIDEyMzgyNCwgMTIzODI2LCAxMjM4MjgsIDEyMzgzMCwgMTIzODMyLCAxMjM4MzcsIDEyMzg0MiwgMTIzODQ0LCAKLSAgICAxMjM4NTAsIDEyMzg1NCwgMTIzODU4LCAxMjM4NjYsIDEyMzg2OCwgMTIzODcwLCAxMjM4NzIsIDEyMzg3NCwgMTIzODc2LCAKLSAgICAxMjM4NzgsIDEyMzg4MCwgMTIzODgyLCAxMjM4ODQsIDEyMzg4NiwgMTIzODkwLCAxMjM4OTQsIDEyMzg5NiwgMTIzODk4LCAKLSAgICAxMjM5MDAsIDEyMzkwMiwgMTIzOTA0LCAxMjM5MDksIDEyMzkxNSwgMTIzOTE5LCAxMjM5MjMsIDEyMzkyNywgMTIzOTMxLCAKLSAgICAxMjM5MzYsIDEyMzk0MCwgMTIzOTQyLCAxMjM5NDQsIDEyMzk0OCwgMTIzOTU0LCAxMjM5NTYsIDEyMzk1OCwgMTIzOTYwLCAKLSAgICAxMjM5NjQsIDEyMzk3MywgMTIzOTc5LCAxMjM5ODMsIDEyMzk4NywgMTIzOTg5LCAxMjM5OTEsIDEyMzk5NCwgMTIzOTk2LCAKLSAgICAxMjM5OTgsIDEyNDAwMCwgMTI0MDA0LCAxMjQwMDYsIDEyNDAxMCwgMTI0MDE1LCAxMjQwMTcsIDEyNDAyMiwgMTI0MDI4LCAKLSAgICAxMjQwMzUsIDEyNDAzOSwgMTI0MDQzLCAxMjQwNDcsIDEyNDA1MSwgMTI0MDU3LCAwLCAwLCAwLCAxMjQwNjEsIDEyNDA2MywgCi0gICAgMTI0MDY3LCAxMjQwNzEsIDEyNDA3MywgMTI0MDc3LCAxMjQwODEsIDEyNDA4MywgMTI0MDg3LCAxMjQwODksIDEyNDA5MywgCi0gICAgMTI0MDk3LCAxMjQxMDEsIDEyNDEwNSwgMTI0MTA5LCAxMjQxMTMsIDEyNDExNywgMTI0MTIxLCAxMjQxMjcsIDEyNDEzMSwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTI0MTM1LCAxMjQxMzksIDEyNDE0MywgMTI0MTQ3LCAKLSAgICAxMjQxNTQsIDEyNDE1NiwgMTI0MTYwLCAxMjQxNjIsIDEyNDE2NCwgMTI0MTY4LCAxMjQxNzIsIDEyNDE3NiwgMTI0MTc4LCAKLSAgICAxMjQxODIsIDEyNDE4NiwgMTI0MTkwLCAxMjQxOTQsIDEyNDE5OCwgMTI0MjAwLCAxMjQyMDQsIDEyNDIwNiwgMTI0MjEyLCAKLSAgICAxMjQyMTUsIDEyNDIyMCwgMTI0MjIyLCAxMjQyMjQsIDEyNDIyNywgMTI0MjI5LCAxMjQyMzEsIDEyNDIzNCwgMTI0MjQxLCAKLSAgICAxMjQyNDgsIDEyNDI1NSwgMTI0MjYwLCAxMjQyNjQsIDEyNDI2NiwgMTI0MjY4LCAwLCAxMjQyNzAsIDEyNDI3MiwgCi0gICAgMTI0Mjc2LCAxMjQyODAsIDEyNDI4NCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMTI0Mjg2LCAxMjQyOTAsIDEyNDI5NSwgMTI0Mjk5LCAxMjQzMDUsIDEyNDMxMSwgMTI0MzEzLCAKLSAgICAxMjQzMTUsIDEyNDMyMSwgMTI0MzIzLCAxMjQzMjcsIDEyNDMzMSwgMTI0MzMzLCAxMjQzMzcsIDEyNDMzOSwgMTI0MzQzLCAKLSAgICAxMjQzNDcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEyNDM1MSwgMTI0MzUzLCAKLSAgICAxMjQzNTUsIDEyNDM1NywgMTI0MzYxLCAxMjQzNjMsIDEyNDM2NSwgMTI0MzY3LCAxMjQzNjksIDEyNDM3MSwgMTI0MzczLCAKLSAgICAxMjQzNzUsIDEyNDM3NywgMTI0Mzc5LCAxMjQzODEsIDEyNDM4MywgMTI0Mzg1LCAxMjQzODcsIDEyNDM4OSwgMTI0MzkxLCAKLSAgICAxMjQzOTMsIDEyNDM5NSwgMTI0Mzk3LCAxMjQzOTksIDEyNDQwMSwgMTI0NDAzLCAxMjQ0MDUsIDEyNDQwOSwgMTI0NDExLCAKLSAgICAxMjQ0MTMsIDEyNDQxNSwgMTI0NDE5LCAxMjQ0MjEsIDEyNDQyNSwgMTI0NDI3LCAxMjQ0MjksIDEyNDQzMywgMTI0NDM3LCAKLSAgICAxMjQ0NDMsIDEyNDQ0NSwgMTI0NDQ3LCAxMjQ0NDksIDEyNDQ1MSwgMTI0NDU1LCAxMjQ0NTksIDEyNDQ2MSwgMTI0NDY1LCAKLSAgICAxMjQ0NjksIDEyNDQ3MywgMTI0NDc3LCAxMjQ0ODEsIDEyNDQ4NSwgMTI0NDg5LCAxMjQ0OTMsIDEyNDQ5NywgMTI0NTAxLCAKLSAgICAxMjQ1MDUsIDEyNDUwOSwgMTI0NTEzLCAxMjQ1MTcsIDEyNDUyMSwgMTI0NTI1LCAxMjQ1MjksIDAsIDEyNDUzMywgMCwgCi0gICAgMTI0NTM1LCAxMjQ1MzcsIDEyNDUzOSwgMTI0NTQxLCAxMjQ1NDMsIDEyNDU1MSwgMTI0NTU5LCAxMjQ1NjcsIDEyNDU3NSwgCi0gICAgMTI0NTgwLCAxMjQ1ODUsIDEyNDU5MCwgMTI0NTk0LCAxMjQ1OTgsIDEyNDYwMywgMTI0NjA3LCAxMjQ2MDksIDEyNDYxMywgCi0gICAgMTI0NjE1LCAxMjQ2MTcsIDEyNDYxOSwgMTI0NjIxLCAxMjQ2MjMsIDEyNDYyNSwgMTI0NjI3LCAxMjQ2MzEsIDEyNDYzMywgCi0gICAgMTI0NjM1LCAxMjQ2MzcsIDEyNDY0MSwgMTI0NjQ1LCAxMjQ2NDksIDEyNDY1MywgMTI0NjU3LCAxMjQ2NTksIDEyNDY2NSwgCi0gICAgMTI0NjcxLCAxMjQ2NzMsIDEyNDY3NSwgMTI0Njc3LCAxMjQ2NzksIDEyNDY4MSwgMTI0NjkwLCAxMjQ2OTcsIDEyNDcwNCwgCi0gICAgMTI0NzA4LCAxMjQ3MTUsIDEyNDcyMCwgMTI0NzI3LCAxMjQ3MzYsIDEyNDc0MSwgMTI0NzQ1LCAxMjQ3NDksIDEyNDc1MSwgCi0gICAgMTI0NzU1LCAxMjQ3NTcsIDEyNDc2MSwgMTI0NzY1LCAxMjQ3NjcsIDEyNDc3MSwgMTI0Nzc1LCAxMjQ3NzksIDEyNDc4MSwgCi0gICAgMTI0NzgzLCAxMjQ3ODksIDEyNDc5MSwgMTI0NzkzLCAxMjQ3OTUsIDEyNDc5OSwgMTI0ODAzLCAxMjQ4MDUsIDEyNDgwOSwgCi0gICAgMTI0ODExLCAxMjQ4MTMsIDEyNDgxNiwgMTI0ODIwLCAxMjQ4MjIsIDEyNDgyNiwgMTI0ODI4LCAxMjQ4MzAsIDEyNDgzNSwgCi0gICAgMTI0ODM3LCAxMjQ4NDEsIDEyNDg0NSwgMTI0ODQ4LCAxMjQ4NTIsIDEyNDg1NiwgMTI0ODYwLCAxMjQ4NjQsIDEyNDg2OCwgCi0gICAgMTI0ODcyLCAxMjQ4NzYsIDEyNDg4MSwgMTI0ODg1LCAxMjQ4ODksIDEyNDg5OCwgMTI0OTAzLCAxMjQ5MDYsIDEyNDkwOCwgCi0gICAgMTI0OTExLCAxMjQ5MTQsIDEyNDkxOSwgMTI0OTIxLCAxMjQ5MjQsIDEyNDkyOSwgMTI0OTMzLCAxMjQ5MzYsIDEyNDk0MCwgCi0gICAgMTI0OTQ0LCAxMjQ5NDcsIDEyNDk1MiwgMTI0OTU2LCAxMjQ5NjAsIDEyNDk2NCwgMTI0OTY4LCAxMjQ5NzQsIDEyNDk4MCwgCi0gICAgMTI0OTg2LCAxMjQ5OTIsIDEyNDk5NywgMTI1MDA4LCAxMjUwMTAsIDEyNTAxNCwgMTI1MDE2LCAxMjUwMTgsIDEyNTAyMiwgCi0gICAgMTI1MDI2LCAxMjUwMjgsIDEyNTAzMiwgMTI1MDM3LCAxMjUwNDIsIDEyNTA0OCwgMTI1MDUwLCAxMjUwNTQsIDEyNTA1OCwgCi0gICAgMTI1MDY1LCAxMjUwNzIsIDEyNTA3NiwgMTI1MDc4LCAxMjUwODAsIDEyNTA4NCwgMTI1MDg2LCAxMjUwOTAsIDEyNTA5NCwgCi0gICAgMTI1MDk4LCAxMjUxMDAsIDEyNTEwMiwgMTI1MTA5LCAxMjUxMTMsIDEyNTExNiwgMTI1MTIwLCAxMjUxMjQsIDEyNTEyOCwgCi0gICAgMTI1MTMwLCAxMjUxMzQsIDEyNTEzNiwgMTI1MTM4LCAxMjUxNDIsIDEyNTE0NCwgMTI1MTQ4LCAxMjUxNTIsIDEyNTE1OCwgCi0gICAgMTI1MTYyLCAxMjUxNjYsIDEyNTE3MCwgMTI1MTcyLCAxMjUxNzUsIDEyNTE3OSwgMTI1MTg2LCAxMjUxOTUsIDEyNTIwNCwgCi0gICAgMTI1MjEyLCAxMjUyMjAsIDEyNTIyMiwgMTI1MjI2LCAxMjUyMjgsIDEyNTIzMiwgMTI1MjQzLCAxMjUyNDcsIDEyNTI1MywgCi0gICAgMTI1MjU5LCAxMjUyNjQsIDAsIDEyNTI2NiwgMTI1MjcwLCAxMjUyNzIsIDEyNTI3NCwgMCwgMCwgMCwgMTI1Mjc2LCAKLSAgICAxMjUyODEsIDEyNTI5MSwgMTI1MzA2LCAxMjUzMTgsIDEyNTMzMCwgMTI1MzM0LCAxMjUzMzgsIDEyNTM0NCwgMTI1MzQ2LCAKLSAgICAxMjUzNTQsIDEyNTM2MiwgMTI1MzY0LCAxMjUzNjgsIDEyNTM3NCwgMTI1MzgwLCAxMjUzODcsIDEyNTM5NCwgMTI1Mzk2LCAKLSAgICAxMjUzOTgsIDEyNTQwMSwgMTI1NDAzLCAxMjU0MDksIDEyNTQxMSwgMTI1NDE0LCAxMjU0MTgsIDEyNTQyNCwgMTI1NDMwLCAKLSAgICAxMjU0NDEsIDEyNTQ0NywgMTI1NDU0LCAxMjU0NjIsIDEyNTQ2NiwgMTI1NDc0LCAxMjU0ODIsIDEyNTQ4OCwgMTI1NDk0LCAKLSAgICAxMjU1MDEsIDEyNTUwMywgMTI1NTA3LCAxMjU1MDksIDEyNTUxMSwgMTI1NTE2LCAxMjU1MTgsIDEyNTUyMCwgMTI1NTIyLCAKLSAgICAxMjU1MjQsIDEyNTUyOCwgMTI1NTM5LCAxMjU1NDUsIDEyNTU0OSwgMTI1NTUzLCAxMjU1NTcsIDEyNTU2MywgMTI1NTY5LCAKLSAgICAxMjU1NzUsIDEyNTU4MSwgMTI1NTg2LCAxMjU1OTEsIDEyNTU5NywgMTI1NjAzLCAxMjU2MTAsIDAsIDAsIDEyNTYxNywgCi0gICAgMTI1NjIyLCAxMjU2MzAsIDEyNTYzNCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTI1NjQzLCAKLSAgICAxMjU2NTAsIDEyNTY1NywgMTI1NjY0LCAxMjU2NzIsIDEyNTY4MCwgMTI1Njg4LCAxMjU2OTYsIDEyNTcwNCwgMTI1NzEyLCAKLSAgICAxMjU3MjAsIDEyNTcyOCwgMTI1NzM2LCAxMjU3NDIsIDEyNTc0OCwgMTI1NzU0LCAxMjU3NjAsIDEyNTc2NiwgMTI1NzcyLCAKLSAgICAxMjU3NzgsIDEyNTc4NCwgMTI1NzkwLCAxMjU3OTYsIDEyNTgwMiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOTUxNjgsIDk1MTczLCA5NTE3OCwgOTUxODMsIDk1MTg4LCAKKyAgICA5NTE5MywgOTUxOTgsIDk1MjAzLCA5NTIwOCwgOTUyMTMsIDk1MjE4LCA5NTIyMywgOTUyMjgsIDk1MjMzLCA5NTIzOCwgCisgICAgOTUyNDMsIDk1MjQ4LCA5NTI1MywgOTUyNTgsIDk1MjYzLCA5NTI2OCwgOTUyNzMsIDk1Mjc4LCA5NTI4MywgOTUyODgsIAorICAgIDk1MjkzLCA5NTI5OCwgOTUzMDMsIDk1MzA4LCA5NTMxMywgOTUzMTgsIDk1MzIzLCA5NTMyOCwgOTUzMzMsIDk1MzM4LCAKKyAgICA5NTM0MywgOTUzNDgsIDk1MzUzLCA5NTM1OCwgOTUzNjMsIDk1MzY4LCA5NTM3MywgOTUzNzgsIDk1MzgzLCA5NTM4OCwgCisgICAgOTUzOTMsIDk1Mzk4LCA5NTQwMywgOTU0MDgsIDk1NDEzLCA5NTQxOCwgOTU0MjMsIDk1NDI4LCA5NTQzMywgOTU0MzgsIAorICAgIDk1NDQzLCA5NTQ0OCwgOTU0NTMsIDk1NDU4LCA5NTQ2MywgOTU0NjgsIDk1NDczLCA5NTQ3OCwgOTU0ODMsIDk1NDg4LCAKKyAgICA5NTQ5MywgOTU0OTgsIDk1NTAzLCA5NTUwOCwgOTU1MTMsIDk1NTE4LCA5NTUyMywgOTU1MjgsIDk1NTMzLCA5NTUzOCwgCisgICAgOTU1NDMsIDk1NTQ4LCA5NTU1MywgOTU1NTgsIDk1NTYzLCA5NTU2OCwgOTU1NzMsIDk1NTc4LCA5NTU4MywgOTU1ODgsIAorICAgIDk1NTkzLCA5NTU5OCwgOTU2MDMsIDk1NjA4LCA5NTYxMywgOTU2MTgsIDk1NjIzLCA5NTYyOCwgOTU2MzMsIDk1NjM4LCAKKyAgICA5NTY0MywgOTU2NDgsIDk1NjUzLCA5NTY1OCwgOTU2NjMsIDk1NjY4LCA5NTY3MywgOTU2NzgsIDk1NjgzLCA5NTY4OCwgCisgICAgOTU2OTMsIDk1Njk4LCA5NTcwMywgOTU3MDgsIDk1NzEzLCA5NTcxOCwgOTU3MjMsIDk1NzI4LCA5NTczMywgOTU3MzgsIAorICAgIDk1NzQzLCA5NTc0OCwgOTU3NTMsIDk1NzU4LCA5NTc2MywgOTU3NjgsIDk1NzczLCA5NTc3OCwgOTU3ODMsIDk1Nzg4LCAKKyAgICA5NTc5MywgOTU3OTgsIDk1ODAzLCA5NTgwOCwgOTU4MTMsIDk1ODE4LCA5NTgyMywgOTU4MjgsIDk1ODMzLCA5NTgzOCwgCisgICAgOTU4NDMsIDk1ODQ4LCA5NTg1MywgOTU4NTgsIDk1ODYzLCA5NTg2OCwgOTU4NzMsIDk1ODc4LCA5NTg4MywgOTU4ODgsIAorICAgIDk1ODkzLCA5NTg5OCwgOTU5MDMsIDk1OTA4LCA5NTkxMywgOTU5MTgsIDk1OTIzLCA5NTkyOCwgOTU5MzMsIDk1OTM4LCAKKyAgICA5NTk0MywgOTU5NDgsIDk1OTUzLCA5NTk1OCwgOTU5NjMsIDk1OTY4LCA5NTk3MywgOTU5NzgsIDk1OTgzLCA5NTk4OCwgCisgICAgOTU5OTMsIDk1OTk4LCA5NjAwMywgOTYwMDgsIDk2MDEzLCA5NjAxOCwgOTYwMjMsIDk2MDI4LCA5NjAzMywgOTYwMzgsIAorICAgIDk2MDQzLCA5NjA0OCwgOTYwNTMsIDk2MDU4LCA5NjA2MywgOTYwNjgsIDk2MDczLCA5NjA3OCwgOTYwODMsIDk2MDg4LCAKKyAgICA5NjA5MywgOTYwOTgsIDk2MTAzLCA5NjEwOCwgOTYxMTMsIDk2MTE4LCA5NjEyMywgOTYxMjgsIDk2MTMzLCA5NjEzOCwgCisgICAgOTYxNDMsIDk2MTQ4LCA5NjE1MywgOTYxNTgsIDk2MTYzLCA5NjE2OCwgOTYxNzMsIDk2MTc4LCA5NjE4MywgOTYxODgsIAorICAgIDk2MTkzLCA5NjE5OCwgOTYyMDMsIDk2MjA4LCA5NjIxMywgOTYyMTgsIDk2MjIzLCA5NjIyOCwgOTYyMzMsIDk2MjM4LCAKKyAgICA5NjI0MywgOTYyNDgsIDk2MjUzLCA5NjI1OCwgOTYyNjMsIDk2MjY4LCA5NjI3MywgOTYyNzgsIDk2MjgzLCA5NjI4OCwgCisgICAgOTYyOTMsIDk2Mjk4LCA5NjMwMywgOTYzMDgsIDk2MzEzLCA5NjMxOCwgOTYzMjMsIDk2MzI4LCA5NjMzMywgOTYzMzgsIAorICAgIDk2MzQzLCA5NjM0OCwgOTYzNTMsIDk2MzU4LCA5NjM2MywgOTYzNjgsIDk2MzczLCA5NjM3OCwgOTYzODMsIDk2Mzg4LCAKKyAgICA5NjM5MywgOTYzOTgsIDk2NDAzLCA5NjQwOCwgOTY0MTMsIDk2NDE4LCA5NjQyMywgOTY0MjgsIDk2NDMzLCA5NjQzOCwgCisgICAgOTY0NDMsIDk2NDQ4LCA5NjQ1MywgOTY0NTgsIDk2NDYzLCA5NjQ2OCwgOTY0NzMsIDk2NDc4LCA5NjQ4MywgOTY0ODgsIAorICAgIDk2NDkzLCA5NjQ5OCwgOTY1MDMsIDk2NTA4LCA5NjUxMywgOTY1MTgsIDk2NTIzLCA5NjUyOCwgOTY1MzMsIDk2NTM4LCAKKyAgICA5NjU0MywgOTY1NDgsIDk2NTUzLCA5NjU1OCwgOTY1NjMsIDk2NTY4LCA5NjU3MywgOTY1NzgsIDk2NTgzLCA5NjU4OCwgCisgICAgOTY1OTMsIDk2NTk4LCA5NjYwMywgOTY2MDgsIDk2NjEzLCA5NjYxOCwgOTY2MjMsIDk2NjI4LCA5NjYzMywgOTY2MzgsIAorICAgIDk2NjQzLCA5NjY0OCwgOTY2NTMsIDk2NjU4LCA5NjY2MywgOTY2NjgsIDk2NjczLCA5NjY3OCwgOTY2ODMsIDk2Njg4LCAKKyAgICA5NjY5MywgOTY2OTgsIDk2NzAzLCA5NjcwOCwgOTY3MTMsIDk2NzE4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICA5NjcyMywgOTY3MjksIDk2NzM2LCA5Njc0MywgOTY3NDksIDk2NzU2LCA5Njc2MywgOTY3NzAsIDk2Nzc3LCA5Njc4MywgCisgICAgOTY3OTAsIDk2Nzk3LCA5NjgwNCwgOTY4MTEsIDk2ODE4LCA5NjgyNSwgOTY4MzIsIDk2ODM5LCA5Njg0NiwgOTY4NTMsIAorICAgIDk2ODYwLCA5Njg2NywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOTY4NzQsIDk2ODc5LCA5Njg4NCwgOTY4ODksIAorICAgIDk2ODk0LCA5Njg5OSwgOTY5MDQsIDk2OTA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMjU4MDgsIDEyNTgxMiwgMTI1ODE2LCAKLSAgICAxMjU4MjEsIDEyNTgyNiwgMTI1ODI4LCAxMjU4MzIsIDEyNTg0MSwgMTI1ODQ5LCAxMjU4NTcsIDEyNTg3MCwgMTI1ODgzLCAKLSAgICAxMjU4OTYsIDEyNTkwMywgMTI1OTEwLCAxMjU5MTQsIDEyNTkyMywgMTI1OTMxLCAxMjU5MzUsIDEyNTk0NCwgMTI1OTUxLCAKLSAgICAxMjU5NTUsIDEyNTk1OSwgMTI1OTYzLCAxMjU5NjcsIDEyNTk3NCwgMTI1OTc4LCAxMjU5ODIsIDEyNTk4NiwgMTI1OTkwLCAKLSAgICAxMjU5OTcsIDEyNjAwNiwgMTI2MDE1LCAxMjYwMjIsIDEyNjAzNCwgMTI2MDQ2LCAxMjYwNTAsIDEyNjA1NCwgMTI2MDU4LCAKLSAgICAxMjYwNjIsIDEyNjA2NiwgMTI2MDcwLCAxMjYwNzgsIDEyNjA4NiwgMTI2MDk0LCAxMjYwOTgsIDEyNjEwMiwgMTI2MTA2LCAKLSAgICAxMjYxMTAsIDEyNjExNCwgMTI2MTE4LCAxMjYxMjQsIDEyNjEzMCwgMTI2MTM0LCAxMjYxNDUsIDEyNjE1MywgMTI2MTU3LCAKLSAgICAxMjYxNjEsIDEyNjE2NSwgMTI2MTY5LCAxMjYxNzUsIDEyNjE4MiwgMTI2MTkzLCAxMjYyMDMsIDEyNjIxMywgMTI2MjI0LCAKLSAgICAxMjYyMzMsIDEyNjI0NCwgMTI2MjUwLCAxMjYyNTYsIDAsIDAsIDAsIDAsIDEyNjI2MiwgMTI2MjcxLCAxMjYyNzgsIAotICAgIDEyNjI4NCwgMTI2Mjg4LCAxMjYyOTIsIDEyNjI5NiwgMTI2MzA1LCAxMjYzMTcsIDEyNjMyMSwgMTI2MzI4LCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMjYzMzUsIAotICAgIDEyNjMzNywgMTI2MzM5LCAxMjYzNDMsIDEyNjM0NywgMTI2MzUxLCAxMjYzNjAsIDEyNjM2MiwgMTI2MzY0LCAxMjYzNjcsIAotICAgIDEyNjM2OSwgMTI2MzcxLCAxMjYzNzUsIDEyNjM3NywgMTI2MzgxLCAxMjYzODMsIDEyNjM4NywgMTI2Mzg5LCAxMjYzOTEsIAotICAgIDEyNjM5NSwgMTI2Mzk5LCAxMjY0MDUsIDEyNjQwNywgMTI2NDExLCAxMjY0MTMsIDEyNjQxNywgMTI2NDIxLCAxMjY0MjUsIAotICAgIDEyNjQyOSwgMTI2NDMxLCAxMjY0MzMsIDEyNjQzNywgMTI2NDQxLCAxMjY0NDUsIDEyNjQ0OSwgMTI2NDUxLCAxMjY0NTMsIAotICAgIDEyNjQ1NSwgMTI2NDYwLCAxMjY0NjUsIDEyNjQ2OCwgMTI2NDc2LCAxMjY0ODQsIDEyNjQ4NiwgMTI2NDkxLCAxMjY0OTQsIAotICAgIDEyNjQ5OSwgMTI2NTEwLCAxMjY1MTcsIDEyNjUyMiwgMTI2NTI3LCAxMjY1MjksIDEyNjUzMywgMTI2NTM1LCAxMjY1MzksIAotICAgIDEyNjU0MSwgMTI2NTQ1LCAxMjY1NDksIDEyNjU1MiwgMTI2NTU1LCAxMjY1NTcsIDEyNjU2MCwgMTI2NTYyLCAxMjY1NjYsIAotICAgIDEyNjU2OCwgMTI2NTcwLCAxMjY1NzIsIDEyNjU3NiwgMTI2NTc4LCAxMjY1ODIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDk2OTE0LCA5NjkxOCwgOTY5MjIsIAorICAgIDk2OTI2LCA5NjkzMCwgOTY5MzQsIDAsIDAsIDk2OTM5LCAwLCA5Njk0NCwgOTY5NDgsIDk2OTUzLCA5Njk1OCwgOTY5NjMsIAorICAgIDk2OTY4LCA5Njk3MywgOTY5NzgsIDk2OTgzLCA5Njk4OCwgOTY5OTMsIDk2OTk3LCA5NzAwMiwgOTcwMDcsIDk3MDEyLCAKKyAgICA5NzAxNywgOTcwMjEsIDk3MDI2LCA5NzAzMSwgOTcwMzYsIDk3MDQxLCA5NzA0NSwgOTcwNTAsIDk3MDU1LCA5NzA2MCwgCisgICAgOTcwNjUsIDk3MDcwLCA5NzA3NSwgOTcwODAsIDk3MDg1LCA5NzA5MCwgOTcwOTUsIDk3MTAwLCA5NzEwNSwgOTcxMTAsIAorICAgIDk3MTE1LCA5NzEyMCwgOTcxMjUsIDk3MTMwLCA5NzEzNCwgOTcxMzksIDk3MTQ0LCA5NzE0OSwgOTcxNTQsIDAsIDk3MTU5LCAKKyAgICA5NzE2NCwgMCwgMCwgMCwgOTcxNjksIDAsIDAsIDk3MTc0LCA5NzE3OSwgOTcxODYsIDk3MTkzLCA5NzIwMCwgOTcyMDcsIAorICAgIDk3MjE0LCA5NzIyMSwgOTcyMjgsIDk3MjM1LCA5NzI0MiwgOTcyNDksIDk3MjU2LCA5NzI2MywgOTcyNzAsIDk3Mjc3LCAKKyAgICA5NzI4NCwgOTcyOTEsIDk3Mjk4LCA5NzMwNSwgOTczMTIsIDk3MzE5LCA5NzMyNiwgMCwgOTczMzMsIDk3MzQwLCA5NzM0NiwgCisgICAgOTczNTIsIDk3MzU4LCA5NzM2NSwgOTczNzIsIDk3MzgwLCA5NzM4OCwgOTczOTcsIDk3NDAyLCA5NzQwNywgOTc0MTIsIAorICAgIDk3NDE3LCA5NzQyMiwgOTc0MjcsIDk3NDMyLCA5NzQzNywgOTc0NDIsIDk3NDQ3LCA5NzQ1MiwgOTc0NTcsIDk3NDYyLCAKKyAgICA5NzQ2OCwgOTc0NzMsIDk3NDc4LCA5NzQ4MywgOTc0ODgsIDk3NDkzLCA5NzQ5OCwgOTc1MDMsIDk3NTA4LCA5NzUxMywgCisgICAgOTc1MTksIDk3NTI1LCA5NzUyOSwgOTc1MzMsIDk3NTM3LCA5NzU0MSwgOTc1NDUsIDk3NTUwLCA5NzU1NSwgOTc1NjEsIAorICAgIDk3NTY2LCA5NzU3MiwgOTc1NzcsIDk3NTgyLCA5NzU4NywgOTc1OTMsIDk3NTk4LCA5NzYwMywgOTc2MDgsIDk3NjEzLCAKKyAgICA5NzYxOCwgOTc2MjQsIDk3NjI5LCA5NzYzNSwgOTc2NDAsIDk3NjQ2LCA5NzY1MSwgOTc2NTcsIDk3NjYyLCA5NzY2OCwgCisgICAgOTc2NzMsIDk3Njc4LCA5NzY4MywgOTc2ODgsIDk3NjkzLCA5NzY5OCwgOTc3MDMsIDk3NzA5LCA5NzcxNCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgOTc3MTksIDk3NzIzLCA5NzcyNywgOTc3MzEsIDk3NzM1LCA5Nzc0MSwgOTc3NDUsIDk3NzUwLCAKKyAgICA5Nzc1NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMTI2NTg1LCAxMjY1OTAsIDEyNjU5NSwgMTI2NjAwLCAxMjY2MDUsIDEyNjYxMCwgMTI2NjE1LCAxMjY2MjIsIAotICAgIDEyNjYyOSwgMTI2NjM2LCAxMjY2NDMsIDEyNjY0OCwgMTI2NjUzLCAxMjY2NTgsIDEyNjY2MywgMTI2NjcwLCAxMjY2NzYsIAotICAgIDEyNjY4MywgMTI2NjkwLCAxMjY2OTcsIDEyNjcwMiwgMTI2NzA3LCAxMjY3MTIsIDEyNjcxNywgMTI2NzIyLCAxMjY3MjksIAotICAgIDEyNjczNiwgMTI2NzQxLCAxMjY3NDYsIDEyNjc1MywgMTI2NzYwLCAxMjY3NjgsIDEyNjc3NiwgMTI2NzgzLCAxMjY3OTAsIAotICAgIDEyNjc5OCwgMTI2ODA2LCAxMjY4MTQsIDEyNjgyMSwgMTI2ODMxLCAxMjY4NDIsIDEyNjg0NywgMTI2ODU0LCAxMjY4NjEsIAotICAgIDEyNjg2OCwgMTI2ODc2LCAxMjY4ODQsIDEyNjg5NSwgMTI2OTAzLCAxMjY5MTEsIDEyNjkxOSwgMTI2OTI0LCAxMjY5MjksIAotICAgIDEyNjkzNCwgMTI2OTM5LCAxMjY5NDQsIDEyNjk0OSwgMTI2OTU0LCAxMjY5NTksIDEyNjk2NCwgMTI2OTY5LCAxMjY5NzQsIAotICAgIDEyNjk3OSwgMTI2OTg2LCAxMjY5OTEsIDEyNjk5NiwgMTI3MDAzLCAxMjcwMDgsIDEyNzAxMywgMTI3MDE4LCAxMjcwMjMsIAotICAgIDEyNzAyOCwgMTI3MDMzLCAxMjcwMzgsIDEyNzA0MywgMTI3MDQ4LCAxMjcwNTMsIDEyNzA1OCwgMTI3MDYzLCAxMjcwNzAsIAotICAgIDEyNzA3OCwgMTI3MDgzLCAxMjcwODgsIDEyNzA5NSwgMTI3MTAwLCAxMjcxMDUsIDEyNzExMCwgMTI3MTE3LCAxMjcxMjIsIAotICAgIDEyNzEyOSwgMTI3MTM0LCAxMjcxNDEsIDEyNzE0NiwgMTI3MTU1LCAxMjcxNjQsIDEyNzE2OSwgMTI3MTc0LCAxMjcxNzksIAotICAgIDEyNzE4NCwgMTI3MTg5LCAxMjcxOTQsIDEyNzE5OSwgMTI3MjA0LCAxMjcyMDksIDEyNzIxNCwgMTI3MjE5LCAxMjcyMjQsIAotICAgIDEyNzIyOSwgMTI3MjM3LCAxMjcyNDUsIDEyNzI1MCwgMTI3MjU1LCAxMjcyNjAsIDEyNzI2NSwgMTI3MjcwLCAxMjcyNzYsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEyNzI4MiwgMTI3Mjg2LCAxMjcyOTAsIDEyNzI5NCwgCi0gICAgMTI3Mjk4LCAxMjczMDIsIDEyNzMwNiwgMTI3MzEwLCAxMjczMTQsIDEyNzMxOCwgMTI3MzIyLCAxMjczMjYsIDEyNzMzMCwgCi0gICAgMTI3MzM0LCAxMjczMzgsIDEyNzM0MiwgMTI3MzQ2LCAxMjczNTAsIDEyNzM1NCwgMTI3MzU4LCAxMjczNjIsIDEyNzM2NiwgCi0gICAgMTI3MzcwLCAxMjczNzQsIDEyNzM3OCwgMTI3MzgyLCAxMjczODYsIDEyNzM5MCwgMTI3Mzk0LCAxMjczOTgsIDEyNzQwMiwgCi0gICAgMTI3NDA2LCAxMjc0MTAsIDEyNzQxNCwgMTI3NDE4LCAxMjc0MjIsIDEyNzQyNiwgMTI3NDMwLCAxMjc0MzQsIDEyNzQzOCwgCi0gICAgMTI3NDQyLCAxMjc0NDYsIDEyNzQ1MCwgMTI3NDU0LCAxMjc0NTgsIDEyNzQ2MiwgMTI3NDY2LCAxMjc0NzAsIDEyNzQ3NCwgCi0gICAgMTI3NDc4LCAxMjc0ODIsIDEyNzQ4NiwgMTI3NDkwLCAxMjc0OTQsIDEyNzQ5OCwgMTI3NTAyLCAxMjc1MDYsIDEyNzUxMCwgCi0gICAgMTI3NTE0LCAxMjc1MTgsIDEyNzUyMiwgMTI3NTI2LCAxMjc1MzAsIDEyNzUzNCwgMTI3NTM4LCAxMjc1NDIsIDEyNzU0NiwgCi0gICAgMTI3NTUwLCAxMjc1NTQsIDEyNzU1OCwgMTI3NTYyLCAxMjc1NjYsIDEyNzU3MCwgMTI3NTc0LCAxMjc1NzgsIDEyNzU4MiwgCi0gICAgMTI3NTg2LCAxMjc1OTAsIDEyNzU5NCwgMTI3NTk4LCAxMjc2MDIsIDEyNzYwNiwgMTI3NjEwLCAxMjc2MTQsIDEyNzYxOCwgCi0gICAgMTI3NjIyLCAxMjc2MjYsIDEyNzYzMCwgMTI3NjM0LCAxMjc2MzgsIDEyNzY0MiwgMTI3NjQ2LCAxMjc2NTAsIDEyNzY1NCwgCi0gICAgMTI3NjU4LCAxMjc2NjIsIDEyNzY2NiwgMTI3NjcwLCAxMjc2NzQsIDEyNzY3OCwgMTI3NjgyLCAxMjc2ODYsIDEyNzY5MCwgCi0gICAgMTI3Njk0LCAxMjc2OTgsIDEyNzcwMiwgMTI3NzA2LCAxMjc3MTAsIDEyNzcxNCwgMTI3NzE4LCAxMjc3MjIsIDEyNzcyNiwgCi0gICAgMTI3NzMwLCAxMjc3MzQsIDEyNzczOCwgMTI3NzQyLCAxMjc3NDYsIDEyNzc1MCwgMTI3NzU0LCAxMjc3NTgsIDEyNzc2MiwgCi0gICAgMTI3NzY2LCAxMjc3NzAsIDEyNzc3NCwgMTI3Nzc4LCAxMjc3ODIsIDEyNzc4NiwgMTI3NzkwLCAxMjc3OTQsIDEyNzc5OCwgCi0gICAgMTI3ODAyLCAxMjc4MDYsIDEyNzgxMCwgMTI3ODE0LCAxMjc4MTgsIDEyNzgyMiwgMTI3ODI2LCAxMjc4MzAsIDEyNzgzNCwgCi0gICAgMTI3ODM4LCAxMjc4NDIsIDEyNzg0NiwgMTI3ODUwLCAxMjc4NTQsIDEyNzg1OCwgMTI3ODYyLCAxMjc4NjYsIDEyNzg3MCwgCi0gICAgMTI3ODc0LCAxMjc4NzgsIDEyNzg4MiwgMTI3ODg2LCAxMjc4OTAsIDEyNzg5NCwgMTI3ODk4LCAxMjc5MDIsIDEyNzkwNiwgCi0gICAgMTI3OTEwLCAxMjc5MTQsIDEyNzkxOCwgMTI3OTIyLCAxMjc5MjYsIDEyNzkzMCwgMTI3OTM0LCAxMjc5MzgsIDEyNzk0MiwgCi0gICAgMTI3OTQ2LCAxMjc5NTAsIDEyNzk1NCwgMTI3OTU4LCAxMjc5NjIsIDEyNzk2NiwgMTI3OTcwLCAxMjc5NzQsIDEyNzk3OCwgCi0gICAgMTI3OTgyLCAxMjc5ODYsIDEyNzk5MCwgMTI3OTk0LCAxMjc5OTgsIDEyODAwMiwgMTI4MDA2LCAxMjgwMTAsIDEyODAxNCwgCi0gICAgMTI4MDE4LCAxMjgwMjIsIDEyODAyNiwgMTI4MDMwLCAxMjgwMzQsIDEyODAzOCwgMTI4MDQyLCAxMjgwNDYsIDEyODA1MCwgCi0gICAgMTI4MDU0LCAxMjgwNTgsIDEyODA2MiwgMTI4MDY2LCAxMjgwNzAsIDEyODA3NCwgMTI4MDc4LCAxMjgwODIsIDEyODA4NiwgCi0gICAgMTI4MDkwLCAxMjgwOTQsIDEyODA5OCwgMTI4MTAyLCAxMjgxMDYsIDEyODExMCwgMTI4MTE0LCAxMjgxMTgsIDEyODEyMiwgCi0gICAgMTI4MTI2LCAxMjgxMzAsIDEyODEzNCwgMTI4MTM4LCAxMjgxNDIsIDEyODE0NiwgMTI4MTUwLCAxMjgxNTQsIDEyODE1OCwgCi0gICAgMTI4MTYyLCAxMjgxNjYsIDEyODE3MCwgMTI4MTc0LCAxMjgxNzgsIDEyODE4MiwgMTI4MTg2LCAxMjgxOTAsIDEyODE5NCwgCi0gICAgMTI4MTk4LCAxMjgyMDIsIDEyODIwNiwgMTI4MjEwLCAxMjgyMTQsIDEyODIxOCwgMTI4MjIyLCAxMjgyMjYsIDEyODIzMCwgCi0gICAgMTI4MjM0LCAxMjgyMzgsIDEyODI0MiwgMTI4MjQ2LCAxMjgyNTAsIDEyODI1NCwgMTI4MjU4LCAxMjgyNjIsIDEyODI2NiwgCi0gICAgMTI4MjcwLCAxMjgyNzQsIDEyODI3OCwgMTI4MjgyLCAxMjgyODYsIDEyODI5MCwgMTI4Mjk0LCAxMjgyOTgsIDEyODMwMiwgCi0gICAgMTI4MzA2LCAxMjgzMTAsIDEyODMxNCwgMTI4MzE4LCAxMjgzMjIsIDEyODMyNiwgMTI4MzMwLCAxMjgzMzQsIDEyODMzOCwgCi0gICAgMTI4MzQyLCAxMjgzNDYsIDEyODM1MCwgMTI4MzU0LCAxMjgzNTgsIDEyODM2MiwgMTI4MzY2LCAxMjgzNzAsIDEyODM3NCwgCi0gICAgMTI4Mzc4LCAxMjgzODIsIDEyODM4NiwgMTI4MzkwLCAxMjgzOTQsIDEyODM5OCwgMTI4NDAyLCAxMjg0MDYsIDEyODQxMCwgCi0gICAgMTI4NDE0LCAxMjg0MTgsIDEyODQyMiwgMTI4NDI2LCAxMjg0MzAsIDEyODQzNCwgMTI4NDM4LCAxMjg0NDIsIDEyODQ0NiwgCi0gICAgMTI4NDUwLCAxMjg0NTQsIDEyODQ1OCwgMTI4NDYyLCAxMjg0NjYsIDEyODQ3MCwgMTI4NDc0LCAxMjg0NzgsIDEyODQ4MiwgCi0gICAgMTI4NDg2LCAxMjg0OTAsIDEyODQ5NCwgMTI4NDk4LCAxMjg1MDIsIDEyODUwNiwgMTI4NTEwLCAxMjg1MTQsIDEyODUxOCwgCi0gICAgMTI4NTIyLCAxMjg1MjYsIDEyODUzMCwgMTI4NTM0LCAxMjg1MzgsIDEyODU0MiwgMTI4NTQ2LCAxMjg1NTAsIDEyODU1NCwgCi0gICAgMTI4NTU4LCAxMjg1NjIsIDEyODU2NiwgMTI4NTcwLCAxMjg1NzQsIDEyODU3OCwgMTI4NTgyLCAxMjg1ODYsIDEyODU5MCwgCi0gICAgMTI4NTk0LCAxMjg1OTgsIDEyODYwMiwgMTI4NjA2LCAxMjg2MTAsIDEyODYxNCwgMTI4NjE4LCAxMjg2MjIsIDEyODYyNiwgCi0gICAgMTI4NjMwLCAxMjg2MzQsIDEyODYzOCwgMTI4NjQyLCAxMjg2NDYsIDEyODY1MCwgMTI4NjU0LCAxMjg2NTgsIDEyODY2MiwgCi0gICAgMTI4NjY2LCAxMjg2NzAsIDEyODY3NCwgMTI4Njc4LCAxMjg2ODIsIDEyODY4NiwgMTI4NjkwLCAxMjg2OTQsIDEyODY5OCwgCi0gICAgMTI4NzAyLCAxMjg3MDYsIDEyODcxMCwgMTI4NzE0LCAxMjg3MTgsIDEyODcyMiwgMTI4NzI2LCAxMjg3MzAsIDEyODczNCwgCi0gICAgMTI4NzM4LCAxMjg3NDIsIDEyODc0NiwgMTI4NzUwLCAxMjg3NTQsIDEyODc1OCwgMTI4NzYyLCAxMjg3NjYsIDEyODc3MCwgCi0gICAgMTI4Nzc0LCAxMjg3NzgsIDEyODc4MiwgMTI4Nzg2LCAxMjg3OTAsIDEyODc5NCwgMTI4Nzk4LCAxMjg4MDIsIDEyODgwNiwgCi0gICAgMTI4ODEwLCAxMjg4MTQsIDEyODgxOCwgMTI4ODIyLCAxMjg4MjYsIDEyODgzMCwgMTI4ODM0LCAxMjg4MzgsIDEyODg0MiwgCi0gICAgMTI4ODQ2LCAxMjg4NTAsIDEyODg1NCwgMTI4ODU4LCAxMjg4NjIsIDEyODg2NiwgMTI4ODcwLCAxMjg4NzQsIDEyODg3OCwgCi0gICAgMTI4ODgyLCAxMjg4ODYsIDEyODg5MCwgMTI4ODk0LCAxMjg4OTgsIDEyODkwMiwgMTI4OTA2LCAxMjg5MTAsIDEyODkxNCwgCi0gICAgMTI4OTE4LCAxMjg5MjIsIDEyODkyNiwgMTI4OTMwLCAxMjg5MzQsIDEyODkzOCwgMTI4OTQyLCAxMjg5NDYsIDEyODk1MCwgCi0gICAgMTI4OTU0LCAxMjg5NTgsIDEyODk2MiwgMTI4OTY2LCAxMjg5NzAsIDEyODk3NCwgMTI4OTc4LCAxMjg5ODIsIDEyODk4NiwgCi0gICAgMTI4OTkwLCAxMjg5OTQsIDEyODk5OCwgMTI5MDAyLCAxMjkwMDYsIDEyOTAxMCwgMTI5MDE0LCAxMjkwMTgsIDEyOTAyMiwgCi0gICAgMTI5MDI2LCAxMjkwMzAsIDEyOTAzNCwgMTI5MDM4LCAxMjkwNDIsIDEyOTA0NiwgMTI5MDUwLCAxMjkwNTQsIDEyOTA1OCwgCi0gICAgMTI5MDYyLCAxMjkwNjYsIDEyOTA3MCwgMTI5MDc0LCAxMjkwNzgsIDEyOTA4MiwgMTI5MDg2LCAxMjkwOTAsIDEyOTA5NCwgCi0gICAgMTI5MDk4LCAxMjkxMDIsIDEyOTEwNiwgMTI5MTEwLCAxMjkxMTQsIDEyOTExOCwgMTI5MTIyLCAxMjkxMjYsIDEyOTEzMCwgCi0gICAgMTI5MTM0LCAxMjkxMzgsIDEyOTE0MiwgMTI5MTQ2LCAxMjkxNTAsIDEyOTE1NCwgMTI5MTU4LCAxMjkxNjIsIDEyOTE2NiwgCi0gICAgMTI5MTcwLCAxMjkxNzQsIDEyOTE3OCwgMTI5MTgyLCAxMjkxODYsIDEyOTE5MCwgMTI5MTk0LCAxMjkxOTgsIDEyOTIwMiwgCi0gICAgMTI5MjA2LCAxMjkyMTAsIDEyOTIxNCwgMTI5MjE4LCAxMjkyMjIsIDEyOTIyNiwgMTI5MjMwLCAxMjkyMzQsIDEyOTIzOCwgCi0gICAgMTI5MjQyLCAxMjkyNDYsIDEyOTI1MCwgMTI5MjU0LCAxMjkyNTgsIDEyOTI2MiwgMTI5MjY2LCAxMjkyNzAsIDEyOTI3NCwgCi0gICAgMTI5Mjc4LCAxMjkyODIsIDEyOTI4NiwgMTI5MjkwLCAxMjkyOTQsIDEyOTI5OCwgMTI5MzAyLCAxMjkzMDYsIDEyOTMxMCwgCi0gICAgMTI5MzE0LCAxMjkzMTgsIDEyOTMyMiwgMTI5MzI2LCAxMjkzMzAsIDEyOTMzNCwgMTI5MzM4LCAxMjkzNDIsIDEyOTM0NiwgCi0gICAgMTI5MzUwLCAxMjkzNTQsIDEyOTM1OCwgMTI5MzYyLCAxMjkzNjYsIDEyOTM3MCwgMTI5Mzc0LCAxMjkzNzgsIDEyOTM4MiwgCi0gICAgMTI5Mzg2LCAxMjkzOTAsIDEyOTM5NCwgMTI5Mzk4LCAxMjk0MDIsIDEyOTQwNiwgMTI5NDEwLCAxMjk0MTQsIDEyOTQxOCwgCi0gICAgMTI5NDIyLCAxMjk0MjYsIDEyOTQzMCwgMTI5NDM0LCAxMjk0MzgsIDEyOTQ0MiwgMTI5NDQ2LCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5Nzc2MSwgOTc3NjYsIDk3NzcxLCA5Nzc3NiwgOTc3ODEsIDk3Nzg2LCAKKyAgICA5Nzc5MSwgOTc3OTYsIDk3ODAxLCA5NzgwNiwgOTc4MTEsIDk3ODE2LCA5NzgyMSwgOTc4MjYsIDk3ODMxLCA5NzgzNiwgCisgICAgOTc4NDEsIDk3ODQ2LCA5Nzg1MSwgOTc4NTYsIDk3ODYxLCA5Nzg2NiwgOTc4NzEsIDk3ODc1LCA5Nzg4MCwgOTc4ODUsIAorICAgIDk3ODkxLCA5Nzg5NSwgMCwgMCwgMCwgOTc4OTksIDk3OTA1LCA5NzkwOSwgOTc5MTQsIDk3OTE5LCA5NzkyNCwgOTc5MjgsIAorICAgIDk3OTMzLCA5NzkzNywgOTc5NDIsIDk3OTQ3LCA5Nzk1MSwgOTc5NTYsIDk3OTYxLCA5Nzk2NSwgOTc5NjksIDk3OTc0LCAKKyAgICA5Nzk3OSwgOTc5ODMsIDk3OTg4LCA5Nzk5MywgOTc5OTcsIDk4MDAyLCA5ODAwNywgOTgwMTIsIDk4MDE3LCA5ODAyMiwgMCwgCisgICAgMCwgMCwgMCwgMCwgOTgwMjcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDk4MDMyLCAKKyAgICA5ODAzOCwgOTgwNDQsIDk4MDUwLCA5ODA1NiwgOTgwNjIsIDk4MDY5LCA5ODA3NiwgOTgwODMsIDk4MDg5LCA5ODA5NSwgCisgICAgOTgxMDEsIDk4MTA4LCA5ODExNSwgOTgxMjIsIDk4MTI5LCA5ODEzNiwgOTgxNDMsIDk4MTUwLCA5ODE1NywgOTgxNjQsIAorICAgIDk4MTcxLCA5ODE3OCwgOTgxODQsIDk4MTkxLCA5ODE5OCwgOTgyMDUsIDk4MjEyLCA5ODIxOSwgOTgyMjUsIDk4MjMyLCAKKyAgICA5ODIzOSwgOTgyNDYsIDk4MjUyLCA5ODI1OCwgOTgyNjQsIDk4MjcwLCA5ODI3NiwgOTgyODMsIDk4MjkwLCA5ODI5NiwgCisgICAgOTgzMDIsIDk4MzA4LCA5ODMxNSwgOTgzMjIsIDk4MzI5LCA5ODMzNiwgOTgzNDMsIDk4MzUwLCA5ODM1OSwgOTgzNjYsIAorICAgIDk4MzcyLCA5ODM3OSwgOTgzODYsIDk4MzkzLCA5ODM5OSwgMCwgMCwgMCwgMCwgMCwgMCwgOTg0MDYsIDk4NDE0LCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5ODQyMiwgOTg0MjYsIDk4NDMxLCA5ODQzNiwgMCwgCisgICAgOTg0NDIsIDk4NDQ3LCAwLCAwLCAwLCAwLCAwLCA5ODQ1MiwgOTg0NTgsIDk4NDY1LCA5ODQ3MCwgOTg0NzUsIDk4NDc5LCAKKyAgICA5ODQ4NCwgOTg0ODksIDAsIDk4NDk0LCA5ODQ5OSwgOTg1MDQsIDAsIDk4NTA5LCA5ODUxNCwgOTg1MTksIDk4NTI0LCAKKyAgICA5ODUyOSwgOTg1MzQsIDk4NTM5LCA5ODU0NCwgOTg1NDksIDk4NTU0LCA5ODU1OSwgOTg1NjMsIDk4NTY3LCA5ODU3MiwgCisgICAgOTg1NzcsIDk4NTgyLCA5ODU4NiwgOTg1OTAsIDk4NTk1LCA5ODYwMCwgOTg2MDUsIDk4NjEwLCA5ODYxNSwgOTg2MjAsIAorICAgIDk4NjI1LCA5ODYyOSwgOTg2MzQsIDAsIDAsIDAsIDAsIDk4NjM5LCA5ODY0NSwgOTg2NTAsIDAsIDAsIDAsIDAsIDk4NjU1LCAKKyAgICA5ODY1OSwgOTg2NjMsIDk4NjY3LCA5ODY3MSwgOTg2NzUsIDk4NjgwLCA5ODY4NSwgOTg2OTEsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDk4Njk3LCA5ODcwMywgOTg3MTAsIDk4NzE2LCA5ODcyMywgOTg3MjksIDk4NzM1LCA5ODc0MSwgOTg3NDgsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDk4NzU0LCA5ODc2MSwgOTg3NjgsIDk4Nzc1LCA5ODc4MiwgOTg3ODksIDk4Nzk2LCA5ODgwMywgCisgICAgOTg4MTAsIDk4ODE3LCA5ODgyNCwgOTg4MzEsIDk4ODM4LCA5ODg0NSwgOTg4NTIsIDk4ODU5LCA5ODg2NiwgOTg4NzMsIAorICAgIDk4ODgwLCA5ODg4NywgOTg4OTQsIDk4OTAxLCA5ODkwOCwgOTg5MTUsIDk4OTIyLCA5ODkyOSwgOTg5MzYsIDk4OTQzLCAKKyAgICA5ODk1MCwgOTg5NTcsIDk4OTYzLCA5ODk3MCwgOTg5NzcsIDk4OTg0LCA5ODk5MSwgOTg5OTgsIDk5MDA1LCA5OTAxMiwgCisgICAgOTkwMTksIDk5MDI2LCA5OTAzMywgOTkwNDAsIDk5MDQ3LCA5OTA1NCwgOTkwNjEsIDk5MDY4LCA5OTA3NSwgOTkwODIsIAorICAgIDk5MDg5LCA5OTA5NiwgOTkxMDMsIDk5MTEwLCA5OTExNywgOTkxMjQsIDk5MTMxLCA5OTEzOCwgOTkxNDUsIDk5MTUyLCAKKyAgICA5OTE1OSwgOTkxNjYsIDk5MTczLCA5OTE4MCwgOTkxODYsIDk5MTkzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5OTIwMCwgCisgICAgOTkyMDUsIDk5MjEwLCA5OTIxNSwgOTkyMjAsIDk5MjI1LCA5OTIzMCwgOTkyMzUsIDk5MjQwLCA5OTI0NSwgOTkyNTAsIAorICAgIDk5MjU1LCA5OTI2MCwgOTkyNjUsIDk5MjcwLCA5OTI3NSwgOTkyODAsIDk5Mjg1LCA5OTI5MCwgOTkyOTUsIDk5MzAwLCAKKyAgICA5OTMwNSwgOTkzMTAsIDk5MzE1LCA5OTMyMCwgOTkzMjUsIDk5MzMwLCA5OTMzNSwgOTkzNDAsIDk5MzQ1LCA5OTM1MCwgCisgICAgOTkzNTUsIDk5MzYwLCA5OTM2NSwgOTkzNzAsIDk5Mzc1LCA5OTM4MCwgOTkzODUsIDk5MzkxLCAwLCAwLCAwLCAwLCAKKyAgICA5OTM5NywgOTk0MDEsIDk5NDA1LCA5OTQxMCwgOTk0MTUsIDk5NDIxLCA5OTQyNywgOTk0MzMsIDk5NDQzLCA5OTQ1MiwgCisgICAgOTk0NTgsIDk5NDY1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5OTQ3MywgOTk0NzcsIDk5NDgyLCA5OTQ4NywgCisgICAgOTk0OTIsIDk5NDk3LCA5OTUwMiwgOTk1MDcsIDk5NTEyLCA5OTUxNiwgOTk1MjEsIDk5NTI1LCA5OTUzMCwgOTk1MzQsIAorICAgIDk5NTM5LCA5OTU0MywgOTk1NDgsIDk5NTUzLCA5OTU1OCwgOTk1NjMsIDk5NTY4LCA5OTU3MywgOTk1NzgsIDk5NTgzLCAKKyAgICA5OTU4OCwgOTk1OTMsIDk5NTk4LCA5OTYwMywgOTk2MDgsIDk5NjEzLCA5OTYxOCwgOTk2MjMsIDk5NjI4LCA5OTYzMywgCisgICAgOTk2MzgsIDk5NjQzLCA5OTY0OCwgOTk2NTMsIDk5NjU4LCA5OTY2MywgOTk2NjgsIDk5NjczLCA5OTY3OCwgOTk2ODMsIAorICAgIDk5Njg4LCA5OTY5MywgOTk2OTgsIDk5NzAzLCA5OTcwOCwgOTk3MTMsIDk5NzE4LCA5OTcyMywgOTk3MjgsIDk5NzMzLCAwLCAKKyAgICAwLCAwLCA5OTczOCwgOTk3NDMsIDk5NzUyLCA5OTc2MCwgOTk3NjksIDk5Nzc4LCA5OTc4OSwgOTk4MDAsIDk5ODA3LCAKKyAgICA5OTgxNCwgOTk4MjEsIDk5ODI4LCA5OTgzNSwgOTk4NDIsIDk5ODQ5LCA5OTg1NiwgOTk4NjMsIDk5ODcwLCA5OTg3NywgCisgICAgOTk4ODQsIDk5ODkxLCA5OTg5OCwgOTk5MDUsIDk5OTEyLCA5OTkxOSwgOTk5MjYsIDk5OTMzLCA5OTk0MCwgOTk5NDcsIDAsIAorICAgIDAsIDk5OTU0LCA5OTk2MCwgOTk5NjYsIDk5OTcyLCA5OTk3OCwgOTk5ODUsIDk5OTkyLCAxMDAwMDAsIDEwMDAwOCwgCisgICAgMTAwMDE1LCAxMDAwMjIsIDEwMDAyOSwgMTAwMDM2LCAxMDAwNDMsIDEwMDA1MCwgMTAwMDU3LCAxMDAwNjQsIDEwMDA3MSwgCisgICAgMTAwMDc4LCAxMDAwODUsIDEwMDA5MiwgMTAwMDk5LCAxMDAxMDYsIDEwMDExMywgMTAwMTIwLCAxMDAxMjcsIDEwMDEzNCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMTAwMTQxLCAxMDAxNDcsIDEwMDE1MywgMTAwMTU5LCAxMDAxNjUsIDEwMDE3MiwgMTAwMTc5LCAKKyAgICAxMDAxODcsIDEwMDE5NSwgMTAwMjAyLCAxMDAyMDksIDEwMDIxNiwgMTAwMjIzLCAxMDAyMzAsIDEwMDIzNywgMTAwMjQ0LCAKKyAgICAxMDAyNTEsIDEwMDI1OCwgMTAwMjY1LCAxMDAyNzIsIDEwMDI3OSwgMTAwMjg2LCAxMDAyOTMsIDEwMDMwMCwgMTAwMzA3LCAKKyAgICAxMDAzMTQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEwMDMyMSwgMTAwMzI4LCAxMDAzMzYsIDEwMDM0NiwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTAwMzU2LCAxMDAzNjIsIDEwMDM2OCwgMTAwMzc0LCAxMDAzODAsIDEwMDM4NywgCisgICAgMTAwMzk0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMDA0MDIsIDEwMDQwOSwgMTAwNDE2LCAxMDA0MjQsIDEwMDQzMSwgCisgICAgMTAwNDM4LCAxMDA0NDUsIDEwMDQ1MiwgMTAwNDYwLCAxMDA0NjgsIDEwMDQ3NiwgMTAwNDg0LCAxMDA0OTIsIDEwMDUwMCwgCisgICAgMTAwNTA4LCAxMDA1MTYsIDEwMDUyNCwgMTAwNTMyLCAxMDA1NDAsIDEwMDU0OCwgMTAwNTU2LCAxMDA1NjQsIDEwMDU3MiwgCisgICAgMTAwNTgwLCAxMDA1ODgsIDEwMDU5NiwgMTAwNjA0LCAxMDA2MTIsIDEwMDYyMCwgMTAwNjI4LCAxMDA2MzYsIDEwMDY0NCwgCisgICAgMTAwNjUyLCAxMDA2NjAsIDEwMDY2OCwgMTAwNjc2LCAxMDA2ODQsIDEwMDY5MiwgMTAwNzAwLCAxMDA3MDgsIDEwMDcxNiwgCisgICAgMTAwNzI0LCAxMDA3MzIsIDEwMDc0MCwgMTAwNzQ4LCAxMDA3NTYsIDEwMDc2NCwgMTAwNzcyLCAxMDA3ODAsIDEwMDc4OCwgCisgICAgMTAwNzk2LCAxMDA4MDQsIDEwMDgxMiwgMTAwODIwLCAxMDA4MjgsIDEwMDgzNiwgMTAwODQ0LCAxMDA4NTIsIDEwMDg2MCwgCisgICAgMTAwODY4LCAxMDA4NzYsIDEwMDg4NCwgMTAwODkyLCAxMDA5MDAsIDEwMDkwOCwgMTAwOTE2LCAxMDA5MjQsIDEwMDkzMiwgCisgICAgMTAwOTQwLCAxMDA5NDgsIDEwMDk1NiwgMTAwOTY0LCAxMDA5NzIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEyOTQ1MCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMTI5NDU0LCAxMjk0NTcsIDEyOTQ2MSwgMTI5NDY1LCAxMjk0NjgsIDEyOTQ3MiwgMTI5NDc2LCAKLSAgICAxMjk0NzksIDEyOTQ4MiwgMTI5NDg2LCAxMjk0OTAsIDEyOTQ5MywgMTI5NDk2LCAxMjk0OTksIDEyOTUwMiwgMTI5NTA3LCAKLSAgICAxMjk1MTAsIDEyOTUxNCwgMTI5NTE3LCAxMjk1MjAsIDEyOTUyMywgMTI5NTI2LCAxMjk1MjksIDEyOTUzMiwgMTI5NTM1LCAKLSAgICAxMjk1MzgsIDEyOTU0MSwgMTI5NTQ0LCAxMjk1NDcsIDEyOTU1MSwgMTI5NTU1LCAxMjk1NTksIDEyOTU2MywgMTI5NTY4LCAKLSAgICAxMjk1NzMsIDEyOTU3OSwgMTI5NTg1LCAxMjk1OTEsIDEyOTU5NiwgMTI5NjAyLCAxMjk2MDgsIDEyOTYxNCwgMTI5NjE5LCAKLSAgICAxMjk2MjUsIDEyOTYzMSwgMTI5NjM2LCAxMjk2NDEsIDEyOTY0NywgMTI5NjUyLCAxMjk2NTgsIDEyOTY2NCwgMTI5NjY5LCAKLSAgICAxMjk2NzUsIDEyOTY4MSwgMTI5Njg2LCAxMjk2OTIsIDEyOTY5OCwgMTI5NzA0LCAxMjk3MTAsIDEyOTcxNiwgMTI5NzIwLCAKLSAgICAxMjk3MjUsIDEyOTcyOSwgMTI5NzM0LCAxMjk3MzgsIDEyOTc0MywgMTI5NzQ4LCAxMjk3NTQsIDEyOTc2MCwgMTI5NzY2LCAKLSAgICAxMjk3NzEsIDEyOTc3NywgMTI5NzgzLCAxMjk3ODksIDEyOTc5NCwgMTI5ODAwLCAxMjk4MDYsIDEyOTgxMSwgMTI5ODE2LCAKLSAgICAxMjk4MjIsIDEyOTgyNywgMTI5ODMzLCAxMjk4MzksIDEyOTg0NCwgMTI5ODUwLCAxMjk4NTYsIDEyOTg2MSwgMTI5ODY3LCAKLSAgICAxMjk4NzMsIDEyOTg3OSwgMTI5ODg1LCAxMjk4OTEsIDEyOTg5NiwgMTI5OTAwLCAxMjk5MDUsIDEyOTkwNywgMTI5OTExLCAKLSAgICAxMjk5MTQsIDEyOTkxNywgMTI5OTIwLCAxMjk5MjMsIDEyOTkyNiwgMTI5OTI5LCAxMjk5MzIsIDEyOTkzNSwgMTI5OTM4LCAKLSAgICAxMjk5NDEsIDEyOTk0NCwgMTI5OTQ3LCAxMjk5NTAsIDEyOTk1MywgMTI5OTU2LCAxMjk5NTksIDEyOTk2MiwgMTI5OTY1LCAKLSAgICAxMjk5NjgsIDEyOTk3MSwgMTI5OTc0LCAxMjk5NzcsIDEyOTk4MCwgMTI5OTgzLCAxMjk5ODYsIDEyOTk4OSwgMTI5OTkyLCAKLSAgICAxMjk5OTUsIDEyOTk5OCwgMTMwMDAxLCAxMzAwMDQsIDEzMDAwNywgMTMwMDEwLCAxMzAwMTMsIDEzMDAxNiwgMTMwMDE5LCAKLSAgICAxMzAwMjIsIDEzMDAyNSwgMTMwMDI4LCAxMzAwMzEsIDEzMDAzNCwgMTMwMDM3LCAxMzAwNDAsIDEzMDA0MywgMTMwMDQ2LCAKLSAgICAxMzAwNDksIDEzMDA1MiwgMTMwMDU1LCAxMzAwNTgsIDEzMDA2MSwgMTMwMDY0LCAxMzAwNjcsIDEzMDA3MCwgMTMwMDczLCAKLSAgICAxMzAwNzYsIDEzMDA3OSwgMTMwMDgyLCAxMzAwODUsIDEzMDA4OCwgMTMwMDkxLCAxMzAwOTQsIDEzMDA5NywgMTMwMTAwLCAKLSAgICAxMzAxMDMsIDEzMDEwNiwgMTMwMTA5LCAxMzAxMTIsIDEzMDExNSwgMTMwMTE4LCAxMzAxMjEsIDEzMDEyNCwgMTMwMTI3LCAKLSAgICAxMzAxMzAsIDEzMDEzMywgMTMwMTM2LCAxMzAxMzksIDEzMDE0MiwgMTMwMTQ1LCAxMzAxNDgsIDEzMDE1MSwgMTMwMTU0LCAKLSAgICAxMzAxNTcsIDEzMDE2MCwgMTMwMTYzLCAxMzAxNjYsIDEzMDE2OSwgMTMwMTcyLCAxMzAxNzUsIDEzMDE3OCwgMTMwMTgxLCAKLSAgICAxMzAxODQsIDEzMDE4NywgMTMwMTkwLCAxMzAxOTMsIDEzMDE5NiwgMTMwMTk5LCAxMzAyMDIsIDEzMDIwNSwgMTMwMjA4LCAKLSAgICAxMzAyMTEsIDEzMDIxNCwgMTMwMjE3LCAxMzAyMjAsIDEzMDIyMywgMTMwMjI2LCAxMzAyMjksIDEzMDIzMiwgMTMwMjM1LCAKLSAgICAxMzAyMzgsIDEzMDI0MSwgMTMwMjQ0LCAxMzAyNDcsIDEzMDI1MCwgMTMwMjUzLCAxMzAyNTYsIDEzMDI1OSwgMTMwMjYyLCAKLSAgICAxMzAyNjUsIDEzMDI2OCwgMTMwMjcxLCAxMzAyNzQsIDEzMDI3NywgMTMwMjgwLCAxMzAyODMsIDEzMDI4NiwgMTMwMjg5LCAKLSAgICAxMzAyOTIsIDEzMDI5NSwgMTMwMjk4LCAxMzAzMDEsIDEzMDMwNCwgMTMwMzA3LCAxMzAzMTAsIDEzMDMxMywgMTMwMzE2LCAKLSAgICAxMzAzMTksIDEzMDMyMiwgMTMwMzI1LCAxMzAzMjgsIDEzMDMzMSwgMTMwMzM0LCAxMzAzMzcsIDEzMDM0MCwgMTMwMzQzLCAKLSAgICAxMzAzNDYsIDEzMDM0OSwgMTMwMzUyLCAxMzAzNTUsIDEzMDM1OCwgMTMwMzYxLCAxMzAzNjQsIDEzMDM2NywgMTMwMzcwLCAKLSAgICAxMzAzNzMsIDEzMDM3NiwgMTMwMzc5LCAxMzAzODIsIDEzMDM4NSwgMTMwMzg4LCAxMzAzOTEsIDEzMDM5NCwgMTMwMzk3LCAKLSAgICAxMzA0MDAsIDEzMDQwMywgMTMwNDA2LCAxMzA0MDksIDEzMDQxMiwgMTMwNDE1LCAxMzA0MTgsIDEzMDQyMSwgMTMwNDI0LCAKLSAgICAxMzA0MjcsIDEzMDQzMCwgMTMwNDMzLCAxMzA0MzYsIDEzMDQzOSwgMTMwNDQyLCAxMzA0NDUsIDEzMDQ0OCwgMTMwNDUxLCAKLSAgICAxMzA0NTQsIDEzMDQ1NywgMTMwNDYwLCAxMzA0NjMsIDEzMDQ2NiwgMTMwNDY5LCAxMzA0NzIsIDEzMDQ3NSwgMTMwNDc4LCAKLSAgICAxMzA0ODEsIDEzMDQ4NCwgMTMwNDg3LCAxMzA0OTAsIDEzMDQ5MywgMTMwNDk2LCAxMzA0OTksIDEzMDUwMiwgMTMwNTA1LCAKLSAgICAxMzA1MDgsIDEzMDUxMSwgMTMwNTE0LCAxMzA1MTcsIDEzMDUyMCwgMTMwNTIzLCAxMzA1MjYsIDEzMDUyOSwgMTMwNTMyLCAKLSAgICAxMzA1MzUsIDEzMDUzOCwgMTMwNTQxLCAxMzA1NDQsIDEzMDU0NywgMTMwNTUwLCAxMzA1NTMsIDEzMDU1NiwgMTMwNTU5LCAKLSAgICAxMzA1NjIsIDEzMDU2NSwgMTMwNTY4LCAxMzA1NzEsIDEzMDU3NCwgMTMwNTc3LCAxMzA1ODAsIDEzMDU4MywgMTMwNTg2LCAKLSAgICAxMzA1ODksIDEzMDU5MiwgMTMwNTk1LCAxMzA1OTgsIDEzMDYwMSwgMTMwNjA0LCAxMzA2MDcsIDEzMDYxMCwgMTMwNjEzLCAKLSAgICAxMzA2MTYsIDEzMDYxOSwgMTMwNjIyLCAxMzA2MjUsIDEzMDYyOCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMTMwNjMxLCAxMzA2MzMsIDEzMDYzNSwgMTMwNjQwLCAxMzA2NDIsIDEzMDY0NywgMTMwNjQ5LCAKLSAgICAxMzA2NTQsIDEzMDY1NiwgMTMwNjYxLCAxMzA2NjMsIDEzMDY2NSwgMTMwNjY3LCAxMzA2NjksIDEzMDY3MSwgMTMwNjczLCAKLSAgICAxMzA2NzUsIDEzMDY3NywgMTMwNjc5LCAxMzA2ODIsIDEzMDY4NSwgMTMwNjg3LCAxMzA2ODksIDEzMDY5MywgMTMwNjk2LCAKLSAgICAxMzA3MDEsIDEzMDcwMywgMTMwNzA1LCAxMzA3MDcsIDEzMDcxMSwgMTMwNzE0LCAxMzA3MTYsIDEzMDcyMCwgMTMwNzIyLCAKLSAgICAxMzA3MjYsIDEzMDcyOCwgMTMwNzMyLCAxMzA3MzUsIDEzMDczNywgMTMwNzQxLCAxMzA3NDUsIDEzMDc0NywgMTMwNzUzLCAKLSAgICAxMzA3NTUsIDEzMDc2MCwgMTMwNzYyLCAxMzA3NjcsIDEzMDc2OSwgMTMwNzc0LCAxMzA3NzYsIDEzMDc4MSwgMTMwNzgzLCAKLSAgICAxMzA3ODYsIDEzMDc4OCwgMTMwNzkyLCAxMzA3OTQsIDEzMDgwMSwgMTMwODAzLCAxMzA4MDUsIDEzMDgwNywgMTMwODEyLCAKLSAgICAxMzA4MTQsIDEzMDgxNiwgMTMwODE4LCAxMzA4MjAsIDEzMDgyMiwgMTMwODI3LCAxMzA4MzEsIDEzMDgzMywgMTMwODM4LCAKLSAgICAxMzA4NDIsIDEzMDg0NCwgMTMwODQ5LCAxMzA4NTMsIDEzMDg1NSwgMTMwODYwLCAxMzA4NjQsIDEzMDg2NiwgMTMwODY4LCAKLSAgICAxMzA4NzAsIDEzMDg3MiwgMTMwODc2LCAxMzA4NzgsIDEzMDg4MywgMTMwODg1LCAxMzA4OTEsIDEzMDg5MywgMTMwODk5LCAKLSAgICAxMzA5MDEsIDEzMDkwMywgMTMwOTA1LCAxMzA5MDksIDEzMDkxMSwgMTMwOTE4LCAxMzA5MjAsIDEzMDkyNywgMTMwOTI5LCAKLSAgICAxMzA5MzQsIDEzMDkzOSwgMTMwOTQxLCAxMzA5NDcsIDEzMDk1MywgMTMwOTU1LCAxMzA5NjEsIDEzMDk2NiwgMTMwOTY4LCAKLSAgICAxMzA5NzQsIDEzMDk4MCwgMTMwOTgyLCAxMzA5ODgsIDEzMDk5NCwgMTMwOTk2LCAxMzEwMDIsIDEzMTAwNiwgMTMxMDA4LCAKLSAgICAxMzEwMTMsIDEzMTAxNSwgMTMxMDE3LCAxMzEwMjIsIDEzMTAyNCwgMTMxMDI2LCAxMzEwMzIsIDEzMTAzNCwgMTMxMDM5LCAKLSAgICAxMzEwNDMsIDEzMTA0NSwgMTMxMDUwLCAxMzEwNTQsIDEzMTA1NiwgMTMxMDYyLCAxMzEwNjQsIDEzMTA2OCwgMTMxMDcwLCAKLSAgICAxMzEwNzQsIDEzMTA3NiwgMTMxMDgzLCAxMzEwOTAsIDEzMTA5MiwgMTMxMDk5LCAxMzExMDYsIDEzMTEwOCwgMTMxMTEzLCAKLSAgICAxMzExMTUsIDEzMTEyMiwgMTMxMTI0LCAxMzExMjksIDEzMTEzMSwgMTMxMTM3LCAxMzExMzksIDEzMTE0MywgMTMxMTQ1LCAKLSAgICAxMzExNTEsIDEzMTE1MywgMTMxMTU3LCAxMzExNTksIDEzMTE2NSwgMTMxMTY3LCAxMzExNjksIDEzMTE3MSwgMTMxMTc2LCAKLSAgICAxMzExODEsIDEzMTE4MywgMTMxMTg1LCAxMzExOTQsIDEzMTE5OCwgMTMxMjA1LCAxMzEyMTIsIDEzMTIxNywgMTMxMjIyLCAKLSAgICAxMzEyMzQsIDEzMTIzNiwgMTMxMjM4LCAxMzEyNDAsIDEzMTI0MiwgMTMxMjQ0LCAxMzEyNDYsIDEzMTI0OCwgMTMxMjUwLCAKLSAgICAxMzEyNTIsIDEzMTI1NCwgMTMxMjU2LCAxMzEyNTgsIDEzMTI2MCwgMTMxMjYyLCAxMzEyNjQsIDEzMTI2NiwgMTMxMjY4LCAKLSAgICAxMzEyNzAsIDEzMTI3MiwgMTMxMjc0LCAxMzEyNzYsIDEzMTI4MiwgMTMxMjg5LCAxMzEyOTQsIDEzMTI5OSwgMTMxMzEwLCAKLSAgICAxMzEzMTIsIDEzMTMxNCwgMTMxMzE2LCAxMzEzMTgsIDEzMTMyMCwgMTMxMzIyLCAxMzEzMjQsIDEzMTMyNiwgMTMxMzI4LCAKLSAgICAxMzEzMzAsIDEzMTMzMiwgMTMxMzM0LCAxMzEzMzYsIDEzMTMzOCwgMTMxMzQwLCAxMzEzNDIsIDEzMTM0NywgMTMxMzQ5LCAKLSAgICAxMzEzNTEsIDEzMTM1NywgMTMxMzY5LCAxMzEzODAsIDEzMTM4MiwgMTMxMzg0LCAxMzEzODYsIDEzMTM4OCwgMTMxMzkwLCAKLSAgICAxMzEzOTIsIDEzMTM5NCwgMTMxMzk2LCAxMzEzOTgsIDEzMTQwMCwgMTMxNDAyLCAxMzE0MDQsIDEzMTQwNiwgMTMxNDA4LCAKLSAgICAxMzE0MTAsIDEzMTQxMiwgMTMxNDE0LCAxMzE0MTYsIDEzMTQxOCwgMTMxNDIwLCAxMzE0MjIsIDEzMTQyNCwgMTMxNDI2LCAKLSAgICAxMzE0MjgsIDEzMTQzMCwgMTMxNDMyLCAxMzE0MzQsIDEzMTQzNiwgMTMxNDM4LCAxMzE0NDAsIDEzMTQ0MiwgMTMxNDQ0LCAKLSAgICAxMzE0NDYsIDEzMTQ0OCwgMTMxNDUwLCAxMzE0NTIsIDEzMTQ1NCwgMTMxNDU2LCAxMzE0NTgsIDEzMTQ2MCwgMTMxNDYyLCAKLSAgICAxMzE0NjQsIDEzMTQ2NiwgMTMxNDY4LCAxMzE0NzAsIDEzMTQ3MiwgMTMxNDc0LCAxMzE0NzYsIDEzMTQ3OCwgMTMxNDgwLCAKLSAgICAxMzE0ODIsIDEzMTQ4NCwgMTMxNDg2LCAxMzE0ODgsIDEzMTQ5MCwgMTMxNDkyLCAxMzE0OTQsIDEzMTQ5NiwgMTMxNDk4LCAKLSAgICAxMzE1MDAsIDEzMTUwMiwgMTMxNTA0LCAxMzE1MDYsIDEzMTUwOCwgMTMxNTEwLCAxMzE1MTIsIDEzMTUxNCwgMTMxNTE2LCAKLSAgICAxMzE1MTgsIDEzMTUyMCwgMTMxNTIyLCAxMzE1MjQsIDEzMTUyNiwgMTMxNTI4LCAxMzE1MzAsIDEzMTUzMiwgMTMxNTM0LCAKLSAgICAxMzE1MzYsIDEzMTUzOCwgMTMxNTQwLCAxMzE1NDIsIDEzMTU0NCwgMTMxNTQ2LCAxMzE1NDgsIDEzMTU1MCwgMTMxNTUyLCAKLSAgICAxMzE1NTQsIDEzMTU1NiwgMTMxNTU4LCAxMzE1NjAsIDEzMTU2MiwgMTMxNTY0LCAxMzE1NjYsIDEzMTU2OCwgMTMxNTcwLCAKLSAgICAxMzE1NzIsIDEzMTU3NCwgMTMxNTc2LCAxMzE1NzgsIDEzMTU4MCwgMTMxNTgyLCAxMzE1ODQsIDEzMTU4NiwgMTMxNTg4LCAKLSAgICAxMzE1OTAsIDEzMTU5MiwgMTMxNTk0LCAxMzE1OTYsIDEzMTU5OCwgMTMxNjAwLCAxMzE2MDIsIDEzMTYwNCwgMTMxNjA2LCAKLSAgICAxMzE2MDgsIDEzMTYxMCwgMTMxNjEyLCAxMzE2MTQsIDEzMTYxNiwgMTMxNjE4LCAxMzE2MjAsIDEzMTYyMiwgMTMxNjI0LCAKLSAgICAxMzE2MjYsIDEzMTYyOCwgMTMxNjMwLCAxMzE2MzIsIDEzMTYzNCwgMTMxNjM2LCAxMzE2MzgsIDEzMTY0MCwgMTMxNjQyLCAKLSAgICAxMzE2NDQsIDEzMTY0NiwgMTMxNjQ4LCAxMzE2NTAsIDEzMTY1MiwgMTMxNjU0LCAxMzE2NTYsIDEzMTY1OCwgMTMxNjYwLCAKLSAgICAxMzE2NjIsIDEzMTY2NCwgMTMxNjY2LCAxMzE2NjgsIDEzMTY3MCwgMTMxNjcyLCAxMzE2NzQsIDEzMTY3NiwgMTMxNjc4LCAKLSAgICAxMzE2ODAsIDEzMTY4MiwgMTMxNjg0LCAxMzE2ODYsIDEzMTY4OCwgMTMxNjkwLCAxMzE2OTIsIDEzMTY5NCwgMTMxNjk2LCAKLSAgICAxMzE2OTgsIDEzMTcwMCwgMTMxNzAyLCAxMzE3MDQsIDEzMTcwNiwgMTMxNzA4LCAxMzE3MTAsIDEzMTcxMiwgMTMxNzE0LCAKLSAgICAxMzE3MTYsIDEzMTcxOCwgMTMxNzIwLCAxMzE3MjIsIDEzMTcyNCwgMTMxNzI2LCAxMzE3MjgsIDEzMTczMCwgMTMxNzMyLCAKLSAgICAxMzE3MzQsIDEzMTczNiwgMTMxNzM4LCAxMzE3NDAsIDEzMTc0MiwgMTMxNzQ0LCAxMzE3NDYsIDEzMTc0OCwgMTMxNzUwLCAKLSAgICAxMzE3NTIsIDEzMTc1NCwgMTMxNzU2LCAxMzE3NTgsIDEzMTc2MCwgMTMxNzYyLCAxMzE3NjQsIDEzMTc2NiwgMTMxNzY4LCAKLSAgICAxMzE3NzAsIDEzMTc3MiwgMTMxNzc0LCAxMzE3NzYsIDEzMTc3OCwgMTMxNzgwLCAxMzE3ODIsIDEzMTc4NCwgMTMxNzg2LCAKLSAgICAxMzE3ODgsIDEzMTc5MCwgMTMxNzkyLCAxMzE3OTQsIDEzMTc5NiwgMTMxNzk4LCAxMzE4MDAsIDEzMTgwMiwgMTMxODA0LCAKLSAgICAxMzE4MDYsIDEzMTgwOCwgMTMxODEwLCAxMzE4MTIsIDEzMTgxNCwgMTMxODE2LCAxMzE4MTgsIDEzMTgyMCwgMTMxODIyLCAKLSAgICAxMzE4MjQsIDEzMTgyNiwgMTMxODI4LCAxMzE4MzAsIDEzMTgzMiwgMTMxODM0LCAxMzE4MzYsIDEzMTgzOCwgMTMxODQwLCAKLSAgICAxMzE4NDIsIDEzMTg0NCwgMTMxODQ2LCAxMzE4NDgsIDEzMTg1MCwgMTMxODUyLCAxMzE4NTQsIDEzMTg1NiwgMTMxODU4LCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMzE4NjAsIDEzMTg3MCwgMTMxODgwLCAxMzE4ODksIDEzMTg5OCwgMTMxOTExLCAKLSAgICAxMzE5MjQsIDEzMTkzNiwgMTMxOTQ4LCAxMzE5NTgsIDEzMTk2OCwgMTMxOTc4LCAxMzE5ODgsIDEzMTk5OSwgMTMyMDEwLCAKLSAgICAxMzIwMjAsIDEzMjAyOSwgMTMyMDM4LCAxMzIwNDcsIDEzMjA2MCwgMTMyMDczLCAxMzIwODUsIDEzMjA5NywgMTMyMTA3LCAKLSAgICAxMzIxMTcsIDEzMjEyNywgMTMyMTM3LCAxMzIxNDYsIDEzMjE1NSwgMTMyMTY0LCAxMzIxNzMsIDEzMjE4MiwgMTMyMTkxLCAKLSAgICAxMzIyMDAsIDEzMjIwOSwgMTMyMjE4LCAxMzIyMjcsIDEzMjIzNiwgMTMyMjQ1LCAxMzIyNTYsIDEzMjI2NiwgMTMyMjc2LCAKLSAgICAxMzIyODksIDEzMjI5OSwgMTMyMzEyLCAxMzIzMTksIDEzMjMyOSwgMTMyMzM2LCAxMzIzNDMsIDEzMjM1MCwgMTMyMzU3LCAKLSAgICAxMzIzNjQsIDEzMjM3MSwgMTMyMzgwLCAxMzIzODksIDEzMjM5OCwgMTMyNDA3LCAxMzI0MTYsIDEzMjQyNSwgMTMyNDM0LCAKLSAgICAxMzI0NDMsIDEzMjQ1MSwgMTMyNDU5LCAxMzI0NjYsIDEzMjQ3NiwgMTMyNDg1LCAxMzI0OTMsIDEzMjUwMCwgMTMyNTEwLCAKLSAgICAxMzI1MTksIDEzMjUyOSwgMTMyNTM5LCAxMzI1NTAsIDEzMjU2MCwgMTMyNTY5LCAxMzI1NzksIDEzMjU4OCwgMTMyNTk4LCAKLSAgICAxMzI2MDYsIDEzMjYxMCwgMTMyNjE0LCAxMzI2MTgsIDEzMjYyMiwgMTMyNjI2LCAxMzI2MzAsIDEzMjYzNCwgMTMyNjM4LCAKLSAgICAxMzI2NDIsIDEzMjY0NiwgMTMyNjQ5LCAxMzI2NTMsIDEzMjY1NiwgMTMyNjU5LCAxMzI2NjMsIDEzMjY2NywgMTMyNjcxLCAKLSAgICAxMzI2NzUsIDEzMjY3OSwgMTMyNjgzLCAxMzI2ODcsIDEzMjY5MSwgMTMyNjk1LCAxMzI2OTksIDEzMjcwMywgMTMyNzA3LCAKLSAgICAxMzI3MTEsIDEzMjcxNSwgMTMyNzE5LCAxMzI3MjMsIDEzMjcyNywgMTMyNzMxLCAxMzI3MzUsIDEzMjczOSwgMTMyNzQzLCAKLSAgICAxMzI3NDcsIDEzMjc1MSwgMTMyNzU1LCAxMzI3NTksIDEzMjc2MywgMTMyNzY3LCAxMzI3NzEsIDEzMjc3NSwgMTMyNzc5LCAKLSAgICAxMzI3ODMsIDEzMjc4NywgMTMyNzkxLCAxMzI3OTUsIDEzMjc5OSwgMTMyODAzLCAxMzI4MDcsIDEzMjgxMSwgMTMyODE1LCAKLSAgICAxMzI4MTksIDEzMjgyMywgMTMyODI3LCAxMzI4MzEsIDEzMjgzNSwgMTMyODM5LCAxMzI4NDMsIDEzMjg0NywgMTMyODUxLCAKLSAgICAxMzI4NTUsIDEzMjg1OSwgMTMyODYzLCAxMzI4NjcsIDEzMjg3MSwgMTMyODc1LCAxMzI4NzksIDEzMjg4MywgMTMyODg3LCAKLSAgICAxMzI4OTEsIDEzMjg5NSwgMTMyODk5LCAxMzI5MDMsIDEzMjkwNywgMTMyOTExLCAxMzI5MTUsIDEzMjkxOSwgMTMyOTIzLCAKLSAgICAxMzI5MjcsIDEzMjkzMSwgMTMyOTM1LCAxMzI5MzksIDEzMjk0MywgMTMyOTQ3LCAxMzI5NTEsIDEzMjk1NSwgMTMyOTU5LCAKLSAgICAxMzI5NjMsIDEzMjk2NywgMTMyOTcxLCAxMzI5NzUsIDEzMjk3OSwgMTMyOTgzLCAxMzI5ODcsIDEzMjk5MSwgMTMyOTk1LCAKLSAgICAxMzI5OTksIDEzMzAwMiwgMTMzMDA2LCAxMzMwMTAsIDEzMzAxNCwgMTMzMDE4LCAxMzMwMjIsIDEzMzAyNiwgMTMzMDMwLCAKLSAgICAxMzMwMzQsIDEzMzAzOCwgMTMzMDQyLCAxMzMwNDYsIDEzMzA1MCwgMTMzMDU0LCAxMzMwNTgsIDEzMzA2MiwgMTMzMDY2LCAKLSAgICAxMzMwNzAsIDEzMzA3NCwgMTMzMDc4LCAxMzMwODIsIDEzMzA4NiwgMTMzMDkwLCAxMzMwOTQsIDEzMzA5OCwgMTMzMTAyLCAKLSAgICAxMzMxMDYsIDEzMzExMCwgMTMzMTE0LCAxMzMxMTgsIDEzMzEyMiwgMTMzMTI2LCAxMzMxMzAsIDEzMzEzNCwgMTMzMTM4LCAKLSAgICAxMzMxNDIsIDEzMzE0NiwgMTMzMTUwLCAxMzMxNTQsIDEzMzE1OCwgMTMzMTYyLCAxMzMxNjYsIDEzMzE3MCwgMTMzMTc0LCAKLSAgICAxMzMxNzgsIDEzMzE4MiwgMTMzMTg2LCAxMzMxOTAsIDEzMzE5NCwgMTMzMTk4LCAxMzMyMDIsIDEzMzIwNiwgMTMzMjEwLCAKLSAgICAxMzMyMTQsIDEzMzIxOCwgMTMzMjIyLCAxMzMyMjYsIDEzMzIzMCwgMTMzMjM0LCAxMzMyMzgsIDEzMzI0MiwgMTMzMjQ2LCAKLSAgICAxMzMyNTAsIDEzMzI1NCwgMTMzMjU4LCAxMzMyNjIsIDEzMzI2NiwgMTMzMjcwLCAxMzMyNzQsIDEzMzI3OCwgMTMzMjgyLCAKLSAgICAxMzMyODYsIDEzMzI5MCwgMTMzMjk0LCAxMzMyOTgsIDEzMzMwMiwgMTMzMzA2LCAxMzMzMTAsIDEzMzMxNCwgMTMzMzE4LCAKLSAgICAxMzMzMjIsIDEzMzMyNiwgMTMzMzMwLCAxMzMzMzQsIDEzMzMzOCwgMTMzMzQyLCAxMzMzNDYsIDEzMzM1MCwgMTMzMzU0LCAKLSAgICAxMzMzNTgsIDEzMzM2MiwgMTMzMzY2LCAxMzMzNzAsIDEzMzM3NCwgMTMzMzc4LCAxMzMzODIsIDEzMzM4NiwgMTMzMzkwLCAKLSAgICAxMzMzOTQsIDEzMzM5OCwgMTMzNDAyLCAxMzM0MDYsIDEzMzQxMCwgMTMzNDE0LCAxMzM0MTgsIDEzMzQyMiwgMTMzNDI2LCAKLSAgICAxMzM0MzAsIDEzMzQzNCwgMTMzNDM4LCAxMzM0NDIsIDEzMzQ0NiwgMTMzNDUwLCAxMzM0NTQsIDEzMzQ1OCwgMTMzNDYyLCAKLSAgICAxMzM0NjYsIDEzMzQ3MCwgMTMzNDc0LCAxMzM0NzgsIDEzMzQ4MiwgMTMzNDg2LCAxMzM0OTAsIDEzMzQ5NCwgMTMzNDk4LCAKLSAgICAxMzM1MDIsIDEzMzUwNiwgMTMzNTEwLCAxMzM1MTQsIDEzMzUxOCwgMTMzNTIyLCAxMzM1MjYsIDEzMzUzMCwgMTMzNTM0LCAKLSAgICAxMzM1MzgsIDEzMzU0MiwgMTMzNTQ2LCAxMzM1NTAsIDEzMzU1NCwgMTMzNTU4LCAxMzM1NjIsIDEzMzU2NiwgMTMzNTcwLCAKLSAgICAxMzM1NzQsIDEzMzU3OCwgMTMzNTgyLCAxMzM1ODYsIDEzMzU5MCwgMTMzNTk0LCAxMzM1OTgsIDEzMzYwMiwgMTMzNjA2LCAKLSAgICAxMzM2MTAsIDEzMzYxNCwgMTMzNjE4LCAxMzM2MjIsIDEzMzYyNiwgMTMzNjMwLCAxMzM2MzQsIDEzMzYzOCwgMTMzNjQyLCAKLSAgICAxMzM2NDYsIDEzMzY1MCwgMTMzNjU0LCAxMzM2NTgsIDEzMzY2MiwgMTMzNjY2LCAxMzM2NzAsIDEzMzY3NCwgMTMzNjc4LCAKLSAgICAxMzM2ODIsIDEzMzY4NiwgMTMzNjkwLCAxMzM2OTQsIDEzMzY5OCwgMTMzNzAyLCAxMzM3MDYsIDEzMzcxMCwgMTMzNzE0LCAKLSAgICAxMzM3MTgsIDEzMzcyMiwgMTMzNzI2LCAxMzM3MzAsIDEzMzczNCwgMTMzNzM4LCAxMzM3NDIsIDEzMzc0NiwgMTMzNzUwLCAKLSAgICAxMzM3NTQsIDEzMzc1OCwgMTMzNzYyLCAxMzM3NjYsIDEzMzc3MSwgMTMzNzc2LCAxMzM3ODEsIDEzMzc4NSwgMTMzNzkxLCAKLSAgICAxMzM3OTgsIDEzMzgwNSwgMTMzODEyLCAxMzM4MTksIDEzMzgyNiwgMTMzODMzLCAxMzM4NDAsIDEzMzg0NywgMTMzODU0LCAKLSAgICAxMzM4NjEsIDEzMzg2OCwgMTMzODc1LCAxMzM4ODIsIDEzMzg4OCwgMTMzODk1LCAxMzM5MDIsIDEzMzkwOCwgMTMzOTE1LCAKLSAgICAxMzM5MjIsIDEzMzkyOSwgMTMzOTM2LCAxMzM5NDMsIDEzMzk1MCwgMTMzOTU3LCAxMzM5NjQsIDEzMzk3MSwgMTMzOTc4LCAKLSAgICAxMzM5ODUsIDEzMzk5MiwgMTMzOTk5LCAxMzQwMDUsIDEzNDAxMSwgMTM0MDE4LCAxMzQwMjUsIDEzNDAzNCwgMTM0MDQzLCAKLSAgICAxMzQwNTIsIDEzNDA2MSwgMTM0MDY2LCAxMzQwNzEsIDEzNDA3NywgMTM0MDgzLCAxMzQwODksIDEzNDA5NSwgMTM0MTAxLCAKLSAgICAxMzQxMDcsIDEzNDExMywgMTM0MTE5LCAxMzQxMjUsIDEzNDEzMSwgMTM0MTM3LCAxMzQxNDMsIDEzNDE0OCwgMTM0MTU0LCAKLSAgICAxMzQxNjQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDEwMDk4MCwgMTAwOTg0LCAxMDA5ODgsIDEwMDk5MiwgMTAwOTk2LCAxMDEwMDAsIDEwMTAwNCwgCisgICAgMTAxMDA4LCAxMDEwMTIsIDEwMTAxNiwgMTAxMDIxLCAxMDEwMjYsIDEwMTAzMSwgMTAxMDM2LCAxMDEwNDEsIDEwMTA0NiwgCisgICAgMTAxMDUxLCAxMDEwNTYsIDEwMTA2MSwgMTAxMDY3LCAxMDEwNzMsIDEwMTA3OSwgMTAxMDg2LCAxMDEwOTMsIDEwMTEwMCwgCisgICAgMTAxMTA3LCAxMDExMTQsIDEwMTEyMSwgMTAxMTI4LCAxMDExMzUsIDEwMTE0MiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMTAxMTQ5LCAxMDExNTMsIDEwMTE1NywgMTAxMTYxLCAxMDExNjUsIDEwMTE2OSwgMTAxMTcyLCAxMDExNzYsIAorICAgIDEwMTE3OSwgMTAxMTgzLCAxMDExODYsIDEwMTE5MCwgMTAxMTk0LCAxMDExOTksIDEwMTIwMywgMTAxMjA4LCAxMDEyMTEsIAorICAgIDEwMTIxNSwgMTAxMjE4LCAxMDEyMjIsIDEwMTIyNSwgMTAxMjI5LCAxMDEyMzMsIDEwMTIzNywgMTAxMjQxLCAxMDEyNDUsIAorICAgIDEwMTI0OSwgMTAxMjUzLCAxMDEyNTcsIDEwMTI2MSwgMTAxMjY1LCAxMDEyNjksIDEwMTI3MywgMTAxMjc3LCAxMDEyODEsIAorICAgIDEwMTI4NSwgMTAxMjg5LCAxMDEyOTMsIDEwMTI5NywgMTAxMzAwLCAxMDEzMDMsIDEwMTMwNywgMTAxMzExLCAxMDEzMTUsIAorICAgIDEwMTMxOCwgMTAxMzIxLCAxMDEzMjUsIDEwMTMyOSwgMTAxMzMzLCAxMDEzMzcsIDEwMTM0MSwgMTAxMzQ1LCAxMDEzNDgsIAorICAgIDEwMTM1MiwgMTAxMzU4LCAxMDEzNjQsIDEwMTM3MCwgMTAxMzc1LCAxMDEzODIsIDEwMTM4NiwgMTAxMzkxLCAxMDEzOTUsIAorICAgIDEwMTQwMCwgMTAxNDA1LCAxMDE0MTEsIDEwMTQxNiwgMTAxNDIyLCAxMDE0MjYsIDEwMTQzMSwgMTAxNDM1LCAxMDE0NDAsIAorICAgIDEwMTQ0MywgMTAxNDQ2LCAxMDE0NTAsIDEwMTQ1NSwgMTAxNDYxLCAxMDE0NjYsIDEwMTQ3MiwgMCwgMCwgMCwgMCwgCisgICAgMTAxNDc3LCAxMDE0ODAsIDEwMTQ4MywgMTAxNDg2LCAxMDE0ODksIDEwMTQ5MiwgMTAxNDk1LCAxMDE0OTgsIDEwMTUwMSwgCisgICAgMTAxNTA0LCAxMDE1MDgsIDEwMTUxMiwgMTAxNTE2LCAxMDE1MjAsIDEwMTUyNCwgMTAxNTI4LCAxMDE1MzIsIDEwMTUzNiwgCisgICAgMTAxNTQwLCAxMDE1NDUsIDEwMTU1MCwgMTAxNTU0LCAxMDE1NTcsIDEwMTU2MCwgMTAxNTYzLCAxMDE1NjYsIDEwMTU2OSwgCisgICAgMTAxNTcyLCAxMDE1NzUsIDEwMTU3OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMTAxNTgxLCAxMDE1ODUsIDEwMTU5MCwgMTAxNTk1LCAxMDE2MDAsIDEwMTYwNCwgMTAxNjA5LCAxMDE2MTMsIDEwMTYxOCwgCisgICAgMTAxNjIyLCAxMDE2MjcsIDEwMTYzMSwgMTAxNjM2LCAxMDE2NDAsIDEwMTY0NSwgMTAxNjQ5LCAxMDE2NTQsIDEwMTY1OSwgCisgICAgMTAxNjY0LCAxMDE2NjksIDEwMTY3NCwgMTAxNjc5LCAxMDE2ODQsIDEwMTY4OSwgMTAxNjk0LCAxMDE2OTksIDEwMTcwNCwgCisgICAgMTAxNzA5LCAxMDE3MTQsIDEwMTcxOSwgMTAxNzI0LCAxMDE3MjksIDEwMTczNCwgMTAxNzM5LCAxMDE3NDQsIDEwMTc0OSwgCisgICAgMTAxNzUzLCAxMDE3NTcsIDEwMTc2MiwgMTAxNzY3LCAxMDE3NzIsIDEwMTc3NiwgMTAxNzgwLCAxMDE3ODUsIDEwMTc5MCwgCisgICAgMTAxNzk1LCAxMDE4MDAsIDEwMTgwNSwgMTAxODEwLCAxMDE4MTQsIDEwMTgyMCwgMTAxODI1LCAxMDE4MzEsIDEwMTgzNiwgCisgICAgMTAxODQyLCAxMDE4NDcsIDEwMTg1MywgMTAxODU4LCAxMDE4NjQsIDEwMTg2OSwgMTAxODc0LCAxMDE4NzksIDEwMTg4NCwgCisgICAgMTAxODg4LCAxMDE4OTMsIDEwMTg5OSwgMTAxOTAzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAxMDE5MDgsIDEwMTkxNSwgMTAxOTIyLCAxMDE5MjksIDEwMTkzNiwgMTAxOTQzLCAxMDE5NTAsIDEwMTk1NywgMTAxOTY0LCAKKyAgICAxMDE5NzEsIDEwMTk3OCwgMTAxOTg1LCAxMDE5OTIsIDEwMTk5OSwgMTAyMDA2LCAxMDIwMTMsIDEwMjAyMCwgMTAyMDI3LCAKKyAgICAxMDIwMzQsIDEwMjA0MSwgMTAyMDQ4LCAxMDIwNTUsIDEwMjA2MiwgMTAyMDY5LCAxMDIwNzYsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDEwMjA4MywgMTAyMDkwLCAxMDIwOTYsIDEwMjEwMiwgMTAyMTA4LCAxMDIxMTQsIDEwMjEyMCwgMTAyMTI2LCAKKyAgICAxMDIxMzIsIDEwMjEzOCwgMCwgMCwgMCwgMCwgMCwgMCwgMTAyMTQ0LCAxMDIxNDksIDEwMjE1NCwgMTAyMTU5LCAxMDIxNjQsIAorICAgIDEwMjE2OCwgMTAyMTcyLCAxMDIxNzYsIDEwMjE4MSwgMTAyMTg2LCAxMDIxOTEsIDEwMjE5NiwgMTAyMjAxLCAxMDIyMDYsIAorICAgIDEwMjIxMSwgMTAyMjE2LCAxMDIyMjEsIDEwMjIyNiwgMTAyMjMxLCAxMDIyMzYsIDEwMjI0MSwgMTAyMjQ2LCAxMDIyNTEsIAorICAgIDEwMjI1NiwgMTAyMjYxLCAxMDIyNjYsIDEwMjI3MSwgMTAyMjc2LCAxMDIyODEsIDEwMjI4NiwgMTAyMjkxLCAxMDIyOTYsIAorICAgIDEwMjMwMSwgMTAyMzA2LCAxMDIzMTEsIDEwMjMxNiwgMTAyMzIxLCAxMDIzMjYsIDEwMjMzMSwgMTAyMzM2LCAxMDIzNDEsIAorICAgIDEwMjM0NiwgMTAyMzUyLCAxMDIzNTcsIDEwMjM2MywgMTAyMzY4LCAxMDIzNzQsIDEwMjM3OSwgMTAyMzg1LCAxMDIzOTEsIAorICAgIDEwMjM5NSwgMTAyNDAwLCAxMDI0MDQsIDAsIDEwMjQwOCwgMTAyNDEzLCAxMDI0MTcsIDEwMjQyMSwgMTAyNDI1LCAKKyAgICAxMDI0MjksIDEwMjQzMywgMTAyNDM3LCAxMDI0NDEsIDEwMjQ0NSwgMTAyNDQ5LCAxMDI0NTQsIDEwMjQ1OCwgMTAyNDYzLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMDI0NjgsIDEwMjQ3MiwgMTAyNDc2LCAxMDI0ODAsIAorICAgIDEwMjQ4NCwgMTAyNDg4LCAxMDI0OTIsIDEwMjQ5NywgMTAyNTAyLCAxMDI1MDcsIDEwMjUxMiwgMTAyNTE3LCAxMDI1MjIsIAorICAgIDEwMjUyNywgMTAyNTMyLCAxMDI1MzcsIDEwMjU0MiwgMTAyNTQ3LCAxMDI1NTIsIDEwMjU1NywgMTAyNTYyLCAxMDI1NjcsIAorICAgIDEwMjU3MiwgMTAyNTc3LCAxMDI1ODEsIDEwMjU4NSwgMTAyNTkwLCAxMDI1OTUsIDEwMjYwMCwgMTAyNjA0LCAxMDI2MDksIAorICAgIDEwMjYxNCwgMTAyNjE5LCAxMDI2MjQsIDEwMjYyOCwgMTAyNjMzLCAxMDI2MzgsIDEwMjY0MywgMTAyNjQ4LCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAxMDI2NTMsIDEwMjY1NywgMTAyNjYxLCAxMDI2NjUsIDEwMjY2OCwgMTAyNjcyLCAxMDI2NzUsIAorICAgIDEwMjY3OSwgMTAyNjgyLCAxMDI2ODYsIDEwMjY5MCwgMTAyNjk1LCAxMDI2OTksIDEwMjcwNCwgMTAyNzA3LCAxMDI3MTEsIAorICAgIDEwMjcxNCwgMTAyNzE4LCAxMDI3MjEsIDEwMjcyNSwgMTAyNzI5LCAxMDI3MzMsIDEwMjczNywgMTAyNzQxLCAxMDI3NDUsIAorICAgIDEwMjc0OSwgMTAyNzUzLCAxMDI3NTcsIDEwMjc2MSwgMTAyNzY1LCAxMDI3NjksIDEwMjc3MywgMTAyNzc3LCAxMDI3ODEsIAorICAgIDEwMjc4NSwgMTAyNzg5LCAxMDI3OTMsIDEwMjc5NiwgMTAyNzk5LCAxMDI4MDMsIDEwMjgwNywgMTAyODExLCAxMDI4MTQsIAorICAgIDEwMjgxNywgMTAyODIxLCAxMDI4MjUsIDEwMjgyOSwgMTAyODMzLCAxMDI4MzcsIDEwMjg0MSwgMTAyODQ1LCAxMDI4NDgsIAorICAgIDEwMjg1MywgMTAyODU3LCAxMDI4NjIsIDEwMjg2NiwgMTAyODcxLCAxMDI4NzYsIDEwMjg4MiwgMTAyODg3LCAxMDI4OTMsIAorICAgIDEwMjg5NywgMTAyOTAyLCAxMDI5MDYsIDEwMjkxMSwgMTAyOTE1LCAxMDI5MTksIDEwMjkyMywgMTAyOTI3LCAxMDI5MzAsIAorICAgIDEwMjkzMywgMTAyOTM3LCAxMDI5NDEsIDAsIDAsIDAsIDAsIDEwMjk0NCwgMCwgMCwgMTAyOTQ4LCAxMDI5NTIsIDEwMjk1NSwgCisgICAgMTAyOTU4LCAxMDI5NjEsIDEwMjk2NCwgMTAyOTY3LCAxMDI5NzAsIDEwMjk3MywgMTAyOTc2LCAxMDI5NzksIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDEwMjk4MiwgMTAyOTg3LCAxMDI5OTIsIDEwMjk5NywgMTAzMDAyLCAxMDMwMDcsIDEwMzAxMiwgMTAzMDE3LCAKKyAgICAxMDMwMjIsIDEwMzAyNywgMTAzMDMzLCAxMDMwMzksIDEwMzA0NSwgMTAzMDUxLCAxMDMwNTcsIDEwMzA2MywgMTAzMDY5LCAKKyAgICAxMDMwNzUsIDEwMzA4MSwgMTAzMDg4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMDMwOTUsIDEwMzA5OSwgCisgICAgMTAzMTA0LCAxMDMxMDgsIDEwMzExMiwgMTAzMTE2LCAxMDMxMjEsIDEwMzEyNSwgMTAzMTMwLCAxMDMxMzQsIDEwMzEzOSwgCisgICAgMTAzMTQ0LCAxMDMxNDksIDEwMzE1NCwgMTAzMTU5LCAxMDMxNjQsIDEwMzE2OSwgMTAzMTc0LCAwLCAxMDMxNzksIAorICAgIDEwMzE4NCwgMTAzMTg5LCAxMDMxOTQsIDEwMzE5OSwgMTAzMjA0LCAxMDMyMDksIDEwMzIxNCwgMTAzMjE5LCAxMDMyMjQsIAorICAgIDEwMzIyOSwgMTAzMjM0LCAxMDMyMzgsIDEwMzI0MiwgMTAzMjQ3LCAxMDMyNTIsIDEwMzI1NywgMTAzMjYyLCAxMDMyNjYsIAorICAgIDEwMzI3MCwgMTAzMjc1LCAxMDMyODAsIDEwMzI4NSwgMTAzMjkwLCAxMDMyOTQsIDEwMzI5OSwgMTAzMzA1LCAxMDMzMTAsIAorICAgIDEwMzMxNiwgMTAzMzIxLCAxMDMzMjYsIDEwMzMzMiwgMTAzMzM3LCAxMDMzNDMsIDEwMzM0OCwgMTAzMzUzLCAxMDMzNTgsIAorICAgIDEwMzM2MywgMTAzMzY3LCAxMDMzNzIsIDEwMzM3OCwgMTAzMzgzLCAxMDMzODksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEwMzM5NCwgMTAzMzk4LCAxMDM0MDMsIDEwMzQwNywgMTAzNDEyLCAKKyAgICAxMDM0MTYsIDEwMzQyMSwgMTAzNDI1LCAxMDM0MzAsIDEwMzQzNCwgMTAzNDM5LCAxMDM0NDMsIDEwMzQ0OCwgMTAzNDUzLCAKKyAgICAxMDM0NTgsIDEwMzQ2MywgMTAzNDY4LCAxMDM0NzMsIDEwMzQ3OCwgMTAzNDgzLCAxMDM0ODgsIDEwMzQ5MywgMTAzNDk4LCAKKyAgICAxMDM1MDMsIDEwMzUwOCwgMTAzNTEzLCAxMDM1MTgsIDEwMzUyMywgMTAzNTI4LCAxMDM1MzMsIDEwMzUzOCwgMTAzNTQzLCAKKyAgICAxMDM1NDgsIDEwMzU1MywgMTAzNTU3LCAxMDM1NjEsIDEwMzU2NiwgMTAzNTcxLCAxMDM1NzYsIDEwMzU4MSwgMTAzNTg1LCAKKyAgICAxMDM1ODksIDEwMzU5NCwgMTAzNTk5LCAxMDM2MDQsIDEwMzYwOSwgMTAzNjE0LCAxMDM2MTgsIDEwMzYyMywgMTAzNjI5LCAKKyAgICAxMDM2MzQsIDEwMzY0MCwgMTAzNjQ1LCAxMDM2NTEsIDEwMzY1NiwgMTAzNjYyLCAxMDM2NjcsIDEwMzY3MywgMTAzNjc4LCAKKyAgICAwLCAwLCAwLCAwLCAwLCAxMDM2ODMsIDEwMzY4OCwgMTAzNjkyLCAxMDM2OTYsIDEwMzcwMCwgMTAzNzA0LCAxMDM3MDgsIAorICAgIDEwMzcxMiwgMTAzNzE2LCAxMDM3MjAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEwMzcyNCwgMTAzNzI5LCAxMDM3MzQsIDAsIAorICAgIDEwMzczOSwgMTAzNzQzLCAxMDM3NDgsIDEwMzc1MiwgMTAzNzU3LCAxMDM3NjEsIDEwMzc2NiwgMTAzNzcxLCAwLCAwLCAKKyAgICAxMDM3NzYsIDEwMzc4MSwgMCwgMCwgMTAzNzg2LCAxMDM3OTEsIDEwMzc5NiwgMTAzODAwLCAxMDM4MDUsIDEwMzgxMCwgCisgICAgMTAzODE1LCAxMDM4MjAsIDEwMzgyNSwgMTAzODMwLCAxMDM4MzUsIDEwMzg0MCwgMTAzODQ1LCAxMDM4NTAsIDEwMzg1NSwgCisgICAgMTAzODYwLCAxMDM4NjUsIDEwMzg3MCwgMTAzODc1LCAxMDM4ODAsIDEwMzg4NSwgMTAzODkwLCAwLCAxMDM4OTQsIAorICAgIDEwMzg5OCwgMTAzOTAzLCAxMDM5MDgsIDEwMzkxMywgMTAzOTE3LCAxMDM5MjEsIDAsIDEwMzkyNiwgMTAzOTMxLCAwLCAKKyAgICAxMDM5MzYsIDEwMzk0MSwgMTAzOTQ2LCAxMDM5NTEsIDEwMzk1NiwgMCwgMCwgMTAzOTYwLCAxMDM5NjUsIDEwMzk3MCwgCisgICAgMTAzOTc2LCAxMDM5ODEsIDEwMzk4NywgMTAzOTkyLCAxMDM5OTgsIDEwNDAwNCwgMCwgMCwgMTA0MDExLCAxMDQwMTcsIDAsIAorICAgIDAsIDEwNDAyMywgMTA0MDI5LCAxMDQwMzUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEwNDA0MCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMTA0MDQ3LCAxMDQwNTIsIDEwNDA1OSwgMTA0MDY3LCAxMDQwNzMsIDEwNDA3OSwgMTA0MDg1LCAwLCAwLCAxMDQwOTIsIAorICAgIDEwNDA5OCwgMTA0MTAzLCAxMDQxMDgsIDEwNDExMywgMTA0MTE4LCAxMDQxMjMsIDAsIDAsIDAsIDEwNDEyOCwgMTA0MTMzLCAKKyAgICAxMDQxMzgsIDEwNDE0MywgMTA0MTQ5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMDQxNTQsIDEwNDE1OCwgMTA0MTYyLCAxMDQxNjcsIDEwNDE3MSwgCisgICAgMTA0MTc2LCAxMDQxODAsIDEwNDE4NSwgMTA0MTkwLCAxMDQxOTYsIDEwNDIwMSwgMTA0MjA3LCAxMDQyMTEsIDEwNDIxNiwgCisgICAgMTA0MjIwLCAxMDQyMjUsIDEwNDIyOSwgMTA0MjM0LCAxMDQyMzksIDEwNDI0NCwgMTA0MjQ5LCAxMDQyNTQsIDEwNDI1OSwgCisgICAgMTA0MjY0LCAxMDQyNjksIDEwNDI3NCwgMTA0Mjc5LCAxMDQyODQsIDEwNDI4OSwgMTA0Mjk0LCAxMDQyOTksIDEwNDMwNCwgCisgICAgMTA0MzA5LCAxMDQzMTQsIDEwNDMxOSwgMTA0MzIzLCAxMDQzMjcsIDEwNDMzMiwgMTA0MzM3LCAxMDQzNDIsIDEwNDM0NiwgCisgICAgMTA0MzUwLCAxMDQzNTUsIDEwNDM2MCwgMTA0MzY1LCAxMDQzNzAsIDEwNDM3NSwgMTA0MzgwLCAxMDQzODQsIDEwNDM5MCwgCisgICAgMTA0Mzk1LCAxMDQ0MDEsIDEwNDQwNiwgMTA0NDEyLCAxMDQ0MTgsIDEwNDQyNSwgMTA0NDMxLCAxMDQ0MzgsIDEwNDQ0MywgCisgICAgMTA0NDUwLCAxMDQ0NTYsIDEwNDQ2MSwgMTA0NDY4LCAxMDQ0NzQsIDEwNDQ3OSwgMTA0NDg0LCAxMDQ0ODksIDEwNDQ5NCwgCisgICAgMTA0NDk5LCAxMDQ1MDQsIDEwNDUwOCwgMTA0NTEzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMDQ1MTcsIDEwNDUyMiwgCisgICAgMTA0NTI2LCAxMDQ1MzAsIDEwNDUzNCwgMTA0NTM4LCAxMDQ1NDIsIDEwNDU0NiwgMTA0NTUwLCAxMDQ1NTQsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEwNDU1OCwgMTA0NTYyLCAKKyAgICAxMDQ1NjcsIDEwNDU3MSwgMTA0NTc2LCAxMDQ1ODAsIDEwNDU4NSwgMTA0NTkwLCAxMDQ1OTYsIDEwNDYwMSwgMTA0NjA3LCAKKyAgICAxMDQ2MTEsIDEwNDYxNiwgMTA0NjIwLCAxMDQ2MjUsIDEwNDYyOSwgMTA0NjM0LCAxMDQ2MzksIDEwNDY0NCwgMTA0NjQ5LCAKKyAgICAxMDQ2NTQsIDEwNDY1OSwgMTA0NjY0LCAxMDQ2NjksIDEwNDY3NCwgMTA0Njc5LCAxMDQ2ODQsIDEwNDY4OSwgMTA0Njk0LCAKKyAgICAxMDQ2OTksIDEwNDcwNCwgMTA0NzA5LCAxMDQ3MTQsIDEwNDcxOSwgMTA0NzIzLCAxMDQ3MjcsIDEwNDczMiwgMTA0NzM3LCAKKyAgICAxMDQ3NDIsIDEwNDc0NiwgMTA0NzUwLCAxMDQ3NTUsIDEwNDc2MCwgMTA0NzY1LCAxMDQ3NzAsIDEwNDc3NSwgMTA0NzgwLCAKKyAgICAxMDQ3ODQsIDEwNDc5MCwgMTA0Nzk1LCAxMDQ4MDEsIDEwNDgwNiwgMTA0ODEyLCAxMDQ4MTgsIDAsIDAsIDEwNDgyNSwgCisgICAgMTA0ODMwLCAxMDQ4MzYsIDEwNDg0MSwgMTA0ODQ3LCAxMDQ4NTIsIDEwNDg1NywgMTA0ODYyLCAxMDQ4NjcsIDEwNDg3MiwgCisgICAgMTA0ODc3LCAxMDQ4ODEsIDEwNDg4NiwgMTA0ODkyLCAxMDQ4OTcsIDEwNDkwMywgMTA0OTA5LCAxMDQ5MTUsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDEwNDkyMywgMTA0OTI3LCAxMDQ5MzIsIDEwNDkzNiwgMTA0OTQxLCAxMDQ5NDUsIDEwNDk1MCwgMTA0OTU1LCAKKyAgICAxMDQ5NjEsIDEwNDk2NiwgMTA0OTcyLCAxMDQ5NzYsIDEwNDk4MSwgMTA0OTg1LCAxMDQ5OTAsIDEwNDk5NCwgMTA0OTk5LCAKKyAgICAxMDUwMDQsIDEwNTAwOSwgMTA1MDE0LCAxMDUwMTksIDEwNTAyNCwgMTA1MDI5LCAxMDUwMzQsIDEwNTAzOSwgMTA1MDQ0LCAKKyAgICAxMDUwNDksIDEwNTA1NCwgMTA1MDU5LCAxMDUwNjQsIDEwNTA2OSwgMTA1MDc0LCAxMDUwNzksIDEwNTA4NCwgMTA1MDg4LCAKKyAgICAxMDUwOTIsIDEwNTA5NywgMTA1MTAyLCAxMDUxMDcsIDEwNTExMSwgMTA1MTE1LCAxMDUxMjAsIDEwNTEyNSwgMTA1MTMwLCAKKyAgICAxMDUxMzUsIDEwNTE0MCwgMTA1MTQ1LCAxMDUxNDksIDEwNTE1NCwgMTA1MTYwLCAxMDUxNjUsIDEwNTE3MSwgMTA1MTc2LCAKKyAgICAxMDUxODIsIDEwNTE4OCwgMTA1MTk1LCAxMDUyMDEsIDEwNTIwOCwgMTA1MjEzLCAxMDUyMTksIDEwNTIyNCwgMTA1MjMwLCAKKyAgICAxMDUyMzUsIDEwNTI0MCwgMTA1MjQ1LCAxMDUyNTAsIDEwNTI1NCwgMTA1MjU5LCAxMDUyNjQsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDEwNTI2OSwgMTA1Mjc0LCAxMDUyNzgsIDEwNTI4MiwgMTA1Mjg2LCAxMDUyOTAsIDEwNTI5NCwgCisgICAgMTA1Mjk4LCAxMDUzMDIsIDEwNTMwNiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTA1MzEwLCAKKyAgICAxMDUzMTQsIDEwNTMxOSwgMTA1MzIzLCAxMDUzMjgsIDEwNTMzMiwgMTA1MzM3LCAxMDUzNDEsIDEwNTM0NiwgMTA1MzUwLCAKKyAgICAxMDUzNTUsIDEwNTM1OSwgMTA1MzY0LCAxMDUzNjksIDEwNTM3NCwgMTA1Mzc5LCAxMDUzODQsIDEwNTM4OSwgMTA1Mzk0LCAKKyAgICAxMDUzOTksIDEwNTQwNCwgMTA1NDA5LCAxMDU0MTQsIDEwNTQxOSwgMTA1NDI0LCAxMDU0MjksIDEwNTQzNCwgMTA1NDM5LCAKKyAgICAxMDU0NDQsIDEwNTQ0OSwgMTA1NDUzLCAxMDU0NTcsIDEwNTQ2MiwgMTA1NDY3LCAxMDU0NzIsIDEwNTQ3NiwgMTA1NDgwLCAKKyAgICAxMDU0ODUsIDEwNTQ5MCwgMTA1NDk1LCAxMDU1MDAsIDEwNTUwNSwgMTA1NTA5LCAxMDU1MTQsIDEwNTUxOSwgMTA1NTI0LCAKKyAgICAxMDU1MzAsIDEwNTUzNSwgMTA1NTQxLCAxMDU1NDYsIDEwNTU1MiwgMTA1NTU3LCAxMDU1NjMsIDEwNTU2OCwgMTA1NTc0LCAKKyAgICAxMDU1NzksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEwNTU4NCwgMTA1NTg5LCAxMDU1OTMsIDEwNTU5NywgMTA1NjAxLCAKKyAgICAxMDU2MDUsIDEwNTYwOSwgMTA1NjEzLCAxMDU2MTcsIDEwNTYyMSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTA1NjI1LCAxMDU2MzEsIDEwNTYzNiwgMTA1NjQyLCAxMDU2NDgsIAorICAgIDEwNTY1MywgMTA1NjU5LCAxMDU2NjUsIDEwNTY3MSwgMTA1Njc2LCAxMDU2ODEsIDEwNTY4NywgMTA1NjkzLCAxMDU2OTksIAorICAgIDEwNTcwNSwgMTA1NzExLCAxMDU3MTcsIDEwNTcyMywgMTA1NzI5LCAxMDU3MzUsIDEwNTc0MSwgMTA1NzQ3LCAxMDU3NTMsIAorICAgIDEwNTc1OSwgMTA1NzY1LCAxMDU3NzEsIDEwNTc3NywgMTA1NzgzLCAxMDU3ODksIDEwNTc5NSwgMTA1ODAxLCAxMDU4MDcsIAorICAgIDEwNTgxMywgMTA1ODE5LCAxMDU4MjQsIDEwNTgzMCwgMTA1ODM2LCAxMDU4NDEsIDEwNTg0NywgMTA1ODUzLCAxMDU4NTksIAorICAgIDEwNTg2NCwgMTA1ODY5LCAxMDU4NzUsIDEwNTg4MSwgMTA1ODg3LCAxMDU4OTMsIDEwNTg5OSwgMTA1OTA1LCAxMDU5MTEsIAorICAgIDEwNTkxNywgMTA1OTIzLCAxMDU5MjksIDEwNTkzNSwgMTA1OTQxLCAxMDU5NDcsIDEwNTk1MywgMTA1OTU5LCAxMDU5NjUsIAorICAgIDEwNTk3MSwgMTA1OTc3LCAxMDU5ODMsIDEwNTk4OSwgMTA1OTk1LCAxMDYwMDEsIDEwNjAwNiwgMTA2MDEwLCAxMDYwMTQsIAorICAgIDEwNjAxOCwgMTA2MDIyLCAxMDYwMjYsIDEwNjAzMCwgMTA2MDM0LCAxMDYwMzgsIDEwNjA0MiwgMTA2MDQ3LCAxMDYwNTIsIAorICAgIDEwNjA1NywgMTA2MDYyLCAxMDYwNjcsIDEwNjA3MiwgMTA2MDc3LCAxMDYwODIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDEwNjA4NywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMTA2MDkxLCAxMDYwOTksIDEwNjEwNywgMTA2MTE2LCAxMDYxMjQsIDEwNjEzMywgMTA2MTQyLCAKKyAgICAxMDYxNTEsIDEwNjE2MCwgMTA2MTY4LCAxMDYxNzcsIDEwNjE4NiwgMTA2MTk1LCAxMDYyMDQsIDEwNjIxMywgMTA2MjIyLCAKKyAgICAxMDYyMzEsIDEwNjIzOSwgMTA2MjQ4LCAxMDYyNTcsIDEwNjI2NiwgMTA2Mjc1LCAxMDYyODMsIDEwNjI5MSwgMTA2Mjk5LCAKKyAgICAxMDYzMDcsIDEwNjMxNSwgMTA2MzI0LCAxMDYzMzMsIDEwNjM0MywgMTA2MzUzLCAxMDYzNjMsIDEwNjM3MywgMTA2MzgzLCAKKyAgICAxMDYzOTIsIDEwNjQwMiwgMTA2NDEyLCAxMDY0MjIsIDEwNjQzMywgMTA2NDQzLCAxMDY0NTUsIDEwNjQ2NywgMTA2NDc4LCAKKyAgICAxMDY0OTIsIDEwNjUwMywgMTA2NTEzLCAxMDY1MjUsIDEwNjUzNiwgMTA2NTQ2LCAxMDY1NTgsIDEwNjU3MCwgMTA2NTgxLCAKKyAgICAxMDY1OTIsIDEwNjYwMiwgMTA2NjEyLCAxMDY2MjQsIDEwNjYzNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTA2NjQ3LCAKKyAgICAxMDY2NTAsIDEwNjY1NSwgMTA2NjYxLCAxMDY2NjksIDEwNjY3NCwgMTA2NjgwLCAxMDY2ODgsIDEwNjY5NCwgMTA2NzAwLCAKKyAgICAxMDY3MDQsIDEwNjcwOCwgMTA2NzE1LCAxMDY3MjQsIDEwNjczMSwgMTA2NzQwLCAxMDY3NDYsIDEwNjc1NSwgMTA2NzYyLCAKKyAgICAxMDY3NjksIDEwNjc3NiwgMTA2Nzg2LCAxMDY3OTIsIDEwNjc5NiwgMTA2ODAzLCAxMDY4MTIsIDEwNjgyMiwgMTA2ODI5LCAKKyAgICAxMDY4MzYsIDEwNjg0MCwgMTA2ODQ0LCAxMDY4NTEsIDEwNjg2MSwgMTA2ODY1LCAxMDY4NzIsIDEwNjg3OSwgMTA2ODg2LCAKKyAgICAxMDY4OTIsIDEwNjg5OSwgMTA2OTA2LCAxMDY5MTMsIDEwNjkyMCwgMTA2OTI0LCAxMDY5MjgsIDEwNjkzMiwgMTA2OTM5LCAKKyAgICAxMDY5NDMsIDEwNjk1MCwgMTA2OTU3LCAxMDY5NzEsIDEwNjk4MCwgMTA2OTg0LCAxMDY5ODgsIDEwNjk5MiwgMTA2OTk5LCAKKyAgICAxMDcwMDMsIDEwNzAwNywgMTA3MDExLCAxMDcwMTksIDEwNzAyNywgMTA3MDQ2LCAxMDcwNTYsIDEwNzA3NiwgMTA3MDgwLCAKKyAgICAxMDcwODQsIDEwNzA4OCwgMTA3MDkyLCAxMDcwOTYsIDEwNzEwMCwgMTA3MTA0LCAxMDcxMTEsIDEwNzExNSwgMTA3MTE4LCAKKyAgICAxMDcxMjIsIDEwNzEyNiwgMTA3MTMyLCAxMDcxMzksIDEwNzE0OCwgMTA3MTUyLCAxMDcxNjEsIDEwNzE3MCwgMTA3MTc4LCAKKyAgICAxMDcxODIsIDEwNzE4OSwgMTA3MTkzLCAxMDcxOTcsIDEwNzIwMSwgMTA3MjA1LCAxMDcyMTYsIDEwNzIyNSwgMTA3MjM0LCAKKyAgICAxMDcyNDMsIDEwNzI1MiwgMTA3MjY0LCAxMDcyNzMsIDEwNzI4MiwgMTA3MjkxLCAxMDcyOTksIDEwNzMwOCwgMTA3MzIwLCAKKyAgICAxMDczMjksIDEwNzMzOCwgMTA3MzQ3LCAxMDczNTksIDEwNzM2OCwgMTA3Mzc3LCAxMDczODksIDEwNzM5OCwgMTA3NDA3LCAKKyAgICAxMDc0MTksIDEwNzQyOCwgMTA3NDMyLCAxMDc0MzYsIDEwNzQ0MCwgMTA3NDQ0LCAxMDc0NDgsIDEwNzQ1MiwgMTA3NDU2LCAKKyAgICAxMDc0NjMsIDEwNzQ2NywgMTA3NDcxLCAxMDc0ODIsIDEwNzQ4NiwgMTA3NDkwLCAxMDc0OTcsIDEwNzUwMywgMTA3NTA5LCAKKyAgICAxMDc1MTMsIDEwNzUyMCwgMTA3NTI0LCAxMDc1MjgsIDEwNzUzMiwgMTA3NTM2LCAxMDc1NDAsIDEwNzU0NCwgMTA3NTUwLCAKKyAgICAxMDc1NTgsIDEwNzU2MiwgMTA3NTY2LCAxMDc1NjksIDEwNzU3NSwgMTA3NTg1LCAxMDc1ODksIDEwNzYwMSwgMTA3NjA4LCAKKyAgICAxMDc2MTUsIDEwNzYyMiwgMTA3NjI5LCAxMDc2MzUsIDEwNzYzOSwgMTA3NjQzLCAxMDc2NDcsIDEwNzY1MSwgMTA3NjU4LCAKKyAgICAxMDc2NjcsIDEwNzY3NCwgMTA3NjgyLCAxMDc2OTAsIDEwNzY5NiwgMTA3NzAwLCAxMDc3MDQsIDEwNzcwOCwgMTA3NzEyLCAKKyAgICAxMDc3MTgsIDEwNzcyNywgMTA3NzM5LCAxMDc3NDYsIDEwNzc1MywgMTA3NzYyLCAxMDc3NzMsIDEwNzc3OSwgMTA3Nzg4LCAKKyAgICAxMDc3OTcsIDEwNzgwNCwgMTA3ODEzLCAxMDc4MjAsIDEwNzgyNywgMTA3ODM3LCAxMDc4NDQsIDEwNzg1MSwgMTA3ODU4LCAKKyAgICAxMDc4NjUsIDEwNzg2OSwgMTA3ODc1LCAxMDc4NzksIDEwNzg5MCwgMTA3ODk4LCAxMDc5MDcsIDEwNzkxOSwgMTA3OTI2LCAKKyAgICAxMDc5MzMsIDEwNzk0MywgMTA3OTUwLCAxMDc5NjAsIDEwNzk2NywgMTA3OTc3LCAxMDc5ODQsIDEwNzk5MSwgMTA4MDAxLCAKKyAgICAxMDgwMDgsIDEwODAxNSwgMTA4MDI1LCAxMDgwMzIsIDEwODA0NCwgMTA4MDUzLCAxMDgwNjAsIDEwODA2NywgMTA4MDc0LCAKKyAgICAxMDgwODMsIDEwODA5MywgMTA4MTA2LCAxMDgxMTMsIDEwODEyMywgMTA4MTMzLCAxMDgxNDAsIDEwODE0OSwgMTA4MTYyLCAKKyAgICAxMDgxNjksIDEwODE3NiwgMTA4MTgzLCAxMDgxOTMsIDEwODIwMywgMTA4MjEwLCAxMDgyMjAsIDEwODIyNywgMTA4MjM0LCAKKyAgICAxMDgyNDQsIDEwODI1MCwgMTA4MjU3LCAxMDgyNjQsIDEwODI3MSwgMTA4MjgxLCAxMDgyODgsIDEwODI5NSwgMTA4MzAyLCAKKyAgICAxMDgzMDgsIDEwODMxNSwgMTA4MzI1LCAxMDgzMzIsIDEwODMzNiwgMTA4MzQ0LCAxMDgzNDgsIDEwODM2MCwgMTA4MzY0LCAKKyAgICAxMDgzNzgsIDEwODM4MiwgMTA4Mzg2LCAxMDgzOTAsIDEwODM5NCwgMTA4NDAwLCAxMDg0MDcsIDEwODQxNSwgMTA4NDE5LCAKKyAgICAxMDg0MjMsIDEwODQyNywgMTA4NDMxLCAxMDg0MzgsIDEwODQ0MiwgMTA4NDQ4LCAxMDg0NTQsIDEwODQ2MiwgMTA4NDY2LCAKKyAgICAxMDg0NzMsIDEwODQ4MSwgMTA4NDg1LCAxMDg0ODksIDEwODQ5NSwgMTA4NDk5LCAxMDg1MDgsIDEwODUxNywgMTA4NTI0LCAKKyAgICAxMDg1MzQsIDEwODU0MCwgMTA4NTQ0LCAxMDg1NDgsIDEwODU1NiwgMTA4NTYzLCAxMDg1NzAsIDEwODU3NiwgMTA4NTgwLCAKKyAgICAxMDg1ODgsIDEwODU5MiwgMTA4NTk5LCAxMDg2MTEsIDEwODYxOCwgMTA4NjI4LCAxMDg2MzQsIDEwODYzOCwgMTA4NjQ3LCAKKyAgICAxMDg2NTQsIDEwODY2MywgMTA4NjY3LCAxMDg2NzEsIDEwODY3OCwgMTA4NjgyLCAxMDg2ODYsIDEwODY5MCwgMTA4Njk0LCAKKyAgICAxMDg2OTcsIDEwODcwMywgMTA4NzA5LCAxMDg3MTMsIDEwODcxNywgMTA4NzI0LCAxMDg3MzEsIDEwODczOCwgMTA4NzQ1LCAKKyAgICAxMDg3NTIsIDEwODc1OSwgMTA4NzY2LCAxMDg3NzMsIDEwODc3OSwgMTA4NzgzLCAxMDg3ODcsIDEwODc5NCwgMTA4ODAxLCAKKyAgICAxMDg4MDgsIDEwODgxNSwgMTA4ODIyLCAxMDg4MjYsIDEwODgyOSwgMTA4ODM0LCAxMDg4MzgsIDEwODg0MiwgMTA4ODUxLCAKKyAgICAxMDg4NjAsIDEwODg2NCwgMTA4ODY4LCAxMDg4NzQsIDEwODg4MCwgMTA4ODk3LCAxMDg5MDMsIDEwODkwNywgMTA4OTE2LCAKKyAgICAxMDg5MjAsIDEwODkyNCwgMTA4OTMxLCAxMDg5MzksIDEwODk0NywgMTA4OTUzLCAxMDg5NTcsIDEwODk2MSwgMTA4OTY1LCAKKyAgICAxMDg5NjksIDEwODk3MiwgMTA4OTc4LCAxMDg5ODUsIDEwODk5NSwgMTA5MDAyLCAxMDkwMDksIDEwOTAxNiwgMTA5MDIyLCAKKyAgICAxMDkwMjksIDEwOTAzNiwgMTA5MDQzLCAxMDkwNTAsIDEwOTA1NywgMTA5MDY2LCAxMDkwNzMsIDEwOTA4NSwgMTA5MDkyLCAKKyAgICAxMDkwOTksIDEwOTEwOSwgMTA5MTIwLCAxMDkxMjcsIDEwOTEzNCwgMTA5MTQxLCAxMDkxNDgsIDEwOTE1NSwgMTA5MTYyLCAKKyAgICAxMDkxNjksIDEwOTE3NiwgMTA5MTgzLCAxMDkxOTAsIDEwOTIwMCwgMTA5MjEwLCAxMDkyMjAsIDEwOTIyNywgMTA5MjM3LCAKKyAgICAxMDkyNDQsIDEwOTI1MSwgMTA5MjU4LCAxMDkyNjUsIDEwOTI3MiwgMTA5Mjc5LCAxMDkyODYsIDEwOTI5MywgMTA5MzAwLCAKKyAgICAxMDkzMDcsIDEwOTMxNCwgMTA5MzIxLCAxMDkzMjgsIDEwOTMzNCwgMTA5MzQxLCAxMDkzNDgsIDEwOTM1NywgMTA5MzY0LCAKKyAgICAxMDkzNzEsIDEwOTM3NSwgMTA5MzgzLCAxMDkzODcsIDEwOTM5MSwgMTA5Mzk1LCAxMDkzOTksIDEwOTQwMywgMTA5NDEwLCAKKyAgICAxMDk0MTQsIDEwOTQyMywgMTA5NDI3LCAxMDk0MzQsIDEwOTQ0MiwgMTA5NDQ2LCAxMDk0NTAsIDEwOTQ1NCwgMTA5NDY3LCAKKyAgICAxMDk0ODMsIDEwOTQ4NywgMTA5NDkxLCAxMDk0OTgsIDEwOTUwNCwgMTA5NTExLCAxMDk1MTUsIDEwOTUxOSwgMTA5NTIzLCAKKyAgICAxMDk1MjcsIDEwOTUzMSwgMTA5NTM4LCAxMDk1NDIsIDEwOTU2MCwgMTA5NTY0LCAxMDk1NjgsIDEwOTU3NSwgMTA5NTc5LCAKKyAgICAxMDk1ODMsIDEwOTU4OSwgMTA5NTkzLCAxMDk1OTcsIDEwOTYwNSwgMTA5NjA5LCAxMDk2MTMsIDEwOTYxNywgMTA5NjIxLCAKKyAgICAxMDk2MjcsIDEwOTYzOCwgMTA5NjQ3LCAxMDk2NTYsIDEwOTY2MywgMTA5NjcwLCAxMDk2ODEsIDEwOTY4OCwgMTA5Njk1LCAKKyAgICAxMDk3MDIsIDEwOTcwOSwgMTA5NzE2LCAxMDk3MjMsIDEwOTczMCwgMTA5NzQwLCAxMDk3NDYsIDEwOTc1MywgMTA5NzYzLCAKKyAgICAxMDk3NzIsIDEwOTc3OSwgMTA5Nzg4LCAxMDk3OTgsIDEwOTgwNSwgMTA5ODEyLCAxMDk4MTksIDEwOTgyNiwgMTA5ODM4LCAKKyAgICAxMDk4NDUsIDEwOTg1MiwgMTA5ODU5LCAxMDk4NjYsIDEwOTg3MywgMTA5ODgzLCAxMDk4OTAsIDEwOTg5NywgMTA5OTA3LCAKKyAgICAxMDk5MjAsIDEwOTkzMiwgMTA5OTM5LCAxMDk5NDksIDEwOTk1NiwgMTA5OTYzLCAxMDk5NzAsIDEwOTk4NCwgMTA5OTkwLCAKKyAgICAxMDk5OTgsIDExMDAwOCwgMTEwMDE4LCAxMTAwMjUsIDExMDAzMiwgMTEwMDM4LCAxMTAwNDIsIDExMDA0OSwgMTEwMDU5LCAKKyAgICAxMTAwNjUsIDExMDA3OCwgMTEwMDgyLCAxMTAwODYsIDExMDA5MywgMTEwMDk3LCAxMTAxMDQsIDExMDExNCwgMTEwMTE4LCAKKyAgICAxMTAxMjIsIDExMDEyNiwgMTEwMTMwLCAxMTAxMzQsIDExMDE0MSwgMTEwMTQ1LCAxMTAxNTIsIDExMDE1OSwgMTEwMTY2LCAKKyAgICAxMTAxNzUsIDExMDE4NCwgMTEwMTk0LCAxMTAyMDEsIDExMDIwOCwgMTEwMjE1LCAxMTAyMjUsIDExMDIzMiwgMTEwMjQyLCAKKyAgICAxMTAyNDksIDExMDI1OSwgMTEwMjY2LCAxMTAyNzMsIDExMDI4MywgMTEwMjkzLCAxMTAzMDAsIDExMDMwNiwgMTEwMzE0LCAKKyAgICAxMTAzMjIsIDExMDMyOCwgMTEwMzM0LCAxMTAzMzgsIDExMDM0MiwgMTEwMzQ5LCAxMTAzNTcsIDExMDM2MywgMTEwMzY3LCAKKyAgICAxMTAzNzEsIDExMDM3NSwgMTEwMzgyLCAxMTAzOTQsIDExMDM5NywgMTEwNDA0LCAxMTA0MTAsIDExMDQxNCwgMTEwNDE4LCAKKyAgICAxMTA0MjIsIDExMDQyNiwgMTEwNDMwLCAxMTA0MzQsIDExMDQzOCwgMTEwNDQyLCAxMTA0NDYsIDExMDQ1MCwgMTEwNDU3LCAKKyAgICAxMTA0NjEsIDExMDQ2NywgMTEwNDcxLCAxMTA0NzUsIDExMDQ3OSwgMTEwNDg1LCAxMTA0OTIsIDExMDQ5OSwgMTEwNTA2LCAKKyAgICAxMTA1MTcsIDExMDUyNSwgMTEwNTI5LCAxMTA1MzUsIDExMDU0NCwgMTEwNTUxLCAxMTA1NTcsIDExMDU2MCwgMTEwNTY0LCAKKyAgICAxMTA1NjgsIDExMDU3NCwgMTEwNTgzLCAxMTA1OTEsIDExMDU5NSwgMTEwNjAxLCAxMTA2MDUsIDExMDYwOSwgMTEwNjEzLCAKKyAgICAxMTA2MTksIDExMDYyNiwgMTEwNjMyLCAxMTA2MzYsIDExMDY0MiwgMTEwNjQ2LCAxMTA2NTAsIDExMDY1OSwgMTEwNjcxLCAKKyAgICAxMTA2NzUsIDExMDY4MiwgMTEwNjg5LCAxMTA2OTksIDExMDcwNiwgMTEwNzE4LCAxMTA3MjUsIDExMDczMiwgMTEwNzM5LCAKKyAgICAxMTA3NTAsIDExMDc2MCwgMTEwNzczLCAxMTA3ODMsIDExMDc5MCwgMTEwNzk0LCAxMTA3OTgsIDExMDgwMiwgMTEwODA2LCAKKyAgICAxMTA4MTUsIDExMDgyNCwgMTEwODMzLCAxMTA4NTAsIDExMDg1OSwgMTEwODY1LCAxMTA4NzIsIDExMDg4MCwgMTEwODkzLCAKKyAgICAxMTA4OTcsIDExMDkwNiwgMTEwOTE1LCAxMTA5MjQsIDExMDkzMywgMTEwOTQ0LCAxMTA5NTMsIDExMDk2MiwgMTEwOTcxLCAKKyAgICAxMTA5ODAsIDExMDk4OSwgMTEwOTk4LCAxMTEwMDgsIDExMTAxMSwgMTExMDE1LCAxMTEwMTksIDExMTAyMywgMTExMDI3LCAKKyAgICAxMTEwMzEsIDExMTAzNywgMTExMDQ0LCAxMTEwNTEsIDExMTA1OCwgMTExMDY0LCAxMTEwNzAsIDExMTA3NywgMTExMDgzLCAKKyAgICAxMTEwOTAsIDExMTA5OCwgMTExMTAyLCAxMTExMDksIDExMTExNiwgMTExMTIzLCAxMTExMzEsIDExMTEzNSwgMTExMTM5LCAKKyAgICAxMTExNDMsIDExMTE0NywgMTExMTUxLCAxMTExNTcsIDExMTE2MSwgMTExMTY3LCAxMTExNzQsIDExMTE4MSwgMTExMTg3LCAKKyAgICAxMTExOTQsIDExMTIwMSwgMTExMjA4LCAxMTEyMTUsIDExMTIyMiwgMTExMjI5LCAxMTEyMzYsIDExMTI0MywgMTExMjUwLCAKKyAgICAxMTEyNTcsIDExMTI2NCwgMTExMjcxLCAxMTEyNzgsIDExMTI4NSwgMTExMjkxLCAxMTEyOTUsIDExMTMwNCwgMTExMzA4LCAKKyAgICAxMTEzMTIsIDExMTMxNiwgMTExMzIwLCAxMTEzMjYsIDExMTMzMywgMTExMzQwLCAxMTEzNDcsIDExMTM1NCwgMTExMzYxLCAKKyAgICAxMTEzNjcsIDExMTM3NSwgMTExMzc5LCAxMTEzODMsIDExMTM4NywgMTExMzkxLCAxMTEzOTcsIDExMTQxNCwgMTExNDMxLCAKKyAgICAxMTE0MzUsIDExMTQzOSwgMTExNDQzLCAxMTE0NDcsIDExMTQ1MSwgMTExNDU1LCAxMTE0NjEsIDExMTQ2OCwgMTExNDcyLCAKKyAgICAxMTE0NzgsIDExMTQ4NSwgMTExNDkyLCAxMTE0OTksIDExMTUwNiwgMTExNTEzLCAxMTE1MjIsIDExMTUyOSwgMTExNTM2LCAKKyAgICAxMTE1NDMsIDExMTU1MCwgMTExNTU0LCAxMTE1NTgsIDExMTU2NCwgMTExNTc2LCAxMTE1ODAsIDExMTU4NCwgMTExNTkzLCAKKyAgICAxMTE1OTcsIDExMTYwMSwgMTExNjA1LCAxMTE2MTEsIDExMTYxNSwgMTExNjE5LCAxMTE2MjgsIDExMTYzMiwgMTExNjM2LCAKKyAgICAxMTE2NDAsIDExMTY0NywgMTExNjUxLCAxMTE2NTUsIDExMTY1OSwgMTExNjYzLCAxMTE2NjcsIDExMTY3MSwgMTExNjc1LCAKKyAgICAxMTE2NzksIDExMTY4NSwgMTExNjkyLCAxMTE2OTksIDExMTcwNSwgMTExNzA5LCAxMTE3MjYsIDExMTczMiwgMTExNzM2LCAKKyAgICAxMTE3NDIsIDExMTc0OCwgMTExNzU0LCAxMTE3NjAsIDExMTc2NiwgMTExNzcyLCAxMTE3NzYsIDExMTc4MCwgMTExNzg0LCAKKyAgICAxMTE3OTAsIDExMTc5NCwgMTExODAwLCAxMTE4MDQsIDExMTgwOCwgMTExODE1LCAxMTE4MjIsIDExMTgzOSwgMTExODQzLCAKKyAgICAxMTE4NDcsIDExMTg1MSwgMTExODU1LCAxMTE4NTksIDExMTg3MSwgMTExODc0LCAxMTE4NzksIDExMTg4NCwgMTExODk5LCAKKyAgICAxMTE5MDksIDExMTkyMSwgMTExOTI1LCAxMTE5MjksIDExMTkzMywgMTExOTM5LCAxMTE5NDYsIDExMTk1MywgMTExOTYzLCAKKyAgICAxMTE5NzUsIDExMTk4MSwgMTExOTg3LCAxMTE5OTYsIDExMjAwMCwgMTEyMDA0LCAxMTIwMTEsIDExMjAyMSwgMTEyMDI4LCAKKyAgICAxMTIwMzQsIDExMjAzOCwgMTEyMDQyLCAxMTIwNDksIDExMjA1NSwgMTEyMDU5LCAxMTIwNjUsIDExMjA2OSwgMTEyMDc3LCAKKyAgICAxMTIwODMsIDExMjA4NywgMTEyMDk1LCAxMTIxMDMsIDExMjExMCwgMTEyMTE2LCAxMTIxMjMsIDExMjEzMCwgMTEyMTQwLCAKKyAgICAxMTIxNTAsIDExMjE1NCwgMTEyMTU4LCAxMTIxNjIsIDExMjE2NiwgMTEyMTcyLCAxMTIxNzksIDExMjE4NSwgMTEyMTkyLCAKKyAgICAxMTIxOTksIDExMjIwNiwgMTEyMjE1LCAxMTIyMjIsIDExMjIyOSwgMTEyMjM1LCAxMTIyNDIsIDExMjI0OSwgMTEyMjU2LCAKKyAgICAxMTIyNjMsIDExMjI3MCwgMTEyMjc3LCAxMTIyODMsIDExMjI5MCwgMTEyMjk3LCAxMTIzMDQsIDExMjMxMywgMTEyMzIwLCAKKyAgICAxMTIzMjcsIDExMjMzMSwgMTEyMzM3LCAxMTIzNDEsIDExMjM0NywgMTEyMzU0LCAxMTIzNjEsIDExMjM2OCwgMTEyMzcyLCAKKyAgICAxMTIzNzYsIDExMjM4MCwgMTEyMzg0LCAxMTIzODgsIDExMjM5NSwgMTEyMzk5LCAxMTI0MDMsIDExMjQwOSwgMTEyNDE3LCAKKyAgICAxMTI0MjEsIDExMjQyNSwgMTEyNDI5LCAxMTI0MzMsIDExMjQ0MCwgMTEyNDQ0LCAxMTI0NDgsIDExMjQ1NiwgMTEyNDYwLCAKKyAgICAxMTI0NjQsIDExMjQ2OCwgMTEyNDcyLCAxMTI0NzgsIDExMjQ4MiwgMTEyNDg2LCAxMTI0OTIsIDExMjQ5OSwgMTEyNTA1LCAKKyAgICAxMTI1MTIsIDExMjUyNCwgMTEyNTI4LCAxMTI1MzUsIDExMjU0MiwgMTEyNTQ5LCAxMTI1NTYsIDExMjU2OCwgMTEyNTc1LCAKKyAgICAxMTI1NzksIDExMjU4MywgMTEyNTg3LCAxMTI1OTQsIDExMjYwMSwgMTEyNjA4LCAxMTI2MTUsIDExMjYyNSwgMTEyNjMyLCAKKyAgICAxMTI2MzgsIDExMjY0NSwgMTEyNjUyLCAxMTI2NTksIDExMjY2NiwgMTEyNjc1LCAxMTI2ODUsIDExMjY5MiwgMTEyNjk2LCAKKyAgICAxMTI3MDMsIDExMjcwNywgMTEyNzExLCAxMTI3MTUsIDExMjcyMiwgMTEyNzI5LCAxMTI3MzksIDExMjc0NSwgMTEyNzQ5LCAKKyAgICAxMTI3NTgsIDExMjc2MiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTEyNzY5LCAxMTI3NzUsIDExMjc4MSwgMTEyNzg4LCAKKyAgICAxMTI3OTUsIDExMjgwMiwgMTEyODA5LCAxMTI4MTYsIDExMjgyMywgMTEyODI5LCAxMTI4MzYsIDExMjg0MywgMTEyODUwLCAKKyAgICAxMTI4NTcsIDExMjg2NCwgMTEyODcxLCAxMTI4NzcsIDExMjg4MywgMTEyODg5LCAxMTI4OTUsIDExMjkwMSwgMTEyOTA3LCAKKyAgICAxMTI5MTMsIDExMjkxOSwgMTEyOTI1LCAxMTI5MzIsIDExMjkzOSwgMTEyOTQ2LCAxMTI5NTMsIDExMjk2MCwgMTEyOTY3LCAKKyAgICAxMTI5NzMsIDExMjk3OSwgMTEyOTg1LCAxMTI5OTIsIDExMjk5OSwgMTEzMDA1LCAxMTMwMTEsIDExMzAyMCwgMTEzMDI3LCAKKyAgICAxMTMwMzQsIDExMzA0MSwgMTEzMDQ4LCAxMTMwNTUsIDExMzA2MiwgMTEzMDY4LCAxMTMwNzQsIDExMzA4MCwgMTEzMDg5LCAKKyAgICAxMTMwOTYsIDExMzEwMywgMTEzMTE0LCAxMTMxMjUsIDExMzEzMSwgMTEzMTM3LCAxMTMxNDMsIDExMzE1MiwgMTEzMTU5LCAKKyAgICAxMTMxNjYsIDExMzE3NiwgMTEzMTg2LCAxMTMxOTcsIDExMzIwOCwgMTEzMjIwLCAxMTMyMzMsIDExMzI0NCwgMTEzMjU1LCAKKyAgICAxMTMyNjcsIDExMzI4MCwgMTEzMjkxLCAxMTMzMDIsIDExMzMxMywgMTEzMzI0LCAxMTMzMzUsIDExMzM0NywgMTEzMzU1LCAKKyAgICAxMTMzNjMsIDExMzM3MiwgMTEzMzgxLCAxMTMzOTAsIDExMzM5NiwgMTEzNDAyLCAxMTM0MDgsIDExMzQxNSwgMTEzNDI1LCAKKyAgICAxMTM0MzIsIDExMzQ0MiwgMTEzNDQ3LCAxMTM0NTIsIDExMzQ1OCwgMTEzNDY0LCAxMTM0NzIsIDExMzQ4MCwgMTEzNDg5LCAKKyAgICAxMTM1MDAsIDExMzUxMSwgMTEzNTE5LCAxMTM1MjcsIDExMzUzNiwgMTEzNTQ1LCAxMTM1NTMsIDExMzU2MCwgMTEzNTY4LCAKKyAgICAxMTM1NzYsIDExMzU4MywgMTEzNTkwLCAxMTM1OTksIDExMzYwOCwgMTEzNjE3LCAxMTM2MjYsIDExMzYzNSwgMCwgCisgICAgMTEzNjQ0LCAxMTM2NTUsIDExMzY2MiwgMTEzNjcwLCAxMTM2NzgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDExMzY4NiwgMTEzNjkwLCAxMTM2OTQsIDExMzY5OCwgMTEzNzAyLCAxMTM3MDYsIAorICAgIDExMzcxMCwgMTEzNzE0LCAxMTM3MTgsIDExMzcyMiwgMTEzNzI2LCAxMTM3MzAsIDExMzczNCwgMTEzNzM4LCAxMTM3NDIsIAorICAgIDExMzc0NiwgMTEzNzUwLCAxMTM3NTQsIDExMzc1OCwgMTEzNzYyLCAxMTM3NjYsIDExMzc3MCwgMTEzNzc0LCAxMTM3NzgsIAorICAgIDExMzc4MiwgMTEzNzg2LCAxMTM3OTAsIDExMzc5NCwgMTEzNzk4LCAxMTM4MDIsIDExMzgwNiwgMTEzODEwLCAxMTM4MTQsIAorICAgIDExMzgxOCwgMTEzODIyLCAxMTM4MjYsIDExMzgzMCwgMTEzODM0LCAxMTM4MzgsIDExMzg0MiwgMTEzODQ2LCAxMTM4NTAsIAorICAgIDExMzg1NCwgMTEzODU4LCAxMTM4NjIsIDExMzg2NiwgMTEzODcwLCAxMTM4NzQsIDExMzg3OCwgMTEzODgyLCAxMTM4ODYsIAorICAgIDExMzg5MCwgMTEzODk0LCAxMTM4OTgsIDExMzkwMiwgMTEzOTA2LCAxMTM5MTAsIDExMzkxNCwgMTEzOTE4LCAxMTM5MjIsIAorICAgIDExMzkyNiwgMTEzOTMwLCAxMTM5MzQsIDExMzkzOCwgMTEzOTQyLCAxMTM5NDYsIDExMzk1MCwgMTEzOTU0LCAxMTM5NTgsIAorICAgIDExMzk2MiwgMTEzOTY2LCAxMTM5NzAsIDExMzk3NCwgMTEzOTc4LCAxMTM5ODIsIDExMzk4NiwgMTEzOTkwLCAxMTM5OTQsIAorICAgIDExMzk5OCwgMTE0MDAyLCAxMTQwMDYsIDExNDAxMCwgMTE0MDE0LCAxMTQwMTgsIDExNDAyMiwgMTE0MDI2LCAxMTQwMzAsIAorICAgIDExNDAzNCwgMTE0MDM4LCAxMTQwNDIsIDExNDA0NiwgMTE0MDUwLCAxMTQwNTQsIDExNDA1OCwgMTE0MDYyLCAxMTQwNjYsIAorICAgIDExNDA3MCwgMTE0MDc0LCAxMTQwNzgsIDExNDA4MiwgMTE0MDg2LCAxMTQwOTAsIDExNDA5NCwgMTE0MDk4LCAxMTQxMDIsIAorICAgIDExNDEwNiwgMTE0MTEwLCAxMTQxMTQsIDExNDExOCwgMTE0MTIyLCAxMTQxMjYsIDExNDEzMCwgMTE0MTM0LCAxMTQxMzgsIAorICAgIDExNDE0MiwgMTE0MTQ2LCAxMTQxNTAsIDExNDE1NCwgMTE0MTU4LCAxMTQxNjIsIDExNDE2NiwgMTE0MTcwLCAxMTQxNzQsIAorICAgIDExNDE3OCwgMTE0MTgyLCAxMTQxODYsIDExNDE5MCwgMTE0MTk0LCAxMTQxOTgsIDExNDIwMiwgMTE0MjA2LCAxMTQyMTAsIAorICAgIDExNDIxNCwgMTE0MjE4LCAxMTQyMjIsIDExNDIyNiwgMTE0MjMwLCAxMTQyMzQsIDExNDIzOCwgMTE0MjQyLCAxMTQyNDYsIAorICAgIDExNDI1MCwgMTE0MjU0LCAxMTQyNTgsIDExNDI2MiwgMTE0MjY2LCAxMTQyNzAsIDExNDI3NCwgMTE0Mjc4LCAxMTQyODIsIAorICAgIDExNDI4NiwgMTE0MjkwLCAxMTQyOTQsIDExNDI5OCwgMTE0MzAyLCAxMTQzMDYsIDExNDMxMCwgMTE0MzE0LCAxMTQzMTgsIAorICAgIDExNDMyMiwgMTE0MzI2LCAxMTQzMzAsIDExNDMzNCwgMTE0MzM4LCAxMTQzNDIsIDExNDM0NiwgMTE0MzUwLCAxMTQzNTQsIAorICAgIDExNDM1OCwgMTE0MzYyLCAxMTQzNjYsIDExNDM3MCwgMTE0Mzc0LCAxMTQzNzgsIDExNDM4MiwgMTE0Mzg2LCAxMTQzOTAsIAorICAgIDExNDM5NCwgMTE0Mzk4LCAxMTQ0MDIsIDExNDQwNiwgMTE0NDEwLCAxMTQ0MTQsIDExNDQxOCwgMTE0NDIyLCAxMTQ0MjYsIAorICAgIDExNDQzMCwgMTE0NDM0LCAxMTQ0MzgsIDExNDQ0MiwgMTE0NDQ2LCAxMTQ0NTAsIDExNDQ1NCwgMTE0NDU4LCAxMTQ0NjIsIAorICAgIDExNDQ2NiwgMTE0NDcwLCAxMTQ0NzQsIDExNDQ3OCwgMTE0NDgyLCAxMTQ0ODYsIDExNDQ5MCwgMTE0NDk0LCAxMTQ0OTgsIAorICAgIDExNDUwMiwgMTE0NTA2LCAxMTQ1MTAsIDExNDUxNCwgMTE0NTE4LCAxMTQ1MjIsIDExNDUyNiwgMTE0NTMwLCAxMTQ1MzQsIAorICAgIDExNDUzOCwgMTE0NTQyLCAxMTQ1NDYsIDExNDU1MCwgMTE0NTU0LCAxMTQ1NTgsIDExNDU2MiwgMTE0NTY2LCAxMTQ1NzAsIAorICAgIDExNDU3NCwgMTE0NTc4LCAxMTQ1ODIsIDExNDU4NiwgMTE0NTkwLCAxMTQ1OTQsIDExNDU5OCwgMTE0NjAyLCAxMTQ2MDYsIAorICAgIDExNDYxMCwgMTE0NjE0LCAxMTQ2MTgsIDExNDYyMiwgMTE0NjI2LCAxMTQ2MzAsIDExNDYzNCwgMTE0NjM4LCAxMTQ2NDIsIAorICAgIDExNDY0NiwgMTE0NjUwLCAxMTQ2NTQsIDExNDY1OCwgMTE0NjYyLCAxMTQ2NjYsIDExNDY3MCwgMTE0Njc0LCAxMTQ2NzgsIAorICAgIDExNDY4MiwgMTE0Njg2LCAxMTQ2OTAsIDExNDY5NCwgMTE0Njk4LCAxMTQ3MDIsIDExNDcwNiwgMTE0NzEwLCAxMTQ3MTQsIAorICAgIDExNDcxOCwgMTE0NzIyLCAxMTQ3MjYsIDExNDczMCwgMTE0NzM0LCAxMTQ3MzgsIDExNDc0MiwgMTE0NzQ2LCAxMTQ3NTAsIAorICAgIDExNDc1NCwgMTE0NzU4LCAxMTQ3NjIsIDExNDc2NiwgMTE0NzcwLCAxMTQ3NzQsIDExNDc3OCwgMTE0NzgyLCAxMTQ3ODYsIAorICAgIDExNDc5MCwgMTE0Nzk0LCAxMTQ3OTgsIDExNDgwMiwgMTE0ODA2LCAxMTQ4MTAsIDExNDgxNCwgMTE0ODE4LCAxMTQ4MjIsIAorICAgIDExNDgyNiwgMTE0ODMwLCAxMTQ4MzQsIDExNDgzOCwgMTE0ODQyLCAxMTQ4NDYsIDExNDg1MCwgMTE0ODU0LCAxMTQ4NTgsIAorICAgIDExNDg2MiwgMTE0ODY2LCAxMTQ4NzAsIDExNDg3NCwgMTE0ODc4LCAxMTQ4ODIsIDExNDg4NiwgMTE0ODkwLCAxMTQ4OTQsIAorICAgIDExNDg5OCwgMTE0OTAyLCAxMTQ5MDYsIDExNDkxMCwgMTE0OTE0LCAxMTQ5MTgsIDExNDkyMiwgMTE0OTI2LCAxMTQ5MzAsIAorICAgIDExNDkzNCwgMTE0OTM4LCAxMTQ5NDIsIDExNDk0NiwgMTE0OTUwLCAxMTQ5NTQsIDExNDk1OCwgMTE0OTYyLCAxMTQ5NjYsIAorICAgIDExNDk3MCwgMTE0OTc0LCAxMTQ5NzgsIDExNDk4MiwgMTE0OTg2LCAxMTQ5OTAsIDExNDk5NCwgMTE0OTk4LCAxMTUwMDIsIAorICAgIDExNTAwNiwgMTE1MDEwLCAxMTUwMTQsIDExNTAxOCwgMTE1MDIyLCAxMTUwMjYsIDExNTAzMCwgMTE1MDM0LCAxMTUwMzgsIAorICAgIDExNTA0MiwgMTE1MDQ2LCAxMTUwNTAsIDExNTA1NCwgMTE1MDU4LCAxMTUwNjIsIDExNTA2NiwgMTE1MDcwLCAxMTUwNzQsIAorICAgIDExNTA3OCwgMTE1MDgyLCAxMTUwODYsIDExNTA5MCwgMTE1MDk0LCAxMTUwOTgsIDExNTEwMiwgMTE1MTA2LCAxMTUxMTAsIAorICAgIDExNTExNCwgMTE1MTE4LCAxMTUxMjIsIDExNTEyNiwgMTE1MTMwLCAxMTUxMzQsIDExNTEzOCwgMTE1MTQyLCAxMTUxNDYsIAorICAgIDExNTE1MCwgMTE1MTU0LCAxMTUxNTgsIDExNTE2MiwgMTE1MTY2LCAxMTUxNzAsIDExNTE3NCwgMTE1MTc4LCAxMTUxODIsIAorICAgIDExNTE4NiwgMTE1MTkwLCAxMTUxOTQsIDExNTE5OCwgMTE1MjAyLCAxMTUyMDYsIDExNTIxMCwgMTE1MjE0LCAxMTUyMTgsIAorICAgIDExNTIyMiwgMTE1MjI2LCAxMTUyMzAsIDExNTIzNCwgMTE1MjM4LCAxMTUyNDIsIDExNTI0NiwgMTE1MjUwLCAxMTUyNTQsIAorICAgIDExNTI1OCwgMTE1MjYyLCAxMTUyNjYsIDExNTI3MCwgMTE1Mjc0LCAxMTUyNzgsIDExNTI4MiwgMTE1Mjg2LCAxMTUyOTAsIAorICAgIDExNTI5NCwgMTE1Mjk4LCAxMTUzMDIsIDExNTMwNiwgMTE1MzEwLCAxMTUzMTQsIDExNTMxOCwgMTE1MzIyLCAxMTUzMjYsIAorICAgIDExNTMzMCwgMTE1MzM0LCAxMTUzMzgsIDExNTM0MiwgMTE1MzQ2LCAxMTUzNTAsIDExNTM1NCwgMTE1MzU4LCAxMTUzNjIsIAorICAgIDExNTM2NiwgMTE1MzcwLCAxMTUzNzQsIDExNTM3OCwgMTE1MzgyLCAxMTUzODYsIDExNTM5MCwgMTE1Mzk0LCAxMTUzOTgsIAorICAgIDExNTQwMiwgMTE1NDA2LCAxMTU0MTAsIDExNTQxNCwgMTE1NDE4LCAxMTU0MjIsIDExNTQyNiwgMTE1NDMwLCAxMTU0MzQsIAorICAgIDExNTQzOCwgMTE1NDQyLCAxMTU0NDYsIDExNTQ1MCwgMTE1NDU0LCAxMTU0NTgsIDExNTQ2MiwgMTE1NDY2LCAxMTU0NzAsIAorICAgIDExNTQ3NCwgMTE1NDc4LCAxMTU0ODIsIDExNTQ4NiwgMTE1NDkwLCAxMTU0OTQsIDExNTQ5OCwgMTE1NTAyLCAxMTU1MDYsIAorICAgIDExNTUxMCwgMTE1NTE0LCAxMTU1MTgsIDExNTUyMiwgMTE1NTI2LCAxMTU1MzAsIDExNTUzNCwgMTE1NTM4LCAxMTU1NDIsIAorICAgIDExNTU0NiwgMTE1NTUwLCAxMTU1NTQsIDExNTU1OCwgMTE1NTYyLCAxMTU1NjYsIDExNTU3MCwgMTE1NTc0LCAxMTU1NzgsIAorICAgIDExNTU4MiwgMTE1NTg2LCAxMTU1OTAsIDExNTU5NCwgMTE1NTk4LCAxMTU2MDIsIDExNTYwNiwgMTE1NjEwLCAxMTU2MTQsIAorICAgIDExNTYxOCwgMTE1NjIyLCAxMTU2MjYsIDExNTYzMCwgMTE1NjM0LCAxMTU2MzgsIDExNTY0MiwgMTE1NjQ2LCAxMTU2NTAsIAorICAgIDExNTY1NCwgMTE1NjU4LCAxMTU2NjIsIDExNTY2NiwgMTE1NjcwLCAxMTU2NzQsIDExNTY3OCwgMTE1NjgyLCAxMTU2ODYsIAorICAgIDExNTY5MCwgMTE1Njk0LCAxMTU2OTgsIDExNTcwMiwgMTE1NzA2LCAxMTU3MTAsIDExNTcxNCwgMTE1NzE4LCAxMTU3MjIsIAorICAgIDExNTcyNiwgMTE1NzMwLCAxMTU3MzQsIDExNTczOCwgMTE1NzQyLCAxMTU3NDYsIDExNTc1MCwgMTE1NzU0LCAxMTU3NTgsIAorICAgIDExNTc2MiwgMTE1NzY2LCAxMTU3NzAsIDExNTc3NCwgMTE1Nzc4LCAxMTU3ODIsIDExNTc4NiwgMTE1NzkwLCAxMTU3OTQsIAorICAgIDExNTc5OCwgMTE1ODAyLCAxMTU4MDYsIDExNTgxMCwgMTE1ODE0LCAxMTU4MTgsIDExNTgyMiwgMTE1ODI2LCAxMTU4MzAsIAorICAgIDExNTgzNCwgMTE1ODM4LCAxMTU4NDIsIDExNTg0NiwgMTE1ODUwLCAxMTU4NTQsIDExNTg1OCwgMTE1ODYyLCAxMTU4NjYsIAorICAgIDExNTg3MCwgMTE1ODc0LCAxMTU4NzgsIDExNTg4MiwgMTE1ODg2LCAxMTU4OTAsIDExNTg5NCwgMTE1ODk4LCAxMTU5MDIsIAorICAgIDExNTkwNiwgMTE1OTEwLCAxMTU5MTQsIDExNTkxOCwgMTE1OTIyLCAxMTU5MjYsIDExNTkzMCwgMTE1OTM0LCAxMTU5MzgsIAorICAgIDExNTk0MiwgMTE1OTQ2LCAxMTU5NTAsIDExNTk1NCwgMTE1OTU4LCAxMTU5NjIsIDExNTk2NiwgMTE1OTcwLCAxMTU5NzQsIAorICAgIDExNTk3OCwgMTE1OTgyLCAxMTU5ODYsIDExNTk5MCwgMTE1OTk0LCAxMTU5OTgsIDExNjAwMiwgMTE2MDA2LCAxMTYwMTAsIAorICAgIDExNjAxNCwgMTE2MDE4LCAxMTYwMjIsIDExNjAyNiwgMTE2MDMwLCAxMTYwMzQsIDExNjAzOCwgMTE2MDQyLCAxMTYwNDYsIAorICAgIDExNjA1MCwgMTE2MDU0LCAxMTYwNTgsIDExNjA2MiwgMTE2MDY2LCAxMTYwNzAsIDExNjA3NCwgMTE2MDc4LCAxMTYwODIsIAorICAgIDExNjA4NiwgMTE2MDkwLCAxMTYwOTQsIDExNjA5OCwgMTE2MTAyLCAxMTYxMDYsIDExNjExMCwgMTE2MTE0LCAxMTYxMTgsIAorICAgIDExNjEyMiwgMTE2MTI2LCAxMTYxMzAsIDExNjEzNCwgMTE2MTM4LCAxMTYxNDIsIDExNjE0NiwgMTE2MTUwLCAxMTYxNTQsIAorICAgIDExNjE1OCwgMTE2MTYyLCAxMTYxNjYsIDExNjE3MCwgMTE2MTc0LCAxMTYxNzgsIDExNjE4MiwgMTE2MTg2LCAxMTYxOTAsIAorICAgIDExNjE5NCwgMTE2MTk4LCAxMTYyMDIsIDExNjIwNiwgMTE2MjEwLCAxMTYyMTQsIDExNjIxOCwgMTE2MjIyLCAxMTYyMjYsIAorICAgIDExNjIzMCwgMTE2MjM0LCAxMTYyMzgsIDExNjI0MiwgMTE2MjQ2LCAxMTYyNTAsIDExNjI1NCwgMTE2MjU4LCAxMTYyNjIsIAorICAgIDExNjI2NiwgMTE2MjcwLCAxMTYyNzQsIDExNjI3OCwgMTE2MjgyLCAxMTYyODYsIDExNjI5MCwgMTE2Mjk0LCAxMTYyOTgsIAorICAgIDExNjMwMiwgMTE2MzA2LCAxMTYzMTAsIDExNjMxNCwgMTE2MzE4LCAxMTYzMjIsIDExNjMyNiwgMTE2MzMwLCAxMTYzMzQsIAorICAgIDExNjMzOCwgMTE2MzQyLCAxMTYzNDYsIDExNjM1MCwgMTE2MzU0LCAxMTYzNTgsIDExNjM2MiwgMTE2MzY2LCAxMTYzNzAsIAorICAgIDExNjM3NCwgMTE2Mzc4LCAxMTYzODIsIDExNjM4NiwgMTE2MzkwLCAxMTYzOTQsIDExNjM5OCwgMTE2NDAyLCAxMTY0MDYsIAorICAgIDExNjQxMCwgMTE2NDE0LCAxMTY0MTgsIDExNjQyMiwgMTE2NDI2LCAxMTY0MzAsIDExNjQzNCwgMTE2NDM4LCAxMTY0NDIsIAorICAgIDExNjQ0NiwgMTE2NDUwLCAxMTY0NTQsIDExNjQ1OCwgMTE2NDYyLCAxMTY0NjYsIDExNjQ3MCwgMTE2NDc0LCAxMTY0NzgsIAorICAgIDExNjQ4MiwgMTE2NDg2LCAxMTY0OTAsIDExNjQ5NCwgMTE2NDk4LCAxMTY1MDIsIDExNjUwNiwgMTE2NTEwLCAxMTY1MTQsIAorICAgIDExNjUxOCwgMTE2NTIyLCAxMTY1MjYsIDExNjUzMCwgMTE2NTM0LCAxMTY1MzgsIDExNjU0MiwgMTE2NTQ2LCAxMTY1NTAsIAorICAgIDExNjU1NCwgMTE2NTU4LCAxMTY1NjIsIDExNjU2NiwgMTE2NTcwLCAxMTY1NzQsIDExNjU3OCwgMTE2NTgyLCAxMTY1ODYsIAorICAgIDExNjU5MCwgMTE2NTk0LCAxMTY1OTgsIDExNjYwMiwgMTE2NjA2LCAxMTY2MTAsIDExNjYxNCwgMTE2NjE4LCAxMTY2MjIsIAorICAgIDExNjYyNiwgMTE2NjMwLCAxMTY2MzQsIDExNjYzOCwgMTE2NjQyLCAxMTY2NDYsIDExNjY1MCwgMTE2NjU0LCAxMTY2NTgsIAorICAgIDExNjY2MiwgMTE2NjY2LCAxMTY2NzAsIDExNjY3NCwgMTE2Njc4LCAxMTY2ODIsIDExNjY4NiwgMTE2NjkwLCAxMTY2OTQsIAorICAgIDExNjY5OCwgMTE2NzAyLCAxMTY3MDYsIDExNjcxMCwgMTE2NzE0LCAxMTY3MTgsIDExNjcyMiwgMTE2NzI2LCAxMTY3MzAsIAorICAgIDExNjczNCwgMTE2NzM4LCAxMTY3NDIsIDExNjc0NiwgMTE2NzUwLCAxMTY3NTQsIDExNjc1OCwgMTE2NzYyLCAxMTY3NjYsIAorICAgIDExNjc3MCwgMTE2Nzc0LCAxMTY3NzgsIDExNjc4MiwgMTE2Nzg2LCAxMTY3OTAsIDExNjc5NCwgMTE2Nzk4LCAxMTY4MDIsIAorICAgIDExNjgwNiwgMTE2ODEwLCAxMTY4MTQsIDExNjgxOCwgMTE2ODIyLCAxMTY4MjYsIDExNjgzMCwgMTE2ODM0LCAxMTY4MzgsIAorICAgIDExNjg0MiwgMTE2ODQ2LCAxMTY4NTAsIDExNjg1NCwgMTE2ODU4LCAxMTY4NjIsIDExNjg2NiwgMTE2ODcwLCAxMTY4NzQsIAorICAgIDExNjg3OCwgMTE2ODgyLCAxMTY4ODYsIDExNjg5MCwgMTE2ODk0LCAxMTY4OTgsIDExNjkwMiwgMTE2OTA2LCAxMTY5MTAsIAorICAgIDExNjkxNCwgMTE2OTE4LCAxMTY5MjIsIDExNjkyNiwgMTE2OTMwLCAxMTY5MzQsIDExNjkzOCwgMTE2OTQyLCAxMTY5NDYsIAorICAgIDExNjk1MCwgMTE2OTU0LCAxMTY5NTgsIDExNjk2MiwgMTE2OTY2LCAxMTY5NzAsIDExNjk3NCwgMTE2OTc4LCAxMTY5ODIsIAorICAgIDExNjk4NiwgMTE2OTkwLCAxMTY5OTQsIDExNjk5OCwgMTE3MDAyLCAxMTcwMDYsIDExNzAxMCwgMTE3MDE0LCAxMTcwMTgsIAorICAgIDExNzAyMiwgMTE3MDI2LCAxMTcwMzAsIDExNzAzNCwgMTE3MDM4LCAxMTcwNDIsIDExNzA0NiwgMTE3MDUwLCAxMTcwNTQsIAorICAgIDExNzA1OCwgMTE3MDYyLCAxMTcwNjYsIDExNzA3MCwgMTE3MDc0LCAxMTcwNzgsIDExNzA4MiwgMTE3MDg2LCAxMTcwOTAsIAorICAgIDExNzA5NCwgMTE3MDk4LCAxMTcxMDIsIDExNzEwNiwgMTE3MTEwLCAxMTcxMTQsIDExNzExOCwgMTE3MTIyLCAxMTcxMjYsIAorICAgIDExNzEzMCwgMTE3MTM0LCAxMTcxMzgsIDExNzE0MiwgMTE3MTQ2LCAxMTcxNTAsIDExNzE1NCwgMTE3MTU4LCAxMTcxNjIsIAorICAgIDExNzE2NiwgMTE3MTcwLCAxMTcxNzQsIDExNzE3OCwgMTE3MTgyLCAxMTcxODYsIDExNzE5MCwgMTE3MTk0LCAxMTcxOTgsIAorICAgIDExNzIwMiwgMTE3MjA2LCAxMTcyMTAsIDExNzIxNCwgMTE3MjE4LCAxMTcyMjIsIDExNzIyNiwgMTE3MjMwLCAxMTcyMzQsIAorICAgIDExNzIzOCwgMTE3MjQyLCAxMTcyNDYsIDExNzI1MCwgMTE3MjU0LCAxMTcyNTgsIDExNzI2MiwgMTE3MjY2LCAxMTcyNzAsIAorICAgIDExNzI3NCwgMTE3Mjc4LCAxMTcyODIsIDExNzI4NiwgMTE3MjkwLCAxMTcyOTQsIDExNzI5OCwgMTE3MzAyLCAxMTczMDYsIAorICAgIDExNzMxMCwgMTE3MzE0LCAxMTczMTgsIDExNzMyMiwgMTE3MzI2LCAxMTczMzAsIDExNzMzNCwgMTE3MzM4LCAxMTczNDIsIAorICAgIDExNzM0NiwgMTE3MzUwLCAxMTczNTQsIDExNzM1OCwgMTE3MzYyLCAxMTczNjYsIDExNzM3MCwgMTE3Mzc0LCAxMTczNzgsIAorICAgIDExNzM4MiwgMTE3Mzg2LCAxMTczOTAsIDExNzM5NCwgMTE3Mzk4LCAxMTc0MDIsIDExNzQwNiwgMTE3NDEwLCAxMTc0MTQsIAorICAgIDExNzQxOCwgMTE3NDIyLCAxMTc0MjYsIDExNzQzMCwgMTE3NDM0LCAxMTc0MzgsIDExNzQ0MiwgMTE3NDQ2LCAxMTc0NTAsIAorICAgIDExNzQ1NCwgMTE3NDU4LCAxMTc0NjIsIDExNzQ2NiwgMTE3NDcwLCAxMTc0NzQsIDExNzQ3OCwgMTE3NDgyLCAxMTc0ODYsIAorICAgIDExNzQ5MCwgMTE3NDk0LCAxMTc0OTgsIDExNzUwMiwgMTE3NTA2LCAxMTc1MTAsIDExNzUxNCwgMTE3NTE4LCAxMTc1MjIsIAorICAgIDExNzUyNiwgMTE3NTMwLCAxMTc1MzQsIDExNzUzOCwgMTE3NTQyLCAxMTc1NDYsIDExNzU1MCwgMTE3NTU0LCAxMTc1NTgsIAorICAgIDExNzU2MiwgMTE3NTY2LCAxMTc1NzAsIDExNzU3NCwgMTE3NTc4LCAxMTc1ODIsIDExNzU4NiwgMTE3NTkwLCAxMTc1OTQsIAorICAgIDExNzU5OCwgMTE3NjAyLCAxMTc2MDYsIDExNzYxMCwgMTE3NjE0LCAxMTc2MTgsIDExNzYyMiwgMTE3NjI2LCAxMTc2MzAsIAorICAgIDExNzYzNCwgMTE3NjM4LCAxMTc2NDIsIDExNzY0NiwgMTE3NjUwLCAxMTc2NTQsIDExNzY1OCwgMTE3NjYyLCAxMTc2NjYsIAorICAgIDExNzY3MCwgMTE3Njc0LCAxMTc2NzgsIDExNzY4MiwgMTE3Njg2LCAxMTc2OTAsIDExNzY5NCwgMTE3Njk4LCAxMTc3MDIsIAorICAgIDExNzcwNiwgMTE3NzEwLCAxMTc3MTQsIDExNzcxOCwgMTE3NzIyLCAxMTc3MjYsIDExNzczMCwgMTE3NzM0LCAxMTc3MzgsIAorICAgIDExNzc0MiwgMTE3NzQ2LCAxMTc3NTAsIDExNzc1NCwgMTE3NzU4LCAxMTc3NjIsIDExNzc2NiwgMTE3NzcwLCAxMTc3NzQsIAorICAgIDExNzc3OCwgMTE3NzgyLCAxMTc3ODYsIDExNzc5MCwgMTE3Nzk0LCAxMTc3OTgsIDExNzgwMiwgMTE3ODA2LCAxMTc4MTAsIAorICAgIDExNzgxNCwgMTE3ODE4LCAxMTc4MjIsIDExNzgyNiwgMTE3ODMwLCAxMTc4MzQsIDExNzgzOCwgMTE3ODQyLCAxMTc4NDYsIAorICAgIDExNzg1MCwgMTE3ODU0LCAxMTc4NTgsIDExNzg2MiwgMTE3ODY2LCAxMTc4NzAsIDExNzg3NCwgMTE3ODc4LCAxMTc4ODIsIAorICAgIDExNzg4NiwgMTE3ODkwLCAxMTc4OTQsIDExNzg5OCwgMTE3OTAyLCAxMTc5MDYsIDExNzkxMCwgMTE3OTE0LCAxMTc5MTgsIAorICAgIDExNzkyMiwgMTE3OTI2LCAxMTc5MzAsIDExNzkzNCwgMTE3OTM4LCAxMTc5NDIsIDExNzk0NiwgMTE3OTUwLCAxMTc5NTQsIAorICAgIDExNzk1OCwgMTE3OTYyLCAxMTc5NjYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDExNzk3MCwgMTE3OTc3LCAxMTc5ODQsIDExNzk5MywgMTE4MDAyLCAxMTgwMDksIDExODAxNCwgMTE4MDIxLCAKKyAgICAxMTgwMjgsIDExODAzNywgMTE4MDQ4LCAxMTgwNTksIDExODA2NCwgMTE4MDcxLCAxMTgwNzYsIDExODA4MSwgMTE4MDg2LCAKKyAgICAxMTgwOTEsIDExODA5NiwgMTE4MTAxLCAxMTgxMDYsIDExODExMSwgMTE4MTE2LCAxMTgxMjEsIDExODEyNiwgMTE4MTMzLCAKKyAgICAxMTgxNDAsIDExODE0NSwgMTE4MTUwLCAxMTgxNTUsIDExODE2MCwgMTE4MTY3LCAxMTgxNzQsIDExODE4MiwgMTE4MTg3LCAKKyAgICAxMTgxOTQsIDExODE5OSwgMTE4MjA0LCAxMTgyMDksIDExODIxNCwgMTE4MjE5LCAxMTgyMjYsIDExODIzMywgMTE4MjM4LCAKKyAgICAxMTgyNDMsIDExODI0OCwgMTE4MjUzLCAxMTgyNTgsIDExODI2MywgMTE4MjY4LCAxMTgyNzMsIDExODI3OCwgMTE4MjgzLCAKKyAgICAxMTgyODgsIDExODI5MywgMTE4Mjk4LCAxMTgzMDMsIDExODMwOCwgMTE4MzEzLCAxMTgzMTgsIDExODMyMywgMTE4MzI4LCAKKyAgICAxMTgzMzUsIDExODM0MCwgMTE4MzQ1LCAxMTgzNTQsIDExODM2MSwgMTE4MzY2LCAxMTgzNzEsIDExODM3NiwgMTE4MzgxLCAKKyAgICAxMTgzODYsIDExODM5MSwgMTE4Mzk2LCAxMTg0MDEsIDExODQwNiwgMTE4NDExLCAxMTg0MTYsIDExODQyMSwgMTE4NDI2LCAKKyAgICAxMTg0MzEsIDExODQzNiwgMTE4NDQxLCAxMTg0NDYsIDExODQ1MSwgMTE4NDU2LCAxMTg0NjEsIDExODQ2NiwgMTE4NDcyLCAKKyAgICAxMTg0ODAsIDExODQ4NiwgMTE4NDk0LCAxMTg1MDIsIDExODUxMCwgMTE4NTE2LCAxMTg1MjIsIDExODUyOCwgMTE4NTM0LCAKKyAgICAxMTg1NDAsIDExODU0OCwgMTE4NTU4LCAxMTg1NjYsIDExODU3NCwgMTE4NTgwLCAxMTg1ODYsIDExODU5NCwgMTE4NjAyLCAKKyAgICAxMTg2MDgsIDExODYxNiwgMTE4NjI0LCAxMTg2MzIsIDExODYzOCwgMTE4NjQ0LCAxMTg2NTAsIDExODY1NiwgMTE4NjYyLCAKKyAgICAxMTg2NjgsIDExODY3NiwgMTE4Njg0LCAxMTg2OTAsIDExODY5NiwgMTE4NzAyLCAxMTg3MDgsIDExODcxNCwgMTE4NzIyLCAKKyAgICAxMTg3MjgsIDExODczNCwgMTE4NzQwLCAxMTg3NDYsIDExODc1MiwgMTE4NzU4LCAxMTg3NjYsIDExODc3MiwgMTE4Nzc4LCAKKyAgICAxMTg3ODQsIDExODc5MCwgMTE4Nzk4LCAxMTg4MDYsIDExODgxMiwgMTE4ODE4LCAxMTg4MjQsIDExODgyOSwgMTE4ODM1LCAKKyAgICAxMTg4NDEsIDExODg0OCwgMTE4ODUzLCAxMTg4NTgsIDExODg2MywgMTE4ODY4LCAxMTg4NzMsIDExODg3OCwgMTE4ODgzLCAKKyAgICAxMTg4ODgsIDExODg5MywgMTE4OTAyLCAxMTg5MDksIDExODkxNCwgMTE4OTE5LCAxMTg5MjQsIDExODkzMSwgMTE4OTM2LCAKKyAgICAxMTg5NDEsIDExODk0NiwgMTE4OTUzLCAxMTg5NTgsIDExODk2MywgMTE4OTY4LCAxMTg5NzMsIDExODk3OCwgMTE4OTgzLCAKKyAgICAxMTg5ODgsIDExODk5MywgMTE4OTk4LCAxMTkwMDMsIDExOTAwOCwgMTE5MDE1LCAxMTkwMjAsIDExOTAyNywgMTE5MDMyLCAKKyAgICAxMTkwMzcsIDExOTA0NCwgMTE5MDQ5LCAxMTkwNTQsIDExOTA1OSwgMTE5MDY0LCAxMTkwNjksIDExOTA3NCwgMTE5MDc5LCAKKyAgICAxMTkwODQsIDExOTA4OSwgMTE5MDk0LCAxMTkwOTksIDExOTEwNCwgMTE5MTA5LCAxMTkxMTQsIDExOTExOSwgMTE5MTI0LCAKKyAgICAxMTkxMjksIDExOTEzNCwgMTE5MTM5LCAxMTkxNDYsIDExOTE1MSwgMTE5MTU2LCAxMTkxNjEsIDExOTE2NiwgMTE5MTcxLCAKKyAgICAxMTkxNzYsIDExOTE4MSwgMTE5MTg2LCAxMTkxOTEsIDExOTE5NiwgMTE5MjAxLCAxMTkyMDYsIDExOTIxMSwgMTE5MjE4LCAKKyAgICAxMTkyMjMsIDExOTIyOCwgMTE5MjM1LCAxMTkyNDAsIDExOTI0NSwgMTE5MjUwLCAxMTkyNTUsIDExOTI2MCwgMTE5MjY1LCAKKyAgICAxMTkyNzAsIDExOTI3NSwgMTE5MjgwLCAxMTkyODUsIDExOTI5MiwgMTE5Mjk3LCAxMTkzMDIsIDExOTMwNywgMTE5MzEyLCAKKyAgICAxMTkzMTcsIDExOTMyNCwgMTE5MzMxLCAxMTkzMzYsIDExOTM0MSwgMTE5MzQ2LCAxMTkzNTEsIDExOTM1NiwgMTE5MzYxLCAKKyAgICAxMTkzNjYsIDExOTM3MSwgMTE5Mzc2LCAxMTkzODEsIDExOTM4NiwgMTE5MzkxLCAxMTkzOTYsIDExOTQwMSwgMTE5NDA2LCAKKyAgICAxMTk0MTEsIDExOTQxNiwgMTE5NDIxLCAxMTk0MjYsIDExOTQzMSwgMTE5NDM2LCAxMTk0NDEsIDExOTQ0NiwgMTE5NDUxLCAKKyAgICAxMTk0NTYsIDExOTQ2MSwgMTE5NDY2LCAxMTk0NzEsIDExOTQ3NiwgMTE5NDgxLCAxMTk0ODYsIDExOTQ5MSwgMTE5NDk2LCAKKyAgICAxMTk1MDEsIDExOTUwNiwgMTE5NTExLCAxMTk1MTgsIDExOTUyMywgMTE5NTI4LCAxMTk1MzMsIDExOTUzOCwgMTE5NTQzLCAKKyAgICAxMTk1NDgsIDExOTU1MywgMTE5NTU4LCAxMTk1NjMsIDExOTU2OCwgMTE5NTczLCAxMTk1NzgsIDExOTU4MywgMTE5NTg4LCAKKyAgICAxMTk1OTMsIDExOTU5OCwgMTE5NjAzLCAxMTk2MDgsIDExOTYxMywgMTE5NjE4LCAxMTk2MjMsIDExOTYyOCwgMTE5NjMzLCAKKyAgICAxMTk2MzgsIDExOTY0MywgMTE5NjQ4LCAxMTk2NTMsIDExOTY1OCwgMTE5NjYzLCAxMTk2NjgsIDExOTY3MywgMTE5Njc4LCAKKyAgICAxMTk2ODMsIDExOTY4OCwgMTE5NjkzLCAxMTk2OTgsIDExOTcwMywgMTE5NzA4LCAxMTk3MTMsIDExOTcxOCwgMTE5NzIzLCAKKyAgICAxMTk3MjgsIDExOTczMywgMTE5NzM4LCAxMTk3NDMsIDExOTc0OCwgMTE5NzUzLCAxMTk3NTgsIDExOTc2MywgMTE5NzY4LCAKKyAgICAxMTk3NzMsIDExOTc3OCwgMTE5NzgzLCAxMTk3ODgsIDExOTc5MywgMTE5Nzk4LCAxMTk4MDMsIDExOTgwOCwgMTE5ODE1LCAKKyAgICAxMTk4MjAsIDExOTgyNSwgMTE5ODMwLCAxMTk4MzUsIDExOTg0MCwgMTE5ODQ1LCAxMTk4NTAsIDExOTg1NSwgMTE5ODYwLCAKKyAgICAxMTk4NjUsIDExOTg3MCwgMTE5ODc1LCAxMTk4ODAsIDExOTg4NSwgMTE5ODkwLCAxMTk4OTUsIDExOTkwMCwgMTE5OTA1LCAKKyAgICAxMTk5MTAsIDExOTkxNSwgMTE5OTIwLCAxMTk5MjcsIDExOTkzMiwgMTE5OTM3LCAxMTk5NDMsIDExOTk0OCwgMTE5OTUzLCAKKyAgICAxMTk5NTgsIDExOTk2MywgMTE5OTY4LCAxMTk5NzMsIDExOTk3OCwgMTE5OTgzLCAxMTk5ODgsIDExOTk5MywgMTE5OTk4LCAKKyAgICAxMjAwMDMsIDEyMDAwOCwgMTIwMDEzLCAxMjAwMTgsIDEyMDAyMywgMTIwMDI4LCAxMjAwMzMsIDEyMDAzOCwgMTIwMDQzLCAKKyAgICAxMjAwNDgsIDEyMDA1MywgMTIwMDU4LCAxMjAwNjMsIDEyMDA2OCwgMTIwMDczLCAxMjAwNzgsIDEyMDA4MywgMTIwMDg4LCAKKyAgICAxMjAwOTMsIDEyMDA5OCwgMTIwMTAzLCAxMjAxMDgsIDEyMDExMywgMTIwMTE4LCAxMjAxMjMsIDEyMDEyOCwgMTIwMTMzLCAKKyAgICAxMjAxMzgsIDEyMDE0MywgMTIwMTQ4LCAxMjAxNTMsIDEyMDE1OCwgMTIwMTY1LCAxMjAxNzAsIDEyMDE3NSwgMTIwMTgyLCAKKyAgICAxMjAxODksIDEyMDE5NCwgMTIwMTk5LCAxMjAyMDQsIDEyMDIwOSwgMTIwMjE0LCAxMjAyMTksIDEyMDIyNCwgMTIwMjI5LCAKKyAgICAxMjAyMzQsIDEyMDIzOSwgMTIwMjQ0LCAxMjAyNDksIDEyMDI1NCwgMTIwMjU5LCAxMjAyNjQsIDEyMDI2OSwgMTIwMjc0LCAKKyAgICAxMjAyNzksIDEyMDI4NCwgMTIwMjg5LCAxMjAyOTQsIDEyMDI5OSwgMTIwMzA0LCAxMjAzMDksIDEyMDMxNCwgMTIwMzIxLCAKKyAgICAxMjAzMjYsIDEyMDMzMSwgMTIwMzM2LCAxMjAzNDEsIDEyMDM0NiwgMTIwMzUxLCAxMjAzNTYsIDEyMDM2MSwgMTIwMzY2LCAKKyAgICAxMjAzNzEsIDEyMDM3NiwgMTIwMzgxLCAxMjAzODYsIDEyMDM5MSwgMTIwMzk2LCAxMjA0MDEsIDEyMDQwNiwgMTIwNDExLCAKKyAgICAxMjA0MTgsIDEyMDQyMywgMTIwNDI4LCAxMjA0MzMsIDEyMDQzOCwgMTIwNDQzLCAxMjA0NDgsIDEyMDQ1MywgMTIwNDU5LCAKKyAgICAxMjA0NjQsIDEyMDQ2OSwgMTIwNDc0LCAxMjA0NzksIDEyMDQ4NCwgMTIwNDg5LCAxMjA0OTQsIDEyMDQ5OSwgMTIwNTA2LCAKKyAgICAxMjA1MTMsIDEyMDUxOCwgMTIwNTIzLCAxMjA1MjcsIDEyMDUzMiwgMTIwNTM2LCAxMjA1NDAsIDEyMDU0NSwgMTIwNTUyLCAKKyAgICAxMjA1NTcsIDEyMDU2MiwgMTIwNTcxLCAxMjA1NzYsIDEyMDU4MSwgMTIwNTg2LCAxMjA1OTEsIDEyMDU5OCwgMTIwNjA1LCAKKyAgICAxMjA2MTAsIDEyMDYxNSwgMTIwNjIwLCAxMjA2MjUsIDEyMDYzMiwgMTIwNjM3LCAxMjA2NDIsIDEyMDY0NywgMTIwNjUyLCAKKyAgICAxMjA2NTcsIDEyMDY2MiwgMTIwNjY3LCAxMjA2NzIsIDEyMDY3NywgMTIwNjgyLCAxMjA2ODcsIDEyMDY5MiwgMTIwNjk5LCAKKyAgICAxMjA3MDMsIDEyMDcwOCwgMTIwNzEzLCAxMjA3MTgsIDEyMDcyMywgMTIwNzI3LCAxMjA3MzIsIDEyMDczNywgMTIwNzQyLCAKKyAgICAxMjA3NDcsIDEyMDc1MiwgMTIwNzU3LCAxMjA3NjIsIDEyMDc2NywgMTIwNzcyLCAxMjA3NzgsIDEyMDc4NCwgMTIwNzkwLCAKKyAgICAxMjA3OTYsIDEyMDgwMiwgMTIwODA4LCAxMjA4MTQsIDEyMDgyMCwgMTIwODI2LCAxMjA4MzIsIDEyMDgzOCwgMTIwODQ0LCAKKyAgICAxMjA4NTAsIDEyMDg1NiwgMTIwODYyLCAxMjA4NjgsIDEyMDg3NCwgMTIwODgwLCAxMjA4ODYsIDEyMDg5MiwgMTIwODk4LCAKKyAgICAxMjA5MDQsIDEyMDkxMCwgMTIwOTE2LCAxMjA5MjEsIDEyMDkyNywgMTIwOTMzLCAxMjA5MzksIDEyMDk0NSwgMTIwOTUxLCAKKyAgICAxMjA5NTcsIDEyMDk2MywgMTIwOTY5LCAxMjA5NzUsIDEyMDk4MSwgMTIwOTg3LCAxMjA5OTMsIDEyMDk5OSwgMTIxMDA1LCAKKyAgICAxMjEwMTEsIDEyMTAxNywgMTIxMDIzLCAxMjEwMjksIDEyMTAzNSwgMTIxMDQxLCAxMjEwNDYsIDEyMTA1MiwgMTIxMDU4LCAKKyAgICAxMjEwNjQsIDEyMTA3MCwgMTIxMDc2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMjEwODIsIDEyMTA4NywgMTIxMDkyLCAKKyAgICAxMjEwOTcsIDEyMTEwMiwgMTIxMTA3LCAxMjExMTIsIDEyMTExNiwgMTIxMTIxLCAxMjExMjYsIDEyMTEzMSwgMTIxMTM2LCAKKyAgICAxMjExNDEsIDEyMTE0NiwgMTIxMTUxLCAxMjExNTYsIDEyMTE2MSwgMTIxMTY1LCAxMjExNzAsIDEyMTE3NCwgMTIxMTc5LCAKKyAgICAxMjExODQsIDEyMTE4OSwgMTIxMTk0LCAxMjExOTksIDEyMTIwMywgMTIxMjA4LCAxMjEyMTMsIDEyMTIxOCwgMTIxMjIzLCAKKyAgICAxMjEyMjgsIDAsIDEyMTIzMywgMTIxMjM4LCAxMjEyNDIsIDEyMTI0NiwgMTIxMjUwLCAxMjEyNTQsIDEyMTI1OCwgCisgICAgMTIxMjYyLCAxMjEyNjYsIDEyMTI3MCwgMCwgMCwgMCwgMCwgMTIxMjc0LCAxMjEyNzgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEyMTI4MywgMTIxMjkwLCAKKyAgICAxMjEyOTYsIDEyMTMwMywgMTIxMzEwLCAxMjEzMTcsIDEyMTMyNCwgMTIxMzMxLCAxMjEzMzgsIDEyMTM0NSwgMTIxMzUyLCAKKyAgICAxMjEzNTksIDEyMTM2NiwgMTIxMzczLCAxMjEzODAsIDEyMTM4NywgMTIxMzk0LCAxMjE0MDEsIDEyMTQwNywgMTIxNDE0LCAKKyAgICAxMjE0MjEsIDEyMTQyOCwgMTIxNDM0LCAxMjE0NDEsIDEyMTQ0NywgMTIxNDUzLCAxMjE0NjAsIDEyMTQ2NiwgMTIxNDczLCAKKyAgICAxMjE0NzksIDAsIDAsIDEyMTQ4NSwgMTIxNDkzLCAxMjE1MDEsIDEyMTUxMCwgMTIxNTE5LCAxMjE1MjgsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDEyMTUzNiwgMTIxNTQxLCAxMjE1NDYsIDEyMTU1MSwgMTIxNTU2LCAxMjE1NjEsIDEyMTU2NiwgCisgICAgMTIxNTcxLCAxMjE1NzYsIDEyMTU4MSwgMTIxNTg2LCAxMjE1OTEsIDEyMTU5NiwgMTIxNjAxLCAxMjE2MDYsIDEyMTYxMSwgCisgICAgMTIxNjE2LCAxMjE2MjEsIDEyMTYyNiwgMTIxNjMxLCAxMjE2MzYsIDEyMTY0MSwgMTIxNjQ2LCAxMjE2NTEsIDEyMTY1NiwgCisgICAgMTIxNjYxLCAxMjE2NjYsIDEyMTY3MSwgMTIxNjc2LCAxMjE2ODEsIDEyMTY4NiwgMTIxNjkxLCAxMjE2OTYsIDEyMTcwMSwgCisgICAgMTIxNzA2LCAxMjE3MTEsIDEyMTcxNiwgMTIxNzIxLCAxMjE3MjYsIDEyMTczMSwgMTIxNzM2LCAxMjE3NDEsIDEyMTc0NiwgCisgICAgMTIxNzUxLCAxMjE3NTYsIDEyMTc2MSwgMTIxNzY2LCAxMjE3NzEsIDEyMTc3NiwgMTIxNzgzLCAxMjE3OTAsIDEyMTc5NywgCisgICAgMTIxODA0LCAxMjE4MTEsIDEyMTgxOCwgMTIxODI1LCAxMjE4MzIsIDEyMTg0MSwgMTIxODQ4LCAxMjE4NTUsIDEyMTg2MiwgCisgICAgMTIxODY5LCAxMjE4NzYsIDEyMTg4MywgMTIxODkwLCAxMjE4OTcsIDEyMTkwNCwgMTIxOTExLCAxMjE5MTgsIDEyMTkyMywgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTIxOTMyLCAxMjE5MzcsIDEyMTk0MSwgMTIxOTQ1LCAxMjE5NDksIAorICAgIDEyMTk1MywgMTIxOTU3LCAxMjE5NjEsIDEyMTk2NSwgMTIxOTY5LCAwLCAxMjE5NzMsIDEyMTk3OCwgMTIxOTgzLCAKKyAgICAxMjE5OTAsIDEyMTk5NSwgMTIyMDAyLCAxMjIwMDksIDAsIDEyMjAxNCwgMTIyMDIxLCAxMjIwMjYsIDEyMjAzMSwgCisgICAgMTIyMDM4LCAxMjIwNDUsIDEyMjA1MCwgMTIyMDU1LCAxMjIwNjAsIDEyMjA2NSwgMTIyMDcwLCAxMjIwNzcsIDEyMjA4NCwgCisgICAgMTIyMDg5LCAxMjIwOTQsIDEyMjA5OSwgMTIyMTEyLCAxMjIxMjEsIDEyMjEyOCwgMTIyMTM3LCAxMjIxNDYsIDAsIDAsIDAsIAorICAgIDAsIDAsIDEyMjE1NSwgMTIyMTYyLCAxMjIxNjksIDEyMjE3NiwgMTIyMTgzLCAxMjIxOTAsIDEyMjE5NywgMTIyMjA0LCAKKyAgICAxMjIyMTEsIDEyMjIxOCwgMTIyMjI1LCAxMjIyMzIsIDEyMjIzOSwgMTIyMjQ2LCAxMjIyNTMsIDEyMjI2MCwgMTIyMjY3LCAKKyAgICAxMjIyNzQsIDEyMjI4MSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTIyMjg4LCAKKyAgICAxMjIyOTEsIDEyMjI5NSwgMTIyMjk5LCAxMjIzMDMsIDEyMjMwNiwgMTIyMzEwLCAxMjIzMTUsIDEyMjMxOSwgMTIyMzIzLCAKKyAgICAxMjIzMjcsIDEyMjMzMSwgMTIyMzM1LCAxMjIzNDAsIDEyMjM0NSwgMTIyMzQ5LCAxMjIzNTMsIDEyMjM1NiwgMTIyMzYwLCAKKyAgICAxMjIzNjUsIDEyMjM3MCwgMTIyMzc0LCAxMjIzNzgsIDEyMjM4MiwgMTIyMzg2LCAxMjIzOTAsIDEyMjM5NCwgMTIyMzk4LCAKKyAgICAxMjI0MDIsIDEyMjQwNiwgMTIyNDEwLCAxMjI0MTMsIDEyMjQxNywgMTIyNDIxLCAxMjI0MjUsIDEyMjQyOSwgMTIyNDMzLCAKKyAgICAxMjI0MzcsIDEyMjQ0MywgMTIyNDQ2LCAxMjI0NTAsIDEyMjQ1NCwgMTIyNDU4LCAxMjI0NjIsIDEyMjQ2NiwgMTIyNDcwLCAKKyAgICAxMjI0NzQsIDEyMjQ3OCwgMTIyNDgyLCAxMjI0ODcsIDEyMjQ5MiwgMTIyNDk4LCAxMjI1MDIsIDEyMjUwNiwgMTIyNTEwLCAKKyAgICAxMjI1MTQsIDEyMjUxOCwgMTIyNTIyLCAxMjI1MjcsIDEyMjUzMSwgMTIyNTM1LCAxMjI1MzksIDEyMjU0MywgMTIyNTQ3LCAKKyAgICAxMjI1NTMsIDEyMjU1NywgMTIyNTYxLCAxMjI1NjUsIDEyMjU2OSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMTIyNTczLCAxMjI1NzcsIDEyMjU4MSwgMTIyNTg3LCAxMjI1OTMsIDEyMjU5NywgMTIyNjAyLCAxMjI2MDcsIDEyMjYxMiwgCisgICAgMTIyNjE3LCAxMjI2MjEsIDEyMjYyNiwgMTIyNjMxLCAxMjI2MzYsIDEyMjY0MCwgMTIyNjQ1LCAxMjI2NTAsIDEyMjY1NSwgCisgICAgMTIyNjU5LCAxMjI2NjQsIDEyMjY2OSwgMTIyNjc0LCAxMjI2NzksIDEyMjY4NCwgMTIyNjg5LCAxMjI2OTQsIDEyMjY5OSwgCisgICAgMTIyNzAzLCAxMjI3MDgsIDEyMjcxMywgMTIyNzE4LCAxMjI3MjMsIDEyMjcyOCwgMTIyNzMzLCAxMjI3MzgsIDEyMjc0MywgCisgICAgMTIyNzQ4LCAxMjI3NTMsIDEyMjc1OCwgMTIyNzY1LCAxMjI3NzAsIDEyMjc3NywgMTIyNzgyLCAxMjI3ODcsIDEyMjc5MiwgCisgICAgMTIyNzk3LCAxMjI4MDIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEyMjgwNywgCisgICAgMTIyODExLCAxMjI4MTcsIDEyMjgyMCwgMTIyODIzLCAxMjI4MjcsIDEyMjgzMSwgMTIyODM1LCAxMjI4MzksIDEyMjg0MywgCisgICAgMTIyODQ3LCAxMjI4NTEsIDEyMjg1NywgMTIyODYzLCAxMjI4NjksIDEyMjg3NSwgMTIyODgxLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMjI4ODcsIDEyMjg5MiwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTIyODk4LCAxMjI5MDIsIDEyMjkwNiwgMTIyOTEwLCAKKyAgICAxMjI5MTQsIDEyMjkxOCwgMTIyOTIyLCAxMjI5MjUsIDEyMjkyOSwgMTIyOTMzLCAxMjI5MzcsIDEyMjk0MSwgMTIyOTQ0LCAKKyAgICAxMjI5NTAsIDEyMjk1NSwgMTIyOTYxLCAxMjI5NjcsIDEyMjk3MiwgMTIyOTc2LCAxMjI5ODIsIDEyMjk4NiwgMTIyOTkwLCAKKyAgICAxMjI5OTYsIDEyMzAwMCwgMTIzMDA0LCAxMjMwMDgsIDEyMzAxMiwgMTIzMDE2LCAxMjMwMjAsIDEyMzAyMywgMTIzMDI5LCAKKyAgICAxMjMwMzUsIDEyMzA0MSwgMTIzMDQ3LCAxMjMwNTQsIDEyMzA2MSwgMTIzMDY4LCAxMjMwNzgsIDEyMzA4NSwgMTIzMDkyLCAKKyAgICAxMjMwOTcsIDEyMzEwMiwgMTIzMTA3LCAxMjMxMTIsIDEyMzExOSwgMTIzMTI2LCAxMjMxMzMsIDEyMzE0MCwgMTIzMTQ5LCAKKyAgICAxMjMxNTUsIDEyMzE2MiwgMTIzMTY4LCAxMjMxNzUsIDEyMzE4MSwgMTIzMTg4LCAxMjMxOTMsIDEyMzIwMCwgMTIzMjA0LCAKKyAgICAxMjMyMDgsIDEyMzIxMywgMTIzMjE5LCAxMjMyMjUsIDEyMzIzMiwgMTIzMjM5LCAxMjMyNDUsIDEyMzI1MiwgMTIzMjU1LCAKKyAgICAxMjMyNjEsIDEyMzI2NSwgMTIzMjY4LCAxMjMyNzIsIDEyMzI3NSwgMTIzMjc4LCAxMjMyODIsIDEyMzI4NywgMTIzMjkxLCAKKyAgICAxMjMyOTUsIDEyMzMwMSwgMTIzMzA2LCAxMjMzMTIsIDEyMzMxNiwgMTIzMzIwLCAxMjMzMjMsIDEyMzMyNywgMTIzMzMxLCAKKyAgICAxMjMzMzYsIDEyMzM0MCwgMTIzMzQ1LCAxMjMzNDksIDEyMzM1NCwgMTIzMzU4LCAxMjMzNjIsIDEyMzM2NiwgMTIzMzcwLCAKKyAgICAxMjMzNzQsIDEyMzM3OCwgMTIzMzgyLCAxMjMzODYsIDEyMzM5MSwgMTIzMzk2LCAxMjM0MDEsIDEyMzQwNiwgMTIzNDEyLCAKKyAgICAxMjM0MTgsIDEyMzQyNCwgMTIzNDMwLCAxMjM0MzYsIDAsIDAsIDAsIDAsIDAsIDEyMzQ0MSwgMTIzNDQ4LCAxMjM0NTYsIAorICAgIDEyMzQ2MywgMTIzNDcwLCAxMjM0NzgsIDEyMzQ4NSwgMTIzNDkyLCAxMjM1MDEsIDEyMzUwOCwgMTIzNTE1LCAxMjM1MjIsIAorICAgIDEyMzUzMCwgMCwgMCwgMCwgMTIzNTM4LCAxMjM1NDMsIDEyMzU1MCwgMTIzNTU2LCAxMjM1NjMsIDEyMzU2OSwgMTIzNTc1LCAKKyAgICAxMjM1ODEsIDEyMzU4NywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTIzNTkzLCAxMjM1OTgsIDEyMzYwNSwgMTIzNjExLCAKKyAgICAxMjM2MTgsIDEyMzYyNCwgMTIzNjMwLCAxMjM2MzYsIDEyMzY0MiwgMTIzNjQ4LCAwLCAwLCAxMjM2NTMsIDEyMzY1OSwgCisgICAgMTIzNjY1LCAxMjM2NjgsIDEyMzY3NywgMTIzNjg0LCAxMjM2OTIsIDEyMzY5OSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTIzNzA2LCAxMjM3MTEsIDEyMzcxNiwgMTIzNzIxLCAKKyAgICAxMjM3MjgsIDEyMzczNSwgMTIzNzQyLCAxMjM3NDksIDEyMzc1NCwgMTIzNzU5LCAxMjM3NjQsIDEyMzc2OSwgMTIzNzc2LCAKKyAgICAxMjM3ODEsIDEyMzc4OCwgMTIzNzk1LCAxMjM4MDAsIDEyMzgwNSwgMTIzODEwLCAxMjM4MTcsIDEyMzgyMiwgMTIzODI3LCAKKyAgICAxMjM4MzQsIDEyMzg0MSwgMTIzODQ2LCAxMjM4NTEsIDEyMzg1NiwgMTIzODYzLCAxMjM4NzAsIDEyMzg3NywgMTIzODgyLCAKKyAgICAxMjM4ODcsIDEyMzg5NCwgMTIzOTAxLCAxMjM5MDgsIDEyMzkxNSwgMTIzOTIwLCAxMjM5MjUsIDEyMzkzMCwgMTIzOTM3LCAKKyAgICAxMjM5NDIsIDEyMzk0NywgMTIzOTUyLCAxMjM5NTksIDEyMzk2OCwgMTIzOTc1LCAxMjM5ODAsIDEyMzk4NSwgMTIzOTkwLCAKKyAgICAxMjM5OTUsIDEyNDAwMCwgMTI0MDA1LCAxMjQwMTQsIDEyNDAyMSwgMTI0MDI2LCAxMjQwMzMsIDEyNDA0MCwgMTI0MDQ1LCAKKyAgICAxMjQwNTAsIDEyNDA1NSwgMTI0MDYyLCAxMjQwNjcsIDEyNDA3NCwgMTI0MDgxLCAxMjQwODYsIDEyNDA5MSwgMTI0MDk2LCAKKyAgICAxMjQxMDMsIDEyNDExMCwgMTI0MTE1LCAxMjQxMjAsIDEyNDEyNywgMTI0MTM0LCAxMjQxNDEsIDEyNDE0NiwgMTI0MTUxLCAKKyAgICAxMjQxNTYsIDEyNDE2MSwgMTI0MTY4LCAxMjQxNzcsIDEyNDE4NiwgMTI0MTkxLCAxMjQxOTgsIDEyNDIwNywgMTI0MjEyLCAKKyAgICAxMjQyMTcsIDEyNDIyMiwgMTI0MjI3LCAxMjQyMzQsIDEyNDI0MSwgMTI0MjQ4LCAxMjQyNTUsIDEyNDI2MCwgMTI0MjY1LCAKKyAgICAxMjQyNzAsIDEyNDI3NywgMTI0Mjg0LCAxMjQyOTEsIDEyNDI5NiwgMTI0MzAxLCAxMjQzMDgsIDEyNDMxMywgMTI0MzIwLCAKKyAgICAxMjQzMjUsIDEyNDMzMiwgMTI0MzM3LCAxMjQzNDQsIDEyNDM1MSwgMTI0MzU2LCAxMjQzNjEsIDEyNDM2NiwgMTI0MzcxLCAKKyAgICAxMjQzNzYsIDEyNDM4MSwgMTI0Mzg2LCAxMjQzOTEsIDEyNDM5NiwgMTI0NDAzLCAxMjQ0MTAsIDEyNDQxNywgMTI0NDI0LCAKKyAgICAxMjQ0MzEsIDEyNDQ0MCwgMTI0NDQ1LCAxMjQ0NTAsIDEyNDQ1NywgMTI0NDY0LCAxMjQ0NjksIDEyNDQ3NiwgMTI0NDgzLCAKKyAgICAxMjQ0OTAsIDEyNDQ5NywgMTI0NTA0LCAxMjQ1MTEsIDEyNDUxNiwgMTI0NTIxLCAxMjQ1MjYsIDEyNDUzMSwgMTI0NTM2LCAKKyAgICAxMjQ1NDUsIDEyNDU1NCwgMTI0NTYzLCAxMjQ1NzIsIDEyNDU4MSwgMTI0NTkwLCAxMjQ1OTksIDEyNDYwOCwgMTI0NjEzLCAKKyAgICAxMjQ2MjQsIDEyNDYzNSwgMTI0NjQ0LCAxMjQ2NDksIDEyNDY1NCwgMTI0NjU5LCAxMjQ2NjQsIDEyNDY3MywgMTI0NjgwLCAKKyAgICAxMjQ2ODcsIDEyNDY5NCwgMTI0NzAxLCAxMjQ3MDgsIDEyNDcxNSwgMTI0NzI0LCAxMjQ3MzMsIDEyNDc0NCwgMTI0NzUzLCAKKyAgICAxMjQ3NjQsIDEyNDc3MywgMTI0NzgwLCAxMjQ3ODksIDEyNDgwMCwgMTI0ODA5LCAxMjQ4MTgsIDEyNDgyNywgMTI0ODM2LCAKKyAgICAxMjQ4NDMsIDEyNDg1MCwgMTI0ODU3LCAxMjQ4NjYsIDEyNDg3NSwgMTI0ODg2LCAxMjQ4OTUsIDEyNDkwNCwgMTI0OTE1LCAKKyAgICAxMjQ5MjAsIDEyNDkyNSwgMTI0OTM2LCAxMjQ5NDQsIDEyNDk1MywgMTI0OTYyLCAxMjQ5NzEsIDEyNDk4MiwgMTI0OTkxLCAKKyAgICAxMjUwMDAsIDEyNTAxMSwgMTI1MDIyLCAxMjUwMzMsIDEyNTA0NCwgMTI1MDU1LCAxMjUwNjYsIDEyNTA3MywgMTI1MDgwLCAKKyAgICAxMjUwODcsIDEyNTA5NCwgMTI1MTA1LCAxMjUxMTQsIDEyNTEyMSwgMTI1MTI4LCAxMjUxMzUsIDEyNTE0NiwgMTI1MTU3LCAKKyAgICAxMjUxNjgsIDEyNTE3OSwgMTI1MTkwLCAxMjUyMDEsIDEyNTIxMiwgMTI1MjIzLCAxMjUyMzAsIDEyNTIzNywgMTI1MjQ2LCAKKyAgICAxMjUyNTUsIDEyNTI2MiwgMTI1MjY5LCAxMjUyNzYsIDEyNTI4NSwgMTI1Mjk0LCAxMjUzMDMsIDEyNTMxMCwgMTI1MzE5LCAKKyAgICAxMjUzMjgsIDEyNTMzNywgMTI1MzQ0LCAxMjUzNTEsIDEyNTM1NiwgMTI1MzYyLCAxMjUzNjksIDEyNTM3NiwgMTI1MzgzLCAKKyAgICAxMjUzOTAsIDEyNTM5NywgMTI1NDA0LCAxMjU0MTMsIDEyNTQyMiwgMTI1NDMxLCAxMjU0NDAsIDEyNTQ0NywgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTI1NDU2LCAxMjU0NjIsIDEyNTQ2NywgMTI1NDcyLCAxMjU0NzksIDEyNTQ4NSwgCisgICAgMTI1NDkxLCAxMjU0OTcsIDEyNTUwMywgMTI1NTA5LCAxMjU1MTUsIDEyNTUyMSwgMTI1NTI1LCAxMjU1MjksIDEyNTUzNSwgCisgICAgMTI1NTQxLCAxMjU1NDcsIDEyNTU1MSwgMTI1NTU2LCAxMjU1NjEsIDEyNTU2NSwgMTI1NTY5LCAxMjU1NzIsIDEyNTU3OCwgCisgICAgMTI1NTg0LCAxMjU1OTAsIDEyNTU5NiwgMTI1NjAyLCAxMjU2MDgsIDEyNTYxNCwgMTI1NjIwLCAxMjU2MjYsIDEyNTYzNiwgCisgICAgMTI1NjQ2LCAxMjU2NTIsIDEyNTY1OCwgMTI1NjY4LCAxMjU2NzgsIDEyNTY4NCwgMCwgMCwgMTI1NjkwLCAxMjU2OTgsIAorICAgIDEyNTcwMywgMTI1NzA4LCAxMjU3MTQsIDEyNTcyMCwgMTI1NzI2LCAxMjU3MzIsIDEyNTczOCwgMTI1NzQ0LCAxMjU3NTEsIAorICAgIDEyNTc1OCwgMTI1NzY0LCAxMjU3NzAsIDEyNTc3NiwgMTI1NzgyLCAxMjU3ODgsIDEyNTc5NCwgMTI1ODAwLCAxMjU4MDYsIAorICAgIDEyNTgxMSwgMTI1ODE3LCAxMjU4MjMsIDEyNTgyOSwgMTI1ODM1LCAxMjU4NDEsIDEyNTg1MCwgMTI1ODU2LCAxMjU4NjEsIAorICAgIDEyNTg2OSwgMTI1ODc2LCAxMjU4ODMsIDEyNTg5MiwgMTI1OTAxLCAxMjU5MTAsIDEyNTkxOSwgMTI1OTI4LCAxMjU5MzcsIAorICAgIDEyNTk0NiwgMTI1OTU1LCAxMjU5NjUsIDEyNTk3NSwgMTI1OTgzLCAxMjU5OTEsIDEyNjAwMCwgMTI2MDA5LCAxMjYwMTUsIAorICAgIDEyNjAyMSwgMTI2MDI3LCAxMjYwMzMsIDEyNjA0MSwgMTI2MDQ5LCAxMjYwNTMsIDEyNjA1OSwgMTI2MDY0LCAxMjYwNzAsIAorICAgIDEyNjA3NiwgMTI2MDgyLCAxMjYwODgsIDEyNjA5NCwgMTI2MTAzLCAxMjYxMDgsIDEyNjExNSwgMTI2MTIwLCAxMjYxMjUsIAorICAgIDEyNjEzMCwgMTI2MTM2LCAxMjYxNDIsIDEyNjE0OCwgMTI2MTU1LCAxMjYxNjAsIDEyNjE2NSwgMTI2MTcwLCAxMjYxNzUsIAorICAgIDEyNjE4MCwgMTI2MTg2LCAxMjYxOTIsIDEyNjE5OCwgMTI2MjA0LCAxMjYyMTAsIDEyNjIxNiwgMTI2MjIyLCAxMjYyMjgsIAorICAgIDEyNjIzMywgMTI2MjM4LCAxMjYyNDMsIDEyNjI0OCwgMTI2MjUzLCAxMjYyNTgsIDEyNjI2MywgMTI2MjY4LCAxMjYyNzQsIAorICAgIDEyNjI4MCwgMTI2Mjg1LCAxMjYyOTAsIDEyNjI5NSwgMTI2MzAwLCAxMjYzMDUsIDEyNjMxMSwgMTI2MzE4LCAxMjYzMjIsIAorICAgIDEyNjMyNiwgMTI2MzMwLCAxMjYzMzQsIDEyNjMzOCwgMTI2MzQyLCAxMjYzNDYsIDEyNjM1MCwgMTI2MzU4LCAxMjYzNjgsIAorICAgIDEyNjM3MiwgMTI2Mzc2LCAxMjYzODIsIDEyNjM4OCwgMTI2Mzk0LCAxMjY0MDAsIDEyNjQwNiwgMTI2NDEyLCAxMjY0MTgsIAorICAgIDEyNjQyNCwgMTI2NDMwLCAxMjY0MzYsIDEyNjQ0MiwgMTI2NDQ4LCAxMjY0NTQsIDEyNjQ2MCwgMTI2NDY0LCAxMjY0NjgsIAorICAgIDEyNjQ3NSwgMTI2NDgxLCAxMjY0ODcsIDEyNjQ5MywgMTI2NDk4LCAxMjY1MDUsIDEyNjUxMCwgMTI2NTE2LCAxMjY1MjIsIAorICAgIDEyNjUyOCwgMTI2NTM0LCAxMjY1MzksIDEyNjU0MywgMTI2NTQ5LCAxMjY1NTMsIDEyNjU1NywgMTI2NTYxLCAxMjY1NjcsIAorICAgIDEyNjU3MywgMTI2NTc3LCAxMjY1ODMsIDEyNjU4OSwgMTI2NTk1LCAxMjY2MDEsIDEyNjYwNywgMTI2NjE1LCAxMjY2MjMsIAorICAgIDEyNjYyOSwgMTI2NjM1LCAxMjY2NDEsIDEyNjY0NywgMTI2NjU5LCAxMjY2NzEsIDEyNjY4NSwgMTI2Njk3LCAxMjY3MDksIAorICAgIDEyNjcyMywgMTI2NzM3LCAxMjY3NTEsIDEyNjc1NSwgMTI2NzYzLCAxMjY3NzEsIDEyNjc3NiwgMTI2NzgwLCAxMjY3ODQsIAorICAgIDEyNjc4OCwgMTI2NzkyLCAxMjY3OTYsIDEyNjgwMCwgMTI2ODA0LCAxMjY4MTAsIDEyNjgxNiwgMTI2ODIyLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMjY4MjgsIDEyNjgzNSwgMTI2ODQyLCAxMjY4NDksIDEyNjg1NiwgMTI2ODYzLCAKKyAgICAxMjY4NzAsIDEyNjg3NywgMTI2ODg0LCAxMjY4OTEsIDEyNjg5OCwgMTI2OTA1LCAxMjY5MTIsIDEyNjkxOSwgMTI2OTI2LCAKKyAgICAxMjY5MzMsIDEyNjk0MCwgMTI2OTQ3LCAxMjY5NTQsIDEyNjk2MSwgMTI2OTY4LCAxMjY5NzUsIDEyNjk4MiwgMTI2OTg5LCAKKyAgICAxMjY5OTYsIDEyNzAwMywgMTI3MDEwLCAxMjcwMTcsIDEyNzAyNCwgMTI3MDMxLCAxMjcwMzgsIDEyNzA0NSwgMTI3MDUyLCAKKyAgICAxMjcwNTksIDEyNzA2NiwgMTI3MDczLCAxMjcwODAsIDEyNzA4NywgMTI3MDk0LCAxMjcxMDEsIDEyNzEwOCwgMTI3MTE1LCAKKyAgICAxMjcxMjIsIDEyNzEyOSwgMTI3MTM2LCAxMjcxNDMsIDEyNzE1MCwgMTI3MTU3LCAxMjcxNjQsIDEyNzE3MSwgMTI3MTc4LCAKKyAgICAxMjcxODUsIDEyNzE5MiwgMTI3MTk5LCAxMjcyMDYsIDEyNzIxMywgMTI3MjIwLCAxMjcyMjcsIDEyNzIzNCwgMTI3MjQxLCAKKyAgICAxMjcyNDgsIDEyNzI1NSwgMTI3MjYyLCAxMjcyNjksIDEyNzI3NiwgMTI3MjgzLCAxMjcyOTAsIDEyNzI5NSwgMTI3MzAwLCAKKyAgICAxMjczMDUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEyNzMwOSwgCisgICAgMTI3MzE0LCAxMjczMjEsIDEyNzMyOCwgMTI3MzM1LCAxMjczNDIsIDEyNzM0NywgMTI3MzUyLCAxMjczNTksIDEyNzM2NCwgCisgICAgMTI3MzY5LCAxMjczNzYsIDEyNzM4MSwgMTI3Mzg2LCAxMjczOTEsIDEyNzM5OCwgMTI3NDA3LCAxMjc0MTIsIDEyNzQxNywgCisgICAgMTI3NDIyLCAxMjc0MjcsIDEyNzQzMiwgMTI3NDM3LCAxMjc0NDQsIDEyNzQ0OSwgMTI3NDU0LCAxMjc0NTksIDEyNzQ2NCwgCisgICAgMTI3NDY5LCAxMjc0NzQsIDEyNzQ3OSwgMTI3NDg0LCAxMjc0ODksIDEyNzQ5NCwgMTI3NDk5LCAxMjc1MDQsIDEyNzUxMCwgCisgICAgMTI3NTE1LCAxMjc1MjAsIDEyNzUyNSwgMTI3NTMwLCAxMjc1MzUsIDEyNzU0MCwgMTI3NTQ1LCAxMjc1NTAsIDEyNzU1NSwgCisgICAgMTI3NTY0LCAxMjc1NjksIDEyNzU3OCwgMTI3NTgzLCAxMjc1ODgsIDEyNzU5MywgMTI3NTk4LCAxMjc2MDMsIDEyNzYwOCwgCisgICAgMTI3NjEzLCAxMjc2MjIsIDEyNzYyNywgMTI3NjMyLCAxMjc2MzcsIDEyNzY0MiwgMTI3NjQ3LCAxMjc2NTQsIDEyNzY1OSwgCisgICAgMTI3NjY2LCAxMjc2NzEsIDEyNzY3NiwgMTI3NjgxLCAxMjc2ODYsIDEyNzY5MSwgMTI3Njk2LCAxMjc3MDEsIDEyNzcwNiwgCisgICAgMTI3NzExLCAxMjc3MTYsIDEyNzcyMSwgMTI3NzI2LCAxMjc3MzEsIDEyNzczNiwgMTI3NzQxLCAxMjc3NDYsIDEyNzc1MSwgCisgICAgMTI3NzU2LCAxMjc3NjEsIDEyNzc3MCwgMTI3Nzc1LCAxMjc3ODAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDEyNzc4NSwgMTI3NzkzLCAxMjc4MDEsIDEyNzgwOSwgMTI3ODE3LCAxMjc4MjUsIDEyNzgzMywgMTI3ODQxLCAxMjc4NDksIAorICAgIDEyNzg1NywgMTI3ODY1LCAxMjc4NzMsIDEyNzg4MSwgMTI3ODg5LCAxMjc4OTcsIDEyNzkwNSwgMTI3OTEzLCAxMjc5MjEsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEyNzkyOSwgCisgICAgMTI3OTMzLCAxMjc5MzgsIDEyNzk0MywgMTI3OTQ4LCAxMjc5NTIsIDEyNzk1NywgMTI3OTYyLCAxMjc5NjcsIDEyNzk3MSwgCisgICAgMTI3OTc2LCAxMjc5ODEsIDEyNzk4NSwgMTI3OTkwLCAxMjc5OTUsIDEyNzk5OSwgMTI4MDA0LCAxMjgwMDksIDEyODAxMywgCisgICAgMTI4MDE3LCAxMjgwMjIsIDEyODAyNiwgMTI4MDMxLCAxMjgwMzYsIDEyODA0MSwgMTI4MDQ2LCAxMjgwNTEsIDEyODA1NSwgCisgICAgMTI4MDYwLCAxMjgwNjUsIDEyODA3MCwgMTI4MDc0LCAxMjgwNzksIDEyODA4NCwgMTI4MDg5LCAxMjgwOTMsIDEyODA5OCwgCisgICAgMTI4MTAzLCAxMjgxMDcsIDEyODExMiwgMTI4MTE3LCAxMjgxMjEsIDEyODEyNiwgMTI4MTMxLCAxMjgxMzUsIDEyODEzOSwgCisgICAgMTI4MTQ0LCAxMjgxNDgsIDEyODE1MywgMTI4MTU4LCAxMjgxNjMsIDEyODE2OCwgMTI4MTczLCAxMjgxNzcsIDEyODE4MiwgCisgICAgMTI4MTg3LCAxMjgxOTIsIDEyODE5NiwgMTI4MjAxLCAxMjgyMDYsIDEyODIxMSwgMTI4MjE1LCAxMjgyMjAsIDEyODIyNSwgCisgICAgMTI4MjI5LCAxMjgyMzQsIDEyODIzOSwgMTI4MjQzLCAxMjgyNDgsIDEyODI1MywgMTI4MjU3LCAxMjgyNjEsIDEyODI2NiwgCisgICAgMTI4MjcwLCAxMjgyNzUsIDEyODI4MCwgMTI4Mjg1LCAxMjgyOTAsIDEyODI5NSwgMTI4Mjk5LCAxMjgzMDQsIDEyODMwOSwgCisgICAgMTI4MzE0LCAxMjgzMTgsIDEyODMyMywgMCwgMTI4MzI4LCAxMjgzMzIsIDEyODMzNywgMTI4MzQyLCAxMjgzNDYsIAorICAgIDEyODM1MSwgMTI4MzU2LCAxMjgzNjAsIDEyODM2NSwgMTI4MzcwLCAxMjgzNzQsIDEyODM3OCwgMTI4MzgzLCAxMjgzODcsIAorICAgIDEyODM5MiwgMTI4Mzk3LCAxMjg0MDIsIDEyODQwNywgMTI4NDEyLCAxMjg0MTcsIDEyODQyMywgMTI4NDI5LCAxMjg0MzUsIAorICAgIDEyODQ0MCwgMTI4NDQ2LCAxMjg0NTIsIDEyODQ1OCwgMTI4NDYzLCAxMjg0NjksIDEyODQ3NSwgMTI4NDgwLCAxMjg0ODYsIAorICAgIDEyODQ5MiwgMTI4NDk3LCAxMjg1MDMsIDEyODUwOSwgMTI4NTE0LCAxMjg1MTksIDEyODUyNSwgMTI4NTMwLCAxMjg1MzYsIAorICAgIDEyODU0MiwgMTI4NTQ4LCAxMjg1NTQsIDEyODU2MCwgMTI4NTY1LCAxMjg1NzEsIDEyODU3NywgMTI4NTgzLCAxMjg1ODgsIAorICAgIDEyODU5NCwgMTI4NjAwLCAxMjg2MDYsIDEyODYxMSwgMTI4NjE3LCAxMjg2MjMsIDEyODYyOCwgMTI4NjM0LCAxMjg2NDAsIAorICAgIDEyODY0NSwgMTI4NjUxLCAxMjg2NTcsIDEyODY2MiwgMTI4NjY3LCAxMjg2NzMsIDEyODY3OCwgMTI4Njg0LCAxMjg2OTAsIAorICAgIDEyODY5NiwgMTI4NzAyLCAxMjg3MDgsIDAsIDEyODcxMiwgMTI4NzE3LCAwLCAwLCAxMjg3MjIsIDAsIDAsIDEyODcyNywgCisgICAgMTI4NzMyLCAwLCAwLCAxMjg3MzcsIDEyODc0MiwgMTI4NzQ2LCAxMjg3NTEsIDAsIDEyODc1NiwgMTI4NzYwLCAxMjg3NjUsIAorICAgIDEyODc2OSwgMTI4Nzc0LCAxMjg3NzksIDEyODc4NCwgMTI4Nzg5LCAxMjg3OTQsIDEyODc5OCwgMTI4ODAzLCAxMjg4MDgsIAorICAgIDAsIDEyODgxMywgMCwgMTI4ODE4LCAxMjg4MjMsIDEyODgyNywgMTI4ODMyLCAxMjg4MzcsIDEyODg0MSwgMTI4ODQ2LCAwLCAKKyAgICAxMjg4NTEsIDEyODg1NiwgMTI4ODYxLCAxMjg4NjUsIDEyODg2OSwgMTI4ODc0LCAxMjg4NzgsIDEyODg4MywgMTI4ODg4LCAKKyAgICAxMjg4OTMsIDEyODg5OCwgMTI4OTAzLCAxMjg5MDgsIDEyODkxNCwgMTI4OTIwLCAxMjg5MjYsIDEyODkzMSwgMTI4OTM3LCAKKyAgICAxMjg5NDMsIDEyODk0OSwgMTI4OTU0LCAxMjg5NjAsIDEyODk2NiwgMTI4OTcxLCAxMjg5NzcsIDEyODk4MywgMTI4OTg4LCAKKyAgICAxMjg5OTQsIDEyOTAwMCwgMTI5MDA1LCAxMjkwMTAsIDEyOTAxNiwgMTI5MDIxLCAxMjkwMjcsIDEyOTAzMywgMTI5MDM5LCAKKyAgICAxMjkwNDUsIDEyOTA1MSwgMTI5MDU2LCAxMjkwNjIsIDEyOTA2OCwgMTI5MDc0LCAxMjkwNzksIDEyOTA4NSwgMTI5MDkxLCAKKyAgICAxMjkwOTcsIDEyOTEwMiwgMTI5MTA4LCAxMjkxMTQsIDEyOTExOSwgMTI5MTI1LCAxMjkxMzEsIDEyOTEzNiwgMTI5MTQyLCAKKyAgICAxMjkxNDgsIDEyOTE1MywgMTI5MTU4LCAxMjkxNjQsIDEyOTE2OSwgMTI5MTc1LCAxMjkxODEsIDEyOTE4NywgMTI5MTkzLCAKKyAgICAxMjkxOTksIDEyOTIwMywgMCwgMTI5MjA4LCAxMjkyMTMsIDEyOTIxNywgMTI5MjIyLCAwLCAwLCAxMjkyMjcsIDEyOTIzMiwgCisgICAgMTI5MjM3LCAxMjkyNDEsIDEyOTI0NiwgMTI5MjUxLCAxMjkyNTUsIDEyOTI2MCwgMCwgMTI5MjY1LCAxMjkyNjksIAorICAgIDEyOTI3NCwgMTI5Mjc4LCAxMjkyODMsIDEyOTI4OCwgMTI5MjkzLCAwLCAxMjkyOTgsIDEyOTMwMiwgMTI5MzA3LCAKKyAgICAxMjkzMTIsIDEyOTMxNywgMTI5MzIxLCAxMjkzMjYsIDEyOTMzMSwgMTI5MzM2LCAxMjkzNDAsIDEyOTM0NSwgMTI5MzUwLCAKKyAgICAxMjkzNTQsIDEyOTM1OSwgMTI5MzY0LCAxMjkzNjgsIDEyOTM3MywgMTI5Mzc4LCAxMjkzODIsIDEyOTM4NiwgMTI5MzkxLCAKKyAgICAxMjkzOTUsIDEyOTQwMCwgMTI5NDA1LCAxMjk0MTAsIDEyOTQxNSwgMTI5NDIwLCAxMjk0MjQsIDAsIDEyOTQyOSwgCisgICAgMTI5NDM0LCAxMjk0MzgsIDEyOTQ0MywgMCwgMTI5NDQ4LCAxMjk0NTIsIDEyOTQ1NywgMTI5NDYyLCAxMjk0NjYsIDAsIAorICAgIDEyOTQ3MSwgMCwgMCwgMCwgMTI5NDc1LCAxMjk0NzksIDEyOTQ4NCwgMTI5NDg4LCAxMjk0OTMsIDEyOTQ5OCwgMTI5NTAzLCAKKyAgICAwLCAxMjk1MDgsIDEyOTUxMiwgMTI5NTE3LCAxMjk1MjIsIDEyOTUyNywgMTI5NTMxLCAxMjk1MzYsIDEyOTU0MSwgCisgICAgMTI5NTQ2LCAxMjk1NTAsIDEyOTU1NSwgMTI5NTYwLCAxMjk1NjQsIDEyOTU2OSwgMTI5NTc0LCAxMjk1NzgsIDEyOTU4MywgCisgICAgMTI5NTg4LCAxMjk1OTIsIDEyOTU5NiwgMTI5NjAxLCAxMjk2MDUsIDEyOTYxMCwgMTI5NjE1LCAxMjk2MjAsIDEyOTYyNSwgCisgICAgMTI5NjMwLCAxMjk2MzUsIDEyOTY0MSwgMTI5NjQ3LCAxMjk2NTMsIDEyOTY1OCwgMTI5NjY0LCAxMjk2NzAsIDEyOTY3NiwgCisgICAgMTI5NjgxLCAxMjk2ODcsIDEyOTY5MywgMTI5Njk4LCAxMjk3MDQsIDEyOTcxMCwgMTI5NzE1LCAxMjk3MjEsIDEyOTcyNywgCisgICAgMTI5NzMyLCAxMjk3MzcsIDEyOTc0MywgMTI5NzQ4LCAxMjk3NTQsIDEyOTc2MCwgMTI5NzY2LCAxMjk3NzIsIDEyOTc3OCwgCisgICAgMTI5NzgzLCAxMjk3ODksIDEyOTc5NSwgMTI5ODAxLCAxMjk4MDYsIDEyOTgxMiwgMTI5ODE4LCAxMjk4MjQsIDEyOTgyOSwgCisgICAgMTI5ODM1LCAxMjk4NDEsIDEyOTg0NiwgMTI5ODUyLCAxMjk4NTgsIDEyOTg2MywgMTI5ODY5LCAxMjk4NzUsIDEyOTg4MCwgCisgICAgMTI5ODg1LCAxMjk4OTEsIDEyOTg5NiwgMTI5OTAyLCAxMjk5MDgsIDEyOTkxNCwgMTI5OTIwLCAxMjk5MjYsIDEyOTkzMCwgCisgICAgMTI5OTM1LCAxMjk5NDAsIDEyOTk0NSwgMTI5OTQ5LCAxMjk5NTQsIDEyOTk1OSwgMTI5OTY0LCAxMjk5NjgsIDEyOTk3MywgCisgICAgMTI5OTc4LCAxMjk5ODIsIDEyOTk4NywgMTI5OTkyLCAxMjk5OTYsIDEzMDAwMSwgMTMwMDA2LCAxMzAwMTAsIDEzMDAxNCwgCisgICAgMTMwMDE5LCAxMzAwMjMsIDEzMDAyOCwgMTMwMDMzLCAxMzAwMzgsIDEzMDA0MywgMTMwMDQ4LCAxMzAwNTIsIDEzMDA1NywgCisgICAgMTMwMDYyLCAxMzAwNjcsIDEzMDA3MSwgMTMwMDc2LCAxMzAwODEsIDEzMDA4NiwgMTMwMDkwLCAxMzAwOTUsIDEzMDEwMCwgCisgICAgMTMwMTA0LCAxMzAxMDksIDEzMDExNCwgMTMwMTE4LCAxMzAxMjMsIDEzMDEyOCwgMTMwMTMyLCAxMzAxMzYsIDEzMDE0MSwgCisgICAgMTMwMTQ1LCAxMzAxNTAsIDEzMDE1NSwgMTMwMTYwLCAxMzAxNjUsIDEzMDE3MCwgMTMwMTc1LCAxMzAxODEsIDEzMDE4NywgCisgICAgMTMwMTkzLCAxMzAxOTgsIDEzMDIwNCwgMTMwMjEwLCAxMzAyMTYsIDEzMDIyMSwgMTMwMjI3LCAxMzAyMzMsIDEzMDIzOCwgCisgICAgMTMwMjQ0LCAxMzAyNTAsIDEzMDI1NSwgMTMwMjYxLCAxMzAyNjcsIDEzMDI3MiwgMTMwMjc3LCAxMzAyODMsIDEzMDI4OCwgCisgICAgMTMwMjk0LCAxMzAzMDAsIDEzMDMwNiwgMTMwMzEyLCAxMzAzMTgsIDEzMDMyMywgMTMwMzI5LCAxMzAzMzUsIDEzMDM0MSwgCisgICAgMTMwMzQ2LCAxMzAzNTIsIDEzMDM1OCwgMTMwMzY0LCAxMzAzNjksIDEzMDM3NSwgMTMwMzgxLCAxMzAzODYsIDEzMDM5MiwgCisgICAgMTMwMzk4LCAxMzA0MDMsIDEzMDQwOSwgMTMwNDE1LCAxMzA0MjAsIDEzMDQyNSwgMTMwNDMxLCAxMzA0MzYsIDEzMDQ0MiwgCisgICAgMTMwNDQ4LCAxMzA0NTQsIDEzMDQ2MCwgMTMwNDY2LCAxMzA0NzEsIDEzMDQ3NywgMTMwNDgzLCAxMzA0ODksIDEzMDQ5NCwgCisgICAgMTMwNTAwLCAxMzA1MDYsIDEzMDUxMiwgMTMwNTE3LCAxMzA1MjMsIDEzMDUyOSwgMTMwNTM0LCAxMzA1NDAsIDEzMDU0NiwgCisgICAgMTMwNTUxLCAxMzA1NTcsIDEzMDU2MywgMTMwNTY4LCAxMzA1NzMsIDEzMDU3OSwgMTMwNTg0LCAxMzA1OTAsIDEzMDU5NiwgCisgICAgMTMwNjAyLCAxMzA2MDgsIDEzMDYxNCwgMTMwNjE5LCAxMzA2MjUsIDEzMDYzMSwgMTMwNjM3LCAxMzA2NDIsIDEzMDY0OCwgCisgICAgMTMwNjU0LCAxMzA2NjAsIDEzMDY2NSwgMTMwNjcxLCAxMzA2NzcsIDEzMDY4MiwgMTMwNjg4LCAxMzA2OTQsIDEzMDY5OSwgCisgICAgMTMwNzA1LCAxMzA3MTEsIDEzMDcxNiwgMTMwNzIxLCAxMzA3MjcsIDEzMDczMiwgMTMwNzM4LCAxMzA3NDQsIDEzMDc1MCwgCisgICAgMTMwNzU2LCAxMzA3NjIsIDEzMDc2OCwgMTMwNzc1LCAxMzA3ODIsIDEzMDc4OSwgMTMwNzk1LCAxMzA4MDIsIDEzMDgwOSwgCisgICAgMTMwODE2LCAxMzA4MjIsIDEzMDgyOSwgMTMwODM2LCAxMzA4NDIsIDEzMDg0OSwgMTMwODU2LCAxMzA4NjIsIDEzMDg2OSwgCisgICAgMTMwODc2LCAxMzA4ODIsIDEzMDg4OCwgMTMwODk1LCAxMzA5MDEsIDEzMDkwOCwgMTMwOTE1LCAxMzA5MjIsIDEzMDkyOSwgCisgICAgMTMwOTM2LCAxMzA5NDIsIDEzMDk0OSwgMTMwOTU2LCAxMzA5NjMsIDEzMDk2OSwgMTMwOTc2LCAxMzA5ODMsIDEzMDk5MCwgCisgICAgMTMwOTk2LCAxMzEwMDMsIDEzMTAxMCwgMTMxMDE2LCAxMzEwMjMsIDEzMTAzMCwgMTMxMDM2LCAxMzEwNDMsIDEzMTA1MCwgCisgICAgMTMxMDU2LCAxMzEwNjIsIDEzMTA2OSwgMTMxMDc1LCAxMzEwODIsIDEzMTA4OSwgMTMxMDk2LCAxMzExMDMsIDEzMTExMCwgCisgICAgMTMxMTE1LCAxMzExMjEsIDEzMTEyNywgMTMxMTMzLCAxMzExMzgsIDEzMTE0NCwgMTMxMTUwLCAxMzExNTYsIDEzMTE2MSwgCisgICAgMTMxMTY3LCAxMzExNzMsIDEzMTE3OCwgMTMxMTg0LCAxMzExOTAsIDEzMTE5NSwgMTMxMjAxLCAxMzEyMDcsIDEzMTIxMiwgCisgICAgMTMxMjE3LCAxMzEyMjMsIDEzMTIyOCwgMTMxMjM0LCAxMzEyNDAsIDEzMTI0NiwgMTMxMjUyLCAxMzEyNTgsIDEzMTI2MywgCisgICAgMTMxMjY5LCAxMzEyNzUsIDEzMTI4MSwgMTMxMjg2LCAxMzEyOTIsIDEzMTI5OCwgMTMxMzA0LCAxMzEzMDksIDEzMTMxNSwgCisgICAgMTMxMzIxLCAxMzEzMjYsIDEzMTMzMiwgMTMxMzM4LCAxMzEzNDMsIDEzMTM0OSwgMTMxMzU1LCAxMzEzNjAsIDEzMTM2NSwgCisgICAgMTMxMzcxLCAxMzEzNzYsIDEzMTM4MiwgMTMxMzg4LCAxMzEzOTQsIDEzMTQwMCwgMTMxNDA2LCAxMzE0MTIsIDAsIDAsIAorICAgIDEzMTQxOSwgMTMxNDI0LCAxMzE0MjksIDEzMTQzNCwgMTMxNDM5LCAxMzE0NDQsIDEzMTQ0OSwgMTMxNDU0LCAxMzE0NTksIAorICAgIDEzMTQ2NCwgMTMxNDY5LCAxMzE0NzQsIDEzMTQ3OSwgMTMxNDg0LCAxMzE0ODksIDEzMTQ5NCwgMTMxNDk5LCAxMzE1MDQsIAorICAgIDEzMTUxMCwgMTMxNTE1LCAxMzE1MjAsIDEzMTUyNSwgMTMxNTMwLCAxMzE1MzUsIDEzMTU0MCwgMTMxNTQ1LCAxMzE1NDksIAorICAgIDEzMTU1NCwgMTMxNTU5LCAxMzE1NjQsIDEzMTU2OSwgMTMxNTc0LCAxMzE1NzksIDEzMTU4NCwgMTMxNTg5LCAxMzE1OTQsIAorICAgIDEzMTU5OSwgMTMxNjA0LCAxMzE2MDksIDEzMTYxNCwgMTMxNjE5LCAxMzE2MjQsIDEzMTYyOSwgMTMxNjM0LCAxMzE2NDAsIAorICAgIDEzMTY0NSwgMTMxNjUwLCAxMzE2NTUsIDEzMTY2MCwgMTMxNjY1LCAxMzE2NzAsIDEzMTY3NSwgMTMxNjgxLCAxMzE2ODYsIAorICAgIDEzMTY5MSwgMTMxNjk2LCAxMzE3MDEsIDEzMTcwNiwgMTMxNzExLCAxMzE3MTYsIDEzMTcyMSwgMTMxNzI2LCAxMzE3MzEsIAorICAgIDEzMTczNiwgMTMxNzQxLCAxMzE3NDYsIDEzMTc1MSwgMTMxNzU2LCAxMzE3NjEsIDEzMTc2NiwgMTMxNzcxLCAxMzE3NzYsIAorICAgIDEzMTc4MSwgMTMxNzg2LCAxMzE3OTEsIDEzMTc5NiwgMTMxODAyLCAxMzE4MDcsIDEzMTgxMiwgMTMxODE3LCAxMzE4MjIsIAorICAgIDEzMTgyNywgMTMxODMyLCAxMzE4MzcsIDEzMTg0MSwgMTMxODQ2LCAxMzE4NTEsIDEzMTg1NiwgMTMxODYxLCAxMzE4NjYsIAorICAgIDEzMTg3MSwgMTMxODc2LCAxMzE4ODEsIDEzMTg4NiwgMTMxODkxLCAxMzE4OTYsIDEzMTkwMSwgMTMxOTA2LCAxMzE5MTEsIAorICAgIDEzMTkxNiwgMTMxOTIxLCAxMzE5MjYsIDEzMTkzMiwgMTMxOTM3LCAxMzE5NDIsIDEzMTk0NywgMTMxOTUyLCAxMzE5NTcsIAorICAgIDEzMTk2MiwgMTMxOTY3LCAxMzE5NzMsIDEzMTk3OCwgMTMxOTgzLCAxMzE5ODgsIDEzMTk5MywgMTMxOTk4LCAxMzIwMDMsIAorICAgIDEzMjAwOSwgMTMyMDE1LCAxMzIwMjEsIDEzMjAyNywgMTMyMDMzLCAxMzIwMzksIDEzMjA0NSwgMTMyMDUxLCAxMzIwNTcsIAorICAgIDEzMjA2MywgMTMyMDY5LCAxMzIwNzUsIDEzMjA4MSwgMTMyMDg3LCAxMzIwOTMsIDEzMjA5OSwgMTMyMTA1LCAxMzIxMTIsIAorICAgIDEzMjExOCwgMTMyMTI0LCAxMzIxMzAsIDEzMjEzNiwgMTMyMTQyLCAxMzIxNDgsIDEzMjE1NCwgMTMyMTU5LCAxMzIxNjUsIAorICAgIDEzMjE3MSwgMTMyMTc3LCAxMzIxODMsIDEzMjE4OSwgMTMyMTk1LCAxMzIyMDEsIDEzMjIwNywgMTMyMjEzLCAxMzIyMTksIAorICAgIDEzMjIyNSwgMTMyMjMxLCAxMzIyMzcsIDEzMjI0MywgMTMyMjQ5LCAxMzIyNTUsIDEzMjI2MSwgMTMyMjY4LCAxMzIyNzQsIAorICAgIDEzMjI4MCwgMTMyMjg2LCAxMzIyOTIsIDEzMjI5OCwgMTMyMzA0LCAxMzIzMTAsIDEzMjMxNywgMTMyMzIzLCAxMzIzMjksIAorICAgIDEzMjMzNSwgMTMyMzQxLCAxMzIzNDcsIDEzMjM1MywgMTMyMzU5LCAxMzIzNjUsIDEzMjM3MSwgMTMyMzc3LCAxMzIzODMsIAorICAgIDEzMjM4OSwgMTMyMzk1LCAxMzI0MDEsIDEzMjQwNywgMTMyNDEzLCAxMzI0MTksIDEzMjQyNSwgMTMyNDMxLCAxMzI0MzcsIAorICAgIDEzMjQ0MywgMTMyNDQ5LCAxMzI0NTUsIDEzMjQ2MiwgMTMyNDY4LCAxMzI0NzQsIDEzMjQ4MCwgMTMyNDg2LCAxMzI0OTIsIAorICAgIDEzMjQ5OCwgMTMyNTA0LCAxMzI1MDksIDEzMjUxNSwgMTMyNTIxLCAxMzI1MjcsIDEzMjUzMywgMTMyNTM5LCAxMzI1NDUsIAorICAgIDEzMjU1MSwgMTMyNTU3LCAxMzI1NjMsIDEzMjU2OSwgMTMyNTc1LCAxMzI1ODEsIDEzMjU4NywgMTMyNTkzLCAxMzI1OTksIAorICAgIDEzMjYwNSwgMTMyNjExLCAxMzI2MTgsIDEzMjYyNCwgMTMyNjMwLCAxMzI2MzYsIDEzMjY0MiwgMTMyNjQ4LCAxMzI2NTQsIAorICAgIDEzMjY2MCwgMTMyNjY3LCAxMzI2NzMsIDEzMjY3OSwgMTMyNjg1LCAxMzI2OTEsIDEzMjY5NywgMTMyNzAzLCAxMzI3MTAsIAorICAgIDEzMjcxNywgMTMyNzI0LCAxMzI3MzEsIDEzMjczOCwgMTMyNzQ1LCAxMzI3NTIsIDEzMjc1OSwgMTMyNzY2LCAxMzI3NzMsIAorICAgIDEzMjc4MCwgMTMyNzg3LCAxMzI3OTQsIDEzMjgwMSwgMTMyODA4LCAxMzI4MTUsIDEzMjgyMiwgMTMyODMwLCAxMzI4MzcsIAorICAgIDEzMjg0NCwgMTMyODUxLCAxMzI4NTgsIDEzMjg2NSwgMTMyODcyLCAxMzI4NzksIDEzMjg4NSwgMTMyODkyLCAxMzI4OTksIAorICAgIDEzMjkwNiwgMTMyOTEzLCAxMzI5MjAsIDEzMjkyNywgMTMyOTM0LCAxMzI5NDEsIDEzMjk0OCwgMTMyOTU1LCAxMzI5NjIsIAorICAgIDEzMjk2OSwgMTMyOTc2LCAxMzI5ODMsIDEzMjk5MCwgMTMyOTk3LCAxMzMwMDQsIDEzMzAxMiwgMTMzMDE5LCAxMzMwMjYsIAorICAgIDEzMzAzMywgMTMzMDQwLCAxMzMwNDcsIDEzMzA1NCwgMTMzMDYxLCAxMzMwNjksIDEzMzA3NiwgMTMzMDgzLCAxMzMwOTAsIAorICAgIDEzMzA5NywgMTMzMTA0LCAxMzMxMTEsIDEzMzExNiwgMCwgMCwgMTMzMTIxLCAxMzMxMjYsIDEzMzEzMCwgMTMzMTM0LCAKKyAgICAxMzMxMzgsIDEzMzE0MiwgMTMzMTQ2LCAxMzMxNTAsIDEzMzE1NCwgMTMzMTU4LCAxMzMxNjIsIDEzMzE2NywgMTMzMTcxLCAKKyAgICAxMzMxNzUsIDEzMzE3OSwgMTMzMTgzLCAxMzMxODcsIDEzMzE5MSwgMTMzMTk1LCAxMzMxOTksIDEzMzIwMywgMTMzMjA4LCAKKyAgICAxMzMyMTIsIDEzMzIxNiwgMTMzMjIwLCAxMzMyMjQsIDEzMzIyOCwgMTMzMjMyLCAxMzMyMzYsIDEzMzI0MCwgMTMzMjQ0LCAKKyAgICAxMzMyNTAsIDEzMzI1NSwgMTMzMjYwLCAxMzMyNjUsIDEzMzI3MCwgMTMzMjc1LCAxMzMyODAsIDEzMzI4NSwgMTMzMjkwLCAKKyAgICAxMzMyOTUsIDEzMzMwMSwgMTMzMzA2LCAxMzMzMTEsIDEzMzMxNiwgMTMzMzIxLCAxMzMzMjYsIDEzMzMzMSwgMTMzMzM2LCAKKyAgICAxMzMzNDEsIDEzMzM0NiwgMTMzMzUzLCAxMzMzNTksIDEzMzM2NiwgMTMzMzczLCAxMzMzODAsIDEzMzM4NywgMTMzMzk0LCAKKyAgICAxMzM0MDEsIDEzMzQwOCwgMTMzNDE1LCAxMzM0MjIsIDEzMzQyOSwgMTMzNDM2LCAxMzM0NDMsIDEzMzQ1MCwgMTMzNDU3LCAKKyAgICAxMzM0NjQsIDEzMzQ3MSwgMTMzNDc4LCAxMzM0ODUsIDEzMzQ5MiwgMTMzNDk5LCAxMzM1MDYsIDEzMzUxMywgMTMzNTIwLCAKKyAgICAxMzM1MjcsIDEzMzUzNCwgMTMzNTQxLCAxMzM1NDgsIDEzMzU1NSwgMTMzNTYyLCAxMzM1NjksIDEzMzU3NiwgMTMzNTgzLCAKKyAgICAxMzM1ODksIDEzMzU5NSwgMTMzNjAxLCAxMzM2MDgsIDEzMzYxNCwgMTMzNjIxLCAxMzM2MjcsIDEzMzYzNCwgMTMzNjQxLCAKKyAgICAxMzM2NDgsIDEzMzY1NSwgMTMzNjYyLCAxMzM2NjksIDEzMzY3NiwgMTMzNjgzLCAxMzM2OTAsIDEzMzY5NywgMTMzNzA0LCAKKyAgICAxMzM3MTEsIDEzMzcxOCwgMTMzNzI1LCAxMzM3MzIsIDEzMzczOSwgMTMzNzQ2LCAxMzM3NTMsIDEzMzc2MCwgMTMzNzY3LCAKKyAgICAxMzM3NzUsIDEzMzc4MiwgMTMzNzg5LCAxMzM3OTYsIDEzMzgwMywgMTMzODEwLCAxMzM4MTcsIDEzMzgyNCwgMTMzODMxLCAKKyAgICAxMzM4MzgsIDEzMzg0NSwgMTMzODUyLCAxMzM4NTksIDEzMzg2NSwgMTMzODcyLCAxMzM4NzksIDEzMzg4NiwgMTMzODkzLCAKKyAgICAxMzM5MDAsIDEzMzkwNywgMTMzOTE0LCAxMzM5MjIsIDEzMzkyOSwgMTMzOTM1LCAxMzM5NDIsIDEzMzk0OSwgMTMzOTU2LCAKKyAgICAxMzM5NjMsIDEzMzk3MCwgMTMzOTc3LCAxMzM5ODQsIDEzMzk5MSwgMTMzOTk4LCAxMzQwMDUsIDEzNDAxMiwgMTM0MDE5LCAKKyAgICAxMzQwMjYsIDEzNDAzMywgMTM0MDQwLCAxMzQwNDcsIDEzNDA1NCwgMTM0MDYxLCAxMzQwNjgsIDEzNDA3NSwgMTM0MDgxLCAKKyAgICAxMzQwODgsIDEzNDA5NSwgMTM0MTAyLCAxMzQxMDksIDEzNDExNiwgMTM0MTIzLCAxMzQxMzAsIDEzNDEzNywgMTM0MTQ0LCAKKyAgICAxMzQxNTEsIDEzNDE1OCwgMTM0MTY1LCAxMzQxNzIsIDEzNDE3OSwgMTM0MTg2LCAxMzQxOTMsIDEzNDIwMCwgMTM0MjA3LCAKKyAgICAxMzQyMTQsIDEzNDIyMSwgMTM0MjI4LCAxMzQyMzUsIDEzNDI0MywgMTM0MjUxLCAxMzQyNTksIDEzNDI2NiwgMTM0MjczLCAKKyAgICAxMzQyODAsIDEzNDI4NywgMTM0Mjk0LCAxMzQzMDEsIDEzNDMwOCwgMTM0MzE1LCAxMzQzMjIsIDEzNDMyOSwgMTM0MzM1LCAKKyAgICAxMzQzNDIsIDEzNDM0OSwgMTM0MzU2LCAxMzQzNjMsIDEzNDM3MCwgMTM0Mzc3LCAxMzQzODQsIDEzNDM5MSwgMTM0Mzk4LCAKKyAgICAxMzQ0MDUsIDEzNDQxMiwgMTM0NDE5LCAxMzQ0MjYsIDEzNDQzMywgMTM0NDQxLCAxMzQ0NDksIDEzNDQ1NywgMTM0NDY0LCAKKyAgICAxMzQ0NzEsIDEzNDQ3OCwgMTM0NDg1LCAxMzQ0OTIsIDEzNDQ5OSwgMTM0NTA2LCAxMzQ1MTMsIDEzNDUyMCwgMTM0NTI3LCAKKyAgICAxMzQ1MzQsIDEzNDU0MSwgMTM0NTQ4LCAxMzQ1NTUsIDEzNDU2MiwgMTM0NTY5LCAxMzQ1NzYsIDEzNDU4MywgMTM0NTkwLCAKKyAgICAxMzQ1OTcsIDEzNDYwNCwgMTM0NjExLCAxMzQ2MTgsIDEzNDYyNSwgMTM0NjMyLCAxMzQ2MzksIDEzNDY0NiwgMTM0NjUzLCAKKyAgICAxMzQ2NjAsIDEzNDY2NywgMTM0Njc0LCAxMzQ2ODEsIDEzNDY4OCwgMTM0Njk1LCAxMzQ3MDIsIDEzNDcwOSwgMTM0NzE2LCAKKyAgICAwLCAwLCAxMzQ3MjMsIDEzNDcyNywgMTM0NzMxLCAxMzQ3MzUsIDEzNDczOSwgMTM0NzQzLCAxMzQ3NDcsIDEzNDc1MSwgCisgICAgMTM0NzU1LCAxMzQ3NTksIDEzNDc2NSwgMTM0NzcxLCAxMzQ3NzcsIDEzNDc4MywgMTM0NzkxLCAxMzQ3OTksIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEzNDgwNSwgMTM0ODA5LCAxMzQ4MTMsIDEzNDgxNywgCisgICAgMCwgMTM0ODIxLCAxMzQ4MjUsIDEzNDgyOSwgMTM0ODMzLCAxMzQ4MzcsIDEzNDg0MSwgMTM0ODQ1LCAxMzQ4NDksIAorICAgIDEzNDg1MywgMTM0ODU3LCAxMzQ4NjEsIDEzNDg2NSwgMTM0ODY5LCAxMzQ4NzMsIDEzNDg3NywgMTM0ODgxLCAxMzQ4ODUsIAorICAgIDEzNDg4OSwgMTM0ODkzLCAxMzQ4OTcsIDEzNDkwMSwgMTM0OTA1LCAxMzQ5MDksIDEzNDkxMywgMTM0OTE5LCAxMzQ5MjUsIAorICAgIDEzNDkzMSwgMCwgMTM0OTM3LCAxMzQ5NDIsIDAsIDEzNDk0NywgMCwgMCwgMTM0OTUyLCAwLCAxMzQ5NTcsIDEzNDk2MiwgCisgICAgMTM0OTY3LCAxMzQ5NzIsIDEzNDk3NywgMTM0OTgyLCAxMzQ5ODcsIDEzNDk5MiwgMTM0OTk3LCAxMzUwMDIsIDAsIAorICAgIDEzNTAwNywgMTM1MDEyLCAxMzUwMTcsIDEzNTAyMiwgMCwgMTM1MDI3LCAwLCAxMzUwMzIsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDEzNTAzNywgMCwgMCwgMCwgMCwgMTM1MDQzLCAwLCAxMzUwNDksIDAsIDEzNTA1NSwgMCwgMTM1MDYxLCAxMzUwNjcsIAorICAgIDEzNTA3MywgMCwgMTM1MDc5LCAxMzUwODUsIDAsIDEzNTA5MSwgMCwgMCwgMTM1MDk3LCAwLCAxMzUxMDMsIDAsIDEzNTEwOSwgCisgICAgMCwgMTM1MTE1LCAwLCAxMzUxMjMsIDAsIDEzNTEzMSwgMTM1MTM3LCAwLCAxMzUxNDMsIDAsIDAsIDEzNTE0OSwgMTM1MTU1LCAKKyAgICAxMzUxNjEsIDEzNTE2NywgMCwgMTM1MTczLCAxMzUxNzksIDEzNTE4NSwgMTM1MTkxLCAxMzUxOTcsIDEzNTIwMywgCisgICAgMTM1MjA5LCAwLCAxMzUyMTUsIDEzNTIyMSwgMTM1MjI3LCAxMzUyMzMsIDAsIDEzNTIzOSwgMTM1MjQ1LCAxMzUyNTEsIAorICAgIDEzNTI1NywgMCwgMTM1MjY1LCAwLCAxMzUyNzMsIDEzNTI3OSwgMTM1Mjg1LCAxMzUyOTEsIDEzNTI5NywgMTM1MzAzLCAKKyAgICAxMzUzMDksIDEzNTMxNSwgMTM1MzIxLCAxMzUzMjcsIDAsIDEzNTMzMywgMTM1MzM5LCAxMzUzNDUsIDEzNTM1MSwgCisgICAgMTM1MzU3LCAxMzUzNjMsIDEzNTM2OSwgMTM1Mzc1LCAxMzUzODEsIDEzNTM4NywgMTM1MzkzLCAxMzUzOTksIDEzNTQwNSwgCisgICAgMTM1NDExLCAxMzU0MTcsIDEzNTQyMywgMTM1NDI5LCAwLCAwLCAwLCAwLCAwLCAxMzU0MzUsIDEzNTQ0MCwgMTM1NDQ1LCAwLCAKKyAgICAxMzU0NTAsIDEzNTQ1NSwgMTM1NDYwLCAxMzU0NjUsIDEzNTQ3MCwgMCwgMTM1NDc1LCAxMzU0ODAsIDEzNTQ4NSwgCisgICAgMTM1NDkwLCAxMzU0OTUsIDEzNTUwMCwgMTM1NTA1LCAxMzU1MTAsIDEzNTUxNSwgMTM1NTIwLCAxMzU1MjUsIDEzNTUzMCwgCisgICAgMTM1NTM1LCAxMzU1NDAsIDEzNTU0NSwgMTM1NTUwLCAxMzU1NTUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEzNTU2MCwgMTM1NTcwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMzU1NzgsIDEzNTU4NSwgMTM1NTkxLCAxMzU1OTgsIAorICAgIDEzNTYwNCwgMTM1NjExLCAxMzU2MTgsIDEzNTYyNCwgMTM1NjMxLCAxMzU2MzgsIDEzNTY0NSwgMTM1NjUzLCAxMzU2NjEsIAorICAgIDEzNTY2OSwgMTM1Njc3LCAxMzU2ODUsIDEzNTY5MywgMTM1NzAwLCAxMzU3MDcsIDEzNTcxNCwgMTM1NzIyLCAxMzU3MzAsIAorICAgIDEzNTczOCwgMTM1NzQ2LCAxMzU3NTQsIDEzNTc2MiwgMTM1NzY5LCAxMzU3NzYsIDEzNTc4MywgMTM1NzkxLCAxMzU3OTksIAorICAgIDEzNTgwNywgMTM1ODE1LCAxMzU4MjMsIDEzNTgzMSwgMTM1ODM2LCAxMzU4NDEsIDEzNTg0NiwgMTM1ODUxLCAxMzU4NTYsIAorICAgIDEzNTg2MSwgMTM1ODY2LCAxMzU4NzEsIDEzNTg3NiwgMCwgMCwgMCwgMCwgMTM1ODgxLCAxMzU4ODYsIDEzNTg5MCwgCisgICAgMTM1ODk0LCAxMzU4OTgsIDEzNTkwMiwgMTM1OTA2LCAxMzU5MTAsIDEzNTkxNCwgMTM1OTE4LCAxMzU5MjIsIDEzNTkyNiwgCisgICAgMTM1OTMwLCAxMzU5MzQsIDEzNTkzOCwgMTM1OTQyLCAxMzU5NDYsIDEzNTk1MCwgMTM1OTU0LCAxMzU5NTgsIDEzNTk2MiwgCisgICAgMTM1OTY2LCAxMzU5NzAsIDEzNTk3NCwgMTM1OTc4LCAxMzU5ODIsIDEzNTk4NiwgMTM1OTkwLCAxMzU5OTQsIDEzNTk5OCwgCisgICAgMTM2MDAyLCAxMzYwMDYsIDEzNjAxMCwgMTM2MDE0LCAxMzYwMTgsIDEzNjAyMiwgMTM2MDI2LCAxMzYwMzAsIDEzNjAzNCwgCisgICAgMTM2MDM4LCAxMzYwNDIsIDEzNjA0NiwgMTM2MDUwLCAxMzYwNTQsIDEzNjA1OCwgMTM2MDYyLCAxMzYwNjYsIDEzNjA3MCwgCisgICAgMTM2MDc0LCAxMzYwNzgsIDEzNjA4MiwgMTM2MDg3LCAxMzYwOTEsIDEzNjA5NSwgMTM2MDk5LCAxMzYxMDMsIDEzNjEwNywgCisgICAgMTM2MTExLCAxMzYxMTUsIDEzNjExOSwgMTM2MTIzLCAxMzYxMjcsIDEzNjEzMSwgMTM2MTM1LCAxMzYxMzksIDEzNjE0MywgCisgICAgMTM2MTQ3LCAxMzYxNTEsIDEzNjE1NSwgMTM2MTU5LCAxMzYxNjMsIDEzNjE2NywgMTM2MTcxLCAxMzYxNzUsIDEzNjE3OSwgCisgICAgMTM2MTgzLCAxMzYxODcsIDEzNjE5MSwgMTM2MTk1LCAxMzYxOTksIDEzNjIwMywgMTM2MjA3LCAxMzYyMTEsIDEzNjIxNSwgCisgICAgMTM2MjE5LCAxMzYyMjMsIDEzNjIyNywgMTM2MjMxLCAxMzYyMzUsIDEzNjIzOSwgMTM2MjQzLCAxMzYyNDcsIDEzNjI1MSwgCisgICAgMTM2MjU1LCAxMzYyNTksIDEzNjI2MywgMTM2MjY3LCAxMzYyNzEsIDEzNjI3NSwgMTM2Mjc5LCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAxMzYyODMsIDEzNjI4OCwgMTM2Mjk2LCAxMzYzMDMsIDEzNjMxMCwgMTM2MzE4LCAxMzYzMjYsIAorICAgIDEzNjMzNCwgMTM2MzQyLCAxMzYzNTAsIDEzNjM1OCwgMTM2MzY2LCAxMzYzNzQsIDEzNjM4MiwgMTM2MzkwLCAwLCAwLCAKKyAgICAxMzYzOTgsIDEzNjQwNiwgMTM2NDEzLCAxMzY0MjAsIDEzNjQyOCwgMTM2NDM2LCAxMzY0NDQsIDEzNjQ1MiwgMTM2NDYwLCAKKyAgICAxMzY0NjgsIDEzNjQ3NiwgMTM2NDg0LCAxMzY0OTIsIDEzNjUwMCwgMTM2NTA4LCAwLCAxMzY1MTUsIDEzNjUyMywgCisgICAgMTM2NTMwLCAxMzY1MzcsIDEzNjU0NSwgMTM2NTUzLCAxMzY1NjEsIDEzNjU2OSwgMTM2NTc3LCAxMzY1ODUsIDEzNjU5MywgCisgICAgMTM2NjAxLCAxMzY2MDksIDEzNjYxNywgMTM2NjI1LCAwLCAxMzY2MzEsIDEzNjYzOSwgMTM2NjQ2LCAxMzY2NTMsIAorICAgIDEzNjY2MSwgMTM2NjY5LCAxMzY2NzcsIDEzNjY4NSwgMTM2NjkzLCAxMzY3MDEsIDEzNjcwOSwgMTM2NzE3LCAxMzY3MjUsIAorICAgIDEzNjczMywgMTM2NzQxLCAxMzY3NDcsIDEzNjc1MiwgMTM2NzU3LCAxMzY3NjIsIDEzNjc2NywgMTM2NzcyLCAxMzY3NzcsIAorICAgIDEzNjc4MiwgMTM2Nzg3LCAxMzY3OTIsIDEzNjc5NywgMTM2ODAyLCAxMzY4MDcsIDEzNjgxMiwgMTM2ODE3LCAxMzY4MjIsIAorICAgIDEzNjgyNywgMTM2ODMyLCAxMzY4MzcsIDEzNjg0MiwgMTM2ODQ3LCAxMzY4NTIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDEzNjg1NywgMTM2ODY0LCAxMzY4NjksIDEzNjg3MywgMTM2ODc3LCAxMzY4ODEsIDEzNjg4NiwgMTM2ODkxLCAKKyAgICAxMzY4OTYsIDEzNjkwMSwgMTM2OTA2LCAxMzY5MTEsIDEzNjkxOCwgMCwgMCwgMCwgMTM2OTI2LCAxMzY5MzEsIDEzNjkzNywgCisgICAgMTM2OTQzLCAxMzY5NDksIDEzNjk1NCwgMTM2OTYwLCAxMzY5NjYsIDEzNjk3MiwgMTM2OTc3LCAxMzY5ODMsIDEzNjk4OSwgCisgICAgMTM2OTk0LCAxMzcwMDAsIDEzNzAwNiwgMTM3MDExLCAxMzcwMTcsIDEzNzAyMywgMTM3MDI4LCAxMzcwMzMsIDEzNzAzOSwgCisgICAgMTM3MDQ0LCAxMzcwNTAsIDEzNzA1NiwgMTM3MDYyLCAxMzcwNjgsIDEzNzA3NCwgMTM3MDg0LCAxMzcwOTEsIDEzNzA5NywgCisgICAgMTM3MTAwLCAwLCAxMzcxMDMsIDEzNzEwOCwgMTM3MTE0LCAxMzcxMjAsIDEzNzEyNiwgMTM3MTMxLCAxMzcxMzcsIAorICAgIDEzNzE0MywgMTM3MTQ5LCAxMzcxNTQsIDEzNzE2MCwgMTM3MTY2LCAxMzcxNzEsIDEzNzE3NywgMTM3MTgzLCAxMzcxODgsIAorICAgIDEzNzE5NCwgMTM3MjAwLCAxMzcyMDUsIDEzNzIxMCwgMTM3MjE2LCAxMzcyMjEsIDEzNzIyNywgMTM3MjMzLCAxMzcyMzksIAorICAgIDEzNzI0NSwgMTM3MjUxLCAxMzcyNTQsIDEzNzI1NywgMTM3MjYwLCAxMzcyNjMsIDEzNzI2NiwgMTM3MjY5LCAxMzcyNzUsIAorICAgIDEzNzI4MiwgMTM3Mjg5LCAxMzcyOTYsIDEzNzMwMiwgMTM3MzA5LCAxMzczMTYsIDEzNzMyMywgMTM3MzI5LCAxMzczMzYsIAorICAgIDEzNzM0MywgMTM3MzQ5LCAxMzczNTYsIDEzNzM2MywgMTM3MzY5LCAxMzczNzYsIDEzNzM4MywgMTM3Mzg5LCAxMzczOTUsIAorICAgIDEzNzQwMiwgMTM3NDA4LCAxMzc0MTUsIDEzNzQyMiwgMTM3NDI5LCAxMzc0MzYsIDEzNzQ0MywgMTM3NDQ4LCAwLCAwLCAwLCAKKyAgICAwLCAxMzc0NTMsIDEzNzQ1OSwgMTM3NDY2LCAxMzc0NzMsIDEzNzQ4MCwgMTM3NDg2LCAxMzc0OTMsIDEzNzUwMCwgCisgICAgMTM3NTA3LCAxMzc1MTMsIDEzNzUyMCwgMTM3NTI3LCAxMzc1MzMsIDEzNzU0MCwgMTM3NTQ3LCAxMzc1NTMsIDEzNzU2MCwgCisgICAgMTM3NTY3LCAxMzc1NzMsIDEzNzU3OSwgMTM3NTg2LCAxMzc1OTIsIDEzNzU5OSwgMTM3NjA2LCAxMzc2MTMsIDEzNzYyMCwgCisgICAgMTM3NjI3LCAxMzc2MzYsIDEzNzY0MCwgMTM3NjQzLCAxMzc2NDcsIDEzNzY1MSwgMTM3NjU1LCAxMzc2NTgsIDEzNzY2MSwgCisgICAgMTM3NjY0LCAxMzc2NjcsIDEzNzY3MCwgMTM3NjczLCAxMzc2NzYsIDEzNzY3OSwgMTM3NjgyLCAxMzc2ODgsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDEzNzY5MSwgMTM3Njk4LCAxMzc3MDYsIDEzNzcxNCwgMTM3NzIyLCAxMzc3MjksIDEzNzczNywgMTM3NzQ1LCAxMzc3NTMsIAorICAgIDEzNzc2MCwgMTM3NzY4LCAxMzc3NzYsIDEzNzc4MywgMTM3NzkxLCAxMzc3OTksIDEzNzgwNiwgMTM3ODE0LCAxMzc4MjIsIAorICAgIDEzNzgyOSwgMTM3ODM2LCAxMzc4NDQsIDEzNzg1MSwgMTM3ODU5LCAxMzc4NjcsIDEzNzg3NSwgMTM3ODgzLCAxMzc4OTEsIAorICAgIDEzNzg5NSwgMTM3ODk5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMzc5MDMsIDEzNzkwOSwgCisgICAgMTM3OTE1LCAxMzc5MjEsIDEzNzkyNSwgMTM3OTMxLCAxMzc5MzcsIDEzNzk0MywgMTM3OTQ5LCAxMzc5NTUsIDEzNzk2MSwgCisgICAgMTM3OTY3LCAxMzc5NzMsIDEzNzk3OSwgMTM3OTg1LCAxMzc5OTEsIDEzNzk5NywgMTM4MDAzLCAxMzgwMDksIDEzODAxNSwgCisgICAgMTM4MDIxLCAxMzgwMjcsIDEzODAzMywgMTM4MDM5LCAxMzgwNDUsIDEzODA1MSwgMTM4MDU3LCAxMzgwNjMsIDEzODA2OSwgCisgICAgMTM4MDc1LCAxMzgwODEsIDEzODA4NywgMTM4MDkzLCAxMzgwOTksIDEzODEwNSwgMTM4MTExLCAxMzgxMTcsIDEzODEyMywgCisgICAgMTM4MTI5LCAxMzgxMzUsIDEzODE0MSwgMTM4MTQ3LCAxMzgxNTMsIDAsIDAsIDAsIDAsIDAsIDEzODE1OSwgMTM4MTcwLCAKKyAgICAxMzgxODEsIDEzODE5MiwgMTM4MjAzLCAxMzgyMTQsIDEzODIyNSwgMTM4MjM2LCAxMzgyNDcsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDEzODI1OCwgMTM4MjYyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMzgyNjYsIDEzODI2OCwgMTM4MjcwLCAxMzgyNzQsIAorICAgIDEzODI3OSwgMTM4Mjg0LCAxMzgyODYsIDEzODI5MiwgMTM4Mjk3LCAxMzgyOTksIDEzODMwNSwgMTM4MzA5LCAxMzgzMTEsIAorICAgIDEzODMxNSwgMTM4MzIxLCAxMzgzMjcsIDEzODMzMywgMTM4MzM4LCAxMzgzNDIsIDEzODM0OSwgMTM4MzU2LCAxMzgzNjMsIAorICAgIDEzODM2OCwgMTM4Mzc1LCAxMzgzODIsIDEzODM4OSwgMTM4MzkzLCAxMzgzOTksIDEzODQwOCwgMTM4NDE3LCAxMzg0MjQsIAorICAgIDEzODQyOSwgMTM4NDMzLCAxMzg0MzcsIDEzODQzOSwgMTM4NDQyLCAxMzg0NDUsIDEzODQ1MiwgMTM4NDU5LCAxMzg0NjksIAorICAgIDEzODQ3NCwgMTM4NDc5LCAxMzg0ODQsIDEzODQ4OSwgMTM4NDkxLCAwLCAwLCAwLCAxMzg0OTcsIDEzODQ5OSwgMTM4NTAxLCAKKyAgICAxMzg1MDUsIDEzODUwOSwgMTM4NTEzLCAxMzg1MTUsIDEzODUxOSwgMTM4NTIxLCAxMzg1MjUsIDEzODUyNywgMTM4NTI5LCAKKyAgICAxMzg1MzEsIDEzODUzMywgMTM4NTM4LCAxMzg1NDMsIDEzODU0NSwgMTM4NTUxLCAxMzg1NTUsIDEzODU1OSwgMTM4NTY3LCAKKyAgICAxMzg1NjksIDEzODU3MSwgMTM4NTczLCAxMzg1NzUsIDEzODU3NywgMTM4NTc5LCAxMzg1ODEsIDEzODU4MywgMTM4NTg1LCAKKyAgICAxMzg1ODcsIDEzODU5MSwgMTM4NTk1LCAxMzg1OTcsIDEzODU5OSwgMTM4NjAxLCAxMzg2MDMsIDEzODYwNSwgMTM4NjEwLCAKKyAgICAxMzg2MTYsIDEzODYyMCwgMTM4NjI0LCAxMzg2MjgsIDEzODYzMiwgMTM4NjM3LCAxMzg2NDEsIDEzODY0MywgMTM4NjQ1LCAKKyAgICAxMzg2NDksIDEzODY1NSwgMTM4NjU3LCAxMzg2NTksIDEzODY2MSwgMTM4NjY1LCAxMzg2NzQsIDEzODY4MCwgMTM4Njg0LCAKKyAgICAxMzg2ODgsIDEzODY5MCwgMTM4NjkyLCAxMzg2OTUsIDEzODY5NywgMTM4Njk5LCAxMzg3MDEsIDEzODcwNSwgMTM4NzA3LCAKKyAgICAxMzg3MTEsIDEzODcxNiwgMTM4NzE4LCAxMzg3MjMsIDEzODcyOSwgMTM4NzM2LCAxMzg3NDAsIDEzODc0NCwgMTM4NzQ4LCAKKyAgICAxMzg3NTIsIDEzODc1OCwgMTM4NzYyLCAwLCAwLCAxMzg3NzAsIDEzODc3MiwgMTM4Nzc2LCAxMzg3ODAsIDEzODc4MiwgCisgICAgMTM4Nzg2LCAxMzg3OTAsIDEzODc5MiwgMTM4Nzk2LCAxMzg3OTgsIDEzODgwMiwgMTM4ODA2LCAxMzg4MTAsIDEzODgxNCwgCisgICAgMTM4ODE4LCAxMzg4MjIsIDEzODgyNiwgMTM4ODMwLCAxMzg4MzYsIDEzODg0MCwgMTM4ODQ0LCAxMzg4NTUsIDEzODg2MCwgCisgICAgMTM4ODY0LCAxMzg4NjgsIDEzODg3NCwgMTM4ODc4LCAxMzg4ODIsIDEzODg4NiwgMTM4ODkzLCAxMzg5MDAsIDEzODkwNCwgCisgICAgMTM4OTA4LCAxMzg5MTIsIDEzODkxNiwgMTM4OTIwLCAxMzg5MjcsIDEzODkyOSwgMTM4OTMzLCAxMzg5MzUsIDEzODkzNywgCisgICAgMTM4OTQxLCAxMzg5NDUsIDEzODk0OSwgMTM4OTUxLCAxMzg5NTUsIDEzODk1OSwgMTM4OTYzLCAxMzg5NjcsIDEzODk3MSwgCisgICAgMTM4OTczLCAxMzg5NzcsIDEzODk3OSwgMTM4OTg1LCAxMzg5ODgsIDEzODk5MywgMTM4OTk1LCAxMzg5OTcsIDEzOTAwMCwgCisgICAgMTM5MDAyLCAxMzkwMDQsIDEzOTAwNywgMTM5MDE0LCAxMzkwMjEsIDEzOTAyOCwgMTM5MDMzLCAxMzkwMzcsIDEzOTAzOSwgCisgICAgMTM5MDQxLCAxMzkwNDMsIDEzOTA0NywgMTM5MDQ5LCAxMzkwNTMsIDEzOTA1NywgMTM5MDYxLCAxMzkwNjMsIDEzOTA2NywgCisgICAgMTM5MDY5LCAxMzkwNzMsIDAsIDAsIDAsIDAsIDAsIDEzOTA3NywgMTM5MDgzLCAxMzkwODUsIDEzOTA5MCwgMTM5MDk0LCAKKyAgICAxMzkwOTgsIDEzOTEwMCwgMTM5MTA2LCAxMzkxMTAsIDEzOTExMiwgMTM5MTE2LCAxMzkxMjAsIDEzOTEyMiwgMTM5MTI2LCAKKyAgICAxMzkxMzEsIDEzOTEzNSwgMTM5MTQxLCAxMzkxNDcsIDEzOTE0OSwgMTM5MTUxLCAxMzkxNTcsIDEzOTE1OSwgMTM5MTYzLCAKKyAgICAxMzkxNjcsIDEzOTE2OSwgMTM5MTczLCAxMzkxNzUsIDEzOTE3OSwgMTM5MTgzLCAxMzkxODcsIDEzOTE5MCwgMTM5MTkzLCAKKyAgICAxMzkxOTgsIDEzOTIwMywgMTM5MjA1LCAxMzkyMDgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEzOTIxMCwgMTM5MjEyLCAKKyAgICAxMzkyMTQsIDEzOTIxNiwgMTM5MjIwLCAxMzkyMjIsIDEzOTIyNCwgMTM5MjI2LCAxMzkyMjgsIDEzOTIzMCwgMTM5MjMyLCAKKyAgICAxMzkyMzQsIDEzOTIzNiwgMTM5MjM4LCAxMzkyNDAsIDEzOTI0MiwgMTM5MjQ0LCAxMzkyNDYsIDEzOTI0OCwgMTM5MjUwLCAKKyAgICAxMzkyNTIsIDEzOTI1NCwgMTM5MjU2LCAxMzkyNTgsIDEzOTI2MCwgMTM5MjYyLCAxMzkyNjQsIDEzOTI2OCwgMTM5MjcwLCAKKyAgICAxMzkyNzIsIDEzOTI3NCwgMTM5Mjc4LCAxMzkyODAsIDEzOTI4NCwgMTM5Mjg2LCAxMzkyODgsIDEzOTI5MiwgMTM5Mjk2LCAKKyAgICAxMzkzMDIsIDEzOTMwNCwgMTM5MzA2LCAxMzkzMDgsIDEzOTMxMCwgMTM5MzE0LCAxMzkzMTgsIDEzOTMyMCwgMTM5MzI0LCAKKyAgICAxMzkzMjgsIDEzOTMzMiwgMTM5MzM2LCAxMzkzNDAsIDEzOTM0NCwgMTM5MzQ4LCAxMzkzNTIsIDEzOTM1NiwgMTM5MzYwLCAKKyAgICAxMzkzNjQsIDEzOTM2OCwgMTM5MzcyLCAxMzkzNzYsIDEzOTM4MCwgMTM5Mzg0LCAxMzkzODgsIDEzOTM5MiwgMTM5Mzk0LCAKKyAgICAxMzkzOTYsIDEzOTM5OCwgMTM5NDAwLCAxMzk0MDIsIDEzOTQwNCwgMTM5NDA2LCAxMzk0MTQsIDEzOTQyMiwgMTM5NDMwLCAKKyAgICAxMzk0MzgsIDEzOTQ0MywgMTM5NDQ4LCAxMzk0NTMsIDEzOTQ1NywgMTM5NDYxLCAxMzk0NjYsIDEzOTQ3MSwgMTM5NDczLCAKKyAgICAxMzk0NzcsIDEzOTQ3OSwgMTM5NDgxLCAxMzk0ODMsIDEzOTQ4NSwgMTM5NDg3LCAxMzk0ODksIDEzOTQ5MSwgMTM5NDk1LCAKKyAgICAxMzk0OTcsIDEzOTQ5OSwgMTM5NTAxLCAxMzk1MDUsIDEzOTUwOSwgMTM5NTEzLCAxMzk1MTcsIDEzOTUyMSwgMTM5NTIzLCAKKyAgICAxMzk1MjksIDEzOTUzNSwgMTM5NTM3LCAxMzk1MzksIDEzOTU0MSwgMTM5NTQzLCAxMzk1NDUsIDEzOTU1NCwgMTM5NTYxLCAKKyAgICAxMzk1NjgsIDEzOTU3MiwgMTM5NTc5LCAxMzk1ODQsIDEzOTU5MSwgMTM5NjAwLCAxMzk2MDUsIDEzOTYwOSwgMTM5NjEzLCAKKyAgICAxMzk2MTUsIDEzOTYxOSwgMTM5NjIxLCAxMzk2MjUsIDEzOTYyOSwgMTM5NjMxLCAxMzk2MzUsIDEzOTYzOSwgMTM5NjQzLCAKKyAgICAxMzk2NDUsIDEzOTY0NywgMTM5NjUzLCAxMzk2NTUsIDEzOTY1NywgMTM5NjU5LCAxMzk2NjMsIDEzOTY2NywgMTM5NjY5LCAKKyAgICAxMzk2NzMsIDEzOTY3NSwgMTM5Njc3LCAxMzk2ODAsIDEzOTY4NCwgMTM5Njg2LCAxMzk2OTAsIDEzOTY5MiwgMTM5Njk0LCAKKyAgICAxMzk2OTksIDEzOTcwMSwgMTM5NzA1LCAxMzk3MDksIDEzOTcxMiwgMTM5NzE2LCAxMzk3MjAsIDEzOTcyNCwgMTM5NzI4LCAKKyAgICAxMzk3MzIsIDEzOTczNiwgMTM5NzQwLCAxMzk3NDUsIDEzOTc0OSwgMTM5NzUzLCAxMzk3NjIsIDEzOTc2NywgMTM5NzcwLCAKKyAgICAxMzk3NzIsIDEzOTc3NSwgMTM5Nzc4LCAxMzk3ODMsIDEzOTc4NSwgMTM5Nzg4LCAxMzk3OTMsIDEzOTc5NywgMTM5ODAwLCAKKyAgICAxMzk4MDQsIDEzOTgwOCwgMTM5ODExLCAxMzk4MTYsIDEzOTgyMCwgMTM5ODI0LCAxMzk4MjgsIDEzOTgzMiwgMTM5ODM4LCAKKyAgICAxMzk4NDQsIDEzOTg1MCwgMTM5ODU2LCAxMzk4NjEsIDEzOTg3MSwgMTM5ODczLCAxMzk4NzcsIDEzOTg3OSwgMTM5ODgxLCAKKyAgICAxMzk4ODUsIDEzOTg4OSwgMTM5ODkxLCAxMzk4OTUsIDEzOTkwMSwgMTM5OTA2LCAxMzk5MTIsIDEzOTkxNCwgMTM5OTE4LCAKKyAgICAxMzk5MjEsIDEzOTkyNywgMTM5OTMzLCAxMzk5MzcsIDEzOTkzOSwgMTM5OTQxLCAxMzk5NDUsIDEzOTk0NywgMTM5OTUxLCAKKyAgICAxMzk5NTUsIDEzOTk1OSwgMTM5OTYxLCAxMzk5NjMsIDEzOTk3MCwgMTM5OTc0LCAxMzk5NzgsIDEzOTk4MiwgMTM5OTg2LCAKKyAgICAxMzk5OTAsIDEzOTk5MiwgMTM5OTk2LCAxMzk5OTgsIDE0MDAwMCwgMTQwMDA0LCAxNDAwMDYsIDE0MDAxMCwgMTQwMDE0LCAKKyAgICAxNDAwMjAsIDE0MDAyNCwgMTQwMDI4LCAxNDAwMzIsIDE0MDAzNCwgMTQwMDM3LCAxNDAwNDEsIDE0MDA0NywgMTQwMDU2LCAKKyAgICAxNDAwNjUsIDE0MDA3NCwgMTQwMDgzLCAxNDAwODUsIDE0MDA4OSwgMTQwMDkxLCAxNDAwOTUsIDE0MDEwNiwgMTQwMTEwLCAKKyAgICAxNDAxMTYsIDE0MDEyMiwgMTQwMTI3LCAxNDAxMjksIDE0MDEzNCwgMTQwMTM4LCAxNDAxNDAsIDE0MDE0MiwgMTQwMTQ0LCAKKyAgICAxNDAxNDgsIDAsIDE0MDE1MiwgMTQwMTU3LCAxNDAxNjgsIDE0MDE4NCwgMTQwMTk1LCAxNDAyMDYsIDE0MDIxMCwgCisgICAgMTQwMjE0LCAxNDAyMjAsIDE0MDIyMiwgMTQwMjMwLCAxNDAyMzgsIDE0MDI0MCwgMTQwMjQ0LCAxNDAyNTAsIDE0MDI1NiwgCisgICAgMTQwMjYzLCAxNDAyNzAsIDE0MDI3MiwgMTQwMjc0LCAxNDAyNzgsIDE0MDI4MCwgMTQwMjg2LCAxNDAyODgsIDE0MDI5MSwgCisgICAgMTQwMjk1LCAxNDAzMDEsIDE0MDMwNywgMTQwMzE4LCAxNDAzMjQsIDE0MDMzMCwgMTQwMzM4LCAxNDAzNDIsIDE0MDM1MCwgCisgICAgMTQwMzU4LCAxNDAzNjQsIDE0MDM3MCwgMTQwMzc3LCAxNDAzNzksIDE0MDM4MywgMTQwMzg1LCAxNDAzODcsIDE0MDM5MiwgCisgICAgMTQwMzk0LCAxNDAzOTYsIDE0MDM5OCwgMTQwNDAwLCAxNDA0MDQsIDE0MDQxNSwgMTQwNDIxLCAxNDA0MjUsIDE0MDQyOSwgCisgICAgMTQwNDMzLCAxNDA0MzksIDE0MDQ0NSwgMTQwNDUxLCAxNDA0NTcsIDE0MDQ2MiwgMTQwNDY3LCAxNDA0NzMsIDE0MDQ3OSwgCisgICAgMTQwNDg2LCAxNDA0OTMsIDE0MDUwMSwgMTQwNTA5LCAxNDA1MTQsIDE0MDUyMiwgMTQwNTI2LCAxNDA1MzUsIDE0MDU0NCwgCisgICAgMTQwNTUwLCAxNDA1NTQsIDE0MDU1OCwgMTQwNTYyLCAxNDA1NjUsIDAsIDAsIDAsIDAsIDAsIDE0MDU3MCwgMTQwNTc3LCAKKyAgICAxNDA1ODQsIDE0MDU5MSwgMTQwNTk5LCAxNDA2MDcsIDE0MDYxNSwgMTQwNjIzLCAxNDA2MzEsIDE0MDYzOSwgMTQwNjQ3LCAKKyAgICAxNDA2NTUsIDE0MDY2MywgMTQwNjY5LCAxNDA2NzUsIDE0MDY4MSwgMTQwNjg3LCAxNDA2OTMsIDE0MDY5OSwgMTQwNzA1LCAKKyAgICAxNDA3MTEsIDE0MDcxNywgMTQwNzIzLCAxNDA3MjksIDE0MDczNSwgMTQwNzM4LCAxNDA3NDcsIDE0MDc1NiwgMTQwNzU4LCAKKyAgICAxNDA3NjUsIDE0MDc2OSwgMTQwNzcxLCAxNDA3NzMsIDE0MDc3NywgMTQwNzgzLCAxNDA3ODcsIDE0MDc4OSwgMTQwNzk5LCAKKyAgICAxNDA4MDUsIDE0MDgwOSwgMTQwODExLCAxNDA4MTUsIDAsIDE0MDgxNywgMTQwODI0LCAxNDA4MzEsIDE0MDgzOCwgCisgICAgMTQwODQzLCAxNDA4NDgsIDE0MDg1NywgMTQwODYzLCAxNDA4NjgsIDE0MDg3MiwgMTQwODc3LCAxNDA4ODEsIDE0MDg4OCwgCisgICAgMTQwODkyLCAxNDA4OTUsIDE0MDkwMCwgMTQwOTA3LCAxNDA5MTQsIDE0MDkxOSwgMTQwOTI0LCAxNDA5MjksIDE0MDkzNSwgCisgICAgMTQwOTQ0LCAxNDA5NTUsIDE0MDk2MSwgMTQwOTY3LCAxNDA5NzMsIDE0MDk4NCwgMTQxMDAwLCAxNDEwMDksIDE0MTAxNywgCisgICAgMTQxMDI1LCAxNDEwMzMsIDE0MTA0MSwgMTQxMDQ5LCAxNDEwNTcsIDE0MTA2NSwgMTQxMDczLCAxNDEwODEsIDE0MTA4OSwgCisgICAgMTQxMDk3LCAwLCAxNDExMDUsIDE0MTEwOSwgMTQxMTE0LCAxNDExMTksIDE0MTEyMSwgMTQxMTI1LCAxNDExMzQsIAorICAgIDE0MTE0MywgMTQxMTUxLCAxNDExNTUsIDE0MTE1OSwgMTQxMTY0LCAxNDExNjksIDE0MTE3NCwgMTQxMTc2LCAxNDExODEsIAorICAgIDE0MTE4NSwgMTQxMTg3LCAxNDExOTEsIDE0MTE5NSwgMTQxMjAxLCAxNDEyMDYsIDE0MTIxNCwgMTQxMjE5LCAxNDEyMjQsIAorICAgIDE0MTIyOSwgMTQxMjM2LCAxNDEyMzksIDE0MTI0MSwgMTQxMjQ1LCAxNDEyNTAsIDE0MTI1NSwgMTQxMjU5LCAxNDEyNjMsIAorICAgIDE0MTI2OSwgMTQxMjc1LCAxNDEyNzcsIDE0MTI4MSwgMTQxMjg1LCAxNDEyODksIDE0MTI5MywgMTQxMjk3LCAxNDEyOTksIAorICAgIDE0MTMwMSwgMTQxMzAzLCAxNDEzMDUsIDE0MTMxMSwgMTQxMzE3LCAxNDEzMjEsIDE0MTMyMywgMTQxMzI1LCAxNDEzMjcsIAorICAgIDE0MTMzNiwgMTQxMzQwLCAxNDEzNDcsIDE0MTM1NCwgMTQxMzU2LCAxNDEzNTksIDE0MTM2MywgMTQxMzY5LCAxNDEzNzMsIAorICAgIDE0MTM3NywgMTQxMzc5LCAxNDEzODcsIDE0MTM5MSwgMTQxMzk1LCAxNDE0MDAsIDE0MTQwNSwgMTQxNDEwLCAxNDE0MTUsIAorICAgIDE0MTQyMCwgMTQxNDI1LCAxNDE0MzAsIDE0MTQzNSwgMTQxNDQwLCAxNDE0NDUsIDE0MTQ0OSwgMTQxNDU1LCAxNDE0NTksIAorICAgIDE0MTQ2NSwgMTQxNDcwLCAxNDE0NzcsIDE0MTQ4MywgMTQxNDkxLCAxNDE0OTUsIDE0MTUwMiwgMTQxNTA2LCAxNDE1MTAsIAorICAgIDE0MTUxNCwgMTQxNTE5LCAxNDE1MjQsIDE0MTUyNiwgMTQxNTMwLCAxNDE1MzksIDE0MTU0NywgMTQxNTU2LCAxNDE1NzAsIAorICAgIDE0MTU4NCwgMTQxNTk4LCAxNDE2MDUsIDE0MTYxMiwgMTQxNjE2LCAxNDE2MjUsIDE0MTYzMywgMTQxNjM3LCAxNDE2NDYsIAorICAgIDE0MTY1MywgMTQxNjU3LCAxNDE2NjEsIDE0MTY2NSwgMTQxNjY5LCAxNDE2NzYsIDE0MTY4MCwgMTQxNjg0LCAxNDE2ODgsIAorICAgIDE0MTY5MiwgMTQxNjk5LCAxNDE3MDgsIDE0MTcxNywgMTQxNzI0LCAxNDE3MzYsIDE0MTc0OCwgMTQxNzUyLCAxNDE3NTYsIAorICAgIDE0MTc2MCwgMTQxNzY0LCAxNDE3NjgsIDE0MTc3MiwgMTQxNzgwLCAxNDE3ODgsIDE0MTc5NywgMTQxODAxLCAxNDE4MDUsIAorICAgIDE0MTgwOSwgMTQxODEzLCAxNDE4MTcsIDE0MTgyMSwgMTQxODI3LCAxNDE4MzQsIDE0MTgzOCwgMTQxODUwLCAxNDE4NTgsIAorICAgIDE0MTg2MiwgMTQxODY2LCAxNDE4NzAsIDE0MTg3NCwgMTQxODgwLCAxNDE4ODcsIDE0MTg5OCwgMTQxOTA4LCAxNDE5MTksIAorICAgIDE0MTkzMCwgMTQxOTM5LCAxNDE5NTAsIDE0MTk1NiwgMTQxOTYyLCAxNDE5NjgsIDE0MTk3NCwgMCwgMCwgMTQxOTgwLCAKKyAgICAxNDE5ODksIDE0MTk5NiwgMTQyMDAyLCAxNDIwMDYsIDE0MjAxMCwgMTQyMDE0LCAxNDIwMjMsIDE0MjAzNSwgMTQyMDM5LCAKKyAgICAxNDIwNDYsIDE0MjA1MywgMTQyMDYwLCAxNDIwNjcsIDE0MjA3NCwgMTQyMDgxLCAxNDIwODksIDE0MjA5NywgMTQyMTA1LCAKKyAgICAxNDIxMTMsIDE0MjEyMiwgMTQyMTMxLCAxNDIxNDAsIDE0MjE0OSwgMTQyMTU5LCAxNDIxNjksIDE0MjE3OSwgMTQyMTg5LCAKKyAgICAxNDIxOTYsIDE0MjIwMywgMTQyMjEwLCAxNDIyMTcsIDE0MjIyNSwgMTQyMjMzLCAxNDIyNDEsIDE0MjI0OSwgMTQyMjU2LCAKKyAgICAxNDIyNjgsIDE0MjI3NSwgMTQyMjg3LCAxNDIyOTAsIDE0MjI5MywgMTQyMjk2LCAxNDIyOTksIDE0MjMwNSwgMTQyMzEyLCAKKyAgICAxNDIzMTksIDE0MjMyNywgMTQyMzMyLCAxNDIzMzgsIDE0MjM0OSwgMTQyMzU5LCAxNDIzNzAsIDE0MjM3NSwgMTQyMzgwLCAKKyAgICAxNDIzODYsIDE0MjM5MSwgMTQyMzk4LCAxNDI0MDIsIDE0MjQwOCwgMTQyNDEwLCAxNDI0MTIsIDE0MjQxNiwgMTQyNDIwLCAKKyAgICAxNDI0MjQsIDE0MjQzMywgMTQyNDM1LCAxNDI0MzcsIDE0MjQ0MCwgMTQyNDQyLCAxNDI0NDQsIDE0MjQ0OCwgMTQyNDUwLCAKKyAgICAxNDI0NTQsIDE0MjQ1NiwgMTQyNDYwLCAxNDI0NjIsIDE0MjQ2NCwgMTQyNDY4LCAxNDI0NzIsIDE0MjQ3OCwgMTQyNDgwLCAKKyAgICAxNDI0ODQsIDE0MjQ4NiwgMTQyNDkwLCAxNDI0OTQsIDE0MjQ5OCwgMTQyNTAyLCAxNDI1MDQsIDE0MjUwNiwgMTQyNTEwLCAKKyAgICAxNDI1MTQsIDE0MjUxOCwgMTQyNTIyLCAxNDI1MjQsIDE0MjUyNiwgMTQyNTI4LCAxNDI1MzMsIDE0MjUzOCwgMTQyNTQxLCAKKyAgICAxNDI1NDksIDE0MjU1NywgMTQyNTU5LCAxNDI1NjQsIDE0MjU2NywgMTQyNTcyLCAxNDI1ODMsIDE0MjU5MCwgMTQyNTk1LCAKKyAgICAxNDI2MDAsIDE0MjYwMiwgMTQyNjA2LCAxNDI2MDgsIDE0MjYxMiwgMTQyNjE0LCAxNDI2MTgsIDE0MjYyMiwgMTQyNjI1LCAKKyAgICAxNDI2MjgsIDE0MjYzMCwgMTQyNjMzLCAxNDI2MzUsIDE0MjYzOSwgMTQyNjQxLCAxNDI2NDMsIDE0MjY0NSwgMTQyNjQ5LCAKKyAgICAxNDI2NTEsIDE0MjY1NSwgMTQyNjU4LCAxNDI2NjUsIDE0MjY2OCwgMTQyNjczLCAxNDI2NzYsIDE0MjY3OSwgMTQyNjg0LCAKKyAgICAxNDI2ODgsIDE0MjY5MiwgMTQyNjk2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAxNDI2OTgsIDE0MjcwMywgMTQyNzA1LCAxNDI3MDksIDE0MjcxMSwgMTQyNzE1LCAxNDI3MTksIDE0MjcyNSwgMTQyNzI5LCAKKyAgICAxNDI3MzQsIDE0MjczNywgMTQyNzQxLCAxNDI3NDUsIDAsIDAsIDAsIDE0Mjc0OSwgMTQyNzUxLCAxNDI3NTcsIDE0Mjc2MSwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTQyNzY1LCAxNDI3NzAsIDE0Mjc3NSwgMTQyNzgwLCAKKyAgICAxNDI3ODUsIDE0Mjc5MCwgMTQyNzk1LCAxNDI4MDIsIDE0MjgwOSwgMTQyODE2LCAxNDI4MjMsIDE0MjgyOCwgMTQyODMzLCAKKyAgICAxNDI4MzgsIDE0Mjg0MywgMTQyODUwLCAxNDI4NTYsIDE0Mjg2MywgMTQyODcwLCAxNDI4NzcsIDE0Mjg4MiwgMTQyODg3LCAKKyAgICAxNDI4OTIsIDE0Mjg5NywgMTQyOTAyLCAxNDI5MDksIDE0MjkxNiwgMTQyOTIxLCAxNDI5MjYsIDE0MjkzMywgMTQyOTQwLCAKKyAgICAxNDI5NDgsIDE0Mjk1NiwgMTQyOTYzLCAxNDI5NzAsIDE0Mjk3OCwgMTQyOTg2LCAxNDI5OTQsIDE0MzAwMSwgMTQzMDExLCAKKyAgICAxNDMwMjIsIDE0MzAyNywgMTQzMDM0LCAxNDMwNDEsIDE0MzA0OCwgMTQzMDU2LCAxNDMwNjQsIDE0MzA3NSwgMTQzMDgzLCAKKyAgICAxNDMwOTEsIDE0MzA5OSwgMTQzMTA0LCAxNDMxMDksIDE0MzExNCwgMTQzMTE5LCAxNDMxMjQsIDE0MzEyOSwgMTQzMTM0LCAKKyAgICAxNDMxMzksIDE0MzE0NCwgMTQzMTQ5LCAxNDMxNTQsIDE0MzE1OSwgMTQzMTY2LCAxNDMxNzEsIDE0MzE3NiwgMTQzMTgzLCAKKyAgICAxNDMxODgsIDE0MzE5MywgMTQzMTk4LCAxNDMyMDMsIDE0MzIwOCwgMTQzMjEzLCAxNDMyMTgsIDE0MzIyMywgMTQzMjI4LCAKKyAgICAxNDMyMzMsIDE0MzIzOCwgMTQzMjQzLCAxNDMyNTAsIDE0MzI1OCwgMTQzMjYzLCAxNDMyNjgsIDE0MzI3NSwgMTQzMjgwLCAKKyAgICAxNDMyODUsIDE0MzI5MCwgMTQzMjk3LCAxNDMzMDIsIDE0MzMwOSwgMTQzMzE0LCAxNDMzMjEsIDE0MzMyNiwgMTQzMzM1LCAKKyAgICAxNDMzNDQsIDE0MzM0OSwgMTQzMzU0LCAxNDMzNTksIDE0MzM2NCwgMTQzMzY5LCAxNDMzNzQsIDE0MzM3OSwgMTQzMzg0LCAKKyAgICAxNDMzODksIDE0MzM5NCwgMTQzMzk5LCAxNDM0MDQsIDE0MzQwOSwgMTQzNDE3LCAxNDM0MjUsIDE0MzQzMCwgMTQzNDM1LCAKKyAgICAxNDM0NDAsIDE0MzQ0NSwgMTQzNDUwLCAxNDM0NTYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDE0MzQ2MiwgMTQzNDcwLCAxNDM0NzgsIDE0MzQ4NiwgMTQzNDk0LCAxNDM1MDAsIDE0MzUwNiwgMTQzNTEwLCAxNDM1MTQsIAorICAgIDE0MzUyMCwgMTQzNTI2LCAxNDM1MzUsIDE0MzUzOSwgMTQzNTQ0LCAxNDM1NTAsIDE0MzU1NCwgMTQzNTU5LCAxNDM1NjMsIAorICAgIDE0MzU2NywgMTQzNTczLCAxNDM1NzksIDE0MzU4OSwgMTQzNTk4LCAxNDM2MDEsIDE0MzYwNiwgMTQzNjEyLCAxNDM2MTgsIAorICAgIDE0MzYyOSwgMTQzNjM5LCAxNDM2NDMsIDE0MzY0OCwgMTQzNjU0LCAxNDM2NjAsIDE0MzY2OSwgMTQzNjc0LCAxNDM2NzgsIAorICAgIDE0MzY4MywgMTQzNjg3LCAxNDM2OTMsIDE0MzY5OSwgMTQzNzA1LCAxNDM3MDksIDE0MzcxMiwgMTQzNzE2LCAxNDM3MTksIAorICAgIDE0MzcyMiwgMTQzNzI3LCAxNDM3MzIsIDE0MzczOSwgMTQzNzQ3LCAxNDM3NTQsIDE0Mzc2MSwgMTQzNzcwLCAxNDM3NzksIAorICAgIDE0Mzc4NiwgMTQzNzk0LCAxNDM4MDEsIDE0MzgwOCwgMTQzODE3LCAxNDM4MjYsIDE0MzgzMywgMTQzODQxLCAxNDM4NDgsIAorICAgIDE0Mzg1NSwgMTQzODY0LCAxNDM4NzEsIDE0Mzg3OSwgMTQzODg1LCAxNDM4OTQsIDE0MzkwMiwgMTQzOTExLCAxNDM5MTgsIAorICAgIDE0MzkyOCwgMTQzOTM5LCAxNDM5NDcsIDE0Mzk1NSwgMTQzOTY0LCAxNDM5NzIsIDE0Mzk4MCwgMTQzOTg5LCAxNDM5OTcsIAorICAgIDE0NDAwNywgMTQ0MDE2LCAxNDQwMjQsIDE0NDAzMiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMTQ0MDQxLCAxNDQwNDksIDE0NDA1NywgMTQ0MDY1LCAxNDQwNzMsIDE0NDA4MiwgMTQ0MDkxLCAKKyAgICAxNDQxMDAsIDE0NDEwOSwgMTQ0MTE4LCAxNDQxMjcsIDE0NDEzNiwgMCwgMCwgMCwgMCwgMTQ0MTQ1LCAxNDQxNTMsIAorICAgIDE0NDE2MSwgMTQ0MTY5LCAxNDQxNzcsIDE0NDE4NCwgMTQ0MTkxLCAxNDQxOTgsIDE0NDIwNSwgMTQ0MjEzLCAxNDQyMjEsIAorICAgIDE0NDIyOSwgMTQ0MjM3LCAxNDQyNDcsIDE0NDI1NywgMTQ0MjY3LCAxNDQyNzcsIDE0NDI4NiwgMTQ0Mjk1LCAxNDQzMDQsIAorICAgIDE0NDMxMywgMTQ0MzIyLCAxNDQzMzEsIDE0NDM0MCwgMTQ0MzQ5LCAxNDQzNTcsIDE0NDM2NSwgMTQ0MzczLCAxNDQzODEsIAorICAgIDE0NDM4OSwgMTQ0Mzk3LCAxNDQ0MDUsIDE0NDQxMywgMTQ0NDIzLCAxNDQ0MzMsIDE0NDQ0MywgMTQ0NDUzLCAxNDQ0NTcsIAorICAgIDE0NDQ2MSwgMTQ0NDY1LCAxNDQ0NjksIDE0NDQ3MiwgMTQ0NDc1LCAxNDQ0NzgsIDE0NDQ4MSwgMTQ0NDg1LCAxNDQ0ODksIAorICAgIDE0NDQ5MywgMTQ0NDk3LCAxNDQ1MDIsIDE0NDUwNywgMTQ0NTEyLCAxNDQ1MTcsIDE0NDUyMCwgMTQ0NTIzLCAxNDQ1MjYsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE0NDUyOSwgMTQ0NTMyLCAxNDQ1MzUsIDE0NDUzOCwgMTQ0NTQxLCAxNDQ1NDYsIAorICAgIDE0NDU1MSwgMTQ0NTU2LCAxNDQ1NjEsIDE0NDU2NSwgMCwgMCwgMCwgMCwgMCwgMCwgMTQ0NTY5LCAxNDQ1NzUsIDE0NDU4MSwgCisgICAgMTQ0NTg3LCAxNDQ1OTMsIDE0NDYwMSwgMTQ0NjA5LCAxNDQ2MTcsIDE0NDYyNSwgMTQ0NjMwLCAxNDQ2MzUsIDE0NDY0MCwgCisgICAgMTQ0NjQ1LCAxNDQ2NTIsIDE0NDY1OSwgMTQ0NjY2LCAxNDQ2NzMsIDE0NDY4MCwgMTQ0Njg3LCAxNDQ2OTQsIDE0NDcwMSwgCisgICAgMTQ0NzEwLCAxNDQ3MTksIDE0NDcyOCwgMTQ0NzM3LCAxNDQ3NDMsIDE0NDc0OSwgMTQ0NzU1LCAxNDQ3NjEsIDE0NDc2OSwgCisgICAgMTQ0Nzc3LCAxNDQ3ODUsIDE0NDc5MywgMTQ0ODAxLCAxNDQ4MDksIDE0NDgxNywgMTQ0ODI1LCAxNDQ4MzUsIDE0NDg0NSwgCisgICAgMTQ0ODU1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNDQ4NjUsIDE0NDg3MCwgMTQ0ODc1LCAxNDQ4ODAsIDE0NDg4NSwgCisgICAgMTQ0ODk0LCAxNDQ5MDMsIDE0NDkxMiwgMTQ0OTIxLCAxNDQ5MjgsIDE0NDkzNSwgMTQ0OTQyLCAxNDQ5NDksIDE0NDk1NiwgCisgICAgMTQ0OTY1LCAxNDQ5NzQsIDE0NDk4MywgMTQ0OTg4LCAxNDQ5OTUsIDE0NTAwMiwgMTQ1MDA5LCAxNDUwMTQsIDE0NTAxOSwgCisgICAgMTQ1MDI0LCAxNDUwMjksIDE0NTAzNiwgMTQ1MDQzLCAxNDUwNTAsIDE0NTA1NywgMTQ1MDY0LCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAxNDUwNzMsIDE0NTA3NywgMTQ1MDgxLCAxNDUwODUsIDE0NTA4OSwgMTQ1MDkzLCAxNDUwOTcsIAorICAgIDE0NTEwMSwgMTQ1MTA1LCAxNDUxMDksIDE0NTExMywgMTQ1MTE3LCAxNDUxMjEsIDE0NTEyNSwgMTQ1MTI5LCAxNDUxMzMsIAorICAgIDE0NTEzNywgMTQ1MTQxLCAxNDUxNDUsIDE0NTE0OSwgMTQ1MTUzLCAxNDUxNTcsIDE0NTE2MSwgMTQ1MTY1LCAxNDUxNjksIAorICAgIDE0NTE3MywgMTQ1MTc3LCAxNDUxODEsIDE0NTE4NSwgMTQ1MTg5LCAxNDUxOTMsIDE0NTE5NywgMTQ1MjAxLCAxNDUyMDUsIAorICAgIDE0NTIwOSwgMTQ1MjEzLCAxNDUyMTcsIDE0NTIyMSwgMTQ1MjI1LCAxNDUyMjksIDE0NTIzMywgMTQ1MjM3LCAxNDUyNDEsIAorICAgIDE0NTI0NSwgMTQ1MjQ5LCAxNDUyNTMsIDE0NTI1NywgMTQ1MjYxLCAxNDUyNjUsIDE0NTI2OSwgMTQ1MjczLCAxNDUyNzcsIAorICAgIDE0NTI4MSwgMTQ1Mjg1LCAxNDUyODksIDE0NTI5MywgMTQ1Mjk3LCAxNDUzMDEsIDE0NTMwNSwgMTQ1MzA5LCAxNDUzMTMsIAorICAgIDE0NTMxNywgMTQ1MzIxLCAxNDUzMjUsIDE0NTMyOSwgMTQ1MzMzLCAxNDUzMzcsIDE0NTM0MSwgMTQ1MzQ1LCAxNDUzNDksIAorICAgIDE0NTM1MywgMTQ1MzU3LCAxNDUzNjEsIDE0NTM2NSwgMTQ1MzY5LCAxNDUzNzMsIDE0NTM3NywgMTQ1MzgxLCAxNDUzODUsIAorICAgIDE0NTM4OSwgMTQ1MzkzLCAxNDUzOTcsIDE0NTQwMSwgMTQ1NDA1LCAxNDU0MDksIDE0NTQxMywgMTQ1NDE3LCAxNDU0MjEsIAorICAgIDE0NTQyNSwgMTQ1NDI5LCAxNDU0MzMsIDE0NTQzNywgMTQ1NDQxLCAxNDU0NDUsIDE0NTQ0OSwgMTQ1NDUzLCAxNDU0NTcsIAorICAgIDE0NTQ2MSwgMTQ1NDY1LCAxNDU0NjksIDE0NTQ3MywgMTQ1NDc3LCAxNDU0ODEsIDE0NTQ4NSwgMTQ1NDg5LCAxNDU0OTMsIAorICAgIDE0NTQ5NywgMTQ1NTAxLCAxNDU1MDUsIDE0NTUwOSwgMTQ1NTEzLCAxNDU1MTcsIDE0NTUyMSwgMTQ1NTI1LCAxNDU1MjksIAorICAgIDE0NTUzMywgMTQ1NTM3LCAxNDU1NDEsIDE0NTU0NSwgMTQ1NTQ5LCAxNDU1NTMsIDE0NTU1NywgMTQ1NTYxLCAxNDU1NjUsIAorICAgIDE0NTU2OSwgMTQ1NTczLCAxNDU1NzcsIDE0NTU4MSwgMTQ1NTg1LCAxNDU1ODksIDE0NTU5MywgMTQ1NTk3LCAxNDU2MDEsIAorICAgIDE0NTYwNSwgMTQ1NjA5LCAxNDU2MTMsIDE0NTYxNywgMTQ1NjIxLCAxNDU2MjUsIDE0NTYyOSwgMTQ1NjMzLCAxNDU2MzcsIAorICAgIDE0NTY0MSwgMTQ1NjQ1LCAxNDU2NDksIDE0NTY1MywgMTQ1NjU3LCAxNDU2NjEsIDE0NTY2NSwgMTQ1NjY5LCAxNDU2NzMsIAorICAgIDE0NTY3NywgMTQ1NjgxLCAxNDU2ODUsIDE0NTY4OSwgMTQ1NjkzLCAxNDU2OTcsIDE0NTcwMSwgMTQ1NzA1LCAxNDU3MDksIAorICAgIDE0NTcxMywgMTQ1NzE3LCAxNDU3MjEsIDE0NTcyNSwgMTQ1NzI5LCAxNDU3MzMsIDE0NTczNywgMTQ1NzQxLCAxNDU3NDUsIAorICAgIDE0NTc0OSwgMTQ1NzUzLCAxNDU3NTcsIDE0NTc2MSwgMTQ1NzY1LCAxNDU3NjksIDE0NTc3MywgMTQ1Nzc3LCAxNDU3ODEsIAorICAgIDE0NTc4NSwgMTQ1Nzg5LCAxNDU3OTMsIDE0NTc5NywgMTQ1ODAxLCAxNDU4MDUsIDE0NTgwOSwgMTQ1ODEzLCAxNDU4MTcsIAorICAgIDE0NTgyMSwgMTQ1ODI1LCAxNDU4MjksIDE0NTgzMywgMTQ1ODM3LCAxNDU4NDEsIDE0NTg0NSwgMTQ1ODQ5LCAxNDU4NTMsIAorICAgIDE0NTg1NywgMTQ1ODYxLCAxNDU4NjUsIDE0NTg2OSwgMTQ1ODczLCAxNDU4NzcsIDE0NTg4MSwgMTQ1ODg1LCAxNDU4ODksIAorICAgIDE0NTg5MywgMTQ1ODk3LCAxNDU5MDEsIDE0NTkwNSwgMTQ1OTA5LCAxNDU5MTMsIDE0NTkxNywgMTQ1OTIxLCAxNDU5MjUsIAorICAgIDE0NTkyOSwgMTQ1OTMzLCAxNDU5MzcsIDE0NTk0MSwgMTQ1OTQ1LCAxNDU5NDksIDE0NTk1MywgMTQ1OTU3LCAxNDU5NjEsIAorICAgIDE0NTk2NSwgMTQ1OTY5LCAxNDU5NzMsIDE0NTk3NywgMTQ1OTgxLCAxNDU5ODUsIDE0NTk4OSwgMTQ1OTkzLCAxNDU5OTcsIAorICAgIDE0NjAwMSwgMTQ2MDA1LCAxNDYwMDksIDE0NjAxMywgMTQ2MDE3LCAxNDYwMjEsIDE0NjAyNSwgMTQ2MDI5LCAxNDYwMzMsIAorICAgIDE0NjAzNywgMTQ2MDQxLCAxNDYwNDUsIDE0NjA0OSwgMTQ2MDUzLCAxNDYwNTcsIDE0NjA2MSwgMTQ2MDY1LCAxNDYwNjksIAorICAgIDE0NjA3MywgMTQ2MDc3LCAxNDYwODEsIDE0NjA4NSwgMTQ2MDg5LCAxNDYwOTMsIDE0NjA5NywgMTQ2MTAxLCAxNDYxMDUsIAorICAgIDE0NjEwOSwgMTQ2MTEzLCAxNDYxMTcsIDE0NjEyMSwgMTQ2MTI1LCAxNDYxMjksIDE0NjEzMywgMTQ2MTM3LCAxNDYxNDEsIAorICAgIDE0NjE0NSwgMTQ2MTQ5LCAxNDYxNTMsIDE0NjE1NywgMTQ2MTYxLCAxNDYxNjUsIDE0NjE2OSwgMTQ2MTczLCAxNDYxNzcsIAorICAgIDE0NjE4MSwgMTQ2MTg1LCAxNDYxODksIDE0NjE5MywgMTQ2MTk3LCAxNDYyMDEsIDE0NjIwNSwgMTQ2MjA5LCAxNDYyMTMsIAorICAgIDE0NjIxNywgMTQ2MjIxLCAxNDYyMjUsIDE0NjIyOSwgMTQ2MjMzLCAxNDYyMzcsIDE0NjI0MSwgMTQ2MjQ1LCAxNDYyNDksIAorICAgIDE0NjI1MywgMTQ2MjU3LCAxNDYyNjEsIDE0NjI2NSwgMTQ2MjY5LCAxNDYyNzMsIDE0NjI3NywgMTQ2MjgxLCAxNDYyODUsIAorICAgIDE0NjI4OSwgMTQ2MjkzLCAxNDYyOTcsIDE0NjMwMSwgMTQ2MzA1LCAxNDYzMDksIDE0NjMxMywgMTQ2MzE3LCAxNDYzMjEsIAorICAgIDE0NjMyNSwgMTQ2MzI5LCAxNDYzMzMsIDE0NjMzNywgMTQ2MzQxLCAxNDYzNDUsIDE0NjM0OSwgMTQ2MzUzLCAxNDYzNTcsIAorICAgIDE0NjM2MSwgMTQ2MzY1LCAxNDYzNjksIDE0NjM3MywgMTQ2Mzc3LCAxNDYzODEsIDE0NjM4NSwgMTQ2Mzg5LCAxNDYzOTMsIAorICAgIDE0NjM5NywgMTQ2NDAxLCAxNDY0MDUsIDE0NjQwOSwgMTQ2NDEzLCAxNDY0MTcsIDE0NjQyMSwgMTQ2NDI1LCAxNDY0MjksIAorICAgIDE0NjQzMywgMTQ2NDM3LCAxNDY0NDEsIDE0NjQ0NSwgMTQ2NDQ5LCAxNDY0NTMsIDE0NjQ1NywgMTQ2NDYxLCAxNDY0NjUsIAorICAgIDE0NjQ2OSwgMTQ2NDczLCAxNDY0NzcsIDE0NjQ4MSwgMTQ2NDg1LCAxNDY0ODksIDE0NjQ5MywgMTQ2NDk3LCAxNDY1MDEsIAorICAgIDE0NjUwNSwgMTQ2NTA5LCAxNDY1MTMsIDE0NjUxNywgMTQ2NTIxLCAxNDY1MjUsIDE0NjUyOSwgMTQ2NTMzLCAxNDY1MzcsIAorICAgIDE0NjU0MSwgMTQ2NTQ1LCAxNDY1NDksIDE0NjU1MywgMTQ2NTU3LCAxNDY1NjEsIDE0NjU2NSwgMTQ2NTY5LCAxNDY1NzMsIAorICAgIDE0NjU3NywgMTQ2NTgxLCAxNDY1ODUsIDE0NjU4OSwgMTQ2NTkzLCAxNDY1OTcsIDE0NjYwMSwgMTQ2NjA1LCAxNDY2MDksIAorICAgIDE0NjYxMywgMTQ2NjE3LCAxNDY2MjEsIDE0NjYyNSwgMTQ2NjI5LCAxNDY2MzMsIDE0NjYzNywgMTQ2NjQxLCAxNDY2NDUsIAorICAgIDE0NjY0OSwgMTQ2NjUzLCAxNDY2NTcsIDE0NjY2MSwgMTQ2NjY1LCAxNDY2NjksIDE0NjY3MywgMTQ2Njc3LCAxNDY2ODEsIAorICAgIDE0NjY4NSwgMTQ2Njg5LCAxNDY2OTMsIDE0NjY5NywgMTQ2NzAxLCAxNDY3MDUsIDE0NjcwOSwgMTQ2NzEzLCAxNDY3MTcsIAorICAgIDE0NjcyMSwgMTQ2NzI1LCAxNDY3MjksIDE0NjczMywgMTQ2NzM3LCAxNDY3NDEsIDE0Njc0NSwgMTQ2NzQ5LCAxNDY3NTMsIAorICAgIDE0Njc1NywgMTQ2NzYxLCAxNDY3NjUsIDE0Njc2OSwgMTQ2NzczLCAxNDY3NzcsIDE0Njc4MSwgMTQ2Nzg1LCAxNDY3ODksIAorICAgIDE0Njc5MywgMTQ2Nzk3LCAxNDY4MDEsIDE0NjgwNSwgMTQ2ODA5LCAxNDY4MTMsIDE0NjgxNywgMTQ2ODIxLCAxNDY4MjUsIAorICAgIDE0NjgyOSwgMTQ2ODMzLCAxNDY4MzcsIDE0Njg0MSwgMTQ2ODQ1LCAxNDY4NDksIDE0Njg1MywgMTQ2ODU3LCAxNDY4NjEsIAorICAgIDE0Njg2NSwgMTQ2ODY5LCAxNDY4NzMsIDE0Njg3NywgMTQ2ODgxLCAxNDY4ODUsIDE0Njg4OSwgMTQ2ODkzLCAxNDY4OTcsIAorICAgIDE0NjkwMSwgMTQ2OTA1LCAxNDY5MDksIDE0NjkxMywgMTQ2OTE3LCAxNDY5MjEsIDE0NjkyNSwgMTQ2OTI5LCAxNDY5MzMsIAorICAgIDE0NjkzNywgMTQ2OTQxLCAxNDY5NDUsIDE0Njk0OSwgMTQ2OTUzLCAxNDY5NTcsIDE0Njk2MSwgMTQ2OTY1LCAxNDY5NjksIAorICAgIDE0Njk3MywgMTQ2OTc3LCAxNDY5ODEsIDE0Njk4NSwgMTQ2OTg5LCAxNDY5OTMsIDE0Njk5NywgMTQ3MDAxLCAxNDcwMDUsIAorICAgIDE0NzAwOSwgMTQ3MDEzLCAxNDcwMTcsIDE0NzAyMSwgMTQ3MDI1LCAxNDcwMjksIDE0NzAzMywgMTQ3MDM3LCAxNDcwNDEsIAorICAgIDE0NzA0NSwgMTQ3MDQ5LCAxNDcwNTMsIDE0NzA1NywgMTQ3MDYxLCAxNDcwNjUsIDE0NzA2OSwgMTQ3MDczLCAxNDcwNzcsIAorICAgIDE0NzA4MSwgMTQ3MDg1LCAxNDcwODksIDE0NzA5MywgMTQ3MDk3LCAxNDcxMDEsIDE0NzEwNSwgMTQ3MTA5LCAxNDcxMTMsIAorICAgIDE0NzExNywgMTQ3MTIxLCAxNDcxMjUsIDE0NzEyOSwgMTQ3MTMzLCAxNDcxMzcsIDE0NzE0MSwgMTQ3MTQ1LCAxNDcxNDksIAorICAgIDE0NzE1MywgMTQ3MTU3LCAxNDcxNjEsIDE0NzE2NSwgMTQ3MTY5LCAxNDcxNzMsIDE0NzE3NywgMTQ3MTgxLCAxNDcxODUsIAorICAgIDE0NzE4OSwgMTQ3MTkzLCAxNDcxOTcsIDE0NzIwMSwgMTQ3MjA1LCAxNDcyMDksIDE0NzIxMywgMTQ3MjE3LCAxNDcyMjEsIAorICAgIDE0NzIyNSwgMTQ3MjI5LCAxNDcyMzMsIDE0NzIzNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTQ3MjQxLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAxNDcyNDUsIDE0NzI0OCwgMTQ3MjUyLCAxNDcyNTYsIDE0NzI1OSwgMTQ3MjYzLCAxNDcyNjcsIAorICAgIDE0NzI3MCwgMTQ3MjczLCAxNDcyNzcsIDE0NzI4MSwgMTQ3Mjg0LCAxNDcyODcsIDE0NzI5MCwgMTQ3MjkzLCAxNDcyOTgsIAorICAgIDE0NzMwMSwgMTQ3MzA1LCAxNDczMDgsIDE0NzMxMSwgMTQ3MzE0LCAxNDczMTcsIDE0NzMyMCwgMTQ3MzIzLCAxNDczMjYsIAorICAgIDE0NzMyOSwgMTQ3MzMyLCAxNDczMzUsIDE0NzMzOCwgMTQ3MzQyLCAxNDczNDYsIDE0NzM1MCwgMTQ3MzU0LCAxNDczNTksIAorICAgIDE0NzM2NCwgMTQ3MzcwLCAxNDczNzYsIDE0NzM4MiwgMTQ3Mzg3LCAxNDczOTMsIDE0NzM5OSwgMTQ3NDA1LCAxNDc0MTAsIAorICAgIDE0NzQxNiwgMTQ3NDIyLCAxNDc0MjcsIDE0NzQzMywgMTQ3NDM5LCAxNDc0NDQsIDE0NzQ1MCwgMTQ3NDU2LCAxNDc0NjEsIAorICAgIDE0NzQ2NiwgMTQ3NDcyLCAxNDc0NzcsIDE0NzQ4MywgMTQ3NDg5LCAxNDc0OTUsIDE0NzUwMSwgMTQ3NTA3LCAxNDc1MTEsIAorICAgIDE0NzUxNiwgMTQ3NTIwLCAxNDc1MjUsIDE0NzUyOSwgMTQ3NTM0LCAxNDc1MzksIDE0NzU0NSwgMTQ3NTUxLCAxNDc1NTcsIAorICAgIDE0NzU2MiwgMTQ3NTY4LCAxNDc1NzQsIDE0NzU4MCwgMTQ3NTg1LCAxNDc1OTEsIDE0NzU5NywgMTQ3NjAyLCAxNDc2MDgsIAorICAgIDE0NzYxNCwgMTQ3NjE5LCAxNDc2MjUsIDE0NzYzMSwgMTQ3NjM2LCAxNDc2NDEsIDE0NzY0NywgMTQ3NjUyLCAxNDc2NTgsIAorICAgIDE0NzY2NCwgMTQ3NjcwLCAxNDc2NzYsIDE0NzY4MiwgMTQ3Njg3LCAxNDc2OTEsIDE0NzY5NiwgMTQ3Njk5LCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAxNDc3MDMsIDE0NzcwNiwgMTQ3NzA5LCAxNDc3MTIsIDE0NzcxNSwgMTQ3NzE4LCAxNDc3MjEsIAorICAgIDE0NzcyNCwgMTQ3NzI3LCAxNDc3MzAsIDE0NzczMywgMTQ3NzM2LCAxNDc3MzksIDE0Nzc0MiwgMTQ3NzQ1LCAxNDc3NDgsIAorICAgIDE0Nzc1MSwgMTQ3NzU0LCAxNDc3NTcsIDE0Nzc2MCwgMTQ3NzYzLCAxNDc3NjYsIDE0Nzc2OSwgMTQ3NzcyLCAxNDc3NzUsIAorICAgIDE0Nzc3OCwgMTQ3NzgxLCAxNDc3ODQsIDE0Nzc4NywgMTQ3NzkwLCAxNDc3OTMsIDE0Nzc5NiwgMTQ3Nzk5LCAxNDc4MDIsIAorICAgIDE0NzgwNSwgMTQ3ODA4LCAxNDc4MTEsIDE0NzgxNCwgMTQ3ODE3LCAxNDc4MjAsIDE0NzgyMywgMTQ3ODI2LCAxNDc4MjksIAorICAgIDE0NzgzMiwgMTQ3ODM1LCAxNDc4MzgsIDE0Nzg0MSwgMTQ3ODQ0LCAxNDc4NDcsIDE0Nzg1MCwgMTQ3ODUzLCAxNDc4NTYsIAorICAgIDE0Nzg1OSwgMTQ3ODYyLCAxNDc4NjUsIDE0Nzg2OCwgMTQ3ODcxLCAxNDc4NzQsIDE0Nzg3NywgMTQ3ODgwLCAxNDc4ODMsIAorICAgIDE0Nzg4NiwgMTQ3ODg5LCAxNDc4OTIsIDE0Nzg5NSwgMTQ3ODk4LCAxNDc5MDEsIDE0NzkwNCwgMTQ3OTA3LCAxNDc5MTAsIAorICAgIDE0NzkxMywgMTQ3OTE2LCAxNDc5MTksIDE0NzkyMiwgMTQ3OTI1LCAxNDc5MjgsIDE0NzkzMSwgMTQ3OTM0LCAxNDc5MzcsIAorICAgIDE0Nzk0MCwgMTQ3OTQzLCAxNDc5NDYsIDE0Nzk0OSwgMTQ3OTUyLCAxNDc5NTUsIDE0Nzk1OCwgMTQ3OTYxLCAxNDc5NjQsIAorICAgIDE0Nzk2NywgMTQ3OTcwLCAxNDc5NzMsIDE0Nzk3NiwgMTQ3OTc5LCAxNDc5ODIsIDE0Nzk4NSwgMTQ3OTg4LCAxNDc5OTEsIAorICAgIDE0Nzk5NCwgMTQ3OTk3LCAxNDgwMDAsIDE0ODAwMywgMTQ4MDA2LCAxNDgwMDksIDE0ODAxMiwgMTQ4MDE1LCAxNDgwMTgsIAorICAgIDE0ODAyMSwgMTQ4MDI0LCAxNDgwMjcsIDE0ODAzMCwgMTQ4MDMzLCAxNDgwMzYsIDE0ODAzOSwgMTQ4MDQyLCAxNDgwNDUsIAorICAgIDE0ODA0OCwgMTQ4MDUxLCAxNDgwNTQsIDE0ODA1NywgMTQ4MDYwLCAxNDgwNjMsIDE0ODA2NiwgMTQ4MDY5LCAxNDgwNzIsIAorICAgIDE0ODA3NSwgMTQ4MDc4LCAxNDgwODEsIDE0ODA4NCwgMTQ4MDg3LCAxNDgwOTAsIDE0ODA5MywgMTQ4MDk2LCAxNDgwOTksIAorICAgIDE0ODEwMiwgMTQ4MTA1LCAxNDgxMDgsIDE0ODExMSwgMTQ4MTE0LCAxNDgxMTcsIDE0ODEyMCwgMTQ4MTIzLCAxNDgxMjYsIAorICAgIDE0ODEyOSwgMTQ4MTMyLCAxNDgxMzUsIDE0ODEzOCwgMTQ4MTQxLCAxNDgxNDQsIDE0ODE0NywgMTQ4MTUwLCAxNDgxNTMsIAorICAgIDE0ODE1NiwgMTQ4MTU5LCAxNDgxNjIsIDE0ODE2NSwgMTQ4MTY4LCAxNDgxNzEsIDE0ODE3NCwgMTQ4MTc3LCAxNDgxODAsIAorICAgIDE0ODE4MywgMTQ4MTg2LCAxNDgxODksIDE0ODE5MiwgMTQ4MTk1LCAxNDgxOTgsIDE0ODIwMSwgMTQ4MjA0LCAxNDgyMDcsIAorICAgIDE0ODIxMCwgMTQ4MjEzLCAxNDgyMTYsIDE0ODIxOSwgMTQ4MjIyLCAxNDgyMjUsIDE0ODIyOCwgMTQ4MjMxLCAxNDgyMzQsIAorICAgIDE0ODIzNywgMTQ4MjQwLCAxNDgyNDMsIDE0ODI0NiwgMTQ4MjQ5LCAxNDgyNTIsIDE0ODI1NSwgMTQ4MjU4LCAxNDgyNjEsIAorICAgIDE0ODI2NCwgMTQ4MjY3LCAxNDgyNzAsIDE0ODI3MywgMTQ4Mjc2LCAxNDgyNzksIDE0ODI4MiwgMTQ4Mjg1LCAxNDgyODgsIAorICAgIDE0ODI5MSwgMTQ4Mjk0LCAxNDgyOTcsIDE0ODMwMCwgMTQ4MzAzLCAxNDgzMDYsIDE0ODMwOSwgMTQ4MzEyLCAxNDgzMTUsIAorICAgIDE0ODMxOCwgMTQ4MzIxLCAxNDgzMjQsIDE0ODMyNywgMTQ4MzMwLCAxNDgzMzMsIDE0ODMzNiwgMTQ4MzM5LCAxNDgzNDIsIAorICAgIDE0ODM0NSwgMTQ4MzQ4LCAxNDgzNTEsIDE0ODM1NCwgMTQ4MzU3LCAxNDgzNjAsIDE0ODM2MywgMTQ4MzY2LCAxNDgzNjksIAorICAgIDE0ODM3MiwgMTQ4Mzc1LCAxNDgzNzgsIDE0ODM4MSwgMTQ4Mzg0LCAxNDgzODcsIDE0ODM5MCwgMTQ4MzkzLCAxNDgzOTYsIAorICAgIDE0ODM5OSwgMTQ4NDAyLCAxNDg0MDUsIDE0ODQwOCwgMTQ4NDExLCAxNDg0MTQsIDE0ODQxNywgMTQ4NDIwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNDg0MjMsIDE0ODQyNSwgMTQ4NDI3LCAxNDg0MzIsIAorICAgIDE0ODQzNCwgMTQ4NDM5LCAxNDg0NDEsIDE0ODQ0NiwgMTQ4NDQ4LCAxNDg0NTMsIDE0ODQ1NSwgMTQ4NDU3LCAxNDg0NTksIAorICAgIDE0ODQ2MSwgMTQ4NDYzLCAxNDg0NjUsIDE0ODQ2NywgMTQ4NDY5LCAxNDg0NzEsIDE0ODQ3NCwgMTQ4NDc3LCAxNDg0NzksIAorICAgIDE0ODQ4MSwgMTQ4NDg1LCAxNDg0ODgsIDE0ODQ5MywgMTQ4NDk1LCAxNDg0OTcsIDE0ODQ5OSwgMTQ4NTAzLCAxNDg1MDYsIAorICAgIDE0ODUwOCwgMTQ4NTEyLCAxNDg1MTQsIDE0ODUxOCwgMTQ4NTIwLCAxNDg1MjQsIDE0ODUyNywgMTQ4NTI5LCAxNDg1MzMsIAorICAgIDE0ODUzNywgMTQ4NTM5LCAxNDg1NDUsIDE0ODU0NywgMTQ4NTUyLCAxNDg1NTQsIDE0ODU1OSwgMTQ4NTYxLCAxNDg1NjYsIAorICAgIDE0ODU2OCwgMTQ4NTczLCAxNDg1NzUsIDE0ODU3OCwgMTQ4NTgwLCAxNDg1ODQsIDE0ODU4NiwgMTQ4NTkzLCAxNDg1OTUsIAorICAgIDE0ODU5NywgMTQ4NTk5LCAxNDg2MDQsIDE0ODYwNiwgMTQ4NjA4LCAxNDg2MTAsIDE0ODYxMiwgMTQ4NjE0LCAxNDg2MTksIAorICAgIDE0ODYyMywgMTQ4NjI1LCAxNDg2MzAsIDE0ODYzNCwgMTQ4NjM2LCAxNDg2NDEsIDE0ODY0NSwgMTQ4NjQ3LCAxNDg2NTIsIAorICAgIDE0ODY1NiwgMTQ4NjU4LCAxNDg2NjAsIDE0ODY2MiwgMTQ4NjY0LCAxNDg2NjgsIDE0ODY3MCwgMTQ4Njc1LCAxNDg2NzcsIAorICAgIDE0ODY4MywgMTQ4Njg1LCAxNDg2OTEsIDE0ODY5MywgMTQ4Njk1LCAxNDg2OTcsIDE0ODcwMSwgMTQ4NzAzLCAxNDg3MTAsIAorICAgIDE0ODcxMiwgMTQ4NzE5LCAxNDg3MjEsIDE0ODcyNiwgMTQ4NzMxLCAxNDg3MzMsIDE0ODczOSwgMTQ4NzQ1LCAxNDg3NDcsIAorICAgIDE0ODc1MywgMTQ4NzU4LCAxNDg3NjAsIDE0ODc2NiwgMTQ4NzcyLCAxNDg3NzQsIDE0ODc4MCwgMTQ4Nzg2LCAxNDg3ODgsIAorICAgIDE0ODc5NCwgMTQ4Nzk4LCAxNDg4MDAsIDE0ODgwNSwgMTQ4ODA3LCAxNDg4MDksIDE0ODgxNCwgMTQ4ODE2LCAxNDg4MTgsIAorICAgIDE0ODgyNCwgMTQ4ODI2LCAxNDg4MzEsIDE0ODgzNSwgMTQ4ODM3LCAxNDg4NDIsIDE0ODg0NiwgMTQ4ODQ4LCAxNDg4NTQsIAorICAgIDE0ODg1NiwgMTQ4ODYwLCAxNDg4NjIsIDE0ODg2NiwgMTQ4ODY4LCAxNDg4NzUsIDE0ODg4MiwgMTQ4ODg0LCAxNDg4OTEsIAorICAgIDE0ODg5OCwgMTQ4OTAwLCAxNDg5MDUsIDE0ODkwNywgMTQ4OTE0LCAxNDg5MTYsIDE0ODkyMSwgMTQ4OTIzLCAxNDg5MjksIAorICAgIDE0ODkzMSwgMTQ4OTM1LCAxNDg5MzcsIDE0ODk0MywgMTQ4OTQ1LCAxNDg5NDksIDE0ODk1MSwgMTQ4OTU3LCAxNDg5NTksIAorICAgIDE0ODk2MSwgMTQ4OTYzLCAxNDg5NjgsIDE0ODk3MywgMTQ4OTc1LCAxNDg5NzcsIDE0ODk4NywgMTQ4OTkxLCAxNDg5OTgsIAorICAgIDE0OTAwNSwgMTQ5MDEwLCAxNDkwMTUsIDE0OTAyNywgMTQ5MDI5LCAxNDkwMzEsIDE0OTAzMywgMTQ5MDM1LCAxNDkwMzcsIAorICAgIDE0OTAzOSwgMTQ5MDQxLCAxNDkwNDMsIDE0OTA0NSwgMTQ5MDQ3LCAxNDkwNDksIDE0OTA1MSwgMTQ5MDUzLCAxNDkwNTUsIAorICAgIDE0OTA1NywgMTQ5MDU5LCAxNDkwNjEsIDE0OTA2MywgMTQ5MDY1LCAxNDkwNjcsIDE0OTA2OSwgMTQ5MDc1LCAxNDkwODIsIAorICAgIDE0OTA4NywgMTQ5MDkyLCAxNDkxMDMsIDE0OTEwNSwgMTQ5MTA3LCAxNDkxMDksIDE0OTExMSwgMTQ5MTEzLCAxNDkxMTUsIAorICAgIDE0OTExNywgMTQ5MTE5LCAxNDkxMjEsIDE0OTEyMywgMTQ5MTI1LCAxNDkxMjcsIDE0OTEyOSwgMTQ5MTMxLCAxNDkxMzMsIAorICAgIDE0OTEzNSwgMTQ5MTQwLCAxNDkxNDIsIDE0OTE0NCwgMTQ5MTUwLCAxNDkxNjIsIDE0OTE3MywgMTQ5MTc1LCAxNDkxNzcsIAorICAgIDE0OTE3OSwgMTQ5MTgxLCAxNDkxODMsIDE0OTE4NSwgMTQ5MTg3LCAxNDkxODksIDE0OTE5MSwgMTQ5MTkzLCAxNDkxOTUsIAorICAgIDE0OTE5NywgMTQ5MTk5LCAxNDkyMDEsIDE0OTIwMywgMTQ5MjA1LCAxNDkyMDcsIDE0OTIwOSwgMTQ5MjExLCAxNDkyMTMsIAorICAgIDE0OTIxNSwgMTQ5MjE3LCAxNDkyMTksIDE0OTIyMSwgMTQ5MjIzLCAxNDkyMjUsIDE0OTIyNywgMTQ5MjI5LCAxNDkyMzEsIAorICAgIDE0OTIzMywgMTQ5MjM1LCAxNDkyMzcsIDE0OTIzOSwgMTQ5MjQxLCAxNDkyNDMsIDE0OTI0NSwgMTQ5MjQ3LCAxNDkyNDksIAorICAgIDE0OTI1MSwgMTQ5MjUzLCAxNDkyNTUsIDE0OTI1NywgMTQ5MjU5LCAxNDkyNjEsIDE0OTI2MywgMTQ5MjY1LCAxNDkyNjcsIAorICAgIDE0OTI2OSwgMTQ5MjcxLCAxNDkyNzMsIDE0OTI3NSwgMTQ5Mjc3LCAxNDkyNzksIDE0OTI4MSwgMTQ5MjgzLCAxNDkyODUsIAorICAgIDE0OTI4NywgMTQ5Mjg5LCAxNDkyOTEsIDE0OTI5MywgMTQ5Mjk1LCAxNDkyOTcsIDE0OTI5OSwgMTQ5MzAxLCAxNDkzMDMsIAorICAgIDE0OTMwNSwgMTQ5MzA3LCAxNDkzMDksIDE0OTMxMSwgMTQ5MzEzLCAxNDkzMTUsIDE0OTMxNywgMTQ5MzE5LCAxNDkzMjEsIAorICAgIDE0OTMyMywgMTQ5MzI1LCAxNDkzMjcsIDE0OTMyOSwgMTQ5MzMxLCAxNDkzMzMsIDE0OTMzNSwgMTQ5MzM3LCAxNDkzMzksIAorICAgIDE0OTM0MSwgMTQ5MzQzLCAxNDkzNDUsIDE0OTM0NywgMTQ5MzQ5LCAxNDkzNTEsIDE0OTM1MywgMTQ5MzU1LCAxNDkzNTcsIAorICAgIDE0OTM1OSwgMTQ5MzYxLCAxNDkzNjMsIDE0OTM2NSwgMTQ5MzY3LCAxNDkzNjksIDE0OTM3MSwgMTQ5MzczLCAxNDkzNzUsIAorICAgIDE0OTM3NywgMTQ5Mzc5LCAxNDkzODEsIDE0OTM4MywgMTQ5Mzg1LCAxNDkzODcsIDE0OTM4OSwgMTQ5MzkxLCAxNDkzOTMsIAorICAgIDE0OTM5NSwgMTQ5Mzk3LCAxNDkzOTksIDE0OTQwMSwgMTQ5NDAzLCAxNDk0MDUsIDE0OTQwNywgMTQ5NDA5LCAxNDk0MTEsIAorICAgIDE0OTQxMywgMTQ5NDE1LCAxNDk0MTcsIDE0OTQxOSwgMTQ5NDIxLCAxNDk0MjMsIDE0OTQyNSwgMTQ5NDI3LCAxNDk0MjksIAorICAgIDE0OTQzMSwgMTQ5NDMzLCAxNDk0MzUsIDE0OTQzNywgMTQ5NDM5LCAxNDk0NDEsIDE0OTQ0MywgMTQ5NDQ1LCAxNDk0NDcsIAorICAgIDE0OTQ0OSwgMTQ5NDUxLCAxNDk0NTMsIDE0OTQ1NSwgMTQ5NDU3LCAxNDk0NTksIDE0OTQ2MSwgMTQ5NDYzLCAxNDk0NjUsIAorICAgIDE0OTQ2NywgMTQ5NDY5LCAxNDk0NzEsIDE0OTQ3MywgMTQ5NDc1LCAxNDk0NzcsIDE0OTQ3OSwgMTQ5NDgxLCAxNDk0ODMsIAorICAgIDE0OTQ4NSwgMTQ5NDg3LCAxNDk0ODksIDE0OTQ5MSwgMTQ5NDkzLCAxNDk0OTUsIDE0OTQ5NywgMTQ5NDk5LCAxNDk1MDEsIAorICAgIDE0OTUwMywgMTQ5NTA1LCAxNDk1MDcsIDE0OTUwOSwgMTQ5NTExLCAxNDk1MTMsIDE0OTUxNSwgMTQ5NTE3LCAxNDk1MTksIAorICAgIDE0OTUyMSwgMTQ5NTIzLCAxNDk1MjUsIDE0OTUyNywgMTQ5NTI5LCAxNDk1MzEsIDE0OTUzMywgMTQ5NTM1LCAxNDk1MzcsIAorICAgIDE0OTUzOSwgMTQ5NTQxLCAxNDk1NDMsIDE0OTU0NSwgMTQ5NTQ3LCAxNDk1NDksIDE0OTU1MSwgMTQ5NTUzLCAxNDk1NTUsIAorICAgIDE0OTU1NywgMTQ5NTU5LCAxNDk1NjEsIDE0OTU2MywgMTQ5NTY1LCAxNDk1NjcsIDE0OTU2OSwgMTQ5NTcxLCAxNDk1NzMsIAorICAgIDE0OTU3NSwgMTQ5NTc3LCAxNDk1NzksIDE0OTU4MSwgMTQ5NTgzLCAxNDk1ODUsIDE0OTU4NywgMTQ5NTg5LCAxNDk1OTEsIAorICAgIDE0OTU5MywgMTQ5NTk1LCAxNDk1OTcsIDE0OTU5OSwgMTQ5NjAxLCAxNDk2MDMsIDE0OTYwNSwgMTQ5NjA3LCAxNDk2MDksIAorICAgIDE0OTYxMSwgMTQ5NjEzLCAxNDk2MTUsIDE0OTYxNywgMTQ5NjE5LCAxNDk2MjEsIDE0OTYyMywgMTQ5NjI1LCAxNDk2MjcsIAorICAgIDE0OTYyOSwgMTQ5NjMxLCAxNDk2MzMsIDE0OTYzNSwgMTQ5NjM3LCAxNDk2MzksIDE0OTY0MSwgMTQ5NjQzLCAxNDk2NDUsIAorICAgIDE0OTY0NywgMTQ5NjQ5LCAxNDk2NTEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE0OTY1MywgMTQ5NjYzLCAxNDk2NzMsIAorICAgIDE0OTY4MiwgMTQ5NjkxLCAxNDk3MDQsIDE0OTcxNywgMTQ5NzI5LCAxNDk3NDEsIDE0OTc1MSwgMTQ5NzYxLCAxNDk3NzEsIAorICAgIDE0OTc4MSwgMTQ5NzkyLCAxNDk4MDMsIDE0OTgxMywgMTQ5ODIyLCAxNDk4MzEsIDE0OTg0MCwgMTQ5ODUzLCAxNDk4NjYsIAorICAgIDE0OTg3OCwgMTQ5ODkwLCAxNDk5MDAsIDE0OTkxMCwgMTQ5OTIwLCAxNDk5MzAsIDE0OTkzOSwgMTQ5OTQ4LCAxNDk5NTgsIAorICAgIDE0OTk2OCwgMTQ5OTc3LCAxNDk5ODYsIDE0OTk5NiwgMTUwMDA2LCAxNTAwMTUsIDE1MDAyNCwgMTUwMDM0LCAxNTAwNDQsIAorICAgIDE1MDA1NSwgMTUwMDY2LCAxNTAwNzYsIDE1MDA4OSwgMTUwMTAwLCAxNTAxMTQsIDE1MDEyMiwgMTUwMTMzLCAxNTAxNDEsIAorICAgIDE1MDE0OSwgMTUwMTU3LCAxNTAxNjUsIDE1MDE3MywgMTUwMTgxLCAxNTAxOTAsIDE1MDE5OSwgMTUwMjA5LCAxNTAyMTksIAorICAgIDE1MDIyOCwgMTUwMjM3LCAxNTAyNDcsIDE1MDI1NywgMTUwMjY1LCAxNTAyNzQsIDE1MDI4MiwgMTUwMjkxLCAxNTAyOTksIAorICAgIDE1MDMwNywgMTUwMzE0LCAxNTAzMjQsIDE1MDMzMywgMTUwMzQ0LCAxNTAzNTUsIDE1MDM2NywgMTUwMzc4LCAxNTAzODgsIAorICAgIDE1MDM5OSwgMTUwNDA5LCAxNTA0MjAsIDE1MDQyOCwgMTUwNDMyLCAxNTA0MzYsIDE1MDQ0MCwgMTUwNDQ0LCAxNTA0NDgsIAorICAgIDE1MDQ1MiwgMTUwNDU2LCAxNTA0NjAsIDE1MDQ2NCwgMTUwNDY4LCAxNTA0NzIsIDE1MDQ3NiwgMTUwNDc5LCAxNTA0ODIsIAorICAgIDE1MDQ4NiwgMTUwNDkwLCAxNTA0OTQsIDE1MDQ5OCwgMTUwNTAyLCAxNTA1MDYsIDE1MDUxMCwgMTUwNTE0LCAxNTA1MTcsIAorICAgIDE1MDUyMSwgMTUwNTI1LCAxNTA1MjksIDE1MDUzMywgMTUwNTM3LCAxNTA1NDEsIDE1MDU0NSwgMTUwNTQ5LCAxNTA1NTMsIAorICAgIDE1MDU1NywgMTUwNTYxLCAxNTA1NjUsIDE1MDU2OSwgMTUwNTczLCAxNTA1NzcsIDE1MDU4MSwgMTUwNTg1LCAxNTA1ODksIAorICAgIDE1MDU5MywgMTUwNTk3LCAxNTA2MDEsIDE1MDYwNSwgMTUwNjA5LCAxNTA2MTMsIDE1MDYxNywgMTUwNjIxLCAxNTA2MjUsIAorICAgIDE1MDYyOSwgMTUwNjMzLCAxNTA2MzcsIDE1MDY0MSwgMTUwNjQ1LCAxNTA2NDksIDE1MDY1MywgMTUwNjU3LCAxNTA2NjEsIAorICAgIDE1MDY2NSwgMTUwNjY5LCAxNTA2NzMsIDE1MDY3NywgMTUwNjgxLCAxNTA2ODUsIDE1MDY4OSwgMTUwNjkzLCAxNTA2OTcsIAorICAgIDE1MDcwMSwgMTUwNzA1LCAxNTA3MDksIDE1MDcxMywgMTUwNzE3LCAxNTA3MjEsIDE1MDcyNSwgMTUwNzI5LCAxNTA3MzMsIAorICAgIDE1MDczNywgMTUwNzQxLCAxNTA3NDUsIDE1MDc0OSwgMTUwNzUzLCAxNTA3NTcsIDE1MDc2MSwgMTUwNzY1LCAxNTA3NjksIAorICAgIDE1MDc3MywgMTUwNzc3LCAxNTA3ODEsIDE1MDc4NSwgMTUwNzg5LCAxNTA3OTMsIDE1MDc5NywgMTUwODAxLCAxNTA4MDUsIAorICAgIDE1MDgwOSwgMTUwODEzLCAxNTA4MTcsIDE1MDgyMSwgMTUwODI0LCAxNTA4MjgsIDE1MDgzMiwgMTUwODM2LCAxNTA4NDAsIAorICAgIDE1MDg0NCwgMTUwODQ4LCAxNTA4NTIsIDE1MDg1NiwgMTUwODYwLCAxNTA4NjQsIDE1MDg2OCwgMTUwODcyLCAxNTA4NzYsIAorICAgIDE1MDg4MCwgMTUwODg0LCAxNTA4ODgsIDE1MDg5MiwgMTUwODk2LCAxNTA5MDAsIDE1MDkwNCwgMTUwOTA4LCAxNTA5MTIsIAorICAgIDE1MDkxNiwgMTUwOTIwLCAxNTA5MjQsIDE1MDkyOCwgMTUwOTMyLCAxNTA5MzYsIDE1MDk0MCwgMTUwOTQ0LCAxNTA5NDgsIAorICAgIDE1MDk1MiwgMTUwOTU2LCAxNTA5NjAsIDE1MDk2NCwgMTUwOTY4LCAxNTA5NzIsIDE1MDk3NiwgMTUwOTgwLCAxNTA5ODQsIAorICAgIDE1MDk4OCwgMTUwOTkyLCAxNTA5OTYsIDE1MTAwMCwgMTUxMDA0LCAxNTEwMDgsIDE1MTAxMiwgMTUxMDE2LCAxNTEwMjAsIAorICAgIDE1MTAyNCwgMTUxMDI4LCAxNTEwMzIsIDE1MTAzNiwgMTUxMDQwLCAxNTEwNDQsIDE1MTA0OCwgMTUxMDUyLCAxNTEwNTYsIAorICAgIDE1MTA2MCwgMTUxMDY0LCAxNTEwNjgsIDE1MTA3MiwgMTUxMDc2LCAxNTEwODAsIDE1MTA4NCwgMTUxMDg4LCAxNTEwOTIsIAorICAgIDE1MTA5NiwgMTUxMTAwLCAxNTExMDQsIDE1MTEwOCwgMTUxMTEyLCAxNTExMTYsIDE1MTEyMCwgMTUxMTI0LCAxNTExMjgsIAorICAgIDE1MTEzMiwgMTUxMTM2LCAxNTExNDAsIDE1MTE0NCwgMTUxMTQ4LCAxNTExNTIsIDE1MTE1NiwgMTUxMTYwLCAxNTExNjQsIAorICAgIDE1MTE2OCwgMTUxMTcyLCAxNTExNzYsIDE1MTE4MCwgMTUxMTg0LCAxNTExODgsIDE1MTE5MiwgMTUxMTk2LCAxNTEyMDAsIAorICAgIDE1MTIwNCwgMTUxMjA4LCAxNTEyMTIsIDE1MTIxNiwgMTUxMjIwLCAxNTEyMjQsIDE1MTIyOCwgMTUxMjMyLCAxNTEyMzYsIAorICAgIDE1MTI0MCwgMTUxMjQ0LCAxNTEyNDgsIDE1MTI1MiwgMTUxMjU2LCAxNTEyNjAsIDE1MTI2NCwgMTUxMjY4LCAxNTEyNzIsIAorICAgIDE1MTI3NiwgMTUxMjgwLCAxNTEyODQsIDE1MTI4OCwgMTUxMjkyLCAxNTEyOTYsIDE1MTMwMCwgMTUxMzA0LCAxNTEzMDgsIAorICAgIDE1MTMxMiwgMTUxMzE2LCAxNTEzMjAsIDE1MTMyNCwgMTUxMzI4LCAxNTEzMzIsIDE1MTMzNiwgMTUxMzQwLCAxNTEzNDQsIAorICAgIDE1MTM0OCwgMTUxMzUyLCAxNTEzNTYsIDE1MTM2MCwgMTUxMzY0LCAxNTEzNjgsIDE1MTM3MiwgMTUxMzc2LCAxNTEzODAsIAorICAgIDE1MTM4NCwgMTUxMzg4LCAxNTEzOTIsIDE1MTM5NiwgMTUxNDAwLCAxNTE0MDQsIDE1MTQwOCwgMTUxNDEyLCAxNTE0MTYsIAorICAgIDE1MTQyMCwgMTUxNDI0LCAxNTE0MjgsIDE1MTQzMiwgMTUxNDM2LCAxNTE0NDAsIDE1MTQ0NCwgMTUxNDQ4LCAxNTE0NTIsIAorICAgIDE1MTQ1NiwgMTUxNDYwLCAxNTE0NjQsIDE1MTQ2OCwgMTUxNDcyLCAxNTE0NzYsIDE1MTQ4MCwgMTUxNDg0LCAxNTE0ODgsIAorICAgIDE1MTQ5MiwgMTUxNDk2LCAxNTE1MDAsIDE1MTUwNCwgMTUxNTA4LCAxNTE1MTIsIDE1MTUxNiwgMTUxNTIwLCAxNTE1MjQsIAorICAgIDE1MTUyOCwgMTUxNTMyLCAxNTE1MzYsIDE1MTU0MCwgMTUxNTQ0LCAxNTE1NDgsIDE1MTU1MiwgMTUxNTU2LCAxNTE1NjAsIAorICAgIDE1MTU2NCwgMTUxNTY4LCAxNTE1NzIsIDE1MTU3NiwgMTUxNTgwLCAxNTE1ODQsIDE1MTU4OCwgMTUxNTkzLCAxNTE1OTgsIAorICAgIDE1MTYwMywgMTUxNjA3LCAxNTE2MTMsIDE1MTYyMCwgMTUxNjI3LCAxNTE2MzQsIDE1MTY0MSwgMTUxNjQ4LCAxNTE2NTUsIAorICAgIDE1MTY2MiwgMTUxNjY5LCAxNTE2NzYsIDE1MTY4MywgMTUxNjkwLCAxNTE2OTcsIDE1MTcwNCwgMTUxNzEwLCAxNTE3MTcsIAorICAgIDE1MTcyNCwgMTUxNzMwLCAxNTE3MzcsIDE1MTc0NCwgMTUxNzUxLCAxNTE3NTgsIDE1MTc2NSwgMTUxNzcyLCAxNTE3NzksIAorICAgIDE1MTc4NiwgMTUxNzkzLCAxNTE4MDAsIDE1MTgwNywgMTUxODE0LCAxNTE4MjEsIDE1MTgyOCwgMTUxODM0LCAxNTE4NDEsIAorICAgIDE1MTg0OCwgMTUxODU3LCAxNTE4NjYsIDE1MTg3NSwgMTUxODg0LCAxNTE4ODksIDE1MTg5NCwgMTUxOTAwLCAxNTE5MDYsIAorICAgIDE1MTkxMiwgMTUxOTE4LCAxNTE5MjQsIDE1MTkzMCwgMTUxOTM2LCAxNTE5NDIsIDE1MTk0OCwgMTUxOTU0LCAxNTE5NjAsIAorICAgIDE1MTk2NiwgMTUxOTcxLCAxNTE5NzcsIDE1MTk4NywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiB9OwogCiAvKiBuYW1lLT5jb2RlIGRpY3Rpb25hcnkgKi8KIHN0YXRpYyB1bnNpZ25lZCBpbnQgY29kZV9oYXNoW10gPSB7Ci0gICAgNzQyMjQsIDQ4NTEsIDAsIDc4MTU2LCA3ODQ5OSwgMTI4Njg1LCA3OTI5LCAwLCAxOTQ2ODIsIDEyNzc2NiwgNzg1MDAsIAotICAgIDY2NDgwLCAwLCA0MjgzMywgNzQ1MjksIDEyMDY0LCAwLCA1OTYsIDk4MzgyMSwgNjk4NTAsIDEzMTkyLCA4NjUxLCAwLCAwLCAKLSAgICAxMjAyMTgsIDEyOTk1LCA2NDg2NSwgMTM3MywgMCwgMCwgNTgxNiwgMTE5MDY3LCA2NDgxMCwgNDIzMSwgNjgyNSwgNDI4OTcsIAotICAgIDQyMzMsIDQyMzQsIDQyMzIsIDkxNzgzNiwgNzQ0MTUsIDEyMDIxMCwgNjM4NCwgOTE3ODQwLCA3ODEwOCwgODg1MSwgMCwgCi0gICAgMTI4NTUzLCAwLCA0MTYwMSwgODg3NCwgOTgzNzgzLCA3NzQ4LCAwLCAwLCAwLCAxMjc5MzksIDQxNjAzLCA5Nzg0LCAwLCAKLSAgICA5MTg4LCA0MTYwMCwgMCwgMTIwNjE4LCAxMjgzNDMsIDE0NTcsIDM1MzUsIDAsIDAsIDAsIDAsIDY1MjQwLCAxMTk1MSwgMCwgCi0gICAgMzQwNCwgMCwgMCwgMCwgMTc1OSwgMCwgNDEwNzYsIDY4MzgzLCAxMjA1NzIsIDExOTIwNSwgNjY1NzcsIDk0MDE0LCAKLSAgICAxMjc3NjQsIDY1ODU5LCAwLCA3NDA0LCAwLCAwLCAwLCAwLCA2NTkwOCwgOTgzNCwgMzA1NSwgOTg1MiwgOTgzODYwLCAKLSAgICA2NTI4OCwgMCwgMTEzOTgsIDAsIDkyNDE3LCAxMTkyNTUsIDAsIDAsIDYwMywgNzQzOTgsIDQzNTQ4LCAwLCAwLCA5MTc4MjQsIAotICAgIDMzNTAsIDEyMDgxNywgNjQzMTgsIDkxNzgyOCwgMTI3MDg5LCAzMzkwLCA3NDQ4MywgNDMyNjUsIDEyMDU5OSwgOTE3ODMwLCAKLSAgICA3ODU3MywgMCwgMTkxOSwgMzQwMCwgMTIwNjUxLCAxMjc5NDQsIDExNjQ3LCA5MTc1NDAsIDY2NDQ2LCA2NDE0MSwgODU2MiwgCisgICAgNzQyMjQsIDQ4NTEsIDEyNTEzOCwgNzgxNTYsIDc4NDk5LCA3MjM5MSwgNzkyOSwgNjY5MTAsIDE5NDY4MiwgMTI3NzY2LCAKKyAgICA3ODUwMCwgNjY0ODAsIDY0MDM4LCA0MjgzMywgNzQ1MjksIDEyMDY0LCA3MjM4NSwgNTk2LCA5ODM4MjEsIDY5ODUwLCAKKyAgICAxMzE5MiwgODY1MSwgMTIwMjE3LCAxMjY1NDIsIDEyMDIxOCwgMTI5OTUsIDY0ODY1LCAxMzczLCAwLCAxMTM3NTIsIDU4MTYsIAorICAgIDExOTA2NywgNjQ4MTAsIDQyMzEsIDY4MjUsIDQyODk3LCA0MjMzLCA0MjM0LCA0MjMyLCA5MTc4MzYsIDc0NDE1LCAKKyAgICAxMjAyMTAsIDYzODQsIDcwMzUxLCA3ODEwOCwgODg1MSwgNjc2OTgsIDEyODU1MywgMCwgNDE2MDEsIDg4NzQsIDcyMzkyLCAKKyAgICA3NzQ4LCAwLCAwLCAxMjcwMjYsIDEyNzkzOSwgNDE2MDMsIDk3ODQsIDAsIDkxODgsIDQxNjAwLCAwLCAxMjA2MTgsIAorICAgIDEyODM0MywgMTQ1NywgMzUzNSwgMTI4NjM1LCA2MzgxLCAwLCAwLCA2NTI0MCwgMTE5NTEsIDAsIDM0MDQsIDAsIDcwNDg3LCAKKyAgICA3MjQxMSwgMTc1OSwgMCwgNDEwNzYsIDY4MzgzLCA2OTk3MiwgMTE5MjA1LCA2NjU3NywgOTQwMTQsIDEyNzc2NCwgNjU4NTksIAorICAgIDAsIDc0MDQsIDAsIDAsIDY5OTcwLCAxMjgzODcsIDY1OTA4LCA5ODM0LCAzMDU1LCA5ODUyLCA5ODM4NjAsIDY1Mjg4LCAwLCAKKyAgICAxMTM5OCwgMCwgOTI0MTcsIDkzMDE2LCAxMjgzODAsIDAsIDYwMywgNzQzOTgsIDQzNTQ4LCAwLCA3MTg2NSwgOTE3ODI0LCAKKyAgICAzMzUwLCAxMjA4MTcsIDY0MzE4LCA5MTc4MjgsIDc4MTIxLCAzMzkwLCA3NDQ4MywgNDMyNjUsIDEyMDU5OSwgOTE3ODMwLCAKKyAgICA3ODU3MywgMCwgMTkxOSwgMzQwMCwgMTIwNjUxLCAxMTk5NDksIDExNjQ3LCA5MTc1NDAsIDY2NDQ2LCA2NDE0MSwgODU2MiwgCiAgICAgMjEyMSwgNjQxMzgsIDQwNDMsIDg3MTIsIDY0MTM0LCA2NDEzMywgMTEyOTcsIDk4MzY4OCwgOTgzMTUyLCAxMTk2NiwgCi0gICAgNjQxMjgsIDEyODU4NywgMCwgMCwgNjQxMzIsIDEwODY3LCA2NDEzMCwgNjQxMjksIDk4Mzg0NCwgNDMzNzQsIDk3NzksIAotICAgIDI3NjQsIDY2MDAyLCAxMDE2NywgOTQ3MSwgMCwgNjYwMjEsIDAsIDAsIDU0NTcsIDU0NDAsIDg4NTcsIDkzOTgxLCA2NTI4MiwgCi0gICAgMjg0MywgNTM1NSwgMTI3OTI4LCA5ODM5NjUsIDAsIDUxOTQsIDExNjU3LCA0Mzk4NCwgMTI4MjkyLCAwLCA5ODM2MjAsIDAsIAotICAgIDAsIDEyNzAyNywgMTA3MTcsIDY0NTcwLCA1NjMwLCA1Mzk2LCA2NDE0MywgMTA2ODIsIDAsIDEwNjAyLCA4MDAsIDQyNDk5LCAKLSAgICA2NjE4NiwgMCwgMCwgNjQ5MzAsIDExNjMxLCA2NDE0NiwgNjQxNDUsIDY0MTQ0LCA3NjIsIDEzMTcyLCAxMTg4NTksIAotICAgIDE5NDY2MSwgNjQ0NjgsIDEwOTA2LCAxMzUzLCA2OTYwLCAwLCAwLCA1ODI4LCA4NzI0LCA5MTc4MDYsIDg5MzMsIDE2MDEsIAotICAgIDQyMjQ0LCA4NTgsIDcwODAsIDY0MTA5LCA2NDEwOCwgODA5MCwgMCwgNzQ0MDEsIDkxNzgxMSwgNTg3LCAwLCAxMjgxMzEsIAotICAgIDAsIDAsIDAsIDc4MjE0LCAyNzUwLCA3NDIxOCwgNTU2LCA2NDE1OCwgNjQxNTcsIDk4Mzk0OSwgMTIyMTMsIDE5NDY3OCwgCi0gICAgMjc2MCwgMCwgMCwgMCwgMTk0Nzk0LCA2NDE1NiwgNjQxNTUsIDQyNDk2LCAwLCA2NDE1MSwgNjQxNTAsIDEyNjc5LCAKLSAgICAxMDA1MywgMTA0MjEsIDExMDkzLCA2NDE1MywgNjQxNTIsIDAsIDAsIDQ4MzksIDAsIDAsIDE4NzQsIDExOTAxNiwgMCwgCi0gICAgNjU3NywgNjQxMjUsIDY0MTI0LCA2NDEyMywgMCwgMTI3NTMxLCA5MjUzNCwgNzAwNywgNzU5MCwgNjU0NDMsIDkwMzYsIAotICAgIDkyNTUwLCA2NDEyMiwgNzQ0MjIsIDY2NjA5LCAwLCA2NDExNywgNjQxMTYsIDYyODcsIDY0MTE0LCAyNzI1LCA2NDEyMCwgCi0gICAgNjQxMTksIDQzOTgxLCA0MjEyOCwgMTI3ODQyLCAxMTc3LCA2NTYwMSwgMTIzMjIsIDY0MTA2LCA2OTY0MCwgMTI3MzA2LCAKLSAgICA2NDEwMiwgNzg1OSwgMTk0NSwgNjQwOTksIDAsIDEwNDUzLCA2NDEwNCwgNzE4OCwgNzk5NywgMCwgNzM4OSwgOTgzMTYxLCAKLSAgICA4NzA1LCA2NDA5NywgNjQwOTYsIDk1NzEsIDUyOCwgMTI4NjcxLCA0NDAxNywgMTE0MjksIDcxMzQ3LCAwLCA5ODMwNzcsIAotICAgIDkxNzk5MCwgNzM4NDEsIDAsIDAsIDkwNTYsIDY0MzEzLCA2MTg4LCAxMjAwMTksIDYxNTUsIDY0MDY4LCAxODIzLCA2NDA2NiwgCi0gICAgNjQwNjUsIDY0MDcyLCA2NDA3MSwgNjMsIDcyMzMsIDkyMjEyLCAwLCA0MTkwNCwgNjYzOSwgNjQwNjQsIDk4Mzc3NSwgCi0gICAgMTI4MzQ0LCAwLCAxMTc2LCAxMTg5NTksIDEyNzkzMCwgODE2MiwgMTI4NjY3LCA5ODM4MzEsIDAsIDEyMDUxOSwgNjYzNzYsIAotICAgIDY2MjQyLCAxMTQxNSwgNDMzMywgOTg1NSwgNjQxMTIsIDY0NjQyLCAwLCA1Mzg4LCAwLCAwLCAwLCA3NzE0LCA2NjIyMiwgCi0gICAgNjk5MDIsIDc3NjgsIDAsIDQxOTksIDY0NzA4LCA5ODM0MjEsIDAsIDAsIDg3MDgsIDk1NjAsIDY0MDc3LCA2NDA3NiwgCi0gICAgODk5NiwgNDk5MiwgNDQ3MSwgNDI2MjIsIDY0MDc5LCA2NDA3OCwgOTIxNzksIDAsIDEyNjU3MCwgMCwgNjQ2MTUsIDQxOTE1LCAKLSAgICAwLCAxMjA3NSwgNzAwNjIsIDAsIDUxNzQsIDk4MzIxNywgMCwgMTI3NTU3LCAzMTIzLCAwLCAxMjY4NSwgMTI3OTA0LCAKLSAgICA4NDA4LCA2NDcwNCwgMCwgMCwgOTIyMywgMCwgNDE2MTYsIDY3OTk5LCA3Mzc5NywgMCwgMTExNiwgMTI4MjA0LCA0MzA0OSwgCi0gICAgNzEzNiwgNDMwNTAsIDg1NDgsIDEyMDQ4NSwgMCwgMTE5MDYxLCA5MTc5OTksIDAsIDEzMTE1LCA0MzY3NSwgNjQwOTEsIAotICAgIDkzMjIsIDAsIDEyMDU5NSwgNjQwOTUsIDY0MDk0LCA4MTExLCA2NjI0NywgNDIzMzIsIDY0MDg5LCA2NDA4OCwgNjE5OSwgMCwgCi0gICAgMCwgMTE0MzQsIDY0MDgzLCA2NDA4MiwgMTEzMjksIDc3MzcsIDY0MDg3LCA2NDA4NiwgNjQwODUsIDY0MDg0LCAxOTQ4MTcsIAotICAgIDk5MjcsIDQxMzM1LCA0MTE4LCAxNzk3LCAwLCA0MTMzNCwgMCwgNDYsIDQzNDQ4LCAxMjc4ODEsIDI5OCwgMCwgMTI4MTE0LCAKLSAgICAwLCA0MjYyNywgMCwgMzIsIDYxODcsIDExOTA1MiwgMTE0OTUsIDExNDU5LCAzNjY1LCA5ODM2MDAsIDQyODcxLCAwLCAKLSAgICAxOTkyMywgNzQzMzUsIDAsIDEyNzE5MiwgNjYyMzksIDQyMjY0LCA2NDQwMywgNDQxMiwgNzI0MCwgOTI0OTUsIDAsIAotICAgIDk4MzQ2NiwgNjU3NTgsIDEyNzUwLCA0MTgxLCA4NTQ0LCAwLCAxMjAxOTksIDkxNzg5NywgMTIwMTk4LCA2OTgwOSwgNjE4MSwgCi0gICAgNjUwMTQsIDAsIDAsIDk4MzE5NiwgMzYzOSwgMTE5NTg4LCAwLCAwLCAxMTg5MDQsIDEwMDczLCAxMjAyMDYsIDEyODg2MiwgCi0gICAgMTI3MTg2LCA2ODQwOSwgNDI4NDQsIDc0OTgsIDEwOTgsIDkyNTY1LCAxMjAyMDUsIDAsIDk4MzExOCwgMTAyMDcsIDg3ODksIAotICAgIDk4MzIyNSwgMCwgMCwgOTgzNDcyLCA5MjM0LCAwLCA2MTgyLCA5ODM0NzQsIDY1MDU4LCAwLCA5ODM0NzgsIDk4MzQ3NSwgMCwgCi0gICAgNTQ3MSwgOTQ2MSwgNTU3MywgMTE4OTM2LCA1NDczLCA0NCwgMCwgNjYyNDQsIDk0MDcyLCAwLCA2NjIzOCwgMTI4NDQsIDAsIAotICAgIDE2MjIsIDc3NjcsIDE5MDAsIDQxMzM5LCAxMTQ1OCwgMCwgMCwgNjU4MSwgNTU3NiwgMCwgNjQ0MDUsIDQxMzM3LCAwLCAKLSAgICA0MTYzMSwgODk0NywgNjgzOTAsIDEyNzg0NCwgNDE2OTQsIDAsIDAsIDc5MDgsIDAsIDEwNDA4LCA2NTc5LCAwLCA2NDYxOCwgCi0gICAgMCwgMTIwMTQ3LCAyMTM4LCA2NTgzLCA3NzYxLCAxMjcwMTAsIDEyMDUwNCwgMTk0ODI4LCAwLCA1MDU4LCA0MTAxMCwgCi0gICAgOTk5MiwgMTI4Mjk5LCA1MDU3LCAwLCAwLCA3NDUzOCwgNTA1NCwgMTE4OTUxLCAxOTQ5NzEsIDc4NjA2LCAwLCAxNDM3LCAKLSAgICA0MTYxNywgNjU4LCAzNDk3LCAxMjg1MDksIDc0ODYsIDUwNjEsIDUwNjAsIDQyMzUsIDEyNzg3OCwgMCwgMTI4NTI5LCAKLSAgICAxMjExMywgNDIzNiwgNDcyNywgMCwgMCwgNzY5MywgMTA3NDksIDAsIDc0ODgsIDU3NzMsIDk3OCwgMTI4MTM0LCAwLCAKLSAgICA0MTYxOSwgMTAyMzksIDY4NjExLCAwLCA2NjIwOSwgMCwgMTI4NzAwLCA5NzQ4LCA5ODM5NTYsIDEyNzUyNCwgMCwgMCwgMCwgCi0gICAgMCwgMTk1MDgzLCAwLCA5ODM4NDMsIDAsIDAsIDAsIDAsIDAsIDkzNDEsIDExOTU5NiwgMjM3OSwgMTEzMjUsIDAsIDY0NjY4LCAKLSAgICA2Nzg1NCwgODEyNSwgMTIwNTQ1LCA2NzQzLCAxMTkxNzUsIDkxNzk0MCwgMjM2OSwgMCwgOTgzOTcyLCA5ODM5NzMsIAotICAgIDExOTIzNSwgNzQwOTIsIDczOTM2LCA3MDA4LCA0MzY2MCwgMCwgMCwgMCwgMjM2NywgMTI3ODI3LCA5ODM4NTcsIDI2NCwgCi0gICAgMjM3NSwgODA2MCwgNjE5NCwgMTE5ODU4LCAxODQ0LCAxMTkwODQsIDAsIDYwMTksIDAsIDAsIDY5NjEsIDAsIDExODgzOSwgCi0gICAgMCwgODgwMCwgMCwgNDI4NjIsIDQ0NjMsIDY1NTgxLCA2MTkyLCAxOTQ2NzYsIDQyNzcxLCAwLCA5MjMzMywgNzI1LCAKLSAgICA2NTA0MiwgMTE4Nzk3LCAxMjA4MDAsIDk4MzA0MCwgMTI4OTIsIDAsIDAsIDAsIDAsIDAsIDAsIDEyNzI2MSwgMTIwNzA3LCAKLSAgICA5ODMxMjgsIDAsIDUwNzQsIDUwNzMsIDEyODc5MCwgODk4MywgMTE4OTgxLCA3NDQ5MywgOTgzNTYxLCA1MDcyLCA5Mzk3NywgCi0gICAgNjE5OCwgMTE2MTQsIDAsIDE5NiwgMCwgMCwgMCwgNDkyOSwgMTIwMzQyLCAwLCAwLCAwLCAwLCA0Mjg0NywgMCwgMCwgMCwgCi0gICAgNDkzNCwgMCwgNDEzMjMsIDk3NTgsIDAsIDkyMjg5LCAxMjc5MTcsIDQyNTg0LCAwLCA0MzI5LCA0MTMyMSwgNDk3OSwgCi0gICAgMzA0OCwgNzc1MiwgNDEzMjAsIDk4MzA0MiwgNzQ0MTgsIDEyODE5LCAwLCA1MDcxLCAwLCAzNjQyLCAwLCA1MDcwLCAKLSAgICAxMDA0MiwgMTE4ODM1LCAzOTg3LCA1MDY4LCAwLCA4OTA5LCA3ODY1MCwgNzg2NDksIDY5OTE3LCAxMDYzNiwgNzM5ODEsIAotICAgIDExODA2LCA0MzE2NywgNDUzMSwgMTI0NSwgOTEwNSwgNjY0NjMsIDQ5MjEsIDEyMDIxOSwgNDkyNiwgNjU1NDQsIDczODg0LCAKLSAgICAxOTQ2MTksIDAsIDAsIDY0NzA5LCAwLCAxOTQ2MjAsIDc4ODgwLCA0OTIyLCAzMjUsIDk5MiwgMTE5NTY4LCA0OTI1LCAwLCAKLSAgICAwLCA5NTI2LCA0OTIwLCAwLCA5NDgsIDAsIDEyMDIwOCwgNDkzMCwgMCwgOTIxNzUsIDEyMDI3NSwgNDkzMywgMTIwMjExLCAKLSAgICAwLCAxMTg5ODUsIDQ5MjgsIDAsIDAsIDc0NzcwLCAxMjAxOTQsIDEyNjU0OCwgNzIyLCAxOTQ5MzQsIDE5OTA4LCAxMjYzNywgCi0gICAgMTI3NDg1LCAxMTk4NTUsIDg3NTMsIDE1MDksIDAsIDU0NjgsIDk1MTEsIDEyNzQ3NCwgMTI3NDc3LCAxNjcyLCA2MjA1LCAKLSAgICAxMDg2NCwgNzQ1ODYsIDEyNzQ4MCwgNzAxMDMsIDEyNzQ2NiwgNzg1NTUsIDEyNzQ2OCwgNzM4NjMsIDEyNjU3NywgCi0gICAgMTI2NTAzLCA0MTYwNywgMTIwMTE1LCAxNjc5LCAxMjAxMTYsIDEyMDE4MCwgMTIwMTEzLCAxMjc0NjIsIDcwMDUsIDQxNjA5LCAKLSAgICA5NTgwLCAwLCA0MDEsIDY5OTQ5LCA0Mzc3OSwgNjk2OCwgNTc2MSwgMzQyLCA4NTUzLCAwLCA4MTQzLCAxMjcxMTUsIAotICAgIDExOTgzLCA5MjI0OSwgNjI0LCA3NDUwOCwgNDA1NywgNDM3ODgsIDUwNzgsIDc0MjU4LCAxMjQ3OCwgMCwgNTA3NiwgMCwgCi0gICAgMTk0NjA5LCAwLCA4Mjk1LCA2ODUsIDkwMjUsIDE1MjQsIDEyNjE4LCAwLCA1NTM5LCAwLCA5MjUyMywgMTIwMTAyLCA3MTM4LCAKLSAgICAxMjA1NTIsIDAsIDE5NDYxMSwgNzg3NTIsIDAsIDEyNTIwLCA4MDU4LCA5NzMyLCAwLCA1MDgwLCA2NDc3NSwgNTAzNiwgCi0gICAgNTAzNSwgMTIwNTkwLCA0MjYwNCwgOTgzNjU2LCAwLCA4MDc0LCAyNzUsIDEzMjkxLCAxOTA3LCA3ODgzOCwgNDQzMiwgCi0gICAgMTI3MjcxLCA1MDMzLCAxMjcyNzMsIDEyNzI3MiwgNDgzNiwgMzg4OCwgNzM3OTIsIDEwNzI5LCA2NDU0NiwgMTI3MjYyLCAKLSAgICA0MzcwNCwgMTI3MjY0LCAxMjcyNTEsIDY3NTg4LCAxMTkwMDAsIDEyNzI1MiwgMTI3MjU1LCA4ODU4LCA2NDA5LCAxMjcyNTYsIAotICAgIDEyMDI1MiwgMTI4MTAwLCAwLCAwLCA2NjMyMSwgMCwgMTI4MTQsIDEyNzI0OCwgMzQzMiwgMTAyMTgsIDAsIDYwOTQsIAotICAgIDc2NDEsIDQyNDQ1LCAwLCA5MjQ4NywgNDI0MDYsIDE2NzYsIDc0MzIwLCAxOTQ2MDcsIDk4MzE3NywgNTAzMCwgMCwgMCwgMCwgCi0gICAgNzM4NjksIDk2MjIsIDAsIDY5OTQ0LCA2Nzg3LCAwLCAwLCAwLCA5ODM1ODMsIDEwNTQ0LCAxMjkxOSwgMCwgOTIyMTgsIDAsIAotICAgIDAsIDY5OTA2LCAxMjA3ODksIDAsIDk0NywgMTE5ODM1LCAxOTQ1ODYsIDE5NDU4NSwgMTA5NjksIDExOTkzNSwgNzYxMywgCi0gICAgOTI1NjIsIDExOTkzNiwgNDc5NSwgMTE5OTMwLCA3MDE4LCA3Mzc2LCAxMjAxODEsIDEyMDE5MiwgMTIwMjY4LCAwLCAKLSAgICA0MzU2NywgNzQwNTYsIDkxNzkxMCwgMTE4MzMsIDExOTkxOSwgNzIxNiwgNjUyMzIsIDcyMTcsIDI1MSwgNzIxOCwgNzg5NSwgCi0gICAgNDM5NSwgNDM1MzgsIDExOTkyNiwgMTE5OTI5LCAxMTk5MjgsIDcyMTMsIDExOTkyMiwgNzIxNCwgNzIxNSwgOTgzODM2LCAKLSAgICA3NDE0MSwgODg4MCwgNzY4NSwgNjY0NTksIDEyMDE3MywgNjU1NDAsIDExOTYxOCwgNjI1LCA4MTg3LCA0Mjg2MSwgMTExMywgCi0gICAgNzIzNiwgNzkxNSwgMzYzMCwgMTIwMTc2LCA4MTc5LCA3NDI2NCwgNjc4ODYsIDkzMTYsIDEwOTgwLCAyNDg5LCA2NTYyNCwgCi0gICAgODE1MCwgMTM1OSwgNjc2NTIsIDEyNzMyOSwgMTI3MzMwLCA3Mzc1NiwgNTA0MiwgNTA0MSwgNDI3NjksIDEyMDg0LCAKLSAgICAxMjczMjQsIDEyNzMyMSwgOTIyNzksIDEyNzMxOSwgMTI3MzIwLCAxMjczMTcsIDEyNzMxOCwgMTI3MzE1LCAxMjI4MywgCi0gICAgMTYxNiwgMzc5NSwgMCwgODc5NSwgNjYyNDUsIDAsIDAsIDAsIDExMzgsIDczOTA1LCAxMjY3NywgMCwgMCwgMzIzOSwgCi0gICAgMTI3MzExLCAwLCAwLCA4NDMxLCAwLCA0MjE2NCwgMCwgMTE3NzgsIDEyNjIwLCA2ODI2LCA3Mzc3MywgMTE5MDczLCA1MDQwLCAKLSAgICAwLCAwLCA5ODM0NDMsIDc4NDIwLCAwLCA1MDM5LCAwLCA3ODQxOCwgMCwgNTAzOCwgMCwgMCwgMTMxODQsIDc0MjkzLCAwLCAKLSAgICA2NDY0OCwgMCwgOTM1OSwgNzg0MTYsIDAsIDEyODc3MCwgNjUxNTcsIDY2NjIsIDAsIDAsIDM4NjMsIDczOTA5LCA0ODM1LCAKLSAgICA1NTI2NiwgNDM0MzIsIDEyNzgyMiwgNDMwOSwgNzEyNywgMTk0NTY5LCAwLCAxOTQ1NjgsIDEzMDEsIDAsIDQyNTg5LCA1NjksIAotICAgIDAsIDczODEzLCA3MTEsIDQzODksIDcxMzMsIDAsIDczODgwLCAxMTYxMCwgMTEzNjgsIDAsIDE5NDU3MCwgNDEzMzEsIAotICAgIDEwMDYsIDc0MjQwLCAwLCAxNTUwLCA4MjAxLCA3MzczNywgNzYyNywgNTQ5OSwgNTAzMSwgNzc5MDgsIDQyNzM4LCA2NTc4NCwgCi0gICAgNzc5MDcsIDY1MjY3LCAzNzU4LCAwLCA2NTc4MSwgNjQ3MzQsIDcwMDczLCAyNDQwLCA2NTc4MCwgNzc5MTMsIDg0NDksIDAsIAotICAgIDUwMDgsIDk4MzU3MiwgMjExOCwgMCwgMTIxMjEsIDgyNTUsIDU1MTIsIDczODc1LCAyMTI4LCAyMTMwLCAyMTMxLCAyMTI2LCAKLSAgICAyMTMzLCAxMTE5LCAxMjcwNjgsIDIxMTQsIDIxMTYsIDI0NTUsIDAsIDIxMjIsIDIxMjMsIDIxMjQsIDIxMjUsIDEyNzQ4NiwgCi0gICAgODcxNCwgOTgzODIwLCAyMTEzLCAwLCAyMTE1LCAxMjgxNzcsIDEyNzkwNywgNDM3MTMsIDUwNTIsIDY2MjIwLCA1ODIxLCAKLSAgICA2MTg2LCA2NTc3OCwgNjU3NzUsIDUwNTEsIDY1NzczLCAxNDI5LCA0MjY0NywgNTA1MCwgMzAyLCAzODgsIDQxMTE1LCA3MzUsIAotICAgIDY2MzcsIDU5MDcsIDY1MDg4LCAwLCAxMjcyNiwgNzQ1OTQsIDkxMTcsIDk4MzE4MSwgMTIwMDMsIDU1MTMsIDY2NjYsIAotICAgIDUwNTMsIDc0MjMwLCA1NTEwLCA3ODQ1MSwgMCwgNzg0NDcsIDI0NzAsIDc4NDM3LCAwLCAxOTI1LCAwLCA5MjIzNywgCi0gICAgNzQ4MDcsIDAsIDUwNDgsIDUwNDcsIDAsIDAsIDAsIDkyMzEzLCAwLCA3NDQ5NywgOTIzOTUsIDgwODksIDY5MjksIDYzOSwgCi0gICAgOTgzNTYzLCA2ODE3OSwgNjQ0NDIsIDAsIDkyMzQ4LCA0NTk5LCA0MTQwMiwgNjY3NCwgNDMzOTcsIDQzMjk0LCAxNDc2LCAKLSAgICA2NDgsIDAsIDY1ODE5LCAzMjMzLCAwLCA0MTc4MiwgNjk1MSwgOTQwMTcsIDk4Mzk3NiwgMzUzMCwgOTc1MCwgMTI4MzE3LCAKLSAgICAwLCA2NjU2LCA0MjYxOCwgMCwgNTA0NiwgODUxMiwgNjU4NTYsIDc0MjYxLCA4OTY3LCAwLCA1MDQ1LCA0MjAyNiwgMTkxNiwgCi0gICAgNzk4NiwgNTA0NCwgMTIwNTU2LCA5MDA2LCAxMzEyOCwgNTA0MywgMCwgNzg1MywgNzQwNjgsIDc0MDA0LCA5NjY5LCAKLSAgICAxMjM0MSwgMTI3MDMsIDg0MDIsIDAsIDExOTA3MCwgOTE3NjAwLCA0MTc1MCwgMzU4NiwgNjQ1MDgsIDQzMTQ4LCAwLCAwLCAKLSAgICAxMTk2MDYsIDY3OTgzLCAxMzI5NiwgNTE3LCAwLCAxMjg1MzQsIDE5NDk0NiwgNDE1MjgsIDEyMywgNjU0NTQsIDAsIDAsIAotICAgIDc0NDc4LCAxMDUzMSwgNzc4NCwgNDE1MjYsIDEwODI5LCA3Mzk5MSwgODA1NywgMTEyNiwgNzM4OTUsIDAsIDE5NDU5MSwgMCwgCi0gICAgMzkyNSwgNDI1MSwgODA2OSwgMTA1MTcsIDEyMDQzOSwgNDg5LCAwLCA0MjUwLCAxMjA0NDEsIDEyMDQ1MiwgNDMxNTEsIAotICAgIDk4MzE3OCwgMTk0ODUxLCA2NjIwMCwgMCwgMCwgMCwgNzg0MjMsIDAsIDAsIDg3MTEsIDYxODMsIDAsIDAsIDAsIDEyMDQ0OCwgCi0gICAgNzYyMywgMTE4OTI1LCAxMTg4ODksIDkyMzUsIDEyNzYwLCA3NDE3NiwgNjk2NjIsIDY2NDQ1LCA0MzU0MCwgMTAwNjIsIAotICAgIDM3NDMsIDExNTE0LCAxMTA3OCwgMCwgMTIxMzYsIDAsIDEyNjU5NywgMTIwNDM1LCAwLCA3NzI2LCAwLCAxOTkyMiwgMjY3LCAKLSAgICAzMzkzLCA0MjE5OCwgMTM3MSwgMTk0ODQ5LCA2OTIzMywgMjQ1OCwgMCwgNjIwMSwgMCwgNDEwNzQsIDQyNjYsIDEwNjUyLCAKLSAgICA0MTYxMiwgNDEwNzcsIDM0MDIsIDkwNTAsIDMzOTgsIDAsIDk4MzM0OCwgMCwgMzM5MSwgNDEwNzUsIDI0NzYsIDAsIAotICAgIDEyODAxNywgMCwgMTA2MjUsIDAsIDEyNzY3LCAxMzAxNywgNzg3NDMsIDY0MjYxLCA2NDkzNCwgMTI3NTM3LCAxMzAxNCwgCi0gICAgMTMwMTMsIDAsIDY2NzMsIDAsIDAsIDAsIDEyNDM4LCAwLCA5ODMzNDIsIDAsIDk4Mzg4MCwgMTI2NjM4LCA5MDUzLCAKLSAgICAxMzAxNSwgNzQ1MjMsIDAsIDcwNCwgNjYyMTUsIDYxOTUsIDk4MzgyOCwgNjY2MCwgNzg3NTgsIDkxNzc2MCwgOTE3NzkzLCAKLSAgICA0MjIxMiwgMTI2MjksIDExNDM1LCAwLCA1NTI1NiwgNjU1MzgsIDAsIDEyNzk0MCwgOTgzMzQxLCA3NDU0NywgMTI2NTg1LCAKLSAgICA2NTQ0OCwgNzgxMDAsIDEyOTQ4LCAxMTkwMDEsIDE5NTAwMiwgMTE5MjM4LCAxOTUwMDQsIDc4MDk5LCAxMjcwODUsIDAsIAotICAgIDEyODMyMCwgNDI4NywgODI3NiwgNDkwMiwgMTEzMSwgMCwgNzg0NTgsIDY2NzI4LCAxODE2LCAwLCA0MjUzMywgMTY4LCAKLSAgICA0Mjg0NSwgNDg5OCwgNjQyOTgsIDk4MzE0MSwgMCwgNDkwMSwgMTgyMSwgMCwgNTc4LCAzNjUzLCAwLCA3OTEsIDkxNjIsIAotICAgIDY5NzcsIDAsIDc4ODg5LCA3NDU2MSwgMCwgNzM3MzEsIDgzNTQsIDQzNTkwLCAxMTkzMDMsIDk4MzQ0OSwgNzU1NywgCi0gICAgMTE5MzM5LCAxMTkzMDEsIDgyMzQsIDcyNDEsIDAsIDEyMDY3MSwgMTE5MTY3LCAxOTQ5OTYsIDEyODExLCA2NTkyNSwgCi0gICAgMzk0NiwgNzgwNzgsIDEwOTk4LCA3ODA4MCwgNjczLCAxOTQ4NjcsIDY0Mzk3LCAxMjgyNzYsIDc0NTk5LCA3ODQ0OSwgCi0gICAgODg5MCwgMTk0OTc3LCAxOTQ5NzYsIDI0NDgsIDc4MDg1LCAxMDI2NywgODQyNCwgMjQ1MiwgNzgwODMsIDEyODgyNCwgCi0gICAgODcyOSwgNzg0NTYsIDAsIDc4NDUsIDkxNzkxNywgNzEzMDIsIDQ0MDgsIDQxMjIsIDY3NzIsIDExMDM5LCA4NzIzLCAKLSAgICAxOTQ5OTAsIDcxMzEwLCAxMTkzMDIsIDczMSwgMTE5MzA0LCA5MjI4NiwgMjQzOCwgNjQ4NTUsIDExOTMwMCwgMTE5Mjk5LCAKLSAgICAxMTc1LCAwLCA0MjEzNSwgMzczLCAxMTkxNzIsIDIxMTksIDExNDU3LCAxMTUyMSwgNzcyMywgMCwgMCwgMCwgNDE5NTIsIDAsIAotICAgIDUyNzMsIDIxMjcsIDUyNjksIDYzMzcsIDUyMDIsIDI0MDQsIDUyNjcsIDQyODIzLCAxMTI5MSwgMTk5MTUsIDUyNzcsIAotICAgIDEyOTYzLCAxMjc4NjQsIDYxODksIDQxMjUsIDEzMTQsIDEyMTMzLCAxMjAzNDAsIDExODg3MywgMTI3MSwgOTgzNjQwLCAwLCAKLSAgICA2NjAyNCwgNDE0ODIsIDM4NjQsIDc0NTM5LCAwLCAzODc5LCAwLCAxMjk3OCwgNDE2NiwgNDU3NCwgMCwgNzU2NywgNzQ1OSwgCi0gICAgOTgzMTYwLCA0MTM5MCwgNTM4NCwgNDE4ODIsIDY3NjQ3LCA5MjU0OCwgNTc1OSwgOTgzOTEyLCAwLCA0MTM4OCwgNjQ0NDYsIAotICAgIDQxMzkyLCA2NDI4OCwgNDEzODcsIDAsIDg3MDYsIDU1NTIsIDk4MzE4NywgNzAwLCAwLCA1NTUzLCAwLCA3MDg4LCA1MzU2LCAKLSAgICA3NDk5LCA2ODAwNywgNjY1OTYsIDc0MDY2LCAwLCAxMDI2MywgNTU1NCwgMCwgMTIzNDQsIDEwMzExLCA3ODExMywgNjY2NSwgCi0gICAgOTI2MjYsIDAsIDc2MTgsIDg1MTcsIDExNDU1LCA3ODQ0MCwgNjQ2MzIsIDY0NDQ3LCA1NTU1LCA3ODA4OCwgNzgwOTMsIAotICAgIDc4MDkxLCAwLCA0MjgwMywgNjUwMzMsIDkxNDMsIDY2NjgsIDE5NTA2NywgNjc5OTUsIDE5NTA2OSwgNjU2LCAxOTUwNzEsIAotICAgIDY1MDM3LCA0NTc3LCA2NDYyNCwgMCwgMCwgMCwgOTgzNjQ5LCA0MjY5LCA3Mzg4NSwgOTE3Nzc1LCA0Mjg0NiwgNjk2NDQsIAotICAgIDk1MCwgMCwgOTIyNzMsIDY2NTgwLCAxMTg4OTUsIDY2NjgzLCAxMDU1NCwgOTE3Nzc4LCAxMTkxMjEsIDAsIDUwOTgsIAotICAgIDkxNzc3MCwgMCwgMTE5MDk5LCA1MDk3LCA0OTM1LCA5ODQ4LCAxMDM4MSwgMCwgMTI4ODcwLCA5ODM3MDEsIDM2NTEsIDAsIAotICAgIDEyMDczMCwgMTI3NTU2LCA1MTAyLCA1MTAxLCAxMDI2OSwgMTI5ODMsIDgxMzgsIDQ1MTcsIDE5MzIsIDUxMDAsIDE0MzksIAotICAgIDEyMDkzLCAxMjQ3LCAxMDAzNCwgMTk1MDY0LCA1MDk5LCA3ODM3MywgMTQ0MSwgNDIwODcsIDMwNjMsIDY1MCwgMCwgNzgzOCwgCi0gICAgMCwgMTk1MDQxLCAxOTUwNDAsIDExOTE0MiwgOTAzMSwgMTIwNzkwLCAxMjg1ODIsIDkwNzgsIDg1NDUsIDY2MzU2LCAKLSAgICAxMjg3OTksIDAsIDkxNTQsIDkxMTgsIDEyNjU0MywgMCwgMjY3NiwgMjI3NywgMCwgNzM4MTIsIDYxOTAsIDg1OTksIAotICAgIDE5NTA1MywgNjk5MTgsIDEwNzk1LCA5ODU3LCA3MDE0LCA5ODU2LCAxOTUwMzMsIDkyNjIwLCAxMjEyOSwgMCwgODQ4MSwgMCwgCi0gICAgNjIwMiwgMTk1MDM1LCAxMDkyMCwgMTI4MjM3LCA1MjAzLCAxOTUwMzksIDE5NTAzOCwgNTEwOCwgNTEwNywgNjU4MTgsIAotICAgIDY2MDE5LCA5NzYyLCAwLCA1NTQxLCA3NDc3MiwgMCwgMTI2MTMsIDUyODQsIDY2NTcsIDIwNywgMTI4ODA2LCA0Mjc1LCAKLSAgICA3NDgxOSwgODU0LCA2ODE0NywgNzQzODEsIDAsIDc4Nzg2LCA1MTAzLCAxMjc4NjEsIDY0MzQ4LCA0MTM2OCwgNDM5NzQsIAotICAgIDQ4OCwgNjk4MTEsIDAsIDcxMzM5LCAxMDE1NywgMCwgNDMwMzQsIDExNDM4LCA2NDY3NCwgMCwgOTI2OTQsIDY4NDMxLCAKLSAgICA0MTc3MSwgNTEwNiwgNjY2OSwgODUwNCwgNjUxNTQsIDY5ODEzLCA0MTM2NywgNTEwNSwgMTI3NTA5LCA2OTcyMCwgNjQ3NiwgCi0gICAgNTEwNCwgOTgzNzQ5LCAzMDQsIDMxNzYsIDExOTAxMCwgMCwgOTMyLCAxMjA2MzMsIDY1NjcsIDIzOCwgNjk2NTYsIAotICAgIDE5NTAxMSwgMTk0NTk1LCAxOTkwNSwgMTIwNTc3LCAxOTUwMTUsIDc4ODcwLCA0MTA0NCwgNjc2NDAsIDE5NDkwMiwgCi0gICAgNDIwNTUsIDk5MTIsIDY1OTM5LCAxMDY3MCwgNzQwOTMsIDEzMjczLCAwLCAxMjU1MiwgMTk1MDE5LCA4ODAzLCAzMDksIAotICAgIDY2MjIsIDgxNTEsIDEwODU4LCA3ODcwNiwgNjc2MzYsIDAsIDEyNTY4LCAwLCAxMjU1MywgMTA4MTQsIDQzMjc1LCA2OTUwLCAKLSAgICA5NzEyLCA2ODY4MCwgNDM5NzAsIDk4MzE5OCwgNjUxNjUsIDkyNzI1LCAwLCA2NjQ2NiwgMCwgMCwgMCwgNjY3MjUsIDYxOTEsIAotICAgIDExMzUxLCAxMDQzNywgMTEzMTYsIDY3NjM0LCA0Mzc2MywgMCwgNDE3NTQsIDY3NjM1LCA5MzcwLCAyNzIwLCAxOTQ5NzUsIAotICAgIDY4NDYyLCA4MjMyLCAxMTg4MTcsIDAsIDMyMjIsIDAsIDAsIDAsIDY2NjYzLCAwLCAwLCAxMDgzNCwgMCwgMCwgNjU3MzIsIAotICAgIDk0MDk1LCA5MTc1NDcsIDkyNjgyLCA2NzY3OSwgMTk1MDIwLCAwLCA3NzgxLCA0MTM4MywgNjQ1NjgsIDAsIDEyMDczOCwgCi0gICAgMTIwNzcsIDAsIDY0NTg2LCA5MTc2MjAsIDQyMzk2LCA1NTI1NSwgMzQ3NSwgMTI4MDM1LCAyNDc5LCAwLCAzNjMyLCAKLSAgICAxMjA3MjgsIDEwNjk4LCA4Mzc2LCAzNjQ4LCAxOTQ5NjAsIDc0ODQ0LCA2NzYzOSwgMzYzNiwgNjc4OTQsIDM2NTAsIDg4MzcsIAotICAgIDY1MjI5LCAxODQzLCA0MjI4MywgNDMyNTAsIDQxNTYyLCA5MTAwLCA3NDU0OCwgOTE3NjMwLCAzNjQwLCAxMjcxOTAsIAotICAgIDQyMzIxLCA3Mjg0LCAxOTQ5NzQsIDE5NDk3MywgMTk0OTUwLCAxOTQ5NDksIDE5NDk1MiwgMTk0OTUxLCAxMjY2NDksIAotICAgIDE5NDk1MywgNDIwODAsIDI1MjksIDAsIDAsIDAsIDQyMDgzLCAxMjA2NzgsIDY4Mzk4LCAxOTQ5NTcsIDY3NjE5LCA2NjM2NywgCi0gICAgMTk0OTU4LCA5NjM0LCA5MjM4MCwgOTk4OCwgMCwgNDEwNjgsIDAsIDQyOTUsIDY1MjY0LCA2ODAwNiwgMCwgOTI1NDUsIDAsIAotICAgIDc4NSwgODIzNiwgMTI4NjQ3LCA5MDI3LCA2ODE2MCwgNjc2MjMsIDY0MzgzLCAxMjAyNjUsIDkyNSwgMTI3MTU2LCAwLCAKLSAgICA0MTk4NSwgNDEwNzEsIDk1ODYsIDAsIDQxOTg0LCA5MjE3LCAwLCAwLCAwLCA5MTg2LCAyMDY3LCA0MDE2LCA5ODM4MDMsIDAsIAotICAgIDM4MSwgMTI5MzYsIDAsIDQyMDc3LCAwLCA2OTg4MCwgNTE4NCwgNDIwNzgsIDE5NDk0NywgMTA4MTAsIDEyODUzMSwgNDU4NSwgCi0gICAgMTk5NDMsIDU4NjAsIDY3NjMzLCAwLCAwLCA4MTIsIDM2MTUsIDAsIDUxNzgsIDQ0MDAwLCAxMjA1NDgsIDc4ODA3LCA1MTg4LCAKLSAgICA3NDI4NywgNjc2MjksIDM2MDUsIDEwNjkyLCAxMTY2LCA2NDQyOSwgNDI2MzksIDkyNCwgMCwgNjc2MzEsIDQyNjE2LCAKLSAgICAxMjA2NzAsIDI0NDIsIDEwNzAzLCA3ODc4OSwgNjc2MzIsIDkxNzkyNCwgMTI3NzEsIDEyNzM2LCAxMjc1MywgNjY3MDgsIAotICAgIDczOTMzLCA2NzYyNiwgNDI0MDEsIDAsIDY5ODcyLCAxMjczNzMsIDQyMjg4LCAxMjc1MSwgMCwgODU0MiwgMTMxNDUsIAotICAgIDE5NDk2MywgMjQ2OCwgNjY3MDYsIDQxMjk0LCAzNjI2LCAzODgzLCA2NDM4OCwgNDI0NzksIDAsIDQxMTE3LCAwLCA5MjU4MCwgCi0gICAgMCwgMCwgNjc2MjQsIDAsIDEyOTAsIDAsIDY1NTg1LCAyNzE1LCA4MDYsIDY1MjA4LCA0MTg4NCwgOTE3ODgzLCAxMzE4LCAKLSAgICA2NDczMSwgMTI2NTc4LCAwLCAwLCA2NjMyNSwgMzQ2NSwgMjQwNSwgOTI0MCwgMCwgMTI3NTYsIDY1MjU5LCAwLCA5ODM3ODEsIAotICAgIDEyNzUyLCA1ODMzLCAxNDMyLCAwLCA0MTg4MywgNzM5MTIsIDk3OTksIDAsIDQxODg2LCAyNDgwLCAwLCAyMDYyLCAKLSAgICAxMjcyOTMsIDY0OTQsIDU1MzcsIDc4NjU2LCAwLCAxOTQ1ODcsIDAsIDEyMTEsIDAsIDAsIDAsIDExODgzMiwgMTIzMTgsIDAsIAotICAgIDAsIDY4MDA1LCAxMDYyMiwgOTgzNzc5LCAwLCA3ODY1NCwgNjU2NiwgNzg2NTksIDAsIDczNzgwLCAxMTkxOTYsIDY0ODY0LCAKLSAgICAwLCA3ODY2MCwgMCwgODI4NCwgMTMwODEsIDAsIDM1ODksIDQyMDUxLCA0MDM1LCA2NDkyLCA5MjIzNiwgNDI2NSwgNjY0MiwgCi0gICAgMzk3NywgNzQxODYsIDQxNzc4LCA4MzYsIDExOTIxNiwgMjQ4OCwgMCwgNDU4MiwgMCwgMCwgNDE3NzcsIDEyOTI2LCAKLSAgICA5ODMzNzcsIDc1MjgsIDEwNTUwLCAwLCA5MjcwNiwgMCwgMTA5NjEsIDAsIDEzNzQsIDY0ODc4LCAxMTkwMTQsIDAsIAotICAgIDQyMzg5LCA0MTM3NCwgMjI4NiwgMCwgNzg0OTIsIDQxMzc3LCAxMjc5MDksIDAsIDQwMCwgMTI1OTcsIDEyMDU4NiwgMCwgMCwgCi0gICAgNjY2MSwgOTgzMTQ1LCA2NDgyNywgMCwgNzM4MTcsIDM5MCwgMCwgNzEzMDEsIDk4Mzg2MiwgMzQ3MywgNzcxOCwgMCwgMCwgCi0gICAgMCwgNTUyODUsIDAsIDAsIDAsIDExOTY5LCA5ODMzOTAsIDEyNzg0MSwgNjM2NSwgMTg4NywgNjc2MywgOTgzMzcwLCA4MDgwLCAKLSAgICA3MDA2LCAwLCA5ODMzNzEsIDY3NTcsIDY0MzUxLCAxNTQ0LCAwLCA2NzY2LCA2NDY3NywgMTIwNzE2LCA5ODMzNzIsIDYxNDYsIAotICAgIDAsIDc3MSwgOTgzMzczLCAwLCAxMjgxMiwgMTMxNjgsIDQyMjcyLCAxMjIwMCwgOTE3OTI3LCA3OTA0LCAwLCA5NTMsIAotICAgIDEyOTE3LCAxMTk1NjAsIDEyMzAwLCAwLCAxMTQ5MSwgOTcyNCwgMTAzNDEsIDk4Mzc3MywgOTUyNCwgNzQ5MCwgMTEzODksIAotICAgIDc0ODksIDMzNzksIDAsIDc0ODcsIDAsIDQ3MSwgNzQ4NCwgNzQ4MiwgNjc1MywgNzQ4MCwgNTc2NCwgNzQ3OCwgNzQ3NywgCi0gICAgNjUwMSwgNzQ3NSwgNjkxOCwgNzQ3MywgNzQ3MiwgMjQ3NCwgNzQ3MCwgNzQ2OCwgMTAyMzIsIDEwNjE1LCAxMDIxMywgCi0gICAgMTI3Mjg4LCA5MjM1NywgMTAwNDksIDExODM0LCAzNTQ0LCAwLCA2MDE3LCA2NTMxMSwgMTI3NDgxLCAxMjAyMTYsIDEzMzA2LCAKLSAgICAxMDUzMywgNzg3MCwgNzM5NDksIDc2MjUsIDAsIDEyMDU0NCwgMCwgMCwgOTI2NjAsIDAsIDAsIDAsIDE5OTYxLCAyNDcyLCAKLSAgICA0MjY2NSwgOTIzNDEsIDAsIDIxMzksIDQyNTYsIDEyMDc3NiwgNzQzODAsIDAsIDQyNjc1LCA0MjY1OCwgMTI4NDUsIDAsIDAsIAotICAgIDY1MTM4LCAxMTkzNTUsIDY3ODYyLCAwLCA2NTY3MSwgNzA4MywgMTIwMDA4LCA4MDY2LCA3Njc4LCA3NDg2NSwgMCwgMCwgMCwgCi0gICAgMCwgNzE4NiwgMCwgMTIwNTU1LCAwLCA0NDUsIDEyMDU2NiwgMTI4MzA4LCAwLCAwLCA4MzMwLCAwLCAwLCA0Mjc5NywgCi0gICAgOTgzMTUwLCAxMjAyMTUsIDAsIDM5MDIsIDAsIDE3NzAsIDAsIDEyODg2NiwgMTU2MCwgMTIwMjA5LCAxOTQ5NzIsIDQ1ODQsIAotICAgIDczODQzLCAwLCAxMTcxMiwgMTA4NjYsIDExODkyOCwgMTExOCwgNzEzMzQsIDAsIDAsIDEwODEsIDc0MzYsIDY4NDIwLCAKLSAgICA3MjUyLCAwLCA1OTk2LCA2OTkyMSwgNDkwMywgMCwgNDEzODYsIDUxNjIsIDExOTE4OSwgMTMzMCwgMCwgNzEzOSwgMCwgCi0gICAgMTIwNDcsIDQxMzg0LCAwLCAwLCAxODQ4LCA0MzM0LCA2MzI0LCA0MTk3NSwgNjQ3NzcsIDEwNjc0LCAxMjMwOCwgMTIxODYsIAotICAgIDAsIDAsIDk4Mzc0MSwgMTI3MTUsIDY4MDAyLCA5ODM0NzksIDEyNjYzMCwgMjAxOCwgNjY2NzIsIDQxOTc5LCA2NjY4NSwgCi0gICAgMTE5MTU3LCA2ODAwMCwgOTI0NjQsIDAsIDEyNjk4NCwgNjgwMDEsIDkzMzQsIDkyNzA1LCA5MjMxNSwgNzAxMDEsIDc5NzUsIAotICAgIDAsIDc3OTU3LCAwLCA2NjYyMSwgNDg4NCwgNjY1OTcsIDY5NzMyLCAwLCAwLCA2MzEzLCA2NTUxMywgNjk4NTcsIDAsIDAsIAotICAgIDAsIDIzNDUsIDQzNjk3LCA0NjMsIDAsIDAsIDExOTYwNywgMzExNywgNTQ2MCwgMCwgMCwgOTgzMzg3LCAwLCA0MjI3OSwgCi0gICAgMTk0NTc3LCAwLCA3ODQxNSwgMCwgMTk1MDA4LCA5ODMzODQsIDEzMjQ4LCAwLCAwLCAwLCAwLCAwLCAwLCA1NjYzLCAwLCAwLCAKLSAgICAwLCAwLCAyNDgyLCAxNDcxLCAwLCAwLCA0MjI0NywgMTIzNzgsIDczOTI1LCA2OTY2NCwgMCwgMTIzNzQsIDAsIDAsIDAsIAotICAgIDk4MzY5NCwgMjQ2MCwgMCwgMTE5NDQsIDEyMzc2LCAxMjc4NjgsIDY0Njc5LCAwLCAxMjM4MCwgMTA1NTcsIDY0NDczLCAKLSAgICA1ODcwLCAwLCAyMDI0LCAxMjcxODAsIDAsIDAsIDUzOSwgMCwgMTI3NzY1LCA5NDA1MiwgMzg1MywgNjUxODAsIDEyNzkyMywgCi0gICAgMTIwNzk2LCAxMjAyNDUsIDkyMzI0LCAwLCA4NjU5LCAwLCAxMjQ3NCwgOTI1NzksIDk1MDMsIDE5NDk2OSwgMjQ3OCwgMCwgCi0gICAgNDE2MiwgMCwgNDI2MCwgMTI5NTMsIDY5NjMzLCAxMjAwODksIDEyNDcwLCAwLCA3NDE4OSwgMjc0MiwgMTI0NzYsIDExNzk4LCAKLSAgICAxMDk0NiwgMTI3MzEwLCA1MDAwLCAwLCA5ODM1NzksIDAsIDY5NjcyLCA4MjEzLCA3NDAxNywgNzc3MSwgNjE2MSwgNjgwMTgsIAotICAgIDY3MDksIDAsIDc4ODg1LCA5ODM3MDgsIDEyNzk3MSwgMTIwNTgyLCA3ODU0NywgMCwgMTAzMDEsIDEwMzMzLCAxMDM5NywgMCwgCi0gICAgMCwgNzM3OTEsIDAsIDAsIDAsIDAsIDExOTEyMywgNDAxNCwgMTI4NDIsIDczOTUyLCAxMjAxNSwgMTI3MjkwLCA4Mjc1LCAKLSAgICAzODkzLCA5ODMyNjQsIDAsIDEyMjEwLCA3MjIxLCA0MjE0NywgMCwgNzQ1NTAsIDc0NDY1LCA2NDc0NywgMTE4ODQxLCAwLCAKLSAgICAxMjUxNiwgNDQ0NCwgMCwgOTIyNzEsIDc0NTM3LCAxMDg5MiwgODIzMSwgMCwgNjQ3MywgNDE5NjgsIDc4Mzg4LCA0MTk3MywgCi0gICAgMzU5MSwgNDE5NjksIDAsIDI0NTMsIDEyODU0OSwgOTI2NjYsIDY0NzA1LCAwLCAwLCAxMDM0OSwgMTA0MTMsIDQzNTkxLCAKLSAgICA0MTk2MiwgMzIwMiwgNzQzNTMsIDAsIDgzMTYsIDAsIDAsIDk0MDYwLCA2ODcsIDAsIDAsIDAsIDE4NDAsIDAsIDY4NjcxLCAKLSAgICAxMTk4MDksIDQ4ODMsIDI4NSwgNDcyMywgNzAwOTksIDkyNjkyLCA0NDU5LCA3NDU3NywgNDI5MjEsIDQxNzIwLCAxMTA4OSwgCi0gICAgMjQwLCAxOTkwNiwgMCwgNDIzMjMsIDAsIDk3NDMsIDEyMDIzMiwgMTMxMzQsIDEyNjUzNSwgMCwgMCwgMCwgMCwgNDI2MzQsIAotICAgIDk4MzM0MywgNDM0MzcsIDMwODEsIDExNDYzLCAxMjAxNTQsIDAsIDAsIDEwNDQ1LCAwLCAwLCA2NjcxNywgMjYxNCwgOTEyNSwgCi0gICAgMTE5MDIzLCAxNzI5LCAwLCAxMjAyMzYsIDY1MjIxLCA2Mzg4MywgNDMzMzQsIDY0ODUyLCAwLCA2NTE5NCwgNjYyMDEsIDAsIAotICAgIDY2NTc4LCA1MDAxLCA0MTg3OSwgNzQ0MjcsIDQxMjEsIDUwMDMsIDg4NCwgNjY3MDAsIDYzODc5LCA0OTQzLCA1MTUwLCAKLSAgICA3Mzg4OSwgNzQxODIsIDEyNzkxNSwgNjQzLCAzMDg2LCAwLCA0MjQ0OCwgNDIyOTksIDU4LCAwLCA5MTc5NTIsIDEyMDA4MywgCi0gICAgNjM4NzMsIDg0OTEsIDAsIDAsIDk4MzYyMywgNDUzMCwgNDI0MDksIDcxMjYsIDE5NDU3NSwgMjcyMSwgMTIwMDc0LCAKLSAgICAxMTkwOTYsIDE5OTI5LCAwLCAxOTQ1NzQsIDAsIDQyNDIsIDQyNjQsIDEyMDA3NywgMTIwNTMwLCA2NjE3OSwgNDI0MTIsIAotICAgIDY1OTQxLCAxMzExNCwgNjQ1MjIsIDEwNzQwLCAzMDk0LCAwLCA5NzU0LCAxMTkxMDIsIDQ0MzcsIDczOTQ4LCAxMjcwNzQsIAotICAgIDk4MzIzOCwgNTUyODAsIDQyMTc0LCAxOTQ5MjUsIDQyNDMwLCAwLCAwLCA0MjM1NSwgNjYwMjYsIDQzMDYsIDQxMzgwLCAKLSAgICA2ODQzMiwgOTI1ODYsIDAsIDY2NjY3LCAxMjczMDksIDAsIDEyNjUyMSwgNDIyMDAsIDQyNTY2LCAwLCAwLCA1MDg4LCAKLSAgICA2OTQ4LCAwLCA4NTI0LCAwLCAwLCAxMjM4NSwgMCwgMCwgNjk2NDYsIDEzODYsIDY0NTgwLCAxMTQ4MCwgNjExNiwgNjUwMzksIAotICAgIDY1MDM4LCAxMjM5MiwgNjUwMzYsIDgwNjQsIDAsIDEyMTAxLCA1ODIyLCAxMTkwMDQsIDIwODAsIDcxMCwgNzc5OTksIAotICAgIDExNjYzLCAxNjY2LCA0MjA5MSwgMTE5NjU3LCAxMjM4MywgNDM2NzEsIDQyMDkyLCA2ODQxOCwgNDI4OSwgMCwgNjM4OTYsIAotICAgIDEyMDYxLCA0MjA5NiwgNDM2MjEsIDMzNjIsIDEyMzc3LCA5ODM4MzIsIDk4MzgzNCwgNjg0NDksIDc0NjEsIDczOTAxLCAKLSAgICAxMjQ0LCAzMzEsIDczNzg2LCAxMjY4MywgMTA2NjIsIDAsIDgxMTIsIDAsIDY1ODUyLCAwLCAxMjM3OSwgMTk0ODc3LCAKLSAgICAxMjA4MTgsIDQxOTY0LCA0MjIwOCwgNjM4NDMsIDIwODQsIDQxOTY1LCAwLCA2NTg2NiwgNDMyNywgMCwgNjM4NDAsIAotICAgIDc4NTQ5LCA0MTIyMCwgMTMwMzIsIDAsIDU4NCwgMTI5MzMsIDQzMTc3LCAxMjM3MywgNjk4NTUsIDEzMDAwLCAxMzUxLCAKLSAgICAyOTM1LCA4Njk4LCAxMjY2NSwgMCwgMTkzMCwgMCwgNzgyMjksIDEyNDI3LCA2NjUxNCwgNjk4NTksIDEzMDMxLCAwLCAKLSAgICA2MzkwMSwgMCwgMzY1NywgMTI4NTcyLCA2NTIwMiwgNjAwMCwgMTE5MjA2LCAxMjQyNiwgMTI3MTgxLCAwLCA0MTc0MCwgCi0gICAgMTI0MjgsIDQxMjgzLCA0MTkxNiwgMTE5MjEwLCAwLCAwLCAxMjQyOSwgNjcyNywgMCwgNzU2MiwgMCwgNTE3MCwgMCwgCi0gICAgNDE3NTUsIDY3NiwgMCwgNjY3MDQsIDY2NjY0LCA5OTc4LCA2NjQ5MSwgMzUzNiwgMCwgOTc1MiwgOTIzOTcsIDYxNjIsIDAsIAotICAgIDY5MjI4LCAxMDExMywgNDE4MjksIDY1ODg2LCA1MTU5LCAxMjQyMiwgNDE4MzIsIDQzOSwgNDMwNzcsIDAsIDQyMjA3LCAKLSAgICA3NDU0OSwgMTE3OTYsIDQwOTcwLCA0MTgzMCwgMCwgOTE3Nzk5LCA4MzA4LCA5MTc3OTcsIDkxNzc5NiwgMCwgNjc4NjQsIAotICAgIDkxNzgwMSwgOTE3ODAwLCAxMjMzNiwgNDEzNSwgNjk4MDUsIDM0MSwgMjcyNywgNDEyOSwgMzUzOSwgMCwgNjM4NjEsIDAsIAotICAgIDc5MTMsIDAsIDYzODU5LCA0MTMxLCA2Mzg2OCwgMCwgNjM4NjcsIDQxMzMsIDExMzcxLCAyMTAsIDQ2MDAsIDAsIDc0NTYwLCAKLSAgICA0MTM3LCA4MDgyLCA3ODUwNiwgMTE5MDYyLCA3ODUwNCwgNjcwNCwgNDU5MSwgMTI4MDI5LCAwLCAwLCA5NjgwLCAwLCAKLSAgICAxMjA2MjMsIDU2MSwgMTIxNTksIDE5NSwgNzg1MDgsIDQxNTAxLCAwLCA0MjAzMSwgNTcxOSwgNzE3MiwgNDI2ODcsIDgzNjgsIAotICAgIDAsIDQxNDk5LCAwLCAwLCA0MjI0MiwgNDE0OTgsIDkxNzc5NCwgNDIwMjUsIDc4NTY1LCA2NTgwNSwgNDI0NjMsIDAsIAotICAgIDI5MjQsIDAsIDEyMDUxMCwgMCwgMCwgMTE5MjEzLCA3Mzk0MSwgMCwgNDIzMzAsIDkxNzc4NCwgMzk2OSwgMCwgMCwgNzE2OSwgCi0gICAgMTk5MiwgOTY1MiwgNzM5NzcsIDcyNDYsIDQyMDg2LCAxMjY2MTUsIDIyMTksIDAsIDAsIDEyODgwMSwgMTk0ODM3LCAwLCAKLSAgICAzMjcsIDAsIDkwNDIsIDkxNzc3NywgOTE3Nzc2LCA2NTE0OCwgMTI0MzMsIDkxNzc4MSwgMTI3Mjc2LCA5MTc3NzksIAotICAgIDEyNDMxLCA4NjY4LCAxMjQzNCwgOTgzODM1LCA5MTc3ODIsIDU5OTksIDAsIDc3MTIsIDEyNDMyLCAxMjgyNDMsIDQzNjUzLCAKLSAgICAxNzI2LCAxMDE1LCAwLCA4MjEyLCAwLCAxMjgwMTQsIDQyNDIzLCAxMTkwNjYsIDAsIDEyODEwOCwgNjY3MDksIDAsIDg4MTEsIAotICAgIDkyNywgMCwgMCwgMTI0MzYsIDk4MzI0NSwgNDIwMjEsIDAsIDAsIDEyOTksIDEyMjQwLCA0MjM1MCwgNjUxNDMsIDAsIAotICAgIDE5NTAxNiwgMCwgNzgxOTcsIDExMzQ4LCAwLCA3ODAzNywgOTE5NCwgOTgzMTg0LCAwLCAxOTkxNCwgMTIxNzksIDk4MzgxMiwgCi0gICAgMjI5NiwgMTk0OTIzLCA2MzgzNiwgNjM4MzIsIDkxNzc3MywgMTA5NjcsIDYzODE2LCAyNTk0LCAzNDQ0LCA2MzgxNywgCi0gICAgNjQ2NTEsIDAsIDQxNTAzLCAxMjc0NzgsIDExMjY1LCAwLCAxMjA3NTYsIDE5NDkyMiwgMCwgNTY2NCwgMzk3MiwgMCwgMCwgCi0gICAgMCwgMTI4NTA4LCAxMjQxNiwgOTE3NzY0LCAxMTk2MDgsIDEwODE2LCA5MTc3NjksIDkxNzc2OCwgMTI0MTgsIDc0MTExLCAKLSAgICAzODgyLCA4NTMyLCA5MTc3NzEsIDE1NzMsIDEyODY0OCwgMTE5ODQ3LCA0NTk2LCA2NjMzOSwgMTI0MTcsIDY2MDAxLCAKLSAgICA2NTM0MywgMTI2NDkxLCAxMjQxNCwgODI4NywgNjgyMTksIDE5NTAxNywgNjgxMDgsIDExNDMsIDExOTE2OSwgMTE5ODQ2LCAKLSAgICAxMjQxNSwgNjYyNiwgNDI3NjMsIDAsIDExODg4NCwgOTAyMSwgMTIwNzgzLCAwLCAxMTcyNCwgMCwgMCwgMTI3MTA0LCAKLSAgICAxMjY2MTksIDAsIDAsIDgwMjcsIDEwOTk3LCA5MTcxLCAxMjc0MSwgMTE0MDAsIDcxMzA1LCAxOTQ3OTksIDAsIDEyODIzOSwgCi0gICAgMCwgMTI4ODgxLCAxMTk2MDQsIDEyNzUyMywgMTIwMTkwLCAxOTQ3NzMsIDY3NjA4LCAxMjgyMTQsIDQyMzY4LCAwLCA3NzE1LCAKLSAgICAzODgxLCA0MTQ4NywgMTIxMTgsIDQyNTE0LCA2ODY1MSwgMCwgOTgzODk1LCAzMDA5LCA0MTQ3NiwgNDE0ODksIDY5ODI1LCAKLSAgICAzMDA3LCAxNDQ4LCAzMDE4LCAxOTQ4MDksIDM4ODksIDg1MjEsIDUwODMsIDUwODIsIDExOTg1OSwgMTIwMTg0LCA4NTE5LCAKLSAgICA5ODMyNDEsIDMwMTQsIDUwODEsIDY1ODUzLCAxMjA3MTUsIDAsIDY4MDE0LCA2OTk1MSwgNTA3OSwgNjQ4MDIsIDQyMjEwLCAKLSAgICA0NTk3LCA2NTUzMiwgMTE4MjgsIDEyMDE4NSwgMTIzNzEsIDAsIDg0MDcsIDAsIDEwODA1LCA4NTE4LCAxMDc3OSwgCi0gICAgMTIwMTg4LCA3MTMwMywgOTgzOTMzLCAxMjM2NywgNDIxNzAsIDAsIDkyNTU3LCA2MjksIDE5MjQsIDAsIDEyMDM3LCAKLSAgICA3NDM2NiwgNTk4NywgODQ2MiwgODAwNSwgMTIzNjUsIDYzOTMzLCA2OTczNSwgMTIwODE1LCAxMjM2OSwgMTA2NDksIAotICAgIDY3OTgxLCA1MDc3LCAxMjAxNzQsIDEwODgwLCA2MzkyNywgNTA3NSwgOTE3ODgxLCAwLCA2NTA3NSwgMCwgMTEwMDcsIAotICAgIDk4MzcwNSwgNjY2NTksIDkyNjA3LCAwLCA2NjY4NCwgMCwgMzQzNCwgNDk1NCwgMTkwNCwgMCwgNTI2NiwgMTI2OTgwLCAKLSAgICA1MjcyLCAxMDQ5OSwgNDUwNywgOTU3OCwgNjM5MjMsIDEyMDE3NywgNzk3OSwgMCwgOTgzMSwgMCwgMTk0OTI2LCA0NjEsIAotICAgIDk4MDMsIDAsIDQ1MDQsIDE1MDUsIDAsIDYzMjUsIDUyNzYsIDQzMDIxLCAxMjA0ODgsIDAsIDU1MjM2LCAwLCA2NjQ2MSwgCi0gICAgNTE3NywgNDEzMjQsIDEyMDU1LCA4NzIyLCAwLCA0MTMyNywgMCwgNjY2OTUsIDQxMTQsIDQwOSwgNDM4MywgODkwMCwgCi0gICAgODk0OCwgNDEzMjUsIDAsIDcyMSwgMTAxODIsIDkxMDgsIDcxMzExLCAwLCAxMTkxODUsIDQyMjI5LCAxOTQ5MTIsIDAsIAotICAgIDU5OTgsIDAsIDQyMzUzLCA3NDgyNSwgMCwgMTI1ODcsIDk0MTA0LCA3ODU3MSwgMCwgNzEzMjgsIDE5NDU2MiwgNDE1NzYsIAotICAgIDQyMjE1LCA3ODU3MCwgMTE5MjA3LCAwLCA4NTc4LCA1OTk1LCA3NTczLCA0MTU3NSwgNzQ3ODksIDc0NzUyLCA2Mzk0NCwgCi0gICAgNjM5NDksIDY0NzY3LCAyNjcwLCA0MTY3LCAxOTQ3OTYsIDExNzIzLCAwLCA3NDEyMCwgMCwgNjUwNzYsIDkzOCwgNDM0MTQsIAotICAgIDczODU0LCAxMTczNywgOTcyMSwgMCwgMCwgMCwgMTE3NDIsIDI0MTksIDAsIDExNDkzLCAxMjMzNCwgMTk0OTEzLCA0MTUzLCAKLSAgICAxMjMwMiwgMTA3OTMsIDUyNTAsIDEyNDA3LCAxMTk3OCwgNDQwNCwgOTE4OSwgMTI0MDEsIDQyMDA3LCA1Nzc1LCA2NzU5LCAKLSAgICA2NTgwNiwgNDM5OTcsIDAsIDQyMDAyLCAxMjQwNCwgOTgzNTUzLCAwLCA0OTQwLCAxMjQxMCwgNzY4MywgMTE2NywgNzM3MjksIAotICAgIDQ5ODMsIDEyMDUwNywgODYxLCAwLCAwLCAwLCAwLCA0Mzc1NywgNDMzNzAsIDAsIDAsIDExOTU2LCAwLCAwLCAwLCA5NjE2LCAKLSAgICA2NjMxLCAwLCAxMjgxNiwgNDM3NTksIDQyMjE4LCAxMjcxMCwgNjg2NzQsIDEyNzIxLCA0MTAxLCA2NjE4NSwgMCwgNTk5MiwgCi0gICAgNzYxNiwgMTk1MDQ0LCAwLCAxMjU3NywgMCwgOTgzODg0LCA4NTMsIDQyNjkzLCAxOTUwMTQsIDAsIDk4MzY0NywgNTAxNiwgCi0gICAgNDM1MzUsIDYzODkzLCA0MjgzNSwgOTQ5MSwgOTE3OTEzLCAwLCA5MTc5MTQsIDAsIDEyNzEyLCA3MTA1LCAxMjc4MDcsIAotICAgIDY1MDYwLCAxMjA3OTcsIDk5MDAsIDc3NTAsIDAsIDE5NDkxOSwgMCwgMTI3ODMwLCAwLCA2NDc3OCwgMTI1ODUsIDEwNTY1LCAKLSAgICAxMjgxNTEsIDEyMTc3LCAwLCAwLCAwLCA3NzgyNCwgMCwgNDkwMCwgMTI3ODc0LCAxMjg3OCwgOTI2MzAsIDg5ODQsIDQxMTksIAotICAgIDc0NzY4LCA4OTcxLCA3ODU5MywgNDMxMTMsIDk3MDIsIDc4NTk0LCAxMTAyNSwgOTI0NSwgMTMwNDgsIDQ5MjcsIDQxMzgsIAotICAgIDc0MTg1LCA5MjQ4MSwgOTI3MTAsIDEyMzk3LCA3NzgyNywgMCwgMTMwNTQsIDEyMzk0LCAwLCAwLCAwLCAxMzA1MywgMCwgCi0gICAgMzk0OCwgMTA3ODEsIDE1NDYsIDAsIDUwMTAsIDE2ODAsIDEwNTA3LCA3ODU5MCwgNzg1ODMsIDAsIDAsIDAsIDE5NDkxNSwgCi0gICAgNzI2NywgMCwgNzQ4MzMsIDEyODE4MSwgNTk5MywgMjgxOSwgMCwgMTI3MDYsIDc3ODQwLCAxODkzLCA3MjY2LCA2MzkxNSwgCi0gICAgNzI2NCwgNzI2NSwgMCwgMTM2MywgMCwgNjM5OTcsIDYzOTEwLCA2Mzk5NiwgMzA3NywgMCwgMCwgMTUxMiwgNjk5MjksIAotICAgIDEyNTg5LCA0MTQ3OSwgMTI4MzEzLCAwLCA0MzMzOSwgNzM3NzYsIDk4MzYsIDEyMDcyNywgMCwgNDE0ODEsIDQzMzM1LCAKLSAgICA3ODMyLCA0MjM0MywgMzA5MCwgNDMzMzcsIDgxNywgMTY2NCwgMTg1MCwgMTI4ODQxLCAzMDc5LCAxMTM0MCwgNDI0MDgsIAotICAgIDQyNDQ3LCAxMjcxNDAsIDEyMDAyMCwgNDIzMDcsIDEyMzg2LCA0MjMwNCwgOTE3NTU1LCAwLCAxMjM4OSwgMCwgOTIzNjYsIAotICAgIDQxOTk2LCAxMTUyNiwgNjM5ODUsIDU4NjQsIDExNDcsIDYzOTkyLCA0Mjg4NywgMTk4NywgOTI3MTgsIDU0ODAsIDc4NTgsIAotICAgIDExNjUzLCA0MTE2LCAxMjM5MSwgNjYxOTMsIDAsIDQ5MzksIDEyMzg0LCAwLCAwLCA0MTY4NiwgNjM5MDUsIDExOTYwMSwgCi0gICAgMTk0Njg4LCA5ODMxOTAsIDAsIDEyNjQ5LCAwLCAwLCA4MjQ3LCA1MDcsIDkxLCAyMDQyLCAxMjA3NzUsIDQzNjQzLCAKLSAgICAxOTQ2ODksIDY2MDI4LCAxMDAzNiwgNDE4NDQsIDExOTgxMywgNzc0LCAxMTk4MjksIDAsIDExOTgxNSwgNTk5NCwgMTI1MzksIAotICAgIDAsIDc4Mzc1LCAxMjA1OTcsIDExOTgzMywgOTgzMTA1LCAxMTk2MDAsIDAsIDAsIDc3MTksIDYwMjYsIDI0ODYsIDEyODMxMiwgCi0gICAgMTE5ODA4LCAxNjIsIDAsIDY1MjE5LCA0MTA3MywgOTY4NywgNDE2ODEsIDYzMDQsIDExOTgxMiwgNjYxOTYsIDE5NDg4MSwgCi0gICAgNTI2MiwgMCwgNTUyMzMsIDEyNjgxLCA0MjM3OSwgMCwgNzUzNCwgMTIyMTksIDAsIDEyNzUyOCwgNDI4MTAsIDEwNDkyLCAwLCAKLSAgICA5ODM2NjEsIDAsIDQzMTE5LCAwLCAxMjA3NTMsIDEyNDAzLCAyNTAwLCAxOTUwMTMsIDAsIDQ4OTksIDEyNzI5LCAwLCAwLCAKLSAgICA3NDExMywgMjM0MywgNDEwMywgMTk5NDYsIDc0MTEyLCA3Nzg1MSwgMTMxMTIsIDAsIDE5NTAxMiwgMTI4NTksIDcwMDg3LCAKLSAgICAxMjAxNDgsIDY2MzY5LCA1ODYxLCAxMjc3NTgsIDExOTk5LCAxMjQwMCwgMCwgOTgzODM5LCAxMjY0NSwgNTE0NiwgMTEzMjAsIAotICAgIDY4NDEwLCA2NzQ4LCA2NTA0MCwgMCwgNjQxODQsIDEyOTc0LCA2NDE4MywgNjc2MTMsIDEyMDY0NSwgNTE0NywgMCwgMCwgCi0gICAgNzQ1MjQsIDAsIDE5MjgsIDAsIDY3NjQ5LCA1OTkxLCAzNDQ1LCA2NzYwOSwgNDk3NiwgNjQxNzYsIDAsIDY3NjEwLCA4MjQxLCAKLSAgICAwLCA3Nzg2OCwgNDIwNiwgMCwgMCwgMCwgMTI4Mjk4LCAwLCAxMDEzOCwgMCwgMCwgODg5NywgMTIwMjM0LCAwLCA4MzU3LCAKLSAgICA0MTI0LCA3Nzg2MiwgNjU4MzYsIDEyMDY0MSwgMTI3OTI2LCA3Nzg1OSwgMCwgMCwgMTEyMywgOTYzLCA0MTU1MywgMTAxMjAsIAotICAgIDEyNDA1LCAxMjAxNTAsIDkyNjY0LCAzOTgsIDEzMjc4LCA5NzIzLCA2MzY2LCAxMjAzMTEsIDc5NDUsIDAsIDQ0MDIsIAotICAgIDk5NzAsIDEyNDAyLCA5ODMxMzYsIDQyMzkyLCAxMzA1LCAxMjQwOCwgMCwgNDQwMDcsIDAsIDAsIDQxNDY0LCAxMjQxMSwgCi0gICAgMTI5NjksIDEyMDgyNCwgNDE0NjUsIDk4MzU2NSwgODUyOCwgMTU3NSwgMCwgNjM5NTUsIDE2NSwgMzAyNCwgNDE0NjcsIAotICAgIDExOTE2MywgMCwgOTA5MywgMCwgOTE0NywgMTI4Nzg3LCA2Mzk1OCwgMCwgOTE0OCwgOTY5MiwgNDA5NiwgNTMsIDgyOTYsIAotICAgIDY3NTAsIDE5NTAxOCwgMCwgOTU5NCwgMCwgMCwgNDM1MjcsIDAsIDcyNywgMTk0NzAzLCAxOTUwMjMsIDU4MDUsIDAsIAotICAgIDY3MjYsIDAsIDQyMTc2LCAxMjM3MCwgMTE2NTUsIDExOTA5NSwgMTA1OTEsIDIyODAsIDAsIDEyMzcyLCAxMjA2NDIsIAotICAgIDEyMDMwNywgMCwgOTIzNDMsIDAsIDEyMzY2LCAxMDk2MywgNjA2NiwgMTMyOSwgMCwgMzA1MiwgOTIyMCwgMCwgNjQ0NzgsIAotICAgIDE5NDcwMSwgMTA4MDMsIDQxMzIsIDEyMDMwNiwgNjg0NzQsIDkyNDczLCAwLCA5ODMzMTMsIDc0ODM3LCAxMjAxNTUsIAotICAgIDE0OTksIDAsIDgwNTUsIDQyNzQwLCA2Mzk2NSwgMCwgNjM5NjIsIDc0MDQyLCA4OTI0LCA0MzEyMywgNTk4OCwgMzY2MCwgCi0gICAgNjM5NjksIDExNzgxLCA0MjcxOCwgODc4OCwgMTM1NywgNjQ4NTEsIDY1NzQzLCAwLCA4Nzc0LCAwLCAxMjcwODYsIDk5NDEsIAotICAgIDEyMDE3MiwgMCwgMTkzMywgNjk2NTUsIDk1NjQsIDAsIDkyNDM1LCA3Mzg2NiwgMCwgMCwgMjQ4NywgNjc2MTQsIDMxMjEsIAotICAgIDE4MDQsIDMzMTEsIDY3NjE1LCA3MDA4MSwgNzgzMDIsIDEyMjIwLCA2NzYxNiwgMTIwNTk4LCAxMjc0NzUsIDAsIDY4MjAwLCAKLSAgICA2Njc1LCAxMjgxNDQsIDAsIDY3NTkyLCAxMjA2ODUsIDAsIDY0NzcxLCAxMTk4LCA5MTMyLCAwLCA2NDYxOSwgNTEwLCAKLSAgICA2NDY2MywgMCwgMCwgNDU2MSwgMjEwMSwgMTM5OCwgMCwgOTI1NTQsIDc0MDM0LCA0MTU2OSwgOTI2ODQsIDExNDA2LCAKLSAgICA4MTY3LCAxMjEyNywgMCwgODQwLCAwLCAxMjY1MTgsIDcxMDEsIDY5NjcsIDAsIDE5NDg5OCwgOTc5NiwgMCwgMzMzLCAKLSAgICA2OTg5MSwgMCwgODE0NCwgMjExNywgMCwgOTgzNTk1LCAxMjQwNiwgMCwgMTk5MzEsIDExOTA4OSwgNjY3OCwgNzc2OSwgMCwgCi0gICAgMTI2MjEsIDAsIDEyNzM2NiwgMTAyMjcsIDQ3NjQsIDQzMTAxLCA5OTgxLCAwLCA0MDk4NiwgNDEyNywgNjY0ODcsIDAsIAotICAgIDQyMjAyLCAxMjc1NCwgMTk1MDIyLCAwLCAwLCA5NDA5NywgNjc1OTQsIDIwNDgsIDEyOTQ0LCA0MDUwLCA2NzU5NSwgCi0gICAgOTE3OTY3LCA0MzEwMiwgMTA1ODEsIDEyOTg1LCA0NTMzLCAxOTUwMjEsIDc0MDAzLCA2NDkwLCAwLCAxMjAzOCwgMCwgMCwgCi0gICAgMTIwNzA0LCA2NTQ2MSwgOTc5OCwgNjk3MDQsIDAsIDE5NDgsIDY5ODQxLCAwLCA5NTIsIDEyODIzNSwgMCwgMCwgMTIwODAyLCAKLSAgICA2NDQ5LCA5NDk0LCAxMjAzMTMsIDAsIDQzMDk4LCA0ODQzLCA4MTQyLCA2NDE2MCwgNDA5OCwgNjQxNzAsIDAsIDAsIDM0MzYsIAotICAgIDExOTk3MywgMCwgMTI4MTcsIDY3NTk3LCA2Njc2LCAzOTMwLCA0MjYxNSwgMCwgMCwgNjc1OTgsIDAsIDAsIDAsIDY1NTkxLCAKLSAgICA0MTU4MSwgNjU5MTYsIDE0NTMsIDAsIDAsIDAsIDg1MDAsIDQyMjIyLCAxMjAxNDIsIDczNzQzLCAxMjA0MDAsIDQzMTcsIAotICAgIDExNTQzLCA2NzY3NiwgNjQ2NzYsIDAsIDAsIDY3NjA2LCAxMTkwODMsIDAsIDQyMjE3LCAxMzEwMiwgMCwgNjYwMDMsIAotICAgIDY2NzIsIDAsIDAsIDAsIDk4Mzc0NywgNjM4NDEsIDk2MTMsIDkwMDEsIDQ1MjYsIDExMjc0LCA2NzYwMSwgNjQ1MjAsIAotICAgIDY0MjEwLCA2NjY0LCA3ODcwNCwgNDIwNTYsIDEwMjI4LCA2NDk1NywgMTEyODEsIDAsIDM4MDcsIDE0NjksIDY2NjQwLCAKLSAgICA2NTM4MSwgNDIxOTcsIDQ5ODgsIDQyMzcyLCAwLCA5NTk4LCA5MDQsIDM1MiwgNDIyMjUsIDE0NTEsIDgwNjEsIDg0NTMsIAotICAgIDQxMzQsIDAsIDc0ODQ3LCA2NjU3NiwgMTI3OTE2LCAwLCAxMDUyMCwgODU3NSwgOTk2MCwgMTIwMSwgMTI3Mjg5LCAxMjg0NiwgCi0gICAgMTI3MjkxLCAxMjcyOTIsIDExOTE5LCA2NDk2MiwgMTI3Mjg3LCA0MzczOSwgMTI3MjgxLCA4NTExLCA5NDYwLCA4MjMsIAotICAgIDExNTg3LCAxMjMwNSwgMCwgNjQ2OTUsIDEyNzMwNSwgMTIzODcsIDEyNTMsIDEzMTgzLCA2NTc2NiwgNTAwLCA0Mjc4MywgCi0gICAgNjU3NjUsIDY0MjA4LCA2NDM2OSwgNjU3NjAsIDY1NzYxLCAxMTk1ODUsIDExNjA2LCA2NDc4NCwgMTE3MDIsIDY2NDk4LCAKLSAgICA5ODIxLCA2NDMwNCwgMCwgNTE1MiwgMTEwNDgsIDc1MzMsIDY4MzY2LCA2NDQxMCwgOTIzMDUsIDAsIDQzMjMsIDEyMDA2MiwgCi0gICAgOTI2NjksIDcxMzMyLCAxMjcwNTIsIDQyNTg3LCA0MjIxNCwgNDEzOTQsIDAsIDQ3NjMsIDQxMTIsIDExODkzNSwgMCwgCi0gICAgNTI2MCwgNDMxNDMsIDk0MDM4LCAzMjYsIDEyMDEzMSwgNjg0MjMsIDAsIDEwNzcxLCAyODc2LCA3NDA3NCwgOTI1MzAsIAotICAgIDE5NDkyNCwgNDEzOTgsIDczODIsIDk4MDIsIDEyNzA3NywgMTI3MDc2LCA0NTMsIDQxMzk2LCAxMjA1MjQsIDQyNzIwLCAKLSAgICAxMjE0MCwgOTU3MiwgMCwgNzAwMywgMTk0ODgzLCA0MjMzNCwgNzcwNCwgMTI2NDkwLCAxOTQ4ODUsIDQzMTQ0LCA0MTIzLCAKLSAgICA4NDk0LCA0MzE0NiwgOTk3NywgMCwgMCwgNjU3NTksIDEwNzY1LCA2NDA2MSwgNDQ2NSwgOTgwOCwgNjQwNTYsIDY1NTgyLCAKLSAgICA0MTI2LCAwLCA5NTIxLCA5NTg5LCA2NDc1NSwgMCwgNjQwMjAsIDEyNjYwNCwgMTA0NjQsIDAsIDAsIDE5NDg2OSwgNjQ1MTQsIAotICAgIDExNTI4LCA2NDAyNCwgMTI4MDcyLCA2NzksIDY0MDEzLCAwLCA1ODUwLCA3NTgsIDc1MzYsIDAsIDkyMjM0LCA0MTQ0MSwgCi0gICAgMTA2OTMsIDY0MDA2LCA5ODM1NjcsIDY0MDA1LCA0MDU4LCAxMTkwMTksIDEyNjQ4NywgNjQ2NjAsIDAsIDExOTA1MCwgMCwgCi0gICAgOTgzMDY5LCAxMTM5LCA0MzI5OCwgNjQwMjcsIDY0MDI5LCA4OTcwLCAwLCA5OTM0LCA5ODMwOTQsIDEwNzc0LCAxMjgwMjAsIAotICAgIDQyMjAxLCAxMjQyMSwgMTI4MjE2LCAwLCAxODUyLCAzMDU3LCA2NDA0NiwgNzM3NDQsIDY0MDM0LCA2NDAzOSwgMCwgMCwgMCwgCi0gICAgMTk0ODk5LCA5MjMyMiwgNzY0NSwgMTI4NTQsIDc0MzM4LCAzNDk2LCAwLCAwLCAwLCA5MTAyLCA2MjcsIDEyNzc5NSwgCi0gICAgNjE1OCwgODMyNywgNzQ1NTMsIDY2NjMyLCAxMjQxOSwgMTMzMDksIDExNTcwLCAxMjc4MTEsIDE5OTYwLCAxMTY5NiwgMCwgCi0gICAgMTAxOCwgMTE4OTcwLCAxOTQ5MDksIDE5NDg5NywgMTY4MiwgMTk0ODk2LCAxOTQ5MTEsIDQyNzU2LCA2NzY1LCAxOTQ5MDYsIAotICAgIDAsIDAsIDczODE0LCAxMTQxMiwgNjc2OCwgMTA3MjgsIDE5NDgzMCwgNzEzMTYsIDExODg2MywgNDMzMTEsIDY0OTY2LCAKLSAgICAxMTU3NywgMCwgNDMwNDAsIDE4MzMsIDExNTc2LCAwLCA3NDc3OSwgMCwgMTg1LCA2NTA4NSwgNzQ1MzMsIDY0NzU0LCAKLSAgICAxOTQ4NDgsIDc1MzUsIDgwODUsIDQyNTI1LCAxMjAzODcsIDk3NDksIDQxNzAxLCA2MTMxLCAxOTQ5LCA0MTE3LCA3ODQ3LCAKLSAgICAxMjA0ODksIDE5NDcxMSwgNjQ0ODMsIDY1NjkzLCAwLCAwLCAwLCA2OTY5NSwgNDIyNDAsIDAsIDEyNjY1MSwgNDI4NjQsIAotICAgIDEyNjQ5OCwgNjQ2NjcsIDQxODY4LCAxMTg0LCAwLCA4MTUsIDExNDg0LCAxMjc1MzUsIDY3ODQwLCA5ODM2NTEsIDAsIAotICAgIDY2MTk3LCAwLCAxMDk4NiwgNjQ2ODMsIDk4Mzc4NSwgMCwgMzQ1NSwgMCwgMCwgOTg3OSwgMCwgMCwgNDE1OCwgMTI4MDUwLCAKKyAgICA2NDEyOCwgNjYyODYsIDkzMDQyLCAxMjg4MzAsIDY0MTMyLCAxMDg2NywgNjQxMzAsIDY0MTI5LCA5ODM4NDQsIDQzMzc0LCAKKyAgICA5Nzc5LCAyNzY0LCA2NjAwMiwgMTAxNjcsIDk0NzEsIDAsIDY2MDIxLCA3NDUwOSwgMCwgNTQ1NywgNTQ0MCwgODg1NywgCisgICAgOTM5ODEsIDY1MjgyLCAyODQzLCA1MzU1LCAxMjc5MjgsIDk4Mzk2NSwgNjk5NzEsIDUxOTQsIDExNjU3LCA0Mzk4NCwgCisgICAgMTI4MjkyLCAxMTM3MjQsIDEyODg3MiwgMCwgMCwgNzIzOTMsIDEwNzE3LCA2NDU3MCwgNTYzMCwgNTM5NiwgNjQxNDMsIAorICAgIDEwNjgyLCAwLCAxMDYwMiwgODAwLCA0MjQ5OSwgNjYxODYsIDAsIDAsIDY0OTMwLCAxMTYzMSwgNjQxNDYsIDY0MTQ1LCAKKyAgICA2NDE0NCwgNzYyLCAxMzE3MiwgMTE4ODU5LCAxOTQ2NjEsIDY0NDY4LCAxMDkwNiwgMTM1MywgNjk2MCwgMCwgMTI4Nzc5LCAKKyAgICA1ODI4LCA4NzI0LCA5MTc4MDYsIDg5MzMsIDE2MDEsIDQyMjQ0LCA4NTgsIDcwODAsIDY0MTA5LCA2NDEwOCwgODA5MCwgCisgICAgNzA0NTUsIDcyMzg4LCA3NDYwNiwgNTg3LCAwLCAxMjgxMzEsIDAsIDAsIDAsIDc4MjE0LCAyNzUwLCA3NDIxOCwgNTU2LCAKKyAgICA2NDE1OCwgNjQxNTcsIDc4NzA3LCAxMjIxMywgMTk0Njc4LCAyNzYwLCAwLCAwLCA3ODcwOCwgMTk0Nzk0LCA2NDE1NiwgCisgICAgNjQxNTUsIDQyNDk2LCAwLCA2NDE1MSwgNjQxNTAsIDEyNjc5LCAxMDA1MywgMTA0MjEsIDExMDkzLCA2NDE1MywgNjQxNTIsIAorICAgIDEyNTAxNiwgMCwgNDgzOSwgNjg1MjcsIDAsIDE4NzQsIDExOTAxNiwgMTIwMDkxLCA2NTc3LCA2NDEyNSwgNjQxMjQsIAorICAgIDY0MTIzLCAwLCAxMjc1MzEsIDkyNTM0LCA3MDA3LCA3NTkwLCA2NTQ0MywgOTAzNiwgNzg4NDcsIDY0MTIyLCA2NjM4OSwgCisgICAgNjY2MDksIDAsIDY0MTE3LCA2NDExNiwgNjI4NywgNjQxMTQsIDI3MjUsIDY0MTIwLCA2NDExOSwgNDM5ODEsIDQyMTI4LCAKKyAgICAxMjc4NDIsIDExNzcsIDY1NjAxLCAxMjMyMiwgNjQxMDYsIDY5NjQwLCA5Mjg5NSwgNjQxMDIsIDc4NTksIDE5NDUsIAorICAgIDY0MDk5LCAwLCAxMDQ1MywgNjQxMDQsIDcxODgsIDc5OTcsIDAsIDczODksIDk4MzE2MSwgODcwNSwgNjQwOTcsIDY0MDk2LCAKKyAgICA5NTcxLCA1MjgsIDEyODY3MSwgNDQwMTcsIDExNDI5LCA3MTM0NywgMCwgOTgzMDc3LCA5MTc5OTAsIDczODQxLCAwLCAwLCAKKyAgICA5MDU2LCA2NDMxMywgNjE4OCwgMTIwMDE5LCA2MTU1LCA2NDA2OCwgMTgyMywgNjQwNjYsIDY0MDY1LCA2NDA3MiwgNjQwNzEsIAorICAgIDYzLCA3MjMzLCA5MjIxMiwgNzI0MTQsIDQxOTA0LCA2NjM5LCA2NDA2NCwgOTgzNzc1LCAxMjgzNDQsIDAsIDExNzYsIAorICAgIDExODk1OSwgMTI3OTMwLCA4MTYyLCAxMjcwMTksIDk4MzgzMSwgOTI3NDcsIDEyMDUxOSwgNjYzNzYsIDY2MjQyLCAxMTQxNSwgCisgICAgNDMzMywgOTg1NSwgNjQxMTIsIDY0NjQyLCAwLCA1Mzg4LCAwLCAwLCAwLCA3NzE0LCA2NjIyMiwgNjk5MDIsIDc3NjgsIAorICAgIDcyNDAzLCA0MTk5LCA2NDcwOCwgNjUwNjQsIDcwMTE3LCAwLCA4NzA4LCA5NTYwLCA2NDA3NywgNjQwNzYsIDg5OTYsIAorICAgIDQ5OTIsIDQ0NzEsIDQyNjIyLCA2NDA3OSwgNjQwNzgsIDkyMTc5LCA3MTg3OCwgMTI2NTcwLCAxMjkxMjAsIDY0NjE1LCAKKyAgICA0MTkxNSwgMCwgMTIwNzUsIDQyMDQxLCAxOTQ4MjUsIDUxNzQsIDk4MzIxNywgMCwgMTI3NTU3LCAzMTIzLCAwLCAxMjY4NSwgCisgICAgMTE5MjE2LCA4NDA4LCA2NDcwNCwgMCwgMCwgOTIyMywgMCwgNDE2MTYsIDY3OTk5LCA3Mzc5NywgMCwgMTExNiwgMTI4MjA0LCAKKyAgICA0MzA0OSwgNzEzNiwgNDMwNTAsIDg1NDgsIDEyMDQ4NSwgMCwgMTE5MDYxLCA5MTc5OTksIDAsIDEzMTE1LCA0MzY3NSwgCisgICAgNjQwOTEsIDkzMjIsIDAsIDEyMDU5NSwgNjQwOTUsIDY0MDk0LCA4MTExLCA2NjI0NywgNDIzMzIsIDY0MDg5LCA2NDA4OCwgCisgICAgNjE5OSwgNjcyNDksIDY2Mzk4LCAxMTQzNCwgNjQwODMsIDY0MDgyLCAxMTMyOSwgNzczNywgNjQwODcsIDY0MDg2LCAKKyAgICA2NDA4NSwgNjQwODQsIDE5NDcwMywgOTkyNywgNDEzMzUsIDQxMTgsIDE3OTcsIDAsIDQxMzM0LCAwLCA0NiwgNDM0NDgsIAorICAgIDEyNzg4MSwgMjk4LCAwLCAxMjgxMTQsIDAsIDQyNjI3LCAxMjUwMTEsIDMyLCA2MTg3LCAxMTkwNTIsIDExNDk1LCAxMTQ1OSwgCisgICAgMzY2NSwgOTgzNjAwLCA0Mjg3MSwgMCwgMTk5MjMsIDc0MzM1LCAwLCAxMjcxOTIsIDY2MjM5LCA0MjI2NCwgNjQ0MDMsIAorICAgIDQ0MTIsIDcyNDAsIDkyNDk1LCA5MTc5MDAsIDk4MzQ2NiwgNjU3NTgsIDEyNzUwLCA0MTgxLCA4NTQ0LCAxMTk4NDksIAorICAgIDEyMDE5OSwgOTE3ODk3LCAxMjAxOTgsIDY5ODA5LCA2MTgxLCA2NTAxNCwgOTgzNDIwLCAwLCA5ODMxOTYsIDM2MzksIAorICAgIDExOTU4OCwgMTE4ODUxLCAwLCAxMTg5MDQsIDEwMDczLCAxMjAyMDYsIDEyODg2MiwgMTI3MTg2LCA2ODQwOSwgNDI4NDQsIAorICAgIDc0OTgsIDEwOTgsIDkyNTY1LCAxMjAyMDUsIDAsIDEyODkxNSwgMTAyMDcsIDg3ODksIDkzMDcwLCAwLCA5Mjk3MywgCisgICAgMTI4MzI1LCA5MjM0LCAwLCA2MTgyLCA5ODM0NzMsIDY1MDU4LCAwLCA5ODM0NzgsIDE5NDk3MywgMCwgNTQ3MSwgOTQ2MSwgCisgICAgNTU3MywgMTE4OTM2LCA1NDczLCA0NCwgMCwgNjYyNDQsIDk0MDcyLCAwLCA2NjIzOCwgMTI4NDQsIDY2ODk0LCAxNjIyLCAKKyAgICA3NzY3LCAxOTAwLCA0MTMzOSwgMTE0NTgsIDAsIDAsIDY1ODEsIDU1NzYsIDk4MzQ5NSwgNDM4NTUsIDQxMzM3LCAwLCAKKyAgICA0MTYzMSwgODk0NywgNjgzOTAsIDY5NjgzLCA0MTY5NCwgMCwgNzIzOTYsIDc5MDgsIDAsIDEwNDA4LCA2NTc5LCAwLCAKKyAgICA2NDYxOCwgMCwgMTIwMTQ3LCAyMTM4LCA2NTgzLCA3NzYxLCA3MDAwNSwgMTIwNTA0LCAxOTQ4MjgsIDAsIDUwNTgsIAorICAgIDQxMDEwLCA5OTkyLCAxMjgyOTksIDUwNTcsIDkxNzk0MSwgMCwgNzQ1MzgsIDUwNTQsIDExODk1MSwgMTk0OTcxLCA3ODYwNiwgCisgICAgMCwgMTQzNywgNDE2MTcsIDY1OCwgMzQ5NywgMTI4NTA5LCA3NDg2LCA1MDYxLCA1MDYwLCA0MjM1LCAxMjc4NzgsIDAsIAorICAgIDEyODUyOSwgMTIxMTMsIDQyMzYsIDQ3MjcsIDEyODQ4NywgMCwgNzY5MywgMTA3NDksIDEyMDMzMiwgNzQ4OCwgNTc3MywgCisgICAgOTc4LCAxMjgxMzQsIDAsIDQxNjE5LCAxMDIzOSwgNjg2MTEsIDcxODY0LCA2NjIwOSwgOTgzNDIzLCA3NDEzNSwgOTc0OCwgCisgICAgOTgzOTU2LCAxMjc1MjQsIDAsIDAsIDAsIDAsIDE5NTA4MywgMCwgOTgzODQzLCA5ODMzMDAsIDAsIDAsIDAsIDkyNzc2LCAKKyAgICA5MzQxLCA3ODgyMSwgMjM3OSwgMTEzMjUsIDk4Mzk1MSwgNjQ2NjgsIDY3ODU0LCA4MTI1LCAxMjA1NDUsIDY3NDMsIAorICAgIDExOTE3NSwgOTE3OTQwLCAyMzY5LCAwLCA5ODM5NzIsIDEyNzk2NiwgMTE5MjM1LCA3MTg2OCwgNzM5MzYsIDcwMDgsIAorICAgIDQzNjYwLCAwLCAwLCA0Mzg0MSwgMjM2NywgMTI3ODI3LCA5ODM4NTcsIDI2NCwgMjM3NSwgODA2MCwgNjE5NCwgMTE5ODU4LCAKKyAgICAxODQ0LCAxMTkwODQsIDEyOTA0OSwgNjAxOSwgMCwgMCwgNjk2MSwgMCwgNzA0MzUsIDY3MTcxLCA4ODAwLCAwLCA0Mjg2MiwgCisgICAgNDQ2MywgNjU1ODEsIDYxOTIsIDEyNzkwMCwgNDI3NzEsIDAsIDkyMzMzLCA3MjUsIDY1MDQyLCA5MzAxNCwgMTIwODAwLCAKKyAgICA5ODMwNDAsIDEyODkyLCAwLCA2NzE0OSwgMCwgMCwgMCwgMCwgMTI3MjYxLCAxMjIyNCwgOTgzMTI4LCAxMjkwNjEsIDUwNzQsIAorICAgIDUwNzMsIDEyODc5MCwgODk4MywgMTE4OTgxLCA3NDQ5MywgNzEyMzEsIDUwNzIsIDc0NTQ3LCA2MTk4LCAxMTYxNCwgMCwgCisgICAgMTk2LCAwLCAwLCAwLCA0OTI5LCAxMjAzNDIsIDAsIDAsIDEyNzk4NywgMCwgNDI4NDcsIDExOTg1NiwgMCwgNjc3NTQsIAorICAgIDQ5MzQsIDAsIDQxMzIzLCA5NzU4LCAwLCA5MjI4OSwgNzAxODEsIDQyNTg0LCAwLCA0MzI5LCA0MTMyMSwgNDk3OSwgMzA0OCwgCisgICAgNzc1MiwgNDEzMjAsIDk4MzA0MiwgNjQ2NjcsIDEyODE5LCA5ODM4NzAsIDUwNzEsIDEyNzkxNSwgMzY0MiwgNjczMzQsIAorICAgIDUwNzAsIDEwMDQyLCAxMTM4MTMsIDM5ODcsIDUwNjgsIDAsIDg5MDksIDc4NjUwLCA3ODY0OSwgNjk5MTcsIDEwNjM2LCAKKyAgICA3Mzk4MSwgMTE4MDYsIDQzMTY3LCA0NTMxLCAxMjQ1LCA5MTA1LCA2NjQ2MywgNDkyMSwgMTIwMjE5LCA0OTI2LCA2NTU0NCwgCisgICAgNzM4ODQsIDE5NDYxOSwgMCwgMCwgNjQ3MDksIDAsIDE5NDYyMCwgNzg4ODAsIDQ5MjIsIDMyNSwgOTkyLCAxMTk1NjgsIAorICAgIDQ5MjUsIDEyNzIxOCwgMCwgOTUyNiwgNDkyMCwgMTI4NjE3LCA5NDgsIDAsIDEyMDIwOCwgNDkzMCwgOTgzMjI1LCA5MjE3NSwgCisgICAgMTIwMjc1LCA0OTMzLCAxMTM3NzksIDAsIDExODk4NSwgNDkyOCwgMCwgMCwgNzQ3NzAsIDEyMDE5NCwgMTI2NTQ4LCA3MjIsIAorICAgIDE5NDkzNCwgMTk5MDgsIDEyNjM3LCAxMjc0ODUsIDExOTg1NSwgODc1MywgMTUwOSwgMCwgNTQ2OCwgOTUxMSwgNDM0OTMsIAorICAgIDEyNzQ3NywgMTY3MiwgNjIwNSwgMTA4NjQsIDc0NTg2LCAxMjc0ODAsIDcwMTAzLCA5MjY5NCwgNzg1NTUsIDEyNzQ2OCwgCisgICAgNzM4NjMsIDEyNjU3NywgNjgzMzYsIDQxNjA3LCAxMjAxMTUsIDE2NzksIDEyMDExNiwgMTIwMTgwLCA5Mjc2MSwgMTI3NDYyLCAKKyAgICA3MDA1LCA0MTYwOSwgOTU4MCwgNzA0MzEsIDQwMSwgNjk5NDksIDQzNzc5LCA2OTY4LCA1NzYxLCAzNDIsIDg1NTMsIDAsIAorICAgIDgxNDMsIDEyNzExNSwgMTE5ODMsIDkyMjQ5LCA2MjQsIDc0NTA4LCA0MDU3LCA0Mzc4OCwgNTA3OCwgNzQyNTgsIDEyNDc4LCAKKyAgICAwLCA1MDc2LCAwLCAxOTQ2MDksIDAsIDgyOTUsIDY4NSwgOTAyNSwgMTUyNCwgMTI2MTgsIDAsIDU1MzksIDEyOTE4MiwgCisgICAgOTI1MjMsIDEyMDEwMSwgNzEzOCwgMTIwNTUyLCA0MzUwNCwgMTk0NjExLCA2NjkxNCwgNjU3OTQsIDEyNTIwLCA4MDU4LCAKKyAgICA5NzMyLCA5MjQ4MCwgNTA4MCwgNjQ3NzUsIDUwMzYsIDUwMzUsIDEyMDU5MCwgNDI2MDQsIDk4MzY1NiwgMCwgODA3NCwgCisgICAgMjc1LCAxMzI5MSwgMTkwNywgNzg4MzgsIDQ0MzIsIDEyNzI3MSwgNTAzMywgMTI3MjczLCAxMjA4MTgsIDQ4MzYsIDM4ODgsIAorICAgIDczNzkyLCAxMDcyOSwgNjQ1NDYsIDEyNzI2MiwgNDM3MDQsIDEyNzI2NCwgOTI5NTcsIDY3NTg4LCAxMTkwMDAsIDEyNDk4MywgCisgICAgNzAzNjAsIDg4NTgsIDY0MDksIDc2NjMsIDEyMDI1MiwgMTI4MTAwLCAxMTkwMDcsIDAsIDY2MzIxLCA5NDA1MiwgMTI4MTQsIAorICAgIDEyNzI0OCwgMzQzMiwgMTAyMTgsIDAsIDYwOTQsIDc2NDEsIDQyNDQ1LCAxMjg3OTIsIDkyNDg3LCA0MjQwNiwgMTY3NiwgCisgICAgNjczNjIsIDc0ODYyLCA2NzM2NSwgNTAzMCwgNjczNjQsIDExODgxMCwgMTk1MDA4LCA3Mzg2OSwgOTYyMiwgMTEzNzYzLCAKKyAgICA2OTk0NCwgNjc4NywgNjczNjEsIDAsIDAsIDY4MzE5LCAxMDU0NCwgMTI5MTksIDczODEyLCA3MjM5NywgMCwgMCwgNjk5MDYsIAorICAgIDEyMDc4OSwgOTgzMDQxLCA5NDcsIDY3Njk1LCA2NzM2NywgMTk0NTg1LCAxMDk2OSwgNjcyMjgsIDc2MTMsIDkyNTYyLCAKKyAgICAxMTk5MzYsIDQ3OTUsIDExOTkzMCwgNzAxOCwgNzM3NiwgMTIwMTgxLCAxMjAxOTIsIDEyMDI2OCwgMCwgNDM1NjcsIAorICAgIDc0MDU2LCA5MTc5MTAsIDExODMzLCAxMTk5MTksIDcyMTYsIDY1MjMyLCA3MjE3LCAyNTEsIDcyMTgsIDc4OTUsIDQzOTUsIAorICAgIDQzNTM4LCAxMTk5MjYsIDExOTkyOSwgMTE5OTI4LCA3MjEzLCA2ODQ3NiwgNzIxNCwgNzIxNSwgNTg3OSwgNzQxNDEsIAorICAgIDg4ODAsIDc2ODUsIDY2NDU5LCAxMjAxNzMsIDY1NTQwLCA2NzM1OSwgNjI1LCA4MTg3LCA0Mjg2MSwgMTExMywgNzIzNiwgCisgICAgNzkxNSwgMzYzMCwgMTIwMTc2LCA4MTc5LCA3MDE2MywgNjc4ODYsIDkzMTYsIDEwOTgwLCAyNDg5LCA2NTYyNCwgODE1MCwgCisgICAgMTM1OSwgNjc2NTIsIDcwNDY0LCAxMjczMzAsIDczNzU2LCA1MDQyLCA1MDQxLCA0Mjc2OSwgMTIwODQsIDEyNzMyNCwgCisgICAgMTI3MzIxLCA3NDQxMCwgMTI3MzE5LCAxMjczMjAsIDEyNzMxNywgMTI3MzE4LCAxMjczMTUsIDEyMjgzLCAxNjE2LCAzNzk1LCAKKyAgICA2NzczMiwgODc5NSwgNjYyNDUsIDAsIDAsIDAsIDExMzgsIDczOTA1LCAxMjY3NywgMCwgNjc3MjQsIDMyMzksIDY2ODkzLCAKKyAgICAwLCAwLCA4NDMxLCAwLCA0MjE2NCwgNzEyMjksIDExNzc4LCAxMjYyMCwgNjgyNiwgNzM3NzMsIDcwMTY5LCA1MDQwLCAwLCAKKyAgICAwLCA2NzA5NCwgNzg0MjAsIDAsIDUwMzksIDk4MzY3OCwgNzg0MTgsIDAsIDUwMzgsIDAsIDAsIDEzMTg0LCA3NDI5MywgMCwgCisgICAgNjQ2NDgsIDAsIDkzNTksIDc4NDE2LCA5MTc2MjMsIDEyODc3MCwgNjUxNTcsIDY2NjIsIDAsIDcwMTgyLCAzODYzLCAKKyAgICA3MzkwOSwgNDgzNSwgNTUyNjYsIDQzNDMyLCAxMjc4MjIsIDQzMDksIDcxMjcsIDE5NDU2OSwgMCwgMTk0NTY4LCAxMzAxLCAKKyAgICAwLCA0MjU4OSwgNTY5LCAxMjg4MDQsIDczODEzLCA3MTEsIDQzODksIDcxMzMsIDEyMDY0MywgNzM4ODAsIDExNjEwLCAKKyAgICAxMTM2OCwgMCwgMTk0NTcwLCA0MTMzMSwgMTAwNiwgNzQyNDAsIDY3MjI0LCAxNTUwLCA4MjAxLCA3MDQ1MywgNzYyNywgCisgICAgNTQ5OSwgNTAzMSwgNzc5MDgsIDQyNzM4LCA2NTc4NCwgNzc5MDcsIDY1MjY3LCAzNzU4LCAwLCA2NTc4MSwgNjQ3MzQsIAorICAgIDY3MjIyLCAyNDQwLCA2NTc4MCwgNzA3ODcsIDg0NDksIDAsIDUwMDgsIDk4MzU3MiwgMjExOCwgMTI2NTA4LCAxMjEyMSwgCisgICAgODI1NSwgNTUxMiwgNzM4NzUsIDIxMjgsIDIxMzAsIDIxMzEsIDIxMjYsIDIxMzMsIDExMTksIDEyNzA2NywgMjExNCwgCisgICAgMjExNiwgMjQ1NSwgMTEzNzk4LCAyMTIyLCAyMTIzLCAyMTI0LCAyMTI1LCAxMjc0ODYsIDg3MTQsIDk4MzgyMCwgMjExMywgCisgICAgOTE3OTg1LCAyMTE1LCAxMjgxNzcsIDEyNzkwNywgNDM3MTMsIDUwNTIsIDY2MjIwLCA1ODIxLCA2MTg2LCA2NTc3OCwgCisgICAgNjU3NzUsIDUwNTEsIDY1NzczLCAxNDI5LCA0MjY0NywgNTA1MCwgMzAyLCAzODgsIDQxMTE1LCA3MzUsIDY2MzcsIDU5MDcsIAorICAgIDY1MDg4LCAwLCAxMjcyNiwgNzQ1OTQsIDkxMTcsIDk4MzE4MSwgMTIwMDMsIDU1MTMsIDY2NjYsIDUwNTMsIDc0MjMwLCAKKyAgICA1NTEwLCA3ODQ1MSwgMCwgNzg0NDcsIDI0NzAsIDc4NDM3LCAwLCAxOTI1LCA3MTI1MSwgOTIyMzcsIDc0ODA3LCAwLCAKKyAgICA1MDQ4LCA1MDQ3LCAwLCAwLCA3NDIwMSwgOTIzMTMsIDAsIDc0NDk3LCA5MjM5NSwgODA4OSwgNjkyOSwgNjM5LCA5ODM1NjMsIAorICAgIDY4MTc5LCA2NDQ0MiwgNzAxODAsIDkyMzQ4LCA0NTk5LCA0MTQwMiwgNjY3NCwgNDMzOTcsIDQzMjk0LCAxNDc2LCA2NDgsIAorICAgIDAsIDY1ODE5LCAzMjMzLCAwLCA0MTc4MiwgNjk1MSwgOTQwMTcsIDk4Mzk3NiwgMzUzMCwgOTc1MCwgMTI4MzE3LCAKKyAgICAxMjgxMjIsIDY2NTYsIDQyNjE4LCA3MDE3NSwgNTA0NiwgODUxMiwgNjU4NTYsIDc0MjYxLCA4OTY3LCAwLCA1MDQ1LCAKKyAgICA0MjAyNiwgMTkxNiwgNzk4NiwgNTA0NCwgMTIwNTU2LCA5MDA2LCAxMzEyOCwgNTA0MywgMCwgNzg1MywgNzQwNjgsIAorICAgIDc0MDA0LCA5NjY5LCAxMjM0MSwgMTI3MDMsIDg0MDIsIDAsIDExOTA3MCwgNzAxNzQsIDQxNzUwLCAzNTg2LCA2NDUwOCwgCisgICAgNDMxNDgsIDAsIDEyNzk3MSwgMTE5NjA2LCA2Nzk4MywgMTMyOTYsIDUxNywgMCwgMTI4NTM0LCAxOTQ5NDYsIDQxNTI4LCAKKyAgICAxMjMsIDY1NDU0LCAwLCAxOTQ4NTYsIDc0NDc4LCAxMDUzMSwgNzc4NCwgNDE1MjYsIDEwODI5LCA3Mzk5MSwgODA1NywgCisgICAgMTEyNiwgNzM4OTUsIDE5NDg1NywgMTk0NTkxLCAwLCAzOTI1LCA0MjUxLCA4MDY5LCAxMDUxNywgNzExMTIsIDQ4OSwgCisgICAgNzExMTAsIDQyNTAsIDEyMDQ0MSwgMTIwNDUyLCA0MzE1MSwgOTgzMTc4LCA5MjczOCwgNjYyMDAsIDAsIDAsIDEyNTAyNiwgCisgICAgNzQyOTgsIDEyODg3OSwgOTgzNDc0LCA4NzExLCA2MTgzLCAwLCA5ODM5NTIsIDcyNDAyLCAxMjA0NDgsIDc2MjMsIAorICAgIDExODkyNSwgMTE4ODg5LCA5MjM1LCAxMjc2MCwgNzQxNzYsIDY5NjYyLCA2NjQ0NSwgNDM1NDAsIDEwMDYyLCAzNzQzLCAKKyAgICAxMTUxNCwgMTEwNzgsIDAsIDEyMTM2LCAwLCAxMjY1OTcsIDEyMDQzNSwgMTk0ODUwLCA3NzI2LCAxOTUwOTUsIDE5OTIyLCAKKyAgICAyNjcsIDMzOTMsIDQyMTk4LCAxMzcxLCAxOTQ4NDksIDY5MjMzLCAyNDU4LCAwLCA2MjAxLCAwLCA0MTA3NCwgNDI2NiwgCisgICAgMTA2NTIsIDQxNjEyLCA0MTA3NywgMzQwMiwgOTA1MCwgMzM5OCwgOTE3Nzk2LCA5ODMzNDgsIDAsIDMzOTEsIDQxMDc1LCAKKyAgICAyNDc2LCAwLCAxMjgwMTcsIDAsIDEwNjI1LCAxMjkxMDYsIDEyNzY3LCAxMzAxNywgNzg3NDMsIDY0MjYxLCA2NDkzNCwgCisgICAgNzAxNTIsIDEzMDE0LCAxMzAxMywgMCwgNjY3MywgMCwgMCwgMCwgMTI0MzgsIDAsIDk4MzM0MiwgMCwgOTgzODgwLCAKKyAgICAxMjY2MzgsIDkwNTMsIDEzMDE1LCA3NDUyMywgMCwgNzA0LCA2NjIxNSwgNjE5NSwgOTgzODI4LCA2NjYwLCA3ODc1OCwgCisgICAgOTE3NzYwLCA3NDg2MSwgNDIyMTIsIDEyNjI5LCAxMTQzNSwgMCwgNTUyNTYsIDY1NTM4LCA2NzM0MywgMTI3OTQwLCAKKyAgICAxMjkwODYsIDQzODc2LCAxMjY1ODUsIDY1NDQ4LCA3ODEwMCwgMTI5NDgsIDExOTAwMSwgMTk1MDAyLCAxMTkyMzgsIAorICAgIDE5NTAwNCwgNzgwOTksIDEyNzA4NSwgMCwgMTI4MzIwLCA0Mjg3LCA4Mjc2LCA0OTAyLCAxMTMxLCA5ODM2MDYsIDc4NDU4LCAKKyAgICA2NjcyOCwgMTgxNiwgMCwgNDI1MzMsIDE2OCwgNDI4NDUsIDQ4OTgsIDY0Mjk4LCAxOTUwMTIsIDc4MTA1LCA0OTAxLCAKKyAgICAxODIxLCAwLCA1NzgsIDM2NTMsIDEyODk0NiwgNzkxLCA5MTYyLCA2OTc3LCA3NDE5NiwgNzg4ODksIDcwMTYwLCAwLCAKKyAgICA3MzczMSwgODM1NCwgNDM1OTAsIDExOTMwMywgOTgzNDQ5LCA3NTU3LCAxMTkxMDgsIDY3Mzc4LCA4MjM0LCA3MjQxLCAKKyAgICA5ODM0NDgsIDExMzczNSwgMTE5MTY3LCAxOTQ5OTYsIDEyODExLCA2NTkyNSwgMzk0NiwgNzgwNzgsIDEwOTk4LCA3ODA4MCwgCisgICAgNjczLCAxOTQ4NjcsIDY0Mzk3LCAxMjgyNzYsIDc0NTk5LCA3ODQ0OSwgODg5MCwgMTk0OTc3LCAxOTQ5NzYsIDI0NDgsIAorICAgIDc4MDg1LCAxMDI2NywgODQyNCwgMjQ1MiwgNzgwODMsIDY3MjE3LCA4NzI5LCA3ODQ1NiwgMCwgNzg0NSwgMTI2NTY0LCAKKyAgICA3MTMwMiwgNDQwOCwgNDEyMiwgNjc3MiwgMTEwMzksIDg3MjMsIDY1ODk2LCA3MTMxMCwgMTE5MzAyLCA3MzEsIDExOTMwNCwgCisgICAgNzE5MDQsIDI0MzgsIDY0ODU1LCAxMTkzMDAsIDExOTI5OSwgMTE3NSwgMCwgNDIxMzUsIDM3MywgMTE5MTcyLCAyMTE5LCAKKyAgICAxMTQ1NywgMTE1MjEsIDc3MjMsIDEyODYzOSwgMCwgMCwgNDE5NTIsIDkzMDIzLCA1MjczLCAyMTI3LCA1MjY5LCA2MzM3LCAKKyAgICA1MjAyLCAyNDA0LCA1MjY3LCA0MjgyMywgMTEyOTEsIDE5OTE1LCA1Mjc3LCAxMjk2MywgNzAzMjAsIDYxODksIDQxMjUsIAorICAgIDEzMTQsIDEyMTMzLCAxMjAzNDAsIDExODg3MywgMTI3MSwgOTgzNjQwLCAwLCA2NjAyNCwgNDE0ODIsIDM4NjQsIDkyMDQsIAorICAgIDAsIDM4NzksIDAsIDEyOTc4LCA0MTY2LCA0NTc0LCAwLCA3NTY3LCA3NDU5LCA3ODEyOCwgNDEzOTAsIDUzODQsIDQxODgyLCAKKyAgICA2NzY0NywgNzAxNTQsIDU3NTksIDk4MzkxMiwgMCwgNDEzODgsIDY0NDQ2LCA0MTM5MiwgNjQyODgsIDQxMzg3LCA2NzIwMSwgCisgICAgODcwNiwgNTU1MiwgOTgzMTg3LCA3MDAsIDAsIDU1NTMsIDAsIDcwODgsIDUzNTYsIDc0OTksIDY4MDA3LCA2NjU5NiwgCisgICAgNzQwNjYsIDY3MjUxLCAxMDI2MywgNTU1NCwgMCwgMTIzNDQsIDEwMzExLCA3ODExMywgNjY2NSwgMTExMTUsIDAsIDc2MTgsIAorICAgIDg1MTcsIDExNDU1LCA3ODQ0MCwgNjQ2MzIsIDY0NDQ3LCA1NTU1LCA3ODA4OCwgNzgwOTMsIDc4MDkxLCAwLCA0MjgwMywgCisgICAgNjUwMzMsIDkxNDMsIDY2NjgsIDY3Mjg4LCA2Nzk5NSwgMTk1MDY5LCA2NTYsIDE5NTA3MSwgNjUwMzcsIDQ1NzcsIDY0NjI0LCAKKyAgICAwLCAwLCA3MTkxMiwgOTgzNjQ5LCA0MjY5LCA3Mzg4NSwgOTE3Nzc1LCA0Mjg0NiwgNjk2NDQsIDk1MCwgMCwgOTIyNzMsIAorICAgIDY2NTgwLCAxMTg4OTUsIDY2NjgzLCAxMDU1NCwgMTE5MDA4LCAxMTkxMjEsIDY4MzIsIDUwOTgsIDkxNzc2OCwgMTk0NjY4LCAKKyAgICA3MDQwMywgNTA5NywgNDkzNSwgOTg0OCwgMTAzODEsIDAsIDY3Mjk2LCA5Mjg5NiwgMzY1MSwgMCwgNjcyOTQsIDcwODQ4LCAKKyAgICA1MTAyLCA1MTAxLCAxMDI2OSwgMTI5ODMsIDgxMzgsIDQ1MTcsIDE5MzIsIDUxMDAsIDE0MzksIDEyMDkzLCAxMjQ3LCAKKyAgICAxMDAzNCwgMTk1MDY0LCA1MDk5LCA3ODM3MywgMTQ0MSwgNDIwODcsIDMwNjMsIDY1MCwgMTE5OTUzLCA3ODM4LCAwLCAKKyAgICAxMjg2NTUsIDE5NTA0MCwgMTE5MTQyLCA5MDMxLCA3MDgyOSwgNzg0MjcsIDkwNzgsIDg1NDUsIDY2MzU2LCAxMjg3OTksIAorICAgIDE5NDkyMywgOTE1NCwgOTExOCwgMTI2NTQzLCAwLCAyNjc2LCAyMjc3LCAxMjg0MjIsIDY4MjM3LCA2MTkwLCA4NTk5LCAKKyAgICAxMjUxMTgsIDY5OTE4LCAxMDc5NSwgOTg1NywgNzAxNCwgOTg1NiwgMTk1MDMzLCA3MTkwMywgMTIxMjksIDAsIDg0ODEsIDAsIAorICAgIDYyMDIsIDY3NzExLCAxMDkyMCwgMTEzNzI2LCA1MjAzLCAxOTUwMzksIDE5NTAzOCwgNTEwOCwgNTEwNywgNjU4MTgsIAorICAgIDY2MDE5LCA5NzYyLCAxMTIwNSwgNTU0MSwgNzQ3NzIsIDAsIDEyNjEzLCA1Mjg0LCA2NjU3LCAyMDcsIDEyODgwNiwgNDI3NSwgCisgICAgNzQ4MTksIDg1NCwgNjgxNDcsIDc0MzgxLCA2NjgxNiwgNzg3ODYsIDUxMDMsIDEyNzg2MSwgNjQzNDgsIDQxMzY4LCAKKyAgICA0Mzk3NCwgNDg4LCA2OTgxMSwgMCwgNzEzMzksIDEwMTU3LCAxOTQ3MzcsIDQzMDM0LCAxMTQzOCwgNjQ2NzQsIDAsIAorICAgIDcwMTU4LCA2ODQzMSwgNDE3NzEsIDUxMDYsIDY2NjksIDg1MDQsIDY1MTU0LCA2OTgxMywgNDEzNjcsIDUxMDUsIDEyNzUwOSwgCisgICAgNjk3MjAsIDY0NzYsIDUxMDQsIDk4Mzc0OSwgMzA0LCAzMTc2LCA3ODg3MSwgNzAxNDksIDkzMiwgMTEzNjgzLCA2NTY3LCAKKyAgICAyMzgsIDY5NjU2LCA3ODQzMiwgMTk0NTk1LCAxOTkwNSwgNDM4NTAsIDE5NTAxNSwgNzg4NzAsIDQxMDQ0LCA2NzY0MCwgCisgICAgNjczMDIsIDQyMDU1LCA5OTEyLCA2NTkzOSwgMTA2NzAsIDc0MDkzLCAxMzI3MywgMCwgMTI1NTIsIDkzMDM5LCA4ODAzLCAKKyAgICAzMDksIDY2MjIsIDgxNTEsIDEwODU4LCA3ODcwNiwgNjc2MzYsIDcwMTcxLCAxMjU2OCwgMCwgMTI1NTMsIDEwODE0LCAKKyAgICA0MzI3NSwgNjk1MCwgOTcxMiwgNjg2ODAsIDQzOTcwLCAxMjY1MzUsIDY1MTY1LCA5MjcyNSwgMCwgNjY0NjYsIDEyNDk4NiwgCisgICAgMCwgMCwgNjY3MjUsIDYxOTEsIDExMzUxLCAxMDQzNywgMTEzMTYsIDY3NjM0LCA0Mzc2MywgMCwgNDE3NTQsIDY3NjM1LCAKKyAgICA5MzcwLCAyNzIwLCAxOTQ2MDAsIDY4NDYyLCA4MjMyLCAxMTg4MTcsIDAsIDMyMjIsIDAsIDAsIDAsIDY2NjYzLCA5ODMwNDcsIAorICAgIDkzMDY3LCAxMDgzNCwgOTgzMTI3LCAwLCA2NTczMiwgOTQwOTUsIDkxNzU0NywgOTI2ODIsIDY3Njc5LCAxMjkxNTAsIAorICAgIDY3MzA5LCA3NzgxLCA0MTM4MywgNjQ1NjgsIDY3MzExLCAxMjA3MzgsIDEyMDc3LCA3NDQzMywgNjQ1ODYsIDkxNzYyMCwgCisgICAgNDIzOTYsIDU1MjU1LCAzNDc1LCA2NzI2MCwgMjQ3OSwgNjczMDYsIDM2MzIsIDEyMDcyOCwgMTA2OTgsIDgzNzYsIDM2NDgsIAorICAgIDY3MjYzLCA3NDg0NCwgNjc2MzksIDM2MzYsIDY3ODk0LCAzNjUwLCA4ODM3LCA2NTIyOSwgMTg0MywgNDIyODMsIDQzMjUwLCAKKyAgICA0MTU2MiwgOTEwMCwgNzQ1NDgsIDkxNzYzMCwgMzY0MCwgMTI3MTkwLCA0MjMyMSwgNzI4NCwgOTI4ODAsIDExODk4NywgCisgICAgMTk0OTUwLCAxOTQ5NDksIDc0MTE1LCAxOTQ5NTEsIDEyNjY0OSwgMTk0OTUzLCA0MjA4MCwgMjUyOSwgMCwgOTgzNzg0LCAwLCAKKyAgICA0MjA4MywgMTIwNjc4LCA2ODM5OCwgMTk0OTU3LCA2NzYxOSwgNjYzNjcsIDE5NDk1OCwgOTYzNCwgOTIzODAsIDk5ODgsIDAsIAorICAgIDQxMDY4LCAwLCA0Mjk1LCA2NTI2NCwgNjgwMDYsIDAsIDkyNTQ1LCAwLCA3ODUsIDgyMzYsIDEyODY0NywgOTAyNywgCisgICAgNjgxNjAsIDY3NjIzLCA2NDM4MywgMTIwMjY1LCA5MjUsIDEyNzE1NiwgMCwgNDE5ODUsIDQxMDcxLCA5NTg2LCAxOTQ5MDgsIAorICAgIDQxOTg0LCA5MjE3LCAxMjgzNzIsIDkyNTEwLCA5MjIxOCwgOTE4NiwgMjA2NywgNDAxNiwgOTgzODAzLCAwLCAzODEsIAorICAgIDEyOTM2LCAwLCA0MjA3NywgOTI5ODUsIDY5ODgwLCA1MTg0LCA0MjA3OCwgMTk0NjA3LCAxMDgxMCwgMTI4NTMxLCA0NTg1LCAKKyAgICAxOTk0MywgNTg2MCwgNjc2MzMsIDAsIDk4MzI3OSwgODEyLCAzNjE1LCA3MjQwMSwgNTE3OCwgNDQwMDAsIDEyMDU0OCwgCisgICAgNzg4MDcsIDUxODgsIDc0Mjg3LCA2NzYyOSwgMzYwNSwgMTA2OTIsIDExNjYsIDY0NDI5LCA0MjYzOSwgOTI0LCAwLCAKKyAgICA2NzYzMSwgNDI2MTYsIDEyMDY3MCwgMjQ0MiwgMTA3MDMsIDY3MzE3LCA2NzYzMiwgNjczMTYsIDEyNzcxLCAxMjczNiwgCisgICAgMTI3NTMsIDY2NzA4LCA3MzkzMywgNjc2MjYsIDQyNDAxLCAwLCA2OTg3MiwgMTI3MzczLCA0MjI4OCwgMTI3NTEsIAorICAgIDk4MzA2NCwgODU0MiwgMTMxNDUsIDE5NDk2MywgMjQ2OCwgNjY3MDYsIDQxMjk0LCAzNjI2LCAzODgzLCA2NDM4OCwgCisgICAgNDI0NzksIDcxMjIwLCA0MTExNywgMCwgOTI1ODAsIDAsIDAsIDY3NjI0LCAwLCAxMjkwLCAwLCA2NTU4NSwgMjcxNSwgODA2LCAKKyAgICA2NTIwOCwgNDE4ODQsIDkxNzg4MywgMTMxOCwgNjQ3MzEsIDEyNjU3OCwgMCwgMCwgNjYzMjUsIDM0NjUsIDI0MDUsIDkyNDAsIAorICAgIDk4Mzg1OCwgMTI3NTYsIDY1MjU5LCAwLCA5ODM3ODEsIDEyNzUyLCA1ODMzLCAxNDMyLCA2NjM5NiwgNDE4ODMsIDczOTEyLCAKKyAgICA5Nzk5LCAwLCA0MTg4NiwgMjQ4MCwgMCwgMjA2MiwgNjczMjYsIDY0OTQsIDU1MzcsIDc4NjU2LCAwLCAxOTQ1ODcsIAorICAgIDEyNDk2OSwgMTIxMSwgMCwgMCwgNjcyNjksIDExODgzMiwgMTIzMTgsIDEyOTAyNCwgMTEzNzk2LCA2ODAwNSwgMTA2MjIsIAorICAgIDk4Mzc3OSwgMCwgNzg2NTQsIDY1NjYsIDcxMTk1LCAwLCA3Mzc4MCwgMTE5MTk2LCA2NDg2NCwgMCwgNzg2NjAsIDAsIAorICAgIDgyODQsIDEzMDgxLCAxMTkyMDYsIDM1ODksIDQyMDUxLCA0MDM1LCA2NDkyLCA5MjIzNiwgNDI2NSwgNjY0MiwgMzk3NywgCisgICAgNzQxODYsIDQxNzc4LCA4MzYsIDkyOTQ3LCAyNDg4LCAxMjkxNzYsIDQ1ODIsIDAsIDAsIDQxNzc3LCAxMjkyNiwgOTgzMzc3LCAKKyAgICA3NTI4LCAxMDU1MCwgMTEzNzYxLCA5MjcwNiwgMCwgMTA5NjEsIDkzOTc3LCAxMzc0LCA2NDg3OCwgMTE5MDE0LCA2NzcyMCwgCisgICAgNDIzODksIDQxMzc0LCAyMjg2LCA5MTc2MDQsIDc4NDkyLCA0MTM3NywgMTI3OTA5LCAwLCA0MDAsIDEyNTk3LCAxMjA1ODYsIAorICAgIDAsIDAsIDY2NjEsIDk4MzE0NSwgNjQ4MjcsIDAsIDczODE3LCAzOTAsIDAsIDcxMzAxLCA5ODM4NjIsIDM0NzMsIDc3MTgsIAorICAgIDExMzc1NSwgMTI3MDExLCAwLCA1NTI4NSwgNzM3ODQsIDY2Mzk0LCAwLCAxMTk2OSwgMTIwNDYxLCAxMjc4NDEsIDYzNjUsIAorICAgIDE4ODcsIDY3NjMsIDkyNTUxLCA4MDgwLCA3MDA2LCAwLCAxMTg5MDIsIDY3NTcsIDY0MzUxLCAxNTQ0LCA2NzE1NiwgNjc2NiwgCisgICAgNjQ2NzcsIDEyMDcxNiwgNjcwODgsIDYxNDYsIDc0MDMxLCA3NzEsIDEyMDY4MiwgMCwgMTI4MTIsIDEzMTY4LCA0MjI3MiwgCisgICAgMTIyMDAsIDY2NDIzLCA3OTA0LCAwLCA5NTMsIDEyOTE3LCAxMTk1NjAsIDEyMzAwLCA2NzA4OSwgMTE0OTEsIDk3MjQsIAorICAgIDEwMzQxLCA5ODM3NzMsIDk1MjQsIDc0OTAsIDExMzg5LCA3NDg5LCAzMzc5LCAwLCA3NDg3LCAxOTQ2MjQsIDQ3MSwgNzQ4NCwgCisgICAgNzQ4MiwgNjc1MywgNzQ4MCwgNTc2NCwgNzQ3OCwgNzQ3NywgNjUwMSwgNzQ3NSwgNjkxOCwgNzQ3MywgNzQ3MiwgMjQ3NCwgCisgICAgNzQ3MCwgNzQ2OCwgMTAyMzIsIDEwNjE1LCAxMDIxMywgMTI3Mjg4LCA5MjM1NywgMTAwNDksIDExODM0LCAzNTQ0LCAwLCAKKyAgICA2MDE3LCA2NTMxMSwgMTI3NDgxLCAxMjAyMTYsIDEzMzA2LCAxMDUzMywgNzg3MCwgNzM5NDksIDc2MjUsIDE5NDg4MiwgCisgICAgMTIwNTQ0LCAwLCAxMjc5NTAsIDkyNjYwLCAwLCA3Nzg4OSwgMCwgMTk5NjEsIDI0NzIsIDQyNjY1LCA5MjM0MSwgMCwgCisgICAgMjEzOSwgNDI1NiwgMTIwNzc2LCA3NDM4MCwgNDM4MzYsIDQyNjc1LCA0MjY1OCwgMTI4NDUsIDcwMzQ1LCA3MDUwOCwgCisgICAgNjUxMzgsIDExOTM1NSwgNjc4NjIsIDAsIDY1NjcxLCA3MDgzLCAxMjAwMDgsIDgwNjYsIDc2NzgsIDc0ODY1LCAxMjUxMzQsIAorICAgIDEyMDMyMSwgMCwgOTgzMzk0LCA3MTg2LCAwLCAxMjA1NTUsIDAsIDQ0NSwgMTIwNTY2LCA2Njg0OSwgOTgzNDc3LCAwLCAKKyAgICA4MzMwLCAwLCAwLCA0Mjc5NywgMTEzNzM2LCAxMjAyMTUsIDkzMDM2LCAzOTAyLCAwLCAxNzcwLCA2NzA5MSwgMTI1MDY3LCAKKyAgICAxNTYwLCAxMjAyMDksIDE5NDk3MiwgNDU4NCwgNzM4NDMsIDAsIDExNzEyLCAxMDg2NiwgNjcwOTIsIDExMTgsIDcxMzM0LCAKKyAgICAwLCAwLCAxMDgxLCA3NDM2LCAxMTE0NywgNzI1MiwgNzAwOTMsIDU5OTYsIDY5OTIxLCA0OTAzLCA2ODE0MiwgNDEzODYsIAorICAgIDUxNjIsIDExOTE4OSwgMTMzMCwgMTI4NjEzLCA3MTM5LCAwLCAxMjA0NywgNDEzODQsIDAsIDAsIDE4NDgsIDQzMzQsIAorICAgIDYzMjQsIDQxOTc1LCA2NDc3NywgMTA2NzQsIDEyMzA4LCAxMjE4NiwgMCwgMCwgOTgzNzQxLCAxMjcxNSwgNjgwMDIsIAorICAgIDk4MzQ3OSwgMTI2NjMwLCAyMDE4LCA2NjY3MiwgNDE5NzksIDY2Njg1LCAxMTkxNTcsIDY4MDAwLCA3ODQ5MCwgMCwgCisgICAgMTI2OTg0LCA2ODAwMSwgOTMzNCwgOTI3MDUsIDcwODAwLCA3MDEwMSwgNzk3NSwgMCwgNzc5NTcsIDAsIDQzNDk0LCA0ODg0LCAKKyAgICA2NjU5NywgNjk3MzIsIDAsIDAsIDYzMTMsIDY1NTEzLCA2OTg1NywgMCwgMCwgMCwgMjM0NSwgNDM2OTcsIDQ2MywgMCwgMCwgCisgICAgNjgxNzgsIDMxMTcsIDU0NjAsIDAsIDEyODcxNywgOTgzMzg3LCAwLCA0MjI3OSwgMTk0NTc3LCAwLCA3ODQxNSwgOTgzMjI4LCAKKyAgICA2ODUyNCwgOTgzMzg0LCAxMzI0OCwgMTI1MDI3LCAwLCAxMjg0NzEsIDEyODQxNSwgOTgzMTUzLCAwLCA1NjYzLCAxMjc5NDIsIAorICAgIDEyODQ3MiwgMCwgMCwgMjQ4MiwgMTQ3MSwgMTk0NTgzLCAxMTM3NDcsIDQyMjQ3LCAxMjM3OCwgNzM5MjUsIDY5NjY0LCAwLCAKKyAgICAxMjM3NCwgMCwgMTk1MDIzLCAwLCAxMTg4MjgsIDI0NjAsIDcxODgyLCAxMTk0NCwgMTIzNzYsIDEyNzg2OCwgNjQ2NzksIAorICAgIDkyODkzLCAxMjM4MCwgMTA1NTcsIDY0NDczLCA1ODcwLCAxMTEyMiwgMjAyNCwgMTI3MTgwLCAwLCA3MTg3OSwgNTM5LCAwLCAKKyAgICAxMjc3NjUsIDcwMTIwLCAzODUzLCA2NTE4MCwgMTI3OTIzLCAxMjA3OTYsIDEyMDI0NSwgOTIzMjQsIDAsIDg2NTksIDAsIAorICAgIDEyNDc0LCA2NzI0MSwgOTUwMywgMTk0OTY5LCAyNDc4LCAxMjAyNDgsIDQxNjIsIDAsIDQyNjAsIDEyOTUzLCA2OTYzMywgCisgICAgMTIwMDg5LCAxMjQ3MCwgOTI2NDAsIDc0MTg5LCAyNzQyLCAxMjQ3NiwgMTE3OTgsIDEwOTQ2LCAxMjczMTAsIDUwMDAsIAorICAgIDExMzY4NywgOTgzNTc5LCAxMjg3NzcsIDY5NjcyLCA4MjEzLCA0MzgyNCwgNzc3MSwgNjE2MSwgNjgwMTgsIDY3MDksIAorICAgIDE5NDk2NywgNzg4ODUsIDExOTI0MywgNjgyMzUsIDEyMDU4MiwgNzg1NDcsIDExMzcwOSwgMTAzMDEsIDEwMzMzLCAxMDM5NywgCisgICAgMTI0OTM0LCAwLCA3Mzc5MSwgMCwgMCwgMCwgMCwgMTE5MTIzLCA0MDE0LCAxMjg0MiwgNzM5NTIsIDEyMDE1LCAxMjcyOTAsIAorICAgIDgyNzUsIDM4OTMsIDk4MzI2NCwgMCwgMTIyMTAsIDcyMjEsIDQyMTQ3LCA3NDg2OCwgNzQ1NTAsIDcxMjE1LCA2NDc0NywgCisgICAgMTE4ODQxLCAwLCAxMjUxNiwgNDQ0NCwgMCwgOTIyNzEsIDc0NTM3LCAxMDg5MiwgODIzMSwgMCwgNjQ3MywgNDE5NjgsIAorICAgIDc4Mzg4LCA0MTk3MywgMzU5MSwgNDE5NjksIDAsIDI0NTMsIDEyODU0OSwgOTI2NjYsIDY0NzA1LCA3MTA2OCwgMCwgCisgICAgMTAzNDksIDEwNDEzLCA0MzU5MSwgNDE5NjIsIDMyMDIsIDc0MzUzLCAxMjkxNzUsIDgzMTYsIDEyOTE3NCwgMCwgOTQwNjAsIAorICAgIDY4NywgMTI1MDg5LCAxMjkwNzQsIDAsIDE4NDAsIDAsIDY4NjcxLCAxMTEyMSwgNDg4MywgMjg1LCA0NzIzLCAxMTE3NSwgCisgICAgOTI2OTIsIDQ0NTksIDc0NTc3LCA0MjkyMSwgNDE3MjAsIDExMDg5LCAyNDAsIDE5OTA2LCAwLCA0MjMyMywgNzQ2NDAsIAorICAgIDk3NDMsIDEyMDIzMiwgMTMxMzQsIDkzMDY1LCAxMjg5NTYsIDY1OTMxLCA5MjU3OSwgMTI4MzI5LCA0MjYzNCwgOTgzMzQzLCAKKyAgICA0MzQzNywgMzA4MSwgMTE0NjMsIDEyMDE1NCwgMCwgMTk1MDEzLCAxMDQ0NSwgMCwgOTI5NjksIDY2NzE3LCAyNjE0LCAKKyAgICA5MTI1LCAxMTkwMjMsIDE3MjksIDAsIDcyNDIwLCA2NTIyMSwgNjM4ODMsIDQzMzM0LCA2NDg1MiwgMTI0OTI5LCA2NTE5NCwgCisgICAgNjYyMDEsIDAsIDY2NTc4LCA1MDAxLCA0MTg3OSwgNzQ0MjcsIDQxMjEsIDUwMDMsIDg4NCwgNjY3MDAsIDYzODc5LCA0OTQzLCAKKyAgICA1MTUwLCA3Mzg4OSwgNzM3NjQsIDQwMzksIDY0MywgMzA4NiwgOTI5NjEsIDQyNDQ4LCA0MjI5OSwgNTgsIDAsIDkxNzk1MiwgCisgICAgMTIwMDgzLCA2Mzg3MywgODQ5MSwgMCwgMCwgOTgzNjIzLCA0NTMwLCA0MjQwOSwgNzEyNiwgMTk0NTc1LCAyNzIxLCAKKyAgICAxMjAwNzMsIDExOTA5NiwgMTk5MjksIDAsIDE5NDU3NCwgOTI5NzUsIDQyNDIsIDQyNjQsIDEyMDA3NywgMTIwNTMwLCAKKyAgICA2NjE3OSwgNDI0MTIsIDY1OTQxLCAxMzExNCwgNjQ1MjIsIDEwNzQwLCAzMDk0LCA5ODMxOTksIDk3NTQsIDExOTEwMiwgCisgICAgNDQzNywgNzM5NDgsIDEyNzA3NCwgOTgzMjM4LCA1NTI4MCwgNDIxNzQsIDE5NDkyNSwgNDI0MzAsIDAsIDk4MzQ1MCwgCisgICAgNDIzNTUsIDY2MDI2LCA0MzA2LCA0MTM4MCwgNjg0MzIsIDkyNTg2LCA2ODMxNCwgNjY2NjcsIDExOTM1MSwgMCwgMTI2NTIxLCAKKyAgICA0MjIwMCwgNDI1NjYsIDcwMDAwLCAxMjg5MjgsIDUwODgsIDY5NDgsIDAsIDg1MjQsIDEyNTA0MCwgMCwgMTIzODUsIDAsIDAsIAorICAgIDY5NjQ2LCAxMzg2LCA2NDU4MCwgMTE0ODAsIDYxMTYsIDY1MDM5LCA2NTAzOCwgMTIzOTIsIDY1MDM2LCA4MDY0LCAwLCAKKyAgICAxMjEwMSwgNTgyMiwgMTE5MDA0LCAyMDgwLCA3MTAsIDc3OTk5LCAxMTY2MywgMTY2NiwgNDIwOTEsIDExOTY1NywgMTIzODMsIAorICAgIDQzNjcxLCA0MjA5MiwgNjg0MTgsIDQyODksIDEyNzg5NywgNjM4OTYsIDEyMDYxLCA0MjA5NiwgNDM2MjEsIDMzNjIsIAorICAgIDEyMzc3LCAxMTk5MzQsIDk4MzgzNCwgNjg0NDksIDc0NjEsIDczOTAxLCAxMjQ0LCAzMzEsIDczNzg2LCAxMjY4MywgCisgICAgMTA2NjIsIDAsIDgxMTIsIDAsIDY1ODUyLCA3NDYyOSwgMTIzNzksIDE5NDg3NywgOTI5MzAsIDQxOTY0LCA0MjIwOCwgCisgICAgNjM4NDMsIDIwODQsIDQxOTY1LCAxMjUwOTksIDY1ODY2LCA0MzI3LCAwLCA2Mzg0MCwgNjY0MTMsIDQxMjIwLCAxMzAzMiwgCisgICAgOTI5ODAsIDU4NCwgMTI5MzMsIDQzMTc3LCAxMjM3MywgNjk4NTUsIDEzMDAwLCAxMzUxLCAyOTM1LCA4Njk4LCAxMjY2NSwgCisgICAgMCwgMTkzMCwgMCwgNzgyMjksIDEyNDI3LCA2NjUxNCwgNjk4NTksIDEzMDMxLCAwLCA2MzkwMSwgMCwgMzY1NywgMTE5NjExLCAKKyAgICA2NTIwMiwgNjAwMCwgMTEzNzg2LCAxMjQyNiwgMTI3MTgxLCAxMTk5MzUsIDQxNzQwLCAxMjQyOCwgNDEyODMsIDQxOTE2LCAKKyAgICAxMTkyMTAsIDEyODMxOCwgMCwgMTI0MjksIDY3MjcsIDAsIDc1NjIsIDk4MzI0OCwgNTE3MCwgOTgzOTE1LCA0MTc1NSwgCisgICAgNjc2LCAwLCA2NjcwNCwgNjY2NjQsIDk5NzgsIDY2NDkxLCAzNTM2LCAwLCA5NzUyLCA5MjM5NywgNjE2MiwgOTI5MjgsIAorICAgIDY5MjI4LCAxMDExMywgNDE4MjksIDY1ODg2LCA1MTU5LCAxMjQyMiwgNDE4MzIsIDQzOSwgMzA3MiwgOTgzNDY0LCA0MjIwNywgCisgICAgNzQ1NDksIDExNzk2LCA0MDk3MCwgNDE4MzAsIDEyNTAyMSwgNzAxNTEsIDgzMDgsIDkxNzc5NywgNzA4MDcsIDExOTI1OCwgCisgICAgNjc4NjQsIDExMzY5NiwgOTE3ODAwLCAxMjMzNiwgNDEzNSwgNjcyMzEsIDM0MSwgMjcyNywgNDEyOSwgMzUzOSwgMCwgCisgICAgNjM4NjEsIDAsIDc5MTMsIDAsIDYzODU5LCA0MTMxLCA2Mzg2OCwgMTI5MDg1LCA2Mzg2NywgNDEzMywgMTEzNzEsIDIxMCwgCisgICAgNDYwMCwgMCwgNzQ1NjAsIDQxMzcsIDgwODIsIDc4NTA2LCAxMTkwNjIsIDc4NTA0LCA2NzA0LCA0NTkxLCAxMjgwMjksIAorICAgIDEyNTAxOCwgMTIwNzUzLCA5NjgwLCAxMjkzNywgMTIwNjIzLCA1NjEsIDEyMTU5LCAxOTUsIDY4MzIxLCA0MTUwMSwgCisgICAgOTgzMzcxLCA0MjAzMSwgNTcxOSwgNzE3MiwgNDI2ODcsIDgzNjgsIDEyODMwNiwgNDE0OTksIDkzMDY4LCA3MTA0NywgCisgICAgNDIyNDIsIDQxNDk4LCA5MTc3OTQsIDQyMDI1LCA3ODU2NSwgNjU4MDUsIDQyNDYzLCA2NzE4MiwgMjkyNCwgNjcxODMsIAorICAgIDEyMDUxMCwgMCwgMCwgOTI3NjYsIDczOTQxLCA2NzE4NiwgNDIzMzAsIDY3MTg3LCAzOTY5LCAxMjg0ODQsIDAsIDcxNjksIAorICAgIDE5OTIsIDk2NTIsIDczOTc3LCA3MjQ2LCA0MjA4NiwgMTI2NjE1LCAyMjE5LCAxMjcxNzcsIDAsIDEyODgwMSwgNjcxODAsIAorICAgIDAsIDMyNywgMTI4MzAwLCA5MDQyLCA5MTc3NzcsIDkxNzc3NiwgNjUxNDgsIDEyNDMzLCA5MTc3ODEsIDEyMDIyMiwgCisgICAgOTE3Nzc5LCAxMjQzMSwgODY2OCwgMTI0MzQsIDY3MTk0LCA5MTc3ODIsIDU5OTksIDAsIDc3MTIsIDEyNDMyLCAxMjgyNDMsIAorICAgIDQzNjUzLCAxNzI2LCAxMDE1LCAwLCA4MjEyLCAwLCAxMTM3NTQsIDQyNDIzLCAxMTkwNjYsIDE5NDYxMywgNzIzOTgsIAorICAgIDY2NzA5LCAwLCA4ODExLCA5MjcsIDEyODQ2MSwgMCwgMTI0MzYsIDEyMDA4NywgNDIwMjEsIDAsIDY3NjQ0LCAxMjk5LCAKKyAgICAxMjI0MCwgNDIzNTAsIDY1MTQzLCAwLCAxOTUwMTYsIDEyNzk3MiwgNzgxOTcsIDExMzQ4LCAwLCA3ODAzNywgOTE5NCwgCisgICAgOTgzMTg0LCAwLCAxOTkxNCwgMTIxNzksIDEyODc0MCwgMjI5NiwgMTI4OTMyLCA2MzgzNiwgNjM4MzIsIDkxNzc3MywgCisgICAgMTA5NjcsIDYzODE2LCAyNTk0LCAzNDQ0LCA2MzgxNywgMTExNzgsIDAsIDQxNTAzLCAxMjc0NzgsIDExMjY1LCA2ODI5NSwgCisgICAgMTIwNzU2LCAxOTQ5MjIsIDY3Mjg1LCA1NjY0LCAzOTcyLCAwLCAxMjg1ODMsIDAsIDY3Mjg0LCAxMjQxNiwgOTE3NzY0LCAKKyAgICAxMTk2MDgsIDEwODE2LCA5MTc3NjksIDExMjEwLCAxMjQxOCwgNzQxMTEsIDM4ODIsIDg1MzIsIDkxNzc3MSwgMTU3MywgCisgICAgMTI4MDE4LCAxMTk4NDcsIDQ1OTYsIDY2MzM5LCAxMjQxNywgNjYwMDEsIDY1MzQzLCAxMjY0OTEsIDEyNDE0LCA4Mjg3LCAKKyAgICA2ODIxOSwgMTk1MDE3LCA2ODEwOCwgMTE0MywgMTE5MTY5LCAxMTk4NDYsIDEyNDE1LCA2NjI2LCA0Mjc2MywgMCwgCisgICAgMTE4ODg0LCA5MDIxLCAxMjA3ODMsIDExOTkzMSwgMTE3MjQsIDAsIDAsIDEyNzEwNCwgMTI2NjE5LCAwLCAwLCA4MDI3LCAKKyAgICAxMDk5NywgOTE3MSwgMTI3NDEsIDExNDAwLCA3MTMwNSwgMTk0Nzk5LCA2NjgzMywgMTI4MjM5LCAwLCA5MjU1NywgCisgICAgMTE5NjA0LCAxMjc1MjMsIDEyMDE5MCwgMTMyNCwgNjc2MDgsIDEyODIxNCwgNDIzNjgsIDAsIDc3MTUsIDM4ODEsIDQxNDg3LCAKKyAgICAxMjExOCwgNDI1MTQsIDY4NjUxLCAwLCAxMjg1OTQsIDMwMDksIDQxNDc2LCA0MTQ4OSwgNjk4MjUsIDMwMDcsIDE0NDgsIAorICAgIDMwMTgsIDE5NDgwOSwgMzg4OSwgODUyMSwgNTA4MywgNTA4MiwgMTE5ODU5LCA3ODI1NSwgODUxOSwgOTgzMjQxLCAzMDE0LCAKKyAgICA1MDgxLCA2NTg1MywgMTIwNzE1LCAwLCA2ODAxNCwgNjk5NTEsIDUwNzksIDY0ODAyLCA0MjIxMCwgNDU5NywgNjU1MzIsIAorICAgIDExODI4LCAxMjAxODUsIDEyMzcxLCAxMTEwNSwgODQwNywgNjcxNjMsIDEwODA1LCA4NTE4LCAxMDc3OSwgMTIwMTg4LCAKKyAgICA3MTMwMywgOTgzOTMzLCAxMjM2NywgNDIxNzAsIDAsIDY3MjkwLCA2MjksIDE5MjQsIDEyODQzNSwgMTIwMzcsIDY3MTU4LCAKKyAgICA1OTg3LCA4NDYyLCA4MDA1LCAxMjM2NSwgNjM5MzMsIDY5NzM1LCAxMjA4MTUsIDEyMzY5LCAxMDY0OSwgNjc5ODEsIDUwNzcsIAorICAgIDEyMDE3NCwgMTA4ODAsIDYzOTI3LCA1MDc1LCA5MTc4ODEsIDEyNzMwMCwgNjUwNzUsIDAsIDExMDA3LCA3MDg1MSwgCisgICAgNjY2NTksIDkyNjA3LCA5MTc5MzMsIDY2Njg0LCAxMjgwNjMsIDM0MzQsIDQ5NTQsIDE5MDQsIDkyNjc5LCA1MjY2LCAKKyAgICAxMjY5ODAsIDUyNzIsIDEwNDk5LCA0NTA3LCA5NTc4LCA2MzkyMywgMTIwMTc3LCA3OTc5LCAwLCA5ODMxLCAwLCAxOTQ5MjYsIAorICAgIDQ2MSwgOTgwMywgNDIyODIsIDQ1MDQsIDE1MDUsIDAsIDYzMjUsIDUyNzYsIDQzMDIxLCAxMjA0ODgsIDAsIDU1MjM2LCAKKyAgICA5MjY1OSwgNjY0NjEsIDUxNzcsIDQxMzI0LCAxMjA1NSwgODcyMiwgMTIwODA1LCA0MTMyNywgOTgzNzMyLCA2NjY5NSwgCisgICAgNDExNCwgNDA5LCA0MzgzLCA4OTAwLCA4OTQ4LCA0MTMyNSwgMCwgNzIxLCAxMDE4MiwgOTEwOCwgNzEzMTEsIDAsIAorICAgIDExOTE4NSwgNDIyMjksIDE5NDkxMiwgMCwgNTk5OCwgMCwgNDIzNTMsIDc0ODI1LCAwLCAxMjU4NywgOTQxMDQsIDc4NTcxLCAKKyAgICAwLCA3MTMyOCwgMTI4OTU1LCA0MTU3NiwgNDIyMTUsIDc4NTcwLCA3NDAzNywgMCwgODU3OCwgNTk5NSwgNzU3MywgNDE1NzUsIAorICAgIDc0Nzg5LCA3NDc1MiwgNjM5NDQsIDYzOTQ5LCA2NDc2NywgMjY3MCwgNDE2NywgMTk0Nzk2LCAxMTcyMywgMCwgNzQxMjAsIAorICAgIDAsIDY1MDc2LCA5MzgsIDQzNDE0LCA3Mzg1NCwgMTE3MzcsIDk3MjEsIDAsIDY3MTc5LCA2NzE2OCwgMTE3NDIsIDI0MTksIAorICAgIDY3MTc3LCAxMTQ5MywgMTIzMzQsIDE5NDkxMywgNDE1MywgMTIzMDIsIDEwNzkzLCA1MjUwLCAxMjQwNywgMTE5NzgsIAorICAgIDQ0MDQsIDkxODksIDEyNDAxLCA0MjAwNywgNTc3NSwgNjc1OSwgNjU4MDYsIDQzOTk3LCAwLCA0MjAwMiwgMTI0MDQsIAorICAgIDcwMzg4LCAxMjkwOTMsIDQ5NDAsIDEyNDEwLCA3NjgzLCAxMTY3LCA3MzcyOSwgNDk4MywgMTIwNTA3LCA4NjEsIDY3Njk5LCAKKyAgICAwLCA2ODI5NywgMCwgNDM3NTcsIDQzMzcwLCAwLCAwLCAxMTk1NiwgMTI0OTY3LCAwLCA3MDgxNSwgOTYxNiwgNjYzMSwgCisgICAgOTIzMzgsIDEyODE2LCA0Mzc1OSwgNDIyMTgsIDEyNzEwLCA2ODY3NCwgMTI3MjEsIDQxMDEsIDY2MTg1LCAwLCA1OTkyLCAKKyAgICA3NjE2LCAxOTUwNDQsIDAsIDEyNTc3LCA5MzAxNywgOTgzODg0LCA4NTMsIDQyNjkzLCAxOTQ2NDcsIDExOTAyNywgCisgICAgOTgzNjQ3LCA1MDE2LCA0MzUzNSwgNjM4OTMsIDQyODM1LCA5NDkxLCA5MTc5MTMsIDAsIDkxNzkxNCwgMCwgMTI3MTIsIAorICAgIDcxMDUsIDEyNzgwNywgNjUwNjAsIDY2ODc1LCA5OTAwLCA3NzUwLCA5MTc5NDYsIDEyNzg5NiwgNzQ2MTksIDEyNzgzMCwgCisgICAgOTgzNTg3LCA2NDc3OCwgMTI1ODUsIDEwNTY1LCAxMjgxNTEsIDEyMTc3LCAxMTk4NDMsIDk4MzI1OCwgMCwgNzc4MjQsIDAsIAorICAgIDQ5MDAsIDEyNzg3NCwgMTI4NzgsIDkyNjMwLCA4OTg0LCA0MTE5LCA3NDc2OCwgODk3MSwgNzg1OTMsIDQzMTEzLCA5NzAyLCAKKyAgICA2Njg1MiwgMTEwMjUsIDkyNDUsIDEzMDQ4LCA0OTI3LCA0MTM4LCA3NDE4NSwgOTI0ODEsIDkyNzEwLCAxMjM5NywgNzc4MjcsIAorICAgIDExOTA0MCwgMTMwNTQsIDEyMzk0LCAwLCAwLCAxOTQ5NTQsIDEzMDUzLCAxMTg5NzQsIDM5NDgsIDEwNzgxLCAxNTQ2LCAwLCAKKyAgICA1MDEwLCAxNjgwLCAxMDUwNywgNzg1OTAsIDc4NTgzLCA5MjQzMSwgMCwgMCwgMTk0OTE1LCA3MjY3LCAwLCA3NDgzMywgCisgICAgMTI4MTgxLCA1OTkzLCAyODE5LCAxMjg3ODgsIDEyNzA2LCA3MTA2MywgMTg5MywgNzI2NiwgNjM5MTUsIDcyNjQsIDcyNjUsIAorICAgIDAsIDEzNjMsIDAsIDQyOTIzLCA2MzkxMCwgNjM5OTYsIDMwNzcsIDEyMDAxOCwgMCwgMTUxMiwgNjk5MjksIDEyNTg5LCAKKyAgICA0MTQ3OSwgMTI4MzEzLCA3MTA0OCwgNDMzMzksIDczNzc2LCA5ODM2LCAxMjA3MjcsIDAsIDQxNDgxLCA0MzMzNSwgNzgzMiwgCisgICAgNDIzNDMsIDMwOTAsIDQzMzM3LCA4MTcsIDE2NjQsIDE4NTAsIDEyODg0MSwgMzA3OSwgMTEzNDAsIDQyNDA4LCA0MjQ0NywgCisgICAgMTI3MTQwLCAxMjAwMjAsIDQyMzA3LCAxMjM4NiwgNDIzMDQsIDkxNzU1NSwgMCwgMTIzODksIDEyODM5OCwgOTIzNjYsIAorICAgIDQxOTk2LCAxMTUyNiwgNjM5ODUsIDU4NjQsIDExNDcsIDQzODQ5LCA0Mjg4NywgMTk4NywgOTI3MTgsIDU0ODAsIDc4NTgsIAorICAgIDExNjUzLCA0MTE2LCAxMjM5MSwgNjYxOTMsIDEyOTE5NywgNDkzOSwgMTIzODQsIDAsIDAsIDQxNjg2LCA2MzkwNSwgCisgICAgMTE5NjAxLCAxOTQ2ODgsIDY3Mzk4LCAxMjg4MjAsIDEyNjQ5LCAxMjkwNTYsIDAsIDgyNDcsIDUwNywgOTEsIDIwNDIsIAorICAgIDEyMDc3NSwgNDM2NDMsIDE5NDY4OSwgNjYwMjgsIDEwMDM2LCA0MTg0NCwgMTE5ODEzLCA3NzQsIDExOTgyOSwgNzc4NDAsIAorICAgIDExOTgxNSwgNTk5NCwgMTI1MzksIDAsIDc4Mzc1LCAxMjA1OTcsIDExOTgzMywgOTgzMTA1LCA3ODM3NywgMCwgOTE3NjI4LCAKKyAgICA3NzE5LCA2MDI2LCAyNDg2LCAxMjgzMTIsIDExOTgwOCwgMTYyLCAwLCA2NTIxOSwgNDEwNzMsIDk2ODcsIDQxNjgxLCAKKyAgICA2MzA0LCAxMTk4MTIsIDY2MTk2LCAxOTQ4ODEsIDUyNjIsIDAsIDU1MjMzLCAxMjY4MSwgNDIzNzksIDAsIDc1MzQsIAorICAgIDEyMjE5LCAyMjI2LCA3MDQ5OSwgNDI4MTAsIDEwNDkyLCAxMjcwMTUsIDk4MzY2MSwgMTI2NzA0LCA0MzExOSwgMCwgCisgICAgNzg1MzcsIDEyNDAzLCAyNTAwLCA3MDE0NSwgMCwgNDg5OSwgMTI3MjksIDk4MzM5NywgMCwgNzQxMTMsIDIzNDMsIDQxMDMsIAorICAgIDE5OTQ2LCA3NDExMiwgNzc4NTEsIDEzMTEyLCAxMjkwNDYsIDc0ODM0LCAxMjg1OSwgNzAwODcsIDEyMDE0OCwgNjYzNjksIAorICAgIDU4NjEsIDEyNzc1OCwgMTE5OTksIDEyNDAwLCA0MzY0MSwgOTgzODM5LCAxMjY0NSwgNTE0NiwgMTEzMjAsIDY4NDEwLCAKKyAgICA2NzQ4LCA2NTA0MCwgOTgzNDkxLCA2NDE4NCwgMTI5NzQsIDY0MTgzLCA2NzYxMywgMTIwNjQ1LCA1MTQ3LCAxMjUwMTksIDAsIAorICAgIDc0NTI0LCAxMjgzNTYsIDE5MjgsIDAsIDY3NjQ5LCA1OTkxLCAzNDQ1LCA2NzYwOSwgNDk3NiwgNjQxNzYsIDAsIDY3NjEwLCAKKyAgICA4MjQxLCAwLCA3Nzg2OCwgNDIwNiwgMCwgNzg2NjIsIDAsIDEyODI5OCwgNjcyNzcsIDEwMTM4LCA2NzIzOCwgMTI4Nzg1LCAKKyAgICA4ODk3LCAxMjAyMzQsIDE0MjIsIDgzNTcsIDQxMjQsIDc3ODYyLCA2NTgzNiwgMTIwNjQxLCAxMjc5MjYsIDc3ODU5LCAwLCAKKyAgICAxOTQ2OTYsIDExMjMsIDk2MywgNDE1NTMsIDEwMTIwLCAxMjQwNSwgMTIwMTUwLCA5MjY2NCwgMzk4LCAxMzI3OCwgOTcyMywgCisgICAgNjM2NiwgMTIwMzExLCA3OTQ1LCA5ODMxNjMsIDQ0MDIsIDk5NzAsIDEyNDAyLCA5MzA2MiwgNDIzOTIsIDEzMDUsIDEyNDA4LCAKKyAgICA5MjM4NCwgNDQwMDcsIDEyODU2MywgMTI3MjE2LCA0MTQ2NCwgMTI0MTEsIDEyOTY5LCA2NzI2OCwgNDE0NjUsIDk4MzU2NSwgCisgICAgODUyOCwgMTU3NSwgMCwgNjM5NTUsIDE2NSwgMzAyNCwgNDE0NjcsIDExOTE2MywgNzAxMTksIDkwOTMsIDAsIDY4MzMsIAorICAgIDkyNTc0LCA2Mzk1OCwgMCwgOTE0OCwgOTY5MiwgNDA5NiwgNTMsIDgyOTYsIDY3NTAsIDY2ODU1LCAwLCA5NTk0LCAKKyAgICAxMjAzMDgsIDEyOTE4NiwgNDM1MjcsIDE5NDYyMiwgNzI3LCA3NDE5MiwgOTMwNjAsIDU4MDUsIDAsIDY3MjYsIDAsIAorICAgIDQyMTc2LCAxMjM3MCwgMTE2NTUsIDExOTA5NSwgMTA1OTEsIDIyODAsIDAsIDEyMzcyLCAxMjA2NDIsIDEyMDMwNywgCisgICAgNzEyMDksIDkyMzQzLCAwLCAxMjM2NiwgMTA5NjMsIDYwNjYsIDEzMjksIDAsIDMwNTIsIDkyMjAsIDAsIDY0NDc4LCAKKyAgICAxOTQ3MDEsIDEwODAzLCA0MTMyLCAxMjAzMDYsIDY4NDc0LCA5MjQ3MywgMCwgMTIwNzEyLCA3NDgzNywgMTIwMTU1LCAKKyAgICAxNDk5LCAwLCA4MDU1LCA0Mjc0MCwgNjM5NjUsIDEyMDMwNSwgNjM5NjIsIDc0MDQyLCA4OTI0LCA0MzEyMywgNTk4OCwgCisgICAgMzY2MCwgNjM5NjksIDExNzgxLCA0MjcxOCwgODc4OCwgMTM1NywgNjQ4NTEsIDY1NzQzLCA5Mjg5NCwgODc3NCwgNzAzMzcsIAorICAgIDEyNzA4NiwgOTk0MSwgMTIwMTcyLCA5Mjc0OCwgMTkzMywgNjk2NTUsIDk1NjQsIDAsIDkyNDM1LCA3Mzg2NiwgMCwgCisgICAgOTgzNTgzLCAyNDg3LCA2NzYxNCwgMzEyMSwgMTgwNCwgMzMxMSwgNjc2MTUsIDcwMDgxLCA3ODMwMiwgMTIyMjAsIDY3NjE2LCAKKyAgICA5Mjc2OSwgMTI3NDc1LCAwLCA2ODIwMCwgNjY3NSwgMTI4MTQ0LCAwLCA2NzU5MiwgMTIwNjg1LCAwLCA2NDc3MSwgMTE5OCwgCisgICAgOTEzMiwgMCwgNjQ2MTksIDUxMCwgNjQ2NjMsIDAsIDAsIDQ1NjEsIDIxMDEsIDEzOTgsIDkxNzk3MiwgOTI1NTQsIDc0MDM0LCAKKyAgICA0MTU2OSwgOTI2ODQsIDExNDA2LCA4MTY3LCAxMjEyNywgMCwgODQwLCA5ODMyODEsIDY5OTkyLCA3MTAxLCA2OTY3LCAwLCAKKyAgICAxOTQ4OTgsIDk3OTYsIDAsIDMzMywgNjk4OTEsIDAsIDgxNDQsIDIxMTcsIDAsIDk4MzU5NSwgMTI0MDYsIDAsIDE5OTMxLCAKKyAgICA2NjM4OCwgNjY3OCwgNzc2OSwgMCwgMTI2MjEsIDAsIDEyNzM2NiwgMTAyMjcsIDQ3NjQsIDQzMTAxLCA5OTgxLCAwLCAKKyAgICA0MDk4NiwgNDEyNywgNjY0ODcsIDk4MzU3NiwgNDIyMDIsIDEyNzU0LCAxOTUwMjIsIDAsIDAsIDk0MDk3LCA2NzU5NCwgCisgICAgMjA0OCwgMTI5NDQsIDQwNTAsIDY3NTk1LCA5MTc5NjcsIDQzMTAyLCAxMDU4MSwgMTExODQsIDQ1MzMsIDE5NTAyMSwgCisgICAgNzQwMDMsIDY0OTAsIDAsIDEyMDM4LCAwLCAwLCA2ODIyNSwgNjU0NjEsIDk3OTgsIDY5NzA0LCAwLCAxOTQ4LCA2OTg0MSwgCisgICAgMCwgOTUyLCAxMjgyMzUsIDEyNTEwNywgMCwgMTIwODAyLCA2NDQ5LCA5NDk0LCAxMjAzMTMsIDAsIDQzMDk4LCA0ODQzLCAKKyAgICA4MTQyLCA2NDE2MCwgNDA5OCwgNjQxNzAsIDk4MzMzOSwgMCwgMzQzNiwgMTE5OTczLCAwLCAxMjgxNywgNjc1OTcsIDY2NzYsIAorICAgIDM5MzAsIDQyNjE1LCAwLCA2OTk5MSwgNjc1OTgsIDAsIDAsIDAsIDY1NTkxLCA0MTU4MSwgNjU5MTYsIDE0NTMsIDAsIDAsIAorICAgIDEyNzg1OSwgODUwMCwgNDIyMjIsIDEyMDE0MiwgNzM3NDMsIDEyMDQwMCwgNDMxNywgMTE1NDMsIDY3Njc2LCA2NDY3NiwgMCwgCisgICAgMTI3ODMzLCA2NzYwNiwgMTE5MDgzLCAxMjc4OTIsIDQyMjE3LCAxMzEwMiwgMCwgNjYwMDMsIDY2NzIsIDAsIDAsIDY2ODgwLCAKKyAgICA5ODM3NDcsIDYzODQxLCA5NjEzLCA5MDAxLCA0NTI2LCAxMTI3NCwgNjc2MDEsIDY0NTIwLCA2NDIxMCwgNjY2NCwgNzg3MDQsIAorICAgIDQyMDU2LCAxMDIyOCwgNjQ5NTcsIDExMjgxLCAwLCAzODA3LCAxNDY5LCA2NjY0MCwgNjUzODEsIDQyMTk3LCA0OTg4LCAKKyAgICA0MjM3MiwgMCwgOTU5OCwgOTA0LCAzNTIsIDQyMjI1LCAxNDUxLCA4MDYxLCA4NDUzLCA0MTM0LCAxMjcwNTIsIDY3MjIzLCAKKyAgICA2NjU3NiwgMTI3OTE2LCAxMjc4MzEsIDEwNTIwLCA4NTc1LCA5OTYwLCAxMjAxLCAxMjcyODksIDEyODQ2LCAxMjcyOTEsIAorICAgIDEyNzI5MiwgMTE5MTksIDY0OTYyLCAxMjcyODcsIDQzNzM5LCAxMjcyODEsIDg1MTEsIDk0NjAsIDgyMywgMTE1ODcsIAorICAgIDEyMzA1LCAwLCA2NDY5NSwgMTI3MzA1LCAxMjM4NywgMTI1MywgMTMxODMsIDY1NzY2LCA1MDAsIDQyNzgzLCA2NTc2NSwgCisgICAgNjQyMDgsIDY0MzY5LCA2NTc2MCwgNjU3NjEsIDcwMzM0LCAxMTYwNiwgNjQ3ODQsIDExNzAyLCA2NjQ5OCwgOTgyMSwgCisgICAgNjQzMDQsIDAsIDUxNTIsIDExMDQ4LCA3NTMzLCA2ODM2NiwgNjQ0MTAsIDkyMzA1LCAwLCA0MzIzLCAxMjAwNjIsIDkyNjY5LCAKKyAgICA3MTMzMiwgMTIwMTU4LCA0MjU4NywgNDIyMTQsIDQxMzk0LCAxMTE4OCwgNDc2MywgNDExMiwgMTE4OTM1LCAwLCA1MjYwLCAKKyAgICA0MzE0MywgOTQwMzgsIDMyNiwgMTIwMTMxLCA2ODQyMywgMTk0OTA0LCAxMDc3MSwgMjg3NiwgNzQwNzQsIDkyNTMwLCAKKyAgICAxMjg0NjAsIDQxMzk4LCA3MzgyLCA5ODAyLCAxMjcwNzcsIDEyNzA3NiwgNDUzLCA0MTM5NiwgMTIwNTI0LCAxMzE1OSwgCisgICAgMTIxNDAsIDk1NzIsIDAsIDcwMDMsIDE5NDg4MywgNDIzMzQsIDc3MDQsIDEyNTA2OSwgMTI1MDIwLCA0MzE0NCwgNDEyMywgCisgICAgODQ5NCwgNDMxNDYsIDk5NzcsIDAsIDEyNjQ3MywgNjU3NTksIDEwNzY1LCA2NDA2MSwgNDQ2NSwgOTgwOCwgNjQwNTYsIAorICAgIDY1NTgyLCA0MTI2LCAwLCA5NTIxLCA5NTg5LCA2NDc1NSwgMCwgNjQwMjAsIDEyNjYwNCwgMTA0NjQsIDAsIDkyOTY4LCAKKyAgICAxOTQ4NjksIDY0NTE0LCAxMTUyOCwgNjQwMjQsIDEyODA3MiwgNjc5LCA2NDAxMywgOTgzNTU1LCA1ODUwLCA3NTgsIDc1MzYsIAorICAgIDEyODY2MywgOTIyMzQsIDQxNDQxLCAxMDY5MywgNjQwMDYsIDk4MzU2NywgNjQwMDUsIDQwNTgsIDExOTAxOSwgMTI2NDg3LCAKKyAgICA2NDY2MCwgMTI4MTc2LCAxMTkwNTAsIDAsIDk4MzA2OSwgMTEzOSwgNDMyOTgsIDY0MDI3LCA2NDAyOSwgODk3MCwgMCwgCisgICAgOTkzNCwgMTI4Njg1LCAxMDc3NCwgNjcxMDQsIDQyMjAxLCAxMjQyMSwgMTI4MjE2LCAwLCAxODUyLCAzMDU3LCA2NDA0NiwgCisgICAgNzM3NDQsIDY0MDM0LCA2NDAzOSwgMTI5MTI3LCAwLCAwLCAxOTQ4OTksIDkyMzIyLCA3NjQ1LCAxMjg1NCwgNzQzMzgsIAorICAgIDM0OTYsIDAsIDAsIDExMzcxMCwgOTEwMiwgNjI3LCAxMjc3OTUsIDYxNTgsIDgzMjcsIDc0NTUzLCA2NjYzMiwgMTI0MTksIAorICAgIDEzMzA5LCAxMTU3MCwgMTI3ODExLCAxOTk2MCwgMTE2OTYsIDAsIDEwMTgsIDExODk3MCwgMTI5MDc1LCAxOTQ4OTcsIAorICAgIDE2ODIsIDQzODYzLCAxOTQ5MTEsIDQyNzU2LCA2NzY1LCAxOTQ5MDYsIDY3NzE3LCA3NDM1OCwgNzM4MTQsIDExNDEyLCAKKyAgICA2NzY4LCAxMDcyOCwgMTE5OTgyLCA3MTMxNiwgNzEwOTksIDQzMzExLCA2NDk2NiwgMTE1NzcsIDAsIDQzMDQwLCAxODMzLCAKKyAgICAxMTU3NiwgMCwgNzQ3NzksIDAsIDE4NSwgNjUwODUsIDc0NTMzLCA2NDc1NCwgMTE5MzM0LCA3NTM1LCA4MDg1LCA0MjUyNSwgCisgICAgMTIwMzg3LCA5NzQ5LCA0MTcwMSwgNjEzMSwgMTk0OSwgNDExNywgNzg0NywgMTIwNDg5LCAxMjQ5OTIsIDY0NDgzLCAKKyAgICA2NTY5MywgOTgzNzExLCAwLCAwLCA2OTY5NSwgNDIyNDAsIDEyODU4NywgMTI2NjUxLCA0Mjg2NCwgMTI2NDk4LCA0MzE2OCwgCisgICAgNDE4NjgsIDExODQsIDAsIDgxNSwgMTE0ODQsIDEyNzUzNSwgNjc4NDAsIDk4MzY1MSwgMCwgNjYxOTcsIDk4MzQ3MiwgCisgICAgMTA5ODYsIDY0NjgzLCA5ODM3ODUsIDEyODQ1NCwgMzQ1NSwgMCwgMCwgOTg3OSwgMCwgMCwgNDE1OCwgMTI4MDUwLCAKICAgICA2ODE2NiwgMCwgMCwgMCwgMCwgNjk2NDUsIDMzMiwgMTE4ODA4LCAwLCA1MTQyLCAyNDA3LCA2OTY0MywgNDIxOTksIDAsIAotICAgIDkyNDA0LCA3NDM3MywgMCwgNTUyMTcsIDAsIDYzODcwLCA0MzE2MywgMCwgMCwgOTIzOTAsIDQyODY3LCAxODM0LCAwLCAKLSAgICA5MjQ2MSwgNjk4MTcsIDEwOTQwLCA2NTI0OSwgMTE5MDQwLCA4NjYyLCAwLCAwLCAyNjUyLCAxMjA1MjcsIDcxNjQsIAorICAgIDkyNDA0LCA3NDM3MywgMCwgNTUyMTcsIDkyNDM2LCA2Mzg3MCwgNDMxNjMsIDAsIDAsIDEyOTg1LCA0Mjg2NywgMTgzNCwgMCwgCisgICAgOTI0NjEsIDY5ODE3LCAxMDk0MCwgNjUyNDksIDcwMzg1LCA4NjYyLCAxMjAzMjQsIDAsIDI2NTIsIDEyMDUyNywgNzE2NCwgCiAgICAgMTA3ODQsIDE5NTA5MywgNjc2NzQsIDAsIDkyMjMzLCA5MjQ4MiwgMTk0NzQ5LCA3NDU2MiwgOTE3NTA1LCAxODI4LCAKLSAgICA3NDQ3NCwgMTIwMzI3LCA3ODYyMCwgODUzMSwgMTI0OTksIDYyODAsIDEyMzI0LCAxMTg4NTQsIDY1MjM4LCA2ODM3NCwgCi0gICAgNDgzMiwgNjU1NzMsIDAsIDYyNzksIDEyNTA4LCAxMjkwNCwgMTI1MDIsIDkxNjEsIDAsIDE2MjAsIDY0NDM2LCAzNjAxLCAKLSAgICAxOTUwOTQsIDEyODA3MywgOTgzNTYyLCA2MDksIDExNTU1LCA5ODMwOTksIDEyNDk2LCAxMjc4MzksIDc0MTgxLCA0MzQzLCAKLSAgICAxMjUwNSwgMCwgMTI3ODYzLCAwLCAxMTM3NywgMjM5LCAwLCA2MzcsIDAsIDAsIDQyNjcxLCAwLCAwLCAwLCA0MzU2NSwgCi0gICAgNzEzMDYsIDEyNjQ5MywgMTI2OTYsIDEyODI1NiwgMCwgOTQwNjIsIDEyOTI5LCAwLCA3MTIsIDAsIDQxOTcsIDk4MzIwNiwgCi0gICAgNDI4MTgsIDEyNjYzMiwgMCwgMTIwNDkwLCAwLCAxMTkxMzcsIDE1MDYsIDQzNTYyLCAwLCA5MjQ5MSwgMCwgMTI2NTEsIDAsIAotICAgIDY0NjI4LCA3NDUxNywgMTIwNTgsIDc0MDg0LCA5MTc4MzgsIDc0OTQsIDAsIDQ5MjQsIDY1NTkyLCAxMTg4NDQsIDAsIAotICAgIDEyNzA4OCwgMzU1LCA5NzE5LCAxMjcwODcsIDEzMDY2LCA2NDc5NiwgMCwgMCwgMTIwMzMsIDQyMTc4LCAwLCA2OTc2MCwgCi0gICAgNDI1NzEsIDkyNjM1LCAwLCAwLCAwLCAwLCAwLCAxMjcxNzYsIDMxNzgsIDAsIDAsIDkyNzA0LCAwLCA5MDgwLCAxMjcwMDAsIAotICAgIDEyMDM1MiwgMCwgNjgyMDksIDAsIDExMDgyLCAwLCA1Njk5LCAxOTUxMDAsIDY2MDAwLCA5NDg4LCA2NTE2NiwgMTE5MTEyLCAKLSAgICAwLCAwLCAwLCAwLCA3MTMxMywgMCwgNTI2NSwgNjkyMzUsIDAsIDExNDg3LCA2Nzg1OCwgMTI0NjQsIDAsIDQzMDQ1LCAwLCAKLSAgICAwLCA0MzM0NSwgMCwgMTA3NzAsIDExODk5NCwgNjgwNywgNDY1LCA5ODI5LCAwLCA3NDM0OCwgMCwgNDMzNDYsIDgxMTYsIAotICAgIDc5NSwgMCwgMCwgMTI0NjIsIDEwOTMwLCAxMDgzMSwgMCwgMTE4OTUyLCA2NDM2MiwgNzQzMzQsIDk4MzYwMiwgMTIwODExLCAKLSAgICAwLCAxMjQ2OCwgODYwNywgMTAwOCwgMCwgMTAwOTIsIDE5NTA3OCwgOTE3ODQyLCA2Nzg1NSwgNTUyNTcsIDczNzcxLCAKLSAgICAxNzY2LCAxMTI4MiwgMTE5OTYsIDE4MjAsIDQ1NDcsIDAsIDAsIDAsIDAsIDEzMjIzLCAxMjg2NjUsIDY0NTk1LCAxMjcyOTQsIAotICAgIDAsIDkyMzExLCA0MzQ1LCAxMjYxNiwgMCwgMCwgMCwgNzQ0NjcsIDAsIDAsIDAsIDUzODIsIDAsIDAsIDAsIDExOTA2MCwgCi0gICAgNjQ5NTMsIDU0MDYsIDE5OTIwLCA2OTg5NywgNjY1MTAsIDM1OTAsIDE5NDg2NCwgMTEzMCwgMCwgMCwgNDIwMTYsIDExODIzLCAKLSAgICA0MzAyMywgMCwgMTE4ODk2LCA3NzQyLCAwLCAxMzI4MCwgNzEzMjMsIDkzMjYsIDczODI2LCA1MzEwLCA3NDgxMiwgNzg1ODQsIAotICAgIDkyMjI5LCA4OTU5LCA0MzU4OSwgNjc0NywgNjY3MjMsIDAsIDg1NjgsIDAsIDEyMDQ5NiwgNzM4MTYsIDEyMDgwMywgCi0gICAgOTgzODQ4LCA0MjY3MCwgMCwgMTE2MjEsIDEyNDYwLCAwLCAxMjA2MzEsIDAsIDQzMDYzLCA3NDUxOSwgMTI3MTgyLCAwLCAKLSAgICA3MzkxNywgNzg0MywgNjk3ODMsIDExNjg5LCA1NDEwLCA1NzgzLCAxMDQ2OCwgODQwMywgNTQwMCwgMTE1OTQsIDEyODI0NywgCi0gICAgMCwgMTE4OTkwLCAxMDQ5MSwgNjk4NDIsIDY0NDEyLCAwLCAwLCA1NTg3LCA0Mjg2NSwgNjQ0MDQsIDgyNjgsIDQ5MjMsIAotICAgIDY1MDg2LCA4OTgxLCAxMjM4MiwgNDIxMzMsIDEyMDc1NSwgOTcwNiwgNjk3MzgsIDAsIDY2NjEwLCAxMDQ2MSwgMTIxMDMsIAotICAgIDAsIDg2NDIsIDAsIDQyNzY2LCA5ODM4NjYsIDIyMTAsIDk5ODMsIDAsIDk0MDA5LCAwLCAwLCAwLCA3Mzk4LCA0MTUxNSwgMCwgCi0gICAgMTE4MDIsIDgwNDEsIDE0NjEsIDkxMCwgMTE5MTMzLCAwLCA2NzQ5LCAzNjU4LCA5Mzk2NCwgMTIwNTI1LCAwLCA3NjE3LCAKLSAgICAxOTQ4NDEsIDEyODg4LCAxMjc5ODMsIDY3NjY4LCAxMzE0MywgMCwgOTE5MywgMTEwOTcsIDU3MDMsIDAsIDQxNTE3LCAKLSAgICA0MTUwNCwgNDE1MTksIDEwMDE2LCA2NDMwNSwgMCwgNjU4NjQsIDYyMywgNzgxLCA2NzAsIDEwNjYwLCA1NzY5LCA2MTMsIAotICAgIDc1NDMsIDEyMDI3OSwgNDc3LCA0MTA4MywgOTI1MjEsIDAsIDU5MiwgMTU3OCwgMTI0NTksIDQzNDQ5LCAwLCAwLCA4MjI1LCAKLSAgICAwLCA2NTQsIDExMzQ1LCA2NTMsIDY1MiwgMCwgNjQ3LCAwLCA2MzMsIDEyMDc0NCwgMCwgMTI2NDcyLCAxMjQ4MCwgNDMyNDMsIAotICAgIDAsIDM5LCAxMjQ4NywgMCwgMTIwNTI5LCA3NDE5OSwgMTI0ODIsIDAsIDEyNDg5LCAwLCAzMTk1LCA1NTUwLCA5ODM1NTQsIAotICAgIDc4OTcsIDAsIDEyMDMsIDc0Mzk2LCAxODEzLCA2NDU0NCwgNDEzMTEsIDEyMDkwLCAwLCAyODc3LCAwLCAwLCAxNjc1LCAKLSAgICA2OTg0MCwgMCwgMCwgMCwgMTAwNzAsIDEwNTk1LCAwLCAxMTkwNzcsIDE5NDc3NywgOTgzNjExLCAwLCAwLCAwLCA0MzI0NCwgCi0gICAgMCwgMCwgOTgzOTE2LCAxMTk1NjEsIDk4MzA3OCwgMCwgMTk0OTIxLCAxMjgxNjAsIDk5MzksIDAsIDk4MzE1MSwgNzc4NjAsIAotICAgIDAsIDAsIDI3MCwgMCwgMTA3MTQsIDAsIDAsIDAsIDAsIDAsIDY1MzcyLCAwLCA3NDAzOCwgMTE5NTU4LCA2MjczLCA2NjY3OSwgCi0gICAgMzY0LCA5NTk1LCAxOTQ5MDgsIDAsIDAsIDcwNywgMCwgMCwgOTI4MiwgNjY0ODksIDIyNCwgMCwgNjg2NzAsIDkzMzIsIAotICAgIDQ5NjYsIDY4Njc3LCAwLCA2ODY0NCwgMCwgMzg0MSwgNjg2MzQsIDAsIDEwNzMyLCA2ODY0MCwgODUwLCA0OTcyLCAwLCAKLSAgICAxMjg5MCwgMjkwOSwgNjg2MTksIDQ0MDA4LCA2ODYyNywgOTgzNzE4LCAxMTU0NCwgMTAyMDMsIDk2MDgsIDAsIDAsIAotICAgIDExOTYyLCAxOTQ2OTQsIDEyNTA3LCAxMTk2LCAxMjg2ODcsIDEyODMxMSwgNzc3LCAxMjAxODcsIDQzNzUsIDY1MjcxLCAKLSAgICA2NzY3OCwgMCwgMTIxOTgsIDAsIDY0ODI0LCAxMTkzNDMsIDk4MzIzNiwgOTQ1NCwgNjM3NzgsIDg2NTgsIDQyNTI4LCAKLSAgICA3ODAwMCwgMjcwNSwgOTE3OTc1LCA0MTUyMCwgMCwgMCwgMTE5ODYsIDc3NjUsIDQyNTAyLCA4MjgwLCA3NDUyMCwgMjcwMSwgCi0gICAgMCwgMTI3MDAyLCA1NzY3LCAwLCAwLCA5ODA5LCA4MzUzLCA2Mzc0NywgNjY3MDEsIDYzNzcyLCA5ODM4MTQsIDYzNzQ1LCAKLSAgICAxNzQ4LCA2Mzc3MCwgMCwgMCwgMCwgNjU1NDIsIDYzNzY2LCA1NTI0NCwgMzA2MSwgMCwgNjM3NjQsIDYzNzg3LCA5MDY3LCAKLSAgICA2MDk2LCAwLCA3Njk0LCAwLCA3MjU3LCA2Mzc2OCwgMzQ4NSwgMTI5ODcsIDAsIDEyNzUyMiwgMTIwNjI4LCA2MzgwNywgCi0gICAgMTU5MSwgMCwgNjM4NiwgNjM3ODMsIDAsIDAsIDkyNTM1LCAwLCAwLCAwLCA3NDU3NSwgMCwgNjU3MTksIDEzMDgzLCAKLSAgICA2NDU3NCwgNjUwMTIsIDAsIDE2NDAsIDEyNDk1LCA2NjY5MSwgNzYyNCwgMzEzOCwgMTA5OTYsIDkyMjQ3LCAxOTIyLCAwLCAKLSAgICAxMjQ5OCwgMTA5ODcsIDY5OTM2LCA2OTkzOSwgMzg5NCwgNjU1NDMsIDAsIDE5NDg0MiwgOTgzNTg4LCA0OTMsIDAsIAotICAgIDQzMTk3LCAxNzE3LCA0MjI4LCA0NzksIDEwMzAzLCA3NDAyMCwgMCwgOTE3OTM1LCAxMDMzNSwgMzUyMCwgOTE3OTMyLCAKLSAgICAxMjQ5MCwgNjQzMTUsIDAsIDEyNzAzOSwgMTI0OTMsIDYyMzMsIDQyNjgxLCAxMDAyLCAxMjQ5MSwgMCwgNjQ5MTEsIAotICAgIDkyNjE1LCAyMDk2LCA2NTEyMCwgMCwgNzgyMTksIDk4MzA4MSwgODM3OCwgMTE2MzIsIDEyNzA0MSwgNjYyMTMsIDYzODY0LCAKLSAgICA2NjIyMSwgNjYyMjYsIDY2MjI5LCAxMzIxOCwgNjYyMzEsIDY2MjE2LCA4NTA3LCA2NjIzNiwgNjYyMTEsIDY2MjE4LCAKLSAgICA5MjY3MiwgNjYyNDAsIDc4MDQxLCA2NjIzMywgODkyOCwgOTgzNTUyLCA3OTA5LCA2NjIzNCwgMTE2MDUsIDYzNzU5LCAKLSAgICA5ODM2NTQsIDY2MjA4LCA3Mzk5OSwgNjM3OTksIDYzODAzLCAyNDQsIDExNTQyLCAxMjg5OCwgMTI0OTQsIDczNzYxLCAKLSAgICAxMjQ5MiwgMTI2NjksIDAsIDAsIDc0MTUzLCAwLCAxMjgyNzgsIDEyMDY4MCwgNDg4MiwgMTMwNDAsIDAsIDg2MTIsIDQ4ODUsIAotICAgIDc0MDUzLCAwLCAxMzA0MiwgNDg4MCwgNjQ2NjIsIDI0MjksIDEzNjAsIDI0OCwgMCwgNjM3OTcsIDkyMzk0LCA0MjM1OCwgMCwgCisgICAgNzQ0NzQsIDEyMDMyNywgNzg2MjAsIDg1MzEsIDEyNDk5LCA2MjgwLCAxMjMyNCwgNzI0MzQsIDY1MjM4LCA2ODM3NCwgCisgICAgNDgzMiwgNjU1NzMsIDQzODUxLCA2Mjc5LCAxMjUwOCwgMTI5MDQsIDEyNTAyLCA5MTYxLCAwLCAxNjIwLCA2NDQzNiwgCisgICAgMzYwMSwgMTI0OTQ0LCAxMjgwNzMsIDY3MjQ2LCA2MDksIDExNTU1LCA5MjQwOSwgMTI0OTYsIDY3MjUwLCA3NDE4MSwgCisgICAgNDM0MywgMTI1MDUsIDAsIDEyNzg2MywgMCwgMTEzNzcsIDIzOSwgMTI5MTkwLCA2MzcsIDAsIDEyODY3OCwgNDI2NzEsIDAsIAorICAgIDkzMDMyLCAwLCA0MzU2NSwgNzEzMDYsIDEyNjQ5MywgMTI2OTYsIDEyODI1NiwgOTE3NjAwLCA5NDA2MiwgMTI5MjksIDAsIAorICAgIDcxMiwgMCwgNDE5NywgOTgzMjA2LCA0MjgxOCwgMTI2NjMyLCAwLCAxMjA0OTAsIDcwMzMzLCAxMTkxMzcsIDE1MDYsIAorICAgIDQzNTYyLCAwLCA5MjQ5MSwgMCwgMTI2NTEsIDAsIDY0NjI4LCA3NDUxNywgMTIwNTgsIDc0MDg0LCA5MTc4MzgsIDc0OTQsIAorICAgIDAsIDQ5MjQsIDY1NTkyLCAxMTg4NDQsIDE5NDgyMywgMTI3MDg4LCAzNTUsIDk3MTksIDEyNzA4NywgMTMwNjYsIDY0Nzk2LCAKKyAgICAwLCAwLCAxMjAzMywgNDIxNzgsIDAsIDY5NzYwLCA0MjU3MSwgOTI2MzUsIDExNDMwLCAwLCAwLCAwLCAxMjQ5NTEsIAorICAgIDY4MzI0LCAzMTc4LCA5MTc4MzUsIDEyODYzMywgOTI3MDQsIDAsIDkwODAsIDEyNzAwMCwgNjc2OTcsIDE5NTEwMSwgCisgICAgNjgyMDksIDcyNDE4LCAxMTA4MiwgMCwgNTY5OSwgMTk1MTAwLCA2NjAwMCwgOTQ4OCwgNjUxNjYsIDExOTExMiwgNzA0NzcsIAorICAgIDExMTcwLCA2ODY2MiwgMTI4MTIwLCA3MTMxMywgMCwgNTI2NSwgNjkyMzUsIDAsIDExNDg3LCA2Nzg1OCwgMTI0NjQsIDAsIAorICAgIDQzMDQ1LCAwLCAwLCA0MzM0NSwgMCwgMTA3NzAsIDExODk5NCwgNjgwNywgNDY1LCA5ODI5LCA2OTk5NywgNzQzNDgsIDAsIAorICAgIDQzMzQ2LCA4MTE2LCA3OTUsIDEyMDM1MiwgNzI0MTIsIDEyNDYyLCAxMDkzMCwgMTA4MzEsIDAsIDExODk1MiwgNjQzNjIsIAorICAgIDc0MzM0LCA5MzA1NiwgMTIwODExLCAwLCAxMjQ2OCwgODYwNywgMTAwOCwgMCwgMTAwOTIsIDEyNTEyMiwgOTE3ODQyLCAKKyAgICA2Nzg1NSwgNTUyNTcsIDczNzcxLCAxNzY2LCAxMTI4MiwgMTE5OTYsIDE4MjAsIDQ1NDcsIDAsIDExMjAyLCA5ODMyMjIsIAorICAgIDk4Mzg3MiwgMTMyMjMsIDEyODY2NSwgNjQ1OTUsIDEyNzI5NCwgMCwgNjg0ODksIDQzNDUsIDEyNjE2LCA5MTc3ODQsIAorICAgIDEyODk0NywgOTgzMTU1LCA3NDQ2NywgMCwgMCwgMCwgNTM4MiwgMCwgMCwgNjcyMzMsIDExOTA2MCwgNjQ5NTMsIDU0MDYsIAorICAgIDE5OTIwLCA2OTg5NywgNjY1MTAsIDM1OTAsIDE5NDg2NCwgMTEzMCwgOTE3NzY2LCAxOTQ2OTIsIDQyMDE2LCAxMTgyMywgCisgICAgNDMwMjMsIDEyNTEyOSwgMTE4ODk2LCA3NzQyLCAwLCAxMzI4MCwgNzEzMjMsIDkzMjYsIDczODI2LCA1MzEwLCA0MzUwOSwgCisgICAgNzg1ODQsIDkyMjI5LCA4OTU5LCA0MzU4OSwgNjc0NywgNjY3MjMsIDY0NzU3LCA4NTY4LCAxOTQ2ODQsIDEyMDQ5NiwgCisgICAgNzM4MTYsIDEyMDgwMywgOTgzODQ4LCA0MjY3MCwgMCwgMTE2MjEsIDEyNDYwLCAxMzI2LCAxMjA2MzEsIDk4MzMzNCwgCisgICAgNDMwNjMsIDQzMjM5LCAxMjcxODIsIDE5NDg0MCwgNzM5MTcsIDc4NDMsIDY5NzgzLCAxMTY4OSwgNTQxMCwgNTc4MywgCisgICAgMTA0NjgsIDg0MDMsIDU0MDAsIDExNTk0LCAxMjA0MDUsIDY4MzMzLCAxMTg5OTAsIDEwNDkxLCA2OTg0MiwgNjQ0MTIsIDAsIAorICAgIDAsIDU1ODcsIDQyODY1LCA2NDQwNCwgODI2OCwgNDkyMywgNjUwODYsIDg5ODEsIDEyMzgyLCA0MjEzMywgMTIwNzU1LCAKKyAgICA5NzA2LCA2OTczOCwgMCwgNjY2MTAsIDEwNDYxLCAxMjEwMywgMCwgODY0MiwgMTk0NzA3LCA0Mjc2NiwgMTI4MjQ3LCAKKyAgICAyMjEwLCA5OTgzLCAwLCA5NDAwOSwgMCwgMCwgMCwgNzM5OCwgNDE1MTUsIDAsIDExODAyLCA4MDQxLCAxNDYxLCA5MTAsIAorICAgIDExOTEzMywgMCwgNjc0OSwgMzY1OCwgOTM5NjQsIDEyMDUyNSwgMCwgNzYxNywgMTk0ODQxLCAxMjg4OCwgMTI3OTgzLCAKKyAgICA2NzY2OCwgMTMxNDMsIDAsIDkxOTMsIDExMDk3LCA1NzAzLCA5ODM0NzUsIDQxNTE3LCA0MTUwNCwgNDE1MTksIDEwMDE2LCAKKyAgICA2NDMwNSwgMCwgNjU4NjQsIDYyMywgNzgxLCA2NzAsIDEwNjYwLCA1NzY5LCA2MTMsIDc1NDMsIDEyMDI3OSwgNDc3LCAKKyAgICA0MTA4MywgOTI1MjEsIDAsIDU5MiwgMTU3OCwgMTI0NTksIDQzNDQ5LCAwLCAwLCA4MjI1LCAwLCA2NTQsIDExMzQ1LCA2NTMsIAorICAgIDY1MiwgMCwgNjQ3LCAwLCA2MzMsIDEyMDc0NCwgMCwgMTI2NDcyLCAxMjQ4MCwgNDMyNDMsIDAsIDM5LCAxMjQ4NywgMCwgCisgICAgMTIwNTI5LCA3NDE5OSwgMTI0ODIsIDAsIDEyNDg5LCAxMTk2MDcsIDMxOTUsIDU1NTAsIDEyOTEyMSwgNzg5NywgMTI3MDg5LCAKKyAgICAxMjAzLCA3NDM5NiwgMTgxMywgNjQ1NDQsIDQxMzExLCAxMjA5MCwgOTgzNjM0LCAyODc3LCAxMjgzOTQsIDcwNDk2LCAKKyAgICAxNjc1LCA2OTg0MCwgMCwgMCwgMTE5MDc4LCAxMDA3MCwgMTA1OTUsIDAsIDExOTA3NywgMTk0Nzc3LCA5ODM2MTEsIAorICAgIDY3MTcwLCAxMjA3OTAsIDExODc4NywgNDMyNDQsIDAsIDAsIDk4MzkxNiwgMTE5NTYxLCA5ODMwNzgsIDE5NDkxNCwgCisgICAgMTk0OTIxLCAxMjgxNjAsIDk5MzksIDAsIDk4MzE1MSwgNzc4NjAsIDEyODk0OCwgMCwgMjcwLCAwLCAxMDcxNCwgMTE4OTgzLCAKKyAgICA3MjQzNywgMCwgMCwgMTE5MzM4LCA2NTM3MiwgNzM4MDMsIDc0MDM4LCA2ODI1MSwgNjI3MywgNjY2NzksIDM2NCwgOTU5NSwgCisgICAgMTI3MTM3LCAwLCAwLCA3MDcsIDAsIDEyODQwOSwgOTI4MiwgMTExNjMsIDIyNCwgMTI4NTg4LCA2ODY3MCwgOTMzMiwgCisgICAgNDk2NiwgNjg2NzcsIDAsIDY4NjQ0LCA5ODMxMzEsIDM4NDEsIDY3MzU3LCA2NzM0MSwgMTA3MzIsIDY4NjQwLCA4NTAsIAorICAgIDQ5NzIsIDAsIDEyODkwLCAyOTA5LCA2ODYxOSwgNDQwMDgsIDY4NjI3LCAxMjA2OTksIDExNTQ0LCAxMDIwMywgOTYwOCwgMCwgCisgICAgOTE3OTQzLCAxMTk2MiwgMTk0Njk0LCAxMjUwNywgMTE5NiwgNjc2ODQsIDY3MTAwLCA3NzcsIDEyMDE4NywgNDM3NSwgCisgICAgNjUyNzEsIDY3Njc4LCAwLCAxMjE5OCwgOTE3ODg3LCA2NDgyNCwgMTE5MzQzLCAxMjcyNDMsIDk0NTQsIDYzNzc4LCA4NjU4LCAKKyAgICA0MjUyOCwgNzAwNzMsIDI3MDUsIDEyODY4MCwgNDE1MjAsIDE5NTA5OCwgMTI4NDQ3LCAxMTk4NiwgNzc2NSwgNDI1MDIsIAorICAgIDgyODAsIDc0NTIwLCAyNzAxLCAwLCAxMjAyNDAsIDU3NjcsIDAsIDAsIDk4MDksIDgzNTMsIDYzNzQ3LCA2NjcwMSwgCisgICAgNjM3NzIsIDk4MzgxNCwgNjM3NDUsIDE3NDgsIDYzNzcwLCAwLCAxMjkxMzcsIDAsIDY1NTQyLCA2Mzc2NiwgNTUyNDQsIAorICAgIDMwNjEsIDc4NjA5LCA2Mzc2NCwgNjM3ODcsIDkwNjcsIDYwOTYsIDAsIDc2OTQsIDAsIDcyNTcsIDYzNzY4LCAzNDg1LCAKKyAgICAxMjk4NywgMTI3NzgxLCAxMjc1MjIsIDEyMDYyOCwgNjM4MDcsIDE1OTEsIDAsIDYzODYsIDYzNzgzLCAwLCAxMjUwNDEsIAorICAgIDkyNTM1LCAwLCAwLCA2ODI0OSwgNzQ1NzUsIDAsIDY1NzE5LCAxMzA4MywgNjQ1NzQsIDY1MDEyLCA5ODM5NTgsIDE2NDAsIAorICAgIDEyNDk1LCA2NjY5MSwgNzYyNCwgMzEzOCwgMTA5OTYsIDExMTcxLCAxOTIyLCAwLCAxMjQ5OCwgMTA5ODcsIDY5OTM2LCAKKyAgICA2OTkzOSwgMzg5NCwgNjU1NDMsIDEyOTE4MywgMTk0ODQyLCA5ODM1ODgsIDQ5MywgMCwgNDMxOTcsIDE3MTcsIDQyMjgsIAorICAgIDQ3OSwgMTAzMDMsIDc0MDIwLCAwLCA5MTc5MzUsIDEwMzM1LCAzNTIwLCA5MTc5MzIsIDEyNDkwLCA2NDMxNSwgOTIxNzAsIAorICAgIDEyNzAzOSwgMTI0OTMsIDYyMzMsIDQyNjgxLCAxMDAyLCAxMjQ5MSwgMTEzNjk1LCA2NDkxMSwgOTI2MTUsIDIwOTYsIAorICAgIDY1MTIwLCAwLCA3ODIxOSwgMTI4OTEyLCA4Mzc4LCAxMTYzMiwgMTI3MDQxLCA2NjIxMywgNjM4NjQsIDY2MjIxLCA2NjIyNiwgCisgICAgNjYyMjksIDEzMjE4LCA2NjIzMSwgNjYyMTYsIDg1MDcsIDY2MjM2LCA2NjIxMSwgNjYyMTgsIDkyNjcyLCA2NjI0MCwgCisgICAgNzgwNDEsIDY2MjMzLCA4OTI4LCA5ODM1NTIsIDc5MDksIDY2MjM0LCAxMTYwNSwgNjM3NTksIDk4MzY1NCwgNjYyMDgsIAorICAgIDY3MzM5LCAxMzAwMiwgNjM4MDMsIDI0NCwgMTE1NDIsIDEyODk4LCAxMjQ5NCwgNzM3NjEsIDEyNDkyLCAxMjY2OSwgMCwgMCwgCisgICAgNzQxNTMsIDEyMDMxMCwgMTI4Mjc4LCAxMjA2ODAsIDQ4ODIsIDEzMDQwLCAwLCA4NjEyLCA0ODg1LCA3NDA1MywgMCwgCisgICAgMTMwNDIsIDQ4ODAsIDY0NjYyLCAyNDI5LCAxMzYwLCAyNDgsIDEyOTA2NiwgNjM3OTcsIDkyMzk0LCA0MjM1OCwgMCwgCiAgICAgNzI5MiwgMCwgNjM3NTYsIDQyNzg2LCA2NjY5MywgMCwgMTg3MCwgNzgwNDAsIDQ3MCwgNzgwMzgsIDc4MDM1LCA3ODAzNiwgCi0gICAgNzAwMjgsIDc4MDM0LCA0NTc5LCAxMjgwOTAsIDAsIDEyNTExLCA3NDQ1MywgMTI1MTQsIDAsIDc0NTc5LCA3MjM5LCA3MDAxLCAKLSAgICA4NjIzLCA5NDAxMSwgMTI4MDUyLCAxMjgwNDgsIDczNzgsIDEyNTEyLCAxMTYxNSwgNjEwNCwgMCwgMCwgNjU5LCA2MDk4LCAKLSAgICAwLCAxMjIzNCwgMTI3MzA3LCAxMjcwNjcsIDgzMTEsIDEyNTEwLCA0MTgwMywgMTMwMzksIDEyNzA3MiwgMTI1MTMsIAotICAgIDEwMjAyLCAxMjQ3MSwgMCwgODc0NywgOTgzOTIwLCAwLCAwLCAyMzIzLCAwLCAyMzE5LCA3NzkxNywgMTI0NzcsIDc3OTE2LCAKLSAgICAyMzExLCAwLCA0NDE1LCAyMzcsIDYyODEsIDEyNzI4MCwgMCwgMCwgMjMwOSwgMTMxMiwgODE3MywgMTI4ODcxLCAxMjQ2OSwgCi0gICAgMCwgNzg1MDUsIDY0MzM1LCAxMDYwOSwgMCwgMTI4MTExLCA5Mzk3LCAxMTUyNCwgOTM5NSwgOTM5NiwgOTM5MywgOTM5NCwgCi0gICAgOTM5MSwgOTM5MiwgOTM4OSwgNjIwOSwgOTM4NywgOTM4OCwgNDkzMiwgOTM4NiwgOTM4MywgOTM4NCwgNjc0MCwgMCwgCi0gICAgNjU0NTEsIDgxODUsIDAsIDkxNzgzMiwgNDMwMjQsIDQzMzM2LCA2NzY1OSwgMjMxMywgMTI4MTY3LCA3OTQ4LCA5MjM2LCAKLSAgICA5MjU3MSwgMCwgMCwgMTA1NzAsIDQzNDczLCA2Mjg5LCAxMDQ4NCwgMCwgMCwgMTE5OTgsIDEyMDgyLCAxMDkyNCwgMzE0NywgCi0gICAgMCwgMTIwNjg0LCAxMjUyNCwgMTE5MDgxLCAyMzEwLCAxMTgxOCwgOTM4MSwgOTM4MiwgOTM3OSwgOTM4MCwgOTM3NywgCi0gICAgOTM3OCwgOTM3NSwgOTM3NiwgMTY4MywgOTM3NCwgOTgzNzc4LCA5MzcyLCAxMjQ0NCwgMCwgMCwgMTMwMTYsIDgyMTAsIAotICAgIDk4Mzk1OCwgNDIwMjksIDExMDc5LCAxMjMzMSwgNDM0NTEsIDQyMDMyLCA4NzQ0LCA3MjYsIDAsIDk4MzgzNywgNDE1NSwgMCwgCi0gICAgMCwgNDIwMzAsIDUwMDcsIDEyNTIyLCA0MzA4OCwgMCwgNDk1MSwgMTI3ODA1LCAxMjcyNDAsIDAsIDk5MjIsIDQzMzA5LCAKLSAgICA5ODM4NDEsIDEyNTI1LCA5ODM0NzEsIDEyMDE2LCA2NTc3MCwgOTU0OCwgNjc2NjUsIDQwMywgNzgyMzAsIDEyNTAzLCAwLCAKLSAgICAwLCAxMTAzMCwgMCwgOTI1NjcsIDY1NjkxLCA2Mzk5OCwgMTgxOSwgMTA0OTYsIDAsIDAsIDExOTkyMCwgMCwgMTk0NjY4LCAKLSAgICAwLCAxMjUwNiwgMCwgMTIyMzEsIDAsIDEyNTAwLCA0NDAyMywgMTI1MDksIDY0MzkzLCA3ODgzMCwgMzM4OSwgMTA1ODksIAotICAgIDY2MDgsIDQxMDQ3LCAxMjAzMjEsIDc4Mzk1LCA3ODM5NCwgNzQwNjksIDc3OTk1LCA3ODM5MSwgMzYwOCwgODI4MSwgCi0gICAgMTIwMzIwLCAxMTA3LCAwLCA5MDc2LCA4ODYyLCA2OTc0MywgNDEwNTIsIDEzMDg0LCA2NDc2NiwgNDMyMTcsIDc4MDMsIAotICAgIDEzMjIyLCA3NDE2NSwgNzQ3ODIsIDEyNjUxNCwgODU0NiwgMTE1NTMsIDYzOTk1LCAxMzE3NywgOTA0MywgNjMwMywgCi0gICAgOTgzOTQ3LCA0OTgsIDY0NDcxLCAxMjAzMjQsIDEyODU2NywgMTI1MjksIDgwNDIsIDAsIDIzNDQsIDEyNTI4LCA4MDMxLCAKLSAgICAyNDE0LCAwLCA2OTcxOSwgMzIzMSwgMCwgNjQyMiwgNjY1MTIsIDY5NjUzLCAxMjUzMCwgMjUzNywgNzg0MDUsIDQxNDI5LCAKLSAgICAxMjY1OCwgMTMwMzYsIDY1NzcyLCAwLCA3ODczOCwgNDE0MzMsIDQ3MTksIDQ2OSwgMCwgNDM2MywgMzMxMywgNDE0MjgsIAotICAgIDc4NDA3LCAyMDIzLCAxNzcyLCA3ODIyNCwgNzgyMjUsIDY1NzA2LCAxMDA1MSwgNjQ4MTIsIDc4MjIwLCAwLCA5OTIwLCAKLSAgICAxMjIxNSwgMCwgNDkzMSwgMTk1MSwgMTI0OTcsIDExOTM2MywgOTYwNywgMCwgOTY2MywgOTgzMjI4LCAxMTk2MzQsIDY1MDMsIAotICAgIDQxMTEwLCAwLCAxNDkxLCAwLCAwLCAxMjczMDQsIDQxMDYxLCAwLCAxOTQ4MzgsIDEyNzE4NywgNjUwMjYsIDQxOTkzLCAKLSAgICA0MTUwOSwgMTEwNDUsIDY1MDI4LCA3ODYwMiwgNjY0NzYsIDQxMTA4LCA5NzM4LCA0MTk5NSwgMTA3NSwgMTk1OCwgMTI1MzUsIAotICAgIDQxOTkyLCA0MTUwNiwgMCwgNDE2ODcsIDAsIDEyMDcxNywgMTI3Nzc2LCA5OTQwLCAxMjcyOTksIDc2OTIsIDk4MzgzMywgCi0gICAgODAwOCwgNDExMzEsIDMzMCwgODU2NiwgNjUwODMsIDQxMTMzLCA5ODE2LCAxMjY1MTcsIDEyNTMyLCA3ODU1MCwgNzg1NDYsIAotICAgIDM1MDgsIDEyNzA1OCwgNDMyMzUsIDAsIDEyNzI5OCwgNjQxMzksIDc4MjMxLCA2NDExLCAxMjkxMCwgNzg1NTQsIDY2NjQ0LCAKLSAgICAxMzAyOCwgNjczNywgMTI1MzcsIDAsIDAsIDY0MTM2LCAxMjUzNiwgMjM1MCwgMTMwMjksIDc4MjMzLCAwLCA5ODMxMDMsIAotICAgIDEzMDMwLCA2NzAyLCA0NTI3LCAwLCAxMjUzOCwgMTI4ODEwLCA5ODM2NDUsIDY1NTk5LCA2NTcxNywgOTk2NiwgMCwgNDk0OCwgCi0gICAgMTI0ODQsIDQwMzIsIDEyODE0OSwgMTI2MjMsIDAsIDYyMDcsIDAsIDYxMTcsIDY1OTMwLCA4NDEyLCAwLCA3NDM4LCAxMjk2LCAKLSAgICAyMzI1LCA0MTUxMSwgMTI2NjI1LCAxMDE0OSwgNzQxMTgsIDAsIDEyNzI4NiwgMTI0ODEsIDAsIDEyNDg4LCA2NjcxMywgMCwgCi0gICAgNDE1NTYsIDY0NDE0LCAxMTg4MDIsIDIzNTQsIDQyNjE5LCA3Mzc2NiwgMCwgNjI5NSwgOTAxLCA0MTUxMCwgNzk1MywgMCwgCi0gICAgNjUwMzIsIDQxNTEzLCA5ODMxNjYsIDExOTI3LCA2NjU4NCwgNzg1NTksIDc4NTYwLCA3ODU1NywgNzg1NTgsIDAsIDc4NTU2LCAKLSAgICA4NDgsIDk4NjgsIDAsIDY0MjQsIDc4NTY4LCAxMTkzMzgsIDY5OTIyLCA3NDAzMSwgNzg1NjMsIDc4NTY0LCAyMzUyLCAKLSAgICA3ODU3MiwgODkzLCA2NDU3NiwgMTEyODksIDE0MDcsIDY3OTczLCAwLCAxMzAyNiwgNjc2MiwgNzg1NzksIDc4NTgwLCAKLSAgICAxMzAyMywgODkwMywgOTc3NywgNjY3MTUsIDE4NzEsIDgwOTksIDAsIDAsIDEzNDMsIDk4MzgyMywgMCwgOTMyNSwgNjgxOCwgCi0gICAgNjI4MywgMTE3MzgsIDAsIDk4MzkzNCwgMCwgMTE3NDEsIDAsIDAsIDkyMTYsIDgyNjMsIDExMjc5LCAxOTQ3NTIsIAotICAgIDk4MzgyNSwgMTk0NzU0LCAxMzAyMSwgNjQ0OTQsIDMxMzYsIDE5NDc1OCwgMTk0NzU3LCAxOTQ3NjAsIDEzMDIyLCA0MjczNywgCi0gICAgOTk1NiwgMCwgMCwgNzQ1NTIsIDEwMDE0LCAwLCA0MTI2MCwgMTE5MzQwLCAxMzAyMCwgMTAwMjQsIDE5NDc2NCwgNzQ1ODMsIAotICAgIDc0MzQwLCA2OTY4MSwgMCwgNDMwMDEsIDgwMjksIDAsIDAsIDk4Mzc4MCwgMzMzNSwgMCwgMCwgOTc3NiwgMTIwNTI2LCAKLSAgICAxOTQ3NDgsIDUyMTUsIDQyNjQ0LCAzMzMzLCAxNjMyLCAxOTQ3NTEsIDY0ODQ5LCAzMzQyLCA3ODU4MiwgNTM2MywgMTI5NTcsIAotICAgIDc4NTgxLCA0MTU2LCAwLCAwLCA2NDIxLCA3ODU5MSwgMTYxMSwgNzg1ODksIDEzMDE4LCA3NDI1NywgNzg1ODgsIDc0NTQyLCAKKyAgICA3MDAyOCwgNzgwMzQsIDQ1NzksIDY5MjMyLCAwLCAxMjUxMSwgNzQ0NTMsIDEyNTE0LCAwLCA3NDU3OSwgNzIzOSwgNzAwMSwgCisgICAgODYyMywgOTQwMTEsIDEyNTEzNywgMTI4MDQ4LCA3Mzc4LCAxMjUxMiwgMTE2MTUsIDYxMDQsIDAsIDAsIDY1OSwgNjA5OCwgCisgICAgMCwgMTIyMzQsIDEyNzMwNywgNjczNTgsIDgzMTEsIDEyNTEwLCA3NjY5LCAxMzAzOSwgMTI3MDcyLCAxMjUxMywgMTAyMDIsIAorICAgIDEyNDcxLCAwLCA4NzQ3LCAxMjUwNDksIDcwMTkzLCAxMjgzNTQsIDIzMjMsIDAsIDIzMTksIDc3OTE3LCAxMjQ3NywgCisgICAgNzc5MTYsIDIzMTEsIDc2NjYsIDQ0MTUsIDIzNywgNjI4MSwgMTI3MjgwLCAwLCAwLCAyMzA5LCAxMzEyLCA4MTczLCAKKyAgICAxMjg4NzEsIDEyNDY5LCAwLCA3ODUwNSwgNjQzMzUsIDEwNjA5LCAwLCAxMjgxMTEsIDkzOTcsIDExNTI0LCA5Mzk1LCAKKyAgICA5Mzk2LCA5MzkzLCA5Mzk0LCA5MzkxLCA5MzkyLCA5Mzg5LCA2MjA5LCA5Mzg3LCA5Mzg4LCA0OTMyLCA5Mzg2LCA5MzgzLCAKKyAgICA5Mzg0LCA2NzQwLCAwLCA2NTQ1MSwgODE4NSwgMTI4OTMxLCA5MTc4MzIsIDQzMDI0LCA0MzMzNiwgNjc2NTksIDIzMTMsIAorICAgIDEyODE2NywgNzk0OCwgOTIzNiwgNzc5NDIsIDAsIDAsIDEwNTcwLCA0MzQ3MywgNjI4OSwgMTA0ODQsIDAsIDAsIDExOTk4LCAKKyAgICAxMjA4MiwgMTA5MjQsIDMxNDcsIDAsIDY2NDA2LCAxMjUyNCwgMTE5MDgxLCAyMzEwLCAxMTgxOCwgOTM4MSwgOTM4MiwgCisgICAgOTM3OSwgOTM4MCwgOTM3NywgOTM3OCwgOTM3NSwgOTM3NiwgMTY4MywgOTM3NCwgOTgzNzc4LCA5MzcyLCAxMjQ0NCwgMCwgCisgICAgMCwgMTMwMTYsIDgyMTAsIDEyOTE3OCwgNDIwMjksIDExMDc5LCAxMjMzMSwgNDM0NTEsIDQyMDMyLCA4NzQ0LCA3MjYsIDAsIAorICAgIDkxNzkyMiwgNDE1NSwgMCwgMTIwNzA0LCA0MjAzMCwgNTAwNywgMTI1MjIsIDQzMDg4LCAwLCA0OTUxLCAxMTM4MjYsIAorICAgIDEyNzI0MCwgMCwgOTkyMiwgNDMzMDksIDExMjExLCAxMjUyNSwgOTgzNDcxLCAxMjAxNiwgNjU3NzAsIDk1NDgsIDY3NjY1LCAKKyAgICA0MDMsIDc4MjMwLCAxMjUwMywgMCwgMCwgMTEwMzAsIDAsIDkyNTY3LCA2NTY5MSwgNjM5OTgsIDE4MTksIDEwNDk2LCAwLCAKKyAgICAwLCAxMTk5MjAsIDAsIDEyOTE0MywgMCwgMTI1MDYsIDk4MzgzOCwgMTExNDYsIDEyNzc1MSwgMTI1MDAsIDQ0MDIzLCAKKyAgICAxMjUwOSwgNjQzOTMsIDc4ODMwLCAzMzg5LCAxMDU4OSwgNjYwOCwgMTEyMDgsIDEyMDIzNiwgNzgzOTUsIDc4Mzk0LCAKKyAgICA3NDA2OSwgNzc5OTUsIDc4MzkxLCAzNjA4LCA4MjgxLCAxMTM3MzIsIDExMDcsIDExMzc0NSwgOTA3NiwgODg2MiwgNjk3NDMsIAorICAgIDQxMDUyLCAxMzA4NCwgNjQ3NjYsIDQzMjE3LCA3ODAzLCAxMzIyMiwgNzQxNjUsIDc0NzgyLCA0MzQ5OSwgODU0NiwgCisgICAgMTE1NTMsIDYzOTk1LCAxMzE3NywgOTA0MywgNjMwMywgMTEzNjY0LCA0OTgsIDY0NDcxLCA3Nzk4NywgOTI5NzQsIDEyNTI5LCAKKyAgICA4MDQyLCAwLCAyMzQ0LCAxMjUyOCwgODAzMSwgMjQxNCwgNzQ1MDYsIDY5NzE5LCAzMjMxLCAwLCA2NDIyLCA2NjUxMiwgCisgICAgNjk2NTMsIDEyNTMwLCAyNTM3LCA3ODQwNSwgNDE0MjksIDEyNjU4LCAxMzAzNiwgNjU3NzIsIDAsIDc4NzM4LCA0MTQzMywgCisgICAgNDcxOSwgNDY5LCAwLCA0MzYzLCAzMzEzLCA0MTQyOCwgNzg0MDcsIDIwMjMsIDE3NzIsIDc4MjI0LCA3ODIyNSwgNjU3MDYsIAorICAgIDEwMDUxLCA2NDgxMiwgNzgyMjAsIDAsIDk5MjAsIDEyMjE1LCAxMjc4NzYsIDQ5MzEsIDE5NTEsIDEyNDk3LCAxMTkzNjMsIAorICAgIDk2MDcsIDcwMzY4LCA5NjYzLCA2NjgzOCwgMTE5NjM0LCA2NTAzLCA0MTExMCwgOTgzNDY1LCAxNDkxLCA2Njg0NywgCisgICAgMTI5MTY5LCAxMjczMDQsIDQxMDYxLCA3MDQ1NCwgMTk0ODM4LCAxMjcxODcsIDY1MDI2LCA0MTk5MywgNDE1MDksIDExMDQ1LCAKKyAgICA2NTAyOCwgNzExODEsIDY2NDc2LCA0MTEwOCwgOTczOCwgNDE5OTUsIDEwNzUsIDE5NTgsIDEyNTM1LCA0MTk5MiwgNDE1MDYsIAorICAgIDAsIDQxNjg3LCAwLCAxMjA3MTcsIDEyNzc3NiwgOTk0MCwgMTI3Mjk5LCA3NjkyLCA5ODM4MzMsIDgwMDgsIDQxMTMxLCAKKyAgICAzMzAsIDg1NjYsIDY1MDgzLCA2ODM5LCA5ODE2LCAxMjY1MTcsIDEyNTMyLCA3ODU1MCwgNzg1NDYsIDM1MDgsIDEyNzA1OCwgCisgICAgNDMyMzUsIDEyMDM1MSwgMTI3Mjk4LCA2NDEzOSwgNzgyMzEsIDY0MTEsIDEyOTEwLCA2NzcxMCwgNjY2NDQsIDEzMDI4LCAKKyAgICA2NzM3LCAxMjUzNywgMCwgNDM1MDYsIDY0MTM2LCAxMjUzNiwgMjM1MCwgMTMwMjksIDc4MjMzLCAxMjc3NjMsIDk4MzEwMywgCisgICAgMTMwMzAsIDY3MDIsIDQ1MjcsIDcxMjUwLCAxMjUzOCwgMTI4ODEwLCA5ODM2NDUsIDY1NTk5LCA2NTcxNywgOTk2NiwgCisgICAgMTI4NDk5LCA0OTQ4LCAxMjQ4NCwgNDAzMiwgMTI4MTQ5LCAxMjYyMywgMCwgNjIwNywgMCwgNjExNywgNjU5MzAsIDg0MTIsIAorICAgIDEyNzE4MywgNzQzOCwgMTI5NiwgMjMyNSwgNDE1MTEsIDEyNjYyNSwgMTAxNDksIDc0MTE4LCAwLCAxMjAyMzMsIDEyNDgxLCAKKyAgICAwLCAxMjQ4OCwgNjY3MTMsIDAsIDQxNTU2LCA2NDQxNCwgMTE4ODAyLCAyMzU0LCA0MjYxOSwgNzM3NjYsIDAsIDYyOTUsIAorICAgIDkwMSwgNDE1MTAsIDc5NTMsIDAsIDY1MDMyLCA0MTUxMywgOTgzMTY2LCAxMTkyNywgNjY1ODQsIDc4NTU5LCA3ODU2MCwgCisgICAgNzg1NTcsIDc4NTU4LCAwLCA2NzYwMywgODQ4LCA5ODY4LCA2NzIyMCwgNjQyNCwgNzg1NjgsIDY3MjI2LCA2OTkyMiwgCisgICAgNzAxOTAsIDc4NTYzLCA3ODU2NCwgMjM1MiwgNjcyMTksIDg5MywgNjQ1NzYsIDExMjg5LCAxNDA3LCA2Nzk3MywgMCwgCisgICAgMTMwMjYsIDY3NjIsIDc4NTc5LCA3MDE5MiwgMTMwMjMsIDg5MDMsIDk3NzcsIDY2NzE1LCAxODcxLCA4MDk5LCAxMjc5ODQsIAorICAgIDAsIDEzNDMsIDk4MzgyMywgMTIwNzg0LCA5MzI1LCA2ODE4LCA2MjgzLCAxMTczOCwgMCwgNzI0MzYsIDExMzcxMywgCisgICAgMTE3NDEsIDAsIDkzMDM4LCA5MjE2LCA4MjYzLCAxMTI3OSwgMTk0NzUyLCA5ODM0NTMsIDE5NDc1NCwgMTMwMjEsIDY0NDk0LCAKKyAgICAzMTM2LCAxOTQ3NTgsIDE5NDc1NywgMTk0NzYwLCAxMzAyMiwgNDI3MzcsIDk5NTYsIDAsIDEyNzc4NywgNzQ1NTIsIAorICAgIDEwMDE0LCAwLCA0MTI2MCwgMTE5MzQwLCAxMzAyMCwgMTAwMjQsIDE5NDc2NCwgNzQ1ODMsIDc0MzQwLCA2OTY4MSwgMCwgCisgICAgNDMwMDEsIDgwMjksIDAsIDAsIDk4Mzc4MCwgMzMzNSwgMTE5MzQxLCA5MjA5LCA5Nzc2LCAxMjA1MjYsIDE5NDc0OCwgCisgICAgNTIxNSwgNDI2NDQsIDMzMzMsIDE2MzIsIDE5NDc1MSwgNjQ4NDksIDMzNDIsIDc4NTgyLCA1MzYzLCAxMjk1NywgNzg1ODEsIAorICAgIDQxNTYsIDAsIDEyNzMyOSwgNjQyMSwgNzgwMzksIDE2MTEsIDc4NTg5LCAxMzAxOCwgNzQyNTcsIDc4NTg4LCA3NDU0MiwgCiAgICAgMzMzNywgNDUzNywgNjc4OTUsIDExNzM2LCAwLCA2ODYwOCwgNjQ4MiwgNDIxNCwgNzM3OTAsIDExOTQ1LCAwLCAxMzA0NiwgCi0gICAgODgzOCwgNDI1LCA0MDI1LCAxMDcwOSwgNzg1OTUsIDIxMDgsIDIzOTIsIDEzMDQ3LCAwLCAwLCA2ODE5LCAxMzA0OSwgCi0gICAgNjQ5OSwgOTIyNDMsIDEyNDI0LCA2ODYxNCwgNzM5NDQsIDEzMDUwLCA5OTI0LCAxOTQ3NDUsIDY1MDcsIDEyNzkxOSwgCisgICAgODgzOCwgNDI1LCA0MDI1LCAxMDcwOSwgNzg1OTUsIDIxMDgsIDIzOTIsIDEzMDQ3LCA5Mjc0NSwgMCwgNjgxOSwgMTMwNDksIAorICAgIDY0OTksIDkyMjQzLCAxMjQyNCwgNjg2MTQsIDY1ODI3LCAxMzA1MCwgOTkyNCwgMTk0NzQ1LCA2NTA3LCAxMjc5MTksIAogICAgIDk0MDczLCAxMjgwNjksIDMyNzcsIDg5MjksIDQ5NDcsIDQxMDU1LCAwLCAxOTQ3MjIsIDE5NDcyMSwgMTk0NzI0LCAxMzA0NSwgCiAgICAgNjQ2MjYsIDY2MDM0LCA3NzUxLCAxOTQ3MjcsIDgzNzEsIDE5NDcyOSwgMzk5NywgMTI4MDYsIDg3NjgsIDEzMDQ0LCAwLCAKLSAgICAxMjQyMCwgNDAyNCwgMTk0NzMwLCA0MTA1NCwgMTA3OCwgOTc1NywgNjk3MzYsIDQxMDU3LCAwLCAwLCAwLCAwLCA5ODM3OTEsIAotICAgIDkyMjEwLCA5MjQxMSwgMCwgNDE0OTYsIDAsIDkxNjUsIDE1NzIsIDExOTExLCAwLCAxMTg4NDIsIDIzNDYsIDEzMjcwLCAKLSAgICA4OTU4LCAwLCA5NjQ2LCAzNzczLCA0MzE4MywgNjQwMSwgNTgzMSwgMCwgMCwgMTMwNDMsIDgwNTYsIDkyNDk0LCA2NTY4MSwgCi0gICAgMjA4LCAxMjczODIsIDQxNTE0LCAwLCAwLCAwLCAxMDY5OSwgNjQwOCwgOTIyMjcsIDc4MjUsIDU2NjEsIDAsIDEyMDYzMCwgCi0gICAgMzYwMywgNDExMDksIDIzOTgsIDM1NDgsIDEyNjU5NiwgMCwgMTE5OTMzLCAwLCAzMTE1LCA5OTE4LCAwLCA4Mjk0LCAKLSAgICA0MjkxMiwgMCwgMCwgMTk0NzI2LCA0ODc2LCA2NTgwNCwgMCwgMCwgNDM0NjgsIDk4MzI3NCwgNDE1NTgsIDQxNDcxLCAKLSAgICA3Mzk1MCwgODE1OCwgOTk0NCwgNDE0NzIsIDEyMDI5OCwgMTMwNTEsIDc4Njg5LCAzMTQzLCAxOTQ2NzQsIDY3MDEsIAotICAgIDQxNTU5LCAxODk2LCA2NjI1NiwgMTMwNTIsIDE5NDY4MCwgNTY2NSwgMCwgMTE5MDcxLCA3MDI1LCA2Mzk3NCwgMCwgCi0gICAgNzQzNTIsIDc0MTYxLCA0MTU0LCA5ODYzLCA0MzU1MCwgMTIzMTAsIDU2NjIsIDQyMzgyLCAxNTY0LCA3MzkyNCwgMTEyMSwgCi0gICAgNzgzMTksIDYzOTU5LCAwLCA5OTQyLCAxMzIzMSwgMCwgNjQ3NTIsIDQ3MzIsIDE5NDY2NiwgMTE1OTYsIDExOTkzMSwgCi0gICAgNjUxODcsIDE2MjYsIDYzOTgzLCAxMDExMCwgNjQ3NzIsIDQyMDI0LCA2NDIwLCA0MjAyOCwgMCwgMTA1MDksIDI3OTUsIAotICAgIDQ5MTAsIDE5NDcyOCwgNjkyMzEsIDY0NzUzLCA2Mjc1LCA5Mzk1NywgMTE4ODMwLCA2Mzk3OCwgMTEwNDQsIDMyMjksIAotICAgIDY0MjMsIDQyNzc0LCAwLCAwLCAwLCAxMjgyMywgMjMzMSwgOTE3ODEwLCA3MDg1LCA2MTM3LCAwLCA3NTI0LCAwLCAKLSAgICA5MTc4MDksIDgzNDYsIDAsIDgzMzgsIDEyODMxNSwgNjUwNDMsIDAsIDgyMiwgMTI3OTg0LCA5OTAzLCA2NDcyMSwgNDI3MjIsIAotICAgIDY5ODc3LCAxOTQ2NTksIDc4NjU1LCA3ODY2MSwgMTk0NjYwLCA3ODY2MiwgNDEyNjUsIDUzMTEsIDE3OTUsIDk2NSwgCi0gICAgMTE4NzkxLCAxMDU4NywgNzgwNTUsIDExMjc4LCA3ODYzMiwgMTk0NjQwLCAwLCAxMjk0NiwgMTk0NjQxLCAxMTkzNDEsIAotICAgIDEyMDM0OSwgNjI5NCwgMzE0NCwgMTk0NjQ4LCAxOTQ2NDcsIDY1MDE5LCAxOTQ2NDksIDczOTkwLCAwLCA5ODM5NjAsIDc0OCwgCi0gICAgNDEwNjcsIDIzMzAsIDUzNSwgMzE0OCwgMTIzNzUsIDc4Nzk5LCAxOTQ2MjksIDEwNTU2LCAyNDc1LCAxMjM4OCwgNDg4OSwgCi0gICAgODk2OCwgNjc4NjMsIDM1OTMsIDAsIDAsIDIzNDIsIDAsIDE5NDYzNCwgNjUyMDYsIDQ4OTQsIDE5NDYzNSwgNDg5MCwgCi0gICAgMTk0NjM3LCA5MTc4MDQsIDU4MSwgNDg5MywgOTgzNjE2LCA2NTcxLCA2NTU0NSwgNDg4OCwgNDE1NywgNzgwNDgsIDc4MDQ5LCAKLSAgICA3ODA0NiwgNzgwNDcsIDAsIDEwMTE5LCA2NDE1LCA0Mjg5MywgMCwgNjk3MDIsIDAsIDAsIDExMzc1LCA2NDc0NiwgMjMzMiwgCi0gICAgNzgwNjMsIDQxMiwgNzgwNjEsIDY0OTMyLCA0Mjg4MCwgNDM1ODcsIDAsIDAsIDAsIDAsIDY1MTk3LCA3ODA2NiwgMTIyMDMsIAotICAgIDc4MDY0LCA3ODA2NSwgODkxMywgNjU4NTQsIDQ4NzUsIDY1ODExLCAxMjAzODEsIDEyMDM4OSwgMTE4ODg4LCA5MzQ0LCAKLSAgICA4ODI2LCAxMjAzODYsIDEyMDM5NSwgMTMxMDQsIDc0NzgxLCAxMTk5NywgMTIwMzkzLCA3ODA3NSwgMCwgMzEzNCwgMCwgCi0gICAgNjU2OTYsIDkyMzMxLCAwLCA2NjIxNywgMCwgODMzNCwgMTE5MzQ0LCAwLCAzNDQ5LCAwLCAwLCA3ODQxNCwgNzg0MTMsIAotICAgIDExODk1MCwgNzQwMTEsIDAsIDAsIDAsIDAsIDE5MDgsIDEyMDE2NywgNDMyOCwgMTA3MzQsIDEyNzAxNCwgMCwgMTI3OTE0LCAKLSAgICA3ODA0LCA3ODI3MiwgMTA4MTEsIDYyNTAsIDExMzM5LCA0OTE0LCAxMTM2NywgMCwgNzgwNTQsIDQ5MTcsIDc0NTE2LCAKLSAgICA3NDIwOCwgNjQyODUsIDQ5MTIsIDU0NjQsIDEyNzgzNiwgMTE4ODkzLCAyMzYxLCA3OTcxLCA3ODA3MiwgNzgwNzMsIAotICAgIDU1MjQzLCA3ODA3MSwgMCwgODA4NiwgNzQzMTcsIDY3MDcsIDgzMTksIDIzMTIsIDQwOTc3LCAxMDk2MCwgNDA5NjIsIAotICAgIDgzMDUsIDEyNTczLCA5ODM2MDgsIDQwOTgwLCA5ODM5NjQsIDEzMjAyLCAwLCAxMjU4MiwgNzgyODIsIDk4MzA0OCwgCi0gICAgNjk4NTYsIDQyNDM4LCA1NTIyMSwgNjI4OCwgNzgyODAsIDEyNzk0NiwgNTY1MywgNDI0MDAsIDEwODkxLCA3Njk4LCA1NjU4LCAKLSAgICA3NDA0NSwgNzAwMzksIDAsIDAsIDQ5MTMsIDAsIDk4Mzk1OSwgNzEzMzMsIDQyMzI2LCAxMjgxOTQsIDEyNzI4LCA5MjY4NSwgCi0gICAgNDI0NzgsIDIzMjcsIDAsIDEyNTYzLCA0MjI4NywgMTI3MDUsIDAsIDAsIDEyNTg4LCA4ODIxLCA2MTUzLCAyODY3LCAKLSAgICAxOTQ3MDgsIDY2MzEyLCA2OTgsIDEyODAwNywgMTk0NjA2LCAxMDM1NiwgNzAwMTcsIDE5NDcxMywgNjUxLCAxMjY0MSwgMCwgCi0gICAgMCwgMCwgMCwgNDE1NTIsIDY1MTE1LCA3ODQ2NSwgNzg0NjcsIDc4NDYzLCA3ODQ2NCwgMTI4ODUxLCA3ODQ2MSwgMTk0Njk3LCAKLSAgICA3NDM1NiwgNjQ5NDUsIDQ3MTYsIDQzMjc3LCAwLCA3ODQ3NCwgMTIzNDAsIDEyMDU2OCwgMCwgMTk0NzAwLCA1NTI2NCwgCi0gICAgNDEyMTEsIDEyMDY3NiwgODcwMywgNTQ2MiwgOTE3NjI5LCA5ODM0OTUsIDEwMTAxLCAwLCA3MDA0OSwgODQ3OSwgNDE1MSwgCi0gICAgNDE5MzMsIDAsIDAsIDY2MjU0LCAxMjA4MjEsIDAsIDAsIDEyODY1NCwgMCwgMTE5MTk0LCA3NDA1MCwgOTI3MDEsIDAsIDAsIAotICAgIDAsIDAsIDAsIDEyMjc4LCAwLCAwLCAwLCAyNzAwLCAxMjU3NiwgNzg0MiwgMTI4OTksIDAsIDAsIDI2OTksIDAsIDczODQ1LCAKLSAgICAyOTg1LCA5MjU2OCwgMTI2NDc1LCA5MTc4NDUsIDEyMTkyLCAxMTkzMTQsIDAsIDExOTMxMiwgOTgyNywgMTE5MzEwLCAKLSAgICAxMTkzMTEsIDExOTMwOCwgMTE5MzA5LCAxMTkzMDYsIDExNDgxLCA0MTIxMCwgMTE5MzA1LCAwLCAzNSwgNzg0ODEsIAotICAgIDc4NDgyLCA2NjY5NCwgNjg0NzksIDc4NDc3LCA3ODQ3OCwgNDM1OTYsIDYwOTAsIDY0MjU3LCA3ODEyLCAxMDUzNCwgMCwgCi0gICAgNzg0ODUsIDczODQ4LCA2Nzk3NSwgNDI3MiwgMCwgNDA5NjcsIDQwOTY0LCA5MTc4MjUsIDEyNzA0LCA3ODQ4NywgNDMzMDYsIAotICAgIDAsIDY0NDk3LCAxMjEzOCwgNzkzMCwgMCwgMjI5MiwgNjgyMTYsIDAsIDkxNzgyNiwgNTI0NCwgNDE4OSwgOTQxMDgsIAotICAgIDY3NTk2LCAxMjc1MDQsIDQxODgsIDE4NzksIDAsIDk2OCwgMCwgNDM3NDMsIDAsIDg4NzMsIDIyNzksIDAsIDkxNzgyNywgCi0gICAgNjU1NTUsIDEyNTc0LCAwLCAwLCAwLCA3NDQ5MCwgMTI3MDk5LCA0MzY1NywgMCwgMCwgMCwgNDI2ODIsIDEyNTc4LCAKLSAgICAxMjcyMCwgMCwgNDEyMjcsIDAsIDEyMzQ2LCAxMjcxMDEsIDY0ODQ4LCAwLCAwLCA3MjUxLCAwLCAwLCAxMTg4NTAsIAotICAgIDExOTE0MSwgMTI4NTQ2LCA2NjAxNSwgMCwgOTU5LCA4ODg1LCAxMjU2NCwgNjY0NTcsIDc4ODA4LCA5NDY5LCA5NjMyLCAKLSAgICA5MjMyMywgNzQ3NjEsIDY0MzIzLCAxMjczMzUsIDAsIDAsIDAsIDMxMCwgMCwgNDEyODEsIDEwOTc2LCAwLCA3MTMyNSwgMCwgCi0gICAgNzQyNjYsIDEwMDU0LCA2NDk3LCA4NTc0LCAwLCA5MDEyLCAxOTk1OCwgNzQ0MjAsIDY1MDg5LCAxMzIxNSwgMTI3MzAsIAotICAgIDY1MTYzLCA3NDA0NCwgMzc0LCA0MzE5NSwgODE2LCAxMjAxNjEsIDAsIDAsIDQxOTM0LCA3NDY1LCAwLCAxMjgxNjgsIAotICAgIDk4MzI2OCwgNDcxNSwgNjEwMSwgOTQxMDYsIDQxOTM2LCAwLCA0ODc5LCAwLCA2NTQ0NiwgMCwgMzA3LCAxMjcxNDcsIAotICAgIDk1ODUsIDUzNzQsIDk4MzI2NywgMTI4MDU5LCAwLCAwLCAxMjY2MTgsIDEyMDM5MCwgMCwgNjU1NjcsIDEyMDYxNCwgMTkyOSwgCi0gICAgMCwgMTIxNDIsIDAsIDEyMjM2LCA0MTQxOSwgMTk0NjE4LCAxMjA2MTAsIDEyOTgyLCAxOTQ2MjMsIDUzNzgsIDc4NzkxLCAKLSAgICAxMjg2NzksIDQxNDIxLCAwLCA0NDYyLCAwLCAxMjY1OTksIDEyODA5MiwgODIxLCAwLCAyNDk4LCA1ODAwLCAxMjAxNTcsIAotICAgIDk4MzExNSwgMTc2MCwgMjQyMSwgNDQ2OSwgMjMyNCwgODI4LCAzNjExLCA3ODQwMCwgNzU3LCAxMTg1LCAwLCA3ODc3MCwgCi0gICAgNDM1OTcsIDEwNjI4LCA3NDgwOCwgMTk0NTcyLCA3OTk5LCA0Mzk3MSwgMCwgMCwgMTA2MzQsIDEwOTQyLCA3NzEzLCAyMzQ4LCAKLSAgICAwLCA2NDM3NCwgNDM4MCwgMTk0NjA4LCAxMTkwNDQsIDk5ODIsIDY0MzI0LCA0MTI0MCwgODYyLCA2NTYyNiwgNzg0NjIsIAotICAgIDE4MTAsIDM2NzMsIDUxMzcsIDE5NDYxNywgMCwgNzI3NywgNjU2MjIsIDAsIDc1NjYsIDY0Njg4LCAxOTQ1OTMsIDE5NDU5MiwgCi0gICAgNzgwOTIsIDc0MzU3LCAxOTQ1OTcsIDQ3NDgsIDkyMjI4LCAxOTQ1OTgsIDE5NDYwMSwgNDIyNjAsIDU4NzEsIDExOTA3NSwgCi0gICAgMCwgNzQ1NzYsIDQ0MDE5LCAwLCAxMjgxODksIDM5NjcsIDE5NDYwNCwgMTMxMzcsIDg3NzUsIDEyNzk0NSwgMCwgMjk2MywgCi0gICAgMCwgODQxMCwgNDQ1NCwgNzIzLCAxMjc4ODIsIDk2NiwgNDQ0OSwgOTIzMzAsIDkyMjM4LCAwLCA3ODE5LCAyMzIwLCAKLSAgICAxOTQ1ODksIDMzOSwgNDk2OCwgMTk0NTkwLCAxMjAzOTksIDgwNzUsIDU1Mjc2LCAwLCA4MDQ3LCAwLCA3ODgyNywgMTI2MzQsIAotICAgIDQxNTQyLCA3ODc4MCwgNzQ2NiwgNjcwNSwgMTIxNzQsIDQyNjEwLCAwLCA3NDQ1MiwgOTgzNzYzLCAxNTg0LCA2NjY0NSwgCi0gICAgNjA0NSwgNjcyOSwgMTIwNjQwLCA2NTIxOCwgMTE1NTksIDAsIDc4MDYyLCA3NTM3LCAwLCAxMTM3MCwgMCwgMTAzMzAsIDAsIAotICAgIDEwMzk0LCAwLCA3NDE5NCwgMCwgMTI3OTI5LCA5NzgwLCAwLCAxMzA5MiwgMTk0NTc2LCA3Nzk1MCwgMTk0NTc4LCA3MDc0LCAKLSAgICA5MjY0OCwgMTk0NTc5LCAxOTQ1ODIsIDExNDE0LCAxMjg4NjgsIDI1MzEsIDEzMDM0LCAwLCAwLCA0MjExLCAxMjU5LCAKLSAgICA3NTE3LCAwLCAwLCAxOTQ1NjEsIDQwOTk2LCAxMzAzNywgNzA5MiwgNjQxLCA1MjE5LCA5NDAzNCwgMTk0NTY2LCAxMTA2NCwgCi0gICAgNDExMjksIDAsIDQyODUwLCAxMzAzNSwgOTA3NSwgOTIzODcsIDU0NjYsIDEyODE1MywgMCwgNjQwOTgsIDY1NzkzLCA0NTM1LCAKLSAgICAxOTQ1NzMsIDQyNzEsIDc4NDE3LCAxMjgzNTcsIDY3NjksIDQxNDEwLCA5ODM0NTIsIDY0MjYyLCA2NzY3LCA0MTQwNywgMCwgCi0gICAgMCwgNjc1NSwgMTE4ODY0LCA5MDQ2LCAxMjc5MzQsIDEyNjYwOCwgMCwgMCwgMCwgMCwgNjc2NzUsIDAsIDAsIDAsIDY0MzM4LCAKLSAgICAyNTYzLCAxMzAzMywgMjQ3LCAxMTg5MTUsIDAsIDEyMzM4LCA0NjUxLCA2OTg5NSwgMTEyNzAsIDAsIDAsIDExOTMzLCAwLCAKLSAgICAwLCA0MTkwMywgNDM0NDcsIDExMDAxLCAwLCA0MjI1NSwgMCwgOTI2NjEsIDY5ODIxLCA0MTkwNSwgMCwgMCwgMTA3NzUsIAotICAgIDk3OTMsIDUwMDksIDAsIDQyMjY5LCA2NDU4NywgOTgzMDYzLCA0MjUzNSwgNjk4MTIsIDY0NTI5LCA0MTQwOCwgNDI4NTMsIAotICAgIDM4NzcsIDEyMDc5NSwgNDI2NzQsIDgxNDcsIDQzNTY2LCAxMTkwMjEsIDk4Mzc3NiwgMTAyMzYsIDY1OTE4LCA0Mzc4MiwgMCwgCi0gICAgMCwgNjQ1MDYsIDY5NjUyLCAxMTg5MjEsIDQ3NDcsIDEyODA1OCwgNjk4NDQsIDQzMjAwLCA1ODMyLCAwLCAwLCA1MTQxLCAKLSAgICA0MjYwMCwgMCwgNDMyMDMsIDAsIDk4Mzc5OSwgNDMyODYsIDAsIDEyODIxMSwgNDM3NzgsIDAsIDQxMzA1LCA3ODc3NiwgCi0gICAgNDM3ODEsIDExMzAzLCA2NTU0NywgMCwgNzAzMSwgODU5LCAwLCAwLCAwLCA2MDU5LCAxMjY5ODUsIDU1MjM1LCAwLCA4NTM1LCAKLSAgICAwLCA2NTE5NiwgMTk0Nzg3LCA2NjAzMiwgMTE0ODgsIDEyMDQ4MSwgMTIwNzg2LCA0MjIzMywgNjQxNDAsIDk5NDYsIAotICAgIDYzODg1LCAxOTQ3OTIsIDExODIyLCAwLCA0MzE4OSwgOTgzODk4LCAwLCAxNzg4LCAxNTc5LCAxMjA0ODIsIDcxMjk4LCAwLCAKLSAgICAwLCAwLCA5MDI4LCAxMTk1NzEsIDY5MjM0LCA5NDA1NSwgMCwgMTI4NSwgNjQ4ODIsIDQxMjQyLCA3MDA4NiwgMCwgMTI2NDAsIAotICAgIDAsIDc0MDEsIDAsIDEyNjI1LCA2ODE5OCwgMCwgNzAwODIsIDM5NDAsIDQxNTk3LCA0Mzc1NCwgMzM5NiwgMTI2NDIsIAotICAgIDg2NjUsIDAsIDAsIDEyNjMwLCAxNjUzLCA5MTc4MTUsIDEwMTUzLCAwLCA2MTY2LCAxMjA1MTYsIDExODk4OSwgMCwgODgxNSwgCi0gICAgNjY2NzMsIDY1MDQ2LCA5Mjg1LCA5MTMsIDQyMjU5LCAxMTkzMTcsIDExOTMxOCwgMjE0MiwgNjg0NTQsIDQyNDg1LCAKLSAgICA5NDAxMiwgNzg3OCwgODIxMSwgNDIyOTMsIDY0Mzc3LCAwLCA5MjY0MywgMCwgMTk0NjczLCAxMjAzMiwgMCwgOTcyNSwgMCwgCisgICAgMTI0MjAsIDQwMjQsIDE5NDczMCwgNDEwNTQsIDEwNzgsIDk3NTcsIDY5NzM2LCA0MTA1NywgNjgzMDcsIDAsIDAsIDAsIAorICAgIDk4Mzc5MSwgOTIyMTAsIDkyNDExLCAwLCA0MTQ5NiwgMCwgOTE2NSwgMTU3MiwgMTE5MTEsIDEyNDk5MCwgMTE4ODQyLCAKKyAgICAyMzQ2LCAxMzI3MCwgODk1OCwgMCwgOTY0NiwgMzc3MywgNDMxODMsIDY0MDEsIDU4MzEsIDAsIDAsIDEzMDQzLCA4MDU2LCAKKyAgICA5MjQ5NCwgNjU2ODEsIDIwOCwgMTI3MzgyLCA0MTUxNCwgMCwgMCwgMCwgMTA2OTksIDY0MDgsIDkyMjI3LCA3ODI1LCAKKyAgICA1NjYxLCAwLCAxMjA2MzAsIDM2MDMsIDQxMTA5LCAyMzk4LCAzNTQ4LCAxMjY1OTYsIDEyODQzNCwgMTE5OTMzLCAwLCAKKyAgICAzMTE1LCA5OTE4LCAxMjc4MjMsIDgyOTQsIDQyOTEyLCAwLCAwLCAxOTQ3MjYsIDQ4NzYsIDY1ODA0LCAwLCAwLCA0MzQ2OCwgCisgICAgOTgzMjc0LCA0MTU1OCwgNDE0NzEsIDczOTUwLCA4MTU4LCA5OTQ0LCA0MTQ3MiwgMTIwMjk4LCAxMzA1MSwgNzg2ODksIAorICAgIDMxNDMsIDE5NDY3NCwgNjcwMSwgNDE1NTksIDE4OTYsIDY2MjU2LCAxMzA1MiwgMTk0NjgwLCA1NjY1LCA3ODU5NCwgCisgICAgMTE5MDcxLCA3MDI1LCA2Mzk3NCwgMCwgNzQzNTIsIDc0MTYxLCA0MTU0LCA5ODYzLCA0MzU1MCwgMTIzMTAsIDU2NjIsIAorICAgIDQyMzgyLCAxNTY0LCA3MzkyNCwgMTEyMSwgNzgzMTksIDYzOTU5LCAwLCA5OTQyLCAxMzIzMSwgOTgzNTc4LCA2NDc1MiwgCisgICAgNDczMiwgMTk0NjY2LCAxMTU5NiwgNzgxNDIsIDY1MTg3LCAxNjI2LCA2Mzk4MywgMTAxMTAsIDY0NzcyLCA0MjAyNCwgCisgICAgNjQyMCwgNDIwMjgsIDkyMjk0LCAxMDUwOSwgMjc5NSwgNDkxMCwgMTI5MTkzLCA2OTIzMSwgNjQ3NTMsIDYyNzUsIDkzOTU3LCAKKyAgICAxMTg4MzAsIDYzOTc4LCAxMTA0NCwgMzIyOSwgNjQyMywgNDI3NzQsIDAsIDAsIDY4NTI2LCAxMjgyMywgMjMzMSwgCisgICAgMTI3Nzg4LCA3MDg1LCA2MTM3LCAwLCA3NTI0LCAwLCA5MTc4MDksIDgzNDYsIDEyODQzOCwgODMzOCwgMTI4MzE1LCAKKyAgICA2NTA0MywgOTgzMjM3LCA4MjIsIDcwNDEyLCA5OTAzLCA2NDcyMSwgNDI3MjIsIDY5ODc3LCAxOTQ2NTksIDc4NjU1LCAKKyAgICA2Njg4MiwgMTk0NjYwLCA3ODQ4NCwgNDEyNjUsIDUzMTEsIDE3OTUsIDk2NSwgMTE4NzkxLCAxMDU4NywgNzM5MzEsIAorICAgIDExMjc4LCA3ODYzMiwgMTk0NjQwLCAwLCAxMjk0NiwgMTk0NjQxLCA3MTkyMSwgMTIwMzQ5LCA2Mjk0LCAzMTQ0LCAKKyAgICAxOTQ2NDgsIDEyNzk2NywgNjUwMTksIDE5NDY0OSwgNzM5OTAsIDY1MTExLCA5ODM5NjAsIDc0OCwgNDEwNjcsIDIzMzAsIAorICAgIDUzNSwgMzE0OCwgMTIzNzUsIDc4Nzk5LCAxOTQ2MjksIDEwNTU2LCAyNDc1LCAxMjM4OCwgNDg4OSwgODk2OCwgNjc4NjMsIAorICAgIDM1OTMsIDc0MDc2LCAwLCAyMzQyLCAwLCAxMjY1NDEsIDY1MjA2LCA0ODk0LCAxOTQ2MzUsIDQ4OTAsIDE5NDYzNywgCisgICAgMTI5MTQ3LCA1ODEsIDQ4OTMsIDQyOTI5LCA2NTcxLCA2NTU0NSwgNDg4OCwgNDE1NywgNzgwNDgsIDc4MDQ5LCA2NDY1MSwgCisgICAgNzgwNDcsIDAsIDEwMTE5LCA2NDE1LCA0Mjg5MywgMCwgNjk3MDIsIDk4MzkzNywgMCwgMTEzNzUsIDY0NzQ2LCAyMzMyLCAKKyAgICA3ODA2MywgNDEyLCA3ODA2MSwgNDI5MjgsIDQyODgwLCA0MzU4NywgMCwgMCwgMCwgNzA0NjEsIDY1MTk3LCA3ODA2NiwgCisgICAgMTIyMDMsIDc4MDY0LCA3ODA2NSwgODkxMywgNjU4NTQsIDQ4NzUsIDY1ODExLCAxMjAzODEsIDEyMDM4OSwgNzE4NTQsIAorICAgIDkzNDQsIDg4MjYsIDkyOTE2LCAxMjAzOTUsIDEzMTA0LCA3NDc4MSwgMTE5OTcsIDEyMDM5MywgNzgwNzUsIDAsIDMxMzQsIAorICAgIDAsIDY1Njk2LCA3MjQzMiwgMCwgNjYyMTcsIDAsIDgzMzQsIDkyNzU1LCAwLCAzNDQ5LCAwLCAwLCA3ODQxNCwgNzg0MTMsIAorICAgIDExODk1MCwgNjY0MDUsIDcwNDMwLCAwLCAwLCAwLCAxOTA4LCAxMjAxNjcsIDQzMjgsIDEwNzM0LCAxMjcwMTQsIDAsIAorICAgIDEyNzkxNCwgNzgwNCwgNzgyNzIsIDEwODExLCA2MjUwLCAxMTMzOSwgNDkxNCwgMTEzNjcsIDEyNTAwMSwgNzgwNTQsIAorICAgIDQ5MTcsIDc0NTE2LCA3NDIwOCwgNjQyODUsIDQ5MTIsIDU0NjQsIDEyNzgzNiwgMTE4ODkzLCAyMzYxLCA3OTcxLCA3ODA3MiwgCisgICAgNzgwNzMsIDU1MjQzLCA3ODA3MSwgMCwgODA4NiwgNzQzMTcsIDY3MDcsIDgzMTksIDIzMTIsIDQwOTc3LCAxMDk2MCwgCisgICAgNDA5NjIsIDgzMDUsIDEyNTczLCA5ODM2MDgsIDQwOTgwLCA5ODM5NjQsIDEzMjAyLCAxMjc4MTYsIDEyNTgyLCA3ODI4MiwgCisgICAgOTgzMDQ4LCA2OTg1NiwgNDI0MzgsIDU1MjIxLCA2Mjg4LCA3ODI4MCwgMTI3OTQ2LCA1NjUzLCA0MjQwMCwgMTA4OTEsIAorICAgIDc2OTgsIDU2NTgsIDcwNDAxLCA3MDAzOSwgMCwgNzA0NjAsIDQ5MTMsIDcxMDYwLCAxMjg1NjIsIDcxMzMzLCA0MjMyNiwgCisgICAgMTI4MTk0LCAxMjcyOCwgOTI2ODUsIDQyNDc4LCAyMzI3LCAwLCAxMjU2MywgNDIyODcsIDEyNzA1LCAwLCAxMjA4MjQsIAorICAgIDEyNTg4LCA4ODIxLCA2MTUzLCAyODY3LCAxOTQ3MDgsIDY2MzEyLCA2OTgsIDEyNzA1OSwgMTk0NjA2LCAxMDM1NiwgCisgICAgNzAwMTcsIDE5NDcxMywgNjUxLCAxMjY0MSwgMCwgMTI1MDk4LCAxMjA3MTAsIDEyOTA2NCwgNDE1NTIsIDY1MTE1LCAKKyAgICA3ODQ2NSwgNzg0NjcsIDc4NDYzLCA3ODQ2NCwgMTI4ODUxLCA3ODQ2MSwgOTI5NjAsIDY2OTI3LCA2NDk0NSwgNDcxNiwgCisgICAgNDMyNzcsIDAsIDc4NDc0LCAxMjM0MCwgMTIwNTY4LCAwLCAxOTQ3MDAsIDU1MjY0LCA0MTIxMSwgMTIwNjc2LCA4NzAzLCAKKyAgICA1NDYyLCAxMjA3OTMsIDEyODk0NCwgMTAxMDEsIDAsIDcwMDQ5LCA4NDc5LCA0MTUxLCA0MTkzMywgMCwgMCwgNjYyNTQsIAorICAgIDEyMDgyMSwgNjg0OTcsIDAsIDEyODY1NCwgMTEzNzk5LCAxMTkxOTQsIDc0MDUwLCA0MjY1MSwgMCwgMCwgMCwgMTI5MTUxLCAKKyAgICAwLCAxMjI3OCwgMTI3MTY3LCAxMjg0MDUsIDAsIDI3MDAsIDEyNTc2LCA3ODQyLCAxMjg5OSwgMCwgMCwgMjY5OSwgMCwgCisgICAgNzM4NDUsIDI5ODUsIDkyNTY4LCA2ODY0OCwgOTE3ODQ1LCAxMjE5MiwgMTE5MzE0LCAwLCA2NjQ4OSwgOTgyNywgMTE5MzEwLCAKKyAgICA4NjA5LCAxMTkzMDgsIDY3NDI2LCAxMTkzMDYsIDExNDgxLCA0MTIxMCwgMTE5MzA1LCAwLCAzNSwgNzA4MzgsIDY3NDMxLCAKKyAgICA2NjY5NCwgNjg0NzksIDc4NDc3LCA2NzQyOCwgNDM1OTYsIDYwOTAsIDY0MjU3LCA3ODEyLCAxMDUzNCwgMCwgNzg0ODUsIAorICAgIDczODQ4LCA2Nzk3NSwgNDI3MiwgNzgzMjEsIDQwOTY3LCA0MDk2NCwgOTE3ODI1LCAxMjcwNCwgNzg0ODcsIDQzMzA2LCAwLCAKKyAgICA2NDQ5NywgMTIxMzgsIDc5MzAsIDAsIDIyOTIsIDY4MjE2LCAxOTQ4NzEsIDkxNzgyNiwgNTI0NCwgNDE4OSwgOTQxMDgsIAorICAgIDY3NTk2LCAxMjc1MDQsIDQxODgsIDE4NzksIDcwNDYzLCA5NjgsIDAsIDQzNzQzLCAwLCA4ODczLCAyMjc5LCAwLCAKKyAgICA5MTc4MjcsIDY1NTU1LCAxMjU3NCwgMCwgOTI3NDksIDkyNzUzLCA3NDQ5MCwgMTI3MDk5LCAxMTgzOCwgOTgzOTIwLCAwLCAKKyAgICAwLCA0MjY4MiwgMTI1NzgsIDEyNzIwLCAwLCA0MTIyNywgMCwgMTIzNDYsIDEyNzEwMSwgNjQ4NDgsIDY5OTUwLCA5MTc5NTAsIAorICAgIDcyNTEsIDAsIDEyMDM4MiwgMTE4ODUwLCAxMTkxNDEsIDEyODU0NiwgNjYwMTUsIDY3MzMyLCA5NTksIDg4ODUsIDEyNTY0LCAKKyAgICA2NjQ1NywgNzg4MDgsIDk0NjksIDk2MzIsIDkyMzIzLCA3NDc2MSwgNjQzMjMsIDEyNzMzNSwgMCwgMCwgMTExMzIsIDMxMCwgCisgICAgMCwgNDEyODEsIDEwOTc2LCAwLCA3MTMyNSwgMTI4MzY0LCA3NDI2NiwgMTAwNTQsIDY0OTcsIDg1NzQsIDAsIDkwMTIsIAorICAgIDE5OTU4LCA3NDQyMCwgNjUwODksIDEzMjE1LCAxMjczMCwgNjUxNjMsIDc0MDQ0LCAzNzQsIDQzMTk1LCA4MTYsIDEyMDE2MSwgCisgICAgMCwgMCwgNDE5MzQsIDc0NjUsIDc0NjE1LCA5Mjc1MiwgOTgzMjY4LCA0NzE1LCA2MTAxLCA3MTA4OSwgNDE5MzYsIDAsIAorICAgIDQ4NzksIDAsIDY1NDQ2LCAwLCAzMDcsIDEyNzE0NywgOTU4NSwgNTM3NCwgOTgzMjY3LCAxMjgwNTksIDAsIDEyOTE4OSwgCisgICAgMTI2NjE4LCAxMjAzOTAsIDEyOTE0NiwgNjU1NjcsIDEyMDYxNCwgMTkyOSwgMCwgMTIxNDIsIDAsIDEyMjM2LCA0MTQxOSwgCisgICAgMTk0NjE4LCAxMjA2MTAsIDEyOTgyLCAxMjgyMjgsIDUzNzgsIDc4NzkxLCAxMjg2NzksIDQxNDIxLCAxOTUwNzUsIDQ0NjIsIAorICAgIDAsIDEyNjU5OSwgMTI4MDkyLCA4MjEsIDAsIDI0OTgsIDU4MDAsIDEyMDE1NywgNjc3NTgsIDE3NjAsIDI0MjEsIDQ0NjksIAorICAgIDIzMjQsIDgyOCwgMzYxMSwgNzg0MDAsIDc1NywgMTE4NSwgMCwgNzg3NzAsIDQzNTk3LCAxMDYyOCwgNzQ4MDgsIDE5NDU3MiwgCisgICAgNzk5OSwgNDM5NzEsIDExMjE3LCAwLCAxMDYzNCwgMTA5NDIsIDc3MTMsIDIzNDgsIDAsIDY0Mzc0LCA0MzgwLCAxOTQ2MDgsIAorICAgIDExOTA0NCwgOTk4MiwgNjQzMjQsIDQxMjQwLCA4NjIsIDY1NjI2LCA3ODQ2MiwgMTgxMCwgMzY3MywgNTEzNywgMTk0NjE3LCAKKyAgICAwLCA3Mjc3LCA2NTYyMiwgNjUwNjksIDc1NjYsIDY0Njg4LCA2NzE0MywgMTk0NTkyLCA3ODA5MiwgNzA0MjIsIDEyODM4NSwgCisgICAgNDc0OCwgOTIyMjgsIDEyOTE4NSwgMTk0NjAxLCA0MjI2MCwgNTg3MSwgMTE5MDc1LCAwLCA3NDU3NiwgNDQwMTksIDAsIAorICAgIDEyODE4OSwgMzk2NywgNzEwOTgsIDEzMTM3LCA4Nzc1LCAxMjc5NDUsIDAsIDI5NjMsIDAsIDg0MTAsIDQ0NTQsIDcyMywgCisgICAgMTI3ODgyLCA5NjYsIDQ0NDksIDkyMzMwLCA5MjIzOCwgMTI4NDI4LCA3ODE5LCAyMzIwLCAxOTQ1ODksIDMzOSwgNDk2OCwgCisgICAgMTk0NTkwLCAxMjAzOTksIDgwNzUsIDU1Mjc2LCAwLCA4MDQ3LCAwLCA3ODgyNywgMTI2MzQsIDQxNTQyLCA3ODc4MCwgCisgICAgNzQ2NiwgNjcwNSwgMTIxNzQsIDQyNjEwLCAwLCA3NDQ1MiwgOTgzNzYzLCAxNTg0LCA2NjY0NSwgNjA0NSwgNjcyOSwgCisgICAgMTIwNjQwLCA2NTIxOCwgMTE1NTksIDAsIDc4MDYyLCA3NTM3LCAxMjQ5OTEsIDExMzcwLCAwLCAxMDMzMCwgMCwgMTAzOTQsIAorICAgIDAsIDc0MTk0LCAwLCAxMjc5MjksIDk3ODAsIDAsIDExMTE3LCAxOTQ1NzYsIDc3OTUwLCAxOTQ1NzgsIDcwNzQsIDkyNjQ4LCAKKyAgICAxOTQ1NzksIDE5NDU4MiwgMTE0MTQsIDEyNDk2MCwgMjUzMSwgMTMwMzQsIDAsIDAsIDQyMTEsIDEyNTksIDc1MTcsIAorICAgIDcwODY2LCA3MDE5OCwgMTk0NTYxLCA0MDk5NiwgMTMwMzcsIDcwOTIsIDY0MSwgNTIxOSwgOTQwMzQsIDE5NDU2NiwgCisgICAgMTEwNjQsIDQxMTI5LCAwLCA0Mjg1MCwgMTMwMzUsIDkwNzUsIDkyMzg3LCA1NDY2LCAxMjgxNTMsIDAsIDY0MDk4LCAKKyAgICA2NTc5MywgNDUzNSwgMTk0NTczLCA0MjcxLCA3ODQxNywgMTI4MzU3LCA2NzY5LCA0MTQxMCwgMTk0Njc1LCA2NDI2MiwgCisgICAgNjc2NywgNDE0MDcsIDY2MjczLCA5MTc4MTYsIDY3NTUsIDExODg2NCwgOTA0NiwgMTI3OTM0LCAxMjY2MDgsIDcwODMwLCAwLCAKKyAgICAwLCAwLCA2NzY3NSwgOTgzNjk0LCAwLCAwLCA2NDMzOCwgMjU2MywgMTMwMzMsIDI0NywgMTE4OTE1LCAwLCAxMjMzOCwgCisgICAgNDY1MSwgNjczNTUsIDExMjcwLCAwLCA3NDYzMCwgMTE5MzMsIDAsIDAsIDQxOTAzLCA0MzQ0NywgMTEwMDEsIDczODI3LCAKKyAgICA0MjI1NSwgMTEzNzYwLCA5MjY2MSwgNjk4MjEsIDQxOTA1LCA2NzM1MCwgMCwgMTA3NzUsIDk3OTMsIDUwMDksIDEyODc3NCwgCisgICAgNDIyNjksIDY0NTg3LCA5ODMwNjMsIDQyNTM1LCA2OTgxMiwgNjQ1MjksIDQxNDA4LCA0Mjg1MywgMzg3NywgMTIwNzk1LCAKKyAgICA0MjY3NCwgODE0NywgNDM1NjYsIDExOTAyMSwgNjczNDIsIDEwMjM2LCA2NTkxOCwgNDM3ODIsIDAsIDEyNzU1NiwgNjQ1MDYsIAorICAgIDY5NjUyLCAxMTg5MjEsIDQ3NDcsIDEyODA1OCwgNjk4NDQsIDQzMjAwLCA1ODMyLCA3MTI1MywgMCwgNTE0MSwgNDI2MDAsIAorICAgIDcxODY2LCA0MzIwMywgMTI3MjA4LCAxMjAxMjksIDQzMjg2LCAwLCAxMjgyMTEsIDQzNzc4LCA3NjU3LCA0MTMwNSwgCisgICAgNzg3NzYsIDQzNzgxLCAxMTMwMywgNjU1NDcsIDEyODYwOSwgNzAzMSwgODU5LCAxMjg0ODgsIDAsIDAsIDYwNTksIAorICAgIDEyNjk4NSwgNTUyMzUsIDE5NDgxNywgODUzNSwgMTI4NjM4LCA2NTE5NiwgMTI1MDg0LCA2NjAzMiwgMTE0ODgsIDEyMDQ4MSwgCisgICAgMTIwNzg2LCA0MjIzMywgNjQxNDAsIDk5NDYsIDc2NjcsIDE5NDc5MiwgMTE4MjIsIDAsIDExMTM1LCA5ODM4OTgsIDAsIAorICAgIDE3ODgsIDE1NzksIDEyMDQ4MiwgNzEyOTgsIDAsIDk4MzQ1OSwgMCwgOTAyOCwgMTE5NTcxLCA2OTIzNCwgNzEwNjEsIAorICAgIDE5NDczOCwgMTI4NSwgNjQ4ODIsIDQxMjQyLCA3MDA4NiwgMTI5MDQxLCAxMjY0MCwgMCwgNzQwMSwgMCwgMTI2MjUsIAorICAgIDY4MTk4LCAwLCA3MDA4MiwgMzk0MCwgNDE1OTcsIDQzNzU0LCAzMzk2LCAxMjY0MiwgODY2NSwgOTgzNjEwLCA5ODM2MDksIAorICAgIDEyNjMwLCAxNjUzLCA5MTc4MTUsIDEwMTUzLCAwLCA2MTY2LCA3MDgyNSwgMTE4OTg5LCAwLCA4ODE1LCA2NjY3MywgCisgICAgNjUwNDYsIDkyODUsIDkxMywgNDIyNTksIDExMTgwLCAxMTkzMTgsIDIxNDIsIDY4NDU0LCA0MjQ4NSwgOTQwMTIsIDc4NzgsIAorICAgIDgyMTEsIDQyMjkzLCA2NDM3NywgMTIwNDc4LCA5MjY0MywgMCwgMTk0NjczLCAxMjAzMiwgMCwgOTcyNSwgOTgzNDg5LCAKICAgICA3ODQzMSwgNTI2MywgMTI4MTgsIDc4NDMwLCA0MTkzOSwgMTAwMjIsIDY1Mzg3LCA3ODQxOSwgNDI3NzcsIDEwMTM5LCA5ODAsIAotICAgIDQzNjk4LCA2NTM4NiwgMjIwOCwgMCwgNDM3MDEsIDQzMTk4LCA3MTg0LCAxMjA2NzMsIDE5NDc5NywgOTE3ODE5LCAxMDA4NSwgCi0gICAgMTE5OTkyLCAwLCAxMTk5OTMsIDY2MzQsIDkyMzczLCAwLCAxMTkzMjMsIDgwNzIsIDExOTMyMSwgNDM3MDAsIDAsIDg4NzIsIAotICAgIDc3ODMsIDkxNzk5MiwgMTIzOTgsIDgyMzcsIDAsIDAsIDEyMzk1LCAwLCAxMjY5NzcsIDEyMDU2NSwgOTkxNCwgMjIxNywgCi0gICAgOTE3ODU0LCA3Mzk3NSwgNjM2NywgNjM1MSwgNjY2ODgsIDAsIDc4MTA3LCAwLCA2NDczNSwgNDEyNDMsIDkyMTk5LCA3ODA4LCAKLSAgICAxODI5LCAwLCA0MTkzNywgNDM1OCwgNDMyNzIsIDYzNTMsIDAsIDAsIDEyMDQyMiwgMCwgMTcxMCwgMCwgMCwgNjU2MDcsIDAsIAotICAgIDQ5LCA2NjI3LCAwLCA2MjU4LCAxMDY4MywgNzg2NzIsIDk3NDEsIDc4MzI5LCA1NjQ5LCA3ODQ0MSwgNDM0NDMsIDY0NDE4LCAKLSAgICAxNjQzLCA2NTIxMywgODQwNSwgMzQ3MCwgMTI4MjI1LCAxMzIxMywgNDI0NTIsIDc4MzMxLCAxMjA2NjQsIDc4NDQ1LCAwLCAKLSAgICAxMDcyLCA3ODQ1NywgNzg0NTIsIDc4NDU0LCA2NTc2LCA0MTk4OCwgNDExMzIsIDY1Njc1LCAxMDgwLCAxMjAwMDIsIDk4ODYsIAotICAgIDU1MjI1LCAxMTAxLCA2ODQwNCwgMTIzMDksIDU1MjI3LCAwLCAxMjYzMiwgMTA4NiwgMTg2OSwgNzg2ODUsIDc2ODAsIDAsIAotICAgIDY1NDU4LCAxMjA3MTQsIDEyNjM5LCAzMzgwLCA4MTIzLCAxMDkxLCAxMjYzOCwgNzk3NywgNDUwMSwgNDEwOTksIDAsIAotICAgIDY2MzA5LCAwLCAwLCAxNDk0LCA5ODMxNDYsIDEyNjYxMywgMCwgMTE2OTMsIDEyNjUxMywgMTA0OTQsIDkyNjU1LCA2NTg3MiwgCi0gICAgMTIzNjMsIDExMzg2LCAwLCAwLCAwLCAwLCA2NDU4MiwgMCwgNzM3OTQsIDAsIDgwMjIsIDAsIDEyMDQ2MiwgNzQxMDYsIAotICAgIDEyNDEzLCA5NDA2OSwgOTE3OTk0LCA5MTc5OTMsIDkxNzk5NSwgNTU3MCwgMTg4MSwgNzIxMCwgMCwgMTAxMiwgNDM3NTIsIAotICAgIDAsIDEyMDcwOSwgNzIwOCwgNjY0NDIsIDU1NjksIDk4MzI0MiwgNDIzMzksIDAsIDYwNjMsIDAsIDc4MzgzLCAxMTk1OTQsIAotICAgIDYwNTMsIDY1NjAyLCAwLCA5MjIwMSwgNjQ3MjcsIDkxNjAsIDE5NDgyNywgMCwgMCwgOTIxODAsIDEwNTAzLCAxMTg4MTAsIAotICAgIDYwNTUsIDM4NzAsIDQyNzksIDg0OTAsIDEyMDExNCwgNDMxOSwgNjQ3ODYsIDg2MDIsIDEyMDExMCwgMTEzMjYsIDkyMjA0LCAKLSAgICA5ODMxMTYsIDAsIDEyMDExOSwgNzgzMzMsIDEyMDExNywgMTIwMTE4LCAxMjAwOTksIDEyMDEwMCwgNjUwODcsIDU1NzEsIAotICAgIDM2NzQsIDk3NDAsIDkxMjEsIDU1NjgsIDEyMDEwNywgMTIwMTA4LCA0MjA4NSwgMTAxMDcsIDQyMTU5LCA0Mjg3MCwgCi0gICAgMTIwMTAxLCA1ODksIDcwNTAsIDk4MzgwMCwgNDMyODEsIDEwMjMzLCA0MTI2MywgNjYyNTEsIDY1NzI5LCA2NjI1MywgCi0gICAgMTI2NDk3LCA3NDA5OSwgNDI2NDUsIDAsIDE5NDgxNSwgODU4MywgMCwgNTg0NywgNjkyOCwgMTI4MDc0LCAwLCAwLCAwLCAwLCAKLSAgICA2NjU5MiwgMTIyMDQsIDkxNzk2MiwgMTk5NjYsIDc3ODU2LCA0MjU2MSwgMTIwNjI2LCA5ODMyNTEsIDAsIDgxMjAsIAotICAgIDEyMDcwMSwgMCwgMCwgMTI4MDEyLCA0MTA2MywgMCwgMTA2NjQsIDAsIDgzNjksIDAsIDQ1NTEsIDE5NDk2NCwgMzM2OSwgMCwgCi0gICAgMCwgOTY3MywgNjYzMzQsIDY1NTgwLCAxMDQ3OCwgMTE4OTYwLCAxMjUxNywgNTU3LCA5NDU3LCAxMjAzNCwgOTgzNjcxLCAKLSAgICA2MzU1LCAxMjUxOSwgNDEwMDQsIDAsIDE5NTAyNSwgNzQwOTQsIDAsIDAsIDc3OTcwLCA5ODM1NjAsIDAsIDEyODE3NSwgCi0gICAgMTIxMTEsIDM5MjcsIDAsIDEyNTE1LCAxNDc0LCA2Nzg5MywgNTQ5MiwgNjkyMywgOTIyODEsIDEwNDQxLCA3MzgzNiwgMCwgCi0gICAgNDM5OTAsIDU0OTMsIDAsIDc0MzE5LCAwLCA2NjYzNSwgMTIwMTksIDAsIDE2MTgsIDAsIDEyMDQ3NCwgOTY0NSwgMTA0MzAsIAotICAgIDkxNzk1OSwgNTg1MywgMTMwNjMsIDEwMzYzLCAwLCAxMjk1NiwgMTI4MTY5LCAxMjA3MjksIDExMzE0LCA5MTc1ODIsIAotICAgIDEyMDYwLCAwLCA3ODM5MiwgMTI4MjYsIDYzMjksIDAsIDEwNTE0LCA2NTUxNywgNzQzOTUsIDI3MDcsIDgzMDksIDAsIAotICAgIDEyNzA1NCwgNzgzOTgsIDQzNTcwLCAyNjk3LCA0MzQyMCwgNzgzOTYsIDEyNzA1NywgMjY5NSwgNDIxNzEsIDAsIDAsIDAsIAotICAgIDY3NjE3LCAxMTg5NzEsIDAsIDI2OTMsIDEyMTI1LCAxMjc2NiwgMCwgMTE2NCwgMTI4ODE3LCAwLCA0MTkxOCwgOTgzMTY4LCAKLSAgICAxMjc1NDIsIDg2ODcsIDY2MDA5LCAxMjE3OCwgNzA1MywgMTI4MDAxLCA3NDY5LCAwLCA1MjQ4LCAxMjIxOCwgMTIwNTM4LCAKLSAgICA2NDI3LCA0Mjg4NCwgNDExMjMsIDAsIDAsIDQyODczLCA0MTEyNiwgOTk5MSwgNDExMjgsIDc0MzcxLCAxMjcwMzEsIDAsIAotICAgIDk4NzMsIDAsIDQyODc3LCA3OTk0LCA2NDc2MiwgMjA1MywgNDI4NDMsIDY1OTEsIDkzNDAsIDAsIDE1ODksIDAsIDI5NiwgCi0gICAgNzQ0MzgsIDc4ODUyLCAwLCA2Nzg0MSwgNzQzNzAsIDAsIDg5MjIsIDEyODA2OCwgNzQ2MDAsIDEyNzAwLCA3NDgzNiwgMCwgCi0gICAgMTI1NzksIDAsIDEyNTc1LCA2NDE2LCA1NjU2LCAyODkxLCAxMzI2MiwgNjU1OTAsIDUyOTksIDAsIDExNDczLCA1NDQ5LCAKLSAgICAxMjUyLCAwLCA3ODQwNCwgNDE0MzEsIDc0MzY5LCA2NTM3MywgNTI5NSwgOTE3NTY5LCA3NDExNCwgMTIyMywgMTY0MiwgCi0gICAgMTc0LCA3ODM5OSwgODgzLCA0MTYxLCAxMjY5MSwgNDI2MDMsIDQxNDEzLCAzMjEyLCA0MTQ1OSwgMzIxMSwgNzQ4MTAsIAotICAgIDQxNDI1LCAxMjcwMjksIDc4NDEyLCA3NDQ1MCwgOTcyOCwgMzg0NiwgODA3MCwgNjE1MCwgNjYzNiwgNDM3MCwgMCwgMCwgCi0gICAgNzQxNzgsIDc0NTg3LCA3NDExNywgMCwgMCwgMCwgNDk4NiwgMTIxODksIDAsIDY3NjQ4LCAxMjA0OTksIDk0MDAxLCA0MjU3LCAKLSAgICAxMjEwNCwgNzc5NDIsIDYyMjAsIDkwMDQsIDY1NTYxLCAwLCA3Nzk0OSwgMCwgNjgxMzUsIDkxNzU3NiwgNzc5NDYsIDAsIAotICAgIDY5Njc5LCA2OTY4NCwgOTg5MCwgNzg1NjEsIDEyOTcxLCA3ODQ1MywgOTI1NTYsIDczODk4LCAxMTk3OSwgNzAwNTEsIAotICAgIDExODkwMCwgOTE3ODk0LCAwLCA5NjM1LCAxMjYwMCwgODg3MSwgMCwgMCwgMCwgNjQ2OSwgNzQyMjcsIDAsIDY1MzA0LCAKLSAgICA0Njc5LCAxMDIzMCwgNjQzMDAsIDY0ODY3LCAzNDI3LCA0MjQwLCAwLCAwLCAwLCAwLCA0MjkxNiwgMCwgMCwgMCwgNzI4MiwgCi0gICAgNzg3MjgsIDY1NzMzLCA0NDQ1LCAxMjcxMzgsIDEyODA4MiwgMzQ5NCwgNzQ2MDYsIDY1NTUsIDAsIDc3OTc2LCAwLCAwLCAKLSAgICA3ODU2NiwgMCwgOTgzMTg5LCA2NTg5OCwgOTgzMjQ0LCA2NTMxMiwgNTQ0NywgMCwgMTI4OTUsIDY1NTkzLCA0MDEwLCAwLCAKLSAgICA0MTEwNiwgMCwgNjQ0NDgsIDAsIDQxMTA1LCAwLCA2NTgyMCwgNjIzMiwgMCwgMTI4MjgwLCAwLCA0MzYwOCwgMTE5MDkxLCAKLSAgICAwLCA2NTM4LCA0MzM1LCA3ODM2NCwgMzk0MSwgNDExMjIsIDExMDYxLCA3ODM2MywgNjQ4OTIsIDkxMTMsIDE5NTQsIAotICAgIDEyMTU1LCA5ODM2NzQsIDQyODc4LCAxMTUwMCwgMCwgMCwgNzQ1NzgsIDAsIDY1ODMyLCAwLCAwLCAwLCA3Nzk3NSwgCi0gICAgMTE5MjMwLCA0NTg2LCAwLCAzNTAsIDEwOTUxLCAwLCA1MDksIDAsIDAsIDkyMzA3LCAwLCAwLCA1MTMzLCAwLCAwLCA5NTAwLCAKLSAgICAwLCA0OTU3LCA2NDc0MSwgMjQyMiwgMjIxMiwgOTgzMDgwLCAwLCAwLCAyNDk2LCAxMTUxNiwgOTQ0LCAxMTg4NTEsIDM4OTAsIAotICAgIDEyMTY4LCAxNDM4LCAwLCA5ODMxMTcsIDAsIDQxOTQ3LCAxMjIwLCAxMjA4MjgsIDEyODU1NSwgMCwgMCwgMTU3MSwgCi0gICAgNDI2MzAsIDQxOTQ5LCA0MjgwNSwgODI3MCwgOTQzLCA1NjQsIDAsIDMxMiwgNDE5ODAsIDk4Mzk0NCwgMCwgNzgxMjAsIAotICAgIDg4NzcsIDI2OSwgNDQyOSwgNjI3MiwgOTYxNywgMTQ2MCwgNjk1NCwgNzg2NTcsIDQxMTIwLCA2NTEyMSwgMTA4NjIsIAotICAgIDYwNjAsIDQxMTE5LCA0MTQxNiwgNzQzNTUsIDQxNzMsIDAsIDAsIDAsIDE5MDYsIDkxNzk4NiwgMTE1MzIsIDc0MDczLCAKLSAgICAxMjczMzgsIDAsIDE5ODUsIDYyOTYsIDk1ODIsIDkxNzg5NSwgNjQyODcsIDAsIDc4MTE1LCAxMTQyOCwgMTczMCwgMjQ1NywgCi0gICAgOTE3ODA4LCAxOTkxOCwgMTA0NjksIDAsIDAsIDc3MDMsIDg4NDAsIDgwMzUsIDAsIDAsIDkyMjMwLCAwLCA2MTI5LCAwLCAKLSAgICAxMjg1MjgsIDEyODI2OCwgMCwgNzg3NCwgODY4MSwgMTE5MDkyLCAwLCAxMzEzNiwgMCwgMCwgNzAxMDIsIDYzODg2LCAKLSAgICAxMTg4ODEsIDk2MDUsIDcxMzA4LCAxMzIyMCwgMTI4Nzc2LCAxMjAyNzQsIDU1MTQsIDAsIDkyMjgsIDAsIDAsIDAsIDUyNDAsIAotICAgIDk4MTEsIDEwMDEyLCAzMDk2LCAwLCAwLCA5ODMzNTEsIDY2Njc2LCA2NTg3MywgMCwgMCwgMCwgOTUwMSwgMCwgMTI3MiwgCi0gICAgNjQ1MzYsIDY1NDY1LCA2NDY1NCwgNzQ2NywgMCwgMTQ2NywgMTAxNTgsIDEwMDQwLCAwLCA5NTE5LCAwLCA5MTc4MTIsIDAsIAotICAgIDExODg5OSwgMTIxOTMsIDAsIDAsIDAsIDAsIDk4MzM1MywgMTk5MzUsIDAsIDkyMTYyLCA2OTY3NiwgMCwgMCwgMCwgNTI3NSwgCi0gICAgMCwgMCwgODYzNywgMCwgMCwgMzc4OSwgNjM4ODAsIDExNDcxLCA0MzU1NCwgNjU4NjIsIDExNDc0LCA2NjMzMiwgNjY2MDMsIAotICAgIDEyODEzOCwgMjQyNiwgMTIwNDIsIDkyMTk0LCA5ODM5MTEsIDk1MzcsIDM5NjEsIDEyMTE1LCA3Nzk1MywgMjYwNSwgNDUwMCwgCi0gICAgNjQ1NjEsIDU1MjI0LCA0OTgxLCAwLCAwLCA2Mzg3NiwgMTE2NjcsIDQyNjg2LCA3Nzk3MywgNDIzNjIsIDY0Njg2LCA0NDk5LCAKLSAgICA0MTY0OSwgNzU4OSwgMCwgMCwgMzIzNywgMCwgNjgyMTUsIDkxNzkwNCwgODU0MSwgNzgyOTgsIDcwMDM0LCA0MTg2NiwgMCwgCi0gICAgMCwgMCwgMCwgNjk5MjQsIDQzNTU1LCAyODIzLCA5NTU5LCAxMDA2MCwgNDE5NDAsIDgyOTksIDQxOTQ1LCA3MTMyLCAKLSAgICA0MTk0MSwgMzMwOCwgNzE5MCwgNjQ4ODAsIDg2MTQsIDY1MjIwLCA0MTQ5MywgMCwgNDE2OTksIDEwNzYyLCA0Mzc4MCwgCi0gICAgMTI5OTksIDAsIDAsIDgxMDYsIDQxMjgsIDAsIDYyNzQsIDQ0OTQsIDAsIDQwMTIsIDEwMzk1LCA5ODM1OTEsIDQzNjMzLCAKLSAgICA2NTQ0NywgMTI2NTExLCAwLCAxMTAwNCwgNjk1LCA3MzksIDY5NiwgNzYxMSwgMCwgNDI3NTUsIDc0ODAyLCA5MjI3LCAKLSAgICA3NTA2LCA3NTEwLCA2OTkzNywgNjkxLCA3MzgsIDc1MTEsIDc1MTIsIDc1MTUsIDM4NjgsIDY4OCwgNDE4NDcsIDY5MCwgCi0gICAgMjU0OCwgNzM3LCA5NzQsIDgwMDMsIDc0MDYsIDkxNzkxMSwgMCwgMTI4Njg4LCAzOTg1LCA5MTc5MTIsIDY1ODYwLCAKLSAgICA2MzkyMSwgNzA1MSwgNjk3NzcsIDQ2ODIsIDkxNzgwNSwgMTI4MDksIDY0MDYsIDQ2ODUsIDkyNTA1LCAxMDg3OSwgMTAzNDcsIAotICAgIDQ2ODAsIDYzNDEsIDAsIDM4NTEsIDgxMzIsIDc0MzI1LCAwLCA5MTc5MDcsIDAsIDQxOTU4LCAxMTkxNzYsIDkxNzkwOCwgMCwgCi0gICAgMCwgNDI2NTcsIDkyNDY4LCA3NjQzLCA0MjM3MywgMTE3MTQsIDY3NTg3LCA0MzU2OCwgOTgzMTc1LCAxMTcxNywgNzY1MCwgCi0gICAgMTA1OTQsIDY0OTUxLCA3NjQ3LCA3NjQ5LCAxMjgxNTUsIDc2NDYsIDAsIDc4MDgyLCA5NjUxLCAwLCAzODkxLCAwLCAwLCAKLSAgICAyMzM3LCAxNzM1LCA3NDMyNCwgNjc4NjAsIDIzNjMsIDk4MzEzNSwgMCwgNDM1NjEsIDAsIDAsIDc0MTQ2LCAxODYwLCAKLSAgICA3NDk1LCA3NTgwLCA1ODEyLCA3NDk3LCA3NTg0LCAxMTkxNDAsIDEyNzg1MywgMCwgMTIwMzQ3LCA3NzI3LCAwLCA4NDk4LCAKLSAgICA2OTgxOCwgODk0OSwgMzA2NSwgNDI3MTksIDcxMzUsIDE1NjksIDkyMzc1LCAxMjUzNCwgMTIxMjQsIDc2OTAsIDAsIAotICAgIDEyNTMzLCA5ODM4NzksIDY0MTgsIDQ1NDMsIDc4MDg2LCA2OTY5LCAwLCA3NDgwMCwgMCwgNjc5NzQsIDExOTgwLCAKLSAgICAxMjg2NTAsIDk4MzgwMSwgNjM4OTQsIDEyMDc2MCwgMTIyODIsIDY2MTkyLCAwLCA3NDU5MiwgODg1MCwgNzQyNzUsIDkyMzgsIAotICAgIDEwNjE3LCA5MTc1NDUsIDAsIDkyNjI1LCAwLCAxMjc5MSwgMCwgMCwgMTI3ODQzLCA0NDQ3LCA3MzczMiwgMTI3OTMsIAotICAgIDEyOTAwLCA5MjM3NywgMTA5NTAsIDAsIDc4MDg3LCAxMjc5MCwgNDE0MDAsIDExOTEyOCwgNjY2MDcsIDEyNzkyLCA0MjIzMiwgCi0gICAgMTk0OTM4LCAxNzQ0LCAxMjc4OSwgMTAzNjYsIDEyMzE3LCA0MTMxMCwgOTgzODY5LCA0MTM5OSwgMCwgMCwgNTUyNTgsIDAsIAotICAgIDEyNjkwLCAwLCAwLCA0MzY3MiwgMTI3ODQwLCA0MTY1MiwgMjk3NCwgOTAxMCwgMTEzMTUsIDAsIDI3OCwgMCwgNDE0MDUsIAotICAgIDExOTI1NCwgMCwgMTAwNzcsIDYzODUzLCA3NDU1NywgNDI1ODYsIDAsIDAsIDYwMDIsIDAsIDQzNTUzLCAwLCA2NzkwMywgMCwgCi0gICAgMTI3ODcsIDQxMzA4LCA3OTM0LCA2NTMwNiwgMCwgMCwgMCwgODY0NiwgOTgzMTg2LCA3NzgyOSwgNzEzNjAsIDAsIDY0MTMsIAotICAgIDY1NTAsIDAsIDE5NDAsIDAsIDQzNjM3LCAyMjAsIDY1MTkzLCA0MzU1MSwgMTA2NzgsIDEwMDQ0LCAxMjgzMjIsIDAsIDAsIAotICAgIDY4NjU5LCA2NDAzLCA1NzA3LCAxMDM5MywgMTI3NTMyLCAwLCA2NjYxNCwgMCwgMCwgMCwgMTAyOTcsIDAsIDM3NDIsIDAsIAotICAgIDM5NTksIDAsIDAsIDAsIDI0NjcsIDAsIDYwMDMsIDYzODQ0LCA2NjYzLCA4MDQwLCAwLCA0Mzc1OCwgNDE4MiwgNzgxNzEsIAotICAgIDQ2NzYsIDEyMDUwMSwgMCwgMCwgMjUxMCwgMCwgMTAyMDgsIDc4MTY4LCA5MjM2MSwgMTE1NDAsIDQzNTQ2LCA2NjkyLCAwLCAKLSAgICA0MTA2MCwgMCwgNDY2OCwgOTA4MywgMCwgMCwgNzgxNDQsIDE1NTksIDYzODMxLCA5Njc3LCAxMjAyNjAsIDAsIDY1MjU2LCAKLSAgICAwLCA3NDA3MCwgMCwgMCwgMzY1LCAxMjA1NiwgNDMwMjcsIDEyMDQyMywgNDE3MTYsIDEyODIzNiwgMCwgMTIwNDcyLCAKLSAgICA1NTE2LCAyODQ1LCA3NzE3LCA4MDM2LCA0MTcxNywgNzM4MjcsIDU0NCwgMTIwNDUsIDYyNzgsIDAsIDU1MTUsIDAsIDAsIAotICAgIDk4MzA1MSwgNjUzMzksIDQzMjIxLCAyMjExLCAwLCA1NTE3LCAwLCAwLCA3NDg0MSwgNjc4ODQsIDAsIDY3ODkwLCA2Nzg4NSwgCi0gICAgNjc4ODAsIDY3ODgxLCA2Nzg4MiwgNjc4ODMsIDAsIDAsIDY3ODc5LCAxMjcxODgsIDE5MDIsIDY3ODg3LCA5NjM4LCAKLSAgICAxMjk3NiwgMTI2NTQ2LCAxMjQ4MywgMTIzNjgsIDQxNzY5LCA0MjcyNiwgNDE3NjUsIDczNjEsIDY2NjcsIDY3ODc0LCAKLSAgICA3NTU2LCA2Nzg3OCwgNzQzNTEsIDExMjY0LCA5ODksIDQyNjc3LCA2Nzg4OSwgMCwgMTMxMSwgOTE3OTY2LCA0MzI2LCAKLSAgICAxMTAwMCwgNjM4MjQsIDEzMDY4LCAxMDkzMiwgMTI4ODgwLCA2OTE3LCA3ODE1NSwgMCwgOTQ5LCA3ODE2MiwgMCwgNjE0OCwgCi0gICAgODYwNSwgNDIyNTMsIDc4MTc3LCAwLCAwLCA0MjcxNSwgMCwgMCwgMCwgNjM4NzEsIDAsIDQxNzk2LCAxMjY5LCA2NTMwLCAwLCAKLSAgICA2NTA1NywgMCwgNTE0NCwgMTIyMjEsIDQyNzE2LCAwLCA0NDMxLCA0MzMxLCA5ODM3MjksIDEyODY3NSwgNDE4MzQsIDUyNzksIAotICAgIDAsIDEwMzM2LCA4MzEyLCAwLCA0MjcwMSwgMTI4ODI1LCAwLCA3ODE2NSwgNjYwMzYsIDAsIDAsIDY0MjgsIDQyMjcwLCAwLCAKLSAgICA5ODM1OTYsIDQzMDU5LCA0MjY2NiwgNTI1NiwgMTA2NywgMjU1LCAxMjEzMSwgOTgzNzIyLCA5NDkzLCA5ODM5NjgsIAotICAgIDQxMDE0LCAxMTc5MywgMTk0OTIwLCAwLCA3NDM5NCwgNDM0NjAsIDEwNjUzLCA0MjcyMywgOTgzODU0LCAxMTk2MzIsIDAsIAotICAgIDY1NjAsIDcwMTYsIDc0Mjc0LCA5ODM2MTUsIDQzNTU2LCAzOTI5LCA2Nzk3NywgNjYxNCwgMjc2OCwgOTI1MDQsIDk3NDYsIAotICAgIDUxMzUsIDExODExLCAxMjc5NiwgMTE5NTMsIDAsIDY5NzYxLCA1MTM5LCAzNDYsIDc0MzAzLCA2MzA1LCAxMjc5NSwgNDY3NSwgCi0gICAgNTE2OCwgNzg1NTIsIDEyNzc1MywgNzQzMTUsIDc0MzYxLCA4MjUzLCA4ODE3LCAxMTM2LCAwLCA0MzU2MywgOTIyMzIsIDAsIAotICAgIDE5NDc1MCwgNzM5MiwgODIzMCwgOTM2NSwgMCwgMCwgOTgzNjA3LCAwLCAwLCA0MDQxLCAwLCAyMzU3LCA0MzI0MCwgCi0gICAgMTI3ODYsIDIyOSwgMTE5ODg1LCAxMTk4ODQsIDQ0MDA0LCA3MTQyLCAxMTk4ODEsIDEyMzUwLCA2NTU1NCwgMTE5ODgyLCAKLSAgICAxMTk4NzcsIDExOTg3NiwgMTI3ODUsIDYzODYzLCA0Mzc5NSwgNzc3MCwgMTA3MTIsIDY0ODUzLCAxMjY4NiwgMTE4OTE2LCAKLSAgICA0MjM3NSwgMCwgMTI3MjM4LCA2NjM1MiwgMTA0NzAsIDAsIDExMDU5LCAxMDc5MSwgOTE3OTQ0LCA0NTAsIDExOTMyOCwgMCwgCi0gICAgMTA0MzIsIDEyMDk3LCA1NDUwLCA2NDY5MSwgMTIzMywgMCwgNDQwMDksIDc4Mjg0LCA2NjMzOCwgMCwgMCwgMTgzOSwgCi0gICAgMTE4Nzk5LCA5ODMyMTksIDEwOTI3LCAxNzAxLCA5ODM2NjQsIDIzODgsIDQxNzQ5LCA0MTc2MSwgNTQ1MywgODM2MSwgCi0gICAgMTE5ODY1LCA0MTc1OCwgNTQ0NCwgNDE3NjMsIDY0ODg5LCA3MTQzLCA5MjQ5MywgNzg2NzcsIDAsIDkyNDI5LCA3ODE3NCwgCi0gICAgNjY0MzIsIDg4MDEsIDMwNTMsIDQzNDAsIDk4MzA0NCwgMCwgNjU4MTIsIDkxNzgzMSwgMCwgNDE4MjQsIDY3OTg1LCAKLSAgICAxMjAyMDMsIDE5NDgwMCwgMTk0ODAzLCA0MjcwMCwgMTk0ODA1LCAxMjc5ODAsIDE5NDgwNywgNzg2NzYsIDkyMzU2LCAKLSAgICAxOTQ4MDgsIDAsIDAsIDQ0OTMsIDQzMzYsIDAsIDIzMTQsIDQzNjAyLCA3ODgyNiwgMTE5MzI1LCAxOTQ4MTEsIDQyNDM5LCAKLSAgICA2NDYzOCwgNDIzMjcsIDQzNTI4LCA0NDg5LCA3MTMzMSwgMCwgMTk0NzkzLCAxOTEyLCA0MjM4NSwgMTAzMDYsIDEwMzcwLCAKLSAgICAwLCAwLCA4ODY3LCAxMDI1MCwgMTAyNTgsIDI3MTIsIDE2MzUsIDc4ODIxLCAxNDEwLCA5MjY3MSwgOTgzMjUwLCAxMTg4NzgsIAotICAgIDAsIDAsIDk5MTksIDEyMDUyOCwgNTU5LCAxMjgxNTcsIDQxODI1LCAxMjc5NzUsIDc4MTg4LCA0ODkyLCA3NDAxNiwgCi0gICAgMTk0NzgxLCA2NTQyLCA0MTk1NywgMTI4ODY1LCA1Nzc3LCAwLCA3NTksIDY1NzQ5LCAyMDc5LCA2NTI0OCwgMTI3ODgsIAotICAgIDY0NDg3LCA2NDU1MiwgMCwgMTAyMjMsIDQyMDYyLCAwLCAwLCAxMjY1NzMsIDM2NjgsIDY1NzU0LCA0MzU2MCwgMTIyMjYsIAotICAgIDY3OTkxLCA2NTE0OSwgMjM0MCwgNDE5NTksIDE5NDc4NiwgMTk0Nzg1LCAxOTQ3ODgsIDQzNjE4LCA2NTc0NywgMTA5MzcsIAotICAgIDI5NjIsIDAsIDIzMjEsIDM1ODcsIDY1NzQ1LCA5MjQzNiwgODkyMSwgOTk1MiwgMCwgMCwgNDI3MTQsIDk5NTEsIDQzNDA5LCAKKyAgICA0MzY5OCwgNjUzODYsIDIyMDgsIDk4MzQ1NCwgNDM3MDEsIDQzMTk4LCA3MTg0LCA5MjU0MiwgMTI4NDIzLCAxMjg4NzUsIAorICAgIDEwMDg1LCAxMTM4MTIsIDAsIDY3Mzk0LCA2NjM0LCA5MjM3MywgMTI1MDg1LCAxMTkzMjMsIDgwNzIsIDExOTMyMSwgCisgICAgNDM3MDAsIDAsIDg4NzIsIDc3ODMsIDkxNzk5MSwgMTIzOTgsIDgyMzcsIDAsIDAsIDEyMzk1LCAwLCAxMjY5NzcsIAorICAgIDEyMDU2NSwgOTkxNCwgMjIxNywgMTk0NTg2LCA3Mzk3NSwgNjM2NywgNjM1MSwgNjY2ODgsIDkyNzQwLCA3ODEwNywgMCwgCisgICAgNjQ3MzUsIDQxMjQzLCA5MjE5OSwgNzgwOCwgMTgyOSwgMCwgNDE5MzcsIDQzNTgsIDQzMjcyLCA2MzUzLCAwLCAwLCAKKyAgICAxMjA0MjIsIDkzMDQ1LCAxNzEwLCAxMjAxNDAsIDAsIDY1NjA3LCA2NzIzNCwgNDksIDY2MjcsIDAsIDYyNTgsIDEwNjgzLCAKKyAgICA3ODY3MiwgOTc0MSwgNzgzMjksIDU2NDksIDc4NDQxLCA0MzQ0MywgNjQ0MTgsIDE2NDMsIDY1MjEzLCA4NDA1LCAzNDcwLCAKKyAgICA2NzI0NCwgMTMyMTMsIDQyNDUyLCA3ODMzMSwgMTIwNjY0LCA3ODQ0NSwgMTI1MTI0LCAxMDcyLCA3ODQ1NywgNzg0NTIsIAorICAgIDc4NDU0LCA2NTc2LCA0MTk4OCwgNDExMzIsIDY1Njc1LCAxMDgwLCA3MDgyNCwgOTg4NiwgNTUyMjUsIDExMDEsIDY4NDA0LCAKKyAgICAxMjMwOSwgNTUyMjcsIDcxMDgyLCAxMjYzMiwgMTA4NiwgMTg2OSwgNzg2ODUsIDc2ODAsIDAsIDY1NDU4LCAxMjA3MTQsIAorICAgIDEyNjM5LCAzMzgwLCA4MTIzLCAxMDkxLCAxMjYzOCwgNzk3NywgNDUwMSwgNDEwOTksIDAsIDY2MzA5LCAxMjAxNDEsIAorICAgIDkyNzU4LCAxNDk0LCAxMTM3MTYsIDEyNjYxMywgMCwgMTE2OTMsIDcxMjU1LCAxMDQ5NCwgOTI2NTUsIDY1ODcyLCAxMjM2MywgCisgICAgMTEzODYsIDExMzcyNywgMCwgMCwgMCwgNjQ1ODIsIDAsIDczNzk0LCA2NzM5NSwgODAyMiwgMCwgMTIwNDYyLCA3NDEwNiwgCisgICAgMTI0MTMsIDY2ODgzLCA5MTc5OTQsIDkzMDM1LCA5MTc5OTUsIDU1NzAsIDE4ODEsIDcyMTAsIDEyMDQyNSwgMTAxMiwgCisgICAgNDM3NTIsIDAsIDEyMDcwOSwgNzIwOCwgNjY0NDIsIDU1NjksIDk4MzI0MiwgNDIzMzksIDkyOTk3LCA2MDYzLCA2Nzg4OCwgCisgICAgNjk5ODEsIDExOTU5NCwgNjA1MywgNjU2MDIsIDAsIDkyMjAxLCA2NDcyNywgOTE2MCwgMTI4Mzk3LCAwLCA5MjkwNSwgCisgICAgOTIxODAsIDEwNTAzLCA3MDM4NywgNjA1NSwgMzg3MCwgNDI3OSwgODQ5MCwgMTIwMTE0LCA0MzE5LCA2NDc4NiwgODYwMiwgCisgICAgMTIwMTEwLCAxMTMyNiwgOTIyMDQsIDk4MzExNiwgMCwgMTIwMTE5LCA3ODMzMywgMTIwMTE3LCAxMjAxMTgsIDEyMDA5OSwgCisgICAgOTIzODUsIDY1MDg3LCA1NTcxLCAzNjc0LCA5NzQwLCA5MTIxLCA1NTY4LCAxMjAxMDcsIDEyMDEwOCwgNDIwODUsIDEwMTA3LCAKKyAgICA0MjE1OSwgNDI4NzAsIDExMzcwMCwgNTg5LCA3MDUwLCA5ODM4MDAsIDQzMjgxLCAxMDIzMywgNDEyNjMsIDY2MjUxLCAKKyAgICA2NTcyOSwgNjYyNTMsIDEyNjQ5NywgNzQwOTksIDQyNjQ1LCAwLCAxMjg0MjQsIDg1ODMsIDAsIDU4NDcsIDY5MjgsIAorICAgIDEyODA3NCwgMCwgMCwgMCwgMCwgNjY1OTIsIDEyMjA0LCA5MTc5NjIsIDE5OTY2LCA3Nzg1NiwgNDI1NjEsIDEyMDYyNiwgCisgICAgMTI5MTcwLCA2Njg1NCwgODEyMCwgMTIwNzAxLCAwLCAwLCAxMjgwMTIsIDQxMDYzLCAwLCAxMDY2NCwgMCwgODM2OSwgMCwgCisgICAgNDU1MSwgMTk0OTY0LCAzMzY5LCA5ODM3MzksIDEyOTAyNiwgOTY3MywgNjYzMzQsIDY1NTgwLCAxMDQ3OCwgMTE4OTYwLCAKKyAgICAxMjUxNywgNTU3LCA5NDU3LCAxMjAzNCwgNjg0OTYsIDYzNTUsIDEyNTE5LCA0MTAwNCwgMCwgMTk1MDI1LCA3NDA5NCwgMCwgCisgICAgMCwgNzc5NzAsIDkyMTcxLCAxMjcyMTksIDEyODE3NSwgMTIxMTEsIDM5MjcsIDAsIDEyNTE1LCAxNDc0LCA2Nzg5MywgCisgICAgNTQ5MiwgNjkyMywgOTIyODEsIDEwNDQxLCA3MzgzNiwgMCwgNDM5OTAsIDU0OTMsIDAsIDc0MzE5LCAwLCA2NjYzNSwgCisgICAgMTIwMTksIDAsIDE2MTgsIDAsIDEyMDQ3NCwgOTY0NSwgMTA0MzAsIDEyNjYzNiwgNTg1MywgMTMwNjMsIDEwMzYzLCAwLCAKKyAgICAxMjk1NiwgMTEzNjY2LCAxMjA3MjksIDExMzE0LCA5MTc1ODIsIDEyMDYwLCAwLCA3ODM5MiwgMTI4MjYsIDYzMjksIDAsIAorICAgIDEwNTE0LCA2NTUxNywgNzQzOTUsIDI3MDcsIDgzMDksIDAsIDEyNzA1NCwgNzgzOTgsIDQzNTcwLCAyNjk3LCA0MzQyMCwgCisgICAgNzgzOTYsIDEyNzA1NywgMjY5NSwgNDIxNzEsIDcwODA5LCA2ODMzNCwgMCwgNjc2MTcsIDExODk3MSwgMCwgMjY5MywgCisgICAgMTIxMjUsIDEyNzY2LCAwLCAxMTY0LCAxMTM3MjksIDAsIDQxOTE4LCA3Nzg0OSwgNjcxNTAsIDg2ODcsIDY2MDA5LCAKKyAgICAxMjE3OCwgNzA1MywgMTI4MDAxLCA3NDY5LCAwLCA1MjQ4LCAxMjIxOCwgNjk5ODgsIDY0MjcsIDQyODg0LCA0MTEyMywgCisgICAgMTExNzYsIDAsIDQyODczLCA0MTEyNiwgOTk5MSwgNDExMjgsIDc0MzcxLCAxMjcwMzEsIDAsIDk4NzMsIDAsIDQyODc3LCAKKyAgICA3OTk0LCA2NDc2MiwgMjA1MywgNDI4NDMsIDY1OTEsIDkzNDAsIDAsIDE1ODksIDEyODY5MSwgMjk2LCA2NzcxMiwgNzg4NTIsIAorICAgIDAsIDY3ODQxLCA3NDM3MCwgMTI4NTA0LCA4OTIyLCAxMjgwNjgsIDQzODI5LCAxMjcwMCwgNzQ4MzYsIDAsIDEyNTc5LCAwLCAKKyAgICAxMjU3NSwgNjQxNiwgNTY1NiwgMjg5MSwgMTMyNjIsIDY1NTkwLCA1Mjk5LCAwLCAxMTQ3MywgNTQ0OSwgMTI1MiwgMCwgCisgICAgNzg0MDQsIDQxNDMxLCA3NDM2OSwgNjUzNzMsIDUyOTUsIDkxNzU2OSwgNjgzMjAsIDEyMjMsIDE2NDIsIDE3NCwgNzgzOTksIAorICAgIDg4MywgNDE2MSwgMTI2OTEsIDQyNjAzLCA0MTQxMywgMzIxMiwgNDE0NTksIDMyMTEsIDc0ODEwLCA0MTQyNSwgNzQ1OTgsIAorICAgIDc4NDEyLCA3NDQ1MCwgOTcyOCwgMzg0NiwgODA3MCwgNjE1MCwgNjYzNiwgNDM3MCwgMCwgMCwgNzQxNzgsIDc0NTg3LCAKKyAgICA3NDExNywgMTk1MDk0LCAwLCAwLCA0OTg2LCAxMjE4OSwgMTI3NTEyLCA2NzY0OCwgMTIwNDk5LCA5NDAwMSwgNDI1NywgCisgICAgMTIxMDQsIDcxMTc2LCA2MjIwLCA5MDA0LCA2NTU2MSwgOTgzODgxLCA3Nzk0OSwgMCwgNjgxMzUsIDkxNzU3NiwgNzc5NDYsIAorICAgIDAsIDY5Njc5LCA2OTY4NCwgOTg5MCwgNzg1NjEsIDEyOTcxLCA3ODQ1MywgOTI1NTYsIDczODk4LCAxMTk3OSwgNzAwNTEsIAorICAgIDcxODk3LCAxMTk1NTIsIDAsIDk2MzUsIDEyNjAwLCA4ODcxLCA2NzM2NiwgNjg0OTEsIDAsIDY0NjksIDc0MjI3LCAKKyAgICAxMTg5MDAsIDY1MzA0LCA0Njc5LCAxMDIzMCwgNjQzMDAsIDY0ODY3LCAzNDI3LCA0MjQwLCA2NzM3NiwgNjczNzUsIAorICAgIDY3Mzc0LCA2NzM3MywgNDI5MTYsIDEyOTE1NSwgMTI4Mjc5LCA2NzM3NywgNzI4MiwgNzg3MjgsIDY1NzMzLCA0NDQ1LCAKKyAgICA2NzM3MiwgNjczNzEsIDM0OTQsIDY3MzY5LCA2NTU1LCAxMjkxNDgsIDc3OTc2LCAwLCAwLCA3ODU2NiwgMCwgOTgzMTg5LCAKKyAgICA2NTg5OCwgOTgzMjQ0LCA2NTMxMiwgNTQ0NywgMCwgMTI4OTUsIDY1NTkzLCA0MDEwLCAwLCA0MTEwNiwgNzQzNTcsIAorICAgIDY0NDQ4LCA5Mzk5NCwgNDExMDUsIDc0MTE0LCA2NTgyMCwgNjIzMiwgNjgyMzMsIDEyODI4MCwgMCwgNDM2MDgsIDExOTA5MSwgCisgICAgMTI0OTYyLCA2NTM4LCA0MzM1LCA3ODM2NCwgMzk0MSwgNDExMjIsIDExMDYxLCA3ODM2MywgNjQ4OTIsIDkxMTMsIDE5NTQsIAorICAgIDEyMTU1LCA5ODM2NzQsIDQyODc4LCAxMTUwMCwgNjc0MDUsIDAsIDc0NTc4LCAwLCA2NTgzMiwgMTI4NjY3LCAwLCA3MDc4OSwgCisgICAgNjczMzMsIDExOTIzMCwgNDU4NiwgMCwgMzUwLCAxMDk1MSwgMCwgNTA5LCA2NzMzNiwgMCwgOTIzMDcsIDAsIDAsIDUxMzMsIAorICAgIDY3MzgyLCAwLCA5NTAwLCAwLCA0OTU3LCA2NDc0MSwgMjQyMiwgMjIxMiwgOTgzMDgwLCA2NzM4MSwgNjczODAsIDI0OTYsIAorICAgIDExNTE2LCA5NDQsIDc4ODkxLCAzODkwLCAxMjE2OCwgMTQzOCwgMCwgNjgzMzUsIDcwMDAzLCA0MTk0NywgMTIyMCwgCisgICAgMTIwODI4LCAxMjg1NTUsIDcwODU0LCA3NDA1OCwgMTU3MSwgNDI2MzAsIDQxOTQ5LCA0MjgwNSwgODI3MCwgOTQzLCA1NjQsIAorICAgIDAsIDMxMiwgNDE5ODAsIDk4Mzk0NCwgMCwgNzA3OTcsIDg4NzcsIDI2OSwgNDQyOSwgNjI3MiwgOTYxNywgMTQ2MCwgNjk1NCwgCisgICAgNzg2NTcsIDQxMTIwLCA2NTEyMSwgMTA4NjIsIDYwNjAsIDQxMTE5LCA0MTQxNiwgNzQzNTUsIDQxNzMsIDAsIDAsIDAsIAorICAgIDE5MDYsIDkxNzg5OCwgMTE1MzIsIDc0MDczLCAxMjczMzgsIDAsIDE5ODUsIDYyOTYsIDk1ODIsIDkxNzg5NSwgNjQyODcsIAorICAgIDEyODQwNiwgNzgxMTUsIDExNDI4LCAxNzMwLCAyNDU3LCA5MTc4MDgsIDE5OTE4LCAxMDQ2OSwgMCwgOTgzMDc5LCA3NzAzLCAKKyAgICA4ODQwLCA4MDM1LCAwLCAwLCA5MjIzMCwgMCwgNjEyOSwgMTI4NDM3LCA3ODU4NiwgMTI4MjY4LCAwLCA3ODc0LCA4NjgxLCAKKyAgICAxMTkwOTIsIDExMjA2LCAxMzEzNiwgMCwgMCwgNzAxMDIsIDYzODg2LCA3MDQ1MCwgOTYwNSwgNzEzMDgsIDEzMjIwLCAKKyAgICA2NzM0OCwgNjczNTQsIDU1MTQsIDAsIDkyMjgsIDY3MzQ5LCA2NzM1NiwgNjczNDYsIDUyNDAsIDk4MTEsIDEwMDEyLCAKKyAgICAzMDk2LCAwLCAwLCA3NDUyNiwgNjY2NzYsIDY1ODczLCAwLCAwLCAwLCA5NTAxLCA5MTc5NTksIDEyNzIsIDY0NTM2LCAKKyAgICA2NTQ2NSwgNjQ2NTQsIDc0NjcsIDAsIDE0NjcsIDEwMTU4LCAxMDA0MCwgMCwgOTUxOSwgMTIwMjcwLCA5MTc4MTIsIDAsIAorICAgIDExODg5OSwgMTIxOTMsIDAsIDAsIDAsIDAsIDk4MzM1MywgMTk5MzUsIDEyMDczMywgOTIxNjIsIDY5Njc2LCAwLCAKKyAgICA5MTc4MTEsIDkzMDU3LCA1Mjc1LCAxOTQ1OTYsIDEyODYzMiwgODYzNywgMTI5MDgyLCAwLCAzNzg5LCA2Mzg4MCwgMTE0NzEsIAorICAgIDQzNTU0LCA2NTg2MiwgMTE0NzQsIDY2MzMyLCA2NjYwMywgMTI4MTM4LCAyNDI2LCAxMjA0MiwgOTIxOTQsIDk4MzkxMSwgCisgICAgOTUzNywgMzk2MSwgMTIxMTUsIDc3OTUzLCAyNjA1LCA0NTAwLCA2NDU2MSwgNTUyMjQsIDQ5ODEsIDc0NjQ0LCAwLCAKKyAgICA0MTY0NiwgMTE2NjcsIDQyNjg2LCA3Nzk3MywgNDIzNjIsIDY0Njg2LCA0NDk5LCA0MTY0OSwgNzU4OSwgMTI4Nzc2LCAwLCAKKyAgICAzMjM3LCAwLCA2Njg5NSwgNjgyOTYsIDg1NDEsIDc4Mjk4LCA3MDAzNCwgNDE4NjYsIDAsIDAsIDk0MDU2LCAxMTE3NCwgCisgICAgNjk5MjQsIDQzNTU1LCAyODIzLCA5NTU5LCAxMDA2MCwgNDE5NDAsIDgyOTksIDQxOTQ1LCA3MTMyLCA0MTk0MSwgMzMwOCwgCisgICAgNzE5MCwgNjQ4ODAsIDg2MTQsIDY1MjIwLCA0MTQ5MywgMCwgNDE2OTksIDEwNzYyLCA0Mzc4MCwgMTI5OTksIDAsIAorICAgIDEyODQ5NCwgODEwNiwgNDEyOCwgMCwgNjI3NCwgNDQ5NCwgMCwgNDAxMiwgMTAzOTUsIDk4MzU5MSwgNDM2MzMsIDY1NDQ3LCAKKyAgICAxMjY1MTEsIDAsIDExMDA0LCA2OTUsIDczOSwgNjk2LCA3NjExLCAwLCA0Mjc1NSwgNzQ4MDIsIDkyMjcsIDc1MDYsIDc1MTAsIAorICAgIDY5OTM3LCA2OTEsIDczOCwgNzUxMSwgNzUxMiwgNzUxNSwgMzg2OCwgNjg4LCA0MTg0NywgNjkwLCAyNTQ4LCA3MzcsIDk3NCwgCisgICAgODAwMywgNzQwNiwgMTI3MzUzLCAwLCAxMjg2ODgsIDM5ODUsIDY2NDI1LCA2NTg2MCwgNDE4NTEsIDcwNTEsIDY5Nzc3LCAKKyAgICA0NjgyLCA3MTg3MywgMTI4MDksIDY0MDYsIDQ2ODUsIDkyNTA1LCAxMDg3OSwgMTAzNDcsIDQ2ODAsIDYzNDEsIDAsIDM4NTEsIAorICAgIDgxMzIsIDc0MzI1LCAwLCA5MTc5MDcsIDEyNzk0OCwgNDE5NTgsIDExOTE3NiwgOTE3OTA4LCAxOTQ4NTUsIDAsIDQyNjU3LCAKKyAgICA3MTA3NSwgNzY0MywgNDIzNzMsIDExNzE0LCA2NzU4NywgNDM1NjgsIDk4MzE3NSwgMTE3MTcsIDc2NTAsIDEwNTk0LCAKKyAgICA2NDk1MSwgNzY0NywgNzY0OSwgMTI4MTU1LCA3NjQ2LCAwLCA3ODA4MiwgOTY1MSwgMTI2NDc1LCAzODkxLCAxMjcyMDUsIDAsIAorICAgIDIzMzcsIDE3MzUsIDc0MzI0LCAxMTEzNCwgMjM2MywgMTI1MDYxLCA5MjQ0MywgNDM1NjEsIDY3NzA2LCAxMjgwMzIsIAorICAgIDc0MTQ2LCAxODYwLCA3NDk1LCA3NTgwLCA1ODEyLCA3NDk3LCA3NTg0LCAxMTkxNDAsIDEyNzg1MywgNzg3NTMsIDEyMDM0NywgCisgICAgNzcyNywgMCwgODQ5OCwgNjk4MTgsIDg5NDksIDMwNjUsIDQyNzE5LCA3MTM1LCAxNTY5LCA5MjM3NSwgMTI1MzQsIDEyMTI0LCAKKyAgICA3NjkwLCAwLCAxMjUzMywgOTgzODc5LCA2NDE4LCA0NTQzLCA3ODA4NiwgNjk2OSwgMCwgNzQ4MDAsIDcxMDUxLCA2Nzk3NCwgCisgICAgMTE5ODAsIDEyODY1MCwgOTgzODAxLCA2Mzg5NCwgMTIwNzYwLCAxMjI4MiwgNjYxOTIsIDAsIDc0NTkyLCA4ODUwLCAKKyAgICA3NDI3NSwgOTIzOCwgMTA2MTcsIDkxNzU0NSwgOTE3OTA5LCA5MjYyNSwgOTE3ODAxLCAxMjc5MSwgMCwgOTQwNjksIAorICAgIDEyNzg0MywgNDQ0NywgNzEwNjUsIDEyNzkzLCAxMjkwMCwgOTIzNzcsIDEwOTUwLCA5ODM0NDcsIDc0NjM5LCAxMjc5MCwgCisgICAgNDE0MDAsIDExOTEyOCwgNjY2MDcsIDEyNzkyLCA0MjIzMiwgMTk0OTM4LCAxNzQ0LCAxMjc4OSwgMTAzNjYsIDEyMzE3LCAKKyAgICA0MTMxMCwgMTIwNzMwLCA0MTM5OSwgMCwgMCwgNTUyNTgsIDAsIDEyNjkwLCAwLCAwLCA0MzY3MiwgMTI3ODQwLCA0MTY1MiwgCisgICAgMjk3NCwgOTAxMCwgMTEzMTUsIDAsIDI3OCwgMCwgNDE0MDUsIDQzODcxLCAwLCAxMDA3NywgNjM4NTMsIDc0NTU3LCAKKyAgICA0MjU4NiwgMCwgMCwgNjAwMiwgNjczMzUsIDQzNTUzLCAxMTE4OSwgNjczMzgsIDY3MzM3LCAxMjc4NywgNDEzMDgsIDc5MzQsIAorICAgIDY1MzA2LCAwLCAxMjg0MjEsIDAsIDg2NDYsIDk4MzE4NiwgNzc4MjksIDcxMzYwLCAwLCA2NDEzLCA2NTUwLCAxMTM3NTksIAorICAgIDE5NDAsIDAsIDQzNjM3LCAyMjAsIDY1MTkzLCA0MzU1MSwgMTA2NzgsIDEwMDQ0LCAxMjgzMjIsIDEyODEyMSwgOTgzODE2LCAKKyAgICA2ODI5MCwgNjQwMywgNTcwNywgMTAzOTMsIDEyNzUzMiwgMCwgNjY2MTQsIDAsIDAsIDAsIDEwMjk3LCAwLCAzNzQyLCAKKyAgICA2NzMzMSwgMzk1OSwgMCwgMTIwNDY2LCAwLCAyNDY3LCA2OTczOSwgNjAwMywgNjM4NDQsIDY2NjMsIDgwNDAsIDAsIAorICAgIDQzNzU4LCA0MTgyLCA3ODE3MSwgNDY3NiwgMTIwNTAxLCA5MjEwLCAwLCAyNTEwLCAwLCAxMDIwOCwgNzgxNjgsIDkyMzYxLCAKKyAgICAxMTU0MCwgNDM1NDYsIDY2OTIsIDY4MzcsIDQxMDYwLCAwLCA0NjY4LCA5MDgzLCAwLCAwLCA3ODE0NCwgMTU1OSwgNjM4MzEsIAorICAgIDk2NzcsIDY3MzQwLCA2NzM0NywgNjUyNTYsIDY3MzQ1LCA2NzM0NCwgMCwgMCwgMzY1LCAxMjA1NiwgNDMwMjcsIDEyMDQyMywgCisgICAgNDE3MTYsIDEyODIzNiwgNjczNTIsIDY3MzUxLCA1NTE2LCAyODQ1LCA3NzE3LCA4MDM2LCA0MTcxNywgNjczNTMsIDU0NCwgCisgICAgMTIwNDUsIDYyNzgsIDc0NjMyLCA1NTE1LCAwLCAwLCA5ODMwNTEsIDY1MzM5LCA0MzIyMSwgMjIxMSwgMCwgNTUxNywgCisgICAgNzAxMTYsIDc0MjI1LCA3NDg0MSwgNjc4ODQsIDEyODQxNCwgNjc4OTAsIDY3ODg1LCA2Nzg4MCwgNjc4ODEsIDY3ODgyLCAKKyAgICA2Nzg4MywgMCwgMTE4ODgzLCA2Nzg3OSwgMTI3MTg4LCAxOTAyLCA2Nzg4NywgOTYzOCwgMTI5NzYsIDEyNjU0NiwgMTI0ODMsIAorICAgIDEyMzY4LCA0MTc2OSwgNDI3MjYsIDQxNzY1LCA3MzYxLCA2NjY3LCA2Nzg3NCwgNzU1NiwgNjc4NzgsIDc0MzUxLCAxMTI2NCwgCisgICAgOTg5LCA0MjY3NywgNjc4ODksIDkzMDQwLCAxMzExLCAxMjg5NDksIDQzMjYsIDExMDAwLCA2MzgyNCwgMTMwNjgsIDEwOTMyLCAKKyAgICAxMjg4ODAsIDY5MTcsIDc4MTU1LCA5ODM2MTUsIDk0OSwgNzc4ODIsIDAsIDYxNDgsIDg2MDUsIDQyMjUzLCA3ODE3NywgCisgICAgNjY5MDYsIDAsIDQyNzE1LCAwLCAwLCAwLCA2Mzg3MSwgMCwgNDE3OTYsIDEyNjksIDY1MzAsIDAsIDY1MDU3LCA3MDQ5MywgCisgICAgNTE0NCwgMTIyMjEsIDQyNzE2LCA2ODI5OSwgNDQzMSwgNDMzMSwgOTgzNzI5LCAxMjg2NzUsIDQxODM0LCA1Mjc5LCAwLCAKKyAgICAxMDMzNiwgODMxMiwgMCwgNDI3MDEsIDkyOTU5LCAwLCA3ODE2NSwgNjYwMzYsIDcwMTY2LCAxMjQ5MzUsIDY0MjgsIAorICAgIDQyMjcwLCAwLCA5ODM1OTYsIDQzMDU5LCA0MjY2NiwgNTI1NiwgMTA2NywgMjU1LCAxMjEzMSwgMTI4NzQyLCA5NDkzLCAKKyAgICA5ODM5NjgsIDQxMDE0LCAxMTc5MywgMTk0OTIwLCAwLCA3NDM5NCwgNDM0NjAsIDEwNjUzLCA0MjcyMywgOTgzODU0LCAKKyAgICAxMTk2MzIsIDcwNDI3LCA2NTYwLCA3MDE2LCA3NDI3NCwgNjk5ODYsIDQzNTU2LCAzOTI5LCA2Nzk3NywgNjYxNCwgMjc2OCwgCisgICAgOTI1MDQsIDk3NDYsIDUxMzUsIDExODExLCAxMjc5NiwgMTE5NTMsIDAsIDY5NzYxLCA1MTM5LCAzNDYsIDc0MzAzLCA2MzA1LCAKKyAgICAxMjc5NSwgNDY3NSwgNTE2OCwgNzg1NTIsIDQzODQ1LCA3NDMxNSwgNzQzNjEsIDgyNTMsIDg4MTcsIDExMzYsIDAsIAorICAgIDQzNTYzLCA5MjIzMiwgMTI4OTE0LCA2NjQxMCwgNzM5MiwgODIzMCwgOTM2NSwgNzExOTQsIDAsIDk4MzYwNywgNjY5MTUsIAorICAgIDEyODQwMiwgNDA0MSwgMCwgMjM1NywgNDMyNDAsIDEyNzg2LCAyMjksIDQzODM0LCAxMTk4ODQsIDQ0MDA0LCA3MTQyLCAKKyAgICAxMTk4ODEsIDEyMzUwLCA2NTU1NCwgMTE5ODgyLCAxMTk4NzcsIDExOTg3NiwgMTI3ODUsIDYzODYzLCA0Mzc5NSwgNzc3MCwgCisgICAgMTA3MTIsIDY0ODUzLCAxMjY4NiwgNDM4MzEsIDQyMzc1LCAwLCAxMjcyMzgsIDY2MzUyLCAxMDQ3MCwgMCwgMTEwNTksIAorICAgIDEwNzkxLCA5MTc5NDQsIDQ1MCwgMTE5MzI4LCAwLCAxMDQzMiwgMTIwOTcsIDU0NTAsIDY0NjkxLCAxMjMzLCAwLCA0NDAwOSwgCisgICAgNzgyODQsIDY2MzM4LCA2NjM5NSwgMCwgMTgzOSwgMTE4Nzk5LCA5ODMyMTksIDEwOTI3LCAxNzAxLCA5ODM2NjQsIDIzODgsIAorICAgIDQxNzQ5LCA0MTc2MSwgNTQ1MywgODM2MSwgMTE5ODY1LCA4OTUsIDU0NDQsIDQxNzYzLCA2NDg4OSwgNzE0MywgOTI0OTMsIAorICAgIDc4Njc3LCA5ODMxMzcsIDkyNDI5LCA2OTk4MywgNjY0MzIsIDg4MDEsIDMwNTMsIDQzNDAsIDk4MzA0NCwgMCwgNjU4MTIsIAorICAgIDEyMDY3NSwgNzAwMDEsIDQxODI0LCA2Nzk4NSwgMTIwMjAzLCA5MjYwMCwgMTI3MDUzLCA0MjcwMCwgMTk0ODA1LCAKKyAgICAxMjc5ODAsIDE5NDgwNywgNzg2NzYsIDkyMzU2LCAxOTQ4MDgsIDEyNzg0NCwgMCwgNDQ5MywgNDMzNiwgMTI5MTcxLCAKKyAgICAyMzE0LCA0MzYwMiwgNzg4MjYsIDExOTMyNSwgMTk0ODExLCA0MjQzOSwgNjQ2MzgsIDQyMzI3LCA0MzUyOCwgNDQ4OSwgCisgICAgNzEzMzEsIDEyODAwNiwgMTk0NzkzLCAxOTEyLCA0MjM4NSwgMTAzMDYsIDEwMzcwLCAwLCAwLCA4ODY3LCAxMDI1MCwgCisgICAgMTAyNTgsIDI3MTIsIDE2MzUsIDcxMDY0LCAxNDEwLCA3ODc2MywgOTgzMjUwLCAxMTg4NzgsIDAsIDEyODcxNSwgOTkxOSwgCisgICAgMTIwNTI4LCA1NTksIDEyODE1NywgNDE4MjUsIDEyNzk3NSwgNzQ2NDEsIDQ4OTIsIDc0MDE2LCAxOTQ3ODEsIDY1NDIsIAorICAgIDQxOTU3LCAxMjg4NjUsIDU3NzcsIDAsIDc1OSwgNjU3NDksIDIwNzksIDY1MjQ4LCAxMjc4OCwgNjQ0ODcsIDY0NTUyLCAKKyAgICA5MzA2MywgMTAyMjMsIDQyMDYyLCAwLCAwLCA3NDI0NiwgMzY2OCwgNjU3NTQsIDQzNTYwLCAxMjIyNiwgNjc5OTEsIAorICAgIDY1MTQ5LCAyMzQwLCA0MTk1OSwgMTk0Nzg2LCAxOTQ3ODUsIDE5NDc4OCwgNDM2MTgsIDY1NzQ3LCAxMDkzNywgMjk2MiwgMCwgCisgICAgMjMyMSwgMzU4NywgNjU3NDUsIDY3MjM2LCA4OTIxLCA5OTUyLCAxMjg5NDEsIDAsIDQyNzE0LCA5OTUxLCA0MzQwOSwgCiAgICAgMTk0NzcwLCAyOTQ5LCA2NjAxMiwgMTk0Nzc1LCAxOTQ3NzQsIDI5NTgsIDY4MzU5LCA0MTgyMCwgMjMwMCwgMjM5NSwgCi0gICAgMTI4NTYzLCA5OTc2LCAxMjAwNDMsIDEyMDA1MCwgMTIwMDU4LCA2ODIyMCwgMTI4MTQzLCA0MjgwOSwgNDI4MDcsIDAsIAotICAgIDEyMDA0NiwgMTAxOTgsIDQxNTAsIDY0MzcxLCA4MzE4LCA0MTc5MCwgNjc5NzYsIDQxODk4LCAyMzYwLCA0MTc5NCwgCi0gICAgOTE3OTQyLCA3MTMxNCwgMTI3ODE4LCAwLCAwLCAyNDE4LCA5ODMwOTgsIDI0MTEsIDExMzM2LCA3OTksIDYzODIzLCAKKyAgICAxMjAwNjEsIDk5NzYsIDEyMDA0MywgMTIwMDUwLCA3MTg5NiwgNjgyMjAsIDEyODE0MywgNDI4MDksIDQyODA3LCA3MDc5OCwgCisgICAgNjYyOTAsIDEwMTk4LCA0MTUwLCA2NDM3MSwgODMxOCwgNDE3OTAsIDY3OTc2LCA0MTg5OCwgMjM2MCwgNDE3OTQsIAorICAgIDkxNzk0MiwgNzA3OTYsIDkyMTYzLCA5MzAzMywgMCwgMjQxOCwgOTgzMDk4LCAyNDExLCAxMTMzNiwgNzk5LCA2MzgyMywgCiAgICAgMTAyNzYsIDEwMzA4LCAxMDM3MiwgOTE3NTQxLCA0MTc3MiwgNDI4MTMsIDIzMTcsIDEwMjYwLCAxMTg5ODAsIDU1Mjg0LCAKLSAgICA5MjIwMywgMCwgMTAzODQsIDk4MzIyMCwgMCwgMCwgNzc1MywgMjM1MSwgNjY1NSwgNjQ0ODksIDY5OTMxLCAwLCA3Nzg3MiwgCi0gICAgNDQ0MywgNDI3NzksIDIzMCwgMCwgMCwgNDM1NDksIDQ4NTUsIDQyMTUwLCA2NTczOSwgNTQ0MSwgNDE4OTYsIDEwMjg4LCAKLSAgICAxMDMyMCwgMCwgODU1LCA3MDQ2LCA2MTA5LCA2NTA0NSwgNjM4MzksIDc4MTk4LCAyMDQ5LCAxMDA5OCwgMCwgNzQxNDUsIAotICAgIDEyNzk0MywgMTAyNjQsIDEwMjgwLCA5MTg0LCAxMDM3NiwgNzAxMywgNDQ2NywgMCwgMCwgMCwgNDE4ODcsIDAsIDQ4NjIsIAotICAgIDk3MzUsIDY1MzcsIDEyMDU5MSwgNzQyODYsIDM5MTQsIDkyMTc4LCA5Mzk3NiwgOTA2NSwgMTI5NjEsIDAsIDAsIDkyMjUzLCAKLSAgICAwLCAyODksIDAsIDQ2OTQsIDExNDIwLCA0NjkwLCAwLCAxMjA1MTQsIDkxNzk3OCwgNDY5MywgNzM4OTMsIDQyNzI0LCAwLCAKLSAgICA0Njg4LCAxMjA0NTQsIDAsIDAsIDY3OTk0LCA4MjM4LCAzMTEwLCAxMjAxNjIsIDk4MzkwOCwgMTIwMTYzLCA2NTI4LCAKLSAgICAxMjc1NTMsIDQzMDM1LCA2OTg5OCwgMjE4LCAwLCAxNTIwLCAwLCA0Nzg2LCAwLCA0MzIyNSwgNDYwMiwgMCwgNzgxNjcsIAotICAgIDEwMDg4LCA2NTQ4LCAwLCAxMjAxNTYsIDQzOTc4LCA4OTg4LCA4ODg4LCAwLCAwLCAwLCAwLCAxMDY2NiwgMCwgNzM5MDIsIAotICAgIDY5NzQwLCAwLCAwLCA5OTc1LCAxMjgwMzksIDExOTkwMiwgNDY4OSwgODkzMiwgMCwgNjU1NjAsIDExOTIwOSwgNzQ0NDEsIAotICAgIDc4ODEwLCAwLCAwLCA2Nzk4NywgMCwgMCwgMCwgNjc5ODksIDAsIDEwMDY1LCA4MjA3LCAwLCA5MjYxMywgMTI4MDExLCAwLCAKLSAgICA2NjIsIDAsIDkyNDQsIDE5NDg2MywgMCwgMTE5MjYxLCA5ODM0MjgsIDAsIDAsIDAsIDQxOTI5LCAwLCAwLCA2NjY3NCwgCi0gICAgNDE5MjYsIDEyMDQwOCwgMTIwNDQzLCAxMDUxMywgNjQ2MzcsIDE5NDg2MiwgNjgwMTMsIDUyLCAxMzExOCwgNjQ3NSwgMCwgCi0gICAgMTIwMzQxLCAxMjA5NSwgMTAyMjUsIDQ4MTIsIDkyNTc4LCAwLCA2Nzk5MiwgNzQwODUsIDAsIDM5NzgsIDAsIDkxNzk0NSwgCi0gICAgMTI3ODIzLCAxMTU4MiwgMTIwNzYxLCAxMjI4MSwgMCwgNjU0NCwgMTMyNDEsIDkzOTYxLCA2OTc4MiwgMTI4NTU3LCAKKyAgICA3ODY4NiwgMCwgMTAzODQsIDk4MzIyMCwgMCwgMTI5MTExLCA3NzUzLCAyMzUxLCA2NjU1LCA2NDQ4OSwgNjk5MzEsIAorICAgIDcwMTk5LCA3Nzg3MiwgNDQ0MywgNDI3NzksIDIzMCwgMCwgMTI4OTY5LCA0MzU0OSwgNDg1NSwgNDIxNTAsIDY1NzM5LCAKKyAgICA1NDQxLCA0MTg5NiwgMTAyODgsIDEwMzIwLCAwLCA4NTUsIDcwNDYsIDYxMDksIDY1MDQ1LCA2MzgzOSwgNzgxOTgsIDIwNDksIAorICAgIDEwMDk4LCAwLCA3NDE0NSwgMTI3OTQzLCAxMDI2NCwgMTAyODAsIDkxODQsIDEwMzc2LCA3MDEzLCA0NDY3LCA3ODY4NCwgMCwgCisgICAgMCwgNDE4ODcsIDAsIDQ4NjIsIDk3MzUsIDY1MzcsIDEyMDU5MSwgNzQyODYsIDM5MTQsIDkyMTc4LCA5Mzk3NiwgOTA2NSwgCisgICAgMTI5NjEsIDAsIDAsIDkyMjUzLCAwLCAyODksIDEyODcxNCwgNDY5NCwgMTE0MjAsIDQ2OTAsIDAsIDEyMDUxNCwgOTE3OTc4LCAKKyAgICA0NjkzLCA3Mzg5MywgNDI3MjQsIDY5OTc3LCA0Njg4LCAxMjA0NTQsIDAsIDAsIDY3OTk0LCA4MjM4LCAzMTEwLCAxMjAxNjIsIAorICAgIDM1NjUsIDEyMDE2MywgNjUyOCwgMTI3NTUzLCA0MzAzNSwgNjk4OTgsIDIxOCwgOTgzODUwLCAxNTIwLCAwLCA0Nzg2LCAKKyAgICA5ODMxNjgsIDQzMjI1LCA0NjAyLCA5MTc5ODIsIDc4MTY3LCAxMDA4OCwgNjU0OCwgMCwgMTIwMTU2LCA0Mzk3OCwgODk4OCwgCisgICAgODg4OCwgOTI3MjQsIDc0ODEyLCA2OTcwOSwgMCwgMTA2NjYsIDAsIDczOTAyLCA2OTc0MCwgMTI3NzkzLCAwLCA5OTc1LCAKKyAgICAxMTM3MDQsIDExOTkwMiwgNDY4OSwgODkzMiwgMCwgNjU1NjAsIDExOTIwOSwgNzQ0NDEsIDc4ODEwLCAwLCAwLCA2Nzk4NywgCisgICAgMCwgMTI4ODI4LCAwLCA2Nzk4OSwgMTE5MDI5LCAxMDA2NSwgODIwNywgNzE5MDAsIDkyNjEzLCAxMjgwMTEsIDAsIDY2MiwgCisgICAgMCwgOTI0NCwgMTk0ODYzLCAwLCAxMTkyNjEsIDk4MzQyOCwgMCwgMCwgMCwgNDE5MjksIDAsIDcxMDg0LCA2NjY3NCwgCisgICAgNDE5MjYsIDY5OTk0LCAxMjA0NDMsIDEwNTEzLCA2NDYzNywgMTk0ODYyLCA2ODAxMywgNTIsIDEzMTE4LCA2NDc1LCAwLCAKKyAgICAxMjAzNDEsIDEyMDk1LCAxMDIyNSwgNDgxMiwgOTI1NzgsIDEyODQ4NiwgNjc5OTIsIDc0MDg1LCAwLCAzOTc4LCAxMjg0MjUsIAorICAgIDkxNzk0NSwgNzQwMTUsIDExNTgyLCA5Mjc2OCwgMTIyODEsIDAsIDY1NDQsIDEzMjQxLCA5Mzk2MSwgNjk3ODIsIDEyODU1NywgCiAgICAgMTk0ODYwLCAxMTc2NSwgNjUyNTgsIDEwMzY5LCAwLCAxNTg1LCA3MTkyLCAxMDI0OSwgNDIyLCAxNTAwLCAyMDM2LCA5ODYsIAogICAgIDE5NDg1OSwgNjQzOTQsIDU3ODEsIDU1OTksIDY0Mjk0LCAyNDk0LCAxMjA0NTAsIDQ4NjEsIDc0MDIxLCA2NDMzNCwgCi0gICAgNzgyMDMsIDEyNzgwOCwgMCwgOTIyNjYsIDY1MTAyLCA4OTYxLCA2NTg0MiwgMTAyNDMsIDEwMjQ1LCA3NDE5MSwgMTIwNDEwLCAKKyAgICA3ODIwMywgMTI3ODA4LCAwLCA5MjI2NiwgNjUxMDIsIDg5NjEsIDY1ODQyLCAxMDI0MywgMTAyNDUsIDcxOTA3LCAxMjA0MTAsIAogICAgIDAsIDEyMDQ1MywgNjQ4MjEsIDk0NzgsIDI1MDgsIDkyNjgzLCAwLCAyMDIsIDEyODI0NiwgNzQxMzEsIDEyNDIsIDY1NTE0LCAKLSAgICAwLCA2Mzk0MCwgMTI4NzA2LCA2NDUzMywgMTIwMTI5LCAwLCA2Nzg0MiwgMTE5OTAsIDkyNDMwLCA2MzkzOSwgNDMzNzUsIAotICAgIDY1NDQwLCAyNTA0LCAwLCA3ODY3MSwgNjQ4MjksIDk4MzkxMCwgNjk0MywgOTE3OTM0LCA1ODU5LCAwLCAyODU4LCAKLSAgICA5ODMzNjEsIDc0Mjk0LCA5ODM5MTQsIDY5MjM5LCAwLCAxMTkwMjcsIDEyOTkyLCAyNzUzLCAxOTM2LCA3MDA3OCwgOTI1NzQsIAotICAgIDI3NTEsIDEyNjYyLCAyNzYzLCA4OTUzLCA2NDcwMSwgMTA3MzEsIDEyOTIyLCA3MDUyLCA5MTc4MzksIDAsIDAsIDAsIAotICAgIDYzOTIwLCA3NDEyOCwgMjg1NiwgMTE5OTEwLCA0NywgNjk5MDgsIDEyNjk4NiwgNjU4NTgsIDAsIDAsIDAsIDc4OTksIDAsIAorICAgIDEyODkxMywgNjM5NDAsIDEyNzExOCwgNjQ1MzMsIDcxODgzLCAxMjA0NDYsIDY3ODQyLCAxMTk5MCwgOTI0MDUsIDYzOTM5LCAKKyAgICA0MzM3NSwgNjU0NDAsIDI1MDQsIDAsIDc4NjcxLCA2NDgyOSwgOTMwMjAsIDY5NDMsIDkxNzkzNCwgNTg1OSwgMCwgMjg1OCwgCisgICAgOTgzMzYxLCA3NDI5NCwgOTgzOTE0LCA2OTIzOSwgMCwgNjc4NzEsIDEyOTkyLCAyNzUzLCAxOTM2LCA3MDA3OCwgNjc3MDEsIAorICAgIDI3NTEsIDEyNjYyLCAyNzYzLCA4OTUzLCA2NDcwMSwgMTA3MzEsIDEyOTIyLCA3MDUyLCA5MTc4MzksIDY2NDI0LCA2Mzk5MiwgCisgICAgMCwgNjM5MjAsIDc0MTI4LCAyODU2LCAxMTk5MTAsIDQ3LCA2OTkwOCwgNzEwNTMsIDY1ODU4LCAwLCAwLCAwLCA3ODk5LCAwLCAKICAgICA4NDE3LCA0Mzc5OCwgNzA3MiwgMCwgMCwgNDAzMywgMTI4MTY0LCA0Mzk5MiwgMCwgMCwgMjEyLCA2NDYwMCwgMTkwMywgCi0gICAgMTIzMjAsIDAsIDAsIDE5NDU2MywgMCwgODkxNSwgMjc1OSwgOTQ1LCA2Njg5LCAwLCAwLCAwLCAwLCAxMjkxLCA3NDgyOCwgCi0gICAgMCwgMCwgOTUzMSwgMTMxNTUsIDg1MDUsIDY4Mzc5LCAxMjA2MiwgMCwgMCwgNjU0ODcsIDkyMTg5LCA0MTgzNywgMTIwNjExLCAKLSAgICAxMjA0MzIsIDAsIDAsIDAsIDEyMDQzMywgMCwgNjM5MzUsIDczOTYyLCAxMjA4MDYsIDY0Nzg3LCA0MzUyNCwgMCwgNjQ0MjYsIAotICAgIDAsIDE5NDk0OCwgMCwgMCwgNjU2NjQsIDY2OTMsIDk4NDMsIDAsIDg2NzQsIDExOTg4NywgMTI4ODEyLCA5MjcxNSwgMCwgCi0gICAgMTI2MjQsIDAsIDE2NzMsIDQ4MTEsIDkyMzgzLCA1OTg2LCA5MzM4LCAzMDQ2LCA3NDQ4MCwgNTk4NSwgOTE3OTI4LCAKLSAgICAxMTk1OTgsIDk4MjAsIDAsIDEyMTg3LCAwLCAwLCA1OTg0LCAwLCA0MzMwOCwgNDM5MywgNjc2NTAsIDAsIDAsIDAsIDAsIAotICAgIDc0ODI2LCA2NDczMywgMCwgMCwgMzQ5MSwgMCwgMCwgMTI4MjE5LCAzNTE0LCA2NTQ4NSwgMCwgNzQ5MiwgMCwgNzQ2MDUsIAotICAgIDkyNDgzLCA3NTE0LCA5ODMzNjcsIDAsIDE5NDczMSwgNzUwMiwgNzU4NywgNjgzNTMsIDAsIDAsIDYzOTI1LCAwLCA3NjEwLCAKLSAgICAyMTksIDAsIDAsIDY5MiwgNDM1ODgsIDc0NDMzLCA0MTYzNSwgNDMyNDEsIDk2ODgsIDcxNDcsIDk1MzUsIDAsIDkzOTkxLCAKLSAgICAwLCA2NDUzMCwgMCwgNjQ2MTAsIDExODA0LCAwLCA3MTQ5LCA3NDUzLCAwLCA4MDEzLCAwLCA5MjMwMSwgMCwgODg5NSwgCi0gICAgNTI1MywgNzAwMjUsIDU0NTgsIDAsIDI4NjYsIDAsIDEyNzg2MCwgNjUxMTEsIDY4NDMzLCA2NzAwLCAxMjA0ODQsIDAsIAotICAgIDEyMDU4MywgMCwgODk2MiwgNzc5NjAsIDk2NDEsIDQzNjk0LCA3MDU5LCA5ODM2NzcsIDAsIDk2MDQsIDc4NzAwLCA3NDQxLCAKLSAgICA2MzgyNiwgNjc5NzAsIDExODk0MSwgNjQzOTIsIDE5NDczNSwgOTgzNjg3LCAyODQ0LCA5ODM5NDEsIDQxOTc0LCAwLCAKLSAgICAxMjEzOSwgNjc5NzEsIDAsIDAsIDMzNTgsIDY1Mjk1LCAwLCAzMTA0LCAxOTQ3MzQsIDAsIDE5NDc2NSwgOTgzMjMzLCAKLSAgICA1MzA4LCAwLCAyOTAsIDAsIDAsIDI4NjIsIDI3OTIsIDE5NTA4OCwgOTgzMDcwLCAwLCAzMjY4LCA2NjU5MSwgMCwgNjU1MiwgCi0gICAgNDIzNjcsIDcwMzUsIDEyMDU1OCwgMCwgMCwgMTgxNCwgMCwgMTAyNDAsIDkyMzM4LCA3NDMwNSwgMCwgNzQ1MjgsIDY1OTAzLCAKLSAgICAwLCA0MjY0NiwgNzYwNiwgMjU5MSwgMjgzNywgNDM0MSwgNzc5NTYsIDY0NDgyLCAxMjczMzcsIDgxNjMsIDY1MjcwLCAwLCAKLSAgICA3NzkzMiwgMCwgOTExMiwgNzQ0MzEsIDg2MywgOTQ5MCwgMTE5ODk4LCAxMjgzNDksIDQzMzIzLCAxMjA1MTMsIDExOTg5NywgCi0gICAgOTA3MSwgMTI3MzMzLCAwLCAzNjU0LCA3Nzg5LCA5NjM3LCAwLCAyNTM1LCA2NTUwNCwgNzY1MywgNDA5OTMsIDExOTg5OSwgCi0gICAgNjY1ODcsIDE5NTA5OCwgMCwgOTI0MDEsIDk4Mzg5NCwgMTEwMDYsIDEyOTI3LCA3ODA3LCA4MDczLCAwLCAxMDYyOSwgMCwgCi0gICAgNzQwODgsIDMwNTYsIDEwODIzLCAxMjg3OTcsIDEyNzMyNywgODc2MiwgMTA1MDgsIDY5Njg5LCA3Mzc3MCwgNDM5NjksIAotICAgIDQzMTkzLCAxMDczNywgMzQ2MywgOTgzMDY1LCAwLCA2NjYzMywgODY5NSwgNDgxNSwgMTEzMjIsIDU4MTEsIDEyMzQ1LCAKLSAgICA3MDQ5LCAxMTk5MTEsIDUxOTUsIDE5NTA4MSwgMCwgNjY2MzksIDAsIDAsIDAsIDEyODA0MSwgMCwgOTIzODUsIDEyNjIsIDAsIAotICAgIDY1NjEsIDE5OTM5LCAwLCAwLCAxMjg1MzUsIDExOTkwNiwgMCwgMCwgOTgzMDk3LCAwLCA5ODM2NjcsIDExOTkwNywgCi0gICAgNjQ2MTIsIDExOTkxLCAwLCAwLCAwLCAxNTAyLCA5MTc1NjgsIDAsIDkxMDcsIDEyNzMxNiwgNTcwMiwgMzY1NSwgNjc2NjEsIAotICAgIDg0MzAsIDAsIDc0MTMyLCAxMjA3NTgsIDAsIDc0MDU3LCA5NjAzLCAwLCA1MjU0LCAxMjA3NDIsIDc3MjQsIDc0Mzg4LCAKLSAgICA2ODM3NSwgMTA3OTYsIDUxMjksIDAsIDAsIDU5MCwgNzU3OSwgNTYxNCwgNTg5MywgOTIyODAsIDExNzIwLCA5MjQ5NiwgCi0gICAgMTE3MjEsIDAsIDQ3OTgsIDAsIDExOTMxNiwgNjYwMzgsIDQ3OTMsIDY3ODUxLCAxMTcyNiwgMTI3NTQxLCA3NDIwNCwgCi0gICAgNjg2MTAsIDAsIDY4NjI2LCA4OTQsIDMwMCwgOTE3ODEzLCAxMjMwNiwgNjYyMzUsIDgwMDQsIDAsIDAsIDI1NjIsIAotICAgIDEyNjU1NSwgMCwgNDI1MDMsIDAsIDExNjUyLCAwLCAwLCAxMTkyNDEsIDY0Njk5LCAxMjY1NjksIDUwOTYsIDUwOTUsIAotICAgIDI4NjMsIDM0MjQsIDkyMjQ0LCAxMDQ1NCwgNDI1MzAsIDUwOTQsIDExOTYzOCwgMCwgMTMxNTYsIDAsIDEwODMyLCA1MDkzLCAKLSAgICAwLCA2OTg1MiwgMCwgNTA5MiwgMTA3MDgsIDExMzI3LCAwLCA1MDkxLCAxNzYsIDAsIDkxNTMsIDQxMDQsIDc4NTk5LCAKKyAgICAxMjMyMCwgMCwgMTI1MDAyLCAxOTQ1NjMsIDAsIDg5MTUsIDI3NTksIDk0NSwgNjY4OSwgOTMwNjQsIDAsIDAsIDExODc5OCwgCisgICAgMTI5MSwgNzQ4MjgsIDAsIDAsIDk1MzEsIDEzMTU1LCA4NTA1LCA2ODM3OSwgMTIwNjIsIDEyODE5OCwgMCwgNjU0ODcsIAorICAgIDkyMTg5LCA0MTgzNywgMTIwNjExLCA4MjQ2LCAwLCA5MzA2NiwgMCwgMTIwNDMzLCAwLCA2MzkzNSwgNzM5NjIsIDEyMDgwNiwgCisgICAgNjQ3ODcsIDQzNTI0LCAwLCA2NDQyNiwgMCwgMTk0OTQ4LCAwLCAwLCA2NTY2NCwgNjY5MywgOTg0MywgMCwgODY3NCwgCisgICAgMTE5ODg3LCAxMjg4MTIsIDkyNzE1LCA3MDc4OCwgMTMyMCwgMCwgMTY3MywgNDgxMSwgOTIzODMsIDU5ODYsIDkzMzgsIAorICAgIDMwNDYsIDc0NDgwLCA1OTg1LCA5MTc5MjgsIDExOTU5OCwgOTgyMCwgMTE5ODkyLCAxMjE4NywgOTgzODQxLCA3MTA0MSwgCisgICAgNTk4NCwgMCwgNDMzMDgsIDQzOTMsIDY3NjUwLCA5ODMyMjcsIDAsIDEyNTExMiwgMCwgNzQ4MjYsIDY0NzMzLCAwLCAKKyAgICAxMjc4OTgsIDM0OTEsIDY3MTQ2LCA5ODM3MTAsIDEyODIxOSwgMzUxNCwgNjU0ODUsIDcyNDI4LCA3NDkyLCAwLCA3NDYwNSwgCisgICAgOTI0ODMsIDc1MTQsIDk4MzM2NywgMCwgMTk0NzMxLCA3NTAyLCA3NTg3LCA2ODM1MywgNjM5MjEsIDAsIDYzOTI1LCAwLCAKKyAgICA3NjEwLCAyMTksIDAsIDc4NzIyLCA2OTIsIDQzNTg4LCA2ODQ4NSwgNDE2MzUsIDQzMjQxLCA5Njg4LCA3MTQ3LCA5NTM1LCAKKyAgICAwLCA5Mzk5MSwgMCwgNjQ1MzAsIDAsIDY0NjEwLCAxMTgwNCwgMCwgNzE0OSwgNzQ1MywgMCwgODAxMywgMCwgOTIzMDEsIDAsIAorICAgIDg4OTUsIDUyNTMsIDcwMDI1LCA1NDU4LCAwLCAyODY2LCAxMjkwNDUsIDEyNzg2MCwgMTEwOTgsIDY4NDMzLCA2NzAwLCAKKyAgICAxMjA0ODQsIDAsIDEyMDU4MywgMCwgODk2MiwgNzc5NjAsIDk2NDEsIDQzNjk0LCA3MDU5LCA5ODM2NzcsIDYzOTk3LCAKKyAgICA5NjA0LCA3ODcwMCwgNzQ0MSwgNjM4MjYsIDY3OTcwLCAxMTg5NDEsIDY0MzkyLCA5MjYyNiwgOTgzNjg3LCAyODQ0LCAKKyAgICA3NDYxMCwgNDE5NzQsIDY3Mzk3LCAxMjEzOSwgNjc5NzEsIDAsIDAsIDMzNTgsIDY1Mjk1LCAwLCAzMTA0LCAxOTQ3MzQsIDAsIAorICAgIDE5NDc2NSwgOTgzMjMzLCA1MzA4LCAwLCAyOTAsIDAsIDAsIDI4NjIsIDI3OTIsIDE5NTA4OCwgOTI5NjMsIDAsIDMyNjgsIAorICAgIDY2NTkxLCAwLCA2NTUyLCA0MjM2NywgNzAzNSwgMTIwNTU4LCAwLCAwLCAxODE0LCAxMjg1NzIsIDEwMjQwLCA2NjI4NSwgCisgICAgNzQzMDUsIDEyODM4MiwgNzQ1MjgsIDY1OTAzLCAwLCA0MjY0NiwgNzYwNiwgMjU5MSwgMjgzNywgNDM0MSwgNDM1MTMsIAorICAgIDY0NDgyLCAxMjczMzcsIDgxNjMsIDY1MjcwLCAwLCA3NzkzMiwgMCwgOTExMiwgNzQ0MzEsIDg2MywgOTQ5MCwgMTE5ODk4LCAKKyAgICAxMjgzNDksIDQzMzIzLCAxMjA1MTMsIDExOTg5NywgOTA3MSwgMTI3MzMzLCAwLCAzNjU0LCA3Nzg5LCA5NjM3LCAwLCAKKyAgICAyNTM1LCA2NTUwNCwgNzY1MywgNDA5OTMsIDExOTg5OSwgNjY1ODcsIDEyNDk4NywgMCwgOTI0MDEsIDk4Mzg5NCwgMTEwMDYsIAorICAgIDEyOTI3LCA3ODA3LCA4MDczLCAwLCAxMDYyOSwgMTI3ODY5LCA3NDA4OCwgMzA1NiwgMTA4MjMsIDEyODc5NywgMTEzNzYyLCAKKyAgICA4NzYyLCAxMDUwOCwgNjk2ODksIDczNzcwLCA0Mzk2OSwgNDMxOTMsIDEwNzM3LCAzNDYzLCA5ODMwNjUsIDAsIDY2NjMzLCAKKyAgICA4Njk1LCA0ODE1LCAxMTMyMiwgNTgxMSwgMTIzNDUsIDcwNDksIDExODgxMSwgNTE5NSwgMTk1MDgxLCAwLCA2NjYzOSwgCisgICAgOTI5MzksIDAsIDAsIDEyODA0MSwgNjc5MDMsIDY3NzM5LCAxMjYyLCAxMjAxNjUsIDY1NjEsIDE5OTM5LCAwLCAwLCAKKyAgICAxMjg1MzUsIDExOTkwNiwgMCwgMCwgOTgzMDk3LCAwLCA5ODM2NjcsIDExOTkwNywgNjQ2MTIsIDExOTkxLCAwLCAwLCAKKyAgICA5Mjk0MywgMTUwMiwgOTE3NTY4LCAxMjc5ODgsIDkxMDcsIDEyNzMxNiwgNTcwMiwgMzY1NSwgNjc2NjEsIDg0MzAsIDAsIAorICAgIDcxMjIzLCAxMjA3NTgsIDAsIDc0MDU3LCA5NjAzLCAxMjgwNzksIDUyNTQsIDEyMDc0MiwgNzcyNCwgNzQzODgsIDY4Mzc1LCAKKyAgICAxMDc5NiwgNTEyOSwgMCwgNzA4MTYsIDU5MCwgNzU3OSwgNTYxNCwgNTg5MywgOTIyODAsIDExNzIwLCA5MjQ5NiwgMTE3MjEsIAorICAgIDcwODA0LCA0Nzk4LCAwLCAxMTkzMTYsIDY2MDM4LCA0NzkzLCA2Nzg1MSwgMTE3MjYsIDEyNzU0MSwgNzQyMDQsIDY4NjEwLCAKKyAgICAwLCA2ODYyNiwgODk0LCAzMDAsIDkxNzgxMywgMTIzMDYsIDY2MjM1LCA4MDA0LCAwLCAxOTUwNTYsIDI1NjIsIDcwMTU2LCAKKyAgICAwLCA0MjUwMywgMTI4ODY0LCAxMTY1MiwgMCwgMCwgMTE5MjQxLCA2NDY5OSwgMTI2NTY5LCA1MDk2LCA1MDk1LCAyODYzLCAKKyAgICAzNDI0LCA5MjI0NCwgMTA0NTQsIDQyNTMwLCA1MDk0LCA3MDg3MywgMCwgMTMxNTYsIDEyOTA1NywgMTA4MzIsIDUwOTMsIDAsIAorICAgIDY5ODUyLCA3MjQzMCwgNTA5MiwgMTA3MDgsIDExMzI3LCAwLCA1MDkxLCAxNzYsIDAsIDkxNTMsIDQxMDQsIDc4NTk5LCAKICAgICA3ODYwMSwgMTIxNSwgNDI3MTIsIDU3NDQsIDEyMjcyLCA5ODMyLCAxMTc3NywgNzEyOTksIDEyNzM3MSwgNDI4ODEsIDAsIAotICAgIDg5ODAsIDExODk4OCwgNjc4NjEsIDg4NDQsIDcyMDksIDAsIDAsIDQyNzgsIDAsIDAsIDE5NDc4OSwgMCwgOTA3NCwgNDM0OCwgCi0gICAgMCwgNjU1NTgsIDY1OTQ2LCA4MTEzLCA3MDg3LCA1MjU1LCAxNzg2LCA2NjEsIDAsIDAsIDAsIDc0NDIzLCA3MTM0NSwgNTg2LCAKLSAgICA3NDQxNCwgNjQzNTksIDEyNjcsIDEyODI2OSwgNjU0NjgsIDAsIDY1NzMxLCAwLCAxMjcxNzksIDM2MjEsIDEyMDQ3MywgCi0gICAgNjY2NjYsIDY0MjExLCAwLCA2NTYyLCAxMjkyOCwgMCwgMTIyOCwgNjU0OTAsIDExMzgzLCAwLCAwLCAwLCAxNzE0LCAKLSAgICA3NDQwNiwgMTI3ODMxLCAwLCA5ODM5MjEsIDAsIDY2MjI1LCAwLCAwLCA0MjY2MCwgMTE0MzYsIDIwNzAsIDY0LCAxMjA2OTQsIAotICAgIDAsIDEwMjkxLCAxMDMyMywgMjgyNiwgMCwgMCwgMCwgNDIwMDgsIDk3MDgsIDQyNzEwLCAwLCA0MjAxMSwgNDE5OTksIAotICAgIDkyMTY0LCAxMjIwNiwgNTgzOSwgMTcwMiwgMTI0MCwgNzQwNjUsIDYyODYsIDAsIDk4Mzk2OSwgNjU4MzMsIDc3ODQ4LCAwLCAKLSAgICAxNzY1LCAwLCAwLCA2NTU4OCwgMCwgMCwgMCwgODQwMSwgMCwgNDIwMTQsIDAsIDcwMzAsIDE5NDcwNCwgMTA0NzksIAotICAgIDY0OTU5LCAyODUyLCAwLCAwLCAwLCAwLCAxMjg1ODYsIDkxNzk1MSwgNjk2MywgMCwgMTI2NjcsIDY0NTQwLCA3NDc4NiwgCi0gICAgMTAxNDcsIDEyOTM1LCAxMjc1NjgsIDEyNjQ4MywgMCwgMCwgMCwgNzg3NTcsIDAsIDAsIDAsIDAsIDk5OTQsIDEyNDY3LCAKLSAgICAyODY0LCA2NDcxOSwgMTE0OCwgMTA0MzUsIDExNDYyLCA0MTY3NSwgNzA4NCwgMjc2NSwgMCwgNDMzODIsIDAsIDEyMDcxOSwgCi0gICAgMTI4MTg4LCA5MjUxNiwgNjY2NjIsIDAsIDc4MTMzLCA5MzY0LCAxOTQ2ODUsIDc0NDE2LCAwLCAwLCA3Nzk4OCwgMjYzLCAKLSAgICAxMDQ0OSwgNDEyODgsIDAsIDQxODM5LCA3ODM4NywgOTgzNzQyLCA3Nzk4NiwgMCwgNjkzMSwgNjk3MjIsIDY0MzU1LCAKLSAgICA3MTc3LCA3MDEwNSwgMCwgMCwgMCwgNDI2MiwgMTAyODUsIDEwNzIyLCA0MjAyMCwgMTI2NTc1LCA2ODA2LCA2OTkyLCAKLSAgICA0MjAxOSwgMCwgNDEyOTAsIDk4MzcxNiwgNzUwLCAwLCA3MTMwNCwgMTAxNjMsIDYzOTEzLCA3MTMwMCwgNzAzMiwgNTk1NCwgCi0gICAgNjQ5MzEsIDQzMTQsIDAsIDE5OCwgNjg0NTMsIDczMCwgMTIwMDk0LCA2MzkwNywgNzc5OTMsIDc4ODkxLCAxMzE2NSwgCi0gICAgNzEwNywgNzQxNzEsIDQyODA0LCA2NzgsIDgyNDAsIDc4MDE1LCAxMjg3ODQsIDQxMzc4LCAxMTAwOCwgNjkzOCwgNzAwMjYsIAotICAgIDkyNjM3LCAyMDk3LCA2NjI0NiwgMTIwNTYwLCAwLCAwLCAwLCAzODkyLCA2ODYzMiwgNjk2NDIsIDY3MTIsIDY2MDQ1LCAKLSAgICA0MTQ3MCwgNjQ4MDUsIDAsIDAsIDEyODIxNSwgNjQ4MDEsIDAsIDQ5NywgMTIxMDAsIDU5NTMsIDkyNjY3LCA3Nzk2LCAKLSAgICA2OTY2OSwgNDMyNTQsIDczODMxLCAwLCAxMDI5MywgNTk1MiwgMTI4MSwgNDM3NDcsIDAsIDAsIDEwNjc3LCA2MDQsIAotICAgIDQxMDk3LCA5MTgyLCAxODU5LCAwLCA5MjYwMywgMzQyNSwgMTI3NDg4LCAwLCAyODM2LCAwLCAwLCA5NzA3LCAwLCA0MzIwMiwgCi0gICAgMCwgMCwgNjUxOTksIDE3MzgsIDkxNzgxOCwgMTI4MTU4LCAyODMyLCA5MjcwMiwgOTY3MCwgMTI5MzcsIDAsIDY2Mzc0LCAKLSAgICA5MTc5NTYsIDAsIDI4MjIsIDY4MTIyLCA0NDM2LCA5MjUxOSwgOTgzNzIzLCA3Mzc1MiwgMCwgNjQ4NzIsIDkyMzQwLCAKLSAgICAxMzMxLCAwLCAwLCAwLCAxMjcwOCwgMCwgNTA5MCwgNTA4OSwgMTI3OTc3LCAwLCAxMTkxMDksIDAsIDEyODY4MSwgMzE5LCAKLSAgICAxMTg4NDcsIDQzNDc5LCA5NDc3LCAwLCAwLCA1MDg3LCA5MjMyNSwgNzY0MCwgOTYsIDUwODYsIDAsIDkyMzc5LCAwLCAKLSAgICA1MDg1LCA2NDI4NiwgOTI2NjUsIDAsIDQxNDIyLCAwLCAxMTk5MDEsIDQyMzU2LCAzNzcyLCAwLCAwLCA1MDExLCAwLCAwLCAKLSAgICAxMjY1ODcsIDAsIDEyNzE2NSwgMTI3MjQxLCA2Njc3LCA3NjAxLCAwLCA1OTEsIDY0NDE5LCAxMTg5NTMsIDkyMjYyLCAwLCAKLSAgICAxMTg5MjMsIDcwMDg0LCAwLCAxMDkzOSwgNjEwNiwgNjkzMywgNDEyNzEsIDY3NjAsIDcxMzQzLCA0NTM0LCA0MTI3MCwgCi0gICAgMTI4ODc2LCAwLCA2NTU3NCwgMCwgOTIyNCwgNjk4NTMsIDM2NzEsIDg5NzYsIDEyNjQ3NCwgMCwgNDEyNzUsIDYzNzIsIAotICAgIDEyODA4NCwgNTUyNjEsIDc5NjMsIDYzNzEsIDAsIDU2OCwgMCwgNDEyNzMsIDk4MzczMCwgMCwgNjcyOCwgMCwgOTcxNSwgMCwgCi0gICAgODI1OCwgMTE3NTMsIDc0ODIwLCAwLCA5NjAyLCAxMTg5MTksIDQyLCAwLCA0MzY4OCwgMCwgMCwgNzQ1OCwgMCwgMCwgCi0gICAgNjUzODUsIDExOTkwMCwgMCwgMTE5NTgsIDAsIDkxNzgyMiwgMCwgNjI1NCwgNDI3MjEsIDY2MzM2LCA4MDQ1LCAxMTU1MCwgCi0gICAgMCwgMCwgOTgzNTk3LCA0Mjg1OCwgMTE3ODksIDY1ODY4LCA1NTU3LCAxMDEzMywgOTczNywgMTMxMDksIDAsIDk0NjcsIAotICAgIDU1NTgsIDg4NzgsIDEyODEzNiwgMTk1MDM2LCA3NDUxLCA2NzA2LCAxMDE0NiwgMCwgOTA4NiwgNjQ1NjYsIDAsIDY0NTg0LCAKLSAgICA3NDM3LCA3NDU0LCAxMjU5NCwgMTI4NjkwLCA2ODM2MiwgNDU0NiwgNzczMSwgMCwgNzAwNDgsIDc0MjQzLCAwLCAzODA1LCAKLSAgICAwLCAxOTQ1NjUsIDQ0MDAxLCA0MTAwOCwgMCwgNjMwNywgMTk5NDksIDk4Mzc5MCwgNzU0NCwgOTgzMDQ1LCA0MzQ2OSwgMCwgCi0gICAgMCwgMTAxNTIsIDY0NDIyLCA2NTA5MSwgMTE5MTEzLCA3NjAyLCA2NDcyOSwgMCwgNDM1MjEsIDAsIDQyMzAyLCA0MzcxMSwgCi0gICAgNDM1MjMsIDQxNDQ3LCA1NTU5LCAwLCA4NzA0LCAyMzk3LCA1NTU2LCAwLCAwLCAwLCA5MDExLCA5NjMwLCA5MjYzMywgMCwgCi0gICAgOTM5OTgsIDU1MDYsIDAsIDE5MTEsIDY2NjUyLCAwLCA5OTYxLCA4ODQ1LCA2NjY5OCwgMCwgMTA3OTIsIDg4ODksIDAsIAotICAgIDIwOTgsIDAsIDY0NzUxLCAwLCA2NjYyMiwgMCwgMCwgNzQzNjQsIDAsIDAsIDk4MzgwNSwgNzQzNjUsIDc1NTIsIDAsIDAsIAotICAgIDY1Mzg0LCA3MjIzLCA0NTU5LCAwLCAxOTU2LCA0MzEzOCwgNzAyNCwgNjU3MjgsIDY0NTAxLCAxMjEwLCAxOTUwNzcsIAotICAgIDY1MTc1LCAxMDE4NCwgNDMxNDAsIDQzNjU0LCAwLCAwLCAwLCAzOCwgODUzMywgNjY2NjksIDExOTEyNCwgOTgzMjkzLCAKKyAgICA4OTgwLCAxMTg5ODgsIDY3ODYxLCA4ODQ0LCA3MjA5LCAwLCAwLCA0Mjc4LCAxMjg4MDksIDAsIDEyNzk0NywgNzA4MjEsIAorICAgIDkwNzQsIDQzNDgsIDAsIDY1NTU4LCA2NTk0NiwgODExMywgNzA4NywgNTI1NSwgMTc4NiwgNjYxLCAwLCAwLCAwLCA3NDQyMywgCisgICAgNzEzNDUsIDU4NiwgNzQ0MTQsIDY0MzU5LCAxMjY3LCAxMjgyNjksIDY1NDY4LCAwLCA2NTczMSwgMCwgNzI0MDUsIDM2MjEsIAorICAgIDkyOTMyLCA2NjY2NiwgNjQyMTEsIDAsIDY1NjIsIDEyOTI4LCA5ODM4OTEsIDEyMjgsIDY1NDkwLCAxMTM4MywgMCwgMCwgCisgICAgNzAzNDMsIDE3MTQsIDc0NDA2LCAxMjA3NTEsIDAsIDk4MzkyMSwgMCwgNjYyMjUsIDEyODYwOCwgNzA4NjcsIDQyNjYwLCAKKyAgICAxMTQzNiwgMjA3MCwgNjQsIDEyMDY5NCwgMCwgMTAyOTEsIDEwMzIzLCAyODI2LCAxMTM4MDksIDkxNzYyOSwgMCwgNDIwMDgsIAorICAgIDk3MDgsIDQyNzEwLCAwLCA0MjAxMSwgNDE5OTksIDkyMTY0LCAxMjIwNiwgNTgzOSwgMTcwMiwgMTI0MCwgNzQwNjUsIAorICAgIDYyODYsIDk2ODksIDk4Mzk2OSwgNjU4MzMsIDc3ODQ4LCAwLCAxNzY1LCAwLCAwLCA2NTU4OCwgMCwgMCwgMCwgODQwMSwgCisgICAgOTgzOTI0LCA0MjAxNCwgMCwgNzAzMCwgMTk0NzA0LCAxMDQ3OSwgNjQ5NTksIDI4NTIsIDAsIDAsIDAsIDcwODE5LCAKKyAgICAxMjg1ODYsIDkxNzk1MSwgNjk2MywgMCwgMTI2NjcsIDY0NTQwLCA3NDc4NiwgMTAxNDcsIDEyOTM1LCAxMjc1NjgsIAorICAgIDEyNjQ4MywgMTI3NzgyLCAwLCAwLCA3ODc1NywgMCwgMTEzODE1LCAxMjg5NjgsIDAsIDk5OTQsIDEyNDY3LCAyODY0LCAKKyAgICA2NDcxOSwgMTE0OCwgMTA0MzUsIDExNDYyLCA0MTY3NSwgNzA4NCwgMjc2NSwgNzg0NjYsIDQzMzgyLCAwLCAxMjA3MTksIAorICAgIDEyODE4OCwgOTI1MTYsIDY2NjYyLCAwLCA3ODEzMywgOTM2NCwgMTk0Njg1LCA3NDQxNiwgMTI3Nzk3LCAwLCA3Nzk4OCwgCisgICAgMjYzLCAxMDQ0OSwgNDEyODgsIDAsIDQxODM5LCA3ODM4NywgOTgzNzQyLCA3Nzk4NiwgMTI5MTQwLCA2OTMxLCA2OTcyMiwgCisgICAgNjQzNTUsIDcxNzcsIDcwMTA1LCAwLCAwLCAwLCA0MjYyLCAxMDI4NSwgMTA3MjIsIDQyMDIwLCAxMjY1NzUsIDY4MDYsIAorICAgIDY5OTIsIDQyMDE5LCAwLCA0MTI5MCwgOTgzNzE2LCA3NTAsIDAsIDcxMzA0LCAxMDE2MywgNjM5MTMsIDcxMzAwLCA3MDMyLCAKKyAgICA1OTU0LCA2NDkzMSwgNDMxNCwgMTI4NjAwLCAxOTgsIDY4NDUzLCA3MzAsIDEyMDA5NCwgNjM5MDcsIDc3OTkzLCA3MDgxOCwgCisgICAgMTMxNjUsIDcxMDcsIDc0MTcxLCA0MjgwNCwgNjc4LCA4MjQwLCA3ODAxNSwgMTI4Nzg0LCA0MTM3OCwgMTEwMDgsIDY5MzgsIAorICAgIDcwMDI2LCA5MjYzNywgMjA5NywgNjYyNDYsIDEyMDU2MCwgNzA4MjMsIDE5NDk5MCwgOTgzNjA0LCAzODkyLCA2ODYzMiwgCisgICAgNjk2NDIsIDY3MTIsIDY2MDQ1LCA0MTQ3MCwgNjQ4MDUsIDAsIDk4MzIxMywgMTI4MjE1LCA2NDgwMSwgMCwgNDk3LCAKKyAgICAxMjEwMCwgNTk1MywgOTI2NjcsIDc3OTYsIDY5NjY5LCA0MzI1NCwgNzM4MzEsIDAsIDEwMjkzLCA1OTUyLCAxMjgxLCAKKyAgICA0Mzc0NywgMCwgMCwgMTA2NzcsIDYwNCwgNDEwOTcsIDkxODIsIDE4NTksIDAsIDkyNjAzLCAzNDI1LCAxMjc0ODgsIDAsIAorICAgIDI4MzYsIDAsIDAsIDk3MDcsIDExMzcxOCwgNDMyMDIsIDAsIDAsIDY1MTk5LCAxNzM4LCAxMjgzMTEsIDY3NzA3LCAyODMyLCAKKyAgICA5MjcwMiwgOTY3MCwgMTExMDEsIDAsIDY2Mzc0LCA5MTc5NTYsIDAsIDI4MjIsIDY4MTIyLCA0NDM2LCA5MjUxOSwgCisgICAgOTgzMDgxLCA3Mzc1MiwgMCwgNjQ4NzIsIDkyMzQwLCAxMzMxLCAwLCAwLCAwLCAxMjcwOCwgOTE3OTU0LCA1MDkwLCA1MDg5LCAKKyAgICAxMjc5NzcsIDk4MzU2MSwgMTE5MTA5LCAwLCA3MDgyNiwgMzE5LCAxMTg4NDcsIDQzNDc5LCA5NDc3LCAwLCAwLCA1MDg3LCAKKyAgICA5MjMyNSwgNzY0MCwgOTYsIDUwODYsIDAsIDkyMzc5LCAwLCA1MDg1LCA2NDI4NiwgOTI2NjUsIDExMzcxNywgNDE0MjIsIAorICAgIDExOTYxNywgMTE5OTAxLCA0MjM1NiwgMzc3MiwgMTE5MDQyLCAwLCA1MDExLCAwLCAwLCAxMjY1ODcsIDAsIDEyNzE2NSwgCisgICAgMTI3MjQxLCA2Njc3LCA3NjAxLCAwLCA1OTEsIDY0NDE5LCAxMTg5NTMsIDkyMjYyLCAwLCA3MDc5OSwgNzAwODQsIDAsIAorICAgIDEwOTM5LCA2MTA2LCA2OTMzLCA0MTI3MSwgNjc2MCwgNzEzNDMsIDQ1MzQsIDQxMjcwLCAxMjg4NzYsIDY3MTM4LCA2NTU3NCwgCisgICAgMTk0OTQ3LCA5MjI0LCA2NzE0MCwgMzY3MSwgODk3NiwgNjcxMzksIDAsIDQxMjc1LCA2MzcyLCAxMjgwODQsIDU1MjYxLCAKKyAgICA3OTYzLCA2MzcxLCAwLCA1NjgsIDkyMzY4LCA0MTI3MywgOTgzNzMwLCA3NDUzMSwgNjcyOCwgMCwgOTcxNSwgMCwgODI1OCwgCisgICAgMTE3NTMsIDc0ODIwLCAwLCA5NjAyLCAxMTg5MTksIDQyLCAxMTE5MSwgNDM2ODgsIDY4MjQzLCAwLCA3NDU4LCAwLCAwLCAKKyAgICA2NTM4NSwgNjcxMzUsIDY3MTM0LCAxMTk1OCwgMTExNjUsIDkxNzgyMiwgMTI1MDg3LCA2MjU0LCA0MjcyMSwgNjYzMzYsIAorICAgIDgwNDUsIDExNTUwLCAwLCA2NzEzMiwgNjcxMzEsIDQyODU4LCAxMTc4OSwgNjU4NjgsIDU1NTcsIDEwMTMzLCA5NzM3LCAKKyAgICAxMzEwOSwgMCwgOTQ2NywgNTU1OCwgODg3OCwgNDM4NDQsIDE5NTAzNiwgNzQ1MSwgNjcwNiwgMTAxNDYsIDAsIDkwODYsIAorICAgIDY0NTY2LCAwLCA2NDU4NCwgNzQzNywgNzQ1NCwgMTI1OTQsIDczNzQ5LCA2ODM2MiwgNDU0NiwgNzczMSwgMCwgNzAwNDgsIAorICAgIDc0MjQzLCAxMjUwOTIsIDM4MDUsIDAsIDY3MTI4LCA0NDAwMSwgNDEwMDgsIDEyODA1MiwgNjMwNywgMTk5NDksIDY3MTI5LCAKKyAgICA3NTQ0LCA5ODMwNDUsIDQzNDY5LCAwLCAwLCAxMDE1MiwgNjQ0MjIsIDY1MDkxLCA2NzEyNCwgNzYwMiwgNjQ3MjksIDAsIAorICAgIDQzNTIxLCAwLCA0MjMwMiwgNDM3MTEsIDQzNTIzLCA0MTQ0NywgNTU1OSwgNjg0ODMsIDg3MDQsIDIzOTcsIDU1NTYsIDAsIAorICAgIDAsIDAsIDkwMTEsIDk2MzAsIDExMTY2LCAwLCA5Mzk5OCwgNTUwNiwgOTI0OTgsIDE5MTEsIDY2NjUyLCA2NzY4NiwgOTk2MSwgCisgICAgODg0NSwgNjY2OTgsIDY4MzI1LCAxMDc5MiwgODg4OSwgMCwgMjA5OCwgMCwgNjQ3NTEsIDEyODM2MCwgNjY2MjIsIAorICAgIDk4MzEyMiwgMCwgNzQzNjQsIDExMzcwOCwgMTI5MTUyLCA5ODM4MDUsIDQyOTA5LCA3NTUyLCAxMjg2MjIsIDAsIDY1Mzg0LCAKKyAgICA3MjIzLCA0NTU5LCA5MzAxNSwgMTk1NiwgNDMxMzgsIDcwMjQsIDY1NzI4LCA0MzQ5MCwgMTIxMCwgMTk1MDc3LCA2NTE3NSwgCisgICAgMTAxODQsIDQzMTQwLCA0MzY1NCwgMCwgMCwgMTI1MDQ1LCAzOCwgODUzMywgNjY2NjksIDExOTEyNCwgOTgzMjkzLCAKICAgICA5ODM3OTIsIDAsIDQzNTcsIDAsIDExOTgzNywgOTE3ODYzLCA3NDIzMywgOTk2NywgNzg4ODQsIDQyODYwLCAxMTk4MzgsIAotICAgIDEwOTQxLCA2NTcyMSwgNjk2MiwgMCwgMCwgMTE5MzI0LCAwLCAxMTAxNCwgMTI3OTcyLCA4OTQyLCAxMjAwMCwgNjkyMjQsIAotICAgIDkyMjY3LCAxMjg1MzYsIDExOTc0LCA5MjIxMywgNDI3NzIsIDEyNzUxOCwgMTE2NTAsIDUwMTMsIDkyNjYzLCAxMjY1ODMsIAotICAgIDY2MjEwLCAxMTg5MTQsIDY2MTMsIDkyNDc2LCAwLCA0MzgxOSwgOTgzNzcwLCAwLCA2NDcxNCwgMCwgMCwgMTIxNjIsIAotICAgIDEyMTIwLCA0MzQ3NiwgOTgzNzY2LCAxMTAyNCwgNzQ4MTEsIDY2MjI4LCAxMDU2MywgMCwgMTI3MTk2LCA0MzUyMiwgMjQ2MiwgCi0gICAgMCwgMTgzNywgMCwgNjM5NzIsIDY5NTcsIDAsIDEyMDU1OSwgNDk1MiwgNjU3MTgsIDY1ODI3LCA1NTA0LCA2NTcyMCwgCi0gICAgNjU3MTQsIDY1NzE1LCA2NTcxNiwgMCwgMTI3MDA1LCAxMjcxMTksIDMxMDksIDYzOTc1LCA3NDAyOCwgMCwgODEwNywgCi0gICAgMTE5MjM0LCAxMTI3LCA0NTUsIDAsIDYzOTY4LCAxMjc5MjQsIDM0ODMsIDExOTU5MywgMTk4OSwgMCwgNjk2NzgsIDkxMDQsIAotICAgIDM1MDMsIDY1Mzc1LCA5MjUwOSwgNjY5NCwgNDI2MzMsIDE4NjQsIDAsIDc0MzA2LCA0MTQ0NiwgMjU0MCwgNzczNiwgMCwgCi0gICAgNzQwNjQsIDAsIDEwNTIxLCAwLCA0MjE3MywgOTcwNSwgNzQxMjQsIDg2MDQsIDY5NTUsIDEwOTE2LCA0MzY4NCwgNjE0OSwgCi0gICAgMzg4NywgMTk5NTYsIDE0MTEsIDI4MjQsIDAsIDEwMTA2LCAxMjc4NjIsIDE0MDMsIDEyODgzOSwgMTM0NywgOTYzMSwgCi0gICAgNzQ0NDQsIDAsIDAsIDAsIDAsIDg2NDAsIDAsIDI1OCwgMTY1NCwgMCwgMCwgMCwgNDMzMTQsIDAsIDAsIDQwNDIsIDExNDc4LCAKLSAgICAyODczLCA2Mzk3NywgMTE1MjIsIDQxNjY4LCA4NTQ5LCAxMDg2MSwgMCwgNjM5NzYsIDAsIDY4NjIzLCAwLCA3NDU4NSwgCi0gICAgNDEzOTEsIDAsIDkxNzkwMywgMzc2LCA2OTg3LCA5MjIxLCAwLCAwLCA4ODIzLCAxMjg2OTcsIDEyOTQzLCA2NTE4NSwgCi0gICAgNDE4NjksIDEyNjE5LCAwLCAxMDE1NCwgOTgzMDQzLCA3NDQzOSwgMjAzOSwgMCwgNzQ0NiwgMTY4NCwgNjM5NzksIDEwOTc0LCAKLSAgICA0NTgsIDEyMDYyMCwgMCwgNjk3OTEsIDEyNzE2MSwgMTE5MTYsIDY1MDE2LCAwLCA2OTY3MSwgNDIxMTUsIDk4MzEzMywgCi0gICAgMTIyODgsIDc4MDU3LCAwLCAxNDkzLCA0MjExMSwgNzU1MywgNDA5NywgMTI4MTk5LCAxMzA4MCwgMCwgNjU4MDgsIDY2MTAsIAotICAgIDYwMzAsIDgwNTksIDc1MDgsIDEzMTMxLCAwLCA5ODM0MzEsIDAsIDg3OTQsIDQxMjc4LCA0MTYyOSwgMTIxNTQsIDEyODE5MiwgCi0gICAgNDEyNzcsIDY0NjU4LCAwLCA2NDM4MCwgNjYyNSwgNzQzNTQsIDE5OTA0LCAwLCAwLCAwLCA2NTM3MSwgNzA3OCwgMCwgODMzLCAKLSAgICAwLCA2MzY5LCAwLCAxMDk3OSwgNDE5NTMsIDAsIDQxNDM0LCA2MDYyLCAwLCAwLCAxOTkxNiwgNjkxMywgOTMzLCAxMzQxLCAKLSAgICA5ODQyLCA2NzIwLCA2NTc0NCwgMCwgOTgzNTkyLCAxMjgyOTUsIDAsIDc0MDUsIDEwMTA1LCA2NTgxMCwgMCwgNDE2MzIsIAotICAgIDc0OTMsIDU1MjkwLCAwLCA0MTYyMiwgMCwgMCwgMTE5NTU2LCA3NDU4NCwgNzYzMiwgOTcxNiwgMTk5NTQsIDk4MDUsIAotICAgIDU5OTAsIDkwMCwgMCwgNjM5NTcsIDAsIDAsIDM2MTIsIDAsIDY0Mzc2LCA5Mzk4NywgNTM4OSwgOTI1OTcsIDAsIDY1OTM4LCAKLSAgICAyODM5LCA5NjIxLCA1ODIsIDAsIDc0MzY4LCAzNzQ5LCA2OTQ5LCA3NTY5LCA3NDA2MSwgMCwgMCwgNjk1NiwgNDQwMywgCi0gICAgMTk5NjIsIDY1NTU5LCAzMjk5LCAwLCA5MTc1NjYsIDExOTEyNywgOTAwMiwgMCwgNzQzNzIsIDc0MjM2LCA4NDc4LCA3NTk4LCAKLSAgICA1NDYsIDQyNDY5LCA2NTU2OSwgMTkxOCwgOTU0MiwgNDcyLCA3NzE2LCAxMDMxOSwgMTAzODMsIDY5OTYsIDAsIDYzOTUyLCAKLSAgICA4NDI1LCAzNjAyLCA4MzI4LCAxMTc2NCwgMTE4ODk0LCAwLCA2OTc5NiwgNDExODMsIDEyOTA3LCAxMDI3MSwgMTAyODcsIAotICAgIDY4NCwgNDM1MjUsIDAsIDI4NTQsIDExOTU4NiwgNDU5MiwgNjU3NTUsIDAsIDkyMjU2LCAxMTk2MywgNDM2MjAsIDAsIAotICAgIDc4MjQ5LCAwLCAxMjg1NTEsIDEyODgwOSwgOTg4MSwgNDMxMTUsIDY1NzU3LCAzNDE1LCAxMTkxMzEsIDAsIDg2NDgsIDAsIAotICAgIDY3NDEsIDQzMDQ3LCAwLCAxMzE4MCwgMTI4NTE3LCA0MTgsIDkxNzk3MiwgNjQ0OTUsIDEwMjk1LCAxMDMyNywgMTAzOTEsIAotICAgIDQxNzUyLCA3NDMzOSwgODY0MSwgNDE0NDksIDAsIDc0MTAwLCAwLCAxMDkxMSwgNjk0MiwgMCwgMTAyNCwgNDI4NDksIAotICAgIDQxNzUxLCA2OTc3NiwgODk0MSwgOTgzNTU2LCA0NTU0LCAwLCA5MDIzLCAxMTY4NSwgMCwgOTkyOCwgNzg2MTcsIDAsIAotICAgIDExNDM3LCA0Mzc0MSwgOTIxNjMsIDEyMDcwMCwgNjM5NjcsIDk4MzQ4MywgNDEyMDYsIDEyMDcyNCwgOTA0OSwgNDExODUsIAotICAgIDQzMTY2LCAwLCAxMTY4MCwgOTI2MTksIDExNjg2LCA3ODU0NCwgNjUyMjQsIDQ1NjUsIDQ2NTUsIDExOTU1MywgMCwgCi0gICAgOTIxODMsIDY0NTIzLCAxMDM0MywgMTA0MDcsIDAsIDY2NjcxLCAxMTQ2NiwgMCwgMTI4MDAzLCA0Mjg5MCwgNzQwMTMsIAotICAgIDEyMDUwLCA2ODIwMSwgMjg2MCwgMCwgMCwgMCwgNDI3OTIsIDU3NDMsIDEwNDI0LCAxMjA2NSwgNDI4NzIsIDAsIDkyMzQyLCAKLSAgICAwLCA4ODc1LCAwLCAwLCA5MTc5OTEsIDc1MzEsIDEyODQ3LCAyNDEzLCAwLCA3ODYzNSwgOTYyLCAwLCAxMjg1NSwgNDExOTYsIAotICAgIDQyNTY0LCAwLCAxNTgyLCA5ODM3MTUsIDU1MDgsIDAsIDAsIDAsIDEwODAxLCA2OTg3NiwgOTIzNTQsIDAsIDcxNzMsIDQ5NiwgCi0gICAgMTA0MzksIDQzMTMsIDY0NjA3LCA2OTYzOCwgNzg2MCwgMCwgOTA2LCA0Mjc5MywgMjg0MiwgNjQwNSwgNjQ3MjIsIDEzMTMyLCAKLSAgICA3OTgsIDY0Njk0LCAxMjgwMSwgODQwNiwgMTE1MywgOTIxNzMsIDY0Nzg4LCAwLCA4MDU0LCA5MTc0LCAxMjg2NTIsIAotICAgIDkxNzk3NiwgOTk2NCwgNzQ0MDksIDQxNjExLCA0NjQyLCA2NjU3NCwgMTE1NTYsIDkxNzk4MiwgMCwgNzg4NTcsIDQyMDg5LCAKLSAgICA3ODg1NSwgOTAwOCwgMCwgMTI2NTkyLCAxOTUwOTYsIDQyMDc5LCA5MTc5ODEsIDc3OTI0LCA0MjUxMywgNzc5MjcsIAotICAgIDQyODQyLCA3Mzk4NSwgNjUyODUsIDExODk3NCwgMTI3MDAzLCA5ODM3MDIsIDAsIDAsIDAsIDExMzM1LCA2NDA2OSwgCi0gICAgNDIwOTMsIDM5MjAsIDAsIDAsIDAsIDAsIDQ1ODAsIDQxOTY3LCA5ODM3MzIsIDY0Mzg0LCA5MjE2NywgOTM5ODQsIDMwMjEsIAotICAgIDQyMDA0LCAwLCAwLCA0MjMxNywgNDE5OTgsIDAsIDY5NDYsIDAsIDAsIDAsIDEyODE5MywgNjUyMDQsIDAsIDY4MTEzLCAKLSAgICA0MjY5MCwgOTg4MCwgNDIwMTAsIDc0ODI0LCA2NDU4OSwgMTAxMTEsIDY0ODc1LCAxMjc4ODAsIDY4Mzk5LCA0Mzk5OCwgCi0gICAgMTEzNjAsIDAsIDAsIDAsIDExODgyNiwgNDIxNDksIDAsIDAsIDAsIDY0OTQxLCA3NzkxOSwgMTIwNDIxLCAxMjgwNzcsIDAsIAotICAgIDU1MjQ3LCA0MTEwLCA2NjAwNSwgNjk1OSwgMTA5MjksIDExOTExMCwgMCwgNjY3MDMsIDc3OTIxLCA4NjE3LCA0MTk4MiwgCi0gICAgNjAyNSwgNjkyNDIsIDk4MzE3NiwgMCwgMCwgMCwgOTU5NywgNDIwOTksIDQzMTcyLCA5ODMzNzYsIDEwMTE3LCA5ODMxNjksIAotICAgIDkyMjk3LCA0MTYzNiwgMCwgMCwgMTIwNjgxLCA4MzAxLCAwLCAwLCAxODcsIDAsIDY1NjY5LCAxMjgzMzksIDQ5NjMsIDAsIAotICAgIDEyNzUxNywgMCwgODk2NCwgNjU2NzYsIDc3NzUsIDAsIDQxOTQ4LCAwLCAwLCAwLCA0MTk0MiwgNjU0NDksIDMxNjAsIAotICAgIDEwMDgxLCAxMzIyNiwgNDIxMjEsIDQyNDc1LCA0MjY2MywgMTI4MjEwLCA0MTc2NiwgMTE5MTE0LCA2NTg4MiwgNzg4NDksIAotICAgIDQxNzYwLCAxMTg5LCA5MDUsIDQ4MCwgMTA5ODUsIDQxNzMzLCA2Nzg1OSwgOTYyOSwgNjc0MiwgMTc0NSwgNDM2MjUsIAotICAgIDczODM1LCA3ODg4LCAwLCAzOTgwLCAwLCA0MjY1NiwgNDE1MDcsIDg4MDYsIDcwMjMsIDAsIDc0Mjc5LCA5NDQ3LCA3ODY1MSwgCi0gICAgNzg2NywgNjkyMTgsIDYyMzYsIDk4MzEzNCwgMCwgMTA1MDUsIDAsIDEyODUxLCAxMTg5NDgsIDM0OCwgNTQ3NCwgMTI4ODQzLCAKLSAgICAzMTAzLCAwLCA0MTc1MywgMTI4NTQwLCAwLCAwLCA3ODg0NCwgNzg4NDUsIDQxNzM5LCA3ODg0MywgNDI1MTUsIDEwOTMxLCAKLSAgICA0MTc1NiwgNDMzNDcsIDQyNTYwLCA1MzkxLCA0MTc0NiwgMTE5MTQ3LCA5MjU5MSwgNDEyNTksIDU1NjEsIDY5OTMwLCAKLSAgICAyNjkxLCAwLCA2NTU1MywgNzkzMywgNTU2MiwgNjk4MDAsIDEyODI2NSwgNDEyNjIsIDEyODE0NiwgNjQ0MjEsIDc0ODQ2LCAKLSAgICA0MTI1MSwgMCwgMCwgMzk3OSwgMCwgMCwgNzQ4MTMsIDk4MzczOSwgMCwgMCwgMCwgOTI1MjQsIDQxMjY2LCAwLCA2NjU2NiwgCi0gICAgMTI4ODM2LCAxMDU4NSwgNjU3NDEsIDQxNzM3LCA5NTc0LCAyNjY2LCAwLCA0MTczOCwgODMxLCA0MTksIDEzMTI2LCAKLSAgICAxMDcxNiwgMCwgNDI4MjIsIDAsIDY0MzQsIDAsIDY5MzksIDc3NjYsIDY0MzIsIDEyODEwNiwgNjk5MzIsIDkxNiwgNzY5LCAKLSAgICA0MTc0MiwgMTE5NjgsIDc0ODA1LCA2NDMzLCA1NTYzLCA1NDcsIDE5NDMsIDY0MzksIDU1NjAsIDQ5OTQsIDQ4NywgCi0gICAgMTI2NTM3LCA0NDk3LCAzNzU0LCAxMjcwNTYsIDEyMDQyNCwgOTAzOSwgMCwgNDE3NzYsIDAsIDg3MTYsIDE1OTUsIDQxNjE1LCAKLSAgICAwLCAwLCA3NDI2MCwgMCwgNDI4NTQsIDQzMjE5LCAxMjg3MDksIDk4MzQ2MCwgMTIxODUsIDEyODg3OSwgNzAwNzIsIAotICAgIDY4MzU1LCA2ODM1NywgMCwgNDI4NTYsIDg2MzQsIDAsIDk4MzM5NywgNDIwOSwgMTIwNzAyLCAwLCA2NTg3OSwgNDE1MzgsIAotICAgIDY1NjEyLCAxMjc1NDMsIDY2OSwgNTY3OSwgMCwgNjk3ODYsIDkyNTQwLCAwLCA5ODM0NjQsIDU2NzgsIDExODIxLCAwLCAKLSAgICA2NzExLCA0NjAsIDAsIDAsIDk4MzQ2MSwgMCwgMTIwNzQ3LCAwLCAwLCA3ODA1MCwgMTE5MDIyLCAwLCA5ODM0NjIsIDAsIAotICAgIDc3ODIsIDkwNDQsIDQ5NzQsIDExNzYwLCA3ODQ5NCwgNzU3NywgNjU3MTEsIDQxOTEyLCAxMjE2LCAwLCAxMjgwNzksIAotICAgIDU3OTIsIDAsIDAsIDc4NTAxLCAwLCAyOTMzLCAxMjI0NCwgMCwgNTY4MywgOTgzMzkyLCAwLCA3ODExOSwgMTU0OSwgMCwgMCwgCi0gICAgMTIwMzk4LCA1NjgyLCA2MjA2LCA4NjcwLCAxMDI1NiwgNTY4MCwgNjk5MzUsIDEwMDAxLCAxMjg1MTIsIDY5NzY4LCAxNDQ5LCAKLSAgICAxMDI0MSwgNzgyOTAsIDEyODIyOCwgMCwgMTA1NTIsIDY0MzQyLCA0MTkyMiwgMTI4NTQ4LCA4NTg0LCA2ODAzMCwgNTU2NywgCisgICAgMTA5NDEsIDY1NzIxLCA2OTYyLCAwLCAwLCAxMTM4MDgsIDAsIDExMDE0LCAxMjAxMjYsIDg5NDIsIDEyMDAwLCA2OTIyNCwgCisgICAgOTIyNjcsIDEyODUzNiwgMTE5NzQsIDY3MzYzLCA0Mjc3MiwgNDI2NTAsIDExNjUwLCA1MDEzLCA5MjY2MywgMTI2NTgzLCAKKyAgICA2NjIxMCwgMTE4OTE0LCA2NjEzLCA5MjQ3NiwgMCwgMTExOTMsIDk4Mzc3MCwgMCwgNjQ3MTQsIDAsIDcwODAyLCAxMjE2MiwgCisgICAgMTIxMjAsIDQzNDc2LCA5ODM3NjYsIDExMDI0LCA3NDgxMSwgNjYyMjgsIDEwNTYzLCA5Mjk1NCwgMTI3MTk2LCA0MzUyMiwgCisgICAgMjQ2MiwgOTI5NTUsIDE4MzcsIDEyNTA4NiwgNjM5NzIsIDY5NTcsIDAsIDExMzgyMCwgNDk1MiwgNjU3MTgsIDY0NDA1LCAKKyAgICA1NTA0LCA2NTcyMCwgNjU3MTQsIDY1NzE1LCA2NTcxNiwgMCwgMTI3MDA1LCAxMjcxMTksIDMxMDksIDYzOTc1LCA3NDAyOCwgCisgICAgMTI3MjEzLCA4MTA3LCA2NzE1NCwgMTEyNywgNDU1LCAwLCA2Mzk2OCwgMTI3ODM1LCAzNDgzLCAxMTk1OTMsIDE5ODksIDAsIAorICAgIDY5Njc4LCA5MTA0LCAzNTAzLCA2NTM3NSwgNjgzMDAsIDY2OTQsIDQyNjMzLCAxODY0LCAwLCA3NDMwNiwgNDE0NDYsIAorICAgIDI1NDAsIDc3MzYsIDkxNzkxNiwgNzQwNjQsIDEyODYwMSwgMTA1MjEsIDcwNzg2LCA0MjE3MywgOTcwNSwgNzQxMjQsIAorICAgIDg2MDQsIDY5NTUsIDEwOTE2LCA0MzY4NCwgNjE0OSwgMzg4NywgMTk5NTYsIDE0MTEsIDI4MjQsIDAsIDEwMTA2LCAKKyAgICAxMjc4NjIsIDE0MDMsIDEyNTA1MywgMTM0NywgOTYzMSwgNzQ0NDQsIDk4Mzc1MywgMCwgOTI5NTEsIDAsIDg2NDAsIDAsIAorICAgIDI1OCwgMTY1NCwgMCwgMCwgMCwgNDMzMTQsIDAsIDAsIDQwNDIsIDExNDc4LCAyODczLCA2Mzk3NywgMTE1MjIsIDQxNjY4LCAKKyAgICA4NTQ5LCAxMDg2MSwgMTI4NDMwLCA2Mzk3NiwgNzAzNzcsIDY4NjIzLCA2NzA4MiwgNjcwODEsIDQxMzkxLCA2NzA4NCwgCisgICAgOTE3OTAzLCAzNzYsIDY5ODcsIDkyMjEsIDAsIDAsIDg4MjMsIDEyODY5NywgMTI5NDMsIDY1MTg1LCA0MTg2OSwgMTI2MTksIAorICAgIDAsIDEwMTU0LCA5ODMwNDMsIDc0NDM5LCAyMDM5LCAwLCA3NDQ2LCAxNjg0LCA2Mzk3OSwgMTA5NzQsIDQ1OCwgMTIwNjIwLCAKKyAgICAwLCA2OTc5MSwgMTI3MTYxLCAxMTkxNiwgNjUwMTYsIDAsIDY5NjcxLCA0MjExNSwgOTgzMTMzLCAxMjI4OCwgNzgwNTcsIAorICAgIDY3MDgwLCAxNDkzLCA0MjExMSwgNzU1MywgNDA5NywgMTI4MTk5LCAxMzA4MCwgMCwgNjU4MDgsIDY2MTAsIDYwMzAsIAorICAgIDgwNTksIDc1MDgsIDEzMTMxLCA2NzA3NCwgNjcwNzMsIDAsIDg3OTQsIDQxMjc4LCA0MTYyOSwgMTIxNTQsIDEyODE5MiwgCisgICAgNDEyNzcsIDY0NjU4LCAwLCA2NDM4MCwgNjYyNSwgNDI5MTEsIDE5OTA0LCAwLCAwLCA3MTE5MywgNjUzNzEsIDcwNzgsIDAsIAorICAgIDgzMywgMCwgNjM2OSwgMCwgMTA5NzksIDQxOTUzLCAwLCA0MTQzNCwgNjA2MiwgMCwgMCwgMTk5MTYsIDY5MTMsIDkzMywgCisgICAgMTM0MSwgOTg0MiwgNjcyMCwgNjU3NDQsIDcxMjAwLCA5ODM1OTIsIDEyODI5NSwgMCwgNzQwNSwgMTAxMDUsIDY1ODEwLCAwLCAKKyAgICA0MTYzMiwgNzQ5MywgNTUyOTAsIDkyODkwLCA0MTYyMiwgMCwgMCwgMTE5NTU2LCA3NDU4NCwgNzYzMiwgOTcxNiwgMTk5NTQsIAorICAgIDk4MDUsIDU5OTAsIDkwMCwgMCwgNjM5NTcsIDExOTYzOCwgMCwgMzYxMiwgMCwgNjQzNzYsIDkzOTg3LCA1Mzg5LCA5MjU5NywgCisgICAgMCwgNjU5MzgsIDI4MzksIDk2MjEsIDU4MiwgMCwgNzQzNjgsIDM3NDksIDY5NDksIDc1NjksIDc0MDYxLCAwLCAwLCA2OTU2LCAKKyAgICA0NDAzLCAxOTk2MiwgNjU1NTksIDMyOTksIDAsIDkxNzU2NiwgMTE5MTI3LCA5MDAyLCAwLCA3NDM3MiwgNzQyMzYsIDg0NzgsIAorICAgIDc1OTgsIDU0NiwgNDI0NjksIDY1NTY5LCAxOTE4LCA5NTQyLCA0NzIsIDc3MTYsIDEwMzE5LCAxMDM4MywgNjk5NiwgCisgICAgNDMwNzcsIDYzOTUyLCA4NDI1LCAzNjAyLCA4MzI4LCAxMTc2NCwgMTE4ODk0LCA5ODM3NTAsIDY1MDY1LCA0MTE4MywgCisgICAgMTI5MDcsIDEwMjcxLCAxMDI4NywgNjg0LCA0MzUyNSwgMCwgMjg1NCwgMTE5NTg2LCA0NTkyLCA2NTc1NSwgOTgzMjc2LCAKKyAgICA2NzEyMCwgMTE5NjMsIDQzNjIwLCA2NzExNywgNzgyNDksIDY3MTIzLCA2NzEyMiwgNjcxMjEsIDk4ODEsIDQzMTE1LCAKKyAgICA2NTc1NywgMzQxNSwgNjk2NzcsIDY3MTE2LCA4NjQ4LCAxMjgzNzcsIDY3NDEsIDQzMDQ3LCA5MTc5NzAsIDEzMTgwLCAKKyAgICA3ODA3NywgNDE4LCAxMjA2NTMsIDY0NDk1LCAxMDI5NSwgMTAzMjcsIDEwMzkxLCA0MTc1MiwgNjY4NDYsIDg2NDEsIAorICAgIDQxNDQ5LCAwLCA3NDEwMCwgMCwgMTA5MTEsIDY5NDIsIDAsIDEwMjQsIDQyODQ5LCA0MTc1MSwgNjk3NzYsIDg5NDEsIAorICAgIDk4MzU1NiwgNDU1NCwgNjY4OTIsIDkwMjMsIDExNjg1LCAwLCA5OTI4LCA2NzEwOSwgNjY4NjUsIDExNDM3LCA0Mzc0MSwgCisgICAgNjcxMTMsIDY3MTEyLCA2Mzk2NywgOTgzNDgzLCA0MTIwNiwgMTI2MjQsIDkwNDksIDQxMTg1LCA0MzE2NiwgMCwgODE1OSwgCisgICAgOTI2MTksIDExNjg2LCA3ODU0NCwgNjUyMjQsIDQ1NjUsIDQ2NTUsIDExOTU1MywgMTI5MDkwLCA5MjE4MywgNjQ1MjMsIAorICAgIDEwMzQzLCAxMDQwNywgOTI3NjQsIDY2NjcxLCAxMTQ2NiwgMCwgMTI4MDAzLCA0Mjg5MCwgNzQwMTMsIDEyMDUwLCA2ODIwMSwgCisgICAgMjg2MCwgMCwgMCwgNzA4MjgsIDQyNzkyLCA1NzQzLCAxMDQyNCwgMTIwNjUsIDQyODcyLCAwLCA5MjM0MiwgNjcxMDMsIAorICAgIDg4NzUsIDAsIDY3MTAyLCA2NzEwNSwgNzUzMSwgMTI4NDcsIDI0MTMsIDExODkxNywgNjc0MDQsIDk2MiwgMCwgMTI4NTUsIAorICAgIDQxMTk2LCA0MjU2NCwgMCwgMTU4MiwgOTgzNzE1LCA1NTA4LCAwLCAwLCAwLCAxMDgwMSwgNjk4NzYsIDkyMzU0LCAKKyAgICAxMTkyMDcsIDcxNzMsIDQ5NiwgMTA0MzksIDQzMTMsIDY0NjA3LCA2OTYzOCwgNzg2MCwgMCwgOTA2LCA0Mjc5MywgMjg0MiwgCisgICAgNjQwNSwgNjQ3MjIsIDEzMTMyLCA3OTgsIDY0Njk0LCAxMjgwMSwgODQwNiwgMTE1MywgOTIxNzMsIDY0Nzg4LCAxMjcwMDcsIAorICAgIDgwNTQsIDkxNzQsIDY3MDg3LCA2NzA4NiwgOTk2NCwgNjcwOTYsIDQxNjExLCA0NjQyLCA2NjU3NCwgMTE1NTYsIDQyNTEyLCAKKyAgICAwLCA3ODg1NywgNDIwODksIDc0NjEzLCA5MDA4LCAwLCAxMjY1OTIsIDE5NTA5NiwgNDIwNzksIDkxNzk4MSwgNzc5MjQsIAorICAgIDQyNTEzLCA3NzkyNywgNDI4NDIsIDczOTg1LCA2NTI4NSwgNjgzMzgsIDEyNzAwMywgOTgzNzAyLCAwLCAxOTQ3NjEsIAorICAgIDk4MzU5MCwgMTEzMzUsIDY0MDY5LCA0MjA5MywgMzkyMCwgMCwgMCwgMTExMTAsIDAsIDQ1ODAsIDQxOTY3LCAxMjkwNDMsIAorICAgIDY0Mzg0LCA5MjE2NywgOTM5ODQsIDMwMjEsIDQyMDA0LCAwLCA5ODMzNzIsIDQyMzE3LCA0MTk5OCwgMCwgNjk0NiwgCisgICAgMTk0NzU1LCA5Mjk2NywgMCwgMTI4MTkzLCA2NTIwNCwgMCwgNjgxMTMsIDQyNjkwLCA5ODgwLCA0MjAxMCwgNzQ4MjQsIAorICAgIDY0NTg5LCAxMDExMSwgNjQ4NzUsIDEyNzg4MCwgNjgzOTksIDQzOTk4LCAxMTM2MCwgMCwgNzQxODIsIDEyODY0OCwgCisgICAgOTI2MzMsIDQyMTQ5LCAwLCA2ODUwOCwgOTE3OTkzLCA2NDk0MSwgNzc5MTksIDEyMDQyMSwgMTI4MDc3LCAwLCA1NTI0NywgCisgICAgNDExMCwgNjYwMDUsIDY5NTksIDEwOTI5LCA0MjkwNywgMCwgNjY3MDMsIDc3OTIxLCA4NjE3LCA0MTk4MiwgNjAyNSwgCisgICAgNjkyNDIsIDk4MzE3NiwgMTk0ODU0LCAxMjUxMzksIDAsIDk1OTcsIDQyMDk5LCA0MzE3MiwgOTgzMzc2LCAxMDExNywgCisgICAgOTgzMTY5LCA5MjI5NywgNDE2MzYsIDE5NDg4OSwgNzM3MzgsIDEyMDY4MSwgODMwMSwgMCwgMCwgMTg3LCAxMjgyMzcsIAorICAgIDY1NjY5LCAxMjgzMzksIDQ5NjMsIDAsIDEyNzUxNywgMCwgODk2NCwgNjU2NzYsIDc3NzUsIDAsIDQxOTQ4LCAxMjUwMDMsIAorICAgIDAsIDAsIDQxOTQyLCA2NTQ0OSwgMzE2MCwgMTAwODEsIDEzMjI2LCA0MjEyMSwgNDI0NzUsIDQyNjYzLCAxMjgyMTAsIAorICAgIDQxNzY2LCAxMTkxMTQsIDY1ODgyLCA3ODg0OSwgNDE3NjAsIDExODksIDkwNSwgNDgwLCAxMDk4NSwgNDE3MzMsIDY3ODU5LCAKKyAgICA5NjI5LCA2NzQyLCAxNzQ1LCA0MzYyNSwgNzM4MzUsIDc4ODgsIDAsIDM5ODAsIDcwMzczLCA0MjY1NiwgNDE1MDcsIDg4MDYsIAorICAgIDcwMjMsIDAsIDc0Mjc5LCA5NDQ3LCA3ODY1MSwgNzg2NywgNjkyMTgsIDYyMzYsIDk4MzEzNCwgMCwgMTA1MDUsIDEyOTEzNSwgCisgICAgMTI4NTEsIDExODk0OCwgMzQ4LCA1NDc0LCAxMjg4NDMsIDMxMDMsIDAsIDQxNzUzLCA3MTEwOSwgMTI4NjA0LCAwLCAKKyAgICA3ODg0NCwgNzg4NDUsIDQxNzM5LCA3ODg0MywgNDI1MTUsIDEwOTMxLCA0MTc1NiwgNDMzNDcsIDQyNTYwLCA1MzkxLCAKKyAgICA0MTc0NiwgMTE5MTQ3LCA5MjU5MSwgNDEyNTksIDU1NjEsIDY5OTMwLCAyNjkxLCA5Mjk0MSwgNjU1NTMsIDc5MzMsIDU1NjIsIAorICAgIDY5ODAwLCAxMjgyNjUsIDQxMjYyLCAxMjgxNDYsIDY0NDIxLCA3NDg0NiwgNDEyNTEsIDAsIDAsIDM5NzksIDcxMjQ4LCAwLCAKKyAgICA2ODMzMSwgOTE3OTEyLCAwLCAwLCAwLCA3NDYzMywgNDEyNjYsIDAsIDY2NTY2LCAxMjg4MzYsIDEwNTg1LCA2NTc0MSwgCisgICAgNDE3MzcsIDk1NzQsIDI2NjYsIDAsIDQxNzM4LCA4MzEsIDQxOSwgMTMxMjYsIDEwNzE2LCAwLCA0MjgyMiwgMCwgNjQzNCwgCisgICAgNzQ4NTcsIDY5MzksIDc3NjYsIDY0MzIsIDEyODEwNiwgNjk5MzIsIDkxNiwgNzY5LCA0MTc0MiwgMTE5NjgsIDc0ODA1LCAKKyAgICA2NDMzLCA1NTYzLCA1NDcsIDE5NDMsIDY0MzksIDU1NjAsIDQ5OTQsIDQ4NywgMTI2NTM3LCA0NDk3LCAzNzU0LCAxMjcwNTYsIAorICAgIDEyMDQyNCwgOTAzOSwgMCwgNDE3NzYsIDAsIDg3MTYsIDE1OTUsIDQxNjE1LCAwLCAwLCA3NDI2MCwgNzQ4NjAsIDQyODU0LCAKKyAgICA0MzIxOSwgMTI4NzA5LCAxMjkwODMsIDEyMTg1LCAxMTM4MTAsIDcwMDcyLCA2ODM1NSwgNjgzNTcsIDY4NDIxLCA0Mjg1NiwgCisgICAgODYzNCwgMCwgMTE5OTg4LCA0MjA5LCAxMjA3MDIsIDc4MDQ2LCA2NTg3OSwgNDE1MzgsIDY1NjEyLCAxMjc1NDMsIDY2OSwgCisgICAgNTY3OSwgMCwgNjk3ODYsIDkyNTQwLCAwLCA3MDQ0NSwgNTY3OCwgMTE4MjEsIDAsIDY3MTEsIDQ2MCwgMCwgMCwgOTgzNDYxLCAKKyAgICA3MDExNCwgMTIwNzQ3LCAwLCAxMjg0MTIsIDc4MDUwLCAxMTkwMjIsIDAsIDk4MzQ2MiwgOTgzMTc0LCA3NzgyLCA5MDQ0LCAKKyAgICA0OTc0LCAxMTc2MCwgNzg0OTQsIDc1NzcsIDY1NzExLCA0MTkxMiwgMTIxNiwgMCwgMTI3MDE3LCA1NzkyLCAwLCAxMjgzMTksIAorICAgIDc4NTAxLCAwLCAyOTMzLCAxMjI0NCwgMCwgNTY4MywgOTE3ODk2LCAwLCA3ODExOSwgMTU0OSwgMCwgMCwgMTIwMzk4LCAKKyAgICA1NjgyLCA2MjA2LCA4NjcwLCAxMDI1NiwgNTY4MCwgNjk5MzUsIDEwMDAxLCA2NzIzNywgNjk3NjgsIDE0NDksIDEwMjQxLCAKKyAgICA3ODI5MCwgMTE5NTg3LCAxOTQ4OTEsIDEwNTUyLCA2NDM0MiwgNDE5MjIsIDcwMzMwLCA4NTg0LCA2ODAzMCwgNTU2NywgCiAgICAgMjcxNywgMCwgMCwgNTU2NCwgNDI4ODYsIDQxOTA4LCA0Mjg4MiwgNTU2NSwgOTgzMjU2LCAxMjgwMjYsIDAsIDY1NzA4LCAKICAgICA2NTcwOSwgNTU2NiwgNjk4MDMsIDY1NzA0LCA2NTcwNSwgMTE5MDQsIDQyODc1LCA0MzM3MywgNDI1MzksIDU5NDIsIDg0NjgsIAotICAgIDEyMDU2MSwgMTAzNjEsIDEwNDI1LCA2NTY5NywgNjU2OTgsIDY1Njk5LCAwLCA2NjU5OCwgMCwgNjQ2NjQsIDEwNjQ3LCAKLSAgICA3ODcwMiwgNzg3MDMsIDc4NjkwLCA0NTcsIDc4NTAyLCA2NTcwMSwgMTkzNCwgNDMwMDYsIDExOTkwMywgODgwMiwgNzg3MTAsIAotICAgIDY1MTMwLCAxMTc0NywgNzg3MDksIDYwODcsIDc4NzA1LCA3ODcxNiwgNDE3NTcsIDc4NzExLCA4MDQzLCA4OTUwLCA2NTY5NCwgCi0gICAgNjQ0ODUsIDQzNTM0LCAxMDQ1NywgMCwgMTE5NjEsIDc4NzI1LCA3ODcyMiwgNzg3MjMsIDc4NzIwLCA3ODcyMSwgMCwgCi0gICAgNjU1MTUsIDk0OTksIDEwMDM1LCAxMzA2OSwgNzEzMDksIDAsIDk4ODksIDY4MTg0LCA0MjgwNiwgMCwgNzI1NiwgMCwgMCwgCi0gICAgMTY2NywgNDIxNjEsIDAsIDQyNDI4LCAwLCA2OTM0LCAwLCAxMDgwMiwgNjQ4NjEsIDY1NTYsIDc4MzkwLCAwLCA4MTAxLCAKLSAgICAzNjEwLCA5ODMxOTksIDQxNzQ4LCA0OTk1LCA5NTUsIDY1OTA3LCAxMTkyMDgsIDUzNTAsIDY0MzM5LCA3ODMwNiwgNjQ1NDksIAotICAgIDEwODc1LCAxMjg2NjIsIDU0NzcsIDY1NjkyLCAwLCAxMjg1MzIsIDEyMDM5NywgMTI4OTYsIDEwNDU2LCA5MTc5NTQsIDAsIAotICAgIDM4NzQsIDAsIDAsIDk4MzYxOSwgMTIwMzMxLCAwLCAwLCA2NTYwMywgMCwgNjU2ODcsIDAsIDQxMDM4LCA3NDAwOSwgCi0gICAgMTE5NTcwLCA0MjIzOSwgODUzNiwgNzg3NDAsIDc4MzI0LCA3ODcyNiwgNzQ0MzIsIDcyNCwgMCwgMTQ1NSwgNzg3NDksIAotICAgIDcxODMsIDY0NTgzLCA3ODc0NywgNjg0NDMsIDQxNzUsIDc4NzQxLCA0MzYxNCwgNjk4MDEsIDkzOSwgMCwgNDM1MjAsIAotICAgIDY4NjEzLCA3NDU2OSwgOTE3OTU4LCAwLCA3ODc2MywgNzg3NjQsIDc4NzYwLCAxMDc4OCwgNjA4OCwgNzg3NTksIDc4NzU1LCAKLSAgICAxOTAsIDAsIDEyNTkzLCAwLCA4MTg4LCA2NDQwOCwgMCwgNDQxNywgOTgzMjEzLCA5MjI2MSwgNjM3MCwgMCwgNzgyNywgCi0gICAgNjg0NDEsIDY5NjUsIDAsIDAsIDEzMjAxLCAxMjgyMDUsIDY5ODk2LCAwLCA3NDM4MiwgNzM3ODEsIDc5MTgsIDczOTg4LCAwLCAKLSAgICAwLCA5MTc4ODQsIDE3MjgsIDAsIDQzNzY0LCAxNzgsIDEyOTcyLCA5MjY3OSwgMCwgOTE3ODg3LCA5MjU2MywgOTgzMzgxLCAKLSAgICAwLCA3ODMyNywgMTIwNDA1LCA2NTY5MCwgMCwgMCwgMTE5MDU0LCAwLCA5MjUyLCA5MTc4ODksIDQ2NTIsIDY4MzcxLCAwLCAKLSAgICAwLCAwLCAxMzA2NSwgOTkyMywgMTA4MDYsIDAsIDExNzYzLCA3MDAxNiwgMTIwNjg4LCA2NzIzLCA3ODE4NywgMCwgNjk5MywgCi0gICAgMCwgMCwgODMzMywgMCwgMCwgMTEzOTAsIDAsIDc0NDY0LCAwLCA5MjMyMCwgNzQwODAsIDk4MzMxNSwgNjk5MTEsIDExOTEwLCAKKyAgICAxMjA1NjEsIDEwMzYxLCAxMDQyNSwgNjU2OTcsIDY1Njk4LCA2NTY5OSwgMCwgNjY1OTgsIDExMDU5MiwgNjQ2NjQsIAorICAgIDEwNjQ3LCA3ODcwMiwgNzg3MDMsIDc4NjkwLCA0NTcsIDc4NTAyLCA2NTcwMSwgMTkzNCwgNDMwMDYsIDExOTkwMywgODgwMiwgCisgICAgNzg3MTAsIDY1MTMwLCAxMTc0NywgNzg3MDksIDYwODcsIDc4NzA1LCA3ODcxNiwgNDE3NTcsIDc4NzExLCA4MDQzLCA4OTUwLCAKKyAgICA2NTY5NCwgNjQ0ODUsIDQzNTM0LCAxMDQ1NywgMCwgMTE5NjEsIDc4NzI1LCA2Njg1MCwgNzg3MjMsIDc4NzIwLCA3ODcyMSwgCisgICAgMCwgNjU1MTUsIDk0OTksIDEwMDM1LCAxMzA2OSwgNzEzMDksIDAsIDk4ODksIDY4MTg0LCA0MjgwNiwgMCwgNzI1NiwgMCwgCisgICAgOTgzMTc5LCAxNjY3LCA0MjE2MSwgMCwgNDI0MjgsIDAsIDY5MzQsIDAsIDEwODAyLCA2NDg2MSwgNjU1NiwgNzgzOTAsIDAsIAorICAgIDgxMDEsIDM2MTAsIDY4NDIwLCA0MTc0OCwgNDk5NSwgOTU1LCA2NTkwNywgMTE5MjA4LCA1MzUwLCA2NDMzOSwgNzgzMDYsIAorICAgIDY0NTQ5LCAxMDg3NSwgMTI1MDUyLCA1NDc3LCA2NTY5MiwgMCwgMTI4NTMyLCAxMjAzOTcsIDEyODk2LCAxMDQ1NiwgCisgICAgNjgyOTgsIDAsIDM4NzQsIDAsIDAsIDk4MzYxOSwgMTIwMzMxLCAwLCAxMTM2NjUsIDY1NjAzLCAwLCA2NTY4NywgMCwgCisgICAgNDEwMzgsIDc0MDA5LCA5MjA3LCA0MjIzOSwgODUzNiwgNzg3NDAsIDc4MzI0LCA3ODcyNiwgNzQ0MzIsIDcyNCwgMCwgCisgICAgMTQ1NSwgNzg3NDksIDcxODMsIDY0NTgzLCA3ODc0NywgNjg0NDMsIDQxNzUsIDc4NzQxLCA0MzYxNCwgNjk4MDEsIDkzOSwgCisgICAgMCwgNDM1MjAsIDY4NjEzLCA3NDU2OSwgOTE3OTU4LCAwLCA3MDE2OCwgNzg3NjQsIDc4NzYwLCAxMDc4OCwgNjA4OCwgCisgICAgNzg3NTksIDc4NzU1LCAxOTAsIDAsIDEyNTkzLCAwLCA4MTg4LCA2NDQwOCwgMCwgNDQxNywgMTI4NjE1LCA5MjI2MSwgCisgICAgNjM3MCwgMTI1MTI4LCA3ODI3LCA2ODQ0MSwgNjk2NSwgMTI4NTgxLCAxMjg4NjgsIDEzMjAxLCAxMjgyMDUsIDY5ODk2LCAKKyAgICA3ODg2OCwgNzQzODIsIDExODQxLCA3OTE4LCA3Mzk4OCwgMCwgMTEzNjY4LCA5MTc4ODQsIDE3MjgsIDAsIDQzNzY0LCAxNzgsIAorICAgIDEyOTcyLCA3NDYyMCwgMTEzNjcxLCA3MTEwMywgMTExNjgsIDk4MzM4MSwgMTEzNjcyLCA3ODMyNywgMTE5OTA0LCA2NTY5MCwgCisgICAgMCwgNzExMDcsIDExOTA1NCwgMCwgOTI1MiwgOTE3ODg5LCA0NjUyLCA2ODM3MSwgMCwgOTE3ODkxLCA3NDA3MCwgMTMwNjUsIAorICAgIDk5MjMsIDEwODA2LCAwLCAxMTc2MywgNzAwMTYsIDEyMDY4OCwgNjcyMywgNzgxODcsIDAsIDY5OTMsIDcxMDQ0LCAwLCAKKyAgICA4MzMzLCAwLCAwLCAxMTM5MCwgMCwgNzQ0NjQsIDAsIDkyMzIwLCA3NDA4MCwgOTgzMzE1LCA2OTkxMSwgMTE5MTAsIAogICAgIDkyNTU5LCA4Mjc4LCA4OTYzLCA0MDM0LCAxMjg1NjAsIDAsIDY1MzQ0LCAxMjA1MTcsIDQxNzQ3LCAwLCAwLCA4Njc3LCAwLCAKLSAgICAxMjcwNywgOTM1MCwgNjYwMzcsIDEyODE4MCwgODgzNiwgMTIzMTUsIDEyNzQ3LCA4MzAwLCA5ODM3NTAsIDAsIDc0OTEsIAorICAgIDEyNzA3LCA5MzUwLCA2NjAzNywgMTI4MTgwLCA4ODM2LCAxMjMxNSwgMTI3NDcsIDgzMDAsIDE5NDU2MiwgMCwgNzQ5MSwgCiAgICAgODg1NiwgNzEzNjEsIDAsIDQzMTUwLCAxMjc3NjgsIDEyMDQwNCwgNjUzODksIDEyMDQwMiwgMTIwNDAzLCAxMDgxMywgCi0gICAgMjU5MiwgMTI4NTMsIDQzMjY5LCA3MjYzLCAxMjAyNDQsIDY1MzYsIDEyMDIzOCwgMTIwMjM5LCA2NTUxNiwgMTIzMjEsIAotICAgIDEyMDM5MSwgMTIwMzg4LCA1NTI4NywgMTAwMDcsIDEyMDI0NiwgOTU4OCwgMTIwMjQ4LCAxNTk2LCAxMjAzODMsIDQxOTk0LCAKLSAgICA2NTgwMSwgMTI4ODA4LCAwLCA2NjU3MiwgMCwgMCwgMTA2MTMsIDY2OTcsIDEyODA1LCA0MTkyOCwgNDA5ODEsIDc4NDAzLCAKLSAgICA3ODQwOSwgNTAwNiwgNjQzMjgsIDAsIDk5MzEsIDAsIDg4MjUsIDc0NTU1LCA2NTk0MCwgNDMyNTksIDAsIDYxMDcsIDAsIAotICAgIDExOTE3NywgMCwgNzg0MDEsIDEyODY0MSwgMTE3ODMsIDMzNSwgMTIwMjI3LCA2NDY4OSwgNDM4LCA0NTEwLCA1NzY1LCAKLSAgICA4NzIxLCAxMjAyMzMsIDExOTIyNywgNjA5MiwgMTI4NDAsIDQzMTEyLCA4ODc2LCAxMjAyMzEsIDgwOTYsIDEwMjg0LCAKLSAgICAxMjg1MTUsIDAsIDAsIDEwMzgwLCA4NzMzLCA5ODMwNzIsIDEyODI0MCwgNDE2MDIsIDAsIDkyMzA4LCA3NDgzMSwgCi0gICAgOTE3OTAxLCAwLCA3Mzc0NywgNjUzOTksIDAsIDY0NTkxLCA0MjQwNSwgMCwgMTIwODIwLCA4NDMsIDExNTQxLCAwLCAKLSAgICA5MTc4OTgsIDIwNjUsIDQxOTM1LCA3NDQ5NiwgNDE5MDIsIDAsIDAsIDIxNSwgNDEyNTgsIDc3ODc1LCA0MzE1OSwgMTk1MywgCi0gICAgOTU3OSwgNDE5MzgsIDEyNTYsIDM5MTAsIDk0MDcsIDYyNDIsIDAsIDk4MzEwMCwgNDEyNTcsIDQxOTAwLCA4Njc1LCAKLSAgICAxMDcwMCwgODgwNSwgMTc0MiwgMCwgOTMzMywgODIwMiwgMTI3NzUwLCAwLCA5ODMxOTcsIDAsIDAsIDczODgyLCA0OTksIAotICAgIDk4MzA0OSwgNDM0NjcsIDAsIDQzODE4LCAwLCAxNzEyLCA1OTMyLCA3Nzg0NSwgNDE3NjIsIDk4MzEwNCwgMCwgMTE5NjcsIAotICAgIDE3NzUsIDAsIDAsIDAsIDAsIDEyODAwOSwgOTQ1OCwgMCwgNjQ3MCwgOTE4MCwgMTIwMzgwLCA0MzE3NiwgMCwgMCwgCi0gICAgNDI3ODIsIDAsIDAsIDAsIDEyODMwOSwgNzQ3NzcsIDEyMDY2OSwgOTQxNCwgMTIwMzgyLCA3Mzc4MiwgNzM5NjksIDU2NSwgCi0gICAgNDI0ODQsIDU3OTQsIDIwMSwgMjY2MiwgNDIyOTIsIDAsIDgyNTQsIDAsIDEwOTc1LCAwLCAxMjA2MjUsIDc0NzYzLCAxMDIyLCAKLSAgICA0MTA4LCAzODgwLCA3NDI0NywgMCwgMCwgOTIyNjMsIDkxNzk4MCwgNzUwNywgMCwgNDMxNDksIDAsIDY1MDMxLCA3OTYxLCAKLSAgICAxNjM2LCAwLCA2NTAyOSwgNjUwMjQsIDAsIDEyNDczLCA2NTM0LCAwLCA5OSwgOTgsIDk3LCAxMjA1NzEsIDY3NTg0LCAKLSAgICA0MDQ5LCA3NDE2MywgMTI3MDY1LCA3MDkwLCAwLCA3ODkyLCA5MTc5NjksIDEwNzc3LCA5MTc4MDMsIDY1MzEwLCA2NTU2MiwgCi0gICAgNjY1OTksIDY2NzIyLCAwLCA4MDM5LCAzMzYzLCA2NjU5NCwgNDM0MzQsIDAsIDAsIDEyNTk2LCA2NjU5NSwgNDIyNTgsIAotICAgIDQyNTcwLCA1NTkzLCAxMTkxNDgsIDEyMDcxMSwgOTI0MjUsIDEwMTAwLCA2MDYxLCA2NDg1NCwgMTE5LCAxMTgsIDExNywgCi0gICAgMTE2LCAxMjk5OCwgMTIyLCAxMjEsIDEyMCwgMTExLCAxMTAsIDEwOSwgMTA4LCAxMTUsIDExNCwgMTEzLCAxMTIsIDEwMywgCi0gICAgMTAyLCAxMDEsIDEwMCwgMTA3LCAxMDYsIDEwNSwgMTA0LCA2NDM2LCA3Mzk3NCwgNTM0LCA0MTIxMiwgNzc5MzEsIDE1MzYsIAorICAgIDI1OTIsIDEyODUzLCA0MzI2OSwgNzI2MywgMTIwMjQ0LCA2NTM2LCAxMjAyMzgsIDcxODkxLCA2NTUxNiwgMTIzMjEsIAorICAgIDEyMDM5MSwgMTIwMzg4LCA1NTI4NywgMTAwMDcsIDEyMDI0NiwgOTU4OCwgNjg0OTQsIDE1OTYsIDEyMDM4MywgNDE5OTQsIAorICAgIDY1ODAxLCAxMjg4MDgsIDY4MzgsIDM1NjEsIDAsIDAsIDEwNjEzLCA2Njk3LCAxMjgwNSwgNDE5MjgsIDQwOTgxLCAxMDgwNCwgCisgICAgNzg0MDksIDUwMDYsIDY0MzI4LCAwLCA5OTMxLCAwLCA4ODI1LCA3NDU1NSwgNjU5NDAsIDQzMjU5LCAxMjY1ODYsIDYxMDcsIAorICAgIDAsIDExOTE3NywgNzc5NDEsIDc4NDAxLCAxMjg2NDEsIDExNzgzLCAzMzUsIDEyMDIyNywgNjQ2ODksIDQzOCwgNDUxMCwgCisgICAgNTc2NSwgODcyMSwgMTE5NTcwLCAxMTkyMjcsIDYwOTIsIDEyODQwLCA0MzExMiwgODg3NiwgMTIwMjMxLCA4MDk2LCAKKyAgICAxMDI4NCwgMTI4NTE1LCAwLCAwLCAxMDM4MCwgODczMywgMTAzMTYsIDcwMTIxLCA0MTYwMiwgMCwgOTIzMDgsIDc0ODMxLCAKKyAgICA5MTc5MDEsIDAsIDY4NDgyLCA2NTM5OSwgMCwgNjQ1OTEsIDQyNDA1LCAwLCAxMjA4MjAsIDg0MywgMTE1NDEsIDEyODMyNiwgCisgICAgNzAzMjEsIDIwNjUsIDQxOTM1LCA3NDQ5NiwgNDE5MDIsIDAsIDk4MzMwNCwgMjE1LCA0MTI1OCwgNzc4NzUsIDQzMTU5LCAKKyAgICAxOTUzLCA5NTc5LCA0MTkzOCwgMTI1NiwgMzkxMCwgOTQwNywgNjI0MiwgMCwgOTgzMTAwLCA0MTI1NywgNDE5MDAsIDg2NzUsIAorICAgIDEwNzAwLCA4ODA1LCAxNzQyLCAxMTM3MjIsIDkzMzMsIDgyMDIsIDcyMzk5LCAwLCA5ODMxOTcsIDEyNzI1MiwgMCwgCisgICAgNzM4ODIsIDQ5OSwgOTgzMDQ5LCA0MzQ2NywgMCwgNDM4MTgsIDAsIDE3MTIsIDU5MzIsIDc3ODQ1LCA0MTc2MiwgOTgzMTA0LCAKKyAgICAwLCAxMTk2NywgMTc3NSwgMTI1MDA2LCAwLCAxMTExOCwgMCwgMTI4MDA5LCA5NDU4LCAwLCA2NDcwLCA5MTgwLCAxMjAzODAsIAorICAgIDQzMTc2LCAwLCAwLCA0Mjc4MiwgMCwgMTI0OTk5LCA5ODMxMzUsIDEyODMwOSwgNzM4NDksIDEyMDY2OSwgOTQxNCwgCisgICAgNzQ2NDcsIDczNzgyLCA3Mzk2OSwgNTY1LCA0MjQ4NCwgNTc5NCwgMjAxLCAyNjYyLCA0MjI5MiwgMCwgODI1NCwgMCwgCisgICAgMTA5NzUsIDQzNTE4LCAxMjA2MjUsIDc0NzYzLCAxMDIyLCA0MTA4LCAzODgwLCA3NDI0NywgMCwgMCwgOTIyNjMsIAorICAgIDkxNzk4MCwgNzUwNywgOTgzMTE4LCA0MzE0OSwgNzEwNTksIDY1MDMxLCA3OTYxLCAxNjM2LCAwLCA2NTAyOSwgNjUwMjQsIAorICAgIDExOTA5OSwgMTI0NzMsIDY1MzQsIDEyMDYzMywgOTksIDk4LCA5NywgNjgyMjYsIDY3NTg0LCA0MDQ5LCA3NDE2MywgCisgICAgMTI3MDY1LCA3MDkwLCAwLCA3ODkyLCA5MTc5NjksIDEwNzc3LCA5MTc4MDMsIDY1MzEwLCA2NTU2MiwgNjY1OTksIDY2NzIyLCAKKyAgICAxOTQ5NTUsIDgwMzksIDMzNjMsIDY2NTk0LCA0MzQzNCwgMCwgNzExOTEsIDEyNTk2LCA2NjU5NSwgNDIyNTgsIDQyNTcwLCAKKyAgICA1NTkzLCAxMTkxNDgsIDEyMDcxMSwgOTI0MjUsIDEwMTAwLCA2MDYxLCA2NDg1NCwgMTE5LCAxMTgsIDExNywgMTE2LCAKKyAgICAxMjk5OCwgMTIyLCAxMjEsIDEyMCwgMTExLCAxMTAsIDEwOSwgMTA4LCAxMTUsIDExNCwgMTEzLCAxMTIsIDEwMywgMTAyLCAKKyAgICAxMDEsIDEwMCwgMTA3LCAxMDYsIDEwNSwgMTA0LCA2NDM2LCA3Mzk3NCwgNTM0LCA0MTIxMiwgNjc3MTMsIDE1MzYsIAogICAgIDY0MDkzLCA3Mzk3MCwgNzc5MzAsIDEyNzE1NywgMCwgNjAyMCwgMTI3MTYsIDEyNzExMiwgMTI3NDQsIDQ3NSwgMTIwMzk0LCAKLSAgICAxMzI2NiwgMTI3ODEzLCAxMjcxMTEsIDAsIDczOTI2LCAwLCAxMDY0NSwgMTIxMiwgNjU0MywgOTgzMzA3LCA4MTM0LCAKLSAgICAxMjgwMjgsIDI5MTMsIDczODcwLCAxMjcxMTMsIDE4NjYsIDk4MzIyOSwgMTk1MDk1LCAwLCA4OTIzLCAxNjQ1LCAxMjA1OSwgCi0gICAgNjY1ODUsIDcxMjk3LCAzMTk2LCAwLCAwLCA1OTM1LCAxMjUwLCAxMjcwNjYsIDgxNzQsIDk3ODcsIDY3MzMsIDk4NTksIAotICAgIDc5MTYsIDk4NjEsIDk4NjAsIDUyNTgsIDE4ODIsIDE4OTIsIDY3MzEsIDEwODgyLCA0MDUsIDExNDU0LCA3MzkxMSwgMCwgCi0gICAgMTI4NzgxLCA0MTE2OSwgODkzOSwgNDEyNDUsIDAsIDQxMTcwLCAxNDU0LCAxMTM2OSwgNjQ3NywgMTIxNTcsIDAsIDAsIDAsIAotICAgIDQxMTcyLCA3ODU1LCAwLCAwLCAxMDQ4MCwgMCwgMCwgNzc5MzYsIDgyNjQsIDEyNjEwLCA5ODMzMDgsIDY0NSwgMTI2NjE2LCAKLSAgICA3NjA5LCA0MDk3MywgNjk5NDMsIDczODMzLCA2OTk0OCwgNTgyNCwgOTg0LCA3NzkxOCwgMTA2ODgsIDU4NTEsIDAsIDc3MjksIAotICAgIDczOTgyLCAxMjA1MTgsIDAsIDE5NTA4NiwgNDMzNjksIDAsIDEyODE0MCwgNjg0MTUsIDk4MzA5MywgNDUzOCwgMTIwNDA2LCAKLSAgICA0MzE0MSwgMCwgOTgzMjEwLCA3NDIxNCwgNzM4ODYsIDAsIDAsIDExODkwMiwgNDMwMDUsIDc4NDQ4LCA5NTUyLCAwLCAwLCAKLSAgICA5ODMxNTksIDEyOTk3LCAwLCAwLCAwLCAwLCAyMzgxLCAxMjg4MywgMTA5OTQsIDEwNTI5LCA0MTkwNiwgMCwgMCwgMCwgCi0gICAgMTI0MjUsIDEwNjYxLCAxMDg1NiwgOTYxNCwgMjQyOCwgNDE0NzgsIDg1ODIsIDEwMDY0LCA3MzkzMCwgMCwgMCwgMCwgCi0gICAgNjQ4OTYsIDExOTE2MiwgMTk1MiwgOTIxODEsIDg0NTUsIDEwMDgyLCAxMTU3NSwgOTgzNDkwLCAxMTk1NjYsIDAsIDEyODA4LCAKLSAgICAxMjE4MywgNjE0NSwgMTE4OTU1LCA2NDkyOSwgOTI0MzMsIDAsIDk4MzE5MywgNDMxODYsIDQyNTA5LCAwLCAzOTIyLCAKLSAgICA5MTg3LCA5ODM2MTQsIDAsIDEwMTkxLCAxMTkwNTcsIDExNzUyLCAzMzUzLCA5MzU4LCAwLCA3MTM2NiwgNjY2ODAsIAotICAgIDEyMDA5MCwgODI0OCwgNzkzMSwgODU1OCwgOTc5NSwgNjgzODAsIDk4MzI5NywgMCwgMTIwMDgyLCAxMjAwODEsIDEyMDA4NCwgCi0gICAgNDEwMjcsIDEyMDA4NiwgMCwgMTIwMDg4LCA3MzY2LCA3MDE5LCAxMjAwNzMsIDAsIDExNzUxLCAxMjAwNzgsIDc4Mjk0LCAKLSAgICA2NDY1NywgODY1NywgMTIwMDQ4LCA4NTk0LCAxMjAwNjgsIDAsIDAsIDEyMDA2OSwgMTIwMDcyLCAxMjAwNzEsIDAsIDAsIAotICAgIDQzMTU0LCA0MTAyOSwgMCwgMTEzMzIsIDY1MzgwLCA3NzI4LCA5NDA3NywgMTEyOTQsIDAsIDY2NjY1LCA3ODUxLCAwLCAKLSAgICA4Mzc1LCA4Njk5LCAwLCA0MjUyNCwgMCwgOTA4NSwgOTQwNDEsIDc1MDQsIDkzMjcsIDYxNjAsIDEyODA5NSwgOTgzODY0LCAKLSAgICAwLCA4MDg4LCAwLCA3NDAxMiwgOTI1MDAsIDAsIDQ0MzksIDY5MjYsIDk4MzA0NywgMTI5MjQsIDEyODIyNywgNDIzNjksIAorICAgIDEzMjY2LCAxMjc4MTMsIDEyNzExMSwgNzg4NDIsIDczOTI2LCA2NjI5MSwgMTA2NDUsIDEyMTIsIDY1NDMsIDk4MzMwNywgCisgICAgODEzNCwgMTI4MDI4LCAyOTEzLCA3Mzg3MCwgMTI3MTEzLCAxODY2LCA5ODMyMjksIDcxODkyLCAwLCA4OTIzLCAxNjQ1LCAKKyAgICAxMjA1OSwgNjY1ODUsIDcxMjk3LCAzMTk2LCA3MjQwNCwgMTk0ODI3LCA1OTM1LCAxMjUwLCAxMjcwNjYsIDgxNzQsIDk3ODcsIAorICAgIDY3MzMsIDk4NTksIDc5MTYsIDk4NjEsIDk4NjAsIDUyNTgsIDE4ODIsIDE4OTIsIDY3MzEsIDEwODgyLCA0MDUsIDExNDU0LCAKKyAgICA3MzkxMSwgMTEzNzg3LCA5MjUyOSwgNDExNjksIDg5MzksIDQxMjQ1LCAwLCA0MTE3MCwgMTQ1NCwgMTEzNjksIDY0NzcsIAorICAgIDEyMTU3LCAwLCAwLCAwLCA0MTE3MiwgNzg1NSwgMCwgMCwgMTA0ODAsIDQzMjU4LCA5MTc4MTksIDc3OTM2LCA4MjY0LCAKKyAgICAxMjYxMCwgOTgzMzA4LCA2NDUsIDEyNjYxNiwgNzYwOSwgNDA5NzMsIDY5OTQzLCA3MzgzMywgNjk5NDgsIDU4MjQsIDk4NCwgCisgICAgNzc5MTgsIDEwNjg4LCA1ODUxLCAwLCA3NzI5LCA3Mzk4MiwgMTIwNTE4LCAwLCAxOTUwODYsIDQzMzY5LCAwLCAxMjgxNDAsIAorICAgIDY4NDE1LCA5MjY0NCwgNDUzOCwgOTM5NzgsIDQzMTQxLCAwLCA5ODMyMTAsIDc0MjE0LCA3Mzg4NiwgNjc3MDksIDkxNzU5OSwgCisgICAgNzE5MTgsIDQzMDA1LCA3ODQ0OCwgOTU1MiwgMCwgNzAxMjksIDEyOTE3MywgMTI5OTcsIDAsIDAsIDAsIDAsIDIzODEsIAorICAgIDEyODgzLCAxMDk5NCwgMTA1MjksIDQxOTA2LCAwLCA3NDYxOCwgMCwgMTI0MjUsIDEwNjYxLCAxMDg1NiwgOTYxNCwgMjQyOCwgCisgICAgNDE0NzgsIDg1ODIsIDEwMDY0LCA3MzkzMCwgMCwgNzA0MzcsIDAsIDY0ODk2LCAxMTkxNjIsIDE5NTIsIDkyMTgxLCA4NDU1LCAKKyAgICAxMDA4MiwgMTE1NzUsIDEyOTA2MiwgMTE5NTY2LCAxMjgwOTMsIDEyODA4LCAxMjE4MywgNjE0NSwgMTE4OTU1LCA2NDkyOSwgCisgICAgOTI0MzMsIDcxOTE2LCA5ODMxOTMsIDQzMTg2LCA0MjUwOSwgMCwgMzkyMiwgOTE4NywgMTI2NTEzLCAwLCAxMDE5MSwgCisgICAgMTE5MDU3LCAxMTc1MiwgMzM1MywgOTM1OCwgOTgzNDYwLCA3MTM2NiwgNjY2ODAsIDEyMDA5MCwgODI0OCwgNzkzMSwgCisgICAgODU1OCwgOTc5NSwgNjgzODAsIDk4MzI5NywgMCwgMTIwMDgyLCAxMjAwODEsIDEyMDA4NCwgNDEwMjcsIDEyMDA4NiwgMCwgCisgICAgMTIwMDg4LCA3MzY2LCA3MDE5LCA3MDM3OCwgMCwgMTE3NTEsIDEyMDA3OCwgNzgyOTQsIDY0NjU3LCA4NjU3LCAxMjAwNDgsIAorICAgIDg1OTQsIDEyMDA2OCwgMCwgMCwgMTIwMDY5LCAxMjAwNzIsIDEyMDA3MSwgMCwgMTEzNzExLCA0MzE1NCwgNDEwMjksIDAsIAorICAgIDExMzMyLCA2NTM4MCwgNzcyOCwgOTQwNzcsIDExMjk0LCAwLCA2NjY2NSwgNzg1MSwgMCwgODM3NSwgODY5OSwgMTI3OTQ5LCAKKyAgICA0MjUyNCwgNjg0MTksIDkwODUsIDk0MDQxLCA3NTA0LCA5MzI3LCA2MTYwLCAxMjgwOTUsIDk4Mzg2NCwgMTk0OTI5LCAKKyAgICA4MDg4LCAxMjg5MzcsIDc0MDEyLCA2NjU2MiwgMCwgNDQzOSwgNjkyNiwgNzI0MjMsIDEyOTI0LCAxMjgyMjcsIDQyMzY5LCAKICAgICA0MzUwLCA2NTQ5MSwgNjUxNDUsIDkwNDEsIDQzNTU5LCA2NDU3NywgMTA4MjYsIDAsIDExMjk2LCA5ODMyODMsIDAsIDAsIAotICAgIDY1ODI1LCA5NTc3LCA2ODE5OSwgMCwgNjQ2NzAsIDk4MzEyMSwgNzgwNTYsIDY3OTMsIDExMjk1LCAwLCA3ODA1MywgCi0gICAgNzM4NzIsIDAsIDAsIDEwOTAyLCAwLCAwLCA3ODA3MCwgNzgwNjgsIDEwNDcyLCAyOTk1LCAwLCAwLCA2NDY4MiwgMjM3MSwgCi0gICAgNzgwNjksIDEyMDgwOCwgMjU5LCAxMDA5LCA5MjE3MSwgMjQwMiwgMjMzMywgNjQ0MCwgMTk0NzQxLCAwLCA2NTEyNSwgCi0gICAgNDEyNDQsIDAsIDEzMjcxLCA5MTAzLCAyMjc4LCAwLCAwLCAwLCAwLCAxMDIxOSwgMCwgMCwgMCwgMCwgNDMxNzgsIAotICAgIDEyNzA3MCwgNDEyNjEsIDExOTM2MiwgNDM2NDAsIDg2MTMsIDAsIDk0MDQ5LCA2NzM2LCAxOTUwOTIsIDQxNDkyLCAxMjAwNSwgCi0gICAgNjk5MjcsIDAsIDE4OTAsIDEyMDA1NiwgMCwgMCwgMCwgNzI5MywgNzk5MSwgMCwgMTA1NzgsIDAsIDc4MDc2LCAxOTQ3MzgsIAotICAgIDc4MDc3LCA2OTkyOCwgMCwgNzg4MDAsIDkyNjUzLCA2NDQ0NSwgNDI2NjgsIDY2MzUsIDAsIDYxNjQsIDY1MTcwLCAwLCAwLCAKLSAgICA3Njc2LCAxMTY2NCwgMCwgOTgzNjU4LCA2OTcwNywgMCwgMTE4ODEyLCAwLCAwLCAxMjgwNDUsIDkxNzUsIDExOTI1LCAKLSAgICA3ODA0NSwgOTA4OCwgMCwgNjQ1NDUsIDEzOTYsIDAsIDc1NDYsIDM4NDcsIDEyNzE3NywgMTI3ODM1LCA0OTg1LCAxMzI4OCwgCi0gICAgNjcyLCA4MDk4LCA0MzE5NiwgMTk0NzQ2LCA5ODMwOTYsIDEyODEyNiwgNDI2NTUsIDc0MDQzLCA2NTA3MiwgMTU3NywgCi0gICAgMTE3NzIsIDEzMDQxLCA1OTI4LCA0NTI1LCAxMDY1OCwgNjU5MTEsIDEyNjYsIDEwMTgwLCAwLCAxMjg1ODQsIDEyNjIyLCAwLCAKLSAgICAwLCAwLCAxOTQ3MTQsIDEyNzEzOSwgMTMzMTAsIDc3MywgMTk5MzMsIDE1MzksIDAsIDEyNjk4MywgNDI3MzEsIDY3OTcyLCAKLSAgICAwLCAwLCAwLCAzMDUxLCA1ODYyLCA3ODIzLCA5MjQ3OCwgMCwgMTIwNDExLCAzMjUwLCA0Mzk5MSwgNjk2ODcsIDY2NjQ5LCAKLSAgICA5NTEwLCA2NjIzNywgOTgzMzAyLCAwLCA0MTA2NiwgNjQ2NzMsIDkxNzk2MywgOTE3OTY0LCAwLCAzNTA1LCA4NzA3LCAKLSAgICA5MTc5NjgsIDY3MjUsIDEyODAxMywgOTE3OTcxLCA5MjMxNCwgMzQ3MSwgOTE3OTcwLCA1NDc5LCA4ODIsIDY2ODYsIAotICAgIDExOTU4NCwgMTE2MTMsIDEyMDc3MiwgNDI3NTQsIDAsIDk4MzMwNiwgOTI2OTYsIDAsIDAsIDAsIDEyODUyMywgMzIyNSwgCi0gICAgOTE3OTk2LCA0NDMzLCA0MTE1NiwgNDM5NzMsIDQzMTczLCAxNDQzLCA0MzgxLCAwLCAwLCAxMDkyNiwgMTE3NTYsIDExNzU3LCAKLSAgICA2NDg3OSwgOTE3OTQ5LCA5MTc5NTAsIDEyNzg0OCwgMTMyMjcsIDAsIDEwMDIxLCA1MTYwLCAxMzg3LCAwLCA5MTc5NTMsIAotICAgIDQxNDE4LCAwLCA2NTkxNCwgNjcyMSwgMjE3LCA5MTc5NTUsIDkxNzk2MCwgOTE3OTYxLCAxMDQ0MywgMTA3ODksIDQxMTU4LCAKLSAgICAxMTkyNTcsIDQyNzQsIDk4MzMwMCwgNDE0ODMsIDAsIDQxMjUwLCAwLCA0MjE3OSwgMCwgNTkzMSwgMTE3NDQsIDY5MjMyLCAKLSAgICAwLCA0MTI1MiwgNjY2ODIsIDAsIDExOTYzNywgNDEyNDksIDEzNjYsIDY0NjM1LCA2NTA0NywgMTI0NjYsIDAsIDAsIDQzOTcsIAotICAgIDEyODAzNywgMTI4MzM2LCA0MTI5NiwgOTU0NSwgNDEyOTEsIDEyODA0OSwgMCwgNDE0ODUsIDM1MTEsIDQxMjgyLCA1OTIzLCAKLSAgICAxMDQwMCwgMCwgMTI4ODE4LCA3NjAsIDAsIDEyMDg4LCA1Nzg2LCAwLCA0MjI1NiwgMTE5ODY5LCAxMTk4NjAsIDQxNywgCi0gICAgNDE0NzQsIDExOTU2MiwgNDE1NjUsIDAsIDU5MzQsIDExOTg2NywgNjY1ODMsIDExOTIzMSwgNjQ4NzcsIDIyODQsIDY0NDgxLCAKLSAgICA3ODYxNCwgNjYwMTMsIDQxOTU2LCA0MzQ1NSwgMTI2OTk1LCAwLCAwLCAwLCA0MjI3MywgNTgxOSwgMCwgOTE3NTU2LCAwLCAKKyAgICA2NTgyNSwgOTU3NywgNjgxOTksIDk4MzM5MSwgNjQ2NzAsIDk4MzEyMSwgNzgwNTYsIDY3OTMsIDExMjk1LCA3MDQwOSwgCisgICAgNzgwNTMsIDczODcyLCA3ODA1NSwgMTE5OTkzLCAxMDkwMiwgMCwgMCwgNzgwNzAsIDExMjAwLCAxMDQ3MiwgMjk5NSwgMCwgCisgICAgMTIwMTM4LCA2NDY4MiwgMjM3MSwgNzgwNjksIDEyMDgwOCwgMjU5LCAxMDA5LCA3MDQwNSwgMjQwMiwgMjMzMywgNjQ0MCwgCisgICAgMTk0NzQxLCAxMTM3NTcsIDY1MTI1LCA0MTI0NCwgNzA0MDcsIDEzMjcxLCA5MTAzLCAyMjc4LCAwLCAxOTQ3MjgsIDAsIDAsIAorICAgIDEwMjE5LCAwLCAxOTQ3NDAsIDAsIDY3NzE4LCA0MzE3OCwgMTI3MDcwLCA0MTI2MSwgMTE5MzYyLCA0MzY0MCwgODYxMywgMCwgCisgICAgOTQwNDksIDY3MzYsIDE5NTA5MiwgNDE0OTIsIDEyMDA1LCA2OTkyNywgMTI3MDY4LCAxODkwLCAxMjAwNTYsIDAsIAorICAgIDEyODQ1MCwgMCwgNzI5MywgNzk5MSwgNzQwNTIsIDEwNTc4LCA5MTc5OTgsIDc4MDc2LCAxMjg2MjAsIDY3MzY4LCA2OTkyOCwgCisgICAgNzE4NTAsIDc4ODAwLCA5MjY1MywgNjQ0NDUsIDQyNjY4LCA2NjM1LCAxMjgzMDgsIDYxNjQsIDY1MTcwLCAwLCAwLCA3Njc2LCAKKyAgICAxMTY2NCwgMCwgOTMwMjUsIDY5NzA3LCA5MzAyMiwgMTE4ODEyLCAwLCA3MTA5NiwgMTI4MDQ1LCA5MTc1LCAxMTkyNSwgCisgICAgNzgwNDUsIDkwODgsIDExOTE0NSwgNjQ1NDUsIDEzOTYsIDAsIDc1NDYsIDM4NDcsIDcxMDg4LCA5MzAzNywgNDk4NSwgCisgICAgMTMyODgsIDY3MiwgODA5OCwgNDMxOTYsIDE5NDc0NiwgMTIwNzIzLCAxMjgxMjYsIDQyNjU1LCA3NDA0MywgNjUwNzIsIAorICAgIDE1NzcsIDExNzcyLCAxMzA0MSwgNTkyOCwgNDUyNSwgMTA2NTgsIDY1OTExLCAxMjY2LCAxMDE4MCwgMCwgMTI4MzcxLCAKKyAgICAxMjYyMiwgMCwgMTI0OTQ4LCAwLCAxMjg4NTgsIDEyNzEzOSwgMTMzMTAsIDc3MywgMTk5MzMsIDE1MzksIDAsIDEyNjk4MywgCisgICAgNDI3MzEsIDY3OTcyLCAwLCA3MTA2NiwgOTgzMjAwLCAzMDUxLCA1ODYyLCA3ODIzLCA5MjQ3OCwgOTI3NDYsIDEyMDQxMSwgCisgICAgMzI1MCwgNDM5OTEsIDY5Njg3LCA2NjY0OSwgOTUxMCwgNjYyMzcsIDk4MzMwMiwgMCwgNDEwNjYsIDY0NjczLCA5MTc5NjMsIAorICAgIDkxNzk2NCwgMTI4NjM2LCAzNTA1LCA4NzA3LCA5MTc5NjgsIDY3MjUsIDEyODAxMywgOTE3OTcxLCA5MjMxNCwgMzQ3MSwgCisgICAgNjYzOTEsIDU0NzksIDg4MiwgNjY4NiwgMTE5NTg0LCAxMTYxMywgMTIwNzcyLCA0Mjc1NCwgNzQ2MDgsIDk4MzMwNiwgCisgICAgOTI2OTYsIDAsIDAsIDAsIDEyODUyMywgMzIyNSwgOTE3OTk2LCA0NDMzLCA0MTE1NiwgNDM5NzMsIDQzMTczLCAxNDQzLCAKKyAgICA0MzgxLCAwLCAwLCAxMDkyNiwgMTE3NTYsIDExNzU3LCA2NDg3OSwgOTE3OTQ5LCAxOTUwNTMsIDEyNzg0OCwgMTMyMjcsIAorICAgIDEyMDMyMCwgMTAwMjEsIDUxNjAsIDEzODcsIDAsIDkxNzk1MywgNDE0MTgsIDEyODkzMywgNjU5MTQsIDY3MjEsIDIxNywgCisgICAgOTE3OTU1LCA5MTc5NjAsIDkxNzk2MSwgMTA0NDMsIDEwNzg5LCA0MTE1OCwgMTE5MjU3LCA0Mjc0LCAxMTE0MywgNDE0ODMsIAorICAgIDAsIDQxMjUwLCAxMjg5MDQsIDQyMTc5LCAxMjgzNzUsIDU5MzEsIDExNzQ0LCAxMTIxNSwgNzQ0NDYsIDQxMjUyLCA2NjY4MiwgCisgICAgMCwgMTE5NjM3LCA0MTI0OSwgMTM2NiwgNjQ2MzUsIDY1MDQ3LCAxMjQ2NiwgOTgzNDU2LCAwLCA0Mzk3LCAxMjgwMzcsIAorICAgIDEyODMzNiwgNDEyOTYsIDk1NDUsIDQxMjkxLCAxMjgwNDksIDAsIDQxNDg1LCAzNTExLCA0MTI4MiwgNTkyMywgMTA0MDAsIAorICAgIDAsIDEyODgxOCwgNzYwLCAwLCAxMjA4OCwgNTc4NiwgNjgyNTIsIDQyMjU2LCAxMTk4NjksIDY3MTQ1LCA0MTcsIDQxNDc0LCAKKyAgICAxMTk1NjIsIDQxNTY1LCAwLCA1OTM0LCA3NDU3MiwgNjY1ODMsIDExOTIzMSwgNjQ4NzcsIDIyODQsIDY0NDgxLCA3ODYxNCwgCisgICAgNjYwMTMsIDQxOTU2LCA0MzQ1NSwgNjcyNDAsIDE5NDY1NiwgMCwgMCwgNDIyNzMsIDU4MTksIDAsIDkxNzU1NiwgMCwgCiAgICAgMTI2NjQzLCAwLCA2NTkxMCwgMTI3NzQ3LCAxMDI0NiwgMTIwODE2LCA2NTc4NSwgMTIzNywgMTAyNzQsIDQ1NTIsIAotICAgIDExOTU3NiwgMCwgMCwgMTM3NSwgNjY3MDUsIDQzNTczLCA2NTI2MCwgNDIwNjMsIDAsIDQyODExLCAxMDMxMiwgNjk4NDUsIAotICAgIDEyMDc5NCwgNzg0MCwgMCwgNDM2MzAsIDEwMjUyLCAwLCAxMjgxMDQsIDQzMTg1LCAwLCA0Mzk2LCAwLCAxMTk4ODAsIAotICAgIDEwNzY5LCA5Njc2LCAxMTkwNDEsIDAsIDk3NTMsIDAsIDg5NDQsIDAsIDAsIDEwNDczLCAwLCAwLCA2MDcyLCA0MzAyNSwgCi0gICAgMTAyOTksIDAsIDAsIDEyMDYwOCwgNjYzMjYsIDk4MzQ0NywgMTI3Nzk0LCAwLCA0MzgxMSwgOTMzMCwgMTIwNTk2LCA3MjIyLCAKLSAgICAxMDI4MywgMTAzMTUsIDEwMzc5LCA0OTk2LCA5ODM3ODIsIDEzMjgxLCA2NjUxNywgNzg2NSwgMTAwODcsIDc4MzQzLCAwLCAKLSAgICA3ODM0NywgMCwgMCwgNzU2NSwgNjYzNjMsIDEyOTUyLCA2NDgwNiwgNDMxODAsIDc3OTI4LCA3NDE0LCA3NzkyOSwgNDM5ODIsIAotICAgIDc0Mjg4LCA2MjIsIDc0MDIzLCA4ODUsIDQzNDA1LCAxNjAyLCAwLCAwLCA4NTIsIDAsIDEyMTYwLCAwLCAxMDIxMiwgCi0gICAgNjU0MzUsIDAsIDEyMDcxLCA5NjA5LCAxMjE1NiwgOTE3OTgzLCA5MTc5ODQsIDQzNTg2LCAxMTAzNSwgMTA0MTEsIAotICAgIDkxNzk4OCwgMTAyNTUsIDY3MTAsIDEwMjc5LCA0MTk0LCAxMDM3NSwgNzM5MDAsIDAsIDQzMTUsIDEyNjQ0LCAxMjc1MTYsIAotICAgIDc3OTM3LCA0MzYzOSwgNDMzNDMsIDc4Nzc3LCA5MTc5OTgsIDExNTAxLCA0MTE3NywgMTI4Njg5LCAwLCA5MTc3OTIsIDAsIAotICAgIDkyNDEzLCA4NzE1LCAwLCA0MTE3OSwgMCwgNDMzMTMsIDAsIDQxMTc2LCAwLCA5OTQsIDAsIDg0NTIsIDEyNzEwMywgCi0gICAgNzM5NjYsIDAsIDAsIDU5MjEsIDAsIDI1OTcsIDAsIDU5MjIsIDExODkwMywgNzc5NDMsIDQxODYsIDkyNTMxLCAxMTk5NjcsIAorICAgIDExOTU3NiwgOTgzODYzLCAwLCAxMzc1LCA2NjcwNSwgNDM1NzMsIDY1MjYwLCAzMzI5LCAwLCA0MjgxMSwgMTAzMTIsIAorICAgIDY5ODQ1LCAxMjA3OTQsIDc4NDAsIDAsIDQzNjMwLCAxMDI1MiwgMTE5MjQyLCAxMjgxMDQsIDQzMTg1LCAwLCA0Mzk2LCAKKyAgICAxOTUwNTEsIDExOTg4MCwgMTA3NjksIDk2NzYsIDExOTA0MSwgMCwgOTc1MywgMCwgODk0NCwgMCwgMCwgMTA0NzMsIDAsIAorICAgIDEyMDQ3MiwgNjA3MiwgNDMwMjUsIDEwMjk5LCAxMjg0MzYsIDAsIDEyMDYwOCwgNjYzMjYsIDY3NDEyLCA5Mjk1MiwgMCwgCisgICAgNDM4MTEsIDkzMzAsIDEyMDU5NiwgNzIyMiwgMTAyODMsIDEwMzE1LCAxMDM3OSwgNDk5NiwgMTI3OTAyLCAxMzI4MSwgCisgICAgNjY1MTcsIDc4NjUsIDEwMDg3LCA3ODM0MywgMCwgNDMzMjQsIDAsIDAsIDc1NjUsIDY2MzYzLCAxMjk1MiwgNjQ4MDYsIAorICAgIDQzMTgwLCA3NzkyOCwgNzQxNCwgNzc5MjksIDQzOTgyLCA3NDI4OCwgNjIyLCA3NDAyMywgODg1LCA0MzQwNSwgMTYwMiwgMCwgCisgICAgOTgzNzMxLCA4NTIsIDAsIDEyMTYwLCAxMjAyMTIsIDEwMjEyLCA2NTQzNSwgMTI5MDkyLCAxMjA3MSwgOTYwOSwgMTIxNTYsIAorICAgIDkxNzk4MywgOTE3OTg0LCA0MzU4NiwgMTEwMzUsIDEwNDExLCA5MTc5ODgsIDEwMjU1LCA2NzEwLCAxMDI3OSwgNDE5NCwgCisgICAgMTAzNzUsIDQzODUzLCAxMjg1OTksIDQzMTUsIDEyNjQ0LCAxMjc1MTYsIDc3OTM3LCA0MzYzOSwgNDMzNDMsIDY3NDA4LCAKKyAgICAxMjg5NDUsIDExNTAxLCA0MTE3NywgMTI4Njg5LCAxMjg4NjYsIDQzNDMxLCAxMjcwOTcsIDkyNDEzLCA4NzE1LCAwLCAKKyAgICA0MTE3OSwgOTgzMzU2LCA0MzMxMywgMTIwMjMwLCA0MTE3NiwgMCwgOTk0LCAwLCA4NDUyLCAxMjA1MDUsIDczOTY2LCAKKyAgICA2Njg5MCwgNzA4MTIsIDU5MjEsIDAsIDI1OTcsIDAsIDU5MjIsIDExODkwMywgNjY4NzMsIDQxODYsIDkyNTMxLCAxMTk5NjcsIAogICAgIDEyNzEwNSwgNjcxOCwgMCwgNDQwNiwgNzQ2MDEsIDg0ODAsIDkxOTIsIDk3NDcsIDEyNjUzMCwgNDQxMywgOTIxOTYsIAogICAgIDQyMjY4LCAzMTk4LCA1OTI0LCA1OTIwLCA5MjQ2OSwgNjkyMSwgNzgwODEsIDc0MDA3LCA0Mjg2OSwgODQxOCwgMTE2ODEsIAogICAgIDQzMTY5LCAxMDE3NiwgMCwgNzQyLCAwLCAyODkzLCAxMDc3MiwgNjUyNzYsIDU5MzcsIDE5MTQsIDI1NTMsIDExNjgyLCAKLSAgICA2NzU2LCAxMjg1OTAsIDEyODY0NiwgODM2MywgMCwgMjk5MywgNzc3MiwgMzkxNiwgNDMwMSwgMTIwNDk0LCAxMTQxLCAKLSAgICA0MjQwNywgODE1OSwgNzE4LCA3NTcyLCA5NzMsIDAsIDEyMDcxOCwgMzIzNSwgMjQxNSwgNDMxNjQsIDAsIDgwMTgsIAotICAgIDQyMzMzLCA3NDc1NiwgMTA2NzUsIDY5MzcsIDQyNDg2LCA0MzM4MSwgNjUzOTAsIDEwMDY3LCAwLCAxMjAyLCAwLCAwLCAKLSAgICA2NTg2MywgMCwgMCwgOTQwMTMsIDc4MTgyLCA2NDU0MiwgMzI2MCwgNzM4MjksIDY1Mzg4LCA5OTQ1LCA4NDE5LCA3ODA0MiwgCi0gICAgNjczOCwgMCwgNDM2ODEsIDY5NzI4LCAyMDU5LCAwLCAwLCA1NTIzNywgMTQzMSwgMCwgNjY1NjUsIDEwODIxLCAwLCAKLSAgICAxMjgwNCwgMTI4MDc2LCA4MjI5LCAxMjM1LCAzMzA3LCAxMTQ3MiwgNzgwODksIDc4MTg0LCA0NTQ0LCAwLCAwLCAwLCAKLSAgICAxNzQwLCA3ODA5NywgODc1OCwgOTg1LCAxMjg3MiwgNjQ1MTEsIDc4MDk0LCAxMjA2OCwgNzgxMDIsIDAsIDEwMTQxLCAwLCAKLSAgICA2Mzc2MSwgODc4NSwgNDQ3NiwgNzgxMDksIDYzNzYzLCAxMjY1NSwgODkwNywgNzgxMDUsIDc4MTA2LCA3ODEwMywgNzgxMDQsIAotICAgIDAsIDExOTU3MiwgMTA2NjUsIDY0NjE2LCA0MTU3MiwgMCwgMTI3MTYwLCAwLCA0MTU3MywgMCwgMzkzMSwgMTIwMjk1LCAKLSAgICA3NDE0MywgMCwgMCwgMCwgNzg0NjAsIDExOTgyLCAwLCAwLCAwLCAxMjgwMTYsIDY0NDg0LCAwLCA0MTE2NywgMCwgNDE3MzUsIAotICAgIDk0MDE5LCA3MTcsIDEwNzU0LCAwLCAwLCAxMjc5NzksIDAsIDYzNzY3LCAwLCAxNzgwLCA2OTM2LCAwLCA5MjI1NCwgODE5LCAKLSAgICAxMDYxMSwgOTY5NCwgMTI2OTc4LCAwLCAwLCAwLCAwLCA4MzQzLCA4MzQyLCA4MzQ1LCA4MzQ0LCA2NTc4LCA3MDA5LCAKLSAgICA3NTIzLCA2OTIyLCA4MzQ4LCA4MzQ3LCA3NTI1LCAzMzQ2LCA4MzM5LCAxMjgxNjUsIDEyODMzOCwgNTc1LCAyNjgsIAotICAgIDc4MTExLCA4NTYzLCA1NzU0LCAxMjAzNDMsIDQxNTQxLCA2NTU2NSwgODMzNiwgNTkzNiwgNzI5MCwgNzgxMTcsIDgzMzcsIAotICAgIDgzNDEsIDMwOCwgMTEzODgsIDc1MjIsIDEyMDcyMSwgNzgxMjMsIDY1NDY2LCAxMTA5MCwgNjk1MywgMCwgMTIwMzQ2LCAwLCAKLSAgICA3ODEzMiwgNTkyNiwgNzgxMjgsIDc4MTMwLCA3ODEyNiwgNzgxMjcsIDc4MTI0LCA3ODEyNSwgOTAzOCwgNzg4NywgNDM0NTYsIAotICAgIDc4MzAsIDExNjUxLCAxMzA5MywgNjQwMDIsIDAsIDY1NzQyLCAxMjg3NCwgMTE5NTk3LCAxMTU5MCwgMCwgNzQwNDgsIAotICAgIDEyODM1MCwgODU5NSwgMCwgOTE3OTQ3LCA0MzcwMywgMTMwOTcsIDAsIDY0NjQzLCAxMzI4MywgMTI2OTcsIDAsIDEyMzgxLCAKLSAgICAzNDg4LCA1OTMzLCAxMDAzMywgNzM3MzgsIDY2MjQxLCA2NTU3MCwgMCwgMTIyOTcsIDExOTE1MywgMTk1NSwgMCwgNTM0OSwgCi0gICAgNDI1MzgsIDAsIDAsIDc0MTEsIDk0NjIsIDkxNzU1NCwgMCwgMCwgMCwgNDI3MzYsIDAsIDU3NTYsIDk4MzIyMSwgNzYzOCwgCi0gICAgNDE2NDIsIDQyNzY0LCAwLCA0MzEwOSwgNzYzNywgNTc1MiwgNzQwMzcsIDAsIDczODMyLCAxMjg4MjcsIDEyMDYzNSwgCi0gICAgMTI4MjMxLCA3ODMzNCwgMCwgNzYzNiwgNjUxNzEsIDkxMjQsIDAsIDc4ODkyLCAxMjA3OTgsIDI5MSwgMCwgMCwgMjAyNywgCi0gICAgNjYyMzAsIDEwMDgwLCA3ODEzNiwgMTA0MDMsIDAsIDQ2NDAsIDY0NzEzLCAxMDIyNCwgMTIwNDI5LCA0MjUxMiwgMTIwNDMxLCAKLSAgICAxMjA0MzAsIDAsIDEyODM1MSwgMTI3NDg5LCAxMjcxNDgsIDAsIDkyNDk5LCAwLCAxMTkwOTQsIDc0MjEzLCA3ODI0LCAwLCAKLSAgICAwLCA0MTI3NCwgNTc3OCwgNjMwMiwgMCwgMCwgMTI2ODAsIDExOTEzMCwgMTQxNywgNzc4ODksIDE5NDkxNCwgOTQ1MiwgMCwgCi0gICAgNzQzOTMsIDExNTUyLCAwLCAxMjc4NTUsIDEyODIxNywgNjUzOTEsIDAsIDEwMTcyLCA2NTQ1MywgNjM3ODksIDQxMjY0LCAKLSAgICA3ODY1OCwgNjQyNiwgNDY0MSwgOTE3OSwgNjQ4MTksIDU1Mjc4LCA0MTI1NSwgNDIwMzYsIDQxNDY5LCA0MTI2OSwgCi0gICAgMTIwNDEyLCA0MTI2NywgNDY0NiwgMTIwNDI1LCA4NjUsIDQyMDM0LCA3ODI3NCwgNzgyNzMsIDQ2NDUsIDQyMDMzLCAKLSAgICA3ODI3MCwgMTI3OTgyLCA5ODMxNzIsIDY0NzI4LCAwLCA3ODY3MywgNzg2NzQsIDE2NTksIDkxOSwgNDI3ODQsIDE2NzEsIAotICAgIDE5NTA4OSwgNjA2OSwgOTIxOSwgMTI4NTU4LCAxNjYxLCAxMzEyMCwgNjM3ODQsIDY5ODE5LCAxMDE0MCwgOTcxMywgCisgICAgNjc1NiwgMTI1MTA0LCAxMjg2NDYsIDgzNjMsIDAsIDI5OTMsIDc3NzIsIDM5MTYsIDQzMDEsIDEyMDQ5NCwgMTE0MSwgCisgICAgNDI0MDcsIDc0MTcsIDcxOCwgNzU3MiwgOTczLCAxMTk1OTksIDEyMDcxOCwgMzIzNSwgMjQxNSwgNDMxNjQsIDAsIDgwMTgsIAorICAgIDQyMzMzLCA3NDc1NiwgMTA2NzUsIDY5MzcsIDQyNDg2LCA0MzM4MSwgNjUzOTAsIDEwMDY3LCAwLCAxMjAyLCAwLCAKKyAgICA5ODM5MTAsIDY1ODYzLCAwLCA2ODQ4NCwgOTQwMTMsIDc4MTgyLCA2NDU0MiwgMzI2MCwgNzM4MjksIDY1Mzg4LCA5OTQ1LCAKKyAgICA4NDE5LCA3ODA0MiwgNjczOCwgMCwgNDM2ODEsIDY5NzI4LCAyMDU5LCA5MjQyMiwgMCwgNTUyMzcsIDE0MzEsIDk4MzIyNiwgCisgICAgNjY1NjUsIDEwODIxLCAwLCAxMjgwNCwgMTI4MDc2LCA4MjI5LCAxMjM1LCAzMzA3LCAxMTQ3MiwgNzgwODksIDc4MTg0LCAKKyAgICA0NTQ0LCA3MTIyOCwgMCwgOTE3OTc1LCAxNzQwLCA3ODA5NywgODc1OCwgOTg1LCAxMjg3MiwgNjQ1MTEsIDc4MDk0LCAKKyAgICAxMjA2OCwgNzgxMDIsIDcxMjI2LCAxMDE0MSwgMCwgNjM3NjEsIDg3ODUsIDQ0NzYsIDc4MTA5LCA2Mzc2MywgMTI2NTUsIAorICAgIDg5MDcsIDkxNDcsIDc4MTA2LCA3ODEwMywgNzgxMDQsIDAsIDExOTU3MiwgMTA2NjUsIDY0NjE2LCA0MTU3MiwgMTI3OTc5LCAKKyAgICAxMjcxNjAsIDAsIDQxNTczLCAwLCAzOTMxLCAxMjAyOTUsIDc0MTQzLCAwLCAwLCA5ODM3NDMsIDc4NDYwLCAxMTk4MiwgMCwgCisgICAgMCwgMTI4MzgxLCA5MjcxMiwgNjQ0ODQsIDAsIDQxMTY3LCAwLCA0MTczNSwgOTQwMTksIDcxNywgMTA3NTQsIDAsIDAsIAorICAgIDcyNDEzLCA5MjkzNSwgNjM3NjcsIDAsIDE3ODAsIDY5MzYsIDAsIDkyMjU0LCA4MTksIDEwNjExLCA5Njk0LCAxMjY5NzgsIAorICAgIDAsIDAsIDAsIDEyOTA2OSwgODM0MywgODM0MiwgODM0NSwgODM0NCwgNjU3OCwgNzAwOSwgNzUyMywgNjkyMiwgODM0OCwgCisgICAgODM0NywgNzUyNSwgMzM0NiwgODMzOSwgMTI4MTY1LCAxMjgyMDgsIDU3NSwgMjY4LCA3ODExMSwgODU2MywgNTc1NCwgCisgICAgMTIwMzQzLCA0MTU0MSwgNjU1NjUsIDgzMzYsIDU5MzYsIDcyOTAsIDc4MTE3LCA4MzM3LCA4MzQxLCAzMDgsIDExMzg4LCAKKyAgICA3NTIyLCAxMjA3MjEsIDc4MTIzLCA2NTQ2NiwgMTEwOTAsIDY5NTMsIDAsIDEyMDM0NiwgMTI4OTM5LCA3ODEzMiwgNTkyNiwgCisgICAgNjgyNTAsIDc4MTMwLCA3ODEyNiwgNzgxMjcsIDc4MTI0LCA3ODEyNSwgOTAzOCwgNzg4NywgNDM0NTYsIDc4MzAsIDExNjUxLCAKKyAgICAxMzA5MywgNjQwMDIsIDk4MzU1OSwgNjU3NDIsIDEyODc0LCAxMTk1OTcsIDExNTkwLCAwLCA3NDA0OCwgNjczNzksIDg1OTUsIAorICAgIDk4MzUsIDkxNzk0NywgNDM3MDMsIDEzMDk3LCAwLCA2NDY0MywgMTMyODMsIDEyNjk3LCAwLCAxMjM4MSwgMzQ4OCwgNTkzMywgCisgICAgMTAwMzMsIDcxMTAxLCA2NjI0MSwgNjU1NzAsIDAsIDEyMjk3LCA3MTIxMiwgMTk1NSwgMTI3OTcwLCA1MzQ5LCA0MjUzOCwgCisgICAgMCwgMCwgNzQxMSwgOTQ2MiwgOTE3NTU0LCAwLCAxMjg0NjUsIDAsIDQyNzM2LCAwLCA1NzU2LCAxMjgzMjQsIDc2MzgsIAorICAgIDQxNjQyLCA0Mjc2NCwgMCwgNDMxMDksIDc2MzcsIDU3NTIsIDExMjEzLCAwLCA3MzgzMiwgMTI4ODI3LCAxMjA2MzUsIAorICAgIDEyODIzMSwgNzgzMzQsIDAsIDc2MzYsIDY1MTcxLCA5MTI0LCAwLCA3ODg5MiwgMTIwNzk4LCAyOTEsIDAsIDk4MzIyMSwgCisgICAgMjAyNywgNjYyMzAsIDEwMDgwLCA3ODEzNiwgMTA0MDMsIDcwODY5LCA0NjQwLCA2NDcxMywgMTAyMjQsIDEyMDQyOSwgCisgICAgMTExODMsIDEyMDQzMSwgMTIwNDMwLCAwLCAxMjgzNTEsIDEyNzQ4OSwgMTI3MTM4LCAwLCA5MjQ5OSwgMCwgMTE5MDk0LCAKKyAgICA3NDIxMywgNzgyNCwgMCwgMCwgNDEyNzQsIDU3NzgsIDYzMDIsIDAsIDAsIDEyNjgwLCAxMTkxMzAsIDE0MTcsIDY3MjQyLCAKKyAgICA5MzA0MSwgOTQ1MiwgMCwgNzQzOTMsIDExNTUyLCAwLCAxMjc4NTUsIDEyODIxNywgNjUzOTEsIDEyODYxNCwgMTAxNzIsIAorICAgIDY1NDUzLCA2Mzc4OSwgNDEyNjQsIDc4NjU4LCA2NDI2LCA0NjQxLCA5MTc5LCA2NDgxOSwgNTUyNzgsIDQxMjU1LCA0MjAzNiwgCisgICAgNDE0NjksIDQxMjY5LCAxMjA0MTIsIDQxMjY3LCA0NjQ2LCA2Nzc1OSwgODY1LCA0MjAzNCwgNzgyNzQsIDc4MjczLCA0NjQ1LCAKKyAgICA0MjAzMywgNzgyNzAsIDEyNzk4MiwgOTgzMTcyLCA2NDcyOCwgMCwgNzg2NzMsIDc4Njc0LCAxNjU5LCA5MTksIDQyNzg0LCAKKyAgICAxNjcxLCAxOTUwODksIDYwNjksIDkyMTksIDEyODU1OCwgMTY2MSwgMTMxMjAsIDYzNzg0LCA2OTgxOSwgMTAxNDAsIDk3MTMsIAogICAgIDExOTE0MywgMCwgMCwgOTQwNTAsIDIzMDYsIDEwNDg1LCAxMTg5NDMsIDYwNjgsIDEwNjEyLCAxOTUwOTksIDExOTU2NywgCi0gICAgMTk1MTAxLCA5MjU2MSwgNDE0NjIsIDEyMDQ3MCwgMTk1MDc5LCA1NDIyLCAxMjgyMzQsIDk4MzYyOSwgMCwgMCwgMTAyMjksIAotICAgIDEwNjM1LCA4MjYsIDEyODA4MSwgMTk1MDgyLCAxOTUwODUsIDE5NTA4NCwgMTk1MDg3LCA2NDgzLCA5MjIxMSwgMTgwOCwgCi0gICAgNzg0OCwgMCwgODEwMCwgNzgyMjcsIDc4NjY5LCA3ODY3MCwgMTMzMDEsIDc4NjY3LCA5NjY3LCA3ODY2NSwgNzg4NzIsIDAsIAotICAgIDExMDAzLCA5OTA0LCAwLCAwLCAxMjA2OTAsIDkxNDQsIDEwOTIxLCAwLCA3ODY4MCwgOTg0MCwgNjUxMzEsIDc4Njc4LCAKLSAgICA3Nzg0MSwgMTAzMTMsIDAsIDAsIDY0MzIwLCAxMDI2NSwgNzg2ODYsIDEwOTYyLCA3ODY4NCwgNDMwMDgsIDg5NDUsIAotICAgIDc4NjgzLCAwLCA0MSwgMTk1MDcyLCAxNzkyLCAxMjA1MTUsIDE5NTA3MywgODY1NSwgMTk1MDc1LCA5MjU0NCwgNzc5NTEsIAotICAgIDEyMDY2LCAwLCAzODUsIDQxNTIsIDI1ODUsIDEyNzgwNCwgMTE5MDY4LCAzMTI2LCAwLCA3NDEzNiwgMTA5NTcsIDk4MzcwMywgCi0gICAgNDMyNTgsIDExOTExNiwgMTI3ODczLCAxMzE1NywgMCwgOTE3NTQ0LCAzNTcwLCAwLCA3NDQzLCAwLCA0NDAwNiwgNjk5NywgCi0gICAgNjgwMDQsIDEyNjYzMSwgNzg3OSwgODczOSwgMTEwNzUsIDAsIDY1MjE2LCAwLCA2OTc5NSwgMjU5MywgODQ2MywgNzgxMCwgCi0gICAgOTE3ODYyLCA3ODM5LCAxMTk5MTMsIDc4ODA2LCAxMTk5MTIsIDk2OTEsIDQ0MTEsIDc4ODAyLCAwLCAwLCA0MzQ0MiwgCi0gICAgNjk4NTEsIDY1MjU0LCAxMDA2NiwgOTgzODg5LCAwLCAwLCAwLCAxMzA2MSwgODAxNiwgNzg2ODcsIDE5OTMyLCA2NDgzMSwgCi0gICAgMCwgMTE5OTIzLCAxMjM5MCwgMTE5MTcxLCAxNjM0LCA2ODExNSwgMCwgMTEwNTYsIDk4MzU3NCwgMTE5OTI1LCAwLCAKLSAgICA0MTE2NSwgMTEzMjgsIDEyNDUwLCAwLCA0MTE2NiwgMCwgMTI0NTYsIDExOTkxNCwgMTcxLCA1OTQxLCAxMjQ1MiwgCi0gICAgMTk0NzA5LCAxMjQ1OCwgMTI1MzEsIDc4Nzc5LCA0MzAxMywgNjM4MDAsIDc0MTYyLCAxMjc1NjksIDEyMDQ4MywgOTk2OSwgCi0gICAgMTIwNzY3LCAxMjQ1NCwgNjM4MDYsIDQyMTMyLCAxMjA2MywgNzg0MjUsIDc4NDI0LCAzMjMwLCAwLCAwLCAwLCA1MjA5LCAKLSAgICAyOTcsIDU4MTAsIDg1MjIsIDg0MTUsIDExOTkzNywgNzg0MjksIDc4NDI4LCA3MDc3LCAyNDk3LCAxMjg2NTEsIDk2MCwgCi0gICAgNzQxNTYsIDY5ODEsIDkyMzc0LCAxMjkzOCwgNDI5MiwgMCwgNzQ4MTUsIDEwNTEyLCAwLCA3NDgxNCwgNzg4NzUsIAotICAgIDEyNzUwNSwgNzg4NzYsIDI1MDMsIDczNzc4LCAxNzYyLCA2OTc5NCwgMjQ5NSwgNzg4NzMsIDU4NDQsIDY4MDMxLCAKLSAgICAxMTg4MzgsIDAsIDEyNjU0LCA0NjYzLCAxODk5LCA3ODg3NywgMjUwNywgNjQxMjEsIDg3MjYsIDY1NTk0LCAwLCAwLCAwLCAKLSAgICA4ODkyLCAwLCA5MjMzOSwgMCwgOTgzMDczLCA1NzgyLCA0MjAsIDAsIDAsIDQzNzk2LCAxMDc5NywgNjM3OTQsIDAsIDAsIAotICAgIDY0ODE0LCA2Mzc5NiwgNzc5NjUsIDAsIDY2NTgxLCAxMTkyMDQsIDQxNjA4LCAwLCAwLCA2Mzc5MiwgNDY1OSwgMTIwNzg4LCAKLSAgICAwLCA0MzY3NiwgMCwgNjk2NzMsIDAsIDAsIDAsIDMyOSwgNzc5NjgsIDkyNzA3LCA5MTc1NDgsIDczOTksIDAsIDQxMTg4LCAKLSAgICAxMzI0NCwgMTIwNDY2LCA0MjE2NywgNzQzNSwgNzgxOTMsIDUzODAsIDExOTA4NiwgNjkyMjUsIDExNTUsIDExMzY1LCAKLSAgICA0MzEyNiwgNzc5NzIsIDAsIDY1Njg0LCAwLCA1NjAxLCA2NTE5MiwgNDI3NjUsIDYzNzUyLCAwLCA3OTg3LCAxMjg1NDMsIAotICAgIDExNzIsIDY5Nzk5LCA2Nzg2LCA0MzYwMSwgMTIwNDc2LCA3NDEyNiwgNTYwMywgMCwgNDQ3MywgMCwgMTk0ODIzLCAwLCAKLSAgICA2NTM0NywgNjUzNDYsIDY1MzQ1LCAwLCAxMjczODQsIDUzNDcsIDY5ODAyLCA5ODM2MzIsIDczODY4LCAxMTg5NDQsIAotICAgIDEwNTg4LCAwLCAwLCA2Mzc1NSwgMCwgNTM0MywgNzg0MjIsIDEyMDY2MSwgNDU1NSwgNTM0MSwgMCwgNzAwNzEsIDEyODY3MCwgCi0gICAgNTM1MSwgNzg2NzUsIDQzMTA0LCA2NTI0NCwgOTE3ODkyLCA2NDU0MSwgNDI1MTksIDc0NDcyLCAwLCAwLCA3NDc2NSwgCi0gICAgOTE3ODg4LCAxMjc1MTAsIDY2MzgsIDAsIDY1MTEzLCAyNzEsIDc0MTgwLCA2NTM3MCwgODgzNSwgNjUzNjgsIDEyNjUzLCAKLSAgICA2NTM2NiwgNDIxNzIsIDQxMDg2LCA2NTM2MywgNjUzNjIsIDY1MzYxLCAxMTkxMiwgNDM0MTAsIDExMzIzLCA2NTM1NywgCi0gICAgMTE4MDAsIDY1MzU1LCA1MzQ1LCA2NTM1MywgNjUzNTIsIDY1MzUxLCA3NjEsIDY1MzQ5LCAxOTk1OSwgNjk3MTgsIDYzODU2LCAKLSAgICAxMjY2MzUsIDI0MjMsIDc3OTU4LCA2NDY0NywgNzc5NTksIDExOTU3LCA0Njk5LCAwLCAwLCAwLCAwLCA2NDYwNSwgMCwgMCwgCi0gICAgMCwgNDkxNiwgMCwgMzgwLCAxMDk1OCwgNjY1NjMsIDc3OTU1LCA2OTc3MywgOTc3MywgMTMxNjcsIDEyOTE4LCA0MTA5NiwgCi0gICAgNzM5ODAsIDY5MjQ1LCA3ODI1NCwgOTE3ODkzLCAxMDY4NCwgMCwgOTE3ODk2LCAwLCA3OTQ2LCAxMjU0MSwgODE4MiwgCi0gICAgNjc1ODYsIDY5NzgwLCAwLCAwLCAwLCAwLCA5MDA1LCAxMjI1LCA2NjMwLCAwLCAwLCAwLCA2ODAxMSwgODg0NywgMCwgCi0gICAgNjU4NzYsIDU1MzUsIDgzMjksIDc0NTkwLCA5ODMyMDgsIDkyNjA5LCAwLCAwLCAzMTI3LCAyNTk1LCA2NTcxMywgNDIwMTMsIAotICAgIDk4Mzg1OCwgNTYwNywgNDEwODksIDAsIDAsIDc0MjU2LCAyNjY1LCAxMTMwNCwgNDM3NTEsIDc0MjAwLCA0OTcwLCA4NzY0LCAKLSAgICAxMjA0NTksIDg5MzQsIDkyNzI2LCA0MTU2NiwgNDQ5MiwgMCwgNjUwMTEsIDQxMDkwLCAwLCAwLCAxMTg4LCA3MjU0LCAKLSAgICAxMTAwLCAwLCAxMjgzMDEsIDQxMDgxLCAyOTEyLCAxMTc0OSwgNjk3OTIsIDAsIDY4MDE5LCAzNTcyLCAxMDAyMywgNDk1OSwgCi0gICAgMTMwNzksIDAsIDk4MzI3NiwgOTcyOSwgMCwgMCwgMCwgNDMzNjEsIDAsIDAsIDExODAzLCA3OTk2LCA5OTA3LCA0MTQ1MCwgCi0gICAgMTMzMDQsIDEyODI5MCwgMTI3MjYwLCA0MTQ1MSwgMCwgMTEwOTUsIDgyNzMsIDEyNzUzMywgMzQ1MSwgOTgzMzA5LCA5NzIsIAotICAgIDQxNDUzLCA5ODM0NDIsIDAsIDczODgzLCA2ODAyMiwgNzM5NDUsIDk4MzczNSwgMjI4OCwgMTk5NTUsIDk1MzgsIDAsIAotICAgIDY5ODA3LCAwLCAwLCAwLCAwLCAxMTM5NiwgOTgzNDQwLCAxMTAxOSwgMCwgMCwgMCwgNjgwMjAsIDQxMDc4LCA3MTM2NSwgCi0gICAgMjYxLCA1OTI3LCA3NzkxLCAwLCA3MzYyLCAwLCAxMDY5NiwgMCwgNjA3MywgOTgzOCwgMTE4OTIwLCAwLCA2MDc1LCAKLSAgICA5Mzk5NSwgMjgyLCAxMjY1MTAsIDY0MzcsIDc0MDc4LCAxMjgwMDAsIDk4MDEsIDAsIDc0MTc3LCAwLCAwLCAzNDc0LCAKLSAgICAxMTg3ODcsIDAsIDEyMDY1NSwgNjA4MSwgMCwgNzg4NzQsIDc0MDc2LCA3ODg3OSwgMCwgMCwgMCwgMCwgMCwgODc1MSwgCi0gICAgMTE0OTksIDEyMDI3MywgNzgxNiwgMTI2MzYsIDQ2NjUsIDEyNjI4LCA0NjcwLCA5MjYwOCwgMTIwMjcyLCA2ODAxNywgCi0gICAgOTY0MiwgMTA5MTIsIDk1OCwgMCwgMTEzODcsIDc4ODc4LCA0NjY2LCAwLCA0OTE1LCAwLCA0NjY5LCAwLCA2ODA5OSwgCi0gICAgMTMyODcsIDQ2NjQsIDEwODM2LCAxMjA1NTAsIDAsIDY5Nzc1LCAwLCA0MzU5NSwgNzQ1MCwgMCwgOTE3ODc1LCA4NjY0LCAKLSAgICA5Njk3LCAzNjA2LCA5MTc4NzMsIDAsIDAsIDY0ODE1LCAxMDYzLCAxMjAyNTAsIDEyMDI1MSwgOTc3MiwgNzI1NSwgODg4NiwgCi0gICAgMTM4OSwgMTI3OTMyLCAxMjAyNTcsIDEyMDI1OCwgMTIwMjU5LCAxMjk0MSwgNDI2NjEsIDkyMzgxLCAxMjAyNTUsIAotICAgIDEyMDI1NiwgMTIzMDEsIDEyMDI2NiwgNjk4MjAsIDQxMTAyLCA2NDQyOCwgMTIwMjYyLCAxMjAyNjMsIDEyMDI2NCwgMTAxNywgCi0gICAgNjY2MDAsIDUyMywgNTA1LCAxNDQ3LCA3NDQzNiwgMCwgMCwgMCwgODYwOCwgNDI3ODksIDEyMDYxMywgMTI4NzA0LCAwLCAKLSAgICA3Mzg1NSwgMTEzMDcsIDY2NzA3LCA5MTc4NzEsIDEyNzc1MSwgMTE3NDUsIDc5MTksIDAsIDE2NDEsIDAsIDAsIDg5NjYsIDAsIAotICAgIDAsIDU5MDgsIDAsIDAsIDY3NDQsIDEyODM1NSwgMTY5OSwgNjk4NjEsIDc0ODQzLCA5MTc5MzMsIDAsIDYzMDYsIDEwMTY5LCAKLSAgICA3MTMyNCwgMTE5MjUxLCAxMDA2OCwgMzc2NiwgMjM4OSwgMTIwNDU2LCAxMjA0NTUsIDY2MTEsIDI1NywgNDMxNzAsIAotICAgIDEzMTUzLCAwLCA0MjM4NiwgMCwgOTQzNiwgMjU5OSwgMCwgNjQ5NiwgOTQ0OSwgNTkzMCwgMTE0NzYsIDExMDMzLCAxMTQ0NywgCi0gICAgMTA1NDEsIDU2MjIsIDEyMDQzNiwgODQ3NywgMzc2MCwgMTcxOCwgOTQ0MiwgNjY0MzMsIDM3NzYsIDAsIDQxNDM1LCA0MzUyLCAKLSAgICA5ODM2MTAsIDI0MzUsIDEyMDgwOSwgNTYyMSwgMTIwMzg1LCA0MjAxLCAzNzc4LCA0MjAzLCA0MjAyLCA0MjA1LCA0MjA0LCAKLSAgICAxMjA0NDcsIDM3NjgsIDY4MTQyLCA3NjUsIDQxNDQwLCAzNzY0LCA4NDczLCA2MzczLCA4NDY5LCAxMjA0MzgsIDEyOTQ3LCAKLSAgICA0NTY0LCAwLCAwLCA3NDI3MSwgNzM3NTMsIDgzNzQsIDk4MzE1NiwgMCwgNjgyOSwgNTIyNSwgMTI4ODA3LCAxMjczODUsIDAsIAotICAgIDAsIDExOTYxNSwgMCwgNzQ3OTMsIDU2MjYsIDczODA3LCAxMTc3MSwgNzQwNzUsIDEyNzIzNiwgMTI4MDE5LCA0MjYxNCwgCi0gICAgNTM1MywgNTYyNSwgNzQxNzksIDAsIDAsIDEwMTAsIDY0NTcyLCA0MTc4MCwgNDI2MjMsIDY0Mjc3LCA2OTk0MiwgNjk1MiwgCi0gICAgOTgzMjcyLCAxMjA3NTIsIDc4NzYyLCAyNTkwLCA1NjI5LCA2NTU1MiwgNzU1MSwgMTAzMjUsIDU2MzIsIDEwNDcxLCAKLSAgICAxMjAwMzgsIDEyMDAyNywgMTIwMDI4LCAxMjAwMjUsIDU2MjgsIDEyMDAzMSwgOTcwLCAxMjAwMjksIDQ3NzIsIDI0MDAsIAotICAgIDU2MjcsIDEyMDAxNywgMTIwMDE4LCAxMjAwMjMsIDY0Mjc1LCAxMjAwMjEsIDg3ODYsIDAsIDIwMywgMCwgMCwgMCwgMCwgCi0gICAgNzgzNTAsIDAsIDY0Mzc4LCA0MjA1NCwgMCwgMCwgNTU0LCAxMTk2NDksIDExMzU4LCAwLCAxMjE4MiwgNDIwNDgsIDExMDY1LCAKLSAgICAxMjY0NjQsIDczODkxLCAwLCAwLCA1Njk0LCA3Njg5LCA2OTc5OCwgOTMyMywgNDMyNSwgMzA0NywgMTAzMTcsIDE3NSwgMCwgCi0gICAgMCwgNjk3NjQsIDAsIDAsIDEyNDMsIDQyMTU0LCA1NDMxLCA2NjUyLCAwLCA2OTc3MCwgNDM2NTEsIDAsIDY4MTE4LCAKLSAgICAxMjgwMjQsIDExMjksIDEyNjU3NCwgMCwgNjU5MDAsIDE5ODYsIDc4NDYsIDc4ODA0LCA4NjYxLCA5MTc3NzIsIDY1MjU1LCAKLSAgICAwLCAzODQ1LCA0NDkwLCAxMTg5NjksIDY2NDksIDc0NDAwLCAxNDU2LCA3NTMwLCAxMTk3NywgNzI0OSwgODM2NiwgMCwgCi0gICAgNzc1NiwgMTIzNDIsIDEyODU2OCwgNTEsIDQxNTE2LCAwLCA4NTcwLCA5NTY4LCA3MTMxOCwgNDU2LCA3MDI2LCA4MTQ1LCAKLSAgICAxMTY4LCA5MjUxLCA5MDgyLCAxMTk5NjQsIDY0MDU1LCA0Mjc4MSwgMzg2NiwgMTIzMjMsIDQxNTEyLCA3MzgwNSwgNjgxMjEsIAotICAgIDAsIDQxNDk0LCA5MjMxNiwgNDY2MCwgMCwgMTA0MDUsIDAsIDc4ODAzLCAwLCAwLCA0MjA0MCwgNzM5MTgsIDExOTYyNywgCi0gICAgNzk0NCwgNDE0NTQsIDEyNjA1LCAwLCA0MjIwNSwgNDE0NTUsIDIzNiwgNjQwNTEsIDc4ODY3LCA4MjE0LCAwLCAwLCAwLCAKLSAgICA0MTQ1NywgOTgzOTcwLCAxMTk1ODksIDE5NjksIDIzODQsIDgwOTcsIDkxNzg2NCwgNzQxMywgNjgwMTIsIDc4MDI5LCAKLSAgICA4NzY2LCAwLCA3ODA3OSwgNTg1NCwgMTI3OTc0LCAxMDU4MywgMCwgMTE5OTg5LCAwLCAxMDQxNiwgOTE3ODY5LCAzODcyLCAKLSAgICA5MTc4NjgsIDAsIDg0MjksIDAsIDExODgwNiwgMjgzOCwgMTI4ODAyLCAwLCA5MTc4NjYsIDAsIDAsIDAsIDk4Mzk2NywgCi0gICAgOTQwMDUsIDExMDk2LCAxMjA4MTMsIDEwNTUzLCAxNjYyLCA4NDgzLCAxMjAzOTYsIDQzNjA1LCA1ODkyLCA0MzQxOCwgMCwgCi0gICAgNzM3NDIsIDY2LCA2NSwgNjgsIDY3LCA3MCwgNjksIDcyLCA3MSwgNzQsIDczLCA3NiwgNzUsIDc4LCA3NywgODAsIDc5LCAKLSAgICA4MiwgODEsIDg0LCA4MywgODYsIDg1LCA4OCwgODcsIDkwLCA4OSwgMTE5ODYyLCAxMDM1NywgNzM4NSwgODE3MCwgMTcwNCwgCi0gICAgODU1NiwgMCwgOTY1OSwgMCwgMCwgMCwgOTU1NiwgMCwgNDUwMywgMTEzNTMsIDk2NDcsIDAsIDc4MTg1LCAwLCAwLCAKLSAgICA5MjcxMywgNzg4ODYsIDAsIDAsIDc0MjI5LCA2NjU5MywgNjQzOCwgOTE3OTc5LCA5MTA5LCA3ODg4MiwgMTI4OSwgNjQ1OTksIAotICAgIDAsIDY4MDA5LCAwLCA2NTUwNywgMjQ0NywgMCwgMCwgMTI4MDQyLCAxMjY1NDUsIDk4MzEzNywgMCwgNjMzNCwgMCwgMCwgCi0gICAgMTk5MzcsIDAsIDkyMzY4LCAwLCA1Njc1LCAyNTQsIDAsIDAsIDY5Njg2LCA0MjQyNSwgODkxOCwgNjQwMDMsIDU3MTYsIAotICAgIDQyMzEyLCAwLCAwLCA2OTcyLCA0MjgyNiwgMCwgNDI0NjQsIDEyMDU2NywgMCwgOTI2NDUsIDc0Nzk2LCA2NDQwMCwgCi0gICAgNjQ2OTMsIDAsIDc3ODYxLCA2NTQyOSwgOTUxNSwgNDQzNSwgMCwgNDI1MjIsIDAsIDY4MDA4LCAxMTc4NSwgNzQxMiwgCi0gICAgNjQ2NzEsIDQxOTc4LCAxNDEyLCA0NTk0LCAxMzkxLCAxMDUzNiwgODA2NywgOTkwMSwgNzEwMywgMTI4MjkzLCA3MTAyLCAKLSAgICA3NDU4OCwgMTIwNzQ4LCAzMTQwLCAxMjg4NTQsIDc5NjAsIDQzMjcxLCAwLCAxMjUxOCwgMTA5MDksIDEyNzUwOCwgMTQyOCwgCi0gICAgMTI0NzIsIDAsIDY5ODY0LCA3Njk5LCAxMjM5MywgMCwgMCwgMCwgNzQ1MTgsIDgyMjMsIDAsIDQyNjEsIDAsIDAsIDAsIDAsIAotICAgIDAsIDEyODMwMiwgMCwgMTI4MDQ2LCA0MzQxOSwgMCwgNjQ1NTQsIDEwNTc0LCAzODc4LCAwLCA0MjM1MiwgMTc1MiwgCi0gICAgNzM3ODUsIDAsIDQyNTA2LCAxMjg1NDEsIDEwMTk5LCAwLCAwLCA2ODAyMSwgNjU5MTksIDAsIDY2OTUsIDcyMCwgMzI0LCAwLCAKLSAgICAwLCA0MzQwNiwgOTgzNzM2LCAxNDY0LCA0MDk4NSwgMCwgNzk3NCwgMCwgNDM0NzQsIDAsIDY0NDg4LCAwLCAwLCA2NDA0MSwgCi0gICAgNzQ3ODcsIDAsIDc4ODY1LCA5MjI1OCwgNjU1OTcsIDAsIDc4ODYzLCAwLCAxMzAyLCAwLCA3ODg2MSwgMTE5MTM0LCAwLCAwLCAKLSAgICA1MjA0LCA3NDc3NCwgNDM0MDQsIDExODM1LCAwLCAzOTk1LCA2ODM2MCwgNjU2MDgsIDM3MTQsIDkyMTkwLCAwLCAwLCAKLSAgICAxMDk5OSwgMTE3NTAsIDAsIDQzMjUxLCA2ODY2MCwgNDMzMDEsIDAsIDEyMDU1NywgODEzMCwgODY3MiwgMTA4NDUsIAotICAgIDExOTY0LCAwLCA5ODMxODUsIDAsIDAsIDY4NDU1LCA0Mjg2MywgNzM4MzksIDAsIDAsIDAsIDAsIDEyNjYyOSwgMCwgNDY4LCAKLSAgICA2MTIsIDAsIDY0NDAxLCA2NjQ0OCwgNjgzNzYsIDAsIDE2NzQsIDAsIDU4MjMsIDk4MzE2MywgMTIyODAsIDAsIDU0MCwgCi0gICAgNzQ1NjQsIDExOTAxNywgMCwgODQzMiwgMCwgMTEwNzMsIDAsIDY0MzE2LCAwLCAwLCA4MjAsIDQxNzQxLCAwLCAxMjA2NjcsIAotICAgIDAsIDY0Njg0LCAxMjY5OTIsIDMzNTksIDc4MDAsIDY5OTM0LCA2NTE3NywgNjIyNiwgMzUzLCAxMjM5NiwgMCwgMTE5NjEyLCAKLSAgICA2NDc0MiwgMTI4NjgyLCAxMjAyODIsIDAsIDk4MzQ1MCwgMTI0MTIsIDE5OTQxLCAwLCAxMjAyNzcsIDc4ODQ3LCAxODg0LCAKLSAgICA5NDgxLCA0MjQxOCwgNzAwNTksIDQxMTU3LCAwLCAxMTk1LCA2NDg5OCwgNzkyNCwgMCwgNDExNTEsIDIwMTAsIDAsIAotICAgIDQxMzI4LCA0MjM0NCwgMCwgMTI0MDksIDAsIDQzNjAsIDEyNzAwOSwgOTczOSwgMTI4NTUwLCA2OTkzMywgNzM5MjEsIDAsIAotICAgIDQyNTIxLCA4NTM5LCA5ODM3MjUsIDAsIDExODk4NiwgMCwgNDc4OCwgMCwgNjgwMjMsIDY1NzM0LCA5ODM0NTUsIDQzNzkwLCAKLSAgICAwLCAxMzA3NSwgNzQ0MjksIDk0MDYzLCA2NDU2OSwgNDM1MzIsIDEwODM3LCAyNDkyLCAxMjcxOTcsIDExODkwMSwgNjg2MzcsIAotICAgIDQxMTM2LCA0Mzc4NSwgMTE4MTMsIDk2NDksIDQxMTU0LCAxMTk2MTcsIDUxMjgsIDQwMzgsIDQxMTQzLCA2NTYwNCwgCi0gICAgNjQ4NTksIDQxNTkyLCA2NzcxLCAxNjQ4LCA1NDM1LCA5MTc4MzcsIDY3MzQsIDQxMzQzLCAxMTk4NDgsIDY1NDM5LCAKLSAgICAxMjcwOSwgNjk4NiwgOTIzNjQsIDY4MDE1LCAwLCA0MTM0OSwgNzAwMjEsIDEyNTgxLCAxMDM3NCwgNTE3NSwgMCwgNzM4MDYsIAotICAgIDEwMjU0LCAwLCAxMDI3OCwgMTAyNjIsIDY5ODU4LCA0MTM0NiwgMCwgNjA3LCAwLCAxMTk4NTIsIDEyODg0NiwgMTI5MjMsIAotICAgIDEwMzE0LCAxMDI4MiwgNjU0NzcsIDEwMzc4LCAxMjAyOTcsIDQwOTc2LCA4MjY1LCAwLCAxMTk4MzQsIDQwOTc1LCA1ODQwLCAKLSAgICA0MjgzOCwgMCwgNDA5NzgsIDk4Mzg5NywgMTE5ODQwLCAwLCA5ODMwNzEsIDAsIDY2NDQ0LCAxMDUzOCwgMCwgMjU1MCwgCi0gICAgMTE5ODM2LCA2Nzc5LCAwLCAwLCAzNTI1LCA2ODI0LCAxMTg4ODYsIDAsIDAsIDU2MTksIDY1ODIyLCAxMjY1NjcsIAotICAgIDE5NDg4MiwgNzQ1NSwgMCwgNTYxNiwgMTE0ODYsIDk2NTYsIDAsIDAsIDEwNzI3LCA1NjE1LCAwLCAxMjA1NTEsIDQyMzgwLCAKLSAgICA2NDg5NSwgNDM2OTMsIDY2NDUxLCA4MDgsIDU0NTUsIDExMzQ3LCAwLCAxMDI2LCA1NjIwLCAxOTQ4ODcsIDAsIDExMzUwLCAKLSAgICA1NjE3LCAwLCA5MjI1LCA2NDYzOSwgMTI3MDczLCA5MTQ1LCAxMjgwNjAsIDEzMzgsIDEyMDU4MSwgOTgzMTU4LCAxMjczOSwgCi0gICAgNDYwMywgMzA4NCwgOTgzMTU1LCA5MjQ4NCwgOTg1OCwgNjAzNywgMCwgMzk3NCwgNzgyMTMsIDEwMjkwLCA5ODM3MDQsIAotICAgIDMwODMsIDEwMzIyLCAwLCAwLCAwLCA0MTAzNiwgMCwgMCwgNDMzMjEsIDY1NjA2LCAwLCA0MTAzMiwgNDIzODgsIDAsIAotICAgIDY0NzAwLCAxMDAxMSwgMTQ0NSwgNDA5NjEsIDAsIDExOTEwNSwgMCwgNDA5NjAsIDAsIDE5NDg5MSwgMCwgNDA5NjMsIAotICAgIDY0OTUyLCAxMDQwMiwgMCwgMCwgOTIzMDQsIDEwNjAzLCAwLCAwLCA5ODMxMTMsIDAsIDY3MTQsIDEwMDgzLCAxMjcwNjksIAotICAgIDE5NDg5NSwgNzgzNjcsIDEyNzM3NywgMCwgOTM5NjMsIDkwNzMsIDQyNTg1LCA2NDMwMiwgMTA3MDQsIDY1MDMwLCA0Nzg3LCAKLSAgICAwLCA3NDgyOSwgMCwgNjU0MjMsIDAsIDEyODExOCwgOTU3MCwgNTUyNjAsIDk1MjUsIDI2ODksIDkxNzYyNiwgNjU0MjYsIDAsIAotICAgIDkxNzYyNCwgNDM3NDAsIDAsIDQwOTY2LCA5MTc2MjIsIDEzMjg2LCAzOTk4LCA0MjU5OCwgNDI1OTYsIDUwMywgNzQyMzcsIAotICAgIDg3MzUsIDI2OTAsIDY2NDg4LCA0MjgzNiwgMTI3MTUwLCA0MTk1NCwgOTE3NjE3LCAxNjUyLCA3NzIsIDY2ODgsIDgzMTAsIAotICAgIDY1NDI4LCAzNDg3LCA0MzQxNiwgMzU4NSwgMTAxOTQsIDQzMzIwLCAxMTkxNTksIDEyODE4MywgMTk0ODc0LCA2NDY4LCAKLSAgICA0MTk3NiwgOTcyMCwgOTE3NjA2LCAxMTc2NywgNDE5NzAsIDE5NDU5NiwgNTgzNiwgMTIzNTgsIDAsIDQzNTUsIDkwNDgsIAorICAgIDY3NzA1LCA5MjU2MSwgNDE0NjIsIDEyMDQ3MCwgMTk1MDc5LCA1NDIyLCAxMjgyMzQsIDk4MzYyOSwgMTI4NjExLCAKKyAgICAxMjY1MTYsIDEwMjI5LCAxMDYzNSwgODI2LCAxMjgwODEsIDE5NTA4MiwgMTk1MDg1LCAxOTUwODQsIDE5NTA4NywgNjQ4MywgCisgICAgOTIyMTEsIDE4MDgsIDc4NDgsIDExMzc4OCwgODEwMCwgNzgyMjcsIDcxMTk4LCA3ODY3MCwgMTMzMDEsIDc4NjY3LCA5NjY3LCAKKyAgICA3ODY2NSwgNjc3MDQsIDAsIDExMDAzLCA5OTA0LCAwLCA5ODM5MTksIDEyMDY5MCwgOTE0NCwgMTA5MjEsIDkyOTkyLCAKKyAgICA3ODY4MCwgOTg0MCwgNjUxMzEsIDc4Njc4LCA3MTA5MiwgMTAzMTMsIDAsIDAsIDY0MzIwLCAxMDI2NSwgNjcyNTIsIAorICAgIDEwOTYyLCA2NjkwNCwgNDMwMDgsIDg5NDUsIDc4NjgzLCAwLCA0MSwgMTk1MDcyLCAxNzkyLCAxMjA1MTUsIDE5NTA3MywgCisgICAgODY1NSwgNjgyNTQsIDkyNTQ0LCA3Nzk1MSwgMTIwNjYsIDY3MjU4LCAzODUsIDQxNTIsIDI1ODUsIDEyNzgwNCwgMTE5MDY4LCAKKyAgICAzMTI2LCAwLCA3Mzk4MywgMTA5NTcsIDEyNzAzNywgMTExNjAsIDExOTExNiwgMTI3ODczLCAxMzE1NywgMCwgOTE3NTQ0LCAKKyAgICAzNTcwLCAxMjkxODcsIDc0NDMsIDExODgwNCwgNDQwMDYsIDY5OTcsIDY4MDA0LCAxMjY2MzEsIDc4NzksIDg3MzksIAorICAgIDExMDc1LCAwLCA2NTIxNiwgNzAxOTYsIDY5Nzk1LCAyNTkzLCA4NDYzLCA3ODEwLCAxMjg1NDMsIDc4MzksIDExOTkxMywgCisgICAgNzg4MDYsIDExOTkxMiwgOTY5MSwgNDQxMSwgNzg4MDIsIDEyOTAzMiwgMTI0OTcwLCA0MzQ0MiwgNjk4NTEsIDY1MjU0LCAKKyAgICAxMDA2NiwgOTgzODg5LCA3MjQxOSwgMCwgMCwgMTMwNjEsIDgwMTYsIDc4Njg3LCAxOTkzMiwgNjQ4MzEsIDAsIDExMzY4NCwgCisgICAgMTIzOTAsIDExOTE3MSwgMTYzNCwgNjgxMTUsIDk4Mzk2MiwgMTEwNTYsIDk4MzU3NCwgMTE5OTI1LCA5ODMwOTksIDQxMTY1LCAKKyAgICAxMTMyOCwgMTI0NTAsIDk4MzgxMSwgNDExNjYsIDAsIDEyNDU2LCAxMTk5MTQsIDE3MSwgNTk0MSwgMTI0NTIsIDE5NDcwOSwgCisgICAgMTI0NTgsIDEyNTMxLCA3ODc3OSwgNDMwMTMsIDYzODAwLCA3NDE2MiwgMTI3NTY5LCAxMjA0ODMsIDk5NjksIDEyMDc2NywgCisgICAgMTI0NTQsIDYzODA2LCA0MjEzMiwgMTIwNjMsIDc4NDI1LCA3ODQyNCwgMzIzMCwgMCwgMCwgMTI1MDI5LCA1MjA5LCAyOTcsIAorICAgIDU4MTAsIDg1MjIsIDg0MTUsIDExOTkzNywgNzg0MjksIDc4NDI4LCA3MDc3LCAyNDk3LCAxMjg2NTEsIDk2MCwgNzQxNTYsIAorICAgIDY5ODEsIDkyMzc0LCAxMjkzOCwgNDI5MiwgNzg4OTMsIDc0ODE1LCAxMDUxMiwgMCwgNzQ4MTQsIDc4ODc1LCAxMjc1MDUsIAorICAgIDc4ODc2LCAyNTAzLCA3Mzc3OCwgMTc2MiwgNjk3OTQsIDI0OTUsIDc4ODczLCA1ODQ0LCA2ODAzMSwgMTE4ODM4LCAKKyAgICAxOTQ2NTgsIDEyNjU0LCA0NjYzLCAxODk5LCA3ODg3NywgMjUwNywgNjQxMjEsIDg3MjYsIDY1NTk0LCAwLCAwLCAwLCAKKyAgICA4ODkyLCA3ODg3MiwgOTIzMzksIDcxMjMyLCA5ODMwNzMsIDU3ODIsIDQyMCwgMTI5MDM0LCA5MTc4NzEsIDQzNzk2LCAKKyAgICAxMDc5NywgNjM3OTQsIDAsIDAsIDY0ODE0LCA2Mzc5NiwgNDM4NjEsIDAsIDY2NTgxLCAxMTkyMDQsIDQxNjA4LCAxMjg0NzksIAorICAgIDAsIDYzNzkyLCA0NjU5LCAxMjA3ODgsIDc3OTcxLCA0MzY3NiwgOTI5NTYsIDY5NjczLCAwLCAxMTEyOSwgOTI5MjksIDMyOSwgCisgICAgNzc5NjgsIDkyNzA3LCA5MTc1NDgsIDczOTksIDAsIDQxMTg4LCAxMzI0NCwgNjc2OTIsIDQyMTY3LCA3NDM1LCA3ODE5MywgCisgICAgNTM4MCwgMTE5MDg2LCA2OTIyNSwgMTE1NSwgMTEzNjUsIDQzMTI2LCA3Nzk3MiwgMCwgNjU2ODQsIDAsIDU2MDEsIDY1MTkyLCAKKyAgICA0Mjc2NSwgNjM3NTIsIDAsIDc5ODcsIDkzMDU1LCAxMTcyLCA2OTc5OSwgNjc4NiwgNDM2MDEsIDEyMDQ3NiwgNzQxMjYsIAorICAgIDU2MDMsIDAsIDQ0NzMsIDAsIDcyNDI2LCAxMjQ5NDcsIDY1MzQ3LCA2NTM0NiwgNjUzNDUsIDEyODU0OCwgMTE5MjEzLCAKKyAgICA1MzQ3LCA2OTgwMiwgOTgzNjMyLCA3Mzg2OCwgNzA4NTIsIDEwNTg4LCAwLCAwLCA2Mzc1NSwgMCwgNTM0MywgNzg0MjIsIAorICAgIDEyMDY2MSwgNDU1NSwgNTM0MSwgMCwgNzAwNzEsIDEyODY3MCwgNTM1MSwgNzg2NzUsIDQzMTA0LCA2NTI0NCwgOTE3ODkyLCAKKyAgICA2NDU0MSwgNDI1MTksIDY4MTM0LCAxMjg5MTYsIDEyNjk4NiwgNzQ3NjUsIDkxNzg4OCwgMTI3NTEwLCA2NjM4LCAwLCAKKyAgICA2NTExMywgMjcxLCA3NDE4MCwgNjUzNzAsIDg4MzUsIDY1MzY4LCAxMjY1MywgNjUzNjYsIDQyMTcyLCA0MTA4NiwgNjUzNjMsIAorICAgIDY1MzYyLCA2NTM2MSwgMTE5MTIsIDQzNDEwLCAxMTMyMywgNjUzNTcsIDExODAwLCA2NTM1NSwgNTM0NSwgMTExMDMsIAorICAgIDY1MzUyLCA2NTM1MSwgNzYxLCA2NTM0OSwgMTk5NTksIDY5NzE4LCA2Mzg1NiwgMTI2NjM1LCAyNDIzLCA3NDUxOCwgCisgICAgNjQ2NDcsIDc3OTU5LCAxMTk1NywgNDY5OSwgMTI2NTczLCAwLCAwLCAwLCA2NDYwNSwgMCwgMCwgMCwgNDkxNiwgMCwgMzgwLCAKKyAgICAxMDk1OCwgNjY1NjMsIDc3OTU1LCA2OTc3MywgOTc3MywgMTMxNjcsIDEyOTE4LCA0MTA5NiwgNzM5ODAsIDY5MjQ1LCAKKyAgICA3ODI1NCwgOTE3ODkzLCAxMDY4NCwgMCwgMTI1MDYzLCA5MjkwNiwgNzk0NiwgMTI1NDEsIDgxODIsIDY3NTg2LCA2OTc4MCwgCisgICAgMCwgMCwgMCwgMCwgOTAwNSwgMTIyNSwgNjYzMCwgMCwgMCwgMTE4ODU0LCA2ODAxMSwgODg0NywgOTIzNzEsIDY1ODc2LCAKKyAgICA1NTM1LCA4MzI5LCA3NDU5MCwgMTI1MDM2LCA5MjYwOSwgMCwgNjY4NzQsIDMxMjcsIDI1OTUsIDY1NzEzLCA0MjAxMywgCisgICAgMTI5MTg4LCA1NjA3LCA0MTA4OSwgMTI4NjI2LCAwLCA3NDI1NiwgMjY2NSwgMTEzMDQsIDQzNzUxLCA3NDIwMCwgNDk3MCwgCisgICAgODc2NCwgMTIwNDU5LCA4OTM0LCA5MjcyNiwgNDE1NjYsIDQ0OTIsIDY3MjcxLCA2NTAxMSwgNDEwOTAsIDAsIDkyOTA5LCAKKyAgICAxMTg4LCA3MjU0LCAxMTAwLCAwLCA2NzI3MCwgNDEwODEsIDI5MTIsIDExNzQ5LCA2NzI4MiwgNjcyODEsIDY3MjgwLCAKKyAgICAzNTcyLCAxMDAyMywgNDk1OSwgMTMwNzksIDAsIDY3Mjc1LCA5NzI5LCAxMjUxMTAsIDAsIDY3Mjc4LCA0MzM2MSwgCisgICAgOTgzNzMzLCA2NzI3NiwgMTE4MDMsIDc5OTYsIDk5MDcsIDQxNDUwLCAxMzMwNCwgMTI4MjkwLCAxMjcyNjAsIDQxNDUxLCAwLCAKKyAgICAxMTA5NSwgODI3MywgNzQzMjIsIDM0NTEsIDk4MzMwOSwgOTcyLCA0MTQ1MywgNjgxNjQsIDExOTMyNywgNzM4ODMsIAorICAgIDY4MDIyLCA3Mzk0NSwgOTgzNzM1LCAyMjg4LCAxOTk1NSwgOTUzOCwgOTI5NTMsIDY5ODA3LCAwLCAxMjkwOTUsIDAsIAorICAgIDEyODg5NywgMTEzOTYsIDk4MzQ0MCwgMTEwMTksIDAsIDEyODQxNiwgMCwgNjgwMjAsIDQxMDc4LCA3MTM2NSwgMjYxLCAKKyAgICA1OTI3LCA3NzkxLCA5ODMwODcsIDczNjIsIDAsIDEwNjk2LCA3MDEyNCwgNjA3MywgOTgzOCwgMTE4OTIwLCAwLCA2MDc1LCAKKyAgICA5Mzk5NSwgMjgyLCAxMjY1MTAsIDY0MzcsIDc0MDc4LCAxMjgwMDAsIDk4MDEsIDY2Mzk5LCA3NDE3NywgMCwgMCwgMzQ3NCwgCisgICAgNjcyODcsIDAsIDY3Mjg2LCA2MDgxLCAxMjcyMTcsIDc4ODc0LCA2NzI4OSwgNjcyODMsIDAsIDcwMDAyLCAxMjg5MDgsIDAsIAorICAgIDkzMDEzLCA4NzUxLCAxMTQ5OSwgNjcyOTcsIDc4MTYsIDEyNjM2LCA0NjY1LCAxMjYyOCwgNDY3MCwgNjcyOTgsIDEyMDI3MiwgCisgICAgNjgwMTcsIDk2NDIsIDEwOTEyLCA5NTgsIDY3MjkzLCAxMTM4NywgNjcyOTEsIDQ2NjYsIDcwNzkyLCA0OTE1LCA2NzcxNSwgCisgICAgNDY2OSwgMCwgNjgwOTksIDEzMjg3LCA0NjY0LCAxMDgzNiwgMTIwNTUwLCAwLCA2OTc3NSwgMCwgNDM1OTUsIDc0NTAsIDAsIAorICAgIDkxNzg3NSwgODY2NCwgOTY5NywgMzYwNiwgOTE3ODczLCA5ODM5NzgsIDAsIDY0ODE1LCAxMDYzLCAxMjAyNTAsIDY3MzEyLCAKKyAgICA5NzcyLCA3MjU1LCA4ODg2LCAxMzg5LCAxMjc5MzIsIDEyMDI1NywgMTIwMjU4LCAxMjAyNTksIDEyOTQxLCA0MjY2MSwgCisgICAgOTIzODEsIDEyMDI1NSwgMTIwMjU2LCAxMjMwMSwgMTIwMjY2LCA2OTgyMCwgNDExMDIsIDY0NDI4LCAxMjAyNjIsIAorICAgIDEyMDI2MywgMTIwMjY0LCAxMDE3LCA2NjYwMCwgNTIzLCA1MDUsIDE0NDcsIDc0NDM2LCAwLCA3MDM0MCwgMCwgODYwOCwgCisgICAgNDI3ODksIDEyMDYxMywgMTI4NzA0LCAwLCA3Mzg1NSwgMTEzMDcsIDY2NzA3LCA2NzMwMSwgNjczMDAsIDExNzQ1LCA3OTE5LCAKKyAgICA2NzMwNCwgMTY0MSwgMCwgMCwgODk2NiwgMCwgMTI3MjEyLCA1OTA4LCA3MTg3MCwgNjc4NTMsIDY3NDQsIDY3MzEwLCAKKyAgICAxNjk5LCA2NzMwOCwgNjczMDcsIDY3MzE0LCA2NzMxMywgNjMwNiwgMTAxNjksIDcxMzI0LCAxMTkyNTEsIDEwMDY4LCAKKyAgICAzNzY2LCAyMzg5LCA2NzMwNSwgMTIwNDU1LCA2NjExLCAyNTcsIDQzMTcwLCAxMzE1MywgMCwgNDIzODYsIDAsIDk0MzYsIAorICAgIDI1OTksIDAsIDY0OTYsIDk0NDksIDU5MzAsIDExNDc2LCAxMTAzMywgMTE0NDcsIDEwNTQxLCA1NjIyLCAxMjA0MzYsIAorICAgIDg0NzcsIDM3NjAsIDE3MTgsIDk0NDIsIDY2NDMzLCAzNzc2LCA5MTc4MzcsIDQxNDM1LCA0MzUyLCA2NzMyNCwgMjQzNSwgCisgICAgNzEyMTEsIDU2MjEsIDEyMDM4NSwgNDIwMSwgMzc3OCwgNDIwMywgNDIwMiwgNDIwNSwgNDIwNCwgMTIwNDQ3LCAzNzY4LCAKKyAgICA0MTc3NCwgNzY1LCA0MTQ0MCwgMzc2NCwgODQ3MywgNjM3MywgODQ2OSwgMTIwNDM4LCAxMjk0NywgNDU2NCwgMCwgNzQ2MjMsIAorICAgIDc0MjcxLCA3Mzc1MywgODM3NCwgMTI3MjAxLCAwLCA2ODI5LCA1MjI1LCA2NjkwMSwgMTI3Mzg1LCAwLCAwLCAxMTk2MTUsIAorICAgIDY3MzE5LCA2NzMxOCwgNTYyNiwgNDM1MDcsIDExNzcxLCA2NzMyMiwgNjczMjEsIDY3MzIwLCA0MjYxNCwgNTM1MywgNTYyNSwgCisgICAgNzQxNzksIDY3MzE1LCAwLCAxMDEwLCA2NDU3MiwgNDE3ODAsIDQyNjIzLCA2NDI3NywgNjk5NDIsIDY5NTIsIDY3MzI5LCAKKyAgICA2NzMyOCwgNjczMjcsIDI1OTAsIDU2MjksIDY1NTUyLCA3NTUxLCAxMDMyNSwgNTYzMiwgMTA0NzEsIDEyMDAzOCwgCisgICAgMTIwMDI3LCAxMjAwMjgsIDEyMDAyNSwgNTYyOCwgMTIwMDMxLCA5NzAsIDEyMDAyOSwgNDc3MiwgMjQwMCwgNTYyNywgCisgICAgMTIwMDE3LCA2NzMzMCwgMTIwMDIzLCA2NDI3NSwgMTIwMDIxLCA4Nzg2LCAxMTM2OTMsIDIwMywgNzQzNjUsIDAsIDAsIAorICAgIDY5OTg1LCA3ODM1MCwgMTEzNzAzLCA2NDM3OCwgNDIwNTQsIDk4MzE1MCwgMCwgNTU0LCAxMTk2NDksIDExMzU4LCA3MTE3MiwgCisgICAgMTIxODIsIDQyMDQ4LCAxMTA2NSwgMTI2NDY0LCA3Mzg5MSwgMCwgMCwgNTY5NCwgNzY4OSwgNjk3OTgsIDkzMjMsIDQzMjUsIAorICAgIDMwNDcsIDEwMzE3LCAxNzUsIDAsIDkzMDI5LCA2OTc2NCwgMCwgMCwgMTI0MywgNDIxNTQsIDU0MzEsIDY2NTIsIDkxNzU2MSwgCisgICAgNjc3NTMsIDQzNjUxLCAxMjkxMjksIDY4MTE4LCAxMjgwMjQsIDExMjksIDEyNjU3NCwgMCwgNjU5MDAsIDE5ODYsIDc4NDYsIAorICAgIDc4ODA0LCA4NjYxLCA5MTc3NzIsIDY1MjU1LCAwLCAzODQ1LCA0NDkwLCAxMTg5NjksIDY2NDksIDc0MTM2LCAxNDU2LCAKKyAgICA3NTMwLCAxMTk3NywgNzI0OSwgODM2NiwgMCwgNzc1NiwgMTIzNDIsIDEyODU2OCwgNTEsIDQxNTE2LCAwLCA4NTcwLCAKKyAgICA5NTY4LCA3MTMxOCwgNDU2LCA3MDI2LCA4MTQ1LCAxMTY4LCA5MjUxLCA5MDgyLCAxMTk5NjQsIDY0MDU1LCA0Mjc4MSwgCisgICAgMzg2NiwgMTIzMjMsIDQxNTEyLCA3MzgwNSwgNjgxMjEsIDAsIDQxNDk0LCA5MjMxNiwgNDY2MCwgNjcxMTQsIDEwNDA1LCAKKyAgICAxMjcxOTUsIDc4ODAzLCAwLCAwLCA0MjA0MCwgNzM5MTgsIDExOTYyNywgNzk0NCwgNDE0NTQsIDEyNjA1LCAwLCA0MjIwNSwgCisgICAgNDE0NTUsIDIzNiwgNjQwNTEsIDc4ODY3LCA4MjE0LCAwLCAxMTM3ODQsIDEyMDAzNywgNDE0NTcsIDk4Mzk3MCwgMTE5NTg5LCAKKyAgICAxOTY5LCAyMzg0LCA4MDk3LCA5MTc4NjQsIDc0MTMsIDY4MDEyLCA3ODAyOSwgODc2NiwgNDM4NjQsIDc4MDc5LCA1ODU0LCAKKyAgICAxMjUwMDAsIDEwNTgzLCAwLCAxMTk5ODksIDAsIDEwNDE2LCA5MTc4NjksIDM4NzIsIDkxNzg2OCwgMCwgODQyOSwgMCwgCisgICAgMTE4ODA2LCAyODM4LCA2NDI5LCAwLCA5MTc4NjYsIDAsIDEyODQ3OCwgMCwgOTgzOTY3LCA5NDAwNSwgMTEwOTYsIAorICAgIDEyMDgxMywgMTA1NTMsIDE2NjIsIDg0ODMsIDEyMDM5NiwgNDM2MDUsIDU4OTIsIDQzNDE4LCAwLCA3Mzc0MiwgNjYsIDY1LCAKKyAgICA2OCwgNjcsIDcwLCA2OSwgNzIsIDcxLCA3NCwgNzMsIDc2LCA3NSwgNzgsIDc3LCA4MCwgNzksIDgyLCA4MSwgODQsIDgzLCAKKyAgICA4NiwgODUsIDg4LCA4NywgOTAsIDg5LCAxMTk4NjIsIDEwMzU3LCA3Mzg1LCA4MTcwLCAxNzA0LCA4NTU2LCAwLCA5NjU5LCAKKyAgICAwLCAwLCAwLCA5NTU2LCAwLCA0NTAzLCAxMTM1MywgOTY0NywgMTI1MDE1LCA3ODE4NSwgMTI4OTU5LCAwLCA5MjcxMywgCisgICAgNzg4ODYsIDAsIDAsIDc0MjI5LCA2NjU5MywgNjQzOCwgOTE3OTc5LCA5MTA5LCA3ODg4MiwgMTI4OSwgNjQ1OTksIDAsIAorICAgIDY4MDA5LCAxMjgzMDIsIDY1NTA3LCAyNDQ3LCAxMTk5MTEsIDAsIDEyODA0MiwgMTI2NTQ1LCA2NjU4OSwgMCwgNjMzNCwgMCwgCisgICAgMCwgMTk5MzcsIDkxNzc5MywgMTMyMiwgOTIzNTksIDU2NzUsIDI1NCwgMCwgMCwgNjk2ODYsIDQyNDI1LCA4OTE4LCAKKyAgICA2NDAwMywgNTcxNiwgNDIzMTIsIDAsIDAsIDY5NzIsIDQyODI2LCA3NDQwOSwgNDI0NjQsIDEyMDU2NywgNjY4OTksIAorICAgIDY3MTU1LCA3NDc5NiwgNjQ0MDAsIDY0NjkzLCAwLCA2NzY4NywgNjU0MjksIDk1MTUsIDQ0MzUsIDAsIDQyNTIyLCAwLCAKKyAgICA2ODAwOCwgMTE3ODUsIDc0MTIsIDQzODY3LCA0MTk3OCwgMTQxMiwgNDU5NCwgMTM5MSwgMTA1MzYsIDgwNjcsIDk5MDEsIAorICAgIDcxMDMsIDEyODI5MywgNzEwMiwgNzQ1ODgsIDEyMDc0OCwgMzE0MCwgMTI3Mjc2LCA3OTYwLCA0MzI3MSwgMCwgMTI1MTgsIAorICAgIDEwOTA5LCAxMjc1MDgsIDE0MjgsIDEyNDcyLCA2NzI1NCwgNjcyNTMsIDc2OTksIDEyMzkzLCA2NzI1NywgMCwgNjcyNTYsIAorICAgIDY3MjU1LCA4MjIzLCAwLCA0MjYxLCAwLCAwLCA3NDMwOCwgMCwgMTEzNzEyLCA2NzE1MywgMCwgMTI4MDQ2LCA0MzQxOSwgMCwgCisgICAgNjQ1NTQsIDEwNTc0LCAzODc4LCA2NzY5MSwgNDIzNTIsIDE3NTIsIDczNzg1LCAwLCA0MjUwNiwgMTI4NTQxLCAxMDE5OSwgCisgICAgOTE3ODY1LCAxMjUxNDIsIDY4MDIxLCA2NTkxOSwgMCwgNjY5NSwgNzIwLCAzMjQsIDAsIDEyOTAzNSwgNDM0MDYsIAorICAgIDk4MzczNiwgMTQ2NCwgNDA5ODUsIDAsIDc5NzQsIDAsIDQzNDc0LCAwLCA2NDQ4OCwgMTI4OTc3LCAwLCA2NDA0MSwgCisgICAgNzQ3ODcsIDAsIDc4ODY1LCA5MjI1OCwgNjU1OTcsIDAsIDc4ODYzLCAwLCAxMzAyLCA2NjI4OCwgNzg4NjEsIDExOTEzNCwgCisgICAgMCwgNjcxNTIsIDUyMDQsIDc0Nzc0LCA0MzQwNCwgMTE4MzUsIDAsIDM5OTUsIDY4MzYwLCA2NTYwOCwgMzcxNCwgOTIxOTAsIAorICAgIDEyMDAyNiwgNjcyNjIsIDEwOTk5LCAxMTc1MCwgNjcyNTksIDQzMjUxLCA2NzI2NCwgNDMzMDEsIDAsIDEyMDU1NywgODEzMCwgCisgICAgODY3MiwgMTA4NDUsIDExOTY0LCAwLCAxMjgwMTQsIDAsIDAsIDY4NDU1LCA0Mjg2MywgNzM4MzksIDAsIDAsIDY3NzAwLCAwLCAKKyAgICAxMTM3MDEsIDQzNjQ1LCA0NjgsIDYxMiwgMCwgNjQ0MDEsIDY2NDQ4LCA2ODM3NiwgMCwgMTY3NCwgMCwgNTgyMywgCisgICAgMTI5MTI2LCAxMjI4MCwgNzAzNjcsIDU0MCwgNzQ1NjQsIDExOTAxNywgNjY0MjIsIDg0MzIsIDAsIDExMDczLCAwLCAKKyAgICA2NDMxNiwgMCwgMCwgODIwLCA0MTc0MSwgMCwgMTIwNjY3LCAxMjQ5ODEsIDY0Njg0LCAxMjY5OTIsIDMzNTksIDc4MDAsIAorICAgIDY5OTM0LCA2NTE3NywgNjIyNiwgMzUzLCAxMjM5NiwgMCwgMTE5NjEyLCA2NDc0MiwgMTI4NjgyLCA3ODg3OSwgMCwgCisgICAgMTI3OTM4LCAxMjQxMiwgMTk5NDEsIDAsIDEyMDI3NywgNzAzNTIsIDE4ODQsIDk0ODEsIDQyNDE4LCA3MDA1OSwgNDExNTcsIAorICAgIDAsIDExOTUsIDY0ODk4LCA3OTI0LCAwLCA0MTE1MSwgMjAxMCwgMTI4ODgzLCA0MTMyOCwgNDIzNDQsIDAsIDEyNDA5LCAwLCAKKyAgICA0MzYwLCAxMjcwMDksIDk3MzksIDEyODU1MCwgNjk5MzMsIDczOTIxLCA5MTc2MzEsIDQyNTIxLCA4NTM5LCAxMjg2MDYsIDAsIAorICAgIDExODk4NiwgMTI3MTQ4LCA0Nzg4LCAwLCA2ODAyMywgNjU3MzQsIDk4MzQ1NSwgNDM3OTAsIDEyMDI3NCwgMTMwNzUsIAorICAgIDc0NDI5LCA5NDA2MywgNjQ1NjksIDQzNTMyLCAxMDgzNywgMjQ5MiwgMTI3MTk3LCAxMTg5MDEsIDY4NjM3LCA0MTEzNiwgCisgICAgNDM3ODUsIDExODEzLCA5NjQ5LCA0MTE1NCwgMTEzNzMxLCA1MTI4LCA0MDM4LCA0MTE0MywgNjU2MDQsIDY0ODU5LCAKKyAgICA0MTU5MiwgNjc3MSwgMTY0OCwgNTQzNSwgNjcyOTUsIDY3MzQsIDQxMzQzLCAxMTk4NDgsIDY1NDM5LCAxMjcwOSwgNjk4NiwgCisgICAgOTIzNjQsIDY4MDE1LCAxMjA1MzMsIDQxMzQ5LCA3MDAyMSwgMTI1ODEsIDEwMzc0LCA1MTc1LCAwLCA3MzgwNiwgMTAyNTQsIAorICAgIDExMzY4MSwgMTAyNzgsIDEwMjYyLCA2OTg1OCwgNDEzNDYsIDAsIDYwNywgMCwgMTE5ODUyLCAxMjg4NDYsIDEyOTIzLCAKKyAgICAxMDMxNCwgMTAyODIsIDY1NDc3LCAxMDM3OCwgMTIwMjk3LCA0MDk3NiwgODI2NSwgMTI5MTQ5LCA3ODYzOSwgNDA5NzUsIAorICAgIDU4NDAsIDQyODM4LCAwLCA0MDk3OCwgOTgzODk3LCA5Mjk0NSwgMTI4MDIwLCAxMTk4MDksIDAsIDY2NDQ0LCAxMDUzOCwgCisgICAgMTIwODEwLCAyNTUwLCAxMTk4MzYsIDY3NzksIDEyOTEzMCwgMCwgMzUyNSwgNjgyNCwgMTE4ODg2LCA5ODM1ODIsIDAsIAorICAgIDU2MTksIDY1ODIyLCAxMTM3NTEsIDExMzczOCwgNzQ1NSwgOTE3OTY2LCA1NjE2LCAxMTQ4NiwgOTY1NiwgMCwgMCwgCisgICAgMTA3MjcsIDU2MTUsIDEyOTA3MSwgMTIwNTUxLCA0MjM4MCwgNjQ4OTUsIDQzNjkzLCA2NjQ1MSwgODA4LCA1NDU1LCAKKyAgICAxMTM0NywgMCwgMTAyNiwgNTYyMCwgMTk0ODg3LCAwLCAxMTM1MCwgNTYxNywgMCwgOTIyNSwgNjQ2MzksIDEyNzA3MywgCisgICAgOTE0NSwgMTI4MDYwLCAxMzM4LCAxMjA1ODEsIDk4MzE1OCwgMTI3MzksIDQ2MDMsIDMwODQsIDcwNDA4LCA5MjQ4NCwgCisgICAgOTg1OCwgNjAzNywgMCwgMzk3NCwgNzgyMTMsIDEwMjkwLCA5ODM3MDQsIDMwODMsIDEwMzIyLCAxMjkwNDgsIDEyOTAzMCwgCisgICAgMCwgNDEwMzYsIDY2ODk3LCAwLCA0MzMyMSwgNjU2MDYsIDEyNzA3MSwgNDEwMzIsIDQyMzg4LCAwLCA2NDcwMCwgMTAwMTEsIAorICAgIDE0NDUsIDQwOTYxLCAwLCAxMTkxMDUsIDAsIDQwOTYwLCAwLCA2NzcyNywgMTI1MTA2LCAyMjIzLCA2NDk1MiwgMTA0MDIsIAorICAgIDAsIDEyNzE3OSwgOTIzMDQsIDEwNjAzLCAwLCAwLCA5ODMxMTMsIDAsIDY3MTQsIDEwMDgzLCAxMjcwNjksIDE5NDg5NSwgCisgICAgNzgzNjcsIDY5OTc2LCAwLCA5Mzk2MywgOTA3MywgNDI1ODUsIDY0MzAyLCAxMDcwNCwgNjUwMzAsIDQ3ODcsIDAsIDc0ODI5LCAKKyAgICAwLCA2NTQyMywgMCwgMTI4MTE4LCA5NTcwLCA1NTI2MCwgOTUyNSwgMjY4OSwgOTE3NjI2LCA2NTQyNiwgMTk0ODcyLCAKKyAgICA5MTc2MjQsIDQzNzQwLCA5ODMxNzcsIDQwOTY2LCA5MTc2MjIsIDEzMjg2LCAzOTk4LCA0MjU5OCwgNDI1OTYsIDUwMywgCisgICAgNzQyMzcsIDg3MzUsIDI2OTAsIDY2NDg4LCA0MjgzNiwgMTI3MTUwLCA0MTk1NCwgOTE3NjE3LCAxNjUyLCA3NzIsIDY2ODgsIAorICAgIDgzMTAsIDY1NDI4LCAzNDg3LCA0MzQxNiwgMzU4NSwgMTAxOTQsIDQzMzIwLCAxMTkxNTksIDczOTU1LCA5MjMxNSwgNjQ2OCwgCisgICAgNDE5NzYsIDk3MjAsIDkxNzYwNiwgMTExNzksIDQxOTcwLCA2NjI1NSwgNTgzNiwgMTIzNTgsIDAsIDQzNTUsIDkwNDgsIAogICAgIDEyMTgwLCA2NTAyNywgNjQ2ODAsIDEzMDM4LCA0MzY5OSwgMCwgNDE0ODgsIDEyODA4NywgODUyNywgMTk0OTE3LCAxMjM2MiwgCi0gICAgMTI0MzUsIDEyMzYwLCA0MTA1MywgMzI2NiwgMCwgMTIzNTYsIDg2MTYsIDQxNDY2LCAwLCA5MjU4OCwgMTE0NTAsIDAsIAotICAgIDM2MzgsIDEyMzU0LCAwLCAzMjE2LCAwLCAyMzU4LCA5MjYwNiwgODYzMywgMCwgOTgzNzQ1LCAxMTkxODIsIDY5MjQ0LCAwLCAKLSAgICAwLCAxMTc1OSwgMTk0OTAzLCA2MzY4LCA3NDgyMywgMCwgNDE0MjMsIDgwNzgsIDEwNTA0LCAxMjc1NTgsIDQxNjk4LCAKLSAgICA0MjIzNywgMCwgNzAwMiwgOTgzNjc4LCA0MTQzMCwgNDIyNjcsIDQxMDUxLCA0MTQ4NCwgMCwgMCwgNDEwNTAsIDQxNDczLCAKLSAgICAxMDQ2NiwgMTMwOTksIDAsIDAsIDAsIDY0MzUsIDAsIDExMzYyLCAwLCAwLCA2NTM4MiwgMCwgNDE0MjAsIDAsIDM2MjUsIAotICAgIDc4MTU3LCA0MTQwOSwgMCwgNjk2MzksIDIwNDEsIDkxNzgsIDk2NzIsIDQxNDI3LCA0MzU0MSwgNDMzMTcsIDAsIDAsIDAsIAotICAgIDQxNDI0LCA5MTc1OTgsIDEyMDU0NiwgMCwgMTI4MjEyLCAwLCA0MTQxNywgMTI2MSwgMCwgMCwgMTIxMDIsIDExOTY2MiwgCi0gICAgNDE0MDEsIDAsIDEyNzUzOCwgMCwgNzgyNTEsIDAsIDQyMjkwLCAzMjc1LCA5MjQ3MiwgNDIzMjksIDc0NzU5LCAwLCAwLCAwLCAKLSAgICA5MjM4OCwgNjk2NDksIDEwOTg5LCA3NDIzNCwgOTgzMTQwLCAxMDU5OCwgNzQxMCwgMjY2OSwgOTAzLCAwLCAyOTIwLCAwLCAKLSAgICAxMjcyMzIsIDc0NjAzLCA2NDUwNCwgMTk5MjgsIDAsIDAsIDM5MTcsIDAsIDExNzMyLCAwLCA5ODMxODAsIDQxNDQ4LCAKLSAgICA0MTQ2MSwgMTI4ODIzLCAwLCAxMjc5MTIsIDAsIDg4MTksIDEyNjYzLCAwLCA0MTE4NCwgNzQwMTQsIDIzMiwgNzQ4MzUsIAotICAgIDEyMDY0NiwgOTE2OCwgNjU3ODYsIDAsIDAsIDAsIDkwOTQsIDAsIDExNzU4LCA2ODQyNSwgMCwgMTA2NCwgNDI0NjcsIAotICAgIDEyODA0NCwgMTAxMTUsIDE5OTI0LCA5MjcxMSwgMCwgNzg2MiwgNjQ1NTEsIDEzMjI0LCA4NTE2LCA0MTg2MiwgNjY2NTAsIAotICAgIDc1NjEsIDc4NjE4LCA2OTc5MywgMTg3OCwgMCwgOTgzMjY5LCAyOTExLCAwLCA0MTE3OCwgNTQyNywgNjQ4MjMsIDAsIDAsIAotICAgIDM3ODcsIDQxMTc0LCAwLCA0MTQ1OCwgMCwgNDE0NjMsIDQyNDEzLCAxMTI5MiwgMjQwNiwgNzc1LCAwLCA2NTU4NCwgCi0gICAgNjk5MjMsIDYwNzQsIDk2MTgsIDEyODY2OCwgOTgzOTUyLCA0MzQ0MCwgMCwgMTk0OTAxLCA0MTQzNiwgMzY1NiwgMCwgCi0gICAgMTIwNjAwLCA0MTQ1NiwgMCwgMTU5OSwgMTEzMzMsIDAsIDY3MDMsIDg1MTMsIDAsIDE2MTMsIDAsIDY4NDU2LCAxMjU5OCwgCi0gICAgOTgzMTkxLCAxMjA3MzQsIDc4NzQ1LCA3NDUwMCwgNDE0NjAsIDEwMTQ1LCAxMDU0MiwgOTkzNywgNzg3NDYsIDcwMDI5LCAKLSAgICA5OTA1LCAwLCA2NTczMCwgMCwgMTIwMzc0LCA4NDI3LCAxMjAzNzUsIDU1MjQ2LCAxMjAzNzYsIDAsIDExNDk3LCA2NDY4NywgCi0gICAgNzQwMDgsIDQyNTkyLCAzODcxLCAwLCAxMjgzMDUsIDkxMTEsIDU3NDEsIDAsIDE5NDg0NiwgMTIwMzY2LCAxMTkxMTEsIAotICAgIDEyMDc0NSwgMCwgMTIwMzY4LCAwLCAxMTY0OCwgMCwgMTk0ODczLCAxMjAzNjQsIDQxNTg3LCAxMjAzNjUsIDAsIDc0MzIyLCAKLSAgICA0MjExMywgMCwgMTI3MTU1LCAxMjE3MiwgMCwgNzQ1MzAsIDY1Mjk4LCA2NTcyMywgMTk0ODQwLCA3Mzg3MSwgNjU3MjQsIAotICAgIDc5MjgsIDEyMDM1NCwgOTgzMDk1LCA0MTU5NSwgNzM3MzAsIDAsIDQyMTE4LCA3MzgzMCwgNjYwNDIsIDEwMzU1LCAKLSAgICA5ODMxMTAsIDc4NzUsIDAsIDQxNTk4LCAzOTkzLCAwLCAxNTQ1LCA0MDk3MSwgNTM2LCAxMjg1MjEsIDQzMDI5LCAwLCAwLCAKLSAgICA2NTE3MywgNjUyODYsIDAsIDAsIDAsIDAsIDAsIDAsIDQxMzc1LCA1NDAyLCAwLCAwLCAxNjg3LCAxMjA1MDMsIDkxNzgxNywgCi0gICAgMCwgNzgxOTQsIDY0MzI2LCA0MDk2OSwgMTA1MjYsIDc4NzUzLCA4MzIzLCA0MDk2OCwgMTMzOSwgMTE3MzEsIDc4NzU2LCAwLCAKLSAgICA2NTQ2MCwgMTIyNDIsIDEyODUxMywgODAyMCwgMTA4NDMsIDExNTU0LCAwLCAwLCA4MjY2LCA0MTAwNiwgNjU3MjIsIDAsIAotICAgIDEwNzEwLCAwLCAxMTg5NDIsIDY3NjY3LCA2NDU2NywgMTE5MTU1LCAxOTUwOTEsIDAsIDExOTYzNiwgNjc4NTcsIDEyMDY4NywgCi0gICAgMCwgOTgzMDY2LCAxMTc1NSwgNjYzMDUsIDAsIDAsIDEwOTE3LCA5Mzk3OSwgMCwgMTEyNzIsIDIwNDAsIDQxMjQ3LCAKLSAgICA0MTMyNiwgMTk1MDYwLCAxNzQxLCA0MjM3MCwgMTIyNywgMCwgMCwgMTE0MTMsIDAsIDAsIDUyODMsIDE1ODYsIDQ5NzgsIDAsIAotICAgIDE5ODQsIDExODMwLCAwLCA5MjI5MywgNDA5ODQsIDEyODMwNiwgOTM3MywgMCwgMTI5MTYsIDYyODQsIDAsIDQxNjYzLCAwLCAKLSAgICAwLCAwLCA5MjM3LCA5Mzg1LCA0MTY0OCwgMCwgMTk0NTgwLCAyMjk5LCA0MTY2NiwgMTgzMCwgNzM3ODMsIDIwNTYsIAotICAgIDQxMjg3LCA5MjYxMCwgMCwgMCwgNDIyMTksIDEyODI1NywgMCwgNDE5ODcsIDQxNjc2LCA5ODMwNTksIDEyMDgyMywgCi0gICAgOTgzMTQ0LCA0MTY3MCwgMCwgOTI1OTAsIDI3OTYsIDU1MjkxLCAxMTY4MywgOTkwMiwgNzQ1MjEsIDY3OTg4LCAxMTQ1MSwgCi0gICAgOTgzMTExLCAxMjg4MjIsIDQyNjMxLCAyMzU5LCAwLCA2Nzg0NCwgNzQxNjQsIDQxMjM4LCA1NDgsIDExNDA1LCAxMzEzMywgCi0gICAgNjQzNjgsIDk4MzIzOSwgMTI4Nzk1LCAwLCAzOTcsIDQzNjIyLCA0MjEzOSwgOTU0NywgOTU5MCwgMTI4MjM4LCAxNjE0LCAKLSAgICA0MzY2MSwgNjQzNTYsIDY2MzA3LCA2NjUxLCAxMzU4LCAwLCA0MjgsIDk2MjAsIDE0NjYsIDc4MTEyLCAxMDk4MiwgCi0gICAgMTE4ODMxLCAxMzMzLCA3MTA0LCA0MDcsIDY0MjUsIDEyODgzNCwgNzQyNTMsIDAsIDAsIDAsIDU4MDQsIDExOTc2LCA4NTU0LCAKLSAgICA5MjcyMSwgMCwgMCwgOTA1NywgNDIyOTQsIDQxMjE4LCAwLCAwLCA3ODEzNywgMTg4MywgMTA5NTIsIDgwNDgsIDc4MTQyLCAKLSAgICA0MTIyNSwgOTI2MjEsIDQyOTE1LCA5ODM2NzYsIDEyODY4NCwgMCwgNDQwNywgMCwgNjU4MDksIDExOTA3NCwgMTk0ODIxLCAKLSAgICA4NDQ4LCA3MTQxLCA3NDE4MywgMCwgMTI2NzUsIDEyNjU5LCAwLCA0MjM2MywgMTIwNjI0LCAxOTQ4MjQsIDU1MjczLCAKLSAgICAxMDc2NiwgMTIwMTIsIDIzODYsIDY0NzMyLCA5MTcwLCA5MTc4MjEsIDkxMjMsIDY0NTg1LCAxMjA1MDAsIDExOTE1OCwgCi0gICAgNzE0MCwgMTA5NzcsIDEyNzM3OCwgNDE2NCwgOTA4MSwgMCwgMTIwNTY5LCA0MjA0OSwgNDIwNDIsIDg3MDksIDEyODI4MywgCi0gICAgMTI2NDc3LCAxMjA2MzcsIDQyNDE5LCA2NDc5OSwgNDIwNDcsIDAsIDAsIDg0NzAsIDExODA3LCA2NTg5NywgNTc3LCAwLCAKLSAgICA5ODM3NjAsIDc0MzAwLCAwLCAxMjczMDgsIDc0ODQwLCAwLCAwLCAxMjg3OTEsIDkyMjI0LCA4NzM2LCAxNDE0LCA0MjY0MywgCi0gICAgOTY4MywgNDM0ODYsIDc0MzQ0LCAwLCAyNTM2LCAwLCA2NjMzMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjYzMTcsIDY5OTQ1LCAKLSAgICA2NjMxNSwgMjEwNiwgMTIwMjIyLCAxMTI3MywgMCwgNDMwMDQsIDc1NDEsIDAsIDAsIDk2MSwgNjQzMDcsIDY2MzI0LCAKLSAgICA2NDkwNiwgMTI4NTkxLCAzMTA2LCA2NTkxNywgNDEyODQsIDE2OTYsIDAsIDg5MSwgMTIxMDUsIDAsIDQyNjI0LCAxMjgwMiwgCi0gICAgMzI2NCwgODgyNCwgMTMyNjgsIDQzMDAzLCAxMDkzNiwgMCwgMCwgMCwgMTk0ODI2LCA5MjY4OCwgMCwgMjMyMiwgMTIwMzcxLCAKLSAgICA5ODM1ODQsIDExNDQ5LCAxMjgxODcsIDQyODY4LCA0MTI4NSwgMzU0NywgMCwgMCwgMTI4NzkzLCA5ODMzOTgsIDQzMjE2LCAKLSAgICA2MDg5LCA3ODY4MiwgMCwgMTIwNTc4LCA0MTcwLCAxMDI5LCAxMjc3NjEsIDEyNzAzNiwgMTE5MjI0LCA0MjM3NCwgMCwgCi0gICAgNzQ0LCAwLCAwLCAwLCA2NTgyMywgMTI3ODI2LCAwLCAzNTUxLCAwLCAwLCA0NjIzLCA1NTI2OCwgMCwgNDU5OCwgOTgzMTYyLCAKLSAgICA2NTEzNiwgMTI3MTM2LCAwLCAwLCAxMDg1MSwgMCwgNjE3OSwgOTI2MDIsIDYxODAsIDAsIDExOTUyLCAxMjA3NzgsIAotICAgIDc4NjQ4LCAxMTk3MiwgNzg2NDYsIDc4NjQ3LCA3ODY0NCwgNzg2NDUsIDE3NywgNzg2NDMsIDYxNzYsIDEyMDU4MCwgMCwgMCwgCisgICAgMTI0MzUsIDEyMzYwLCA0MTA1MywgMzI2NiwgMCwgMTIzNTYsIDg2MTYsIDQxNDY2LCA0MjkyNCwgOTI1ODgsIDExNDUwLCAwLCAKKyAgICAzNjM4LCAxMjM1NCwgNjcyOTksIDMyMTYsIDAsIDIzNTgsIDkyNjA2LCA4NjMzLCA3MTIwMSwgOTgzNzQ1LCAxMTkxODIsIAorICAgIDY5MjQ0LCAxMjg0MTgsIDcwMzc1LCAxMTc1OSwgMTk0OTAzLCA2MzY4LCA3NDgyMywgNjczMDMsIDQxNDIzLCA4MDc4LCAKKyAgICAxMDUwNCwgMTI3NTU4LCA0MTY5OCwgNDIyMzcsIDk4MzQ1MiwgNzAwMiwgMTI1MTM1LCA0MTQzMCwgNDIyNjcsIDQxMDUxLCAKKyAgICA0MTQ4NCwgMCwgMTI4MDU2LCA0MTA1MCwgNDE0NzMsIDEwNDY2LCAxMzA5OSwgOTgzMzI3LCA3MDM3MSwgOTgzNzc3LCAKKyAgICA2NDM1LCAwLCAxMTM2MiwgMTI4OTczLCAwLCA2NTM4MiwgOTI3NzAsIDQxNDIwLCA5ODM2NTUsIDM2MjUsIDc4MTU3LCAKKyAgICA0MTQwOSwgMCwgNjk2MzksIDIwNDEsIDkxNzgsIDk2NzIsIDQxNDI3LCA0MzU0MSwgNDMzMTcsIDAsIDAsIDAsIDQxNDI0LCAKKyAgICA5MTc1OTgsIDEyMDU0NiwgMCwgMTI4MjEyLCAwLCA0MTQxNywgMTI2MSwgMCwgMCwgMTIxMDIsIDExOTY2MiwgNDE0MDEsIDAsIAorICAgIDEyNzUzOCwgMCwgNzgyNTEsIDEyNDk0MywgNDIyOTAsIDMyNzUsIDkyNDcyLCA0MjMyOSwgNzQ3NTksIDEyNTE0MSwgMCwgCisgICAgMTI4MjU3LCA5MjM4OCwgNjk2NDksIDEwOTg5LCA3NDIzNCwgMTEzNzgxLCAxMDU5OCwgNzQxMCwgMjY2OSwgOTAzLCAwLCAKKyAgICAyOTIwLCAwLCAxMjcyMzIsIDc0NjAzLCA2NDUwNCwgMTk5MjgsIDAsIDEyODQxMSwgMzkxNywgMCwgMTE3MzIsIDAsIAorICAgIDk4MzE4MCwgNDE0NDgsIDQxNDYxLCAxMjg4MjMsIDAsIDExMzcyMSwgMTEzNzU4LCA4ODE5LCAxMjY2MywgMCwgNDExODQsIAorICAgIDc0MDE0LCAyMzIsIDc0ODM1LCAxMjA2NDYsIDkxNjgsIDY1Nzg2LCAwLCAwLCAwLCA5MDk0LCAwLCAxMTc1OCwgNjg0MjUsIAorICAgIDcxODg2LCAxMDY0LCA0MjQ2NywgMTI4MDQ0LCAxMDExNSwgMTk5MjQsIDkyNzExLCAwLCA3ODYyLCA2NDU1MSwgMTMyMjQsIAorICAgIDg1MTYsIDQxODYyLCA2NjY1MCwgNzU2MSwgNzg2MTgsIDY5NzkzLCAxODc4LCAwLCA5ODMyNjksIDI5MTEsIDEyODIxOCwgCisgICAgNDExNzgsIDU0MjcsIDY0ODIzLCAwLCAwLCAzNzg3LCA0MTE3NCwgMCwgNDE0NTgsIDY3MTQ3LCA0MTQ2MywgNDI0MTMsIAorICAgIDExMjkyLCAyNDA2LCA3NzUsIDAsIDY1NTg0LCA2OTkyMywgNjA3NCwgOTYxOCwgMTI4NjY4LCA5ODM3MjcsIDQzNDQwLCAKKyAgICA3NDUzOSwgMTk0OTAxLCA0MTQzNiwgMzY1NiwgOTE3ODA1LCAxMjA2MDAsIDQxNDU2LCA2NzY5NCwgMTU5OSwgMTEzMzMsIAorICAgIDE5NDg5NiwgNjcwMywgODUxMywgMCwgMTYxMywgMCwgNjg0NTYsIDEyNTk4LCA5ODMxOTEsIDEyMDczNCwgNzg3NDUsIAorICAgIDc0NTAwLCA0MTQ2MCwgMTAxNDUsIDEwNTQyLCA5OTM3LCA3ODc0NiwgNjcxNDQsIDk5MDUsIDAsIDY1NzMwLCAwLCAKKyAgICAxMjAzNzQsIDg0MjcsIDEyMDM3NSwgNTUyNDYsIDEyMDM3NiwgMTk0OTQwLCAxMTQ5NywgNjQ2ODcsIDc0MDA4LCA0MjU5MiwgCisgICAgMzg3MSwgOTgzNTg0LCAxMjgzMDUsIDkxMTEsIDU3NDEsIDAsIDE5NDg0NiwgMTIwMzY2LCAxMTkxMTEsIDExMTUwLCAwLCAKKyAgICAxMjAzNjgsIDk4MzU3MCwgMTE2NDgsIDAsIDE5NDg3MywgMTIwMzY0LCA0MTU4NywgNzAzOTEsIDEyNzA2MSwgNzExMDgsIAorICAgIDQyMTEzLCAwLCAxMjcxNTUsIDEyMTcyLCA5Mjk4OCwgNzQ1MzAsIDY1Mjk4LCA2NTcyMywgNjgyODksIDczODcxLCA2NTcyNCwgCisgICAgNzkyOCwgMTIwMzU0LCA5ODMwOTUsIDQxNTk1LCA3MzczMCwgNjQ2NzEsIDQyMTE4LCA3MzgzMCwgNjYwNDIsIDEwMzU1LCAKKyAgICA5ODMxMTAsIDc4NzUsIDAsIDQxNTk4LCAzOTkzLCAxOTQ5MDksIDE1NDUsIDQwOTcxLCA1MzYsIDEyODUyMSwgNDMwMjksIDAsIAorICAgIDAsIDY1MTczLCA2NTI4NiwgMCwgNzAzMzEsIDkxNzc5OSwgMCwgOTQwNjUsIDAsIDQxMzc1LCA1NDAyLCAxMjg3NDgsIDAsIAorICAgIDE2ODcsIDEyMDUwMywgOTE3ODE3LCAwLCA3ODE5NCwgNjQzMjYsIDQwOTY5LCAxMDUyNiwgNzM3NDcsIDgzMjMsIDQwOTY4LCAKKyAgICAxMzM5LCAxMTczMSwgNzg3NTYsIDEyNzEwOCwgNjU0NjAsIDEyMjQyLCAxMjg1MTMsIDgwMjAsIDEwODQzLCAxMTU1NCwgMCwgCisgICAgMCwgODI2NiwgNDEwMDYsIDY1NzIyLCAwLCAxMDcxMCwgNzQwNDUsIDExODk0MiwgNjc2NjcsIDY0NTY3LCAxMTkxNTUsIAorICAgIDkyOTAwLCAwLCA3MTg4OSwgNjc4NTcsIDEyMDY4NywgMCwgOTI5NTgsIDExNzU1LCA2NjMwNSwgNjgzMzIsIDAsIDEwOTE3LCAKKyAgICA5Mzk3OSwgMCwgMTEyNzIsIDIwNDAsIDQxMjQ3LCA0MTMyNiwgMTk1MDYwLCAxNzQxLCA0MjM3MCwgMTIyNywgMCwgCisgICAgMTI4OTU4LCAxMTQxMywgMTI3MjUwLCAwLCA1MjgzLCAxNTg2LCA0OTc4LCAwLCAxOTg0LCAxMTgzMCwgNDM4MTksIDkyMjkzLCAKKyAgICA0MDk4NCwgNDI5MDQsIDkzNzMsIDAsIDEyOTE2LCA2Mjg0LCAxOTQ4ODgsIDQxNjYzLCA5ODMwOTMsIDAsIDY4MzEzLCAKKyAgICA5MjM3LCA5Mzg1LCA0MTY0OCwgMCwgMTI4OTUzLCAyMjk5LCA0MTY2NiwgMTgzMCwgNzM3ODMsIDIwNTYsIDQxMjg3LCAKKyAgICA5MjYxMCwgMCwgNzE5MTcsIDQyMjE5LCA3MDExOCwgMCwgNDE5ODcsIDQxNjc2LCA5ODMwNTksIDEyMDgyMywgOTgzMTQ0LCAKKyAgICA0MTY3MCwgMCwgOTI1OTAsIDI3OTYsIDU1MjkxLCAxMTY4MywgOTkwMiwgNzQ1MjEsIDY3OTg4LCAxMTQ1MSwgOTgzMTExLCAKKyAgICA3ODg1NSwgNDI2MzEsIDIzNTksIDcxODkwLCA2Nzg0NCwgNzQxNjQsIDQxMjM4LCA1NDgsIDExNDA1LCAxMzEzMywgNjQzNjgsIAorICAgIDEyNzI3MCwgMTI4Nzk1LCA2NjI3MiwgMzk3LCA0MzYyMiwgNDIxMzksIDk1NDcsIDk1OTAsIDEyODIzOCwgMTYxNCwgCisgICAgNDM2NjEsIDY0MzU2LCA2NjMwNywgNjY1MSwgMTM1OCwgMTI3OTYyLCA0MjgsIDk2MjAsIDE0NjYsIDc4MTEyLCAxMDk4MiwgCisgICAgMTEzNzg1LCAxMzMzLCA3MTA0LCA0MDcsIDY0MjUsIDEyODgzNCwgNzQyNTMsIDAsIDAsIDAsIDU4MDQsIDExOTc2LCA4NTU0LCAKKyAgICA5MjcyMSwgMCwgNzAxNjcsIDkwNTcsIDQyMjk0LCA0MTIxOCwgMTI1MDk3LCAwLCA3ODEzNywgMTg4MywgMTA5NTIsIDgwNDgsIAorICAgIDcwNDQzLCA0MTIyNSwgOTI2MjEsIDQyOTE1LCAxMjg2MTYsIDEyODUxMiwgMCwgNDQwNywgNzQ2NDgsIDY1ODA5LCAxMTgzNywgCisgICAgMTk0ODIxLCA4NDQ4LCA3MTQxLCA3NDE4MywgMTIwMzM0LCAxMjY3NSwgMTI2NTksIDc0NjM0LCA0MjM2MywgMTIwNjI0LCAKKyAgICAxOTQ4MjQsIDU1MjczLCAxMDc2NiwgMTIwMTIsIDIzODYsIDY0NzMyLCA5MTcwLCA5MTc4MjEsIDkxMjMsIDY0NTg1LCAKKyAgICAxMDI5NiwgMTE5MTU4LCA3MTQwLCAxMDk3NywgMTI3Mzc4LCA0MTY0LCA5MDgxLCAwLCAxMjA1NjksIDQyMDQ5LCA0MjA0MiwgCisgICAgODcwOSwgMTI4MjgzLCAxMjY0NzcsIDEyMDYzNywgNDI0MTksIDY0Nzk5LCA0MjA0NywgMCwgMTk0ODIwLCA4NDcwLCAKKyAgICAxMTgwNywgNjU4OTcsIDU3NywgMCwgOTgzNzYwLCA3NDMwMCwgMCwgMTI3MzA4LCA3NDg0MCwgMTI2NDc0LCAwLCAxMjg3OTEsIAorICAgIDkyMjI0LCA4NzM2LCAxNDE0LCA0MjY0MywgOTY4MywgNDM0ODYsIDc0MzQ0LCAwLCAyNTM2LCAwLCA2NjMzMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMTk0ODMwLCA2NjMxNywgNjk5NDUsIDY2MzE1LCAyMTA2LCA5Mjc2MiwgMTEyNzMsIDEyNTA2OCwgNDMwMDQsIAorICAgIDc1NDEsIDAsIDAsIDk2MSwgNjQzMDcsIDY2MzI0LCA2NDkwNiwgMTI4NTkxLCAzMTA2LCA2NTkxNywgNDEyODQsIDE2OTYsIAorICAgIDAsIDg5MSwgMTIxMDUsIDAsIDQyNjI0LCAxMjgwMiwgMzI2NCwgODgyNCwgMTMyNjgsIDQzMDAzLCAxMDkzNiwgMCwgMCwgMCwgCisgICAgMTk0ODI2LCA5MjY4OCwgMzU2NiwgMjMyMiwgMTIwMzcxLCA3MDgzMSwgMTE0NDksIDEyODE4NywgNDI4NjgsIDQxMjg1LCAKKyAgICAzNTQ3LCAwLCAwLCAxMTM3NDYsIDk4MzM5OCwgNDMyMTYsIDYwODksIDc4NjgyLCA2ODQ5MCwgMTIwNTc4LCA0MTcwLCAKKyAgICAxMDI5LCAxMjc3NjEsIDEyNzAzNiwgMTE5MjI0LCA0MjM3NCwgMCwgNzQ0LCA5Mjg4MywgMTEzNzM5LCAwLCA2NTgyMywgCisgICAgMTI3ODI2LCAxMTE4MiwgMzU1MSwgOTI5MzgsIDAsIDQ2MjMsIDU1MjY4LCAxMjg3MzgsIDQ1OTgsIDk4MzE2MiwgNjUxMzYsIAorICAgIDEyNzEzNiwgMCwgMTI4MTY5LCAxMDg1MSwgMCwgNjE3OSwgOTI2MDIsIDYxODAsIDAsIDExOTUyLCAxMjA3NzgsIDc4NjQ4LCAKKyAgICAxMTk3MiwgNzg2NDYsIDc4NjQ3LCA3ODY0NCwgNzg2NDUsIDE3NywgNzg2NDMsIDYxNzYsIDEyMDU4MCwgOTgzNjk2LCAwLCAKICAgICA2MTc3LCA5MDIwLCA3ODY1MiwgNzg2NTMsIDYxNzgsIDEyMDI0OSwgMTIwMjQyLCAxMjgwMjcsIDY3NjczLCAyMjE0LCAKLSAgICA4NzU0LCAwLCAxMjAyMzcsIDIxMzcsIDQzMDgxLCAwLCAwLCA5MTM2LCAxMjAyNDAsIDQ0MDEsIDQxMjgwLCAwLCA4OTc0LCAKLSAgICAyMzA4LCAwLCA3NDE0OSwgMCwgMjMxOCwgOTgzMTgzLCA2NjM2MSwgODE5OCwgMCwgNjQzNjAsIDEyNjAxLCA0MjUzNiwgCi0gICAgNjUyNjYsIDEyMDgyNywgNzQzMDcsIDkyNDYyLCA2OTcwLCA1NDA0LCA0MzMzMiwgMzY2NywgNzkzNiwgMTI5MjUsIAotICAgIDEyNjk4OSwgNjM4NSwgMCwgMCwgMTE4OTQ5LCAxMDg3NCwgNjU1MDUsIDEyODA4MywgMCwgNDIwNTMsIDIwNzUsIDQyMDU3LCAKLSAgICAxMTA4MywgNDIwNTIsIDAsIDAsIDY3NjUxLCAwLCA5NjY1LCA5MjMwMCwgOTgzNjY2LCAxMzE4MSwgMCwgMCwgMCwgNzAwODgsIAotICAgIDc0MTQ4LCAwLCAwLCAxMjAyMjUsIDEyMDIyOSwgMTIwMjI0LCA3NDE3MiwgNDExNDUsIDAsIDk0MDk2LCA5ODM5NDYsIAotICAgIDQxMTQ4LCA4NjgzLCA3NTk0LCAxMjc1MTksIDAsIDExOTA5MCwgMTA4NjksIDQzNDU4LCA0MTE0NiwgOTI0MDcsIDExNDQxLCAKLSAgICAwLCAzNTEyLCAxMTk2MzMsIDk4MzcwOSwgODEwMywgMCwgMCwgNjUxODQsIDExNzgwLCA0MTU2MywgNDI3OTYsIDAsIAotICAgIDY5NzQyLCA0MTU0NCwgNjUxNDYsIDAsIDAsIDAsIDAsIDE5OTQyLCAwLCAxMTg5MDgsIDc5ODgsIDEwNDM2LCA3NDI3MywgCi0gICAgMzI3MSwgNzM4MDQsIDY0NzExLCAwLCA5NDA2NCwgMCwgMCwgMzgwNCwgMTMwNzAsIDExNTU3LCA0MjA0NCwgMCwgMTA5NSwgCi0gICAgMCwgMzU5OSwgMTI3Nzc0LCAwLCAxMjg4NjEsIDg1MTQsIDAsIDAsIDAsIDc0MzQ2LCA2NjY5NywgMCwgMTE2ODQsIDAsIAotICAgIDkyNDg2LCA5MTc2MDMsIDAsIDQyMDQzLCA0MzIzMiwgNjY2NzcsIDAsIDQyMDQ2LCA3ODI0MSwgNDAzNiwgMTI2NDgxLCAwLCAKLSAgICAxMjgyMTMsIDE5NDg2MSwgMCwgMTE5NTQsIDkzOTc4LCAxNDUwLCAxMjk4NiwgMTM0MCwgMCwgNjU0NDEsIDkyNzIyLCAwLCAKLSAgICAwLCAxMjc3NzIsIDAsIDkxNzU0MiwgMCwgMCwgNjUzOSwgMCwgMCwgMCwgMTk0ODU2LCAwLCAxMjA0OTIsIDQxMTkwLCAKLSAgICAzOTczLCAxMTkzNjUsIDQ1NzUsIDQxMTkzLCA3OTgyLCA0MjksIDAsIDEyNzE5NCwgMCwgMTk0ODU0LCA2NTc5MiwgMCwgCi0gICAgMTE4OTY4LCA2NDE3LCAxMTg5MTgsIDc4MTc4LCAwLCAxOTQ4NTAsIDAsIDAsIDQ5MTksIDEwNTkwLCAxMjg1NTYsIDc3NTUsIAotICAgIDAsIDAsIDY0NTQ4LCAxMjA1MDYsIDE2MjEsIDEwMjE0LCA2NTEyNiwgMCwgMTI3MDA0LCAwLCAxMjE4OCwgOTgzNjY4LCAKLSAgICAxNjE3LCA4MDUwLCAwLCA1MDE1LCAwLCAxMTkxNzQsIDQyNTkwLCAxOTQ4NzEsIDE3NTYsIDc4MTgxLCAwLCA2NTc2OCwgCi0gICAgNjM1MiwgNDE4OTIsIDAsIDc1NTUsIDEzMTAzLCA1NDA4LCAyODE3LCAxMjE0LCA2OTkxOSwgOTIzMzUsIDk4MzEyNSwgMCwgCi0gICAgMCwgMCwgMTI3MTk1LCA3OTU3LCA4Njg5LCA2NDcyMywgMTA1NiwgNDI4OTYsIDc0MTQ3LCAxOTQ4MTMsIDAsIDU1Mjg2LCAKLSAgICA3MDczLCA2NTg1MCwgMTIzMjcsIDk4Mzk0OCwgMTE5MDI4LCAwLCAwLCAwLCAyMzQxLCA4NDUwLCA4NDg0LCA4NDc0LCAKLSAgICA5ODMyNjAsIDAsIDcwMDc5LCA4NDYxLCAxMjgxMDIsIDEyMTUzLCAxMjc5OSwgMCwgNDM3MDksIDQzNzA4LCA5NDUxLCAKLSAgICA3NTcxLCAxMzA3MywgMCwgMCwgNjgxLCA5ODMyNTIsIDcwMywgMCwgMzI3MiwgODc4MSwgMTI4OTQsIDcwMDc3LCAxMTcwOSwgCi0gICAgOTIyODgsIDc0NDQ2LCAwLCA5MjUzMiwgMCwgMTEzMzgsIDEyMDc2OCwgMzI3NiwgMCwgMCwgNjU5MjgsIDAsIDAsIDY1MDIxLCAKLSAgICA2NDc5NSwgNzQ1NzQsIDAsIDEwMDQ3LCA3ODgxNCwgMzI2MiwgNzg4MTEsIDQyNzExLCAwLCAwLCA2ODQ3OCwgMTYzLCA1NzYsIAotICAgIDk4OTUsIDE2NTUsIDc4ODE3LCA3NDU5MSwgNzg4MTUsIDc4ODE2LCA5ODMxMjIsIDAsIDAsIDAsIDEwMDM5LCAwLCAKLSAgICA5ODM5NDUsIDU2MjMsIDU3MTcsIDU3NzYsIDAsIDAsIDAsIDQxNTkxLCAxMTAzNiwgNjUyNTIsIDkyMzgyLCAwLCAwLCAwLCAKLSAgICA2Nzg0OCwgMCwgMCwgMCwgODg4NywgMTI3NTIxLCA3Mjk1LCAxMTAzMSwgMCwgNDMxNTcsIDAsIDg5NDYsIDEwMzQ4LCAKLSAgICAxMDQxMiwgODc1NSwgMCwgMCwgNTcxOCwgMTMyMjEsIDAsIDAsIDc4MTM1LCAwLCA5ODM3MTEsIDg4MTAsIDc0NDk5LCA2ODYsIAotICAgIDAsIDcxMzYyLCA0NjE5LCAxMTg5NTQsIDY2NTQsIDczNzY5LCA3NDQyNiwgMCwgMTIwNDAsIDY1Njg5LCAxMDEyOCwgCi0gICAgNjUxMTgsIDAsIDExOTE1MSwgNzQyMDUsIDkyNjUxLCAwLCAyNDAxLCA2ODE0NCwgODc5MiwgOTgzNjQ4LCAwLCA2NTQ1NSwgCi0gICAgMCwgOTIyNDYsIDAsIDExOTEyOSwgMCwgMTI4ODYsIDEyNzkyMCwgNjY2MjQsIDAsIDQzNTU3LCAxMDMwMCwgMTAxNjEsIAotICAgIDEwMzk2LCA3NDEzNSwgOTgzNDUzLCAxMTg5NDUsIDc4MTE4LCA3Mzg1MSwgMzAxMCwgNjQ0MSwgNzgxMjIsIDE0NTgsIAotICAgIDQxNDc1LCAxMjg2NzIsIDkzOTc1LCAwLCAxMTQ3OSwgMCwgMTIwMzU2LCA2MzUwLCAxMjg2NCwgNjk2NzQsIDc4MTE0LCAKLSAgICAxMDYxLCA2NDc4MCwgMjAwMSwgNDMxMTEsIDU1MjMwLCAxMjg2ODYsIDQwNTIsIDAsIDc2MjYsIDAsIDAsIDEwNDUsIDAsIAotICAgIDU2MzEsIDQxMTEzLCAwLCAwLCA0MzcwNywgNzQxMjcsIDAsIDAsIDg0ODYsIDAsIDczNzU4LCAyMzM1LCA0MzYyLCAKLSAgICA5ODMxOTUsIDEyNjU2MSwgNjkyMjEsIDEwMjUsIDAsIDQyNjI1LCA5MTc2MjcsIDc4MDg0LCA0MTQ0MywgMCwgMTI4MjA2LCAKLSAgICAwLCAxNzc0LCAxNTIzLCAwLCAwLCA0MTQ0NSwgNzgyMzYsIDAsIDg1NjcsIDQxNDQyLCAzOTg4LCAwLCA3ODIzNywgCi0gICAgMTE4OTEwLCAwLCA2NTI3NCwgODU2NCwgNzgxOTksIDc4MjM4LCAxMjc1MTUsIDAsIDAsIDQzNDQ2LCAwLCA2NjUxMywgCi0gICAgNjI1NiwgMCwgNTc5LCA1NTIxOCwgMTAyMDYsIDk4MzA3NSwgNjM3NSwgMjY3MywgMCwgMTE4MTQsIDAsIDQ0ODgsIDAsIAotICAgIDEyNzMzNiwgNjg0NTEsIDEwNDQ0LCAxMTg4NDYsIDEyNzMzNCwgMTE3OTksIDc0NDA3LCA2ODQ2NiwgNDQ4NywgMTI3ODQ5LCAKLSAgICA0MjgzMiwgMTAzMiwgMTIwMjY3LCA0MzQ1MCwgNzgyNTcsIDcyMDMsIDAsIDYxNCwgNzgxOTEsIDEyNzMyNSwgMTIwNjE1LCAKLSAgICAwLCA3ODI2MiwgMTI4NjY5LCAxMjczMjMsIDAsIDQzMTIxLCAwLCAwLCA5MjUxMywgMTA1MCwgNzU0OSwgMCwgMCwgOTMxNCwgCi0gICAgMCwgMCwgMTIwNjE2LCAwLCAxMDA1NywgMCwgMTI3MzEzLCAwLCA2NjUwNCwgOTgzMTcxLCAwLCAyMzA3LCAwLCA2NDMzMywgCi0gICAgMTI3MzEyLCAxMjg1NDcsIDczODczLCAwLCA5NDAzNSwgMCwgMTI3OTczLCAxMjg3MDgsIDAsIDEwMzYwLCA2NzQ2LCAwLCAKLSAgICA5MjI0NSwgNDQwLCAwLCAxMzA4NSwgOTIzMywgNzQyMTYsIDAsIDAsIDk5NTcsIDEyODI4NSwgNjY0NDcsIDgwNDYsIAotICAgIDY0OTYzLCA2NTc3NywgMTAxMjUsIDc0MjEyLCA0MjgxOSwgMTA5MTAsIDAsIDE1MjEsIDk4OTYsIDkzOTY1LCAxMDQ4NywgCi0gICAgNjk4NzgsIDEyNTI3LCAwLCA3OTcwLCAwLCAxMjg2NjAsIDAsIDY1NzY5LCA1MjQzLCA5ODQ5LCA1MjM5LCA2NTc3MSwgCi0gICAgOTgzMjM1LCAwLCA1MjM3LCA2OTcxNCwgMCwgMTAxMDMsIDUyNDcsIDQ3NjksIDAsIDExODk3NywgMTI4NzMsIDIyODMsIAotICAgIDk4MzIzNywgMCwgMzAwOCwgNDg5NiwgMCwgMTIwODcsIDAsIDU1MjMxLCA0MTEwMywgMCwgNjQ1NjUsIDQ3NzMsIDAsIAotICAgIDkyNzE3LCA3MDA3NCwgNDc3MCwgMCwgOTE3NTY3LCA4NzMxLCA2NTM3OCwgMTI3MzYyLCAxMjA2MTksIDkxMjIsIDEyODAzMywgCi0gICAgMTI2NjAwLCA0Nzc0LCAzMDE5LCA5OTk3LCAxMjgzNCwgMCwgOTQ1NiwgMTAyMTUsIDEyMDU0NywgMCwgMCwgMCwgMCwgCi0gICAgNzQ3NzYsIDQyODEsIDQ3NjgsIDAsIDQxNTM1LCA0MDk5LCA5MDE3LCAwLCAwLCA3ODA5NSwgMCwgNzgwOTYsIDAsIDAsIDAsIAotICAgIDc4MDk4LCAwLCA0MjgxNCwgODgwLCAwLCAwLCAxMjgwMjEsIDIxMzQsIDAsIDEwMTE2LCA5ODc3LCA5MjMyOSwgMCwgMCwgCi0gICAgNzA5NSwgMCwgNzQxMTYsIDY3NzgsIDAsIDc4MDkwLCA4MjQzLCAyNDI3LCAxMjgxNDEsIDcwOTMsIDAsIDExNTg1LCAKLSAgICAxOTUwMDMsIDk5NjIsIDAsIDEyMjIzLCAwLCAwLCAxNDM0LCAxMjAyNTQsIDU2MzcsIDExNTczLCAwLCAwLCAwLCAxOTk1MSwgCi0gICAgMCwgNzgxMjEsIDAsIDAsIDU1MjgzLCAwLCAwLCA3NDQzNywgMTE1NiwgODc0MCwgOTI0MTUsIDM3ODIsIDY0MzMxLCAwLCAKLSAgICA0MTM3MCwgMTAxNCwgODI2MSwgMCwgMCwgMTA4MzUsIDAsIDY1NTM2LCAwLCAxMjA0NjMsIDAsIDc3MDIsIDExODgyNCwgMCwgCi0gICAgNDMwMTAsIDY1Nzc5LCA2NTc4MywgMTE1MCwgMTA1NDcsIDU3MDAsIDAsIDEyMDYwMywgNjUzODMsIDIzMzksIDQyNTk0LCAKLSAgICA1Njk3LCAxMTg3ODgsIDAsIDEyODU3NiwgMCwgNDIyNTcsIDU2OTYsIDkyNjc3LCAxMjA0NjUsIDM4NjIsIDk2NDMsIDAsIDAsIAotICAgIDc2MzQsIDY1MTY3LCA5ODQ1LCAwLCAwLCA1NzAxLCA5NzIyLCA0MTQ5MCwgOTgzMTUzLCAxNDI2LCA2ODIxNywgMCwgCi0gICAgNjg0NDcsIDQyMjA0LCA1NTI3MCwgODU3MSwgMTk0OTkxLCA3ODA2NywgMCwgNzg4MTgsIDkyNzE5LCA0MzE4MiwgMTIxODQsIAotICAgIDAsIDQyMDIyLCAwLCAxMDI4MSwgMCwgNTY1MCwgNDMxOTQsIDY0NzEyLCAxMDc0NCwgMCwgOTkwLCA1NjQ3LCAwLCA3Mzg3LCAKLSAgICA3ODczNCwgNDExMTQsIDExNDc3LCA1NjQ2LCAxMjg3OSwgMTEwMTgsIDk4MzkzMCwgMzk0NSwgOTI1ODksIDAsIDAsIDAsIDAsIAotICAgIDc4MjEyLCAxMjc3NDYsIDEwMjAsIDczNzYzLCAwLCA3ODczMSwgNTY0OCwgNjQ3NDgsIDE5NDkxMCwgNzg3MzMsIDEwMjA1LCAKLSAgICAzNTQ1LCA5ODM1ODUsIDY5ODQsIDAsIDc0MDUxLCA5ODM2NTUsIDQzMjQyLCAxMjA0NTgsIDI2NjcsIDAsIDAsIDAsIDk5MTEsIAotICAgIDAsIDY1MDIwLCAxMDA5NywgMTE5MTY2LCAxMjcxNDUsIDk4MzY2MiwgMTE4ODM2LCA5ODM3NDgsIDc4NDI3LCAxMTQwLCAKLSAgICA3ODQyNiwgMCwgMTAxNTksIDAsIDAsIDgxMjgsIDAsIDAsIDkxNzk2NSwgMTgxNSwgMTk5MTAsIDg5MCwgMCwgMzI2NywgCisgICAgODc1NCwgMTI4NjUyLCAxMjAyMzcsIDIxMzcsIDQzMDgxLCAxOTQ2NjMsIDEyMDIzOSwgOTEzNiwgNjY4ODksIDQ0MDEsIAorICAgIDQxMjgwLCA3MDgwMSwgODk3NCwgMjMwOCwgMTk0NzUwLCA3NDE0OSwgMTI4MzI3LCAyMzE4LCA5ODMxODMsIDY2MzYxLCAKKyAgICA4MTk4LCAwLCA2NDM2MCwgMTI2MDEsIDQyNTM2LCA2NTI2NiwgMTIwODI3LCA2NzI3OSwgOTI0NjIsIDY5NzAsIDU0MDQsIAorICAgIDQzMzMyLCAzNjY3LCA3OTM2LCAxMjkyNSwgMTI2OTg5LCA2Mzg1LCAxMjg0ODIsIDEyODQwMywgMTE4OTQ5LCAxMDg3NCwgCisgICAgNjU1MDUsIDEyMDAwMiwgMCwgNDIwNTMsIDIwNzUsIDQyMDU3LCAxMTA4MywgNDIwNTIsIDAsIDY3MjY2LCA2NzY1MSwgMCwgCisgICAgOTY2NSwgOTIzMDAsIDk4MzY2NiwgMTMxODEsIDAsIDAsIDAsIDcwMDg4LCA3NDE0OCwgMCwgNzA0MTksIDEyMDIyNSwgCisgICAgMTIwMjI5LCAxMjAyMjQsIDc0MTcyLCA0MTE0NSwgNjY0MDQsIDk0MDk2LCA3NDQyMiwgNDExNDgsIDg2ODMsIDc1OTQsIAorICAgIDExMzY4NiwgMCwgMTE5MDkwLCAxMDg2OSwgNDM0NTgsIDQxMTQ2LCA5MjQwNywgMTE0NDEsIDAsIDM1MTIsIDExOTYzMywgCisgICAgOTI5NjUsIDgxMDMsIDAsIDAsIDY1MTg0LCAxMTc4MCwgNDE1NjMsIDQyNzk2LCAxMjkwNTUsIDY5NzQyLCA0MTU0NCwgCisgICAgNjUxNDYsIDcxMzE0LCAwLCAwLCAxMjkxNzcsIDE5OTQyLCAwLCAxMTg5MDgsIDc5ODgsIDEwNDM2LCA3NDI3MywgMzI3MSwgCisgICAgNzM4MDQsIDY0NzExLCAwLCA5NDA2NCwgOTgzMDcxLCAwLCAzODA0LCAxMzA3MCwgMTE1NTcsIDQyMDQ0LCAwLCAxMDk1LCAwLCAKKyAgICAzNTk5LCAxMjc3NzQsIDAsIDEyODg2MSwgODUxNCwgMCwgMCwgMCwgNzQzNDYsIDY2Njk3LCAwLCAxMTY4NCwgMCwgOTI0ODYsIAorICAgIDkxNzYwMywgMCwgNDIwNDMsIDQzMjMyLCA2NjY3NywgMCwgNDIwNDYsIDc0MTU3LCA0MDM2LCAxMjY0ODEsIDAsIDEyODIxMywgCisgICAgMTk0ODYxLCAwLCAxMTk1NCwgNzAzNDgsIDE0NTAsIDEyOTg2LCAxMzQwLCAwLCA2NTQ0MSwgOTI3MjIsIDAsIDAsIAorICAgIDEyNTExNywgMCwgOTE3NTQyLCAwLCAwLCA2NTM5LCA5Mjk0OCwgMTI2NjA3LCAxMjQ5NjEsIDEyNTA2MCwgMCwgMTIwNDkyLCAKKyAgICA0MTE5MCwgMzk3MywgMTE5MzY1LCA0NTc1LCA0MTE5MywgNzk4MiwgNDI5LCAwLCAxMTkxMjksIDAsIDE5NDg0OCwgNjU3OTIsIAorICAgIDEyODQwOCwgMTE4OTY4LCA2NDE3LCAxMTg5MTgsIDc4MTc4LCAwLCAxMjg5NzAsIDAsIDAsIDQ5MTksIDEwNTkwLCAKKyAgICAxMjg1NTYsIDc3NTUsIDAsIDkyOTQyLCA2NDU0OCwgMTIwNTA2LCAxNjIxLCAxMDIxNCwgNjUxMjYsIDY4MjUzLCAxMjcwMDQsIAorICAgIDk4MzYxNiwgMTIxODgsIDk4MzY2OCwgMTYxNywgODA1MCwgMCwgNTAxNSwgMCwgMTE5MTc0LCA0MjU5MCwgNzAzNTQsIAorICAgIDE3NTYsIDc4MTgxLCAwLCA2NTc2OCwgNjM1MiwgNDE4OTIsIDAsIDc1NTUsIDEzMTAzLCA1NDA4LCAyODE3LCAxMjE0LCAKKyAgICA2OTkxOSwgOTIzMzUsIDk4MzEyNSwgMCwgNjgyMjQsIDEyNTA1NSwgNDE3NjQsIDc5NTcsIDg2ODksIDY0NzIzLCAxMDU2LCAKKyAgICA0Mjg5NiwgNzQxNDcsIDM1NTksIDk4MzkxOCwgNTUyODYsIDcwNzMsIDY1ODUwLCAxMjMyNywgNzA4NTMsIDExOTAyOCwgMCwgCisgICAgMCwgMTI4NDQyLCAyMzQxLCA4NDUwLCA4NDg0LCA4NDc0LCAxOTQ4ODQsIDY4MzIyLCA3MDA3OSwgODQ2MSwgNjc3MjEsIAorICAgIDEyMTUzLCAxMjc5OSwgMCwgNDM3MDksIDQzNzA4LCA5NDUxLCA3NTcxLCAxMzA3MywgNDM4NDcsIDAsIDY4MSwgOTgzMjUyLCAKKyAgICA3MDMsIDAsIDMyNzIsIDg3ODEsIDEyODk0LCA3MDA3NywgMTE3MDksIDkyMjg4LCA3MDUxNCwgMCwgOTI1MzIsIDAsIAorICAgIDExMzM4LCAxMjA3NjgsIDMyNzYsIDAsIDAsIDY1OTI4LCAwLCAwLCA2NTAyMSwgNjQ3OTUsIDc0NTc0LCAwLCAxMDA0NywgCisgICAgNzg4MTQsIDMyNjIsIDc4ODExLCA0MjcxMSwgMCwgMCwgNjg0NzgsIDE2MywgNTc2LCA5ODk1LCAxNjU1LCA3MDEzMSwgCisgICAgNzQ1OTEsIDc4ODE1LCA3ODgxNiwgNjY4ODgsIDAsIDAsIDcwNTEzLCAxMDAzOSwgMCwgOTgzOTQ1LCA1NjIzLCA1NzE3LCAKKyAgICA1Nzc2LCA0MzQ4OCwgMCwgNjY4ODUsIDQxNTkxLCAxMTAzNiwgNjUyNTIsIDkyMzgyLCAwLCAwLCAwLCA2Nzg0OCwgCisgICAgMTI4MTI4LCAwLCAwLCA4ODg3LCAxMjc1MjEsIDcyOTUsIDExMDMxLCAwLCA0MzE1NywgMCwgODk0NiwgMTAzNDgsIDEwNDEyLCAKKyAgICA4NzU1LCAwLCAwLCA1NzE4LCAxMzIyMSwgMCwgMCwgNzgxMzUsIDcwNTE1LCA5MTc2MTYsIDg4MTAsIDc0NDk5LCA2ODYsIDAsIAorICAgIDcxMzYyLCA0NjE5LCAxMTg5NTQsIDY2NTQsIDczNzY5LCA3NDQyNiwgMCwgMTIwNDAsIDY1Njg5LCAxMDEyOCwgNjUxMTgsIAorICAgIDAsIDExOTE1MSwgNzQyMDUsIDkyNjUxLCAxMjg5MDIsIDI0MDEsIDY4MTQ0LCA4NzkyLCA5ODM2NDgsIDAsIDY1NDU1LCAwLCAKKyAgICA3NDMyOCwgMCwgNzQ1NjEsIDk4MzcxOCwgMTI4ODYsIDEyNzkyMCwgNjY2MjQsIDEyODM1MCwgNDM1NTcsIDEwMzAwLCAKKyAgICAxMDE2MSwgMTAzOTYsIDcxMjEwLCA3ODYwMiwgMTE4OTQ1LCA5OTg0LCA3Mzg1MSwgMzAxMCwgNjQ0MSwgNzAzNDksIDE0NTgsIAorICAgIDQxNDc1LCA3MjQyOSwgOTM5NzUsIDEyNzkxMCwgMTE0NzksIDAsIDEyMDM1NiwgNjM1MCwgMTI4NjQsIDY5Njc0LCA3ODExNCwgCisgICAgMTA2MSwgNjQ3ODAsIDIwMDEsIDQzMTExLCA1NTIzMCwgMTI0OTQ2LCA0MDUyLCAxMTM2NzMsIDc2MjYsIDAsIDAsIDEwNDUsIAorICAgIDAsIDU2MzEsIDQxMTEzLCAxMjc1NDQsIDAsIDQzNzA3LCA3NDEyNywgMCwgMCwgODQ4NiwgMCwgNzM3NTgsIDIzMzUsIAorICAgIDQzNjIsIDk4MzE5NSwgMTI2NTYxLCA2OTIyMSwgMTAyNSwgMTI3Mjc3LCA0MjYyNSwgNzAzMjUsIDc4MDg0LCA0MTQ0MywgMCwgCisgICAgMTI4MjA2LCAwLCAxNzc0LCAxNTIzLCAwLCAwLCA0MTQ0NSwgNzgyMzYsIDExMjA3LCA4NTY3LCA0MTQ0MiwgMzk4OCwgCisgICAgNzQ4NDMsIDc4MjM3LCAxMTg5MTAsIDAsIDY1Mjc0LCA4NTY0LCA3ODE5OSwgNzgyMzgsIDEyNzUxNSwgMCwgMCwgNDM0NDYsIAorICAgIDAsIDY2NTEzLCA2MjU2LCA5MTc4MDcsIDU3OSwgNTUyMTgsIDEwMjA2LCA3ODg3OCwgNjM3NSwgMjY3MywgMCwgMTE4MTQsIAorICAgIDAsIDQ0ODgsIDEyODcxNiwgMTIwNTU0LCA2ODQ1MSwgMTA0NDQsIDExODg0NiwgMTI3MzM0LCAxMTc5OSwgNzQ0MDcsIAorICAgIDY4NDY2LCA0NDg3LCAxMjc4NDksIDQyODMyLCAxMDMyLCAxMjAyNjcsIDQzNDUwLCA3ODI1NywgNzIwMywgMTI0OTk4LCAKKyAgICA2MTQsIDcwMzYxLCAxMjcyMTUsIDEyMDYxNSwgMTE5NjIyLCA3ODI2MiwgMTI4NjY5LCAxMjczMjMsIDAsIDQzMTIxLCAKKyAgICAxMjcyMTEsIDEyODM2NiwgOTI1MTMsIDEwNTAsIDc1NDksIDAsIDAsIDkzMTQsIDcwMzY1LCA5Mjg5OCwgMTIwNjE2LCAwLCAKKyAgICAxMDA1NywgNzA0MzQsIDEyNzMxMywgMTI4NTc3LCA2NjUwNCwgOTgzMTcxLCAwLCAyMzA3LCAxMjg0NTYsIDY0MzMzLCAKKyAgICAxMjczMTIsIDEyODU0NywgNzM4NzMsIDAsIDk0MDM1LCAwLCAxMjc5NzMsIDEyODcwOCwgNzA0NDYsIDEwMzYwLCA2NzQ2LCAKKyAgICAxMjA0NzMsIDkyMjQ1LCA0NDAsIDAsIDEzMDg1LCA5MjMzLCA3NDIxNiwgMCwgMTI3Nzg1LCA5OTU3LCAxMjgyODUsIAorICAgIDY2NDQ3LCA4MDQ2LCA2NDk2MywgNjU3NzcsIDEwMTI1LCA3NDIxMiwgNDI4MTksIDEwOTEwLCAwLCAxNTIxLCA5ODk2LCAKKyAgICA5Mzk2NSwgMTA0ODcsIDY5ODc4LCAxMjUyNywgMCwgNzk3MCwgMTI1MDczLCAxMjg2NjAsIDAsIDY1NzY5LCA1MjQzLCAKKyAgICA5ODQ5LCA1MjM5LCA2NTc3MSwgOTgzMjM1LCAwLCA1MjM3LCA2OTcxNCwgMCwgMTAxMDMsIDUyNDcsIDQ3NjksIDk4MzEzOSwgCisgICAgMTE4OTc3LCAxMjg3MywgMjI4MywgOTI5MzEsIDAsIDMwMDgsIDQ4OTYsIDEyODEwMiwgMTIwODcsIDAsIDU1MjMxLCAKKyAgICA0MTEwMywgOTIyNTYsIDY0NTY1LCA0NzczLCAwLCA3ODU0OSwgNzAwNzQsIDQ3NzAsIDY2ODkxLCA5MTc1NjcsIDg3MzEsIAorICAgIDY1Mzc4LCA2NjkxMSwgMTIwNjE5LCA5MTIyLCAxMjgwMzMsIDEyNjYwMCwgNDc3NCwgMzAxOSwgOTk5NywgMTI4MzQsIDAsIAorICAgIDk0NTYsIDEwMjE1LCAxMjA1NDcsIDAsIDc4NTU2LCAwLCAwLCA3NDc3NiwgNDI4MSwgNDc2OCwgMTIwNTcyLCA0MTUzNSwgCisgICAgNDA5OSwgOTAxNywgNjk5OTMsIDAsIDc4MDk1LCAyMjI1LCA3ODA5NiwgMTE4OTQ2LCAwLCAwLCA3ODA5OCwgMCwgNDI4MTQsIAorICAgIDg4MCwgMCwgMTEzNzY0LCA2Njg3MCwgMjEzNCwgMCwgMTAxMTYsIDk4NzcsIDkyMzI5LCAwLCAwLCA3MDk1LCA4Mzc5LCAKKyAgICA3NDExNiwgNjc3OCwgMCwgNzgwOTAsIDgyNDMsIDI0MjcsIDEyODE0MSwgNzA5MywgMCwgMTE1ODUsIDE5NTAwMywgOTk2MiwgCisgICAgMCwgMTIyMjMsIDEyODQ4NSwgOTI0MzAsIDE0MzQsIDEyMDI1NCwgNTYzNywgMTE1NzMsIDAsIDAsIDAsIDE5OTUxLCAKKyAgICAxMTM3MzAsIDc0NDE5LCAwLCAwLCA1NTI4MywgMCwgNzAzNjMsIDc0NDM3LCAxMTU2LCA4NzQwLCA5MjQxNSwgMzc4MiwgCisgICAgNjQzMzEsIDAsIDQxMzcwLCAxMDE0LCA4MjYxLCAxMjg1OTUsIDAsIDEwODM1LCAwLCA2NTUzNiwgMCwgMTIwNDYzLCAKKyAgICAxMjUwNTEsIDc3MDIsIDExODgyNCwgMTI4OTc2LCA0MzAxMCwgNjU3NzksIDY1NzgzLCAxMTUwLCAxMDU0NywgNTcwMCwgMCwgCisgICAgMTIwNjAzLCA2NTM4MywgMjMzOSwgNDI1OTQsIDU2OTcsIDExODc4OCwgMTIwNDc5LCAxMjg1NzYsIDAsIDQyMjU3LCA1Njk2LCAKKyAgICA5MjY3NywgMTIwNDY1LCAzODYyLCA5NjQzLCAwLCA3MDE4MywgNzYzNCwgNjUxNjcsIDk4NDUsIDAsIDAsIDU3MDEsIDk3MjIsIAorICAgIDQxNDkwLCAxMjg3MTksIDE0MjYsIDY4MjE3LCA5ODM2MTQsIDY4NDQ3LCA0MjIwNCwgNTUyNzAsIDg1NzEsIDY3NDAzLCAKKyAgICA3ODA2NywgNDM4NTksIDc4ODE4LCA5MjcxOSwgNDMxODIsIDEyMTg0LCAwLCA0MjAyMiwgMCwgMTAyODEsIDAsIDU2NTAsIAorICAgIDQzMTk0LCA2NDcxMiwgMTA3NDQsIDAsIDk5MCwgNTY0NywgMCwgNzM4NywgNzg3MzQsIDQxMTE0LCAxMTQ3NywgNTY0NiwgCisgICAgMTI4NzksIDExMDE4LCAxMjgzNjIsIDM5NDUsIDkyNTg5LCAwLCAxOTQ5ODksIDE5NDcxOCwgMCwgNzgyMTIsIDEyNzc0NiwgCisgICAgMTAyMCwgNzM3NjMsIDk4MzgzNSwgNzg3MzEsIDU2NDgsIDY0NzQ4LCAxOTQ5MTAsIDc4NzMzLCAxMDIwNSwgMzU0NSwgCisgICAgOTgzNTg1LCA2OTg0LCAwLCA3NDA1MSwgMTI4OTAxLCA0MzI0MiwgMTIwNDU4LCAyNjY3LCAwLCAxMjUwMzcsIDAsIDk5MTEsIAorICAgIDAsIDY1MDIwLCAxMDA5NywgMTE5MTY2LCAxMjcxNDUsIDk4MzY2MiwgMTE4ODM2LCA5ODM3NDgsIDc4MjA4LCAxMTQwLCAKKyAgICA3ODQyNiwgMCwgMTAxNTksIDAsIDAsIDgxMjgsIDAsIDY4MzI2LCA5MTc5NjUsIDE4MTUsIDE5OTEwLCA4OTAsIDAsIDMyNjcsIAogICAgIDkyMjkxLCAwLCAxMDEyMywgMCwgNDQxMCwgMTA0MSwgMTA1NzYsIDYzNTQsIDkyNTgxLCA1ODAsIDc0MjMyLCAwLCAKICAgICAxMjgzNDcsIDAsIDAsIDAsIDE5OTM4LCA2NTkwNiwgMTI3ODE5LCAwLCAwLCAzMjk4LCA1Mzc1LCAxMDE0MiwgMCwgODIxNSwgCi0gICAgMCwgNjEzNCwgNDEyNDYsIDY0NDAyLCAwLCA2OTg5OSwgMCwgMCwgMCwgNDEzODIsIDAsIDEyODY1MywgNTE3MywgNjUzNDgsIAotICAgIDUyNywgMCwgMCwgOTI2MTIsIDEyODI1MCwgNzg3OTcsIDExOTE1LCAwLCAwLCAxMDA3MiwgMCwgNDI2OTUsIDIzMjksIAotICAgIDQyMjUwLCAwLCAxMjg4NjQsIDY5NjY3LCAxMjI0NSwgMTU2OCwgOTQwMzMsIDAsIDAsIDEyODEyMCwgMCwgNzQzMjgsIAotICAgIDkyNzA4LCA3NDc2OSwgMCwgMTE5MDg3LCA5MDY5LCA2MTQ0LCAwLCAwLCA3MzgyMiwgMCwgMTI4MDEwLCA2NDkxNywgCi0gICAgNDE1MjEsIDExODkzNCwgNDk0LCAxMzI1MCwgMCwgNjUwOTgsIDYzNjQsIDk1NiwgMCwgMTI4MzAsIDEwNDYyLCA3Mzc0MCwgCi0gICAgNzM3MzQsIDAsIDAsIDAsIDY2NDQ5LCAxMzI2MywgNzQyODEsIDY5MjE3LCAxMzE3MSwgMTI3Nzk2LCAwLCAwLCA5MjI5NCwgCi0gICAgMCwgMTA0NCwgNDEyNzYsIDAsIDAsIDAsIDQyMDY4LCAxMTc5NSwgMCwgMCwgMCwgMCwgNDI0NTAsIDM5MDcsIDAsIDY0NTI2LCAKLSAgICAxMTgyOSwgNjgxOTcsIDEyMjk1LCAwLCAxMTQ3NSwgMCwgMzAyMCwgMTE1MzcsIDAsIDY2NDQxLCA5ODM0NTQsIDcwOTgsIDAsIAotICAgIDAsIDEwNTcsIDU2NiwgNDI2OTYsIDAsIDMwMTYsIDQyMjc0LCA0MzQ2NCwgNjY0OTAsIDEyOTIxLCA2NjU3MSwgNzg0NzIsIAotICAgIDkyNTEwLCAzMDA2LCA0NjIwLCAxMjcyMzcsIDk4MzU3OCwgMCwgMCwgNjQ2NTksIDAsIDEyNzc0OSwgNTUyNTMsIDYzNTcsIAotICAgIDYzNjIsIDg2MjYsIDcxMzM3LCAyMjE2LCA5MDkwLCA2NTM3NywgNDE1OTYsIDAsIDQyOTIwLCAxNjk4LCAwLCA2NDQ3NywgMCwgCi0gICAgNDM4MTMsIDEwNTMsIDAsIDc4MjY5LCAwLCAxMjY1ODYsIDEwNTIsIDEwNTEsIDQ1OSwgMTA2MCwgNzQzNDksIDY2NDc5LCAwLCAKLSAgICAwLCAwLCAwLCA0MjQ5MCwgNjg5LCA2NTA4LCA0MTYzLCA0MjI5OCwgODYzOSwgNjY2NDEsIDQyNDYsIDAsIDAsIDEyMTMwLCAKLSAgICAwLCA0MjMzNywgNjQ1OTYsIDY0Mzc1LCA2NjQ4MSwgMTI3ODUwLCAwLCAwLCA2MzU5LCAwLCA0MzQ3MSwgOTgzNzY4LCAwLCAKLSAgICAwLCAxMjcyNzQsIDAsIDYzNTgsIDYzNjEsIDE5MjYsIDYzNTYsIDkyNjI3LCA3ODk4LCA4MTEwLCAxMDkzNSwgMCwgMTAwNjksIAotICAgIDU4MzAsIDAsIDQzNjg1LCAwLCAwLCAwLCAwLCA4NjkzLCA3ODYxMSwgMTE5NTY1LCA5ODM4MDgsIDEyMDQxMywgMCwgCi0gICAgMTI3MjU3LCA2NTg5NCwgMCwgMCwgMCwgOTgzOTIzLCAwLCAwLCAxMTkxODcsIDIxMzUsIDc4ODY4LCAwLCAwLCA3ODg2OSwgCi0gICAgNDIzMTMsIDU1NzksIDkyNDEyLCAwLCA5ODMwODIsIDk0MDAyLCAwLCA1NTc4LCA0MTc3NCwgMTI4MTE1LCA0MjAyMywgCi0gICAgNjIzNCwgNTY2OSwgOTIyNzUsIDAsIDAsIDAsIDEyNzUwNiwgNjgyMDIsIDU1ODMsIDAsIDAsIDQyNDI2LCA1NTgwLCAKLSAgICA0MjI3NiwgMjkyMywgODkyLCAyMjIwLCA0MjQ2NSwgNDEzMzAsIDE5NDk4NywgNTc5NSwgNjU1MTIsIDExOTAwNiwgNjU3MDIsIAotICAgIDAsIDEyMDgwMSwgNjUyNTEsIDAsIDY1NzEwLCAwLCAwLCA2NzY3MiwgMCwgNTM3MCwgMCwgMjkzMSwgMTYzOCwgMTA5NjYsIAotICAgIDEwMTg4LCA2NTg3OCwgMTE4ODQ4LCAwLCA2OTY5NCwgNjk4NzksIDEyODgzMCwgODE3MiwgNDIwMTcsIDAsIDEwODQ0LCAwLCAKLSAgICAxMjgxOTUsIDkyNDI0LCA2Mzc0LCAwLCAwLCAyODYsIDc4MDIzLCAxMDYyLCAwLCAxMTk5OTksIDAsIDczOTUsIDAsIDEwNzAsIAotICAgIDY0OTAwLCA3MTUzLCA2MDk1LCA0MTg2NSwgMCwgMzAxNSwgMTI4MDIzLCAxMjY0NjUsIDUyMTEsIDk4MzA4MywgNjQwMCwgMCwgCi0gICAgMTk0OTgzLCA3MDA1NCwgODE4OSwgMTEyNzYsIDAsIDAsIDM3MiwgMTI4ODI5LCAwLCAxMTg4NzQsIDQyMTAyLCA0MTU4NSwgCi0gICAgMTI4MjAyLCAwLCA0MjEwMSwgMjc2LCA3ODQwMiwgMCwgMzMsIDc0MjI2LCAxMjczMDMsIDkwMDcsIDExODc5NiwgNDE1ODgsIAotICAgIDY2MDMzLCA0MjcsIDEwNzYzLCAxMTg4MTksIDAsIDEyNzg4NCwgMCwgMTAzMSwgNjI1NywgMCwgNDIxMDQsIDAsIDk4Mzk4MCwgCi0gICAgMjMyOCwgOTI0MDksIDEwNzEsIDQyODk5LCAwLCA3NDg0OCwgMCwgOTgzNTgwLCAwLCAxMDQ3LCAwLCAwLCA2NDc5MCwgMCwgCi0gICAgNjk3MjMsIDEwNjUxLCAwLCAwLCAwLCAwLCA5MjIwNiwgMTE5MTgxLCA1NzExLCA0MTYzMywgMTIwOTgsIDY1NTcxLCA5MTY2LCAKLSAgICAwLCA1NzEwLCAwLCA2NzkwLCA2NTE2OCwgMTMyMTYsIDAsIDY5NzE2LCA2OTcyNiwgMCwgNjQ2MTEsIDQxNjIzLCAxOTUwMDEsIAotICAgIDU3MTUsIDY5NjU0LCAwLCAwLCA1NzEyLCAyNzYxLCA0MTYyMCwgNjgxMjQsIDMwNzQsIDU3MjIsIDAsIDg2NDMsIDczNzY4LCAKLSAgICAwLCAxMTg5MDYsIDI3NTcsIDExMDY3LCA5NzE4LCA3NDQ5OCwgODkxMCwgMTA2ODksIDY0NzksIDAsIDAsIDAsIDc4NjA3LCAKLSAgICA5MTk2LCA2OTY3MCwgMCwgMCwgMCwgMCwgMTE4OTExLCAwLCAwLCAwLCAwLCAwLCAxMjAwMTAsIDAsIDg3MDEsIDY4MTMwLCAKLSAgICAxMTk2MTYsIDEyMDUyMiwgMCwgNDI0NzcsIDE5NDk5NCwgMTIxMjMsIDQ0OTUsIDQzNTY5LCAwLCAwLCAwLCA2NDk0NiwgCi0gICAgMTA5OTIsIDAsIDEyMDAwOSwgMCwgMCwgOTMxOCwgOTM5ODYsIDEzMjQ5LCA2NTY3OSwgNzM4MDgsIDAsIDY1NDU3LCAKLSAgICA0MjI0OSwgNzYzOSwgNDM5OTUsIDY3ODQ1LCA0MjY0MSwgNTQ1NCwgMCwgMCwgMTk0OTk3LCAxMjAwMDUsIDAsIDk4Mzk2NiwgCi0gICAgNTA4NCwgMCwgMCwgMTE4ODYxLCAwLCA3MzMsIDkxNzg3NiwgNzgwMTQsIDc4NDM2LCA3ODQzNSwgNDE2NzcsIDAsIDkyMTgsIAotICAgIDE3MzEsIDAsIDk4Mzc0NiwgMCwgNjc5OTAsIDAsIDAsIDAsIDEyMDAwMSwgMTI3MDE4LCA5MjQ5MiwgNTE1NSwgMTIwMDAwLCAKLSAgICA1MzU4LCA5ODM3NDQsIDAsIDkxNzc2NywgNjQ0MjQsIDk4MzIzMSwgMzg0MCwgNjQzMTQsIDQxNDMyLCAwLCA3ODMxNSwgCi0gICAgNjg0MzAsIDY3OTgwLCA0MzI1MywgNjU5NDMsIDAsIDMzNzEsIDEwOTg4LCAwLCA4NzcxLCAxNDc5LCAwLCAwLCAxMTA5LCAKLSAgICAxMTU4MCwgMCwgNjQ2MDEsIDEyMjA1LCAwLCAwLCA2NDUwNywgODg2OCwgMzk5LCA2Nzk3OCwgNzQ4NDIsIDk4MzI4NCwgCi0gICAgOTgzNzIxLCAxMjE0OSwgMTMwODgsIDU1MSwgMCwgMTAxNTYsIDEyMTE5LCA5MjU3MiwgMCwgMjU0NCwgNjUwNzQsIAotICAgIDExOTIxMSwgMCwgMCwgNzgwMTEsIDM1MSwgMTE5MTQ5LCAwLCAwLCA1NTIyOSwgMCwgNzQyNjgsIDAsIDAsIDAsIDQyMzc3LCAKLSAgICAwLCAwLCAwLCA5ODM5MjQsIDAsIDkwMTMsIDQwNTQsIDAsIDk4MzU3MCwgOTgzNjI4LCAwLCA3Mzk2MCwgNTU4NSwgNjU4ODEsIAotICAgIDI1NDksIDc0NDY5LCAwLCAwLCA1NTg0LCA4MzU4LCAwLCA2NDIxNSwgOTIyMTksIDEwOTE5LCAwLCA3OTgwLCAxMjY2MDEsIAotICAgIDk4Mzc4NCwgMjIxOCwgNDE4MDAsIDU1ODksIDAsIDI2NjQsIDQxNjEzLCA1NTg2LCAxMTg4OTAsIDAsIDExMzU2LCAwLCAwLCAKLSAgICA0MzQ1MiwgNzg2MDksIDAsIDQyNTczLCA2Nzg1NiwgMCwgNzgxMjksIDAsIDAsIDc0MzkyLCA4MTM1LCA2NDUwLCAxMDA1NSwgCi0gICAgNzc5OTYsIDAsIDAsIDExOTIyNSwgNTY1NywgMCwgOTYyNiwgMCwgNzc5OTQsIDEwMTc5LCA1NjU0LCAxMjkzOSwgOTI1NzMsIAotICAgIDEyMDc5OSwgMCwgMCwgNTY1MiwgMTA5NDUsIDAsIDY2NDg2LCAwLCAzNjYxLCA3ODYzLCAwLCAwLCAwLCA3NDUwOSwgCi0gICAgOTgzODUyLCA1NjU5LCAwLCA3ODY5MiwgNjY3MjksIDU2NTUsIDk4MzYyNiwgNDIxNjgsIDAsIDEwNTUsIDkxNzYyOCwgCi0gICAgMTI3NzkyLCA2NjMxMCwgNzQwMzAsIDAsIDEyMTQ2LCA3Mzk1NSwgNzM5NTYsIDExNjE4LCAwLCAxMjY5OTAsIDAsIDEwMjcyLCAKLSAgICAxMDMwNCwgMTAzNjgsIDQyNTE4LCA1OTQsIDEwMjQ0LCAxMDI0OCwgNzQwNywgOTgzODg3LCA2NDg3MCwgMCwgMzQ2NywgCi0gICAgOTgzODkxLCAwLCAzMzMxLCA5NDYsIDEwMjMxLCAxNDk1LCA4MTMxLCA3NDMzMCwgMCwgOTU2MiwgNjkyMjIsIDY1OTI3LCAwLCAKLSAgICA3MDAzNiwgNjk2OTYsIDY5NzY5LCA2NDY1NiwgOTgzNzI2LCAwLCA5NDAyMCwgNzAwNTYsIDU2NjYsIDY1MjI3LCA1MzE4LCAKLSAgICA2Mzk5NCwgMCwgOTA5MSwgMTA3OTgsIDAsIDEyODE2NiwgMTAxODYsIDAsIDc3MzIsIDk4MzcyNCwgNjQ1NTYsIDAsIDAsIAotICAgIDU2NjgsIDc0NDQ1LCAwLCAxMjg2NjMsIDU2NzAsIDEyNjYxMCwgMTI3Mjk3LCAxMTgyMCwgMjk5MiwgNzgyNiwgNTY2NywgCi0gICAgMTk5NTIsIDEyMDgwNywgMCwgMTI3NDksIDc0NTUxLCAwLCAwLCA2NjQ5NiwgNDM2MSwgMTE5MjYwLCAxMzA2LCA5Mjg2LCAKLSAgICAxNDk3LCAxMjgyODYsIDk0MDA0LCAwLCAwLCAzNTcxLCAxMzI0NywgMCwgNzk3MywgNjYzNTMsIDY4NDM1LCA3ODI3OCwgCi0gICAgNjc4OTYsIDQzMTkyLCAwLCA3ODI2NSwgNTUzLCAxMjA2NTMsIDAsIDEyODU1NCwgNTgyOSwgMCwgNDU4NywgNzgyODUsIAotICAgIDY1OTEyLCAwLCAxMjc0NiwgMCwgMCwgMTE5OTI0LCA1NjMzLCAxMTk5MjcsIDk0MTAxLCA5NDEwMiwgOTQwOTksIDY0OTA1LCAKLSAgICA5NDEwNSwgOTUxMiwgOTQxMDMsIDEyNzQyLCA2NDQzLCA5ODM4MDYsIDAsIDkxMzUsIDAsIDQxNTY0LCAwLCA1NTIxOSwgCi0gICAgMTI4ODMyLCA5ODM4NTEsIDAsIDEyMTQ4LCAwLCA3ODI5NywgMCwgNjQyNTYsIDAsIDExNjY5LCAwLCA1NjM0LCA0NTI0LCAwLCAKLSAgICAxMjcyNzAsIDAsIDExODg4MCwgMjQyNSwgNjUxODIsIDEyODc2OSwgNDM2MzYsIDUyMjEsIDc4NDEwLCAzMjgsIDAsIAotICAgIDk4MzgwOSwgNjk4MTUsIDU2MzYsIDAsIDUzMjksIDAsIDU2MzgsIDExOTkxOCwgNzk0MCwgNjQ5MzgsIDQzMjIzLCA0Mzc2MCwgCi0gICAgNTYzNSwgMzM3MywgMjk4NiwgNzgyOTIsIDc0MjIzLCAzNDM3LCA3ODI5MSwgNjIwMywgNDI0NywgMCwgMTE5MjAsIDgyNzQsIAotICAgIDAsIDAsIDE2NTcsIDQxNTYxLCA3ODI5OSwgNzgyOTUsIDU2MzksIDI5NTQsIDU2NjAsIDU2NDAsIDc4MzAzLCA5ODM2ODUsIAotICAgIDc4MzAwLCA0MjIyNywgMCwgMCwgNDE2MzcsIDY3ODcyLCAwLCA3ODMxMCwgNDE2MjUsIDQzMzYyLCA3ODMwOSwgMTIwNzEzLCAKLSAgICAxMTcwNSwgNTY0MiwgMCwgNTQ4NiwgMCwgNDM1NiwgMTE3MTAsIDAsIDEyMDUxLCA2OTkzOCwgMCwgNTY0MSwgODI1OSwgMCwgCi0gICAgMTA1OCwgMCwgNjc2MzAsIDAsIDAsIDExNDQsIDc4NzUwLCAwLCA0MjIyOCwgMCwgNzM4OTAsIDExODk3MiwgMCwgMjgwMCwgCi0gICAgMCwgNTY0NSwgNjQ5NjQsIDg2NTIsIDI1NDcsIDY2NDg0LCA0MzYzNCwgMCwgNTYwOCwgNjU4OTAsIDQzODA4LCAwLCAKLSAgICA2NzYyMSwgMTE5OTM0LCA5MDAwLCAwLCAwLCA5MjY3MywgMTg2NSwgMCwgNTYxMywgNjk5NTAsIDAsIDAsIDU2MTAsIDAsIDAsIAotICAgIDY1ODI2LCAyMDY5LCAwLCAxMDc4NywgNDM5OTksIDI5OTcsIDAsIDU2MDksIDc4MzE2LCA2NTMxOSwgNzgzMTMsIDEyMzE2LCAKLSAgICA2NTM3NiwgMjQxMiwgMCwgODE4NiwgOTgwNywgNzQyNjksIDkyNTQ3LCAxMzEzMCwgNjU4NzQsIDAsIDU4MDcsIDAsIAotICAgIDEwMDMwLCA1MzA2LCAxMjM2NCwgMTI4MDY0LCAwLCAxMTcwNCwgMCwgOTI1ODMsIDEwMjExLCAwLCAwLCAwLCAwLCAxMTcwNiwgCi0gICAgOTcxMCwgMCwgMCwgMCwgNDEzLCA2NTYyMywgNzExOCwgMCwgOTEzMywgNzQyNjIsIDAsIDEwNDIsIDAsIDY0Nzc5LCAKLSAgICAxMjE3MSwgMTE5MjQwLCA2MTg1LCA2NDc3NiwgNDk4NCwgMCwgNzA4LCAxMTM5MSwgMCwgMTIyNDEsIDkyNzIwLCA5ODM4OTksIAotICAgIDEzMDgsIDAsIDI1MzQsIDgxMCwgMCwgMCwgMCwgMCwgMCwgMTkxNywgMzAwMCwgMCwgMCwgMTIwNzM5LCAyMzY0LCA5MjQ0MywgCi0gICAgNzQ0NzAsIDY2NjE4LCA2NTY4MCwgMTIwNzc5LCAxMDAyNywgMCwgMTI4MTU0LCAxMjMzNywgMTIwNzIyLCAxMjczNjgsIAotICAgIDk4MzE2NywgMjk4MCwgNzU1LCA2OTc3NCwgOTMxLCAxMzEyNCwgNjgxODIsIDYzNjMsIDI3NDgsIDAsIDAsIDY1MDQxLCAKLSAgICA5MjI3NiwgNDQwMTEsIDg3MzAsIDk4MzA2NywgMTI3ODU0LCA3ODMxMiwgNzI3NCwgMTE5MjUwLCAwLCA3Mjc1LCA3ODMwNCwgCi0gICAgOTM1LCAwLCA2NTg0MCwgMzc3LCA0MjMyNSwgMTE2NDksIDEyNzM2MywgNjUyNTMsIDY0MzAxLCAxMjg4MzUsIDc4MzA4LCAKLSAgICA0MjM0MSwgNjUyODQsIDI0MTcsIDAsIDEyODg0LCAxOTkxMiwgNzkwNywgMTA3NjgsIDAsIDE5NDk5OCwgMCwgMTA2NzMsIAotICAgIDExOTIxNywgNzI0OCwgMCwgMTI4MzQ2LCAxNzgxLCA1NDk2LCAzNjI3LCA2MiwgMTY0OSwgMCwgOTY0LCAwLCAxMjc4NzYsIAotICAgIDc4MjI2LCAxMjg3NzUsIDEyNzUxMiwgMCwgMCwgMCwgMCwgNDM2ODksIDEyNzkxMSwgMTMxNDIsIDc4ODEyLCA0MjQxNSwgCi0gICAgNjY1NzUsIDQ1NDIsIDY5OTA5LCA0MzU0NywgMCwgMCwgNzY3NywgMjk5MSwgNDk0NiwgNDI0NTQsIDExNTY1LCA3OTQ5LCAwLCAKLSAgICA5ODM5MTgsIDExMzQxLCA0MjQ5NCwgMzA3MywgNjU2MjUsIDk3MTQsIDExNjkyLCA0NjU3LCAwLCA5MjcyNCwgNjQ3OCwgCi0gICAgOTg5OCwgNDM2NzMsIDY1MjM3LCA2MjQxLCA3MTA2LCA0ODc3LCA5ODM3OTUsIDYyMzgsIDAsIDEwNTQ4LCAxMjcwNDksIAotICAgIDQ0MDksIDAsIDAsIDY0Nzk4LCAwLCA1MzQ2LCAwLCA5NDA0NywgNjIzNywgNDg3NCwgMCwgOTE3NiwgMCwgMTI2NTUzLCAKLSAgICA2NTIzMSwgNjU4ODQsIDEyNjc4LCA3ODc0OCwgMTE4OTEyLCAxMTM3OCwgNDQwMTgsIDQyNzg1LCAyNDA4LCAzMjUxLCAwLCAKLSAgICAwLCA1Njg1LCAwLCAyNDYxLCAxMTA1MiwgNzA5MSwgNTM0MiwgODMxNywgMCwgNjgxNjMsIDUzNDAsIDAsIDEyNzgyMCwgCi0gICAgNDM2MzUsIDczOTI4LCAxMjc1MjksIDAsIDAsIDAsIDEyODUxMCwgNjU0ODIsIDAsIDkxNDIsIDAsIDEyNjQ3MCwgMCwgCi0gICAgMTA5MzgsIDAsIDExODc5MCwgMTE4MiwgMjU0MiwgNDgyNiwgMCwgMCwgMTI4MTc2LCA1MjksIDg1ODAsIDAsIDAsIDEwNTg2LCAKLSAgICAxMDc5MCwgMTA4MzksIDY2MDIzLCA0MTU5MywgNDEyMDcsIDAsIDAsIDQxNTk0LCAyMjUsIDQyODI4LCAwLCAwLCA5ODM5MzgsIAotICAgIDExMzc2LCA3NDM3OSwgMTA3MjEsIDY3NjY0LCAzNDM4LCA0MjA5NywgMTI3MjY3LCAxMTA4NCwgMzE5NCwgNDE4NzAsIDI2NiwgCi0gICAgNzgzMDUsIDEyMDE4MywgNDE4NzMsIDEyMDU3NSwgMTEzMjQsIDEyMDUzMSwgMCwgODQyMCwgNjQ5MTgsIDEyODg0NCwgCi0gICAgNDE4NzEsIDQxMzM4LCAzNzM0LCA3NzM0LCA0MzY4MywgODc1MCwgNjY2MDUsIDY2MDExLCA5MjUxNCwgNDA5NjUsIAotICAgIDEyNzkzNywgMCwgNTE2MSwgMTA1NzIsIDAsIDAsIDAsIDY0MzQ5LCA3Mjg3LCA0MjE2MiwgMTI3NTUyLCAwLCAxMjY2MDUsIAotICAgIDExOTQ4LCA2OTIyMCwgMTIzNTksIDQzNDI5LCA0MTM2OSwgMTY5NywgMTIxOTEsIDAsIDY4NjMzLCA3Mjg2LCAwLCA2ODYzNSwgCi0gICAgMTAwMzEsIDAsIDk4NzAsIDY4NjQ1LCA4NjIwLCA2NTgyNCwgMCwgMTE5MzgsIDAsIDcyODUsIDAsIDExOTU3NywgNDI2NzgsIAotICAgIDAsIDQzNjc3LCA0MTU4MywgMCwgNjU3OTksIDkyNjIzLCAwLCAwLCA5ODM5MzYsIDc4MTY5LCA2NjE5OSwgMCwgMzYwOSwgCi0gICAgNjg2MjQsIDAsIDgzMiwgMTIwNjkzLCAxMjA3NzAsIDc4NDczLCA2NjAwNywgNzg0NzEsIDY1NzAzLCAwLCAwLCA0MjczMiwgCi0gICAgNTE4MCwgOTI2OTksIDQxMzk1LCA0MTUzMCwgMTE2OTEsIDY0NzczLCA5MjIxNCwgNzQwMDIsIDAsIDAsIDEyODY0NSwgCi0gICAgNjM0OCwgMjQzLCAxMzIwMCwgOTgzODEzLCA2MDI0LCA5MjMwOSwgOTk3OSwgMTAwMzcsIDQxNTI5LCAxMDY0OCwgODUzOCwgCi0gICAgNDM2ODcsIDAsIDAsIDQyODUsIDY2MTk1LCAwLCA0MjMwLCAwLCA3MzY3LCA0MzI1NiwgOTIzNTMsIDc1NjMsIDQyMzc2LCAwLCAKLSAgICA2ODQ0MiwgMTIwNTEyLCAwLCAwLCAyMTQsIDAsIDAsIDc4NDY2LCA2NTg5MywgMTIyMDgsIDk5NzMsIDAsIDY2MzExLCAKLSAgICA2NTU4OSwgMTI4Mjc3LCAyNjAzLCAwLCAwLCAwLCA3MDA0NywgMCwgNjAyMiwgMCwgMjg4NCwgMCwgMTE2MjAsIDAsIDQzLCAKLSAgICAwLCA2NjQ1MywgMTAxNiwgNDExMDcsIDAsIDQxMTIxLCAzODg1LCA5MiwgNjU0NTYsIDY0NjA4LCAwLCA3NDgwMSwgMCwgCi0gICAgMjA3NCwgMCwgNzgyODMsIDAsIDEyNDUzLCAxMjgxMjgsIDk4MzgyNiwgNzQyNDEsIDEyNjU2OCwgNjc5MSwgMTI0NTcsIAotICAgIDc4MjY4LCAwLCAwLCAwLCA3ODI3OSwgMCwgMCwgOTIzNTgsIDY2NjM3LCA3OTk1LCA4NzU5LCA0MzQyMSwgNzgyNzcsIAotICAgIDEyNDQ5LCAxMjg1NTIsIDAsIDAsIDg3NTIsIDMxOTcsIDQ3MjAsIDEwMTY1LCAwLCAxMTkyNDksIDAsIDExNTk1LCA2NDg5MywgCi0gICAgMCwgNDM0MzUsIDAsIDAsIDQ5OTMsIDAsIDYxNjgsIDEwOTM0LCAxOTQ2LCA3NDEsIDAsIDU0OTQsIDQ2MzksIDk4MzE0NywgCi0gICAgMTk5MCwgNjY1ODksIDQ0OTgsIDc4NjY0LCAxMTkxODMsIDAsIDAsIDY5NzM0LCAyOTYwLCA3Mzc3OSwgMCwgODk2OSwgCi0gICAgMTI4MTE3LCA0MzQyNCwgMTI3MDU5LCAwLCAyOTUwLCAxMTk1NzksIDYyMTAsIDY1NzUzLCAzNzAsIDAsIDAsIDAsIDQ5NTMsIAotICAgIDk4MzY4MiwgMCwgMCwgMCwgNjkyMzAsIDAsIDAsIDY1Njg4LCA5ODMyNDYsIDUwNjMsIDM1MTcsIDI5NjQsIDQzNjYzLCAKLSAgICA5MTc3NjIsIDYzNDQsIDc0NzkxLCAxMDU2NiwgMTAxNDQsIDY2MzMzLCA4MjUyLCA3MjksIDY2MDE2LCA3ODI1MywgMCwgCi0gICAgNzEzMTcsIDY0OTIzLCAxMjgwNDAsIDQzNjY5LCA5MDMyLCA3ODI2MywgNzgyNjQsIDAsIDQxMjE1LCAwLCA2NTg4MywgMCwgCi0gICAgOTE3Nzc0LCAxMjA2MDIsIDM3NjEsIDAsIDAsIDcwMDY4LCAwLCAxMjkxMiwgMTE5MDEyLCAzODUwLCAxMjgxOTEsIDAsIDAsIAotICAgIDAsIDAsIDkwOCwgMCwgODYxMSwgMCwgMCwgMTI3NTU1LCA0MzY5MSwgNDExOTcsIDAsIDg5NzgsIDEyMDU0MCwgMTE5MTM1LCAKLSAgICA0MTU4NiwgMTA1MjcsIDAsIDkxNzg0OCwgMzg0OCwgNzg3MzksIDE5NDkzNywgMTI3NTM2LCA2NTI0MSwgNTMzNiwgCi0gICAgOTgzMjU5LCAxMjg3ODYsIDY2MywgMCwgMTA3ODAsIDAsIDAsIDc4NzY3LCA5ODMyNTcsIDEyNzE2MywgNjgxOTMsIDM0NywgCi0gICAgMCwgMCwgNzg3NzUsIDY0Njc1LCA0MTU4MiwgNzg3NzQsIDc4NzQ0LCA2NTU3OSwgMTI5ODAsIDc4NzY5LCAxMjE0MywgCi0gICAgNjk2NTcsIDc4NTEyLCAwLCA0MzQ0MSwgNDE4MDQsIDc4NTIzLCAwLCA3ODUyNSwgMCwgMTI4ODU5LCA0MTU4NCwgMTA2ODEsIAotICAgIDAsIDk4MzY5NSwgNzM5MzgsIDAsIDEyODAyMiwgNDgwMCwgNjY2NjEsIDAsIDY2MzA2LCA2NDcxNSwgNzg1MzQsIDk1MTgsIAotICAgIDY2MDksIDEwNDM0LCAwLCAxMTMxOSwgMTA5NywgMCwgOTE3ODUwLCA0MTczMCwgOTgzMjE0LCAwLCA3Mzg0NywgNzg3NjEsIAotICAgIDY1MTcyLCA0MTcyOCwgNDE3MjEsIDAsIDAsIDAsIDQxMjAzLCA5MTc2MTIsIDEzMTEwLCA0MTcyNiwgOTgzODU1LCAwLCAKLSAgICAxMDAwLCA2OTY1MSwgMCwgNDExNDAsIDEyMDksIDczOTc4LCAwLCA3Mzc1MCwgMTA3MywgNjMyMSwgNzc4NzgsIDQxMTM4LCAKLSAgICAwLCA2ODIxMywgMCwgMTIxNjcsIDExMTUsIDQxNjA1LCA5Nzk0LCAxMjcwNjIsIDY3NjcxLCA1NTI0OCwgMTIyMzcsIAotICAgIDc4Nzg3LCA2NjMxNCwgNjU4NywgOTI5MCwgNzg3ODIsIDc4NzgzLCA5MjMxLCA3ODc4MSwgMjk1OSwgNzkyNiwgMCwgMCwgMCwgCi0gICAgNjQzOTgsIDAsIDExOTk3MCwgMTIzMTEsIDk4MzcyNywgNzg3OTYsIDc4Nzk4LCA3ODc5NCwgNzg3OTUsIDY4NDM0LCAKLSAgICA3ODc5MywgNjY2NzAsIDAsIDAsIDEyMjkwLCAxMjAxNjksIDAsIDExOTg3MywgNDIxNDIsIDk5NjgsIDgyMDUsIDAsIDUxMzEsIAotICAgIDAsIDk2MjcsIDc4NTM2LCA3ODU0MiwgNzg1MzUsIDk4MzIxMiwgMTk0NCwgMTI0OCwgMTAxNDgsIDEyNzc1NSwgMTE5OTkwLCAKLSAgICAxMTk5OTEsIDEyNzAxLCA3ODM3NiwgMTEzMDgsIDExOTk5NSwgMCwgMTE5OTk3LCAxMTk5OTgsIDY1MzA1LCA2NTEwMCwgCi0gICAgNDAzMSwgNDI3OTQsIDEyMDAwMywgNzA3NSwgODE1NCwgMTE5OTg1LCAxMjAwMDcsIDQxODE3LCA3MzkzNCwgNDIyNzUsIAotICAgIDEyMDAxMSwgMTIwMDEyLCA3ODUyNiwgMTIwMDE0LCAxMjAwMTUsIDYwNDEsIDAsIDQxODk5LCAwLCA4MDAyLCAwLCA0MzY0LCAKLSAgICAwLCAwLCA2NDMzMiwgMCwgNzgxMywgOTA2NCwgMTE5OTg2LCAxMDEyNCwgNzUyNiwgODYwMSwgNzI4MSwgNzg0NTUsIDcyNzksIAotICAgIDEyMDQxLCAxNDE4LCAxMDg4NSwgMTI2NzMsIDAsIDAsIDk2NjAsIDk4MzI4MCwgMTMwMTIsIDQ1NzEsIDAsIDAsIDEyMDE2NCwgCi0gICAgMTIwNzgsIDI5NzAsIDAsIDEwOTMzLCAwLCA3Nzg3MCwgMCwgMTI3MDE1LCAwLCA0MTU5OSwgMCwgMTI4ODMxLCAwLCAKLSAgICAxMjk1MCwgOTIxNjAsIDM0ODYsIDAsIDc4MzExLCA0MjM5LCAwLCAxMjc3OTksIDY2NTExLCAwLCAyNjM3LCA2NDYyOSwgCi0gICAgODQ2MCwgMTI3MDUzLCA4NDc2LCA5ODM5NzUsIDAsIDAsIDAsIDY1NjczLCAxMDE5LCA3ODQ5NSwgNDE0OCwgMCwgMTIyODksIAotICAgIDAsIDQzMTYsIDAsIDEzMTE5LCA4NDg4LCA1NDEyLCA2NjI0MywgOTkzNSwgMCwgNzM4NjQsIDk4MzIwMywgNDE3MzQsIAotICAgIDgyMDYsIDc0MDgxLCA5MTYzLCAzMjg2LCA5MDcyLCA1ODY3LCAxMzMwMiwgNzYyMiwgNzEyMCwgNDE3MzYsIDkyNTQ2LCAKLSAgICA0MTczMSwgMCwgNzQwMCwgNTQxNiwgNjg2NjMsIDExODkyNCwgMTA4MTcsIDAsIDQxNTM5LCAxMjcyODQsIDAsIDczOTYzLCAKLSAgICA0MTg1NSwgNDE4NjcsIDY1NTY0LCAxMTI3NywgNjU4OTIsIDExNTM2LCAxMDYyMCwgOTIyNzIsIDcxMTUsIDY2MDMwLCAKLSAgICA3MzkzMiwgNTQ5OCwgNzM5NDIsIDQxNTM2LCAwLCA2ODIwNCwgOTI1ODcsIDM0NTksIDg5OTcsIDAsIDAsIDAsIDAsIAotICAgIDkyNTEyLCAwLCA2NjM3NywgNjk3ODEsIDAsIDk4MzY5OSwgNzg1MTEsIDMxNjEsIDI5NSwgMTIwMjA3LCAwLCA5MjIyMywgCi0gICAgMTI3ODU2LCA3ODc0MiwgOTAxNiwgNDM0NTQsIDYzOTAzLCA2MzkwMiwgNDM2NDEsIDAsIDM5NzEsIDAsIDcwMDYzLCAyOTUyLCAKLSAgICA3ODc2NSwgMTEwMzgsIDEwOTAxLCA2MzkwMCwgNjM4OTksIDYzODk4LCA5NDA0MywgNjY3LCAxMjMzMiwgNjM4ODcsIDYwODYsIAotICAgIDQxNzIyLCAwLCA1MTcyLCAwLCA5ODMyNzgsIDQxNTksIDAsIDAsIDk4MTUsIDYzODg0LCAxOTkzNCwgNjM4ODIsIDQxMTk4LCAKLSAgICA4NTU1LCA2Mzg3OCwgNjM4NzcsIDQyNDYwLCA2MDUwLCA0MjcwOCwgNjM4ODEsIDYzODcyLCAwLCA0MjQyMSwgMCwgNDE3MjMsIAotICAgIDYzODc1LCA2Mzg3NCwgMTE0NjAsIDc0MzIsIDE5MTMsIDQxOTEzLCA2Mzg1MiwgMTI2NjM2LCAwLCA0MjM0OCwgNzM4OTIsIAotICAgIDY3NTIsIDQ0NiwgNDE5MTEsIDEyNzkwNiwgNjM4NTEsIDYzODUwLCA0MTkxMCwgMCwgNjM4NDYsIDI5NzIsIDEyOTMyLCAKLSAgICA3MjYyLCAwLCA2Mzg0OSwgNjM4NDgsIDYzODQ3LCAxMjgwNzAsIDY1NzAsIDgzMDIsIDcyNTksIDYzODQyLCA0MTc4LCAKLSAgICAxMDc0NiwgNzI1MCwgMTMyMTQsIDEwMDQxLCA4MTA1LCA2Mzg5MiwgMCwgMTE4OTgzLCAxMTA1LCA0MTgwLCAwLCAxMjA5NCwgCi0gICAgOTQ5NywgMCwgNjM4OTEsIDYzODkwLCA2Mzg4OSwgNjM4ODgsIDU1MzgsIDk5ODcsIDAsIDExODkzMiwgMTY3OCwgMTMyNzQsIAotICAgIDU1MiwgMTIwNjU0LCA0NDAxMCwgMTA3ODUsIDAsIDExOTE3MCwgNDU1NywgNzQ0NTksIDkxNTksIDEwMTcxLCAxMzEyNSwgCi0gICAgNjM4NjAsIDU1NDAsIDYzODU4LCA2Mzg2NSwgMjgxLCAxMzI0MiwgNjM4NjIsIDc0MTU0LCAwLCA1NTM2LCA2NTU2OCwgCi0gICAgNjM4NTcsIDEzODgsIDc0MTY5LCAwLCAxMDc3LCA5ODM1NzcsIDY1MDk5LCAxMTUzMSwgNTgzNCwgMCwgMCwgMCwgMCwgCi0gICAgNDI3NzMsIDAsIDAsIDAsIDExOTIyMCwgMCwgMzY2MywgMCwgMTExMiwgMTE5MTIyLCA4Njg2LCAwLCA1MzM0LCA2NTA4MSwgCi0gICAgNDMyNDksIDc0Nzc4LCAxMjc5NjgsIDExMDc3LCAwLCA2NTA5LCAwLCA1MzI3LCAwLCAxOTkwNywgNjM4NjksIDM0NzgsIAotICAgIDc1ODMsIDc2NzksIDI5MDMsIDAsIDMwMDEsIDExNTgsIDg3NDUsIDQzNzQ2LCA3Mzc0OCwgNjM4NjYsIDc4NjI2LCAxOTE1LCAKLSAgICA0ODQ2LCAwLCA2NjM3MSwgMTE4OTg0LCA0MjEwNSwgMjk5MCwgMTIwMTI4LCA4MDUsIDY5MjM4LCA2NDQzOCwgMTIwNzAsIAotICAgIDg3NjAsIDExMTcsIDExODk4NywgMTIyMTIsIDEyMDEyMywgNjUxNzQsIDQyMzU3LCA2MzgzNSwgNjM4MzQsIDAsIDc4MjQwLCAKLSAgICAxMjIyNSwgNjM4MzgsIDYzODM3LCA5ODM4NTMsIDk4MzgwNCwgNjM4MzMsIDYwNDIsIDY2MzYwLCA4MDgzLCAwLCAwLCAKLSAgICA2MzgyMSwgNjM4MjAsIDYzODE5LCA2MzgxOCwgOTgzOTA0LCA1MjI3LCA5MDQ3LCA2MzgyMiwgMTI3MTYyLCA2MDkxLCAwLCAKLSAgICAxMDY5MSwgNTYwLCA1NjQzLCA4MjI2LCAxMTk1NzgsIDYzODEyLCA2MzgxMSwgNjM4MTAsIDYzODA5LCAyMjg5LCA2MzgxNSwgCi0gICAgNjM4MTQsIDYzODEzLCA2MDQ3LCAxNTk3LCAxMjAxNDMsIDc4MCwgMjA2LCA3NzkyNSwgNDkzNiwgNjUxNDcsIDgxNjgsIAotICAgIDYzOTMwLCAyMDc2LCAxMDkzLCA5ODgyLCA2MzkzNCwgMjA4MiwgNjM5MzIsIDEyODE1MCwgNjM5MjksIDM1NDYsIDE2MDUsIAotICAgIDc3OTM0LCA5ODA2LCA0MzQ3MiwgNzc5MzMsIDg0MDAsIDExMzQzLCAyMDg2LCAwLCA2MzkyNiwgMjk4NCwgNTk2OCwgOTI4NywgCi0gICAgMCwgNDYxOCwgNDIyMDksIDQzNDMxLCAxMzE2OSwgNTI5MCwgMjA4OSwgMTY5NSwgMTA3NDMsIDEwODgsIDYzODI1LCA3MjY4LCAKLSAgICAxMDg0LCAxMDg1LCA2MzgyOSwgMTA4MywgMTAxMzEsIDcyODMsIDAsIDYzOTcwLCAxMjgzNTgsIDEwOTIsIDQ3NTQsIDcyNzMsIAotICAgIDUyNTIsIDQ0MDE2LCA0MzYyNywgMTI3OTIxLCAwLCA3NDA4LCAxMTgwOSwgOTE3NjE4LCAwLCAwLCAyOTY1LCA3MjU4LCAKLSAgICA4ODA4LCAwLCAxMDg5LCA0MTg3LCA2MzkzNywgNDIxMTksIDQyMTIwLCAwLCA5NDAsIDU3ODcsIDEwMDk5LCA2MzkzOCwgMCwgCi0gICAgNzQ0OTQsIDEyNDYzLCAyOTk0LCAwLCAxMTg4MjcsIDAsIDk2NjQsIDc3OTM5LCA3Nzk0MCwgNjc4OTIsIDc3OTM4LCAKLSAgICA3NDM0MywgMCwgMCwgNjYwLCAxMDEyNywgNjY2LCA5MDIyLCA1NTMyLCA0MzY2NywgNTUzMywgNzc5NDEsIDc4NTA3LCAKLSAgICA2MTE4LCAyMjIsIDk3OSwgMzg4NCwgMCwgNzQxNTEsIDkyNjUyLCA2NTAyLCAwLCAxMjcxMTgsIDEyODY5NSwgNjM5NTEsIAotICAgIDEyNDY1LCAwLCAwLCAxMjg3ODIsIDYzOTQ2LCAxNzA3LCA2MzkyNCwgMTI0NjEsIDYzOTUwLCA2Mzg5NywgNjM5NDgsIAotICAgIDYzOTQ3LCA2Mzk0NSwgNjAzOCwgNjM5NDMsIDYzOTQyLCA2NDY4NSwgNjM4OTUsIDY1ODM4LCAyMjc2LCA3Nzc2LCA5NDA3NiwgCi0gICAgMCwgMTI3NzczLCAxMjA0NDQsIDY5NzMwLCA4MDEsIDQzMTY1LCAxNjkwLCA2MzkxOSwgNjM5MTgsIDYzOTE3LCAxMzI3NywgCi0gICAgNDM2NTksIDEyOTUxLCAxMjA2MzgsIDk5MDYsIDIwNTQsIDIzMzQsIDc4NTE1LCA2MzkxNiwgNTQ4MywgNjM5MTQsIDY5NzM3LCAKLSAgICA2MzkxMSwgNTQ4NCwgNjM5MDksIDYzOTA4LCAyNTM5LCAwLCA0Mzk4MCwgNTQ4NSwgMCwgNDI2OTcsIDkwNjEsIDU1MzQsIAotICAgIDEwNjcyLCA0NTAyLCAwLCAyNTMsIDAsIDY4MjA4LCAwLCA5MjAzLCA3NDIzMSwgMCwgMTE1MzAsIDkyNTQyLCA2ODY2OCwgMCwgCi0gICAgMTE4OTA3LCAwLCAxMDQ3NCwgNDM0MjYsIDEzMjU3LCA0MjM1NCwgMTI4MDk5LCA5ODM2OTgsIDcwMDQ0LCAxOTUwNjUsIDAsIAotICAgIDg0MTMsIDk4MzgxNiwgMCwgNTY5MywgNzI3MiwgMCwgMTMyMDksIDY0NDcwLCA2NTgzMSwgNzQzNTAsIDE5NTA2MywgMCwgMCwgCi0gICAgMCwgMTI2NjM5LCAxMjAwOTcsIDAsIDk0MDc4LCAxMjgxMzMsIDEyNzc2NywgNjY2MDgsIDMxMTEsIDQxODYzLCA4ODA0LCAKLSAgICA0MjkxMywgOTIxODcsIDcyNzAsIDAsIDY2NjA2LCA2NjI4LCAxMDc2LCA3NDMzLCAxNDM2LCA3Mzg0NCwgNTUyMjYsIAotICAgIDEyODM1MywgNjM5ODIsIDczOTMsIDEyODA3LCA0MzQxMywgNjM5MDYsIDE1OTgsIDYzOTA0LCAwLCAwLCA0MTcyOSwgNDQyMywgCi0gICAgMTMwNywgMCwgMTA1MTUsIDQxNTg5LCAxMjg2OTgsIDAsIDYyMTgsIDAsIDE0MzAsIDAsIDAsIDEyMDYwNiwgNzg3NTQsIAotICAgIDU0MTMsIDc2MTksIDMyNTUsIDM0OTMsIDc0MDMyLCAxMTU0OSwgMTA3MzUsIDQxNzQzLCA3MzkzNywgNjgwMSwgOTgzNjMzLCAKLSAgICA0NTE4LCAxMDk5MCwgNjUwNzMsIDUxNjcsIDQ0ODEsIDM3NzEsIDEyMDE1OCwgMjcxMCwgMCwgNjkyNDMsIDQxNzI0LCAwLCAKLSAgICA0MzA3MywgNDE2OTAsIDEyNDc5LCA5ODM2MzUsIDAsIDAsIDk4MzgxOCwgNzAwNDYsIDE2MjgsIDEyNzE0OSwgOTgzNDg3LCAKLSAgICA5ODM3MzEsIDY1MjYyLCA2MzMzLCAxMDc4MywgNDIzMTUsIDAsIDYzODU1LCA5NDA1NiwgMCwgMCwgNTMzOSwgNzQzMjMsIDAsIAotICAgIDEzMDA0LCAwLCA0NDU3LCAwLCAwLCAxOTQ4MTgsIDAsIDU2ODQsIDg2NzgsIDEwOTE0LCAwLCA1Njg5LCA2NTgwNywgMCwgCisgICAgMCwgNjEzNCwgNDEyNDYsIDY0NDAyLCA5ODMxNDcsIDY5ODk5LCAwLCAwLCAwLCA0MTM4MiwgMCwgMTI4NjUzLCA1MTczLCAKKyAgICA2NTM0OCwgNTI3LCAwLCAxMTM3ODIsIDkyNjEyLCAxMjgyNTAsIDc4Nzk3LCAxMTkxNSwgMCwgMCwgMTAwNzIsIDAsIAorICAgIDQyNjk1LCAyMzI5LCA0MjI1MCwgMCwgMTExODcsIDY5NjY3LCAxMjI0NSwgMTU2OCwgOTQwMzMsIDAsIDAsIDExMzcwNSwgMCwgCisgICAgMTEyMDEsIDkyNzA4LCA3NDc2OSwgMTI2NDcwLCA2NzY4MCwgOTA2OSwgNjE0NCwgMCwgMCwgNzM4MjIsIDAsIDEyODAxMCwgCisgICAgNjQ5MTcsIDQxNTIxLCAxMTg5MzQsIDQ5NCwgMTMyNTAsIDkyMjUwLCA2NTA5OCwgNjM2NCwgOTU2LCAxMTM3OTIsIDEyODMwLCAKKyAgICAxMDQ2MiwgNzM3NDAsIDczNzM0LCAwLCAwLCAwLCA2NjQ0OSwgMTMyNjMsIDc0MjgxLCA2OTIxNywgMTMxNzEsIDEyNzc5NiwgCisgICAgMCwgMCwgNjM4ODUsIDEyODUyOCwgMTA0NCwgNDEyNzYsIDEyODM2MywgMCwgMCwgNDIwNjgsIDExNzk1LCAxMjQ5ODUsIDAsIAorICAgIDAsIDAsIDQyNDUwLCAzOTA3LCAwLCA2NDUyNiwgMTE4MjksIDY4MTk3LCAxMjI5NSwgMCwgMTE0NzUsIDcwMzI5LCAzMDIwLCAKKyAgICAxMTUzNywgMCwgNjY0NDEsIDEyMDc2MSwgNzA5OCwgMTI1MDcxLCAwLCAxMDU3LCA1NjYsIDQyNjk2LCAwLCAzMDE2LCAKKyAgICA0MjI3NCwgNDM0NjQsIDY2NDkwLCAxMjkyMSwgNjY1NzEsIDc4NDcyLCA3MTIwNywgMzAwNiwgNDYyMCwgMTI3MjM3LCAKKyAgICA5ODMzMjgsIDAsIDAsIDY0NjU5LCAwLCAxMjc3NDksIDU1MjUzLCA2MzU3LCA2MzYyLCA4NjI2LCA3MTMzNywgMjIxNiwgCisgICAgOTA5MCwgNjUzNzcsIDQxNTk2LCAwLCA0MjkyMCwgMTY5OCwgMCwgNjQ0NzcsIDAsIDQzODEzLCAxMDUzLCAwLCA3ODI2OSwgCisgICAgMCwgOTI5NzcsIDEwNTIsIDEwNTEsIDQ1OSwgMTA2MCwgNzQzNDksIDY2NDc5LCA2NzY4OSwgNjY4NzEsIDAsIDcwMzI3LCAKKyAgICA0MjQ5MCwgNjg5LCA2NTA4LCA0MTYzLCA0MjI5OCwgODYzOSwgNjY2NDEsIDQyNDYsIDAsIDQzNTE0LCAxMjEzMCwgCisgICAgOTgzNjIwLCA0MjMzNywgNjQ1OTYsIDY0Mzc1LCA2NjQ4MSwgMTI3ODUwLCAwLCAwLCA2MzU5LCAwLCA0MzQ3MSwgOTgzNzY4LCAKKyAgICAwLCAxMjAzNzksIDEyNzI3NCwgMCwgNjM1OCwgNjM2MSwgMTkyNiwgNjM1NiwgOTI2MjcsIDc4OTgsIDgxMTAsIDEwOTM1LCAKKyAgICAwLCAxMDA2OSwgNTgzMCwgMTI3NzczLCA0MzY4NSwgNzQzMDcsIDAsIDQyOTEwLCAwLCA4NjkzLCA3ODYxMSwgMTE5NTY1LCAKKyAgICAxMjg2MjEsIDEyMDQxMywgOTIxOTIsIDEyNzI1NywgNjU4OTQsIDk4MzU2NiwgMCwgNjQyOTYsIDk4MzkyMywgMCwgMCwgCisgICAgMTE5MTg3LCAyMTM1LCAxMTgzNiwgMCwgMCwgNzg4NjksIDQyMzEzLCA1NTc5LCA5MjQxMiwgNzAzODQsIDEyOTExMywgCisgICAgNDM4NTQsIDcxOTEzLCA1NTc4LCAxMTg0MCwgMTI4MTE1LCA0MjAyMywgNjIzNCwgNTY2OSwgOTIyNzUsIDAsIDEyODQzOSwgCisgICAgMCwgMTI3NTA2LCA2ODIwMiwgNTU4MywgMCwgMCwgNDI0MjYsIDU1ODAsIDQyMjc2LCAyOTIzLCA4OTIsIDIyMjAsIDQyNDY1LCAKKyAgICA0MTMzMCwgMTk0OTg3LCA1Nzk1LCA2NTUxMiwgMTE5MDA2LCA2NTcwMiwgMCwgMTIwODAxLCA2NTI1MSwgNjgyMjgsIAorICAgIDY1NzEwLCAxMjgzOTksIDEyODQyOSwgNjc2NzIsIDAsIDUzNzAsIDcwNDY1LCAyOTMxLCAxNjM4LCAxMDk2NiwgMTAxODgsIAorICAgIDY1ODc4LCAxMTg4NDgsIDAsIDY5Njk0LCA2OTg3OSwgNzQ1ODUsIDgxNzIsIDQyMDE3LCA5Mjc1NiwgMTA4NDQsIDAsIAorICAgIDEyODE5NSwgOTI0MjQsIDYzNzQsIDExOTk5OCwgMTI4NjkwLCAyODYsIDc4MDIzLCAxMDYyLCAwLCAxMTk5OTksIDAsIAorICAgIDczOTUsIDEyNzc4MywgMTA3MCwgNjQ5MDAsIDcxNTMsIDYwOTUsIDQxODY1LCAwLCAzMDE1LCAxMjgwMjMsIDEyNjQ2NSwgCisgICAgNTIxMSwgOTgzMDgzLCA2NDAwLCAwLCAxOTQ5ODMsIDcwMDU0LCA4MTg5LCAxMTI3NiwgMCwgMCwgMzcyLCAxMjg4MjksIDAsIAorICAgIDExMzc4MywgNDIxMDIsIDQxNTg1LCAxMjgyMDIsIDAsIDQyMTAxLCAyNzYsIDc4NDAyLCA2NzQyNywgMzMsIDY3NDI1LCAKKyAgICA2NzQyNCwgOTAwNywgNjc0MzAsIDQxNTg4LCA2NjAzMywgNDI3LCAxMDc2MywgMTE4ODE5LCA3MDg3MiwgMTI3ODg0LCAKKyAgICA5ODM5NDMsIDEwMzEsIDYyNTcsIDAsIDQyMTA0LCAwLCA5ODM5ODAsIDIzMjgsIDY2ODM3LCAxMDcxLCA0Mjg5OSwgCisgICAgMTI1MDg4LCA3NDg0OCwgMCwgMTEzNzkzLCAxOTQ5ODEsIDEwNDcsIDAsIDE5NDk0MywgNDI5MDgsIDEyODQ4MCwgNjk3MjMsIAorICAgIDEwNjUxLCA3MDM1NiwgMCwgMTI1MTEzLCA3MjQzMywgNjY4MjksIDcwODE3LCA1NzExLCA0MTYzMywgMTIwOTgsIDY1NTcxLCAKKyAgICA5MTY2LCAwLCA1NzEwLCAxMjg1NTEsIDY3OTAsIDY1MTY4LCAxMzIxNiwgMCwgNjk3MTYsIDY5NzI2LCAwLCA2NDYxMSwgCisgICAgNDE2MjMsIDE5NTAwMSwgNTcxNSwgNjk2NTQsIDcxOTE1LCAwLCA1NzEyLCAyNzYxLCA0MTYyMCwgNjgxMjQsIDMwNzQsIAorICAgIDU3MjIsIDAsIDg2NDMsIDY4NTI1LCAwLCAxMTg5MDYsIDI3NTcsIDExMDY3LCA5NzE4LCA2NjQxOSwgODkxMCwgMTA2ODksIAorICAgIDY0NzksIDAsIDAsIDcxMTczLCA3ODYwNywgOTE5NiwgNjk2NzAsIDEyNTA3MCwgMCwgMTI4MzM4LCAwLCAxMTg5MTEsIDAsIAorICAgIDExMzY4MiwgMTI5MTk0LCAwLCAwLCAxMjAwMTAsIDczNzk1LCA4NzAxLCA2ODEzMCwgMTE5NjE2LCAxMjA1MjIsIDAsIAorICAgIDQyNDc3LCAxOTQ5OTQsIDEyMTIzLCA0NDk1LCA0MzU2OSwgMCwgMCwgMCwgNjQ5NDYsIDEwOTkyLCAwLCAxMjAwMDksIAorICAgIDcwMzM2LCAxMTM2ODgsIDkzMTgsIDkzOTg2LCAxMzI0OSwgNDI5MDIsIDczODA4LCAwLCA2NTQ1NywgNDIyNDksIDc2MzksIAorICAgIDQzOTk1LCA2Nzg0NSwgNDI2NDEsIDU0NTQsIDAsIDAsIDcwMzY2LCAxMjAwMDUsIDExOTU4NSwgOTgzOTY2LCA1MDg0LCAwLCAKKyAgICAwLCAxMTg4NjEsIDAsIDczMywgNzQ2NDYsIDc4MDE0LCA3ODQzNiwgNzg0MzUsIDExMjA0LCAwLCA5MjE4LCAxNzMxLCAwLCAKKyAgICA5MjkzNywgNzEwNzAsIDY3OTkwLCAwLCAwLCAwLCA3MDMyMywgMTI3MDE4LCA5MjQ5MiwgNTE1NSwgMTIwMDAwLCA1MzU4LCAKKyAgICA5ODM3NDQsIDAsIDkxNzc2NywgNjQ0MjQsIDcxMjM2LCAzODQwLCA2NDMxNCwgNDE0MzIsIDAsIDc4MzE1LCA2ODQzMCwgCisgICAgNjc5ODAsIDQzMjUzLCA2NTk0MywgMCwgMzM3MSwgMTA5ODgsIDEyNzk2MCwgODc3MSwgMTQ3OSwgMCwgMCwgMTEwOSwgCisgICAgMTE1ODAsIDQzNjU3LCA2NDYwMSwgMTIyMDUsIDkyNzgyLCAwLCA2NDUwNywgODg2OCwgMzk5LCA2Nzk3OCwgNzQ4NDIsIAorICAgIDk4MzI4NCwgOTgzNzIxLCAxMjE0OSwgMTMwODgsIDU1MSwgMCwgMTAxNTYsIDEyMTE5LCA5MjU3MiwgMTE4OTE2LCAyNTQ0LCAKKyAgICA2NTA3NCwgMTE5MjExLCA5ODMyOTYsIDAsIDc4MDExLCAzNTEsIDc4MDEzLCAwLCAxMjg3MTMsIDU1MjI5LCAwLCA3NDI2OCwgCisgICAgNzgwMDgsIDEyODA5NCwgMCwgNDIzNzcsIDAsIDAsIDAsIDExMzc2NywgNzQzMjAsIDkwMTMsIDQwNTQsIDAsIDE5NDU4MCwgCisgICAgMTEzNzQwLCAwLCA3Mzk2MCwgNTU4NSwgNjU4ODEsIDI1NDksIDc0NDY5LCA3NDQ1NywgMTExMDQsIDU1ODQsIDgzNTgsIAorICAgIDEyODk3NSwgNjQyMTUsIDY2ODY0LCAxMDkxOSwgNzEyMDgsIDc5ODAsIDEyNjYwMSwgMTEzNjk4LCAyMjE4LCA0MTgwMCwgCisgICAgNTU4OSwgMCwgMjY2NCwgNDE2MTMsIDU1ODYsIDExODg5MCwgMCwgMTEzNTYsIDAsIDAsIDQzNDUyLCA2NzI0NSwgOTI5OTMsIAorICAgIDQyNTczLCA2Njg3OSwgMCwgNzgxMjksIDY5NzY3LCA3ODc1MiwgNzQzOTIsIDgxMzUsIDY0NTAsIDEwMDU1LCA3Nzk5NiwgMCwgCisgICAgMCwgMTE5MjI1LCA1NjU3LCAwLCA5NjI2LCAwLCA3Nzk5NCwgMTAxNzksIDU2NTQsIDEyOTM5LCA5MjU3MywgMTIwNzk5LCAKKyAgICA3MTg2MCwgMCwgNTY1MiwgMTA5NDUsIDkxNzkyNywgNjY0ODYsIDAsIDM2NjEsIDc4NjMsIDAsIDAsIDAsIDcwMzMyLCAKKyAgICAxMjcxOTQsIDU2NTksIDAsIDc4NjkyLCA2NjcyOSwgNTY1NSwgOTgzNjI2LCA0MjE2OCwgMTk0NTgxLCAxMDU1LCA3MTE3MSwgCisgICAgNzE4ODgsIDY2MzEwLCA3NDAzMCwgNzA1MTYsIDEyMTQ2LCA3MDM2MiwgNzM5NTYsIDExNjE4LCAwLCA0MjcyMCwgOTI5NDksIAorICAgIDEwMjcyLCAxMDMwNCwgMTAzNjgsIDQyNTE4LCA1OTQsIDEwMjQ0LCAxMDI0OCwgNzQwNywgOTgzODg3LCA2NDg3MCwgCisgICAgNzQxOTEsIDM0NjcsIDcxMDczLCA3ODgxLCAzMzMxLCA5NDYsIDEwMjMxLCAxNDk1LCA4MTMxLCA3NDMzMCwgMCwgOTU2MiwgCisgICAgNjkyMjIsIDY1OTI3LCAwLCA3MDAzNiwgNjk2OTYsIDY5NzY5LCA2NDY1NiwgOTgzNzI2LCAwLCA5NDAyMCwgNzAwNTYsIAorICAgIDU2NjYsIDY1MjI3LCA1MzE4LCA2Mzk5NCwgMTE5NTk2LCA5MDkxLCAxMDc5OCwgNzg2NjQsIDc4NTA4LCAxMDE4NiwgMCwgCisgICAgNzczMiwgOTgzNzI0LCA2NDU1NiwgMCwgOTgzOTc5LCA1NjY4LCA3NDQ0NSwgMCwgNzQ2NDUsIDU2NzAsIDExMzc5NSwgCisgICAgMTI3Mjk3LCAxMTgyMCwgMjk5MiwgNzgyNiwgNTY2NywgMTk5NTIsIDEyMDgwNywgMTEzNzY2LCAxMjc0OSwgNzQ1NTEsIAorICAgIDY3NzU3LCAwLCA2NjQ5NiwgNDM2MSwgMTE5MjYwLCAxMzA2LCA5Mjg2LCAxNDk3LCAxMjgyODYsIDk0MDA0LCA3MDM1OSwgMCwgCisgICAgMzU3MSwgMTMyNDcsIDU4NzQsIDc5NzMsIDY2MzUzLCA2ODQzNSwgNzgyNzgsIDY3ODk2LCA0MzE5MiwgNzQ2MjEsIDc4MjY1LCAKKyAgICA1NTMsIDExMzc2OCwgMTI3MDEyLCA5MzA1MywgNTgyOSwgMCwgNDU4NywgNzgyODUsIDY1OTEyLCAxOTQ5MTksIDEyNzQ2LCAKKyAgICAwLCA3MDMzOCwgMTE5OTI0LCA1NjMzLCAxMTk5MjcsIDc0MjU5LCA5NDEwMiwgOTQwOTksIDY0OTA1LCA5NDEwNSwgOTUxMiwgCisgICAgOTQxMDMsIDEyNzQyLCA2NDQzLCA5ODM4MDYsIDAsIDkxMzUsIDEyODg2MywgNDE1NjQsIDAsIDU1MjE5LCAxMjg4MzIsIAorICAgIDk4Mzg1MSwgMCwgMTIxNDgsIDAsIDc4Mjk3LCAwLCA2NDI1NiwgMCwgMTE2NjksIDAsIDU2MzQsIDQ1MjQsIDAsIDEyNDkzNiwgCisgICAgMTI4MzkwLCAxMTg4ODAsIDI0MjUsIDY1MTgyLCAxMjg3NjksIDQzNjM2LCA1MjIxLCA3ODQxMCwgMzI4LCAwLCA5ODM4MDksIAorICAgIDY5ODE1LCA1NjM2LCAxMTk5MTcsIDUzMjksIDAsIDU2MzgsIDExOTkxOCwgNzk0MCwgNjQ5MzgsIDQzMjIzLCA0Mzc2MCwgCisgICAgNTYzNSwgMzM3MywgMjk4NiwgNzgyOTIsIDc0MjIzLCAzNDM3LCA3ODI5MSwgNjIwMywgNDI0NywgNzExNjksIDExOTIwLCAKKyAgICA4Mjc0LCA2ODI0MCwgOTgzNjU4LCAxNjU3LCA0MTU2MSwgNzgyOTksIDc4Mjk1LCA1NjM5LCAyOTU0LCA1NjYwLCA1NjQwLCAKKyAgICA3ODMwMywgOTgzNjg1LCA3MTE3OSwgNDIyMjcsIDY4MzAxLCAwLCA0MTYzNywgNjc4NzIsIDE5NDgxMywgNzgzMTAsIAorICAgIDQxNjI1LCA0MzM2MiwgNzgzMDksIDEyMDcxMywgMTE3MDUsIDU2NDIsIDAsIDU0ODYsIDAsIDQzNTYsIDExNzEwLCAwLCAKKyAgICAxMjA1MSwgNjk5MzgsIDAsIDU2NDEsIDgyNTksIDAsIDEwNTgsIDAsIDY3NjMwLCAwLCAwLCAxMTQ0LCA3ODc1MCwgCisgICAgMTI3MjkzLCA0MjIyOCwgOTgzNzE0LCA3Mzg5MCwgMTE4OTcyLCAxMjczNTIsIDI4MDAsIDAsIDU2NDUsIDY0OTY0LCA4NjUyLCAKKyAgICAyNTQ3LCA2NjQ4NCwgNDM2MzQsIDAsIDU2MDgsIDY1ODkwLCA0MzgwOCwgMCwgNjc2MjEsIDY0OTMyLCA5MDAwLCA3MTIwNCwgCisgICAgNjcyMzUsIDkyNjczLCAxODY1LCAxMjg3MDYsIDU2MTMsIDY2NDAxLCAwLCAwLCA1NjEwLCAwLCA3MTE5OSwgNjU4MjYsIAorICAgIDIwNjksIDAsIDEwNzg3LCA0Mzk5OSwgMjk5NywgMCwgNTYwOSwgNzgzMTYsIDY1MzE5LCA3ODMxMywgMTIzMTYsIDU4NzUsIAorICAgIDI0MTIsIDAsIDgxODYsIDk4MDcsIDc0MjY5LCA2NjI5NCwgMTMxMzAsIDY1ODc0LCAwLCA1ODA3LCAxMTM2NzgsIDEwMDMwLCAKKyAgICA1MzA2LCAxMjM2NCwgMTE4ODYzLCA5Mjk3MCwgMTE3MDQsIDAsIDkyNTgzLCAxMDIxMSwgMCwgMTIwNTc5LCAwLCA5ODMyMDIsIAorICAgIDExNzA2LCA5NzEwLCAxMjUwMjIsIDAsIDEyMDY1NSwgNDEzLCA2NTYyMywgNzExOCwgOTgzOTQ5LCA5MTMzLCA3NDI2MiwgMCwgCisgICAgMTA0MiwgMCwgNjQ3NzksIDEyMTcxLCAxMTkyNDAsIDYxODUsIDY0Nzc2LCA0OTg0LCAwLCA3MDgsIDExMzkxLCAwLCAKKyAgICAxMjI0MSwgOTI3MjAsIDk4Mzg5OSwgMTMwOCwgMTk0OTkyLCAyNTM0LCA4MTAsIDAsIDAsIDEyODAxNiwgNzE4NDksIAorICAgIDcxODY5LCAxOTE3LCAzMDAwLCAxMjUxNDAsIDEyMDE4NCwgMTIwNzM5LCAyMzY0LCA2NjM4NywgNzQ0NzAsIDY2NjE4LCAKKyAgICA2NTY4MCwgNjY0MTEsIDEwMDI3LCA3MTg0MSwgMTI4MTU0LCAxMjMzNywgNzQyODMsIDEyNzM2OCwgOTgzMTY3LCAyOTgwLCAKKyAgICA3NTUsIDY5Nzc0LCA5MzEsIDEzMTI0LCA2ODE4MiwgNjM2MywgMjc0OCwgMCwgMCwgNjUwNDEsIDkyMjc2LCA0NDAxMSwgCisgICAgODczMCwgMTk0OTk3LCAxMjc4NTQsIDc4MzEyLCA3Mjc0LCAxMTkyNTAsIDAsIDcyNzUsIDc4MzA0LCA5MzUsIDAsIDY1ODQwLCAKKyAgICAzNzcsIDQyMzI1LCAxMTY0OSwgMTI3MzYzLCA2NTI1MywgNjQzMDEsIDEyODgzNSwgNzgzMDgsIDQyMzQxLCA2NTI4NCwgCisgICAgMjQxNywgMCwgMTI4ODQsIDE5OTEyLCA3OTA3LCAxMDc2OCwgNzgzMDAsIDE5NDk5OCwgMCwgMTA2NzMsIDExOTIxNywgCisgICAgNzI0OCwgMCwgNDM1MTUsIDE3ODEsIDU0OTYsIDM2MjcsIDYyLCAxNjQ5LCA2Nzg3NiwgOTY0LCAwLCA2NjQwMywgNzgyMjYsIAorICAgIDY2MzkzLCA5Mjg5NywgNzAzNTUsIDY2NDA5LCAwLCAxMjc1MzQsIDQzNjg5LCAxMjc5MTEsIDEzMTQyLCA3ODgxMiwgCisgICAgNDI0MTUsIDY2NTc1LCA0NTQyLCA2OTkwOSwgNDM1NDcsIDAsIDAsIDc2NzcsIDI5OTEsIDQ5NDYsIDQyNDU0LCAxMTU2NSwgCisgICAgNzk0OSwgMCwgNjk3NTksIDExMzQxLCA0MjQ5NCwgMzA3MywgNjU2MjUsIDk3MTQsIDExNjkyLCA0NjU3LCAwLCA3MDgxMCwgCisgICAgNjQ3OCwgOTg5OCwgNDM2NzMsIDY1MjM3LCA2MjQxLCA3MTA2LCA0ODc3LCAxMjkxMDgsIDYyMzgsIDAsIDEwNTQ4LCAKKyAgICAxMjcwNDksIDQ0MDksIDAsIDAsIDY0Nzk4LCA3MDgwNSwgNTM0NiwgMTI4MjQwLCA5NDA0NywgNjIzNywgNDg3NCwgNjY4NTEsIAorICAgIDkxNzYsIDkyODgyLCAxMjY1NTMsIDY1MjMxLCA2NTg4NCwgMTI2NzgsIDc4NzQ4LCAxMTg5MTIsIDExMzc4LCA0NDAxOCwgCisgICAgNDI3ODUsIDI0MDgsIDMyNTEsIDExMjAzLCA5ODMxNTksIDU2ODUsIDAsIDI0NjEsIDExMDUyLCA3MDkxLCA1MzQyLCA4MzE3LCAKKyAgICAwLCA2ODE2MywgNTM0MCwgMTIwNTU5LCAxMjc4MjAsIDQzNjM1LCA3MzkyOCwgMTI3NTI5LCA3MTA2OSwgMTI4Mzk1LCAwLCAKKyAgICAxMjg1MTAsIDY1NDgyLCA5ODM1ODAsIDkxNDIsIDAsIDY4NTA2LCAwLCAxMDkzOCwgMCwgMTE4NzkwLCAxMTgyLCAyNTQyLCAKKyAgICA0ODI2LCAwLCAwLCA3MjQzOCwgNTI5LCA4NTgwLCAwLCAwLCAxMDU4NiwgMTA3OTAsIDEwODM5LCA2NjAyMywgNDE1OTMsIAorICAgIDQxMjA3LCAwLCA5ODM4MjUsIDQxNTk0LCAyMjUsIDQyODI4LCAwLCAwLCA5ODM5MzgsIDExMzc2LCA3NDM3OSwgMTA3MjEsIAorICAgIDY3NjY0LCAzNDM4LCA0MjA5NywgMTI3MjY3LCAxMTA4NCwgMzE5NCwgNDE4NzAsIDI2NiwgNzgzMDUsIDEyMDE4MywgCisgICAgNDE4NzMsIDEyMDU3NSwgMTEzMjQsIDEyMDUzMSwgMCwgODQyMCwgNjQ5MTgsIDEyODgzOSwgNDE4NzEsIDQxMzM4LCAzNzM0LCAKKyAgICA3NzM0LCA0MzY4MywgODc1MCwgNjY2MDUsIDY2MDExLCA5MjUxNCwgNDA5NjUsIDEyNzkzNywgMCwgNTE2MSwgMTA1NzIsIDAsIAorICAgIDQyOTA2LCAwLCA2NDM0OSwgNzI4NywgNDIxNjIsIDEyMDQwNiwgOTgzNjQzLCAxMjY2MDUsIDExMTY3LCA2OTIyMCwgCisgICAgMTIzNTksIDQzNDI5LCA0MTM2OSwgMTY5NywgMTIxOTEsIDAsIDY4NjMzLCA3Mjg2LCAwLCA2ODYzNSwgMTAwMzEsIAorICAgIDEyNTA1OCwgOTg3MCwgNjc3MjYsIDg2MjAsIDY1ODI0LCAwLCAxMTkzOCwgMCwgNzI4NSwgOTgzNTU3LCAxMTk1NzcsIAorICAgIDQyNjc4LCA2Njg0MiwgNDM2NzcsIDQxNTgzLCAwLCA2NTc5OSwgOTI2MjMsIDAsIDEyOTE2OCwgOTgzOTM2LCA3ODE2OSwgCisgICAgNjYxOTksIDAsIDM2MDksIDY4NjI0LCAwLCA4MzIsIDEyMDY5MywgMTIwNzcwLCA3ODQ3MywgNjYwMDcsIDc4NDcxLCAKKyAgICA2NTcwMywgNzEyNTYsIDEyODUxNywgNDI3MzIsIDUxODAsIDkyNjk5LCA0MTM5NSwgNDE1MzAsIDExNjkxLCA2NDc3MywgCisgICAgOTIyMTQsIDc0MDAyLCAwLCAwLCAxMjg2NDUsIDYzNDgsIDI0MywgMTMyMDAsIDk4MzgxMywgNjAyNCwgOTIzMDksIDk5NzksIAorICAgIDEwMDM3LCA0MTUyOSwgMTA2NDgsIDg1MzgsIDQzNjg3LCAwLCAwLCA0Mjg1LCA2NjE5NSwgMCwgNDIzMCwgOTI4ODYsIAorICAgIDczNjcsIDQzMjU2LCA5MjM1MywgNzU2MywgNDIzNzYsIDAsIDY4NDQyLCAxMjA1MTIsIDAsIDAsIDIxNCwgMTI4NTc4LCAwLCAKKyAgICA3NDg1NiwgNjU4OTMsIDEyMjA4LCA5OTczLCAxMjgzODYsIDY2MzExLCA2NTU4OSwgMTI4Mjc3LCAyNjAzLCAwLCA3MDE1NSwgCisgICAgMCwgNzAwNDcsIDAsIDYwMjIsIDAsIDI4ODQsIDAsIDExNjIwLCAwLCA0MywgMTk1MDIwLCAxMjY4MiwgMTAxNiwgNDExMDcsIAorICAgIDAsIDQxMTIxLCAzODg1LCA5MiwgNjU0NTYsIDY0NjA4LCAwLCA3NDgwMSwgNzA4NTUsIDIwNzQsIDExMzc0MiwgNzgyODMsIAorICAgIDAsIDEyNDUzLCA3MDg0NywgOTgzODI2LCA3NDI0MSwgMTI2NTY4LCA2NzkxLCAxMjQ1NywgNzgyNjgsIDAsIDY2Mjc4LCAwLCAKKyAgICA3ODI3OSwgMCwgMCwgOTIzNTgsIDY2NjM3LCA3OTk1LCA4NzU5LCA0MzQyMSwgNzgyNzcsIDEyNDQ5LCAxMjg1NTIsIAorICAgIDcxMjI0LCA0Mzg2OCwgODc1MiwgMzE5NywgNDcyMCwgMTAxNjUsIDAsIDExOTI0OSwgMTEzNzE1LCAxMTU5NSwgNjQ4OTMsIAorICAgIDExODkwNSwgNDM0MzUsIDEyNDk2NCwgMTI1MDMwLCA0OTkzLCAwLCA2MTY4LCAxMDkzNCwgMTk0NiwgNzQxLCAwLCA1NDk0LCAKKyAgICA0NjM5LCAxMjc1NTksIDE5OTAsIDExMTA3LCA0NDk4LCA3NDE2OSwgNjc3MzYsIDAsIDEyNzI3MiwgNjk3MzQsIDI5NjAsIAorICAgIDczNzc5LCAwLCA4OTY5LCAxMjgxMTcsIDQzNDI0LCA3Mzk1OSwgMCwgMjk1MCwgMTE5NTc5LCA2MjEwLCA2NTc1MywgMzcwLCAKKyAgICAwLCAwLCAwLCA0OTUzLCA5ODM2ODIsIDk4MzcwMSwgMCwgMCwgNjkyMzAsIDAsIDAsIDY1Njg4LCA5ODMyNDYsIDUwNjMsIAorICAgIDM1MTcsIDI5NjQsIDQzNjYzLCA5MTc3NjIsIDYzNDQsIDc0NzkxLCAxMDU2NiwgMTAxNDQsIDY2MzMzLCA4MjUyLCA3MjksIAorICAgIDY2MDE2LCA3ODI1MywgMCwgNzEzMTcsIDY0OTIzLCAxMjA1NzEsIDQzNjY5LCA5MDMyLCA3ODI2MywgNzgyNjQsIDAsIAorICAgIDQxMjE1LCAwLCA2NTg4MywgMCwgOTE3Nzc0LCAxMjA2MDIsIDM3NjEsIDAsIDAsIDcwMDY4LCAxMjA0MDgsIDEyOTEyLCAKKyAgICAxMTkwMTIsIDM4NTAsIDEyODE5MSwgMCwgMTI4Mzg5LCAwLCAwLCA5MDgsIDAsIDg2MTEsIDAsIDAsIDc0NjQyLCA0MzY5MSwgCisgICAgNDExOTcsIDAsIDg5NzgsIDEyMDU0MCwgMTE5MTM1LCA0MTU4NiwgMTA1MjcsIDcxMDc5LCA5MTc4NDgsIDM4NDgsIDc4NzM5LCAKKyAgICAxMTM4MDAsIDEyNzUzNiwgNjUyNDEsIDUzMzYsIDk4MzI1OSwgMTI4Nzg2LCA2NjMsIDAsIDEwNzgwLCAwLCAwLCA3ODc2NywgCisgICAgOTgzMjU3LCAxMjcxNjMsIDY4MTkzLCAzNDcsIDAsIDk4MzA4NiwgNzg3NzUsIDY0Njc1LCA0MTU4MiwgNzg3NzQsIDc4NzQ0LCAKKyAgICA2NTU3OSwgMTI5ODAsIDc4NzY5LCAxMjE0MywgNjk2NTcsIDc4NTEyLCAxMjg0OTMsIDExMTUzLCA0MTgwNCwgNzg1MjMsIDAsIAorICAgIDc4NTI1LCAwLCAxMjg4NTksIDQxNTg0LCAxMDY4MSwgMCwgOTgzNjk1LCA3MzkzOCwgNzM3ODEsIDEyODAyMiwgNDgwMCwgCisgICAgNjY2NjEsIDAsIDY2MzA2LCA2NDcxNSwgNjYzODQsIDk1MTgsIDY2MDksIDEwNDM0LCA3MDg0NSwgMTEzMTksIDEwOTcsIAorICAgIDEyODk2NCwgOTE3ODUwLCA0MTczMCwgMTI5MTgxLCAwLCA3Mzg0NywgNzg3NjEsIDY1MTcyLCA0MTcyOCwgNDE3MjEsIAorICAgIDkxNzkxMSwgMTk0NzY5LCA5ODM3OTUsIDQxMjAzLCA5MTc2MTIsIDEzMTEwLCA0MTcyNiwgOTgzODU1LCA2NzA3NywgMTAwMCwgCisgICAgNjk2NTEsIDAsIDQxMTQwLCAxMjA5LCA3Mzk3OCwgMTI1MDU5LCA3Mzc1MCwgMTA3MywgNjMyMSwgNzc4NzgsIDQxMTM4LCAwLCAKKyAgICA2ODIxMywgNzgwMDAsIDEyMTY3LCAxMTE1LCA0MTYwNSwgOTc5NCwgMTI3MDYyLCA2NzY3MSwgNTUyNDgsIDEyMjM3LCAKKyAgICA3ODc4NywgNjYzMTQsIDY1ODcsIDkyOTAsIDc4NzgyLCA3ODc4MywgOTIzMSwgNzg3ODEsIDI5NTksIDc5MjYsIDAsIAorICAgIDk4Mzk0OCwgMTI4ODMzLCA2NDM5OCwgMCwgMTE5OTcwLCAxMjMxMSwgMTE5MTgxLCA3ODc5NiwgNzg3OTgsIDc4Nzk0LCAKKyAgICA3ODc5NSwgNjg0MzQsIDc4NzkzLCA2NjY3MCwgMTEzNzk3LCAwLCAxMjI5MCwgMTIwMTY5LCAwLCAxMTk4NzMsIDQyMTQyLCAKKyAgICA5OTY4LCA4MjA1LCAwLCA1MTMxLCAxMTM2OTQsIDk2MjcsIDQzNjQ2LCA3ODU0MiwgNzg1MzUsIDk4MzIxMiwgMTk0NCwgCisgICAgMTI0OCwgMTAxNDgsIDEyNzc1NSwgMTE5OTkwLCAxMTk5OTEsIDEyNzAxLCA3ODM3NiwgMTEzMDgsIDExOTk5NSwgMCwgCisgICAgMTEzNzAyLCA2NjgzNiwgNjUzMDUsIDY1MTAwLCA0MDMxLCA0Mjc5NCwgMTIwMDAzLCA3MDc1LCA4MTU0LCAxMTk5ODUsIAorICAgIDEyMDAwNywgNDE4MTcsIDczOTM0LCA0MjI3NSwgMTIwMDExLCAxMjAwMTIsIDc4NTI2LCAxMjAwMTQsIDEyMDAxNSwgNjA0MSwgCisgICAgMCwgNDE4OTksIDk4MzI4NiwgODAwMiwgMTI4MzY3LCA0MzY0LCA3MzczMiwgMCwgNjQzMzIsIDAsIDc4MTMsIDkwNjQsIAorICAgIDExOTk4NiwgMTAxMjQsIDc1MjYsIDg2MDEsIDcyODEsIDY4MjQ2LCA3Mjc5LCAxMjA0MSwgMTQxOCwgMTA4ODUsIDEyNjczLCAKKyAgICAwLCAxMjkxMjMsIDk2NjAsIDk4MzI4MCwgMTMwMTIsIDQ1NzEsIDkxNzU4OCwgMCwgMTIwMTY0LCAxMjA3OCwgMjk3MCwgCisgICAgMTI5MTIyLCAxMDkzMywgMCwgNzc4NzAsIDAsIDc3ODQxLCAwLCA0MTU5OSwgNzAxNTksIDEyODgzMSwgMCwgMTI5NTAsIAorICAgIDkyMTYwLCAzNDg2LCA5ODM5NzMsIDc4MzExLCA0MjM5LCAwLCAxMjc3OTksIDY2NTExLCA5MjczOSwgMjYzNywgNjQ2MjksIAorICAgIDg0NjAsIDY2ODM0LCA4NDc2LCA5ODM5NzUsIDAsIDY4MzEyLCA3ODQ4OSwgNjU2NzMsIDEwMTksIDc4NDk1LCA0MTQ4LCAwLCAKKyAgICAxMjI4OSwgMCwgNDMxNiwgMCwgMTMxMTksIDg0ODgsIDU0MTIsIDY2MjQzLCA5OTM1LCA5Mjc3NywgNzM4NjQsIDk4MzIwMywgCisgICAgNDE3MzQsIDgyMDYsIDc0MDgxLCA5MTYzLCAzMjg2LCA5MDcyLCA1ODY3LCAxMzMwMiwgNzYyMiwgNzEyMCwgNDE3MzYsIAorICAgIDkyNTQ2LCA0MTczMSwgMCwgNzQwMCwgNTQxNiwgNjg2NjMsIDExODkyNCwgMTA4MTcsIDAsIDQxNTM5LCAxMjcyODQsIAorICAgIDY2ODUzLCA3Mzk2MywgNDE4NTUsIDQxODY3LCA2NTU2NCwgMTEyNzcsIDY1ODkyLCAxMTUzNiwgMTA2MjAsIDkyMjcyLCAKKyAgICA3MTE1LCA2NjAzMCwgNzM5MzIsIDU0OTgsIDYzODc2LCA0MTUzNiwgMCwgNjgyMDQsIDkyNTg3LCAzNDU5LCA4OTk3LCAwLCAKKyAgICA5MjcxNCwgMCwgMTI5MDI3LCA5MjUxMiwgMCwgNjYzNzcsIDY5NzgxLCAwLCAxMjQ5NzIsIDc4NTExLCAzMTYxLCAyOTUsIAorICAgIDcxMjU3LCAwLCA5MjIyMywgMTI3ODU2LCA3ODc0MiwgOTAxNiwgNDM0NTQsIDYzOTAzLCA2MzkwMiwgNDM1MDEsIDAsIAorICAgIDM5NzEsIDk4Mzk1OSwgNzAwNjMsIDI5NTIsIDc4NzY1LCAxMTAzOCwgMTA5MDEsIDYzOTAwLCA2Mzg5OSwgNjM4OTgsIAorICAgIDk0MDQzLCA2NjcsIDEyMzMyLCA2Mzg4NywgNjA4NiwgNDE3MjIsIDAsIDUxNzIsIDAsIDk4MzI3OCwgNDE1OSwgOTgzNTYyLCAKKyAgICAwLCA5ODE1LCA2Mzg4NCwgMTk5MzQsIDYzODgyLCA0MTE5OCwgODU1NSwgNjM4NzgsIDYzODc3LCA0MjQ2MCwgNjA1MCwgCisgICAgNDI3MDgsIDYzODgxLCA2Mzg3MiwgMCwgNDI0MjEsIDAsIDQxNzIzLCA2Mzg3NSwgNjM4NzQsIDExNDYwLCA3NDMyLCAxOTEzLCAKKyAgICA0MTkxMywgNjM4NTIsIDY2ODY5LCAxMjg5NzEsIDQyMzQ4LCA3Mzg5MiwgNjc1MiwgNDQ2LCA0MTkxMSwgMTI3OTA2LCAKKyAgICA2Mzg1MSwgNjM4NTAsIDQxOTEwLCAxMjg2MzcsIDYzODQ2LCAyOTcyLCAxMjkzMiwgNzI2MiwgNjk5NjgsIDYzODQ5LCAKKyAgICA2Mzg0OCwgNjM4NDcsIDExMzc0OSwgNjU3MCwgODMwMiwgNzI1OSwgNjM4NDIsIDQxNzgsIDEwNzQ2LCA3MjUwLCAxMzIxNCwgCisgICAgMTAwNDEsIDgxMDUsIDYzODkyLCAxMjc3ODAsIDY5OTY5LCAxMTA1LCA0MTgwLCAxMjc3ODYsIDEyMDk0LCA5NDk3LCAwLCAKKyAgICA2Mzg5MSwgNjM4OTAsIDYzODg5LCA2Mzg4OCwgNTUzOCwgOTk4NywgMCwgMTE4OTMyLCAxNjc4LCAxMzI3NCwgNTUyLCAKKyAgICAxMjA2NTQsIDQ0MDEwLCAxMDc4NSwgMCwgMTExOTIsIDQ1NTcsIDc0NDU5LCA5MTU5LCAxMDE3MSwgMTMxMjUsIDYzODYwLCAKKyAgICA1NTQwLCA2Mzg1OCwgNjM4NjUsIDI4MSwgMTMyNDIsIDYzODYyLCA3NDE1NCwgMCwgNTUzNiwgNjU1NjgsIDYzODU3LCAKKyAgICAxMzg4LCA3MTkwMiwgMCwgMTA3NywgMTk1MDAwLCA2NTA5OSwgMTE1MzEsIDU4MzQsIDAsIDAsIDAsIDAsIDQyNzczLCAKKyAgICAxMjc4OTksIDAsIDAsIDExOTIyMCwgMCwgMzY2MywgMTI3MDI3LCAxMTEyLCA3MDMzNSwgODY4NiwgMTI2NjExLCA1MzM0LCAKKyAgICA2NTA4MSwgNDMyNDksIDc0Nzc4LCAxMjc5NjgsIDExMDc3LCAxMjUwMTcsIDY1MDksIDAsIDUzMjcsIDEyNzk2NSwgMTk5MDcsIAorICAgIDYzODY5LCAzNDc4LCA3NTgzLCA3Njc5LCAyOTAzLCAwLCAzMDAxLCAxMTU4LCA4NzQ1LCA0Mzc0NiwgNzM3NDgsIDYzODY2LCAKKyAgICA3ODYyNiwgMTkxNSwgNDg0NiwgNjc3NTUsIDY2MzcxLCAxMTg5ODQsIDQyMTA1LCAyOTkwLCAxMjAxMjgsIDgwNSwgNjkyMzgsIAorICAgIDY0NDM4LCAxMjA3MCwgODc2MCwgMTExNywgMTEzNzUwLCAxMjIxMiwgMTIwMTIzLCA2NTE3NCwgNDIzNTcsIDYzODM1LCAKKyAgICA2MzgzNCwgMCwgNzgyNDAsIDEyMjI1LCA2MzgzOCwgNjM4MzcsIDk4Mzg1MywgNzAxNzMsIDYzODMzLCA2MDQyLCA2NjM2MCwgCisgICAgODA4MywgMTI4MTY2LCAwLCA2MzgyMSwgNjM4MjAsIDYzODE5LCA2MzgxOCwgOTgzOTA0LCA1MjI3LCA5MDQ3LCA2MzgyMiwgCisgICAgMTI3MTYyLCA2MDkxLCAwLCAxMDY5MSwgNTYwLCA1NjQzLCA4MjI2LCAxMTk1NzgsIDYzODEyLCA2MzgxMSwgNjM4MTAsIAorICAgIDYzODA5LCAyMjg5LCA2MzgxNSwgNjM4MTQsIDYzODEzLCA2MDQ3LCAxNTk3LCAxMjAxNDMsIDc4MCwgMjA2LCA3MDEyNiwgCisgICAgNDkzNiwgNjUxNDcsIDgxNjgsIDYzOTMwLCAyMDc2LCAxMDkzLCA5ODgyLCA2MzkzNCwgMjA4MiwgNjM5MzIsIDEyODE1MCwgCisgICAgNjM5MjksIDM1NDYsIDE2MDUsIDc3OTM0LCA5ODA2LCA0MzQ3MiwgNzc5MzMsIDg0MDAsIDExMzQzLCAyMDg2LCAwLCAKKyAgICA2MzkyNiwgMjk4NCwgNTk2OCwgOTI4NywgMCwgNDYxOCwgNDIyMDksIDExMTM3LCAxMzE2OSwgNTI5MCwgMjA4OSwgMTY5NSwgCisgICAgMTA3NDMsIDEwODgsIDYzODI1LCA3MjY4LCAxMDg0LCAxMDg1LCA2MzgyOSwgMTA4MywgMTAxMzEsIDcyODMsIDAsIDYzOTcwLCAKKyAgICAxMjgzNTgsIDEwOTIsIDQ3NTQsIDcyNzMsIDUyNTIsIDQ0MDE2LCA0MzYyNywgMTI3OTIxLCAxMjg5MjAsIDc0MDgsIAorICAgIDExODA5LCA5MTc2MTgsIDEyNzkxNywgMCwgMjk2NSwgNzI1OCwgODgwOCwgNjY1NzIsIDEwODksIDQxODcsIDYzOTM3LCAKKyAgICA0MjExOSwgNDIxMjAsIDExMTA2LCA5NDAsIDU3ODcsIDEwMDk5LCA2MzkzOCwgMCwgNzQ0OTQsIDEyNDYzLCAyOTk0LCAwLCAKKyAgICAxMTg4MjcsIDY4NTIyLCA5NjY0LCA3MDgzNCwgNzc5NDAsIDY3ODkyLCA3NzkzOCwgNzQzNDMsIDY3MzcwLCAwLCA2NjAsIAorICAgIDEwMTI3LCA2NjYsIDkwMjIsIDU1MzIsIDQzNjY3LCA1NTMzLCAxMjU4MCwgNzg1MDcsIDYxMTgsIDIyMiwgOTc5LCAzODg0LCAKKyAgICA5ODMzOTIsIDc0MTUxLCA5MjY1MiwgNjUwMiwgMCwgMTEwODUsIDEyODY5NSwgNjM5NTEsIDEyNDY1LCA5MTc4NjIsIDAsIAorICAgIDEyODc4MiwgNjM5NDYsIDE3MDcsIDYzOTI0LCAxMjQ2MSwgNjM5NTAsIDYzODk3LCA2Mzk0OCwgNjM5NDcsIDYzOTQ1LCAKKyAgICA2MDM4LCA2Mzk0MywgNjM5NDIsIDY0Njg1LCA2Mzg5NSwgNjU4MzgsIDIyNzYsIDc3NzYsIDk0MDc2LCAwLCA5MjQ2NCwgCisgICAgMTIwNDQ0LCA2OTczMCwgODAxLCA0MzE2NSwgMTY5MCwgNjM5MTksIDYzOTE4LCA2MzkxNywgMTMyNzcsIDQzNjU5LCAKKyAgICAxMjk1MSwgMTIwNjM4LCA5OTA2LCAyMDU0LCAyMzM0LCA3ODUxNSwgNjM5MTYsIDU0ODMsIDYzOTE0LCA2OTczNywgNjM5MTEsIAorICAgIDU0ODQsIDYzOTA5LCA2MzkwOCwgMjUzOSwgMTIwMTAyLCA0Mzk4MCwgNTQ4NSwgMCwgNDI2OTcsIDkwNjEsIDU1MzQsIAorICAgIDEwNjcyLCA0NTAyLCAxMjQ5MzIsIDI1MywgMCwgNjgyMDgsIDEyMDQzOSwgOTIwMywgNzQyMzEsIDAsIDExNTMwLCA2ODYzNCwgCisgICAgNjg2NjgsIDAsIDExMTI3LCAwLCAxMDQ3NCwgNDM0MjYsIDEzMjU3LCA0MjM1NCwgMTI4MDk5LCA5ODM2OTgsIDcwMDQ0LCAKKyAgICAxOTUwNjUsIDAsIDg0MTMsIDY2ODQxLCAwLCA1NjkzLCA3MjcyLCAwLCAxMzIwOSwgNjQ0NzAsIDY1ODMxLCA3NDM1MCwgCisgICAgMTk1MDYzLCAwLCAwLCAwLCAxMjY2MzksIDEyMDA5NywgMCwgOTQwNzgsIDY2ODQwLCAxMjc3NjcsIDY2NjA4LCAzMTExLCAKKyAgICA0MTg2MywgODgwNCwgNDI5MTMsIDc4MzQ3LCA3MjcwLCAwLCA2NjYwNiwgNjYyOCwgMTA3NiwgNzQzMywgMTQzNiwgNzM4NDQsIAorICAgIDU1MjI2LCAxMjgzNTMsIDYzOTgyLCA3MzkzLCAxMjgwNywgNDM0MTMsIDYzOTA2LCAxNTk4LCA2MzkwNCwgNzExODcsIAorICAgIDcwMzkzLCA0MTcyOSwgNDQyMywgMTMwNywgMTEzNjkyLCAxMDUxNSwgNDE1ODksIDEyODY5OCwgMTI4OTE4LCA2MjE4LCAKKyAgICAxMTM2NzUsIDE0MzAsIDAsIDEyNzc3OCwgMTIwNjA2LCA3ODc1NCwgNTQxMywgNzYxOSwgMzI1NSwgMzQ5MywgNzQwMzIsIAorICAgIDExNTQ5LCAxMDczNSwgNDE3NDMsIDczOTM3LCA2ODAxLCA5ODM2MzMsIDQ1MTgsIDEwOTkwLCA2NTA3MywgNTE2NywgNDQ4MSwgCisgICAgMzc3MSwgNjcwOTMsIDI3MTAsIDAsIDY2Mjc3LCA0MTcyNCwgNjc3MTYsIDQzMDczLCA0MTY5MCwgMTI0NzksIDk4MzYzNSwgCisgICAgODM4MCwgMCwgNzE4NTIsIDcwMDQ2LCAxNjI4LCAxMjcxNDksIDEyODgxNywgMTI5MDY3LCA2NTI2MiwgNjMzMywgMTA3ODMsIAorICAgIDExMTcyLCAwLCA2Mzg1NSwgNzA4NDAsIDExMzY3OSwgMCwgNTMzOSwgNzQzMjMsIDAsIDEzMDA0LCA2Njg0MywgNDQ1NywgMCwgCisgICAgMTI3NzU2LCAxOTQ4MTgsIDEyNzExNiwgNTY4NCwgODY3OCwgMTA5MTQsIDQzNjMyLCA1Njg5LCA2NTgwNywgNzA4MTQsIAogICAgIDY4NDY0LCAxMjYzMywgMTI4NzAsIDY5NzA1LCA2NTE4MywgNTY4OCwgMTE5MjYsIDYwMzMsIDYzMTAsIDU2ODYsIDAsIAotICAgIDc0MjUxLCAwLCAxMjA2NDcsIDAsIDUwLCAxMDU1OCwgOTg3MSwgNDI2MTIsIDQzNjU1LCAwLCAwLCAwLCA2NjQ2OCwgMCwgCi0gICAgMTMyNTksIDQ0NDgsIDAsIDk4Mzg0NSwgMCwgNzAwNDMsIDY3ODUzLCAwLCAxMDY0MCwgMTE1MzksIDExNTEsIDAsIAotICAgIDkxNzYwNywgMTI3NTQ0LCAxMjcwNzksIDE5NTA1MCwgMTI3ODUyLCAwLCAwLCAwLCAxMjUwMSwgNjQ2MDQsIDAsIDExNTI3LCAKLSAgICAxMTg4NzAsIDg4MTIsIDAsIDExNTM4LCA4NjczLCAxMjY1MCwgMTEwMjAsIDAsIDY2NDY3LCAyMTA1LCA4MDg3LCA3ODE2MywgCi0gICAgNjk2MzIsIDk4OTQsIDAsIDAsIDAsIDQ2MzYsIDU1MjYyLCA3ODUxMywgNDUxNSwgMjM4MiwgMCwgMTI3MDU1LCAwLCAKLSAgICAxMjA0OTUsIDAsIDEyODI4NCwgMTIyNzcsIDE5NDYyNywgMTE5OTUsIDkyNTUzLCAwLCAxMjE1OCwgMCwgODc0MSwgMTAxOTcsIAotICAgIDAsIDkyNDI2LCAwLCA2NTMxLCAwLCAxMjc4NDYsIDQ3MywgNDM0MTUsIDAsIDk4MzY1MCwgMTg3MywgMTA4NywgMCwgMCwgMCwgCi0gICAgNzg1MjcsIDY2NDM5LCA0MzIxOCwgOTgzMTIzLCAxOTQ3MTYsIDcyMzcsIDEyNTA0LCA3NDI4MiwgMCwgOTgzNTcxLCAwLCAKLSAgICA5NDg5LCAwLCAwLCA0Mzg0LCA3NDIyMCwgNjM4NDUsIDIwNTgsIDEyODg2MywgMTMyOTUsIDQzMTkxLCAxMjgwMzAsIDAsIAotICAgIDExNTQsIDM4NTcsIDEyMDUsIDAsIDAsIDEzMTAwLCAxMjk1OCwgMTIwNzA2LCA3NDE2OCwgMCwgMCwgNDQyMSwgMTA1OTIsIAotICAgIDAsIDQ5NSwgMTE5MDA3LCA0MTcxMiwgNzk4MywgMCwgOTM5OTcsIDAsIDYzNDcsIDEyMDE2NSwgNzY1NCwgNDE3MTAsIAotICAgIDQxOTYsIDAsIDQzNywgNDE3MDksIDczNzcyLCAwLCAwLCA5NDY1LCAxMzI5MCwgMTE5MTgwLCA0OTk3LCA2NDMwNiwgMCwgMCwgCi0gICAgNDk5OSwgMTk0NjQyLCAwLCAxMjY1ODIsIDQ3MTEsIDEyMDc2OSwgMCwgMjczOSwgMCwgODA0NCwgNzQ4MzQsIDE5NDY0MywgCi0gICAgNDE3ODksIDEyODE0MiwgMTA4MDksIDAsIDAsIDAsIDE3NzksIDY2MDAsIDY2MDEsIDQxNTQzLCA1MzI1LCA2NDIsIDY0MTg3LCAKLSAgICAxMzA1OCwgMTIwNDQ5LCAxMjg3NSwgMCwgOTIxODYsIDEzMjI5LCAwLCAxMDU3NSwgNDMzOTksIDAsIDAsIDQxNzkxLCAKLSAgICAxMTA0LCAwLCAwLCAxMDY1NSwgMCwgMCwgMCwgMCwgMTA4MiwgMTk1MDQ5LCA4NDI4LCA2NTY5LCAwLCAwLCAwLCA2OTg0OSwgCi0gICAgNjc4MywgMCwgMTI5OTMsIDgwNDksIDQxNTQ4LCA0NDAyMSwgNjQ1OCwgOTgzODA3LCAxMjg4ODIsIDQ3NjEsIDYzODI4LCAKLSAgICA0NzY2LCA2NDYyMywgMTI3MywgNDM0MDcsIDAsIDExODg3NiwgMTk1MDQ1LCA2OTEyLCAxMzEzLCA2MzIyLCAxMDQ4MywgCi0gICAgOTgzNjAzLCA0MTU0NSwgMCwgOTI0NDksIDAsIDAsIDAsIDAsIDc4NjI0LCAzNDg0LCA3NDMzNywgMCwgMCwgODUwMywgCi0gICAgNTEyMiwgNDE1MjcsIDAsIDY2MzIwLCA5ODM4MTEsIDAsIDAsIDAsIDQxNTM3LCA2OTY4MywgODMwMywgODI4MiwgMTE4MTcsIAotICAgIDczODU3LCAxMDAwMywgNzM4NTksIDY1OTA0LCA3MzYzLCAxNjg2LCAwLCA3ODQwNiwgMTE0NjcsIDM2NjQsIDY1OTIxLCAKLSAgICA2NDI5OSwgMTk0NjY0LCAwLCAwLCA0MzI0LCAxMjYsIDQyMjQ2LCAxMTkxNTIsIDAsIDc0Mzc4LCA2NTkyNiwgNzc0NCwgCi0gICAgMTk0NjM2LCA3NDI3NywgNzQzMDIsIDc4MDUyLCA0MzgxNywgNjk2NiwgNDM4MjIsIDgxMzYsIDAsIDY1NjAwLCAxNjMzLCAwLCAKLSAgICAwLCA0NzYyLCAxMTAzLCAwLCAwLCA0NzY1LCA5ODM0OTIsIDEzMDc4LCAwLCA0NzYwLCA2MzgyNywgMjA1MCwgMTA4NzEsIAotICAgIDQzMTk5LCAxMTAyLCAwLCA0MjIzNiwgMTI4ODY3LCAxOTQ2NjcsIDExNTQ2LCA3NDc5NCwgMzM3LCAwLCA0MjU5MSwgODYyNywgCi0gICAgMTIyNzksIDExMTEsIDAsIDkyMTYxLCA0NzA3LCA2ODIwNiwgMTAxNDMsIDc4ODMsIDEyNzA4MSwgNzg4MCwgNDUyMiwgCi0gICAgODY0NSwgNTcwNCwgMTMwMTAsIDAsIDgzMDQsIDkxNzU2MSwgMCwgMTE5NTc1LCAyMjkzLCAwLCA2NjY1NCwgMCwgOTI2NzYsIAotICAgIDAsIDEzMDA4LCAwLCA0Mzg1LCAwLCAxMzAxMSwgMCwgOTI1NjksIDExOTE2MSwgMTMwMDksIDE2MCwgMjY3NywgMCwgMCwgCi0gICAgNDE3OTMsIDY1NzYzLCA3NDIyMSwgMTIwMTQxLCA0MTc5MiwgNDI3NzAsIDk0MDU0LCA2NTc2MiwgMTE4ODI5LCA0MzgyMSwgCi0gICAgNTcwOSwgMCwgOTQwNTMsIDQzODE2LCAwLCAwLCAxMDc5LCAzODY3LCA1NzA4LCAwLCAwLCA0Mzc5NywgNTcwNiwgNjQ3NjgsIAotICAgIDU3MDUsIDg3OTEsIDQwMDUsIDAsIDEwMjM3LCAxMDk5MSwgMTI4ODE2LCA0MzQ1OSwgOTE3MywgOTE3NTgxLCA5MTc1ODAsIAotICAgIDEzMTcwLCAxMjU0MCwgOTE3NTc3LCA0MjYwNSwgMTIwNzY1LCAxMjY2MTcsIDY4NjQ3LCA5MTc1NzIsIDEwMDU4LCAwLCAKLSAgICA3NDg2NywgMTk0NjU0LCAxMjcwNzgsIDMzMzksIDExNDQ4LCAxMTA2LCA5MTc1OTEsIDkxNzU5MCwgOTE3NTkzLCAzMzQwLCAKLSAgICA5MTc1ODcsIDkxNzU4NiwgOTE3NTg5LCA5MTc1ODgsIDEyMDU0MSwgMTA2MDUsIDEzMDksIDYzOTY2LCAxMjA3NDMsIDE3NTQsIAotICAgIDkyMjI2LCAxMzI0NiwgODY0LCAwLCAxMTg5MjYsIDg5NzIsIDAsIDc4NDksIDEyMDA5MiwgOTI1MzMsIDEzMjQwLCAKLSAgICAxOTUwNjgsIDUxOTIsIDQzMzgsIDY3OTgyLCAxMDk0OCwgOTE3NjAxLCAxMzE5OSwgOTI1NzUsIDEyMzYsIDEzMjA4LCAKLSAgICAxMzI2MSwgMTMxODksIDEzMTg4LCA5Mzk5MywgMCwgNzQ0MCwgMCwgMTIwMTUzLCA5NTUzLCAxNTkwLCA2Mzc3NywgNjM3NzYsIAotICAgIDEzMTc4LCA2Mzc4MiwgNjM3ODEsIDYzNzgwLCA2Mzc3OSwgMTU4MywgMCwgMTMyNjAsIDQ1NTAsIDAsIDY0MjA1LCAwLCAwLCAKLSAgICA0MTUyMiwgOTgzOTE1LCA5MjE2OCwgOTgzNzcyLCA5MTc4NTgsIDExMzU0LCA5NDA3MSwgMCwgNDI3OTUsIDAsIDExOTE5NSwgCi0gICAgMTEzOTQsIDE5NDY0NiwgMTMyMzYsIDEzMjcyLCAxMzE5NCwgMTMzNCwgNjk5MjYsIDQ0NzksIDExNzgsIDY1NTg2LCAKLSAgICAxMjA2NjMsIDY2NjgxLCAxMTkxOTMsIDQ2MDEsIDAsIDAsIDk4Mzc2NSwgMCwgMCwgMTk0NjU4LCAwLCA2ODA5LCA2Mzc4NiwgCi0gICAgNjAzMSwgMCwgNjM3OTEsIDYzNzkwLCAxMTQ1LCA2Mzc4OCwgNzkxMCwgNjM3ODUsIDQzMTUzLCA3NTQsIDEwMTkyLCAKLSAgICAxMzEwNSwgODE4MywgMTIwNzQxLCAyMDM3LCAwLCAwLCAxMDc0NywgMTI1LCAwLCA2NDg5MCwgMCwgOTgzMTMxLCAwLCAKLSAgICA0MTcxOSwgNjM3NTgsIDM1MjMsIDEwNzQsIDEzMjU4LCA5NTM2LCA3NDA3NywgMCwgNDQyNywgNzQyNDIsIDYzNzU3LCAKLSAgICA0MzE0NSwgMTIyMTcsIDYzNzU0LCA0MTUzMiwgMTM0OSwgNjM3NTAsIDYzNzQ5LCAwLCAwLCAwLCA2Mzc1MywgNjM4MDIsIAotICAgIDQxMDg0LCAxMjA2MjIsIDY4MTMzLCA0MTkzMCwgNjM4MDUsIDYzODA0LCA0MzYzMiwgNjM4MDEsIDQxMDgyLCA4MTQwLCAKLSAgICA2Mzc5OCwgNjI2MCwgMCwgMCwgOTQwNzQsIDYzNzkzLCAxMTk4OCwgMzg5OCwgMTI4MjQxLCAxMDIwMSwgMTIyMzgsIAotICAgIDYzNzk1LCA0MjE5NCwgMTAzNjcsIDEyNTIxLCAxMDQzMSwgNDIxMTQsIDQxOTMyLCAxMDY4LCAwLCAxMjUyMywgMTI5NDUsIAotICAgIDk4MzMyOSwgNDIyMDMsIDc5NTAsIDEwODA0LCA2Mzc3MSwgNDI3ODcsIDQzODYsIDEyMjI0LCA2OTczLCAyNzkzLCAxMjQ3NSwgCi0gICAgMCwgMCwgNjM3NjksIDk1MzAsIDk4MzExOSwgMTIyMzIsIDEzMTM1LCA4NTk2LCA1NjgxLCA2Mzc2MiwgNDU5NSwgNjM3NjAsIAotICAgIDc5MiwgMCwgNjQ4MDMsIDAsIDg3NDIsIDAsIDExMDUzLCAxMjg3OTYsIDYzNzQ0LCAxMjgxMDcsIDAsIDc1ODgsIDYzNzQ4LCAKLSAgICAxNjkzLCA2Mzc0NiwgNDMyMDQsIDUwNTUsIDY4NDI2LCA5MTc4NTMsIDEwOTAsIDEyMDY3OSwgMTI4MzU2LCAxMTY2NSwgCi0gICAgNzQxMzMsIDQ1NTgsIDY1Njg1LCA5NTIzLCAwLCAwLCA3ODY4MSwgMTE1MTMsIDAsIDYxNTcsIDYzNzc1LCA2Mzc3NCwgCi0gICAgNjM3NzMsIDEzMTkxLCAxMjE3MCwgMzUwMCwgMzEzOSwgMCwgMzE3MCwgMTI0ODUsIDAsIDEwODcyLCA3ODI3MSwgMTMwMDYsIAotICAgIDY0NDMzLCAwLCAwLCA5NDEsIDAsIDAsIDAsIDY1NTQxLCAxMTA2MywgMCwgODIyOCwgMCwgNDIwNjUsIDAsIDAsIDk0MDM5LCAKLSAgICAwLCA5MjQ1NSwgNzM4NiwgMCwgNjQ0NDQsIDAsIDExOTg2MywgNDM2MDMsIDk0MDc1LCA2NTM5NywgMjg4LCAwLCAwLCAwLCAKLSAgICAxMDAyNSwgNjk5MTUsIDI5MTgsIDAsIDY1MzAwLCAxMTk4NzEsIDk4ODMsIDY0NzI2LCAyNzkwLCA2NTM5NSwgMzc5MywgMCwgCi0gICAgMTI3ODI5LCA2NTM5MywgMCwgNzQxMzgsIDAsIDAsIDAsIDc0MTM5LCA5MjcxMiwgNjUzOTQsIDExNTQ4LCA1MjcwLCAwLCAKLSAgICA2NTM5NiwgMCwgNjU4MTMsIDEzMjU2LCAxMjgyLCAxMjA3NzEsIDAsIDAsIDEwODg4LCA5ODM2MDQsIDY1MjQyLCAwLCAKLSAgICAzMzMwLCAwLCAwLCA5ODM5NzQsIDAsIDAsIDc0MjU5LCAzMzA0LCA0Mjc1MywgMCwgMCwgMCwgMTYyNywgMCwgMCwgMCwgCi0gICAgNTM3MSwgMTMxMTYsIDAsIDE4MjYsIDExODc5NCwgMCwgNDMwOTQsIDcwMDIzLCA0MzY1MCwgOTQwMzcsIDAsIDkwMzUsIDAsIAotICAgIDAsIDEyODAwNSwgMCwgOTIyMDcsIDY4MTI1LCAwLCAxNjQsIDAsIDk0MDY3LCA5NDAwMCwgNjk1OCwgMCwgNDMxMTYsIDAsIAotICAgIDcwMDE5LCAxMzI0NSwgMCwgMCwgMTI3Mzc2LCAwLCA3MDAzMSwgMTI3NzU2LCAxMjY2NiwgMTMxNzUsIDEzMjA3LCAKLSAgICAxMjA0MTQsIDY2MDE0LCAxMjA0MjgsIDc0NDcsIDU5MjksIDAsIDY1NTA5LCAwLCA3NDQ5LCAxMTMwNiwgMCwgNzM5MjAsIAotICAgIDMxODAsIDAsIDYzODA4LCA5MDU0LCA5NzEsIDEzMDYyLCAwLCAwLCA2NTE5NSwgMTAxNjQsIDkyMjUyLCA3NDQyOCwgMCwgCi0gICAgNzgxNDYsIDkyNjExLCAwLCAwLCAwLCAxMDA0NSwgMTI4ODIsIDEzMjc1LCAxMjgxNjEsIDExMDU3LCAwLCAxMzI3NiwgMCwgCi0gICAgNDE1MjUsIDc4MTUwLCA3MjcxLCAxMTQ0NCwgMCwgMCwgMCwgMTIyMjksIDQxNTIzLCAwLCA0MzQxMSwgNzM3NTEsIDAsIAotICAgIDY0ODEzLCAwLCAwLCAxMDQ3NiwgMzg1OCwgMCwgMzkzMiwgNjQ5NTgsIDAsIDAsIDczOTg5LCA2ODE5MiwgMCwgNjk4NDcsIAotICAgIDM2OSwgMCwgNDE3ODQsIDAsIDY0MTYzLCAwLCAwLCAwLCA2NTQ3NCwgNDc5NiwgMTIyOTIsIDEyNjU5NSwgNjU0NzksIDAsIAotICAgIDQxNzgxLCAxMDQ4NiwgNDE0ODAsIDQzMDAyLCA5ODk5LCAwLCAwLCA0MDQsIDEyODIxLCAzNzQxLCAwLCA1Nzg4LCA4MDkyLCAKLSAgICA2ODIxMiwgNDEyMjIsIDE4MzEsIDY2MDIwLCAzOTgyLCAwLCA0Mzg4LCAwLCA3NDYsIDEyMDc4NCwgMCwgMCwgMTIwMTgsIAotICAgIDY1Mjk0LCAwLCAwLCAwLCAwLCA0NDIyLCA0NzA4LCAzNzk5LCA3NDI5MiwgMTE5MzU3LCAwLCA3NDQzMCwgMCwgMTE3MDAsIAotICAgIDQzNzQsIDAsIDEyODE3OSwgMTM2NCwgMCwgODAzOCwgMCwgOTE3NTk3LCAxMjg2OCwgNjk4MTQsIDAsIDY3MzUsIDczOTc5LCAKLSAgICAxMzE3NCwgNzM5NjgsIDEzMjI1LCAwLCA2OTgwOCwgNjU4MzUsIDAsIDIzNjUsIDc4NDEsIDAsIDQyODU1LCAxMTg4NTYsIAotICAgIDQyODY2LCAwLCAwLCAwLCA2NjQzOCwgNDE3ODUsIDEyNjE3LCA2NDE3MiwgMTMxNzMsIDQzNzIsIDExOTM1NCwgMCwgCi0gICAgOTgzNTY4LCAwLCAwLCA5MjQwMiwgMTI4MDYyLCAxMjk2NSwgMzg0LCA2NDUxMiwgMTA0MDQsIDEwMzQwLCAxMTkzNTIsIAotICAgIDE1NTYsIDUyNzQsIDEzMjEwLCAxMjAxMjUsIDEwMDE3LCA5NzMzLCA0MTc4NywgOTgzMjQzLCAxMjY5OTQsIDQxMzczLCAKLSAgICA3ODAzOSwgMTIzMDMsIDAsIDEzMjMyLCAxMzIzMywgMzQ5LCA0ODYzLCA0MTM3MSwgMTE2NTYsIDAsIDEyMDcwMywgCi0gICAgMTE5ODgzLCAxMjg2MSwgNDM5OCwgODU0MywgNjU2MTgsIDEyODAxOCwgMTA5NiwgMCwgMCwgNDI2ODgsIDEyNDQxLCAKLSAgICAxMjM1NSwgMTE5MzQ4LCAxMTkzNDcsIDQzMTgsIDEwNDUyLCAwLCA4MDMyLCAxMzI0MywgMTMyMzcsIDEyNzE5LCAxMjY2NDYsIAotICAgIDExOTEwMSwgMCwgNjQ4ODQsIDExOTg3MiwgMTE5MzQ1LCA4NTk3LCAwLCAwLCA5ODY0LCAwLCAxMjA3ODUsIDExOTg3NCwgCi0gICAgOTQxMDcsIDEzMTk1LCA0MTQ1MiwgNjQ5NjEsIDc3MjIsIDAsIDEwNDU5LCAxMTk4NzgsIDAsIDExOTg3OSwgNjY1OTAsIAotICAgIDEyODEyMywgNDE1MzMsIDY2MzM3LCAwLCA5MjE4NCwgMCwgNDk2NSwgNDM0NDUsIDkxNzUzNiwgNzM4NDksIDAsIDQzNjM4LCAKLSAgICA3ODUzNywgMTI4Mjg3LCA2MjYxLCAxMTkzNDIsIDQzMTQ3LCA2NjU3MCwgMTk1NywgMTA0MjAsIDk4MiwgMjc1NiwgMTMyOTIsIAotICAgIDEzMjA2LCAxMjg4MjgsIDAsIDI5MjUsIDczODA5LCAxMzA1NiwgMTI3NTU5LCAxMzIxMiwgNDMyMzgsIDAsIDEzMTkwLCAKLSAgICAxMzE4NywgOTI1NDEsIDEzMTk4LCAxMTg3OTMsIDAsIDUyNDIsIDExOTE3OSwgNjQ0NzYsIDE2OTQsIDgyMTYsIDcxMzY5LCAKLSAgICA2NzcwLCA0MzMzMSwgMCwgNjU2MjAsIDk4MzcyOCwgNDM1NDQsIDEyNjQ2NiwgMCwgNDE0NDQsIDY1NjIxLCA2OTk1NSwgCi0gICAgOTE5NywgNTI0NiwgMTE5MTA2LCAxMzE4NSwgOTcwOSwgMTIwMzIzLCAxMjAzMjIsIDEyMzE0LCA2NTYxNiwgNTIzOCwgCi0gICAgMTE5MzMzLCAwLCAxMTkzMzcsIDUyMzYsIDQwOTc5LCAwLCA3NDIwMSwgODI4NiwgMTI4NTM3LCAzOTM2LCAxMTkzMzEsIAotICAgIDExNjk5LCA0MTM0NywgMTI3MjQ5LCAxMzIzNSwgODg0MiwgNDEyNDgsIDAsIDQzNzksIDEzMjM5LCAxMjY5MiwgNzk2OSwgCi0gICAgMTI3MjY2LCA3MjE5LCAxMjcyNTAsIDEyODI1MSwgMTIwNTA5LCAwLCA2NjIyNCwgNzM0LCAyOTc5LCAxMjAzMDMsIDY1NjE5LCAKLSAgICA5ODcyLCA5NTcsIDY0OTIxLCAxODQ2LCA2NjYzMSwgNDE0NzcsIDExOTI1NiwgMTIwMzEwLCA3NDUxMSwgNDE3NzAsIDE2NzAsIAotICAgIDY0NDIsIDEyMDMxNywgNDI0NDYsIDUzNzksIDEyMDMxOCwgNDExNjMsIDc0ODMyLCAxMjAzMTUsIDEyMDMxNCwgMTE1MDYsIAotICAgIDAsIDQyODQxLCAxMzI2NywgMCwgMCwgNDE3NzUsIDAsIDcxMzAsIDQxNzczLCAwLCAxMDY2MywgMCwgMCwgMCwgNjE1MSwgCi0gICAgMTIxMTAsIDQyNjczLCA2NTU3MiwgNjUyOTMsIDY1MjUwLCAxMzI2NSwgMTMyNjQsIDY0NTE4LCAwLCA2MTAwLCAwLCAKLSAgICA5MjY0NywgNTgwOCwgNjU5MjIsIDAsIDEyOTY3LCA2NjA0MSwgNTYxMiwgNDU4MywgMCwgMCwgNjgwOTcsIDY0NTc1LCAKLSAgICAxMjY2MzcsIDExOTY1LCAwLCA2ODM1OCwgMCwgNjk3ODksIDAsIDkyMjYwLCA2ODEwMiwgOTY5OCwgNzgxNCwgNzQ0NzYsIAotICAgIDExOTY1MSwgMTI4NTE0LCAwLCA0MTkyMSwgMTE4ODU4LCA5NzU2LCA2OTg1LCAxMTkyNTgsIDc4NDkwLCA3NDIxOSwgMCwgMCwgCi0gICAgMTE4OTk3LCA4MDEyLCA1Njc0LCAxMjM1MywgMCwgMTIzNjEsIDU2NzcsIDU1ODgsIDAsIDQxOTI1LCAxMjgxMjQsIDQxOTIwLCAKLSAgICA1NjczLCAxMjA1MzQsIDU2NzYsIDQxOTIzLCAxMjY5NCwgMTE4OTc4LCA1NjcyLCAxMjk0LCAwLCA3ODA1OSwgMCwgNDI1MTEsIAotICAgIDE3MjcsIDEyMDcyNSwgNDI0MzYsIDAsIDAsIDAsIDc0MjIyLCA4NzE4LCAzNTUwLCA3MzYsIDEwMjY4LCA0NTA1LCAxMDMxNiwgCi0gICAgNzQwOTAsIDU4MjYsIDU1MjMyLCA1ODEzLCAwLCAxMjA3MTIsIDU4NDEsIDU4MzcsIDU1MjM0LCAwLCAzMTA1LCAxMjgyOSwgCi0gICAgNTgzOCwgNTc5NiwgMCwgMTE5NTkyLCA1NzkzLCAwLCA1ODY2LCA1Nzk3LCA0MTAxMSwgNTg2NSwgMTIwMDkxLCA3OTU2LCAKLSAgICA1OTgsIDAsIDY0NjQ5LCA1ODA2LCA0MjM5OCwgMCwgOTAzNywgNTY3MSwgMTIwMDQxLCA5ODMyNTUsIDAsIDAsIDEyODg1NSwgCi0gICAgMCwgODQ3LCAxMjgyNDIsIDk1MjksIDAsIDY2NjU3LCA2OTgwLCA3ODQ4MywgMTIwMDM1LCA3ODQ4NCwgOTgzNDkxLCAwLCAKLSAgICAxMjAwMzMsIDc4NDg2LCAwLCAwLCAxMjAwMzksIDQyNjgzLCAwLCA5ODMwNTUsIDcxMTQsIDAsIDAsIDQzMTkwLCA2NTQ2MywgCi0gICAgMTU1NCwgMCwgNDI2MTEsIDQyNTYzLCAwLCA1NjUxLCAyOTI5LCA2NzkyLCA0MzIwMSwgMCwgMTk5NjMsIDU2OTgsIDAsIDAsIAotICAgIDAsIDAsIDU2NDQsIDEwMjkyLCA2NTU0NiwgNjk3MjcsIDY4MTQxLCA4MzcyLCAwLCA2NTExNiwgMCwgMTIwMDIyLCAxMDE3NSwgCi0gICAgMTAzODgsIDQyNzk5LCA5NDEwMCwgNDEwMTMsIDEwNTY4LCAwLCA5ODM2MTgsIDI4NjksIDAsIDQxMDE1LCAxOTQ2OTIsIAotICAgIDI3ODUsIDQzNjYsIDAsIDEwOTU0LCA0MTgwMiwgMCwgNDI2MDgsIDc4NDY5LCA5ODg0LCA0NzU5LCAwLCAwLCAxMDI2NiwgCi0gICAgNDEzNTksIDExNzAsIDQzMzY1LCA2OTgxMCwgNzM5MDgsIDE2MDksIDkwMiwgMCwgNjM5MzYsIDEyODg3NSwgMTE2NjEsIAotICAgIDgxMjIsIDU4MTgsIDAsIDAsIDM4NjEsIDk1NDAsIDExMDI4LCAyNTU0LCA1MTU4LCA1NzE0LCAyMjEzLCAwLCAwLCA4MDcsIAotICAgIDQzMDc5LCAwLCA3ODQ3NSwgOTc2LCA1NTExLCA2NDU1MywgMCwgNDIxNTUsIDAsIDQxMzU2LCA3NDExMCwgMTE4ODAxLCAKLSAgICAxMjY2MTQsIDAsIDg2NzYsIDk4MzI5MSwgMCwgNTU4MiwgNDUxLCA2Mzk0MSwgNTc5OCwgOTM0OSwgNDIwMTgsIDEyNzg1OCwgCi0gICAgMCwgMCwgNDM2MDksIDU5MDYsIDEyMDU1MywgMTQ0MCwgMCwgMTI4ODUzLCAxMjAwMTYsIDc0MjgzLCAxMTAwNSwgMCwgCi0gICAgNjY2NTYsIDY2MDQ0LCAwLCAxOTQ2OTgsIDAsIDAsIDQzMzkzLCAxMDA5NCwgMCwgMTE1MjksIDEwODU3LCAxMjA2NDMsIAotICAgIDY2NDM2LCA2NTQ2LCA5MywgODEwMiwgMCwgNjg0MDUsIDAsIDAsIDgxNzEsIDAsIDExOTA5NywgMTI3MDY0LCA5MTc1NDMsIAotICAgIDM4MywgNzE1NCwgNDE2NTYsIDkyNjM0LCA5NDA0MCwgMCwgNTE4NywgNzEyOTYsIDEyNzI3NywgMTEyODYsIDY4NjIwLCAKLSAgICA2NDIxNywgMCwgNTIzMiwgMCwgNDEwMDksIDAsIDQxMDA1LCAwLCAwLCA5ODM4MjcsIDgyOTIsIDE5NTA3NCwgNDk4MCwgCi0gICAgODg2MCwgNzM5NDcsIDEwMDI4LCA2NTI5MSwgNzA3NiwgMTMxODIsIDE5NDcwNSwgMCwgMCwgMTA2MzEsIDY2MDMxLCA3OTcyLCAKLSAgICAwLCA3ODc4NSwgMCwgNzkwMCwgMCwgMTEzMDksIDM4MDYsIDQxOTgsIDQyNzI1LCAwLCA2NzY1NiwgOTk5NSwgMCwgOTI1NTIsIAotICAgIDAsIDEyOTMxLCAwLCA0MjY4NCwgNzQyODUsIDIwODgsIDY0MjEzLCA2NDM2NiwgNjUxNTYsIDg4MTQsIDQyMjM4LCA3NDc3MSwgCi0gICAgMCwgMCwgMTI4MzYsIDAsIDAsIDc0MzQyLCA4NTkzLCAwLCAwLCA2ODQ0NSwgMTMyNTUsIDAsIDAsIDc0NjQsIDAsIDY1ODY1LCAKLSAgICAwLCAxOTQ2NTAsIDEyNzE0NCwgMCwgOTM0MiwgMTIwNDY0LCAwLCA2NDUxNiwgMCwgNzg3OTIsIDEwMTI5LCA0MTAwNywgCi0gICAgNzQzNzUsIDAsIDQwOTk1LCAxMjIwOSwgNDEwMTIsIDExOTEzNiwgMCwgMCwgNjk3MjQsIDQwOTkyLCA5MjI2NCwgMTI3MTUzLCAKLSAgICA2ODY1MywgNDM1NTgsIDU1MjIsIDAsIDYxLCAwLCA3NDEwNSwgMzYzMywgOTgzOTAwLCA2NTE2MiwgNDEyMzQsIDEyMDg5LCAKLSAgICA3ODI4MSwgOTc3MSwgOTgzOTA1LCAxMzI1MSwgMTI4NzAxLCAwLCA2MjYyLCAyNzg0LCA0Mjc0MywgMCwgODEyNiwgNjY0ODMsIAotICAgIDAsIDAsIDQ0MSwgNDI2MjEsIDAsIDAsIDQxMDAyLCA0MDk5OSwgMTE5NjIzLCA0MzI2NiwgNzEwOCwgMTk0Nzc5LCAxMDg5MCwgCi0gICAgNzQ0ODEsIDY1ODM0LCA4MzI0LCAxMTkxMDMsIDY0NDE3LCA3NDgxNywgMTI3NDY1LCA2NDczNywgMCwgOTgzNjU5LCA4OTMwLCAKLSAgICA2NjY3OCwgNzQyNDksIDExOTMsIDEwMDU2LCAxODAwLCAxMzI1MywgMTMyNTIsIDc4MjksIDAsIDAsIDc3NDMsIDAsIDAsIAotICAgIDc3OTA0LCA5MjY0MCwgNzc5MDUsIDkwMzQsIDYwMzksIDAsIDEwMDc1LCAwLCA0MTAxOCwgNjU2ODMsIDEwMzM4LCA2NjQ2OSwgCi0gICAgMCwgMCwgMCwgNDI4MTUsIDAsIDQxOTY2LCAwLCAxMjc0NzEsIDAsIDExNzkyLCA0MzA2NCwgNDEwMjUsIDkxMSwgNzUzOSwgCi0gICAgMCwgMCwgMTIwMzM5LCA2NTE1OSwgNjQzOTAsIDAsIDAsIDU1MjAsIDExNjYyLCAwLCA2NTMzMCwgNDI4MTIsIDAsIDAsIAotICAgIDEyMzI2LCA5ODM4NTYsIDAsIDQyODA4LCAxMjgzMzcsIDkzNDgsIDY0OTAxLCA5ODM4NjEsIDAsIDAsIDAsIDAsIDAsIAotICAgIDkxNzU4NCwgNDM3MDIsIDk4MzU3NiwgNTg1NywgNjUzNDIsIDkyNzI3LCAxMTkxMjAsIDEyMDA3OSwgODY0NCwgMCwgMCwgMCwgCi0gICAgNzQyOTYsIDQxOTA5LCAwLCAxMjAzMzIsIDI3OTEsIDY5NjYzLCAxODkxLCA2OTgyNCwgMCwgNDE5MDcsIDY2NjQ3LCAKLSAgICAxMTg5MzksIDg3NjEsIDEyOTQyLCA1NzQ4LCAwLCAxMDc3MywgMCwgMCwgODc5NiwgNzgxNDksIDY0MTIsIDIwNjEsIDg1MjAsIAotICAgIDEzMTQ2LCAxMjcxODUsIDYzOTMxLCAwLCA2NTkwMiwgMjg4MiwgMCwgMCwgMTI4NDMsIDQ1MjAsIDEyMDM0NSwgOTI0NTksIAotICAgIDAsIDk4MzY2MCwgMCwgNzM4NjAsIDAsIDAsIDY0MzQ1LCAwLCA5MjAxLCAxMjgzMTQsIDE5NDk0MCwgMCwgMCwgNDM2NzksIAotICAgIDkxNzU4NSwgNjUxMTcsIDkyMjcwLCAwLCAxMDQyNywgMCwgMzg0NCwgMTIwNjc1LCA5NzU1LCAxMTEwLCA2NjEyLCAxMjIyMiwgCi0gICAgMCwgMTI4Nzg5LCAwLCAwLCA3ODMsIDE5NDkzNSwgMCwgMCwgOTgzMDY0LCAxOTQ3MjAsIDY1MDU2LCAzNjIwLCA0MTE4MCwgCi0gICAgNjgzNzgsIDQ1NTYsIDAsIDAsIDE5NDkzMywgNzQyNTAsIDAsIDY3NjU3LCAxMDUxMCwgNDM4MiwgNjY0ODIsIDAsIDAsIAotICAgIDEyNzUyNywgOTE3NywgODkwMiwgOTM5NTgsIDk4MzksIDAsIDEyODkxLCA5ODM3NTUsIDk4MzYzNiwgNjM5OTksIDIwMTYsIAotICAgIDQxOTE3LCA5Nzg4LCA2MzkyOCwgMCwgMTg2MiwgNjU4MDAsIDkxNTUsIDY2NjIzLCA5Nzg2LCA2NTA4MiwgNDE5MTksIAotICAgIDg1NzksIDQxOTE0LCA3OTgxLCAwLCA2NjAxNywgNDUwOCwgNjQ4ODMsIDkyNDU2LCA5MjUyMiwgMTI3ODE0LCAwLCA2NDU5MiwgCi0gICAgNzQyNzYsIDEyMDA4MCwgNjc4NCwgNzg3ODgsIDY4MTgxLCAwLCAwLCAwLCAxMjc1MzQsIDEyMTQ3LCA5MDI0LCA2NjM3OCwgCi0gICAgNjY0NzIsIDk4MzkyOSwgNjQyODksIDY1Mjg5LCA3ODE1MSwgNjY2NTgsIDE5NDkyOSwgNjQ1MDksIDc4MTUyLCAwLCAKLSAgICAxMjY1MDUsIDExMDUxLCA5ODMyOTYsIDAsIDExMzU1LCA2NTg4NSwgMCwgMTI4MzEwLCA0MTIxNCwgMCwgMTIyOTksIDAsIAotICAgIDc1MDAsIDQ1MDYsIDc3NzMsIDAsIDAsIDk5NjMsIDY4NjQ5LCAxMjY2MDksIDQwNDAsIDEyMDU3MCwgNjE2NywgMCwgCi0gICAgNjM5MjIsIDY1OTQsIDk4Mzc0MCwgMCwgMCwgMzYyNCwgNDMwMzYsIDAsIDYzODcsIDYzOTkwLCAxOTk0NywgNjM5ODgsIAotICAgIDQxOTU1LCAwLCA2Mzk5MywgMTA0NDAsIDk2MTEsIDY1NjA1LCA2ODAzLCAwLCA3NzM4LCA2Mzk4NiwgMTE0NDYsIDYzOTg0LCAKLSAgICA5MjY0MSwgMzQzNSwgNzgxNjQsIDQzODE0LCA0MzgxMCwgNzAyOSwgNjQyNTgsIDQxMjkyLCAxMTg4OTgsIDEyNzQ4LCAKLSAgICA0Mjc0MiwgOTUxNywgMTE1MTgsIDAsIDc4NzkwLCAwLCA2Nzk5MywgNjM5NTYsIDQyNDU4LCA2Mzk1NCwgNjM5NTMsIAotICAgIDYzOTYwLCA5NTkxLCA0NTE2LCAxMDIxNywgNjgzNzAsIDExNDY5LCA2OTY5NywgNDIzMDYsIDI3MjMsIDExODk0NywgMCwgMCwgCi0gICAgMCwgMCwgMCwgMTEzOTcsIDI4ODAsIDAsIDAsIDI4NzIsIDAsIDAsIDM0OTgsIDQzNzgsIDkxNzUzOSwgNDI3MCwgMCwgCi0gICAgNjU1NTEsIDY4MjA1LCA2NjMzLCA0MzM4NywgMCwgNTIzMCwgMCwgMCwgMCwgMCwgMCwgODE2MSwgMzkzLCAxMjAxMywgMCwgCi0gICAgMCwgMTI2NDc5LCA0MTUsIDYzOTY0LCA2Mzk2MywgNDIzNDUsIDkyMzEwLCA1MTgzLCAxODc3LCA0MjQ5OCwgMCwgMjkyNywgCi0gICAgMCwgNjM5NjEsIDQ0NzIsIDAsIDAsIDc4MTU5LCA2OTY5OSwgOTE3OTM2LCA0MjM0MCwgNDc1NiwgMTI4MDc4LCA3MDgxLCAKLSAgICAxMDczMCwgNzY5MSwgMTAzMzEsIDYzODMwLCAxMTk2MjUsIDQyOTIyLCA0MjEwMywgODYyOCwgOTgxMywgMCwgNDI0NTMsIAotICAgIDE2MDQsIDk1NjUsIDEwNTM5LCA2OTcwMSwgNjU3NjQsIDQxNDE1LCA2NTc2NywgMCwgODQ1NywgNDIzMDEsIDExMzcyLCAKLSAgICA2NDg3MywgMTE5OTIsIDAsIDAsIDYzOTgwLCAxMTgwMSwgMzYyMiwgOTgzMTI0LCA2NDMzNiwgMTIwMTcsIDEwNDYzLCAKLSAgICA2Mzk4MSwgNDk2NywgNjQxODksIDE5NjYsIDQzNjI4LCAwLCA5ODMyOTIsIDAsIDAsIDYzOTcxLCA0MzQ3LCA0NDE2LCAKLSAgICA0MjA5OCwgMTEwMDksIDEwNjk0LCA2Mzk3MywgNDAyLCAwLCAxMzE0NywgMTI4NjkyLCA0MjEwMCwgNjQ2NDYsIDEzMjI4LCAKLSAgICAwLCA0MTg3NSwgMzUxNSwgNzQyNTIsIDExODA1LCAwLCAxMTMwMiwgNjI1OSwgNDMzOTUsIDAsIDAsIDE5NDY3MCwgMCwgCi0gICAgOTIzNTEsIDAsIDc0NDI1LCAxMTI5OSwgMTU2MSwgMCwgOTIzNTksIDY0OTQyLCA5ODM1NTksIDE5NDczMywgOTgzNjg2LCAKLSAgICAxOTQ3MzIsIDAsIDc0MzAxLCAwLCAxMTI4MCwgMCwgNjk3ODQsIDc0MDYwLCAwLCAwLCAxMTk2NjQsIDUxNDUsIDEyNDg2LCAKLSAgICA2NTAxOCwgNjY1MTYsIDU0MDksIDEyNzM3OSwgMTk0NjY5LCA3NDAyLCA1Mzk5LCA5Njg1LCA3NDA4OSwgNzk1MiwgNTQwMSwgCi0gICAgMCwgNjY2MTYsIDY4NDIxLCA5ODM5MTksIDAsIDU0MDUsIDEyNzg3NSwgNjQ4NjYsIDAsIDExOTU4MywgMTI4MzQ1LCAKLSAgICA3ODc4NCwgNzQyNDgsIDExMzMwLCAxOTQ3MjMsIDY0NjkwLCAzMjU0LCAwLCAwLCAxMjgyMDcsIDQyMzkwLCA0MzY3OCwgCi0gICAgMTk0NzI1LCA5ODM5MDksIDY1MDc3LCAwLCA2Mzg4LCAzMzU1LCA5NTA4LCA5ODY3LCA1NzIzLCAxMTUyMCwgNTYxMSwgMCwgCi0gICAgMzM3NywgMCwgMCwgMCwgMCwgNzgyMjgsIDAsIDk4Mzc2MiwgNDI2OTEsIDkxNzg4NiwgMTI3MTk4LCA3NDc2NywgMCwgCi0gICAgMTI3MDc1LCAxMzc5LCAyNDYsIDAsIDk4Mzc2MSwgMzc4OCwgOTgzMTA2LCAxMTA0MSwgOTI1NDksIDY2MzA0LCAwLCAwLCAKLSAgICA4OTE3LCA0MjQwMywgMzAxLCAwLCAwLCAwLCAwLCAwLCA5ODM2OTcsIDEwNjU2LCAwLCA2NTIxNCwgMTE5MjQyLCA0MjU2NywgCi0gICAgOTIyMTcsIDEzMTYzLCA5ODMyMDQsIDEyMDgzMSwgNzQ1OTcsIDMxODIsIDAsIDAsIDAsIDY1MDM0LCA2NTg4OSwgNDIxNjksIAotICAgIDQ3NTUsIDc0MjQ0LCAxOTQ2MjEsIDExNDQzLCAwLCA2NjMxOSwgNzQ1OTgsIDYwOCwgNjAwLCAwLCAxMjE5LCAzOTM0LCAKLSAgICA2NDIwNiwgMTE0ODMsIDc0NTEwLCAwLCA3NDQ4NSwgNDI0NDIsIDY1NDcwLCA5ODM5MDcsIDY0MjAyLCAxMzE2MCwgNzc1OSwgCi0gICAgNDI0ODIsIDQ4NSwgMTI4MDA2LCAwLCA5ODI4LCAwLCAwLCA0MjI4MCwgMCwgOTM1MSwgNzc3OCwgNjQzNzksIDc0OTYsIAotICAgIDQyNDMxLCA2OTE2LCAxMjA4LCAwLCAxMTk2MzEsIDExMDAyLCA0MjQ3MCwgMCwgMTE4OTQ2LCAwLCAwLCA3NDA0MSwgMCwgCi0gICAgNzAwNDUsIDQzNTM5LCA1NDExLCA0MjE5NiwgMCwgMCwgMCwgOTE1MCwgMCwgNDIzOTMsIDEzMDg2LCAxMzEwLCAxOTQ2ODcsIAotICAgIDkzMzcsIDEyMDUyLCAxMDY0MywgNTUyNzEsIDk4MzE3OSwgMTIxNjYsIDI1NDYsIDE5NDY4MywgMjEzLCAxMTg4NTIsIAotICAgIDY1NjExLCAwLCAwLCAxOTQ3NTYsIDc0MzEwLCA2NTU0LCAwLCAxMTkxNCwgNTQ1MiwgMCwgMCwgMCwgMCwgMCwgMTk0NjgxLCAKLSAgICA5MjU2MCwgMjcxMywgMCwgOTY1MCwgNDMzMzAsIDAsIDE5NDY3NSwgMTQwNiwgMCwgMCwgOTI2NTksIDAsIDY4MjIzLCAKLSAgICA0MTQzLCAxOTQ2NzcsIDAsIDY1NzQ4LCA0MTQxLCA5NjgyLCA2NTI4NywgMTUwOCwgMTI3MDEzLCA4Nzc5LCAxMDU2OSwgCi0gICAgODcyNSwgMTMyOTksIDY2NjM4LCA2NTc1MCwgNDIyNjMsIDQxNDUsIDYzODAsIDY1NzUxLCA2NjYxMywgNDM5OTQsIDY1NzM4LCAKLSAgICA1NTI1MCwgOTE4NSwgOTU1MCwgMCwgNDM0MDMsIDAsIDAsIDAsIDY1NzM2LCA0MTk1MSwgNjQ4MTYsIDY1NzU2LCA5ODMyMDUsIAotICAgIDEyOTU1LCAxMDU5NiwgMjg4OCwgMTk0NjQ1LCAwLCAwLCA5NjU3LCA5MDE5LCAxOTQ3NjYsIDAsIDI4NzgsIDUzOTAsIDAsIAotICAgIDE5NDk2MSwgMCwgNjg2NzksIDQzNTUyLCA3NTAxLCA2MzI4LCAwLCAxMDQyOSwgMTAzNjUsIDAsIDAsIDQxOTQ2LCA3NTAzLCAKLSAgICA1MjM1LCA4MDMsIDY4MzgxLCAwLCAwLCA4OTg2LCAxMjY1NDIsIDEwNjMyLCAxMTkzNCwgMTE0NTIsIDEzMzIsIDAsIDAsIAotICAgIDEyNjY0NywgMCwgMTE4ODg3LCAxNzkxLCA1MTkxLCA5Mjg4LCA2NDgyMiwgMjg5MiwgMCwgNDMzOTQsIDU1NSwgMCwgMCwgCi0gICAgNjY2NDYsIDAsIDExOTAwMiwgMTMxNTEsIDc0NTEyLCA3Mjg5LCA3NDA1NSwgNjQxNjEsIDg4NTQsIDY0MTYyLCA1ODU4LCAKLSAgICA0MTkyNywgMTA1ODIsIDAsIDE3ODQsIDEzNjEsIDE5NTA0NywgMCwgNzkwNSwgMCwgNjQ4NjgsIDEyODgxMywgMTMxNTgsIAotICAgIDkyMTY2LCA3MjExLCAwLCA5MzcxLCA3Mzk3MywgOTE3NTUzLCA2ODI4LCAxNjI1LCA5MjMwMiwgMCwgMTM0MiwgNjg0NDAsIAotICAgIDY0MTcxLCAxMjY3MDQsIDEwOTAzLCA5ODM0OTQsIDAsIDAsIDAsIDAsIDQ0ODIsIDQxNjA2LCAwLCAxMjg1NjksIDk4MzExMiwgCi0gICAgMCwgNjQzODEsIDAsIDAsIDE5NTA5MCwgNDIyNDUsIDEyNjQ2NywgNDE5NzIsIDAsIDQ0NCwgMCwgOTEyNywgNjY2ODcsIAotICAgIDY2NjE5LCAxMjY0ODksIDc4MDI1LCAwLCAxMTM0OSwgNDA5OTEsIDkxNzU3MCwgMCwgMTE5NTk5LCAxMjA4MzAsIDAsIAotICAgIDExOTcsIDEyODI4MiwgMTE0OSwgMTk0OTcwLCAwLCAwLCA0MDk5MCwgNDM3NjUsIDAsIDM0OTIsIDAsIDEyNzk0MiwgMCwgMCwgCi0gICAgMCwgMTI4MzgsIDk4Mzk3OCwgMTk5NDgsIDAsIDMwOTksIDAsIDAsIDQxMDg3LCAwLCAwLCAwLCAxMTkwNTksIDEyMDM2LCAKLSAgICA0MTMwOSwgMCwgMCwgODE1MiwgMCwgNDE1NTAsIDEyMjI3LCA5ODM2MTMsIDAsIDEyODI4LCAxMjc1MTEsIDAsIDAsIAotICAgIDEyMDcwOCwgMCwgMCwgMTAzODYsIDExOTU3NCwgMCwgMCwgOTI2ODAsIDk4Mzc4OSwgNjgxNTQsIDAsIDE3NDMsIDAsIDAsIAotICAgIDkyMjM5LCA2NTE4NiwgOTE3NTcxLCAwLCA5NjA2LCAwLCAwLCA2NDQzOSwgMCwgMCwgOTI2ODYsIDAsIDAsIDE5NDk2NywgMCwgCi0gICAgMCwgMzM5NSwgOTM2MiwgMTA4NzgsIDAsIDAsIDc4MzYyLCA2NDgzMCwgMCwgMTI2NTU3LCA0MTA5MSwgMzQyNiwgMTM0NCwgCi0gICAgODg3MCwgMCwgMCwgNDczNSwgMTI3MDE3LCA2MTE5LCAxMjgyMiwgNDI2OTksIDAsIDk4MzgyNCwgNzQ4MTgsIDE0MjMsIDAsIAotICAgIDQyNjM3LCA0MTA4MCwgMCwgMTIwMzksIDEwNTU5LCAwLCAxMTg4OTIsIDAsIDk0NzIsIDAsIDExOTI5LCAwLCA3MTcwLCAKLSAgICA5NTk2LCA2MTMwLCAxMjg4MjYsIDQzNjI5LCAxMTU3OSwgNzg3MTMsIDAsIDE5NDc0MCwgMTI4NjkxLCA5MjE4NSwgNjY2OTksIAotICAgIDY0NDQwLCAxMDA0LCA5MjU4NCwgMTk0NzM3LCA0MzIzNCwgNjYwMDgsIDEyNjI3LCAwLCA2ODQxNCwgMCwgNDM2MTksIAotICAgIDQzMzAzLCAxMTMwMCwgNDMzMDQsIDk2ODYsIDU4OTAsIDExNzc2LCA3NTU4LCAxMjcxNTgsIDY1NjI3LCAwLCAxMDcxOCwgCi0gICAgMTMxNTQsIDM0NjEsIDkxMzksIDAsIDAsIDAsIDAsIDY1MzY1LCA3Mzg3NywgNjU2MjgsIDc4MDE5LCAxMjAzMTksIDAsIAotICAgIDQxNzA4LCAxMjg2MCwgMjY0MSwgMTIwNjksIDEwODM4LCA1NDAzLCAxMDM1MiwgNzAwODUsIDEwMDYxLCA0MzIzNywgMCwgCi0gICAgNTE0MCwgMjA5LCAxMjg4NDcsIDQxNzA0LCA0MTA1NiwgNDMwNzgsIDEyODEyNSwgMTE4ODA5LCAwLCAxMDg5OSwgNjU0NjksIAotICAgIDkyMzYyLCAwLCAwLCAyNDEwLCA5OTMsIDAsIDEyMDU4OSwgMTIwNjg5LCA3ODY5MywgMCwgMCwgNzIzMiwgMCwgMTE5MjUzLCAKLSAgICAwLCA3MTEwLCA3NDQ2MiwgMjA2NiwgMTA0ODksIDQyMTY2LCA0MzQ2MywgMTA2NTksIDM2MDAsIDAsIDQyMjQsIDEzMzYsIAotICAgIDQxNTE4LCAwLCAwLCAwLCAwLCA0MTEzOSwgNjQ4MjAsIDkyNTM4LCAxMjk2NiwgNDExMzQsIDAsIDAsIDAsIDAsIDI3MiwgCi0gICAgNDI2MywgODc5MywgMCwgMCwgNDE1MDIsIDAsIDk4MywgMTI1NDksIDAsIDAsIDExOTAsIDQxMDksIDEzMzUsIDg0MSwgCi0gICAgNTg4OCwgNDEzNTgsIDY0ODYzLCA5NTQ0LCA0MzQ4MSwgMCwgMTk0ODA2LCA3MDAyNywgMjA5OSwgNTEyMCwgMjQwOSwgCi0gICAgNzc5OSwgMCwgNzQ0MjQsIDAsIDAsIDQ3MzEsIDAsIDY2NjI5LCAwLCAwLCAxMjU1LCA0MTQ5LCA5MjQ3LCAwLCA5OTEzLCAwLCAKLSAgICAwLCA2NDkxNCwgOTE3Nzg3LCA2NTEwMSwgMCwgMTE2OTQsIDkyNDc1LCAxMTY5MCwgNTgzNSwgMTI3MTY0LCA2NjYyNSwgCi0gICAgMTA4NDIsIDQxMzU0LCA0MjEyMywgNDMwOTcsIDExNjg4LCA2NjYzNCwgMTA5NCwgMTk0LCA2NDY5MiwgMCwgODE4MCwgMCwgCi0gICAgMCwgOTk3MiwgNzM4NjUsIDQ1MTksIDYxMTQsIDEwODk4LCA0MzA3MiwgMCwgMCwgOTM5NjAsIDk4MzMyMiwgMTI2NTgxLCAKLSAgICAxMDY5NSwgMCwgNzU0MCwgMCwgODgxLCA3ODU3LCA2MDY3LCA2NTE2NCwgMCwgMCwgMCwgMTMzMTEsIDY4NDAzLCA0MTg1NywgCi0gICAgNjQzMjEsIDgzNTksIDAsIDEyNjg5LCAwLCAxOTQ1OTQsIDAsIDk4MzMxMiwgOTgzODgxLCA2ODE4MywgMCwgOTgzMzE0LCAKLSAgICAxMjg3LCA1NDM2LCAwLCA5ODMzMTcsIDc0MTQyLCA5MjMyOCwgNzQxNTIsIDExOTA3OCwgNjA1MSwgMTA0OTcsIDY5NjY4LCAKLSAgICA4OTg1LCAxMjEwOSwgOTgzMzIzLCAwLCAxMjcyNDIsIDAsIDAsIDM2NTIsIDEwNTM3LCAwLCAxMjc2LCAxMjA0NDAsIDY1NDksIAotICAgIDI3OSwgNzM3NDUsIDAsIDAsIDAsIDE0ODksIDAsIDAsIDAsIDM4OTksIDEwMDcsIDQyMTI0LCA5ODM1NTcsIDQyMTIyLCAKLSAgICA5MjMzNywgOTIzNjcsIDAsIDExOTg1LCAxMzQ1LCA3ODYwMCwgMCwgMCwgODk1NiwgNDMwODMsIDk0MDU3LCA0MjEzOCwgCi0gICAgNzg2MTAsIDAsIDEyMTUxLCA3ODYwOCwgNzg2MDQsIDc4NjA1LCA2Mjg1LCA3ODYwMywgNzg2MTIsIDc4NjEzLCA2NTk0MiwgCi0gICAgNDkyLCA4Njg1LCAwLCA5ODM3NTksIDAsIDc4NjIyLCA0MzcxMiwgMjU4MiwgMTE0NzAsIDY0NTM4LCA3NDQ0LCA3ODYxNSwgCisgICAgNzQyNTEsIDAsIDEyMDY0NywgMTI4OTMwLCA1MCwgMTA1NTgsIDk4NzEsIDQyNjEyLCA0MzY1NSwgMCwgOTgzODE4LCAKKyAgICA3NDI4NCwgNjY0NjgsIDY2OTA1LCAxMzI1OSwgNDQ0OCwgOTE3ODA0LCA5ODM4NDUsIDExMzczNCwgNzAwNDMsIDEzMjEsIDAsIAorICAgIDEwNjQwLCAxMTUzOSwgMTE1MSwgMCwgOTE3NjA3LCAxMjQ5NTgsIDEyNzA3OSwgNzExMDYsIDEyNzg1MiwgMCwgMCwgCisgICAgOTgzMDc1LCAxMjUwMSwgNjQ2MDQsIDEyODY1NywgMTE1MjcsIDExODg3MCwgODgxMiwgMCwgMTE1MzgsIDg2NzMsIDEyNjUwLCAKKyAgICAxMTAyMCwgMCwgNjY0NjcsIDIxMDUsIDgwODcsIDc4MTYzLCA2OTYzMiwgOTg5NCwgMCwgMTI4OTQzLCA2OTk5NSwgNDYzNiwgCisgICAgNTUyNjIsIDc4NTEzLCA0NTE1LCAyMzgyLCAwLCAxMjcwNTUsIDAsIDEyMDQ5NSwgMCwgMTI4Mjg0LCAxMjI3NywgMTk0NjI3LCAKKyAgICAxMTk5NSwgOTI1NTMsIDAsIDEyMTU4LCA3MDE3MCwgODc0MSwgMTAxOTcsIDAsIDkyNDI2LCAwLCA2NTMxLCAwLCAxMjc4NDYsIAorICAgIDQ3MywgNDM0MTUsIDkyOTM2LCA5ODM2NTAsIDE4NzMsIDEwODcsIDEyNDk2NiwgMCwgNzQyODAsIDc4NTI3LCA2NjQzOSwgCisgICAgNDMyMTgsIDk4MzEyMywgMTk0NzE2LCA3MjM3LCAxMjUwNCwgNzExMTMsIDAsIDk4MzU3MSwgOTgzODg2LCA5NDg5LCAwLCAKKyAgICA3MDg0MywgNDM4NCwgNzQyMjAsIDYzODQ1LCAyMDU4LCA2OTc0MSwgMTMyOTUsIDQzMTkxLCAxMjgwMzAsIDE5NTA1NCwgCisgICAgMTE1NCwgMzg1NywgMTIwNSwgMCwgMCwgMTMxMDAsIDEyOTU4LCAxMjA3MDYsIDc0MTY4LCAwLCA3MDg0NiwgNDQyMSwgCisgICAgMTA1OTIsIDAsIDQ5NSwgNjY0MDAsIDQxNzEyLCA3OTgzLCA3MDgzMywgOTM5OTcsIDk4MzMzMCwgNjM0NywgNzg3MTUsIAorICAgIDc2NTQsIDQxNzEwLCA0MTk2LCAwLCA0MzcsIDQxNzA5LCA3Mzc3MiwgNzA4MzIsIDAsIDk0NjUsIDEzMjkwLCAxMTkxODAsIAorICAgIDQ5OTcsIDY0MzA2LCAwLCAwLCA0OTk5LCAxOTQ2NDIsIDY3NDAxLCAxMjY1ODIsIDQ3MTEsIDEyMDc2OSwgMCwgMjczOSwgMCwgCisgICAgODA0NCwgNzQzMTMsIDE5NDY0MywgNDE3ODksIDEyODE0MiwgMTA4MDksIDY2Mjc5LCAwLCAwLCAxNzc5LCA2NjAwLCA2NjAxLCAKKyAgICA0MTU0MywgNTMyNSwgNjQyLCA2NDE4NywgMTMwNTgsIDEyMDQ0OSwgMTI4NzUsIDk4MzgwNCwgOTIxODYsIDEzMjI5LCAKKyAgICA3MTg0NSwgMTA1NzUsIDQzMzk5LCAwLCAwLCA0MTc5MSwgMTEwNCwgMCwgOTgzNzI1LCAxMDY1NSwgMCwgMCwgMCwgMCwgCisgICAgMTA4MiwgMTk1MDQ5LCA4NDI4LCA2NTY5LCAwLCAwLCA3ODUzNCwgNjk4NDksIDY3ODMsIDAsIDEyOTkzLCA4MDQ5LCAKKyAgICA0MTU0OCwgNDQwMjEsIDY0NTgsIDk4MzgwNywgMTI4ODgyLCA0NzYxLCA2MzgyOCwgNDc2NiwgNjQ2MjMsIDEyNzMsIAorICAgIDQzNDA3LCAxMjA2NzcsIDExODg3NiwgMTk1MDQ1LCA2OTEyLCAxMzEzLCA2MzIyLCAxMDQ4MywgMTI4NjI3LCA0MTU0NSwgMCwgCisgICAgOTI0NDksIDAsIDExMjE2LCAwLCAwLCA3ODYyNCwgMzQ4NCwgNzQzMzcsIDAsIDAsIDg1MDMsIDUxMjIsIDQxNTI3LCAKKyAgICA3MTkxMCwgNjYzMjAsIDcwMTYxLCA5Mjk3MiwgMCwgMCwgNDE1MzcsIDY2NDUzLCA4MzAzLCA4MjgyLCAxMTgxNywgNzM4NTcsIAorICAgIDEwMDAzLCA3Mzg1OSwgNjU5MDQsIDczNjMsIDE2ODYsIDAsIDcwMTE1LCAxMTQ2NywgMzY2NCwgNjU5MjEsIDY0Mjk5LCAKKyAgICAxMjQ5MzksIDEyODQ2MiwgMCwgNDMyNCwgMTI2LCA0MjI0NiwgMTE5MTUyLCA2OTk4NCwgNjc3MjUsIDY1OTI2LCA3NzQ0LCAKKyAgICAxOTQ2MzYsIDc0Mjc3LCA2NjI4MywgNzgwNTIsIDQzODE3LCA2OTY2LCA0MzgyMiwgODEzNiwgMCwgNjU2MDAsIDE2MzMsIDAsIAorICAgIDEyNjYxNCwgNDc2MiwgMTEwMywgNzA4MjcsIDcwMTU3LCA0NzY1LCA5ODM0OTIsIDEzMDc4LCAwLCA0NzYwLCA2MzgyNywgCisgICAgMjA1MCwgMTA4NzEsIDQzMTk5LCAxMTAyLCAwLCA0MjIzNiwgMTI4ODY3LCAxOTQ2NjcsIDExNTQ2LCA3NDc5NCwgMzM3LCAwLCAKKyAgICA0MjU5MSwgODYyNywgMTIyNzksIDExMTEsIDAsIDkyMTYxLCA0NzA3LCA2ODIwNiwgMTAxNDMsIDc4ODMsIDEyNzA4MSwgCisgICAgNzg4MCwgNDUyMiwgODY0NSwgNTcwNCwgMTMwMTAsIDY5Nzk2LCA4MzA0LCA5Mjk4MiwgMCwgMTE5NTc1LCAyMjkzLCAKKyAgICA3MDE5NSwgNjY2NTQsIDEyOTA3NywgOTI2NzYsIDAsIDEzMDA4LCAxMjcxMjEsIDQzODUsIDEyODczNiwgMTMwMTEsIDAsIAorICAgIDkyNTY5LCAxMTkxNjEsIDEzMDA5LCAxNjAsIDI2NzcsIDAsIDAsIDQxNzkzLCA2NTc2MywgNzQyMjEsIDcwNzkwLCA0MTc5MiwgCisgICAgNDI3NzAsIDk0MDU0LCA2NTc2MiwgMTE4ODI5LCA0MzgyMSwgNTcwOSwgMTI4Mjk2LCA3MTA3NiwgNDM4MTYsIDAsIAorICAgIDk4Mzg5NiwgMTA3OSwgMzg2NywgNTcwOCwgMCwgMCwgNDM3OTcsIDU3MDYsIDY0NzY4LCA1NzA1LCA4NzkxLCA0MDA1LCAwLCAKKyAgICAxMDIzNywgMTA5OTEsIDEyODgxNiwgNDM0NTksIDkxNzMsIDkxNzU4MSwgOTE3NTgwLCAxMzE3MCwgMTI1NDAsIDkxNzU3NywgCisgICAgNDI2MDUsIDEyMDc2NSwgMTI2NjE3LCA2ODY0NywgOTE3NTcyLCAxMDA1OCwgMCwgNzQ4NjcsIDY3NzMwLCAxMjcwNzgsIAorICAgIDMzMzksIDExNDQ4LCAxMTA2LCA5MTc1OTEsIDkxNzU5MCwgOTE3NTkzLCAzMzQwLCA3NDAxNywgOTE3NTg2LCA5MTc1ODksIAorICAgIDEyOTE0MSwgMTIwNTQxLCAxMDYwNSwgMTMwOSwgNjM5NjYsIDEyMDc0MywgMTc1NCwgOTIyMjYsIDEzMjQ2LCA4NjQsIDAsIAorICAgIDExODkyNiwgODk3MiwgMTI4NDEwLCA3ODQ5LCAxMjAwOTIsIDkyNTMzLCAxMzI0MCwgMTk1MDY4LCA1MTkyLCA0MzM4LCAKKyAgICA2Nzk4MiwgMTA5NDgsIDY2ODI1LCAxMzE5OSwgOTI1NzUsIDEyMzYsIDEzMjA4LCAxMzI2MSwgMTMxODksIDEzMTg4LCAKKyAgICA5Mzk5MywgNzE4NDcsIDc0NDAsIDAsIDEyMDE1MywgOTU1MywgMTU5MCwgNjM3NzcsIDYzNzc2LCAxMzE3OCwgNjM3ODIsIAorICAgIDYzNzgxLCA2Mzc4MCwgNjM3NzksIDE1ODMsIDExOTkyMywgMTMyNjAsIDQ1NTAsIDEyMDU5OCwgNjQyMDUsIDk4MzI0NSwgCisgICAgNzEwNzEsIDQxNTIyLCA0MTUyMywgNjg1MjMsIDk4Mzc3MiwgMTE4OTIzLCAxMTM1NCwgOTQwNzEsIDAsIDQyNzk1LCAwLCAKKyAgICAxMTkxOTUsIDExMzk0LCAxOTQ2NDYsIDEzMjM2LCAxMzI3MiwgMTMxOTQsIDEzMzQsIDY5OTI2LCA0NDc5LCAxMTc4LCAKKyAgICA2NTU4NiwgNjgzMTEsIDY2NjgxLCAxMTkxOTMsIDQ2MDEsIDAsIDAsIDk4Mzc2NSwgNjY4MjgsIDAsIDEyNzgzOSwgMCwgCisgICAgNjgwOSwgNjM3ODYsIDYwMzEsIDY3NDAyLCA2Mzc5MSwgNjM3OTAsIDExNDUsIDYzNzg4LCA3OTEwLCA2Mzc4NSwgNDMxNTMsIAorICAgIDc1NCwgMTAxOTIsIDEzMTA1LCA4MTgzLCAxMjA3NDEsIDIwMzcsIDAsIDY0NzEwLCAxMDc0NywgMTI1LCAwLCA2NDg5MCwgMCwgCisgICAgMTI3Mzc2LCAwLCA0MTcxOSwgNjM3NTgsIDM1MjMsIDEwNzQsIDEzMjU4LCA5NTM2LCA3MTA1NiwgMCwgNDQyNywgNzQyNDIsIAorICAgIDYzNzU3LCA0MzE0NSwgMTIyMTcsIDYzNzU0LCA0MTUzMiwgMTM0OSwgNjM3NTAsIDYzNzQ5LCAxMjkwMjUsIDAsIDAsIAorICAgIDYzNzUzLCA2MzgwMiwgNDEwODQsIDEyMDYyMiwgNjgxMzMsIDQxOTMwLCA2MzgwNSwgNjM4MDQsIDExMTQwLCA2MzgwMSwgCisgICAgNDEwODIsIDgxNDAsIDYzNzk4LCA2MjYwLCAwLCAxMjgzOTEsIDk0MDc0LCA2Mzc5MywgMTE5ODgsIDM4OTgsIDkyMjQ2LCAKKyAgICAxMDIwMSwgMTIyMzgsIDYzNzk1LCA0MjE5NCwgMTAzNjcsIDEyNTIxLCAxMDQzMSwgNDIxMTQsIDQxOTMyLCAxMDY4LCAwLCAKKyAgICAxMjUyMywgMTI5NDUsIDk4MzMyOSwgNDIyMDMsIDc5NTAsIDMxMjQsIDYzNzcxLCA0Mjc4NywgNDM4NiwgMTExNDgsIDY5NzMsIAorICAgIDI3OTMsIDEyNDc1LCAxMjkxODAsIDEyODUwMSwgNjM3NjksIDk1MzAsIDk4MzExOSwgMTIyMzIsIDEzMTM1LCA4NTk2LCAKKyAgICA1NjgxLCA2Mzc2MiwgNDU5NSwgNjM3NjAsIDc5MiwgMTEzNjc0LCA2NDgwMywgMCwgODc0MiwgMTk1MDI5LCAxMTA1MywgCisgICAgMTI4Nzk2LCA2Mzc0NCwgMTI4MTA3LCAxMjg5NDIsIDc1ODgsIDYzNzQ4LCAxNjkzLCA2Mzc0NiwgNDMyMDQsIDUwNTUsIAorICAgIDY4NDI2LCA0MjA2MywgMTA5MCwgMTIwNjc5LCAxMjUwMDgsIDExNjY1LCA3NDEzMywgNDU1OCwgNjU2ODUsIDk1MjMsIAorICAgIDk4MzQ1MSwgMCwgNzEyMTYsIDExNTEzLCAwLCA2MTU3LCA2Mzc3NSwgNjM3NzQsIDYzNzczLCAxMzE5MSwgMTIxNzAsIAorICAgIDM1MDAsIDMxMzksIDEyMDUzOCwgMzE3MCwgMTI0ODUsIDAsIDEwODcyLCA3ODI3MSwgMTMwMDYsIDY0NDMzLCAxMjAwNzQsIAorICAgIDAsIDk0MSwgMCwgMTI5MDc5LCA5MTc4NTMsIDY1NTQxLCAxMTA2MywgMCwgODIyOCwgMCwgNDIwNjUsIDEyODM2OCwgMCwgCisgICAgOTQwMzksIDAsIDkyNDU1LCA3Mzg2LCAwLCA2NDQ0NCwgMCwgMTE5ODYzLCA0MzYwMywgOTQwNzUsIDY1Mzk3LCAyODgsIDAsIAorICAgIDAsIDAsIDEwMDI1LCA2OTkxNSwgMjkxOCwgNjY4MjAsIDY1MzAwLCAxMTk4NzEsIDk4ODMsIDY0NzI2LCAyNzkwLCA2NTM5NSwgCisgICAgMzc5MywgMCwgMTI3ODI5LCA2NTM5MywgMTIwNTkyLCA3NDEzOCwgMCwgOTI3NTEsIDc3OTU4LCA3NDEzOSwgNzg3NzcsIAorICAgIDY1Mzk0LCAxMTU0OCwgNTI3MCwgOTgzMjM2LCA2NTM5NiwgMCwgNjU4MTMsIDEzMjU2LCAxMjgyLCAxMjA3NzEsIDAsIDAsIAorICAgIDEwODg4LCAxMjc0OTAsIDY1MjQyLCAwLCAzMzMwLCAwLCAwLCA2ODM0MCwgMCwgMCwgNzEyMDIsIDMzMDQsIDQyNzUzLCAKKyAgICA5MzA0NiwgMCwgNzQ2NDMsIDE2MjcsIDAsIDAsIDAsIDUzNzEsIDEzMTE2LCAwLCAxODI2LCAxMTg3OTQsIDAsIDQzMDk0LCAKKyAgICA3MDAyMywgNDM2NTAsIDk0MDM3LCA2ODMxNywgOTAzNSwgMTExNDEsIDAsIDEyODAwNSwgMCwgOTIyMDcsIDY4MTI1LCAKKyAgICAxMjg0NjcsIDE2NCwgNjgzMDksIDk0MDY3LCA5NDAwMCwgNjk1OCwgMCwgNDMxMTYsIDY3NzE5LCA3MDAxOSwgMTMyNDUsIDAsIAorICAgIDAsIDY2ODE4LCAwLCA3MDAzMSwgMTEwOTksIDEyNjY2LCAxMzE3NSwgMTMyMDcsIDEyMDQxNCwgNjYwMTQsIDEyMDQyOCwgCisgICAgNzQ0NywgNTkyOSwgMCwgNjU1MDksIDEyOTE5MiwgNzQ0OSwgMTEzMDYsIDAsIDczOTIwLCAzMTgwLCAxMjUxMDIsIDYzODA4LCAKKyAgICA5MDU0LCA5NzEsIDEzMDYyLCA3MTA5MCwgMCwgNjUxOTUsIDEwMTY0LCA5MjI1MiwgNzQ0MjgsIDAsIDc4MTQ2LCA5MjYxMSwgCisgICAgMCwgNzAyMDQsIDAsIDEwMDQ1LCAxMjg4MiwgMTMyNzUsIDIzMDMsIDExMDU3LCAwLCAxMzI3NiwgMTI1MTMzLCA0MTUyNSwgCisgICAgNzgxNTAsIDcyNzEsIDExNDQ0LCAxMjY0NzksIDEyOTE1OCwgMTI4MTEyLCAxMjIyOSwgMTE2ODAsIDAsIDQzNDExLCAKKyAgICA3Mzc1MSwgMCwgNjQ4MTMsIDAsIDAsIDEwNDc2LCAzODU4LCA2NDE3NSwgMzkzMiwgNjQ5NTgsIDEyMDQzMiwgMCwgNzM5ODksIAorICAgIDY4MTkyLCAwLCA2OTg0NywgMzY5LCAwLCA0MTc4NCwgMCwgNjQxNjMsIDc3OTk3LCAwLCA5MjY0NSwgNjU0NzQsIDQ3OTYsIAorICAgIDEyMjkyLCAxMjY1OTUsIDY1NDc5LCAxMjg2MzEsIDQxNzgxLCAxMDQ4NiwgNDE0ODAsIDQzMDAyLCA5ODk5LCA5MjYwOCwgMCwgCisgICAgNDA0LCAxMjgyMSwgMzc0MSwgMCwgNTc4OCwgODA5MiwgNjgyMTIsIDQxMjIyLCAxODMxLCA2NjAyMCwgMzk4MiwgMCwgCisgICAgNDM4OCwgMCwgNzQ2LCAxMTg4MjYsIDc0NzgzLCAwLCAxMjAxOCwgNjUyOTQsIDEyNzU0NSwgMCwgMCwgMCwgNDQyMiwgCisgICAgNDcwOCwgMzc5OSwgNzQyOTIsIDExOTM1NywgMCwgNzQ0MzAsIDAsIDExNzAwLCA0Mzc0LCAwLCAxMjgxNzksIDEzNjQsIDAsIAorICAgIDgwMzgsIDAsIDkxNzU5NywgMTI4NjgsIDY5ODE0LCA3MDQyNSwgNjczNSwgNzM5NzksIDEzMTc0LCA3Mzk2OCwgMTMyMjUsIAorICAgIDE5NDkwMiwgNjk4MDgsIDY1ODM1LCAwLCAyMzY1LCA3ODQxLCAwLCA0Mjg1NSwgMTE4ODU2LCA0Mjg2NiwgMCwgMCwgCisgICAgMTI3OTg2LCA2NjQzOCwgNDE3ODUsIDEyNjE3LCA2NDE3MiwgMTMxNzMsIDQzNzIsIDExOTM1NCwgMCwgOTgzNTY4LCAwLCAKKyAgICAxMjc4MjEsIDY3Njg1LCAxMjgwNjIsIDEyOTY1LCAzODQsIDY0NTEyLCAxMDQwNCwgMTAzNDAsIDExOTM1MiwgMTU1NiwgCisgICAgNTI3NCwgMTMyMTAsIDEyMDEyNSwgMTAwMTcsIDk3MzMsIDQxNzg3LCA5ODMyNDMsIDEyNjk5NCwgNDEzNzMsIDY4NDg2LCAKKyAgICAxMjMwMywgMTI4NDc2LCAxMzIzMiwgMTMyMzMsIDM0OSwgNDg2MywgNDEzNzEsIDExNjU2LCAwLCAxMjA3MDMsIDExOTg4MywgCisgICAgMTI4NjEsIDQzOTgsIDg1NDMsIDY1NjE4LCA5MjczNywgMTA5NiwgNDM4NTIsIDAsIDQyNjg4LCAxMjQ0MSwgMTIzNTUsIAorICAgIDExOTM0OCwgMTE5MzQ3LCA0MzE4LCAxMDQ1MiwgOTI5MDIsIDgwMzIsIDEzMjQzLCAxMzIzNywgMTI3MTksIDEyNjY0NiwgCisgICAgMTE5MTAxLCAwLCA2NDg4NCwgMTE5ODcyLCAxMTkzNDUsIDg1OTcsIDcxMTAwLCAwLCA5ODY0LCAwLCAxMjA3ODUsIAorICAgIDExOTg3NCwgOTQxMDcsIDEzMTk1LCA0MTQ1MiwgNjQ5NjEsIDc3MjIsIDAsIDEwNDU5LCAxMTk4NzgsIDEyNDk0OSwgCisgICAgMTE5ODc5LCA2NjU5MCwgMTI4MTIzLCA0MTUzMywgNjYzMzcsIDAsIDkyMTg0LCAwLCA0OTY1LCA0MzQ0NSwgOTE3NTM2LCAKKyAgICA2Nzg1NiwgMCwgNDM2MzgsIDc4NTM2LCAxMjgyODcsIDYyNjEsIDExOTM0MiwgNDMxNDcsIDY2NTcwLCAxOTU3LCAxMDQyMCwgCisgICAgOTgyLCAyNzU2LCAxMzI5MiwgMTMyMDYsIDEyNTA2NCwgMCwgMjkyNSwgNzM4MDksIDEzMDU2LCA5MjkxNCwgMTMyMTIsIAorICAgIDQzMjM4LCA5ODMxNDIsIDEzMTkwLCAxMzE4NywgOTI1NDEsIDEzMTk4LCAxMTg3OTMsIDAsIDUyNDIsIDExOTE3OSwgCisgICAgNjQ0NzYsIDE2OTQsIDgyMTYsIDcxMzY5LCA2NzcwLCA0MzMzMSwgMCwgNjU2MjAsIDk4MzcyOCwgNDM1NDQsIDEyNjQ2NiwgCisgICAgMCwgNDE0NDQsIDY1NjIxLCA2OTk1NSwgOTE5NywgNTI0NiwgMTE5MTA2LCAxMzE4NSwgOTcwOSwgMTIwMzIzLCAxMjAzMjIsIAorICAgIDEyMzE0LCA2NTYxNiwgNTIzOCwgNDM4MjUsIDcxMDg1LCAxMTkzMzcsIDUyMzYsIDQwOTc5LCA5ODMxNDAsIDcxODc0LCAKKyAgICA4Mjg2LCAxMjg1MzcsIDM5MzYsIDExOTMzMSwgMTE2OTksIDQxMzQ3LCAxMjcyNDksIDEzMjM1LCA4ODQyLCA0MTI0OCwgMCwgCisgICAgNDM3OSwgMTMyMzksIDEyNjkyLCA3OTY5LCAxMjcyNjYsIDcyMTksIDcxODc1LCAxMjgyNTEsIDEyMDUwOSwgOTI5MDcsIAorICAgIDY2MjI0LCA3MzQsIDI5NzksIDEyMDMwMywgNjU2MTksIDk4NzIsIDk1NywgNjQ5MjEsIDE4NDYsIDY2NjMxLCA0MTQ3NywgCisgICAgMTE5MjU2LCA3MTE5MiwgNzQ1MTEsIDQxNzcwLCAxNjcwLCA2NDQyLCAxMjAzMTcsIDQyNDQ2LCA1Mzc5LCAxMjAzMTgsIAorICAgIDQxMTYzLCA3NDgzMiwgMTExMzYsIDcxODc2LCAxMTUwNiwgMCwgNDI4NDEsIDEzMjY3LCAwLCAwLCA0MTc3NSwgMCwgNzEzMCwgCisgICAgNDE3NzMsIDAsIDEwNjYzLCA3MDEzMCwgMCwgOTgzOTc0LCA2MTUxLCAxMjExMCwgNDI2NzMsIDY1NTcyLCA2NTI5MywgCisgICAgNjUyNTAsIDEzMjY1LCAxMzI2NCwgNjQ1MTgsIDAsIDYxMDAsIDEyNzk2NCwgOTI2NDcsIDU4MDgsIDY1OTIyLCAwLCAKKyAgICAxMjk2NywgNjYwNDEsIDU2MTIsIDQ1ODMsIDcwMDA0LCA0MzM4NiwgNjgwOTcsIDY0NTc1LCAxMjY2MzcsIDExOTY1LCAwLCAKKyAgICA2ODM1OCwgMCwgNjk3ODksIDQyNjUzLCA5MjI2MCwgNjgxMDIsIDk2OTgsIDc4MTQsIDcxMDQ1LCAxMTk2NTEsIDEyODUxNCwgCisgICAgMCwgNDE5MjEsIDExODg1OCwgOTc1NiwgNjk4NSwgNjY0MTgsIDY2NjIxLCA3NDIxOSwgNjY0MTIsIDEyODgyMiwgMTE4OTk3LCAKKyAgICA4MDEyLCA1Njc0LCAxMjM1MywgNjY0MjEsIDEyMzYxLCA1Njc3LCA1NTg4LCAxMjUwMDUsIDQxOTI1LCAxMjgxMjQsIAorICAgIDQxOTIwLCA1NjczLCAxMjA1MzQsIDU2NzYsIDQxOTIzLCAxMjY5NCwgMTE4OTc4LCA1NjcyLCAxMjk0LCAwLCA3ODA1OSwgMCwgCisgICAgNDI1MTEsIDE3MjcsIDEyMDcyNSwgNDI0MzYsIDEyNDkyOCwgMCwgMCwgNzQyMjIsIDg3MTgsIDM1NTAsIDczNiwgMTAyNjgsIAorICAgIDQ1MDUsIDU4NzMsIDc0MDkwLCA1ODI2LCA1NTIzMiwgNTgxMywgMCwgOTI4ODksIDU4NDEsIDU4MzcsIDU1MjM0LCAwLCAKKyAgICAzMTA1LCAxMjgyOSwgNTgzOCwgNTc5NiwgMCwgMTE5NTkyLCA1NzkzLCAwLCA1ODY2LCA1Nzk3LCA0MTAxMSwgNTg2NSwgCisgICAgOTMwMDksIDc5NTYsIDU5OCwgMCwgNjQ2NDksIDU4MDYsIDQyMzk4LCAwLCA5MDM3LCA1NjcxLCAxMjAwNDEsIDk4MzI1NSwgCisgICAgMCwgMCwgMTI4ODU1LCAwLCA4NDcsIDEyODI0MiwgOTUyOSwgMTI4MDE5LCA2NjY1NywgNjk4MCwgNzg0ODMsIDQzNTEwLCAKKyAgICA3ODEyMiwgOTIyMTksIDAsIDY3NDExLCA3ODQ4NiwgMCwgMCwgMTIwMDM5LCA0MjY4MywgNzE4NDgsIDk4MzA1NSwgNzExNCwgCisgICAgMCwgMCwgNDMxOTAsIDY1NDYzLCAxNTU0LCAwLCA0MjYxMSwgNDI1NjMsIDAsIDU2NTEsIDI5MjksIDY3OTIsIDQzMjAxLCAwLCAKKyAgICAxOTk2MywgNTY5OCwgMTk0NzY4LCA5ODM5NDEsIDkyOTMzLCA3MTg4NywgNTY0NCwgMTAyOTIsIDY1NTQ2LCA2OTcyNywgCisgICAgNjgxNDEsIDgzNzIsIDAsIDY1MTE2LCAwLCAxMjAwMjIsIDEwMTc1LCAxMDM4OCwgNDI3OTksIDk0MTAwLCA0MTAxMywgCisgICAgMTA1NjgsIDAsIDk4MzYxOCwgMjg2OSwgOTE3ODQzLCA0MTAxNSwgNzQ0NzMsIDI3ODUsIDQzNjYsIDAsIDEwOTU0LCAKKyAgICA0MTgwMiwgMCwgNDI2MDgsIDc4NDY5LCA5ODg0LCA0NzU5LCA3Mzc2OCwgMTIwMjk2LCAxMDI2NiwgNDEzNTksIDExNzAsIAorICAgIDQzMzY1LCA2OTgxMCwgNzM5MDgsIDE2MDksIDkwMiwgOTI3NzMsIDYzOTM2LCAxMjcyMzksIDExNjYxLCA4MTIyLCA1ODE4LCAKKyAgICAwLCAwLCAzODYxLCA5NTQwLCAxMTAyOCwgMjU1NCwgNTE1OCwgNTcxNCwgMjIxMywgMCwgMCwgODA3LCA0MzA3OSwgMCwgCisgICAgNzg0NzUsIDk3NiwgNTUxMSwgNjQ1NTMsIDAsIDQyMTU1LCA5ODMzMTcsIDQxMzU2LCA3NDExMCwgMTE4ODAxLCA3MTA0MywgCisgICAgMTIwMDgwLCA4Njc2LCA5ODMyOTEsIDk0MDAyLCA1NTgyLCA0NTEsIDYzOTQxLCA1Nzk4LCA5MzQ5LCA0MjAxOCwgMTI3ODU4LCAKKyAgICAwLCA3ODY4MSwgNDM2MDksIDU5MDYsIDEyMDU1MywgMTQ0MCwgMCwgMTI4ODUzLCAxMjAwMTYsIDcwMzQyLCAxMTAwNSwgCisgICAgOTgzNjk3LCA2NjY1NiwgNjYwNDQsIDAsIDEyODU5MiwgMTI4NzkzLCAwLCA0MzM5MywgMTAwOTQsIDcwMTY0LCAxMTUyOSwgCisgICAgMTA4NTcsIDkyOTQ0LCA2NjQzNiwgNjU0NiwgOTMsIDgxMDIsIDY3MzIzLCA2ODQwNSwgMCwgMTk0NzE0LCA4MTcxLCAKKyAgICAxMTg4ODgsIDExOTA5NywgMTI3MDY0LCA5MTc1NDMsIDM4MywgNzE1NCwgNDE2NTYsIDQzNDk1LCA5NDA0MCwgNjcxNjIsIAorICAgIDUxODcsIDcxMjk2LCA3MTA4NiwgMTEyODYsIDY4NjIwLCA2NDIxNywgMCwgNTIzMiwgMCwgNDEwMDksIDEyNzM3NywgCisgICAgNDEwMDUsIDAsIDAsIDk4MzgyNywgODI5MiwgMTI1MTA4LCA0OTgwLCA4ODYwLCA3MTA1NCwgMTAwMjgsIDY1MjkxLCA3MDc2LCAKKyAgICAxMzE4MiwgMTk0NzA1LCAxMjgyMjQsIDEyNzk3NCwgMTA2MzEsIDY2MDMxLCA3OTcyLCAwLCA3ODc4NSwgMCwgNzkwMCwgCisgICAgMTI4NTkwLCAxMTMwOSwgMzgwNiwgNDE5OCwgNDI3MjUsIDAsIDY3NjU2LCA5OTk1LCAwLCA5MjU1MiwgMCwgMTI5MzEsIAorICAgIDk4MzY5MCwgNDI2ODQsIDc0Mjg1LCAyMDg4LCA2NDIxMywgNjQzNjYsIDY1MTU2LCA4ODE0LCA0MjIzOCwgNzQ3NzEsIDAsIAorICAgIDkxNzgzMSwgMTI4MzYsIDAsIDAsIDc0MzQyLCA4NTkzLCAwLCAwLCA2ODQ0NSwgMTMyNTUsIDAsIDAsIDc0NjQsIDAsIAorICAgIDY1ODY1LCAwLCAxOTQ2NTAsIDEyNzE0NCwgMCwgOTM0MiwgMTIwNDY0LCA3MDM3NiwgNjQ1MTYsIDAsIDc4NzkyLCAxMDEyOSwgCisgICAgNDEwMDcsIDc0Mzc1LCAwLCA0MDk5NSwgMTIyMDksIDQxMDEyLCAxMTkxMzYsIDAsIDAsIDY5NzI0LCA0MDk5MiwgOTIyNjQsIAorICAgIDEyNzE1MywgNjg2NTMsIDQzNTU4LCA1NTIyLCAwLCA2MSwgMTk0NzgwLCA3NDEwNSwgMzYzMywgOTgzOTAwLCA2NTE2MiwgCisgICAgNDEyMzQsIDEyMDg5LCA3ODI4MSwgOTc3MSwgOTgzOTA1LCAxMzI1MSwgMTI4NzAxLCAwLCA2MjYyLCAyNzg0LCA0Mjc0MywgCisgICAgNzEwNzgsIDgxMjYsIDY2NDgzLCAwLCAwLCA0NDEsIDQyNjIxLCAwLCAwLCA0MTAwMiwgNDA5OTksIDExOTYyMywgNDMyNjYsIAorICAgIDcxMDgsIDE5NDc3OSwgMTA4OTAsIDc0NDgxLCA2NTgzNCwgODMyNCwgMTE4OTQ0LCA2NDQxNywgNzQ4MTcsIDEyNzQ2NSwgCisgICAgNjQ3MzcsIDc0ODUzLCA5ODM2NTksIDg5MzAsIDY2Njc4LCA2NzIxNiwgMTE5MywgMTAwNTYsIDE4MDAsIDEzMjUzLCAKKyAgICAxMzI1MiwgNzgyOSwgMCwgMCwgNzc0MywgMCwgMTI0OTk2LCA3NzkwNCwgNzc5MTMsIDc3OTA1LCA5MDM0LCA2MDM5LCAKKyAgICAxMjkxMzksIDEwMDc1LCAwLCA0MTAxOCwgNjU2ODMsIDEwMzM4LCA2NjQ2OSwgMCwgMCwgMCwgNDI4MTUsIDkyOTg0LCAKKyAgICA0MTk2NiwgMCwgMTI3NDcxLCAwLCAxMTc5MiwgNDMwNjQsIDQxMDI1LCA5MTEsIDc1MzksIDAsIDQwOTYzLCAxMjAzMzksIAorICAgIDY1MTU5LCA2NDM5MCwgMCwgOTgzMTYwLCA1NTIwLCAxMTY2MiwgMTI4NDY4LCA2NTMzMCwgNDI4MTIsIDAsIDAsIDEyMzI2LCAKKyAgICA3MTA4MSwgMTk0NjM4LCA0MjgwOCwgMTI4MzM3LCA5MzQ4LCA2NDkwMSwgOTgzODYxLCAwLCAxMjgzMjgsIDY2ODM5LCAwLCAKKyAgICAwLCA5MTc1ODQsIDQzNzAyLCA5ODMxNDgsIDU4NTcsIDY1MzQyLCA5MjcyNywgMTE5MTIwLCAxMjAwNzksIDg2NDQsIDAsIDAsIAorICAgIDExMTg2LCA3NDI5NiwgNDE5MDksIDAsIDY2OTAwLCAyNzkxLCA2OTY2MywgMTg5MSwgNjk4MjQsIDY2Mzk3LCA0MTkwNywgCisgICAgNjY2NDcsIDExODkzOSwgODc2MSwgMTI5NDIsIDU3NDgsIDAsIDEwNzczLCA3MDg2OCwgOTgzMjk1LCA4Nzk2LCA3ODE0OSwgCisgICAgNjQxMiwgMjA2MSwgODUyMCwgMTMxNDYsIDEyNzE4NSwgNjM5MzEsIDAsIDY1OTAyLCAyODgyLCAwLCAwLCAxMjg0MywgCisgICAgNDUyMCwgMTIwMzQ1LCA5MjQ1OSwgMCwgOTgzNjYwLCAwLCA3Mzg2MCwgMCwgMCwgNjQzNDUsIDAsIDkyMDEsIDEyODMxNCwgCisgICAgNzA4NzEsIDAsIDAsIDQzNjc5LCA5MTc1ODUsIDY1MTE3LCA5MjI3MCwgMCwgMTA0MjcsIDAsIDM4NDQsIDY4NDIsIDk3NTUsIAorICAgIDExMTAsIDY2MTIsIDEyMjIyLCA5MzAzMCwgMTI4Nzg5LCAwLCA5ODMwOTYsIDc4MywgMTk0OTM1LCAwLCAxMjcyMjEsIAorICAgIDkyNTQ5LCAxOTQ3MjAsIDY1MDU2LCAzNjIwLCA0MTE4MCwgNjgzNzgsIDQ1NTYsIDAsIDY4NDgwLCAxOTQ5MzMsIDc0MjUwLCAKKyAgICAwLCA2NzY1NywgMTA1MTAsIDQzODIsIDY2NDgyLCAwLCAwLCAxMjc1MjcsIDkxNzcsIDg5MDIsIDkzOTU4LCA5ODM5LCAKKyAgICAxMjA3MDAsIDEyODkxLCA5ODM3NTUsIDk4MzYzNiwgNjM5OTksIDIwMTYsIDQxOTE3LCA5Nzg4LCA2MzkyOCwgNjc2OTYsIAorICAgIDE4NjIsIDY1ODAwLCA5MTU1LCA2NjYyMywgOTc4NiwgNjUwODIsIDQxOTE5LCA4NTc5LCA0MTkxNCwgNzk4MSwgMCwgCisgICAgNjYwMTcsIDQ1MDgsIDY0ODgzLCA5MjQ1NiwgOTI1MjIsIDEyNzgxNCwgMCwgNjQ1OTIsIDc0Mjc2LCA2NzY4OCwgNjc4NCwgCisgICAgNzg3ODgsIDY4MTgxLCAwLCA3MTIxOCwgMTEzODIxLCA2NjM2NiwgMTIxNDcsIDkwMjQsIDY2Mzc4LCA2NjQ3MiwgOTgzOTI5LCAKKyAgICA2NDI4OSwgNjUyODksIDc4MTUxLCA2NjY1OCwgNzE5MzUsIDY0NTA5LCA3ODE1MiwgMTEzNjk3LCAxMjY1MDUsIDExMDUxLCAKKyAgICAxOTQ5MjgsIDAsIDExMzU1LCA2NTg4NSwgMTI4NzczLCAxMjc5NDEsIDQxMjE0LCAwLCAxMjI5OSwgMCwgNzUwMCwgNDUwNiwgCisgICAgNzc3MywgMCwgMCwgOTk2MywgNjg2NDksIDEyNjYwOSwgNDA0MCwgMTIwNTcwLCA2MTY3LCA3NDUxOSwgNjM5MjIsIDY1OTQsIAorICAgIDk4Mzc0MCwgMCwgMCwgMzYyNCwgNDMwMzYsIDAsIDYzODcsIDYzOTkwLCAxOTk0NywgNjM5ODgsIDQxOTU1LCAxMjY5OTAsIAorICAgIDYzOTkzLCAxMDQ0MCwgOTYxMSwgNjU2MDUsIDY4MDMsIDAsIDc3MzgsIDYzOTg2LCAxMTQ0NiwgNjM5ODQsIDkyNjQxLCAKKyAgICAzNDM1LCA3ODE2NCwgNDM4MTQsIDQzODEwLCA3MDI5LCA2NDI1OCwgNDEyOTIsIDExODg5OCwgMTI3NDgsIDQyNzQyLCAKKyAgICA5NTE3LCAxMTUxOCwgMTI4MTY4LCA3ODc5MCwgMCwgNjc5OTMsIDYzOTU2LCA0MjQ1OCwgNjM5NTQsIDYzOTUzLCA2Mzk2MCwgCisgICAgOTU5MSwgNDUxNiwgMTAyMTcsIDY4MzcwLCAxMTQ2OSwgNjk2OTcsIDQyMzA2LCAyNzIzLCAxMTg5NDcsIDAsIDAsIDAsIDAsIAorICAgIDAsIDExMzk3LCAyODgwLCA3MDgwNiwgMCwgMjg3MiwgMCwgMTI4NTA2LCAzNDk4LCA0Mzc4LCA5MTc1MzksIDQyNzAsIDAsIAorICAgIDY1NTUxLCA2ODIwNSwgNjYzMywgNDMzODcsIDAsIDUyMzAsIDE5NDk5MSwgMCwgMCwgMCwgMCwgODE2MSwgMzkzLCAxMjAxMywgCisgICAgMCwgOTgzMTk4LCAxMTkxMDMsIDQxNSwgNjM5NjQsIDYzOTYzLCA0MjM0NSwgOTIzMTAsIDUxODMsIDE4NzcsIDQyNDk4LCAwLCAKKyAgICAyOTI3LCA3MTA1OCwgNjM5NjEsIDQ0NzIsIDAsIDAsIDc4MTU5LCA2OTY5OSwgOTE3OTM2LCA0MjM0MCwgNDc1NiwgCisgICAgMTI4MDc4LCA3MDgxLCAxMDczMCwgNzY5MSwgMTAzMzEsIDYzODMwLCAxMTk2MjUsIDQyOTIyLCA0MjEwMywgODYyOCwgCisgICAgOTgxMywgMCwgNDI0NTMsIDE2MDQsIDk1NjUsIDEwNTM5LCA2OTcwMSwgNjU3NjQsIDQxNDE1LCA2NTc2NywgMTI5MTk2LCAKKyAgICA4NDU3LCA0MjMwMSwgMTEzNzIsIDY0ODczLCAxMTk5MiwgMCwgMCwgNjM5ODAsIDExODAxLCAzNjIyLCA5ODMxMjQsIAorICAgIDY0MzM2LCAxMjAxNywgMTA0NjMsIDYzOTgxLCA0OTY3LCA2NDE4OSwgMTk2NiwgNDM2MjgsIDk4MzkwOCwgOTgzMjkyLCAKKyAgICAxOTQ3NjYsIDAsIDYzOTcxLCA0MzQ3LCA0NDE2LCA0MjA5OCwgMTEwMDksIDEwNjk0LCA2Mzk3MywgNDAyLCA5MjIxMywgCisgICAgMTMxNDcsIDEyODY5MiwgNDIxMDAsIDY0NjQ2LCAxMzIyOCwgMCwgNDE4NzUsIDM1MTUsIDc0MjUyLCAxMTgwNSwgMCwgCisgICAgMTEzMDIsIDYyNTksIDQzMzk1LCAwLCAwLCAxOTQ2NzAsIDAsIDkyMzUxLCA3NDgxMywgNzQ0MjUsIDExMjk5LCAxNTYxLCAKKyAgICAxMTg4ODEsIDkyMzE4LCA2NDk0MiwgOTMwMjEsIDE5NDczMywgNzA0MTEsIDE5NDczMiwgMCwgNzQzMDEsIDEyNzg5MywgCisgICAgMTEyODAsIDEyODQ4OSwgNjk3ODQsIDc0MDYwLCAwLCAwLCAxMTk2NjQsIDUxNDUsIDEyNDg2LCA2NTAxOCwgNjY1MTYsIAorICAgIDU0MDksIDEyNzM3OSwgMTk0NjY5LCA3NDAyLCA1Mzk5LCA5Njg1LCA3NDA4OSwgNzk1MiwgNTQwMSwgMCwgNjY2MTYsIAorICAgIDY2ODMyLCA5Mjk2NiwgMTI5MTA1LCA1NDA1LCAxMjc4NzUsIDY0ODY2LCAxMjc4NjQsIDExOTU4MywgMTE5MTIyLCA3ODc4NCwgCisgICAgNzQyNDgsIDExMzMwLCAxOTQ3MjMsIDY0NjkwLCAzMjU0LCAwLCAwLCAxMjgyMDcsIDQyMzkwLCA0MzY3OCwgMTk0NzI1LCAKKyAgICA5ODM5MDksIDY1MDc3LCAxMjkwNTksIDYzODgsIDMzNTUsIDk1MDgsIDk4NjcsIDU3MjMsIDExNTIwLCA1NjExLCAwLCAKKyAgICAzMzc3LCAwLCAwLCA3NDM1NCwgMCwgNzgyMjgsIDk4MzcyMiwgOTgzNzYyLCA0MjY5MSwgMTI3ODg2LCAxMjcxOTgsIAorICAgIDc0NzY3LCAwLCAxMjcwNzUsIDEzNzksIDI0NiwgMCwgOTgzNzYxLCAzNzg4LCA5ODMxMDYsIDExMDQxLCA2NzIwMiwgCisgICAgNjYzMDQsIDAsIDAsIDg5MTcsIDQyNDAzLCAzMDEsIDAsIDEyODUwMCwgMTI3MDQ2LCAwLCAwLCAxMTM4MjIsIDEwNjU2LCAKKyAgICAxMjUwNDIsIDY1MjE0LCA5Mjk4NywgNDI1NjcsIDkyMjE3LCAxMzE2MywgOTgzMjA0LCAxMjA4MzEsIDc0NTk3LCAzMTgyLCAKKyAgICAwLCAwLCAwLCA2NTAzNCwgNjU4ODksIDQyMTY5LCA0NzU1LCA3NDI0NCwgMTk0NjIxLCAxMTQ0MywgOTgzNjAzLCA2NjMxOSwgCisgICAgNjg0MSwgNjA4LCA2MDAsIDAsIDEyMTksIDM5MzQsIDY0MjA2LCAxMTQ4MywgNzQ1MTAsIDExOTExNywgNzQ0ODUsIDQyNDQyLCAKKyAgICA2NTQ3MCwgOTgzOTA3LCA2NDIwMiwgMTMxNjAsIDc3NTksIDQyNDgyLCA0ODUsIDY5OTgyLCA3MDUwNSwgOTgyOCwgMCwgCisgICAgNDM1MDUsIDQyMjgwLCAwLCA5MzUxLCA3Nzc4LCA2NDM3OSwgNzQ5NiwgNDI0MzEsIDY5MTYsIDEyMDgsIDAsIDExOTYzMSwgCisgICAgMTEwMDIsIDQyNDcwLCAwLCA2ODMxNSwgMCwgMCwgNzQwNDEsIDAsIDcwMDQ1LCA0MzUzOSwgNTQxMSwgNDIxOTYsIDAsIDAsIAorICAgIDAsIDkxNTAsIDY2ODMxLCA0MjM5MywgMTMwODYsIDEzMTAsIDY2ODQ4LCA5MzM3LCAxMjA1MiwgMTA2NDMsIDU1MjcxLCAKKyAgICAxMjg5NTEsIDEyMTY2LCAyNTQ2LCAxOTQ2ODMsIDIxMywgMTE4ODUyLCA2NTYxMSwgMCwgMTk0ODIyLCAxOTQ3NTYsIAorICAgIDc0MzEwLCA2NTU0LCAwLCAxMTkxNCwgNTQ1MiwgMCwgMCwgOTI3NzIsIDAsIDAsIDE5NDY4MSwgOTI1NjAsIDI3MTMsIAorICAgIDEyOTAyOSwgOTY1MCwgNDMzMzAsIDAsIDEyODUwNSwgMTQwNiwgMTI1MDA3LCA0MjkyNSwgNzQ2MzgsIDE5NDU5MywgCisgICAgNjgyMjMsIDQxNDMsIDEyODEzNiwgMCwgNjU3NDgsIDQxNDEsIDk2ODIsIDY1Mjg3LCAxNTA4LCAxMjcwMTMsIDg3NzksIAorICAgIDEwNTY5LCA4NzI1LCAxMzI5OSwgNjY2MzgsIDY1NzUwLCA0MjI2MywgNDE0NSwgNjM4MCwgNjU3NTEsIDY2NjEzLCA0Mzk5NCwgCisgICAgNjU3MzgsIDU1MjUwLCA5MTg1LCA5NTUwLCAwLCA0MzQwMywgMCwgMCwgMTk0NzgzLCA2NTczNiwgNDE5NTEsIDY0ODE2LCAKKyAgICA2NTc1NiwgOTgzMjA1LCAxMjk1NSwgMTA1OTYsIDI4ODgsIDE5NDY0NSwgMCwgMCwgOTY1NywgOTAxOSwgMTI1MDc3LCAwLCAKKyAgICAyODc4LCA1MzkwLCAwLCAxOTQ5NjEsIDY3MzI1LCA2ODY3OSwgNDM1NTIsIDc1MDEsIDYzMjgsIDE5NDk2MCwgMTA0MjksIAorICAgIDEwMzY1LCAwLCAwLCA0MTk0NiwgNzUwMywgNTIzNSwgODAzLCA2ODM4MSwgMCwgMCwgODk4NiwgNDM4MzgsIDEwNjMyLCAKKyAgICAxMTkzNCwgMTE0NTIsIDEzMzIsIDAsIDE5NDk3MCwgMTI2NjQ3LCAwLCAxMTg4ODcsIDE3OTEsIDUxOTEsIDkyODgsIAorICAgIDY0ODIyLCAyODkyLCAxMjcyNDIsIDQzMzk0LCA1NTUsIDAsIDAsIDY2NjQ2LCAxMjg5ODAsIDExOTAwMiwgMTMxNTEsIAorICAgIDc0NTEyLCA3Mjg5LCA3NDA1NSwgNjQxNjEsIDg4NTQsIDY0MTYyLCA1ODU4LCA0MTkyNywgMTA1ODIsIDEyMDQ1NywgMTc4NCwgCisgICAgMTM2MSwgMTk1MDQ3LCAwLCA3OTA1LCAwLCA2NDg2OCwgMTI4ODEzLCAxMzE1OCwgOTIxNjYsIDcyMTEsIDcxODg0LCA5MzcxLCAKKyAgICA3Mzk3MywgMTI4NDQxLCA2ODI4LCAxNjI1LCA3NjY0LCAwLCAxMzQyLCA2ODQ0MCwgNjQxNzEsIDkyNjQyLCAxMDkwMywgCisgICAgOTgzNDk0LCAwLCA5MjUyNywgMCwgNzA0MzgsIDQ0ODIsIDQxNjA2LCAwLCAxMjg1NjksIDk4MzExMiwgMCwgNjQzODEsIDAsIAorICAgIDE5NDk3NCwgMTk1MDkwLCA0MjI0NSwgMTI2NDY3LCA0MTk3MiwgMCwgNDQ0LCAwLCA5MTI3LCA2NjY4NywgNjY2MTksIAorICAgIDEyNjQ4OSwgNzgwMjUsIDAsIDExMzQ5LCA0MDk5MSwgOTE3NTcwLCAwLCA3MDE3NywgMTIwODMwLCAwLCAxMTk3LCAKKyAgICAxMjgyODIsIDExNDksIDY4MzE2LCAwLCAwLCA0MDk5MCwgNDM3NjUsIDAsIDM0OTIsIDkxNzkwNiwgMTE4Nzg0LCAwLCAwLCAKKyAgICAwLCAxMjgzOCwgNjcyMDgsIDE5OTQ4LCA0MTY3NywgMzA5OSwgMCwgMCwgNDEwODcsIDAsIDAsIDAsIDExOTA1OSwgMTIwMzYsIAorICAgIDQxMzA5LCAxMjgxNjEsIDAsIDgxNTIsIDAsIDQxNTUwLCAxMjIyNywgOTgzNjEzLCAwLCAxMjgyOCwgMTI3NTExLCAwLCAKKyAgICA5ODM5NzEsIDEyMDcwOCwgMCwgMCwgMTAzODYsIDExOTU3NCwgMTI5MTU5LCAwLCA5MjY4MCwgOTgzNzg5LCA2ODE1NCwgMCwgCisgICAgMTc0MywgMCwgMCwgOTIyMzksIDY1MTg2LCA5MTc1NzEsIDAsIDk2MDYsIDAsIDAsIDY0NDM5LCAwLCAwLCA5MjY4NiwgCisgICAgOTgzODc1LCAwLCA0Mzg2NiwgMTI4ODgxLCAwLCAzMzk1LCA5MzYyLCAxMDg3OCwgMTI4Mzc2LCAwLCA3ODM2MiwgNjQ4MzAsIAorICAgIDAsIDEyNTA0NiwgNDEwOTEsIDM0MjYsIDEzNDQsIDg4NzAsIDAsIDcxMzQ0LCA0NzM1LCAxMTExMSwgNjExOSwgMTI4MjIsIAorICAgIDQyNjk5LCAwLCA5ODM4MjQsIDc0ODE4LCAxNDIzLCAxMjg5MjMsIDQyNjM3LCA0MTA4MCwgMCwgMTIwMzksIDEwNTU5LCAKKyAgICAxMjg2MzQsIDExODg5MiwgMCwgOTQ3MiwgNjc3MzQsIDExOTI5LCAxMjg5MDUsIDcxNzAsIDk1OTYsIDYxMzAsIDEyODgyNiwgCisgICAgNDM2MjksIDExNTc5LCA3ODcxMywgMCwgOTI1MDEsIDEyNTA4MSwgOTIxODUsIDY2Njk5LCA2NDQ0MCwgMTAwNCwgOTI1ODQsIAorICAgIDE5NDczNiwgNDMyMzQsIDY2MDA4LCAxMjYyNywgMCwgNjg0MTQsIDc0NjE0LCA0MzYxOSwgNDMzMDMsIDExMzAwLCA0MzMwNCwgCisgICAgOTY4NiwgNTg5MCwgMTE3NzYsIDc1NTgsIDEyNzE1OCwgNjU2MjcsIDAsIDEwNzE4LCAxMzE1NCwgMzQ2MSwgOTEzOSwgMCwgCisgICAgOTgzMDk0LCAwLCAwLCA2NTM2NSwgNzM4NzcsIDY1NjI4LCA3ODAxOSwgMTIwMzE5LCAwLCA0MTcwOCwgMTI4NjAsIDI2NDEsIAorICAgIDEyMDY5LCAxMDgzOCwgNTQwMywgMTAzNTIsIDcwMDg1LCAxMDA2MSwgNDMyMzcsIDEyNTA1NywgNTE0MCwgMjA5LCAKKyAgICAxMjg4NDcsIDQxNzA0LCA0MTA1NiwgNDMwNzgsIDEyODEyNSwgMTE4ODA5LCA2NzIzMiwgMTA4OTksIDY1NDY5LCA3MDEyNSwgCisgICAgMCwgMCwgMjQxMCwgOTkzLCAwLCAxMjA1ODksIDEyMDY4OSwgNzg2OTMsIDAsIDAsIDcyMzIsIDAsIDExOTI1MywgMTI0OTYzLCAKKyAgICA3MTEwLCA3NDQ2MiwgMjA2NiwgMTA0ODksIDQyMTY2LCA0MzQ2MywgMTA2NTksIDM2MDAsIDc4MTE4LCA0MjI0LCAxMzM2LCAKKyAgICA0MTUxOCwgOTgzOTMyLCAwLCAwLCAwLCA0MTEzOSwgNjQ4MjAsIDkyNTM4LCAxMjk2NiwgNDExMzQsIDAsIDAsIDExOTE1MywgCisgICAgMCwgMjcyLCA0MjYzLCA4NzkzLCA5ODM4NTYsIDAsIDQxNTAyLCAxMjgxMzMsIDk4MywgMTI1NDksIDEyNDk0MCwgMCwgCisgICAgMTE5MCwgNDEwOSwgMTMzNSwgODQxLCA1ODg4LCA0MTM1OCwgNjQ4NjMsIDk1NDQsIDQzNDgxLCAwLCAxOTQ4MDYsIDcwMDI3LCAKKyAgICAyMDk5LCA1MTIwLCAyNDA5LCA3Nzk5LCAwLCA3NDQyNCwgMCwgMCwgNDczMSwgOTIyNzksIDY2NjI5LCAwLCAwLCAxMjU1LCAKKyAgICA0MTQ5LCA5MjQ3LCAwLCA5OTEzLCAwLCAwLCA2NDkxNCwgOTE3Nzg3LCA2NTEwMSwgMTEzNzE0LCAxMTY5NCwgOTI0NzUsIAorICAgIDExNjkwLCA1ODM1LCAxMjcxNjQsIDY2NjI1LCAxMDg0MiwgNDEzNTQsIDQyMTIzLCA0MzA5NywgMTE2ODgsIDY2NjM0LCAKKyAgICAxMDk0LCAxOTQsIDY0NjkyLCAwLCA4MTgwLCAwLCAwLCA5OTcyLCA3Mzg2NSwgNDUxOSwgNjExNCwgMTA4OTgsIDQzMDcyLCAKKyAgICA5MjQ2NSwgMCwgOTM5NjAsIDk4MzMyMiwgMTI2NTgxLCAxMDY5NSwgMCwgNzU0MCwgMCwgODgxLCA3ODU3LCA2MDY3LCAKKyAgICA2NTE2NCwgMCwgMCwgMTI5MTM0LCAxMzMxMSwgNjg0MDMsIDQxODU3LCA2NDMyMSwgODM1OSwgOTgzMzExLCAxMjY4OSwgCisgICAgOTgzMzEwLCAxOTQ1OTQsIDAsIDk4MzMxMiwgNzE4NTksIDY4MTgzLCAwLCA5ODMzMTQsIDEyODcsIDU0MzYsIDAsIDcxMDk3LCAKKyAgICA3NDE0MiwgOTIzMjgsIDc0MTUyLCA3MDIwNSwgNjA1MSwgMTA0OTcsIDY5NjY4LCA4OTg1LCAxMjEwOSwgOTgzMzIzLCAwLCAKKyAgICA5MzA0MywgMCwgMCwgMzY1MiwgMTA1MzcsIDEyMDI4MiwgMTI3NiwgMTIwNDQwLCA2NTQ5LCAyNzksIDczNzQ1LCAwLCAKKyAgICAxMjg2NjQsIDAsIDE0ODksIDAsIDAsIDAsIDM4OTksIDEwMDcsIDQyMTI0LCA0MzgyOCwgNDIxMjIsIDkyMzM3LCA5MjM2NywgCisgICAgMCwgMTE5ODUsIDEzNDUsIDc4NjAwLCAxMTk4MzIsIDkxNzYwMSwgODk1NiwgNDMwODMsIDk0MDU3LCA0MjEzOCwgNzg2MTAsIAorICAgIDEyOTEzMSwgNjQzMCwgNzg2MDgsIDc4NjA0LCA3ODYwNSwgNjI4NSwgNzg2MDMsIDc4NjEyLCA3ODYxMywgNjU5NDIsIDQ5MiwgCisgICAgODY4NSwgMTI4NDgxLCA5ODM3NTksIDAsIDc4NjIyLCA0MzcxMiwgMjU4MiwgMTE0NzAsIDY0NTM4LCA3NDQ0LCA3ODYxNSwgCiAgICAgNzg2MTYsIDIyOTcsIDAsIDczODM3LCAxMTk4MjMsIDI1MjcsIDExOTgyNCwgMTk3LCAyNzk5LCA5MjU5NCwgNDE5NDQsIAotICAgIDEyMDI3NiwgOTkzMywgMCwgNjY1MTUsIDc2NywgNTUyNCwgNzAyOCwgMCwgMCwgMTE5ODI3LCAxMTk4MTcsIDExOTgyOCwgCisgICAgMTIwMjc2LCA5OTMzLCA3NDAxMSwgNjY1MTUsIDc2NywgNTUyNCwgNzAyOCwgMCwgMCwgMTE5ODI3LCAxMTk4MTcsIDkyOTUwLCAKICAgICA3ODYzMywgMTA4OTYsIDAsIDE3OTksIDEyMDQ5NywgNjk3MSwgNzQzMzYsIDEyODM0MiwgMCwgNjUzNDAsIDExODk3OSwgCi0gICAgNDE1NTEsIDI0MzQsIDk0MDE4LCAwLCAxMjA1NzksIDAsIDQ2MzEsIDAsIDAsIDY0MDcsIDAsIDYzMzgsIDQzMjE0LCAwLCAKLSAgICA3NTcwLCAwLCAzMTkyLCAwLCA4NDE0LCAwLCA5Mzk4MywgMCwgMCwgMCwgOTE2NCwgNjY2MTIsIDkzOTU5LCAzMTcxLCAKLSAgICA2NjIzLCA0OTYxLCA2ODM5NiwgODg2LCA1NTIxNiwgODY1NCwgNzg4MzIsIDk5OTMsIDc0MzkwLCA2NDYwMywgNzAwNjYsIAotICAgIDY5MjQxLCA5NTk5LCA3ODYyOSwgNDMwODQsIDc4NjI3LCA3ODYyOCwgNzg2MjUsIDIzOTksIDY5NjkzLCA4OTk0LCAxMDk0NCwgCi0gICAgNDEyMDgsIDk4MzcxMywgNDExNjgsIDgxNzgsIDAsIDMzNjcsIDkyMzM0LCA0MjUxMCwgNzg2NDEsIDc4NjM2LCA2ODA0LCAKLSAgICA3ODYzNCwgMTk0NywgMCwgMCwgOTI2ODEsIDQyNzU5LCAxMTA2OCwgMTcwNSwgOTMzMSwgMCwgNzQ3OTgsIDkxODEsIAotICAgIDY1MzU5LCAwLCA4MDE3LCAxMTk4MzEsIDY1MDk2LCA2NjcyMCwgMCwgNDM0NzUsIDAsIDQ5MDksIDEyMTI2LCAxMjg2NzMsIAotICAgIDEyMDY5NiwgNDkwNCwgOTgzMzMzLCA2OTY1MCwgMTM2NSwgOTI1MywgNDI3NTcsIDQzNDM2LCA3NDYyLCAwLCAwLCAwLCAwLCAKLSAgICAxMTk1ODcsIDY0NDE1LCAwLCAwLCA1Mzk4LCAwLCAxMjczODYsIDkzOTUzLCAwLCAwLCAxMTkwMTUsIDAsIDAsIDk0NzYsIDAsIAotICAgIDk4Mzc3NywgMTI3NjMsIDEyNjYwMywgMzYyOSwgMCwgMTMwMDUsIDAsIDM2MjgsIDAsIDAsIDkyNTAyLCAzNDY5LCA0MjEwNywgCi0gICAgNDIxMTYsIDkxNzU3OCwgNjQ4MDksIDI5MjgsIDQ5MDUsIDk4NTMsIDg1MSwgOTA0MCwgMCwgNjQ2NjUsIDQzMDg2LCA5MTE0LCAKLSAgICAwLCA0MjU4MywgOTMxNSwgNDgyMiwgNDkwNiwgMzg1MiwgMjg0NywgMTE5ODIxLCAzMjM2LCAxMTMxNywgMTI1MSwgNzc3NywgCi0gICAgNDE4NTIsIDExNDEwLCAxMDk2NCwgMCwgNDMyMjIsIDEyNjQ2LCAxMjAyNjksIDEwMjU5LCA5ODY1LCA2NTgyMSwgMCwgCi0gICAgNjAxOCwgOTIyOTAsIDAsIDEyMjc2LCAwLCA2ODM3MiwgMCwgOTIyNTksIDExOTI0NCwgMCwgOTgzMjMwLCAxMDQ2NywgMCwgCi0gICAgMjQ0MywgMTA5MTgsIDc4MjE3LCAxMTk4MjUsIDEwMDEsIDkyNDEsIDE5MjcsIDAsIDAsIDczOTg3LCAxMjc4ODUsIDAsIDAsIAotICAgIDExODgyOCwgMTIwMjcxLCA2NTY3OCwgMTI4NjcsIDAsIDgyNjAsIDc3OTQ1LCA3NTE5LCAxMTUwNSwgMTIyNzQsIDg5MDQsIAotICAgIDUxOCwgNjU4NTcsIDAsIDEyODY3NCwgMTMyMDQsIDQzODcsIDg1NywgMCwgNjUzNjksIDAsIDkyMzM2LCA0MzEyNSwgCi0gICAgMTIwNTkyLCAwLCAwLCAwLCAwLCA1MTM2LCAxOTY4LCA5ODMwNDEsIDEyNjYyNywgMTMzNywgNjQ5NjcsIDE2MjksIDAsIAotICAgIDc5NiwgNjY1MDYsIDAsIDc0MTIzLCAxMjg3NywgMTIwNjQ5LCA0MjMxNCwgNDMzODgsIDAsIDc0NDAzLCA2MTIwLCA0NzgsIAotICAgIDY1MTUxLCA2ODEyOCwgMTI4MTQ3LCA0MzA4MiwgNjAxNiwgMCwgNDIyODQsIDEyODUwNywgNDI3NiwgMTIwNiwgMzYxOSwgCi0gICAgNDE2MzgsIDY5NjkxLCAzODQzLCAxMjAxMSwgODg1MywgMzM2MSwgMCwgNDkwLCAxMDcxNSwgNzU3OCwgNjgzODQsIDAsIAotICAgIDY1MzUwLCAxMDUzMCwgMTIzNDgsIDg2NTMsIDc0MzE0LCA0MjQzNSwgNjE1NCwgOTU1MSwgNjUzNTQsIDc4NTIyLCA3ODQsIAotICAgIDQyMzk3LCAzMzQsIDAsIDQyNDE2LCA2NTM1NiwgNjUyNzMsIDc3OTg3LCA2OTY2NiwgNDQ0MiwgMTAzNjQsIDAsIDc3OCwgCi0gICAgNDE2MjYsIDQyNDU1LCA3OTg5LCA3NDA2MywgMzIyNywgNjk5MDcsIDEyNzI3NSwgNzM5ODMsIDI5MTUsIDExNTAyLCAKLSAgICA0MTAyMiwgNDE3MDIsIDEwMzA5LCAxMjcwMzUsIDc4MzIwLCAwLCA2OTc1LCAwLCA1NDE1LCAxMjE3NiwgMCwgNzQxOTMsIAotICAgIDM0NjIsIDY1MjE1LCA0MjYyOSwgNzg2OTEsIDczNzg0LCAwLCAwLCA5NzU5LCAwLCA3MDA1NywgMTI3MjU0LCA4MTE0LCAKLSAgICA3ODY5OCwgNzg2OTcsIDc4Njk2LCA3ODY5NSwgODcxMCwgNDI0OTUsIDExODk1NiwgMCwgNDA1MSwgMTA0NjAsIDQzMzY0LCAKLSAgICAxMTg5MTcsIDEzNTYsIDEyMTYxLCA0MjcxMywgMTI4ODU3LCAxMjcyNjgsIDE2MTksIDk3MDMsIDQzMTUyLCA0MjQ4OSwgCi0gICAgNDIxMTIsIDEyNzk3OCwgMTg3NSwgMTA4MDgsIDQyMTA5LCAxMjAyODQsIDQxODYwLCA2NDg2MiwgMTMzMDUsIDY0OTA3LCAKLSAgICA1Mjg5LCAxMzE0NCwgMTI4NjU4LCAwLCA1NTc1LCA5Njc1LCAwLCA1OTQwLCAyMjYsIDI2NDksIDYzMzYsIDk4MzI3NywgCi0gICAgMTE5ODMwLCA0MzIzNiwgMzM4MiwgNDI0NDksIDY0OTgsIDE2NTgsIDExOTM2LCA3ODIzMiwgMCwgMTEyNjksIDEwMTUxLCAKLSAgICA3Mzc1OSwgNDMxMDAsIDY5ODg4LCA2NTUwOCwgMCwgMCwgMCwgODkzNSwgOTE3OTg1LCAwLCAwLCAwLCA2MTYsIDc0NzUzLCAKLSAgICA2NTE3OCwgNDY4NCwgNzg3MDEsIDExOTY1MywgMCwgMTI2NTUxLCAwLCA2MDQ4LCA3NDQ2MCwgNDIxMTAsIDczOTY1LCAKLSAgICAxMDg3MCwgODU1NywgMTEwNTQsIDY4NjY0LCAxMTkwNDksIDk2ODEsIDQ0NzUsIDAsIDQxMTQyLCAyMTAwLCAwLCAxMjA3MzEsIAotICAgIDYwMzUsIDAsIDc2NTEsIDEwMjk2LCA2NDQ0MywgMCwgOTgzMjk1LCA5MTc5ODcsIDAsIDExODk2NiwgNzQxNDQsIDQwOTk3LCAKLSAgICAwLCAxMDM5MiwgMTAzMjgsIDQwOTk4LCA0MzQ2MiwgNzQ0ODgsIDAsIDk4MDAsIDg5NzksIDAsIDEzMzA3LCA0MTAwMCwgMCwgCi0gICAgMTE5MjM5LCA2NDg3LCAzMzg2LCAwLCAxMDM0NCwgMCwgNjUyOTksIDUzOTQsIDQzMjQ2LCA3ODI0MywgMTAyMjAsIDY2NTA1LCAKLSAgICA0MTIwMCwgMTI4NTgzLCA0NDI1LCAwLCAwLCAwLCA0MzA3NCwgNzM3OTksIDk4MzIwMCwgNzgxNDcsIDAsIDEyMTczLCAKLSAgICA3ODU0NSwgMCwgMTI3MDExLCA2NTMzOCwgMCwgMCwgMTE5NTgyLCA0NDc0LCAwLCA0MzA5MywgMTI4NjQ0LCAxNTg3LCAwLCAKLSAgICAxMjczNzIsIDY0NDc1LCAxMjgwOTgsIDEzNjksIDk4MzY3MiwgOTk1OSwgNzkyNywgMCwgNDU2MCwgMCwgMCwgOTIyNzcsIAotICAgIDk4MzYyMSwgNjQ5NDgsIDQ0MzAsIDc0MzQ3LCA0MjYwMSwgNDUxNCwgNjY0MzQsIDkzOTU1LCA4MTk0LCA2NTQ2MiwgCi0gICAgMTA2MjYsIDEwOTY1LCAwLCA4ODkzLCA5ODMzMDEsIDEyNTQyLCAwLCA2NTM0MSwgMCwgNjU4MjksIDc5MjUsIDExOTgyMiwgCi0gICAgMTA0NzUsIDAsIDAsIDEzNTIsIDExMDY5LCA3NzA3LCAxMjc1NjAsIDEyNjQ4NiwgNjUyNzksIDEyNzEwMiwgNjgyMDcsIAotICAgIDEyNzEwMCwgNzA5OSwgNjA0MCwgMTI3MDk3LCAxMDA3MSwgMCwgOTMzNiwgNDM3NTAsIDAsIDg4OTksIDc3OTgsIDY0NDc0LCAKLSAgICA2NDI1OSwgNjk4NzMsIDY1MTg4LCA3ODIwLCA0MzAxOCwgMTI3MDgyLCAwLCA3NzQ2LCAxNDkyLCA3ODU1MSwgMTA4ODQsIAotICAgIDc3OTgyLCAwLCA1MTI3LCAxMTI4NSwgNDI1MDEsIDU0OTUsIDQyNzMsIDQzMDk1LCA0MTQyNiwgMTA4NDksIDU3MzAsIAotICAgIDI5OTksIDYzNDIsIDY4NjM2LCA3NDMwNCwgMzcxLCA2NDM3MywgNjAyMywgMTY5LCA1NDk3LCAxMTcwOCwgMCwgMCwgNjMyMywgCi0gICAgMTk0Njg0LCA4MjI0LCAwLCA4OTM4LCA2MDQzLCAxMjczOCwgMCwgOTgzMDc2LCA1MzIxLCAwLCAxOTQ3OTgsIDAsIDI1ODksIAotICAgIDc0MzMyLCAxNjg5LCA3ODAyLCA0NjgzLCA3NDMxOCwgNDI3MDQsIDEyMDI5NiwgMTE5MDUsIDAsIDAsIDEyODUxNiwgCi0gICAgMTI4MTYzLCA3NDUxMywgNjA0OSwgMCwgNDAyNywgODM0LCAxMTg5NjIsIDE4MDMsIDAsIDE1MDMsIDAsIDAsIDcxMzEyLCAKLSAgICA1NzMxLCAxMzgxLCAyMzg3LCAwLCAwLCA4Mjg5LCA2NDUyNSwgNjU4MTcsIDI4ODEsIDQzMTQyLCAwLCA5NjAxLCAyODc5LCAKLSAgICA5NjY4LCA5NzY2LCAwLCA1NzI5LCA5MTc4MzMsIDc0NDEwLCA2MDM2LCA2NDg4MSwgNDAyNiwgOTM2MSwgMTI3MDkxLCAKLSAgICAyODg3LCAwLCAzNTI2LCA2Mjk4LCAwLCA3Nzg5NywgMTIwMDk1LCA3ODUxOSwgMCwgODU3MiwgNjAyMSwgNzc4OTYsIAotICAgIDEyODI4OCwgNzc4OTUsIDQzMTU1LCAwLCAxMTk4NDksIDMxNDYsIDEwOTU5LCA5NDgzLCAwLCA3Nzg5MywgMTA5ODEsIDE2NiwgCi0gICAgOTE3ODQxLCA4NjM1LCA5ODM2MDYsIDEwNjIzLCA0MDgsIDExOTA1OCwgMTI3NTA3LCAxMzI5OCwgMCwgNzQyNiwgNDE2NDEsIAotICAgIDEyNzE3LCAwLCA3NjA3LCAxMDYzOSwgNDMzOTYsIDAsIDAsIDQxNjQzLCA3NDEzNCwgOTgzMDU0LCA4NzEzLCA0MTY0MCwgCi0gICAgMTAyMjEsIDQxNjQ1LCA2NjcxMiwgNjY0NSwgNjQ2LCA2NjcyNiwgNjY3MTEsIDQyMTI5LCA5Mzk5NCwgNzc5MDEsIDM0NzIsIAotICAgIDg2OTcsIDAsIDAsIDk4MzgxNSwgMCwgMCwgMCwgNTgwOSwgMTk1MCwgMTE5MzU2LCA5MjQzMiwgNzQ1NzIsIDAsIDQyMTM2LCAKLSAgICAwLCAwLCAwLCAwLCAzMjQ3LCAxMTk4NTQsIDY1MDE3LCA5ODM5NTMsIDY4NDI4LCA2NjY2OCwgMCwgMCwgMTA5ODMsIDAsIDAsIAotICAgIDAsIDQxNTY3LCAwLCAwLCAwLCAxOTQ2MjQsIDExOTg1MywgMCwgMCwgODI4NSwgMCwgNDUwOSwgMCwgNjY0NzEsIDEyMjE2LCAKLSAgICAwLCA0MDk4OCwgOTI1OTIsIDc0ODA5LCA0MTcyNywgMCwgNDI4NDgsIDIzOTYsIDkxNzc2NiwgMCwgNzQwMTgsIDkxNzUzOCwgCi0gICAgNjQ5NDAsIDcwMjcsIDM4ODYsIDAsIDQyNDU3LCAxMTkwMDgsIDAsIDk5NiwgNjgxMjMsIDk0MDU4LCA0MjQ5LCAwLCAKLSAgICA5MTc1OTQsIDExNzA3LCA4MjIyLCAwLCA3OTM5LCA5MjQ1NCwgOTI0NjAsIDEyNzgwMSwgOTE3NTkyLCAxMjgzNTksIDg1MzQsIAotICAgIDEyNzE1NCwgNDA5ODMsIDAsIDk4MzI0MCwgMCwgNzIwMSwgMTI1NjEsIDAsIDQyMzcxLCAxMjU1OCwgMTU0MCwgOTE3NTQ5LCAKLSAgICAxMDA1MiwgNDA5ODIsIDAsIDAsIDE0ODgsIDAsIDAsIDAsIDkxNzU1OSwgMCwgMCwgMTU2MywgMTI4MDM0LCA5NjE5LCAKLSAgICA5ODM5NDAsIDAsIDAsIDEyNzg3MiwgNzEzNjMsIDU4MDMsIDc3OTcsIDYwNzAsIDEwMDA2LCAwLCAyOTIyLCA2MDgyLCAwLCAKLSAgICA2NTAwOSwgOTgzOTQyLCAxMjU2NywgMTI4NzAzLCAwLCA0MTQxMiwgMCwgMCwgMzYwNywgOTIwMCwgMTAwNDYsIDk2MTIsIAotICAgIDQyMTUzLCA4MjE4LCA5NDg1LCAwLCAyMDMyLCA3ODM1NCwgMCwgMCwgMCwgMCwgMCwgNDMwODUsIDYwNTcsIDUwOCwgCi0gICAgOTM5NjgsIDEyODAxNSwgNjc5NjgsIDAsIDkyNDA1LCAwLCAwLCA2MzgsIDYwODMsIDExOTA3MiwgMCwgMCwgMjMwNSwgCi0gICAgNzgzNDgsIDY4MDk2LCAwLCA2MDU2LCA2NjU5LCA2Nzk2OSwgMCwgNjA4NSwgMCwgMCwgMzkxNSwgNDE2MzQsIDAsIDQxNjM5LCAKLSAgICA2MzkxMiwgMTE5NDEsIDAsIDQwMjgsIDE3ODcsIDQyMTgwLCA0MzA5NiwgNDM3NTMsIDMyNDksIDE3NjgsIDkzOTgyLCAKLSAgICAxMjMyOCwgNTAxLCA5Mzk4NSwgMTA2MDEsIDAsIDU4MywgMCwgNDE5NzcsIDAsIDY2MDA0LCAxMTkzNTAsIDY1MDUsIAotICAgIDc0MDEwLCAwLCAxMzA2NCwgNTUyNjcsIDEyMDgxMCwgNjUwMCwgNTUyNiwgNjUwNDksIDAsIDczNzY0LCAwLCA5MjM3NiwgCi0gICAgMTI3NDUsIDk2NzgsIDAsIDEyMDU4NywgOTg2OSwgMTI4ODE1LCAxNzcxLCAwLCA4OTM2LCAwLCAwLCA0MjA4LCA3ODM0MSwgCi0gICAgNzg1NjcsIDc4MzQyLCAwLCA5ODM0NTYsIDc0MTAxLCAwLCAxMTc2MiwgMCwgOTI0MjIsIDc3OTk3LCA2ODAxMCwgNjY0NzUsIAotICAgIDAsIDUwMjcsIDc4MTcyLCAxMjg4NzgsIDAsIDUwNjksIDczODYyLCA1MDI4LCA5ODk3LCAwLCA3MzczOSwgNTAyNiwgCisgICAgNDE1NTEsIDI0MzQsIDk0MDE4LCAxMjY2NDIsIDY1MzUzLCAwLCA0NjMxLCAxMTg5OTYsIDAsIDY0MDcsIDExMzczNywgCisgICAgNjMzOCwgNDMyMTQsIDAsIDc1NzAsIDAsIDMxOTIsIDAsIDg0MTQsIDk4MzM5MCwgOTM5ODMsIDAsIDAsIDAsIDkxNjQsIAorICAgIDY2NjEyLCA5Mzk1OSwgMzE3MSwgNjYyMywgNDk2MSwgNjgzOTYsIDg4NiwgNTUyMTYsIDg2NTQsIDc4ODMyLCA5OTkzLCAKKyAgICA3NDM5MCwgNjQ2MDMsIDcwMDY2LCA2OTI0MSwgOTU5OSwgNzg2MjksIDQzMDg0LCA3ODYyNywgNzg2MjgsIDc4NjI1LCAKKyAgICAyMzk5LCA2OTY5MywgODk5NCwgMTA5NDQsIDQxMjA4LCA5ODM3MTMsIDQxMTY4LCA4MTc4LCA3NDg1OSwgMzM2NywgOTIzMzQsIAorICAgIDQyNTEwLCA3ODY0MSwgNzg2MzYsIDY4MDQsIDcwNDc1LCAxOTQ3LCA5MTc1NzksIDAsIDkyNjgxLCA0Mjc1OSwgMTEwNjgsIAorICAgIDE3MDUsIDkzMzEsIDAsIDc0Nzk4LCA5MTgxLCA2NTM1OSwgMTI1MDY1LCA4MDE3LCAxMTk4MzEsIDY1MDk2LCA2NjcyMCwgCisgICAgNzE5MDYsIDQzNDc1LCAwLCA0OTA5LCAxMjEyNiwgMTI4NjczLCAxMjA2OTYsIDQ5MDQsIDk4MzMzMywgNDM1MDMsIDEzNjUsIAorICAgIDkyNTMsIDQyNzU3LCA0MzQzNiwgNzQ2MiwgMTI3NzcyLCAwLCAwLCAwLCA2Njg0NSwgNjQ0MTUsIDEyMDUwMCwgMTI4ODY5LCAKKyAgICA1Mzk4LCAxMjUwMzUsIDEyNzM4NiwgOTM5NTMsIDEyNzM2MiwgOTgzNzgyLCAxMTkwMTUsIDAsIDEyODA4MywgOTQ3NiwgMCwgCisgICAgMTIwNjk1LCAxMjc2MywgMTI2NjAzLCAzNjI5LCAxMjY2MjYsIDEzMDA1LCAxMTE4MSwgMzYyOCwgMCwgMCwgOTI1MDIsIAorICAgIDM0NjksIDQyMTA3LCA0MjExNiwgOTE3NTc4LCA2NDgwOSwgMjkyOCwgNDkwNSwgOTg1MywgODUxLCA5MDQwLCAwLCA2NDY2NSwgCisgICAgNDMwODYsIDkxMTQsIDQzODcwLCA0MjU4MywgOTMxNSwgNDgyMiwgNDkwNiwgMzg1MiwgMjg0NywgMTE5ODIxLCAzMjM2LCAKKyAgICAxMTMxNywgMTI1MSwgNzc3NywgNDE4NTIsIDExNDEwLCAxMDk2NCwgMCwgNDMyMjIsIDEyNjQ2LCAxMjAyNjksIDEwMjU5LCAKKyAgICA5ODY1LCA2NTgyMSwgMCwgNjAxOCwgNjgyOTMsIDkxNzkxNywgMTIyNzYsIDExOTExMCwgNjgzNzIsIDAsIDkyMjU5LCAKKyAgICA3MTg5MywgMCwgMTE5ODI4LCAxMDQ2NywgMCwgMjQ0MywgMTA5MTgsIDc4MjE3LCA3Nzk0NywgMTAwMSwgOTI0MSwgMTkyNywgCisgICAgMCwgMTI0OTQyLCA3Mzk4NywgMTI3ODg1LCA3MTg5NSwgOTMwMTIsIDc5OTIsIDc3OTQzLCA2NTY3OCwgMTI4NjcsIAorICAgIDEyODc4NywgODI2MCwgNzc5NDUsIDc1MTksIDExNTA1LCAxMjI3NCwgODkwNCwgNTE4LCA2NTg1NywgMTI4MzYxLCAKKyAgICAxMjg2NzQsIDEzMjA0LCA0Mzg3LCA4NTcsIDk4Mzg2NiwgNjUzNjksIDAsIDkyMzM2LCA0MzEyNSwgMTE4NDIsIDAsIAorICAgIDcxMDcyLCAwLCAwLCA1MTM2LCAxOTY4LCAxMjg5MDYsIDEyNjYyNywgMTMzNywgNjQ5NjcsIDE2MjksIDAsIDc5NiwgCisgICAgNjY1MDYsIDAsIDc0MTIzLCAxMjg3NywgMTIwNjQ5LCA0MjMxNCwgNDMzODgsIDQzODI2LCA3NDQwMywgNjEyMCwgNDc4LCAKKyAgICA2NTE1MSwgNjgxMjgsIDEyODE0NywgNDMwODIsIDYwMTYsIDAsIDQyMjg0LCA3MTg5NCwgNDI3NiwgMTIwNiwgMzYxOSwgCisgICAgNDE2MzgsIDY5NjkxLCAzODQzLCAxMjAxMSwgODg1MywgMzM2MSwgMCwgNDkwLCAxMDcxNSwgNzU3OCwgNjgzODQsIDkyNzU0LCAKKyAgICA2NTM1MCwgMTA1MzAsIDEyMzQ4LCA4NjUzLCA2ODI0NSwgNDI0MzUsIDYxNTQsIDk1NTEsIDY1MzU0LCA3ODUyMiwgNzg0LCAKKyAgICA0MjM5NywgMzM0LCAxOTQ2NzYsIDQyNDE2LCA2NTM1NiwgNjUyNzMsIDY3MjQzLCA2OTY2NiwgNDQ0MiwgMTAzNjQsIDAsIAorICAgIDc3OCwgNDE2MjYsIDQyNDU1LCA3OTg5LCA3NDA2MywgMzIyNywgNjk5MDcsIDEyNTExNiwgMTExMDIsIDI5MTUsIDExNTAyLCAKKyAgICA0MTAyMiwgNDE3MDIsIDEwMzA5LCAxMjcwMzUsIDc4MzIwLCAxMjAyNzMsIDY5NzUsIDAsIDU0MTUsIDEyMTc2LCAwLCAKKyAgICA3NDE5MywgMzQ2MiwgNjUyMTUsIDQyNjI5LCA3ODY5MSwgNzExNzUsIDAsIDEyNzI1NiwgOTc1OSwgMTI3MjU1LCA3MDA1NywgCisgICAgMTI3MjU0LCA4MTE0LCA3ODY5OCwgNzg2OTcsIDc4Njk2LCA3ODY5NSwgODcxMCwgNDI0OTUsIDExODk1NiwgNzAxODksIAorICAgIDQwNTEsIDEwNDYwLCA0MzM2NCwgNzEyMDYsIDEzNTYsIDEyMTYxLCA0MjcxMywgMTI4ODU3LCAxMjcyNjgsIDE2MTksIAorICAgIDk3MDMsIDQzMTUyLCA0MjQ4OSwgNDIxMTIsIDY2ODk2LCAxODc1LCAxMDgwOCwgNDIxMDksIDEyMDI4NCwgNDE4NjAsIAorICAgIDY0ODYyLCAxMzMwNSwgNjQ5MDcsIDUyODksIDEzMTQ0LCAxMjg2NTgsIDk4MzIyNCwgNTU3NSwgOTY3NSwgMTk1MDE4LCAKKyAgICA1OTQwLCAyMjYsIDI2NDksIDYzMzYsIDk4MzI3NywgOTI5NzksIDQzMjM2LCAzMzgyLCA0MjQ0OSwgNjQ5OCwgMTY1OCwgCisgICAgMTE5MzYsIDc4MjMyLCAxMTM4MTQsIDExMjY5LCAxMDE1MSwgNzM3NTksIDQzMTAwLCA2OTg4OCwgNjU1MDgsIDAsIDAsIDAsIAorICAgIDg5MzUsIDc4MjM0LCAwLCA5ODM3NTcsIDAsIDYxNiwgNzQ3NTMsIDY1MTc4LCA0Njg0LCA3ODcwMSwgMTE5NjUzLCA3NDYzMSwgCisgICAgMTI2NTUxLCAwLCA2MDQ4LCA3NDQ2MCwgNDIxMTAsIDczOTY1LCAxMDg3MCwgODU1NywgMTEwNTQsIDY4NjY0LCAxMTkwNDksIAorICAgIDk2ODEsIDQ0NzUsIDY3NDI5LCA0MTE0MiwgMjEwMCwgMTI1MDI0LCAxMjA3MzEsIDYwMzUsIDczNzk2LCA3NjUxLCA2ODQ2LCAKKyAgICA2NDQ0MywgOTgzOTU3LCA5ODMyOTQsIDkxNzk4NywgMCwgMTE4OTY2LCA3NDE0NCwgNDA5OTcsIDY4NDg4LCAxMDM5MiwgCisgICAgMTAzMjgsIDQwOTk4LCA0MzQ2MiwgNzQ0ODgsIDcxMTgyLCA5ODAwLCA4OTc5LCAwLCAxMzMwNywgNDEwMDAsIDAsIAorICAgIDExOTIzOSwgNjQ4NywgMzM4NiwgMTI5MDk0LCAxMDM0NCwgMCwgNjUyOTksIDUzOTQsIDQzMjQ2LCA3ODI0MywgMTAyMjAsIAorICAgIDY2NTA1LCA0MTIwMCwgMTI4NTgyLCA0NDI1LCAwLCAwLCAwLCA0MzA3NCwgNzM3OTksIDEyOTA3NiwgNzgxNDcsIDAsIAorICAgIDEyMTczLCA3ODU0NSwgMCwgNjY4MjQsIDY1MzM4LCA5ODM2NzYsIDAsIDExOTU4MiwgNDQ3NCwgMTI4OTM2LCA0MzA5MywgCisgICAgMTI4NjQ0LCAxNTg3LCAwLCAxMjczNzIsIDY0NDc1LCAxMjgwOTgsIDEzNjksIDk4MzY3MiwgOTk1OSwgNzkyNywgMCwgCisgICAgNDU2MCwgMCwgMCwgOTIyNzcsIDk4MzYyMSwgNjQ5NDgsIDQ0MzAsIDc0MzQ3LCA0MjYwMSwgNDUxNCwgNjY0MzQsIDkzOTU1LCAKKyAgICA4MTk0LCA2NTQ2MiwgMTA2MjYsIDEwOTY1LCAwLCA4ODkzLCA5ODMzMDEsIDEyNTQyLCAwLCA2NTM0MSwgNjc3MDMsIAorICAgIDY1ODI5LCA3OTI1LCAxMTk4MjIsIDEwNDc1LCAxMTM4MjUsIDAsIDEzNTIsIDExMDY5LCA3NzA3LCAxMjc1NjAsIDEyNjQ4NiwgCisgICAgNjUyNzksIDEyNzEwMiwgNjgyMDcsIDEyNzEwMCwgNzA5OSwgNjA0MCwgNjc2ODEsIDEwMDcxLCA3ODU1NCwgOTMzNiwgCisgICAgNDM3NTAsIDEyODUwNywgODg5OSwgNzc5OCwgNjQ0NzQsIDY0MjU5LCA2OTg3MywgNjUxODgsIDc4MjAsIDQzMDE4LCAKKyAgICAxMjcwODIsIDEyODg5OCwgNzc0NiwgMTQ5MiwgNzg1NTEsIDEwODg0LCA3Nzk4MiwgNjY4NjYsIDUxMjcsIDExMjg1LCAKKyAgICA0MjUwMSwgNTQ5NSwgNDI3MywgNDMwOTUsIDQxNDI2LCAxMDg0OSwgNTczMCwgMjk5OSwgNjM0MiwgNjg2MzYsIDc0MzA0LCAKKyAgICAzNzEsIDY0MzczLCA2MDIzLCAxNjksIDU0OTcsIDExNzA4LCAwLCAxMjg2MDMsIDYzMjMsIDEyOTA2NSwgODIyNCwgCisgICAgMTI4NDE3LCA4OTM4LCA2MDQzLCAxMjczOCwgMTIwNjcxLCA5ODMwNzYsIDUzMjEsIDY4NjQ1LCAxOTQ3OTgsIDEyMDI1MSwgCisgICAgMjU4OSwgNzQzMzIsIDE2ODksIDc4MDIsIDQ2ODMsIDc0MzE4LCA0MjcwNCwgOTI5NDAsIDExOTA1LCAwLCAwLCAxMjg1MTYsIAorICAgIDEyODE2MywgNzQ1MTMsIDYwNDksIDAsIDQwMjcsIDgzNCwgMTE4OTYyLCAxODAzLCA5ODM4MjIsIDE1MDMsIDAsIDAsIAorICAgIDcxMzEyLCA1NzMxLCAxMzgxLCAyMzg3LCAxMjY2MTAsIDcwODA4LCA4Mjg5LCA2NDUyNSwgNjU4MTcsIDI4ODEsIDQzMTQyLCAKKyAgICAwLCA5NjAxLCAyODc5LCA5NjY4LCA5NzY2LCAwLCA1NzI5LCAxMjkxMTAsIDcxMjMwLCA2MDM2LCA2NDg4MSwgNDAyNiwgCisgICAgOTM2MSwgMTI3MDkxLCAyODg3LCA3MDM4OSwgMzUyNiwgNjI5OCwgMTE5ODUxLCA3Nzg5NywgMTIwMDk1LCA3ODUxOSwgCisgICAgMTE4OTY0LCA4NTcyLCA2MDIxLCA3Nzg5NiwgMTI4Mjg4LCA3MTE3NCwgNDMxNTUsIDAsIDcxMTk3LCAzMTQ2LCAxMDk1OSwgCisgICAgOTQ4MywgMCwgNzc4OTMsIDEwOTgxLCAxNjYsIDkxNzg0MSwgODYzNSwgOTE3ODQwLCAxMDYyMywgNDA4LCAxMTkwNTgsIAorICAgIDEyNzUwNywgMTMyOTgsIDAsIDc0MjYsIDQxNjQxLCAxMjcxNywgMCwgNzYwNywgMTA2MzksIDQzMzk2LCAwLCAxMTkwODksIAorICAgIDQxNjQzLCA3NDEzNCwgOTgzMDU0LCA4NzEzLCA0MTY0MCwgMTAyMjEsIDQxNjQ1LCA2NjI5MywgNjY0NSwgNjQ2LCA2NjcyNiwgCisgICAgNjY3MTEsIDQyMTI5LCA2ODI1NSwgNzc5MDEsIDM0NzIsIDg2OTcsIDAsIDAsIDk4MzgxNSwgMCwgMTk0NTk5LCAwLCA1ODA5LCAKKyAgICAxOTUwLCAxMTkzNTYsIDkyNDMyLCA2ODMzOSwgMCwgNDIxMzYsIDAsIDAsIDAsIDAsIDMyNDcsIDkyNDAyLCA2NTAxNywgCisgICAgMTI4Nzk0LCA2ODQyOCwgNjY2NjgsIDAsIDAsIDEwOTgzLCAwLCAwLCAwLCA0MTU2NywgMCwgMCwgMCwgNzg0NDYsIAorICAgIDExOTg1MywgMTI3OTIyLCAwLCA4Mjg1LCAwLCA0NTA5LCA5MTc4MDIsIDY2NDcxLCAxMjIxNiwgMCwgNDA5ODgsIDkyNTkyLCAKKyAgICA3NDgwOSwgNDE3MjcsIDAsIDQyODQ4LCAyMzk2LCAxMjkwNzgsIDAsIDc0MDE4LCA5MTc1MzgsIDY0OTQwLCA3MDI3LCAKKyAgICAzODg2LCAwLCA0MjQ1NywgOTI4ODgsIDExOTgzNCwgOTk2LCA2ODEyMywgOTQwNTgsIDQyNDksIDkyNDEwLCA2OTY1MCwgCisgICAgMTE3MDcsIDgyMjIsIDczODI1LCA3OTM5LCA3MTIxMywgOTI0NjAsIDEyNzgwMSwgOTE3NTkyLCAxMjgzNTksIDg1MzQsIAorICAgIDY5ODUzLCA0MDk4MywgMCwgOTgzMjQwLCAwLCA3MjAxLCAxMjU2MSwgMCwgNDIzNzEsIDEyNTU4LCAxNTQwLCA5MTc1NDksIAorICAgIDEwMDUyLCA0MDk4MiwgMCwgMCwgMTQ4OCwgNzExNzcsIDAsIDE5NDgzMSwgOTE3NTU5LCAxMjg0MDEsIDAsIDE1NjMsIAorICAgIDEyODAzNCwgOTYxOSwgOTgzOTQwLCAwLCA5ODMwODIsIDEyNzg3MiwgNzEzNjMsIDM1NjAsIDc3OTcsIDYwNzAsIDEwMDA2LCAKKyAgICAxMjg5MjIsIDI5MjIsIDYwODIsIDcwMTQ3LCA2NTAwOSwgOTgzOTQyLCAxMjU2NywgNjY3MTIsIDAsIDQxNDEyLCAwLCAwLCAKKyAgICAzNjA3LCA5MjAwLCAxMDA0NiwgOTYxMiwgNDIxNTMsIDgyMTgsIDk0ODUsIDAsIDIwMzIsIDc4MzU0LCA5MTc5MDQsIAorICAgIDExOTEzMSwgMCwgMCwgMCwgNDMwODUsIDYwNTcsIDUwOCwgOTM5NjgsIDkyOTg5LCA2Nzk2OCwgMCwgOTIxOTgsIDAsIDAsIAorICAgIDYzOCwgNjA4MywgMTE5MDcyLCAxMjQ5NTAsIDAsIDIzMDUsIDc4MzQ4LCA2ODA5NiwgMCwgNjA1NiwgNjY1OSwgNjc5NjksIAorICAgIDk4MzI4OCwgNjA4NSwgMCwgMCwgMzkxNSwgNDE2MzQsIDAsIDQxNjM5LCA2MzkxMiwgMTE5NDEsIDk4Mzc4MywgNDAyOCwgCisgICAgMTc4NywgNDIxODAsIDQzMDk2LCA0Mzc1MywgMzI0OSwgMTc2OCwgOTM5ODIsIDEyMzI4LCA1MDEsIDkzOTg1LCAxMDYwMSwgCisgICAgMCwgNTgzLCAwLCA0MTk3NywgMCwgNjYwMDQsIDY2NDE2LCA2NTA1LCA3NDAxMCwgMCwgMTMwNjQsIDU1MjY3LCAxMTkxMTMsIAorICAgIDY1MDAsIDU1MjYsIDY1MDQ5LCAwLCAxMjk5MCwgMCwgOTIzNzYsIDEyNzQ1LCA5Njc4LCA5ODMxNDMsIDEyMDU4NywgOTg2OSwgCisgICAgMTI4ODE1LCAxNzcxLCAxMjg5NjUsIDg5MzYsIDkyOTY0LCAwLCA0MjA4LCA3ODM0MSwgNzg1NjcsIDc4MzQyLCA2Nzc0MiwgCisgICAgOTgzMjA4LCA3NDEwMSwgMTI4NjA1LCAxMTc2MiwgMCwgNzAwOTYsIDY4MzUsIDY4MDEwLCA2NjQ3NSwgMTIwMjYwLCA1MDI3LCAKKyAgICA3ODE3MiwgMTI4ODc4LCAxMTk4MzAsIDUwNjksIDczNzM2LCA1MDI4LCA5ODk3LCA5Mjc3NCwgNzM3MzksIDUwMjYsIAogICAgIDk4MzI1MywgNjg2MzksIDYzMzEsIDEwMDc5LCA4OTMxLCAwLCAxNDE1LCA4ODY2LCA0MTkwMSwgNzQ3OTAsIDc4MTM4LCAKLSAgICAxMTkzNjEsIDk4MzU2NCwgNDMxMDYsIDUwMjksIDY1MzA5LCAxNTgwLCAzNTk4LCA2ODQyNCwgNDEwNzAsIDc3OTAzLCAwLCAKLSAgICAzNDQwLCA3ODIxNSwgMTU2MiwgMTI4NjU2LCAxMjcxNzUsIDExOTM1OCwgMTcxNiwgOTgzNjc5LCAxMDYwMCwgOTE3ODY3LCAKLSAgICA2MjAsIDQxMDAxLCA2MDI4LCAwLCA0Mjg5MiwgMCwgNzQ4MjIsIDUwMjQsIDEyMDgyOSwgNDEwMDMsIDAsIDUwMjUsIAotICAgIDY5ODkyLCA5ODMyMDksIDAsIDExODg4NSwgMCwgNjU1NTcsIDAsIDc0NTQxLCA5ODM1ODcsIDExNTk5LCAxMjgyMDksIAotICAgIDExNjAyLCA2MjQzLCAxMTU3NCwgMTE1ODEsIDExNTk3LCAxMTU5OCwgNjI1MywgNjEwNSwgMTE1ODQsIDc0MTk1LCAxMTU2OSwgCi0gICAgNjUyNzUsIDg5MDYsIDEyNzA5NiwgNTc1NSwgMjYzNiwgOTgzMjI3LCAxMDgxNSwgMTE2MTksIDIzMDEsIDQxNTQwLCA3ODE1LCAKLSAgICAxMTYxNiwgNjk3OSwgMTIwODAsIDc3MjEsIDExNjA0LCA3ODY5LCAxNTkyLCAwLCA0MjE1MiwgNzg0OTgsIDQxMDQ4LCAKLSAgICA5MTc3NjMsIDgyOSwgMCwgOTI0MDYsIDE5OTUwLCAwLCAxMjY0ODIsIDY2MTYsIDAsIDExODg3NSwgMTA5NTMsIDM5MSwgMCwgCi0gICAgNjk3ODUsIDQ4MiwgNDIyOTYsIDExNTg4LCAwLCA0MzYwNiwgMCwgNjgzOTcsIDY2MzcwLCA3NDUwNiwgNDIzMzUsIAotICAgIDk4MzE4OCwgMCwgMCwgNzUzOCwgNTMxNSwgMTIwNjQ0LCA0MjQ5MSwgMCwgNDIwNjEsIDEyODA4OCwgNDU3NiwgMCwgCi0gICAgNjg0MTcsIDQzODA5LCA0Mjc3LCAwLCA0MDM5LCA2NDQ3MiwgNDIzMzgsIDM2OCwgNDIwNTgsIDM5NjAsIDExMDQzLCAKLSAgICAxMTMzNywgNzgyMDksIDkxNzgyMCwgNjM5ODksIDM5NTgsIDEyMTMyLCAxODQ5LCAwLCA5OTIxLCA0MjQ1MSwgNDI1MywgCi0gICAgNDExNDcsIDQyMDY0LCAxMTk1OSwgNDI0MDQsIDQxMTYwLCAwLCAzNjE4LCA3ODMzOCwgMCwgNDMzMDAsIDUxNTYsIDkyNjI5LCAKLSAgICAwLCA5MjksIDY4MjcsIDQyMDM1LCA0MjQzNywgMTU1NSwgMCwgODY5MSwgNjY0MzUsIDIyMTUsIDQxNjYyLCA5NDAxMCwgMCwgCi0gICAgMCwgMCwgOTM5NTIsIDQ1NzgsIDY0NTEzLCA0MTY2NCwgOTgzNzM0LCA0MjU3OCwgMTI4Nzk0LCA0MTY2MSwgNzg3MTUsIAotICAgIDQzMjY3LCA5MzU2LCAwLCAwLCAwLCAxMjg2LCAxMDE2NiwgMCwgMCwgNjQ3MDcsIDk4MzEyNywgNDI0NzYsIDc3MzAsIAotICAgIDk4Mzg1OSwgMTI4NTIyLCA0MjQ4MywgMCwgMCwgNDIzMjQsIDQyMjkxLCAxMDAyMCwgNDMzNTksIDAsIDY2NDEsIDUyNSwgCi0gICAgNDE2MjcsIDkxNzkyMywgODc2MywgMTI4MzA0LCA0MTYyOCwgNTMzLCAxMTkzMSwgNjUyMjUsIDgzMjEsIDQyNTA0LCAKLSAgICA0MjU4MSwgMCwgNjkxNSwgNDIzMTAsIDQzNzcsIDg1NTksIDAsIDc0MzYwLCAwLCAxMzE5MywgNjQzNTAsIDExNjY2LCAKLSAgICA4Njc5LCA0MTkyNCwgMTU3NiwgNzczNSwgOTIzOTgsIDAsIDczODQwLCA5ODMwOTIsIDExMzc0LCA3ODA0MywgMTA4ODksIAotICAgIDQzNDYxLCA3NzU3LCA0MjQ2MiwgMTIwMjI2LCAxMDAyOSwgNjY0OTMsIDI3MTgsIDQxNjgsIDczODQyLCAxMzMwOCwgCi0gICAgMTIwMTEyLCAwLCAxMTc5LCA0NDQwLCAwLCA3Nzk0OCwgMzYzLCAxMTAxNSwgNzc5NDcsIDc3OTQ0LCA2NDI5NiwgMTI3MDkwLCAKLSAgICA2NjY5MiwgMTIwODI2LCAwLCA2NjQ5MiwgNjU5MywgNjQ2MjUsIDQxOTYzLCA5MjE3NywgMTE5MzI5LCAwLCAxMDAxMywgCi0gICAgNjQ0MzQsIDkyNTIwLCAxMjcwOTUsIDk0OTIsIDExNzgyLCA2NDM4MiwgMTI4MzMsIDc3ODMwLCAwLCAxMjk3LCA0MTYzMCwgCi0gICAgNjMwLCAxMjcwOTQsIDAsIDEyMDc3NCwgOTI0NjUsIDEwNDMsIDQzNjUyLCA2NjIyMywgMTAwOTAsIDAsIDEyODY2NCwgMzEzLCAKLSAgICA5MTc1NjMsIDQxODgxLCAwLCA0MjMxMSwgNzQ0NSwgMCwgNTc1MCwgMTA3NTksIDk0MTksIDU1MjIyLCA5NDA1LCAxMTI2OCwgCi0gICAgNDI5MTksIDkzOTgsIDg1MjYsIDkzOTksIDk0MjIsIDAsIDY2NDk1LCAwLCAwLCAxMjcyMzksIDQxNzE4LCAxMDcwNywgCi0gICAgMTYwMywgMCwgMTE5MDAzLCAwLCA2MzEsIDc3OTUyLCA2OTcwMywgMTMxNjEsIDY1MjcyLCAwLCAxMDU0NiwgNzQyMTAsIAotICAgIDc4MTAxLCAxMTYwMCwgNzc5NjEsIDI3OTcsIDczODIxLCA0MjQyNywgMzA2LCA3MTQsIDMwNTgsIDQyMzgxLCA3Nzk2MiwgCi0gICAgMTI3MDgwLCAxMjM1MSwgNDIzOTUsIDAsIDExNjA3LCAwLCA0MjI4MiwgNzc5NzEsIDc3OTY3LCA5MTU3LCA3Mzc2NSwgCi0gICAgNjYzNjQsIDQyNDMzLCA3Nzk2NCwgNzYwMywgMTI4MDMsIDE4MCwgNDIxNDEsIDAsIDEyMDYxMiwgNjY0OTQsIDEyNjc0LCAKLSAgICA4MjQ0LCAzNjIsIDkyNDM5LCAwLCA4MDM3LCA0Mzc3NywgMTE1MzUsIDAsIDc0ODQ1LCA1MTg1LCA3MTY1LCA1NTIxLCAKLSAgICAxMDMzNCwgMjA5MywgNzEzMjksIDEwMzAyLCAxMjgxMTIsIDEwMTA0LCAxMDI3LCA1MTgxLCAwLCAwLCAxMDUyMywgMTQ0NiwgCi0gICAgNDIzMjAsIDQxNjQ2LCA5OTEsIDUxODksIDQyNDcyLCA0MTY0NywgMTIwMTA1LCAxNzIyLCA1NTgxLCA0Mjg5OCwgMzQwNSwgCi0gICAgMCwgMTk0NjQ0LCA1NTIzLCAwLCA0MjYyMCwgOTI0NDcsIDk4MzgxOSwgOTU0OSwgMCwgMTA1NDksIDU1MjgyLCA5NjYxLCAKLSAgICA0MzY4MiwgMCwgNzc5MTAsIDEyMDAyNiwgNzg3MDgsIDAsIDc3OTExLCAwLCA0MTk5MSwgOTgzODkzLCAwLCA3NjMwLCAKLSAgICA5ODQ2LCA3Njg0LCAxMDM1MCwgMCwgMTE3NCwgNzc5ODEsIDQyNzMzLCA3Nzk3OCwgNzc5ODAsIDY2NDg1LCA3Nzk3NywgCi0gICAgNDIyNzcsIDc3OTc0LCA0MjQ1NiwgNjU2NjcsIDEyNzAzNywgMTIzMzAsIDEyODI3MiwgMCwgNDI0MTcsIDQyMzgzLCAKLSAgICA2NjYzMCwgNDEzNDQsIDYyOTMsIDAsIDY2MjUyLCA3Nzk4NCwgNzQ0NDMsIDAsIDEwMjA5LCA4MzEzLCA0MTk1LCA3NDQzNSwgCi0gICAgMTMxNiwgNjY2OTAsIDEyMDAzMiwgNjMzMiwgNjQ4OTQsIDAsIDY1ODcxLCA3ODA2MCwgMTczNiwgOTgzNjg0LCAzOTAxLCAKLSAgICAxMjIyOCwgMTIwMTUxLCA2NTIwMCwgMzM4MywgMTA0NDYsIDc4ODQxLCA2OTMsIDkxMzAsIDMxNCwgNjQxNDksIDQyNDIwLCAKLSAgICAxMTk0OSwgOTgzNjY5LCAxMjAxNTIsIDExMDI2LCAxMjg3ODgsIDUzMzIsIDY5NDAsIDY0MTU0LCAxMjYzNSwgMTI3MDA3LCAKLSAgICA0MjcwNiwgMTc1MSwgMjczLCA4MTY1LCAxMzE2NiwgMTIwNzYzLCA3ODg0MCwgNzEzNjgsIDEyODI0LCAwLCA0NTI4LCAKLSAgICA1MzIwLCA2MzAxLCA0MzY2MiwgNjEzMywgOTMzOSwgOTQ2MywgNDIzNDYsIDEwOTIyLCA2NDU2MCwgMzc1NywgMCwgMCwgMCwgCi0gICAgNjU4NjksIDczNzYwLCAyNTY5LCAwLCAyMzI2LCA2NTc0MCwgMjU2NSwgNDI0NTksIDc1OTYsIDc5MjEsIDk4Mzg2OCwgCi0gICAgNzQwOTUsIDEyNzk4MSwgNDE4NDgsIDI1NjcsIDY2MDA2LCAwLCA0MDQ0LCA5MjY0NiwgMCwgMTIyMzMsIDk4Mzg3MSwgCi0gICAgMTAyMywgNDc0LCAwLCAxMTk4MTgsIDAsIDAsIDQyNDg3LCA2NTU1NiwgMCwgMTI3ODY2LCA0MjI5NSwgMCwgMCwgNzEzMjIsIAotICAgIDkyNTE4LCA5ODM1LCA2NjQ5OSwgMCwgNTQxNywgMTIyNzUsIDEwODk1LCAwLCAyNzQsIDAsIDE4NTgsIDAsIDAsIDU1MjUxLCAKLSAgICAxMDExOCwgMzEzMywgMTI4MDA4LCA3Mzc5NSwgMCwgOTYxMCwgODA2OCwgODE5NywgMCwgNjk5LCAwLCA0MTY2NSwgNTg2OCwgCi0gICAgMCwgOTI2OTUsIDQyMTgyLCA3NTgxLCAxOTk0MCwgNDM2NjgsIDQxNjY3LCAxMjgwNTcsIDAsIDE5MjMsIDY1NTgzLCAKLSAgICA2NTgwMiwgOTM5NzAsIDY0NTk3LCA0MzQ0NCwgMTE5MTg0LCA5MjE5NywgMCwgNjQ2NCwgNzAzNiwgMjk5NiwgMTkzNywgCi0gICAgOTgzNzUxLCAwLCA0MTgzNSwgNDA0NywgNDE4NDIsIDAsIDY0MTA3LCAwLCAwLCAxMTAxNywgMTIwNjAxLCAwLCAyOTMsIAotICAgIDc3OTY2LCA5MjE2OSwgNjQ3OTEsIDQxODI3LCA0MjQ2NiwgNDM0MjIsIDEwNTc5LCA4NTYwLCA3MTM1MCwgNjU0MTMsIAotICAgIDc3OTYzLCA0ODAzLCAxMjk2NCwgMTczOSwgMTk0MSwgMzkwMCwgMCwgMTcxMywgNzc5NjksIDAsIDczOTU3LCAxMTQwNywgCi0gICAgNDI0NDEsIDQxOTcxLCA2Mjk3LCAxMjAwOTgsIDY0MTA1LCAxMjgwODAsIDQyNDgxLCAxMTcxNiwgNjY0NzMsIDcxNzksIAotICAgIDQyMjg5LCAwLCA2NDEwMywgOTY5LCAwLCA5MzUyLCAwLCA2MTY1LCA2NDEwMCwgMCwgNjYzMiwgNzM4NjEsIDQyNDAyLCAKLSAgICA3NDMyNywgNzgwNiwgMCwgODkxNCwgMCwgMCwgMzE4MywgMTQzNSwgNjQ4NzYsIDI5NjksIDYwNDYsIDY0NDQxLCA2MjA4LCAKLSAgICA2Nzg0OSwgNTc0NiwgNzM3NDksIDAsIDY0NDE2LCA0MjQyMiwgMCwgOTgzMDQ2LCA3MDgyLCA3Mzc3NSwgMzM4LCA1MDU5LCAKLSAgICAxOTQ3MTksIDAsIDQyMzI4LCAxMDc2NywgMCwgODExNSwgMCwgNzQ3NTgsIDAsIDgyMjcsIDIwNzMsIDEyMTgsIDkxNzc5MCwgCi0gICAgMCwgNjU4NDgsIDAsIDAsIDY5ODYzLCAwLCAxMjY5ODcsIDQ0ODYsIDAsIDAsIDAsIDEwOTI1LCAwLCAwLCAwLCA5ODM1ODYsIAotICAgIDQyMzA5LCAxMDI1NywgNjUxOTEsIDEwMjczLCAwLCAxMDMwNSwgNDI0NjEsIDAsIDQyMzQ5LCA4ODMyLCA3ODA1MSwgCi0gICAgNjQxMjcsIDEwNjQ0LCA0MjY2MiwgNzg4MjgsIDQyMjc4LCA3NDQ1MSwgMTI2OTg4LCA2OTg3NCwgNzc5NCwgMCwgNDI0MjksIAotICAgIDYzNzcsIDQyMzE2LCAxMTkwMjYsIDM2NjksIDM5NjgsIDQyNDY4LCA3MTMxOSwgNjk2NTgsIDAsIDY1NDAyLCAxMTk1ODEsIAotICAgIDAsIDAsIDY0OTMzLCAwLCA0MTk2MCwgNjY5OSwgMCwgMCwgMTI4MzU0LCA2ODIzLCA0MjM5MSwgMTU4OCwgNjU0MDAsIAotICAgIDg0MDksIDc4MjIzLCAxOTk2NywgNjUzOTgsIDc4NywgNzEzMTUsIDkxNzkzOSwgMTI3NzQ0LCA2MTE1LCAyMDc4LCA0MTY1NCwgCi0gICAgNDI0ODAsIDAsIDkyNjUwLCA0MTY1NSwgNjU0MDEsIDQzOTc1LCAwLCAwLCAwLCA2NDQsIDY1NTAwLCA0MTY1NywgMTA3NzgsIAotICAgIDM2NTksIDk1MzMsIDE4NCwgMTU1MywgMTMxMDcsIDY1NDg0LCA2OTY0OCwgMTA1MDIsIDc0NDU3LCAwLCAwLCA0MTU1NCwgMCwgCi0gICAgODIyMCwgOTE3OTQzLCA0MTU1NywgMCwgMCwgMTEwNzAsIDExOTIyMSwgNTE1NywgNDAyMCwgNzM4NTgsIDQxNTU1LCA5NTE0LCAKLSAgICA2NDgxOCwgNjUxMDMsIDY0NjQxLCA2NDMwMywgNzgxMzEsIDc1MjAsIDAsIDc0Mzc3LCAxMTAyOSwgNjY2NTEsIDk4MzA2OCwgCi0gICAgMCwgMTE4OTMwLCA2NDUyNywgMCwgNzg3NywgNzM4MDMsIDk4Mzc5OCwgMTI3MzQ4LCAxMjAwOTYsIDc0NjAyLCA5OTU1LCAKKyAgICAxMTkzNjEsIDk4MzU2NCwgNDMxMDYsIDUwMjksIDY1MzA5LCAxNTgwLCAzNTk4LCA2ODQyNCwgNDEwNzAsIDc3OTAzLCAKKyAgICA3NjU4LCAzNDQwLCA3ODIxNSwgMTU2MiwgMTI4NjU2LCAxMjcxNzUsIDExOTM1OCwgMTcxNiwgOTgzNjc5LCAxMDYwMCwgCisgICAgOTE3ODY3LCA2MjAsIDQxMDAxLCA2MDI4LCAwLCA0Mjg5MiwgMCwgNzQ4MjIsIDUwMjQsIDEyMDgyOSwgNDEwMDMsIDY4MTM3LCAKKyAgICA1MDI1LCA2OTg5MiwgOTgzMjA5LCAwLCAxMTg4ODUsIDEyNzk1NiwgNjU1NTcsIDAsIDc0NTQxLCAxMjg5MjQsIDExNTk5LCAKKyAgICAxMjgyMDksIDExNjAyLCA2MjQzLCAxMTU3NCwgMTE1ODEsIDExNTk3LCAxMTU5OCwgNjI1MywgNjEwNSwgMTE1ODQsIAorICAgIDc0MTk1LCAxMTU2OSwgNjUyNzUsIDg5MDYsIDEyNzA5NiwgNTc1NSwgMjYzNiwgNzEyMDMsIDEwODE1LCAxMTYxOSwgMjMwMSwgCisgICAgNDE1NDAsIDc4MTUsIDExNjE2LCA2OTc5LCAxMjA4MCwgNzcyMSwgMTE2MDQsIDc4NjksIDE1OTIsIDAsIDQyMTUyLCAKKyAgICA3ODQ5OCwgNDEwNDgsIDkxNzc2MywgODI5LCAwLCA5MjQwNiwgMTk5NTAsIDY2ODg2LCAxMjY0ODIsIDY2MTYsIDAsIAorICAgIDExODg3NSwgMTA5NTMsIDM5MSwgMCwgNjk3ODUsIDQ4MiwgNDIyOTYsIDExNTg4LCAwLCA0MzYwNiwgNzExODUsIDY4Mzk3LCAKKyAgICA2NjM3MCwgNzQyODIsIDQyMzM1LCA5ODMxODgsIDcyNDIxLCA5ODM3OTksIDc1MzgsIDUzMTUsIDEyMDY0NCwgNDI0OTEsIAorICAgIDkyOTAxLCA0MjA2MSwgMTI4MDAyLCA0NTc2LCAwLCA2ODQxNywgNDM4MDksIDQyNzcsIDAsIDM1NjMsIDY0NDcyLCA0MjMzOCwgCisgICAgMzY4LCA0MjA1OCwgMzk2MCwgMTEwNDMsIDExMzM3LCA3ODIwOSwgOTE3ODIwLCA2Mzk4OSwgMzk1OCwgMTIxMzIsIDE4NDksIAorICAgIDAsIDk5MjEsIDQyNDUxLCA0MjUzLCA0MTE0NywgNDIwNjQsIDExOTU5LCA0MjQwNCwgNDExNjAsIDAsIDM2MTgsIDc4MzM4LCAKKyAgICAxOTQ5MjQsIDQzMzAwLCA1MTU2LCA5MjYyOSwgNzAzNTAsIDkyOSwgNjgyNywgNDIwMzUsIDQyNDM3LCAxNTU1LCAwLCAKKyAgICA4NjkxLCA2NjQzNSwgMjIxNSwgNDE2NjIsIDk0MDEwLCAwLCAwLCAxMjg4MjQsIDkzOTUyLCA0NTc4LCA2NDUxMywgNDE2NjQsIAorICAgIDk4MzczNCwgNDI1NzgsIDcxMDQ5LCA0MTY2MSwgNzgzNTEsIDQzMjY3LCA5MzU2LCAwLCAwLCAwLCAxMjg2LCAxMDE2NiwgCisgICAgOTgzMTE3LCAwLCA2NDcwNywgMTI4OTI1LCA0MjQ3NiwgNzczMCwgMTExNTYsIDEyODUyMiwgNDI0ODMsIDAsIDEyODQwNCwgCisgICAgNDIzMjQsIDQyMjkxLCAxMDAyMCwgNDMzNTksIDAsIDY2NDEsIDUyNSwgNDE2MjcsIDkxNzkyMywgODc2MywgMTI4MzA0LCAKKyAgICA0MTYyOCwgNTMzLCAxMTkzMSwgNjUyMjUsIDgzMjEsIDQyNTA0LCA0MjU4MSwgMCwgNjkxNSwgNDIzMTAsIDQzNzcsIDg1NTksIAorICAgIDEyODMyMSwgNzQzNjAsIDEyNTEwMCwgMTMxOTMsIDY0MzUwLCAxMTY2NiwgODY3OSwgNDE5MjQsIDE1NzYsIDc3MzUsIAorICAgIDkyMzk4LCAwLCA3Mzg0MCwgOTgzMDkyLCAxMTM3NCwgNzgwNDMsIDEwODg5LCA0MzQ2MSwgNzc1NywgNDI0NjIsIDEyMDIyNiwgCisgICAgMTAwMjksIDY2NDkzLCAyNzE4LCA0MTY4LCA3Mzg0MiwgMTMzMDgsIDEyMDExMiwgMCwgMTE3OSwgNDQ0MCwgMCwgNzc5NDgsIAorICAgIDM2MywgMTEwMTUsIDY2ODE3LCA3Nzk0NCwgNDM4NTcsIDEyNzA5MCwgNjY2OTIsIDEyMDgyNiwgMCwgNjY0OTIsIDY1OTMsIAorICAgIDY0NjI1LCA0MTk2MywgOTIxNzcsIDExOTMyOSwgMCwgMTAwMTMsIDY0NDM0LCA5MjUyMCwgMTI3MDk1LCA5NDkyLCAxMTc4MiwgCisgICAgNjQzODIsIDEyODMzLCA3NzgzMCwgMCwgMTI5NywgNDE2MzAsIDYzMCwgMTI3MDk0LCAwLCAxMjA3NzQsIDcwMTY1LCAxMDQzLCAKKyAgICA0MzY1MiwgNjYyMjMsIDEwMDkwLCAwLCAxMjQ5NDUsIDMxMywgMTI5MDMzLCA0MTg4MSwgMCwgNDIzMTEsIDc0NDUsIAorICAgIDExOTI0NCwgNTc1MCwgMTA3NTksIDk0MTksIDU1MjIyLCA5NDA1LCAxMTI2OCwgNDI5MTksIDkzOTgsIDg1MjYsIDkzOTksIAorICAgIDk0MjIsIDAsIDY2NDk1LCA2OTk5MCwgMCwgOTI5OTAsIDQxNzE4LCAxMDcwNywgMTYwMywgOTgzNzAzLCAxMTkwMDMsIDAsIAorICAgIDYzMSwgNzc5NTIsIDY5NzAzLCAxMzE2MSwgNjUyNzIsIDcxMDY3LCAxMDU0NiwgNzQyMTAsIDc4MTAxLCAxMTYwMCwgCisgICAgNzc5NjEsIDI3OTcsIDczODIxLCA0MjQyNywgMzA2LCA3MTQsIDMwNTgsIDQyMzgxLCA3Nzk2MiwgMTI3MDgwLCAxMjM1MSwgCisgICAgNDIzOTUsIDAsIDExNjA3LCAxMjc1MjgsIDExMTk4LCA2NjgyMSwgNzc5NjcsIDkxNTcsIDczNzY1LCA2NjM2NCwgNDI0MzMsIAorICAgIDc3OTY0LCA3NjAzLCAxMjgwMywgMTgwLCA0MjE0MSwgMCwgMTIwNjEyLCA2NjQ5NCwgMTI2NzQsIDgyNDQsIDM2MiwgCisgICAgOTI0MzksIDEyNTA5NiwgODAzNywgNDM3NzcsIDExNTM1LCAwLCA3NDg0NSwgNTE4NSwgNzE2NSwgNTUyMSwgMTAzMzQsIAorICAgIDIwOTMsIDcxMzI5LCAxMDMwMiwgMTI1MTMxLCAxMDEwNCwgMTAyNywgNTE4MSwgOTgzMTQ2LCAwLCAxMDUyMywgMTQ0NiwgCisgICAgNDIzMjAsIDY4NDUsIDk5MSwgNTE4OSwgNDI0NzIsIDQxNjQ3LCAxMjAxMDUsIDE3MjIsIDU1ODEsIDQyODk4LCAzNDA1LCAwLCAKKyAgICAxOTQ2NDQsIDU1MjMsIDAsIDQyNjIwLCA5MjQ0NywgMTI0OTg4LCA5NTQ5LCAwLCAxMDU0OSwgNTUyODIsIDk2NjEsIAorICAgIDQzNjgyLCAwLCA3NzkxMCwgNzgwNjgsIDY4MjQ3LCAwLCA3MTE4NCwgOTgzMDcwLCA0MTk5MSwgOTgzODkzLCAwLCA3NjMwLCAKKyAgICA5ODQ2LCA3Njg0LCAxMDM1MCwgMTI4NDUzLCAxMTc0LCA3Nzk4MSwgNDI3MzMsIDc3OTc4LCA3Nzk4MCwgNjY0ODUsIAorICAgIDc3OTc3LCA0MjI3NywgNzc5NzQsIDQyNDU2LCA2NTY2NywgNzQ0MzgsIDEyMzMwLCAxMjgyNzIsIDAsIDQyNDE3LCA0MjM4MywgCisgICAgNjY2MzAsIDQxMzQ0LCA2MjkzLCAwLCA2NjI1MiwgNzc5ODQsIDc0NDQzLCAxMjc4OTQsIDEwMjA5LCA4MzEzLCA0MTk1LCAKKyAgICA3NDQzNSwgMTMxNiwgNjY2OTAsIDEyMDAzMiwgNjMzMiwgNjQ4OTQsIDk4MzE1NiwgNjU4NzEsIDc4MDYwLCAxNzM2LCAKKyAgICA5ODM2ODQsIDM5MDEsIDEyMjI4LCAxMjAxNTEsIDY1MjAwLCAzMzgzLCAxMDQ0NiwgNzgyNDEsIDY5MywgOTEzMCwgMzE0LCAKKyAgICA2NDE0OSwgNDI0MjAsIDExOTQ5LCA5ODM2NjksIDEyMDE1MiwgMTEwMjYsIDEyMDUxNiwgNTMzMiwgNjk0MCwgNjQxNTQsIAorICAgIDEyNjM1LCAxMjQ5ODAsIDQyNzA2LCAxNzUxLCAyNzMsIDgxNjUsIDEzMTY2LCAxMjA3NjMsIDc4ODQwLCA3MTM2OCwgCisgICAgMTI4MjQsIDAsIDQ1MjgsIDUzMjAsIDYzMDEsIDQzNjYyLCA2MTMzLCA5MzM5LCA5NDYzLCA0MjM0NiwgMTA5MjIsIDY0NTYwLCAKKyAgICAzNzU3LCAwLCAwLCA3NDMwMiwgNjU4NjksIDczNzYwLCAyNTY5LCAwLCAyMzI2LCA2NTc0MCwgMjU2NSwgNDI0NTksIDc1OTYsIAorICAgIDc5MjEsIDk4Mzg2OCwgNzM4NjIsIDEyNzk4MSwgNDE4NDgsIDI1NjcsIDY2MDA2LCA5MjYyMiwgNDA0NCwgOTI2NDYsIDAsIAorICAgIDEyMjMzLCA5ODM4NzEsIDEwMjMsIDQ3NCwgMCwgMTE5ODE4LCAwLCAwLCA0MjQ4NywgNjU1NTYsIDAsIDEyNzg2NiwgCisgICAgNDIyOTUsIDAsIDEyNTExNCwgNzEzMjIsIDkyNTE4LCAyMjIyLCA2NjQ5OSwgMCwgNTQxNywgMTIyNzUsIDEwODk1LCAwLCAKKyAgICAyNzQsIDAsIDE4NTgsIDAsIDAsIDU1MjUxLCAxMDExOCwgMzEzMywgMTI4MDA4LCA3MTg1NywgMCwgOTYxMCwgODA2OCwgCisgICAgODE5NywgMCwgNjk5LCAwLCA0MTY2NSwgNTg2OCwgMTI4NzEwLCA5MjY5NSwgNDIxODIsIDc1ODEsIDE5OTQwLCA0MzY2OCwgCisgICAgNDE2NjcsIDEyODA1NywgMCwgMTkyMywgNjU1ODMsIDY1ODAyLCA5Mzk3MCwgNjQ1OTcsIDQzNDQ0LCAxMTkxODQsIDcxODU1LCAKKyAgICAwLCA2NDY0LCA3MDM2LCAyOTk2LCAxOTM3LCA5ODM3NTEsIDY4NDgxLCA0MTgzNSwgNDA0NywgNDE4NDIsIDAsIDY0MTA3LCAKKyAgICA3Nzk2NSwgOTgzNzQ2LCAxMTAxNywgMTIwNjAxLCAwLCAyOTMsIDc3OTY2LCA5MjE2OSwgNjQ3OTEsIDQxODI3LCA0MjQ2NiwgCisgICAgNDM0MjIsIDEwNTc5LCA4NTYwLCA3MTM1MCwgNjU0MTMsIDc3OTYzLCA0ODAzLCAxMjk2NCwgMTczOSwgMTk0MSwgMzkwMCwgCisgICAgMTI4OTY3LCAxNzEzLCA3Nzk2OSwgMCwgNzM5NTcsIDExNDA3LCA0MjQ0MSwgNDE5NzEsIDYyOTcsIDEyMDA5OCwgNjQxMDUsIAorICAgIDEyODA4MCwgNDI0ODEsIDExNzE2LCA2NjQ3MywgNzE3OSwgNDIyODksIDEyNTA5NSwgNjQxMDMsIDk2OSwgMCwgOTM1MiwgCisgICAgOTgzMTQ5LCA2MTY1LCA2NDEwMCwgMCwgNjYzMiwgNzM4NjEsIDQyNDAyLCA3NDMyNywgNzgwNiwgMCwgODkxNCwgNjY5MDgsIAorICAgIDEyNDk1NCwgMzE4MywgMTQzNSwgNjQ4NzYsIDI5NjksIDYwNDYsIDY0NDQxLCA2MjA4LCA2Nzg0OSwgNTc0NiwgNjY0MDgsIAorICAgIDAsIDY0NDE2LCA0MjQyMiwgMCwgOTgzMDQ2LCA3MDgyLCA3Mzc3NSwgMzM4LCA1MDU5LCAxOTQ3MTksIDEyOTE0NSwgCisgICAgNDIzMjgsIDEwNzY3LCAwLCA4MTE1LCAwLCA3NDc1OCwgMCwgODIyNywgMjA3MywgMTIxOCwgOTE3NzkwLCA5ODMyMzAsIAorICAgIDY1ODQ4LCA5Mjg4NCwgMCwgNjk4NjMsIDAsIDEyNjk4NywgNDQ4NiwgMTI4MDgyLCAwLCAwLCAxMDkyNSwgMCwgMTE5ODY4LCAKKyAgICAwLCAxMjQ5NTIsIDQyMzA5LCAxMDI1NywgNjUxOTEsIDEwMjczLCA3NjY4LCAxMDMwNSwgNDI0NjEsIDAsIDQyMzQ5LCAKKyAgICA4ODMyLCA3ODA1MSwgNjQxMjcsIDEwNjQ0LCA0MjY2MiwgNzg4MjgsIDQyMjc4LCA3NDQ1MSwgMTI2OTg4LCA2OTg3NCwgCisgICAgNzc5NCwgMTE5ODY3LCA0MjQyOSwgNjM3NywgNDIzMTYsIDExOTAyNiwgMzY2OSwgMzk2OCwgNDI0NjgsIDcxMzE5LCAKKyAgICA2OTY1OCwgMCwgNjU0MDIsIDExOTU4MSwgMCwgMTI4NzQ3LCA2NDkzMywgMTk0ODE1LCA0MTk2MCwgNjY5OSwgNDI5MDMsIAorICAgIDEyODc1NSwgMTI1MDEzLCA2ODIzLCA0MjM5MSwgMTU4OCwgNDM1MDIsIDg0MDksIDc4MjIzLCAxOTk2NywgNjUzOTgsIDc4NywgCisgICAgNzEzMTUsIDkxNzkzOSwgMTI3NzQ0LCA2MTE1LCAyMDc4LCA0MTY1NCwgNDI0ODAsIDAsIDkyNjUwLCA0MTY1NSwgNjU0MDEsIAorICAgIDQzOTc1LCA3MjQyNywgMCwgMTEzODE2LCA2NDQsIDY1NTAwLCA0MTY1NywgMTA3NzgsIDM2NTksIDk1MzMsIDE4NCwgMTU1MywgCisgICAgMTMxMDcsIDY1NDg0LCA2OTY0OCwgMTA1MDIsIDY2Mjk2LCAwLCAwLCA0MTU1NCwgMCwgODIyMCwgMTI5MDMxLCA0MTU1NywgCisgICAgMCwgMTI4OTM4LCAxMTA3MCwgMTE5MjIxLCA1MTU3LCA0MDIwLCA3Mzg1OCwgNDE1NTUsIDk1MTQsIDY0ODE4LCA2NTEwMywgCisgICAgNjQ2NDEsIDY0MzAzLCA3ODEzMSwgNzUyMCwgNzM4ODgsIDc0Mzc3LCAxMTAyOSwgNjY2NTEsIDk4MzA2OCwgMTI4NDkyLCAKKyAgICAxMTg5MzAsIDY0NTI3LCAwLCA3ODc3LCAxMjcyMywgOTgzNzk4LCAxMjczNDgsIDEyMDA5NiwgNzQ2MDIsIDk5NTUsIAogICAgIDExOTU1NywgNDA1NSwgNDI4MTcsIDAsIDY1MjEyLCAxMTcxNSwgMTIxOTAsIDEyMzE5LCA3ODYzMCwgMCwgNzg2MzEsIAotICAgIDk1MDIsIDY1NDI3LCAwLCA2NTQyNCwgMTI2MDcsIDAsIDk3MzQsIDY1NDI1LCAwLCAwLCAxMjczNTcsIDc4ODM1LCA5MjQxMCwgCi0gICAgMTAxMTIsIDEwODI3LCAwLCA5ODY2LCA3NDUyNywgNjY2NzUsIDAsIDg2MjUsIDY0MzQ2LCAxMTI5MCwgMTA0NzcsIDAsIAotICAgIDg2MzYsIDk4MzkyNywgODMxNSwgNjU0NDQsIDk4Mzc5MywgMCwgNzQ1OTUsIDYxNTIsIDAsIDAsIDY2MjksIDEyNzEwOCwgCi0gICAgMTIwMTcxLCAwLCA3NDU4OSwgNDM5OTMsIDAsIDY5NzkwLCA2NDQzNSwgMCwgNDM2OTAsIDExMDQ2LCAxMTQ5MCwgNDI3MzAsIAotICAgIDQ0ODUsIDEyNzEwNywgMCwgNjQ5MjYsIDAsIDAsIDAsIDU4NjksIDEyNDM3LCA0MjcyOCwgMCwgNzA0MCwgMzU4OCwgMCwgCi0gICAgMTI4MjUsIDAsIDAsIDEyNzI1LCAwLCAxMjcxMDYsIDc4NjQyLCAyMjMsIDAsIDY5Njc1LCAxMjAxNjYsIDQyNDQ0LCAwLCAKLSAgICA2NDQ5OSwgNjUyNDUsIDAsIDExNzEsIDAsIDY5NzE3LCAwLCAxODA1LCA4NzcyLCA0MzgyMCwgMCwgOTkzMCwgNjUyNDcsIAotICAgIDc4NjE5LCAxMjAxMTEsIDIzMzgsIDAsIDExODg1MywgMCwgNDI2NzYsIDAsIDY0ODAwLCA2NTIzNiwgNjc2NDQsIDY4MTI2LCAKLSAgICAxMjEzLCAwLCA2NDA3NSwgNzk3LCA2NDA3NCwgODczNCwgNDIxMiwgMTI3MzY5LCA2NDM4NywgNDExNSwgMCwgNTAwNSwgCi0gICAgNjQwNzAsIDY0MDczLCAxMDY3OSwgMCwgNzc5NTQsIDk0MDIsIDY0Mjc2LCA0MjYsIDAsIDAsIDgyNTEsIDEwMTM2LCAKLSAgICA2NTQzNiwgMCwgMjEyMCwgNDMzMDIsIDEyMjQsIDAsIDY1NTc2LCA3NDE5MiwgMTA3MDEsIDE3NjQsIDMxMDEsIDEyNzgxNSwgCi0gICAgMTI4NTgsIDEyMDE1OSwgMCwgMTEzNzMsIDYzNzgsIDEyNzg1OSwgMTIwMTAzLCA4NjYzLCA5MzEyLCA0MTY0NCwgNDUzOSwgCi0gICAgMjEyOSwgMCwgOTIyMiwgOTgzNzM4LCAwLCA0MjU5LCA5MDkyLCA3NDU2NywgNDE5NjEsIDAsIDEyNzI0LCA2NjM1NywgCi0gICAgNDIzMzEsIDY0OTM1LCAwLCAwLCAxMjkzLCA3OTQ3LCAyMTMyLCA5ODM3NjcsIDc0NTkzLCAxMjAzMDgsIDI0NTQsIDQyNzE3LCAKLSAgICAzNjEzLCAxMjg4MzcsIDAsIDAsIDY1ODg4LCA4ODE2LCAxMDk3OCwgMTA4NDAsIDAsIDEwNjY4LCAwLCA0MzA4NywgMTI1OTUsIAotICAgIDEyMDMwNCwgOTgzMTE0LCA4ODIyLCAwLCAxMTU3LCA2NDkwMywgODYzOCwgMCwgMCwgMCwgMCwgNjk4NDgsIDgyMzUsIAotICAgIDEyMDMxNiwgNDQwNSwgMTAwODYsIDEyMDI0NywgMCwgNjkyMTYsIDAsIDY1NDMwLCA3MTMyMSwgNjA3OSwgNjgxNywgCi0gICAgMTA3NjQsIDEyNzkxMCwgNjQyOTEsIDEyODA1MSwgOTk4LCAxMjAzMTIsIDExMDYyLCAxMzE3LCA2NDMyNywgMTU1OCwgMCwgCi0gICAgMTk5MSwgNzg4MiwgNDIyNTQsIDAsIDQxNzAwLCA1MzAsIDAsIDEwNDI4LCAxMTkzMzUsIDEyMDAyLCAxMTkzMzYsIDU3NDIsIAotICAgIDQzMDc2LCA0NjkyLCA2NDYzMCwgNDE4MjMsIDQwMDcsIDUwMDQsIDExOTMzNCwgNzg5NiwgNzUxLCA2NTk1LCA2NTk2LCAKLSAgICAxMjAzMjUsIDY2MzczLCAwLCAwLCA2NDkwOCwgOTI2OTEsIDYzMTEsIDAsIDEyMDA0LCAxMTkxOTIsIDEyMDQ5LCA0MzEwOCwgCi0gICAgMTIwMzI2LCAwLCA0MTcwNSwgOTIxODgsIDY1OTgsIDAsIDY1OTksIDEyMDMzNCwgMCwgNDIxNDgsIDExODgyNSwgNjYwMjcsIAotICAgIDAsIDY1OTcsIDk0MTIsIDgzNDAsIDExODI0LCA2NDc0NSwgMjI4MSwgNjk5MDQsIDAsIDE5ODgsIDU0MDcsIDY3ODY1LCAKLSAgICAyNDMwLCA0MTY3OCwgMCwgMTIwMjQzLCAyMzM2LCA5ODM5MDMsIDAsIDc4ODcxLCAxMjA0NDIsIDk4Mzc2OSwgMTkyMSwgCi0gICAgMTA5NDcsIDE5OTI3LCAwLCA2NTQwNiwgMCwgMTk5MTMsIDQyODQsIDEzMjE3LCAwLCA0Mzc4OSwgMTI4NDEsIDkyMjksIAotICAgIDEwOTU2LCA0MjI4NSwgNDE2NzQsIDE5OTY0LCA0MTY3OSwgNjUwODQsIDM1MjEsIDAsIDU3NzQsIDgzMjUsIDAsIDY1NDAzLCAKLSAgICA5ODMwODksIDE4NTQsIDEwNzk0LCAwLCA2NzY2MCwgNjk4NDYsIDAsIDc4MzU5LCA1MjgwLCAwLCA0MzQ0LCAxMjkwNSwgCi0gICAgNjU0MzMsIDYwNzYsIDY0NzkzLCA0MTYxMCwgNzY4LCAxMjA3NCwgNDQyLCAwLCA2ODE2MiwgNjQwODEsIDEyOTM0LCAKLSAgICA0MTY4MiwgNjU0MzIsIDQxNjkzLCAwLCA2MDcxLCA2NTQzNCwgMTI3NDY3LCA0ODA0LCA0MDUzLCAwLCAxMjc0NjksIAotICAgIDE5NDY1MywgNDE2OTYsIDQ2NywgNjk4MjMsIDEyNzQ2MywgNjk3OTcsIDE5NDY1MiwgMTI3NDczLCA4NDIxLCAxMjc0NzIsIAotICAgIDY5NjgyLCA0MzcwNSwgNTAyLCAwLCA2NTQzMSwgMTE5MDU2LCA2OTk1NCwgMTIwNDMsIDEzMDMsIDMxNiwgNzM2NCwgMjAyOSwgCi0gICAgMjEzNiwgMTE5MjQ2LCAxMTUzMywgNjQzNjUsIDQzNDgwLCA5MjYzOSwgNDg2MCwgMTI2NjQ4LCAxMjc4NzcsIDQyNDg4LCAwLCAKLSAgICA5NTgzLCAxMjg4NDksIDU1NDYsIDgwMTksIDczODU2LCAwLCAwLCAwLCA1NTQ0LCAyMzU1LCAxMjE1MCwgNjU3MjUsIDU1NDMsIAotICAgIDc3OTg5LCA2Mzc1MSwgMTIxMzcsIDU1NDgsIDc3OTg1LCAwLCA2NTcyNywgNjgzODgsIDY1NzI2LCA2MDc3LCAxMjgzNTIsIAotICAgIDY1NDUyLCAwLCAxMTMwMSwgNzgwMTMsIDc4MDA4LCA3ODAxMCwgOTg3NCwgNzgwMDcsIDAsIDEzMTksIDMwNTAsIDY1NDEwLCAKLSAgICAwLCAwLCA3ODAxNiwgNzgwMTcsIDQyODMwLCA0Mzk5NiwgNjY3MTYsIDEyODEzNywgNDY5MSwgOTIyNDIsIDkzNDUsIDYyMSwgCi0gICAgOTI3MDksIDEyODIyMiwgMCwgNjU0MTEsIDAsIDQxMTgyLCA3Mzg4MSwgNjU0MDgsIDczODk5LCA3ODAyNCwgOTQ3NCwgCi0gICAgMTA1NDUsIDExOTExOCwgMTA4ODcsIDM3ODYsIDY1NDA5LCA4ODk0LCA0MzE3OSwgMTE5NjExLCA3OTIzLCAzNzE2LCAKLSAgICA5MjM2MywgOTk5NiwgODUwOCwgMCwgNzAxMiwgODE5NSwgMTI3ODM0LCA5NTY2LCAwLCAzNzIyLCAwLCA0MTcwNywgODQ5MywgCi0gICAgNTQ1LCA5NTc1LCA0MTM3OSwgMTAwNTAsIDEyNzE4LCA2OTg1NCwgODg1OSwgNjgyMCwgNzQzNDUsIDY1MTEwLCAxMjA3NDAsIAotICAgIDAsIDAsIDkxMTksIDI3ODcsIDc5MjAsIDExODgyMywgNDAyMSwgMjAxMiwgNzk4NSwgMCwgMTE5NjYzLCAwLCAwLCA3ODAyMSwgCi0gICAgNzgwMjIsIDQxMCwgNzgwMjAsIDE4MDIsIDc4MDE4LCA3NDEwNywgMCwgNDE2NTksIDQxNjcxLCAxODI3LCAwLCA2NDM5NiwgCi0gICAgMTAxMjYsIDEyMTE2LCA0MTY3MywgMTIwMzcwLCAxMTQyMiwgNzgxNDEsIDEyMDM3MywgMzg2MCwgMTIwMzY3LCA2ODQxMiwgCi0gICAgNDEzNDUsIDEyMDM2MiwgMTIwMzYzLCAxMTc0OCwgNDIxNTgsIDc5NDEsIDExMDc2LCA4NzQ5LCAxMjAzNjEsIDIxMDQsIAotICAgIDY0ODU4LCAzNjEsIDEyMDM1NywgODQ1LCAwLCA0MTU2MCwgMTE5NzAsIDQ1NjIsIDkxNzkyMCwgMjkyNiwgOTE3OTE5LCAKLSAgICA0NTY5LCA3NDEzMCwgMCwgNDM0ODcsIDE5NDYzMCwgNjExLCA3NDEyOSwgNjQ4NzEsIDExODg5MSwgNjU2MjksIDAsIAotICAgIDE5NDg1OCwgMCwgMCwgMTI3NTQ1LCAxMjA1NDMsIDAsIDAsIDYyOTEsIDAsIDc4NjM5LCA0MTY2OSwgNzA5NCwgOTE3OTIxLCAKLSAgICAwLCA5ODM1ODEsIDc0MDU0LCAxMjc3NTQsIDE5NTAyOSwgMCwgODM5LCA5ODMzMTksIDc2OTUsIDg3NjksIDY1MjQ2LCAKLSAgICA0ODI5LCAxOTQ2NjMsIDQ4NTksIDY0NDY3LCAwLCA5ODM5NjMsIDExODk5OCwgNzIwNiwgMCwgNjY0NywgNDM5ODYsIDAsIAotICAgIDY5NzY2LCAwLCA2NDc2NCwgNDIxMCwgOTgzODYzLCAxMjc5MzYsIDgwNCwgMCwgMCwgMTIyOTgsIDAsIDY2NjUzLCAwLCAKLSAgICA2NDkyNCwgMTAwOTEsIDczOTMxLCA5NDY4LCA3NDI0NSwgMCwgMCwgNzQyNDYsIDkyNTAzLCAxMjgzOSwgNjQ2NjksIAotICAgIDkyMjAyLCAwLCAxMjc5LCAxNDI1LCA2MjI0LCAxMTkyMjksIDExMDQ5LCAwLCA5MjY5NywgNDMyMzksIDg0ODIsIDkyNDQwLCAKLSAgICAwLCA1MDMyLCA2OTY3NywgMTE5NDAsIDY3ODg4LCA2NjQsIDEyMDQzNywgNTAzNCwgMCwgMCwgMTI3NTI1LCA0MjcwMiwgCi0gICAgNzM4ODgsIDk4MzE0OSwgMTMyOTQsIDY3ODczLCA2NDg2OSwgNjAzMiwgMCwgOTExNSwgNzQzMCwgMTIwMzc3LCAwLCAKLSAgICAxMjA4MTksIDY4Mzg3LCAxMjAxNjgsIDczOTEzLCAxMjAxNzAsIDQxMTYxLCA1NTE4LCA0MTc0LCAxMDk5MywgNDExNjIsIAotICAgIDEyMDE2MCwgNjQ1MjgsIDExNjksIDQzNCwgNDE0MzcsIDE5MDUsIDYwMzQsIDQxMTY0LCA2NDc0NCwgOTUyOCwgMTE4ODY3LCAKLSAgICAxMjg4MDAsIDUyNCwgMCwgNzQwMjksIDc4OCwgNzQwMjcsIDAsIDE5NDYzOCwgMCwgMTY2MywgMTA0MTksIDc0MDI1LCAKLSAgICA0MjYzNiwgMCwgNjk3MjUsIDAsIDEyMDY1NiwgMCwgNjc4NzYsIDAsIDAsIDAsIDY3ODk3LCA3NDAzOSwgMCwgMCwgMTEzOTUsIAotICAgIDAsIDExOTEwNywgNDM2MTIsIDY0MzQ0LCAwLCAwLCAxMDg1NSwgNTQ0NSwgOTM1NSwgMCwgNjUxOTgsIDczOTEsIDg5ODksIAotICAgIDIyMSwgNjU2ODYsIDAsIDAsIDgwMTAsIDcxOTEsIDQ5NjIsIDY5NzcyLCA4ODU1LCAwLCAwLCA2NDQ2OSwgMTIwNDI2LCAKLSAgICAxMDU1NSwgMCwgNDMzMzMsIDkyMjk5LCAwLCAxMjA0MjcsIDEwNDUxLCAwLCA2NzY1MywgNzI0NSwgMTI0NDMsIDc0NDA1LCAKLSAgICA5OTQ3LCAxMjAxNDksIDc4MzE3LCAzODczLCA4MzY3LCAwLCAxMjAxNDYsIDQzNDMzLCA0MzY0OSwgMTE5ODcsIDAsIDAsIAotICAgIDExMDEwLCAxMjcyMywgNzQwNTksIDc0MDYyLCA2MjE3LCA1ODk2LCAwLCA3NjgyLCA3NDA0OSwgMTQ2MiwgMTAyMzUsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDQyNTk1LCAwLCA3NDQwMiwgMTE4ODYwLCAwLCAxMjA0MTksIDkyNDk3LCA3NDA1MiwgMCwgCi0gICAgOTIzNzgsIDEyMDU0OSwgMTE5MDgyLCA2NDI5NSwgMTIwNDE4LCAwLCA2NDc2NSwgNzM5MjMsIDEyMDQxNywgMTIwNjYyLCAKLSAgICA2OTkyMCwgMTk0NzAyLCA2MjE2LCAwLCAxMDc1NSwgOTQ1NSwgMCwgODEyNCwgMTI3MDQyLCA5NDcwLCA2OTQ0LCAxMjc1NDAsIAotICAgIDAsIDY5NjgwLCAyODI4LCAwLCA1MzEsIDQyNjM4LCAwLCAwLCAwLCA0MzQyOCwgODIwNCwgMzYxNCwgMjgyNywgOTY5NiwgMCwgCi0gICAgMCwgODcyOCwgNDM1NCwgMTA5MDQsIDc4NTYyLCAxOTkzNiwgNzgzMywgMTIwNjkxLCAwLCA0MjU5OSwgNDI1OTcsIDQyNzA5LCAKLSAgICAxMjA0MDksIDEyNzA0NCwgMCwgODUzNywgMCwgMCwgOTM1NCwgOTgzMTY0LCAxMjg4MzMsIDQxMTk5LCAxMDEyMSwgMjAyOCwgCi0gICAgMCwgOTgzMTk0LCA2OTcxNSwgMCwgMzA2MiwgMCwgNzQ0NDcsIDEyNjA4LCAwLCA2NjQ0MCwgNzU0NSwgOTcwMCwgMTI1ODAsIAotICAgIDkyMjA1LCAxMjA3NzcsIDEyMDUwMiwgNDExNTUsIDAsIDc0MDcxLCAwLCA5ODM0NTcsIDEyNzEzLCAwLCAwLCAwLCA3ODc3MiwgCi0gICAgMCwgMTczNCwgMCwgMCwgMTI3MDQwLCA2NDU5NCwgMjQ1NiwgMjMxLCAwLCA3NDE2NywgNTQyLCAwLCAxMTg3ODYsIDAsIAotICAgIDk4Mzk3OSwgMTIzMCwgMCwgMCwgMzU5NywgNDQ0NiwgMTA1ODQsIDc0MjM1LCA5MjIxNSwgNDAzNywgMTI3OTM4LCA4MzUyLCAKLSAgICAwLCA1Njg3LCAwLCA2NDUxNSwgMCwgMTk0ODAxLCA1NTI2NSwgNjc4NDYsIDc4NDM0LCA5NzA0LCAwLCAwLCA3MDA4MCwgCi0gICAgNzEzMzgsIDAsIDg2NjAsIDEyNjQ5NSwgMCwgMCwgNzg3NzMsIDc0NDgyLCA0NDgzLCAxNzA5LCA2OTcyMSwgOTkwOSwgCi0gICAgNjA4MCwgMCwgMTIwMzU4LCAxNzQ2LCAxMzE1LCA4NjY3LCAwLCAwLCAxMzE0MCwgNjU4OTksIDEwNjA0LCAwLCA0NDgwLCAKLSAgICAxMTI2NiwgMTI4MTUyLCAxMjI2LCA2OTMwLCA2Nzk3OSwgOTgzNjkwLCA2MzYwLCAxMDg5NywgNDEyMzAsIDYwNSwgMCwgCi0gICAgNzQ3ODUsIDY5ODc1LCAwLCAwLCA0MTUwMCwgMCwgMzExLCAxMTQ1MywgNjIyMSwgMTA2MDgsIDY0OTQzLCA3NDI4MCwgCi0gICAgMTA4NzcsIDExODg2OCwgNjQ4ODUsIDc0MjcyLCAwLCAwLCAxMjg1NTksIDEyMDczNiwgNzQzMTIsIDM0NSwgMCwgNzQ0NTYsIAotICAgIDY0NjA2LCA5OTE3LCAwLCA5MjIzMSwgNTAzNywgMCwgMTc3NiwgODQyMiwgMCwgMTE4ODE0LCA0MTUwOCwgNDEyMDEsIDMyMywgCi0gICAgNDMzMjgsIDAsIDQyNjk4LCAxMjk1LCAxOTQ4NTMsIDQ2MjUsIDAsIDQ2MzAsIDEzMTE3LCAwLCAxMjg3NzIsIDY1MTIzLCAKKyAgICA5NTAyLCA2NTQyNywgMTI1MDQ4LCA2NTQyNCwgMTI2MDcsIDAsIDk3MzQsIDY1NDI1LCAwLCA5ODM4MDgsIDEyNzM1NywgCisgICAgNzg4MzUsIDc4ODM2LCAxMDExMiwgMTA4MjcsIDAsIDk4NjYsIDc0NTI3LCA2NjY3NSwgMTE4ODY3LCA4NjI1LCA2NDM0NiwgCisgICAgMTEyOTAsIDEwNDc3LCA2NzczOCwgODYzNiwgOTgzOTI3LCA4MzE1LCA2NTQ0NCwgOTgzNzkzLCAxOTUwMTEsIDc0NTk1LCAKKyAgICA2MTUyLCAwLCA3Mzk0NywgNjYyOSwgMTI1MDU2LCAxMjAxNzEsIDAsIDc0NTg5LCA0Mzk5MywgMTI4MzQ2LCA2OTc5MCwgCisgICAgNjQ0MzUsIDY0OTU1LCA0MzY5MCwgMTEwNDYsIDExNDkwLCA0MjczMCwgNDQ4NSwgMTI3MTA3LCAwLCA2NDkyNiwgMCwgMCwgCisgICAgNDM4MzAsIDU4NjksIDEyNDM3LCA0MjcyOCwgMCwgNzA0MCwgMzU4OCwgMCwgMTI4MjUsIDAsIDAsIDEyNzI1LCA3NDA5MiwgCisgICAgMTI3MTA2LCA3ODYzNCwgMjIzLCA3ODYzNSwgNjk2NzUsIDEyMDE2NiwgNDI0NDQsIDEyODQ0OSwgNjQ0OTksIDY1MjQ1LCAKKyAgICAxMjkxMDQsIDExNzEsIDEyODgwMiwgNjk3MTcsIDEyMDExMywgMTgwNSwgODc3MiwgNDM4MjAsIDAsIDk5MzAsIDY1MjQ3LCAKKyAgICA3ODYxOSwgMTIwMTExLCAyMzM4LCAwLCAxMTg4NTMsIDAsIDQyNjc2LCAwLCA2NDgwMCwgMTMwOTIsIDExMTg1LCA2ODEyNiwgCisgICAgMTIxMywgMTI4NDE5LCA2NDA3NSwgNzk3LCA2NDA3NCwgODczNCwgNDIxMiwgMTI3MzY5LCA2NDM4NywgNDExNSwgMCwgCisgICAgNTAwNSwgNjQwNzAsIDY0MDczLCAxMDY3OSwgMCwgNzc5NTQsIDk0MDIsIDY0Mjc2LCA0MjYsIDAsIDAsIDgyNTEsIDEwMTM2LCAKKyAgICA2NTQzNiwgMCwgMjEyMCwgNDMzMDIsIDEyMjQsIDAsIDY1NTc2LCA3MDc5NSwgMTA3MDEsIDE3NjQsIDMxMDEsIDEyNzgxNSwgCisgICAgMTI4NTgsIDEyMDE1OSwgMCwgMTEzNzMsIDYzNzgsIDcxMDkzLCAxMjAxMDMsIDg2NjMsIDkzMTIsIDQxNjQ0LCA0NTM5LCAKKyAgICAyMTI5LCA3MDc4NSwgOTIyMiwgOTgzNzM4LCAxMTg5MDcsIDQyNTksIDkwOTIsIDc0NTY3LCA0MTk2MSwgMCwgMTI3MjQsIAorICAgIDY2MzU3LCA0MjMzMSwgNjQ5MzUsIDAsIDAsIDEyOTMsIDc5NDcsIDIxMzIsIDk4Mzc2NywgNzE4NTgsIDcyNDQwLCAyNDU0LCAKKyAgICA0MjcxNywgMzYxMywgMTI4ODM3LCAwLCAwLCA2NTg4OCwgODgxNiwgMTA5NzgsIDEwODQwLCAwLCAxMDY2OCwgMTEzNzIzLCAKKyAgICA0MzA4NywgMTI1OTUsIDEyMDMwNCwgOTgzMTE0LCA4ODIyLCAwLCAxMTU3LCA2NDkwMywgODYzOCwgMTI3MjY1LCA5MTc4ODYsIAorICAgIDAsIDAsIDY5ODQ4LCA4MjM1LCAxMjAzMTYsIDQ0MDUsIDEwMDg2LCAxMjAyNDcsIDExMTI4LCA2OTIxNiwgMCwgNjU0MzAsIAorICAgIDcxMzIxLCA2MDc5LCA2ODE3LCAxMDc2NCwgMTIwMzE0LCA2NDI5MSwgMTIwMzE1LCA5OTgsIDEyMDMxMiwgMTEwNjIsIAorICAgIDEzMTcsIDY0MzI3LCAxNTU4LCA5ODM5MzQsIDE5OTEsIDc4ODIsIDQyMjU0LCAxMjg5NTQsIDQxNzAwLCA1MzAsIDAsIAorICAgIDEwNDI4LCAxMTkzMzUsIDEyMDAyLCAxMTkzMzYsIDU3NDIsIDQzMDc2LCA0NjkyLCA2NDYzMCwgNDE4MjMsIDQwMDcsIAorICAgIDUwMDQsIDc0MDMzLCA3ODk2LCA3NTEsIDY1OTUsIDY1OTYsIDEyMDMyNSwgNjYzNzMsIDk4MzI0NywgMCwgNjQ5MDgsIAorICAgIDkyNjkxLCA2MzExLCA5MzAxOSwgMTIwMDQsIDExOTE5MiwgMTIwNDksIDQzMTA4LCAxMjAzMjYsIDcxMDgzLCA0MTcwNSwgCisgICAgOTIxODgsIDY1OTgsIDAsIDY1OTksIDY2ODIyLCA5MzAzMSwgNDIxNDgsIDExODgyNSwgNjYwMjcsIDAsIDY1OTcsIDk0MTIsIAorICAgIDgzNDAsIDExODI0LCA2NDc0NSwgMjI4MSwgNjk5MDQsIDEyODQ5NSwgMTk4OCwgNTQwNywgNjc4NjUsIDI0MzAsIDQxNjc4LCAKKyAgICA5MzA1OSwgMTIwMjQzLCAyMzM2LCA5ODM5MDMsIDAsIDY3MTY5LCAxMjA0NDIsIDEyNzA5MiwgMTkyMSwgMTA5NDcsIAorICAgIDE5OTI3LCA3MDM5MCwgNjU0MDYsIDAsIDE5OTEzLCA0Mjg0LCAxMzIxNywgMCwgNDM3ODksIDEyODQxLCA5MjI5LCAxMDk1NiwgCisgICAgNDIyODUsIDQxNjc0LCAxOTk2NCwgNDE2NzksIDY1MDg0LCAzNTIxLCAxMjQ5NTcsIDU3NzQsIDgzMjUsIDY5ODY0LCAKKyAgICA2NTQwMywgOTgzMDg5LCAxODU0LCAxMDc5NCwgOTMwNTQsIDY3NjYwLCA2OTg0NiwgMCwgNzgzNTksIDUyODAsIDAsIDQzNDQsIAorICAgIDEyOTA1LCA2NTQzMywgNjA3NiwgNjQ3OTMsIDQxNjEwLCA3NjgsIDEyMDc0LCA0NDIsIDAsIDY4MTYyLCA2NDA4MSwgCisgICAgMTI5MzQsIDQxNjgyLCA2NTQzMiwgNDE2OTMsIDAsIDYwNzEsIDY1NDM0LCAxMjc0NjcsIDQ4MDQsIDQwNTMsIDAsIAorICAgIDEyNzQ2OSwgMTk0NjUzLCA0MTY5NiwgNDY3LCA2OTgyMywgMTI3NDYzLCA2OTc5NywgMTk0NjUyLCAxMjc0NzMsIDg0MjEsIAorICAgIDEyNzQ3MiwgNjk2ODIsIDQzNzA1LCA1MDIsIDAsIDY1NDMxLCAxMTkwNTYsIDY5OTU0LCAxMjA0MywgMTMwMywgMzE2LCAKKyAgICA3MzY0LCAyMDI5LCAyMTM2LCAxMTkyNDYsIDExNTMzLCA2NDM2NSwgNDM0ODAsIDkyNjM5LCA0ODYwLCAxMjY2NDgsIAorICAgIDEyNzg3NywgNDI0ODgsIDcwMzM5LCA5NTgzLCAxMjg4NDksIDU1NDYsIDgwMTksIDczODU2LCAwLCAwLCAwLCA1NTQ0LCAKKyAgICAyMzU1LCAxMjE1MCwgNjU3MjUsIDU1NDMsIDc3OTg5LCA2Mzc1MSwgMTIxMzcsIDU1NDgsIDc3OTg1LCAwLCA2NTcyNywgCisgICAgNjgzODgsIDY1NzI2LCA2MDc3LCAxMjgzNTIsIDY1NDUyLCAwLCAxMTMwMSwgMTEyMTQsIDY1OTUyLCA3ODAxMCwgOTg3NCwgCisgICAgNzgwMDcsIDk4MzExNSwgMTMxOSwgMzA1MCwgNjU0MTAsIDY3Mzk5LCAwLCA3ODAxNiwgNzgwMTcsIDQyODMwLCA0Mzk5NiwgCisgICAgNjY3MTYsIDEyODEzNywgNDY5MSwgOTIyNDIsIDkzNDUsIDYyMSwgOTI3MDksIDEyODIyMiwgMCwgNjU0MTEsIDAsIDQxMTgyLCAKKyAgICA3Mzg4MSwgNjU0MDgsIDczODk5LCA3ODAyNCwgOTQ3NCwgMTA1NDUsIDExOTExOCwgMTA4ODcsIDM3ODYsIDY1NDA5LCAKKyAgICA4ODk0LCA0MzE3OSwgNzEwNDIsIDc5MjMsIDM3MTYsIDkyMzYzLCA5OTk2LCA4NTA4LCAxMjc3OTQsIDcwMTIsIDgxOTUsIAorICAgIDEyNzgzNCwgOTU2NiwgMCwgMzcyMiwgMCwgNDE3MDcsIDg0OTMsIDU0NSwgOTU3NSwgNDEzNzksIDEwMDUwLCAxMjcxOCwgCisgICAgNjk4NTQsIDg4NTksIDY4MjAsIDc0MzQ1LCA2NTExMCwgMTIwNzQwLCAxMjg5NzgsIDAsIDkxMTksIDI3ODcsIDc5MjAsIAorICAgIDExODgyMywgNDAyMSwgMjAxMiwgNzk4NSwgMCwgMTE5NjYzLCA5MTc3OTIsIDAsIDc4MDIxLCA3ODAyMiwgNDEwLCA3ODAyMCwgCisgICAgMTgwMiwgNzgwMTgsIDc0MTA3LCAwLCA0MTY1OSwgNDE2NzEsIDE4MjcsIDAsIDY0Mzk2LCAxMDEyNiwgMTIxMTYsIDQxNjczLCAKKyAgICAxMjAzNzAsIDExNDIyLCA3MTg0NiwgMTIwMzczLCAzODYwLCAxMjAzNjcsIDY4NDEyLCA0MTM0NSwgMTIwMzYyLCAxMjAzNjMsIAorICAgIDExNzQ4LCA0MjE1OCwgNzk0MSwgMTEwNzYsIDg3NDksIDEyMDM2MSwgMjEwNCwgNjQ4NTgsIDM2MSwgMTIwMzU3LCA4NDUsIAorICAgIDAsIDQxNTYwLCAxMTk3MCwgNDU2MiwgOTE3OTIwLCAyOTI2LCA2ODQ5NSwgNDU2OSwgNzQxMzAsIDEyODY1OSwgNDM0ODcsIAorICAgIDE5NDYzMCwgNjExLCA3NDEyOSwgNjQ4NzEsIDExODg5MSwgNjU2MjksIDAsIDE5NDg1OCwgNzQ4NTQsIDAsIDcwNDY2LCAKKyAgICA2NzM5MiwgNjYzODUsIDAsIDYyOTEsIDAsIDY4NDg3LCA0MTY2OSwgNzA5NCwgOTE3OTIxLCAwLCA5ODM1ODEsIDc0MDU0LCAKKyAgICAxMjc3NTQsIDEyODkxNywgMCwgODM5LCA5ODMzMTksIDc2OTUsIDg3NjksIDY1MjQ2LCA0ODI5LCA2Nzc1NiwgNDg1OSwgCisgICAgNjQ0NjcsIDAsIDk4Mzk2MywgMTE4OTk4LCA3MjA2LCAxMTk2MzYsIDY2NDcsIDQzOTg2LCA5ODM3OTYsIDY5NzY2LCAKKyAgICAxOTQ2NjQsIDY0NzY0LCA0MjEwLCA5ODMyNTQsIDEyNzkzNiwgODA0LCAxOTQ2NTEsIDAsIDEyMjk4LCA3MDM0NCwgNjY2NTMsIAorICAgIDAsIDY0OTI0LCAxMDA5MSwgNjcyMDAsIDk0NjgsIDY3MjA2LCA2NzIwNSwgNjcyMDQsIDY3MjAzLCA5MjUwMywgMTI4MzksIAorICAgIDY0NjY5LCA5MjIwMiwgNzE4NTEsIDEyNzksIDE0MjUsIDYyMjQsIDExOTIyOSwgMTEwNDksIDEyNzEyMywgOTI2OTcsIAorICAgIDQyNjQ5LCA4NDgyLCA5MjQ0MCwgMCwgNTAzMiwgNjcyMDksIDExOTQwLCA2NzIwNywgNjY0LCAxMjA0MzcsIDUwMzQsIDAsIAorICAgIDcwMjAwLCAxMjc1MjUsIDQyNzAyLCA3MDE5NCwgOTMwNjEsIDEzMjk0LCA2Nzg3MywgNjQ4NjksIDYwMzIsIDY3MjE4LCAKKyAgICA5MTE1LCA3NDMwLCAxMjAzNzcsIDcwMTkxLCAxMjA4MTksIDY4Mzg3LCAxMjAxNjgsIDczOTEzLCAxMjAxNzAsIDQxMTYxLCAKKyAgICA1NTE4LCA0MTc0LCAxMDk5MywgNDExNjIsIDEyMDE2MCwgNjQ1MjgsIDExNjksIDQzNCwgNDE0MzcsIDE5MDUsIDYwMzQsIAorICAgIDQxMTY0LCA2NDc0NCwgOTUyOCwgNjc3NDEsIDEyODgwMCwgNTI0LCAwLCA3NDAyOSwgNzg4LCA3NDAyNywgMCwgNzE4ODEsIAorICAgIDAsIDE2NjMsIDEwNDE5LCA0MjkwMSwgNDI2MzYsIDY3MjExLCA2NzIxMCwgMCwgMTIwNjU2LCA2NzIxNSwgNjcyMTQsIAorICAgIDY3MjEzLCA2NzIxMiwgMCwgNjc4OTcsIDc0MDM5LCAwLCAwLCAxMTM5NSwgMCwgMTE5MTA3LCA0MzYxMiwgNjQzNDQsIDAsIAorICAgIDAsIDEwODU1LCA1NDQ1LCA5MzU1LCA2NzIyMSwgNjUxOTgsIDczOTEsIDg5ODksIDIyMSwgNjU2ODYsIDAsIDAsIDgwMTAsIAorICAgIDcxOTEsIDQ5NjIsIDY5NzcyLCA4ODU1LCA3NDYxMiwgNzA4MjAsIDY0NDY5LCAxMjA0MjYsIDEwNTU1LCA2NzIyNywgCisgICAgNDMzMzMsIDY3MjI1LCAxMjg0ODMsIDEyMDQyNywgMTA0NTEsIDY3MjI5LCA2NzY1MywgNzI0NSwgMTI0NDMsIDc0NDA1LCAKKyAgICA5OTQ3LCAxMjAxNDksIDc4MzE3LCAzODczLCA4MzY3LCA3Nzg0MiwgMTIwMTQ2LCA0MzQzMywgNDM2NDksIDExOTg3LCAwLCAKKyAgICAwLCAxMTAxMCwgMTExNjQsIDc0MDU5LCA3NDA2MiwgNjIxNywgNTg5NiwgNDM4NDYsIDc2ODIsIDc0MDQ5LCAxNDYyLCAKKyAgICAxMDIzNSwgMCwgMCwgMCwgNDM0NDEsIDEyNzkyNCwgMTI3Nzc3LCA0MjU5NSwgMCwgNzQ0MDIsIDExODg2MCwgNzg2NjEsIAorICAgIDEyMDQxOSwgOTI0OTcsIDY2Mjg3LCAxMjA0MjAsIDkyMzc4LCAxMjA1NDksIDExOTA4MiwgNjQyOTUsIDEyMDQxOCwgMCwgCisgICAgNjQ3NjUsIDczOTIzLCAxMjA0MTcsIDEyMDY2MiwgNjk5MjAsIDE5NDcwMiwgNjIxNiwgNjcyMzAsIDEwNzU1LCA5NDU1LCAKKyAgICAxMTE1NSwgODEyNCwgMTI3MDQyLCA5NDcwLCA2OTQ0LCAxMjc1NDAsIDAsIDY5NjgwLCAyODI4LCAwLCA1MzEsIDQyNjM4LCAKKyAgICAwLCAwLCAwLCA0MzQyOCwgODIwNCwgMzYxNCwgMjgyNywgOTY5NiwgMTIwMzY1LCAwLCA4NzI4LCA0MzU0LCAxMDkwNCwgCisgICAgNzg1NjIsIDE5OTM2LCA3ODMzLCAxMjA2OTEsIDAsIDQyNTk5LCA0MjU5NywgNDI3MDksIDEyMDQwOSwgMTI1MDEyLCAwLCAKKyAgICA4NTM3LCAxMjczMDYsIDAsIDkzNTQsIDk4MzE2NCwgMTI3OTU5LCA0MTE5OSwgMTAxMjEsIDIwMjgsIDAsIDEyMDI1MywgCisgICAgNjk3MTUsIDAsIDMwNjIsIDAsIDc0NDQ3LCAxMjYwOCwgMCwgNjY0NDAsIDc1NDUsIDk3MDAsIDExOTQ4LCA5MjIwNSwgCisgICAgMTIwNzc3LCAxMjA1MDIsIDQxMTU1LCA2ODMwNiwgNzQwNzEsIDAsIDk4MzQ1NywgMTI3MTMsIDEyNzUxOSwgNzA0MDIsIDAsIAorICAgIDc4NzcyLCAxMTM3NzAsIDE3MzQsIDAsIDc4MTQxLCAxMjcwNDAsIDY0NTk0LCAyNDU2LCAyMzEsIDY4MjI3LCA3NDE2NywgCisgICAgNTQyLCAwLCAxMTg3ODYsIDk4Mzg1OSwgMTk0Nzk3LCAxMjMwLCA5ODM5NTMsIDEyNjU1NSwgMzU5NywgNDQ0NiwgMTA1ODQsIAorICAgIDc0MjM1LCA5MjIxNSwgNDAzNywgNjc3MzcsIDgzNTIsIDAsIDU2ODcsIDAsIDY0NTE1LCAwLCAxOTQ4MDEsIDU1MjY1LCAKKyAgICA2Nzg0NiwgNzg0MzQsIDk3MDQsIDAsIDAsIDcwMDgwLCA3MTMzOCwgMCwgODY2MCwgMTI2NDc4LCAwLCAwLCA3ODc3MywgCisgICAgNzQ0ODIsIDQ0ODMsIDE3MDksIDY5NzIxLCA5OTA5LCA2MDgwLCAxOTQ4NTEsIDEyMDM1OCwgMTc0NiwgMTMxNSwgODY2NywgCisgICAgOTgzMTAxLCAwLCAxMzE0MCwgNjU4OTksIDEwNjA0LCAwLCA0NDgwLCAxMTI2NiwgMTI4MTUyLCAxMjI2LCA2OTMwLCAKKyAgICA2Nzk3OSwgMTk1MDE5LCA2MzYwLCAxMDg5NywgNDEyMzAsIDYwNSwgNjgzMDIsIDc0Nzg1LCA2OTg3NSwgMCwgOTE3OTg2LCAKKyAgICA0MTUwMCwgMCwgMzExLCAxMTQ1MywgNjIyMSwgMTA2MDgsIDY0OTQzLCA2NzY4MiwgMTA4NzcsIDExODg2OCwgNjQ4ODUsIAorICAgIDc0MjcyLCAwLCAxOTQ2NzIsIDEyODU1OSwgMTIwNzM2LCA3NDMxMiwgMzQ1LCAxMjQ5MzMsIDc0NDU2LCA2NDYwNiwgOTkxNywgCisgICAgMCwgNzQ4NTUsIDUwMzcsIDAsIDE3NzYsIDg0MjIsIDEyODkzNSwgMTE4ODE0LCA0MTUwOCwgNDEyMDEsIDMyMywgNDMzMjgsIAorICAgIDAsIDQyNjk4LCAxMjk1LCAxOTQ4NTMsIDQ2MjUsIDc3ODU1LCA0NjMwLCAxMzExNywgMCwgMTI4NzcyLCA2NTEyMywgCiAgICAgMTEyOTMsIDI2NjgsIDExMjg4LCAwLCA0MjY0MCwgNjU2NjYsIDI1MTksIDkyMzY5LCA2NTQyMCwgOTI0NzksIDAsIDQyNTIsIAotICAgIDUwNDksIDQyNjU5LCAxMTkwMTEsIDcwNiwgNzc1NCwgMTA4NTQsIDg3MzgsIDAsIDY1NDE5LCAwLCAwLCA2NDksIDY1NDIxLCAKLSAgICAwLCA2NjcwMiwgMCwgMTI2NzAsIDEwMTMsIDAsIDY0OTE5LCA3MDUsIDAsIDY1NDIyLCAxMjc4MDMsIDExODMsIDEyNjUxOSwgCi0gICAgNzAxNywgNDI4NTIsIDAsIDgxNTcsIDk3MzYsIDY0NTAzLCA2NTQxOCwgMCwgOTgzODc4LCA3NDAzNSwgMCwgMTE5MTMsIAotICAgIDczODc0LCA2Njk2LCAwLCA4OTIwLCAxMTkyOTgsIDAsIDc5NjIsIDEyMjExLCA5ODM3LCAyMDUxLCA2NjIyNywgMCwgNDE4NCwgCi0gICAgMCwgMCwgMTAxNzcsIDczNzc3LCAxODU3LCAxOTQ2NTcsIDQ2MjYsIDg0NjQsIDg0NzIsIDAsIDQ2MjksIDg0OTksIDc4MzIxLCAKLSAgICA3ODMyMiwgNDYyNCwgNzgxOCwgMTE5MTczLCAwLCAwLCA3ODA1LCAwLCA5NDAwNywgNjkzNSwgOTIyOTIsIDc4MzI1LCAKLSAgICA3ODMyNiwgNzgzMjMsIDQzMzI3LCA0Mzk4OSwgMTE5MDQ2LCA4NDkyLCA4MjUwLCA4NDU5LCAwLCA4NDk3LCA4NDk2LCAwLCAKLSAgICAwLCA3ODMzNiwgNzgzMzksIDk1NDMsIDc4MzM1LCA3ODMzMiwgNzc4MzIsIDY1ODQ5LCA3NzgzMSwgOTgzOTYxLCAwLCAKLSAgICAxMjQ1MSwgMCwgODY4NCwgMCwgNjEwMiwgMCwgNTI5OCwgMCwgNTI5NCwgMCwgMCwgOTgzNDU5LCAxOTUwNjIsIDk5NDksIAotICAgIDExOTgyNiwgNDM2MTcsIDExOTIxNSwgMCwgMTIwNzMsIDAsIDAsIDc3ODYzLCAxMzEwOCwgMTIwNjE3LCAxMTQzOSwgCi0gICAgNDE0NjgsIDk4Mzc1NywgMCwgNTI5MiwgNTUyNzIsIDk4Mzg4MywgMTkzOSwgNTMwMiwgMzk3MCwgOTE3ODc5LCAxMjQ1NSwgCi0gICAgMTc5MywgMCwgMCwgMCwgNjY0MywgOTI0NzcsIDY1MjYzLCAwLCA3ODMzMCwgNDEyOTMsIDc4MzI4LCA2NTkyMywgMCwgCi0gICAgMTMyMTksIDk1NjksIDAsIDc0MzgzLCAwLCA3NDE5NywgMCwgNTUwMCwgODgxMywgMCwgMCwgNzQ1NjYsIDUzMjIsIDAsIAotICAgIDc4MzQwLCA0MzYzMSwgNTMyNCwgNjY0NDMsIDM3ODQsIDQxNjE0LCA2NTI2OSwgNjIzMCwgNzgzNDksIDc4MzQ1LCA0MzMyNCwgCi0gICAgMzM2MCwgNzgzNDQsIDExNTIzLCAwLCA5MjQ4OCwgOTkyNiwgNzE5NywgMCwgNjg0MjksIDQyODk0LCA0MTgyMSwgMTI0OSwgCisgICAgNTA0OSwgNDI2NTksIDExOTAxMSwgNzA2LCA3NzU0LCAxMDg1NCwgODczOCwgMCwgNjU0MTksIDAsIDEyODQ5NiwgNjQ5LCAKKyAgICA2NTQyMSwgMCwgNjY3MDIsIDAsIDEyNjcwLCAxMDEzLCAwLCA2NDkxOSwgNzA1LCAwLCA2NTQyMiwgMTI3ODAzLCAxMTgzLCAKKyAgICAxMjY1MTksIDcwMTcsIDQyODUyLCAwLCA4MTU3LCA5NzM2LCA2NDUwMywgNjU0MTgsIDAsIDk4Mzg3OCwgNzQwMzUsIDAsIAorICAgIDExOTEzLCA3Mzg3NCwgNjY5NiwgMTI4Nzc1LCA4OTIwLCAxMTkyOTgsIDEyODQyNiwgNzk2MiwgMTIyMTEsIDk4MzcsIAorICAgIDIwNTEsIDY2MjI3LCAwLCA0MTg0LCAxMTk4MjUsIDEyODU5OCwgMTAxNzcsIDczNzc3LCAxODU3LCAxOTQ2NTcsIDQ2MjYsIAorICAgIDg0NjQsIDg0NzIsIDAsIDQ2MjksIDg0OTksIDc0NjI3LCA3ODMyMiwgNDYyNCwgNzgxOCwgMTE5MTczLCAxMjgxMDgsIDAsIAorICAgIDc4MDUsIDEyODc1NCwgOTQwMDcsIDY5MzUsIDkyMjkyLCA3ODMyNSwgNzgzMjYsIDc4MzIzLCA0MzMyNywgNDM5ODksIAorICAgIDExOTA0NiwgODQ5MiwgODI1MCwgODQ1OSwgMCwgODQ5NywgODQ5NiwgMCwgNzQ1ODIsIDc4MzM2LCA3ODMzOSwgOTU0MywgCisgICAgNjc4NjAsIDc4MzMyLCA3NzgzMiwgNjU4NDksIDc3ODMxLCA5ODM5NjEsIDAsIDEyNDUxLCAwLCA4Njg0LCAxMjgzMDEsIAorICAgIDYxMDIsIDAsIDUyOTgsIDAsIDUyOTQsIDAsIDAsIDEyODc0NiwgMTk1MDYyLCA5OTQ5LCAxMTk4MjYsIDQzNjE3LCAKKyAgICAxMTkyMTUsIDAsIDEyMDczLCAwLCAwLCA3Nzg2MywgMTMxMDgsIDEyMDYxNywgMTE0MzksIDQxNDY4LCAxMTkwNzYsIDAsIAorICAgIDUyOTIsIDU1MjcyLCA5ODM4ODMsIDE5MzksIDUzMDIsIDM5NzAsIDkxNzg3OSwgMTI0NTUsIDE3OTMsIDEyNDk4MiwgMCwgMCwgCisgICAgNjY0MywgOTI0NzcsIDY1MjYzLCAwLCA3ODMzMCwgNDEyOTMsIDc4MzI4LCA2NTkyMywgMCwgMTMyMTksIDk1NjksIDAsIAorICAgIDc0MzgzLCAwLCA3NDE5NywgMTI5MDg5LCA1NTAwLCA4ODEzLCAwLCAxMjg2MTIsIDc0NTY2LCA1MzIyLCAwLCA3ODM0MCwgCisgICAgNDM2MzEsIDUzMjQsIDY2NDQzLCAzNzg0LCA0MTYxNCwgNjUyNjksIDYyMzAsIDc4MzQ5LCA3ODM0NSwgMTMyODIsIDMzNjAsIAorICAgIDc4MzQ0LCAxMTUyMywgMCwgOTI0ODgsIDk5MjYsIDcxOTcsIDEyODI0OCwgNjg0MjksIDQyODk0LCA0MTgyMSwgMTI0OSwgCiAgICAgNzgzNjAsIDc4MzYxLCA3ODM1NiwgNzgzNTgsIDc4MzUzLCA2NDg5OSwgNjQ3NjMsIDQxMTQ5LCA0MTgwNywgNDMxNjIsIAotICAgIDQxODE1LCA0MTE1MCwgMCwgMTA1NzEsIDEwMDk2LCAwLCAwLCA3ODA3NCwgNjk0NywgNDExNTIsIDg4NywgOTI0OSwgNjU2NSwgCi0gICAgNzg1MTAsIDQxOTkwLCA3ODUwOSwgNDE4MTEsIDc0NDY2LCA5Mzk2NiwgNjY3MCwgNzc4ODIsIDAsIDAsIDQzMDkyLCAKLSAgICA0MzMyNSwgMCwgMTAxNjgsIDAsIDk3ODEsIDEyODY1NSwgOTE5MCwgMCwgOTY2NiwgODI2OSwgNjU5NDQsIDc0MDA1LCAKLSAgICAxMzAxOSwgMTE2NzAsIDY5ODYwLCAzMTUsIDEyODEzLCA5ODM0NTgsIDc4NDMyLCA3ODI1NiwgNzgzNTEsIDc4MzUyLCAwLCAKLSAgICA5ODM2NTcsIDAsIDAsIDEzNzgsIDk1MDksIDAsIDAsIDc0NDc1LCAzMDY2LCA5MjIyMCwgNjc4NDcsIDAsIDkyMzU1LCAwLCAKLSAgICA3ODM2NSwgODc4NywgMTIwMzc5LCAxOTQ2MTYsIDQxNjE4LCAxOTQ2MTUsIDc4MjYxLCAxOTQ2MTQsIDAsIDY0NjUyLCAwLCAKLSAgICAxOTQ2MTIsIDAsIDc4MzY2LCA0MjA4OCwgMCwgMTk1MDYxLCA3MTc2LCA0Mzc1NiwgMTAxMzcsIDYxMjEsIDEwOTk1LCAKLSAgICA3ODI1OSwgNzQ1MzQsIDgxMTksIDY0ODc0LCA5MTc4MTYsIDEyNzE5OSwgMTk0OTM5LCAwLCA3NDUyNSwgMCwgMCwgMTI5MzAsIAotICAgIDEzOTQsIDc0NTE0LCAwLCA3NDUxNSwgMCwgMTE4ODA0LCAyOTk4LCA5NTI3LCAxMjA2NTksIDY1MTkwLCAxMjk3NywgCi0gICAgNDIwOTAsIDExOTE2NSwgMCwgMTE5MTAwLCA0MTIzNiwgOTIyMzUsIDQyMDA1LCA0MjAwMywgNDEyMzcsIDU4NDgsIDAsIDAsIAotICAgIDM2NzAsIDEyODY1NywgMTk0NjAwLCAwLCAwLCA3ODkwLCAwLCAxMTI5OCwgNDMzMTUsIDAsIDYyMjksIDE1OTMsIDAsIDAsIAotICAgIDYxOSwgNDYzNSwgNjUwODAsIDAsIDEyODAwMiwgNDEyMCwgNjUzMzcsIDY1MzM2LCAwLCAxMTgwOCwgMTE5MjE0LCA3NDExNSwgCisgICAgNDE4MTUsIDQxMTUwLCAxMjg5MTEsIDEwNTcxLCAxMDA5NiwgNjcxNjEsIDY3MTYwLCA2NzE1OSwgNjk0NywgNDExNTIsIAorICAgIDg4NywgOTI0OSwgNjU2NSwgNzg1MTAsIDQxOTkwLCA3ODUwOSwgNDE4MTEsIDY3MTU3LCA5Mzk2NiwgNjY3MCwgNjcxNzUsIAorICAgIDY3MTc0LCAwLCA0MzA5MiwgNDMzMjUsIDY3MTc4LCAxMDE2OCwgNjcxNzYsIDk3ODEsIDY4MjQ4LCA5MTkwLCAxMjg0OTcsIAorICAgIDk2NjYsIDgyNjksIDY1OTQ0LCA3NDAwNSwgMTMwMTksIDExNjcwLCA2OTg2MCwgMzE1LCAxMjgxMywgOTgzNDU4LCA3MjQwOSwgCisgICAgNzgyNTYsIDcyNDA4LCA3ODM1MiwgMCwgOTgzNjU3LCAwLCAwLCAxMzc4LCA5NTA5LCAwLCA5Mjk5NiwgNzI0MDcsIDMwNjYsIAorICAgIDkyMjIwLCA2Nzg0NywgNzI0MDYsIDkyMzU1LCAwLCA3ODM2NSwgODc4NywgNjcxODksIDE5NDYxNiwgNDE2MTgsIDE5NDYxNSwgCisgICAgNzgyNjEsIDEyNzM4NCwgMCwgNjQ2NTIsIDAsIDE5NDYxMiwgMCwgNzgzNjYsIDQyMDg4LCA3MTA0MCwgMTk1MDYxLCA3MTc2LCAKKyAgICA0Mzc1NiwgMTAxMzcsIDYxMjEsIDEwOTk1LCA3ODI1OSwgNzEwNTAsIDgxMTksIDY0ODc0LCA3MTA1MiwgNzgxNzQsIAorICAgIDE5NDkzOSwgMTI4NjMwLCA3NDUyNSwgMCwgMCwgMTI5MzAsIDEzOTQsIDc0NTE0LCAxMjg0MTMsIDc0NTE1LCAwLCA2NzE4NCwgCisgICAgMjk5OCwgOTUyNywgNjcxODEsIDY1MTkwLCAxMjk3NywgNDIwOTAsIDY3MTg1LCAwLCAxMTkxMDAsIDQxMjM2LCA5MjIzNSwgCisgICAgNDIwMDUsIDQyMDAzLCA0MTIzNywgNTg0OCwgNjcxOTMsIDY3MTkyLCAzNjcwLCA2NzE5MCwgNjcxOTcsIDY3MTk2LCAKKyAgICA2NzE5NSwgNzg5MCwgMTI4MDcwLCAxMTI5OCwgNDMzMTUsIDk4MzMxMywgNjIyOSwgMTU5MywgMCwgMTI1MTIwLCA2MTksIAorICAgIDQ2MzUsIDY1MDgwLCAxMjc3NzksIDEyMTk0LCA0MTIwLCA2NTMzNywgNjUzMzYsIDAsIDExODA4LCA2NzE5OSwgNjcxOTgsIAogICAgIDkzNjYsIDQyNzkwLCA0MjAwNiwgMTE5MTE1LCA2NTMyNywgNjUzMjYsIDY1MzI1LCAxMDc1NywgMTUwNywgNDIyMTYsIAogICAgIDY1MzIxLCA2NTMyMCwgNjUzMzUsIDY1MzM0LCA2NTMzMywgNjUzMzIsIDY1MzMxLCA0MjA1OSwgNjUzMjksIDQyNjg5LCAKICAgICA5MjQyNywgOTEyOCwgOTQwNDUsIDQyMDczLCA2Nzg1LCA2NDU5MCwgOTgzODMwLCA0MzcxLCA3MTk2LCA2NTMxOCwgMjAzNSwgCi0gICAgNjUzMTYsIDQxMDYsIDY1MzE0LCA2NTMxMywgNDIwNzQsIDEyNzg0NywgNDEyMjgsIDAsIDY1NjA5LCA0MTI0MSwgNzkwMywgCi0gICAgNDEyMzksIDQzNTMzLCA3ODQ1OSwgNzE4OSwgMCwgMCwgMCwgMTIzNTcsIDQyODAyLCA3ODQ1MCwgODQ4NywgOTEzMSwgMCwgCi0gICAgNDYxNSwgMTI2OTUsIDEyNzc1MiwgMCwgMTIxNzUsIDAsIDY0NTM1LCAwLCA3ODA5LCAwLCAwLCA1NjIsIDEyMTY5LCA2NTkwLCAKLSAgICA2OTc2MiwgNjY0NTUsIDY0NzM4LCAzMjE5LCA2ODY1NCwgOTgzNzg3LCAwLCAxMDM3LCAwLCAyMDI1LCAxMjgyNjMsIAotICAgIDEzMDk4LCA3ODQ0MiwgMTA2MzcsIDQ1NjgsIDU0OSwgMTU3MCwgMCwgMjgzNSwgMCwgMTA2MjQsIDQzNjIzLCAxMTA3MiwgCi0gICAgMTI3MTkxLCAwLCAwLCAxMjYwNiwgNzg0MzMsIDI4MjUsIDAsIDEwODI1LCA4MDc5LCAyODIxLCA0MTA0NiwgOTIzMjcsIAotICAgIDczNjUsIDk4Mzc1MywgMTIwNTkzLCAxMzA3MSwgMCwgNDUyLCA0MTA0OSwgNDI4NDAsIDYzNDYsIDI4MzEsIDU0NjEsIAotICAgIDc0NTk2LCAxMTQ2NSwgNTIxMiwgMCwgNjQ3MDMsIDExOTE5MSwgNDIzMDgsIDcxODEsIDAsIDQxMzMyLCAwLCAxMjMzMywgMCwgCi0gICAgMTY2OCwgMCwgMCwgMCwgMTE4NywgOTgzMzg1LCA0MjYyOCwgNzg1NzUsIDAsIDEyODc3NywgMCwgMzI0MCwgMTI4NTE4LCAKLSAgICAxMjE5NCwgMCwgMTE1OTEsIDQxMDY1LCA1MzIzLCA4MTY2LCAwLCAwLCAwLCA3NDUzNSwgMTYyMywgNjUyOTcsIDEyODg1NiwgCi0gICAgNTcxLCAwLCA0OTE4LCAwLCA1Mjg4LCAxMjcyOTUsIDg5MTYsIDY1MDQ4LCAxOTA5LCA4ODY0LCAwLCAwLCAxMDczNiwgCi0gICAgOTI1MDgsIDExNTcxLCA3NjE1LCAxMjczMDAsIDkyMjk2LCA0MjM3LCA5MjU3NiwgMTAzNSwgNjU4MTUsIDAsIDc4ODEsIAotICAgIDcwMSwgNjU5MzYsIDM0ODksIDAsIDAsIDEyMDc1MSwgMTE0MDMsIDAsIDAsIDEyNzE0NiwgMzc5NiwgNjgwMCwgMCwgMzk5NCwgCi0gICAgMTE0MjEsIDAsIDE5NTA3NiwgMCwgOTgzOTIyLCAwLCAwLCA2NDg1NywgMTI4MTA1LCAyODU1LCAxMjc4MjgsIDY2MzA4LCAKLSAgICA0MTYyMSwgNjgyMTQsIDEyNzI4MywgMTI3ODE3LCAxMDY1NCwgMCwgMTE5MjI2LCAxMjE2NCwgMzI0NiwgNzkwNiwgNDM5NzIsIAotICAgIDY1ODQ3LCA3MTgyLCAwLCAxMzAyNCwgMTk0ODIyLCA3NDI3MCwgMTI4Mjg5LCAwLCAwLCAwLCAxNDk2LCA3NDcsIDAsIDk0MiwgCi0gICAgMjM3OCwgNDMxMzYsIDEyNzkwNSwgODQ2NiwgOTgzNTc1LCA5MzIwLCA4MDAxLCAxMjMyLCA4MTM5LCAxMTYxNywgMCwgMCwgCi0gICAgMTE0MDksIDY4MzczLCA2MzgyLCAwLCA2NDYzNCwgMTI4Mjc5LCAwLCAxMTYxMiwgMCwgNjc2MDAsIDIzNzQsIDk0MDY2LCAKLSAgICA4NDc1LCAxMTYwOSwgNjYzMTMsIDAsIDAsIDUyODYsIDExOTI5NywgMCwgMCwgNjQ5MjUsIDEyMDI4MywgMTk0NTg0LCAKLSAgICAxMTg5ODIsIDE5NDU4MywgNzcwNSwgMTE5NDIsIDExMzA1LCAxOTQ1ODEsIDMzMDksIDAsIDAsIDAsIDAsIDY4MDIsIDAsIAotICAgIDQxNjUzLCAxMjgwLCAxMjQxLCA3MTY4LCAxMjA5NiwgMCwgNjY2MTUsIDQyNTY1LCA0MTY1MSwgMCwgMCwgMCwgNDE2NTAsIAotICAgIDY2NTA3LCA2NjQ3MCwgMCwgMTI5MTQsIDQxNDkxLCA2NjAxMCwgMTE5NTUyLCA2MDc4LCA5OTU0LCAwLCAxNDc1LCAKLSAgICAxMTkyNDcsIDk5MzgsIDYwODQsIDkxNzU0NiwgNDEwNjQsIDQxMDYyLCAwLCAwLCAzMjU2LCAxMDE4OSwgNDIwNzYsIAotICAgIDQzMjUyLCA3ODgyMywgOTE3OTA2LCA4NzI3LCAwLCA2NTg3NSwgMCwgMCwgMTI3NzYyLCAxMDU2MiwgNzQyMTUsIDQzMDY1LCAKLSAgICAwLCAwLCAzMjQ4LCA3NDI5NywgMzI2MSwgOTAxNSwgNzEzNTEsIDAsIDM2MzUsIDY0MzM3LCA5ODMyODEsIDAsIDAsIDcxOTUsIAotICAgIDAsIDIwMDcsIDY0NDMxLCAwLCAwLCAwLCAwLCA2MzUsIDAsIDAsIDY1NjEzLCA3NzkwOSwgOTI0MjAsIDczOTk3LCAwLCAwLCAKLSAgICAxMTkyMTgsIDc5ODQsIDg2MDAsIDc0NDM0LCAxMjc3NzAsIDQxNzYsIDcwMDUwLCAyMDM0LCA5MjU1MSwgMTIwODA1LCAKLSAgICA2NTg5MSwgMTI3MDM4LCAwLCAzMTgsIDIwMzgsIDEyODg2MCwgNzg1OTYsIDAsIDM2NDksIDEzMTQ5LCA0MjE0NSwgNDI3OTgsIAotICAgIDM2MzQsIDEyMDI5MSwgMTE4OTI3LCA2NzY3NywgMTIwMTI0LCA3ODY2LCAwLCAxMTQwMiwgNDIxNDYsIDk0MDMyLCA3NDIzOCwgCi0gICAgNDI2NjQsIDI4NDksIDEyNzAzNCwgMCwgNzkzOCwgMTI5NjAsIDE3NjEsIDExODEyLCA2NTM3OSwgNjgzODYsIDEyODE4NSwgCi0gICAgMTE1OSwgMCwgNjk3MjksIDAsIDAsIDcxNzgsIDE5NDYzMiwgMCwgNDE2ODAsIDAsIDEyODIwMywgMTE1MzQsIDE1MTQsIAotICAgIDExNjY4LCA2Nzg5MSwgOTMxMywgNzAxNSwgMCwgNjc4NzcsIDE5NDU2NywgMTI5ODksIDY2NDc0LCA5MzY4LCAxMjg0OCwgCi0gICAgMTYyNCwgNDMyNzAsIDAsIDc0Mjc4LCAxMDgxOCwgMTI2NjQ0LCA5OTUzLCAwLCA3ODQyMSwgMTE5NCwgMzI0MiwgOTc2MSwgCi0gICAgOTU1NSwgODU5OCwgMTIwMjk5LCA2MTY5LCAxMjg3MSwgMTU1MSwgMjc5OCwgNjUxNzYsIDQ5NTgsIDQyNzUyLCAxMTkwMjUsIAotICAgIDAsIDY3ODc1LCAxMjAzMDEsIDM0OTUsIDY2NjQ4LCAxOTQ3NjgsIDAsIDY4MzY0LCA5ODMyMjQsIDQ4OTEsIDAsIDEwNjQxLCAKLSAgICAwLCA3Mzc0NiwgMCwgNjgzNTIsIDAsIDczNzg3LCAxOTQ4MjksIDE5NDYzMywgNzE5OSwgNjQ5NTUsIDAsIDAsIDAsIDAsIDAsIAotICAgIDQyNjg1LCA0MjY3OSwgMTkzLCAwLCAwLCAwLCA0MjY2NywgMCwgNTI3MSwgOTIzMTgsIDkyNTE3LCAxMTg4ODIsIDEzNjIsIAotICAgIDEzMjk3LCAwLCAxMjgwOTQsIDAsIDk4MzMzMSwgNzM3ODksIDAsIDY2NTgsIDQ0MjYsIDAsIDkyNjI4LCA5ODM4NDIsIAotICAgIDkyMzE5LCA3Mjc2LCA0MjE2MywgNTIyMCwgMCwgMCwgOTgzMzMwLCAyNDE2LCAzMzEwLCA0MjcwMywgMCwgMzc5LCAwLCAKLSAgICA0Mzc1NSwgMCwgMCwgMzIyMywgNjU0OTIsIDEyODQsIDE5NDc3MSwgNDU0OSwgMCwgMCwgOTgzMTU0LCAxMjc3NjMsIAotICAgIDEwODA3LCA5NTU4LCAxOTQ2MTMsIDAsIDg1MTUsIDg2ODgsIDEyODY2LCA2NTMwOCwgMzI5NCwgOTgzMzMyLCA4NTI5LCAKLSAgICAxMjgxMDEsIDQzMzg1LCA3NTY0LCAwLCA0MzMyOSwgMCwgOTI0NTgsIDczNzU3LCA2NjQ1NiwgNDIzNTksIDAsIDIwMzEsIDAsIAotICAgIDcyMDIsIDAsIDEyNjc2LCA0MjcyOSwgOTIxOTgsIDMyMTUsIDAsIDc3MTAsIDE2MTAsIDczODAxLCAwLCAwLCA2NTY4MiwgMCwgCi0gICAgMTIwNTM3LCA2NTkyNCwgOTk3NCwgMjI4LCA2NjM1NCwgMTUwMSwgMCwgNjQzOTUsIDUxNzksIDcyMDAsIDYyMjUsIDAsIAotICAgIDY1Nzk0LCAxNzI1LCA2NTUzMywgODE5NiwgNzQ3NiwgNzQzOTksIDAsIDAsIDcxNTIsIDg1MDIsIDU3NjIsIDE5NjcsIAotICAgIDc0ODMsIDAsIDAsIDgxMDQsIDAsIDc0NzQsIDc3OTc5LCAwLCAxMjY1MDcsIDEwNDE0LCAxMzAwMSwgODE0MSwgMCwgCi0gICAgNDI1MzcsIDE1NTcsIDQzNTk0LCAxMjg2NDIsIDYzMzAsIDY4MDUsIDg2MzEsIDI1NDUsIDcwMDUyLCAxMjcxNjYsIDAsIAotICAgIDc0MTkwLCAwLCAwLCA5ODM3ODYsIDQyNzYyLCAwLCA0MjkxNCwgMTY1MCwgMjYyLCAxNjM3LCAwLCA3OTAxLCAzMjM4LCAKLSAgICAxMjgxNzMsIDQxODYxLCAwLCAxMjg1ODUsIDY1MTU4LCAxMDg2MCwgOTQwNTksIDQzNjU4LCA3NTI3LCAwLCA0MzMxOSwgCi0gICAgNjQxOSwgMCwgNDUsIDAsIDY0NTg4LCA5Mzk4OSwgMCwgMTE5ODEwLCA3MTk0LCA1MjkxLCAwLCA0MzY2NiwgMTMxMjksIDAsIAotICAgIDkwODQsIDAsIDg3MzcsIDAsIDEyODgxLCAwLCAxMjkwNiwgOTYzOSwgNzkxMiwgMjYyMCwgMCwgMCwgMCwgOTgzODc1LCAKLSAgICAxNzksIDY1ODk2LCAwLCA2NDc1NiwgMjg1MywgNzg0NDMsIDExODgxMywgOTgzODkwLCAxMTg5OTYsIDExOTAwOSwgMjg1MCwgCi0gICAgODA4NCwgOTgzMDg1LCA3Mzg1MCwgMjgwMSwgOTIyODQsIDQyMDY5LCAxMTk4MzksIDc0NzU0LCAxMTk4NDEsIDQyMDcyLCAKLSAgICAxMTk4NDMsIDExOTg0MiwgMTAzOTgsIDk4MzA1NiwgMCwgODM3NywgMTI3MTE2LCA4MjQ1LCA2ODQwMSwgMzE1OCwgOTIzOTYsIAotICAgIDM5ODMsIDQzNjU2LCA5MjMsIDExOTg1NywgMTE5ODU2LCAyOTIsIDEzMDAyLCAxMTk4NDUsIDExOTg0NCwgMzIyMSwgMTc2MywgCi0gICAgOTI0NjMsIDQ2MTIsIDExOTg1MSwgMTE5ODUwLCA3MjUzLCAxMjcxMTAsIDY4MzkxLCAwLCAxMDc4MiwgMzYzNywgMTI5OTYsIAotICAgIDQzNTQyLCAwLCA2NDU3OCwgOTgzNjc1LCAzMjI4LCA2OTYzNiwgODc4MywgMCwgMTE5NjE0LCAyNzMxLCAwLCAwLCA3ODU4NSwgCi0gICAgNDEwMiwgNzY5NiwgNzM4NzgsIDAsIDAsIDc4NTg2LCA0MzMxNiwgNDE3NywgMTEyODMsIDkwODksIDAsIDczOTk2LCAKLSAgICA5ODMxNzMsIDY0NTAwLCA0MzY3NCwgMCwgNjQ5NDcsIDE4NTYsIDAsIDAsIDYzNzksIDAsIDAsIDAsIDMyMDgsIDEyOTc1LCAKLSAgICA3NDc3NSwgMTI3MzgwLCA5ODM5MzEsIDkyMzg5LCA3NDA3MiwgNTUyNjksIDAsIDAsIDk4MzY4MywgMjAzMywgNzg1NzcsIAotICAgIDc4NTc2LCAxOTUwMjYsIDU1MjU0LCA3NzQwLCAwLCAwLCAwLCA3Mzk2NCwgMCwgOTM5ODgsIDY3NjEyLCA2NTY3NCwgCi0gICAgMTI4MjQ0LCA5NDExMCwgNDE2ODksIDAsIDc0MDA2LCA2NDkwOSwgNjY0NiwgMTE3OTAsIDc0MDE5LCAwLCAxMjgwNjYsIAotICAgIDEyODAzMSwgODU2MSwgNDU3MywgMCwgNTMyNiwgMCwgMTIwNjA1LCA3MjMwLCA4MjU3LCAwLCA4Nzc4LCA0MTY4OCwgMCwgCi0gICAgNjU3NzYsIDIwNzEsIDgzMTQsIDY0NTksIDAsIDc2MjgsIDY1MDkyLCA3MzkwMywgNjY3MjEsIDExMzQyLCAxMjg1NjEsIDAsIAotICAgIDAsIDEyODIyNiwgMTI3MDAxLCAwLCAxMTgxMCwgMTMxNjQsIDEwNzIzLCA5NjcsIDk4Mzk1MSwgMTI2NDY5LCAxMTk0NiwgMCwgCi0gICAgMzI1NywgMCwgMTIzMDcsIDE4NDUsIDk4MzE1NywgNDM1MjYsIDAsIDAsIDE4ODYsIDQyMzQyLCAxMDA4OSwgODcwLCA3NjQ4LCAKLSAgICAzNDk5LCA4NjA5LCA3NjUyLCA4NzYsIDg3MSwgODc3LCAwLCA4NzgsIDQyMDE1LCA4NzksIDQzNjkyLCA0NTYzLCAwLCAwLCAKLSAgICA3NTkxLCA2NTg4NywgODY3LCA5NTIwLCA4NzIsIDEyNjYwNywgODY4LCA4NzMsIDc2NDIsIDAsIDg2OSwgODc0LCA3NjQ0LCAKLSAgICAxMjA2NzQsIDg3NSwgNzkwLCAxMjgzMDMsIDAsIDAsIDAsIDY2MTgyLCA5ODMyNTgsIDU0MjksIDE5NTA1NSwgNjYxODAsIAotICAgIDEyNjQ4MCwgNjYxODEsIDY4NDUyLCA5ODMyODksIDk4MzI0OCwgNDIwNjcsIDAsIDU0MzMsIDEwNjU3LCA3OTExLCAKLSAgICAxOTQ2MjIsIDE1NDcsIDY2MTc2LCA0MjAxMiwgMTIwNTc2LCA1NDI1LCA0OTc3LCA5OTk5LCA1MzE3LCA1NDIzLCA0NjExLCAKLSAgICAwLCA2NzYzNywgMCwgOTY3OSwgNzQxMjIsIDAsIDAsIDAsIDY2MTk0LCA0NDE4LCA2NjE4NCwgNDYyOCwgNDI0NSwgCi0gICAgMTE5NjQ4LCAwLCAwLCAxODUxLCAwLCAxMjcxODksIDExOTA4LCAwLCA5MzYwLCAxMTg4OTcsIDk4MzIwMiwgNDI3NzYsIAotICAgIDY2MTg3LCAxMjgzNywgODgyOSwgNzcxMSwgOTI3MTQsIDAsIDkyMzIxLCA0MzMxOCwgMCwgODgwOSwgNjk4ODEsIDAsIAotICAgIDk4MzE0MiwgMTIwNjA0LCA5ODMwNTIsIDk4Mzg4MiwgMCwgOTgzMjcwLCAwLCAwLCA3NDI3LCA5OTU4LCA0NTg4LCA0MzY4MCwgCi0gICAgMCwgNzQ0ODQsIDE5NDk2OCwgMjQzMywgMCwgMTE5NjIyLCAzMzUyLCA3NDM2MywgOTgzODg1LCAwLCA3OTMsIDc0NDA0LCAwLCAKLSAgICAzMDUsIDU2NywgNjc2NjIsIDg0MiwgMTI4NTE5LCA4MjA4LCAwLCA0MTY5NSwgMTY0NywgMTE4ODc3LCAwLCA3ODM3LCAKLSAgICA5MTc2MjUsIDgxOCwgNTMzNywgMTk0NjI4LCA5MTc2MjEsIDQxMzc2LCAxMTk5NzgsIDEyNjU3NiwgMTIwNTk0LCA3NDA4NiwgCi0gICAgOTE3NjE1LCA5MTc2MTQsIDkxNzYxMywgMTA5NzMsIDY2MzU5LCAxMzcyLCAxMjcxNzIsIDkxNzYwOCwgNDk2OSwgMTI1NCwgCi0gICAgOTE3NjA1LCA5MTc2MDQsIDkzOTY3LCA5MTc2MDIsIDY1MjI4LCA3ODIyMSwgMTI2NjEyLCAwLCAyODQwLCAwLCAxMTk5ODIsIAotICAgIDk4MzkzOSwgMCwgMzI0NSwgOTA2OCwgNjgxOTQsIDY0NzI1LCAwLCAwLCAxMjk5MSwgMCwgMjY1MSwgNjgwMTYsIDk4MzI2NSwgCi0gICAgOTE3NjExLCAxMjcwMjYsIDEyODg4MywgMCwgMCwgNDM2NDgsIDEyMDgxMiwgMCwgNDMzMjIsIDkyNjYyLCAwLCAwLCAKLSAgICA2NDM3MiwgOTI2OTgsIDMyMjYsIDY1NSwgNzUyLCA3NDU3LCA3NDU2LCA3NDUyLCAzMjg1LCAxMjg3NzksIDEyNzgyMSwgCi0gICAgMTE5OTg4LCA2NTYxMCwgMjM5MSwgMCwgOTIyNDgsIDY3MSwgMjUwLCA3NDM0LCA2MTgsIDY2OCwgNjEwLCA0MjgwMCwgCi0gICAgNzQzMSwgMTE1MiwgNDI4MDEsIDY0MCwgMTIwNjY2LCA3NDQ4LCA3NDM5LCA2MjgsIDM5MDUsIDczODEwLCAwLCAxMjgyNjYsIAotICAgIDY0NzQ5LCA2Nzg1MCwgMjEwNywgMCwgMCwgNDYwNSwgMTI4MTc0LCA5ODMxOTIsIDQzMzcyLCA2NTk0NSwgMTI4ODM4LCAwLCAKLSAgICAxMTk1OTAsIDAsIDAsIDAsIDk4NywgNjkyNywgMTE1NzIsIDQyMjYxLCAxMTQ2NCwgMzM2NSwgOTk3MSwgMCwgMCwgCi0gICAgMTI4Mjk3LCAwLCAwLCAwLCAwLCAxMTMzNCwgNDMzMjYsIDEyNjA5LCAxMTUxOSwgMTE1MDMsIDU1MzAsIDUyMTAsIDAsIAotICAgIDQ2MjcsIDk4Mzg5MiwgNTIwOCwgMCwgMTI4ODQyLCAxMDMzMiwgNTIxOCwgNzk3NiwgOTE1NiwgMCwgMzI0NCwgNTUyOSwgCi0gICAgNjk2NDcsIDczODk0LCAxMjg4NTIsIDU0MzIsIDY0OTY1LCA1NTI3LCA3NDAzMywgMTA1MTYsIDc3OTAsIDU1MjgsIDAsIAotICAgIDQyMTQwLCAxMjAyODEsIDAsIDAsIDQzNTQ1LCA5ODg3LCAwLCA0MDAwLCA3NDI5LCA3NDI4LCA2NjUsIDc0MjQsIDMyMDYsIAotICAgIDEyMDI3OCwgNzg4NCwgMCwgMTI4NTY2LCA5MTc5ODksIDEyODY2NiwgMjExLCAyNTA5LCAxMjg4NTgsIDEyMDU3MywgCi0gICAgNjg2NzIsIDMyMjAsIDQyMjM1LCAwLCAxMDY5MCwgODk1MSwgNTIxNCwgNDI0NzQsIDgxMTgsIDAsIDcwNDgsIDQ1OTAsIAotICAgIDEyNzI1OCwgNTg1MiwgMCwgMCwgMTI3MjU5LCAxNzA4LCAwLCA5ODMxNjUsIDI2MjMsIDExOTQzLCAwLCA2OTIyNiwgMCwgCi0gICAgNDY5OCwgNjY1MDksIDEwNjYsIDExOTkyMSwgNDcwMSwgOTgzODc2LCAxMjAyODUsIDc0MjI1LCA5NDExMSwgODI2NywgMCwgCi0gICAgMTI3MjY1LCAwLCA3NTE2LCAwLCAyNjI1LCA5ODM5NzcsIDgwMzQsIDc0MzA5LCAwLCAzNjMxLCAxMDk1NSwgNzg1MCwgCi0gICAgMTIwMjkzLCA4NDE2LCAwLCAwLCAwLCA0MzM4NCwgMTI2NjAsIDAsIDAsIDAsIDc0ODUwLCA0MTA2OSwgMCwgMTI4MTU2LCAKLSAgICAxMjA5OSwgNDMxMCwgMTAwMzIsIDYyNTIsIDcxMywgNzk5MCwgMCwgMzk5MCwgMCwgOTgzMjYyLCA2NjM2OCwgNTAxNywgCi0gICAgNjQ5NTYsIDcwNzEsIDAsIDExOTE0NCwgMTAzMCwgMTE4ODAwLCA5ODMxMjAsIDk1MTMsIDQxMDU5LCA5MzU3LCAwLCAxNzczLCAKLSAgICAwLCAxMjAzNTAsIDAsIDYzMzksIDc3NDUsIDk4NDQsIDAsIDY0NjUwLCA5NCwgMTg4MCwgNzQ3NjYsIDk4MzgzOCwgODkwOCwgCi0gICAgMCwgMTI4NzA3LCA2NTkxMywgNzg0NzAsIDEwNzUyLCAxMzAwMywgMCwgMTI2NTcyLCA0MTMwNywgODczMiwgMTIwMzM4LCAwLCAKLSAgICAxNzU3LCA2OTY0LCA0Njk2LCAwLCAxMjAzMzUsIDY0Nzg1LCA3Mzk0LCAzNjQxLCA1NDE5LCAxMjgwNTUsIDAsIDEyNzg4MywgCi0gICAgMCwgMTIwMzQ0LCA0Mzk4OCwgMCwgODYxMCwgNDMwNjIsIDc1OTIsIDg1NiwgNzQyOTksIDkzNiwgMTMyODksIDY5ODk0LCAKLSAgICA0MzE3MSwgMTQ1OSwgMCwgNjUyNDMsIDc4NjM4LCAxOTk1MywgMCwgMTUwNCwgNzAwNjQsIDAsIDEyOTEzLCA3NDIwNiwgCi0gICAgNzUyOSwgMCwgMTI4Njk5LCA5ODM5NTcsIDEyMDc4MiwgNDExMywgMCwgMjM3MiwgMzM2LCAwLCA3NTA5LCAxMjE1MiwgMCwgCi0gICAgNjgyLCA2NjQ1OCwgNDE1MDUsIDAsIDY0NzQzLCAxMDU5MywgMTcwMywgMCwgOTgzOTU1LCA4MDMzLCA2OTk1MywgMCwgCi0gICAgOTgxMCwgMTI3MjY5LCAwLCAxMjk3MCwgMCwgNDIzNTEsIDEwMTA5LCA5MTc2MjMsIDAsIDE5NDY5MywgMCwgOTI2OTAsIDAsIAotICAgIDAsIDc0MjkxLCAxOTY1LCA3MDY5LCA0MzMxMiwgMCwgNzM4ODcsIDAsIDIwODcsIDY0MzcwLCA2MzE0LCA0MTcxNCwgODUwMSwgCi0gICAgMCwgMCwgNzQyMzksIDQxMzE3LCA5MjYxNCwgMjA5MSwgNzQ1NDUsIDIwOTAsIDAsIDkzNTMsIDcxMTcsIDIwNzcsIDc3ODg2LCAKLSAgICAwLCAxMDQ5OCwgMjA4MywgNzc4ODgsIDAsIDAsIDExOTIzNiwgNjM0LCAwLCAwLCAwLCA2OTc3OSwgNDE2NSwgODc0NiwgMCwgCi0gICAgOTY1NCwgMTI4NTYsIDY5MjQsIDAsIDcwNjYsIDk4MzcxOSwgMCwgMTI4MTM1LCA0MTAzNywgNDI2OTIsIDc3ODYsIDEyOTU5LCAKLSAgICA0MTAzOSwgMTI3NDgzLCAwLCA2ODAsIDIzMDIsIDEyODIwMCwgMTE4MSwgNzA1NiwgMzE3NCwgMTI2NTE2LCAwLCA5MjY2OCwgCi0gICAgNjU2NjUsIDEyNzM3NSwgMTI2NTA2LCA2OTIwLCAwLCA5MjI5NSwgMCwgMTE4OTY1LCAwLCA2NDY0NCwgMTI2OTgxLCAKLSAgICA3NDExOSwgMCwgNDEwMjgsIDAsIDYyMzEsIDI2MTMsIDY1MzAyLCA0MDk4OSwgMCwgMTk0Njk2LCAwLCA0Mjc2MCwgMCwgCi0gICAgOTgzNTY2LCAwLCA0MDk4NywgNDY2NywgMCwgOTgzOTMyLCA4ODI4LCAwLCAwLCAxMjQ2LCA0NzQ2LCAwLCAwLCAxMTAyMSwgCi0gICAgNDc0OSwgOTI2NzUsIDAsIDkyMSwgNDc0NCwgMCwgMTI3MDIsIDI0MiwgMCwgMTU2NiwgODIxNywgMCwgNjQ2NTMsIDc4Mzg2LCAKLSAgICAxMjgxMjEsIDc0MDM2LCA3NDUwNSwgNDMyNzQsIDUzMTMsIDk1MSwgMCwgMCwgOTgzODY3LCA3NjA0LCA5ODMyOTAsIDQwMDksIAotICAgIDEyNzgxNiwgOTgzNzEwLCAxMjA1NjIsIDAsIDk4MzcyMCwgNjQ4NjAsIDExOTEzOCwgMTE5MDY5LCAwLCAxMjczNzAsIAotICAgIDQwNDgsIDk4MzU5OCwgMCwgNzAwMjQsIDE2NDYsIDc3ODkwLCA2NDUzNCwgNzM5OTUsIDEyMDcwNSwgMCwgMTE5ODkwLCAKKyAgICA2NTMxNiwgNDEwNiwgNjUzMTQsIDY1MzEzLCA0MjA3NCwgMTI3ODQ3LCA0MTIyOCwgMTI4OTYwLCA2NTYwOSwgNDEyNDEsIAorICAgIDc5MDMsIDQxMjM5LCA0MzUzMywgNzg0NTksIDcxODksIDAsIDAsIDEyODc1MywgMTIzNTcsIDQyODAyLCA3ODQ1MCwgODQ4NywgCisgICAgOTEzMSwgNjYyOTIsIDQ2MTUsIDEyNjk1LCAxMjc3NTIsIDAsIDEyMTc1LCAwLCA2NDUzNSwgMCwgNzgwOSwgMCwgMCwgNTYyLCAKKyAgICAxMjE2OSwgNjU5MCwgNjk3NjIsIDY2NDU1LCA2NDczOCwgMzIxOSwgNjg2NTQsIDk4Mzc4NywgMTI4MjgxLCAxMDM3LCAKKyAgICAxMjg2NzcsIDIwMjUsIDEyODI2MywgMTMwOTgsIDc4NDQyLCAxMDYzNywgNDU2OCwgNTQ5LCAxNTcwLCA0MzgzOSwgMjgzNSwgCisgICAgMCwgMTA2MjQsIDQzNjIzLCAxMTA3MiwgMTI3MTkxLCAwLCAwLCAxMjYwNiwgNzg0MzMsIDI4MjUsIDAsIDEwODI1LCA4MDc5LCAKKyAgICAyODIxLCA0MTA0NiwgOTIzMjcsIDczNjUsIDkyNjM0LCAxMjA1OTMsIDEzMDcxLCAxMjkwNTIsIDQ1MiwgNDEwNDksIAorICAgIDQyODQwLCA2MzQ2LCAyODMxLCA1NDYxLCA3NDU5NiwgMTE0NjUsIDUyMTIsIDAsIDY0NzAzLCAxMTkxOTEsIDQyMzA4LCAKKyAgICA3MTgxLCAwLCA0MTMzMiwgMCwgMTIzMzMsIDQxMDQ3LCAxNjY4LCAwLCAwLCAwLCAxMTg3LCA5ODMzODUsIDQyNjI4LCAKKyAgICA3ODU3NSwgMCwgNzE4NjMsIDAsIDMyNDAsIDEyODUxOCwgMTIxNTEsIDAsIDExNTkxLCA0MTA2NSwgNTMyMywgODE2NiwgMCwgCisgICAgMCwgMCwgNjY4MjcsIDE2MjMsIDY1Mjk3LCAxMjg4NTYsIDU3MSwgMCwgNDkxOCwgMCwgNTI4OCwgMTI3Mjk1LCAxNTQxLCAKKyAgICA2NTA0OCwgMTkwOSwgODg2NCwgMCwgNjY0MDIsIDEwNzM2LCA5MjUwOCwgMTE1NzEsIDc2MTUsIDcwNDc2LCA5MjI5NiwgCisgICAgNDIzNywgOTI1NzYsIDEwMzUsIDY1ODE1LCAxMTkzMDEsIDM1NjcsIDcwMSwgNjU5MzYsIDM0ODksIDAsIDcwNDYyLCAKKyAgICA3MDE3MiwgMTE0MDMsIDAsIDAsIDEyNzE0NiwgMzc5NiwgNjgwMCwgNzA0NzIsIDM5OTQsIDExNDIxLCA3NDYxMSwgCisgICAgMTk1MDc2LCAxOTUwNzgsIDk4MzkyMiwgMCwgMCwgNjQ4NTcsIDEyODEwNSwgMjg1NSwgNzQ0MTgsIDY2MzA4LCA0MTYyMSwgCisgICAgNjgyMTQsIDEyNzI4MywgMTI3ODE3LCAxMDY1NCwgMTI3ODE4LCAxMTkyMjYsIDEyMTY0LCAzMjQ2LCA3OTA2LCA0Mzk3MiwgCisgICAgNjU4NDcsIDcxODIsIDAsIDEzMDI0LCA2NjI3NiwgNzQyNzAsIDEyODI4OSwgMTI1MDkwLCAwLCAwLCAxNDk2LCA3NDcsIDAsIAorICAgIDk0MiwgMjM3OCwgNDMxMzYsIDEyNzkwNSwgODQ2NiwgOTgzNTc1LCA5MzIwLCA4MDAxLCAxMjMyLCA4MTM5LCAxMTYxNywgCisgICAgNzQ2MzcsIDAsIDExNDA5LCA2ODM3MywgNjM4MiwgMTI2NTAwLCA2NDYzNCwgOTIzNjIsIDcwMjAyLCAxMTYxMiwgOTMwMDgsIAorICAgIDY3NjAwLCAyMzc0LCA5NDA2NiwgODQ3NSwgMTE2MDksIDY2MzEzLCA5ODM3NjksIDAsIDUyODYsIDExOTI5NywgMCwgCisgICAgOTgzMjUxLCA2NDkyNSwgMTIwMjgzLCAxMjcyMDQsIDExODk4MiwgNzE5MDUsIDc3MDUsIDExOTQyLCAxMTMwNSwgMTI3MjAzLCAKKyAgICAzMzA5LCAxMjg2MTksIDkyMDYsIDExOTE2NSwgMTEzODI0LCA2ODAyLCA3MDM1MywgNDE2NTMsIDEyODAsIDEyNDEsIDcxNjgsIAorICAgIDEyMDk2LCAwLCA2NjYxNSwgNDI1NjUsIDQxNjUxLCAwLCA5MTc2MjcsIDAsIDQxNjUwLCA2NjUwNywgNjY0NzAsIDc0NDcyLCAKKyAgICAxMjkxNCwgNDE0OTEsIDY2MDEwLCA5NDEwNiwgNjA3OCwgOTk1NCwgNzg4MjIsIDE0NzUsIDExOTI0NywgOTkzOCwgNjA4NCwgCisgICAgOTE3NTQ2LCA0MTA2NCwgNDEwNjIsIDAsIDAsIDMyNTYsIDEwMTg5LCA0MjA3NiwgNDMyNTIsIDc4ODIzLCA3MTg2MSwgCisgICAgODcyNywgMCwgNjU4NzUsIDAsIDAsIDEyNzc2MiwgMTA1NjIsIDc0MjE1LCA0MzA2NSwgMCwgMCwgMzI0OCwgNzQyOTcsIAorICAgIDMyNjEsIDkwMTUsIDcxMzUxLCAwLCAzNjM1LCA2NDMzNywgOTI3NTksIDEyNTA1NCwgMCwgNzE5NSwgMCwgMjAwNywgCisgICAgNjQ0MzEsIDAsIDAsIDkyMTk3LCAwLCA2MzUsIDAsIDAsIDY1NjEzLCA3NzkwOSwgOTI0MjAsIDczOTk3LCAwLCAwLCAKKyAgICAxMTkyMTgsIDc5ODQsIDg2MDAsIDc0NDM0LCAxMjc3NzAsIDQxNzYsIDcwMDUwLCAyMDM0LCA3ODQyMywgMTExNTQsIAorICAgIDY1ODkxLCAxMjcwMzgsIDAsIDMxOCwgMjAzOCwgMTI4ODYwLCA3ODU5NiwgMTk0NjAyLCAzNjQ5LCAxMzE0OSwgNDIxNDUsIAorICAgIDQyNzk4LCAzNjM0LCAxMjAyOTEsIDcxODg1LCA2NzY3NywgMTIwMTI0LCA3ODY2LCAwLCAxMTQwMiwgNDIxNDYsIDk0MDMyLCAKKyAgICA3NDIzOCwgNDI2NjQsIDI4NDksIDEyNzAzNCwgMCwgNzkzOCwgMTI5NjAsIDE3NjEsIDExODEyLCA2NTM3OSwgNjgzODYsIAorICAgIDEyODE4NSwgMTE1OSwgNzExODMsIDY5NzI5LCAwLCAxMjA3OTcsIDcxNzgsIDE5NDYzMiwgOTgzODM2LCA0MTY4MCwgMCwgCisgICAgMTI4MjAzLCAxMTUzNCwgMTUxNCwgMTE2NjgsIDY3ODkxLCA5MzEzLCA3MDE1LCAxMjg0OTAsIDY3ODc3LCAxOTQ1NjcsIAorICAgIDEyOTg5LCA2NjQ3NCwgOTM2OCwgMTI4NDgsIDE2MjQsIDQzMjcwLCAwLCA3NDI3OCwgMTA4MTgsIDEyNjY0NCwgOTk1MywgMCwgCisgICAgNzg0MjEsIDExOTQsIDMyNDIsIDk3NjEsIDk1NTUsIDg1OTgsIDEyMDI5OSwgNjE2OSwgMTI4NzEsIDE1NTEsIDI3OTgsIAorICAgIDY1MTc2LCA0OTU4LCA0Mjc1MiwgMTE5MDI1LCAwLCA2Nzg3NSwgMTIwMzAxLCAzNDk1LCA2NjY0OCwgMTI1MDc5LCAKKyAgICAxMTM3ODAsIDY4MzY0LCAxMjA3NzksIDQ4OTEsIDAsIDEwNjQxLCAwLCA3Mzc0NiwgOTgzODM3LCA2ODM1MiwgMCwgNzM3ODcsIAorICAgIDE5NDgyOSwgMTk0NjMzLCA3MTk5LCAxMTEzMSwgMCwgMCwgMCwgOTgzODUyLCAwLCA0MjY4NSwgNDI2NzksIDE5MywgCisgICAgNzg3ODksIDAsIDAsIDQyNjY3LCAwLCA1MjcxLCA2ODMyMywgOTI1MTcsIDExODg4MiwgMTM2MiwgMTMyOTcsIDAsIDcxODgwLCAKKyAgICAwLCA5ODMzMzEsIDczNzg5LCAwLCA2NjU4LCA0NDI2LCAwLCA2NjgzMCwgOTgzODQyLCA5MjMxOSwgNzI3NiwgNDIxNjMsIAorICAgIDUyMjAsIDAsIDAsIDEyNTA4MCwgMjQxNiwgMzMxMCwgNDI3MDMsIDEyNzgyOCwgMzc5LCAwLCA0Mzc1NSwgNzA1MDQsIAorICAgIDQzNjQ3LCAzMjIzLCA2NTQ5MiwgMTI4NCwgMTk0NzcxLCA0NTQ5LCAwLCAwLCA5ODMxNTQsIDcwNzg0LCAxMDgwNywgOTU1OCwgCisgICAgOTMwMjcsIDAsIDg1MTUsIDg2ODgsIDEyODY2LCA2NTMwOCwgMzI5NCwgOTgzMzMyLCA4NTI5LCAxMjgxMDEsIDQzMzg1LCAKKyAgICA3NTY0LCAwLCA0MzMyOSwgMCwgOTI0NTgsIDczNzU3LCA2NjQ1NiwgNDIzNTksIDAsIDIwMzEsIDk4Mzg5MCwgNzIwMiwgCisgICAgMTI4NjE4LCAxMjY3NiwgNDI3MjksIDc0Nzc3LCAzMjE1LCAwLCA3NzEwLCAxNjEwLCA3MzgwMSwgMCwgMCwgNjU2ODIsIDAsIAorICAgIDEyMDUzNywgNjU5MjQsIDk5NzQsIDIyOCwgNjYzNTQsIDE1MDEsIDAsIDY0Mzk1LCA1MTc5LCA3MjAwLCA2MjI1LCAKKyAgICAxMTg5MjcsIDQyOTk5LCAxNzI1LCA2NTUzMywgODE5NiwgNzQ3NiwgNzQzOTksIDAsIDY2ODY4LCA3MTUyLCA4NTAyLCAKKyAgICA1NzYyLCAxOTY3LCA3NDgzLCAxMjUwODMsIDAsIDgxMDQsIDcwMTI4LCA3NDc0LCA3Nzk3OSwgMTI3MjAwLCAxMjY1MDcsIAorICAgIDEwNDE0LCAxMzAwMSwgODE0MSwgMCwgNDI1MzcsIDE1NTcsIDQzNTk0LCAxMjg2NDIsIDYzMzAsIDY4MDUsIDg2MzEsIAorICAgIDI1NDUsIDcwMDUyLCAxMjcxNjYsIDAsIDc0MTkwLCAwLCA3MDQxMCwgOTgzNzg2LCA0Mjc2MiwgMCwgNDI5MTQsIDE2NTAsIAorICAgIDI2MiwgMTYzNywgMTI4NTAyLCA3OTAxLCAzMjM4LCAxMjgxNzMsIDQxODYxLCAwLCAxMjAyMTEsIDY1MTU4LCAxMDg2MCwgCisgICAgOTQwNTksIDQzNjU4LCA3NTI3LCAwLCA0MzMxOSwgNjQxOSwgMCwgNDUsIDAsIDY0NTg4LCA5Mzk4OSwgMTI3NzUzLCAKKyAgICAxMTk4MTAsIDcxOTQsIDUyOTEsIDAsIDQzNjY2LCAxMzEyOSwgMTI4Njg0LCA5MDg0LCAwLCA4NzM3LCA5ODMxNjUsIAorICAgIDEyODgxLCAwLCAxMjkwNiwgOTYzOSwgNzkxMiwgMjYyMCwgOTgzODgyLCAzNTY0LCAwLCA2OTk3OCwgMTc5LCA0MzY0NCwgCisgICAgMTI2NTAzLCA2NDc1NiwgMjg1MywgNzg0NDMsIDExODgxMywgMTI5MDQyLCA3MDM0NywgMTE5MDA5LCAyODUwLCA4MDg0LCAKKyAgICA5ODMwODUsIDczODUwLCAyODAxLCA5MjI4NCwgNDIwNjksIDExOTgzOSwgNzQ3NTQsIDExOTg0MSwgNDIwNzIsIDkyNzM2LCAKKyAgICAxMTk4NDIsIDEwMzk4LCA5ODMwNTYsIDAsIDgzNzcsIDExOTMxMiwgODI0NSwgNjg0MDEsIDMxNTgsIDkyMzk2LCAzOTgzLCAKKyAgICA0MzY1NiwgOTIzLCAxMTk4NTcsIDkyNDcwLCAyOTIsIDExMTE5LCAxMTk4NDUsIDExOTg0NCwgMzIyMSwgMTc2MywgOTI0NjMsIAorICAgIDQ2MTIsIDY3NzI5LCAxMTk4NTAsIDcyNTMsIDcwNDU2LCA2ODM5MSwgMCwgMTA3ODIsIDM2MzcsIDEyOTk2LCA0MzU0MiwgCisgICAgMTEzNjc2LCA2NDU3OCwgOTgzNjc1LCAzMjI4LCA2OTYzNiwgODc4MywgMCwgMTE5NjE0LCAyNzMxLCAwLCAwLCA3ODU4NSwgCisgICAgNDEwMiwgNzY5NiwgNzM4NzgsIDAsIDEyOTEyOCwgNzA4MTMsIDQzMzE2LCA0MTc3LCAxMTI4MywgOTA4OSwgMCwgNzM5OTYsIAorICAgIDk4MzE3MywgNjQ1MDAsIDQzNjc0LCAwLCA2NDk0NywgMTg1NiwgMCwgMCwgNjM3OSwgMCwgMTExNDIsIDEyNzE3NiwgMzIwOCwgCisgICAgMTI5NzUsIDc0Nzc1LCAxMjczODAsIDk4MzkzMSwgOTIzODksIDc0MDcyLCA1NTI2OSwgMCwgMCwgOTgzNjgzLCAyMDMzLCAKKyAgICA3ODU3NywgNzg1NzYsIDE5NTAyNiwgNTUyNTQsIDc3NDAsIDAsIDcwNDQ4LCAxMjc4OTUsIDczOTY0LCA2ODUwNSwgOTM5ODgsIAorICAgIDY3NjEyLCA2NTY3NCwgMTI4MjQ0LCA5NDExMCwgNDE2ODksIDAsIDc0MDA2LCA2NDkwOSwgNjY0NiwgMTE3OTAsIDc0MDE5LCAKKyAgICAwLCAxMjgwNjYsIDEyODAzMSwgODU2MSwgNDU3MywgMCwgNTMyNiwgOTI1NzEsIDEyMDYwNSwgNzIzMCwgODI1NywgCisgICAgMTk0OTM3LCA4Nzc4LCA0MTY4OCwgMCwgNjU3NzYsIDIwNzEsIDgzMTQsIDY0NTksIDQzNTExLCA3NjI4LCA2NTA5MiwgCisgICAgNzM5MDMsIDY2NzIxLCAxMTM0MiwgMTI4NTYxLCAwLCA5ODM0MzIsIDEyODIyNiwgMTI3MDAxLCAwLCAxMTgxMCwgMTMxNjQsIAorICAgIDEwNzIzLCA5NjcsIDk4MzcxNywgMTI2NDY5LCAxMTk0NiwgOTgzNjAyLCAzMjU3LCAxMjcyMDksIDEyMzA3LCAxODQ1LCAKKyAgICA5ODMxNTcsIDQzNTI2LCAwLCAwLCAxODg2LCA0MjM0MiwgMTAwODksIDg3MCwgNzY0OCwgMzQ5OSwgNzY2MiwgNzY1MiwgCisgICAgODc2LCA4NzEsIDg3NywgNzY2NSwgODc4LCA0MjAxNSwgODc5LCA0MzY5MiwgNDU2MywgMCwgMCwgNzU5MSwgNjU4ODcsIAorICAgIDg2NywgOTUyMCwgODcyLCA3NjU2LCA4NjgsIDg3MywgNzY0MiwgNzY1OSwgODY5LCA4NzQsIDc2NDQsIDEyMDY3NCwgODc1LCAKKyAgICA3OTAsIDEyODMwMywgMTE4OTM4LCAwLCA5ODM2NDEsIDY2MTgyLCAxOTQ2MjMsIDU0MjksIDE5NTA1NSwgNjYxODAsIAorICAgIDEyNjQ4MCwgNjYxODEsIDY4NDUyLCA5ODMyODksIDkxNzkyOSwgNDIwNjcsIDAsIDU0MzMsIDEwNjU3LCA3OTExLCAKKyAgICAxMjUxMTksIDE1NDcsIDY2MTc2LCA0MjAxMiwgMTIwNTc2LCA1NDI1LCA0OTc3LCA5OTk5LCA1MzE3LCA1NDIzLCA0NjExLCAKKyAgICAxMjUwOTQsIDY3NjM3LCAxMjcyODYsIDk2NzksIDc0MTIyLCA5Mjk3OCwgMCwgMCwgNjYxOTQsIDQ0MTgsIDY2MTg0LCAKKyAgICA0NjI4LCA0MjQ1LCAxMTk2NDgsIDAsIDAsIDE4NTEsIDEyNDk5NSwgMTI3MTg5LCAxMTkwOCwgMCwgOTM2MCwgMTE4ODk3LCAKKyAgICAxOTQ4ODAsIDQyNzc2LCA2NjE4NywgMTI4MzcsIDg4MjksIDc3MTEsIDExMTEyLCAwLCA5MjMyMSwgNDMzMTgsIDkyMzAyLCAKKyAgICA4ODA5LCA2OTg4MSwgMCwgMTI2NTE4LCAxMjA2MDQsIDk4MzA1MiwgOTgzMjc1LCA5ODM0MzEsIDk4MzI3MCwgMCwgCisgICAgMTIwNTc3LCA3NDI3LCA5OTU4LCA0NTg4LCA0MzY4MCwgMCwgNzQ0ODQsIDE5NDk2OCwgMjQzMywgMTI4NjAyLCA2OTk3MywgCisgICAgMzM1MiwgNzQzNjMsIDk4Mzg4NSwgMCwgNzkzLCA3NDQwNCwgMTExOTcsIDMwNSwgNTY3LCA2NzY2MiwgODQyLCA2OTk3OSwgCisgICAgODIwOCwgNjgzMDgsIDQxNjk1LCAxNjQ3LCAxMTg4NzcsIDcwODQxLCA3ODM3LCA5MTc2MjUsIDgxOCwgNTMzNywgMTk0NjI4LCAKKyAgICA5MTc2MjEsIDQxMzc2LCAxMTk5NzgsIDEyNjU3NiwgMTIwNTk0LCA3NDA4NiwgOTE3NjE1LCA3MDE3OSwgOTE3NjEzLCAKKyAgICAxMDk3MywgNjYzNTksIDEzNzIsIDEyNzE3MiwgOTE3NjA4LCA0OTY5LCAxMjU0LCA5MTc2MDUsIDE5NDY1NCwgOTM5NjcsIAorICAgIDkxNzYwMiwgNjUyMjgsIDc4MjIxLCAxMjY2MTIsIDY3NzIzLCAyODQwLCAwLCA3ODgyOSwgOTgzOTM5LCA2Njg4NywgMzI0NSwgCisgICAgOTA2OCwgNjgxOTQsIDY0NzI1LCAwLCAxMjgwNTEsIDEyOTkxLCAxMjQ5NzEsIDI2NTEsIDY4MDE2LCA5ODMyNjUsIAorICAgIDkxNzYxMSwgMTI1MDM4LCA3MDgzNSwgMCwgNzA4NDQsIDQzNjQ4LCAxMjA4MTIsIDkxNzgzMywgNDMzMjIsIDkyNjYyLCAwLCAKKyAgICAwLCA2NDM3MiwgOTI2OTgsIDMyMjYsIDY1NSwgNzUyLCA3NDU3LCA3NDU2LCA3NDUyLCAzMjg1LCAxMjg0NzUsIDExMTUyLCAKKyAgICA5MjkwMywgNjU2MTAsIDIzOTEsIDkyOTA4LCA5MjI0OCwgNjcxLCAyNTAsIDc0MzQsIDYxOCwgNjY4LCA2MTAsIDQyODAwLCAKKyAgICA3NDMxLCAxMTUyLCA0MjgwMSwgNjQwLCAxMjA2NjYsIDc0NDgsIDc0MzksIDYyOCwgMzkwNSwgNzM4MTAsIDEyODM0MCwgCisgICAgMTI4MjY2LCA2NDc0OSwgNjc4NTAsIDIxMDcsIDEyODM0NSwgNzQyNDksIDQ2MDUsIDEyODE3NCwgOTgzMTkyLCA0MzM3MiwgCisgICAgNjU5NDUsIDEyODgzOCwgMTExMTMsIDExOTU5MCwgMCwgMCwgNzA0OTUsIDk4NywgNjkyNywgMTE1NzIsIDQyMjYxLCAKKyAgICAxMTQ2NCwgMzM2NSwgOTk3MSwgMCwgMCwgMTI4Mjk3LCAwLCA3ODc2MiwgMCwgMCwgMTEzMzQsIDQzMzI2LCAxMjYwOSwgCisgICAgMTE1MTksIDExNTAzLCA1NTMwLCA1MjEwLCAwLCA0NjI3LCAxMjc3ODQsIDUyMDgsIDAsIDEyODg0MiwgMTAzMzIsIDI0MjQsIAorICAgIDc5NzYsIDkxNTYsIDAsIDMyNDQsIDU1MjksIDY5NjQ3LCA3Mzg5NCwgMTI4ODUyLCA1NDMyLCA2NDk2NSwgNTUyNywgCisgICAgNDIzMTUsIDEwNTE2LCA3NzkwLCA1NTI4LCA5ODM2OTksIDQyMTQwLCAxMjAyODEsIDAsIDAsIDQzNTQ1LCA5ODg3LCAKKyAgICAxMjkwNDQsIDQwMDAsIDc0MjksIDc0MjgsIDY2NSwgNzQyNCwgMzIwNiwgMTIwMjc4LCA3ODg0LCAwLCAxMjg1NjYsIAorICAgIDkxNzk4OSwgMTI4NjY2LCAyMTEsIDI1MDksIDkyOTA0LCA3MDgyMiwgNjg2NzIsIDMyMjAsIDQyMjM1LCA3ODQ4MCwgCisgICAgMTA2OTAsIDg5NTEsIDUyMTQsIDQyNDc0LCA4MTE4LCAwLCA3MDQ4LCA0NTkwLCAxMjcyNTgsIDU4NTIsIDAsIDc4NDgyLCAKKyAgICAxMjcyNTksIDE3MDgsIDAsIDc4NDgxLCAyNjIzLCAxMTk0MywgMTI4NzAwLCA2OTIyNiwgNjk5NzQsIDQ2OTgsIDY2NTA5LCAKKyAgICAxMDY2LCAxMTk5MjEsIDQ3MDEsIDk4Mzg3NiwgMTIwMjg1LCA3MDQ0NywgOTQxMTEsIDgyNjcsIDAsIDE0MjEsIDY2NDI2LCAKKyAgICA3NTE2LCAxMjc1NTIsIDI2MjUsIDk4Mzk3NywgODAzNCwgNzQzMDksIDAsIDM2MzEsIDEwOTU1LCA3ODUwLCAxMjAyOTMsIAorICAgIDg0MTYsIDAsIDAsIDAsIDQzMzg0LCAxMjY2MCwgMTI4NjkzLCAwLCAwLCA3NDg1MCwgNDEwNjksIDcwMTg1LCAxMjgxNTYsIAorICAgIDEyMDk5LCA0MzEwLCAxMDAzMiwgNjI1MiwgNzEzLCA3OTkwLCA5ODM0ODcsIDM5OTAsIDEyNTA1MCwgOTgzMjYyLCA2NjM2OCwgCisgICAgNTAxNywgNjQ5NTYsIDcwNzEsIDAsIDcwNDU3LCAxMDMwLCAxMTg4MDAsIDkyNTYzLCA5NTEzLCA0MTA1OSwgOTM1NywgMCwgCisgICAgMTc3MywgNzc5MzksIDEyMDM1MCwgMCwgNjMzOSwgNzc0NSwgOTg0NCwgMTI3MjIwLCA2NDY1MCwgOTQsIDE4ODAsIDc0NzY2LCAKKyAgICAxMTM3MTksIDg5MDgsIDAsIDEyODcwNywgNjU5MTMsIDc4NDcwLCAxMDc1MiwgMTMwMDMsIDAsIDEyNjU3MiwgNDEzMDcsIAorICAgIDg3MzIsIDEyMDMzOCwgMCwgMTc1NywgNjk2NCwgNDY5NiwgMCwgMTIwMzM1LCA2NDc4NSwgNzM5NCwgMzY0MSwgNTQxOSwgCisgICAgMTI4MDU1LCAwLCAxMjc4ODMsIDAsIDEyMDM0NCwgNDM5ODgsIDcwNDIzLCA4NjEwLCA0MzA2MiwgNzU5MiwgODU2LCAKKyAgICA3NDI5OSwgOTM2LCAxMzI4OSwgNjk4OTQsIDQzMTcxLCAxNDU5LCAwLCA2NTI0MywgNzg2MzgsIDE5OTUzLCAwLCAxNTA0LCAKKyAgICA3MDA2NCwgMCwgMTI5MTMsIDc0MjA2LCA3NTI5LCAxMjg3NDUsIDEyODY5OSwgNzAyMDMsIDEyMDc4MiwgNDExMywgMCwgCisgICAgMjM3MiwgMzM2LCAwLCA3NTA5LCAxMjE1MiwgMTk0ODg1LCA2ODIsIDc2NTUsIDQxNTA1LCAwLCA2NDc0MywgMTA1OTMsIAorICAgIDE3MDMsIDkyNDY3LCA3NzkxMSwgODAzMywgNjk5NTMsIDAsIDk4MTAsIDEyNzI2OSwgMTIwMDEzLCAxMjk3MCwgMCwgCisgICAgNDIzNTEsIDEwMTA5LCA3NDUzNSwgMCwgMTk0NjkzLCAwLCA5MjY5MCwgMCwgNjUwNjgsIDc0MjkxLCAxOTY1LCA3MDY5LCAKKyAgICA0MzMxMiwgMCwgNzM4ODcsIDExMTMwLCAyMDg3LCA2NDM3MCwgNjMxNCwgNDE3MTQsIDg1MDEsIDExMTQ1LCAwLCA3NDIzOSwgCisgICAgNDEzMTcsIDkyNjE0LCAyMDkxLCA3NDU0NSwgMjA5MCwgNjk5MTIsIDkzNTMsIDcxMTcsIDIwNzcsIDc3ODg2LCAxMTE2MSwgCisgICAgMTA0OTgsIDIwODMsIDc3ODg4LCA3MTE5NiwgMCwgMTE5MjM2LCA2MzQsIDAsIDkyMjkwLCAwLCA2OTc3OSwgNDE2NSwgCisgICAgODc0NiwgMTk1MDQ4LCA5NjU0LCAxMjg1NiwgNjkyNCwgNzY2MCwgNzA2NiwgOTgzNzE5LCA3MDQxNSwgMTI4MTM1LCAKKyAgICA0MTAzNywgNDI2OTIsIDc3ODYsIDEyOTU5LCA0MTAzOSwgMTI3NDgzLCAxMjQ5NjUsIDY4MCwgMjMwMiwgMTI4MjAwLCAKKyAgICAxMTgxLCA3MDU2LCAzMTc0LCA2NzI0OCwgMCwgOTI2NjgsIDY1NjY1LCAxMjczNzUsIDExMzc3NiwgNjkyMCwgMCwgOTIyOTUsIAorICAgIDAsIDExODk2NSwgNjgzMTgsIDY0NjQ0LCAxMjY5ODEsIDc0MTE5LCA2ODIzOCwgNDEwMjgsIDc0MDI1LCA2MjMxLCAyNjEzLCAKKyAgICA2NTMwMiwgNDA5ODksIDY4MjM5LCA2ODIzMCwgNjgyMzQsIDQyNzYwLCAwLCAxMjQ5ODksIDAsIDQwOTg3LCA0NjY3LCAwLCAKKyAgICA3MTg0MywgODgyOCwgMCwgNzA1MDYsIDEyNDYsIDQ3NDYsIDAsIDEyODUwOCwgMTEwMjEsIDQ3NDksIDkyNjc1LCA5MTc4ODIsIAorICAgIDkyMSwgNDc0NCwgMCwgMTI3MDIsIDI0MiwgMCwgMTU2NiwgODIxNywgMTI3MjEwLCA2NDY1MywgNzgzODYsIDc0NjE3LCAKKyAgICA3NDAzNiwgNzQ1MDUsIDQzMjc0LCA1MzEzLCA5NTEsIDc0NTY4LCA5Mjk4MywgOTgzODY3LCA3NjA0LCA5ODMyOTAsIDQwMDksIAorICAgIDcwNDI2LCA3MTg0NCwgMTIwNTYyLCAwLCA5ODM3MjAsIDY0ODYwLCAxMTkxMzgsIDExOTA2OSwgMCwgMTI3MzcwLCA0MDQ4LCAKKyAgICA5ODM1OTgsIDAsIDcwMDI0LCAxNjQ2LCA3Nzg5MCwgNjQ1MzQsIDczOTk1LCAxMjA3MDUsIDEyOTA0NywgMTE5ODkwLCAKICAgICAyNTc5LCAxMTk5MDUsIDMxNzcsIDExMzU3LCA5MDk5LCA0MTA3LCAzNDQxLCAxMTk4OTQsIDI5NzUsIDc0NDQyLCA5ODIyLCAKICAgICA5ODM5MzUsIDU1MjIwLCAxMDA4NCwgNzM5NDMsIDExODg0MCwgMCwgOTE3NTYyLCAxOTQ2MTAsIDMzOTksIDk4NTEsIAotICAgIDk4MzcxNywgMTE5MDksIDkwNTksIDAsIDc2ODcsIDAsIDY3ODksIDAsIDAsIDAsIDcxMzY3LCAwLCAwLCAxNzc3LCA5MTUxLCAKLSAgICAxMTM3LCA2OTc2NywgNzQ5LCA0MjM2NiwgMCwgNTM4NSwgMTI4NTc0LCAxMjgyMTgsIDAsIDAsIDU5ODksIDAsIDAsIAotICAgIDEyODA5MSwgMCwgNDE2ODUsIDY5MjIzLCAwLCA5NzY5LCA0MTY4NCwgOTgzMjE2LCA1MTksIDAsIDExNzQwLCA1NzY2LCAwLCAKLSAgICAwLCAyNjAwLCA4ODQ4LCAxMjAxMzgsIDQxMjk3LCAwLCAzNjY2LCA3NDQ3MywgNDEzMDAsIDc0NDY4LCA2NTE2MCwgMCwgCi0gICAgNjk2ODgsIDY5NzcxLCA3NDQ3OSwgMCwgNjU1OCwgMCwgMCwgNjk3NjUsIDEyMDc1MCwgMjUyLCAwLCA0MTMwMiwgMCwgMCwgCi0gICAgMCwgNjk3NjMsIDAsIDExNzI5LCA4NzE5LCA5MDYwLCAwLCAxMjAxMzksIDEwNzYxLCAwLCAwLCAwLCAxMTg3OTIsIDExNzM0LCAKLSAgICA5ODMyMjMsIDExNzMwLCAwLCA5NTkzLCA1NzU3LCAyNDAzLCA2NDgwOCwgNTUyNzUsIDAsIDExNzI4LCA0MzU3MiwgMCwgMCwgCi0gICAgNzc2NCwgOTgzNzE0LCAxMTA5NCwgMTIwODI1LCAwLCA5ODMyMjYsIDQyODIsIDgyOTgsIDAsIDAsIDAsIDAsIDAsIDY0NDQ5LCAKLSAgICAwLCAxMjY2NTAsIDYzODU0LCA4NDU2LCAwLCA3NDc4MywgNjU2NzAsIDAsIDc4MjUwLCAwLCA3Nzc0LCAxMDYwNywgOTc5MiwgCi0gICAgMCwgMCwgMCwgMCwgMTIwNzY0LCAwLCAxMDAxOSwgNzQ3NjIsIDAsIDM0NTgsIDQzNjUsIDcwMDUzLCA5ODM3MTIsIDM2NDcsIAotICAgIDAsIDI2MDIsIDEyODM0MSwgMCwgMTk0NzA3LCA0MTEzNSwgMCwgMCwgMCwgNjQ2MzEsIDE3MiwgNDk3MSwgNDEyMTksIAotICAgIDQxMTM3LCAxODg5LCA3MjM4LCA2NTQ1LCAxMjY0NzYsIDkyMTkzLCA3NTk3LCAxMDUyOCwgMCwgMCwgMzczMiwgNzM5MTAsIAotICAgIDE5NDU4OCwgNTM0NCwgMCwgNDMzNjYsIDQzMzYzLCA5MDYyLCAxMTkyNTIsIDAsIDAsIDAsIDY0NDc5LCA5MjMyLCA5MjU5NiwgCi0gICAgMCwgMCwgMTk0NzEyLCAxMDkwMCwgNDE1MzEsIDEyNjMsIDM3MjAsIDEyMDQ4LCAwLCA2NDI5MiwgNDE1MjQsIDcyMjcsIAotICAgIDExOTYzNSwgNjA5OSwgNDE1MzQsIDAsIDEyNzM1NCwgMTI3MzQ1LCAyOTksIDkxNzk1NywgODUyNSwgMTI3MzQ3LCAzNTI0LCAKLSAgICA5MTc1NjUsIDg4MzEsIDEyNzM0OSwgOTI1NjQsIDMwNzUsIDY3ODY3LCAxMjczNTIsIDAsIDY2MzYyLCAwLCA2NDM1MywgMCwgCi0gICAgMCwgNTg0NSwgMCwgMCwgMCwgMjU4MSwgODIwMCwgNjUxMTQsIDY4NDYwLCAwLCA0MzI4MywgNTU1MSwgMCwgMTIwNzM1LCAKLSAgICA5ODMyMDEsIDYzNDAsIDExODg1NSwgMCwgNzgxMzQsIDg2ODAsIDcyMDQsIDcwMDY1LCAyNTg4LCAyOTE0LCA3MDExLCAKLSAgICA1NTI4MSwgMCwgMjQ3MSwgMTk0NjMxLCAyODgzLCAyNzQ5LCAxMTk1NjMsIDczNzc0LCAxMDkxMywgMCwgMCwgODY2NiwgCi0gICAgNjc1LCA0MjQ5MywgMCwgNDM1NzEsIDAsIDYyMTksIDAsIDk5ODAsIDQxMjMyLCAxMDkyOCwgMCwgNDExNTMsIDQxMjI5LCAKLSAgICAxMTg5NjcsIDAsIDM3MzgsIDk0MDE2LCAwLCAxMjcxMSwgMzE4MSwgNjYyMTIsIDc0Mjg5LCA2ODQ3MiwgNDI4NTcsIDgyNjIsIAotICAgIDk4MzM3OSwgMCwgOTgzMjIyLCAwLCA0MjM0NywgMTIwOTIsIDk2MTUsIDcyMzQsIDc0MDQ3LCA5ODMwODgsIDAsIDQzNzQ0LCAKLSAgICAwLCAwLCA3Mzg0NiwgMjkzNCwgMTI3MjIsIDEyMDc2MiwgOTIyLCA0Mzk4MywgNzQ1MDcsIDk4MzEyNiwgNzQ0NjEsIDMyMTgsIAorICAgIDkxNzYwOSwgMTE5MDksIDkwNTksIDAsIDc2ODcsIDAsIDY3ODksIDEyODM5MiwgMCwgNzE4NDIsIDcwMTc4LCAwLCAwLCAKKyAgICAxNzc3LCA5MTUxLCAxMTM3LCA2Njg2NywgNzQ5LCA0MjM2NiwgNzA0NDQsIDUzODUsIDcwNzkxLCA3MjQzNSwgNzAxMjcsIAorICAgIDEyODk3MiwgNTk4OSwgMCwgNzQ2MzYsIDEyODA5MSwgMCwgNDE2ODUsIDY5MjIzLCAwLCA5NzY5LCA0MTY4NCwgOTgzMjE2LCAKKyAgICA1MTksIDAsIDExNzQwLCA1NzY2LCAwLCAwLCAyNjAwLCA4ODQ4LCA3MDQxNiwgNDEyOTcsIDAsIDM2NjYsIDcwNDIwLCAKKyAgICA0MTMwMCwgNzQ0NjgsIDY1MTYwLCAwLCA2OTY4OCwgNjk3NzEsIDc0NDc5LCAwLCA2NTU4LCAwLCAxMjgwNjQsIDY5NzY1LCAKKyAgICA5Mjc3NSwgMjUyLCAwLCA0MTMwMiwgMTE5MzUwLCAxMjcwMDIsIDExODgzOSwgNjk3NjMsIDAsIDExNzI5LCA4NzE5LCAKKyAgICA5MDYwLCAxMjkwOTEsIDEyMDEzOSwgMTA3NjEsIDAsIDAsIDAsIDExODc5MiwgMTE3MzQsIDkzMDExLCAxMTczMCwgCisgICAgMTEzNzQxLCA5NTkzLCA1NzU3LCAyNDAzLCA2NDgwOCwgNTUyNzUsIDAsIDExNzI4LCA0MzU3MiwgMCwgMCwgNzc2NCwgCisgICAgMTI5MTMyLCAxMTA5NCwgMTIwODI1LCAwLCA0MzQ4OSwgNDI4MiwgODI5OCwgMCwgMCwgNzAzMjgsIDAsIDcwMzI0LCAKKyAgICA2NDQ0OSwgMCwgMTI2NjUwLCA2Mzg1NCwgODQ1NiwgNjU1ODcsIDcwNDQyLCA2NTY3MCwgMCwgNzgyNTAsIDAsIDc3NzQsIAorICAgIDEwNjA3LCA5NzkyLCAwLCA3MDMyNiwgMCwgMCwgMTIwNzY0LCA3MDMyMiwgMTAwMTksIDc0NzYyLCAwLCAzNDU4LCA0MzY1LCAKKyAgICA3MDA1MywgOTgzNzEyLCAzNjQ3LCAxMjAyMDcsIDI2MDIsIDEyODM0MSwgMCwgMTI1MDQzLCA0MTEzNSwgMCwgMCwgCisgICAgMTI4NDU1LCA2NDYzMSwgMTcyLCA0OTcxLCA0MTIxOSwgNDExMzcsIDE4ODksIDcyMzgsIDY1NDUsIDEyNjQ3NiwgNzc5MjYsIAorICAgIDc1OTcsIDEwNTI4LCAwLCAwLCAzNzMyLCA3MzkxMCwgMTk0NTg4LCA1MzQ0LCAwLCA0MzM2NiwgNDMzNjMsIDkwNjIsIAorICAgIDExOTI1MiwgMCwgOTI1MjgsIDAsIDY0NDc5LCA5MjMyLCA5MjU5NiwgMCwgMTEzNzA3LCAxOTQ3MTIsIDEwOTAwLCA0MTUzMSwgCisgICAgMTI2MywgMzcyMCwgMTIwNDgsIDc0MDc1LCA2NDI5MiwgNDE1MjQsIDcyMjcsIDExOTYzNSwgNjA5OSwgNDE1MzQsIDAsIAorICAgIDEyNzM1NCwgMTI3MzQ1LCAyOTksIDkxNzk1NywgODUyNSwgMTI3MzQ3LCAzNTI0LCA5MTc1NjUsIDg4MzEsIDEyNzM0OSwgCisgICAgOTI1NjQsIDMwNzUsIDY3ODY3LCA5NDA1MywgMCwgNjYzNjIsIDAsIDY0MzUzLCA3MDQ0MCwgMCwgNTg0NSwgMCwgMCwgMCwgCisgICAgMjU4MSwgODIwMCwgNjUxMTQsIDY4NDYwLCA5ODM2OTMsIDQzMjgzLCA1NTUxLCAwLCAxMjA3MzUsIDk4MzIwMSwgNjM0MCwgCisgICAgMTE4ODU1LCAxMjg5MzQsIDc4MTM0LCA4NjgwLCA3MjA0LCA3MDA2NSwgMjU4OCwgMjkxNCwgNzAxMSwgNTUyODEsIDAsIAorICAgIDI0NzEsIDE5NDYzMSwgMjg4MywgMjc0OSwgMTE5NTYzLCA3Mzc3NCwgMTA5MTMsIDAsIDAsIDg2NjYsIDY3NSwgNDI0OTMsIAorICAgIDAsIDQzNTcxLCAwLCA2MjE5LCAxMjg1ODQsIDk5ODAsIDQxMjMyLCAxMDkyOCwgMCwgNDExNTMsIDQxMjI5LCAxMTg5NjcsIAorICAgIDAsIDM3MzgsIDk0MDE2LCAwLCAxMjcxMSwgMzE4MSwgNjYyMTIsIDc0Mjg5LCA2ODQ3MiwgNDI4NTcsIDgyNjIsIDk4MzM3OSwgCisgICAgMCwgNzQ0NzYsIDAsIDQyMzQ3LCAxMjA5MiwgOTYxNSwgNzIzNCwgNzQwNDcsIDk4MzA4OCwgOTgzODE5LCA0Mzc0NCwgMCwgCisgICAgMCwgNzM4NDYsIDI5MzQsIDEyNzIyLCAxMjA3NjIsIDkyMiwgNDM5ODMsIDc0NTA3LCA5ODMxMjYsIDc0NDYxLCAzMjE4LCAKICAgICAxMjA0NzEsIDc0MjkwLCAxMjA0NjksIDY0NTYyLCAxMjA0NzUsIDg1NjksIDExNDA0LCAxMTkzMiwgNzM3MjgsIDMyMTQsIAotICAgIDEyMDQ2MSwgMTIwNDY4LCAxMjEyOCwgMzIwNywgNjU0ODYsIDc4NzI5LCAxOTAxLCA3ODcyNywgMTI3MzI2LCAxMjA0NjAsIAorICAgIDExMjEyLCAxMjA0NjgsIDEyMTI4LCAzMjA3LCA2NTQ4NiwgNzg3MjksIDE5MDEsIDc4NzI3LCAxMjczMjYsIDEyMDQ2MCwgCiAgICAgNzQyNSwgMzIwNSwgNjgwMDMsIDc4NzM3LCA3ODczNiwgNzg3MzUsIDQzMzgzLCA2OTk0MCwgNjU0NTksIDI2MDYsIDc4NzMwLCAKLSAgICA3Mzg5NywgMCwgMTE0OTYsIDExNzMsIDAsIDQxMjcyLCAxMTk2NjEsIDAsIDAsIDk4MzMyMSwgMTIwNzM3LCAwLCA5ODM5NzEsIAotICAgIDk4MzMyMCwgMzc4LCAyNjEwLCAwLCA2NTA3OSwgOTgzMzI1LCA2NTY5NSwgMTI2NTU5LCAzNywgNzA2OCwgMCwgMTIwNDgwLCAKLSAgICAxMjA0NzksIDMyMDksIDEyMDQ3NywgMCwgMTA2MzgsIDk3NjgsIDY5OTUyLCAxMTk5MDksIDk4MzM5OSwgMCwgMCwgMCwgMCwgCi0gICAgNjU1MTAsIDAsIDAsIDUyMzMsIDk4MzMzNSwgNjQ3OTIsIDk4MzMzNCwgMCwgMTI2NjMzLCAwLCA3MDYwLCA5ODQ3LCAKLSAgICAxMjAxNDQsIDE2ODUsIDU5NSwgMCwgNzM5NzEsIDEyOTIsIDg5NDAsIDczODAsIDExMDg4LCAwLCAxMDAwNCwgMTI2OTk3LCAKLSAgICAwLCA2NTQxLCAwLCAwLCAwLCAzMjQzLCA5MDE0LCA1NjA2LCAwLCA1MzgsIDY0NjIwLCA1NjAyLCA4NDY3LCA3NDM5MSwgCi0gICAgNjU0NywgMTI4MTMyLCA4MjAzLCA3ODQ4OCwgOTgzMDkwLCA4NDU4LCA2NTIxMSwgODQ5NSwgMTE5OTA0LCAwLCA5MTc1NTIsIAotICAgIDc3OSwgNzgzMTQsIDY0MzY3LCAyNDY1LCA2OTkwMSwgODE5MywgNTUyNzksIDk3MzAsIDkyODAsIDAsIDcwNjUsIDc0MTU1LCAKLSAgICA0MzQ2LCAwLCA3Mzc5OCwgNTA0LCAwLCA5MjQxNCwgODk4MiwgMCwgMCwgMCwgNzgyLCAwLCAxMDg4MywgMCwgMTk0ODUyLCAKLSAgICA3MzIsIDM3MzcsIDEyNzI1MywgMTU0OCwgNjg2NTAsIDkyNTA3LCAxODMyLCA1NjA0LCA1NzM1LCA0MTE0MSwgMTE5MDIwLCAKLSAgICA0Mzc2LCAwLCAxMTc4NywgMzc0NSwgMCwgMCwgNDI4ODgsIDY1NzEyLCA5ODMzMDQsIDM4NjksIDExOTM3LCA1NzI1LCAKLSAgICAxMjc1MzksIDE3ODMsIDY4NjQ4LCA1NzI4LCAwLCAwLCAwLCAxMTkxOCwgNjY1NjcsIDU3MjQsIDAsIDU3MjcsIDc4NTIxLCAKLSAgICAwLCAwLCA3NjQsIDAsIDEyODExNiwgNDM1MzEsIDAsIDkwMzMsIDAsIDQyNTMyLCA2MjIzLCAxMTA0MiwgMTIwNzQ5LCAKLSAgICAxMTQyMywgMCwgMTE5ODYxLCA3MTM0NCwgNDM0NjUsIDAsIDEyODI2NywgNjU1OSwgNjQ1NTcsIDcxMzQ4LCA5MjY0OSwgCi0gICAgMTIwNjQ4LCA0MzAxOSwgNDM0NzcsIDEwMjM4LCA3NDQ5MSwgMCwgNDMzNzcsIDkyMjgyLCA3MTM0NiwgMTQ3OCwgOTc4MywgCi0gICAgMTE4MjUsIDI2MDcsIDY0NzQwLCAwLCA3NzM5LCA3NDU0MywgMCwgMCwgMCwgNjEzMiwgMCwgNjM3NjUsIDAsIDcwMDU4LCAKLSAgICA0MTE0NCwgMCwgOTI0MzgsIDQzNTM3LCA2NzYxLCAxMDA5MywgNDM2OSwgOTE3NzkxLCAwLCA5ODMxNDgsIDg4MjAsIDM5NDcsIAotICAgIDAsIDAsIDExNTE1LCA1MjYsIDEyODEwMywgNDEyOTUsIDE5NDYwMywgOTE3Nzg1LCAxOTQ5MzIsIDAsIDc2ODgsIDkxNzc4NiwgCi0gICAgNzY4NiwgODI4OCwgMTE4MTUsIDAsIDAsIDk4MzM4MiwgMTU0MywgMzcxMywgNDEyMjEsIDEyNDIzLCA0MjI4MSwgOTE3Nzg4LCAKLSAgICA3NDAyNCwgMTIyOTMsIDAsIDY0MzU3LCAxMTc5NCwgNDIwODIsIDAsIDE3MzcsIDg5ODcsIDQyMDgxLCAwLCA3MjA1LCAwLCAKLSAgICA5MzM1LCAxMjg1MCwgMTE5ODcwLCA2NTUzLCA3MDU1LCAwLCA4Mjc3LCAwLCAwLCA1NDc1LCA3NDc5NSwgNjc4MCwgMCwgMCwgCi0gICAgMTI5OTAsIDExNjAsIDQyMDg0LCAxMTk2NTAsIDQxMjE3LCAxMTk2NjAsIDEwMDE4LCAzNjAsIDAsIDAsIDY4MTc2LCA1ODYzLCAKLSAgICAzMTM3LCAwLCA0MTQ3LCA5ODMxNzAsIDQxMjE2LCA3ODQ0LCAyNjE2LCAxMTkxOTAsIDY4NDYxLCA2NTIzNCwgOTgzMjk0LCAKKyAgICA3Mzg5NywgMCwgMTE0OTYsIDExNzMsIDAsIDQxMjcyLCAxMTk2NjEsIDAsIDAsIDk4MzMyMSwgMTIwNzM3LCAxMjY1NTcsIAorICAgIDE5NDc3MywgOTgzMzIwLCAzNzgsIDI2MTAsIDk4MzMyNiwgNjUwNzksIDk4MzMyNSwgNjU2OTUsIDEyNjU1OSwgMzcsIAorICAgIDcwNjgsIDAsIDEyMDQ4MCwgNjgyMzYsIDMyMDksIDEyMDQ3NywgMCwgMTA2MzgsIDk3NjgsIDY5OTUyLCAxMTk5MDksIAorICAgIDk4MzM5OSwgOTIyMjUsIDAsIDk4MzMzOCwgMCwgNDM4NDAsIDAsIDAsIDUyMzMsIDk4MzMzNSwgNjQ3OTIsIDcxMjMzLCAwLCAKKyAgICAxMjY2MzMsIDEyODkxOSwgNzA2MCwgOTg0NywgMTIwMTQ0LCAxNjg1LCA1OTUsIDAsIDcwNDI4LCAxMjkyLCA4OTQwLCAKKyAgICA3MzgwLCAxMTA4OCwgMCwgMTAwMDQsIDEyNjk5NywgMCwgNjU0MSwgNDM4MzcsIDAsIDAsIDMyNDMsIDkwMTQsIDU2MDYsIDAsIAorICAgIDUzOCwgNjQ2MjAsIDU2MDIsIDg0NjcsIDc0MzkxLCA2NTQ3LCAxMjgxMzIsIDgyMDMsIDY2NDIwLCA2ODI0MSwgODQ1OCwgCisgICAgNjUyMTEsIDg0OTUsIDkyMzExLCAwLCA5MTc1NTIsIDc3OSwgNzgzMTQsIDY0MzY3LCAyNDY1LCA2OTkwMSwgODE5MywgCisgICAgNTUyNzksIDk3MzAsIDkyODAsIDAsIDcwNjUsIDc0MTU1LCA0MzQ2LCAwLCA3Mzc5OCwgNTA0LCAxMjUxMTUsIDkyNDE0LCAKKyAgICA4OTgyLCAwLCAxMjg3MTEsIDExOTE3MCwgNzgyLCAxMjkwMjgsIDEwODgzLCAxMjg0NDYsIDE5NDg1MiwgNzMyLCAzNzM3LCAKKyAgICAxMjcyNTMsIDE1NDgsIDY4NjUwLCA5MjUwNywgMTgzMiwgNTYwNCwgNTczNSwgNDExNDEsIDExOTAyMCwgNDM3NiwgCisgICAgOTgzMzcwLCAxMTc4NywgMzc0NSwgMCwgMTE5ODg1LCA0Mjg4OCwgNjU3MTIsIDEyNzkxMywgMzg2OSwgMTE5MzcsIDU3MjUsIAorICAgIDEyNzUzOSwgMTc4MywgNzQxNiwgNTcyOCwgMCwgMTI4NDU3LCAxMTk1NTQsIDExOTE4LCA2NjU2NywgNTcyNCwgMCwgNTcyNywgCisgICAgNzg1MjEsIDAsIDAsIDc2NCwgMCwgMTI4MTE2LCA0MzUzMSwgMTEzNjcwLCA5MDMzLCAwLCA0MjUzMiwgNjIyMywgMTEwNDIsIAorICAgIDEyMDc0OSwgMTE0MjMsIDc0ODUyLCAxMTk4NjEsIDY4MzAzLCA0MzQ2NSwgMCwgMTI4MjY3LCA2NTU5LCA2NDU1NywgCisgICAgNzEzNDgsIDkyNjQ5LCAxMjA2NDgsIDQzMDE5LCA0MzQ3NywgMTAyMzgsIDc0NDkxLCAwLCA0MzM3NywgOTIyODIsIDcxMzQ2LCAKKyAgICAxNDc4LCA5NzgzLCAxMTgyNSwgMjYwNywgNjQ3NDAsIDExMzY4OSwgNzczOSwgNzQ1NDMsIDkxNzc2NSwgNjczOTMsIDAsIAorICAgIDYxMzIsIDAsIDYzNzY1LCAxMjgzOTYsIDcwMDU4LCA0MTE0NCwgNzE4OTksIDkyNDM4LCA0MzUzNywgNjc2MSwgMTAwOTMsIAorICAgIDQzNjksIDkxNzc5MSwgMCwgMTk0Nzc2LCA4ODIwLCAzOTQ3LCAwLCAwLCAxMTUxNSwgNTI2LCAxMjgxMDMsIDQxMjk1LCAKKyAgICAxOTQ2MDMsIDkxNzc4NSwgMTk0OTMyLCAxMTM2OTEsIDc2ODgsIDkxNzc4NiwgNzY4NiwgODI4OCwgMTE4MTUsIDAsIDAsIAorICAgIDk4MzM4MiwgMTU0MywgMzcxMywgNDEyMjEsIDEyNDIzLCA0MjI4MSwgOTE3Nzg4LCA3NDAyNCwgMTIyOTMsIDAsIDY0MzU3LCAKKyAgICAxMTc5NCwgNDIwODIsIDAsIDE3MzcsIDg5ODcsIDQyMDgxLCAwLCA3MjA1LCAwLCA5MzM1LCAxMjg1MCwgMTE5ODcwLCAKKyAgICA2NTUzLCA3MDU1LCAwLCA4Mjc3LCAwLCA2Nzc1MSwgNTQ3NSwgNzQ3OTUsIDY3ODAsIDY1MDY3LCAwLCAxMzI3LCAxMTYwLCAKKyAgICA0MjA4NCwgMTE5NjUwLCA0MTIxNywgMTE5NjYwLCAxMDAxOCwgMzYwLCAxMjkwNzAsIDk4Mzg2NSwgNjgxNzYsIDU4NjMsIAorICAgIDMxMzcsIDAsIDQxNDcsIDk4MzE3MCwgNDEyMTYsIDc4NDQsIDI2MTYsIDcwMTk3LCA2ODQ2MSwgNjUyMzQsIDY4MzQxLCAKICAgICAxMzA3NiwgMzEzNSwgOTgzMjg3LCA3ODE0MywgMTE5MTM5LCAzMTQyLCA5MjQ1MSwgOTQwNjgsIDEwODE5LCAxMTk1ODAsIAotICAgIDEwMTgzLCAwLCAyNjA4LCAxNDcwLCA3Mzk2NywgOTQwMDgsIDYyMjcsIDAsIDEyNzE3MywgNjk3NDEsIDk4MzU4MiwgNjE2MywgCi0gICAgOTgzNTU4LCAwLCAxMjczMTQsIDAsIDAsIDg2MDMsIDAsIDExOTg2NiwgMzMwNiwgMTA4NzYsIDQzMzkyLCAxMTk1NzMsIAotICAgIDEyNzkzMSwgNTc1MSwgMCwgNjIyMiwgMCwgMCwgMTIwODYsIDc0MDMsIDE2MDAsIDY0MzA5LCA2NDkzOSwgMCwgNjQ3ODMsIAotICAgIDkyNjU4LCAxMTMxMCwgMCwgODg4MiwgMCwgMCwgMjU3MCwgNzAyMSwgMCwgMCwgNDMxMTAsIDAsIDEyMzQsIDY1NDAsIAotICAgIDY5NzQsIDAsIDAsIDk4MzIxMSwgNTAwMiwgMCwgNDEyODYsIDY5OTQ2LCAxMjcwMTksIDAsIDQzNTg1LCAwLCA2NTUxLCAKLSAgICA5ODM5NjIsIDEyODIyOSwgMCwgNDEyODksIDAsIDE5NDYwMiwgMCwgODk3NywgNjAyLCAxMjA4MTQsIDAsIDEyODc3OCwgCi0gICAgMTI4NjYxLCAwLCA5ODMzNzUsIDQxMjc5LCAwLCAwLCAwLCAxMTA4MSwgNDM2MTUsIDAsIDAsIDAsIDk4MzYxMiwgMTI3MjcsIAotICAgIDAsIDAsIDc4Mzk3LCA5NDc1LCA3MTEyLCA2NTEwNSwgMCwgOTYzMywgMTA4ODYsIDQzNTkyLCA3ODMxLCA5ODM4MjksIAotICAgIDE5NDU3MSwgMCwgNzM5MTUsIDgwNzYsIDQzMDQ4LCA4MjkwLCA4MjkxLCA0MzA1MSwgOTI1NzAsIDAsIDI1OTYsIDQzNTg0LCAKLSAgICAwLCAxMzExMywgMCwgMTI3NzU3LCAyMzkzLCA3MDU4LCA5MDg3LCA3NDA2NywgNjg2NzMsIDQxNTc0LCA3ODMzNywgMCwgCi0gICAgNzQwNTgsIDYzNzYsIDAsIDAsIDAsIDAsIDk4NTQsIDEyNzc0OCwgNjQ2OTYsIDAsIDEyODIyMCwgMCwgNjk5NCwgMCwgCi0gICAgMTcyMCwgMCwgMCwgMCwgNjUyOSwgNzA2MywgOTgzMTgyLCAzNzUxLCA5MTIwLCA5ODM0ODUsIDAsIDE3OTgsIDcwOSwgMCwgCi0gICAgMTM1NCwgMTg3NiwgMTMxNTIsIDY1NTcsIDEyNDMwLCA4MTM3LCA5NDA5OCwgOTI2NDIsIDAsIDAsIDI0NSwgMTI4MDk3LCAKLSAgICAxMTQ1NiwgNDEyMzMsIDcwNzAsIDAsIDk0MDQ2LCA2MTM2LCA5MTc2MDksIDY1Njc3LCA4NjgyLCA0MTIzNSwgOTI1OTUsIAotICAgIDQyMDQ1LCA5ODA0LCAxMTg5NjMsIDQzMiwgMzU5NSwgMTk0OTQ1LCA2NTQzNywgMCwgNzQ0NTUsIDQyMzk5LCAwLCAwLCAKLSAgICAxMjgyNzQsIDAsIDExOTY1OCwgMCwgMCwgMCwgNzc4OTQsIDg3OTcsIDAsIDkwNTIsIDY0ODg4LCA3MTY3LCAyMzU2LCA5NSwgCi0gICAgNzQ3ODQsIDEwNTgwLCAwLCA0MjI4NiwgMCwgNjQ2NDAsIDAsIDk0MTA5LCAwLCA3NDEzNywgNzAwMzUsIDEwMDYzLCAKLSAgICAxMjY1MiwgMTIxOTksIDkyNDgwLCAwLCAyNTY2LCAxMTk3MSwgOTgzNzM3LCAwLCAxMDY1LCAwLCAwLCA0MzQwMCwgMjU3NiwgCi0gICAgNjY2OTYsIDkzOTk5LCAwLCA0MzYwNCwgMCwgMCwgNzQwODIsIDUxNCwgNzQ1MDIsIDcwMDMyLCAyOTIxLCA0MzIxNSwgCi0gICAgNjQ0OTMsIDU3NzIsIDEyOTY4LCA3MDA1NSwgMTk0OTQ0LCA3NDU4MCwgNDMzOTgsIDI1ODAsIDk4MzgxMCwgNDEzNDEsIAotICAgIDQxMjIzLCA2NTY0LCAxNDYzLCA0MTM0MiwgMCwgNTI5MywgNzAwMjAsIDAsIDM3MzMsIDExMzQ2LCAwLCAxMjA1NCwgMCwgCi0gICAgNzQwOTgsIDQyODI3LCAwLCAxMzA5MSwgMCwgMCwgMCwgOTE3OTE1LCAwLCAxMjcwMjUsIDAsIDc0ODIxLCAwLCA5ODM3MzMsIAotICAgIDExOTA0MiwgMCwgMTI3ODY1LCAxMzA5MCwgNjY2NDMsIDAsIDEyNzAsIDExMzIsIDQyMzYwLCAwLCA3NDA5NiwgNjY2NTUsIAotICAgIDQyNTY5LCAxMjc4MjQsIDAsIDY0NzYxLCAwLCA0MTAyMSwgODUxMCwgNDI0MzIsIDAsIDAsIDE5NDc4MiwgMCwgNjQ0OTYsIAotICAgIDc0MTA5LCA3MDAzMCwgOTkxNSwgMCwgOTgzMjE4LCA3MDYxLCA0MTMzNiwgMzg1NCwgNjk3MDAsIDEzMTQxLCA2ODQxMywgCi0gICAgNDM0MDEsIDQyMzE5LCAxMzA4MiwgMCwgNzA2NywgNjgyMjEsIDAsIDEyNzM4MywgMTI3MTcxLCAwLCAwLCAxMjc3OTcsIAotICAgIDkwMjksIDQzNTQzLCAxMTkzMTUsIDIzNTMsIDYzMDgsIDAsIDc0NzkyLCAyNjExLCAxMTkxODYsIDAsIDAsIDAsIDQzNjY0LCAKLSAgICA5MjM5OSwgNjY2MjcsIDAsIDQ0ODQsIDg1MDksIDExODk3NiwgMTEwNjYsIDY1MjMzLCAwLCA0MTIyNCwgNDEwMTcsIDAsIAotICAgIDM3NDcsIDEwNTIyLCAwLCAwLCAxNjkxLCA0MTIyNiwgMCwgMTIxMDcsIDcxMDAsIDEwOTA1LCA2NTAxMCwgMTk0OTg2LCAKLSAgICA2OTcsIDY2MDE4LCA5Mjg0LCA0MjQ0LCAwLCAwLCA5MjY0NCwgMTMxMjEsIDEyMDAzNiwgMCwgMTIwMTAsIDEyODU3MywgCi0gICAgMTI4MjIxLCAwLCAwLCAwLCAxMjcxOTMsIDY1ODE2LCA2ODExMSwgMCwgMTI3OTMzLCA2NTY2OCwgOTIyNTcsIDY2MTgsIAotICAgIDExODc4NCwgNjYzNjUsIDAsIDQyMjM0LCAxMjY0OCwgNzgxMTAsIDcxMjMsIDcwMDM4LCA1Nzg1LCA5MTk4LCA5NzY0LCAKLSAgICA0MTMxNiwgNjU4NzcsIDczODMsIDEzMjMwLCA0MTI5OSwgMCwgMCwgNjgzNjUsIDEyODI1OCwgMCwgMCwgMCwgMTMxMjIsIDAsIAotICAgIDE5MSwgNzAwNjAsIDg1ODUsIDgwMDAsIDY0NDExLCAxMjA2NTIsIDQyODg5LCA2NDg1MCwgNDEwNzIsIDQxNTc4LCAwLCAKLSAgICA0MTU3NywgMCwgMTAwMDIsIDAsIDY1MzMsIDczODAyLCA0MTU3MCwgMCwgNjgzLCAzOTYsIDQxNTgwLCA2ODE0NiwgMCwgCi0gICAgMTI5MDEsIDQzMDU4LCAwLCAzNDMsIDcxMjksIDQyNjgwLCA0MTM2MCwgNzgxNTQsIDAsIDQ3NDMsIDAsIDAsIDc0MDQwLCAKLSAgICA3NDEwOCwgODc0MywgMTcyNCwgMTQzMywgMTE5MzIyLCAwLCAzNzM5LCA2MjYzLCA3MTM0OSwgMCwgMzk2NCwgNjU5MiwgMCwgCi0gICAgMTI4NjkzLCA2NjA0MCwgMCwgNDI1NjgsIDY5ODA2LCAxMjgxMTMsIDE3NzgsIDM5NTYsIDAsIDQyMDcwLCA2NTYzLCAKLSAgICA0MzA3NSwgOTAxOCwgOTQwMDYsIDk4MzM5NiwgMTIwNjcsIDQxMzEyLCAwLCA1NTQ3LCA3NDUzMSwgMTI3OTY5LCAwLCAKLSAgICA4MTc1LCAwLCAyODQsIDgxMDgsIDkzNCwgMCwgNzQwMDEsIDE3MywgNjY0NjAsIDcxNzQsIDkyNzAzLCAxMTg4MjIsIDE3NTAsIAotICAgIDAsIDQzOTQsIDY4MzY4LCAxODA3LCA5ODM4ODgsIDkyMjk4LCAwLCA1ODg5LCAwLCA3MTgwLCAwLCAxMTkxNDUsIDAsIAotICAgIDkxNzU1OCwgNDI0NzEsIDY5ODIsIDE3MjEsIDQ0MDIyLCA3ODkxLCA0MjI0MywgNDIxNjAsIDI1ODMsIDQ1MTIsIDExOTM2MCwgCi0gICAgNjUyMzAsIDEyODEwOSwgMCwgMCwgMzg1NSwgMCwgMCwgMCwgMCwgNzQyOTUsIDAsIDAsIDkyNDE2LCAzOTc1LCAwLCAKLSAgICA3NDA4NywgMCwgMTI2NzIsIDM3OTgsIDI3MDMsIDk4MzU5OSwgMCwgMjEwOSwgOTc3NCwgMTI3NSwgMCwgMCwgNDEwOTUsIAotICAgIDM5NjIsIDAsIDI5MzIsIDQxMTAxLCAzOTU0LCA2NDU3LCA0NTEzLCAwLCAwLCA3Mzk5NCwgNzM5OTIsIDE0NjgsIDAsIDAsIAotICAgIDQxODUxLCAxMjgyMzAsIDQxODQ2LCAwLCA1NTIzOCwgNzYzMywgNDE4NDksIDY4Mzg1LCA0MzIwLCAzMjI0LCAwLCAKLSAgICAxMjgwMzIsIDAsIDQyNTMxLCAxMTkxMDgsIDE1MTAsIDAsIDgyNTYsIDAsIDExMzkzLCAwLCA4ODc5LCAxMjgwNzUsIAotICAgIDkyNDc0LCA4NzcwLCAwLCAwLCA3ODM3NywgMTkxMCwgODY3MSwgNzgzNzQsIDQyODMsIDAsIDEyNzExNywgNjgzNjEsIAotICAgIDc4MzE4LCAyNjU0LCA3ODkzLCAxOTUwMDcsIDAsIDAsIDAsIDY1MTA2LCA0Mjc2MSwgMTI4NTcsIDQ1ODEsIDg0MTEsIAotICAgIDc4MzcyLCA3ODM3MSwgNzgzNzAsIDc4MzY5LCA3ODM2OCwgMCwgMCwgMCwgMTczMywgNDM5MiwgMjU2OCwgMTA3ODYsIAotICAgIDY5NjYxLCAwLCA4MTg0LCA0MTQ4NiwgMCwgNzM5NiwgNzExNiwgMCwgNjk3ODgsIDAsIDcxODUsIDc5NjUsIDAsIDAsIAotICAgIDkyMzQ3LCA5ODMwODcsIDQxMzUwLCA5MTI5LCAwLCAwLCAyMjk0LCAwLCA5MjQ4OSwgMCwgMTA0ODEsIDAsIDcwMDIyLCAKLSAgICA3MTcxLCAwLCAzNDAsIDkyNDk4LCA5Mzk3MiwgMCwgMCwgOTIyMDAsIDAsIDAsIDY3NjQsIDEyNzQ4NywgMCwgMCwgMCwgMCwgCi0gICAgNjUyMDMsIDExMzkyLCAxMTkwOTgsIDExOTM1OSwgMCwgMzIxMCwgMCwgMCwgMTE4Nzk1LCAwLCAwLCAxMjc5NzAsIAotICAgIDkxNzYxOSwgMCwgMCwgMTAwNDMsIDAsIDExODYsIDQxNTcxLCA2OTk5LCA2MTcsIDk0NjQsIDEyNjY0MiwgMzY3NSwgNTIwNywgCi0gICAgNjUwNjIsIDUyMTMsIDE5NDc2OSwgMjYxNywgNDEzNDgsIDQxNTY4LCAxMjg4MDMsIDMyNTMsIDEyMDUzNSwgMCwgODYzMCwgCi0gICAgMTI4NTQ0LCAwLCA1NTk2LCA1NTQ1LCA3Mjg4LCAyNTg2LCA2NDg4NywgMCwgNTIxNywgNzEzMzYsIDAsIDAsIDAsIDY0MjkzLCAKLSAgICA2ODA5OCwgMjYzNSwgMCwgMCwgOTgzODQ2LCAwLCA5ODM2NDEsIDc4MzUsIDcwMDQwLCAwLCAxOTQ5ODgsIDkyMjg1LCAKLSAgICA2NDU1OCwgMTI3MTIyLCAwLCAxMjcxMjEsIDAsIDEyNzkxMywgMCwgNTc4NCwgOTgzMTAyLCAwLCAwLCA3MDAzMywgNDAxMSwgCi0gICAgOTE3NjE2LCA2ODEwMSwgMCwgNzg2NCwgNDI1NCwgNjUwOTUsIDk4MzQ5NiwgNTYwMCwgMzkwMywgMTI3MDgzLCAxMDQ0NywgCi0gICAgNTU5OCwgMTIwNywgMTIwNTIxLCA2NjY4OSwgMzUwMSwgNDI1ODIsIDQzNjAwLCAxOTQ3ODAsIDAsIDExMjQsIDU1OTcsIAotICAgIDE5NDc3OCwgMTk0NzcyLCA5MzIxLCA5ODM0ODQsIDk4MzQ4MSwgOTgzNDgyLCAwLCAxNzE5LCA2ODM1NiwgNjgzNTQsIAotICAgIDk2NzEsIDExMjUsIDQzOTksIDEyNzQ3OSwgOTE3NjEwLCA5ODM0ODgsIDc2MzEsIDU0ODgsIDcxMjgsIDEyMDUzMiwgMCwgCi0gICAgNTQ5MSwgMCwgODkzNywgNDMwNDQsIDI2MDQsIDc0MTg3LCA1NDkwLCA0MzA0NiwgNTQ4OSwgNzIxMiwgMTE3NjgsIDQzMDQzLCAKLSAgICA2MzAwLCAwLCA3MTIyLCAwLCA0MzkwLCA0NTQsIDQxMzk3LCAwLCA5ODc1LCA3NTkzLCAxOTQ3OTEsIDkyMjc0LCAxMTg5MTMsIAotICAgIDcyMDcsIDAsIDY1OTAxLCAyMzk0LCAyNTc1LCAwLCAzNzQ2LCAxMTAxNiwgNjU3NTIsIDEyMDAzNywgMCwgNDM0MjMsIAotICAgIDEyODY4MywgMTE5ODksIDAsIDAsIDAsIDAsIDAsIDgyNDksIDEyODE3MiwgMCwgNzg1MzEsIDY2NDAsIDc0ODA2LCAyNTk4LCAKLSAgICA1MTMsIDAsIDY1ODYsIDg2NTYsIDAsIDEyMDcxMCwgNjUwMDgsIDAsIDE5NDc4NCwgMTk0OTg5LCAxOTQ3OTUsIDk4MzQ3MywgCi0gICAgOTI1MTUsIDY4NDc1LCA5Mzk3MywgMCwgMCwgNzg2MzcsIDEyNjQ3LCAwLCAxMjgwNDMsIDY5ODkzLCAxMDM2LCA5ODM0NzcsIAotICAgIDkyNDE5LCAxNzIzLCAxMjgwNTYsIDc0MjE3LCAwLCA0MTU3OSwgMjQ0NCwgMCwgMTA3MDUsIDczODc2LCA5ODM0NjksIAotICAgIDc0NDg2LCA5ODM0NjcsIDc0MCwgMTE5MjIyLCAxOTQ5NzgsIDE5NDk4NCwgMCwgNDIzOCwgMTEwNzEsIDk0NTksIDY4NDM3LCAKLSAgICA3ODE0MCwgNzgxMzksIDE5NDk4NSwgODEyMSwgMTA0MzgsIDc0NDg3LCA0MjU3NCwgMTMyODUsIDU1MjYzLCAxMTkwNywgCi0gICAgMTk1MDAwLCA1NjkwLCA5MjI1NSwgOTM5OTIsIDAsIDQzMTgxLCAxMzA5NSwgMCwgMTI3ODU3LCA2NDQ5OCwgMCwgOTUwNiwgCi0gICAgNjk3OCwgMTk0OTkzLCA3Nzk5MiwgMCwgMCwgMTk0OTkyLCAwLCAxMjc4NDUsIDExMjIsIDMxNywgMCwgMCwgMCwgMCwgCi0gICAgMTkyMCwgMCwgMTAxNzMsIDgyNywgMCwgMCwgNzgzNzgsIDEyMDEyNiwgNTIyMywgMTMwNCwgMCwgMTE5NTY0LCA1MjI2LCAKLSAgICAxMjYwMiwgOTQwNDQsIDAsIDkzMjksIDc3NTgsIDkyMzksIDQxMTczLCA1MjI0LCA1NDg3LCAxMjIyLCA1NjkyLCA0MTcyNSwgCi0gICAgNjkyMjksIDk2NzQsIDU2OTUsIDQxNzExLCA2NDYyNywgMTk5MDksIDAsIDc0NjA0LCA1NjkxLCAyODcsIDg2NiwgMjMzLCAKLSAgICAxMjc0OTAsIDk4MzQ0MSwgNDI4MTYsIDk0MDM2LCA2NTE0MCwgNzQ3OTcsIDAsIDg4MzAsIDY1NjgsIDQyMzAwLCAxMDUyNCwgCi0gICAgNDExNzUsIDk4MzQ0OCwgOTgzNDQ1LCA5ODM0NDYsIDUyOTYsIDk4MzQ0NCwgNDI0OTIsIDQzNDAyLCA5MjQ2NiwgMzMwMiwgCi0gICAgMCwgMCwgNjUxNiwgNjUxNSwgNjUxNCwgNjUxMywgNjUxMiwgMCwgNzg1NiwgODY5MCwgMCwgMCwgMTIxMjIsIDExOTYwMiwgCi0gICAgNDM5NzYsIDAsIDE3ODUsIDY5OTI1LCA2ODYyMiwgNjUxNTMsIDE5NDgxMCwgNTEzOCwgMCwgMCwgMTE4ODY5LCAwLCA0NTQwLCAKLSAgICA0MTE4MSwgMCwgNjIwMCwgMCwgNTEzNCwgMCwgMzIyLCA0NjQzLCA1MTMyLCAwLCA2Mzg5LCAxMjg1MzMsIDUxNDMsIDAsIAotICAgIDg3OTAsIDEyODY5NCwgMCwgMTk0ODAyLCAwLCA4ODY5LCA2OTkxNiwgMCwgNDIwNjAsIDcxMzI2LCA5NjQ4LCAxOTQ4MDQsIAotICAgIDEyNzAxMiwgMTAyNzAsIDEwMjg2LCAxMDMxOCwgMTAzODIsIDQzNTI5LCA2NjQ3NywgMCwgMCwgNzQxNzAsIDAsIDMyMzQsIAotICAgIDAsIDAsIDc0Mzc2LCA0MzEzOSwgMTE4ODE1LCAxMjcwODQsIDEyMDYyNywgODc2NywgMCwgNzQ0ODksIDk2OTUsIDEyMDc0NiwgCi0gICAgNTIwMSwgMCwgNjIxNSwgMTI3MTQsIDYyMTQsIDEzMTAxLCAwLCAxOTQ5OTksIDY1MjY4LCAwLCAwLCAwLCAxMTAyNywgMCwgCi0gICAgMTAwNTksIDEwNTExLCA0MjA3NSwgOTc2NywgNzg5LCAxNzQ5LCA3ODg5MCwgMTI3MDcxLCA5ODM2NzAsIDMyMCwgMCwgCi0gICAgODY0NywgMCwgMzA0OSwgMCwgNjQ3MSwgNDIwNzEsIDQzMTU2LCA5OTI1LCAxMjczNTYsIDEyNzM1NSwgNjY0NzgsIDQ5NjAsIAorICAgIDEwMTgzLCA3NDYzNSwgMjYwOCwgMTQ3MCwgNzM5NjcsIDk0MDA4LCA2MjI3LCAwLCAxMjcxNzMsIDY1MjM2LCA5MTc4NzgsIAorICAgIDYxNjMsIDk4MzU1OCwgMTEzNzI4LCAxMjczMTQsIDAsIDAsIDg2MDMsIDAsIDExOTg2NiwgMzMwNiwgMTA4NzYsIDQzMzkyLCAKKyAgICAxMTk1NzMsIDEyNzkzMSwgNTc1MSwgMCwgNjIyMiwgMCwgMTI3NDY2LCAxMjA4NiwgNzQwMywgMTYwMCwgNjQzMDksIAorICAgIDY0OTM5LCAwLCA2NDc4MywgOTI2NTgsIDExMzEwLCAwLCA4ODgyLCAwLCAwLCAyNTcwLCA3MDIxLCAwLCAwLCA0MzExMCwgMCwgCisgICAgMTIzNCwgNjU0MCwgNjk3NCwgOTI3NTAsIDAsIDk4MzIxMSwgNTAwMiwgMCwgNDEyODYsIDY5OTQ2LCA3NDQ2NSwgNzEwNzQsIAorICAgIDQzNTg1LCAxMTM3MjAsIDY1NTEsIDk4MzM3MywgMTI4MjI5LCA5ODMyNzIsIDQxMjg5LCAxMjUxMzAsIDcxMDgwLCAKKyAgICAxMjc5NTgsIDg5NzcsIDYwMiwgMTIwODE0LCAwLCAxMjg3NzgsIDEyODY2MSwgMTk0ODkwLCA5ODMzNzUsIDQxMjc5LCAwLCAKKyAgICAwLCA5MTc3OTUsIDExMDgxLCA0MzYxNSwgMCwgMCwgMCwgOTgzNjEyLCAxMjcyNywgMCwgMCwgNzgzOTcsIDk0NzUsIDcxMTIsIAorICAgIDY1MTA1LCAwLCA5NjMzLCAxMDg4NiwgNDM1OTIsIDc4MzEsIDk4MzgyOSwgMTk0NTcxLCAwLCA3MzkxNSwgODA3NiwgCisgICAgNDMwNDgsIDgyOTAsIDgyOTEsIDQzMDUxLCA5MjU3MCwgMCwgMjU5NiwgNDM1ODQsIDAsIDEzMTEzLCAwLCAxMjc3NTcsIAorICAgIDIzOTMsIDcwNTgsIDkwODcsIDc0MDY3LCA2ODY3MywgNDE1NzQsIDc4MzM3LCA3MDQ5OCwgNDI5MDAsIDYzNzYsIDAsIDAsIAorICAgIDAsIDAsIDk4NTQsIDEyNzc0OCwgNjQ2OTYsIDczODc5LCAxMjgyMjAsIDEyMDc1MiwgNjk5NCwgMCwgMTcyMCwgMCwgMCwgMCwgCisgICAgNjUyOSwgNzA2MywgOTgzMTgyLCAzNzUxLCA5MTIwLCA5ODM0ODUsIDAsIDE3OTgsIDcwOSwgMCwgMTM1NCwgMTg3NiwgCisgICAgMTMxNTIsIDY1NTcsIDEyNDMwLCA4MTM3LCA5NDA5OCwgNjc3NTIsIDcwODUwLCAwLCAyNDUsIDEyODA5NywgMTE0NTYsIAorICAgIDQxMjMzLCA3MDcwLCAwLCA5NDA0NiwgNjEzNiwgNjgzMDQsIDY1Njc3LCA4NjgyLCA0MTIzNSwgOTI1OTUsIDQyMDQ1LCAKKyAgICA5ODA0LCAxMTg5NjMsIDQzMiwgMzU5NSwgMTI3OTAxLCA2NTQzNywgMCwgNzQ0NTUsIDQyMzk5LCA5ODMxMzYsIDAsIAorICAgIDEyODI3NCwgMCwgMTE5NjU4LCAxMjgxODQsIDAsIDAsIDc3ODk0LCA4Nzk3LCAwLCA5MDUyLCA2NDg4OCwgNzE2NywgMjM1NiwgCisgICAgOTUsIDc0Nzg0LCAxMDU4MCwgMCwgNDIyODYsIDkyMjMxLCA2NDY0MCwgNjk5OTksIDk0MTA5LCAxMjg2MjUsIDc0MTM3LCAKKyAgICA3MDAzNSwgMTAwNjMsIDEyNjUyLCAxMjE5OSwgNzQ2MjIsIDQzNDkyLCAyNTY2LCAxMTk3MSwgOTgzNzM3LCAwLCAxMDY1LCAKKyAgICAwLCAwLCA0MzQwMCwgMjU3NiwgNjY2OTYsIDY2ODE5LCAxMjg2MjQsIDQzNjA0LCAxMjc4OTEsIDAsIDMyMDEsIDUxNCwgCisgICAgNzQ1MDIsIDcwMDMyLCAyOTIxLCA0MzIxNSwgNjQ0OTMsIDU3NzIsIDEyOTY4LCA3MDA1NSwgMTk0OTQ0LCA3NDU4MCwgCisgICAgNDMzOTgsIDI1ODAsIDk4MzgxMCwgNDEzNDEsIDQxMjIzLCA2NTY0LCAxNDYzLCA0MTM0MiwgMCwgNTI5MywgNzAwMjAsIAorICAgIDk4MzE4NSwgMzczMywgMTEzNDYsIDAsIDEyMDU0LCAwLCA3NDA5OCwgNDI4MjcsIDE5NTA3NCwgMTMwOTEsIDAsIDAsIDAsIAorICAgIDkxNzkxNSwgMTI3OTYxLCAxMjcwMjUsIDAsIDc0ODIxLCA3MTEwNCwgNjYyOTUsIDkyNzY1LCAwLCAxMjc4NjUsIDEzMDkwLCAKKyAgICA2NjY0MywgMCwgMTI3MCwgMTEzMiwgNDIzNjAsIDAsIDc0MDk2LCA2NjY1NSwgNDI1NjksIDEyNzgyNCwgNjY4OTgsIAorICAgIDY0NzYxLCAwLCA0MTAyMSwgODUxMCwgNDI0MzIsIDAsIDExOTMxNywgMTk0NzgyLCAwLCA2NDQ5NiwgNzQxMDksIDcwMDMwLCAKKyAgICA5OTE1LCAwLCA5ODMyMTgsIDcwNjEsIDQxMzM2LCAzODU0LCA2OTcwMCwgMTMxNDEsIDY4NDEzLCA0MzQwMSwgNDIzMTksIAorICAgIDEzMDgyLCAxMjQ5NzYsIDcwNjcsIDY4MjIxLCAwLCAxMjczODMsIDEyNzE3MSwgMCwgMTIwNzQ1LCA3NDIwOSwgOTAyOSwgCisgICAgNDM1NDMsIDcwODM2LCAyMzUzLCA2MzA4LCAxMjkxNTQsIDc0NzkyLCAyNjExLCAxMTkxODYsIDY2ODgxLCAwLCA2NTA2MywgCisgICAgNDM2NjQsIDkyMzk5LCA2NjYyNywgMTI1MDkzLCA0NDg0LCA4NTA5LCAxMTg5NzYsIDExMDY2LCA2NTIzMywgMCwgNDEyMjQsIAorICAgIDQxMDE3LCAwLCAzNzQ3LCAxMDUyMiwgMCwgMCwgMTY5MSwgNDEyMjYsIDEyNzIxNCwgMTIxMDcsIDcxMDAsIDEwOTA1LCAKKyAgICA2NTAxMCwgMTI3Mjc1LCA2OTcsIDY2MDE4LCA5Mjg0LCA0MjQ0LCAwLCA5MzA1OCwgNzc4NjEsIDEzMTIxLCAxMjAwMzYsIDAsIAorICAgIDEyMDEwLCAxMjg1NzMsIDEyODIyMSwgMTI1MDE0LCAwLCAwLCAxMjcxOTMsIDY1ODE2LCA2ODExMSwgMCwgMTI3OTMzLCAKKyAgICA2NTY2OCwgOTIyNTcsIDY2MTgsIDM1NjIsIDY2MzY1LCAwLCA0MjIzNCwgMTI2NDgsIDc4MTEwLCA3MTIzLCA3MDAzOCwgCisgICAgNTc4NSwgOTE5OCwgOTc2NCwgNDEzMTYsIDY1ODc3LCA3MzgzLCAxMzIzMCwgNDEyOTksIDAsIDAsIDY4MzY1LCAxMjgyNTgsIAorICAgIDAsIDAsIDAsIDEzMTIyLCAwLCAxOTEsIDcwMDYwLCA4NTg1LCA4MDAwLCA2NDQxMSwgMTIwNjUyLCA0Mjg4OSwgNjQ4NTAsIAorICAgIDQxMDcyLCA0MTU3OCwgMCwgNDE1NzcsIDAsIDEwMDAyLCAxOTUwMjgsIDY1MzMsIDczODAyLCA0MTU3MCwgOTE3OTE5LCAKKyAgICA2ODMsIDM5NiwgNDE1ODAsIDY4MTQ2LCA5ODMwNjcsIDEyOTAxLCA0MzA1OCwgMCwgMzQzLCA3MTI5LCA0MjY4MCwgNDEzNjAsIAorICAgIDc4MTU0LCAwLCA0NzQzLCA2OTk4NywgMCwgNzQwNDAsIDc0MTA4LCA4NzQzLCAxNzI0LCAxNDMzLCAxMTkzMjIsIDAsIAorICAgIDM3MzksIDYyNjMsIDcxMzQ5LCAwLCAzOTY0LCA2NTkyLCAwLCA2ODI4OCwgNjYwNDAsIDAsIDQyNTY4LCA2OTgwNiwgCisgICAgMTI4MTEzLCAxNzc4LCAzOTU2LCAxMjg0NDMsIDQyMDcwLCA2NTYzLCA0MzA3NSwgOTAxOCwgOTQwMDYsIDk4MzM5NiwgCisgICAgMTIwNjcsIDQxMzEyLCA5Mjc2MywgNTU0NywgODkxNiwgMTI3OTY5LCAxMjg5NTAsIDgxNzUsIDAsIDI4NCwgODEwOCwgOTM0LCAKKyAgICAxMjgwMzksIDc0MDAxLCAxNzMsIDY2NDYwLCA3MTc0LCA5MjcwMywgMTE4ODIyLCAxNzUwLCAxMjg2ODYsIDQzOTQsIAorICAgIDY4MzY4LCAxODA3LCA5ODM4ODgsIDkyMjk4LCAwLCA1ODg5LCAwLCA3MTgwLCAwLCA2NzEyNywgMCwgNjcxMjYsIDQyNDcxLCAKKyAgICA2OTgyLCAxNzIxLCA0NDAyMiwgNzg5MSwgNDIyNDMsIDQyMTYwLCAyNTgzLCA0NTEyLCAxMTkzNjAsIDY1MjMwLCAxMjgxMDksIAorICAgIDAsIDAsIDM4NTUsIDE5NDk4NiwgMTE3NjcsIDAsIDAsIDc0Mjk1LCAwLCAwLCA5MjQxNiwgMzk3NSwgNjcxMjUsIDc0MDg3LCAKKyAgICAwLCAxMjY3MiwgMzc5OCwgMjcwMywgOTgzNTk5LCAwLCAyMTA5LCA5Nzc0LCAxMjc1LCAwLCAwLCA0MTA5NSwgMzk2MiwgCisgICAgNjgyNDIsIDI5MzIsIDQxMTAxLCAzOTU0LCA2NDU3LCA0NTEzLCA3NDUzNiwgMCwgNzM5OTQsIDczOTkyLCAxNDY4LCAKKyAgICAxMjAwMzMsIDk4MzA1NywgNDE4MDMsIDEyODIzMCwgNDE4NDYsIDEyNzI0NCwgNTUyMzgsIDc2MzMsIDQxODQ5LCA2ODM4NSwgCisgICAgNDMyMCwgMzIyNCwgMCwgOTI3NDEsIDY2MjgxLCA0MjUzMSwgNzQ1OTMsIDE1MTAsIDEyODM4NCwgODI1NiwgMCwgMTEzOTMsIAorICAgIDAsIDg4NzksIDEyODA3NSwgOTI0NzQsIDg3NzAsIDcyNDE2LCAwLCA3MjQxNSwgMTkxMCwgODY3MSwgNzgzNzQsIDQyODMsIAorICAgIDAsIDEyNzExNywgNjgzNjEsIDc4MzE4LCAyNjU0LCA3ODkzLCAxOTUwMDcsIDEyODI0MSwgMCwgNzIzOTQsIDY1MTA2LCAKKyAgICA0Mjc2MSwgMTI4NTcsIDQ1ODEsIDg0MTEsIDc4MzcyLCA3ODM3MSwgNzgzNzAsIDc4MzY5LCA3ODM2OCwgNzQ0NzUsIAorICAgIDk4MzQ0MiwgMCwgMTczMywgNDM5MiwgMjU2OCwgMTA3ODYsIDY5NjYxLCAwLCA4MTg0LCA0MTQ4NiwgMCwgNzM5NiwgNzExNiwgCisgICAgMCwgNjk3ODgsIDAsIDcxODUsIDc5NjUsIDExOTE0NCwgMCwgOTIzNDcsIDE5NTA2NiwgNDEzNTAsIDkxMjksIDAsIDAsIAorICAgIDIyOTQsIDY0NTAxLCA5MjQ4OSwgMCwgMTA0ODEsIDAsIDcwMDIyLCA3MTcxLCAwLCAzNDAsIDcxMTA1LCA5Mzk3MiwgCisgICAgNjczNjAsIDAsIDkyMjAwLCAxMjgyNDksIDEyNDk3OSwgNjc2NCwgMTI3NDg3LCAxMjgzOTMsIDAsIDkyNTA5LCAxMjg5NjIsIAorICAgIDY1MjAzLCAxMTM5MiwgMTE5MDk4LCAxMTkzNTksIDExOTA3MywgMzIxMCwgMCwgMCwgMTE4Nzk1LCAxMjc5NzYsIDk0MTAxLCAKKyAgICAxMjc0ODQsIDkxNzYxOSwgMTE5MTQ5LCAwLCAxMDA0MywgMCwgMTE4NiwgNDE1NzEsIDY5OTksIDYxNywgOTQ2NCwgCisgICAgMTI1MTIzLCAzNjc1LCA1MjA3LCA2NTA2MiwgNTIxMywgNzQ2MTYsIDI2MTcsIDQxMzQ4LCA0MTU2OCwgMTI4ODAzLCAzMjUzLCAKKyAgICAxMjA1MzUsIDAsIDg2MzAsIDEyODU0NCwgMCwgNTU5NiwgNTU0NSwgNzI4OCwgMjU4NiwgNjQ4ODcsIDk4MzY0NCwgNTIxNywgCisgICAgNzEzMzYsIDEyODY4NywgOTE3NjE0LCAwLCA2NDI5MywgNjgwOTgsIDI2MzUsIDkyNzYwLCAwLCA5ODM4NDYsIDAsIDkyNzQyLCAKKyAgICA3ODM1LCA3MDA0MCwgMTIwNzA3LCAxOTQ5ODgsIDkyMjg1LCA2NDU1OCwgMTI3MTIyLCAwLCA2NzA4MywgNjcwODUsIAorICAgIDcwMDk5LCAwLCA1Nzg0LCA5ODMxMDIsIDE5NTA1MCwgOTgzODEyLCA3MDAzMywgNDAxMSwgMTk0NTY1LCA2ODEwMSwgCisgICAgMTI0OTc4LCA3ODY0LCA0MjU0LCA2NTA5NSwgOTgzNDk2LCA1NjAwLCAzOTAzLCAxMjcwODMsIDEwNDQ3LCA1NTk4LCAxMjA3LCAKKyAgICAxMjA1MjEsIDY2Njg5LCAzNTAxLCA0MjU4MiwgNDM2MDAsIDEyOTA1NCwgMTI3MTAzLCAxMTI0LCA1NTk3LCAxOTQ3NzgsIAorICAgIDE5NDc3MiwgOTMyMSwgOTgzNDg0LCAxMTM3MDYsIDk4MzQ4MiwgNjc0MDAsIDE3MTksIDY4MzU2LCA2ODM1NCwgOTY3MSwgCisgICAgMTEyNSwgNDM5OSwgMTI3NDc5LCA2NjI3NCwgOTgzNDg4LCA3NjMxLCA1NDg4LCA3MTI4LCAxMjA1MzIsIDAsIDU0OTEsIAorICAgIDExODc5NywgODkzNywgNDMwNDQsIDI2MDQsIDc0MTg3LCA1NDkwLCA0MzA0NiwgNTQ4OSwgNzIxMiwgMTE3NjgsIDQzMDQzLCAKKyAgICA2MzAwLCAxOTQ4MzcsIDcxMjIsIDk4MzA5MCwgNDM5MCwgNDU0LCA0MTM5NywgMCwgOTg3NSwgNzU5MywgMTk0NzkxLCAKKyAgICA5MjI3NCwgMTE4OTEzLCA3MjA3LCAwLCA2NTkwMSwgMjM5NCwgMjU3NSwgMCwgMzc0NiwgMTEwMTYsIDY1NzUyLCA5Mjc1NywgCisgICAgMCwgNDM0MjMsIDEyODY4MywgMTE5ODksIDAsIDAsIDAsIDc4Mjk2LCAwLCA4MjQ5LCAxMjgxNzIsIDExMTA5LCA3ODUzMSwgCisgICAgNjY0MCwgNzQ4MDYsIDI1OTgsIDUxMywgMCwgNjU4NiwgODY1NiwgMCwgNjk3OTIsIDY1MDA4LCAxOTQ1OTcsIDcxMTExLCAKKyAgICA3ODM4MywgMTk0Nzk1LCAxMjc0NzQsIDkyNTE1LCA2ODQ3NSwgOTM5NzMsIDE5NDU4NCwgNjM3OTksIDc4NjM3LCAxMjY0NywgCisgICAgMCwgMTI4MDQzLCA2OTg5MywgMTAzNiwgMTk0OTgyLCA5MjQxOSwgMTcyMywgNjgyMTUsIDc0MjE3LCAwLCA0MTU3OSwgCisgICAgMjQ0NCwgMTIwNzIyLCAxMDcwNSwgNzM4NzYsIDk4MzQ2OSwgNzQ0ODYsIDk4MzQ2NywgNzQwLCAxMTkyMjIsIDE5NDk3OCwgCisgICAgMTk0OTg0LCAwLCA0MjM4LCAxMTA3MSwgOTQ1OSwgNjg0MzcsIDc4MTQwLCA3ODEzOSwgMTk0OTg1LCA4MTIxLCAxMDQzOCwgCisgICAgNzQ0ODcsIDQyNTc0LCAxMzI4NSwgNTUyNjMsIDExOTA3LCAxMjkxMDcsIDU2OTAsIDkyMjU1LCA5Mzk5MiwgMCwgNDMxODEsIAorICAgIDEzMDk1LCA3NzkyNSwgMTI3ODU3LCA2NDQ5OCwgMCwgOTUwNiwgNjk3OCwgNzAxNzYsIDc3OTkyLCAwLCAxMTM3NDMsIAorICAgIDc4Mzc5LCAwLCAxMjc4NDUsIDExMjIsIDMxNywgMCwgNzEwNTUsIDAsIDAsIDE5MjAsIDAsIDEwMTczLCA4MjcsIDAsIDAsIAorICAgIDc4Mzc4LCAxMTk2MDAsIDUyMjMsIDEzMDQsIDAsIDExOTU2NCwgNTIyNiwgMTI2MDIsIDk0MDQ0LCA1ODgwLCA5MzI5LCAKKyAgICA3NzU4LCA5MjM5LCA0MTE3MywgNTIyNCwgNTQ4NywgMTIyMiwgNTY5MiwgNDE3MjUsIDY5MjI5LCA5Njc0LCA1Njk1LCAKKyAgICA0MTcxMSwgNjQ2MjcsIDE5OTA5LCA3MTA3NywgNzQ2MDQsIDU2OTEsIDI4NywgODY2LCAyMzMsIDY4MTM4LCA5ODM0NDEsIAorICAgIDQyODE2LCA5NDAzNiwgNjUxNDAsIDc0Nzk3LCAxMjgxNTgsIDg4MzAsIDY1NjgsIDQyMzAwLCAxMDUyNCwgNDExNzUsIAorICAgIDEyNTAzMywgOTgzNDQ1LCA5ODM0NDYsIDUyOTYsIDk4MzQ0NCwgNDI0OTIsIDQzNDAyLCA5MjQ2NiwgMzMwMiwgMCwgCisgICAgNzQ4NTgsIDY1MTYsIDY1MTUsIDY1MTQsIDY1MTMsIDY1MTIsIDAsIDc4NTYsIDg2OTAsIDk4MzY4NiwgNzA4NzAsIDEyMTIyLCAKKyAgICAxMTk2MDIsIDQzOTc2LCAwLCAxNzg1LCA2OTkyNSwgNjg2MjIsIDY1MTUzLCAxOTQ4MTAsIDUxMzgsIDAsIDcxOTIyLCAKKyAgICAxMTg4NjksIDAsIDQ1NDAsIDQxMTgxLCAwLCA2MjAwLCAwLCA1MTM0LCA2OTk4MCwgMzIyLCA0NjQzLCA1MTMyLCAwLCAKKyAgICA2Mzg5LCAxMjg1MzMsIDUxNDMsIDAsIDg3OTAsIDEyODY5NCwgMTIwMTIxLCAxOTQ4MDIsIDcxMTY4LCA4ODY5LCA2OTkxNiwgCisgICAgOTMwNjksIDQyMDYwLCA3MTMyNiwgOTY0OCwgMTk0ODA0LCA3MTE3MCwgMTAyNzAsIDEwMjg2LCAxMDMxOCwgMTAzODIsIAorICAgIDQzNTI5LCA2NjQ3NywgMTk0ODAwLCAwLCA3NDE3MCwgMCwgMzIzNCwgNDM4MzUsIDAsIDc0Mzc2LCA0MzEzOSwgMTE4ODE1LCAKKyAgICAxMjcwODQsIDEyMDYyNywgODc2NywgNjgyMzEsIDc0NDg5LCA5Njk1LCA3MjQzOSwgNTIwMSwgMCwgNjIxNSwgMTI3MTQsIAorICAgIDYyMTQsIDEzMTAxLCAwLCAxOTQ5OTksIDY1MjY4LCA3NjYxLCAwLCAxMjg0NDQsIDExMDI3LCAxMjg1OTYsIDEwMDU5LCAKKyAgICAxMDUxMSwgNDIwNzUsIDk3NjcsIDc4OSwgMTc0OSwgNzg4OTAsIDY3MTE1LCA5ODM2NzAsIDMyMCwgMCwgODY0NywgCisgICAgOTgzNzA1LCAzMDQ5LCAwLCA2NDcxLCA0MjA3MSwgNDMxNTYsIDk5MjUsIDEyNzM1NiwgMTI3MzU1LCA2NjQ3OCwgNDk2MCwgCiAgICAgNTU0OSwgMTI3MzU5LCAxMjczNDYsIDg0ODUsIDQ2NzEsIDU0MTgsIDEyNzM1MCwgMzM1MSwgMTI3MDA2LCAxMjczNTEsIAogICAgIDEwNjEwLCA1NDE0LCAzMDY0LCA2MjEyLCA0Mjg2LCA1NDIxLCAxMjczNDQsIDk1NTQsIDAsIDk0MDQ4LCAxMjcxMDksIAogICAgIDY2NTMsIDEyODgxMSwgMCwgNjQ1MTAsIDYyMTMsIDEyODg1LCAwLCAxMTkwNDUsIDY0NzIwLCAwLCAxMjA3NTksIDczNzQxLCAKLSAgICAxMjYwMywgNzEzMSwgMTE0MzAsIDQ1NjYsIDc1MTgsIDkzMTcsIDM4MDEsIDEwMzQyLCAxMDQwNiwgMCwgMTE5MjU5LCAKLSAgICA0MjU3NiwgMCwgNTIwMCwgMTI2NjExLCA5MTc5NDgsIDAsIDkxODMsIDEyNzM2MSwgNzQ0NTgsIDczODI1LCAzOTUsIDU0ODIsIAotICAgIDUxOTgsIDQzNDksIDEwMzkwLCA3NDIwMiwgNTE5NiwgNDMyMjQsIDYxMTMsIDQyMDA5LCA1MjA1LCAwLCA0MzMwNywgMCwgCi0gICAgMTE4OTczLCAwLCAxMjEzNCwgMCwgMCwgMTE4ODQzLCA5MTI2LCA0MzUsIDk4MzYyNCwgMTIwMTQsIDEwMzc3LCA4MDkzLCAKLSAgICA5MDc5LCAzMjAzLCAxOTIsIDY1MTA5LCAzMzg1LCAwLCA2NDQzMCwgNTM4MywgMTAyOTQsIDEwMzI2LCAxMjgxNzgsIDU3MzgsIAotICAgIDk4MzIxNSwgMzMzNiwgNzgzNTUsIDUzNjEsIDM2MjMsIDQxMTU5LCAwLCA2ODExMiwgNzg3MiwgODU4MSwgMCwgMTI2MCwgCi0gICAgMzE0OSwgNTM1OSwgMTIwMTM0LCAwLCA3OTE0LCA1MzU3LCA5MjE3MCwgMTI4NjU5LCAyNjI0LCA1MzY0LCAwLCAxMTQzMSwgCi0gICAgMTIwMDMwLCA5MTAxLCAxMTA1OCwgNzgyODgsIDAsIDc4MjkzLCA0MjI3MSwgNzgyODksIDQyOTE3LCAxMjA3OTMsIDAsIAotICAgIDY1NTY2LCA2NzE3LCAxMDYxOSwgNDMzNjAsIDc4Mzg1LCA3ODM4NCwgMTE4MzIsIDc4MzgyLCA3ODM4MSwgNzgzODAsIAotICAgIDc4Mzc5LCA5MzE5LCA3MDk3LCAxMTkwNTUsIDc3OTA2LCAzMjMyLCA3MzgyNCwgNzQ1ODEsIDEyMDYzMiwgMCwgMCwgCi0gICAgNDE4ODksIDkyNDUzLCAwLCAxMTYxLCA0MTg5NSwgNzQxMDMsIDk3MDEsIDg2MjIsIDAsIDAsIDczODE5LCAxMjA1ODgsIAotICAgIDUwMTIsIDc3OTEyLCA0MTM2MiwgNjk4NjIsIDc4Mjk2LCAxMTkyMSwgMCwgMTE3NjksIDAsIDY4NjA5LCA0MTM2NCwgMCwgCi0gICAgNzQyMjgsIDQxMzUyLCA0MTM2MSwgMCwgNDEzNjYsIDAsIDMzNTYsIDExNjExLCA5MTcsIDY4NDIyLCAxMTk5MTUsIDcxMzQsIAotICAgIDgxOTksIDc4Mzg5LCAxMTk5MTcsIDY3NywgMTE5OTE2LCAwLCAxMTk5MzIsIDEyNzE2OSwgMCwgMCwgMCwgMzM0OSwgCi0gICAgNzQxMjUsIDcwMjIsIDg5MjcsIDQ3MzksIDAsIDU4MDIsIDAsIDg2MTUsIDAsIDAsIDQ5MSwgMTI4ODE5LCAxMDE5MCwgCi0gICAgMTIwNjk4LCA2NTgzNywgMTI4ODIwLCA4NDI2LCAxMTA5MiwgOTg5MSwgMCwgNDI0OTcsIDcxMTMsIDc1ODYsIDQyMzA1LCAKLSAgICAxMDg1MiwgMCwgMCwgNDYwNiwgNjg0NDgsIDkwOTUsIDc3NDEsIDEyNjg0LCA0MTg4NSwgMTA0NiwgNzEyNCwgMCwgMCwgCi0gICAgNTgxNSwgNTE3MSwgNjU1MzksIDY4NjEyLCA2OTMyLCA3NDI2NywgNDIzOTQsIDQxODc4LCA3NDg0OSwgMTIwNjIxLCAwLCAKLSAgICA1MTY5LCAxMTkzNSwgMCwgMCwgMzE3NSwgMTIwODIyLCAxNTM3LCAxMjA4MDQsIDUxNzYsIDg5MDUsIDQxMzYsIDQ4NzEsIAotICAgIDc4Mjg3LCAwLCA5ODMzLCAwLCAwLCAxMTI4LCA2NTkyMCwgMCwgOTcxMSwgNzA1NywgOTQwOCwgOTQwOSwgOTQxMCwgOTQxMSwgCi0gICAgMzY2MiwgOTQxMywgMzM3OCwgOTQxNSwgOTQxNiwgOTQxNywgOTQxOCwgNjMyMCwgOTQyMCwgOTQyMSwgNTg5NywgOTQyMywgCi0gICAgNTE2NSwgNTEyNiwgNDEzODUsIDAsIDQxMzg5LCA5MTc5MzgsIDg5NTUsIDMzNzQsIDk0MDAsIDk0MDEsIDcxMTksIDk0MDMsIAotICAgIDk0MDQsIDM1MDcsIDk0MDYsIDc2MjksIDk4MzYxNywgMTk5MjUsIDQyNjY5LCA2ODQ2MywgMTgzLCA0Mzk4NSwgMjYzMSwgMCwgCi0gICAgMTA2MjcsIDQxMTMwLCA3ODI2MCwgMzk5NiwgMCwgNzg3NzEsIDAsIDExOTMxMywgMTE5MzA3LCA3ODc2OCwgNjU4MCwgCi0gICAgNDMzMiwgNjQ4MjUsIDY2MzI5LCAxMDcyNiwgNjY2ODYsIDQxMTI1LCA1ODk5LCA0MTM2NSwgOTE3OTE4LCAxMjA4NSwgMCwgCi0gICAgNTc0LCA5MTc5MjIsIDc3ODI1LCA3MzgyOCwgNTQ0OCwgNDEwNTgsIDU0NDYsIDY5NzA5LCA0MTMyMiwgNDIyMTEsIDU0NDIsIAotICAgIDQxOTAsIDc3ODM0LCA3NzgzNSwgNTQ1MSwgNzc4MzMsIDM2MTYsIDc3ODI4LCA3NzgzNywgNzc4MzgsIDc3MDgsIDc3ODM2LCAKLSAgICAxMDg1OSwgNjU4NjcsIDEwMzQ1LCAxMDQwOSwgNDE5MSwgMCwgNzc4NDQsIDczODAwLCA0MjE4MSwgNzc4NDMsIDc3ODM5LCAKLSAgICAyMDYwLCAwLCA3MTExLCAxMTc4OCwgNjU1ODcsIDY4MTI5LCAxMDQxNSwgNzQxMDIsIDAsIDIwNSwgMCwgMTAzNTEsIAotICAgIDExOTA3NiwgMCwgOTg2MiwgNjU4OCwgNDMyNTcsIDY0Njk3LCA3Mzk5OCwgNDEzNTUsIDU1MDUsIDExOTE1NCwgNTUwMywgCi0gICAgODAyMSwgMCwgNzEyNSwgOTgxOSwgNDEzNTcsIDgwMTEsIDQyODg1LCA1NTA3LCAxMjA0NCwgOTI2MzYsIDAsIDEwMDI2LCAKLSAgICA1NDcyLCA3MTA5LCAxMTkxLCAxMzEwNiwgNTQ3MCwgMTAzMjksIDU0NzYsIDg5OTEsIDY2MzIyLCA2OTc3OCwgNzgyNjcsIAotICAgIDQyODc0LCA4NTUwLCA0Mjg3NiwgNTU5MiwgMjkxOSwgMCwgMjY3NSwgNTU5NSwgNzg0MTEsIDQzNzYyLCA0MzY3LCAwLCAwLCAKLSAgICA1NDc4LCA1OTA0LCA1NTk0LCAwLCA3NDE1MCwgNzI5MSwgNTU5MCwgNDM3NjEsIDEzMDY3LCAxMTg5MDksIDEyMDM3MiwgCi0gICAgOTgzMTA4LCA5NzMxLCA2OTczMSwgNjQ2MzMsIDc3ODU3LCA3Nzg1NCwgNzc4NTUsIDc3ODUyLCA3Nzg1MywgNzc4NTAsIAotICAgIDEwNzUwLCA0MzcxNCwgNzc4NTgsIDcxMzcsIDAsIDEyODI5NiwgMTI4ODcsIDEwNTUxLCAxOTQ1NjQsIDc3ODY2LCA3Nzg2NywgCi0gICAgNzc4NjQsIDc3ODY1LCA5OTI5LCA1MTk5LCA5OTM2LCAxMTIwLCA0MjM4NywgMCwgMTQ0NCwgOTQ4NiwgNzU1NCwgNjU4MzksIAotICAgIDU1MjUyLCA3Mzk3MiwgMTQ0MiwgMCwgNTg5NCwgNzAwNjksIDAsIDQxMTcxLCA5MjUxMSwgNzQzMTMsIDAsIDEzMTYyLCAwLCAKLSAgICAzMzM0LCAxOTUwMTAsIDExODgwMywgNzc4ODEsIDY2MDIyLCAwLCAwLCAxNjUxLCAxMjg3NzEsIDg4NjEsIDAsIDAsIDExNDIsIAotICAgIDAsIDgyNzEsIDAsIDk4MzA1OCwgMTI2NjQ1LCAxMjkwMywgMCwgNDAwMiwgNDM2MjYsIDEwNDQyLCAxMDY3NiwgMzM0NCwgMCwgCi0gICAgMCwgMTI5MjAsIDE5NDU2MCwgMCwgMCwgNjY2NDIsIDEyNzcsIDAsIDc4NzEsIDAsIDE5NDY4NiwgNzg4NTMsIDAsIDc4ODU0LCAKLSAgICAxMjAzNjAsIDAsIDExNzg0LCAwLCA3ODAxMiwgNDcwMCwgNjYzNjYsIDc4ODU4LCAxMjAzNTksIDExMDEyLCAwLCA3ODg1NiwgCi0gICAgOTI0MDAsIDc3ODc5LCA0OTczLCA4Nzg0LCA3Nzg3NywgNzQ4MDQsIDc3ODc0LCA3Nzg2OSwgNzc4NzEsIDQyNDQwLCAwLCAKLSAgICA0MzExOCwgMCwgNDIzNjQsIDY3NzQsIDY3NzMsIDkxNzU2MCwgMTIwMzY5LCAxMDM0NiwgMTA0MTAsIDc4ODU5LCA5MjQzLCAKLSAgICAyNDY0LCA3NDI2MywgNjEwOCwgMzM3MiwgMCwgNjI0NywgNDMxMTcsIDc0NTI2LCA3MTIxLCA3NDE2NiwgMCwgMTIwMzU1LCAKLSAgICA5MjUzNywgMCwgMCwgMTk1MDM0LCAwLCAwLCAwLCA3MDA4MywgMzM1NCwgMTk1MDM3LCA0MTkyLCA5Mjg5LCAxMTg5OTksIAotICAgIDQxMTkxLCAzODc2LCAwLCA3MDA2NywgMTIwNjYwLCA0MzY5NiwgNDMzODAsIDAsIDk4MzA5MSwgMCwgMCwgMTE2MDMsIAotICAgIDk4Mzk1NCwgMCwgNjU4OSwgMTI4NTg4LCAxOTQ2NzksIDAsIDAsIDk4MzcwMCwgMCwgMCwgNDI1NzIsIDEyODI2NCwgCi0gICAgMTA2MzAsIDc0ODI3LCAxOTYzLCAxMTYyMiwgMTI3MDk4LCAxMTY1NCwgMCwgNzU1MCwgMTA2ODYsIDU5MDMsIDAsIDc4MDA5LCAKLSAgICA0MTMyOSwgOTY2MiwgOTE3OTM3LCA2NDY5OCwgMzM2NiwgMTAzOTksIDAsIDU1NDIsIDExMDEzLCAxMjc5MjcsIDEyODMwMCwgCi0gICAgMCwgNzg2MjEsIDE5NDY3MiwgNjkyNSwgMCwgMCwgOTE3OTI5LCAwLCAxMTU2OCwgOTgzNjczLCA0MzM2NywgNjQ1NzksIAotICAgIDkxNzkzMCwgNzg1MiwgMCwgMCwgNjc1NCwgNjMxMiwgMCwgNjQ2NzIsIDY1Mjk2LCAwLCAxMTg5NTcsIDAsIDQxNiwgCi0gICAgMTIyOTYsIDY4NDU3LCA3MzgzNCwgNjgxNzcsIDExMDUwLCAxMDk4NCwgOTIyMDgsIDAsIDAsIDkyMTgyLCAwLCA5ODM2MDUsIAotICAgIDk1MzIsIDY2MzU1LCAwLCA5ODMyMzQsIDkxNzkyNSwgNjQzNDMsIDE5NTAzMiwgMTI4MjgxLCAxOTUwMzEsIDAsIDE5NTAzMCwgCi0gICAgMTk1MDU3LCAxMTQ0NSwgMCwgMjExMiwgMTk1MDU2LCAxMjg4MTQsIDEwMTg1LCAxMDIxLCAxMjgxMzAsIDk1MDcsIDEwMjEwLCAKLSAgICA3NDU0NCwgODAyMywgMTIwMCwgMTIyNDMsIDc4MDAxLCA1MjgyLCA3ODAwMywgOTYyNCwgMTE1NDUsIDAsIDEyMDQ5MywgCi0gICAgMzM0MywgNDQyNCwgMTEwNDcsIDE4ODUsIDQzMjY4LCAzODk2LCA3ODQ0NCwgNjY0OTcsIDI5NDcsIDM5MiwgNzg5NCwgCi0gICAgNDM5MSwgNjgxMzksIDk4MzA2MiwgMTMwNTksIDc0ODE2LCA3Nzk5OCwgMzM4MSwgNzk0MiwgMCwgNjkyMTksIDAsIDY0NzU3LCAKLSAgICAwLCAzOTEzLCAwLCAwLCA3ODIzNSwgNzA0NCwgMTI2NSwgMCwgNjMwOSwgNzA0NSwgNzE3NSwgNzA0NywgNzgyMzksIAotICAgIDExNzkxLCAwLCAwLCA4MjIxLCA3ODMwNywgNDE4NjQsIDAsIDAsIDAsIDAsIDE2NywgOTgzOTA2LCA3ODMwMSwgOTgzNjUzLCAKLSAgICA3NDIxMSwgNDE4OTcsIDY4NDc3LCAwLCA5MTc1ODMsIDk4MzYzNCwgOTQwNjUsIDI0OTMsIDAsIDExODgxMSwgMCwgMCwgCi0gICAgNjQzNTQsIDAsIDg3NzcsIDAsIDQwNiwgODg4NCwgMjM4NSwgMCwgOTI0NTAsIDAsIDkxNzU3MywgNDMwMzAsIDQyMDI3LCAKLSAgICAxMjExNCwgMCwgOTE3NTc5LCA2NDkzNiwgMTk0Njk1LCAwLCAxMjA2MjksIDEwNTYxLCAwLCA4MzY1LCAxMjA1MzksIAotICAgIDk4Mzc3NCwgNjU4NDEsIDEyMDc4NywgMTE2MDEsIDAsIDc0MTIxLCAwLCA5MTc1NzUsIDc4MzQsIDc0MTU5LCAwLCAKLSAgICA5MTc1NzQsIDEwMjk4LCA2NjI0LCA0OTA4LCA5MTc1OTYsIDE2MzksIDAsIDAsIDc0MTU3LCA2MzI3LCA2NzI0LCAwLCAKLSAgICAxMjgwODYsIDkyNTY2LCA2OTkxMCwgNDgxNywgNzg0NDYsIDE5NDc1OSwgOTI1MzYsIDcwNDMsIDk2MDAsIDExMDIyLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCA3NTQ4LCA2NDc5NCwgNDIwNTAsIDEyMjkxLCA1NTI4OSwgMTk0NzYxLCAxMjM0MywgNjU3LCAKLSAgICAxOTUwNTQsIDQyNzA1LCA0NDYxLCAxMTM0LCAxODM4LCA3ODQzOCwgMjA1NywgMCwgNDQ2OCwgMCwgMCwgMCwgNDQ1NiwgCi0gICAgNTIwNiwgMTA3MjAsIDAsIDQyNTIzLCAxMjc1MjAsIDAsIDAsIDkxNzU5NSwgNjU1NTAsIDI2MCwgNDgxNiwgNjc2NTgsIAotICAgIDEwNjg3LCAwLCA0ODIxLCA0NDY2LCAwLCAxOTUwNDMsIDQ4MTgsIDE5NTA0OCwgNDE0MDMsIDExOTk3NywgMCwgMCwgCi0gICAgNDE0MDYsIDQzMjczLCA3NDE2MCwgMTE5OTgzLCA3MzkzOSwgOTI2MzgsIDExOTk4NCwgMTE5OTc5LCA0MTQwNCwgMTE2NSwgCi0gICAgMTE5OTgwLCA0NDUxLCAxMzA4NywgMCwgMTEyODQsIDExOTk4NywgNzAwOTcsIDY1MTU1LCA0MzAxNCwgNTQzOSwgOTM2MywgCi0gICAgNzAwNzAsIDMzNzUsIDEyODg2OSwgNTkwMCwgOTM5OTAsIDc4ODksIDI3MjIsIDQyMjYyLCAwLCAwLCAxMjg3NzQsIDAsIAotICAgIDIyODIsIDAsIDEyNzgxMCwgMTE0MDEsIDk4MzgyMiwgMCwgNjg0NTksIDAsIDAsIDAsIDAsIDY1NDM4LCAwLCA3MjgwLCAKLSAgICAxMjc4ODcsIDAsIDEyNzM4MSwgNDg2OCwgODI5NywgMTE5OTY2LCAxMTg3OTgsIDAsIDAsIDQzMTYxLCAwLCA5MjM2MCwgMCwgCi0gICAgNTE4MiwgMCwgMTIwNTQyLCAwLCAwLCA0MjI2LCAxMTkyNDMsIDEyMTM1LCA1NzMyLCA0NDY0LCAwLCA3MTMzMCwgOTc3LCAKLSAgICA0NDU4LCAwLCAwLCA2NDc3MCwgNzQ4MzgsIDAsIDM0NCwgMCwgMTk0NzkwLCAxMzk1LCA2NDI3OSwgMCwgOTIyNDAsIDAsIAotICAgIDc4NiwgMCwgNDMxNzQsIDY0MzQwLCAwLCAxOTQ3NjcsIDEyMDcyMywgNDMwMjYsIDc2MTIsIDEwMTMyLCA2NDQxMywgCi0gICAgNjUwMjUsIDAsIDAsIDAsIDkzOTU2LCAwLCA2ODQ0NCwgMCwgOTI0MzcsIDAsIDExOTE2MCwgMTAyMDQsIDkyNjU2LCAwLCAKLSAgICAxMjc4MDksIDk4MzY0NCwgMTM5OSwgOTgzNjUyLCA2NTIxNywgMCwgODg1MiwgMTI4NTcxLCAyNDEsIDEyODc4MCwgNDkwNywgCi0gICAgMCwgOTgzNjM5LCA3OTMyLCA5NzI3LCAxMjg4NzMsIDc0MjU1LCA4NzQ4LCAwLCAwLCA5ODM2NDMsIDAsIDQyNzgwLCAwLCAwLCAKLSAgICAwLCA0MjE3LCAwLCA4NjUwLCAwLCAwLCAwLCA2OTkwMCwgMTE4ODcyLCA0MzA5OSwgMzk2NSwgMTE5MTE5LCA2NzE5LCAwLCAKLSAgICAxMzMwMCwgNzg0MzksIDkzOTcxLCA0MzA1NywgNjY1ODgsIDExODk5MSwgMCwgMCwgNzM4MTUsIDQ0MjAsIDAsIDY0MTAsIAotICAgIDc3NjAsIDAsIDAsIDAsIDAsIDAsIDcyOTQsIDAsIDAsIDAsIDkwNjYsIDAsIDExOTkzLCA0MzE4OCwgMjYyNiwgNzc2MiwgMCwgCi0gICAgMCwgMCwgOTI2MDEsIDQyODI1LCA0MTg1NCwgNTMwNCwgMCwgNzg1MTYsIDY5MTksIDg2MTksIDExOTY1NSwgMTAwMzgsIAotICAgIDY2NDU0LCA5NTkyLCA0Mjg1MSwgMTI2OTkzLCAxNTQyLCA5MjMwMywgMCwgMCwgMCwgMCwgNzQzMTEsIDc4NDk3LCAwLCAKLSAgICAxMDE4MSwgMCwgNDM2MjQsIDAsIDc3NzksIDAsIDEwMTk1LCA5NDc5LCA2MDI5LCAwLCA5MjI2OCwgOTY4OSwgMCwgNjU1NzcsIAotICAgIDg5OTMsIDY2MzU4LCAwLCA0MjM3OCwgMzM2OCwgNjA2LCAxMjcwMzAsIDc2OTcsIDY5MjM3LCA2OTc4NywgMjAzMCwgMCwgCi0gICAgNjAyNywgODM3MCwgNDMyMiwgMCwgNjUyMDcsIDAsIDk4MzMzOSwgOTgzMzM4LCA5ODMzMzcsIDk4MzMzNiwgMjczNSwgCi0gICAgNDI4MzEsIDc3OTM1LCAxMjcxMjAsIDc0ODY2LCA4ODgxLCAxMTkwNDcsIDAsIDAsIDczOTQ2LCAwLCAwLCAwLCA2ODE0MCwgCi0gICAgOTgzOTI4LCA5NTc2LCAxMjg4NzIsIDMzNDcsIDQxNjAsIDUxNTQsIDU1Mjg4LCAzNzk0LCA2NjU2NCwgODUzMCwgMTI3MDYzLCAKLSAgICA3NzA5LCA0MTExMiwgOTgzMTMyLCA2NjU2MCwgNDIwNDEsIDQ1NzIsIDEyODc2LCA2NjU2MSwgOTgzNzU4LCA2NzU4LCAKLSAgICA5ODM5MjYsIDE2MTUsIDU4NTUsIDgwOSwgMCwgOTIyODMsIDEyODMxNiwgMTI4MDA0LCA1Nzk5LCA5ODMzMjgsIDcwMTAwLCAKLSAgICA5ODMzMjYsIDcyNjAsIDk4MzMyNCwgNDMwMzEsIDY0NDI1LCA2NTEyOCwgNzg4MTksIDY0Mzg2LCA2NTI1NywgMCwgNjg2MTYsIAotICAgIDEyMDYwNywgOTM0NywgMTI4MDY3LCA2NTMyLCAwLCAwLCAwLCAxMjcwNjAsIDY1ODI4LCAwLCAyODMsIDY4NjY1LCA3ODgxMywgCi0gICAgNTMyLCA3ODY2MywgMCwgOTgzNzk2LCAxMjA2MDksIDAsIDMzNzAsIDAsIDExMzYxLCA1NDQzLCA3ODc3OCwgODE1MywgCi0gICAgNzM3NjcsIDAsIDEwNzQxLCAwLCAyMjk4LCAwLCA5ODM5MTcsIDY1NDk1LCA2NDcwNiwgOTgzMzE4LCA0MzM0NCwgOTgzMzE2LCAKLSAgICA3MTQ0LCA5NDY2LCA3ODg2NiwgOTgyNCwgOTgzMzExLCA5ODMzMTAsIDAsIDAsIDkxNSwgNDM0MjUsIDAsIDAsIDAsIDAsIAotICAgIDEyNzE3OCwgNDMyNjQsIDcwMDk2LCAwLCAwLCA0MzAzOCwgNzg4NjQsIDY3MzAsIDc4ODYyLCA2ODE2MSwgNjQ1NTAsIAotICAgIDUxODYsIDczNjAsIDEyNzgzNywgMCwgMTIxMDgsIDAsIDY1MTI0LCA0MzEyNywgNjYwNDMsIDAsIDYzMjYsIDQzMTA3LCAKLSAgICA3NzgyNiwgMCwgNDI1NjIsIDAsIDEyODgyMSwgMCwgMTI4NTIwLCAxMTQ4NSwgNjEwMywgMTI3MTIzLCA5ODMzMDUsIAotICAgIDExNzE4LCA5ODMzMDMsIDEyODg5LCA5MjY1NywgMTI3MTM3LCAwLCAwLCAwLCA1NTI0NSwgMCwgMTYzMCwgMTI4MjMyLCAKLSAgICA2NTQ4MywgMCwgMTI1NjUsIDAsIDY1NDc2LCAxMjAwMTMsIDAsIDExOTU1NCwgOTI4MywgNzcwMCwgOTE3NTM3LCA5NjkwLCAKLSAgICA2NTQ5OSwgMCwgNjQ1OTMsIDUxMiwgMzM3NiwgNjgyMTAsIDAsIDEyODY3NywgNzc4OTIsIDYzMiwgMTI5NDAsIDc3ODkxLCAKLSAgICA0MjUyOSwgNzg1ODcsIDAsIDU5NTcsIDExMDU5MywgODkyNiwgOTgzMjk5LCA5ODMyOTgsIDEyODI3MywgMTA3NDUsIAotICAgIDEwMTc0LCA3Mzc5LCA2NDU4MSwgNTM4NiwgMTIwNjg2LCAxMTcxMywgMTA2MzMsIDY5NzA4LCA1MDU2LCAwLCAwLCAwLCAKLSAgICAxMjA3NzMsIDAsIDk4MTIsIDAsIDQ0NjAsIDAsIDAsIDcxMzA3LCAxMjgwMzgsIDAsIDAsIDEyNzE3NCwgNjQyNzgsIAotICAgIDkyMzcwLCA0MzQ2NiwgMCwgMCwgNjQzODksIDI5NTMsIDczODc5LCAxODAxLCAxMjgzNSwgMTE5MDI5LCAwLCA3MzgyMywgMCwgCi0gICAgNjYzNzUsIDIwODUsIDcwMiwgNDI1NzksIDc3ODg0LCA3Nzg4NSwgMTMwNzQsIDc3ODgzLCA5ODMyODYsIDk4MzI4NSwgCi0gICAgMTI4NTcwLCAxMjEwNiwgOTgzMjgyLCA3NDIwNywgMTc1NSwgMTA0ODIsIDEyODYzLCA3Nzg5OCwgMTE2MywgMjk1MSwgCi0gICAgOTUyMiwgNzQwNzksIDc4MjY2LCA2NjYwNCwgMCwgMzM4NCwgNjkyMjcsIDEwNzAyLCA4MzAsIDc3OTAyLCA3Nzg5OSwgCi0gICAgNzc5MDAsIDg0NTEsIDAsIDAsIDAsIDY5NzM5LCAwLCAwLCAwLCAwLCAyOTA4LCAwLCA0MzM4NiwgNjQ5MDIsIDQyNDMsIDAsIAotICAgIDEyMjM5LCAwLCAwLCA0NDQxLCAwLCA5ODMyNzksIDczOTQwLCA2NDM1MiwgMTI3NTEzLCA5ODMyNzUsIDQxMSwgOTgzMjczLCAKLSAgICA5MTk5LCA5ODMyNzEsIDQwNTYsIDExODk5MiwgNDE4OTAsIDAsIDI3MzAsIDQxNjA0LCA5ODM5MzcsIDU0MjgsIDE5NDc0MywgCi0gICAgMzM2NCwgNDIyNjUsIDY0NDM3LCAxMjc5MzUsIDExODgxNiwgMTk0NzQyLCA5Njg0LCAyMTYsIDAsIDE0MDEsIDEyODA1MywgCi0gICAgNDQwMTIsIDAsIDAsIDkyNTg1LCA5MTU4LCA3Nzg0MiwgNjk5MDUsIDU3NjgsIDAsIDAsIDAsIDQ4NCwgMTk0NzM5LCAwLCAwLCAKLSAgICA2NTg5NSwgMCwgMCwgMzMzOCwgNzM5MzUsIDU3MiwgNzA0MSwgMjczNiwgNjc2MDUsIDk4MzI2MywgOTM5NjIsIDI3OTQsIAotICAgIDg4MDcsIDY0NDkxLCA3Nzg0NywgNTQzOCwgNTIyMiwgNTM4MSwgNDMxMTQsIDAsIDUxOTMsIDUxMjUsIDU0NTYsIDU1MDksIAotICAgIDc3ODQ2LCAxOTQ3NDcsIDk1MzQsIDAsIDAsIDAsIDM0MzAsIDAsIDAsIDc4NzE3LCAwLCA5ODEsIDAsIDQzMzAsIDczOTI5LCAKLSAgICAxMjA1MzYsIDE4MjQsIDEwOTA4LCAwLCA3MDM0LCA0MTY4MywgNjQ2MTcsIDAsIDczNzU0LCAzOTU3LCA2NDM1OCwgNjQ1NDcsIAotICAgIDEyODI1OSwgNjc0LCA2Mzk5MSwgOTgzMjQ5LCAyOTQ2LCA1MzU0LCA1MjUxLCA1MzI4LCA1MzA3LCAzNzU5LCAxMTQxMSwgCi0gICAgODM2NCwgNTEyMywgMTE5NjI4LCA1MjgxLCA1NDY5LCA1MTIxLCAxMTkyNDUsIDExODk5MywgMCwgNTEzMCwgMCwgMCwgCi0gICAgNzc5OTAsIDAsIDEyMDcyNiwgMTIyMSwgMjczMywgMTE3NDYsIDc3OTkxLCA1MjE2LCAwLCAwLCAwLCAwLCAzNDY4LCA3MDMzLCAKLSAgICA5MjMwLCA1OTM5LCAxOTUwNTIsIDAsIDAsIDEyMDY3NywgNjg0MDAsIDcyNzgsIDEwMzIxLCAxMDI4OSwgNjQ2MTMsIAotICAgIDEwMzg1LCA0MTcwNiwgMCwgMCwgOTgzNDEzLCAwLCAxMTczOSwgOTgzNDI2LCA0MTk4MSwgMCwgNTkzOCwgMCwgNDM3NjYsIAotICAgIDEyNDQ4LCA3NTc2LCAxMDQwMSwgMTAzMzcsIDczODUyLCAwLCAxMzA1NywgMCwgMTI2OTc2LCAwLCAxMDAwOSwgMCwgCi0gICAgNDE3MDMsIDk4MzYzOCwgMTIxNjUsIDAsIDAsIDk4ODUsIDAsIDgwNzcsIDAsIDEyNzkwOCwgMCwgMCwgMCwgOTI0NTcsIDAsIAotICAgIDQyMjAsIDEwNzI1LCAxMDQzMywgMCwgNjgzOTUsIDQ5ODcsIDY0NTE5LCAwLCAxMjgzNDAsIDAsIDAsIDAsIDEwOTcwLCAKLSAgICAxMTczMywgMCwgMTIwNzkyLCAwLCAxOTk0NCwgMCwgOTAwOSwgODU1MSwgOTIzNDUsIDExNDY4LCA2NDYzNiwgNzU3NSwgMCwgCi0gICAgMjcyNCwgMCwgMCwgMTIzMTMsIDExMDU5MiwgNTE1LCAxMTk5NDcsIDQyNzkxLCA2Mzk4NywgNzgyODYsIDExOTk0MywgCi0gICAgMTE5OTQwLCAxMTk5NDEsIDExOTkzOCwgOTc3NSwgNDA0NiwgNDU4OSwgNDUyMSwgNjg2MjksIDkxNDEsIDAsIDc4ODUwLCAKLSAgICAyNzQxLCA2NDM5OSwgNjE5NywgMTM3MCwgMCwgMCwgMCwgMCwgMCwgMCwgNjE4NCwgODYwNiwgMzMwMywgNDEzNzIsIAotICAgIDExNzg2LCA5NDczLCA2NjIwMywgNjYxNzcsIDkyNDQ2LCAxMTU5MywgNDMwMDcsIDQ0NzgsIDY2MTc4LCAwLCAwLCAyNzQ0LCAKLSAgICAwLCA0NDc3LCAxMTg5NjQsIDgxNCwgNDIwNjYsIDY2MTgzLCA2NjIwNCwgNDM3ODYsIDExOTk2MSwgNjYxOTgsIDQxODgwLCAKLSAgICA2NjE4OCwgMTE2MjMsIDc4MTQ4LCAxMTk1NSwgNjYxOTAsIDY2MTkxLCA0MTExMSwgNjYxODksIDczNzg4LCA3Nzg4LCAKLSAgICA0ODQ3LCAwLCAxMjc3NTksIDAsIDAsIDAsIDE1ODEsIDY1MzUsIDc4MTYxLCAxMjk1NCwgNDMwLCA3ODE2MCwgNTUyNTksIAotICAgIDc4MTU4LCAxMjgwMzYsIDUyNzgsIDQ5NDUsIDQyODgzLCA0OTUwLCA5ODM0MzgsIDY4NjI1LCA5ODM0MzYsIDcyNjksIDAsIAotICAgIDU5NjQsIDEyOTA4LCA5ODM1NTUsIDAsIDc0NzY0LCA3NDQ3NywgMTE5MTQ2LCAxOTQ5MzYsIDQ5NDksIDk4MzQyOSwgNDQzLCAKLSAgICA5ODM0MjcsIDQ5NDQsIDU0NjcsIDExOTYwMywgOTgzMjU0LCA2NTEzNywgNjA0NCwgNjUzOTIsIDAsIDQyMTMsIDAsIAotICAgIDQxMzAzLCAwLCAxOTQ5MzEsIDExOTk2MiwgNDEzMDYsIDczOTg0LCAyNjk4LCAxMjcxNTksIDAsIDEyMDcyLCAzMTkzLCAwLCAKLSAgICA0MTMwNCwgODI0LCAxMjg2NzYsIDEyMDkxLCA3ODg5MywgNzg4OTQsIDExOTgxNiwgNDY3MywgNjQ4MDQsIDQ2NzgsIAotICAgIDExOTgyMCwgMTE5ODE5LCA2NTA1OSwgMCwgNjczOSwgMCwgNTQ4MSwgMzQ5MCwgMTE5OSwgMTE5ODExLCA4MzU2LCA2OTk0NywgCi0gICAgMTE5ODMyLCA0Njc3LCAxMjY4OCwgMzEwMiwgMCwgNDY3MiwgNzgxNzMsIDc4MTc1LCA1NTMxLCA2ODM2NywgNDI1NzUsIAotICAgIDc4MTcwLCA3ODE2NiwgNDY3NCwgNDU0OCwgNDQwMDUsIDExOTk0OSwgNjg2NTgsIDExOTk0NiwgODAyNSwgNjg2MzAsIAotICAgIDEyNzAyNCwgMTg1NSwgOTgzNDEyLCA2ODY2OSwgOTgzNDEwLCA5MjQ0NSwgMTI3NTU0LCAwLCAxMjczMzksIDExOTY1MiwgCi0gICAgMjc0NSwgMTE3OTcsIDk4MzQxOCwgMTI4MTU5LCA5MjAyLCA0NjU0LCA5ODM0MTQsIDk4MzQxNiwgNjg2MzgsIDczOTkzLCAKLSAgICAxMDUyNSwgNDY0OSwgNjUyMDksIDk4MzQxNywgMCwgNDY0OCwgNDMwODAsIDk4MzQwNiwgOTgzNDA3LCA5ODM0MDQsIDYyNDYsIAotICAgIDY0OTUwLCA3ODI4LCA0NjUwLCA2Nzc3LCA2Nzc2LCA2Nzc1LCA0NjUzLCA3ODIyLCA3ODAwNSwgOTIzODQsIDQzMTg3LCAKLSAgICA4NjY5LCA5ODM0MTUsIDY4MjEsIDY1MDkzLCAwLCA3ODg4MSwgMjcxNiwgMCwgOTgzMDYwLCA5ODM0MTksIDAsIDY4MzY5LCAKLSAgICAxMjAwNTQsIDExMDYwLCA4NTQ3LCAyNzExLCA0MjE2NSwgNzgwMjcsIDc4MDI2LCA3OTkyLCAwLCAwLCA0NjYyLCA3ODAzMywgCi0gICAgNzgwMzIsIDkxNDksIDkxNDYsIDU5OSwgMjA4MSwgNzgwMzEsIDc4MDMwLCAxOTQ5NjIsIDQ2NTYsIDEwMTMwLCA2ODQ1MCwgCi0gICAgNzgxMSwgNDA5OTQsIDE5NDk2NSwgNjQxNCwgNTk2NywgNDY1OCwgMzcyNSwgNTcxMywgNTgxNCwgNDY2MSwgNDI0MzQsIAotICAgIDk4MzQxMSwgMCwgMCwgNjQ5MDQsIDkwMjYsIDEwODMzLCA3NDg2NCwgNzU0NywgNDg2NywgMCwgMTAwMDgsIDEwMjIyLCAKLSAgICAzMDU0LCAxOTQ5NTYsIDk3NDQsIDc4ODYwLCA3NjA1LCA0NjIyLCAxMTk2NTYsIDk4MzM5NSwgOTQwNzAsIDk4MzM5MywgCi0gICAgOTgzMzk0LCA5ODMzOTEsIDkwNDUsIDc4ODg4LCA0MjI1LCAxOTkyNiwgNzg4ODcsIDEyODgwLCA2NTMwNywgNDYxNywgCi0gICAgNzg4ODMsIDk4MzM4NiwgNDE3MzIsIDQ2MTYsIDEwNTE4LCAxMDQyMywgMTAzNTksIDk4MzM4MCwgNTk1OCwgMCwgOTgzNDMzLCAKLSAgICA0MjE1LCA5Nzg5LCA5MTc5NDEsIDQzMjEsIDQ2MjEsIDk4MzM4OSwgNDEzMTMsIDUyMiwgNTM2OCwgMCwgNjU4MDMsIDAsIAotICAgIDUzNjYsIDEyMjAxLCA1MzcyLCAwLCA5ODM0MDksIDAsIDc3MjAsIDczOTAsIDI2OTYsIDk4MzQwMCwgMCwgNDYzOCwgCi0gICAgOTgzNDA1LCAxNzkwLCA3ODI0MiwgNTk2NSwgNjQzNjMsIDY2NTY5LCA2ODY0NiwgMTI3ODMzLCA1Mzc2LCAxODM1LCA1MzM1LCAKLSAgICAxOTQ5NjYsIDEyODA4OSwgNDYzMywgMCwgNjgxMTksIDExODAsIDQ2MzIsIDEyODA5MywgNTM4NywgNTMzMywgMCwgMCwgCi0gICAgNDIwOTQsIDUzMzEsIDQ2MzQsIDExOTI4LCA5ODM1OTQsIDUzMzgsIDQ2MzcsIDEyODE3MCwgNTk3MSwgNDI0MTQsIDAsIAotICAgIDEyNjgsIDY1MDk3LCA0MjM2MSwgMCwgMCwgNzM4NTMsIDE0MjcsIDAsIDAsIDU5NzAsIDM0MzEsIDAsIDEwMzU4LCAxMDQyMiwgCi0gICAgNDc1OCwgOTgzMzc0LCAxNjA4LCAyNzM4LCAwLCAxMDQ1NSwgNDc1MywgNzQwMjYsIDExMzQ0LCA0MjIyLCA2MjQwLCA1MjMxLCAKLSAgICA3NDM4NCwgOTgzMzc4LCA2ODM3NywgNjI0OCwgOTgzMzYyLCA5ODMzNjMsIDk4MzM2MCwgNDIzMTgsIDkyNTgyLCA1MjI5LCAKLSAgICA0NzU3LCAwLCAwLCAyNzI4LCA0NzUyLCA2NDU2MywgNjUyMzUsIDUyMzQsIDAsIDEyODE0NSwgMCwgMTA3MTMsIDcxNjYsIDAsIAotICAgIDI2MjIsIDc0NjAsIDEyNzMwMiwgMCwgMCwgODk1NCwgNzQ3NjAsIDY1MTg5LCAyNjMyLCA0MjYxNywgMTAxMDgsIDEwMTEsIAotICAgIDU1NzQsIDE4NTMsIDI3MDksIDY1MTM5LCA1NTc3LCAwLCAwLCAxMTg4NzEsIDY4NjQxLCA4OTY1LCA3NjM1LCA0MjE3NywgCi0gICAgNTMxNiwgMCwgNTMxNCwgNjQ1MSwgNTU3MiwgNjY0NjQsIDUzMTIsIDAsIDU1MjUsIDUzMzAsIDUzMTksIDk4MzQyMCwgCi0gICAgOTgzODcyLCAxOTQ5MDcsIDQ0MDAzLCAwLCA5ODM0ODAsIDk4MzQyMywgMTIwNDk4LCAxMjc4NTEsIDE5NTAwOSwgOTgzODY1LCAKLSAgICA3NDAyMiwgOTgzNDIyLCA2NDYwOSwgNjg2NDMsIDEyMDYzNCwgOTgzNDg5LCA1NzIxLCA5ODM0MDEsIDU1MTksIDg2MzIsIAotICAgIDY2NDY1LCAxMTI2NywgNzM5NjEsIDkyMjc4LCA1NzIwLCA5ODMzNTIsIDE2OTIsIDQyMTksIDQ2MTAsIDg2OTYsIDQzMDUsIAotICAgIDAsIDQ2MDksIDQzNDc4LCA0NjE0LCA1NDEsIDk4MzM1NSwgNTI4NywgNTMwOSwgNTI4NSwgNjgzODksIDU5NjEsIDQ2NDcsIAotICAgIDU2LCA0MjE2LCAxMDU3NywgNDEzODEsIDYwMSwgNDYxMywgOTgzMzQ5LCA5ODMzNDYsIDc3ODQ5LCA0NjA4LCA2NDI2MCwgCi0gICAgNDExMjQsIDUxOTAsIDY3NjI4LCAwLCA2ODE0NSwgNzA4NiwgMCwgNjc5OTgsIDY3NjIwLCAwLCAyNzM0LCAxMTA3NCwgMCwgCi0gICAgNjc2MjcsIDQzNTkzLCAwLCA2NzYyNSwgNTk2MCwgMCwgODk5MiwgNDI1OTMsIDEyODI2MCwgMTc4MiwgNjc2MjIsIDY4MTE0LCAKKyAgICAxMjYwMywgNzEzMSwgMTExMDgsIDQ1NjYsIDc1MTgsIDkzMTcsIDM4MDEsIDEwMzQyLCAxMDQwNiwgMTI0OTM4LCAxMTkyNTksIAorICAgIDQyNTc2LCAwLCA1MjAwLCA5Mjk0NiwgMTI5MTQyLCA5ODM4OTUsIDkxODMsIDEyNzM2MSwgNzQ0NTgsIDY2MjgyLCAzOTUsIAorICAgIDU0ODIsIDUxOTgsIDQzNDksIDEwMzkwLCA3NDIwMiwgNTE5NiwgNDMyMjQsIDYxMTMsIDQyMDA5LCA1MjA1LCAxMjgzODMsIAorICAgIDQzMzA3LCAxMjgzNjksIDExODk3MywgNzA0NjcsIDEyMTM0LCAwLCAwLCAxMTg4NDMsIDkxMjYsIDQzNSwgOTgzNjI0LCAKKyAgICAxMjAxNCwgMTAzNzcsIDgwOTMsIDkwNzksIDMyMDMsIDE5MiwgNjUxMDksIDMzODUsIDEyNTA3NSwgNjQ0MzAsIDUzODMsIAorICAgIDEwMjk0LCAxMDMyNiwgMTI3MzA5LCA1NzM4LCA5ODMyMTUsIDMzMzYsIDc4MzU1LCA1MzYxLCAzNjIzLCA0MTE1OSwgMCwgCisgICAgNjgxMTIsIDc4NzIsIDg1ODEsIDAsIDEyNjAsIDMxNDksIDUzNTksIDEyMDEzNCwgMCwgNzkxNCwgNTM1NywgNzExOTAsIAorICAgIDc0MzM5LCAyNjI0LCA1MzY0LCAwLCAxMTQzMSwgMTIwMDMwLCA5MTAxLCAxMTA1OCwgNzgyODgsIDY3MTA3LCA3ODI5MywgCisgICAgNDIyNzEsIDc4Mjg5LCA0MjkxNywgNjcxMTEsIDEyOTE3OSwgNjU1NjYsIDY3MTcsIDEwNjE5LCA0MzM2MCwgNzgzODUsIAorICAgIDc4Mzg0LCAxMTgzMiwgNzgzODIsIDc4MzgxLCA3ODM4MCwgNjk4NjEsIDkzMTksIDcwOTcsIDExOTA1NSwgNzc5MDYsIAorICAgIDMyMzIsIDczODI0LCA3NDU4MSwgNzgwODcsIDAsIDcxMjA1LCA0MTg4OSwgOTI0NTMsIDAsIDExNjEsIDQxODk1LCA3NDEwMywgCisgICAgOTcwMSwgODYyMiwgMTI1MDI1LCAwLCA3MzgxOSwgMTIwNTg4LCA1MDEyLCA3NzkxMiwgNDEzNjIsIDY5ODYyLCA2ODUwNywgCisgICAgMTE5MjEsIDAsIDExNzY5LCAxMjg0NzcsIDY4NjA5LCA0MTM2NCwgMCwgNzQyMjgsIDQxMzUyLCA0MTM2MSwgMCwgNDEzNjYsIAorICAgIDAsIDMzNTYsIDExNjExLCA5MTcsIDY4NDIyLCAxMTk5MTUsIDcxMzQsIDgxOTksIDc4Mzg5LCAxMTk2MTgsIDY3NywgCisgICAgMTE5OTE2LCA5MTc4NzYsIDExOTkzMiwgMTI3MTY5LCAwLCAwLCAxMjUxMzYsIDMzNDksIDc0MTI1LCA3MDIyLCA4OTI3LCAKKyAgICA0NzM5LCA5MjU5OSwgNTgwMiwgMTk0ODc0LCA4NjE1LCAwLCAwLCA0OTEsIDc0NDAxLCAxMDE5MCwgMTIwNjk4LCA2NTgzNywgCisgICAgMTE5OTAwLCA4NDI2LCAxMTA5MiwgOTg5MSwgMCwgNDI0OTcsIDcxMTMsIDc1ODYsIDQyMzA1LCAxMDg1MiwgMCwgNDI2NDgsIAorICAgIDQ2MDYsIDY4NDQ4LCA5MDk1LCA3NzQxLCAxMjY4NCwgNDE4ODUsIDEwNDYsIDcxMjQsIDEyODYxMCwgMCwgNTgxNSwgNTE3MSwgCisgICAgNjU1MzksIDY4NjEyLCA2OTMyLCA3NDI2NywgNDIzOTQsIDQxODc4LCA3NDg0OSwgMTIwNjIxLCA3MjQyNCwgNTE2OSwgCisgICAgMTE5MzUsIDAsIDAsIDMxNzUsIDEyMDgyMiwgMTUzNywgMTIwODA0LCA1MTc2LCA4OTA1LCA0MTM2LCA0ODcxLCA3ODI4NywgCisgICAgMTIwNjYzLCA5ODMzLCAwLCA5ODMzNDEsIDExMjgsIDY1OTIwLCAwLCA5NzExLCA3MDU3LCA5NDA4LCA5NDA5LCA5NDEwLCAKKyAgICA5NDExLCAzNjYyLCA5NDEzLCAzMzc4LCA5NDE1LCA5NDE2LCA5NDE3LCA5NDE4LCA2MzIwLCA5NDIwLCA5NDIxLCA1ODk3LCAKKyAgICA5NDIzLCA1MTY1LCA1MTI2LCA0MTM4NSwgMCwgNDEzODksIDEyNzk2MywgODk1NSwgMzM3NCwgOTQwMCwgOTQwMSwgNzExOSwgCisgICAgOTQwMywgOTQwNCwgMzUwNywgOTQwNiwgNzYyOSwgOTgzNjE3LCAxOTkyNSwgNDI2NjksIDY4NDYzLCAxODMsIDQzOTg1LCAKKyAgICAyNjMxLCA3MDgxMSwgMTA2MjcsIDQxMTMwLCA3ODI2MCwgMzk5NiwgMCwgNzg3NzEsIDAsIDExOTMxMywgMTE5MzA3LCAKKyAgICA3ODc2OCwgNjU4MCwgNDMzMiwgNjQ4MjUsIDY2MzI5LCAxMDcyNiwgNjY2ODYsIDQxMTI1LCA1ODk5LCA0MTM2NSwgCisgICAgMTI3MjA2LCAxMjA4NSwgNjY5MDIsIDU3NCwgMTI2NzA1LCA3NzgyNSwgNzM4MjgsIDU0NDgsIDQxMDU4LCA1NDQ2LCAKKyAgICA2NTkzMiwgNDEzMjIsIDQyMjExLCA1NDQyLCA0MTkwLCA3NzgzNCwgNzc4MzUsIDU0NTEsIDc3ODMzLCAzNjE2LCA3NzgyOCwgCisgICAgNzc4MzcsIDc3ODM4LCA3NzA4LCA3NzgzNiwgMTA4NTksIDY1ODY3LCAxMDM0NSwgMTA0MDksIDQxOTEsIDEyMDM3OCwgCisgICAgNzc4NDQsIDczODAwLCA0MjE4MSwgNzc4NDMsIDc3ODM5LCAyMDYwLCAwLCA3MTExLCAxMTc4OCwgNjUzNzYsIDY4MTI5LCAKKyAgICAxMDQxNSwgNzQxMDIsIDAsIDIwNSwgMCwgMTAzNTEsIDY3MTUxLCAwLCA5ODYyLCA2NTg4LCA0MzI1NywgNjQ2OTcsIAorICAgIDczOTk4LCA0MTM1NSwgNTUwNSwgMTE5MTU0LCA1NTAzLCA4MDIxLCAxMjgwMzUsIDcxMjUsIDk4MTksIDQxMzU3LCA4MDExLCAKKyAgICA0Mjg4NSwgNTUwNywgMTIwNDQsIDkyNjM2LCAwLCAxMDAyNiwgNTQ3MiwgNzEwOSwgMTE5MSwgMTMxMDYsIDU0NzAsIAorICAgIDEwMzI5LCA1NDc2LCA4OTkxLCA2NjMyMiwgNjk3NzgsIDExMTMzLCA0Mjg3NCwgODU1MCwgNDI4NzYsIDU1OTIsIDI5MTksIAorICAgIDAsIDI2NzUsIDU1OTUsIDc4NDExLCA0Mzc2MiwgNDM2NywgMTI3OTEyLCAwLCA1NDc4LCA1OTA0LCA1NTk0LCAwLCA3NDE1MCwgCisgICAgNzI5MSwgNTU5MCwgNDM3NjEsIDEzMDY3LCAxMTg5MDksIDEyMDM3MiwgOTgzMTA4LCA5NzMxLCA2OTczMSwgNjQ2MzMsIAorICAgIDc3ODU3LCA3Nzg1NCwgNzEyMTcsIDc3ODUyLCA3MTIyNywgNzc4NTAsIDEwNzUwLCA0MzcxNCwgNzc4NTgsIDcxMzcsIDAsIAorICAgIDY2OTA5LCAxMjg4NywgMTA1NTEsIDE5NDU2NCwgNzc4NjYsIDc3ODY3LCA3Nzg2NCwgNzc4NjUsIDk5MjksIDUxOTksIAorICAgIDk5MzYsIDExMjAsIDQyMzg3LCAwLCAxNDQ0LCA5NDg2LCA3NTU0LCA2NTgzOSwgNTUyNTIsIDczOTcyLCAxNDQyLCAKKyAgICAxMjkwODAsIDU4OTQsIDcwMDY5LCAxMjg2NzIsIDQxMTcxLCA5MjUxMSwgNzAzNTgsIDEzMjMsIDEzMTYyLCAwLCAzMzM0LCAKKyAgICAxOTUwMTAsIDExODgwMywgNzc4ODEsIDY2MDIyLCAwLCA2OTc3MCwgMTY1MSwgMTI4NzcxLCA4ODYxLCAwLCAwLCAxMTQyLCAKKyAgICA5ODM4NjksIDgyNzEsIDAsIDk4MzA1OCwgMTI2NjQ1LCAxMjkwMywgMCwgNDAwMiwgNDM2MjYsIDEwNDQyLCAxMDY3NiwgCisgICAgMzM0NCwgMTI4OTEwLCAxOTQ3ODcsIDEyOTIwLCAxOTQ1NjAsIDcwNDk3LCAxOTQ2ODcsIDY2NjQyLCAxMjc3LCA2Njg3NiwgCisgICAgNzg3MSwgNjcxMDYsIDE5NDY4NiwgNzg4NTMsIDEyOTA2OCwgNzg4NTQsIDEyMDM2MCwgOTgzNDkwLCAxMTc4NCwgMCwgCisgICAgNzgwMTIsIDQ3MDAsIDQzODU2LCA3ODg1OCwgMTIwMzU5LCAxMTAxMiwgMCwgNzg4NTYsIDkyNDAwLCA3Nzg3OSwgNDk3MywgCisgICAgODc4NCwgNzc4NzcsIDc0ODA0LCA3Nzg3NCwgNzc4NjksIDc3ODcxLCA0MjQ0MCwgNzEyMjUsIDQzMTE4LCAwLCA0MjM2NCwgCisgICAgNjc3NCwgNjc3MywgOTE3NTYwLCAxMjAzNjksIDEwMzQ2LCAxMDQxMCwgNzg4NTksIDkyNDMsIDI0NjQsIDc0MjYzLCA2MTA4LCAKKyAgICAzMzcyLCAwLCA2MjQ3LCA0MzExNywgNzAzNjQsIDcxMjEsIDc0MTY2LCAxMjQ5NzMsIDEyMDM1NSwgOTI1MzcsIDE5NTAzNSwgCisgICAgMCwgMTk1MDM0LCA3MDM1NywgMTE5OTIyLCAwLCA2NzExOSwgMzM1NCwgMTk1MDM3LCA0MTkyLCA5Mjg5LCAxMTg5OTksIAorICAgIDQxMTkxLCAzODc2LCAwLCA3MDA2NywgMTIwNjYwLCA0MzY5NiwgNDMzODAsIDAsIDk4MzA5MSwgMCwgOTgzNzU4LCAxMTYwMywgCisgICAgOTgzOTU0LCAwLCA2NTg5LCAxMjg1NjQsIDE5NDY3OSwgMTI4OTYxLCAwLCA5ODM3MDAsIDAsIDEyOTA4NywgNDI1NzIsIAorICAgIDEyODI2NCwgMTA2MzAsIDc0ODI3LCAxOTYzLCAxMTYyMiwgMTI3MDk4LCAxMTY1NCwgMCwgNzU1MCwgMTA2ODYsIDU5MDMsIAorICAgIDY3MDk4LCA3ODAwOSwgNDEzMjksIDk2NjIsIDkxNzkzNywgNjQ2OTgsIDMzNjYsIDEwMzk5LCA5MTc5MzgsIDU1NDIsIAorICAgIDExMDEzLCAxMjc5MjcsIDcxMDYyLCAxOTQ2NzcsIDc4NjIxLCA2NzA5MCwgNjkyNSwgMCwgMCwgOTI4OTIsIDcxODU2LCAKKyAgICAxMTU2OCwgOTgzNjczLCA0MzM2NywgNjQ1NzksIDkxNzkzMCwgNzg1MiwgMTExMzgsIDAsIDY3NTQsIDYzMTIsIDc3OTU2LCAKKyAgICA2NDY3MiwgNjUyOTYsIDAsIDExODk1NywgMCwgNDE2LCAxMjI5NiwgNjg0NTcsIDczODM0LCA2ODE3NywgMTEwNTAsIAorICAgIDEwOTg0LCA5MjIwOCwgMCwgMCwgOTIxODIsIDAsIDk4MzYwNSwgOTUzMiwgNjYzNTUsIDAsIDk4MzIzNCwgOTE3OTI1LCAKKyAgICA2NDM0MywgMTk1MDMyLCA5Mjc0NCwgMTk1MDMxLCAwLCAxOTUwMzAsIDE5NTA1NywgMTE0NDUsIDY4Mjk0LCAyMTEyLCAKKyAgICAxMjg3NDEsIDEyODgxNCwgMTAxODUsIDEwMjEsIDEyODEzMCwgOTUwNywgMTAyMTAsIDc0NTQ0LCA4MDIzLCAxMjAwLCAKKyAgICAxMjI0MywgNzgwMDEsIDUyODIsIDc4MDAzLCA5NjI0LCAxMTU0NSwgMCwgMTIwNDkzLCAzMzQzLCA0NDI0LCAxMTA0NywgCisgICAgMTg4NSwgNDMyNjgsIDM4OTYsIDc4NDQ0LCA2NjQ5NywgMjk0NywgMzkyLCA3ODk0LCA0MzkxLCA2ODEzOSwgOTgzMDYyLCAKKyAgICAxMzA1OSwgNzQ4MTYsIDc3OTk4LCAzMzgxLCA3OTQyLCAwLCA2OTIxOSwgMCwgMzU1OCwgMCwgMzkxMywgNzA0MjksIDAsIAorICAgIDc4MjM1LCA3MDQ0LCAxMjY1LCAwLCA2MzA5LCA3MDQ1LCA3MTc1LCA3MDQ3LCA3ODIzOSwgMTE3OTEsIDAsIDkxNzU4NywgCisgICAgODIyMSwgNzgzMDcsIDQxODY0LCAwLCAwLCA2NzA3NSwgNzEyMTksIDE2NywgOTgzOTA2LCA3ODMwMSwgOTgzNjUzLCAKKyAgICA3NDIxMSwgNDE4OTcsIDY3MDcyLCAwLCA5MTc1ODMsIDkxNzU5NCwgNjcwNzYsIDI0OTMsIDAsIDExMzc3OCwgMCwgOTIzMzEsIAorICAgIDY0MzU0LCAwLCA4Nzc3LCAwLCA0MDYsIDg4ODQsIDIzODUsIDc4MjEwLCA5MjQ1MCwgMCwgOTE3NTczLCA0MzAzMCwgCisgICAgNDIwMjcsIDEyMTE0LCAwLCAxMjg1OTcsIDY0OTM2LCAxOTQ2OTUsIDAsIDEyMDYyOSwgMTA1NjEsIDEyODk0MCwgODM2NSwgCisgICAgMTIwNTM5LCA5ODM3NzQsIDY1ODQxLCAxMjA3ODcsIDExNjAxLCAwLCA3NDEyMSwgMTI4ODk2LCA5MTc1NzUsIDc4MzQsIAorICAgIDc0MTU5LCAwLCA5MTc1NzQsIDEwMjk4LCA2NjI0LCA0OTA4LCA5MTc1OTYsIDE2MzksIDAsIDAsIDcwODAzLCA2MzI3LCAKKyAgICA2NzI0LCAxMjQ5NTMsIDEyODA4NiwgOTI1NjYsIDY5OTEwLCA0ODE3LCAxMTA4NywgMTk0NzU5LCA5MjUzNiwgNzA0MywgCisgICAgOTYwMCwgMTEwMjIsIDAsIDAsIDAsIDAsIDAsIDczOTU0LCA3NTQ4LCA2NDc5NCwgNDIwNTAsIDEyMjkxLCA1NTI4OSwgCisgICAgMTI4NzgxLCAxMjM0MywgNjU3LCA2NzExMCwgNDI3MDUsIDQ0NjEsIDExMzQsIDE4MzgsIDc4NDM4LCAyMDU3LCAwLCA0NDY4LCAKKyAgICA5Mjg5MSwgMTk0OTQ1LCAwLCA0NDU2LCA1MjA2LCAxMDcyMCwgMCwgNDI1MjMsIDEyNzUyMCwgMCwgOTMwNDQsIDkxNzU5NSwgCisgICAgNjU1NTAsIDI2MCwgNDgxNiwgNjc2NTgsIDEwNjg3LCAwLCA0ODIxLCA0NDY2LCAwLCAxOTUwNDMsIDQ4MTgsIDEyOTA1OCwgCisgICAgNDE0MDMsIDExOTk3NywgNzI0MjIsIDEyODQ1OCwgNDE0MDYsIDQzMjczLCA3NDE2MCwgNjk4MDUsIDczOTM5LCA5MjYzOCwgCisgICAgMTE5OTg0LCAxMTk5NzksIDQxNDA0LCAxMTY1LCAxMTk5ODAsIDQ0NTEsIDEzMDg3LCAwLCAxMTI4NCwgMTE5OTg3LCAKKyAgICA3MDA5NywgNjUxNTUsIDQzMDE0LCA1NDM5LCA5MzYzLCA3MDA3MCwgMzM3NSwgMTI4NDQ4LCA1OTAwLCA5Mzk5MCwgNzg4OSwgCisgICAgMjcyMiwgNDIyNjIsIDAsIDAsIDY3MDc4LCAxMjg0NTEsIDIyODIsIDAsIDEyNzgxMCwgMTE0MDEsIDY3MDc5LCAwLCAKKyAgICA2ODQ1OSwgMTI1MDI4LCA5ODMxNDEsIDAsIDcwMTUwLCA2NTQzOCwgMCwgNzI4MCwgMTI3ODg3LCAwLCA3MDE0NiwgNDg2OCwgCisgICAgODI5NywgMTE5OTY2LCA3MDE0OCwgMCwgMTI4NzQ0LCA0MzE2MSwgNzAxNDQsIDkyMzYwLCAwLCA1MTgyLCAwLCAxMjA1NDIsIAorICAgIDAsIDAsIDQyMjYsIDcwMTg2LCAxMjEzNSwgNTczMiwgNDQ2NCwgMCwgNzEzMzAsIDk3NywgNDQ1OCwgNDM4MjcsIDkyOTcxLCAKKyAgICA2NDc3MCwgNzQ4MzgsIDAsIDM0NCwgMCwgMTk0NzkwLCAxMzk1LCA2NDI3OSwgMCwgOTIyNDAsIDAsIDc4NiwgMTI2OTk1LCAKKyAgICA0MzE3NCwgNjQzNDAsIDAsIDE5NDc2NywgNzM5NzEsIDQzMDI2LCA3NjEyLCAxMDEzMiwgNjQ0MTMsIDY1MDI1LCAwLCAwLCAKKyAgICAwLCA5Mzk1NiwgMCwgNjg0NDQsIDAsIDkyNDM3LCAwLCAxMTkxNjAsIDEwMjA0LCA5MjY1NiwgMCwgMTI3ODA5LCAxMjg0MzEsIAorICAgIDEzOTksIDk4MzY1MiwgNjUyMTcsIDk4MzYzNywgODg1MiwgMTI4NTcxLCAyNDEsIDEyODc4MCwgNDkwNywgMTI4NDI3LCAKKyAgICA5ODM2MzksIDc5MzIsIDk3MjcsIDEyODQ2MywgNzQyNTUsIDg3NDgsIDAsIDAsIDk4MzYzMSwgMCwgNDI3ODAsIDAsIAorICAgIDExMzY3NywgMCwgNDIxNywgOTMwMzQsIDg2NTAsIDAsIDEyMDY3MywgMCwgNjk5MDAsIDExODg3MiwgNDMwOTksIDM5NjUsIAorICAgIDExOTExOSwgNjcxOSwgMTI4MDA3LCAxMzMwMCwgNzg0MzksIDkzOTcxLCA0MzA1NywgNjY1ODgsIDExODk5MSwgNjYyODksIAorICAgIDAsIDczODE1LCA0NDIwLCA5ODMxMjAsIDY0MTAsIDc3NjAsIDAsIDcwNDY4LCAxMjg3NTIsIDEyMDY4NCwgMCwgNzI5NCwgMCwgCisgICAgNDM4NjksIDEyNTAzMiwgOTA2NiwgMCwgMTE5OTMsIDQzMTg4LCAyNjI2LCA3NzYyLCAwLCAxMTg4MzEsIDkyODk5LCAKKyAgICA5MjYwMSwgNDI4MjUsIDQxODU0LCA1MzA0LCAwLCA3ODUxNiwgNjkxOSwgODYxOSwgMTE5NjU1LCAxMDAzOCwgNjY0NTQsIAorICAgIDk1OTIsIDQyODUxLCAxMjY5OTMsIDE1NDIsIDkyMzAzLCAxMjg4MTksIDAsIDEyNzMyNywgOTgzNTk3LCA3NDMxMSwgCisgICAgNzg0OTcsIDAsIDEwMTgxLCAxMjQ5MzcsIDQzNjI0LCAxMjkwNjAsIDc3NzksIDkxNzU1MSwgMTAxOTUsIDk0NzksIDYwMjksIAorICAgIDEyODM3NCwgOTIyNjgsIDIyMjQsIDAsIDY1NTc3LCA4OTkzLCA2NjM1OCwgMCwgNDIzNzgsIDMzNjgsIDYwNiwgMTI3MDMwLCAKKyAgICA3Njk3LCA2OTIzNywgNjk3ODcsIDIwMzAsIDcwMTA2LCA2MDI3LCA4MzcwLCA0MzIyLCAwLCA2NTIwNywgMCwgNzAzODYsIAorICAgIDEyNzkwMywgOTgzMzM3LCA5ODMzMzYsIDI3MzUsIDQyODMxLCA3NzkzNSwgNzA0MzksIDc0ODY2LCA4ODgxLCAxMTkwNDcsIAorICAgIDAsIDcwNDMzLCA3Mzk0NiwgMCwgMCwgMCwgNjgxNDAsIDk4MzkyOCwgOTU3NiwgOTI3ODMsIDMzNDcsIDQxNjAsIDUxNTQsIAorICAgIDU1Mjg4LCAzNzk0LCA2NjU2NCwgODUzMCwgMTI3MDYzLCA3NzA5LCA0MTExMiwgOTgzMTMyLCA2NjU2MCwgODM4MSwgNDU3MiwgCisgICAgMTI4NzYsIDY2NTYxLCAxMjg5MjEsIDY3NTgsIDk4MzkyNiwgMTYxNSwgNTg1NSwgODA5LCAwLCA5MjI4MywgMTI4MzE2LCAKKyAgICAxMjgwMDQsIDU3OTksIDEyODkyOSwgNzAxMDAsIDEyODYwNywgNzI2MCwgOTgzMzI0LCA0MzAzMSwgNjQ0MjUsIDY1MTI4LCAKKyAgICA3ODgxOSwgNjQzODYsIDY1MjU3LCAwLCA2ODYxNiwgMTIwNjA3LCA5MzQ3LCAxMjgwNjcsIDY1MzIsIDAsIDkxNzkxOCwgMCwgCisgICAgMTI3MDYwLCA2NTgyOCwgMTIwMDA2LCAyODMsIDY4NjY1LCA3ODgxMywgNTMyLCA3ODY2MywgNzg4MTcsIDEyODAyMSwgCisgICAgMTIwNjA5LCAwLCAzMzcwLCAwLCAxMTM2MSwgNTQ0MywgNzg3NzgsIDgxNTMsIDczNzY3LCAwLCAxMDc0MSwgMCwgMjI5OCwgCisgICAgMCwgMTI1MDM5LCA2NTQ5NSwgNjQ3MDYsIDk4MzMxOCwgNDMzNDQsIDk4MzMxNiwgNzE0NCwgOTQ2NiwgNzg4NjYsIDk4MjQsIAorICAgIDY3MTQyLCAxMjg5NjMsIDY3MTMzLCA2NzEzMCwgOTE1LCA0MzQyNSwgNjcyOTIsIDQzODY1LCA2ODIzMiwgMCwgMTI3MTc4LCAKKyAgICA0MzI2NCwgNjcxMzYsIDY3MTM3LCAwLCA0MzAzOCwgNzg4NjQsIDY3MzAsIDc4ODYyLCA2ODE2MSwgNjQ1NTAsIDUxODYsIAorICAgIDczNjAsIDEyNzgzNywgNzA0NTEsIDEyMTA4LCAwLCA2NTEyNCwgNDMxMjcsIDY2MDQzLCAwLCA2MzI2LCA0MzEwNywgCisgICAgNzc4MjYsIDAsIDQyNTYyLCAwLCAxMjg4MjEsIDEyODE3OCwgMTI4NTIwLCAxMTQ4NSwgNjEwMywgOTI0NjgsIDk4MzMwNSwgCisgICAgMTE3MTgsIDk4MzMwMywgMTI4ODksIDkyNjU3LCAxMjUwMzQsIDAsIDAsIDEyNzQ3NiwgNTUyNDUsIDEyODkyNywgMTYzMCwgCisgICAgMTI4MjMyLCA2NTQ4MywgMTIwNjM0LCAxMjU2NSwgMCwgNjU0NzYsIDcwMzY5LCA5ODMwNzIsIDExOTIxNCwgOTI4MywgCisgICAgNzcwMCwgOTE3NTM3LCA5NjkwLCA2NTQ5OSwgMCwgNjQ1OTMsIDUxMiwgMzM3NiwgNjgyMTAsIDAsIDEyODI1MywgNzc4OTIsIAorICAgIDYzMiwgMTI5NDAsIDc3ODkxLCA0MjUyOSwgNzg1ODcsIDE5NDYwNCwgNTk1NywgMTEwNTkzLCA4OTI2LCA5ODMyOTksIAorICAgIDk4MzI5OCwgMTI4MjczLCAxMDc0NSwgMTAxNzQsIDczNzksIDY0NTgxLCA1Mzg2LCAxMjA2ODYsIDExNzEzLCAxMDYzMywgCisgICAgNjk3MDgsIDUwNTYsIDAsIDAsIDAsIDEyMDc3MywgOTQwNTUsIDk4MTIsIDAsIDQ0NjAsIDAsIDEyNDk1NiwgNzEzMDcsIAorICAgIDEyODAzOCwgMCwgMCwgMTI3MTc0LCA2NDI3OCwgOTIzNzAsIDQzNDY2LCAwLCAwLCA2NDM4OSwgMjk1MywgNzAxMjIsIAorICAgIDE4MDEsIDEyODM1LCA3NDg0NywgMCwgNzM4MjMsIDEyODY4MSwgNjYzNzUsIDIwODUsIDcwMiwgNDI1NzksIDc3ODg0LCAKKyAgICA3Nzg4NSwgMTMwNzQsIDc3ODgzLCA2NjI5OSwgOTgzMjg1LCAxMjg1NzAsIDEyMTA2LCA5ODMyODIsIDc0MjA3LCAxNzU1LCAKKyAgICAxMDQ4MiwgMTI4NjMsIDc3ODk4LCAxMTYzLCAyOTUxLCA5NTIyLCA3NDA3OSwgNzgyNjYsIDY2NjA0LCAwLCAzMzg0LCAKKyAgICA2OTIyNywgMTA3MDIsIDgzMCwgNzc5MDIsIDc3ODk5LCA3NzkwMCwgODQ1MSwgMCwgMCwgMCwgNjY0NTgsIDEyODk1NywgCisgICAgMTI4ODcwLCAwLCAwLCAyOTA4LCAwLCAxMTE3NywgNjQ5MDIsIDQyNDMsIDkyNDU0LCAxMjIzOSwgOTE3ODcyLCAxMjQ5NTksIAorICAgIDQ0NDEsIDAsIDExMzc2NSwgNzM5NDAsIDY0MzUyLCAxMjc1MTMsIDEyNTAzMSwgNDExLCA5ODMyNzMsIDkxOTksIDk4MzI3MSwgCisgICAgNDA1NiwgMTE4OTkyLCA0MTg5MCwgMTk0Njk4LCAyNzMwLCA0MTYwNCwgMTI4MzU1LCA1NDI4LCAxOTQ3NDMsIDMzNjQsIAorICAgIDQyMjY1LCA2NDQzNywgMTI3OTM1LCAxMTg4MTYsIDE5NDc0MiwgOTY4NCwgMjE2LCA3MTM2NywgMTQwMSwgMTI4MDUzLCAKKyAgICA0NDAxMiwgOTI2MjgsIDAsIDkyNTg1LCA5MTU4LCA2Njg3OCwgMTExMjYsIDU3NjgsIDAsIDAsIDAsIDQ4NCwgMTk0NzM5LCAKKyAgICAwLCAwLCA2NTg5NSwgMTI1MDc2LCAwLCAzMzM4LCA3MzkzNSwgNTcyLCA3MDQxLCAyNzM2LCA2NzYwNSwgOTgzMjYzLCAKKyAgICA5Mzk2MiwgMjc5NCwgODgwNywgNjQ0OTEsIDc3ODQ3LCA1NDM4LCA1MjIyLCA1MzgxLCA0MzExNCwgMCwgNTE5MywgNTEyNSwgCisgICAgNTQ1NiwgNTUwOSwgNzc4NDYsIDE5NDc0NywgOTUzNCwgMTI5MTA5LCAxMjkwNDAsIDAsIDM0MzAsIDAsIDQyOTA1LCAKKyAgICA3ODcxNywgMTI4OTAzLCA5ODEsIDEyOTE4NCwgNDMzMCwgNzM5MjksIDEyMDUzNiwgMTgyNCwgMTA5MDgsIDEyNjUwNiwgCisgICAgNzAzNCwgNDE2ODMsIDY0NjE3LCAwLCA3Mzc1NCwgMzk1NywgNjQzNTgsIDY0NTQ3LCAxMjgyNTksIDY3NCwgNjM5OTEsIAorICAgIDk4MzI0OSwgMjk0NiwgNTM1NCwgNTI1MSwgNTMyOCwgNTMwNywgMzc1OSwgMTE0MTEsIDgzNjQsIDUxMjMsIDExOTYyOCwgCisgICAgNTI4MSwgNTQ2OSwgNTEyMSwgMTE5MjQ1LCAxMTg5OTMsIDAsIDUxMzAsIDAsIDAsIDc3OTkwLCAwLCAxMjA3MjYsIDEyMjEsIAorICAgIDI3MzMsIDExNzQ2LCA3Nzk5MSwgNTIxNiwgMCwgMCwgMCwgOTIxODcsIDM0NjgsIDcwMzMsIDkyMzAsIDU5MzksIDE5NTA1MiwgCisgICAgMCwgNTgwMywgNzE4NjcsIDY4NDAwLCA3Mjc4LCAxMDMyMSwgMTAyODksIDY0NjEzLCAxMDM4NSwgNDE3MDYsIDAsIDAsIAorICAgIDk4MzQxMywgMCwgMTE3MzksIDkyNTI0LCA0MTk4MSwgOTI3NDMsIDU5MzgsIDAsIDQzNzY2LCAxMjQ0OCwgNzU3NiwgCisgICAgMTA0MDEsIDEwMzM3LCA3Mzg1MiwgMTI0OTk0LCAxMzA1NywgMCwgMTI2OTc2LCAwLCAxMDAwOSwgMCwgNDE3MDMsIAorICAgIDk4MzYzOCwgMTIxNjUsIDEyOTE5MSwgMCwgOTg4NSwgMCwgODA3NywgOTI2MjAsIDEyNzkwOCwgMCwgOTgzNDM5LCAwLCAKKyAgICA5MjQ1NywgMTI5MTM4LCA0MjIwLCAxMDcyNSwgMTA0MzMsIDAsIDY4Mzk1LCA0OTg3LCA2NDUxOSwgMCwgMTI1MDc4LCAwLCAKKyAgICA5ODM0MjYsIDEyODU3NCwgMTA5NzAsIDExNzMzLCAwLCAxMjA3OTIsIDEyNjQ5MCwgMTk5NDQsIDc0MzU2LCA5MDA5LCAKKyAgICA4NTUxLCA5MjM0NSwgMTE0NjgsIDY0NjM2LCA3NTc1LCAwLCAyNzI0LCAxMjg4OTksIDAsIDEyMzEzLCAxMTE1MSwgNTE1LCAKKyAgICAxMTk5NDcsIDQyNzkxLCA2Mzk4NywgNzgyODYsIDExOTk0MywgMTE5OTQwLCAxMTk5NDEsIDExOTkzOCwgOTc3NSwgNDA0NiwgCisgICAgNDU4OSwgNDUyMSwgNjg2MjksIDkxNDEsIDAsIDc4ODUwLCAyNzQxLCA2NDM5OSwgNjE5NywgMTM3MCwgMCwgMCwgMCwgMCwgCisgICAgMCwgOTgzNTYwLCA2MTg0LCA4NjA2LCAzMzAzLCA0MTM3MiwgMTE3ODYsIDk0NzMsIDY2MjAzLCA2NjE3NywgOTI0NDYsIAorICAgIDExNTkzLCA0MzAwNywgNDQ3OCwgNjYxNzgsIDAsIDAsIDI3NDQsIDAsIDQ0NzcsIDc4MjY3LCA4MTQsIDQyMDY2LCA2NjE4MywgCisgICAgNjYyMDQsIDQzNzg2LCAxMTk5NjEsIDY2MTk4LCA0MTg4MCwgNjYxODgsIDExNjIzLCA3ODE0OCwgMTE5NTUsIDY2MTkwLCAKKyAgICA2NjE5MSwgNDExMTEsIDY2MTg5LCA3Mzc4OCwgNzc4OCwgNDg0NywgMCwgMTI3NzU5LCAwLCAxMjg0MzMsIDIyMjEsIDE1ODEsIAorICAgIDY1MzUsIDc4MTYxLCAxMjk1NCwgNDMwLCA3ODE2MCwgNTUyNTksIDczOTQ0LCAxMjgwMzYsIDUyNzgsIDQ5NDUsIDQyODgzLCAKKyAgICA0OTUwLCA5ODM0MzgsIDY4NjI1LCA5ODM0MzYsIDcyNjksIDAsIDU5NjQsIDEyOTA4LCAxMjQ5OTcsIDAsIDc0NzY0LCAKKyAgICA0MzUxMiwgMTE5MTQ2LCAxOTQ5MzYsIDQ5NDksIDk4MzQyOSwgNDQzLCA5ODM0MjcsIDQ5NDQsIDU0NjcsIDExOTYwMywgCisgICAgNzA4NjUsIDY1MTM3LCA2MDQ0LCA2NTM5MiwgMCwgNDIxMywgMCwgNDEzMDMsIDAsIDE5NDkzMSwgMTE5OTYyLCA0MTMwNiwgCisgICAgNzM5ODQsIDI2OTgsIDEyNzE1OSwgMCwgMTIwNzIsIDMxOTMsIDAsIDQxMzA0LCA4MjQsIDEyODY3NiwgMTIwOTEsIDY3MTE4LCAKKyAgICA3ODg5NCwgMTE5ODE2LCA0NjczLCA2NDgwNCwgNDY3OCwgMTE5ODIwLCAxMTk4MTksIDY1MDU5LCA0Mzg2MCwgNjczOSwgCisgICAgNjY4NDQsIDU0ODEsIDM0OTAsIDExOTksIDExOTgxMSwgODM1NiwgNjk5NDcsIDY3NzAyLCA0Njc3LCAxMjY4OCwgMzEwMiwgCisgICAgMCwgNDY3MiwgNzgxNzMsIDc4MTc1LCA1NTMxLCA2ODM2NywgNDI1NzUsIDc4MTcwLCA3ODE2NiwgNDY3NCwgNDU0OCwgCisgICAgNDQwMDUsIDcxMDg3LCA2ODY1OCwgMTE5OTQ2LCA4MDI1LCA2ODYzMCwgMTI3MDI0LCAxODU1LCA5ODM0MTIsIDY4NjY5LCAKKyAgICA5ODM0MTAsIDkyNDQ1LCAxMjc1NTQsIDk4MzQxNywgMTI3MzM5LCAxMTk2NTIsIDI3NDUsIDExNzk3LCA5ODM0MTgsIAorICAgIDEyODE1OSwgOTIwMiwgNDY1NCwgNjg0MCwgOTgzNDE0LCA2ODYzOCwgNzM5OTMsIDEwNTI1LCA0NjQ5LCA2NTIwOSwgCisgICAgOTgzNDE2LCAwLCA0NjQ4LCA0MzA4MCwgOTgzNDA2LCA5ODM0MDcsIDk4MzQwNCwgNjI0NiwgNjQ5NTAsIDc4MjgsIDQ2NTAsIAorICAgIDY3NzcsIDY3NzYsIDY3NzUsIDQ2NTMsIDc4MjIsIDc4MDA1LCA3NDYyNCwgNDMxODcsIDg2NjksIDEyMDY1OSwgNjgyMSwgCisgICAgNjUwOTMsIDAsIDc4ODgxLCAyNzE2LCAwLCA5ODMwNjAsIDcwNTAzLCAxOTQ5NTIsIDY4MzY5LCAxMjAwNTQsIDExMDYwLCAKKyAgICA4NTQ3LCAyNzExLCA0MjE2NSwgNzgwMjcsIDc4MDI2LCA2ODM2LCA5ODM0MjEsIDAsIDQ2NjIsIDc4MDMzLCA3ODAzMiwgCisgICAgOTE0OSwgOTE0NiwgNTk5LCAyMDgxLCA3ODAzMSwgNzgwMzAsIDE5NDk2MiwgNDY1NiwgMTAxMzAsIDY4NDUwLCA3ODExLCAKKyAgICA0MDk5NCwgMTk0OTY1LCA2NDE0LCA1OTY3LCA0NjU4LCAzNzI1LCA1NzEzLCA1ODE0LCA0NjYxLCA0MjQzNCwgOTgzNDExLCAKKyAgICAxMjg3MzcsIDExMTkwLCA2NDkwNCwgOTAyNiwgMTA4MzMsIDc0ODY0LCA3NTQ3LCA0ODY3LCAxMTEwMCwgMTAwMDgsIAorICAgIDEwMjIyLCAzMDU0LCAxOTQ5NTYsIDk3NDQsIDc4ODYwLCA3NjA1LCA0NjIyLCAxMTk2NTYsIDk4MzM5NSwgOTQwNzAsIAorICAgIDk4MzM5MywgNjk5MDUsIDY3MTg4LCA5MDQ1LCA3ODg4OCwgNDIyNSwgMTk5MjYsIDc4ODg3LCAxMjg4MCwgNjUzMDcsIAorICAgIDQ2MTcsIDc4ODgzLCA5ODMzODYsIDQxNzMyLCA0NjE2LCAxMDUxOCwgMTA0MjMsIDEwMzU5LCA5ODMzODAsIDU5NTgsIDAsIAorICAgIDk4MzQzMywgNDIxNSwgOTc4OSwgMTE5NjE5LCA0MzIxLCA0NjIxLCA5ODMzODksIDQxMzEzLCA1MjIsIDUzNjgsIDExMTM5LCAKKyAgICA2NTgwMywgMCwgNTM2NiwgMTIyMDEsIDUzNzIsIDAsIDk4MzQwOSwgMTk0OTc1LCA3NzIwLCA3MzkwLCAyNjk2LCA5ODM0MDAsIAorICAgIDAsIDQ2MzgsIDk4MzQwNSwgMTc5MCwgNzgyNDIsIDU5NjUsIDY0MzYzLCA2NjU2OSwgNjg2NDYsIDY4NDc3LCA1Mzc2LCAKKyAgICAxODM1LCA1MzM1LCAxOTQ5NjYsIDEyODA4OSwgNDYzMywgMCwgNjgxMTksIDExODAsIDQ2MzIsIDY3MTkxLCA1Mzg3LCAKKyAgICA1MzMzLCAwLCAxMjUxMzIsIDQyMDk0LCA1MzMxLCA0NjM0LCAxMTkyOCwgOTgzNTk0LCA1MzM4LCA0NjM3LCAxMjgxNzAsIAorICAgIDU5NzEsIDQyNDE0LCA0MzUwMCwgMTI2OCwgNjUwOTcsIDQyMzYxLCAwLCAwLCA3Mzg1MywgMTQyNywgMTI4NDQwLCAwLCAKKyAgICA1OTcwLCAzNDMxLCAwLCAxMDM1OCwgMTA0MjIsIDQ3NTgsIDk4MzM3NCwgMTYwOCwgMjczOCwgMTI1MDY2LCAxMDQ1NSwgCisgICAgNDc1MywgNzQwMjYsIDExMzQ0LCA0MjIyLCA2MjQwLCA1MjMxLCA3NDM4NCwgOTgzMzc4LCA2ODM3NywgNjI0OCwgOTgzMzYyLCAKKyAgICAxMjg0MzIsIDk4MzM2MCwgNDIzMTgsIDkyNTgyLCA1MjI5LCA0NzU3LCAwLCAwLCAyNzI4LCA0NzUyLCA2NDU2MywgNjUyMzUsIAorICAgIDUyMzQsIDAsIDEyODE0NSwgMTI4OTI2LCAxMDcxMywgNzE2NiwgMCwgMjYyMiwgNzQ2MCwgMTI3MzAyLCA2NzEwMSwgCisgICAgMTI2NDk1LCA4OTU0LCA3NDc2MCwgNjUxODksIDI2MzIsIDQyNjE3LCAxMDEwOCwgMTAxMSwgNTU3NCwgMTg1MywgMjcwOSwgCisgICAgNjUxMzksIDU1NzcsIDEyODk2NiwgMCwgMTE4ODcxLCA2ODY0MSwgODk2NSwgNzYzNSwgNDIxNzcsIDUzMTYsIDAsIDUzMTQsIAorICAgIDY0NTEsIDU1NzIsIDY2NDY0LCA1MzEyLCAwLCA1NTI1LCA1MzMwLCA1MzE5LCA2ODI5MiwgMTI3MzExLCA2NTA2NiwgCisgICAgNDQwMDMsIDEyMDY1MCwgOTgzNDgwLCA0Mzg0MywgMTIwNDk4LCAxMjc4NTEsIDE5NTAwOSwgNzQ4NTEsIDc0MDIyLCAKKyAgICA5ODM0MjIsIDY0NjA5LCA2ODY0MywgNjc0MTAsIDEyODU5MywgNTcyMSwgOTgzNDAxLCA1NTE5LCA4NjMyLCA2NjQ2NSwgCisgICAgMTEyNjcsIDczOTYxLCA5MjI3OCwgNTcyMCwgOTgzMzUyLCAxNjkyLCA0MjE5LCA0NjEwLCA4Njk2LCA0MzA1LCAwLCA0NjA5LCAKKyAgICA0MzQ3OCwgNDYxNCwgNTQxLCA5ODMzNTUsIDUyODcsIDUzMDksIDUyODUsIDY4Mzg5LCA1OTYxLCA0NjQ3LCA1NiwgNDIxNiwgCisgICAgMTA1NzcsIDQxMzgxLCA2MDEsIDQ2MTMsIDk4MzM0OSwgOTgzMzQ2LCA5MjA4LCA0NjA4LCA2NDI2MCwgNDExMjQsIDUxOTAsIAorICAgIDY3NjI4LCA2NjgyNiwgNjgxNDUsIDcwODYsIDAsIDY3OTk4LCA2NzYyMCwgOTMwNDcsIDI3MzQsIDExMDc0LCAwLCA2NzYyNywgCisgICAgNDM1OTMsIDAsIDY3NjI1LCA1OTYwLCA2NzcyMiwgODk5MiwgNDI1OTMsIDEyODI2MCwgMTc4MiwgNjc2MjIsIDY4MTE0LCAKICAgICAxMTk5MzksIDAsIDY4MTgwLCA1NTAxLCAxMTk5NTIsIDQyNTA4LCA3NDQyLCA0MzY2NSwgMzU5LCA0MTI1MywgNjgzOTIsIAotICAgIDYyMzksIDExOTk1NiwgNDEyNTYsIDAsIDY4MTM0LCAwLCA3NDIwOSwgOTE3NTUwLCA5MzQ2LCA2OTY2MCwgNDEyNTQsIAorICAgIDYyMzksIDExOTk1NiwgNDEyNTYsIDc0MTMyLCA2Nzc0MCwgMCwgNzExNzgsIDkxNzU1MCwgOTM0NiwgNjk2NjAsIDQxMjU0LCAKICAgICAxMjgwNDcsIDQzMjkxLCAzNzY3LCA1NzM3LCAwLCA0ODY1LCAwLCA1NzQwLCA5MTc5OTcsIDU3MzYsIDQzNjgsIDY0NzI0LCAKLSAgICA3MTkzLCA2ODEzNywgMCwgNTczOSwgNDEwMjQsIDQ4NjYsIDAsIDczOTA0LCA5ODM4NDAsIDQ4NjksIDEyMDU2MywgMCwgCi0gICAgNDIyMywgMTI4MjAxLCA2NjUwLCAxMjY1MDksIDAsIDk4MzQ2MywgMTI3ODkwLCA0ODcwLCAxMjA0NDUsIDY4NjYxLCA2NzE2LCAKLSAgICA3ODE3NiwgNjg2NjcsIDY4MzgyLCA2ODY3NiwgMTI3OTI1LCAxMDEyMiwgNDg2NCwgNjY1NjgsIDQxNDQsIDc5MzcsIDAsIAotICAgIDYyNDUsIDY4NjUyLCAyNzMyLCA0MjczNCwgNzQ1LCAwLCAxOTUwOTcsIDkyMTk1LCA0Nzc3LCA3ODIxLCAwLCA2ODYzMSwgCi0gICAgNDI3NzUsIDAsIDE5NDk1NCwgMCwgMzA5NywgMCwgNTk2NiwgOTgzNDg2LCA0Nzc4LCAwLCAxMDg2MywgMCwgNDc4MSwgMCwgCi0gICAgNjQ0MDcsIDAsIDEyODMyMywgODU3NywgMTI4NTYyLCA2ODE5NiwgNDMyODUsIDEwMjE2LCA0NzgyLCAwLCAwLCAxMjA3NTcsIAotICAgIDY4NjE4LCAxMjMyNSwgNDMwNTYsIDg3MTcsIDAsIDAsIDQ3NzYsIDczODE4LCAxMTQ5MiwgODcwMCwgMCwgMTMxNzYsIAotICAgIDY4MzYzLCAxMDQyNiwgMCwgOTE3NTk5LCAxMDM2MiwgMTk0NzA2LCAxNzE1LCA0ODQ5LCA4MjQyLCA5NTYxLCA3MzkyMiwgCi0gICAgNDMyNzgsIDQyNjM1LCAwLCAwLCA1OTYzLCA5MTc5MjYsIDAsIDAsIDQ4NTAsIDAsIDE2MDcsIDQ2NiwgNDg1MywgMTE4OTk1LCAKLSAgICA0ODU0LCAxMjc5MTgsIDUxNjQsIDk4Mzg3MCwgMTM1MCwgNTEyNCwgNjQ0MjAsIDE5OTMsIDUzNjIsIDg0NzEsIDI3MDgsIAotICAgIDkyNDcxLCAxMjQ0NSwgMzc4NSwgMjM0LCAzMTk5LCAwLCA0MTI2OCwgNDg0OCwgMjUzMCwgOTE3OTA5LCAyMDY4LCAxOTY0LCAKLSAgICAwLCA3Mzc2MiwgMTA0NTgsIDAsIDg1NzYsIDc4NTQzLCAwLCAyNzA0LCA0Nzk0LCAwLCA2ODIxMSwgODMyMiwgNDc5NywgCi0gICAgNTc1MywgMCwgMjY5NCwgNDc5MiwgMCwgMjQzOSwgNjUxMDQsIDY5ODA0LCA5ODM0MjQsIDMwMywgOTgzMTAxLCA5MjYyMiwgCi0gICAgOTgzNDI1LCAyNDM3LCAwLCA0MjIxLCA0ODQ0LCA5MjIxNiwgMCwgMCwgMCwgNzAwNDIsIDAsIDQzMjkyLCAwLCAyNDQxLCAKLSAgICAxMDczOSwgNjUwOTAsIDAsIDExOTMyNywgMTI2NTQxLCAyNDUxLCAyNzE0LCAxMTkzMjYsIDAsIDQzMzc5LCA0OTM3LCAKLSAgICA0MzM3NiwgNzUzLCA1ODQ5LCAxMDU5NywgNDMwODksIDExNzIyLCA5MjQ4LCA5MjU1NSwgNDI4NzksIDExNzI1LCAwLCAwLCAKLSAgICAyNzI2LCAzMTA3LCA3Mzk1OCwgNDk0MSwgNjQ5MzcsIDExOTIzMywgOTE0MCwgMTQwOCwgNTI2MSwgNDYwNywgMCwgMTgxLCAKLSAgICA5ODM0MzAsIDQ5NDIsIDk1MzksIDQ5MzgsIDAsIDY1MjAxLCA1MjU5LCA5MzY5LCA2NDE4NSwgNDE0MiwgNTI1NywgCi0gICAgOTgzNjAxLCAwLCA0OTY0LCA1MjY0LCA2NDE3OCwgNjQxNzcsIDEyOTc5LCA0MTQxMSwgNjQxODIsIDY0MTgxLCA2NDE4MCwgCi0gICAgNjQxNzksIDk0ODIsIDQ4NzMsIDQxMjMxLCAxODIyLCA0MjUyNiwgMTI4NTgxLCAxMjc1OCwgMzg2NSwgMCwgMCwgMTA1MDAsIAotICAgIDAsIDExOTAyNCwgNzgwMjgsIDkyNDA4LCA5ODMwLCA0MzY0MiwgMzg5LCAxMDg5MywgNzUyMSwgMTI3ODc5LCA0ODcyLCAKLSAgICA1NDYzLCAwLCAzMTI1LCA5NTY3LCAwLCA0ODc4LCA1NDU5LCA0NjA0LCA5MTc5MzEsIDk1NTcsIDU0NjUsIDY4NjE3LCAwLCAKLSAgICAxMTQ5NCwgMTI2NDkyLCA5NTYzLCAxMDg2NSwgNzQ1NzAsIDQzMjc5LCA2NDE4NiwgOTgzNDM5LCA3ODcxNCwgNjQxOTEsIAotICAgIDY0MTkwLCA4ODk4LCA2NDE4OCwgMCwgNDEwMzAsIDc4ODM2LCAwLCA5MTc4MzUsIDc4ODIwLCA5MTc4MzQsIDAsIDc4ODA1LCAKKyAgICA3MTkzLCA2NzA5NywgMTI4ODQ0LCA1NzM5LCA0MTAyNCwgNDg2NiwgMCwgNzM5MDQsIDk4Mzg0MCwgNDg2OSwgMTIwNTYzLCAKKyAgICAwLCA0MjIzLCAxMjgyMDEsIDY2NTAsIDEyNjUwOSwgMCwgOTgzNDYzLCAxMjc4OTAsIDQ4NzAsIDEyMDQ0NSwgNjg2NjEsIAorICAgIDY3MTYsIDc4MTc2LCA2ODY2NywgNjgzODIsIDY4Njc2LCAxMjc5MjUsIDEwMTIyLCA0ODY0LCA2NjU2OCwgNDE0NCwgNzkzNywgCisgICAgMCwgNjI0NSwgNjg2NTIsIDI3MzIsIDQyNzM0LCA3NDUsIDAsIDE5NTA5NywgOTIxOTUsIDQ3NzcsIDc4MjEsIDEyOTEzNiwgCisgICAgNjg2MzEsIDQyNzc1LCAwLCAxMjg0NDUsIDAsIDMwOTcsIDAsIDU5NjYsIDk4MzQ4NiwgNDc3OCwgMCwgMTA4NjMsIDAsIAorICAgIDQ3ODEsIDkyOTg2LCA2NDQwNywgMTI4NTAzLCAxMjgzMjMsIDg1NzcsIDcxMjIxLCA2ODE5NiwgNDMyODUsIDEwMjE2LCAKKyAgICA0NzgyLCAwLCAwLCAxMjA3NTcsIDY4NjE4LCAxMjMyNSwgNDMwNTYsIDg3MTcsIDAsIDAsIDQ3NzYsIDczODE4LCAxMTQ5MiwgCisgICAgODcwMCwgOTgzOTU1LCAxMzE3NiwgNjgzNjMsIDEwNDI2LCA2NzI0NywgNzEwOTEsIDEwMzYyLCAxOTQ3MDYsIDE3MTUsIAorICAgIDQ4NDksIDgyNDIsIDk1NjEsIDczOTIyLCA0MzI3OCwgNDI2MzUsIDAsIDEyNzIwNywgNTk2MywgOTE3OTI2LCA5ODM0ODEsIAorICAgIDAsIDQ4NTAsIDczOTAwLCAxNjA3LCA0NjYsIDQ4NTMsIDExODk5NSwgNDg1NCwgMTI3OTE4LCA1MTY0LCA3MzgwNywgMTM1MCwgCisgICAgNTEyNCwgNjQ0MjAsIDE5OTMsIDUzNjIsIDg0NzEsIDI3MDgsIDkyNDcxLCAxMjQ0NSwgMzc4NSwgMjM0LCAzMTk5LCAKKyAgICAxMjg3NjgsIDQxMjY4LCA0ODQ4LCAyNTMwLCAxOTQ3MTEsIDIwNjgsIDE5NjQsIDAsIDczNzYyLCAxMDQ1OCwgOTgzNDE1LCAKKyAgICA4NTc2LCA3ODU0MywgMCwgMjcwNCwgNDc5NCwgMCwgNjgyMTEsIDgzMjIsIDQ3OTcsIDU3NTMsIDAsIDI2OTQsIDQ3OTIsIDAsIAorICAgIDI0MzksIDY1MTA0LCA2OTgwNCwgOTgzNDI0LCAzMDMsIDc0NjI1LCA2ODIyOSwgOTgzNDI1LCAyNDM3LCA3ODY1OSwgNDIyMSwgCisgICAgNDg0NCwgOTIyMTYsIDAsIDAsIDAsIDcwMDQyLCA3NDA5NSwgNDMyOTIsIDAsIDI0NDEsIDEwNzM5LCA2NTA5MCwgMCwgCisgICAgNzA0MzYsIDExODkyOSwgMjQ1MSwgMjcxNCwgMTE5MzI2LCAwLCA0MzM3OSwgNDkzNywgNDMzNzYsIDc1MywgNTg0OSwgCisgICAgMTA1OTcsIDQzMDg5LCAxMTcyMiwgOTI0OCwgOTI1NTUsIDQyODc5LCAxMTcyNSwgMCwgMCwgMjcyNiwgMzEwNywgNzM5NTgsIAorICAgIDQ5NDEsIDY0OTM3LCAxMTkyMzMsIDkxNDAsIDE0MDgsIDUyNjEsIDQ2MDcsIDAsIDE4MSwgOTgzNDMwLCA0OTQyLCA5NTM5LCAKKyAgICA0OTM4LCAwLCA2NTIwMSwgNTI1OSwgOTM2OSwgNjQxODUsIDQxNDIsIDUyNTcsIDk4MzYwMSwgNjg0NCwgNDk2NCwgNTI2NCwgCisgICAgNjQxNzgsIDY0MTc3LCAxMjk3OSwgNDE0MTEsIDY0MTgyLCA2NDE4MSwgNjQxODAsIDY0MTc5LCA5NDgyLCA0ODczLCAKKyAgICA0MTIzMSwgMTgyMiwgNDI1MjYsIDEyNzk4OSwgMTI3NTgsIDM4NjUsIDAsIDEyODQ3MywgMTA1MDAsIDAsIDExOTAyNCwgCisgICAgNzgwMjgsIDkyNDA4LCA5ODMwLCA0MzY0MiwgMzg5LCAxMDg5MywgNzUyMSwgMTI3ODc5LCA0ODcyLCA1NDYzLCAxMjgxMTksIAorICAgIDMxMjUsIDk1NjcsIDAsIDQ4NzgsIDU0NTksIDQ2MDQsIDkxNzkzMSwgOTU1NywgNTQ2NSwgNjg2MTcsIDAsIDExNDk0LCAKKyAgICAxMjY0OTIsIDk1NjMsIDEwODY1LCA3NDU3MCwgNDMyNzksIDY0MTg2LCA2ODUyMSwgNzg3MTQsIDY0MTkxLCA2NDE5MCwgCisgICAgODg5OCwgNjQxODgsIDEyOTE1MywgNDEwMzAsIDc0MjI2LCAwLCA3NDYwMCwgNzg4MjAsIDkxNzgzNCwgMCwgNzg4MDUsIAogICAgIDQxMDMxLCA3ODgwMSwgMTE5NjAsIDY3NDUsIDMwODIsIDk4MzQzNywgNzg1MzksIDczOTE5LCAxMDU3MywgNDE3NDQsIAotICAgIDcwNzksIDU4NTYsIDEyNzA0MywgNTE2MywgNzg4MDksIDEyODE2MiwgMTgxNywgNjY3MjQsIDc4NTM4LCAwLCAxMDU2NCwgCi0gICAgNzc2MywgMTMwNzcsIDQxODEzLCA0NDAwLCA0MTc0NSwgNjQyMDcsIDEwMjc1LCA4OTI1LCAxMDM3MSwgMTAzMDcsIDQxODE0LCAKLSAgICA0MjQ4LCAwLCAwLCA0NTQxLCA2Mjk5LCA2NDIwNCwgNjQyMDMsIDY0MjAxLCA2NDIwMCwgNjQxOTksIDY0MTk4LCAxMjY0NzEsIAotICAgIDQyMTU2LCA3ODY4OCwgMCwgNjQxOTMsIDY0MTkyLCA2NTIyMywgOTk0MywgNjQxOTcsIDY0MTk2LCA2NDE5NSwgNjQxOTQsIAotICAgIDEzMjgyLCA2NDE3NSwgNjQxNzQsIDY0MTczLCA3ODE4OSwgODQ2LCA3ODE4NiwgOTk2NSwgMCwgMCwgMCwgMCwgMjU0MywgCi0gICAgMTIxNjMsIDMxMDgsIDk3NDUsIDY0MTY3LCA2NDE2NiwgNjQxNjUsIDY0MTY0LCAyMTEwLCA5MjE3NiwgNjQxNjksIDY0MTY4LCAKLSAgICA2NDk0OSwgMTA5NzIsIDEwMjUxLCAxMDI0NywgNDI3NjgsIDcxNSwgMjI5NSwgNDMyOTksIDk0NTMsIDUzNDgsIDEwOTQzLCAKLSAgICAxMjAzNzgsIDAsIDExMzUyLCA1NTAsIDk5MTAsIDEyNjcwNSwgMCwgNjY1NzksIDExNTUxLCAwLCAxOTUwODAsIDk1MDQsIAotICAgIDcxODcsIDAsIDEwMzczLCAwLCAxMjA3OTEsIDEwMjYxLCAxMDI1MywgNjQwNCwgMTAyNzcsIDc4MTgzLCAxMTk4NCwgMTU1MiwgCi0gICAgNjUyMjIsIDY5OTgsIDc4MTgwLCAwLCAzMTI4LCA0Nzg5LCA1MDY3LCA1MDY2LCAxMTg4NDksIDQ3ODQsIDAsIDg4MjcsIAotICAgIDExNDYsIDUwNjUsIDY5ODkwLCA3ODE5MiwgNjgxMzYsIDc4MTkwLCA0MzQxMiwgNTA2NCwgMjQzMSwgMCwgOTQ1MCwgMTgwOSwgCi0gICAgMCwgNzgyMDAsIDc4MjAxLCA1MDYyLCAxMjY0LCA2NDgxNywgMTMyNTQsIDExNjk3LCAxMjY1OTgsIDk3ODUsIDY0NzE2LCAwLCAKLSAgICAzOTMzLCA3NDU1OSwgNDc0MCwgNzk1NCwgMCwgMCwgNDI2MDksIDAsIDc0MTc1LCAwLCAxMjcwMTYsIDAsIDk4Mzg3MywgCi0gICAgNDIxMzAsIDAsIDUxNTEsIDkxNzgyOSwgOTE3ODIzLCAwLCA5Mzk4MCwgMCwgNzYyMCwgMzgwMCwgNjUxMjIsIDAsIDAsIAotICAgIDgzNTUsIDc4NTQsIDAsIDk1NCwgNjQ5MjcsIDQxODUsIDQxMDQ1LCAxMjcxNDEsIDQxNDM4LCA0MTQzOSwgNjg2NjYsIAotICAgIDEwNzExLCA0NTkzLCAxMjc3NDUsIDEyMDU4NCwgOTgzNDA4LCA2NDc3NCwgODA1MywgMTA1MzIsIDY2NzI3LCAwLCAwLCAwLCAKLSAgICA2NDc1OSwgNjM4MSwgNTE2NiwgOTg4OCwgMTI3ODAwLCA1MTQ4LCA0MjgzNCwgMCwgNzgyMDUsIDc4MjA2LCA0Mzc4NywgCi0gICAgNzgyMDQsIDY0MTMxLCAzMTE5LCA5MTc4MTQsIDAsIDMwNjAsIDY0MTM1LCA5OTg2LCAwLCA3Nzg3NiwgNjM2LCAxMTY5OCwgCi0gICAgMCwgOTgzNDUxLCA5OTE2LCAxMTcwMSwgNzgzNiwgNDI3NDEsIDY0MTM3LCA4MzIwLCA3ODY0MCwgODg2MywgOTI0MzEsIAotICAgIDExOTk2MCwgMTQ3NywgNDMyODksIDAsIDc0MzU4LCA4NjE4LCA5ODM0MDIsIDk5MDgsIDk4Mzk4MSwgMCwgMCwgMzkzNywgCi0gICAgMTIzMTIsIDAsIDk4MzQwMywgMCwgNjQ3ODEsIDkxMiwgNjM0OSwgNDUzNiwgOTM5NTQsIDc0NTMyLCAxMjY1OTQsIDYyNDQsIAotICAgIDkyMjA5LCA3MTM0MSwgMzkzNSwgMTIwNjY1LCA5ODM0NzYsIDAsIDExOTUwLCA1MzkyLCA0MjI0OCwgNjUxMjksIDY4NjU2LCAKLSAgICA1Mzk3LCAwLCAxMjA0NiwgMTI1OTksIDAsIDEyODI2MSwgNTM5NSwgMCwgNTM5MywgMzU0LCA2ODYxNSwgMTE5OTQ4LCAKLSAgICA3ODUwMywgMCwgMCwgNDIwMzksIDAsIDAsIDY0MTQyLCA2MjYsIDAsIDU4OTUsIDAsIDAsIDU3ODAsIDAsIDAsIDEyODg3NCwgCi0gICAgMCwgMCwgNDMyOTcsIDk4MzA3OSwgNDMxMSwgNDY0NCwgODgxOCwgMCwgMTI4MTg2LCAwLCA3MTQ1LCAzOTE4LCA2NjQ1MiwgCi0gICAgMzc5NywgMTY0NCwgOTIzNDYsIDk2NTgsIDQxNDAsIDExMzg1LCA2NTk0NywgNjQ1NSwgOTAzMCwgODEzLCAxMTk5NDUsIAotICAgIDY4MTMxLCA0MTQ2LCAxMTk5NTcsIDUzNjAsIDI0NjYsIDAsIDY3NjY5LCAxMTk5NDIsIDYyNDksIDQyMTE3LCA5MjI4NywgCi0gICAgMTI4MjI0LCAwLCAwLCA3NDA0NiwgNDM3NDUsIDQ5MTEsIDk4OCwgOTE3ODA3LCAwLCA5ODM0NjgsIDQzMDYxLCA3MDU0LCAKLSAgICA2NDE0NywgMCwgNjQ5MjAsIDY4MTk1LCA2Njk4LCAxMTg5MzMsIDkyNTA2LCAwLCAxMjAwMDYsIDExOTgxLCAxMjIwMiwgMCwgCi0gICAgMTEwMzIsIDY3NjU0LCA2MDkzLCAxMTYwOCwgOTc1LCA2ODY2MiwgNjU4NDMsIDE3MCwgMCwgMCwgNDE2OSwgMCwgNDE4NTksIAotICAgIDYwNTgsIDEyMDQwMSwgMTMyMDMsIDEyMDY1NywgMCwgMCwgNjg2NTcsIDk4MTgsIDEwMTc4LCAxMDMyNCwgNDIxMDYsIAotICAgIDU4OTgsIDc0NTQwLCA0NzM4LCA0MTg1NiwgNzA2MiwgOTE3ODY1LCA0NzM3LCAxMTc3OSwgNDc0MiwgMTIwNTY0LCA5MjM5MSwgCi0gICAgNzM3MzYsIDk4MzM2NCwgOTgyNSwgNjQ0OCwgNjcxNSwgMTI3MDA4LCA0ODMxLCAwLCA5MjUyNSwgMCwgNTMwMCwgNDc0MSwgCi0gICAgNDIxMDgsIDk4MzM1NCwgNjQxNTksIDQ3MzYsIDY0MTQ4LCAwLCA4NDksIDkyMTkxLCA3ODQ5MSwgNDMyODgsIDAsIDY2NjIwLCAKLSAgICA5MTc5MTYsIDEyNzMzMSwgNjU1NDksIDk0OTYsIDY0NTk4LCAxMTg4NjYsIDk4MzM2NiwgNzg3NiwgNjgxMzIsIDkxNzg3MiwgCi0gICAgMzkyOCwgOTE3ODcwLCA0MzM3OCwgMTA3MDYsIDcxOTgsIDAsIDQ4NDIsIDEyMDUzLCAxMjgxMjksIDAsIDQ4NDEsIDAsIAotICAgIDQxNzEsIDEyMDA4LCA2MjUxLCAzOTIzLCAxNDkwLCAwLCAxMTk1OTEsIDEyNjUxMiwgNDA5NzIsIDUyNDUsIDAsIDEwMTE0LCAKLSAgICA0MjAwMSwgNDE4ODgsIDQ4NDUsIDgzMzIsIDQwOTc0LCA2NDM0NywgNDg0MCwgOTA3NywgNzgzNDYsIDE3NDcsIDkxNzg0OSwgCi0gICAgNDgyNSwgNjkyNDAsIDkxNzg1MiwgNjg2NTUsIDAsIDk4MzM4OCwgMCwgMCwgNjg2MjgsIDk4MzM0NywgOTg1MCwgMTE4OTM3LCAKLSAgICAzNjcsIDE0NzIsIDkxNzg1OSwgNjY4NywgMTI3NCwgMCwgNTkwNSwgMTIzMzksIDg5MTksIDczOTUzLCAxMDkwNywgNjUyNjEsIAotICAgIDExMDIzLCAxMTk1NTksIDQ4MzAsIDkxMzQsIDc4NjY2LCA2NDEyNiwgNDMwMTEsIDAsIDEyNjYyNiwgNjQxMDEsIDAsIDAsIAotICAgIDQ4MjQsIDEwNjE0LCAxMTk2NTksIDAsIDE4ODgsIDE5NjAsIDc4NjEsIDkxNzg1NiwgNzg1MjQsIDQxODM2LCA0MzAxMiwgCi0gICAgNjA1MiwgNjA2NCwgNTQsIDQzMDA5LCAxMjIxNCwgMCwgNjIxMSwgMCwgMzU4LCA0MTk5NywgNDE4MzMsIDExNDQyLCAKLSAgICAxMDc1OCwgNjU3NzQsIDAsIDEyMDM4NCwgNjQxMTUsIDkyMjIxLCA3MDAxOCwgMCwgMCwgMTE5MDUzLCAwLCAxMjc2NSwgCi0gICAgNjQxMTgsIDEyNjk5OCwgMTI5NjIsIDAsIDEyNjU4MCwgNDAxNywgMTI4MjcsIDUyNDEsIDEyMDM5MiwgMCwgNDExMTgsIAotICAgIDM5MjQsIDAsIDExMzY2LCA5MTc4NDMsIDAsIDAsIDkxNzg0NiwgNDExMTYsIDkxNzg0NCwgOTE3NTY0LCAwLCAxMTM2MywgCi0gICAgMTIwNTcsIDExOTE3LCAxNTY3LCA3NDAwMCwgNDcyMSwgMTI2NjQxLCA2NjIwMiwgODk1NywgNDEzOSwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMTI3NDAsIDEyODcwMiwgNDcyMiwgNjgxNiwgMTI3NzkzLCAxMjc1OSwgNDcyNSwgOTgzMzgzLCA0NzI2LCAwLCAKLSAgICAxOTQ4OTIsIDk4MzYyMiwgMTI4MzIxLCA5MTc5MDUsIDAsIDEyNzU1LCAxMjc2MiwgNDAxNSwgMCwgODA1MiwgNDc2LCAwLCAKLSAgICAwLCAxMjgyOTQsIDY0MjEyLCA0MTAyMCwgMTM4MiwgNjQyMDksIDY0MjE2LCA0NDAwMiwgNjQyMTQsIDE2NTYsIDQxODMxLCAKLSAgICAwLCAwLCA0MTg0MywgODcyMCwgMzkwOCwgMTQ1MiwgMTMxMTEsIDAsIDY0MDY3LCAxMjczMjgsIDg1NTIsIDY0MTEzLCAKLSAgICA0MTg0NSwgMzg0OSwgNzg3MzIsIDY2MjMyLCA5Nzc4LCAxMjAwNjYsIDU4OTEsIDcwNjQsIDU1LCA5OTQ4LCAxMTkwODUsIDAsIAotICAgIDAsIDc5MzUsIDI0MjAsIDAsIDExMTQsIDkyNTk5LCA2NzU4NSwgNzAxMDQsIDEyMDA1MywgOTIzNTAsIDEyMDA1MSwgMzkzOCwgCi0gICAgMTIwMDU3LCA2NTQxNywgNjQ3MTcsIDEyMDA2MCwgMTIwMDYxLCA2NTQxNSwgMTIwMDU5LCA2MjkyLCA2NTMwMywgNzk1NSwgCi0gICAgNjQ1MiwgNDcxMywgMTI4MTk2LCA2NjI0OSwgOTE3ODg1LCA5MTc4OTAsIDkxNzg5MSwgNjUxNTIsIDcxOSwgMTIwMDQ0LCAKKyAgICA3MDc5LCA1ODU2LCAxMjcwNDMsIDUxNjMsIDc4ODA5LCAxMjgxNjIsIDE4MTcsIDY2NzI0LCA3ODUzOCwgMTE5MDEwLCAKKyAgICAxMDU2NCwgNzc2MywgMTMwNzcsIDQxODEzLCA0NDAwLCA0MTc0NSwgNjQyMDcsIDEwMjc1LCA4OTI1LCAxMDM3MSwgMTAzMDcsIAorICAgIDQxODE0LCA0MjQ4LCAwLCAwLCA0NTQxLCA2Mjk5LCA2NDIwNCwgNjQyMDMsIDY0MjAxLCA2NDIwMCwgNjQxOTksIDY0MTk4LCAKKyAgICAxMjY0NzEsIDQyMTU2LCA3ODY4OCwgMCwgNjQxOTMsIDY0MTkyLCA2NTIyMywgOTk0MywgNjQxOTcsIDY0MTk2LCA2NDE5NSwgCisgICAgNjQxOTQsIDEyMjMxLCA0MjY1MiwgNjQxNzQsIDY0MTczLCA3ODE4OSwgODQ2LCA3ODE4NiwgOTk2NSwgNzQ0OTUsIDAsIAorICAgIDkxNzkyNCwgMCwgMjU0MywgMTIxNjMsIDMxMDgsIDk3NDUsIDY0MTY3LCA2NDE2NiwgNjQxNjUsIDY0MTY0LCAyMTEwLCAKKyAgICA5MjE3NiwgNjQxNjksIDY0MTY4LCA2NDk0OSwgMTA5NzIsIDEwMjUxLCAxMDI0NywgNDI3NjgsIDcxNSwgMjI5NSwgNDMyOTksIAorICAgIDk0NTMsIDUzNDgsIDEwOTQzLCA2NjM5MCwgMCwgMTEzNTIsIDU1MCwgOTkxMCwgMTI1MTI3LCAwLCA2NjU3OSwgMTE1NTEsIAorICAgIDEyODQ2NCwgMTk1MDgwLCA5NTA0LCA3MTg3LCAwLCAxMDM3MywgMCwgMTIwNzkxLCAxMDI2MSwgMTAyNTMsIDY0MDQsIAorICAgIDEwMjc3LCA3ODE4MywgMTE5ODQsIDE1NTIsIDY1MjIyLCA2OTk4LCA3ODE4MCwgMCwgMzEyOCwgNDc4OSwgNTA2NywgNTA2NiwgCisgICAgMTE4ODQ5LCA0Nzg0LCAwLCA4ODI3LCAxMTQ2LCA1MDY1LCA2OTg5MCwgNzgxOTIsIDY4MTM2LCA3ODE5MCwgNDM0MTIsIAorICAgIDUwNjQsIDI0MzEsIDAsIDk0NTAsIDE4MDksIDAsIDc4MjAwLCA3ODIwMSwgNTA2MiwgMTI2NCwgNjQ4MTcsIDEzMjU0LCAKKyAgICAxMTY5NywgMTI2NTk4LCA5Nzg1LCA2NDcxNiwgMCwgMzkzMywgNzQ1NTksIDQ3NDAsIDc5NTQsIDAsIDEyNTAyMywgNDI2MDksIAorICAgIDEyODM4OCwgNzQxNzUsIDY2OTEyLCAxMjcwMTYsIDAsIDk4Mzg3MywgNDIxMzAsIDk4MzIyMywgNTE1MSwgOTE3ODI5LCAKKyAgICA5MTc4MjMsIDAsIDkzOTgwLCAwLCA3NjIwLCAzODAwLCA2NTEyMiwgMCwgMTI3NzkyLCA4MzU1LCA3ODU0LCAwLCA5NTQsIAorICAgIDY0OTI3LCA0MTg1LCA0MTA0NSwgMTI3MTQxLCA0MTQzOCwgNDE0MzksIDY4NjY2LCAxMDcxMSwgNDU5MywgMTI3NzQ1LCAKKyAgICAxMjA1ODQsIDk4MzQwOCwgNjQ3NzQsIDgwNTMsIDEwNTMyLCA2NjcyNywgMCwgMCwgNzg2NDIsIDY0NzU5LCAxMzI1LCAKKyAgICA1MTY2LCA5ODg4LCAxMjc4MDAsIDUxNDgsIDQyODM0LCAwLCA3ODIwNSwgNzgyMDYsIDQzNzg3LCA3ODIwNCwgNjQxMzEsIAorICAgIDMxMTksIDkxNzgxNCwgMCwgMzA2MCwgNjQxMzUsIDk5ODYsIDAsIDc3ODc2LCA2MzYsIDExNjk4LCAwLCA5MTc4MTAsIAorICAgIDk5MTYsIDExNzAxLCA3ODM2LCA0Mjc0MSwgNjQxMzcsIDgzMjAsIDc4NjQwLCA4ODYzLCA3MDIwMSwgMTE5OTYwLCAxNDc3LCAKKyAgICA0MzI4OSwgNjg0OTIsIDY3MTY0LCA4NjE4LCA5ODM0MDIsIDk5MDgsIDk4Mzk4MSwgMCwgMCwgMzkzNywgMTIzMTIsIDAsIAorICAgIDk4MzQwMywgMCwgNjQ3ODEsIDkxMiwgNjM0OSwgNDUzNiwgOTM5NTQsIDc0NTMyLCAxMjY1OTQsIDYyNDQsIDkyMjA5LCAKKyAgICA3MTM0MSwgMzkzNSwgMTIwNjY1LCA5ODM0NzYsIDAsIDExOTUwLCA1MzkyLCA0MjI0OCwgNjUxMjksIDY4NjU2LCA1Mzk3LCAKKyAgICAxMjgzMTAsIDEyMDQ2LCAxMjU5OSwgNjc0MDcsIDEyODI2MSwgNTM5NSwgMCwgNTM5MywgMzU0LCA2ODYxNSwgNzc4NTMsIAorICAgIDc0MzY2LCAwLCAwLCA0MjAzOSwgMTEzODE3LCAwLCA2NDE0MiwgNjI2LCAwLCA1ODk1LCAwLCAwLCA1NzgwLCAwLCA2NjQwNywgCisgICAgMTI4ODc0LCAwLCAwLCA0MzI5NywgNzAxODgsIDQzMTEsIDQ2NDQsIDg4MTgsIDc4MTU4LCAxMjgxODYsIDAsIDcxNDUsIAorICAgIDM5MTgsIDY2NDUyLCAzNzk3LCAxNjQ0LCA5MjM0NiwgOTY1OCwgNDE0MCwgMTEzODUsIDY1OTQ3LCA2NDU1LCA5MDMwLCAKKyAgICA4MTMsIDExOTk0NSwgNjgxMzEsIDQxNDYsIDExOTk1NywgNTM2MCwgMjQ2NiwgMCwgNjc2NjksIDExOTk0MiwgNjI0OSwgCisgICAgNDIxMTcsIDkyMjg3LCA5MjIwNiwgMCwgMTE5MjU1LCA3NDA0NiwgNDM3NDUsIDQ5MTEsIDk4OCwgNzExODAsIDAsIAorICAgIDk4MzQ2OCwgNDMwNjEsIDcwNTQsIDY0MTQ3LCAwLCA2NDkyMCwgNjgxOTUsIDY2OTgsIDExODkzMywgOTI1MDYsIDAsIAorICAgIDcwODQ5LCAxMTk4MSwgMTIyMDIsIDAsIDExMDMyLCA2NzY1NCwgNjA5MywgMTE2MDgsIDk3NSwgNjY0MTUsIDY1ODQzLCAKKyAgICAxNzAsIDAsIDY3MjM5LCA0MTY5LCAwLCA0MTg1OSwgNjA1OCwgMTIwNDAxLCAxMzIwMywgMTIwNjU3LCA3MDUwNywgCisgICAgMTI1MDkxLCA2ODY1NywgOTgxOCwgMTAxNzgsIDEwMzI0LCA0MjEwNiwgNTg5OCwgNzQ1NDAsIDQ3MzgsIDQxODU2LCA3MDYyLCAKKyAgICAxMjcxMjAsIDQ3MzcsIDExNzc5LCA0NzQyLCAxMjA1NjQsIDkyMzkxLCA2ODM0MiwgOTgzMzY0LCA5ODI1LCA2NDQ4LCAKKyAgICA2NzE1LCAxMjcwMDgsIDQ4MzEsIDk4MzM2MywgOTI1MjUsIDY3NzMxLCA1MzAwLCA0NzQxLCA0MjEwOCwgOTgzMzU0LCAKKyAgICA2NDE1OSwgNDczNiwgNjQxNDgsIDAsIDg0OSwgOTIxOTEsIDc4NDkxLCA0MzI4OCwgMCwgNjY2MjAsIDEyNzUzMywgCisgICAgMTI3MzMxLCA2NTU0OSwgOTQ5NiwgNjQ1OTgsIDExODg2NiwgOTgzMzY2LCA3ODc2LCA2ODEzMiwgNjYyODAsIDM5MjgsIAorICAgIDkxNzg3MCwgNDMzNzgsIDEwNzA2LCA3MTk4LCAwLCA0ODQyLCAxMjA1MywgMTI4MTI5LCAxMjczMDMsIDQ4NDEsIDAsIAorICAgIDQxNzEsIDEyMDA4LCA2MjUxLCAzOTIzLCAxNDkwLCAwLCAxMTk1OTEsIDEyNjUxMiwgNDA5NzIsIDUyNDUsIDcwNzk0LCAKKyAgICAxMDExNCwgNDIwMDEsIDQxODg4LCA0ODQ1LCA4MzMyLCA0MDk3NCwgNjQzNDcsIDQ4NDAsIDkwNzcsIDc4MzQ2LCAxNzQ3LCAKKyAgICA5MTc4NDksIDQ4MjUsIDY5MjQwLCA5MTc4NTIsIDY4NjU1LCAwLCA5ODMzODgsIDAsIDAsIDY4NjI4LCA5ODMzNDcsIDk4NTAsIAorICAgIDExODkzNywgMzY3LCAxNDcyLCA5MTc4NTksIDY2ODcsIDEyNzQsIDAsIDU5MDUsIDEyMzM5LCA4OTE5LCA3Mzk1MywgCisgICAgMTA5MDcsIDY1MjYxLCAxMTAyMywgMTE5NTU5LCA0ODMwLCA5MTM0LCA3ODY2NiwgNjQxMjYsIDQzMDExLCAwLCA3ODY2OSwgCisgICAgNjQxMDEsIDAsIDAsIDQ4MjQsIDEwNjE0LCAxMTk2NTksIDAsIDE4ODgsIDE5NjAsIDc4NjEsIDkxNzg1NiwgNzg1MjQsIAorICAgIDQxODM2LCA0MzAxMiwgNjA1MiwgNjA2NCwgNTQsIDQzMDA5LCAxMjIxNCwgMCwgNjIxMSwgMTIwMzg2LCAzNTgsIDQxOTk3LCAKKyAgICA0MTgzMywgMTE0NDIsIDEwNzU4LCA2NTc3NCwgMTEzODIzLCAxMjAzODQsIDY0MTE1LCA5MjIyMSwgNzAwMTgsIDAsIAorICAgIDk4MzcwOCwgMTE5MDUzLCAwLCAxMjc2NSwgNjQxMTgsIDEyNjk5OCwgMTI5NjIsIDAsIDEyNjU4MCwgNDAxNywgMTI4MjcsIAorICAgIDUyNDEsIDEyMDM5MiwgMCwgNDExMTgsIDM5MjQsIDAsIDExMzY2LCAxMjkwODQsIDAsIDAsIDkxNzg0NiwgNDExMTYsIAorICAgIDkxNzg0NCwgOTE3NTY0LCAxMjkwODEsIDExMzYzLCAxMjA1NywgMTE5MTcsIDE1NjcsIDc0MDAwLCA0NzIxLCAxMjY2NDEsIAorICAgIDY2MjAyLCA4OTU3LCA0MTM5LCA3MDUxMiwgMCwgOTgzMDc0LCAwLCAwLCAxMjc0MCwgMTI4NzAyLCA0NzIyLCA2ODE2LCAKKyAgICAxMjQ5NzQsIDEyNzU5LCA0NzI1LCA2NzA5OSwgNDcyNiwgMCwgMTk0ODkyLCA5ODM2MjIsIDcwMDI5LCA5MTc5MDUsIAorICAgIDkyOTEyLCAxMjc1NSwgMTI3NjIsIDQwMTUsIDY3NjkwLCA4MDUyLCA0NzYsIDAsIDAsIDEyODI5NCwgNjQyMTIsIDQxMDIwLCAKKyAgICAxMzgyLCA2NDIwOSwgNjQyMTYsIDQ0MDAyLCA2NDIxNCwgMTY1NiwgNDE4MzEsIDAsIDEyNTEyMSwgNDE4NDMsIDg3MjAsIAorICAgIDM5MDgsIDE0NTIsIDEzMTExLCA5ODM0MTksIDY0MDY3LCAxMjczMjgsIDg1NTIsIDY0MTEzLCA0MTg0NSwgMzg0OSwgCisgICAgNzg3MzIsIDY2MjMyLCA5Nzc4LCAxMjAwNjYsIDU4OTEsIDcwNjQsIDU1LCA5OTQ4LCAxMTkwODUsIDAsIDkxNzYxMCwgCisgICAgNzkzNSwgMjQyMCwgMCwgMTExNCwgNzgxMjAsIDY3NTg1LCA3MDEwNCwgNzA0MzIsIDkyMTY4LCAxMjAwNTEsIDM5MzgsIAorICAgIDEyMDA1NywgNjU0MTcsIDY0NzE3LCAxMjAwNjAsIDcxOTIwLCA2NTQxNSwgNjY4ODQsIDYyOTIsIDY1MzAzLCA3OTU1LCAKKyAgICA2NDUyLCA0NzEzLCAxMjgxOTYsIDY2MjQ5LCA5MTc4ODUsIDkxNzg5MCwgMTI5MDczLCA2NTE1MiwgNzE5LCAxMjAwNDQsIAogICAgIDc4NjIzLCAxMjAwNDIsIDY3MTMsIDQ1MzIsIDY1NDEyLCA2OTgyMiwgMTA4NjgsIDQ3MTcsIDIzNDksIDU5MDIsIDY2NDUwLCAKLSAgICA0NzEyLCA5MTc5MDIsIDkxNzg5OSwgOTE3OTAwLCA2NTQxNiwgODE1NSwgNDcxOCwgMzk0MiwgNDcxNCwgOTYyNSwgMCwgCi0gICAgNjM4MywgMTk0NzQ0LCAxMjAwNiwgMTI4NTY1LCAwLCAwLCAwLCAwLCA2NTQxNCwgNjQ1NCwgMTIyOSwgMTI2NjA2LCAKLSAgICA2NjQzNywgNjYwMjUsIDc4Njk5LCAwLCA0MjUwMCwgMTIwNTA4LCA0ODA5LCA5NjIzLCA5MTc4NzQsIDc4Njk0LCA5MTc4ODAsIAotICAgIDkxNzg3NywgOTE3ODc4LCA2NTQwNSwgNjgxNTksIDEyODkzLCA5MTc4ODIsIDUzNjUsIDQ1NDUsIDg5MDEsIDkyNDIxLCAKLSAgICAxMTk1NTUsIDQ4MTMsIDEyODI2MiwgMCwgNTkyNSwgNDgwOCwgNjQzMzAsIDAsIDY1NDc1LCAxMTg5NDAsIDE5NTAyOCwgCi0gICAgNDgxNCwgMCwgNDgxMCwgMCwgMCwgNjQ5MjgsIDEwNTQzLCAwLCAzNTIyLCA3MTMzNSwgNDE0LCA2NTQwNCwgMCwgMTk1MDI3LCAKLSAgICA2NDU2LCA3MzgyMCwgMCwgNjY5MSwgNDIxOTMsIDkyMjI1LCAxMjgxNzEsIDAsIDc0NDk1LCAwLCAwLCAwLCAxMTg4MjAsIAotICAgIDk3NTEsIDY1NDA3LCAxMjgwODUsIDExNzcwLCAzOTE5LCAwLCAwLCA2NTA2MSwgMCwgMCwgMCwgMTIyMzUsIDAsIDAsIAotICAgIDEyNzIzMywgNjQwOTIsIDk4MzQ3MCwgNjQwODAsIDAsIDY0MDkwLCAwLCA2OTkxMywgMTAxNjIsIDEwMzEwLCAwLCA4NDU0LCAKLSAgICAxMjc4ODgsIDQyMDM4LCAzODcsIDQxMzYzLCAxMjczNywgMCwgNDc4MCwgNDMzNjgsIDAsIDY0MzEwLCA2NDYyMSwgNjczMiwgCi0gICAgNzgxMTYsIDAsIDk4MzEzOSwgMCwgOTgzMDc0LCA4ODk2LCAwLCAzNzUsIDY5NzYsIDY2NTgyLCAxMTkwMDUsIDk4Mzg3NCwgCi0gICAgMCwgOTgzNDM0LCAxMTkyMDIsIDExOTIwMywgMTI1MjYsIDQzMTIwLCAyMzE1LCAwLCAxOTM4LCAxMTkxOTcsIDAsIDQ1MjksIAotICAgIDExOTIwMCwgMTE5MjAxLCAxMTkxOTgsIDExOTE5OSwgNjk2OTIsIDk4MzQzMiwgNjk2OTgsIDEzMTUwLCA2NDQ5MiwgMCwgMCwgCi0gICAgMjI5MSwgMTI5MDIsIDAsIDQyODkxLCA2NjMyNywgNzQyOTgsIDkxNzg1NywgMTA3OTksIDY5NjkwLCAyNTg3LCA2NjM3MiwgCi0gICAgMCwgNDE5MywgOTIyNTAsIDQyNDEsIDk4MzA1NywgNzk5OCwgMCwgMCwgMCwgMTI2NjQwLCAyMzE2LCAxMTg4MjEsIDAsIDAsIAotICAgIDAsIDY0Mjk3LCA3NDc5OSwgOTI0NDIsIDc0MTQwLCAwLCA1MzczLCAwLCA5ODM4ODYsIDM3NjIsIDEwMDE1LCAxMjA2NzIsIAotICAgIDExOTIzMiwgMCwgNDE1OTAsIDAsIDcwMDk4LCAzNzgwLCA3NDg1LCA1Nzc5LCAwLCA0MjAzNywgMCwgMzkwNiwgMTIzNDksIAotICAgIDAsIDgzMjYsIDAsIDY1NDk4LCAzNzYzLCA2OTgzLCA1NjE4LCAwLCAzNzc5LCAwLCA0MzYxMywgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMjgwLCA3NDU1OCwgMTI3MzMyLCA2ODEzOCwgMTMwNzIsIDE4OTQsIDAsIDAsIDY1NDc4LCA0MzMxMCwgNzIzMSwgMCwgCi0gICAgMTE3NzMsIDAsIDAsIDAsIDAsIDI1NTEsIDAsIDY0NTMsIDEwMjAwLCA2MjM1LCA5ODM3NTIsIDExOTIzNywgMCwgMTI4ODA1LCAKLSAgICA0NDcwLCAxMTgyNiwgOTE3NTU3LCA3NzgwLCA1MzY5LCAxMTg5NTgsIDUyNDksIDAsIDUzNjcsIDg3NTYsIDEyNzE0MywgMCwgCi0gICAgNTM3NywgMTIwNTg1LCA2ODE0MywgMTY4OCwgNzgyNDUsIDk4MzM1NiwgNjk2ODUsIDk4Mzc1NiwgMCwgMCwgNDQwMjAsIAotICAgIDY4MDgsIDQxMzE5LCAxMzAwLCAxMDY1MCwgNDE2OTIsIDY0NTA1LCAyMjkwLCAwLCAxMTk2MjQsIDE0NjUsIDEwODUwLCAKLSAgICAzOTQzLCAwLCA0MTIwNSwgNDEzMTUsIDExODk2MSwgMCwgMCwgNTM1MiwgMCwgMCwgODgzOSwgNDEzMTQsIDczODQsIDc3ODUsIAotICAgIDQxMjA0LCAxMjczMjIsIDQxMjA5LCA2OTYzNywgOTIyNDEsIDQzNjA3LCAwLCAwLCA1NDIwLCAzODk3LCAxMDEzNCwgMCwgCi0gICAgNzQ0MTcsIDQwMTgsIDcxNTAsIDY4MTI3LCAwLCAwLCAwLCAwLCAxMjc1MjYsIDI1NjEsIDY4NjIxLCAzNTQyLCA3MTQ4LCAKLSAgICAxMjA3NiwgNzk1MSwgNjgxNTIsIDExODg1NywgNTMwMywgNjI3NiwgMTcwNiwgMCwgNzg3NTEsIDcxNDYsIDAsIDY1MTUwLCAKLSAgICA0MTgxOSwgMCwgNzM5NTEsIDEwODQ3LCA0MTgyMiwgOTk4NSwgODYwLCAwLCAxMDUwNiwgOTgzNDM1LCA2OTY0MSwgMTA3NTMsIAotICAgIDEwODMwLCAwLCA2MTUsIDY0NDkwLCA3NTc0LCA5MjYxNywgNzc5MjIsIDAsIDEyOTA5LCA0MzAxNiwgNjQ1NTksIDEyNzAyOCwgCi0gICAgMCwgMCwgNjc5OTYsIDIwMjAsIDAsIDQwMjIsIDEyODc4MywgMCwgNzc5MjMsIDEyNjU5MywgNDE2OTEsIDAsIDAsIDc0MzI5LCAKLSAgICAwLCA2NDYyMiwgOTA3MCwgMCwgNjg0MTEsIDM5MTEsIDQyODI5LCA0MzEyMiwgMTAzMywgNzQ0NDAsIDAsIDcwMDAsIDM5MDQsIAotICAgIDAsIDEyODE5OCwgMCwgMTE4OTMxLCAxMTk2MzAsIDEzMTIzLCAxMDg0NiwgMzQ1MCwgMTI3MzYwLCA3Mzk3LCAxMTg4MDcsIAotICAgIDAsIDQyNzc4LCAxMDAwMCwgNDEwODgsIDQ0OSwgMCwgMzc3NywgNjg0NTgsIDAsIDk2MzYsIDAsIDEwNzM4LCA2OTYzNCwgCi0gICAgOTM2NywgNTkzLCA0MTA4NSwgMzk5OSwgNjUyMjYsIDQxNzEzLCAxMjc2NCwgMCwgNjQ0MDksIDM1OTYsIDAsIDAsIDk3NjMsIAotICAgIDEyMDI4MCwgOTIxOTIsIDEyMzQ3LCAxMjQsIDEyOTgxLCA0MTEyNywgMjA5MiwgOTI2ODcsIDAsIDAsIDAsIDEwODIwLCAKLSAgICA0Mzk4NywgMCwgMCwgMTc2OSwgNDE3MTUsIDI0NjMsIDc4NDg5LCAwLCAxMjc3MCwgMTI2NTAwLCAxNTM4LCAwLCA0MzEyNCwgCi0gICAgMCwgMTk1MDU4LCA3Nzk1LCAxMjAzMDAsIDAsIDQ4MjgsIDEyNTgsIDEyNzgwMiwgMjAwNiwgMCwgMCwgOTQ5OCwgMTI3MDMyLCAKLSAgICAxMjcwMzMsIDEyMDI4OSwgMTIwMjg4LCAzOTM5LCAxMjAyOTAsIDg4NDYsIDg5NDMsIDEyMDI4NywgMTIwMjg2LCAyNjUwLCAKLSAgICA0NDkxLCAxOTYxLCA0MjYwMiwgMTE1MjUsIDEyMDI5MiwgMTk1OSwgMTIwMjk0LCA1NTIyOCwgMTE3NzQsIDQxMDE2LCAwLCAKLSAgICA2ODY3NSwgMTI4MDU0LCAxNTExLCA5MzI0LCA3ODIxMSwgMTA1MTksIDY2MzMxLCAzNDU0LCAxOTkzMCwgMCwgNDEwMTksIDAsIAotICAgIDAsIDY1MjkyLCA2ODIyLCAxMjg2MiwgMCwgMCwgNDIxNDMsIDQxODI4LCA3ODIwNywgNjU1MzEsIDc4MjA4LCAxMTg4NzksIAotICAgIDU1MjIzLCAwLCAxMjgwNzEsIDQxODI2LCA4ODY1LCA2NDAyLCAwLCAxMzI3OSwgNzkxNywgNzQ3NTUsIDAsIDc3MzMsIDAsIAotICAgIDQ5OTgsIDk4Mzg5NiwgOTIzMzIsIDQxOTUwLCAwLCA0MjY4LCAwLCAwLCA3MDA2MSwgNDAxMywgMCwgMTA4ODEsIDAsIDAsIAotICAgIDAsIDc0Nzg4LCAyMDE0LCAwLCAwLCA5NzY1LCAwLCAwLCAwLCAxOTUwNTksIDc4MzU3LCA2NTI4MSwgMTI3ODI1LCAxMDk0OSwgCi0gICAgMCwgMCwgMCwgMjAxNSwgMCwgMCwgMCwgNjYzMTgsIDQzMjMzLCAwLCA0MjUxNywgMCwgMCwgMCwgMTI2OTgsIDgwOTQsIAotICAgIDEwMTM1LCA2NTkwOSwgNjQ3NCwgNzk0LCAwLCAxMjY1NiwgMTI4MTIyLCAxMTkzNTMsIDEyODI3MCwgMTY2NSwgMCwgNDgzMywgCi0gICAgOTgzMDUzLCAxMTkzNTEsIDEyNzM2NywgMCwgMTg5LCAxMjYxMSwgMCwgMCwgMjg1OSwgNDgzOCwgMCwgNDgzNCwgNjUwNzgsIAotICAgIDAsIDAsIDQ4MzcsIDEyNzA2MSwgNzcwLCAwLCA4MTEsIDAsIDQxMDQyLCA5MTc1NTEsIDQxMzE4LCA2NDQyNywgMCwgCi0gICAgMTI4MjA4LCA3ODg0OCwgMzg5NSwgMCwgNzQzNDEsIDM5NzYsIDAsIDQyODU5LCAxMDE5MywgMzExNiwgNzc0NywgMCwgMCwgCi0gICAgMCwgMCwgMCwgNDM2ODYsIDc4ODQ2LCA0MTg3NywgMCwgMjg3MSwgNjQ2MTQsIDEyODc4NSwgOTk5LCAwLCA2MzQ1LCAKKyAgICA0NzEyLCA5MTc5MDIsIDkxNzg5OSwgNjU0MDAsIDY1NDE2LCA4MTU1LCA0NzE4LCAzOTQyLCA0NzE0LCA5NjI1LCAwLCAKKyAgICA2MzgzLCAxOTQ3NDQsIDEyMDA2LCAxMjg1NjUsIDE5NDc4OSwgMCwgMTEzNzU2LCAwLCA2NTQxNCwgNjQ1NCwgMTIyOSwgCisgICAgMTI2NjA2LCA2NjQzNywgNjYwMjUsIDc4Njk5LCAwLCA0MjUwMCwgMTIwNTA4LCA0ODA5LCA5NjIzLCA5MTc4NzQsIDc4Njk0LCAKKyAgICA5MTc4ODAsIDkxNzg3NywgOTE3ODU4LCA2NTQwNSwgNjgxNTksIDEyODkzLCA3ODYxNywgNTM2NSwgNDU0NSwgODkwMSwgCisgICAgOTI0MjEsIDExOTU1NSwgNDgxMywgMTI4MjYyLCAwLCA1OTI1LCA0ODA4LCA2NDMzMCwgMTI4NDAwLCA2NTQ3NSwgMTE4OTQwLCAKKyAgICA2ODI0NCwgNDgxNCwgMCwgNDgxMCwgMCwgMCwgNjQ5MjgsIDEwNTQzLCA3MTI0OSwgMzUyMiwgNzEzMzUsIDQxNCwgNjU0MDQsIAorICAgIDAsIDE5NTAyNywgNjQ1NiwgNzM4MjAsIDAsIDY2OTEsIDQyMTkzLCA2NjI4NCwgMTI4MTcxLCAwLCA2ODMzNywgMCwgCisgICAgNDM4NTgsIDQzODMyLCAxMTg4MjAsIDk3NTEsIDY1NDA3LCAxMjgwODUsIDExNzcwLCAzOTE5LCAxMjA3MjQsIDAsIDY1MDYxLCAKKyAgICAwLCA5MTc4OTQsIDAsIDEyMjM1LCAwLCA5MjcwMSwgMTI3MjMzLCA2NDA5MiwgOTgzNDcwLCA2NDA4MCwgMCwgNjQwOTAsIAorICAgIDk4MzU4NiwgNjk5MTMsIDEwMTYyLCAxMDMxMCwgMCwgODQ1NCwgMTI3ODg4LCA0MjAzOCwgMzg3LCA0MTM2MywgMTI3MzcsIAorICAgIDAsIDQ3ODAsIDQzMzY4LCAwLCA2NDMxMCwgNjQ2MjEsIDY3MzIsIDc4MTE2LCAwLCAxOTQ5NTksIDE5NTAyNCwgOTIxOTMsIAorICAgIDg4OTYsIDAsIDM3NSwgNjk3NiwgNjY1ODIsIDExOTAwNSwgOTgzODc0LCAxMjczMjUsIDk4MzQzNCwgMTE5MjAyLCAKKyAgICAxMTkyMDMsIDEyNTI2LCA0MzEyMCwgMjMxNSwgMCwgMTkzOCwgMTE5MTk3LCAxMjg0NTIsIDQ1MjksIDExOTIwMCwgCisgICAgMTE5MjAxLCAxMTkxOTgsIDExOTE5OSwgNjk2OTIsIDEyOTEyNCwgNjk2OTgsIDEzMTUwLCA2NDQ5MiwgMTI4OTc0LCAwLCAKKyAgICAyMjkxLCAxMjkwMiwgMCwgNDI4OTEsIDY2MzI3LCA3MDUwMiwgOTE3ODU3LCAxMDc5OSwgNjk2OTAsIDI1ODcsIDY2MzcyLCAKKyAgICAxMjg2MjgsIDQxOTMsIDY2ODIzLCA0MjQxLCAxMjkxOTUsIDc5OTgsIDExOTg0MCwgMCwgOTgzNTU0LCAxMjY2NDAsIDIzMTYsIAorICAgIDExODgyMSwgMCwgMCwgMCwgNjQyOTcsIDc0Nzk5LCA5MjQ0MiwgNzQxNDAsIDEyODE0OCwgNTM3MywgMTI4Nzk4LCA3MDM3MCwgCisgICAgMzc2MiwgMTAwMTUsIDEyMDY3MiwgMTE5MjMyLCAxMjUxMDksIDQxNTkwLCAwLCA3MDA5OCwgMzc4MCwgNzQ4NSwgNTc3OSwgCisgICAgMCwgNDIwMzcsIDAsIDM5MDYsIDEyMzQ5LCA3NDc5MywgODMyNiwgMCwgNjU0OTgsIDM3NjMsIDY5ODMsIDU2MTgsIDAsIAorICAgIDM3NzksIDk4MzE5NCwgNDM2MTMsIDcwMTMyLCAwLCAwLCA3ODMzNSwgOTgzODkyLCAwLCAyODAsIDc0NTU4LCAxMjczMzIsIAorICAgIDY3Mzk2LCAxMzA3MiwgMTg5NCwgMCwgNjc3MzUsIDY1NDc4LCA0MzMxMCwgNzIzMSwgMCwgMTE3NzMsIDAsIDAsIDExMTQ0LCAKKyAgICA5MTc3NzgsIDI1NTEsIDAsIDY0NTMsIDEwMjAwLCA2MjM1LCA5ODM3NTIsIDExOTIzNywgNzE4NzcsIDEyODgwNSwgNDQ3MCwgCisgICAgMTE4MjYsIDkxNzU1NywgNzc4MCwgNTM2OSwgMTE4OTU4LCA1MjQ5LCA5ODMwNjYsIDUzNjcsIDg3NTYsIDEyNzE0MywgCisgICAgMTE5MTgzLCA1Mzc3LCAxMjA1ODUsIDY4MTQzLCAxNjg4LCA3ODI0NSwgNTIxOCwgNjk2ODUsIDk4Mzc1NiwgMCwgMTEzNzk0LCAKKyAgICA0NDAyMCwgNjgwOCwgNDEzMTksIDEzMDAsIDEwNjUwLCA0MTY5MiwgNjQ1MDUsIDIyOTAsIDcxMDU3LCAxMTk2MjQsIDE0NjUsIAorICAgIDEwODUwLCAzOTQzLCAwLCA0MTIwNSwgNDEzMTUsIDExODk2MSwgMTE5MzMzLCA2NzE0OCwgNTM1MiwgMTEzNzUzLCAwLCAKKyAgICA4ODM5LCA0MTMxNCwgNzM4NCwgNzc4NSwgNDEyMDQsIDEyNzMyMiwgNDEyMDksIDY5NjM3LCA5MjI0MSwgNDM2MDcsIAorICAgIDcxMjU0LCAwLCA1NDIwLCAzODk3LCAxMDEzNCwgMCwgNzQ0MTcsIDQwMTgsIDcxNTAsIDY4MTI3LCAwLCAwLCAwLCAwLCAKKyAgICAxMjc1MjYsIDI1NjEsIDY4NjIxLCAzNTQyLCA3MTQ4LCAxMjA3NiwgNzk1MSwgNjgxNTIsIDExODg1NywgNTMwMywgNjI3NiwgCisgICAgMTcwNiwgMTIwNzUwLCA3ODc1MSwgNzE0NiwgMCwgNjUxNTAsIDQxODE5LCAwLCA3Mzk1MSwgMTA4NDcsIDQxODIyLCA5OTg1LCAKKyAgICA4NjAsIDAsIDEwNTA2LCA5ODM0MzUsIDY5NjQxLCAxMDc1MywgMTA4MzAsIDExOTMzOSwgNjE1LCA2NDQ5MCwgNzU3NCwgCisgICAgNzQwODIsIDc3OTIyLCAwLCAxMjkwOSwgNDMwMTYsIDY0NTU5LCAxMjcwMjgsIDAsIDEyNzAyOSwgNjc5OTYsIDIwMjAsIAorICAgIDk4MzM1MCwgNDAyMiwgMTI4NzgzLCAwLCA3NzkyMywgMTI2NTkzLCA0MTY5MSwgMCwgOTE3ODE4LCA3NDMyOSwgMCwgCisgICAgNjQ2MjIsIDkwNzAsIDAsIDY4NDExLCAzOTExLCA0MjgyOSwgNDMxMjIsIDEwMzMsIDc0NDQwLCAwLCA3MDAwLCAzOTA0LCAKKyAgICA5ODM2MjgsIDczNzM3LCAxMjUxMDUsIDExODkzMSwgMTE5NjMwLCAxMzEyMywgMTA4NDYsIDM0NTAsIDEyNzM2MCwgNzM5NywgCisgICAgMTE4ODA3LCAwLCA0Mjc3OCwgMTAwMDAsIDQxMDg4LCA0NDksIDAsIDM3NzcsIDY4NDU4LCAxMTM3MjUsIDk2MzYsIDAsIAorICAgIDEwNzM4LCA2OTYzNCwgOTM2NywgNTkzLCA0MTA4NSwgMzk5OSwgNjUyMjYsIDQxNzEzLCAxMjc2NCwgOTgzNzIzLCA2NDQwOSwgCisgICAgMzU5NiwgMCwgMTI4MDkwLCA5NzYzLCAxMjAyODAsIDc0NjA5LCAxMjM0NywgMTI0LCAxMjk4MSwgNDExMjcsIDIwOTIsIAorICAgIDkyNjg3LCAwLCAxMjc1NTUsIDAsIDEwODIwLCA0Mzk4NywgMCwgMTI4OTA3LCAxNzY5LCA0MTcxNSwgMjQ2MywgNzEyMTQsIAorICAgIDk4Mzk0NywgMTI3NzAsIDcxMjIyLCAxNTM4LCA5MjYxNywgNDMxMjQsIDE5NDYxNCwgMTk1MDU4LCA3Nzk1LCAxMjAzMDAsIAorICAgIDEyOTA1MywgNDgyOCwgMTI1OCwgMTI3ODAyLCAyMDA2LCAwLCAwLCA5NDk4LCAxMjcwMzIsIDEyNzAzMywgMTIwMjg5LCAKKyAgICAxMjAyODgsIDM5MzksIDEyMDI5MCwgODg0NiwgODk0MywgMTIwMjg3LCAxMjAyODYsIDI2NTAsIDQ0OTEsIDE5NjEsIAorICAgIDQyNjAyLCAxMTUyNSwgMTIwMjkyLCAxOTU5LCAxMjAyOTQsIDU1MjI4LCAxMTc3NCwgNDEwMTYsIDk4MzI2MCwgNjg2NzUsIAorICAgIDEyODA1NCwgMTUxMSwgOTMyNCwgNzgyMTEsIDEwNTE5LCA2NjMzMSwgMzQ1NCwgMTk5MzAsIDAsIDQxMDE5LCAxMjc5NDQsIAorICAgIDAsIDY1MjkyLCA2ODIyLCAxMjg2MiwgMCwgMCwgNDIxNDMsIDQxODI4LCA3ODIwNywgNjU1MzEsIDcwODY0LCAxMTg4NzksIAorICAgIDU1MjIzLCAwLCAxMjgwNzEsIDQxODI2LCA4ODY1LCA2NDAyLCAxMTM4MjcsIDEzMjc5LCA3OTE3LCA3NDc1NSwgOTE3OTQ4LCAKKyAgICA3NzMzLCAwLCA0OTk4LCA2ODQ5MywgOTIzMzIsIDQxOTUwLCAwLCA0MjY4LCAwLCAwLCA3MDA2MSwgNDAxMywgMTI4NzE4LCAKKyAgICAxMDg4MSwgMCwgMCwgMCwgNzQ3ODgsIDIwMTQsIDI0MzIsIDcxOTAxLCA5NzY1LCAwLCAwLCA5MTc4NTQsIDE5NTA1OSwgCisgICAgNzgzNTcsIDY1MjgxLCAxMjc4MjUsIDEwOTQ5LCAwLCAwLCAxMTkzMTUsIDIwMTUsIDAsIDAsIDcxODQwLCA2NjMxOCwgCisgICAgNDMyMzMsIDkxNzk5MiwgNDI1MTcsIDAsIDAsIDAsIDEyNjk4LCA4MDk0LCAxMDEzNSwgNjU5MDksIDY0NzQsIDc5NCwgCisgICAgNDM0OTcsIDEyNjU2LCA2NjMzNSwgMTE5MzUzLCAxMjgyNzAsIDE2NjUsIDcxODUzLCA0ODMzLCA5ODMwNTMsIDcxMTg4LCAKKyAgICAxMjczNjcsIDAsIDE4OSwgMTI2MTEsIDAsIDAsIDI4NTksIDQ4MzgsIDAsIDQ4MzQsIDY1MDc4LCAwLCA5Mjk5MSwgNDgzNywgCisgICAgNjc0MTMsIDc3MCwgOTI2NzEsIDgxMSwgNzAwNjIsIDQxMDQyLCA5MjkxNSwgNDEzMTgsIDY0NDI3LCA3Mzk5OSwgNjc2OTMsIAorICAgIDc4ODQ4LCAzODk1LCAwLCA3NDM0MSwgMzk3NiwgMTI4NDY2LCA0Mjg1OSwgMTAxOTMsIDMxMTYsIDc3NDcsIDc4NDg4LCAwLCAKKyAgICA0MzQ5NiwgMCwgMCwgNDM2ODYsIDc4ODQ2LCA0MTg3NywgMCwgMjg3MSwgNjQ2MTQsIDEyNzAxMCwgOTk5LCAwLCA2MzQ1LCAKICAgICA0MTg3NiwgMjY2MywgMjAxNywgMCwgMCwgMTEwNDAsIDEwMTUwLCAwLCA2NDMwOCwgMTUyMiwgNTk3LCA0Nzc1LCAxMjU1NSwgCiAgICAgMTI1NzEsIDEyNTUwLCAxMjU4MywgMTI1NjAsIDIwMTksIDEyNTU2LCAxMjU4NCwgMzA5MiwgMCwgMTI1NjIsIDQ3ODMsIAotICAgIDEyNTY2LCAxMjU2OSwgMTI1NTQsIDAsIDEwODEyLCA3ODg1MSwgMCwgMCwgMzA3OCwgMTQwMiwgMCwgMTI4Mjc1LCAwLCAwLCAKLSAgICAxMTkyNDgsIDM5NCwgMzA4OCwgMCwgOTIxNzIsIDAsIDM5OTEsIDY0MzkxLCAwLCAxMjg1MjQsIDQyNCwgNjYzMjgsIDE5OTksIAotICAgIDY5NjU5LCA3MzkxNCwgMCwgMCwgMCwgMCwgNDIyMzEsIDgyNDYsIDAsIDAsIDAsIDQxODQwLCA5ODM2MDksIDIzNzcsIAotICAgIDEyOTgsIDY0MDExLCAxMjU3MiwgMTEzMTgsIDEyNTU3LCAxMjU1OSwgMTI1NzAsIDc0NzksIDEwMDMsIDIzNzMsIDk0NDYsIAotICAgIDc0ODEsIDk0NDgsIDQ4LCAwLCA5NDgwLCA0ODEsIDAsIDk0MzgsIDk0MzksIDk0NDAsIDk0NDEsIDg0NjUsIDk0NDMsIAotICAgIDk0NDQsIDk0NDUsIDk0MzAsIDk0MzEsIDk0MzIsIDk0MzMsIDk0MzQsIDk0MzUsIDM5ODQsIDk0MzcsIDAsIDAsIDk0MjQsIAotICAgIDk0MjUsIDk0MjYsIDk0MjcsIDk0MjgsIDk0MjksIDY0NzU4LCAyMzYyLCA5NjU1LCAwLCAyMDA0LCA5MDk2LCA5NzgyLCAKLSAgICAxMjg4NDgsIDkxNzIsIDEyODU0NSwgMTk5NjUsIDAsIDU5NTUsIDY3NjY2LCAxMTA4LCAwLCA3NDc3MywgMCwgMCwgNjQ3ODIsIAotICAgIDM5MjYsIDkyNDQ4LCA2NTIxMCwgODc5OCwgMCwgOTIxNjUsIDEzOTIsIDAsIDAsIDEyNzM2NCwgMTA2MDYsIDgwNjUsIAotICAgIDExODgwNSwgMTAzNTMsIDEwNDE3LCAwLCAwLCA2NDUyNCwgOTI0MTgsIDQwMTksIDAsIDk4MzI4OCwgNDMyODAsIDgyMTksIAotICAgIDY4NDAyLCAxODEyLCAxMTk5NjMsIDk4MzY5MiwgMCwgMTI2NDg4LCA0MjQxMCwgNzQ0NDgsIDExOTEzMiwgNjA1NCwgCi0gICAgMTA2OTcsIDMxNjksIDQyMjk3LCA0MjMyMiwgMTA2NDIsIDM5MDksIDk5NTAsIDAsIDEyODEzOSwgOTgzMjYxLCA2ODY3OCwgCi0gICAgMCwgMCwgMTA0OSwgMCwgNjU3MDcsIDIzMDQsIDQxODA2LCA5MjMyNiwgNDIzMzYsIDM5MjEsIDAsIDExNzc1LCA2NDc2MCwgCisgICAgMTI1NjYsIDEyNTY5LCAxMjU1NCwgMCwgMTA4MTIsIDc4ODUxLCAwLCA5MTc1NjMsIDMwNzgsIDE0MDIsIDAsIDEyODI3NSwgCisgICAgMCwgMTI1MDcyLCAxMTkyNDgsIDM5NCwgMzA4OCwgMCwgOTIxNzIsIDAsIDM5OTEsIDY0MzkxLCAxMjkwNzIsIDEyODUyNCwgCisgICAgNDI0LCA2NjMyOCwgMTk5OSwgNjk2NTksIDczOTE0LCAwLCAwLCA2NjkwMywgMCwgNDIyMzEsIDIyMDksIDEyNTEwMywgMCwgCisgICAgMCwgNDE4NDAsIDY2OTEzLCAyMzc3LCAxMjk4LCA2NDAxMSwgMTI1NzIsIDExMzE4LCAxMjU1NywgMTI1NTksIDEyNTcwLCAKKyAgICA3NDc5LCAxMDAzLCAyMzczLCA5NDQ2LCA3NDgxLCA5NDQ4LCA0OCwgMCwgOTQ4MCwgNDgxLCAwLCA5NDM4LCA5NDM5LCAKKyAgICA5NDQwLCA5NDQxLCA4NDY1LCA5NDQzLCA5NDQ0LCA5NDQ1LCA5NDMwLCA5NDMxLCA5NDMyLCA5NDMzLCA5NDM0LCA5NDM1LCAKKyAgICAzOTg0LCA5NDM3LCAwLCA5MjkzNCwgOTQyNCwgOTQyNSwgOTQyNiwgOTQyNywgOTQyOCwgOTQyOSwgNjQ3NTgsIDIzNjIsIAorICAgIDk2NTUsIDk4MzcwOSwgMjAwNCwgOTA5NiwgOTc4MiwgNzA4NDIsIDkxNzIsIDEyODU0NSwgMTk5NjUsIDAsIDU5NTUsIAorICAgIDY3NjY2LCAxMTA4LCAwLCA3NDc3MywgMCwgMTI4OTA5LCA2NDc4MiwgMzkyNiwgOTI0NDgsIDY1MjEwLCA4Nzk4LCAwLCAKKyAgICA5MjE2NSwgMTM5MiwgMCwgOTgzMjE0LCAxMjczNjQsIDEwNjA2LCA4MDY1LCAxMTg4MDUsIDEwMzUzLCAxMDQxNywgMCwgCisgICAgMTI4NzM5LCA2NDUyNCwgOTI0MTgsIDQwMTksIDAsIDEyNTA4MiwgNDMyODAsIDgyMTksIDY4NDAyLCAxODEyLCAxMTk5NjMsIAorICAgIDk4MzY5MiwgMTI5MTQ0LCAxMjY0ODgsIDQyNDEwLCA3NDQ0OCwgMTE5MTMyLCA2MDU0LCAxMDY5NywgMzE2OSwgNDIyOTcsIAorICAgIDQyMzIyLCAxMDY0MiwgMzkwOSwgOTk1MCwgMTI4ODQ4LCAxMjgxMzksIDk4MzI2MSwgNjg2NzgsIDkyOTE3LCA5ODM3OTAsIAorICAgIDEwNDksIDQzNTE3LCA2NTcwNywgMjMwNCwgNDE4MDYsIDkyMzI2LCA0MjMzNiwgMzkyMSwgMCwgMTE3NzUsIDY0NzYwLCAKICAgICAxMTc2NiwgMTAzOCwgNDIzMDMsIDk4MjMsIDEyNzI3OCwgNjkyMzYsIDQwMDgsIDY0MDA0LCA4NzczLCAxMDczMywgMzYsIDAsIAotICAgIDUxNTMsIDQxODA1LCAwLCA3MzczNSwgNzYzLCA0MTgwOCwgNjQ5MTAsIDk4MzEzMCwgMjAwOSwgMCwgMCwgMTI3MTQyLCAKLSAgICA5NjQwLCAxMTk5NTEsIDAsIDEyMDY5NSwgODYyMSwgMTIwNTIzLCAxMjg1MiwgMzAzMSwgOTgzMDUwLCA2NDM2MSwgMCwgCi0gICAgMTgyLCAxOTQ3MTgsIDkyNzE2LCA5MjU5OCwgMTE5OTUwLCA0MjYxMywgOTA1OCwgMzY2LCAwLCA5ODkyLCA1OTY5LCAKLSAgICAxMTc1NCwgMTA4NDgsIDQ1NzAsIDY1MzAxLCA0NDAxMywgNDI1NSwgMTI3ODg5LCAxMDEwMiwgNDExODksIDQwMDMsIAotICAgIDQxMDI2LCA2ODEwOSwgMTMyOTMsIDQxMTkyLCA2OTYzNSwgMCwgNDIyNTEsIDAsIDQyNTM0LCA2NTE3OSwgMTEyODcsIAotICAgIDYxMjgsIDAsIDExMDM0LCAxMDkyMywgNjQ0MjMsIDAsIDY1NTA2LCAwLCA2NTg2MSwgNzQwODMsIDkyNjAwLCA5OTMyLCAwLCAKLSAgICA5MjQyMywgMTE5OTU1LCAwLCA5ODE3LCAwLCAxMjAxNDAsIDAsIDEyMTE3LCA2NjU4NiwgNDE4MywgMTA1NDAsIDY2MjUwLCAKLSAgICA5MDYzLCAxMjcwNDUsIDAsIDExOTk1NCwgMCwgMTI4OTcsIDM3OTIsIDIwMTEsIDAsIDYwNjUsIDQzMTYwLCAwLCAxOTQ3MTUsIAotICAgIDg2OTIsIDQxMTg2LCA0MTgxNiwgNDEwMjMsIDQxODE4LCA0MTE4NywgMTE2NTksIDc5MjIsIDEyNjE0LCAyMDA1LCA4NTIzLCAKLSAgICA3ODAwMiwgMCwgNzUxMywgMTg2MywgNDcxMCwgMCwgNTk1NiwgNzYyMSwgNzgwMDYsIDkyNjI0LCA0NzA1LCA3MTYsIAotICAgIDc4MDA0LCAwLCA0NzA0LCAxMjAwNDAsIDEyMDI3MCwgNDIyNDEsIDE2MSwgNDM5NzcsIDc0NTQ2LCA2NjIxNCwgNDcwNiwgMCwgCi0gICAgNjk5MTQsIDQyNjcyLCA0NzA5LCAxMDY4MCwgMTE5MDY1LCA0MzI5MywgMTE5OTQ0LCAwLCAxMTkxNjQsIDEyMDMyOCwgCi0gICAgOTI0NjcsIDEwMTg3LCAxNzAwLCAxMTkyMjMsIDAsIDAsIDEyODExOSwgNDAwNCwgMCwgMTA5NjgsIDQzMjk2LCA5ODM2NDIsIAotICAgIDg1MDYsIDAsIDAsIDEyNjk5NiwgMTAwNSwgOTM3LCA3ODIxNiwgNDczNCwgMjg3MCwgMCwgNzgyMTgsIDk4MzEwOSwgNzQ2MywgCi0gICAgNDcyOSwgMCwgMjM1LCAxMzg0LCA0NzI4LCAwLCAxMjA0MjAsIDkyNDkwLCA3NDQ0OSwgODEwOSwgNDMxMDUsIDk4MzE3NCwgCi0gICAgNDczMCwgNDQ3LCAxMzE4NiwgMTUxMywgNDczMywgMTIwNDE1LCAwLCAwLCA0MjUyNywgMTI5MTEsIDQzNDI3LCAxMzgzLCAKLSAgICA4NTY1LCAyNDY5LCAxMjAwMjQsIDY2OTAsIDYxNTYsIDY4MTE3LCA0MzQzOSwgNzk5MywgNDI4OCwgMTIwNDE2LCAyNjc0LCAKLSAgICAxMzIzOCwgMTE5MjIsIDAsIDEyMDMzMCwgMzUxMCwgMTMyMzQsIDAsIDEyMDQwNywgNTYwNSwgNDIwOTUsIDExMzY0LCAwLCAKLSAgICAxMzgwLCA2NTYxNywgMTIwMjUzLCAxMjAyNjEsIDEzMTk2LCAxMzE5NywgMTIwMzA5LCAxMjA2ODIsIDk0OTUsIDExOTM0NiwgCi0gICAgMCwgNTk1OSwgNjc5ODQsIDczOTc2LCAxMjAzMDUsIDQzMzcxLCA2OTQxLCAxMTkzNDksIDEzMjA1LCAxMzIxMSwgNTgwMSwgCisgICAgNTE1MywgNDE4MDUsIDAsIDczNzM1LCA3NjMsIDQxODA4LCA2NDkxMCwgOTgzMTMwLCAyMDA5LCAwLCAxMjc5ODUsIDc0MjQ1LCAKKyAgICA5NjQwLCAxMTk5NTEsIDAsIDY5ODk1LCA4NjIxLCAxMjA1MjMsIDEyODUyLCAzMDMxLCA5ODMwNTAsIDY0MzYxLCAxMjkwODgsIAorICAgIDE4MiwgNjY0MTQsIDkyNzE2LCA5MjU5OCwgMTE5OTUwLCA0MjYxMywgOTA1OCwgMzY2LCAwLCA5ODkyLCA1OTY5LCAxMTc1NCwgCisgICAgMTA4NDgsIDQ1NzAsIDY1MzAxLCA0NDAxMywgNDI1NSwgMTI3ODg5LCAxMDEwMiwgNDExODksIDQwMDMsIDQxMDI2LCAKKyAgICA2ODEwOSwgMTMyOTMsIDQxMTkyLCA2OTYzNSwgMTI0OTc3LCA0MjI1MSwgMCwgNDI1MzQsIDY1MTc5LCAxMTI4NywgNjEyOCwgCisgICAgMTEzODExLCAxMTAzNCwgMTA5MjMsIDY0NDIzLCAwLCA2NTUwNiwgMCwgNjU4NjEsIDc0MDgzLCA2Njg3MiwgOTkzMiwgCisgICAgNDM1MTYsIDkyNDIzLCAxMTk5NTUsIDExOTk0OCwgOTgxNywgMCwgNzEyMzQsIDAsIDEyMTE3LCA2NjU4NiwgNDE4MywgCisgICAgMTA1NDAsIDY2MjUwLCA5MDYzLCAxMjcwNDUsIDAsIDExOTk1NCwgMTEzNjg1LCAxMjg5NywgMzc5MiwgMjAxMSwgMCwgCisgICAgNjA2NSwgNDMxNjAsIDEyODM3OSwgMTk0NzE1LCA4NjkyLCA0MTE4NiwgNDE4MTYsIDQxMDIzLCA0MTgxOCwgNDExODcsIAorICAgIDExNjU5LCA3OTIyLCAxMjYxNCwgMjAwNSwgODUyMywgNzgwMDIsIDEyMDAzNSwgNzUxMywgMTg2MywgNDcxMCwgMCwgNTk1NiwgCisgICAgNzYyMSwgNzgwMDYsIDkyNjI0LCA0NzA1LCA3MTYsIDc4MDA0LCAwLCA0NzA0LCAxMjAwNDAsIDkzMDI0LCA0MjI0MSwgMTYxLCAKKyAgICA0Mzk3NywgNzQ1NDYsIDY2MjE0LCA0NzA2LCA3NDA3NywgNjk5MTQsIDQyNjcyLCA0NzA5LCAxMDY4MCwgMTE5MDY1LCAKKyAgICA0MzI5MywgMTE5OTQ0LCA5ODMxOTAsIDExOTE2NCwgMTIwMzI4LCA5MjM1MCwgMTAxODcsIDE3MDAsIDExOTIyMywgMCwgMCwgCisgICAgMTI3MjAyLCA0MDA0LCAwLCAxMDk2OCwgNDMyOTYsIDk4MzY0MiwgODUwNiwgMTEzNzQ0LCAxOTQ4MTIsIDEyNjk5NiwgCisgICAgMTAwNSwgOTM3LCA3ODIxNiwgNDczNCwgMjg3MCwgMCwgNzgyMTgsIDk4MzEwOSwgNzQ2MywgNDcyOSwgMCwgMjM1LCAxMzg0LCAKKyAgICA0NzI4LCAwLCA3MDQ5NCwgOTI0OTAsIDc0NDQ5LCA4MTA5LCA0MzEwNSwgMTI4NjIzLCA0NzMwLCA0NDcsIDEzMTg2LCAKKyAgICAxNTEzLCA0NzMzLCAxMjA0MTUsIDkyNTQ4LCAwLCA0MjUyNywgMTI5MTEsIDQzNDI3LCAxMzgzLCA4NTY1LCAyNDY5LCAKKyAgICAxMjAwMjQsIDY2OTAsIDYxNTYsIDY4MTE3LCA0MzQzOSwgNzk5MywgNDI4OCwgMTIwNDE2LCAyNjc0LCAxMzIzOCwgMTE5MjIsIAorICAgIDAsIDEyMDMzMCwgMzUxMCwgMTMyMzQsIDk4MzgzMiwgMTIwNDA3LCA1NjA1LCA0MjA5NSwgMTEzNjQsIDkyMjg2LCAxMzgwLCAKKyAgICA2NTYxNywgMTExNjIsIDEyMDI2MSwgMTMxOTYsIDEzMTk3LCAxMjAzMDksIDY3NzA4LCA5NDk1LCAxMTkzNDYsIDEyNzE1NCwgCisgICAgNTk1OSwgNjc5ODQsIDczOTc2LCA2NjI3NSwgNDMzNzEsIDY5NDEsIDExOTM0OSwgMTMyMDUsIDEzMjExLCA1ODAxLCAKICAgICAxMjc2OSwgNjU5MDUsIDQxNjk3LCAxMjgzLCAxMjAzMDIsIDQ3NzksIDAsIDM3MTksIDQwMDYsIDk4MzU2OSwgMTk5NTcsIAotICAgIDEyODc3MywgMjAyMSwgMTE5MzMyLCAxMjA2OTksIDExOTE1MCwgNDMwMjgsIDY1NDkzLCA0MTgzOCwgMzg3NSwgNTk2MiwgCi0gICAgNjQzNDEsIDkyNjE2LCA5ODE0LCA0MzQ1NywgNTgyNywgMzMxNCwgNzc4NywgNzgyMzQsIDY1NDk0LCA2ODE1MywgMCwgMCwgCi0gICAgMTIwNjM2LCA2NDUzMSwgMTIwNjkyLCAxOTQ2MjYsIDAsIDAsIDY2MzE2LCA2NTQ2NywgNTc3MSwgNDEyOTgsIDk4Mzc5NCwgCi0gICAgOTc0MiwgNTIxLCAwLCAxMDgwMCwgOTIyMjIsIDg0MDQsIDE5NDYyNSwgNDgzLCA3MDk2LCA3MDg5LCA2NjMyMywgOTI4LCAwLCAKLSAgICAwLCAxMTkwMTgsIDEwNTk5LCAxMTU4NiwgMzk4OSwgMTA5NzEsIDQzNzQ4LCA2NTc4MiwgOTg0MSwgODg0MywgMTIxNDUsIAotICAgIDkyNDcwLCAxMDA3NCwgNzg1NDgsIDAsIDM3NjksIDAsIDAsIDAsIDk4MzEwNywgOTU3MywgMCwgNjUyOTAsIDg4NDksIDAsIAotICAgIDY1ODU1LCA2NTExMiwgMTc5NiwgMTIwNTA1LCAwLCA2OTY2NSwgODE2NCwgNDEzMDEsIDM1MDIsIDAsIDczODgsIDEwNjIxLCAKLSAgICA3MzgzOCwgNzg1NTMsIDU4MjUsIDEzMDA3LCA2ODE2NSwgMCwgMTIwNDU3LCAxMjY2MSwgNzYwOCwgMTAzNTQsIDEwNDE4LCAKLSAgICA0MjQxMSwgMjAyMiwgMCwgMTQwOSwgMTIxOTUsIDQwMDEsIDMxMTIsIDEwODI0LCAxMjA2MzksIDEzOTAsIDAsIDAsIDQyMSwgCi0gICAgNDM1MzYsIDU4NDYsIDEyMDEyMCwgNDEzMCwgMTI3Nzc1LCA3NTk1LCA0MjU4OCwgNzYwMCwgMTIwMTIxLCA2NjAzNSwgCi0gICAgOTgzOTEzLCAwLCA2NTg1MSwgNDI2MDcsIDEyODE5MCwgOTI0MDMsIDMxNjgsIDAsIDQyMTM0LCAxMTgzMSwgMjM3MCwgCi0gICAgMjg0NiwgOTI2MDUsIDAsIDAsIDEyMDEzMiwgMCwgMTgzNiwgMCwgMCwgOTI1NTgsIDM3NDAsIDY5ODQzLCA2MjkwLCAKLSAgICA2NTM3NCwgMTIwNDUxLCAyMzkwLCAzOTQ0LCA2NjYyOCwgMTIwNDM0LCAwLCA2MTM1LCAzMTE4LCA3NDI2NSwgMTE5MDkzLCAKLSAgICAxMjA0NDYsIDAsIDAsIDgxMjcsIDg5NzUsIDY0NzM5LCA3OTQzLCA5ODM3NDMsIDAsIDEwNjE4LCAyNTg0LCAwLCAwLCAwLCAKLSAgICA5OTk4LCAxMjg1NjQsIDAsIDAsIDAsIDAsIDYyMDQsIDAsIDAsIDgyNzksIDg3NzYsIDY0OTU0LCA0OTc1LCA3MDA3NSwgCi0gICAgMTIwMTMwLCA0MjY3LCAxNjMxLCA0MjIwNiwgNzc5ODMsIDAsIDE5NTA0NiwgNjU3MDAsIDY2NTYyLCAwLCA2NDY0NSwgMCwgCi0gICAgMCwgMTI2NTg4LCAxMjU4NiwgMCwgOTI0MiwgMTI3OTIyLCAwLCA0NTIzLCA1ODQyLCAxMDQ5NSwgMzEyMiwgOTgzNzk3LCAKLSAgICA3NzkzLCA3ODI3NSwgOTMyOCwgMTE5MTA0LCA3ODM5MywgMTI2MDQsIDAsIDY2MTUsIDIyODUsIDkyMzQ0LCAzOTg2LCAKLSAgICA0NDAyNSwgMCwgODkxMiwgNjQ1NTUsIDc0MDksIDAsIDk4MzM1OCwgOTU0MSwgNzgyNzYsIDAsIDExMjc1LCA4NTQwLCAKLSAgICAxMTQ5OCwgMCwgOTgzMzU3LCA0MTA0MCwgMjQ1OSwgMCwgMTMwNjAsIDQxMDQxLCA3NDQxMywgOTgzMTM4LCAwLCAwLCAKLSAgICA2ODQyNywgMTA0NTAsIDEyNTUxLCA0MTA0MywgNzAyMCwgMTIwMzUzLCAzNzY1LCA5ODMzNTAsIDAsIDE2MDYsIDEyMDM0OCwgCi0gICAgMTIwMzUxLCAzMDkzLCA2ODQzNiwgMCwgOTgzMDYxLCAxMTk2MTMsIDAsIDAsIDQzMTIsIDc0MDkxLCAxMjAzMzcsIAotICAgIDEyMDMzNiwgMTE5MjMsIDQwMjMsIDEyMDMzMywgNTc2MywgOTQwMTUsIDQ4MjcsIDEwODk0LCAxMjgxMCwgNjQ0MDYsIAotICAgIDExODc4NSwgNDQ1NSwgNzQzMjEsIDQzMywgMTE5NjIwLCA2NjY2MCwgMjQ5OSwgMCwgMCwgMTE4ODM3LCAxMTk3MywgCi0gICAgMTMwODksIDQyOTMsIDEyMDMyOSwgNDIyMjQsIDQyNzU4LCAxMjE5NiwgNDI4MzcsIDQyMjI2LCAxMTkzMTksIDAsIAotICAgIDExOTEyNiwgNTgxNywgMTI3ODA2LCA1NTI3NywgMzEyMCwgOTc5NywgMCwgMCwgMCwgMTAzODksIDEyNjQ4NSwgMCwgNDg5NSwgCi0gICAgNjUzNTgsIDAsIDQzNTksIDU4NSwgMjM4MywgMzUwOSwgNzAwMzcsIDQ4NiwgNDI5MCwgNTc1OCwgMTI3NTQ2LCAwLCAwLCAKLSAgICA3MDA0LCAwLCA2NTg4MCwgMTI3ODg2LCAxMTkwNDgsIDIzODAsIDExMzgwLCAwLCA5Mzk5NiwgMjM3NiwgMCwgMTE5MzIwLCAKLSAgICAwLCA1MTk3LCAxMjcwNDYsIDEyNzA0NywgMTI3MDQ4LCAyMzY2LCAxMjcwNTAsIDEyNzA1MSwgMTIwNTU0LCAxMjAwNDUsIDAsIAotICAgIDAsIDAsIDk4MzA4NCwgMCwgMCwgMCwgNzQxODgsIDcxMzQyLCA5ODMwODYsIDk4MzU3MywgMTIwMDQ3LCAxMjg1NzUsIDAsIAotICAgIDAsIDEyMDA0OSwgMCwgMTg0NywgMCwgMTAzMzksIDk4MzM2NSwgNDIzODQsIDAsIDQyMjcsIDc0MTU4LCAwLCA5MjUwMSwgCi0gICAgNDMwMzIsIDAsIDQyMzY1LCAwLCAxMjY3MSwgMTEzODQsIDAsIDk4MzQ2NSwgMCwgNjQ3OTcsIDk4MzM0NSwgNTgyMCwgCi0gICAgOTgzMzQ0LCAxMjAwNTIsIDEyMDA2NSwgMCwgMTIwMDY0LCAxMjA2NTAsIDQyMTM3LCA5ODkzLCAyNzU0LCAxMjY2NCwgCi0gICAgMTIwMDYzLCAwLCA3Mzc3LCAxMjc4NjcsIDQxNzk5LCA2NTUzMCwgMTcxMSwgMTI5ODQsIDQzMDM5LCAzMTE0LCA2MjU1LCAKLSAgICA5ODMzNDAsIDExODkzOCwgMCwgMTA4NTMsIDkyNiwgOTgzMzY5LCA3NDE4NCwgOTgzMzY4LCAxMjAwNTUsIDAsIDQzMTc1LCAKLSAgICAwLCA0MzAzNywgNDE3OTgsIDQxMDM1LCAxMTU4MywgMTI3NzY5LCA0MTgwMSwgMTE5MDg4LCAxMTk2MDUsIDUyMCwgNDIwMCwgCi0gICAgMTI2OTksIDgzMzEsIDAsIDMwOTEsIDQxMDM0LCAxMjczNTMsIDk4MzY4MSwgODM2MCwgMCwgNzgwNDQsIDMyMSwgNDIyOSwgCi0gICAgNjQ1NDMsIDkxNzk0NiwgNjU1NjMsIDAsIDkxNzk3NCwgMjg2MSwgNDM3OTMsIDEwMDk1LCAwLCA5MTk1LCA5MjM4NiwgCi0gICAgMTg2MSwgMCwgNzM3MzMsIDAsIDAsIDQzMDQxLCAwLCA0Mzc5NCwgMTI4NTMwLCAzODU5LCAxMjE4MSwgNDE2NjAsIDgyMDksIAotICAgIDAsIDczODY3LCAxMjk3MywgMCwgNzQ3NTcsIDEyNzUxNCwgNDE2NTgsIDAsIDAsIDU3NjAsIDAsIDc0MywgNDQxNCwgCi0gICAgMTIwNzY2LCAwLCA0MjYzMiwgOTE3OTczLCA2NTE2MSwgNzM4OTYsIDEyODU4OSwgMCwgMTQwNSwgMTE5MDYzLCA0MzIyMCwgCi0gICAgNDMzNDEsIDAsIDE5OTE5LCAwLCA2NDUzMiwgNjUzNjcsIDQzNzEwLCAwLCAwLCAzNTEzLCAwLCAxMTg4ODMsIDQzMzQyLCAKLSAgICAxMTkwNjQsIDY1NTI5LCA2NTM2NCwgMTI4MTk3LCAwLCA2NDg1LCAxMzk3LCAwLCA0MTk4NiwgOTI2NzgsIDAsIDAsIAotICAgIDc0MDk3LCAwLCA3NDcxLCAxMjA3OSwgNjc5OTcsIDEyNjgyLCA0MzI4NywgOTIzMTcsIDAsIDk4MzE0MywgOTgzNzA3LCAwLCAKLSAgICAwLCAxMDk5LCAxMDQ5MCwgMCwgMTA1MDEsIDY1MTgxLCA3NDQ2MywgMCwgNDY0LCA0MTYyNCwgNjUyODMsIDY3NjYzLCAKLSAgICA3ODIyMiwgMTM0NiwgMCwgOTE3NjMxLCA2NDU3MywgNjQ4OTcsIDQyMywgMTgxOCwgNjUxNDQsIDAsIDgyNzIsIDEyNzgxMiwgCi0gICAgMTk5MTEsIDQyMTgsIDMwODcsIDY0OTYwLCAxMjcyMzQsIDQzNTY0LCAwLCAwLCA5NTg0LCAxMDQ2NSwgOTgzOTAyLCAKLSAgICA3NDM1OSwgMTI2MjYsIDkxMDYsIDAsIDQyNjQyLCAxMjAyMzAsIDY0NzUwLCA5MzkwLCAwLCA0MTc5NywgMCwgMCwgMjY1LCAKLSAgICA0MTc5NSwgNjQ2NjYsIDEyNjUwOCwgNDM1MzAsIDI3NTIsIDAsIDAsIDk4MzQ5MywgNTksIDAsIDk4MzU5MywgMCwgOTIzNzEsIAotICAgIDc3ODczLCA0MTgxMCwgMCwgNzAxMCwgMCwgNDE4MDksIDQxNDk1LCAxMTkzNjQsIDAsIDQyMjUyLCA0MjIxMywgODAwOSwgCi0gICAgMzMwNSwgNDMwMzMsIDUxMSwgOTI3MDAsIDY2MjU1LCAxMzEyNywgMTIwMDY3LCAwLCA3NDM5NywgMTIwMjM1LCA5MTc5NzcsIAotICAgIDY1OTE1LCAxNDAwLCA0MTgxMiwgMTA2ODUsIDE5NDg3MCwgMjEwMywgMTAzODcsIDQ0NTMsIDQzMjc2LCA5MTc3ODMsIAotICAgIDEzMTU5LCAwLCA2NDgxLCA0MTIxMywgMCwgMCwgMCwgMCwgNDE5ODMsIDc0MTk4LCA2NjE3LCA5MTE2LCAxMTk2NTQsIDAsIAotICAgIDQ2MiwgNjgxMTAsIDEwNDkzLCAwLCA4MTI5LCAwLCAwLCA3NDQ3MSwgNjY0NCwgMTE2NTgsIDAsIDEyODI0NSwgMzQ1MiwgCi0gICAgMTE5MDYsIDk1ODEsIDEzODUsIDMwOTgsIDAsIDExOTAxMywgNDMzNDAsIDAsIDQxMDMzLCA2NDkzLCA0MjYyNiwgMCwgMCwgCi0gICAgMTE0MjYsIDc3ODg3LCAxNjgxLCAxMTg3ODksIDEyMDQsIDM3NTUsIDY0NjYxLCA3MjM1LCAxMDE3MCwgMzk2NiwgODkxMSwgCi0gICAgMCwgNDE4NDEsIDQzMzM4LCAwLCAwLCA1NzI2LCA2NDkxNSwgNDIxNzUsIDAsIDAsIDQxNDk3LCA2NTA0NCwgMTIwMTA5LCAKLSAgICAyODUxLCA0MzAxNywgOTgzNTg5LCAwLCA0MzczLCA3ODA1OCwgMCwgOTU4NywgMTc4OSwgNjY3MSwgMTI4ODQwLCAzMTAwLCAKLSAgICAwLCA2NTM2MCwgMCwgOTIzNjUsIDkxNzc4OSwgNjQ5MjIsIDAsIDgxOTAsIDEyMDgzLCAwLCAwLCA2NTA2LCA2NDMxMiwgCi0gICAgNzQzNzQsIDIzNjgsIDAsIDQ0MTksIDk4Mzg0NywgMTE5MTI1LCAzNDM5LCAxODI1LCAxMTkyLCAxMjAxMDYsIDg4OTEsIAotICAgIDMwODAsIDEyMDIyOCwgMjM0NywgNTQzMCwgMCwgODk5MCwgMjg0OCwgMCwgMTI4MjIzLCA5MjUyOCwgMjQ5LCAwLCAwLCAwLCAKLSAgICAxMjA2NTgsIDAsIDAsIDg4ODMsIDkxNzgwMiwgNzI4LCA2ODE3OCwgOTk1LCAwLCAwLCA2NDgyNiwgMCwgOTE3Nzk4LCAKLSAgICAxMjgzNDgsIDAsIDE5OTQ1LCA4MDkxLCA1NTgsIDAsIDEyMjczLCAxOTQ4MTQsIDk4Mzg1MCwgMTIxMTIsIDY5OTEyLCAwLCAKLSAgICAwLCA3NDQxOSwgMTIzMzUsIDEyMDEwNCwgOTE3Nzk1LCAzNDQzLCAzMTI5LCAwLCAyMTAyLCA2NTQ0NSwgNzgyNTgsIAotICAgIDY0ODkxLCAwLCA3NzI1LCA2NTEwOCwgNzgyNTUsIDAsIDg2MjQsIDY5MjQ2LCAxMjQ0NiwgNDMyOTUsIDAsIDQxODk0LCAwLCAKLSAgICA2Mjc3LCA0MTY3MiwgNDE4OTMsIDEwMDEwLCAxMjg2NzgsIDM1NDAsIDEyODY0OSwgODM1LCA3MTM0MCwgNjk4MTYsIAotICAgIDExOTg2OCwgNzQ0MDgsIDAsIDczOTU5LCA1NDI2LCA0MjU4LCAwLCAwLCA1NDI0LCAxMjgxMjcsIDgyODMsIDAsIDU0MzQsIAotICAgIDk4MzU5MCwgMCwgMTk5MTcsIDExNDA4LCAwLCAxMTk0NywgMCwgMTQwNCwgMzA5NSwgMTE0MzIsIDEyODMwNywgMzQ2NCwgCi0gICAgNjQ4NiwgNDgxOSwgMTI4MjMzLCAwLCA1NzAsIDgwOTUsIDM2NzIsIDExOTg2NCwgMTQ5OCwgNjc4NjYsIDAsIDEyODUzOSwgCi0gICAgNDMxLCAwLCAwLCAxMjgxODIsIDEyODA5NiwgNjgxNjcsIDk4MzY2MywgMTMwOTYsIDEyODY0MywgMCwgNDM0MDgsIDk1MTYsIAotICAgIDEyODUzOCwgNTI2OCwgNDIyMzAsIDQyMjIwLCAwLCA0NDUwLCAxMjA1MTEsIDExNTQ3LCA0MzQxNywgMTI4NTQyLCAzNTYsIAotICAgIDM0NzcsIDIyNywgMTA0ODgsIDY4MjAzLCAzODIsIDExNDE4LCAwLCAxOTUwNjYsIDAsIDAsIDAsIDAsIDY0ODQsIDI1NDEsIAotICAgIDY2MDM5LCAwLCA3ODcxOCwgOTI3MjMsIDM1NDksIDAsIDkxMTAsIDExOTY2NSwgMjc0MywgMCwgNDMyOTAsIDE5NDgxMiwgCi0gICAgOTA5NywgMCwgNDMwMTUsIDg3ODIsIDAsIDc3NiwgMjUyNCwgNDI3MDcsIDg1NzMsIDAsIDEyNjQ5NCwgMCwgMCwgNDI2OTQsIAotICAgIDY0OTQ0LCA4OTUyLCAzODU2LCAxMTg4MTgsIDAsIDU4NzIsIDY0OTUsIDAsIDAsIDAsIDkyNTQzLCAwLCAxMjA3MzMsIAotICAgIDEyODQ5LCAzOTUzLCAxODk3LCAwLCA2NTA5NCwgMTE5OTQsIDQzMzksIDc0NTU2LCA5MjY1NCwgNjc4NDMsIDAsIDAsIDAsIAotICAgIDY4NDczLCA3NDEwNCwgNTIyOCwgMTI4ODA0LCA3ODY4LCA0MzE4NCwgMCwgMCwgNzM5ODYsIDQzNDM4LCAwLCA0MzAyMiwgMCwgCi0gICAgMTE2MiwgOTE3ODQ3LCAyNjcxLCAwLCAwLCA5MjYzMiwgOTI2MzEsIDExODg2NSwgNDU1MywgNzM4MTEsIDAsIDE5NTAwNSwgCi0gICAgMCwgMCwgMTk5MjEsIDc0MzMxLCAxMTQyNCwgMTk1MDA2LCA0NTY3LCA0MTg5MSwgMCwgOTgzNzg4LCA1NTI0OSwgNDgyMCwgCi0gICAgNjUyMzksIDE5NDY2MiwgMCwgMTk0NjY1LCA0MzA0MiwgMTE5MjEyLCAxMzc3LCAxMjg2OSwgNDg5NywgNDI4MjEsIDkyNTAsIAotICAgIDAsIDQ0MzgsIDY0Mzg1LCAwLCAxNzUzLCAxMTMzMSwgNjE0NywgMTk0OTQxLCA0MzI4MiwgODgzMywgMCwgMCwgNjUwNCwgCi0gICAgNzg0MDgsIDEyNjk3OSwgMTA3MTksIDAsIDE4OTgsIDE0MTMsIDQyNDQzLCAwLCA4MDIsIDEyMTQxLCAwLCAxOTQ2NzEsIAotICAgIDY2NDgsIDEwNjcxLCAyNTI4LCAwLCA2NDc4OSwgOTE2OSwgODM4LCAxMjAwODcsIDEyMDY5NywgODQ0LCA1MDE0LCAwLCAKLSAgICAyNTYsIDAsIDk5OTAsIDAsIDQyNzM5LCA5MTc4NTEsIDc1NDIsIDY1NDY0LCA5NzI2LCAwLCA2NDg5LCAxMDA0OCwgNzQzMjYsIAotICAgIDc4NzE5LCA2NjU3MywgMCwgNzg3MjQsIDc4NzEyLCAxMTc2MSwgMTk0NjU1LCAwLCA0MTA5NCwgMCwgMCwgMTk0ODkzLCAwLCAKLSAgICA5MjY4OSwgNjE5NiwgNjk0NSwgOTM5NjksIDE5NDg5MCwgMTI4MTg0LCAxMjA0OTEsIDExODE2LCAxOTQ5NDMsIDU3MzMsIAotICAgIDI5MzAsIDAsIDAsIDQxMDk4LCAwLCA0MTA5MywgMCwgNjY2MjYsIDU4OCwgOTc2MCwgMCwgMTk0NzE3LCAxMjM4LCAyMDAsIAotICAgIDk4MzIwNywgMTY2MCwgNzM5MTYsIDAsIDExODkwNSwgNzQzNjIsIDAsIDkyNDg1LCAxOTQ2NTEsIDAsIDk4MzcwNiwgMzM5NCwgCi0gICAgMTk0ODk0LCAxMjA2NjgsIDAsIDAsIDEyNzM1OCwgNjYyMTksIDEyNzE4MywgNDMyODQsIDE5NDY1NiwgNzgxNywgMTg0MSwgCi0gICAgMTEwNTUsIDEyMDUzMywgMTk0OTc5LCAxOTQ5ODIsIDE2NjksIDEwNzc2LCAxOTQ5ODEsIDc3MDEsIDE5NDk4MCwgMCwgCi0gICAgMTk0OTk1LCAxNzMyLCA0MDMwLCAwLCAzOTYzLCA2NjYxMSwgMTI3NTMwLCA0MTc2OCwgNjQ5MSwgMCwgNjUzMjQsIDkxNCwgCi0gICAgNjUzMjMsIDgwNzEsIDM1MzgsIDAsIDIyODcsIDY1MzI4LCA5MjQ0MSwgNzQzNjcsIDc2MTQsIDAsIDExODE5LCAwLCAKLSAgICAxMjAwOSwgMTIzOTksIDAsIDY3ODUyLCA2NTUzNywgMCwgMTA4NDEsIDQzNDMwLCA1MzAxLCAwLCA5MjYxOCwgNTczNCwgCi0gICAgODk2MCwgMCwgOTI1MjcsIDY1MzE3LCA3Nzg4MCwgMCwgMCwgMCwgMTIzMDQsIDAsIDAsIDY1MzE1LCA5MjY3MCwgMTI4NTExLCAKLSAgICAwLCAwLCAwLCAxMTk2MjEsIDkyNTI5LCA3NDUzNiwgMTI0NDcsIDY0NDg2LCAxMjczNzQsIDEyNjU2MiwgOTgzMTI5LCAwLCAKLSAgICAwLCA5ODM4MDIsIDQyNzY3LCAxMDkxNSwgMCwgMTIwMDcsIDQzNjk1LCAxMjA1MjAsIDExOTc1LCAxOTQ4NzgsIDAsIAotICAgIDkyNjA0LCAyNTU1LCA4NjI5LCAxMjg2NDAsIDQzMTY4LCA0MTg3MiwgNDM3MDYsIDQ0OTYsIDE5NDg3OSwgMTI4MTQ4LCAKLSAgICAxMjAyNDEsIDAsIDAsIDAsIDAsIDY0NzMwLCA3MDA0MSwgNjY3MTQsIDY4MjIyLCAwLCA3MDA3NiwgNjU1OTYsIDkyMzA2LCAKLSAgICAxMTQxNiwgNDI4MCwgNjc2NTUsIDg3NjUsIDEyNzg0LCA3NzkyLCAxMzkzLCAxMjY0NzMsIDY3ODcxLCA3NDM4NiwgMCwgCi0gICAgODIzMywgMTI4MjAsIDAsIDY2ODMsIDE5NDg3NiwgMzQ0MiwgMTIxNDQsIDI4NDEsIDEyNTQzLCAwLCAxNDczLCA0MjgyMCwgCi0gICAgNjQzMjksIDEyNzgzMiwgMCwgNjg2NDIsIDY0ODgsIDM1NywgMTA0OCwgNDExMDAsIDAsIDQxMTA0LCA5NDAwMywgMzQwNiwgCi0gICAgMTA1NCwgNzEzMjAsIDEwNDAsIDY1NDUwLCAwLCA0NDM0LCAxMDY5LCAwLCAxMTg4NjIsIDY1NzM3LCA5MTc3NjUsIAotICAgIDEyODcwNSwgMCwgOTgzNjkzLCA5NjkzLCA0MTk0MywgMTI2NTY0LCA0MTkzMSwgNDE3NTksIDEyNzU3LCA0MzUzLCAwLCAKLSAgICAxMDU5LCA5NzkwLCA4OTk1LCAxMTk5NzQsIDk4MzY5NiwgNjU5MzcsIDAsIDQxNzY0LCAxMDY0NiwgMCwgMTE4ODMzLCAKLSAgICA5MjM3MiwgMCwgNzQ4MzAsIDc4NTY5LCAxMjc0MywgOTgzNjg5LCA2NDgwLCA5MTc3NjEsIDQxNzc5LCA0MjU4MCwgNjY2MDEsIAotICAgIDEyMjA3LCAxMTk2MTksIDYzMzUsIDY2NjAyLCAxMTMxMiwgNjQ4MDcsIDAsIDAsIDQxNzY3LCAxMTk2MjksIDk4Mzc2NCwgCi0gICAgNDMwMjAsIDEyODI3MSwgMzk1NSwgNzQyNTQsIDAsIDk4Mzc1NCwgOTE3ODYxLCAwLCA3NzkyNiwgOTc3MCwgOTI0NiwgCi0gICAgMTIyMzAsIDAsIDAsIDAsIDEwNDQ4LCA0MTc4MywgNDE3ODYsIDEyNzA5MywgMTI3OTcsIDI3NTUsIDY0NTcxLCA3ODU3OCwgCi0gICAgMTk0OTI3LCA0ODU3LCAwLCA0NDI4LCAxMjc5NCwgNzM3NTUsIDEyODA2MSwgNzg1NzQsIDAsIDc0Mjg0LCAwLCA1NzQ3LCAKLSAgICA3ODgyNSwgMCwgNzk3OCwgNDEwOTIsIDc0NTcxLCAwLCAxMTkyNCwgNDM4MTIsIDQyMTQ0LCA2NTAxNSwgMCwgNTYzLCAwLCAKLSAgICA5ODM2OTEsIDEyNzk4LCAxMTI3MSwgNTcsIDAsIDAsIDkxNzg2MCwgMTE5MDQzLCAwLCA5NDA1MSwgNDMxMzcsIDY5NCwgMCwgCi0gICAgOTg3NiwgMCwgMTE5MTY4LCAwLCA3ODgyMiwgNjQ1MzcsIDAsIDI3NywgNzQzODUsIDcyMjksIDEyNzYxLCAwLCAwLCAKLSAgICAxMzAyNSwgNjQ4MTEsIDg3NTcsIDc4ODI0LCAxMjY0NzgsIDE1NzQsIDczODEsIDAsIDI1MjUsIDQ4NTIsIDU3NDksIAotICAgIDY4NDY1LCAxMzAyNywgNDI4MjQsIDEyMDU3NCwgMTAzOSwgNzE1MSwgMTAxNTUsIDU3NDUsIDE4OCwgNDE4NTgsIDExNTkyLCAKLSAgICAwLCA3NDAxNSwgOTA1NSwgNDE4NTMsIDQ4NTgsIDkxNzc4MCwgMCwgNDM2LCA0NzcxLCAwLCAyNzg2LCAwLCA0ODU2LCAKLSAgICA4MDUxLCAwLCAxMTk2MDksIDcxMzI3LCA5NjQ0LCAwLCAwLCAwLCAxOTQ5MTYsIDEyMDczMiwgNjY3MTAsIDExODgzNCwgCi0gICAgOTgzMzU5LCA3MzkwNiwgMTI4NjgwLCAxMjcxMTQsIDAsIDEwMjM0LCA1ODQzLCAxMTkzOSwgMCwgNDIxNTcsIDAsIDMxNTcsIAotICAgIDE5NDkxOCwgNjgzOTMsIDAsIDM1MDQsIDExOTE3OCwgMCwgMTA4MjIsIDUxNDksIDY2MDI5LCAxMDIyNiwgNjUxNDIsIAotICAgIDEyODAyNSwgMzU5NCwgNDI0MjQsIDE5NDk1OSwgNDAsIDEyNjU3LCA5ODM2NjUsIDAsIDM4NiwgMCwgODgzNCwgMCwgCi0gICAgMTI4MTUsIDQzNTc0LCAwLCA3MzkwNywgMCwgNzQxOTYsIDcyMjAsIDc0NTA0LCAwLCA3NDMxNiwgMCwgNjUzMjIsIDQzMDQsIAotICAgIDc0NTAzLCA4MTYwLCA3ODcwNywgMTk0NzUzLCAwLCAwLCAxMjg1MjYsIDEzNDgsIDkyMzQ5LCA3ODU5NywgMTI2NTM5LCAKLSAgICAxMzMwMywgMCwgOTIzOTIsIDE5NDc1NSwgNzU5OSwgMTI3OCwgNDM2MTYsIDEzMjY5LCAwLCAwLCA3NDM4NywgNzgxNzksIAotICAgIDc4NTk4LCA3NDQ5MiwgNjA5NywgNzU2OCwgODc4MCwgNDk4MiwgMTI3NDY0LCA3NDUwMSwgMTk0NzYzLCA3ODU5MiwgCi0gICAgMTk0NzYyLCAyNjcyLCAzNzM1LCAxMjc0NzAsIDEzMTM4LCA0MjI2NiwgOTQ4NCwgMTA3MjQsIDQxMjAyLCA3MTM2NCwgMCwgCi0gICAgNDM3NDIsIDAsIDk0ODcsIDExOTk1OSwgMTE5MTE3LCAzODQyLCAxMjg3NjgsIDc4NjY4LCAxMjQ0MiwgNjE5MywgOTc5MSwgCi0gICAgMTI3OTc2LCAwLCA0MjUxNiwgNzIyOCwgNzU1OSwgNzQ4MDMsIDc4NDY4LCA3ODczLCAxMTM5OSwgMTE5MjE5LCAxOTQ2OTEsIAotICAgIDE5NDg1NSwgMTk0NjkwLCAxOTQ4NTcsIDM2MDQsIDEyMDY4MywgMTE5MTg4LCAxMjg4NzcsIDc4NTQwLCA3ODU0MSwgCi0gICAgNDI1MDcsIDE5NjIsIDQzMzA1LCA3ODQ3NiwgNDI1MDUsIDExNjYwLCAwLCAyMDcyLCA5MjMxMiwgNjk5NSwgNzQxNzMsIAotICAgIDU0MzcsIDc0MTc0LCAxMDY2OSwgODcwMiwgNzk2NCwgOTIzNTIsIDAsIDE5OSwgMTk0ODQzLCA0MTA1LCAxOTQ4NDUsIAotICAgIDE5NDY5OSwgMTk0ODQ3LCAxOTQ3MTAsIDExOTg3NSwgMTMxNDgsIDc1NjAsIDc4NDc5LCA5MjI2LCA3ODQ4MCwgMTk1MDcwLCAKLSAgICA2NDcyLCA2NTgxNCwgNzM5NTQsIDAsIDQ3MjQsIDAsIDAsIDkxOTEsIDAsIDY0NDMyLCA5ODM4MTcsIDk4MzI0NywgCi0gICAgMTk1MDI0LCAxMDE5NiwgNzg4NiwgMCwgNjU4NSwgMCwgNjY4MCwgMTk1MDQyLCAwLCAxOTUwNTEsIDY2NzksIDc0NDEyLCAKLSAgICA5MjI1MSwgMTk0ODY2LCA3NDQyMSwgMTEzODIsIDk4MzYzMSwgOTgzNjM3LCAxMjc4OTEsIDEyNzQ4NCwgMTk0ODMzLCAKKyAgICA3MTE4NiwgMjAyMSwgMTE5MzMyLCA0Mzg3NywgMTE5MTUwLCA0MzAyOCwgNjU0OTMsIDQxODM4LCAzODc1LCA1OTYyLCAKKyAgICA2NDM0MSwgOTI2MTYsIDk4MTQsIDQzNDU3LCA1ODI3LCAzMzE0LCA3Nzg3LCA3MTE4OSwgNjU0OTQsIDY4MTUzLCAxMjY5OTEsIAorICAgIDE5NDY5NywgMTIwNjM2LCA2NDUzMSwgMTIwNjkyLCAxOTQ2MjYsIDAsIDAsIDY2MzE2LCA2NTQ2NywgNTc3MSwgNDEyOTgsIAorICAgIDk4Mzc5NCwgOTc0MiwgNTIxLCAwLCAxMDgwMCwgOTIyMjIsIDg0MDQsIDE5NDYyNSwgNDgzLCA3MDk2LCA3MDg5LCA2NjMyMywgCisgICAgOTI4LCAwLCAwLCAxMTkwMTgsIDEwNTk5LCAxMTU4NiwgMzk4OSwgMTA5NzEsIDQzNzQ4LCA2NTc4MiwgOTg0MSwgODg0MywgCisgICAgMTIxNDUsIDY3MjYxLCAxMDA3NCwgNzg1NDgsIDkzOTk5LCAzNzY5LCAwLCAwLCAxMjg3MDMsIDk4MzEwNywgOTU3MywgMCwgCisgICAgNjUyOTAsIDg4NDksIDExOTI1NCwgNjU4NTUsIDY1MTEyLCAxNzk2LCA3MTA0NiwgMCwgNjk2NjUsIDgxNjQsIDQxMzAxLCAKKyAgICAzNTAyLCAwLCA3Mzg4LCAxMDYyMSwgNzM4MzgsIDc4NTUzLCA1ODI1LCAxMzAwNywgNjgxNjUsIDkyMjAzLCAxMjA0NTYsIAorICAgIDEyNjYxLCA3NjA4LCAxMDM1NCwgMTA0MTgsIDQyNDExLCAyMDIyLCAwLCAxNDA5LCAxMjE5NSwgNDAwMSwgMzExMiwgCisgICAgMTA4MjQsIDEyMDYzOSwgMTM5MCwgNzAxODQsIDAsIDQyMSwgNDM1MzYsIDU4NDYsIDEyMDEyMCwgNDEzMCwgMTI3Nzc1LCAKKyAgICA3NTk1LCA0MjU4OCwgNzYwMCwgNzQ0MDAsIDY2MDM1LCAxOTUwOTEsIDAsIDY1ODUxLCA0MjYwNywgMTI4MTkwLCA5MjQwMywgCisgICAgMzE2OCwgNjc3MzMsIDQyMTM0LCAxMTgzMSwgMjM3MCwgMjg0NiwgOTI2MDUsIDEyODE4MywgMCwgMTIwMTMyLCAwLCAxODM2LCAKKyAgICAwLCAwLCA5MjU1OCwgMzc0MCwgNjk4NDMsIDYyOTAsIDY1Mzc0LCAxMjA0NTEsIDIzOTAsIDM5NDQsIDY2NjI4LCAxMjA0MzQsIAorICAgIDAsIDYxMzUsIDMxMTgsIDc0MjY1LCAxMTkwOTMsIDExMzY5MCwgNzc5NzUsIDAsIDgxMjcsIDg5NzUsIDY0NzM5LCA3OTQzLCAKKyAgICAxMjQ5NjgsIDExOTIzNCwgMTA2MTgsIDI1ODQsIDAsIDAsIDEyODIyNSwgOTk5OCwgMTIwNTczLCAwLCAwLCAxMjc3NTAsIAorICAgIDQzNTA4LCA2MjA0LCAxMjcwNDQsIDAsIDgyNzksIDg3NzYsIDY0OTU0LCA0OTc1LCA3MDA3NSwgMTIwMTMwLCA0MjY3LCAKKyAgICAxNjMxLCA0MjIwNiwgNzc5ODMsIDEyODAxNSwgMTk1MDQ2LCA2NTcwMCwgNjYzODYsIDAsIDY0NjQ1LCAwLCA5Mjg4NywgCisgICAgMTI2NTg4LCAxMjU4NiwgMCwgOTI0MiwgMTIwMTAwLCAwLCA0NTIzLCA1ODQyLCAxMDQ5NSwgMzEyMiwgOTgzNzk3LCA3NzkzLCAKKyAgICA3ODI3NSwgOTMyOCwgMTE5MTA0LCA3ODM5MywgMTI2MDQsIDkyODg1LCA2NjE1LCAyMjg1LCA5MjM0NCwgMzk4NiwgNDQwMjUsIAorICAgIDAsIDg5MTIsIDY0NTU1LCA3NDA5LCA5MjI0NywgOTgzMzU4LCA5NTQxLCA3ODI3NiwgMTEzNjY5LCAxMTI3NSwgODU0MCwgCisgICAgMTE0OTgsIDAsIDk4MzM1NywgNDEwNDAsIDI0NTksIDEyODYyOSwgMTMwNjAsIDQxMDQxLCA3NDQxMywgOTgzMTM4LCAwLCAKKyAgICA3NzkzMSwgNjg0MjcsIDEwNDUwLCAxMjU1MSwgNDEwNDMsIDcwMjAsIDEyMDM1MywgMzc2NSwgOTI4ODEsIDAsIDE2MDYsIAorICAgIDEyMDM0OCwgOTIyOTksIDMwOTMsIDY4NDM2LCAxMjgwNDAsIDk4MzA2MSwgMTE5NjEzLCAwLCAwLCA0MzEyLCA3NDA5MSwgCisgICAgMTIwMzM3LCAxMjAzMzYsIDExOTIzLCA0MDIzLCAxMjAzMzMsIDU3NjMsIDk0MDE1LCA0ODI3LCAxMDg5NCwgMTI4MTAsIAorICAgIDY0NDA2LCAxMTg3ODUsIDQ0NTUsIDc0MzIxLCA0MzMsIDExOTYyMCwgNjY2NjAsIDI0OTksIDY3MTY3LCA2NzE2NiwgCisgICAgMTE4ODM3LCAxMTk3MywgMTMwODksIDQyOTMsIDEyMDMyOSwgNDIyMjQsIDQyNzU4LCAxMjE5NiwgNDI4MzcsIDQyMjI2LCAKKyAgICAxMTkzMTksIDAsIDExOTEyNiwgNTgxNywgMTI3ODA2LCA1NTI3NywgMzEyMCwgOTc5NywgMCwgMCwgMTEwODYsIDEwMzg5LCAKKyAgICAxMjY0ODUsIDAsIDQ4OTUsIDY1MzU4LCAxMjQ5NDEsIDQzNTksIDU4NSwgMjM4MywgMzUwOSwgNzAwMzcsIDQ4NiwgNDI5MCwgCisgICAgNTc1OCwgMTI3NTQ2LCAwLCAwLCA3MDA0LCAxMTM2NjcsIDY1ODgwLCAxMjY1MTQsIDExOTA0OCwgMjM4MCwgMTEzODAsIDAsIAorICAgIDkzOTk2LCAyMzc2LCA3ODg0MSwgMTE5MzIwLCAwLCA1MTk3LCA3MDgzOSwgMTI3MDQ3LCAxMjcwNDgsIDIzNjYsIDEyNzA1MCwgCisgICAgMTI3MDUxLCA3MDgzNywgMTIwMDQ1LCAwLCAxMjg1NTQsIDAsIDk4MzA4NCwgMCwgMCwgMCwgNzQxODgsIDcxMzQyLCAKKyAgICA3ODQ1NSwgOTgzNTczLCAxMjAwNDcsIDEyODU3NSwgMTIwMDQ2LCAxMjc1NDIsIDEyMDA0OSwgMCwgMTg0NywgMCwgMTAzMzksIAorICAgIDk4MzM2NSwgNDIzODQsIDAsIDQyMjcsIDc0MTU4LCAwLCA3NDQ5OCwgNDMwMzIsIDEyNTAxMCwgNDIzNjUsIDAsIDEyNjcxLCAKKyAgICAxMTM4NCwgMTIwMDU5LCA3NDI2NCwgMTIwMDU4LCA2NDc5NywgOTgzMzQ1LCA1ODIwLCA5ODMzNDQsIDEyMDA1MiwgCisgICAgMTIwMDY1LCAxMjg4MjUsIDEyMDA2NCwgMTIwMDUzLCA0MjEzNywgOTg5MywgMjc1NCwgMTI2NjQsIDEyMDA2MywgMTI4OTAwLCAKKyAgICA3Mzc3LCAxMjc4NjcsIDQxNzk5LCA2NTUzMCwgMTcxMSwgMTI5ODQsIDQzMDM5LCAzMTE0LCA2MjU1LCA5ODMzNDAsIAorICAgIDY4NjYwLCAwLCAxMDg1MywgOTI2LCA5ODMzNjksIDc0MTg0LCA5ODMzNjgsIDEyMDA1NSwgMTk0OTkzLCA0MzE3NSwgMCwgCisgICAgNDMwMzcsIDQxNzk4LCA0MTAzNSwgMTE1ODMsIDEyNzc2OSwgNDE4MDEsIDExOTA4OCwgMTE5NjA1LCA1MjAsIDQyMDAsIAorICAgIDEyNjk5LCA4MzMxLCAwLCAzMDkxLCA0MTAzNCwgNjYyOTgsIDk4MzY4MSwgODM2MCwgOTgzNDQzLCA3ODA0NCwgMzIxLCAKKyAgICA0MjI5LCA2NDU0MywgMTI4NDcwLCA2NTU2MywgMCwgOTE3OTc0LCAyODYxLCA0Mzc5MywgMTAwOTUsIDE5NDczNSwgOTE5NSwgCisgICAgOTIzODYsIDE4NjEsIDAsIDczNzMzLCAwLCAwLCA0MzA0MSwgMCwgNDM3OTQsIDEyODUzMCwgMzg1OSwgMTIxODEsIDQxNjYwLCAKKyAgICA4MjA5LCA3MDc5MywgNzM4NjcsIDEyOTczLCAwLCA3NDc1NywgMTI3NTE0LCA0MTY1OCwgMCwgMCwgNTc2MCwgMTEzNjk5LCAKKyAgICA3NDMsIDQ0MTQsIDEyMDc2NiwgMCwgNDI2MzIsIDkxNzk3MywgNjUxNjEsIDczODk2LCAxMjg1ODksIDAsIDE0MDUsIAorICAgIDExOTA2MywgNDMyMjAsIDQzMzQxLCAwLCAxOTkxOSwgMCwgNjQ1MzIsIDY1MzY3LCA0MzcxMCwgMTExOTksIDE5NDkwNywgCisgICAgMzUxMywgMTI4ODU0LCA3MDM0MSwgNDMzNDIsIDExOTA2NCwgNjU1MjksIDY1MzY0LCAxMjgxOTcsIDAsIDY0ODUsIDEzOTcsIAorICAgIDAsIDQxOTg2LCA5MjY3OCwgMCwgMTk0Nzg0LCA3NDA5NywgMCwgNzQ3MSwgMTIwNzksIDY3OTk3LCA2ODQzLCA0MzI4NywgCisgICAgOTIzMTcsIDAsIDY3NDA2LCA5ODM3MDcsIDAsIDcxOTE0LCAxMDk5LCAxMDQ5MCwgMCwgMTA1MDEsIDY1MTgxLCA3NDQ2MywgCisgICAgMTI4OTUyLCA0NjQsIDQxNjI0LCA2NTI4MywgNjc2NjMsIDc4MjIyLCAxMzQ2LCAwLCA2NTY3OSwgNjQ1NzMsIDY0ODk3LCAKKyAgICA0MjMsIDE4MTgsIDY1MTQ0LCAxMTM3NDgsIDgyNzIsIDEyNzgxMiwgMTk5MTEsIDQyMTgsIDMwODcsIDY0OTYwLCAxMjcyMzQsIAorICAgIDQzNTY0LCAwLCAwLCA5NTg0LCAxMDQ2NSwgOTgzOTAyLCA3NDM1OSwgMTI2MjYsIDkxMDYsIDAsIDQyNjQyLCA3MTIzNSwgCisgICAgNjQ3NTAsIDkzOTAsIDAsIDQxNzk3LCAwLCAwLCAyNjUsIDQxNzk1LCA2NDY2NiwgNzQ2MjgsIDQzNTMwLCAyNzUyLCAKKyAgICAxMjczNjUsIDEyODQ1OSwgOTgzNDkzLCA1OSwgOTgzNjcxLCA5ODM1OTMsIDExMTQ5LCA3ODA3NCwgNzc4NzMsIDQxODEwLCAKKyAgICAwLCA3MDEwLCAwLCA0MTgwOSwgNDE0OTUsIDExOTM2NCwgNTg3NywgNDIyNTIsIDQyMjEzLCA4MDA5LCAzMzA1LCA0MzAzMywgCisgICAgNTExLCA5MjcwMCwgNDM4NDgsIDEzMTI3LCAxMjAwNjcsIDk4Mzk0NiwgNzQzOTcsIDEyMDIzNSwgOTE3OTc3LCA2NTkxNSwgCisgICAgMTQwMCwgNDE4MTIsIDEwNjg1LCAxOTQ4NzAsIDIxMDMsIDEwMzg3LCA0NDUzLCA0MzI3NiwgOTE3NzgzLCAxMTE2OSwgMCwgCisgICAgNjQ4MSwgNDEyMTMsIDAsIDAsIDEyOTEzMywgMTI5MDUwLCA0MTk4MywgNzQxOTgsIDY2MTcsIDkxMTYsIDExOTY1NCwgCisgICAgOTI5OTUsIDQ2MiwgNjgxMTAsIDEwNDkzLCA5MTc5NzYsIDgxMjksIDkyOTk0LCAxMjgzNjUsIDc0NDcxLCA2NjQ0LCAKKyAgICAxMTY1OCwgMCwgMTI4MjQ1LCAzNDUyLCAxMTkwNiwgOTU4MSwgMTM4NSwgMzA5OCwgMCwgMTE5MDEzLCA0MzM0MCwgMTExMjMsIAorICAgIDQxMDMzLCA2NDkzLCA0MjYyNiwgMCwgMTI5MDUxLCAxMTQyNiwgNzc4ODcsIDE2ODEsIDExODc4OSwgMTIwNCwgMzc1NSwgCisgICAgNjQ2NjEsIDcyMzUsIDEwMTcwLCAzOTY2LCA4OTExLCAwLCA0MTg0MSwgNDMzMzgsIDAsIDAsIDU3MjYsIDY0OTE1LCAKKyAgICA0MjE3NSwgOTgzOTEzLCAwLCA0MTQ5NywgNjUwNDQsIDEyMDEwOSwgMjg1MSwgNDMwMTcsIDk4MzU4OSwgMCwgNDM3MywgCisgICAgNzgwNTgsIDAsIDk1ODcsIDE3ODksIDY2NzEsIDEyODg0MCwgMzEwMCwgMCwgNjUzNjAsIDAsIDkyMzY1LCA5MTc3ODksIAorICAgIDY0OTIyLCAwLCA4MTkwLCAxMjA4MywgMCwgOTgzOTMwLCA2NTA2LCA2NDMxMiwgNzQzNzQsIDIzNjgsIDAsIDQ0MTksIAorICAgIDk4Mzg0NywgMTE5MTI1LCAzNDM5LCAxODI1LCAxMTkyLCAxMjAxMDYsIDg4OTEsIDMwODAsIDEyMDIyOCwgMjM0NywgNTQzMCwgCisgICAgMCwgODk5MCwgMjg0OCwgOTI5ODEsIDEyODIyMywgNzM5NDIsIDI0OSwgMCwgMCwgMCwgMTIwNjU4LCAxMTkzMjQsIAorICAgIDEyODcxMiwgODg4MywgMTE5ODYwLCA3MjgsIDExMTczLCA5OTUsIDAsIDAsIDY0ODI2LCAxMjQ5MzEsIDkxNzc5OCwgCisgICAgMTI4MzQ4LCAwLCAxOTk0NSwgODA5MSwgNTU4LCAwLCAxMjI3MywgMTk0ODE0LCA2NzcxNCwgMTIxMTIsIDY3MjcyLCAKKyAgICA2NzI2NSwgNjcyNzMsIDY3Mjc0LCAxMjMzNSwgMTIwMTA0LCA2ODAxOSwgMzQ0MywgMzEyOSwgNjcyNjcsIDIxMDIsIAorICAgIDY1NDQ1LCA3ODI1OCwgNjQ4OTEsIDAsIDc3MjUsIDY1MTA4LCAxMTEyMCwgOTIwNSwgODYyNCwgNjkyNDYsIDEyNDQ2LCAKKyAgICA0MzI5NSwgMTI4NTE5LCA0MTg5NCwgMCwgNjI3NywgNDE2NzIsIDQxODkzLCAxMDAxMCwgMTI3MzgxLCAzNTQwLCAxMjg2NDksIAorICAgIDgzNSwgNzEzNDAsIDY5ODE2LCAxMTk4NTQsIDc0NDA4LCAwLCA2NzEwOCwgNTQyNiwgNDI1OCwgOTgzMjMxLCAwLCA1NDI0LCAKKyAgICAxMjgxMjcsIDgyODMsIDEyNzk3OCwgNTQzNCwgMTI1MDA0LCAwLCAxOTkxNywgMTE0MDgsIDAsIDExOTQ3LCAxMjgzMzAsIAorICAgIDE0MDQsIDMwOTUsIDExNDMyLCAxMjgzMDcsIDM0NjQsIDY0ODYsIDQ4MTksIDEyODIzMywgMCwgNTcwLCA4MDk1LCAzNjcyLCAKKyAgICAxMTk4NjQsIDE0OTgsIDY3ODY2LCAwLCAxMjg1MzksIDQzMSwgMTI1MDYyLCAwLCAxMjgxODIsIDEyODA5NiwgNjgxNjcsIAorICAgIDk4MzY2MywgMTMwOTYsIDEyODY0MywgMCwgNDM0MDgsIDk1MTYsIDEyODUzOCwgNTI2OCwgNDIyMzAsIDQyMjIwLCAwLCAKKyAgICA0NDUwLCAxMjA1MTEsIDExNTQ3LCA0MzQxNywgMTI4NTQyLCAzNTYsIDM0NzcsIDIyNywgMTA0ODgsIDY4MjAzLCAzODIsIAorICAgIDExNDE4LCAwLCA1ODc4LCAwLCAwLCAwLCAwLCA2NDg0LCAyNTQxLCA2NjAzOSwgMTEzNzc3LCA3ODcxOCwgOTI3MjMsIAorICAgIDM1NDksIDE5NTA2NywgOTExMCwgMTE5NjY1LCAyNzQzLCAwLCA0MzI5MCwgMTI4NTg1LCA5MDk3LCAwLCA0MzAxNSwgODc4MiwgCisgICAgMCwgNzc2LCAyNTI0LCA0MjcwNywgODU3MywgMCwgMTI2NDk0LCAwLCA3MTEwMiwgNDI2OTQsIDY0OTQ0LCA4OTUyLCAzODU2LCAKKyAgICAxMTg4MTgsIDEyNTExMSwgNTg3MiwgNjQ5NSwgMTI5MTI1LCAwLCAwLCA5MjU0MywgNjcxNzMsIDY3MTcyLCAxMjg0OSwgCisgICAgMzk1MywgMTg5NywgOTMwNzEsIDY1MDk0LCAxMTk5NCwgNDMzOSwgNzQ1NTYsIDkyNjU0LCA2Nzg0MywgMCwgMCwgMTE5MDg3LCAKKyAgICA2ODQ3MywgNzQxMDQsIDUyMjgsIDExOTgzNSwgNzg2OCwgNDMxODQsIDAsIDAsIDczOTg2LCA0MzQzOCwgMCwgNDMwMjIsIAorICAgIDkxNzU1MywgMTE2MiwgOTE3ODQ3LCAyNjcxLCAxMjg1NjcsIDAsIDkyNjMyLCA5MjYzMSwgMTE4ODY1LCA0NTUzLCA3MzgxMSwgCisgICAgMCwgMTk1MDA1LCAxMTg5MjgsIDAsIDE5OTIxLCA3NDMzMSwgMTE0MjQsIDE5NTAwNiwgNDU2NywgNDE4OTEsIDAsIAorICAgIDk4Mzc4OCwgNTUyNDksIDQ4MjAsIDY1MjM5LCAxOTQ2NjIsIDAsIDE5NDY2NSwgNDMwNDIsIDExOTIxMiwgMTM3NywgCisgICAgMTI4NjksIDQ4OTcsIDQyODIxLCA5MjUwLCA5MTc1NTgsIDQ0MzgsIDY0Mzg1LCAwLCAxNzUzLCAxMTMzMSwgNjE0NywgCisgICAgMTk0OTQxLCA0MzI4MiwgODgzMywgNjk5OTgsIDAsIDY1MDQsIDc4NDA4LCAxMjY5NzksIDEwNzE5LCAxMjg0NjksIDE4OTgsIAorICAgIDE0MTMsIDQyNDQzLCAwLCA4MDIsIDEyMTQxLCAwLCAxOTQ2NzEsIDY2NDgsIDEwNjcxLCAyNTI4LCAwLCA2NDc4OSwgOTE2OSwgCisgICAgODM4LCA3MDM3MiwgMTIwNjk3LCA4NDQsIDUwMTQsIDY2Mjk3LCAyNTYsIDAsIDk5OTAsIDAsIDQyNzM5LCA5MTc4NTEsIAorICAgIDc1NDIsIDY1NDY0LCA5NzI2LCAwLCA2NDg5LCAxMDA0OCwgNzQzMjYsIDc4NzE5LCA2NjU3MywgMCwgNzg3MjQsIDc4NzEyLCAKKyAgICAxMTc2MSwgMTk0NjU1LCAxMTg4NzQsIDQxMDk0LCAwLCAxMjkxNzIsIDE5NDg5MywgNzg0MDMsIDkyNjg5LCA2MTk2LCAKKyAgICA2OTQ1LCA5Mzk2OSwgMTI3OTkwLCA2NzA5NSwgMTIwNDkxLCAxMTgxNiwgMTI2NTY3LCA1NzMzLCAyOTMwLCA3ODQwNiwgMCwgCisgICAgNDEwOTgsIDkyNzcxLCA0MTA5MywgMCwgNjY2MjYsIDU4OCwgOTc2MCwgMTI5MTEyLCAxOTQ3MTcsIDEyMzgsIDIwMCwgCisgICAgOTgzMjA3LCAxNjYwLCA3MzkxNiwgMCwgNjcxNDEsIDc0MzYyLCAwLCA5MjQ4NSwgMTI0OTMwLCAwLCA5ODM3MDYsIDMzOTQsIAorICAgIDE5NDg5NCwgMTIwNjY4LCAwLCA2OTk5NiwgMTI3MzU4LCA2NjIxOSwgNzI0MjUsIDQzMjg0LCAxMjcyMzYsIDc4MTcsIAorICAgIDE4NDEsIDExMDU1LCA2NjgzNSwgMTk0OTc5LCA3NDYwNywgMTY2OSwgMTA3NzYsIDc0NTM0LCA3NzAxLCAxOTQ5ODAsIDAsIAorICAgIDE5NDk5NSwgMTczMiwgNDAzMCwgMCwgMzk2MywgNjY2MTEsIDEyNzUzMCwgNDE3NjgsIDY0OTEsIDEyNzUxOCwgNjUzMjQsIAorICAgIDkxNCwgNjUzMjMsIDgwNzEsIDM1MzgsIDAsIDIyODcsIDY1MzI4LCA5MjQ0MSwgNzQzNjcsIDc2MTQsIDAsIDExODE5LCAKKyAgICA3MTkwOCwgMTIwMDksIDEyMzk5LCAwLCA2Nzg1MiwgNjU1MzcsIDAsIDEwODQxLCA0MzQzMCwgNTMwMSwgMCwgOTI2MTgsIAorICAgIDU3MzQsIDg5NjAsIDAsIDcwMTIzLCA2NTMxNywgNzc4ODAsIDAsIDU4NzYsIDcwMzc0LCAxMjMwNCwgMCwgMCwgNjUzMTUsIAorICAgIDkyNjcwLCAxMjg1MTEsIDcxODYyLCAwLCAwLCAxMTk2MjEsIDExMTE0LCA3MTkwOSwgMTI0NDcsIDY0NDg2LCAxMjczNzQsIAorICAgIDEyNjU2MiwgOTgzMTI5LCAwLCAwLCA5ODM4MDIsIDQyNzY3LCAxMDkxNSwgMCwgMTIwMDcsIDQzNjk1LCAxMjA1MjAsIAorICAgIDExOTc1LCAxOTQ4NzgsIDAsIDkyNjA0LCAyNTU1LCA4NjI5LCAxMjg2NDAsIDQxMTMzLCA0MTg3MiwgNDM3MDYsIDQ0OTYsIAorICAgIDE5NDg3OSwgMTI4MDY1LCAxMjAyNDEsIDAsIDAsIDAsIDk4MzU1MywgNjQ3MzAsIDcwMDQxLCA2NjcxNCwgNjgyMjIsIDAsIAorICAgIDcwMDc2LCA2NTU5NiwgOTIzMDYsIDExNDE2LCA0MjgwLCA2NzY1NSwgODc2NSwgMTI3ODQsIDc3OTIsIDEzOTMsIDc4MTkxLCAKKyAgICAxMTE1NywgNzQzODYsIDAsIDgyMzMsIDEyODIwLCAwLCA2NjgzLCAxOTQ4NzYsIDM0NDIsIDEyMTQ0LCAyODQxLCAxMjU0MywgCisgICAgMCwgMTQ3MywgNDI4MjAsIDY0MzI5LCAxMjc4MzIsIDAsIDY4NjQyLCA2NDg4LCAzNTcsIDEwNDgsIDQxMTAwLCA3MjQxNywgCisgICAgNDExMDQsIDk0MDAzLCAzNDA2LCAxMDU0LCA3MTMyMCwgMTA0MCwgNjU0NTAsIDk4MzM4MywgNDQzNCwgMTA2OSwgMCwgCisgICAgMTE4ODYyLCA2NTczNywgMTk0NjM0LCAxMjg3MDUsIDAsIDEyNDk1NSwgOTY5MywgNDE5NDMsIDY4MzA1LCA0MTkzMSwgCisgICAgNDE3NTksIDEyNzU3LCA0MzUzLCA5ODMzNTEsIDEwNTksIDk3OTAsIDg5OTUsIDExOTk3NCwgOTE3NzcwLCA2NTkzNywgCisgICAgNzg1NzIsIDQxNzU4LCAxMDY0NiwgMCwgMTE4ODMzLCA5MjM3MiwgNzA0MjQsIDc0ODMwLCA3ODU2OSwgMTI3NDMsIAorICAgIDk4MzY4OSwgNjQ4MCwgOTE3NzYxLCA0MTc3OSwgNDI1ODAsIDY2NjAxLCAxMjIwNywgNzc4OTUsIDYzMzUsIDY2NjAyLCAKKyAgICAxMTMxMiwgNjQ4MDcsIDkyOTYyLCA2OTk4OSwgNDE3NjcsIDExOTYyOSwgOTgzNzY0LCA0MzAyMCwgMTI4MjcxLCAzOTU1LCAKKyAgICA3NDI1NCwgMTIwNjMyLCA5ODM3NTQsIDkxNzg2MSwgNzAxODcsIDY5OTc1LCA5NzcwLCA5MjQ2LCAxMjIzMCwgMTI1MDQ3LCAKKyAgICAwLCA3ODU4MCwgMTA0NDgsIDQxNzgzLCA0MTc4NiwgMTI3MDkzLCAxMjc5NywgMjc1NSwgNjQ1NzEsIDc4NTc4LCAxOTQ5MjcsIAorICAgIDQ4NTcsIDk4MzU3NywgNDQyOCwgMTI3OTQsIDczNzU1LCAxMjgwNjEsIDc4NTc0LCAwLCAxMTExNiwgNDM4NDIsIDU3NDcsIAorICAgIDc4ODI1LCA3MDQ3MSwgNzk3OCwgNDEwOTIsIDc0NTcxLCAwLCAxMTkyNCwgNDM4MTIsIDQyMTQ0LCA2NTAxNSwgMCwgNTYzLCAKKyAgICAwLCA5ODM2OTEsIDEyNzk4LCAxMTI3MSwgNTcsIDkyNzE3LCA5ODMyMzksIDkxNzg2MCwgMTE5MDQzLCAwLCA5NDA1MSwgCisgICAgNDMxMzcsIDY5NCwgMCwgOTg3NiwgMCwgMTE5MTY4LCAwLCA3MDM5MiwgNjQ1MzcsIDAsIDI3NywgNzQzODUsIDcyMjksIAorICAgIDEyNzYxLCAwLCA3NDQ2NiwgMTMwMjUsIDY0ODExLCA4NzU3LCA3ODgyNCwgNzgxODgsIDE1NzQsIDczODEsIDAsIDI1MjUsIAorICAgIDQ4NTIsIDU3NDksIDY4NDY1LCAxMzAyNywgNDI4MjQsIDEyMDU3NCwgMTAzOSwgNzE1MSwgMTAxNTUsIDU3NDUsIDE4OCwgCisgICAgNDE4NTgsIDExNTkyLCAxMjkxNTYsIDY5NzI1LCA5MDU1LCA0MTg1MywgNDg1OCwgOTE3NzgwLCAwLCA0MzYsIDQ3NzEsIDAsIAorICAgIDI3ODYsIDkzMDI4LCA0ODU2LCA4MDUxLCA5MjUwMCwgMTE5NjA5LCA3MTMyNywgOTY0NCwgMCwgMTI1MDA5LCAxMjg4NzMsIAorICAgIDE5NDkxNiwgMTIwNzMyLCA2NjcxMCwgMTE4ODM0LCA5ODMzNTksIDczOTA2LCA2NzQwOSwgMTI3MTE0LCAwLCAxMDIzNCwgCisgICAgNTg0MywgMTE5MzksIDcwMzQ2LCA0MjE1NywgMCwgMzE1NywgMTk0OTE4LCA2ODM5MywgMCwgMzUwNCwgMTE5MTc4LCAwLCAKKyAgICAxMDgyMiwgNTE0OSwgNjYwMjksIDEwMjI2LCA2NTE0MiwgMTI4MDI1LCAzNTk0LCA0MjQyNCwgMTI0OTkzLCA0MCwgMTI2NTcsIAorICAgIDk4MzY2NSwgMCwgMzg2LCAwLCA4ODM0LCAwLCAxMjgxNSwgNDM1NzQsIDEyODQwNywgNzM5MDcsIDAsIDcwMTEzLCA3MjIwLCAKKyAgICAxMTgzOSwgMTI0OTg0LCA3NDMxNiwgMCwgNjUzMjIsIDQzMDQsIDc0NTAzLCA4MTYwLCA3NDMxNCwgMTk0NzUzLCAwLCAwLCAKKyAgICAxMjg1MjYsIDEzNDgsIDkyMzQ5LCA3ODU5NywgMTI2NTM5LCAxMzMwMywgNzA0MDYsIDkyMzkyLCAxMjg0NzQsIDc1OTksIAorICAgIDEyNzgsIDQzNjE2LCAxMzI2OSwgMTI3ODA1LCAxMjcxMTAsIDc0Mzg3LCA3ODE3OSwgNzg1OTgsIDc0NDkyLCA2MDk3LCAKKyAgICA3NTY4LCA4NzgwLCA0OTgyLCAxMjc0NjQsIDc0NTAxLCAxOTQ3NjMsIDc4NTkyLCAxOTQ3NjIsIDI2NzIsIDM3MzUsIAorICAgIDEyNzQ3MCwgMTMxMzgsIDQyMjY2LCA5NDg0LCAxMDcyNCwgNDEyMDIsIDcxMzY0LCAxMjgzNzAsIDQzNzQyLCAxMjgzNzMsIAorICAgIDk0ODcsIDExOTk1OSwgOTI5MTMsIDM4NDIsIDcxOTExLCA3ODY2OCwgMTI0NDIsIDYxOTMsIDk3OTEsIDExOTM0NCwgMCwgCisgICAgNDI1MTYsIDcyMjgsIDc1NTksIDc0ODAzLCA3ODQ2OCwgNzg3MywgMTEzOTksIDExOTIxOSwgMTk0NjkxLCA3MDAwNiwgCisgICAgMTk0NjkwLCAxMjc1MzcsIDM2MDQsIDEyMDY4MywgMTE5MTg4LCAxMjg4NzcsIDc4NTQwLCA3ODU0MSwgNDI1MDcsIDE5NjIsIAorICAgIDQzMzA1LCA3ODQ3NiwgNDI1MDUsIDExNjYwLCAwLCAyMDcyLCA5MjMxMiwgNjk5NSwgNzQxNzMsIDU0MzcsIDc0MTc0LCAKKyAgICAxMDY2OSwgODcwMiwgNzk2NCwgOTIzNTIsIDk4Mzc3NiwgMTk5LCAxOTQ4NDMsIDQxMDUsIDE5NDg0NSwgMTk0Njk5LCAKKyAgICAxOTQ4NDcsIDE5NDcxMCwgMTE5ODc1LCAxMzE0OCwgNzU2MCwgNzg0NzksIDkyMjYsIDc4NDc4LCAxOTUwNzAsIDY0NzIsIAorICAgIDY1ODE0LCA3MTkxOSwgMCwgNDcyNCwgMTI4NDkxLCAxOTUwNDEsIDkxOTEsIDAsIDY0NDMyLCA5ODM4MTcsIDExMzY4MCwgCisgICAgMTE5MTkwLCAxMDE5NiwgNzg4NiwgMCwgNjU4NSwgMCwgNjY4MCwgMTk1MDQyLCAwLCA3MTg3MiwgNjY3OSwgNzQ0MTIsIAorICAgIDkyMjUxLCAxOTQ4NjYsIDc0NDIxLCAxMTM4MiwgMTI4MjU0LCA0Mzg2MiwgNzg1OTEsIDExMzczMywgMTk0ODMzLCAKICAgICAxOTQ4MzIsIDY2ODEsIDEyNzQ4MiwgMTI2OTMsIDE5NDgzNiwgNDI3MjcsIDc4MTk2LCAxMjgyNTIsIDc4MTk1LCA2NTQ0MiwgCi0gICAgMTE5NjEwLCA2OTczMywgOTk4OSwgNDMyNDgsIDY2MjQ4LCAxOTQ4MTYsIDAsIDExMzIxLCAxMjg4NDUsIDE5NDgyMCwgCi0gICAgMTk0ODE5LCA1Mjk3LCA3MDQyLCAxMzI4NCwgNjExMiwgNzk2OCwgMTk0ODI1LCA3MzkyNywgOTI0NDQsIDE5NDczNiwgCi0gICAgNjU3NDYsIDEyNzQ3NiwgNjk4ODksIDc0Mzg5LCAxMjg2OTYsIDQzNDIsIDQyODM5LCAxOTQ4MzEsIDE2NzcsIDAsIDAsIAorICAgIDExOTYxMCwgNjk3MzMsIDk5ODksIDQzMjQ4LCA2NjI0OCwgMTk0ODE2LCAwLCAxMTMyMSwgMTI4ODQ1LCAxMjA4MDksIAorICAgIDE5NDgxOSwgNTI5NywgNzA0MiwgMTMyODQsIDYxMTIsIDc5NjgsIDkzMDEwLCA3MzkyNywgOTI0NDQsIDEyNzMzNiwgCisgICAgNjU3NDYsIDExODc5NiwgNjk4ODksIDc0Mzg5LCAxMjg2OTYsIDQzNDIsIDQyODM5LCAxMjg5NzksIDE2NzcsIDAsIDAsIAogICAgIDEyNjU5MCwgOTE3ODU1LCAxMTA5MSwgMTEwMTEsIDI3MTksIDAsIDAsIDExOTU5NSwgMTAxNjAsIDAsIDAsIDc1ODUsIAotICAgIDY1MTY5LCAyMDUyLCA0MzA4LCA5MjE3NCwgNDMwMDAsIDc1MDUsIDU0MywgNjQ5MTYsIDY0NzM2LCAwLCAwLCA2NDY1NSwgMCwgCi0gICAgMTE4OTIyLCAyMDY0LCAwLCA0MzE1OCwgNzkwMiwgMCwgNjUyNjUsIDE5NDYzOSwgMCwgMTI3MTcwLCAwLCA5ODM2MjUsIDAsIAotICAgIDAsIDEyOTk0LCA5MjcyOCwgMTA4MjgsIDk4Mzk0MywgNjIyOCwgNDMwNywgMzQ4MiwgMTI4NTI3LCAwLCAwLCAwLCA1MDYsIAotICAgIDc0NTczLCA0MTE5NCwgNjU3MzUsIDIwNTUsIDQzMjU1LCA0MTE5NSwgMCwgODE2OSwgOTgzNjgwLCA4ODQxLCAwLCA1MTYsIAotICAgIDkzOTc0LCAyMDYzLCAxMTkwNTEsIDM0LCAxMjg4NTAsIDEyMDE4NiwgMTE1MDQsIDE2MTIsIDc0MzMzLCAxMjAxODIsIAotICAgIDExODI3LCA3NDMwOCwgMTIwMDEsIDEyMDE3OCwgMTAyNDIsIDY0NTY0LCAxMjAxNzksIDY3OTg2LCA2NTg0LCA3NzQ5LCAKLSAgICAxMTAzNywgMCwgMTc1OCwgMTI3MDkyLCAxMDY2NywgMTA1NjAsIDEyMDE5NywgOTI1OTMsIDE5MzUsIDExNTE3LCAxMjAxOTMsIAotICAgIDEyMDE5NiwgMTIwMTk1LCAxOTMxLCAxMjAxODksIDc0ODM5LCAxMjAxOTEsIDEyMTcsIDY0NzAyLCAxMjY0MywgODI1LCAKLSAgICAxMjc4MzgsIDE5NDkwNSwgMTIyOTQsIDkyNDI4LCA3ODgzNCwgOTEzOCwgNzg4MzEsIDc4ODMzLCAxMjYzMSwgNzg4MjksIAotICAgIDExMDgwLCA3NDU1NCwgNjQwMDAsIDU1OTEsIDEyMzksIDAsIDExMzEzLCAwLCAzNDAzLCAwLCAwLCA2NDM2NCwgOTIyNjksIAotICAgIDAsIDc0NTgyLCA4OTk4LCAxMjk4OCwgMCwgOTE1MiwgOTgzODQ5LCAwLCAxMjY0ODQsIDY3NTg5LCA0MTg1MCwgNjQyOTAsIAotICAgIDM0MzMsIDkyMzkzLCAxMjYxNSwgMTU5NCwgNDIxOTIsIDY5MTQsIDY3NjAzLCAwLCAxMTk1NjksIDc0NTY1LCA0MTM1MywgCi0gICAgNjc2MDIsIDY3NjExLCA0MzM3LCAwLCAxMjcyOTYsIDkxOCwgNjUwMzUsIDQxMzUxLCA3NjgxLCAxOTQ5MDAsIDQyNTc3LCAKLSAgICA0MTM5MywgMTI2NjgsIDE5NDkwNCwgMjQ3NywgMTI3Mjg1LCAwLCAxMjczMDEsIDAsIDY3NjA0LCAxOTQ4ODAsIDEyNzIzNSwgCi0gICAgNTczLCAxMjcyODIsIDE5NDg4NCwgMTE0MTcsIDE5NDg4NiwgMTE5ODE0LCAxOTQ4ODgsIDY3NTk5LCAwLCAxOTQ4ODksIAotICAgIDY3NjA3LCAxMTQ4MiwgMCwgMzk4MSwgMzM1NywgMCwgNDIyMjMsIDQyMDcsIDEyODgsIDc4ODQyLCA3ODgzOSwgNjg0MTksIAotICAgIDc4ODM3LCAxMTU4OSwgNDIxOTUsIDE5NDg3MiwgMTk0NTk5LCAxMjcyNjMsIDY0NjAyLCA2NzYxOCwgOTI1MzksIDAsIAotICAgIDQyNzg4LCA2ODQxNiwgNjQ0ODAsIDE5NDg3NSwgODQyMywgMzM0OCwgNDQ4LCA2ODQ3NiwgOTcxNywgMCwgMCwgOTk3LCAwLCAKLSAgICAwLCA5MjU3NywgMCwgMTE0NDAsIDExMzc5LCA0MjAwMCwgMTMxMzksIDQyMjIxLCA2NTAxMywgMTI2OTk5LCAxMjc3NjAsIAotICAgIDczNzk2LCAwLCAxMTkyMjgsIDEyMDM1LCAwLCAyODE4LCAwLCA3NDQxMSwgNzM3OTMsIDAsIDQxNzIsIDAsIDAsIDgzNzMsIAotICAgIDEwODczLCAxMjE5NywgMCwgMCwgOTIyNjUsIDY5NzA2LCAwLCA3ODIxMCwgMCwgMTI4MTEwLCAxOTQ4NjUsIDEyNjk4MiwgCi0gICAgNzQ1NjMsIDY0ODI4LCAxMTQxOSwgMTk0ODY4LCA3NjYsIDEyNTcsIDAsIDExODg0NSwgMTEzODEsIDMyNjUsIDY2NjE3LCAKLSAgICAzMjc0LCAxMjczNjUsIDEyNjUyMywgOTQwNDIsIDk4Mzk1MCwgNzQ1MjIsIDQxOTg5LCAwLCAwLCAxMjg3OTgsIDMyNjMsIDAsIAotICAgIDY1NjcyLCAwLCAzMjcwLCA2NDUzOSwgMTE0ODksIDAsIDAsIDAsIDAsIDk1MDUsIDY1NTE4LCAxOTQ3NzYsIDc1NiwgCi0gICAgMTk0NjA1LCAwLCAwLCAwLCA3MjYxLCAwLCAxODYsIDAsIDExOTE1NiwgNTc3MCwgMTMxNzksIDY1ODMwLCAxMjYxMiwgCi0gICAgMTI5NDksIDY0ODU2LCAxMjgwMCwgOTgzOTAxLCA3NDIwMywgNjQ3MTgsIDExNTA3LCAwLCA5MjQzNCwgMTE4OTI5LCAwLCAKLSAgICAxMTU3OCwgMCwgMTE5Mjk2LCAwLCAwLCAwLCAwLCA3NDU2OCwgOTI1NCwgMCwgMTc5NCwgMTIwMjE3LCA2NDUyMSwgNTYyNCwgCi0gICAgMTIwMjIwLCAxMjAyMjEsIDExOTk1OCwgMTIwMjIzLCAzNjE3LCA2NjYzNiwgNjQ4ODYsIDk0MDYxLCAxMjAyMTIsIAotICAgIDEyMDIxMywgMTIwMjE0LCAxODcyLCA2NjUwOCwgMTIwNDY3LCA0MTA3OSwgMTA3NDgsIDU1MDIsIDExOTMzMCwgNDQ1MiwgMCwgCi0gICAgOTgzNzcxLCA5MjUyNiwgNDUxMSwgMCwgOTgzODc3LCA2NDY3OCwgMTE0MjUsIDAsIDQzMjQ1LCAxMjMxLCAxOTQ3ODMsIAotICAgIDY5OTAzLCAwLCA5MDAzLCA4MTkyLCAwLCA1MzA1LCA5NjUzLCAxMDYxNiwgODY5NCwgOTU0NiwgMCwgMCwgMTIwNDc4LCAKLSAgICAxMjAyMDAsIDY1MjA1LCAxMjAyMDIsIDY0MDYzLCA5ODc4LCA3NDc4MCwgMTE5NjI2LCA3ODIwMiwgNjQwNTgsIDg3OTksIAotICAgIDQyMTMxLCAwLCA2NDA2MiwgMTAyOCwgNjQwNjAsIDY0MDU5LCA4MzcsIDEwNTY3LCAwLCA0MzEwMywgMCwgMTIwNzU0LCAKLSAgICAxMTQyNywgMjkwMiwgNjQwNDMsIDY0MDQyLCA0Mzc0OSwgMTA3NTYsIDY0MDQ3LCA0MjYwNiwgNjQwNDUsIDY0MDQ0LCAKLSAgICA0Mzk3OSwgMTAwNzYsIDY0MDQwLCA0MzA2MCwgMTk0OTQyLCAxMDM0LCAzMzkyLCAxMjc3NzEsIDQzMDkxLCA2NDAzMywgCi0gICAgNjQwMzIsIDQyNzM1LCA2NDAzOCwgNjQwMzcsIDY0MDM2LCA2NDAzNSwgNDI5MSwgMTk0OTI4LCA2NDAxNSwgNjQwMTQsIAotICAgIDY0NjgxLCAxOTQ5MzAsIDAsIDc4MTQ1LCAwLCA0MzA5MCwgMCwgMzQ3NiwgODk3MywgNjQwMTIsIDQyNDczLCA2NDAxMCwgCi0gICAgNjQwMDgsIDY0MDA3LCAyMDAzLCA3NzA2LCA2NDUxNywgNzgxNTMsIDI1MzgsIDY0MDA5LCAyMDQsIDAsIDQ4MDIsIDQxMTEsIAotICAgIDgyMzksIDkwOTgsIDQ4MDUsIDY0MDAxLCA2NDA1NywgNzg4NSwgNzI0NywgNjQwNTQsIDk4MzI2NiwgMCwgNDc2NywgOTM0MywgCi0gICAgNjQwNDksIDY0MDQ4LCAxMjAwMzQsIDExMzMsIDY0MDUzLCA2NDA1MiwgNDM0NTMsIDY0MDUwLCA0MTM0MCwgMTE4OTc1LCAKLSAgICAxOTQ4MzUsIDEwMDA1LCAxMjMyOSwgNDEzMzMsIDAsIDg0ODksIDE5NDIsIDAsIDE5NDgzNCwgNDI1MjAsIDEyODI0OSwgMCwgCi0gICAgMCwgMTA3NjAsIDY0MDIzLCA2NDAyMiwgNjQwMjEsIDY1ODIsIDQzNjcwLCAwLCA2NDAyNSwgOTE2NywgNDIxNTEsIDc4MjQ0LCAKLSAgICA5ODMyMzIsIDIwMjYsIDY0MDE5LCA2NDAxOCwgNjQwMTcsIDY0MDE2LCAxMjc2OCwgMCwgNzU4MiwgNzgyNTIsIDc4MjQ4LCAKLSAgICA3NzkxNCwgNzgyNDYsIDc4MjQ3LCAwLCA3NzkxNSwgNzg3NjYsIDY3ODgsIDEzMDk0LCA3NzkyMCwgNzUzMiwgNDE0MTQsIAotICAgIDc4NTIwLCAzMTc5LCA3ODUxOCwgNjQ3NjksIDc4NTE0LCA3ODUxNywgMTE0NjEsIDc0NDU0LCAxMDc1MSwgOTA1MSwgCi0gICAgMTIwNzIwLCA2NzA4LCAxMDUzNSwgOTgzNjI3LCA2ODIxOCwgNTUyNzQsIDIwMDgsIDY0MDMxLCA2NDAzMCwgMjk0LCAKLSAgICA0MTg3NCwgMCwgMTI2OTkxLCA2NTkyOSwgMCwgMCwgMCwgMCwgNjQwMjgsIDgxNDYsIDY0MDI2LCA0MTc4OCwgMTk0ODQ0LCAKLSAgICAwLCA0MzUxLCA2MzQzLCA0MzI0NywgMTE5ODg4LCAwLCAxMTk4ODYsIDExOTg5MSwgMTE5ODkyLCAxMTk4ODksIDExNDMzLCAKLSAgICAxMTk4OTUsIDExOTg5NiwgMCwgNzgwMSwgNjU1NzgsIDE5NDgzOSwgMTI5MTUsIDQzOTY4LCAzMjk3LCA5Njk5LCAxOTQ5NTUsIAotICAgIDExMzUsIDAsIDAsIDEyODUyNSwgMTk5NSwgNjcyMiwgOTgzOTI1LCAwLCAyNTUyLCA0MTU0NiwgNjAsIDY4Mzk0LCA4NjQ5LCAKLSAgICA0MTU0OSwgNzg0OTYsIDk4MzMyNywgMCwgNjY4MiwgMCwgNzg2NzksIDY0NzEwLCA0MTU0NywgOTgzNjMwLCAyMDEzLCAKLSAgICAxMjgyOTEsIDc4NTMwLCA3ODUzMiwgNzg1MjgsIDc4NTI5LCAxMjgzMiwgNzg0OTMsIDgwODEsIDgzNjIsIDM1MzcsIAotICAgIDExOTkwOCwgOTEzNywgNzE1NSwgODk5OSwgMCwgNzg1MzMsIDM0NjYsIDAsIDAsIDE5OTYsIDAsIDM0NTMsIDYyODIsIDAsIAotICAgIDIwMDIsIDIwMDAsIDEyMDE3NSwgNTM3LCAwLCA0MTc5LCA2NTExOSwgMTk5OCwgMCwgMTg0MiwgMCwgOTI2NzQsIDk2MjgsIAotICAgIDY4NDQ2LCAxMjA4MSwgOTgyNiwgNjQ1MDIsIDE3NjcsIDAsIDAsIDAsIDEyMDIwMSwgOTgzNjQ2LCAwLCAwLCAzMDU5LCAKLSAgICA0NDAyNCwgMTIwMjA0LCAxMTk5NTMsIDkyNjkzLCAwLCAwLCA5MjQ1MiwgNDEwMCwgOTIwLCAxODExLCAxMzU1LCAwLCAwLCAKLSAgICAzNTkyLCAxMDA3OCwgMCwgMCwgMCwgODU5MiwgNjU4NzAsIDY4MTY0LCAxMjg3OTIsIDEwNzQyLCAwLCA0MjkxOCwgMTk5NCwgCi0gICAgOTI4MSwgMzI5NiwgMTI4NjUsIDE5OTcsIDE4OTUsIAorICAgIDY1MTY5LCAyMDUyLCA0MzA4LCA5MjE3NCwgNDMwMDAsIDc1MDUsIDU0MywgNjQ5MTYsIDY0NzM2LCAxMTg4MzUsIDAsIAorICAgIDY0NjU1LCAwLCAxMTg5MjIsIDIwNjQsIDAsIDQzMTU4LCA3OTAyLCAwLCA2NTI2NSwgMTk0NjM5LCAwLCAxMjcxNzAsIDAsIAorICAgIDk4MzYyNSwgOTI1NTAsIDAsIDEyOTk0LCA5MjcyOCwgMTA4MjgsIDc0Mzc4LCA2MjI4LCA0MzA3LCAzNDgyLCAxMjg1MjcsIAorICAgIDAsIDcyMzg5LCAwLCA1MDYsIDc0NTczLCA0MTE5NCwgNjU3MzUsIDIwNTUsIDQzMjU1LCA0MTE5NSwgMCwgODE2OSwgCisgICAgOTgzNjgwLCA4ODQxLCAwLCA1MTYsIDkzOTc0LCAyMDYzLCAxMTkwNTEsIDM0LCAxMjg4NTAsIDEyMDE4NiwgMTE1MDQsIAorICAgIDE2MTIsIDc0MzMzLCAxMjAxODIsIDExODI3LCA2NzE2NSwgMTIwMDEsIDEyMDE3OCwgMTAyNDIsIDY0NTY0LCAxMjAxNzksIAorICAgIDY3OTg2LCA2NTg0LCA3NzQ5LCAxMTAzNywgMTI4NzQzLCAxNzU4LCAxMTkwNzQsIDEwNjY3LCAxMDU2MCwgMTIwMTk3LCAKKyAgICA5MjU5MywgMTkzNSwgMTE1MTcsIDEyMDE5MywgMTIwMTk2LCAxMjAxOTUsIDE5MzEsIDEyMDE4OSwgNzQ4MzksIDEyMDE5MSwgCisgICAgMTIxNywgNjQ3MDIsIDEyNjQzLCA4MjUsIDEyNzgzOCwgMTk0OTA1LCAxMjI5NCwgOTI0MjgsIDc4ODM0LCA5MTM4LCAKKyAgICA3ODgzMSwgNzg4MzMsIDEyNjMxLCA3MTg3MSwgMTEwODAsIDc0NTU0LCA2NDAwMCwgNTU5MSwgMTIzOSwgMTI3MTk5LCAKKyAgICAxMTMxMywgMTk0ODAzLCAzNDAzLCAwLCAxMjAyNzEsIDY0MzY0LCA5MjI2OSwgMTI3OTA0LCA3MjQzMSwgODk5OCwgMTI5ODgsIAorICAgIDExOTk4MywgOTE1MiwgOTgzODQ5LCAwLCAxMjY0ODQsIDY3NTg5LCA0MTg1MCwgNjQyOTAsIDM0MzMsIDkyMzkzLCAxMjYxNSwgCisgICAgMTU5NCwgNDIxOTIsIDY5MTQsIDY2MzkyLCAwLCAxMTk1NjksIDc0NTY1LCA0MTM1MywgNjc2MDIsIDY3NjExLCA0MzM3LCAwLCAKKyAgICAxMjcyOTYsIDkxOCwgNjUwMzUsIDQxMzUxLCA3NjgxLCAxOTQ5MDAsIDQyNTc3LCA0MTM5MywgMTI2NjgsIDcyMzk1LCAKKyAgICAyNDc3LCAxMjcyODUsIDAsIDEyNzMwMSwgMCwgNjc2MDQsIDY3NjgzLCAxMjcyMzUsIDU3MywgMTI3MjgyLCAxMjA1NDMsIAorICAgIDExNDE3LCAxOTQ4ODYsIDExOTgxNCwgMTE5MzA5LCA2NzU5OSwgMCwgNzI0MTAsIDY3NjA3LCAxMTQ4MiwgMCwgMzk4MSwgCisgICAgMzM1NywgMCwgNDIyMjMsIDQyMDcsIDEyODgsIDc4NTAzLCA3ODgzOSwgNjc3MjgsIDc4ODM3LCAxMTU4OSwgNDIxOTUsIAorICAgIDc0NDc3LCAxMTk5OTcsIDEyNzI2MywgNjQ2MDIsIDY3NjE4LCA5MjUzOSwgMCwgNDI3ODgsIDY4NDE2LCA2NDQ4MCwgCisgICAgMTk0ODc1LCA4NDIzLCAzMzQ4LCA0NDgsIDY2OTA3LCA5NzE3LCAxMTkzMTEsIDAsIDk5NywgMCwgMCwgOTI1NzcsIDAsIAorICAgIDExNDQwLCAxMTM3OSwgNDIwMDAsIDEzMTM5LCA0MjIyMSwgNjUwMTMsIDEyNjk5OSwgMTI3NzYwLCA3MjM5MCwgMCwgCisgICAgMTE5MjI4LCAxMjAzNSwgMCwgMjgxOCwgMCwgNzQ0MTEsIDczNzkzLCAwLCA0MTcyLCA3MTI1MiwgMTE5OTkyLCA4MzczLCAKKyAgICAxMDg3MywgMTIxOTcsIDEyNTA3NCwgMTk1MDE0LCA5MjI2NSwgNjk3MDYsIDEyODU0MCwgNjgzNCwgMTI3MjUxLCAxMjgxMTAsIAorICAgIDE5NDg2NSwgMTI2OTgyLCA3NDU2MywgNjQ4MjgsIDExNDE5LCAxOTQ4NjgsIDc2NiwgMTI1NywgMTk0NTk4LCAxMTg4NDUsIAorICAgIDExMzgxLCAzMjY1LCA2NjYxNywgMzI3NCwgMTI2NjI5LCAxMjY1MjMsIDk0MDQyLCA5ODM5NTAsIDc0NTIyLCA0MTk4OSwgMCwgCisgICAgMCwgMTEzNzY5LCAzMjYzLCAwLCA2NTY3MiwgNjkyNDMsIDMyNzAsIDY0NTM5LCAxMTQ4OSwgMCwgMCwgMCwgMCwgOTUwNSwgCisgICAgNjU1MTgsIDEyODQ5OCwgNzU2LCAxOTQ2MDUsIDAsIDAsIDAsIDcyNjEsIDkyNTQ3LCAxODYsIDAsIDExOTE1NiwgNTc3MCwgCisgICAgMTMxNzksIDY1ODMwLCAxMjYxMiwgMTI5NDksIDY0ODU2LCAxMjgwMCwgOTgzOTAxLCA3NDIwMywgNjQ3MTgsIDExNTA3LCAwLCAKKyAgICA5MjQzNCwgNzQ2MjYsIDAsIDExNTc4LCAwLCAxMTkyOTYsIDAsIDAsIDEyNTEwMSwgMCwgNzAwODMsIDkyNTQsIDY2ODc3LCAKKyAgICAxNzk0LCA2ODMxMCwgNjQ1MjEsIDU2MjQsIDEyMDIyMCwgMTIwMjIxLCAxMTk5NTgsIDEyMDIyMywgMzYxNywgNjY2MzYsIAorICAgIDY0ODg2LCA5NDA2MSwgNjg2NTksIDEyMDIxMywgMTIwMjE0LCAxODcyLCA2NjUwOCwgMTIwNDY3LCA0MTA3OSwgMTA3NDgsIAorICAgIDU1MDIsIDExOTMzMCwgNDQ1MiwgMTI4MDg4LCA5ODM3NzEsIDkyNTI2LCA0NTExLCAwLCA5ODM4NzcsIDY0Njc4LCAxMTQyNSwgCisgICAgMCwgNDMyNDUsIDEyMzEsIDkyMzkwLCA2OTkwMywgMCwgOTAwMywgODE5MiwgMCwgNTMwNSwgOTY1MywgMTA2MTYsIDg2OTQsIAorICAgIDk1NDYsIDAsIDAsIDcwNDIxLCAxMjAyMDAsIDY1MjA1LCAxMjAyMDIsIDY0MDYzLCA5ODc4LCA3NDc4MCwgMTE5NjI2LCAKKyAgICA3ODIwMiwgNjQwNTgsIDg3OTksIDQyMTMxLCAxMjg2NjIsIDY0MDYyLCAxMDI4LCA2NDA2MCwgNjQwNTksIDgzNywgMTA1NjcsIAorICAgIDcyMzg0LCA0MzEwMywgMCwgMTIwNzU0LCAxMTQyNywgMjkwMiwgNjQwNDMsIDY0MDQyLCA0Mzc0OSwgMTA3NTYsIDY0MDQ3LCAKKyAgICA0MjYwNiwgNjQwNDUsIDY0MDQ0LCA0Mzk3OSwgMTAwNzYsIDY0MDQwLCA0MzA2MCwgMTk0OTQyLCAxMDM0LCAzMzkyLCAKKyAgICAxMjc3NzEsIDQzMDkxLCA2NDAzMywgNjQwMzIsIDQyNzM1LCA0MzQ5OCwgNjQwMzcsIDY0MDM2LCA2NDAzNSwgNDI5MSwgCisgICAgMTI5MTU3LCA2NDAxNSwgNjQwMTQsIDY0NjgxLCAxOTQ5MzAsIDEyNzE0MiwgNzgxNDUsIDcxODk4LCA0MzA5MCwgMCwgCisgICAgMzQ3NiwgODk3MywgNjQwMTIsIDQyNDczLCA2NDAxMCwgNjQwMDgsIDY0MDA3LCAyMDAzLCA3NzA2LCA2NDUxNywgNzgxNTMsIAorICAgIDI1MzgsIDY0MDA5LCAyMDQsIDAsIDQ4MDIsIDQxMTEsIDgyMzksIDkwOTgsIDQ4MDUsIDY0MDAxLCA2NDA1NywgNzg4NSwgCisgICAgNzI0NywgNjQwNTQsIDk4MzI2NiwgMCwgNDc2NywgOTM0MywgNjQwNDksIDY0MDQ4LCAxMjAwMzQsIDExMzMsIDY0MDUzLCAKKyAgICA2NDA1MiwgNDM0NTMsIDY0MDUwLCA0MTM0MCwgMTE4OTc1LCAxOTQ4MzUsIDEwMDA1LCAxMjMyOSwgNDEzMzMsIDAsIDg0ODksIAorICAgIDE5NDIsIDAsIDE5NDgzNCwgNDI1MjAsIDY1NTEwLCAxMjUwNDQsIDY4MjkxLCAxMDc2MCwgNjQwMjMsIDY0MDIyLCA2NDAyMSwgCisgICAgNjU4MiwgNDM2NzAsIDEyNzc5OCwgNjQwMjUsIDkxNjcsIDQyMTUxLCA3ODI0NCwgOTgzMjMyLCAyMDI2LCA2NDAxOSwgCisgICAgNjQwMTgsIDY0MDE3LCA2NDAxNiwgMTI3NjgsIDAsIDc1ODIsIDc4MjUyLCA3ODI0OCwgNzc5MTQsIDc4MjQ2LCA3ODI0NywgCisgICAgMCwgNzc5MTUsIDc4NzY2LCA2Nzg4LCAxMzA5NCwgNzc5MjAsIDc1MzIsIDQxNDE0LCA3ODUyMCwgMzE3OSwgNzg1MTgsIAorICAgIDY0NzY5LCA3ODUxNCwgNzg1MTcsIDExNDYxLCA3NDQ1NCwgMTA3NTEsIDkwNTEsIDEyMDcyMCwgNjcwOCwgMTA1MzUsIAorICAgIDk4MzYyNywgNjgyMTgsIDU1Mjc0LCAyMDA4LCA2NDAzMSwgNjQwMzAsIDI5NCwgNDE4NzQsIDAsIDY0NzkwLCA2NTkyOSwgMCwgCisgICAgMTI5MDYzLCAwLCAwLCA2NDAyOCwgODE0NiwgNjQwMjYsIDQxNzg4LCAxOTQ4NDQsIDAsIDQzNTEsIDYzNDMsIDQzMjQ3LCAKKyAgICAxMTk4ODgsIDcwMTUzLCAxMTk4ODYsIDExOTg5MSwgNzIzODcsIDExOTg4OSwgMTE0MzMsIDExOTg5NSwgMTE5ODk2LCAwLCAKKyAgICA3ODAxLCA2NTU3OCwgMTk0ODM5LCAxMjkxNSwgNDM5NjgsIDMyOTcsIDk2OTksIDEyNzk1NywgMTEzNSwgMCwgMTI4ODA3LCAKKyAgICAxMjg1MjUsIDE5OTUsIDY3MjIsIDk4MzkyNSwgMCwgMjU1MiwgNDE1NDYsIDYwLCA2ODM5NCwgODY0OSwgNDE1NDksIAorICAgIDc4NDk2LCA3MjM4NiwgMCwgNjY4MiwgOTgzOTE3LCA3ODY3OSwgNDM4MzMsIDQxNTQ3LCA5ODM2MzAsIDIwMTMsIDEyODI5MSwgCisgICAgNzg1MzAsIDc4NTMyLCA3ODUyOCwgNzg1MjksIDEyODMyLCA3ODQ5MywgODA4MSwgODM2MiwgMzUzNywgMTE5OTA4LCA5MTM3LCAKKyAgICA3MTU1LCA4OTk5LCAwLCA3ODUzMywgMzQ2NiwgMCwgMCwgMTk5NiwgMCwgMzQ1MywgNjI4MiwgMCwgMjAwMiwgMjAwMCwgCisgICAgMTIwMTc1LCA1MzcsIDkyOTc2LCA0MTc5LCA2NTExOSwgMTk5OCwgMTIwNzQ2LCAxODQyLCAwLCA5MjY3NCwgOTYyOCwgCisgICAgNjg0NDYsIDEyMDgxLCA5ODI2LCA2NDUwMiwgMTc2NywgMCwgMCwgMTIwMDAxLCAxMjAyMDEsIDk4MzY0NiwgMTI0OTc1LCAKKyAgICAxMjc5OTEsIDMwNTksIDQ0MDI0LCAxMjAyMDQsIDQzNDkxLCA5MjY5MywgMCwgMCwgOTI0NTIsIDQxMDAsIDkyMCwgMTgxMSwgCisgICAgMTM1NSwgNDMxODksIDAsIDM1OTIsIDEwMDc4LCAwLCA3ODE2MiwgMTE5NTU4LCA4NTkyLCA2NTg3MCwgNjY0MTcsIDc0NTA0LCAKKyAgICAxMDc0MiwgNzI0MDAsIDQyOTE4LCAxOTk0LCA5MjgxLCAzMjk2LCAxMjg2NSwgMTk5NywgMTg5NSwgCiB9OwogCiAjZGVmaW5lIGNvZGVfbWFnaWMgNDcKZGlmZiAtLWdpdCBhL01vZHVsZXMvd2lucmVwYXJzZS5oIGIvTW9kdWxlcy93aW5yZXBhcnNlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjZmNzc3NQotLS0gL2Rldi9udWxsCisrKyBiL01vZHVsZXMvd2lucmVwYXJzZS5oCkBAIC0wLDAgKzEsNTMgQEAKKyNpZm5kZWYgUHlfV0lOUkVQQVJTRV9ICisjZGVmaW5lIFB5X1dJTlJFUEFSU0VfSAorCisjaWZkZWYgTVNfV0lORE9XUworI2luY2x1ZGUgPFdpbmRvd3MuaD4KKworI2lmZGVmIF9fY3BsdXNwbHVzCitleHRlcm4gIkMiIHsKKyNlbmRpZgorCisvKiBUaGUgZm9sbG93aW5nIHN0cnVjdHVyZSB3YXMgY29waWVkIGZyb20KKyAgIGh0dHA6Ly9tc2RuLm1pY3Jvc29mdC5jb20vZW4tdXMvbGlicmFyeS9mZjU1MjAxMi5hc3B4IGFzIHRoZSByZXF1aXJlZAorICAgaW5jbHVkZSBkb2Vzbid0IHNlZW0gdG8gYmUgcHJlc2VudCBpbiB0aGUgV2luZG93cyBTREsgKGF0IGxlYXN0IGFzIGluY2x1ZGVkCisgICB3aXRoIFZpc3VhbCBTdHVkaW8gRXhwcmVzcykuICovCit0eXBlZGVmIHN0cnVjdCBfUkVQQVJTRV9EQVRBX0JVRkZFUiB7CisgICAgVUxPTkcgUmVwYXJzZVRhZzsKKyAgICBVU0hPUlQgUmVwYXJzZURhdGFMZW5ndGg7CisgICAgVVNIT1JUIFJlc2VydmVkOworICAgIHVuaW9uIHsKKyAgICAgICAgc3RydWN0IHsKKyAgICAgICAgICAgIFVTSE9SVCBTdWJzdGl0dXRlTmFtZU9mZnNldDsKKyAgICAgICAgICAgIFVTSE9SVCBTdWJzdGl0dXRlTmFtZUxlbmd0aDsKKyAgICAgICAgICAgIFVTSE9SVCBQcmludE5hbWVPZmZzZXQ7CisgICAgICAgICAgICBVU0hPUlQgUHJpbnROYW1lTGVuZ3RoOworICAgICAgICAgICAgVUxPTkcgRmxhZ3M7CisgICAgICAgICAgICBXQ0hBUiBQYXRoQnVmZmVyWzFdOworICAgICAgICB9IFN5bWJvbGljTGlua1JlcGFyc2VCdWZmZXI7CisKKyAgICAgICAgc3RydWN0IHsKKyAgICAgICAgICAgIFVTSE9SVCBTdWJzdGl0dXRlTmFtZU9mZnNldDsKKyAgICAgICAgICAgIFVTSE9SVCAgU3Vic3RpdHV0ZU5hbWVMZW5ndGg7CisgICAgICAgICAgICBVU0hPUlQgIFByaW50TmFtZU9mZnNldDsKKyAgICAgICAgICAgIFVTSE9SVCAgUHJpbnROYW1lTGVuZ3RoOworICAgICAgICAgICAgV0NIQVIgIFBhdGhCdWZmZXJbMV07CisgICAgICAgIH0gTW91bnRQb2ludFJlcGFyc2VCdWZmZXI7CisKKyAgICAgICAgc3RydWN0IHsKKyAgICAgICAgICAgIFVDSEFSICBEYXRhQnVmZmVyWzFdOworICAgICAgICB9IEdlbmVyaWNSZXBhcnNlQnVmZmVyOworICAgIH07Cit9IFJFUEFSU0VfREFUQV9CVUZGRVIsICpQUkVQQVJTRV9EQVRBX0JVRkZFUjsKKworI2RlZmluZSBSRVBBUlNFX0RBVEFfQlVGRkVSX0hFQURFUl9TSVpFICBGSUVMRF9PRkZTRVQoUkVQQVJTRV9EQVRBX0JVRkZFUixcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHZW5lcmljUmVwYXJzZUJ1ZmZlcikKKyNkZWZpbmUgTUFYSU1VTV9SRVBBUlNFX0RBVEFfQlVGRkVSX1NJWkUgICggMTYgKiAxMDI0ICkKKworI2lmZGVmIF9fY3BsdXNwbHVzCit9CisjZW5kaWYKKworI2VuZGlmIC8qIE1TX1dJTkRPV1MgKi8KKworI2VuZGlmIC8qICFQeV9XSU5SRVBBUlNFX0ggKi8KZGlmZiAtLWdpdCBhL09iamVjdHMvUkVBRE1FIGIvT2JqZWN0cy9SRUFETUUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODU0YjEwMwotLS0gL2Rldi9udWxsCisrKyBiL09iamVjdHMvUkVBRE1FCkBAIC0wLDAgKzEgQEAKK1NvdXJjZSBmaWxlcyBmb3IgdmFyaW91cyBidWlsdGluIG9iamVjdHMKZGlmZiAtLWdpdCBhL09iamVjdHMvYWJzdHJhY3QuYyBiL09iamVjdHMvYWJzdHJhY3QuYwppbmRleCA3ZTMxMjFhLi5hYjEzNDc2IDEwMDY0NAotLS0gYS9PYmplY3RzL2Fic3RyYWN0LmMKKysrIGIvT2JqZWN0cy9hYnN0cmFjdC5jCkBAIC0zMDUsNyArMzA1LDcgQEAKICAgICAgICAgcGItPmJmX2dldGJ1ZmZlciA9PSBOVUxMIHx8CiAgICAgICAgICgoKnBiLT5iZl9nZXRidWZmZXIpKG9iaiwgJnZpZXcsIFB5QlVGX1dSSVRBQkxFKSAhPSAwKSkgewogICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4cGVjdGVkIGFuIG9iamVjdCB3aXRoIGEgd3JpdGFibGUgYnVmZmVyIGludGVyZmFjZSIpOworICAgICAgICAgICAgICAgICAgICAgICAgImV4cGVjdGVkIGEgd3JpdGFibGUgYnl0ZXMtbGlrZSBvYmplY3QiKTsKICAgICAgICAgcmV0dXJuIC0xOwogICAgIH0KIApAQCAtMzI0LDcgKzMyNCw3IEBACiAKICAgICBpZiAocGIgPT0gTlVMTCB8fCBwYi0+YmZfZ2V0YnVmZmVyID09IE5VTEwpIHsKICAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1R5cGVFcnJvciwKLSAgICAgICAgICAgICAgICAgICAgICInJS4xMDBzJyBkb2VzIG5vdCBzdXBwb3J0IHRoZSBidWZmZXIgaW50ZXJmYWNlIiwKKyAgICAgICAgICAgICAgICAgICAgICJhIGJ5dGVzLWxpa2Ugb2JqZWN0IGlzIHJlcXVpcmVkLCBub3QgJyUuMTAwcyciLAogICAgICAgICAgICAgICAgICAgICAgUHlfVFlQRShvYmopLT50cF9uYW1lKTsKICAgICAgICAgcmV0dXJuIC0xOwogICAgIH0KQEAgLTMzNywxNiArMzM3LDM1IEBACiAgICAgUHlfc3NpemVfdCBzZCwgZGltOwogICAgIGludCBpOwogCi0gICAgaWYgKHZpZXctPm5kaW0gPT0gMCkgcmV0dXJuIDE7Ci0gICAgaWYgKHZpZXctPnN0cmlkZXMgPT0gTlVMTCkgcmV0dXJuICh2aWV3LT5uZGltID09IDEpOworICAgIC8qIDEpIGxlbiA9IHByb2R1Y3Qoc2hhcGUpICogaXRlbXNpemUKKyAgICAgICAyKSBpdGVtc2l6ZSA+IDAKKyAgICAgICAzKSBsZW4gPSAwIDw9PT4gZXhpc3RzIGk6IHNoYXBlW2ldID0gMCAqLworICAgIGlmICh2aWV3LT5sZW4gPT0gMCkgcmV0dXJuIDE7CisgICAgaWYgKHZpZXctPnN0cmlkZXMgPT0gTlVMTCkgeyAgLyogQy1jb250aWd1b3VzIGJ5IGRlZmluaXRpb24gKi8KKyAgICAgICAgLyogVHJpdmlhbGx5IEYtY29udGlndW91cyAqLworICAgICAgICBpZiAodmlldy0+bmRpbSA8PSAxKSByZXR1cm4gMTsKKworICAgICAgICAvKiBuZGltID4gMSBpbXBsaWVzIHNoYXBlICE9IE5VTEwgKi8KKyAgICAgICAgYXNzZXJ0KHZpZXctPnNoYXBlICE9IE5VTEwpOworCisgICAgICAgIC8qIEVmZmVjdGl2ZWx5IDEtZCAqLworICAgICAgICBzZCA9IDA7CisgICAgICAgIGZvciAoaT0wOyBpPHZpZXctPm5kaW07IGkrKykgeworICAgICAgICAgICAgaWYgKHZpZXctPnNoYXBlW2ldID4gMSkgc2QgKz0gMTsKKyAgICAgICAgfQorICAgICAgICByZXR1cm4gc2QgPD0gMTsKKyAgICB9CisKKyAgICAvKiBzdHJpZGVzICE9IE5VTEwgaW1wbGllcyBib3RoIG9mIHRoZXNlICovCisgICAgYXNzZXJ0KHZpZXctPm5kaW0gPiAwKTsKKyAgICBhc3NlcnQodmlldy0+c2hhcGUgIT0gTlVMTCk7CiAKICAgICBzZCA9IHZpZXctPml0ZW1zaXplOwotICAgIGlmICh2aWV3LT5uZGltID09IDEpIHJldHVybiAodmlldy0+c2hhcGVbMF0gPT0gMSB8fAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNkID09IHZpZXctPnN0cmlkZXNbMF0pOwogICAgIGZvciAoaT0wOyBpPHZpZXctPm5kaW07IGkrKykgewogICAgICAgICBkaW0gPSB2aWV3LT5zaGFwZVtpXTsKLSAgICAgICAgaWYgKGRpbSA9PSAwKSByZXR1cm4gMTsKLSAgICAgICAgaWYgKHZpZXctPnN0cmlkZXNbaV0gIT0gc2QpIHJldHVybiAwOworICAgICAgICBpZiAoZGltID4gMSAmJiB2aWV3LT5zdHJpZGVzW2ldICE9IHNkKSB7CisgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgfQogICAgICAgICBzZCAqPSBkaW07CiAgICAgfQogICAgIHJldHVybiAxOwpAQCAtMzU4LDE2ICszNzcsMjIgQEAKICAgICBQeV9zc2l6ZV90IHNkLCBkaW07CiAgICAgaW50IGk7CiAKLSAgICBpZiAodmlldy0+bmRpbSA9PSAwKSByZXR1cm4gMTsKLSAgICBpZiAodmlldy0+c3RyaWRlcyA9PSBOVUxMKSByZXR1cm4gMTsKKyAgICAvKiAxKSBsZW4gPSBwcm9kdWN0KHNoYXBlKSAqIGl0ZW1zaXplCisgICAgICAgMikgaXRlbXNpemUgPiAwCisgICAgICAgMykgbGVuID0gMCA8PT0+IGV4aXN0cyBpOiBzaGFwZVtpXSA9IDAgKi8KKyAgICBpZiAodmlldy0+bGVuID09IDApIHJldHVybiAxOworICAgIGlmICh2aWV3LT5zdHJpZGVzID09IE5VTEwpIHJldHVybiAxOyAvKiBDLWNvbnRpZ3VvdXMgYnkgZGVmaW5pdGlvbiAqLworCisgICAgLyogc3RyaWRlcyAhPSBOVUxMIGltcGxpZXMgYm90aCBvZiB0aGVzZSAqLworICAgIGFzc2VydCh2aWV3LT5uZGltID4gMCk7CisgICAgYXNzZXJ0KHZpZXctPnNoYXBlICE9IE5VTEwpOwogCiAgICAgc2QgPSB2aWV3LT5pdGVtc2l6ZTsKLSAgICBpZiAodmlldy0+bmRpbSA9PSAxKSByZXR1cm4gKHZpZXctPnNoYXBlWzBdID09IDEgfHwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZCA9PSB2aWV3LT5zdHJpZGVzWzBdKTsKICAgICBmb3IgKGk9dmlldy0+bmRpbS0xOyBpPj0wOyBpLS0pIHsKICAgICAgICAgZGltID0gdmlldy0+c2hhcGVbaV07Ci0gICAgICAgIGlmIChkaW0gPT0gMCkgcmV0dXJuIDE7Ci0gICAgICAgIGlmICh2aWV3LT5zdHJpZGVzW2ldICE9IHNkKSByZXR1cm4gMDsKKyAgICAgICAgaWYgKGRpbSA+IDEgJiYgdmlldy0+c3RyaWRlc1tpXSAhPSBzZCkgeworICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIH0KICAgICAgICAgc2QgKj0gZGltOwogICAgIH0KICAgICByZXR1cm4gMTsKQEAgLTQ5OSw4ICs1MjQsOCBAQAogICAgIGlmICghUHlPYmplY3RfQ2hlY2tCdWZmZXIoZGVzdCkgfHwKICAgICAgICAgIVB5T2JqZWN0X0NoZWNrQnVmZmVyKHNyYykpIHsKICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwKLSAgICAgICAgICAgICAgICAgICAgICAgICJib3RoIGRlc3RpbmF0aW9uIGFuZCBzb3VyY2UgbXVzdCBoYXZlIHRoZSAiXAotICAgICAgICAgICAgICAgICAgICAgICAgImJ1ZmZlciBpbnRlcmZhY2UiKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICJib3RoIGRlc3RpbmF0aW9uIGFuZCBzb3VyY2UgbXVzdCBiZSAiXAorICAgICAgICAgICAgICAgICAgICAgICAgImJ5dGVzLWxpa2Ugb2JqZWN0cyIpOwogICAgICAgICByZXR1cm4gLTE7CiAgICAgfQogCkBAIC01ODcsNyArNjEyLDEyIEBACiBQeUJ1ZmZlcl9GaWxsSW5mbyhQeV9idWZmZXIgKnZpZXcsIFB5T2JqZWN0ICpvYmosIHZvaWQgKmJ1ZiwgUHlfc3NpemVfdCBsZW4sCiAgICAgICAgICAgICAgICAgICBpbnQgcmVhZG9ubHksIGludCBmbGFncykKIHsKLSAgICBpZiAodmlldyA9PSBOVUxMKSByZXR1cm4gMDsgLyogWFhYIHdoeSBub3QgLTE/ICovCisgICAgaWYgKHZpZXcgPT0gTlVMTCkgeworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfQnVmZmVyRXJyb3IsCisgICAgICAgICAgICAiUHlCdWZmZXJfRmlsbEluZm86IHZpZXc9PU5VTEwgYXJndW1lbnQgaXMgb2Jzb2xldGUiKTsKKyAgICAgICAgcmV0dXJuIC0xOworICAgIH0KKwogICAgIGlmICgoKGZsYWdzICYgUHlCVUZfV1JJVEFCTEUpID09IFB5QlVGX1dSSVRBQkxFKSAmJgogICAgICAgICAocmVhZG9ubHkgPT0gMSkpIHsKICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX0J1ZmZlckVycm9yLApAQCAtNjYwLDggKzY5MCw5IEBACiAgICAgUHlfREVDUkVGKG1ldGgpOwogCiAgICAgaWYgKHJlc3VsdCAmJiAhUHlVbmljb2RlX0NoZWNrKHJlc3VsdCkpIHsKLSAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwKLSAgICAgICAgICAgICAgICAgICAgICAgICJfX2Zvcm1hdF9fIG1ldGhvZCBkaWQgbm90IHJldHVybiBzdHJpbmciKTsKKyAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1R5cGVFcnJvciwKKyAgICAgICAgICAgICAiX19mb3JtYXRfXyBtdXN0IHJldHVybiBhIHN0ciwgbm90ICUuMjAwcyIsCisgICAgICAgICAgICAgUHlfVFlQRShyZXN1bHQpLT50cF9uYW1lKTsKICAgICAgICAgUHlfREVDUkVGKHJlc3VsdCk7CiAgICAgICAgIHJlc3VsdCA9IE5VTEw7CiAgICAgICAgIGdvdG8gZG9uZTsKQEAgLTkwNSw2ICs5MzYsMTIgQEAKIH0KIAogUHlPYmplY3QgKgorUHlOdW1iZXJfTWF0cml4TXVsdGlwbHkoUHlPYmplY3QgKnYsIFB5T2JqZWN0ICp3KQoreworICAgIHJldHVybiBiaW5hcnlfb3AodiwgdywgTkJfU0xPVChuYl9tYXRyaXhfbXVsdGlwbHkpLCAiQCIpOworfQorCitQeU9iamVjdCAqCiBQeU51bWJlcl9GbG9vckRpdmlkZShQeU9iamVjdCAqdiwgUHlPYmplY3QgKncpCiB7CiAgICAgcmV0dXJuIGJpbmFyeV9vcCh2LCB3LCBOQl9TTE9UKG5iX2Zsb29yX2RpdmlkZSksICIvLyIpOwpAQCAtOTg1LDYgKzEwMjIsNyBAQAogSU5QTEFDRV9CSU5PUChQeU51bWJlcl9JblBsYWNlTHNoaWZ0LCBuYl9pbnBsYWNlX2xzaGlmdCwgbmJfbHNoaWZ0LCAiPDw9IikKIElOUExBQ0VfQklOT1AoUHlOdW1iZXJfSW5QbGFjZVJzaGlmdCwgbmJfaW5wbGFjZV9yc2hpZnQsIG5iX3JzaGlmdCwgIj4+PSIpCiBJTlBMQUNFX0JJTk9QKFB5TnVtYmVyX0luUGxhY2VTdWJ0cmFjdCwgbmJfaW5wbGFjZV9zdWJ0cmFjdCwgbmJfc3VidHJhY3QsICItPSIpCitJTlBMQUNFX0JJTk9QKFB5TnVtYmVyX0luTWF0cml4TXVsdGlwbHksIG5iX2lucGxhY2VfbWF0cml4X211bHRpcGx5LCBuYl9tYXRyaXhfbXVsdGlwbHksICJAPSIpCiAKIFB5T2JqZWN0ICoKIFB5TnVtYmVyX0luUGxhY2VGbG9vckRpdmlkZShQeU9iamVjdCAqdiwgUHlPYmplY3QgKncpCkBAIC0xMDUxLDYgKzEwODksMTMgQEAKIH0KIAogUHlPYmplY3QgKgorUHlOdW1iZXJfSW5QbGFjZU1hdHJpeE11bHRpcGx5KFB5T2JqZWN0ICp2LCBQeU9iamVjdCAqdykKK3sKKyAgICByZXR1cm4gYmluYXJ5X2lvcCh2LCB3LCBOQl9TTE9UKG5iX2lucGxhY2VfbWF0cml4X211bHRpcGx5KSwKKyAgICAgICAgICAgICAgICAgICAgICBOQl9TTE9UKG5iX21hdHJpeF9tdWx0aXBseSksICJAPSIpOworfQorCitQeU9iamVjdCAqCiBQeU51bWJlcl9JblBsYWNlUmVtYWluZGVyKFB5T2JqZWN0ICp2LCBQeU9iamVjdCAqdykKIHsKICAgICByZXR1cm4gYmluYXJ5X2lvcCh2LCB3LCBOQl9TTE9UKG5iX2lucGxhY2VfcmVtYWluZGVyKSwKQEAgLTIwMjgsMzIgKzIwNzMsNzAgQEAKICAgICByZXR1cm4gUHlFdmFsX0NhbGxPYmplY3RXaXRoS2V5d29yZHMobywgYSwgTlVMTCk7CiB9CiAKK1B5T2JqZWN0KgorX1B5X0NoZWNrRnVuY3Rpb25SZXN1bHQoUHlPYmplY3QgKnJlc3VsdCwgY29uc3QgY2hhciAqZnVuY19uYW1lKQoreworICAgIGludCBlcnJfb2NjdXJyZWQgPSAoUHlFcnJfT2NjdXJyZWQoKSAhPSBOVUxMKTsKKworI2lmZGVmIE5ERUJVRworICAgIC8qIEluIGRlYnVnIG1vZGU6IGFib3J0KCkgd2l0aCBhbiBhc3NlcnRpb24gZXJyb3IuIFVzZSB0d28gZGlmZmVyZW50CisgICAgICAgYXNzZXJ0aW9ucywgc28gaWYgYW4gYXNzZXJ0aW9uIGZhaWxzLCBpdCdzIHBvc3NpYmxlIHRvIGtub3cKKyAgICAgICBpZiByZXN1bHQgd2FzIHNldCBvciBub3QgYW5kIGlmIGFuIGV4Y2VwdGlvbiB3YXMgcmFpc2VkIG9yIG5vdC4gKi8KKyAgICBpZiAocmVzdWx0ICE9IE5VTEwpCisgICAgICAgIGFzc2VydCghZXJyX29jY3VycmVkKTsKKyAgICBlbHNlCisgICAgICAgIGFzc2VydChlcnJfb2NjdXJyZWQpOworI2VuZGlmCisKKyAgICBpZiAocmVzdWx0ID09IE5VTEwpIHsKKyAgICAgICAgaWYgKCFlcnJfb2NjdXJyZWQpIHsKKyAgICAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19TeXN0ZW1FcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAiTlVMTCByZXN1bHQgd2l0aG91dCBlcnJvciBpbiAlcyIsIGZ1bmNfbmFtZSk7CisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgfQorICAgIH0KKyAgICBlbHNlIHsKKyAgICAgICAgaWYgKGVycl9vY2N1cnJlZCkgeworICAgICAgICAgICAgUHlPYmplY3QgKmV4YywgKnZhbCwgKnRiOworICAgICAgICAgICAgUHlFcnJfRmV0Y2goJmV4YywgJnZhbCwgJnRiKTsKKworICAgICAgICAgICAgUHlfREVDUkVGKHJlc3VsdCk7CisKKyAgICAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19TeXN0ZW1FcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAicmVzdWx0IHdpdGggZXJyb3IgaW4gJXMiLCBmdW5jX25hbWUpOworICAgICAgICAgICAgX1B5RXJyX0NoYWluRXhjZXB0aW9ucyhleGMsIHZhbCwgdGIpOworICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgIH0KKyAgICB9CisgICAgcmV0dXJuIHJlc3VsdDsKK30KKwogUHlPYmplY3QgKgogUHlPYmplY3RfQ2FsbChQeU9iamVjdCAqZnVuYywgUHlPYmplY3QgKmFyZywgUHlPYmplY3QgKmt3KQogewogICAgIHRlcm5hcnlmdW5jIGNhbGw7CisgICAgUHlPYmplY3QgKnJlc3VsdDsKIAotICAgIGlmICgoY2FsbCA9IGZ1bmMtPm9iX3R5cGUtPnRwX2NhbGwpICE9IE5VTEwpIHsKLSAgICAgICAgUHlPYmplY3QgKnJlc3VsdDsKLSAgICAgICAgaWYgKFB5X0VudGVyUmVjdXJzaXZlQ2FsbCgiIHdoaWxlIGNhbGxpbmcgYSBQeXRob24gb2JqZWN0IikpCi0gICAgICAgICAgICByZXR1cm4gTlVMTDsKLSAgICAgICAgcmVzdWx0ID0gKCpjYWxsKShmdW5jLCBhcmcsIGt3KTsKLSAgICAgICAgUHlfTGVhdmVSZWN1cnNpdmVDYWxsKCk7Ci0jaWZkZWYgTkRFQlVHCi0gICAgICAgIGlmIChyZXN1bHQgPT0gTlVMTCAmJiAhUHlFcnJfT2NjdXJyZWQoKSkgewotICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKAotICAgICAgICAgICAgICAgIFB5RXhjX1N5c3RlbUVycm9yLAotICAgICAgICAgICAgICAgICJOVUxMIHJlc3VsdCB3aXRob3V0IGVycm9yIGluIFB5T2JqZWN0X0NhbGwiKTsKLSAgICAgICAgfQotI2Vsc2UKLSAgICAgICAgYXNzZXJ0KChyZXN1bHQgIT0gTlVMTCAmJiAhUHlFcnJfT2NjdXJyZWQoKSkKLSAgICAgICAgICAgICAgICB8fCAocmVzdWx0ID09IE5VTEwgJiYgUHlFcnJfT2NjdXJyZWQoKSkpOwotI2VuZGlmCi0gICAgICAgIHJldHVybiByZXN1bHQ7CisgICAgLyogUHlPYmplY3RfQ2FsbCgpIG11c3Qgbm90IGJlIGNhbGxlZCB3aXRoIGFuIGV4Y2VwdGlvbiBzZXQsCisgICAgICAgYmVjYXVzZSBpdCBtYXkgY2xlYXIgaXQgKGRpcmVjdGx5IG9yIGluZGlyZWN0bHkpIGFuZCBzbyB0aGUKKyAgICAgICBjYWxsZXIgbG9vc2VzIGl0cyBleGNlcHRpb24gKi8KKyAgICBhc3NlcnQoIVB5RXJyX09jY3VycmVkKCkpOworCisgICAgY2FsbCA9IGZ1bmMtPm9iX3R5cGUtPnRwX2NhbGw7CisgICAgaWYgKGNhbGwgPT0gTlVMTCkgeworICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVHlwZUVycm9yLCAiJyUuMjAwcycgb2JqZWN0IGlzIG5vdCBjYWxsYWJsZSIsCisgICAgICAgICAgICAgICAgICAgICBmdW5jLT5vYl90eXBlLT50cF9uYW1lKTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQotICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19UeXBlRXJyb3IsICInJS4yMDBzJyBvYmplY3QgaXMgbm90IGNhbGxhYmxlIiwKLSAgICAgICAgICAgICAgICAgZnVuYy0+b2JfdHlwZS0+dHBfbmFtZSk7Ci0gICAgcmV0dXJuIE5VTEw7CisKKyAgICBpZiAoUHlfRW50ZXJSZWN1cnNpdmVDYWxsKCIgd2hpbGUgY2FsbGluZyBhIFB5dGhvbiBvYmplY3QiKSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisKKyAgICByZXN1bHQgPSAoKmNhbGwpKGZ1bmMsIGFyZywga3cpOworCisgICAgUHlfTGVhdmVSZWN1cnNpdmVDYWxsKCk7CisKKyAgICByZXR1cm4gX1B5X0NoZWNrRnVuY3Rpb25SZXN1bHQocmVzdWx0LCAiUHlPYmplY3RfQ2FsbCIpOwogfQogCiBzdGF0aWMgUHlPYmplY3QqCkBAIC0yNDkyLDYgKzI1NzUsMTEgQEAKICAgICBpZiAoUHlfVFlQRShpbnN0KSA9PSAoUHlUeXBlT2JqZWN0ICopY2xzKQogICAgICAgICByZXR1cm4gMTsKIAorICAgIC8qIFdlIGtub3cgd2hhdCB0eXBlJ3MgX19pbnN0YW5jZWNoZWNrX18gZG9lcy4gKi8KKyAgICBpZiAoUHlUeXBlX0NoZWNrRXhhY3QoY2xzKSkgeworICAgICAgICByZXR1cm4gcmVjdXJzaXZlX2lzaW5zdGFuY2UoaW5zdCwgY2xzKTsKKyAgICB9CisKICAgICBpZiAoUHlUdXBsZV9DaGVjayhjbHMpKSB7CiAgICAgICAgIFB5X3NzaXplX3QgaTsKICAgICAgICAgUHlfc3NpemVfdCBuOwpAQCAtMjUzMCw2ICsyNjE4LDcgQEAKICAgICB9CiAgICAgZWxzZSBpZiAoUHlFcnJfT2NjdXJyZWQoKSkKICAgICAgICAgcmV0dXJuIC0xOworICAgIC8qIFByb2JhYmx5IG5ldmVyIHJlYWNoZWQgYW55bW9yZS4gKi8KICAgICByZXR1cm4gcmVjdXJzaXZlX2lzaW5zdGFuY2UoaW5zdCwgY2xzKTsKIH0KIApAQCAtMjU1Nyw2ICsyNjQ2LDE0IEBACiAgICAgX1B5X0lERU5USUZJRVIoX19zdWJjbGFzc2NoZWNrX18pOwogICAgIFB5T2JqZWN0ICpjaGVja2VyOwogCisgICAgLyogV2Uga25vdyB3aGF0IHR5cGUncyBfX3N1YmNsYXNzY2hlY2tfXyBkb2VzLiAqLworICAgIGlmIChQeVR5cGVfQ2hlY2tFeGFjdChjbHMpKSB7CisgICAgICAgIC8qIFF1aWNrIHRlc3QgZm9yIGFuIGV4YWN0IG1hdGNoICovCisgICAgICAgIGlmIChkZXJpdmVkID09IGNscykKKyAgICAgICAgICAgIHJldHVybiAxOworICAgICAgICByZXR1cm4gcmVjdXJzaXZlX2lzc3ViY2xhc3MoZGVyaXZlZCwgY2xzKTsKKyAgICB9CisKICAgICBpZiAoUHlUdXBsZV9DaGVjayhjbHMpKSB7CiAgICAgICAgIFB5X3NzaXplX3QgaTsKICAgICAgICAgUHlfc3NpemVfdCBuOwpAQCAtMjU5NSw2ICsyNjkyLDcgQEAKICAgICB9CiAgICAgZWxzZSBpZiAoUHlFcnJfT2NjdXJyZWQoKSkKICAgICAgICAgcmV0dXJuIC0xOworICAgIC8qIFByb2JhYmx5IG5ldmVyIHJlYWNoZWQgYW55bW9yZS4gKi8KICAgICByZXR1cm4gcmVjdXJzaXZlX2lzc3ViY2xhc3MoZGVyaXZlZCwgY2xzKTsKIH0KIApkaWZmIC0tZ2l0IGEvT2JqZWN0cy9ieXRlYXJyYXlvYmplY3QuYyBiL09iamVjdHMvYnl0ZWFycmF5b2JqZWN0LmMKaW5kZXggZjVlYjMyMS4uOGIzMjY3ZSAxMDA2NDQKLS0tIGEvT2JqZWN0cy9ieXRlYXJyYXlvYmplY3QuYworKysgYi9PYmplY3RzL2J5dGVhcnJheW9iamVjdC5jCkBAIC00LDYgKzQsMTIgQEAKICNpbmNsdWRlICJQeXRob24uaCIKICNpbmNsdWRlICJzdHJ1Y3RtZW1iZXIuaCIKICNpbmNsdWRlICJieXRlc19tZXRob2RzLmgiCisjaW5jbHVkZSAiYnl0ZXNvYmplY3QuaCIKKworLypbY2xpbmljIGlucHV0XQorY2xhc3MgYnl0ZWFycmF5ICJQeUJ5dGVBcnJheU9iamVjdCAqIiAiJlB5Qnl0ZUFycmF5X1R5cGUiCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ZGEzOWEzZWU1ZTZiNGIwZCBpbnB1dD01NTM1Yjc3YzM3YTExOWUwXSovCiAKIGNoYXIgX1B5Qnl0ZUFycmF5X2VtcHR5X3N0cmluZ1tdID0gIiI7CiAKQEAgLTU0LDE4ICs2MCwxNyBAQAogc3RhdGljIGludAogYnl0ZWFycmF5X2dldGJ1ZmZlcihQeUJ5dGVBcnJheU9iamVjdCAqb2JqLCBQeV9idWZmZXIgKnZpZXcsIGludCBmbGFncykKIHsKLSAgICBpbnQgcmV0OwogICAgIHZvaWQgKnB0cjsKICAgICBpZiAodmlldyA9PSBOVUxMKSB7Ci0gICAgICAgIG9iai0+b2JfZXhwb3J0cysrOwotICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX0J1ZmZlckVycm9yLAorICAgICAgICAgICAgImJ5dGVhcnJheV9nZXRidWZmZXI6IHZpZXc9PU5VTEwgYXJndW1lbnQgaXMgb2Jzb2xldGUiKTsKKyAgICAgICAgcmV0dXJuIC0xOwogICAgIH0KICAgICBwdHIgPSAodm9pZCAqKSBQeUJ5dGVBcnJheV9BU19TVFJJTkcob2JqKTsKLSAgICByZXQgPSBQeUJ1ZmZlcl9GaWxsSW5mbyh2aWV3LCAoUHlPYmplY3QqKW9iaiwgcHRyLCBQeV9TSVpFKG9iaiksIDAsIGZsYWdzKTsKLSAgICBpZiAocmV0ID49IDApIHsKLSAgICAgICAgb2JqLT5vYl9leHBvcnRzKys7Ci0gICAgfQotICAgIHJldHVybiByZXQ7CisgICAgLyogY2Fubm90IGZhaWwgaWYgdmlldyAhPSBOVUxMIGFuZCByZWFkb25seSA9PSAwICovCisgICAgKHZvaWQpUHlCdWZmZXJfRmlsbEluZm8odmlldywgKFB5T2JqZWN0KilvYmosIHB0ciwgUHlfU0laRShvYmopLCAwLCBmbGFncyk7CisgICAgb2JqLT5vYl9leHBvcnRzKys7CisgICAgcmV0dXJuIDA7CiB9CiAKIHN0YXRpYyB2b2lkCkBAIC0yNzEsNiArMjc2LDMxIEBACiAgICAgcmV0dXJuIChQeU9iamVjdCAqKXJlc3VsdDsKIH0KIAorc3RhdGljIFB5T2JqZWN0ICoKK2J5dGVhcnJheV9mb3JtYXQoUHlCeXRlQXJyYXlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQoreworICAgIFB5T2JqZWN0ICpieXRlc19pbiwgKmJ5dGVzX291dCwgKnJlczsKKyAgICBjaGFyICpieXRlc3RyaW5nOworCisgICAgaWYgKHNlbGYgPT0gTlVMTCB8fCAhUHlCeXRlQXJyYXlfQ2hlY2soc2VsZikgfHwgYXJncyA9PSBOVUxMKSB7CisgICAgICAgIFB5RXJyX0JhZEludGVybmFsQ2FsbCgpOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisgICAgYnl0ZXN0cmluZyA9IFB5Qnl0ZUFycmF5X0FTX1NUUklORyhzZWxmKTsKKyAgICBieXRlc19pbiA9IFB5Qnl0ZXNfRnJvbVN0cmluZyhieXRlc3RyaW5nKTsKKyAgICBpZiAoYnl0ZXNfaW4gPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgYnl0ZXNfb3V0ID0gX1B5Qnl0ZXNfRm9ybWF0KGJ5dGVzX2luLCBhcmdzKTsKKyAgICBQeV9ERUNSRUYoYnl0ZXNfaW4pOworICAgIGlmIChieXRlc19vdXQgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgcmVzID0gUHlCeXRlQXJyYXlfRnJvbU9iamVjdChieXRlc19vdXQpOworICAgIFB5X0RFQ1JFRihieXRlc19vdXQpOworICAgIGlmIChyZXMgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgcmV0dXJuIHJlczsKK30KKwogLyogRnVuY3Rpb25zIHN0dWZmZWQgaW50byB0aGUgdHlwZSBvYmplY3QgKi8KIAogc3RhdGljIFB5X3NzaXplX3QKQEAgLTQyOSw3ICs0NTksOSBAQAogICAgICAgICB9CiAgICAgfQogICAgIGVsc2UgewotICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCAiYnl0ZWFycmF5IGluZGljZXMgbXVzdCBiZSBpbnRlZ2VycyIpOworICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVHlwZUVycm9yLAorICAgICAgICAgICAgICAgICAgICAgImJ5dGVhcnJheSBpbmRpY2VzIG11c3QgYmUgaW50ZWdlcnMgb3Igc2xpY2VzLCBub3QgJS4yMDBzIiwKKyAgICAgICAgICAgICAgICAgICAgIFB5X1RZUEUoaW5kZXgpLT50cF9uYW1lKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQogfQpAQCAtNjM0LDcgKzY2Niw5IEBACiAgICAgICAgIH0KICAgICB9CiAgICAgZWxzZSB7Ci0gICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsICJieXRlYXJyYXkgaW5kaWNlcyBtdXN0IGJlIGludGVnZXIiKTsKKyAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1R5cGVFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICJieXRlYXJyYXkgaW5kaWNlcyBtdXN0IGJlIGludGVnZXJzIG9yIHNsaWNlcywgbm90ICUuMjAwcyIsCisgICAgICAgICAgICAgICAgICAgICAgUHlfVFlQRShpbmRleCktPnRwX25hbWUpOwogICAgICAgICByZXR1cm4gLTE7CiAgICAgfQogCkBAIC0xMjA4LDI2ICsxMjQyLDcwIEBACiAgICAgcmV0dXJuIGNvdW50X29iajsKIH0KIAotUHlEb2NfU1RSVkFSKGNsZWFyX19kb2NfXywKLSJCLmNsZWFyKCkgLT4gTm9uZVxuXAotXG5cCi1SZW1vdmUgYWxsIGl0ZW1zIGZyb20gQi4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK2J5dGVhcnJheS5jbGVhcgorCisgICAgc2VsZjogc2VsZih0eXBlPSJQeUJ5dGVBcnJheU9iamVjdCAqIikKKworUmVtb3ZlIGFsbCBpdGVtcyBmcm9tIHRoZSBieXRlYXJyYXkuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihieXRlYXJyYXlfY2xlYXJfX2RvY19fLAorImNsZWFyKCRzZWxmLCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmVtb3ZlIGFsbCBpdGVtcyBmcm9tIHRoZSBieXRlYXJyYXkuIik7CisKKyNkZWZpbmUgQllURUFSUkFZX0NMRUFSX01FVEhPRERFRiAgICBcCisgICAgeyJjbGVhciIsIChQeUNGdW5jdGlvbilieXRlYXJyYXlfY2xlYXIsIE1FVEhfTk9BUkdTLCBieXRlYXJyYXlfY2xlYXJfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLWJ5dGVhcnJheV9jbGVhcihQeUJ5dGVBcnJheU9iamVjdCAqc2VsZikKK2J5dGVhcnJheV9jbGVhcl9pbXBsKFB5Qnl0ZUFycmF5T2JqZWN0ICpzZWxmKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK2J5dGVhcnJheV9jbGVhcihQeUJ5dGVBcnJheU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKlB5X1VOVVNFRChpZ25vcmVkKSkKK3sKKyAgICByZXR1cm4gYnl0ZWFycmF5X2NsZWFyX2ltcGwoc2VsZik7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitieXRlYXJyYXlfY2xlYXJfaW1wbChQeUJ5dGVBcnJheU9iamVjdCAqc2VsZikKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD01MzQ0MDkzMDMxZTJmMzZjIGlucHV0PWU1MjRmZDMzMGFiY2RjMThdKi8KIHsKICAgICBpZiAoUHlCeXRlQXJyYXlfUmVzaXplKChQeU9iamVjdCAqKXNlbGYsIDApIDwgMCkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgUHlfUkVUVVJOX05PTkU7CiB9CiAKLVB5RG9jX1NUUlZBUihjb3B5X19kb2NfXywKLSJCLmNvcHkoKSAtPiBieXRlYXJyYXlcblwKLVxuXAotUmV0dXJuIGEgY29weSBvZiBCLiIpOworLypbY2xpbmljIGlucHV0XQorYnl0ZWFycmF5LmNvcHkKKworICAgIHNlbGY6IHNlbGYodHlwZT0iUHlCeXRlQXJyYXlPYmplY3QgKiIpCisKK1JldHVybiBhIGNvcHkgb2YgQi4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKGJ5dGVhcnJheV9jb3B5X19kb2NfXywKKyJjb3B5KCRzZWxmLCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIGEgY29weSBvZiBCLiIpOworCisjZGVmaW5lIEJZVEVBUlJBWV9DT1BZX01FVEhPRERFRiAgICBcCisgICAgeyJjb3B5IiwgKFB5Q0Z1bmN0aW9uKWJ5dGVhcnJheV9jb3B5LCBNRVRIX05PQVJHUywgYnl0ZWFycmF5X2NvcHlfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLWJ5dGVhcnJheV9jb3B5KFB5Qnl0ZUFycmF5T2JqZWN0ICpzZWxmKQorYnl0ZWFycmF5X2NvcHlfaW1wbChQeUJ5dGVBcnJheU9iamVjdCAqc2VsZik7CisKK3N0YXRpYyBQeU9iamVjdCAqCitieXRlYXJyYXlfY29weShQeUJ5dGVBcnJheU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKlB5X1VOVVNFRChpZ25vcmVkKSkKK3sKKyAgICByZXR1cm4gYnl0ZWFycmF5X2NvcHlfaW1wbChzZWxmKTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK2J5dGVhcnJheV9jb3B5X2ltcGwoUHlCeXRlQXJyYXlPYmplY3QgKnNlbGYpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ODc4OGVkMjk5ZjdmMjIxNCBpbnB1dD02ZDVkMjk3NWFhMGYzM2YzXSovCiB7CiAgICAgcmV0dXJuIFB5Qnl0ZUFycmF5X0Zyb21TdHJpbmdBbmRTaXplKFB5Qnl0ZUFycmF5X0FTX1NUUklORygoUHlPYmplY3QgKilzZWxmKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlCeXRlQXJyYXlfR0VUX1NJWkUoc2VsZikpOwpAQCAtMTQ0NiwzNiArMTUyNCw4NSBAQAogfQogCiAKLVB5RG9jX1NUUlZBUih0cmFuc2xhdGVfX2RvY19fLAotIkIudHJhbnNsYXRlKHRhYmxlWywgZGVsZXRlY2hhcnNdKSAtPiBieXRlYXJyYXlcblwKLVxuXAotUmV0dXJuIGEgY29weSBvZiBCLCB3aGVyZSBhbGwgY2hhcmFjdGVycyBvY2N1cnJpbmcgaW4gdGhlXG5cCi1vcHRpb25hbCBhcmd1bWVudCBkZWxldGVjaGFycyBhcmUgcmVtb3ZlZCwgYW5kIHRoZSByZW1haW5pbmdcblwKLWNoYXJhY3RlcnMgaGF2ZSBiZWVuIG1hcHBlZCB0aHJvdWdoIHRoZSBnaXZlbiB0cmFuc2xhdGlvblxuXAotdGFibGUsIHdoaWNoIG11c3QgYmUgYSBieXRlcyBvYmplY3Qgb2YgbGVuZ3RoIDI1Ni4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK2J5dGVhcnJheS50cmFuc2xhdGUKKworICAgIHNlbGY6IHNlbGYodHlwZT0iUHlCeXRlQXJyYXlPYmplY3QgKiIpCisgICAgdGFibGU6IG9iamVjdAorICAgICAgICBUcmFuc2xhdGlvbiB0YWJsZSwgd2hpY2ggbXVzdCBiZSBhIGJ5dGVzIG9iamVjdCBvZiBsZW5ndGggMjU2LgorICAgIFsKKyAgICBkZWxldGVjaGFyczogb2JqZWN0CisgICAgXQorICAgIC8KKworUmV0dXJuIGEgY29weSB3aXRoIGVhY2ggY2hhcmFjdGVyIG1hcHBlZCBieSB0aGUgZ2l2ZW4gdHJhbnNsYXRpb24gdGFibGUuCisKK0FsbCBjaGFyYWN0ZXJzIG9jY3VycmluZyBpbiB0aGUgb3B0aW9uYWwgYXJndW1lbnQgZGVsZXRlY2hhcnMgYXJlIHJlbW92ZWQuCitUaGUgcmVtYWluaW5nIGNoYXJhY3RlcnMgYXJlIG1hcHBlZCB0aHJvdWdoIHRoZSBnaXZlbiB0cmFuc2xhdGlvbiB0YWJsZS4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKGJ5dGVhcnJheV90cmFuc2xhdGVfX2RvY19fLAorInRyYW5zbGF0ZSh0YWJsZSwgW2RlbGV0ZWNoYXJzXSlcbiIKKyJSZXR1cm4gYSBjb3B5IHdpdGggZWFjaCBjaGFyYWN0ZXIgbWFwcGVkIGJ5IHRoZSBnaXZlbiB0cmFuc2xhdGlvbiB0YWJsZS5cbiIKKyJcbiIKKyIgIHRhYmxlXG4iCisiICAgIFRyYW5zbGF0aW9uIHRhYmxlLCB3aGljaCBtdXN0IGJlIGEgYnl0ZXMgb2JqZWN0IG9mIGxlbmd0aCAyNTYuXG4iCisiXG4iCisiQWxsIGNoYXJhY3RlcnMgb2NjdXJyaW5nIGluIHRoZSBvcHRpb25hbCBhcmd1bWVudCBkZWxldGVjaGFycyBhcmUgcmVtb3ZlZC5cbiIKKyJUaGUgcmVtYWluaW5nIGNoYXJhY3RlcnMgYXJlIG1hcHBlZCB0aHJvdWdoIHRoZSBnaXZlbiB0cmFuc2xhdGlvbiB0YWJsZS4iKTsKKworI2RlZmluZSBCWVRFQVJSQVlfVFJBTlNMQVRFX01FVEhPRERFRiAgICBcCisgICAgeyJ0cmFuc2xhdGUiLCAoUHlDRnVuY3Rpb24pYnl0ZWFycmF5X3RyYW5zbGF0ZSwgTUVUSF9WQVJBUkdTLCBieXRlYXJyYXlfdHJhbnNsYXRlX19kb2NfX30sCisKK3N0YXRpYyBQeU9iamVjdCAqCitieXRlYXJyYXlfdHJhbnNsYXRlX2ltcGwoUHlCeXRlQXJyYXlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICp0YWJsZSwgaW50IGdyb3VwX3JpZ2h0XzEsIFB5T2JqZWN0ICpkZWxldGVjaGFycyk7CiAKIHN0YXRpYyBQeU9iamVjdCAqCiBieXRlYXJyYXlfdHJhbnNsYXRlKFB5Qnl0ZUFycmF5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKIHsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBQeU9iamVjdCAqdGFibGU7CisgICAgaW50IGdyb3VwX3JpZ2h0XzEgPSAwOworICAgIFB5T2JqZWN0ICpkZWxldGVjaGFycyA9IE5VTEw7CisKKyAgICBzd2l0Y2ggKFB5VHVwbGVfR0VUX1NJWkUoYXJncykpIHsKKyAgICAgICAgY2FzZSAxOgorICAgICAgICAgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJPOnRyYW5zbGF0ZSIsICZ0YWJsZSkpCisgICAgICAgICAgICAgICAgZ290byBleGl0OworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgMjoKKyAgICAgICAgICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiT086dHJhbnNsYXRlIiwgJnRhYmxlLCAmZGVsZXRlY2hhcnMpKQorICAgICAgICAgICAgICAgIGdvdG8gZXhpdDsKKyAgICAgICAgICAgIGdyb3VwX3JpZ2h0XzEgPSAxOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCAiYnl0ZWFycmF5LnRyYW5zbGF0ZSByZXF1aXJlcyAxIHRvIDIgYXJndW1lbnRzIik7CisgICAgICAgICAgICBnb3RvIGV4aXQ7CisgICAgfQorICAgIHJldHVybl92YWx1ZSA9IGJ5dGVhcnJheV90cmFuc2xhdGVfaW1wbChzZWxmLCB0YWJsZSwgZ3JvdXBfcmlnaHRfMSwgZGVsZXRlY2hhcnMpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitieXRlYXJyYXlfdHJhbnNsYXRlX2ltcGwoUHlCeXRlQXJyYXlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICp0YWJsZSwgaW50IGdyb3VwX3JpZ2h0XzEsIFB5T2JqZWN0ICpkZWxldGVjaGFycykKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1hNzA5ZGY4MWQ0MWRiNGI3IGlucHV0PWI3NDlhZDg1ZjQ4NjA4MjRdKi8KK3sKICAgICBjaGFyICppbnB1dCwgKm91dHB1dDsKLSAgICBjb25zdCBjaGFyICp0YWJsZTsKKyAgICBjb25zdCBjaGFyICp0YWJsZV9jaGFyczsKICAgICBQeV9zc2l6ZV90IGksIGM7CiAgICAgUHlPYmplY3QgKmlucHV0X29iaiA9IChQeU9iamVjdCopc2VsZjsKICAgICBjb25zdCBjaGFyICpvdXRwdXRfc3RhcnQ7CiAgICAgUHlfc3NpemVfdCBpbmxlbjsKICAgICBQeU9iamVjdCAqcmVzdWx0ID0gTlVMTDsKICAgICBpbnQgdHJhbnNfdGFibGVbMjU2XTsKLSAgICBQeU9iamVjdCAqdGFibGVvYmogPSBOVUxMLCAqZGVsb2JqID0gTlVMTDsKICAgICBQeV9idWZmZXIgdnRhYmxlLCB2ZGVsOwogCi0gICAgaWYgKCFQeUFyZ19VbnBhY2tUdXBsZShhcmdzLCAidHJhbnNsYXRlIiwgMSwgMiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICZ0YWJsZW9iaiwgJmRlbG9iaikpCi0gICAgICAgICAgcmV0dXJuIE5VTEw7Ci0KLSAgICBpZiAodGFibGVvYmogPT0gUHlfTm9uZSkgeworICAgIGlmICh0YWJsZSA9PSBQeV9Ob25lKSB7CisgICAgICAgIHRhYmxlX2NoYXJzID0gTlVMTDsKICAgICAgICAgdGFibGUgPSBOVUxMOwotICAgICAgICB0YWJsZW9iaiA9IE5VTEw7Ci0gICAgfSBlbHNlIGlmIChQeU9iamVjdF9HZXRCdWZmZXIodGFibGVvYmosICZ2dGFibGUsIFB5QlVGX1NJTVBMRSkgIT0gMCkgeworICAgIH0gZWxzZSBpZiAoUHlPYmplY3RfR2V0QnVmZmVyKHRhYmxlLCAmdnRhYmxlLCBQeUJVRl9TSU1QTEUpICE9IDApIHsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfSBlbHNlIHsKICAgICAgICAgaWYgKHZ0YWJsZS5sZW4gIT0gMjU2KSB7CkBAIC0xNDg0LDEyICsxNjExLDEyIEBACiAgICAgICAgICAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZ2dGFibGUpOwogICAgICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgICAgIH0KLSAgICAgICAgdGFibGUgPSAoY29uc3QgY2hhciopdnRhYmxlLmJ1ZjsKKyAgICAgICAgdGFibGVfY2hhcnMgPSAoY29uc3QgY2hhciopdnRhYmxlLmJ1ZjsKICAgICB9CiAKLSAgICBpZiAoZGVsb2JqICE9IE5VTEwpIHsKLSAgICAgICAgaWYgKFB5T2JqZWN0X0dldEJ1ZmZlcihkZWxvYmosICZ2ZGVsLCBQeUJVRl9TSU1QTEUpICE9IDApIHsKLSAgICAgICAgICAgIGlmICh0YWJsZW9iaiAhPSBOVUxMKQorICAgIGlmIChkZWxldGVjaGFycyAhPSBOVUxMKSB7CisgICAgICAgIGlmIChQeU9iamVjdF9HZXRCdWZmZXIoZGVsZXRlY2hhcnMsICZ2ZGVsLCBQeUJVRl9TSU1QTEUpICE9IDApIHsKKyAgICAgICAgICAgIGlmICh0YWJsZSAhPSBOVUxMKQogICAgICAgICAgICAgICAgIFB5QnVmZmVyX1JlbGVhc2UoJnZ0YWJsZSk7CiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKICAgICAgICAgfQpAQCAtMTUwNiwyMSArMTYzMywyMSBAQAogICAgIG91dHB1dF9zdGFydCA9IG91dHB1dCA9IFB5Qnl0ZUFycmF5X0FzU3RyaW5nKHJlc3VsdCk7CiAgICAgaW5wdXQgPSBQeUJ5dGVBcnJheV9BU19TVFJJTkcoaW5wdXRfb2JqKTsKIAotICAgIGlmICh2ZGVsLmxlbiA9PSAwICYmIHRhYmxlICE9IE5VTEwpIHsKKyAgICBpZiAodmRlbC5sZW4gPT0gMCAmJiB0YWJsZV9jaGFycyAhPSBOVUxMKSB7CiAgICAgICAgIC8qIElmIG5vIGRlbGV0aW9ucyBhcmUgcmVxdWlyZWQsIHVzZSBmYXN0ZXIgY29kZSAqLwogICAgICAgICBmb3IgKGkgPSBpbmxlbjsgLS1pID49IDA7ICkgewogICAgICAgICAgICAgYyA9IFB5X0NIQVJNQVNLKCppbnB1dCsrKTsKLSAgICAgICAgICAgICpvdXRwdXQrKyA9IHRhYmxlW2NdOworICAgICAgICAgICAgKm91dHB1dCsrID0gdGFibGVfY2hhcnNbY107CiAgICAgICAgIH0KICAgICAgICAgZ290byBkb25lOwogICAgIH0KIAotICAgIGlmICh0YWJsZSA9PSBOVUxMKSB7CisgICAgaWYgKHRhYmxlX2NoYXJzID09IE5VTEwpIHsKICAgICAgICAgZm9yIChpID0gMDsgaSA8IDI1NjsgaSsrKQogICAgICAgICAgICAgdHJhbnNfdGFibGVbaV0gPSBQeV9DSEFSTUFTSyhpKTsKICAgICB9IGVsc2UgewogICAgICAgICBmb3IgKGkgPSAwOyBpIDwgMjU2OyBpKyspCi0gICAgICAgICAgICB0cmFuc190YWJsZVtpXSA9IFB5X0NIQVJNQVNLKHRhYmxlW2ldKTsKKyAgICAgICAgICAgIHRyYW5zX3RhYmxlW2ldID0gUHlfQ0hBUk1BU0sodGFibGVfY2hhcnNbaV0pOwogICAgIH0KIAogICAgIGZvciAoaSA9IDA7IGkgPCB2ZGVsLmxlbjsgaSsrKQpAQCAtMTU0MCwxOCArMTY2Nyw3NyBAQAogICAgICAgICB9CiAKIGRvbmU6Ci0gICAgaWYgKHRhYmxlb2JqICE9IE5VTEwpCisgICAgaWYgKHRhYmxlICE9IE5VTEwpCiAgICAgICAgIFB5QnVmZmVyX1JlbGVhc2UoJnZ0YWJsZSk7Ci0gICAgaWYgKGRlbG9iaiAhPSBOVUxMKQorICAgIGlmIChkZWxldGVjaGFycyAhPSBOVUxMKQogICAgICAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZ2ZGVsKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogCiAKKy8qW2NsaW5pYyBpbnB1dF0KKworQHN0YXRpY21ldGhvZAorYnl0ZWFycmF5Lm1ha2V0cmFucworCisgICAgZnJtOiBQeV9idWZmZXIKKyAgICB0bzogUHlfYnVmZmVyCisgICAgLworCitSZXR1cm4gYSB0cmFuc2xhdGlvbiB0YWJsZSB1c2VhYmxlIGZvciB0aGUgYnl0ZXMgb3IgYnl0ZWFycmF5IHRyYW5zbGF0ZSBtZXRob2QuCisKK1RoZSByZXR1cm5lZCB0YWJsZSB3aWxsIGJlIG9uZSB3aGVyZSBlYWNoIGJ5dGUgaW4gZnJtIGlzIG1hcHBlZCB0byB0aGUgYnl0ZSBhdAordGhlIHNhbWUgcG9zaXRpb24gaW4gdG8uCisKK1RoZSBieXRlcyBvYmplY3RzIGZybSBhbmQgdG8gbXVzdCBiZSBvZiB0aGUgc2FtZSBsZW5ndGguCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihieXRlYXJyYXlfbWFrZXRyYW5zX19kb2NfXywKKyJtYWtldHJhbnMoZnJtLCB0bywgLylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiBhIHRyYW5zbGF0aW9uIHRhYmxlIHVzZWFibGUgZm9yIHRoZSBieXRlcyBvciBieXRlYXJyYXkgdHJhbnNsYXRlIG1ldGhvZC5cbiIKKyJcbiIKKyJUaGUgcmV0dXJuZWQgdGFibGUgd2lsbCBiZSBvbmUgd2hlcmUgZWFjaCBieXRlIGluIGZybSBpcyBtYXBwZWQgdG8gdGhlIGJ5dGUgYXRcbiIKKyJ0aGUgc2FtZSBwb3NpdGlvbiBpbiB0by5cbiIKKyJcbiIKKyJUaGUgYnl0ZXMgb2JqZWN0cyBmcm0gYW5kIHRvIG11c3QgYmUgb2YgdGhlIHNhbWUgbGVuZ3RoLiIpOworCisjZGVmaW5lIEJZVEVBUlJBWV9NQUtFVFJBTlNfTUVUSE9EREVGICAgIFwKKyAgICB7Im1ha2V0cmFucyIsIChQeUNGdW5jdGlvbilieXRlYXJyYXlfbWFrZXRyYW5zLCBNRVRIX1ZBUkFSR1N8TUVUSF9TVEFUSUMsIGJ5dGVhcnJheV9tYWtldHJhbnNfX2RvY19ffSwKKwogc3RhdGljIFB5T2JqZWN0ICoKLWJ5dGVhcnJheV9tYWtldHJhbnMoUHlPYmplY3QgKm51bGwsIFB5T2JqZWN0ICphcmdzKQorYnl0ZWFycmF5X21ha2V0cmFuc19pbXBsKFB5X2J1ZmZlciAqZnJtLCBQeV9idWZmZXIgKnRvKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK2J5dGVhcnJheV9tYWtldHJhbnModm9pZCAqbnVsbCwgUHlPYmplY3QgKmFyZ3MpCiB7Ci0gICAgICAgIHJldHVybiBfUHlfYnl0ZXNfbWFrZXRyYW5zKGFyZ3MpOworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIFB5X2J1ZmZlciBmcm0gPSB7TlVMTCwgTlVMTH07CisgICAgUHlfYnVmZmVyIHRvID0ge05VTEwsIE5VTEx9OworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICJ5KnkqOm1ha2V0cmFucyIsCisgICAgICAgICZmcm0sICZ0bykpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBieXRlYXJyYXlfbWFrZXRyYW5zX2ltcGwoJmZybSwgJnRvKTsKKworZXhpdDoKKyAgICAvKiBDbGVhbnVwIGZvciBmcm0gKi8KKyAgICBpZiAoZnJtLm9iaikKKyAgICAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZmcm0pOworICAgIC8qIENsZWFudXAgZm9yIHRvICovCisgICAgaWYgKHRvLm9iaikKKyAgICAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZ0byk7CisKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorYnl0ZWFycmF5X21ha2V0cmFuc19pbXBsKFB5X2J1ZmZlciAqZnJtLCBQeV9idWZmZXIgKnRvKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWQzMzI2MjI4MTRjMjZmNGIgaW5wdXQ9NTkyNWE4MWQyZmJiZjE1MV0qLworeworICAgIHJldHVybiBfUHlfYnl0ZXNfbWFrZXRyYW5zKGZybSwgdG8pOwogfQogCiAKQEAgLTIwNDIsNjEgKzIyMjgsMTQzIEBACiB9CiAKIAotUHlEb2NfU1RSVkFSKHJlcGxhY2VfX2RvY19fLAotIkIucmVwbGFjZShvbGQsIG5ld1ssIGNvdW50XSkgLT4gYnl0ZWFycmF5XG5cCi1cblwKLVJldHVybiBhIGNvcHkgb2YgQiB3aXRoIGFsbCBvY2N1cnJlbmNlcyBvZiBzdWJzZWN0aW9uXG5cCi1vbGQgcmVwbGFjZWQgYnkgbmV3LiAgSWYgdGhlIG9wdGlvbmFsIGFyZ3VtZW50IGNvdW50IGlzXG5cCi1naXZlbiwgb25seSB0aGUgZmlyc3QgY291bnQgb2NjdXJyZW5jZXMgYXJlIHJlcGxhY2VkLiIpOworLypbY2xpbmljIGlucHV0XQorYnl0ZWFycmF5LnJlcGxhY2UKKworICAgIG9sZDogUHlfYnVmZmVyCisgICAgbmV3OiBQeV9idWZmZXIKKyAgICBjb3VudDogUHlfc3NpemVfdCA9IC0xCisgICAgICAgIE1heGltdW0gbnVtYmVyIG9mIG9jY3VycmVuY2VzIHRvIHJlcGxhY2UuCisgICAgICAgIC0xICh0aGUgZGVmYXVsdCB2YWx1ZSkgbWVhbnMgcmVwbGFjZSBhbGwgb2NjdXJyZW5jZXMuCisgICAgLworCitSZXR1cm4gYSBjb3B5IHdpdGggYWxsIG9jY3VycmVuY2VzIG9mIHN1YnN0cmluZyBvbGQgcmVwbGFjZWQgYnkgbmV3LgorCitJZiB0aGUgb3B0aW9uYWwgYXJndW1lbnQgY291bnQgaXMgZ2l2ZW4sIG9ubHkgdGhlIGZpcnN0IGNvdW50IG9jY3VycmVuY2VzIGFyZQorcmVwbGFjZWQuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihieXRlYXJyYXlfcmVwbGFjZV9fZG9jX18sCisicmVwbGFjZSgkc2VsZiwgb2xkLCBuZXcsIGNvdW50PS0xLCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIGEgY29weSB3aXRoIGFsbCBvY2N1cnJlbmNlcyBvZiBzdWJzdHJpbmcgb2xkIHJlcGxhY2VkIGJ5IG5ldy5cbiIKKyJcbiIKKyIgIGNvdW50XG4iCisiICAgIE1heGltdW0gbnVtYmVyIG9mIG9jY3VycmVuY2VzIHRvIHJlcGxhY2UuXG4iCisiICAgIC0xICh0aGUgZGVmYXVsdCB2YWx1ZSkgbWVhbnMgcmVwbGFjZSBhbGwgb2NjdXJyZW5jZXMuXG4iCisiXG4iCisiSWYgdGhlIG9wdGlvbmFsIGFyZ3VtZW50IGNvdW50IGlzIGdpdmVuLCBvbmx5IHRoZSBmaXJzdCBjb3VudCBvY2N1cnJlbmNlcyBhcmVcbiIKKyJyZXBsYWNlZC4iKTsKKworI2RlZmluZSBCWVRFQVJSQVlfUkVQTEFDRV9NRVRIT0RERUYgICAgXAorICAgIHsicmVwbGFjZSIsIChQeUNGdW5jdGlvbilieXRlYXJyYXlfcmVwbGFjZSwgTUVUSF9WQVJBUkdTLCBieXRlYXJyYXlfcmVwbGFjZV9fZG9jX199LAorCitzdGF0aWMgUHlPYmplY3QgKgorYnl0ZWFycmF5X3JlcGxhY2VfaW1wbChQeUJ5dGVBcnJheU9iamVjdCAqc2VsZiwgUHlfYnVmZmVyICpvbGQsIFB5X2J1ZmZlciAqbmV3LCBQeV9zc2l6ZV90IGNvdW50KTsKIAogc3RhdGljIFB5T2JqZWN0ICoKIGJ5dGVhcnJheV9yZXBsYWNlKFB5Qnl0ZUFycmF5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKIHsKLSAgICBQeU9iamVjdCAqcmVzOworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOwogICAgIFB5X2J1ZmZlciBvbGQgPSB7TlVMTCwgTlVMTH07CiAgICAgUHlfYnVmZmVyIG5ldyA9IHtOVUxMLCBOVUxMfTsKICAgICBQeV9zc2l6ZV90IGNvdW50ID0gLTE7CiAKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgInkqeSp8bjpyZXBsYWNlIiwgJm9sZCwgJm5ldywgJmNvdW50KSkKLSAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICJ5KnkqfG46cmVwbGFjZSIsCisgICAgICAgICZvbGQsICZuZXcsICZjb3VudCkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBieXRlYXJyYXlfcmVwbGFjZV9pbXBsKHNlbGYsICZvbGQsICZuZXcsIGNvdW50KTsKIAotICAgIHJlcyA9IChQeU9iamVjdCAqKXJlcGxhY2UoKFB5Qnl0ZUFycmF5T2JqZWN0ICopIHNlbGYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY29uc3QgY2hhciAqKW9sZC5idWYsIG9sZC5sZW4sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY29uc3QgY2hhciAqKW5ldy5idWYsIG5ldy5sZW4sIGNvdW50KTsKK2V4aXQ6CisgICAgLyogQ2xlYW51cCBmb3Igb2xkICovCisgICAgaWYgKG9sZC5vYmopCisgICAgICAgUHlCdWZmZXJfUmVsZWFzZSgmb2xkKTsKKyAgICAvKiBDbGVhbnVwIGZvciBuZXcgKi8KKyAgICBpZiAobmV3Lm9iaikKKyAgICAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZuZXcpOwogCi0gICAgUHlCdWZmZXJfUmVsZWFzZSgmb2xkKTsKLSAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZuZXcpOwotICAgIHJldHVybiByZXM7CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKIH0KIAotUHlEb2NfU1RSVkFSKHNwbGl0X19kb2NfXywKLSJCLnNwbGl0KHNlcD1Ob25lLCBtYXhzcGxpdD0tMSkgLT4gbGlzdCBvZiBieXRlYXJyYXlzXG5cCi1cblwKLVJldHVybiBhIGxpc3Qgb2YgdGhlIHNlY3Rpb25zIGluIEIsIHVzaW5nIHNlcCBhcyB0aGUgZGVsaW1pdGVyLlxuXAotSWYgc2VwIGlzIG5vdCBnaXZlbiwgQiBpcyBzcGxpdCBvbiBBU0NJSSB3aGl0ZXNwYWNlIGNoYXJhY3RlcnNcblwKLShzcGFjZSwgdGFiLCByZXR1cm4sIG5ld2xpbmUsIGZvcm1mZWVkLCB2ZXJ0aWNhbCB0YWIpLlxuXAotSWYgbWF4c3BsaXQgaXMgZ2l2ZW4sIGF0IG1vc3QgbWF4c3BsaXQgc3BsaXRzIGFyZSBkb25lLiIpOworc3RhdGljIFB5T2JqZWN0ICoKK2J5dGVhcnJheV9yZXBsYWNlX2ltcGwoUHlCeXRlQXJyYXlPYmplY3QgKnNlbGYsIFB5X2J1ZmZlciAqb2xkLCBQeV9idWZmZXIgKm5ldywgUHlfc3NpemVfdCBjb3VudCkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD05OTk3ZmJiZDViYWM0ODgzIGlucHV0PWFhMzc5ZDk4ODYzN2M3ZmJdKi8KK3sKKyAgICByZXR1cm4gKFB5T2JqZWN0ICopcmVwbGFjZSgoUHlCeXRlQXJyYXlPYmplY3QgKikgc2VsZiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbGQtPmJ1Ziwgb2xkLT5sZW4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3LT5idWYsIG5ldy0+bGVuLCBjb3VudCk7Cit9CisKKy8qW2NsaW5pYyBpbnB1dF0KK2J5dGVhcnJheS5zcGxpdAorCisgICAgc2VwOiBvYmplY3QgPSBOb25lCisgICAgICAgIFRoZSBkZWxpbWl0ZXIgYWNjb3JkaW5nIHdoaWNoIHRvIHNwbGl0IHRoZSBieXRlYXJyYXkuCisgICAgICAgIE5vbmUgKHRoZSBkZWZhdWx0IHZhbHVlKSBtZWFucyBzcGxpdCBvbiBBU0NJSSB3aGl0ZXNwYWNlIGNoYXJhY3RlcnMKKyAgICAgICAgKHNwYWNlLCB0YWIsIHJldHVybiwgbmV3bGluZSwgZm9ybWZlZWQsIHZlcnRpY2FsIHRhYikuCisgICAgbWF4c3BsaXQ6IFB5X3NzaXplX3QgPSAtMQorICAgICAgICBNYXhpbXVtIG51bWJlciBvZiBzcGxpdHMgdG8gZG8uCisgICAgICAgIC0xICh0aGUgZGVmYXVsdCB2YWx1ZSkgbWVhbnMgbm8gbGltaXQuCisKK1JldHVybiBhIGxpc3Qgb2YgdGhlIHNlY3Rpb25zIGluIHRoZSBieXRlYXJyYXksIHVzaW5nIHNlcCBhcyB0aGUgZGVsaW1pdGVyLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIoYnl0ZWFycmF5X3NwbGl0X19kb2NfXywKKyJzcGxpdCgkc2VsZiwgLywgc2VwPU5vbmUsIG1heHNwbGl0PS0xKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIGEgbGlzdCBvZiB0aGUgc2VjdGlvbnMgaW4gdGhlIGJ5dGVhcnJheSwgdXNpbmcgc2VwIGFzIHRoZSBkZWxpbWl0ZXIuXG4iCisiXG4iCisiICBzZXBcbiIKKyIgICAgVGhlIGRlbGltaXRlciBhY2NvcmRpbmcgd2hpY2ggdG8gc3BsaXQgdGhlIGJ5dGVhcnJheS5cbiIKKyIgICAgTm9uZSAodGhlIGRlZmF1bHQgdmFsdWUpIG1lYW5zIHNwbGl0IG9uIEFTQ0lJIHdoaXRlc3BhY2UgY2hhcmFjdGVyc1xuIgorIiAgICAoc3BhY2UsIHRhYiwgcmV0dXJuLCBuZXdsaW5lLCBmb3JtZmVlZCwgdmVydGljYWwgdGFiKS5cbiIKKyIgIG1heHNwbGl0XG4iCisiICAgIE1heGltdW0gbnVtYmVyIG9mIHNwbGl0cyB0byBkby5cbiIKKyIgICAgLTEgKHRoZSBkZWZhdWx0IHZhbHVlKSBtZWFucyBubyBsaW1pdC4iKTsKKworI2RlZmluZSBCWVRFQVJSQVlfU1BMSVRfTUVUSE9EREVGICAgIFwKKyAgICB7InNwbGl0IiwgKFB5Q0Z1bmN0aW9uKWJ5dGVhcnJheV9zcGxpdCwgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIGJ5dGVhcnJheV9zcGxpdF9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotYnl0ZWFycmF5X3NwbGl0KFB5Qnl0ZUFycmF5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3ZHMpCitieXRlYXJyYXlfc3BsaXRfaW1wbChQeUJ5dGVBcnJheU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKnNlcCwgUHlfc3NpemVfdCBtYXhzcGxpdCk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitieXRlYXJyYXlfc3BsaXQoUHlCeXRlQXJyYXlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQogewotICAgIHN0YXRpYyBjaGFyICprd2xpc3RbXSA9IHsic2VwIiwgIm1heHNwbGl0IiwgMH07Ci0gICAgUHlfc3NpemVfdCBsZW4gPSBQeUJ5dGVBcnJheV9HRVRfU0laRShzZWxmKSwgbjsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBzdGF0aWMgY2hhciAqX2tleXdvcmRzW10gPSB7InNlcCIsICJtYXhzcGxpdCIsIE5VTEx9OworICAgIFB5T2JqZWN0ICpzZXAgPSBQeV9Ob25lOwogICAgIFB5X3NzaXplX3QgbWF4c3BsaXQgPSAtMTsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywKKyAgICAgICAgInxPbjpzcGxpdCIsIF9rZXl3b3JkcywKKyAgICAgICAgJnNlcCwgJm1heHNwbGl0KSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IGJ5dGVhcnJheV9zcGxpdF9pbXBsKHNlbGYsIHNlcCwgbWF4c3BsaXQpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitieXRlYXJyYXlfc3BsaXRfaW1wbChQeUJ5dGVBcnJheU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKnNlcCwgUHlfc3NpemVfdCBtYXhzcGxpdCkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD0wNjJhM2Q4N2Q2ZjkxOGZhIGlucHV0PTI0ZjgyNjY5ZjQxYmY1MjNdKi8KK3sKKyAgICBQeV9zc2l6ZV90IGxlbiA9IFB5Qnl0ZUFycmF5X0dFVF9TSVpFKHNlbGYpLCBuOwogICAgIGNvbnN0IGNoYXIgKnMgPSBQeUJ5dGVBcnJheV9BU19TVFJJTkcoc2VsZiksICpzdWI7Ci0gICAgUHlPYmplY3QgKmxpc3QsICpzdWJvYmogPSBQeV9Ob25lOworICAgIFB5T2JqZWN0ICpsaXN0OwogICAgIFB5X2J1ZmZlciB2c3ViOwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dkcywgInxPbjpzcGxpdCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga3dsaXN0LCAmc3Vib2JqLCAmbWF4c3BsaXQpKQotICAgICAgICByZXR1cm4gTlVMTDsKICAgICBpZiAobWF4c3BsaXQgPCAwKQogICAgICAgICBtYXhzcGxpdCA9IFBZX1NTSVpFX1RfTUFYOwogCi0gICAgaWYgKHN1Ym9iaiA9PSBQeV9Ob25lKQorICAgIGlmIChzZXAgPT0gUHlfTm9uZSkKICAgICAgICAgcmV0dXJuIHN0cmluZ2xpYl9zcGxpdF93aGl0ZXNwYWNlKChQeU9iamVjdCopIHNlbGYsIHMsIGxlbiwgbWF4c3BsaXQpOwogCi0gICAgaWYgKFB5T2JqZWN0X0dldEJ1ZmZlcihzdWJvYmosICZ2c3ViLCBQeUJVRl9TSU1QTEUpICE9IDApCisgICAgaWYgKFB5T2JqZWN0X0dldEJ1ZmZlcihzZXAsICZ2c3ViLCBQeUJVRl9TSU1QTEUpICE9IDApCiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIHN1YiA9IHZzdWIuYnVmOwogICAgIG4gPSB2c3ViLmxlbjsKQEAgLTIxMDgsMTkgKzIzNzYsNDYgQEAKICAgICByZXR1cm4gbGlzdDsKIH0KIAotUHlEb2NfU1RSVkFSKHBhcnRpdGlvbl9fZG9jX18sCi0iQi5wYXJ0aXRpb24oc2VwKSAtPiAoaGVhZCwgc2VwLCB0YWlsKVxuXAotXG5cCi1TZWFyY2ggZm9yIHRoZSBzZXBhcmF0b3Igc2VwIGluIEIsIGFuZCByZXR1cm4gdGhlIHBhcnQgYmVmb3JlIGl0LFxuXAotdGhlIHNlcGFyYXRvciBpdHNlbGYsIGFuZCB0aGUgcGFydCBhZnRlciBpdC4gIElmIHRoZSBzZXBhcmF0b3IgaXMgbm90XG5cCi1mb3VuZCwgcmV0dXJucyBCIGFuZCB0d28gZW1wdHkgYnl0ZWFycmF5IG9iamVjdHMuIik7CisvKltjbGluaWMgaW5wdXRdCitieXRlYXJyYXkucGFydGl0aW9uCisKKyAgICBzZWxmOiBzZWxmKHR5cGU9IlB5Qnl0ZUFycmF5T2JqZWN0ICoiKQorICAgIHNlcDogb2JqZWN0CisgICAgLworCitQYXJ0aXRpb24gdGhlIGJ5dGVhcnJheSBpbnRvIHRocmVlIHBhcnRzIHVzaW5nIHRoZSBnaXZlbiBzZXBhcmF0b3IuCisKK1RoaXMgd2lsbCBzZWFyY2ggZm9yIHRoZSBzZXBhcmF0b3Igc2VwIGluIHRoZSBieXRlYXJyYXkuIElmIHRoZSBzZXBhcmF0b3IgaXMKK2ZvdW5kLCByZXR1cm5zIGEgMy10dXBsZSBjb250YWluaW5nIHRoZSBwYXJ0IGJlZm9yZSB0aGUgc2VwYXJhdG9yLCB0aGUKK3NlcGFyYXRvciBpdHNlbGYsIGFuZCB0aGUgcGFydCBhZnRlciBpdC4KKworSWYgdGhlIHNlcGFyYXRvciBpcyBub3QgZm91bmQsIHJldHVybnMgYSAzLXR1cGxlIGNvbnRhaW5pbmcgdGhlIG9yaWdpbmFsCitieXRlYXJyYXkgb2JqZWN0IGFuZCB0d28gZW1wdHkgYnl0ZWFycmF5IG9iamVjdHMuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihieXRlYXJyYXlfcGFydGl0aW9uX19kb2NfXywKKyJwYXJ0aXRpb24oJHNlbGYsIHNlcCwgLylcbiIKKyItLVxuIgorIlxuIgorIlBhcnRpdGlvbiB0aGUgYnl0ZWFycmF5IGludG8gdGhyZWUgcGFydHMgdXNpbmcgdGhlIGdpdmVuIHNlcGFyYXRvci5cbiIKKyJcbiIKKyJUaGlzIHdpbGwgc2VhcmNoIGZvciB0aGUgc2VwYXJhdG9yIHNlcCBpbiB0aGUgYnl0ZWFycmF5LiBJZiB0aGUgc2VwYXJhdG9yIGlzXG4iCisiZm91bmQsIHJldHVybnMgYSAzLXR1cGxlIGNvbnRhaW5pbmcgdGhlIHBhcnQgYmVmb3JlIHRoZSBzZXBhcmF0b3IsIHRoZVxuIgorInNlcGFyYXRvciBpdHNlbGYsIGFuZCB0aGUgcGFydCBhZnRlciBpdC5cbiIKKyJcbiIKKyJJZiB0aGUgc2VwYXJhdG9yIGlzIG5vdCBmb3VuZCwgcmV0dXJucyBhIDMtdHVwbGUgY29udGFpbmluZyB0aGUgb3JpZ2luYWxcbiIKKyJieXRlYXJyYXkgb2JqZWN0IGFuZCB0d28gZW1wdHkgYnl0ZWFycmF5IG9iamVjdHMuIik7CisKKyNkZWZpbmUgQllURUFSUkFZX1BBUlRJVElPTl9NRVRIT0RERUYgICAgXAorICAgIHsicGFydGl0aW9uIiwgKFB5Q0Z1bmN0aW9uKWJ5dGVhcnJheV9wYXJ0aXRpb24sIE1FVEhfTywgYnl0ZWFycmF5X3BhcnRpdGlvbl9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotYnl0ZWFycmF5X3BhcnRpdGlvbihQeUJ5dGVBcnJheU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKnNlcF9vYmopCitieXRlYXJyYXlfcGFydGl0aW9uKFB5Qnl0ZUFycmF5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqc2VwKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTI2NDUxMzgyMjFmZTZmNGQgaW5wdXQ9N2Q3ZmUzN2IxNjk2ZDUwNl0qLwogewogICAgIFB5T2JqZWN0ICpieXRlc2VwLCAqcmVzdWx0OwogCi0gICAgYnl0ZXNlcCA9IFB5Qnl0ZUFycmF5X0Zyb21PYmplY3Qoc2VwX29iaik7CisgICAgYnl0ZXNlcCA9IFB5Qnl0ZUFycmF5X0Zyb21PYmplY3Qoc2VwKTsKICAgICBpZiAoISBieXRlc2VwKQogICAgICAgICByZXR1cm4gTlVMTDsKIApAQCAtMjEzNSwyMCArMjQzMCw0NiBAQAogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLVB5RG9jX1NUUlZBUihycGFydGl0aW9uX19kb2NfXywKLSJCLnJwYXJ0aXRpb24oc2VwKSAtPiAoaGVhZCwgc2VwLCB0YWlsKVxuXAotXG5cCi1TZWFyY2ggZm9yIHRoZSBzZXBhcmF0b3Igc2VwIGluIEIsIHN0YXJ0aW5nIGF0IHRoZSBlbmQgb2YgQixcblwKLWFuZCByZXR1cm4gdGhlIHBhcnQgYmVmb3JlIGl0LCB0aGUgc2VwYXJhdG9yIGl0c2VsZiwgYW5kIHRoZVxuXAotcGFydCBhZnRlciBpdC4gIElmIHRoZSBzZXBhcmF0b3IgaXMgbm90IGZvdW5kLCByZXR1cm5zIHR3byBlbXB0eVxuXAotYnl0ZWFycmF5IG9iamVjdHMgYW5kIEIuIik7CisvKltjbGluaWMgaW5wdXRdCitieXRlYXJyYXkucnBhcnRpdGlvbgorCisgICAgc2VsZjogc2VsZih0eXBlPSJQeUJ5dGVBcnJheU9iamVjdCAqIikKKyAgICBzZXA6IG9iamVjdAorICAgIC8KKworUGFydGl0aW9uIHRoZSBieXRlcyBpbnRvIHRocmVlIHBhcnRzIHVzaW5nIHRoZSBnaXZlbiBzZXBhcmF0b3IuCisKK1RoaXMgd2lsbCBzZWFyY2ggZm9yIHRoZSBzZXBhcmF0b3Igc2VwIGluIHRoZSBieXRlYXJyYXksIHN0YXJ0aW5nIGFuZCB0aGUgZW5kLgorSWYgdGhlIHNlcGFyYXRvciBpcyBmb3VuZCwgcmV0dXJucyBhIDMtdHVwbGUgY29udGFpbmluZyB0aGUgcGFydCBiZWZvcmUgdGhlCitzZXBhcmF0b3IsIHRoZSBzZXBhcmF0b3IgaXRzZWxmLCBhbmQgdGhlIHBhcnQgYWZ0ZXIgaXQuCisKK0lmIHRoZSBzZXBhcmF0b3IgaXMgbm90IGZvdW5kLCByZXR1cm5zIGEgMy10dXBsZSBjb250YWluaW5nIHR3byBlbXB0eSBieXRlYXJyYXkKK29iamVjdHMgYW5kIHRoZSBvcmlnaW5hbCBieXRlYXJyYXkgb2JqZWN0LgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIoYnl0ZWFycmF5X3JwYXJ0aXRpb25fX2RvY19fLAorInJwYXJ0aXRpb24oJHNlbGYsIHNlcCwgLylcbiIKKyItLVxuIgorIlxuIgorIlBhcnRpdGlvbiB0aGUgYnl0ZXMgaW50byB0aHJlZSBwYXJ0cyB1c2luZyB0aGUgZ2l2ZW4gc2VwYXJhdG9yLlxuIgorIlxuIgorIlRoaXMgd2lsbCBzZWFyY2ggZm9yIHRoZSBzZXBhcmF0b3Igc2VwIGluIHRoZSBieXRlYXJyYXksIHN0YXJ0aW5nIGFuZCB0aGUgZW5kLlxuIgorIklmIHRoZSBzZXBhcmF0b3IgaXMgZm91bmQsIHJldHVybnMgYSAzLXR1cGxlIGNvbnRhaW5pbmcgdGhlIHBhcnQgYmVmb3JlIHRoZVxuIgorInNlcGFyYXRvciwgdGhlIHNlcGFyYXRvciBpdHNlbGYsIGFuZCB0aGUgcGFydCBhZnRlciBpdC5cbiIKKyJcbiIKKyJJZiB0aGUgc2VwYXJhdG9yIGlzIG5vdCBmb3VuZCwgcmV0dXJucyBhIDMtdHVwbGUgY29udGFpbmluZyB0d28gZW1wdHkgYnl0ZWFycmF5XG4iCisib2JqZWN0cyBhbmQgdGhlIG9yaWdpbmFsIGJ5dGVhcnJheSBvYmplY3QuIik7CisKKyNkZWZpbmUgQllURUFSUkFZX1JQQVJUSVRJT05fTUVUSE9EREVGICAgIFwKKyAgICB7InJwYXJ0aXRpb24iLCAoUHlDRnVuY3Rpb24pYnl0ZWFycmF5X3JwYXJ0aXRpb24sIE1FVEhfTywgYnl0ZWFycmF5X3JwYXJ0aXRpb25fX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLWJ5dGVhcnJheV9ycGFydGl0aW9uKFB5Qnl0ZUFycmF5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqc2VwX29iaikKK2J5dGVhcnJheV9ycGFydGl0aW9uKFB5Qnl0ZUFycmF5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqc2VwKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWVkMTNlNTQ2MDVkMDA3ZGUgaW5wdXQ9OWI4Y2Q1NDBjMWI3NTg1M10qLwogewogICAgIFB5T2JqZWN0ICpieXRlc2VwLCAqcmVzdWx0OwogCi0gICAgYnl0ZXNlcCA9IFB5Qnl0ZUFycmF5X0Zyb21PYmplY3Qoc2VwX29iaik7CisgICAgYnl0ZXNlcCA9IFB5Qnl0ZUFycmF5X0Zyb21PYmplY3Qoc2VwKTsKICAgICBpZiAoISBieXRlc2VwKQogICAgICAgICByZXR1cm4gTlVMTDsKIApAQCAtMjE2MywzNSArMjQ4NCw3MCBAQAogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLVB5RG9jX1NUUlZBUihyc3BsaXRfX2RvY19fLAotIkIucnNwbGl0KHNlcD1Ob25lLCBtYXhzcGxpdD0tMSkgLT4gbGlzdCBvZiBieXRlYXJyYXlzXG5cCi1cblwKLVJldHVybiBhIGxpc3Qgb2YgdGhlIHNlY3Rpb25zIGluIEIsIHVzaW5nIHNlcCBhcyB0aGUgZGVsaW1pdGVyLFxuXAotc3RhcnRpbmcgYXQgdGhlIGVuZCBvZiBCIGFuZCB3b3JraW5nIHRvIHRoZSBmcm9udC5cblwKLUlmIHNlcCBpcyBub3QgZ2l2ZW4sIEIgaXMgc3BsaXQgb24gQVNDSUkgd2hpdGVzcGFjZSBjaGFyYWN0ZXJzXG5cCi0oc3BhY2UsIHRhYiwgcmV0dXJuLCBuZXdsaW5lLCBmb3JtZmVlZCwgdmVydGljYWwgdGFiKS5cblwKLUlmIG1heHNwbGl0IGlzIGdpdmVuLCBhdCBtb3N0IG1heHNwbGl0IHNwbGl0cyBhcmUgZG9uZS4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK2J5dGVhcnJheS5yc3BsaXQgPSBieXRlYXJyYXkuc3BsaXQKKworUmV0dXJuIGEgbGlzdCBvZiB0aGUgc2VjdGlvbnMgaW4gdGhlIGJ5dGVhcnJheSwgdXNpbmcgc2VwIGFzIHRoZSBkZWxpbWl0ZXIuCisKK1NwbGl0dGluZyBpcyBkb25lIHN0YXJ0aW5nIGF0IHRoZSBlbmQgb2YgdGhlIGJ5dGVhcnJheSBhbmQgd29ya2luZyB0byB0aGUgZnJvbnQuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihieXRlYXJyYXlfcnNwbGl0X19kb2NfXywKKyJyc3BsaXQoJHNlbGYsIC8sIHNlcD1Ob25lLCBtYXhzcGxpdD0tMSlcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiBhIGxpc3Qgb2YgdGhlIHNlY3Rpb25zIGluIHRoZSBieXRlYXJyYXksIHVzaW5nIHNlcCBhcyB0aGUgZGVsaW1pdGVyLlxuIgorIlxuIgorIiAgc2VwXG4iCisiICAgIFRoZSBkZWxpbWl0ZXIgYWNjb3JkaW5nIHdoaWNoIHRvIHNwbGl0IHRoZSBieXRlYXJyYXkuXG4iCisiICAgIE5vbmUgKHRoZSBkZWZhdWx0IHZhbHVlKSBtZWFucyBzcGxpdCBvbiBBU0NJSSB3aGl0ZXNwYWNlIGNoYXJhY3RlcnNcbiIKKyIgICAgKHNwYWNlLCB0YWIsIHJldHVybiwgbmV3bGluZSwgZm9ybWZlZWQsIHZlcnRpY2FsIHRhYikuXG4iCisiICBtYXhzcGxpdFxuIgorIiAgICBNYXhpbXVtIG51bWJlciBvZiBzcGxpdHMgdG8gZG8uXG4iCisiICAgIC0xICh0aGUgZGVmYXVsdCB2YWx1ZSkgbWVhbnMgbm8gbGltaXQuXG4iCisiXG4iCisiU3BsaXR0aW5nIGlzIGRvbmUgc3RhcnRpbmcgYXQgdGhlIGVuZCBvZiB0aGUgYnl0ZWFycmF5IGFuZCB3b3JraW5nIHRvIHRoZSBmcm9udC4iKTsKKworI2RlZmluZSBCWVRFQVJSQVlfUlNQTElUX01FVEhPRERFRiAgICBcCisgICAgeyJyc3BsaXQiLCAoUHlDRnVuY3Rpb24pYnl0ZWFycmF5X3JzcGxpdCwgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIGJ5dGVhcnJheV9yc3BsaXRfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLWJ5dGVhcnJheV9yc3BsaXQoUHlCeXRlQXJyYXlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dkcykKK2J5dGVhcnJheV9yc3BsaXRfaW1wbChQeUJ5dGVBcnJheU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKnNlcCwgUHlfc3NpemVfdCBtYXhzcGxpdCk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitieXRlYXJyYXlfcnNwbGl0KFB5Qnl0ZUFycmF5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKIHsKLSAgICBzdGF0aWMgY2hhciAqa3dsaXN0W10gPSB7InNlcCIsICJtYXhzcGxpdCIsIDB9OwotICAgIFB5X3NzaXplX3QgbGVuID0gUHlCeXRlQXJyYXlfR0VUX1NJWkUoc2VsZiksIG47CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgc3RhdGljIGNoYXIgKl9rZXl3b3Jkc1tdID0geyJzZXAiLCAibWF4c3BsaXQiLCBOVUxMfTsKKyAgICBQeU9iamVjdCAqc2VwID0gUHlfTm9uZTsKICAgICBQeV9zc2l6ZV90IG1heHNwbGl0ID0gLTE7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsCisgICAgICAgICJ8T246cnNwbGl0IiwgX2tleXdvcmRzLAorICAgICAgICAmc2VwLCAmbWF4c3BsaXQpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gYnl0ZWFycmF5X3JzcGxpdF9pbXBsKHNlbGYsIHNlcCwgbWF4c3BsaXQpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitieXRlYXJyYXlfcnNwbGl0X2ltcGwoUHlCeXRlQXJyYXlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpzZXAsIFB5X3NzaXplX3QgbWF4c3BsaXQpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9YWZmYWY5ZmMyYWFlOGQ0MSBpbnB1dD1hNjgyODZlNGRkNjkyZmZlXSovCit7CisgICAgUHlfc3NpemVfdCBsZW4gPSBQeUJ5dGVBcnJheV9HRVRfU0laRShzZWxmKSwgbjsKICAgICBjb25zdCBjaGFyICpzID0gUHlCeXRlQXJyYXlfQVNfU1RSSU5HKHNlbGYpLCAqc3ViOwotICAgIFB5T2JqZWN0ICpsaXN0LCAqc3Vib2JqID0gUHlfTm9uZTsKKyAgICBQeU9iamVjdCAqbGlzdDsKICAgICBQeV9idWZmZXIgdnN1YjsKIAotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3ZHMsICJ8T246cnNwbGl0IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrd2xpc3QsICZzdWJvYmosICZtYXhzcGxpdCkpCi0gICAgICAgIHJldHVybiBOVUxMOwogICAgIGlmIChtYXhzcGxpdCA8IDApCiAgICAgICAgIG1heHNwbGl0ID0gUFlfU1NJWkVfVF9NQVg7CiAKLSAgICBpZiAoc3Vib2JqID09IFB5X05vbmUpCisgICAgaWYgKHNlcCA9PSBQeV9Ob25lKQogICAgICAgICByZXR1cm4gc3RyaW5nbGliX3JzcGxpdF93aGl0ZXNwYWNlKChQeU9iamVjdCopIHNlbGYsIHMsIGxlbiwgbWF4c3BsaXQpOwogCi0gICAgaWYgKFB5T2JqZWN0X0dldEJ1ZmZlcihzdWJvYmosICZ2c3ViLCBQeUJVRl9TSU1QTEUpICE9IDApCisgICAgaWYgKFB5T2JqZWN0X0dldEJ1ZmZlcihzZXAsICZ2c3ViLCBQeUJVRl9TSU1QTEUpICE9IDApCiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIHN1YiA9IHZzdWIuYnVmOwogICAgIG4gPSB2c3ViLmxlbjsKQEAgLTIyMDMsMTIgKzI1NTksMzUgQEAKICAgICByZXR1cm4gbGlzdDsKIH0KIAotUHlEb2NfU1RSVkFSKHJldmVyc2VfX2RvY19fLAotIkIucmV2ZXJzZSgpIC0+IE5vbmVcblwKLVxuXAotUmV2ZXJzZSB0aGUgb3JkZXIgb2YgdGhlIHZhbHVlcyBpbiBCIGluIHBsYWNlLiIpOworLypbY2xpbmljIGlucHV0XQorYnl0ZWFycmF5LnJldmVyc2UKKworICAgIHNlbGY6IHNlbGYodHlwZT0iUHlCeXRlQXJyYXlPYmplY3QgKiIpCisKK1JldmVyc2UgdGhlIG9yZGVyIG9mIHRoZSB2YWx1ZXMgaW4gQiBpbiBwbGFjZS4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKGJ5dGVhcnJheV9yZXZlcnNlX19kb2NfXywKKyJyZXZlcnNlKCRzZWxmLCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmV2ZXJzZSB0aGUgb3JkZXIgb2YgdGhlIHZhbHVlcyBpbiBCIGluIHBsYWNlLiIpOworCisjZGVmaW5lIEJZVEVBUlJBWV9SRVZFUlNFX01FVEhPRERFRiAgICBcCisgICAgeyJyZXZlcnNlIiwgKFB5Q0Z1bmN0aW9uKWJ5dGVhcnJheV9yZXZlcnNlLCBNRVRIX05PQVJHUywgYnl0ZWFycmF5X3JldmVyc2VfX2RvY19ffSwKKwogc3RhdGljIFB5T2JqZWN0ICoKLWJ5dGVhcnJheV9yZXZlcnNlKFB5Qnl0ZUFycmF5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqdW51c2VkKQorYnl0ZWFycmF5X3JldmVyc2VfaW1wbChQeUJ5dGVBcnJheU9iamVjdCAqc2VsZik7CisKK3N0YXRpYyBQeU9iamVjdCAqCitieXRlYXJyYXlfcmV2ZXJzZShQeUJ5dGVBcnJheU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKlB5X1VOVVNFRChpZ25vcmVkKSkKK3sKKyAgICByZXR1cm4gYnl0ZWFycmF5X3JldmVyc2VfaW1wbChzZWxmKTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK2J5dGVhcnJheV9yZXZlcnNlX2ltcGwoUHlCeXRlQXJyYXlPYmplY3QgKnNlbGYpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9NWQ1ZTVmMGJmYzY3ZjQ3NiBpbnB1dD03OTMzYTQ5OWI4NTk3YmQxXSovCiB7CiAgICAgY2hhciBzd2FwLCAqaGVhZCwgKnRhaWw7CiAgICAgUHlfc3NpemVfdCBpLCBqLCBuID0gUHlfU0laRShzZWxmKTsKQEAgLTIyMjUsNTcgKzI2MDQsMTM5IEBACiAgICAgUHlfUkVUVVJOX05PTkU7CiB9CiAKLVB5RG9jX1NUUlZBUihpbnNlcnRfX2RvY19fLAotIkIuaW5zZXJ0KGluZGV4LCBpbnQpIC0+IE5vbmVcblwKLVxuXAotSW5zZXJ0IGEgc2luZ2xlIGl0ZW0gaW50byB0aGUgYnl0ZWFycmF5IGJlZm9yZSB0aGUgZ2l2ZW4gaW5kZXguIik7CisKKy8qW3B5dGhvbiBpbnB1dF0KK2NsYXNzIGJ5dGVzdmFsdWVfY29udmVydGVyKENDb252ZXJ0ZXIpOgorICAgIHR5cGUgPSAnaW50JworICAgIGNvbnZlcnRlciA9ICdfZ2V0Ynl0ZXZhbHVlJworW3B5dGhvbiBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworLypbcHl0aG9uIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWRhMzlhM2VlNWU2YjRiMGQgaW5wdXQ9MjljMmU3YzI2YzIxMjgxMl0qLworCisKKy8qW2NsaW5pYyBpbnB1dF0KK2J5dGVhcnJheS5pbnNlcnQKKworICAgIHNlbGY6IHNlbGYodHlwZT0iUHlCeXRlQXJyYXlPYmplY3QgKiIpCisgICAgaW5kZXg6IFB5X3NzaXplX3QKKyAgICAgICAgVGhlIGluZGV4IHdoZXJlIHRoZSB2YWx1ZSBpcyB0byBiZSBpbnNlcnRlZC4KKyAgICBpdGVtOiBieXRlc3ZhbHVlCisgICAgICAgIFRoZSBpdGVtIHRvIGJlIGluc2VydGVkLgorICAgIC8KKworSW5zZXJ0IGEgc2luZ2xlIGl0ZW0gaW50byB0aGUgYnl0ZWFycmF5IGJlZm9yZSB0aGUgZ2l2ZW4gaW5kZXguCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihieXRlYXJyYXlfaW5zZXJ0X19kb2NfXywKKyJpbnNlcnQoJHNlbGYsIGluZGV4LCBpdGVtLCAvKVxuIgorIi0tXG4iCisiXG4iCisiSW5zZXJ0IGEgc2luZ2xlIGl0ZW0gaW50byB0aGUgYnl0ZWFycmF5IGJlZm9yZSB0aGUgZ2l2ZW4gaW5kZXguXG4iCisiXG4iCisiICBpbmRleFxuIgorIiAgICBUaGUgaW5kZXggd2hlcmUgdGhlIHZhbHVlIGlzIHRvIGJlIGluc2VydGVkLlxuIgorIiAgaXRlbVxuIgorIiAgICBUaGUgaXRlbSB0byBiZSBpbnNlcnRlZC4iKTsKKworI2RlZmluZSBCWVRFQVJSQVlfSU5TRVJUX01FVEhPRERFRiAgICBcCisgICAgeyJpbnNlcnQiLCAoUHlDRnVuY3Rpb24pYnl0ZWFycmF5X2luc2VydCwgTUVUSF9WQVJBUkdTLCBieXRlYXJyYXlfaW5zZXJ0X19kb2NfX30sCisKK3N0YXRpYyBQeU9iamVjdCAqCitieXRlYXJyYXlfaW5zZXJ0X2ltcGwoUHlCeXRlQXJyYXlPYmplY3QgKnNlbGYsIFB5X3NzaXplX3QgaW5kZXgsIGludCBpdGVtKTsKKwogc3RhdGljIFB5T2JqZWN0ICoKIGJ5dGVhcnJheV9pbnNlcnQoUHlCeXRlQXJyYXlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQogewotICAgIFB5T2JqZWN0ICp2YWx1ZTsKLSAgICBpbnQgaXZhbDsKLSAgICBQeV9zc2l6ZV90IHdoZXJlLCBuID0gUHlfU0laRShzZWxmKTsKLSAgICBjaGFyICpidWY7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgUHlfc3NpemVfdCBpbmRleDsKKyAgICBpbnQgaXRlbTsKIAotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAibk86aW5zZXJ0IiwgJndoZXJlLCAmdmFsdWUpKQotICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgIm5PJjppbnNlcnQiLAorICAgICAgICAmaW5kZXgsIF9nZXRieXRldmFsdWUsICZpdGVtKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IGJ5dGVhcnJheV9pbnNlcnRfaW1wbChzZWxmLCBpbmRleCwgaXRlbSk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK2J5dGVhcnJheV9pbnNlcnRfaW1wbChQeUJ5dGVBcnJheU9iamVjdCAqc2VsZiwgUHlfc3NpemVfdCBpbmRleCwgaW50IGl0ZW0pCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9NWVjOTM0MGQ0YWQxOTA4MCBpbnB1dD04MzM3NjY4MzZiYTMwZTFlXSovCit7CisgICAgUHlfc3NpemVfdCBuID0gUHlfU0laRShzZWxmKTsKKyAgICBjaGFyICpidWY7CiAKICAgICBpZiAobiA9PSBQWV9TU0laRV9UX01BWCkgewogICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfT3ZlcmZsb3dFcnJvciwKICAgICAgICAgICAgICAgICAgICAgICAgICJjYW5ub3QgYWRkIG1vcmUgb2JqZWN0cyB0byBieXRlYXJyYXkiKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQotICAgIGlmICghX2dldGJ5dGV2YWx1ZSh2YWx1ZSwgJml2YWwpKQotICAgICAgICByZXR1cm4gTlVMTDsKICAgICBpZiAoUHlCeXRlQXJyYXlfUmVzaXplKChQeU9iamVjdCAqKXNlbGYsIG4gKyAxKSA8IDApCiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIGJ1ZiA9IFB5Qnl0ZUFycmF5X0FTX1NUUklORyhzZWxmKTsKIAotICAgIGlmICh3aGVyZSA8IDApIHsKLSAgICAgICAgd2hlcmUgKz0gbjsKLSAgICAgICAgaWYgKHdoZXJlIDwgMCkKLSAgICAgICAgICAgIHdoZXJlID0gMDsKKyAgICBpZiAoaW5kZXggPCAwKSB7CisgICAgICAgIGluZGV4ICs9IG47CisgICAgICAgIGlmIChpbmRleCA8IDApCisgICAgICAgICAgICBpbmRleCA9IDA7CiAgICAgfQotICAgIGlmICh3aGVyZSA+IG4pCi0gICAgICAgIHdoZXJlID0gbjsKLSAgICBtZW1tb3ZlKGJ1ZiArIHdoZXJlICsgMSwgYnVmICsgd2hlcmUsIG4gLSB3aGVyZSk7Ci0gICAgYnVmW3doZXJlXSA9IGl2YWw7CisgICAgaWYgKGluZGV4ID4gbikKKyAgICAgICAgaW5kZXggPSBuOworICAgIG1lbW1vdmUoYnVmICsgaW5kZXggKyAxLCBidWYgKyBpbmRleCwgbiAtIGluZGV4KTsKKyAgICBidWZbaW5kZXhdID0gaXRlbTsKIAogICAgIFB5X1JFVFVSTl9OT05FOwogfQogCi1QeURvY19TVFJWQVIoYXBwZW5kX19kb2NfXywKLSJCLmFwcGVuZChpbnQpIC0+IE5vbmVcblwKLVxuXAotQXBwZW5kIGEgc2luZ2xlIGl0ZW0gdG8gdGhlIGVuZCBvZiBCLiIpOworLypbY2xpbmljIGlucHV0XQorYnl0ZWFycmF5LmFwcGVuZAorCisgICAgc2VsZjogc2VsZih0eXBlPSJQeUJ5dGVBcnJheU9iamVjdCAqIikKKyAgICBpdGVtOiBieXRlc3ZhbHVlCisgICAgICAgIFRoZSBpdGVtIHRvIGJlIGFwcGVuZGVkLgorICAgIC8KKworQXBwZW5kIGEgc2luZ2xlIGl0ZW0gdG8gdGhlIGVuZCBvZiB0aGUgYnl0ZWFycmF5LgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIoYnl0ZWFycmF5X2FwcGVuZF9fZG9jX18sCisiYXBwZW5kKCRzZWxmLCBpdGVtLCAvKVxuIgorIi0tXG4iCisiXG4iCisiQXBwZW5kIGEgc2luZ2xlIGl0ZW0gdG8gdGhlIGVuZCBvZiB0aGUgYnl0ZWFycmF5LlxuIgorIlxuIgorIiAgaXRlbVxuIgorIiAgICBUaGUgaXRlbSB0byBiZSBhcHBlbmRlZC4iKTsKKworI2RlZmluZSBCWVRFQVJSQVlfQVBQRU5EX01FVEhPRERFRiAgICBcCisgICAgeyJhcHBlbmQiLCAoUHlDRnVuY3Rpb24pYnl0ZWFycmF5X2FwcGVuZCwgTUVUSF9WQVJBUkdTLCBieXRlYXJyYXlfYXBwZW5kX19kb2NfX30sCisKIHN0YXRpYyBQeU9iamVjdCAqCi1ieXRlYXJyYXlfYXBwZW5kKFB5Qnl0ZUFycmF5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJnKQorYnl0ZWFycmF5X2FwcGVuZF9pbXBsKFB5Qnl0ZUFycmF5T2JqZWN0ICpzZWxmLCBpbnQgaXRlbSk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitieXRlYXJyYXlfYXBwZW5kKFB5Qnl0ZUFycmF5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKIHsKLSAgICBpbnQgdmFsdWU7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgaW50IGl0ZW07CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgIk8mOmFwcGVuZCIsCisgICAgICAgIF9nZXRieXRldmFsdWUsICZpdGVtKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IGJ5dGVhcnJheV9hcHBlbmRfaW1wbChzZWxmLCBpdGVtKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorYnl0ZWFycmF5X2FwcGVuZF9pbXBsKFB5Qnl0ZUFycmF5T2JqZWN0ICpzZWxmLCBpbnQgaXRlbSkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1iNWIzMzI1YmIzYmJhZjg1IGlucHV0PWFlNTZlYTg3MzgwNDA3Y2NdKi8KK3sKICAgICBQeV9zc2l6ZV90IG4gPSBQeV9TSVpFKHNlbGYpOwogCi0gICAgaWYgKCEgX2dldGJ5dGV2YWx1ZShhcmcsICZ2YWx1ZSkpCi0gICAgICAgIHJldHVybiBOVUxMOwogICAgIGlmIChuID09IFBZX1NTSVpFX1RfTUFYKSB7CiAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19PdmVyZmxvd0Vycm9yLAogICAgICAgICAgICAgICAgICAgICAgICAgImNhbm5vdCBhZGQgbW9yZSBvYmplY3RzIHRvIGJ5dGVhcnJheSIpOwpAQCAtMjI4NCwxOCArMjc0NSwzNyBAQAogICAgIGlmIChQeUJ5dGVBcnJheV9SZXNpemUoKFB5T2JqZWN0ICopc2VsZiwgbiArIDEpIDwgMCkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAKLSAgICBQeUJ5dGVBcnJheV9BU19TVFJJTkcoc2VsZilbbl0gPSB2YWx1ZTsKKyAgICBQeUJ5dGVBcnJheV9BU19TVFJJTkcoc2VsZilbbl0gPSBpdGVtOwogCiAgICAgUHlfUkVUVVJOX05PTkU7CiB9CiAKLVB5RG9jX1NUUlZBUihleHRlbmRfX2RvY19fLAotIkIuZXh0ZW5kKGl0ZXJhYmxlX29mX2ludHMpIC0+IE5vbmVcblwKLVxuXAotQXBwZW5kIGFsbCB0aGUgZWxlbWVudHMgZnJvbSB0aGUgaXRlcmF0b3Igb3Igc2VxdWVuY2UgdG8gdGhlXG5cCi1lbmQgb2YgQi4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK2J5dGVhcnJheS5leHRlbmQKKworICAgIHNlbGY6IHNlbGYodHlwZT0iUHlCeXRlQXJyYXlPYmplY3QgKiIpCisgICAgaXRlcmFibGVfb2ZfaW50czogb2JqZWN0CisgICAgICAgIFRoZSBpdGVyYWJsZSBvZiBpdGVtcyB0byBhcHBlbmQuCisgICAgLworCitBcHBlbmQgYWxsIHRoZSBpdGVtcyBmcm9tIHRoZSBpdGVyYXRvciBvciBzZXF1ZW5jZSB0byB0aGUgZW5kIG9mIHRoZSBieXRlYXJyYXkuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihieXRlYXJyYXlfZXh0ZW5kX19kb2NfXywKKyJleHRlbmQoJHNlbGYsIGl0ZXJhYmxlX29mX2ludHMsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJBcHBlbmQgYWxsIHRoZSBpdGVtcyBmcm9tIHRoZSBpdGVyYXRvciBvciBzZXF1ZW5jZSB0byB0aGUgZW5kIG9mIHRoZSBieXRlYXJyYXkuXG4iCisiXG4iCisiICBpdGVyYWJsZV9vZl9pbnRzXG4iCisiICAgIFRoZSBpdGVyYWJsZSBvZiBpdGVtcyB0byBhcHBlbmQuIik7CisKKyNkZWZpbmUgQllURUFSUkFZX0VYVEVORF9NRVRIT0RERUYgICAgXAorICAgIHsiZXh0ZW5kIiwgKFB5Q0Z1bmN0aW9uKWJ5dGVhcnJheV9leHRlbmQsIE1FVEhfTywgYnl0ZWFycmF5X2V4dGVuZF9fZG9jX199LAorCiBzdGF0aWMgUHlPYmplY3QgKgotYnl0ZWFycmF5X2V4dGVuZChQeUJ5dGVBcnJheU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZykKK2J5dGVhcnJheV9leHRlbmQoUHlCeXRlQXJyYXlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICppdGVyYWJsZV9vZl9pbnRzKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTEzYjBjMTNhZDUxMTBkZmIgaW5wdXQ9Y2U4M2E1ZDc1YjcwZDg1MF0qLwogewogICAgIFB5T2JqZWN0ICppdCwgKml0ZW0sICpieXRlYXJyYXlfb2JqOwogICAgIFB5X3NzaXplX3QgYnVmX3NpemUgPSAwLCBsZW4gPSAwOwpAQCAtMjMwMywxOSArMjc4MywxOSBAQAogICAgIGNoYXIgKmJ1ZjsKIAogICAgIC8qIGJ5dGVhcnJheV9zZXRzbGljZSBjb2RlIG9ubHkgYWNjZXB0cyBzb21ldGhpbmcgc3VwcG9ydGluZyBQRVAgMzExOC4gKi8KLSAgICBpZiAoUHlPYmplY3RfQ2hlY2tCdWZmZXIoYXJnKSkgewotICAgICAgICBpZiAoYnl0ZWFycmF5X3NldHNsaWNlKHNlbGYsIFB5X1NJWkUoc2VsZiksIFB5X1NJWkUoc2VsZiksIGFyZykgPT0gLTEpCisgICAgaWYgKFB5T2JqZWN0X0NoZWNrQnVmZmVyKGl0ZXJhYmxlX29mX2ludHMpKSB7CisgICAgICAgIGlmIChieXRlYXJyYXlfc2V0c2xpY2Uoc2VsZiwgUHlfU0laRShzZWxmKSwgUHlfU0laRShzZWxmKSwgaXRlcmFibGVfb2ZfaW50cykgPT0gLTEpCiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKIAogICAgICAgICBQeV9SRVRVUk5fTk9ORTsKICAgICB9CiAKLSAgICBpdCA9IFB5T2JqZWN0X0dldEl0ZXIoYXJnKTsKKyAgICBpdCA9IFB5T2JqZWN0X0dldEl0ZXIoaXRlcmFibGVfb2ZfaW50cyk7CiAgICAgaWYgKGl0ID09IE5VTEwpCiAgICAgICAgIHJldHVybiBOVUxMOwogCiAgICAgLyogVHJ5IHRvIGRldGVybWluZSB0aGUgbGVuZ3RoIG9mIHRoZSBhcmd1bWVudC4gMzIgaXMgYXJiaXRyYXJ5LiAqLwotICAgIGJ1Zl9zaXplID0gUHlPYmplY3RfTGVuZ3RoSGludChhcmcsIDMyKTsKKyAgICBidWZfc2l6ZSA9IFB5T2JqZWN0X0xlbmd0aEhpbnQoaXRlcmFibGVfb2ZfaW50cywgMzIpOwogICAgIGlmIChidWZfc2l6ZSA9PSAtMSkgewogICAgICAgICBQeV9ERUNSRUYoaXQpOwogICAgICAgICByZXR1cm4gTlVMTDsKQEAgLTIzNjcsMjkgKzI4NDcsNzAgQEAKICAgICBQeV9SRVRVUk5fTk9ORTsKIH0KIAotUHlEb2NfU1RSVkFSKHBvcF9fZG9jX18sCi0iQi5wb3AoW2luZGV4XSkgLT4gaW50XG5cCi1cblwKLVJlbW92ZSBhbmQgcmV0dXJuIGEgc2luZ2xlIGl0ZW0gZnJvbSBCLiBJZiBubyBpbmRleFxuXAotYXJndW1lbnQgaXMgZ2l2ZW4sIHdpbGwgcG9wIHRoZSBsYXN0IHZhbHVlLiIpOworLypbY2xpbmljIGlucHV0XQorYnl0ZWFycmF5LnBvcAorCisgICAgc2VsZjogc2VsZih0eXBlPSJQeUJ5dGVBcnJheU9iamVjdCAqIikKKyAgICBpbmRleDogUHlfc3NpemVfdCA9IC0xCisgICAgICAgIFRoZSBpbmRleCBmcm9tIHdoZXJlIHRvIHJlbW92ZSB0aGUgaXRlbS4KKyAgICAgICAgLTEgKHRoZSBkZWZhdWx0IHZhbHVlKSBtZWFucyByZW1vdmUgdGhlIGxhc3QgaXRlbS4KKyAgICAvCisKK1JlbW92ZSBhbmQgcmV0dXJuIGEgc2luZ2xlIGl0ZW0gZnJvbSBCLgorCitJZiBubyBpbmRleCBhcmd1bWVudCBpcyBnaXZlbiwgd2lsbCBwb3AgdGhlIGxhc3QgaXRlbS4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKGJ5dGVhcnJheV9wb3BfX2RvY19fLAorInBvcCgkc2VsZiwgaW5kZXg9LTEsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZW1vdmUgYW5kIHJldHVybiBhIHNpbmdsZSBpdGVtIGZyb20gQi5cbiIKKyJcbiIKKyIgIGluZGV4XG4iCisiICAgIFRoZSBpbmRleCBmcm9tIHdoZXJlIHRvIHJlbW92ZSB0aGUgaXRlbS5cbiIKKyIgICAgLTEgKHRoZSBkZWZhdWx0IHZhbHVlKSBtZWFucyByZW1vdmUgdGhlIGxhc3QgaXRlbS5cbiIKKyJcbiIKKyJJZiBubyBpbmRleCBhcmd1bWVudCBpcyBnaXZlbiwgd2lsbCBwb3AgdGhlIGxhc3QgaXRlbS4iKTsKKworI2RlZmluZSBCWVRFQVJSQVlfUE9QX01FVEhPRERFRiAgICBcCisgICAgeyJwb3AiLCAoUHlDRnVuY3Rpb24pYnl0ZWFycmF5X3BvcCwgTUVUSF9WQVJBUkdTLCBieXRlYXJyYXlfcG9wX19kb2NfX30sCisKK3N0YXRpYyBQeU9iamVjdCAqCitieXRlYXJyYXlfcG9wX2ltcGwoUHlCeXRlQXJyYXlPYmplY3QgKnNlbGYsIFB5X3NzaXplX3QgaW5kZXgpOworCiBzdGF0aWMgUHlPYmplY3QgKgogYnl0ZWFycmF5X3BvcChQeUJ5dGVBcnJheU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCiB7Ci0gICAgaW50IHZhbHVlOwotICAgIFB5X3NzaXplX3Qgd2hlcmUgPSAtMSwgbiA9IFB5X1NJWkUoc2VsZik7Ci0gICAgY2hhciAqYnVmOworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIFB5X3NzaXplX3QgaW5kZXggPSAtMTsKIAotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAifG46cG9wIiwgJndoZXJlKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICJ8bjpwb3AiLAorICAgICAgICAmaW5kZXgpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gYnl0ZWFycmF5X3BvcF9pbXBsKHNlbGYsIGluZGV4KTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorYnl0ZWFycmF5X3BvcF9pbXBsKFB5Qnl0ZUFycmF5T2JqZWN0ICpzZWxmLCBQeV9zc2l6ZV90IGluZGV4KQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTNiNzYzZTU0OGU3OWFmOTYgaW5wdXQ9MDc5N2U2YzBjYTlkNWE4NV0qLworeworICAgIGludCB2YWx1ZTsKKyAgICBQeV9zc2l6ZV90IG4gPSBQeV9TSVpFKHNlbGYpOworICAgIGNoYXIgKmJ1ZjsKIAogICAgIGlmIChuID09IDApIHsKICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX0luZGV4RXJyb3IsCiAgICAgICAgICAgICAgICAgICAgICAgICAicG9wIGZyb20gZW1wdHkgYnl0ZWFycmF5Iik7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KLSAgICBpZiAod2hlcmUgPCAwKQotICAgICAgICB3aGVyZSArPSBQeV9TSVpFKHNlbGYpOwotICAgIGlmICh3aGVyZSA8IDAgfHwgd2hlcmUgPj0gUHlfU0laRShzZWxmKSkgeworICAgIGlmIChpbmRleCA8IDApCisgICAgICAgIGluZGV4ICs9IFB5X1NJWkUoc2VsZik7CisgICAgaWYgKGluZGV4IDwgMCB8fCBpbmRleCA+PSBQeV9TSVpFKHNlbGYpKSB7CiAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19JbmRleEVycm9yLCAicG9wIGluZGV4IG91dCBvZiByYW5nZSIpOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CkBAIC0yMzk3LDI4ICsyOTE4LDYzIEBACiAgICAgICAgIHJldHVybiBOVUxMOwogCiAgICAgYnVmID0gUHlCeXRlQXJyYXlfQVNfU1RSSU5HKHNlbGYpOwotICAgIHZhbHVlID0gYnVmW3doZXJlXTsKLSAgICBtZW1tb3ZlKGJ1ZiArIHdoZXJlLCBidWYgKyB3aGVyZSArIDEsIG4gLSB3aGVyZSk7CisgICAgdmFsdWUgPSBidWZbaW5kZXhdOworICAgIG1lbW1vdmUoYnVmICsgaW5kZXgsIGJ1ZiArIGluZGV4ICsgMSwgbiAtIGluZGV4KTsKICAgICBpZiAoUHlCeXRlQXJyYXlfUmVzaXplKChQeU9iamVjdCAqKXNlbGYsIG4gLSAxKSA8IDApCiAgICAgICAgIHJldHVybiBOVUxMOwogCiAgICAgcmV0dXJuIFB5TG9uZ19Gcm9tTG9uZygodW5zaWduZWQgY2hhcil2YWx1ZSk7CiB9CiAKLVB5RG9jX1NUUlZBUihyZW1vdmVfX2RvY19fLAotIkIucmVtb3ZlKGludCkgLT4gTm9uZVxuXAotXG5cCi1SZW1vdmUgdGhlIGZpcnN0IG9jY3VycmVuY2Ugb2YgYSB2YWx1ZSBpbiBCLiIpOworLypbY2xpbmljIGlucHV0XQorYnl0ZWFycmF5LnJlbW92ZQorCisgICAgc2VsZjogc2VsZih0eXBlPSJQeUJ5dGVBcnJheU9iamVjdCAqIikKKyAgICB2YWx1ZTogYnl0ZXN2YWx1ZQorICAgICAgICBUaGUgdmFsdWUgdG8gcmVtb3ZlLgorICAgIC8KKworUmVtb3ZlIHRoZSBmaXJzdCBvY2N1cnJlbmNlIG9mIGEgdmFsdWUgaW4gdGhlIGJ5dGVhcnJheS4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKGJ5dGVhcnJheV9yZW1vdmVfX2RvY19fLAorInJlbW92ZSgkc2VsZiwgdmFsdWUsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZW1vdmUgdGhlIGZpcnN0IG9jY3VycmVuY2Ugb2YgYSB2YWx1ZSBpbiB0aGUgYnl0ZWFycmF5LlxuIgorIlxuIgorIiAgdmFsdWVcbiIKKyIgICAgVGhlIHZhbHVlIHRvIHJlbW92ZS4iKTsKKworI2RlZmluZSBCWVRFQVJSQVlfUkVNT1ZFX01FVEhPRERFRiAgICBcCisgICAgeyJyZW1vdmUiLCAoUHlDRnVuY3Rpb24pYnl0ZWFycmF5X3JlbW92ZSwgTUVUSF9WQVJBUkdTLCBieXRlYXJyYXlfcmVtb3ZlX19kb2NfX30sCisKIHN0YXRpYyBQeU9iamVjdCAqCi1ieXRlYXJyYXlfcmVtb3ZlKFB5Qnl0ZUFycmF5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJnKQorYnl0ZWFycmF5X3JlbW92ZV9pbXBsKFB5Qnl0ZUFycmF5T2JqZWN0ICpzZWxmLCBpbnQgdmFsdWUpOworCitzdGF0aWMgUHlPYmplY3QgKgorYnl0ZWFycmF5X3JlbW92ZShQeUJ5dGVBcnJheU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCiB7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CiAgICAgaW50IHZhbHVlOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICJPJjpyZW1vdmUiLAorICAgICAgICBfZ2V0Ynl0ZXZhbHVlLCAmdmFsdWUpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gYnl0ZWFycmF5X3JlbW92ZV9pbXBsKHNlbGYsIHZhbHVlKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorYnl0ZWFycmF5X3JlbW92ZV9pbXBsKFB5Qnl0ZUFycmF5T2JqZWN0ICpzZWxmLCBpbnQgdmFsdWUpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9YzcxYzhiY2Y0NzAzYWJmYyBpbnB1dD00NzU2MGIxMWZkODU2YzI0XSovCit7CiAgICAgUHlfc3NpemVfdCB3aGVyZSwgbiA9IFB5X1NJWkUoc2VsZik7CiAgICAgY2hhciAqYnVmID0gUHlCeXRlQXJyYXlfQVNfU1RSSU5HKHNlbGYpOwogCi0gICAgaWYgKCEgX2dldGJ5dGV2YWx1ZShhcmcsICZ2YWx1ZSkpCi0gICAgICAgIHJldHVybiBOVUxMOwotCiAgICAgZm9yICh3aGVyZSA9IDA7IHdoZXJlIDwgbjsgd2hlcmUrKykgewogICAgICAgICBpZiAoYnVmW3doZXJlXSA9PSB2YWx1ZSkKICAgICAgICAgICAgIGJyZWFrOwpAQCAtMjQ1OSwxMzIgKzMwMTUsMjczIEBACiAgICAgcmV0dXJuIGkgKyAxOwogfQogCi1QeURvY19TVFJWQVIoc3RyaXBfX2RvY19fLAotIkIuc3RyaXAoW2J5dGVzXSkgLT4gYnl0ZWFycmF5XG5cCi1cblwKLVN0cmlwIGxlYWRpbmcgYW5kIHRyYWlsaW5nIGJ5dGVzIGNvbnRhaW5lZCBpbiB0aGUgYXJndW1lbnRcblwKLWFuZCByZXR1cm4gdGhlIHJlc3VsdCBhcyBhIG5ldyBieXRlYXJyYXkuXG5cCi1JZiB0aGUgYXJndW1lbnQgaXMgb21pdHRlZCwgc3RyaXAgQVNDSUkgd2hpdGVzcGFjZS4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK2J5dGVhcnJheS5zdHJpcAorCisgICAgYnl0ZXM6IG9iamVjdCA9IE5vbmUKKyAgICAvCisKK1N0cmlwIGxlYWRpbmcgYW5kIHRyYWlsaW5nIGJ5dGVzIGNvbnRhaW5lZCBpbiB0aGUgYXJndW1lbnQuCisKK0lmIHRoZSBhcmd1bWVudCBpcyBvbWl0dGVkIG9yIE5vbmUsIHN0cmlwIGxlYWRpbmcgYW5kIHRyYWlsaW5nIEFTQ0lJIHdoaXRlc3BhY2UuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihieXRlYXJyYXlfc3RyaXBfX2RvY19fLAorInN0cmlwKCRzZWxmLCBieXRlcz1Ob25lLCAvKVxuIgorIi0tXG4iCisiXG4iCisiU3RyaXAgbGVhZGluZyBhbmQgdHJhaWxpbmcgYnl0ZXMgY29udGFpbmVkIGluIHRoZSBhcmd1bWVudC5cbiIKKyJcbiIKKyJJZiB0aGUgYXJndW1lbnQgaXMgb21pdHRlZCBvciBOb25lLCBzdHJpcCBsZWFkaW5nIGFuZCB0cmFpbGluZyBBU0NJSSB3aGl0ZXNwYWNlLiIpOworCisjZGVmaW5lIEJZVEVBUlJBWV9TVFJJUF9NRVRIT0RERUYgICAgXAorICAgIHsic3RyaXAiLCAoUHlDRnVuY3Rpb24pYnl0ZWFycmF5X3N0cmlwLCBNRVRIX1ZBUkFSR1MsIGJ5dGVhcnJheV9zdHJpcF9fZG9jX199LAorCitzdGF0aWMgUHlPYmplY3QgKgorYnl0ZWFycmF5X3N0cmlwX2ltcGwoUHlCeXRlQXJyYXlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpieXRlcyk7CisKIHN0YXRpYyBQeU9iamVjdCAqCiBieXRlYXJyYXlfc3RyaXAoUHlCeXRlQXJyYXlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQogewotICAgIFB5X3NzaXplX3QgbGVmdCwgcmlnaHQsIG15c2l6ZSwgYXJnc2l6ZTsKLSAgICBjaGFyICpteXB0ciwgKmFyZ3B0cjsKLSAgICBQeU9iamVjdCAqYXJnID0gUHlfTm9uZTsKLSAgICBQeV9idWZmZXIgdmFyZzsKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgInxPOnN0cmlwIiwgJmFyZykpCi0gICAgICAgIHJldHVybiBOVUxMOwotICAgIGlmIChhcmcgPT0gUHlfTm9uZSkgewotICAgICAgICBhcmdwdHIgPSAiXHRcblxyXGZcdiAiOwotICAgICAgICBhcmdzaXplID0gNjsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBQeU9iamVjdCAqYnl0ZXMgPSBQeV9Ob25lOworCisgICAgaWYgKCFQeUFyZ19VbnBhY2tUdXBsZShhcmdzLCAic3RyaXAiLAorICAgICAgICAwLCAxLAorICAgICAgICAmYnl0ZXMpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gYnl0ZWFycmF5X3N0cmlwX2ltcGwoc2VsZiwgYnl0ZXMpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitieXRlYXJyYXlfc3RyaXBfaW1wbChQeUJ5dGVBcnJheU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmJ5dGVzKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTJlM2QzMzU4YWNjNGMyMzUgaW5wdXQ9ZWY3YmI1OWIwOWMyMWQ2Ml0qLworeworICAgIFB5X3NzaXplX3QgbGVmdCwgcmlnaHQsIG15c2l6ZSwgYnl0ZXNsZW47CisgICAgY2hhciAqbXlwdHIsICpieXRlc3B0cjsKKyAgICBQeV9idWZmZXIgdmJ5dGVzOworCisgICAgaWYgKGJ5dGVzID09IFB5X05vbmUpIHsKKyAgICAgICAgYnl0ZXNwdHIgPSAiXHRcblxyXGZcdiAiOworICAgICAgICBieXRlc2xlbiA9IDY7CiAgICAgfQogICAgIGVsc2UgewotICAgICAgICBpZiAoUHlPYmplY3RfR2V0QnVmZmVyKGFyZywgJnZhcmcsIFB5QlVGX1NJTVBMRSkgIT0gMCkKKyAgICAgICAgaWYgKFB5T2JqZWN0X0dldEJ1ZmZlcihieXRlcywgJnZieXRlcywgUHlCVUZfU0lNUExFKSAhPSAwKQogICAgICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgICAgIGFyZ3B0ciA9IChjaGFyICopIHZhcmcuYnVmOwotICAgICAgICBhcmdzaXplID0gdmFyZy5sZW47CisgICAgICAgIGJ5dGVzcHRyID0gKGNoYXIgKikgdmJ5dGVzLmJ1ZjsKKyAgICAgICAgYnl0ZXNsZW4gPSB2Ynl0ZXMubGVuOwogICAgIH0KICAgICBteXB0ciA9IFB5Qnl0ZUFycmF5X0FTX1NUUklORyhzZWxmKTsKICAgICBteXNpemUgPSBQeV9TSVpFKHNlbGYpOwotICAgIGxlZnQgPSBsc3RyaXBfaGVscGVyKG15cHRyLCBteXNpemUsIGFyZ3B0ciwgYXJnc2l6ZSk7CisgICAgbGVmdCA9IGxzdHJpcF9oZWxwZXIobXlwdHIsIG15c2l6ZSwgYnl0ZXNwdHIsIGJ5dGVzbGVuKTsKICAgICBpZiAobGVmdCA9PSBteXNpemUpCiAgICAgICAgIHJpZ2h0ID0gbGVmdDsKICAgICBlbHNlCi0gICAgICAgIHJpZ2h0ID0gcnN0cmlwX2hlbHBlcihteXB0ciwgbXlzaXplLCBhcmdwdHIsIGFyZ3NpemUpOwotICAgIGlmIChhcmcgIT0gUHlfTm9uZSkKLSAgICAgICAgUHlCdWZmZXJfUmVsZWFzZSgmdmFyZyk7CisgICAgICAgIHJpZ2h0ID0gcnN0cmlwX2hlbHBlcihteXB0ciwgbXlzaXplLCBieXRlc3B0ciwgYnl0ZXNsZW4pOworICAgIGlmIChieXRlcyAhPSBQeV9Ob25lKQorICAgICAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZ2Ynl0ZXMpOwogICAgIHJldHVybiBQeUJ5dGVBcnJheV9Gcm9tU3RyaW5nQW5kU2l6ZShteXB0ciArIGxlZnQsIHJpZ2h0IC0gbGVmdCk7CiB9CiAKLVB5RG9jX1NUUlZBUihsc3RyaXBfX2RvY19fLAotIkIubHN0cmlwKFtieXRlc10pIC0+IGJ5dGVhcnJheVxuXAotXG5cCi1TdHJpcCBsZWFkaW5nIGJ5dGVzIGNvbnRhaW5lZCBpbiB0aGUgYXJndW1lbnRcblwKLWFuZCByZXR1cm4gdGhlIHJlc3VsdCBhcyBhIG5ldyBieXRlYXJyYXkuXG5cCi1JZiB0aGUgYXJndW1lbnQgaXMgb21pdHRlZCwgc3RyaXAgbGVhZGluZyBBU0NJSSB3aGl0ZXNwYWNlLiIpOworLypbY2xpbmljIGlucHV0XQorYnl0ZWFycmF5LmxzdHJpcAorCisgICAgYnl0ZXM6IG9iamVjdCA9IE5vbmUKKyAgICAvCisKK1N0cmlwIGxlYWRpbmcgYnl0ZXMgY29udGFpbmVkIGluIHRoZSBhcmd1bWVudC4KKworSWYgdGhlIGFyZ3VtZW50IGlzIG9taXR0ZWQgb3IgTm9uZSwgc3RyaXAgbGVhZGluZyBBU0NJSSB3aGl0ZXNwYWNlLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIoYnl0ZWFycmF5X2xzdHJpcF9fZG9jX18sCisibHN0cmlwKCRzZWxmLCBieXRlcz1Ob25lLCAvKVxuIgorIi0tXG4iCisiXG4iCisiU3RyaXAgbGVhZGluZyBieXRlcyBjb250YWluZWQgaW4gdGhlIGFyZ3VtZW50LlxuIgorIlxuIgorIklmIHRoZSBhcmd1bWVudCBpcyBvbWl0dGVkIG9yIE5vbmUsIHN0cmlwIGxlYWRpbmcgQVNDSUkgd2hpdGVzcGFjZS4iKTsKKworI2RlZmluZSBCWVRFQVJSQVlfTFNUUklQX01FVEhPRERFRiAgICBcCisgICAgeyJsc3RyaXAiLCAoUHlDRnVuY3Rpb24pYnl0ZWFycmF5X2xzdHJpcCwgTUVUSF9WQVJBUkdTLCBieXRlYXJyYXlfbHN0cmlwX19kb2NfX30sCisKK3N0YXRpYyBQeU9iamVjdCAqCitieXRlYXJyYXlfbHN0cmlwX2ltcGwoUHlCeXRlQXJyYXlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpieXRlcyk7CisKIHN0YXRpYyBQeU9iamVjdCAqCiBieXRlYXJyYXlfbHN0cmlwKFB5Qnl0ZUFycmF5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKIHsKLSAgICBQeV9zc2l6ZV90IGxlZnQsIHJpZ2h0LCBteXNpemUsIGFyZ3NpemU7Ci0gICAgY2hhciAqbXlwdHIsICphcmdwdHI7Ci0gICAgUHlPYmplY3QgKmFyZyA9IFB5X05vbmU7Ci0gICAgUHlfYnVmZmVyIHZhcmc7Ci0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJ8Tzpsc3RyaXAiLCAmYXJnKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgaWYgKGFyZyA9PSBQeV9Ob25lKSB7Ci0gICAgICAgIGFyZ3B0ciA9ICJcdFxuXHJcZlx2ICI7Ci0gICAgICAgIGFyZ3NpemUgPSA2OworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIFB5T2JqZWN0ICpieXRlcyA9IFB5X05vbmU7CisKKyAgICBpZiAoIVB5QXJnX1VucGFja1R1cGxlKGFyZ3MsICJsc3RyaXAiLAorICAgICAgICAwLCAxLAorICAgICAgICAmYnl0ZXMpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gYnl0ZWFycmF5X2xzdHJpcF9pbXBsKHNlbGYsIGJ5dGVzKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorYnl0ZWFycmF5X2xzdHJpcF9pbXBsKFB5Qnl0ZUFycmF5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYnl0ZXMpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9MjU5OTMwOTgwOGE5ZWMwMiBpbnB1dD04MDg0M2Y5NzVkZDdjNDgwXSovCit7CisgICAgUHlfc3NpemVfdCBsZWZ0LCByaWdodCwgbXlzaXplLCBieXRlc2xlbjsKKyAgICBjaGFyICpteXB0ciwgKmJ5dGVzcHRyOworICAgIFB5X2J1ZmZlciB2Ynl0ZXM7CisKKyAgICBpZiAoYnl0ZXMgPT0gUHlfTm9uZSkgeworICAgICAgICBieXRlc3B0ciA9ICJcdFxuXHJcZlx2ICI7CisgICAgICAgIGJ5dGVzbGVuID0gNjsKICAgICB9CiAgICAgZWxzZSB7Ci0gICAgICAgIGlmIChQeU9iamVjdF9HZXRCdWZmZXIoYXJnLCAmdmFyZywgUHlCVUZfU0lNUExFKSAhPSAwKQorICAgICAgICBpZiAoUHlPYmplY3RfR2V0QnVmZmVyKGJ5dGVzLCAmdmJ5dGVzLCBQeUJVRl9TSU1QTEUpICE9IDApCiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKLSAgICAgICAgYXJncHRyID0gKGNoYXIgKikgdmFyZy5idWY7Ci0gICAgICAgIGFyZ3NpemUgPSB2YXJnLmxlbjsKKyAgICAgICAgYnl0ZXNwdHIgPSAoY2hhciAqKSB2Ynl0ZXMuYnVmOworICAgICAgICBieXRlc2xlbiA9IHZieXRlcy5sZW47CiAgICAgfQogICAgIG15cHRyID0gUHlCeXRlQXJyYXlfQVNfU1RSSU5HKHNlbGYpOwogICAgIG15c2l6ZSA9IFB5X1NJWkUoc2VsZik7Ci0gICAgbGVmdCA9IGxzdHJpcF9oZWxwZXIobXlwdHIsIG15c2l6ZSwgYXJncHRyLCBhcmdzaXplKTsKKyAgICBsZWZ0ID0gbHN0cmlwX2hlbHBlcihteXB0ciwgbXlzaXplLCBieXRlc3B0ciwgYnl0ZXNsZW4pOwogICAgIHJpZ2h0ID0gbXlzaXplOwotICAgIGlmIChhcmcgIT0gUHlfTm9uZSkKLSAgICAgICAgUHlCdWZmZXJfUmVsZWFzZSgmdmFyZyk7CisgICAgaWYgKGJ5dGVzICE9IFB5X05vbmUpCisgICAgICAgIFB5QnVmZmVyX1JlbGVhc2UoJnZieXRlcyk7CiAgICAgcmV0dXJuIFB5Qnl0ZUFycmF5X0Zyb21TdHJpbmdBbmRTaXplKG15cHRyICsgbGVmdCwgcmlnaHQgLSBsZWZ0KTsKIH0KIAotUHlEb2NfU1RSVkFSKHJzdHJpcF9fZG9jX18sCi0iQi5yc3RyaXAoW2J5dGVzXSkgLT4gYnl0ZWFycmF5XG5cCi1cblwKLVN0cmlwIHRyYWlsaW5nIGJ5dGVzIGNvbnRhaW5lZCBpbiB0aGUgYXJndW1lbnRcblwKLWFuZCByZXR1cm4gdGhlIHJlc3VsdCBhcyBhIG5ldyBieXRlYXJyYXkuXG5cCi1JZiB0aGUgYXJndW1lbnQgaXMgb21pdHRlZCwgc3RyaXAgdHJhaWxpbmcgQVNDSUkgd2hpdGVzcGFjZS4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK2J5dGVhcnJheS5yc3RyaXAKKworICAgIGJ5dGVzOiBvYmplY3QgPSBOb25lCisgICAgLworCitTdHJpcCB0cmFpbGluZyBieXRlcyBjb250YWluZWQgaW4gdGhlIGFyZ3VtZW50LgorCitJZiB0aGUgYXJndW1lbnQgaXMgb21pdHRlZCBvciBOb25lLCBzdHJpcCB0cmFpbGluZyBBU0NJSSB3aGl0ZXNwYWNlLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIoYnl0ZWFycmF5X3JzdHJpcF9fZG9jX18sCisicnN0cmlwKCRzZWxmLCBieXRlcz1Ob25lLCAvKVxuIgorIi0tXG4iCisiXG4iCisiU3RyaXAgdHJhaWxpbmcgYnl0ZXMgY29udGFpbmVkIGluIHRoZSBhcmd1bWVudC5cbiIKKyJcbiIKKyJJZiB0aGUgYXJndW1lbnQgaXMgb21pdHRlZCBvciBOb25lLCBzdHJpcCB0cmFpbGluZyBBU0NJSSB3aGl0ZXNwYWNlLiIpOworCisjZGVmaW5lIEJZVEVBUlJBWV9SU1RSSVBfTUVUSE9EREVGICAgIFwKKyAgICB7InJzdHJpcCIsIChQeUNGdW5jdGlvbilieXRlYXJyYXlfcnN0cmlwLCBNRVRIX1ZBUkFSR1MsIGJ5dGVhcnJheV9yc3RyaXBfX2RvY19ffSwKKworc3RhdGljIFB5T2JqZWN0ICoKK2J5dGVhcnJheV9yc3RyaXBfaW1wbChQeUJ5dGVBcnJheU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmJ5dGVzKTsKKwogc3RhdGljIFB5T2JqZWN0ICoKIGJ5dGVhcnJheV9yc3RyaXAoUHlCeXRlQXJyYXlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQogewotICAgIFB5X3NzaXplX3QgcmlnaHQsIG15c2l6ZSwgYXJnc2l6ZTsKLSAgICBjaGFyICpteXB0ciwgKmFyZ3B0cjsKLSAgICBQeU9iamVjdCAqYXJnID0gUHlfTm9uZTsKLSAgICBQeV9idWZmZXIgdmFyZzsKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgInxPOnJzdHJpcCIsICZhcmcpKQotICAgICAgICByZXR1cm4gTlVMTDsKLSAgICBpZiAoYXJnID09IFB5X05vbmUpIHsKLSAgICAgICAgYXJncHRyID0gIlx0XG5cclxmXHYgIjsKLSAgICAgICAgYXJnc2l6ZSA9IDY7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgUHlPYmplY3QgKmJ5dGVzID0gUHlfTm9uZTsKKworICAgIGlmICghUHlBcmdfVW5wYWNrVHVwbGUoYXJncywgInJzdHJpcCIsCisgICAgICAgIDAsIDEsCisgICAgICAgICZieXRlcykpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBieXRlYXJyYXlfcnN0cmlwX2ltcGwoc2VsZiwgYnl0ZXMpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitieXRlYXJyYXlfcnN0cmlwX2ltcGwoUHlCeXRlQXJyYXlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpieXRlcykKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1iNWNhNjI1OWY0ZjRmMmEzIGlucHV0PWU3MjhiOTk0OTU0Y2ZkOTFdKi8KK3sKKyAgICBQeV9zc2l6ZV90IHJpZ2h0LCBteXNpemUsIGJ5dGVzbGVuOworICAgIGNoYXIgKm15cHRyLCAqYnl0ZXNwdHI7CisgICAgUHlfYnVmZmVyIHZieXRlczsKKworICAgIGlmIChieXRlcyA9PSBQeV9Ob25lKSB7CisgICAgICAgIGJ5dGVzcHRyID0gIlx0XG5cclxmXHYgIjsKKyAgICAgICAgYnl0ZXNsZW4gPSA2OwogICAgIH0KICAgICBlbHNlIHsKLSAgICAgICAgaWYgKFB5T2JqZWN0X0dldEJ1ZmZlcihhcmcsICZ2YXJnLCBQeUJVRl9TSU1QTEUpICE9IDApCisgICAgICAgIGlmIChQeU9iamVjdF9HZXRCdWZmZXIoYnl0ZXMsICZ2Ynl0ZXMsIFB5QlVGX1NJTVBMRSkgIT0gMCkKICAgICAgICAgICAgIHJldHVybiBOVUxMOwotICAgICAgICBhcmdwdHIgPSAoY2hhciAqKSB2YXJnLmJ1ZjsKLSAgICAgICAgYXJnc2l6ZSA9IHZhcmcubGVuOworICAgICAgICBieXRlc3B0ciA9IChjaGFyICopIHZieXRlcy5idWY7CisgICAgICAgIGJ5dGVzbGVuID0gdmJ5dGVzLmxlbjsKICAgICB9CiAgICAgbXlwdHIgPSBQeUJ5dGVBcnJheV9BU19TVFJJTkcoc2VsZik7CiAgICAgbXlzaXplID0gUHlfU0laRShzZWxmKTsKLSAgICByaWdodCA9IHJzdHJpcF9oZWxwZXIobXlwdHIsIG15c2l6ZSwgYXJncHRyLCBhcmdzaXplKTsKLSAgICBpZiAoYXJnICE9IFB5X05vbmUpCi0gICAgICAgIFB5QnVmZmVyX1JlbGVhc2UoJnZhcmcpOworICAgIHJpZ2h0ID0gcnN0cmlwX2hlbHBlcihteXB0ciwgbXlzaXplLCBieXRlc3B0ciwgYnl0ZXNsZW4pOworICAgIGlmIChieXRlcyAhPSBQeV9Ob25lKQorICAgICAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZ2Ynl0ZXMpOwogICAgIHJldHVybiBQeUJ5dGVBcnJheV9Gcm9tU3RyaW5nQW5kU2l6ZShteXB0ciwgcmlnaHQpOwogfQogCi1QeURvY19TVFJWQVIoZGVjb2RlX2RvYywKLSJCLmRlY29kZShlbmNvZGluZz0ndXRmLTgnLCBlcnJvcnM9J3N0cmljdCcpIC0+IHN0clxuXAotXG5cCi1EZWNvZGUgQiB1c2luZyB0aGUgY29kZWMgcmVnaXN0ZXJlZCBmb3IgZW5jb2RpbmcuIERlZmF1bHQgZW5jb2RpbmdcblwKLWlzICd1dGYtOCcuIGVycm9ycyBtYXkgYmUgZ2l2ZW4gdG8gc2V0IGEgZGlmZmVyZW50IGVycm9yXG5cCi1oYW5kbGluZyBzY2hlbWUuICBEZWZhdWx0IGlzICdzdHJpY3QnIG1lYW5pbmcgdGhhdCBlbmNvZGluZyBlcnJvcnMgcmFpc2VcblwKLWEgVW5pY29kZURlY29kZUVycm9yLiAgT3RoZXIgcG9zc2libGUgdmFsdWVzIGFyZSAnaWdub3JlJyBhbmQgJ3JlcGxhY2UnXG5cCi1hcyB3ZWxsIGFzIGFueSBvdGhlciBuYW1lIHJlZ2lzdGVyZWQgd2l0aCBjb2RlY3MucmVnaXN0ZXJfZXJyb3IgdGhhdCBpc1xuXAotYWJsZSB0byBoYW5kbGUgVW5pY29kZURlY29kZUVycm9ycy4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK2J5dGVhcnJheS5kZWNvZGUKKworICAgIGVuY29kaW5nOiBzdHIoY19kZWZhdWx0PSJOVUxMIikgPSAndXRmLTgnCisgICAgICAgIFRoZSBlbmNvZGluZyB3aXRoIHdoaWNoIHRvIGRlY29kZSB0aGUgYnl0ZWFycmF5LgorICAgIGVycm9yczogc3RyKGNfZGVmYXVsdD0iTlVMTCIpID0gJ3N0cmljdCcKKyAgICAgICAgVGhlIGVycm9yIGhhbmRsaW5nIHNjaGVtZSB0byB1c2UgZm9yIHRoZSBoYW5kbGluZyBvZiBkZWNvZGluZyBlcnJvcnMuCisgICAgICAgIFRoZSBkZWZhdWx0IGlzICdzdHJpY3QnIG1lYW5pbmcgdGhhdCBkZWNvZGluZyBlcnJvcnMgcmFpc2UgYQorICAgICAgICBVbmljb2RlRGVjb2RlRXJyb3IuIE90aGVyIHBvc3NpYmxlIHZhbHVlcyBhcmUgJ2lnbm9yZScgYW5kICdyZXBsYWNlJworICAgICAgICBhcyB3ZWxsIGFzIGFueSBvdGhlciBuYW1lIHJlZ2lzdGVyZWQgd2l0aCBjb2RlY3MucmVnaXN0ZXJfZXJyb3IgdGhhdAorICAgICAgICBjYW4gaGFuZGxlIFVuaWNvZGVEZWNvZGVFcnJvcnMuCisKK0RlY29kZSB0aGUgYnl0ZWFycmF5IHVzaW5nIHRoZSBjb2RlYyByZWdpc3RlcmVkIGZvciBlbmNvZGluZy4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKGJ5dGVhcnJheV9kZWNvZGVfX2RvY19fLAorImRlY29kZSgkc2VsZiwgLywgZW5jb2Rpbmc9XCd1dGYtOFwnLCBlcnJvcnM9XCdzdHJpY3RcJylcbiIKKyItLVxuIgorIlxuIgorIkRlY29kZSB0aGUgYnl0ZWFycmF5IHVzaW5nIHRoZSBjb2RlYyByZWdpc3RlcmVkIGZvciBlbmNvZGluZy5cbiIKKyJcbiIKKyIgIGVuY29kaW5nXG4iCisiICAgIFRoZSBlbmNvZGluZyB3aXRoIHdoaWNoIHRvIGRlY29kZSB0aGUgYnl0ZWFycmF5LlxuIgorIiAgZXJyb3JzXG4iCisiICAgIFRoZSBlcnJvciBoYW5kbGluZyBzY2hlbWUgdG8gdXNlIGZvciB0aGUgaGFuZGxpbmcgb2YgZGVjb2RpbmcgZXJyb3JzLlxuIgorIiAgICBUaGUgZGVmYXVsdCBpcyBcJ3N0cmljdFwnIG1lYW5pbmcgdGhhdCBkZWNvZGluZyBlcnJvcnMgcmFpc2UgYVxuIgorIiAgICBVbmljb2RlRGVjb2RlRXJyb3IuIE90aGVyIHBvc3NpYmxlIHZhbHVlcyBhcmUgXCdpZ25vcmVcJyBhbmQgXCdyZXBsYWNlXCdcbiIKKyIgICAgYXMgd2VsbCBhcyBhbnkgb3RoZXIgbmFtZSByZWdpc3RlcmVkIHdpdGggY29kZWNzLnJlZ2lzdGVyX2Vycm9yIHRoYXRcbiIKKyIgICAgY2FuIGhhbmRsZSBVbmljb2RlRGVjb2RlRXJyb3JzLiIpOworCisjZGVmaW5lIEJZVEVBUlJBWV9ERUNPREVfTUVUSE9EREVGICAgIFwKKyAgICB7ImRlY29kZSIsIChQeUNGdW5jdGlvbilieXRlYXJyYXlfZGVjb2RlLCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgYnl0ZWFycmF5X2RlY29kZV9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotYnl0ZWFycmF5X2RlY29kZShQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCitieXRlYXJyYXlfZGVjb2RlX2ltcGwoUHlCeXRlQXJyYXlPYmplY3QgKnNlbGYsIGNvbnN0IGNoYXIgKmVuY29kaW5nLCBjb25zdCBjaGFyICplcnJvcnMpOworCitzdGF0aWMgUHlPYmplY3QgKgorYnl0ZWFycmF5X2RlY29kZShQeUJ5dGVBcnJheU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCiB7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgc3RhdGljIGNoYXIgKl9rZXl3b3Jkc1tdID0geyJlbmNvZGluZyIsICJlcnJvcnMiLCBOVUxMfTsKICAgICBjb25zdCBjaGFyICplbmNvZGluZyA9IE5VTEw7CiAgICAgY29uc3QgY2hhciAqZXJyb3JzID0gTlVMTDsKLSAgICBzdGF0aWMgY2hhciAqa3dsaXN0W10gPSB7ImVuY29kaW5nIiwgImVycm9ycyIsIDB9OwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLCAifHNzOmRlY29kZSIsIGt3bGlzdCwgJmVuY29kaW5nLCAmZXJyb3JzKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLAorICAgICAgICAifHNzOmRlY29kZSIsIF9rZXl3b3JkcywKKyAgICAgICAgJmVuY29kaW5nLCAmZXJyb3JzKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IGJ5dGVhcnJheV9kZWNvZGVfaW1wbChzZWxmLCBlbmNvZGluZywgZXJyb3JzKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorYnl0ZWFycmF5X2RlY29kZV9pbXBsKFB5Qnl0ZUFycmF5T2JqZWN0ICpzZWxmLCBjb25zdCBjaGFyICplbmNvZGluZywgY29uc3QgY2hhciAqZXJyb3JzKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTM4YjgzNjgxZjFlMzhhNmMgaW5wdXQ9ZjI4ZDhmOTAzMDIwMjU3Yl0qLworewogICAgIGlmIChlbmNvZGluZyA9PSBOVUxMKQogICAgICAgICBlbmNvZGluZyA9IFB5VW5pY29kZV9HZXREZWZhdWx0RW5jb2RpbmcoKTsKLSAgICByZXR1cm4gUHlVbmljb2RlX0Zyb21FbmNvZGVkT2JqZWN0KHNlbGYsIGVuY29kaW5nLCBlcnJvcnMpOworICAgIHJldHVybiBQeVVuaWNvZGVfRnJvbUVuY29kZWRPYmplY3QoKFB5T2JqZWN0KilzZWxmLCBlbmNvZGluZywgZXJyb3JzKTsKIH0KIAogUHlEb2NfU1RSVkFSKGFsbG9jX2RvYywKQEAgLTI1OTgsNDggKzMyOTUsOTIgQEAKICAgICByZXR1cm4gUHlMb25nX0Zyb21Tc2l6ZV90KHNlbGYtPm9iX2FsbG9jKTsKIH0KIAotUHlEb2NfU1RSVkFSKGpvaW5fZG9jLAotIkIuam9pbihpdGVyYWJsZV9vZl9ieXRlcykgLT4gYnl0ZWFycmF5XG5cCi1cblwKLUNvbmNhdGVuYXRlIGFueSBudW1iZXIgb2YgYnl0ZXMvYnl0ZWFycmF5IG9iamVjdHMsIHdpdGggQlxuXAotaW4gYmV0d2VlbiBlYWNoIHBhaXIsIGFuZCByZXR1cm4gdGhlIHJlc3VsdCBhcyBhIG5ldyBieXRlYXJyYXkuIik7CisvKltjbGluaWMgaW5wdXRdCitieXRlYXJyYXkuam9pbgorCisgICAgaXRlcmFibGVfb2ZfYnl0ZXM6IG9iamVjdAorICAgIC8KKworQ29uY2F0ZW5hdGUgYW55IG51bWJlciBvZiBieXRlcy9ieXRlYXJyYXkgb2JqZWN0cy4KKworVGhlIGJ5dGVhcnJheSB3aG9zZSBtZXRob2QgaXMgY2FsbGVkIGlzIGluc2VydGVkIGluIGJldHdlZW4gZWFjaCBwYWlyLgorCitUaGUgcmVzdWx0IGlzIHJldHVybmVkIGFzIGEgbmV3IGJ5dGVhcnJheSBvYmplY3QuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihieXRlYXJyYXlfam9pbl9fZG9jX18sCisiam9pbigkc2VsZiwgaXRlcmFibGVfb2ZfYnl0ZXMsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJDb25jYXRlbmF0ZSBhbnkgbnVtYmVyIG9mIGJ5dGVzL2J5dGVhcnJheSBvYmplY3RzLlxuIgorIlxuIgorIlRoZSBieXRlYXJyYXkgd2hvc2UgbWV0aG9kIGlzIGNhbGxlZCBpcyBpbnNlcnRlZCBpbiBiZXR3ZWVuIGVhY2ggcGFpci5cbiIKKyJcbiIKKyJUaGUgcmVzdWx0IGlzIHJldHVybmVkIGFzIGEgbmV3IGJ5dGVhcnJheSBvYmplY3QuIik7CisKKyNkZWZpbmUgQllURUFSUkFZX0pPSU5fTUVUSE9EREVGICAgIFwKKyAgICB7ImpvaW4iLCAoUHlDRnVuY3Rpb24pYnl0ZWFycmF5X2pvaW4sIE1FVEhfTywgYnl0ZWFycmF5X2pvaW5fX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLWJ5dGVhcnJheV9qb2luKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqaXRlcmFibGUpCitieXRlYXJyYXlfam9pbihQeUJ5dGVBcnJheU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKml0ZXJhYmxlX29mX2J5dGVzKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTU0NGU3NDMwMDMyZGZkZjQgaW5wdXQ9YWJhNmIxZjliMzBmY2I4ZV0qLwogewotICAgIHJldHVybiBzdHJpbmdsaWJfYnl0ZXNfam9pbihzZWxmLCBpdGVyYWJsZSk7CisgICAgcmV0dXJuIHN0cmluZ2xpYl9ieXRlc19qb2luKChQeU9iamVjdCopc2VsZiwgaXRlcmFibGVfb2ZfYnl0ZXMpOwogfQogCi1QeURvY19TVFJWQVIoc3BsaXRsaW5lc19fZG9jX18sCi0iQi5zcGxpdGxpbmVzKFtrZWVwZW5kc10pIC0+IGxpc3Qgb2YgbGluZXNcblwKLVxuXAotUmV0dXJuIGEgbGlzdCBvZiB0aGUgbGluZXMgaW4gQiwgYnJlYWtpbmcgYXQgbGluZSBib3VuZGFyaWVzLlxuXAotTGluZSBicmVha3MgYXJlIG5vdCBpbmNsdWRlZCBpbiB0aGUgcmVzdWx0aW5nIGxpc3QgdW5sZXNzIGtlZXBlbmRzXG5cCi1pcyBnaXZlbiBhbmQgdHJ1ZS4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK2J5dGVhcnJheS5zcGxpdGxpbmVzCiAKLXN0YXRpYyBQeU9iamVjdCoKLWJ5dGVhcnJheV9zcGxpdGxpbmVzKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3ZHMpCisgICAga2VlcGVuZHM6IGludChweV9kZWZhdWx0PSJGYWxzZSIpID0gMAorCitSZXR1cm4gYSBsaXN0IG9mIHRoZSBsaW5lcyBpbiB0aGUgYnl0ZWFycmF5LCBicmVha2luZyBhdCBsaW5lIGJvdW5kYXJpZXMuCisKK0xpbmUgYnJlYWtzIGFyZSBub3QgaW5jbHVkZWQgaW4gdGhlIHJlc3VsdGluZyBsaXN0IHVubGVzcyBrZWVwZW5kcyBpcyBnaXZlbiBhbmQKK3RydWUuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihieXRlYXJyYXlfc3BsaXRsaW5lc19fZG9jX18sCisic3BsaXRsaW5lcygkc2VsZiwgLywga2VlcGVuZHM9RmFsc2UpXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gYSBsaXN0IG9mIHRoZSBsaW5lcyBpbiB0aGUgYnl0ZWFycmF5LCBicmVha2luZyBhdCBsaW5lIGJvdW5kYXJpZXMuXG4iCisiXG4iCisiTGluZSBicmVha3MgYXJlIG5vdCBpbmNsdWRlZCBpbiB0aGUgcmVzdWx0aW5nIGxpc3QgdW5sZXNzIGtlZXBlbmRzIGlzIGdpdmVuIGFuZFxuIgorInRydWUuIik7CisKKyNkZWZpbmUgQllURUFSUkFZX1NQTElUTElORVNfTUVUSE9EREVGICAgIFwKKyAgICB7InNwbGl0bGluZXMiLCAoUHlDRnVuY3Rpb24pYnl0ZWFycmF5X3NwbGl0bGluZXMsIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBieXRlYXJyYXlfc3BsaXRsaW5lc19fZG9jX199LAorCitzdGF0aWMgUHlPYmplY3QgKgorYnl0ZWFycmF5X3NwbGl0bGluZXNfaW1wbChQeUJ5dGVBcnJheU9iamVjdCAqc2VsZiwgaW50IGtlZXBlbmRzKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK2J5dGVhcnJheV9zcGxpdGxpbmVzKFB5Qnl0ZUFycmF5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKIHsKLSAgICBzdGF0aWMgY2hhciAqa3dsaXN0W10gPSB7ImtlZXBlbmRzIiwgMH07CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgc3RhdGljIGNoYXIgKl9rZXl3b3Jkc1tdID0geyJrZWVwZW5kcyIsIE5VTEx9OwogICAgIGludCBrZWVwZW5kcyA9IDA7CiAKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2RzLCAifGk6c3BsaXRsaW5lcyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga3dsaXN0LCAma2VlcGVuZHMpKQotICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsCisgICAgICAgICJ8aTpzcGxpdGxpbmVzIiwgX2tleXdvcmRzLAorICAgICAgICAma2VlcGVuZHMpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gYnl0ZWFycmF5X3NwbGl0bGluZXNfaW1wbChzZWxmLCBrZWVwZW5kcyk7CiAKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK2J5dGVhcnJheV9zcGxpdGxpbmVzX2ltcGwoUHlCeXRlQXJyYXlPYmplY3QgKnNlbGYsIGludCBrZWVwZW5kcykKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1hODM3ZmQwNTEyYWQ0NmZmIGlucHV0PTM2ZjBiMjViYzc5MmY2YzBdKi8KK3sKICAgICByZXR1cm4gc3RyaW5nbGliX3NwbGl0bGluZXMoCiAgICAgICAgIChQeU9iamVjdCopIHNlbGYsIFB5Qnl0ZUFycmF5X0FTX1NUUklORyhzZWxmKSwKICAgICAgICAgUHlCeXRlQXJyYXlfR0VUX1NJWkUoc2VsZiksIGtlZXBlbmRzCiAgICAgICAgICk7CiB9CiAKLVB5RG9jX1NUUlZBUihmcm9taGV4X2RvYywKLSJieXRlYXJyYXkuZnJvbWhleChzdHJpbmcpIC0+IGJ5dGVhcnJheSAoc3RhdGljIG1ldGhvZClcblwKLVxuXAotQ3JlYXRlIGEgYnl0ZWFycmF5IG9iamVjdCBmcm9tIGEgc3RyaW5nIG9mIGhleGFkZWNpbWFsIG51bWJlcnMuXG5cCi1TcGFjZXMgYmV0d2VlbiB0d28gbnVtYmVycyBhcmUgYWNjZXB0ZWQuXG5cCi1FeGFtcGxlOiBieXRlYXJyYXkuZnJvbWhleCgnQjkgMDFFRicpIC0+IGJ5dGVhcnJheShiJ1xceGI5XFx4MDFcXHhlZicpLiIpOwotCiBzdGF0aWMgaW50CiBoZXhfZGlnaXRfdG9faW50KFB5X1VDUzQgYykKIHsKQEAgLTI2NTYsMjQgKzMzOTcsNjggQEAKICAgICByZXR1cm4gLTE7CiB9CiAKKy8qW2NsaW5pYyBpbnB1dF0KK0BjbGFzc21ldGhvZAorYnl0ZWFycmF5LmZyb21oZXgKKworICAgIGNsczogc2VsZih0eXBlPSJQeU9iamVjdCoiKQorICAgIHN0cmluZzogdW5pY29kZQorICAgIC8KKworQ3JlYXRlIGEgYnl0ZWFycmF5IG9iamVjdCBmcm9tIGEgc3RyaW5nIG9mIGhleGFkZWNpbWFsIG51bWJlcnMuCisKK1NwYWNlcyBiZXR3ZWVuIHR3byBudW1iZXJzIGFyZSBhY2NlcHRlZC4KK0V4YW1wbGU6IGJ5dGVhcnJheS5mcm9taGV4KCdCOSAwMUVGJykgLT4gYnl0ZWFycmF5KGInXFx4YjlcXHgwMVxceGVmJykKK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKGJ5dGVhcnJheV9mcm9taGV4X19kb2NfXywKKyJmcm9taGV4KCR0eXBlLCBzdHJpbmcsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJDcmVhdGUgYSBieXRlYXJyYXkgb2JqZWN0IGZyb20gYSBzdHJpbmcgb2YgaGV4YWRlY2ltYWwgbnVtYmVycy5cbiIKKyJcbiIKKyJTcGFjZXMgYmV0d2VlbiB0d28gbnVtYmVycyBhcmUgYWNjZXB0ZWQuXG4iCisiRXhhbXBsZTogYnl0ZWFycmF5LmZyb21oZXgoXCdCOSAwMUVGXCcpIC0+IGJ5dGVhcnJheShiXCdcXFxceGI5XFxcXHgwMVxcXFx4ZWZcJykiKTsKKworI2RlZmluZSBCWVRFQVJSQVlfRlJPTUhFWF9NRVRIT0RERUYgICAgXAorICAgIHsiZnJvbWhleCIsIChQeUNGdW5jdGlvbilieXRlYXJyYXlfZnJvbWhleCwgTUVUSF9WQVJBUkdTfE1FVEhfQ0xBU1MsIGJ5dGVhcnJheV9mcm9taGV4X19kb2NfX30sCisKIHN0YXRpYyBQeU9iamVjdCAqCi1ieXRlYXJyYXlfZnJvbWhleChQeU9iamVjdCAqY2xzLCBQeU9iamVjdCAqYXJncykKK2J5dGVhcnJheV9mcm9taGV4X2ltcGwoUHlPYmplY3QqY2xzLCBQeU9iamVjdCAqc3RyaW5nKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK2J5dGVhcnJheV9mcm9taGV4KFB5VHlwZU9iamVjdCAqY2xzLCBQeU9iamVjdCAqYXJncykKIHsKLSAgICBQeU9iamVjdCAqbmV3Ynl0ZXMsICpoZXhvYmo7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgUHlPYmplY3QgKnN0cmluZzsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAiVTpmcm9taGV4IiwKKyAgICAgICAgJnN0cmluZykpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBieXRlYXJyYXlfZnJvbWhleF9pbXBsKChQeU9iamVjdCopY2xzLCBzdHJpbmcpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitieXRlYXJyYXlfZnJvbWhleF9pbXBsKFB5T2JqZWN0KmNscywgUHlPYmplY3QgKnN0cmluZykKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1hZGMzYzgwNGE3NGU1NmQ0IGlucHV0PTkwN2JiZDJkMzRkOTM2N2FdKi8KK3sKKyAgICBQeU9iamVjdCAqbmV3Ynl0ZXM7CiAgICAgY2hhciAqYnVmOwogICAgIFB5X3NzaXplX3QgaGV4bGVuLCBieXRlc2xlbiwgaSwgajsKICAgICBpbnQgdG9wLCBib3Q7CiAgICAgdm9pZCAqZGF0YTsKICAgICB1bnNpZ25lZCBpbnQga2luZDsKIAotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiVTpmcm9taGV4IiwgJmhleG9iaikpCisgICAgYXNzZXJ0KFB5VW5pY29kZV9DaGVjayhzdHJpbmcpKTsKKyAgICBpZiAoUHlVbmljb2RlX1JFQURZKHN0cmluZykpCiAgICAgICAgIHJldHVybiBOVUxMOwotICAgIGFzc2VydChQeVVuaWNvZGVfQ2hlY2soaGV4b2JqKSk7Ci0gICAgaWYgKFB5VW5pY29kZV9SRUFEWShoZXhvYmopKQotICAgICAgICByZXR1cm4gTlVMTDsKLSAgICBraW5kID0gUHlVbmljb2RlX0tJTkQoaGV4b2JqKTsKLSAgICBkYXRhID0gUHlVbmljb2RlX0RBVEEoaGV4b2JqKTsKLSAgICBoZXhsZW4gPSBQeVVuaWNvZGVfR0VUX0xFTkdUSChoZXhvYmopOworICAgIGtpbmQgPSBQeVVuaWNvZGVfS0lORChzdHJpbmcpOworICAgIGRhdGEgPSBQeVVuaWNvZGVfREFUQShzdHJpbmcpOworICAgIGhleGxlbiA9IFB5VW5pY29kZV9HRVRfTEVOR1RIKHN0cmluZyk7CiAKICAgICBieXRlc2xlbiA9IGhleGxlbi8yOyAvKiBUaGlzIG92ZXJlc3RpbWF0ZXMgaWYgdGhlcmUgYXJlIHNwYWNlcyAqLwogICAgIG5ld2J5dGVzID0gUHlCeXRlQXJyYXlfRnJvbVN0cmluZ0FuZFNpemUoTlVMTCwgYnl0ZXNsZW4pOwpAQCAtMjc0MSwzMyArMzUyNiwxMTMgQEAKICAgICB9CiB9CiAKLVB5RG9jX1NUUlZBUihyZWR1Y2VfZG9jLCAiUmV0dXJuIHN0YXRlIGluZm9ybWF0aW9uIGZvciBwaWNrbGluZy4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK2J5dGVhcnJheS5fX3JlZHVjZV9fIGFzIGJ5dGVhcnJheV9yZWR1Y2UKKworICAgIHNlbGY6IHNlbGYodHlwZT0iUHlCeXRlQXJyYXlPYmplY3QgKiIpCisKK1JldHVybiBzdGF0ZSBpbmZvcm1hdGlvbiBmb3IgcGlja2xpbmcuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihieXRlYXJyYXlfcmVkdWNlX19kb2NfXywKKyJfX3JlZHVjZV9fKCRzZWxmLCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIHN0YXRlIGluZm9ybWF0aW9uIGZvciBwaWNrbGluZy4iKTsKKworI2RlZmluZSBCWVRFQVJSQVlfUkVEVUNFX01FVEhPRERFRiAgICBcCisgICAgeyJfX3JlZHVjZV9fIiwgKFB5Q0Z1bmN0aW9uKWJ5dGVhcnJheV9yZWR1Y2UsIE1FVEhfTk9BUkdTLCBieXRlYXJyYXlfcmVkdWNlX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1ieXRlYXJyYXlfcmVkdWNlKFB5Qnl0ZUFycmF5T2JqZWN0ICpzZWxmKQorYnl0ZWFycmF5X3JlZHVjZV9pbXBsKFB5Qnl0ZUFycmF5T2JqZWN0ICpzZWxmKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK2J5dGVhcnJheV9yZWR1Y2UoUHlCeXRlQXJyYXlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpQeV9VTlVTRUQoaWdub3JlZCkpCit7CisgICAgcmV0dXJuIGJ5dGVhcnJheV9yZWR1Y2VfaW1wbChzZWxmKTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK2J5dGVhcnJheV9yZWR1Y2VfaW1wbChQeUJ5dGVBcnJheU9iamVjdCAqc2VsZikKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1iMWI1NmZlODdiZjMwZmIwIGlucHV0PWZiYjA3ZGU0ZDEwMmEwM2FdKi8KIHsKICAgICByZXR1cm4gX2NvbW1vbl9yZWR1Y2Uoc2VsZiwgMik7CiB9CiAKLVB5RG9jX1NUUlZBUihyZWR1Y2VfZXhfZG9jLCAiUmV0dXJuIHN0YXRlIGluZm9ybWF0aW9uIGZvciBwaWNrbGluZy4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK2J5dGVhcnJheS5fX3JlZHVjZV9leF9fIGFzIGJ5dGVhcnJheV9yZWR1Y2VfZXgKKworICAgIHNlbGY6IHNlbGYodHlwZT0iUHlCeXRlQXJyYXlPYmplY3QgKiIpCisgICAgcHJvdG86IGludCA9IDAKKyAgICAvCisKK1JldHVybiBzdGF0ZSBpbmZvcm1hdGlvbiBmb3IgcGlja2xpbmcuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihieXRlYXJyYXlfcmVkdWNlX2V4X19kb2NfXywKKyJfX3JlZHVjZV9leF9fKCRzZWxmLCBwcm90bz0wLCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIHN0YXRlIGluZm9ybWF0aW9uIGZvciBwaWNrbGluZy4iKTsKKworI2RlZmluZSBCWVRFQVJSQVlfUkVEVUNFX0VYX01FVEhPRERFRiAgICBcCisgICAgeyJfX3JlZHVjZV9leF9fIiwgKFB5Q0Z1bmN0aW9uKWJ5dGVhcnJheV9yZWR1Y2VfZXgsIE1FVEhfVkFSQVJHUywgYnl0ZWFycmF5X3JlZHVjZV9leF9fZG9jX199LAorCitzdGF0aWMgUHlPYmplY3QgKgorYnl0ZWFycmF5X3JlZHVjZV9leF9pbXBsKFB5Qnl0ZUFycmF5T2JqZWN0ICpzZWxmLCBpbnQgcHJvdG8pOwogCiBzdGF0aWMgUHlPYmplY3QgKgogYnl0ZWFycmF5X3JlZHVjZV9leChQeUJ5dGVBcnJheU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCiB7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CiAgICAgaW50IHByb3RvID0gMDsKIAotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAifGk6X19yZWR1Y2VfZXhfXyIsICZwcm90bykpCi0gICAgICAgIHJldHVybiBOVUxMOworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAifGk6X19yZWR1Y2VfZXhfXyIsCisgICAgICAgICZwcm90bykpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBieXRlYXJyYXlfcmVkdWNlX2V4X2ltcGwoc2VsZiwgcHJvdG8pOwogCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitieXRlYXJyYXlfcmVkdWNlX2V4X2ltcGwoUHlCeXRlQXJyYXlPYmplY3QgKnNlbGYsIGludCBwcm90bykKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1iYmQ5YWZiMmY1OTUzZGMxIGlucHV0PTBlMDkxYTQyY2E2ZGJkOTFdKi8KK3sKICAgICByZXR1cm4gX2NvbW1vbl9yZWR1Y2Uoc2VsZiwgcHJvdG8pOwogfQogCi1QeURvY19TVFJWQVIoc2l6ZW9mX2RvYywKLSJCLl9fc2l6ZW9mX18oKSAtPiBpbnRcblwKLSBcblwKLVJldHVybnMgdGhlIHNpemUgb2YgQiBpbiBtZW1vcnksIGluIGJ5dGVzIik7CisvKltjbGluaWMgaW5wdXRdCitieXRlYXJyYXkuX19zaXplb2ZfXyBhcyBieXRlYXJyYXlfc2l6ZW9mCisKKyAgICBzZWxmOiBzZWxmKHR5cGU9IlB5Qnl0ZUFycmF5T2JqZWN0ICoiKQorCitSZXR1cm5zIHRoZSBzaXplIG9mIHRoZSBieXRlYXJyYXkgb2JqZWN0IGluIG1lbW9yeSwgaW4gYnl0ZXMuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihieXRlYXJyYXlfc2l6ZW9mX19kb2NfXywKKyJfX3NpemVvZl9fKCRzZWxmLCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJucyB0aGUgc2l6ZSBvZiB0aGUgYnl0ZWFycmF5IG9iamVjdCBpbiBtZW1vcnksIGluIGJ5dGVzLiIpOworCisjZGVmaW5lIEJZVEVBUlJBWV9TSVpFT0ZfTUVUSE9EREVGICAgIFwKKyAgICB7Il9fc2l6ZW9mX18iLCAoUHlDRnVuY3Rpb24pYnl0ZWFycmF5X3NpemVvZiwgTUVUSF9OT0FSR1MsIGJ5dGVhcnJheV9zaXplb2ZfX2RvY19ffSwKKwogc3RhdGljIFB5T2JqZWN0ICoKLWJ5dGVhcnJheV9zaXplb2YoUHlCeXRlQXJyYXlPYmplY3QgKnNlbGYpCitieXRlYXJyYXlfc2l6ZW9mX2ltcGwoUHlCeXRlQXJyYXlPYmplY3QgKnNlbGYpOworCitzdGF0aWMgUHlPYmplY3QgKgorYnl0ZWFycmF5X3NpemVvZihQeUJ5dGVBcnJheU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKlB5X1VOVVNFRChpZ25vcmVkKSkKK3sKKyAgICByZXR1cm4gYnl0ZWFycmF5X3NpemVvZl9pbXBsKHNlbGYpOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorYnl0ZWFycmF5X3NpemVvZl9pbXBsKFB5Qnl0ZUFycmF5T2JqZWN0ICpzZWxmKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTRhMjI1NGIwYTg1NjMwYzYgaW5wdXQ9NmIyM2QzMDUzNjJiNDYyYl0qLwogewogICAgIFB5X3NzaXplX3QgcmVzOwogCkBAIC0yODAyLDI2ICszNjY3LDI1IEBACiBzdGF0aWMgUHlNZXRob2REZWYKIGJ5dGVhcnJheV9tZXRob2RzW10gPSB7CiAgICAgeyJfX2FsbG9jX18iLCAoUHlDRnVuY3Rpb24pYnl0ZWFycmF5X2FsbG9jLCBNRVRIX05PQVJHUywgYWxsb2NfZG9jfSwKLSAgICB7Il9fcmVkdWNlX18iLCAoUHlDRnVuY3Rpb24pYnl0ZWFycmF5X3JlZHVjZSwgTUVUSF9OT0FSR1MsIHJlZHVjZV9kb2N9LAotICAgIHsiX19yZWR1Y2VfZXhfXyIsIChQeUNGdW5jdGlvbilieXRlYXJyYXlfcmVkdWNlX2V4LCBNRVRIX1ZBUkFSR1MsIHJlZHVjZV9leF9kb2N9LAotICAgIHsiX19zaXplb2ZfXyIsIChQeUNGdW5jdGlvbilieXRlYXJyYXlfc2l6ZW9mLCBNRVRIX05PQVJHUywgc2l6ZW9mX2RvY30sCi0gICAgeyJhcHBlbmQiLCAoUHlDRnVuY3Rpb24pYnl0ZWFycmF5X2FwcGVuZCwgTUVUSF9PLCBhcHBlbmRfX2RvY19ffSwKKyAgICBCWVRFQVJSQVlfUkVEVUNFX01FVEhPRERFRgorICAgIEJZVEVBUlJBWV9SRURVQ0VfRVhfTUVUSE9EREVGCisgICAgQllURUFSUkFZX1NJWkVPRl9NRVRIT0RERUYKKyAgICBCWVRFQVJSQVlfQVBQRU5EX01FVEhPRERFRgogICAgIHsiY2FwaXRhbGl6ZSIsIChQeUNGdW5jdGlvbilzdHJpbmdsaWJfY2FwaXRhbGl6ZSwgTUVUSF9OT0FSR1MsCiAgICAgIF9QeV9jYXBpdGFsaXplX19kb2NfX30sCiAgICAgeyJjZW50ZXIiLCAoUHlDRnVuY3Rpb24pc3RyaW5nbGliX2NlbnRlciwgTUVUSF9WQVJBUkdTLCBjZW50ZXJfX2RvY19ffSwKLSAgICB7ImNsZWFyIiwgKFB5Q0Z1bmN0aW9uKWJ5dGVhcnJheV9jbGVhciwgTUVUSF9OT0FSR1MsIGNsZWFyX19kb2NfX30sCi0gICAgeyJjb3B5IiwgKFB5Q0Z1bmN0aW9uKWJ5dGVhcnJheV9jb3B5LCBNRVRIX05PQVJHUywgY29weV9fZG9jX199LAorICAgIEJZVEVBUlJBWV9DTEVBUl9NRVRIT0RERUYKKyAgICBCWVRFQVJSQVlfQ09QWV9NRVRIT0RERUYKICAgICB7ImNvdW50IiwgKFB5Q0Z1bmN0aW9uKWJ5dGVhcnJheV9jb3VudCwgTUVUSF9WQVJBUkdTLCBjb3VudF9fZG9jX199LAotICAgIHsiZGVjb2RlIiwgKFB5Q0Z1bmN0aW9uKWJ5dGVhcnJheV9kZWNvZGUsIE1FVEhfVkFSQVJHUyB8IE1FVEhfS0VZV09SRFMsIGRlY29kZV9kb2N9LAorICAgIEJZVEVBUlJBWV9ERUNPREVfTUVUSE9EREVGCiAgICAgeyJlbmRzd2l0aCIsIChQeUNGdW5jdGlvbilieXRlYXJyYXlfZW5kc3dpdGgsIE1FVEhfVkFSQVJHUywgZW5kc3dpdGhfX2RvY19ffSwKICAgICB7ImV4cGFuZHRhYnMiLCAoUHlDRnVuY3Rpb24pc3RyaW5nbGliX2V4cGFuZHRhYnMsIE1FVEhfVkFSQVJHUyB8IE1FVEhfS0VZV09SRFMsCiAgICAgIGV4cGFuZHRhYnNfX2RvY19ffSwKLSAgICB7ImV4dGVuZCIsIChQeUNGdW5jdGlvbilieXRlYXJyYXlfZXh0ZW5kLCBNRVRIX08sIGV4dGVuZF9fZG9jX199LAorICAgIEJZVEVBUlJBWV9FWFRFTkRfTUVUSE9EREVGCiAgICAgeyJmaW5kIiwgKFB5Q0Z1bmN0aW9uKWJ5dGVhcnJheV9maW5kLCBNRVRIX1ZBUkFSR1MsIGZpbmRfX2RvY19ffSwKLSAgICB7ImZyb21oZXgiLCAoUHlDRnVuY3Rpb24pYnl0ZWFycmF5X2Zyb21oZXgsIE1FVEhfVkFSQVJHU3xNRVRIX0NMQVNTLAotICAgICBmcm9taGV4X2RvY30sCisgICAgQllURUFSUkFZX0ZST01IRVhfTUVUSE9EREVGCiAgICAgeyJpbmRleCIsIChQeUNGdW5jdGlvbilieXRlYXJyYXlfaW5kZXgsIE1FVEhfVkFSQVJHUywgaW5kZXhfX2RvY19ffSwKLSAgICB7Imluc2VydCIsIChQeUNGdW5jdGlvbilieXRlYXJyYXlfaW5zZXJ0LCBNRVRIX1ZBUkFSR1MsIGluc2VydF9fZG9jX199LAorICAgIEJZVEVBUlJBWV9JTlNFUlRfTUVUSE9EREVGCiAgICAgeyJpc2FsbnVtIiwgKFB5Q0Z1bmN0aW9uKXN0cmluZ2xpYl9pc2FsbnVtLCBNRVRIX05PQVJHUywKICAgICAgX1B5X2lzYWxudW1fX2RvY19ffSwKICAgICB7ImlzYWxwaGEiLCAoUHlDRnVuY3Rpb24pc3RyaW5nbGliX2lzYWxwaGEsIE1FVEhfTk9BUkdTLApAQCAtMjgzNiwzOSArMzcwMCw1MSBAQAogICAgICBfUHlfaXN0aXRsZV9fZG9jX199LAogICAgIHsiaXN1cHBlciIsIChQeUNGdW5jdGlvbilzdHJpbmdsaWJfaXN1cHBlciwgTUVUSF9OT0FSR1MsCiAgICAgIF9QeV9pc3VwcGVyX19kb2NfX30sCi0gICAgeyJqb2luIiwgKFB5Q0Z1bmN0aW9uKWJ5dGVhcnJheV9qb2luLCBNRVRIX08sIGpvaW5fZG9jfSwKKyAgICBCWVRFQVJSQVlfSk9JTl9NRVRIT0RERUYKICAgICB7ImxqdXN0IiwgKFB5Q0Z1bmN0aW9uKXN0cmluZ2xpYl9sanVzdCwgTUVUSF9WQVJBUkdTLCBsanVzdF9fZG9jX199LAogICAgIHsibG93ZXIiLCAoUHlDRnVuY3Rpb24pc3RyaW5nbGliX2xvd2VyLCBNRVRIX05PQVJHUywgX1B5X2xvd2VyX19kb2NfX30sCi0gICAgeyJsc3RyaXAiLCAoUHlDRnVuY3Rpb24pYnl0ZWFycmF5X2xzdHJpcCwgTUVUSF9WQVJBUkdTLCBsc3RyaXBfX2RvY19ffSwKLSAgICB7Im1ha2V0cmFucyIsIChQeUNGdW5jdGlvbilieXRlYXJyYXlfbWFrZXRyYW5zLCBNRVRIX1ZBUkFSR1N8TUVUSF9TVEFUSUMsCi0gICAgIF9QeV9tYWtldHJhbnNfX2RvY19ffSwKLSAgICB7InBhcnRpdGlvbiIsIChQeUNGdW5jdGlvbilieXRlYXJyYXlfcGFydGl0aW9uLCBNRVRIX08sIHBhcnRpdGlvbl9fZG9jX199LAotICAgIHsicG9wIiwgKFB5Q0Z1bmN0aW9uKWJ5dGVhcnJheV9wb3AsIE1FVEhfVkFSQVJHUywgcG9wX19kb2NfX30sCi0gICAgeyJyZW1vdmUiLCAoUHlDRnVuY3Rpb24pYnl0ZWFycmF5X3JlbW92ZSwgTUVUSF9PLCByZW1vdmVfX2RvY19ffSwKLSAgICB7InJlcGxhY2UiLCAoUHlDRnVuY3Rpb24pYnl0ZWFycmF5X3JlcGxhY2UsIE1FVEhfVkFSQVJHUywgcmVwbGFjZV9fZG9jX199LAotICAgIHsicmV2ZXJzZSIsIChQeUNGdW5jdGlvbilieXRlYXJyYXlfcmV2ZXJzZSwgTUVUSF9OT0FSR1MsIHJldmVyc2VfX2RvY19ffSwKKyAgICBCWVRFQVJSQVlfTFNUUklQX01FVEhPRERFRgorICAgIEJZVEVBUlJBWV9NQUtFVFJBTlNfTUVUSE9EREVGCisgICAgQllURUFSUkFZX1BBUlRJVElPTl9NRVRIT0RERUYKKyAgICBCWVRFQVJSQVlfUE9QX01FVEhPRERFRgorICAgIEJZVEVBUlJBWV9SRU1PVkVfTUVUSE9EREVGCisgICAgQllURUFSUkFZX1JFUExBQ0VfTUVUSE9EREVGCisgICAgQllURUFSUkFZX1JFVkVSU0VfTUVUSE9EREVGCiAgICAgeyJyZmluZCIsIChQeUNGdW5jdGlvbilieXRlYXJyYXlfcmZpbmQsIE1FVEhfVkFSQVJHUywgcmZpbmRfX2RvY19ffSwKICAgICB7InJpbmRleCIsIChQeUNGdW5jdGlvbilieXRlYXJyYXlfcmluZGV4LCBNRVRIX1ZBUkFSR1MsIHJpbmRleF9fZG9jX199LAogICAgIHsicmp1c3QiLCAoUHlDRnVuY3Rpb24pc3RyaW5nbGliX3JqdXN0LCBNRVRIX1ZBUkFSR1MsIHJqdXN0X19kb2NfX30sCi0gICAgeyJycGFydGl0aW9uIiwgKFB5Q0Z1bmN0aW9uKWJ5dGVhcnJheV9ycGFydGl0aW9uLCBNRVRIX08sIHJwYXJ0aXRpb25fX2RvY19ffSwKLSAgICB7InJzcGxpdCIsIChQeUNGdW5jdGlvbilieXRlYXJyYXlfcnNwbGl0LCBNRVRIX1ZBUkFSR1MgfCBNRVRIX0tFWVdPUkRTLCByc3BsaXRfX2RvY19ffSwKLSAgICB7InJzdHJpcCIsIChQeUNGdW5jdGlvbilieXRlYXJyYXlfcnN0cmlwLCBNRVRIX1ZBUkFSR1MsIHJzdHJpcF9fZG9jX199LAotICAgIHsic3BsaXQiLCAoUHlDRnVuY3Rpb24pYnl0ZWFycmF5X3NwbGl0LCBNRVRIX1ZBUkFSR1MgfCBNRVRIX0tFWVdPUkRTLCBzcGxpdF9fZG9jX199LAotICAgIHsic3BsaXRsaW5lcyIsIChQeUNGdW5jdGlvbilieXRlYXJyYXlfc3BsaXRsaW5lcywKLSAgICAgTUVUSF9WQVJBUkdTIHwgTUVUSF9LRVlXT1JEUywgc3BsaXRsaW5lc19fZG9jX199LAorICAgIEJZVEVBUlJBWV9SUEFSVElUSU9OX01FVEhPRERFRgorICAgIEJZVEVBUlJBWV9SU1BMSVRfTUVUSE9EREVGCisgICAgQllURUFSUkFZX1JTVFJJUF9NRVRIT0RERUYKKyAgICBCWVRFQVJSQVlfU1BMSVRfTUVUSE9EREVGCisgICAgQllURUFSUkFZX1NQTElUTElORVNfTUVUSE9EREVGCiAgICAgeyJzdGFydHN3aXRoIiwgKFB5Q0Z1bmN0aW9uKWJ5dGVhcnJheV9zdGFydHN3aXRoLCBNRVRIX1ZBUkFSR1MgLAogICAgICBzdGFydHN3aXRoX19kb2NfX30sCi0gICAgeyJzdHJpcCIsIChQeUNGdW5jdGlvbilieXRlYXJyYXlfc3RyaXAsIE1FVEhfVkFSQVJHUywgc3RyaXBfX2RvY19ffSwKKyAgICBCWVRFQVJSQVlfU1RSSVBfTUVUSE9EREVGCiAgICAgeyJzd2FwY2FzZSIsIChQeUNGdW5jdGlvbilzdHJpbmdsaWJfc3dhcGNhc2UsIE1FVEhfTk9BUkdTLAogICAgICBfUHlfc3dhcGNhc2VfX2RvY19ffSwKICAgICB7InRpdGxlIiwgKFB5Q0Z1bmN0aW9uKXN0cmluZ2xpYl90aXRsZSwgTUVUSF9OT0FSR1MsIF9QeV90aXRsZV9fZG9jX199LAotICAgIHsidHJhbnNsYXRlIiwgKFB5Q0Z1bmN0aW9uKWJ5dGVhcnJheV90cmFuc2xhdGUsIE1FVEhfVkFSQVJHUywKLSAgICAgdHJhbnNsYXRlX19kb2NfX30sCisgICAgQllURUFSUkFZX1RSQU5TTEFURV9NRVRIT0RERUYKICAgICB7InVwcGVyIiwgKFB5Q0Z1bmN0aW9uKXN0cmluZ2xpYl91cHBlciwgTUVUSF9OT0FSR1MsIF9QeV91cHBlcl9fZG9jX199LAogICAgIHsiemZpbGwiLCAoUHlDRnVuY3Rpb24pc3RyaW5nbGliX3pmaWxsLCBNRVRIX1ZBUkFSR1MsIHpmaWxsX19kb2NfX30sCiAgICAge05VTEx9CiB9OwogCitzdGF0aWMgUHlPYmplY3QgKgorYnl0ZWFycmF5X21vZChQeU9iamVjdCAqdiwgUHlPYmplY3QgKncpCit7CisgICAgaWYgKCFQeUJ5dGVBcnJheV9DaGVjayh2KSkKKyAgICAgICAgUHlfUkVUVVJOX05PVElNUExFTUVOVEVEOworICAgIHJldHVybiBieXRlYXJyYXlfZm9ybWF0KChQeUJ5dGVBcnJheU9iamVjdCAqKXYsIHcpOworfQorCitzdGF0aWMgUHlOdW1iZXJNZXRob2RzIGJ5dGVhcnJheV9hc19udW1iZXIgPSB7CisgICAgMCwgICAgICAgICAgICAgIC8qbmJfYWRkKi8KKyAgICAwLCAgICAgICAgICAgICAgLypuYl9zdWJ0cmFjdCovCisgICAgMCwgICAgICAgICAgICAgIC8qbmJfbXVsdGlwbHkqLworICAgIGJ5dGVhcnJheV9tb2QsICAvKm5iX3JlbWFpbmRlciovCit9OworCiBQeURvY19TVFJWQVIoYnl0ZWFycmF5X2RvYywKICJieXRlYXJyYXkoaXRlcmFibGVfb2ZfaW50cykgLT4gYnl0ZWFycmF5XG5cCiBieXRlYXJyYXkoc3RyaW5nLCBlbmNvZGluZ1ssIGVycm9yc10pIC0+IGJ5dGVhcnJheVxuXApAQCAtMjg5Nyw3ICszNzczLDcgQEAKICAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9zZXRhdHRyICovCiAgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfcmVzZXJ2ZWQgKi8KICAgICAocmVwcmZ1bmMpYnl0ZWFycmF5X3JlcHIsICAgICAgICAgICAvKiB0cF9yZXByICovCi0gICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfYXNfbnVtYmVyICovCisgICAgJmJ5dGVhcnJheV9hc19udW1iZXIsICAgICAgICAgICAgICAgLyogdHBfYXNfbnVtYmVyICovCiAgICAgJmJ5dGVhcnJheV9hc19zZXF1ZW5jZSwgICAgICAgICAgICAgLyogdHBfYXNfc2VxdWVuY2UgKi8KICAgICAmYnl0ZWFycmF5X2FzX21hcHBpbmcsICAgICAgICAgICAgICAvKiB0cF9hc19tYXBwaW5nICovCiAgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfaGFzaCAqLwpAQCAtMzAyNCw3ICszOTAwLDcgQEAKICAgICB7Il9fbGVuZ3RoX2hpbnRfXyIsIChQeUNGdW5jdGlvbilieXRlYXJyYXlpdGVyX2xlbmd0aF9oaW50LCBNRVRIX05PQVJHUywKICAgICAgbGVuZ3RoX2hpbnRfZG9jfSwKICAgICAgeyJfX3JlZHVjZV9fIiwgICAgICAoUHlDRnVuY3Rpb24pYnl0ZWFycmF5aXRlcl9yZWR1Y2UsIE1FVEhfTk9BUkdTLAotICAgICByZWR1Y2VfZG9jfSwKKyAgICAgYnl0ZWFycmF5X3JlZHVjZV9fZG9jX199LAogICAgIHsiX19zZXRzdGF0ZV9fIiwgICAgKFB5Q0Z1bmN0aW9uKWJ5dGVhcnJheWl0ZXJfc2V0c3RhdGUsIE1FVEhfTywKICAgICAgc2V0c3RhdGVfZG9jfSwKICAgICB7TlVMTCwgTlVMTH0gLyogc2VudGluZWwgKi8KZGlmZiAtLWdpdCBhL09iamVjdHMvYnl0ZXNfbWV0aG9kcy5jIGIvT2JqZWN0cy9ieXRlc19tZXRob2RzLmMKaW5kZXggOWZmN2FjZS4uYTI5OTkxNSAxMDA2NDQKLS0tIGEvT2JqZWN0cy9ieXRlc19tZXRob2RzLmMKKysrIGIvT2JqZWN0cy9ieXRlc19tZXRob2RzLmMKQEAgLTM2NCwzOSArMzY0LDI2IEBACiBUaGUgYnl0ZXMgb2JqZWN0cyBmcm0gYW5kIHRvIG11c3QgYmUgb2YgdGhlIHNhbWUgbGVuZ3RoLiIpOwogCiBQeU9iamVjdCAqCi1fUHlfYnl0ZXNfbWFrZXRyYW5zKFB5T2JqZWN0ICphcmdzKQorX1B5X2J5dGVzX21ha2V0cmFucyhQeV9idWZmZXIgKmZybSwgUHlfYnVmZmVyICp0bykKIHsKICAgICBQeU9iamVjdCAqcmVzID0gTlVMTDsKLSAgICBQeV9idWZmZXIgYmZybSA9IHtOVUxMLCBOVUxMfTsKLSAgICBQeV9idWZmZXIgYnRvID0ge05VTEwsIE5VTEx9OwogICAgIFB5X3NzaXplX3QgaTsKICAgICBjaGFyICpwOwogCi0gICAgYmZybS5sZW4gPSAtMTsKLSAgICBidG8ubGVuID0gLTE7Ci0KLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgInkqeSo6bWFrZXRyYW5zIiwgJmJmcm0sICZidG8pKQotICAgICAgICByZXR1cm4gTlVMTDsKLSAgICBpZiAoYmZybS5sZW4gIT0gYnRvLmxlbikgeworICAgIGlmIChmcm0tPmxlbiAhPSB0by0+bGVuKSB7CiAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19WYWx1ZUVycm9yLAogICAgICAgICAgICAgICAgICAgICAgIm1ha2V0cmFucyBhcmd1bWVudHMgbXVzdCBoYXZlIHNhbWUgbGVuZ3RoIik7Ci0gICAgICAgIGdvdG8gZG9uZTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQogICAgIHJlcyA9IFB5Qnl0ZXNfRnJvbVN0cmluZ0FuZFNpemUoTlVMTCwgMjU2KTsKLSAgICBpZiAoIXJlcykgewotICAgICAgICBnb3RvIGRvbmU7Ci0gICAgfQorICAgIGlmICghcmVzKQorICAgICAgICByZXR1cm4gTlVMTDsKICAgICBwID0gUHlCeXRlc19BU19TVFJJTkcocmVzKTsKICAgICBmb3IgKGkgPSAwOyBpIDwgMjU2OyBpKyspCiAgICAgICAgIHBbaV0gPSAoY2hhcikgaTsKLSAgICBmb3IgKGkgPSAwOyBpIDwgYmZybS5sZW47IGkrKykgewotICAgICAgICBwWygodW5zaWduZWQgY2hhciAqKWJmcm0uYnVmKVtpXV0gPSAoKGNoYXIgKilidG8uYnVmKVtpXTsKKyAgICBmb3IgKGkgPSAwOyBpIDwgZnJtLT5sZW47IGkrKykgeworICAgICAgICBwWygodW5zaWduZWQgY2hhciAqKWZybS0+YnVmKVtpXV0gPSAoKGNoYXIgKil0by0+YnVmKVtpXTsKICAgICB9CiAKLWRvbmU6Ci0gICAgaWYgKGJmcm0ub2JqICE9IE5VTEwpCi0gICAgICAgIFB5QnVmZmVyX1JlbGVhc2UoJmJmcm0pOwotICAgIGlmIChiZnJtLm9iaiAhPSBOVUxMKQotICAgICAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZidG8pOwogICAgIHJldHVybiByZXM7CiB9CmRpZmYgLS1naXQgYS9PYmplY3RzL2J5dGVzb2JqZWN0LmMgYi9PYmplY3RzL2J5dGVzb2JqZWN0LmMKaW5kZXggZTU2ZGJlZC4uYjAxNTk3NCAxMDA2NDQKLS0tIGEvT2JqZWN0cy9ieXRlc29iamVjdC5jCisrKyBiL09iamVjdHMvYnl0ZXNvYmplY3QuYwpAQCAtNyw2ICs3LDExIEBACiAjaW5jbHVkZSAiYnl0ZXNfbWV0aG9kcy5oIgogI2luY2x1ZGUgPHN0ZGRlZi5oPgogCisvKltjbGluaWMgaW5wdXRdCitjbGFzcyBieXRlcyAiUHlCeXRlc09iamVjdCoiICImUHlCeXRlc19UeXBlIgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWRhMzlhM2VlNWU2YjRiMGQgaW5wdXQ9MWExZDkxMDJhZmMxYjAwY10qLworCiAjaWZkZWYgQ09VTlRfQUxMT0NTCiBQeV9zc2l6ZV90IG51bGxfc3RyaW5ncywgb25lX3N0cmluZ3M7CiAjZW5kaWYKQEAgLTQ0LDYgKzQ5LDQ1IEBACiAgICBQeUJ5dGVzX0Zyb21TdHJpbmdBbmRTaXplKCkpIG9yIHRoZSBsZW5ndGggb2YgdGhlIHN0cmluZyBpbiB0aGUgYHN0cicKICAgIHBhcmFtZXRlciAoZm9yIFB5Qnl0ZXNfRnJvbVN0cmluZygpKS4KICovCitzdGF0aWMgUHlPYmplY3QgKgorX1B5Qnl0ZXNfRnJvbVNpemUoUHlfc3NpemVfdCBzaXplLCBpbnQgdXNlX2NhbGxvYykKK3sKKyAgICBQeUJ5dGVzT2JqZWN0ICpvcDsKKyAgICBhc3NlcnQoc2l6ZSA+PSAwKTsKKworICAgIGlmIChzaXplID09IDAgJiYgKG9wID0gbnVsbHN0cmluZykgIT0gTlVMTCkgeworI2lmZGVmIENPVU5UX0FMTE9DUworICAgICAgICBudWxsX3N0cmluZ3MrKzsKKyNlbmRpZgorICAgICAgICBQeV9JTkNSRUYob3ApOworICAgICAgICByZXR1cm4gKFB5T2JqZWN0ICopb3A7CisgICAgfQorCisgICAgaWYgKChzaXplX3Qpc2l6ZSA+IChzaXplX3QpUFlfU1NJWkVfVF9NQVggLSBQeUJ5dGVzT2JqZWN0X1NJWkUpIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX092ZXJmbG93RXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAiYnl0ZSBzdHJpbmcgaXMgdG9vIGxhcmdlIik7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKworICAgIC8qIElubGluZSBQeU9iamVjdF9OZXdWYXIgKi8KKyAgICBpZiAodXNlX2NhbGxvYykKKyAgICAgICAgb3AgPSAoUHlCeXRlc09iamVjdCAqKVB5T2JqZWN0X0NhbGxvYygxLCBQeUJ5dGVzT2JqZWN0X1NJWkUgKyBzaXplKTsKKyAgICBlbHNlCisgICAgICAgIG9wID0gKFB5Qnl0ZXNPYmplY3QgKilQeU9iamVjdF9NYWxsb2MoUHlCeXRlc09iamVjdF9TSVpFICsgc2l6ZSk7CisgICAgaWYgKG9wID09IE5VTEwpCisgICAgICAgIHJldHVybiBQeUVycl9Ob01lbW9yeSgpOworICAgICh2b2lkKVB5T2JqZWN0X0lOSVRfVkFSKG9wLCAmUHlCeXRlc19UeXBlLCBzaXplKTsKKyAgICBvcC0+b2Jfc2hhc2ggPSAtMTsKKyAgICBpZiAoIXVzZV9jYWxsb2MpCisgICAgICAgIG9wLT5vYl9zdmFsW3NpemVdID0gJ1wwJzsKKyAgICAvKiBlbXB0eSBieXRlIHN0cmluZyBzaW5nbGV0b24gKi8KKyAgICBpZiAoc2l6ZSA9PSAwKSB7CisgICAgICAgIG51bGxzdHJpbmcgPSBvcDsKKyAgICAgICAgUHlfSU5DUkVGKG9wKTsKKyAgICB9CisgICAgcmV0dXJuIChQeU9iamVjdCAqKSBvcDsKK30KKwogUHlPYmplY3QgKgogUHlCeXRlc19Gcm9tU3RyaW5nQW5kU2l6ZShjb25zdCBjaGFyICpzdHIsIFB5X3NzaXplX3Qgc2l6ZSkKIHsKQEAgLTUzLDEzICs5Nyw2IEBACiAgICAgICAgICAgICAiTmVnYXRpdmUgc2l6ZSBwYXNzZWQgdG8gUHlCeXRlc19Gcm9tU3RyaW5nQW5kU2l6ZSIpOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9Ci0gICAgaWYgKHNpemUgPT0gMCAmJiAob3AgPSBudWxsc3RyaW5nKSAhPSBOVUxMKSB7Ci0jaWZkZWYgQ09VTlRfQUxMT0NTCi0gICAgICAgIG51bGxfc3RyaW5ncysrOwotI2VuZGlmCi0gICAgICAgIFB5X0lOQ1JFRihvcCk7Ci0gICAgICAgIHJldHVybiAoUHlPYmplY3QgKilvcDsKLSAgICB9CiAgICAgaWYgKHNpemUgPT0gMSAmJiBzdHIgIT0gTlVMTCAmJgogICAgICAgICAob3AgPSBjaGFyYWN0ZXJzWypzdHIgJiBVQ0hBUl9NQVhdKSAhPSBOVUxMKQogICAgIHsKQEAgLTcwLDI2ICsxMDcsMTUgQEAKICAgICAgICAgcmV0dXJuIChQeU9iamVjdCAqKW9wOwogICAgIH0KIAotICAgIGlmIChzaXplID4gUFlfU1NJWkVfVF9NQVggLSBQeUJ5dGVzT2JqZWN0X1NJWkUpIHsKLSAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX092ZXJmbG93RXJyb3IsCi0gICAgICAgICAgICAgICAgICAgICAgICAiYnl0ZSBzdHJpbmcgaXMgdG9vIGxhcmdlIik7Ci0gICAgICAgIHJldHVybiBOVUxMOwotICAgIH0KLQotICAgIC8qIElubGluZSBQeU9iamVjdF9OZXdWYXIgKi8KLSAgICBvcCA9IChQeUJ5dGVzT2JqZWN0ICopUHlPYmplY3RfTUFMTE9DKFB5Qnl0ZXNPYmplY3RfU0laRSArIHNpemUpOworICAgIG9wID0gKFB5Qnl0ZXNPYmplY3QgKilfUHlCeXRlc19Gcm9tU2l6ZShzaXplLCAwKTsKICAgICBpZiAob3AgPT0gTlVMTCkKLSAgICAgICAgcmV0dXJuIFB5RXJyX05vTWVtb3J5KCk7Ci0gICAgKHZvaWQpUHlPYmplY3RfSU5JVF9WQVIob3AsICZQeUJ5dGVzX1R5cGUsIHNpemUpOwotICAgIG9wLT5vYl9zaGFzaCA9IC0xOwotICAgIGlmIChzdHIgIT0gTlVMTCkKLSAgICAgICAgUHlfTUVNQ1BZKG9wLT5vYl9zdmFsLCBzdHIsIHNpemUpOwotICAgIG9wLT5vYl9zdmFsW3NpemVdID0gJ1wwJzsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgaWYgKHN0ciA9PSBOVUxMKQorICAgICAgICByZXR1cm4gKFB5T2JqZWN0ICopIG9wOworCisgICAgUHlfTUVNQ1BZKG9wLT5vYl9zdmFsLCBzdHIsIHNpemUpOwogICAgIC8qIHNoYXJlIHNob3J0IHN0cmluZ3MgKi8KLSAgICBpZiAoc2l6ZSA9PSAwKSB7Ci0gICAgICAgIG51bGxzdHJpbmcgPSBvcDsKLSAgICAgICAgUHlfSU5DUkVGKG9wKTsKLSAgICB9IGVsc2UgaWYgKHNpemUgPT0gMSAmJiBzdHIgIT0gTlVMTCkgeworICAgIGlmIChzaXplID09IDEpIHsKICAgICAgICAgY2hhcmFjdGVyc1sqc3RyICYgVUNIQVJfTUFYXSA9IG9wOwogICAgICAgICBQeV9JTkNSRUYob3ApOwogICAgIH0KQEAgLTM0Nyw2ICszNzMsNTQ0IEBACiAgICAgcmV0dXJuIHJldDsKIH0KIAorLyogSGVscGVycyBmb3IgZm9ybWF0c3RyaW5nICovCisKK1B5X0xPQ0FMX0lOTElORShQeU9iamVjdCAqKQorZ2V0bmV4dGFyZyhQeU9iamVjdCAqYXJncywgUHlfc3NpemVfdCBhcmdsZW4sIFB5X3NzaXplX3QgKnBfYXJnaWR4KQoreworICAgIFB5X3NzaXplX3QgYXJnaWR4ID0gKnBfYXJnaWR4OworICAgIGlmIChhcmdpZHggPCBhcmdsZW4pIHsKKyAgICAgICAgKCpwX2FyZ2lkeCkrKzsKKyAgICAgICAgaWYgKGFyZ2xlbiA8IDApCisgICAgICAgICAgICByZXR1cm4gYXJnczsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgcmV0dXJuIFB5VHVwbGVfR2V0SXRlbShhcmdzLCBhcmdpZHgpOworICAgIH0KKyAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLAorICAgICAgICAgICAgICAgICAgICAibm90IGVub3VnaCBhcmd1bWVudHMgZm9yIGZvcm1hdCBzdHJpbmciKTsKKyAgICByZXR1cm4gTlVMTDsKK30KKworLyogRm9ybWF0IGNvZGVzCisgKiBGX0xKVVNUICAgICAgJy0nCisgKiBGX1NJR04gICAgICAgJysnCisgKiBGX0JMQU5LICAgICAgJyAnCisgKiBGX0FMVCAgICAgICAgJyMnCisgKiBGX1pFUk8gICAgICAgJzAnCisgKi8KKyNkZWZpbmUgRl9MSlVTVCAoMTw8MCkKKyNkZWZpbmUgRl9TSUdOICAoMTw8MSkKKyNkZWZpbmUgRl9CTEFOSyAoMTw8MikKKyNkZWZpbmUgRl9BTFQgICAoMTw8MykKKyNkZWZpbmUgRl9aRVJPICAoMTw8NCkKKworLyogUmV0dXJucyBhIG5ldyByZWZlcmVuY2UgdG8gYSBQeUJ5dGVzIG9iamVjdCwgb3IgTlVMTCBvbiBmYWlsdXJlLiAqLworCitzdGF0aWMgUHlPYmplY3QgKgorZm9ybWF0ZmxvYXQoUHlPYmplY3QgKnYsIGludCBmbGFncywgaW50IHByZWMsIGludCB0eXBlKQoreworICAgIGNoYXIgKnA7CisgICAgUHlPYmplY3QgKnJlc3VsdDsKKyAgICBkb3VibGUgeDsKKworICAgIHggPSBQeUZsb2F0X0FzRG91YmxlKHYpOworICAgIGlmICh4ID09IC0xLjAgJiYgUHlFcnJfT2NjdXJyZWQoKSkgeworICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVHlwZUVycm9yLCAiZmxvYXQgYXJndW1lbnQgcmVxdWlyZWQsICIKKyAgICAgICAgICAgICAgICAgICAgICJub3QgJS4yMDBzIiwgUHlfVFlQRSh2KS0+dHBfbmFtZSk7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKworICAgIGlmIChwcmVjIDwgMCkKKyAgICAgICAgcHJlYyA9IDY7CisKKyAgICBwID0gUHlPU19kb3VibGVfdG9fc3RyaW5nKHgsIHR5cGUsIHByZWMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZmxhZ3MgJiBGX0FMVCkgPyBQeV9EVFNGX0FMVCA6IDAsIE5VTEwpOworCisgICAgaWYgKHAgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgcmVzdWx0ID0gUHlCeXRlc19Gcm9tU3RyaW5nQW5kU2l6ZShwLCBzdHJsZW4ocCkpOworICAgIFB5TWVtX0ZyZWUocCk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KKworUHlfTE9DQUxfSU5MSU5FKGludCkKK2J5dGVfY29udmVydGVyKFB5T2JqZWN0ICphcmcsIGNoYXIgKnApCit7CisgICAgaWYgKFB5Qnl0ZXNfQ2hlY2soYXJnKSAmJiBQeUJ5dGVzX1NpemUoYXJnKSA9PSAxKSB7CisgICAgICAgICpwID0gUHlCeXRlc19BU19TVFJJTkcoYXJnKVswXTsKKyAgICAgICAgcmV0dXJuIDE7CisgICAgfQorICAgIGVsc2UgaWYgKFB5Qnl0ZUFycmF5X0NoZWNrKGFyZykgJiYgUHlCeXRlQXJyYXlfU2l6ZShhcmcpID09IDEpIHsKKyAgICAgICAgKnAgPSBQeUJ5dGVBcnJheV9BU19TVFJJTkcoYXJnKVswXTsKKyAgICAgICAgcmV0dXJuIDE7CisgICAgfQorICAgIGVsc2UgeworICAgICAgICBsb25nIGl2YWwgPSBQeUxvbmdfQXNMb25nKGFyZyk7CisgICAgICAgIGlmICgwIDw9IGl2YWwgJiYgaXZhbCA8PSAyNTUpIHsKKyAgICAgICAgICAgICpwID0gKGNoYXIpaXZhbDsKKyAgICAgICAgICAgIHJldHVybiAxOworICAgICAgICB9CisgICAgfQorICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsCisgICAgICAgICIlYyByZXF1aXJlcyBhbiBpbnRlZ2VyIGluIHJhbmdlKDI1Nikgb3IgYSBzaW5nbGUgYnl0ZSIpOworICAgIHJldHVybiAwOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorZm9ybWF0X29iaihQeU9iamVjdCAqdiwgY29uc3QgY2hhciAqKnBidWYsIFB5X3NzaXplX3QgKnBsZW4pCit7CisgICAgUHlPYmplY3QgKmZ1bmMsICpyZXN1bHQ7CisgICAgX1B5X0lERU5USUZJRVIoX19ieXRlc19fKTsKKyAgICAvKiBpcyBpdCBhIGJ5dGVzIG9iamVjdD8gKi8KKyAgICBpZiAoUHlCeXRlc19DaGVjayh2KSkgeworICAgICAgICAqcGJ1ZiA9IFB5Qnl0ZXNfQVNfU1RSSU5HKHYpOworICAgICAgICAqcGxlbiA9IFB5Qnl0ZXNfR0VUX1NJWkUodik7CisgICAgICAgIFB5X0lOQ1JFRih2KTsKKyAgICAgICAgcmV0dXJuIHY7CisgICAgfQorICAgIGlmIChQeUJ5dGVBcnJheV9DaGVjayh2KSkgeworICAgICAgICAqcGJ1ZiA9IFB5Qnl0ZUFycmF5X0FTX1NUUklORyh2KTsKKyAgICAgICAgKnBsZW4gPSBQeUJ5dGVBcnJheV9HRVRfU0laRSh2KTsKKyAgICAgICAgUHlfSU5DUkVGKHYpOworICAgICAgICByZXR1cm4gdjsKKyAgICB9CisgICAgLyogZG9lcyBpdCBzdXBwb3J0IF9fYnl0ZXNfXz8gKi8KKyAgICBmdW5jID0gX1B5T2JqZWN0X0xvb2t1cFNwZWNpYWwodiwgJlB5SWRfX19ieXRlc19fKTsKKyAgICBpZiAoZnVuYyAhPSBOVUxMKSB7CisgICAgICAgIHJlc3VsdCA9IFB5T2JqZWN0X0NhbGxGdW5jdGlvbk9iakFyZ3MoZnVuYywgTlVMTCk7CisgICAgICAgIFB5X0RFQ1JFRihmdW5jKTsKKyAgICAgICAgaWYgKHJlc3VsdCA9PSBOVUxMKQorICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgIGlmICghUHlCeXRlc19DaGVjayhyZXN1bHQpKSB7CisgICAgICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVHlwZUVycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgICJfX2J5dGVzX18gcmV0dXJuZWQgbm9uLWJ5dGVzICh0eXBlICUuMjAwcykiLAorICAgICAgICAgICAgICAgICAgICAgICAgIFB5X1RZUEUocmVzdWx0KS0+dHBfbmFtZSk7CisgICAgICAgICAgICBQeV9ERUNSRUYocmVzdWx0KTsKKyAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICB9CisgICAgICAgICpwYnVmID0gUHlCeXRlc19BU19TVFJJTkcocmVzdWx0KTsKKyAgICAgICAgKnBsZW4gPSBQeUJ5dGVzX0dFVF9TSVpFKHJlc3VsdCk7CisgICAgICAgIHJldHVybiByZXN1bHQ7CisgICAgfQorICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19UeXBlRXJyb3IsCisgICAgICAgICAgICAgICAgICIlJWIgcmVxdWlyZXMgYnl0ZXMsIG9yIGFuIG9iamVjdCB0aGF0IGltcGxlbWVudHMgX19ieXRlc19fLCBub3QgJyUuMTAwcyciLAorICAgICAgICAgICAgICAgICBQeV9UWVBFKHYpLT50cF9uYW1lKTsKKyAgICByZXR1cm4gTlVMTDsKK30KKworLyogZm10JSh2MSx2MiwuLi4pIGlzIHJvdWdobHkgZXF1aXZhbGVudCB0byBzcHJpbnRmKGZtdCwgdjEsIHYyLCAuLi4pCisKKyAgIEZPUk1BVEJVRkxFTiBpcyB0aGUgbGVuZ3RoIG9mIHRoZSBidWZmZXIgaW4gd2hpY2ggdGhlIGludHMgJgorICAgY2hhcnMgYXJlIGZvcm1hdHRlZC4gWFhYIFRoaXMgaXMgYSBtYWdpYyBudW1iZXIuIEVhY2ggZm9ybWF0dGluZworICAgcm91dGluZSBkb2VzIGJvdW5kcyBjaGVja2luZyB0byBlbnN1cmUgbm8gb3ZlcmZsb3csIGJ1dCBhIGJldHRlcgorICAgc29sdXRpb24gbWF5IGJlIHRvIG1hbGxvYyBhIGJ1ZmZlciBvZiBhcHByb3ByaWF0ZSBzaXplIGZvciBlYWNoCisgICBmb3JtYXQuIEZvciBub3csIHRoZSBjdXJyZW50IHNvbHV0aW9uIGlzIHN1ZmZpY2llbnQuCisqLworI2RlZmluZSBGT1JNQVRCVUZMRU4gKHNpemVfdCkxMjAKKworUHlPYmplY3QgKgorX1B5Qnl0ZXNfRm9ybWF0KFB5T2JqZWN0ICpmb3JtYXQsIFB5T2JqZWN0ICphcmdzKQoreworICAgIGNoYXIgKmZtdCwgKnJlczsKKyAgICBQeV9zc2l6ZV90IGFyZ2xlbiwgYXJnaWR4OworICAgIFB5X3NzaXplX3QgcmVzbGVuLCByZXNjbnQsIGZtdGNudDsKKyAgICBpbnQgYXJnc19vd25lZCA9IDA7CisgICAgUHlPYmplY3QgKnJlc3VsdDsKKyAgICBQeU9iamVjdCAqZGljdCA9IE5VTEw7CisgICAgaWYgKGZvcm1hdCA9PSBOVUxMIHx8ICFQeUJ5dGVzX0NoZWNrKGZvcm1hdCkgfHwgYXJncyA9PSBOVUxMKSB7CisgICAgICAgIFB5RXJyX0JhZEludGVybmFsQ2FsbCgpOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisgICAgZm10ID0gUHlCeXRlc19BU19TVFJJTkcoZm9ybWF0KTsKKyAgICBmbXRjbnQgPSBQeUJ5dGVzX0dFVF9TSVpFKGZvcm1hdCk7CisgICAgcmVzbGVuID0gcmVzY250ID0gZm10Y250ICsgMTAwOworICAgIHJlc3VsdCA9IFB5Qnl0ZXNfRnJvbVN0cmluZ0FuZFNpemUoKGNoYXIgKilOVUxMLCByZXNsZW4pOworICAgIGlmIChyZXN1bHQgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgcmVzID0gUHlCeXRlc19Bc1N0cmluZyhyZXN1bHQpOworICAgIGlmIChQeVR1cGxlX0NoZWNrKGFyZ3MpKSB7CisgICAgICAgIGFyZ2xlbiA9IFB5VHVwbGVfR0VUX1NJWkUoYXJncyk7CisgICAgICAgIGFyZ2lkeCA9IDA7CisgICAgfQorICAgIGVsc2UgeworICAgICAgICBhcmdsZW4gPSAtMTsKKyAgICAgICAgYXJnaWR4ID0gLTI7CisgICAgfQorICAgIGlmIChQeV9UWVBFKGFyZ3MpLT50cF9hc19tYXBwaW5nICYmIFB5X1RZUEUoYXJncyktPnRwX2FzX21hcHBpbmctPm1wX3N1YnNjcmlwdCAmJgorICAgICAgICAhUHlUdXBsZV9DaGVjayhhcmdzKSAmJiAhUHlCeXRlc19DaGVjayhhcmdzKSAmJiAhUHlVbmljb2RlX0NoZWNrKGFyZ3MpICYmCisgICAgICAgICFQeUJ5dGVBcnJheV9DaGVjayhhcmdzKSkgeworICAgICAgICAgICAgZGljdCA9IGFyZ3M7CisgICAgfQorICAgIHdoaWxlICgtLWZtdGNudCA+PSAwKSB7CisgICAgICAgIGlmICgqZm10ICE9ICclJykgeworICAgICAgICAgICAgaWYgKC0tcmVzY250IDwgMCkgeworICAgICAgICAgICAgICAgIHJlc2NudCA9IGZtdGNudCArIDEwMDsKKyAgICAgICAgICAgICAgICByZXNsZW4gKz0gcmVzY250OworICAgICAgICAgICAgICAgIGlmIChfUHlCeXRlc19SZXNpemUoJnJlc3VsdCwgcmVzbGVuKSkKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgICAgICAgICAgcmVzID0gUHlCeXRlc19BU19TVFJJTkcocmVzdWx0KQorICAgICAgICAgICAgICAgICAgICArIHJlc2xlbiAtIHJlc2NudDsKKyAgICAgICAgICAgICAgICAtLXJlc2NudDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgICpyZXMrKyA9ICpmbXQrKzsKKyAgICAgICAgfQorICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgIC8qIEdvdCBhIGZvcm1hdCBzcGVjaWZpZXIgKi8KKyAgICAgICAgICAgIGludCBmbGFncyA9IDA7CisgICAgICAgICAgICBQeV9zc2l6ZV90IHdpZHRoID0gLTE7CisgICAgICAgICAgICBpbnQgcHJlYyA9IC0xOworICAgICAgICAgICAgaW50IGMgPSAnXDAnOworICAgICAgICAgICAgaW50IGZpbGw7CisgICAgICAgICAgICBQeU9iamVjdCAqaW9iajsKKyAgICAgICAgICAgIFB5T2JqZWN0ICp2ID0gTlVMTDsKKyAgICAgICAgICAgIFB5T2JqZWN0ICp0ZW1wID0gTlVMTDsKKyAgICAgICAgICAgIGNvbnN0IGNoYXIgKnBidWYgPSBOVUxMOworICAgICAgICAgICAgaW50IHNpZ247CisgICAgICAgICAgICBQeV9zc2l6ZV90IGxlbiA9IDA7CisgICAgICAgICAgICBjaGFyIG9uZWNoYXI7IC8qIEZvciBieXRlX2NvbnZlcnRlcigpICovCisKKyAgICAgICAgICAgIGZtdCsrOworICAgICAgICAgICAgaWYgKCpmbXQgPT0gJygnKSB7CisgICAgICAgICAgICAgICAgY2hhciAqa2V5c3RhcnQ7CisgICAgICAgICAgICAgICAgUHlfc3NpemVfdCBrZXlsZW47CisgICAgICAgICAgICAgICAgUHlPYmplY3QgKmtleTsKKyAgICAgICAgICAgICAgICBpbnQgcGNvdW50ID0gMTsKKworICAgICAgICAgICAgICAgIGlmIChkaWN0ID09IE5VTEwpIHsKKyAgICAgICAgICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImZvcm1hdCByZXF1aXJlcyBhIG1hcHBpbmciKTsKKyAgICAgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgKytmbXQ7CisgICAgICAgICAgICAgICAgLS1mbXRjbnQ7CisgICAgICAgICAgICAgICAga2V5c3RhcnQgPSBmbXQ7CisgICAgICAgICAgICAgICAgLyogU2tpcCBvdmVyIGJhbGFuY2VkIHBhcmVudGhlc2VzICovCisgICAgICAgICAgICAgICAgd2hpbGUgKHBjb3VudCA+IDAgJiYgLS1mbXRjbnQgPj0gMCkgeworICAgICAgICAgICAgICAgICAgICBpZiAoKmZtdCA9PSAnKScpCisgICAgICAgICAgICAgICAgICAgICAgICAtLXBjb3VudDsKKyAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoKmZtdCA9PSAnKCcpCisgICAgICAgICAgICAgICAgICAgICAgICArK3Bjb3VudDsKKyAgICAgICAgICAgICAgICAgICAgZm10Kys7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGtleWxlbiA9IGZtdCAtIGtleXN0YXJ0IC0gMTsKKyAgICAgICAgICAgICAgICBpZiAoZm10Y250IDwgMCB8fCBwY291bnQgPiAwKSB7CisgICAgICAgICAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpbmNvbXBsZXRlIGZvcm1hdCBrZXkiKTsKKyAgICAgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAga2V5ID0gUHlCeXRlc19Gcm9tU3RyaW5nQW5kU2l6ZShrZXlzdGFydCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXlsZW4pOworICAgICAgICAgICAgICAgIGlmIChrZXkgPT0gTlVMTCkKKyAgICAgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKKyAgICAgICAgICAgICAgICBpZiAoYXJnc19vd25lZCkgeworICAgICAgICAgICAgICAgICAgICBQeV9ERUNSRUYoYXJncyk7CisgICAgICAgICAgICAgICAgICAgIGFyZ3Nfb3duZWQgPSAwOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBhcmdzID0gUHlPYmplY3RfR2V0SXRlbShkaWN0LCBrZXkpOworICAgICAgICAgICAgICAgIFB5X0RFQ1JFRihrZXkpOworICAgICAgICAgICAgICAgIGlmIChhcmdzID09IE5VTEwpIHsKKyAgICAgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgYXJnc19vd25lZCA9IDE7CisgICAgICAgICAgICAgICAgYXJnbGVuID0gLTE7CisgICAgICAgICAgICAgICAgYXJnaWR4ID0gLTI7CisgICAgICAgICAgICB9CisgICAgICAgICAgICB3aGlsZSAoLS1mbXRjbnQgPj0gMCkgeworICAgICAgICAgICAgICAgIHN3aXRjaCAoYyA9ICpmbXQrKykgeworICAgICAgICAgICAgICAgIGNhc2UgJy0nOiBmbGFncyB8PSBGX0xKVVNUOyBjb250aW51ZTsKKyAgICAgICAgICAgICAgICBjYXNlICcrJzogZmxhZ3MgfD0gRl9TSUdOOyBjb250aW51ZTsKKyAgICAgICAgICAgICAgICBjYXNlICcgJzogZmxhZ3MgfD0gRl9CTEFOSzsgY29udGludWU7CisgICAgICAgICAgICAgICAgY2FzZSAnIyc6IGZsYWdzIHw9IEZfQUxUOyBjb250aW51ZTsKKyAgICAgICAgICAgICAgICBjYXNlICcwJzogZmxhZ3MgfD0gRl9aRVJPOyBjb250aW51ZTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBpZiAoYyA9PSAnKicpIHsKKyAgICAgICAgICAgICAgICB2ID0gZ2V0bmV4dGFyZyhhcmdzLCBhcmdsZW4sICZhcmdpZHgpOworICAgICAgICAgICAgICAgIGlmICh2ID09IE5VTEwpCisgICAgICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgICAgICAgICAgaWYgKCFQeUxvbmdfQ2hlY2sodikpIHsKKyAgICAgICAgICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIqIHdhbnRzIGludCIpOworICAgICAgICAgICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB3aWR0aCA9IFB5TG9uZ19Bc1NzaXplX3Qodik7CisgICAgICAgICAgICAgICAgaWYgKHdpZHRoID09IC0xICYmIFB5RXJyX09jY3VycmVkKCkpCisgICAgICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgICAgICAgICAgaWYgKHdpZHRoIDwgMCkgeworICAgICAgICAgICAgICAgICAgICBmbGFncyB8PSBGX0xKVVNUOworICAgICAgICAgICAgICAgICAgICB3aWR0aCA9IC13aWR0aDsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgaWYgKC0tZm10Y250ID49IDApCisgICAgICAgICAgICAgICAgICAgIGMgPSAqZm10Kys7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBlbHNlIGlmIChjID49IDAgJiYgaXNkaWdpdChjKSkgeworICAgICAgICAgICAgICAgIHdpZHRoID0gYyAtICcwJzsKKyAgICAgICAgICAgICAgICB3aGlsZSAoLS1mbXRjbnQgPj0gMCkgeworICAgICAgICAgICAgICAgICAgICBjID0gUHlfQ0hBUk1BU0soKmZtdCsrKTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKCFpc2RpZ2l0KGMpKQorICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgICAgIGlmICh3aWR0aCA+IChQWV9TU0laRV9UX01BWCAtICgoaW50KWMgLSAnMCcpKSAvIDEwKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlFeGNfVmFsdWVFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAid2lkdGggdG9vIGJpZyIpOworICAgICAgICAgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICB3aWR0aCA9IHdpZHRoKjEwICsgKGMgLSAnMCcpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmIChjID09ICcuJykgeworICAgICAgICAgICAgICAgIHByZWMgPSAwOworICAgICAgICAgICAgICAgIGlmICgtLWZtdGNudCA+PSAwKQorICAgICAgICAgICAgICAgICAgICBjID0gKmZtdCsrOworICAgICAgICAgICAgICAgIGlmIChjID09ICcqJykgeworICAgICAgICAgICAgICAgICAgICB2ID0gZ2V0bmV4dGFyZyhhcmdzLCBhcmdsZW4sICZhcmdpZHgpOworICAgICAgICAgICAgICAgICAgICBpZiAodiA9PSBOVUxMKQorICAgICAgICAgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKKyAgICAgICAgICAgICAgICAgICAgaWYgKCFQeUxvbmdfQ2hlY2sodikpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZygKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeUV4Y19UeXBlRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiogd2FudHMgaW50Iik7CisgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIHByZWMgPSBfUHlMb25nX0FzSW50KHYpOworICAgICAgICAgICAgICAgICAgICBpZiAocHJlYyA9PSAtMSAmJiBQeUVycl9PY2N1cnJlZCgpKQorICAgICAgICAgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHByZWMgPCAwKQorICAgICAgICAgICAgICAgICAgICAgICAgcHJlYyA9IDA7CisgICAgICAgICAgICAgICAgICAgIGlmICgtLWZtdGNudCA+PSAwKQorICAgICAgICAgICAgICAgICAgICAgICAgYyA9ICpmbXQrKzsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgZWxzZSBpZiAoYyA+PSAwICYmIGlzZGlnaXQoYykpIHsKKyAgICAgICAgICAgICAgICAgICAgcHJlYyA9IGMgLSAnMCc7CisgICAgICAgICAgICAgICAgICAgIHdoaWxlICgtLWZtdGNudCA+PSAwKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBjID0gUHlfQ0hBUk1BU0soKmZtdCsrKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICghaXNkaWdpdChjKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIChwcmVjID4gKElOVF9NQVggLSAoKGludCljIC0gJzAnKSkgLyAxMCkgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZygKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlFeGNfVmFsdWVFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInByZWMgdG9vIGJpZyIpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgICAgICBwcmVjID0gcHJlYyoxMCArIChjIC0gJzAnKTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0gLyogcHJlYyAqLworICAgICAgICAgICAgaWYgKGZtdGNudCA+PSAwKSB7CisgICAgICAgICAgICAgICAgaWYgKGMgPT0gJ2gnIHx8IGMgPT0gJ2wnIHx8IGMgPT0gJ0wnKSB7CisgICAgICAgICAgICAgICAgICAgIGlmICgtLWZtdGNudCA+PSAwKQorICAgICAgICAgICAgICAgICAgICAgICAgYyA9ICpmbXQrKzsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgICAgICBpZiAoZm10Y250IDwgMCkgeworICAgICAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaW5jb21wbGV0ZSBmb3JtYXQiKTsKKyAgICAgICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYgKGMgIT0gJyUnKSB7CisgICAgICAgICAgICAgICAgdiA9IGdldG5leHRhcmcoYXJncywgYXJnbGVuLCAmYXJnaWR4KTsKKyAgICAgICAgICAgICAgICBpZiAodiA9PSBOVUxMKQorICAgICAgICAgICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICAgICAgfQorICAgICAgICAgICAgc2lnbiA9IDA7CisgICAgICAgICAgICBmaWxsID0gJyAnOworICAgICAgICAgICAgc3dpdGNoIChjKSB7CisgICAgICAgICAgICBjYXNlICclJzoKKyAgICAgICAgICAgICAgICBwYnVmID0gIiUiOworICAgICAgICAgICAgICAgIGxlbiA9IDE7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBjYXNlICdhJzoKKyAgICAgICAgICAgICAgICB0ZW1wID0gUHlPYmplY3RfQVNDSUkodik7CisgICAgICAgICAgICAgICAgaWYgKHRlbXAgPT0gTlVMTCkKKyAgICAgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKKyAgICAgICAgICAgICAgICBhc3NlcnQoUHlVbmljb2RlX0lTX0FTQ0lJKHRlbXApKTsKKyAgICAgICAgICAgICAgICBwYnVmID0gKGNvbnN0IGNoYXIgKilQeVVuaWNvZGVfMUJZVEVfREFUQSh0ZW1wKTsKKyAgICAgICAgICAgICAgICBsZW4gPSBQeVVuaWNvZGVfR0VUX0xFTkdUSCh0ZW1wKTsKKyAgICAgICAgICAgICAgICBpZiAocHJlYyA+PSAwICYmIGxlbiA+IHByZWMpCisgICAgICAgICAgICAgICAgICAgIGxlbiA9IHByZWM7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBjYXNlICdzJzoKKyAgICAgICAgICAgICAgICAvLyAlcyBpcyBvbmx5IGZvciAyLzMgY29kZTsgMyBvbmx5IGNvZGUgc2hvdWxkIHVzZSAlYgorICAgICAgICAgICAgY2FzZSAnYic6CisgICAgICAgICAgICAgICAgdGVtcCA9IGZvcm1hdF9vYmoodiwgJnBidWYsICZsZW4pOworICAgICAgICAgICAgICAgIGlmICh0ZW1wID09IE5VTEwpCisgICAgICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgICAgICAgICAgaWYgKHByZWMgPj0gMCAmJiBsZW4gPiBwcmVjKQorICAgICAgICAgICAgICAgICAgICBsZW4gPSBwcmVjOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgY2FzZSAnaSc6CisgICAgICAgICAgICBjYXNlICdkJzoKKyAgICAgICAgICAgIGNhc2UgJ3UnOgorICAgICAgICAgICAgY2FzZSAnbyc6CisgICAgICAgICAgICBjYXNlICd4JzoKKyAgICAgICAgICAgIGNhc2UgJ1gnOgorICAgICAgICAgICAgICAgIGlmIChjID09ICdpJykKKyAgICAgICAgICAgICAgICAgICAgYyA9ICdkJzsKKyAgICAgICAgICAgICAgICBpb2JqID0gTlVMTDsKKyAgICAgICAgICAgICAgICBpZiAoUHlOdW1iZXJfQ2hlY2sodikpIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKChQeUxvbmdfQ2hlY2sodikpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBpb2JqID0gdjsKKyAgICAgICAgICAgICAgICAgICAgICAgIFB5X0lOQ1JFRihpb2JqKTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlvYmogPSBQeU51bWJlcl9Mb25nKHYpOworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlvYmogIT0gTlVMTCAmJiAhUHlMb25nX0NoZWNrKGlvYmopKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5X0NMRUFSKGlvYmopOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGlmIChpb2JqID09IE5VTEwpIHsKKyAgICAgICAgICAgICAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1R5cGVFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICIlJSVjIGZvcm1hdDogYSBudW1iZXIgaXMgcmVxdWlyZWQsICIKKyAgICAgICAgICAgICAgICAgICAgICAgICJub3QgJS4yMDBzIiwgYywgUHlfVFlQRSh2KS0+dHBfbmFtZSk7CisgICAgICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIHRlbXAgPSBfUHlVbmljb2RlX0Zvcm1hdExvbmcoaW9iaiwgZmxhZ3MgJiBGX0FMVCwgcHJlYywgYyk7CisgICAgICAgICAgICAgICAgUHlfREVDUkVGKGlvYmopOworICAgICAgICAgICAgICAgIGlmICghdGVtcCkKKyAgICAgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKKyAgICAgICAgICAgICAgICBhc3NlcnQoUHlVbmljb2RlX0lTX0FTQ0lJKHRlbXApKTsKKyAgICAgICAgICAgICAgICBwYnVmID0gKGNvbnN0IGNoYXIgKilQeVVuaWNvZGVfMUJZVEVfREFUQSh0ZW1wKTsKKyAgICAgICAgICAgICAgICBsZW4gPSBQeVVuaWNvZGVfR0VUX0xFTkdUSCh0ZW1wKTsKKyAgICAgICAgICAgICAgICBzaWduID0gMTsKKyAgICAgICAgICAgICAgICBpZiAoZmxhZ3MgJiBGX1pFUk8pCisgICAgICAgICAgICAgICAgICAgIGZpbGwgPSAnMCc7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBjYXNlICdlJzoKKyAgICAgICAgICAgIGNhc2UgJ0UnOgorICAgICAgICAgICAgY2FzZSAnZic6CisgICAgICAgICAgICBjYXNlICdGJzoKKyAgICAgICAgICAgIGNhc2UgJ2cnOgorICAgICAgICAgICAgY2FzZSAnRyc6CisgICAgICAgICAgICAgICAgdGVtcCA9IGZvcm1hdGZsb2F0KHYsIGZsYWdzLCBwcmVjLCBjKTsKKyAgICAgICAgICAgICAgICBpZiAodGVtcCA9PSBOVUxMKQorICAgICAgICAgICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICAgICAgICAgIHBidWYgPSBQeUJ5dGVzX0FTX1NUUklORyh0ZW1wKTsKKyAgICAgICAgICAgICAgICBsZW4gPSBQeUJ5dGVzX0dFVF9TSVpFKHRlbXApOworICAgICAgICAgICAgICAgIHNpZ24gPSAxOworICAgICAgICAgICAgICAgIGlmIChmbGFncyAmIEZfWkVSTykKKyAgICAgICAgICAgICAgICAgICAgZmlsbCA9ICcwJzsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGNhc2UgJ2MnOgorICAgICAgICAgICAgICAgIHBidWYgPSAmb25lY2hhcjsKKyAgICAgICAgICAgICAgICBsZW4gPSBieXRlX2NvbnZlcnRlcih2LCAmb25lY2hhcik7CisgICAgICAgICAgICAgICAgaWYgKCFsZW4pCisgICAgICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19WYWx1ZUVycm9yLAorICAgICAgICAgICAgICAgICAgInVuc3VwcG9ydGVkIGZvcm1hdCBjaGFyYWN0ZXIgJyVjJyAoMHgleCkgIgorICAgICAgICAgICAgICAgICAgImF0IGluZGV4ICV6ZCIsCisgICAgICAgICAgICAgICAgICBjLCBjLAorICAgICAgICAgICAgICAgICAgKFB5X3NzaXplX3QpKGZtdCAtIDEgLQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5Qnl0ZXNfQXNTdHJpbmcoZm9ybWF0KSkpOworICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBpZiAoc2lnbikgeworICAgICAgICAgICAgICAgIGlmICgqcGJ1ZiA9PSAnLScgfHwgKnBidWYgPT0gJysnKSB7CisgICAgICAgICAgICAgICAgICAgIHNpZ24gPSAqcGJ1ZisrOworICAgICAgICAgICAgICAgICAgICBsZW4tLTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgZWxzZSBpZiAoZmxhZ3MgJiBGX1NJR04pCisgICAgICAgICAgICAgICAgICAgIHNpZ24gPSAnKyc7CisgICAgICAgICAgICAgICAgZWxzZSBpZiAoZmxhZ3MgJiBGX0JMQU5LKQorICAgICAgICAgICAgICAgICAgICBzaWduID0gJyAnOworICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgc2lnbiA9IDA7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBpZiAod2lkdGggPCBsZW4pCisgICAgICAgICAgICAgICAgd2lkdGggPSBsZW47CisgICAgICAgICAgICBpZiAocmVzY250IC0gKHNpZ24gIT0gMCkgPCB3aWR0aCkgeworICAgICAgICAgICAgICAgIHJlc2xlbiAtPSByZXNjbnQ7CisgICAgICAgICAgICAgICAgcmVzY250ID0gd2lkdGggKyBmbXRjbnQgKyAxMDA7CisgICAgICAgICAgICAgICAgcmVzbGVuICs9IHJlc2NudDsKKyAgICAgICAgICAgICAgICBpZiAocmVzbGVuIDwgMCkgeworICAgICAgICAgICAgICAgICAgICBQeV9ERUNSRUYocmVzdWx0KTsKKyAgICAgICAgICAgICAgICAgICAgUHlfWERFQ1JFRih0ZW1wKTsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFB5RXJyX05vTWVtb3J5KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGlmIChfUHlCeXRlc19SZXNpemUoJnJlc3VsdCwgcmVzbGVuKSkgeworICAgICAgICAgICAgICAgICAgICBQeV9YREVDUkVGKHRlbXApOworICAgICAgICAgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgcmVzID0gUHlCeXRlc19BU19TVFJJTkcocmVzdWx0KQorICAgICAgICAgICAgICAgICAgICArIHJlc2xlbiAtIHJlc2NudDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmIChzaWduKSB7CisgICAgICAgICAgICAgICAgaWYgKGZpbGwgIT0gJyAnKQorICAgICAgICAgICAgICAgICAgICAqcmVzKysgPSBzaWduOworICAgICAgICAgICAgICAgIHJlc2NudC0tOworICAgICAgICAgICAgICAgIGlmICh3aWR0aCA+IGxlbikKKyAgICAgICAgICAgICAgICAgICAgd2lkdGgtLTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmICgoZmxhZ3MgJiBGX0FMVCkgJiYgKGMgPT0gJ3gnIHx8IGMgPT0gJ1gnKSkgeworICAgICAgICAgICAgICAgIGFzc2VydChwYnVmWzBdID09ICcwJyk7CisgICAgICAgICAgICAgICAgYXNzZXJ0KHBidWZbMV0gPT0gYyk7CisgICAgICAgICAgICAgICAgaWYgKGZpbGwgIT0gJyAnKSB7CisgICAgICAgICAgICAgICAgICAgICpyZXMrKyA9ICpwYnVmKys7CisgICAgICAgICAgICAgICAgICAgICpyZXMrKyA9ICpwYnVmKys7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIHJlc2NudCAtPSAyOworICAgICAgICAgICAgICAgIHdpZHRoIC09IDI7CisgICAgICAgICAgICAgICAgaWYgKHdpZHRoIDwgMCkKKyAgICAgICAgICAgICAgICAgICAgd2lkdGggPSAwOworICAgICAgICAgICAgICAgIGxlbiAtPSAyOworICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYgKHdpZHRoID4gbGVuICYmICEoZmxhZ3MgJiBGX0xKVVNUKSkgeworICAgICAgICAgICAgICAgIGRvIHsKKyAgICAgICAgICAgICAgICAgICAgLS1yZXNjbnQ7CisgICAgICAgICAgICAgICAgICAgICpyZXMrKyA9IGZpbGw7CisgICAgICAgICAgICAgICAgfSB3aGlsZSAoLS13aWR0aCA+IGxlbik7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBpZiAoZmlsbCA9PSAnICcpIHsKKyAgICAgICAgICAgICAgICBpZiAoc2lnbikKKyAgICAgICAgICAgICAgICAgICAgKnJlcysrID0gc2lnbjsKKyAgICAgICAgICAgICAgICBpZiAoKGZsYWdzICYgRl9BTFQpICYmCisgICAgICAgICAgICAgICAgICAgIChjID09ICd4JyB8fCBjID09ICdYJykpIHsKKyAgICAgICAgICAgICAgICAgICAgYXNzZXJ0KHBidWZbMF0gPT0gJzAnKTsKKyAgICAgICAgICAgICAgICAgICAgYXNzZXJ0KHBidWZbMV0gPT0gYyk7CisgICAgICAgICAgICAgICAgICAgICpyZXMrKyA9ICpwYnVmKys7CisgICAgICAgICAgICAgICAgICAgICpyZXMrKyA9ICpwYnVmKys7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICAgICAgUHlfTUVNQ1BZKHJlcywgcGJ1ZiwgbGVuKTsKKyAgICAgICAgICAgIHJlcyArPSBsZW47CisgICAgICAgICAgICByZXNjbnQgLT0gbGVuOworICAgICAgICAgICAgd2hpbGUgKC0td2lkdGggPj0gbGVuKSB7CisgICAgICAgICAgICAgICAgLS1yZXNjbnQ7CisgICAgICAgICAgICAgICAgKnJlcysrID0gJyAnOworICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYgKGRpY3QgJiYgKGFyZ2lkeCA8IGFyZ2xlbikgJiYgYyAhPSAnJScpIHsKKyAgICAgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5vdCBhbGwgYXJndW1lbnRzIGNvbnZlcnRlZCBkdXJpbmcgYnl0ZXMgZm9ybWF0dGluZyIpOworICAgICAgICAgICAgICAgIFB5X1hERUNSRUYodGVtcCk7CisgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIFB5X1hERUNSRUYodGVtcCk7CisgICAgICAgIH0gLyogJyUnICovCisgICAgfSAvKiB1bnRpbCBlbmQgKi8KKyAgICBpZiAoYXJnaWR4IDwgYXJnbGVuICYmICFkaWN0KSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAibm90IGFsbCBhcmd1bWVudHMgY29udmVydGVkIGR1cmluZyBieXRlcyBmb3JtYXR0aW5nIik7CisgICAgICAgIGdvdG8gZXJyb3I7CisgICAgfQorICAgIGlmIChhcmdzX293bmVkKSB7CisgICAgICAgIFB5X0RFQ1JFRihhcmdzKTsKKyAgICB9CisgICAgaWYgKF9QeUJ5dGVzX1Jlc2l6ZSgmcmVzdWx0LCByZXNsZW4gLSByZXNjbnQpKQorICAgICAgICByZXR1cm4gTlVMTDsKKyAgICByZXR1cm4gcmVzdWx0OworCisgZXJyb3I6CisgICAgUHlfREVDUkVGKHJlc3VsdCk7CisgICAgaWYgKGFyZ3Nfb3duZWQpIHsKKyAgICAgICAgUHlfREVDUkVGKGFyZ3MpOworICAgIH0KKyAgICByZXR1cm4gTlVMTDsKK30KKworLyogPS09ICovCisKIHN0YXRpYyB2b2lkCiBieXRlc19kZWFsbG9jKFB5T2JqZWN0ICpvcCkKIHsKQEAgLTU0MCw4ICsxMTA0LDggQEAKICAgICBpZiAobGVuICE9IE5VTEwpCiAgICAgICAgICpsZW4gPSBQeUJ5dGVzX0dFVF9TSVpFKG9iaik7CiAgICAgZWxzZSBpZiAoc3RybGVuKCpzKSAhPSAoc2l6ZV90KVB5Qnl0ZXNfR0VUX1NJWkUob2JqKSkgewotICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4cGVjdGVkIGJ5dGVzIHdpdGggbm8gbnVsbCIpOworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICJlbWJlZGRlZCBudWxsIGJ5dGUiKTsKICAgICAgICAgcmV0dXJuIC0xOwogICAgIH0KICAgICByZXR1cm4gMDsKQEAgLTk1MSw3ICsxNTE1LDcgQEAKICAgICB9CiAgICAgZWxzZSB7CiAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19UeXBlRXJyb3IsCi0gICAgICAgICAgICAgICAgICAgICAiYnl0ZSBpbmRpY2VzIG11c3QgYmUgaW50ZWdlcnMsIG5vdCAlLjIwMHMiLAorICAgICAgICAgICAgICAgICAgICAgImJ5dGUgaW5kaWNlcyBtdXN0IGJlIGludGVnZXJzIG9yIHNsaWNlcywgbm90ICUuMjAwcyIsCiAgICAgICAgICAgICAgICAgICAgICBQeV9UWVBFKGl0ZW0pLT50cF9uYW1lKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQpAQCAtOTkxLDM3ICsxNTU1LDcyIEBACiAjZGVmaW5lIFJJR0hUU1RSSVAgMQogI2RlZmluZSBCT1RIU1RSSVAgMgogCi0vKiBBcnJheXMgaW5kZXhlZCBieSBhYm92ZSAqLwotc3RhdGljIGNvbnN0IGNoYXIgKnN0cmlwZm9ybWF0W10gPSB7InxPOmxzdHJpcCIsICJ8Tzpyc3RyaXAiLCAifE86c3RyaXAifTsKKy8qW2NsaW5pYyBpbnB1dF0KK2J5dGVzLnNwbGl0CiAKLSNkZWZpbmUgU1RSSVBOQU1FKGkpIChzdHJpcGZvcm1hdFtpXSszKQorICAgIHNlcDogb2JqZWN0ID0gTm9uZQorICAgICAgICBUaGUgZGVsaW1pdGVyIGFjY29yZGluZyB3aGljaCB0byBzcGxpdCB0aGUgYnl0ZXMuCisgICAgICAgIE5vbmUgKHRoZSBkZWZhdWx0IHZhbHVlKSBtZWFucyBzcGxpdCBvbiBBU0NJSSB3aGl0ZXNwYWNlIGNoYXJhY3RlcnMKKyAgICAgICAgKHNwYWNlLCB0YWIsIHJldHVybiwgbmV3bGluZSwgZm9ybWZlZWQsIHZlcnRpY2FsIHRhYikuCisgICAgbWF4c3BsaXQ6IFB5X3NzaXplX3QgPSAtMQorICAgICAgICBNYXhpbXVtIG51bWJlciBvZiBzcGxpdHMgdG8gZG8uCisgICAgICAgIC0xICh0aGUgZGVmYXVsdCB2YWx1ZSkgbWVhbnMgbm8gbGltaXQuCiAKLVB5RG9jX1NUUlZBUihzcGxpdF9fZG9jX18sCi0iQi5zcGxpdChzZXA9Tm9uZSwgbWF4c3BsaXQ9LTEpIC0+IGxpc3Qgb2YgYnl0ZXNcblwKLVxuXAotUmV0dXJuIGEgbGlzdCBvZiB0aGUgc2VjdGlvbnMgaW4gQiwgdXNpbmcgc2VwIGFzIHRoZSBkZWxpbWl0ZXIuXG5cCi1JZiBzZXAgaXMgbm90IHNwZWNpZmllZCBvciBpcyBOb25lLCBCIGlzIHNwbGl0IG9uIEFTQ0lJIHdoaXRlc3BhY2VcblwKLWNoYXJhY3RlcnMgKHNwYWNlLCB0YWIsIHJldHVybiwgbmV3bGluZSwgZm9ybWZlZWQsIHZlcnRpY2FsIHRhYikuXG5cCi1JZiBtYXhzcGxpdCBpcyBnaXZlbiwgYXQgbW9zdCBtYXhzcGxpdCBzcGxpdHMgYXJlIGRvbmUuIik7CitSZXR1cm4gYSBsaXN0IG9mIHRoZSBzZWN0aW9ucyBpbiB0aGUgYnl0ZXMsIHVzaW5nIHNlcCBhcyB0aGUgZGVsaW1pdGVyLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIoYnl0ZXNfc3BsaXRfX2RvY19fLAorInNwbGl0KCRzZWxmLCAvLCBzZXA9Tm9uZSwgbWF4c3BsaXQ9LTEpXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gYSBsaXN0IG9mIHRoZSBzZWN0aW9ucyBpbiB0aGUgYnl0ZXMsIHVzaW5nIHNlcCBhcyB0aGUgZGVsaW1pdGVyLlxuIgorIlxuIgorIiAgc2VwXG4iCisiICAgIFRoZSBkZWxpbWl0ZXIgYWNjb3JkaW5nIHdoaWNoIHRvIHNwbGl0IHRoZSBieXRlcy5cbiIKKyIgICAgTm9uZSAodGhlIGRlZmF1bHQgdmFsdWUpIG1lYW5zIHNwbGl0IG9uIEFTQ0lJIHdoaXRlc3BhY2UgY2hhcmFjdGVyc1xuIgorIiAgICAoc3BhY2UsIHRhYiwgcmV0dXJuLCBuZXdsaW5lLCBmb3JtZmVlZCwgdmVydGljYWwgdGFiKS5cbiIKKyIgIG1heHNwbGl0XG4iCisiICAgIE1heGltdW0gbnVtYmVyIG9mIHNwbGl0cyB0byBkby5cbiIKKyIgICAgLTEgKHRoZSBkZWZhdWx0IHZhbHVlKSBtZWFucyBubyBsaW1pdC4iKTsKKworI2RlZmluZSBCWVRFU19TUExJVF9NRVRIT0RERUYgICAgXAorICAgIHsic3BsaXQiLCAoUHlDRnVuY3Rpb24pYnl0ZXNfc3BsaXQsIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBieXRlc19zcGxpdF9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotYnl0ZXNfc3BsaXQoUHlCeXRlc09iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2RzKQorYnl0ZXNfc3BsaXRfaW1wbChQeUJ5dGVzT2JqZWN0KnNlbGYsIFB5T2JqZWN0ICpzZXAsIFB5X3NzaXplX3QgbWF4c3BsaXQpOworCitzdGF0aWMgUHlPYmplY3QgKgorYnl0ZXNfc3BsaXQoUHlCeXRlc09iamVjdCpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKIHsKLSAgICBzdGF0aWMgY2hhciAqa3dsaXN0W10gPSB7InNlcCIsICJtYXhzcGxpdCIsIDB9OwotICAgIFB5X3NzaXplX3QgbGVuID0gUHlCeXRlc19HRVRfU0laRShzZWxmKSwgbjsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBzdGF0aWMgY2hhciAqX2tleXdvcmRzW10gPSB7InNlcCIsICJtYXhzcGxpdCIsIE5VTEx9OworICAgIFB5T2JqZWN0ICpzZXAgPSBQeV9Ob25lOwogICAgIFB5X3NzaXplX3QgbWF4c3BsaXQgPSAtMTsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywKKyAgICAgICAgInxPbjpzcGxpdCIsIF9rZXl3b3JkcywKKyAgICAgICAgJnNlcCwgJm1heHNwbGl0KSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IGJ5dGVzX3NwbGl0X2ltcGwoc2VsZiwgc2VwLCBtYXhzcGxpdCk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK2J5dGVzX3NwbGl0X2ltcGwoUHlCeXRlc09iamVjdCpzZWxmLCBQeU9iamVjdCAqc2VwLCBQeV9zc2l6ZV90IG1heHNwbGl0KQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWM4MGE0N2FmZGQ1MDU5NzUgaW5wdXQ9OGI4MDliMzkwNzRhYmJmYV0qLworeworICAgIFB5X3NzaXplX3QgbGVuID0gUHlCeXRlc19HRVRfU0laRShzZWxmKSwgbjsKICAgICBjb25zdCBjaGFyICpzID0gUHlCeXRlc19BU19TVFJJTkcoc2VsZiksICpzdWI7CiAgICAgUHlfYnVmZmVyIHZzdWI7Ci0gICAgUHlPYmplY3QgKmxpc3QsICpzdWJvYmogPSBQeV9Ob25lOworICAgIFB5T2JqZWN0ICpsaXN0OwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dkcywgInxPbjpzcGxpdCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga3dsaXN0LCAmc3Vib2JqLCAmbWF4c3BsaXQpKQotICAgICAgICByZXR1cm4gTlVMTDsKICAgICBpZiAobWF4c3BsaXQgPCAwKQogICAgICAgICBtYXhzcGxpdCA9IFBZX1NTSVpFX1RfTUFYOwotICAgIGlmIChzdWJvYmogPT0gUHlfTm9uZSkKKyAgICBpZiAoc2VwID09IFB5X05vbmUpCiAgICAgICAgIHJldHVybiBzdHJpbmdsaWJfc3BsaXRfd2hpdGVzcGFjZSgoUHlPYmplY3QqKSBzZWxmLCBzLCBsZW4sIG1heHNwbGl0KTsKLSAgICBpZiAoUHlPYmplY3RfR2V0QnVmZmVyKHN1Ym9iaiwgJnZzdWIsIFB5QlVGX1NJTVBMRSkgIT0gMCkKKyAgICBpZiAoUHlPYmplY3RfR2V0QnVmZmVyKHNlcCwgJnZzdWIsIFB5QlVGX1NJTVBMRSkgIT0gMCkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgc3ViID0gdnN1Yi5idWY7CiAgICAgbiA9IHZzdWIubGVuOwpAQCAtMTAzMSw4NSArMTYzMCwyMDIgQEAKICAgICByZXR1cm4gbGlzdDsKIH0KIAotUHlEb2NfU1RSVkFSKHBhcnRpdGlvbl9fZG9jX18sCi0iQi5wYXJ0aXRpb24oc2VwKSAtPiAoaGVhZCwgc2VwLCB0YWlsKVxuXAotXG5cCi1TZWFyY2ggZm9yIHRoZSBzZXBhcmF0b3Igc2VwIGluIEIsIGFuZCByZXR1cm4gdGhlIHBhcnQgYmVmb3JlIGl0LFxuXAotdGhlIHNlcGFyYXRvciBpdHNlbGYsIGFuZCB0aGUgcGFydCBhZnRlciBpdC4gIElmIHRoZSBzZXBhcmF0b3IgaXMgbm90XG5cCi1mb3VuZCwgcmV0dXJucyBCIGFuZCB0d28gZW1wdHkgYnl0ZXMgb2JqZWN0cy4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK2J5dGVzLnBhcnRpdGlvbgorCisgICAgc2VsZjogc2VsZih0eXBlPSJQeUJ5dGVzT2JqZWN0ICoiKQorICAgIHNlcDogUHlfYnVmZmVyCisgICAgLworCitQYXJ0aXRpb24gdGhlIGJ5dGVzIGludG8gdGhyZWUgcGFydHMgdXNpbmcgdGhlIGdpdmVuIHNlcGFyYXRvci4KKworVGhpcyB3aWxsIHNlYXJjaCBmb3IgdGhlIHNlcGFyYXRvciBzZXAgaW4gdGhlIGJ5dGVzLiBJZiB0aGUgc2VwYXJhdG9yIGlzIGZvdW5kLAorcmV0dXJucyBhIDMtdHVwbGUgY29udGFpbmluZyB0aGUgcGFydCBiZWZvcmUgdGhlIHNlcGFyYXRvciwgdGhlIHNlcGFyYXRvcgoraXRzZWxmLCBhbmQgdGhlIHBhcnQgYWZ0ZXIgaXQuCisKK0lmIHRoZSBzZXBhcmF0b3IgaXMgbm90IGZvdW5kLCByZXR1cm5zIGEgMy10dXBsZSBjb250YWluaW5nIHRoZSBvcmlnaW5hbCBieXRlcworb2JqZWN0IGFuZCB0d28gZW1wdHkgYnl0ZXMgb2JqZWN0cy4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKGJ5dGVzX3BhcnRpdGlvbl9fZG9jX18sCisicGFydGl0aW9uKCRzZWxmLCBzZXAsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJQYXJ0aXRpb24gdGhlIGJ5dGVzIGludG8gdGhyZWUgcGFydHMgdXNpbmcgdGhlIGdpdmVuIHNlcGFyYXRvci5cbiIKKyJcbiIKKyJUaGlzIHdpbGwgc2VhcmNoIGZvciB0aGUgc2VwYXJhdG9yIHNlcCBpbiB0aGUgYnl0ZXMuIElmIHRoZSBzZXBhcmF0b3IgaXMgZm91bmQsXG4iCisicmV0dXJucyBhIDMtdHVwbGUgY29udGFpbmluZyB0aGUgcGFydCBiZWZvcmUgdGhlIHNlcGFyYXRvciwgdGhlIHNlcGFyYXRvclxuIgorIml0c2VsZiwgYW5kIHRoZSBwYXJ0IGFmdGVyIGl0LlxuIgorIlxuIgorIklmIHRoZSBzZXBhcmF0b3IgaXMgbm90IGZvdW5kLCByZXR1cm5zIGEgMy10dXBsZSBjb250YWluaW5nIHRoZSBvcmlnaW5hbCBieXRlc1xuIgorIm9iamVjdCBhbmQgdHdvIGVtcHR5IGJ5dGVzIG9iamVjdHMuIik7CisKKyNkZWZpbmUgQllURVNfUEFSVElUSU9OX01FVEhPRERFRiAgICBcCisgICAgeyJwYXJ0aXRpb24iLCAoUHlDRnVuY3Rpb24pYnl0ZXNfcGFydGl0aW9uLCBNRVRIX1ZBUkFSR1MsIGJ5dGVzX3BhcnRpdGlvbl9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotYnl0ZXNfcGFydGl0aW9uKFB5Qnl0ZXNPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpzZXBfb2JqKQorYnl0ZXNfcGFydGl0aW9uX2ltcGwoUHlCeXRlc09iamVjdCAqc2VsZiwgUHlfYnVmZmVyICpzZXApOworCitzdGF0aWMgUHlPYmplY3QgKgorYnl0ZXNfcGFydGl0aW9uKFB5Qnl0ZXNPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQogeworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOwogICAgIFB5X2J1ZmZlciBzZXAgPSB7TlVMTCwgTlVMTH07Ci0gICAgUHlPYmplY3QgKnJlczsKIAotICAgIGlmIChQeU9iamVjdF9HZXRCdWZmZXIoc2VwX29iaiwgJnNlcCwgUHlCVUZfU0lNUExFKSAhPSAwKQotICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgInkqOnBhcnRpdGlvbiIsCisgICAgICAgICZzZXApKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gYnl0ZXNfcGFydGl0aW9uX2ltcGwoc2VsZiwgJnNlcCk7CiAKLSAgICByZXMgPSBzdHJpbmdsaWJfcGFydGl0aW9uKAotICAgICAgICAoUHlPYmplY3QqKSBzZWxmLAotICAgICAgICBQeUJ5dGVzX0FTX1NUUklORyhzZWxmKSwgUHlCeXRlc19HRVRfU0laRShzZWxmKSwKLSAgICAgICAgc2VwX29iaiwgc2VwLmJ1Ziwgc2VwLmxlbgotICAgICAgICApOwotICAgIFB5QnVmZmVyX1JlbGVhc2UoJnNlcCk7Ci0gICAgcmV0dXJuIHJlczsKK2V4aXQ6CisgICAgLyogQ2xlYW51cCBmb3Igc2VwICovCisgICAgaWYgKHNlcC5vYmopCisgICAgICAgUHlCdWZmZXJfUmVsZWFzZSgmc2VwKTsKKworICAgIHJldHVybiByZXR1cm5fdmFsdWU7CiB9CiAKLVB5RG9jX1NUUlZBUihycGFydGl0aW9uX19kb2NfXywKLSJCLnJwYXJ0aXRpb24oc2VwKSAtPiAoaGVhZCwgc2VwLCB0YWlsKVxuXAotXG5cCi1TZWFyY2ggZm9yIHRoZSBzZXBhcmF0b3Igc2VwIGluIEIsIHN0YXJ0aW5nIGF0IHRoZSBlbmQgb2YgQixcblwKLWFuZCByZXR1cm4gdGhlIHBhcnQgYmVmb3JlIGl0LCB0aGUgc2VwYXJhdG9yIGl0c2VsZiwgYW5kIHRoZVxuXAotcGFydCBhZnRlciBpdC4gIElmIHRoZSBzZXBhcmF0b3IgaXMgbm90IGZvdW5kLCByZXR1cm5zIHR3byBlbXB0eVxuXAotYnl0ZXMgb2JqZWN0cyBhbmQgQi4iKTsKLQogc3RhdGljIFB5T2JqZWN0ICoKLWJ5dGVzX3JwYXJ0aXRpb24oUHlCeXRlc09iamVjdCAqc2VsZiwgUHlPYmplY3QgKnNlcF9vYmopCitieXRlc19wYXJ0aXRpb25faW1wbChQeUJ5dGVzT2JqZWN0ICpzZWxmLCBQeV9idWZmZXIgKnNlcCkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD0zMDA2NzI3Y2ZiZjgzYWE0IGlucHV0PWJjODU1ZGM2M2NhOTQ5ZGVdKi8KIHsKLSAgICBQeV9idWZmZXIgc2VwID0ge05VTEwsIE5VTEx9OwotICAgIFB5T2JqZWN0ICpyZXM7Ci0KLSAgICBpZiAoUHlPYmplY3RfR2V0QnVmZmVyKHNlcF9vYmosICZzZXAsIFB5QlVGX1NJTVBMRSkgIT0gMCkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0KLSAgICByZXMgPSBzdHJpbmdsaWJfcnBhcnRpdGlvbigKKyAgICByZXR1cm4gc3RyaW5nbGliX3BhcnRpdGlvbigKICAgICAgICAgKFB5T2JqZWN0Kikgc2VsZiwKICAgICAgICAgUHlCeXRlc19BU19TVFJJTkcoc2VsZiksIFB5Qnl0ZXNfR0VUX1NJWkUoc2VsZiksCi0gICAgICAgIHNlcF9vYmosIHNlcC5idWYsIHNlcC5sZW4KKyAgICAgICAgc2VwLT5vYmosIChjb25zdCBjaGFyICopc2VwLT5idWYsIHNlcC0+bGVuCiAgICAgICAgICk7Ci0gICAgUHlCdWZmZXJfUmVsZWFzZSgmc2VwKTsKLSAgICByZXR1cm4gcmVzOwogfQogCi1QeURvY19TVFJWQVIocnNwbGl0X19kb2NfXywKLSJCLnJzcGxpdChzZXA9Tm9uZSwgbWF4c3BsaXQ9LTEpIC0+IGxpc3Qgb2YgYnl0ZXNcblwKLVxuXAotUmV0dXJuIGEgbGlzdCBvZiB0aGUgc2VjdGlvbnMgaW4gQiwgdXNpbmcgc2VwIGFzIHRoZSBkZWxpbWl0ZXIsXG5cCi1zdGFydGluZyBhdCB0aGUgZW5kIG9mIEIgYW5kIHdvcmtpbmcgdG8gdGhlIGZyb250LlxuXAotSWYgc2VwIGlzIG5vdCBnaXZlbiwgQiBpcyBzcGxpdCBvbiBBU0NJSSB3aGl0ZXNwYWNlIGNoYXJhY3RlcnNcblwKLShzcGFjZSwgdGFiLCByZXR1cm4sIG5ld2xpbmUsIGZvcm1mZWVkLCB2ZXJ0aWNhbCB0YWIpLlxuXAotSWYgbWF4c3BsaXQgaXMgZ2l2ZW4sIGF0IG1vc3QgbWF4c3BsaXQgc3BsaXRzIGFyZSBkb25lLiIpOworLypbY2xpbmljIGlucHV0XQorYnl0ZXMucnBhcnRpdGlvbgogCisgICAgc2VsZjogc2VsZih0eXBlPSJQeUJ5dGVzT2JqZWN0ICoiKQorICAgIHNlcDogUHlfYnVmZmVyCisgICAgLworCitQYXJ0aXRpb24gdGhlIGJ5dGVzIGludG8gdGhyZWUgcGFydHMgdXNpbmcgdGhlIGdpdmVuIHNlcGFyYXRvci4KKworVGhpcyB3aWxsIHNlYXJjaCBmb3IgdGhlIHNlcGFyYXRvciBzZXAgaW4gdGhlIGJ5dGVzLCBzdGFydGluZyBhbmQgdGhlIGVuZC4gSWYKK3RoZSBzZXBhcmF0b3IgaXMgZm91bmQsIHJldHVybnMgYSAzLXR1cGxlIGNvbnRhaW5pbmcgdGhlIHBhcnQgYmVmb3JlIHRoZQorc2VwYXJhdG9yLCB0aGUgc2VwYXJhdG9yIGl0c2VsZiwgYW5kIHRoZSBwYXJ0IGFmdGVyIGl0LgorCitJZiB0aGUgc2VwYXJhdG9yIGlzIG5vdCBmb3VuZCwgcmV0dXJucyBhIDMtdHVwbGUgY29udGFpbmluZyB0d28gZW1wdHkgYnl0ZXMKK29iamVjdHMgYW5kIHRoZSBvcmlnaW5hbCBieXRlcyBvYmplY3QuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihieXRlc19ycGFydGl0aW9uX19kb2NfXywKKyJycGFydGl0aW9uKCRzZWxmLCBzZXAsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJQYXJ0aXRpb24gdGhlIGJ5dGVzIGludG8gdGhyZWUgcGFydHMgdXNpbmcgdGhlIGdpdmVuIHNlcGFyYXRvci5cbiIKKyJcbiIKKyJUaGlzIHdpbGwgc2VhcmNoIGZvciB0aGUgc2VwYXJhdG9yIHNlcCBpbiB0aGUgYnl0ZXMsIHN0YXJ0aW5nIGFuZCB0aGUgZW5kLiBJZlxuIgorInRoZSBzZXBhcmF0b3IgaXMgZm91bmQsIHJldHVybnMgYSAzLXR1cGxlIGNvbnRhaW5pbmcgdGhlIHBhcnQgYmVmb3JlIHRoZVxuIgorInNlcGFyYXRvciwgdGhlIHNlcGFyYXRvciBpdHNlbGYsIGFuZCB0aGUgcGFydCBhZnRlciBpdC5cbiIKKyJcbiIKKyJJZiB0aGUgc2VwYXJhdG9yIGlzIG5vdCBmb3VuZCwgcmV0dXJucyBhIDMtdHVwbGUgY29udGFpbmluZyB0d28gZW1wdHkgYnl0ZXNcbiIKKyJvYmplY3RzIGFuZCB0aGUgb3JpZ2luYWwgYnl0ZXMgb2JqZWN0LiIpOworCisjZGVmaW5lIEJZVEVTX1JQQVJUSVRJT05fTUVUSE9EREVGICAgIFwKKyAgICB7InJwYXJ0aXRpb24iLCAoUHlDRnVuY3Rpb24pYnl0ZXNfcnBhcnRpdGlvbiwgTUVUSF9WQVJBUkdTLCBieXRlc19ycGFydGl0aW9uX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1ieXRlc19yc3BsaXQoUHlCeXRlc09iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2RzKQorYnl0ZXNfcnBhcnRpdGlvbl9pbXBsKFB5Qnl0ZXNPYmplY3QgKnNlbGYsIFB5X2J1ZmZlciAqc2VwKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK2J5dGVzX3JwYXJ0aXRpb24oUHlCeXRlc09iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCiB7Ci0gICAgc3RhdGljIGNoYXIgKmt3bGlzdFtdID0geyJzZXAiLCAibWF4c3BsaXQiLCAwfTsKLSAgICBQeV9zc2l6ZV90IGxlbiA9IFB5Qnl0ZXNfR0VUX1NJWkUoc2VsZiksIG47CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgUHlfYnVmZmVyIHNlcCA9IHtOVUxMLCBOVUxMfTsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAieSo6cnBhcnRpdGlvbiIsCisgICAgICAgICZzZXApKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gYnl0ZXNfcnBhcnRpdGlvbl9pbXBsKHNlbGYsICZzZXApOworCitleGl0OgorICAgIC8qIENsZWFudXAgZm9yIHNlcCAqLworICAgIGlmIChzZXAub2JqKQorICAgICAgIFB5QnVmZmVyX1JlbGVhc2UoJnNlcCk7CisKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorYnl0ZXNfcnBhcnRpdGlvbl9pbXBsKFB5Qnl0ZXNPYmplY3QgKnNlbGYsIFB5X2J1ZmZlciAqc2VwKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTU3YjE2OWRjNDdmYTkwZTggaW5wdXQ9NjU4OGZmZjI2MmE5MTcwZV0qLworeworICAgIHJldHVybiBzdHJpbmdsaWJfcnBhcnRpdGlvbigKKyAgICAgICAgKFB5T2JqZWN0Kikgc2VsZiwKKyAgICAgICAgUHlCeXRlc19BU19TVFJJTkcoc2VsZiksIFB5Qnl0ZXNfR0VUX1NJWkUoc2VsZiksCisgICAgICAgIHNlcC0+b2JqLCAoY29uc3QgY2hhciAqKXNlcC0+YnVmLCBzZXAtPmxlbgorICAgICAgICApOworfQorCisvKltjbGluaWMgaW5wdXRdCitieXRlcy5yc3BsaXQgPSBieXRlcy5zcGxpdAorCitSZXR1cm4gYSBsaXN0IG9mIHRoZSBzZWN0aW9ucyBpbiB0aGUgYnl0ZXMsIHVzaW5nIHNlcCBhcyB0aGUgZGVsaW1pdGVyLgorCitTcGxpdHRpbmcgaXMgZG9uZSBzdGFydGluZyBhdCB0aGUgZW5kIG9mIHRoZSBieXRlcyBhbmQgd29ya2luZyB0byB0aGUgZnJvbnQuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihieXRlc19yc3BsaXRfX2RvY19fLAorInJzcGxpdCgkc2VsZiwgLywgc2VwPU5vbmUsIG1heHNwbGl0PS0xKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIGEgbGlzdCBvZiB0aGUgc2VjdGlvbnMgaW4gdGhlIGJ5dGVzLCB1c2luZyBzZXAgYXMgdGhlIGRlbGltaXRlci5cbiIKKyJcbiIKKyIgIHNlcFxuIgorIiAgICBUaGUgZGVsaW1pdGVyIGFjY29yZGluZyB3aGljaCB0byBzcGxpdCB0aGUgYnl0ZXMuXG4iCisiICAgIE5vbmUgKHRoZSBkZWZhdWx0IHZhbHVlKSBtZWFucyBzcGxpdCBvbiBBU0NJSSB3aGl0ZXNwYWNlIGNoYXJhY3RlcnNcbiIKKyIgICAgKHNwYWNlLCB0YWIsIHJldHVybiwgbmV3bGluZSwgZm9ybWZlZWQsIHZlcnRpY2FsIHRhYikuXG4iCisiICBtYXhzcGxpdFxuIgorIiAgICBNYXhpbXVtIG51bWJlciBvZiBzcGxpdHMgdG8gZG8uXG4iCisiICAgIC0xICh0aGUgZGVmYXVsdCB2YWx1ZSkgbWVhbnMgbm8gbGltaXQuXG4iCisiXG4iCisiU3BsaXR0aW5nIGlzIGRvbmUgc3RhcnRpbmcgYXQgdGhlIGVuZCBvZiB0aGUgYnl0ZXMgYW5kIHdvcmtpbmcgdG8gdGhlIGZyb250LiIpOworCisjZGVmaW5lIEJZVEVTX1JTUExJVF9NRVRIT0RERUYgICAgXAorICAgIHsicnNwbGl0IiwgKFB5Q0Z1bmN0aW9uKWJ5dGVzX3JzcGxpdCwgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIGJ5dGVzX3JzcGxpdF9fZG9jX199LAorCitzdGF0aWMgUHlPYmplY3QgKgorYnl0ZXNfcnNwbGl0X2ltcGwoUHlCeXRlc09iamVjdCpzZWxmLCBQeU9iamVjdCAqc2VwLCBQeV9zc2l6ZV90IG1heHNwbGl0KTsKKworc3RhdGljIFB5T2JqZWN0ICoKK2J5dGVzX3JzcGxpdChQeUJ5dGVzT2JqZWN0KnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQoreworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIHN0YXRpYyBjaGFyICpfa2V5d29yZHNbXSA9IHsic2VwIiwgIm1heHNwbGl0IiwgTlVMTH07CisgICAgUHlPYmplY3QgKnNlcCA9IFB5X05vbmU7CiAgICAgUHlfc3NpemVfdCBtYXhzcGxpdCA9IC0xOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLAorICAgICAgICAifE9uOnJzcGxpdCIsIF9rZXl3b3JkcywKKyAgICAgICAgJnNlcCwgJm1heHNwbGl0KSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IGJ5dGVzX3JzcGxpdF9pbXBsKHNlbGYsIHNlcCwgbWF4c3BsaXQpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitieXRlc19yc3BsaXRfaW1wbChQeUJ5dGVzT2JqZWN0KnNlbGYsIFB5T2JqZWN0ICpzZXAsIFB5X3NzaXplX3QgbWF4c3BsaXQpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9Zjg2ZmVkZGVkYmQ3YjI2ZCBpbnB1dD0wZjg2YzlmMjhmN2Q3YjdiXSovCit7CisgICAgUHlfc3NpemVfdCBsZW4gPSBQeUJ5dGVzX0dFVF9TSVpFKHNlbGYpLCBuOwogICAgIGNvbnN0IGNoYXIgKnMgPSBQeUJ5dGVzX0FTX1NUUklORyhzZWxmKSwgKnN1YjsKICAgICBQeV9idWZmZXIgdnN1YjsKLSAgICBQeU9iamVjdCAqbGlzdCwgKnN1Ym9iaiA9IFB5X05vbmU7CisgICAgUHlPYmplY3QgKmxpc3Q7CiAKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2RzLCAifE9uOnJzcGxpdCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga3dsaXN0LCAmc3Vib2JqLCAmbWF4c3BsaXQpKQotICAgICAgICByZXR1cm4gTlVMTDsKICAgICBpZiAobWF4c3BsaXQgPCAwKQogICAgICAgICBtYXhzcGxpdCA9IFBZX1NTSVpFX1RfTUFYOwotICAgIGlmIChzdWJvYmogPT0gUHlfTm9uZSkKKyAgICBpZiAoc2VwID09IFB5X05vbmUpCiAgICAgICAgIHJldHVybiBzdHJpbmdsaWJfcnNwbGl0X3doaXRlc3BhY2UoKFB5T2JqZWN0Kikgc2VsZiwgcywgbGVuLCBtYXhzcGxpdCk7Ci0gICAgaWYgKFB5T2JqZWN0X0dldEJ1ZmZlcihzdWJvYmosICZ2c3ViLCBQeUJVRl9TSU1QTEUpICE9IDApCisgICAgaWYgKFB5T2JqZWN0X0dldEJ1ZmZlcihzZXAsICZ2c3ViLCBQeUJVRl9TSU1QTEUpICE9IDApCiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIHN1YiA9IHZzdWIuYnVmOwogICAgIG4gPSB2c3ViLmxlbjsKQEAgLTExMjAsMTYgKzE4MzYsNDEgQEAKIH0KIAogCi1QeURvY19TVFJWQVIoam9pbl9fZG9jX18sCi0iQi5qb2luKGl0ZXJhYmxlX29mX2J5dGVzKSAtPiBieXRlc1xuXAotXG5cCi1Db25jYXRlbmF0ZSBhbnkgbnVtYmVyIG9mIGJ5dGVzIG9iamVjdHMsIHdpdGggQiBpbiBiZXR3ZWVuIGVhY2ggcGFpci5cblwKLUV4YW1wbGU6IGInLicuam9pbihbYidhYicsIGIncHEnLCBiJ3JzJ10pIC0+IGInYWIucHEucnMnLiIpOworLypbY2xpbmljIGlucHV0XQorYnl0ZXMuam9pbgorCisgICAgaXRlcmFibGVfb2ZfYnl0ZXM6IG9iamVjdAorICAgIC8KKworQ29uY2F0ZW5hdGUgYW55IG51bWJlciBvZiBieXRlcyBvYmplY3RzLgorCitUaGUgYnl0ZXMgd2hvc2UgbWV0aG9kIGlzIGNhbGxlZCBpcyBpbnNlcnRlZCBpbiBiZXR3ZWVuIGVhY2ggcGFpci4KKworVGhlIHJlc3VsdCBpcyByZXR1cm5lZCBhcyBhIG5ldyBieXRlcyBvYmplY3QuCisKK0V4YW1wbGU6IGInLicuam9pbihbYidhYicsIGIncHEnLCBiJ3JzJ10pIC0+IGInYWIucHEucnMnLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIoYnl0ZXNfam9pbl9fZG9jX18sCisiam9pbigkc2VsZiwgaXRlcmFibGVfb2ZfYnl0ZXMsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJDb25jYXRlbmF0ZSBhbnkgbnVtYmVyIG9mIGJ5dGVzIG9iamVjdHMuXG4iCisiXG4iCisiVGhlIGJ5dGVzIHdob3NlIG1ldGhvZCBpcyBjYWxsZWQgaXMgaW5zZXJ0ZWQgaW4gYmV0d2VlbiBlYWNoIHBhaXIuXG4iCisiXG4iCisiVGhlIHJlc3VsdCBpcyByZXR1cm5lZCBhcyBhIG5ldyBieXRlcyBvYmplY3QuXG4iCisiXG4iCisiRXhhbXBsZTogYlwnLlwnLmpvaW4oW2JcJ2FiXCcsIGJcJ3BxXCcsIGJcJ3JzXCddKSAtPiBiXCdhYi5wcS5yc1wnLiIpOworCisjZGVmaW5lIEJZVEVTX0pPSU5fTUVUSE9EREVGICAgIFwKKyAgICB7ImpvaW4iLCAoUHlDRnVuY3Rpb24pYnl0ZXNfam9pbiwgTUVUSF9PLCBieXRlc19qb2luX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1ieXRlc19qb2luKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqaXRlcmFibGUpCitieXRlc19qb2luKFB5Qnl0ZXNPYmplY3Qqc2VsZiwgUHlPYmplY3QgKml0ZXJhYmxlX29mX2J5dGVzKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWU1NDFhMTRhOGRhOTc5MDggaW5wdXQ9N2ZlMzc3Yjk1YmQ1NDlkMl0qLwogewotICAgIHJldHVybiBzdHJpbmdsaWJfYnl0ZXNfam9pbihzZWxmLCBpdGVyYWJsZSk7CisgICAgcmV0dXJuIHN0cmluZ2xpYl9ieXRlc19qb2luKChQeU9iamVjdCopc2VsZiwgaXRlcmFibGVfb2ZfYnl0ZXMpOwogfQogCiBQeU9iamVjdCAqCkBAIC0xMTM3LDcgKzE4NzgsNyBAQAogewogICAgIGFzc2VydChzZXAgIT0gTlVMTCAmJiBQeUJ5dGVzX0NoZWNrKHNlcCkpOwogICAgIGFzc2VydCh4ICE9IE5VTEwpOwotICAgIHJldHVybiBieXRlc19qb2luKHNlcCwgeCk7CisgICAgcmV0dXJuIGJ5dGVzX2pvaW4oKFB5Qnl0ZXNPYmplY3QqKXNlcCwgeCk7CiB9CiAKIC8qIGhlbHBlciBtYWNybyB0byBmaXh1cCBzdGFydC9lbmQgc2xpY2UgdmFsdWVzICovCkBAIC0xMzQ4LDYyICsyMDg5LDE1OSBAQAogCiAKIFB5X0xPQ0FMX0lOTElORShQeU9iamVjdCAqKQotZG9fYXJnc3RyaXAoUHlCeXRlc09iamVjdCAqc2VsZiwgaW50IHN0cmlwdHlwZSwgUHlPYmplY3QgKmFyZ3MpCitkb19hcmdzdHJpcChQeUJ5dGVzT2JqZWN0ICpzZWxmLCBpbnQgc3RyaXB0eXBlLCBQeU9iamVjdCAqYnl0ZXMpCiB7Ci0gICAgUHlPYmplY3QgKnNlcCA9IE5VTEw7Ci0KLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgc3RyaXBmb3JtYXRbc3RyaXB0eXBlXSwgJnNlcCkpCi0gICAgICAgIHJldHVybiBOVUxMOwotCi0gICAgaWYgKHNlcCAhPSBOVUxMICYmIHNlcCAhPSBQeV9Ob25lKSB7Ci0gICAgICAgIHJldHVybiBkb194c3RyaXAoc2VsZiwgc3RyaXB0eXBlLCBzZXApOworICAgIGlmIChieXRlcyAhPSBOVUxMICYmIGJ5dGVzICE9IFB5X05vbmUpIHsKKyAgICAgICAgcmV0dXJuIGRvX3hzdHJpcChzZWxmLCBzdHJpcHR5cGUsIGJ5dGVzKTsKICAgICB9CiAgICAgcmV0dXJuIGRvX3N0cmlwKHNlbGYsIHN0cmlwdHlwZSk7CiB9CiAKKy8qW2NsaW5pYyBpbnB1dF0KK2J5dGVzLnN0cmlwCiAKLVB5RG9jX1NUUlZBUihzdHJpcF9fZG9jX18sCi0iQi5zdHJpcChbYnl0ZXNdKSAtPiBieXRlc1xuXAotXG5cCi1TdHJpcCBsZWFkaW5nIGFuZCB0cmFpbGluZyBieXRlcyBjb250YWluZWQgaW4gdGhlIGFyZ3VtZW50LlxuXAotSWYgdGhlIGFyZ3VtZW50IGlzIG9taXR0ZWQsIHN0cmlwIGxlYWRpbmcgYW5kIHRyYWlsaW5nIEFTQ0lJIHdoaXRlc3BhY2UuIik7CisgICAgc2VsZjogc2VsZih0eXBlPSJQeUJ5dGVzT2JqZWN0ICoiKQorICAgIGJ5dGVzOiBvYmplY3QgPSBOb25lCisgICAgLworCitTdHJpcCBsZWFkaW5nIGFuZCB0cmFpbGluZyBieXRlcyBjb250YWluZWQgaW4gdGhlIGFyZ3VtZW50LgorCitJZiB0aGUgYXJndW1lbnQgaXMgb21pdHRlZCBvciBOb25lLCBzdHJpcCBsZWFkaW5nIGFuZCB0cmFpbGluZyBBU0NJSSB3aGl0ZXNwYWNlLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIoYnl0ZXNfc3RyaXBfX2RvY19fLAorInN0cmlwKCRzZWxmLCBieXRlcz1Ob25lLCAvKVxuIgorIi0tXG4iCisiXG4iCisiU3RyaXAgbGVhZGluZyBhbmQgdHJhaWxpbmcgYnl0ZXMgY29udGFpbmVkIGluIHRoZSBhcmd1bWVudC5cbiIKKyJcbiIKKyJJZiB0aGUgYXJndW1lbnQgaXMgb21pdHRlZCBvciBOb25lLCBzdHJpcCBsZWFkaW5nIGFuZCB0cmFpbGluZyBBU0NJSSB3aGl0ZXNwYWNlLiIpOworCisjZGVmaW5lIEJZVEVTX1NUUklQX01FVEhPRERFRiAgICBcCisgICAgeyJzdHJpcCIsIChQeUNGdW5jdGlvbilieXRlc19zdHJpcCwgTUVUSF9WQVJBUkdTLCBieXRlc19zdHJpcF9fZG9jX199LAorCitzdGF0aWMgUHlPYmplY3QgKgorYnl0ZXNfc3RyaXBfaW1wbChQeUJ5dGVzT2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYnl0ZXMpOworCiBzdGF0aWMgUHlPYmplY3QgKgogYnl0ZXNfc3RyaXAoUHlCeXRlc09iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCiB7Ci0gICAgaWYgKFB5VHVwbGVfR0VUX1NJWkUoYXJncykgPT0gMCkKLSAgICAgICAgcmV0dXJuIGRvX3N0cmlwKHNlbGYsIEJPVEhTVFJJUCk7IC8qIENvbW1vbiBjYXNlICovCi0gICAgZWxzZQotICAgICAgICByZXR1cm4gZG9fYXJnc3RyaXAoc2VsZiwgQk9USFNUUklQLCBhcmdzKTsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBQeU9iamVjdCAqYnl0ZXMgPSBQeV9Ob25lOworCisgICAgaWYgKCFQeUFyZ19VbnBhY2tUdXBsZShhcmdzLCAic3RyaXAiLAorICAgICAgICAwLCAxLAorICAgICAgICAmYnl0ZXMpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gYnl0ZXNfc3RyaXBfaW1wbChzZWxmLCBieXRlcyk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKIH0KIAorc3RhdGljIFB5T2JqZWN0ICoKK2J5dGVzX3N0cmlwX2ltcGwoUHlCeXRlc09iamVjdCAqc2VsZiwgUHlPYmplY3QgKmJ5dGVzKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWM4MjM0YTU5OWJhNWVjMzUgaW5wdXQ9MzdkYWE1ZmFkMTM5NWQ5NV0qLworeworICAgIHJldHVybiBkb19hcmdzdHJpcChzZWxmLCBCT1RIU1RSSVAsIGJ5dGVzKTsKK30KIAotUHlEb2NfU1RSVkFSKGxzdHJpcF9fZG9jX18sCi0iQi5sc3RyaXAoW2J5dGVzXSkgLT4gYnl0ZXNcblwKLVxuXAotU3RyaXAgbGVhZGluZyBieXRlcyBjb250YWluZWQgaW4gdGhlIGFyZ3VtZW50LlxuXAotSWYgdGhlIGFyZ3VtZW50IGlzIG9taXR0ZWQsIHN0cmlwIGxlYWRpbmcgQVNDSUkgd2hpdGVzcGFjZS4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK2J5dGVzLmxzdHJpcAorCisgICAgc2VsZjogc2VsZih0eXBlPSJQeUJ5dGVzT2JqZWN0ICoiKQorICAgIGJ5dGVzOiBvYmplY3QgPSBOb25lCisgICAgLworCitTdHJpcCBsZWFkaW5nIGJ5dGVzIGNvbnRhaW5lZCBpbiB0aGUgYXJndW1lbnQuCisKK0lmIHRoZSBhcmd1bWVudCBpcyBvbWl0dGVkIG9yIE5vbmUsIHN0cmlwIGxlYWRpbmcgIEFTQ0lJIHdoaXRlc3BhY2UuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihieXRlc19sc3RyaXBfX2RvY19fLAorImxzdHJpcCgkc2VsZiwgYnl0ZXM9Tm9uZSwgLylcbiIKKyItLVxuIgorIlxuIgorIlN0cmlwIGxlYWRpbmcgYnl0ZXMgY29udGFpbmVkIGluIHRoZSBhcmd1bWVudC5cbiIKKyJcbiIKKyJJZiB0aGUgYXJndW1lbnQgaXMgb21pdHRlZCBvciBOb25lLCBzdHJpcCBsZWFkaW5nICBBU0NJSSB3aGl0ZXNwYWNlLiIpOworCisjZGVmaW5lIEJZVEVTX0xTVFJJUF9NRVRIT0RERUYgICAgXAorICAgIHsibHN0cmlwIiwgKFB5Q0Z1bmN0aW9uKWJ5dGVzX2xzdHJpcCwgTUVUSF9WQVJBUkdTLCBieXRlc19sc3RyaXBfX2RvY19ffSwKKworc3RhdGljIFB5T2JqZWN0ICoKK2J5dGVzX2xzdHJpcF9pbXBsKFB5Qnl0ZXNPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpieXRlcyk7CisKIHN0YXRpYyBQeU9iamVjdCAqCiBieXRlc19sc3RyaXAoUHlCeXRlc09iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCiB7Ci0gICAgaWYgKFB5VHVwbGVfR0VUX1NJWkUoYXJncykgPT0gMCkKLSAgICAgICAgcmV0dXJuIGRvX3N0cmlwKHNlbGYsIExFRlRTVFJJUCk7IC8qIENvbW1vbiBjYXNlICovCi0gICAgZWxzZQotICAgICAgICByZXR1cm4gZG9fYXJnc3RyaXAoc2VsZiwgTEVGVFNUUklQLCBhcmdzKTsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBQeU9iamVjdCAqYnl0ZXMgPSBQeV9Ob25lOworCisgICAgaWYgKCFQeUFyZ19VbnBhY2tUdXBsZShhcmdzLCAibHN0cmlwIiwKKyAgICAgICAgMCwgMSwKKyAgICAgICAgJmJ5dGVzKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IGJ5dGVzX2xzdHJpcF9pbXBsKHNlbGYsIGJ5dGVzKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOwogfQogCitzdGF0aWMgUHlPYmplY3QgKgorYnl0ZXNfbHN0cmlwX2ltcGwoUHlCeXRlc09iamVjdCAqc2VsZiwgUHlPYmplY3QgKmJ5dGVzKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTUyOWU4NTExYWI2ZjExMTUgaW5wdXQ9ODg4MTFiMDlkZmJjMjk4OF0qLworeworICAgIHJldHVybiBkb19hcmdzdHJpcChzZWxmLCBMRUZUU1RSSVAsIGJ5dGVzKTsKK30KIAotUHlEb2NfU1RSVkFSKHJzdHJpcF9fZG9jX18sCi0iQi5yc3RyaXAoW2J5dGVzXSkgLT4gYnl0ZXNcblwKLVxuXAotU3RyaXAgdHJhaWxpbmcgYnl0ZXMgY29udGFpbmVkIGluIHRoZSBhcmd1bWVudC5cblwKLUlmIHRoZSBhcmd1bWVudCBpcyBvbWl0dGVkLCBzdHJpcCB0cmFpbGluZyBBU0NJSSB3aGl0ZXNwYWNlLiIpOworLypbY2xpbmljIGlucHV0XQorYnl0ZXMucnN0cmlwCisKKyAgICBzZWxmOiBzZWxmKHR5cGU9IlB5Qnl0ZXNPYmplY3QgKiIpCisgICAgYnl0ZXM6IG9iamVjdCA9IE5vbmUKKyAgICAvCisKK1N0cmlwIHRyYWlsaW5nIGJ5dGVzIGNvbnRhaW5lZCBpbiB0aGUgYXJndW1lbnQuCisKK0lmIHRoZSBhcmd1bWVudCBpcyBvbWl0dGVkIG9yIE5vbmUsIHN0cmlwIHRyYWlsaW5nIEFTQ0lJIHdoaXRlc3BhY2UuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihieXRlc19yc3RyaXBfX2RvY19fLAorInJzdHJpcCgkc2VsZiwgYnl0ZXM9Tm9uZSwgLylcbiIKKyItLVxuIgorIlxuIgorIlN0cmlwIHRyYWlsaW5nIGJ5dGVzIGNvbnRhaW5lZCBpbiB0aGUgYXJndW1lbnQuXG4iCisiXG4iCisiSWYgdGhlIGFyZ3VtZW50IGlzIG9taXR0ZWQgb3IgTm9uZSwgc3RyaXAgdHJhaWxpbmcgQVNDSUkgd2hpdGVzcGFjZS4iKTsKKworI2RlZmluZSBCWVRFU19SU1RSSVBfTUVUSE9EREVGICAgIFwKKyAgICB7InJzdHJpcCIsIChQeUNGdW5jdGlvbilieXRlc19yc3RyaXAsIE1FVEhfVkFSQVJHUywgYnl0ZXNfcnN0cmlwX19kb2NfX30sCisKK3N0YXRpYyBQeU9iamVjdCAqCitieXRlc19yc3RyaXBfaW1wbChQeUJ5dGVzT2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYnl0ZXMpOworCiBzdGF0aWMgUHlPYmplY3QgKgogYnl0ZXNfcnN0cmlwKFB5Qnl0ZXNPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQogewotICAgIGlmIChQeVR1cGxlX0dFVF9TSVpFKGFyZ3MpID09IDApCi0gICAgICAgIHJldHVybiBkb19zdHJpcChzZWxmLCBSSUdIVFNUUklQKTsgLyogQ29tbW9uIGNhc2UgKi8KLSAgICBlbHNlCi0gICAgICAgIHJldHVybiBkb19hcmdzdHJpcChzZWxmLCBSSUdIVFNUUklQLCBhcmdzKTsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBQeU9iamVjdCAqYnl0ZXMgPSBQeV9Ob25lOworCisgICAgaWYgKCFQeUFyZ19VbnBhY2tUdXBsZShhcmdzLCAicnN0cmlwIiwKKyAgICAgICAgMCwgMSwKKyAgICAgICAgJmJ5dGVzKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IGJ5dGVzX3JzdHJpcF9pbXBsKHNlbGYsIGJ5dGVzKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorYnl0ZXNfcnN0cmlwX2ltcGwoUHlCeXRlc09iamVjdCAqc2VsZiwgUHlPYmplY3QgKmJ5dGVzKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWU5ODczMGJkMTMzZTY1OTMgaW5wdXQ9OGY5M2M5Y2QzNjFmMDE0MF0qLworeworICAgIHJldHVybiBkb19hcmdzdHJpcChzZWxmLCBSSUdIVFNUUklQLCBieXRlcyk7CiB9CiAKIApAQCAtMTQ1NSw0NSArMjI5Myw5NCBAQAogfQogCiAKLVB5RG9jX1NUUlZBUih0cmFuc2xhdGVfX2RvY19fLAotIkIudHJhbnNsYXRlKHRhYmxlWywgZGVsZXRlY2hhcnNdKSAtPiBieXRlc1xuXAotXG5cCi1SZXR1cm4gYSBjb3B5IG9mIEIsIHdoZXJlIGFsbCBjaGFyYWN0ZXJzIG9jY3VycmluZyBpbiB0aGVcblwKLW9wdGlvbmFsIGFyZ3VtZW50IGRlbGV0ZWNoYXJzIGFyZSByZW1vdmVkLCBhbmQgdGhlIHJlbWFpbmluZ1xuXAotY2hhcmFjdGVycyBoYXZlIGJlZW4gbWFwcGVkIHRocm91Z2ggdGhlIGdpdmVuIHRyYW5zbGF0aW9uXG5cCi10YWJsZSwgd2hpY2ggbXVzdCBiZSBhIGJ5dGVzIG9iamVjdCBvZiBsZW5ndGggMjU2LiIpOworLypbY2xpbmljIGlucHV0XQorYnl0ZXMudHJhbnNsYXRlCisKKyAgICBzZWxmOiBzZWxmKHR5cGU9IlB5Qnl0ZXNPYmplY3QgKiIpCisgICAgdGFibGU6IG9iamVjdAorICAgICAgICBUcmFuc2xhdGlvbiB0YWJsZSwgd2hpY2ggbXVzdCBiZSBhIGJ5dGVzIG9iamVjdCBvZiBsZW5ndGggMjU2LgorICAgIFsKKyAgICBkZWxldGVjaGFyczogb2JqZWN0CisgICAgXQorICAgIC8KKworUmV0dXJuIGEgY29weSB3aXRoIGVhY2ggY2hhcmFjdGVyIG1hcHBlZCBieSB0aGUgZ2l2ZW4gdHJhbnNsYXRpb24gdGFibGUuCisKK0FsbCBjaGFyYWN0ZXJzIG9jY3VycmluZyBpbiB0aGUgb3B0aW9uYWwgYXJndW1lbnQgZGVsZXRlY2hhcnMgYXJlIHJlbW92ZWQuCitUaGUgcmVtYWluaW5nIGNoYXJhY3RlcnMgYXJlIG1hcHBlZCB0aHJvdWdoIHRoZSBnaXZlbiB0cmFuc2xhdGlvbiB0YWJsZS4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKGJ5dGVzX3RyYW5zbGF0ZV9fZG9jX18sCisidHJhbnNsYXRlKHRhYmxlLCBbZGVsZXRlY2hhcnNdKVxuIgorIlJldHVybiBhIGNvcHkgd2l0aCBlYWNoIGNoYXJhY3RlciBtYXBwZWQgYnkgdGhlIGdpdmVuIHRyYW5zbGF0aW9uIHRhYmxlLlxuIgorIlxuIgorIiAgdGFibGVcbiIKKyIgICAgVHJhbnNsYXRpb24gdGFibGUsIHdoaWNoIG11c3QgYmUgYSBieXRlcyBvYmplY3Qgb2YgbGVuZ3RoIDI1Ni5cbiIKKyJcbiIKKyJBbGwgY2hhcmFjdGVycyBvY2N1cnJpbmcgaW4gdGhlIG9wdGlvbmFsIGFyZ3VtZW50IGRlbGV0ZWNoYXJzIGFyZSByZW1vdmVkLlxuIgorIlRoZSByZW1haW5pbmcgY2hhcmFjdGVycyBhcmUgbWFwcGVkIHRocm91Z2ggdGhlIGdpdmVuIHRyYW5zbGF0aW9uIHRhYmxlLiIpOworCisjZGVmaW5lIEJZVEVTX1RSQU5TTEFURV9NRVRIT0RERUYgICAgXAorICAgIHsidHJhbnNsYXRlIiwgKFB5Q0Z1bmN0aW9uKWJ5dGVzX3RyYW5zbGF0ZSwgTUVUSF9WQVJBUkdTLCBieXRlc190cmFuc2xhdGVfX2RvY19ffSwKKworc3RhdGljIFB5T2JqZWN0ICoKK2J5dGVzX3RyYW5zbGF0ZV9pbXBsKFB5Qnl0ZXNPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICp0YWJsZSwgaW50IGdyb3VwX3JpZ2h0XzEsIFB5T2JqZWN0ICpkZWxldGVjaGFycyk7CiAKIHN0YXRpYyBQeU9iamVjdCAqCiBieXRlc190cmFuc2xhdGUoUHlCeXRlc09iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCiB7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgUHlPYmplY3QgKnRhYmxlOworICAgIGludCBncm91cF9yaWdodF8xID0gMDsKKyAgICBQeU9iamVjdCAqZGVsZXRlY2hhcnMgPSBOVUxMOworCisgICAgc3dpdGNoIChQeVR1cGxlX0dFVF9TSVpFKGFyZ3MpKSB7CisgICAgICAgIGNhc2UgMToKKyAgICAgICAgICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiTzp0cmFuc2xhdGUiLCAmdGFibGUpKQorICAgICAgICAgICAgICAgIGdvdG8gZXhpdDsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIDI6CisgICAgICAgICAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIk9POnRyYW5zbGF0ZSIsICZ0YWJsZSwgJmRlbGV0ZWNoYXJzKSkKKyAgICAgICAgICAgICAgICBnb3RvIGV4aXQ7CisgICAgICAgICAgICBncm91cF9yaWdodF8xID0gMTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgImJ5dGVzLnRyYW5zbGF0ZSByZXF1aXJlcyAxIHRvIDIgYXJndW1lbnRzIik7CisgICAgICAgICAgICBnb3RvIGV4aXQ7CisgICAgfQorICAgIHJldHVybl92YWx1ZSA9IGJ5dGVzX3RyYW5zbGF0ZV9pbXBsKHNlbGYsIHRhYmxlLCBncm91cF9yaWdodF8xLCBkZWxldGVjaGFycyk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK2J5dGVzX3RyYW5zbGF0ZV9pbXBsKFB5Qnl0ZXNPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICp0YWJsZSwgaW50IGdyb3VwX3JpZ2h0XzEsIFB5T2JqZWN0ICpkZWxldGVjaGFycykKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1mMGYyOWE1N2Y0MWRmNWQ4IGlucHV0PWQ4ZmE1NTE5ZDdjYzRiZTddKi8KK3sKICAgICBjaGFyICppbnB1dCwgKm91dHB1dDsKICAgICBQeV9idWZmZXIgdGFibGVfdmlldyA9IHtOVUxMLCBOVUxMfTsKICAgICBQeV9idWZmZXIgZGVsX3RhYmxlX3ZpZXcgPSB7TlVMTCwgTlVMTH07Ci0gICAgY29uc3QgY2hhciAqdGFibGU7CisgICAgY29uc3QgY2hhciAqdGFibGVfY2hhcnM7CiAgICAgUHlfc3NpemVfdCBpLCBjLCBjaGFuZ2VkID0gMDsKICAgICBQeU9iamVjdCAqaW5wdXRfb2JqID0gKFB5T2JqZWN0KilzZWxmOwotICAgIGNvbnN0IGNoYXIgKm91dHB1dF9zdGFydCwgKmRlbF90YWJsZT1OVUxMOworICAgIGNvbnN0IGNoYXIgKm91dHB1dF9zdGFydCwgKmRlbF90YWJsZV9jaGFycz1OVUxMOwogICAgIFB5X3NzaXplX3QgaW5sZW4sIHRhYmxlbiwgZGVsbGVuID0gMDsKICAgICBQeU9iamVjdCAqcmVzdWx0OwogICAgIGludCB0cmFuc190YWJsZVsyNTZdOwotICAgIFB5T2JqZWN0ICp0YWJsZW9iaiwgKmRlbG9iaiA9IE5VTEw7CiAKLSAgICBpZiAoIVB5QXJnX1VucGFja1R1cGxlKGFyZ3MsICJ0cmFuc2xhdGUiLCAxLCAyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAmdGFibGVvYmosICZkZWxvYmopKQotICAgICAgICByZXR1cm4gTlVMTDsKLQotICAgIGlmIChQeUJ5dGVzX0NoZWNrKHRhYmxlb2JqKSkgewotICAgICAgICB0YWJsZSA9IFB5Qnl0ZXNfQVNfU1RSSU5HKHRhYmxlb2JqKTsKLSAgICAgICAgdGFibGVuID0gUHlCeXRlc19HRVRfU0laRSh0YWJsZW9iaik7CisgICAgaWYgKFB5Qnl0ZXNfQ2hlY2sodGFibGUpKSB7CisgICAgICAgIHRhYmxlX2NoYXJzID0gUHlCeXRlc19BU19TVFJJTkcodGFibGUpOworICAgICAgICB0YWJsZW4gPSBQeUJ5dGVzX0dFVF9TSVpFKHRhYmxlKTsKICAgICB9Ci0gICAgZWxzZSBpZiAodGFibGVvYmogPT0gUHlfTm9uZSkgewotICAgICAgICB0YWJsZSA9IE5VTEw7CisgICAgZWxzZSBpZiAodGFibGUgPT0gUHlfTm9uZSkgeworICAgICAgICB0YWJsZV9jaGFycyA9IE5VTEw7CiAgICAgICAgIHRhYmxlbiA9IDI1NjsKICAgICB9CiAgICAgZWxzZSB7Ci0gICAgICAgIGlmIChQeU9iamVjdF9HZXRCdWZmZXIodGFibGVvYmosICZ0YWJsZV92aWV3LCBQeUJVRl9TSU1QTEUpICE9IDApCisgICAgICAgIGlmIChQeU9iamVjdF9HZXRCdWZmZXIodGFibGUsICZ0YWJsZV92aWV3LCBQeUJVRl9TSU1QTEUpICE9IDApCiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKLSAgICAgICAgdGFibGUgPSB0YWJsZV92aWV3LmJ1ZjsKKyAgICAgICAgdGFibGVfY2hhcnMgPSB0YWJsZV92aWV3LmJ1ZjsKICAgICAgICAgdGFibGVuID0gdGFibGVfdmlldy5sZW47CiAgICAgfQogCkBAIC0xNTA0LDIyICsyMzkxLDIyIEBACiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KIAotICAgIGlmIChkZWxvYmogIT0gTlVMTCkgewotICAgICAgICBpZiAoUHlCeXRlc19DaGVjayhkZWxvYmopKSB7Ci0gICAgICAgICAgICBkZWxfdGFibGUgPSBQeUJ5dGVzX0FTX1NUUklORyhkZWxvYmopOwotICAgICAgICAgICAgZGVsbGVuID0gUHlCeXRlc19HRVRfU0laRShkZWxvYmopOworICAgIGlmIChkZWxldGVjaGFycyAhPSBOVUxMKSB7CisgICAgICAgIGlmIChQeUJ5dGVzX0NoZWNrKGRlbGV0ZWNoYXJzKSkgeworICAgICAgICAgICAgZGVsX3RhYmxlX2NoYXJzID0gUHlCeXRlc19BU19TVFJJTkcoZGVsZXRlY2hhcnMpOworICAgICAgICAgICAgZGVsbGVuID0gUHlCeXRlc19HRVRfU0laRShkZWxldGVjaGFycyk7CiAgICAgICAgIH0KICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICBpZiAoUHlPYmplY3RfR2V0QnVmZmVyKGRlbG9iaiwgJmRlbF90YWJsZV92aWV3LCBQeUJVRl9TSU1QTEUpICE9IDApIHsKKyAgICAgICAgICAgIGlmIChQeU9iamVjdF9HZXRCdWZmZXIoZGVsZXRlY2hhcnMsICZkZWxfdGFibGVfdmlldywgUHlCVUZfU0lNUExFKSAhPSAwKSB7CiAgICAgICAgICAgICAgICAgUHlCdWZmZXJfUmVsZWFzZSgmdGFibGVfdmlldyk7CiAgICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBkZWxfdGFibGUgPSBkZWxfdGFibGVfdmlldy5idWY7CisgICAgICAgICAgICBkZWxfdGFibGVfY2hhcnMgPSBkZWxfdGFibGVfdmlldy5idWY7CiAgICAgICAgICAgICBkZWxsZW4gPSBkZWxfdGFibGVfdmlldy5sZW47CiAgICAgICAgIH0KICAgICB9CiAgICAgZWxzZSB7Ci0gICAgICAgIGRlbF90YWJsZSA9IE5VTEw7CisgICAgICAgIGRlbF90YWJsZV9jaGFycyA9IE5VTEw7CiAgICAgICAgIGRlbGxlbiA9IDA7CiAgICAgfQogCkBAIC0xNTMzLDExICsyNDIwLDExIEBACiAgICAgb3V0cHV0X3N0YXJ0ID0gb3V0cHV0ID0gUHlCeXRlc19Bc1N0cmluZyhyZXN1bHQpOwogICAgIGlucHV0ID0gUHlCeXRlc19BU19TVFJJTkcoaW5wdXRfb2JqKTsKIAotICAgIGlmIChkZWxsZW4gPT0gMCAmJiB0YWJsZSAhPSBOVUxMKSB7CisgICAgaWYgKGRlbGxlbiA9PSAwICYmIHRhYmxlX2NoYXJzICE9IE5VTEwpIHsKICAgICAgICAgLyogSWYgbm8gZGVsZXRpb25zIGFyZSByZXF1aXJlZCwgdXNlIGZhc3RlciBjb2RlICovCiAgICAgICAgIGZvciAoaSA9IGlubGVuOyAtLWkgPj0gMDsgKSB7CiAgICAgICAgICAgICBjID0gUHlfQ0hBUk1BU0soKmlucHV0KyspOwotICAgICAgICAgICAgaWYgKFB5X0NIQVJNQVNLKCgqb3V0cHV0KysgPSB0YWJsZVtjXSkpICE9IGMpCisgICAgICAgICAgICBpZiAoUHlfQ0hBUk1BU0soKCpvdXRwdXQrKyA9IHRhYmxlX2NoYXJzW2NdKSkgIT0gYykKICAgICAgICAgICAgICAgICBjaGFuZ2VkID0gMTsKICAgICAgICAgfQogICAgICAgICBpZiAoIWNoYW5nZWQgJiYgUHlCeXRlc19DaGVja0V4YWN0KGlucHV0X29iaikpIHsKQEAgLTE1NTAsMTcgKzI0MzcsMTcgQEAKICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICB9CiAKLSAgICBpZiAodGFibGUgPT0gTlVMTCkgeworICAgIGlmICh0YWJsZV9jaGFycyA9PSBOVUxMKSB7CiAgICAgICAgIGZvciAoaSA9IDA7IGkgPCAyNTY7IGkrKykKICAgICAgICAgICAgIHRyYW5zX3RhYmxlW2ldID0gUHlfQ0hBUk1BU0soaSk7CiAgICAgfSBlbHNlIHsKICAgICAgICAgZm9yIChpID0gMDsgaSA8IDI1NjsgaSsrKQotICAgICAgICAgICAgdHJhbnNfdGFibGVbaV0gPSBQeV9DSEFSTUFTSyh0YWJsZVtpXSk7CisgICAgICAgICAgICB0cmFuc190YWJsZVtpXSA9IFB5X0NIQVJNQVNLKHRhYmxlX2NoYXJzW2ldKTsKICAgICB9CiAgICAgUHlCdWZmZXJfUmVsZWFzZSgmdGFibGVfdmlldyk7CiAKICAgICBmb3IgKGkgPSAwOyBpIDwgZGVsbGVuOyBpKyspCi0gICAgICAgIHRyYW5zX3RhYmxlWyhpbnQpIFB5X0NIQVJNQVNLKGRlbF90YWJsZVtpXSldID0gLTE7CisgICAgICAgIHRyYW5zX3RhYmxlWyhpbnQpIFB5X0NIQVJNQVNLKGRlbF90YWJsZV9jaGFyc1tpXSldID0gLTE7CiAgICAgUHlCdWZmZXJfUmVsZWFzZSgmZGVsX3RhYmxlX3ZpZXcpOwogCiAgICAgZm9yIChpID0gaW5sZW47IC0taSA+PSAwOyApIHsKQEAgLTE1ODIsMTAgKzI0NjksNjkgQEAKIH0KIAogCisvKltjbGluaWMgaW5wdXRdCisKK0BzdGF0aWNtZXRob2QKK2J5dGVzLm1ha2V0cmFucworCisgICAgZnJtOiBQeV9idWZmZXIKKyAgICB0bzogUHlfYnVmZmVyCisgICAgLworCitSZXR1cm4gYSB0cmFuc2xhdGlvbiB0YWJsZSB1c2VhYmxlIGZvciB0aGUgYnl0ZXMgb3IgYnl0ZWFycmF5IHRyYW5zbGF0ZSBtZXRob2QuCisKK1RoZSByZXR1cm5lZCB0YWJsZSB3aWxsIGJlIG9uZSB3aGVyZSBlYWNoIGJ5dGUgaW4gZnJtIGlzIG1hcHBlZCB0byB0aGUgYnl0ZSBhdAordGhlIHNhbWUgcG9zaXRpb24gaW4gdG8uCisKK1RoZSBieXRlcyBvYmplY3RzIGZybSBhbmQgdG8gbXVzdCBiZSBvZiB0aGUgc2FtZSBsZW5ndGguCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihieXRlc19tYWtldHJhbnNfX2RvY19fLAorIm1ha2V0cmFucyhmcm0sIHRvLCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIGEgdHJhbnNsYXRpb24gdGFibGUgdXNlYWJsZSBmb3IgdGhlIGJ5dGVzIG9yIGJ5dGVhcnJheSB0cmFuc2xhdGUgbWV0aG9kLlxuIgorIlxuIgorIlRoZSByZXR1cm5lZCB0YWJsZSB3aWxsIGJlIG9uZSB3aGVyZSBlYWNoIGJ5dGUgaW4gZnJtIGlzIG1hcHBlZCB0byB0aGUgYnl0ZSBhdFxuIgorInRoZSBzYW1lIHBvc2l0aW9uIGluIHRvLlxuIgorIlxuIgorIlRoZSBieXRlcyBvYmplY3RzIGZybSBhbmQgdG8gbXVzdCBiZSBvZiB0aGUgc2FtZSBsZW5ndGguIik7CisKKyNkZWZpbmUgQllURVNfTUFLRVRSQU5TX01FVEhPRERFRiAgICBcCisgICAgeyJtYWtldHJhbnMiLCAoUHlDRnVuY3Rpb24pYnl0ZXNfbWFrZXRyYW5zLCBNRVRIX1ZBUkFSR1N8TUVUSF9TVEFUSUMsIGJ5dGVzX21ha2V0cmFuc19fZG9jX199LAorCiBzdGF0aWMgUHlPYmplY3QgKgotYnl0ZXNfbWFrZXRyYW5zKFB5T2JqZWN0ICpudWxsLCBQeU9iamVjdCAqYXJncykKK2J5dGVzX21ha2V0cmFuc19pbXBsKFB5X2J1ZmZlciAqZnJtLCBQeV9idWZmZXIgKnRvKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK2J5dGVzX21ha2V0cmFucyh2b2lkICpudWxsLCBQeU9iamVjdCAqYXJncykKIHsKLSAgICByZXR1cm4gX1B5X2J5dGVzX21ha2V0cmFucyhhcmdzKTsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBQeV9idWZmZXIgZnJtID0ge05VTEwsIE5VTEx9OworICAgIFB5X2J1ZmZlciB0byA9IHtOVUxMLCBOVUxMfTsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAieSp5KjptYWtldHJhbnMiLAorICAgICAgICAmZnJtLCAmdG8pKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gYnl0ZXNfbWFrZXRyYW5zX2ltcGwoJmZybSwgJnRvKTsKKworZXhpdDoKKyAgICAvKiBDbGVhbnVwIGZvciBmcm0gKi8KKyAgICBpZiAoZnJtLm9iaikKKyAgICAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZmcm0pOworICAgIC8qIENsZWFudXAgZm9yIHRvICovCisgICAgaWYgKHRvLm9iaikKKyAgICAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZ0byk7CisKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorYnl0ZXNfbWFrZXRyYW5zX2ltcGwoUHlfYnVmZmVyICpmcm0sIFB5X2J1ZmZlciAqdG8pCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9N2RmNDczOTBjNDc2YWM2MCBpbnB1dD1kZTdhOGZjNTYzMmJiOGYxXSovCit7CisgICAgcmV0dXJuIF9QeV9ieXRlc19tYWtldHJhbnMoZnJtLCB0byk7CiB9CiAKIC8qIGZpbmQgYW5kIGNvdW50IGNoYXJhY3RlcnMgYW5kIHN1YnN0cmluZ3MgKi8KQEAgLTIwODAsMzEgKzMwMjYsNzQgQEAKICAgICB9CiB9CiAKLVB5RG9jX1NUUlZBUihyZXBsYWNlX19kb2NfXywKLSJCLnJlcGxhY2Uob2xkLCBuZXdbLCBjb3VudF0pIC0+IGJ5dGVzXG5cCi1cblwKLVJldHVybiBhIGNvcHkgb2YgQiB3aXRoIGFsbCBvY2N1cnJlbmNlcyBvZiBzdWJzZWN0aW9uXG5cCi1vbGQgcmVwbGFjZWQgYnkgbmV3LiAgSWYgdGhlIG9wdGlvbmFsIGFyZ3VtZW50IGNvdW50IGlzXG5cCi1naXZlbiwgb25seSBmaXJzdCBjb3VudCBvY2N1cmFuY2VzIGFyZSByZXBsYWNlZC4iKTsKKworLypbY2xpbmljIGlucHV0XQorYnl0ZXMucmVwbGFjZQorCisgICAgb2xkOiBQeV9idWZmZXIKKyAgICBuZXc6IFB5X2J1ZmZlcgorICAgIGNvdW50OiBQeV9zc2l6ZV90ID0gLTEKKyAgICAgICAgTWF4aW11bSBudW1iZXIgb2Ygb2NjdXJyZW5jZXMgdG8gcmVwbGFjZS4KKyAgICAgICAgLTEgKHRoZSBkZWZhdWx0IHZhbHVlKSBtZWFucyByZXBsYWNlIGFsbCBvY2N1cnJlbmNlcy4KKyAgICAvCisKK1JldHVybiBhIGNvcHkgd2l0aCBhbGwgb2NjdXJyZW5jZXMgb2Ygc3Vic3RyaW5nIG9sZCByZXBsYWNlZCBieSBuZXcuCisKK0lmIHRoZSBvcHRpb25hbCBhcmd1bWVudCBjb3VudCBpcyBnaXZlbiwgb25seSB0aGUgZmlyc3QgY291bnQgb2NjdXJyZW5jZXMgYXJlCityZXBsYWNlZC4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKGJ5dGVzX3JlcGxhY2VfX2RvY19fLAorInJlcGxhY2UoJHNlbGYsIG9sZCwgbmV3LCBjb3VudD0tMSwgLylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiBhIGNvcHkgd2l0aCBhbGwgb2NjdXJyZW5jZXMgb2Ygc3Vic3RyaW5nIG9sZCByZXBsYWNlZCBieSBuZXcuXG4iCisiXG4iCisiICBjb3VudFxuIgorIiAgICBNYXhpbXVtIG51bWJlciBvZiBvY2N1cnJlbmNlcyB0byByZXBsYWNlLlxuIgorIiAgICAtMSAodGhlIGRlZmF1bHQgdmFsdWUpIG1lYW5zIHJlcGxhY2UgYWxsIG9jY3VycmVuY2VzLlxuIgorIlxuIgorIklmIHRoZSBvcHRpb25hbCBhcmd1bWVudCBjb3VudCBpcyBnaXZlbiwgb25seSB0aGUgZmlyc3QgY291bnQgb2NjdXJyZW5jZXMgYXJlXG4iCisicmVwbGFjZWQuIik7CisKKyNkZWZpbmUgQllURVNfUkVQTEFDRV9NRVRIT0RERUYgICAgXAorICAgIHsicmVwbGFjZSIsIChQeUNGdW5jdGlvbilieXRlc19yZXBsYWNlLCBNRVRIX1ZBUkFSR1MsIGJ5dGVzX3JlcGxhY2VfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLWJ5dGVzX3JlcGxhY2UoUHlCeXRlc09iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitieXRlc19yZXBsYWNlX2ltcGwoUHlCeXRlc09iamVjdCpzZWxmLCBQeV9idWZmZXIgKm9sZCwgUHlfYnVmZmVyICpuZXcsIFB5X3NzaXplX3QgY291bnQpOworCitzdGF0aWMgUHlPYmplY3QgKgorYnl0ZXNfcmVwbGFjZShQeUJ5dGVzT2JqZWN0KnNlbGYsIFB5T2JqZWN0ICphcmdzKQogewotICAgIFB5T2JqZWN0ICpyZXM7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CiAgICAgUHlfYnVmZmVyIG9sZCA9IHtOVUxMLCBOVUxMfTsKICAgICBQeV9idWZmZXIgbmV3ID0ge05VTEwsIE5VTEx9OwogICAgIFB5X3NzaXplX3QgY291bnQgPSAtMTsKIAotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAieSp5KnxuOnJlcGxhY2UiLCAmb2xkLCAmbmV3LCAmY291bnQpKQotICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgInkqeSp8bjpyZXBsYWNlIiwKKyAgICAgICAgJm9sZCwgJm5ldywgJmNvdW50KSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IGJ5dGVzX3JlcGxhY2VfaW1wbChzZWxmLCAmb2xkLCAmbmV3LCBjb3VudCk7CiAKLSAgICByZXMgPSAoUHlPYmplY3QgKilyZXBsYWNlKChQeUJ5dGVzT2JqZWN0ICopIHNlbGYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY29uc3QgY2hhciAqKW9sZC5idWYsIG9sZC5sZW4sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY29uc3QgY2hhciAqKW5ldy5idWYsIG5ldy5sZW4sIGNvdW50KTsKK2V4aXQ6CisgICAgLyogQ2xlYW51cCBmb3Igb2xkICovCisgICAgaWYgKG9sZC5vYmopCisgICAgICAgUHlCdWZmZXJfUmVsZWFzZSgmb2xkKTsKKyAgICAvKiBDbGVhbnVwIGZvciBuZXcgKi8KKyAgICBpZiAobmV3Lm9iaikKKyAgICAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZuZXcpOwogCi0gICAgUHlCdWZmZXJfUmVsZWFzZSgmb2xkKTsKLSAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZuZXcpOwotICAgIHJldHVybiByZXM7CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK2J5dGVzX3JlcGxhY2VfaW1wbChQeUJ5dGVzT2JqZWN0KnNlbGYsIFB5X2J1ZmZlciAqb2xkLCBQeV9idWZmZXIgKm5ldywgUHlfc3NpemVfdCBjb3VudCkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1mMDdiZDllY2YyOWVlOGQ4IGlucHV0PWIyZmJiZjBiZjA0ZGU4ZTVdKi8KK3sKKyAgICByZXR1cm4gKFB5T2JqZWN0ICopcmVwbGFjZSgoUHlCeXRlc09iamVjdCAqKSBzZWxmLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjb25zdCBjaGFyICopb2xkLT5idWYsIG9sZC0+bGVuLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjb25zdCBjaGFyICopbmV3LT5idWYsIG5ldy0+bGVuLCBjb3VudCk7CiB9CiAKIC8qKiBFbmQgREFMS0UgKiovCkBAIC0yMjUxLDYwICszMjQwLDEyMSBAQAogfQogCiAKLVB5RG9jX1NUUlZBUihkZWNvZGVfX2RvY19fLAotIkIuZGVjb2RlKGVuY29kaW5nPSd1dGYtOCcsIGVycm9ycz0nc3RyaWN0JykgLT4gc3RyXG5cCi1cblwKLURlY29kZSBCIHVzaW5nIHRoZSBjb2RlYyByZWdpc3RlcmVkIGZvciBlbmNvZGluZy4gRGVmYXVsdCBlbmNvZGluZ1xuXAotaXMgJ3V0Zi04Jy4gZXJyb3JzIG1heSBiZSBnaXZlbiB0byBzZXQgYSBkaWZmZXJlbnQgZXJyb3JcblwKLWhhbmRsaW5nIHNjaGVtZS4gIERlZmF1bHQgaXMgJ3N0cmljdCcgbWVhbmluZyB0aGF0IGVuY29kaW5nIGVycm9ycyByYWlzZVxuXAotYSBVbmljb2RlRGVjb2RlRXJyb3IuICBPdGhlciBwb3NzaWJsZSB2YWx1ZXMgYXJlICdpZ25vcmUnIGFuZCAncmVwbGFjZSdcblwKLWFzIHdlbGwgYXMgYW55IG90aGVyIG5hbWUgcmVnaXN0ZXJkIHdpdGggY29kZWNzLnJlZ2lzdGVyX2Vycm9yIHRoYXQgaXNcblwKLWFibGUgdG8gaGFuZGxlIFVuaWNvZGVEZWNvZGVFcnJvcnMuIik7CisvKltjbGluaWMgaW5wdXRdCitieXRlcy5kZWNvZGUKKworICAgIGVuY29kaW5nOiBzdHIoY19kZWZhdWx0PSJOVUxMIikgPSAndXRmLTgnCisgICAgICAgIFRoZSBlbmNvZGluZyB3aXRoIHdoaWNoIHRvIGRlY29kZSB0aGUgYnl0ZXMuCisgICAgZXJyb3JzOiBzdHIoY19kZWZhdWx0PSJOVUxMIikgPSAnc3RyaWN0JworICAgICAgICBUaGUgZXJyb3IgaGFuZGxpbmcgc2NoZW1lIHRvIHVzZSBmb3IgdGhlIGhhbmRsaW5nIG9mIGRlY29kaW5nIGVycm9ycy4KKyAgICAgICAgVGhlIGRlZmF1bHQgaXMgJ3N0cmljdCcgbWVhbmluZyB0aGF0IGRlY29kaW5nIGVycm9ycyByYWlzZSBhCisgICAgICAgIFVuaWNvZGVEZWNvZGVFcnJvci4gT3RoZXIgcG9zc2libGUgdmFsdWVzIGFyZSAnaWdub3JlJyBhbmQgJ3JlcGxhY2UnCisgICAgICAgIGFzIHdlbGwgYXMgYW55IG90aGVyIG5hbWUgcmVnaXN0ZXJlZCB3aXRoIGNvZGVjcy5yZWdpc3Rlcl9lcnJvciB0aGF0CisgICAgICAgIGNhbiBoYW5kbGUgVW5pY29kZURlY29kZUVycm9ycy4KKworRGVjb2RlIHRoZSBieXRlcyB1c2luZyB0aGUgY29kZWMgcmVnaXN0ZXJlZCBmb3IgZW5jb2RpbmcuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihieXRlc19kZWNvZGVfX2RvY19fLAorImRlY29kZSgkc2VsZiwgLywgZW5jb2Rpbmc9XCd1dGYtOFwnLCBlcnJvcnM9XCdzdHJpY3RcJylcbiIKKyItLVxuIgorIlxuIgorIkRlY29kZSB0aGUgYnl0ZXMgdXNpbmcgdGhlIGNvZGVjIHJlZ2lzdGVyZWQgZm9yIGVuY29kaW5nLlxuIgorIlxuIgorIiAgZW5jb2RpbmdcbiIKKyIgICAgVGhlIGVuY29kaW5nIHdpdGggd2hpY2ggdG8gZGVjb2RlIHRoZSBieXRlcy5cbiIKKyIgIGVycm9yc1xuIgorIiAgICBUaGUgZXJyb3IgaGFuZGxpbmcgc2NoZW1lIHRvIHVzZSBmb3IgdGhlIGhhbmRsaW5nIG9mIGRlY29kaW5nIGVycm9ycy5cbiIKKyIgICAgVGhlIGRlZmF1bHQgaXMgXCdzdHJpY3RcJyBtZWFuaW5nIHRoYXQgZGVjb2RpbmcgZXJyb3JzIHJhaXNlIGFcbiIKKyIgICAgVW5pY29kZURlY29kZUVycm9yLiBPdGhlciBwb3NzaWJsZSB2YWx1ZXMgYXJlIFwnaWdub3JlXCcgYW5kIFwncmVwbGFjZVwnXG4iCisiICAgIGFzIHdlbGwgYXMgYW55IG90aGVyIG5hbWUgcmVnaXN0ZXJlZCB3aXRoIGNvZGVjcy5yZWdpc3Rlcl9lcnJvciB0aGF0XG4iCisiICAgIGNhbiBoYW5kbGUgVW5pY29kZURlY29kZUVycm9ycy4iKTsKKworI2RlZmluZSBCWVRFU19ERUNPREVfTUVUSE9EREVGICAgIFwKKyAgICB7ImRlY29kZSIsIChQeUNGdW5jdGlvbilieXRlc19kZWNvZGUsIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBieXRlc19kZWNvZGVfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLWJ5dGVzX2RlY29kZShQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCitieXRlc19kZWNvZGVfaW1wbChQeUJ5dGVzT2JqZWN0KnNlbGYsIGNvbnN0IGNoYXIgKmVuY29kaW5nLCBjb25zdCBjaGFyICplcnJvcnMpOworCitzdGF0aWMgUHlPYmplY3QgKgorYnl0ZXNfZGVjb2RlKFB5Qnl0ZXNPYmplY3Qqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCiB7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgc3RhdGljIGNoYXIgKl9rZXl3b3Jkc1tdID0geyJlbmNvZGluZyIsICJlcnJvcnMiLCBOVUxMfTsKICAgICBjb25zdCBjaGFyICplbmNvZGluZyA9IE5VTEw7CiAgICAgY29uc3QgY2hhciAqZXJyb3JzID0gTlVMTDsKLSAgICBzdGF0aWMgY2hhciAqa3dsaXN0W10gPSB7ImVuY29kaW5nIiwgImVycm9ycyIsIDB9OwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLCAifHNzOmRlY29kZSIsIGt3bGlzdCwgJmVuY29kaW5nLCAmZXJyb3JzKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgcmV0dXJuIFB5VW5pY29kZV9Gcm9tRW5jb2RlZE9iamVjdChzZWxmLCBlbmNvZGluZywgZXJyb3JzKTsKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsCisgICAgICAgICJ8c3M6ZGVjb2RlIiwgX2tleXdvcmRzLAorICAgICAgICAmZW5jb2RpbmcsICZlcnJvcnMpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gYnl0ZXNfZGVjb2RlX2ltcGwoc2VsZiwgZW5jb2RpbmcsIGVycm9ycyk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK2J5dGVzX2RlY29kZV9pbXBsKFB5Qnl0ZXNPYmplY3Qqc2VsZiwgY29uc3QgY2hhciAqZW5jb2RpbmcsIGNvbnN0IGNoYXIgKmVycm9ycykKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD02MWE4MDI5MGJiZmNlNjk2IGlucHV0PTk1ODE3NDc2OWQyYTQwY2FdKi8KK3sKKyAgICByZXR1cm4gUHlVbmljb2RlX0Zyb21FbmNvZGVkT2JqZWN0KChQeU9iamVjdCopc2VsZiwgZW5jb2RpbmcsIGVycm9ycyk7CiB9CiAKIAotUHlEb2NfU1RSVkFSKHNwbGl0bGluZXNfX2RvY19fLAotIkIuc3BsaXRsaW5lcyhba2VlcGVuZHNdKSAtPiBsaXN0IG9mIGxpbmVzXG5cCi1cblwKLVJldHVybiBhIGxpc3Qgb2YgdGhlIGxpbmVzIGluIEIsIGJyZWFraW5nIGF0IGxpbmUgYm91bmRhcmllcy5cblwKLUxpbmUgYnJlYWtzIGFyZSBub3QgaW5jbHVkZWQgaW4gdGhlIHJlc3VsdGluZyBsaXN0IHVubGVzcyBrZWVwZW5kc1xuXAotaXMgZ2l2ZW4gYW5kIHRydWUuIik7CisvKltjbGluaWMgaW5wdXRdCitieXRlcy5zcGxpdGxpbmVzCiAKLXN0YXRpYyBQeU9iamVjdCoKLWJ5dGVzX3NwbGl0bGluZXMoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dkcykKKyAgICBrZWVwZW5kczogaW50KHB5X2RlZmF1bHQ9IkZhbHNlIikgPSAwCisKK1JldHVybiBhIGxpc3Qgb2YgdGhlIGxpbmVzIGluIHRoZSBieXRlcywgYnJlYWtpbmcgYXQgbGluZSBib3VuZGFyaWVzLgorCitMaW5lIGJyZWFrcyBhcmUgbm90IGluY2x1ZGVkIGluIHRoZSByZXN1bHRpbmcgbGlzdCB1bmxlc3Mga2VlcGVuZHMgaXMgZ2l2ZW4gYW5kCit0cnVlLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIoYnl0ZXNfc3BsaXRsaW5lc19fZG9jX18sCisic3BsaXRsaW5lcygkc2VsZiwgLywga2VlcGVuZHM9RmFsc2UpXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gYSBsaXN0IG9mIHRoZSBsaW5lcyBpbiB0aGUgYnl0ZXMsIGJyZWFraW5nIGF0IGxpbmUgYm91bmRhcmllcy5cbiIKKyJcbiIKKyJMaW5lIGJyZWFrcyBhcmUgbm90IGluY2x1ZGVkIGluIHRoZSByZXN1bHRpbmcgbGlzdCB1bmxlc3Mga2VlcGVuZHMgaXMgZ2l2ZW4gYW5kXG4iCisidHJ1ZS4iKTsKKworI2RlZmluZSBCWVRFU19TUExJVExJTkVTX01FVEhPRERFRiAgICBcCisgICAgeyJzcGxpdGxpbmVzIiwgKFB5Q0Z1bmN0aW9uKWJ5dGVzX3NwbGl0bGluZXMsIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBieXRlc19zcGxpdGxpbmVzX19kb2NfX30sCisKK3N0YXRpYyBQeU9iamVjdCAqCitieXRlc19zcGxpdGxpbmVzX2ltcGwoUHlCeXRlc09iamVjdCpzZWxmLCBpbnQga2VlcGVuZHMpOworCitzdGF0aWMgUHlPYmplY3QgKgorYnl0ZXNfc3BsaXRsaW5lcyhQeUJ5dGVzT2JqZWN0KnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQogewotICAgIHN0YXRpYyBjaGFyICprd2xpc3RbXSA9IHsia2VlcGVuZHMiLCAwfTsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBzdGF0aWMgY2hhciAqX2tleXdvcmRzW10gPSB7ImtlZXBlbmRzIiwgTlVMTH07CiAgICAgaW50IGtlZXBlbmRzID0gMDsKIAotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3ZHMsICJ8aTpzcGxpdGxpbmVzIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrd2xpc3QsICZrZWVwZW5kcykpCi0gICAgICAgIHJldHVybiBOVUxMOworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywKKyAgICAgICAgInxpOnNwbGl0bGluZXMiLCBfa2V5d29yZHMsCisgICAgICAgICZrZWVwZW5kcykpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBieXRlc19zcGxpdGxpbmVzX2ltcGwoc2VsZiwga2VlcGVuZHMpOwogCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitieXRlc19zcGxpdGxpbmVzX2ltcGwoUHlCeXRlc09iamVjdCpzZWxmLCBpbnQga2VlcGVuZHMpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9NzlkYTA1N2QwNWQxMjZkZSBpbnB1dD1kZGI5M2UzMzUxMDgwYzhjXSovCit7CiAgICAgcmV0dXJuIHN0cmluZ2xpYl9zcGxpdGxpbmVzKAogICAgICAgICAoUHlPYmplY3QqKSBzZWxmLCBQeUJ5dGVzX0FTX1NUUklORyhzZWxmKSwKICAgICAgICAgUHlCeXRlc19HRVRfU0laRShzZWxmKSwga2VlcGVuZHMKICAgICAgICAgKTsKIH0KIAotCi1QeURvY19TVFJWQVIoZnJvbWhleF9kb2MsCi0iYnl0ZXMuZnJvbWhleChzdHJpbmcpIC0+IGJ5dGVzXG5cCi1cblwKLUNyZWF0ZSBhIGJ5dGVzIG9iamVjdCBmcm9tIGEgc3RyaW5nIG9mIGhleGFkZWNpbWFsIG51bWJlcnMuXG5cCi1TcGFjZXMgYmV0d2VlbiB0d28gbnVtYmVycyBhcmUgYWNjZXB0ZWQuXG5cCi1FeGFtcGxlOiBieXRlcy5mcm9taGV4KCdCOSAwMUVGJykgLT4gYidcXHhiOVxceDAxXFx4ZWYnLiIpOwotCiBzdGF0aWMgaW50CiBoZXhfZGlnaXRfdG9faW50KFB5X1VDUzQgYykKIHsKQEAgLTIzMjEsMjQgKzMzNzEsNjcgQEAKICAgICByZXR1cm4gLTE7CiB9CiAKKy8qW2NsaW5pYyBpbnB1dF0KK0BjbGFzc21ldGhvZAorYnl0ZXMuZnJvbWhleAorCisgICAgc3RyaW5nOiB1bmljb2RlCisgICAgLworCitDcmVhdGUgYSBieXRlcyBvYmplY3QgZnJvbSBhIHN0cmluZyBvZiBoZXhhZGVjaW1hbCBudW1iZXJzLgorCitTcGFjZXMgYmV0d2VlbiB0d28gbnVtYmVycyBhcmUgYWNjZXB0ZWQuCitFeGFtcGxlOiBieXRlcy5mcm9taGV4KCdCOSAwMUVGJykgLT4gYidcXHhiOVxceDAxXFx4ZWYnLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIoYnl0ZXNfZnJvbWhleF9fZG9jX18sCisiZnJvbWhleCgkdHlwZSwgc3RyaW5nLCAvKVxuIgorIi0tXG4iCisiXG4iCisiQ3JlYXRlIGEgYnl0ZXMgb2JqZWN0IGZyb20gYSBzdHJpbmcgb2YgaGV4YWRlY2ltYWwgbnVtYmVycy5cbiIKKyJcbiIKKyJTcGFjZXMgYmV0d2VlbiB0d28gbnVtYmVycyBhcmUgYWNjZXB0ZWQuXG4iCisiRXhhbXBsZTogYnl0ZXMuZnJvbWhleChcJ0I5IDAxRUZcJykgLT4gYlwnXFxcXHhiOVxcXFx4MDFcXFxceGVmXCcuIik7CisKKyNkZWZpbmUgQllURVNfRlJPTUhFWF9NRVRIT0RERUYgICAgXAorICAgIHsiZnJvbWhleCIsIChQeUNGdW5jdGlvbilieXRlc19mcm9taGV4LCBNRVRIX1ZBUkFSR1N8TUVUSF9DTEFTUywgYnl0ZXNfZnJvbWhleF9fZG9jX199LAorCiBzdGF0aWMgUHlPYmplY3QgKgotYnl0ZXNfZnJvbWhleChQeU9iamVjdCAqY2xzLCBQeU9iamVjdCAqYXJncykKK2J5dGVzX2Zyb21oZXhfaW1wbChQeVR5cGVPYmplY3QgKnR5cGUsIFB5T2JqZWN0ICpzdHJpbmcpOworCitzdGF0aWMgUHlPYmplY3QgKgorYnl0ZXNfZnJvbWhleChQeVR5cGVPYmplY3QgKnR5cGUsIFB5T2JqZWN0ICphcmdzKQogewotICAgIFB5T2JqZWN0ICpuZXdzdHJpbmcsICpoZXhvYmo7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgUHlPYmplY3QgKnN0cmluZzsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAiVTpmcm9taGV4IiwKKyAgICAgICAgJnN0cmluZykpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBieXRlc19mcm9taGV4X2ltcGwodHlwZSwgc3RyaW5nKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorYnl0ZXNfZnJvbWhleF9pbXBsKFB5VHlwZU9iamVjdCAqdHlwZSwgUHlPYmplY3QgKnN0cmluZykKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD0wOWU2Y2JlZjU2Y2JiYjY1IGlucHV0PWJmNGQxYzM2MTY3MGFjZDNdKi8KK3sKKyAgICBQeU9iamVjdCAqbmV3c3RyaW5nOwogICAgIGNoYXIgKmJ1ZjsKICAgICBQeV9zc2l6ZV90IGhleGxlbiwgYnl0ZXNsZW4sIGksIGo7CiAgICAgaW50IHRvcCwgYm90OwogICAgIHZvaWQgKmRhdGE7CiAgICAgdW5zaWduZWQgaW50IGtpbmQ7CiAKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIlU6ZnJvbWhleCIsICZoZXhvYmopKQorICAgIGFzc2VydChQeVVuaWNvZGVfQ2hlY2soc3RyaW5nKSk7CisgICAgaWYgKFB5VW5pY29kZV9SRUFEWShzdHJpbmcpKQogICAgICAgICByZXR1cm4gTlVMTDsKLSAgICBhc3NlcnQoUHlVbmljb2RlX0NoZWNrKGhleG9iaikpOwotICAgIGlmIChQeVVuaWNvZGVfUkVBRFkoaGV4b2JqKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAga2luZCA9IFB5VW5pY29kZV9LSU5EKGhleG9iaik7Ci0gICAgZGF0YSA9IFB5VW5pY29kZV9EQVRBKGhleG9iaik7Ci0gICAgaGV4bGVuID0gUHlVbmljb2RlX0dFVF9MRU5HVEgoaGV4b2JqKTsKKyAgICBraW5kID0gUHlVbmljb2RlX0tJTkQoc3RyaW5nKTsKKyAgICBkYXRhID0gUHlVbmljb2RlX0RBVEEoc3RyaW5nKTsKKyAgICBoZXhsZW4gPSBQeVVuaWNvZGVfR0VUX0xFTkdUSChzdHJpbmcpOwogCiAgICAgYnl0ZXNsZW4gPSBoZXhsZW4vMjsgLyogVGhpcyBvdmVyZXN0aW1hdGVzIGlmIHRoZXJlIGFyZSBzcGFjZXMgKi8KICAgICBuZXdzdHJpbmcgPSBQeUJ5dGVzX0Zyb21TdHJpbmdBbmRTaXplKE5VTEwsIGJ5dGVzbGVuKTsKQEAgLTIzNzAsMTQgKzM0NjMsMzggQEAKICAgICByZXR1cm4gTlVMTDsKIH0KIAotUHlEb2NfU1RSVkFSKHNpemVvZl9fZG9jX18sCi0iQi5fX3NpemVvZl9fKCkgLT4gc2l6ZSBvZiBCIGluIG1lbW9yeSwgaW4gYnl0ZXMiKTsKKy8qW2NsaW5pYyBpbnB1dF0KK2J5dGVzLl9fc2l6ZW9mX18gYXMgYnl0ZXNfc2l6ZW9mCisKKyAgICBzZWxmOiBzZWxmKHR5cGU9IlB5Qnl0ZXNPYmplY3QgKiIpCisKK1JldHVybnMgdGhlIHNpemUgb2YgdGhlIGJ5dGVzIG9iamVjdCBpbiBtZW1vcnksIGluIGJ5dGVzLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIoYnl0ZXNfc2l6ZW9mX19kb2NfXywKKyJfX3NpemVvZl9fKCRzZWxmLCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJucyB0aGUgc2l6ZSBvZiB0aGUgYnl0ZXMgb2JqZWN0IGluIG1lbW9yeSwgaW4gYnl0ZXMuIik7CisKKyNkZWZpbmUgQllURVNfU0laRU9GX01FVEhPRERFRiAgICBcCisgICAgeyJfX3NpemVvZl9fIiwgKFB5Q0Z1bmN0aW9uKWJ5dGVzX3NpemVvZiwgTUVUSF9OT0FSR1MsIGJ5dGVzX3NpemVvZl9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotYnl0ZXNfc2l6ZW9mKFB5Qnl0ZXNPYmplY3QgKnYpCitieXRlc19zaXplb2ZfaW1wbChQeUJ5dGVzT2JqZWN0ICpzZWxmKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK2J5dGVzX3NpemVvZihQeUJ5dGVzT2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqUHlfVU5VU0VEKGlnbm9yZWQpKQoreworICAgIHJldHVybiBieXRlc19zaXplb2ZfaW1wbChzZWxmKTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK2J5dGVzX3NpemVvZl9pbXBsKFB5Qnl0ZXNPYmplY3QgKnNlbGYpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9NDQ5MzMyNzkzNDNmMjRhZSBpbnB1dD1iZWU0YzY0YmI0MjA3OGVkXSovCiB7CiAgICAgUHlfc3NpemVfdCByZXM7Ci0gICAgcmVzID0gUHlCeXRlc09iamVjdF9TSVpFICsgUHlfU0laRSh2KSAqIFB5X1RZUEUodiktPnRwX2l0ZW1zaXplOworICAgIHJlcyA9IFB5Qnl0ZXNPYmplY3RfU0laRSArIFB5X1NJWkUoc2VsZikgKiBQeV9UWVBFKHNlbGYpLT50cF9pdGVtc2l6ZTsKICAgICByZXR1cm4gUHlMb25nX0Zyb21Tc2l6ZV90KHJlcyk7CiB9CiAKQEAgLTIzOTYsMTQgKzM1MTMsMTMgQEAKICAgICAgX1B5X2NhcGl0YWxpemVfX2RvY19ffSwKICAgICB7ImNlbnRlciIsIChQeUNGdW5jdGlvbilzdHJpbmdsaWJfY2VudGVyLCBNRVRIX1ZBUkFSR1MsIGNlbnRlcl9fZG9jX199LAogICAgIHsiY291bnQiLCAoUHlDRnVuY3Rpb24pYnl0ZXNfY291bnQsIE1FVEhfVkFSQVJHUywgY291bnRfX2RvY19ffSwKLSAgICB7ImRlY29kZSIsIChQeUNGdW5jdGlvbilieXRlc19kZWNvZGUsIE1FVEhfVkFSQVJHUyB8IE1FVEhfS0VZV09SRFMsIGRlY29kZV9fZG9jX199LAorICAgIEJZVEVTX0RFQ09ERV9NRVRIT0RERUYKICAgICB7ImVuZHN3aXRoIiwgKFB5Q0Z1bmN0aW9uKWJ5dGVzX2VuZHN3aXRoLCBNRVRIX1ZBUkFSR1MsCiAgICAgIGVuZHN3aXRoX19kb2NfX30sCiAgICAgeyJleHBhbmR0YWJzIiwgKFB5Q0Z1bmN0aW9uKXN0cmluZ2xpYl9leHBhbmR0YWJzLCBNRVRIX1ZBUkFSR1MgfCBNRVRIX0tFWVdPUkRTLAogICAgICBleHBhbmR0YWJzX19kb2NfX30sCiAgICAgeyJmaW5kIiwgKFB5Q0Z1bmN0aW9uKWJ5dGVzX2ZpbmQsIE1FVEhfVkFSQVJHUywgZmluZF9fZG9jX199LAotICAgIHsiZnJvbWhleCIsIChQeUNGdW5jdGlvbilieXRlc19mcm9taGV4LCBNRVRIX1ZBUkFSR1N8TUVUSF9DTEFTUywKLSAgICAgZnJvbWhleF9kb2N9LAorICAgIEJZVEVTX0ZST01IRVhfTUVUSE9EREVGCiAgICAgeyJpbmRleCIsIChQeUNGdW5jdGlvbilieXRlc19pbmRleCwgTUVUSF9WQVJBUkdTLCBpbmRleF9fZG9jX199LAogICAgIHsiaXNhbG51bSIsIChQeUNGdW5jdGlvbilzdHJpbmdsaWJfaXNhbG51bSwgTUVUSF9OT0FSR1MsCiAgICAgIF9QeV9pc2FsbnVtX19kb2NfX30sCkBAIC0yNDE5LDQwICszNTM1LDUwIEBACiAgICAgIF9QeV9pc3RpdGxlX19kb2NfX30sCiAgICAgeyJpc3VwcGVyIiwgKFB5Q0Z1bmN0aW9uKXN0cmluZ2xpYl9pc3VwcGVyLCBNRVRIX05PQVJHUywKICAgICAgX1B5X2lzdXBwZXJfX2RvY19ffSwKLSAgICB7ImpvaW4iLCAoUHlDRnVuY3Rpb24pYnl0ZXNfam9pbiwgTUVUSF9PLCBqb2luX19kb2NfX30sCisgICAgQllURVNfSk9JTl9NRVRIT0RERUYKICAgICB7ImxqdXN0IiwgKFB5Q0Z1bmN0aW9uKXN0cmluZ2xpYl9sanVzdCwgTUVUSF9WQVJBUkdTLCBsanVzdF9fZG9jX199LAogICAgIHsibG93ZXIiLCAoUHlDRnVuY3Rpb24pc3RyaW5nbGliX2xvd2VyLCBNRVRIX05PQVJHUywgX1B5X2xvd2VyX19kb2NfX30sCi0gICAgeyJsc3RyaXAiLCAoUHlDRnVuY3Rpb24pYnl0ZXNfbHN0cmlwLCBNRVRIX1ZBUkFSR1MsIGxzdHJpcF9fZG9jX199LAotICAgIHsibWFrZXRyYW5zIiwgKFB5Q0Z1bmN0aW9uKWJ5dGVzX21ha2V0cmFucywgTUVUSF9WQVJBUkdTfE1FVEhfU1RBVElDLAotICAgICBfUHlfbWFrZXRyYW5zX19kb2NfX30sCi0gICAgeyJwYXJ0aXRpb24iLCAoUHlDRnVuY3Rpb24pYnl0ZXNfcGFydGl0aW9uLCBNRVRIX08sIHBhcnRpdGlvbl9fZG9jX199LAotICAgIHsicmVwbGFjZSIsIChQeUNGdW5jdGlvbilieXRlc19yZXBsYWNlLCBNRVRIX1ZBUkFSR1MsIHJlcGxhY2VfX2RvY19ffSwKKyAgICBCWVRFU19MU1RSSVBfTUVUSE9EREVGCisgICAgQllURVNfTUFLRVRSQU5TX01FVEhPRERFRgorICAgIEJZVEVTX1BBUlRJVElPTl9NRVRIT0RERUYKKyAgICBCWVRFU19SRVBMQUNFX01FVEhPRERFRgogICAgIHsicmZpbmQiLCAoUHlDRnVuY3Rpb24pYnl0ZXNfcmZpbmQsIE1FVEhfVkFSQVJHUywgcmZpbmRfX2RvY19ffSwKICAgICB7InJpbmRleCIsIChQeUNGdW5jdGlvbilieXRlc19yaW5kZXgsIE1FVEhfVkFSQVJHUywgcmluZGV4X19kb2NfX30sCiAgICAgeyJyanVzdCIsIChQeUNGdW5jdGlvbilzdHJpbmdsaWJfcmp1c3QsIE1FVEhfVkFSQVJHUywgcmp1c3RfX2RvY19ffSwKLSAgICB7InJwYXJ0aXRpb24iLCAoUHlDRnVuY3Rpb24pYnl0ZXNfcnBhcnRpdGlvbiwgTUVUSF9PLAotICAgICBycGFydGl0aW9uX19kb2NfX30sCi0gICAgeyJyc3BsaXQiLCAoUHlDRnVuY3Rpb24pYnl0ZXNfcnNwbGl0LCBNRVRIX1ZBUkFSR1MgfCBNRVRIX0tFWVdPUkRTLCByc3BsaXRfX2RvY19ffSwKLSAgICB7InJzdHJpcCIsIChQeUNGdW5jdGlvbilieXRlc19yc3RyaXAsIE1FVEhfVkFSQVJHUywgcnN0cmlwX19kb2NfX30sCi0gICAgeyJzcGxpdCIsIChQeUNGdW5jdGlvbilieXRlc19zcGxpdCwgTUVUSF9WQVJBUkdTIHwgTUVUSF9LRVlXT1JEUywgc3BsaXRfX2RvY19ffSwKLSAgICB7InNwbGl0bGluZXMiLCAoUHlDRnVuY3Rpb24pYnl0ZXNfc3BsaXRsaW5lcywgTUVUSF9WQVJBUkdTIHwgTUVUSF9LRVlXT1JEUywKLSAgICAgc3BsaXRsaW5lc19fZG9jX199LAorICAgIEJZVEVTX1JQQVJUSVRJT05fTUVUSE9EREVGCisgICAgQllURVNfUlNQTElUX01FVEhPRERFRgorICAgIEJZVEVTX1JTVFJJUF9NRVRIT0RERUYKKyAgICBCWVRFU19TUExJVF9NRVRIT0RERUYKKyAgICBCWVRFU19TUExJVExJTkVTX01FVEhPRERFRgogICAgIHsic3RhcnRzd2l0aCIsIChQeUNGdW5jdGlvbilieXRlc19zdGFydHN3aXRoLCBNRVRIX1ZBUkFSR1MsCiAgICAgIHN0YXJ0c3dpdGhfX2RvY19ffSwKLSAgICB7InN0cmlwIiwgKFB5Q0Z1bmN0aW9uKWJ5dGVzX3N0cmlwLCBNRVRIX1ZBUkFSR1MsIHN0cmlwX19kb2NfX30sCisgICAgQllURVNfU1RSSVBfTUVUSE9EREVGCiAgICAgeyJzd2FwY2FzZSIsIChQeUNGdW5jdGlvbilzdHJpbmdsaWJfc3dhcGNhc2UsIE1FVEhfTk9BUkdTLAogICAgICBfUHlfc3dhcGNhc2VfX2RvY19ffSwKICAgICB7InRpdGxlIiwgKFB5Q0Z1bmN0aW9uKXN0cmluZ2xpYl90aXRsZSwgTUVUSF9OT0FSR1MsIF9QeV90aXRsZV9fZG9jX199LAotICAgIHsidHJhbnNsYXRlIiwgKFB5Q0Z1bmN0aW9uKWJ5dGVzX3RyYW5zbGF0ZSwgTUVUSF9WQVJBUkdTLAotICAgICB0cmFuc2xhdGVfX2RvY19ffSwKKyAgICBCWVRFU19UUkFOU0xBVEVfTUVUSE9EREVGCiAgICAgeyJ1cHBlciIsIChQeUNGdW5jdGlvbilzdHJpbmdsaWJfdXBwZXIsIE1FVEhfTk9BUkdTLCBfUHlfdXBwZXJfX2RvY19ffSwKICAgICB7InpmaWxsIiwgKFB5Q0Z1bmN0aW9uKXN0cmluZ2xpYl96ZmlsbCwgTUVUSF9WQVJBUkdTLCB6ZmlsbF9fZG9jX199LAotICAgIHsiX19zaXplb2ZfXyIsIChQeUNGdW5jdGlvbilieXRlc19zaXplb2YsIE1FVEhfTk9BUkdTLAotICAgICBzaXplb2ZfX2RvY19ffSwKKyAgICBCWVRFU19TSVpFT0ZfTUVUSE9EREVGCiAgICAge05VTEwsICAgICBOVUxMfSAgICAgICAgICAgICAgICAgICAgICAgICAvKiBzZW50aW5lbCAqLwogfTsKIAogc3RhdGljIFB5T2JqZWN0ICoKK2J5dGVzX21vZChQeU9iamVjdCAqdiwgUHlPYmplY3QgKncpCit7CisgICAgaWYgKCFQeUJ5dGVzX0NoZWNrKHYpKQorICAgICAgICBQeV9SRVRVUk5fTk9USU1QTEVNRU5URUQ7CisgICAgcmV0dXJuIF9QeUJ5dGVzX0Zvcm1hdCh2LCB3KTsKK30KKworc3RhdGljIFB5TnVtYmVyTWV0aG9kcyBieXRlc19hc19udW1iZXIgPSB7CisgICAgMCwgICAgICAgICAgICAgIC8qbmJfYWRkKi8KKyAgICAwLCAgICAgICAgICAgICAgLypuYl9zdWJ0cmFjdCovCisgICAgMCwgICAgICAgICAgICAgIC8qbmJfbXVsdGlwbHkqLworICAgIGJ5dGVzX21vZCwgICAgICAvKm5iX3JlbWFpbmRlciovCit9OworCitzdGF0aWMgUHlPYmplY3QgKgogc3RyX3N1YnR5cGVfbmV3KFB5VHlwZU9iamVjdCAqdHlwZSwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2RzKTsKIAogc3RhdGljIFB5T2JqZWN0ICoKQEAgLTI0NzksNyArMzYwNSw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFyZ3VtZW50Iik7CiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKICAgICAgICAgfQotICAgICAgICByZXR1cm4gUHlCeXRlc19Gcm9tU3RyaW5nKCIiKTsKKyAgICAgICAgcmV0dXJuIFB5Qnl0ZXNfRnJvbVN0cmluZ0FuZFNpemUoTlVMTCwgMCk7CiAgICAgfQogCiAgICAgaWYgKFB5VW5pY29kZV9DaGVjayh4KSkgewpAQCAtMjUzNiwxMSArMzY2Miw5IEBACiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KICAgICBlbHNlIHsKLSAgICAgICAgbmV3ID0gUHlCeXRlc19Gcm9tU3RyaW5nQW5kU2l6ZShOVUxMLCBzaXplKTsKKyAgICAgICAgbmV3ID0gX1B5Qnl0ZXNfRnJvbVNpemUoc2l6ZSwgMSk7CiAgICAgICAgIGlmIChuZXcgPT0gTlVMTCkKICAgICAgICAgICAgIHJldHVybiBOVUxMOwotICAgICAgICBpZiAoc2l6ZSA+IDApCi0gICAgICAgICAgICBtZW1zZXQoKChQeUJ5dGVzT2JqZWN0KiluZXcpLT5vYl9zdmFsLCAwLCBzaXplKTsKICAgICAgICAgcmV0dXJuIG5ldzsKICAgICB9CiAKQEAgLTI2MzgsMTAgKzM3NjIsMTIgQEAKICAgICAgICByZXR1cm5pbmcgYSBzaGFyZWQgZW1wdHkgYnl0ZXMgc3RyaW5nLiBUaGlzIHJlcXVpcmVkIGJlY2F1c2Ugd2UKICAgICAgICB3YW50IHRvIGNhbGwgX1B5Qnl0ZXNfUmVzaXplKCkgdGhlIHJldHVybmVkIG9iamVjdCwgd2hpY2ggd2UgY2FuCiAgICAgICAgb25seSBkbyBvbiBieXRlcyBvYmplY3RzIHdpdGggcmVmY291bnQgPT0gMS4gKi8KLSAgICBzaXplICs9IDE7CisgICAgaWYgKHNpemUgPT0gMCkKKyAgICAgICAgc2l6ZSA9IDE7CiAgICAgbmV3ID0gUHlCeXRlc19Gcm9tU3RyaW5nQW5kU2l6ZShOVUxMLCBzaXplKTsKICAgICBpZiAobmV3ID09IE5VTEwpCiAgICAgICAgIHJldHVybiBOVUxMOworICAgIGFzc2VydChQeV9SRUZDTlQobmV3KSA9PSAxKTsKIAogICAgIC8qIEdldCB0aGUgaXRlcmF0b3IgKi8KICAgICBpdCA9IFB5T2JqZWN0X0dldEl0ZXIoeCk7CkBAIC0yNzQzLDcgKzM4NjksNyBAQAogICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfc2V0YXR0ciAqLwogICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfcmVzZXJ2ZWQgKi8KICAgICAocmVwcmZ1bmMpYnl0ZXNfcmVwciwgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX3JlcHIgKi8KLSAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2FzX251bWJlciAqLworICAgICZieXRlc19hc19udW1iZXIsICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfYXNfbnVtYmVyICovCiAgICAgJmJ5dGVzX2FzX3NlcXVlbmNlLCAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9hc19zZXF1ZW5jZSAqLwogICAgICZieXRlc19hc19tYXBwaW5nLCAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfYXNfbWFwcGluZyAqLwogICAgIChoYXNoZnVuYylieXRlc19oYXNoLCAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfaGFzaCAqLwpAQCAtMjc3OCw3ICszOTA0LDYgQEAKIHZvaWQKIFB5Qnl0ZXNfQ29uY2F0KFB5T2JqZWN0ICoqcHYsIFB5T2JqZWN0ICp3KQogewotICAgIFB5T2JqZWN0ICp2OwogICAgIGFzc2VydChwdiAhPSBOVUxMKTsKICAgICBpZiAoKnB2ID09IE5VTEwpCiAgICAgICAgIHJldHVybjsKQEAgLTI3ODYsOSArMzkxMSw0NSBAQAogICAgICAgICBQeV9DTEVBUigqcHYpOwogICAgICAgICByZXR1cm47CiAgICAgfQotICAgIHYgPSBieXRlc19jb25jYXQoKnB2LCB3KTsKLSAgICBQeV9ERUNSRUYoKnB2KTsKLSAgICAqcHYgPSB2OworCisgICAgaWYgKFB5X1JFRkNOVCgqcHYpID09IDEgJiYgUHlCeXRlc19DaGVja0V4YWN0KCpwdikpIHsKKyAgICAgICAgLyogT25seSBvbmUgcmVmZXJlbmNlLCBzbyB3ZSBjYW4gcmVzaXplIGluIHBsYWNlICovCisgICAgICAgIFB5X3NzaXplX3Qgb2xkc2l6ZTsKKyAgICAgICAgUHlfYnVmZmVyIHdiOworCisgICAgICAgIHdiLmxlbiA9IC0xOworICAgICAgICBpZiAoUHlPYmplY3RfR2V0QnVmZmVyKHcsICZ3YiwgUHlCVUZfU0lNUExFKSAhPSAwKSB7CisgICAgICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVHlwZUVycm9yLCAiY2FuJ3QgY29uY2F0ICUuMTAwcyB0byAlLjEwMHMiLAorICAgICAgICAgICAgICAgICAgICAgICAgIFB5X1RZUEUodyktPnRwX25hbWUsIFB5X1RZUEUoKnB2KS0+dHBfbmFtZSk7CisgICAgICAgICAgICBQeV9DTEVBUigqcHYpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAgICAgICAgb2xkc2l6ZSA9IFB5Qnl0ZXNfR0VUX1NJWkUoKnB2KTsKKyAgICAgICAgaWYgKG9sZHNpemUgPiBQWV9TU0laRV9UX01BWCAtIHdiLmxlbikgeworICAgICAgICAgICAgUHlFcnJfTm9NZW1vcnkoKTsKKyAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgIH0KKyAgICAgICAgaWYgKF9QeUJ5dGVzX1Jlc2l6ZShwdiwgb2xkc2l6ZSArIHdiLmxlbikgPCAwKQorICAgICAgICAgICAgZ290byBlcnJvcjsKKworICAgICAgICBtZW1jcHkoUHlCeXRlc19BU19TVFJJTkcoKnB2KSArIG9sZHNpemUsIHdiLmJ1Ziwgd2IubGVuKTsKKyAgICAgICAgUHlCdWZmZXJfUmVsZWFzZSgmd2IpOworICAgICAgICByZXR1cm47CisKKyAgICAgIGVycm9yOgorICAgICAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZ3Yik7CisgICAgICAgIFB5X0NMRUFSKCpwdik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBlbHNlIHsKKyAgICAgICAgLyogTXVsdGlwbGUgcmVmZXJlbmNlcywgbmVlZCB0byBjcmVhdGUgbmV3IG9iamVjdCAqLworICAgICAgICBQeU9iamVjdCAqdjsKKyAgICAgICAgdiA9IGJ5dGVzX2NvbmNhdCgqcHYsIHcpOworICAgICAgICBQeV9ERUNSRUYoKnB2KTsKKyAgICAgICAgKnB2ID0gdjsKKyAgICB9CiB9CiAKIHZvaWQKQEAgLTI3OTksMTQgKzM5NjAsMTQgQEAKIH0KIAogCi0vKiBUaGUgZm9sbG93aW5nIGZ1bmN0aW9uIGJyZWFrcyB0aGUgbm90aW9uIHRoYXQgc3RyaW5ncyBhcmUgaW1tdXRhYmxlOgotICAgaXQgY2hhbmdlcyB0aGUgc2l6ZSBvZiBhIHN0cmluZy4gIFdlIGdldCBhd2F5IHdpdGggdGhpcyBvbmx5IGlmIHRoZXJlCisvKiBUaGUgZm9sbG93aW5nIGZ1bmN0aW9uIGJyZWFrcyB0aGUgbm90aW9uIHRoYXQgYnl0ZXMgYXJlIGltbXV0YWJsZToKKyAgIGl0IGNoYW5nZXMgdGhlIHNpemUgb2YgYSBieXRlcyBvYmplY3QuICBXZSBnZXQgYXdheSB3aXRoIHRoaXMgb25seSBpZiB0aGVyZQogICAgaXMgb25seSBvbmUgbW9kdWxlIHJlZmVyZW5jaW5nIHRoZSBvYmplY3QuICBZb3UgY2FuIGFsc28gdGhpbmsgb2YgaXQKLSAgIGFzIGNyZWF0aW5nIGEgbmV3IHN0cmluZyBvYmplY3QgYW5kIGRlc3Ryb3lpbmcgdGhlIG9sZCBvbmUsIG9ubHkKLSAgIG1vcmUgZWZmaWNpZW50bHkuICBJbiBhbnkgY2FzZSwgZG9uJ3QgdXNlIHRoaXMgaWYgdGhlIHN0cmluZyBtYXkKKyAgIGFzIGNyZWF0aW5nIGEgbmV3IGJ5dGVzIG9iamVjdCBhbmQgZGVzdHJveWluZyB0aGUgb2xkIG9uZSwgb25seQorICAgbW9yZSBlZmZpY2llbnRseS4gIEluIGFueSBjYXNlLCBkb24ndCB1c2UgdGhpcyBpZiB0aGUgYnl0ZXMgb2JqZWN0IG1heQogICAgYWxyZWFkeSBiZSBrbm93biB0byBzb21lIG90aGVyIHBhcnQgb2YgdGhlIGNvZGUuLi4KLSAgIE5vdGUgdGhhdCBpZiB0aGVyZSdzIG5vdCBlbm91Z2ggbWVtb3J5IHRvIHJlc2l6ZSB0aGUgc3RyaW5nLCB0aGUgb3JpZ2luYWwKLSAgIHN0cmluZyBvYmplY3QgYXQgKnB2IGlzIGRlYWxsb2NhdGVkLCAqcHYgaXMgc2V0IHRvIE5VTEwsIGFuICJvdXQgb2YKKyAgIE5vdGUgdGhhdCBpZiB0aGVyZSdzIG5vdCBlbm91Z2ggbWVtb3J5IHRvIHJlc2l6ZSB0aGUgYnl0ZXMgb2JqZWN0LCB0aGUKKyAgIG9yaWdpbmFsIGJ5dGVzIG9iamVjdCBhdCAqcHYgaXMgZGVhbGxvY2F0ZWQsICpwdiBpcyBzZXQgdG8gTlVMTCwgYW4gIm91dCBvZgogICAgbWVtb3J5IiBleGNlcHRpb24gaXMgc2V0LCBhbmQgLTEgaXMgcmV0dXJuZWQuICBFbHNlIChvbiBzdWNjZXNzKSAwIGlzCiAgICByZXR1cm5lZCwgYW5kIHRoZSB2YWx1ZSBpbiAqcHYgbWF5IG9yIG1heSBub3QgYmUgdGhlIHNhbWUgYXMgb24gaW5wdXQuCiAgICBBcyBhbHdheXMsIGFuIGV4dHJhIGJ5dGUgaXMgYWxsb2NhdGVkIGZvciBhIHRyYWlsaW5nIFwwIGJ5dGUgKG5ld3NpemUKQEAgLTI4MjksNyArMzk5MCw3IEBACiAgICAgX1B5X0RFQ19SRUZUT1RBTDsKICAgICBfUHlfRm9yZ2V0UmVmZXJlbmNlKHYpOwogICAgICpwdiA9IChQeU9iamVjdCAqKQotICAgICAgICBQeU9iamVjdF9SRUFMTE9DKChjaGFyICopdiwgUHlCeXRlc09iamVjdF9TSVpFICsgbmV3c2l6ZSk7CisgICAgICAgIFB5T2JqZWN0X1JFQUxMT0ModiwgUHlCeXRlc09iamVjdF9TSVpFICsgbmV3c2l6ZSk7CiAgICAgaWYgKCpwdiA9PSBOVUxMKSB7CiAgICAgICAgIFB5T2JqZWN0X0RlbCh2KTsKICAgICAgICAgUHlFcnJfTm9NZW1vcnkoKTsKZGlmZiAtLWdpdCBhL09iamVjdHMvY2xhc3NvYmplY3QuYyBiL09iamVjdHMvY2xhc3NvYmplY3QuYwppbmRleCAwYzBiZDQ3Li4wN2NiNjM5IDEwMDY0NAotLS0gYS9PYmplY3RzL2NsYXNzb2JqZWN0LmMKKysrIGIvT2JqZWN0cy9jbGFzc29iamVjdC5jCkBAIC0xNSw2ICsxNSw3IEBACiAjZW5kaWYKIAogX1B5X0lERU5USUZJRVIoX19uYW1lX18pOworX1B5X0lERU5USUZJRVIoX19xdWFsbmFtZV9fKTsKIAogUHlPYmplY3QgKgogUHlNZXRob2RfRnVuY3Rpb24oUHlPYmplY3QgKmltKQpAQCAtMjQzLDUxICsyNDQsMzMgQEAKIHsKICAgICBQeU9iamVjdCAqc2VsZiA9IGEtPmltX3NlbGY7CiAgICAgUHlPYmplY3QgKmZ1bmMgPSBhLT5pbV9mdW5jOwotICAgIFB5T2JqZWN0ICprbGFzczsKLSAgICBQeU9iamVjdCAqZnVuY25hbWUgPSBOVUxMICwqa2xhc3NuYW1lID0gTlVMTCwgKnJlc3VsdCA9IE5VTEw7Ci0gICAgY2hhciAqZGVmbmFtZSA9ICI/IjsKKyAgICBQeU9iamVjdCAqZnVuY25hbWUgPSBOVUxMLCAqcmVzdWx0ID0gTlVMTDsKKyAgICBjb25zdCBjaGFyICpkZWZuYW1lID0gIj8iOwogCi0gICAgaWYgKHNlbGYgPT0gTlVMTCkgewotICAgICAgICBQeUVycl9CYWRJbnRlcm5hbENhbGwoKTsKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgfQotICAgIGtsYXNzID0gKFB5T2JqZWN0KilQeV9UWVBFKHNlbGYpOwotCi0gICAgZnVuY25hbWUgPSBfUHlPYmplY3RfR2V0QXR0cklkKGZ1bmMsICZQeUlkX19fbmFtZV9fKTsKKyAgICBmdW5jbmFtZSA9IF9QeU9iamVjdF9HZXRBdHRySWQoZnVuYywgJlB5SWRfX19xdWFsbmFtZV9fKTsKICAgICBpZiAoZnVuY25hbWUgPT0gTlVMTCkgewogICAgICAgICBpZiAoIVB5RXJyX0V4Y2VwdGlvbk1hdGNoZXMoUHlFeGNfQXR0cmlidXRlRXJyb3IpKQogICAgICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgICAgIFB5RXJyX0NsZWFyKCk7CisKKyAgICAgICAgZnVuY25hbWUgPSBfUHlPYmplY3RfR2V0QXR0cklkKGZ1bmMsICZQeUlkX19fbmFtZV9fKTsKKyAgICAgICAgaWYgKGZ1bmNuYW1lID09IE5VTEwpIHsKKyAgICAgICAgICAgIGlmICghUHlFcnJfRXhjZXB0aW9uTWF0Y2hlcyhQeUV4Y19BdHRyaWJ1dGVFcnJvcikpCisgICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgICAgICBQeUVycl9DbGVhcigpOworICAgICAgICB9CiAgICAgfQotICAgIGVsc2UgaWYgKCFQeVVuaWNvZGVfQ2hlY2soZnVuY25hbWUpKSB7CisgICAgCisgICAgaWYgKGZ1bmNuYW1lICE9IE5VTEwgJiYgIVB5VW5pY29kZV9DaGVjayhmdW5jbmFtZSkpIHsKICAgICAgICAgUHlfREVDUkVGKGZ1bmNuYW1lKTsKICAgICAgICAgZnVuY25hbWUgPSBOVUxMOwogICAgIH0KIAotICAgIGlmIChrbGFzcyA9PSBOVUxMKQotICAgICAgICBrbGFzc25hbWUgPSBOVUxMOwotICAgIGVsc2UgewotICAgICAgICBrbGFzc25hbWUgPSBfUHlPYmplY3RfR2V0QXR0cklkKGtsYXNzLCAmUHlJZF9fX25hbWVfXyk7Ci0gICAgICAgIGlmIChrbGFzc25hbWUgPT0gTlVMTCkgewotICAgICAgICAgICAgaWYgKCFQeUVycl9FeGNlcHRpb25NYXRjaGVzKFB5RXhjX0F0dHJpYnV0ZUVycm9yKSkgewotICAgICAgICAgICAgICAgIFB5X1hERUNSRUYoZnVuY25hbWUpOwotICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgUHlFcnJfQ2xlYXIoKTsKLSAgICAgICAgfQotICAgICAgICBlbHNlIGlmICghUHlVbmljb2RlX0NoZWNrKGtsYXNzbmFtZSkpIHsKLSAgICAgICAgICAgIFB5X0RFQ1JFRihrbGFzc25hbWUpOwotICAgICAgICAgICAga2xhc3NuYW1lID0gTlVMTDsKLSAgICAgICAgfQotICAgIH0KLQogICAgIC8qIFhYWCBTaG91bGRuJ3QgdXNlIHJlcHIoKS8lUiBoZXJlISAqLwotICAgIHJlc3VsdCA9IFB5VW5pY29kZV9Gcm9tRm9ybWF0KCI8Ym91bmQgbWV0aG9kICVWLiVWIG9mICVSPiIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2xhc3NuYW1lLCBkZWZuYW1lLAorICAgIHJlc3VsdCA9IFB5VW5pY29kZV9Gcm9tRm9ybWF0KCI8Ym91bmQgbWV0aG9kICVWIG9mICVSPiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY25hbWUsIGRlZm5hbWUsIHNlbGYpOwogCiAgICAgUHlfWERFQ1JFRihmdW5jbmFtZSk7Ci0gICAgUHlfWERFQ1JFRihrbGFzc25hbWUpOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKZGlmZiAtLWdpdCBhL09iamVjdHMvY29tcGxleG9iamVjdC5jIGIvT2JqZWN0cy9jb21wbGV4b2JqZWN0LmMKaW5kZXggN2Y0Y2RkOS4uZGMxMjEyZSAxMDA2NDQKLS0tIGEvT2JqZWN0cy9jb21wbGV4b2JqZWN0LmMKKysrIGIvT2JqZWN0cy9jb21wbGV4b2JqZWN0LmMKQEAgLTEzLDcgKzEzLDcgQEAKIHN0YXRpYyBQeV9jb21wbGV4IGNfMSA9IHsxLiwgMC59OwogCiBQeV9jb21wbGV4Ci1jX3N1bShQeV9jb21wbGV4IGEsIFB5X2NvbXBsZXggYikKK19QeV9jX3N1bShQeV9jb21wbGV4IGEsIFB5X2NvbXBsZXggYikKIHsKICAgICBQeV9jb21wbGV4IHI7CiAgICAgci5yZWFsID0gYS5yZWFsICsgYi5yZWFsOwpAQCAtMjIsNyArMjIsNyBAQAogfQogCiBQeV9jb21wbGV4Ci1jX2RpZmYoUHlfY29tcGxleCBhLCBQeV9jb21wbGV4IGIpCitfUHlfY19kaWZmKFB5X2NvbXBsZXggYSwgUHlfY29tcGxleCBiKQogewogICAgIFB5X2NvbXBsZXggcjsKICAgICByLnJlYWwgPSBhLnJlYWwgLSBiLnJlYWw7CkBAIC0zMSw3ICszMSw3IEBACiB9CiAKIFB5X2NvbXBsZXgKLWNfbmVnKFB5X2NvbXBsZXggYSkKK19QeV9jX25lZyhQeV9jb21wbGV4IGEpCiB7CiAgICAgUHlfY29tcGxleCByOwogICAgIHIucmVhbCA9IC1hLnJlYWw7CkBAIC00MCw3ICs0MCw3IEBACiB9CiAKIFB5X2NvbXBsZXgKLWNfcHJvZChQeV9jb21wbGV4IGEsIFB5X2NvbXBsZXggYikKK19QeV9jX3Byb2QoUHlfY29tcGxleCBhLCBQeV9jb21wbGV4IGIpCiB7CiAgICAgUHlfY29tcGxleCByOwogICAgIHIucmVhbCA9IGEucmVhbCpiLnJlYWwgLSBhLmltYWcqYi5pbWFnOwpAQCAtNDksNyArNDksNyBAQAogfQogCiBQeV9jb21wbGV4Ci1jX3F1b3QoUHlfY29tcGxleCBhLCBQeV9jb21wbGV4IGIpCitfUHlfY19xdW90KFB5X2NvbXBsZXggYSwgUHlfY29tcGxleCBiKQogewogICAgIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgICBUaGlzIHdhcyB0aGUgb3JpZ2luYWwgYWxnb3JpdGhtLiAgSXQncyBncm9zc2x5IHByb25lIHRvIHNwdXJpb3VzCkBAIC0xMDcsNyArMTA3LDcgQEAKIH0KIAogUHlfY29tcGxleAotY19wb3coUHlfY29tcGxleCBhLCBQeV9jb21wbGV4IGIpCitfUHlfY19wb3coUHlfY29tcGxleCBhLCBQeV9jb21wbGV4IGIpCiB7CiAgICAgUHlfY29tcGxleCByOwogICAgIGRvdWJsZSB2YWJzLGxlbixhdCxwaGFzZTsKQEAgLTE0NSw5ICsxNDUsOSBAQAogICAgIHAgPSB4OwogICAgIHdoaWxlIChtYXNrID4gMCAmJiBuID49IG1hc2spIHsKICAgICAgICAgaWYgKG4gJiBtYXNrKQotICAgICAgICAgICAgciA9IGNfcHJvZChyLHApOworICAgICAgICAgICAgciA9IF9QeV9jX3Byb2QocixwKTsKICAgICAgICAgbWFzayA8PD0gMTsKLSAgICAgICAgcCA9IGNfcHJvZChwLHApOworICAgICAgICBwID0gX1B5X2NfcHJvZChwLHApOwogICAgIH0KICAgICByZXR1cm4gcjsKIH0KQEAgLTE2MCwxNyArMTYwLDE3IEBACiAgICAgaWYgKG4gPiAxMDAgfHwgbiA8IC0xMDApIHsKICAgICAgICAgY24ucmVhbCA9IChkb3VibGUpIG47CiAgICAgICAgIGNuLmltYWcgPSAwLjsKLSAgICAgICAgcmV0dXJuIGNfcG93KHgsY24pOworICAgICAgICByZXR1cm4gX1B5X2NfcG93KHgsY24pOwogICAgIH0KICAgICBlbHNlIGlmIChuID4gMCkKICAgICAgICAgcmV0dXJuIGNfcG93dSh4LG4pOwogICAgIGVsc2UKLSAgICAgICAgcmV0dXJuIGNfcXVvdChjXzEsY19wb3d1KHgsLW4pKTsKKyAgICAgICAgcmV0dXJuIF9QeV9jX3F1b3QoY18xLCBjX3Bvd3UoeCwtbikpOwogCiB9CiAKIGRvdWJsZQotY19hYnMoUHlfY29tcGxleCB6KQorX1B5X2NfYWJzKFB5X2NvbXBsZXggeikKIHsKICAgICAvKiBzZXRzIGVycm5vID0gRVJBTkdFIG9uIG92ZXJmbG93OyAgb3RoZXJ3aXNlIGVycm5vID0gMCAqLwogICAgIGRvdWJsZSByZXN1bHQ7CkBAIC00NDUsNyArNDQ1LDcgQEAKICAgICBUT19DT01QTEVYKHYsIGEpOwogICAgIFRPX0NPTVBMRVgodywgYik7CiAgICAgUHlGUEVfU1RBUlRfUFJPVEVDVCgiY29tcGxleF9hZGQiLCByZXR1cm4gMCkKLSAgICByZXN1bHQgPSBjX3N1bShhLCBiKTsKKyAgICByZXN1bHQgPSBfUHlfY19zdW0oYSwgYik7CiAgICAgUHlGUEVfRU5EX1BST1RFQ1QocmVzdWx0KQogICAgIHJldHVybiBQeUNvbXBsZXhfRnJvbUNDb21wbGV4KHJlc3VsdCk7CiB9CkBAIC00NTgsNyArNDU4LDcgQEAKICAgICBUT19DT01QTEVYKHYsIGEpOwogICAgIFRPX0NPTVBMRVgodywgYik7CiAgICAgUHlGUEVfU1RBUlRfUFJPVEVDVCgiY29tcGxleF9zdWIiLCByZXR1cm4gMCkKLSAgICByZXN1bHQgPSBjX2RpZmYoYSwgYik7CisgICAgcmVzdWx0ID0gX1B5X2NfZGlmZihhLCBiKTsKICAgICBQeUZQRV9FTkRfUFJPVEVDVChyZXN1bHQpCiAgICAgcmV0dXJuIFB5Q29tcGxleF9Gcm9tQ0NvbXBsZXgocmVzdWx0KTsKIH0KQEAgLTQ3MSw3ICs0NzEsNyBAQAogICAgIFRPX0NPTVBMRVgodiwgYSk7CiAgICAgVE9fQ09NUExFWCh3LCBiKTsKICAgICBQeUZQRV9TVEFSVF9QUk9URUNUKCJjb21wbGV4X211bCIsIHJldHVybiAwKQotICAgIHJlc3VsdCA9IGNfcHJvZChhLCBiKTsKKyAgICByZXN1bHQgPSBfUHlfY19wcm9kKGEsIGIpOwogICAgIFB5RlBFX0VORF9QUk9URUNUKHJlc3VsdCkKICAgICByZXR1cm4gUHlDb21wbGV4X0Zyb21DQ29tcGxleChyZXN1bHQpOwogfQpAQCAtNDg1LDcgKzQ4NSw3IEBACiAgICAgVE9fQ09NUExFWCh3LCBiKTsKICAgICBQeUZQRV9TVEFSVF9QUk9URUNUKCJjb21wbGV4X2RpdiIsIHJldHVybiAwKQogICAgIGVycm5vID0gMDsKLSAgICBxdW90ID0gY19xdW90KGEsIGIpOworICAgIHF1b3QgPSBfUHlfY19xdW90KGEsIGIpOwogICAgIFB5RlBFX0VORF9QUk9URUNUKHF1b3QpCiAgICAgaWYgKGVycm5vID09IEVET00pIHsKICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1plcm9EaXZpc2lvbkVycm9yLCAiY29tcGxleCBkaXZpc2lvbiBieSB6ZXJvIik7CkBAIC01MzIsNyArNTMyLDcgQEAKICAgICBpZiAoZXhwb25lbnQuaW1hZyA9PSAwLiAmJiBleHBvbmVudC5yZWFsID09IGludF9leHBvbmVudCkKICAgICAgICAgcCA9IGNfcG93aShhLCBpbnRfZXhwb25lbnQpOwogICAgIGVsc2UKLSAgICAgICAgcCA9IGNfcG93KGEsIGV4cG9uZW50KTsKKyAgICAgICAgcCA9IF9QeV9jX3BvdyhhLCBleHBvbmVudCk7CiAKICAgICBQeUZQRV9FTkRfUFJPVEVDVChwKQogICAgIFB5X0FESlVTVF9FUkFOR0UyKHAucmVhbCwgcC5pbWFnKTsKQEAgLTU4Myw3ICs1ODMsNyBAQAogICAgIGRvdWJsZSByZXN1bHQ7CiAKICAgICBQeUZQRV9TVEFSVF9QUk9URUNUKCJjb21wbGV4X2FicyIsIHJldHVybiAwKQotICAgIHJlc3VsdCA9IGNfYWJzKHYtPmN2YWwpOworICAgIHJlc3VsdCA9IF9QeV9jX2Ficyh2LT5jdmFsKTsKICAgICBQeUZQRV9FTkRfUFJPVEVDVChyZXN1bHQpCiAKICAgICBpZiAoZXJybm8gPT0gRVJBTkdFKSB7CmRpZmYgLS1naXQgYS9PYmplY3RzL2RpY3RvYmplY3QuYyBiL09iamVjdHMvZGljdG9iamVjdC5jCmluZGV4IGJhYjYyNDIuLmEzMjE5ZjcgMTAwNjQ0Ci0tLSBhL09iamVjdHMvZGljdG9iamVjdC5jCisrKyBiL09iamVjdHMvZGljdG9iamVjdC5jCkBAIC0xMTAxLDYgKzExMDEsNDQgQEAKICAgICByZXR1cm4gKnZhbHVlX2FkZHI7CiB9CiAKK1B5T2JqZWN0ICoKK19QeURpY3RfR2V0SXRlbV9Lbm93bkhhc2goUHlPYmplY3QgKm9wLCBQeU9iamVjdCAqa2V5LCBQeV9oYXNoX3QgaGFzaCkKK3sKKyAgICBQeURpY3RPYmplY3QgKm1wID0gKFB5RGljdE9iamVjdCAqKW9wOworICAgIFB5RGljdEtleUVudHJ5ICplcDsKKyAgICBQeVRocmVhZFN0YXRlICp0c3RhdGU7CisgICAgUHlPYmplY3QgKip2YWx1ZV9hZGRyOworCisgICAgaWYgKCFQeURpY3RfQ2hlY2sob3ApKQorICAgICAgICByZXR1cm4gTlVMTDsKKworICAgIC8qIFdlIGNhbiBhcnJpdmUgaGVyZSB3aXRoIGEgTlVMTCB0c3RhdGUgZHVyaW5nIGluaXRpYWxpemF0aW9uOiB0cnkKKyAgICAgICBydW5uaW5nICJweXRob24gLVdpIiBmb3IgYW4gZXhhbXBsZSByZWxhdGVkIHRvIHN0cmluZyBpbnRlcm5pbmcuCisgICAgICAgTGV0J3MganVzdCBob3BlIHRoYXQgbm8gZXhjZXB0aW9uIG9jY3VycyB0aGVuLi4uICBUaGlzIG11c3QgYmUKKyAgICAgICBfUHlUaHJlYWRTdGF0ZV9DdXJyZW50IGFuZCBub3QgUHlUaHJlYWRTdGF0ZV9HRVQoKSBiZWNhdXNlIGluIGRlYnVnCisgICAgICAgbW9kZSwgdGhlIGxhdHRlciBjb21wbGFpbnMgaWYgdHN0YXRlIGlzIE5VTEwuICovCisgICAgdHN0YXRlID0gKFB5VGhyZWFkU3RhdGUqKV9QeV9hdG9taWNfbG9hZF9yZWxheGVkKAorICAgICAgICAmX1B5VGhyZWFkU3RhdGVfQ3VycmVudCk7CisgICAgaWYgKHRzdGF0ZSAhPSBOVUxMICYmIHRzdGF0ZS0+Y3VyZXhjX3R5cGUgIT0gTlVMTCkgeworICAgICAgICAvKiBwcmVzZXJ2ZSB0aGUgZXhpc3RpbmcgZXhjZXB0aW9uICovCisgICAgICAgIFB5T2JqZWN0ICplcnJfdHlwZSwgKmVycl92YWx1ZSwgKmVycl90YjsKKyAgICAgICAgUHlFcnJfRmV0Y2goJmVycl90eXBlLCAmZXJyX3ZhbHVlLCAmZXJyX3RiKTsKKyAgICAgICAgZXAgPSAobXAtPm1hX2tleXMtPmRrX2xvb2t1cCkobXAsIGtleSwgaGFzaCwgJnZhbHVlX2FkZHIpOworICAgICAgICAvKiBpZ25vcmUgZXJyb3JzICovCisgICAgICAgIFB5RXJyX1Jlc3RvcmUoZXJyX3R5cGUsIGVycl92YWx1ZSwgZXJyX3RiKTsKKyAgICAgICAgaWYgKGVwID09IE5VTEwpCisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisgICAgZWxzZSB7CisgICAgICAgIGVwID0gKG1wLT5tYV9rZXlzLT5ka19sb29rdXApKG1wLCBrZXksIGhhc2gsICZ2YWx1ZV9hZGRyKTsKKyAgICAgICAgaWYgKGVwID09IE5VTEwpIHsKKyAgICAgICAgICAgIFB5RXJyX0NsZWFyKCk7CisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgfQorICAgIH0KKyAgICByZXR1cm4gKnZhbHVlX2FkZHI7Cit9CisKIC8qIFZhcmlhbnQgb2YgUHlEaWN0X0dldEl0ZW0oKSB0aGF0IGRvZXNuJ3Qgc3VwcHJlc3MgZXhjZXB0aW9ucy4KICAgIFRoaXMgcmV0dXJucyBOVUxMICp3aXRoKiBhbiBleGNlcHRpb24gc2V0IGlmIGFuIGV4Y2VwdGlvbiBvY2N1cnJlZC4KICAgIEl0IHJldHVybnMgTlVMTCAqd2l0aG91dCogYW4gZXhjZXB0aW9uIHNldCBpZiB0aGUga2V5IHdhc24ndCBwcmVzZW50LgpAQCAtMTIwOCw2ICsxMjQ2LDI0IEBACiB9CiAKIGludAorX1B5RGljdF9TZXRJdGVtX0tub3duSGFzaChQeU9iamVjdCAqb3AsIFB5T2JqZWN0ICprZXksIFB5T2JqZWN0ICp2YWx1ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBQeV9oYXNoX3QgaGFzaCkKK3sKKyAgICBQeURpY3RPYmplY3QgKm1wOworCisgICAgaWYgKCFQeURpY3RfQ2hlY2sob3ApKSB7CisgICAgICAgIFB5RXJyX0JhZEludGVybmFsQ2FsbCgpOworICAgICAgICByZXR1cm4gLTE7CisgICAgfQorICAgIGFzc2VydChrZXkpOworICAgIGFzc2VydCh2YWx1ZSk7CisgICAgbXAgPSAoUHlEaWN0T2JqZWN0ICopb3A7CisKKyAgICAvKiBpbnNlcnRkaWN0KCkgaGFuZGxlcyBhbnkgcmVzaXppbmcgdGhhdCBtaWdodCBiZSBuZWNlc3NhcnkgKi8KKyAgICByZXR1cm4gaW5zZXJ0ZGljdChtcCwga2V5LCBoYXNoLCB2YWx1ZSk7Cit9CisKK2ludAogUHlEaWN0X0RlbEl0ZW0oUHlPYmplY3QgKm9wLCBQeU9iamVjdCAqa2V5KQogewogICAgIFB5RGljdE9iamVjdCAqbXA7CmRpZmYgLS1naXQgYS9PYmplY3RzL2V4Y2VwdGlvbnMuYyBiL09iamVjdHMvZXhjZXB0aW9ucy5jCmluZGV4IGM3NmVjYTguLmUwOWQzODQgMTAwNjQ0Ci0tLSBhL09iamVjdHMvZXhjZXB0aW9ucy5jCisrKyBiL09iamVjdHMvZXhjZXB0aW9ucy5jCkBAIC0yNzE4LDcgKzI3MTgsNyBAQAogICAgIHNhbWVfYmFzaWNfc2l6ZSA9ICgKICAgICAgICAgY2F1Z2h0X3R5cGVfc2l6ZSA9PSBiYXNlX2V4Y19zaXplIHx8CiAgICAgICAgIChQeVR5cGVfU1VQUE9SVFNfV0VBS1JFRlMoY2F1Z2h0X3R5cGUpICYmCi0gICAgICAgICAgICAoY2F1Z2h0X3R5cGVfc2l6ZSA9PSBiYXNlX2V4Y19zaXplICsgc2l6ZW9mKFB5T2JqZWN0ICopKQorICAgICAgICAgICAgKGNhdWdodF90eXBlX3NpemUgPT0gYmFzZV9leGNfc2l6ZSArIChQeV9zc2l6ZV90KXNpemVvZihQeU9iamVjdCAqKSkKICAgICAgICAgKQogICAgICk7CiAgICAgaWYgKGNhdWdodF90eXBlLT50cF9pbml0ICE9IChpbml0cHJvYylCYXNlRXhjZXB0aW9uX2luaXQgfHwKZGlmZiAtLWdpdCBhL09iamVjdHMvZmxvYXRvYmplY3QuYyBiL09iamVjdHMvZmxvYXRvYmplY3QuYwppbmRleCAxZGNhOTQ3Li4xZDM2OWY5IDEwMDY0NAotLS0gYS9PYmplY3RzL2Zsb2F0b2JqZWN0LmMKKysrIGIvT2JqZWN0cy9mbG9hdG9iamVjdC5jCkBAIC0yMDMzLDcgKzIwMzMsNyBAQAogICAgIH0KICAgICBlbHNlIHsKICAgICAgICAgZmxvYXQgeSA9IChmbG9hdCl4OwotICAgICAgICBjb25zdCBjaGFyICpzID0gKGNoYXIqKSZ5OworICAgICAgICBjb25zdCB1bnNpZ25lZCBjaGFyICpzID0gKHVuc2lnbmVkIGNoYXIqKSZ5OwogICAgICAgICBpbnQgaSwgaW5jciA9IDE7CiAKICAgICAgICAgaWYgKFB5X0lTX0lORklOSVRZKHkpICYmICFQeV9JU19JTkZJTklUWSh4KSkKQEAgLTIxNjksNyArMjE2OSw3IEBACiAgICAgICAgIHJldHVybiAtMTsKICAgICB9CiAgICAgZWxzZSB7Ci0gICAgICAgIGNvbnN0IGNoYXIgKnMgPSAoY2hhciopJng7CisgICAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnMgPSAodW5zaWduZWQgY2hhciopJng7CiAgICAgICAgIGludCBpLCBpbmNyID0gMTsKIAogICAgICAgICBpZiAoKGRvdWJsZV9mb3JtYXQgPT0gaWVlZV9saXR0bGVfZW5kaWFuX2Zvcm1hdCAmJiAhbGUpCmRpZmYgLS1naXQgYS9PYmplY3RzL2dlbm9iamVjdC5jIGIvT2JqZWN0cy9nZW5vYmplY3QuYwppbmRleCAwOGQzMGJmLi40YmU3MzlhIDEwMDY0NAotLS0gYS9PYmplY3RzL2dlbm9iamVjdC5jCisrKyBiL09iamVjdHMvZ2Vub2JqZWN0LmMKQEAgLTEyLDYgKzEyLDggQEAKIHsKICAgICBQeV9WSVNJVCgoUHlPYmplY3QgKilnZW4tPmdpX2ZyYW1lKTsKICAgICBQeV9WSVNJVChnZW4tPmdpX2NvZGUpOworICAgIFB5X1ZJU0lUKGdlbi0+Z2lfbmFtZSk7CisgICAgUHlfVklTSVQoZ2VuLT5naV9xdWFsbmFtZSk7CiAgICAgcmV0dXJuIDA7CiB9CiAKQEAgLTU4LDYgKzYwLDggQEAKICAgICBfUHlPYmplY3RfR0NfVU5UUkFDSyhzZWxmKTsKICAgICBQeV9DTEVBUihnZW4tPmdpX2ZyYW1lKTsKICAgICBQeV9DTEVBUihnZW4tPmdpX2NvZGUpOworICAgIFB5X0NMRUFSKGdlbi0+Z2lfbmFtZSk7CisgICAgUHlfQ0xFQVIoZ2VuLT5naV9xdWFsbmFtZSk7CiAgICAgUHlPYmplY3RfR0NfRGVsKGdlbik7CiB9CiAKQEAgLTM3MywxMSArMzc3LDcgQEAKIHN0YXRpYyBQeU9iamVjdCAqCiBnZW5faXRlcm5leHQoUHlHZW5PYmplY3QgKmdlbikKIHsKLSAgICBQeU9iamVjdCAqdmFsID0gTlVMTDsKLSAgICBQeU9iamVjdCAqcmV0OwotICAgIHJldCA9IGdlbl9zZW5kX2V4KGdlbiwgdmFsLCAwKTsKLSAgICBQeV9YREVDUkVGKHZhbCk7Ci0gICAgcmV0dXJuIHJldDsKKyAgICByZXR1cm4gZ2VuX3NlbmRfZXgoZ2VuLCBOVUxMLCAwKTsKIH0KIAogLyoKQEAgLTQxOCwzMyArNDE4LDczIEBACiBnZW5fcmVwcihQeUdlbk9iamVjdCAqZ2VuKQogewogICAgIHJldHVybiBQeVVuaWNvZGVfRnJvbUZvcm1hdCgiPGdlbmVyYXRvciBvYmplY3QgJVMgYXQgJXA+IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChQeUNvZGVPYmplY3QgKilnZW4tPmdpX2NvZGUpLT5jb19uYW1lLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZW4pOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZW4tPmdpX3F1YWxuYW1lLCBnZW4pOwogfQogCi0KIHN0YXRpYyBQeU9iamVjdCAqCi1nZW5fZ2V0X25hbWUoUHlHZW5PYmplY3QgKmdlbikKK2dlbl9nZXRfbmFtZShQeUdlbk9iamVjdCAqb3ApCiB7Ci0gICAgUHlPYmplY3QgKm5hbWUgPSAoKFB5Q29kZU9iamVjdCAqKWdlbi0+Z2lfY29kZSktPmNvX25hbWU7Ci0gICAgUHlfSU5DUkVGKG5hbWUpOwotICAgIHJldHVybiBuYW1lOworICAgIFB5X0lOQ1JFRihvcC0+Z2lfbmFtZSk7CisgICAgcmV0dXJuIG9wLT5naV9uYW1lOwogfQogCitzdGF0aWMgaW50CitnZW5fc2V0X25hbWUoUHlHZW5PYmplY3QgKm9wLCBQeU9iamVjdCAqdmFsdWUpCit7CisgICAgUHlPYmplY3QgKnRtcDsKIAotUHlEb2NfU1RSVkFSKGdlbl9fbmFtZV9fZG9jX18sCi0iUmV0dXJuIHRoZSBuYW1lIG9mIHRoZSBnZW5lcmF0b3IncyBhc3NvY2lhdGVkIGNvZGUgb2JqZWN0LiIpOworICAgIC8qIE5vdCBsZWdhbCB0byBkZWwgZ2VuLmdpX25hbWUgb3IgdG8gc2V0IGl0IHRvIGFueXRoaW5nCisgICAgICogb3RoZXIgdGhhbiBhIHN0cmluZyBvYmplY3QuICovCisgICAgaWYgKHZhbHVlID09IE5VTEwgfHwgIVB5VW5pY29kZV9DaGVjayh2YWx1ZSkpIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICJfX25hbWVfXyBtdXN0IGJlIHNldCB0byBhIHN0cmluZyBvYmplY3QiKTsKKyAgICAgICAgcmV0dXJuIC0xOworICAgIH0KKyAgICB0bXAgPSBvcC0+Z2lfbmFtZTsKKyAgICBQeV9JTkNSRUYodmFsdWUpOworICAgIG9wLT5naV9uYW1lID0gdmFsdWU7CisgICAgUHlfREVDUkVGKHRtcCk7CisgICAgcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitnZW5fZ2V0X3F1YWxuYW1lKFB5R2VuT2JqZWN0ICpvcCkKK3sKKyAgICBQeV9JTkNSRUYob3AtPmdpX3F1YWxuYW1lKTsKKyAgICByZXR1cm4gb3AtPmdpX3F1YWxuYW1lOworfQorCitzdGF0aWMgaW50CitnZW5fc2V0X3F1YWxuYW1lKFB5R2VuT2JqZWN0ICpvcCwgUHlPYmplY3QgKnZhbHVlKQoreworICAgIFB5T2JqZWN0ICp0bXA7CisKKyAgICAvKiBOb3QgbGVnYWwgdG8gZGVsIGdlbi5fX3F1YWxuYW1lX18gb3IgdG8gc2V0IGl0IHRvIGFueXRoaW5nCisgICAgICogb3RoZXIgdGhhbiBhIHN0cmluZyBvYmplY3QuICovCisgICAgaWYgKHZhbHVlID09IE5VTEwgfHwgIVB5VW5pY29kZV9DaGVjayh2YWx1ZSkpIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICJfX3F1YWxuYW1lX18gbXVzdCBiZSBzZXQgdG8gYSBzdHJpbmcgb2JqZWN0Iik7CisgICAgICAgIHJldHVybiAtMTsKKyAgICB9CisgICAgdG1wID0gb3AtPmdpX3F1YWxuYW1lOworICAgIFB5X0lOQ1JFRih2YWx1ZSk7CisgICAgb3AtPmdpX3F1YWxuYW1lID0gdmFsdWU7CisgICAgUHlfREVDUkVGKHRtcCk7CisgICAgcmV0dXJuIDA7Cit9CiAKIHN0YXRpYyBQeUdldFNldERlZiBnZW5fZ2V0c2V0bGlzdFtdID0gewotICAgIHsiX19uYW1lX18iLCAoZ2V0dGVyKWdlbl9nZXRfbmFtZSwgTlVMTCwgZ2VuX19uYW1lX19kb2NfX30sCi0gICAge05VTEx9CisgICAgeyJfX25hbWVfXyIsIChnZXR0ZXIpZ2VuX2dldF9uYW1lLCAoc2V0dGVyKWdlbl9zZXRfbmFtZSwKKyAgICAgUHlEb2NfU1RSKCJuYW1lIG9mIHRoZSBnZW5lcmF0b3IiKX0sCisgICAgeyJfX3F1YWxuYW1lX18iLCAoZ2V0dGVyKWdlbl9nZXRfcXVhbG5hbWUsIChzZXR0ZXIpZ2VuX3NldF9xdWFsbmFtZSwKKyAgICAgUHlEb2NfU1RSKCJxdWFsaWZpZWQgbmFtZSBvZiB0aGUgZ2VuZXJhdG9yIil9LAorICAgIHtOVUxMfSAvKiBTZW50aW5lbCAqLwogfTsKIAotCiBzdGF0aWMgUHlNZW1iZXJEZWYgZ2VuX21lbWJlcmxpc3RbXSA9IHsKLSAgICB7ImdpX2ZyYW1lIiwgICAgICAgIFRfT0JKRUNULCBvZmZzZXRvZihQeUdlbk9iamVjdCwgZ2lfZnJhbWUpLCAgICAgIFJFQURPTkxZfSwKLSAgICB7ImdpX3J1bm5pbmciLCAgICAgIFRfQk9PTCwgICAgb2Zmc2V0b2YoUHlHZW5PYmplY3QsIGdpX3J1bm5pbmcpLCAgICBSRUFET05MWX0sCi0gICAgeyJnaV9jb2RlIiwgICAgIFRfT0JKRUNULCBvZmZzZXRvZihQeUdlbk9iamVjdCwgZ2lfY29kZSksICBSRUFET05MWX0sCisgICAgeyJnaV9mcmFtZSIsICAgICBUX09CSkVDVCwgb2Zmc2V0b2YoUHlHZW5PYmplY3QsIGdpX2ZyYW1lKSwgICAgUkVBRE9OTFl9LAorICAgIHsiZ2lfcnVubmluZyIsICAgVF9CT09MLCAgIG9mZnNldG9mKFB5R2VuT2JqZWN0LCBnaV9ydW5uaW5nKSwgIFJFQURPTkxZfSwKKyAgICB7ImdpX2NvZGUiLCAgICAgIFRfT0JKRUNULCBvZmZzZXRvZihQeUdlbk9iamVjdCwgZ2lfY29kZSksICAgICBSRUFET05MWX0sCiAgICAge05VTEx9ICAgICAgLyogU2VudGluZWwgKi8KIH07CiAKQEAgLTUxMCw3ICs1NTAsNyBAQAogfTsKIAogUHlPYmplY3QgKgotUHlHZW5fTmV3KFB5RnJhbWVPYmplY3QgKmYpCitQeUdlbl9OZXdXaXRoUXVhbE5hbWUoUHlGcmFtZU9iamVjdCAqZiwgUHlPYmplY3QgKm5hbWUsIFB5T2JqZWN0ICpxdWFsbmFtZSkKIHsKICAgICBQeUdlbk9iamVjdCAqZ2VuID0gUHlPYmplY3RfR0NfTmV3KFB5R2VuT2JqZWN0LCAmUHlHZW5fVHlwZSk7CiAgICAgaWYgKGdlbiA9PSBOVUxMKSB7CkBAIC01MjMsMTAgKzU2MywyNiBAQAogICAgIGdlbi0+Z2lfY29kZSA9IChQeU9iamVjdCAqKShmLT5mX2NvZGUpOwogICAgIGdlbi0+Z2lfcnVubmluZyA9IDA7CiAgICAgZ2VuLT5naV93ZWFrcmVmbGlzdCA9IE5VTEw7CisgICAgaWYgKG5hbWUgIT0gTlVMTCkKKyAgICAgICAgZ2VuLT5naV9uYW1lID0gbmFtZTsKKyAgICBlbHNlCisgICAgICAgIGdlbi0+Z2lfbmFtZSA9ICgoUHlDb2RlT2JqZWN0ICopZ2VuLT5naV9jb2RlKS0+Y29fbmFtZTsKKyAgICBQeV9JTkNSRUYoZ2VuLT5naV9uYW1lKTsKKyAgICBpZiAocXVhbG5hbWUgIT0gTlVMTCkKKyAgICAgICAgZ2VuLT5naV9xdWFsbmFtZSA9IHF1YWxuYW1lOworICAgIGVsc2UKKyAgICAgICAgZ2VuLT5naV9xdWFsbmFtZSA9IGdlbi0+Z2lfbmFtZTsKKyAgICBQeV9JTkNSRUYoZ2VuLT5naV9xdWFsbmFtZSk7CiAgICAgX1B5T2JqZWN0X0dDX1RSQUNLKGdlbik7CiAgICAgcmV0dXJuIChQeU9iamVjdCAqKWdlbjsKIH0KIAorUHlPYmplY3QgKgorUHlHZW5fTmV3KFB5RnJhbWVPYmplY3QgKmYpCit7CisgICAgcmV0dXJuIFB5R2VuX05ld1dpdGhRdWFsTmFtZShmLCBOVUxMLCBOVUxMKTsKK30KKwogaW50CiBQeUdlbl9OZWVkc0ZpbmFsaXppbmcoUHlHZW5PYmplY3QgKmdlbikKIHsKZGlmZiAtLWdpdCBhL09iamVjdHMvbGlzdG9iamVjdC5jIGIvT2JqZWN0cy9saXN0b2JqZWN0LmMKaW5kZXggYjZjMWQ3OC4uOGY4OGQxOCAxMDA2NDQKLS0tIGEvT2JqZWN0cy9saXN0b2JqZWN0LmMKKysrIGIvT2JqZWN0cy9saXN0b2JqZWN0LmMKQEAgLTI0NDUsNyArMjQ0NSw3IEBACiAgICAgfQogICAgIGVsc2UgewogICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVHlwZUVycm9yLAotICAgICAgICAgICAgICAgICAgICAgImxpc3QgaW5kaWNlcyBtdXN0IGJlIGludGVnZXJzLCBub3QgJS4yMDBzIiwKKyAgICAgICAgICAgICAgICAgICAgICJsaXN0IGluZGljZXMgbXVzdCBiZSBpbnRlZ2VycyBvciBzbGljZXMsIG5vdCAlLjIwMHMiLAogICAgICAgICAgICAgICAgICAgICAgaXRlbS0+b2JfdHlwZS0+dHBfbmFtZSk7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KQEAgLTI2MDksNyArMjYwOSw3IEBACiAgICAgfQogICAgIGVsc2UgewogICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVHlwZUVycm9yLAotICAgICAgICAgICAgICAgICAgICAgImxpc3QgaW5kaWNlcyBtdXN0IGJlIGludGVnZXJzLCBub3QgJS4yMDBzIiwKKyAgICAgICAgICAgICAgICAgICAgICJsaXN0IGluZGljZXMgbXVzdCBiZSBpbnRlZ2VycyBvciBzbGljZXMsIG5vdCAlLjIwMHMiLAogICAgICAgICAgICAgICAgICAgICAgaXRlbS0+b2JfdHlwZS0+dHBfbmFtZSk7CiAgICAgICAgIHJldHVybiAtMTsKICAgICB9CmRpZmYgLS1naXQgYS9PYmplY3RzL2xvbmdvYmplY3QuYyBiL09iamVjdHMvbG9uZ29iamVjdC5jCmluZGV4IDcwMzZjMGUuLjI3YmVlNTAgMTAwNjQ0Ci0tLSBhL09iamVjdHMvbG9uZ29iamVjdC5jCisrKyBiL09iamVjdHMvbG9uZ29iamVjdC5jCkBAIC0yMSw3ICsyMSw2IEBACiAgICAgICAgICBQeV9TSVpFKHgpIDwgMCA/IC0oc2RpZ2l0KSh4KS0+b2JfZGlnaXRbMF0gOiAgIFwKICAgICAgICAgICAgICAoUHlfU0laRSh4KSA9PSAwID8gKHNkaWdpdCkwIDogICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICAgICAgICAgICAgKHNkaWdpdCkoeCktPm9iX2RpZ2l0WzBdKSkKLSNkZWZpbmUgQUJTKHgpICgoeCkgPCAwID8gLSh4KSA6ICh4KSkKIAogI2lmIE5TTUFMTE5FR0lOVFMgKyBOU01BTExQT1NJTlRTID4gMAogLyogU21hbGwgaW50ZWdlcnMgYXJlIHByZWFsbG9jYXRlZCBpbiB0aGlzIGFycmF5IHNvIHRoYXQgdGhleQpAQCAtNTcsNyArNTYsNyBAQAogc3RhdGljIFB5TG9uZ09iamVjdCAqCiBtYXliZV9zbWFsbF9sb25nKFB5TG9uZ09iamVjdCAqdikKIHsKLSAgICBpZiAodiAmJiBBQlMoUHlfU0laRSh2KSkgPD0gMSkgeworICAgIGlmICh2ICYmIFB5X0FCUyhQeV9TSVpFKHYpKSA8PSAxKSB7CiAgICAgICAgIHNkaWdpdCBpdmFsID0gTUVESVVNX1ZBTFVFKHYpOwogICAgICAgICBpZiAoLU5TTUFMTE5FR0lOVFMgPD0gaXZhbCAmJiBpdmFsIDwgTlNNQUxMUE9TSU5UUykgewogICAgICAgICAgICAgUHlfREVDUkVGKHYpOwpAQCAtMTE0LDcgKzExMyw3IEBACiBzdGF0aWMgUHlMb25nT2JqZWN0ICoKIGxvbmdfbm9ybWFsaXplKFB5TG9uZ09iamVjdCAqdikKIHsKLSAgICBQeV9zc2l6ZV90IGogPSBBQlMoUHlfU0laRSh2KSk7CisgICAgUHlfc3NpemVfdCBqID0gUHlfQUJTKFB5X1NJWkUodikpOwogICAgIFB5X3NzaXplX3QgaSA9IGo7CiAKICAgICB3aGlsZSAoaSA+IDAgJiYgdi0+b2JfZGlnaXRbaS0xXSA9PSAwKQpAQCAtNzE4LDcgKzcxNyw3IEBACiAKICAgICBhc3NlcnQodiAhPSBOVUxMKTsKICAgICBhc3NlcnQoUHlMb25nX0NoZWNrKHYpKTsKLSAgICBuZGlnaXRzID0gQUJTKFB5X1NJWkUodikpOworICAgIG5kaWdpdHMgPSBQeV9BQlMoUHlfU0laRSh2KSk7CiAgICAgYXNzZXJ0KG5kaWdpdHMgPT0gMCB8fCB2LT5vYl9kaWdpdFtuZGlnaXRzIC0gMV0gIT0gMCk7CiAgICAgaWYgKG5kaWdpdHMgPiAwKSB7CiAgICAgICAgIGRpZ2l0IG1zZCA9IHYtPm9iX2RpZ2l0W25kaWdpdHMgLSAxXTsKQEAgLTE1NjUsNyArMTU2NCw3IEBACiBzdGF0aWMgUHlMb25nT2JqZWN0ICoKIGRpdnJlbTEoUHlMb25nT2JqZWN0ICphLCBkaWdpdCBuLCBkaWdpdCAqcHJlbSkKIHsKLSAgICBjb25zdCBQeV9zc2l6ZV90IHNpemUgPSBBQlMoUHlfU0laRShhKSk7CisgICAgY29uc3QgUHlfc3NpemVfdCBzaXplID0gUHlfQUJTKFB5X1NJWkUoYSkpOwogICAgIFB5TG9uZ09iamVjdCAqejsKIAogICAgIGFzc2VydChuID4gMCAmJiBuIDw9IFB5TG9uZ19NQVNLKTsKQEAgLTE1OTcsNyArMTU5Niw3IEBACiAgICAgICAgIFB5RXJyX0JhZEludGVybmFsQ2FsbCgpOwogICAgICAgICByZXR1cm4gLTE7CiAgICAgfQotICAgIHNpemVfYSA9IEFCUyhQeV9TSVpFKGEpKTsKKyAgICBzaXplX2EgPSBQeV9BQlMoUHlfU0laRShhKSk7CiAgICAgbmVnYXRpdmUgPSBQeV9TSVpFKGEpIDwgMDsKIAogICAgIC8qIHF1aWNrIGFuZCBkaXJ0eSB1cHBlciBib3VuZCBmb3IgdGhlIG51bWJlciBvZiBkaWdpdHMKQEAgLTE3NjYsNyArMTc2NSw3IEBACiAgICAgICAgIFB5RXJyX0JhZEludGVybmFsQ2FsbCgpOwogICAgICAgICByZXR1cm4gLTE7CiAgICAgfQotICAgIHNpemVfYSA9IEFCUyhQeV9TSVpFKGEpKTsKKyAgICBzaXplX2EgPSBQeV9BQlMoUHlfU0laRShhKSk7CiAgICAgbmVnYXRpdmUgPSBQeV9TSVpFKGEpIDwgMDsKIAogICAgIC8qIENvbXB1dGUgYSByb3VnaCB1cHBlciBib3VuZCBmb3IgdGhlIGxlbmd0aCBvZiB0aGUgc3RyaW5nICovCkBAIC0yMzEzLDcgKzIzMTIsNyBAQAogICAgIFB5T2JqZWN0ICpyZXN1bHQsICpzdHJvYmo7CiAgICAgY2hhciAqZW5kID0gTlVMTDsKIAotICAgIHJlc3VsdCA9IFB5TG9uZ19Gcm9tU3RyaW5nKChjaGFyKilzLCAmZW5kLCBiYXNlKTsKKyAgICByZXN1bHQgPSBQeUxvbmdfRnJvbVN0cmluZyhzLCAmZW5kLCBiYXNlKTsKICAgICBpZiAoZW5kID09IE5VTEwgfHwgKHJlc3VsdCAhPSBOVUxMICYmIGVuZCA9PSBzICsgbGVuKSkKICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICBQeV9YREVDUkVGKHJlc3VsdCk7CkBAIC0yMzgwLDcgKzIzNzksNyBAQAogbG9uZ19kaXZyZW0oUHlMb25nT2JqZWN0ICphLCBQeUxvbmdPYmplY3QgKmIsCiAgICAgICAgICAgICBQeUxvbmdPYmplY3QgKipwZGl2LCBQeUxvbmdPYmplY3QgKipwcmVtKQogewotICAgIFB5X3NzaXplX3Qgc2l6ZV9hID0gQUJTKFB5X1NJWkUoYSkpLCBzaXplX2IgPSBBQlMoUHlfU0laRShiKSk7CisgICAgUHlfc3NpemVfdCBzaXplX2EgPSBQeV9BQlMoUHlfU0laRShhKSksIHNpemVfYiA9IFB5X0FCUyhQeV9TSVpFKGIpKTsKICAgICBQeUxvbmdPYmplY3QgKno7CiAKICAgICBpZiAoc2l6ZV9iID09IDApIHsKQEAgLTI0MzksNyArMjQzOCw3IEBACiB9CiAKIC8qIFVuc2lnbmVkIGludCBkaXZpc2lvbiB3aXRoIHJlbWFpbmRlciAtLSB0aGUgYWxnb3JpdGhtLiAgVGhlIGFyZ3VtZW50cyB2MQotICAgYW5kIHcxIHNob3VsZCBzYXRpc2Z5IDIgPD0gQUJTKFB5X1NJWkUodzEpKSA8PSBBQlMoUHlfU0laRSh2MSkpLiAqLworICAgYW5kIHcxIHNob3VsZCBzYXRpc2Z5IDIgPD0gUHlfQUJTKFB5X1NJWkUodzEpKSA8PSBQeV9BQlMoUHlfU0laRSh2MSkpLiAqLwogCiBzdGF0aWMgUHlMb25nT2JqZWN0ICoKIHhfZGl2cmVtKFB5TG9uZ09iamVjdCAqdjEsIFB5TG9uZ09iamVjdCAqdzEsIFB5TG9uZ09iamVjdCAqKnByZW0pCkBAIC0yNDU5LDggKzI0NTgsOCBAQAogICAgICAgIHRoYXQgd29uJ3Qgb3ZlcmZsb3cgYSBkaWdpdC4gKi8KIAogICAgIC8qIGFsbG9jYXRlIHNwYWNlOyB3IHdpbGwgYWxzbyBiZSB1c2VkIHRvIGhvbGQgdGhlIGZpbmFsIHJlbWFpbmRlciAqLwotICAgIHNpemVfdiA9IEFCUyhQeV9TSVpFKHYxKSk7Ci0gICAgc2l6ZV93ID0gQUJTKFB5X1NJWkUodzEpKTsKKyAgICBzaXplX3YgPSBQeV9BQlMoUHlfU0laRSh2MSkpOworICAgIHNpemVfdyA9IFB5X0FCUyhQeV9TSVpFKHcxKSk7CiAgICAgYXNzZXJ0KHNpemVfdiA+PSBzaXplX3cgJiYgc2l6ZV93ID49IDIpOyAvKiBBc3NlcnQgY2hlY2tzIGJ5IGRpdigpICovCiAgICAgdiA9IF9QeUxvbmdfTmV3KHNpemVfdisxKTsKICAgICBpZiAodiA9PSBOVUxMKSB7CkBAIC0yNTkxLDcgKzI1OTAsNyBAQAogICAgICAgIG11bHRpcGxlIG9mIDQsIHJvdW5kaW5nIHRpZXMgdG8gYSBtdWx0aXBsZSBvZiA4LiAqLwogICAgIHN0YXRpYyBjb25zdCBpbnQgaGFsZl9ldmVuX2NvcnJlY3Rpb25bOF0gPSB7MCwgLTEsIC0yLCAxLCAwLCAtMSwgMiwgMX07CiAKLSAgICBhX3NpemUgPSBBQlMoUHlfU0laRShhKSk7CisgICAgYV9zaXplID0gUHlfQUJTKFB5X1NJWkUoYSkpOwogICAgIGlmIChhX3NpemUgPT0gMCkgewogICAgICAgICAvKiBTcGVjaWFsIGNhc2UgZm9yIDA6IHNpZ25pZmljYW5kIDAuMCwgZXhwb25lbnQgMC4gKi8KICAgICAgICAgKmUgPSAwOwpAQCAtMjczMiw3ICsyNzMxLDcgQEAKICAgICAgICAgc2lnbiA9IFB5X1NJWkUoYSkgLSBQeV9TSVpFKGIpOwogICAgIH0KICAgICBlbHNlIHsKLSAgICAgICAgUHlfc3NpemVfdCBpID0gQUJTKFB5X1NJWkUoYSkpOworICAgICAgICBQeV9zc2l6ZV90IGkgPSBQeV9BQlMoUHlfU0laRShhKSk7CiAgICAgICAgIHdoaWxlICgtLWkgPj0gMCAmJiBhLT5vYl9kaWdpdFtpXSA9PSBiLT5vYl9kaWdpdFtpXSkKICAgICAgICAgICAgIDsKICAgICAgICAgaWYgKGkgPCAwKQpAQCAtMjg1MCw3ICsyODQ5LDcgQEAKIHN0YXRpYyBQeUxvbmdPYmplY3QgKgogeF9hZGQoUHlMb25nT2JqZWN0ICphLCBQeUxvbmdPYmplY3QgKmIpCiB7Ci0gICAgUHlfc3NpemVfdCBzaXplX2EgPSBBQlMoUHlfU0laRShhKSksIHNpemVfYiA9IEFCUyhQeV9TSVpFKGIpKTsKKyAgICBQeV9zc2l6ZV90IHNpemVfYSA9IFB5X0FCUyhQeV9TSVpFKGEpKSwgc2l6ZV9iID0gUHlfQUJTKFB5X1NJWkUoYikpOwogICAgIFB5TG9uZ09iamVjdCAqejsKICAgICBQeV9zc2l6ZV90IGk7CiAgICAgZGlnaXQgY2FycnkgPSAwOwpAQCAtMjg4NCw3ICsyODgzLDcgQEAKIHN0YXRpYyBQeUxvbmdPYmplY3QgKgogeF9zdWIoUHlMb25nT2JqZWN0ICphLCBQeUxvbmdPYmplY3QgKmIpCiB7Ci0gICAgUHlfc3NpemVfdCBzaXplX2EgPSBBQlMoUHlfU0laRShhKSksIHNpemVfYiA9IEFCUyhQeV9TSVpFKGIpKTsKKyAgICBQeV9zc2l6ZV90IHNpemVfYSA9IFB5X0FCUyhQeV9TSVpFKGEpKSwgc2l6ZV9iID0gUHlfQUJTKFB5X1NJWkUoYikpOwogICAgIFB5TG9uZ09iamVjdCAqejsKICAgICBQeV9zc2l6ZV90IGk7CiAgICAgaW50IHNpZ24gPSAxOwpAQCAtMjk0NCw3ICsyOTQzLDcgQEAKIAogICAgIENIRUNLX0JJTk9QKGEsIGIpOwogCi0gICAgaWYgKEFCUyhQeV9TSVpFKGEpKSA8PSAxICYmIEFCUyhQeV9TSVpFKGIpKSA8PSAxKSB7CisgICAgaWYgKFB5X0FCUyhQeV9TSVpFKGEpKSA8PSAxICYmIFB5X0FCUyhQeV9TSVpFKGIpKSA8PSAxKSB7CiAgICAgICAgIFB5T2JqZWN0ICpyZXN1bHQgPSBQeUxvbmdfRnJvbUxvbmcoTUVESVVNX1ZBTFVFKGEpICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1FRElVTV9WQUxVRShiKSk7CiAgICAgICAgIHJldHVybiByZXN1bHQ7CkBAIC0yOTc0LDcgKzI5NzMsNyBAQAogCiAgICAgQ0hFQ0tfQklOT1AoYSwgYik7CiAKLSAgICBpZiAoQUJTKFB5X1NJWkUoYSkpIDw9IDEgJiYgQUJTKFB5X1NJWkUoYikpIDw9IDEpIHsKKyAgICBpZiAoUHlfQUJTKFB5X1NJWkUoYSkpIDw9IDEgJiYgUHlfQUJTKFB5X1NJWkUoYikpIDw9IDEpIHsKICAgICAgICAgUHlPYmplY3QqIHI7CiAgICAgICAgIHIgPSBQeUxvbmdfRnJvbUxvbmcoTUVESVVNX1ZBTFVFKGEpLU1FRElVTV9WQUxVRShiKSk7CiAgICAgICAgIHJldHVybiByOwpAQCAtMzAwMyw4ICszMDAyLDggQEAKIHhfbXVsKFB5TG9uZ09iamVjdCAqYSwgUHlMb25nT2JqZWN0ICpiKQogewogICAgIFB5TG9uZ09iamVjdCAqejsKLSAgICBQeV9zc2l6ZV90IHNpemVfYSA9IEFCUyhQeV9TSVpFKGEpKTsKLSAgICBQeV9zc2l6ZV90IHNpemVfYiA9IEFCUyhQeV9TSVpFKGIpKTsKKyAgICBQeV9zc2l6ZV90IHNpemVfYSA9IFB5X0FCUyhQeV9TSVpFKGEpKTsKKyAgICBQeV9zc2l6ZV90IHNpemVfYiA9IFB5X0FCUyhQeV9TSVpFKGIpKTsKICAgICBQeV9zc2l6ZV90IGk7CiAKICAgICB6ID0gX1B5TG9uZ19OZXcoc2l6ZV9hICsgc2l6ZV9iKTsKQEAgLTMwOTgsNyArMzA5Nyw3IEBACiB7CiAgICAgUHlMb25nT2JqZWN0ICpoaSwgKmxvOwogICAgIFB5X3NzaXplX3Qgc2l6ZV9sbywgc2l6ZV9oaTsKLSAgICBjb25zdCBQeV9zc2l6ZV90IHNpemVfbiA9IEFCUyhQeV9TSVpFKG4pKTsKKyAgICBjb25zdCBQeV9zc2l6ZV90IHNpemVfbiA9IFB5X0FCUyhQeV9TSVpFKG4pKTsKIAogICAgIHNpemVfbG8gPSBQeV9NSU4oc2l6ZV9uLCBzaXplKTsKICAgICBzaXplX2hpID0gc2l6ZV9uIC0gc2l6ZV9sbzsKQEAgLTMxMjcsOCArMzEyNiw4IEBACiBzdGF0aWMgUHlMb25nT2JqZWN0ICoKIGtfbXVsKFB5TG9uZ09iamVjdCAqYSwgUHlMb25nT2JqZWN0ICpiKQogewotICAgIFB5X3NzaXplX3QgYXNpemUgPSBBQlMoUHlfU0laRShhKSk7Ci0gICAgUHlfc3NpemVfdCBic2l6ZSA9IEFCUyhQeV9TSVpFKGIpKTsKKyAgICBQeV9zc2l6ZV90IGFzaXplID0gUHlfQUJTKFB5X1NJWkUoYSkpOworICAgIFB5X3NzaXplX3QgYnNpemUgPSBQeV9BQlMoUHlfU0laRShiKSk7CiAgICAgUHlMb25nT2JqZWN0ICphaCA9IE5VTEw7CiAgICAgUHlMb25nT2JqZWN0ICphbCA9IE5VTEw7CiAgICAgUHlMb25nT2JqZWN0ICpiaCA9IE5VTEw7CkBAIC0zMzQ4LDggKzMzNDcsOCBAQAogc3RhdGljIFB5TG9uZ09iamVjdCAqCiBrX2xvcHNpZGVkX211bChQeUxvbmdPYmplY3QgKmEsIFB5TG9uZ09iamVjdCAqYikKIHsKLSAgICBjb25zdCBQeV9zc2l6ZV90IGFzaXplID0gQUJTKFB5X1NJWkUoYSkpOwotICAgIFB5X3NzaXplX3QgYnNpemUgPSBBQlMoUHlfU0laRShiKSk7CisgICAgY29uc3QgUHlfc3NpemVfdCBhc2l6ZSA9IFB5X0FCUyhQeV9TSVpFKGEpKTsKKyAgICBQeV9zc2l6ZV90IGJzaXplID0gUHlfQUJTKFB5X1NJWkUoYikpOwogICAgIFB5X3NzaXplX3QgbmJkb25lOyAgICAgICAgICAvKiAjIG9mIGIgZGlnaXRzIGFscmVhZHkgbXVsdGlwbGllZCAqLwogICAgIFB5TG9uZ09iamVjdCAqcmV0OwogICAgIFB5TG9uZ09iamVjdCAqYnNsaWNlID0gTlVMTDsKQEAgLTM0MDcsNyArMzQwNiw3IEBACiAgICAgQ0hFQ0tfQklOT1AoYSwgYik7CiAKICAgICAvKiBmYXN0IHBhdGggZm9yIHNpbmdsZS1kaWdpdCBtdWx0aXBsaWNhdGlvbiAqLwotICAgIGlmIChBQlMoUHlfU0laRShhKSkgPD0gMSAmJiBBQlMoUHlfU0laRShiKSkgPD0gMSkgeworICAgIGlmIChQeV9BQlMoUHlfU0laRShhKSkgPD0gMSAmJiBQeV9BQlMoUHlfU0laRShiKSkgPD0gMSkgewogICAgICAgICBzdHdvZGlnaXRzIHYgPSAoc3R3b2RpZ2l0cykoTUVESVVNX1ZBTFVFKGEpKSAqIE1FRElVTV9WQUxVRShiKTsKICNpZmRlZiBIQVZFX0xPTkdfTE9ORwogICAgICAgICByZXR1cm4gUHlMb25nX0Zyb21Mb25nTG9uZygoUFlfTE9OR19MT05HKXYpOwpAQCAtMzYxNCw4ICszNjEzLDggQEAKICAgICAqLwogCiAgICAgLyogUmVkdWNlIHRvIGNhc2Ugd2hlcmUgYSBhbmQgYiBhcmUgYm90aCBwb3NpdGl2ZS4gKi8KLSAgICBhX3NpemUgPSBBQlMoUHlfU0laRShhKSk7Ci0gICAgYl9zaXplID0gQUJTKFB5X1NJWkUoYikpOworICAgIGFfc2l6ZSA9IFB5X0FCUyhQeV9TSVpFKGEpKTsKKyAgICBiX3NpemUgPSBQeV9BQlMoUHlfU0laRShiKSk7CiAgICAgbmVnYXRlID0gKFB5X1NJWkUoYSkgPCAwKSBeIChQeV9TSVpFKGIpIDwgMCk7CiAgICAgaWYgKGJfc2l6ZSA9PSAwKSB7CiAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19aZXJvRGl2aXNpb25FcnJvciwKQEAgLTM3MzEsNyArMzczMCw3IEBACiAgICAgICAgICAgICBpbmV4YWN0ID0gMTsKICAgICAgICAgUHlfREVDUkVGKHJlbSk7CiAgICAgfQotICAgIHhfc2l6ZSA9IEFCUyhQeV9TSVpFKHgpKTsKKyAgICB4X3NpemUgPSBQeV9BQlMoUHlfU0laRSh4KSk7CiAgICAgYXNzZXJ0KHhfc2l6ZSA+IDApOyAvKiByZXN1bHQgb2YgZGl2aXNpb24gaXMgbmV2ZXIgemVybyAqLwogICAgIHhfYml0cyA9ICh4X3NpemUtMSkqUHlMb25nX1NISUZUK2JpdHNfaW5fZGlnaXQoeC0+b2JfZGlnaXRbeF9zaXplLTFdKTsKIApAQCAtMzg0MSw3ICszODQwLDcgQEAKIAogICAgIGlmIChQeV9TSVpFKGIpIDwgMCkgeyAgLyogaWYgZXhwb25lbnQgaXMgbmVnYXRpdmUgKi8KICAgICAgICAgaWYgKGMpIHsKLSAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsICJwb3coKSAybmQgYXJndW1lbnQgIgorICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsICJwb3coKSAybmQgYXJndW1lbnQgIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjYW5ub3QgYmUgbmVnYXRpdmUgd2hlbiAzcmQgYXJndW1lbnQgc3BlY2lmaWVkIik7CiAgICAgICAgICAgICBnb3RvIEVycm9yOwogICAgICAgICB9CkBAIC00MDAzLDcgKzQwMDIsNyBAQAogICAgIC8qIEltcGxlbWVudCB+eCBhcyAtKHgrMSkgKi8KICAgICBQeUxvbmdPYmplY3QgKng7CiAgICAgUHlMb25nT2JqZWN0ICp3OwotICAgIGlmIChBQlMoUHlfU0laRSh2KSkgPD0xKQorICAgIGlmIChQeV9BQlMoUHlfU0laRSh2KSkgPD0xKQogICAgICAgICByZXR1cm4gUHlMb25nX0Zyb21Mb25nKC0oTUVESVVNX1ZBTFVFKHYpKzEpKTsKICAgICB3ID0gKFB5TG9uZ09iamVjdCAqKVB5TG9uZ19Gcm9tTG9uZygxTCk7CiAgICAgaWYgKHcgPT0gTlVMTCkKQEAgLTQwMjAsNyArNDAxOSw3IEBACiBsb25nX25lZyhQeUxvbmdPYmplY3QgKnYpCiB7CiAgICAgUHlMb25nT2JqZWN0ICp6OwotICAgIGlmIChBQlMoUHlfU0laRSh2KSkgPD0gMSkKKyAgICBpZiAoUHlfQUJTKFB5X1NJWkUodikpIDw9IDEpCiAgICAgICAgIHJldHVybiBQeUxvbmdfRnJvbUxvbmcoLU1FRElVTV9WQUxVRSh2KSk7CiAgICAgeiA9IChQeUxvbmdPYmplY3QgKilfUHlMb25nX0NvcHkodik7CiAgICAgaWYgKHogIT0gTlVMTCkKQEAgLTQwNzUsNyArNDA3NCw3IEBACiAgICAgICAgICAgICBnb3RvIHJzaGlmdF9lcnJvcjsKICAgICAgICAgfQogICAgICAgICB3b3Jkc2hpZnQgPSBzaGlmdGJ5IC8gUHlMb25nX1NISUZUOwotICAgICAgICBuZXdzaXplID0gQUJTKFB5X1NJWkUoYSkpIC0gd29yZHNoaWZ0OworICAgICAgICBuZXdzaXplID0gUHlfQUJTKFB5X1NJWkUoYSkpIC0gd29yZHNoaWZ0OwogICAgICAgICBpZiAobmV3c2l6ZSA8PSAwKQogICAgICAgICAgICAgcmV0dXJuIFB5TG9uZ19Gcm9tTG9uZygwKTsKICAgICAgICAgbG9zaGlmdCA9IHNoaWZ0YnkgJSBQeUxvbmdfU0hJRlQ7CkBAIC00MTIyLDcgKzQxMjEsNyBAQAogICAgIHdvcmRzaGlmdCA9IHNoaWZ0YnkgLyBQeUxvbmdfU0hJRlQ7CiAgICAgcmVtc2hpZnQgID0gc2hpZnRieSAtIHdvcmRzaGlmdCAqIFB5TG9uZ19TSElGVDsKIAotICAgIG9sZHNpemUgPSBBQlMoUHlfU0laRShhKSk7CisgICAgb2xkc2l6ZSA9IFB5X0FCUyhQeV9TSVpFKGEpKTsKICAgICBuZXdzaXplID0gb2xkc2l6ZSArIHdvcmRzaGlmdDsKICAgICBpZiAocmVtc2hpZnQpCiAgICAgICAgICsrbmV3c2l6ZTsKQEAgLTQxODMsNyArNDE4Miw3IEBACiAgICAgICAgcmVzdWx0IGJhY2sgdG8gc2lnbi1tYWduaXR1ZGUgYXQgdGhlIGVuZC4gKi8KIAogICAgIC8qIElmIGEgaXMgbmVnYXRpdmUsIHJlcGxhY2UgaXQgYnkgaXRzIHR3bydzIGNvbXBsZW1lbnQuICovCi0gICAgc2l6ZV9hID0gQUJTKFB5X1NJWkUoYSkpOworICAgIHNpemVfYSA9IFB5X0FCUyhQeV9TSVpFKGEpKTsKICAgICBuZWdhID0gUHlfU0laRShhKSA8IDA7CiAgICAgaWYgKG5lZ2EpIHsKICAgICAgICAgeiA9IF9QeUxvbmdfTmV3KHNpemVfYSk7CkBAIC00MTk3LDcgKzQxOTYsNyBAQAogICAgICAgICBQeV9JTkNSRUYoYSk7CiAKICAgICAvKiBTYW1lIGZvciBiLiAqLwotICAgIHNpemVfYiA9IEFCUyhQeV9TSVpFKGIpKTsKKyAgICBzaXplX2IgPSBQeV9BQlMoUHlfU0laRShiKSk7CiAgICAgbmVnYiA9IFB5X1NJWkUoYikgPCAwOwogICAgIGlmIChuZWdiKSB7CiAgICAgICAgIHogPSBfUHlMb25nX05ldyhzaXplX2IpOwpAQCAtNDYzMCw3ICs0NjI5LDcgQEAKIHsKICAgICBQeV9zc2l6ZV90IHJlczsKIAotICAgIHJlcyA9IG9mZnNldG9mKFB5TG9uZ09iamVjdCwgb2JfZGlnaXQpICsgQUJTKFB5X1NJWkUodikpKnNpemVvZihkaWdpdCk7CisgICAgcmVzID0gb2Zmc2V0b2YoUHlMb25nT2JqZWN0LCBvYl9kaWdpdCkgKyBQeV9BQlMoUHlfU0laRSh2KSkqc2l6ZW9mKGRpZ2l0KTsKICAgICByZXR1cm4gUHlMb25nX0Zyb21Tc2l6ZV90KHJlcyk7CiB9CiAKQEAgLTQ2NDQsNyArNDY0Myw3IEBACiAgICAgYXNzZXJ0KHYgIT0gTlVMTCk7CiAgICAgYXNzZXJ0KFB5TG9uZ19DaGVjayh2KSk7CiAKLSAgICBuZGlnaXRzID0gQUJTKFB5X1NJWkUodikpOworICAgIG5kaWdpdHMgPSBQeV9BQlMoUHlfU0laRSh2KSk7CiAgICAgaWYgKG5kaWdpdHMgPT0gMCkKICAgICAgICAgcmV0dXJuIFB5TG9uZ19Gcm9tTG9uZygwKTsKIApAQCAtNDg0OSw3ICs0ODQ4LDcgQEAKICAgICBpZiAodHlwZSAhPSAmUHlMb25nX1R5cGUgJiYgUHlUeXBlX0lzU3VidHlwZSh0eXBlLCAmUHlMb25nX1R5cGUpKSB7CiAgICAgICAgIFB5TG9uZ09iamVjdCAqbmV3b2JqOwogICAgICAgICBpbnQgaTsKLSAgICAgICAgUHlfc3NpemVfdCBuID0gQUJTKFB5X1NJWkUobG9uZ19vYmopKTsKKyAgICAgICAgUHlfc3NpemVfdCBuID0gUHlfQUJTKFB5X1NJWkUobG9uZ19vYmopKTsKIAogICAgICAgICBuZXdvYmogPSAoUHlMb25nT2JqZWN0ICopdHlwZS0+dHBfYWxsb2ModHlwZSwgbik7CiAgICAgICAgIGlmIChuZXdvYmogPT0gTlVMTCkgewpAQCAtNDg3NCw5ICs0ODczLDcgQEAKIFxuXAogUmV0dXJuIHRoZSBpbnRlZ2VyIHJlcHJlc2VudGVkIGJ5IHRoZSBnaXZlbiBhcnJheSBvZiBieXRlcy5cblwKIFxuXAotVGhlIGJ5dGVzIGFyZ3VtZW50IG11c3QgZWl0aGVyIHN1cHBvcnQgdGhlIGJ1ZmZlciBwcm90b2NvbCBvciBiZSBhblxuXAotaXRlcmFibGUgb2JqZWN0IHByb2R1Y2luZyBieXRlcy4gIEJ5dGVzIGFuZCBieXRlYXJyYXkgYXJlIGV4YW1wbGVzIG9mXG5cCi1idWlsdC1pbiBvYmplY3RzIHRoYXQgc3VwcG9ydCB0aGUgYnVmZmVyIHByb3RvY29sLlxuXAorVGhlIGJ5dGVzIGFyZ3VtZW50IG11c3QgYmUgYSBieXRlcy1saWtlIG9iamVjdCAoZS5nLiBieXRlcyBvciBieXRlYXJyYXkpLlxuXAogXG5cCiBUaGUgYnl0ZW9yZGVyIGFyZ3VtZW50IGRldGVybWluZXMgdGhlIGJ5dGUgb3JkZXIgdXNlZCB0byByZXByZXNlbnQgdGhlXG5cCiBpbnRlZ2VyLiAgSWYgYnl0ZW9yZGVyIGlzICdiaWcnLCB0aGUgbW9zdCBzaWduaWZpY2FudCBieXRlIGlzIGF0IHRoZVxuXApAQCAtNTA5NSwxMyArNTA5MiwxMyBAQAogICAgICAgICAgICAgICogdG8gdGhlIG9yaWdpbmFsIHJlZmNudCArIDEgKi8KICAgICAgICAgICAgIFB5X1JFRkNOVChvcCkgPSByZWZjbnQgKyAxOwogICAgICAgICAgICAgYXNzZXJ0KFB5X1NJWkUob3ApID09IHNpemUpOwotICAgICAgICAgICAgYXNzZXJ0KHYtPm9iX2RpZ2l0WzBdID09IGFicyhpdmFsKSk7CisgICAgICAgICAgICBhc3NlcnQodi0+b2JfZGlnaXRbMF0gPT0gKGRpZ2l0KWFicyhpdmFsKSk7CiAgICAgICAgIH0KICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAodm9pZClQeU9iamVjdF9JTklUKHYsICZQeUxvbmdfVHlwZSk7CiAgICAgICAgIH0KICAgICAgICAgUHlfU0laRSh2KSA9IHNpemU7Ci0gICAgICAgIHYtPm9iX2RpZ2l0WzBdID0gYWJzKGl2YWwpOworICAgICAgICB2LT5vYl9kaWdpdFswXSA9IChkaWdpdClhYnMoaXZhbCk7CiAgICAgfQogI2VuZGlmCiAgICAgLyogaW5pdGlhbGl6ZSBpbnRfaW5mbyAqLwpkaWZmIC0tZ2l0IGEvT2JqZWN0cy9tZW1vcnlvYmplY3QuYyBiL09iamVjdHMvbWVtb3J5b2JqZWN0LmMKaW5kZXggMGJlODQ5My4uYjYxMWRjOCAxMDA2NDQKLS0tIGEvT2JqZWN0cy9tZW1vcnlvYmplY3QuYworKysgYi9PYmplY3RzL21lbW9yeW9iamVjdC5jCkBAIC00OCw5ICs0OCw2IEBACiAqLwogCiAKLSNkZWZpbmUgWFNUUklOR0laRSh2KSAjdgotI2RlZmluZSBTVFJJTkdJWkUodikgWFNUUklOR0laRSh2KQotCiAjZGVmaW5lIENIRUNLX01CVUZfUkVMRUFTRUQobWJ1ZikgXAogICAgIGlmICgoKF9QeU1hbmFnZWRCdWZmZXJPYmplY3QgKiltYnVmKS0+ZmxhZ3MmX1B5X01BTkFHRURfQlVGRkVSX1JFTEVBU0VEKSB7IFwKICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCkBAIC0yMjMsNyArMjIwLDcgQEAKIAogCiBQeURvY19TVFJWQVIobWVtb3J5X2RvYywKLSJtZW1vcnl2aWV3KG9iamVjdClcblwKKyJtZW1vcnl2aWV3KCRtb2R1bGUsIG9iamVjdClcbi0tXG5cCiBcblwKIENyZWF0ZSBhIG5ldyBtZW1vcnl2aWV3IG9iamVjdCB3aGljaCByZWZlcmVuY2VzIHRoZSBnaXZlbiBvYmplY3QuIik7CiAKQEAgLTY2MCw3ICs2NTcsNyBAQAogICAgIGlmIChzcmMtPm5kaW0gPiBQeUJVRl9NQVhfTkRJTSkgewogICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwKICAgICAgICAgICAgICJtZW1vcnl2aWV3OiBudW1iZXIgb2YgZGltZW5zaW9ucyBtdXN0IG5vdCBleGNlZWQgIgotICAgICAgICAgICAgU1RSSU5HSVpFKFB5QlVGX01BWF9ORElNKSk7CisgICAgICAgICAgICBQeV9TVFJJTkdJRlkoUHlCVUZfTUFYX05ESU0pKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQogCkBAIC03OTUsNyArNzkyLDcgQEAKICAgICB9CiAKICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVHlwZUVycm9yLAotICAgICAgICAibWVtb3J5dmlldzogJS4yMDBzIG9iamVjdCBkb2VzIG5vdCBoYXZlIHRoZSBidWZmZXIgaW50ZXJmYWNlIiwKKyAgICAgICAgIm1lbW9yeXZpZXc6IGEgYnl0ZXMtbGlrZSBvYmplY3QgaXMgcmVxdWlyZWQsIG5vdCAnJS4yMDBzJyIsCiAgICAgICAgIFB5X1RZUEUodiktPnRwX25hbWUpOwogICAgIHJldHVybiBOVUxMOwogfQpAQCAtMTM4OSw3ICsxMzg2LDcgQEAKICAgICAgICAgaWYgKG5kaW0gPiBQeUJVRl9NQVhfTkRJTSkgewogICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsCiAgICAgICAgICAgICAgICAgIm1lbW9yeXZpZXc6IG51bWJlciBvZiBkaW1lbnNpb25zIG11c3Qgbm90IGV4Y2VlZCAiCi0gICAgICAgICAgICAgICAgU1RSSU5HSVpFKFB5QlVGX01BWF9ORElNKSk7CisgICAgICAgICAgICAgICAgUHlfU1RSSU5HSUZZKFB5QlVGX01BWF9ORElNKSk7CiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKICAgICAgICAgfQogICAgICAgICBpZiAoc2VsZi0+dmlldy5uZGltICE9IDEgJiYgbmRpbSAhPSAxKSB7CkBAIC0yOTQ4LDYgKzI5NDUsNyBAQAogUHlEb2NfU1RSVkFSKG1lbW9yeV9jb250aWd1b3VzX2RvYywKICAgICAgICAgICAgICAiQSBib29sIGluZGljYXRpbmcgd2hldGhlciB0aGUgbWVtb3J5IGlzIGNvbnRpZ3VvdXMuIik7CiAKKwogc3RhdGljIFB5R2V0U2V0RGVmIG1lbW9yeV9nZXRzZXRsaXN0W10gPSB7CiAgICAgeyJvYmoiLCAgICAgICAgICAgICAoZ2V0dGVyKW1lbW9yeV9vYmpfZ2V0LCAgICAgICAgTlVMTCwgbWVtb3J5X29ial9kb2N9LAogICAgIHsibmJ5dGVzIiwgICAgICAgICAgKGdldHRlciltZW1vcnlfbmJ5dGVzX2dldCwgICAgIE5VTEwsIG1lbW9yeV9uYnl0ZXNfZG9jfSwKQEAgLTI5NjUsMTkgKzI5NjMsMTkgQEAKIH07CiAKIFB5RG9jX1NUUlZBUihtZW1vcnlfcmVsZWFzZV9kb2MsCi0iTS5yZWxlYXNlKCkgLT4gTm9uZVxuXAorInJlbGVhc2UoJHNlbGYsIC8pXG4tLVxuXAogXG5cCiBSZWxlYXNlIHRoZSB1bmRlcmx5aW5nIGJ1ZmZlciBleHBvc2VkIGJ5IHRoZSBtZW1vcnl2aWV3IG9iamVjdC4iKTsKIFB5RG9jX1NUUlZBUihtZW1vcnlfdG9ieXRlc19kb2MsCi0iTS50b2J5dGVzKCkgLT4gYnl0ZXNcblwKKyJ0b2J5dGVzKCRzZWxmLCAvKVxuLS1cblwKIFxuXAogUmV0dXJuIHRoZSBkYXRhIGluIHRoZSBidWZmZXIgYXMgYSBieXRlIHN0cmluZy4iKTsKIFB5RG9jX1NUUlZBUihtZW1vcnlfdG9saXN0X2RvYywKLSJNLnRvbGlzdCgpIC0+IGxpc3RcblwKKyJ0b2xpc3QoJHNlbGYsIC8pXG4tLVxuXAogXG5cCiBSZXR1cm4gdGhlIGRhdGEgaW4gdGhlIGJ1ZmZlciBhcyBhIGxpc3Qgb2YgZWxlbWVudHMuIik7CiBQeURvY19TVFJWQVIobWVtb3J5X2Nhc3RfZG9jLAotIk0uY2FzdChmb3JtYXRbLCBzaGFwZV0pIC0+IG1lbW9yeXZpZXdcblwKKyJjYXN0KCRzZWxmLCAvLCBmb3JtYXQsICosIHNoYXBlKVxuLS1cblwKIFxuXAogQ2FzdCBhIG1lbW9yeXZpZXcgdG8gYSBuZXcgZm9ybWF0IG9yIHNoYXBlLiIpOwogCmRpZmYgLS1naXQgYS9PYmplY3RzL21ldGhvZG9iamVjdC5jIGIvT2JqZWN0cy9tZXRob2RvYmplY3QuYwppbmRleCBmMjYxNmQ0Li44NWI0MTNmIDEwMDY0NAotLS0gYS9PYmplY3RzL21ldGhvZG9iamVjdC5jCisrKyBiL09iamVjdHMvbWV0aG9kb2JqZWN0LmMKQEAgLTM3LDYgKzM3LDcgQEAKICAgICAgICAgaWYgKG9wID09IE5VTEwpCiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CisgICAgb3AtPm1fd2Vha3JlZmxpc3QgPSBOVUxMOwogICAgIG9wLT5tX21sID0gbWw7CiAgICAgUHlfWElOQ1JFRihzZWxmKTsKICAgICBvcC0+bV9zZWxmID0gc2VsZjsKQEAgLTc3LDY4ICs3OCw3MSBAQAogfQogCiBQeU9iamVjdCAqCi1QeUNGdW5jdGlvbl9DYWxsKFB5T2JqZWN0ICpmdW5jLCBQeU9iamVjdCAqYXJnLCBQeU9iamVjdCAqa3cpCitQeUNGdW5jdGlvbl9DYWxsKFB5T2JqZWN0ICpmdW5jLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3ZHMpCiB7Ci0jZGVmaW5lIENIRUNLX1JFU1VMVChyZXMpIGFzc2VydChyZXMgIT0gTlVMTCB8fCBQeUVycl9PY2N1cnJlZCgpKQotCiAgICAgUHlDRnVuY3Rpb25PYmplY3QqIGYgPSAoUHlDRnVuY3Rpb25PYmplY3QqKWZ1bmM7CiAgICAgUHlDRnVuY3Rpb24gbWV0aCA9IFB5Q0Z1bmN0aW9uX0dFVF9GVU5DVElPTihmdW5jKTsKICAgICBQeU9iamVjdCAqc2VsZiA9IFB5Q0Z1bmN0aW9uX0dFVF9TRUxGKGZ1bmMpOwotICAgIFB5T2JqZWN0ICpyZXM7CisgICAgUHlPYmplY3QgKmFyZywgKnJlczsKICAgICBQeV9zc2l6ZV90IHNpemU7CisgICAgaW50IGZsYWdzOwogCi0gICAgc3dpdGNoIChQeUNGdW5jdGlvbl9HRVRfRkxBR1MoZnVuYykgJiB+KE1FVEhfQ0xBU1MgfCBNRVRIX1NUQVRJQyB8IE1FVEhfQ09FWElTVCkpIHsKLSAgICBjYXNlIE1FVEhfVkFSQVJHUzoKLSAgICAgICAgaWYgKGt3ID09IE5VTEwgfHwgUHlEaWN0X1NpemUoa3cpID09IDApIHsKLSAgICAgICAgICAgIHJlcyA9ICgqbWV0aCkoc2VsZiwgYXJnKTsKLSAgICAgICAgICAgIENIRUNLX1JFU1VMVChyZXMpOwotICAgICAgICAgICAgcmV0dXJuIHJlczsKLSAgICAgICAgfQotICAgICAgICBicmVhazsKLSAgICBjYXNlIE1FVEhfVkFSQVJHUyB8IE1FVEhfS0VZV09SRFM6Ci0gICAgICAgIHJlcyA9ICgqKFB5Q0Z1bmN0aW9uV2l0aEtleXdvcmRzKW1ldGgpKHNlbGYsIGFyZywga3cpOwotICAgICAgICBDSEVDS19SRVNVTFQocmVzKTsKLSAgICAgICAgcmV0dXJuIHJlczsKLSAgICBjYXNlIE1FVEhfTk9BUkdTOgotICAgICAgICBpZiAoa3cgPT0gTlVMTCB8fCBQeURpY3RfU2l6ZShrdykgPT0gMCkgewotICAgICAgICAgICAgc2l6ZSA9IFB5VHVwbGVfR0VUX1NJWkUoYXJnKTsKLSAgICAgICAgICAgIGlmIChzaXplID09IDApIHsKLSAgICAgICAgICAgICAgICByZXMgPSAoKm1ldGgpKHNlbGYsIE5VTEwpOwotICAgICAgICAgICAgICAgIENIRUNLX1JFU1VMVChyZXMpOwotICAgICAgICAgICAgICAgIHJldHVybiByZXM7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVHlwZUVycm9yLAotICAgICAgICAgICAgICAgICIlLjIwMHMoKSB0YWtlcyBubyBhcmd1bWVudHMgKCV6ZCBnaXZlbikiLAotICAgICAgICAgICAgICAgIGYtPm1fbWwtPm1sX25hbWUsIHNpemUpOwotICAgICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgICAgIH0KLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBNRVRIX086Ci0gICAgICAgIGlmIChrdyA9PSBOVUxMIHx8IFB5RGljdF9TaXplKGt3KSA9PSAwKSB7Ci0gICAgICAgICAgICBzaXplID0gUHlUdXBsZV9HRVRfU0laRShhcmcpOwotICAgICAgICAgICAgaWYgKHNpemUgPT0gMSkgewotICAgICAgICAgICAgICAgIHJlcyA9ICgqbWV0aCkoc2VsZiwgUHlUdXBsZV9HRVRfSVRFTShhcmcsIDApKTsKLSAgICAgICAgICAgICAgICBDSEVDS19SRVNVTFQocmVzKTsKLSAgICAgICAgICAgICAgICByZXR1cm4gcmVzOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1R5cGVFcnJvciwKLSAgICAgICAgICAgICAgICAiJS4yMDBzKCkgdGFrZXMgZXhhY3RseSBvbmUgYXJndW1lbnQgKCV6ZCBnaXZlbikiLAotICAgICAgICAgICAgICAgIGYtPm1fbWwtPm1sX25hbWUsIHNpemUpOwotICAgICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgICAgIH0KLSAgICAgICAgYnJlYWs7Ci0gICAgZGVmYXVsdDoKLSAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1N5c3RlbUVycm9yLCAiQmFkIGNhbGwgZmxhZ3MgaW4gIgotICAgICAgICAgICAgICAgICAgICAgICAgIlB5Q0Z1bmN0aW9uX0NhbGwuIE1FVEhfT0xEQVJHUyBpcyBubyAiCi0gICAgICAgICAgICAgICAgICAgICAgICAibG9uZ2VyIHN1cHBvcnRlZCEiKTsKKyAgICAvKiBQeUNGdW5jdGlvbl9DYWxsKCkgbXVzdCBub3QgYmUgY2FsbGVkIHdpdGggYW4gZXhjZXB0aW9uIHNldCwKKyAgICAgICBiZWNhdXNlIGl0IG1heSBjbGVhciBpdCAoZGlyZWN0bHkgb3IgaW5kaXJlY3RseSkgYW5kIHNvIHRoZQorICAgICAgIGNhbGxlciBsb29zZXMgaXRzIGV4Y2VwdGlvbiAqLworICAgIGFzc2VydCghUHlFcnJfT2NjdXJyZWQoKSk7CiAKLSAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgZmxhZ3MgPSBQeUNGdW5jdGlvbl9HRVRfRkxBR1MoZnVuYykgJiB+KE1FVEhfQ0xBU1MgfCBNRVRIX1NUQVRJQyB8IE1FVEhfQ09FWElTVCk7CisKKyAgICBpZiAoZmxhZ3MgPT0gKE1FVEhfVkFSQVJHUyB8IE1FVEhfS0VZV09SRFMpKSB7CisgICAgICAgIHJlcyA9ICgqKFB5Q0Z1bmN0aW9uV2l0aEtleXdvcmRzKW1ldGgpKHNlbGYsIGFyZ3MsIGt3ZHMpOwogICAgIH0KLSAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVHlwZUVycm9yLCAiJS4yMDBzKCkgdGFrZXMgbm8ga2V5d29yZCBhcmd1bWVudHMiLAotICAgICAgICAgICAgICAgICBmLT5tX21sLT5tbF9uYW1lKTsKLSAgICByZXR1cm4gTlVMTDsKKyAgICBlbHNlIHsKKyAgICAgICAgaWYgKGt3ZHMgIT0gTlVMTCAmJiBQeURpY3RfU2l6ZShrd2RzKSAhPSAwKSB7CisgICAgICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVHlwZUVycm9yLCAiJS4yMDBzKCkgdGFrZXMgbm8ga2V5d29yZCBhcmd1bWVudHMiLAorICAgICAgICAgICAgICAgICAgICAgICAgIGYtPm1fbWwtPm1sX25hbWUpOworICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgIH0KIAotI3VuZGVmIENIRUNLX1JFU1VMVAorICAgICAgICBzd2l0Y2ggKGZsYWdzKSB7CisgICAgICAgIGNhc2UgTUVUSF9WQVJBUkdTOgorICAgICAgICAgICAgcmVzID0gKCptZXRoKShzZWxmLCBhcmdzKTsKKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgIGNhc2UgTUVUSF9OT0FSR1M6CisgICAgICAgICAgICBzaXplID0gUHlUdXBsZV9HRVRfU0laRShhcmdzKTsKKyAgICAgICAgICAgIGlmIChzaXplICE9IDApIHsKKyAgICAgICAgICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVHlwZUVycm9yLAorICAgICAgICAgICAgICAgICAgICAiJS4yMDBzKCkgdGFrZXMgbm8gYXJndW1lbnRzICglemQgZ2l2ZW4pIiwKKyAgICAgICAgICAgICAgICAgICAgZi0+bV9tbC0+bWxfbmFtZSwgc2l6ZSk7CisgICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIHJlcyA9ICgqbWV0aCkoc2VsZiwgTlVMTCk7CisgICAgICAgICAgICBicmVhazsKKworICAgICAgICBjYXNlIE1FVEhfTzoKKyAgICAgICAgICAgIHNpemUgPSBQeVR1cGxlX0dFVF9TSVpFKGFyZ3MpOworICAgICAgICAgICAgaWYgKHNpemUgIT0gMSkgeworICAgICAgICAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19UeXBlRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICIlLjIwMHMoKSB0YWtlcyBleGFjdGx5IG9uZSBhcmd1bWVudCAoJXpkIGdpdmVuKSIsCisgICAgICAgICAgICAgICAgICAgIGYtPm1fbWwtPm1sX25hbWUsIHNpemUpOworICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBhcmcgPSBQeVR1cGxlX0dFVF9JVEVNKGFyZ3MsIDApOworICAgICAgICAgICAgcmVzID0gKCptZXRoKShzZWxmLCBhcmcpOworICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19TeXN0ZW1FcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAiQmFkIGNhbGwgZmxhZ3MgaW4gUHlDRnVuY3Rpb25fQ2FsbC4gIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICJNRVRIX09MREFSR1MgaXMgbm8gbG9uZ2VyIHN1cHBvcnRlZCEiKTsKKyAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICB9CisgICAgfQorCisgICAgcmV0dXJuIF9QeV9DaGVja0Z1bmN0aW9uUmVzdWx0KHJlcywgIlB5Q0Z1bmN0aW9uX0NhbGwiKTsKIH0KIAogLyogTWV0aG9kcyAodGhlIHN0YW5kYXJkIGJ1aWx0LWluIG1ldGhvZHMsIHRoYXQgaXMpICovCkBAIC0xNDcsNiArMTUxLDkgQEAKIG1ldGhfZGVhbGxvYyhQeUNGdW5jdGlvbk9iamVjdCAqbSkKIHsKICAgICBfUHlPYmplY3RfR0NfVU5UUkFDSyhtKTsKKyAgICBpZiAobS0+bV93ZWFrcmVmbGlzdCAhPSBOVUxMKSB7CisgICAgICAgIFB5T2JqZWN0X0NsZWFyV2Vha1JlZnMoKFB5T2JqZWN0KikgbSk7CisgICAgfQogICAgIFB5X1hERUNSRUYobS0+bV9zZWxmKTsKICAgICBQeV9YREVDUkVGKG0tPm1fbW9kdWxlKTsKICAgICBpZiAobnVtZnJlZSA8IFB5Q0Z1bmN0aW9uX01BWEZSRUVMSVNUKSB7CkBAIC0zNTIsNyArMzU5LDcgQEAKICAgICAodHJhdmVyc2Vwcm9jKW1ldGhfdHJhdmVyc2UsICAgICAgICAgICAgICAgIC8qIHRwX3RyYXZlcnNlICovCiAgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9jbGVhciAqLwogICAgIG1ldGhfcmljaGNvbXBhcmUsICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfcmljaGNvbXBhcmUgKi8KLSAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX3dlYWtsaXN0b2Zmc2V0ICovCisgICAgb2Zmc2V0b2YoUHlDRnVuY3Rpb25PYmplY3QsIG1fd2Vha3JlZmxpc3QpLCAvKiB0cF93ZWFrbGlzdG9mZnNldCAqLwogICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfaXRlciAqLwogICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfaXRlcm5leHQgKi8KICAgICBtZXRoX21ldGhvZHMsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX21ldGhvZHMgKi8KZGlmZiAtLWdpdCBhL09iamVjdHMvbW9kdWxlb2JqZWN0LmMgYi9PYmplY3RzL21vZHVsZW9iamVjdC5jCmluZGV4IGY1MDk5MzIuLjQ0MWU3MzEgMTAwNjQ0Ci0tLSBhL09iamVjdHMvbW9kdWxlb2JqZWN0LmMKKysrIGIvT2JqZWN0cy9tb2R1bGVvYmplY3QuYwpAQCAtMzIsMjAgKzMyLDI2IEBACiBtb2R1bGVfaW5pdF9kaWN0KFB5TW9kdWxlT2JqZWN0ICptb2QsIFB5T2JqZWN0ICptZF9kaWN0LAogICAgICAgICAgICAgICAgICBQeU9iamVjdCAqbmFtZSwgUHlPYmplY3QgKmRvYykKIHsKKyAgICBfUHlfSURFTlRJRklFUihfX25hbWVfXyk7CisgICAgX1B5X0lERU5USUZJRVIoX19kb2NfXyk7CisgICAgX1B5X0lERU5USUZJRVIoX19wYWNrYWdlX18pOworICAgIF9QeV9JREVOVElGSUVSKF9fbG9hZGVyX18pOworICAgIF9QeV9JREVOVElGSUVSKF9fc3BlY19fKTsKKyAgICAKICAgICBpZiAobWRfZGljdCA9PSBOVUxMKQogICAgICAgICByZXR1cm4gLTE7CiAgICAgaWYgKGRvYyA9PSBOVUxMKQogICAgICAgICBkb2MgPSBQeV9Ob25lOwogCi0gICAgaWYgKFB5RGljdF9TZXRJdGVtU3RyaW5nKG1kX2RpY3QsICJfX25hbWVfXyIsIG5hbWUpICE9IDApCisgICAgaWYgKF9QeURpY3RfU2V0SXRlbUlkKG1kX2RpY3QsICZQeUlkX19fbmFtZV9fLCBuYW1lKSAhPSAwKQogICAgICAgICByZXR1cm4gLTE7Ci0gICAgaWYgKFB5RGljdF9TZXRJdGVtU3RyaW5nKG1kX2RpY3QsICJfX2RvY19fIiwgZG9jKSAhPSAwKQorICAgIGlmIChfUHlEaWN0X1NldEl0ZW1JZChtZF9kaWN0LCAmUHlJZF9fX2RvY19fLCBkb2MpICE9IDApCiAgICAgICAgIHJldHVybiAtMTsKLSAgICBpZiAoUHlEaWN0X1NldEl0ZW1TdHJpbmcobWRfZGljdCwgIl9fcGFja2FnZV9fIiwgUHlfTm9uZSkgIT0gMCkKKyAgICBpZiAoX1B5RGljdF9TZXRJdGVtSWQobWRfZGljdCwgJlB5SWRfX19wYWNrYWdlX18sIFB5X05vbmUpICE9IDApCiAgICAgICAgIHJldHVybiAtMTsKLSAgICBpZiAoUHlEaWN0X1NldEl0ZW1TdHJpbmcobWRfZGljdCwgIl9fbG9hZGVyX18iLCBQeV9Ob25lKSAhPSAwKQorICAgIGlmIChfUHlEaWN0X1NldEl0ZW1JZChtZF9kaWN0LCAmUHlJZF9fX2xvYWRlcl9fLCBQeV9Ob25lKSAhPSAwKQogICAgICAgICByZXR1cm4gLTE7Ci0gICAgaWYgKFB5RGljdF9TZXRJdGVtU3RyaW5nKG1kX2RpY3QsICJfX3NwZWNfXyIsIFB5X05vbmUpICE9IDApCisgICAgaWYgKF9QeURpY3RfU2V0SXRlbUlkKG1kX2RpY3QsICZQeUlkX19fc3BlY19fLCBQeV9Ob25lKSAhPSAwKQogICAgICAgICByZXR1cm4gLTE7CiAgICAgaWYgKFB5VW5pY29kZV9DaGVja0V4YWN0KG5hbWUpKSB7CiAgICAgICAgIFB5X0lOQ1JFRihuYW1lKTsKQEAgLTE4NCw4ICsxOTAsOSBAQAogICAgICAgICBQeV9ERUNSRUYobik7CiAgICAgfQogICAgIGlmIChtb2R1bGUtPm1fZG9jICE9IE5VTEwpIHsKKyAgICAgICAgX1B5X0lERU5USUZJRVIoX19kb2NfXyk7CiAgICAgICAgIHYgPSBQeVVuaWNvZGVfRnJvbVN0cmluZyhtb2R1bGUtPm1fZG9jKTsKLSAgICAgICAgaWYgKHYgPT0gTlVMTCB8fCBQeURpY3RfU2V0SXRlbVN0cmluZyhkLCAiX19kb2NfXyIsIHYpICE9IDApIHsKKyAgICAgICAgaWYgKHYgPT0gTlVMTCB8fCBfUHlEaWN0X1NldEl0ZW1JZChkLCAmUHlJZF9fX2RvY19fLCB2KSAhPSAwKSB7CiAgICAgICAgICAgICBQeV9YREVDUkVGKHYpOwogICAgICAgICAgICAgUHlfREVDUkVGKG0pOwogICAgICAgICAgICAgcmV0dXJuIE5VTEw7CkBAIC0yMTQsNiArMjIxLDcgQEAKIFB5T2JqZWN0KgogUHlNb2R1bGVfR2V0TmFtZU9iamVjdChQeU9iamVjdCAqbSkKIHsKKyAgICBfUHlfSURFTlRJRklFUihfX25hbWVfXyk7CiAgICAgUHlPYmplY3QgKmQ7CiAgICAgUHlPYmplY3QgKm5hbWU7CiAgICAgaWYgKCFQeU1vZHVsZV9DaGVjayhtKSkgewpAQCAtMjIyLDcgKzIzMCw3IEBACiAgICAgfQogICAgIGQgPSAoKFB5TW9kdWxlT2JqZWN0ICopbSktPm1kX2RpY3Q7CiAgICAgaWYgKGQgPT0gTlVMTCB8fAotICAgICAgICAobmFtZSA9IFB5RGljdF9HZXRJdGVtU3RyaW5nKGQsICJfX25hbWVfXyIpKSA9PSBOVUxMIHx8CisgICAgICAgIChuYW1lID0gX1B5RGljdF9HZXRJdGVtSWQoZCwgJlB5SWRfX19uYW1lX18pKSA9PSBOVUxMIHx8CiAgICAgICAgICFQeVVuaWNvZGVfQ2hlY2sobmFtZSkpCiAgICAgewogICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfU3lzdGVtRXJyb3IsICJuYW1lbGVzcyBtb2R1bGUiKTsKQEAgLTI0NSw2ICsyNTMsNyBAQAogUHlPYmplY3QqCiBQeU1vZHVsZV9HZXRGaWxlbmFtZU9iamVjdChQeU9iamVjdCAqbSkKIHsKKyAgICBfUHlfSURFTlRJRklFUihfX2ZpbGVfXyk7CiAgICAgUHlPYmplY3QgKmQ7CiAgICAgUHlPYmplY3QgKmZpbGVvYmo7CiAgICAgaWYgKCFQeU1vZHVsZV9DaGVjayhtKSkgewpAQCAtMjUzLDcgKzI2Miw3IEBACiAgICAgfQogICAgIGQgPSAoKFB5TW9kdWxlT2JqZWN0ICopbSktPm1kX2RpY3Q7CiAgICAgaWYgKGQgPT0gTlVMTCB8fAotICAgICAgICAoZmlsZW9iaiA9IFB5RGljdF9HZXRJdGVtU3RyaW5nKGQsICJfX2ZpbGVfXyIpKSA9PSBOVUxMIHx8CisgICAgICAgIChmaWxlb2JqID0gX1B5RGljdF9HZXRJdGVtSWQoZCwgJlB5SWRfX19maWxlX18pKSA9PSBOVUxMIHx8CiAgICAgICAgICFQeVVuaWNvZGVfQ2hlY2soZmlsZW9iaikpCiAgICAgewogICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfU3lzdGVtRXJyb3IsICJtb2R1bGUgZmlsZW5hbWUgbWlzc2luZyIpOwpAQCAtNDExLDYgKzQyMCwzMSBAQAogICAgIHJldHVybiBQeU9iamVjdF9DYWxsTWV0aG9kKGludGVycC0+aW1wb3J0bGliLCAiX21vZHVsZV9yZXByIiwgIk8iLCBtKTsKIH0KIAorc3RhdGljIFB5T2JqZWN0KgorbW9kdWxlX2dldGF0dHJvKFB5TW9kdWxlT2JqZWN0ICptLCBQeU9iamVjdCAqbmFtZSkKK3sKKyAgICBQeU9iamVjdCAqYXR0ciwgKm1vZF9uYW1lOworICAgIGF0dHIgPSBQeU9iamVjdF9HZW5lcmljR2V0QXR0cigoUHlPYmplY3QgKiltLCBuYW1lKTsKKyAgICBpZiAoYXR0ciB8fCAhUHlFcnJfRXhjZXB0aW9uTWF0Y2hlcyhQeUV4Y19BdHRyaWJ1dGVFcnJvcikpCisgICAgICAgIHJldHVybiBhdHRyOworICAgIFB5RXJyX0NsZWFyKCk7CisgICAgaWYgKG0tPm1kX2RpY3QpIHsKKyAgICAgICAgX1B5X0lERU5USUZJRVIoX19uYW1lX18pOworICAgICAgICBtb2RfbmFtZSA9IF9QeURpY3RfR2V0SXRlbUlkKG0tPm1kX2RpY3QsICZQeUlkX19fbmFtZV9fKTsKKyAgICAgICAgaWYgKG1vZF9uYW1lKSB7CisgICAgICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfQXR0cmlidXRlRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAibW9kdWxlICclVScgaGFzIG5vIGF0dHJpYnV0ZSAnJVUnIiwgbW9kX25hbWUsIG5hbWUpOworICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgIH0KKyAgICAgICAgZWxzZSBpZiAoUHlFcnJfT2NjdXJyZWQoKSkgeworICAgICAgICAgICAgUHlFcnJfQ2xlYXIoKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBQeUVycl9Gb3JtYXQoUHlFeGNfQXR0cmlidXRlRXJyb3IsCisgICAgICAgICAgICAgICAgIm1vZHVsZSBoYXMgbm8gYXR0cmlidXRlICclVSciLCBuYW1lKTsKKyAgICByZXR1cm4gTlVMTDsKK30KKwogc3RhdGljIGludAogbW9kdWxlX3RyYXZlcnNlKFB5TW9kdWxlT2JqZWN0ICptLCB2aXNpdHByb2MgdmlzaXQsIHZvaWQgKmFyZykKIHsKQEAgLTQ2NCw3ICs0OTgsNiBAQAogICAgIHswfQogfTsKIAotCiBQeURvY19TVFJWQVIobW9kdWxlX2RvYywKICJtb2R1bGUobmFtZVssIGRvY10pXG5cCiBcblwKQEAgLTQ4OCw3ICs1MjEsNyBAQAogICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfaGFzaCAqLwogICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfY2FsbCAqLwogICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfc3RyICovCi0gICAgUHlPYmplY3RfR2VuZXJpY0dldEF0dHIsICAgICAgICAgICAgICAgICAgICAvKiB0cF9nZXRhdHRybyAqLworICAgIChnZXRhdHRyb2Z1bmMpbW9kdWxlX2dldGF0dHJvLCAgICAgICAgICAgICAgLyogdHBfZ2V0YXR0cm8gKi8KICAgICBQeU9iamVjdF9HZW5lcmljU2V0QXR0ciwgICAgICAgICAgICAgICAgICAgIC8qIHRwX3NldGF0dHJvICovCiAgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9hc19idWZmZXIgKi8KICAgICBQeV9UUEZMQUdTX0RFRkFVTFQgfCBQeV9UUEZMQUdTX0hBVkVfR0MgfApkaWZmIC0tZ2l0IGEvT2JqZWN0cy9vYmplY3QuYyBiL09iamVjdHMvb2JqZWN0LmMKaW5kZXggYTFhNjlmYS4uYzFkN2EwNSAxMDA2NDQKLS0tIGEvT2JqZWN0cy9vYmplY3QuYworKysgYi9PYmplY3RzL29iamVjdC5jCkBAIC0zMyw2ICszMywyMiBAQAogICAgICAgICB0b3RhbCAtPSBvLT5vYl9yZWZjbnQ7CiAgICAgcmV0dXJuIHRvdGFsOwogfQorCit2b2lkCitfUHlEZWJ1Z19QcmludFRvdGFsUmVmcyh2b2lkKSB7CisgICAgUHlPYmplY3QgKnhvcHRpb25zLCAqdmFsdWU7CisgICAgX1B5X0lERU5USUZJRVIoc2hvd3JlZmNvdW50KTsKKworICAgIHhvcHRpb25zID0gUHlTeXNfR2V0WE9wdGlvbnMoKTsKKyAgICBpZiAoeG9wdGlvbnMgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuOworICAgIHZhbHVlID0gX1B5RGljdF9HZXRJdGVtSWQoeG9wdGlvbnMsICZQeUlkX3Nob3dyZWZjb3VudCk7CisgICAgaWYgKHZhbHVlID09IFB5X1RydWUpCisgICAgICAgIGZwcmludGYoc3RkZXJyLAorICAgICAgICAgICAgICAgICJbJSIgUFlfRk9STUFUX1NJWkVfVCAiZCByZWZzLCAiCisgICAgICAgICAgICAgICAgIiUiIFBZX0ZPUk1BVF9TSVpFX1QgImQgYmxvY2tzXVxuIiwKKyAgICAgICAgICAgICAgICBfUHlfR2V0UmVmVG90YWwoKSwgX1B5X0dldEFsbG9jYXRlZEJsb2NrcygpKTsKK30KICNlbmRpZiAvKiBQeV9SRUZfREVCVUcgKi8KIAogLyogT2JqZWN0IGFsbG9jYXRpb24gcm91dGluZXMgdXNlZCBieSBORVdPQkogYW5kIE5FV1ZBUk9CSiBtYWNyb3MuCkBAIC0xNTQzLDYgKzE1NTksOSBAQAogdm9pZAogX1B5X1JlYWR5VHlwZXModm9pZCkKIHsKKyAgICBpZiAoUHlUeXBlX1JlYWR5KCZQeUJhc2VPYmplY3RfVHlwZSkgPCAwKQorICAgICAgICBQeV9GYXRhbEVycm9yKCJDYW4ndCBpbml0aWFsaXplIG9iamVjdCB0eXBlIik7CisKICAgICBpZiAoUHlUeXBlX1JlYWR5KCZQeVR5cGVfVHlwZSkgPCAwKQogICAgICAgICBQeV9GYXRhbEVycm9yKCJDYW4ndCBpbml0aWFsaXplIHR5cGUgdHlwZSIpOwogCkBAIC0xNTU1LDYgKzE1NzQsOSBAQAogICAgIGlmIChQeVR5cGVfUmVhZHkoJl9QeVdlYWtyZWZfUHJveHlUeXBlKSA8IDApCiAgICAgICAgIFB5X0ZhdGFsRXJyb3IoIkNhbid0IGluaXRpYWxpemUgd2Vha3JlZiBwcm94eSB0eXBlIik7CiAKKyAgICBpZiAoUHlUeXBlX1JlYWR5KCZQeUxvbmdfVHlwZSkgPCAwKQorICAgICAgICBQeV9GYXRhbEVycm9yKCJDYW4ndCBpbml0aWFsaXplIGludCB0eXBlIik7CisKICAgICBpZiAoUHlUeXBlX1JlYWR5KCZQeUJvb2xfVHlwZSkgPCAwKQogICAgICAgICBQeV9GYXRhbEVycm9yKCJDYW4ndCBpbml0aWFsaXplIGJvb2wgdHlwZSIpOwogCkBAIC0xNTc5LDkgKzE2MDEsNiBAQAogICAgIGlmIChQeVR5cGVfUmVhZHkoJlB5U3VwZXJfVHlwZSkgPCAwKQogICAgICAgICBQeV9GYXRhbEVycm9yKCJDYW4ndCBpbml0aWFsaXplIHN1cGVyIHR5cGUiKTsKIAotICAgIGlmIChQeVR5cGVfUmVhZHkoJlB5QmFzZU9iamVjdF9UeXBlKSA8IDApCi0gICAgICAgIFB5X0ZhdGFsRXJyb3IoIkNhbid0IGluaXRpYWxpemUgb2JqZWN0IHR5cGUiKTsKLQogICAgIGlmIChQeVR5cGVfUmVhZHkoJlB5UmFuZ2VfVHlwZSkgPCAwKQogICAgICAgICBQeV9GYXRhbEVycm9yKCJDYW4ndCBpbml0aWFsaXplIHJhbmdlIHR5cGUiKTsKIApAQCAtMTYwNiw5ICsxNjI1LDYgQEAKICAgICBpZiAoUHlUeXBlX1JlYWR5KCZQeUZsb2F0X1R5cGUpIDwgMCkKICAgICAgICAgUHlfRmF0YWxFcnJvcigiQ2FuJ3QgaW5pdGlhbGl6ZSBmbG9hdCB0eXBlIik7CiAKLSAgICBpZiAoUHlUeXBlX1JlYWR5KCZQeUxvbmdfVHlwZSkgPCAwKQotICAgICAgICBQeV9GYXRhbEVycm9yKCJDYW4ndCBpbml0aWFsaXplIGludCB0eXBlIik7Ci0KICAgICBpZiAoUHlUeXBlX1JlYWR5KCZQeUZyb3plblNldF9UeXBlKSA8IDApCiAgICAgICAgIFB5X0ZhdGFsRXJyb3IoIkNhbid0IGluaXRpYWxpemUgZnJvemVuc2V0IHR5cGUiKTsKIApAQCAtMTgwOSw5ICsxODI1LDYgQEAKIAogI2VuZGlmCiAKLS8qIEhhY2sgdG8gZm9yY2UgbG9hZGluZyBvZiBweWNhcHN1bGUubyAqLwotUHlUeXBlT2JqZWN0ICpfUHlDYXBzdWxlX2hhY2sgPSAmUHlDYXBzdWxlX1R5cGU7Ci0KIAogLyogSGFjayB0byBmb3JjZSBsb2FkaW5nIG9mIGFic3RyYWN0Lm8gKi8KIFB5X3NzaXplX3QgKCpfUHlfYWJzdHJhY3RfaGFjaykoUHlPYmplY3QgKikgPSBQeU9iamVjdF9TaXplOwpkaWZmIC0tZ2l0IGEvT2JqZWN0cy9vYm1hbGxvYy5jIGIvT2JqZWN0cy9vYm1hbGxvYy5jCmluZGV4IDNjMzMyNTUuLjdjYzg4OWYgMTAwNjQ0Ci0tLSBhL09iamVjdHMvb2JtYWxsb2MuYworKysgYi9PYmplY3RzL29ibWFsbG9jLmMKQEAgLTUsNiArNSw3IEBACiAjaWZkZWYgUFlNQUxMT0NfREVCVUcgICAvKiBXSVRIX1BZTUFMTE9DICYmIFBZTUFMTE9DX0RFQlVHICovCiAvKiBGb3J3YXJkIGRlY2xhcmF0aW9uICovCiBzdGF0aWMgdm9pZCogX1B5TWVtX0RlYnVnTWFsbG9jKHZvaWQgKmN0eCwgc2l6ZV90IHNpemUpOworc3RhdGljIHZvaWQqIF9QeU1lbV9EZWJ1Z0NhbGxvYyh2b2lkICpjdHgsIHNpemVfdCBuZWxlbSwgc2l6ZV90IGVsc2l6ZSk7CiBzdGF0aWMgdm9pZCBfUHlNZW1fRGVidWdGcmVlKHZvaWQgKmN0eCwgdm9pZCAqcCk7CiBzdGF0aWMgdm9pZCogX1B5TWVtX0RlYnVnUmVhbGxvYyh2b2lkICpjdHgsIHZvaWQgKnB0ciwgc2l6ZV90IHNpemUpOwogCkBAIC00Myw2ICs0NCw3IEBACiAKIC8qIEZvcndhcmQgZGVjbGFyYXRpb24gKi8KIHN0YXRpYyB2b2lkKiBfUHlPYmplY3RfTWFsbG9jKHZvaWQgKmN0eCwgc2l6ZV90IHNpemUpOworc3RhdGljIHZvaWQqIF9QeU9iamVjdF9DYWxsb2Modm9pZCAqY3R4LCBzaXplX3QgbmVsZW0sIHNpemVfdCBlbHNpemUpOwogc3RhdGljIHZvaWQgX1B5T2JqZWN0X0ZyZWUodm9pZCAqY3R4LCB2b2lkICpwKTsKIHN0YXRpYyB2b2lkKiBfUHlPYmplY3RfUmVhbGxvYyh2b2lkICpjdHgsIHZvaWQgKnB0ciwgc2l6ZV90IHNpemUpOwogI2VuZGlmCkBAIC01MSw3ICs1Myw3IEBACiBzdGF0aWMgdm9pZCAqCiBfUHlNZW1fUmF3TWFsbG9jKHZvaWQgKmN0eCwgc2l6ZV90IHNpemUpCiB7Ci0gICAgLyogUHlNZW1fTWFsbG9jKDApIG1lYW5zIG1hbGxvYygxKS4gU29tZSBzeXN0ZW1zIHdvdWxkIHJldHVybiBOVUxMCisgICAgLyogUHlNZW1fUmF3TWFsbG9jKDApIG1lYW5zIG1hbGxvYygxKS4gU29tZSBzeXN0ZW1zIHdvdWxkIHJldHVybiBOVUxMCiAgICAgICAgZm9yIG1hbGxvYygwKSwgd2hpY2ggd291bGQgYmUgdHJlYXRlZCBhcyBhbiBlcnJvci4gU29tZSBwbGF0Zm9ybXMgd291bGQKICAgICAgICByZXR1cm4gYSBwb2ludGVyIHdpdGggbm8gbWVtb3J5IGJlaGluZCBpdCwgd2hpY2ggd291bGQgYnJlYWsgcHltYWxsb2MuCiAgICAgICAgVG8gc29sdmUgdGhlc2UgcHJvYmxlbXMsIGFsbG9jYXRlIGFuIGV4dHJhIGJ5dGUuICovCkBAIC02MSw2ICs2MywyMCBAQAogfQogCiBzdGF0aWMgdm9pZCAqCitfUHlNZW1fUmF3Q2FsbG9jKHZvaWQgKmN0eCwgc2l6ZV90IG5lbGVtLCBzaXplX3QgZWxzaXplKQoreworICAgIC8qIFB5TWVtX1Jhd0NhbGxvYygwLCAwKSBtZWFucyBjYWxsb2MoMSwgMSkuIFNvbWUgc3lzdGVtcyB3b3VsZCByZXR1cm4gTlVMTAorICAgICAgIGZvciBjYWxsb2MoMCwgMCksIHdoaWNoIHdvdWxkIGJlIHRyZWF0ZWQgYXMgYW4gZXJyb3IuIFNvbWUgcGxhdGZvcm1zCisgICAgICAgd291bGQgcmV0dXJuIGEgcG9pbnRlciB3aXRoIG5vIG1lbW9yeSBiZWhpbmQgaXQsIHdoaWNoIHdvdWxkIGJyZWFrCisgICAgICAgcHltYWxsb2MuICBUbyBzb2x2ZSB0aGVzZSBwcm9ibGVtcywgYWxsb2NhdGUgYW4gZXh0cmEgYnl0ZS4gKi8KKyAgICBpZiAobmVsZW0gPT0gMCB8fCBlbHNpemUgPT0gMCkgeworICAgICAgICBuZWxlbSA9IDE7CisgICAgICAgIGVsc2l6ZSA9IDE7CisgICAgfQorICAgIHJldHVybiBjYWxsb2MobmVsZW0sIGVsc2l6ZSk7Cit9CisKK3N0YXRpYyB2b2lkICoKIF9QeU1lbV9SYXdSZWFsbG9jKHZvaWQgKmN0eCwgdm9pZCAqcHRyLCBzaXplX3Qgc2l6ZSkKIHsKICAgICBpZiAoc2l6ZSA9PSAwKQpAQCAtMTIzLDkgKzEzOSw5IEBACiAjZW5kaWYKIAogCi0jZGVmaW5lIFBZUkFXX0ZVTkNTIF9QeU1lbV9SYXdNYWxsb2MsIF9QeU1lbV9SYXdSZWFsbG9jLCBfUHlNZW1fUmF3RnJlZQorI2RlZmluZSBQWVJBV19GVU5DUyBfUHlNZW1fUmF3TWFsbG9jLCBfUHlNZW1fUmF3Q2FsbG9jLCBfUHlNZW1fUmF3UmVhbGxvYywgX1B5TWVtX1Jhd0ZyZWUKICNpZmRlZiBXSVRIX1BZTUFMTE9DCi0jICBkZWZpbmUgUFlPQkpfRlVOQ1MgX1B5T2JqZWN0X01hbGxvYywgX1B5T2JqZWN0X1JlYWxsb2MsIF9QeU9iamVjdF9GcmVlCisjICBkZWZpbmUgUFlPQkpfRlVOQ1MgX1B5T2JqZWN0X01hbGxvYywgX1B5T2JqZWN0X0NhbGxvYywgX1B5T2JqZWN0X1JlYWxsb2MsIF9QeU9iamVjdF9GcmVlCiAjZWxzZQogIyAgZGVmaW5lIFBZT0JKX0ZVTkNTIFBZUkFXX0ZVTkNTCiAjZW5kaWYKQEAgLTEzNSw3ICsxNTEsNyBAQAogdHlwZWRlZiBzdHJ1Y3QgewogICAgIC8qIFdlIHRhZyBlYWNoIGJsb2NrIHdpdGggYW4gQVBJIElEIGluIG9yZGVyIHRvIHRhZyBBUEkgdmlvbGF0aW9ucyAqLwogICAgIGNoYXIgYXBpX2lkOwotICAgIFB5TWVtQWxsb2NhdG9yIGFsbG9jOworICAgIFB5TWVtQWxsb2NhdG9yRXggYWxsb2M7CiB9IGRlYnVnX2FsbG9jX2FwaV90Owogc3RhdGljIHN0cnVjdCB7CiAgICAgZGVidWdfYWxsb2NfYXBpX3QgcmF3OwpAQCAtMTQ3LDEwICsxNjMsMTAgQEAKICAgICB7J28nLCB7TlVMTCwgUFlPQkpfRlVOQ1N9fQogICAgIH07CiAKLSNkZWZpbmUgUFlEQkdfRlVOQ1MgX1B5TWVtX0RlYnVnTWFsbG9jLCBfUHlNZW1fRGVidWdSZWFsbG9jLCBfUHlNZW1fRGVidWdGcmVlCisjZGVmaW5lIFBZREJHX0ZVTkNTIF9QeU1lbV9EZWJ1Z01hbGxvYywgX1B5TWVtX0RlYnVnQ2FsbG9jLCBfUHlNZW1fRGVidWdSZWFsbG9jLCBfUHlNZW1fRGVidWdGcmVlCiAjZW5kaWYKIAotc3RhdGljIFB5TWVtQWxsb2NhdG9yIF9QeU1lbV9SYXcgPSB7CitzdGF0aWMgUHlNZW1BbGxvY2F0b3JFeCBfUHlNZW1fUmF3ID0gewogI2lmZGVmIFBZTUFMTE9DX0RFQlVHCiAgICAgJl9QeU1lbV9EZWJ1Zy5yYXcsIFBZREJHX0ZVTkNTCiAjZWxzZQpAQCAtMTU4LDcgKzE3NCw3IEBACiAjZW5kaWYKICAgICB9OwogCi1zdGF0aWMgUHlNZW1BbGxvY2F0b3IgX1B5TWVtID0geworc3RhdGljIFB5TWVtQWxsb2NhdG9yRXggX1B5TWVtID0gewogI2lmZGVmIFBZTUFMTE9DX0RFQlVHCiAgICAgJl9QeU1lbV9EZWJ1Zy5tZW0sIFBZREJHX0ZVTkNTCiAjZWxzZQpAQCAtMTY2LDcgKzE4Miw3IEBACiAjZW5kaWYKICAgICB9OwogCi1zdGF0aWMgUHlNZW1BbGxvY2F0b3IgX1B5T2JqZWN0ID0geworc3RhdGljIFB5TWVtQWxsb2NhdG9yRXggX1B5T2JqZWN0ID0gewogI2lmZGVmIFBZTUFMTE9DX0RFQlVHCiAgICAgJl9QeU1lbV9EZWJ1Zy5vYmosIFBZREJHX0ZVTkNTCiAjZWxzZQpAQCAtMTkzLDkgKzIwOSwxMCBAQAogUHlNZW1fU2V0dXBEZWJ1Z0hvb2tzKHZvaWQpCiB7CiAjaWZkZWYgUFlNQUxMT0NfREVCVUcKLSAgICBQeU1lbUFsbG9jYXRvciBhbGxvYzsKKyAgICBQeU1lbUFsbG9jYXRvckV4IGFsbG9jOwogCiAgICAgYWxsb2MubWFsbG9jID0gX1B5TWVtX0RlYnVnTWFsbG9jOworICAgIGFsbG9jLmNhbGxvYyA9IF9QeU1lbV9EZWJ1Z0NhbGxvYzsKICAgICBhbGxvYy5yZWFsbG9jID0gX1B5TWVtX0RlYnVnUmVhbGxvYzsKICAgICBhbGxvYy5mcmVlID0gX1B5TWVtX0RlYnVnRnJlZTsKIApAQCAtMjIwLDcgKzIzNyw3IEBACiB9CiAKIHZvaWQKLVB5TWVtX0dldEFsbG9jYXRvcihQeU1lbUFsbG9jYXRvckRvbWFpbiBkb21haW4sIFB5TWVtQWxsb2NhdG9yICphbGxvY2F0b3IpCitQeU1lbV9HZXRBbGxvY2F0b3IoUHlNZW1BbGxvY2F0b3JEb21haW4gZG9tYWluLCBQeU1lbUFsbG9jYXRvckV4ICphbGxvY2F0b3IpCiB7CiAgICAgc3dpdGNoKGRvbWFpbikKICAgICB7CkBAIC0yMjgsMTYgKzI0NSwxNyBAQAogICAgIGNhc2UgUFlNRU1fRE9NQUlOX01FTTogKmFsbG9jYXRvciA9IF9QeU1lbTsgYnJlYWs7CiAgICAgY2FzZSBQWU1FTV9ET01BSU5fT0JKOiAqYWxsb2NhdG9yID0gX1B5T2JqZWN0OyBicmVhazsKICAgICBkZWZhdWx0OgotICAgICAgICAvKiB1bmtub3duIGRvbWFpbiAqLworICAgICAgICAvKiB1bmtub3duIGRvbWFpbjogc2V0IGFsbCBhdHRyaWJ1dGVzIHRvIE5VTEwgKi8KICAgICAgICAgYWxsb2NhdG9yLT5jdHggPSBOVUxMOwogICAgICAgICBhbGxvY2F0b3ItPm1hbGxvYyA9IE5VTEw7CisgICAgICAgIGFsbG9jYXRvci0+Y2FsbG9jID0gTlVMTDsKICAgICAgICAgYWxsb2NhdG9yLT5yZWFsbG9jID0gTlVMTDsKICAgICAgICAgYWxsb2NhdG9yLT5mcmVlID0gTlVMTDsKICAgICB9CiB9CiAKIHZvaWQKLVB5TWVtX1NldEFsbG9jYXRvcihQeU1lbUFsbG9jYXRvckRvbWFpbiBkb21haW4sIFB5TWVtQWxsb2NhdG9yICphbGxvY2F0b3IpCitQeU1lbV9TZXRBbGxvY2F0b3IoUHlNZW1BbGxvY2F0b3JEb21haW4gZG9tYWluLCBQeU1lbUFsbG9jYXRvckV4ICphbGxvY2F0b3IpCiB7CiAgICAgc3dpdGNoKGRvbWFpbikKICAgICB7CkBAIC0yNzIsMTAgKzI5MCwxOCBAQAogICAgICAqLwogICAgIGlmIChzaXplID4gKHNpemVfdClQWV9TU0laRV9UX01BWCkKICAgICAgICAgcmV0dXJuIE5VTEw7Ci0KICAgICByZXR1cm4gX1B5TWVtX1Jhdy5tYWxsb2MoX1B5TWVtX1Jhdy5jdHgsIHNpemUpOwogfQogCit2b2lkICoKK1B5TWVtX1Jhd0NhbGxvYyhzaXplX3QgbmVsZW0sIHNpemVfdCBlbHNpemUpCit7CisgICAgLyogc2VlIFB5TWVtX1Jhd01hbGxvYygpICovCisgICAgaWYgKGVsc2l6ZSAhPSAwICYmIG5lbGVtID4gKHNpemVfdClQWV9TU0laRV9UX01BWCAvIGVsc2l6ZSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgcmV0dXJuIF9QeU1lbV9SYXcuY2FsbG9jKF9QeU1lbV9SYXcuY3R4LCBuZWxlbSwgZWxzaXplKTsKK30KKwogdm9pZCoKIFB5TWVtX1Jhd1JlYWxsb2Modm9pZCAqcHRyLCBzaXplX3QgbmV3X3NpemUpCiB7CkBAIC0zMDAsNiArMzI2LDE1IEBACiB9CiAKIHZvaWQgKgorUHlNZW1fQ2FsbG9jKHNpemVfdCBuZWxlbSwgc2l6ZV90IGVsc2l6ZSkKK3sKKyAgICAvKiBzZWUgUHlNZW1fUmF3TWFsbG9jKCkgKi8KKyAgICBpZiAoZWxzaXplICE9IDAgJiYgbmVsZW0gPiAoc2l6ZV90KVBZX1NTSVpFX1RfTUFYIC8gZWxzaXplKQorICAgICAgICByZXR1cm4gTlVMTDsKKyAgICByZXR1cm4gX1B5TWVtLmNhbGxvYyhfUHlNZW0uY3R4LCBuZWxlbSwgZWxzaXplKTsKK30KKwordm9pZCAqCiBQeU1lbV9SZWFsbG9jKHZvaWQgKnB0ciwgc2l6ZV90IG5ld19zaXplKQogewogICAgIC8qIHNlZSBQeU1lbV9SYXdNYWxsb2MoKSAqLwpAQCAtMzUyLDYgKzM4NywxNSBAQAogfQogCiB2b2lkICoKK1B5T2JqZWN0X0NhbGxvYyhzaXplX3QgbmVsZW0sIHNpemVfdCBlbHNpemUpCit7CisgICAgLyogc2VlIFB5TWVtX1Jhd01hbGxvYygpICovCisgICAgaWYgKGVsc2l6ZSAhPSAwICYmIG5lbGVtID4gKHNpemVfdClQWV9TU0laRV9UX01BWCAvIGVsc2l6ZSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgcmV0dXJuIF9QeU9iamVjdC5jYWxsb2MoX1B5T2JqZWN0LmN0eCwgbmVsZW0sIGVsc2l6ZSk7Cit9CisKK3ZvaWQgKgogUHlPYmplY3RfUmVhbGxvYyh2b2lkICpwdHIsIHNpemVfdCBuZXdfc2l6ZSkKIHsKICAgICAvKiBzZWUgUHlNZW1fUmF3TWFsbG9jKCkgKi8KQEAgLTExMjIsOCArMTE2Niw5IEBACiAgKi8KIAogc3RhdGljIHZvaWQgKgotX1B5T2JqZWN0X01hbGxvYyh2b2lkICpjdHgsIHNpemVfdCBuYnl0ZXMpCitfUHlPYmplY3RfQWxsb2MoaW50IHVzZV9jYWxsb2MsIHZvaWQgKmN0eCwgc2l6ZV90IG5lbGVtLCBzaXplX3QgZWxzaXplKQogeworICAgIHNpemVfdCBuYnl0ZXM7CiAgICAgYmxvY2sgKmJwOwogICAgIHBvb2xwIHBvb2w7CiAgICAgcG9vbHAgbmV4dDsKQEAgLTExMzEsNiArMTE3Niw5IEBACiAKICAgICBfUHlfQWxsb2NhdGVkQmxvY2tzKys7CiAKKyAgICBhc3NlcnQobmVsZW0gPD0gUFlfU1NJWkVfVF9NQVggLyBlbHNpemUpOworICAgIG5ieXRlcyA9IG5lbGVtICogZWxzaXplOworCiAjaWZkZWYgV0lUSF9WQUxHUklORAogICAgIGlmIChVTkxJS0VMWShydW5uaW5nX29uX3ZhbGdyaW5kID09IC0xKSkKICAgICAgICAgcnVubmluZ19vbl92YWxncmluZCA9IFJVTk5JTkdfT05fVkFMR1JJTkQ7CkBAIC0xMTM4LDkgKzExODYsOSBAQAogICAgICAgICBnb3RvIHJlZGlyZWN0OwogI2VuZGlmCiAKLSAgICAvKgotICAgICAqIFRoaXMgaW1wbGljaXRseSByZWRpcmVjdHMgbWFsbG9jKDApLgotICAgICAqLworICAgIGlmIChuZWxlbSA9PSAwIHx8IGVsc2l6ZSA9PSAwKQorICAgICAgICBnb3RvIHJlZGlyZWN0OworCiAgICAgaWYgKChuYnl0ZXMgLSAxKSA8IFNNQUxMX1JFUVVFU1RfVEhSRVNIT0xEKSB7CiAgICAgICAgIExPQ0soKTsKICAgICAgICAgLyoKQEAgLTExNTgsNiArMTIwNiw4IEBACiAgICAgICAgICAgICBhc3NlcnQoYnAgIT0gTlVMTCk7CiAgICAgICAgICAgICBpZiAoKHBvb2wtPmZyZWVibG9jayA9ICooYmxvY2sgKiopYnApICE9IE5VTEwpIHsKICAgICAgICAgICAgICAgICBVTkxPQ0soKTsKKyAgICAgICAgICAgICAgICBpZiAodXNlX2NhbGxvYykKKyAgICAgICAgICAgICAgICAgICAgbWVtc2V0KGJwLCAwLCBuYnl0ZXMpOwogICAgICAgICAgICAgICAgIHJldHVybiAodm9pZCAqKWJwOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgLyoKQEAgLTExNzAsNiArMTIyMCw4IEBACiAgICAgICAgICAgICAgICAgcG9vbC0+bmV4dG9mZnNldCArPSBJTkRFWDJTSVpFKHNpemUpOwogICAgICAgICAgICAgICAgICooYmxvY2sgKiopKHBvb2wtPmZyZWVibG9jaykgPSBOVUxMOwogICAgICAgICAgICAgICAgIFVOTE9DSygpOworICAgICAgICAgICAgICAgIGlmICh1c2VfY2FsbG9jKQorICAgICAgICAgICAgICAgICAgICBtZW1zZXQoYnAsIDAsIG5ieXRlcyk7CiAgICAgICAgICAgICAgICAgcmV0dXJuICh2b2lkICopYnA7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICAvKiBQb29sIGlzIGZ1bGwsIHVubGluayBmcm9tIHVzZWQgcG9vbHMuICovCkBAIC0xMTc4LDYgKzEyMzAsOCBAQAogICAgICAgICAgICAgbmV4dC0+cHJldnBvb2wgPSBwb29sOwogICAgICAgICAgICAgcG9vbC0+bmV4dHBvb2wgPSBuZXh0OwogICAgICAgICAgICAgVU5MT0NLKCk7CisgICAgICAgICAgICBpZiAodXNlX2NhbGxvYykKKyAgICAgICAgICAgICAgICBtZW1zZXQoYnAsIDAsIG5ieXRlcyk7CiAgICAgICAgICAgICByZXR1cm4gKHZvaWQgKilicDsKICAgICAgICAgfQogCkBAIC0xMjU3LDYgKzEzMTEsOCBAQAogICAgICAgICAgICAgICAgIGFzc2VydChicCAhPSBOVUxMKTsKICAgICAgICAgICAgICAgICBwb29sLT5mcmVlYmxvY2sgPSAqKGJsb2NrICoqKWJwOwogICAgICAgICAgICAgICAgIFVOTE9DSygpOworICAgICAgICAgICAgICAgIGlmICh1c2VfY2FsbG9jKQorICAgICAgICAgICAgICAgICAgICBtZW1zZXQoYnAsIDAsIG5ieXRlcyk7CiAgICAgICAgICAgICAgICAgcmV0dXJuICh2b2lkICopYnA7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICAvKgpAQCAtMTI3Miw2ICsxMzI4LDggQEAKICAgICAgICAgICAgIHBvb2wtPmZyZWVibG9jayA9IGJwICsgc2l6ZTsKICAgICAgICAgICAgICooYmxvY2sgKiopKHBvb2wtPmZyZWVibG9jaykgPSBOVUxMOwogICAgICAgICAgICAgVU5MT0NLKCk7CisgICAgICAgICAgICBpZiAodXNlX2NhbGxvYykKKyAgICAgICAgICAgICAgICBtZW1zZXQoYnAsIDAsIG5ieXRlcyk7CiAgICAgICAgICAgICByZXR1cm4gKHZvaWQgKilicDsKICAgICAgICAgfQogCkBAIC0xMjgxLDcgKzEzMzksNyBAQAogICAgICAgICBwb29sID0gKHBvb2xwKXVzYWJsZV9hcmVuYXMtPnBvb2xfYWRkcmVzczsKICAgICAgICAgYXNzZXJ0KChibG9jayopcG9vbCA8PSAoYmxvY2sqKXVzYWJsZV9hcmVuYXMtPmFkZHJlc3MgKwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFSRU5BX1NJWkUgLSBQT09MX1NJWkUpOwotICAgICAgICBwb29sLT5hcmVuYWluZGV4ID0gdXNhYmxlX2FyZW5hcyAtIGFyZW5hczsKKyAgICAgICAgcG9vbC0+YXJlbmFpbmRleCA9ICh1aW50KSh1c2FibGVfYXJlbmFzIC0gYXJlbmFzKTsKICAgICAgICAgYXNzZXJ0KCZhcmVuYXNbcG9vbC0+YXJlbmFpbmRleF0gPT0gdXNhYmxlX2FyZW5hcyk7CiAgICAgICAgIHBvb2wtPnN6aWR4ID0gRFVNTVlfU0laRV9JRFg7CiAgICAgICAgIHVzYWJsZV9hcmVuYXMtPnBvb2xfYWRkcmVzcyArPSBQT09MX1NJWkU7CkBAIC0xMzExLDEzICsxMzY5LDI5IEBACiAgICAgICogaGFzIGJlZW4gcmVhY2hlZC4KICAgICAgKi8KICAgICB7Ci0gICAgICAgIHZvaWQgKnJlc3VsdCA9IFB5TWVtX1Jhd01hbGxvYyhuYnl0ZXMpOworICAgICAgICB2b2lkICpyZXN1bHQ7CisgICAgICAgIGlmICh1c2VfY2FsbG9jKQorICAgICAgICAgICAgcmVzdWx0ID0gUHlNZW1fUmF3Q2FsbG9jKG5lbGVtLCBlbHNpemUpOworICAgICAgICBlbHNlCisgICAgICAgICAgICByZXN1bHQgPSBQeU1lbV9SYXdNYWxsb2MobmJ5dGVzKTsKICAgICAgICAgaWYgKCFyZXN1bHQpCiAgICAgICAgICAgICBfUHlfQWxsb2NhdGVkQmxvY2tzLS07CiAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgfQogfQogCitzdGF0aWMgdm9pZCAqCitfUHlPYmplY3RfTWFsbG9jKHZvaWQgKmN0eCwgc2l6ZV90IG5ieXRlcykKK3sKKyAgICByZXR1cm4gX1B5T2JqZWN0X0FsbG9jKDAsIGN0eCwgMSwgbmJ5dGVzKTsKK30KKworc3RhdGljIHZvaWQgKgorX1B5T2JqZWN0X0NhbGxvYyh2b2lkICpjdHgsIHNpemVfdCBuZWxlbSwgc2l6ZV90IGVsc2l6ZSkKK3sKKyAgICByZXR1cm4gX1B5T2JqZWN0X0FsbG9jKDEsIGN0eCwgbmVsZW0sIGVsc2l6ZSk7Cit9CisKIC8qIGZyZWUgKi8KIAogQVRUUklCVVRFX05PX0FERFJFU1NfU0FGRVRZX0FOQUxZU0lTCkBAIC0xNTYxLDcgKzE2MzUsNyBAQAogI2VuZGlmCiAKICAgICBpZiAocCA9PSBOVUxMKQotICAgICAgICByZXR1cm4gX1B5T2JqZWN0X01hbGxvYyhjdHgsIG5ieXRlcyk7CisgICAgICAgIHJldHVybiBfUHlPYmplY3RfQWxsb2MoMCwgY3R4LCAxLCBuYnl0ZXMpOwogCiAjaWZkZWYgV0lUSF9WQUxHUklORAogICAgIC8qIFRyZWF0IHJ1bm5pbmdfb25fdmFsZ3JpbmQgPT0gLTEgdGhlIHNhbWUgYXMgMCAqLwpAQCAtMTU4OSw3ICsxNjYzLDcgQEAKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIHNpemUgPSBuYnl0ZXM7CiAgICAgICAgIH0KLSAgICAgICAgYnAgPSBfUHlPYmplY3RfTWFsbG9jKGN0eCwgbmJ5dGVzKTsKKyAgICAgICAgYnAgPSBfUHlPYmplY3RfQWxsb2MoMCwgY3R4LCAxLCBuYnl0ZXMpOwogICAgICAgICBpZiAoYnAgIT0gTlVMTCkgewogICAgICAgICAgICAgbWVtY3B5KGJwLCBwLCBzaXplKTsKICAgICAgICAgICAgIF9QeU9iamVjdF9GcmVlKGN0eCwgcCk7CkBAIC0xNzQ1LDcgKzE4MTksNyBAQAogKi8KIAogc3RhdGljIHZvaWQgKgotX1B5TWVtX0RlYnVnTWFsbG9jKHZvaWQgKmN0eCwgc2l6ZV90IG5ieXRlcykKK19QeU1lbV9EZWJ1Z0FsbG9jKGludCB1c2VfY2FsbG9jLCB2b2lkICpjdHgsIHNpemVfdCBuYnl0ZXMpCiB7CiAgICAgZGVidWdfYWxsb2NfYXBpX3QgKmFwaSA9IChkZWJ1Z19hbGxvY19hcGlfdCAqKWN0eDsKICAgICB1Y2hhciAqcDsgICAgICAgICAgIC8qIGJhc2UgYWRkcmVzcyBvZiBtYWxsb2MnZWQgYmxvY2sgKi8KQEAgLTE3NTgsNyArMTgzMiwxMCBAQAogICAgICAgICAvKiBvdmVyZmxvdzogIGNhbid0IHJlcHJlc2VudCB0b3RhbCBhcyBhIFB5X3NzaXplX3QgKi8KICAgICAgICAgcmV0dXJuIE5VTEw7CiAKLSAgICBwID0gKHVjaGFyICopYXBpLT5hbGxvYy5tYWxsb2MoYXBpLT5hbGxvYy5jdHgsIHRvdGFsKTsKKyAgICBpZiAodXNlX2NhbGxvYykKKyAgICAgICAgcCA9ICh1Y2hhciAqKWFwaS0+YWxsb2MuY2FsbG9jKGFwaS0+YWxsb2MuY3R4LCAxLCB0b3RhbCk7CisgICAgZWxzZQorICAgICAgICBwID0gKHVjaGFyICopYXBpLT5hbGxvYy5tYWxsb2MoYXBpLT5hbGxvYy5jdHgsIHRvdGFsKTsKICAgICBpZiAocCA9PSBOVUxMKQogICAgICAgICByZXR1cm4gTlVMTDsKIApAQCAtMTc2Nyw3ICsxODQ0LDcgQEAKICAgICBwW1NTVF0gPSAodWNoYXIpYXBpLT5hcGlfaWQ7CiAgICAgbWVtc2V0KHAgKyBTU1QgKyAxLCBGT1JCSURERU5CWVRFLCBTU1QtMSk7CiAKLSAgICBpZiAobmJ5dGVzID4gMCkKKyAgICBpZiAobmJ5dGVzID4gMCAmJiAhdXNlX2NhbGxvYykKICAgICAgICAgbWVtc2V0KHAgKyAyKlNTVCwgQ0xFQU5CWVRFLCBuYnl0ZXMpOwogCiAgICAgLyogYXQgdGFpbCwgd3JpdGUgcGFkIChTU1QgYnl0ZXMpIGFuZCBzZXJpYWxubyAoU1NUIGJ5dGVzKSAqLwpAQCAtMTc3OCw2ICsxODU1LDIxIEBACiAgICAgcmV0dXJuIHAgKyAyKlNTVDsKIH0KIAorc3RhdGljIHZvaWQgKgorX1B5TWVtX0RlYnVnTWFsbG9jKHZvaWQgKmN0eCwgc2l6ZV90IG5ieXRlcykKK3sKKyAgICByZXR1cm4gX1B5TWVtX0RlYnVnQWxsb2MoMCwgY3R4LCBuYnl0ZXMpOworfQorCitzdGF0aWMgdm9pZCAqCitfUHlNZW1fRGVidWdDYWxsb2Modm9pZCAqY3R4LCBzaXplX3QgbmVsZW0sIHNpemVfdCBlbHNpemUpCit7CisgICAgc2l6ZV90IG5ieXRlczsKKyAgICBhc3NlcnQoZWxzaXplID09IDAgfHwgbmVsZW0gPD0gUFlfU1NJWkVfVF9NQVggLyBlbHNpemUpOworICAgIG5ieXRlcyA9IG5lbGVtICogZWxzaXplOworICAgIHJldHVybiBfUHlNZW1fRGVidWdBbGxvYygxLCBjdHgsIG5ieXRlcyk7Cit9CisKIC8qIFRoZSBkZWJ1ZyBmcmVlIGZpcnN0IGNoZWNrcyB0aGUgMipTU1QgYnl0ZXMgb24gZWFjaCBlbmQgZm9yIHNhbml0eSAoaW4KICAgIHBhcnRpY3VsYXIsIHRoYXQgdGhlIEZPUkJJRERFTkJZVEVzIHdpdGggdGhlIGFwaSBJRCBhcmUgc3RpbGwgaW50YWN0KS4KICAgIFRoZW4gZmlsbHMgdGhlIG9yaWdpbmFsIGJ5dGVzIHdpdGggREVBREJZVEUuCkBAIC0xODExLDcgKzE5MDMsNyBAQAogICAgIGludCBpOwogCiAgICAgaWYgKHAgPT0gTlVMTCkKLSAgICAgICAgcmV0dXJuIF9QeU1lbV9EZWJ1Z01hbGxvYyhjdHgsIG5ieXRlcyk7CisgICAgICAgIHJldHVybiBfUHlNZW1fRGVidWdBbGxvYygwLCBjdHgsIG5ieXRlcyk7CiAKICAgICBfUHlNZW1fRGVidWdDaGVja0FkZHJlc3MoYXBpLT5hcGlfaWQsIHApOwogICAgIGJ1bXBzZXJpYWxubygpOwpkaWZmIC0tZ2l0IGEvT2JqZWN0cy9zZXRvYmplY3QuYyBiL09iamVjdHMvc2V0b2JqZWN0LmMKaW5kZXggMzRlNDNiOS4uODE5N2NkOSAxMDA2NDQKLS0tIGEvT2JqZWN0cy9zZXRvYmplY3QuYworKysgYi9PYmplY3RzL3NldG9iamVjdC5jCkBAIC00LDcgKzQsNyBAQAogICAgV3JpdHRlbiBhbmQgbWFpbnRhaW5lZCBieSBSYXltb25kIEQuIEhldHRpbmdlciA8cHl0aG9uQHJjbi5jb20+CiAgICBEZXJpdmVkIGZyb20gTGliL3NldHMucHkgYW5kIE9iamVjdHMvZGljdG9iamVjdC5jLgogCi0gICBDb3B5cmlnaHQgKGMpIDIwMDMtMjAxMyBQeXRob24gU29mdHdhcmUgRm91bmRhdGlvbi4KKyAgIENvcHlyaWdodCAoYykgMjAwMy0yMDE1IFB5dGhvbiBTb2Z0d2FyZSBGb3VuZGF0aW9uLgogICAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KIAogICAgVGhlIGJhc2ljIGxvb2t1cCBmdW5jdGlvbiB1c2VkIGJ5IGFsbCBvcGVyYXRpb25zLgpAQCAtMjMsNyArMjMsNyBAQAogCiAgICBBbGwgYXJpdGhtZXRpYyBvbiBoYXNoIHNob3VsZCBpZ25vcmUgb3ZlcmZsb3cuCiAKLSAgIFVubGlrZSB0aGUgZGljdGlvbmFyeSBpbXBsZW1lbnRhdGlvbiwgdGhlIGxvb2trZXkgZnVuY3Rpb25zIGNhbiByZXR1cm4KKyAgIFVubGlrZSB0aGUgZGljdGlvbmFyeSBpbXBsZW1lbnRhdGlvbiwgdGhlIGxvb2trZXkgZnVuY3Rpb24gY2FuIHJldHVybgogICAgTlVMTCBpZiB0aGUgcmljaCBjb21wYXJpc29uIHJldHVybnMgYW4gZXJyb3IuCiAqLwogCkBAIC01NiwxMjAgKzU2LDczIEBACiAgICAgc2V0ZW50cnkgKmVudHJ5OwogICAgIHNpemVfdCBwZXJ0dXJiID0gaGFzaDsKICAgICBzaXplX3QgbWFzayA9IHNvLT5tYXNrOwotICAgIHNpemVfdCBpID0gKHNpemVfdCloYXNoOyAvKiBVbnNpZ25lZCBmb3IgZGVmaW5lZCBvdmVyZmxvdyBiZWhhdmlvci4gKi8KKyAgICBzaXplX3QgaSA9IChzaXplX3QpaGFzaCAmIG1hc2s7IC8qIFVuc2lnbmVkIGZvciBkZWZpbmVkIG92ZXJmbG93IGJlaGF2aW9yICovCiAgICAgc2l6ZV90IGo7CiAgICAgaW50IGNtcDsKIAotICAgIGVudHJ5ID0gJnRhYmxlW2kgJiBtYXNrXTsKKyAgICBlbnRyeSA9ICZ0YWJsZVtpXTsKICAgICBpZiAoZW50cnktPmtleSA9PSBOVUxMKQogICAgICAgICByZXR1cm4gZW50cnk7CiAKICAgICB3aGlsZSAoMSkgewotICAgICAgICBpZiAoZW50cnktPmtleSA9PSBrZXkpCi0gICAgICAgICAgICByZXR1cm4gZW50cnk7Ci0gICAgICAgIGlmIChlbnRyeS0+aGFzaCA9PSBoYXNoICYmIGVudHJ5LT5rZXkgIT0gZHVtbXkpIHsKKyAgICAgICAgaWYgKGVudHJ5LT5oYXNoID09IGhhc2gpIHsKICAgICAgICAgICAgIFB5T2JqZWN0ICpzdGFydGtleSA9IGVudHJ5LT5rZXk7CisgICAgICAgICAgICAvKiBzdGFydGtleSBjYW5ub3QgYmUgYSBkdW1teSBiZWNhdXNlIHRoZSBkdW1teSBoYXNoIGZpZWxkIGlzIC0xICovCisgICAgICAgICAgICBhc3NlcnQoc3RhcnRrZXkgIT0gZHVtbXkpOworICAgICAgICAgICAgaWYgKHN0YXJ0a2V5ID09IGtleSkKKyAgICAgICAgICAgICAgICByZXR1cm4gZW50cnk7CisgICAgICAgICAgICBpZiAoUHlVbmljb2RlX0NoZWNrRXhhY3Qoc3RhcnRrZXkpCisgICAgICAgICAgICAgICAgJiYgUHlVbmljb2RlX0NoZWNrRXhhY3Qoa2V5KQorICAgICAgICAgICAgICAgICYmIHVuaWNvZGVfZXEoc3RhcnRrZXksIGtleSkpCisgICAgICAgICAgICAgICAgcmV0dXJuIGVudHJ5OwogICAgICAgICAgICAgUHlfSU5DUkVGKHN0YXJ0a2V5KTsKICAgICAgICAgICAgIGNtcCA9IFB5T2JqZWN0X1JpY2hDb21wYXJlQm9vbChzdGFydGtleSwga2V5LCBQeV9FUSk7CiAgICAgICAgICAgICBQeV9ERUNSRUYoc3RhcnRrZXkpOwotICAgICAgICAgICAgaWYgKGNtcCA8IDApCisgICAgICAgICAgICBpZiAoY21wIDwgMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB1bmxpa2VseSAqLwogICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOwotICAgICAgICAgICAgaWYgKHRhYmxlICE9IHNvLT50YWJsZSB8fCBlbnRyeS0+a2V5ICE9IHN0YXJ0a2V5KQorICAgICAgICAgICAgaWYgKHRhYmxlICE9IHNvLT50YWJsZSB8fCBlbnRyeS0+a2V5ICE9IHN0YXJ0a2V5KSAgICAgLyogdW5saWtlbHkgKi8KICAgICAgICAgICAgICAgICByZXR1cm4gc2V0X2xvb2trZXkoc28sIGtleSwgaGFzaCk7Ci0gICAgICAgICAgICBpZiAoY21wID4gMCkKKyAgICAgICAgICAgIGlmIChjbXAgPiAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIGxpa2VseSAqLwogICAgICAgICAgICAgICAgIHJldHVybiBlbnRyeTsKKyAgICAgICAgICAgIG1hc2sgPSBzby0+bWFzazsgICAgICAgICAgICAgICAgIC8qIGhlbHAgYXZvaWQgYSByZWdpc3RlciBzcGlsbCAqLwogICAgICAgICB9Ci0gICAgICAgIGlmIChlbnRyeS0+a2V5ID09IGR1bW15ICYmIGZyZWVzbG90ID09IE5VTEwpCisgICAgICAgIGlmIChlbnRyeS0+aGFzaCA9PSAtMSAmJiBmcmVlc2xvdCA9PSBOVUxMKQogICAgICAgICAgICAgZnJlZXNsb3QgPSBlbnRyeTsKIAotICAgICAgICBmb3IgKGogPSAxIDsgaiA8PSBMSU5FQVJfUFJPQkVTIDsgaisrKSB7Ci0gICAgICAgICAgICBlbnRyeSA9ICZ0YWJsZVsoaSArIGopICYgbWFza107Ci0gICAgICAgICAgICBpZiAoZW50cnktPmtleSA9PSBOVUxMKQotICAgICAgICAgICAgICAgIGdvdG8gZm91bmRfbnVsbDsKLSAgICAgICAgICAgIGlmIChlbnRyeS0+a2V5ID09IGtleSkKLSAgICAgICAgICAgICAgICByZXR1cm4gZW50cnk7Ci0gICAgICAgICAgICBpZiAoZW50cnktPmhhc2ggPT0gaGFzaCAmJiBlbnRyeS0+a2V5ICE9IGR1bW15KSB7Ci0gICAgICAgICAgICAgICAgUHlPYmplY3QgKnN0YXJ0a2V5ID0gZW50cnktPmtleTsKLSAgICAgICAgICAgICAgICBQeV9JTkNSRUYoc3RhcnRrZXkpOwotICAgICAgICAgICAgICAgIGNtcCA9IFB5T2JqZWN0X1JpY2hDb21wYXJlQm9vbChzdGFydGtleSwga2V5LCBQeV9FUSk7Ci0gICAgICAgICAgICAgICAgUHlfREVDUkVGKHN0YXJ0a2V5KTsKLSAgICAgICAgICAgICAgICBpZiAoY21wIDwgMCkKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgICAgICAgICAgICAgaWYgKHRhYmxlICE9IHNvLT50YWJsZSB8fCBlbnRyeS0+a2V5ICE9IHN0YXJ0a2V5KQotICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2V0X2xvb2trZXkoc28sIGtleSwgaGFzaCk7Ci0gICAgICAgICAgICAgICAgaWYgKGNtcCA+IDApCi0gICAgICAgICAgICAgICAgICAgIHJldHVybiBlbnRyeTsKKyAgICAgICAgaWYgKGkgKyBMSU5FQVJfUFJPQkVTIDw9IG1hc2spIHsKKyAgICAgICAgICAgIGZvciAoaiA9IDAgOyBqIDwgTElORUFSX1BST0JFUyA7IGorKykgeworICAgICAgICAgICAgICAgIGVudHJ5Kys7CisgICAgICAgICAgICAgICAgaWYgKGVudHJ5LT5rZXkgPT0gTlVMTCkKKyAgICAgICAgICAgICAgICAgICAgZ290byBmb3VuZF9udWxsOworICAgICAgICAgICAgICAgIGlmIChlbnRyeS0+aGFzaCA9PSBoYXNoKSB7CisgICAgICAgICAgICAgICAgICAgIFB5T2JqZWN0ICpzdGFydGtleSA9IGVudHJ5LT5rZXk7CisgICAgICAgICAgICAgICAgICAgIGFzc2VydChzdGFydGtleSAhPSBkdW1teSk7CisgICAgICAgICAgICAgICAgICAgIGlmIChzdGFydGtleSA9PSBrZXkpCisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZW50cnk7CisgICAgICAgICAgICAgICAgICAgIGlmIChQeVVuaWNvZGVfQ2hlY2tFeGFjdChzdGFydGtleSkKKyAgICAgICAgICAgICAgICAgICAgICAgICYmIFB5VW5pY29kZV9DaGVja0V4YWN0KGtleSkKKyAgICAgICAgICAgICAgICAgICAgICAgICYmIHVuaWNvZGVfZXEoc3RhcnRrZXksIGtleSkpCisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZW50cnk7CisgICAgICAgICAgICAgICAgICAgIFB5X0lOQ1JFRihzdGFydGtleSk7CisgICAgICAgICAgICAgICAgICAgIGNtcCA9IFB5T2JqZWN0X1JpY2hDb21wYXJlQm9vbChzdGFydGtleSwga2V5LCBQeV9FUSk7CisgICAgICAgICAgICAgICAgICAgIFB5X0RFQ1JFRihzdGFydGtleSk7CisgICAgICAgICAgICAgICAgICAgIGlmIChjbXAgPCAwKQorICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgICAgICAgICAgICAgIGlmICh0YWJsZSAhPSBzby0+dGFibGUgfHwgZW50cnktPmtleSAhPSBzdGFydGtleSkKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBzZXRfbG9va2tleShzbywga2V5LCBoYXNoKTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGNtcCA+IDApCisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZW50cnk7CisgICAgICAgICAgICAgICAgICAgIG1hc2sgPSBzby0+bWFzazsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgaWYgKGVudHJ5LT5oYXNoID09IC0xICYmIGZyZWVzbG90ID09IE5VTEwpCisgICAgICAgICAgICAgICAgICAgIGZyZWVzbG90ID0gZW50cnk7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBpZiAoZW50cnktPmtleSA9PSBkdW1teSAmJiBmcmVlc2xvdCA9PSBOVUxMKQotICAgICAgICAgICAgICAgIGZyZWVzbG90ID0gZW50cnk7CiAgICAgICAgIH0KIAogICAgICAgICBwZXJ0dXJiID4+PSBQRVJUVVJCX1NISUZUOwotICAgICAgICBpID0gaSAqIDUgKyAxICsgcGVydHVyYjsKKyAgICAgICAgaSA9IChpICogNSArIDEgKyBwZXJ0dXJiKSAmIG1hc2s7CiAKLSAgICAgICAgZW50cnkgPSAmdGFibGVbaSAmIG1hc2tdOwotICAgICAgICBpZiAoZW50cnktPmtleSA9PSBOVUxMKQotICAgICAgICAgICAgZ290byBmb3VuZF9udWxsOwotICAgIH0KLSAgZm91bmRfbnVsbDoKLSAgICByZXR1cm4gZnJlZXNsb3QgPT0gTlVMTCA/IGVudHJ5IDogZnJlZXNsb3Q7Ci19Ci0KLS8qCi0gKiBIYWNrZWQgdXAgdmVyc2lvbiBvZiBzZXRfbG9va2tleSB3aGljaCBjYW4gYXNzdW1lIGtleXMgYXJlIGFsd2F5cyB1bmljb2RlOwotICogVGhpcyBtZWFucyB3ZSBjYW4gYWx3YXlzIHVzZSB1bmljb2RlX2VxIGRpcmVjdGx5IGFuZCBub3QgaGF2ZSB0byBjaGVjayB0bwotICogc2VlIGlmIHRoZSBjb21wYXJpc29uIGFsdGVyZWQgdGhlIHRhYmxlLgotICovCi1zdGF0aWMgc2V0ZW50cnkgKgotc2V0X2xvb2trZXlfdW5pY29kZShQeVNldE9iamVjdCAqc28sIFB5T2JqZWN0ICprZXksIFB5X2hhc2hfdCBoYXNoKQotewotICAgIHNldGVudHJ5ICp0YWJsZSA9IHNvLT50YWJsZTsKLSAgICBzZXRlbnRyeSAqZnJlZXNsb3QgPSBOVUxMOwotICAgIHNldGVudHJ5ICplbnRyeTsKLSAgICBzaXplX3QgcGVydHVyYiA9IGhhc2g7Ci0gICAgc2l6ZV90IG1hc2sgPSBzby0+bWFzazsKLSAgICBzaXplX3QgaSA9IChzaXplX3QpaGFzaDsKLSAgICBzaXplX3QgajsKLQotICAgIC8qIE1ha2Ugc3VyZSB0aGlzIGZ1bmN0aW9uIGRvZXNuJ3QgaGF2ZSB0byBoYW5kbGUgbm9uLXVuaWNvZGUga2V5cywKLSAgICAgICBpbmNsdWRpbmcgc3ViY2xhc3NlcyBvZiBzdHI7IGUuZy4sIG9uZSByZWFzb24gdG8gc3ViY2xhc3MKLSAgICAgICBzdHJpbmdzIGlzIHRvIG92ZXJyaWRlIF9fZXFfXywgYW5kIGZvciBzcGVlZCB3ZSBkb24ndCBjYXRlciB0bwotICAgICAgIHRoYXQgaGVyZS4gKi8KLSAgICBpZiAoIVB5VW5pY29kZV9DaGVja0V4YWN0KGtleSkpIHsKLSAgICAgICAgc28tPmxvb2t1cCA9IHNldF9sb29ra2V5OwotICAgICAgICByZXR1cm4gc2V0X2xvb2trZXkoc28sIGtleSwgaGFzaCk7Ci0gICAgfQotCi0gICAgZW50cnkgPSAmdGFibGVbaSAmIG1hc2tdOwotICAgIGlmIChlbnRyeS0+a2V5ID09IE5VTEwpCi0gICAgICAgIHJldHVybiBlbnRyeTsKLQotICAgIHdoaWxlICgxKSB7Ci0gICAgICAgIGlmIChlbnRyeS0+a2V5ID09IGtleQotICAgICAgICAgICAgfHwgKGVudHJ5LT5oYXNoID09IGhhc2gKLSAgICAgICAgICAgICAgICAmJiBlbnRyeS0+a2V5ICE9IGR1bW15Ci0gICAgICAgICAgICAgICAgJiYgdW5pY29kZV9lcShlbnRyeS0+a2V5LCBrZXkpKSkKLSAgICAgICAgICAgIHJldHVybiBlbnRyeTsKLSAgICAgICAgaWYgKGVudHJ5LT5rZXkgPT0gZHVtbXkgJiYgZnJlZXNsb3QgPT0gTlVMTCkKLSAgICAgICAgICAgIGZyZWVzbG90ID0gZW50cnk7Ci0KLSAgICAgICAgZm9yIChqID0gMSA7IGogPD0gTElORUFSX1BST0JFUyA7IGorKykgewotICAgICAgICAgICAgZW50cnkgPSAmdGFibGVbKGkgKyBqKSAmIG1hc2tdOwotICAgICAgICAgICAgaWYgKGVudHJ5LT5rZXkgPT0gTlVMTCkKLSAgICAgICAgICAgICAgICBnb3RvIGZvdW5kX251bGw7Ci0gICAgICAgICAgICBpZiAoZW50cnktPmtleSA9PSBrZXkKLSAgICAgICAgICAgICAgICB8fCAoZW50cnktPmhhc2ggPT0gaGFzaAotICAgICAgICAgICAgICAgICAgICAmJiBlbnRyeS0+a2V5ICE9IGR1bW15Ci0gICAgICAgICAgICAgICAgICAgICYmIHVuaWNvZGVfZXEoZW50cnktPmtleSwga2V5KSkpCi0gICAgICAgICAgICAgICAgcmV0dXJuIGVudHJ5OwotICAgICAgICAgICAgaWYgKGVudHJ5LT5rZXkgPT0gZHVtbXkgJiYgZnJlZXNsb3QgPT0gTlVMTCkKLSAgICAgICAgICAgICAgICBmcmVlc2xvdCA9IGVudHJ5OwotICAgICAgICB9Ci0KLSAgICAgICAgcGVydHVyYiA+Pj0gUEVSVFVSQl9TSElGVDsKLSAgICAgICAgaSA9IGkgKiA1ICsgMSArIHBlcnR1cmI7Ci0KLSAgICAgICAgZW50cnkgPSAmdGFibGVbaSAmIG1hc2tdOworICAgICAgICBlbnRyeSA9ICZ0YWJsZVtpXTsKICAgICAgICAgaWYgKGVudHJ5LT5rZXkgPT0gTlVMTCkKICAgICAgICAgICAgIGdvdG8gZm91bmRfbnVsbDsKICAgICB9CkBAIC0xOTIsMjAgKzE0NSwyMiBAQAogICAgIHNldGVudHJ5ICplbnRyeTsKICAgICBzaXplX3QgcGVydHVyYiA9IGhhc2g7CiAgICAgc2l6ZV90IG1hc2sgPSAoc2l6ZV90KXNvLT5tYXNrOwotICAgIHNpemVfdCBpID0gKHNpemVfdCloYXNoOworICAgIHNpemVfdCBpID0gKHNpemVfdCloYXNoICYgbWFzazsKICAgICBzaXplX3QgajsKIAogICAgIHdoaWxlICgxKSB7Ci0gICAgICAgIGVudHJ5ID0gJnRhYmxlW2kgJiBtYXNrXTsKKyAgICAgICAgZW50cnkgPSAmdGFibGVbaV07CiAgICAgICAgIGlmIChlbnRyeS0+a2V5ID09IE5VTEwpCiAgICAgICAgICAgICBnb3RvIGZvdW5kX251bGw7Ci0gICAgICAgIGZvciAoaiA9IDEgOyBqIDw9IExJTkVBUl9QUk9CRVMgOyBqKyspIHsKLSAgICAgICAgICAgIGVudHJ5ID0gJnRhYmxlWyhpICsgaikgJiBtYXNrXTsKLSAgICAgICAgICAgIGlmIChlbnRyeS0+a2V5ID09IE5VTEwpCi0gICAgICAgICAgICAgICAgZ290byBmb3VuZF9udWxsOworICAgICAgICBpZiAoaSArIExJTkVBUl9QUk9CRVMgPD0gbWFzaykgeworICAgICAgICAgICAgZm9yIChqID0gMDsgaiA8IExJTkVBUl9QUk9CRVM7IGorKykgeworICAgICAgICAgICAgICAgIGVudHJ5Kys7CisgICAgICAgICAgICAgICAgaWYgKGVudHJ5LT5rZXkgPT0gTlVMTCkKKyAgICAgICAgICAgICAgICAgICAgZ290byBmb3VuZF9udWxsOworICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgICAgIHBlcnR1cmIgPj49IFBFUlRVUkJfU0hJRlQ7Ci0gICAgICAgIGkgPSBpICogNSArIDEgKyBwZXJ0dXJiOworICAgICAgICBpID0gKGkgKiA1ICsgMSArIHBlcnR1cmIpICYgbWFzazsKICAgICB9CiAgIGZvdW5kX251bGw6CiAgICAgZW50cnktPmtleSA9IGtleTsKQEAgLTIyOCwxNSArMTgzLDE0IEBACiB7CiAgICAgc2V0ZW50cnkgKmVudHJ5OwogCi0gICAgYXNzZXJ0KHNvLT5sb29rdXAgIT0gTlVMTCk7Ci0gICAgZW50cnkgPSBzby0+bG9va3VwKHNvLCBrZXksIGhhc2gpOworICAgIGVudHJ5ID0gc2V0X2xvb2trZXkoc28sIGtleSwgaGFzaCk7CiAgICAgaWYgKGVudHJ5ID09IE5VTEwpCiAgICAgICAgIHJldHVybiAtMTsKICAgICBpZiAoZW50cnktPmtleSA9PSBOVUxMKSB7CiAgICAgICAgIC8qIFVOVVNFRCAqLwotICAgICAgICBzby0+ZmlsbCsrOwogICAgICAgICBlbnRyeS0+a2V5ID0ga2V5OwogICAgICAgICBlbnRyeS0+aGFzaCA9IGhhc2g7CisgICAgICAgIHNvLT5maWxsKys7CiAgICAgICAgIHNvLT51c2VkKys7CiAgICAgfSBlbHNlIGlmIChlbnRyeS0+a2V5ID09IGR1bW15KSB7CiAgICAgICAgIC8qIERVTU1ZICovCkBAIC0yNjAsMTMgKzIxNCwxNSBAQAogewogICAgIFB5X3NzaXplX3QgbmV3c2l6ZTsKICAgICBzZXRlbnRyeSAqb2xkdGFibGUsICpuZXd0YWJsZSwgKmVudHJ5OwotICAgIFB5X3NzaXplX3QgaTsKKyAgICBQeV9zc2l6ZV90IG9sZGZpbGwgPSBzby0+ZmlsbDsKKyAgICBQeV9zc2l6ZV90IG9sZHVzZWQgPSBzby0+dXNlZDsKICAgICBpbnQgaXNfb2xkdGFibGVfbWFsbG9jZWQ7CiAgICAgc2V0ZW50cnkgc21hbGxfY29weVtQeVNldF9NSU5TSVpFXTsKIAogICAgIGFzc2VydChtaW51c2VkID49IDApOwogCiAgICAgLyogRmluZCB0aGUgc21hbGxlc3QgdGFibGUgc2l6ZSA+IG1pbnVzZWQuICovCisgICAgLyogWFhYIHNwZWVkLXVwIHdpdGggaW50cmluc2ljcyAqLwogICAgIGZvciAobmV3c2l6ZSA9IFB5U2V0X01JTlNJWkU7CiAgICAgICAgICBuZXdzaXplIDw9IG1pbnVzZWQgJiYgbmV3c2l6ZSA+IDA7CiAgICAgICAgICBuZXdzaXplIDw8PSAxKQpAQCAtMzEwLDE5ICsyNjYsMjcgQEAKIAogICAgIC8qIE1ha2UgdGhlIHNldCBlbXB0eSwgdXNpbmcgdGhlIG5ldyB0YWJsZS4gKi8KICAgICBhc3NlcnQobmV3dGFibGUgIT0gb2xkdGFibGUpOwotICAgIHNvLT50YWJsZSA9IG5ld3RhYmxlOwotICAgIHNvLT5tYXNrID0gbmV3c2l6ZSAtIDE7CiAgICAgbWVtc2V0KG5ld3RhYmxlLCAwLCBzaXplb2Yoc2V0ZW50cnkpICogbmV3c2l6ZSk7Ci0gICAgaSA9IHNvLT51c2VkOwotICAgIHNvLT51c2VkID0gMDsKICAgICBzby0+ZmlsbCA9IDA7CisgICAgc28tPnVzZWQgPSAwOworICAgIHNvLT5tYXNrID0gbmV3c2l6ZSAtIDE7CisgICAgc28tPnRhYmxlID0gbmV3dGFibGU7CiAKICAgICAvKiBDb3B5IHRoZSBkYXRhIG92ZXI7IHRoaXMgaXMgcmVmY291bnQtbmV1dHJhbCBmb3IgYWN0aXZlIGVudHJpZXM7CiAgICAgICAgZHVtbXkgZW50cmllcyBhcmVuJ3QgY29waWVkIG92ZXIsIG9mIGNvdXJzZSAqLwotICAgIGZvciAoZW50cnkgPSBvbGR0YWJsZTsgaSA+IDA7IGVudHJ5KyspIHsKLSAgICAgICAgaWYgKGVudHJ5LT5rZXkgIT0gTlVMTCAmJiBlbnRyeS0+a2V5ICE9IGR1bW15KSB7Ci0gICAgICAgICAgICAtLWk7Ci0gICAgICAgICAgICBzZXRfaW5zZXJ0X2NsZWFuKHNvLCBlbnRyeS0+a2V5LCBlbnRyeS0+aGFzaCk7CisgICAgaWYgKG9sZGZpbGwgPT0gb2xkdXNlZCkgeworICAgICAgICBmb3IgKGVudHJ5ID0gb2xkdGFibGU7IG9sZHVzZWQgPiAwOyBlbnRyeSsrKSB7CisgICAgICAgICAgICBpZiAoZW50cnktPmtleSAhPSBOVUxMKSB7CisgICAgICAgICAgICAgICAgb2xkdXNlZC0tOworICAgICAgICAgICAgICAgIHNldF9pbnNlcnRfY2xlYW4oc28sIGVudHJ5LT5rZXksIGVudHJ5LT5oYXNoKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0gZWxzZSB7CisgICAgICAgIGZvciAoZW50cnkgPSBvbGR0YWJsZTsgb2xkdXNlZCA+IDA7IGVudHJ5KyspIHsKKyAgICAgICAgICAgIGlmIChlbnRyeS0+a2V5ICE9IE5VTEwgJiYgZW50cnktPmtleSAhPSBkdW1teSkgeworICAgICAgICAgICAgICAgIG9sZHVzZWQtLTsKKyAgICAgICAgICAgICAgICBzZXRfaW5zZXJ0X2NsZWFuKHNvLCBlbnRyeS0+a2V5LCBlbnRyeS0+aGFzaCk7CisgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICB9CiAKQEAgLTM1NSw4ICszMTksOCBAQAogc3RhdGljIGludAogc2V0X2FkZF9rZXkoUHlTZXRPYmplY3QgKnNvLCBQeU9iamVjdCAqa2V5KQogeworICAgIHNldGVudHJ5IGVudHJ5OwogICAgIFB5X2hhc2hfdCBoYXNoOwotICAgIFB5X3NzaXplX3Qgbl91c2VkOwogCiAgICAgaWYgKCFQeVVuaWNvZGVfQ2hlY2tFeGFjdChrZXkpIHx8CiAgICAgICAgIChoYXNoID0gKChQeUFTQ0lJT2JqZWN0ICopIGtleSktPmhhc2gpID09IC0xKSB7CkBAIC0zNjQsMTYgKzMyOCw5IEBACiAgICAgICAgIGlmIChoYXNoID09IC0xKQogICAgICAgICAgICAgcmV0dXJuIC0xOwogICAgIH0KLSAgICBhc3NlcnQoc28tPmZpbGwgPD0gc28tPm1hc2spOyAgLyogYXQgbGVhc3Qgb25lIGVtcHR5IHNsb3QgKi8KLSAgICBuX3VzZWQgPSBzby0+dXNlZDsKLSAgICBQeV9JTkNSRUYoa2V5KTsKLSAgICBpZiAoc2V0X2luc2VydF9rZXkoc28sIGtleSwgaGFzaCkgPT0gLTEpIHsKLSAgICAgICAgUHlfREVDUkVGKGtleSk7Ci0gICAgICAgIHJldHVybiAtMTsKLSAgICB9Ci0gICAgaWYgKCEoc28tPnVzZWQgPiBuX3VzZWQgJiYgc28tPmZpbGwqMyA+PSAoc28tPm1hc2srMSkqMikpCi0gICAgICAgIHJldHVybiAwOwotICAgIHJldHVybiBzZXRfdGFibGVfcmVzaXplKHNvLCBzby0+dXNlZD41MDAwMCA/IHNvLT51c2VkKjIgOiBzby0+dXNlZCo0KTsKKyAgICBlbnRyeS5rZXkgPSBrZXk7CisgICAgZW50cnkuaGFzaCA9IGhhc2g7CisgICAgcmV0dXJuIHNldF9hZGRfZW50cnkoc28sICZlbnRyeSk7CiB9CiAKICNkZWZpbmUgRElTQ0FSRF9OT1RGT1VORCAwCkBAIC0zODEsMTYgKzMzOCwxOCBAQAogCiBzdGF0aWMgaW50CiBzZXRfZGlzY2FyZF9lbnRyeShQeVNldE9iamVjdCAqc28sIHNldGVudHJ5ICpvbGRlbnRyeSkKLXsgICAgICAgc2V0ZW50cnkgKmVudHJ5OworeworICAgIHNldGVudHJ5ICplbnRyeTsKICAgICBQeU9iamVjdCAqb2xkX2tleTsKIAotICAgIGVudHJ5ID0gKHNvLT5sb29rdXApKHNvLCBvbGRlbnRyeS0+a2V5LCBvbGRlbnRyeS0+aGFzaCk7CisgICAgZW50cnkgPSBzZXRfbG9va2tleShzbywgb2xkZW50cnktPmtleSwgb2xkZW50cnktPmhhc2gpOwogICAgIGlmIChlbnRyeSA9PSBOVUxMKQogICAgICAgICByZXR1cm4gLTE7CiAgICAgaWYgKGVudHJ5LT5rZXkgPT0gTlVMTCAgfHwgIGVudHJ5LT5rZXkgPT0gZHVtbXkpCiAgICAgICAgIHJldHVybiBESVNDQVJEX05PVEZPVU5EOwogICAgIG9sZF9rZXkgPSBlbnRyeS0+a2V5OwogICAgIGVudHJ5LT5rZXkgPSBkdW1teTsKKyAgICBlbnRyeS0+aGFzaCA9IC0xOwogICAgIHNvLT51c2VkLS07CiAgICAgUHlfREVDUkVGKG9sZF9rZXkpOwogICAgIHJldHVybiBESVNDQVJEX0ZPVU5EOwpAQCAtMzk5LDkgKzM1OCw4IEBACiBzdGF0aWMgaW50CiBzZXRfZGlzY2FyZF9rZXkoUHlTZXRPYmplY3QgKnNvLCBQeU9iamVjdCAqa2V5KQogeworICAgIHNldGVudHJ5IGVudHJ5OwogICAgIFB5X2hhc2hfdCBoYXNoOwotICAgIHNldGVudHJ5ICplbnRyeTsKLSAgICBQeU9iamVjdCAqb2xkX2tleTsKIAogICAgIGFzc2VydCAoUHlBbnlTZXRfQ2hlY2soc28pKTsKIApAQCAtNDExLDE2ICszNjksOSBAQAogICAgICAgICBpZiAoaGFzaCA9PSAtMSkKICAgICAgICAgICAgIHJldHVybiAtMTsKICAgICB9Ci0gICAgZW50cnkgPSAoc28tPmxvb2t1cCkoc28sIGtleSwgaGFzaCk7Ci0gICAgaWYgKGVudHJ5ID09IE5VTEwpCi0gICAgICAgIHJldHVybiAtMTsKLSAgICBpZiAoZW50cnktPmtleSA9PSBOVUxMICB8fCAgZW50cnktPmtleSA9PSBkdW1teSkKLSAgICAgICAgcmV0dXJuIERJU0NBUkRfTk9URk9VTkQ7Ci0gICAgb2xkX2tleSA9IGVudHJ5LT5rZXk7Ci0gICAgZW50cnktPmtleSA9IGR1bW15OwotICAgIHNvLT51c2VkLS07Ci0gICAgUHlfREVDUkVGKG9sZF9rZXkpOwotICAgIHJldHVybiBESVNDQVJEX0ZPVU5EOworICAgIGVudHJ5LmtleSA9IGtleTsKKyAgICBlbnRyeS5oYXNoID0gaGFzaDsKKyAgICByZXR1cm4gc2V0X2Rpc2NhcmRfZW50cnkoc28sICZlbnRyeSk7CiB9CiAKIHN0YXRpYyB2b2lkCkBAIC00MzcsMjAgKzM4OCwxNSBAQAogc3RhdGljIGludAogc2V0X2NsZWFyX2ludGVybmFsKFB5U2V0T2JqZWN0ICpzbykKIHsKLSAgICBzZXRlbnRyeSAqZW50cnksICp0YWJsZTsKLSAgICBpbnQgdGFibGVfaXNfbWFsbG9jZWQ7Ci0gICAgUHlfc3NpemVfdCBmaWxsOworICAgIHNldGVudHJ5ICplbnRyeTsKKyAgICBzZXRlbnRyeSAqdGFibGUgPSBzby0+dGFibGU7CisgICAgUHlfc3NpemVfdCBmaWxsID0gc28tPmZpbGw7CisgICAgUHlfc3NpemVfdCB1c2VkID0gc28tPnVzZWQ7CisgICAgaW50IHRhYmxlX2lzX21hbGxvY2VkID0gdGFibGUgIT0gc28tPnNtYWxsdGFibGU7CiAgICAgc2V0ZW50cnkgc21hbGxfY29weVtQeVNldF9NSU5TSVpFXTsKIAotI2lmZGVmIFB5X0RFQlVHCi0gICAgUHlfc3NpemVfdCBpID0gMDsKLSAgICBQeV9zc2l6ZV90IG4gPSBzby0+bWFzayArIDE7Ci0jZW5kaWYKLQogICAgIGFzc2VydCAoUHlBbnlTZXRfQ2hlY2soc28pKTsKLSAgICB0YWJsZSA9IHNvLT50YWJsZTsKICAgICBhc3NlcnQodGFibGUgIT0gTlVMTCk7Ci0gICAgdGFibGVfaXNfbWFsbG9jZWQgPSB0YWJsZSAhPSBzby0+c21hbGx0YWJsZTsKIAogICAgIC8qIFRoaXMgaXMgZGVsaWNhdGUuICBEdXJpbmcgdGhlIHByb2Nlc3Mgb2YgY2xlYXJpbmcgdGhlIHNldCwKICAgICAgKiBkZWNyZWZzIGNhbiBjYXVzZSB0aGUgc2V0IHRvIG11dGF0ZS4gIFRvIGF2b2lkIGZhdGFsIGNvbmZ1c2lvbgpAQCAtNDU4LDcgKzQwNCw2IEBACiAgICAgICogY2xlYXJpbmcgdGhlIHNsb3RzLCBhbmQgbmV2ZXIgcmVmZXIgdG8gYW55dGhpbmcgdmlhIHNvLT5yZWYgd2hpbGUKICAgICAgKiBjbGVhcmluZy4KICAgICAgKi8KLSAgICBmaWxsID0gc28tPmZpbGw7CiAgICAgaWYgKHRhYmxlX2lzX21hbGxvY2VkKQogICAgICAgICBzZXRfZW1wdHlfdG9fbWluc2l6ZShzbyk7CiAKQEAgLTQ3NywyMCArNDIyLDExIEBACiAgICAgICogYXNzZXJ0IHRoYXQgdGhlIHJlZmNvdW50IG9uIHRhYmxlIGlzIDEgbm93LCBpLmUuIHRoYXQgdGhpcyBmdW5jdGlvbgogICAgICAqIGhhcyB1bmlxdWUgYWNjZXNzIHRvIGl0LCBzbyBkZWNyZWYgc2lkZS1lZmZlY3RzIGNhbid0IGFsdGVyIGl0LgogICAgICAqLwotICAgIGZvciAoZW50cnkgPSB0YWJsZTsgZmlsbCA+IDA7ICsrZW50cnkpIHsKLSNpZmRlZiBQeV9ERUJVRwotICAgICAgICBhc3NlcnQoaSA8IG4pOwotICAgICAgICArK2k7Ci0jZW5kaWYKLSAgICAgICAgaWYgKGVudHJ5LT5rZXkpIHsKLSAgICAgICAgICAgIC0tZmlsbDsKLSAgICAgICAgICAgIGlmIChlbnRyeS0+a2V5ICE9IGR1bW15KQotICAgICAgICAgICAgICAgIFB5X0RFQ1JFRihlbnRyeS0+a2V5KTsKKyAgICBmb3IgKGVudHJ5ID0gdGFibGU7IHVzZWQgPiAwOyBlbnRyeSsrKSB7CisgICAgICAgIGlmIChlbnRyeS0+a2V5ICYmIGVudHJ5LT5rZXkgIT0gZHVtbXkpIHsKKyAgICAgICAgICAgIHVzZWQtLTsKKyAgICAgICAgICAgIFB5X0RFQ1JFRihlbnRyeS0+a2V5KTsKICAgICAgICAgfQotI2lmZGVmIFB5X0RFQlVHCi0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIGFzc2VydChlbnRyeS0+a2V5ID09IE5VTEwpOwotI2VuZGlmCiAgICAgfQogCiAgICAgaWYgKHRhYmxlX2lzX21hbGxvY2VkKQpAQCAtNTM3LDE2ICs0NzMsMTYgQEAKIHNldF9kZWFsbG9jKFB5U2V0T2JqZWN0ICpzbykKIHsKICAgICBzZXRlbnRyeSAqZW50cnk7Ci0gICAgUHlfc3NpemVfdCBmaWxsID0gc28tPmZpbGw7CisgICAgUHlfc3NpemVfdCB1c2VkID0gc28tPnVzZWQ7CisKICAgICBQeU9iamVjdF9HQ19VblRyYWNrKHNvKTsKICAgICBQeV9UUkFTSENBTl9TQUZFX0JFR0lOKHNvKQogICAgIGlmIChzby0+d2Vha3JlZmxpc3QgIT0gTlVMTCkKICAgICAgICAgUHlPYmplY3RfQ2xlYXJXZWFrUmVmcygoUHlPYmplY3QgKikgc28pOwogCi0gICAgZm9yIChlbnRyeSA9IHNvLT50YWJsZTsgZmlsbCA+IDA7IGVudHJ5KyspIHsKLSAgICAgICAgaWYgKGVudHJ5LT5rZXkpIHsKLSAgICAgICAgICAgIC0tZmlsbDsKLSAgICAgICAgICAgIGlmIChlbnRyeS0+a2V5ICE9IGR1bW15KQorICAgIGZvciAoZW50cnkgPSBzby0+dGFibGU7IHVzZWQgPiAwOyBlbnRyeSsrKSB7CisgICAgICAgIGlmIChlbnRyeS0+a2V5ICYmIGVudHJ5LT5rZXkgIT0gZHVtbXkpIHsKKyAgICAgICAgICAgICAgICB1c2VkLS07CiAgICAgICAgICAgICAgICAgUHlfREVDUkVGKGVudHJ5LT5rZXkpOwogICAgICAgICB9CiAgICAgfQpAQCAtNjQ4LDEwICs1ODQsMjMgQEAKIH0KIAogc3RhdGljIGludAorc2V0X2NvbnRhaW5zX2VudHJ5KFB5U2V0T2JqZWN0ICpzbywgc2V0ZW50cnkgKmVudHJ5KQoreworICAgIFB5T2JqZWN0ICprZXk7CisgICAgc2V0ZW50cnkgKmx1X2VudHJ5OworCisgICAgbHVfZW50cnkgPSBzZXRfbG9va2tleShzbywgZW50cnktPmtleSwgZW50cnktPmhhc2gpOworICAgIGlmIChsdV9lbnRyeSA9PSBOVUxMKQorICAgICAgICByZXR1cm4gLTE7CisgICAga2V5ID0gbHVfZW50cnktPmtleTsKKyAgICByZXR1cm4ga2V5ICE9IE5VTEwgJiYga2V5ICE9IGR1bW15OworfQorCitzdGF0aWMgaW50CiBzZXRfY29udGFpbnNfa2V5KFB5U2V0T2JqZWN0ICpzbywgUHlPYmplY3QgKmtleSkKIHsKKyAgICBzZXRlbnRyeSBlbnRyeTsKICAgICBQeV9oYXNoX3QgaGFzaDsKLSAgICBzZXRlbnRyeSAqZW50cnk7CiAKICAgICBpZiAoIVB5VW5pY29kZV9DaGVja0V4YWN0KGtleSkgfHwKICAgICAgICAgKGhhc2ggPSAoKFB5QVNDSUlPYmplY3QgKikga2V5KS0+aGFzaCkgPT0gLTEpIHsKQEAgLTY1OSwzMCArNjA4LDE2IEBACiAgICAgICAgIGlmIChoYXNoID09IC0xKQogICAgICAgICAgICAgcmV0dXJuIC0xOwogICAgIH0KLSAgICBlbnRyeSA9IChzby0+bG9va3VwKShzbywga2V5LCBoYXNoKTsKLSAgICBpZiAoZW50cnkgPT0gTlVMTCkKLSAgICAgICAgcmV0dXJuIC0xOwotICAgIGtleSA9IGVudHJ5LT5rZXk7Ci0gICAgcmV0dXJuIGtleSAhPSBOVUxMICYmIGtleSAhPSBkdW1teTsKLX0KLQotc3RhdGljIGludAotc2V0X2NvbnRhaW5zX2VudHJ5KFB5U2V0T2JqZWN0ICpzbywgc2V0ZW50cnkgKmVudHJ5KQotewotICAgIFB5T2JqZWN0ICprZXk7Ci0gICAgc2V0ZW50cnkgKmx1X2VudHJ5OwotCi0gICAgbHVfZW50cnkgPSAoc28tPmxvb2t1cCkoc28sIGVudHJ5LT5rZXksIGVudHJ5LT5oYXNoKTsKLSAgICBpZiAobHVfZW50cnkgPT0gTlVMTCkKLSAgICAgICAgcmV0dXJuIC0xOwotICAgIGtleSA9IGx1X2VudHJ5LT5rZXk7Ci0gICAgcmV0dXJuIGtleSAhPSBOVUxMICYmIGtleSAhPSBkdW1teTsKKyAgICBlbnRyeS5rZXkgPSBrZXk7CisgICAgZW50cnkuaGFzaCA9IGhhc2g7CisgICAgcmV0dXJuIHNldF9jb250YWluc19lbnRyeShzbywgJmVudHJ5KTsKIH0KIAogc3RhdGljIFB5T2JqZWN0ICoKIHNldF9wb3AoUHlTZXRPYmplY3QgKnNvKQogewotICAgIFB5X3NzaXplX3QgaSA9IDA7CisgICAgLyogTWFrZSBzdXJlIHRoZSBzZWFyY2ggZmluZ2VyIGlzIGluIGJvdW5kcyAqLworICAgIFB5X3NzaXplX3QgaSA9IHNvLT5maW5nZXIgJiBzby0+bWFzazsKICAgICBzZXRlbnRyeSAqZW50cnk7CiAgICAgUHlPYmplY3QgKmtleTsKIApAQCAtNjkyLDMyICs2MjcsMTYgQEAKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQogCi0gICAgLyogU2V0IGVudHJ5IHRvICJ0aGUgZmlyc3QiIHVudXNlZCBvciBkdW1teSBzZXQgZW50cnkuICBXZSBhYnVzZQotICAgICAqIHRoZSBoYXNoIGZpZWxkIG9mIHNsb3QgMCB0byBob2xkIGEgc2VhcmNoIGZpbmdlcjoKLSAgICAgKiBJZiBzbG90IDAgaGFzIGEgdmFsdWUsIHVzZSBzbG90IDAuCi0gICAgICogRWxzZSBzbG90IDAgaXMgYmVpbmcgdXNlZCB0byBob2xkIGEgc2VhcmNoIGZpbmdlciwKLSAgICAgKiBhbmQgd2UgdXNlIGl0cyBoYXNoIHZhbHVlIGFzIHRoZSBmaXJzdCBpbmRleCB0byBsb29rLgotICAgICAqLwotICAgIGVudHJ5ID0gJnNvLT50YWJsZVswXTsKLSAgICBpZiAoZW50cnktPmtleSA9PSBOVUxMIHx8IGVudHJ5LT5rZXkgPT0gZHVtbXkpIHsKLSAgICAgICAgaSA9IGVudHJ5LT5oYXNoOwotICAgICAgICAvKiBUaGUgaGFzaCBmaWVsZCBtYXkgYmUgYSByZWFsIGhhc2ggdmFsdWUsIG9yIGl0IG1heSBiZSBhCi0gICAgICAgICAqIGxlZ2l0IHNlYXJjaCBmaW5nZXIsIG9yIGl0IG1heSBiZSBhIG9uY2UtbGVnaXQgc2VhcmNoCi0gICAgICAgICAqIGZpbmdlciB0aGF0J3Mgb3V0IG9mIGJvdW5kcyBub3cgYmVjYXVzZSBpdCB3cmFwcGVkIGFyb3VuZAotICAgICAgICAgKiBvciB0aGUgdGFibGUgc2hydW5rIC0tIHNpbXBseSBtYWtlIHN1cmUgaXQncyBpbiBib3VuZHMgbm93LgotICAgICAgICAgKi8KLSAgICAgICAgaWYgKGkgPiBzby0+bWFzayB8fCBpIDwgMSkKLSAgICAgICAgICAgIGkgPSAxOyAgICAgICAgICAgICAgLyogc2tpcCBzbG90IDAgKi8KLSAgICAgICAgd2hpbGUgKChlbnRyeSA9ICZzby0+dGFibGVbaV0pLT5rZXkgPT0gTlVMTCB8fCBlbnRyeS0+a2V5PT1kdW1teSkgewotICAgICAgICAgICAgaSsrOwotICAgICAgICAgICAgaWYgKGkgPiBzby0+bWFzaykKLSAgICAgICAgICAgICAgICBpID0gMTsKLSAgICAgICAgfQorICAgIHdoaWxlICgoZW50cnkgPSAmc28tPnRhYmxlW2ldKS0+a2V5ID09IE5VTEwgfHwgZW50cnktPmtleT09ZHVtbXkpIHsKKyAgICAgICAgaSsrOworICAgICAgICBpZiAoaSA+IHNvLT5tYXNrKQorICAgICAgICAgICAgaSA9IDA7CiAgICAgfQogICAgIGtleSA9IGVudHJ5LT5rZXk7CiAgICAgZW50cnktPmtleSA9IGR1bW15OworICAgIGVudHJ5LT5oYXNoID0gLTE7CiAgICAgc28tPnVzZWQtLTsKLSAgICBzby0+dGFibGVbMF0uaGFzaCA9IGkgKyAxOyAgLyogbmV4dCBwbGFjZSB0byBzdGFydCAqLworICAgIHNvLT5maW5nZXIgPSBpICsgMTsgICAgICAgICAvKiBuZXh0IHBsYWNlIHRvIHN0YXJ0ICovCiAgICAgcmV0dXJuIGtleTsKIH0KIApAQCAtNzYwLDcgKzY3OSw3IEBACiAgICAgaGFzaCAqPSAoUHlfdWhhc2hfdClQeVNldF9HRVRfU0laRShzZWxmKSArIDE7CiAgICAgd2hpbGUgKHNldF9uZXh0KHNvLCAmcG9zLCAmZW50cnkpKSB7CiAgICAgICAgIC8qIFdvcmsgdG8gaW5jcmVhc2UgdGhlIGJpdCBkaXNwZXJzaW9uIGZvciBjbG9zZWx5IHNwYWNlZCBoYXNoCi0gICAgICAgICAgIHZhbHVlcy4gIFRoZSBpcyBpbXBvcnRhbnQgYmVjYXVzZSBzb21lIHVzZSBjYXNlcyBoYXZlIG1hbnkKKyAgICAgICAgICAgdmFsdWVzLiAgVGhpcyBpcyBpbXBvcnRhbnQgYmVjYXVzZSBzb21lIHVzZSBjYXNlcyBoYXZlIG1hbnkKICAgICAgICAgICAgY29tYmluYXRpb25zIG9mIGEgc21hbGwgbnVtYmVyIG9mIGVsZW1lbnRzIHdpdGggbmVhcmJ5CiAgICAgICAgICAgIGhhc2hlcyBzbyB0aGF0IG1hbnkgZGlzdGluY3QgY29tYmluYXRpb25zIGNvbGxhcHNlIHRvIG9ubHkKICAgICAgICAgICAgYSBoYW5kZnVsIG9mIGRpc3RpbmN0IGhhc2ggdmFsdWVzLiAqLwpAQCAtNzcwLDcgKzY4OSw3IEBACiAgICAgLyogTWFrZSB0aGUgZmluYWwgcmVzdWx0IHNwcmVhZC1vdXQgaW4gYSBkaWZmZXJlbnQgcGF0dGVybgogICAgICAgIHRoYW4gdGhlIGFsZ29yaXRobSBmb3IgdHVwbGVzIG9yIG90aGVyIHB5dGhvbiBvYmplY3RzLiAqLwogICAgIGhhc2ggPSBoYXNoICogNjkwNjlVICsgOTA3MTMzOTIzVUw7Ci0gICAgaWYgKGhhc2ggPT0gLTEpCisgICAgaWYgKGhhc2ggPT0gKFB5X3VoYXNoX3QpLTEpCiAgICAgICAgIGhhc2ggPSA1OTA5MjM3MTNVTDsKICAgICBzby0+aGFzaCA9IGhhc2g7CiAgICAgcmV0dXJuIGhhc2g7CkBAIC0xMDE0LDYgKzkzMywxMiBAQAogUHlEb2NfU1RSVkFSKHVwZGF0ZV9kb2MsCiAiVXBkYXRlIGEgc2V0IHdpdGggdGhlIHVuaW9uIG9mIGl0c2VsZiBhbmQgb3RoZXJzLiIpOwogCisvKiBYWFggVG9kbzoKKyAgIElmIGFsaWduZWQgbWVtb3J5IGFsbG9jYXRpb25zIGJlY29tZSBhdmFpbGFibGUsIG1ha2UgdGhlCisgICBzZXQgb2JqZWN0IDY0IGJ5dGUgYWxpZ25lZCBzbyB0aGF0IG1vc3Qgb2YgdGhlIGZpZWxkcworICAgY2FuIGJlIHJldHJpZXZlZCBvciB1cGRhdGVkIGluIGEgc2luZ2xlIGNhY2hlIGxpbmUuCisqLworCiBzdGF0aWMgUHlPYmplY3QgKgogbWFrZV9uZXdfc2V0KFB5VHlwZU9iamVjdCAqdHlwZSwgUHlPYmplY3QgKml0ZXJhYmxlKQogewpAQCAtMTAyOCw4ICs5NTMsOCBAQAogICAgIHNvLT51c2VkID0gMDsKICAgICBzby0+bWFzayA9IFB5U2V0X01JTlNJWkUgLSAxOwogICAgIHNvLT50YWJsZSA9IHNvLT5zbWFsbHRhYmxlOwotICAgIHNvLT5sb29rdXAgPSBzZXRfbG9va2tleV91bmljb2RlOwogICAgIHNvLT5oYXNoID0gLTE7CisgICAgc28tPmZpbmdlciA9IDA7CiAgICAgc28tPndlYWtyZWZsaXN0ID0gTlVMTDsKIAogICAgIGlmIChpdGVyYWJsZSAhPSBOVUxMKSB7CkBAIC0xMTE3LDEwICsxMDQyLDggQEAKICAgICAgdD1zZXQoYSk7IGEuY2xlYXIoKTsgYS51cGRhdGUoYik7IGIuY2xlYXIoKTsgYi51cGRhdGUodCk7IGRlbCB0CiAKICAgIFRoZSBmdW5jdGlvbiBhbHdheXMgc3VjY2VlZHMgYW5kIGl0IGxlYXZlcyBib3RoIG9iamVjdHMgaW4gYSBzdGFibGUgc3RhdGUuCi0gICBVc2VmdWwgZm9yIGNyZWF0aW5nIHRlbXBvcmFyeSBmcm96ZW5zZXRzIGZyb20gc2V0cyBmb3IgbWVtYmVyc2hpcCB0ZXN0aW5nCi0gICBpbiBfX2NvbnRhaW5zX18oKSwgZGlzY2FyZCgpLCBhbmQgcmVtb3ZlKCkuICBBbHNvIHVzZWZ1bCBmb3Igb3BlcmF0aW9ucwotICAgdGhhdCB1cGRhdGUgaW4tcGxhY2UgKGJ5IGFsbG93aW5nIGFuIGludGVybWVkaWF0ZSByZXN1bHQgdG8gYmUgc3dhcHBlZAotICAgaW50byBvbmUgb2YgdGhlIG9yaWdpbmFsIGlucHV0cykuCisgICBVc2VmdWwgZm9yIG9wZXJhdGlvbnMgdGhhdCB1cGRhdGUgaW4tcGxhY2UgKGJ5IGFsbG93aW5nIGFuIGludGVybWVkaWF0ZQorICAgcmVzdWx0IHRvIGJlIHN3YXBwZWQgaW50byBvbmUgb2YgdGhlIG9yaWdpbmFsIGlucHV0cykuCiAqLwogCiBzdGF0aWMgdm9pZApAQCAtMTEyOCw3ICsxMDUxLDYgQEAKIHsKICAgICBQeV9zc2l6ZV90IHQ7CiAgICAgc2V0ZW50cnkgKnU7Ci0gICAgc2V0ZW50cnkgKigqZikoUHlTZXRPYmplY3QgKnNvLCBQeU9iamVjdCAqa2V5LCBQeV9zc2l6ZV90IGhhc2gpOwogICAgIHNldGVudHJ5IHRhYltQeVNldF9NSU5TSVpFXTsKICAgICBQeV9oYXNoX3QgaDsKIApAQCAtMTE0NCw4ICsxMDY2LDYgQEAKICAgICAgICAgYS0+dGFibGUgPSBhLT5zbWFsbHRhYmxlOwogICAgIGItPnRhYmxlID0gdTsKIAotICAgIGYgPSBhLT5sb29rdXA7ICAgYS0+bG9va3VwID0gYi0+bG9va3VwOyAgICAgIGItPmxvb2t1cCA9IGY7Ci0KICAgICBpZiAoYS0+dGFibGUgPT0gYS0+c21hbGx0YWJsZSB8fCBiLT50YWJsZSA9PSBiLT5zbWFsbHRhYmxlKSB7CiAgICAgICAgIG1lbWNweSh0YWIsIGEtPnNtYWxsdGFibGUsIHNpemVvZih0YWIpKTsKICAgICAgICAgbWVtY3B5KGEtPnNtYWxsdGFibGUsIGItPnNtYWxsdGFibGUsIHNpemVvZih0YWIpKTsKZGlmZiAtLWdpdCBhL09iamVjdHMvdHVwbGVvYmplY3QuYyBiL09iamVjdHMvdHVwbGVvYmplY3QuYwppbmRleCA2ZmQ0ZGIzLi5lNDU0NjJiIDEwMDY0NAotLS0gYS9PYmplY3RzL3R1cGxlb2JqZWN0LmMKKysrIGIvT2JqZWN0cy90dXBsZW9iamVjdC5jCkBAIC05Nyw3ICs5Nyw3IEBACiAjZW5kaWYKICAgICB7CiAgICAgICAgIC8qIENoZWNrIGZvciBvdmVyZmxvdyAqLwotICAgICAgICBpZiAoc2l6ZSA+IChQWV9TU0laRV9UX01BWCAtIHNpemVvZihQeVR1cGxlT2JqZWN0KSAtCisgICAgICAgIGlmICgoc2l6ZV90KXNpemUgPiAoKHNpemVfdClQWV9TU0laRV9UX01BWCAtIHNpemVvZihQeVR1cGxlT2JqZWN0KSAtCiAgICAgICAgICAgICAgICAgICAgIHNpemVvZihQeU9iamVjdCAqKSkgLyBzaXplb2YoUHlPYmplY3QgKikpIHsKICAgICAgICAgICAgIHJldHVybiBQeUVycl9Ob01lbW9yeSgpOwogICAgICAgICB9CkBAIC03NDYsNyArNzQ2LDcgQEAKICAgICB9CiAgICAgZWxzZSB7CiAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19UeXBlRXJyb3IsCi0gICAgICAgICAgICAgICAgICAgICAidHVwbGUgaW5kaWNlcyBtdXN0IGJlIGludGVnZXJzLCBub3QgJS4yMDBzIiwKKyAgICAgICAgICAgICAgICAgICAgICJ0dXBsZSBpbmRpY2VzIG11c3QgYmUgaW50ZWdlcnMgb3Igc2xpY2VzLCBub3QgJS4yMDBzIiwKICAgICAgICAgICAgICAgICAgICAgIFB5X1RZUEUoaXRlbSktPnRwX25hbWUpOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CmRpZmYgLS1naXQgYS9PYmplY3RzL3R5cGVvYmplY3QuYyBiL09iamVjdHMvdHlwZW9iamVjdC5jCmluZGV4IDQ4MmE3YTUuLmJlNTM4NjggMTAwNjQ0Ci0tLSBhL09iamVjdHMvdHlwZW9iamVjdC5jCisrKyBiL09iamVjdHMvdHlwZW9iamVjdC5jCkBAIC0xNCwxMCArMTQsMTEgQEAKICAgIE1DQUNIRV9NQVhfQVRUUl9TSVpFLCBzaW5jZSBpdCBtaWdodCBiZSBhIHByb2JsZW0gaWYgdmVyeSBsYXJnZQogICAgc3RyaW5ncyBhcmUgdXNlZCBhcyBhdHRyaWJ1dGUgbmFtZXMuICovCiAjZGVmaW5lIE1DQUNIRV9NQVhfQVRUUl9TSVpFICAgIDEwMAotI2RlZmluZSBNQ0FDSEVfU0laRV9FWFAgICAgICAgICA5CisjZGVmaW5lIE1DQUNIRV9TSVpFX0VYUCAgICAgICAgIDEyCiAjZGVmaW5lIE1DQUNIRV9IQVNIKHZlcnNpb24sIG5hbWVfaGFzaCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICgoKHVuc2lnbmVkIGludCkodmVyc2lvbikgKiAodW5zaWduZWQgaW50KShuYW1lX2hhc2gpKSAgICAgICAgICBcCi0gICAgICAgICA+PiAoOCpzaXplb2YodW5zaWduZWQgaW50KSAtIE1DQUNIRV9TSVpFX0VYUCkpCisgICAgICAgICgoKHVuc2lnbmVkIGludCkodmVyc2lvbikgXiAodW5zaWduZWQgaW50KShuYW1lX2hhc2gpKSAgICAgICAgICBcCisgICAgICAgICAmICgoMSA8PCBNQ0FDSEVfU0laRV9FWFApIC0gMSkpCisKICNkZWZpbmUgTUNBQ0hFX0hBU0hfTUVUSE9EKHR5cGUsIG5hbWUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICAgICAgTUNBQ0hFX0hBU0goKHR5cGUpLT50cF92ZXJzaW9uX3RhZywgICAgICAgICAgICAgICAgICAgICBcCiAgICAgICAgICAgICAgICAgICAgICgoUHlBU0NJSU9iamVjdCAqKShuYW1lKSktPmhhc2gpCkBAIC0zNSw2ICszNiwxNCBAQAogc3RhdGljIHN0cnVjdCBtZXRob2RfY2FjaGVfZW50cnkgbWV0aG9kX2NhY2hlWzEgPDwgTUNBQ0hFX1NJWkVfRVhQXTsKIHN0YXRpYyB1bnNpZ25lZCBpbnQgbmV4dF92ZXJzaW9uX3RhZyA9IDA7CiAKKyNkZWZpbmUgTUNBQ0hFX1NUQVRTIDAKKworI2lmIE1DQUNIRV9TVEFUUworc3RhdGljIHNpemVfdCBtZXRob2RfY2FjaGVfaGl0cyA9IDA7CitzdGF0aWMgc2l6ZV90IG1ldGhvZF9jYWNoZV9taXNzZXMgPSAwOworc3RhdGljIHNpemVfdCBtZXRob2RfY2FjaGVfY29sbGlzaW9ucyA9IDA7CisjZW5kaWYKKwogLyogYWxwaGFiZXRpY2FsIG9yZGVyICovCiBfUHlfSURFTlRJRklFUihfX2Fic3RyYWN0bWV0aG9kc19fKTsKIF9QeV9JREVOVElGSUVSKF9fY2xhc3NfXyk7CkBAIC01NCw2ICs2Myw5IEBACiBzdGF0aWMgUHlPYmplY3QgKgogc2xvdF90cF9uZXcoUHlUeXBlT2JqZWN0ICp0eXBlLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3ZHMpOwogCitzdGF0aWMgdm9pZAorY2xlYXJfc2xvdGRlZnModm9pZCk7CisKIC8qCiAgKiBmaW5kcyB0aGUgYmVnaW5uaW5nIG9mIHRoZSBkb2NzdHJpbmcncyBpbnRyb3NwZWN0aW9uIHNpZ25hdHVyZS4KICAqIGlmIHByZXNlbnQsIHJldHVybnMgYSBwb2ludGVyIHBvaW50aW5nIHRvIHRoZSBmaXJzdCAnKCcuCkBAIC0xNjIsNiArMTc0LDE4IEBACiAgICAgUHlfc3NpemVfdCBpOwogICAgIHVuc2lnbmVkIGludCBjdXJfdmVyc2lvbl90YWcgPSBuZXh0X3ZlcnNpb25fdGFnIC0gMTsKIAorI2lmIE1DQUNIRV9TVEFUUworICAgIHNpemVfdCB0b3RhbCA9IG1ldGhvZF9jYWNoZV9oaXRzICsgbWV0aG9kX2NhY2hlX2NvbGxpc2lvbnMgKyBtZXRob2RfY2FjaGVfbWlzc2VzOworICAgIGZwcmludGYoc3RkZXJyLCAiLS0gTWV0aG9kIGNhY2hlIGhpdHMgICAgICAgID0gJXpkICglZCUlKVxuIiwKKyAgICAgICAgICAgIG1ldGhvZF9jYWNoZV9oaXRzLCAoaW50KSAoMTAwLjAgKiBtZXRob2RfY2FjaGVfaGl0cyAvIHRvdGFsKSk7CisgICAgZnByaW50ZihzdGRlcnIsICItLSBNZXRob2QgY2FjaGUgdHJ1ZSBtaXNzZXMgPSAlemQgKCVkJSUpXG4iLAorICAgICAgICAgICAgbWV0aG9kX2NhY2hlX21pc3NlcywgKGludCkgKDEwMC4wICogbWV0aG9kX2NhY2hlX21pc3NlcyAvIHRvdGFsKSk7CisgICAgZnByaW50ZihzdGRlcnIsICItLSBNZXRob2QgY2FjaGUgY29sbGlzaW9ucyAgPSAlemQgKCVkJSUpXG4iLAorICAgICAgICAgICAgbWV0aG9kX2NhY2hlX2NvbGxpc2lvbnMsIChpbnQpICgxMDAuMCAqIG1ldGhvZF9jYWNoZV9jb2xsaXNpb25zIC8gdG90YWwpKTsKKyAgICBmcHJpbnRmKHN0ZGVyciwgIi0tIE1ldGhvZCBjYWNoZSBzaXplICAgICAgICA9ICV6ZCBLQlxuIiwKKyAgICAgICAgICAgIHNpemVvZihtZXRob2RfY2FjaGUpIC8gMTAyNCk7CisjZW5kaWYKKwogICAgIGZvciAoaSA9IDA7IGkgPCAoMSA8PCBNQ0FDSEVfU0laRV9FWFApOyBpKyspIHsKICAgICAgICAgbWV0aG9kX2NhY2hlW2ldLnZlcnNpb24gPSAwOwogICAgICAgICBQeV9DTEVBUihtZXRob2RfY2FjaGVbaV0ubmFtZSk7CkBAIC0xNzcsNiArMjAxLDcgQEAKIF9QeVR5cGVfRmluaSh2b2lkKQogewogICAgIFB5VHlwZV9DbGVhckNhY2hlKCk7CisgICAgY2xlYXJfc2xvdGRlZnMoKTsKIH0KIAogdm9pZApAQCAtMTIwMCw4ICsxMjI1LDExIEBACiAgICAgYXNzZXJ0KGJhc2VkZWFsbG9jKTsKICAgICBiYXNlZGVhbGxvYyhzZWxmKTsKIAotICAgIC8qIENhbid0IHJlZmVyZW5jZSBzZWxmIGJleW9uZCB0aGlzIHBvaW50ICovCi0gICAgUHlfREVDUkVGKHR5cGUpOworICAgIC8qIENhbid0IHJlZmVyZW5jZSBzZWxmIGJleW9uZCB0aGlzIHBvaW50LiBJdCdzIHBvc3NpYmxlIHRwX2RlbCBzd2l0Y2hlZAorICAgICAgIG91ciB0eXBlIGZyb20gYSBIRUFQVFlQRSB0byBhIG5vbi1IRUFQVFlQRSwgc28gYmUgY2FyZWZ1bCBhYm91dAorICAgICAgIHJlZmVyZW5jZSBjb3VudGluZy4gKi8KKyAgICBpZiAodHlwZS0+dHBfZmxhZ3MgJiBQeV9UUEZMQUdTX0hFQVBUWVBFKQorICAgICAgUHlfREVDUkVGKHR5cGUpOwogCiAgIGVuZGxhYmVsOgogICAgICsrX1B5VHJhc2hfZGVsZXRlX25lc3Rpbmc7CkBAIC0yNzM2LDcgKzI3NjQsOCBAQAogICAgIHR5cGUtPnRwX2l0ZW1zaXplID0gc3BlYy0+aXRlbXNpemU7CiAKICAgICBmb3IgKHNsb3QgPSBzcGVjLT5zbG90czsgc2xvdC0+c2xvdDsgc2xvdCsrKSB7Ci0gICAgICAgIGlmIChzbG90LT5zbG90ID49IFB5X0FSUkFZX0xFTkdUSChzbG90b2Zmc2V0cykpIHsKKyAgICAgICAgaWYgKHNsb3QtPnNsb3QgPCAwCisgICAgICAgICAgICB8fCAoc2l6ZV90KXNsb3QtPnNsb3QgPj0gUHlfQVJSQVlfTEVOR1RIKHNsb3RvZmZzZXRzKSkgewogICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1J1bnRpbWVFcnJvciwgImludmFsaWQgc2xvdCBvZmZzZXQiKTsKICAgICAgICAgICAgIGdvdG8gZmFpbDsKICAgICAgICAgfQpAQCAtMjc3OSw2ICsyODA4LDEyIEBACiAgICAgICAgIF9QeURpY3RfU2V0SXRlbUlkKHR5cGUtPnRwX2RpY3QsICZQeUlkX19fbW9kdWxlX18sCiAgICAgICAgICAgICBQeVVuaWNvZGVfRnJvbVN0cmluZ0FuZFNpemUoCiAgICAgICAgICAgICAgICAgc3BlYy0+bmFtZSwgKFB5X3NzaXplX3QpKHMgLSBzcGVjLT5uYW1lKSkpOworICAgIGVsc2UgeworICAgICAgICBpZiAoUHlFcnJfV2FybkZvcm1hdChQeUV4Y19EZXByZWNhdGlvbldhcm5pbmcsIDEsCisgICAgICAgICAgICAgICAgImJ1aWx0aW4gdHlwZSAlLjIwMHMgaGFzIG5vIF9fbW9kdWxlX18gYXR0cmlidXRlIiwKKyAgICAgICAgICAgICAgICBzcGVjLT5uYW1lKSkKKyAgICAgICAgICAgIGdvdG8gZmFpbDsKKyAgICB9CiAKICAgICByZXR1cm4gKFB5T2JqZWN0KilyZXM7CiAKQEAgLTI3OTYsMTEgKzI4MzEsMTEgQEAKIHZvaWQgKgogUHlUeXBlX0dldFNsb3QoUHlUeXBlT2JqZWN0ICp0eXBlLCBpbnQgc2xvdCkKIHsKLSAgICBpZiAoIVB5VHlwZV9IYXNGZWF0dXJlKHR5cGUsIFB5X1RQRkxBR1NfSEVBUFRZUEUpKSB7CisgICAgaWYgKCFQeVR5cGVfSGFzRmVhdHVyZSh0eXBlLCBQeV9UUEZMQUdTX0hFQVBUWVBFKSB8fCBzbG90IDwgMCkgewogICAgICAgICBQeUVycl9CYWRJbnRlcm5hbENhbGwoKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQotICAgIGlmIChzbG90ID49IFB5X0FSUkFZX0xFTkdUSChzbG90b2Zmc2V0cykpIHsKKyAgICBpZiAoKHNpemVfdClzbG90ID49IFB5X0FSUkFZX0xFTkdUSChzbG90b2Zmc2V0cykpIHsKICAgICAgICAgLyogRXh0ZW5zaW9uIG1vZHVsZSByZXF1ZXN0aW5nIHNsb3QgZnJvbSBhIGZ1dHVyZSB2ZXJzaW9uICovCiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KQEAgLTI4MjEsOCArMjg1NiwxMiBAQAogICAgICAgICAvKiBmYXN0IHBhdGggKi8KICAgICAgICAgaCA9IE1DQUNIRV9IQVNIX01FVEhPRCh0eXBlLCBuYW1lKTsKICAgICAgICAgaWYgKG1ldGhvZF9jYWNoZVtoXS52ZXJzaW9uID09IHR5cGUtPnRwX3ZlcnNpb25fdGFnICYmCi0gICAgICAgICAgICBtZXRob2RfY2FjaGVbaF0ubmFtZSA9PSBuYW1lKQorICAgICAgICAgICAgbWV0aG9kX2NhY2hlW2hdLm5hbWUgPT0gbmFtZSkgeworI2lmIE1DQUNIRV9TVEFUUworICAgICAgICAgICAgbWV0aG9kX2NhY2hlX2hpdHMrKzsKKyNlbmRpZgogICAgICAgICAgICAgcmV0dXJuIG1ldGhvZF9jYWNoZVtoXS52YWx1ZTsKKyAgICAgICAgfQogICAgIH0KIAogICAgIC8qIExvb2sgaW4gdHBfZGljdCBvZiB0eXBlcyBpbiBNUk8gKi8KQEAgLTI4NTYsNiArMjg5NSwxMyBAQAogICAgICAgICBtZXRob2RfY2FjaGVbaF0udmVyc2lvbiA9IHR5cGUtPnRwX3ZlcnNpb25fdGFnOwogICAgICAgICBtZXRob2RfY2FjaGVbaF0udmFsdWUgPSByZXM7ICAvKiBib3Jyb3dlZCAqLwogICAgICAgICBQeV9JTkNSRUYobmFtZSk7CisgICAgICAgIGFzc2VydCgoKFB5QVNDSUlPYmplY3QgKikobmFtZSkpLT5oYXNoICE9IC0xKTsKKyNpZiBNQ0FDSEVfU1RBVFMKKyAgICAgICAgaWYgKG1ldGhvZF9jYWNoZVtoXS5uYW1lICE9IFB5X05vbmUgJiYgbWV0aG9kX2NhY2hlW2hdLm5hbWUgIT0gbmFtZSkKKyAgICAgICAgICAgIG1ldGhvZF9jYWNoZV9jb2xsaXNpb25zKys7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIG1ldGhvZF9jYWNoZV9taXNzZXMrKzsKKyNlbmRpZgogICAgICAgICBQeV9ERUNSRUYobWV0aG9kX2NhY2hlW2hdLm5hbWUpOwogICAgICAgICBtZXRob2RfY2FjaGVbaF0ubmFtZSA9IG5hbWU7CiAgICAgfQpAQCAtMzUwNiwxNyArMzU1MiwxOCBAQAogfQogCiBzdGF0aWMgaW50Ci1lcXVpdl9zdHJ1Y3RzKFB5VHlwZU9iamVjdCAqYSwgUHlUeXBlT2JqZWN0ICpiKQorY29tcGF0aWJsZV93aXRoX3RwX2Jhc2UoUHlUeXBlT2JqZWN0ICpjaGlsZCkKIHsKLSAgICByZXR1cm4gYSA9PSBiIHx8Ci0gICAgICAgICAgIChhICE9IE5VTEwgJiYKLSAgICAgICAgYiAhPSBOVUxMICYmCi0gICAgICAgIGEtPnRwX2Jhc2ljc2l6ZSA9PSBiLT50cF9iYXNpY3NpemUgJiYKLSAgICAgICAgYS0+dHBfaXRlbXNpemUgPT0gYi0+dHBfaXRlbXNpemUgJiYKLSAgICAgICAgYS0+dHBfZGljdG9mZnNldCA9PSBiLT50cF9kaWN0b2Zmc2V0ICYmCi0gICAgICAgIGEtPnRwX3dlYWtsaXN0b2Zmc2V0ID09IGItPnRwX3dlYWtsaXN0b2Zmc2V0ICYmCi0gICAgICAgICgoYS0+dHBfZmxhZ3MgJiBQeV9UUEZMQUdTX0hBVkVfR0MpID09Ci0gICAgICAgICAoYi0+dHBfZmxhZ3MgJiBQeV9UUEZMQUdTX0hBVkVfR0MpKSk7CisgICAgUHlUeXBlT2JqZWN0ICpwYXJlbnQgPSBjaGlsZC0+dHBfYmFzZTsKKyAgICByZXR1cm4gKHBhcmVudCAhPSBOVUxMICYmCisgICAgICAgICAgICBjaGlsZC0+dHBfYmFzaWNzaXplID09IHBhcmVudC0+dHBfYmFzaWNzaXplICYmCisgICAgICAgICAgICBjaGlsZC0+dHBfaXRlbXNpemUgPT0gcGFyZW50LT50cF9pdGVtc2l6ZSAmJgorICAgICAgICAgICAgY2hpbGQtPnRwX2RpY3RvZmZzZXQgPT0gcGFyZW50LT50cF9kaWN0b2Zmc2V0ICYmCisgICAgICAgICAgICBjaGlsZC0+dHBfd2Vha2xpc3RvZmZzZXQgPT0gcGFyZW50LT50cF93ZWFrbGlzdG9mZnNldCAmJgorICAgICAgICAgICAgKChjaGlsZC0+dHBfZmxhZ3MgJiBQeV9UUEZMQUdTX0hBVkVfR0MpID09CisgICAgICAgICAgICAgKHBhcmVudC0+dHBfZmxhZ3MgJiBQeV9UUEZMQUdTX0hBVkVfR0MpKSAmJgorICAgICAgICAgICAgKGNoaWxkLT50cF9kZWFsbG9jID09IHN1YnR5cGVfZGVhbGxvYyB8fAorICAgICAgICAgICAgIGNoaWxkLT50cF9kZWFsbG9jID09IHBhcmVudC0+dHBfZGVhbGxvYykpOwogfQogCiBzdGF0aWMgaW50CkBAIC0zNTM0LDYgKzM1ODEsMTAgQEAKICAgICAgICAgc2l6ZSArPSBzaXplb2YoUHlPYmplY3QgKik7CiAKICAgICAvKiBDaGVjayBzbG90cyBjb21wbGlhbmNlICovCisgICAgaWYgKCEoYS0+dHBfZmxhZ3MgJiBQeV9UUEZMQUdTX0hFQVBUWVBFKSB8fAorICAgICAgICAhKGItPnRwX2ZsYWdzICYgUHlfVFBGTEFHU19IRUFQVFlQRSkpIHsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQogICAgIHNsb3RzX2EgPSAoKFB5SGVhcFR5cGVPYmplY3QgKilhKS0+aHRfc2xvdHM7CiAgICAgc2xvdHNfYiA9ICgoUHlIZWFwVHlwZU9iamVjdCAqKWIpLT5odF9zbG90czsKICAgICBpZiAoc2xvdHNfYSAmJiBzbG90c19iKSB7CkBAIC0zNTQ5LDkgKzM2MDAsNyBAQAogewogICAgIFB5VHlwZU9iamVjdCAqbmV3YmFzZSwgKm9sZGJhc2U7CiAKLSAgICBpZiAobmV3dG8tPnRwX2RlYWxsb2MgIT0gb2xkdG8tPnRwX2RlYWxsb2MgfHwKLSAgICAgICAgbmV3dG8tPnRwX2ZyZWUgIT0gb2xkdG8tPnRwX2ZyZWUpCi0gICAgeworICAgIGlmIChuZXd0by0+dHBfZnJlZSAhPSBvbGR0by0+dHBfZnJlZSkgewogICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVHlwZUVycm9yLAogICAgICAgICAgICAgICAgICAgICAgIiVzIGFzc2lnbm1lbnQ6ICIKICAgICAgICAgICAgICAgICAgICAgICInJXMnIGRlYWxsb2NhdG9yIGRpZmZlcnMgZnJvbSAnJXMnIiwKQEAgLTM1NjAsMTEgKzM2MDksMjEgQEAKICAgICAgICAgICAgICAgICAgICAgIG9sZHRvLT50cF9uYW1lKTsKICAgICAgICAgcmV0dXJuIDA7CiAgICAgfQorICAgIC8qCisgICAgIEl0J3MgdHJpY2t5IHRvIHRlbGwgaWYgdHdvIGFyYml0cmFyeSB0eXBlcyBhcmUgc3VmZmljaWVudGx5IGNvbXBhdGlibGUgYXMKKyAgICAgdG8gYmUgaW50ZXJjaGFuZ2VhYmxlOyBlLmcuLCBldmVuIGlmIHRoZXkgaGF2ZSB0aGUgc2FtZSB0cF9iYXNpY3NpemUsIHRoZXkKKyAgICAgbWlnaHQgaGF2ZSB0b3RhbGx5IGRpZmZlcmVudCBzdHJ1Y3QgZmllbGRzLiBJdCdzIG11Y2ggZWFzaWVyIHRvIHRlbGwgaWYgYQorICAgICB0eXBlIGFuZCBpdHMgc3VwZXJ0eXBlIGFyZSBjb21wYXRpYmxlOyBlLmcuLCBpZiB0aGV5IGhhdmUgdGhlIHNhbWUKKyAgICAgdHBfYmFzaWNzaXplLCB0aGVuIHRoYXQgbWVhbnMgdGhleSBoYXZlIGlkZW50aWNhbCBmaWVsZHMuIFNvIHRvIGNoZWNrCisgICAgIHdoZXRoZXIgdHdvIGFyYml0cmFyeSB0eXBlcyBhcmUgY29tcGF0aWJsZSwgd2UgZmlyc3QgZmluZCB0aGUgaGlnaGVzdAorICAgICBzdXBlcnR5cGUgdGhhdCBlYWNoIGlzIGNvbXBhdGlibGUgd2l0aCwgYW5kIHRoZW4gaWYgdGhvc2Ugc3VwZXJ0eXBlcyBhcmUKKyAgICAgY29tcGF0aWJsZSB0aGVuIHRoZSBvcmlnaW5hbCB0eXBlcyBtdXN0IGFsc28gYmUgY29tcGF0aWJsZS4KKyAgICAqLwogICAgIG5ld2Jhc2UgPSBuZXd0bzsKICAgICBvbGRiYXNlID0gb2xkdG87Ci0gICAgd2hpbGUgKGVxdWl2X3N0cnVjdHMobmV3YmFzZSwgbmV3YmFzZS0+dHBfYmFzZSkpCisgICAgd2hpbGUgKGNvbXBhdGlibGVfd2l0aF90cF9iYXNlKG5ld2Jhc2UpKQogICAgICAgICBuZXdiYXNlID0gbmV3YmFzZS0+dHBfYmFzZTsKLSAgICB3aGlsZSAoZXF1aXZfc3RydWN0cyhvbGRiYXNlLCBvbGRiYXNlLT50cF9iYXNlKSkKKyAgICB3aGlsZSAoY29tcGF0aWJsZV93aXRoX3RwX2Jhc2Uob2xkYmFzZSkpCiAgICAgICAgIG9sZGJhc2UgPSBvbGRiYXNlLT50cF9iYXNlOwogICAgIGlmIChuZXdiYXNlICE9IG9sZGJhc2UgJiYKICAgICAgICAgKG5ld2Jhc2UtPnRwX2Jhc2UgIT0gb2xkYmFzZS0+dHBfYmFzZSB8fApAQCAtMzU5OSwxNyArMzY1OCwxMiBAQAogICAgICAgICByZXR1cm4gLTE7CiAgICAgfQogICAgIG5ld3RvID0gKFB5VHlwZU9iamVjdCAqKXZhbHVlOwotICAgIGlmICghKG5ld3RvLT50cF9mbGFncyAmIFB5X1RQRkxBR1NfSEVBUFRZUEUpIHx8Ci0gICAgICAgICEob2xkdG8tPnRwX2ZsYWdzICYgUHlfVFBGTEFHU19IRUFQVFlQRSkpCi0gICAgewotICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVHlwZUVycm9yLAotICAgICAgICAgICAgICAgICAgICAgIl9fY2xhc3NfXyBhc3NpZ25tZW50OiBvbmx5IGZvciBoZWFwIHR5cGVzIik7Ci0gICAgICAgIHJldHVybiAtMTsKLSAgICB9CiAgICAgaWYgKGNvbXBhdGlibGVfZm9yX2Fzc2lnbm1lbnQob2xkdG8sIG5ld3RvLCAiX19jbGFzc19fIikpIHsKLSAgICAgICAgUHlfSU5DUkVGKG5ld3RvKTsKKyAgICAgICAgaWYgKG5ld3RvLT50cF9mbGFncyAmIFB5X1RQRkxBR1NfSEVBUFRZUEUpCisgICAgICAgICAgICBQeV9JTkNSRUYobmV3dG8pOwogICAgICAgICBQeV9UWVBFKHNlbGYpID0gbmV3dG87Ci0gICAgICAgIFB5X0RFQ1JFRihvbGR0byk7CisgICAgICAgIGlmIChvbGR0by0+dHBfZmxhZ3MgJiBQeV9UUEZMQUdTX0hFQVBUWVBFKQorICAgICAgICAgICAgUHlfREVDUkVGKG9sZHRvKTsKICAgICAgICAgcmV0dXJuIDA7CiAgICAgfQogICAgIGVsc2UgewpAQCAtMzk3Miw0OCArNDAyNiw4NyBAQAogfQogCiBzdGF0aWMgUHlPYmplY3QgKgotcmVkdWNlXzQoUHlPYmplY3QgKm9iaikKK3JlZHVjZV9uZXdvYmooUHlPYmplY3QgKm9iaiwgaW50IHByb3RvKQogewogICAgIFB5T2JqZWN0ICphcmdzID0gTlVMTCwgKmt3YXJncyA9IE5VTEw7CiAgICAgUHlPYmplY3QgKmNvcHlyZWc7CiAgICAgUHlPYmplY3QgKm5ld29iaiwgKm5ld2FyZ3MsICpzdGF0ZSwgKmxpc3RpdGVtcywgKmRpY3RpdGVtczsKICAgICBQeU9iamVjdCAqcmVzdWx0OwotICAgIF9QeV9JREVOVElGSUVSKF9fbmV3b2JqX2V4X18pOwogCi0gICAgaWYgKF9QeU9iamVjdF9HZXROZXdBcmd1bWVudHMob2JqLCAmYXJncywgJmt3YXJncykgPCAwKSB7CisgICAgaWYgKF9QeU9iamVjdF9HZXROZXdBcmd1bWVudHMob2JqLCAmYXJncywgJmt3YXJncykgPCAwKQogICAgICAgICByZXR1cm4gTlVMTDsKLSAgICB9CisKICAgICBpZiAoYXJncyA9PSBOVUxMKSB7CiAgICAgICAgIGFyZ3MgPSBQeVR1cGxlX05ldygwKTsKLSAgICAgICAgaWYgKGFyZ3MgPT0gTlVMTCkKKyAgICAgICAgaWYgKGFyZ3MgPT0gTlVMTCkgeworICAgICAgICAgICAgUHlfWERFQ1JFRihrd2FyZ3MpOwogICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgIH0KICAgICB9Ci0gICAgaWYgKGt3YXJncyA9PSBOVUxMKSB7Ci0gICAgICAgIGt3YXJncyA9IFB5RGljdF9OZXcoKTsKLSAgICAgICAgaWYgKGt3YXJncyA9PSBOVUxMKQotICAgICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgfQotCiAgICAgY29weXJlZyA9IGltcG9ydF9jb3B5cmVnKCk7CiAgICAgaWYgKGNvcHlyZWcgPT0gTlVMTCkgewogICAgICAgICBQeV9ERUNSRUYoYXJncyk7Ci0gICAgICAgIFB5X0RFQ1JFRihrd2FyZ3MpOworICAgICAgICBQeV9YREVDUkVGKGt3YXJncyk7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KLSAgICBuZXdvYmogPSBfUHlPYmplY3RfR2V0QXR0cklkKGNvcHlyZWcsICZQeUlkX19fbmV3b2JqX2V4X18pOwotICAgIFB5X0RFQ1JFRihjb3B5cmVnKTsKLSAgICBpZiAobmV3b2JqID09IE5VTEwpIHsKKyAgICBpZiAoa3dhcmdzID09IE5VTEwgfHwgUHlEaWN0X1NpemUoa3dhcmdzKSA9PSAwKSB7CisgICAgICAgIF9QeV9JREVOVElGSUVSKF9fbmV3b2JqX18pOworICAgICAgICBQeU9iamVjdCAqY2xzOworICAgICAgICBQeV9zc2l6ZV90IGksIG47CisKKyAgICAgICAgUHlfWERFQ1JFRihrd2FyZ3MpOworICAgICAgICBuZXdvYmogPSBfUHlPYmplY3RfR2V0QXR0cklkKGNvcHlyZWcsICZQeUlkX19fbmV3b2JqX18pOworICAgICAgICBQeV9ERUNSRUYoY29weXJlZyk7CisgICAgICAgIGlmIChuZXdvYmogPT0gTlVMTCkgeworICAgICAgICAgICAgUHlfREVDUkVGKGFyZ3MpOworICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgIH0KKyAgICAgICAgbiA9IFB5VHVwbGVfR0VUX1NJWkUoYXJncyk7CisgICAgICAgIG5ld2FyZ3MgPSBQeVR1cGxlX05ldyhuKzEpOworICAgICAgICBpZiAobmV3YXJncyA9PSBOVUxMKSB7CisgICAgICAgICAgICBQeV9ERUNSRUYoYXJncyk7CisgICAgICAgICAgICBQeV9ERUNSRUYobmV3b2JqKTsKKyAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICB9CisgICAgICAgIGNscyA9IChQeU9iamVjdCAqKSBQeV9UWVBFKG9iaik7CisgICAgICAgIFB5X0lOQ1JFRihjbHMpOworICAgICAgICBQeVR1cGxlX1NFVF9JVEVNKG5ld2FyZ3MsIDAsIGNscyk7CisgICAgICAgIGZvciAoaSA9IDA7IGkgPCBuOyBpKyspIHsKKyAgICAgICAgICAgIFB5T2JqZWN0ICp2ID0gUHlUdXBsZV9HRVRfSVRFTShhcmdzLCBpKTsKKyAgICAgICAgICAgIFB5X0lOQ1JFRih2KTsKKyAgICAgICAgICAgIFB5VHVwbGVfU0VUX0lURU0obmV3YXJncywgaSsxLCB2KTsKKyAgICAgICAgfQorICAgICAgICBQeV9ERUNSRUYoYXJncyk7CisgICAgfQorICAgIGVsc2UgaWYgKHByb3RvID49IDQpIHsKKyAgICAgICAgX1B5X0lERU5USUZJRVIoX19uZXdvYmpfZXhfXyk7CisKKyAgICAgICAgbmV3b2JqID0gX1B5T2JqZWN0X0dldEF0dHJJZChjb3B5cmVnLCAmUHlJZF9fX25ld29ial9leF9fKTsKKyAgICAgICAgUHlfREVDUkVGKGNvcHlyZWcpOworICAgICAgICBpZiAobmV3b2JqID09IE5VTEwpIHsKKyAgICAgICAgICAgIFB5X0RFQ1JFRihhcmdzKTsKKyAgICAgICAgICAgIFB5X0RFQ1JFRihrd2FyZ3MpOworICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgIH0KKyAgICAgICAgbmV3YXJncyA9IFB5VHVwbGVfUGFjaygzLCBQeV9UWVBFKG9iaiksIGFyZ3MsIGt3YXJncyk7CiAgICAgICAgIFB5X0RFQ1JFRihhcmdzKTsKICAgICAgICAgUHlfREVDUkVGKGt3YXJncyk7CisgICAgICAgIGlmIChuZXdhcmdzID09IE5VTEwpIHsKKyAgICAgICAgICAgIFB5X0RFQ1JFRihuZXdvYmopOworICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgIH0KKyAgICB9CisgICAgZWxzZSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgIm11c3QgdXNlIHByb3RvY29sIDQgb3IgZ3JlYXRlciB0byBjb3B5IHRoaXMgIgorICAgICAgICAgICAgICAgICAgICAgICAgIm9iamVjdDsgc2luY2UgX19nZXRuZXdhcmdzX2V4X18gcmV0dXJuZWQgIgorICAgICAgICAgICAgICAgICAgICAgICAgImtleXdvcmQgYXJndW1lbnRzLiIpOworICAgICAgICBQeV9ERUNSRUYoYXJncyk7CisgICAgICAgIFB5X0RFQ1JFRihrd2FyZ3MpOworICAgICAgICBQeV9ERUNSRUYoY29weXJlZyk7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KLSAgICBuZXdhcmdzID0gUHlUdXBsZV9QYWNrKDMsIFB5X1RZUEUob2JqKSwgYXJncywga3dhcmdzKTsKLSAgICBQeV9ERUNSRUYoYXJncyk7Ci0gICAgUHlfREVDUkVGKGt3YXJncyk7Ci0gICAgaWYgKG5ld2FyZ3MgPT0gTlVMTCkgewotICAgICAgICBQeV9ERUNSRUYobmV3b2JqKTsKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgfQorCiAgICAgc3RhdGUgPSBfUHlPYmplY3RfR2V0U3RhdGUob2JqKTsKICAgICBpZiAoc3RhdGUgPT0gTlVMTCkgewogICAgICAgICBQeV9ERUNSRUYobmV3b2JqKTsKQEAgLTQwMzYsNzkgKzQxMjksNiBAQAogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLXN0YXRpYyBQeU9iamVjdCAqCi1yZWR1Y2VfMihQeU9iamVjdCAqb2JqKQotewotICAgIFB5T2JqZWN0ICpjbHM7Ci0gICAgUHlPYmplY3QgKmFyZ3MgPSBOVUxMLCAqYXJnczIgPSBOVUxMLCAqa3dhcmdzID0gTlVMTDsKLSAgICBQeU9iamVjdCAqc3RhdGUgPSBOVUxMLCAqbGlzdGl0ZW1zID0gTlVMTCwgKmRpY3RpdGVtcyA9IE5VTEw7Ci0gICAgUHlPYmplY3QgKmNvcHlyZWcgPSBOVUxMLCAqbmV3b2JqID0gTlVMTCwgKnJlcyA9IE5VTEw7Ci0gICAgUHlfc3NpemVfdCBpLCBuOwotICAgIF9QeV9JREVOVElGSUVSKF9fbmV3b2JqX18pOwotCi0gICAgaWYgKF9QeU9iamVjdF9HZXROZXdBcmd1bWVudHMob2JqLCAmYXJncywgJmt3YXJncykgPCAwKSB7Ci0gICAgICAgIHJldHVybiBOVUxMOwotICAgIH0KLSAgICBpZiAoYXJncyA9PSBOVUxMKSB7Ci0gICAgICAgIGFzc2VydChrd2FyZ3MgPT0gTlVMTCk7Ci0gICAgICAgIGFyZ3MgPSBQeVR1cGxlX05ldygwKTsKLSAgICAgICAgaWYgKGFyZ3MgPT0gTlVMTCkgewotICAgICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgZWxzZSBpZiAoa3dhcmdzICE9IE5VTEwpIHsKLSAgICAgICAgaWYgKFB5RGljdF9TaXplKGt3YXJncykgPiAwKSB7Ci0gICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAibXVzdCB1c2UgcHJvdG9jb2wgNCBvciBncmVhdGVyIHRvIGNvcHkgdGhpcyAiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9iamVjdDsgc2luY2UgX19nZXRuZXdhcmdzX2V4X18gcmV0dXJuZWQgIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJrZXl3b3JkIGFyZ3VtZW50cy4iKTsKLSAgICAgICAgICAgIFB5X0RFQ1JFRihhcmdzKTsKLSAgICAgICAgICAgIFB5X0RFQ1JFRihrd2FyZ3MpOwotICAgICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgICAgIH0KLSAgICAgICAgUHlfQ0xFQVIoa3dhcmdzKTsKLSAgICB9Ci0KLSAgICBzdGF0ZSA9IF9QeU9iamVjdF9HZXRTdGF0ZShvYmopOwotICAgIGlmIChzdGF0ZSA9PSBOVUxMKQotICAgICAgICBnb3RvIGVuZDsKLQotICAgIGlmIChfUHlPYmplY3RfR2V0SXRlbXNJdGVyKG9iaiwgJmxpc3RpdGVtcywgJmRpY3RpdGVtcykgPCAwKQotICAgICAgICBnb3RvIGVuZDsKLQotICAgIGNvcHlyZWcgPSBpbXBvcnRfY29weXJlZygpOwotICAgIGlmIChjb3B5cmVnID09IE5VTEwpCi0gICAgICAgIGdvdG8gZW5kOwotICAgIG5ld29iaiA9IF9QeU9iamVjdF9HZXRBdHRySWQoY29weXJlZywgJlB5SWRfX19uZXdvYmpfXyk7Ci0gICAgaWYgKG5ld29iaiA9PSBOVUxMKQotICAgICAgICBnb3RvIGVuZDsKLQotICAgIG4gPSBQeVR1cGxlX0dFVF9TSVpFKGFyZ3MpOwotICAgIGFyZ3MyID0gUHlUdXBsZV9OZXcobisxKTsKLSAgICBpZiAoYXJnczIgPT0gTlVMTCkKLSAgICAgICAgZ290byBlbmQ7Ci0gICAgY2xzID0gKFB5T2JqZWN0ICopIFB5X1RZUEUob2JqKTsKLSAgICBQeV9JTkNSRUYoY2xzKTsKLSAgICBQeVR1cGxlX1NFVF9JVEVNKGFyZ3MyLCAwLCBjbHMpOwotICAgIGZvciAoaSA9IDA7IGkgPCBuOyBpKyspIHsKLSAgICAgICAgUHlPYmplY3QgKnYgPSBQeVR1cGxlX0dFVF9JVEVNKGFyZ3MsIGkpOwotICAgICAgICBQeV9JTkNSRUYodik7Ci0gICAgICAgIFB5VHVwbGVfU0VUX0lURU0oYXJnczIsIGkrMSwgdik7Ci0gICAgfQotCi0gICAgcmVzID0gUHlUdXBsZV9QYWNrKDUsIG5ld29iaiwgYXJnczIsIHN0YXRlLCBsaXN0aXRlbXMsIGRpY3RpdGVtcyk7Ci0KLSAgZW5kOgotICAgIFB5X1hERUNSRUYoYXJncyk7Ci0gICAgUHlfWERFQ1JFRihhcmdzMik7Ci0gICAgUHlfWERFQ1JFRihzdGF0ZSk7Ci0gICAgUHlfWERFQ1JFRihsaXN0aXRlbXMpOwotICAgIFB5X1hERUNSRUYoZGljdGl0ZW1zKTsKLSAgICBQeV9YREVDUkVGKGNvcHlyZWcpOwotICAgIFB5X1hERUNSRUYobmV3b2JqKTsKLSAgICByZXR1cm4gcmVzOwotfQotCiAvKgogICogVGhlcmUgd2VyZSB0d28gcHJvYmxlbXMgd2hlbiBvYmplY3QuX19yZWR1Y2VfXyBhbmQgb2JqZWN0Ll9fcmVkdWNlX2V4X18KICAqIHdlcmUgaW1wbGVtZW50ZWQgaW4gdGhlIHNhbWUgZnVuY3Rpb246CkBAIC00MTI5LDEwICs0MTQ5LDggQEAKIHsKICAgICBQeU9iamVjdCAqY29weXJlZywgKnJlczsKIAotICAgIGlmIChwcm90byA+PSA0KQotICAgICAgICByZXR1cm4gcmVkdWNlXzQoc2VsZik7Ci0gICAgZWxzZSBpZiAocHJvdG8gPj0gMikKLSAgICAgICAgcmV0dXJuIHJlZHVjZV8yKHNlbGYpOworICAgIGlmIChwcm90byA+PSAyKQorICAgICAgICByZXR1cm4gcmVkdWNlX25ld29iaihzZWxmLCBwcm90byk7CiAKICAgICBjb3B5cmVnID0gaW1wb3J0X2NvcHlyZWcoKTsKICAgICBpZiAoIWNvcHlyZWcpCkBAIC00NTkyLDYgKzQ2MTAsOCBAQAogICAgICAgICBDT1BZTlVNKG5iX2lucGxhY2VfdHJ1ZV9kaXZpZGUpOwogICAgICAgICBDT1BZTlVNKG5iX2lucGxhY2VfZmxvb3JfZGl2aWRlKTsKICAgICAgICAgQ09QWU5VTShuYl9pbmRleCk7CisgICAgICAgIENPUFlOVU0obmJfbWF0cml4X211bHRpcGx5KTsKKyAgICAgICAgQ09QWU5VTShuYl9pbnBsYWNlX21hdHJpeF9tdWx0aXBseSk7CiAgICAgfQogCiAgICAgaWYgKHR5cGUtPnRwX2FzX3NlcXVlbmNlICE9IE5VTEwgJiYgYmFzZS0+dHBfYXNfc2VxdWVuY2UgIT0gTlVMTCkgewpAQCAtNTc1OSw2ICs1Nzc5LDcgQEAKIFNMT1QxQklOKHNsb3RfbmJfYWRkLCBuYl9hZGQsICJfX2FkZF9fIiwgIl9fcmFkZF9fIikKIFNMT1QxQklOKHNsb3RfbmJfc3VidHJhY3QsIG5iX3N1YnRyYWN0LCAiX19zdWJfXyIsICJfX3JzdWJfXyIpCiBTTE9UMUJJTihzbG90X25iX211bHRpcGx5LCBuYl9tdWx0aXBseSwgIl9fbXVsX18iLCAiX19ybXVsX18iKQorU0xPVDFCSU4oc2xvdF9uYl9tYXRyaXhfbXVsdGlwbHksIG5iX21hdHJpeF9tdWx0aXBseSwgIl9fbWF0bXVsX18iLCAiX19ybWF0bXVsX18iKQogU0xPVDFCSU4oc2xvdF9uYl9yZW1haW5kZXIsIG5iX3JlbWFpbmRlciwgIl9fbW9kX18iLCAiX19ybW9kX18iKQogU0xPVDFCSU4oc2xvdF9uYl9kaXZtb2QsIG5iX2Rpdm1vZCwgIl9fZGl2bW9kX18iLCAiX19yZGl2bW9kX18iKQogCkBAIC01ODUyLDYgKzU4NzMsNyBAQAogU0xPVDEoc2xvdF9uYl9pbnBsYWNlX2FkZCwgIl9faWFkZF9fIiwgUHlPYmplY3QgKiwgIk8iKQogU0xPVDEoc2xvdF9uYl9pbnBsYWNlX3N1YnRyYWN0LCAiX19pc3ViX18iLCBQeU9iamVjdCAqLCAiTyIpCiBTTE9UMShzbG90X25iX2lucGxhY2VfbXVsdGlwbHksICJfX2ltdWxfXyIsIFB5T2JqZWN0ICosICJPIikKK1NMT1QxKHNsb3RfbmJfaW5wbGFjZV9tYXRyaXhfbXVsdGlwbHksICJfX2ltYXRtdWxfXyIsIFB5T2JqZWN0ICosICJPIikKIFNMT1QxKHNsb3RfbmJfaW5wbGFjZV9yZW1haW5kZXIsICJfX2ltb2RfXyIsIFB5T2JqZWN0ICosICJPIikKIC8qIENhbid0IHVzZSBTTE9UMSBoZXJlLCBiZWNhdXNlIG5iX2lucGxhY2VfcG93ZXIgaXMgdGVybmFyeSAqLwogc3RhdGljIFB5T2JqZWN0ICoKQEAgLTY0MzIsNiArNjQ1NCwxMiBAQAogICAgICAgICAgICAiX19pbmRleF9fKCRzZWxmLCAvKVxuLS1cblxuIgogICAgICAgICAgICAiUmV0dXJuIHNlbGYgY29udmVydGVkIHRvIGFuIGludGVnZXIsIGlmIHNlbGYgaXMgc3VpdGFibGUgIgogICAgICAgICAgICAiZm9yIHVzZSBhcyBhbiBpbmRleCBpbnRvIGEgbGlzdC4iKSwKKyAgICBCSU5TTE9UKCJfX21hdG11bF9fIiwgbmJfbWF0cml4X211bHRpcGx5LCBzbG90X25iX21hdHJpeF9tdWx0aXBseSwKKyAgICAgICAgICAgICJAIiksCisgICAgUkJJTlNMT1QoIl9fcm1hdG11bF9fIiwgbmJfbWF0cml4X211bHRpcGx5LCBzbG90X25iX21hdHJpeF9tdWx0aXBseSwKKyAgICAgICAgICAgICAiQCIpLAorICAgIElCU0xPVCgiX19pbWF0bXVsX18iLCBuYl9pbnBsYWNlX21hdHJpeF9tdWx0aXBseSwgc2xvdF9uYl9pbnBsYWNlX21hdHJpeF9tdWx0aXBseSwKKyAgICAgICAgICAgd3JhcF9iaW5hcnlmdW5jLCAiQD0iKSwKICAgICBNUFNMT1QoIl9fbGVuX18iLCBtcF9sZW5ndGgsIHNsb3RfbXBfbGVuZ3RoLCB3cmFwX2xlbmZ1bmMsCiAgICAgICAgICAgICJfX2xlbl9fKCRzZWxmLCAvKVxuLS1cblxuUmV0dXJuIGxlbihzZWxmKS4iKSwKICAgICBNUFNMT1QoIl9fZ2V0aXRlbV9fIiwgbXBfc3Vic2NyaXB0LCBzbG90X21wX3N1YnNjcmlwdCwKQEAgLTY2NTIsMTUgKzY2ODAsMTUgQEAKICAgICByZXR1cm4gMDsKIH0KIAorc3RhdGljIGludCBzbG90ZGVmc19pbml0aWFsaXplZCA9IDA7CiAvKiBJbml0aWFsaXplIHRoZSBzbG90ZGVmcyB0YWJsZSBieSBhZGRpbmcgaW50ZXJuZWQgc3RyaW5nIG9iamVjdHMgZm9yIHRoZQotICAgbmFtZXMgYW5kIHNvcnRpbmcgdGhlIGVudHJpZXMuICovCisgICBuYW1lcy4gKi8KIHN0YXRpYyB2b2lkCiBpbml0X3Nsb3RkZWZzKHZvaWQpCiB7CiAgICAgc2xvdGRlZiAqcDsKLSAgICBzdGF0aWMgaW50IGluaXRpYWxpemVkID0gMDsKIAotICAgIGlmIChpbml0aWFsaXplZCkKKyAgICBpZiAoc2xvdGRlZnNfaW5pdGlhbGl6ZWQpCiAgICAgICAgIHJldHVybjsKICAgICBmb3IgKHAgPSBzbG90ZGVmczsgcC0+bmFtZTsgcCsrKSB7CiAgICAgICAgIC8qIFNsb3RzIG11c3QgYmUgb3JkZXJlZCBieSB0aGVpciBvZmZzZXQgaW4gdGhlIFB5SGVhcFR5cGVPYmplY3QuICovCkBAIC02NjY5LDcgKzY2OTcsMTcgQEAKICAgICAgICAgaWYgKCFwLT5uYW1lX3N0cm9iaikKICAgICAgICAgICAgIFB5X0ZhdGFsRXJyb3IoIk91dCBvZiBtZW1vcnkgaW50ZXJuaW5nIHNsb3RkZWYgbmFtZXMiKTsKICAgICB9Ci0gICAgaW5pdGlhbGl6ZWQgPSAxOworICAgIHNsb3RkZWZzX2luaXRpYWxpemVkID0gMTsKK30KKworLyogVW5kbyBpbml0X3Nsb3RkZWZzLCByZWxlYXNpbmcgdGhlIGludGVybmVkIHN0cmluZ3MuICovCitzdGF0aWMgdm9pZCBjbGVhcl9zbG90ZGVmcyh2b2lkKQoreworICAgIHNsb3RkZWYgKnA7CisgICAgZm9yIChwID0gc2xvdGRlZnM7IHAtPm5hbWU7IHArKykgeworICAgICAgICBQeV9DTEVBUihwLT5uYW1lX3N0cm9iaik7CisgICAgfQorICAgIHNsb3RkZWZzX2luaXRpYWxpemVkID0gMDsKIH0KIAogLyogVXBkYXRlIHRoZSBzbG90cyBhZnRlciBhc3NpZ25tZW50IHRvIGEgY2xhc3MgKHR5cGUpIGF0dHJpYnV0ZS4gKi8KZGlmZiAtLWdpdCBhL09iamVjdHMvdHlwZXNsb3RzLmluYyBiL09iamVjdHMvdHlwZXNsb3RzLmluYwppbmRleCBjYWExZTAzLi4yZWQ5OWQ4IDEwMDY0NAotLS0gYS9PYmplY3RzL3R5cGVzbG90cy5pbmMKKysrIGIvT2JqZWN0cy90eXBlc2xvdHMuaW5jCkBAIC03MywzICs3Myw1IEBACiBvZmZzZXRvZihQeUhlYXBUeXBlT2JqZWN0LCBodF90eXBlLnRwX21lbWJlcnMpLAogb2Zmc2V0b2YoUHlIZWFwVHlwZU9iamVjdCwgaHRfdHlwZS50cF9nZXRzZXQpLAogb2Zmc2V0b2YoUHlIZWFwVHlwZU9iamVjdCwgaHRfdHlwZS50cF9mcmVlKSwKK29mZnNldG9mKFB5SGVhcFR5cGVPYmplY3QsIGFzX251bWJlci5uYl9tYXRyaXhfbXVsdGlwbHkpLAorb2Zmc2V0b2YoUHlIZWFwVHlwZU9iamVjdCwgYXNfbnVtYmVyLm5iX2lucGxhY2VfbWF0cml4X211bHRpcGx5KSwKZGlmZiAtLWdpdCBhL09iamVjdHMvdW5pY29kZW9iamVjdC5jIGIvT2JqZWN0cy91bmljb2Rlb2JqZWN0LmMKaW5kZXggNDJjZGE1OC4uMGRlYTgzZSAxMDA2NDQKLS0tIGEvT2JqZWN0cy91bmljb2Rlb2JqZWN0LmMKKysrIGIvT2JqZWN0cy91bmljb2Rlb2JqZWN0LmMKQEAgLTUxOSwxMCArNTE5LDYgQEAKICAgICAgICAgcmV0dXJuIF9QeVVuaWNvZGVfQ29weSh1bmljb2RlKTsKIH0KIAotI2lmZGVmIEhBVkVfTUJDUwotc3RhdGljIE9TVkVSU0lPTklORk9FWCB3aW52ZXI7Ci0jZW5kaWYKLQogLyogLS0tIEJsb29tIEZpbHRlcnMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KIAogLyogc3R1ZmYgdG8gaW1wbGVtZW50IHNpbXBsZSAiYmxvb20gZmlsdGVycyIgZm9yIFVuaWNvZGUgY2hhcmFjdGVycy4KQEAgLTcyNyw3ICs3MjMsNyBAQAogICAgIF9QeV9ERUNfUkVGVE9UQUw7CiAgICAgX1B5X0ZvcmdldFJlZmVyZW5jZSh1bmljb2RlKTsKIAotICAgIG5ld191bmljb2RlID0gKFB5T2JqZWN0ICopUHlPYmplY3RfUkVBTExPQygoY2hhciAqKXVuaWNvZGUsIG5ld19zaXplKTsKKyAgICBuZXdfdW5pY29kZSA9IChQeU9iamVjdCAqKVB5T2JqZWN0X1JFQUxMT0ModW5pY29kZSwgbmV3X3NpemUpOwogICAgIGlmIChuZXdfdW5pY29kZSA9PSBOVUxMKSB7CiAgICAgICAgIF9QeV9OZXdSZWZlcmVuY2UodW5pY29kZSk7CiAgICAgICAgIFB5RXJyX05vTWVtb3J5KCk7CkBAIC04MTYsNyArODEyLDcgQEAKICAgICBhc3NlcnQoX1B5VW5pY29kZV9XU1RSKHVuaWNvZGUpICE9IE5VTEwpOwogCiAgICAgLyogY2hlY2sgZm9yIGludGVnZXIgb3ZlcmZsb3cgKi8KLSAgICBpZiAobGVuZ3RoID4gUFlfU1NJWkVfVF9NQVggLyBzaXplb2Yod2NoYXJfdCkgLSAxKSB7CisgICAgaWYgKGxlbmd0aCA+IFBZX1NTSVpFX1RfTUFYIC8gKFB5X3NzaXplX3Qpc2l6ZW9mKHdjaGFyX3QpIC0gMSkgewogICAgICAgICBQeUVycl9Ob01lbW9yeSgpOwogICAgICAgICByZXR1cm4gLTE7CiAgICAgfQpAQCAtODg4LDcgKzg4NCw3IEBACiAgICAgfQogCiAgICAgLyogRW5zdXJlIHdlIHdvbid0IG92ZXJmbG93IHRoZSBzaXplLiAqLwotICAgIGlmIChsZW5ndGggPiAoKFBZX1NTSVpFX1RfTUFYIC8gc2l6ZW9mKFB5X1VOSUNPREUpKSAtIDEpKSB7CisgICAgaWYgKGxlbmd0aCA+ICgoUFlfU1NJWkVfVF9NQVggLyAoUHlfc3NpemVfdClzaXplb2YoUHlfVU5JQ09ERSkpIC0gMSkpIHsKICAgICAgICAgcmV0dXJuIChQeVVuaWNvZGVPYmplY3QgKilQeUVycl9Ob01lbW9yeSgpOwogICAgIH0KICAgICBpZiAobGVuZ3RoIDwgMCkgewpAQCAtMjMxMywzNSArMjMwOSw2IEBACiAKICNlbmRpZiAvKiBIQVZFX1dDSEFSX0ggKi8KIAotc3RhdGljIHZvaWQKLW1ha2VmbXQoY2hhciAqZm10LCBpbnQgbG9uZ2ZsYWcsIGludCBsb25nbG9uZ2ZsYWcsIGludCBzaXplX3RmbGFnLAotICAgICAgICBjaGFyIGMpCi17Ci0gICAgKmZtdCsrID0gJyUnOwotICAgIGlmIChsb25nZmxhZykKLSAgICAgICAgKmZtdCsrID0gJ2wnOwotICAgIGVsc2UgaWYgKGxvbmdsb25nZmxhZykgewotICAgICAgICAvKiBsb25nbG9uZ2ZsYWcgc2hvdWxkIG9ubHkgZXZlciBiZSBub256ZXJvIG9uIG1hY2hpbmVzIHdpdGgKLSAgICAgICAgICAgSEFWRV9MT05HX0xPTkcgZGVmaW5lZCAqLwotI2lmZGVmIEhBVkVfTE9OR19MT05HCi0gICAgICAgIGNoYXIgKmYgPSBQWV9GT1JNQVRfTE9OR19MT05HOwotICAgICAgICB3aGlsZSAoKmYpCi0gICAgICAgICAgICAqZm10KysgPSAqZisrOwotI2Vsc2UKLSAgICAgICAgLyogd2Ugc2hvdWxkbid0IGV2ZXIgZ2V0IGhlcmUgKi8KLSAgICAgICAgYXNzZXJ0KDApOwotICAgICAgICAqZm10KysgPSAnbCc7Ci0jZW5kaWYKLSAgICB9Ci0gICAgZWxzZSBpZiAoc2l6ZV90ZmxhZykgewotICAgICAgICBjaGFyICpmID0gUFlfRk9STUFUX1NJWkVfVDsKLSAgICAgICAgd2hpbGUgKCpmKQotICAgICAgICAgICAgKmZtdCsrID0gKmYrKzsKLSAgICB9Ci0gICAgKmZtdCsrID0gYzsKLSAgICAqZm10ID0gJ1wwJzsKLX0KLQogLyogbWF4aW11bSBudW1iZXIgb2YgY2hhcmFjdGVycyByZXF1aXJlZCBmb3Igb3V0cHV0IG9mICVsbGQgb3IgJXAuCiAgICBXZSBuZWVkIGF0IG1vc3QgY2VpbChsb2cxMCgyNTYpKlNJWkVPRl9MT05HX0xPTkcpIGRpZ2l0cywKICAgIHBsdXMgMSBmb3IgdGhlIHNpZ24uICA1My8yMiBpcyBhbiB1cHBlciBib3VuZCBmb3IgbG9nMTAoMjU2KS4gKi8KQEAgLTI1MTcsNDggKzI0ODQsNDIgQEAKICAgICBjYXNlICd4JzoKICAgICB7CiAgICAgICAgIC8qIHVzZWQgYnkgc3ByaW50ZiAqLwotICAgICAgICBjaGFyIGZtdFsxMF07IC8qIHNob3VsZCBiZSBlbm91Z2ggZm9yICIlMGxsZFwwIiAqLwogICAgICAgICBjaGFyIGJ1ZmZlcltNQVhfTE9OR19MT05HX0NIQVJTXTsKICAgICAgICAgUHlfc3NpemVfdCBhcmdsZW47CiAKICAgICAgICAgaWYgKCpmID09ICd1JykgewotICAgICAgICAgICAgbWFrZWZtdChmbXQsIGxvbmdmbGFnLCBsb25nbG9uZ2ZsYWcsIHNpemVfdGZsYWcsICpmKTsKLQogICAgICAgICAgICAgaWYgKGxvbmdmbGFnKQotICAgICAgICAgICAgICAgIGxlbiA9IHNwcmludGYoYnVmZmVyLCBmbXQsCisgICAgICAgICAgICAgICAgbGVuID0gc3ByaW50ZihidWZmZXIsICIlbHUiLAogICAgICAgICAgICAgICAgICAgICAgICAgdmFfYXJnKCp2YXJncywgdW5zaWduZWQgbG9uZykpOwogI2lmZGVmIEhBVkVfTE9OR19MT05HCiAgICAgICAgICAgICBlbHNlIGlmIChsb25nbG9uZ2ZsYWcpCi0gICAgICAgICAgICAgICAgbGVuID0gc3ByaW50ZihidWZmZXIsIGZtdCwKKyAgICAgICAgICAgICAgICBsZW4gPSBzcHJpbnRmKGJ1ZmZlciwgIiUiIFBZX0ZPUk1BVF9MT05HX0xPTkcgInUiLAogICAgICAgICAgICAgICAgICAgICAgICAgdmFfYXJnKCp2YXJncywgdW5zaWduZWQgUFlfTE9OR19MT05HKSk7CiAjZW5kaWYKICAgICAgICAgICAgIGVsc2UgaWYgKHNpemVfdGZsYWcpCi0gICAgICAgICAgICAgICAgbGVuID0gc3ByaW50ZihidWZmZXIsIGZtdCwKKyAgICAgICAgICAgICAgICBsZW4gPSBzcHJpbnRmKGJ1ZmZlciwgIiUiIFBZX0ZPUk1BVF9TSVpFX1QgInUiLAogICAgICAgICAgICAgICAgICAgICAgICAgdmFfYXJnKCp2YXJncywgc2l6ZV90KSk7CiAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgbGVuID0gc3ByaW50ZihidWZmZXIsIGZtdCwKKyAgICAgICAgICAgICAgICBsZW4gPSBzcHJpbnRmKGJ1ZmZlciwgIiV1IiwKICAgICAgICAgICAgICAgICAgICAgICAgIHZhX2FyZygqdmFyZ3MsIHVuc2lnbmVkIGludCkpOwogICAgICAgICB9CiAgICAgICAgIGVsc2UgaWYgKCpmID09ICd4JykgewotICAgICAgICAgICAgbWFrZWZtdChmbXQsIDAsIDAsIDAsICd4Jyk7Ci0gICAgICAgICAgICBsZW4gPSBzcHJpbnRmKGJ1ZmZlciwgZm10LCB2YV9hcmcoKnZhcmdzLCBpbnQpKTsKKyAgICAgICAgICAgIGxlbiA9IHNwcmludGYoYnVmZmVyLCAiJXgiLCB2YV9hcmcoKnZhcmdzLCBpbnQpKTsKICAgICAgICAgfQogICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgIG1ha2VmbXQoZm10LCBsb25nZmxhZywgbG9uZ2xvbmdmbGFnLCBzaXplX3RmbGFnLCAqZik7Ci0KICAgICAgICAgICAgIGlmIChsb25nZmxhZykKLSAgICAgICAgICAgICAgICBsZW4gPSBzcHJpbnRmKGJ1ZmZlciwgZm10LAorICAgICAgICAgICAgICAgIGxlbiA9IHNwcmludGYoYnVmZmVyLCAiJWxpIiwKICAgICAgICAgICAgICAgICAgICAgICAgIHZhX2FyZygqdmFyZ3MsIGxvbmcpKTsKICNpZmRlZiBIQVZFX0xPTkdfTE9ORwogICAgICAgICAgICAgZWxzZSBpZiAobG9uZ2xvbmdmbGFnKQotICAgICAgICAgICAgICAgIGxlbiA9IHNwcmludGYoYnVmZmVyLCBmbXQsCisgICAgICAgICAgICAgICAgbGVuID0gc3ByaW50ZihidWZmZXIsICIlIiBQWV9GT1JNQVRfTE9OR19MT05HICJpIiwKICAgICAgICAgICAgICAgICAgICAgICAgIHZhX2FyZygqdmFyZ3MsIFBZX0xPTkdfTE9ORykpOwogI2VuZGlmCiAgICAgICAgICAgICBlbHNlIGlmIChzaXplX3RmbGFnKQotICAgICAgICAgICAgICAgIGxlbiA9IHNwcmludGYoYnVmZmVyLCBmbXQsCisgICAgICAgICAgICAgICAgbGVuID0gc3ByaW50ZihidWZmZXIsICIlIiBQWV9GT1JNQVRfU0laRV9UICJpIiwKICAgICAgICAgICAgICAgICAgICAgICAgIHZhX2FyZygqdmFyZ3MsIFB5X3NzaXplX3QpKTsKICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICBsZW4gPSBzcHJpbnRmKGJ1ZmZlciwgZm10LAorICAgICAgICAgICAgICAgIGxlbiA9IHNwcmludGYoYnVmZmVyLCAiJWkiLAogICAgICAgICAgICAgICAgICAgICAgICAgdmFfYXJnKCp2YXJncywgaW50KSk7CiAgICAgICAgIH0KICAgICAgICAgYXNzZXJ0KGxlbiA+PSAwKTsKQEAgLTMyNDEsNyArMzIwMiw3IEBACiAgICAgd2xlbjIgPSB3Y3NsZW4od3N0cik7CiAgICAgaWYgKHdsZW4yICE9IHdsZW4pIHsKICAgICAgICAgUHlNZW1fRnJlZSh3c3RyKTsKLSAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgImVtYmVkZGVkIG51bGwgY2hhcmFjdGVyIik7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLCAiZW1iZWRkZWQgbnVsbCBjaGFyYWN0ZXIiKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQogCkBAIC0zMjQ5LDcgKzMyMTAsNyBAQAogICAgICAgICAvKiAic3Vycm9nYXRlZXNjYXBlIiBlcnJvciBoYW5kbGVyICovCiAgICAgICAgIGNoYXIgKnN0cjsKIAotICAgICAgICBzdHIgPSBfUHlfd2NoYXIyY2hhcih3c3RyLCAmZXJyb3JfcG9zKTsKKyAgICAgICAgc3RyID0gUHlfRW5jb2RlTG9jYWxlKHdzdHIsICZlcnJvcl9wb3MpOwogICAgICAgICBpZiAoc3RyID09IE5VTEwpIHsKICAgICAgICAgICAgIGlmIChlcnJvcl9wb3MgPT0gKHNpemVfdCktMSkgewogICAgICAgICAgICAgICAgIFB5RXJyX05vTWVtb3J5KCk7CkBAIC0zMzAyLDcgKzMyNjMsNyBAQAogCiAgICAgaWYgKGVycm1zZyAhPSBOVUxMKSB7CiAgICAgICAgIHNpemVfdCBlcnJsZW47Ci0gICAgICAgIHdzdHIgPSBfUHlfY2hhcjJ3Y2hhcihlcnJtc2csICZlcnJsZW4pOworICAgICAgICB3c3RyID0gUHlfRGVjb2RlTG9jYWxlKGVycm1zZywgJmVycmxlbik7CiAgICAgICAgIGlmICh3c3RyICE9IE5VTEwpIHsKICAgICAgICAgICAgIHJlYXNvbiA9IFB5VW5pY29kZV9Gcm9tV2lkZUNoYXIod3N0ciwgZXJybGVuKTsKICAgICAgICAgICAgIFB5TWVtX1Jhd0ZyZWUod3N0cik7CkBAIC0zNDc3LDcgKzM0MzgsNyBAQAogICAgIG1lbXNldCgmbWJzLCAwLCBzaXplb2YgbWJzKTsKICAgICB3aGlsZSAobGVuKQogICAgIHsKLSAgICAgICAgY29udmVydGVkID0gbWJydG93YygmY2gsIChjaGFyKilzdHIsIGxlbiwgJm1icyk7CisgICAgICAgIGNvbnZlcnRlZCA9IG1icnRvd2MoJmNoLCBzdHIsIGxlbiwgJm1icyk7CiAgICAgICAgIGlmIChjb252ZXJ0ZWQgPT0gMCkKICAgICAgICAgICAgIC8qIFJlYWNoZWQgZW5kIG9mIHN0cmluZyAqLwogICAgICAgICAgICAgYnJlYWs7CkBAIC0zNTEzLDE0ICszNDc0LDE0IEBACiAgICAgaWYgKGxvY2FsZV9lcnJvcl9oYW5kbGVyKGVycm9ycywgJnN1cnJvZ2F0ZWVzY2FwZSkgPCAwKQogICAgICAgICByZXR1cm4gTlVMTDsKIAotICAgIGlmIChzdHJbbGVuXSAhPSAnXDAnIHx8IGxlbiAhPSBzdHJsZW4oc3RyKSkgewotICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCAiZW1iZWRkZWQgbnVsbCBjaGFyYWN0ZXIiKTsKKyAgICBpZiAoc3RyW2xlbl0gIT0gJ1wwJyB8fCAoc2l6ZV90KWxlbiAhPSBzdHJsZW4oc3RyKSkgIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsICJlbWJlZGRlZCBudWxsIGJ5dGUiKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQogCiAgICAgaWYgKHN1cnJvZ2F0ZWVzY2FwZSkgewogICAgICAgICAvKiAic3Vycm9nYXRlZXNjYXBlIiBlcnJvciBoYW5kbGVyICovCi0gICAgICAgIHdzdHIgPSBfUHlfY2hhcjJ3Y2hhcihzdHIsICZ3bGVuKTsKKyAgICAgICAgd3N0ciA9IFB5X0RlY29kZUxvY2FsZShzdHIsICZ3bGVuKTsKICAgICAgICAgaWYgKHdzdHIgPT0gTlVMTCkgewogICAgICAgICAgICAgaWYgKHdsZW4gPT0gKHNpemVfdCktMSkKICAgICAgICAgICAgICAgICBQeUVycl9Ob01lbW9yeSgpOwpAQCAtMzU3Miw3ICszNTMzLDcgQEAKICAgICBlcnJvcl9wb3MgPSBtYnN0b3djc19lcnJvcnBvcyhzdHIsIGxlbik7CiAgICAgaWYgKGVycm1zZyAhPSBOVUxMKSB7CiAgICAgICAgIHNpemVfdCBlcnJsZW47Ci0gICAgICAgIHdzdHIgPSBfUHlfY2hhcjJ3Y2hhcihlcnJtc2csICZlcnJsZW4pOworICAgICAgICB3c3RyID0gUHlfRGVjb2RlTG9jYWxlKGVycm1zZywgJmVycmxlbik7CiAgICAgICAgIGlmICh3c3RyICE9IE5VTEwpIHsKICAgICAgICAgICAgIHJlYXNvbiA9IFB5VW5pY29kZV9Gcm9tV2lkZUNoYXIod3N0ciwgZXJybGVuKTsKICAgICAgICAgICAgIFB5TWVtX1Jhd0ZyZWUod3N0cik7CkBAIC0zNjg3LDggKzM2NDgsOCBAQAogICAgIH0KICAgICBzaXplID0gUHlCeXRlc19HRVRfU0laRShvdXRwdXQpOwogICAgIGRhdGEgPSBQeUJ5dGVzX0FTX1NUUklORyhvdXRwdXQpOwotICAgIGlmIChzaXplICE9IHN0cmxlbihkYXRhKSkgewotICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCAiZW1iZWRkZWQgTlVMIGNoYXJhY3RlciIpOworICAgIGlmICgoc2l6ZV90KXNpemUgIT0gc3RybGVuKGRhdGEpKSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLCAiZW1iZWRkZWQgbnVsbCBieXRlIik7CiAgICAgICAgIFB5X0RFQ1JFRihvdXRwdXQpOwogICAgICAgICByZXR1cm4gMDsKICAgICB9CkBAIC0zNzMyLDcgKzM2OTMsNyBAQAogICAgIH0KICAgICBpZiAoZmluZGNoYXIoUHlVbmljb2RlX0RBVEEob3V0cHV0KSwgUHlVbmljb2RlX0tJTkQob3V0cHV0KSwKICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX0dFVF9MRU5HVEgob3V0cHV0KSwgMCwgMSkgPj0gMCkgewotICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCAiZW1iZWRkZWQgTlVMIGNoYXJhY3RlciIpOworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwgImVtYmVkZGVkIG51bGwgY2hhcmFjdGVyIik7CiAgICAgICAgIFB5X0RFQ1JFRihvdXRwdXQpOwogICAgICAgICByZXR1cm4gMDsKICAgICB9CkBAIC02ODQ5LDI4ICs2ODEwLDYgQEAKICAgICByZXR1cm4gUHlCeXRlc19BU19TVFJJTkcoKm9iaik7CiB9CiAKLXN0YXRpYyBpbnQKLWlzX2RiY3NfbGVhZF9ieXRlKFVJTlQgY29kZV9wYWdlLCBjb25zdCBjaGFyICpzLCBpbnQgb2Zmc2V0KQotewotICAgIGNvbnN0IGNoYXIgKmN1cnIgPSBzICsgb2Zmc2V0OwotICAgIGNvbnN0IGNoYXIgKnByZXY7Ci0KLSAgICBpZiAoIUlzREJDU0xlYWRCeXRlRXgoY29kZV9wYWdlLCAqY3VycikpCi0gICAgICAgIHJldHVybiAwOwotCi0gICAgcHJldiA9IENoYXJQcmV2RXhBKGNvZGVfcGFnZSwgcywgY3VyciwgMCk7Ci0gICAgaWYgKHByZXYgPT0gY3VycikKLSAgICAgICAgcmV0dXJuIDE7Ci0gICAgLyogRklYTUU6IFRoaXMgY29kZSBpcyBsaW1pdGVkIHRvICJ0cnVlIiBkb3VibGUtYnl0ZSBlbmNvZGluZ3MsCi0gICAgICAgYXMgaXQgYXNzdW1lcyBhbiBpbmNvbXBsZXRlIGNoYXJhY3RlciBjb25zaXN0cyBvZiBhIHNpbmdsZQotICAgICAgIGJ5dGUuICovCi0gICAgaWYgKGN1cnIgLSBwcmV2ID09IDIpCi0gICAgICAgIHJldHVybiAxOwotICAgIGlmICghSXNEQkNTTGVhZEJ5dGVFeChjb2RlX3BhZ2UsICpwcmV2KSkKLSAgICAgICAgcmV0dXJuIDE7Ci0gICAgcmV0dXJuIDA7Ci19Ci0KIHN0YXRpYyBEV09SRAogZGVjb2RlX2NvZGVfcGFnZV9mbGFncyhVSU5UIGNvZGVfcGFnZSkKIHsKQEAgLTY5NDUsNyArNjg4NCw3IEBACiBkZWNvZGVfY29kZV9wYWdlX2Vycm9ycyhVSU5UIGNvZGVfcGFnZSwKICAgICAgICAgICAgICAgICAgICAgICAgIFB5T2JqZWN0ICoqdiwKICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmluLCBjb25zdCBpbnQgc2l6ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmVycm9ycykKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmVycm9ycywgaW50IGZpbmFsKQogewogICAgIGNvbnN0IGNoYXIgKnN0YXJ0aW4gPSBpbjsKICAgICBjb25zdCBjaGFyICplbmRpbiA9IGluICsgc2l6ZTsKQEAgLTY5NzIsNyArNjkxMSw3IEBACiAgICAgaWYgKGVuY29kaW5nID09IE5VTEwpCiAgICAgICAgIHJldHVybiAtMTsKIAotICAgIGlmIChlcnJvcnMgPT0gTlVMTCB8fCBzdHJjbXAoZXJyb3JzLCAic3RyaWN0IikgPT0gMCkgeworICAgIGlmICgoZXJyb3JzID09IE5VTEwgfHwgc3RyY21wKGVycm9ycywgInN0cmljdCIpID09IDApICYmIGZpbmFsKSB7CiAgICAgICAgIC8qIFRoZSBsYXN0IGVycm9yIHdhcyBFUlJPUl9OT19VTklDT0RFX1RSQU5TTEFUSU9OLCB0aGVuIHdlIHJhaXNlIGEKICAgICAgICAgICAgVW5pY29kZURlY29kZUVycm9yLiAqLwogICAgICAgICBtYWtlX2RlY29kZV9leGNlcHRpb24oJmV4YywgZW5jb2RpbmcsIGluLCBzaXplLCAwLCAwLCByZWFzb24pOwpAQCAtNzAzNSw2ICs2OTc0LDEwIEBACiAgICAgICAgIGlmIChvdXRzaXplIDw9IDApIHsKICAgICAgICAgICAgIFB5X3NzaXplX3Qgc3RhcnRpbnBvcywgZW5kaW5wb3MsIG91dHBvczsKIAorICAgICAgICAgICAgLyogbGFzdCBjaGFyYWN0ZXIgaW4gcGFydGlhbCBkZWNvZGU/ICovCisgICAgICAgICAgICBpZiAoaW4gKyBpbnNpemUgPj0gZW5kaW4gJiYgIWZpbmFsKQorICAgICAgICAgICAgICAgIGJyZWFrOworCiAgICAgICAgICAgICBzdGFydGlucG9zID0gaW4gLSBzdGFydGluOwogICAgICAgICAgICAgZW5kaW5wb3MgPSBzdGFydGlucG9zICsgMTsKICAgICAgICAgICAgIG91dHBvcyA9IG91dCAtIFB5VW5pY29kZV9BU19VTklDT0RFKCp2KTsKQEAgLTcwNjMsNyArNzAwNiw4IEBACiAgICAgYXNzZXJ0KG91dHNpemUgPD0gUHlVbmljb2RlX1dTVFJfTEVOR1RIKCp2KSk7CiAgICAgaWYgKHVuaWNvZGVfcmVzaXplKHYsIG91dHNpemUpIDwgMCkKICAgICAgICAgZ290byBlcnJvcjsKLSAgICByZXQgPSBzaXplOworICAgIC8qIChpbiAtIHN0YXJ0aW4pIDw9IHNpemUgYW5kIHNpemUgaXMgYW4gaW50ICovCisgICAgcmV0ID0gUHlfU0FGRV9ET1dOQ0FTVChpbiAtIHN0YXJ0aW4sIFB5X3NzaXplX3QsIGludCk7CiAKIGVycm9yOgogICAgIFB5X1hERUNSRUYoZW5jb2Rpbmdfb2JqKTsKQEAgLTcxMDQsMjQgKzcwNDgsMTkgQEAKICAgICAgICAgICAgIGRvbmUgPSAxOwogICAgICAgICB9CiAKLSAgICAgICAgLyogU2tpcCB0cmFpbGluZyBsZWFkLWJ5dGUgdW5sZXNzICdmaW5hbCcgaXMgc2V0ICovCi0gICAgICAgIGlmICghZmluYWwgJiYgaXNfZGJjc19sZWFkX2J5dGUoY29kZV9wYWdlLCBzLCBjaHVua19zaXplIC0gMSkpCi0gICAgICAgICAgICAtLWNodW5rX3NpemU7Ci0KICAgICAgICAgaWYgKGNodW5rX3NpemUgPT0gMCAmJiBkb25lKSB7CiAgICAgICAgICAgICBpZiAodiAhPSBOVUxMKQogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgX1B5X1JFVFVSTl9VTklDT0RFX0VNUFRZKCk7CiAgICAgICAgIH0KIAotCiAgICAgICAgIGNvbnZlcnRlZCA9IGRlY29kZV9jb2RlX3BhZ2Vfc3RyaWN0KGNvZGVfcGFnZSwgJnYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHMsIGNodW5rX3NpemUpOwogICAgICAgICBpZiAoY29udmVydGVkID09IC0yKQogICAgICAgICAgICAgY29udmVydGVkID0gZGVjb2RlX2NvZGVfcGFnZV9lcnJvcnMoY29kZV9wYWdlLCAmdiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHMsIGNodW5rX3NpemUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvcnMpOwotICAgICAgICBhc3NlcnQoY29udmVydGVkICE9IDApOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3JzLCBmaW5hbCk7CisgICAgICAgIGFzc2VydChjb252ZXJ0ZWQgIT0gMCB8fCBkb25lKTsKIAogICAgICAgICBpZiAoY29udmVydGVkIDwgMCkgewogICAgICAgICAgICAgUHlfWERFQ1JFRih2KTsKQEAgLTcxNjksMTMgKzcxMDgsNyBAQAogZW5jb2RlX2NvZGVfcGFnZV9mbGFncyhVSU5UIGNvZGVfcGFnZSwgY29uc3QgY2hhciAqZXJyb3JzKQogewogICAgIGlmIChjb2RlX3BhZ2UgPT0gQ1BfVVRGOCkgewotICAgICAgICBpZiAod2ludmVyLmR3TWFqb3JWZXJzaW9uID49IDYpCi0gICAgICAgICAgICAvKiBDUF9VVEY4IHN1cHBvcnRzIFdDX0VSUl9JTlZBTElEX0NIQVJTIG9uIFdpbmRvd3MgVmlzdGEKLSAgICAgICAgICAgICAgIGFuZCBsYXRlciAqLwotICAgICAgICAgICAgcmV0dXJuIFdDX0VSUl9JTlZBTElEX0NIQVJTOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICAvKiBDUF9VVEY4IG9ubHkgc3VwcG9ydHMgZmxhZ3M9MCBvbiBXaW5kb3dzIG9sZGVyIHRoYW4gVmlzdGEgKi8KLSAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICByZXR1cm4gV0NfRVJSX0lOVkFMSURfQ0hBUlM7CiAgICAgfQogICAgIGVsc2UgaWYgKGNvZGVfcGFnZSA9PSBDUF9VVEY3KSB7CiAgICAgICAgIC8qIENQX1VURjcgb25seSBzdXBwb3J0cyBmbGFncz0wICovCkBAIC03NDg1LDYgKzc0MTgsMTEgQEAKICAgICBQeV9zc2l6ZV90IG9mZnNldDsKICAgICBpbnQgY2h1bmtfbGVuLCByZXQsIGRvbmU7CiAKKyAgICBpZiAoIVB5VW5pY29kZV9DaGVjayh1bmljb2RlKSkgeworICAgICAgICBQeUVycl9CYWRBcmd1bWVudCgpOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisKICAgICBpZiAoUHlVbmljb2RlX1JFQURZKHVuaWNvZGUpID09IC0xKQogICAgICAgICByZXR1cm4gTlVMTDsKICAgICBsZW4gPSBQeVVuaWNvZGVfR0VUX0xFTkdUSCh1bmljb2RlKTsKQEAgLTc1NTgsMTAgKzc0OTYsNiBAQAogUHlPYmplY3QgKgogUHlVbmljb2RlX0FzTUJDU1N0cmluZyhQeU9iamVjdCAqdW5pY29kZSkKIHsKLSAgICBpZiAoIVB5VW5pY29kZV9DaGVjayh1bmljb2RlKSkgewotICAgICAgICBQeUVycl9CYWRBcmd1bWVudCgpOwotICAgICAgICByZXR1cm4gTlVMTDsKLSAgICB9CiAgICAgcmV0dXJuIFB5VW5pY29kZV9FbmNvZGVDb2RlUGFnZShDUF9BQ1AsIHVuaWNvZGUsIE5VTEwpOwogfQogCkBAIC04NTI4LDEwICs4NDYyLDEwIEBACiAgICAgfQogICAgIGVsc2UgaWYgKFB5TG9uZ19DaGVjayh4KSkgewogICAgICAgICBsb25nIHZhbHVlID0gUHlMb25nX0FTX0xPTkcoeCk7Ci0gICAgICAgIGxvbmcgbWF4ID0gUHlVbmljb2RlX0dldE1heCgpOwotICAgICAgICBpZiAodmFsdWUgPCAwIHx8IHZhbHVlID4gbWF4KSB7Ci0gICAgICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVHlwZUVycm9yLAotICAgICAgICAgICAgICAgICAgICAgICAgICJjaGFyYWN0ZXIgbWFwcGluZyBtdXN0IGJlIGluIHJhbmdlKDB4JXgpIiwgbWF4KzEpOworICAgICAgICBpZiAodmFsdWUgPCAwIHx8IHZhbHVlID4gTUFYX1VOSUNPREUpIHsKKyAgICAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19WYWx1ZUVycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgICJjaGFyYWN0ZXIgbWFwcGluZyBtdXN0IGJlIGluIHJhbmdlKDB4JXgpIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICBNQVhfVU5JQ09ERSsxKTsKICAgICAgICAgICAgIFB5X0RFQ1JFRih4KTsKICAgICAgICAgICAgIHJldHVybiAtMTsKICAgICAgICAgfQpAQCAtODU1MCw3NiArODQ4NCwxNjggQEAKICAgICAgICAgcmV0dXJuIC0xOwogICAgIH0KIH0KLS8qIGVuc3VyZSB0aGF0ICpvdXRvYmogaXMgYXQgbGVhc3QgcmVxdWlyZWRzaXplIGNoYXJhY3RlcnMgbG9uZywKLSAgIGlmIG5vdCByZWFsbG9jYXRlIGFuZCBhZGp1c3QgdmFyaW91cyBzdGF0ZSB2YXJpYWJsZXMuCi0gICBSZXR1cm4gMCBvbiBzdWNjZXNzLCAtMSBvbiBlcnJvciAqLworCisvKiBsb29rdXAgdGhlIGNoYXJhY3Rlciwgd3JpdGUgdGhlIHJlc3VsdCBpbnRvIHRoZSB3cml0ZXIuCisgICBSZXR1cm4gMSBpZiB0aGUgcmVzdWx0IHdhcyB3cml0dGVuIGludG8gdGhlIHdyaXRlciwgcmV0dXJuIDAgaWYgdGhlIG1hcHBpbmcKKyAgIHdhcyB1bmRlZmluZWQsIHJhaXNlIGFuIGV4Y2VwdGlvbiByZXR1cm4gLTEgb24gZXJyb3IuICovCiBzdGF0aWMgaW50Ci1jaGFybWFwdHJhbnNsYXRlX21ha2VzcGFjZShQeV9VQ1M0ICoqb3V0b2JqLCBQeV9zc2l6ZV90ICpwc2l6ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IHJlcXVpcmVkc2l6ZSkKK2NoYXJtYXB0cmFuc2xhdGVfb3V0cHV0KFB5X1VDUzQgY2gsIFB5T2JqZWN0ICptYXBwaW5nLAorICAgICAgICAgICAgICAgICAgICAgICAgX1B5VW5pY29kZVdyaXRlciAqd3JpdGVyKQogewotICAgIFB5X3NzaXplX3Qgb2xkc2l6ZSA9ICpwc2l6ZTsKLSAgICBQeV9VQ1M0ICpuZXdfb3V0b2JqOwotICAgIGlmIChyZXF1aXJlZHNpemUgPiBvbGRzaXplKSB7Ci0gICAgICAgIC8qIGV4cG9uZW50aWFsbHkgb3ZlcmFsbG9jYXRlIHRvIG1pbmltaXplIHJlYWxsb2NhdGlvbnMgKi8KLSAgICAgICAgaWYgKHJlcXVpcmVkc2l6ZSA8IDIgKiBvbGRzaXplKQotICAgICAgICAgICAgcmVxdWlyZWRzaXplID0gMiAqIG9sZHNpemU7Ci0gICAgICAgIG5ld19vdXRvYmogPSBQeU1lbV9SZWFsbG9jKCpvdXRvYmosIHJlcXVpcmVkc2l6ZSAqIHNpemVvZihQeV9VQ1M0KSk7Ci0gICAgICAgIGlmIChuZXdfb3V0b2JqID09IDApCi0gICAgICAgICAgICByZXR1cm4gLTE7Ci0gICAgICAgICpvdXRvYmogPSBuZXdfb3V0b2JqOwotICAgICAgICAqcHNpemUgPSByZXF1aXJlZHNpemU7Ci0gICAgfQotICAgIHJldHVybiAwOwotfQotLyogbG9va3VwIHRoZSBjaGFyYWN0ZXIsIHB1dCB0aGUgcmVzdWx0IGluIHRoZSBvdXRwdXQgc3RyaW5nIGFuZCBhZGp1c3QKLSAgIHZhcmlvdXMgc3RhdGUgdmFyaWFibGVzLiBSZXR1cm4gYSBuZXcgcmVmZXJlbmNlIHRvIHRoZSBvYmplY3QgdGhhdAotICAgd2FzIHB1dCBpbiB0aGUgb3V0cHV0IGJ1ZmZlciBpbiAqcmVzdWx0LCBvciBQeV9Ob25lLCBpZiB0aGUgbWFwcGluZyB3YXMKLSAgIHVuZGVmaW5lZCAoaW4gd2hpY2ggY2FzZSBubyBjaGFyYWN0ZXIgd2FzIHdyaXR0ZW4pLgotICAgVGhlIGNhbGxlZCBtdXN0IGRlY3JlZiByZXN1bHQuCi0gICBSZXR1cm4gMCBvbiBzdWNjZXNzLCAtMSBvbiBlcnJvci4gKi8KLXN0YXRpYyBpbnQKLWNoYXJtYXB0cmFuc2xhdGVfb3V0cHV0KFB5T2JqZWN0ICppbnB1dCwgUHlfc3NpemVfdCBpcG9zLAotICAgICAgICAgICAgICAgICAgICAgICAgUHlPYmplY3QgKm1hcHBpbmcsIFB5X1VDUzQgKipvdXRwdXQsCi0gICAgICAgICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90ICpvc2l6ZSwgUHlfc3NpemVfdCAqb3BvcywKLSAgICAgICAgICAgICAgICAgICAgICAgIFB5T2JqZWN0ICoqcmVzKQotewotICAgIFB5X1VDUzQgY3VyaW5wID0gUHlVbmljb2RlX1JFQURfQ0hBUihpbnB1dCwgaXBvcyk7Ci0gICAgaWYgKGNoYXJtYXB0cmFuc2xhdGVfbG9va3VwKGN1cmlucCwgbWFwcGluZywgcmVzKSkKKyAgICBQeU9iamVjdCAqaXRlbTsKKworICAgIGlmIChjaGFybWFwdHJhbnNsYXRlX2xvb2t1cChjaCwgbWFwcGluZywgJml0ZW0pKQogICAgICAgICByZXR1cm4gLTE7Ci0gICAgaWYgKCpyZXM9PU5VTEwpIHsKKworICAgIGlmIChpdGVtID09IE5VTEwpIHsKICAgICAgICAgLyogbm90IGZvdW5kID0+IGRlZmF1bHQgdG8gMToxIG1hcHBpbmcgKi8KLSAgICAgICAgKCpvdXRwdXQpWygqb3BvcykrK10gPSBjdXJpbnA7Ci0gICAgfQotICAgIGVsc2UgaWYgKCpyZXM9PVB5X05vbmUpCi0gICAgICAgIDsKLSAgICBlbHNlIGlmIChQeUxvbmdfQ2hlY2soKnJlcykpIHsKLSAgICAgICAgLyogbm8gb3ZlcmZsb3cgY2hlY2ssIGJlY2F1c2Ugd2Uga25vdyB0aGF0IHRoZSBzcGFjZSBpcyBlbm91Z2ggKi8KLSAgICAgICAgKCpvdXRwdXQpWygqb3BvcykrK10gPSAoUHlfVUNTNClQeUxvbmdfQVNfTE9ORygqcmVzKTsKLSAgICB9Ci0gICAgZWxzZSBpZiAoUHlVbmljb2RlX0NoZWNrKCpyZXMpKSB7Ci0gICAgICAgIFB5X3NzaXplX3QgcmVwc2l6ZTsKLSAgICAgICAgaWYgKFB5VW5pY29kZV9SRUFEWSgqcmVzKSA9PSAtMSkKKyAgICAgICAgaWYgKF9QeVVuaWNvZGVXcml0ZXJfV3JpdGVDaGFySW5saW5lKHdyaXRlciwgY2gpIDwgMCkgewogICAgICAgICAgICAgcmV0dXJuIC0xOwotICAgICAgICByZXBzaXplID0gUHlVbmljb2RlX0dFVF9MRU5HVEgoKnJlcyk7Ci0gICAgICAgIGlmIChyZXBzaXplPT0xKSB7Ci0gICAgICAgICAgICAvKiBubyBvdmVyZmxvdyBjaGVjaywgYmVjYXVzZSB3ZSBrbm93IHRoYXQgdGhlIHNwYWNlIGlzIGVub3VnaCAqLwotICAgICAgICAgICAgKCpvdXRwdXQpWygqb3BvcykrK10gPSBQeVVuaWNvZGVfUkVBRF9DSEFSKCpyZXMsIDApOwogICAgICAgICB9Ci0gICAgICAgIGVsc2UgaWYgKHJlcHNpemUhPTApIHsKLSAgICAgICAgICAgIC8qIG1vcmUgdGhhbiBvbmUgY2hhcmFjdGVyICovCi0gICAgICAgICAgICBQeV9zc2l6ZV90IHJlcXVpcmVkc2l6ZSA9ICpvcG9zICsKLSAgICAgICAgICAgICAgICAoUHlVbmljb2RlX0dFVF9MRU5HVEgoaW5wdXQpIC0gaXBvcykgKwotICAgICAgICAgICAgICAgIHJlcHNpemUgLSAxOwotICAgICAgICAgICAgUHlfc3NpemVfdCBpOwotICAgICAgICAgICAgaWYgKGNoYXJtYXB0cmFuc2xhdGVfbWFrZXNwYWNlKG91dHB1dCwgb3NpemUsIHJlcXVpcmVkc2l6ZSkpCi0gICAgICAgICAgICAgICAgcmV0dXJuIC0xOwotICAgICAgICAgICAgZm9yKGkgPSAwOyBpIDwgcmVwc2l6ZTsgaSsrKQotICAgICAgICAgICAgICAgICgqb3V0cHV0KVsoKm9wb3MpKytdID0gUHlVbmljb2RlX1JFQURfQ0hBUigqcmVzLCBpKTsKLSAgICAgICAgfQorICAgICAgICByZXR1cm4gMTsKICAgICB9Ci0gICAgZWxzZQorCisgICAgaWYgKGl0ZW0gPT0gUHlfTm9uZSkgeworICAgICAgICBQeV9ERUNSRUYoaXRlbSk7CisgICAgICAgIHJldHVybiAwOworICAgIH0KKworICAgIGlmIChQeUxvbmdfQ2hlY2soaXRlbSkpIHsKKyAgICAgICAgbG9uZyBjaCA9IChQeV9VQ1M0KVB5TG9uZ19BU19MT05HKGl0ZW0pOworICAgICAgICAvKiBQeUxvbmdfQVNfTE9ORygpIGNhbm5vdCBmYWlsLCBjaGFybWFwdHJhbnNsYXRlX2xvb2t1cCgpIGFscmVhZHkKKyAgICAgICAgICAgdXNlZCBpdCAqLworICAgICAgICBpZiAoX1B5VW5pY29kZVdyaXRlcl9Xcml0ZUNoYXJJbmxpbmUod3JpdGVyLCBjaCkgPCAwKSB7CisgICAgICAgICAgICBQeV9ERUNSRUYoaXRlbSk7CisgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgIH0KKyAgICAgICAgUHlfREVDUkVGKGl0ZW0pOworICAgICAgICByZXR1cm4gMTsKKyAgICB9CisKKyAgICBpZiAoIVB5VW5pY29kZV9DaGVjayhpdGVtKSkgeworICAgICAgICBQeV9ERUNSRUYoaXRlbSk7CiAgICAgICAgIHJldHVybiAtMTsKLSAgICByZXR1cm4gMDsKKyAgICB9CisKKyAgICBpZiAoX1B5VW5pY29kZVdyaXRlcl9Xcml0ZVN0cih3cml0ZXIsIGl0ZW0pIDwgMCkgeworICAgICAgICBQeV9ERUNSRUYoaXRlbSk7CisgICAgICAgIHJldHVybiAtMTsKKyAgICB9CisKKyAgICBQeV9ERUNSRUYoaXRlbSk7CisgICAgcmV0dXJuIDE7Cit9CisKK3N0YXRpYyBpbnQKK3VuaWNvZGVfZmFzdF90cmFuc2xhdGVfbG9va3VwKFB5T2JqZWN0ICptYXBwaW5nLCBQeV9VQ1MxIGNoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlfVUNTMSAqdHJhbnNsYXRlKQoreworICAgIFB5T2JqZWN0ICppdGVtID0gTlVMTDsKKyAgICBpbnQgcmV0ID0gMDsKKworICAgIGlmIChjaGFybWFwdHJhbnNsYXRlX2xvb2t1cChjaCwgbWFwcGluZywgJml0ZW0pKSB7CisgICAgICAgIHJldHVybiAtMTsKKyAgICB9CisKKyAgICBpZiAoaXRlbSA9PSBQeV9Ob25lKSB7CisgICAgICAgIC8qIGRlbGV0aW9uICovCisgICAgICAgIHRyYW5zbGF0ZVtjaF0gPSAweGZlOworICAgIH0KKyAgICBlbHNlIGlmIChpdGVtID09IE5VTEwpIHsKKyAgICAgICAgLyogbm90IGZvdW5kID0+IGRlZmF1bHQgdG8gMToxIG1hcHBpbmcgKi8KKyAgICAgICAgdHJhbnNsYXRlW2NoXSA9IGNoOworICAgICAgICByZXR1cm4gMTsKKyAgICB9CisgICAgZWxzZSBpZiAoUHlMb25nX0NoZWNrKGl0ZW0pKSB7CisgICAgICAgIGxvbmcgcmVwbGFjZSA9IFB5TG9uZ19BU19MT05HKGl0ZW0pOworICAgICAgICAvKiBQeUxvbmdfQVNfTE9ORygpIGNhbm5vdCBmYWlsLCBjaGFybWFwdHJhbnNsYXRlX2xvb2t1cCgpIGFscmVhZHkKKyAgICAgICAgICAgdXNlZCBpdCAqLworICAgICAgICBpZiAoMTI3IDwgcmVwbGFjZSkgeworICAgICAgICAgICAgLyogaW52YWxpZCBjaGFyYWN0ZXIgb3IgY2hhcmFjdGVyIG91dHNpZGUgQVNDSUk6CisgICAgICAgICAgICAgICBza2lwIHRoZSBmYXN0IHRyYW5zbGF0ZSAqLworICAgICAgICAgICAgZ290byBleGl0OworICAgICAgICB9CisgICAgICAgIHRyYW5zbGF0ZVtjaF0gPSAoUHlfVUNTMSlyZXBsYWNlOworICAgIH0KKyAgICBlbHNlIGlmIChQeVVuaWNvZGVfQ2hlY2soaXRlbSkpIHsKKyAgICAgICAgUHlfVUNTNCByZXBsYWNlOworCisgICAgICAgIGlmIChQeVVuaWNvZGVfUkVBRFkoaXRlbSkgPT0gLTEpIHsKKyAgICAgICAgICAgIFB5X0RFQ1JFRihpdGVtKTsKKyAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgfQorICAgICAgICBpZiAoUHlVbmljb2RlX0dFVF9MRU5HVEgoaXRlbSkgIT0gMSkKKyAgICAgICAgICAgIGdvdG8gZXhpdDsKKworICAgICAgICByZXBsYWNlID0gUHlVbmljb2RlX1JFQURfQ0hBUihpdGVtLCAwKTsKKyAgICAgICAgaWYgKHJlcGxhY2UgPiAxMjcpCisgICAgICAgICAgICBnb3RvIGV4aXQ7CisgICAgICAgIHRyYW5zbGF0ZVtjaF0gPSAoUHlfVUNTMSlyZXBsYWNlOworICAgIH0KKyAgICBlbHNlIHsKKyAgICAgICAgLyogbm90IE5vbmUsIE5VTEwsIGxvbmcgb3IgdW5pY29kZSAqLworICAgICAgICBnb3RvIGV4aXQ7CisgICAgfQorICAgIHJldCA9IDE7CisKKyAgZXhpdDoKKyAgICBQeV9ERUNSRUYoaXRlbSk7CisgICAgcmV0dXJuIHJldDsKK30KKworLyogRmFzdCBwYXRoIGZvciBhc2NpaSA9PiBhc2NpaSB0cmFuc2xhdGlvbi4gUmV0dXJuIDEgaWYgdGhlIHdob2xlIHN0cmluZworICAgd2FzIHRyYW5zbGF0ZWQgaW50byB3cml0ZXIsIHJldHVybiAwIGlmIHRoZSBpbnB1dCBzdHJpbmcgd2FzIHBhcnRpYWxseQorICAgdHJhbnNsYXRlZCBpbnRvIHdyaXRlciwgcmFpc2UgYW4gZXhjZXB0aW9uIGFuZCByZXR1cm4gLTEgb24gZXJyb3IuICovCitzdGF0aWMgaW50Cit1bmljb2RlX2Zhc3RfdHJhbnNsYXRlKFB5T2JqZWN0ICppbnB1dCwgUHlPYmplY3QgKm1hcHBpbmcsCisgICAgICAgICAgICAgICAgICAgICAgIF9QeVVuaWNvZGVXcml0ZXIgKndyaXRlciwgaW50IGlnbm9yZSkKK3sKKyAgICBQeV9VQ1MxIGFzY2lpX3RhYmxlWzEyOF0sIGNoLCBjaDI7CisgICAgUHlfc3NpemVfdCBsZW47CisgICAgUHlfVUNTMSAqaW4sICplbmQsICpvdXQ7CisgICAgaW50IHJlcyA9IDA7CisKKyAgICBpZiAoUHlVbmljb2RlX1JFQURZKGlucHV0KSA9PSAtMSkKKyAgICAgICAgcmV0dXJuIC0xOworICAgIGlmICghUHlVbmljb2RlX0lTX0FTQ0lJKGlucHV0KSkKKyAgICAgICAgcmV0dXJuIDA7CisgICAgbGVuID0gUHlVbmljb2RlX0dFVF9MRU5HVEgoaW5wdXQpOworCisgICAgbWVtc2V0KGFzY2lpX3RhYmxlLCAweGZmLCAxMjgpOworCisgICAgaW4gPSBQeVVuaWNvZGVfMUJZVEVfREFUQShpbnB1dCk7CisgICAgZW5kID0gaW4gKyBsZW47CisKKyAgICBhc3NlcnQoUHlVbmljb2RlX0lTX0FTQ0lJKHdyaXRlci0+YnVmZmVyKSk7CisgICAgYXNzZXJ0KFB5VW5pY29kZV9HRVRfTEVOR1RIKHdyaXRlci0+YnVmZmVyKSA9PSBsZW4pOworICAgIG91dCA9IFB5VW5pY29kZV8xQllURV9EQVRBKHdyaXRlci0+YnVmZmVyKTsKKworICAgIGZvciAoOyBpbiA8IGVuZDsgaW4rKykgeworICAgICAgICBjaCA9ICppbjsKKyAgICAgICAgY2gyID0gYXNjaWlfdGFibGVbY2hdOworICAgICAgICBpZiAoY2gyID09IDB4ZmYpIHsKKyAgICAgICAgICAgIGludCB0cmFuc2xhdGUgPSB1bmljb2RlX2Zhc3RfdHJhbnNsYXRlX2xvb2t1cChtYXBwaW5nLCBjaCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhc2NpaV90YWJsZSk7CisgICAgICAgICAgICBpZiAodHJhbnNsYXRlIDwgMCkKKyAgICAgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgICAgICBpZiAodHJhbnNsYXRlID09IDApCisgICAgICAgICAgICAgICAgZ290byBleGl0OworICAgICAgICAgICAgY2gyID0gYXNjaWlfdGFibGVbY2hdOworICAgICAgICB9CisgICAgICAgIGlmIChjaDIgPT0gMHhmZSkgeworICAgICAgICAgICAgaWYgKGlnbm9yZSkKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgIGdvdG8gZXhpdDsKKyAgICAgICAgfQorICAgICAgICBhc3NlcnQoY2gyIDwgMTI4KTsKKyAgICAgICAgKm91dCA9IGNoMjsKKyAgICAgICAgb3V0Kys7CisgICAgfQorICAgIHJlcyA9IDE7CisKK2V4aXQ6CisgICAgd3JpdGVyLT5wb3MgPSBvdXQgLSBQeVVuaWNvZGVfMUJZVEVfREFUQSh3cml0ZXItPmJ1ZmZlcik7CisgICAgcmV0dXJuIHJlczsKIH0KIAogUHlPYmplY3QgKgpAQCAtODYyOCwyMiArODY1NCwxNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmVycm9ycykKIHsKICAgICAvKiBpbnB1dCBvYmplY3QgKi8KLSAgICBjaGFyICppZGF0YTsKKyAgICBjaGFyICpkYXRhOwogICAgIFB5X3NzaXplX3Qgc2l6ZSwgaTsKICAgICBpbnQga2luZDsKICAgICAvKiBvdXRwdXQgYnVmZmVyICovCi0gICAgUHlfVUNTNCAqb3V0cHV0ID0gTlVMTDsKLSAgICBQeV9zc2l6ZV90IG9zaXplOwotICAgIFB5T2JqZWN0ICpyZXM7Ci0gICAgLyogY3VycmVudCBvdXRwdXQgcG9zaXRpb24gKi8KLSAgICBQeV9zc2l6ZV90IG9wb3M7CisgICAgX1B5VW5pY29kZVdyaXRlciB3cml0ZXI7CisgICAgLyogZXJyb3IgaGFuZGxlciAqLwogICAgIGNoYXIgKnJlYXNvbiA9ICJjaGFyYWN0ZXIgbWFwcyB0byA8dW5kZWZpbmVkPiI7CiAgICAgUHlPYmplY3QgKmVycm9ySGFuZGxlciA9IE5VTEw7CiAgICAgUHlPYmplY3QgKmV4YyA9IE5VTEw7Ci0gICAgLyogdGhlIGZvbGxvd2luZyB2YXJpYWJsZSBpcyB1c2VkIGZvciBjYWNoaW5nIHN0cmluZyBjb21wYXJpc29ucwotICAgICAqIC0xPW5vdCBpbml0aWFsaXplZCwgMD11bmtub3duLCAxPXN0cmljdCwgMj1yZXBsYWNlLAotICAgICAqIDM9aWdub3JlLCA0PXhtbGNoYXJyZWZyZXBsYWNlICovCi0gICAgaW50IGtub3duX2Vycm9ySGFuZGxlciA9IC0xOworICAgIGludCBpZ25vcmU7CisgICAgaW50IHJlczsKIAogICAgIGlmIChtYXBwaW5nID09IE5VTEwpIHsKICAgICAgICAgUHlFcnJfQmFkQXJndW1lbnQoKTsKQEAgLTg2NTIsMTAgKzg2NzMsOSBAQAogCiAgICAgaWYgKFB5VW5pY29kZV9SRUFEWShpbnB1dCkgPT0gLTEpCiAgICAgICAgIHJldHVybiBOVUxMOwotICAgIGlkYXRhID0gKGNoYXIqKVB5VW5pY29kZV9EQVRBKGlucHV0KTsKKyAgICBkYXRhID0gKGNoYXIqKVB5VW5pY29kZV9EQVRBKGlucHV0KTsKICAgICBraW5kID0gUHlVbmljb2RlX0tJTkQoaW5wdXQpOwogICAgIHNpemUgPSBQeVVuaWNvZGVfR0VUX0xFTkdUSChpbnB1dCk7Ci0gICAgaSA9IDA7CiAKICAgICBpZiAoc2l6ZSA9PSAwKSB7CiAgICAgICAgIFB5X0lOQ1JFRihpbnB1dCk7CkBAIC04NjY0LDEyMSArODY4NCw4MSBAQAogCiAgICAgLyogYWxsb2NhdGUgZW5vdWdoIGZvciBhIHNpbXBsZSAxOjEgdHJhbnNsYXRpb24gd2l0aG91dAogICAgICAgIHJlcGxhY2VtZW50cywgaWYgd2UgbmVlZCBtb3JlLCB3ZSdsbCByZXNpemUgKi8KLSAgICBvc2l6ZSA9IHNpemU7Ci0gICAgb3V0cHV0ID0gUHlNZW1fTkVXKFB5X1VDUzQsIG9zaXplKTsKLSAgICBvcG9zID0gMDsKLSAgICBpZiAob3V0cHV0ID09IE5VTEwpIHsKLSAgICAgICAgUHlFcnJfTm9NZW1vcnkoKTsKKyAgICBfUHlVbmljb2RlV3JpdGVyX0luaXQoJndyaXRlcik7CisgICAgaWYgKF9QeVVuaWNvZGVXcml0ZXJfUHJlcGFyZSgmd3JpdGVyLCBzaXplLCAxMjcpID09IC0xKQogICAgICAgICBnb3RvIG9uRXJyb3I7Ci0gICAgfQogCisgICAgaWdub3JlID0gKGVycm9ycyAhPSBOVUxMICYmIHN0cmNtcChlcnJvcnMsICJpZ25vcmUiKSA9PSAwKTsKKworICAgIHJlcyA9IHVuaWNvZGVfZmFzdF90cmFuc2xhdGUoaW5wdXQsIG1hcHBpbmcsICZ3cml0ZXIsIGlnbm9yZSk7CisgICAgaWYgKHJlcyA8IDApIHsKKyAgICAgICAgX1B5VW5pY29kZVdyaXRlcl9EZWFsbG9jKCZ3cml0ZXIpOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisgICAgaWYgKHJlcyA9PSAxKQorICAgICAgICByZXR1cm4gX1B5VW5pY29kZVdyaXRlcl9GaW5pc2goJndyaXRlcik7CisKKyAgICBpID0gd3JpdGVyLnBvczsKICAgICB3aGlsZSAoaTxzaXplKSB7CiAgICAgICAgIC8qIHRyeSB0byBlbmNvZGUgaXQgKi8KLSAgICAgICAgUHlPYmplY3QgKnggPSBOVUxMOwotICAgICAgICBpZiAoY2hhcm1hcHRyYW5zbGF0ZV9vdXRwdXQoaW5wdXQsIGksIG1hcHBpbmcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmb3V0cHV0LCAmb3NpemUsICZvcG9zLCAmeCkpIHsKLSAgICAgICAgICAgIFB5X1hERUNSRUYoeCk7Ci0gICAgICAgICAgICBnb3RvIG9uRXJyb3I7Ci0gICAgICAgIH0KLSAgICAgICAgUHlfWERFQ1JFRih4KTsKLSAgICAgICAgaWYgKHghPVB5X05vbmUpIC8qIGl0IHdvcmtlZCA9PiBhZGp1c3QgaW5wdXQgcG9pbnRlciAqLwotICAgICAgICAgICAgKytpOwotICAgICAgICBlbHNlIHsgLyogdW50cmFuc2xhdGFibGUgY2hhcmFjdGVyICovCi0gICAgICAgICAgICBQeU9iamVjdCAqcmVwdW5pY29kZSA9IE5VTEw7IC8qIGluaXRpYWxpemUgdG8gcHJldmVudCBnY2Mgd2FybmluZyAqLwotICAgICAgICAgICAgUHlfc3NpemVfdCByZXBzaXplOwotICAgICAgICAgICAgUHlfc3NpemVfdCBuZXdwb3M7Ci0gICAgICAgICAgICBQeV9zc2l6ZV90IHVuaTI7Ci0gICAgICAgICAgICAvKiBzdGFydHBvcyBmb3IgY29sbGVjdGluZyB1bnRyYW5zbGF0YWJsZSBjaGFycyAqLwotICAgICAgICAgICAgUHlfc3NpemVfdCBjb2xsc3RhcnQgPSBpOwotICAgICAgICAgICAgUHlfc3NpemVfdCBjb2xsZW5kID0gaSsxOwotICAgICAgICAgICAgUHlfc3NpemVfdCBjb2xsOworICAgICAgICBpbnQgdHJhbnNsYXRlOworICAgICAgICBQeU9iamVjdCAqcmVwdW5pY29kZSA9IE5VTEw7IC8qIGluaXRpYWxpemUgdG8gcHJldmVudCBnY2Mgd2FybmluZyAqLworICAgICAgICBQeV9zc2l6ZV90IG5ld3BvczsKKyAgICAgICAgLyogc3RhcnRwb3MgZm9yIGNvbGxlY3RpbmcgdW50cmFuc2xhdGFibGUgY2hhcnMgKi8KKyAgICAgICAgUHlfc3NpemVfdCBjb2xsc3RhcnQ7CisgICAgICAgIFB5X3NzaXplX3QgY29sbGVuZDsKKyAgICAgICAgUHlfVUNTNCBjaDsKIAotICAgICAgICAgICAgLyogZmluZCBhbGwgdW50cmFuc2xhdGFibGUgY2hhcmFjdGVycyAqLwotICAgICAgICAgICAgd2hpbGUgKGNvbGxlbmQgPCBzaXplKSB7Ci0gICAgICAgICAgICAgICAgaWYgKGNoYXJtYXB0cmFuc2xhdGVfbG9va3VwKFB5VW5pY29kZV9SRUFEKGtpbmQsaWRhdGEsIGNvbGxlbmQpLCBtYXBwaW5nLCAmeCkpCi0gICAgICAgICAgICAgICAgICAgIGdvdG8gb25FcnJvcjsKLSAgICAgICAgICAgICAgICBQeV9YREVDUkVGKHgpOwotICAgICAgICAgICAgICAgIGlmICh4IT1QeV9Ob25lKQotICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgICArK2NvbGxlbmQ7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICAvKiBjYWNoZSBjYWxsYmFjayBuYW1lIGxvb2t1cAotICAgICAgICAgICAgICogKGlmIG5vdCBkb25lIHlldCwgaS5lLiBpdCdzIHRoZSBmaXJzdCBlcnJvcikgKi8KLSAgICAgICAgICAgIGlmIChrbm93bl9lcnJvckhhbmRsZXI9PS0xKSB7Ci0gICAgICAgICAgICAgICAgaWYgKChlcnJvcnM9PU5VTEwpIHx8ICghc3RyY21wKGVycm9ycywgInN0cmljdCIpKSkKLSAgICAgICAgICAgICAgICAgICAga25vd25fZXJyb3JIYW5kbGVyID0gMTsKLSAgICAgICAgICAgICAgICBlbHNlIGlmICghc3RyY21wKGVycm9ycywgInJlcGxhY2UiKSkKLSAgICAgICAgICAgICAgICAgICAga25vd25fZXJyb3JIYW5kbGVyID0gMjsKLSAgICAgICAgICAgICAgICBlbHNlIGlmICghc3RyY21wKGVycm9ycywgImlnbm9yZSIpKQotICAgICAgICAgICAgICAgICAgICBrbm93bl9lcnJvckhhbmRsZXIgPSAzOwotICAgICAgICAgICAgICAgIGVsc2UgaWYgKCFzdHJjbXAoZXJyb3JzLCAieG1sY2hhcnJlZnJlcGxhY2UiKSkKLSAgICAgICAgICAgICAgICAgICAga25vd25fZXJyb3JIYW5kbGVyID0gNDsKLSAgICAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgICAgIGtub3duX2Vycm9ySGFuZGxlciA9IDA7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBzd2l0Y2ggKGtub3duX2Vycm9ySGFuZGxlcikgewotICAgICAgICAgICAgY2FzZSAxOiAvKiBzdHJpY3QgKi8KLSAgICAgICAgICAgICAgICBtYWtlX3RyYW5zbGF0ZV9leGNlcHRpb24oJmV4YywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5wdXQsIGNvbGxzdGFydCwgY29sbGVuZCwgcmVhc29uKTsKLSAgICAgICAgICAgICAgICBpZiAoZXhjICE9IE5VTEwpCi0gICAgICAgICAgICAgICAgICAgIFB5Q29kZWNfU3RyaWN0RXJyb3JzKGV4Yyk7CisgICAgICAgIGNoID0gUHlVbmljb2RlX1JFQUQoa2luZCwgZGF0YSwgaSk7CisgICAgICAgIHRyYW5zbGF0ZSA9IGNoYXJtYXB0cmFuc2xhdGVfb3V0cHV0KGNoLCBtYXBwaW5nLCAmd3JpdGVyKTsKKyAgICAgICAgaWYgKHRyYW5zbGF0ZSA8IDApCisgICAgICAgICAgICBnb3RvIG9uRXJyb3I7CisKKyAgICAgICAgaWYgKHRyYW5zbGF0ZSAhPSAwKSB7CisgICAgICAgICAgICAvKiBpdCB3b3JrZWQgPT4gYWRqdXN0IGlucHV0IHBvaW50ZXIgKi8KKyAgICAgICAgICAgICsraTsKKyAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICB9CisKKyAgICAgICAgLyogdW50cmFuc2xhdGFibGUgY2hhcmFjdGVyICovCisgICAgICAgIGNvbGxzdGFydCA9IGk7CisgICAgICAgIGNvbGxlbmQgPSBpKzE7CisKKyAgICAgICAgLyogZmluZCBhbGwgdW50cmFuc2xhdGFibGUgY2hhcmFjdGVycyAqLworICAgICAgICB3aGlsZSAoY29sbGVuZCA8IHNpemUpIHsKKyAgICAgICAgICAgIFB5T2JqZWN0ICp4OworICAgICAgICAgICAgY2ggPSBQeVVuaWNvZGVfUkVBRChraW5kLCBkYXRhLCBjb2xsZW5kKTsKKyAgICAgICAgICAgIGlmIChjaGFybWFwdHJhbnNsYXRlX2xvb2t1cChjaCwgbWFwcGluZywgJngpKQogICAgICAgICAgICAgICAgIGdvdG8gb25FcnJvcjsKLSAgICAgICAgICAgIGNhc2UgMjogLyogcmVwbGFjZSAqLwotICAgICAgICAgICAgICAgIC8qIE5vIG5lZWQgdG8gY2hlY2sgZm9yIHNwYWNlLCB0aGlzIGlzIGEgMToxIHJlcGxhY2VtZW50ICovCi0gICAgICAgICAgICAgICAgZm9yIChjb2xsID0gY29sbHN0YXJ0OyBjb2xsPGNvbGxlbmQ7IGNvbGwrKykKLSAgICAgICAgICAgICAgICAgICAgb3V0cHV0W29wb3MrK10gPSAnPyc7Ci0gICAgICAgICAgICAgICAgLyogZmFsbCB0aHJvdWdoICovCi0gICAgICAgICAgICBjYXNlIDM6IC8qIGlnbm9yZSAqLwotICAgICAgICAgICAgICAgIGkgPSBjb2xsZW5kOworICAgICAgICAgICAgUHlfWERFQ1JFRih4KTsKKyAgICAgICAgICAgIGlmICh4ICE9IFB5X05vbmUpCiAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBjYXNlIDQ6IC8qIHhtbGNoYXJyZWZyZXBsYWNlICovCi0gICAgICAgICAgICAgICAgLyogZ2VuZXJhdGUgcmVwbGFjZW1lbnQgKHRlbXBvcmFyaWx5IChtaXMpdXNlcyBpKSAqLwotICAgICAgICAgICAgICAgIGZvciAoaSA9IGNvbGxzdGFydDsgaSA8IGNvbGxlbmQ7ICsraSkgewotICAgICAgICAgICAgICAgICAgICBjaGFyIGJ1ZmZlclsyKzI5KzErMV07Ci0gICAgICAgICAgICAgICAgICAgIGNoYXIgKmNwOwotICAgICAgICAgICAgICAgICAgICBzcHJpbnRmKGJ1ZmZlciwgIiYjJWQ7IiwgUHlVbmljb2RlX1JFQUQoa2luZCwgaWRhdGEsIGkpKTsKLSAgICAgICAgICAgICAgICAgICAgaWYgKGNoYXJtYXB0cmFuc2xhdGVfbWFrZXNwYWNlKCZvdXRwdXQsICZvc2l6ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wb3Mrc3RybGVuKGJ1ZmZlcikrKHNpemUtY29sbGVuZCkpKQotICAgICAgICAgICAgICAgICAgICAgICAgZ290byBvbkVycm9yOwotICAgICAgICAgICAgICAgICAgICBmb3IgKGNwID0gYnVmZmVyOyAqY3A7ICsrY3ApCi0gICAgICAgICAgICAgICAgICAgICAgICBvdXRwdXRbb3BvcysrXSA9ICpjcDsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgaSA9IGNvbGxlbmQ7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgICAgIHJlcHVuaWNvZGUgPSB1bmljb2RlX3RyYW5zbGF0ZV9jYWxsX2Vycm9yaGFuZGxlcihlcnJvcnMsICZlcnJvckhhbmRsZXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYXNvbiwgaW5wdXQsICZleGMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbGxzdGFydCwgY29sbGVuZCwgJm5ld3Bvcyk7Ci0gICAgICAgICAgICAgICAgaWYgKHJlcHVuaWNvZGUgPT0gTlVMTCkKLSAgICAgICAgICAgICAgICAgICAgZ290byBvbkVycm9yOwotICAgICAgICAgICAgICAgIGlmIChQeVVuaWNvZGVfUkVBRFkocmVwdW5pY29kZSkgPT0gLTEpIHsKLSAgICAgICAgICAgICAgICAgICAgUHlfREVDUkVGKHJlcHVuaWNvZGUpOwotICAgICAgICAgICAgICAgICAgICBnb3RvIG9uRXJyb3I7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIC8qIGdlbmVyYXRlIHJlcGxhY2VtZW50ICAqLwotICAgICAgICAgICAgICAgIHJlcHNpemUgPSBQeVVuaWNvZGVfR0VUX0xFTkdUSChyZXB1bmljb2RlKTsKLSAgICAgICAgICAgICAgICBpZiAoY2hhcm1hcHRyYW5zbGF0ZV9tYWtlc3BhY2UoJm91dHB1dCwgJm9zaXplLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcG9zK3JlcHNpemUrKHNpemUtY29sbGVuZCkpKSB7Ci0gICAgICAgICAgICAgICAgICAgIFB5X0RFQ1JFRihyZXB1bmljb2RlKTsKLSAgICAgICAgICAgICAgICAgICAgZ290byBvbkVycm9yOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBmb3IgKHVuaTIgPSAwOyByZXBzaXplLS0+MDsgKyt1bmkyKQotICAgICAgICAgICAgICAgICAgICBvdXRwdXRbb3BvcysrXSA9IFB5VW5pY29kZV9SRUFEX0NIQVIocmVwdW5pY29kZSwgdW5pMik7Ci0gICAgICAgICAgICAgICAgaSA9IG5ld3BvczsKKyAgICAgICAgICAgICsrY29sbGVuZDsKKyAgICAgICAgfQorCisgICAgICAgIGlmIChpZ25vcmUpIHsKKyAgICAgICAgICAgIGkgPSBjb2xsZW5kOworICAgICAgICB9CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgcmVwdW5pY29kZSA9IHVuaWNvZGVfdHJhbnNsYXRlX2NhbGxfZXJyb3JoYW5kbGVyKGVycm9ycywgJmVycm9ySGFuZGxlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFzb24sIGlucHV0LCAmZXhjLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbGxzdGFydCwgY29sbGVuZCwgJm5ld3Bvcyk7CisgICAgICAgICAgICBpZiAocmVwdW5pY29kZSA9PSBOVUxMKQorICAgICAgICAgICAgICAgIGdvdG8gb25FcnJvcjsKKyAgICAgICAgICAgIGlmIChfUHlVbmljb2RlV3JpdGVyX1dyaXRlU3RyKCZ3cml0ZXIsIHJlcHVuaWNvZGUpIDwgMCkgewogICAgICAgICAgICAgICAgIFB5X0RFQ1JFRihyZXB1bmljb2RlKTsKKyAgICAgICAgICAgICAgICBnb3RvIG9uRXJyb3I7CiAgICAgICAgICAgICB9CisgICAgICAgICAgICBQeV9ERUNSRUYocmVwdW5pY29kZSk7CisgICAgICAgICAgICBpID0gbmV3cG9zOwogICAgICAgICB9CiAgICAgfQotICAgIHJlcyA9IFB5VW5pY29kZV9Gcm9tS2luZEFuZERhdGEoUHlVbmljb2RlXzRCWVRFX0tJTkQsIG91dHB1dCwgb3Bvcyk7Ci0gICAgaWYgKCFyZXMpCi0gICAgICAgIGdvdG8gb25FcnJvcjsKLSAgICBQeU1lbV9GcmVlKG91dHB1dCk7CiAgICAgUHlfWERFQ1JFRihleGMpOwogICAgIFB5X1hERUNSRUYoZXJyb3JIYW5kbGVyKTsKLSAgICByZXR1cm4gcmVzOworICAgIHJldHVybiBfUHlVbmljb2RlV3JpdGVyX0ZpbmlzaCgmd3JpdGVyKTsKIAogICBvbkVycm9yOgotICAgIFB5TWVtX0ZyZWUob3V0cHV0KTsKKyAgICBfUHlVbmljb2RlV3JpdGVyX0RlYWxsb2MoJndyaXRlcik7CiAgICAgUHlfWERFQ1JFRihleGMpOwogICAgIFB5X1hERUNSRUYoZXJyb3JIYW5kbGVyKTsKICAgICByZXR1cm4gTlVMTDsKQEAgLTg4ODAsNyArODg2MCw3IEBACiAKICAgICBtYXhjaGFyID0gMTI3OwogICAgIGZvciAoaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykgewotICAgICAgICBQeV9VTklDT0RFIGNoID0gc1tpXTsKKyAgICAgICAgUHlfVUNTNCBjaCA9IHNbaV07CiAgICAgICAgIGlmIChjaCA+IDEyNykgewogICAgICAgICAgICAgaW50IGRlY2ltYWwgPSBQeV9VTklDT0RFX1RPREVDSU1BTChjaCk7CiAgICAgICAgICAgICBpZiAoZGVjaW1hbCA+PSAwKQpAQCAtODg5Nyw3ICs4ODc3LDcgQEAKICAgICBkYXRhID0gUHlVbmljb2RlX0RBVEEoZGVjaW1hbCk7CiAgICAgLyogSXRlcmF0ZSBvdmVyIGNvZGUgcG9pbnRzICovCiAgICAgZm9yIChpID0gMDsgaSA8IGxlbmd0aDsgaSsrKSB7Ci0gICAgICAgIFB5X1VOSUNPREUgY2ggPSBzW2ldOworICAgICAgICBQeV9VQ1M0IGNoID0gc1tpXTsKICAgICAgICAgaWYgKGNoID4gMTI3KSB7CiAgICAgICAgICAgICBpbnQgZGVjaW1hbCA9IFB5X1VOSUNPREVfVE9ERUNJTUFMKGNoKTsKICAgICAgICAgICAgIGlmIChkZWNpbWFsID49IDApCkBAIC0xMDg0Myw3ICsxMDgyMyw3IEBACiAgICAgICAgIHZvaWQgKmRhdGEgPSBQeVVuaWNvZGVfREFUQSh1bmkpOwogICAgICAgICAvKiBDb21wYXJlIFVuaWNvZGUgc3RyaW5nIGFuZCBzb3VyY2UgY2hhcmFjdGVyIHNldCBzdHJpbmcgKi8KICAgICAgICAgZm9yIChpID0gMDsgKGNociA9IFB5VW5pY29kZV9SRUFEKGtpbmQsIGRhdGEsIGkpKSAmJiBzdHJbaV07IGkrKykKLSAgICAgICAgICAgIGlmIChjaHIgIT0gc3RyW2ldKQorICAgICAgICAgICAgaWYgKGNociAhPSAodW5zaWduZWQgY2hhcilzdHJbaV0pCiAgICAgICAgICAgICAgICAgcmV0dXJuIChjaHIgPCAodW5zaWduZWQgY2hhcikoc3RyW2ldKSkgPyAtMSA6IDE7CiAgICAgICAgIC8qIFRoaXMgY2hlY2sga2VlcHMgUHl0aG9uIHN0cmluZ3MgdGhhdCBlbmQgaW4gJ1wwJyBmcm9tIGNvbXBhcmluZyBlcXVhbAogICAgICAgICAgdG8gQyBzdHJpbmdzIGlkZW50aWNhbCB1cCB0byB0aGF0IHBvaW50LiAqLwpAQCAtMTM5MDUsOCArMTM4ODUsOCBAQAogICogQ0FVVElPTjogIG8sIHggYW5kIFggY29udmVyc2lvbnMgb24gcmVndWxhciBpbnRzIGNhbiBuZXZlcgogICogcHJvZHVjZSBhICctJyBzaWduLCBidXQgY2FuIGZvciBQeXRob24ncyB1bmJvdW5kZWQgaW50cy4KICAqLwotc3RhdGljIFB5T2JqZWN0KgotZm9ybWF0bG9uZyhQeU9iamVjdCAqdmFsLCBzdHJ1Y3QgdW5pY29kZV9mb3JtYXRfYXJnX3QgKmFyZykKK1B5T2JqZWN0ICoKK19QeVVuaWNvZGVfRm9ybWF0TG9uZyhQeU9iamVjdCAqdmFsLCBpbnQgYWx0LCBpbnQgcHJlYywgaW50IHR5cGUpCiB7CiAgICAgUHlPYmplY3QgKnJlc3VsdCA9IE5VTEw7CiAgICAgY2hhciAqYnVmOwpAQCAtMTM5MTYsOCArMTM4OTYsNiBAQAogICAgIFB5X3NzaXplX3QgbGxlbjsKICAgICBpbnQgbnVtZGlnaXRzOyAgICAgIC8qIGxlbiA9PSBudW1ub25kaWdpdHMgKyBudW1kaWdpdHMgKi8KICAgICBpbnQgbnVtbm9uZGlnaXRzID0gMDsKLSAgICBpbnQgcHJlYyA9IGFyZy0+cHJlYzsKLSAgICBpbnQgdHlwZSA9IGFyZy0+Y2g7CiAKICAgICAvKiBBdm9pZCBleGNlZWRpbmcgU1NJWkVfVF9NQVggKi8KICAgICBpZiAocHJlYyA+IElOVF9NQVgtMykgewpAQCAtMTM5NjYsNyArMTM5NDQsNyBAQAogICAgIGlmIChsbGVuID4gSU5UX01BWCkgewogICAgICAgICBQeV9ERUNSRUYocmVzdWx0KTsKICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsCi0gICAgICAgICAgICAgICAgICAgICAgICAic3RyaW5nIHRvbyBsYXJnZSBpbiBfUHlCeXRlc19Gb3JtYXRMb25nIik7CisgICAgICAgICAgICAgICAgICAgICAgICAic3RyaW5nIHRvbyBsYXJnZSBpbiBfUHlVbmljb2RlX0Zvcm1hdExvbmciKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQogICAgIGxlbiA9IChpbnQpbGxlbjsKQEAgLTEzOTc2LDcgKzEzOTU0LDcgQEAKICAgICBhc3NlcnQobnVtZGlnaXRzID4gMCk7CiAKICAgICAvKiBHZXQgcmlkIG9mIGJhc2UgbWFya2VyIHVubGVzcyBGX0FMVCAqLwotICAgIGlmICgoKGFyZy0+ZmxhZ3MgJiBGX0FMVCkgPT0gMCAmJgorICAgIGlmICgoKGFsdCkgPT0gMCAmJgogICAgICAgICAodHlwZSA9PSAnbycgfHwgdHlwZSA9PSAneCcgfHwgdHlwZSA9PSAnWCcpKSkgewogICAgICAgICBhc3NlcnQoYnVmW3NpZ25dID09ICcwJyk7CiAgICAgICAgIGFzc2VydChidWZbc2lnbisxXSA9PSAneCcgfHwgYnVmW3NpZ24rMV0gPT0gJ1gnIHx8CkBAIC0xNDA1MSwyNCArMTQwMjksMTQgQEAKICAgICBpZiAoIVB5TnVtYmVyX0NoZWNrKHYpKQogICAgICAgICBnb3RvIHdyb25ndHlwZTsKIAotICAgIC8qIG1ha2Ugc3VyZSBudW1iZXIgaXMgYSB0eXBlIG9mIGludGVnZXIgKi8KLSAgICAvKiBpZiBub3QsIGlzc3VlIGRlcHJlY2F0aW9uIHdhcm5pbmcgZm9yIG5vdyAqLworICAgIC8qIG1ha2Ugc3VyZSBudW1iZXIgaXMgYSB0eXBlIG9mIGludGVnZXIgZm9yIG8sIHgsIGFuZCBYICovCiAgICAgaWYgKCFQeUxvbmdfQ2hlY2sodikpIHsKICAgICAgICAgaWYgKHR5cGUgPT0gJ28nIHx8IHR5cGUgPT0gJ3gnIHx8IHR5cGUgPT0gJ1gnKSB7CiAgICAgICAgICAgICBpb2JqID0gUHlOdW1iZXJfSW5kZXgodik7CiAgICAgICAgICAgICBpZiAoaW9iaiA9PSBOVUxMKSB7Ci0gICAgICAgICAgICAgICAgUHlFcnJfQ2xlYXIoKTsKLSAgICAgICAgICAgICAgICBpZiAoUHlFcnJfV2FybkV4KFB5RXhjX0RlcHJlY2F0aW9uV2FybmluZywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhdXRvbWF0aWMgaW50IGNvbnZlcnNpb25zIGhhdmUgYmVlbiBkZXByZWNhdGVkIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEpKSB7Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybiAtMTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgaW9iaiA9IFB5TnVtYmVyX0xvbmcodik7Ci0gICAgICAgICAgICAgICAgaWYgKGlvYmogPT0gTlVMTCApIHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKFB5RXJyX0V4Y2VwdGlvbk1hdGNoZXMoUHlFeGNfVHlwZUVycm9yKSkKLSAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gd3Jvbmd0eXBlOwotICAgICAgICAgICAgICAgICAgICByZXR1cm4gLTE7Ci0gICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGlmIChQeUVycl9FeGNlcHRpb25NYXRjaGVzKFB5RXhjX1R5cGVFcnJvcikpCisgICAgICAgICAgICAgICAgICAgIGdvdG8gd3Jvbmd0eXBlOworICAgICAgICAgICAgICAgIHJldHVybiAtMTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgICAgICBlbHNlIHsKQEAgLTE0MTIxLDcgKzE0MDg5LDcgQEAKICAgICAgICAgcmV0dXJuIDE7CiAgICAgfQogCi0gICAgcmVzID0gZm9ybWF0bG9uZyhpb2JqLCBhcmcpOworICAgIHJlcyA9IF9QeVVuaWNvZGVfRm9ybWF0TG9uZyhpb2JqLCBhcmctPmZsYWdzICYgRl9BTFQsIGFyZy0+cHJlYywgdHlwZSk7CiAgICAgUHlfREVDUkVGKGlvYmopOwogICAgIGlmIChyZXMgPT0gTlVMTCkKICAgICAgICAgcmV0dXJuIC0xOwpAQCAtMTQxMjksMTAgKzE0MDk3LDIzIEBACiAgICAgcmV0dXJuIDA7CiAKIHdyb25ndHlwZToKLSAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVHlwZUVycm9yLAotICAgICAgICAgICAgIiUlJWMgZm9ybWF0OiBhIG51bWJlciBpcyByZXF1aXJlZCwgIgotICAgICAgICAgICAgIm5vdCAlLjIwMHMiLAotICAgICAgICAgICAgdHlwZSwgUHlfVFlQRSh2KS0+dHBfbmFtZSk7CisgICAgc3dpdGNoKHR5cGUpCisgICAgeworICAgICAgICBjYXNlICdvJzoKKyAgICAgICAgY2FzZSAneCc6CisgICAgICAgIGNhc2UgJ1gnOgorICAgICAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1R5cGVFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgIiUlJWMgZm9ybWF0OiBhbiBpbnRlZ2VyIGlzIHJlcXVpcmVkLCAiCisgICAgICAgICAgICAgICAgICAgICJub3QgJS4yMDBzIiwKKyAgICAgICAgICAgICAgICAgICAgdHlwZSwgUHlfVFlQRSh2KS0+dHBfbmFtZSk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19UeXBlRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICIlJSVjIGZvcm1hdDogYSBudW1iZXIgaXMgcmVxdWlyZWQsICIKKyAgICAgICAgICAgICAgICAgICAgIm5vdCAlLjIwMHMiLAorICAgICAgICAgICAgICAgICAgICB0eXBlLCBQeV9UWVBFKHYpLT50cF9uYW1lKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgIH0KICAgICByZXR1cm4gLTE7CiB9CiAKQEAgLTE0MTUwLDIyICsxNDEzMSwxMCBAQAogICAgICAgICBQeU9iamVjdCAqaW9iajsKICAgICAgICAgbG9uZyB4OwogICAgICAgICAvKiBtYWtlIHN1cmUgbnVtYmVyIGlzIGEgdHlwZSBvZiBpbnRlZ2VyICovCi0gICAgICAgIC8qIGlmIG5vdCwgaXNzdWUgZGVwcmVjYXRpb24gd2FybmluZyBmb3Igbm93ICovCiAgICAgICAgIGlmICghUHlMb25nX0NoZWNrKHYpKSB7CiAgICAgICAgICAgICBpb2JqID0gUHlOdW1iZXJfSW5kZXgodik7CiAgICAgICAgICAgICBpZiAoaW9iaiA9PSBOVUxMKSB7Ci0gICAgICAgICAgICAgICAgUHlFcnJfQ2xlYXIoKTsKLSAgICAgICAgICAgICAgICBpZiAoUHlFcnJfV2FybkV4KFB5RXhjX0RlcHJlY2F0aW9uV2FybmluZywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhdXRvbWF0aWMgaW50IGNvbnZlcnNpb25zIGhhdmUgYmVlbiBkZXByZWNhdGVkIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEpKSB7Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybiAtMTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgaW9iaiA9IFB5TnVtYmVyX0xvbmcodik7Ci0gICAgICAgICAgICAgICAgaWYgKGlvYmogPT0gTlVMTCApIHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKFB5RXJyX0V4Y2VwdGlvbk1hdGNoZXMoUHlFeGNfVHlwZUVycm9yKSkKLSAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gb25FcnJvcjsKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC0xOwotICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBnb3RvIG9uRXJyb3I7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICB2ID0gaW9iajsKICAgICAgICAgICAgIFB5X0RFQ1JFRihpb2JqKTsKQEAgLTE0OTk3LDEzICsxNDk2Niw2IEBACiAgICAgaWYgKFB5VHlwZV9SZWFkeSgmUHlGb3JtYXR0ZXJJdGVyX1R5cGUpIDwgMCkKICAgICAgICAgUHlfRmF0YWxFcnJvcigiQ2FuJ3QgaW5pdGlhbGl6ZSBmb3JtYXR0ZXIgaXRlciB0eXBlIik7CiAKLSNpZmRlZiBIQVZFX01CQ1MKLSAgICB3aW52ZXIuZHdPU1ZlcnNpb25JbmZvU2l6ZSA9IHNpemVvZih3aW52ZXIpOwotICAgIGlmICghR2V0VmVyc2lvbkV4KChPU1ZFUlNJT05JTkZPKikmd2ludmVyKSkgewotICAgICAgICBQeUVycl9TZXRGcm9tV2luZG93c0VycigwKTsKLSAgICAgICAgcmV0dXJuIC0xOwotICAgIH0KLSNlbmRpZgogICAgIHJldHVybiAwOwogfQogCkBAIC0xNTQxOSw3ICsxNTM4MSw3IEBACiAgICAgaWYgKHUgPT0gTlVMTCkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgLyogRW5zdXJlIHdlIHdvbid0IG92ZXJmbG93IHRoZSBzaXplLiAqLwotICAgIGlmIChsZW4gPiAoKFBZX1NTSVpFX1RfTUFYIC8gc2l6ZW9mKFB5X1VOSUNPREUpKSAtIDEpKSB7CisgICAgaWYgKGxlbiA+ICgoUFlfU1NJWkVfVF9NQVggLyAoUHlfc3NpemVfdClzaXplb2YoUHlfVU5JQ09ERSkpIC0gMSkpIHsKICAgICAgICAgUHlFcnJfTm9NZW1vcnkoKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQpkaWZmIC0tZ2l0IGEvT2JqZWN0cy91bmljb2RldHlwZV9kYi5oIGIvT2JqZWN0cy91bmljb2RldHlwZV9kYi5oCmluZGV4IDFmZGMwOTIuLjBjMWUwYjYgMTAwNjQ0Ci0tLSBhL09iamVjdHMvdW5pY29kZXR5cGVfZGIuaAorKysgYi9PYmplY3RzL3VuaWNvZGV0eXBlX2RiLmgKQEAgLTgyLDI1ICs4MiwzMSBAQAogICAgIHstMjA1LCAwLCAtMjA1LCAwLCAwLCA5OTkzfSwKICAgICB7LTIwMiwgMCwgLTIwMiwgMCwgMCwgOTk5M30sCiAgICAgey0yMDMsIDAsIC0yMDMsIDAsIDAsIDk5OTN9LAorICAgIHs0MjMxOSwgMCwgNDIzMTksIDAsIDAsIDk5OTN9LAorICAgIHs0MjMxNSwgMCwgNDIzMTUsIDAsIDAsIDk5OTN9LAogICAgIHstMjA3LCAwLCAtMjA3LCAwLCAwLCA5OTkzfSwKICAgICB7NDIyODAsIDAsIDQyMjgwLCAwLCAwLCA5OTkzfSwKICAgICB7NDIzMDgsIDAsIDQyMzA4LCAwLCAwLCA5OTkzfSwKICAgICB7LTIwOSwgMCwgLTIwOSwgMCwgMCwgOTk5M30sCiAgICAgey0yMTEsIDAsIC0yMTEsIDAsIDAsIDk5OTN9LAogICAgIHsxMDc0MywgMCwgMTA3NDMsIDAsIDAsIDk5OTN9LAorICAgIHs0MjMwNSwgMCwgNDIzMDUsIDAsIDAsIDk5OTN9LAogICAgIHsxMDc0OSwgMCwgMTA3NDksIDAsIDAsIDk5OTN9LAogICAgIHstMjEzLCAwLCAtMjEzLCAwLCAwLCA5OTkzfSwKICAgICB7LTIxNCwgMCwgLTIxNCwgMCwgMCwgOTk5M30sCiAgICAgezEwNzI3LCAwLCAxMDcyNywgMCwgMCwgOTk5M30sCiAgICAgey0yMTgsIDAsIC0yMTgsIDAsIDAsIDk5OTN9LAorICAgIHs0MjI4MiwgMCwgNDIyODIsIDAsIDAsIDk5OTN9LAogICAgIHstNjksIDAsIC02OSwgMCwgMCwgOTk5M30sCiAgICAgey0yMTcsIDAsIC0yMTcsIDAsIDAsIDk5OTN9LAogICAgIHstNzEsIDAsIC03MSwgMCwgMCwgOTk5M30sCiAgICAgey0yMTksIDAsIC0yMTksIDAsIDAsIDk5OTN9LAorICAgIHs0MjI1OCwgMCwgNDIyNTgsIDAsIDAsIDk5OTN9LAogICAgIHswLCAwLCAwLCAwLCAwLCAxNDA4OX0sCiAgICAgezAsIDAsIDAsIDAsIDAsIDU4ODl9LAogICAgIHsxNjc3NzI0NCwgMTc4MjU4MTgsIDE2Nzc3MjQ0LCAwLCAwLCAzMDIxNn0sCiAgICAgezAsIDAsIDAsIDAsIDAsIDEzMzIxfSwKKyAgICB7MCwgMTE2LCAwLCAwLCAwLCAxMDExM30sCiAgICAgezAsIDM4LCAwLCAwLCAwLCAxMDExM30sCiAgICAgezAsIDM3LCAwLCAwLCAwLCAxMDExM30sCiAgICAgezAsIDY0LCAwLCAwLCAwLCAxMDExM30sCkBAIC0xMjIsNiArMTI4LDcgQEAKICAgICB7MTY3NzcyNzYsIDE3ODI1ODUwLCAxNjc3NzI3NiwgMCwgMCwgMjYzNzd9LAogICAgIHsxNjc3NzI3OSwgMTc4MjU4NTMsIDE2Nzc3Mjc5LCAwLCAwLCAyNjM3N30sCiAgICAgezcsIDAsIDcsIDAsIDAsIDk5OTN9LAorICAgIHstMTE2LCAwLCAtMTE2LCAwLCAwLCA5OTkzfSwKICAgICB7MCwgLTYwLCAwLCAwLCAwLCAxMDExM30sCiAgICAgezE2Nzc3MjgyLCAxNzgyNTg1NiwgMTY3NzcyODIsIDAsIDAsIDI2Mzc3fSwKICAgICB7MCwgLTcsIDAsIDAsIDAsIDEwMTEzfSwKQEAgLTI4MCw2ICsyODcsMTEgQEAKICAgICB7MCwgLTM1MzMyLCAwLCAwLCAwLCAxMDExM30sCiAgICAgezAsIC00MjI4MCwgMCwgMCwgMCwgMTAxMTN9LAogICAgIHswLCAtNDIzMDgsIDAsIDAsIDAsIDEwMTEzfSwKKyAgICB7MCwgLTQyMzE5LCAwLCAwLCAwLCAxMDExM30sCisgICAgezAsIC00MjMxNSwgMCwgMCwgMCwgMTAxMTN9LAorICAgIHswLCAtNDIzMDUsIDAsIDAsIDAsIDEwMTEzfSwKKyAgICB7MCwgLTQyMjU4LCAwLCAwLCAwLCAxMDExM30sCisgICAgezAsIC00MjI4MiwgMCwgMCwgMCwgMTAxMTN9LAogICAgIHszMzU1NTAzOCwgMTg4NzQ5NzEsIDMzNTU1MDQwLCAwLCAwLCAyNjM3N30sCiAgICAgezMzNTU1MDQ1LCAxODg3NDk3OCwgMzM1NTUwNDcsIDAsIDAsIDI2Mzc3fSwKICAgICB7MzM1NTUwNTIsIDE4ODc0OTg1LCAzMzU1NTA1NCwgMCwgMCwgMjYzNzd9LApAQCAtMjk2LDYgKzMwOCw3IEBACiAgICAgezAsIDAsIDAsIDAsIDAsIDU2MzN9LAogICAgIHswLCA0MCwgMCwgMCwgMCwgMTAxMTN9LAogICAgIHstNDAsIDAsIC00MCwgMCwgMCwgOTk5M30sCisgICAgezAsIDAsIDAsIDAsIDAsIDkzNDR9LAogfTsKIAogLyogZXh0ZW5kZWQgY2FzZSBtYXBwaW5ncyAqLwpAQCAtMTAyOSw0NiArMTA0Miw1MyBAQAogICAgIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAKICAgICAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI4LCAxMjksIDEzMCwgCiAgICAgMTMxLCAxMzIsIDEzMywgMTM0LCAzNCwgMTM1LCAxMzYsIDEzNywgMTM4LCAxMzksIDE0MCwgMTQxLCAxNDIsIDE0MywgMTQ0LCAKLSAgICA3MSwgMTQ1LCAxNDYsIDE0NywgMTQ4LCAxNDksIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDE1MCwgNzEsIDE1MSwgMTUyLCAKLSAgICAxNTMsIDcxLCAxNTQsIDcxLCAxNTUsIDcxLCA3MSwgNzEsIDE1NiwgNzEsIDcxLCA3MSwgMTU3LCAxNTgsIDE1OSwgMTYwLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAxNjEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDE2MiwgNzEsIAotICAgIDE2MywgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDE2NCwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDM0LCAzNCwgMzQsIDM0LCAxNjUsIDcxLCA3MSwgNzEsIAotICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDE2NiwgMTY3LCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDE2OCwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAotICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAotICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAotICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAotICAgIDcxLCA3MSwgNjQsIDE2OSwgMTcwLCAxNzEsIDE3MiwgNzEsIDE3MywgNzEsIDE3NCwgMTc1LCAxNzYsIDE3NywgMTc4LCAKLSAgICAxNzksIDE4MCwgMTgxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAotICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAotICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDE4MiwgMTgzLCA3MSwgNzEsIDE4NCwgCi0gICAgMTg1LCAxODYsIDE4NywgMTg4LCA3MSwgMTg5LCAxOTAsIDE5MSwgMTkyLCAxOTMsIDE5NCwgMTk1LCAxOTYsIDY1LCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDE5NywgMTk4LCAKLSAgICAxOTksIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDg3LCAyMDAsIAotICAgIDM0LCAyMDEsIDIwMiwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgCisgICAgMTQ1LCAxNDYsIDE0NywgMTQ4LCAxNDksIDE1MCwgMTUxLCAxNDUsIDM0LCAzNCwgMTUyLCAxNDUsIDE1MywgMTU0LCAxNTUsIAorICAgIDE1NiwgMTU3LCAxNTgsIDE1OSwgMTYwLCAxNjEsIDE0NSwgMTQ1LCAxNDUsIDE2MiwgMTQ1LCAxNDUsIDE0NSwgMTYzLCAKKyAgICAxNjQsIDE2NSwgMTY2LCAxNjcsIDE2OCwgMTY5LCAxNDUsIDE0NSwgMTcwLCAxNDUsIDE3MSwgMTcyLCAxNzMsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE3NCwgMTQ1LCAxNDUsIDE0NSwgMTc1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAxNzYsIDE3NywgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMTc4LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDM0LCAzNCwgMzQsIDM0LCAxNzksIDE4MCwgMTgxLCAxODIsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE4MywgMTg0LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTg1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTg2LCAxODcsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCA2NCwgCisgICAgMTg4LCAxODksIDE5MCwgMTkxLCAxNDUsIDE5MiwgMTQ1LCAxOTMsIDE5NCwgMTk1LCAxOTYsIDE5NywgMTk4LCAxOTksIAorICAgIDIwMCwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDM0LCAyMDEsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMjAyLCAyMDMsIDE0NSwgMTQ1LCAyMDQsIDIwNSwgMjA2LCAyMDcsIDIwOCwgMTQ1LCAyMDksIDIxMCwgNjQsIAorICAgIDIxMSwgMjEyLCAyMTMsIDIxNCwgMjE1LCAyMTYsIDIxNywgMjE4LCAyMTksIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAyMjAsIDIyMSwgMjIyLCAzNCwgMzQsIDM0LCAKKyAgICAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCA4NywgMjIzLCAzNCwgMjI0LCAyMjUsIAogICAgIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIAotICAgIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDIwMywgMzQsIDM0LCAKLSAgICAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAyMDQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgCiAgICAgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgCi0gICAgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAyMDUsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIAorICAgIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDIyNiwgMzQsIDM0LCAzNCwgMzQsIDM0LCAKKyAgICAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAyMjcsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgCisgICAgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgCisgICAgMzQsIDM0LCAzNCwgMzQsIDM0LCAyMjgsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIAogICAgIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIAogICAgIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIAogICAgIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIAotICAgIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMjA2LCAzNCwgMzQsIDM0LCAKKyAgICAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDIyOSwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgCiAgICAgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgCiAgICAgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgCiAgICAgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgCkBAIC0xMDc2LDM1OCArMTA5Niw0NTggQEAKICAgICAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAKICAgICAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAKICAgICAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAKLSAgICAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMjA3LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgCisgICAgMzQsIDM0LCAzNCwgMzQsIDIzMCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIAogICAgIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIAotICAgIDM0LCAzNCwgMzQsIDM0LCAyMDgsIDM0LCAyMDksIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAzNCwgMjAzLCAzNCwgMzQsIDIwOSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgMjEwLCA3MSwgMjExLCAyMTIsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAotICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAotICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAotICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAotICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAotICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAotICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAotICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAotICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAotICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAotICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAotICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAotICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAotICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAotICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAotICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAotICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAotICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAotICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAotICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAotICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAotICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAotICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAotICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAotICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAotICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAotICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAotICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAotICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAxMjcsIDEyNywgMTI3LCAxMjcsIAorICAgIDM0LCAyMzEsIDM0LCAyMzIsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMzQsIDIyNiwgMzQsIDM0LCAyMzIsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDIzMywgMTQ1LCAyMzQsIDIzNSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgCiAgICAgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIAogICAgIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAKICAgICAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgCkBAIC0xNDYzLDggKzE1ODMsOCBAQAogICAgIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAKICAgICAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgCiAgICAgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIAorICAgIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMjM2LCAxMjcsIDEyNywgMTI3LCAKICAgICAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgCi0gICAgMTI3LCAxMjcsIDEyNywgMjEzLCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIAogICAgIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAKICAgICAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgCiAgICAgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIApAQCAtMTUwMCw3ICsxNjIwLDcgQEAKICAgICAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgCiAgICAgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIAogICAgIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAKLSAgICAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMjEzLCAKKyAgICAxMjcsIDEyNywgMTI3LCAxMjcsIDIzNiwgCiB9OwogCiBzdGF0aWMgdW5zaWduZWQgc2hvcnQgaW5kZXgyW10gPSB7CkBAIC0xNTM1LDEwNiArMTY1NSwxMDcgQEAKICAgICAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCA2NCwgMjAsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAKICAgICAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDY1LCAKICAgICAzMCwgMzEsIDY2LCA2NywgNjgsIDY4LCAzMCwgMzEsIDY5LCA3MCwgNzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAKLSAgICAzMSwgMzAsIDMxLCA3MiwgNzMsIDc0LCA3NSwgNzYsIDIwLCA3NywgNzcsIDIwLCA3OCwgMjAsIDc5LCAyMCwgMjAsIDIwLCAKLSAgICAyMCwgNzcsIDIwLCAyMCwgODAsIDIwLCA4MSwgODIsIDIwLCA4MywgODQsIDIwLCA4NSwgMjAsIDIwLCAyMCwgODQsIDIwLCAKLSAgICA4NiwgODcsIDIwLCAyMCwgODgsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCA4OSwgMjAsIDIwLCA5MCwgMjAsIDIwLCAKLSAgICA5MCwgMjAsIDIwLCAyMCwgMjAsIDkwLCA5MSwgOTIsIDkyLCA5MywgMjAsIDIwLCAyMCwgMjAsIDIwLCA5NCwgMjAsIDU1LCAKLSAgICAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAKLSAgICAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCA5NSwgOTUsIDk1LCA5NSwgOTUsIDk1LCA5NSwgOTUsIDk1LCAKLSAgICA5NiwgOTYsIDk2LCA5NiwgOTYsIDk2LCA5NiwgOTUsIDk1LCA2LCA2LCA2LCA2LCA5NiwgOTYsIDk2LCA5NiwgOTYsIDk2LCAKLSAgICA5NiwgOTYsIDk2LCA5NiwgOTYsIDk2LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCA5NSwgOTUsIAotICAgIDk1LCA5NSwgOTUsIDYsIDYsIDYsIDYsIDYsIDYsIDYsIDk2LCA2LCA5NiwgNiwgNiwgNiwgNiwgNiwgNiwgNiwgNiwgNiwgNiwgCi0gICAgNiwgNiwgNiwgNiwgNiwgNiwgNiwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIAorICAgIDMxLCAzMCwgMzEsIDcyLCA3MywgNzQsIDc1LCA3NiwgMjAsIDc3LCA3NywgMjAsIDc4LCAyMCwgNzksIDgwLCAyMCwgMjAsIAorICAgIDIwLCA3NywgODEsIDIwLCA4MiwgMjAsIDgzLCA4NCwgMjAsIDg1LCA4NiwgMjAsIDg3LCA4OCwgMjAsIDIwLCA4NiwgMjAsIAorICAgIDg5LCA5MCwgMjAsIDIwLCA5MSwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDkyLCAyMCwgMjAsIDkzLCAyMCwgMjAsIAorICAgIDkzLCAyMCwgMjAsIDIwLCA5NCwgOTMsIDk1LCA5NiwgOTYsIDk3LCAyMCwgMjAsIDIwLCAyMCwgMjAsIDk4LCAyMCwgNTUsIAorICAgIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDk5LCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIAorICAgIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgCisgICAgMTAwLCAxMDAsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAwLCAxMDAsIDYsIDYsIDYsIDYsIDEwMSwgCisgICAgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDYsIDYsIDYsIDYsIDYsIDYsIAorICAgIDYsIDYsIDYsIDYsIDYsIDYsIDYsIDYsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCA2LCA2LCA2LCA2LCA2LCA2LCA2LCAKKyAgICAxMDEsIDYsIDEwMSwgNiwgNiwgNiwgNiwgNiwgNiwgNiwgNiwgNiwgNiwgNiwgNiwgNiwgNiwgNiwgNiwgNiwgMjUsIDI1LCAKICAgICAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAKICAgICAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAKICAgICAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAKLSAgICAyNSwgMjUsIDk3LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAKKyAgICAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMTAyLCAyNSwgMjUsIDI1LCAyNSwgCiAgICAgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgCi0gICAgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMzAsIDMxLCAzMCwgMzEsIDk2LCA2LCAzMCwgMzEsIDAsIDAsIAotICAgIDk4LCA1MCwgNTAsIDUwLCA1LCAwLCAwLCAwLCAwLCAwLCA2LCA2LCA5OSwgMjUsIDEwMCwgMTAwLCAxMDAsIDAsIDEwMSwgMCwgCi0gICAgMTAyLCAxMDIsIDEwMywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAKLSAgICAxNywgMTcsIDE3LCAwLCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxMDQsIDEwNSwgMTA1LCAxMDUsIAotICAgIDEwNiwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAKLSAgICAxMDcsIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDEwOCwgMTA5LCAxMDksIDExMCwgMTExLCAxMTIsIAotICAgIDExMywgMTEzLCAxMTMsIDExNCwgMTE1LCAxMTYsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgCi0gICAgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDExNywgMTE4LCAxMTksIDIwLCAKLSAgICAxMjAsIDEyMSwgNSwgMzAsIDMxLCAxMjIsIDMwLCAzMSwgMjAsIDY0LCA2NCwgNjQsIDEyMywgMTIzLCAxMjMsIDEyMywgCi0gICAgMTIzLCAxMjMsIDEyMywgMTIzLCAxMjMsIDEyMywgMTIzLCAxMjMsIDEyMywgMTIzLCAxMjMsIDEyMywgMTcsIDE3LCAxNywgCisgICAgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgCisgICAgMjUsIDI1LCAzMCwgMzEsIDMwLCAzMSwgMTAxLCA2LCAzMCwgMzEsIDAsIDAsIDEwMywgNTAsIDUwLCA1MCwgNSwgMTA0LCAwLCAKKyAgICAwLCAwLCAwLCA2LCA2LCAxMDUsIDI1LCAxMDYsIDEwNiwgMTA2LCAwLCAxMDcsIDAsIDEwOCwgMTA4LCAxMDksIDE3LCAxNywgCisgICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMCwgMTcsIDE3LCAKKyAgICAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTEwLCAxMTEsIDExMSwgMTExLCAxMTIsIDE5LCAxOSwgMTksIDE5LCAxOSwgCisgICAgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTEzLCAxOSwgMTksIDE5LCAxOSwgMTksIAorICAgIDE5LCAxOSwgMTksIDE5LCAxMTQsIDExNSwgMTE1LCAxMTYsIDExNywgMTE4LCAxMTksIDExOSwgMTE5LCAxMjAsIDEyMSwgCisgICAgMTIyLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIAorICAgIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAxMjMsIDEyNCwgMTI1LCAxMjYsIDEyNywgMTI4LCA1LCAzMCwgMzEsIDEyOSwgCisgICAgMzAsIDMxLCAyMCwgNjQsIDY0LCA2NCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAKKyAgICAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAogICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIAotICAgIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIAotICAgIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxMjQsIDEyNCwgMTI0LCAxMjQsIDEyNCwgMTI0LCAxMjQsIDEyNCwgMTI0LCAKLSAgICAxMjQsIDEyNCwgMTI0LCAxMjQsIDEyNCwgMTI0LCAxMjQsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIAotICAgIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIAotICAgIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCA1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDYsIDYsIDMwLCAzMSwgMzAsIDMxLCAKKyAgICAxNywgMTcsIDE3LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAKKyAgICAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDEzMSwgCisgICAgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIAorICAgIDEzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAKKyAgICAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDUsIAorICAgIDI1LCAyNSwgMjUsIDI1LCAyNSwgNiwgNiwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgCiAgICAgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgCiAgICAgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgCi0gICAgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAxMjUsIDMwLCAzMSwgMzAsIAotICAgIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMTI2LCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAKKyAgICAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAxMzIsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgCisgICAgMzEsIDMwLCAzMSwgMTMzLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIAogICAgIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIAogICAgIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIAogICAgIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIAogICAgIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIAotICAgIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMjcsIAotICAgIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAKLSAgICAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgCi0gICAgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMCwgMCwgOTYsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDAsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAKLSAgICAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgCi0gICAgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjksIDAsIDUsIDUsIDAsIDAsIDAsIAotICAgIDAsIDUsIDAsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAKKyAgICAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMCwgMTM0LCAxMzQsIDEzNCwgMTM0LCAxMzQsIDEzNCwgCisgICAgMTM0LCAxMzQsIDEzNCwgMTM0LCAxMzQsIDEzNCwgMTM0LCAxMzQsIDEzNCwgMTM0LCAxMzQsIDEzNCwgMTM0LCAxMzQsIAorICAgIDEzNCwgMTM0LCAxMzQsIDEzNCwgMTM0LCAxMzQsIDEzNCwgMTM0LCAxMzQsIDEzNCwgMTM0LCAxMzQsIDEzNCwgMTM0LCAKKyAgICAxMzQsIDEzNCwgMTM0LCAxMzQsIDAsIDAsIDEwMSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMTM1LCAxMzUsIDEzNSwgMTM1LCAKKyAgICAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgCisgICAgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIAorICAgIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNiwgMCwgNSwgNSwgMCwgMCwgNSwgNSwgNSwgMCwgMjUsIDI1LCAyNSwgCiAgICAgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgCi0gICAgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCA1LCAyNSwgNSwgMjUsIDI1LCA1LCAyNSwgMjUsIAotICAgIDUsIDI1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAKLSAgICAwLCAwLCAwLCA1NSwgNTUsIDU1LCA1LCA2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyMSwgMjEsIDIxLCAKLSAgICAyMSwgMjEsIDAsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgCi0gICAgMjUsIDI1LCAyNSwgNSwgMjEsIDAsIDUsIDUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgOTYsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNSwgMjUsIDI1LCAyNSwgCi0gICAgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCA3LCA4LCAKLSAgICA5LCAxMCwgMTEsIDEyLCAxMywgMTQsIDE1LCAxNiwgNSwgNSwgNSwgNSwgNTUsIDU1LCAyNSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNSwgNTUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyMSwgNSwgMjUsIDI1LCAyNSwgCi0gICAgMjUsIDI1LCAyNSwgOTYsIDk2LCAyNSwgMjUsIDUsIDI1LCAyNSwgMjUsIDI1LCA1NSwgNTUsIDcsIDgsIDksIDEwLCAxMSwgCi0gICAgMTIsIDEzLCAxNCwgMTUsIDE2LCA1NSwgNTUsIDU1LCA1LCA1LCA1NSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgMCwgMjEsIDU1LCAyNSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAKLSAgICAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIAorICAgIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDUsIDI1LCA1LCAyNSwgMjUsIDUsIDI1LCAyNSwgNSwgMjUsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDAsIDAsIDAsIDU1LCA1NSwgCisgICAgNTUsIDUsIDYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDUsIDUsIAorICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgNSwgCisgICAgMjEsIDAsIDUsIDUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMTAxLCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAKLSAgICAyNSwgMjUsIDI1LCA1NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNywgOCwgOSwgMTAsIAotICAgIDExLCAxMiwgMTMsIDE0LCAxNSwgMTYsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCA3LCA4LCA5LCAxMCwgMTEsIDEyLCAKKyAgICAxMywgMTQsIDE1LCAxNiwgNSwgNSwgNSwgNSwgNTUsIDU1LCAyNSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCA5NiwgOTYsIDUsIDUsIDUsIDUsIDk2LCAKLSAgICAwLCAwLCAwLCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjUsIDI1LCAyNSwgMjUsIDk2LCAyNSwgMjUsIDI1LCAyNSwgMjUsIAotICAgIDI1LCAyNSwgMjUsIDI1LCA5NiwgMjUsIDI1LCAyNSwgOTYsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMCwgMCwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDUsIDU1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjEsIDUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIAorICAgIDEwMSwgMTAxLCAyNSwgMjUsIDUsIDI1LCAyNSwgMjUsIDI1LCA1NSwgNTUsIDcsIDgsIDksIDEwLCAxMSwgMTIsIDEzLCAxNCwgCisgICAgMTUsIDE2LCA1NSwgNTUsIDU1LCA1LCA1LCA1NSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgMCwgMjEsIDU1LCAyNSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjUsIDI1LCAKLSAgICAyNSwgMCwgMCwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDAsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjUsIDI1LCAyNSwgCiAgICAgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgCi0gICAgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMCwgMjUsIDI1LCAyNSwgMTgsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjUsIDE4LCAyNSwgNTUsIDE4LCAxOCwgMTgsIAotICAgIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMTgsIDE4LCAxOCwgMTgsIDI1LCAxOCwgMTgsIDU1LCAyNSwgMjUsIAotICAgIDI1LCAyNSwgMjUsIDI1LCAyNSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI1LCAyNSwgNSwgNSwgCi0gICAgNywgOCwgOSwgMTAsIDExLCAxMiwgMTMsIDE0LCAxNSwgMTYsIDUsIDk2LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMjUsIDE4LCAxOCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIAorICAgIDU1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA3LCA4LCA5LCAxMCwgMTEsIDEyLCAxMywgCisgICAgMTQsIDE1LCAxNiwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMTAxLCAxMDEsIDUsIDUsIDUsIDUsIDEwMSwgMCwgMCwgMCwgCisgICAgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDI1LCAyNSwgMjUsIDI1LCAxMDEsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgCisgICAgMjUsIDEwMSwgMjUsIDI1LCAyNSwgMTAxLCAyNSwgMjUsIDI1LCAyNSwgMjUsIDAsIDAsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAorICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNSwgMjUsIDI1LCAwLCAwLCAKKyAgICA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjUsIDI1LCAyNSwgMjUsIAorICAgIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIAorICAgIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDE4LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNSwgMTgsIDI1LCA1NSwgMTgsIDE4LCAxOCwgMjUsIAorICAgIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAxOCwgMTgsIDE4LCAxOCwgMjUsIDE4LCAxOCwgNTUsIDI1LCAyNSwgMjUsIAorICAgIDI1LCAyNSwgMjUsIDI1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjUsIDI1LCA1LCA1LCA3LCAKKyAgICA4LCA5LCAxMCwgMTEsIDEyLCAxMywgMTQsIDE1LCAxNiwgNSwgMTAxLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNSwgMTgsIDE4LCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDAsIDAsIDU1LCA1NSwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAKICAgICA1NSwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDI1LCA1NSwgMTgsIDE4LCAxOCwgMjUsIDI1LCAyNSwgMjUsIDAsIApAQCAtMTY2NiwyMCArMTc4NywyMCBAQAogICAgIDE4LCAxOCwgMjUsIDE4LCAxOCwgMCwgMCwgMCwgMTgsIDE4LCAxOCwgMCwgMTgsIDE4LCAxOCwgMjUsIDAsIDAsIDU1LCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAxOCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNywgOCwgOSwgMTAsIAogICAgIDExLCAxMiwgMTMsIDE0LCAxNSwgMTYsIDI3LCAyNywgMjcsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDE4LCAxOCwgMTgsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgNTUsIDU1LCA1NSwgMCwgCisgICAgMCwgMjUsIDE4LCAxOCwgMTgsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgNTUsIDU1LCA1NSwgMCwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCAwLCAwLCAwLCA1NSwgMjUsIDI1LCAyNSwgMTgsIDE4LCAxOCwgMTgsIDAsIDI1LCAyNSwgMjUsIDAsIAotICAgIDI1LCAyNSwgMjUsIDI1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNSwgMjUsIDAsIDU1LCA1NSwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgNTUsIDU1LCAyNSwgMjUsIDAsIDAsIDcsIDgsIDksIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsIDE2LCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgNSwgMCwgMCwgMTgsIDE4LCAwLCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDAsIDU1LCA1NSwgNTUsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgMjUsIDU1LCAxOCwgMjUsIDE4LCAKLSAgICAxOCwgMTgsIDE4LCAxOCwgMCwgMjUsIDE4LCAxOCwgMCwgMTgsIDE4LCAyNSwgMjUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDE4LCAxOCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDAsIDU1LCA1NSwgMjUsIDI1LCAwLCAwLCA3LCA4LCA5LCAxMCwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgMCwgNTUsIDI1LCAyNSwgMjUsIDE4LCAxOCwgMTgsIDE4LCAwLCAyNSwgMjUsIDI1LCAKKyAgICAwLCAyNSwgMjUsIDI1LCAyNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjUsIDI1LCAwLCA1NSwgNTUsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDU1LCA1NSwgMjUsIDI1LCAwLCAwLCA3LCA4LCA5LCAxMCwgMTEsIDEyLCAxMywgMTQsIDE1LCAxNiwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDUsIDAsIDI1LCAxOCwgMTgsIDAsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgNTUsIDU1LCA1NSwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAyNSwgNTUsIDE4LCAyNSwgCisgICAgMTgsIDE4LCAxOCwgMTgsIDE4LCAwLCAyNSwgMTgsIDE4LCAwLCAxOCwgMTgsIDI1LCAyNSwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMTgsIDE4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NSwgMCwgNTUsIDU1LCAyNSwgMjUsIDAsIDAsIDcsIDgsIDksIDEwLCAKICAgICAxMSwgMTIsIDEzLCAxNCwgMTUsIDE2LCAwLCA1NSwgNTUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDE4LCAxOCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCA1NSwgNTUsIDU1LCAwLCA1NSwgCisgICAgMCwgMjUsIDE4LCAxOCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCA1NSwgNTUsIDU1LCAwLCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDU1LCAxOCwgMTgsIDE4LCAyNSwgMjUsIDI1LCAyNSwgMCwgMTgsIDE4LCAxOCwgMCwgCkBAIC0xNjkwLDc5ICsxODExLDc5IEBACiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgNTUsIDAsIAogICAgIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAwLCAyNSwgMCwgMCwgMCwgMCwgMTgsIDE4LCAxOCwgMjUsIAotICAgIDI1LCAyNSwgMCwgMjUsIDAsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTgsIDE4LCA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDI1LCAyNSwgMCwgMjUsIDAsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMCwgMCwgMCwgMCwgMCwgMCwgNywgOCwgCisgICAgOSwgMTAsIDExLCAxMiwgMTMsIDE0LCAxNSwgMTYsIDAsIDAsIDE4LCAxOCwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI1LCA1NSwgMTMwLCAyNSwgMjUsIAotICAgIDI1LCAyNSwgMjUsIDI1LCAyNSwgMCwgMCwgMCwgMCwgNSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgOTYsIDI1LCAyNSwgCi0gICAgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgNSwgNywgOCwgOSwgMTAsIDExLCAxMiwgMTMsIDE0LCAxNSwgMTYsIDUsIDUsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU1LCA1NSwgMCwgNTUsIDAsIDAsIDU1LCA1NSwgMCwgNTUsIAotICAgIDAsIDAsIDU1LCAwLCAwLCAwLCAwLCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDAsIDU1LCA1NSwgNTUsIDAsIDU1LCAwLCA1NSwgMCwgMCwgNTUsIDU1LCAwLCA1NSwgNTUsIDU1LCA1NSwgMjUsIDU1LCAKLSAgICAxMzAsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDAsIDI1LCAyNSwgNTUsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgCi0gICAgOTYsIDAsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDAsIDAsIDcsIDgsIDksIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsIDE2LCAKLSAgICAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDI1LCAyNSwgNSwgNSwgNSwgNSwgNSwgNSwgNywgCi0gICAgOCwgOSwgMTAsIDExLCAxMiwgMTMsIDE0LCAxNSwgMTYsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAKLSAgICA1LCAyNSwgNSwgMjUsIDUsIDI1LCA1LCA1LCA1LCA1LCAxOCwgMTgsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNSwgNTUsIDEzNywgCisgICAgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDAsIDAsIDAsIDAsIDUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDEwMSwgCisgICAgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCA1LCA3LCA4LCA5LCAxMCwgMTEsIDEyLCAxMywgMTQsIDE1LCAxNiwgCisgICAgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDU1LCAwLCA1NSwgMCwgMCwgNTUsIDU1LCAKKyAgICAwLCA1NSwgMCwgMCwgNTUsIDAsIDAsIDAsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgMCwgNTUsIDU1LCA1NSwgMCwgNTUsIDAsIDU1LCAwLCAwLCA1NSwgNTUsIDAsIDU1LCA1NSwgNTUsIDU1LCAyNSwgCisgICAgNTUsIDEzNywgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMCwgMjUsIDI1LCA1NSwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICAwLCAxMDEsIDAsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDAsIDAsIDcsIDgsIDksIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsIAorICAgIDE2LCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAorICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDI1LCAyNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNywgOCwgOSwgMTAsIDExLCAxMiwgMTMsIDE0LCAxNSwgMTYsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIAorICAgIDI3LCA1LCAyNSwgNSwgMjUsIDUsIDI1LCA1LCA1LCA1LCA1LCAxOCwgMTgsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCAwLCAwLCAwLCAwLCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIAotICAgIDE4LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDUsIDI1LCAyNSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNSwgMjUsIDI1LCAyNSwgCi0gICAgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDAsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAKKyAgICA1NSwgNTUsIDAsIDAsIDAsIDAsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAKKyAgICAyNSwgMTgsIDI1LCAyNSwgMjUsIDI1LCAyNSwgNSwgMjUsIDI1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI1LCAyNSwgMjUsIAorICAgIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMCwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgCiAgICAgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgCi0gICAgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAyNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMjUsIDUsIDUsIAorICAgIDUsIDUsIDUsIDUsIDAsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAxOCwgMTgsIDI1LCAyNSwgMjUsIDI1LCAKKyAgICAxOCwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMTgsIDI1LCAyNSwgMTgsIDE4LCAyNSwgMjUsIDU1LCA3LCA4LCA5LCAxMCwgCisgICAgMTEsIDEyLCAxMywgMTQsIDE1LCAxNiwgNSwgNSwgNSwgNSwgNSwgNSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMTgsIDE4LCAKKyAgICAyNSwgMjUsIDU1LCA1NSwgNTUsIDU1LCAyNSwgMjUsIDI1LCA1NSwgMTgsIDE4LCAxOCwgNTUsIDU1LCAxOCwgMTgsIDE4LCAKKyAgICAxOCwgMTgsIDE4LCAxOCwgNTUsIDU1LCA1NSwgMjUsIDI1LCAyNSwgMjUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNSwgMTgsIDE4LCAyNSwgMjUsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDI1LCAKKyAgICA1NSwgMTgsIDcsIDgsIDksIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsIDE2LCAxOCwgMTgsIDE4LCAyNSwgNSwgNSwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDAsIDEzOCwgMCwgMCwgMCwgMCwgMCwgMTM4LCAKKyAgICAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNSwgMTAxLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCA1NSwgCisgICAgNTUsIDU1LCA1NSwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDU1LCAwLCA1NSwgNTUsIDU1LCA1NSwgCisgICAgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCAwLCA1NSwgMCwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDU1LCA1NSwgNTUsIDU1LCAwLCAKKyAgICAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgMjUsIDI1LCAyNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMTM5LCAxNDAsIDE0MSwgMTQyLCAxNDMsIDE0NCwgMTQ1LCAxNDYsIDE0NywgCisgICAgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAwLCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDE4LCAxOCwgMjUsIDI1LCAyNSwgMjUsIDE4LCAKLSAgICAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAxOCwgMjUsIDI1LCAxOCwgMTgsIDI1LCAyNSwgNTUsIDcsIDgsIDksIDEwLCAxMSwgCi0gICAgMTIsIDEzLCAxNCwgMTUsIDE2LCA1LCA1LCA1LCA1LCA1LCA1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAxOCwgMTgsIDI1LCAKLSAgICAyNSwgNTUsIDU1LCA1NSwgNTUsIDI1LCAyNSwgMjUsIDU1LCAxOCwgMTgsIDE4LCA1NSwgNTUsIDE4LCAxOCwgMTgsIDE4LCAKLSAgICAxOCwgMTgsIDE4LCA1NSwgNTUsIDU1LCAyNSwgMjUsIDI1LCAyNSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDI1LCAxOCwgMTgsIDI1LCAyNSwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMjUsIDU1LCAKLSAgICAxOCwgNywgOCwgOSwgMTAsIDExLCAxMiwgMTMsIDE0LCAxNSwgMTYsIDE4LCAxOCwgMTgsIDI1LCA1LCA1LCAxMzEsIDEzMSwgCi0gICAgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIAotICAgIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAKLSAgICAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMCwgMTMxLCAwLCAwLCAwLCAwLCAwLCAxMzEsIDAsIDAsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1LCA5NiwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCA1NSwgMCwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgMCwgNTUsIDAsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDI1LCAyNSwgMjUsIDUsIAotICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDEzMiwgMTMzLCAxMzQsIDEzNSwgMTM2LCAxMzcsIDEzOCwgMTM5LCAxNDAsIDI3LCAKLSAgICAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMCwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAKQEAgLTE3ODYsMjggKzE5MDcsMjggQEAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNSwgNSwgNSwgMTQxLCAxNDEsIDE0MSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDAsIDU1LCA1NSwgNTUsIDU1LCAyNSwgMjUsIDI1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNSwgCi0gICAgMjUsIDI1LCA1LCA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNSwgMjUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCA1NSwgCi0gICAgNTUsIDU1LCAwLCAyNSwgMjUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNSwgNSwgNSwgMTQ4LCAxNDgsIDE0OCwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgMCwgNTUsIDU1LCA1NSwgNTUsIDI1LCAyNSwgMjUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDI1LCAyNSwgMjUsIDUsIDUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI1LCAyNSwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIAorICAgIDU1LCA1NSwgNTUsIDAsIDI1LCAyNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjUsIDI1LCAxOCwgMjUsIDI1LCAyNSwgCi0gICAgMjUsIDI1LCAyNSwgMjUsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMjUsIDE4LCAxOCwgMjUsIDI1LCAyNSwgCi0gICAgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCA1LCA1LCA1LCA5NiwgNSwgNSwgNSwgNSwgNTUsIDI1LCAwLCAwLCA3LCAKLSAgICA4LCA5LCAxMCwgMTEsIDEyLCAxMywgMTQsIDE1LCAxNiwgMCwgMCwgMCwgMCwgMCwgMCwgMjcsIDI3LCAyNywgMjcsIDI3LCAKLSAgICAyNywgMjcsIDI3LCAyNywgMjcsIDAsIDAsIDAsIDAsIDAsIDAsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDI1LCAyNSwgMjUsIDIxLCAwLCA3LCA4LCA5LCAxMCwgMTEsIDEyLCAxMywgMTQsIDE1LCAxNiwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI1LCAyNSwgMTgsIDI1LCAyNSwgCisgICAgMjUsIDI1LCAyNSwgMjUsIDI1LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDI1LCAxOCwgMTgsIDI1LCAyNSwgCisgICAgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgNSwgNSwgNSwgMTAxLCA1LCA1LCA1LCA1LCA1NSwgMjUsIDAsIAorICAgIDAsIDcsIDgsIDksIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsIDE2LCAwLCAwLCAwLCAwLCAwLCAwLCAyNywgMjcsIDI3LCAyNywgCisgICAgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMCwgMCwgMCwgMCwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgMjUsIDI1LCAyNSwgMjEsIDAsIDcsIDgsIDksIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsIDE2LCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgOTYsIAorICAgIDEwMSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjUsIDU1LCAwLCAwLCAwLCAwLCAwLCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKQEAgLTE4MTUsNTkwICsxOTM2LDI2NyBAQAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDAsIDI1LCAyNSwgMjUsIAotICAgIDE4LCAxOCwgMTgsIDE4LCAyNSwgMjUsIDE4LCAxOCwgMTgsIDAsIDAsIDAsIDAsIDE4LCAxOCwgMjUsIDE4LCAxOCwgMTgsIAotICAgIDE4LCAxOCwgMTgsIDI1LCAyNSwgMjUsIDAsIDAsIDAsIDAsIDUsIDAsIDAsIDAsIDUsIDUsIDcsIDgsIDksIDEwLCAxMSwgCi0gICAgMTIsIDEzLCAxNCwgMTUsIDE2LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMjUsIDI1LCAKKyAgICAyNSwgMTgsIDE4LCAxOCwgMTgsIDI1LCAyNSwgMTgsIDE4LCAxOCwgMCwgMCwgMCwgMCwgMTgsIDE4LCAyNSwgMTgsIDE4LCAKKyAgICAxOCwgMTgsIDE4LCAxOCwgMjUsIDI1LCAyNSwgMCwgMCwgMCwgMCwgNSwgMCwgMCwgMCwgNSwgNSwgNywgOCwgOSwgMTAsIAorICAgIDExLCAxMiwgMTMsIDE0LCAxNSwgMTYsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgMCwgMCwgMCwgMCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgCi0gICAgMTgsIDE4LCAxOCwgMTgsIDE4LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMTgsIDE4LCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICA3LCA4LCA5LCAxMCwgMTEsIDEyLCAxMywgMTQsIDE1LCAxNiwgMTMyLCAwLCAwLCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDAsIDAsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAKKyAgICAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDE4LCAxOCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgNywgOCwgOSwgMTAsIDExLCAxMiwgMTMsIDE0LCAxNSwgMTYsIDEzOSwgMCwgMCwgMCwgNSwgNSwgNSwgNSwgCiAgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNSwgMjUsIDE4LCAxOCwgMjUsIDAsIDAsIDUsIDUsIDU1LCA1NSwgNTUsIAorICAgIDUsIDUsIDUsIDUsIDUsIDUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjUsIDI1LCAxOCwgMTgsIDI1LCAwLCAwLCA1LCA1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAxOCwgMjUsIDE4LCAyNSwgCi0gICAgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMCwgMjUsIDE4LCAyNSwgMTgsIDE4LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAKLSAgICAyNSwgMjUsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAKLSAgICAwLCAwLCAyNSwgNywgOCwgOSwgMTAsIDExLCAxMiwgMTMsIDE0LCAxNSwgMTYsIDAsIDAsIDAsIDAsIDAsIDAsIDcsIDgsIDksIAotICAgIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsIDE2LCAwLCAwLCAwLCAwLCAwLCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA5NiwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDE4LCAyNSwgCisgICAgMTgsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAwLCAyNSwgMTgsIDI1LCAxOCwgMTgsIDI1LCAyNSwgMjUsIDI1LCAKKyAgICAyNSwgMjUsIDI1LCAyNSwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAKKyAgICAyNSwgMjUsIDAsIDAsIDI1LCA3LCA4LCA5LCAxMCwgMTEsIDEyLCAxMywgMTQsIDE1LCAxNiwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgNywgOCwgOSwgMTAsIDExLCAxMiwgMTMsIDE0LCAxNSwgMTYsIDAsIDAsIDAsIDAsIDAsIDAsIDUsIDUsIDUsIDUsIDUsIDUsIAorICAgIDUsIDEwMSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIAorICAgIDI1LCAyNSwgMjUsIDI1LCA2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNSwgMjUsIDI1LCAyNSwgMTgsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjUsIDE4LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDE4LCAyNSwgCi0gICAgMTgsIDE4LCAxOCwgMTgsIDE4LCAyNSwgMTgsIDE4LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgMCwgMCwgCi0gICAgNywgOCwgOSwgMTAsIDExLCAxMiwgMTMsIDE0LCAxNSwgMTYsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDUsIDUsIDUsIDUsIDUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDUsIDUsIDAsIDAsIDAsIDI1LCAyNSwgMTgsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDE4LCAyNSwgMjUsIDI1LCAyNSwgMTgsIDE4LCAyNSwgMjUsIDE4LCAyNSwgMTgsIDE4LCA1NSwgNTUsIDcsIDgsIDksIAotICAgIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsIDE2LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI1LCAKKyAgICAyNSwgMjUsIDI1LCAxOCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNSwgMTgsIDI1LCAKLSAgICAyNSwgMTgsIDE4LCAxOCwgMjUsIDE4LCAyNSwgMjUsIDI1LCAxOCwgMTgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUsIDUsIAotICAgIDUsIDUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgMjUsIDI1LCAyNSwgMjUsIDE4LCAyNSwgMTgsIDE4LCAxOCwgMTgsIDE4LCAyNSwgMTgsIDE4LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgMCwgMCwgMCwgMCwgNywgOCwgOSwgMTAsIDExLCAxMiwgMTMsIDE0LCAxNSwgMTYsIDUsIDUsIDUsIDUsIAorICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgCisgICAgMjUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDAsIDAsIDAsIDI1LCAyNSwgMTgsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAxOCwgCi0gICAgMTgsIDI1LCAyNSwgMCwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgNywgOCwgOSwgMTAsIDExLCAxMiwgMTMsIDE0LCAxNSwgMTYsIAotICAgIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDcsIDgsIDksIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsIDE2LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDE4LCAyNSwgMjUsIDI1LCAyNSwgMTgsIDE4LCAyNSwgMjUsIDE4LCAyNSwgCisgICAgMjUsIDI1LCA1NSwgNTUsIDcsIDgsIDksIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsIDE2LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgOTYsIDk2LCA5NiwgOTYsIDk2LCA5NiwgNSwgNSwgMCwgMCwgMCwgMCwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgMjUsIDE4LCAyNSwgMjUsIDE4LCAxOCwgMTgsIDI1LCAxOCwgMjUsIDI1LCAyNSwgMTgsIDE4LCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCA1LCA1LCA1LCA1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDI1LCAyNSwgMjUsIAorICAgIDI1LCAyNSwgMjUsIDI1LCAyNSwgMTgsIDE4LCAyNSwgMjUsIDAsIDAsIDAsIDUsIDUsIDUsIDUsIDUsIDcsIDgsIDksIDEwLCAKKyAgICAxMSwgMTIsIDEzLCAxNCwgMTUsIDE2LCAwLCAwLCAwLCA1NSwgNTUsIDU1LCA3LCA4LCA5LCAxMCwgMTEsIDEyLCAxMywgMTQsIAorICAgIDE1LCAxNiwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMTAxLCAxMDEsIDEwMSwgCisgICAgMTAxLCAxMDEsIDEwMSwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMjUsIDI1LCAyNSwgNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAKLSAgICAyNSwgMjUsIDE4LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgNTUsIDU1LCA1NSwgNTUsIDI1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgMTgsIDE4LCAyNSwgNTUsIDU1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUsIAorICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI1LCAyNSwgMjUsIDUsIDI1LCAyNSwgMjUsIAorICAgIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAxOCwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCAyNSwgNTUsIDU1LCA1NSwgNTUsIDE4LCAxOCwgMjUsIDU1LCA1NSwgMCwgMjUsIDI1LCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAKICAgICAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAKLSAgICAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAKLSAgICAyMCwgMjAsIDIwLCA5NSwgOTUsIDk1LCA5NSwgOTUsIDk1LCA5NSwgOTUsIDk1LCA5NSwgOTUsIDk1LCA5NSwgOTUsIDk1LCAKLSAgICA5NSwgOTUsIDk1LCA5NSwgOTUsIDk1LCA5NSwgOTUsIDk1LCA5NSwgOTUsIDk1LCA5NSwgOTUsIDk1LCA5NSwgOTUsIDk1LCAKLSAgICA5NSwgOTUsIDk1LCA5NSwgOTUsIDk1LCA5NSwgOTUsIDk1LCA5NSwgOTUsIDk1LCA5NSwgOTUsIDk1LCA5NSwgOTUsIDk1LCAKLSAgICA5NSwgOTUsIDk1LCA5NSwgOTUsIDk1LCA5NSwgOTUsIDk1LCA5NSwgOTUsIDk1LCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAKLSAgICAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgOTUsIDE0MiwgMjAsIDIwLCAyMCwgMTQzLCAyMCwgMjAsIDIwLCAyMCwgMjAsIAotICAgIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIAotICAgIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDk1LCA5NSwgOTUsIDk1LCA5NSwgOTUsIDk1LCA5NSwgOTUsIDk1LCA5NSwgOTUsIAotICAgIDk1LCA5NSwgOTUsIDk1LCA5NSwgOTUsIDk1LCA5NSwgOTUsIDk1LCA5NSwgOTUsIDk1LCA5NSwgOTUsIDk1LCA5NSwgOTUsIAotICAgIDk1LCA5NSwgOTUsIDk1LCA5NSwgOTUsIDk1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIAorICAgIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgCisgICAgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIAorICAgIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAKKyAgICAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgCisgICAgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIAorICAgIDEwMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDEwMCwgMTQ5LCAyMCwgCisgICAgMjAsIDIwLCAxNTAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIAorICAgIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMTAwLCAxMDAsIDEwMCwgCisgICAgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIAorICAgIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAKKyAgICAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIAogICAgIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIAotICAgIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNSwgMjUsIDI1LCAyNSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIAotICAgIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIAotICAgIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIAotICAgIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIAotICAgIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIAotICAgIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIAotICAgIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIAotICAgIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIAotICAgIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMTQ0LCAKLSAgICAxNDUsIDE0NiwgMTQ3LCAxNDgsIDE0OSwgMjAsIDIwLCAxNTAsIDIwLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIAotICAgIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIAotICAgIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIAotICAgIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIAotICAgIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIAotICAgIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAxNTEsIDE1MSwgCi0gICAgMTUxLCAxNTEsIDE1MSwgMTUxLCAxNTEsIDE1MSwgMTUyLCAxNTIsIDE1MiwgMTUyLCAxNTIsIDE1MiwgMTUyLCAxNTIsIAotICAgIDE1MSwgMTUxLCAxNTEsIDE1MSwgMTUxLCAxNTEsIDAsIDAsIDE1MiwgMTUyLCAxNTIsIDE1MiwgMTUyLCAxNTIsIDAsIDAsIAotICAgIDE1MSwgMTUxLCAxNTEsIDE1MSwgMTUxLCAxNTEsIDE1MSwgMTUxLCAxNTIsIDE1MiwgMTUyLCAxNTIsIDE1MiwgMTUyLCAKLSAgICAxNTIsIDE1MiwgMTUxLCAxNTEsIDE1MSwgMTUxLCAxNTEsIDE1MSwgMTUxLCAxNTEsIDE1MiwgMTUyLCAxNTIsIDE1MiwgCi0gICAgMTUyLCAxNTIsIDE1MiwgMTUyLCAxNTEsIDE1MSwgMTUxLCAxNTEsIDE1MSwgMTUxLCAwLCAwLCAxNTIsIDE1MiwgMTUyLCAKLSAgICAxNTIsIDE1MiwgMTUyLCAwLCAwLCAxNTMsIDE1MSwgMTU0LCAxNTEsIDE1NSwgMTUxLCAxNTYsIDE1MSwgMCwgMTUyLCAwLCAKLSAgICAxNTIsIDAsIDE1MiwgMCwgMTUyLCAxNTEsIDE1MSwgMTUxLCAxNTEsIDE1MSwgMTUxLCAxNTEsIDE1MSwgMTUyLCAxNTIsIAotICAgIDE1MiwgMTUyLCAxNTIsIDE1MiwgMTUyLCAxNTIsIDE1NywgMTU3LCAxNTgsIDE1OCwgMTU4LCAxNTgsIDE1OSwgMTU5LCAKLSAgICAxNjAsIDE2MCwgMTYxLCAxNjEsIDE2MiwgMTYyLCAwLCAwLCAxNjMsIDE2NCwgMTY1LCAxNjYsIDE2NywgMTY4LCAxNjksIAotICAgIDE3MCwgMTcxLCAxNzIsIDE3MywgMTc0LCAxNzUsIDE3NiwgMTc3LCAxNzgsIDE3OSwgMTgwLCAxODEsIDE4MiwgMTgzLCAKLSAgICAxODQsIDE4NSwgMTg2LCAxODcsIDE4OCwgMTg5LCAxOTAsIDE5MSwgMTkyLCAxOTMsIDE5NCwgMTk1LCAxOTYsIDE5NywgCi0gICAgMTk4LCAxOTksIDIwMCwgMjAxLCAyMDIsIDIwMywgMjA0LCAyMDUsIDIwNiwgMjA3LCAyMDgsIDIwOSwgMjEwLCAxNTEsIAotICAgIDE1MSwgMjExLCAyMTIsIDIxMywgMCwgMjE0LCAyMTUsIDE1MiwgMTUyLCAyMTYsIDIxNiwgMjE3LCA2LCAyMTgsIDYsIDYsIAotICAgIDYsIDIxOSwgMjIwLCAyMjEsIDAsIDIyMiwgMjIzLCAyMjQsIDIyNCwgMjI0LCAyMjQsIDIyNSwgNiwgNiwgNiwgMTUxLCAKLSAgICAxNTEsIDIyNiwgMjI3LCAwLCAwLCAyMjgsIDIyOSwgMTUyLCAxNTIsIDIzMCwgMjMwLCAwLCA2LCA2LCA2LCAxNTEsIDE1MSwgCi0gICAgMjMxLCAyMzIsIDIzMywgMTE5LCAyMzQsIDIzNSwgMTUyLCAxNTIsIDIzNiwgMjM2LCAxMjIsIDYsIDYsIDYsIDAsIDAsIAotICAgIDIzNywgMjM4LCAyMzksIDAsIDI0MCwgMjQxLCAyNDIsIDI0MiwgMjQzLCAyNDMsIDI0NCwgNiwgNiwgMCwgMiwgMiwgMiwgMiwgCi0gICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMjEsIDIxLCAyMSwgMjEsIDIxLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA2LCA2LCA1LCAKLSAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA2LCA1LCA1LCA2LCAzLCAzLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIsIDUsIDUsIAotICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDE4LCAxOCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMTgsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDIsIDIxLCAKLSAgICAyMSwgMjEsIDIxLCAyMSwgMCwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDI0NSwgOTUsIDAsIDAsIAotICAgIDI0NiwgMjQ3LCAyNDgsIDI0OSwgMjUwLCAyNTEsIDUsIDUsIDUsIDUsIDUsIDk1LCAyNDUsIDI2LCAyMiwgMjMsIDI0NiwgCi0gICAgMjQ3LCAyNDgsIDI0OSwgMjUwLCAyNTEsIDUsIDUsIDUsIDUsIDUsIDAsIDk1LCA5NSwgOTUsIDk1LCA5NSwgOTUsIDk1LCAKLSAgICA5NSwgOTUsIDk1LCA5NSwgOTUsIDk1LCAwLCAwLCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKLSAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgCi0gICAgMjUsIDI1LCAyNSwgNiwgNiwgNiwgNiwgMjUsIDYsIDYsIDYsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIAotICAgIDI1LCAyNSwgMjUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUsIDUsIDExMywgNSwgNSwgCi0gICAgNSwgNSwgMTEzLCA1LCA1LCAyMCwgMTEzLCAxMTMsIDExMywgMjAsIDIwLCAxMTMsIDExMywgMTEzLCAyMCwgNSwgMTEzLCA1LCAKLSAgICA1LCAyNTIsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCA1LCA1LCA1LCA1LCA1LCA1LCAxMTMsIDUsIDI1MywgNSwgMTEzLCAKLSAgICA1LCAyNTQsIDI1NSwgMTEzLCAxMTMsIDI1MiwgMjAsIDExMywgMTEzLCAyNTYsIDExMywgMjAsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICAyMCwgNSwgNSwgMjAsIDIwLCAxMTMsIDExMywgNSwgNSwgNSwgNSwgNSwgMTEzLCAyMCwgMjAsIDIwLCAyMCwgNSwgNSwgNSwgCi0gICAgNSwgMjU3LCA1LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAKLSAgICAyNywgMjU4LCAyNTgsIDI1OCwgMjU4LCAyNTgsIDI1OCwgMjU4LCAyNTgsIDI1OCwgMjU4LCAyNTgsIDI1OCwgMjU4LCAyNTgsIAotICAgIDI1OCwgMjU4LCAyNTksIDI1OSwgMjU5LCAyNTksIDI1OSwgMjU5LCAyNTksIDI1OSwgMjU5LCAyNTksIDI1OSwgMjU5LCAKLSAgICAyNTksIDI1OSwgMjU5LCAyNTksIDE0MSwgMTQxLCAxNDEsIDMwLCAzMSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAyNywgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjYsIDIyLCAyMywgMjQ2LCAyNDcsIDI0OCwgMjQ5LCAyNTAsIAotICAgIDI1MSwgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNiwgMjIsIDIzLCAyNDYsIDI0NywgCi0gICAgMjQ4LCAyNDksIDI1MCwgMjUxLCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI2LCAyMiwgCi0gICAgMjMsIDI0NiwgMjQ3LCAyNDgsIDI0OSwgMjUwLCAyNTEsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAKLSAgICAyNywgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgMjYwLCAyNjAsIDI2MCwgMjYwLCAyNjAsIDI2MCwgMjYwLCAyNjAsIDI2MCwgMjYwLCAyNjAsIDI2MCwgMjYwLCAKLSAgICAyNjAsIDI2MCwgMjYwLCAyNjAsIDI2MCwgMjYwLCAyNjAsIDI2MCwgMjYwLCAyNjAsIDI2MCwgMjYwLCAyNjAsIDI2MSwgCi0gICAgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIAotICAgIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNDUsIDI3LCAyNywgMjcsIAotICAgIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNiwgMjIsIDIzLCAyNDYsIDI0NywgMjQ4LCAyNDksIDI1MCwgMjUxLCAyNywgCi0gICAgMjQ1LCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKLSAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKLSAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKLSAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKLSAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAyNiwgCi0gICAgMjIsIDIzLCAyNDYsIDI0NywgMjQ4LCAyNDksIDI1MCwgMjUxLCAyNywgMjYsIDIyLCAyMywgMjQ2LCAyNDcsIDI0OCwgMjQ5LCAKLSAgICAyNTAsIDI1MSwgMjcsIDI2LCAyMiwgMjMsIDI0NiwgMjQ3LCAyNDgsIDI0OSwgMjUwLCAyNTEsIDI3LCA1LCA1LCA1LCA1LCAKLSAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKLSAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKLSAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKLSAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKLSAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKLSAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKLSAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKLSAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKLSAgICA1LCA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgCi0gICAgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIAotICAgIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAKLSAgICAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgCi0gICAgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIAotICAgIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAKLSAgICAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDAsIDMwLCAzMSwgMjYyLCAyNjMsIAotICAgIDI2NCwgMjY1LCAyNjYsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDI2NywgMjY4LCAyNjksIDI3MCwgMjAsIDMwLCAzMSwgCi0gICAgMjAsIDMwLCAzMSwgMjAsIDIwLCAyMCwgMjAsIDIwLCA5NSwgOTUsIDI3MSwgMjcxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAKLSAgICAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAKLSAgICAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAKLSAgICAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAKLSAgICAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAKLSAgICAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAKLSAgICAzMCwgMzEsIDMwLCAzMSwgMjAsIDUsIDUsIDUsIDUsIDUsIDUsIDMwLCAzMSwgMzAsIDMxLCAyNSwgMjUsIDI1LCAzMCwgMzEsIAotICAgIDAsIDAsIDAsIDAsIDAsIDUsIDUsIDUsIDUsIDI3LCA1LCA1LCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIAotICAgIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAKLSAgICAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgCi0gICAgMjcyLCAyNzIsIDI3MiwgMCwgMjcyLCAwLCAwLCAwLCAwLCAwLCAyNzIsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgOTYsIDUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMjUsIDI1LCAyNSwgMjUsIAogICAgIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIAotICAgIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKLSAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKLSAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAyNzMsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUsIDUsIDUsIAotICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDAsIAorICAgIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAwLCAwLCAwLCAwLCAwLCAwLCAyNSwgMjUsIDI1LCAyNSwgMzAsIDMxLCAzMCwgCisgICAgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgCisgICAgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgCisgICAgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgCisgICAgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgCisgICAgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgCisgICAgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgCisgICAgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgCisgICAgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgCisgICAgMzEsIDMwLCAzMSwgMTUxLCAxNTIsIDE1MywgMTU0LCAxNTUsIDE1NiwgMjAsIDIwLCAxNTcsIDIwLCAzMCwgMzEsIDMwLCAKKyAgICAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAKKyAgICAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAKKyAgICAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAKKyAgICAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAKKyAgICAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAKKyAgICAzMSwgMzAsIDMxLCAxNTgsIDE1OCwgMTU4LCAxNTgsIDE1OCwgMTU4LCAxNTgsIDE1OCwgMTU5LCAxNTksIDE1OSwgMTU5LCAKKyAgICAxNTksIDE1OSwgMTU5LCAxNTksIDE1OCwgMTU4LCAxNTgsIDE1OCwgMTU4LCAxNTgsIDAsIDAsIDE1OSwgMTU5LCAxNTksIAorICAgIDE1OSwgMTU5LCAxNTksIDAsIDAsIDE1OCwgMTU4LCAxNTgsIDE1OCwgMTU4LCAxNTgsIDE1OCwgMTU4LCAxNTksIDE1OSwgCisgICAgMTU5LCAxNTksIDE1OSwgMTU5LCAxNTksIDE1OSwgMTU4LCAxNTgsIDE1OCwgMTU4LCAxNTgsIDE1OCwgMTU4LCAxNTgsIAorICAgIDE1OSwgMTU5LCAxNTksIDE1OSwgMTU5LCAxNTksIDE1OSwgMTU5LCAxNTgsIDE1OCwgMTU4LCAxNTgsIDE1OCwgMTU4LCAwLCAKKyAgICAwLCAxNTksIDE1OSwgMTU5LCAxNTksIDE1OSwgMTU5LCAwLCAwLCAxNjAsIDE1OCwgMTYxLCAxNTgsIDE2MiwgMTU4LCAxNjMsIAorICAgIDE1OCwgMCwgMTU5LCAwLCAxNTksIDAsIDE1OSwgMCwgMTU5LCAxNTgsIDE1OCwgMTU4LCAxNTgsIDE1OCwgMTU4LCAxNTgsIAorICAgIDE1OCwgMTU5LCAxNTksIDE1OSwgMTU5LCAxNTksIDE1OSwgMTU5LCAxNTksIDE2NCwgMTY0LCAxNjUsIDE2NSwgMTY1LCAKKyAgICAxNjUsIDE2NiwgMTY2LCAxNjcsIDE2NywgMTY4LCAxNjgsIDE2OSwgMTY5LCAwLCAwLCAxNzAsIDE3MSwgMTcyLCAxNzMsIAorICAgIDE3NCwgMTc1LCAxNzYsIDE3NywgMTc4LCAxNzksIDE4MCwgMTgxLCAxODIsIDE4MywgMTg0LCAxODUsIDE4NiwgMTg3LCAKKyAgICAxODgsIDE4OSwgMTkwLCAxOTEsIDE5MiwgMTkzLCAxOTQsIDE5NSwgMTk2LCAxOTcsIDE5OCwgMTk5LCAyMDAsIDIwMSwgCisgICAgMjAyLCAyMDMsIDIwNCwgMjA1LCAyMDYsIDIwNywgMjA4LCAyMDksIDIxMCwgMjExLCAyMTIsIDIxMywgMjE0LCAyMTUsIAorICAgIDIxNiwgMjE3LCAxNTgsIDE1OCwgMjE4LCAyMTksIDIyMCwgMCwgMjIxLCAyMjIsIDE1OSwgMTU5LCAyMjMsIDIyMywgMjI0LCAKKyAgICA2LCAyMjUsIDYsIDYsIDYsIDIyNiwgMjI3LCAyMjgsIDAsIDIyOSwgMjMwLCAyMzEsIDIzMSwgMjMxLCAyMzEsIDIzMiwgNiwgCisgICAgNiwgNiwgMTU4LCAxNTgsIDIzMywgMjM0LCAwLCAwLCAyMzUsIDIzNiwgMTU5LCAxNTksIDIzNywgMjM3LCAwLCA2LCA2LCA2LCAKKyAgICAxNTgsIDE1OCwgMjM4LCAyMzksIDI0MCwgMTI1LCAyNDEsIDI0MiwgMTU5LCAxNTksIDI0MywgMjQzLCAxMjksIDYsIDYsIDYsIAorICAgIDAsIDAsIDI0NCwgMjQ1LCAyNDYsIDAsIDI0NywgMjQ4LCAyNDksIDI0OSwgMjUwLCAyNTAsIDI1MSwgNiwgNiwgMCwgMiwgMiwgCisgICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMjEsIDIxLCAyMSwgMjEsIDIxLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA2LCAKKyAgICA2LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA2LCA1LCA1LCA2LCAzLCAzLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIsIAorICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDE4LCAxOCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMTgsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDIsIAorICAgIDIxLCAyMSwgMjEsIDIxLCAyMSwgMCwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDI1MiwgMTAwLCAKKyAgICAwLCAwLCAyNTMsIDI1NCwgMjU1LCAyNTYsIDI1NywgMjU4LCA1LCA1LCA1LCA1LCA1LCAxMDAsIDI1MiwgMjYsIDIyLCAyMywgCisgICAgMjUzLCAyNTQsIDI1NSwgMjU2LCAyNTcsIDI1OCwgNSwgNSwgNSwgNSwgNSwgMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIAorICAgIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAwLCAwLCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAKKyAgICAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgNiwgNiwgNiwgNiwgMjUsIDYsIDYsIDYsIDI1LCAyNSwgMjUsIDI1LCAyNSwgCisgICAgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDUsIDUsIDExOSwgNSwgNSwgNSwgNSwgMTE5LCA1LCA1LCAyMCwgMTE5LCAxMTksIDExOSwgMjAsIDIwLCAxMTksIDExOSwgCisgICAgMTE5LCAyMCwgNSwgMTE5LCA1LCA1LCAyNTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICAxMTksIDUsIDI2MCwgNSwgMTE5LCA1LCAyNjEsIDI2MiwgMTE5LCAxMTksIDI1OSwgMjAsIDExOSwgMTE5LCAyNjMsIDExOSwgCisgICAgMjAsIDU1LCA1NSwgNTUsIDU1LCAyMCwgNSwgNSwgMjAsIDIwLCAxMTksIDExOSwgNSwgNSwgNSwgNSwgNSwgMTE5LCAyMCwgCisgICAgMjAsIDIwLCAyMCwgNSwgNSwgNSwgNSwgMjY0LCA1LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgCisgICAgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAKKyAgICAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjYsIDI2NiwgMjY2LCAyNjYsIDI2NiwgMjY2LCAyNjYsIDI2NiwgCisgICAgMjY2LCAyNjYsIDI2NiwgMjY2LCAyNjYsIDI2NiwgMjY2LCAyNjYsIDE0OCwgMTQ4LCAxNDgsIDMwLCAzMSwgMTQ4LCAxNDgsIAorICAgIDE0OCwgMTQ4LCAyNywgMCwgMCwgMCwgMCwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCiAgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCiAgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCiAgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCiAgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCiAgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgMiwgNSwgNSwgNSwgNSwgOTYsIDU1LCAxNDEsIDUsIDUsIAotICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDE0MSwgCi0gICAgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDI1LCAyNSwgMjUsIDI1LCAxOCwgMTgsIDUsIDk2LCAKLSAgICA5NiwgOTYsIDk2LCA5NiwgNSwgNSwgMTQxLCAxNDEsIDE0MSwgOTYsIDU1LCA1LCA1LCA1LCAwLCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDI1LCAyNSwgNiwgNiwgOTYsIDk2LCA1NSwgCi0gICAgNSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNSwgOTYsIDk2LCA5NiwgNTUsIDAsIDAsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgMCwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDAsIDUsIDUsIDI3LCAyNywgMjcsIDI3LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAwLCAwLCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKICAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKLSAgICA1LCA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMjcsIDI3LCAyNywgMjcsIDI3LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCAwLCAwLCAwLCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNiwgMjIsIDIzLCAyNTMsIAorICAgIDI1NCwgMjU1LCAyNTYsIDI1NywgMjU4LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI2LCAKKyAgICAyMiwgMjMsIDI1MywgMjU0LCAyNTUsIDI1NiwgMjU3LCAyNTgsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIAorICAgIDI3LCAyNywgMjYsIDIyLCAyMywgMjUzLCAyNTQsIDI1NSwgMjU2LCAyNTcsIDI1OCwgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgCiAgICAgMjcsIDI3LCAyNywgMjcsIDI3LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKLSAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDUsIAotICAgIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDUsIDUsIDUsIDUsIAotICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDUsIDUsIDUsIDUsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKLSAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKLSAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAKLSAgICAyNywgMjcsIDI3LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKLSAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKLSAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDI3NCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCAyNzQsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNzQsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI3NCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAyNjcsIDI2NywgMjY3LCAyNjcsIDI2NywgMjY3LCAyNjcsIDI2NywgMjY3LCAyNjcsIAorICAgIDI2NywgMjY3LCAyNjcsIDI2NywgMjY3LCAyNjcsIDI2NywgMjY3LCAyNjcsIDI2NywgMjY3LCAyNjcsIDI2NywgMjY3LCAKKyAgICAyNjcsIDI2NywgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgCisgICAgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIAorICAgIDI1MiwgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI2LCAyMiwgMjMsIDI1MywgMjU0LCAyNTUsIAorICAgIDI1NiwgMjU3LCAyNTgsIDI3LCAyNTIsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAogICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAogICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDI3NCwgNTUsIDU1LCAyNzQsIDU1LCA1NSwgNTUsIDI3NCwgNTUsIDI3NCwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNzQsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCAyNzQsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNzQsIDU1LCAyNzQsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCAyNzQsIDI3NCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjc0LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI3NCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjc0LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI3NCwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDI3NCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNzQsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNzQsIDU1LCAyNzQsIDU1LCAyNzQsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjc0LCA1NSwgMjc0LCAyNzQsIDI3NCwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgMjc0LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI3NCwgMjc0LCAyNzQsIDI3NCwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjc0LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI3NCwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDI3NCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNzQsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjc0LCAyNzQsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI3NCwgMjc0LCAyNzQsIDU1LCAyNzQsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI3NCwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCAyNzQsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNzQsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI3NCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNzQsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjc0LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCAyNzQsIDU1LCA1NSwgNTUsIDU1LCAyNzQsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNzQsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNzQsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI3NCwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICAyNzQsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNzQsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjc0LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDk2LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDAsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAogICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA5NiwgOTYsIDk2LCA5NiwgOTYsIDk2LCA1LCA1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA5NiwgNSwgNSwgNSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDcsIDgsIDksIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsIDE2LCA1NSwgNTUsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDMwLCAzMSwgMzAsIDMxLCAKLSAgICAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAKLSAgICAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAKLSAgICAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCA1NSwgMjUsIDYsIDYsIDYsIDUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAKLSAgICAyNSwgMjUsIDI1LCA1LCA5NiwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIAotICAgIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjUsIDU1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCAyNiwgMjIsIDIzLCAyNTMsIDI1NCwgMjU1LCAyNTYsIDI1NywgMjU4LCAyNywgMjYsIDIyLCAKKyAgICAyMywgMjUzLCAyNTQsIDI1NSwgMjU2LCAyNTcsIDI1OCwgMjcsIDI2LCAyMiwgMjMsIDI1MywgMjU0LCAyNTUsIDI1NiwgCisgICAgMjU3LCAyNTgsIDI3LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMzQsIDEzNCwgMTM0LCAxMzQsIDEzNCwgMTM0LCAxMzQsIDEzNCwgMTM0LCAxMzQsIAorICAgIDEzNCwgMTM0LCAxMzQsIDEzNCwgMTM0LCAxMzQsIDEzNCwgMTM0LCAxMzQsIDEzNCwgMTM0LCAxMzQsIDEzNCwgMTM0LCAKKyAgICAxMzQsIDEzNCwgMTM0LCAxMzQsIDEzNCwgMTM0LCAxMzQsIDEzNCwgMTM0LCAxMzQsIDEzNCwgMTM0LCAxMzQsIDEzNCwgCisgICAgMTM0LCAxMzQsIDEzNCwgMTM0LCAxMzQsIDEzNCwgMTM0LCAxMzQsIDEzNCwgMCwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIAorICAgIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAKKyAgICAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgCisgICAgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDAsIAorICAgIDMwLCAzMSwgMjY5LCAyNzAsIDI3MSwgMjcyLCAyNzMsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDI3NCwgMjc1LCAyNzYsIAorICAgIDI3NywgMjAsIDMwLCAzMSwgMjAsIDMwLCAzMSwgMjAsIDIwLCAyMCwgMjAsIDIwLCAxMDAsIDEwMCwgMjc4LCAyNzgsIDMwLCAKKyAgICAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAKKyAgICAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAKKyAgICAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAKKyAgICAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAKKyAgICAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAKKyAgICAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAyMCwgNSwgNSwgNSwgNSwgNSwgNSwgMzAsIDMxLCAzMCwgMzEsIAorICAgIDI1LCAyNSwgMjUsIDMwLCAzMSwgMCwgMCwgMCwgMCwgMCwgNSwgNSwgNSwgNSwgMjcsIDUsIDUsIDI3OSwgMjc5LCAyNzksIAorICAgIDI3OSwgMjc5LCAyNzksIDI3OSwgMjc5LCAyNzksIDI3OSwgMjc5LCAyNzksIDI3OSwgMjc5LCAyNzksIDI3OSwgMjc5LCAKKyAgICAyNzksIDI3OSwgMjc5LCAyNzksIDI3OSwgMjc5LCAyNzksIDI3OSwgMjc5LCAyNzksIDI3OSwgMjc5LCAyNzksIDI3OSwgCisgICAgMjc5LCAyNzksIDI3OSwgMjc5LCAyNzksIDI3OSwgMjc5LCAwLCAyNzksIDAsIDAsIDAsIDAsIDAsIDI3OSwgMCwgMCwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDE0MSwgMTQxLCAKLSAgICAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMjUsIDI1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCA2LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCAKLSAgICA2LCA2LCA2LCA2LCA2LCA5NiwgOTYsIDk2LCA5NiwgOTYsIDk2LCA5NiwgOTYsIDk2LCA2LCA2LCAzMCwgMzEsIDMwLCAzMSwgCi0gICAgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDIwLCAyMCwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgCi0gICAgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgCi0gICAgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgCi0gICAgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgCi0gICAgMzAsIDMxLCA5NSwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAzMCwgMzEsIDMwLCAzMSwgMjc1LCAzMCwgMzEsIAotICAgIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgOTYsIDYsIDYsIDMwLCAzMSwgMjc2LCAyMCwgMCwgMzAsIDMxLCAzMCwgCi0gICAgMzEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgCi0gICAgMzAsIDMxLCAyNzcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDU1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMDEsIDUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDI1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgMCwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgCisgICAgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAyODAsIDUsIDUsIAorICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDk1LCA5NSwgMjAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNSwgCi0gICAgNTUsIDU1LCA1NSwgMjUsIDU1LCA1NSwgNTUsIDU1LCAyNSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAxOCwgMTgsIDI1LCAyNSwgCi0gICAgMTgsIDUsIDUsIDUsIDUsIDAsIDAsIDAsIDAsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDUsIDUsIDUsIDUsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCAwLCAwLCAyLCA1LCAKKyAgICA1LCA1LCA1LCAxMDEsIDU1LCAxNDgsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAorICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDI1LCAKKyAgICAyNSwgMjUsIDI1LCAxOCwgMTgsIDUsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCA1LCA1LCAxNDgsIDE0OCwgMTQ4LCAxMDEsIAorICAgIDU1LCA1LCA1LCA1LCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDUsIDUsIDUsIDUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE4LCAxOCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIAotICAgIDE4LCAxOCwgMTgsIDE4LCAxOCwgMjUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUsIDUsIDcsIDgsIDksIDEwLCAxMSwgCi0gICAgMTIsIDEzLCAxNCwgMTUsIDE2LCAwLCAwLCAwLCAwLCAwLCAwLCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAKLSAgICAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1LCA1LCA1LCA1NSwgCi0gICAgMCwgMCwgMCwgMCwgNywgOCwgOSwgMTAsIDExLCAxMiwgMTMsIDE0LCAxNSwgMTYsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDUsIDUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAxOCwgMTgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgMCwgMjUsIAotICAgIDI1LCAyNSwgMTgsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjUsIDE4LCAxOCwgMjUsIAotICAgIDI1LCAyNSwgMjUsIDE4LCAxOCwgMjUsIDE4LCAxOCwgMTgsIDE4LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKLSAgICA1LCA1LCAwLCA5NiwgNywgOCwgOSwgMTAsIDExLCAxMiwgMTMsIDE0LCAxNSwgMTYsIDAsIDAsIDAsIDAsIDUsIDUsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMTgsIDE4LCAyNSwgCi0gICAgMjUsIDE4LCAxOCwgMjUsIDI1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NSwgNTUsIDU1LCAyNSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNSwgMTgsIDAsIDAsIDcsIDgsIDksIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsIAotICAgIDE2LCAwLCAwLCA1LCA1LCA1LCA1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgOTYsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDUsIDUsIDUsIDU1LCAxOCwgMCwgMCwgMCwgMCwgNTUsIAorICAgIDAsIDAsIDI1LCAyNSwgNiwgNiwgMTAxLCAxMDEsIDU1LCA1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI1LCA1NSwgMjUsIDI1LCAyNSwgNTUsIDU1LCAKLSAgICAyNSwgMjUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjUsIDI1LCA1NSwgMjUsIDU1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NSwgNTUsIDk2LCA1LCA1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDE4LCAyNSwgMjUsIDE4LCAxOCwgNSwgNSwgNTUsIDk2LCA5NiwgCi0gICAgMTgsIDI1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMTgsIDE4LCAyNSwgCi0gICAgMTgsIDE4LCAyNSwgMTgsIDE4LCA1LCAxOCwgMjUsIDAsIDAsIDcsIDgsIDksIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsIDE2LCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDUsIDEwMSwgMTAxLCAxMDEsIDU1LCAwLCAwLCAwLCAwLCAwLCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICAwLCAwLCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCA1LCA1LCAyNywgMjcsIDI3LCAyNywgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgMCwgCi0gICAgMCwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgCi0gICAgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgCi0gICAgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgCi0gICAgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgCi0gICAgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgCi0gICAgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNzQsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNzQsIDU1LCA1NSwgNTUsIAotICAgIDU1LCAyNzQsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDI3NCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgMjc0LCA1NSwgMjc0LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI3NCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAyNzgsIDI3OSwgMjgwLCAyODEsIDI4MiwgMjgzLCAyODQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDI4NSwgMjg2LCAyODcsIDI4OCwgMjg5LCAwLCAwLCAwLCAwLCAwLCA1NSwgMjUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCA1NSwgMCwgNTUsIDU1LCAwLCA1NSwgNTUsIDAsIAorICAgIDAsIDAsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAorICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCAwLCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCA1LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIAorICAgIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAyNywgMjcsIDI3LCAyNywgMjcsIAorICAgIDI3LCAyNywgMjcsIDI3LCAyNywgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMjcsIDI3LCAKKyAgICAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyODEsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNiwgNiwgNiwgNiwgNiwgNiwgNiwgNiwgNiwgNiwgNiwgNiwgNiwgNiwgNiwgNiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyODEsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCkBAIC0yNDA2LDQyNSArMjIwNCw4OTUgQEAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDI5MCwgMjkwLCAyOTAsIDI5MCwgMjkwLCAyOTAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjgxLCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1LCA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgMjgxLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCAyOTAsIDI5MCwgNSwgNSwgMCwgMCwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgCi0gICAgMjUsIDI1LCAyNSwgMjUsIDUsIDUsIDUsIDYsIDUsIDUsIDUsIDUsIDUsIDUsIDAsIDAsIDAsIDAsIDAsIDAsIDI1LCAyNSwgCi0gICAgMjUsIDI1LCAyNSwgMjUsIDI1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1LCA1LCA1LCAxOCwgMTgsIDUsIDUsIDUsIAotICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDE4LCAxOCwgCi0gICAgMTgsIDUsIDUsIDYsIDAsIDUsIDYsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDAsIDUsIDUsIDUsIDUsIDAsIDAsIDAsIDAsIDI5MCwgNTUsIDI5MCwgNTUsIDI5MCwgMCwgMjkwLCA1NSwgMjkwLCA1NSwgCi0gICAgMjkwLCA1NSwgMjkwLCA1NSwgMjkwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAyODEsIAorICAgIDU1LCA1NSwgMjgxLCA1NSwgNTUsIDU1LCAyODEsIDU1LCAyODEsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgMjgxLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjgxLCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgMjgxLCA1NSwgMjgxLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjgxLCAyODEsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI4MSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyODEsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI4MSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyODEsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyODEsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgMjgxLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgMjgxLCA1NSwgMjgxLCA1NSwgMjgxLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDI4MSwgNTUsIDI4MSwgMjgxLCAyODEsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI4MSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgMjEsIDAsIDUsIDUsIDUsIDUsIDUsIDUsIDYsIDUsIDUsIDUsIDUsIDUsIAotICAgIDUsIDYsIDUsIDcsIDgsIDksIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsIDE2LCA2LCA1LCA1LCA1LCA1LCA1LCA1LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDUsIDUsIDUsIDYsIDE4LCA2LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAKLSAgICAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAKLSAgICAxOSwgMTksIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA5NiwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjkxLCAyOTEsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAKLSAgICAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCA1NSwgNTUsIAotICAgIDU1LCAwLCAwLCAwLCA1LCA1LCA1LCA2LCA1LCA1LCA1LCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAyMSwgMjEsIDIxLCA1LCA1LCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCA1NSwgNTUsIDAsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDI4MSwgMjgxLCAyODEsIDI4MSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjgxLCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDI4MSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI4MSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyODEsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgMjgxLCAyODEsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDI4MSwgMjgxLCAyODEsIDU1LCAyODEsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI4MSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyODEsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCAyODEsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDI4MSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCAyODEsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjgxLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyODEsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICAyODEsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyODEsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCAyODEsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDI4MSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyODEsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCAyODEsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgMjgxLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDAsIAotICAgIDAsIDAsIDUsIDUsIDUsIDAsIDAsIDAsIDAsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgCi0gICAgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgCi0gICAgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDAsIDAsIDAsIAotICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIAotICAgIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAKLSAgICAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgCi0gICAgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIAotICAgIDE0MSwgMTQxLCAyNywgMjcsIDI3LCAyNywgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgMjcsIDAsIDAsIDAsIDAsIDAsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUsIAotICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDI1LCAwLCAwLCA1NSwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDEwMSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAwLCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMTAxLCAxMDEsIAorICAgIDEwMSwgMTAxLCAxMDEsIDEwMSwgNSwgNSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgMTAxLCA1LCA1LCA1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNywgOCwgOSwgMTAsIDExLCAxMiwgMTMsIDE0LCAxNSwgMTYsIDU1LCA1NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgCisgICAgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgCisgICAgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgCisgICAgMzEsIDU1LCAyNSwgNiwgNiwgNiwgNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDUsIDEwMSwgCisgICAgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgCisgICAgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDEwMCwgMTAwLCAwLCAyNSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAKKyAgICAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMjUsIDI1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCA2LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCAKKyAgICAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCA2LCA2LCAzMCwgMzEsIDMwLCAzMSwgMzAsIAorICAgIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDIwLCAyMCwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIAorICAgIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIAorICAgIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIAorICAgIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIAorICAgIDMxLCAxMDAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMzAsIDMxLCAzMCwgMzEsIDI4MiwgMzAsIDMxLCAzMCwgCisgICAgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDEwMSwgNiwgNiwgMzAsIDMxLCAyODMsIDIwLCAwLCAzMCwgMzEsIDMwLCAKKyAgICAzMSwgMjAsIDIwLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAKKyAgICAzMSwgMzAsIDMxLCAzMCwgMzEsIDI4NCwgMjg1LCAyODYsIDI4NywgMCwgMCwgMjg4LCAyODksIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU1LCAxMDAsIDEwMCwgMjAsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNSwgNTUsIDU1LCA1NSwgMjUsIDU1LCA1NSwgNTUsIDU1LCAyNSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCAxOCwgMTgsIDI1LCAyNSwgMTgsIDUsIDUsIDUsIDUsIDAsIDAsIDAsIDAsIDI3LCAyNywgMjcsIDI3LCAyNywgCisgICAgMjcsIDUsIDUsIDUsIDUsIDAsIDAsIDAsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1LCA1LCA1LCA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxOCwgMTgsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMTgsIDE4LCAxOCwgMTgsIDE4LCAKKyAgICAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDI1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCA1LCA1LCA3LCA4LCA5LCAxMCwgMTEsIDEyLCAxMywgMTQsIDE1LCAxNiwgMCwgMCwgMCwgMCwgMCwgMCwgMjUsIDI1LCAKKyAgICAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNSwgNSwgNSwgNTUsIDAsIDAsIDAsIDAsIDcsIDgsIDksIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsIAorICAgIDE2LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIAorICAgIDI1LCA1LCA1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgCisgICAgMTgsIDE4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDAsIDI1LCAyNSwgMjUsIDE4LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDI1LCAxOCwgMTgsIDI1LCAyNSwgMjUsIDI1LCAxOCwgMTgsIDI1LCAxOCwgMTgsIDE4LCAxOCwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMTAxLCA3LCA4LCA5LCAxMCwgMTEsIDEyLCAxMywgMTQsIDE1LCAKKyAgICAxNiwgMCwgMCwgMCwgMCwgNSwgNSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNSwgMTAxLCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA3LCA4LCA5LCAxMCwgMTEsIDEyLCAxMywgMTQsIDE1LCAxNiwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDE4LCAxOCwgMjUsIDI1LCAxOCwgMTgsIAorICAgIDI1LCAyNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgMjUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgMjUsIDE4LCAwLCAwLCA3LCA4LCA5LCAxMCwgMTEsIDEyLCAxMywgMTQsIDE1LCAxNiwgMCwgMCwgNSwgCisgICAgNSwgNSwgNSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDEwMSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNSwgNSwgNSwgNTUsIDE4LCAyNSwgMTgsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjUsIDU1LCAyNSwgMjUsIDI1LCA1NSwgNTUsIDI1LCAyNSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNSwgMjUsIDU1LCAyNSwgNTUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU1LCA1NSwgMTAxLCA1LCA1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDE4LCAyNSwgMjUsIDE4LCAxOCwgNSwgNSwgNTUsIDEwMSwgMTAxLCAxOCwgCisgICAgMjUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMjAsIDIwLCAyMCwgCisgICAgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgCisgICAgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgCisgICAgMjAsIDIwLCAyMCwgMjAsIDYsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMCwgMCwgMCwgMCwgMjAsIDIwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDE4LCAxOCwgMjUsIDE4LCAxOCwgMjUsIDE4LCAxOCwgNSwgCisgICAgMTgsIDI1LCAwLCAwLCA3LCA4LCA5LCAxMCwgMTEsIDEyLCAxMywgMTQsIDE1LCAxNiwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAwLCAwLCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgMCwgMCwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgCisgICAgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgCisgICAgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgCisgICAgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgCisgICAgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgCisgICAgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgCisgICAgMSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICAyODEsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyODEsIDU1LCA1NSwgNTUsIDU1LCAyODEsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDI4MSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjgxLCA1NSwgMjgxLCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDI4MSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyOTAsIAorICAgIDI5MSwgMjkyLCAyOTMsIDI5NCwgMjk1LCAyOTYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI5NywgCisgICAgMjk4LCAyOTksIDMwMCwgMzAxLCAwLCAwLCAwLCAwLCAwLCA1NSwgMjUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCAwLCA1NSwgMCwgNTUsIDU1LCAwLCA1NSwgNTUsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDYsIDYsIDYsIDYsIDYsIDYsIDYsIDYsIAorICAgIDYsIDYsIDYsIDYsIDYsIDYsIDYsIDYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAzMDIsIDMwMiwgMzAyLCAKKyAgICAzMDIsIDMwMiwgMzAyLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1LCA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDMwMiwgMzAyLCA1LCA1LCAwLCAKKyAgICAwLCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgNSwgNSwgCisgICAgNSwgNiwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAKKyAgICAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAwLCAwLCA1LCA1LCA1LCAxOCwgMTgsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAorICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDE4LCAxOCwgMTgsIDUsIDUsIDYsIDAsIDUsIAorICAgIDYsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDAsIDUsIDUsIDUsIDUsIDAsIAorICAgIDAsIDAsIDAsIDMwMiwgNTUsIDMwMiwgNTUsIDMwMiwgMCwgMzAyLCA1NSwgMzAyLCA1NSwgMzAyLCA1NSwgMzAyLCA1NSwgCisgICAgMzAyLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCAwLCAwLCAyMSwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNiwgNSwgNSwgNSwgNSwgNSwgNSwgNiwgNSwgNywgOCwgOSwgCisgICAgMTAsIDExLCAxMiwgMTMsIDE0LCAxNSwgMTYsIDYsIDUsIDUsIDUsIDUsIDUsIDUsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAorICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAorICAgIDE3LCAxNywgNSwgNSwgNSwgNiwgMTgsIDYsIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgCisgICAgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDEwMSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMzAzLCAzMDMsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCA1NSwgNTUsIDU1LCAwLCAwLCAwLCA1LCA1LCA1LCAKKyAgICA2LCA1LCA1LCA1LCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyMSwgMjEsIAorICAgIDIxLCA1LCA1LCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCA1NSwgNTUsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgMCwgMCwgMCwgNSwgNSwgNSwgMCwgMCwgMCwgCisgICAgMCwgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAKKyAgICAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAKKyAgICAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMCwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIAorICAgIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAKKyAgICAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgCisgICAgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDI3LCAyNywgMjcsIDI3LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAyNywgMjcsIDUsIDAsIDAsIDAsIDUsIDUsIAorICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDAsIDAsIDAsIDAsIDUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAorICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAorICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDI1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNSwgCisgICAgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgCisgICAgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMCwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNywgMjcsIDI3LCAyNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCAxNDgsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMTQ4LCAwLCAwLCAwLCAwLCAwLCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDI1LCAyNSwgMjUsIDI1LCAyNSwgMCwgMCwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgMCwgNSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1LCAxNDgsIDE0OCwgCisgICAgMTQ4LCAxNDgsIDE0OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzA0LCAKKyAgICAzMDQsIDMwNCwgMzA0LCAzMDQsIDMwNCwgMzA0LCAzMDQsIDMwNCwgMzA0LCAzMDQsIDMwNCwgMzA0LCAzMDQsIDMwNCwgCisgICAgMzA0LCAzMDQsIDMwNCwgMzA0LCAzMDQsIDMwNCwgMzA0LCAzMDQsIDMwNCwgMzA0LCAzMDQsIDMwNCwgMzA0LCAzMDQsIAorICAgIDMwNCwgMzA0LCAzMDQsIDMwNCwgMzA0LCAzMDQsIDMwNCwgMzA0LCAzMDQsIDMwNCwgMzA0LCAzMDUsIDMwNSwgMzA1LCAKKyAgICAzMDUsIDMwNSwgMzA1LCAzMDUsIDMwNSwgMzA1LCAzMDUsIDMwNSwgMzA1LCAzMDUsIDMwNSwgMzA1LCAzMDUsIDMwNSwgCisgICAgMzA1LCAzMDUsIDMwNSwgMzA1LCAzMDUsIDMwNSwgMzA1LCAzMDUsIDMwNSwgMzA1LCAzMDUsIDMwNSwgMzA1LCAzMDUsIAorICAgIDMwNSwgMzA1LCAzMDUsIDMwNSwgMzA1LCAzMDUsIDMwNSwgMzA1LCAzMDUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIAorICAgIDcsIDgsIDksIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsIDE2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCA1NSwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCAwLCA1NSwgNTUsIDAsIDAsIDAsIDU1LCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDUsIDI3LCAyNywgMjcsIDI3LCAKKyAgICAyNywgMjcsIDI3LCAyNywgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1LCA1LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAwLCAwLCAwLCA1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDAsIDAsIDAsIDAsIDAsIDUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDU1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICA1NSwgMjUsIDI1LCAyNSwgMCwgMjUsIDI1LCAwLCAwLCAwLCAwLCAwLCAyNSwgMjUsIDI1LCAyNSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDAsIDU1LCA1NSwgNTUsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDAsIDAsIDI1LCAyNSwgCisgICAgMjUsIDAsIDAsIDAsIDAsIDI1LCAyNiwgMjIsIDIzLCAyNTMsIDI3LCAyNywgMjcsIDI3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI3LCAyNywgNSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCAyNywgMjcsIDI3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNSwgMjUsIDAsIDAsIDAsIDAsIDI3LCAyNywgCisgICAgMjcsIDI3LCAyNywgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgMCwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDAsIDAsIDAsIDAsIDAsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNSwgCisgICAgNSwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNiwgMjIsIDIzLCAyNTMsIDI1NCwgCisgICAgMjU1LCAyNTYsIDI1NywgMjU4LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgCisgICAgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMCwgMTgsIDI1LCAxOCwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgMCwgMjcsIDI3LCAyNywgMjcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMTQxLCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDE0MSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgCisgICAgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgMjYsIAorICAgIDIyLCAyMywgMjUzLCAyNTQsIDI1NSwgMjU2LCAyNTcsIDI1OCwgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgCisgICAgMjcsIDI3LCA3LCA4LCA5LCAxMCwgMTEsIDEyLCAxMywgMTQsIDE1LCAxNiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMjUsIDI1LCAyNSwgMTgsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDE4LCAKKyAgICAxOCwgMTgsIDI1LCAyNSwgMjUsIDI1LCAxOCwgMTgsIDI1LCAyNSwgNSwgNSwgMjEsIDUsIDUsIDUsIDUsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCA3LCA4LCA5LCAxMCwgMTEsIDEyLCAxMywgMTQsIDE1LCAxNiwgMCwgMCwgMCwgMCwgMCwgMCwgMjUsIDI1LCAyNSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjUsIAorICAgIDI1LCAyNSwgMjUsIDI1LCAxOCwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAwLCA3LCA4LCA5LCAxMCwgMTEsIAorICAgIDEyLCAxMywgMTQsIDE1LCAxNiwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNSwgNSwgNSwgCisgICAgNTUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI1LCAyNSwgMTgsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDE4LCAxOCwgMTgsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDE4LCAKKyAgICAxOCwgNTUsIDU1LCA1NSwgNTUsIDUsIDUsIDUsIDUsIDAsIDAsIDAsIDAsIDUsIDAsIDAsIDcsIDgsIDksIDEwLCAxMSwgMTIsIAorICAgIDEzLCAxNCwgMTUsIDE2LCA1NSwgMCwgMCwgMCwgMCwgMCwgMCwgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgCisgICAgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMTgsIDE4LCAxOCwgMjUsIDI1LCAyNSwgMTgsIDE4LCAyNSwgCisgICAgMTgsIDI1LCAyNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNSwgMTgsIDE4LCAxOCwgCisgICAgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAwLCAwLCAwLCAwLCAwLCA3LCA4LCA5LCAxMCwgMTEsIDEyLCAxMywgCisgICAgMTQsIDE1LCAxNiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjUsIDE4LCAxOCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCAwLCAwLCA1NSwgNTUsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgMCwgNTUsIDU1LCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDI1LCA1NSwgMTgsIDE4LCAyNSwgMTgsIDE4LCAKKyAgICAxOCwgMTgsIDAsIDAsIDE4LCAxOCwgMCwgMCwgMTgsIDE4LCAxOCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTgsIDAsIAorICAgIDAsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMTgsIDE4LCAwLCAwLCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgCisgICAgMCwgMCwgMCwgMjUsIDI1LCAyNSwgMjUsIDI1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAxOCwgMTgsIDE4LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAKKyAgICAxOCwgMjUsIDE4LCAxOCwgMTgsIDE4LCAyNSwgMjUsIDE4LCAyNSwgMjUsIDU1LCA1NSwgNSwgNTUsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDcsIDgsIDksIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsIDE2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDE4LCAxOCwgMTgsIAorICAgIDI1LCAyNSwgMjUsIDI1LCAwLCAwLCAxOCwgMTgsIDE4LCAxOCwgMjUsIDI1LCAxOCwgMjUsIDI1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCAxOCwgMTgsIDE4LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDE4LCAxOCwgMjUsIDE4LCAyNSwgMjUsIAorICAgIDUsIDUsIDUsIDU1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA3LCA4LCA5LCAxMCwgMTEsIDEyLCAxMywgCisgICAgMTQsIDE1LCAxNiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDI1LCAxOCwgMjUsIDE4LCAxOCwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMTgsIDI1LCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCA3LCA4LCA5LCAxMCwgMTEsIDEyLCAxMywgMTQsIDE1LCAxNiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAKKyAgICAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAKKyAgICAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAKKyAgICAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDcsIDgsIDksIDEwLCAxMSwgCisgICAgMTIsIDEzLCAxNCwgMTUsIDE2LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCA1NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAKKyAgICAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgCisgICAgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIAorICAgIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAKKyAgICAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgCisgICAgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIAorICAgIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAKKyAgICAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDAsIDUsIDUsIAorICAgIDUsIDUsIDUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgMCwgNSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1LCAxNDEsIAotICAgIDE0MSwgMTQxLCAxNDEsIDE0MSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMjkyLCAyOTIsIDI5MiwgMjkyLCAyOTIsIDI5MiwgMjkyLCAyOTIsIDI5MiwgMjkyLCAyOTIsIDI5MiwgMjkyLCAyOTIsIAotICAgIDI5MiwgMjkyLCAyOTIsIDI5MiwgMjkyLCAyOTIsIDI5MiwgMjkyLCAyOTIsIDI5MiwgMjkyLCAyOTIsIDI5MiwgMjkyLCAKLSAgICAyOTIsIDI5MiwgMjkyLCAyOTIsIDI5MiwgMjkyLCAyOTIsIDI5MiwgMjkyLCAyOTIsIDI5MiwgMjkyLCAyOTMsIDI5MywgCi0gICAgMjkzLCAyOTMsIDI5MywgMjkzLCAyOTMsIDI5MywgMjkzLCAyOTMsIDI5MywgMjkzLCAyOTMsIDI5MywgMjkzLCAyOTMsIAotICAgIDI5MywgMjkzLCAyOTMsIDI5MywgMjkzLCAyOTMsIDI5MywgMjkzLCAyOTMsIDI5MywgMjkzLCAyOTMsIDI5MywgMjkzLCAKLSAgICAyOTMsIDI5MywgMjkzLCAyOTMsIDI5MywgMjkzLCAyOTMsIDI5MywgMjkzLCAyOTMsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICAwLCAwLCA3LCA4LCA5LCAxMCwgMTEsIDEyLCAxMywgMTQsIDE1LCAxNiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDcsIDgsIDksIDEwLCAxMSwgCisgICAgMTIsIDEzLCAxNCwgMTUsIDE2LCAwLCAwLCAwLCAwLCA1LCA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCA1NSwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgMCwgMCwgMjUsIDI1LCAyNSwgMjUsIDI1LCA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDAsIDU1LCA1NSwgMCwgMCwgMCwgNTUsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgNSwgMjcsIDI3LCAyNywgCi0gICAgMjcsIDI3LCAyNywgMjcsIDI3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjcsIDI3LCAyNywgMjcsIAotICAgIDI3LCAyNywgMCwgMCwgMCwgNSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAwLCAwLCAwLCA1LCAwLCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAKKyAgICAyNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMTAxLCAxMDEsIDEwMSwgMTAxLCA1LCA1LCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCA3LCA4LCA5LCAxMCwgMTEsIDEyLCAxMywgMTQsIDE1LCAxNiwgMCwgMjcsIDI3LCAyNywgMjcsIAorICAgIDI3LCAyNywgMjcsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDAsIDAsIDAsIDAsIDU1LCAKLSAgICA1NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDI1LCAyNSwgMjUsIDAsIDI1LCAKLSAgICAyNSwgMCwgMCwgMCwgMCwgMCwgMjUsIDI1LCAyNSwgMjUsIDU1LCA1NSwgNTUsIDU1LCAwLCA1NSwgNTUsIDU1LCAwLCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAwLCAwLCAyNSwgMjUsIDI1LCAwLCAwLCAwLCAwLCAyNSwgCi0gICAgMjYsIDIyLCAyMywgMjQ2LCAyNywgMjcsIDI3LCAyNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCAyNywgMjcsIDUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDAsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAyNywgMjcsIAotICAgIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAwLCAwLCAwLCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgCi0gICAgMjcsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIAorICAgIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIAorICAgIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIAorICAgIDE4LCAxOCwgMTgsIDE4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNSwgMjUsIAorICAgIDI1LCAyNSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICA1NSwgNTUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI2LCAyMiwgMjMsIDI0NiwgMjQ3LCAyNDgsIDI0OSwgMjUwLCAyNTEsIDI3LCAKLSAgICAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAKLSAgICAyNywgMjcsIDI3LCAwLCAxOCwgMjUsIDE4LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIAotICAgIDI1LCAyNSwgMjUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDAsIDAsIDAsIDAsIDI2LCAyMiwgMjMsIDI0NiwgMjQ3LCAyNDgsIAotICAgIDI0OSwgMjUwLCAyNTEsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgNywgOCwgOSwgMTAsIAotICAgIDExLCAxMiwgMTMsIDE0LCAxNSwgMTYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDI1LCAyNSwgMTgsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDE4LCAxOCwgMTgsIDI1LCAyNSwgMjUsIAotICAgIDI1LCAxOCwgMTgsIDI1LCAyNSwgNSwgNSwgMjEsIDUsIDUsIDUsIDUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA3LCA4LCA5LCAxMCwgCi0gICAgMTEsIDEyLCAxMywgMTQsIDE1LCAxNiwgMCwgMCwgMCwgMCwgMCwgMCwgMjUsIDI1LCAyNSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAKLSAgICAxOCwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAwLCA3LCA4LCA5LCAxMCwgMTEsIDEyLCAxMywgMTQsIDE1LCAKLSAgICAxNiwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjUsIDI1LCAxOCwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMTgsIDE4LCAxOCwgMjUsIDI1LCAyNSwgMjUsIDI1LCAKLSAgICAyNSwgMjUsIDI1LCAyNSwgMTgsIDE4LCA1NSwgNTUsIDU1LCA1NSwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgNywgOCwgOSwgMTAsIDExLCAxMiwgMTMsIDE0LCAxNSwgMTYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNSwgMTgsIDI1LCAxOCwgMTgsIDI1LCAyNSwgMjUsIDI1LCAyNSwgCi0gICAgMjUsIDE4LCAyNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNywgOCwgOSwgMTAsIDExLCAxMiwgMTMsIDE0LCAxNSwgMTYsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgCi0gICAgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIAotICAgIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAKLSAgICAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgCi0gICAgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIAotICAgIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAKLSAgICAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgCi0gICAgMTQxLCAxNDEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUsIDUsIDUsIDUsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDE4LCAxOCwgMTgsIDE4LCAxOCwgCi0gICAgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgCi0gICAgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgCi0gICAgMTgsIDE4LCAxOCwgMTgsIDE4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNSwgCi0gICAgMjUsIDI1LCAyNSwgOTYsIDk2LCA5NiwgOTYsIDk2LCA5NiwgOTYsIDk2LCA5NiwgOTYsIDk2LCA5NiwgOTYsIDAsIDAsIDAsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCA1LCAyNSwgMjUsIDUsIDIxLCAKKyAgICAyMSwgMjEsIDIxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NSwgNTUsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAogICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAogICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAogICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAogICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDUsIDUsIDUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDUsIDUsIDUsIDUsIDAsIDAsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDE4LCAxOCwgMjUsIDI1LCAyNSwgCi0gICAgNSwgNSwgNSwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyNSwgMjUsIAotICAgIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDUsIDUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCA1LCA1LCA1LCA1LCA1LCAKLSAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKLSAgICA1LCAyNSwgMjUsIDI1LCAyNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMjUsIDI1LCAyNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAKLSAgICAyNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIAotICAgIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAKLSAgICAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIAotICAgIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMTEzLCAKLSAgICAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgCi0gICAgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDIwLCAyMCwgMjAsIDIwLCAKLSAgICAyMCwgMjAsIDIwLCAwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIAotICAgIDIwLCAyMCwgMjAsIDIwLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgCi0gICAgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIAotICAgIDExMywgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAKLSAgICAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAxMTMsIDAsIDExMywgMTEzLCAwLCAwLCAxMTMsIDAsIDAsIAotICAgIDExMywgMTEzLCAwLCAwLCAxMTMsIDExMywgMTEzLCAxMTMsIDAsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgCi0gICAgMTEzLCAyMCwgMjAsIDIwLCAyMCwgMCwgMjAsIDAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAwLCAyMCwgMjAsIDIwLCAKLSAgICAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAKLSAgICAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgCi0gICAgMTEzLCAxMTMsIDExMywgMTEzLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgCi0gICAgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDExMywgMTEzLCAwLCAxMTMsIAotICAgIDExMywgMTEzLCAxMTMsIDAsIDAsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAwLCAxMTMsIDExMywgCi0gICAgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgCi0gICAgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMTEzLCAxMTMsIDAsIAotICAgIDExMywgMTEzLCAxMTMsIDExMywgMCwgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDAsIDExMywgMCwgMCwgMCwgMTEzLCAKLSAgICAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgCi0gICAgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDExMywgMTEzLCAKLSAgICAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgCi0gICAgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAKLSAgICAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAKLSAgICAyMCwgMjAsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgCi0gICAgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAyMCwgMjAsIAotICAgIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIAotICAgIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgCi0gICAgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIAotICAgIDExMywgMTEzLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgCi0gICAgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIAotICAgIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAKLSAgICAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIAotICAgIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDExMywgMTEzLCAKLSAgICAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgCi0gICAgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAKLSAgICAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAKLSAgICAyMCwgMjAsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgCi0gICAgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAyMCwgMjAsIAotICAgIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIAotICAgIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMCwgMCwgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAKLSAgICAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgCi0gICAgMTEzLCAxMTMsIDExMywgMTEzLCA1LCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAKLSAgICAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgNSwgMjAsIDIwLCAyMCwgMjAsIAotICAgIDIwLCAyMCwgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAKLSAgICAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCA1LCAyMCwgMjAsIAotICAgIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIAotICAgIDIwLCAyMCwgMjAsIDIwLCAyMCwgNSwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIAotICAgIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAKLSAgICAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCA1LCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgCi0gICAgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgNSwgMjAsIDIwLCAKLSAgICAyMCwgMjAsIDIwLCAyMCwgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIAotICAgIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCA1LCAKLSAgICAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAKLSAgICAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgNSwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMTEzLCAxMTMsIDExMywgCi0gICAgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIAotICAgIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCA1LCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgCi0gICAgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgCi0gICAgNSwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMTEzLCAyMCwgMCwgMCwgNywgOCwgOSwgMTAsIDExLCAxMiwgMTMsIDE0LCAKLSAgICAxNSwgMTYsIDcsIDgsIDksIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsIDE2LCA3LCA4LCA5LCAxMCwgMTEsIDEyLCAxMywgMTQsIAotICAgIDE1LCAxNiwgNywgOCwgOSwgMTAsIDExLCAxMiwgMTMsIDE0LCAxNSwgMTYsIDcsIDgsIDksIDEwLCAxMSwgMTIsIDEzLCAxNCwgCi0gICAgMTUsIDE2LCA1NSwgNTUsIDU1LCA1NSwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgNTUsIAotICAgIDU1LCAwLCA1NSwgMCwgMCwgNTUsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgMCwgNTUsIDAsIDU1LCAwLCAwLCAwLCAwLCAwLCAwLCA1NSwgMCwgMCwgMCwgMCwgNTUsIDAsIDU1LCAwLCAKLSAgICA1NSwgMCwgNTUsIDU1LCA1NSwgMCwgNTUsIDU1LCAwLCA1NSwgMCwgMCwgNTUsIDAsIDU1LCAwLCA1NSwgMCwgNTUsIDAsIAotICAgIDU1LCAwLCA1NSwgNTUsIDAsIDU1LCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDAsIDU1LCA1NSwgNTUsIDU1LCAwLCA1NSwgNTUsIDU1LCA1NSwgMCwgNTUsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCA1LCA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1LCA1LCA1LCA1LCA1LCA1LCAKLSAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKLSAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCAwLCAwLCA1LCA1LCA1LCA1LCA1LCA1LCAKLSAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKLSAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKLSAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKICAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKLSAgICA1LCAwLCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCA1LCA1LCA1LCA1LCA1LCAKLSAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKLSAgICA1LCA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNDUsIDI0NSwgMjYsIDIyLCAyMywgMjQ2LCAyNDcsIDI0OCwgMjQ5LCAKLSAgICAyNTAsIDI1MSwgMCwgMCwgMCwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgNSwgNSwgCi0gICAgNSwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCiAgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgCi0gICAgNSwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMTgsIDE4LCAyNSwgMjUsIDI1LCA1LCA1LCA1LCAxOCwgCisgICAgMTgsIDE4LCAxOCwgMTgsIDE4LCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDI1LCAyNSwgMjUsIDI1LCAyNSwgCisgICAgMjUsIDI1LCAyNSwgNSwgNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAorICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDI1LCAyNSwgCisgICAgMjUsIDI1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCAyNSwgMjUsIDI1LCA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNywgMjcsIAorICAgIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgCisgICAgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIAorICAgIDExOSwgMTE5LCAxMTksIDExOSwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIAorICAgIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAxMTksIDExOSwgMTE5LCAxMTksIAorICAgIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAKKyAgICAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDAsIAorICAgIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIAorICAgIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAKKyAgICAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAyMCwgMjAsIDIwLCAKKyAgICAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAKKyAgICAyMCwgMjAsIDIwLCAyMCwgMjAsIDExOSwgMCwgMTE5LCAxMTksIDAsIDAsIDExOSwgMCwgMCwgMTE5LCAxMTksIDAsIDAsIAorICAgIDExOSwgMTE5LCAxMTksIDExOSwgMCwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDIwLCAyMCwgCisgICAgMjAsIDIwLCAwLCAyMCwgMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIAorICAgIDIwLCAyMCwgMjAsIDIwLCAyMCwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAKKyAgICAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgCisgICAgMTE5LCAxMTksIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAKKyAgICAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMTE5LCAxMTksIDAsIDExOSwgMTE5LCAxMTksIDExOSwgCisgICAgMCwgMCwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDAsIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAKKyAgICAxMTksIDExOSwgMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgCisgICAgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAxMTksIDExOSwgMCwgMTE5LCAxMTksIDExOSwgCisgICAgMTE5LCAwLCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMCwgMTE5LCAwLCAwLCAwLCAxMTksIDExOSwgMTE5LCAxMTksIAorICAgIDExOSwgMTE5LCAxMTksIDAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgCisgICAgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIAorICAgIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAKKyAgICAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIAorICAgIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMTE5LCAKKyAgICAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgCisgICAgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDIwLCAyMCwgMjAsIDIwLCAKKyAgICAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAKKyAgICAyMCwgMjAsIDIwLCAyMCwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIAorICAgIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAKKyAgICAxMTksIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgCisgICAgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAKKyAgICAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgCisgICAgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIAorICAgIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMTE5LCAxMTksIDExOSwgCisgICAgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIAorICAgIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAKKyAgICAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAKKyAgICAyMCwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIAorICAgIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDIwLCAyMCwgMjAsIAorICAgIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIAorICAgIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAwLCAwLCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgCisgICAgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIAorICAgIDExOSwgMTE5LCAxMTksIDUsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgCisgICAgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCA1LCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAKKyAgICAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgCisgICAgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDUsIDIwLCAyMCwgMjAsIDIwLCAKKyAgICAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAKKyAgICAyMCwgMjAsIDIwLCA1LCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIAorICAgIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAKKyAgICAxMTksIDExOSwgMTE5LCAxMTksIDUsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIAorICAgIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCA1LCAyMCwgMjAsIDIwLCAyMCwgCisgICAgMjAsIDIwLCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIAorICAgIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDUsIDIwLCAyMCwgCisgICAgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgCisgICAgMjAsIDIwLCAyMCwgMjAsIDIwLCA1LCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgCisgICAgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIAorICAgIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDUsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAKKyAgICAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCA1LCAyMCwgMjAsIAorICAgIDIwLCAyMCwgMjAsIDIwLCAxMTksIDIwLCAwLCAwLCA3LCA4LCA5LCAxMCwgMTEsIDEyLCAxMywgMTQsIDE1LCAxNiwgNywgOCwgCisgICAgOSwgMTAsIDExLCAxMiwgMTMsIDE0LCAxNSwgMTYsIDcsIDgsIDksIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsIDE2LCA3LCA4LCAKKyAgICA5LCAxMCwgMTEsIDEyLCAxMywgMTQsIDE1LCAxNiwgNywgOCwgOSwgMTAsIDExLCAxMiwgMTMsIDE0LCAxNSwgMTYsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDI3LCAyNywgMjcsIAorICAgIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgMCwgNTUsIDU1LCAwLCA1NSwgMCwgMCwgNTUsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCAwLCA1NSwgNTUsIDU1LCA1NSwgMCwgNTUsIDAsIDU1LCAwLCAwLCAwLCAwLCAwLCAwLCA1NSwgMCwgMCwgCisgICAgMCwgMCwgNTUsIDAsIDU1LCAwLCA1NSwgMCwgNTUsIDU1LCA1NSwgMCwgNTUsIDU1LCAwLCA1NSwgMCwgMCwgNTUsIDAsIDU1LCAKKyAgICAwLCA1NSwgMCwgNTUsIDAsIDU1LCAwLCA1NSwgNTUsIDAsIDU1LCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgMCwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDU1LCA1NSwgNTUsIDU1LCAwLCA1NSwgNTUsIDU1LCA1NSwgMCwgNTUsIDAsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDAsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1LCA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCAwLCAwLCAKICAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKICAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKICAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKICAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKICAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKLSAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKLSAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCA1LCA1LCA1LCA1LCAwLCAwLCAwLCAKLSAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKLSAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKLSAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCA1LCA1LCA1LCA1LCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKLSAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNTIsIDI1MiwgMjYsIDIyLCAyMywgCisgICAgMjUzLCAyNTQsIDI1NSwgMjU2LCAyNTcsIDI1OCwgMjcsIDI3LCAwLCAwLCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAzMDYsIAorICAgIDMwNiwgMzA2LCAzMDYsIDMwNiwgMzA2LCAzMDYsIDMwNiwgMzA2LCAzMDYsIDMwNiwgMzA2LCAzMDYsIDMwNiwgMzA2LCAKKyAgICAzMDYsIDMwNiwgMzA2LCAzMDYsIDMwNiwgMzA2LCAzMDYsIDMwNiwgMzA2LCAzMDYsIDMwNiwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgMzA2LCAzMDYsIDMwNiwgMzA2LCAzMDYsIDMwNiwgMzA2LCAzMDYsIDMwNiwgMzA2LCAzMDYsIDMwNiwgMzA2LCAzMDYsIAorICAgIDMwNiwgMzA2LCAzMDYsIDMwNiwgMzA2LCAzMDYsIDMwNiwgMzA2LCAzMDYsIDMwNiwgMzA2LCAzMDYsIDUsIDUsIDAsIDAsIAorICAgIDAsIDAsIDMwNiwgMzA2LCAzMDYsIDMwNiwgMzA2LCAzMDYsIDMwNiwgMzA2LCAzMDYsIDMwNiwgMzA2LCAzMDYsIDMwNiwgCisgICAgMzA2LCAzMDYsIDMwNiwgMzA2LCAzMDYsIDMwNiwgMzA2LCAzMDYsIDMwNiwgMzA2LCAzMDYsIDMwNiwgMzA2LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCAwLCAwLCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCA1LCA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICAwLCAwLCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCAwLCAwLCAwLCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCAwLCAwLCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCAwLCA1LCA1LCA1LCA1LCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKICAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKICAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKLSAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCAwLCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKICAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKLSAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCAwLCAwLCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NSwgMjc0LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDI4MSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjc0LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjgxLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNzQsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyODEsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI3NCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI4MSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNzQsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjc0LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCAyNzQsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDI4MSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyODEsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI4MSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKQEAgLTI4MzQsMzEgKzMxMDIsMzMgQEAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNzQsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI3NCwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgMjgxLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCAyODEsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI4MSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjc0LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjc0LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjgxLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyODEsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI3NCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI3NCwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDI4MSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKQEAgLTI4NjksMzUgKzMxMzksMzQgQEAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyODEsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI3NCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDIxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyMSwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMjEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgCiAgICAgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgCiAgICAgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgCiAgICAgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgCiAgICAgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgCi0gICAgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgCi0gICAgMjEsIDIxLCAyMSwgMjEsIDIxLCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgCisgICAgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDI1LCAyNSwgMjUsIDI1LCAyNSwgCiAgICAgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgCiAgICAgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgCiAgICAgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgCkBAIC0yOTEwLDEzICszMTc5LDE0IEBACiAgICAgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgCiAgICAgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgCiAgICAgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgCi0gICAgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAKKyAgICAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAKKyAgICAyNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgCiAgICAgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgCiAgICAgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgCiAgICAgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgCiAgICAgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgCi0gICAgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMCwgMCwgCisgICAgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMCwgCisgICAgMCwgCiB9OwogCiAvKiBSZXR1cm5zIHRoZSBudW1lcmljIHZhbHVlIGFzIGRvdWJsZSBmb3IgVW5pY29kZSBjaGFyYWN0ZXJzCkBAIC0yOTQxLDYgKzMyMTEsNyBAQAogICAgIGNhc2UgMHgwQzc4OgogICAgIGNhc2UgMHgwQ0U2OgogICAgIGNhc2UgMHgwRDY2OgorICAgIGNhc2UgMHgwREU2OgogICAgIGNhc2UgMHgwRTUwOgogICAgIGNhc2UgMHgwRUQwOgogICAgIGNhc2UgMHgwRjIwOgpAQCAtMjk2OSw2ICszMjQwLDcgQEAKICAgICBjYXNlIDB4QThEMDoKICAgICBjYXNlIDB4QTkwMDoKICAgICBjYXNlIDB4QTlEMDoKKyAgICBjYXNlIDB4QTlGMDoKICAgICBjYXNlIDB4QUE1MDoKICAgICBjYXNlIDB4QUJGMDoKICAgICBjYXNlIDB4RjlCMjoKQEAgLTI5NzksNyArMzI1MSwxMyBAQAogICAgIGNhc2UgMHgxMTBGMDoKICAgICBjYXNlIDB4MTExMzY6CiAgICAgY2FzZSAweDExMUQwOgorICAgIGNhc2UgMHgxMTJGMDoKKyAgICBjYXNlIDB4MTE0RDA6CisgICAgY2FzZSAweDExNjUwOgogICAgIGNhc2UgMHgxMTZDMDoKKyAgICBjYXNlIDB4MTE4RTA6CisgICAgY2FzZSAweDE2QTYwOgorICAgIGNhc2UgMHgxNkI1MDoKICAgICBjYXNlIDB4MUQ3Q0U6CiAgICAgY2FzZSAweDFEN0Q4OgogICAgIGNhc2UgMHgxRDdFMjoKQEAgLTI5ODcsNiArMzI2NSw4IEBACiAgICAgY2FzZSAweDFEN0Y2OgogICAgIGNhc2UgMHgxRjEwMDoKICAgICBjYXNlIDB4MUYxMDE6CisgICAgY2FzZSAweDFGMTBCOgorICAgIGNhc2UgMHgxRjEwQzoKICAgICAgICAgcmV0dXJuIChkb3VibGUpIDAuMDsKICAgICBjYXNlIDB4MDAzMToKICAgICBjYXNlIDB4MDBCOToKQEAgLTMwMDQsNiArMzI4NCw3IEBACiAgICAgY2FzZSAweDBDN0M6CiAgICAgY2FzZSAweDBDRTc6CiAgICAgY2FzZSAweDBENjc6CisgICAgY2FzZSAweDBERTc6CiAgICAgY2FzZSAweDBFNTE6CiAgICAgY2FzZSAweDBFRDE6CiAgICAgY2FzZSAweDBGMjE6CkBAIC0zMDQ3LDYgKzMzMjgsNyBAQAogICAgIGNhc2UgMHhBOEQxOgogICAgIGNhc2UgMHhBOTAxOgogICAgIGNhc2UgMHhBOUQxOgorICAgIGNhc2UgMHhBOUYxOgogICAgIGNhc2UgMHhBQTUxOgogICAgIGNhc2UgMHhBQkYxOgogICAgIGNhc2UgMHhGRjExOgpAQCAtMzA1NSwzNCArMzMzNyw0OCBAQAogICAgIGNhc2UgMHgxMDE1ODoKICAgICBjYXNlIDB4MTAxNTk6CiAgICAgY2FzZSAweDEwMTVBOgorICAgIGNhc2UgMHgxMDJFMToKICAgICBjYXNlIDB4MTAzMjA6CiAgICAgY2FzZSAweDEwM0QxOgogICAgIGNhc2UgMHgxMDRBMToKICAgICBjYXNlIDB4MTA4NTg6CisgICAgY2FzZSAweDEwODc5OgorICAgIGNhc2UgMHgxMDhBNzoKICAgICBjYXNlIDB4MTA5MTY6CiAgICAgY2FzZSAweDEwQTQwOgogICAgIGNhc2UgMHgxMEE3RDoKKyAgICBjYXNlIDB4MTBBOUQ6CisgICAgY2FzZSAweDEwQUVCOgogICAgIGNhc2UgMHgxMEI1ODoKICAgICBjYXNlIDB4MTBCNzg6CisgICAgY2FzZSAweDEwQkE5OgogICAgIGNhc2UgMHgxMEU2MDoKICAgICBjYXNlIDB4MTEwNTI6CiAgICAgY2FzZSAweDExMDY3OgogICAgIGNhc2UgMHgxMTBGMToKICAgICBjYXNlIDB4MTExMzc6CiAgICAgY2FzZSAweDExMUQxOgorICAgIGNhc2UgMHgxMTFFMToKKyAgICBjYXNlIDB4MTEyRjE6CisgICAgY2FzZSAweDExNEQxOgorICAgIGNhc2UgMHgxMTY1MToKICAgICBjYXNlIDB4MTE2QzE6CisgICAgY2FzZSAweDExOEUxOgogICAgIGNhc2UgMHgxMjQxNToKICAgICBjYXNlIDB4MTI0MUU6CiAgICAgY2FzZSAweDEyNDJDOgogICAgIGNhc2UgMHgxMjQzNDoKICAgICBjYXNlIDB4MTI0NEY6CiAgICAgY2FzZSAweDEyNDU4OgorICAgIGNhc2UgMHgxNkE2MToKKyAgICBjYXNlIDB4MTZCNTE6CiAgICAgY2FzZSAweDFEMzYwOgogICAgIGNhc2UgMHgxRDdDRjoKICAgICBjYXNlIDB4MUQ3RDk6CiAgICAgY2FzZSAweDFEN0UzOgogICAgIGNhc2UgMHgxRDdFRDoKICAgICBjYXNlIDB4MUQ3Rjc6CisgICAgY2FzZSAweDFFOEM3OgogICAgIGNhc2UgMHgxRjEwMjoKICAgICBjYXNlIDB4MjA5MkE6CiAgICAgICAgIHJldHVybiAoZG91YmxlKSAxLjA7CkBAIC0zMTAyLDExICszMzk4LDEzIEBACiAgICAgY2FzZSAweDEwMTc1OgogICAgIGNhc2UgMHgxMDE3NjoKICAgICBjYXNlIDB4MTBFN0I6CisgICAgY2FzZSAweDEyNDY0OgogICAgICAgICByZXR1cm4gKGRvdWJsZSkgMS4wLzIuMDsKICAgICBjYXNlIDB4MjE1MzoKICAgICBjYXNlIDB4MTBFN0Q6CiAgICAgY2FzZSAweDEyNDVBOgogICAgIGNhc2UgMHgxMjQ1RDoKKyAgICBjYXNlIDB4MTI0NjU6CiAgICAgICAgIHJldHVybiAoZG91YmxlKSAxLjAvMy4wOwogICAgIGNhc2UgMHgwMEJDOgogICAgIGNhc2UgMHgwOUY3OgpAQCAtMzExNCw5ICszNDEyLDExIEBACiAgICAgY2FzZSAweDBENzM6CiAgICAgY2FzZSAweEE4MzA6CiAgICAgY2FzZSAweDEwMTQwOgorICAgIGNhc2UgMHgxMDE4QjoKICAgICBjYXNlIDB4MTBFN0M6CiAgICAgY2FzZSAweDEyNDYwOgogICAgIGNhc2UgMHgxMjQ2MjoKKyAgICBjYXNlIDB4MTI0NjM6CiAgICAgICAgIHJldHVybiAoZG91YmxlKSAxLjAvNC4wOwogICAgIGNhc2UgMHgyMTU1OgogICAgICAgICByZXR1cm4gKGRvdWJsZSkgMS4wLzUuMDsKQEAgLTMxNjMsMTUgKzM0NjMsMjQgQEAKICAgICBjYXNlIDB4MTAxNjI6CiAgICAgY2FzZSAweDEwMTYzOgogICAgIGNhc2UgMHgxMDE2NDoKKyAgICBjYXNlIDB4MTAyRUE6CiAgICAgY2FzZSAweDEwMzIyOgogICAgIGNhc2UgMHgxMDNEMzoKICAgICBjYXNlIDB4MTA4NUI6CisgICAgY2FzZSAweDEwODdFOgorICAgIGNhc2UgMHgxMDhBRDoKICAgICBjYXNlIDB4MTA5MTc6CiAgICAgY2FzZSAweDEwQTQ0OgorICAgIGNhc2UgMHgxMEE5RToKKyAgICBjYXNlIDB4MTBBRUQ6CiAgICAgY2FzZSAweDEwQjVDOgogICAgIGNhc2UgMHgxMEI3QzoKKyAgICBjYXNlIDB4MTBCQUQ6CiAgICAgY2FzZSAweDEwRTY5OgogICAgIGNhc2UgMHgxMTA1QjoKKyAgICBjYXNlIDB4MTExRUE6CisgICAgY2FzZSAweDExOEVBOgorICAgIGNhc2UgMHgxNkI1QjoKICAgICBjYXNlIDB4MUQzNjk6CiAgICAgICAgIHJldHVybiAoZG91YmxlKSAxMC4wOwogICAgIGNhc2UgMHgwQkYxOgpAQCAtMzE4NiwxNCArMzQ5NSwyMCBAQAogICAgIGNhc2UgMHgxMDE0QjoKICAgICBjYXNlIDB4MTAxNTI6CiAgICAgY2FzZSAweDEwMTZBOgorICAgIGNhc2UgMHgxMDJGMzoKICAgICBjYXNlIDB4MTAzRDU6CiAgICAgY2FzZSAweDEwODVEOgorICAgIGNhc2UgMHgxMDhBRjoKICAgICBjYXNlIDB4MTA5MTk6CiAgICAgY2FzZSAweDEwQTQ2OgorICAgIGNhc2UgMHgxMEFFRjoKICAgICBjYXNlIDB4MTBCNUU6CiAgICAgY2FzZSAweDEwQjdFOgorICAgIGNhc2UgMHgxMEJBRjoKICAgICBjYXNlIDB4MTBFNzI6CiAgICAgY2FzZSAweDExMDY0OgorICAgIGNhc2UgMHgxMTFGMzoKKyAgICBjYXNlIDB4MTZCNUM6CiAgICAgICAgIHJldHVybiAoZG91YmxlKSAxMDAuMDsKICAgICBjYXNlIDB4MEJGMjoKICAgICBjYXNlIDB4MEQ3MjoKQEAgLTMyMTIsNiArMzUyNyw3IEBACiAgICAgY2FzZSAweDEwQjVGOgogICAgIGNhc2UgMHgxMEI3RjoKICAgICBjYXNlIDB4MTEwNjU6CisgICAgY2FzZSAweDExMUY0OgogICAgICAgICByZXR1cm4gKGRvdWJsZSkgMTAwMC4wOwogICAgIGNhc2UgMHgxMzdDOgogICAgIGNhc2UgMHgyMTgyOgpAQCAtMzIyMCwxMyArMzUzNiwyMCBAQAogICAgIGNhc2UgMHgxMDEyQjoKICAgICBjYXNlIDB4MTAxNTU6CiAgICAgY2FzZSAweDEwODVGOgorICAgIGNhc2UgMHgxNkI1RDoKICAgICAgICAgcmV0dXJuIChkb3VibGUpIDEwMDAwLjA7CiAgICAgY2FzZSAweDIxODg6CiAgICAgICAgIHJldHVybiAoZG91YmxlKSAxMDAwMDAuMDsKKyAgICBjYXNlIDB4MTZCNUU6CisgICAgICAgIHJldHVybiAoZG91YmxlKSAxMDAwMDAwLjA7CiAgICAgY2FzZSAweDRFQkY6CiAgICAgY2FzZSAweDUxMDQ6CisgICAgY2FzZSAweDE2QjVGOgogICAgICAgICByZXR1cm4gKGRvdWJsZSkgMTAwMDAwMDAwLjA7CisgICAgY2FzZSAweDE2QjYwOgorICAgICAgICByZXR1cm4gKGRvdWJsZSkgMTAwMDAwMDAwMDAuMDsKICAgICBjYXNlIDB4NTE0NjoKKyAgICBjYXNlIDB4MTZCNjE6CiAgICAgICAgIHJldHVybiAoZG91YmxlKSAxMDAwMDAwMDAwMDAwLjA7CiAgICAgY2FzZSAweDIxNkE6CiAgICAgY2FzZSAweDIxN0E6CkBAIC0zMzA1LDYgKzM2MjgsNyBAQAogICAgIGNhc2UgMHgwQzdEOgogICAgIGNhc2UgMHgwQ0U4OgogICAgIGNhc2UgMHgwRDY4OgorICAgIGNhc2UgMHgwREU4OgogICAgIGNhc2UgMHgwRTUyOgogICAgIGNhc2UgMHgwRUQyOgogICAgIGNhc2UgMHgwRjIyOgpAQCAtMzM0OSw2ICszNjczLDcgQEAKICAgICBjYXNlIDB4QThEMjoKICAgICBjYXNlIDB4QTkwMjoKICAgICBjYXNlIDB4QTlEMjoKKyAgICBjYXNlIDB4QTlGMjoKICAgICBjYXNlIDB4QUE1MjoKICAgICBjYXNlIDB4QUJGMjoKICAgICBjYXNlIDB4Rjk3ODoKQEAgLTMzNTgsMjAgKzM2ODMsMjkgQEAKICAgICBjYXNlIDB4MTAxNUM6CiAgICAgY2FzZSAweDEwMTVEOgogICAgIGNhc2UgMHgxMDE1RToKKyAgICBjYXNlIDB4MTAyRTI6CiAgICAgY2FzZSAweDEwM0QyOgogICAgIGNhc2UgMHgxMDRBMjoKICAgICBjYXNlIDB4MTA4NTk6CisgICAgY2FzZSAweDEwODdBOgorICAgIGNhc2UgMHgxMDhBODoKICAgICBjYXNlIDB4MTA5MUE6CiAgICAgY2FzZSAweDEwQTQxOgogICAgIGNhc2UgMHgxMEI1OToKICAgICBjYXNlIDB4MTBCNzk6CisgICAgY2FzZSAweDEwQkFBOgogICAgIGNhc2UgMHgxMEU2MToKICAgICBjYXNlIDB4MTEwNTM6CiAgICAgY2FzZSAweDExMDY4OgogICAgIGNhc2UgMHgxMTBGMjoKICAgICBjYXNlIDB4MTExMzg6CiAgICAgY2FzZSAweDExMUQyOgorICAgIGNhc2UgMHgxMTFFMjoKKyAgICBjYXNlIDB4MTEyRjI6CisgICAgY2FzZSAweDExNEQyOgorICAgIGNhc2UgMHgxMTY1MjoKICAgICBjYXNlIDB4MTE2QzI6CisgICAgY2FzZSAweDExOEUyOgogICAgIGNhc2UgMHgxMjQwMDoKICAgICBjYXNlIDB4MTI0MTY6CiAgICAgY2FzZSAweDEyNDFGOgpAQCAtMzM4MiwxMiArMzcxNiwxNSBAQAogICAgIGNhc2UgMHgxMjQ1MDoKICAgICBjYXNlIDB4MTI0NTY6CiAgICAgY2FzZSAweDEyNDU5OgorICAgIGNhc2UgMHgxNkE2MjoKKyAgICBjYXNlIDB4MTZCNTI6CiAgICAgY2FzZSAweDFEMzYxOgogICAgIGNhc2UgMHgxRDdEMDoKICAgICBjYXNlIDB4MUQ3REE6CiAgICAgY2FzZSAweDFEN0U0OgogICAgIGNhc2UgMHgxRDdFRToKICAgICBjYXNlIDB4MUQ3Rjg6CisgICAgY2FzZSAweDFFOEM4OgogICAgIGNhc2UgMHgxRjEwMzoKICAgICBjYXNlIDB4MjIzOTA6CiAgICAgICAgIHJldHVybiAoZG91YmxlKSAyLjA7CkBAIC0zMzk2LDYgKzM3MzMsNyBAQAogICAgIGNhc2UgMHgxMEU3RToKICAgICBjYXNlIDB4MTI0NUI6CiAgICAgY2FzZSAweDEyNDVFOgorICAgIGNhc2UgMHgxMjQ2NjoKICAgICAgICAgcmV0dXJuIChkb3VibGUpIDIuMC8zLjA7CiAgICAgY2FzZSAweDIxNTY6CiAgICAgICAgIHJldHVybiAoZG91YmxlKSAyLjAvNS4wOwpAQCAtMzQwOSwxNyArMzc0NywyNiBAQAogICAgIGNhc2UgMHg1MzQ0OgogICAgIGNhc2UgMHg1RUZGOgogICAgIGNhc2UgMHgxMDExMToKKyAgICBjYXNlIDB4MTAyRUI6CiAgICAgY2FzZSAweDEwM0Q0OgogICAgIGNhc2UgMHgxMDg1QzoKKyAgICBjYXNlIDB4MTA4N0Y6CisgICAgY2FzZSAweDEwOEFFOgogICAgIGNhc2UgMHgxMDkxODoKICAgICBjYXNlIDB4MTBBNDU6CisgICAgY2FzZSAweDEwQTlGOgorICAgIGNhc2UgMHgxMEFFRToKICAgICBjYXNlIDB4MTBCNUQ6CiAgICAgY2FzZSAweDEwQjdEOgorICAgIGNhc2UgMHgxMEJBRToKICAgICBjYXNlIDB4MTBFNkE6CiAgICAgY2FzZSAweDExMDVDOgorICAgIGNhc2UgMHgxMTFFQjoKKyAgICBjYXNlIDB4MTE4RUI6CiAgICAgY2FzZSAweDFEMzZBOgogICAgICAgICByZXR1cm4gKGRvdWJsZSkgMjAuMDsKICAgICBjYXNlIDB4MTAxMUE6CisgICAgY2FzZSAweDEwMkY0OgogICAgIGNhc2UgMHgxMEU3MzoKICAgICAgICAgcmV0dXJuIChkb3VibGUpIDIwMC4wOwogICAgIGNhc2UgMHgxMDEyMzoKQEAgLTM0NjIsNiArMzgwOSw3IEBACiAgICAgY2FzZSAweDBDN0U6CiAgICAgY2FzZSAweDBDRTk6CiAgICAgY2FzZSAweDBENjk6CisgICAgY2FzZSAweDBERTk6CiAgICAgY2FzZSAweDBFNTM6CiAgICAgY2FzZSAweDBFRDM6CiAgICAgY2FzZSAweDBGMjM6CkBAIC0zNTA1LDI0ICszODUzLDM0IEBACiAgICAgY2FzZSAweEE4RDM6CiAgICAgY2FzZSAweEE5MDM6CiAgICAgY2FzZSAweEE5RDM6CisgICAgY2FzZSAweEE5RjM6CiAgICAgY2FzZSAweEFBNTM6CiAgICAgY2FzZSAweEFCRjM6CiAgICAgY2FzZSAweEY5NkI6CiAgICAgY2FzZSAweEZGMTM6CiAgICAgY2FzZSAweDEwMTA5OgorICAgIGNhc2UgMHgxMDJFMzoKICAgICBjYXNlIDB4MTA0QTM6CiAgICAgY2FzZSAweDEwODVBOgorICAgIGNhc2UgMHgxMDg3QjoKKyAgICBjYXNlIDB4MTA4QTk6CiAgICAgY2FzZSAweDEwOTFCOgogICAgIGNhc2UgMHgxMEE0MjoKICAgICBjYXNlIDB4MTBCNUE6CiAgICAgY2FzZSAweDEwQjdBOgorICAgIGNhc2UgMHgxMEJBQjoKICAgICBjYXNlIDB4MTBFNjI6CiAgICAgY2FzZSAweDExMDU0OgogICAgIGNhc2UgMHgxMTA2OToKICAgICBjYXNlIDB4MTEwRjM6CiAgICAgY2FzZSAweDExMTM5OgogICAgIGNhc2UgMHgxMTFEMzoKKyAgICBjYXNlIDB4MTExRTM6CisgICAgY2FzZSAweDExMkYzOgorICAgIGNhc2UgMHgxMTREMzoKKyAgICBjYXNlIDB4MTE2NTM6CiAgICAgY2FzZSAweDExNkMzOgorICAgIGNhc2UgMHgxMThFMzoKICAgICBjYXNlIDB4MTI0MDE6CiAgICAgY2FzZSAweDEyNDA4OgogICAgIGNhc2UgMHgxMjQxNzoKQEAgLTM1MzgsMTIgKzM4OTYsMTUgQEAKICAgICBjYXNlIDB4MTI0NEI6CiAgICAgY2FzZSAweDEyNDUxOgogICAgIGNhc2UgMHgxMjQ1NzoKKyAgICBjYXNlIDB4MTZBNjM6CisgICAgY2FzZSAweDE2QjUzOgogICAgIGNhc2UgMHgxRDM2MjoKICAgICBjYXNlIDB4MUQ3RDE6CiAgICAgY2FzZSAweDFEN0RCOgogICAgIGNhc2UgMHgxRDdFNToKICAgICBjYXNlIDB4MUQ3RUY6CiAgICAgY2FzZSAweDFEN0Y5OgorICAgIGNhc2UgMHgxRThDOToKICAgICBjYXNlIDB4MUYxMDQ6CiAgICAgY2FzZSAweDIwQUZEOgogICAgIGNhc2UgMHgyMEIxOToKQEAgLTM1NzQsMTMgKzM5MzUsMTcgQEAKICAgICBjYXNlIDB4NTM0NToKICAgICBjYXNlIDB4MTAxMTI6CiAgICAgY2FzZSAweDEwMTY1OgorICAgIGNhc2UgMHgxMDJFQzoKICAgICBjYXNlIDB4MTBFNkI6CiAgICAgY2FzZSAweDExMDVEOgorICAgIGNhc2UgMHgxMTFFQzoKKyAgICBjYXNlIDB4MTE4RUM6CiAgICAgY2FzZSAweDFEMzZCOgogICAgIGNhc2UgMHgyMDk4MzoKICAgICAgICAgcmV0dXJuIChkb3VibGUpIDMwLjA7CiAgICAgY2FzZSAweDEwMTFCOgogICAgIGNhc2UgMHgxMDE2QjoKKyAgICBjYXNlIDB4MTAyRjU6CiAgICAgY2FzZSAweDEwRTc0OgogICAgICAgICByZXR1cm4gKGRvdWJsZSkgMzAwLjA7CiAgICAgY2FzZSAweDEwMTI0OgpAQCAtMzYxOCw2ICszOTgzLDcgQEAKICAgICBjYXNlIDB4MEM2QToKICAgICBjYXNlIDB4MENFQToKICAgICBjYXNlIDB4MEQ2QToKKyAgICBjYXNlIDB4MERFQToKICAgICBjYXNlIDB4MEU1NDoKICAgICBjYXNlIDB4MEVENDoKICAgICBjYXNlIDB4MEYyNDoKQEAgLTM2NTgsMjEgKzQwMjQsMzIgQEAKICAgICBjYXNlIDB4QThENDoKICAgICBjYXNlIDB4QTkwNDoKICAgICBjYXNlIDB4QTlENDoKKyAgICBjYXNlIDB4QTlGNDoKICAgICBjYXNlIDB4QUE1NDoKICAgICBjYXNlIDB4QUJGNDoKICAgICBjYXNlIDB4RkYxNDoKICAgICBjYXNlIDB4MTAxMEE6CisgICAgY2FzZSAweDEwMkU0OgogICAgIGNhc2UgMHgxMDRBNDoKKyAgICBjYXNlIDB4MTA4N0M6CisgICAgY2FzZSAweDEwOEFBOgorICAgIGNhc2UgMHgxMDhBQjoKICAgICBjYXNlIDB4MTBBNDM6CiAgICAgY2FzZSAweDEwQjVCOgogICAgIGNhc2UgMHgxMEI3QjoKKyAgICBjYXNlIDB4MTBCQUM6CiAgICAgY2FzZSAweDEwRTYzOgogICAgIGNhc2UgMHgxMTA1NToKICAgICBjYXNlIDB4MTEwNkE6CiAgICAgY2FzZSAweDExMEY0OgogICAgIGNhc2UgMHgxMTEzQToKICAgICBjYXNlIDB4MTExRDQ6CisgICAgY2FzZSAweDExMUU0OgorICAgIGNhc2UgMHgxMTJGNDoKKyAgICBjYXNlIDB4MTE0RDQ6CisgICAgY2FzZSAweDExNjU0OgogICAgIGNhc2UgMHgxMTZDNDoKKyAgICBjYXNlIDB4MTE4RTQ6CiAgICAgY2FzZSAweDEyNDAyOgogICAgIGNhc2UgMHgxMjQwOToKICAgICBjYXNlIDB4MTI0MEY6CkBAIC0zNjg4LDEyICs0MDY1LDE2IEBACiAgICAgY2FzZSAweDEyNDRDOgogICAgIGNhc2UgMHgxMjQ1MjoKICAgICBjYXNlIDB4MTI0NTM6CisgICAgY2FzZSAweDEyNDY5OgorICAgIGNhc2UgMHgxNkE2NDoKKyAgICBjYXNlIDB4MTZCNTQ6CiAgICAgY2FzZSAweDFEMzYzOgogICAgIGNhc2UgMHgxRDdEMjoKICAgICBjYXNlIDB4MUQ3REM6CiAgICAgY2FzZSAweDFEN0U2OgogICAgIGNhc2UgMHgxRDdGMDoKICAgICBjYXNlIDB4MUQ3RkE6CisgICAgY2FzZSAweDFFOENBOgogICAgIGNhc2UgMHgxRjEwNToKICAgICBjYXNlIDB4MjAwNjQ6CiAgICAgY2FzZSAweDIwMEUyOgpAQCAtMzcwNiwxMyArNDA4NywxOCBAQAogICAgIGNhc2UgMHgzMkI1OgogICAgIGNhc2UgMHg1MzRDOgogICAgIGNhc2UgMHgxMDExMzoKKyAgICBjYXNlIDB4MTAyRUQ6CiAgICAgY2FzZSAweDEwRTZDOgogICAgIGNhc2UgMHgxMTA1RToKKyAgICBjYXNlIDB4MTExRUQ6CisgICAgY2FzZSAweDExOEVEOgorICAgIGNhc2UgMHgxMjQ2NzoKICAgICBjYXNlIDB4MUQzNkM6CiAgICAgY2FzZSAweDIwOThDOgogICAgIGNhc2UgMHgyMDk5QzoKICAgICAgICAgcmV0dXJuIChkb3VibGUpIDQwLjA7CiAgICAgY2FzZSAweDEwMTFDOgorICAgIGNhc2UgMHgxMDJGNjoKICAgICBjYXNlIDB4MTBFNzU6CiAgICAgICAgIHJldHVybiAoZG91YmxlKSA0MDAuMDsKICAgICBjYXNlIDB4MTAxMjU6CkBAIC0zNzUyLDYgKzQxMzgsNyBAQAogICAgIGNhc2UgMHgwQzZCOgogICAgIGNhc2UgMHgwQ0VCOgogICAgIGNhc2UgMHgwRDZCOgorICAgIGNhc2UgMHgwREVCOgogICAgIGNhc2UgMHgwRTU1OgogICAgIGNhc2UgMHgwRUQ1OgogICAgIGNhc2UgMHgwRjI1OgpAQCAtMzc5Miw2ICs0MTc5LDcgQEAKICAgICBjYXNlIDB4QThENToKICAgICBjYXNlIDB4QTkwNToKICAgICBjYXNlIDB4QTlENToKKyAgICBjYXNlIDB4QTlGNToKICAgICBjYXNlIDB4QUE1NToKICAgICBjYXNlIDB4QUJGNToKICAgICBjYXNlIDB4RkYxNToKQEAgLTM4MDEsMTUgKzQxODksMjQgQEAKICAgICBjYXNlIDB4MTAxNEY6CiAgICAgY2FzZSAweDEwMTVGOgogICAgIGNhc2UgMHgxMDE3MzoKKyAgICBjYXNlIDB4MTAyRTU6CiAgICAgY2FzZSAweDEwMzIxOgogICAgIGNhc2UgMHgxMDRBNToKKyAgICBjYXNlIDB4MTA4N0Q6CisgICAgY2FzZSAweDEwOEFDOgorICAgIGNhc2UgMHgxMEFFQzoKICAgICBjYXNlIDB4MTBFNjQ6CiAgICAgY2FzZSAweDExMDU2OgogICAgIGNhc2UgMHgxMTA2QjoKICAgICBjYXNlIDB4MTEwRjU6CiAgICAgY2FzZSAweDExMTNCOgogICAgIGNhc2UgMHgxMTFENToKKyAgICBjYXNlIDB4MTExRTU6CisgICAgY2FzZSAweDExMkY1OgorICAgIGNhc2UgMHgxMTRENToKKyAgICBjYXNlIDB4MTE2NTU6CiAgICAgY2FzZSAweDExNkM1OgorICAgIGNhc2UgMHgxMThFNToKICAgICBjYXNlIDB4MTI0MDM6CiAgICAgY2FzZSAweDEyNDBBOgogICAgIGNhc2UgMHgxMjQxMDoKQEAgLTM4MjEsMTIgKzQyMTgsMTYgQEAKICAgICBjYXNlIDB4MTI0NEQ6CiAgICAgY2FzZSAweDEyNDU0OgogICAgIGNhc2UgMHgxMjQ1NToKKyAgICBjYXNlIDB4MTI0NkE6CisgICAgY2FzZSAweDE2QTY1OgorICAgIGNhc2UgMHgxNkI1NToKICAgICBjYXNlIDB4MUQzNjQ6CiAgICAgY2FzZSAweDFEN0QzOgogICAgIGNhc2UgMHgxRDdERDoKICAgICBjYXNlIDB4MUQ3RTc6CiAgICAgY2FzZSAweDFEN0YxOgogICAgIGNhc2UgMHgxRDdGQjoKKyAgICBjYXNlIDB4MUU4Q0I6CiAgICAgY2FzZSAweDFGMTA2OgogICAgIGNhc2UgMHgyMDEyMToKICAgICAgICAgcmV0dXJuIChkb3VibGUpIDUuMDsKQEAgLTM4NTIsMTAgKzQyNTMsMTQgQEAKICAgICBjYXNlIDB4MTAxNjg6CiAgICAgY2FzZSAweDEwMTY5OgogICAgIGNhc2UgMHgxMDE3NDoKKyAgICBjYXNlIDB4MTAyRUU6CiAgICAgY2FzZSAweDEwMzIzOgogICAgIGNhc2UgMHgxMEE3RToKICAgICBjYXNlIDB4MTBFNkQ6CiAgICAgY2FzZSAweDExMDVGOgorICAgIGNhc2UgMHgxMTFFRToKKyAgICBjYXNlIDB4MTE4RUU6CisgICAgY2FzZSAweDEyNDY4OgogICAgIGNhc2UgMHgxRDM2RDoKICAgICAgICAgcmV0dXJuIChkb3VibGUpIDUwLjA7CiAgICAgY2FzZSAweDIxNkU6CkBAIC0zODY5LDYgKzQyNzQsNyBAQAogICAgIGNhc2UgMHgxMDE2RToKICAgICBjYXNlIDB4MTAxNkY6CiAgICAgY2FzZSAweDEwMTcwOgorICAgIGNhc2UgMHgxMDJGNzoKICAgICBjYXNlIDB4MTBFNzY6CiAgICAgICAgIHJldHVybiAoZG91YmxlKSA1MDAuMDsKICAgICBjYXNlIDB4MjE4MToKQEAgLTM4OTUsNiArNDMwMSw3IEBACiAgICAgY2FzZSAweDBDNkM6CiAgICAgY2FzZSAweDBDRUM6CiAgICAgY2FzZSAweDBENkM6CisgICAgY2FzZSAweDBERUM6CiAgICAgY2FzZSAweDBFNTY6CiAgICAgY2FzZSAweDBFRDY6CiAgICAgY2FzZSAweDBGMjY6CkBAIC0zOTM1LDEyICs0MzQyLDE0IEBACiAgICAgY2FzZSAweEE4RDY6CiAgICAgY2FzZSAweEE5MDY6CiAgICAgY2FzZSAweEE5RDY6CisgICAgY2FzZSAweEE5RjY6CiAgICAgY2FzZSAweEFBNTY6CiAgICAgY2FzZSAweEFCRjY6CiAgICAgY2FzZSAweEY5RDE6CiAgICAgY2FzZSAweEY5RDM6CiAgICAgY2FzZSAweEZGMTY6CiAgICAgY2FzZSAweDEwMTBDOgorICAgIGNhc2UgMHgxMDJFNjoKICAgICBjYXNlIDB4MTA0QTY6CiAgICAgY2FzZSAweDEwRTY1OgogICAgIGNhc2UgMHgxMTA1NzoKQEAgLTM5NDgsNyArNDM1NywxMiBAQAogICAgIGNhc2UgMHgxMTBGNjoKICAgICBjYXNlIDB4MTExM0M6CiAgICAgY2FzZSAweDExMUQ2OgorICAgIGNhc2UgMHgxMTFFNjoKKyAgICBjYXNlIDB4MTEyRjY6CisgICAgY2FzZSAweDExNEQ2OgorICAgIGNhc2UgMHgxMTY1NjoKICAgICBjYXNlIDB4MTE2QzY6CisgICAgY2FzZSAweDExOEU2OgogICAgIGNhc2UgMHgxMjQwNDoKICAgICBjYXNlIDB4MTI0MEI6CiAgICAgY2FzZSAweDEyNDExOgpAQCAtMzk1NiwyMyArNDM3MCwzMSBAQAogICAgIGNhc2UgMHgxMjQyODoKICAgICBjYXNlIDB4MTI0NDA6CiAgICAgY2FzZSAweDEyNDRFOgorICAgIGNhc2UgMHgxMjQ2QjoKKyAgICBjYXNlIDB4MTZBNjY6CisgICAgY2FzZSAweDE2QjU2OgogICAgIGNhc2UgMHgxRDM2NToKICAgICBjYXNlIDB4MUQ3RDQ6CiAgICAgY2FzZSAweDFEN0RFOgogICAgIGNhc2UgMHgxRDdFODoKICAgICBjYXNlIDB4MUQ3RjI6CiAgICAgY2FzZSAweDFEN0ZDOgorICAgIGNhc2UgMHgxRThDQzoKICAgICBjYXNlIDB4MUYxMDc6CiAgICAgY2FzZSAweDIwQUVBOgogICAgICAgICByZXR1cm4gKGRvdWJsZSkgNi4wOwogICAgIGNhc2UgMHgxMzc3OgogICAgIGNhc2UgMHgzMjREOgogICAgIGNhc2UgMHgxMDExNToKKyAgICBjYXNlIDB4MTAyRUY6CiAgICAgY2FzZSAweDEwRTZFOgogICAgIGNhc2UgMHgxMTA2MDoKKyAgICBjYXNlIDB4MTExRUY6CisgICAgY2FzZSAweDExOEVGOgogICAgIGNhc2UgMHgxRDM2RToKICAgICAgICAgcmV0dXJuIChkb3VibGUpIDYwLjA7CiAgICAgY2FzZSAweDEwMTFFOgorICAgIGNhc2UgMHgxMDJGODoKICAgICBjYXNlIDB4MTBFNzc6CiAgICAgICAgIHJldHVybiAoZG91YmxlKSA2MDAuMDsKICAgICBjYXNlIDB4MTAxMjc6CkBAIC0zOTkyLDYgKzQ0MTQsNyBAQAogICAgIGNhc2UgMHgwQzZEOgogICAgIGNhc2UgMHgwQ0VEOgogICAgIGNhc2UgMHgwRDZEOgorICAgIGNhc2UgMHgwREVEOgogICAgIGNhc2UgMHgwRTU3OgogICAgIGNhc2UgMHgwRUQ3OgogICAgIGNhc2UgMHgwRjI3OgpAQCAtNDAzMiwxMCArNDQ1NSwxMiBAQAogICAgIGNhc2UgMHhBOEQ3OgogICAgIGNhc2UgMHhBOTA3OgogICAgIGNhc2UgMHhBOUQ3OgorICAgIGNhc2UgMHhBOUY3OgogICAgIGNhc2UgMHhBQTU3OgogICAgIGNhc2UgMHhBQkY3OgogICAgIGNhc2UgMHhGRjE3OgogICAgIGNhc2UgMHgxMDEwRDoKKyAgICBjYXNlIDB4MTAyRTc6CiAgICAgY2FzZSAweDEwNEE3OgogICAgIGNhc2UgMHgxMEU2NjoKICAgICBjYXNlIDB4MTEwNTg6CkBAIC00MDQzLDcgKzQ0NjgsMTIgQEAKICAgICBjYXNlIDB4MTEwRjc6CiAgICAgY2FzZSAweDExMTNEOgogICAgIGNhc2UgMHgxMTFENzoKKyAgICBjYXNlIDB4MTExRTc6CisgICAgY2FzZSAweDExMkY3OgorICAgIGNhc2UgMHgxMTRENzoKKyAgICBjYXNlIDB4MTE2NTc6CiAgICAgY2FzZSAweDExNkM3OgorICAgIGNhc2UgMHgxMThFNzoKICAgICBjYXNlIDB4MTI0MDU6CiAgICAgY2FzZSAweDEyNDBDOgogICAgIGNhc2UgMHgxMjQxMjoKQEAgLTQwNTIsMTIgKzQ0ODIsMTYgQEAKICAgICBjYXNlIDB4MTI0NDE6CiAgICAgY2FzZSAweDEyNDQyOgogICAgIGNhc2UgMHgxMjQ0MzoKKyAgICBjYXNlIDB4MTI0NkM6CisgICAgY2FzZSAweDE2QTY3OgorICAgIGNhc2UgMHgxNkI1NzoKICAgICBjYXNlIDB4MUQzNjY6CiAgICAgY2FzZSAweDFEN0Q1OgogICAgIGNhc2UgMHgxRDdERjoKICAgICBjYXNlIDB4MUQ3RTk6CiAgICAgY2FzZSAweDFEN0YzOgogICAgIGNhc2UgMHgxRDdGRDoKKyAgICBjYXNlIDB4MUU4Q0Q6CiAgICAgY2FzZSAweDFGMTA4OgogICAgIGNhc2UgMHgyMDAwMToKICAgICAgICAgcmV0dXJuIChkb3VibGUpIDcuMDsKQEAgLTQwNjgsMTEgKzQ1MDIsMTUgQEAKICAgICBjYXNlIDB4MTM3ODoKICAgICBjYXNlIDB4MzI0RToKICAgICBjYXNlIDB4MTAxMTY6CisgICAgY2FzZSAweDEwMkYwOgogICAgIGNhc2UgMHgxMEU2RjoKICAgICBjYXNlIDB4MTEwNjE6CisgICAgY2FzZSAweDExMUYwOgorICAgIGNhc2UgMHgxMThGMDoKICAgICBjYXNlIDB4MUQzNkY6CiAgICAgICAgIHJldHVybiAoZG91YmxlKSA3MC4wOwogICAgIGNhc2UgMHgxMDExRjoKKyAgICBjYXNlIDB4MTAyRjk6CiAgICAgY2FzZSAweDEwRTc4OgogICAgICAgICByZXR1cm4gKGRvdWJsZSkgNzAwLjA7CiAgICAgY2FzZSAweDEwMTI4OgpAQCAtNDA5Miw2ICs0NTMwLDcgQEAKICAgICBjYXNlIDB4MEM2RToKICAgICBjYXNlIDB4MENFRToKICAgICBjYXNlIDB4MEQ2RToKKyAgICBjYXNlIDB4MERFRToKICAgICBjYXNlIDB4MEU1ODoKICAgICBjYXNlIDB4MEVEODoKICAgICBjYXNlIDB4MEYyODoKQEAgLTQxMzAsMTAgKzQ1NjksMTIgQEAKICAgICBjYXNlIDB4QThEODoKICAgICBjYXNlIDB4QTkwODoKICAgICBjYXNlIDB4QTlEODoKKyAgICBjYXNlIDB4QTlGODoKICAgICBjYXNlIDB4QUE1ODoKICAgICBjYXNlIDB4QUJGODoKICAgICBjYXNlIDB4RkYxODoKICAgICBjYXNlIDB4MTAxMEU6CisgICAgY2FzZSAweDEwMkU4OgogICAgIGNhc2UgMHgxMDRBODoKICAgICBjYXNlIDB4MTBFNjc6CiAgICAgY2FzZSAweDExMDU5OgpAQCAtNDE0MSw3ICs0NTgyLDEyIEBACiAgICAgY2FzZSAweDExMEY4OgogICAgIGNhc2UgMHgxMTEzRToKICAgICBjYXNlIDB4MTExRDg6CisgICAgY2FzZSAweDExMUU4OgorICAgIGNhc2UgMHgxMTJGODoKKyAgICBjYXNlIDB4MTE0RDg6CisgICAgY2FzZSAweDExNjU4OgogICAgIGNhc2UgMHgxMTZDODoKKyAgICBjYXNlIDB4MTE4RTg6CiAgICAgY2FzZSAweDEyNDA2OgogICAgIGNhc2UgMHgxMjQwRDoKICAgICBjYXNlIDB4MTI0MTM6CkBAIC00MTQ5LDIyICs0NTk1LDMwIEBACiAgICAgY2FzZSAweDEyNDJBOgogICAgIGNhc2UgMHgxMjQ0NDoKICAgICBjYXNlIDB4MTI0NDU6CisgICAgY2FzZSAweDEyNDZEOgorICAgIGNhc2UgMHgxNkE2ODoKKyAgICBjYXNlIDB4MTZCNTg6CiAgICAgY2FzZSAweDFEMzY3OgogICAgIGNhc2UgMHgxRDdENjoKICAgICBjYXNlIDB4MUQ3RTA6CiAgICAgY2FzZSAweDFEN0VBOgogICAgIGNhc2UgMHgxRDdGNDoKICAgICBjYXNlIDB4MUQ3RkU6CisgICAgY2FzZSAweDFFOENFOgogICAgIGNhc2UgMHgxRjEwOToKICAgICAgICAgcmV0dXJuIChkb3VibGUpIDguMDsKICAgICBjYXNlIDB4MTM3OToKICAgICBjYXNlIDB4MzI0RjoKICAgICBjYXNlIDB4MTAxMTc6CisgICAgY2FzZSAweDEwMkYxOgogICAgIGNhc2UgMHgxMEU3MDoKICAgICBjYXNlIDB4MTEwNjI6CisgICAgY2FzZSAweDExMUYxOgorICAgIGNhc2UgMHgxMThGMToKICAgICBjYXNlIDB4MUQzNzA6CiAgICAgICAgIHJldHVybiAoZG91YmxlKSA4MC4wOwogICAgIGNhc2UgMHgxMDEyMDoKKyAgICBjYXNlIDB4MTAyRkE6CiAgICAgY2FzZSAweDEwRTc5OgogICAgICAgICByZXR1cm4gKGRvdWJsZSkgODAwLjA7CiAgICAgY2FzZSAweDEwMTI5OgpAQCAtNDE4NCw2ICs0NjM4LDcgQEAKICAgICBjYXNlIDB4MEM2RjoKICAgICBjYXNlIDB4MENFRjoKICAgICBjYXNlIDB4MEQ2RjoKKyAgICBjYXNlIDB4MERFRjoKICAgICBjYXNlIDB4MEU1OToKICAgICBjYXNlIDB4MEVEOToKICAgICBjYXNlIDB4MEYyOToKQEAgLTQyMjMsMTAgKzQ2NzgsMTIgQEAKICAgICBjYXNlIDB4QThEOToKICAgICBjYXNlIDB4QTkwOToKICAgICBjYXNlIDB4QTlEOToKKyAgICBjYXNlIDB4QTlGOToKICAgICBjYXNlIDB4QUE1OToKICAgICBjYXNlIDB4QUJGOToKICAgICBjYXNlIDB4RkYxOToKICAgICBjYXNlIDB4MTAxMEY6CisgICAgY2FzZSAweDEwMkU5OgogICAgIGNhc2UgMHgxMDRBOToKICAgICBjYXNlIDB4MTBFNjg6CiAgICAgY2FzZSAweDExMDVBOgpAQCAtNDIzNCw3ICs0NjkxLDEyIEBACiAgICAgY2FzZSAweDExMEY5OgogICAgIGNhc2UgMHgxMTEzRjoKICAgICBjYXNlIDB4MTExRDk6CisgICAgY2FzZSAweDExMUU5OgorICAgIGNhc2UgMHgxMTJGOToKKyAgICBjYXNlIDB4MTE0RDk6CisgICAgY2FzZSAweDExNjU5OgogICAgIGNhc2UgMHgxMTZDOToKKyAgICBjYXNlIDB4MTE4RTk6CiAgICAgY2FzZSAweDEyNDA3OgogICAgIGNhc2UgMHgxMjQwRToKICAgICBjYXNlIDB4MTI0MTQ6CkBAIC00MjQ0LDEyICs0NzA2LDE2IEBACiAgICAgY2FzZSAweDEyNDQ3OgogICAgIGNhc2UgMHgxMjQ0ODoKICAgICBjYXNlIDB4MTI0NDk6CisgICAgY2FzZSAweDEyNDZFOgorICAgIGNhc2UgMHgxNkE2OToKKyAgICBjYXNlIDB4MTZCNTk6CiAgICAgY2FzZSAweDFEMzY4OgogICAgIGNhc2UgMHgxRDdENzoKICAgICBjYXNlIDB4MUQ3RTE6CiAgICAgY2FzZSAweDFEN0VCOgogICAgIGNhc2UgMHgxRDdGNToKICAgICBjYXNlIDB4MUQ3RkY6CisgICAgY2FzZSAweDFFOENGOgogICAgIGNhc2UgMHgxRjEwQToKICAgICBjYXNlIDB4MkY4OTA6CiAgICAgICAgIHJldHVybiAoZG91YmxlKSA5LjA7CkBAIC00MjU3LDEyICs0NzIzLDE2IEBACiAgICAgICAgIHJldHVybiAoZG91YmxlKSA5LjAvMi4wOwogICAgIGNhc2UgMHgxMzdBOgogICAgIGNhc2UgMHgxMDExODoKKyAgICBjYXNlIDB4MTAyRjI6CiAgICAgY2FzZSAweDEwMzQxOgogICAgIGNhc2UgMHgxMEU3MToKICAgICBjYXNlIDB4MTEwNjM6CisgICAgY2FzZSAweDExMUYyOgorICAgIGNhc2UgMHgxMThGMjoKICAgICBjYXNlIDB4MUQzNzE6CiAgICAgICAgIHJldHVybiAoZG91YmxlKSA5MC4wOwogICAgIGNhc2UgMHgxMDEyMToKKyAgICBjYXNlIDB4MTAyRkI6CiAgICAgY2FzZSAweDEwMzRBOgogICAgIGNhc2UgMHgxMEU3QToKICAgICAgICAgcmV0dXJuIChkb3VibGUpIDkwMC4wOwpkaWZmIC0tZ2l0IGEvUEMvVlM5LjAvX2J6Mi52Y3Byb2ogYi9QQy9WUzkuMC9fYnoyLnZjcHJvagpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2NlYjhjNy4uMDAwMDAwMAotLS0gYS9QQy9WUzkuMC9fYnoyLnZjcHJvagorKysgL2Rldi9udWxsCkBAIC0xLDU4MSArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJXaW5kb3dzLTEyNTIiPz4NCi08VmlzdWFsU3R1ZGlvUHJvamVjdA0KLQlQcm9qZWN0VHlwZT0iVmlzdWFsIEMrKyINCi0JVmVyc2lvbj0iOS4wMCINCi0JTmFtZT0iX2J6MiINCi0JUHJvamVjdEdVSUQ9Ins3M0ZDRDJCRC1GMTMzLTQ2QjctOEVDMS0xNDRDRDgyQTU5RDV9Ig0KLQlSb290TmFtZXNwYWNlPSJiejIiDQotCUtleXdvcmQ9IldpbjMyUHJvaiINCi0JVGFyZ2V0RnJhbWV3b3JrVmVyc2lvbj0iMTk2NjEzIg0KLQk+DQotCTxQbGF0Zm9ybXM+DQotCQk8UGxhdGZvcm0NCi0JCQlOYW1lPSJXaW4zMiINCi0JCS8+DQotCQk8UGxhdGZvcm0NCi0JCQlOYW1lPSJ4NjQiDQotCQkvPg0KLQk8L1BsYXRmb3Jtcz4NCi0JPFRvb2xGaWxlcz4NCi0JPC9Ub29sRmlsZXM+DQotCTxDb25maWd1cmF0aW9ucz4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iRGVidWd8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkX2QudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJChiejJEaXIpIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iV0lOMzI7X0ZJTEVfT0ZGU0VUX0JJVFM9NjQ7X0NSVF9TRUNVUkVfTk9fREVQUkVDQVRFO19DUlRfTk9OU1REQ19OT19ERVBSRUNBVEUiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFEMTcwMDAwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IkRlYnVnfHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWRfZC52c3Byb3BzOy5ceDY0LnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIkKGJ6MkRpcikiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJXSU4zMjtfRklMRV9PRkZTRVRfQklUUz02NDtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURSINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MUQxNzAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiQoYnoyRGlyKSINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IldJTjMyO19GSUxFX09GRlNFVF9CSVRTPTY0O19DUlRfU0VDVVJFX05PX0RFUFJFQ0FURTtfQ1JUX05PTlNURENfTk9fREVQUkVDQVRFIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxRDE3MDAwMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJSZWxlYXNlfHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHg2NC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiQoYnoyRGlyKSINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IldJTjMyO19GSUxFX09GRlNFVF9CSVRTPTY0O19DUlRfU0VDVVJFX05PX0RFUFJFQ0FURTtfQ1JUX05PTlNURENfTk9fREVQUkVDQVRFIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxRDE3MDAwMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR0luc3RydW1lbnR8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7LlxwZ2luc3RydW1lbnQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiQoYnoyRGlyKSINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IldJTjMyO19GSUxFX09GRlNFVF9CSVRTPTY0O19DUlRfU0VDVVJFX05PX0RFUFJFQ0FURTtfQ1JUX05PTlNURENfTk9fREVQUkVDQVRFIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxRDE3MDAwMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR0luc3RydW1lbnR8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ceDY0LnZzcHJvcHM7LlxwZ2luc3RydW1lbnQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIkKGJ6MkRpcikiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJXSU4zMjtfRklMRV9PRkZTRVRfQklUUz02NDtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURSINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MUQxNzAwMDAiDQotCQkJCVRhcmdldE1hY2hpbmU9IjE3Ig0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHVXBkYXRlfFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ccGd1cGRhdGUudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiQoYnoyRGlyKSINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IldJTjMyO19GSUxFX09GRlNFVF9CSVRTPTY0O19DUlRfU0VDVVJFX05PX0RFUFJFQ0FURTtfQ1JUX05PTlNURENfTk9fREVQUkVDQVRFIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxRDE3MDAwMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR1VwZGF0ZXx4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7Llx4NjQudnNwcm9wczsuXHBndXBkYXRlLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJChiejJEaXIpIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iV0lOMzI7X0ZJTEVfT0ZGU0VUX0JJVFM9NjQ7X0NSVF9TRUNVUkVfTk9fREVQUkVDQVRFO19DUlRfTk9OU1REQ19OT19ERVBSRUNBVEUiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFEMTcwMDAwIg0KLQkJCQlUYXJnZXRNYWNoaW5lPSIxNyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQk8L0NvbmZpZ3VyYXRpb25zPg0KLQk8UmVmZXJlbmNlcz4NCi0JPC9SZWZlcmVuY2VzPg0KLQk8RmlsZXM+DQotCQk8RmlsdGVyDQotCQkJTmFtZT0iU291cmNlIEZpbGVzIg0KLQkJCT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX2J6Mm1vZHVsZS5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJPC9GaWx0ZXI+DQotCQk8RmlsdGVyDQotCQkJTmFtZT0iYnppcDIgMS4wLjYgSGVhZGVyIEZpbGVzIg0KLQkJCT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9IiQoYnoyRGlyKVxiemxpYi5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iJChiejJEaXIpXGJ6bGliX3ByaXZhdGUuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCTwvRmlsdGVyPg0KLQkJPEZpbHRlcg0KLQkJCU5hbWU9ImJ6aXAyIDEuMC42IFNvdXJjZSBGaWxlcyINCi0JCQk+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIkKGJ6MkRpcilcYmxvY2tzb3J0LmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIkKGJ6MkRpcilcYnpsaWIuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9IiQoYnoyRGlyKVxjb21wcmVzcy5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iJChiejJEaXIpXGNyY3RhYmxlLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIkKGJ6MkRpcilcZGVjb21wcmVzcy5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iJChiejJEaXIpXGh1ZmZtYW4uYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9IiQoYnoyRGlyKVxyYW5kdGFibGUuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCTwvRmlsdGVyPg0KLQk8L0ZpbGVzPg0KLQk8R2xvYmFscz4NCi0JPC9HbG9iYWxzPg0KLTwvVmlzdWFsU3R1ZGlvUHJvamVjdD4NCmRpZmYgLS1naXQgYS9QQy9WUzkuMC9fY3R5cGVzLnZjcHJvaiBiL1BDL1ZTOS4wL19jdHlwZXMudmNwcm9qCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4ZTVjYmExLi4wMDAwMDAwCi0tLSBhL1BDL1ZTOS4wL19jdHlwZXMudmNwcm9qCisrKyAvZGV2L251bGwKQEAgLTEsNzA1ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IldpbmRvd3MtMTI1MiI/Pg0KLTxWaXN1YWxTdHVkaW9Qcm9qZWN0DQotCVByb2plY3RUeXBlPSJWaXN1YWwgQysrIg0KLQlWZXJzaW9uPSI5LjAwIg0KLQlOYW1lPSJfY3R5cGVzIg0KLQlQcm9qZWN0R1VJRD0iezBFOTc5MURCLTU5M0EtNDY1Ri05OEJDLTY4MTAxMTMxMTYxOH0iDQotCVJvb3ROYW1lc3BhY2U9Il9jdHlwZXMiDQotCUtleXdvcmQ9IldpbjMyUHJvaiINCi0JVGFyZ2V0RnJhbWV3b3JrVmVyc2lvbj0iMTk2NjEzIg0KLQk+DQotCTxQbGF0Zm9ybXM+DQotCQk8UGxhdGZvcm0NCi0JCQlOYW1lPSJXaW4zMiINCi0JCS8+DQotCQk8UGxhdGZvcm0NCi0JCQlOYW1lPSJ4NjQiDQotCQkvPg0KLQk8L1BsYXRmb3Jtcz4NCi0JPFRvb2xGaWxlcz4NCi0JPC9Ub29sRmlsZXM+DQotCTxDb25maWd1cmF0aW9ucz4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iRGVidWd8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkX2QudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cTW9kdWxlc1xfY3R5cGVzXGxpYmZmaV9tc3ZjIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxRDFBMDAwMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJEZWJ1Z3x4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkX2QudnNwcm9wczsuXHg2NC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cTW9kdWxlc1xfY3R5cGVzXGxpYmZmaV9tc3ZjIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxRDFBMDAwMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJSZWxlYXNlfFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cTW9kdWxlc1xfY3R5cGVzXGxpYmZmaV9tc3ZjIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsT3B0aW9ucz0iL0VYUE9SVDpEbGxHZXRDbGFzc09iamVjdCxQUklWQVRFIC9FWFBPUlQ6RGxsQ2FuVW5sb2FkTm93LFBSSVZBVEUiDQotCQkJCVN1YlN5c3RlbT0iMCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MUQxQTAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZXx4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7Llx4NjQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIuLlwuLlxNb2R1bGVzXF9jdHlwZXNcbGliZmZpX21zdmMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxPcHRpb25zPSIvRVhQT1JUOkRsbEdldENsYXNzT2JqZWN0LFBSSVZBVEUgL0VYUE9SVDpEbGxDYW5VbmxvYWROb3csUFJJVkFURSINCi0JCQkJU3ViU3lzdGVtPSIwIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxRDFBMDAwMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR0luc3RydW1lbnR8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7LlxwZ2luc3RydW1lbnQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii4uXC4uXE1vZHVsZXNcX2N0eXBlc1xsaWJmZmlfbXN2YyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbE9wdGlvbnM9Ii9FWFBPUlQ6RGxsR2V0Q2xhc3NPYmplY3QsUFJJVkFURSAvRVhQT1JUOkRsbENhblVubG9hZE5vdyxQUklWQVRFIg0KLQkJCQlTdWJTeXN0ZW09IjAiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFEMUEwMDAwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHSW5zdHJ1bWVudHx4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7Llx4NjQudnNwcm9wczsuXHBnaW5zdHJ1bWVudC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii4uXC4uXE1vZHVsZXNcX2N0eXBlc1xsaWJmZmlfbXN2YyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbE9wdGlvbnM9Ii9FWFBPUlQ6RGxsR2V0Q2xhc3NPYmplY3QsUFJJVkFURSAvRVhQT1JUOkRsbENhblVubG9hZE5vdyxQUklWQVRFIg0KLQkJCQlTdWJTeXN0ZW09IjAiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFEMUEwMDAwIg0KLQkJCQlUYXJnZXRNYWNoaW5lPSIxNyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR1VwZGF0ZXxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHBndXBkYXRlLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIuLlwuLlxNb2R1bGVzXF9jdHlwZXNcbGliZmZpX21zdmMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxPcHRpb25zPSIvRVhQT1JUOkRsbEdldENsYXNzT2JqZWN0LFBSSVZBVEUgL0VYUE9SVDpEbGxDYW5VbmxvYWROb3csUFJJVkFURSINCi0JCQkJU3ViU3lzdGVtPSIwIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxRDFBMDAwMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR1VwZGF0ZXx4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7Llx4NjQudnNwcm9wczsuXHBndXBkYXRlLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cTW9kdWxlc1xfY3R5cGVzXGxpYmZmaV9tc3ZjIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsT3B0aW9ucz0iL0VYUE9SVDpEbGxHZXRDbGFzc09iamVjdCxQUklWQVRFIC9FWFBPUlQ6RGxsQ2FuVW5sb2FkTm93LFBSSVZBVEUiDQotCQkJCVN1YlN5c3RlbT0iMCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MUQxQTAwMDAiDQotCQkJCVRhcmdldE1hY2hpbmU9IjE3Ig0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCTwvQ29uZmlndXJhdGlvbnM+DQotCTxSZWZlcmVuY2VzPg0KLQk8L1JlZmVyZW5jZXM+DQotCTxGaWxlcz4NCi0JCTxGaWx0ZXINCi0JCQlOYW1lPSJIZWFkZXIgRmlsZXMiDQotCQkJPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfY3R5cGVzXGN0eXBlcy5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfY3R5cGVzXGN0eXBlc19kbGZjbi5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfY3R5cGVzXGxpYmZmaV9tc3ZjXGZmaS5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfY3R5cGVzXGxpYmZmaV9tc3ZjXGZmaV9jb21tb24uaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX2N0eXBlc1xsaWJmZmlfbXN2Y1xmZmljb25maWcuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX2N0eXBlc1xsaWJmZmlfbXN2Y1xmZml0YXJnZXQuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCTwvRmlsdGVyPg0KLQkJPEZpbHRlcg0KLQkJCU5hbWU9IlNvdXJjZSBGaWxlcyINCi0JCQk+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9jdHlwZXNcX2N0eXBlcy5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfY3R5cGVzXGNhbGxiYWNrcy5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfY3R5cGVzXGNhbGxwcm9jLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9jdHlwZXNcY2ZpZWxkLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9jdHlwZXNcbGliZmZpX21zdmNcZmZpLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9jdHlwZXNcbWFsbG9jX2Nsb3N1cmUuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX2N0eXBlc1xsaWJmZmlfbXN2Y1xwcmVwX2NpZi5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfY3R5cGVzXHN0Z2RpY3QuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX2N0eXBlc1xsaWJmZmlfbXN2Y1x3aW4zMi5jIg0KLQkJCQk+DQotCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KLQkJCQkJTmFtZT0iRGVidWd8eDY0Ig0KLQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQotCQkJCQk+DQotCQkJCQk8VG9vbA0KLQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCQkvPg0KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KLQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCi0JCQkJCU5hbWU9IlJlbGVhc2V8eDY0Ig0KLQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQotCQkJCQk+DQotCQkJCQk8VG9vbA0KLQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCQkvPg0KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KLQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCi0JCQkJCU5hbWU9IlBHSW5zdHJ1bWVudHx4NjQiDQotCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCi0JCQkJCT4NCi0JCQkJCTxUb29sDQotCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJCS8+DQotCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQotCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KLQkJCQkJTmFtZT0iUEdVcGRhdGV8eDY0Ig0KLQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQotCQkJCQk+DQotCQkJCQk8VG9vbA0KLQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCQkvPg0KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX2N0eXBlc1xsaWJmZmlfbXN2Y1x3aW42NC5hc20iDQotCQkJCT4NCi0JCQkJPEZpbGVDb25maWd1cmF0aW9uDQotCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiINCi0JCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KLQkJCQkJPg0KLQkJCQkJPFRvb2wNCi0JCQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkJCS8+DQotCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQotCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KLQkJCQkJTmFtZT0iRGVidWd8eDY0Ig0KLQkJCQkJPg0KLQkJCQkJPFRvb2wNCi0JCQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkJCQlDb21tYW5kTGluZT0ibWw2NCAvbm9sb2dvIC9jIC9aaSAvRm8gJnF1b3Q7JChJbnREaXIpXHdpbjY0Lm9iaiZxdW90OyAmcXVvdDskKElucHV0UGF0aCkmcXVvdDsmI3gwRDsmI3gwQTsiDQotCQkJCQkJT3V0cHV0cz0iJChJbnREaXIpXHdpbjY0Lm9iaiINCi0JCQkJCS8+DQotCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQotCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KLQkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiINCi0JCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KLQkJCQkJPg0KLQkJCQkJPFRvb2wNCi0JCQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkJCS8+DQotCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQotCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KLQkJCQkJTmFtZT0iUmVsZWFzZXx4NjQiDQotCQkJCQk+DQotCQkJCQk8VG9vbA0KLQkJCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCQkJCUNvbW1hbmRMaW5lPSJtbDY0IC9ub2xvZ28gL2MgL0ZvICZxdW90OyQoSW50RGlyKVx3aW42NC5vYmomcXVvdDsgJnF1b3Q7JChJbnB1dFBhdGgpJnF1b3Q7JiN4MEQ7JiN4MEE7Ig0KLQkJCQkJCU91dHB1dHM9IiQoSW50RGlyKVx3aW42NC5vYmoiDQotCQkJCQkvPg0KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KLQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCi0JCQkJCU5hbWU9IlBHSW5zdHJ1bWVudHxXaW4zMiINCi0JCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KLQkJCQkJPg0KLQkJCQkJPFRvb2wNCi0JCQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkJCS8+DQotCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQotCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KLQkJCQkJTmFtZT0iUEdJbnN0cnVtZW50fHg2NCINCi0JCQkJCT4NCi0JCQkJCTxUb29sDQotCQkJCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJCQkJQ29tbWFuZExpbmU9Im1sNjQgL25vbG9nbyAvYyAvRm8gJnF1b3Q7JChJbnREaXIpXHdpbjY0Lm9iaiZxdW90OyAmcXVvdDskKElucHV0UGF0aCkmcXVvdDsmI3gwRDsmI3gwQTsiDQotCQkJCQkJT3V0cHV0cz0iJChJbnREaXIpXHdpbjY0Lm9iaiINCi0JCQkJCS8+DQotCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQotCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KLQkJCQkJTmFtZT0iUEdVcGRhdGV8V2luMzIiDQotCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCi0JCQkJCT4NCi0JCQkJCTxUb29sDQotCQkJCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJCQkvPg0KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KLQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCi0JCQkJCU5hbWU9IlBHVXBkYXRlfHg2NCINCi0JCQkJCT4NCi0JCQkJCTxUb29sDQotCQkJCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJCQkJQ29tbWFuZExpbmU9Im1sNjQgL25vbG9nbyAvYyAvRm8gJnF1b3Q7JChJbnREaXIpXHdpbjY0Lm9iaiZxdW90OyAmcXVvdDskKElucHV0UGF0aCkmcXVvdDsmI3gwRDsmI3gwQTsiDQotCQkJCQkJT3V0cHV0cz0iJChJbnREaXIpXHdpbjY0Lm9iaiINCi0JCQkJCS8+DQotCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQotCQkJPC9GaWxlPg0KLQkJPC9GaWx0ZXI+DQotCTwvRmlsZXM+DQotCTxHbG9iYWxzPg0KLQk8L0dsb2JhbHM+DQotPC9WaXN1YWxTdHVkaW9Qcm9qZWN0Pg0KZGlmZiAtLWdpdCBhL1BDL1ZTOS4wL19jdHlwZXNfdGVzdC52Y3Byb2ogYi9QQy9WUzkuMC9fY3R5cGVzX3Rlc3QudmNwcm9qCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3MDMzNTQ2Li4wMDAwMDAwCi0tLSBhL1BDL1ZTOS4wL19jdHlwZXNfdGVzdC52Y3Byb2oKKysrIC9kZXYvbnVsbApAQCAtMSw1MjEgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iV2luZG93cy0xMjUyIj8+DQotPFZpc3VhbFN0dWRpb1Byb2plY3QNCi0JUHJvamVjdFR5cGU9IlZpc3VhbCBDKysiDQotCVZlcnNpb249IjkuMDAiDQotCU5hbWU9Il9jdHlwZXNfdGVzdCINCi0JUHJvamVjdEdVSUQ9Ins5RUM3MTkwQS0yNDlGLTQxODAtQTkwMC01NDhGRENGMzA1NUZ9Ig0KLQlSb290TmFtZXNwYWNlPSJfY3R5cGVzX3Rlc3QiDQotCUtleXdvcmQ9IldpbjMyUHJvaiINCi0JVGFyZ2V0RnJhbWV3b3JrVmVyc2lvbj0iMTk2NjEzIg0KLQk+DQotCTxQbGF0Zm9ybXM+DQotCQk8UGxhdGZvcm0NCi0JCQlOYW1lPSJXaW4zMiINCi0JCS8+DQotCQk8UGxhdGZvcm0NCi0JCQlOYW1lPSJ4NjQiDQotCQkvPg0KLQk8L1BsYXRmb3Jtcz4NCi0JPFRvb2xGaWxlcz4NCi0JPC9Ub29sRmlsZXM+DQotCTxDb25maWd1cmF0aW9ucz4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iRGVidWd8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkX2QudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJEZWJ1Z3x4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkX2QudnNwcm9wczsuXHg2NC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJSZWxlYXNlfFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJSZWxlYXNlfHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHg2NC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdJbnN0cnVtZW50fFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ccGdpbnN0cnVtZW50LnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHSW5zdHJ1bWVudHx4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7Llx4NjQudnNwcm9wczsuXHBnaW5zdHJ1bWVudC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCVRhcmdldE1hY2hpbmU9IjE3Ig0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHVXBkYXRlfFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ccGd1cGRhdGUudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdVcGRhdGV8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ceDY0LnZzcHJvcHM7LlxwZ3VwZGF0ZS52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCVRhcmdldE1hY2hpbmU9IjE3Ig0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCTwvQ29uZmlndXJhdGlvbnM+DQotCTxSZWZlcmVuY2VzPg0KLQk8L1JlZmVyZW5jZXM+DQotCTxGaWxlcz4NCi0JCTxGaWx0ZXINCi0JCQlOYW1lPSJIZWFkZXIgRmlsZXMiDQotCQkJPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfY3R5cGVzXF9jdHlwZXNfdGVzdC5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJPC9GaWx0ZXI+DQotCQk8RmlsdGVyDQotCQkJTmFtZT0iU291cmNlIEZpbGVzIg0KLQkJCT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX2N0eXBlc1xfY3R5cGVzX3Rlc3QuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCTwvRmlsdGVyPg0KLQk8L0ZpbGVzPg0KLQk8R2xvYmFscz4NCi0JPC9HbG9iYWxzPg0KLTwvVmlzdWFsU3R1ZGlvUHJvamVjdD4NCmRpZmYgLS1naXQgYS9QQy9WUzkuMC9fZGVjaW1hbC52Y3Byb2ogYi9QQy9WUzkuMC9fZGVjaW1hbC52Y3Byb2oKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI5ZmFiYjAuLjAwMDAwMDAKLS0tIGEvUEMvVlM5LjAvX2RlY2ltYWwudmNwcm9qCisrKyAvZGV2L251bGwKQEAgLTEsNzQzICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IldpbmRvd3MtMTI1MiI/Pg0KLTxWaXN1YWxTdHVkaW9Qcm9qZWN0DQotCVByb2plY3RUeXBlPSJWaXN1YWwgQysrIg0KLQlWZXJzaW9uPSI5LjAwIg0KLQlOYW1lPSJfZGVjaW1hbCINCi0JUHJvamVjdEdVSUQ9InswRTk3OTFEQi01OTNBLTQ2NUYtOThCQy02ODEwMTEzMTE2MTd9Ig0KLQlSb290TmFtZXNwYWNlPSJfZGVjaW1hbCINCi0JS2V5d29yZD0iV2luMzJQcm9qIg0KLQlUYXJnZXRGcmFtZXdvcmtWZXJzaW9uPSIxOTY2MTMiDQotCT4NCi0JPFBsYXRmb3Jtcz4NCi0JCTxQbGF0Zm9ybQ0KLQkJCU5hbWU9IldpbjMyIg0KLQkJLz4NCi0JCTxQbGF0Zm9ybQ0KLQkJCU5hbWU9Ing2NCINCi0JCS8+DQotCTwvUGxhdGZvcm1zPg0KLQk8VG9vbEZpbGVzPg0KLQk8L1Rvb2xGaWxlcz4NCi0JPENvbmZpZ3VyYXRpb25zPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJEZWJ1Z3xXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWRfZC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsT3B0aW9ucz0iL0RfQ1JUX1NFQ1VSRV9OT19XQVJOSU5HUyAvRENPTkZJR18zMiAvRFBQUk8gL0RNQVNNIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIuLlwuLlxNb2R1bGVzXF9kZWNpbWFsOy4uXC4uXE1vZHVsZXNcX2RlY2ltYWxcbGlibXBkZWMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFEMUEwMDAwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IkRlYnVnfHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWRfZC52c3Byb3BzOy5ceDY0LnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsT3B0aW9ucz0iL0RfQ1JUX1NFQ1VSRV9OT19XQVJOSU5HUyAvRENPTkZJR182NCAvRE1BU00iDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii4uXC4uXE1vZHVsZXNcX2RlY2ltYWw7Li5cLi5cTW9kdWxlc1xfZGVjaW1hbFxsaWJtcGRlYyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MUQxQTAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxPcHRpb25zPSIvRF9DUlRfU0VDVVJFX05PX1dBUk5JTkdTIC9EQ09ORklHXzMyIC9EUFBSTyAvRE1BU00iDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii4uXC4uXE1vZHVsZXNcX2RlY2ltYWw7Li5cLi5cTW9kdWxlc1xfZGVjaW1hbFxsaWJtcGRlYyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJU3ViU3lzdGVtPSIwIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxRDFBMDAwMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJSZWxlYXNlfHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHg2NC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxPcHRpb25zPSIvRF9DUlRfU0VDVVJFX05PX1dBUk5JTkdTIC9EQ09ORklHXzY0IC9ETUFTTSINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cTW9kdWxlc1xfZGVjaW1hbDsuLlwuLlxNb2R1bGVzXF9kZWNpbWFsXGxpYm1wZGVjIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlTdWJTeXN0ZW09IjAiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFEMUEwMDAwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHSW5zdHJ1bWVudHxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHBnaW5zdHJ1bWVudC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbE9wdGlvbnM9Ii9EX0NSVF9TRUNVUkVfTk9fV0FSTklOR1MgL0RDT05GSUdfMzIgL0RQUFJPIC9ETUFTTSINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cTW9kdWxlc1xfZGVjaW1hbDsuLlwuLlxNb2R1bGVzXF9kZWNpbWFsXGxpYm1wZGVjIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlTdWJTeXN0ZW09IjAiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFEMUEwMDAwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHSW5zdHJ1bWVudHx4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7Llx4NjQudnNwcm9wczsuXHBnaW5zdHJ1bWVudC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxPcHRpb25zPSIvRF9DUlRfU0VDVVJFX05PX1dBUk5JTkdTIC9EQ09ORklHXzY0IC9ETUFTTSINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cTW9kdWxlc1xfZGVjaW1hbDsuLlwuLlxNb2R1bGVzXF9kZWNpbWFsXGxpYm1wZGVjIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlTdWJTeXN0ZW09IjAiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFEMUEwMDAwIg0KLQkJCQlUYXJnZXRNYWNoaW5lPSIxNyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR1VwZGF0ZXxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHBndXBkYXRlLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsT3B0aW9ucz0iL0RfQ1JUX1NFQ1VSRV9OT19XQVJOSU5HUyAvRENPTkZJR18zMiAvRFBQUk8gL0RNQVNNIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIuLlwuLlxNb2R1bGVzXF9kZWNpbWFsOy4uXC4uXE1vZHVsZXNcX2RlY2ltYWxcbGlibXBkZWMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCVN1YlN5c3RlbT0iMCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MUQxQTAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdVcGRhdGV8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ceDY0LnZzcHJvcHM7LlxwZ3VwZGF0ZS52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxPcHRpb25zPSIvRF9DUlRfU0VDVVJFX05PX1dBUk5JTkdTIC9EQ09ORklHXzY0IC9ETUFTTSINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cTW9kdWxlc1xfZGVjaW1hbDsuLlwuLlxNb2R1bGVzXF9kZWNpbWFsXGxpYm1wZGVjIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlTdWJTeXN0ZW09IjAiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFEMUEwMDAwIg0KLQkJCQlUYXJnZXRNYWNoaW5lPSIxNyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQk8L0NvbmZpZ3VyYXRpb25zPg0KLQk8UmVmZXJlbmNlcz4NCi0JPC9SZWZlcmVuY2VzPg0KLQk8RmlsZXM+DQotCQk8RmlsdGVyDQotCQkJTmFtZT0iSGVhZGVyIEZpbGVzIg0KLQkJCT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX2RlY2ltYWxcbGlibXBkZWNcYmFzZWFyaXRoLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9kZWNpbWFsXGxpYm1wZGVjXGJpdHMuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX2RlY2ltYWxcbGlibXBkZWNcY29uc3RhbnRzLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9kZWNpbWFsXGxpYm1wZGVjXGNvbnZvbHV0ZS5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfZGVjaW1hbFxsaWJtcGRlY1xjcnQuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX2RlY2ltYWxcbGlibXBkZWNcZGlmcmFkaXgyLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9kZWNpbWFsXGRvY3N0cmluZ3MuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX2RlY2ltYWxcbGlibXBkZWNcZm50LmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9kZWNpbWFsXGxpYm1wZGVjXGZvdXJzdGVwLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9kZWNpbWFsXGxpYm1wZGVjXG1wZGVjaW1hbC5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfZGVjaW1hbFxsaWJtcGRlY1xudW1iZXJ0aGVvcnkuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX2RlY2ltYWxcbGlibXBkZWNcc2l4c3RlcC5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfZGVjaW1hbFxsaWJtcGRlY1x0cmFuc3Bvc2UuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX2RlY2ltYWxcbGlibXBkZWNcdHlwZWFyaXRoLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9kZWNpbWFsXGxpYm1wZGVjXHVtb2Rhcml0aC5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfZGVjaW1hbFxsaWJtcGRlY1x2Y2NvbXBhdC5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfZGVjaW1hbFxsaWJtcGRlY1x2Y3N0ZGludC5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJPC9GaWx0ZXI+DQotCQk8RmlsdGVyDQotCQkJTmFtZT0iU291cmNlIEZpbGVzIg0KLQkJCT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX2RlY2ltYWxcX2RlY2ltYWwuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX2RlY2ltYWxcbGlibXBkZWNcYmFzZWFyaXRoLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9kZWNpbWFsXGxpYm1wZGVjXGNvbnN0YW50cy5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfZGVjaW1hbFxsaWJtcGRlY1xjb250ZXh0LmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9kZWNpbWFsXGxpYm1wZGVjXGNvbnZvbHV0ZS5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfZGVjaW1hbFxsaWJtcGRlY1xjcnQuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX2RlY2ltYWxcbGlibXBkZWNcZGlmcmFkaXgyLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9kZWNpbWFsXGxpYm1wZGVjXGZudC5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfZGVjaW1hbFxsaWJtcGRlY1xmb3Vyc3RlcC5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfZGVjaW1hbFxsaWJtcGRlY1xpby5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfZGVjaW1hbFxsaWJtcGRlY1xtZW1vcnkuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX2RlY2ltYWxcbGlibXBkZWNcbXBkZWNpbWFsLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9kZWNpbWFsXGxpYm1wZGVjXG51bWJlcnRoZW9yeS5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfZGVjaW1hbFxsaWJtcGRlY1xzaXhzdGVwLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9kZWNpbWFsXGxpYm1wZGVjXHRyYW5zcG9zZS5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfZGVjaW1hbFxsaWJtcGRlY1x2Y2RpdjY0LmFzbSINCi0JCQkJPg0KLQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCi0JCQkJCU5hbWU9IkRlYnVnfFdpbjMyIg0KLQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQotCQkJCQk+DQotCQkJCQk8VG9vbA0KLQkJCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCQkJLz4NCi0JCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCi0JCQkJPEZpbGVDb25maWd1cmF0aW9uDQotCQkJCQlOYW1lPSJEZWJ1Z3x4NjQiDQotCQkJCQk+DQotCQkJCQk8VG9vbA0KLQkJCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCQkJCUNvbW1hbmRMaW5lPSJtbDY0IC9ub2xvZ28gL2MgL1ppIC9GbyAmcXVvdDskKEludERpcilcdmNkaXY2NC5vYmomcXVvdDsgJnF1b3Q7JChJbnB1dFBhdGgpJnF1b3Q7JiN4MEQ7JiN4MEE7Ig0KLQkJCQkJCU91dHB1dHM9IiQoSW50RGlyKVx2Y2RpdjY0Lm9iaiINCi0JCQkJCS8+DQotCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQotCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KLQkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiINCi0JCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KLQkJCQkJPg0KLQkJCQkJPFRvb2wNCi0JCQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkJCS8+DQotCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQotCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KLQkJCQkJTmFtZT0iUmVsZWFzZXx4NjQiDQotCQkJCQk+DQotCQkJCQk8VG9vbA0KLQkJCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCQkJCUNvbW1hbmRMaW5lPSJtbDY0IC9ub2xvZ28gL2MgL1ppIC9GbyAmcXVvdDskKEludERpcilcdmNkaXY2NC5vYmomcXVvdDsgJnF1b3Q7JChJbnB1dFBhdGgpJnF1b3Q7JiN4MEQ7JiN4MEE7Ig0KLQkJCQkJCU91dHB1dHM9IiQoSW50RGlyKVx2Y2RpdjY0Lm9iaiINCi0JCQkJCS8+DQotCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQotCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KLQkJCQkJTmFtZT0iUEdJbnN0cnVtZW50fFdpbjMyIg0KLQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQotCQkJCQk+DQotCQkJCQk8VG9vbA0KLQkJCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCQkJLz4NCi0JCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCi0JCQkJPEZpbGVDb25maWd1cmF0aW9uDQotCQkJCQlOYW1lPSJQR0luc3RydW1lbnR8eDY0Ig0KLQkJCQkJPg0KLQkJCQkJPFRvb2wNCi0JCQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkJCQlDb21tYW5kTGluZT0ibWw2NCAvbm9sb2dvIC9jIC9GbyAmcXVvdDskKEludERpcilcdmNkaXY2NC5vYmomcXVvdDsgJnF1b3Q7JChJbnB1dFBhdGgpJnF1b3Q7JiN4MEQ7JiN4MEE7Ig0KLQkJCQkJCU91dHB1dHM9IiQoSW50RGlyKVx2Y2RpdjY0Lm9iaiINCi0JCQkJCS8+DQotCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQotCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KLQkJCQkJTmFtZT0iUEdVcGRhdGV8V2luMzIiDQotCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCi0JCQkJCT4NCi0JCQkJCTxUb29sDQotCQkJCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJCQkvPg0KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KLQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCi0JCQkJCU5hbWU9IlBHVXBkYXRlfHg2NCINCi0JCQkJCT4NCi0JCQkJCTxUb29sDQotCQkJCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJCQkJQ29tbWFuZExpbmU9Im1sNjQgL25vbG9nbyAvYyAvRm8gJnF1b3Q7JChJbnREaXIpXHZjZGl2NjQub2JqJnF1b3Q7ICZxdW90OyQoSW5wdXRQYXRoKSZxdW90OyYjeDBEOyYjeDBBOyINCi0JCQkJCQlPdXRwdXRzPSIkKEludERpcilcdmNkaXY2NC5vYmoiDQotCQkJCQkvPg0KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KLQkJCTwvRmlsZT4NCi0JCTwvRmlsdGVyPg0KLQk8L0ZpbGVzPg0KLQk8R2xvYmFscz4NCi0JPC9HbG9iYWxzPg0KLTwvVmlzdWFsU3R1ZGlvUHJvamVjdD4NCmRpZmYgLS1naXQgYS9QQy9WUzkuMC9fZWxlbWVudHRyZWUudmNwcm9qIGIvUEMvVlM5LjAvX2VsZW1lbnR0cmVlLnZjcHJvagpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjlkNzM3NS4uMDAwMDAwMAotLS0gYS9QQy9WUzkuMC9fZWxlbWVudHRyZWUudmNwcm9qCisrKyAvZGV2L251bGwKQEAgLTEsNjEzICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IldpbmRvd3MtMTI1MiI/Pg0KLTxWaXN1YWxTdHVkaW9Qcm9qZWN0DQotCVByb2plY3RUeXBlPSJWaXN1YWwgQysrIg0KLQlWZXJzaW9uPSI5LjAwIg0KLQlOYW1lPSJfZWxlbWVudHRyZWUiDQotCVByb2plY3RHVUlEPSJ7MTdFMUUwNDktQzMwOS00RDc5LTg0M0YtQUU0ODNDMjY0QUVBfSINCi0JUm9vdE5hbWVzcGFjZT0iX2VsZW1lbnR0cmVlIg0KLQlLZXl3b3JkPSJXaW4zMlByb2oiDQotCVRhcmdldEZyYW1ld29ya1ZlcnNpb249IjE5NjYxMyINCi0JPg0KLQk8UGxhdGZvcm1zPg0KLQkJPFBsYXRmb3JtDQotCQkJTmFtZT0iV2luMzIiDQotCQkvPg0KLQkJPFBsYXRmb3JtDQotCQkJTmFtZT0ieDY0Ig0KLQkJLz4NCi0JPC9QbGF0Zm9ybXM+DQotCTxUb29sRmlsZXM+DQotCTwvVG9vbEZpbGVzPg0KLQk8Q29uZmlndXJhdGlvbnM+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IkRlYnVnfFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZF9kLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii4uXC4uXE1vZHVsZXNcZXhwYXQiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJYTUxfTlM7WE1MX0RURDtCWVRFT1JERVI9MTIzNDtYTUxfQ09OVEVYVF9CWVRFUz0xMDI0O1VTRV9QWUVYUEFUX0NBUEk7WE1MX1NUQVRJQztIQVZFX01FTU1PVkUiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFEMTAwMDAwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IkRlYnVnfHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWRfZC52c3Byb3BzOy5ceDY0LnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIuLlwuLlxNb2R1bGVzXGV4cGF0Ig0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iWE1MX05TO1hNTF9EVEQ7QllURU9SREVSPTEyMzQ7WE1MX0NPTlRFWFRfQllURVM9MTAyNDtVU0VfUFlFWFBBVF9DQVBJO1hNTF9TVEFUSUM7SEFWRV9NRU1NT1ZFIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxRDEwMDAwMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJSZWxlYXNlfFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cTW9kdWxlc1xleHBhdCINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IlhNTF9OUztYTUxfRFREO0JZVEVPUkRFUj0xMjM0O1hNTF9DT05URVhUX0JZVEVTPTEwMjQ7VVNFX1BZRVhQQVRfQ0FQSTtYTUxfU1RBVElDO0hBVkVfTUVNTU9WRSINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MUQxMDAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZXx4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7Llx4NjQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIuLlwuLlxNb2R1bGVzXGV4cGF0Ig0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iWE1MX05TO1hNTF9EVEQ7QllURU9SREVSPTEyMzQ7WE1MX0NPTlRFWFRfQllURVM9MTAyNDtVU0VfUFlFWFBBVF9DQVBJO1hNTF9TVEFUSUM7SEFWRV9NRU1NT1ZFIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxRDEwMDAwMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR0luc3RydW1lbnR8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7LlxwZ2luc3RydW1lbnQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii4uXC4uXE1vZHVsZXNcZXhwYXQiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJYTUxfTlM7WE1MX0RURDtCWVRFT1JERVI9MTIzNDtYTUxfQ09OVEVYVF9CWVRFUz0xMDI0O1VTRV9QWUVYUEFUX0NBUEk7WE1MX1NUQVRJQztIQVZFX01FTU1PVkUiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFEMTAwMDAwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHSW5zdHJ1bWVudHx4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7Llx4NjQudnNwcm9wczsuXHBnaW5zdHJ1bWVudC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii4uXC4uXE1vZHVsZXNcZXhwYXQiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJYTUxfTlM7WE1MX0RURDtCWVRFT1JERVI9MTIzNDtYTUxfQ09OVEVYVF9CWVRFUz0xMDI0O1VTRV9QWUVYUEFUX0NBUEk7WE1MX1NUQVRJQztIQVZFX01FTU1PVkUiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFEMTAwMDAwIg0KLQkJCQlUYXJnZXRNYWNoaW5lPSIxNyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR1VwZGF0ZXxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHBndXBkYXRlLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIuLlwuLlxNb2R1bGVzXGV4cGF0Ig0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iWE1MX05TO1hNTF9EVEQ7QllURU9SREVSPTEyMzQ7WE1MX0NPTlRFWFRfQllURVM9MTAyNDtVU0VfUFlFWFBBVF9DQVBJO1hNTF9TVEFUSUM7SEFWRV9NRU1NT1ZFIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxRDEwMDAwMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR1VwZGF0ZXx4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7Llx4NjQudnNwcm9wczsuXHBndXBkYXRlLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cTW9kdWxlc1xleHBhdCINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IlhNTF9OUztYTUxfRFREO0JZVEVPUkRFUj0xMjM0O1hNTF9DT05URVhUX0JZVEVTPTEwMjQ7VVNFX1BZRVhQQVRfQ0FQSTtYTUxfU1RBVElDO0hBVkVfTUVNTU9WRSINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MUQxMDAwMDAiDQotCQkJCVRhcmdldE1hY2hpbmU9IjE3Ig0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCTwvQ29uZmlndXJhdGlvbnM+DQotCTxSZWZlcmVuY2VzPg0KLQk8L1JlZmVyZW5jZXM+DQotCTxGaWxlcz4NCi0JCTxGaWx0ZXINCi0JCQlOYW1lPSJIZWFkZXIgRmlsZXMiDQotCQkJPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xleHBhdFxhc2NpaS5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xleHBhdFxhc2NpaXRhYi5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xleHBhdFxleHBhdC5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xleHBhdFxleHBhdF9jb25maWcuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcZXhwYXRcZXhwYXRfZXh0ZXJuYWwuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcZXhwYXRcaWFzY2lpdGFiLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXGV4cGF0XGludGVybmFsLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXGV4cGF0XGxhdGluMXRhYi5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xleHBhdFxtYWNjb25maWcuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcZXhwYXRcbmFtZXRhYi5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xleHBhdFxweWV4cGF0bnMuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcZXhwYXRcdXRmOHRhYi5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xleHBhdFx3aW5jb25maWcuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcZXhwYXRceG1scm9sZS5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xleHBhdFx4bWx0b2suaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCTwvRmlsdGVyPg0KLQkJPEZpbHRlcg0KLQkJCU5hbWU9IlNvdXJjZSBGaWxlcyINCi0JCQk+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9lbGVtZW50dHJlZS5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xleHBhdFx4bWxwYXJzZS5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xleHBhdFx4bWxyb2xlLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXGV4cGF0XHhtbHRvay5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJPC9GaWx0ZXI+DQotCTwvRmlsZXM+DQotCTxHbG9iYWxzPg0KLQk8L0dsb2JhbHM+DQotPC9WaXN1YWxTdHVkaW9Qcm9qZWN0Pg0KZGlmZiAtLWdpdCBhL1BDL1ZTOS4wL19oYXNobGliLnZjcHJvaiBiL1BDL1ZTOS4wL19oYXNobGliLnZjcHJvagpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzc0MTdlYy4uMDAwMDAwMAotLS0gYS9QQy9WUzkuMC9faGFzaGxpYi52Y3Byb2oKKysrIC9kZXYvbnVsbApAQCAtMSw1MzcgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iV2luZG93cy0xMjUyIj8+DQotPFZpc3VhbFN0dWRpb1Byb2plY3QNCi0JUHJvamVjdFR5cGU9IlZpc3VhbCBDKysiDQotCVZlcnNpb249IjkuMDAiDQotCU5hbWU9Il9oYXNobGliIg0KLQlQcm9qZWN0R1VJRD0iezQ0N0YwNUE4LUY1ODEtNENBQy1BNDY2LTVBQzc5MzZFMjA3RX0iDQotCVJvb3ROYW1lc3BhY2U9Il9oYXNobGliIg0KLQlLZXl3b3JkPSJXaW4zMlByb2oiDQotCVRhcmdldEZyYW1ld29ya1ZlcnNpb249IjE5NjYxMyINCi0JPg0KLQk8UGxhdGZvcm1zPg0KLQkJPFBsYXRmb3JtDQotCQkJTmFtZT0iV2luMzIiDQotCQkvPg0KLQkJPFBsYXRmb3JtDQotCQkJTmFtZT0ieDY0Ig0KLQkJLz4NCi0JPC9QbGF0Zm9ybXM+DQotCTxUb29sRmlsZXM+DQotCTwvVG9vbEZpbGVzPg0KLQk8Q29uZmlndXJhdGlvbnM+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IkRlYnVnfFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZF9kLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiQob3BlbnNzbERpcilcaW5jMzIiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJCUNvbW1hbmRMaW5lPSIiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IndzMl8zMi5saWIgJChvcGVuc3NsRGlyKVxvdXQzMlxsaWJlYXkzMi5saWIgJChvcGVuc3NsRGlyKVxvdXQzMlxzc2xlYXkzMi5saWIiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iRGVidWd8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZF9kLnZzcHJvcHM7Llx4NjQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiQob3BlbnNzbERpcilcaW5jNjQiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJCUNvbW1hbmRMaW5lPSIiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IndzMl8zMi5saWIgJChvcGVuc3NsRGlyKVxvdXQ2NFxsaWJlYXkzMi5saWIgJChvcGVuc3NsRGlyKVxvdXQ2NFxzc2xlYXkzMi5saWIiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiQob3BlbnNzbERpcilcaW5jMzIiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJCUNvbW1hbmRMaW5lPSIiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IndzMl8zMi5saWIgJChvcGVuc3NsRGlyKVxvdXQzMlxsaWJlYXkzMi5saWIgJChvcGVuc3NsRGlyKVxvdXQzMlxzc2xlYXkzMi5saWIiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZXx4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7Llx4NjQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIkKG9wZW5zc2xEaXIpXGluYzY0Ig0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCQlDb21tYW5kTGluZT0iIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJ3czJfMzIubGliICQob3BlbnNzbERpcilcb3V0NjRcbGliZWF5MzIubGliICQob3BlbnNzbERpcilcb3V0NjRcc3NsZWF5MzIubGliIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHSW5zdHJ1bWVudHxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHBnaW5zdHJ1bWVudC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJChvcGVuc3NsRGlyKVxpbmMzMiINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkJQ29tbWFuZExpbmU9IiINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0id3MyXzMyLmxpYiAkKG9wZW5zc2xEaXIpXG91dDMyXGxpYmVheTMyLmxpYiAkKG9wZW5zc2xEaXIpXG91dDMyXHNzbGVheTMyLmxpYiINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR0luc3RydW1lbnR8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ceDY0LnZzcHJvcHM7LlxwZ2luc3RydW1lbnQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIkKG9wZW5zc2xEaXIpXGluYzY0Ig0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCQlDb21tYW5kTGluZT0iIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJ3czJfMzIubGliICQob3BlbnNzbERpcilcb3V0NjRcbGliZWF5MzIubGliICQob3BlbnNzbERpcilcb3V0NjRcc3NsZWF5MzIubGliIg0KLQkJCQlUYXJnZXRNYWNoaW5lPSIxNyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR1VwZGF0ZXxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHBndXBkYXRlLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIkKG9wZW5zc2xEaXIpXGluYzMyIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCQlDb21tYW5kTGluZT0iIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJ3czJfMzIubGliICQob3BlbnNzbERpcilcb3V0MzJcbGliZWF5MzIubGliICQob3BlbnNzbERpcilcb3V0MzJcc3NsZWF5MzIubGliIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHVXBkYXRlfHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHg2NC52c3Byb3BzOy5ccGd1cGRhdGUudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIkKG9wZW5zc2xEaXIpXGluYzY0Ig0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCQlDb21tYW5kTGluZT0iIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJ3czJfMzIubGliICQob3BlbnNzbERpcilcb3V0NjRcbGliZWF5MzIubGliICQob3BlbnNzbERpcilcb3V0NjRcc3NsZWF5MzIubGliIg0KLQkJCQlUYXJnZXRNYWNoaW5lPSIxNyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQk8L0NvbmZpZ3VyYXRpb25zPg0KLQk8UmVmZXJlbmNlcz4NCi0JPC9SZWZlcmVuY2VzPg0KLQk8RmlsZXM+DQotCQk8RmlsdGVyDQotCQkJTmFtZT0iU291cmNlIEZpbGVzIg0KLQkJCT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX2hhc2hvcGVuc3NsLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQk8L0ZpbHRlcj4NCi0JPC9GaWxlcz4NCi0JPEdsb2JhbHM+DQotCTwvR2xvYmFscz4NCi08L1Zpc3VhbFN0dWRpb1Byb2plY3Q+DQpkaWZmIC0tZ2l0IGEvUEMvVlM5LjAvX2x6bWEudmNwcm9qIGIvUEMvVlM5LjAvX2x6bWEudmNwcm9qCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3YzYwMDNmLi4wMDAwMDAwCi0tLSBhL1BDL1ZTOS4wL19sem1hLnZjcHJvagorKysgL2Rldi9udWxsCkBAIC0xLDUzNyArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJXaW5kb3dzLTEyNTIiPz4NCi08VmlzdWFsU3R1ZGlvUHJvamVjdA0KLQlQcm9qZWN0VHlwZT0iVmlzdWFsIEMrKyINCi0JVmVyc2lvbj0iOS4wMCINCi0JTmFtZT0iX2x6bWEiDQotCVByb2plY3RHVUlEPSJ7RjlENzE3ODAtRjM5My0xMUUwLUJFNTAtMDgwMDIwMEM5QTY2fSINCi0JUm9vdE5hbWVzcGFjZT0ibHptYSINCi0JS2V5d29yZD0iV2luMzJQcm9qIg0KLQlUYXJnZXRGcmFtZXdvcmtWZXJzaW9uPSIxOTY2MTMiDQotCT4NCi0JPFBsYXRmb3Jtcz4NCi0JCTxQbGF0Zm9ybQ0KLQkJCU5hbWU9IldpbjMyIg0KLQkJLz4NCi0JCTxQbGF0Zm9ybQ0KLQkJCU5hbWU9Ing2NCINCi0JCS8+DQotCTwvUGxhdGZvcm1zPg0KLQk8VG9vbEZpbGVzPg0KLQk8L1Rvb2xGaWxlcz4NCi0JPENvbmZpZ3VyYXRpb25zPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJEZWJ1Z3xXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWRfZC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIkKGx6bWFEaXIpXGluY2x1ZGUiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJXSU4zMjtfRklMRV9PRkZTRVRfQklUUz02NDtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURTtMWk1BX0FQSV9TVEFUSUMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IiQobHptYURpcilcYmluX2k0ODZcbGlibHptYS5hIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IkRlYnVnfHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWRfZC52c3Byb3BzOy5ceDY0LnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIkKGx6bWFEaXIpXGluY2x1ZGUiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJXSU4zMjtfRklMRV9PRkZTRVRfQklUUz02NDtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURTtMWk1BX0FQSV9TVEFUSUMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IiQobHptYURpcilcYmluX3g4Ni02NFxsaWJsem1hLmEiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiQobHptYURpcilcaW5jbHVkZSINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IldJTjMyO19GSUxFX09GRlNFVF9CSVRTPTY0O19DUlRfU0VDVVJFX05PX0RFUFJFQ0FURTtfQ1JUX05PTlNURENfTk9fREVQUkVDQVRFO0xaTUFfQVBJX1NUQVRJQyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0iJChsem1hRGlyKVxiaW5faTQ4NlxsaWJsem1hLmEiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZXx4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7Llx4NjQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIkKGx6bWFEaXIpXGluY2x1ZGUiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJXSU4zMjtfRklMRV9PRkZTRVRfQklUUz02NDtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURTtMWk1BX0FQSV9TVEFUSUMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IiQobHptYURpcilcYmluX3g4Ni02NFxsaWJsem1hLmEiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdJbnN0cnVtZW50fFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ccGdpbnN0cnVtZW50LnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIkKGx6bWFEaXIpXGluY2x1ZGUiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJXSU4zMjtfRklMRV9PRkZTRVRfQklUUz02NDtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURTtMWk1BX0FQSV9TVEFUSUMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IiQobHptYURpcilcYmluX2k0ODZcbGlibHptYS5hIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHSW5zdHJ1bWVudHx4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7Llx4NjQudnNwcm9wczsuXHBnaW5zdHJ1bWVudC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiQobHptYURpcilcaW5jbHVkZSINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IldJTjMyO19GSUxFX09GRlNFVF9CSVRTPTY0O19DUlRfU0VDVVJFX05PX0RFUFJFQ0FURTtfQ1JUX05PTlNURENfTk9fREVQUkVDQVRFO0xaTUFfQVBJX1NUQVRJQyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0iJChsem1hRGlyKVxiaW5feDg2LTY0XGxpYmx6bWEuYSINCi0JCQkJVGFyZ2V0TWFjaGluZT0iMTciDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdVcGRhdGV8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7LlxwZ3VwZGF0ZS52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJChsem1hRGlyKVxpbmNsdWRlIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iV0lOMzI7X0ZJTEVfT0ZGU0VUX0JJVFM9NjQ7X0NSVF9TRUNVUkVfTk9fREVQUkVDQVRFO19DUlRfTk9OU1REQ19OT19ERVBSRUNBVEU7TFpNQV9BUElfU1RBVElDIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSIkKGx6bWFEaXIpXGJpbl9pNDg2XGxpYmx6bWEuYSINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR1VwZGF0ZXx4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7Llx4NjQudnNwcm9wczsuXHBndXBkYXRlLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJChsem1hRGlyKVxpbmNsdWRlIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iV0lOMzI7X0ZJTEVfT0ZGU0VUX0JJVFM9NjQ7X0NSVF9TRUNVUkVfTk9fREVQUkVDQVRFO19DUlRfTk9OU1REQ19OT19ERVBSRUNBVEU7TFpNQV9BUElfU1RBVElDIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSIkKGx6bWFEaXIpXGJpbl94ODYtNjRcbGlibHptYS5hIg0KLQkJCQlUYXJnZXRNYWNoaW5lPSIxNyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQk8L0NvbmZpZ3VyYXRpb25zPg0KLQk8UmVmZXJlbmNlcz4NCi0JPC9SZWZlcmVuY2VzPg0KLQk8RmlsZXM+DQotCQk8RmlsdGVyDQotCQkJTmFtZT0iU291cmNlIEZpbGVzIg0KLQkJCT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX2x6bWFtb2R1bGUuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCTwvRmlsdGVyPg0KLQk8L0ZpbGVzPg0KLQk8R2xvYmFscz4NCi0JPC9HbG9iYWxzPg0KLTwvVmlzdWFsU3R1ZGlvUHJvamVjdD4NCmRpZmYgLS1naXQgYS9QQy9WUzkuMC9fbXNpLnZjcHJvaiBiL1BDL1ZTOS4wL19tc2kudmNwcm9qCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjYjIzMGUxLi4wMDAwMDAwCi0tLSBhL1BDL1ZTOS4wL19tc2kudmNwcm9qCisrKyAvZGV2L251bGwKQEAgLTEsNTI5ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IldpbmRvd3MtMTI1MiI/Pg0KLTxWaXN1YWxTdHVkaW9Qcm9qZWN0DQotCVByb2plY3RUeXBlPSJWaXN1YWwgQysrIg0KLQlWZXJzaW9uPSI5LjAwIg0KLQlOYW1lPSJfbXNpIg0KLQlQcm9qZWN0R1VJRD0iezMxRkZDNDc4LTdCNEEtNDNFOC05OTU0LThEMDNFMjE4N0U5Q30iDQotCVJvb3ROYW1lc3BhY2U9Il9tc2kiDQotCUtleXdvcmQ9IldpbjMyUHJvaiINCi0JVGFyZ2V0RnJhbWV3b3JrVmVyc2lvbj0iMTk2NjEzIg0KLQk+DQotCTxQbGF0Zm9ybXM+DQotCQk8UGxhdGZvcm0NCi0JCQlOYW1lPSJXaW4zMiINCi0JCS8+DQotCQk8UGxhdGZvcm0NCi0JCQlOYW1lPSJ4NjQiDQotCQkvPg0KLQk8L1BsYXRmb3Jtcz4NCi0JPFRvb2xGaWxlcz4NCi0JPC9Ub29sRmlsZXM+DQotCTxDb25maWd1cmF0aW9ucz4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iRGVidWd8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkX2QudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0iZmNpLmxpYiBtc2kubGliIHJwY3J0NC5saWIiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFEMTYwMDAwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IkRlYnVnfHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWRfZC52c3Byb3BzOy5ceDY0LnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJmY2kubGliIG1zaS5saWIgcnBjcnQ0LmxpYiINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MUQxNjAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9ImZjaS5saWIgbXNpLmxpYiBycGNydDQubGliIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxRDE2MDAwMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJSZWxlYXNlfHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHg2NC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9ImZjaS5saWIgbXNpLmxpYiBycGNydDQubGliIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxRDE2MDAwMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR0luc3RydW1lbnR8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7LlxwZ2luc3RydW1lbnQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9ImZjaS5saWIgbXNpLmxpYiBycGNydDQubGliIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxRDE2MDAwMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR0luc3RydW1lbnR8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ceDY0LnZzcHJvcHM7LlxwZ2luc3RydW1lbnQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJmY2kubGliIG1zaS5saWIgcnBjcnQ0LmxpYiINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MUQxNjAwMDAiDQotCQkJCVRhcmdldE1hY2hpbmU9IjE3Ig0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHVXBkYXRlfFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ccGd1cGRhdGUudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9ImZjaS5saWIgbXNpLmxpYiBycGNydDQubGliIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxRDE2MDAwMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR1VwZGF0ZXx4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7Llx4NjQudnNwcm9wczsuXHBndXBkYXRlLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0iZmNpLmxpYiBtc2kubGliIHJwY3J0NC5saWIiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFEMTYwMDAwIg0KLQkJCQlUYXJnZXRNYWNoaW5lPSIxNyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQk8L0NvbmZpZ3VyYXRpb25zPg0KLQk8UmVmZXJlbmNlcz4NCi0JPC9SZWZlcmVuY2VzPg0KLQk8RmlsZXM+DQotCQk8RmlsdGVyDQotCQkJTmFtZT0iU291cmNlIEZpbGVzIg0KLQkJCT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFBDXF9tc2kuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCTwvRmlsdGVyPg0KLQk8L0ZpbGVzPg0KLQk8R2xvYmFscz4NCi0JPC9HbG9iYWxzPg0KLTwvVmlzdWFsU3R1ZGlvUHJvamVjdD4NCmRpZmYgLS1naXQgYS9QQy9WUzkuMC9fbXVsdGlwcm9jZXNzaW5nLnZjcHJvaiBiL1BDL1ZTOS4wL19tdWx0aXByb2Nlc3NpbmcudmNwcm9qCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmYjNkMWU3Li4wMDAwMDAwCi0tLSBhL1BDL1ZTOS4wL19tdWx0aXByb2Nlc3NpbmcudmNwcm9qCisrKyAvZGV2L251bGwKQEAgLTEsNTQxICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IldpbmRvd3MtMTI1MiI/Pg0KLTxWaXN1YWxTdHVkaW9Qcm9qZWN0DQotCVByb2plY3RUeXBlPSJWaXN1YWwgQysrIg0KLQlWZXJzaW9uPSI5LjAwIg0KLQlOYW1lPSJfbXVsdGlwcm9jZXNzaW5nIg0KLQlQcm9qZWN0R1VJRD0iezlFNDhCMzAwLTM3RDEtMTFERC04QzQxLTAwNTA1NkMwMDAwOH0iDQotCVJvb3ROYW1lc3BhY2U9Il9tdWx0aXByb2Nlc3NpbmciDQotCUtleXdvcmQ9IldpbjMyUHJvaiINCi0JVGFyZ2V0RnJhbWV3b3JrVmVyc2lvbj0iMTk2NjEzIg0KLQk+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+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9tdWx0aXByb2Nlc3NpbmdcbXVsdGlwcm9jZXNzaW5nLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQk8L0ZpbHRlcj4NCi0JCTxGaWx0ZXINCi0JCQlOYW1lPSJTb3VyY2UgRmlsZXMiDQotCQkJPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfbXVsdGlwcm9jZXNzaW5nXG11bHRpcHJvY2Vzc2luZy5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfbXVsdGlwcm9jZXNzaW5nXHNlbWFwaG9yZS5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJPC9GaWx0ZXI+DQotCTwvRmlsZXM+DQotCTxHbG9iYWxzPg0KLQk8L0dsb2JhbHM+DQotPC9WaXN1YWxTdHVkaW9Qcm9qZWN0Pg0KZGlmZiAtLWdpdCBhL1BDL1ZTOS4wL19zb2NrZXQudmNwcm9qIGIvUEMvVlM5LjAvX3NvY2tldC52Y3Byb2oKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZmMWY2ZDQuLjAwMDAwMDAKLS0tIGEvUEMvVlM5LjAvX3NvY2tldC52Y3Byb2oKKysrIC9kZXYvbnVsbApAQCAtMSw1MzcgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iV2luZG93cy0xMjUyIj8+DQotPFZpc3VhbFN0dWRpb1Byb2plY3QNCi0JUHJvamVjdFR5cGU9IlZpc3VhbCBDKysiDQotCVZlcnNpb249IjkuMDAiDQotCU5hbWU9Il9zb2NrZXQiDQotCVByb2plY3RHVUlEPSJ7ODY5MzdGNTMtQzE4OS00MEVGLThDRTgtODc1OUQ4RTdENDgwfSINCi0JUm9vdE5hbWVzcGFjZT0iX3NvY2tldCINCi0JS2V5d29yZD0iV2luMzJQcm9qIg0KLQlUYXJnZXRGcmFtZXdvcmtWZXJzaW9uPSIxOTY2MTMiDQotCT4NCi0JPFBsYXRmb3Jtcz4NCi0JCTxQbGF0Zm9ybQ0KLQkJCU5hbWU9IldpbjMyIg0KLQkJLz4NCi0JCTxQbGF0Zm9ybQ0KLQkJCU5hbWU9Ing2NCINCi0JCS8+DQotCTwvUGxhdGZvcm1zPg0KLQk8VG9vbEZpbGVzPg0KLQk8L1Rvb2xGaWxlcz4NCi0JPENvbmZpZ3VyYXRpb25zPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJEZWJ1Z3xXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWRfZC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJ3czJfMzIubGliIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxZTFEMDAwMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJEZWJ1Z3x4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkX2QudnNwcm9wczsuXHg2NC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0id3MyXzMyLmxpYiINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MWUxRDAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IndzMl8zMi5saWIiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFlMUQwMDAwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlJlbGVhc2V8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ceDY0LnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0id3MyXzMyLmxpYiINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MWUxRDAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdJbnN0cnVtZW50fFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ccGdpbnN0cnVtZW50LnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJ3czJfMzIubGliIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxZTFEMDAwMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR0luc3RydW1lbnR8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ceDY0LnZzcHJvcHM7LlxwZ2luc3RydW1lbnQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJ3czJfMzIubGliIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxZTFEMDAwMCINCi0JCQkJVGFyZ2V0TWFjaGluZT0iMTciDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdVcGRhdGV8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7LlxwZ3VwZGF0ZS52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0id3MyXzMyLmxpYiINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MWUxRDAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdVcGRhdGV8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ceDY0LnZzcHJvcHM7LlxwZ3VwZGF0ZS52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IndzMl8zMi5saWIiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFlMUQwMDAwIg0KLQkJCQlUYXJnZXRNYWNoaW5lPSIxNyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQk8L0NvbmZpZ3VyYXRpb25zPg0KLQk8UmVmZXJlbmNlcz4NCi0JPC9SZWZlcmVuY2VzPg0KLQk8RmlsZXM+DQotCQk8RmlsdGVyDQotCQkJTmFtZT0iSGVhZGVyIEZpbGVzIg0KLQkJCT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcc29ja2V0bW9kdWxlLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQk8L0ZpbHRlcj4NCi0JCTxGaWx0ZXINCi0JCQlOYW1lPSJTb3VyY2UgRmlsZXMiDQotCQkJPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xzb2NrZXRtb2R1bGUuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCTwvRmlsdGVyPg0KLQk8L0ZpbGVzPg0KLQk8R2xvYmFscz4NCi0JPC9HbG9iYWxzPg0KLTwvVmlzdWFsU3R1ZGlvUHJvamVjdD4NCmRpZmYgLS1naXQgYS9QQy9WUzkuMC9fc3FsaXRlMy52Y3Byb2ogYi9QQy9WUzkuMC9fc3FsaXRlMy52Y3Byb2oKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDgyYzU3YWUuLjAwMDAwMDAKLS0tIGEvUEMvVlM5LjAvX3NxbGl0ZTMudmNwcm9qCisrKyAvZGV2L251bGwKQEAgLTEsNjA5ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IldpbmRvd3MtMTI1MiI/Pg0KLTxWaXN1YWxTdHVkaW9Qcm9qZWN0DQotCVByb2plY3RUeXBlPSJWaXN1YWwgQysrIg0KLQlWZXJzaW9uPSI5LjAwIg0KLQlOYW1lPSJfc3FsaXRlMyINCi0JUHJvamVjdEdVSUQ9InsxM0NFQ0I5Ny00MTE5LTQzMTYtOUQ0Mi04NTM0MDE5QTVBNDR9Ig0KLQlSb290TmFtZXNwYWNlPSJfc3FsaXRlMyINCi0JS2V5d29yZD0iV2luMzJQcm9qIg0KLQlUYXJnZXRGcmFtZXdvcmtWZXJzaW9uPSIxOTY2MTMiDQotCT4NCi0JPFBsYXRmb3Jtcz4NCi0JCTxQbGF0Zm9ybQ0KLQkJCU5hbWU9IldpbjMyIg0KLQkJLz4NCi0JCTxQbGF0Zm9ybQ0KLQkJCU5hbWU9Ing2NCINCi0JCS8+DQotCTwvUGxhdGZvcm1zPg0KLQk8VG9vbEZpbGVzPg0KLQk8L1Rvb2xGaWxlcz4NCi0JPENvbmZpZ3VyYXRpb25zPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJEZWJ1Z3xXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWRfZC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIkKHNxbGl0ZTNEaXIpIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iTU9EVUxFX05BTUU9XCZxdW90O3NxbGl0ZTNcJnF1b3Q7Ig0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxZTE4MDAwMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJEZWJ1Z3x4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkX2QudnNwcm9wczsuXHg2NC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJChzcWxpdGUzRGlyKSINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Ik1PRFVMRV9OQU1FPVwmcXVvdDtzcWxpdGUzXCZxdW90OyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MWUxODAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiQoc3FsaXRlM0RpcikiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJNT0RVTEVfTkFNRT1cJnF1b3Q7c3FsaXRlM1wmcXVvdDsiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFlMTgwMDAwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlJlbGVhc2V8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ceDY0LnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJChzcWxpdGUzRGlyKSINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Ik1PRFVMRV9OQU1FPVwmcXVvdDtzcWxpdGUzXCZxdW90OyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MWUxODAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdJbnN0cnVtZW50fFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ccGdpbnN0cnVtZW50LnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIkKHNxbGl0ZTNEaXIpIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iTU9EVUxFX05BTUU9XCZxdW90O3NxbGl0ZTNcJnF1b3Q7Ig0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxZTE4MDAwMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR0luc3RydW1lbnR8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ceDY0LnZzcHJvcHM7LlxwZ2luc3RydW1lbnQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIkKHNxbGl0ZTNEaXIpIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iTU9EVUxFX05BTUU9XCZxdW90O3NxbGl0ZTNcJnF1b3Q7Ig0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxZTE4MDAwMCINCi0JCQkJVGFyZ2V0TWFjaGluZT0iMTciDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdVcGRhdGV8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7LlxwZ3VwZGF0ZS52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJChzcWxpdGUzRGlyKSINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Ik1PRFVMRV9OQU1FPVwmcXVvdDtzcWxpdGUzXCZxdW90OyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MWUxODAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdVcGRhdGV8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ceDY0LnZzcHJvcHM7LlxwZ3VwZGF0ZS52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiQoc3FsaXRlM0RpcikiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJNT0RVTEVfTkFNRT1cJnF1b3Q7c3FsaXRlM1wmcXVvdDsiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFlMTgwMDAwIg0KLQkJCQlUYXJnZXRNYWNoaW5lPSIxNyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQk8L0NvbmZpZ3VyYXRpb25zPg0KLQk8UmVmZXJlbmNlcz4NCi0JPC9SZWZlcmVuY2VzPg0KLQk8RmlsZXM+DQotCQk8RmlsdGVyDQotCQkJTmFtZT0iSGVhZGVyIEZpbGVzIg0KLQkJCT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX3NxbGl0ZVxjYWNoZS5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfc3FsaXRlXGNvbm5lY3Rpb24uaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX3NxbGl0ZVxjdXJzb3IuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX3NxbGl0ZVxtaWNyb3Byb3RvY29scy5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfc3FsaXRlXG1vZHVsZS5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfc3FsaXRlXHByZXBhcmVfcHJvdG9jb2wuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX3NxbGl0ZVxyb3cuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX3NxbGl0ZVxzdGF0ZW1lbnQuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX3NxbGl0ZVx1dGlsLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQk8L0ZpbHRlcj4NCi0JCTxGaWx0ZXINCi0JCQlOYW1lPSJTb3VyY2UgRmlsZXMiDQotCQkJPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfc3FsaXRlXGNhY2hlLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9zcWxpdGVcY29ubmVjdGlvbi5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfc3FsaXRlXGN1cnNvci5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfc3FsaXRlXG1pY3JvcHJvdG9jb2xzLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9zcWxpdGVcbW9kdWxlLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9zcWxpdGVccHJlcGFyZV9wcm90b2NvbC5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfc3FsaXRlXHJvdy5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfc3FsaXRlXHN0YXRlbWVudC5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfc3FsaXRlXHV0aWwuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCTwvRmlsdGVyPg0KLQk8L0ZpbGVzPg0KLQk8R2xvYmFscz4NCi0JPC9HbG9iYWxzPg0KLTwvVmlzdWFsU3R1ZGlvUHJvamVjdD4NCmRpZmYgLS1naXQgYS9QQy9WUzkuMC9fc3NsLnZjcHJvaiBiL1BDL1ZTOS4wL19zc2wudmNwcm9qCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiNDdkYzI3Li4wMDAwMDAwCi0tLSBhL1BDL1ZTOS4wL19zc2wudmNwcm9qCisrKyAvZGV2L251bGwKQEAgLTEsNTM3ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IldpbmRvd3MtMTI1MiI/Pg0KLTxWaXN1YWxTdHVkaW9Qcm9qZWN0DQotCVByb2plY3RUeXBlPSJWaXN1YWwgQysrIg0KLQlWZXJzaW9uPSI5LDAwIg0KLQlOYW1lPSJfc3NsIg0KLQlQcm9qZWN0R1VJRD0ie0M2RTIwRjg0LTMyNDctNEFENi1CMDUxLUIwNzMyNjhGNzNCQX0iDQotCVJvb3ROYW1lc3BhY2U9Il9zc2wiDQotCUtleXdvcmQ9IldpbjMyUHJvaiINCi0JVGFyZ2V0RnJhbWV3b3JrVmVyc2lvbj0iMTk2NjEzIg0KLQk+DQotCTxQbGF0Zm9ybXM+DQotCQk8UGxhdGZvcm0NCi0JCQlOYW1lPSJXaW4zMiINCi0JCS8+DQotCQk8UGxhdGZvcm0NCi0JCQlOYW1lPSJ4NjQiDQotCQkvPg0KLQk8L1BsYXRmb3Jtcz4NCi0JPFRvb2xGaWxlcz4NCi0JPC9Ub29sRmlsZXM+DQotCTxDb25maWd1cmF0aW9ucz4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iRGVidWd8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkX2QudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJChvcGVuc3NsRGlyKVxpbmMzMiINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkJQ29tbWFuZExpbmU9IiINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0id3MyXzMyLmxpYiBjcnlwdDMyLmxpYiAkKG9wZW5zc2xEaXIpXG91dDMyXGxpYmVheTMyLmxpYiAkKG9wZW5zc2xEaXIpXG91dDMyXHNzbGVheTMyLmxpYiINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJEZWJ1Z3x4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkX2QudnNwcm9wczsuXHg2NC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJChvcGVuc3NsRGlyKVxpbmM2NCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkJQ29tbWFuZExpbmU9IiINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0id3MyXzMyLmxpYiBjcnlwdDMyLmxpYiAkKG9wZW5zc2xEaXIpXG91dDY0XGxpYmVheTMyLmxpYiAkKG9wZW5zc2xEaXIpXG91dDY0XHNzbGVheTMyLmxpYiINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJSZWxlYXNlfFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJChvcGVuc3NsRGlyKVxpbmMzMiINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkJQ29tbWFuZExpbmU9IiINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0id3MyXzMyLmxpYiBjcnlwdDMyLmxpYiAkKG9wZW5zc2xEaXIpXG91dDMyXGxpYmVheTMyLmxpYiAkKG9wZW5zc2xEaXIpXG91dDMyXHNzbGVheTMyLmxpYiINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJSZWxlYXNlfHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHg2NC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiQob3BlbnNzbERpcilcaW5jNjQiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJCUNvbW1hbmRMaW5lPSIiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IndzMl8zMi5saWIgY3J5cHQzMi5saWIgJChvcGVuc3NsRGlyKVxvdXQ2NFxsaWJlYXkzMi5saWIgJChvcGVuc3NsRGlyKVxvdXQ2NFxzc2xlYXkzMi5saWIiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdJbnN0cnVtZW50fFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ccGdpbnN0cnVtZW50LnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIkKG9wZW5zc2xEaXIpXGluYzMyIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCQlDb21tYW5kTGluZT0iIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJ3czJfMzIubGliIGNyeXB0MzIubGliICQob3BlbnNzbERpcilcb3V0MzJcbGliZWF5MzIubGliICQob3BlbnNzbERpcilcb3V0MzJcc3NsZWF5MzIubGliIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHSW5zdHJ1bWVudHx4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7Llx4NjQudnNwcm9wczsuXHBnaW5zdHJ1bWVudC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiQob3BlbnNzbERpcilcaW5jNjQiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJCUNvbW1hbmRMaW5lPSIiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IndzMl8zMi5saWIgY3J5cHQzMi5saWIgJChvcGVuc3NsRGlyKVxvdXQ2NFxsaWJlYXkzMi5saWIgJChvcGVuc3NsRGlyKVxvdXQ2NFxzc2xlYXkzMi5saWIiDQotCQkJCVRhcmdldE1hY2hpbmU9IjE3Ig0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHVXBkYXRlfFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ccGd1cGRhdGUudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiQob3BlbnNzbERpcilcaW5jMzIiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJCUNvbW1hbmRMaW5lPSIiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IndzMl8zMi5saWIgY3J5cHQzMi5saWIgJChvcGVuc3NsRGlyKVxvdXQzMlxsaWJlYXkzMi5saWIgJChvcGVuc3NsRGlyKVxvdXQzMlxzc2xlYXkzMi5saWIiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdVcGRhdGV8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ceDY0LnZzcHJvcHM7LlxwZ3VwZGF0ZS52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiQob3BlbnNzbERpcilcaW5jNjQiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJCUNvbW1hbmRMaW5lPSIiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IndzMl8zMi5saWIgY3J5cHQzMi5saWIgJChvcGVuc3NsRGlyKVxvdXQ2NFxsaWJlYXkzMi5saWIgJChvcGVuc3NsRGlyKVxvdXQ2NFxzc2xlYXkzMi5saWIiDQotCQkJCVRhcmdldE1hY2hpbmU9IjE3Ig0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCTwvQ29uZmlndXJhdGlvbnM+DQotCTxSZWZlcmVuY2VzPg0KLQk8L1JlZmVyZW5jZXM+DQotCTxGaWxlcz4NCi0JCTxGaWx0ZXINCi0JCQlOYW1lPSJTb3VyY2UgRmlsZXMiDQotCQkJPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfc3NsLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQk8L0ZpbHRlcj4NCi0JPC9GaWxlcz4NCi0JPEdsb2JhbHM+DQotCTwvR2xvYmFscz4NCi08L1Zpc3VhbFN0dWRpb1Byb2plY3Q+DQpkaWZmIC0tZ2l0IGEvUEMvVlM5LjAvX3Rlc3RidWZmZXIudmNwcm9qIGIvUEMvVlM5LjAvX3Rlc3RidWZmZXIudmNwcm9qCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMzM3N2UxLi4wMDAwMDAwCi0tLSBhL1BDL1ZTOS4wL190ZXN0YnVmZmVyLnZjcHJvagorKysgL2Rldi9udWxsCkBAIC0xLDUyMSArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJXaW5kb3dzLTEyNTIiPz4NCi08VmlzdWFsU3R1ZGlvUHJvamVjdA0KLQlQcm9qZWN0VHlwZT0iVmlzdWFsIEMrKyINCi0JVmVyc2lvbj0iOS4wMCINCi0JTmFtZT0iX3Rlc3RidWZmZXIiDQotCVByb2plY3RHVUlEPSJ7QTI2OTdCRDMtMjhDMS00QUVDLTkxMDYtOEI3NDg2MzlGRDE2fSINCi0JUm9vdE5hbWVzcGFjZT0iX3Rlc3RidWZmZXIiDQotCUtleXdvcmQ9IldpbjMyUHJvaiINCi0JVGFyZ2V0RnJhbWV3b3JrVmVyc2lvbj0iMTk2NjEzIg0KLQk+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+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF90ZXN0YnVmZmVyLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQk8L0ZpbHRlcj4NCi0JPC9GaWxlcz4NCi0JPEdsb2JhbHM+DQotCTwvR2xvYmFscz4NCi08L1Zpc3VhbFN0dWRpb1Byb2plY3Q+DQpkaWZmIC0tZ2l0IGEvUEMvVlM5LjAvX3Rlc3RjYXBpLnZjcHJvaiBiL1BDL1ZTOS4wL190ZXN0Y2FwaS52Y3Byb2oKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ1MzMwMGEuLjAwMDAwMDAKLS0tIGEvUEMvVlM5LjAvX3Rlc3RjYXBpLnZjcHJvagorKysgL2Rldi9udWxsCkBAIC0xLDUyMSArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJXaW5kb3dzLTEyNTIiPz4NCi08VmlzdWFsU3R1ZGlvUHJvamVjdA0KLQlQcm9qZWN0VHlwZT0iVmlzdWFsIEMrKyINCi0JVmVyc2lvbj0iOS4wMCINCi0JTmFtZT0iX3Rlc3RjYXBpIg0KLQlQcm9qZWN0R1VJRD0iezY5MDFEOTFDLTZFNDgtNEJCNy05RkVDLTcwMEM4MTMxREYxRH0iDQotCVJvb3ROYW1lc3BhY2U9Il90ZXN0Y2FwaSINCi0JS2V5d29yZD0iV2luMzJQcm9qIg0KLQlUYXJnZXRGcmFtZXdvcmtWZXJzaW9uPSIxOTY2MTMiDQotCT4NCi0JPFBsYXRmb3Jtcz4NCi0JCTxQbGF0Zm9ybQ0KLQkJCU5hbWU9IldpbjMyIg0KLQkJLz4NCi0JCTxQbGF0Zm9ybQ0KLQkJCU5hbWU9Ing2NCINCi0JCS8+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+DQotCQk8RmlsdGVyDQotCQkJTmFtZT0iU291cmNlIEZpbGVzIg0KLQkJCT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX3Rlc3RjYXBpbW9kdWxlLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQk8L0ZpbHRlcj4NCi0JPC9GaWxlcz4NCi0JPEdsb2JhbHM+DQotCTwvR2xvYmFscz4NCi08L1Zpc3VhbFN0dWRpb1Byb2plY3Q+DQpkaWZmIC0tZ2l0IGEvUEMvVlM5LjAvX3Rlc3RpbXBvcnRtdWx0aXBsZS52Y3Byb2ogYi9QQy9WUzkuMC9fdGVzdGltcG9ydG11bHRpcGxlLnZjcHJvagpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTRkOTEwZC4uMDAwMDAwMAotLS0gYS9QQy9WUzkuMC9fdGVzdGltcG9ydG11bHRpcGxlLnZjcHJvagorKysgL2Rldi9udWxsCkBAIC0xLDUyMSArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJXaW5kb3dzLTEyNTIiPz4NCi08VmlzdWFsU3R1ZGlvUHJvamVjdA0KLQlQcm9qZWN0VHlwZT0iVmlzdWFsIEMrKyINCi0JVmVyc2lvbj0iOS4wMCINCi0JTmFtZT0iX3Rlc3RpbXBvcnRtdWx0aXBsZSINCi0JUHJvamVjdEdVSUQ9InszNkQwQzUyQy1ERjRFLTQ1RDAtOEJDNy1FMjk0QzNBQkM3ODF9Ig0KLQlSb290TmFtZXNwYWNlPSJfdGVzdGltcG9ydG11bHRpcGxlIg0KLQlLZXl3b3JkPSJXaW4zMlByb2oiDQotCVRhcmdldEZyYW1ld29ya1ZlcnNpb249IjE5NjYxMyINCi0JPg0KLQk8UGxhdGZvcm1zPg0KLQkJPFBsYXRmb3JtDQotCQkJTmFtZT0iV2luMzIiDQotCQkvPg0KLQkJPFBsYXRmb3JtDQotCQkJTmFtZT0ieDY0Ig0KLQkJLz4NCi0JPC9QbGF0Zm9ybXM+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+DQotCTxGaWxlcz4NCi0JCTxGaWx0ZXINCi0JCQlOYW1lPSJTb3VyY2UgRmlsZXMiDQotCQkJPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfdGVzdGltcG9ydG11bHRpcGxlLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQk8L0ZpbHRlcj4NCi0JPC9GaWxlcz4NCi0JPEdsb2JhbHM+DQotCTwvR2xvYmFscz4NCi08L1Zpc3VhbFN0dWRpb1Byb2plY3Q+DQpkaWZmIC0tZ2l0IGEvUEMvVlM5LjAvX3RraW50ZXIudmNwcm9qIGIvUEMvVlM5LjAvX3RraW50ZXIudmNwcm9qCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1MTYzMzE3Li4wMDAwMDAwCi0tLSBhL1BDL1ZTOS4wL190a2ludGVyLnZjcHJvagorKysgL2Rldi9udWxsCkBAIC0xLDU0MSArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJXaW5kb3dzLTEyNTIiPz4NCi08VmlzdWFsU3R1ZGlvUHJvamVjdA0KLQlQcm9qZWN0VHlwZT0iVmlzdWFsIEMrKyINCi0JVmVyc2lvbj0iOS4wMCINCi0JTmFtZT0iX3RraW50ZXIiDQotCVByb2plY3RHVUlEPSJ7NDk0NkVDQUMtMkU2OS00QkY4LUE5MEEtRjUxMzZGNTA5NERGfSINCi0JUm9vdE5hbWVzcGFjZT0iX3RraW50ZXIiDQotCUtleXdvcmQ9IldpbjMyUHJvaiINCi0JVGFyZ2V0RnJhbWV3b3JrVmVyc2lvbj0iMTk2NjEzIg0KLQk+DQotCTxQbGF0Zm9ybXM+DQotCQk8UGxhdGZvcm0NCi0JCQlOYW1lPSJXaW4zMiINCi0JCS8+DQotCQk8UGxhdGZvcm0NCi0JCQlOYW1lPSJ4NjQiDQotCQkvPg0KLQk8L1BsYXRmb3Jtcz4NCi0JPFRvb2xGaWxlcz4NCi0JPC9Ub29sRmlsZXM+DQotCTxDb25maWd1cmF0aW9ucz4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iRGVidWd8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkX2QudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJCh0Y2x0a0RpcilcaW5jbHVkZSINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IldJVEhfQVBQSU5JVCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0iJCh0Y2x0a0xpYkRlYnVnKSINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJEZWJ1Z3x4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkX2QudnNwcm9wczsuXHg2NC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJCh0Y2x0azY0RGlyKVxpbmNsdWRlIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iV0lUSF9BUFBJTklUIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSIkKHRjbHRrNjRMaWJEZWJ1ZykiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiQodGNsdGtEaXIpXGluY2x1ZGUiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJXSVRIX0FQUElOSVQiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IiQodGNsdGtMaWIpIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlJlbGVhc2V8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ceDY0LnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJCh0Y2x0azY0RGlyKVxpbmNsdWRlIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iV0lUSF9BUFBJTklUIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSIkKHRjbHRrNjRMaWIpIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHSW5zdHJ1bWVudHxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHBnaW5zdHJ1bWVudC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJCh0Y2x0a0RpcilcaW5jbHVkZSINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IldJVEhfQVBQSU5JVCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0iJCh0Y2x0a0xpYikiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdJbnN0cnVtZW50fHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHg2NC52c3Byb3BzOy5ccGdpbnN0cnVtZW50LnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJCh0Y2x0azY0RGlyKVxpbmNsdWRlIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iV0lUSF9BUFBJTklUIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSIkKHRjbHRrNjRMaWIpIg0KLQkJCQlUYXJnZXRNYWNoaW5lPSIxNyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR1VwZGF0ZXxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHBndXBkYXRlLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIkKHRjbHRrRGlyKVxpbmNsdWRlIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iV0lUSF9BUFBJTklUIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSIkKHRjbHRrTGliKSINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR1VwZGF0ZXx4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7Llx4NjQudnNwcm9wczsuXHBndXBkYXRlLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJCh0Y2x0azY0RGlyKVxpbmNsdWRlIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iV0lUSF9BUFBJTklUIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSIkKHRjbHRrNjRMaWIpIg0KLQkJCQlUYXJnZXRNYWNoaW5lPSIxNyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQk8L0NvbmZpZ3VyYXRpb25zPg0KLQk8UmVmZXJlbmNlcz4NCi0JPC9SZWZlcmVuY2VzPg0KLQk8RmlsZXM+DQotCQk8RmlsdGVyDQotCQkJTmFtZT0iU291cmNlIEZpbGVzIg0KLQkJCT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX3RraW50ZXIuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcdGthcHBpbml0LmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQk8L0ZpbHRlcj4NCi0JPC9GaWxlcz4NCi0JPEdsb2JhbHM+DQotCTwvR2xvYmFscz4NCi08L1Zpc3VhbFN0dWRpb1Byb2plY3Q+DQpkaWZmIC0tZ2l0IGEvUEMvVlM5LjAvYmRpc3Rfd2luaW5zdC52Y3Byb2ogYi9QQy9WUzkuMC9iZGlzdF93aW5pbnN0LnZjcHJvagpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjhjYzdhZC4uMDAwMDAwMAotLS0gYS9QQy9WUzkuMC9iZGlzdF93aW5pbnN0LnZjcHJvagorKysgL2Rldi9udWxsCkBAIC0xLDI3MCArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJXaW5kb3dzLTEyNTIiPz4NCi08VmlzdWFsU3R1ZGlvUHJvamVjdA0KLQlQcm9qZWN0VHlwZT0iVmlzdWFsIEMrKyINCi0JVmVyc2lvbj0iOS4wMCINCi0JTmFtZT0iYmRpc3Rfd2luaW5zdCINCi0JUHJvamVjdEdVSUQ9IntFQjFDMTlDMS0xRjE4LTQyMUUtOTczNS1DQUVFNjlEQzZBM0N9Ig0KLQlSb290TmFtZXNwYWNlPSJ3aW5pbnN0Ig0KLQlUYXJnZXRGcmFtZXdvcmtWZXJzaW9uPSIxMzEwNzIiDQotCT4NCi0JPFBsYXRmb3Jtcz4NCi0JCTxQbGF0Zm9ybQ0KLQkJCU5hbWU9IldpbjMyIg0KLQkJLz4NCi0JCTxQbGF0Zm9ybQ0KLQkJCU5hbWU9Ing2NCINCi0JCS8+DQotCTwvUGxhdGZvcm1zPg0KLQk8VG9vbEZpbGVzPg0KLQk8L1Rvb2xGaWxlcz4NCi0JPENvbmZpZ3VyYXRpb25zPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJSZWxlYXNlfFdpbjMyIg0KLQkJCU91dHB1dERpcmVjdG9yeT0iLi5cLi5cbGliXGRpc3R1dGlsc1xjb21tYW5kIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIxIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5cHJvamVjdC52c3Byb3BzOy5ccmVsZWFzZS52c3Byb3BzIg0KLQkJCVVzZU9mTUZDPSIwIg0KLQkJCUFUTE1pbmltaXplc0NSdW5UaW1lTGlicmFyeVVzYWdlPSJmYWxzZSINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iTkRFQlVHIg0KLQkJCQlNa1R5cExpYkNvbXBhdGlibGU9InRydWUiDQotCQkJCVN1cHByZXNzU3RhcnR1cEJhbm5lcj0idHJ1ZSINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjEiDQotCQkJCVR5cGVMaWJyYXJ5TmFtZT0iLlwuLlwuLlxsaWJcZGlzdHV0aWxzXGNvbW1hbmRcd2luaW5zdC50bGIiDQotCQkJCUhlYWRlckZpbGVOYW1lPSIiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlPcHRpbWl6YXRpb249IjEiDQotCQkJCUlubGluZUZ1bmN0aW9uRXhwYW5zaW9uPSIxIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIuLlwuLlxQQ1xiZGlzdF93aW5pbnN0Oy4uXC4uXEluY2x1ZGU7Li5cLi5cTW9kdWxlc1x6bGliIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iX0NSVF9TRUNVUkVfTk9fREVQUkVDQVRFO19DUlRfTk9OU1REQ19OT19ERVBSRUNBVEUiDQotCQkJCVN0cmluZ1Bvb2xpbmc9InRydWUiDQotCQkJCVJ1bnRpbWVMaWJyYXJ5PSIwIg0KLQkJCQlFbmFibGVGdW5jdGlvbkxldmVsTGlua2luZz0idHJ1ZSINCi0JCQkJV2FybmluZ0xldmVsPSIzIg0KLQkJCQlTdXBwcmVzc1N0YXJ0dXBCYW5uZXI9InRydWUiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJOREVCVUciDQotCQkJCUN1bHR1cmU9IjAiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii4uXC4uXFBDOy4uXC4uXFBDXGJkaXN0X3dpbmluc3Q7Li5cLi5cSW5jbHVkZSINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0iY29tY3RsMzIubGliIGltYWdlaGxwLmxpYiINCi0JCQkJT3V0cHV0RmlsZT0iLi5cLi5cbGliXGRpc3R1dGlsc1xjb21tYW5kXHdpbmluc3QtOS4wLmV4ZSINCi0JCQkJTGlua0luY3JlbWVudGFsPSIxIg0KLQkJCQlTdXBwcmVzc1N0YXJ0dXBCYW5uZXI9InRydWUiDQotCQkJCUlnbm9yZURlZmF1bHRMaWJyYXJ5TmFtZXM9IkxJQkMiDQotCQkJCVByb2dyYW1EYXRhYmFzZUZpbGU9Ii4uXC4uXGxpYlxkaXN0dXRpbHNcY29tbWFuZFx3aW5pbnN0LTkuMC5wZGIiDQotCQkJCVN1YlN5c3RlbT0iMiINCi0JCQkJUmFuZG9taXplZEJhc2VBZGRyZXNzPSIxIg0KLQkJCQlEYXRhRXhlY3V0aW9uUHJldmVudGlvbj0iMCINCi0JCQkJVGFyZ2V0TWFjaGluZT0iMSINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJSZWxlYXNlfHg2NCINCi0JCQlPdXRwdXREaXJlY3Rvcnk9IiQoUGxhdGZvcm1OYW1lKVwkKENvbmZpZ3VyYXRpb25OYW1lKSINCi0JCQlJbnRlcm1lZGlhdGVEaXJlY3Rvcnk9IiQoUGxhdGZvcm1OYW1lKVwkKENvbmZpZ3VyYXRpb25OYW1lKSINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMSINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweXByb2plY3QudnNwcm9wczsuXHJlbGVhc2UudnNwcm9wcyINCi0JCQlVc2VPZk1GQz0iMCINCi0JCQlBVExNaW5pbWl6ZXNDUnVuVGltZUxpYnJhcnlVc2FnZT0iZmFsc2UiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Ik5ERUJVRyINCi0JCQkJTWtUeXBMaWJDb21wYXRpYmxlPSJ0cnVlIg0KLQkJCQlTdXBwcmVzc1N0YXJ0dXBCYW5uZXI9InRydWUiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCQlUeXBlTGlicmFyeU5hbWU9Ii5cLi5cLi5cbGliXGRpc3R1dGlsc1xjb21tYW5kXHdpbmluc3QudGxiIg0KLQkJCQlIZWFkZXJGaWxlTmFtZT0iIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJT3B0aW1pemF0aW9uPSIxIg0KLQkJCQlJbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj0iMSINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cUENcYmRpc3Rfd2luaW5zdDsuLlwuLlxJbmNsdWRlOy4uXC4uXE1vZHVsZXNcemxpYiINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Il9DUlRfU0VDVVJFX05PX0RFUFJFQ0FURTtfQ1JUX05PTlNURENfTk9fREVQUkVDQVRFIg0KLQkJCQlTdHJpbmdQb29saW5nPSJ0cnVlIg0KLQkJCQlSdW50aW1lTGlicmFyeT0iMCINCi0JCQkJRW5hYmxlRnVuY3Rpb25MZXZlbExpbmtpbmc9InRydWUiDQotCQkJCVdhcm5pbmdMZXZlbD0iMyINCi0JCQkJU3VwcHJlc3NTdGFydHVwQmFubmVyPSJ0cnVlIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iTkRFQlVHIg0KLQkJCQlDdWx0dXJlPSIwIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIuLlwuLlxQQzsuLlwuLlxQQ1xiZGlzdF93aW5pbnN0Oy4uXC4uXEluY2x1ZGUiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9ImNvbWN0bDMyLmxpYiBpbWFnZWhscC5saWIiDQotCQkJCU91dHB1dEZpbGU9Ii4uXC4uXGxpYlxkaXN0dXRpbHNcY29tbWFuZFx3aW5pbnN0LTkuMC1hbWQ2NC5leGUiDQotCQkJCUxpbmtJbmNyZW1lbnRhbD0iMSINCi0JCQkJU3VwcHJlc3NTdGFydHVwQmFubmVyPSJ0cnVlIg0KLQkJCQlJZ25vcmVEZWZhdWx0TGlicmFyeU5hbWVzPSJMSUJDIg0KLQkJCQlQcm9ncmFtRGF0YWJhc2VGaWxlPSIuLlwuLlxsaWJcZGlzdHV0aWxzXGNvbW1hbmRcd2luaW5zdC05LjAtYW1kNjQucGRiIg0KLQkJCQlTdWJTeXN0ZW09IjIiDQotCQkJCVJhbmRvbWl6ZWRCYXNlQWRkcmVzcz0iMSINCi0JCQkJRGF0YUV4ZWN1dGlvblByZXZlbnRpb249IjAiDQotCQkJCVRhcmdldE1hY2hpbmU9IjE3Ig0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCTwvQ29uZmlndXJhdGlvbnM+DQotCTxSZWZlcmVuY2VzPg0KLQk8L1JlZmVyZW5jZXM+DQotCTxGaWxlcz4NCi0JCTxGaWx0ZXINCi0JCQlOYW1lPSJTb3VyY2UgRmlsZXMiDQotCQkJRmlsdGVyPSJjcHA7YztjeHg7cmM7ZGVmO3I7b2RsO2lkbDtocGo7YmF0Ig0KLQkJCT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFBDXGJkaXN0X3dpbmluc3RcZXh0cmFjdC5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUENcYmRpc3Rfd2luaW5zdFxpbnN0YWxsLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbHRlcg0KLQkJCQlOYW1lPSJ6bGliIg0KLQkJCQk+DQotCQkJCTxGaWxlDQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcemxpYlxhZGxlcjMyLmMiDQotCQkJCQk+DQotCQkJCTwvRmlsZT4NCi0JCQkJPEZpbGUNCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1x6bGliXGNyYzMyLmMiDQotCQkJCQk+DQotCQkJCTwvRmlsZT4NCi0JCQkJPEZpbGUNCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1x6bGliXGluZmZhc3QuYyINCi0JCQkJCT4NCi0JCQkJPC9GaWxlPg0KLQkJCQk8RmlsZQ0KLQkJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXHpsaWJcaW5mbGF0ZS5jIg0KLQkJCQkJPg0KLQkJCQk8L0ZpbGU+DQotCQkJCTxGaWxlDQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcemxpYlxpbmZ0cmVlcy5jIg0KLQkJCQkJPg0KLQkJCQk8L0ZpbGU+DQotCQkJCTxGaWxlDQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcemxpYlx6dXRpbC5jIg0KLQkJCQkJPg0KLQkJCQk8L0ZpbGU+DQotCQkJPC9GaWx0ZXI+DQotCQk8L0ZpbHRlcj4NCi0JCTxGaWx0ZXINCi0JCQlOYW1lPSJIZWFkZXIgRmlsZXMiDQotCQkJRmlsdGVyPSJoO2hwcDtoeHg7aG07aW5sIg0KLQkJCT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFBDXGJkaXN0X3dpbmluc3RcYXJjaGl2ZS5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJPC9GaWx0ZXI+DQotCQk8RmlsdGVyDQotCQkJTmFtZT0iUmVzb3VyY2UgRmlsZXMiDQotCQkJRmlsdGVyPSJpY287Y3VyO2JtcDtkbGc7cmMyO3JjdDtiaW47cmdzO2dpZjtqcGc7anBlZztqcGUiDQotCQkJPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUENcYmRpc3Rfd2luaW5zdFxpbnN0YWxsLnJjIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUENcYmRpc3Rfd2luaW5zdFxQeXRob25Qb3dlcmVkLmJtcCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCTwvRmlsdGVyPg0KLQk8L0ZpbGVzPg0KLQk8R2xvYmFscz4NCi0JPC9HbG9iYWxzPg0KLTwvVmlzdWFsU3R1ZGlvUHJvamVjdD4NCmRpZmYgLS1naXQgYS9QQy9WUzkuMC9kZWJ1Zy52c3Byb3BzIGIvUEMvVlM5LjAvZGVidWcudnNwcm9wcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYmM2NDNjYi4uMDAwMDAwMAotLS0gYS9QQy9WUzkuMC9kZWJ1Zy52c3Byb3BzCisrKyAvZGV2L251bGwKQEAgLTEsMTUgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iV2luZG93cy0xMjUyIj8+DQotPFZpc3VhbFN0dWRpb1Byb3BlcnR5U2hlZXQNCi0JUHJvamVjdFR5cGU9IlZpc3VhbCBDKysiDQotCVZlcnNpb249IjguMDAiDQotCU5hbWU9ImRlYnVnIg0KLQk+DQotCTxUb29sDQotCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Il9ERUJVRyINCi0JLz4NCi0JPFVzZXJNYWNybw0KLQkJTmFtZT0iS2lsbFB5dGhvbkV4ZSINCi0JCVZhbHVlPSIkKE91dERpcilca2lsbF9weXRob25fZC5leGUiDQotCS8+DQotPC9WaXN1YWxTdHVkaW9Qcm9wZXJ0eVNoZWV0Pg0KZGlmZiAtLWdpdCBhL1BDL1ZTOS4wL2tpbGxfcHl0aG9uLmMgYi9QQy9WUzkuMC9raWxsX3B5dGhvbi5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2MDQ3MzFmLi4wMDAwMDAwCi0tLSBhL1BDL1ZTOS4wL2tpbGxfcHl0aG9uLmMKKysrIC9kZXYvbnVsbApAQCAtMSwxNzggKzAsMCBAQAotLyoKLSAqIEhlbHBlciBwcm9ncmFtIGZvciBraWxsaW5nIGxpbmdlcmluZyBweXRob25bX2RdLmV4ZSBwcm9jZXNzZXMgYmVmb3JlCi0gKiBidWlsZGluZywgdGh1cyBhdHRlbXB0aW5nIHRvIGF2b2lkIGJ1aWxkIGZhaWx1cmVzIGR1ZSB0byBmaWxlcyBiZWluZwotICogbG9ja2VkLgotICovCi0KLSNpbmNsdWRlIDx3aW5kb3dzLmg+Ci0jaW5jbHVkZSA8d2NoYXIuaD4KLSNpbmNsdWRlIDx0bGhlbHAzMi5oPgotI2luY2x1ZGUgPHN0ZGlvLmg+Ci0KLSNwcmFnbWEgY29tbWVudChsaWIsICJwc2FwaSIpCi0KLSNpZmRlZiBfREVCVUcKLSNkZWZpbmUgUFlUSE9OX0VYRSAgICAgICAgICAoTCJweXRob25fZC5leGUiKQotI2RlZmluZSBQWVRIT05fRVhFX0xFTiAgICAgICgxMikKLSNkZWZpbmUgS0lMTF9QWVRIT05fRVhFICAgICAoTCJraWxsX3B5dGhvbl9kLmV4ZSIpCi0jZGVmaW5lIEtJTExfUFlUSE9OX0VYRV9MRU4gKDE3KQotI2Vsc2UKLSNkZWZpbmUgUFlUSE9OX0VYRSAgICAgICAgICAoTCJweXRob24uZXhlIikKLSNkZWZpbmUgUFlUSE9OX0VYRV9MRU4gICAgICAoMTApCi0jZGVmaW5lIEtJTExfUFlUSE9OX0VYRSAgICAgKEwia2lsbF9weXRob24uZXhlIikKLSNkZWZpbmUgS0lMTF9QWVRIT05fRVhFX0xFTiAoMTUpCi0jZW5kaWYKLQotaW50Ci1tYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKLXsKLSAgICBIQU5ETEUgICBocCwgaHNwLCBoc207IC8qIHByb2Nlc3MsIHNuYXBzaG90IHByb2Nlc3Nlcywgc25hcHNob3QgbW9kdWxlcyAqLwotICAgIERXT1JEICAgIGRhYywgb3VyX3BpZDsKLSAgICBzaXplX3QgICBsZW47Ci0gICAgd2NoYXJfdCAgcGF0aFtNQVhfUEFUSCsxXTsKLQotICAgIE1PRFVMRUVOVFJZMzJXICBtZTsKLSAgICBQUk9DRVNTRU5UUlkzMlcgcGU7Ci0KLSAgICBtZS5kd1NpemUgPSBzaXplb2YoTU9EVUxFRU5UUlkzMlcpOwotICAgIHBlLmR3U2l6ZSA9IHNpemVvZihQUk9DRVNTRU5UUlkzMlcpOwotCi0gICAgbWVtc2V0KHBhdGgsIDAsIE1BWF9QQVRIKzEpOwotCi0gICAgb3VyX3BpZCA9IEdldEN1cnJlbnRQcm9jZXNzSWQoKTsKLQotICAgIGhzbSA9IENyZWF0ZVRvb2xoZWxwMzJTbmFwc2hvdChUSDMyQ1NfU05BUE1PRFVMRSwgb3VyX3BpZCk7Ci0gICAgaWYgKGhzbSA9PSBJTlZBTElEX0hBTkRMRV9WQUxVRSkgewotICAgICAgICBwcmludGYoIkNyZWF0ZVRvb2xoZWxwMzJTbmFwc2hvdFsxXSBmYWlsZWQ6ICVkXG4iLCBHZXRMYXN0RXJyb3IoKSk7Ci0gICAgICAgIHJldHVybiAxOwotICAgIH0KLQotICAgIGlmICghTW9kdWxlMzJGaXJzdFcoaHNtLCAmbWUpKSB7Ci0gICAgICAgIHByaW50ZigiTW9kdWxlMzJGaXJzdFdbMV0gZmFpbGVkOiAlZFxuIiwgR2V0TGFzdEVycm9yKCkpOwotICAgICAgICBDbG9zZUhhbmRsZShoc20pOwotICAgICAgICByZXR1cm4gMTsKLSAgICB9Ci0KLSAgICAvKgotICAgICAqIEVudW1lcmF0ZSBvdmVyIHRoZSBtb2R1bGVzIGZvciB0aGUgY3VycmVudCBwcm9jZXNzIGluIG9yZGVyIHRvIGZpbmQKLSAgICAgKiBraWxsX3Byb2Nlc3NbX2RdLmV4ZSwgdGhlbiB0YWtlIGEgbm90ZSBvZiB0aGUgZGlyZWN0b3J5IGl0IGxpdmVzIGluLgotICAgICAqLwotICAgIGRvIHsKLSAgICAgICAgaWYgKF93Y3NuaWNtcChtZS5zek1vZHVsZSwgS0lMTF9QWVRIT05fRVhFLCBLSUxMX1BZVEhPTl9FWEVfTEVOKSkKLSAgICAgICAgICAgIGNvbnRpbnVlOwotCi0gICAgICAgIGxlbiA9IHdjc25sZW5fcyhtZS5zekV4ZVBhdGgsIE1BWF9QQVRIKSAtIEtJTExfUFlUSE9OX0VYRV9MRU47Ci0gICAgICAgIHdjc25jcHlfcyhwYXRoLCBNQVhfUEFUSCsxLCBtZS5zekV4ZVBhdGgsIGxlbik7IAotCi0gICAgICAgIGJyZWFrOwotCi0gICAgfSB3aGlsZSAoTW9kdWxlMzJOZXh0Vyhoc20sICZtZSkpOwotCi0gICAgQ2xvc2VIYW5kbGUoaHNtKTsKLQotICAgIGlmIChwYXRoID09IE5VTEwpIHsKLSAgICAgICAgcHJpbnRmKCJmYWlsZWQgdG8gZGlzY2VybiBkaXJlY3Rvcnkgb2YgcnVubmluZyBwcm9jZXNzXG4iKTsKLSAgICAgICAgcmV0dXJuIDE7Ci0gICAgfQotCi0gICAgLyoKLSAgICAgKiBUYWtlIGEgc25hcHNob3Qgb2Ygc3lzdGVtIHByb2Nlc3Nlcy4gIEVudW1lcmF0ZSBvdmVyIHRoZSBzbmFwc2hvdCwKLSAgICAgKiBsb29raW5nIGZvciBweXRob24gcHJvY2Vzc2VzLiAgV2hlbiB3ZSBmaW5kIG9uZSwgdmVyaWZ5IGl0IGxpdmVzCi0gICAgICogaW4gdGhlIHNhbWUgZGlyZWN0b3J5IHdlIGxpdmUgaW4uICBJZiBpdCBkb2VzLCBraWxsIGl0LiAgSWYgd2UncmUKLSAgICAgKiB1bmFibGUgdG8ga2lsbCBpdCwgdHJlYXQgdGhpcyBhcyBhIGZhdGFsIGVycm9yIGFuZCByZXR1cm4gMS4KLSAgICAgKiAKLSAgICAgKiBUaGUgcmF0aW9uYWxlIGJlaGluZCB0aGlzIGlzIHRoYXQgd2UncmUgY2FsbGVkIGF0IHRoZSBzdGFydCBvZiB0aGUgCi0gICAgICogYnVpbGQgcHJvY2VzcyBvbiB0aGUgYmFzaXMgdGhhdCB3ZSdsbCB0YWtlIGNhcmUgb2Yga2lsbGluZyBhbnkKLSAgICAgKiBydW5uaW5nIGluc3RhbmNlcywgc3VjaCB0aGF0IHRoZSBidWlsZCB3b24ndCBlbmNvdW50ZXIgcGVybWlzc2lvbgotICAgICAqIGRlbmllZCBlcnJvcnMgZHVyaW5nIGxpbmtpbmcuIElmIHdlIGNhbid0IGtpbGwgb25lIG9mIHRoZSBwcm9jZXNzZXMsCi0gICAgICogd2UgY2FuJ3QgcHJvdmlkZSB0aGlzIGFzc3VyYW5jZSwgYW5kIHRoZSBidWlsZCBzaG91bGRuJ3Qgc3RhcnQuCi0gICAgICovCi0KLSAgICBoc3AgPSBDcmVhdGVUb29saGVscDMyU25hcHNob3QoVEgzMkNTX1NOQVBQUk9DRVNTLCAwKTsKLSAgICBpZiAoaHNwID09IElOVkFMSURfSEFORExFX1ZBTFVFKSB7Ci0gICAgICAgIHByaW50ZigiQ3JlYXRlVG9vbGhlbHAzMlNuYXBzaG90WzJdIGZhaWxlZDogJWRcbiIsIEdldExhc3RFcnJvcigpKTsKLSAgICAgICAgcmV0dXJuIDE7Ci0gICAgfQotCi0gICAgaWYgKCFQcm9jZXNzMzJGaXJzdFcoaHNwLCAmcGUpKSB7Ci0gICAgICAgIHByaW50ZigiUHJvY2VzczMyRmlyc3RXIGZhaWxlZDogJWRcbiIsIEdldExhc3RFcnJvcigpKTsKLSAgICAgICAgQ2xvc2VIYW5kbGUoaHNwKTsKLSAgICAgICAgcmV0dXJuIDE7Ci0gICAgfQotCi0gICAgZGFjID0gUFJPQ0VTU19RVUVSWV9JTkZPUk1BVElPTiB8IFBST0NFU1NfVk1fUkVBRCB8IFBST0NFU1NfVEVSTUlOQVRFOwotICAgIGRvIHsKLQotICAgICAgICAvKgotICAgICAgICAgKiBYWFggVE9ETzogaWYgd2UgcmVhbGx5IHdhbnRlZCB0byBiZSBmYW5jeSwgd2UgY291bGQgY2hlY2sgdGhlIAotICAgICAgICAgKiBtb2R1bGVzIGZvciBhbGwgcHJvY2Vzc2VzIChub3QganVzdCB0aGUgcHl0aG9uW19kXS5leGUgb25lcykKLSAgICAgICAgICogYW5kIHNlZSBpZiBhbnkgb2Ygb3VyIERMTHMgYXJlIGxvYWRlZCAoaS5lLiBweXRob24zNFtfZF0uZGxsKSwKLSAgICAgICAgICogYXMgdGhhdCB3b3VsZCBhbHNvIGluaGliaXQgb3VyIGFiaWxpdHkgdG8gcmVidWlsZCB0aGUgc29sdXRpb24uCi0gICAgICAgICAqIE5vdCB3b3J0aCBsb29zaW5nIHNsZWVwIG92ZXIgdGhvdWdoOyBmb3Igbm93LCBhIHNpbXBsZSBjaGVjayAKLSAgICAgICAgICogZm9yIGp1c3QgdGhlIHB5dGhvbiBleGVjdXRhYmxlIHNob3VsZCBiZSBzdWZmaWNpZW50LgotICAgICAgICAgKi8KLQotICAgICAgICBpZiAoX3djc25pY21wKHBlLnN6RXhlRmlsZSwgUFlUSE9OX0VYRSwgUFlUSE9OX0VYRV9MRU4pKQotICAgICAgICAgICAgLyogVGhpcyBpc24ndCBhIHB5dGhvbiBwcm9jZXNzLiAqLwotICAgICAgICAgICAgY29udGludWU7Ci0KLSAgICAgICAgLyogSXQncyBhIHB5dGhvbiBwcm9jZXNzLCBzbyBmaWd1cmUgb3V0IHdoaWNoIGRpcmVjdG9yeSBpdCdzIGluLi4uICovCi0gICAgICAgIGhzbSA9IENyZWF0ZVRvb2xoZWxwMzJTbmFwc2hvdChUSDMyQ1NfU05BUE1PRFVMRSwgcGUudGgzMlByb2Nlc3NJRCk7Ci0gICAgICAgIGlmIChoc20gPT0gSU5WQUxJRF9IQU5ETEVfVkFMVUUpCi0gICAgICAgICAgICAvKiAKLSAgICAgICAgICAgICAqIElmIG91ciBtb2R1bGUgc25hcHNob3QgZmFpbHMgKHdoaWNoIHdpbGwgaGFwcGVuIGlmIHdlIGRvbid0IG93bgotICAgICAgICAgICAgICogdGhlIHByb2Nlc3MpLCBqdXN0IGlnbm9yZSBpdCBhbmQgY29udGludWUuICAoSXQgc2VlbXMgZGlmZmVyZW50Ci0gICAgICAgICAgICAgKiB2ZXJzaW9ucyBvZiBXaW5kb3dzIHJldHVybiBkaWZmZXJlbnQgdmFsdWVzIGZvciBHZXRMYXN0RXJyb3IoKQotICAgICAgICAgICAgICogaW4gdGhpcyBzaXR1YXRpb247IGl0J3MgZWFzaWVyIHRvIGp1c3QgaWdub3JlIGl0IGFuZCBtb3ZlIG9uIHZzLgotICAgICAgICAgICAgICogc3RvcHBpbmcgdGhlIGJ1aWxkIGZvciB3aGF0IGNvdWxkIGJlIGEgZmFsc2UgcG9zaXRpdmUuKQotICAgICAgICAgICAgICovCi0gICAgICAgICAgICAgY29udGludWU7Ci0KLSAgICAgICAgaWYgKCFNb2R1bGUzMkZpcnN0Vyhoc20sICZtZSkpIHsKLSAgICAgICAgICAgIHByaW50ZigiTW9kdWxlMzJGaXJzdFdbMl0gZmFpbGVkOiAlZFxuIiwgR2V0TGFzdEVycm9yKCkpOwotICAgICAgICAgICAgQ2xvc2VIYW5kbGUoaHNwKTsKLSAgICAgICAgICAgIENsb3NlSGFuZGxlKGhzbSk7Ci0gICAgICAgICAgICByZXR1cm4gMTsKLSAgICAgICAgfQotCi0gICAgICAgIGRvIHsKLSAgICAgICAgICAgIGlmIChfd2NzbmljbXAobWUuc3pNb2R1bGUsIFBZVEhPTl9FWEUsIFBZVEhPTl9FWEVfTEVOKSkKLSAgICAgICAgICAgICAgICAvKiBXcm9uZyBtb2R1bGUsIHdlJ3JlIGxvb2tpbmcgZm9yIHB5dGhvbltfZF0uZXhlLi4uICovCi0gICAgICAgICAgICAgICAgY29udGludWU7Ci0KLSAgICAgICAgICAgIGlmIChfd2NzbmljbXAocGF0aCwgbWUuc3pFeGVQYXRoLCBsZW4pKQotICAgICAgICAgICAgICAgIC8qIFByb2Nlc3MgZG9lc24ndCBsaXZlIGluIG91ciBkaXJlY3RvcnkuICovCi0gICAgICAgICAgICAgICAgYnJlYWs7Ci0KLSAgICAgICAgICAgIC8qIFB5dGhvbiBwcm9jZXNzIHJlc2lkaW5nIGluIHRoZSByaWdodCBkaXJlY3RvcnksIGtpbGwgaXQhICAqLwotICAgICAgICAgICAgaHAgPSBPcGVuUHJvY2VzcyhkYWMsIEZBTFNFLCBwZS50aDMyUHJvY2Vzc0lEKTsKLSAgICAgICAgICAgIGlmICghaHApIHsKLSAgICAgICAgICAgICAgICBwcmludGYoIk9wZW5Qcm9jZXNzIGZhaWxlZDogJWRcbiIsIEdldExhc3RFcnJvcigpKTsKLSAgICAgICAgICAgICAgICBDbG9zZUhhbmRsZShoc3ApOwotICAgICAgICAgICAgICAgIENsb3NlSGFuZGxlKGhzbSk7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIDE7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIGlmICghVGVybWluYXRlUHJvY2VzcyhocCwgMSkpIHsKLSAgICAgICAgICAgICAgICBwcmludGYoIlRlcm1pbmF0ZVByb2Nlc3MgZmFpbGVkOiAlZFxuIiwgR2V0TGFzdEVycm9yKCkpOwotICAgICAgICAgICAgICAgIENsb3NlSGFuZGxlKGhzcCk7Ci0gICAgICAgICAgICAgICAgQ2xvc2VIYW5kbGUoaHNtKTsKLSAgICAgICAgICAgICAgICBDbG9zZUhhbmRsZShocCk7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIDE7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIENsb3NlSGFuZGxlKGhwKTsKLSAgICAgICAgICAgIGJyZWFrOwotCi0gICAgICAgIH0gd2hpbGUgKE1vZHVsZTMyTmV4dFcoaHNtLCAmbWUpKTsKLQotICAgICAgICBDbG9zZUhhbmRsZShoc20pOwotCi0gICAgfSB3aGlsZSAoUHJvY2VzczMyTmV4dFcoaHNwLCAmcGUpKTsKLQotICAgIENsb3NlSGFuZGxlKGhzcCk7Ci0KLSAgICByZXR1cm4gMDsKLX0KLQotLyogdmk6IHNldCB0cz04IHN3PTQgc3RzPTQgZXhwYW5kdGFiICovCmRpZmYgLS1naXQgYS9QQy9WUzkuMC9raWxsX3B5dGhvbi52Y3Byb2ogYi9QQy9WUzkuMC9raWxsX3B5dGhvbi52Y3Byb2oKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGEzNDEwN2EuLjAwMDAwMDAKLS0tIGEvUEMvVlM5LjAva2lsbF9weXRob24udmNwcm9qCisrKyAvZGV2L251bGwKQEAgLTEsMjc5ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IldpbmRvd3MtMTI1MiI/Pg0KLTxWaXN1YWxTdHVkaW9Qcm9qZWN0DQotCVByb2plY3RUeXBlPSJWaXN1YWwgQysrIg0KLQlWZXJzaW9uPSI5LjAwIg0KLQlOYW1lPSJraWxsX3B5dGhvbiINCi0JUHJvamVjdEdVSUQ9Ins2REUxMDc0NC1FMzk2LTQwQTUtQjRFMi0xQjY5QUE3QzhEMzF9Ig0KLQlSb290TmFtZXNwYWNlPSJraWxsX3B5dGhvbiINCi0JS2V5d29yZD0iV2luMzJQcm9qIg0KLQlUYXJnZXRGcmFtZXdvcmtWZXJzaW9uPSIxOTY2MTMiDQotCT4NCi0JPFBsYXRmb3Jtcz4NCi0JCTxQbGF0Zm9ybQ0KLQkJCU5hbWU9IldpbjMyIg0KLQkJLz4NCi0JCTxQbGF0Zm9ybQ0KLQkJCU5hbWU9Ing2NCINCi0JCS8+DQotCTwvUGxhdGZvcm1zPg0KLQk8VG9vbEZpbGVzPg0KLQk8L1Rvb2xGaWxlcz4NCi0JPENvbmZpZ3VyYXRpb25zPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJEZWJ1Z3xXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMSINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweXByb2plY3QudnNwcm9wczsuXGRlYnVnLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCU91dHB1dEZpbGU9IiQoT3V0RGlyKVwkKFByb2plY3ROYW1lKV9kLmV4ZSINCi0JCQkJU3ViU3lzdGVtPSIxIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IkRlYnVnfHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMSINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweXByb2plY3QudnNwcm9wczsuXGRlYnVnLnZzcHJvcHM7Llx4NjQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCU91dHB1dEZpbGU9IiQoT3V0RGlyKVwkKFByb2plY3ROYW1lKV9kLmV4ZSINCi0JCQkJU3ViU3lzdGVtPSIxIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjEiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlwcm9qZWN0LnZzcHJvcHM7LlxyZWxlYXNlLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlTdWJTeXN0ZW09IjEiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZXx4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjEiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlwcm9qZWN0LnZzcHJvcHM7LlxyZWxlYXNlLnZzcHJvcHM7Llx4NjQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlTdWJTeXN0ZW09IjEiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JPC9Db25maWd1cmF0aW9ucz4NCi0JPFJlZmVyZW5jZXM+DQotCTwvUmVmZXJlbmNlcz4NCi0JPEZpbGVzPg0KLQkJPEZpbHRlcg0KLQkJCU5hbWU9IlNvdXJjZSBGaWxlcyINCi0JCQk+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuXGtpbGxfcHl0aG9uLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQk8L0ZpbHRlcj4NCi0JPC9GaWxlcz4NCi0JPEdsb2JhbHM+DQotCTwvR2xvYmFscz4NCi08L1Zpc3VhbFN0dWRpb1Byb2plY3Q+DQpkaWZmIC0tZ2l0IGEvUEMvVlM5LjAvbWFrZV9idWlsZGluZm8uYyBiL1BDL1ZTOS4wL21ha2VfYnVpbGRpbmZvLmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZiNGE2NGEuLjAwMDAwMDAKLS0tIGEvUEMvVlM5LjAvbWFrZV9idWlsZGluZm8uYworKysgL2Rldi9udWxsCkBAIC0xLDE5NSArMCwwIEBACi0jaW5jbHVkZSA8d2luZG93cy5oPgotI2luY2x1ZGUgPHN5cy90eXBlcy5oPgotI2luY2x1ZGUgPHN5cy9zdGF0Lmg+Ci0jaW5jbHVkZSA8c3RkaW8uaD4KLSNpbmNsdWRlIDxpby5oPgotCi0jZGVmaW5lIENNRF9TSVpFIDUwMAotCi0vKiBUaGlzIGZpbGUgY3JlYXRlcyB0aGUgZ2V0YnVpbGRpbmZvLm8gb2JqZWN0LCBieSBmaXJzdAotICAgaW52b2tpbmcgc3Vid2NyZXYuZXhlIChpZiBmb3VuZCksIGFuZCB0aGVuIGludm9raW5nIGNsLmV4ZS4KLSAgIEFzIGEgc2lkZSBlZmZlY3QsIGl0IG1pZ2h0IGdlbmVyYXRlIFBDQnVpbGRcZ2V0YnVpbGRpbmZvMi5jCi0gICBhbHNvLiBJZiB0aGlzIGlzbid0IGEgc3VidmVyc2lvbiBjaGVja291dCwgb3Igc3Vid2NyZXYgaXNuJ3QKLSAgIGZvdW5kLCBpdCBjb21waWxlcyAuLlxcLi5cXE1vZHVsZXNcXGdldGJ1aWxkaW5mby5jIGluc3RlYWQuCi0KLSAgIEN1cnJlbnRseSwgc3Vid2NyZXYuZXhlIGlzIGZvdW5kIGZyb20gdGhlIHJlZ2lzdHJ5IGVudHJpZXMKLSAgIG9mIFRvcnRvaXNlU1ZOLgotCi0gICBObyBhdHRlbXB0IGlzIG1hZGUgdG8gcGxhY2UgZ2V0YnVpbGRpbmZvLm8gaW50byB0aGUgcHJvcGVyCi0gICBiaW5hcnkgZGlyZWN0b3J5LiBUaGlzIGlzbid0IG5lY2Vzc2FyeSwgYXMgdGhpcyB0b29sIGlzCi0gICBpbnZva2VkIGFzIGEgcHJlLWxpbmsgc3RlcCBmb3IgcHl0aG9uY29yZSwgc28gdGhhdCBvdmVyd3JpdGVzCi0gICBhbnkgcHJldmlvdXMgZ2V0YnVpbGRpbmZvLm8uCi0KLSAgIEhvd2V2ZXIsIGlmIGEgc2Vjb25kIGFyZ3VtZW50IGlzIHByb3ZpZGVkLCB0aGlzIHdpbGwgYmUgdXNlZAotICAgYXMgYSB0ZW1wb3JhcnkgZGlyZWN0b3J5IHdoZXJlIGFueSBnZXRidWlsZGluZm8yLmMgYW5kCi0gICBnZXRidWlsZGluZm8ubyBmaWxlcyBhcmUgcHV0LiAgVGhpcyBpcyB1c2VmdWwgaWYgbXVsdGlwbGUKLSAgIGNvbmZpZ3VyYXRpb25zIGFyZSBiZWluZyBidWlsdCBpbiBwYXJhbGxlbCwgdG8gYXZvaWQgdGhlbQotICAgdHJhbXBsaW5nIGVhY2ggb3RoZXIncyBmaWxlcy4KLQotKi8KLQotaW50IG1ha2VfYnVpbGRpbmZvMihjb25zdCBjaGFyICp0bXBwYXRoKQotewotICAgIHN0cnVjdCBfc3RhdCBzdDsKLSAgICBIS0VZIGhUb3J0b2lzZTsKLSAgICBjaGFyIGNvbW1hbmRbQ01EX1NJWkUrMV07Ci0gICAgRFdPUkQgdHlwZSwgc2l6ZTsKLSAgICBpZiAoX3N0YXQoIi5zdm4iLCAmc3QpIDwgMCkKLSAgICAgICAgcmV0dXJuIDA7Ci0gICAgLyogQWxsb3cgc3VwcHJlc3Npb24gb2Ygc3Vid2NyZXYuZXhlIGludm9jYXRpb24gaWYgYSBub19zdWJ3Y3JldiBmaWxlIGlzIHByZXNlbnQuICovCi0gICAgaWYgKF9zdGF0KCJub19zdWJ3Y3JldiIsICZzdCkgPT0gMCkKLSAgICAgICAgcmV0dXJuIDA7Ci0gICAgaWYgKFJlZ09wZW5LZXkoSEtFWV9MT0NBTF9NQUNISU5FLCAiU29mdHdhcmVcXFRvcnRvaXNlU1ZOIiwgJmhUb3J0b2lzZSkgIT0gRVJST1JfU1VDQ0VTUyAmJgotICAgICAgICBSZWdPcGVuS2V5KEhLRVlfQ1VSUkVOVF9VU0VSLCAiU29mdHdhcmVcXFRvcnRvaXNlU1ZOIiwgJmhUb3J0b2lzZSkgIT0gRVJST1JfU1VDQ0VTUykKLSAgICAgICAgLyogVG9ydG9pc2Ugbm90IGluc3RhbGxlZCAqLwotICAgICAgICByZXR1cm4gMDsKLSAgICBjb21tYW5kWzBdID0gJyInOyAgLyogcXVvdGUgdGhlIHBhdGggdG8gdGhlIGV4ZWN1dGFibGUgKi8KLSAgICBzaXplID0gc2l6ZW9mKGNvbW1hbmQpIC0gMTsKLSAgICBpZiAoUmVnUXVlcnlWYWx1ZUV4KGhUb3J0b2lzZSwgIkRpcmVjdG9yeSIsIDAsICZ0eXBlLCBjb21tYW5kKzEsICZzaXplKSAhPSBFUlJPUl9TVUNDRVNTIHx8Ci0gICAgICAgIHR5cGUgIT0gUkVHX1NaKQotICAgICAgICAvKiBSZWdpc3RyeSBjb3JydXB0ZWQgKi8KLSAgICAgICAgcmV0dXJuIDA7Ci0gICAgc3RyY2F0X3MoY29tbWFuZCwgQ01EX1NJWkUsICJiaW5cXHN1YndjcmV2LmV4ZSIpOwotICAgIGlmIChfc3RhdChjb21tYW5kKzEsICZzdCkgPCAwKQotICAgICAgICAvKiBzdWJ3Y3Jldi5leGUgbm90IHBhcnQgb2YgdGhlIHJlbGVhc2UgKi8KLSAgICAgICAgcmV0dXJuIDA7Ci0gICAgc3RyY2F0X3MoY29tbWFuZCwgQ01EX1NJWkUsICJcIiAuLlxcLi4gLi5cXC4uXFxNb2R1bGVzXFxnZXRidWlsZGluZm8uYyBcIiIpOwotICAgIHN0cmNhdF9zKGNvbW1hbmQsIENNRF9TSVpFLCB0bXBwYXRoKTsgLyogcXVvdGVkIHRtcHBhdGggKi8KLSAgICBzdHJjYXRfcyhjb21tYW5kLCBDTURfU0laRSwgImdldGJ1aWxkaW5mbzIuY1wiIik7Ci0KLSAgICBwdXRzKGNvbW1hbmQpOyBmZmx1c2goc3Rkb3V0KTsKLSAgICBpZiAoc3lzdGVtKGNvbW1hbmQpIDwgMCkKLSAgICAgICAgcmV0dXJuIDA7Ci0gICAgcmV0dXJuIDE7Ci19Ci0KLWNvbnN0IGNoYXIgREVMSU1TW10gPSB7ICIgXG4iIH07Ci0KLWludCBnZXRfbWVyY3VyaWFsX2luZm8oY2hhciAqIGhnYnJhbmNoLCBjaGFyICogaGd0YWcsIGNoYXIgKiBoZ3JldiwgaW50IHNpemUpCi17Ci0gICAgaW50IHJlc3VsdCA9IDA7Ci0gICAgY2hhciBmaWxlbmFtZVtDTURfU0laRV07Ci0gICAgY2hhciBjbWRsaW5lW0NNRF9TSVpFXTsKLQotICAgIHN0cmNweV9zKGZpbGVuYW1lLCBDTURfU0laRSwgInRtcFhYWFhYWCIpOwotICAgIGlmIChfbWt0ZW1wX3MoZmlsZW5hbWUsIENNRF9TSVpFKSA9PSAwKSB7Ci0gICAgICAgIGludCByYzsKLQotICAgICAgICBzdHJjcHlfcyhjbWRsaW5lLCBDTURfU0laRSwgImhnIGlkIC1iaXQgPiAiKTsKLSAgICAgICAgc3RyY2F0X3MoY21kbGluZSwgQ01EX1NJWkUsIGZpbGVuYW1lKTsKLSAgICAgICAgcmMgPSBzeXN0ZW0oY21kbGluZSk7Ci0gICAgICAgIGlmIChyYyA9PSAwKSB7Ci0gICAgICAgICAgICBGSUxFICogZnA7Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIGlmIChmb3Blbl9zKCZmcCwgZmlsZW5hbWUsICJyIikgPT0gMCkgewotICAgICAgICAgICAgICAgIGNoYXIgKiBjcCA9IGZnZXRzKGNtZGxpbmUsIENNRF9TSVpFLCBmcCk7Ci0KLSAgICAgICAgICAgICAgICBpZiAoY3ApIHsKLSAgICAgICAgICAgICAgICAgICAgY2hhciAqIGNvbnRleHQgPSBOVUxMOwotICAgICAgICAgICAgICAgICAgICBjaGFyICogdHAgPSBzdHJ0b2tfcyhjcCwgREVMSU1TLCAmY29udGV4dCk7Ci0gICAgICAgICAgICAgICAgICAgIGlmICh0cCkgewotICAgICAgICAgICAgICAgICAgICAgICAgc3RyY3B5X3MoaGdyZXYsIHNpemUsIHRwKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHRwID0gc3RydG9rX3MoTlVMTCwgREVMSU1TLCAmY29udGV4dCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAodHApIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJjcHlfcyhoZ2JyYW5jaCwgc2l6ZSwgdHApOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRwID0gc3RydG9rX3MoTlVMTCwgREVMSU1TLCAmY29udGV4dCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRwKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmNweV9zKGhndGFnLCBzaXplLCB0cCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9IDE7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGZjbG9zZShmcCk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICAgICAgX3VubGluayhmaWxlbmFtZSk7Ci0gICAgfQotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLWludCBtYWluKGludCBhcmdjLCBjaGFyKmFyZ3ZbXSkKLXsKLSAgICBjaGFyIGNvbW1hbmRbQ01EX1NJWkVdID0gImNsLmV4ZSAtYyAtRF9XSU4zMiAtRFVTRV9ETF9FWFBPUlQgLURfV0lORE9XUyAtRFdJTjMyIC1EX1dJTkRMTCAiOwotICAgIGNoYXIgdG1wcGF0aFtDTURfU0laRV0gPSAiIjsKLSAgICBpbnQgZG9fdW5saW5rLCByZXN1bHQ7Ci0gICAgY2hhciAqdG1wZGlyID0gTlVMTDsKLSAgICBpZiAoYXJnYyA8PSAyIHx8IGFyZ2MgPiAzKSB7Ci0gICAgICAgIGZwcmludGYoc3RkZXJyLCAibWFrZV9idWlsZGluZm8gJChDb25maWd1cmF0aW9uTmFtZSkgW3RtcGRpcl1cbiIpOwotICAgICAgICByZXR1cm4gRVhJVF9GQUlMVVJFOwotICAgIH0KLSAgICBpZiAoc3RyY21wKGFyZ3ZbMV0sICJSZWxlYXNlIikgPT0gMCkgewotICAgICAgICBzdHJjYXRfcyhjb21tYW5kLCBDTURfU0laRSwgIi1NRCAiKTsKLSAgICB9Ci0gICAgZWxzZSBpZiAoc3RyY21wKGFyZ3ZbMV0sICJEZWJ1ZyIpID09IDApIHsKLSAgICAgICAgc3RyY2F0X3MoY29tbWFuZCwgQ01EX1NJWkUsICItRF9ERUJVRyAtTURkICIpOwotICAgIH0KLSAgICBlbHNlIGlmIChzdHJjbXAoYXJndlsxXSwgIlJlbGVhc2VJdGFuaXVtIikgPT0gMCkgewotICAgICAgICBzdHJjYXRfcyhjb21tYW5kLCBDTURfU0laRSwgIi1NRCAvVVNFQ0w6TVNfSVRBTklVTSAiKTsKLSAgICB9Ci0gICAgZWxzZSBpZiAoc3RyY21wKGFyZ3ZbMV0sICJSZWxlYXNlQU1ENjQiKSA9PSAwKSB7Ci0gICAgICAgIHN0cmNhdF9zKGNvbW1hbmQsIENNRF9TSVpFLCAiLU1EICIpOwotICAgICAgICBzdHJjYXRfcyhjb21tYW5kLCBDTURfU0laRSwgIi1NRCAvVVNFQ0w6TVNfT1BURVJPTiAiKTsKLSAgICB9Ci0gICAgZWxzZSB7Ci0gICAgICAgIGZwcmludGYoc3RkZXJyLCAidW5zdXBwb3J0ZWQgY29uZmlndXJhdGlvbiAlc1xuIiwgYXJndlsxXSk7Ci0gICAgICAgIHJldHVybiBFWElUX0ZBSUxVUkU7Ci0gICAgfQotICAgIGlmIChhcmdjID4gMikgewotICAgICAgICB0bXBkaXIgPSBhcmd2WzJdOwotICAgICAgICBzdHJjYXRfcyh0bXBwYXRoLCBfY291bnRvZih0bXBwYXRoKSwgdG1wZGlyKTsKLSAgICAgICAgLyogSGFjayBmaXggZm9yIGJhZCBjb21tYW5kIGxpbmU6ICBJZiB0aGUgY29tbWFuZCBpcyBpc3N1ZWQgbGlrZSB0aGlzOgotICAgICAgICAgKiAkKFNvbHV0aW9uRGlyKW1ha2VfYnVpbGRpbmZvLmV4ZSIgRGVidWcgIiQoSW50RGlyKSIKLSAgICAgICAgICogd2Ugd2lsbCBnZXQgYSB0cmFpbGluZyBxdW90ZSBiZWNhdXNlIEludERpciBlbmRzIHdpdGggYSBiYWNrc2xhc2ggdGhhdCB0aGVuCi0gICAgICAgICAqIGVzY2FwZXMgdGhlIGZpbmFsICIuICBUbyBzaW1wbGlmeSB0aGUgbGlmZSBmb3IgZGV2ZWxvcGVycywgY2F0Y2ggdGhhdCBwcm9ibGVtCi0gICAgICAgICAqIGhlcmUgYnkgY3V0dGluZyBpdCBvZmYuCi0gICAgICAgICAqIFRoZSBwcm9wZXIgY29tbWFuZCBsaW5lLCBidHcgaXM6Ci0gICAgICAgICAqICQoU29sdXRpb25EaXIpbWFrZV9idWlsZGluZm8uZXhlIiBEZWJ1ZyAiJChJbnREaXIpXCIKLSAgICAgICAgICogSG9vcmF5IGZvciBjb21tYW5kIGxpbmUgcGFyc2luZyBvbiB3aW5kb3dzLgotICAgICAgICAgKi8KLSAgICAgICAgaWYgKHN0cmxlbih0bXBwYXRoKSA+IDAgJiYgdG1wcGF0aFtzdHJsZW4odG1wcGF0aCktMV0gPT0gJyInKQotICAgICAgICAgICAgdG1wcGF0aFtzdHJsZW4odG1wcGF0aCktMV0gPSAnXDAnOwotICAgICAgICBzdHJjYXRfcyh0bXBwYXRoLCBfY291bnRvZih0bXBwYXRoKSwgIlxcIik7Ci0gICAgfQotCi0gICAgaWYgKChkb191bmxpbmsgPSBtYWtlX2J1aWxkaW5mbzIodG1wcGF0aCkpKSB7Ci0gICAgICAgIHN0cmNhdF9zKGNvbW1hbmQsIENNRF9TSVpFLCAiXCIiKTsKLSAgICAgICAgc3RyY2F0X3MoY29tbWFuZCwgQ01EX1NJWkUsIHRtcHBhdGgpOwotICAgICAgICBzdHJjYXRfcyhjb21tYW5kLCBDTURfU0laRSwgImdldGJ1aWxkaW5mbzIuY1wiIC1EU1VCV0NSRVYgIik7Ci0gICAgfQotICAgIGVsc2UgewotICAgICAgICBjaGFyIGhndGFnW0NNRF9TSVpFXTsKLSAgICAgICAgY2hhciBoZ2JyYW5jaFtDTURfU0laRV07Ci0gICAgICAgIGNoYXIgaGdyZXZbQ01EX1NJWkVdOwotCi0gICAgICAgIGlmIChnZXRfbWVyY3VyaWFsX2luZm8oaGdicmFuY2gsIGhndGFnLCBoZ3JldiwgQ01EX1NJWkUpKSB7Ci0gICAgICAgICAgICBzdHJjYXRfcyhjb21tYW5kLCBDTURfU0laRSwgIi1ESEdCUkFOQ0g9XFxcIiIpOwotICAgICAgICAgICAgc3RyY2F0X3MoY29tbWFuZCwgQ01EX1NJWkUsIGhnYnJhbmNoKTsKLSAgICAgICAgICAgIHN0cmNhdF9zKGNvbW1hbmQsIENNRF9TSVpFLCAiXFxcIiIpOwotCi0gICAgICAgICAgICBzdHJjYXRfcyhjb21tYW5kLCBDTURfU0laRSwgIiAtREhHVEFHPVxcXCIiKTsKLSAgICAgICAgICAgIHN0cmNhdF9zKGNvbW1hbmQsIENNRF9TSVpFLCBoZ3RhZyk7Ci0gICAgICAgICAgICBzdHJjYXRfcyhjb21tYW5kLCBDTURfU0laRSwgIlxcXCIiKTsKLQotICAgICAgICAgICAgc3RyY2F0X3MoY29tbWFuZCwgQ01EX1NJWkUsICIgLURIR1ZFUlNJT049XFxcIiIpOwotICAgICAgICAgICAgc3RyY2F0X3MoY29tbWFuZCwgQ01EX1NJWkUsIGhncmV2KTsKLSAgICAgICAgICAgIHN0cmNhdF9zKGNvbW1hbmQsIENNRF9TSVpFLCAiXFxcIiAiKTsKLSAgICAgICAgfQotICAgICAgICBzdHJjYXRfcyhjb21tYW5kLCBDTURfU0laRSwgIi4uXFwuLlxcTW9kdWxlc1xcZ2V0YnVpbGRpbmZvLmMiKTsKLSAgICB9Ci0gICAgc3RyY2F0X3MoY29tbWFuZCwgQ01EX1NJWkUsICIgLUZvXCIiKTsKLSAgICBzdHJjYXRfcyhjb21tYW5kLCBDTURfU0laRSwgdG1wcGF0aCk7Ci0gICAgc3RyY2F0X3MoY29tbWFuZCwgQ01EX1NJWkUsICJnZXRidWlsZGluZm8ub1wiIC1JLi5cXC4uXFxJbmNsdWRlIC1JLi5cXC4uXFxQQyIpOwotICAgIHB1dHMoY29tbWFuZCk7IGZmbHVzaChzdGRvdXQpOwotICAgIHJlc3VsdCA9IHN5c3RlbShjb21tYW5kKTsKLSAgICBpZiAoZG9fdW5saW5rKSB7Ci0gICAgICAgIGNvbW1hbmRbMF0gPSAnXDAnOwotICAgICAgICBzdHJjYXRfcyhjb21tYW5kLCBDTURfU0laRSwgIlwiIik7Ci0gICAgICAgIHN0cmNhdF9zKGNvbW1hbmQsIENNRF9TSVpFLCB0bXBwYXRoKTsKLSAgICAgICAgc3RyY2F0X3MoY29tbWFuZCwgQ01EX1NJWkUsICJnZXRidWlsZGluZm8yLmNcIiIpOwotICAgICAgICBfdW5saW5rKGNvbW1hbmQpOwotICAgIH0KLSAgICBpZiAocmVzdWx0IDwgMCkKLSAgICAgICAgcmV0dXJuIEVYSVRfRkFJTFVSRTsKLSAgICByZXR1cm4gMDsKLX0KZGlmZiAtLWdpdCBhL1BDL1ZTOS4wL21ha2VfYnVpbGRpbmZvLnZjcHJvaiBiL1BDL1ZTOS4wL21ha2VfYnVpbGRpbmZvLnZjcHJvagpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTI0MDY1ZC4uMDAwMDAwMAotLS0gYS9QQy9WUzkuMC9tYWtlX2J1aWxkaW5mby52Y3Byb2oKKysrIC9kZXYvbnVsbApAQCAtMSwxMDEgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0id2luZG93cy0xMjUwIj8+DQotPFZpc3VhbFN0dWRpb1Byb2plY3QNCi0JUHJvamVjdFR5cGU9IlZpc3VhbCBDKysiDQotCVZlcnNpb249IjkuMDAiDQotCU5hbWU9Im1ha2VfYnVpbGRpbmZvIg0KLQlQcm9qZWN0R1VJRD0ie0M3M0YwRUMxLTM1OEItNDE3Ny05NDBGLTA4NDZBQzhCMDRDRH0iDQotCVJvb3ROYW1lc3BhY2U9Im1ha2VfYnVpbGRpbmZvIg0KLQlLZXl3b3JkPSJXaW4zMlByb2oiDQotCVRhcmdldEZyYW1ld29ya1ZlcnNpb249IjEzMTA3MiINCi0JPg0KLQk8UGxhdGZvcm1zPg0KLQkJPFBsYXRmb3JtDQotCQkJTmFtZT0iV2luMzIiDQotCQkvPg0KLQk8L1BsYXRmb3Jtcz4NCi0JPFRvb2xGaWxlcz4NCi0JPC9Ub29sRmlsZXM+DQotCTxDb25maWd1cmF0aW9ucz4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMSINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweXByb2plY3QudnNwcm9wczsuXHJlbGVhc2UudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJT3B0aW1pemF0aW9uPSIwIg0KLQkJCQlJbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj0iMSINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Il9DT05TT0xFIg0KLQkJCQlSdW50aW1lTGlicmFyeT0iMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJT3V0cHV0RmlsZT0iJChPdXREaXIpL21ha2VfYnVpbGRpbmZvLmV4ZSINCi0JCQkJUHJvZ3JhbURhdGFiYXNlRmlsZT0iJChUYXJnZXREaXIpJChUYXJnZXROYW1lKS5wZGIiDQotCQkJCVN1YlN5c3RlbT0iMSINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQk8L0NvbmZpZ3VyYXRpb25zPg0KLQk8UmVmZXJlbmNlcz4NCi0JPC9SZWZlcmVuY2VzPg0KLQk8RmlsZXM+DQotCQk8RmlsdGVyDQotCQkJTmFtZT0iU291cmNlIEZpbGVzIg0KLQkJCUZpbHRlcj0iY3BwO2M7Y3h4O2RlZjtvZGw7aWRsO2hwajtiYXQ7YXNtO2FzbXgiDQotCQkJVW5pcXVlSWRlbnRpZmllcj0iezRGQzczN0YxLUM3QTUtNDM3Ni1BMDY2LTJBMzJENzUyQTJGRn0iDQotCQkJPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLlxtYWtlX2J1aWxkaW5mby5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJPC9GaWx0ZXI+DQotCTwvRmlsZXM+DQotCTxHbG9iYWxzPg0KLQk8L0dsb2JhbHM+DQotPC9WaXN1YWxTdHVkaW9Qcm9qZWN0Pg0KZGlmZiAtLWdpdCBhL1BDL1ZTOS4wL21ha2VfdmVyc2lvbmluZm8udmNwcm9qIGIvUEMvVlM5LjAvbWFrZV92ZXJzaW9uaW5mby52Y3Byb2oKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDBhMWZkMjguLjAwMDAwMDAKLS0tIGEvUEMvVlM5LjAvbWFrZV92ZXJzaW9uaW5mby52Y3Byb2oKKysrIC9kZXYvbnVsbApAQCAtMSwzMjQgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iV2luZG93cy0xMjUyIj8+DQotPFZpc3VhbFN0dWRpb1Byb2plY3QNCi0JUHJvamVjdFR5cGU9IlZpc3VhbCBDKysiDQotCVZlcnNpb249IjkuMDAiDQotCU5hbWU9Im1ha2VfdmVyc2lvbmluZm8iDQotCVByb2plY3RHVUlEPSJ7RjBFMDU0MUUtRjE3RC00MzBCLTk3QzQtOTNBREYwREQyODRFfSINCi0JUm9vdE5hbWVzcGFjZT0ibWFrZV92ZXJzaW9uaW5mbyINCi0JVGFyZ2V0RnJhbWV3b3JrVmVyc2lvbj0iMTMxMDcyIg0KLQk+DQotCTxQbGF0Zm9ybXM+DQotCQk8UGxhdGZvcm0NCi0JCQlOYW1lPSJXaW4zMiINCi0JCS8+DQotCQk8UGxhdGZvcm0NCi0JCQlOYW1lPSJ4NjQiDQotCQkvPg0KLQk8L1BsYXRmb3Jtcz4NCi0JPFRvb2xGaWxlcz4NCi0JPC9Ub29sRmlsZXM+DQotCTxDb25maWd1cmF0aW9ucz4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMSINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweXByb2plY3QudnNwcm9wczsuXHJlbGVhc2UudnNwcm9wcyINCi0JCQlVc2VPZk1GQz0iMCINCi0JCQlBVExNaW5pbWl6ZXNDUnVuVGltZUxpYnJhcnlVc2FnZT0iZmFsc2UiDQotCQkJQ2hhcmFjdGVyU2V0PSIyIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJCURlc2NyaXB0aW9uPSJCdWlsZCBQQy9weXRob25udF9yYyhfZCkuaCINCi0JCQkJQ29tbWFuZExpbmU9ImNkICQoU29sdXRpb25EaXIpJiN4MEQ7JiN4MEE7bWFrZV92ZXJzaW9uaW5mby5leGUgJmd0OyAuLlwuLlxQQ1xweXRob25udF9yYy5oJiN4MEQ7JiN4MEE7Ig0KLQkJCQlPdXRwdXRzPSIkKFNvbHV0aW9uRGlyKS4uXC4uXFBDXHB5dGhvbm50X3JjLmgiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCU9wdGltaXphdGlvbj0iMiINCi0JCQkJSW5saW5lRnVuY3Rpb25FeHBhbnNpb249IjEiDQotCQkJCUVuYWJsZUludHJpbnNpY0Z1bmN0aW9ucz0idHJ1ZSINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iX0NPTlNPTEUiDQotCQkJCVN0cmluZ1Bvb2xpbmc9InRydWUiDQotCQkJCVJ1bnRpbWVMaWJyYXJ5PSIyIg0KLQkJCQlFbmFibGVGdW5jdGlvbkxldmVsTGlua2luZz0idHJ1ZSINCi0JCQkJQ29tcGlsZUFzPSIwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlPdXRwdXRGaWxlPSIkKFNvbHV0aW9uRGlyKW1ha2VfdmVyc2lvbmluZm8uZXhlIg0KLQkJCQlQcm9ncmFtRGF0YWJhc2VGaWxlPSIkKFRhcmdldERpcikkKFRhcmdldE5hbWUpLnBkYiINCi0JCQkJU3ViU3lzdGVtPSIxIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxZDAwMDAwMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkJQ29tbWFuZExpbmU9ImNkICQoU29sdXRpb25EaXIpJiN4MEQ7JiN4MEE7bWFrZV92ZXJzaW9uaW5mby5leGUgJmd0OyAuLlwuLlxQQ1xweXRob25fbnQuaCYjeDBEOyYjeDBBOyINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJSZWxlYXNlfHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMSINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweXByb2plY3QudnNwcm9wczsuXHg2NC52c3Byb3BzOy5ccmVsZWFzZS52c3Byb3BzIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJCURlc2NyaXB0aW9uPSJCdWlsZCBQQy9weXRob25udF9yYyhfZCkuaCINCi0JCQkJQ29tbWFuZExpbmU9ImNkICQoU29sdXRpb25EaXIpJiN4MEQ7JiN4MEE7bWFrZV92ZXJzaW9uaW5mby5leGUgJmd0OyAuLlwuLlxQQ1xweXRob25udF9yYy5oJiN4MEQ7JiN4MEE7Ig0KLQkJCQlPdXRwdXRzPSIkKFNvbHV0aW9uRGlyKS4uXC4uXFBDXHB5dGhvbm50X3JjLmgiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCU9wdGltaXphdGlvbj0iMiINCi0JCQkJSW5saW5lRnVuY3Rpb25FeHBhbnNpb249IjEiDQotCQkJCUVuYWJsZUludHJpbnNpY0Z1bmN0aW9ucz0idHJ1ZSINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Il9DT05TT0xFIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlPdXRwdXRGaWxlPSIkKFNvbHV0aW9uRGlyKW1ha2VfdmVyc2lvbmluZm8uZXhlIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCQlDb21tYW5kTGluZT0iY2QgJChTb2x1dGlvbkRpcikmI3gwRDsmI3gwQTttYWtlX3ZlcnNpb25pbmZvLmV4ZSAmZ3Q7IC4uXC4uXFBDXHB5dGhvbl9udC5oJiN4MEQ7JiN4MEE7Ig0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IkRlYnVnfFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIxIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5cHJvamVjdC52c3Byb3BzOy5cZGVidWcudnNwcm9wcyINCi0JCQlVc2VPZk1GQz0iMCINCi0JCQlBVExNaW5pbWl6ZXNDUnVuVGltZUxpYnJhcnlVc2FnZT0iZmFsc2UiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJCURlc2NyaXB0aW9uPSJCdWlsZCBQQy9weXRob25udF9yYyhfZCkuaCINCi0JCQkJQ29tbWFuZExpbmU9ImNkICQoU29sdXRpb25EaXIpJiN4MEQ7JiN4MEE7bWFrZV92ZXJzaW9uaW5mb19kLmV4ZSAmZ3Q7IC4uXC4uXFBDXHB5dGhvbm50X3JjX2QuaCYjeDBEOyYjeDBBOyINCi0JCQkJT3V0cHV0cz0iJChTb2x1dGlvbkRpcikuLlwuLlxQQ1xweXRob25udF9yY19kLmgiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCU9wdGltaXphdGlvbj0iMCINCi0JCQkJSW5saW5lRnVuY3Rpb25FeHBhbnNpb249IjEiDQotCQkJCUVuYWJsZUludHJpbnNpY0Z1bmN0aW9ucz0iZmFsc2UiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Il9DT05TT0xFIg0KLQkJCQlTdHJpbmdQb29saW5nPSJ0cnVlIg0KLQkJCQlSdW50aW1lTGlicmFyeT0iMiINCi0JCQkJRW5hYmxlRnVuY3Rpb25MZXZlbExpbmtpbmc9InRydWUiDQotCQkJCUNvbXBpbGVBcz0iMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJT3V0cHV0RmlsZT0iJChTb2x1dGlvbkRpciltYWtlX3ZlcnNpb25pbmZvX2QuZXhlIg0KLQkJCQlQcm9ncmFtRGF0YWJhc2VGaWxlPSIkKFRhcmdldERpcikkKFRhcmdldE5hbWUpLnBkYiINCi0JCQkJU3ViU3lzdGVtPSIxIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxZDAwMDAwMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkJQ29tbWFuZExpbmU9ImNkICQoU29sdXRpb25EaXIpJiN4MEQ7JiN4MEE7bWFrZV92ZXJzaW9uaW5mb19kLmV4ZSAmZ3Q7IC4uXC4uXFBDXHB5dGhvbl9udF9kLmgmI3gwRDsmI3gwQTsiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iRGVidWd8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIxIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5cHJvamVjdC52c3Byb3BzOy5ceDY0LnZzcHJvcHM7LlxkZWJ1Zy52c3Byb3BzIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJCURlc2NyaXB0aW9uPSJCdWlsZCBQQy9weXRob25udF9yYyhfZCkuaCINCi0JCQkJQ29tbWFuZExpbmU9ImNkICQoU29sdXRpb25EaXIpJiN4MEQ7JiN4MEE7bWFrZV92ZXJzaW9uaW5mb19kLmV4ZSAmZ3Q7IC4uXC4uXFBDXHB5dGhvbm50X3JjX2QuaCYjeDBEOyYjeDBBOyINCi0JCQkJT3V0cHV0cz0iJChTb2x1dGlvbkRpcikuLlwuLlxQQ1xweXRob25udF9yY19kLmgiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlPcHRpbWl6YXRpb249IjAiDQotCQkJCUlubGluZUZ1bmN0aW9uRXhwYW5zaW9uPSIxIg0KLQkJCQlFbmFibGVJbnRyaW5zaWNGdW5jdGlvbnM9ImZhbHNlIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iX0NPTlNPTEUiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCU91dHB1dEZpbGU9IiQoU29sdXRpb25EaXIpbWFrZV92ZXJzaW9uaW5mb19kLmV4ZSINCi0JCQkJVGFyZ2V0TWFjaGluZT0iMTciDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJCUNvbW1hbmRMaW5lPSJjZCAkKFNvbHV0aW9uRGlyKSYjeDBEOyYjeDBBO21ha2VfdmVyc2lvbmluZm9fZC5leGUgJmd0OyAuLlwuLlxQQ1xweXRob25fbnRfZC5oJiN4MEQ7JiN4MEE7Ig0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCTwvQ29uZmlndXJhdGlvbnM+DQotCTxSZWZlcmVuY2VzPg0KLQk8L1JlZmVyZW5jZXM+DQotCTxGaWxlcz4NCi0JCTxGaWx0ZXINCi0JCQlOYW1lPSJTb3VyY2UgRmlsZXMiDQotCQkJPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUENcbWFrZV92ZXJzaW9uaW5mby5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJPC9GaWx0ZXI+DQotCTwvRmlsZXM+DQotCTxHbG9iYWxzPg0KLQk8L0dsb2JhbHM+DQotPC9WaXN1YWxTdHVkaW9Qcm9qZWN0Pg0KZGlmZiAtLWdpdCBhL1BDL1ZTOS4wL3BjYnVpbGQuc2xuIGIvUEMvVlM5LjAvcGNidWlsZC5zbG4KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJhN2Y2OWMuLjAwMDAwMDAKLS0tIGEvUEMvVlM5LjAvcGNidWlsZC5zbG4KKysrIC9kZXYvbnVsbApAQCAtMSw2OTAgKzAsMCBAQAotTWljcm9zb2Z0IFZpc3VhbCBTdHVkaW8gU29sdXRpb24gRmlsZSwgRm9ybWF0IFZlcnNpb24gMTAuMDANCi0jIFZpc3VhbCBTdHVkaW8gMjAwOA0KLVByb2plY3QoIns4QkM5Q0VCOC04QjRBLTExRDAtOEQxMS0wMEEwQzkxQkM5NDJ9IikgPSAicHl0aG9uIiwgInB5dGhvbi52Y3Byb2oiLCAie0IxMUQ3NTBGLUNEMUYtNEE5Ni04NUNFLUU2OUE1QzUyNTlGOX0iDQotCVByb2plY3RTZWN0aW9uKFByb2plY3REZXBlbmRlbmNpZXMpID0gcG9zdFByb2plY3QNCi0JCXtDRjdBQzNEMS1FMkRGLTQxRDItQkVBNi0xRTI1NTZDREVBMjZ9ID0ge0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0NCi0JCXtFOUUwQTFGNi0wMDA5LTRFOEMtQjhGOC0xQjhGNUQ0OUEwNTh9ID0ge0U5RTBBMUY2LTAwMDktNEU4Qy1COEY4LTFCOEY1RDQ5QTA1OH0NCi0JRW5kUHJvamVjdFNlY3Rpb24NCi1FbmRQcm9qZWN0DQotUHJvamVjdCgiezhCQzlDRUI4LThCNEEtMTFEMC04RDExLTAwQTBDOTFCQzk0Mn0iKSA9ICJtYWtlX3ZlcnNpb25pbmZvIiwgIm1ha2VfdmVyc2lvbmluZm8udmNwcm9qIiwgIntGMEUwNTQxRS1GMTdELTQzMEItOTdDNC05M0FERjBERDI4NEV9Ig0KLUVuZFByb2plY3QNCi1Qcm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIpID0gInB5dGhvbmNvcmUiLCAicHl0aG9uY29yZS52Y3Byb2oiLCAie0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0iDQotCVByb2plY3RTZWN0aW9uKFByb2plY3REZXBlbmRlbmNpZXMpID0gcG9zdFByb2plY3QNCi0JCXtGMEUwNTQxRS1GMTdELTQzMEItOTdDNC05M0FERjBERDI4NEV9ID0ge0YwRTA1NDFFLUYxN0QtNDMwQi05N0M0LTkzQURGMEREMjg0RX0NCi0JCXs2REUxMDc0NC1FMzk2LTQwQTUtQjRFMi0xQjY5QUE3QzhEMzF9ID0gezZERTEwNzQ0LUUzOTYtNDBBNS1CNEUyLTFCNjlBQTdDOEQzMX0NCi0JCXtDNzNGMEVDMS0zNThCLTQxNzctOTQwRi0wODQ2QUM4QjA0Q0R9ID0ge0M3M0YwRUMxLTM1OEItNDE3Ny05NDBGLTA4NDZBQzhCMDRDRH0NCi0JRW5kUHJvamVjdFNlY3Rpb24NCi1FbmRQcm9qZWN0DQotUHJvamVjdCgiezhCQzlDRUI4LThCNEEtMTFEMC04RDExLTAwQTBDOTFCQzk0Mn0iKSA9ICJweXRob253IiwgInB5dGhvbncudmNwcm9qIiwgIntGNDIyOUNDMy04NzNDLTQ5QUUtOTcyOS1ERDMwOEVENENENEF9Ig0KLQlQcm9qZWN0U2VjdGlvbihQcm9qZWN0RGVwZW5kZW5jaWVzKSA9IHBvc3RQcm9qZWN0DQotCQl7Q0Y3QUMzRDEtRTJERi00MUQyLUJFQTYtMUUyNTU2Q0RFQTI2fSA9IHtDRjdBQzNEMS1FMkRGLTQxRDItQkVBNi0xRTI1NTZDREVBMjZ9DQotCUVuZFByb2plY3RTZWN0aW9uDQotRW5kUHJvamVjdA0KLVByb2plY3QoIns4QkM5Q0VCOC04QjRBLTExRDAtOEQxMS0wMEEwQzkxQkM5NDJ9IikgPSAibWFrZV9idWlsZGluZm8iLCAibWFrZV9idWlsZGluZm8udmNwcm9qIiwgIntDNzNGMEVDMS0zNThCLTQxNzctOTQwRi0wODQ2QUM4QjA0Q0R9Ig0KLUVuZFByb2plY3QNCi1Qcm9qZWN0KCJ7MjE1MEUzMzMtOEZEQy00MkEzLTk0NzQtMUEzOTU2RDQ2REU4fSIpID0gIlNvbHV0aW9uIEl0ZW1zIiwgIlNvbHV0aW9uIEl0ZW1zIiwgIns1NTNFQzMzRS05ODE2LTQ5OTYtQTY2MC01RDYxODZBMEIwQjN9Ig0KLQlQcm9qZWN0U2VjdGlvbihTb2x1dGlvbkl0ZW1zKSA9IHByZVByb2plY3QNCi0JCS4uXC4uXE1vZHVsZXNcZ2V0YnVpbGRpbmZvLmMgPSAuLlwuLlxNb2R1bGVzXGdldGJ1aWxkaW5mby5jDQotCQlyZWFkbWUudHh0ID0gcmVhZG1lLnR4dA0KLQlFbmRQcm9qZWN0U2VjdGlvbg0KLUVuZFByb2plY3QNCi1Qcm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIpID0gIndpbnNvdW5kIiwgIndpbnNvdW5kLnZjcHJvaiIsICJ7MjhCNUQ3NzctRERGMi00QjZCLUIzNEYtMzFEOTM4ODEzODU2fSINCi0JUHJvamVjdFNlY3Rpb24oUHJvamVjdERlcGVuZGVuY2llcykgPSBwb3N0UHJvamVjdA0KLQkJe0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0gPSB7Q0Y3QUMzRDEtRTJERi00MUQyLUJFQTYtMUUyNTU2Q0RFQTI2fQ0KLQlFbmRQcm9qZWN0U2VjdGlvbg0KLUVuZFByb2plY3QNCi1Qcm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIpID0gIl9kZWNpbWFsIiwgIl9kZWNpbWFsLnZjcHJvaiIsICJ7MEU5NzkxREItNTkzQS00NjVGLTk4QkMtNjgxMDExMzExNjE3fSINCi0JUHJvamVjdFNlY3Rpb24oUHJvamVjdERlcGVuZGVuY2llcykgPSBwb3N0UHJvamVjdA0KLQkJe0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0gPSB7Q0Y3QUMzRDEtRTJERi00MUQyLUJFQTYtMUUyNTU2Q0RFQTI2fQ0KLQlFbmRQcm9qZWN0U2VjdGlvbg0KLUVuZFByb2plY3QNCi1Qcm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIpID0gIl9jdHlwZXMiLCAiX2N0eXBlcy52Y3Byb2oiLCAiezBFOTc5MURCLTU5M0EtNDY1Ri05OEJDLTY4MTAxMTMxMTYxOH0iDQotCVByb2plY3RTZWN0aW9uKFByb2plY3REZXBlbmRlbmNpZXMpID0gcG9zdFByb2plY3QNCi0JCXtDRjdBQzNEMS1FMkRGLTQxRDItQkVBNi0xRTI1NTZDREVBMjZ9ID0ge0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0NCi0JRW5kUHJvamVjdFNlY3Rpb24NCi1FbmRQcm9qZWN0DQotUHJvamVjdCgiezhCQzlDRUI4LThCNEEtMTFEMC04RDExLTAwQTBDOTFCQzk0Mn0iKSA9ICJfY3R5cGVzX3Rlc3QiLCAiX2N0eXBlc190ZXN0LnZjcHJvaiIsICJ7OUVDNzE5MEEtMjQ5Ri00MTgwLUE5MDAtNTQ4RkRDRjMwNTVGfSINCi0JUHJvamVjdFNlY3Rpb24oUHJvamVjdERlcGVuZGVuY2llcykgPSBwb3N0UHJvamVjdA0KLQkJe0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0gPSB7Q0Y3QUMzRDEtRTJERi00MUQyLUJFQTYtMUUyNTU2Q0RFQTI2fQ0KLQlFbmRQcm9qZWN0U2VjdGlvbg0KLUVuZFByb2plY3QNCi1Qcm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIpID0gIl9lbGVtZW50dHJlZSIsICJfZWxlbWVudHRyZWUudmNwcm9qIiwgInsxN0UxRTA0OS1DMzA5LTRENzktODQzRi1BRTQ4M0MyNjRBRUF9Ig0KLQlQcm9qZWN0U2VjdGlvbihQcm9qZWN0RGVwZW5kZW5jaWVzKSA9IHBvc3RQcm9qZWN0DQotCQl7Q0Y3QUMzRDEtRTJERi00MUQyLUJFQTYtMUUyNTU2Q0RFQTI2fSA9IHtDRjdBQzNEMS1FMkRGLTQxRDItQkVBNi0xRTI1NTZDREVBMjZ9DQotCUVuZFByb2plY3RTZWN0aW9uDQotRW5kUHJvamVjdA0KLVByb2plY3QoIns4QkM5Q0VCOC04QjRBLTExRDAtOEQxMS0wMEEwQzkxQkM5NDJ9IikgPSAiX21zaSIsICJfbXNpLnZjcHJvaiIsICJ7MzFGRkM0NzgtN0I0QS00M0U4LTk5NTQtOEQwM0UyMTg3RTlDfSINCi0JUHJvamVjdFNlY3Rpb24oUHJvamVjdERlcGVuZGVuY2llcykgPSBwb3N0UHJvamVjdA0KLQkJe0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0gPSB7Q0Y3QUMzRDEtRTJERi00MUQyLUJFQTYtMUUyNTU2Q0RFQTI2fQ0KLQlFbmRQcm9qZWN0U2VjdGlvbg0KLUVuZFByb2plY3QNCi1Qcm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIpID0gIl9zb2NrZXQiLCAiX3NvY2tldC52Y3Byb2oiLCAiezg2OTM3RjUzLUMxODktNDBFRi04Q0U4LTg3NTlEOEU3RDQ4MH0iDQotCVByb2plY3RTZWN0aW9uKFByb2plY3REZXBlbmRlbmNpZXMpID0gcG9zdFByb2plY3QNCi0JCXtDRjdBQzNEMS1FMkRGLTQxRDItQkVBNi0xRTI1NTZDREVBMjZ9ID0ge0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0NCi0JRW5kUHJvamVjdFNlY3Rpb24NCi1FbmRQcm9qZWN0DQotUHJvamVjdCgiezhCQzlDRUI4LThCNEEtMTFEMC04RDExLTAwQTBDOTFCQzk0Mn0iKSA9ICJfc3FsaXRlMyIsICJfc3FsaXRlMy52Y3Byb2oiLCAiezEzQ0VDQjk3LTQxMTktNDMxNi05RDQyLTg1MzQwMTlBNUE0NH0iDQotCVByb2plY3RTZWN0aW9uKFByb2plY3REZXBlbmRlbmNpZXMpID0gcG9zdFByb2plY3QNCi0JCXtDRjdBQzNEMS1FMkRGLTQxRDItQkVBNi0xRTI1NTZDREVBMjZ9ID0ge0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0NCi0JCXtBMUEyOTVFNS00NjNDLTQzN0YtODFDQS0xRjMyMzY3Njg1REF9ID0ge0ExQTI5NUU1LTQ2M0MtNDM3Ri04MUNBLTFGMzIzNjc2ODVEQX0NCi0JRW5kUHJvamVjdFNlY3Rpb24NCi1FbmRQcm9qZWN0DQotUHJvamVjdCgiezhCQzlDRUI4LThCNEEtMTFEMC04RDExLTAwQTBDOTFCQzk0Mn0iKSA9ICJfc3NsIiwgIl9zc2wudmNwcm9qIiwgIntDNkUyMEY4NC0zMjQ3LTRBRDYtQjA1MS1CMDczMjY4RjczQkF9Ig0KLQlQcm9qZWN0U2VjdGlvbihQcm9qZWN0RGVwZW5kZW5jaWVzKSA9IHBvc3RQcm9qZWN0DQotCQl7QjExRDc1MEYtQ0QxRi00QTk2LTg1Q0UtRTY5QTVDNTI1OUY5fSA9IHtCMTFENzUwRi1DRDFGLTRBOTYtODVDRS1FNjlBNUM1MjU5Rjl9DQotCQl7ODY5MzdGNTMtQzE4OS00MEVGLThDRTgtODc1OUQ4RTdENDgwfSA9IHs4NjkzN0Y1My1DMTg5LTQwRUYtOENFOC04NzU5RDhFN0Q0ODB9DQotCQl7RTVCMDRDQzAtRUI0Qy00MkFCLUI0REMtMThFRjk1Rjg2NEIwfSA9IHtFNUIwNENDMC1FQjRDLTQyQUItQjREQy0xOEVGOTVGODY0QjB9DQotCQl7Q0Y3QUMzRDEtRTJERi00MUQyLUJFQTYtMUUyNTU2Q0RFQTI2fSA9IHtDRjdBQzNEMS1FMkRGLTQxRDItQkVBNi0xRTI1NTZDREVBMjZ9DQotCUVuZFByb2plY3RTZWN0aW9uDQotRW5kUHJvamVjdA0KLVByb2plY3QoIns4QkM5Q0VCOC04QjRBLTExRDAtOEQxMS0wMEEwQzkxQkM5NDJ9IikgPSAiX3Rlc3RjYXBpIiwgIl90ZXN0Y2FwaS52Y3Byb2oiLCAiezY5MDFEOTFDLTZFNDgtNEJCNy05RkVDLTcwMEM4MTMxREYxRH0iDQotCVByb2plY3RTZWN0aW9uKFByb2plY3REZXBlbmRlbmNpZXMpID0gcG9zdFByb2plY3QNCi0JCXtDRjdBQzNEMS1FMkRGLTQxRDItQkVBNi0xRTI1NTZDREVBMjZ9ID0ge0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0NCi0JRW5kUHJvamVjdFNlY3Rpb24NCi1FbmRQcm9qZWN0DQotUHJvamVjdCgiezhCQzlDRUI4LThCNEEtMTFEMC04RDExLTAwQTBDOTFCQzk0Mn0iKSA9ICJfdGVzdGltcG9ydG11bHRpcGxlIiwgIl90ZXN0aW1wb3J0bXVsdGlwbGUudmNwcm9qIiwgInszNkQwQzUyQy1ERjRFLTQ1RDAtOEJDNy1FMjk0QzNBQkM3ODF9Ig0KLQlQcm9qZWN0U2VjdGlvbihQcm9qZWN0RGVwZW5kZW5jaWVzKSA9IHBvc3RQcm9qZWN0DQotCQl7Q0Y3QUMzRDEtRTJERi00MUQyLUJFQTYtMUUyNTU2Q0RFQTI2fSA9IHtDRjdBQzNEMS1FMkRGLTQxRDItQkVBNi0xRTI1NTZDREVBMjZ9DQotCUVuZFByb2plY3RTZWN0aW9uDQotRW5kUHJvamVjdA0KLVByb2plY3QoIns4QkM5Q0VCOC04QjRBLTExRDAtOEQxMS0wMEEwQzkxQkM5NDJ9IikgPSAiX3RraW50ZXIiLCAiX3RraW50ZXIudmNwcm9qIiwgIns0OTQ2RUNBQy0yRTY5LTRCRjgtQTkwQS1GNTEzNkY1MDk0REZ9Ig0KLQlQcm9qZWN0U2VjdGlvbihQcm9qZWN0RGVwZW5kZW5jaWVzKSA9IHBvc3RQcm9qZWN0DQotCQl7Q0Y3QUMzRDEtRTJERi00MUQyLUJFQTYtMUUyNTU2Q0RFQTI2fSA9IHtDRjdBQzNEMS1FMkRGLTQxRDItQkVBNi0xRTI1NTZDREVBMjZ9DQotCUVuZFByb2plY3RTZWN0aW9uDQotRW5kUHJvamVjdA0KLVByb2plY3QoIns4QkM5Q0VCOC04QjRBLTExRDAtOEQxMS0wMEEwQzkxQkM5NDJ9IikgPSAiX2J6MiIsICJfYnoyLnZjcHJvaiIsICJ7NzNGQ0QyQkQtRjEzMy00NkI3LThFQzEtMTQ0Q0Q4MkE1OUQ1fSINCi0JUHJvamVjdFNlY3Rpb24oUHJvamVjdERlcGVuZGVuY2llcykgPSBwb3N0UHJvamVjdA0KLQkJe0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0gPSB7Q0Y3QUMzRDEtRTJERi00MUQyLUJFQTYtMUUyNTU2Q0RFQTI2fQ0KLQlFbmRQcm9qZWN0U2VjdGlvbg0KLUVuZFByb2plY3QNCi1Qcm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIpID0gIl9sem1hIiwgIl9sem1hLnZjcHJvaiIsICJ7RjlENzE3ODAtRjM5My0xMUUwLUJFNTAtMDgwMDIwMEM5QTY2fSINCi0JUHJvamVjdFNlY3Rpb24oUHJvamVjdERlcGVuZGVuY2llcykgPSBwb3N0UHJvamVjdA0KLQkJe0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0gPSB7Q0Y3QUMzRDEtRTJERi00MUQyLUJFQTYtMUUyNTU2Q0RFQTI2fQ0KLQlFbmRQcm9qZWN0U2VjdGlvbg0KLUVuZFByb2plY3QNCi1Qcm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIpID0gInNlbGVjdCIsICJzZWxlY3QudmNwcm9qIiwgInsxOENBRTI4Qy1CNDU0LTQ2QzEtODdBMC00OTNEOTFEOTdGMDN9Ig0KLQlQcm9qZWN0U2VjdGlvbihQcm9qZWN0RGVwZW5kZW5jaWVzKSA9IHBvc3RQcm9qZWN0DQotCQl7Q0Y3QUMzRDEtRTJERi00MUQyLUJFQTYtMUUyNTU2Q0RFQTI2fSA9IHtDRjdBQzNEMS1FMkRGLTQxRDItQkVBNi0xRTI1NTZDREVBMjZ9DQotCUVuZFByb2plY3RTZWN0aW9uDQotRW5kUHJvamVjdA0KLVByb2plY3QoIns4QkM5Q0VCOC04QjRBLTExRDAtOEQxMS0wMEEwQzkxQkM5NDJ9IikgPSAidW5pY29kZWRhdGEiLCAidW5pY29kZWRhdGEudmNwcm9qIiwgIntFQ0M3Q0VBQy1BNUU1LTQ1OEUtQkI5RS0yNDEzQ0M4NDc4ODF9Ig0KLQlQcm9qZWN0U2VjdGlvbihQcm9qZWN0RGVwZW5kZW5jaWVzKSA9IHBvc3RQcm9qZWN0DQotCQl7Q0Y3QUMzRDEtRTJERi00MUQyLUJFQTYtMUUyNTU2Q0RFQTI2fSA9IHtDRjdBQzNEMS1FMkRGLTQxRDItQkVBNi0xRTI1NTZDREVBMjZ9DQotCUVuZFByb2plY3RTZWN0aW9uDQotRW5kUHJvamVjdA0KLVByb2plY3QoIns4QkM5Q0VCOC04QjRBLTExRDAtOEQxMS0wMEEwQzkxQkM5NDJ9IikgPSAicHlleHBhdCIsICJweWV4cGF0LnZjcHJvaiIsICJ7RDA2QjY0MjYtNDc2Mi00NENDLThCQUQtRDc5MDUyNTA3RjJGfSINCi0JUHJvamVjdFNlY3Rpb24oUHJvamVjdERlcGVuZGVuY2llcykgPSBwb3N0UHJvamVjdA0KLQkJe0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0gPSB7Q0Y3QUMzRDEtRTJERi00MUQyLUJFQTYtMUUyNTU2Q0RFQTI2fQ0KLQlFbmRQcm9qZWN0U2VjdGlvbg0KLUVuZFByb2plY3QNCi1Qcm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIpID0gImJkaXN0X3dpbmluc3QiLCAiYmRpc3Rfd2luaW5zdC52Y3Byb2oiLCAie0VCMUMxOUMxLTFGMTgtNDIxRS05NzM1LUNBRUU2OURDNkEzQ30iDQotRW5kUHJvamVjdA0KLVByb2plY3QoIns4QkM5Q0VCOC04QjRBLTExRDAtOEQxMS0wMEEwQzkxQkM5NDJ9IikgPSAiX2hhc2hsaWIiLCAiX2hhc2hsaWIudmNwcm9qIiwgIns0NDdGMDVBOC1GNTgxLTRDQUMtQTQ2Ni01QUM3OTM2RTIwN0V9Ig0KLQlQcm9qZWN0U2VjdGlvbihQcm9qZWN0RGVwZW5kZW5jaWVzKSA9IHBvc3RQcm9qZWN0DQotCQl7QjExRDc1MEYtQ0QxRi00QTk2LTg1Q0UtRTY5QTVDNTI1OUY5fSA9IHtCMTFENzUwRi1DRDFGLTRBOTYtODVDRS1FNjlBNUM1MjU5Rjl9DQotCQl7RTVCMDRDQzAtRUI0Qy00MkFCLUI0REMtMThFRjk1Rjg2NEIwfSA9IHtFNUIwNENDMC1FQjRDLTQyQUItQjREQy0xOEVGOTVGODY0QjB9DQotCQl7Q0Y3QUMzRDEtRTJERi00MUQyLUJFQTYtMUUyNTU2Q0RFQTI2fSA9IHtDRjdBQzNEMS1FMkRGLTQxRDItQkVBNi0xRTI1NTZDREVBMjZ9DQotCUVuZFByb2plY3RTZWN0aW9uDQotRW5kUHJvamVjdA0KLVByb2plY3QoIns4QkM5Q0VCOC04QjRBLTExRDAtOEQxMS0wMEEwQzkxQkM5NDJ9IikgPSAic3FsaXRlMyIsICJzcWxpdGUzLnZjcHJvaiIsICJ7QTFBMjk1RTUtNDYzQy00MzdGLTgxQ0EtMUYzMjM2NzY4NURBfSINCi0JUHJvamVjdFNlY3Rpb24oUHJvamVjdERlcGVuZGVuY2llcykgPSBwb3N0UHJvamVjdA0KLQkJezZERTEwNzQ0LUUzOTYtNDBBNS1CNEUyLTFCNjlBQTdDOEQzMX0gPSB7NkRFMTA3NDQtRTM5Ni00MEE1LUI0RTItMUI2OUFBN0M4RDMxfQ0KLQlFbmRQcm9qZWN0U2VjdGlvbg0KLUVuZFByb2plY3QNCi1Qcm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIpID0gIl9tdWx0aXByb2Nlc3NpbmciLCAiX211bHRpcHJvY2Vzc2luZy52Y3Byb2oiLCAiezlFNDhCMzAwLTM3RDEtMTFERC04QzQxLTAwNTA1NkMwMDAwOH0iDQotCVByb2plY3RTZWN0aW9uKFByb2plY3REZXBlbmRlbmNpZXMpID0gcG9zdFByb2plY3QNCi0JCXtDRjdBQzNEMS1FMkRGLTQxRDItQkVBNi0xRTI1NTZDREVBMjZ9ID0ge0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0NCi0JRW5kUHJvamVjdFNlY3Rpb24NCi1FbmRQcm9qZWN0DQotUHJvamVjdCgiezhCQzlDRUI4LThCNEEtMTFEMC04RDExLTAwQTBDOTFCQzk0Mn0iKSA9ICJzc2wiLCAic3NsLnZjcHJvaiIsICJ7RTVCMDRDQzAtRUI0Qy00MkFCLUI0REMtMThFRjk1Rjg2NEIwfSINCi0JUHJvamVjdFNlY3Rpb24oUHJvamVjdERlcGVuZGVuY2llcykgPSBwb3N0UHJvamVjdA0KLQkJe0IxMUQ3NTBGLUNEMUYtNEE5Ni04NUNFLUU2OUE1QzUyNTlGOX0gPSB7QjExRDc1MEYtQ0QxRi00QTk2LTg1Q0UtRTY5QTVDNTI1OUY5fQ0KLQlFbmRQcm9qZWN0U2VjdGlvbg0KLUVuZFByb2plY3QNCi1Qcm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIpID0gImtpbGxfcHl0aG9uIiwgImtpbGxfcHl0aG9uLnZjcHJvaiIsICJ7NkRFMTA3NDQtRTM5Ni00MEE1LUI0RTItMUI2OUFBN0M4RDMxfSINCi1FbmRQcm9qZWN0DQotUHJvamVjdCgiezhCQzlDRUI4LThCNEEtMTFEMC04RDExLTAwQTBDOTFCQzk0Mn0iKSA9ICJweXRob24zZGxsIiwgInB5dGhvbjNkbGwudmNwcm9qIiwgIns4ODVENDg5OC1EMDhELTQwOTEtOUM0MC1DNzAwQ0ZFM0ZDNUF9Ig0KLUVuZFByb2plY3QNCi1Qcm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIpID0gInh4bGltaXRlZCIsICJ4eGxpbWl0ZWQudmNwcm9qIiwgIntGNzQ5QjgyMi1CNDg5LTRDQTUtQTNBRC1DRTA3OEY1RjMzOEF9Ig0KLUVuZFByb2plY3QNCi1Qcm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIpID0gIl90ZXN0YnVmZmVyIiwgIl90ZXN0YnVmZmVyLnZjcHJvaiIsICJ7QTI2OTdCRDMtMjhDMS00QUVDLTkxMDYtOEI3NDg2MzlGRDE2fSINCi0JUHJvamVjdFNlY3Rpb24oUHJvamVjdERlcGVuZGVuY2llcykgPSBwb3N0UHJvamVjdA0KLQkJe0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0gPSB7Q0Y3QUMzRDEtRTJERi00MUQyLUJFQTYtMUUyNTU2Q0RFQTI2fQ0KLQlFbmRQcm9qZWN0U2VjdGlvbg0KLUVuZFByb2plY3QNCi1HbG9iYWwNCi0JR2xvYmFsU2VjdGlvbihTb2x1dGlvbkNvbmZpZ3VyYXRpb25QbGF0Zm9ybXMpID0gcHJlU29sdXRpb24NCi0JCURlYnVnfFdpbjMyID0gRGVidWd8V2luMzINCi0JCURlYnVnfHg2NCA9IERlYnVnfHg2NA0KLQkJUEdJbnN0cnVtZW50fFdpbjMyID0gUEdJbnN0cnVtZW50fFdpbjMyDQotCQlQR0luc3RydW1lbnR8eDY0ID0gUEdJbnN0cnVtZW50fHg2NA0KLQkJUEdVcGRhdGV8V2luMzIgPSBQR1VwZGF0ZXxXaW4zMg0KLQkJUEdVcGRhdGV8eDY0ID0gUEdVcGRhdGV8eDY0DQotCQlSZWxlYXNlfFdpbjMyID0gUmVsZWFzZXxXaW4zMg0KLQkJUmVsZWFzZXx4NjQgPSBSZWxlYXNlfHg2NA0KLQlFbmRHbG9iYWxTZWN0aW9uDQotCUdsb2JhbFNlY3Rpb24oUHJvamVjdENvbmZpZ3VyYXRpb25QbGF0Zm9ybXMpID0gcG9zdFNvbHV0aW9uDQotCQl7QjExRDc1MEYtQ0QxRi00QTk2LTg1Q0UtRTY5QTVDNTI1OUY5fS5EZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBEZWJ1Z3xXaW4zMg0KLQkJe0IxMUQ3NTBGLUNEMUYtNEE5Ni04NUNFLUU2OUE1QzUyNTlGOX0uRGVidWd8V2luMzIuQnVpbGQuMCA9IERlYnVnfFdpbjMyDQotCQl7QjExRDc1MEYtQ0QxRi00QTk2LTg1Q0UtRTY5QTVDNTI1OUY5fS5EZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gRGVidWd8eDY0DQotCQl7QjExRDc1MEYtQ0QxRi00QTk2LTg1Q0UtRTY5QTVDNTI1OUY5fS5EZWJ1Z3x4NjQuQnVpbGQuMCA9IERlYnVnfHg2NA0KLQkJe0IxMUQ3NTBGLUNEMUYtNEE5Ni04NUNFLUU2OUE1QzUyNTlGOX0uUEdJbnN0cnVtZW50fFdpbjMyLkFjdGl2ZUNmZyA9IFBHSW5zdHJ1bWVudHxXaW4zMg0KLQkJe0IxMUQ3NTBGLUNEMUYtNEE5Ni04NUNFLUU2OUE1QzUyNTlGOX0uUEdJbnN0cnVtZW50fFdpbjMyLkJ1aWxkLjAgPSBQR0luc3RydW1lbnR8V2luMzINCi0JCXtCMTFENzUwRi1DRDFGLTRBOTYtODVDRS1FNjlBNUM1MjU5Rjl9LlBHSW5zdHJ1bWVudHx4NjQuQWN0aXZlQ2ZnID0gUEdJbnN0cnVtZW50fHg2NA0KLQkJe0IxMUQ3NTBGLUNEMUYtNEE5Ni04NUNFLUU2OUE1QzUyNTlGOX0uUEdJbnN0cnVtZW50fHg2NC5CdWlsZC4wID0gUEdJbnN0cnVtZW50fHg2NA0KLQkJe0IxMUQ3NTBGLUNEMUYtNEE5Ni04NUNFLUU2OUE1QzUyNTlGOX0uUEdVcGRhdGV8V2luMzIuQWN0aXZlQ2ZnID0gUEdVcGRhdGV8V2luMzINCi0JCXtCMTFENzUwRi1DRDFGLTRBOTYtODVDRS1FNjlBNUM1MjU5Rjl9LlBHVXBkYXRlfFdpbjMyLkJ1aWxkLjAgPSBQR1VwZGF0ZXxXaW4zMg0KLQkJe0IxMUQ3NTBGLUNEMUYtNEE5Ni04NUNFLUU2OUE1QzUyNTlGOX0uUEdVcGRhdGV8eDY0LkFjdGl2ZUNmZyA9IFBHVXBkYXRlfHg2NA0KLQkJe0IxMUQ3NTBGLUNEMUYtNEE5Ni04NUNFLUU2OUE1QzUyNTlGOX0uUEdVcGRhdGV8eDY0LkJ1aWxkLjAgPSBQR1VwZGF0ZXx4NjQNCi0JCXtCMTFENzUwRi1DRDFGLTRBOTYtODVDRS1FNjlBNUM1MjU5Rjl9LlJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KLQkJe0IxMUQ3NTBGLUNEMUYtNEE5Ni04NUNFLUU2OUE1QzUyNTlGOX0uUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KLQkJe0IxMUQ3NTBGLUNEMUYtNEE5Ni04NUNFLUU2OUE1QzUyNTlGOX0uUmVsZWFzZXx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXx4NjQNCi0JCXtCMTFENzUwRi1DRDFGLTRBOTYtODVDRS1FNjlBNUM1MjU5Rjl9LlJlbGVhc2V8eDY0LkJ1aWxkLjAgPSBSZWxlYXNlfHg2NA0KLQkJe0YwRTA1NDFFLUYxN0QtNDMwQi05N0M0LTkzQURGMEREMjg0RX0uRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gRGVidWd8V2luMzINCi0JCXtGMEUwNTQxRS1GMTdELTQzMEItOTdDNC05M0FERjBERDI4NEV9LkRlYnVnfFdpbjMyLkJ1aWxkLjAgPSBEZWJ1Z3xXaW4zMg0KLQkJe0YwRTA1NDFFLUYxN0QtNDMwQi05N0M0LTkzQURGMEREMjg0RX0uRGVidWd8eDY0LkFjdGl2ZUNmZyA9IERlYnVnfFdpbjMyDQotCQl7RjBFMDU0MUUtRjE3RC00MzBCLTk3QzQtOTNBREYwREQyODRFfS5EZWJ1Z3x4NjQuQnVpbGQuMCA9IERlYnVnfFdpbjMyDQotCQl7RjBFMDU0MUUtRjE3RC00MzBCLTk3QzQtOTNBREYwREQyODRFfS5QR0luc3RydW1lbnR8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KLQkJe0YwRTA1NDFFLUYxN0QtNDMwQi05N0M0LTkzQURGMEREMjg0RX0uUEdJbnN0cnVtZW50fFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQotCQl7RjBFMDU0MUUtRjE3RC00MzBCLTk3QzQtOTNBREYwREQyODRFfS5QR0luc3RydW1lbnR8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCi0JCXtGMEUwNTQxRS1GMTdELTQzMEItOTdDNC05M0FERjBERDI4NEV9LlBHSW5zdHJ1bWVudHx4NjQuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCi0JCXtGMEUwNTQxRS1GMTdELTQzMEItOTdDNC05M0FERjBERDI4NEV9LlBHVXBkYXRlfFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCi0JCXtGMEUwNTQxRS1GMTdELTQzMEItOTdDNC05M0FERjBERDI4NEV9LlBHVXBkYXRlfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQotCQl7RjBFMDU0MUUtRjE3RC00MzBCLTk3QzQtOTNBREYwREQyODRFfS5QR1VwZGF0ZXx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KLQkJe0YwRTA1NDFFLUYxN0QtNDMwQi05N0M0LTkzQURGMEREMjg0RX0uUEdVcGRhdGV8eDY0LkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQotCQl7RjBFMDU0MUUtRjE3RC00MzBCLTk3QzQtOTNBREYwREQyODRFfS5SZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCi0JCXtGMEUwNTQxRS1GMTdELTQzMEItOTdDNC05M0FERjBERDI4NEV9LlJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCi0JCXtGMEUwNTQxRS1GMTdELTQzMEItOTdDNC05M0FERjBERDI4NEV9LlJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCi0JCXtGMEUwNTQxRS1GMTdELTQzMEItOTdDNC05M0FERjBERDI4NEV9LlJlbGVhc2V8eDY0LkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQotCQl7Q0Y3QUMzRDEtRTJERi00MUQyLUJFQTYtMUUyNTU2Q0RFQTI2fS5EZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBEZWJ1Z3xXaW4zMg0KLQkJe0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0uRGVidWd8V2luMzIuQnVpbGQuMCA9IERlYnVnfFdpbjMyDQotCQl7Q0Y3QUMzRDEtRTJERi00MUQyLUJFQTYtMUUyNTU2Q0RFQTI2fS5EZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gRGVidWd8eDY0DQotCQl7Q0Y3QUMzRDEtRTJERi00MUQyLUJFQTYtMUUyNTU2Q0RFQTI2fS5EZWJ1Z3x4NjQuQnVpbGQuMCA9IERlYnVnfHg2NA0KLQkJe0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0uUEdJbnN0cnVtZW50fFdpbjMyLkFjdGl2ZUNmZyA9IFBHSW5zdHJ1bWVudHxXaW4zMg0KLQkJe0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0uUEdJbnN0cnVtZW50fFdpbjMyLkJ1aWxkLjAgPSBQR0luc3RydW1lbnR8V2luMzINCi0JCXtDRjdBQzNEMS1FMkRGLTQxRDItQkVBNi0xRTI1NTZDREVBMjZ9LlBHSW5zdHJ1bWVudHx4NjQuQWN0aXZlQ2ZnID0gUEdJbnN0cnVtZW50fHg2NA0KLQkJe0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0uUEdJbnN0cnVtZW50fHg2NC5CdWlsZC4wID0gUEdJbnN0cnVtZW50fHg2NA0KLQkJe0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0uUEdVcGRhdGV8V2luMzIuQWN0aXZlQ2ZnID0gUEdVcGRhdGV8V2luMzINCi0JCXtDRjdBQzNEMS1FMkRGLTQxRDItQkVBNi0xRTI1NTZDREVBMjZ9LlBHVXBkYXRlfFdpbjMyLkJ1aWxkLjAgPSBQR1VwZGF0ZXxXaW4zMg0KLQkJe0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0uUEdVcGRhdGV8eDY0LkFjdGl2ZUNmZyA9IFBHVXBkYXRlfHg2NA0KLQkJe0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0uUEdVcGRhdGV8eDY0LkJ1aWxkLjAgPSBQR1VwZGF0ZXx4NjQNCi0JCXtDRjdBQzNEMS1FMkRGLTQxRDItQkVBNi0xRTI1NTZDREVBMjZ9LlJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KLQkJe0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0uUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KLQkJe0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0uUmVsZWFzZXx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXx4NjQNCi0JCXtDRjdBQzNEMS1FMkRGLTQxRDItQkVBNi0xRTI1NTZDREVBMjZ9LlJlbGVhc2V8eDY0LkJ1aWxkLjAgPSBSZWxlYXNlfHg2NA0KLQkJe0Y0MjI5Q0MzLTg3M0MtNDlBRS05NzI5LUREMzA4RUQ0Q0Q0QX0uRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gRGVidWd8V2luMzINCi0JCXtGNDIyOUNDMy04NzNDLTQ5QUUtOTcyOS1ERDMwOEVENENENEF9LkRlYnVnfFdpbjMyLkJ1aWxkLjAgPSBEZWJ1Z3xXaW4zMg0KLQkJe0Y0MjI5Q0MzLTg3M0MtNDlBRS05NzI5LUREMzA4RUQ0Q0Q0QX0uRGVidWd8eDY0LkFjdGl2ZUNmZyA9IERlYnVnfHg2NA0KLQkJe0Y0MjI5Q0MzLTg3M0MtNDlBRS05NzI5LUREMzA4RUQ0Q0Q0QX0uRGVidWd8eDY0LkJ1aWxkLjAgPSBEZWJ1Z3x4NjQNCi0JCXtGNDIyOUNDMy04NzNDLTQ5QUUtOTcyOS1ERDMwOEVENENENEF9LlBHSW5zdHJ1bWVudHxXaW4zMi5BY3RpdmVDZmcgPSBQR0luc3RydW1lbnR8V2luMzINCi0JCXtGNDIyOUNDMy04NzNDLTQ5QUUtOTcyOS1ERDMwOEVENENENEF9LlBHSW5zdHJ1bWVudHxXaW4zMi5CdWlsZC4wID0gUEdJbnN0cnVtZW50fFdpbjMyDQotCQl7RjQyMjlDQzMtODczQy00OUFFLTk3MjktREQzMDhFRDRDRDRBfS5QR0luc3RydW1lbnR8eDY0LkFjdGl2ZUNmZyA9IFBHSW5zdHJ1bWVudHx4NjQNCi0JCXtGNDIyOUNDMy04NzNDLTQ5QUUtOTcyOS1ERDMwOEVENENENEF9LlBHSW5zdHJ1bWVudHx4NjQuQnVpbGQuMCA9IFBHSW5zdHJ1bWVudHx4NjQNCi0JCXtGNDIyOUNDMy04NzNDLTQ5QUUtOTcyOS1ERDMwOEVENENENEF9LlBHVXBkYXRlfFdpbjMyLkFjdGl2ZUNmZyA9IFBHVXBkYXRlfFdpbjMyDQotCQl7RjQyMjlDQzMtODczQy00OUFFLTk3MjktREQzMDhFRDRDRDRBfS5QR1VwZGF0ZXxXaW4zMi5CdWlsZC4wID0gUEdVcGRhdGV8V2luMzINCi0JCXtGNDIyOUNDMy04NzNDLTQ5QUUtOTcyOS1ERDMwOEVENENENEF9LlBHVXBkYXRlfHg2NC5BY3RpdmVDZmcgPSBQR1VwZGF0ZXx4NjQNCi0JCXtGNDIyOUNDMy04NzNDLTQ5QUUtOTcyOS1ERDMwOEVENENENEF9LlBHVXBkYXRlfHg2NC5CdWlsZC4wID0gUEdVcGRhdGV8eDY0DQotCQl7RjQyMjlDQzMtODczQy00OUFFLTk3MjktREQzMDhFRDRDRDRBfS5SZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCi0JCXtGNDIyOUNDMy04NzNDLTQ5QUUtOTcyOS1ERDMwOEVENENENEF9LlJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCi0JCXtGNDIyOUNDMy04NzNDLTQ5QUUtOTcyOS1ERDMwOEVENENENEF9LlJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8eDY0DQotCQl7RjQyMjlDQzMtODczQy00OUFFLTk3MjktREQzMDhFRDRDRDRBfS5SZWxlYXNlfHg2NC5CdWlsZC4wID0gUmVsZWFzZXx4NjQNCi0JCXtFOUUwQTFGNi0wMDA5LTRFOEMtQjhGOC0xQjhGNUQ0OUEwNTh9LkRlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9IERlYnVnfFdpbjMyDQotCQl7RTlFMEExRjYtMDAwOS00RThDLUI4RjgtMUI4RjVENDlBMDU4fS5EZWJ1Z3xXaW4zMi5CdWlsZC4wID0gRGVidWd8V2luMzINCi0JCXtFOUUwQTFGNi0wMDA5LTRFOEMtQjhGOC0xQjhGNUQ0OUEwNTh9LkRlYnVnfHg2NC5BY3RpdmVDZmcgPSBEZWJ1Z3x4NjQNCi0JCXtFOUUwQTFGNi0wMDA5LTRFOEMtQjhGOC0xQjhGNUQ0OUEwNTh9LkRlYnVnfHg2NC5CdWlsZC4wID0gRGVidWd8eDY0DQotCQl7RTlFMEExRjYtMDAwOS00RThDLUI4RjgtMUI4RjVENDlBMDU4fS5QR0luc3RydW1lbnR8V2luMzIuQWN0aXZlQ2ZnID0gUEdJbnN0cnVtZW50fFdpbjMyDQotCQl7RTlFMEExRjYtMDAwOS00RThDLUI4RjgtMUI4RjVENDlBMDU4fS5QR0luc3RydW1lbnR8V2luMzIuQnVpbGQuMCA9IFBHSW5zdHJ1bWVudHxXaW4zMg0KLQkJe0U5RTBBMUY2LTAwMDktNEU4Qy1COEY4LTFCOEY1RDQ5QTA1OH0uUEdJbnN0cnVtZW50fHg2NC5BY3RpdmVDZmcgPSBQR0luc3RydW1lbnR8eDY0DQotCQl7RTlFMEExRjYtMDAwOS00RThDLUI4RjgtMUI4RjVENDlBMDU4fS5QR0luc3RydW1lbnR8eDY0LkJ1aWxkLjAgPSBQR0luc3RydW1lbnR8eDY0DQotCQl7RTlFMEExRjYtMDAwOS00RThDLUI4RjgtMUI4RjVENDlBMDU4fS5QR1VwZGF0ZXxXaW4zMi5BY3RpdmVDZmcgPSBQR1VwZGF0ZXxXaW4zMg0KLQkJe0U5RTBBMUY2LTAwMDktNEU4Qy1COEY4LTFCOEY1RDQ5QTA1OH0uUEdVcGRhdGV8V2luMzIuQnVpbGQuMCA9IFBHVXBkYXRlfFdpbjMyDQotCQl7RTlFMEExRjYtMDAwOS00RThDLUI4RjgtMUI4RjVENDlBMDU4fS5QR1VwZGF0ZXx4NjQuQWN0aXZlQ2ZnID0gUEdVcGRhdGV8eDY0DQotCQl7RTlFMEExRjYtMDAwOS00RThDLUI4RjgtMUI4RjVENDlBMDU4fS5QR1VwZGF0ZXx4NjQuQnVpbGQuMCA9IFBHVXBkYXRlfHg2NA0KLQkJe0U5RTBBMUY2LTAwMDktNEU4Qy1COEY4LTFCOEY1RDQ5QTA1OH0uUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQotCQl7RTlFMEExRjYtMDAwOS00RThDLUI4RjgtMUI4RjVENDlBMDU4fS5SZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQotCQl7RTlFMEExRjYtMDAwOS00RThDLUI4RjgtMUI4RjVENDlBMDU4fS5SZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfHg2NA0KLQkJe0U5RTBBMUY2LTAwMDktNEU4Qy1COEY4LTFCOEY1RDQ5QTA1OH0uUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFJlbGVhc2V8eDY0DQotCQl7QzczRjBFQzEtMzU4Qi00MTc3LTk0MEYtMDg0NkFDOEIwNENEfS5EZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQotCQl7QzczRjBFQzEtMzU4Qi00MTc3LTk0MEYtMDg0NkFDOEIwNENEfS5EZWJ1Z3xXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KLQkJe0M3M0YwRUMxLTM1OEItNDE3Ny05NDBGLTA4NDZBQzhCMDRDRH0uRGVidWd8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCi0JCXtDNzNGMEVDMS0zNThCLTQxNzctOTQwRi0wODQ2QUM4QjA0Q0R9LkRlYnVnfHg2NC5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KLQkJe0M3M0YwRUMxLTM1OEItNDE3Ny05NDBGLTA4NDZBQzhCMDRDRH0uUEdJbnN0cnVtZW50fFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCi0JCXtDNzNGMEVDMS0zNThCLTQxNzctOTQwRi0wODQ2QUM4QjA0Q0R9LlBHSW5zdHJ1bWVudHxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KLQkJe0M3M0YwRUMxLTM1OEItNDE3Ny05NDBGLTA4NDZBQzhCMDRDRH0uUEdJbnN0cnVtZW50fHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQotCQl7QzczRjBFQzEtMzU4Qi00MTc3LTk0MEYtMDg0NkFDOEIwNENEfS5QR0luc3RydW1lbnR8eDY0LkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQotCQl7QzczRjBFQzEtMzU4Qi00MTc3LTk0MEYtMDg0NkFDOEIwNENEfS5QR1VwZGF0ZXxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQotCQl7QzczRjBFQzEtMzU4Qi00MTc3LTk0MEYtMDg0NkFDOEIwNENEfS5QR1VwZGF0ZXxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KLQkJe0M3M0YwRUMxLTM1OEItNDE3Ny05NDBGLTA4NDZBQzhCMDRDRH0uUEdVcGRhdGV8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCi0JCXtDNzNGMEVDMS0zNThCLTQxNzctOTQwRi0wODQ2QUM4QjA0Q0R9LlBHVXBkYXRlfHg2NC5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KLQkJe0M3M0YwRUMxLTM1OEItNDE3Ny05NDBGLTA4NDZBQzhCMDRDRH0uUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQotCQl7QzczRjBFQzEtMzU4Qi00MTc3LTk0MEYtMDg0NkFDOEIwNENEfS5SZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQotCQl7QzczRjBFQzEtMzU4Qi00MTc3LTk0MEYtMDg0NkFDOEIwNENEfS5SZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQotCQl7QzczRjBFQzEtMzU4Qi00MTc3LTk0MEYtMDg0NkFDOEIwNENEfS5SZWxlYXNlfHg2NC5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KLQkJezI4QjVENzc3LURERjItNEI2Qi1CMzRGLTMxRDkzODgxMzg1Nn0uRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gRGVidWd8V2luMzINCi0JCXsyOEI1RDc3Ny1EREYyLTRCNkItQjM0Ri0zMUQ5Mzg4MTM4NTZ9LkRlYnVnfFdpbjMyLkJ1aWxkLjAgPSBEZWJ1Z3xXaW4zMg0KLQkJezI4QjVENzc3LURERjItNEI2Qi1CMzRGLTMxRDkzODgxMzg1Nn0uRGVidWd8eDY0LkFjdGl2ZUNmZyA9IERlYnVnfHg2NA0KLQkJezI4QjVENzc3LURERjItNEI2Qi1CMzRGLTMxRDkzODgxMzg1Nn0uRGVidWd8eDY0LkJ1aWxkLjAgPSBEZWJ1Z3x4NjQNCi0JCXsyOEI1RDc3Ny1EREYyLTRCNkItQjM0Ri0zMUQ5Mzg4MTM4NTZ9LlBHSW5zdHJ1bWVudHxXaW4zMi5BY3RpdmVDZmcgPSBQR0luc3RydW1lbnR8V2luMzINCi0JCXsyOEI1RDc3Ny1EREYyLTRCNkItQjM0Ri0zMUQ5Mzg4MTM4NTZ9LlBHSW5zdHJ1bWVudHxXaW4zMi5CdWlsZC4wID0gUEdJbnN0cnVtZW50fFdpbjMyDQotCQl7MjhCNUQ3NzctRERGMi00QjZCLUIzNEYtMzFEOTM4ODEzODU2fS5QR0luc3RydW1lbnR8eDY0LkFjdGl2ZUNmZyA9IFBHSW5zdHJ1bWVudHx4NjQNCi0JCXsyOEI1RDc3Ny1EREYyLTRCNkItQjM0Ri0zMUQ5Mzg4MTM4NTZ9LlBHSW5zdHJ1bWVudHx4NjQuQnVpbGQuMCA9IFBHSW5zdHJ1bWVudHx4NjQNCi0JCXsyOEI1RDc3Ny1EREYyLTRCNkItQjM0Ri0zMUQ5Mzg4MTM4NTZ9LlBHVXBkYXRlfFdpbjMyLkFjdGl2ZUNmZyA9IFBHVXBkYXRlfFdpbjMyDQotCQl7MjhCNUQ3NzctRERGMi00QjZCLUIzNEYtMzFEOTM4ODEzODU2fS5QR1VwZGF0ZXxXaW4zMi5CdWlsZC4wID0gUEdVcGRhdGV8V2luMzINCi0JCXsyOEI1RDc3Ny1EREYyLTRCNkItQjM0Ri0zMUQ5Mzg4MTM4NTZ9LlBHVXBkYXRlfHg2NC5BY3RpdmVDZmcgPSBQR1VwZGF0ZXx4NjQNCi0JCXsyOEI1RDc3Ny1EREYyLTRCNkItQjM0Ri0zMUQ5Mzg4MTM4NTZ9LlBHVXBkYXRlfHg2NC5CdWlsZC4wID0gUEdVcGRhdGV8eDY0DQotCQl7MjhCNUQ3NzctRERGMi00QjZCLUIzNEYtMzFEOTM4ODEzODU2fS5SZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCi0JCXsyOEI1RDc3Ny1EREYyLTRCNkItQjM0Ri0zMUQ5Mzg4MTM4NTZ9LlJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCi0JCXsyOEI1RDc3Ny1EREYyLTRCNkItQjM0Ri0zMUQ5Mzg4MTM4NTZ9LlJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8eDY0DQotCQl7MjhCNUQ3NzctRERGMi00QjZCLUIzNEYtMzFEOTM4ODEzODU2fS5SZWxlYXNlfHg2NC5CdWlsZC4wID0gUmVsZWFzZXx4NjQNCi0JCXswRTk3OTFEQi01OTNBLTQ2NUYtOThCQy02ODEwMTEzMTE2MTd9LkRlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9IERlYnVnfFdpbjMyDQotCQl7MEU5NzkxREItNTkzQS00NjVGLTk4QkMtNjgxMDExMzExNjE3fS5EZWJ1Z3xXaW4zMi5CdWlsZC4wID0gRGVidWd8V2luMzINCi0JCXswRTk3OTFEQi01OTNBLTQ2NUYtOThCQy02ODEwMTEzMTE2MTd9LkRlYnVnfHg2NC5BY3RpdmVDZmcgPSBEZWJ1Z3x4NjQNCi0JCXswRTk3OTFEQi01OTNBLTQ2NUYtOThCQy02ODEwMTEzMTE2MTd9LkRlYnVnfHg2NC5CdWlsZC4wID0gRGVidWd8eDY0DQotCQl7MEU5NzkxREItNTkzQS00NjVGLTk4QkMtNjgxMDExMzExNjE3fS5QR0luc3RydW1lbnR8V2luMzIuQWN0aXZlQ2ZnID0gUEdJbnN0cnVtZW50fFdpbjMyDQotCQl7MEU5NzkxREItNTkzQS00NjVGLTk4QkMtNjgxMDExMzExNjE3fS5QR0luc3RydW1lbnR8V2luMzIuQnVpbGQuMCA9IFBHSW5zdHJ1bWVudHxXaW4zMg0KLQkJezBFOTc5MURCLTU5M0EtNDY1Ri05OEJDLTY4MTAxMTMxMTYxN30uUEdJbnN0cnVtZW50fHg2NC5BY3RpdmVDZmcgPSBQR0luc3RydW1lbnR8eDY0DQotCQl7MEU5NzkxREItNTkzQS00NjVGLTk4QkMtNjgxMDExMzExNjE3fS5QR0luc3RydW1lbnR8eDY0LkJ1aWxkLjAgPSBQR0luc3RydW1lbnR8eDY0DQotCQl7MEU5NzkxREItNTkzQS00NjVGLTk4QkMtNjgxMDExMzExNjE3fS5QR1VwZGF0ZXxXaW4zMi5BY3RpdmVDZmcgPSBQR1VwZGF0ZXxXaW4zMg0KLQkJezBFOTc5MURCLTU5M0EtNDY1Ri05OEJDLTY4MTAxMTMxMTYxN30uUEdVcGRhdGV8V2luMzIuQnVpbGQuMCA9IFBHVXBkYXRlfFdpbjMyDQotCQl7MEU5NzkxREItNTkzQS00NjVGLTk4QkMtNjgxMDExMzExNjE3fS5QR1VwZGF0ZXx4NjQuQWN0aXZlQ2ZnID0gUEdVcGRhdGV8eDY0DQotCQl7MEU5NzkxREItNTkzQS00NjVGLTk4QkMtNjgxMDExMzExNjE3fS5QR1VwZGF0ZXx4NjQuQnVpbGQuMCA9IFBHVXBkYXRlfHg2NA0KLQkJezBFOTc5MURCLTU5M0EtNDY1Ri05OEJDLTY4MTAxMTMxMTYxN30uUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQotCQl7MEU5NzkxREItNTkzQS00NjVGLTk4QkMtNjgxMDExMzExNjE3fS5SZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQotCQl7MEU5NzkxREItNTkzQS00NjVGLTk4QkMtNjgxMDExMzExNjE3fS5SZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfHg2NA0KLQkJezBFOTc5MURCLTU5M0EtNDY1Ri05OEJDLTY4MTAxMTMxMTYxN30uUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFJlbGVhc2V8eDY0DQotCQl7MEU5NzkxREItNTkzQS00NjVGLTk4QkMtNjgxMDExMzExNjE4fS5EZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBEZWJ1Z3xXaW4zMg0KLQkJezBFOTc5MURCLTU5M0EtNDY1Ri05OEJDLTY4MTAxMTMxMTYxOH0uRGVidWd8V2luMzIuQnVpbGQuMCA9IERlYnVnfFdpbjMyDQotCQl7MEU5NzkxREItNTkzQS00NjVGLTk4QkMtNjgxMDExMzExNjE4fS5EZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gRGVidWd8eDY0DQotCQl7MEU5NzkxREItNTkzQS00NjVGLTk4QkMtNjgxMDExMzExNjE4fS5EZWJ1Z3x4NjQuQnVpbGQuMCA9IERlYnVnfHg2NA0KLQkJezBFOTc5MURCLTU5M0EtNDY1Ri05OEJDLTY4MTAxMTMxMTYxOH0uUEdJbnN0cnVtZW50fFdpbjMyLkFjdGl2ZUNmZyA9IFBHSW5zdHJ1bWVudHxXaW4zMg0KLQkJezBFOTc5MURCLTU5M0EtNDY1Ri05OEJDLTY4MTAxMTMxMTYxOH0uUEdJbnN0cnVtZW50fFdpbjMyLkJ1aWxkLjAgPSBQR0luc3RydW1lbnR8V2luMzINCi0JCXswRTk3OTFEQi01OTNBLTQ2NUYtOThCQy02ODEwMTEzMTE2MTh9LlBHSW5zdHJ1bWVudHx4NjQuQWN0aXZlQ2ZnID0gUEdJbnN0cnVtZW50fHg2NA0KLQkJezBFOTc5MURCLTU5M0EtNDY1Ri05OEJDLTY4MTAxMTMxMTYxOH0uUEdJbnN0cnVtZW50fHg2NC5CdWlsZC4wID0gUEdJbnN0cnVtZW50fHg2NA0KLQkJezBFOTc5MURCLTU5M0EtNDY1Ri05OEJDLTY4MTAxMTMxMTYxOH0uUEdVcGRhdGV8V2luMzIuQWN0aXZlQ2ZnID0gUEdVcGRhdGV8V2luMzINCi0JCXswRTk3OTFEQi01OTNBLTQ2NUYtOThCQy02ODEwMTEzMTE2MTh9LlBHVXBkYXRlfFdpbjMyLkJ1aWxkLjAgPSBQR1VwZGF0ZXxXaW4zMg0KLQkJezBFOTc5MURCLTU5M0EtNDY1Ri05OEJDLTY4MTAxMTMxMTYxOH0uUEdVcGRhdGV8eDY0LkFjdGl2ZUNmZyA9IFBHVXBkYXRlfHg2NA0KLQkJezBFOTc5MURCLTU5M0EtNDY1Ri05OEJDLTY4MTAxMTMxMTYxOH0uUEdVcGRhdGV8eDY0LkJ1aWxkLjAgPSBQR1VwZGF0ZXx4NjQNCi0JCXswRTk3OTFEQi01OTNBLTQ2NUYtOThCQy02ODEwMTEzMTE2MTh9LlJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KLQkJezBFOTc5MURCLTU5M0EtNDY1Ri05OEJDLTY4MTAxMTMxMTYxOH0uUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KLQkJezBFOTc5MURCLTU5M0EtNDY1Ri05OEJDLTY4MTAxMTMxMTYxOH0uUmVsZWFzZXx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXx4NjQNCi0JCXswRTk3OTFEQi01OTNBLTQ2NUYtOThCQy02ODEwMTEzMTE2MTh9LlJlbGVhc2V8eDY0LkJ1aWxkLjAgPSBSZWxlYXNlfHg2NA0KLQkJezlFQzcxOTBBLTI0OUYtNDE4MC1BOTAwLTU0OEZEQ0YzMDU1Rn0uRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gRGVidWd8V2luMzINCi0JCXs5RUM3MTkwQS0yNDlGLTQxODAtQTkwMC01NDhGRENGMzA1NUZ9LkRlYnVnfFdpbjMyLkJ1aWxkLjAgPSBEZWJ1Z3xXaW4zMg0KLQkJezlFQzcxOTBBLTI0OUYtNDE4MC1BOTAwLTU0OEZEQ0YzMDU1Rn0uRGVidWd8eDY0LkFjdGl2ZUNmZyA9IERlYnVnfHg2NA0KLQkJezlFQzcxOTBBLTI0OUYtNDE4MC1BOTAwLTU0OEZEQ0YzMDU1Rn0uRGVidWd8eDY0LkJ1aWxkLjAgPSBEZWJ1Z3x4NjQNCi0JCXs5RUM3MTkwQS0yNDlGLTQxODAtQTkwMC01NDhGRENGMzA1NUZ9LlBHSW5zdHJ1bWVudHxXaW4zMi5BY3RpdmVDZmcgPSBQR0luc3RydW1lbnR8V2luMzINCi0JCXs5RUM3MTkwQS0yNDlGLTQxODAtQTkwMC01NDhGRENGMzA1NUZ9LlBHSW5zdHJ1bWVudHxXaW4zMi5CdWlsZC4wID0gUEdJbnN0cnVtZW50fFdpbjMyDQotCQl7OUVDNzE5MEEtMjQ5Ri00MTgwLUE5MDAtNTQ4RkRDRjMwNTVGfS5QR0luc3RydW1lbnR8eDY0LkFjdGl2ZUNmZyA9IFBHSW5zdHJ1bWVudHx4NjQNCi0JCXs5RUM3MTkwQS0yNDlGLTQxODAtQTkwMC01NDhGRENGMzA1NUZ9LlBHSW5zdHJ1bWVudHx4NjQuQnVpbGQuMCA9IFBHSW5zdHJ1bWVudHx4NjQNCi0JCXs5RUM3MTkwQS0yNDlGLTQxODAtQTkwMC01NDhGRENGMzA1NUZ9LlBHVXBkYXRlfFdpbjMyLkFjdGl2ZUNmZyA9IFBHVXBkYXRlfFdpbjMyDQotCQl7OUVDNzE5MEEtMjQ5Ri00MTgwLUE5MDAtNTQ4RkRDRjMwNTVGfS5QR1VwZGF0ZXxXaW4zMi5CdWlsZC4wID0gUEdVcGRhdGV8V2luMzINCi0JCXs5RUM3MTkwQS0yNDlGLTQxODAtQTkwMC01NDhGRENGMzA1NUZ9LlBHVXBkYXRlfHg2NC5BY3RpdmVDZmcgPSBQR1VwZGF0ZXx4NjQNCi0JCXs5RUM3MTkwQS0yNDlGLTQxODAtQTkwMC01NDhGRENGMzA1NUZ9LlBHVXBkYXRlfHg2NC5CdWlsZC4wID0gUEdVcGRhdGV8eDY0DQotCQl7OUVDNzE5MEEtMjQ5Ri00MTgwLUE5MDAtNTQ4RkRDRjMwNTVGfS5SZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCi0JCXs5RUM3MTkwQS0yNDlGLTQxODAtQTkwMC01NDhGRENGMzA1NUZ9LlJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCi0JCXs5RUM3MTkwQS0yNDlGLTQxODAtQTkwMC01NDhGRENGMzA1NUZ9LlJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8eDY0DQotCQl7OUVDNzE5MEEtMjQ5Ri00MTgwLUE5MDAtNTQ4RkRDRjMwNTVGfS5SZWxlYXNlfHg2NC5CdWlsZC4wID0gUmVsZWFzZXx4NjQNCi0JCXsxN0UxRTA0OS1DMzA5LTRENzktODQzRi1BRTQ4M0MyNjRBRUF9LkRlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9IERlYnVnfFdpbjMyDQotCQl7MTdFMUUwNDktQzMwOS00RDc5LTg0M0YtQUU0ODNDMjY0QUVBfS5EZWJ1Z3xXaW4zMi5CdWlsZC4wID0gRGVidWd8V2luMzINCi0JCXsxN0UxRTA0OS1DMzA5LTRENzktODQzRi1BRTQ4M0MyNjRBRUF9LkRlYnVnfHg2NC5BY3RpdmVDZmcgPSBEZWJ1Z3x4NjQNCi0JCXsxN0UxRTA0OS1DMzA5LTRENzktODQzRi1BRTQ4M0MyNjRBRUF9LkRlYnVnfHg2NC5CdWlsZC4wID0gRGVidWd8eDY0DQotCQl7MTdFMUUwNDktQzMwOS00RDc5LTg0M0YtQUU0ODNDMjY0QUVBfS5QR0luc3RydW1lbnR8V2luMzIuQWN0aXZlQ2ZnID0gUEdJbnN0cnVtZW50fFdpbjMyDQotCQl7MTdFMUUwNDktQzMwOS00RDc5LTg0M0YtQUU0ODNDMjY0QUVBfS5QR0luc3RydW1lbnR8V2luMzIuQnVpbGQuMCA9IFBHSW5zdHJ1bWVudHxXaW4zMg0KLQkJezE3RTFFMDQ5LUMzMDktNEQ3OS04NDNGLUFFNDgzQzI2NEFFQX0uUEdJbnN0cnVtZW50fHg2NC5BY3RpdmVDZmcgPSBQR0luc3RydW1lbnR8eDY0DQotCQl7MTdFMUUwNDktQzMwOS00RDc5LTg0M0YtQUU0ODNDMjY0QUVBfS5QR0luc3RydW1lbnR8eDY0LkJ1aWxkLjAgPSBQR0luc3RydW1lbnR8eDY0DQotCQl7MTdFMUUwNDktQzMwOS00RDc5LTg0M0YtQUU0ODNDMjY0QUVBfS5QR1VwZGF0ZXxXaW4zMi5BY3RpdmVDZmcgPSBQR1VwZGF0ZXxXaW4zMg0KLQkJezE3RTFFMDQ5LUMzMDktNEQ3OS04NDNGLUFFNDgzQzI2NEFFQX0uUEdVcGRhdGV8V2luMzIuQnVpbGQuMCA9IFBHVXBkYXRlfFdpbjMyDQotCQl7MTdFMUUwNDktQzMwOS00RDc5LTg0M0YtQUU0ODNDMjY0QUVBfS5QR1VwZGF0ZXx4NjQuQWN0aXZlQ2ZnID0gUEdVcGRhdGV8eDY0DQotCQl7MTdFMUUwNDktQzMwOS00RDc5LTg0M0YtQUU0ODNDMjY0QUVBfS5QR1VwZGF0ZXx4NjQuQnVpbGQuMCA9IFBHVXBkYXRlfHg2NA0KLQkJezE3RTFFMDQ5LUMzMDktNEQ3OS04NDNGLUFFNDgzQzI2NEFFQX0uUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQotCQl7MTdFMUUwNDktQzMwOS00RDc5LTg0M0YtQUU0ODNDMjY0QUVBfS5SZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQotCQl7MTdFMUUwNDktQzMwOS00RDc5LTg0M0YtQUU0ODNDMjY0QUVBfS5SZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfHg2NA0KLQkJezE3RTFFMDQ5LUMzMDktNEQ3OS04NDNGLUFFNDgzQzI2NEFFQX0uUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFJlbGVhc2V8eDY0DQotCQl7MzFGRkM0NzgtN0I0QS00M0U4LTk5NTQtOEQwM0UyMTg3RTlDfS5EZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBEZWJ1Z3xXaW4zMg0KLQkJezMxRkZDNDc4LTdCNEEtNDNFOC05OTU0LThEMDNFMjE4N0U5Q30uRGVidWd8V2luMzIuQnVpbGQuMCA9IERlYnVnfFdpbjMyDQotCQl7MzFGRkM0NzgtN0I0QS00M0U4LTk5NTQtOEQwM0UyMTg3RTlDfS5EZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gRGVidWd8eDY0DQotCQl7MzFGRkM0NzgtN0I0QS00M0U4LTk5NTQtOEQwM0UyMTg3RTlDfS5EZWJ1Z3x4NjQuQnVpbGQuMCA9IERlYnVnfHg2NA0KLQkJezMxRkZDNDc4LTdCNEEtNDNFOC05OTU0LThEMDNFMjE4N0U5Q30uUEdJbnN0cnVtZW50fFdpbjMyLkFjdGl2ZUNmZyA9IFBHSW5zdHJ1bWVudHxXaW4zMg0KLQkJezMxRkZDNDc4LTdCNEEtNDNFOC05OTU0LThEMDNFMjE4N0U5Q30uUEdJbnN0cnVtZW50fFdpbjMyLkJ1aWxkLjAgPSBQR0luc3RydW1lbnR8V2luMzINCi0JCXszMUZGQzQ3OC03QjRBLTQzRTgtOTk1NC04RDAzRTIxODdFOUN9LlBHSW5zdHJ1bWVudHx4NjQuQWN0aXZlQ2ZnID0gUEdJbnN0cnVtZW50fHg2NA0KLQkJezMxRkZDNDc4LTdCNEEtNDNFOC05OTU0LThEMDNFMjE4N0U5Q30uUEdJbnN0cnVtZW50fHg2NC5CdWlsZC4wID0gUEdJbnN0cnVtZW50fHg2NA0KLQkJezMxRkZDNDc4LTdCNEEtNDNFOC05OTU0LThEMDNFMjE4N0U5Q30uUEdVcGRhdGV8V2luMzIuQWN0aXZlQ2ZnID0gUEdVcGRhdGV8V2luMzINCi0JCXszMUZGQzQ3OC03QjRBLTQzRTgtOTk1NC04RDAzRTIxODdFOUN9LlBHVXBkYXRlfFdpbjMyLkJ1aWxkLjAgPSBQR1VwZGF0ZXxXaW4zMg0KLQkJezMxRkZDNDc4LTdCNEEtNDNFOC05OTU0LThEMDNFMjE4N0U5Q30uUEdVcGRhdGV8eDY0LkFjdGl2ZUNmZyA9IFBHVXBkYXRlfHg2NA0KLQkJezMxRkZDNDc4LTdCNEEtNDNFOC05OTU0LThEMDNFMjE4N0U5Q30uUEdVcGRhdGV8eDY0LkJ1aWxkLjAgPSBQR1VwZGF0ZXx4NjQNCi0JCXszMUZGQzQ3OC03QjRBLTQzRTgtOTk1NC04RDAzRTIxODdFOUN9LlJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KLQkJezMxRkZDNDc4LTdCNEEtNDNFOC05OTU0LThEMDNFMjE4N0U5Q30uUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KLQkJezMxRkZDNDc4LTdCNEEtNDNFOC05OTU0LThEMDNFMjE4N0U5Q30uUmVsZWFzZXx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXx4NjQNCi0JCXszMUZGQzQ3OC03QjRBLTQzRTgtOTk1NC04RDAzRTIxODdFOUN9LlJlbGVhc2V8eDY0LkJ1aWxkLjAgPSBSZWxlYXNlfHg2NA0KLQkJezg2OTM3RjUzLUMxODktNDBFRi04Q0U4LTg3NTlEOEU3RDQ4MH0uRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gRGVidWd8V2luMzINCi0JCXs4NjkzN0Y1My1DMTg5LTQwRUYtOENFOC04NzU5RDhFN0Q0ODB9LkRlYnVnfFdpbjMyLkJ1aWxkLjAgPSBEZWJ1Z3xXaW4zMg0KLQkJezg2OTM3RjUzLUMxODktNDBFRi04Q0U4LTg3NTlEOEU3RDQ4MH0uRGVidWd8eDY0LkFjdGl2ZUNmZyA9IERlYnVnfHg2NA0KLQkJezg2OTM3RjUzLUMxODktNDBFRi04Q0U4LTg3NTlEOEU3RDQ4MH0uRGVidWd8eDY0LkJ1aWxkLjAgPSBEZWJ1Z3x4NjQNCi0JCXs4NjkzN0Y1My1DMTg5LTQwRUYtOENFOC04NzU5RDhFN0Q0ODB9LlBHSW5zdHJ1bWVudHxXaW4zMi5BY3RpdmVDZmcgPSBQR0luc3RydW1lbnR8V2luMzINCi0JCXs4NjkzN0Y1My1DMTg5LTQwRUYtOENFOC04NzU5RDhFN0Q0ODB9LlBHSW5zdHJ1bWVudHxXaW4zMi5CdWlsZC4wID0gUEdJbnN0cnVtZW50fFdpbjMyDQotCQl7ODY5MzdGNTMtQzE4OS00MEVGLThDRTgtODc1OUQ4RTdENDgwfS5QR0luc3RydW1lbnR8eDY0LkFjdGl2ZUNmZyA9IFBHSW5zdHJ1bWVudHx4NjQNCi0JCXs4NjkzN0Y1My1DMTg5LTQwRUYtOENFOC04NzU5RDhFN0Q0ODB9LlBHSW5zdHJ1bWVudHx4NjQuQnVpbGQuMCA9IFBHSW5zdHJ1bWVudHx4NjQNCi0JCXs4NjkzN0Y1My1DMTg5LTQwRUYtOENFOC04NzU5RDhFN0Q0ODB9LlBHVXBkYXRlfFdpbjMyLkFjdGl2ZUNmZyA9IFBHVXBkYXRlfFdpbjMyDQotCQl7ODY5MzdGNTMtQzE4OS00MEVGLThDRTgtODc1OUQ4RTdENDgwfS5QR1VwZGF0ZXxXaW4zMi5CdWlsZC4wID0gUEdVcGRhdGV8V2luMzINCi0JCXs4NjkzN0Y1My1DMTg5LTQwRUYtOENFOC04NzU5RDhFN0Q0ODB9LlBHVXBkYXRlfHg2NC5BY3RpdmVDZmcgPSBQR1VwZGF0ZXx4NjQNCi0JCXs4NjkzN0Y1My1DMTg5LTQwRUYtOENFOC04NzU5RDhFN0Q0ODB9LlBHVXBkYXRlfHg2NC5CdWlsZC4wID0gUEdVcGRhdGV8eDY0DQotCQl7ODY5MzdGNTMtQzE4OS00MEVGLThDRTgtODc1OUQ4RTdENDgwfS5SZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCi0JCXs4NjkzN0Y1My1DMTg5LTQwRUYtOENFOC04NzU5RDhFN0Q0ODB9LlJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCi0JCXs4NjkzN0Y1My1DMTg5LTQwRUYtOENFOC04NzU5RDhFN0Q0ODB9LlJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8eDY0DQotCQl7ODY5MzdGNTMtQzE4OS00MEVGLThDRTgtODc1OUQ4RTdENDgwfS5SZWxlYXNlfHg2NC5CdWlsZC4wID0gUmVsZWFzZXx4NjQNCi0JCXsxM0NFQ0I5Ny00MTE5LTQzMTYtOUQ0Mi04NTM0MDE5QTVBNDR9LkRlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9IERlYnVnfFdpbjMyDQotCQl7MTNDRUNCOTctNDExOS00MzE2LTlENDItODUzNDAxOUE1QTQ0fS5EZWJ1Z3xXaW4zMi5CdWlsZC4wID0gRGVidWd8V2luMzINCi0JCXsxM0NFQ0I5Ny00MTE5LTQzMTYtOUQ0Mi04NTM0MDE5QTVBNDR9LkRlYnVnfHg2NC5BY3RpdmVDZmcgPSBEZWJ1Z3x4NjQNCi0JCXsxM0NFQ0I5Ny00MTE5LTQzMTYtOUQ0Mi04NTM0MDE5QTVBNDR9LkRlYnVnfHg2NC5CdWlsZC4wID0gRGVidWd8eDY0DQotCQl7MTNDRUNCOTctNDExOS00MzE2LTlENDItODUzNDAxOUE1QTQ0fS5QR0luc3RydW1lbnR8V2luMzIuQWN0aXZlQ2ZnID0gUEdJbnN0cnVtZW50fFdpbjMyDQotCQl7MTNDRUNCOTctNDExOS00MzE2LTlENDItODUzNDAxOUE1QTQ0fS5QR0luc3RydW1lbnR8V2luMzIuQnVpbGQuMCA9IFBHSW5zdHJ1bWVudHxXaW4zMg0KLQkJezEzQ0VDQjk3LTQxMTktNDMxNi05RDQyLTg1MzQwMTlBNUE0NH0uUEdJbnN0cnVtZW50fHg2NC5BY3RpdmVDZmcgPSBQR0luc3RydW1lbnR8eDY0DQotCQl7MTNDRUNCOTctNDExOS00MzE2LTlENDItODUzNDAxOUE1QTQ0fS5QR0luc3RydW1lbnR8eDY0LkJ1aWxkLjAgPSBQR0luc3RydW1lbnR8eDY0DQotCQl7MTNDRUNCOTctNDExOS00MzE2LTlENDItODUzNDAxOUE1QTQ0fS5QR1VwZGF0ZXxXaW4zMi5BY3RpdmVDZmcgPSBQR1VwZGF0ZXxXaW4zMg0KLQkJezEzQ0VDQjk3LTQxMTktNDMxNi05RDQyLTg1MzQwMTlBNUE0NH0uUEdVcGRhdGV8V2luMzIuQnVpbGQuMCA9IFBHVXBkYXRlfFdpbjMyDQotCQl7MTNDRUNCOTctNDExOS00MzE2LTlENDItODUzNDAxOUE1QTQ0fS5QR1VwZGF0ZXx4NjQuQWN0aXZlQ2ZnID0gUEdVcGRhdGV8eDY0DQotCQl7MTNDRUNCOTctNDExOS00MzE2LTlENDItODUzNDAxOUE1QTQ0fS5QR1VwZGF0ZXx4NjQuQnVpbGQuMCA9IFBHVXBkYXRlfHg2NA0KLQkJezEzQ0VDQjk3LTQxMTktNDMxNi05RDQyLTg1MzQwMTlBNUE0NH0uUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQotCQl7MTNDRUNCOTctNDExOS00MzE2LTlENDItODUzNDAxOUE1QTQ0fS5SZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQotCQl7MTNDRUNCOTctNDExOS00MzE2LTlENDItODUzNDAxOUE1QTQ0fS5SZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfHg2NA0KLQkJezEzQ0VDQjk3LTQxMTktNDMxNi05RDQyLTg1MzQwMTlBNUE0NH0uUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFJlbGVhc2V8eDY0DQotCQl7QzZFMjBGODQtMzI0Ny00QUQ2LUIwNTEtQjA3MzI2OEY3M0JBfS5EZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBEZWJ1Z3xXaW4zMg0KLQkJe0M2RTIwRjg0LTMyNDctNEFENi1CMDUxLUIwNzMyNjhGNzNCQX0uRGVidWd8V2luMzIuQnVpbGQuMCA9IERlYnVnfFdpbjMyDQotCQl7QzZFMjBGODQtMzI0Ny00QUQ2LUIwNTEtQjA3MzI2OEY3M0JBfS5EZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gRGVidWd8eDY0DQotCQl7QzZFMjBGODQtMzI0Ny00QUQ2LUIwNTEtQjA3MzI2OEY3M0JBfS5EZWJ1Z3x4NjQuQnVpbGQuMCA9IERlYnVnfHg2NA0KLQkJe0M2RTIwRjg0LTMyNDctNEFENi1CMDUxLUIwNzMyNjhGNzNCQX0uUEdJbnN0cnVtZW50fFdpbjMyLkFjdGl2ZUNmZyA9IFBHSW5zdHJ1bWVudHxXaW4zMg0KLQkJe0M2RTIwRjg0LTMyNDctNEFENi1CMDUxLUIwNzMyNjhGNzNCQX0uUEdJbnN0cnVtZW50fFdpbjMyLkJ1aWxkLjAgPSBQR0luc3RydW1lbnR8V2luMzINCi0JCXtDNkUyMEY4NC0zMjQ3LTRBRDYtQjA1MS1CMDczMjY4RjczQkF9LlBHSW5zdHJ1bWVudHx4NjQuQWN0aXZlQ2ZnID0gUEdJbnN0cnVtZW50fHg2NA0KLQkJe0M2RTIwRjg0LTMyNDctNEFENi1CMDUxLUIwNzMyNjhGNzNCQX0uUEdJbnN0cnVtZW50fHg2NC5CdWlsZC4wID0gUEdJbnN0cnVtZW50fHg2NA0KLQkJe0M2RTIwRjg0LTMyNDctNEFENi1CMDUxLUIwNzMyNjhGNzNCQX0uUEdVcGRhdGV8V2luMzIuQWN0aXZlQ2ZnID0gUEdVcGRhdGV8V2luMzINCi0JCXtDNkUyMEY4NC0zMjQ3LTRBRDYtQjA1MS1CMDczMjY4RjczQkF9LlBHVXBkYXRlfFdpbjMyLkJ1aWxkLjAgPSBQR1VwZGF0ZXxXaW4zMg0KLQkJe0M2RTIwRjg0LTMyNDctNEFENi1CMDUxLUIwNzMyNjhGNzNCQX0uUEdVcGRhdGV8eDY0LkFjdGl2ZUNmZyA9IFBHVXBkYXRlfHg2NA0KLQkJe0M2RTIwRjg0LTMyNDctNEFENi1CMDUxLUIwNzMyNjhGNzNCQX0uUEdVcGRhdGV8eDY0LkJ1aWxkLjAgPSBQR1VwZGF0ZXx4NjQNCi0JCXtDNkUyMEY4NC0zMjQ3LTRBRDYtQjA1MS1CMDczMjY4RjczQkF9LlJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KLQkJe0M2RTIwRjg0LTMyNDctNEFENi1CMDUxLUIwNzMyNjhGNzNCQX0uUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KLQkJe0M2RTIwRjg0LTMyNDctNEFENi1CMDUxLUIwNzMyNjhGNzNCQX0uUmVsZWFzZXx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXx4NjQNCi0JCXtDNkUyMEY4NC0zMjQ3LTRBRDYtQjA1MS1CMDczMjY4RjczQkF9LlJlbGVhc2V8eDY0LkJ1aWxkLjAgPSBSZWxlYXNlfHg2NA0KLQkJezY5MDFEOTFDLTZFNDgtNEJCNy05RkVDLTcwMEM4MTMxREYxRH0uRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gRGVidWd8V2luMzINCi0JCXs2OTAxRDkxQy02RTQ4LTRCQjctOUZFQy03MDBDODEzMURGMUR9LkRlYnVnfFdpbjMyLkJ1aWxkLjAgPSBEZWJ1Z3xXaW4zMg0KLQkJezY5MDFEOTFDLTZFNDgtNEJCNy05RkVDLTcwMEM4MTMxREYxRH0uRGVidWd8eDY0LkFjdGl2ZUNmZyA9IERlYnVnfHg2NA0KLQkJezY5MDFEOTFDLTZFNDgtNEJCNy05RkVDLTcwMEM4MTMxREYxRH0uRGVidWd8eDY0LkJ1aWxkLjAgPSBEZWJ1Z3x4NjQNCi0JCXs2OTAxRDkxQy02RTQ4LTRCQjctOUZFQy03MDBDODEzMURGMUR9LlBHSW5zdHJ1bWVudHxXaW4zMi5BY3RpdmVDZmcgPSBQR0luc3RydW1lbnR8V2luMzINCi0JCXs2OTAxRDkxQy02RTQ4LTRCQjctOUZFQy03MDBDODEzMURGMUR9LlBHSW5zdHJ1bWVudHxXaW4zMi5CdWlsZC4wID0gUEdJbnN0cnVtZW50fFdpbjMyDQotCQl7NjkwMUQ5MUMtNkU0OC00QkI3LTlGRUMtNzAwQzgxMzFERjFEfS5QR0luc3RydW1lbnR8eDY0LkFjdGl2ZUNmZyA9IFBHSW5zdHJ1bWVudHx4NjQNCi0JCXs2OTAxRDkxQy02RTQ4LTRCQjctOUZFQy03MDBDODEzMURGMUR9LlBHSW5zdHJ1bWVudHx4NjQuQnVpbGQuMCA9IFBHSW5zdHJ1bWVudHx4NjQNCi0JCXs2OTAxRDkxQy02RTQ4LTRCQjctOUZFQy03MDBDODEzMURGMUR9LlBHVXBkYXRlfFdpbjMyLkFjdGl2ZUNmZyA9IFBHVXBkYXRlfFdpbjMyDQotCQl7NjkwMUQ5MUMtNkU0OC00QkI3LTlGRUMtNzAwQzgxMzFERjFEfS5QR1VwZGF0ZXxXaW4zMi5CdWlsZC4wID0gUEdVcGRhdGV8V2luMzINCi0JCXs2OTAxRDkxQy02RTQ4LTRCQjctOUZFQy03MDBDODEzMURGMUR9LlBHVXBkYXRlfHg2NC5BY3RpdmVDZmcgPSBQR1VwZGF0ZXx4NjQNCi0JCXs2OTAxRDkxQy02RTQ4LTRCQjctOUZFQy03MDBDODEzMURGMUR9LlBHVXBkYXRlfHg2NC5CdWlsZC4wID0gUEdVcGRhdGV8eDY0DQotCQl7NjkwMUQ5MUMtNkU0OC00QkI3LTlGRUMtNzAwQzgxMzFERjFEfS5SZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCi0JCXs2OTAxRDkxQy02RTQ4LTRCQjctOUZFQy03MDBDODEzMURGMUR9LlJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCi0JCXs2OTAxRDkxQy02RTQ4LTRCQjctOUZFQy03MDBDODEzMURGMUR9LlJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8eDY0DQotCQl7NjkwMUQ5MUMtNkU0OC00QkI3LTlGRUMtNzAwQzgxMzFERjFEfS5SZWxlYXNlfHg2NC5CdWlsZC4wID0gUmVsZWFzZXx4NjQNCi0JCXszNkQwQzUyQy1ERjRFLTQ1RDAtOEJDNy1FMjk0QzNBQkM3ODF9LkRlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9IERlYnVnfFdpbjMyDQotCQl7MzZEMEM1MkMtREY0RS00NUQwLThCQzctRTI5NEMzQUJDNzgxfS5EZWJ1Z3xXaW4zMi5CdWlsZC4wID0gRGVidWd8V2luMzINCi0JCXszNkQwQzUyQy1ERjRFLTQ1RDAtOEJDNy1FMjk0QzNBQkM3ODF9LkRlYnVnfHg2NC5BY3RpdmVDZmcgPSBEZWJ1Z3x4NjQNCi0JCXszNkQwQzUyQy1ERjRFLTQ1RDAtOEJDNy1FMjk0QzNBQkM3ODF9LkRlYnVnfHg2NC5CdWlsZC4wID0gRGVidWd8eDY0DQotCQl7MzZEMEM1MkMtREY0RS00NUQwLThCQzctRTI5NEMzQUJDNzgxfS5QR0luc3RydW1lbnR8V2luMzIuQWN0aXZlQ2ZnID0gUEdJbnN0cnVtZW50fFdpbjMyDQotCQl7MzZEMEM1MkMtREY0RS00NUQwLThCQzctRTI5NEMzQUJDNzgxfS5QR0luc3RydW1lbnR8V2luMzIuQnVpbGQuMCA9IFBHSW5zdHJ1bWVudHxXaW4zMg0KLQkJezM2RDBDNTJDLURGNEUtNDVEMC04QkM3LUUyOTRDM0FCQzc4MX0uUEdJbnN0cnVtZW50fHg2NC5BY3RpdmVDZmcgPSBQR0luc3RydW1lbnR8eDY0DQotCQl7MzZEMEM1MkMtREY0RS00NUQwLThCQzctRTI5NEMzQUJDNzgxfS5QR0luc3RydW1lbnR8eDY0LkJ1aWxkLjAgPSBQR0luc3RydW1lbnR8eDY0DQotCQl7MzZEMEM1MkMtREY0RS00NUQwLThCQzctRTI5NEMzQUJDNzgxfS5QR1VwZGF0ZXxXaW4zMi5BY3RpdmVDZmcgPSBQR1VwZGF0ZXxXaW4zMg0KLQkJezM2RDBDNTJDLURGNEUtNDVEMC04QkM3LUUyOTRDM0FCQzc4MX0uUEdVcGRhdGV8V2luMzIuQnVpbGQuMCA9IFBHVXBkYXRlfFdpbjMyDQotCQl7MzZEMEM1MkMtREY0RS00NUQwLThCQzctRTI5NEMzQUJDNzgxfS5QR1VwZGF0ZXx4NjQuQWN0aXZlQ2ZnID0gUEdVcGRhdGV8eDY0DQotCQl7MzZEMEM1MkMtREY0RS00NUQwLThCQzctRTI5NEMzQUJDNzgxfS5QR1VwZGF0ZXx4NjQuQnVpbGQuMCA9IFBHVXBkYXRlfHg2NA0KLQkJezM2RDBDNTJDLURGNEUtNDVEMC04QkM3LUUyOTRDM0FCQzc4MX0uUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQotCQl7MzZEMEM1MkMtREY0RS00NUQwLThCQzctRTI5NEMzQUJDNzgxfS5SZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQotCQl7MzZEMEM1MkMtREY0RS00NUQwLThCQzctRTI5NEMzQUJDNzgxfS5SZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfHg2NA0KLQkJezM2RDBDNTJDLURGNEUtNDVEMC04QkM3LUUyOTRDM0FCQzc4MX0uUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFJlbGVhc2V8eDY0DQotCQl7NDk0NkVDQUMtMkU2OS00QkY4LUE5MEEtRjUxMzZGNTA5NERGfS5EZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBEZWJ1Z3xXaW4zMg0KLQkJezQ5NDZFQ0FDLTJFNjktNEJGOC1BOTBBLUY1MTM2RjUwOTRERn0uRGVidWd8V2luMzIuQnVpbGQuMCA9IERlYnVnfFdpbjMyDQotCQl7NDk0NkVDQUMtMkU2OS00QkY4LUE5MEEtRjUxMzZGNTA5NERGfS5EZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gRGVidWd8eDY0DQotCQl7NDk0NkVDQUMtMkU2OS00QkY4LUE5MEEtRjUxMzZGNTA5NERGfS5EZWJ1Z3x4NjQuQnVpbGQuMCA9IERlYnVnfHg2NA0KLQkJezQ5NDZFQ0FDLTJFNjktNEJGOC1BOTBBLUY1MTM2RjUwOTRERn0uUEdJbnN0cnVtZW50fFdpbjMyLkFjdGl2ZUNmZyA9IFBHSW5zdHJ1bWVudHxXaW4zMg0KLQkJezQ5NDZFQ0FDLTJFNjktNEJGOC1BOTBBLUY1MTM2RjUwOTRERn0uUEdJbnN0cnVtZW50fFdpbjMyLkJ1aWxkLjAgPSBQR0luc3RydW1lbnR8V2luMzINCi0JCXs0OTQ2RUNBQy0yRTY5LTRCRjgtQTkwQS1GNTEzNkY1MDk0REZ9LlBHSW5zdHJ1bWVudHx4NjQuQWN0aXZlQ2ZnID0gUEdJbnN0cnVtZW50fHg2NA0KLQkJezQ5NDZFQ0FDLTJFNjktNEJGOC1BOTBBLUY1MTM2RjUwOTRERn0uUEdJbnN0cnVtZW50fHg2NC5CdWlsZC4wID0gUEdJbnN0cnVtZW50fHg2NA0KLQkJezQ5NDZFQ0FDLTJFNjktNEJGOC1BOTBBLUY1MTM2RjUwOTRERn0uUEdVcGRhdGV8V2luMzIuQWN0aXZlQ2ZnID0gUEdVcGRhdGV8V2luMzINCi0JCXs0OTQ2RUNBQy0yRTY5LTRCRjgtQTkwQS1GNTEzNkY1MDk0REZ9LlBHVXBkYXRlfFdpbjMyLkJ1aWxkLjAgPSBQR1VwZGF0ZXxXaW4zMg0KLQkJezQ5NDZFQ0FDLTJFNjktNEJGOC1BOTBBLUY1MTM2RjUwOTRERn0uUEdVcGRhdGV8eDY0LkFjdGl2ZUNmZyA9IFBHVXBkYXRlfHg2NA0KLQkJezQ5NDZFQ0FDLTJFNjktNEJGOC1BOTBBLUY1MTM2RjUwOTRERn0uUEdVcGRhdGV8eDY0LkJ1aWxkLjAgPSBQR1VwZGF0ZXx4NjQNCi0JCXs0OTQ2RUNBQy0yRTY5LTRCRjgtQTkwQS1GNTEzNkY1MDk0REZ9LlJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KLQkJezQ5NDZFQ0FDLTJFNjktNEJGOC1BOTBBLUY1MTM2RjUwOTRERn0uUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KLQkJezQ5NDZFQ0FDLTJFNjktNEJGOC1BOTBBLUY1MTM2RjUwOTRERn0uUmVsZWFzZXx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXx4NjQNCi0JCXs0OTQ2RUNBQy0yRTY5LTRCRjgtQTkwQS1GNTEzNkY1MDk0REZ9LlJlbGVhc2V8eDY0LkJ1aWxkLjAgPSBSZWxlYXNlfHg2NA0KLQkJezczRkNEMkJELUYxMzMtNDZCNy04RUMxLTE0NENEODJBNTlENX0uRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gRGVidWd8V2luMzINCi0JCXs3M0ZDRDJCRC1GMTMzLTQ2QjctOEVDMS0xNDRDRDgyQTU5RDV9LkRlYnVnfFdpbjMyLkJ1aWxkLjAgPSBEZWJ1Z3xXaW4zMg0KLQkJezczRkNEMkJELUYxMzMtNDZCNy04RUMxLTE0NENEODJBNTlENX0uRGVidWd8eDY0LkFjdGl2ZUNmZyA9IERlYnVnfHg2NA0KLQkJezczRkNEMkJELUYxMzMtNDZCNy04RUMxLTE0NENEODJBNTlENX0uRGVidWd8eDY0LkJ1aWxkLjAgPSBEZWJ1Z3x4NjQNCi0JCXs3M0ZDRDJCRC1GMTMzLTQ2QjctOEVDMS0xNDRDRDgyQTU5RDV9LlBHSW5zdHJ1bWVudHxXaW4zMi5BY3RpdmVDZmcgPSBQR0luc3RydW1lbnR8V2luMzINCi0JCXs3M0ZDRDJCRC1GMTMzLTQ2QjctOEVDMS0xNDRDRDgyQTU5RDV9LlBHSW5zdHJ1bWVudHxXaW4zMi5CdWlsZC4wID0gUEdJbnN0cnVtZW50fFdpbjMyDQotCQl7NzNGQ0QyQkQtRjEzMy00NkI3LThFQzEtMTQ0Q0Q4MkE1OUQ1fS5QR0luc3RydW1lbnR8eDY0LkFjdGl2ZUNmZyA9IFBHSW5zdHJ1bWVudHx4NjQNCi0JCXs3M0ZDRDJCRC1GMTMzLTQ2QjctOEVDMS0xNDRDRDgyQTU5RDV9LlBHSW5zdHJ1bWVudHx4NjQuQnVpbGQuMCA9IFBHSW5zdHJ1bWVudHx4NjQNCi0JCXs3M0ZDRDJCRC1GMTMzLTQ2QjctOEVDMS0xNDRDRDgyQTU5RDV9LlBHVXBkYXRlfFdpbjMyLkFjdGl2ZUNmZyA9IFBHVXBkYXRlfFdpbjMyDQotCQl7NzNGQ0QyQkQtRjEzMy00NkI3LThFQzEtMTQ0Q0Q4MkE1OUQ1fS5QR1VwZGF0ZXxXaW4zMi5CdWlsZC4wID0gUEdVcGRhdGV8V2luMzINCi0JCXs3M0ZDRDJCRC1GMTMzLTQ2QjctOEVDMS0xNDRDRDgyQTU5RDV9LlBHVXBkYXRlfHg2NC5BY3RpdmVDZmcgPSBQR1VwZGF0ZXx4NjQNCi0JCXs3M0ZDRDJCRC1GMTMzLTQ2QjctOEVDMS0xNDRDRDgyQTU5RDV9LlBHVXBkYXRlfHg2NC5CdWlsZC4wID0gUEdVcGRhdGV8eDY0DQotCQl7NzNGQ0QyQkQtRjEzMy00NkI3LThFQzEtMTQ0Q0Q4MkE1OUQ1fS5SZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCi0JCXs3M0ZDRDJCRC1GMTMzLTQ2QjctOEVDMS0xNDRDRDgyQTU5RDV9LlJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCi0JCXs3M0ZDRDJCRC1GMTMzLTQ2QjctOEVDMS0xNDRDRDgyQTU5RDV9LlJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8eDY0DQotCQl7NzNGQ0QyQkQtRjEzMy00NkI3LThFQzEtMTQ0Q0Q4MkE1OUQ1fS5SZWxlYXNlfHg2NC5CdWlsZC4wID0gUmVsZWFzZXx4NjQNCi0JCXtGOUQ3MTc4MC1GMzkzLTExRTAtQkU1MC0wODAwMjAwQzlBNjZ9LkRlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9IERlYnVnfFdpbjMyDQotCQl7RjlENzE3ODAtRjM5My0xMUUwLUJFNTAtMDgwMDIwMEM5QTY2fS5EZWJ1Z3xXaW4zMi5CdWlsZC4wID0gRGVidWd8V2luMzINCi0JCXtGOUQ3MTc4MC1GMzkzLTExRTAtQkU1MC0wODAwMjAwQzlBNjZ9LkRlYnVnfHg2NC5BY3RpdmVDZmcgPSBEZWJ1Z3x4NjQNCi0JCXtGOUQ3MTc4MC1GMzkzLTExRTAtQkU1MC0wODAwMjAwQzlBNjZ9LkRlYnVnfHg2NC5CdWlsZC4wID0gRGVidWd8eDY0DQotCQl7RjlENzE3ODAtRjM5My0xMUUwLUJFNTAtMDgwMDIwMEM5QTY2fS5QR0luc3RydW1lbnR8V2luMzIuQWN0aXZlQ2ZnID0gUEdJbnN0cnVtZW50fFdpbjMyDQotCQl7RjlENzE3ODAtRjM5My0xMUUwLUJFNTAtMDgwMDIwMEM5QTY2fS5QR0luc3RydW1lbnR8V2luMzIuQnVpbGQuMCA9IFBHSW5zdHJ1bWVudHxXaW4zMg0KLQkJe0Y5RDcxNzgwLUYzOTMtMTFFMC1CRTUwLTA4MDAyMDBDOUE2Nn0uUEdJbnN0cnVtZW50fHg2NC5BY3RpdmVDZmcgPSBQR0luc3RydW1lbnR8eDY0DQotCQl7RjlENzE3ODAtRjM5My0xMUUwLUJFNTAtMDgwMDIwMEM5QTY2fS5QR0luc3RydW1lbnR8eDY0LkJ1aWxkLjAgPSBQR0luc3RydW1lbnR8eDY0DQotCQl7RjlENzE3ODAtRjM5My0xMUUwLUJFNTAtMDgwMDIwMEM5QTY2fS5QR1VwZGF0ZXxXaW4zMi5BY3RpdmVDZmcgPSBQR1VwZGF0ZXxXaW4zMg0KLQkJe0Y5RDcxNzgwLUYzOTMtMTFFMC1CRTUwLTA4MDAyMDBDOUE2Nn0uUEdVcGRhdGV8V2luMzIuQnVpbGQuMCA9IFBHVXBkYXRlfFdpbjMyDQotCQl7RjlENzE3ODAtRjM5My0xMUUwLUJFNTAtMDgwMDIwMEM5QTY2fS5QR1VwZGF0ZXx4NjQuQWN0aXZlQ2ZnID0gUEdVcGRhdGV8eDY0DQotCQl7RjlENzE3ODAtRjM5My0xMUUwLUJFNTAtMDgwMDIwMEM5QTY2fS5QR1VwZGF0ZXx4NjQuQnVpbGQuMCA9IFBHVXBkYXRlfHg2NA0KLQkJe0Y5RDcxNzgwLUYzOTMtMTFFMC1CRTUwLTA4MDAyMDBDOUE2Nn0uUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQotCQl7RjlENzE3ODAtRjM5My0xMUUwLUJFNTAtMDgwMDIwMEM5QTY2fS5SZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQotCQl7RjlENzE3ODAtRjM5My0xMUUwLUJFNTAtMDgwMDIwMEM5QTY2fS5SZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfHg2NA0KLQkJe0Y5RDcxNzgwLUYzOTMtMTFFMC1CRTUwLTA4MDAyMDBDOUE2Nn0uUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFJlbGVhc2V8eDY0DQotCQl7MThDQUUyOEMtQjQ1NC00NkMxLTg3QTAtNDkzRDkxRDk3RjAzfS5EZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBEZWJ1Z3xXaW4zMg0KLQkJezE4Q0FFMjhDLUI0NTQtNDZDMS04N0EwLTQ5M0Q5MUQ5N0YwM30uRGVidWd8V2luMzIuQnVpbGQuMCA9IERlYnVnfFdpbjMyDQotCQl7MThDQUUyOEMtQjQ1NC00NkMxLTg3QTAtNDkzRDkxRDk3RjAzfS5EZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gRGVidWd8eDY0DQotCQl7MThDQUUyOEMtQjQ1NC00NkMxLTg3QTAtNDkzRDkxRDk3RjAzfS5EZWJ1Z3x4NjQuQnVpbGQuMCA9IERlYnVnfHg2NA0KLQkJezE4Q0FFMjhDLUI0NTQtNDZDMS04N0EwLTQ5M0Q5MUQ5N0YwM30uUEdJbnN0cnVtZW50fFdpbjMyLkFjdGl2ZUNmZyA9IFBHSW5zdHJ1bWVudHxXaW4zMg0KLQkJezE4Q0FFMjhDLUI0NTQtNDZDMS04N0EwLTQ5M0Q5MUQ5N0YwM30uUEdJbnN0cnVtZW50fFdpbjMyLkJ1aWxkLjAgPSBQR0luc3RydW1lbnR8V2luMzINCi0JCXsxOENBRTI4Qy1CNDU0LTQ2QzEtODdBMC00OTNEOTFEOTdGMDN9LlBHSW5zdHJ1bWVudHx4NjQuQWN0aXZlQ2ZnID0gUEdJbnN0cnVtZW50fHg2NA0KLQkJezE4Q0FFMjhDLUI0NTQtNDZDMS04N0EwLTQ5M0Q5MUQ5N0YwM30uUEdJbnN0cnVtZW50fHg2NC5CdWlsZC4wID0gUEdJbnN0cnVtZW50fHg2NA0KLQkJezE4Q0FFMjhDLUI0NTQtNDZDMS04N0EwLTQ5M0Q5MUQ5N0YwM30uUEdVcGRhdGV8V2luMzIuQWN0aXZlQ2ZnID0gUEdVcGRhdGV8V2luMzINCi0JCXsxOENBRTI4Qy1CNDU0LTQ2QzEtODdBMC00OTNEOTFEOTdGMDN9LlBHVXBkYXRlfFdpbjMyLkJ1aWxkLjAgPSBQR1VwZGF0ZXxXaW4zMg0KLQkJezE4Q0FFMjhDLUI0NTQtNDZDMS04N0EwLTQ5M0Q5MUQ5N0YwM30uUEdVcGRhdGV8eDY0LkFjdGl2ZUNmZyA9IFBHVXBkYXRlfHg2NA0KLQkJezE4Q0FFMjhDLUI0NTQtNDZDMS04N0EwLTQ5M0Q5MUQ5N0YwM30uUEdVcGRhdGV8eDY0LkJ1aWxkLjAgPSBQR1VwZGF0ZXx4NjQNCi0JCXsxOENBRTI4Qy1CNDU0LTQ2QzEtODdBMC00OTNEOTFEOTdGMDN9LlJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KLQkJezE4Q0FFMjhDLUI0NTQtNDZDMS04N0EwLTQ5M0Q5MUQ5N0YwM30uUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KLQkJezE4Q0FFMjhDLUI0NTQtNDZDMS04N0EwLTQ5M0Q5MUQ5N0YwM30uUmVsZWFzZXx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXx4NjQNCi0JCXsxOENBRTI4Qy1CNDU0LTQ2QzEtODdBMC00OTNEOTFEOTdGMDN9LlJlbGVhc2V8eDY0LkJ1aWxkLjAgPSBSZWxlYXNlfHg2NA0KLQkJe0VDQzdDRUFDLUE1RTUtNDU4RS1CQjlFLTI0MTNDQzg0Nzg4MX0uRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gRGVidWd8V2luMzINCi0JCXtFQ0M3Q0VBQy1BNUU1LTQ1OEUtQkI5RS0yNDEzQ0M4NDc4ODF9LkRlYnVnfFdpbjMyLkJ1aWxkLjAgPSBEZWJ1Z3xXaW4zMg0KLQkJe0VDQzdDRUFDLUE1RTUtNDU4RS1CQjlFLTI0MTNDQzg0Nzg4MX0uRGVidWd8eDY0LkFjdGl2ZUNmZyA9IERlYnVnfHg2NA0KLQkJe0VDQzdDRUFDLUE1RTUtNDU4RS1CQjlFLTI0MTNDQzg0Nzg4MX0uRGVidWd8eDY0LkJ1aWxkLjAgPSBEZWJ1Z3x4NjQNCi0JCXtFQ0M3Q0VBQy1BNUU1LTQ1OEUtQkI5RS0yNDEzQ0M4NDc4ODF9LlBHSW5zdHJ1bWVudHxXaW4zMi5BY3RpdmVDZmcgPSBQR0luc3RydW1lbnR8V2luMzINCi0JCXtFQ0M3Q0VBQy1BNUU1LTQ1OEUtQkI5RS0yNDEzQ0M4NDc4ODF9LlBHSW5zdHJ1bWVudHxXaW4zMi5CdWlsZC4wID0gUEdJbnN0cnVtZW50fFdpbjMyDQotCQl7RUNDN0NFQUMtQTVFNS00NThFLUJCOUUtMjQxM0NDODQ3ODgxfS5QR0luc3RydW1lbnR8eDY0LkFjdGl2ZUNmZyA9IFBHSW5zdHJ1bWVudHx4NjQNCi0JCXtFQ0M3Q0VBQy1BNUU1LTQ1OEUtQkI5RS0yNDEzQ0M4NDc4ODF9LlBHSW5zdHJ1bWVudHx4NjQuQnVpbGQuMCA9IFBHSW5zdHJ1bWVudHx4NjQNCi0JCXtFQ0M3Q0VBQy1BNUU1LTQ1OEUtQkI5RS0yNDEzQ0M4NDc4ODF9LlBHVXBkYXRlfFdpbjMyLkFjdGl2ZUNmZyA9IFBHVXBkYXRlfFdpbjMyDQotCQl7RUNDN0NFQUMtQTVFNS00NThFLUJCOUUtMjQxM0NDODQ3ODgxfS5QR1VwZGF0ZXxXaW4zMi5CdWlsZC4wID0gUEdVcGRhdGV8V2luMzINCi0JCXtFQ0M3Q0VBQy1BNUU1LTQ1OEUtQkI5RS0yNDEzQ0M4NDc4ODF9LlBHVXBkYXRlfHg2NC5BY3RpdmVDZmcgPSBQR1VwZGF0ZXx4NjQNCi0JCXtFQ0M3Q0VBQy1BNUU1LTQ1OEUtQkI5RS0yNDEzQ0M4NDc4ODF9LlBHVXBkYXRlfHg2NC5CdWlsZC4wID0gUEdVcGRhdGV8eDY0DQotCQl7RUNDN0NFQUMtQTVFNS00NThFLUJCOUUtMjQxM0NDODQ3ODgxfS5SZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCi0JCXtFQ0M3Q0VBQy1BNUU1LTQ1OEUtQkI5RS0yNDEzQ0M4NDc4ODF9LlJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCi0JCXtFQ0M3Q0VBQy1BNUU1LTQ1OEUtQkI5RS0yNDEzQ0M4NDc4ODF9LlJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8eDY0DQotCQl7RUNDN0NFQUMtQTVFNS00NThFLUJCOUUtMjQxM0NDODQ3ODgxfS5SZWxlYXNlfHg2NC5CdWlsZC4wID0gUmVsZWFzZXx4NjQNCi0JCXtEMDZCNjQyNi00NzYyLTQ0Q0MtOEJBRC1ENzkwNTI1MDdGMkZ9LkRlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9IERlYnVnfFdpbjMyDQotCQl7RDA2QjY0MjYtNDc2Mi00NENDLThCQUQtRDc5MDUyNTA3RjJGfS5EZWJ1Z3xXaW4zMi5CdWlsZC4wID0gRGVidWd8V2luMzINCi0JCXtEMDZCNjQyNi00NzYyLTQ0Q0MtOEJBRC1ENzkwNTI1MDdGMkZ9LkRlYnVnfHg2NC5BY3RpdmVDZmcgPSBEZWJ1Z3x4NjQNCi0JCXtEMDZCNjQyNi00NzYyLTQ0Q0MtOEJBRC1ENzkwNTI1MDdGMkZ9LkRlYnVnfHg2NC5CdWlsZC4wID0gRGVidWd8eDY0DQotCQl7RDA2QjY0MjYtNDc2Mi00NENDLThCQUQtRDc5MDUyNTA3RjJGfS5QR0luc3RydW1lbnR8V2luMzIuQWN0aXZlQ2ZnID0gUEdJbnN0cnVtZW50fFdpbjMyDQotCQl7RDA2QjY0MjYtNDc2Mi00NENDLThCQUQtRDc5MDUyNTA3RjJGfS5QR0luc3RydW1lbnR8V2luMzIuQnVpbGQuMCA9IFBHSW5zdHJ1bWVudHxXaW4zMg0KLQkJe0QwNkI2NDI2LTQ3NjItNDRDQy04QkFELUQ3OTA1MjUwN0YyRn0uUEdJbnN0cnVtZW50fHg2NC5BY3RpdmVDZmcgPSBQR0luc3RydW1lbnR8eDY0DQotCQl7RDA2QjY0MjYtNDc2Mi00NENDLThCQUQtRDc5MDUyNTA3RjJGfS5QR0luc3RydW1lbnR8eDY0LkJ1aWxkLjAgPSBQR0luc3RydW1lbnR8eDY0DQotCQl7RDA2QjY0MjYtNDc2Mi00NENDLThCQUQtRDc5MDUyNTA3RjJGfS5QR1VwZGF0ZXxXaW4zMi5BY3RpdmVDZmcgPSBQR1VwZGF0ZXxXaW4zMg0KLQkJe0QwNkI2NDI2LTQ3NjItNDRDQy04QkFELUQ3OTA1MjUwN0YyRn0uUEdVcGRhdGV8V2luMzIuQnVpbGQuMCA9IFBHVXBkYXRlfFdpbjMyDQotCQl7RDA2QjY0MjYtNDc2Mi00NENDLThCQUQtRDc5MDUyNTA3RjJGfS5QR1VwZGF0ZXx4NjQuQWN0aXZlQ2ZnID0gUEdVcGRhdGV8eDY0DQotCQl7RDA2QjY0MjYtNDc2Mi00NENDLThCQUQtRDc5MDUyNTA3RjJGfS5QR1VwZGF0ZXx4NjQuQnVpbGQuMCA9IFBHVXBkYXRlfHg2NA0KLQkJe0QwNkI2NDI2LTQ3NjItNDRDQy04QkFELUQ3OTA1MjUwN0YyRn0uUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQotCQl7RDA2QjY0MjYtNDc2Mi00NENDLThCQUQtRDc5MDUyNTA3RjJGfS5SZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQotCQl7RDA2QjY0MjYtNDc2Mi00NENDLThCQUQtRDc5MDUyNTA3RjJGfS5SZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfHg2NA0KLQkJe0QwNkI2NDI2LTQ3NjItNDRDQy04QkFELUQ3OTA1MjUwN0YyRn0uUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFJlbGVhc2V8eDY0DQotCQl7RUIxQzE5QzEtMUYxOC00MjFFLTk3MzUtQ0FFRTY5REM2QTNDfS5EZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQotCQl7RUIxQzE5QzEtMUYxOC00MjFFLTk3MzUtQ0FFRTY5REM2QTNDfS5EZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXx4NjQNCi0JCXtFQjFDMTlDMS0xRjE4LTQyMUUtOTczNS1DQUVFNjlEQzZBM0N9LlBHSW5zdHJ1bWVudHxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQotCQl7RUIxQzE5QzEtMUYxOC00MjFFLTk3MzUtQ0FFRTY5REM2QTNDfS5QR0luc3RydW1lbnR8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8eDY0DQotCQl7RUIxQzE5QzEtMUYxOC00MjFFLTk3MzUtQ0FFRTY5REM2QTNDfS5QR1VwZGF0ZXxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQotCQl7RUIxQzE5QzEtMUYxOC00MjFFLTk3MzUtQ0FFRTY5REM2QTNDfS5QR1VwZGF0ZXx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXx4NjQNCi0JCXtFQjFDMTlDMS0xRjE4LTQyMUUtOTczNS1DQUVFNjlEQzZBM0N9LlJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KLQkJe0VCMUMxOUMxLTFGMTgtNDIxRS05NzM1LUNBRUU2OURDNkEzQ30uUmVsZWFzZXx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXx4NjQNCi0JCXs0NDdGMDVBOC1GNTgxLTRDQUMtQTQ2Ni01QUM3OTM2RTIwN0V9LkRlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9IERlYnVnfFdpbjMyDQotCQl7NDQ3RjA1QTgtRjU4MS00Q0FDLUE0NjYtNUFDNzkzNkUyMDdFfS5EZWJ1Z3xXaW4zMi5CdWlsZC4wID0gRGVidWd8V2luMzINCi0JCXs0NDdGMDVBOC1GNTgxLTRDQUMtQTQ2Ni01QUM3OTM2RTIwN0V9LkRlYnVnfHg2NC5BY3RpdmVDZmcgPSBEZWJ1Z3x4NjQNCi0JCXs0NDdGMDVBOC1GNTgxLTRDQUMtQTQ2Ni01QUM3OTM2RTIwN0V9LkRlYnVnfHg2NC5CdWlsZC4wID0gRGVidWd8eDY0DQotCQl7NDQ3RjA1QTgtRjU4MS00Q0FDLUE0NjYtNUFDNzkzNkUyMDdFfS5QR0luc3RydW1lbnR8V2luMzIuQWN0aXZlQ2ZnID0gUEdJbnN0cnVtZW50fFdpbjMyDQotCQl7NDQ3RjA1QTgtRjU4MS00Q0FDLUE0NjYtNUFDNzkzNkUyMDdFfS5QR0luc3RydW1lbnR8V2luMzIuQnVpbGQuMCA9IFBHSW5zdHJ1bWVudHxXaW4zMg0KLQkJezQ0N0YwNUE4LUY1ODEtNENBQy1BNDY2LTVBQzc5MzZFMjA3RX0uUEdJbnN0cnVtZW50fHg2NC5BY3RpdmVDZmcgPSBQR0luc3RydW1lbnR8eDY0DQotCQl7NDQ3RjA1QTgtRjU4MS00Q0FDLUE0NjYtNUFDNzkzNkUyMDdFfS5QR0luc3RydW1lbnR8eDY0LkJ1aWxkLjAgPSBQR0luc3RydW1lbnR8eDY0DQotCQl7NDQ3RjA1QTgtRjU4MS00Q0FDLUE0NjYtNUFDNzkzNkUyMDdFfS5QR1VwZGF0ZXxXaW4zMi5BY3RpdmVDZmcgPSBQR1VwZGF0ZXxXaW4zMg0KLQkJezQ0N0YwNUE4LUY1ODEtNENBQy1BNDY2LTVBQzc5MzZFMjA3RX0uUEdVcGRhdGV8V2luMzIuQnVpbGQuMCA9IFBHVXBkYXRlfFdpbjMyDQotCQl7NDQ3RjA1QTgtRjU4MS00Q0FDLUE0NjYtNUFDNzkzNkUyMDdFfS5QR1VwZGF0ZXx4NjQuQWN0aXZlQ2ZnID0gUEdVcGRhdGV8eDY0DQotCQl7NDQ3RjA1QTgtRjU4MS00Q0FDLUE0NjYtNUFDNzkzNkUyMDdFfS5QR1VwZGF0ZXx4NjQuQnVpbGQuMCA9IFBHVXBkYXRlfHg2NA0KLQkJezQ0N0YwNUE4LUY1ODEtNENBQy1BNDY2LTVBQzc5MzZFMjA3RX0uUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQotCQl7NDQ3RjA1QTgtRjU4MS00Q0FDLUE0NjYtNUFDNzkzNkUyMDdFfS5SZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQotCQl7NDQ3RjA1QTgtRjU4MS00Q0FDLUE0NjYtNUFDNzkzNkUyMDdFfS5SZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfHg2NA0KLQkJezQ0N0YwNUE4LUY1ODEtNENBQy1BNDY2LTVBQzc5MzZFMjA3RX0uUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFJlbGVhc2V8eDY0DQotCQl7QTFBMjk1RTUtNDYzQy00MzdGLTgxQ0EtMUYzMjM2NzY4NURBfS5EZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBEZWJ1Z3xXaW4zMg0KLQkJe0ExQTI5NUU1LTQ2M0MtNDM3Ri04MUNBLTFGMzIzNjc2ODVEQX0uRGVidWd8V2luMzIuQnVpbGQuMCA9IERlYnVnfFdpbjMyDQotCQl7QTFBMjk1RTUtNDYzQy00MzdGLTgxQ0EtMUYzMjM2NzY4NURBfS5EZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gRGVidWd8eDY0DQotCQl7QTFBMjk1RTUtNDYzQy00MzdGLTgxQ0EtMUYzMjM2NzY4NURBfS5EZWJ1Z3x4NjQuQnVpbGQuMCA9IERlYnVnfHg2NA0KLQkJe0ExQTI5NUU1LTQ2M0MtNDM3Ri04MUNBLTFGMzIzNjc2ODVEQX0uUEdJbnN0cnVtZW50fFdpbjMyLkFjdGl2ZUNmZyA9IFBHSW5zdHJ1bWVudHxXaW4zMg0KLQkJe0ExQTI5NUU1LTQ2M0MtNDM3Ri04MUNBLTFGMzIzNjc2ODVEQX0uUEdJbnN0cnVtZW50fFdpbjMyLkJ1aWxkLjAgPSBQR0luc3RydW1lbnR8V2luMzINCi0JCXtBMUEyOTVFNS00NjNDLTQzN0YtODFDQS0xRjMyMzY3Njg1REF9LlBHSW5zdHJ1bWVudHx4NjQuQWN0aXZlQ2ZnID0gUEdJbnN0cnVtZW50fHg2NA0KLQkJe0ExQTI5NUU1LTQ2M0MtNDM3Ri04MUNBLTFGMzIzNjc2ODVEQX0uUEdJbnN0cnVtZW50fHg2NC5CdWlsZC4wID0gUEdJbnN0cnVtZW50fHg2NA0KLQkJe0ExQTI5NUU1LTQ2M0MtNDM3Ri04MUNBLTFGMzIzNjc2ODVEQX0uUEdVcGRhdGV8V2luMzIuQWN0aXZlQ2ZnID0gUEdVcGRhdGV8V2luMzINCi0JCXtBMUEyOTVFNS00NjNDLTQzN0YtODFDQS0xRjMyMzY3Njg1REF9LlBHVXBkYXRlfFdpbjMyLkJ1aWxkLjAgPSBQR1VwZGF0ZXxXaW4zMg0KLQkJe0ExQTI5NUU1LTQ2M0MtNDM3Ri04MUNBLTFGMzIzNjc2ODVEQX0uUEdVcGRhdGV8eDY0LkFjdGl2ZUNmZyA9IFBHVXBkYXRlfHg2NA0KLQkJe0ExQTI5NUU1LTQ2M0MtNDM3Ri04MUNBLTFGMzIzNjc2ODVEQX0uUEdVcGRhdGV8eDY0LkJ1aWxkLjAgPSBQR1VwZGF0ZXx4NjQNCi0JCXtBMUEyOTVFNS00NjNDLTQzN0YtODFDQS0xRjMyMzY3Njg1REF9LlJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KLQkJe0ExQTI5NUU1LTQ2M0MtNDM3Ri04MUNBLTFGMzIzNjc2ODVEQX0uUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KLQkJe0ExQTI5NUU1LTQ2M0MtNDM3Ri04MUNBLTFGMzIzNjc2ODVEQX0uUmVsZWFzZXx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXx4NjQNCi0JCXtBMUEyOTVFNS00NjNDLTQzN0YtODFDQS0xRjMyMzY3Njg1REF9LlJlbGVhc2V8eDY0LkJ1aWxkLjAgPSBSZWxlYXNlfHg2NA0KLQkJezlFNDhCMzAwLTM3RDEtMTFERC04QzQxLTAwNTA1NkMwMDAwOH0uRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gRGVidWd8V2luMzINCi0JCXs5RTQ4QjMwMC0zN0QxLTExREQtOEM0MS0wMDUwNTZDMDAwMDh9LkRlYnVnfFdpbjMyLkJ1aWxkLjAgPSBEZWJ1Z3xXaW4zMg0KLQkJezlFNDhCMzAwLTM3RDEtMTFERC04QzQxLTAwNTA1NkMwMDAwOH0uRGVidWd8eDY0LkFjdGl2ZUNmZyA9IERlYnVnfHg2NA0KLQkJezlFNDhCMzAwLTM3RDEtMTFERC04QzQxLTAwNTA1NkMwMDAwOH0uRGVidWd8eDY0LkJ1aWxkLjAgPSBEZWJ1Z3x4NjQNCi0JCXs5RTQ4QjMwMC0zN0QxLTExREQtOEM0MS0wMDUwNTZDMDAwMDh9LlBHSW5zdHJ1bWVudHxXaW4zMi5BY3RpdmVDZmcgPSBQR0luc3RydW1lbnR8V2luMzINCi0JCXs5RTQ4QjMwMC0zN0QxLTExREQtOEM0MS0wMDUwNTZDMDAwMDh9LlBHSW5zdHJ1bWVudHxXaW4zMi5CdWlsZC4wID0gUEdJbnN0cnVtZW50fFdpbjMyDQotCQl7OUU0OEIzMDAtMzdEMS0xMURELThDNDEtMDA1MDU2QzAwMDA4fS5QR0luc3RydW1lbnR8eDY0LkFjdGl2ZUNmZyA9IFBHSW5zdHJ1bWVudHx4NjQNCi0JCXs5RTQ4QjMwMC0zN0QxLTExREQtOEM0MS0wMDUwNTZDMDAwMDh9LlBHSW5zdHJ1bWVudHx4NjQuQnVpbGQuMCA9IFBHSW5zdHJ1bWVudHx4NjQNCi0JCXs5RTQ4QjMwMC0zN0QxLTExREQtOEM0MS0wMDUwNTZDMDAwMDh9LlBHVXBkYXRlfFdpbjMyLkFjdGl2ZUNmZyA9IFBHVXBkYXRlfFdpbjMyDQotCQl7OUU0OEIzMDAtMzdEMS0xMURELThDNDEtMDA1MDU2QzAwMDA4fS5QR1VwZGF0ZXxXaW4zMi5CdWlsZC4wID0gUEdVcGRhdGV8V2luMzINCi0JCXs5RTQ4QjMwMC0zN0QxLTExREQtOEM0MS0wMDUwNTZDMDAwMDh9LlBHVXBkYXRlfHg2NC5BY3RpdmVDZmcgPSBQR1VwZGF0ZXx4NjQNCi0JCXs5RTQ4QjMwMC0zN0QxLTExREQtOEM0MS0wMDUwNTZDMDAwMDh9LlBHVXBkYXRlfHg2NC5CdWlsZC4wID0gUEdVcGRhdGV8eDY0DQotCQl7OUU0OEIzMDAtMzdEMS0xMURELThDNDEtMDA1MDU2QzAwMDA4fS5SZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCi0JCXs5RTQ4QjMwMC0zN0QxLTExREQtOEM0MS0wMDUwNTZDMDAwMDh9LlJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCi0JCXs5RTQ4QjMwMC0zN0QxLTExREQtOEM0MS0wMDUwNTZDMDAwMDh9LlJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8eDY0DQotCQl7OUU0OEIzMDAtMzdEMS0xMURELThDNDEtMDA1MDU2QzAwMDA4fS5SZWxlYXNlfHg2NC5CdWlsZC4wID0gUmVsZWFzZXx4NjQNCi0JCXtFNUIwNENDMC1FQjRDLTQyQUItQjREQy0xOEVGOTVGODY0QjB9LkRlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9IERlYnVnfFdpbjMyDQotCQl7RTVCMDRDQzAtRUI0Qy00MkFCLUI0REMtMThFRjk1Rjg2NEIwfS5EZWJ1Z3xXaW4zMi5CdWlsZC4wID0gRGVidWd8V2luMzINCi0JCXtFNUIwNENDMC1FQjRDLTQyQUItQjREQy0xOEVGOTVGODY0QjB9LkRlYnVnfHg2NC5BY3RpdmVDZmcgPSBEZWJ1Z3x4NjQNCi0JCXtFNUIwNENDMC1FQjRDLTQyQUItQjREQy0xOEVGOTVGODY0QjB9LkRlYnVnfHg2NC5CdWlsZC4wID0gRGVidWd8eDY0DQotCQl7RTVCMDRDQzAtRUI0Qy00MkFCLUI0REMtMThFRjk1Rjg2NEIwfS5QR0luc3RydW1lbnR8V2luMzIuQWN0aXZlQ2ZnID0gUEdJbnN0cnVtZW50fFdpbjMyDQotCQl7RTVCMDRDQzAtRUI0Qy00MkFCLUI0REMtMThFRjk1Rjg2NEIwfS5QR0luc3RydW1lbnR8V2luMzIuQnVpbGQuMCA9IFBHSW5zdHJ1bWVudHxXaW4zMg0KLQkJe0U1QjA0Q0MwLUVCNEMtNDJBQi1CNERDLTE4RUY5NUY4NjRCMH0uUEdJbnN0cnVtZW50fHg2NC5BY3RpdmVDZmcgPSBQR0luc3RydW1lbnR8eDY0DQotCQl7RTVCMDRDQzAtRUI0Qy00MkFCLUI0REMtMThFRjk1Rjg2NEIwfS5QR0luc3RydW1lbnR8eDY0LkJ1aWxkLjAgPSBQR0luc3RydW1lbnR8eDY0DQotCQl7RTVCMDRDQzAtRUI0Qy00MkFCLUI0REMtMThFRjk1Rjg2NEIwfS5QR1VwZGF0ZXxXaW4zMi5BY3RpdmVDZmcgPSBQR1VwZGF0ZXxXaW4zMg0KLQkJe0U1QjA0Q0MwLUVCNEMtNDJBQi1CNERDLTE4RUY5NUY4NjRCMH0uUEdVcGRhdGV8V2luMzIuQnVpbGQuMCA9IFBHVXBkYXRlfFdpbjMyDQotCQl7RTVCMDRDQzAtRUI0Qy00MkFCLUI0REMtMThFRjk1Rjg2NEIwfS5QR1VwZGF0ZXx4NjQuQWN0aXZlQ2ZnID0gUEdVcGRhdGV8eDY0DQotCQl7RTVCMDRDQzAtRUI0Qy00MkFCLUI0REMtMThFRjk1Rjg2NEIwfS5QR1VwZGF0ZXx4NjQuQnVpbGQuMCA9IFBHVXBkYXRlfHg2NA0KLQkJe0U1QjA0Q0MwLUVCNEMtNDJBQi1CNERDLTE4RUY5NUY4NjRCMH0uUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQotCQl7RTVCMDRDQzAtRUI0Qy00MkFCLUI0REMtMThFRjk1Rjg2NEIwfS5SZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQotCQl7RTVCMDRDQzAtRUI0Qy00MkFCLUI0REMtMThFRjk1Rjg2NEIwfS5SZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfHg2NA0KLQkJe0U1QjA0Q0MwLUVCNEMtNDJBQi1CNERDLTE4RUY5NUY4NjRCMH0uUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFJlbGVhc2V8eDY0DQotCQl7NkRFMTA3NDQtRTM5Ni00MEE1LUI0RTItMUI2OUFBN0M4RDMxfS5EZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBEZWJ1Z3xXaW4zMg0KLQkJezZERTEwNzQ0LUUzOTYtNDBBNS1CNEUyLTFCNjlBQTdDOEQzMX0uRGVidWd8V2luMzIuQnVpbGQuMCA9IERlYnVnfFdpbjMyDQotCQl7NkRFMTA3NDQtRTM5Ni00MEE1LUI0RTItMUI2OUFBN0M4RDMxfS5EZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gRGVidWd8eDY0DQotCQl7NkRFMTA3NDQtRTM5Ni00MEE1LUI0RTItMUI2OUFBN0M4RDMxfS5EZWJ1Z3x4NjQuQnVpbGQuMCA9IERlYnVnfHg2NA0KLQkJezZERTEwNzQ0LUUzOTYtNDBBNS1CNEUyLTFCNjlBQTdDOEQzMX0uUEdJbnN0cnVtZW50fFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCi0JCXs2REUxMDc0NC1FMzk2LTQwQTUtQjRFMi0xQjY5QUE3QzhEMzF9LlBHSW5zdHJ1bWVudHxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KLQkJezZERTEwNzQ0LUUzOTYtNDBBNS1CNEUyLTFCNjlBQTdDOEQzMX0uUEdJbnN0cnVtZW50fHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfHg2NA0KLQkJezZERTEwNzQ0LUUzOTYtNDBBNS1CNEUyLTFCNjlBQTdDOEQzMX0uUEdJbnN0cnVtZW50fHg2NC5CdWlsZC4wID0gUmVsZWFzZXx4NjQNCi0JCXs2REUxMDc0NC1FMzk2LTQwQTUtQjRFMi0xQjY5QUE3QzhEMzF9LlBHVXBkYXRlfFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCi0JCXs2REUxMDc0NC1FMzk2LTQwQTUtQjRFMi0xQjY5QUE3QzhEMzF9LlBHVXBkYXRlfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQotCQl7NkRFMTA3NDQtRTM5Ni00MEE1LUI0RTItMUI2OUFBN0M4RDMxfS5QR1VwZGF0ZXx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXx4NjQNCi0JCXs2REUxMDc0NC1FMzk2LTQwQTUtQjRFMi0xQjY5QUE3QzhEMzF9LlBHVXBkYXRlfHg2NC5CdWlsZC4wID0gUmVsZWFzZXx4NjQNCi0JCXs2REUxMDc0NC1FMzk2LTQwQTUtQjRFMi0xQjY5QUE3QzhEMzF9LlJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KLQkJezZERTEwNzQ0LUUzOTYtNDBBNS1CNEUyLTFCNjlBQTdDOEQzMX0uUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KLQkJezZERTEwNzQ0LUUzOTYtNDBBNS1CNEUyLTFCNjlBQTdDOEQzMX0uUmVsZWFzZXx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXx4NjQNCi0JCXs2REUxMDc0NC1FMzk2LTQwQTUtQjRFMi0xQjY5QUE3QzhEMzF9LlJlbGVhc2V8eDY0LkJ1aWxkLjAgPSBSZWxlYXNlfHg2NA0KLQkJezg4NUQ0ODk4LUQwOEQtNDA5MS05QzQwLUM3MDBDRkUzRkM1QX0uRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gUEdJbnN0cnVtZW50fFdpbjMyDQotCQl7ODg1RDQ4OTgtRDA4RC00MDkxLTlDNDAtQzcwMENGRTNGQzVBfS5EZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gUEdVcGRhdGV8eDY0DQotCQl7ODg1RDQ4OTgtRDA4RC00MDkxLTlDNDAtQzcwMENGRTNGQzVBfS5EZWJ1Z3x4NjQuQnVpbGQuMCA9IFBHVXBkYXRlfHg2NA0KLQkJezg4NUQ0ODk4LUQwOEQtNDA5MS05QzQwLUM3MDBDRkUzRkM1QX0uUEdJbnN0cnVtZW50fFdpbjMyLkFjdGl2ZUNmZyA9IFBHSW5zdHJ1bWVudHxXaW4zMg0KLQkJezg4NUQ0ODk4LUQwOEQtNDA5MS05QzQwLUM3MDBDRkUzRkM1QX0uUEdJbnN0cnVtZW50fFdpbjMyLkJ1aWxkLjAgPSBQR0luc3RydW1lbnR8V2luMzINCi0JCXs4ODVENDg5OC1EMDhELTQwOTEtOUM0MC1DNzAwQ0ZFM0ZDNUF9LlBHSW5zdHJ1bWVudHx4NjQuQWN0aXZlQ2ZnID0gUEdJbnN0cnVtZW50fHg2NA0KLQkJezg4NUQ0ODk4LUQwOEQtNDA5MS05QzQwLUM3MDBDRkUzRkM1QX0uUEdJbnN0cnVtZW50fHg2NC5CdWlsZC4wID0gUEdJbnN0cnVtZW50fHg2NA0KLQkJezg4NUQ0ODk4LUQwOEQtNDA5MS05QzQwLUM3MDBDRkUzRkM1QX0uUEdVcGRhdGV8V2luMzIuQWN0aXZlQ2ZnID0gUEdVcGRhdGV8V2luMzINCi0JCXs4ODVENDg5OC1EMDhELTQwOTEtOUM0MC1DNzAwQ0ZFM0ZDNUF9LlBHVXBkYXRlfFdpbjMyLkJ1aWxkLjAgPSBQR1VwZGF0ZXxXaW4zMg0KLQkJezg4NUQ0ODk4LUQwOEQtNDA5MS05QzQwLUM3MDBDRkUzRkM1QX0uUEdVcGRhdGV8eDY0LkFjdGl2ZUNmZyA9IFBHVXBkYXRlfHg2NA0KLQkJezg4NUQ0ODk4LUQwOEQtNDA5MS05QzQwLUM3MDBDRkUzRkM1QX0uUEdVcGRhdGV8eDY0LkJ1aWxkLjAgPSBQR1VwZGF0ZXx4NjQNCi0JCXs4ODVENDg5OC1EMDhELTQwOTEtOUM0MC1DNzAwQ0ZFM0ZDNUF9LlJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KLQkJezg4NUQ0ODk4LUQwOEQtNDA5MS05QzQwLUM3MDBDRkUzRkM1QX0uUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KLQkJezg4NUQ0ODk4LUQwOEQtNDA5MS05QzQwLUM3MDBDRkUzRkM1QX0uUmVsZWFzZXx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXx4NjQNCi0JCXs4ODVENDg5OC1EMDhELTQwOTEtOUM0MC1DNzAwQ0ZFM0ZDNUF9LlJlbGVhc2V8eDY0LkJ1aWxkLjAgPSBSZWxlYXNlfHg2NA0KLQkJe0Y3NDlCODIyLUI0ODktNENBNS1BM0FELUNFMDc4RjVGMzM4QX0uRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gRGVidWd8V2luMzINCi0JCXtGNzQ5QjgyMi1CNDg5LTRDQTUtQTNBRC1DRTA3OEY1RjMzOEF9LkRlYnVnfFdpbjMyLkJ1aWxkLjAgPSBEZWJ1Z3xXaW4zMg0KLQkJe0Y3NDlCODIyLUI0ODktNENBNS1BM0FELUNFMDc4RjVGMzM4QX0uRGVidWd8eDY0LkFjdGl2ZUNmZyA9IERlYnVnfHg2NA0KLQkJe0Y3NDlCODIyLUI0ODktNENBNS1BM0FELUNFMDc4RjVGMzM4QX0uRGVidWd8eDY0LkJ1aWxkLjAgPSBEZWJ1Z3x4NjQNCi0JCXtGNzQ5QjgyMi1CNDg5LTRDQTUtQTNBRC1DRTA3OEY1RjMzOEF9LlBHSW5zdHJ1bWVudHxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQotCQl7Rjc0OUI4MjItQjQ4OS00Q0E1LUEzQUQtQ0UwNzhGNUYzMzhBfS5QR0luc3RydW1lbnR8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCi0JCXtGNzQ5QjgyMi1CNDg5LTRDQTUtQTNBRC1DRTA3OEY1RjMzOEF9LlBHSW5zdHJ1bWVudHx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXx4NjQNCi0JCXtGNzQ5QjgyMi1CNDg5LTRDQTUtQTNBRC1DRTA3OEY1RjMzOEF9LlBHSW5zdHJ1bWVudHx4NjQuQnVpbGQuMCA9IFJlbGVhc2V8eDY0DQotCQl7Rjc0OUI4MjItQjQ4OS00Q0E1LUEzQUQtQ0UwNzhGNUYzMzhBfS5QR1VwZGF0ZXxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQotCQl7Rjc0OUI4MjItQjQ4OS00Q0E1LUEzQUQtQ0UwNzhGNUYzMzhBfS5QR1VwZGF0ZXxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KLQkJe0Y3NDlCODIyLUI0ODktNENBNS1BM0FELUNFMDc4RjVGMzM4QX0uUEdVcGRhdGV8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8eDY0DQotCQl7Rjc0OUI4MjItQjQ4OS00Q0E1LUEzQUQtQ0UwNzhGNUYzMzhBfS5QR1VwZGF0ZXx4NjQuQnVpbGQuMCA9IFJlbGVhc2V8eDY0DQotCQl7Rjc0OUI4MjItQjQ4OS00Q0E1LUEzQUQtQ0UwNzhGNUYzMzhBfS5SZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCi0JCXtGNzQ5QjgyMi1CNDg5LTRDQTUtQTNBRC1DRTA3OEY1RjMzOEF9LlJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCi0JCXtGNzQ5QjgyMi1CNDg5LTRDQTUtQTNBRC1DRTA3OEY1RjMzOEF9LlJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8eDY0DQotCQl7Rjc0OUI4MjItQjQ4OS00Q0E1LUEzQUQtQ0UwNzhGNUYzMzhBfS5SZWxlYXNlfHg2NC5CdWlsZC4wID0gUmVsZWFzZXx4NjQNCi0JCXtBMjY5N0JEMy0yOEMxLTRBRUMtOTEwNi04Qjc0ODYzOUZEMTZ9LkRlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9IERlYnVnfFdpbjMyDQotCQl7QTI2OTdCRDMtMjhDMS00QUVDLTkxMDYtOEI3NDg2MzlGRDE2fS5EZWJ1Z3xXaW4zMi5CdWlsZC4wID0gRGVidWd8V2luMzINCi0JCXtBMjY5N0JEMy0yOEMxLTRBRUMtOTEwNi04Qjc0ODYzOUZEMTZ9LkRlYnVnfHg2NC5BY3RpdmVDZmcgPSBEZWJ1Z3x4NjQNCi0JCXtBMjY5N0JEMy0yOEMxLTRBRUMtOTEwNi04Qjc0ODYzOUZEMTZ9LkRlYnVnfHg2NC5CdWlsZC4wID0gRGVidWd8eDY0DQotCQl7QTI2OTdCRDMtMjhDMS00QUVDLTkxMDYtOEI3NDg2MzlGRDE2fS5QR0luc3RydW1lbnR8V2luMzIuQWN0aXZlQ2ZnID0gUEdJbnN0cnVtZW50fFdpbjMyDQotCQl7QTI2OTdCRDMtMjhDMS00QUVDLTkxMDYtOEI3NDg2MzlGRDE2fS5QR0luc3RydW1lbnR8V2luMzIuQnVpbGQuMCA9IFBHSW5zdHJ1bWVudHxXaW4zMg0KLQkJe0EyNjk3QkQzLTI4QzEtNEFFQy05MTA2LThCNzQ4NjM5RkQxNn0uUEdJbnN0cnVtZW50fHg2NC5BY3RpdmVDZmcgPSBQR0luc3RydW1lbnR8eDY0DQotCQl7QTI2OTdCRDMtMjhDMS00QUVDLTkxMDYtOEI3NDg2MzlGRDE2fS5QR0luc3RydW1lbnR8eDY0LkJ1aWxkLjAgPSBQR0luc3RydW1lbnR8eDY0DQotCQl7QTI2OTdCRDMtMjhDMS00QUVDLTkxMDYtOEI3NDg2MzlGRDE2fS5QR1VwZGF0ZXxXaW4zMi5BY3RpdmVDZmcgPSBQR1VwZGF0ZXxXaW4zMg0KLQkJe0EyNjk3QkQzLTI4QzEtNEFFQy05MTA2LThCNzQ4NjM5RkQxNn0uUEdVcGRhdGV8V2luMzIuQnVpbGQuMCA9IFBHVXBkYXRlfFdpbjMyDQotCQl7QTI2OTdCRDMtMjhDMS00QUVDLTkxMDYtOEI3NDg2MzlGRDE2fS5QR1VwZGF0ZXx4NjQuQWN0aXZlQ2ZnID0gUEdVcGRhdGV8eDY0DQotCQl7QTI2OTdCRDMtMjhDMS00QUVDLTkxMDYtOEI3NDg2MzlGRDE2fS5QR1VwZGF0ZXx4NjQuQnVpbGQuMCA9IFBHVXBkYXRlfHg2NA0KLQkJe0EyNjk3QkQzLTI4QzEtNEFFQy05MTA2LThCNzQ4NjM5RkQxNn0uUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQotCQl7QTI2OTdCRDMtMjhDMS00QUVDLTkxMDYtOEI3NDg2MzlGRDE2fS5SZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQotCQl7QTI2OTdCRDMtMjhDMS00QUVDLTkxMDYtOEI3NDg2MzlGRDE2fS5SZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfHg2NA0KLQkJe0EyNjk3QkQzLTI4QzEtNEFFQy05MTA2LThCNzQ4NjM5RkQxNn0uUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFJlbGVhc2V8eDY0DQotCQl7MDRGMzc0MDAtODgzQy00MkQ3LUFFMjgtNkNGOTk1M0JGOTc1fS5EZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBEZWJ1Z3xXaW4zMg0KLQkJezA0RjM3NDAwLTg4M0MtNDJENy1BRTI4LTZDRjk5NTNCRjk3NX0uRGVidWd8V2luMzIuQnVpbGQuMCA9IERlYnVnfFdpbjMyDQotCQl7MDRGMzc0MDAtODgzQy00MkQ3LUFFMjgtNkNGOTk1M0JGOTc1fS5EZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gRGVidWd8eDY0DQotCQl7MDRGMzc0MDAtODgzQy00MkQ3LUFFMjgtNkNGOTk1M0JGOTc1fS5EZWJ1Z3x4NjQuQnVpbGQuMCA9IERlYnVnfHg2NA0KLQkJezA0RjM3NDAwLTg4M0MtNDJENy1BRTI4LTZDRjk5NTNCRjk3NX0uUEdJbnN0cnVtZW50fFdpbjMyLkFjdGl2ZUNmZyA9IFBHSW5zdHJ1bWVudHxXaW4zMg0KLQkJezA0RjM3NDAwLTg4M0MtNDJENy1BRTI4LTZDRjk5NTNCRjk3NX0uUEdJbnN0cnVtZW50fFdpbjMyLkJ1aWxkLjAgPSBQR0luc3RydW1lbnR8V2luMzINCi0JCXswNEYzNzQwMC04ODNDLTQyRDctQUUyOC02Q0Y5OTUzQkY5NzV9LlBHSW5zdHJ1bWVudHx4NjQuQWN0aXZlQ2ZnID0gUEdJbnN0cnVtZW50fHg2NA0KLQkJezA0RjM3NDAwLTg4M0MtNDJENy1BRTI4LTZDRjk5NTNCRjk3NX0uUEdJbnN0cnVtZW50fHg2NC5CdWlsZC4wID0gUEdJbnN0cnVtZW50fHg2NA0KLQkJezA0RjM3NDAwLTg4M0MtNDJENy1BRTI4LTZDRjk5NTNCRjk3NX0uUEdVcGRhdGV8V2luMzIuQWN0aXZlQ2ZnID0gUEdVcGRhdGV8V2luMzINCi0JCXswNEYzNzQwMC04ODNDLTQyRDctQUUyOC02Q0Y5OTUzQkY5NzV9LlBHVXBkYXRlfFdpbjMyLkJ1aWxkLjAgPSBQR1VwZGF0ZXxXaW4zMg0KLQkJezA0RjM3NDAwLTg4M0MtNDJENy1BRTI4LTZDRjk5NTNCRjk3NX0uUEdVcGRhdGV8eDY0LkFjdGl2ZUNmZyA9IFBHVXBkYXRlfHg2NA0KLQkJezA0RjM3NDAwLTg4M0MtNDJENy1BRTI4LTZDRjk5NTNCRjk3NX0uUEdVcGRhdGV8eDY0LkJ1aWxkLjAgPSBQR1VwZGF0ZXx4NjQNCi0JCXswNEYzNzQwMC04ODNDLTQyRDctQUUyOC02Q0Y5OTUzQkY5NzV9LlJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KLQkJezA0RjM3NDAwLTg4M0MtNDJENy1BRTI4LTZDRjk5NTNCRjk3NX0uUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KLQkJezA0RjM3NDAwLTg4M0MtNDJENy1BRTI4LTZDRjk5NTNCRjk3NX0uUmVsZWFzZXx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXx4NjQNCi0JCXswNEYzNzQwMC04ODNDLTQyRDctQUUyOC02Q0Y5OTUzQkY5NzV9LlJlbGVhc2V8eDY0LkJ1aWxkLjAgPSBSZWxlYXNlfHg2NA0KLQlFbmRHbG9iYWxTZWN0aW9uDQotCUdsb2JhbFNlY3Rpb24oU29sdXRpb25Qcm9wZXJ0aWVzKSA9IHByZVNvbHV0aW9uDQotCQlIaWRlU29sdXRpb25Ob2RlID0gRkFMU0UNCi0JRW5kR2xvYmFsU2VjdGlvbg0KLUVuZEdsb2JhbA0KZGlmZiAtLWdpdCBhL1BDL1ZTOS4wL3BnaW5zdHJ1bWVudC52c3Byb3BzIGIvUEMvVlM5LjAvcGdpbnN0cnVtZW50LnZzcHJvcHMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk5YzExN2IuLjAwMDAwMDAKLS0tIGEvUEMvVlM5LjAvcGdpbnN0cnVtZW50LnZzcHJvcHMKKysrIC9kZXYvbnVsbApAQCAtMSwzNCArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJXaW5kb3dzLTEyNTIiPz4NCi08VmlzdWFsU3R1ZGlvUHJvcGVydHlTaGVldA0KLQlQcm9qZWN0VHlwZT0iVmlzdWFsIEMrKyINCi0JVmVyc2lvbj0iOC4wMCINCi0JTmFtZT0icGdpbnN0cnVtZW50Ig0KLQlPdXRwdXREaXJlY3Rvcnk9IiQoT3V0RGlyUEdJKSINCi0JSW50ZXJtZWRpYXRlRGlyZWN0b3J5PSIkKFNvbHV0aW9uRGlyKSQoUGxhdGZvcm1OYW1lKS10ZW1wLXBnaVwkKFByb2plY3ROYW1lKVwiDQotCT4NCi0JPFRvb2wNCi0JCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQlPcHRpbWl6YXRpb249IjIiDQotCQlJbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj0iMSINCi0JCUVuYWJsZUludHJpbnNpY0Z1bmN0aW9ucz0iZmFsc2UiDQotCQlGYXZvclNpemVPclNwZWVkPSIyIg0KLQkJT21pdEZyYW1lUG9pbnRlcnM9InRydWUiDQotCQlFbmFibGVGaWJlclNhZmVPcHRpbWl6YXRpb25zPSJmYWxzZSINCi0JCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0idHJ1ZSINCi0JCVN0cmluZ1Bvb2xpbmc9InRydWUiDQotCQlFeGNlcHRpb25IYW5kbGluZz0iMCINCi0JCUJ1ZmZlclNlY3VyaXR5Q2hlY2s9ImZhbHNlIg0KLQkvPg0KLQk8VG9vbA0KLQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJT3B0aW1pemVSZWZlcmVuY2VzPSIyIg0KLQkJRW5hYmxlQ09NREFURm9sZGluZz0iMSINCi0JCUxpbmtUaW1lQ29kZUdlbmVyYXRpb249IjIiDQotCQlQcm9maWxlR3VpZGVkRGF0YWJhc2U9IiQoU29sdXRpb25EaXIpJChQbGF0Zm9ybU5hbWUpLXBnaVwkKFRhcmdldE5hbWUpLnBnZCINCi0JCUltcG9ydExpYnJhcnk9IiQoT3V0RGlyUEdJKVwkKFRhcmdldE5hbWUpLmxpYiINCi0JLz4NCi0JPFVzZXJNYWNybw0KLQkJTmFtZT0iT3V0RGlyUEdJIg0KLQkJVmFsdWU9IiQoU29sdXRpb25EaXIpJChQbGF0Zm9ybU5hbWUpLXBnaVwiDQotCS8+DQotPC9WaXN1YWxTdHVkaW9Qcm9wZXJ0eVNoZWV0Pg0KZGlmZiAtLWdpdCBhL1BDL1ZTOS4wL3BndXBkYXRlLnZzcHJvcHMgYi9QQy9WUzkuMC9wZ3VwZGF0ZS52c3Byb3BzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyNmNmYzJkLi4wMDAwMDAwCi0tLSBhL1BDL1ZTOS4wL3BndXBkYXRlLnZzcHJvcHMKKysrIC9kZXYvbnVsbApAQCAtMSwxNCArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJXaW5kb3dzLTEyNTIiPz4NCi08VmlzdWFsU3R1ZGlvUHJvcGVydHlTaGVldA0KLQlQcm9qZWN0VHlwZT0iVmlzdWFsIEMrKyINCi0JVmVyc2lvbj0iOC4wMCINCi0JTmFtZT0icGd1cGRhdGUiDQotCU91dHB1dERpcmVjdG9yeT0iJChTb2x1dGlvbkRpcikkKFBsYXRmb3JtTmFtZSktcGdvXCINCi0JSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9IiQoU29sdXRpb25EaXIpXHBnaW5zdHJ1bWVudC52c3Byb3BzIg0KLQk+DQotCTxUb29sDQotCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQlBZGRpdGlvbmFsTWFuaWZlc3REZXBlbmRlbmNpZXM9IiINCi0JCUxpbmtUaW1lQ29kZUdlbmVyYXRpb249IjQiDQotCS8+DQotPC9WaXN1YWxTdHVkaW9Qcm9wZXJ0eVNoZWV0Pg0KZGlmZiAtLWdpdCBhL1BDL1ZTOS4wL3B5ZC52c3Byb3BzIGIvUEMvVlM5LjAvcHlkLnZzcHJvcHMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDM0YzIxZTEuLjAwMDAwMDAKLS0tIGEvUEMvVlM5LjAvcHlkLnZzcHJvcHMKKysrIC9kZXYvbnVsbApAQCAtMSwyOCArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJXaW5kb3dzLTEyNTIiPz4NCi08VmlzdWFsU3R1ZGlvUHJvcGVydHlTaGVldA0KLQlQcm9qZWN0VHlwZT0iVmlzdWFsIEMrKyINCi0JVmVyc2lvbj0iOC4wMCINCi0JTmFtZT0icHlkIg0KLQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweXByb2plY3QudnNwcm9wczsuXHJlbGVhc2UudnNwcm9wcyINCi0JPg0KLQk8VG9vbA0KLQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJQeV9CVUlMRF9DT1JFX01PRFVMRSINCi0JCVJ1bnRpbWVMaWJyYXJ5PSIyIg0KLQkvPg0KLQk8VG9vbA0KLQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJT3V0cHV0RmlsZT0iJChPdXREaXIpXCQoUHJvamVjdE5hbWUpLnB5ZCINCi0JCVByb2dyYW1EYXRhYmFzZUZpbGU9IiQoT3V0RGlyKVwkKFByb2plY3ROYW1lKS5wZGIiDQotCQlJbXBvcnRMaWJyYXJ5PSIkKE91dERpcilcJChUYXJnZXROYW1lKS5saWIiDQotCQlHZW5lcmF0ZU1hbmlmZXN0PSJmYWxzZSINCi0JLz4NCi0JPFRvb2wNCi0JCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJRW1iZWRNYW5pZmVzdD0iZmFsc2UiDQotCS8+DQotCTxUb29sDQotCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCUNvbW1hbmRMaW5lPSIiDQotCS8+DQotPC9WaXN1YWxTdHVkaW9Qcm9wZXJ0eVNoZWV0Pg0KZGlmZiAtLWdpdCBhL1BDL1ZTOS4wL3B5ZF9kLnZzcHJvcHMgYi9QQy9WUzkuMC9weWRfZC52c3Byb3BzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzMTNhMzBiLi4wMDAwMDAwCi0tLSBhL1BDL1ZTOS4wL3B5ZF9kLnZzcHJvcHMKKysrIC9kZXYvbnVsbApAQCAtMSwzNiArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJXaW5kb3dzLTEyNTIiPz4NCi08VmlzdWFsU3R1ZGlvUHJvcGVydHlTaGVldA0KLQlQcm9qZWN0VHlwZT0iVmlzdWFsIEMrKyINCi0JVmVyc2lvbj0iOC4wMCINCi0JTmFtZT0icHlkX2QiDQotCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5cHJvamVjdC52c3Byb3BzOy5cZGVidWcudnNwcm9wcyINCi0JPg0KLQk8VG9vbA0KLQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCU9wdGltaXphdGlvbj0iMCINCi0JCUlubGluZUZ1bmN0aW9uRXhwYW5zaW9uPSIwIg0KLQkJRW5hYmxlSW50cmluc2ljRnVuY3Rpb25zPSJmYWxzZSINCi0JCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJQeV9CVUlMRF9DT1JFX01PRFVMRSINCi0JCVJ1bnRpbWVMaWJyYXJ5PSIzIg0KLQkvPg0KLQk8VG9vbA0KLQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJT3V0cHV0RmlsZT0iJChPdXREaXIpXCQoUHJvamVjdE5hbWUpX2QucHlkIg0KLQkJTGlua0luY3JlbWVudGFsPSIxIg0KLQkJUHJvZ3JhbURhdGFiYXNlRmlsZT0iJChPdXREaXIpXCQoUHJvamVjdE5hbWUpX2QucGRiIg0KLQkJSW1wb3J0TGlicmFyeT0iJChPdXREaXIpXCQoVGFyZ2V0TmFtZSkubGliIg0KLQkJR2VuZXJhdGVNYW5pZmVzdD0iZmFsc2UiDQotCS8+DQotCTxUb29sDQotCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCUVtYmVkTWFuaWZlc3Q9ImZhbHNlIg0KLQkvPg0KLQk8VG9vbA0KLQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQlDb21tYW5kTGluZT0iIg0KLQkvPg0KLQk8VXNlck1hY3JvDQotCQlOYW1lPSJQeXRob25FeGUiDQotCQlWYWx1ZT0iJChTb2x1dGlvbkRpcilweXRob25fZC5leGUiDQotCS8+DQotPC9WaXN1YWxTdHVkaW9Qcm9wZXJ0eVNoZWV0Pg0KZGlmZiAtLWdpdCBhL1BDL1ZTOS4wL3B5ZXhwYXQudmNwcm9qIGIvUEMvVlM5LjAvcHlleHBhdC52Y3Byb2oKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE4ZDJjZDcuLjAwMDAwMDAKLS0tIGEvUEMvVlM5LjAvcHlleHBhdC52Y3Byb2oKKysrIC9kZXYvbnVsbApAQCAtMSw1NTMgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iV2luZG93cy0xMjUyIj8+DQotPFZpc3VhbFN0dWRpb1Byb2plY3QNCi0JUHJvamVjdFR5cGU9IlZpc3VhbCBDKysiDQotCVZlcnNpb249IjkuMDAiDQotCU5hbWU9InB5ZXhwYXQiDQotCVByb2plY3RHVUlEPSJ7RDA2QjY0MjYtNDc2Mi00NENDLThCQUQtRDc5MDUyNTA3RjJGfSINCi0JUm9vdE5hbWVzcGFjZT0icHlleHBhdCINCi0JS2V5d29yZD0iV2luMzJQcm9qIg0KLQlUYXJnZXRGcmFtZXdvcmtWZXJzaW9uPSIxOTY2MTMiDQotCT4NCi0JPFBsYXRmb3Jtcz4NCi0JCTxQbGF0Zm9ybQ0KLQkJCU5hbWU9IldpbjMyIg0KLQkJLz4NCi0JCTxQbGF0Zm9ybQ0KLQkJCU5hbWU9Ing2NCINCi0JCS8+DQotCTwvUGxhdGZvcm1zPg0KLQk8VG9vbEZpbGVzPg0KLQk8L1Rvb2xGaWxlcz4NCi0JPENvbmZpZ3VyYXRpb25zPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJEZWJ1Z3xXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWRfZC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIuXC4uXC4uXE1vZHVsZXNcZXhwYXQiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJQWUVYUEFUX0VYUE9SVFM7SEFWRV9FWFBBVF9IO1hNTF9OUztYTUxfRFREO0JZVEVPUkRFUj0xMjM0O1hNTF9DT05URVhUX0JZVEVTPTEwMjQ7WE1MX1NUQVRJQztIQVZFX01FTU1PVkUiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iRGVidWd8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZF9kLnZzcHJvcHM7Llx4NjQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii5cLi5cLi5cTW9kdWxlc1xleHBhdCINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IlBZRVhQQVRfRVhQT1JUUztIQVZFX0VYUEFUX0g7WE1MX05TO1hNTF9EVEQ7QllURU9SREVSPTEyMzQ7WE1MX0NPTlRFWFRfQllURVM9MTAyNDtYTUxfU1RBVElDO0hBVkVfTUVNTU9WRSINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJSZWxlYXNlfFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLlwuLlwuLlxNb2R1bGVzXGV4cGF0Ig0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iUFlFWFBBVF9FWFBPUlRTO0hBVkVfRVhQQVRfSDtYTUxfTlM7WE1MX0RURDtCWVRFT1JERVI9MTIzNDtYTUxfQ09OVEVYVF9CWVRFUz0xMDI0O1hNTF9TVEFUSUM7SEFWRV9NRU1NT1ZFIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlJlbGVhc2V8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ceDY0LnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLlwuLlwuLlxNb2R1bGVzXGV4cGF0Ig0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iUFlFWFBBVF9FWFBPUlRTO0hBVkVfRVhQQVRfSDtYTUxfTlM7WE1MX0RURDtCWVRFT1JERVI9MTIzNDtYTUxfQ09OVEVYVF9CWVRFUz0xMDI0O1hNTF9TVEFUSUM7SEFWRV9NRU1NT1ZFIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHSW5zdHJ1bWVudHxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHBnaW5zdHJ1bWVudC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLlwuLlwuLlxNb2R1bGVzXGV4cGF0Ig0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iUFlFWFBBVF9FWFBPUlRTO0hBVkVfRVhQQVRfSDtYTUxfTlM7WE1MX0RURDtCWVRFT1JERVI9MTIzNDtYTUxfQ09OVEVYVF9CWVRFUz0xMDI0O1hNTF9TVEFUSUM7SEFWRV9NRU1NT1ZFIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHSW5zdHJ1bWVudHx4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7Llx4NjQudnNwcm9wczsuXHBnaW5zdHJ1bWVudC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii5cLi5cLi5cTW9kdWxlc1xleHBhdCINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IlBZRVhQQVRfRVhQT1JUUztIQVZFX0VYUEFUX0g7WE1MX05TO1hNTF9EVEQ7QllURU9SREVSPTEyMzQ7WE1MX0NPTlRFWFRfQllURVM9MTAyNDtYTUxfU1RBVElDO0hBVkVfTUVNTU9WRSINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJVGFyZ2V0TWFjaGluZT0iMTciDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdVcGRhdGV8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7LlxwZ3VwZGF0ZS52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLlwuLlwuLlxNb2R1bGVzXGV4cGF0Ig0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iUFlFWFBBVF9FWFBPUlRTO0hBVkVfRVhQQVRfSDtYTUxfTlM7WE1MX0RURDtCWVRFT1JERVI9MTIzNDtYTUxfQ09OVEVYVF9CWVRFUz0xMDI0O1hNTF9TVEFUSUM7SEFWRV9NRU1NT1ZFIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHVXBkYXRlfHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHg2NC52c3Byb3BzOy5ccGd1cGRhdGUudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIuXC4uXC4uXE1vZHVsZXNcZXhwYXQiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJQWUVYUEFUX0VYUE9SVFM7SEFWRV9FWFBBVF9IO1hNTF9OUztYTUxfRFREO0JZVEVPUkRFUj0xMjM0O1hNTF9DT05URVhUX0JZVEVTPTEwMjQ7WE1MX1NUQVRJQztIQVZFX01FTU1PVkUiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCVRhcmdldE1hY2hpbmU9IjE3Ig0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCTwvQ29uZmlndXJhdGlvbnM+DQotCTxSZWZlcmVuY2VzPg0KLQk8L1JlZmVyZW5jZXM+DQotCTxGaWxlcz4NCi0JCTxGaWx0ZXINCi0JCQlOYW1lPSJIZWFkZXIgRmlsZXMiDQotCQkJPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xleHBhdFx4bWxyb2xlLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXGV4cGF0XHhtbHRvay5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJPC9GaWx0ZXI+DQotCQk8RmlsdGVyDQotCQkJTmFtZT0iU291cmNlIEZpbGVzIg0KLQkJCT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNccHlleHBhdC5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xleHBhdFx4bWxwYXJzZS5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xleHBhdFx4bWxyb2xlLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXGV4cGF0XHhtbHRvay5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJPC9GaWx0ZXI+DQotCTwvRmlsZXM+DQotCTxHbG9iYWxzPg0KLQk8L0dsb2JhbHM+DQotPC9WaXN1YWxTdHVkaW9Qcm9qZWN0Pg0KZGlmZiAtLWdpdCBhL1BDL1ZTOS4wL3B5cHJvamVjdC52c3Byb3BzIGIvUEMvVlM5LjAvcHlwcm9qZWN0LnZzcHJvcHMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE5MDk4NzUuLjAwMDAwMDAKLS0tIGEvUEMvVlM5LjAvcHlwcm9qZWN0LnZzcHJvcHMKKysrIC9kZXYvbnVsbApAQCAtMSw5MSArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJXaW5kb3dzLTEyNTIiPz4NCi08VmlzdWFsU3R1ZGlvUHJvcGVydHlTaGVldA0KLQlQcm9qZWN0VHlwZT0iVmlzdWFsIEMrKyINCi0JVmVyc2lvbj0iOC4wMCINCi0JTmFtZT0icHlwcm9qZWN0Ig0KLQlPdXRwdXREaXJlY3Rvcnk9IiQoU29sdXRpb25EaXIpIg0KLQlJbnRlcm1lZGlhdGVEaXJlY3Rvcnk9IiQoU29sdXRpb25EaXIpJChQbGF0Zm9ybU5hbWUpLXRlbXAtJChDb25maWd1cmF0aW9uTmFtZSlcJChQcm9qZWN0TmFtZSlcIg0KLQk+DQotCTxUb29sDQotCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJT3B0aW1pemF0aW9uPSIyIg0KLQkJSW5saW5lRnVuY3Rpb25FeHBhbnNpb249IjEiDQotCQlFbmFibGVJbnRyaW5zaWNGdW5jdGlvbnM9InRydWUiDQotCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIuLlwuLlxJbmNsdWRlOyAuLlwuLlxQQyINCi0JCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJfV0lOMzIiDQotCQlTdHJpbmdQb29saW5nPSJ0cnVlIg0KLQkJRXhjZXB0aW9uSGFuZGxpbmc9IjAiDQotCQlSdW50aW1lTGlicmFyeT0iMCINCi0JCUVuYWJsZUZ1bmN0aW9uTGV2ZWxMaW5raW5nPSJ0cnVlIg0KLQkJV2FybmluZ0xldmVsPSIzIg0KLQkJRGVidWdJbmZvcm1hdGlvbkZvcm1hdD0iMyINCi0JCUNvbXBpbGVBcz0iMCINCi0JLz4NCi0JPFRvb2wNCi0JCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCUxpbmtJbmNyZW1lbnRhbD0iMSINCi0JCUFkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXM9IiQoT3V0RGlyKSINCi0JCUdlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj0idHJ1ZSINCi0JCVByb2dyYW1EYXRhYmFzZUZpbGU9IiQoT3V0RGlyKSQoVGFyZ2V0TmFtZSkucGRiIg0KLQkJU3ViU3lzdGVtPSIyIg0KLQkJUmFuZG9taXplZEJhc2VBZGRyZXNzPSIxIg0KLQkJRGF0YUV4ZWN1dGlvblByZXZlbnRpb249IjAiDQotCQlUYXJnZXRNYWNoaW5lPSIxIg0KLQkvPg0KLQk8VG9vbA0KLQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii4uXC4uXFBDOy4uXC4uXEluY2x1ZGUiDQotCS8+DQotCTxVc2VyTWFjcm8NCi0JCU5hbWU9IlB5RGxsTmFtZSINCi0JCVZhbHVlPSJweXRob24zNCINCi0JLz4NCi0JPFVzZXJNYWNybw0KLQkJTmFtZT0iUHl0aG9uRXhlIg0KLQkJVmFsdWU9IiQoU29sdXRpb25EaXIpXHB5dGhvbi5leGUiDQotCS8+DQotCTxVc2VyTWFjcm8NCi0JCU5hbWU9ImV4dGVybmFsc0RpciINCi0JCVZhbHVlPSIuLlwuLlwuLiINCi0JLz4NCi0JPFVzZXJNYWNybw0KLQkJTmFtZT0ic3FsaXRlM0RpciINCi0JCVZhbHVlPSIkKGV4dGVybmFsc0Rpcilcc3FsaXRlLTMuOC4zLjEiDQotCS8+DQotCTxVc2VyTWFjcm8NCi0JCU5hbWU9ImJ6MkRpciINCi0JCVZhbHVlPSIkKGV4dGVybmFsc0RpcilcYnppcDItMS4wLjYiDQotCS8+DQotCTxVc2VyTWFjcm8NCi0JCU5hbWU9Imx6bWFEaXIiDQotCQlWYWx1ZT0iJChleHRlcm5hbHNEaXIpXHh6LTUuMC41Ig0KLQkvPg0KLQk8VXNlck1hY3JvDQotCQlOYW1lPSJvcGVuc3NsRGlyIg0KLQkJVmFsdWU9IiQoZXh0ZXJuYWxzRGlyKVxvcGVuc3NsLTEuMC4xZyINCi0JLz4NCi0JPFVzZXJNYWNybw0KLQkJTmFtZT0idGNsdGtEaXIiDQotCQlWYWx1ZT0iJChleHRlcm5hbHNEaXIpXHRjbHRrIg0KLQkvPg0KLQk8VXNlck1hY3JvDQotCQlOYW1lPSJ0Y2x0azY0RGlyIg0KLQkJVmFsdWU9IiQoZXh0ZXJuYWxzRGlyKVx0Y2x0azY0Ig0KLQkvPg0KLQk8VXNlck1hY3JvDQotCQlOYW1lPSJ0Y2x0a0xpYiINCi0JCVZhbHVlPSIkKHRjbHRrRGlyKVxsaWJcdGNsODUubGliICQodGNsdGtEaXIpXGxpYlx0azg1LmxpYiINCi0JLz4NCi0JPFVzZXJNYWNybw0KLQkJTmFtZT0idGNsdGtMaWJEZWJ1ZyINCi0JCVZhbHVlPSIkKHRjbHRrRGlyKVxsaWJcdGNsODVnLmxpYiAkKHRjbHRrRGlyKVxsaWJcdGs4NWcubGliIg0KLQkvPg0KLQk8VXNlck1hY3JvDQotCQlOYW1lPSJ0Y2x0azY0TGliIg0KLQkJVmFsdWU9IiQodGNsdGs2NERpcilcbGliXHRjbDg1LmxpYiAkKHRjbHRrNjREaXIpXGxpYlx0azg1LmxpYiINCi0JLz4NCi0JPFVzZXJNYWNybw0KLQkJTmFtZT0idGNsdGs2NExpYkRlYnVnIg0KLQkJVmFsdWU9IiQodGNsdGs2NERpcilcbGliXHRjbDg1Zy5saWIgJCh0Y2x0azY0RGlyKVxsaWJcdGs4NWcubGliIg0KLQkvPg0KLTwvVmlzdWFsU3R1ZGlvUHJvcGVydHlTaGVldD4NCmRpZmYgLS1naXQgYS9QQy9WUzkuMC9weXRob24udmNwcm9qIGIvUEMvVlM5LjAvcHl0aG9uLnZjcHJvagpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjA3ZGUyMS4uMDAwMDAwMAotLS0gYS9QQy9WUzkuMC9weXRob24udmNwcm9qCisrKyAvZGV2L251bGwKQEAgLTEsNjM3ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IldpbmRvd3MtMTI1MiI/Pg0KLTxWaXN1YWxTdHVkaW9Qcm9qZWN0DQotCVByb2plY3RUeXBlPSJWaXN1YWwgQysrIg0KLQlWZXJzaW9uPSI5LjAwIg0KLQlOYW1lPSJweXRob24iDQotCVByb2plY3RHVUlEPSJ7QjExRDc1MEYtQ0QxRi00QTk2LTg1Q0UtRTY5QTVDNTI1OUY5fSINCi0JVGFyZ2V0RnJhbWV3b3JrVmVyc2lvbj0iMTMxMDcyIg0KLQk+DQotCTxQbGF0Zm9ybXM+DQotCQk8UGxhdGZvcm0NCi0JCQlOYW1lPSJXaW4zMiINCi0JCS8+DQotCQk8UGxhdGZvcm0NCi0JCQlOYW1lPSJ4NjQiDQotCQkvPg0KLQk8L1BsYXRmb3Jtcz4NCi0JPFRvb2xGaWxlcz4NCi0JPC9Ub29sRmlsZXM+DQotCTxDb25maWd1cmF0aW9ucz4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMSINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweXByb2plY3QudnNwcm9wczsuXHJlbGVhc2UudnNwcm9wcyINCi0JCQlVc2VPZk1GQz0iMCINCi0JCQlBVExNaW5pbWl6ZXNDUnVuVGltZUxpYnJhcnlVc2FnZT0iZmFsc2UiDQotCQkJQ2hhcmFjdGVyU2V0PSIyIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Il9DT05TT0xFIg0KLQkJCQlTdHJpbmdQb29saW5nPSJ0cnVlIg0KLQkJCQlSdW50aW1lTGlicmFyeT0iMiINCi0JCQkJRW5hYmxlRnVuY3Rpb25MZXZlbExpbmtpbmc9InRydWUiDQotCQkJCUNvbXBpbGVBcz0iMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Ik5ERUJVRyINCi0JCQkJQ3VsdHVyZT0iMTAzMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJT3V0cHV0RmlsZT0iJChPdXREaXIpXHB5dGhvbi5leGUiDQotCQkJCVN1YlN5c3RlbT0iMSINCi0JCQkJU3RhY2tSZXNlcnZlU2l6ZT0iMjAwMDAwMCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MWQwMDAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZXx4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjEiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlwcm9qZWN0LnZzcHJvcHM7Llx4NjQudnNwcm9wczsuXHJlbGVhc2UudnNwcm9wcyINCi0JCQlVc2VPZk1GQz0iMCINCi0JCQlBVExNaW5pbWl6ZXNDUnVuVGltZUxpYnJhcnlVc2FnZT0iZmFsc2UiDQotCQkJQ2hhcmFjdGVyU2V0PSIyIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJfQ09OU09MRSINCi0JCQkJU3RyaW5nUG9vbGluZz0idHJ1ZSINCi0JCQkJUnVudGltZUxpYnJhcnk9IjIiDQotCQkJCUVuYWJsZUZ1bmN0aW9uTGV2ZWxMaW5raW5nPSJ0cnVlIg0KLQkJCQlDb21waWxlQXM9IjAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJOREVCVUciDQotCQkJCUN1bHR1cmU9IjEwMzMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCU91dHB1dEZpbGU9IiQoT3V0RGlyKVxweXRob24uZXhlIg0KLQkJCQlTdWJTeXN0ZW09IjEiDQotCQkJCVN0YWNrUmVzZXJ2ZVNpemU9IjIwMDAwMDAiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFkMDAwMDAwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IkRlYnVnfFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIxIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5cHJvamVjdC52c3Byb3BzOy5cZGVidWcudnNwcm9wcyINCi0JCQlVc2VPZk1GQz0iMCINCi0JCQlBVExNaW5pbWl6ZXNDUnVuVGltZUxpYnJhcnlVc2FnZT0iZmFsc2UiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCU9wdGltaXphdGlvbj0iMCINCi0JCQkJRW5hYmxlSW50cmluc2ljRnVuY3Rpb25zPSJmYWxzZSINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iX0NPTlNPTEUiDQotCQkJCVJ1bnRpbWVMaWJyYXJ5PSIzIg0KLQkJCQlCcm93c2VJbmZvcm1hdGlvbj0iMSINCi0JCQkJQ29tcGlsZUFzPSIwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iX0RFQlVHIg0KLQkJCQlDdWx0dXJlPSIxMDMzIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIuLlwuLlxJbmNsdWRlIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlPdXRwdXRGaWxlPSIkKE91dERpcilccHl0aG9uX2QuZXhlIg0KLQkJCQlTdWJTeXN0ZW09IjEiDQotCQkJCVN0YWNrUmVzZXJ2ZVNpemU9IjIwMDAwMDAiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFkMDAwMDAwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IkRlYnVnfHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMSINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweXByb2plY3QudnNwcm9wczsuXHg2NC52c3Byb3BzOy5cZGVidWcudnNwcm9wcyINCi0JCQlVc2VPZk1GQz0iMCINCi0JCQlBVExNaW5pbWl6ZXNDUnVuVGltZUxpYnJhcnlVc2FnZT0iZmFsc2UiDQotCQkJQ2hhcmFjdGVyU2V0PSIyIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlPcHRpbWl6YXRpb249IjAiDQotCQkJCUVuYWJsZUludHJpbnNpY0Z1bmN0aW9ucz0iZmFsc2UiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Il9DT05TT0xFIg0KLQkJCQlSdW50aW1lTGlicmFyeT0iMyINCi0JCQkJQnJvd3NlSW5mb3JtYXRpb249IjEiDQotCQkJCUNvbXBpbGVBcz0iMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Il9ERUJVRyINCi0JCQkJQ3VsdHVyZT0iMTAzMyINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cSW5jbHVkZSINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJT3V0cHV0RmlsZT0iJChPdXREaXIpXHB5dGhvbl9kLmV4ZSINCi0JCQkJU3ViU3lzdGVtPSIxIg0KLQkJCQlTdGFja1Jlc2VydmVTaXplPSIyMTAwMDAwIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxZDAwMDAwMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR0luc3RydW1lbnR8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjEiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlwcm9qZWN0LnZzcHJvcHM7LlxyZWxlYXNlLnZzcHJvcHM7LlxwZ2luc3RydW1lbnQudnNwcm9wcyINCi0JCQlVc2VPZk1GQz0iMCINCi0JCQlBVExNaW5pbWl6ZXNDUnVuVGltZUxpYnJhcnlVc2FnZT0iZmFsc2UiDQotCQkJQ2hhcmFjdGVyU2V0PSIyIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Il9DT05TT0xFIg0KLQkJCQlTdHJpbmdQb29saW5nPSJ0cnVlIg0KLQkJCQlSdW50aW1lTGlicmFyeT0iMiINCi0JCQkJRW5hYmxlRnVuY3Rpb25MZXZlbExpbmtpbmc9InRydWUiDQotCQkJCUNvbXBpbGVBcz0iMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Ik5ERUJVRyINCi0JCQkJQ3VsdHVyZT0iMTAzMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJT3V0cHV0RmlsZT0iJChPdXREaXIpXHB5dGhvbi5leGUiDQotCQkJCVN1YlN5c3RlbT0iMSINCi0JCQkJU3RhY2tSZXNlcnZlU2l6ZT0iMjAwMDAwMCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MWQwMDAwMDAiDQotCQkJCUltcG9ydExpYnJhcnk9IiINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR0luc3RydW1lbnR8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIxIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5cHJvamVjdC52c3Byb3BzOy5ceDY0LnZzcHJvcHM7LlxyZWxlYXNlLnZzcHJvcHM7LlxwZ2luc3RydW1lbnQudnNwcm9wcyINCi0JCQlVc2VPZk1GQz0iMCINCi0JCQlBVExNaW5pbWl6ZXNDUnVuVGltZUxpYnJhcnlVc2FnZT0iZmFsc2UiDQotCQkJQ2hhcmFjdGVyU2V0PSIyIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJfQ09OU09MRSINCi0JCQkJU3RyaW5nUG9vbGluZz0idHJ1ZSINCi0JCQkJUnVudGltZUxpYnJhcnk9IjIiDQotCQkJCUVuYWJsZUZ1bmN0aW9uTGV2ZWxMaW5raW5nPSJ0cnVlIg0KLQkJCQlDb21waWxlQXM9IjAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJOREVCVUciDQotCQkJCUN1bHR1cmU9IjEwMzMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCU91dHB1dEZpbGU9IiQoT3V0RGlyKVxweXRob24uZXhlIg0KLQkJCQlTdWJTeXN0ZW09IjEiDQotCQkJCVN0YWNrUmVzZXJ2ZVNpemU9IjIwMDAwMDAiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFkMDAwMDAwIg0KLQkJCQlJbXBvcnRMaWJyYXJ5PSIiDQotCQkJCVRhcmdldE1hY2hpbmU9IjE3Ig0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHVXBkYXRlfFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIxIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5cHJvamVjdC52c3Byb3BzOy5ccmVsZWFzZS52c3Byb3BzOy5ccGd1cGRhdGUudnNwcm9wcyINCi0JCQlVc2VPZk1GQz0iMCINCi0JCQlBVExNaW5pbWl6ZXNDUnVuVGltZUxpYnJhcnlVc2FnZT0iZmFsc2UiDQotCQkJQ2hhcmFjdGVyU2V0PSIyIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Il9DT05TT0xFIg0KLQkJCQlTdHJpbmdQb29saW5nPSJ0cnVlIg0KLQkJCQlSdW50aW1lTGlicmFyeT0iMiINCi0JCQkJRW5hYmxlRnVuY3Rpb25MZXZlbExpbmtpbmc9InRydWUiDQotCQkJCUNvbXBpbGVBcz0iMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Ik5ERUJVRyINCi0JCQkJQ3VsdHVyZT0iMTAzMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJT3V0cHV0RmlsZT0iJChPdXREaXIpXHB5dGhvbi5leGUiDQotCQkJCVN1YlN5c3RlbT0iMSINCi0JCQkJU3RhY2tSZXNlcnZlU2l6ZT0iMjAwMDAwMCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MWQwMDAwMDAiDQotCQkJCUltcG9ydExpYnJhcnk9IiINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR1VwZGF0ZXx4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjEiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlwcm9qZWN0LnZzcHJvcHM7Llx4NjQudnNwcm9wczsuXHJlbGVhc2UudnNwcm9wczsuXHBndXBkYXRlLnZzcHJvcHMiDQotCQkJVXNlT2ZNRkM9IjAiDQotCQkJQVRMTWluaW1pemVzQ1J1blRpbWVMaWJyYXJ5VXNhZ2U9ImZhbHNlIg0KLQkJCUNoYXJhY3RlclNldD0iMiINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iX0NPTlNPTEUiDQotCQkJCVN0cmluZ1Bvb2xpbmc9InRydWUiDQotCQkJCVJ1bnRpbWVMaWJyYXJ5PSIyIg0KLQkJCQlFbmFibGVGdW5jdGlvbkxldmVsTGlua2luZz0idHJ1ZSINCi0JCQkJQ29tcGlsZUFzPSIwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iTkRFQlVHIg0KLQkJCQlDdWx0dXJlPSIxMDMzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlPdXRwdXRGaWxlPSIkKE91dERpcilccHl0aG9uLmV4ZSINCi0JCQkJU3ViU3lzdGVtPSIxIg0KLQkJCQlTdGFja1Jlc2VydmVTaXplPSIyMDAwMDAwIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxZDAwMDAwMCINCi0JCQkJSW1wb3J0TGlicmFyeT0iIg0KLQkJCQlUYXJnZXRNYWNoaW5lPSIxNyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQk8L0NvbmZpZ3VyYXRpb25zPg0KLQk8UmVmZXJlbmNlcz4NCi0JPC9SZWZlcmVuY2VzPg0KLQk8RmlsZXM+DQotCQk8RmlsdGVyDQotCQkJTmFtZT0iUmVzb3VyY2UgRmlsZXMiDQotCQkJPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUENccHljb24uaWNvIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUENccHl0aG9uX2V4ZS5yYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCTwvRmlsdGVyPg0KLQkJPEZpbHRlcg0KLQkJCU5hbWU9IlNvdXJjZSBGaWxlcyINCi0JCQk+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXHB5dGhvbi5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJPC9GaWx0ZXI+DQotCTwvRmlsZXM+DQotCTxHbG9iYWxzPg0KLQk8L0dsb2JhbHM+DQotPC9WaXN1YWxTdHVkaW9Qcm9qZWN0Pg0KZGlmZiAtLWdpdCBhL1BDL1ZTOS4wL3B5dGhvbjNkbGwudmNwcm9qIGIvUEMvVlM5LjAvcHl0aG9uM2RsbC52Y3Byb2oKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVkNzMzM2IuLjAwMDAwMDAKLS0tIGEvUEMvVlM5LjAvcHl0aG9uM2RsbC52Y3Byb2oKKysrIC9kZXYvbnVsbApAQCAtMSwyNDYgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iV2luZG93cy0xMjUyIj8+DQotPFZpc3VhbFN0dWRpb1Byb2plY3QNCi0JUHJvamVjdFR5cGU9IlZpc3VhbCBDKysiDQotCVZlcnNpb249IjkuMDAiDQotCU5hbWU9InB5dGhvbjNkbGwiDQotCVByb2plY3RHVUlEPSJ7ODg1RDQ4OTgtRDA4RC00MDkxLTlDNDAtQzcwMENGRTNGQzVBfSINCi0JUm9vdE5hbWVzcGFjZT0icHl0aG9uM2RsbCINCi0JS2V5d29yZD0iV2luMzJQcm9qIg0KLQlUYXJnZXRGcmFtZXdvcmtWZXJzaW9uPSIxOTY2MTMiDQotCT4NCi0JPFBsYXRmb3Jtcz4NCi0JCTxQbGF0Zm9ybQ0KLQkJCU5hbWU9IldpbjMyIg0KLQkJLz4NCi0JCTxQbGF0Zm9ybQ0KLQkJCU5hbWU9Ing2NCINCi0JCS8+DQotCTwvUGxhdGZvcm1zPg0KLQk8VG9vbEZpbGVzPg0KLQk8L1Rvb2xGaWxlcz4NCi0JPENvbmZpZ3VyYXRpb25zPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJSZWxlYXNlfFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIwIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5cHJvamVjdC52c3Byb3BzOy5ccmVsZWFzZS52c3Byb3BzIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNOTWFrZVRvb2wiDQotCQkJCUJ1aWxkQ29tbWFuZExpbmU9ImNkICQoSW5wdXREaXIpXC4uXC4uXFBDJiN4MEQ7JiN4MEE7bm1ha2UgL2YgcHl0aG9uMy5tYWsgTUFDSElORT14ODYgT3V0RGlyPSQoT3V0RGlyKSINCi0JCQkJUmVCdWlsZENvbW1hbmRMaW5lPSJjZCAkKElucHV0RGlyKVwuLlwuLlxQQyYjeDBEOyYjeDBBO25tYWtlIC9mIHB5dGhvbjMubWFrIE1BQ0hJTkU9eDg2IE91dERpcj0kKE91dERpcikgcmVidWlsZCINCi0JCQkJQ2xlYW5Db21tYW5kTGluZT0iY2QgJChJbnB1dERpcilcLi5cLi5cUEMmI3gwRDsmI3gwQTtubWFrZSAvZiBweXRob24zLm1hayBNQUNISU5FPXg4NiBPdXREaXI9JChPdXREaXIpIGNsZWFuIg0KLQkJCQlPdXRwdXQ9IiQoT3V0RGlyKVxweXRob24zLmRsbCINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IiINCi0JCQkJSW5jbHVkZVNlYXJjaFBhdGg9IiINCi0JCQkJRm9yY2VkSW5jbHVkZXM9IiINCi0JCQkJQXNzZW1ibHlTZWFyY2hQYXRoPSIiDQotCQkJCUZvcmNlZFVzaW5nQXNzZW1ibGllcz0iIg0KLQkJCQlDb21waWxlQXNNYW5hZ2VkPSIiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZXx4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjAiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlwcm9qZWN0LnZzcHJvcHM7Llx4NjQudnNwcm9wczsuXHJlbGVhc2UudnNwcm9wcyINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNOTWFrZVRvb2wiDQotCQkJCUJ1aWxkQ29tbWFuZExpbmU9ImNkICQoSW5wdXREaXIpXC4uXC4uXFBDJiN4MEQ7JiN4MEE7bm1ha2UgL2YgcHl0aG9uMy5tYWsgTUFDSElORT14NjQgT3V0RGlyPSQoT3V0RGlyKSINCi0JCQkJUmVCdWlsZENvbW1hbmRMaW5lPSJjZCAkKElucHV0RGlyKVwuLlwuLlxQQyYjeDBEOyYjeDBBO25tYWtlIC9mIHB5dGhvbjMubWFrIE1BQ0hJTkU9eDY0IE91dERpcj0kKE91dERpcikgcmVidWlsZCINCi0JCQkJQ2xlYW5Db21tYW5kTGluZT0iY2QgJChJbnB1dERpcilcLi5cLi5cUEMmI3gwRDsmI3gwQTtubWFrZSAvZiBweXRob24zLm1hayBNQUNISU5FPXg2NCBPdXREaXI9JChPdXREaXIpIGNsZWFuIg0KLQkJCQlPdXRwdXQ9IiQoT3V0RGlyKVxweXRob24zLmRsbCINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IiINCi0JCQkJSW5jbHVkZVNlYXJjaFBhdGg9IiINCi0JCQkJRm9yY2VkSW5jbHVkZXM9IiINCi0JCQkJQXNzZW1ibHlTZWFyY2hQYXRoPSIiDQotCQkJCUZvcmNlZFVzaW5nQXNzZW1ibGllcz0iIg0KLQkJCQlDb21waWxlQXNNYW5hZ2VkPSIiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdJbnN0cnVtZW50fFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIwIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5cHJvamVjdC52c3Byb3BzOy5ccmVsZWFzZS52c3Byb3BzOy5ccGdpbnN0cnVtZW50LnZzcHJvcHMiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTk1ha2VUb29sIg0KLQkJCQlCdWlsZENvbW1hbmRMaW5lPSJjZCAkKElucHV0RGlyKVwuLlwuLlxQQyYjeDBEOyYjeDBBO25tYWtlIC9mIHB5dGhvbjMubWFrIE1BQ0hJTkU9eDg2IE91dERpcj0kKE91dERpcikiDQotCQkJCVJlQnVpbGRDb21tYW5kTGluZT0iY2QgJChJbnB1dERpcilcLi5cLi5cUEMmI3gwRDsmI3gwQTtubWFrZSAvZiBweXRob24zLm1hayBNQUNISU5FPXg4NiBPdXREaXI9JChPdXREaXIpIHJlYnVpbGQiDQotCQkJCUNsZWFuQ29tbWFuZExpbmU9ImNkICQoSW5wdXREaXIpXC4uXC4uXFBDJiN4MEQ7JiN4MEE7bm1ha2UgL2YgcHl0aG9uMy5tYWsgTUFDSElORT14ODYgT3V0RGlyPSQoT3V0RGlyKSBjbGVhbiINCi0JCQkJT3V0cHV0PSIkKE91dERpcilccHl0aG9uMy5kbGwiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSIiDQotCQkJCUluY2x1ZGVTZWFyY2hQYXRoPSIiDQotCQkJCUZvcmNlZEluY2x1ZGVzPSIiDQotCQkJCUFzc2VtYmx5U2VhcmNoUGF0aD0iIg0KLQkJCQlGb3JjZWRVc2luZ0Fzc2VtYmxpZXM9IiINCi0JCQkJQ29tcGlsZUFzTWFuYWdlZD0iIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHSW5zdHJ1bWVudHx4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjAiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlwcm9qZWN0LnZzcHJvcHM7Llx4NjQudnNwcm9wczsuXHJlbGVhc2UudnNwcm9wczsuXHBnaW5zdHJ1bWVudC52c3Byb3BzIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ05NYWtlVG9vbCINCi0JCQkJQnVpbGRDb21tYW5kTGluZT0iY2QgJChJbnB1dERpcilcLi5cLi5cUEMmI3gwRDsmI3gwQTtubWFrZSAvZiBweXRob24zLm1hayBNQUNISU5FPXg2NCBPdXREaXI9JChPdXREaXIpIg0KLQkJCQlSZUJ1aWxkQ29tbWFuZExpbmU9ImNkICQoSW5wdXREaXIpXC4uXC4uXFBDJiN4MEQ7JiN4MEE7bm1ha2UgL2YgcHl0aG9uMy5tYWsgTUFDSElORT14NjQgT3V0RGlyPSQoT3V0RGlyKSByZWJ1aWxkIg0KLQkJCQlDbGVhbkNvbW1hbmRMaW5lPSJjZCAkKElucHV0RGlyKVwuLlwuLlxQQyYjeDBEOyYjeDBBO25tYWtlIC9mIHB5dGhvbjMubWFrIE1BQ0hJTkU9eDY0IE91dERpcj0kKE91dERpcikgY2xlYW4iDQotCQkJCU91dHB1dD0iJChPdXREaXIpXHB5dGhvbjMuZGxsIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iIg0KLQkJCQlJbmNsdWRlU2VhcmNoUGF0aD0iIg0KLQkJCQlGb3JjZWRJbmNsdWRlcz0iIg0KLQkJCQlBc3NlbWJseVNlYXJjaFBhdGg9IiINCi0JCQkJRm9yY2VkVXNpbmdBc3NlbWJsaWVzPSIiDQotCQkJCUNvbXBpbGVBc01hbmFnZWQ9IiINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR1VwZGF0ZXxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMCINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweXByb2plY3QudnNwcm9wczsuXHJlbGVhc2UudnNwcm9wczsuXHBndXBkYXRlLnZzcHJvcHMiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTk1ha2VUb29sIg0KLQkJCQlCdWlsZENvbW1hbmRMaW5lPSJjZCAkKElucHV0RGlyKVwuLlwuLlxQQyYjeDBEOyYjeDBBO25tYWtlIC9mIHB5dGhvbjMubWFrIE1BQ0hJTkU9eDg2IE91dERpcj0kKE91dERpcikiDQotCQkJCVJlQnVpbGRDb21tYW5kTGluZT0iY2QgJChJbnB1dERpcilcLi5cLi5cUEMmI3gwRDsmI3gwQTtubWFrZSAvZiBweXRob24zLm1hayBNQUNISU5FPXg4NiBPdXREaXI9JChPdXREaXIpIHJlYnVpbGQiDQotCQkJCUNsZWFuQ29tbWFuZExpbmU9ImNkICQoSW5wdXREaXIpXC4uXC4uXFBDJiN4MEQ7JiN4MEE7bm1ha2UgL2YgcHl0aG9uMy5tYWsgTUFDSElORT14ODYgT3V0RGlyPSQoT3V0RGlyKSBjbGVhbiINCi0JCQkJT3V0cHV0PSIkKE91dERpcilccHl0aG9uMy5kbGwiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSIiDQotCQkJCUluY2x1ZGVTZWFyY2hQYXRoPSIiDQotCQkJCUZvcmNlZEluY2x1ZGVzPSIiDQotCQkJCUFzc2VtYmx5U2VhcmNoUGF0aD0iIg0KLQkJCQlGb3JjZWRVc2luZ0Fzc2VtYmxpZXM9IiINCi0JCQkJQ29tcGlsZUFzTWFuYWdlZD0iIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHVXBkYXRlfHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMCINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweXByb2plY3QudnNwcm9wczsuXHg2NC52c3Byb3BzOy5ccmVsZWFzZS52c3Byb3BzOy5ccGd1cGRhdGUudnNwcm9wcyINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNOTWFrZVRvb2wiDQotCQkJCUJ1aWxkQ29tbWFuZExpbmU9ImNkICQoSW5wdXREaXIpXC4uXC4uXFBDJiN4MEQ7JiN4MEE7bm1ha2UgL2YgcHl0aG9uMy5tYWsgTUFDSElORT14NjQgT3V0RGlyPSQoT3V0RGlyKSINCi0JCQkJUmVCdWlsZENvbW1hbmRMaW5lPSJjZCAkKElucHV0RGlyKVwuLlwuLlxQQyYjeDBEOyYjeDBBO25tYWtlIC9mIHB5dGhvbjMubWFrIE1BQ0hJTkU9eDY0IE91dERpcj0kKE91dERpcikgcmVidWlsZCINCi0JCQkJQ2xlYW5Db21tYW5kTGluZT0iY2QgJChJbnB1dERpcilcLi5cLi5cUEMmI3gwRDsmI3gwQTtubWFrZSAvZiBweXRob24zLm1hayBNQUNISU5FPXg2NCBPdXREaXI9JChPdXREaXIpIGNsZWFuIg0KLQkJCQlPdXRwdXQ9IiQoT3V0RGlyKVxweXRob24zLmRsbCINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IiINCi0JCQkJSW5jbHVkZVNlYXJjaFBhdGg9IiINCi0JCQkJRm9yY2VkSW5jbHVkZXM9IiINCi0JCQkJQXNzZW1ibHlTZWFyY2hQYXRoPSIiDQotCQkJCUZvcmNlZFVzaW5nQXNzZW1ibGllcz0iIg0KLQkJCQlDb21waWxlQXNNYW5hZ2VkPSIiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JPC9Db25maWd1cmF0aW9ucz4NCi0JPFJlZmVyZW5jZXM+DQotCTwvUmVmZXJlbmNlcz4NCi0JPEZpbGVzPg0KLQkJPEZpbHRlcg0KLQkJCU5hbWU9IlNvdXJjZSBGaWxlcyINCi0JCQlGaWx0ZXI9ImNwcDtjO2NjO2N4eDtkZWY7b2RsO2lkbDtocGo7YmF0O2FzbTthc214Ig0KLQkJCVVuaXF1ZUlkZW50aWZpZXI9Ins0RkM3MzdGMS1DN0E1LTQzNzYtQTA2Ni0yQTMyRDc1MkEyRkZ9Ig0KLQkJCT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFBDXHB5dGhvbjMuZGVmIg0KLQkJCQk+DQotCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KLQkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiINCi0JCQkJCT4NCi0JCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCi0JCQkJPEZpbGVDb25maWd1cmF0aW9uDQotCQkJCQlOYW1lPSJSZWxlYXNlfHg2NCINCi0JCQkJCT4NCi0JCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCi0JCQkJPEZpbGVDb25maWd1cmF0aW9uDQotCQkJCQlOYW1lPSJQR0luc3RydW1lbnR8V2luMzIiDQotCQkJCQk+DQotCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQotCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KLQkJCQkJTmFtZT0iUEdJbnN0cnVtZW50fHg2NCINCi0JCQkJCT4NCi0JCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCi0JCQkJPEZpbGVDb25maWd1cmF0aW9uDQotCQkJCQlOYW1lPSJQR1VwZGF0ZXxXaW4zMiINCi0JCQkJCT4NCi0JCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCi0JCQkJPEZpbGVDb25maWd1cmF0aW9uDQotCQkJCQlOYW1lPSJQR1VwZGF0ZXx4NjQiDQotCQkJCQk+DQotCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUENccHl0aG9uM2RsbC5jIg0KLQkJCQk+DQotCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KLQkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiINCi0JCQkJCT4NCi0JCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCi0JCQkJPEZpbGVDb25maWd1cmF0aW9uDQotCQkJCQlOYW1lPSJSZWxlYXNlfHg2NCINCi0JCQkJCT4NCi0JCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCi0JCQkJPEZpbGVDb25maWd1cmF0aW9uDQotCQkJCQlOYW1lPSJQR0luc3RydW1lbnR8V2luMzIiDQotCQkJCQk+DQotCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQotCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KLQkJCQkJTmFtZT0iUEdJbnN0cnVtZW50fHg2NCINCi0JCQkJCT4NCi0JCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCi0JCQkJPEZpbGVDb25maWd1cmF0aW9uDQotCQkJCQlOYW1lPSJQR1VwZGF0ZXxXaW4zMiINCi0JCQkJCT4NCi0JCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCi0JCQkJPEZpbGVDb25maWd1cmF0aW9uDQotCQkJCQlOYW1lPSJQR1VwZGF0ZXx4NjQiDQotCQkJCQk+DQotCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQotCQkJPC9GaWxlPg0KLQkJPC9GaWx0ZXI+DQotCQk8RmlsdGVyDQotCQkJTmFtZT0iSGVhZGVyIEZpbGVzIg0KLQkJCUZpbHRlcj0iaDtocHA7aHh4O2htO2lubDtpbmM7eHNkIg0KLQkJCVVuaXF1ZUlkZW50aWZpZXI9Ins5Mzk5NTM4MC04OUJELTRiMDQtODhFQi02MjVGQkU1MkVCRkJ9Ig0KLQkJCT4NCi0JCTwvRmlsdGVyPg0KLQkJPEZpbHRlcg0KLQkJCU5hbWU9IlJlc291cmNlIEZpbGVzIg0KLQkJCUZpbHRlcj0icmM7aWNvO2N1cjtibXA7ZGxnO3JjMjtyY3Q7YmluO3JncztnaWY7anBnO2pwZWc7anBlO3Jlc3g7dGlmZjt0aWY7cG5nO3dhdiINCi0JCQlVbmlxdWVJZGVudGlmaWVyPSJ7NjdEQTZBQjYtRjgwMC00YzA4LThCN0EtODNCQjEyMUFBRDAxfSINCi0JCQk+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQQ1xweXRob25fbnQucmMiDQotCQkJCT4NCi0JCQkJPEZpbGVDb25maWd1cmF0aW9uDQotCQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMyIg0KLQkJCQkJPg0KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KLQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCi0JCQkJCU5hbWU9IlJlbGVhc2V8eDY0Ig0KLQkJCQkJPg0KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KLQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCi0JCQkJCU5hbWU9IlBHSW5zdHJ1bWVudHxXaW4zMiINCi0JCQkJCT4NCi0JCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCi0JCQkJPEZpbGVDb25maWd1cmF0aW9uDQotCQkJCQlOYW1lPSJQR0luc3RydW1lbnR8eDY0Ig0KLQkJCQkJPg0KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KLQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCi0JCQkJCU5hbWU9IlBHVXBkYXRlfFdpbjMyIg0KLQkJCQkJPg0KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KLQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCi0JCQkJCU5hbWU9IlBHVXBkYXRlfHg2NCINCi0JCQkJCT4NCi0JCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCi0JCQk8L0ZpbGU+DQotCQk8L0ZpbHRlcj4NCi0JPC9GaWxlcz4NCi0JPEdsb2JhbHM+DQotCTwvR2xvYmFscz4NCi08L1Zpc3VhbFN0dWRpb1Byb2plY3Q+DQpkaWZmIC0tZ2l0IGEvUEMvVlM5LjAvcHl0aG9uY29yZS52Y3Byb2ogYi9QQy9WUzkuMC9weXRob25jb3JlLnZjcHJvagpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggY2Y2MDQ3MC4uMDAwMDAwMAotLS0gYS9QQy9WUzkuMC9weXRob25jb3JlLnZjcHJvagorKysgL2Rldi9udWxsCkBAIC0xLDE4NzcgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iV2luZG93cy0xMjUyIj8+DQotPFZpc3VhbFN0dWRpb1Byb2plY3QNCi0JUHJvamVjdFR5cGU9IlZpc3VhbCBDKysiDQotCVZlcnNpb249IjkuMDAiDQotCU5hbWU9InB5dGhvbmNvcmUiDQotCVByb2plY3RHVUlEPSJ7Q0Y3QUMzRDEtRTJERi00MUQyLUJFQTYtMUUyNTU2Q0RFQTI2fSINCi0JUm9vdE5hbWVzcGFjZT0icHl0aG9uY29yZSINCi0JVGFyZ2V0RnJhbWV3b3JrVmVyc2lvbj0iMTMxMDcyIg0KLQk+DQotCTxQbGF0Zm9ybXM+DQotCQk8UGxhdGZvcm0NCi0JCQlOYW1lPSJXaW4zMiINCi0JCS8+DQotCQk8UGxhdGZvcm0NCi0JCQlOYW1lPSJ4NjQiDQotCQkvPg0KLQk8L1BsYXRmb3Jtcz4NCi0JPFRvb2xGaWxlcz4NCi0JPC9Ub29sRmlsZXM+DQotCTxDb25maWd1cmF0aW9ucz4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweXByb2plY3QudnNwcm9wczsuXHJlbGVhc2UudnNwcm9wcyINCi0JCQlVc2VPZk1GQz0iMCINCi0JCQlBVExNaW5pbWl6ZXNDUnVuVGltZUxpYnJhcnlVc2FnZT0iZmFsc2UiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbE9wdGlvbnM9Ii9abTIwMCAiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii4uXC4uXFB5dGhvbjsuLlwuLlxNb2R1bGVzXHpsaWIiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJfVVNSRExMO1B5X0JVSUxEX0NPUkU7UHlfRU5BQkxFX1NIQVJFRDtXSU4zMiINCi0JCQkJUnVudGltZUxpYnJhcnk9IjIiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJOREVCVUciDQotCQkJCUN1bHR1cmU9IjEwMzMiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii4uXC4uXEluY2x1ZGUiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJCURlc2NyaXB0aW9uPSJHZW5lcmF0ZSBidWlsZCBpbmZvcm1hdGlvbi4uLiINCi0JCQkJQ29tbWFuZExpbmU9IiZxdW90OyQoU29sdXRpb25EaXIpbWFrZV9idWlsZGluZm8uZXhlJnF1b3Q7IFJlbGVhc2UgJnF1b3Q7JChJbnREaXIpXCZxdW90OyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0iJnF1b3Q7JChJbnREaXIpZ2V0YnVpbGRpbmZvLm8mcXVvdDsiDQotCQkJCU91dHB1dEZpbGU9IiQoT3V0RGlyKVwkKFB5RGxsTmFtZSkuZGxsIg0KLQkJCQlJZ25vcmVEZWZhdWx0TGlicmFyeU5hbWVzPSJsaWJjIg0KLQkJCQlQcm9ncmFtRGF0YWJhc2VGaWxlPSIkKE91dERpcikkKFB5RGxsTmFtZSkucGRiIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxZTAwMDAwMCINCi0JCQkJSW1wb3J0TGlicmFyeT0iJChPdXREaXIpJChQeURsbE5hbWUpLmxpYiINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJSZWxlYXNlfHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweXByb2plY3QudnNwcm9wczsuXHg2NC52c3Byb3BzOy5ccmVsZWFzZS52c3Byb3BzIg0KLQkJCVVzZU9mTUZDPSIwIg0KLQkJCUFUTE1pbmltaXplc0NSdW5UaW1lTGlicmFyeVVzYWdlPSJmYWxzZSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbE9wdGlvbnM9Ii9abTIwMCAiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii4uXC4uXFB5dGhvbjsuLlwuLlxNb2R1bGVzXHpsaWIiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJfVVNSRExMO1B5X0JVSUxEX0NPUkU7UHlfRU5BQkxFX1NIQVJFRDtXSU4zMiINCi0JCQkJUnVudGltZUxpYnJhcnk9IjIiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJOREVCVUciDQotCQkJCUN1bHR1cmU9IjEwMzMiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii4uXC4uXEluY2x1ZGUiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJCURlc2NyaXB0aW9uPSJHZW5lcmF0ZSBidWlsZCBpbmZvcm1hdGlvbi4uLiINCi0JCQkJQ29tbWFuZExpbmU9IiZxdW90OyQoU29sdXRpb25EaXIpbWFrZV9idWlsZGluZm8uZXhlJnF1b3Q7IFJlbGVhc2UgJnF1b3Q7JChJbnREaXIpXCZxdW90OyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0iJnF1b3Q7JChJbnREaXIpZ2V0YnVpbGRpbmZvLm8mcXVvdDsiDQotCQkJCU91dHB1dEZpbGU9IiQoT3V0RGlyKVwkKFB5RGxsTmFtZSkuZGxsIg0KLQkJCQlJZ25vcmVEZWZhdWx0TGlicmFyeU5hbWVzPSJsaWJjIg0KLQkJCQlQcm9ncmFtRGF0YWJhc2VGaWxlPSIkKE91dERpcikkKFB5RGxsTmFtZSkucGRiIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxZTAwMDAwMCINCi0JCQkJSW1wb3J0TGlicmFyeT0iJChPdXREaXIpJChQeURsbE5hbWUpLmxpYiINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJEZWJ1Z3xXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweXByb2plY3QudnNwcm9wczsuXGRlYnVnLnZzcHJvcHMiDQotCQkJVXNlT2ZNRkM9IjAiDQotCQkJQVRMTWluaW1pemVzQ1J1blRpbWVMaWJyYXJ5VXNhZ2U9ImZhbHNlIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsT3B0aW9ucz0iL1ptMjAwICINCi0JCQkJT3B0aW1pemF0aW9uPSIwIg0KLQkJCQlJbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj0iMCINCi0JCQkJRW5hYmxlSW50cmluc2ljRnVuY3Rpb25zPSJmYWxzZSINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cUHl0aG9uOy4uXC4uXE1vZHVsZXNcemxpYiINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Il9VU1JETEw7UHlfQlVJTERfQ09SRTtQeV9FTkFCTEVfU0hBUkVEO1dJTjMyIg0KLQkJCQlSdW50aW1lTGlicmFyeT0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Il9ERUJVRyINCi0JCQkJQ3VsdHVyZT0iMTAzMyINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cSW5jbHVkZSINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkJRGVzY3JpcHRpb249IkdlbmVyYXRlIGJ1aWxkIGluZm9ybWF0aW9uLi4uIg0KLQkJCQlDb21tYW5kTGluZT0iJnF1b3Q7JChTb2x1dGlvbkRpciltYWtlX2J1aWxkaW5mby5leGUmcXVvdDsgRGVidWcgJnF1b3Q7JChJbnREaXIpXCZxdW90OyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0iJnF1b3Q7JChJbnREaXIpZ2V0YnVpbGRpbmZvLm8mcXVvdDsiDQotCQkJCU91dHB1dEZpbGU9IiQoT3V0RGlyKVwkKFB5RGxsTmFtZSlfZC5kbGwiDQotCQkJCUlnbm9yZURlZmF1bHRMaWJyYXJ5TmFtZXM9ImxpYmMiDQotCQkJCVByb2dyYW1EYXRhYmFzZUZpbGU9IiQoT3V0RGlyKSQoUHlEbGxOYW1lKV9kLnBkYiINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MWUwMDAwMDAiDQotCQkJCUltcG9ydExpYnJhcnk9IiQoT3V0RGlyKSQoUHlEbGxOYW1lKV9kLmxpYiINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJEZWJ1Z3x4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlwcm9qZWN0LnZzcHJvcHM7Llx4NjQudnNwcm9wczsuXGRlYnVnLnZzcHJvcHMiDQotCQkJVXNlT2ZNRkM9IjAiDQotCQkJQVRMTWluaW1pemVzQ1J1blRpbWVMaWJyYXJ5VXNhZ2U9ImZhbHNlIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsT3B0aW9ucz0iL1ptMjAwICINCi0JCQkJT3B0aW1pemF0aW9uPSIwIg0KLQkJCQlJbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj0iMCINCi0JCQkJRW5hYmxlSW50cmluc2ljRnVuY3Rpb25zPSJmYWxzZSINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cUHl0aG9uOy4uXC4uXE1vZHVsZXNcemxpYiINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Il9VU1JETEw7UHlfQlVJTERfQ09SRTtQeV9FTkFCTEVfU0hBUkVEO1dJTjMyIg0KLQkJCQlSdW50aW1lTGlicmFyeT0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Il9ERUJVRyINCi0JCQkJQ3VsdHVyZT0iMTAzMyINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cSW5jbHVkZSINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkJRGVzY3JpcHRpb249IkdlbmVyYXRlIGJ1aWxkIGluZm9ybWF0aW9uLi4uIg0KLQkJCQlDb21tYW5kTGluZT0iJnF1b3Q7JChTb2x1dGlvbkRpciltYWtlX2J1aWxkaW5mby5leGUmcXVvdDsgRGVidWcgJnF1b3Q7JChJbnREaXIpXCZxdW90OyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0iJnF1b3Q7JChJbnREaXIpZ2V0YnVpbGRpbmZvLm8mcXVvdDsiDQotCQkJCU91dHB1dEZpbGU9IiQoT3V0RGlyKVwkKFB5RGxsTmFtZSlfZC5kbGwiDQotCQkJCUlnbm9yZURlZmF1bHRMaWJyYXJ5TmFtZXM9ImxpYmMiDQotCQkJCVByb2dyYW1EYXRhYmFzZUZpbGU9IiQoT3V0RGlyKSQoUHlEbGxOYW1lKV9kLnBkYiINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MWUwMDAwMDAiDQotCQkJCUltcG9ydExpYnJhcnk9IiQoT3V0RGlyKSQoUHlEbGxOYW1lKV9kLmxpYiINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR0luc3RydW1lbnR8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlwcm9qZWN0LnZzcHJvcHM7LlxyZWxlYXNlLnZzcHJvcHM7LlxwZ2luc3RydW1lbnQudnNwcm9wcyINCi0JCQlVc2VPZk1GQz0iMCINCi0JCQlBVExNaW5pbWl6ZXNDUnVuVGltZUxpYnJhcnlVc2FnZT0iZmFsc2UiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbE9wdGlvbnM9Ii9abTIwMCAiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii4uXC4uXFB5dGhvbjsuLlwuLlxNb2R1bGVzXHpsaWIiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJfVVNSRExMO1B5X0JVSUxEX0NPUkU7UHlfRU5BQkxFX1NIQVJFRDtXSU4zMiINCi0JCQkJUnVudGltZUxpYnJhcnk9IjIiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJOREVCVUciDQotCQkJCUN1bHR1cmU9IjEwMzMiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii4uXC4uXEluY2x1ZGUiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJCURlc2NyaXB0aW9uPSJHZW5lcmF0ZSBidWlsZCBpbmZvcm1hdGlvbi4uLiINCi0JCQkJQ29tbWFuZExpbmU9IiZxdW90OyQoU29sdXRpb25EaXIpbWFrZV9idWlsZGluZm8uZXhlJnF1b3Q7IFJlbGVhc2UgJnF1b3Q7JChJbnREaXIpXCZxdW90OyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0iJnF1b3Q7JChJbnREaXIpZ2V0YnVpbGRpbmZvLm8mcXVvdDsiDQotCQkJCU91dHB1dEZpbGU9IiQoT3V0RGlyKVwkKFB5RGxsTmFtZSkuZGxsIg0KLQkJCQlJZ25vcmVEZWZhdWx0TGlicmFyeU5hbWVzPSJsaWJjIg0KLQkJCQlQcm9ncmFtRGF0YWJhc2VGaWxlPSIkKE91dERpcikkKFB5RGxsTmFtZSkucGRiIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxZTAwMDAwMCINCi0JCQkJSW1wb3J0TGlicmFyeT0iJChPdXREaXJQR0kpJChQeURsbE5hbWUpLmxpYiINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR0luc3RydW1lbnR8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5cHJvamVjdC52c3Byb3BzOy5ceDY0LnZzcHJvcHM7LlxyZWxlYXNlLnZzcHJvcHM7LlxwZ2luc3RydW1lbnQudnNwcm9wcyINCi0JCQlVc2VPZk1GQz0iMCINCi0JCQlBVExNaW5pbWl6ZXNDUnVuVGltZUxpYnJhcnlVc2FnZT0iZmFsc2UiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxPcHRpb25zPSIvWm0yMDAgIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIuLlwuLlxQeXRob247Li5cLi5cTW9kdWxlc1x6bGliIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iX1VTUkRMTDtQeV9CVUlMRF9DT1JFO1B5X0VOQUJMRV9TSEFSRUQ7V0lOMzIiDQotCQkJCVJ1bnRpbWVMaWJyYXJ5PSIyIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iTkRFQlVHIg0KLQkJCQlDdWx0dXJlPSIxMDMzIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIuLlwuLlxJbmNsdWRlIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCQlEZXNjcmlwdGlvbj0iR2VuZXJhdGUgYnVpbGQgaW5mb3JtYXRpb24uLi4iDQotCQkJCUNvbW1hbmRMaW5lPSImcXVvdDskKFNvbHV0aW9uRGlyKW1ha2VfYnVpbGRpbmZvLmV4ZSZxdW90OyBSZWxlYXNlICZxdW90OyQoSW50RGlyKVwmcXVvdDsiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IiZxdW90OyQoSW50RGlyKWdldGJ1aWxkaW5mby5vJnF1b3Q7Ig0KLQkJCQlPdXRwdXRGaWxlPSIkKE91dERpcilcJChQeURsbE5hbWUpLmRsbCINCi0JCQkJSWdub3JlRGVmYXVsdExpYnJhcnlOYW1lcz0ibGliYyINCi0JCQkJUHJvZ3JhbURhdGFiYXNlRmlsZT0iJChPdXREaXIpJChQeURsbE5hbWUpLnBkYiINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MWUwMDAwMDAiDQotCQkJCUltcG9ydExpYnJhcnk9IiQoT3V0RGlyUEdJKSQoUHlEbGxOYW1lKS5saWIiDQotCQkJCVRhcmdldE1hY2hpbmU9IjE3Ig0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHVXBkYXRlfFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5cHJvamVjdC52c3Byb3BzOy5ccmVsZWFzZS52c3Byb3BzOy5ccGd1cGRhdGUudnNwcm9wcyINCi0JCQlVc2VPZk1GQz0iMCINCi0JCQlBVExNaW5pbWl6ZXNDUnVuVGltZUxpYnJhcnlVc2FnZT0iZmFsc2UiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbE9wdGlvbnM9Ii9abTIwMCAiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii4uXC4uXFB5dGhvbjsuLlwuLlxNb2R1bGVzXHpsaWIiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJfVVNSRExMO1B5X0JVSUxEX0NPUkU7UHlfRU5BQkxFX1NIQVJFRDtXSU4zMiINCi0JCQkJUnVudGltZUxpYnJhcnk9IjIiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJOREVCVUciDQotCQkJCUN1bHR1cmU9IjEwMzMiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii4uXC4uXEluY2x1ZGUiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJCURlc2NyaXB0aW9uPSJHZW5lcmF0ZSBidWlsZCBpbmZvcm1hdGlvbi4uLiINCi0JCQkJQ29tbWFuZExpbmU9IiZxdW90OyQoU29sdXRpb25EaXIpbWFrZV9idWlsZGluZm8uZXhlJnF1b3Q7IFJlbGVhc2UgJnF1b3Q7JChJbnREaXIpXCZxdW90OyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0iJnF1b3Q7JChJbnREaXIpZ2V0YnVpbGRpbmZvLm8mcXVvdDsiDQotCQkJCU91dHB1dEZpbGU9IiQoT3V0RGlyKVwkKFB5RGxsTmFtZSkuZGxsIg0KLQkJCQlJZ25vcmVEZWZhdWx0TGlicmFyeU5hbWVzPSJsaWJjIg0KLQkJCQlQcm9ncmFtRGF0YWJhc2VGaWxlPSIkKE91dERpcikkKFB5RGxsTmFtZSkucGRiIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxZTAwMDAwMCINCi0JCQkJSW1wb3J0TGlicmFyeT0iJChPdXREaXJQR0kpJChQeURsbE5hbWUpLmxpYiINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR1VwZGF0ZXx4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlwcm9qZWN0LnZzcHJvcHM7Llx4NjQudnNwcm9wczsuXHJlbGVhc2UudnNwcm9wczsuXHBndXBkYXRlLnZzcHJvcHMiDQotCQkJVXNlT2ZNRkM9IjAiDQotCQkJQVRMTWluaW1pemVzQ1J1blRpbWVMaWJyYXJ5VXNhZ2U9ImZhbHNlIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsT3B0aW9ucz0iL1ptMjAwICINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cUHl0aG9uOy4uXC4uXE1vZHVsZXNcemxpYiINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Il9VU1JETEw7UHlfQlVJTERfQ09SRTtQeV9FTkFCTEVfU0hBUkVEO1dJTjMyIg0KLQkJCQlSdW50aW1lTGlicmFyeT0iMiINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Ik5ERUJVRyINCi0JCQkJQ3VsdHVyZT0iMTAzMyINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cSW5jbHVkZSINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkJRGVzY3JpcHRpb249IkdlbmVyYXRlIGJ1aWxkIGluZm9ybWF0aW9uLi4uIg0KLQkJCQlDb21tYW5kTGluZT0iJnF1b3Q7JChTb2x1dGlvbkRpciltYWtlX2J1aWxkaW5mby5leGUmcXVvdDsgUmVsZWFzZSAmcXVvdDskKEludERpcilcJnF1b3Q7Ig0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSImcXVvdDskKEludERpcilnZXRidWlsZGluZm8ubyZxdW90OyINCi0JCQkJT3V0cHV0RmlsZT0iJChPdXREaXIpXCQoUHlEbGxOYW1lKS5kbGwiDQotCQkJCUlnbm9yZURlZmF1bHRMaWJyYXJ5TmFtZXM9ImxpYmMiDQotCQkJCVByb2dyYW1EYXRhYmFzZUZpbGU9IiQoT3V0RGlyKSQoUHlEbGxOYW1lKS5wZGIiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFlMDAwMDAwIg0KLQkJCQlJbXBvcnRMaWJyYXJ5PSIkKE91dERpclBHSSkkKFB5RGxsTmFtZSkubGliIg0KLQkJCQlUYXJnZXRNYWNoaW5lPSIxNyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQk8L0NvbmZpZ3VyYXRpb25zPg0KLQk8UmVmZXJlbmNlcz4NCi0JPC9SZWZlcmVuY2VzPg0KLQk8RmlsZXM+DQotCQk8RmlsdGVyDQotCQkJTmFtZT0iSW5jbHVkZSINCi0JCQk+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXGFic3RyYWN0LmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXGFjY3UuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVcYXNkbC5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVxhc3QuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVcYml0c2V0LmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXGJvb2xvYmplY3QuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVcYnl0ZXNfbWV0aG9kcy5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVxieXRlYXJyYXlvYmplY3QuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVcYnl0ZXNvYmplY3QuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVcY2VsbG9iamVjdC5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVxjZXZhbC5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVxjbGFzc29iamVjdC5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVxjb2RlLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXGNvZGVjcy5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVxjb21waWxlLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXGNvbXBsZXhvYmplY3QuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVcZGF0ZXRpbWUuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVcZGVzY3JvYmplY3QuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVcZGljdG9iamVjdC5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVxkeW5hbWljX2Fubm90YXRpb25zLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXGVudW1vYmplY3QuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVcZXJyY29kZS5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVxldmFsLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXGZpbGVvYmplY3QuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVcZmlsZXV0aWxzLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXGZsb2F0b2JqZWN0LmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXGZyYW1lb2JqZWN0LmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXGZ1bmNvYmplY3QuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVcZ2Vub2JqZWN0LmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXGdyYW1pbml0LmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXGdyYW1tYXIuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVcaW1wb3J0LmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXGludHJjaGVjay5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVxpdGVyb2JqZWN0LmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXGxpc3RvYmplY3QuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVcbG9uZ2ludHJlcHIuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVcbG9uZ29iamVjdC5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVxtYXJzaGFsLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXG1lbW9yeW9iamVjdC5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVxtZXRhZ3JhbW1hci5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVxtZXRob2RvYmplY3QuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVcbW9kc3VwcG9ydC5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVxtb2R1bGVvYmplY3QuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVcbmFtZXNwYWNlb2JqZWN0LmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXG5vZGUuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVcb2JqZWN0LmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXG9iamltcGwuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVcb3Bjb2RlLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXG9zZGVmcy5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVxwYXJzZXRvay5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVxwYXRjaGxldmVsLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXHBnZW4uaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVccGdlbmhlYWRlcnMuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVccHlfY3Vyc2VzLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXHB5YXJlbmEuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVccHljYXBzdWxlLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXHB5Y3R5cGUuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVccHlkZWJ1Zy5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVxweWVycm9ycy5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVxweWV4cGF0LmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXHB5ZnBlLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXHB5Z2V0b3B0LmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXHB5bWFjdG9vbGJveC5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVxweW1hdGguaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVccHl0aW1lLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXHB5bWFjcm8uaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVccHltZW0uaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVccHlwb3J0LmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXHB5c3RhdGUuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVccHlzdHJjbXAuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVccHlzdHJ0b2QuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVcZHRvYS5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVxQeXRob24tYXN0LmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXFB5dGhvbi5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVxweXRob25ydW4uaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVccHl0aHJlYWQuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVccmFuZ2VvYmplY3QuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVcc2V0b2JqZWN0LmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXHNsaWNlb2JqZWN0LmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXHN0cnVjdG1lbWJlci5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVxzdHJ1Y3RzZXEuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVcc3ltdGFibGUuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVcc3lzbW9kdWxlLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXHRpbWVmdW5jcy5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVx0b2tlbi5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVx0cmFjZWJhY2suaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVcdHVwbGVvYmplY3QuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVcdWNuaGFzaC5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVx1bmljb2Rlb2JqZWN0LmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXHdlYWtyZWZvYmplY3QuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCTwvRmlsdGVyPg0KLQkJPEZpbHRlcg0KLQkJCU5hbWU9Ik1vZHVsZXMiDQotCQkJPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfYmlzZWN0bW9kdWxlLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9jb2RlY3Ntb2R1bGUuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX2NvbGxlY3Rpb25zbW9kdWxlLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9jc3YuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX2Z1bmN0b29sc21vZHVsZS5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfaGVhcHFtb2R1bGUuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX2pzb24uYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX2xvY2FsZW1vZHVsZS5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfbHNwcm9mLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9tYXRoLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9tYXRoLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9waWNrbGUuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX3JhbmRvbW1vZHVsZS5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfc3JlLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9zdHJ1Y3QuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX3dlYWtyZWYuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX3dpbmFwaS5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xhcnJheW1vZHVsZS5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xhdGV4aXRtb2R1bGUuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcYXVkaW9vcC5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xiaW5hc2NpaS5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xjbWF0aG1vZHVsZS5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfZGF0ZXRpbWVtb2R1bGUuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcZXJybm9tb2R1bGUuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcZmF1bHRoYW5kbGVyLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXGdjbW9kdWxlLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXGl0ZXJ0b29sc21vZHVsZS5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xtYWluLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXG1hdGhtb2R1bGUuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcbWQ1bW9kdWxlLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXG1tYXBtb2R1bGUuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX29wZXJhdG9yLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXHBhcnNlcm1vZHVsZS5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xwb3NpeG1vZHVsZS5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xyb3RhdGluZ3RyZWUuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNccm90YXRpbmd0cmVlLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXHNoYTFtb2R1bGUuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcc2hhMjU2bW9kdWxlLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXHNoYTUxMm1vZHVsZS5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xzaWduYWxtb2R1bGUuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcc3JlLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXHNyZV9jb25zdGFudHMuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcc3JlX2xpYi5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfc3RhdC5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xzeW10YWJsZW1vZHVsZS5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfdGhyZWFkbW9kdWxlLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXHRpbWVtb2R1bGUuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNceHhzdWJ0eXBlLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXHppcGltcG9ydC5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1x6bGlibW9kdWxlLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbHRlcg0KLQkJCQlOYW1lPSJfaW8iDQotCQkJCT4NCi0JCQkJPEZpbGUNCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfaW9cZmlsZWlvLmMiDQotCQkJCQk+DQotCQkJCTwvRmlsZT4NCi0JCQkJPEZpbGUNCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfaW9cYnl0ZXNpby5jIg0KLQkJCQkJPg0KLQkJCQk8L0ZpbGU+DQotCQkJCTxGaWxlDQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX2lvXHN0cmluZ2lvLmMiDQotCQkJCQk+DQotCQkJCTwvRmlsZT4NCi0JCQkJPEZpbGUNCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfaW9cYnVmZmVyZWRpby5jIg0KLQkJCQkJPg0KLQkJCQk8L0ZpbGU+DQotCQkJCTxGaWxlDQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX2lvXGlvYmFzZS5jIg0KLQkJCQkJPg0KLQkJCQk8L0ZpbGU+DQotCQkJCTxGaWxlDQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX2lvXHRleHRpby5jIg0KLQkJCQkJPg0KLQkJCQk8L0ZpbGU+DQotCQkJCTxGaWxlDQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX2lvXF9pb21vZHVsZS5jIg0KLQkJCQkJPg0KLQkJCQk8L0ZpbGU+DQotCQkJCTxGaWxlDQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX2lvXF9pb21vZHVsZS5oIg0KLQkJCQkJPg0KLQkJCQk8L0ZpbGU+DQotCQkJPC9GaWx0ZXI+DQotCQkJPEZpbHRlcg0KLQkJCQlOYW1lPSJ6bGliIg0KLQkJCQk+DQotCQkJCTxGaWxlDQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcemxpYlxhZGxlcjMyLmMiDQotCQkJCQk+DQotCQkJCTwvRmlsZT4NCi0JCQkJPEZpbGUNCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1x6bGliXGNvbXByZXNzLmMiDQotCQkJCQk+DQotCQkJCTwvRmlsZT4NCi0JCQkJPEZpbGUNCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1x6bGliXGNyYzMyLmMiDQotCQkJCQk+DQotCQkJCTwvRmlsZT4NCi0JCQkJPEZpbGUNCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1x6bGliXGNyYzMyLmgiDQotCQkJCQk+DQotCQkJCTwvRmlsZT4NCi0JCQkJPEZpbGUNCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1x6bGliXGRlZmxhdGUuYyINCi0JCQkJCT4NCi0JCQkJPC9GaWxlPg0KLQkJCQk8RmlsZQ0KLQkJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXHpsaWJcZGVmbGF0ZS5oIg0KLQkJCQkJPg0KLQkJCQk8L0ZpbGU+DQotCQkJCTxGaWxlDQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcemxpYlxpbmZiYWNrLmMiDQotCQkJCQk+DQotCQkJCTwvRmlsZT4NCi0JCQkJPEZpbGUNCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1x6bGliXGluZmZhc3QuYyINCi0JCQkJCT4NCi0JCQkJPC9GaWxlPg0KLQkJCQk8RmlsZQ0KLQkJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXHpsaWJcaW5mZmFzdC5oIg0KLQkJCQkJPg0KLQkJCQk8L0ZpbGU+DQotCQkJCTxGaWxlDQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcemxpYlxpbmZmaXhlZC5oIg0KLQkJCQkJPg0KLQkJCQk8L0ZpbGU+DQotCQkJCTxGaWxlDQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcemxpYlxpbmZsYXRlLmMiDQotCQkJCQk+DQotCQkJCTwvRmlsZT4NCi0JCQkJPEZpbGUNCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1x6bGliXGluZmxhdGUuaCINCi0JCQkJCT4NCi0JCQkJPC9GaWxlPg0KLQkJCQk8RmlsZQ0KLQkJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXHpsaWJcaW5mdHJlZXMuYyINCi0JCQkJCT4NCi0JCQkJPC9GaWxlPg0KLQkJCQk8RmlsZQ0KLQkJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXHpsaWJcaW5mdHJlZXMuaCINCi0JCQkJCT4NCi0JCQkJPC9GaWxlPg0KLQkJCQk8RmlsZQ0KLQkJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXHpsaWJcdHJlZXMuYyINCi0JCQkJCT4NCi0JCQkJPC9GaWxlPg0KLQkJCQk8RmlsZQ0KLQkJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXHpsaWJcdHJlZXMuaCINCi0JCQkJCT4NCi0JCQkJPC9GaWxlPg0KLQkJCQk8RmlsZQ0KLQkJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXHpsaWJcdW5jb21wci5jIg0KLQkJCQkJPg0KLQkJCQk8L0ZpbGU+DQotCQkJCTxGaWxlDQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcemxpYlx6Y29uZi5oIg0KLQkJCQkJPg0KLQkJCQk8L0ZpbGU+DQotCQkJCTxGaWxlDQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcemxpYlx6Y29uZi5pbi5oIg0KLQkJCQkJPg0KLQkJCQk8L0ZpbGU+DQotCQkJCTxGaWxlDQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcemxpYlx6bGliLmgiDQotCQkJCQk+DQotCQkJCTwvRmlsZT4NCi0JCQkJPEZpbGUNCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1x6bGliXHp1dGlsLmMiDQotCQkJCQk+DQotCQkJCTwvRmlsZT4NCi0JCQkJPEZpbGUNCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1x6bGliXHp1dGlsLmgiDQotCQkJCQk+DQotCQkJCTwvRmlsZT4NCi0JCQk8L0ZpbHRlcj4NCi0JCQk8RmlsdGVyDQotCQkJCU5hbWU9ImNqa2NvZGVjcyINCi0JCQkJPg0KLQkJCQk8RmlsZQ0KLQkJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXGNqa2NvZGVjc1xfY29kZWNzX2NuLmMiDQotCQkJCQk+DQotCQkJCTwvRmlsZT4NCi0JCQkJPEZpbGUNCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xjamtjb2RlY3NcX2NvZGVjc19oay5jIg0KLQkJCQkJPg0KLQkJCQk8L0ZpbGU+DQotCQkJCTxGaWxlDQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcY2prY29kZWNzXF9jb2RlY3NfaXNvMjAyMi5jIg0KLQkJCQkJPg0KLQkJCQk8L0ZpbGU+DQotCQkJCTxGaWxlDQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcY2prY29kZWNzXF9jb2RlY3NfanAuYyINCi0JCQkJCT4NCi0JCQkJPC9GaWxlPg0KLQkJCQk8RmlsZQ0KLQkJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXGNqa2NvZGVjc1xfY29kZWNzX2tyLmMiDQotCQkJCQk+DQotCQkJCTwvRmlsZT4NCi0JCQkJPEZpbGUNCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xjamtjb2RlY3NcX2NvZGVjc190dy5jIg0KLQkJCQkJPg0KLQkJCQk8L0ZpbGU+DQotCQkJCTxGaWxlDQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcY2prY29kZWNzXGFsZ19qaXN4MDIwMS5oIg0KLQkJCQkJPg0KLQkJCQk8L0ZpbGU+DQotCQkJCTxGaWxlDQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcY2prY29kZWNzXGNqa2NvZGVjcy5oIg0KLQkJCQkJPg0KLQkJCQk8L0ZpbGU+DQotCQkJCTxGaWxlDQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcY2prY29kZWNzXGVtdV9qaXN4MDIxM18yMDAwLmgiDQotCQkJCQk+DQotCQkJCTwvRmlsZT4NCi0JCQkJPEZpbGUNCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xjamtjb2RlY3NcbWFwcGluZ3NfY24uaCINCi0JCQkJCT4NCi0JCQkJPC9GaWxlPg0KLQkJCQk8RmlsZQ0KLQkJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXGNqa2NvZGVjc1xtYXBwaW5nc19oay5oIg0KLQkJCQkJPg0KLQkJCQk8L0ZpbGU+DQotCQkJCTxGaWxlDQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcY2prY29kZWNzXG1hcHBpbmdzX2ppc3gwMjEzX3BhaXIuaCINCi0JCQkJCT4NCi0JCQkJPC9GaWxlPg0KLQkJCQk8RmlsZQ0KLQkJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXGNqa2NvZGVjc1xtYXBwaW5nc19qcC5oIg0KLQkJCQkJPg0KLQkJCQk8L0ZpbGU+DQotCQkJCTxGaWxlDQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcY2prY29kZWNzXG1hcHBpbmdzX2tyLmgiDQotCQkJCQk+DQotCQkJCTwvRmlsZT4NCi0JCQkJPEZpbGUNCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xjamtjb2RlY3NcbWFwcGluZ3NfdHcuaCINCi0JCQkJCT4NCi0JCQkJPC9GaWxlPg0KLQkJCQk8RmlsZQ0KLQkJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXGNqa2NvZGVjc1xtdWx0aWJ5dGVjb2RlYy5jIg0KLQkJCQkJPg0KLQkJCQk8L0ZpbGU+DQotCQkJCTxGaWxlDQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcY2prY29kZWNzXG11bHRpYnl0ZWNvZGVjLmgiDQotCQkJCQk+DQotCQkJCTwvRmlsZT4NCi0JCQk8L0ZpbHRlcj4NCi0JCTwvRmlsdGVyPg0KLQkJPEZpbHRlcg0KLQkJCU5hbWU9Ik9iamVjdHMiDQotCQkJPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cT2JqZWN0c1xhYnN0cmFjdC5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cT2JqZWN0c1xhY2N1LmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxPYmplY3RzXGJvb2xvYmplY3QuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE9iamVjdHNcYnl0ZXNfbWV0aG9kcy5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cT2JqZWN0c1xieXRlYXJyYXlvYmplY3QuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE9iamVjdHNcYnl0ZXNvYmplY3QuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE9iamVjdHNcY2Fwc3VsZS5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cT2JqZWN0c1xjZWxsb2JqZWN0LmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxPYmplY3RzXGNsYXNzb2JqZWN0LmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxPYmplY3RzXGNvZGVvYmplY3QuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE9iamVjdHNcY29tcGxleG9iamVjdC5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cT2JqZWN0c1xzdHJpbmdsaWJcY291bnQuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE9iamVjdHNcZGVzY3JvYmplY3QuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE9iamVjdHNcZGljdG9iamVjdC5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cT2JqZWN0c1xlbnVtb2JqZWN0LmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxPYmplY3RzXGV4Y2VwdGlvbnMuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE9iamVjdHNcc3RyaW5nbGliXGZhc3RzZWFyY2guaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE9iamVjdHNcZmlsZW9iamVjdC5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cT2JqZWN0c1xzdHJpbmdsaWJcZmluZC5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cT2JqZWN0c1xmbG9hdG9iamVjdC5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cT2JqZWN0c1xmcmFtZW9iamVjdC5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cT2JqZWN0c1xmdW5jb2JqZWN0LmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxPYmplY3RzXGdlbm9iamVjdC5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cT2JqZWN0c1xpdGVyb2JqZWN0LmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxPYmplY3RzXGxpc3RvYmplY3QuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE9iamVjdHNcbG9uZ29iamVjdC5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cT2JqZWN0c1xtZW1vcnlvYmplY3QuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE9iamVjdHNcbWV0aG9kb2JqZWN0LmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxPYmplY3RzXG1vZHVsZW9iamVjdC5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cT2JqZWN0c1xuYW1lc3BhY2VvYmplY3QuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE9iamVjdHNcb2JqZWN0LmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxPYmplY3RzXG9ibWFsbG9jLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxPYmplY3RzXHN0cmluZ2xpYlxwYXJ0aXRpb24uaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE9iamVjdHNccmFuZ2VvYmplY3QuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE9iamVjdHNcc3RyaW5nbGliXHJlcGxhY2UuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE9iamVjdHNcc2V0b2JqZWN0LmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxPYmplY3RzXHNsaWNlb2JqZWN0LmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxPYmplY3RzXHN0cmluZ2xpYlxzcGxpdC5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cT2JqZWN0c1xzdHJ1Y3RzZXEuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE9iamVjdHNcdHVwbGVvYmplY3QuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE9iamVjdHNcdHlwZW9iamVjdC5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cT2JqZWN0c1x1bmljb2RlY3R5cGUuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE9iamVjdHNcdW5pY29kZW9iamVjdC5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cT2JqZWN0c1x1bmljb2RldHlwZV9kYi5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cT2JqZWN0c1x3ZWFrcmVmb2JqZWN0LmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQk8L0ZpbHRlcj4NCi0JCTxGaWx0ZXINCi0JCQlOYW1lPSJQYXJzZXIiDQotCQkJPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUGFyc2VyXGFjY2VsZXIuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFBhcnNlclxiaXRzZXQuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFBhcnNlclxmaXJzdHNldHMuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFBhcnNlclxncmFtbWFyLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQYXJzZXJcZ3JhbW1hcjEuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFBhcnNlclxsaXN0bm9kZS5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUGFyc2VyXG1ldGFncmFtbWFyLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQYXJzZXJcbXlyZWFkbGluZS5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUGFyc2VyXG5vZGUuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFBhcnNlclxwYXJzZXIuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFBhcnNlclxwYXJzZXIuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFBhcnNlclxwYXJzZXRvay5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUGFyc2VyXHRva2VuaXplci5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUGFyc2VyXHRva2VuaXplci5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJPC9GaWx0ZXI+DQotCQk8RmlsdGVyDQotCQkJTmFtZT0iUEMiDQotCQkJPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUENcd2lucmVnLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQQ1xjb25maWcuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFBDXGRsX250LmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQQ1xlcnJtYXAuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFBDXGdldHBhdGhwLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQQ1xtc3ZjcnRtb2R1bGUuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFBDXHB5Y29uZmlnLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQk8L0ZpbHRlcj4NCi0JCTxGaWx0ZXINCi0JCQlOYW1lPSJQeXRob24iDQotCQkJPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUHl0aG9uXF93YXJuaW5ncy5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUHl0aG9uXGFzZGwuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFB5dGhvblxhc3QuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFB5dGhvblxibHRpbm1vZHVsZS5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUHl0aG9uXGNldmFsLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQeXRob25cY29kZWNzLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQeXRob25cY29tcGlsZS5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUHl0aG9uXGR5bmFtaWNfYW5ub3RhdGlvbnMuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFB5dGhvblxkeW5sb2FkX3dpbi5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUHl0aG9uXGVycm9ycy5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUHl0aG9uXGZpbGV1dGlscy5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUHl0aG9uXGZvcm1hdHRlcl91bmljb2RlLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQeXRob25cZnJvemVuLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQeXRob25cZnV0dXJlLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQeXRob25cZ2V0YXJncy5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUHl0aG9uXGdldGNvbXBpbGVyLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQeXRob25cZ2V0Y29weXJpZ2h0LmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQeXRob25cZ2V0b3B0LmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQeXRob25cZ2V0cGxhdGZvcm0uYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFB5dGhvblxnZXR2ZXJzaW9uLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQeXRob25cZ3JhbWluaXQuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFB5dGhvblxpbXBvcnQuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFB5dGhvblxpbXBvcnRkbC5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUHl0aG9uXGltcG9ydGRsLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQeXRob25cbWFyc2hhbC5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUHl0aG9uXG1vZHN1cHBvcnQuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFB5dGhvblxteXNucHJpbnRmLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQeXRob25cbXlzdHJ0b3VsLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQeXRob25ccGVlcGhvbGUuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFB5dGhvblxweWFyZW5hLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQeXRob25ccHljdHlwZS5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUHl0aG9uXHB5ZnBlLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQeXRob25ccHltYXRoLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQeXRob25ccHl0aW1lLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQeXRob25ccHlzdGF0ZS5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUHl0aG9uXHB5c3RyY21wLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQeXRob25ccHlzdHJ0b2QuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFB5dGhvblxkdG9hLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQeXRob25cUHl0aG9uLWFzdC5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUHl0aG9uXHB5dGhvbnJ1bi5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLSAJCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFB5dGhvblxyYW5kb20uYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFB5dGhvblxzdHJ1Y3RtZW1iZXIuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFB5dGhvblxzeW10YWJsZS5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUHl0aG9uXHN5c21vZHVsZS5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUHl0aG9uXHRocmVhZC5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUHl0aG9uXHRocmVhZF9udC5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUHl0aG9uXHRyYWNlYmFjay5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJPC9GaWx0ZXI+DQotCQk8RmlsdGVyDQotCQkJTmFtZT0iUmVzb3VyY2UgRmlsZXMiDQotCQkJPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUENccHl0aG9uX250LnJjIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJPC9GaWx0ZXI+DQotCTwvRmlsZXM+DQotCTxHbG9iYWxzPg0KLQk8L0dsb2JhbHM+DQotPC9WaXN1YWxTdHVkaW9Qcm9qZWN0Pg0KZGlmZiAtLWdpdCBhL1BDL1ZTOS4wL3B5dGhvbncudmNwcm9qIGIvUEMvVlM5LjAvcHl0aG9udy52Y3Byb2oKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdmNWMwNGIuLjAwMDAwMDAKLS0tIGEvUEMvVlM5LjAvcHl0aG9udy52Y3Byb2oKKysrIC9kZXYvbnVsbApAQCAtMSw2MTggKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iV2luZG93cy0xMjUyIj8+DQotPFZpc3VhbFN0dWRpb1Byb2plY3QNCi0JUHJvamVjdFR5cGU9IlZpc3VhbCBDKysiDQotCVZlcnNpb249IjkuMDAiDQotCU5hbWU9InB5dGhvbnciDQotCVByb2plY3RHVUlEPSJ7RjQyMjlDQzMtODczQy00OUFFLTk3MjktREQzMDhFRDRDRDRBfSINCi0JVGFyZ2V0RnJhbWV3b3JrVmVyc2lvbj0iMTMxMDcyIg0KLQk+DQotCTxQbGF0Zm9ybXM+DQotCQk8UGxhdGZvcm0NCi0JCQlOYW1lPSJXaW4zMiINCi0JCS8+DQotCQk8UGxhdGZvcm0NCi0JCQlOYW1lPSJ4NjQiDQotCQkvPg0KLQk8L1BsYXRmb3Jtcz4NCi0JPFRvb2xGaWxlcz4NCi0JPC9Ub29sRmlsZXM+DQotCTxDb25maWd1cmF0aW9ucz4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iRGVidWd8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjEiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlwcm9qZWN0LnZzcHJvcHM7LlxkZWJ1Zy52c3Byb3BzIg0KLQkJCVVzZU9mTUZDPSIwIg0KLQkJCUFUTE1pbmltaXplc0NSdW5UaW1lTGlicmFyeVVzYWdlPSJmYWxzZSINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJT3B0aW1pemF0aW9uPSIwIg0KLQkJCQlFbmFibGVJbnRyaW5zaWNGdW5jdGlvbnM9ImZhbHNlIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJfV0lORE9XUyINCi0JCQkJUnVudGltZUxpYnJhcnk9IjMiDQotCQkJCUNvbXBpbGVBcz0iMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Il9ERUJVRyINCi0JCQkJQ3VsdHVyZT0iMTAzMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJT3V0cHV0RmlsZT0iJChPdXREaXIpXHB5dGhvbndfZC5leGUiDQotCQkJCVN0YWNrUmVzZXJ2ZVNpemU9IjIwMDAwMDAiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFkMDAwMDAwIg0KLQkJCQlUYXJnZXRNYWNoaW5lPSIxIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IkRlYnVnfHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMSINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweXByb2plY3QudnNwcm9wczsuXHg2NC52c3Byb3BzOy5cZGVidWcudnNwcm9wcyINCi0JCQlVc2VPZk1GQz0iMCINCi0JCQlBVExNaW5pbWl6ZXNDUnVuVGltZUxpYnJhcnlVc2FnZT0iZmFsc2UiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCU9wdGltaXphdGlvbj0iMCINCi0JCQkJRW5hYmxlSW50cmluc2ljRnVuY3Rpb25zPSJmYWxzZSINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iX1dJTkRPV1MiDQotCQkJCVJ1bnRpbWVMaWJyYXJ5PSIzIg0KLQkJCQlDb21waWxlQXM9IjAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJfREVCVUciDQotCQkJCUN1bHR1cmU9IjEwMzMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCU91dHB1dEZpbGU9IiQoT3V0RGlyKVxweXRob253X2QuZXhlIg0KLQkJCQlTdGFja1Jlc2VydmVTaXplPSIyMDAwMDAwIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxZDAwMDAwMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJSZWxlYXNlfFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIxIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5cHJvamVjdC52c3Byb3BzOy5ccmVsZWFzZS52c3Byb3BzIg0KLQkJCVVzZU9mTUZDPSIwIg0KLQkJCUFUTE1pbmltaXplc0NSdW5UaW1lTGlicmFyeVVzYWdlPSJmYWxzZSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJfV0lORE9XUyINCi0JCQkJU3RyaW5nUG9vbGluZz0idHJ1ZSINCi0JCQkJUnVudGltZUxpYnJhcnk9IjIiDQotCQkJCUVuYWJsZUZ1bmN0aW9uTGV2ZWxMaW5raW5nPSJ0cnVlIg0KLQkJCQlDb21waWxlQXM9IjAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJOREVCVUciDQotCQkJCUN1bHR1cmU9IjEwMzMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCU91dHB1dEZpbGU9IiQoT3V0RGlyKVxweXRob253LmV4ZSINCi0JCQkJU3RhY2tSZXNlcnZlU2l6ZT0iMjAwMDAwMCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MWQwMDAwMDAiDQotCQkJCVRhcmdldE1hY2hpbmU9IjEiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZXx4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjEiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlwcm9qZWN0LnZzcHJvcHM7Llx4NjQudnNwcm9wczsuXHJlbGVhc2UudnNwcm9wcyINCi0JCQlVc2VPZk1GQz0iMCINCi0JCQlBVExNaW5pbWl6ZXNDUnVuVGltZUxpYnJhcnlVc2FnZT0iZmFsc2UiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Il9XSU5ET1dTIg0KLQkJCQlTdHJpbmdQb29saW5nPSJ0cnVlIg0KLQkJCQlSdW50aW1lTGlicmFyeT0iMiINCi0JCQkJRW5hYmxlRnVuY3Rpb25MZXZlbExpbmtpbmc9InRydWUiDQotCQkJCUNvbXBpbGVBcz0iMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Ik5ERUJVRyINCi0JCQkJQ3VsdHVyZT0iMTAzMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJT3V0cHV0RmlsZT0iJChPdXREaXIpXHB5dGhvbncuZXhlIg0KLQkJCQlTdGFja1Jlc2VydmVTaXplPSIyMDAwMDAwIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxZDAwMDAwMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR0luc3RydW1lbnR8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjEiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlwcm9qZWN0LnZzcHJvcHM7LlxyZWxlYXNlLnZzcHJvcHM7LlxwZ2luc3RydW1lbnQudnNwcm9wcyINCi0JCQlVc2VPZk1GQz0iMCINCi0JCQlBVExNaW5pbWl6ZXNDUnVuVGltZUxpYnJhcnlVc2FnZT0iZmFsc2UiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iX1dJTkRPV1MiDQotCQkJCVN0cmluZ1Bvb2xpbmc9InRydWUiDQotCQkJCVJ1bnRpbWVMaWJyYXJ5PSIyIg0KLQkJCQlFbmFibGVGdW5jdGlvbkxldmVsTGlua2luZz0idHJ1ZSINCi0JCQkJQ29tcGlsZUFzPSIwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iTkRFQlVHIg0KLQkJCQlDdWx0dXJlPSIxMDMzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlPdXRwdXRGaWxlPSIkKE91dERpcilccHl0aG9udy5leGUiDQotCQkJCVN0YWNrUmVzZXJ2ZVNpemU9IjIwMDAwMDAiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFkMDAwMDAwIg0KLQkJCQlJbXBvcnRMaWJyYXJ5PSIiDQotCQkJCVRhcmdldE1hY2hpbmU9IjEiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdJbnN0cnVtZW50fHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMSINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweXByb2plY3QudnNwcm9wczsuXHg2NC52c3Byb3BzOy5ccmVsZWFzZS52c3Byb3BzOy5ccGdpbnN0cnVtZW50LnZzcHJvcHMiDQotCQkJVXNlT2ZNRkM9IjAiDQotCQkJQVRMTWluaW1pemVzQ1J1blRpbWVMaWJyYXJ5VXNhZ2U9ImZhbHNlIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJfV0lORE9XUyINCi0JCQkJU3RyaW5nUG9vbGluZz0idHJ1ZSINCi0JCQkJUnVudGltZUxpYnJhcnk9IjIiDQotCQkJCUVuYWJsZUZ1bmN0aW9uTGV2ZWxMaW5raW5nPSJ0cnVlIg0KLQkJCQlDb21waWxlQXM9IjAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJOREVCVUciDQotCQkJCUN1bHR1cmU9IjEwMzMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCU91dHB1dEZpbGU9IiQoT3V0RGlyKVxweXRob253LmV4ZSINCi0JCQkJU3RhY2tSZXNlcnZlU2l6ZT0iMjAwMDAwMCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MWQwMDAwMDAiDQotCQkJCUltcG9ydExpYnJhcnk9IiINCi0JCQkJVGFyZ2V0TWFjaGluZT0iMTciDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdVcGRhdGV8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjEiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlwcm9qZWN0LnZzcHJvcHM7LlxyZWxlYXNlLnZzcHJvcHM7LlxwZ3VwZGF0ZS52c3Byb3BzIg0KLQkJCVVzZU9mTUZDPSIwIg0KLQkJCUFUTE1pbmltaXplc0NSdW5UaW1lTGlicmFyeVVzYWdlPSJmYWxzZSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJfV0lORE9XUyINCi0JCQkJU3RyaW5nUG9vbGluZz0idHJ1ZSINCi0JCQkJUnVudGltZUxpYnJhcnk9IjIiDQotCQkJCUVuYWJsZUZ1bmN0aW9uTGV2ZWxMaW5raW5nPSJ0cnVlIg0KLQkJCQlDb21waWxlQXM9IjAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJOREVCVUciDQotCQkJCUN1bHR1cmU9IjEwMzMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCU91dHB1dEZpbGU9IiQoT3V0RGlyKVxweXRob253LmV4ZSINCi0JCQkJU3RhY2tSZXNlcnZlU2l6ZT0iMjAwMDAwMCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MWQwMDAwMDAiDQotCQkJCUltcG9ydExpYnJhcnk9IiINCi0JCQkJVGFyZ2V0TWFjaGluZT0iMSINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR1VwZGF0ZXx4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjEiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlwcm9qZWN0LnZzcHJvcHM7Llx4NjQudnNwcm9wczsuXHJlbGVhc2UudnNwcm9wczsuXHBndXBkYXRlLnZzcHJvcHMiDQotCQkJVXNlT2ZNRkM9IjAiDQotCQkJQVRMTWluaW1pemVzQ1J1blRpbWVMaWJyYXJ5VXNhZ2U9ImZhbHNlIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJfV0lORE9XUyINCi0JCQkJU3RyaW5nUG9vbGluZz0idHJ1ZSINCi0JCQkJUnVudGltZUxpYnJhcnk9IjIiDQotCQkJCUVuYWJsZUZ1bmN0aW9uTGV2ZWxMaW5raW5nPSJ0cnVlIg0KLQkJCQlDb21waWxlQXM9IjAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJOREVCVUciDQotCQkJCUN1bHR1cmU9IjEwMzMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCU91dHB1dEZpbGU9IiQoT3V0RGlyKVxweXRob253LmV4ZSINCi0JCQkJU3RhY2tSZXNlcnZlU2l6ZT0iMjAwMDAwMCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MWQwMDAwMDAiDQotCQkJCUltcG9ydExpYnJhcnk9IiINCi0JCQkJVGFyZ2V0TWFjaGluZT0iMTciDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JPC9Db25maWd1cmF0aW9ucz4NCi0JPFJlZmVyZW5jZXM+DQotCTwvUmVmZXJlbmNlcz4NCi0JPEZpbGVzPg0KLQkJPEZpbHRlcg0KLQkJCU5hbWU9IlJlc291cmNlIEZpbGVzIg0KLQkJCT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFBDXHB5dGhvbl9leGUucmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQk8L0ZpbHRlcj4NCi0JCTxGaWx0ZXINCi0JCQlOYW1lPSJTb3VyY2UgRmlsZXMiDQotCQkJPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUENcV2luTWFpbi5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJPC9GaWx0ZXI+DQotCTwvRmlsZXM+DQotCTxHbG9iYWxzPg0KLQk8L0dsb2JhbHM+DQotPC9WaXN1YWxTdHVkaW9Qcm9qZWN0Pg0KZGlmZiAtLWdpdCBhL1BDL1ZTOS4wL3JlbGVhc2UudnNwcm9wcyBiL1BDL1ZTOS4wL3JlbGVhc2UudnNwcm9wcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDhkZWY5MC4uMDAwMDAwMAotLS0gYS9QQy9WUzkuMC9yZWxlYXNlLnZzcHJvcHMKKysrIC9kZXYvbnVsbApAQCAtMSwxNSArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJXaW5kb3dzLTEyNTIiPz4NCi08VmlzdWFsU3R1ZGlvUHJvcGVydHlTaGVldA0KLQlQcm9qZWN0VHlwZT0iVmlzdWFsIEMrKyINCi0JVmVyc2lvbj0iOC4wMCINCi0JTmFtZT0icmVsZWFzZSINCi0JPg0KLQk8VG9vbA0KLQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJOREVCVUciDQotCS8+DQotCTxVc2VyTWFjcm8NCi0JCU5hbWU9IktpbGxQeXRob25FeGUiDQotCQlWYWx1ZT0iJChPdXREaXIpXGtpbGxfcHl0aG9uLmV4ZSINCi0JLz4JDQotPC9WaXN1YWxTdHVkaW9Qcm9wZXJ0eVNoZWV0Pg0KZGlmZiAtLWdpdCBhL1BDL1ZTOS4wL3NlbGVjdC52Y3Byb2ogYi9QQy9WUzkuMC9zZWxlY3QudmNwcm9qCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2MzdmZDk3Li4wMDAwMDAwCi0tLSBhL1BDL1ZTOS4wL3NlbGVjdC52Y3Byb2oKKysrIC9kZXYvbnVsbApAQCAtMSw1MzcgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iV2luZG93cy0xMjUyIj8+DQotPFZpc3VhbFN0dWRpb1Byb2plY3QNCi0JUHJvamVjdFR5cGU9IlZpc3VhbCBDKysiDQotCVZlcnNpb249IjkuMDAiDQotCU5hbWU9InNlbGVjdCINCi0JUHJvamVjdEdVSUQ9InsxOENBRTI4Qy1CNDU0LTQ2QzEtODdBMC00OTNEOTFEOTdGMDN9Ig0KLQlSb290TmFtZXNwYWNlPSJzZWxlY3QiDQotCUtleXdvcmQ9IldpbjMyUHJvaiINCi0JVGFyZ2V0RnJhbWV3b3JrVmVyc2lvbj0iMTk2NjEzIg0KLQk+DQotCTxQbGF0Zm9ybXM+DQotCQk8UGxhdGZvcm0NCi0JCQlOYW1lPSJXaW4zMiINCi0JCS8+DQotCQk8UGxhdGZvcm0NCi0JCQlOYW1lPSJ4NjQiDQotCQkvPg0KLQk8L1BsYXRmb3Jtcz4NCi0JPFRvb2xGaWxlcz4NCi0JPC9Ub29sRmlsZXM+DQotCTxDb25maWd1cmF0aW9ucz4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iRGVidWd8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkX2QudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0id3MyXzMyLmxpYiINCi0JCQkJSWdub3JlRGVmYXVsdExpYnJhcnlOYW1lcz0ibGliYyINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MUQxMTAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iRGVidWd8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZF9kLnZzcHJvcHM7Llx4NjQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IndzMl8zMi5saWIiDQotCQkJCUlnbm9yZURlZmF1bHRMaWJyYXJ5TmFtZXM9ImxpYmMiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFEMTEwMDAwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJ3czJfMzIubGliIg0KLQkJCQlJZ25vcmVEZWZhdWx0TGlicmFyeU5hbWVzPSJsaWJjIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxRDExMDAwMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJSZWxlYXNlfHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHg2NC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IndzMl8zMi5saWIiDQotCQkJCUlnbm9yZURlZmF1bHRMaWJyYXJ5TmFtZXM9ImxpYmMiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFEMTEwMDAwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHSW5zdHJ1bWVudHxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHBnaW5zdHJ1bWVudC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0id3MyXzMyLmxpYiINCi0JCQkJSWdub3JlRGVmYXVsdExpYnJhcnlOYW1lcz0ibGliYyINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MUQxMTAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdJbnN0cnVtZW50fHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHg2NC52c3Byb3BzOy5ccGdpbnN0cnVtZW50LnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0id3MyXzMyLmxpYiINCi0JCQkJSWdub3JlRGVmYXVsdExpYnJhcnlOYW1lcz0ibGliYyINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MUQxMTAwMDAiDQotCQkJCVRhcmdldE1hY2hpbmU9IjE3Ig0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHVXBkYXRlfFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ccGd1cGRhdGUudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IndzMl8zMi5saWIiDQotCQkJCUlnbm9yZURlZmF1bHRMaWJyYXJ5TmFtZXM9ImxpYmMiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFEMTEwMDAwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHVXBkYXRlfHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHg2NC52c3Byb3BzOy5ccGd1cGRhdGUudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJ3czJfMzIubGliIg0KLQkJCQlJZ25vcmVEZWZhdWx0TGlicmFyeU5hbWVzPSJsaWJjIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxRDExMDAwMCINCi0JCQkJVGFyZ2V0TWFjaGluZT0iMTciDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JPC9Db25maWd1cmF0aW9ucz4NCi0JPFJlZmVyZW5jZXM+DQotCTwvUmVmZXJlbmNlcz4NCi0JPEZpbGVzPg0KLQkJPEZpbHRlcg0KLQkJCU5hbWU9IlNvdXJjZSBGaWxlcyINCi0JCQk+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXHNlbGVjdG1vZHVsZS5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJPC9GaWx0ZXI+DQotCTwvRmlsZXM+DQotCTxHbG9iYWxzPg0KLQk8L0dsb2JhbHM+DQotPC9WaXN1YWxTdHVkaW9Qcm9qZWN0Pg0KZGlmZiAtLWdpdCBhL1BDL1ZTOS4wL3NxbGl0ZTMudmNwcm9qIGIvUEMvVlM5LjAvc3FsaXRlMy52Y3Byb2oKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVmOGMzMjguLjAwMDAwMDAKLS0tIGEvUEMvVlM5LjAvc3FsaXRlMy52Y3Byb2oKKysrIC9kZXYvbnVsbApAQCAtMSw1MzcgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iV2luZG93cy0xMjUyIj8+DQotPFZpc3VhbFN0dWRpb1Byb2plY3QNCi0JUHJvamVjdFR5cGU9IlZpc3VhbCBDKysiDQotCVZlcnNpb249IjkuMDAiDQotCU5hbWU9InNxbGl0ZTMiDQotCVByb2plY3RHVUlEPSJ7QTFBMjk1RTUtNDYzQy00MzdGLTgxQ0EtMUYzMjM2NzY4NURBfSINCi0JUm9vdE5hbWVzcGFjZT0ic3FsaXRlMyINCi0JS2V5d29yZD0iV2luMzJQcm9qIg0KLQlUYXJnZXRGcmFtZXdvcmtWZXJzaW9uPSIxOTY2MTMiDQotCT4NCi0JPFBsYXRmb3Jtcz4NCi0JCTxQbGF0Zm9ybQ0KLQkJCU5hbWU9IldpbjMyIg0KLQkJLz4NCi0JCTxQbGF0Zm9ybQ0KLQkJCU5hbWU9Ing2NCINCi0JCS8+DQotCTwvUGxhdGZvcm1zPg0KLQk8VG9vbEZpbGVzPg0KLQk8L1Rvb2xGaWxlcz4NCi0JPENvbmZpZ3VyYXRpb25zPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJEZWJ1Z3xXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxzcWxpdGUzLnZzcHJvcHM7LlxkZWJ1Zy52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCU91dHB1dEZpbGU9IiQoT3V0RGlyKVwkKFByb2plY3ROYW1lKV9kLmRsbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJEZWJ1Z3x4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5cc3FsaXRlMy52c3Byb3BzOy5cZGVidWcudnNwcm9wczsuXHg2NC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlPdXRwdXRGaWxlPSIkKE91dERpcilcJChQcm9qZWN0TmFtZSlfZC5kbGwiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxzcWxpdGUzLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCU91dHB1dEZpbGU9IiQoT3V0RGlyKVwkKFByb2plY3ROYW1lKS5kbGwiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZXx4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5cc3FsaXRlMy52c3Byb3BzOy5ceDY0LnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlPdXRwdXRGaWxlPSIkKE91dERpcilcJChQcm9qZWN0TmFtZSkuZGxsIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHSW5zdHJ1bWVudHxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxzcWxpdGUzLnZzcHJvcHM7LlxwZ2luc3RydW1lbnQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiZxdW90OyQoc3FsaXRlM0RpcikmcXVvdDsiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCU91dHB1dEZpbGU9IiQoT3V0RGlyKVwkKFByb2plY3ROYW1lKS5kbGwiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdJbnN0cnVtZW50fHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxzcWxpdGUzLnZzcHJvcHM7Llx4NjQudnNwcm9wczsuXHBnaW5zdHJ1bWVudC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR1VwZGF0ZXxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxzcWxpdGUzLnZzcHJvcHM7LlxwZ3VwZGF0ZS52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlPdXRwdXRGaWxlPSIkKE91dERpcilcJChQcm9qZWN0TmFtZSkuZGxsIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHVXBkYXRlfHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxzcWxpdGUzLnZzcHJvcHM7Llx4NjQudnNwcm9wczsuXHBndXBkYXRlLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCTwvQ29uZmlndXJhdGlvbnM+DQotCTxSZWZlcmVuY2VzPg0KLQk8L1JlZmVyZW5jZXM+DQotCTxGaWxlcz4NCi0JCTxGaWx0ZXINCi0JCQlOYW1lPSJIZWFkZXIgRmlsZXMiDQotCQkJPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iJChzcWxpdGUzRGlyKVxzcWxpdGUzLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIkKHNxbGl0ZTNEaXIpXHNxbGl0ZTNleHQuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCTwvRmlsdGVyPg0KLQkJPEZpbHRlcg0KLQkJCU5hbWU9IlNvdXJjZSBGaWxlcyINCi0JCQk+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIkKHNxbGl0ZTNEaXIpXHNxbGl0ZTMuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCTwvRmlsdGVyPg0KLQk8L0ZpbGVzPg0KLQk8R2xvYmFscz4NCi0JPC9HbG9iYWxzPg0KLTwvVmlzdWFsU3R1ZGlvUHJvamVjdD4NCmRpZmYgLS1naXQgYS9QQy9WUzkuMC9zcWxpdGUzLnZzcHJvcHMgYi9QQy9WUzkuMC9zcWxpdGUzLnZzcHJvcHMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI1MDJkZjUuLjAwMDAwMDAKLS0tIGEvUEMvVlM5LjAvc3FsaXRlMy52c3Byb3BzCisrKyAvZGV2L251bGwKQEAgLTEsMTQgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iV2luZG93cy0xMjUyIj8+DQotPFZpc3VhbFN0dWRpb1Byb3BlcnR5U2hlZXQNCi0JUHJvamVjdFR5cGU9IlZpc3VhbCBDKysiDQotCVZlcnNpb249IjguMDAiDQotCU5hbWU9InNxbGl0ZTMiDQotCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5cHJvamVjdC52c3Byb3BzIg0KLQk+DQotCTxUb29sDQotCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJChzcWxpdGUzRGlyKSINCi0JCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJTUUxJVEVfQVBJPV9fZGVjbHNwZWMoZGxsZXhwb3J0KSINCi0JCVdhcm5pbmdMZXZlbD0iMSINCi0JLz4NCi08L1Zpc3VhbFN0dWRpb1Byb3BlcnR5U2hlZXQ+DQpkaWZmIC0tZ2l0IGEvUEMvVlM5LjAvc3NsLnZjcHJvaiBiL1BDL1ZTOS4wL3NzbC52Y3Byb2oKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQzMGU4NzcuLjAwMDAwMDAKLS0tIGEvUEMvVlM5LjAvc3NsLnZjcHJvagorKysgL2Rldi9udWxsCkBAIC0xLDE4OSArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJXaW5kb3dzLTEyNTIiPz4NCi08VmlzdWFsU3R1ZGlvUHJvamVjdA0KLQlQcm9qZWN0VHlwZT0iVmlzdWFsIEMrKyINCi0JVmVyc2lvbj0iOS4wMCINCi0JTmFtZT0ic3NsIg0KLQlQcm9qZWN0R1VJRD0ie0U1QjA0Q0MwLUVCNEMtNDJBQi1CNERDLTE4RUY5NUY4NjRCMH0iDQotCVJvb3ROYW1lc3BhY2U9InNzbCINCi0JS2V5d29yZD0iTWFrZUZpbGVQcm9qIg0KLQlUYXJnZXRGcmFtZXdvcmtWZXJzaW9uPSIxOTY2MTMiDQotCT4NCi0JPFBsYXRmb3Jtcz4NCi0JCTxQbGF0Zm9ybQ0KLQkJCU5hbWU9IldpbjMyIg0KLQkJLz4NCi0JCTxQbGF0Zm9ybQ0KLQkJCU5hbWU9Ing2NCINCi0JCS8+DQotCTwvUGxhdGZvcm1zPg0KLQk8VG9vbEZpbGVzPg0KLQk8L1Rvb2xGaWxlcz4NCi0JPENvbmZpZ3VyYXRpb25zPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJEZWJ1Z3xXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMCINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWRfZC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNOTWFrZVRvb2wiDQotCQkJCUJ1aWxkQ29tbWFuZExpbmU9ImNkICZxdW90OyQoU29sdXRpb25EaXIpJnF1b3Q7JiN4MEQ7JiN4MEE7JnF1b3Q7JChQeXRob25FeGUpJnF1b3Q7IGJ1aWxkX3NzbC5weSBSZWxlYXNlICQoUGxhdGZvcm1OYW1lKSAtYSYjeDBEOyYjeDBBOyINCi0JCQkJUmVCdWlsZENvbW1hbmRMaW5lPSIiDQotCQkJCUNsZWFuQ29tbWFuZExpbmU9IiINCi0JCQkJT3V0cHV0PSIiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSIiDQotCQkJCUluY2x1ZGVTZWFyY2hQYXRoPSIiDQotCQkJCUZvcmNlZEluY2x1ZGVzPSIiDQotCQkJCUFzc2VtYmx5U2VhcmNoUGF0aD0iIg0KLQkJCQlGb3JjZWRVc2luZ0Fzc2VtYmxpZXM9IiINCi0JCQkJQ29tcGlsZUFzTWFuYWdlZD0iIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IkRlYnVnfHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMCINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWRfZC52c3Byb3BzOy5ceDY0LnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ05NYWtlVG9vbCINCi0JCQkJQnVpbGRDb21tYW5kTGluZT0iY2QgJnF1b3Q7JChTb2x1dGlvbkRpcikmcXVvdDsmI3gwRDsmI3gwQTsmcXVvdDskKFB5dGhvbkV4ZSkmcXVvdDsgYnVpbGRfc3NsLnB5IFJlbGVhc2UgJChQbGF0Zm9ybU5hbWUpIC1hJiN4MEQ7JiN4MEE7Ig0KLQkJCQlSZUJ1aWxkQ29tbWFuZExpbmU9IiINCi0JCQkJQ2xlYW5Db21tYW5kTGluZT0iIg0KLQkJCQlPdXRwdXQ9IiINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IiINCi0JCQkJSW5jbHVkZVNlYXJjaFBhdGg9IiINCi0JCQkJRm9yY2VkSW5jbHVkZXM9IiINCi0JCQkJQXNzZW1ibHlTZWFyY2hQYXRoPSIiDQotCQkJCUZvcmNlZFVzaW5nQXNzZW1ibGllcz0iIg0KLQkJCQlDb21waWxlQXNNYW5hZ2VkPSIiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMCINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTk1ha2VUb29sIg0KLQkJCQlCdWlsZENvbW1hbmRMaW5lPSJjZCAmcXVvdDskKFNvbHV0aW9uRGlyKSZxdW90OyYjeDBEOyYjeDBBOyZxdW90OyQoUHl0aG9uRXhlKSZxdW90OyBidWlsZF9zc2wucHkgUmVsZWFzZSAkKFBsYXRmb3JtTmFtZSkgLWEmI3gwRDsmI3gwQTsiDQotCQkJCVJlQnVpbGRDb21tYW5kTGluZT0iIg0KLQkJCQlDbGVhbkNvbW1hbmRMaW5lPSIiDQotCQkJCU91dHB1dD0iIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iIg0KLQkJCQlJbmNsdWRlU2VhcmNoUGF0aD0iIg0KLQkJCQlGb3JjZWRJbmNsdWRlcz0iIg0KLQkJCQlBc3NlbWJseVNlYXJjaFBhdGg9IiINCi0JCQkJRm9yY2VkVXNpbmdBc3NlbWJsaWVzPSIiDQotCQkJCUNvbXBpbGVBc01hbmFnZWQ9IiINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJSZWxlYXNlfHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMCINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHg2NC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNOTWFrZVRvb2wiDQotCQkJCUJ1aWxkQ29tbWFuZExpbmU9ImNkICZxdW90OyQoU29sdXRpb25EaXIpJnF1b3Q7JiN4MEQ7JiN4MEE7JnF1b3Q7JChQeXRob25FeGUpJnF1b3Q7IGJ1aWxkX3NzbC5weSBSZWxlYXNlICQoUGxhdGZvcm1OYW1lKSAtYSYjeDBEOyYjeDBBOyINCi0JCQkJUmVCdWlsZENvbW1hbmRMaW5lPSIiDQotCQkJCUNsZWFuQ29tbWFuZExpbmU9IiINCi0JCQkJT3V0cHV0PSIiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSIiDQotCQkJCUluY2x1ZGVTZWFyY2hQYXRoPSIiDQotCQkJCUZvcmNlZEluY2x1ZGVzPSIiDQotCQkJCUFzc2VtYmx5U2VhcmNoUGF0aD0iIg0KLQkJCQlGb3JjZWRVc2luZ0Fzc2VtYmxpZXM9IiINCi0JCQkJQ29tcGlsZUFzTWFuYWdlZD0iIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHSW5zdHJ1bWVudHxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMCINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHBnaW5zdHJ1bWVudC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNOTWFrZVRvb2wiDQotCQkJCUJ1aWxkQ29tbWFuZExpbmU9ImNkICZxdW90OyQoU29sdXRpb25EaXIpJnF1b3Q7JiN4MEQ7JiN4MEE7JnF1b3Q7JChQeXRob25FeGUpJnF1b3Q7IGJ1aWxkX3NzbC5weSBSZWxlYXNlICQoUGxhdGZvcm1OYW1lKSAtYSYjeDBEOyYjeDBBOyINCi0JCQkJUmVCdWlsZENvbW1hbmRMaW5lPSIiDQotCQkJCUNsZWFuQ29tbWFuZExpbmU9IiINCi0JCQkJT3V0cHV0PSIiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSIiDQotCQkJCUluY2x1ZGVTZWFyY2hQYXRoPSIiDQotCQkJCUZvcmNlZEluY2x1ZGVzPSIiDQotCQkJCUFzc2VtYmx5U2VhcmNoUGF0aD0iIg0KLQkJCQlGb3JjZWRVc2luZ0Fzc2VtYmxpZXM9IiINCi0JCQkJQ29tcGlsZUFzTWFuYWdlZD0iIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHSW5zdHJ1bWVudHx4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjAiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7Llx4NjQudnNwcm9wczsuXHBnaW5zdHJ1bWVudC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNOTWFrZVRvb2wiDQotCQkJCUJ1aWxkQ29tbWFuZExpbmU9ImNkICZxdW90OyQoU29sdXRpb25EaXIpJnF1b3Q7JiN4MEQ7JiN4MEE7JnF1b3Q7JChQeXRob25FeGUpJnF1b3Q7IGJ1aWxkX3NzbC5weSBSZWxlYXNlICQoUGxhdGZvcm1OYW1lKSAtYSYjeDBEOyYjeDBBOyINCi0JCQkJUmVCdWlsZENvbW1hbmRMaW5lPSIiDQotCQkJCUNsZWFuQ29tbWFuZExpbmU9IiINCi0JCQkJT3V0cHV0PSIiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSIiDQotCQkJCUluY2x1ZGVTZWFyY2hQYXRoPSIiDQotCQkJCUZvcmNlZEluY2x1ZGVzPSIiDQotCQkJCUFzc2VtYmx5U2VhcmNoUGF0aD0iIg0KLQkJCQlGb3JjZWRVc2luZ0Fzc2VtYmxpZXM9IiINCi0JCQkJQ29tcGlsZUFzTWFuYWdlZD0iIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHVXBkYXRlfFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIwIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ccGd1cGRhdGUudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTk1ha2VUb29sIg0KLQkJCQlCdWlsZENvbW1hbmRMaW5lPSJjZCAmcXVvdDskKFNvbHV0aW9uRGlyKSZxdW90OyYjeDBEOyYjeDBBOyZxdW90OyQoUHl0aG9uRXhlKSZxdW90OyBidWlsZF9zc2wucHkgUmVsZWFzZSAkKFBsYXRmb3JtTmFtZSkgLWEmI3gwRDsmI3gwQTsiDQotCQkJCVJlQnVpbGRDb21tYW5kTGluZT0iIg0KLQkJCQlDbGVhbkNvbW1hbmRMaW5lPSIiDQotCQkJCU91dHB1dD0iIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iIg0KLQkJCQlJbmNsdWRlU2VhcmNoUGF0aD0iIg0KLQkJCQlGb3JjZWRJbmNsdWRlcz0iIg0KLQkJCQlBc3NlbWJseVNlYXJjaFBhdGg9IiINCi0JCQkJRm9yY2VkVXNpbmdBc3NlbWJsaWVzPSIiDQotCQkJCUNvbXBpbGVBc01hbmFnZWQ9IiINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR1VwZGF0ZXx4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjAiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7Llx4NjQudnNwcm9wczsuXHBndXBkYXRlLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ05NYWtlVG9vbCINCi0JCQkJQnVpbGRDb21tYW5kTGluZT0iY2QgJnF1b3Q7JChTb2x1dGlvbkRpcikmcXVvdDsmI3gwRDsmI3gwQTsmcXVvdDskKFB5dGhvbkV4ZSkmcXVvdDsgYnVpbGRfc3NsLnB5IFJlbGVhc2UgJChQbGF0Zm9ybU5hbWUpIC1hJiN4MEQ7JiN4MEE7Ig0KLQkJCQlSZUJ1aWxkQ29tbWFuZExpbmU9IiINCi0JCQkJQ2xlYW5Db21tYW5kTGluZT0iIg0KLQkJCQlPdXRwdXQ9IiINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IiINCi0JCQkJSW5jbHVkZVNlYXJjaFBhdGg9IiINCi0JCQkJRm9yY2VkSW5jbHVkZXM9IiINCi0JCQkJQXNzZW1ibHlTZWFyY2hQYXRoPSIiDQotCQkJCUZvcmNlZFVzaW5nQXNzZW1ibGllcz0iIg0KLQkJCQlDb21waWxlQXNNYW5hZ2VkPSIiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JPC9Db25maWd1cmF0aW9ucz4NCi0JPFJlZmVyZW5jZXM+DQotCTwvUmVmZXJlbmNlcz4NCi0JPEZpbGVzPg0KLQk8L0ZpbGVzPg0KLQk8R2xvYmFscz4NCi0JPC9HbG9iYWxzPg0KLTwvVmlzdWFsU3R1ZGlvUHJvamVjdD4NCmRpZmYgLS1naXQgYS9QQy9WUzkuMC91bmljb2RlZGF0YS52Y3Byb2ogYi9QQy9WUzkuMC91bmljb2RlZGF0YS52Y3Byb2oKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI2NmZmNzIuLjAwMDAwMDAKLS0tIGEvUEMvVlM5LjAvdW5pY29kZWRhdGEudmNwcm9qCisrKyAvZGV2L251bGwKQEAgLTEsNTMzICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IldpbmRvd3MtMTI1MiI/Pg0KLTxWaXN1YWxTdHVkaW9Qcm9qZWN0DQotCVByb2plY3RUeXBlPSJWaXN1YWwgQysrIg0KLQlWZXJzaW9uPSI5LjAwIg0KLQlOYW1lPSJ1bmljb2RlZGF0YSINCi0JUHJvamVjdEdVSUQ9IntFQ0M3Q0VBQy1BNUU1LTQ1OEUtQkI5RS0yNDEzQ0M4NDc4ODF9Ig0KLQlSb290TmFtZXNwYWNlPSJ1bmljb2RlZGF0YSINCi0JS2V5d29yZD0iV2luMzJQcm9qIg0KLQlUYXJnZXRGcmFtZXdvcmtWZXJzaW9uPSIxOTY2MTMiDQotCT4NCi0JPFBsYXRmb3Jtcz4NCi0JCTxQbGF0Zm9ybQ0KLQkJCU5hbWU9IldpbjMyIg0KLQkJLz4NCi0JCTxQbGF0Zm9ybQ0KLQkJCU5hbWU9Ing2NCINCi0JCS8+DQotCTwvUGxhdGZvcm1zPg0KLQk8VG9vbEZpbGVzPg0KLQk8L1Rvb2xGaWxlcz4NCi0JPENvbmZpZ3VyYXRpb25zPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJEZWJ1Z3xXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWRfZC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxRDEyMDAwMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJEZWJ1Z3x4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkX2QudnNwcm9wczsuXHg2NC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MUQxMjAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFEMTIwMDAwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlJlbGVhc2V8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ceDY0LnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MUQxMjAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdJbnN0cnVtZW50fFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ccGdpbnN0cnVtZW50LnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxRDEyMDAwMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR0luc3RydW1lbnR8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ceDY0LnZzcHJvcHM7LlxwZ2luc3RydW1lbnQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxRDEyMDAwMCINCi0JCQkJVGFyZ2V0TWFjaGluZT0iMTciDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdVcGRhdGV8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7LlxwZ3VwZGF0ZS52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MUQxMjAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdVcGRhdGV8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ceDY0LnZzcHJvcHM7LlxwZ3VwZGF0ZS52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFEMTIwMDAwIg0KLQkJCQlUYXJnZXRNYWNoaW5lPSIxNyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQk8L0NvbmZpZ3VyYXRpb25zPg0KLQk8UmVmZXJlbmNlcz4NCi0JPC9SZWZlcmVuY2VzPg0KLQk8RmlsZXM+DQotCQk8RmlsdGVyDQotCQkJTmFtZT0iSGVhZGVyIEZpbGVzIg0KLQkJCT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcdW5pY29kZWRhdGFfZGIuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcdW5pY29kZW5hbWVfZGIuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCTwvRmlsdGVyPg0KLQkJPEZpbHRlcg0KLQkJCU5hbWU9IlNvdXJjZSBGaWxlcyINCi0JCQk+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXHVuaWNvZGVkYXRhLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQk8L0ZpbHRlcj4NCi0JPC9GaWxlcz4NCi0JPEdsb2JhbHM+DQotCTwvR2xvYmFscz4NCi08L1Zpc3VhbFN0dWRpb1Byb2plY3Q+DQpkaWZmIC0tZ2l0IGEvUEMvVlM5LjAvd2luc291bmQudmNwcm9qIGIvUEMvVlM5LjAvd2luc291bmQudmNwcm9qCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0N2RiZjI5Li4wMDAwMDAwCi0tLSBhL1BDL1ZTOS4wL3dpbnNvdW5kLnZjcHJvagorKysgL2Rldi9udWxsCkBAIC0xLDUyMyArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJXaW5kb3dzLTEyNTIiPz4NCi08VmlzdWFsU3R1ZGlvUHJvamVjdA0KLQlQcm9qZWN0VHlwZT0iVmlzdWFsIEMrKyINCi0JVmVyc2lvbj0iOS4wMCINCi0JTmFtZT0id2luc291bmQiDQotCVByb2plY3RHVUlEPSJ7MjhCNUQ3NzctRERGMi00QjZCLUIzNEYtMzFEOTM4ODEzODU2fSINCi0JUm9vdE5hbWVzcGFjZT0id2luc291bmQiDQotCUtleXdvcmQ9IldpbjMyUHJvaiINCi0JVGFyZ2V0RnJhbWV3b3JrVmVyc2lvbj0iMTk2NjEzIg0KLQk+DQotCTxQbGF0Zm9ybXM+DQotCQk8UGxhdGZvcm0NCi0JCQlOYW1lPSJXaW4zMiINCi0JCS8+DQotCQk8UGxhdGZvcm0NCi0JCQlOYW1lPSJ4NjQiDQotCQkvPg0KLQk8L1BsYXRmb3Jtcz4NCi0JPFRvb2xGaWxlcz4NCi0JPC9Ub29sRmlsZXM+DQotCTxDb25maWd1cmF0aW9ucz4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iRGVidWd8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkX2QudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0id2lubW0ubGliIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IkRlYnVnfHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWRfZC52c3Byb3BzOy5ceDY0LnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJ3aW5tbS5saWIiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9Indpbm1tLmxpYiINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJSZWxlYXNlfHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHg2NC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9Indpbm1tLmxpYiINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR0luc3RydW1lbnR8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7LlxwZ2luc3RydW1lbnQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9Indpbm1tLmxpYiINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR0luc3RydW1lbnR8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ceDY0LnZzcHJvcHM7LlxwZ2luc3RydW1lbnQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJ3aW5tbS5saWIiDQotCQkJCVRhcmdldE1hY2hpbmU9IjE3Ig0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHVXBkYXRlfFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ccGd1cGRhdGUudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9Indpbm1tLmxpYiINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR1VwZGF0ZXx4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7Llx4NjQudnNwcm9wczsuXHBndXBkYXRlLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0id2lubW0ubGliIg0KLQkJCQlUYXJnZXRNYWNoaW5lPSIxNyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQk8L0NvbmZpZ3VyYXRpb25zPg0KLQk8UmVmZXJlbmNlcz4NCi0JPC9SZWZlcmVuY2VzPg0KLQk8RmlsZXM+DQotCQk8RmlsdGVyDQotCQkJTmFtZT0iU291cmNlIEZpbGVzIg0KLQkJCUZpbHRlcj0iY3BwO2M7Y2M7Y3h4O2RlZjtvZGw7aWRsO2hwajtiYXQ7YXNtO2FzbXgiDQotCQkJVW5pcXVlSWRlbnRpZmllcj0iezRGQzczN0YxLUM3QTUtNDM3Ni1BMDY2LTJBMzJENzUyQTJGRn0iDQotCQkJPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUENcd2luc291bmQuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCTwvRmlsdGVyPg0KLQk8L0ZpbGVzPg0KLQk8R2xvYmFscz4NCi0JPC9HbG9iYWxzPg0KLTwvVmlzdWFsU3R1ZGlvUHJvamVjdD4NCmRpZmYgLS1naXQgYS9QQy9WUzkuMC94NjQudnNwcm9wcyBiL1BDL1ZTOS4wL3g2NC52c3Byb3BzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkMDZmNDcwLi4wMDAwMDAwCi0tLSBhL1BDL1ZTOS4wL3g2NC52c3Byb3BzCisrKyAvZGV2L251bGwKQEAgLTEsMjIgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iV2luZG93cy0xMjUyIj8+DQotPFZpc3VhbFN0dWRpb1Byb3BlcnR5U2hlZXQNCi0JUHJvamVjdFR5cGU9IlZpc3VhbCBDKysiDQotCVZlcnNpb249IjguMDAiDQotCU5hbWU9ImFtZDY0Ig0KLQlPdXRwdXREaXJlY3Rvcnk9IiQoU29sdXRpb25EaXIpXGFtZDY0XCINCi0JSW50ZXJtZWRpYXRlRGlyZWN0b3J5PSIkKFNvbHV0aW9uRGlyKSQoUGxhdGZvcm1OYW1lKS10ZW1wLSQoQ29uZmlndXJhdGlvbk5hbWUpXCQoUHJvamVjdE5hbWUpXCINCi0JPg0KLQk8VG9vbA0KLQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCUFkZGl0aW9uYWxPcHRpb25zPSIvR1MtIg0KLQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Il9XSU42NDtfTV9YNjQiDQotCS8+DQotCTxUb29sDQotCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQlUYXJnZXRNYWNoaW5lPSIxNyINCi0JLz4NCi0JPFVzZXJNYWNybw0KLQkJTmFtZT0iUHl0aG9uRXhlIg0KLQkJVmFsdWU9IiQoSE9TVF9QWVRIT04pIg0KLQkvPg0KLTwvVmlzdWFsU3R1ZGlvUHJvcGVydHlTaGVldD4NCmRpZmYgLS1naXQgYS9QQy9WUzkuMC94eGxpbWl0ZWQudmNwcm9qIGIvUEMvVlM5LjAveHhsaW1pdGVkLnZjcHJvagpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTNhYWFkNi4uMDAwMDAwMAotLS0gYS9QQy9WUzkuMC94eGxpbWl0ZWQudmNwcm9qCisrKyAvZGV2L251bGwKQEAgLTEsNDE3ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IldpbmRvd3MtMTI1MiI/Pg0KLTxWaXN1YWxTdHVkaW9Qcm9qZWN0DQotCVByb2plY3RUeXBlPSJWaXN1YWwgQysrIg0KLQlWZXJzaW9uPSI5LjAwIg0KLQlOYW1lPSJ4eGxpbWl0ZWQiDQotCVByb2plY3RHVUlEPSJ7Rjc0OUI4MjItQjQ4OS00Q0E1LUEzQUQtQ0UwNzhGNUYzMzhBfSINCi0JUm9vdE5hbWVzcGFjZT0ieHhsaW1pdGVkIg0KLQlLZXl3b3JkPSJXaW4zMlByb2oiDQotCVRhcmdldEZyYW1ld29ya1ZlcnNpb249IjE5NjYxMyINCi0JPg0KLQk8UGxhdGZvcm1zPg0KLQkJPFBsYXRmb3JtDQotCQkJTmFtZT0iV2luMzIiDQotCQkvPg0KLQkJPFBsYXRmb3JtDQotCQkJTmFtZT0ieDY0Ig0KLQkJLz4NCi0JPC9QbGF0Zm9ybXM+DQotCTxUb29sRmlsZXM+DQotCTwvVG9vbEZpbGVzPg0KLQk8Q29uZmlndXJhdGlvbnM+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iTkRFQlVHO19XSU4zMjtfV0lORExMO1B5X0xJTUlURURfQVBJOyQoTk9JTkhFUklUKSINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0id3MyXzMyLmxpYiINCi0JCQkJSWdub3JlRGVmYXVsdExpYnJhcnlOYW1lcz0ibGliYyINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MUQxMTAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZXx4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7Llx4NjQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJ3czJfMzIubGliIg0KLQkJCQlJZ25vcmVEZWZhdWx0TGlicmFyeU5hbWVzPSJsaWJjIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxRDExMDAwMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR0luc3RydW1lbnR8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7LlxwZ2luc3RydW1lbnQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJQeV9MSU1JVEVEX0FQSSINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0id3MyXzMyLmxpYiINCi0JCQkJSWdub3JlRGVmYXVsdExpYnJhcnlOYW1lcz0ibGliYyINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MUQxMTAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdJbnN0cnVtZW50fHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHg2NC52c3Byb3BzOy5ccGdpbnN0cnVtZW50LnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0id3MyXzMyLmxpYiINCi0JCQkJSWdub3JlRGVmYXVsdExpYnJhcnlOYW1lcz0ibGliYyINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MUQxMTAwMDAiDQotCQkJCVRhcmdldE1hY2hpbmU9IjE3Ig0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHVXBkYXRlfFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ccGd1cGRhdGUudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJQeV9MSU1JVEVEX0FQSSINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0id3MyXzMyLmxpYiINCi0JCQkJSWdub3JlRGVmYXVsdExpYnJhcnlOYW1lcz0ibGliYyINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MUQxMTAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdVcGRhdGV8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ceDY0LnZzcHJvcHM7LlxwZ3VwZGF0ZS52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IndzMl8zMi5saWIiDQotCQkJCUlnbm9yZURlZmF1bHRMaWJyYXJ5TmFtZXM9ImxpYmMiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFEMTEwMDAwIg0KLQkJCQlUYXJnZXRNYWNoaW5lPSIxNyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQk8L0NvbmZpZ3VyYXRpb25zPg0KLQk8UmVmZXJlbmNlcz4NCi0JPC9SZWZlcmVuY2VzPg0KLQk8RmlsZXM+DQotCQk8RmlsdGVyDQotCQkJTmFtZT0iU291cmNlIEZpbGVzIg0KLQkJCT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNceHhsaW1pdGVkLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQk8L0ZpbHRlcj4NCi0JPC9GaWxlcz4NCi0JPEdsb2JhbHM+DQotCTwvR2xvYmFscz4NCi08L1Zpc3VhbFN0dWRpb1Byb2plY3Q+DQpkaWZmIC0tZ2l0IGEvUEMvYmRpc3Rfd2luaW5zdC9hcmNoaXZlLmggYi9QQy9iZGlzdF93aW5pbnN0L2FyY2hpdmUuaAppbmRleCAzMWE3ODA1Li41MGZmMTVjIDEwMDY0NAotLS0gYS9QQy9iZGlzdF93aW5pbnN0L2FyY2hpdmUuaAorKysgYi9QQy9iZGlzdF93aW5pbnN0L2FyY2hpdmUuaApAQCAtMSwxMCArMSw5IEBACiAvKgotICBJTVBPUlRBTlQgTk9URTogSUYgVEhJUyBGSUxFIElTIENIQU5HRUQsIFdJTklOU1QtNi5FWEUgTVVTVCBCRSBSRUNPTVBJTEVECi0gIFdJVEggVEhFIE1TVkM2IFdJTklOU1QuRFNXIFdPUktTUEFDRSBGSUxFIE1BTlVBTExZLCBBTkQgV0lOSU5TVC03LjEuRVhFIE1VU1QKLSAgQkUgUkVDT01QSUxFRCBXSVRIIFRIRSBNU1ZDIDIwMDMuTkVUIFdJTklOU1QtNy4xLlZDUFJPSiBGSUxFIE1BTlVBTExZLgorICBJTVBPUlRBTlQgTk9URTogSUYgVEhJUyBGSUxFIElTIENIQU5HRUQsIFBDQlVJTERcQkRJU1RfV0lOSU5TVC5WQ1hQUk9KIE1VU1QKKyAgQkUgUkVCVUlMVCBBUyBXRUxMLgogCi0gIElGIENIQU5HRVMgVE8gVEhJUyBGSUxFIEFSRSBDSEVDS0VEIElOVE8gUFlUSE9OIENWUywgVEhFIFJFQ09NUElMRUQgQklOQVJJRVMKLSAgTVVTVCBCRSBDSEVDS0VEIElOIEFTIFdFTEwhCisgIElGIENIQU5HRVMgVE8gVEhJUyBGSUxFIEFSRSBDSEVDS0VEIElOLCBUSEUgUkVDT01QSUxFRCBCSU5BUklFUyBNVVNUIEJFCisgIENIRUNLRUQgSU4gQVMgV0VMTCEKICovCiAKICNwcmFnbWEgcGFjaygxKQpkaWZmIC0tZ2l0IGEvUEMvYmRpc3Rfd2luaW5zdC9iZGlzdF93aW5pbnN0LnZjeHByb2ogYi9QQy9iZGlzdF93aW5pbnN0L2JkaXN0X3dpbmluc3QudmN4cHJvagpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yYWI0NzRlCi0tLSAvZGV2L251bGwKKysrIGIvUEMvYmRpc3Rfd2luaW5zdC9iZGlzdF93aW5pbnN0LnZjeHByb2oKQEAgLTAsMCArMSwxMDMgQEAKK++7vzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8UHJvamVjdCBEZWZhdWx0VGFyZ2V0cz0iQnVpbGQiIFRvb2xzVmVyc2lvbj0iNC4wIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KKyAgPEl0ZW1Hcm91cCBMYWJlbD0iUHJvamVjdENvbmZpZ3VyYXRpb25zIj4KKyAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iRGVidWd8V2luMzIiPgorICAgICAgPENvbmZpZ3VyYXRpb24+RGVidWc8L0NvbmZpZ3VyYXRpb24+CisgICAgICA8UGxhdGZvcm0+V2luMzI8L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IkRlYnVnfHg2NCI+CisgICAgICA8Q29uZmlndXJhdGlvbj5EZWJ1ZzwvQ29uZmlndXJhdGlvbj4KKyAgICAgIDxQbGF0Zm9ybT54NjQ8L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IlBHSW5zdHJ1bWVudHxXaW4zMiI+CisgICAgICA8Q29uZmlndXJhdGlvbj5QR0luc3RydW1lbnQ8L0NvbmZpZ3VyYXRpb24+CisgICAgICA8UGxhdGZvcm0+V2luMzI8L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IlBHSW5zdHJ1bWVudHx4NjQiPgorICAgICAgPENvbmZpZ3VyYXRpb24+UEdJbnN0cnVtZW50PC9Db25maWd1cmF0aW9uPgorICAgICAgPFBsYXRmb3JtPng2NDwvUGxhdGZvcm0+CisgICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KKyAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iUEdVcGRhdGV8V2luMzIiPgorICAgICAgPENvbmZpZ3VyYXRpb24+UEdVcGRhdGU8L0NvbmZpZ3VyYXRpb24+CisgICAgICA8UGxhdGZvcm0+V2luMzI8L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IlBHVXBkYXRlfHg2NCI+CisgICAgICA8Q29uZmlndXJhdGlvbj5QR1VwZGF0ZTwvQ29uZmlndXJhdGlvbj4KKyAgICAgIDxQbGF0Zm9ybT54NjQ8L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IlJlbGVhc2V8V2luMzIiPgorICAgICAgPENvbmZpZ3VyYXRpb24+UmVsZWFzZTwvQ29uZmlndXJhdGlvbj4KKyAgICAgIDxQbGF0Zm9ybT5XaW4zMjwvUGxhdGZvcm0+CisgICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KKyAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iUmVsZWFzZXx4NjQiPgorICAgICAgPENvbmZpZ3VyYXRpb24+UmVsZWFzZTwvQ29uZmlndXJhdGlvbj4KKyAgICAgIDxQbGF0Zm9ybT54NjQ8L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgIDwvSXRlbUdyb3VwPgorICA8UHJvcGVydHlHcm91cCBMYWJlbD0iR2xvYmFscyI+CisgICAgPFByb2plY3RHdWlkPntFQjFDMTlDMS0xRjE4LTQyMUUtOTczNS1DQUVFNjlEQzZBM0N9PC9Qcm9qZWN0R3VpZD4KKyAgICA8Um9vdE5hbWVzcGFjZT53aW5pbnN0PC9Sb290TmFtZXNwYWNlPgorICAgIDxNYWtlVmVyc2lvbkluZm9CZWZvcmVUYXJnZXQ+Q2xDb21waWxlPC9NYWtlVmVyc2lvbkluZm9CZWZvcmVUYXJnZXQ+CisgICAgPFN1cHBvcnRQR08+ZmFsc2U8L1N1cHBvcnRQR08+CisgIDwvUHJvcGVydHlHcm91cD4KKyAgPEltcG9ydCBQcm9qZWN0PSIuLlwuLlxQQ0J1aWxkXHB5dGhvbi5wcm9wcyIgLz4KKyAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAuRGVmYXVsdC5wcm9wcyIgLz4KKyAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgorICAgIDxDb25maWd1cmF0aW9uVHlwZT5BcHBsaWNhdGlvbjwvQ29uZmlndXJhdGlvblR5cGU+CisgICAgPFVzZU9mTWZjPmZhbHNlPC9Vc2VPZk1mYz4KKyAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgorICA8L1Byb3BlcnR5R3JvdXA+CisgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnByb3BzIiAvPgorICA8SW1wb3J0R3JvdXAgTGFiZWw9IkV4dGVuc2lvblNldHRpbmdzIj4KKyAgPC9JbXBvcnRHcm91cD4KKyAgPEltcG9ydEdyb3VwIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+CisgICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgorICAgIDxJbXBvcnQgUHJvamVjdD0iLi5cLi5cUENCdWlsZFxweXByb2plY3QucHJvcHMiIC8+CisgIDwvSW1wb3J0R3JvdXA+CisgIDxQcm9wZXJ0eUdyb3VwPgorICAgIDxfUHJvamVjdEZpbGVWZXJzaW9uPjEwLjAuMzAzMTkuMTwvX1Byb2plY3RGaWxlVmVyc2lvbj4KKyAgICA8T3V0RGlyPiQoUHlTb3VyY2VQYXRoKWxpYlxkaXN0dXRpbHNcY29tbWFuZFw8L091dERpcj4KKyAgICA8TGlua0luY3JlbWVudGFsPmZhbHNlPC9MaW5rSW5jcmVtZW50YWw+CisgICAgPFRhcmdldE5hbWU+d2luaW5zdC0kKFZpc3VhbFN0dWRpb1ZlcnNpb24pPC9UYXJnZXROYW1lPgorICAgIDxUYXJnZXROYW1lIENvbmRpdGlvbj0iJChQbGF0Zm9ybSkgPT0gJ3g2NCciPiQoVGFyZ2V0TmFtZSktYW1kNjQ8L1RhcmdldE5hbWU+CisgICAgPFRhcmdldEV4dD4uZXhlPC9UYXJnZXRFeHQ+CisgIDwvUHJvcGVydHlHcm91cD4KKyAgPEl0ZW1EZWZpbml0aW9uR3JvdXA+CisgICAgPE1pZGw+CisgICAgICA8VHlwZUxpYnJhcnlOYW1lPiQoT3V0RGlyKXdpbmluc3QudGxiPC9UeXBlTGlicmFyeU5hbWU+CisgICAgPC9NaWRsPgorICAgIDxDbENvbXBpbGU+CisgICAgICA8T3B0aW1pemF0aW9uPk1pblNwYWNlPC9PcHRpbWl6YXRpb24+CisgICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4kKFB5U291cmNlUGF0aClNb2R1bGVzXHpsaWI7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KKyAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5fQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURTslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+CisgICAgPC9DbENvbXBpbGU+CisgICAgPFJlc291cmNlQ29tcGlsZT4KKyAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPiQoUHlTb3VyY2VQYXRoKVBDXGJkaXN0X3dpbmluc3Q7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KKyAgICA8L1Jlc291cmNlQ29tcGlsZT4KKyAgICA8TGluaz4KKyAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPmNvbWN0bDMyLmxpYjtpbWFnZWhscC5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KKyAgICA8L0xpbms+CisgIDwvSXRlbURlZmluaXRpb25Hcm91cD4KKyAgPEl0ZW1Hcm91cD4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9ImV4dHJhY3QuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Imluc3RhbGwuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXE1vZHVsZXNcemxpYlxhZGxlcjMyLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlxNb2R1bGVzXHpsaWJcY3JjMzIuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXE1vZHVsZXNcemxpYlxpbmZmYXN0LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlxNb2R1bGVzXHpsaWJcaW5mbGF0ZS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cTW9kdWxlc1x6bGliXGluZnRyZWVzLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlxNb2R1bGVzXHpsaWJcenV0aWwuYyIgLz4KKyAgPC9JdGVtR3JvdXA+CisgIDxJdGVtR3JvdXA+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSJhcmNoaXZlLmgiIC8+CisgIDwvSXRlbUdyb3VwPgorICA8SXRlbUdyb3VwPgorICAgIDxSZXNvdXJjZUNvbXBpbGUgSW5jbHVkZT0iaW5zdGFsbC5yYyIgLz4KKyAgPC9JdGVtR3JvdXA+CisgIDxJdGVtR3JvdXA+CisgICAgPE5vbmUgSW5jbHVkZT0iUHl0aG9uUG93ZXJlZC5ibXAiIC8+CisgIDwvSXRlbUdyb3VwPgorICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC50YXJnZXRzIiAvPgorICA8SW1wb3J0R3JvdXAgTGFiZWw9IkV4dGVuc2lvblRhcmdldHMiPgorICA8L0ltcG9ydEdyb3VwPgorPC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1BDYnVpbGQvYmRpc3Rfd2luaW5zdC52Y3hwcm9qLmZpbHRlcnMgYi9QQy9iZGlzdF93aW5pbnN0L2JkaXN0X3dpbmluc3QudmN4cHJvai5maWx0ZXJzCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBQQ2J1aWxkL2JkaXN0X3dpbmluc3QudmN4cHJvai5maWx0ZXJzCnJlbmFtZSB0byBQQy9iZGlzdF93aW5pbnN0L2JkaXN0X3dpbmluc3QudmN4cHJvai5maWx0ZXJzCmRpZmYgLS1naXQgYS9QQy9iZGlzdF93aW5pbnN0L2J1aWxkLmJhdCBiL1BDL2JkaXN0X3dpbmluc3QvYnVpbGQuYmF0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVlNjg1NjcKLS0tIC9kZXYvbnVsbAorKysgYi9QQy9iZGlzdF93aW5pbnN0L2J1aWxkLmJhdApAQCAtMCwwICsxLDIyIEBACitAZWNobyBvZmYKK3NldGxvY2FsCisKK3NldCBEPSV+ZHAwCitzZXQgUENCVUlMRD0lfmRwMC4uXC4uXFBDQnVpbGRcCisKKworZWNobyBCdWlsZGluZyBMaWJcZGlzdHV0aWxzXGNvbW1hbmRcd2luaW5zdC14eC4wLmV4ZQorCitjYWxsICIlUENCVUlMRCVlbnYuYmF0IiB4ODYKK2lmIGVycm9ybGV2ZWwgMSBnb3RvIDplb2YKKworbXNidWlsZCAiJUQlYmRpc3Rfd2luaW5zdC52Y3hwcm9qIiAiL3A6U29sdXRpb25EaXI9JVBDQlVJTEQlXCIgL3A6Q29uZmlndXJhdGlvbj1SZWxlYXNlIC9wOlBsYXRmb3JtPVdpbjMyCitpZiBlcnJvcmxldmVsIDEgZ290byA6ZW9mCisKKworZWNobyBCdWlsZGluZyBMaWJcZGlzdHV0aWxzXGNvbW1hbmRcd2luaW5zdC14eC4wLWFtZDY0LmV4ZQorCitjYWxsICIlUENCVUlMRCVlbnYuYmF0IiB4ODZfYW1kNjQKK2lmIGVycm9ybGV2ZWwgMSBnb3RvIDplb2YKKworbXNidWlsZCAiJUQlYmRpc3Rfd2luaW5zdC52Y3hwcm9qIiAiL3A6U29sdXRpb25EaXI9JVBDQlVJTEQlXCIgL3A6Q29uZmlndXJhdGlvbj1SZWxlYXNlIC9wOlBsYXRmb3JtPXg2NApkaWZmIC0tZ2l0IGEvUEMvYmRpc3Rfd2luaW5zdC9leHRyYWN0LmMgYi9QQy9iZGlzdF93aW5pbnN0L2V4dHJhY3QuYwppbmRleCBhZWM4ZWRhLi4wMjQ5ZDlmIDEwMDY0NAotLS0gYS9QQy9iZGlzdF93aW5pbnN0L2V4dHJhY3QuYworKysgYi9QQy9iZGlzdF93aW5pbnN0L2V4dHJhY3QuYwpAQCAtMSwxMCArMSw5IEBACiAvKgotICBJTVBPUlRBTlQgTk9URTogSUYgVEhJUyBGSUxFIElTIENIQU5HRUQsIFdJTklOU1QtNi5FWEUgTVVTVCBCRSBSRUNPTVBJTEVECi0gIFdJVEggVEhFIE1TVkM2IFdJTklOU1QuRFNXIFdPUktTUEFDRSBGSUxFIE1BTlVBTExZLCBBTkQgV0lOSU5TVC03LjEuRVhFIE1VU1QKLSAgQkUgUkVDT01QSUxFRCBXSVRIIFRIRSBNU1ZDIDIwMDMuTkVUIFdJTklOU1QtNy4xLlZDUFJPSiBGSUxFIE1BTlVBTExZLgorICBJTVBPUlRBTlQgTk9URTogSUYgVEhJUyBGSUxFIElTIENIQU5HRUQsIFBDQlVJTERcQkRJU1RfV0lOSU5TVC5WQ1hQUk9KIE1VU1QKKyAgQkUgUkVCVUlMVCBBUyBXRUxMLgogCi0gIElGIENIQU5HRVMgVE8gVEhJUyBGSUxFIEFSRSBDSEVDS0VEIElOVE8gUFlUSE9OIENWUywgVEhFIFJFQ09NUElMRUQgQklOQVJJRVMKLSAgTVVTVCBCRSBDSEVDS0VEIElOIEFTIFdFTEwhCisgIElGIENIQU5HRVMgVE8gVEhJUyBGSUxFIEFSRSBDSEVDS0VEIElOLCBUSEUgUkVDT01QSUxFRCBCSU5BUklFUyBNVVNUIEJFCisgIENIRUNLRUQgSU4gQVMgV0VMTCEKICovCiAKICNpbmNsdWRlIDx3aW5kb3dzLmg+CmRpZmYgLS1naXQgYS9QQy9iZGlzdF93aW5pbnN0L2luc3RhbGwuYyBiL1BDL2JkaXN0X3dpbmluc3QvaW5zdGFsbC5jCmluZGV4IGEwMjMyZDIuLmJiMmViMzQgMTAwNjQ0Ci0tLSBhL1BDL2JkaXN0X3dpbmluc3QvaW5zdGFsbC5jCisrKyBiL1BDL2JkaXN0X3dpbmluc3QvaW5zdGFsbC5jCkBAIC0xLDEwICsxLDkgQEAKIC8qCi0gIElNUE9SVEFOVCBOT1RFOiBJRiBUSElTIEZJTEUgSVMgQ0hBTkdFRCwgV0lOSU5TVC02LkVYRSBNVVNUIEJFIFJFQ09NUElMRUQKLSAgV0lUSCBUSEUgTVNWQzYgV0lOSU5TVC5EU1cgV09SS1NQQUNFIEZJTEUgTUFOVUFMTFksIEFORCBXSU5JTlNULTcuMS5FWEUgTVVTVAotICBCRSBSRUNPTVBJTEVEIFdJVEggVEhFIE1TVkMgMjAwMy5ORVQgV0lOSU5TVC03LjEuVkNQUk9KIEZJTEUgTUFOVUFMTFkuCisgIElNUE9SVEFOVCBOT1RFOiBJRiBUSElTIEZJTEUgSVMgQ0hBTkdFRCwgUENCVUlMRFxCRElTVF9XSU5JTlNULlZDWFBST0ogTVVTVAorICBCRSBSRUJVSUxUIEFTIFdFTEwuCiAKLSAgSUYgQ0hBTkdFUyBUTyBUSElTIEZJTEUgQVJFIENIRUNLRUQgSU5UTyBQWVRIT04gQ1ZTLCBUSEUgUkVDT01QSUxFRCBCSU5BUklFUwotICBNVVNUIEJFIENIRUNLRUQgSU4gQVMgV0VMTCEKKyAgSUYgQ0hBTkdFUyBUTyBUSElTIEZJTEUgQVJFIENIRUNLRUQgSU4sIFRIRSBSRUNPTVBJTEVEIEJJTkFSSUVTIE1VU1QgQkUKKyAgQ0hFQ0tFRCBJTiBBUyBXRUxMIQogKi8KIAogLyoKQEAgLTEyMTYsNyArMTIxNSw3IEBACiAKICNpbmNsdWRlIDxwcnNodC5oPgogCi1CT09MIENBTExCQUNLCitJTlRfUFRSIENBTExCQUNLCiBJbnRyb0RsZ1Byb2MoSFdORCBod25kLCBVSU5UIG1zZywgV1BBUkFNIHdQYXJhbSwgTFBBUkFNIGxQYXJhbSkKIHsKICAgICBMUE5NSERSIGxwbm07CkBAIC0xNTY1LDcgKzE1NjQsNyBAQAogICAgIHJldHVybiBvbGRfc2NoZW1lOwogfQogCi1CT09MIENBTExCQUNLCitJTlRfUFRSIENBTExCQUNLCiBTZWxlY3RQeXRob25EbGdQcm9jKEhXTkQgaHduZCwgVUlOVCBtc2csIFdQQVJBTSB3UGFyYW0sIExQQVJBTSBsUGFyYW0pCiB7CiAgICAgTFBOTUhEUiBscG5tOwpAQCAtMTg2Nyw3ICsxODY2LDcgQEAKICAgICAgICAgZmNsb3NlKGxvZ2ZpbGUpOwogfQogCi1CT09MIENBTExCQUNLCitJTlRfUFRSIENBTExCQUNLCiBJbnN0YWxsRmlsZXNEbGdQcm9jKEhXTkQgaHduZCwgVUlOVCBtc2csIFdQQVJBTSB3UGFyYW0sIExQQVJBTSBsUGFyYW0pCiB7CiAgICAgTFBOTUhEUiBscG5tOwpAQCAtMjAyMiw3ICsyMDIxLDcgQEAKIH0KIAogCi1CT09MIENBTExCQUNLCitJTlRfUFRSIENBTExCQUNLCiBGaW5pc2hlZERsZ1Byb2MoSFdORCBod25kLCBVSU5UIG1zZywgV1BBUkFNIHdQYXJhbSwgTFBBUkFNIGxQYXJhbSkKIHsKICAgICBMUE5NSERSIGxwbm07CkBAIC0yMTk4LDIzICsyMTk3LDYgQEAKICAgICByZXR1cm4gVFJVRTsKIH0KIAotLy8gUmV0dXJucyBUUlVFIGlmIHRoZSBwbGF0Zm9ybSBzdXBwb3J0cyBVQUMuCi1CT09MIFBsYXRmb3JtU3VwcG9ydHNVQUMoKQotewotICAgIC8vIE5vdGUgdGhhdCB3aW4yayBkb2VzIHNlZW0gdG8gc3VwcG9ydCBTaGVsbEV4ZWN1dGUgd2l0aCAncnVuYXMnLAotICAgIC8vIGJ1dCBkb2VzICpub3QqIHN1cHBvcnQgSXNVc2VyQW5BZG1pbiAtIHNvIHdlIGp1c3QgcHJldGVuZCB0aGluZ3MKLSAgICAvLyBvbmx5IHdvcmsgb24gWFAgYW5kIGxhdGVyLgotICAgIEJPT0wgYklzV2luZG93c1hQb3JMYXRlcjsKLSAgICBPU1ZFUlNJT05JTkZPIHdpbnZlcmluZm87Ci0gICAgd2ludmVyaW5mby5kd09TVmVyc2lvbkluZm9TaXplID0gc2l6ZW9mKHdpbnZlcmluZm8pOwotICAgIGlmICghR2V0VmVyc2lvbkV4KCZ3aW52ZXJpbmZvKSkKLSAgICAgICAgcmV0dXJuIEZBTFNFOyAvLyBzb21ldGhpbmcgYmFkIGhhcyBnb25lIHdyb25nCi0gICAgYklzV2luZG93c1hQb3JMYXRlciA9Ci0gICAgICAgKCAod2ludmVyaW5mby5kd01ham9yVmVyc2lvbiA+IDUpIHx8Ci0gICAgICAgKCAod2ludmVyaW5mby5kd01ham9yVmVyc2lvbiA9PSA1KSAmJiAod2ludmVyaW5mby5kd01pbm9yVmVyc2lvbiA+PSAxKSApKTsKLSAgICByZXR1cm4gYklzV2luZG93c1hQb3JMYXRlcjsKLX0KLQogLy8gU3Bhd24gb3Vyc2VsZiBhcyBhbiBlbGV2YXRlZCBhcHBsaWNhdGlvbi4gIE9uIGZhaWx1cmUsIGEgbWVzc2FnZSBpcwogLy8gZGlzcGxheWVkIHRvIHRoZSB1c2VyIC0gYnV0IHRoaXMgYXBwIHdpbGwgYWx3YXlzIHRlcm1pbmF0ZSwgZXZlbgogLy8gb24gZXJyb3IuCkBAIC0yMjcwLDcgKzIyNTIsNyBAQAogCiAgICAgLy8gU2VlIGlmIHdlIG5lZWQgdG8gZG8gdGhlIFZpc3RhIFVBQyBtYWdpYy4KICAgICBpZiAoc3RyY21wKHVzZXJfYWNjZXNzX2NvbnRyb2wsICJmb3JjZSIpPT0wKSB7Ci0gICAgICAgIGlmIChQbGF0Zm9ybVN1cHBvcnRzVUFDKCkgJiYgIU15SXNVc2VyQW5BZG1pbigpKSB7CisgICAgICAgIGlmICghTXlJc1VzZXJBbkFkbWluKCkpIHsKICAgICAgICAgICAgIFNwYXduVUFDKCk7CiAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAgfQpAQCAtMjI3OCw3ICsyMjYwLDcgQEAKICAgICB9IGVsc2UgaWYgKHN0cmNtcCh1c2VyX2FjY2Vzc19jb250cm9sLCAiYXV0byIpPT0wKSB7CiAgICAgICAgIC8vIENoZWNrIGlmIGl0IGxvb2tzIGxpa2Ugd2UgbmVlZCBVQUMgY29udHJvbCwgYmFzZWQKICAgICAgICAgLy8gb24gaG93IFB5dGhvbiBpdHNlbGYgd2FzIGluc3RhbGxlZC4KLSAgICAgICAgaWYgKFBsYXRmb3JtU3VwcG9ydHNVQUMoKSAmJiAhTXlJc1VzZXJBbkFkbWluKCkgJiYgTmVlZEF1dG9VQUMoKSkgeworICAgICAgICBpZiAoIU15SXNVc2VyQW5BZG1pbigpICYmIE5lZWRBdXRvVUFDKCkpIHsKICAgICAgICAgICAgIFNwYXduVUFDKCk7CiAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvUEMvYmRpc3Rfd2luaW5zdC9pbnN0YWxsLnJjIGIvUEMvYmRpc3Rfd2luaW5zdC9pbnN0YWxsLnJjCmluZGV4IGQwMThiNDguLmRmYTJmZmMgMTAwNjQ0Ci0tLSBhL1BDL2JkaXN0X3dpbmluc3QvaW5zdGFsbC5yYworKysgYi9QQy9iZGlzdF93aW5pbnN0L2luc3RhbGwucmMKQEAgLTEsOTcgKzEsMjAgQEAKIC8qCi0gIElNUE9SVEFOVCBOT1RFOiBJRiBUSElTIEZJTEUgSVMgQ0hBTkdFRCwgV0lOSU5TVC02LkVYRSBNVVNUIEJFIFJFQ09NUElMRUQKLSAgV0lUSCBUSEUgTVNWQzYgV0lOSU5TVC5EU1cgV09SS1NQQUNFIEZJTEUgTUFOVUFMTFksIEFORCBXSU5JTlNULTcuMS5FWEUgTVVTVAotICBCRSBSRUNPTVBJTEVEIFdJVEggVEhFIE1TVkMgMjAwMy5ORVQgV0lOSU5TVC03LjEuVkNQUk9KIEZJTEUgTUFOVUFMTFkuCisgIElNUE9SVEFOVCBOT1RFOiBJRiBUSElTIEZJTEUgSVMgQ0hBTkdFRCwgUENCVUlMRFxCRElTVF9XSU5JTlNULlZDWFBST0ogTVVTVAorICBCRSBSRUJVSUxUIEFTIFdFTEwuCiAKLSAgSUYgQ0hBTkdFUyBUTyBUSElTIEZJTEUgQVJFIENIRUNLRUQgSU5UTyBQWVRIT04gQ1ZTLCBUSEUgUkVDT01QSUxFRCBCSU5BUklFUwotICBNVVNUIEJFIENIRUNLRUQgSU4gQVMgV0VMTCEKKyAgSUYgQ0hBTkdFUyBUTyBUSElTIEZJTEUgQVJFIENIRUNLRUQgSU4sIFRIRSBSRUNPTVBJTEVEIEJJTkFSSUVTIE1VU1QgQkUKKyAgQ0hFQ0tFRCBJTiBBUyBXRUxMIQogKi8KIAotLy9NaWNyb3NvZnQgRGV2ZWxvcGVyIFN0dWRpbyBnZW5lcmF0ZWQgcmVzb3VyY2Ugc2NyaXB0LgotLy8KKyNpbmNsdWRlIDx3aW5yZXMuaD4KICNpbmNsdWRlICJyZXNvdXJjZS5oIgogCi0jZGVmaW5lIEFQU1RVRElPX1JFQURPTkxZX1NZTUJPTFMKLS8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi0vLwotLy8gR2VuZXJhdGVkIGZyb20gdGhlIFRFWFRJTkNMVURFIDIgcmVzb3VyY2UuCi0vLwotI2luY2x1ZGUgImFmeHJlcy5oIgotCi0vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwotI3VuZGVmIEFQU1RVRElPX1JFQURPTkxZX1NZTUJPTFMKLQotLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLS8vIE5ldXRyYWwgcmVzb3VyY2VzCi0KLSNpZiAhZGVmaW5lZChBRlhfUkVTT1VSQ0VfRExMKSB8fCBkZWZpbmVkKEFGWF9UQVJHX05FVSkKLSNpZmRlZiBfV0lOMzIKIExBTkdVQUdFIExBTkdfTkVVVFJBTCwgU1VCTEFOR19ORVVUUkFMCiAjcHJhZ21hIGNvZGVfcGFnZSgxMjUyKQotI2VuZGlmIC8vX1dJTjMyCi0KLS8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi0vLwotLy8gQml0bWFwCi0vLwogCiBJREJfQklUTUFQICAgICAgICAgICAgICBCSVRNQVAgIERJU0NBUkRBQkxFICAgICAiUHl0aG9uUG93ZXJlZC5ibXAiCi0jZW5kaWYgICAgLy8gTmV1dHJhbCByZXNvdXJjZXMKLS8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCiAKIAotLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLS8vIEdlcm1hbiAoR2VybWFueSkgcmVzb3VyY2VzCi0KLSNpZiAhZGVmaW5lZChBRlhfUkVTT1VSQ0VfRExMKSB8fCBkZWZpbmVkKEFGWF9UQVJHX0RFVSkKLSNpZmRlZiBfV0lOMzIKLUxBTkdVQUdFIExBTkdfR0VSTUFOLCBTVUJMQU5HX0dFUk1BTgotI3ByYWdtYSBjb2RlX3BhZ2UoMTI1MikKLSNlbmRpZiAvL19XSU4zMgotCi0jaWZkZWYgQVBTVFVESU9fSU5WT0tFRAotLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLS8vCi0vLyBURVhUSU5DTFVERQotLy8KLQotMSBURVhUSU5DTFVERSBESVNDQVJEQUJMRSAKLUJFR0lOCi0gICAgInJlc291cmNlLmhcMCIKLUVORAotCi0yIFRFWFRJTkNMVURFIERJU0NBUkRBQkxFIAotQkVHSU4KLSAgICAiI2luY2x1ZGUgIiJhZnhyZXMuaCIiXHJcbiIKLSAgICAiXDAiCi1FTkQKLQotMyBURVhUSU5DTFVERSBESVNDQVJEQUJMRSAKLUJFR0lOCi0gICAgIlxyXG4iCi0gICAgIlwwIgotRU5ECi0KLSNlbmRpZiAgICAvLyBBUFNUVURJT19JTlZPS0VECi0KLSNlbmRpZiAgICAvLyBHZXJtYW4gKEdlcm1hbnkpIHJlc291cmNlcwotLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLQotCi0vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwotLy8gRW5nbGlzaCAoVS5TLikgcmVzb3VyY2VzCi0KLSNpZiAhZGVmaW5lZChBRlhfUkVTT1VSQ0VfRExMKSB8fCBkZWZpbmVkKEFGWF9UQVJHX0VOVSkKLSNpZmRlZiBfV0lOMzIKLUxBTkdVQUdFIExBTkdfRU5HTElTSCwgU1VCTEFOR19FTkdMSVNIX1VTCi0jcHJhZ21hIGNvZGVfcGFnZSgxMjUyKQotI2VuZGlmIC8vX1dJTjMyCi0KLS8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi0vLwotLy8gRGlhbG9nCi0vLwotCiBJRERfSU5UUk8gRElBTE9HRVggMCwgMCwgMzc5LCAxNzgKIFNUWUxFIFdTX0NISUxEIHwgV1NfRElTQUJMRUQgfCBXU19DQVBUSU9OCiBDQVBUSU9OICJTZXR1cCIKQEAgLTE1Miw3OCArNzUsMyBAQAogICAgIEVESVRURVhUICAgICAgICBJRENfSU5GTywxMjUsNDAsMjQ3LDEzMSxFU19NVUxUSUxJTkUgfCBFU19SRUFET05MWSB8IAogICAgICAgICAgICAgICAgICAgICBXU19WU0NST0xMIHwgV1NfSFNDUk9MTCB8IE5PVCBXU19UQUJTVE9QCiBFTkQKLQotCi0vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwotLy8KLS8vIERFU0lHTklORk8KLS8vCi0KLSNpZmRlZiBBUFNUVURJT19JTlZPS0VECi1HVUlERUxJTkVTIERFU0lHTklORk8gRElTQ0FSREFCTEUgCi1CRUdJTgotICAgIElERF9JTlRSTywgRElBTE9HCi0gICAgQkVHSU4KLSAgICAgICAgTEVGVE1BUkdJTiwgNwotICAgICAgICBSSUdIVE1BUkdJTiwgMzcyCi0gICAgICAgIFZFUlRHVUlERSwgMTI1Ci0gICAgICAgIFZFUlRHVUlERSwgMzcyCi0gICAgICAgIFRPUE1BUkdJTiwgNwotICAgICAgICBCT1RUT01NQVJHSU4sIDE3MQotICAgICAgICBIT1JaR1VJREUsIDgKLSAgICAgICAgSE9SWkdVSURFLCAzMQotICAgIEVORAotCi0gICAgSUREX1NFTEVDVFBZVEhPTiwgRElBTE9HCi0gICAgQkVHSU4KLSAgICAgICAgTEVGVE1BUkdJTiwgNwotICAgICAgICBSSUdIVE1BUkdJTiwgMzcyCi0gICAgICAgIFZFUlRHVUlERSwgMTI1Ci0gICAgICAgIFZFUlRHVUlERSwgMzcyCi0gICAgICAgIFRPUE1BUkdJTiwgNwotICAgICAgICBCT1RUT01NQVJHSU4sIDE3MQotICAgICAgICBIT1JaR1VJREUsIDgKLSAgICAgICAgSE9SWkdVSURFLCA0MQotICAgIEVORAotCi0gICAgSUREX0lOU1RBTExGSUxFUywgRElBTE9HCi0gICAgQkVHSU4KLSAgICAgICAgTEVGVE1BUkdJTiwgNwotICAgICAgICBSSUdIVE1BUkdJTiwgMzcyCi0gICAgICAgIFZFUlRHVUlERSwgMTI1Ci0gICAgICAgIFZFUlRHVUlERSwgMzcxCi0gICAgICAgIFRPUE1BUkdJTiwgNwotICAgICAgICBCT1RUT01NQVJHSU4sIDE3MQotICAgICAgICBIT1JaR1VJREUsIDgKLSAgICAgICAgSE9SWkdVSURFLCA0MQotICAgIEVORAotCi0gICAgSUREX0ZJTklTSEVELCBESUFMT0cKLSAgICBCRUdJTgotICAgICAgICBMRUZUTUFSR0lOLCA2Ci0gICAgICAgIFJJR0hUTUFSR0lOLCAzNzIKLSAgICAgICAgVkVSVEdVSURFLCAxMjUKLSAgICAgICAgVkVSVEdVSURFLCAzNzIKLSAgICAgICAgVE9QTUFSR0lOLCA3Ci0gICAgICAgIEJPVFRPTU1BUkdJTiwgMTcxCi0gICAgICAgIEhPUlpHVUlERSwgOAotICAgICAgICBIT1JaR1VJREUsIDQxCi0gICAgRU5ECi1FTkQKLSNlbmRpZiAgICAvLyBBUFNUVURJT19JTlZPS0VECi0KLSNlbmRpZiAgICAvLyBFbmdsaXNoIChVLlMuKSByZXNvdXJjZXMKLS8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi0KLQotCi0jaWZuZGVmIEFQU1RVRElPX0lOVk9LRUQKLS8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi0vLwotLy8gR2VuZXJhdGVkIGZyb20gdGhlIFRFWFRJTkNMVURFIDMgcmVzb3VyY2UuCi0vLwotCi0KLS8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi0jZW5kaWYgICAgLy8gbm90IEFQU1RVRElPX0lOVk9LRUQKLQpkaWZmIC0tZ2l0IGEvUEMvYmRpc3Rfd2luaW5zdC9yZXNvdXJjZS5oIGIvUEMvYmRpc3Rfd2luaW5zdC9yZXNvdXJjZS5oCmluZGV4IDM1YmEzYzIuLjg2YWVhYmIgMTAwNjQ0Ci0tLSBhL1BDL2JkaXN0X3dpbmluc3QvcmVzb3VyY2UuaAorKysgYi9QQy9iZGlzdF93aW5pbnN0L3Jlc291cmNlLmgKQEAgLTEsMTYgKzEsMTEgQEAKIC8qCi0gIElNUE9SVEFOVCBOT1RFOiBJRiBUSElTIEZJTEUgSVMgQ0hBTkdFRCwgV0lOSU5TVC02LkVYRSBNVVNUIEJFIFJFQ09NUElMRUQKLSAgV0lUSCBUSEUgTVNWQzYgV0lOSU5TVC5EU1cgV09SS1NQQUNFIEZJTEUgTUFOVUFMTFksIEFORCBXSU5JTlNULTcuMS5FWEUgTVVTVAotICBCRSBSRUNPTVBJTEVEIFdJVEggVEhFIE1TVkMgMjAwMy5ORVQgV0lOSU5TVC03LjEuVkNQUk9KIEZJTEUgTUFOVUFMTFkuCisgIElNUE9SVEFOVCBOT1RFOiBJRiBUSElTIEZJTEUgSVMgQ0hBTkdFRCwgUENCVUlMRFxCRElTVF9XSU5JTlNULlZDWFBST0ogTVVTVAorICBCRSBSRUJVSUxUIEFTIFdFTEwuCiAKLSAgSUYgQ0hBTkdFUyBUTyBUSElTIEZJTEUgQVJFIENIRUNLRUQgSU5UTyBQWVRIT04gQ1ZTLCBUSEUgUkVDT01QSUxFRCBCSU5BUklFUwotICBNVVNUIEJFIENIRUNLRUQgSU4gQVMgV0VMTCEKKyAgSUYgQ0hBTkdFUyBUTyBUSElTIEZJTEUgQVJFIENIRUNLRUQgSU4sIFRIRSBSRUNPTVBJTEVEIEJJTkFSSUVTIE1VU1QgQkUKKyAgQ0hFQ0tFRCBJTiBBUyBXRUxMIQogKi8KIAotLy97e05PX0RFUEVOREVOQ0lFU319Ci0vLyBNaWNyb3NvZnQgRGV2ZWxvcGVyIFN0dWRpbyBnZW5lcmF0ZWQgaW5jbHVkZSBmaWxlLgotLy8gVXNlZCBieSBpbnN0YWxsLnJjCi0vLwogI2RlZmluZSBJRERfRElBTE9HMSAgICAgICAgICAgICAgICAgICAgIDEwMQogI2RlZmluZSBJREJfQklUTUFQMSAgICAgICAgICAgICAgICAgICAgIDEwMwogI2RlZmluZSBJRERfSU5UUk8gICAgICAgICAgICAgICAgICAgICAgIDEwNwpAQCAtMzQsMTQgKzI5LDMgQEAKICNkZWZpbmUgSURDX0JVSUxEX0lORk8gICAgICAgICAgICAgICAgICAxMDI0CiAjZGVmaW5lIElEQ19CSVRNQVAgICAgICAgICAgICAgICAgICAgICAgMTAyNQogI2RlZmluZSBJRENfT1RIRVJQWVRIT04gICAgICAgICAgICAgICAgIDEwMjYKLQotLy8gTmV4dCBkZWZhdWx0IHZhbHVlcyBmb3IgbmV3IG9iamVjdHMKLS8vIAotI2lmZGVmIEFQU1RVRElPX0lOVk9LRUQKLSNpZm5kZWYgQVBTVFVESU9fUkVBRE9OTFlfU1lNQk9MUwotI2RlZmluZSBfQVBTX05FWFRfUkVTT1VSQ0VfVkFMVUUgICAgICAgIDExMgotI2RlZmluZSBfQVBTX05FWFRfQ09NTUFORF9WQUxVRSAgICAgICAgIDQwMDAxCi0jZGVmaW5lIF9BUFNfTkVYVF9DT05UUk9MX1ZBTFVFICAgICAgICAgMTAyOAotI2RlZmluZSBfQVBTX05FWFRfU1lNRURfVkFMVUUgICAgICAgICAgIDEwMQotI2VuZGlmCi0jZW5kaWYKZGlmZiAtLWdpdCBhL1BDL2JkaXN0X3dpbmluc3Qvd2luaW5zdC03LjEuc2xuIGIvUEMvYmRpc3Rfd2luaW5zdC93aW5pbnN0LTcuMS5zbG4KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGUyMDVkMjUuLjAwMDAwMDAKLS0tIGEvUEMvYmRpc3Rfd2luaW5zdC93aW5pbnN0LTcuMS5zbG4KKysrIC9kZXYvbnVsbApAQCAtMSwyMSArMCwwIEBACi1NaWNyb3NvZnQgVmlzdWFsIFN0dWRpbyBTb2x1dGlvbiBGaWxlLCBGb3JtYXQgVmVyc2lvbiA4LjAwDQotUHJvamVjdCgiezhCQzlDRUI4LThCNEEtMTFEMC04RDExLTAwQTBDOTFCQzk0Mn0iKSA9ICJ3aW5pbnN0IiwgIndpbmluc3QtNy4xLnZjcHJvaiIsICJ7RUIxQzE5QzEtMUYxOC00MjFFLTk3MzUtQ0FFRTY5REM2QTNDfSINCi0JUHJvamVjdFNlY3Rpb24oUHJvamVjdERlcGVuZGVuY2llcykgPSBwb3N0UHJvamVjdA0KLQlFbmRQcm9qZWN0U2VjdGlvbg0KLUVuZFByb2plY3QNCi1HbG9iYWwNCi0JR2xvYmFsU2VjdGlvbihTb2x1dGlvbkNvbmZpZ3VyYXRpb24pID0gcHJlU29sdXRpb24NCi0JCURlYnVnID0gRGVidWcNCi0JCVJlbGVhc2UgPSBSZWxlYXNlDQotCUVuZEdsb2JhbFNlY3Rpb24NCi0JR2xvYmFsU2VjdGlvbihQcm9qZWN0Q29uZmlndXJhdGlvbikgPSBwb3N0U29sdXRpb24NCi0JCXtFQjFDMTlDMS0xRjE4LTQyMUUtOTczNS1DQUVFNjlEQzZBM0N9LkRlYnVnLkFjdGl2ZUNmZyA9IERlYnVnfFdpbjMyDQotCQl7RUIxQzE5QzEtMUYxOC00MjFFLTk3MzUtQ0FFRTY5REM2QTNDfS5EZWJ1Zy5CdWlsZC4wID0gRGVidWd8V2luMzINCi0JCXtFQjFDMTlDMS0xRjE4LTQyMUUtOTczNS1DQUVFNjlEQzZBM0N9LlJlbGVhc2UuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KLQkJe0VCMUMxOUMxLTFGMTgtNDIxRS05NzM1LUNBRUU2OURDNkEzQ30uUmVsZWFzZS5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KLQlFbmRHbG9iYWxTZWN0aW9uDQotCUdsb2JhbFNlY3Rpb24oRXh0ZW5zaWJpbGl0eUdsb2JhbHMpID0gcG9zdFNvbHV0aW9uDQotCUVuZEdsb2JhbFNlY3Rpb24NCi0JR2xvYmFsU2VjdGlvbihFeHRlbnNpYmlsaXR5QWRkSW5zKSA9IHBvc3RTb2x1dGlvbg0KLQlFbmRHbG9iYWxTZWN0aW9uDQotRW5kR2xvYmFsDQpkaWZmIC0tZ2l0IGEvUEMvYmRpc3Rfd2luaW5zdC93aW5pbnN0LTcuMS52Y3Byb2ogYi9QQy9iZGlzdF93aW5pbnN0L3dpbmluc3QtNy4xLnZjcHJvagpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzBkYWFlOS4uMDAwMDAwMAotLS0gYS9QQy9iZGlzdF93aW5pbnN0L3dpbmluc3QtNy4xLnZjcHJvagorKysgL2Rldi9udWxsCkBAIC0xLDIxNCArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJXaW5kb3dzLTEyNTIiPz4NCi08VmlzdWFsU3R1ZGlvUHJvamVjdA0KLQlQcm9qZWN0VHlwZT0iVmlzdWFsIEMrKyINCi0JVmVyc2lvbj0iNy4xMCINCi0JTmFtZT0id2luaW5zdCINCi0JUHJvamVjdEdVSUQ9IntFQjFDMTlDMS0xRjE4LTQyMUUtOTczNS1DQUVFNjlEQzZBM0N9Ig0KLQlSb290TmFtZXNwYWNlPSJ3aW5pbnN0Ig0KLQlTY2NQcm9qZWN0TmFtZT0iIg0KLQlTY2NMb2NhbFBhdGg9IiI+DQotCTxQbGF0Zm9ybXM+DQotCQk8UGxhdGZvcm0NCi0JCQlOYW1lPSJXaW4zMiIvPg0KLQk8L1BsYXRmb3Jtcz4NCi0JPENvbmZpZ3VyYXRpb25zPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJSZWxlYXNlfFdpbjMyIg0KLQkJCU91dHB1dERpcmVjdG9yeT0iLlwuLlwuLlxsaWJcZGlzdHV0aWxzXGNvbW1hbmQiDQotCQkJSW50ZXJtZWRpYXRlRGlyZWN0b3J5PSIuXHRlbXAtcmVsZWFzZSINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMSINCi0JCQlVc2VPZk1GQz0iMCINCi0JCQlBVExNaW5pbWl6ZXNDUnVuVGltZUxpYnJhcnlVc2FnZT0iRkFMU0UiDQotCQkJQ2hhcmFjdGVyU2V0PSIyIj4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlPcHRpbWl6YXRpb249IjEiDQotCQkJCUlubGluZUZ1bmN0aW9uRXhwYW5zaW9uPSIxIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIuLlwuLlxJbmNsdWRlLC4uXC4uXC4uXHpsaWItMS4yLjMiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJXSU4zMjtOREVCVUc7X1dJTkRPV1MiDQotCQkJCVN0cmluZ1Bvb2xpbmc9IlRSVUUiDQotCQkJCVJ1bnRpbWVMaWJyYXJ5PSIyIg0KLQkJCQlFbmFibGVGdW5jdGlvbkxldmVsTGlua2luZz0iVFJVRSINCi0JCQkJVXNlUHJlY29tcGlsZWRIZWFkZXI9IjIiDQotCQkJCVByZWNvbXBpbGVkSGVhZGVyRmlsZT0iLlx0ZW1wLXJlbGVhc2Uvd2luaW5zdC5wY2giDQotCQkJCUFzc2VtYmxlckxpc3RpbmdMb2NhdGlvbj0iLlx0ZW1wLXJlbGVhc2UvIg0KLQkJCQlPYmplY3RGaWxlPSIuXHRlbXAtcmVsZWFzZS8iDQotCQkJCVByb2dyYW1EYXRhQmFzZUZpbGVOYW1lPSIuXHRlbXAtcmVsZWFzZS8iDQotCQkJCVdhcm5pbmdMZXZlbD0iMyINCi0JCQkJU3VwcHJlc3NTdGFydHVwQmFubmVyPSJUUlVFIg0KLQkJCQlDb21waWxlQXM9IjAiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0iLi5cLi5cLi5cemxpYi0xLjIuM1x6bGliLmxpYiBpbWFnZWhscC5saWIgY29tY3RsMzIubGliIg0KLQkJCQlPdXRwdXRGaWxlPSIuLlwuLlxsaWJcZGlzdHV0aWxzXGNvbW1hbmQvd2luaW5zdC03LjEuZXhlIg0KLQkJCQlMaW5rSW5jcmVtZW50YWw9IjEiDQotCQkJCVN1cHByZXNzU3RhcnR1cEJhbm5lcj0iVFJVRSINCi0JCQkJSWdub3JlRGVmYXVsdExpYnJhcnlOYW1lcz0iTElCQyINCi0JCQkJUHJvZ3JhbURhdGFiYXNlRmlsZT0iLlwuLlwuLlxsaWJcZGlzdHV0aWxzXGNvbW1hbmQvd2luaW5zdC02LnBkYiINCi0JCQkJU3ViU3lzdGVtPSIyIg0KLQkJCQlUYXJnZXRNYWNoaW5lPSIxIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Ik5ERUJVRyINCi0JCQkJTWtUeXBMaWJDb21wYXRpYmxlPSJUUlVFIg0KLQkJCQlTdXBwcmVzc1N0YXJ0dXBCYW5uZXI9IlRSVUUiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIxIg0KLQkJCQlUeXBlTGlicmFyeU5hbWU9Ii5cLi5cLi5cbGliXGRpc3R1dGlsc1xjb21tYW5kL3dpbmluc3QudGxiIg0KLQkJCQlIZWFkZXJGaWxlTmFtZT0iIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Ik5ERUJVRyINCi0JCQkJQ3VsdHVyZT0iMTAzMSIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYkRlcGxveW1lbnRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkV3JhcHBlckdlbmVyYXRvclRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0F1eGlsaWFyeU1hbmFnZWRXcmFwcGVyR2VuZXJhdG9yVG9vbCIvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJEZWJ1Z3xXaW4zMiINCi0JCQlPdXRwdXREaXJlY3Rvcnk9Ii5cLiINCi0JCQlJbnRlcm1lZGlhdGVEaXJlY3Rvcnk9Ii5cdGVtcC1kZWJ1ZyINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMSINCi0JCQlVc2VPZk1GQz0iMCINCi0JCQlBVExNaW5pbWl6ZXNDUnVuVGltZUxpYnJhcnlVc2FnZT0iRkFMU0UiDQotCQkJQ2hhcmFjdGVyU2V0PSIyIj4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlPcHRpbWl6YXRpb249IjAiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii4uXC4uXEluY2x1ZGUsLi5cLi5cLi5cemxpYi0xLjIuMSINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IldJTjMyO19ERUJVRztfV0lORE9XUyINCi0JCQkJUnVudGltZUxpYnJhcnk9IjIiDQotCQkJCVVzZVByZWNvbXBpbGVkSGVhZGVyPSIyIg0KLQkJCQlQcmVjb21waWxlZEhlYWRlckZpbGU9Ii5cdGVtcC1kZWJ1Zy93aW5pbnN0LnBjaCINCi0JCQkJQXNzZW1ibGVyTGlzdGluZ0xvY2F0aW9uPSIuXHRlbXAtZGVidWcvIg0KLQkJCQlPYmplY3RGaWxlPSIuXHRlbXAtZGVidWcvIg0KLQkJCQlQcm9ncmFtRGF0YUJhc2VGaWxlTmFtZT0iLlx0ZW1wLWRlYnVnLyINCi0JCQkJQnJvd3NlSW5mb3JtYXRpb249IjEiDQotCQkJCVdhcm5pbmdMZXZlbD0iMyINCi0JCQkJU3VwcHJlc3NTdGFydHVwQmFubmVyPSJUUlVFIg0KLQkJCQlEZWJ1Z0luZm9ybWF0aW9uRm9ybWF0PSIxIg0KLQkJCQlDb21waWxlQXM9IjAiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0iLi5cLi5cLi5cemxpYi0xLjIuMVx6bGliLmxpYiBpbWFnZWhscC5saWIgY29tY3RsMzIubGliIg0KLQkJCQlPdXRwdXRGaWxlPSIuLlwuLlxsaWJcZGlzdHV0aWxzXGNvbW1hbmQvd2luaW5zdC03LjFfZC5leGUiDQotCQkJCUxpbmtJbmNyZW1lbnRhbD0iMiINCi0JCQkJU3VwcHJlc3NTdGFydHVwQmFubmVyPSJUUlVFIg0KLQkJCQlJZ25vcmVEZWZhdWx0TGlicmFyeU5hbWVzPSJMSUJDIg0KLQkJCQlHZW5lcmF0ZURlYnVnSW5mb3JtYXRpb249IlRSVUUiDQotCQkJCVN1YlN5c3RlbT0iMiINCi0JCQkJVGFyZ2V0TWFjaGluZT0iMSIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJfREVCVUciDQotCQkJCU1rVHlwTGliQ29tcGF0aWJsZT0iVFJVRSINCi0JCQkJU3VwcHJlc3NTdGFydHVwQmFubmVyPSJUUlVFIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMSINCi0JCQkJVHlwZUxpYnJhcnlOYW1lPSIuXC4vd2luaW5zdC50bGIiDQotCQkJCUhlYWRlckZpbGVOYW1lPSIiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iX0RFQlVHIg0KLQkJCQlDdWx0dXJlPSIxMDMxIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViRGVwbG95bWVudFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRXcmFwcGVyR2VuZXJhdG9yVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXV4aWxpYXJ5TWFuYWdlZFdyYXBwZXJHZW5lcmF0b3JUb29sIi8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCTwvQ29uZmlndXJhdGlvbnM+DQotCTxSZWZlcmVuY2VzPg0KLQk8L1JlZmVyZW5jZXM+DQotCTxGaWxlcz4NCi0JCTxGaWx0ZXINCi0JCQlOYW1lPSJTb3VyY2UgRmlsZXMiDQotCQkJRmlsdGVyPSJjcHA7YztjeHg7cmM7ZGVmO3I7b2RsO2lkbDtocGo7YmF0Ij4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9ImV4dHJhY3QuYyI+DQotCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KLQkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiI+DQotCQkJCQk8VG9vbA0KLQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCQkJT3B0aW1pemF0aW9uPSIxIg0KLQkJCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiINCi0JCQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iIi8+DQotCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQotCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KLQkJCQkJTmFtZT0iRGVidWd8V2luMzIiPg0KLQkJCQkJPFRvb2wNCi0JCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQkJCU9wdGltaXphdGlvbj0iMCINCi0JCQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIiDQotCQkJCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IiINCi0JCQkJCQlCcm93c2VJbmZvcm1hdGlvbj0iMSIvPg0KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Imluc3RhbGwuYyI+DQotCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KLQkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiI+DQotCQkJCQk8VG9vbA0KLQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCQkJT3B0aW1pemF0aW9uPSIxIg0KLQkJCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiINCi0JCQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iIi8+DQotCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQotCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KLQkJCQkJTmFtZT0iRGVidWd8V2luMzIiPg0KLQkJCQkJPFRvb2wNCi0JCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQkJCU9wdGltaXphdGlvbj0iMCINCi0JCQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIiDQotCQkJCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IiINCi0JCQkJCQlCcm93c2VJbmZvcm1hdGlvbj0iMSIvPg0KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Imluc3RhbGwucmMiPg0KLQkJCTwvRmlsZT4NCi0JCTwvRmlsdGVyPg0KLQkJPEZpbHRlcg0KLQkJCU5hbWU9IkhlYWRlciBGaWxlcyINCi0JCQlGaWx0ZXI9Img7aHBwO2h4eDtobTtpbmwiPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iYXJjaGl2ZS5oIj4NCi0JCQk8L0ZpbGU+DQotCQk8L0ZpbHRlcj4NCi0JCTxGaWx0ZXINCi0JCQlOYW1lPSJSZXNvdXJjZSBGaWxlcyINCi0JCQlGaWx0ZXI9ImljbztjdXI7Ym1wO2RsZztyYzI7cmN0O2JpbjtyZ3M7Z2lmO2pwZztqcGVnO2pwZSI+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSJQeXRob25Qb3dlcmVkLmJtcCI+DQotCQkJPC9GaWxlPg0KLQkJPC9GaWx0ZXI+DQotCTwvRmlsZXM+DQotCTxHbG9iYWxzPg0KLQk8L0dsb2JhbHM+DQotPC9WaXN1YWxTdHVkaW9Qcm9qZWN0Pg0KZGlmZiAtLWdpdCBhL1BDL2JkaXN0X3dpbmluc3Qvd2luaW5zdC04LnNsbiBiL1BDL2JkaXN0X3dpbmluc3Qvd2luaW5zdC04LnNsbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjVmMTZjZi4uMDAwMDAwMAotLS0gYS9QQy9iZGlzdF93aW5pbnN0L3dpbmluc3QtOC5zbG4KKysrIC9kZXYvbnVsbApAQCAtMSwxOSArMCwwIEBACi1NaWNyb3NvZnQgVmlzdWFsIFN0dWRpbyBTb2x1dGlvbiBGaWxlLCBGb3JtYXQgVmVyc2lvbiA5LjAwDQotIyBWaXN1YWwgU3R1ZGlvIDIwMDUNCi1Qcm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIpID0gIndpbmluc3QiLCAid2luaW5zdC04LnZjcHJvaiIsICJ7RUIxQzE5QzEtMUYxOC00MjFFLTk3MzUtQ0FFRTY5REM2QTNDfSINCi1FbmRQcm9qZWN0DQotR2xvYmFsDQotCUdsb2JhbFNlY3Rpb24oU29sdXRpb25Db25maWd1cmF0aW9uUGxhdGZvcm1zKSA9IHByZVNvbHV0aW9uDQotCQlEZWJ1Z3xXaW4zMiA9IERlYnVnfFdpbjMyDQotCQlSZWxlYXNlfFdpbjMyID0gUmVsZWFzZXxXaW4zMg0KLQlFbmRHbG9iYWxTZWN0aW9uDQotCUdsb2JhbFNlY3Rpb24oUHJvamVjdENvbmZpZ3VyYXRpb25QbGF0Zm9ybXMpID0gcG9zdFNvbHV0aW9uDQotCQl7RUIxQzE5QzEtMUYxOC00MjFFLTk3MzUtQ0FFRTY5REM2QTNDfS5EZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBEZWJ1Z3xXaW4zMg0KLQkJe0VCMUMxOUMxLTFGMTgtNDIxRS05NzM1LUNBRUU2OURDNkEzQ30uRGVidWd8V2luMzIuQnVpbGQuMCA9IERlYnVnfFdpbjMyDQotCQl7RUIxQzE5QzEtMUYxOC00MjFFLTk3MzUtQ0FFRTY5REM2QTNDfS5SZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCi0JCXtFQjFDMTlDMS0xRjE4LTQyMUUtOTczNS1DQUVFNjlEQzZBM0N9LlJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCi0JRW5kR2xvYmFsU2VjdGlvbg0KLQlHbG9iYWxTZWN0aW9uKFNvbHV0aW9uUHJvcGVydGllcykgPSBwcmVTb2x1dGlvbg0KLQkJSGlkZVNvbHV0aW9uTm9kZSA9IEZBTFNFDQotCUVuZEdsb2JhbFNlY3Rpb24NCi1FbmRHbG9iYWwNCmRpZmYgLS1naXQgYS9QQy9iZGlzdF93aW5pbnN0L3dpbmluc3QtOC52Y3Byb2ogYi9QQy9iZGlzdF93aW5pbnN0L3dpbmluc3QtOC52Y3Byb2oKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAxNDdkMWIuLjAwMDAwMDAKLS0tIGEvUEMvYmRpc3Rfd2luaW5zdC93aW5pbnN0LTgudmNwcm9qCisrKyAvZGV2L251bGwKQEAgLTEsMzIwICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IldpbmRvd3MtMTI1MiI/Pg0KLTxWaXN1YWxTdHVkaW9Qcm9qZWN0DQotCVByb2plY3RUeXBlPSJWaXN1YWwgQysrIg0KLQlWZXJzaW9uPSI4LjAwIg0KLQlOYW1lPSJ3aW5pbnN0Ig0KLQlQcm9qZWN0R1VJRD0ie0VCMUMxOUMxLTFGMTgtNDIxRS05NzM1LUNBRUU2OURDNkEzQ30iDQotCVJvb3ROYW1lc3BhY2U9Indpbmluc3QiDQotCT4NCi0JPFBsYXRmb3Jtcz4NCi0JCTxQbGF0Zm9ybQ0KLQkJCU5hbWU9IldpbjMyIg0KLQkJLz4NCi0JPC9QbGF0Zm9ybXM+DQotCTxUb29sRmlsZXM+DQotCTwvVG9vbEZpbGVzPg0KLQk8Q29uZmlndXJhdGlvbnM+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiDQotCQkJT3V0cHV0RGlyZWN0b3J5PSIuXC4uXC4uXGxpYlxkaXN0dXRpbHNcY29tbWFuZCINCi0JCQlJbnRlcm1lZGlhdGVEaXJlY3Rvcnk9Ii5cdGVtcC1yZWxlYXNlIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIxIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIkKFZDSW5zdGFsbERpcilWQ1Byb2plY3REZWZhdWx0c1xVcGdyYWRlRnJvbVZDNzEudnNwcm9wcyINCi0JCQlVc2VPZk1GQz0iMCINCi0JCQlBVExNaW5pbWl6ZXNDUnVuVGltZUxpYnJhcnlVc2FnZT0iZmFsc2UiDQotCQkJQ2hhcmFjdGVyU2V0PSIyIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Ik5ERUJVRyINCi0JCQkJTWtUeXBMaWJDb21wYXRpYmxlPSJ0cnVlIg0KLQkJCQlTdXBwcmVzc1N0YXJ0dXBCYW5uZXI9InRydWUiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIxIg0KLQkJCQlUeXBlTGlicmFyeU5hbWU9Ii5cLi5cLi5cbGliXGRpc3R1dGlsc1xjb21tYW5kL3dpbmluc3QudGxiIg0KLQkJCQlIZWFkZXJGaWxlTmFtZT0iIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJT3B0aW1pemF0aW9uPSIxIg0KLQkJCQlJbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj0iMSINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cSW5jbHVkZSwuLlwuLlxNb2R1bGVzXHpsaWIiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJXSU4zMjtOREVCVUc7X1dJTkRPV1MiDQotCQkJCVN0cmluZ1Bvb2xpbmc9InRydWUiDQotCQkJCVJ1bnRpbWVMaWJyYXJ5PSIyIg0KLQkJCQlFbmFibGVGdW5jdGlvbkxldmVsTGlua2luZz0idHJ1ZSINCi0JCQkJVXNlUHJlY29tcGlsZWRIZWFkZXI9IjAiDQotCQkJCVByZWNvbXBpbGVkSGVhZGVyRmlsZT0iLlx0ZW1wLXJlbGVhc2Uvd2luaW5zdC5wY2giDQotCQkJCUFzc2VtYmxlckxpc3RpbmdMb2NhdGlvbj0iLlx0ZW1wLXJlbGVhc2UvIg0KLQkJCQlPYmplY3RGaWxlPSIuXHRlbXAtcmVsZWFzZS8iDQotCQkJCVByb2dyYW1EYXRhQmFzZUZpbGVOYW1lPSIuXHRlbXAtcmVsZWFzZS8iDQotCQkJCVdhcm5pbmdMZXZlbD0iMyINCi0JCQkJU3VwcHJlc3NTdGFydHVwQmFubmVyPSJ0cnVlIg0KLQkJCQlDb21waWxlQXM9IjAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJOREVCVUciDQotCQkJCUN1bHR1cmU9IjEwMzEiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9ImltYWdlaGxwLmxpYiBjb21jdGwzMi5saWIiDQotCQkJCU91dHB1dEZpbGU9Ii4uXC4uXGxpYlxkaXN0dXRpbHNcY29tbWFuZC93aW5pbnN0LTguZXhlIg0KLQkJCQlMaW5rSW5jcmVtZW50YWw9IjEiDQotCQkJCVN1cHByZXNzU3RhcnR1cEJhbm5lcj0idHJ1ZSINCi0JCQkJSWdub3JlRGVmYXVsdExpYnJhcnlOYW1lcz0iTElCQyINCi0JCQkJUHJvZ3JhbURhdGFiYXNlRmlsZT0iLlwuLlwuLlxsaWJcZGlzdHV0aWxzXGNvbW1hbmQvd2luaW5zdC02LnBkYiINCi0JCQkJU3ViU3lzdGVtPSIyIg0KLQkJCQlUYXJnZXRNYWNoaW5lPSIxIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViRGVwbG95bWVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJEZWJ1Z3xXaW4zMiINCi0JCQlPdXRwdXREaXJlY3Rvcnk9Ii5cLiINCi0JCQlJbnRlcm1lZGlhdGVEaXJlY3Rvcnk9Ii5cdGVtcC1kZWJ1ZyINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMSINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iJChWQ0luc3RhbGxEaXIpVkNQcm9qZWN0RGVmYXVsdHNcVXBncmFkZUZyb21WQzcxLnZzcHJvcHMiDQotCQkJVXNlT2ZNRkM9IjAiDQotCQkJQVRMTWluaW1pemVzQ1J1blRpbWVMaWJyYXJ5VXNhZ2U9ImZhbHNlIg0KLQkJCUNoYXJhY3RlclNldD0iMiINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJfREVCVUciDQotCQkJCU1rVHlwTGliQ29tcGF0aWJsZT0idHJ1ZSINCi0JCQkJU3VwcHJlc3NTdGFydHVwQmFubmVyPSJ0cnVlIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMSINCi0JCQkJVHlwZUxpYnJhcnlOYW1lPSIuXC4vd2luaW5zdC50bGIiDQotCQkJCUhlYWRlckZpbGVOYW1lPSIiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlPcHRpbWl6YXRpb249IjAiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii4uXC4uXEluY2x1ZGUsLi5cLi5cTW9kdWxlc1x6bGliIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iV0lOMzI7X0RFQlVHO19XSU5ET1dTIg0KLQkJCQlSdW50aW1lTGlicmFyeT0iMiINCi0JCQkJVXNlUHJlY29tcGlsZWRIZWFkZXI9IjAiDQotCQkJCVByZWNvbXBpbGVkSGVhZGVyRmlsZT0iLlx0ZW1wLWRlYnVnL3dpbmluc3QucGNoIg0KLQkJCQlBc3NlbWJsZXJMaXN0aW5nTG9jYXRpb249Ii5cdGVtcC1kZWJ1Zy8iDQotCQkJCU9iamVjdEZpbGU9Ii5cdGVtcC1kZWJ1Zy8iDQotCQkJCVByb2dyYW1EYXRhQmFzZUZpbGVOYW1lPSIuXHRlbXAtZGVidWcvIg0KLQkJCQlCcm93c2VJbmZvcm1hdGlvbj0iMSINCi0JCQkJV2FybmluZ0xldmVsPSIzIg0KLQkJCQlTdXBwcmVzc1N0YXJ0dXBCYW5uZXI9InRydWUiDQotCQkJCURlYnVnSW5mb3JtYXRpb25Gb3JtYXQ9IjEiDQotCQkJCUNvbXBpbGVBcz0iMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Il9ERUJVRyINCi0JCQkJQ3VsdHVyZT0iMTAzMSINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0iaW1hZ2VobHAubGliIGNvbWN0bDMyLmxpYiINCi0JCQkJT3V0cHV0RmlsZT0iLi5cLi5cbGliXGRpc3R1dGlsc1xjb21tYW5kL3dpbmluc3QtOF9kLmV4ZSINCi0JCQkJTGlua0luY3JlbWVudGFsPSIyIg0KLQkJCQlTdXBwcmVzc1N0YXJ0dXBCYW5uZXI9InRydWUiDQotCQkJCUlnbm9yZURlZmF1bHRMaWJyYXJ5TmFtZXM9IkxJQkMiDQotCQkJCUdlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj0idHJ1ZSINCi0JCQkJU3ViU3lzdGVtPSIyIg0KLQkJCQlUYXJnZXRNYWNoaW5lPSIxIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViRGVwbG95bWVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQk8L0NvbmZpZ3VyYXRpb25zPg0KLQk8UmVmZXJlbmNlcz4NCi0JPC9SZWZlcmVuY2VzPg0KLQk8RmlsZXM+DQotCQk8RmlsdGVyDQotCQkJTmFtZT0iU291cmNlIEZpbGVzIg0KLQkJCUZpbHRlcj0iY3BwO2M7Y3h4O3JjO2RlZjtyO29kbDtpZGw7aHBqO2JhdCINCi0JCQk+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSJleHRyYWN0LmMiDQotCQkJCT4NCi0JCQkJPEZpbGVDb25maWd1cmF0aW9uDQotCQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMyIg0KLQkJCQkJPg0KLQkJCQkJPFRvb2wNCi0JCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQkJCU9wdGltaXphdGlvbj0iMSINCi0JCQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIiDQotCQkJCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IiINCi0JCQkJCS8+DQotCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQotCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KLQkJCQkJTmFtZT0iRGVidWd8V2luMzIiDQotCQkJCQk+DQotCQkJCQk8VG9vbA0KLQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCQkJT3B0aW1pemF0aW9uPSIwIg0KLQkJCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiINCi0JCQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iIg0KLQkJCQkJCUJyb3dzZUluZm9ybWF0aW9uPSIxIg0KLQkJCQkJLz4NCi0JCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSJpbnN0YWxsLmMiDQotCQkJCT4NCi0JCQkJPEZpbGVDb25maWd1cmF0aW9uDQotCQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMyIg0KLQkJCQkJPg0KLQkJCQkJPFRvb2wNCi0JCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQkJCU9wdGltaXphdGlvbj0iMSINCi0JCQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIiDQotCQkJCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IiINCi0JCQkJCS8+DQotCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQotCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KLQkJCQkJTmFtZT0iRGVidWd8V2luMzIiDQotCQkJCQk+DQotCQkJCQk8VG9vbA0KLQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCQkJT3B0aW1pemF0aW9uPSIwIg0KLQkJCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiINCi0JCQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iIg0KLQkJCQkJCUJyb3dzZUluZm9ybWF0aW9uPSIxIg0KLQkJCQkJLz4NCi0JCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSJpbnN0YWxsLnJjIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWx0ZXINCi0JCQkJTmFtZT0iemxpYiINCi0JCQkJPg0KLQkJCQk8RmlsZQ0KLQkJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXHpsaWJcYWRsZXIzMi5jIg0KLQkJCQkJPg0KLQkJCQk8L0ZpbGU+DQotCQkJCTxGaWxlDQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcemxpYlxjcmMzMi5jIg0KLQkJCQkJPg0KLQkJCQk8L0ZpbGU+DQotCQkJCTxGaWxlDQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcemxpYlxpbmZmYXN0LmMiDQotCQkJCQk+DQotCQkJCTwvRmlsZT4NCi0JCQkJPEZpbGUNCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1x6bGliXGluZmxhdGUuYyINCi0JCQkJCT4NCi0JCQkJPC9GaWxlPg0KLQkJCQk8RmlsZQ0KLQkJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXHpsaWJcaW5mdHJlZXMuYyINCi0JCQkJCT4NCi0JCQkJPC9GaWxlPg0KLQkJCQk8RmlsZQ0KLQkJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXHpsaWJcenV0aWwuYyINCi0JCQkJCT4NCi0JCQkJPC9GaWxlPg0KLQkJCTwvRmlsdGVyPg0KLQkJPC9GaWx0ZXI+DQotCQk8RmlsdGVyDQotCQkJTmFtZT0iSGVhZGVyIEZpbGVzIg0KLQkJCUZpbHRlcj0iaDtocHA7aHh4O2htO2lubCINCi0JCQk+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSJhcmNoaXZlLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQk8L0ZpbHRlcj4NCi0JCTxGaWx0ZXINCi0JCQlOYW1lPSJSZXNvdXJjZSBGaWxlcyINCi0JCQlGaWx0ZXI9ImljbztjdXI7Ym1wO2RsZztyYzI7cmN0O2JpbjtyZ3M7Z2lmO2pwZztqcGVnO2pwZSINCi0JCQk+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSJQeXRob25Qb3dlcmVkLmJtcCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCTwvRmlsdGVyPg0KLQk8L0ZpbGVzPg0KLQk8R2xvYmFscz4NCi0JPC9HbG9iYWxzPg0KLTwvVmlzdWFsU3R1ZGlvUHJvamVjdD4NCmRpZmYgLS1naXQgYS9QQy9iZGlzdF93aW5pbnN0L3dpbmluc3QuZHNwIGIvUEMvYmRpc3Rfd2luaW5zdC93aW5pbnN0LmRzcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjk4NTU2OS4uMDAwMDAwMAotLS0gYS9QQy9iZGlzdF93aW5pbnN0L3dpbmluc3QuZHNwCisrKyAvZGV2L251bGwKQEAgLTEsMTIzICswLDAgQEAKLSMgTWljcm9zb2Z0IERldmVsb3BlciBTdHVkaW8gUHJvamVjdCBGaWxlIC0gTmFtZT0id2luaW5zdCIgLSBQYWNrYWdlIE93bmVyPTw0Pg0KLSMgTWljcm9zb2Z0IERldmVsb3BlciBTdHVkaW8gR2VuZXJhdGVkIEJ1aWxkIEZpbGUsIEZvcm1hdCBWZXJzaW9uIDYuMDANCi0jICoqIERPIE5PVCBFRElUICoqDQotDQotIyBUQVJHVFlQRSAiV2luMzIgKHg4NikgQXBwbGljYXRpb24iIDB4MDEwMQ0KLQ0KLUNGRz13aW5pbnN0IC0gV2luMzIgRGVidWcNCi0hTUVTU0FHRSBUaGlzIGlzIG5vdCBhIHZhbGlkIG1ha2VmaWxlLiBUbyBidWlsZCB0aGlzIHByb2plY3QgdXNpbmcgTk1BS0UsDQotIU1FU1NBR0UgdXNlIHRoZSBFeHBvcnQgTWFrZWZpbGUgY29tbWFuZCBhbmQgcnVuDQotIU1FU1NBR0UgDQotIU1FU1NBR0UgTk1BS0UgL2YgIndpbmluc3QubWFrIi4NCi0hTUVTU0FHRSANCi0hTUVTU0FHRSBZb3UgY2FuIHNwZWNpZnkgYSBjb25maWd1cmF0aW9uIHdoZW4gcnVubmluZyBOTUFLRQ0KLSFNRVNTQUdFIGJ5IGRlZmluaW5nIHRoZSBtYWNybyBDRkcgb24gdGhlIGNvbW1hbmQgbGluZS4gRm9yIGV4YW1wbGU6DQotIU1FU1NBR0UgDQotIU1FU1NBR0UgTk1BS0UgL2YgIndpbmluc3QubWFrIiBDRkc9Indpbmluc3QgLSBXaW4zMiBEZWJ1ZyINCi0hTUVTU0FHRSANCi0hTUVTU0FHRSBQb3NzaWJsZSBjaG9pY2VzIGZvciBjb25maWd1cmF0aW9uIGFyZToNCi0hTUVTU0FHRSANCi0hTUVTU0FHRSAid2luaW5zdCAtIFdpbjMyIFJlbGVhc2UiIChiYXNlZCBvbiAiV2luMzIgKHg4NikgQXBwbGljYXRpb24iKQ0KLSFNRVNTQUdFICJ3aW5pbnN0IC0gV2luMzIgRGVidWciIChiYXNlZCBvbiAiV2luMzIgKHg4NikgQXBwbGljYXRpb24iKQ0KLSFNRVNTQUdFIA0KLQ0KLSMgQmVnaW4gUHJvamVjdA0KLSMgUFJPUCBBbGxvd1BlckNvbmZpZ0RlcGVuZGVuY2llcyAwDQotIyBQUk9QIFNjY19Qcm9qTmFtZSAiIg0KLSMgUFJPUCBTY2NfTG9jYWxQYXRoICIiDQotQ1BQPWNsLmV4ZQ0KLU1UTD1taWRsLmV4ZQ0KLVJTQz1yYy5leGUNCi0NCi0hSUYgICIkKENGRykiID09ICJ3aW5pbnN0IC0gV2luMzIgUmVsZWFzZSINCi0NCi0jIFBST1AgQkFTRSBVc2VfTUZDIDANCi0jIFBST1AgQkFTRSBVc2VfRGVidWdfTGlicmFyaWVzIDANCi0jIFBST1AgQkFTRSBPdXRwdXRfRGlyICJSZWxlYXNlIg0KLSMgUFJPUCBCQVNFIEludGVybWVkaWF0ZV9EaXIgIlJlbGVhc2UiDQotIyBQUk9QIEJBU0UgVGFyZ2V0X0RpciAiIg0KLSMgUFJPUCBVc2VfTUZDIDANCi0jIFBST1AgVXNlX0RlYnVnX0xpYnJhcmllcyAwDQotIyBQUk9QIE91dHB1dF9EaXIgIi4uXC4uXGxpYlxkaXN0dXRpbHNcY29tbWFuZCINCi0jIFBST1AgSW50ZXJtZWRpYXRlX0RpciAidGVtcC1yZWxlYXNlIg0KLSMgUFJPUCBJZ25vcmVfRXhwb3J0X0xpYiAwDQotIyBQUk9QIFRhcmdldF9EaXIgIiINCi0jIEFERCBCQVNFIENQUCAvbm9sb2dvIC9XMyAvR1ggL08yIC9EICJXSU4zMiIgL0QgIk5ERUJVRyIgL0QgIl9XSU5ET1dTIiAvRCAiX01CQ1MiIC9ZWCAvRkQgL2MNCi0jIEFERCBDUFAgL25vbG9nbyAvTUQgL1czIC9PMSAvSSAiLi5cLi5cSW5jbHVkZSIgL0kgIi4uXC4uXC4uXHpsaWItMS4yLjMiIC9EICJXSU4zMiIgL0QgIk5ERUJVRyIgL0QgIl9XSU5ET1dTIiAvRCAiX01CQ1MiIC9ZWCAvRkQgL2MNCi0jIEFERCBCQVNFIE1UTCAvbm9sb2dvIC9EICJOREVCVUciIC9ta3R5cGxpYjIwMyAvd2luMzINCi0jIEFERCBNVEwgL25vbG9nbyAvRCAiTkRFQlVHIiAvbWt0eXBsaWIyMDMgL3dpbjMyDQotIyBBREQgQkFTRSBSU0MgL2wgMHg0MDcgL2QgIk5ERUJVRyINCi0jIEFERCBSU0MgL2wgMHg0MDcgL2QgIk5ERUJVRyINCi1CU0MzMj1ic2NtYWtlLmV4ZQ0KLSMgQUREIEJBU0UgQlNDMzIgL25vbG9nbw0KLSMgQUREIEJTQzMyIC9ub2xvZ28NCi1MSU5LMzI9bGluay5leGUNCi0jIEFERCBCQVNFIExJTkszMiBrZXJuZWwzMi5saWIgdXNlcjMyLmxpYiBnZGkzMi5saWIgd2luc3Bvb2wubGliIGNvbWRsZzMyLmxpYiBhZHZhcGkzMi5saWIgc2hlbGwzMi5saWIgb2xlMzIubGliIG9sZWF1dDMyLmxpYiB1dWlkLmxpYiBvZGJjMzIubGliIG9kYmNjcDMyLmxpYiAvbm9sb2dvIC9zdWJzeXN0ZW06d2luZG93cyAvbWFjaGluZTpJMzg2DQotIyBBREQgTElOSzMyIC4uXC4uXC4uXHpsaWItMS4yLjNcemxpYi5saWIgaW1hZ2VobHAubGliIGNvbWRsZzMyLmxpYiBvbGUzMi5saWIgY29tY3RsMzIubGliIGtlcm5lbDMyLmxpYiB1c2VyMzIubGliIGdkaTMyLmxpYiBhZHZhcGkzMi5saWIgc2hlbGwzMi5saWIgL25vbG9nbyAvc3Vic3lzdGVtOndpbmRvd3MgL21hY2hpbmU6STM4NiAvbm9kZWZhdWx0bGliOiJMSUJDIiAvb3V0OiIuLlwuLlxsaWJcZGlzdHV0aWxzXGNvbW1hbmQvd2luaW5zdC02LjAuZXhlIg0KLQ0KLSFFTFNFSUYgICIkKENGRykiID09ICJ3aW5pbnN0IC0gV2luMzIgRGVidWciDQotDQotIyBQUk9QIEJBU0UgVXNlX01GQyAwDQotIyBQUk9QIEJBU0UgVXNlX0RlYnVnX0xpYnJhcmllcyAxDQotIyBQUk9QIEJBU0UgT3V0cHV0X0RpciAiRGVidWciDQotIyBQUk9QIEJBU0UgSW50ZXJtZWRpYXRlX0RpciAiRGVidWciDQotIyBQUk9QIEJBU0UgVGFyZ2V0X0RpciAiIg0KLSMgUFJPUCBVc2VfTUZDIDANCi0jIFBST1AgVXNlX0RlYnVnX0xpYnJhcmllcyAxDQotIyBQUk9QIE91dHB1dF9EaXIgIi4iDQotIyBQUk9QIEludGVybWVkaWF0ZV9EaXIgInRlbXAtZGVidWciDQotIyBQUk9QIElnbm9yZV9FeHBvcnRfTGliIDANCi0jIFBST1AgVGFyZ2V0X0RpciAiIg0KLSMgQUREIEJBU0UgQ1BQIC9ub2xvZ28gL1czIC9HWCAvWkkgL09kIC9EICJXSU4zMiIgL0QgIl9ERUJVRyIgL0QgIl9XSU5ET1dTIiAvRCAiX01CQ1MiIC9ZWCAvRkQgL0daIC9jDQotIyBBREQgQ1BQIC9ub2xvZ28gL01EIC9XMyAvWjcgL09kIC9JICIuLlwuLlxJbmNsdWRlIiAvSSAiLi5cLi5cLi5cemxpYi0xLjIuMSIgL0QgIldJTjMyIiAvRCAiX0RFQlVHIiAvRCAiX1dJTkRPV1MiIC9EICJfTUJDUyIgL0ZSIC9ZWCAvRkQgL2MNCi0jIEFERCBCQVNFIE1UTCAvbm9sb2dvIC9EICJfREVCVUciIC9ta3R5cGxpYjIwMyAvd2luMzINCi0jIEFERCBNVEwgL25vbG9nbyAvRCAiX0RFQlVHIiAvbWt0eXBsaWIyMDMgL3dpbjMyDQotIyBBREQgQkFTRSBSU0MgL2wgMHg0MDcgL2QgIl9ERUJVRyINCi0jIEFERCBSU0MgL2wgMHg0MDcgL2QgIl9ERUJVRyINCi1CU0MzMj1ic2NtYWtlLmV4ZQ0KLSMgQUREIEJBU0UgQlNDMzIgL25vbG9nbw0KLSMgQUREIEJTQzMyIC9ub2xvZ28NCi1MSU5LMzI9bGluay5leGUNCi0jIEFERCBCQVNFIExJTkszMiBrZXJuZWwzMi5saWIgdXNlcjMyLmxpYiBnZGkzMi5saWIgd2luc3Bvb2wubGliIGNvbWRsZzMyLmxpYiBhZHZhcGkzMi5saWIgc2hlbGwzMi5saWIgb2xlMzIubGliIG9sZWF1dDMyLmxpYiB1dWlkLmxpYiBvZGJjMzIubGliIG9kYmNjcDMyLmxpYiAvbm9sb2dvIC9zdWJzeXN0ZW06d2luZG93cyAvZGVidWcgL21hY2hpbmU6STM4NiAvcGRidHlwZTpzZXB0DQotIyBBREQgTElOSzMyIC4uXC4uXC4uXHpsaWItMS4yLjNcemxpYi5saWIgaW1hZ2VobHAubGliIGNvbWRsZzMyLmxpYiBvbGUzMi5saWIgY29tY3RsMzIubGliIGtlcm5lbDMyLmxpYiB1c2VyMzIubGliIGdkaTMyLmxpYiBhZHZhcGkzMi5saWIgc2hlbGwzMi5saWIgL25vbG9nbyAvc3Vic3lzdGVtOndpbmRvd3MgL3BkYjpub25lIC9kZWJ1ZyAvbWFjaGluZTpJMzg2IC9ub2RlZmF1bHRsaWI6IkxJQkMiIC9vdXQ6Ii4uXC4uXGxpYlxkaXN0dXRpbHNcY29tbWFuZC93aW5pbnN0LTYuMF9kLmV4ZSINCi0NCi0hRU5ESUYgDQotDQotIyBCZWdpbiBUYXJnZXQNCi0NCi0jIE5hbWUgIndpbmluc3QgLSBXaW4zMiBSZWxlYXNlIg0KLSMgTmFtZSAid2luaW5zdCAtIFdpbjMyIERlYnVnIg0KLSMgQmVnaW4gR3JvdXAgIlNvdXJjZSBGaWxlcyINCi0NCi0jIFBST1AgRGVmYXVsdF9GaWx0ZXIgImNwcDtjO2N4eDtyYztkZWY7cjtvZGw7aWRsO2hwajtiYXQiDQotIyBCZWdpbiBTb3VyY2UgRmlsZQ0KLQ0KLVNPVVJDRT0uXGV4dHJhY3QuYw0KLSMgRW5kIFNvdXJjZSBGaWxlDQotIyBCZWdpbiBTb3VyY2UgRmlsZQ0KLQ0KLVNPVVJDRT0uXGluc3RhbGwuYw0KLSMgRW5kIFNvdXJjZSBGaWxlDQotIyBCZWdpbiBTb3VyY2UgRmlsZQ0KLQ0KLVNPVVJDRT0uXGluc3RhbGwucmMNCi0jIEVuZCBTb3VyY2UgRmlsZQ0KLSMgRW5kIEdyb3VwDQotIyBCZWdpbiBHcm91cCAiSGVhZGVyIEZpbGVzIg0KLQ0KLSMgUFJPUCBEZWZhdWx0X0ZpbHRlciAiaDtocHA7aHh4O2htO2lubCINCi0jIEJlZ2luIFNvdXJjZSBGaWxlDQotDQotU09VUkNFPS5cYXJjaGl2ZS5oDQotIyBFbmQgU291cmNlIEZpbGUNCi0jIEVuZCBHcm91cA0KLSMgQmVnaW4gR3JvdXAgIlJlc291cmNlIEZpbGVzIg0KLQ0KLSMgUFJPUCBEZWZhdWx0X0ZpbHRlciAiaWNvO2N1cjtibXA7ZGxnO3JjMjtyY3Q7YmluO3JncztnaWY7anBnO2pwZWc7anBlIg0KLSMgQmVnaW4gU291cmNlIEZpbGUNCi0NCi1TT1VSQ0U9LlxQeXRob25Qb3dlcmVkLmJtcA0KLSMgRW5kIFNvdXJjZSBGaWxlDQotIyBFbmQgR3JvdXANCi0jIEVuZCBUYXJnZXQNCi0jIEVuZCBQcm9qZWN0DQpkaWZmIC0tZ2l0IGEvUEMvYmRpc3Rfd2luaW5zdC93aW5pbnN0LmRzdyBiL1BDL2JkaXN0X3dpbmluc3Qvd2luaW5zdC5kc3cKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZiYzY2YWEuLjAwMDAwMDAKLS0tIGEvUEMvYmRpc3Rfd2luaW5zdC93aW5pbnN0LmRzdworKysgL2Rldi9udWxsCkBAIC0xLDI5ICswLDAgQEAKLU1pY3Jvc29mdCBEZXZlbG9wZXIgU3R1ZGlvIFdvcmtzcGFjZSBGaWxlLCBGb3JtYXQgVmVyc2lvbiA2LjAwDQotIyBXQVJOSU5HOiBETyBOT1QgRURJVCBPUiBERUxFVEUgVEhJUyBXT1JLU1BBQ0UgRklMRSENCi0NCi0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQotDQotUHJvamVjdDogIndpbmluc3QiPS5cd2luaW5zdC5kc3AgLSBQYWNrYWdlIE93bmVyPTw0Pg0KLQ0KLVBhY2thZ2U9PDU+DQote3t7DQotfX19DQotDQotUGFja2FnZT08ND4NCi17e3sNCi19fX0NCi0NCi0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQotDQotR2xvYmFsOg0KLQ0KLVBhY2thZ2U9PDU+DQote3t7DQotfX19DQotDQotUGFja2FnZT08Mz4NCi17e3sNCi19fX0NCi0NCi0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQotDQpkaWZmIC0tZ2l0IGEvUEMvY29uZmlnLmMgYi9QQy9jb25maWcuYwppbmRleCA3MmM5MzgxLi40OGRiY2MwIDEwMDY0NAotLS0gYS9QQy9jb25maWcuYworKysgYi9QQy9jb25maWcuYwpAQCAtMTksNyArMTksNyBAQAogZXh0ZXJuIFB5T2JqZWN0KiBQeUluaXRfX21kNSh2b2lkKTsKIGV4dGVybiBQeU9iamVjdCogUHlJbml0X250KHZvaWQpOwogZXh0ZXJuIFB5T2JqZWN0KiBQeUluaXRfX29wZXJhdG9yKHZvaWQpOwotZXh0ZXJuIFB5T2JqZWN0KiBQeUluaXRfc2lnbmFsKHZvaWQpOworZXh0ZXJuIFB5T2JqZWN0KiBQeUluaXRfX3NpZ25hbCh2b2lkKTsKIGV4dGVybiBQeU9iamVjdCogUHlJbml0X19zaGExKHZvaWQpOwogZXh0ZXJuIFB5T2JqZWN0KiBQeUluaXRfX3NoYTI1Nih2b2lkKTsKIGV4dGVybiBQeU9iamVjdCogUHlJbml0X19zaGE1MTIodm9pZCk7CkBAIC05MSw3ICs5MSw3IEBACiAgICAgeyJtYXRoIiwgUHlJbml0X21hdGh9LAogICAgIHsibnQiLCBQeUluaXRfbnR9LCAvKiBVc2UgdGhlIE5UIG9zIGZ1bmN0aW9ucywgbm90IHBvc2l4ICovCiAgICAgeyJfb3BlcmF0b3IiLCBQeUluaXRfX29wZXJhdG9yfSwKLSAgICB7InNpZ25hbCIsIFB5SW5pdF9zaWduYWx9LAorICAgIHsiX3NpZ25hbCIsIFB5SW5pdF9fc2lnbmFsfSwKICAgICB7Il9tZDUiLCBQeUluaXRfX21kNX0sCiAgICAgeyJfc2hhMSIsIFB5SW5pdF9fc2hhMX0sCiAgICAgeyJfc2hhMjU2IiwgUHlJbml0X19zaGEyNTZ9LApkaWZmIC0tZ2l0IGEvUEMvZGxfbnQuYyBiL1BDL2RsX250LmMKaW5kZXggYWUxMGZiNS4uYzg3YzUxZSAxMDA2NDQKLS0tIGEvUEMvZGxfbnQuYworKysgYi9QQy9kbF9udC5jCkBAIC0xMiw3ICsxMiwxMiBAQAogI2luY2x1ZGUgIndpbmRvd3MuaCIKIAogI2lmZGVmIFB5X0VOQUJMRV9TSEFSRUQKKyNpZmRlZiBNU19ETExfSUQKKy8vIFRoZSBzdHJpbmcgaXMgYXZhaWxhYmxlIGF0IGJ1aWxkLCBzbyBmaWxsIHRoZSBidWZmZXIgaW1tZWRpYXRlbHkKK2NoYXIgZGxsVmVyc2lvbkJ1ZmZlclsxNl0gPSBNU19ETExfSUQ7CisjZWxzZQogY2hhciBkbGxWZXJzaW9uQnVmZmVyWzE2XSA9ICIiOyAvLyBhIHByaXZhdGUgYnVmZmVyCisjZW5kaWYKIAogLy8gUHl0aG9uIEdsb2JhbHMKIEhNT0RVTEUgUHlXaW5fRExMaE1vZHVsZSA9IE5VTEw7CkBAIC04OCw4ICs5MywxMSBAQAogICAgIHsKICAgICAgICAgY2FzZSBETExfUFJPQ0VTU19BVFRBQ0g6CiAgICAgICAgICAgICBQeVdpbl9ETExoTW9kdWxlID0gaEluc3Q7CisjaWZuZGVmIE1TX0RMTF9JRAorICAgICAgICAgICAgLy8gSWYgd2UgaGF2ZSBNU19ETExfSUQsIHdlIGRvbid0IG5lZWQgdG8gbG9hZCB0aGUgc3RyaW5nLgogICAgICAgICAgICAgLy8gMTAwMCBpcyBhIG1hZ2ljIG51bWJlciBJIHBpY2tlZCBvdXQgb2YgdGhlIGFpci4gIENvdWxkIGRvIHdpdGggYSAjZGVmaW5lLCBJIHNwb3NlLi4uCiAgICAgICAgICAgICBMb2FkU3RyaW5nKGhJbnN0LCAxMDAwLCBkbGxWZXJzaW9uQnVmZmVyLCBzaXplb2YoZGxsVmVyc2lvbkJ1ZmZlcikpOworI2VuZGlmCiAKICNpZiBIQVZFX1NYUwogICAgICAgICAgICAgLy8gYW5kIGNhcHR1cmUgb3VyIGFjdGl2YXRpb24gY29udGV4dCBmb3IgdXNlIHdoZW4gbG9hZGluZyBleHRlbnNpb25zLgpkaWZmIC0tZ2l0IGEvUEMvZXhhbXBsZV9udC9leGFtcGxlLnZjcHJvaiBiL1BDL2V4YW1wbGVfbnQvZXhhbXBsZS52Y3Byb2oKaW5kZXggZGYzNjM0MS4uZDgyZjc2ZSAxMDA2NDQKLS0tIGEvUEMvZXhhbXBsZV9udC9leGFtcGxlLnZjcHJvagorKysgYi9QQy9leGFtcGxlX250L2V4YW1wbGUudmNwcm9qCkBAIC0zOSw3ICszOSw3IEBACiAJCQk8VG9vbA0KIAkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQogCQkJCUFkZGl0aW9uYWxPcHRpb25zPSIvZXhwb3J0OmluaXRleGFtcGxlIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJvZGJjMzIubGliIG9kYmNjcDMyLmxpYiBweXRob24zNC5saWIiDQorCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9Im9kYmMzMi5saWIgb2RiY2NwMzIubGliIHB5dGhvbjM1LmxpYiINCiAJCQkJT3V0cHV0RmlsZT0iLlxSZWxlYXNlL2V4YW1wbGUucHlkIg0KIAkJCQlMaW5rSW5jcmVtZW50YWw9IjEiDQogCQkJCVN1cHByZXNzU3RhcnR1cEJhbm5lcj0iVFJVRSINCkBAIC0xMDUsNyArMTA1LDcgQEAKIAkJCTxUb29sDQogCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCiAJCQkJQWRkaXRpb25hbE9wdGlvbnM9Ii9leHBvcnQ6aW5pdGV4YW1wbGUiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9Im9kYmMzMi5saWIgb2RiY2NwMzIubGliIHB5dGhvbjM0X2QubGliIg0KKwkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJvZGJjMzIubGliIG9kYmNjcDMyLmxpYiBweXRob24zNV9kLmxpYiINCiAJCQkJT3V0cHV0RmlsZT0iLlxEZWJ1Zy9leGFtcGxlX2QucHlkIg0KIAkJCQlMaW5rSW5jcmVtZW50YWw9IjEiDQogCQkJCVN1cHByZXNzU3RhcnR1cEJhbm5lcj0iVFJVRSINCmRpZmYgLS1naXQgYS9QQy9nZXRwYXRocC5jIGIvUEMvZ2V0cGF0aHAuYwppbmRleCBkZWI0MGU3Li5kNGY0NTc0IDEwMDY0NAotLS0gYS9QQy9nZXRwYXRocC5jCisrKyBiL1BDL2dldHBhdGhwLmMKQEAgLTQ1MSwxMSArNDUxLDEyIEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG1wYnVmZmVyLCBNQVhQQVRITEVOICogMik7CiAgICAgICAgICAgICBQeV9ERUNSRUYoZGVjb2RlZCk7CiAgICAgICAgICAgICBpZiAoayA+PSAwKSB7Ci0gICAgICAgICAgICAgICAgd2NoYXJfdCAqIHRvayA9IHdjc3Rvayh0bXBidWZmZXIsIEwiIFx0XHJcbiIpOworICAgICAgICAgICAgICAgIHdjaGFyX3QgKiBjb250ZXh0ID0gTlVMTDsKKyAgICAgICAgICAgICAgICB3Y2hhcl90ICogdG9rID0gd2NzdG9rX3ModG1wYnVmZmVyLCBMIiBcdFxyXG4iLCAmY29udGV4dCk7CiAgICAgICAgICAgICAgICAgaWYgKCh0b2sgIT0gTlVMTCkgJiYgIXdjc2NtcCh0b2ssIGtleSkpIHsKLSAgICAgICAgICAgICAgICAgICAgdG9rID0gd2NzdG9rKE5VTEwsIEwiIFx0Iik7CisgICAgICAgICAgICAgICAgICAgIHRvayA9IHdjc3Rva19zKE5VTEwsIEwiIFx0IiwgJmNvbnRleHQpOwogICAgICAgICAgICAgICAgICAgICBpZiAoKHRvayAhPSBOVUxMKSAmJiAhd2NzY21wKHRvaywgTCI9IikpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIHRvayA9IHdjc3RvayhOVUxMLCBMIlxyXG4iKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHRvayA9IHdjc3Rva19zKE5VTEwsIEwiXHJcbiIsICZjb250ZXh0KTsKICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0b2sgIT0gTlVMTCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdjc25jcHkodmFsdWUsIHRvaywgTUFYUEFUSExFTik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0ID0gMTsKZGlmZiAtLWdpdCBhL1BDL2ludmFsaWRfcGFyYW1ldGVyX2hhbmRsZXIuYyBiL1BDL2ludmFsaWRfcGFyYW1ldGVyX2hhbmRsZXIuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYmMwMTA0Ci0tLSAvZGV2L251bGwKKysrIGIvUEMvaW52YWxpZF9wYXJhbWV0ZXJfaGFuZGxlci5jCkBAIC0wLDAgKzEsMjIgQEAKKyNpZmRlZiBfTVNDX1ZFUgorCisjaW5jbHVkZSA8c3RkbGliLmg+CisKKyNpZiBfTVNDX1ZFUiA+PSAxOTAwCisvKiBweWNvbmZpZy5oIHVzZXMgdGhpcyBmdW5jdGlvbiBpbiB0aGUgX1B5X0JFR0lOL0VORF9TVVBQUkVTU19JUEgKKyAqIG1hY3Jvcy4gSXQgZG9lcyBub3QgbmVlZCB0byBiZSBkZWZpbmVkIHdoZW4gYnVpbGRpbmcgdXNpbmcgTVNWQworICogZWFybGllciB0aGFuIDE0LjAgKF9NU0NfVkVSID09IDE5MDApLgorICovCisKK3N0YXRpYyB2b2lkIF9fY2RlY2wgX3NpbGVudF9pbnZhbGlkX3BhcmFtZXRlcl9oYW5kbGVyKAorICAgIHdjaGFyX3QgY29uc3QqIGV4cHJlc3Npb24sCisgICAgd2NoYXJfdCBjb25zdCogZnVuY3Rpb24sCisgICAgd2NoYXJfdCBjb25zdCogZmlsZSwKKyAgICB1bnNpZ25lZCBpbnQgbGluZSwKKyAgICB1aW50cHRyX3QgcFJlc2VydmVkKSB7IH0KKwordm9pZCAqX1B5X3NpbGVudF9pbnZhbGlkX3BhcmFtZXRlcl9oYW5kbGVyID0KKyAgICAodm9pZCopX3NpbGVudF9pbnZhbGlkX3BhcmFtZXRlcl9oYW5kbGVyOworI2VuZGlmCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvUEMvbGF1bmNoZXIuYyBiL1BDL2xhdW5jaGVyLmMKaW5kZXggZWUzY2Q0NC4uMzNkZDVkYSAxMDA2NDQKLS0tIGEvUEMvbGF1bmNoZXIuYworKysgYi9QQy9sYXVuY2hlci5jCkBAIC04NywxMyArODcsMTMgQEAKICAgICBpZiAocmMgPT0gMCkgeyAgLyogYSBXaW5kb3dzIGVycm9yICovCiAgICAgICAgIHdpbmVycm9yKEdldExhc3RFcnJvcigpLCB3aW5fbWVzc2FnZSwgTVNHU0laRSk7CiAgICAgICAgIGlmIChsZW4gPj0gMCkgewotICAgICAgICAgICAgX3Nud3ByaW50Zl9zKCZtZXNzYWdlW2xlbl0sIE1TR1NJWkUgLSBsZW4sIF9UUlVOQ0FURSwgTCI6ICVzIiwKKyAgICAgICAgICAgIF9zbndwcmludGZfcygmbWVzc2FnZVtsZW5dLCBNU0dTSVpFIC0gbGVuLCBfVFJVTkNBVEUsIEwiOiAlbHMiLAogICAgICAgICAgICAgICAgICAgICAgICAgIHdpbl9tZXNzYWdlKTsKICAgICAgICAgfQogICAgIH0KIAogI2lmICFkZWZpbmVkKF9XSU5ET1dTKQotICAgIGZ3cHJpbnRmKHN0ZGVyciwgTCIlc1xuIiwgbWVzc2FnZSk7CisgICAgZndwcmludGYoc3RkZXJyLCBMIiVsc1xuIiwgbWVzc2FnZSk7CiAjZWxzZQogICAgIE1lc3NhZ2VCb3goTlVMTCwgbWVzc2FnZSwgVEVYVCgiUHl0aG9uIExhdW5jaGVyIGlzIHNvcnJ5IHRvIHNheSAuLi4iKSwKICAgICAgICAgICAgICAgIE1CX09LKTsgCkBAIC0xNTcsMTQgKzE1NywxOSBAQAogCiBzdGF0aWMgc2l6ZV90IG51bV9pbnN0YWxsZWRfcHl0aG9ucyA9IDA7CiAKLS8qIHRvIGhvbGQgU09GVFdBUkVcUHl0aG9uXFB5dGhvbkNvcmVcWC5ZXEluc3RhbGxQYXRoICovCisvKgorICogVG8gaG9sZCBTT0ZUV0FSRVxQeXRob25cUHl0aG9uQ29yZVxYLlkuLi5cSW5zdGFsbFBhdGgKKyAqIFRoZSB2ZXJzaW9uIG5hbWUgY2FuIGJlIGxvbmdlciB0aGFuIE1BWF9WRVJTSU9OX1NJWkUsIGJ1dCB3aWxsIGJlCisgKiB0cnVuY2F0ZWQgdG8ganVzdCBYLlkgZm9yIGNvbXBhcmlzb25zLgorICovCiAjZGVmaW5lIElQX0JBU0VfU0laRSA0MAotI2RlZmluZSBJUF9TSVpFIChJUF9CQVNFX1NJWkUgKyBNQVhfVkVSU0lPTl9TSVpFKQorI2RlZmluZSBJUF9WRVJTSU9OX1NJWkUgOAorI2RlZmluZSBJUF9TSVpFIChJUF9CQVNFX1NJWkUgKyBJUF9WRVJTSU9OX1NJWkUpCiAjZGVmaW5lIENPUkVfUEFUSCBMIlNPRlRXQVJFXFxQeXRob25cXFB5dGhvbkNvcmUiCiAKIHN0YXRpYyB3Y2hhcl90ICogbG9jYXRpb25fY2hlY2tzW10gPSB7CiAgICAgTCJcXCIsCi0gICAgTCJcXFBDQnVpbGRcXCIsCisgICAgTCJcXFBDQnVpbGRcXHdpbjMyXFwiLAogICAgIEwiXFxQQ0J1aWxkXFxhbWQ2NFxcIiwKICAgICBOVUxMCiB9OwpAQCAtMTk2LDM1ICsyMDEsMzggQEAKICAgICBCT09MIG9rOwogICAgIERXT1JEIHR5cGUsIGRhdGFfc2l6ZSwgYXR0cnM7CiAgICAgSU5TVEFMTEVEX1BZVEhPTiAqIGlwLCAqIHBpcDsKKyAgICB3Y2hhcl90IGlwX3ZlcnNpb25bSVBfVkVSU0lPTl9TSVpFXTsKICAgICB3Y2hhcl90IGlwX3BhdGhbSVBfU0laRV07CiAgICAgd2NoYXJfdCAqIGNoZWNrOwogICAgIHdjaGFyX3QgKiogY2hlY2twOwogICAgIHdjaGFyX3QgKmtleV9uYW1lID0gKHJvb3QgPT0gSEtFWV9MT0NBTF9NQUNISU5FKSA/IEwiSEtMTSIgOiBMIkhLQ1UiOwogCiAgICAgaWYgKHN0YXR1cyAhPSBFUlJPUl9TVUNDRVNTKQotICAgICAgICBkZWJ1ZyhMImxvY2F0ZV9weXRob25zX2Zvcl9rZXk6IHVuYWJsZSB0byBvcGVuIFB5dGhvbkNvcmUga2V5IGluICVzXG4iLAorICAgICAgICBkZWJ1ZyhMImxvY2F0ZV9weXRob25zX2Zvcl9rZXk6IHVuYWJsZSB0byBvcGVuIFB5dGhvbkNvcmUga2V5IGluICVsc1xuIiwKICAgICAgICAgICAgICAga2V5X25hbWUpOwogICAgIGVsc2UgewogICAgICAgICBpcCA9ICZpbnN0YWxsZWRfcHl0aG9uc1tudW1faW5zdGFsbGVkX3B5dGhvbnNdOwogICAgICAgICBmb3IgKGkgPSAwOyBudW1faW5zdGFsbGVkX3B5dGhvbnMgPCBNQVhfSU5TVEFMTEVEX1BZVEhPTlM7IGkrKykgewotICAgICAgICAgICAgc3RhdHVzID0gUmVnRW51bUtleVcoY29yZV9yb290LCBpLCBpcC0+dmVyc2lvbiwgTUFYX1ZFUlNJT05fU0laRSk7CisgICAgICAgICAgICBzdGF0dXMgPSBSZWdFbnVtS2V5Vyhjb3JlX3Jvb3QsIGksIGlwX3ZlcnNpb24sIElQX1ZFUlNJT05fU0laRSk7CiAgICAgICAgICAgICBpZiAoc3RhdHVzICE9IEVSUk9SX1NVQ0NFU1MpIHsKICAgICAgICAgICAgICAgICBpZiAoc3RhdHVzICE9IEVSUk9SX05PX01PUkVfSVRFTVMpIHsKICAgICAgICAgICAgICAgICAgICAgLyogdW5leHBlY3RlZCBlcnJvciAqLwogICAgICAgICAgICAgICAgICAgICB3aW5lcnJvcihzdGF0dXMsIG1lc3NhZ2UsIE1TR1NJWkUpOwotICAgICAgICAgICAgICAgICAgICBkZWJ1ZyhMIkNhbid0IGVudW1lcmF0ZSByZWdpc3RyeSBrZXkgZm9yIHZlcnNpb24gJXM6ICVzXG4iLAotICAgICAgICAgICAgICAgICAgICAgICAgICBpcC0+dmVyc2lvbiwgbWVzc2FnZSk7CisgICAgICAgICAgICAgICAgICAgIGRlYnVnKEwiQ2FuJ3QgZW51bWVyYXRlIHJlZ2lzdHJ5IGtleSBmb3IgdmVyc2lvbiAlbHM6ICVsc1xuIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaXBfdmVyc2lvbiwgbWVzc2FnZSk7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgZWxzZSB7CisgICAgICAgICAgICAgICAgd2NzbmNweV9zKGlwLT52ZXJzaW9uLCBNQVhfVkVSU0lPTl9TSVpFLCBpcF92ZXJzaW9uLAorICAgICAgICAgICAgICAgICAgICAgICAgICBNQVhfVkVSU0lPTl9TSVpFLTEpOwogICAgICAgICAgICAgICAgIF9zbndwcmludGZfcyhpcF9wYXRoLCBJUF9TSVpFLCBfVFJVTkNBVEUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIEwiJXNcXCVzXFxJbnN0YWxsUGF0aCIsIENPUkVfUEFUSCwgaXAtPnZlcnNpb24pOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMIiVsc1xcJWxzXFxJbnN0YWxsUGF0aCIsIENPUkVfUEFUSCwgaXBfdmVyc2lvbik7CiAgICAgICAgICAgICAgICAgc3RhdHVzID0gUmVnT3BlbktleUV4Vyhyb290LCBpcF9wYXRoLCAwLCBmbGFncywgJmlwX2tleSk7CiAgICAgICAgICAgICAgICAgaWYgKHN0YXR1cyAhPSBFUlJPUl9TVUNDRVNTKSB7CiAgICAgICAgICAgICAgICAgICAgIHdpbmVycm9yKHN0YXR1cywgbWVzc2FnZSwgTVNHU0laRSk7CiAgICAgICAgICAgICAgICAgICAgIC8vIE5vdGU6ICdtZXNzYWdlJyBhbHJlYWR5IGhhcyBhIHRyYWlsaW5nIFxuCi0gICAgICAgICAgICAgICAgICAgIGRlYnVnKEwiJXNcXCVzOiAlcyIsIGtleV9uYW1lLCBpcF9wYXRoLCBtZXNzYWdlKTsKKyAgICAgICAgICAgICAgICAgICAgZGVidWcoTCIlbHNcXCVsczogJWxzIiwga2V5X25hbWUsIGlwX3BhdGgsIG1lc3NhZ2UpOwogICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgZGF0YV9zaXplID0gc2l6ZW9mKGlwLT5leGVjdXRhYmxlKSAtIDE7CkBAIC0yMzMsNyArMjQxLDcgQEAKICAgICAgICAgICAgICAgICBSZWdDbG9zZUtleShpcF9rZXkpOwogICAgICAgICAgICAgICAgIGlmIChzdGF0dXMgIT0gRVJST1JfU1VDQ0VTUykgewogICAgICAgICAgICAgICAgICAgICB3aW5lcnJvcihzdGF0dXMsIG1lc3NhZ2UsIE1TR1NJWkUpOwotICAgICAgICAgICAgICAgICAgICBkZWJ1ZyhMIiVzXFwlczogJXNcbiIsIGtleV9uYW1lLCBpcF9wYXRoLCBtZXNzYWdlKTsKKyAgICAgICAgICAgICAgICAgICAgZGVidWcoTCIlbHNcXCVsczogJWxzXG4iLCBrZXlfbmFtZSwgaXBfcGF0aCwgbWVzc2FnZSk7CiAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICBpZiAodHlwZSA9PSBSRUdfU1opIHsKQEAgLTI0NiwyNyArMjU0LDI3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICBfc253cHJpbnRmX3MoJmlwLT5leGVjdXRhYmxlW2RhdGFfc2l6ZV0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUFYX1BBVEggLSBkYXRhX3NpemUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUFYX1BBVEggLSBkYXRhX3NpemUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTCIlcyVzIiwgY2hlY2ssIFBZVEhPTl9FWEVDVVRBQkxFKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMIiVscyVscyIsIGNoZWNrLCBQWVRIT05fRVhFQ1VUQUJMRSk7CiAgICAgICAgICAgICAgICAgICAgICAgICBhdHRycyA9IEdldEZpbGVBdHRyaWJ1dGVzVyhpcC0+ZXhlY3V0YWJsZSk7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoYXR0cnMgPT0gSU5WQUxJRF9GSUxFX0FUVFJJQlVURVMpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aW5lcnJvcihHZXRMYXN0RXJyb3IoKSwgbWVzc2FnZSwgTVNHU0laRSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVidWcoTCJsb2NhdGVfcHl0aG9uc19mb3Jfa2V5OiAlczogJXMiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlYnVnKEwibG9jYXRlX3B5dGhvbnNfZm9yX2tleTogJWxzOiAlbHMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlwLT5leGVjdXRhYmxlLCBtZXNzYWdlKTsKICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKGF0dHJzICYgRklMRV9BVFRSSUJVVEVfRElSRUNUT1JZKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVidWcoTCJsb2NhdGVfcHl0aG9uc19mb3Jfa2V5OiAnJXMnIGlzIGEgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlYnVnKEwibG9jYXRlX3B5dGhvbnNfZm9yX2tleTogJyVscycgaXMgYSBcCiBkaXJlY3RvcnlcbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXAtPmV4ZWN1dGFibGUsIGF0dHJzKTsKICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKGZpbmRfZXhpc3RpbmdfcHl0aG9uKGlwLT5leGVjdXRhYmxlKSkgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlYnVnKEwibG9jYXRlX3B5dGhvbnNfZm9yX2tleTogJXM6IGFscmVhZHkgXAotZm91bmQ6ICVzXG4iLCBpcC0+ZXhlY3V0YWJsZSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVidWcoTCJsb2NhdGVfcHl0aG9uc19mb3Jfa2V5OiAlbHM6IGFscmVhZHkgXAorZm91bmQ6ICVsc1xuIiwgaXAtPmV4ZWN1dGFibGUpOwogICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogY2hlY2sgdGhlIGV4ZWN1dGFibGUgdHlwZS4gKi8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvayA9IEdldEJpbmFyeVR5cGVXKGlwLT5leGVjdXRhYmxlLCAmYXR0cnMpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghb2spIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVidWcoTCJGYWlsdXJlIGdldHRpbmcgYmluYXJ5IHR5cGU6ICVzXG4iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWJ1ZyhMIkZhaWx1cmUgZ2V0dGluZyBiaW5hcnkgdHlwZTogJWxzXG4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpcC0+ZXhlY3V0YWJsZSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgewpAQCAtMjc3LDcgKzI4NSw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlwLT5iaXRzID0gMDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlwLT5iaXRzID09IDApIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlYnVnKEwibG9jYXRlX3B5dGhvbnNfZm9yX2tleTogJXM6IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlYnVnKEwibG9jYXRlX3B5dGhvbnNfZm9yX2tleTogJWxzOiBcCiBpbnZhbGlkIGJpbmFyeSB0eXBlOiAlWFxuIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlwLT5leGVjdXRhYmxlLCBhdHRycyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KQEAgLTI5MSw3ICsyOTksNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlwLT5leGVjdXRhYmxlW24gKyAxXSA9IEwnXCInOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlwLT5leGVjdXRhYmxlW24gKyAyXSA9IEwnXDAnOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVidWcoTCJsb2NhdGVfcHl0aG9uc19mb3Jfa2V5OiAlcyBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWJ1ZyhMImxvY2F0ZV9weXRob25zX2Zvcl9rZXk6ICVscyBcCiBpcyBhICVkYml0IGV4ZWN1dGFibGVcbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXAtPmV4ZWN1dGFibGUsIGlwLT5iaXRzKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICsrbnVtX2luc3RhbGxlZF9weXRob25zOwpAQCAtMzc2LDYgKzM4NCwzMSBAQAogfQogCiAKK3N0YXRpYyB3Y2hhcl90ICoKK2ZpbmRfcHl0aG9uX2J5X3ZlbnYoKQoreworICAgIHN0YXRpYyB3Y2hhcl90IHZlbnZfcHl0aG9uW01BWF9QQVRIXTsKKyAgICB3Y2hhcl90ICp2aXJ0dWFsX2VudiA9IGdldF9lbnYoTCJWSVJUVUFMX0VOViIpOworICAgIERXT1JEIGF0dHJzOworCisgICAgLyogQ2hlY2sgZm9yIFZJUlRVQUxfRU5WIGVudmlyb25tZW50IHZhcmlhYmxlICovCisgICAgaWYgKHZpcnR1YWxfZW52ID09IE5VTEwgfHwgdmlydHVhbF9lbnZbMF0gPT0gTCdcMCcpIHsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorCisgICAgLyogQ2hlY2sgZm9yIGEgcHl0aG9uIGV4ZWN1dGFibGUgaW4gdGhlIHZlbnYgKi8KKyAgICBkZWJ1ZyhMIkNoZWNraW5nIGZvciBQeXRob24gZXhlY3V0YWJsZSBpbiB2aXJ0dWFsIGVudiAnJWxzJ1xuIiwgdmlydHVhbF9lbnYpOworICAgIF9zbndwcmludGZfcyh2ZW52X3B5dGhvbiwgTUFYX1BBVEgsIF9UUlVOQ0FURSwKKyAgICAgICAgICAgIEwiJWxzXFxTY3JpcHRzXFwlbHMiLCB2aXJ0dWFsX2VudiwgUFlUSE9OX0VYRUNVVEFCTEUpOworICAgIGF0dHJzID0gR2V0RmlsZUF0dHJpYnV0ZXNXKHZlbnZfcHl0aG9uKTsKKyAgICBpZiAoYXR0cnMgPT0gSU5WQUxJRF9GSUxFX0FUVFJJQlVURVMpIHsKKyAgICAgICAgZGVidWcoTCJQeXRob24gZXhlY3V0YWJsZSAlbHMgbWlzc2luZyBmcm9tIHZpcnR1YWwgZW52XG4iLCB2ZW52X3B5dGhvbik7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKworICAgIHJldHVybiB2ZW52X3B5dGhvbjsKK30KKwogc3RhdGljIHdjaGFyX3QgYXBwZGF0YV9pbmlfcGF0aFtNQVhfUEFUSF07CiBzdGF0aWMgd2NoYXJfdCBsYXVuY2hlcl9pbmlfcGF0aFtNQVhfUEFUSF07CiAKQEAgLTM5Nyw3ICs0MzAsNyBAQAogICAgIERXT1JEIHNpemU7CiAKICAgICAvKiBGaXJzdCwgc2VhcmNoIHRoZSBlbnZpcm9ubWVudC4gKi8KLSAgICBfc253cHJpbnRmX3MoY29uZmlndXJlZF92YWx1ZSwgTVNHU0laRSwgX1RSVU5DQVRFLCBMInB5XyVzIiwga2V5KTsKKyAgICBfc253cHJpbnRmX3MoY29uZmlndXJlZF92YWx1ZSwgTVNHU0laRSwgX1RSVU5DQVRFLCBMInB5XyVscyIsIGtleSk7CiAgICAgcmVzdWx0ID0gZ2V0X2Vudihjb25maWd1cmVkX3ZhbHVlKTsKICAgICBpZiAocmVzdWx0ID09IE5VTEwgJiYgYXBwZGF0YV9pbmlfcGF0aFswXSkgewogICAgICAgICAvKiBOb3QgaW4gZW52aXJvbm1lbnQ6IGNoZWNrIGxvY2FsIGNvbmZpZ3VyYXRpb24uICovCkBAIC00MjAsMTAgKzQ1MywxMCBAQAogICAgICAgICB9CiAgICAgfQogICAgIGlmIChyZXN1bHQpIHsKLSAgICAgICAgZGVidWcoTCJmb3VuZCBjb25maWd1cmVkIHZhbHVlICclcz0lcycgaW4gJXNcbiIsCisgICAgICAgIGRlYnVnKEwiZm91bmQgY29uZmlndXJlZCB2YWx1ZSAnJWxzPSVscycgaW4gJWxzXG4iLAogICAgICAgICAgICAgICBrZXksIHJlc3VsdCwgZm91bmRfaW4gPyBmb3VuZF9pbiA6IEwiKHVua25vd24pIik7CiAgICAgfSBlbHNlIHsKLSAgICAgICAgZGVidWcoTCJmb3VuZCBubyBjb25maWd1cmVkIHZhbHVlIGZvciAnJXMnXG4iLCBrZXkpOworICAgICAgICBkZWJ1ZyhMImZvdW5kIG5vIGNvbmZpZ3VyZWQgdmFsdWUgZm9yICclbHMnXG4iLCBrZXkpOwogICAgIH0KICAgICByZXR1cm4gcmVzdWx0OwogfQpAQCAtNDQ5LDkgKzQ4Miw5IEBACiAgICAgfQogICAgIGlmICgqd2FudGVkX3ZlcikgewogICAgICAgICByZXN1bHQgPSBmaW5kX3B5dGhvbl9ieV92ZXJzaW9uKHdhbnRlZF92ZXIpOwotICAgICAgICBkZWJ1ZyhMInNlYXJjaCBmb3IgUHl0aG9uIHZlcnNpb24gJyVzJyBmb3VuZCAiLCB3YW50ZWRfdmVyKTsKKyAgICAgICAgZGVidWcoTCJzZWFyY2ggZm9yIFB5dGhvbiB2ZXJzaW9uICclbHMnIGZvdW5kICIsIHdhbnRlZF92ZXIpOwogICAgICAgICBpZiAocmVzdWx0KSB7Ci0gICAgICAgICAgICBkZWJ1ZyhMIiclcydcbiIsIHJlc3VsdC0+ZXhlY3V0YWJsZSk7CisgICAgICAgICAgICBkZWJ1ZyhMIiclbHMnXG4iLCByZXN1bHQtPmV4ZWN1dGFibGUpOwogICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgZGVidWcoTCJubyBpbnRlcnByZXRlclxuIik7CiAgICAgICAgIH0KQEAgLTQ2Nyw3ICs1MDAsNyBAQAogICAgICAgICAgICAgcmVzdWx0ID0gZmluZF9weXRob25fYnlfdmVyc2lvbihMIjMiKTsKICAgICAgICAgZGVidWcoTCJzZWFyY2ggZm9yIGRlZmF1bHQgUHl0aG9uIGZvdW5kICIpOwogICAgICAgICBpZiAocmVzdWx0KSB7Ci0gICAgICAgICAgICBkZWJ1ZyhMInZlcnNpb24gJXMgYXQgJyVzJ1xuIiwKKyAgICAgICAgICAgIGRlYnVnKEwidmVyc2lvbiAlbHMgYXQgJyVscydcbiIsCiAgICAgICAgICAgICAgICAgICByZXN1bHQtPnZlcnNpb24sIHJlc3VsdC0+ZXhlY3V0YWJsZSk7CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICBkZWJ1ZyhMIm5vIGludGVycHJldGVyXG4iKTsKQEAgLTUwNSwxOSArNTM4LDE5IEBACiAgICAgcGxlbiA9IEdldE1vZHVsZUZpbGVOYW1lVyhOVUxMLCB3cmFwcGVkX3NjcmlwdF9wYXRoLCBNQVhfUEFUSCk7CiAgICAgcCA9IHdjc3JjaHIod3JhcHBlZF9zY3JpcHRfcGF0aCwgTCcuJyk7CiAgICAgaWYgKHAgPT0gTlVMTCkgewotICAgICAgICBkZWJ1ZyhMIkdldE1vZHVsZUZpbGVOYW1lVyByZXR1cm5lZCB2YWx1ZSBoYXMgbm8gZXh0ZW5zaW9uOiAlc1xuIiwKKyAgICAgICAgZGVidWcoTCJHZXRNb2R1bGVGaWxlTmFtZVcgcmV0dXJuZWQgdmFsdWUgaGFzIG5vIGV4dGVuc2lvbjogJWxzXG4iLAogICAgICAgICAgICAgICB3cmFwcGVkX3NjcmlwdF9wYXRoKTsKLSAgICAgICAgZXJyb3IoUkNfTk9fU0NSSVBULCBMIldyYXBwZXIgbmFtZSAnJXMnIGlzIG5vdCB2YWxpZC4iLCB3cmFwcGVkX3NjcmlwdF9wYXRoKTsKKyAgICAgICAgZXJyb3IoUkNfTk9fU0NSSVBULCBMIldyYXBwZXIgbmFtZSAnJWxzJyBpcyBub3QgdmFsaWQuIiwgd3JhcHBlZF9zY3JpcHRfcGF0aCk7CiAgICAgfQogCiAgICAgd2NzbmNweV9zKHAsIE1BWF9QQVRIIC0gKHAgLSB3cmFwcGVkX3NjcmlwdF9wYXRoKSArIDEsIFNDUklQVF9TVUZGSVgsIF9UUlVOQ0FURSk7CiAgICAgYXR0cnMgPSBHZXRGaWxlQXR0cmlidXRlc1cod3JhcHBlZF9zY3JpcHRfcGF0aCk7CiAgICAgaWYgKGF0dHJzID09IElOVkFMSURfRklMRV9BVFRSSUJVVEVTKSB7Ci0gICAgICAgIGRlYnVnKEwiRmlsZSAnJXMnIG5vbi1leGlzdGVudFxuIiwgd3JhcHBlZF9zY3JpcHRfcGF0aCk7Ci0gICAgICAgIGVycm9yKFJDX05PX1NDUklQVCwgTCJTY3JpcHQgZmlsZSAnJXMnIGlzIG5vdCBwcmVzZW50LiIsIHdyYXBwZWRfc2NyaXB0X3BhdGgpOworICAgICAgICBkZWJ1ZyhMIkZpbGUgJyVscycgbm9uLWV4aXN0ZW50XG4iLCB3cmFwcGVkX3NjcmlwdF9wYXRoKTsKKyAgICAgICAgZXJyb3IoUkNfTk9fU0NSSVBULCBMIlNjcmlwdCBmaWxlICclbHMnIGlzIG5vdCBwcmVzZW50LiIsIHdyYXBwZWRfc2NyaXB0X3BhdGgpOwogICAgIH0KIAotICAgIGRlYnVnKEwiVXNpbmcgd3JhcHBlZCBzY3JpcHQgZmlsZSAnJXMnXG4iLCB3cmFwcGVkX3NjcmlwdF9wYXRoKTsKKyAgICBkZWJ1ZyhMIlVzaW5nIHdyYXBwZWQgc2NyaXB0IGZpbGUgJyVscydcbiIsIHdyYXBwZWRfc2NyaXB0X3BhdGgpOwogfQogI2VuZGlmCiAKQEAgLTU3OSw3ICs2MTIsNyBAQAogICAgIEdldE1lc3NhZ2UoJm1zZywgMCwgMCwgMCk7CiAjZW5kaWYKIAotICAgIGRlYnVnKEwicnVuX2NoaWxkOiBhYm91dCB0byBydW4gJyVzJ1xuIiwgY21kbGluZSk7CisgICAgZGVidWcoTCJydW5fY2hpbGQ6IGFib3V0IHRvIHJ1biAnJWxzJ1xuIiwgY21kbGluZSk7CiAgICAgam9iID0gQ3JlYXRlSm9iT2JqZWN0KE5VTEwsIE5VTEwpOwogICAgIG9rID0gUXVlcnlJbmZvcm1hdGlvbkpvYk9iamVjdChqb2IsIEpvYk9iamVjdEV4dGVuZGVkTGltaXRJbmZvcm1hdGlvbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmaW5mbywgc2l6ZW9mKGluZm8pLCAmcmMpOwpAQCAtNjExLDcgKzY0NCw3IEBACiAgICAgb2sgPSBDcmVhdGVQcm9jZXNzVyhOVUxMLCBjbWRsaW5lLCBOVUxMLCBOVUxMLCBUUlVFLAogICAgICAgICAgICAgICAgICAgICAgICAgMCwgTlVMTCwgTlVMTCwgJnNpLCAmcGkpOwogICAgIGlmICghb2spCi0gICAgICAgIGVycm9yKFJDX0NSRUFURV9QUk9DRVNTLCBMIlVuYWJsZSB0byBjcmVhdGUgcHJvY2VzcyB1c2luZyAnJXMnIiwgY21kbGluZSk7CisgICAgICAgIGVycm9yKFJDX0NSRUFURV9QUk9DRVNTLCBMIlVuYWJsZSB0byBjcmVhdGUgcHJvY2VzcyB1c2luZyAnJWxzJyIsIGNtZGxpbmUpOwogICAgIEFzc2lnblByb2Nlc3NUb0pvYk9iamVjdChqb2IsIHBpLmhQcm9jZXNzKTsKICAgICBDbG9zZUhhbmRsZShwaS5oVGhyZWFkKTsKICAgICBXYWl0Rm9yU2luZ2xlT2JqZWN0RXgocGkuaFByb2Nlc3MsIElORklOSVRFLCBGQUxTRSk7CkBAIC02NDgsMTEgKzY4MSwxMSBAQAogICAgICAgICAgICAgICAgICAgY2hpbGRfY29tbWFuZF9zaXplKTsKICAgICAgICAgaWYgKG5vX3N1ZmZpeCkKICAgICAgICAgICAgIF9zbndwcmludGZfcyhjaGlsZF9jb21tYW5kLCBjaGlsZF9jb21tYW5kX3NpemUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGRfY29tbWFuZF9zaXplIC0gMSwgTCIlcyAlcyIsCisgICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGRfY29tbWFuZF9zaXplIC0gMSwgTCIlbHMgJWxzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICBleGVjdXRhYmxlLCBjbWRsaW5lKTsKICAgICAgICAgZWxzZQogICAgICAgICAgICAgX3Nud3ByaW50Zl9zKGNoaWxkX2NvbW1hbmQsIGNoaWxkX2NvbW1hbmRfc2l6ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICBjaGlsZF9jb21tYW5kX3NpemUgLSAxLCBMIiVzICVzICVzIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICBjaGlsZF9jb21tYW5kX3NpemUgLSAxLCBMIiVscyAlbHMgJWxzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICBleGVjdXRhYmxlLCBzdWZmaXgsIGNtZGxpbmUpOwogICAgICAgICBydW5fY2hpbGQoY2hpbGRfY29tbWFuZCk7CiAgICAgICAgIGZyZWUoY2hpbGRfY29tbWFuZCk7CkBAIC03OTEsNyArODI0LDcgQEAKIGFkZF9jb21tYW5kKHdjaGFyX3QgKiBuYW1lLCB3Y2hhcl90ICogY21kbGluZSkKIHsKICAgICBpZiAobnVtX2NvbW1hbmRzID49IE1BWF9DT01NQU5EUykgewotICAgICAgICBkZWJ1ZyhMImNhbid0IGFkZCAlcyA9ICclcyc6IG5vIHJvb21cbiIsIG5hbWUsIGNtZGxpbmUpOworICAgICAgICBkZWJ1ZyhMImNhbid0IGFkZCAlbHMgPSAnJWxzJzogbm8gcm9vbVxuIiwgbmFtZSwgY21kbGluZSk7CiAgICAgfQogICAgIGVsc2UgewogICAgICAgICBDT01NQU5EICogY3AgPSAmY29tbWFuZHNbbnVtX2NvbW1hbmRzKytdOwpAQCAtODEzLDE0ICs4NDYsMTQgQEAKICAgICByZWFkID0gR2V0UHJpdmF0ZVByb2ZpbGVTdHJpbmdXKEwiY29tbWFuZHMiLCBOVUxMLCBOVUxMLCBrZXluYW1lcywgTVNHU0laRSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZpZ19wYXRoKTsKICAgICBpZiAocmVhZCA9PSBNU0dTSVpFIC0gMSkgewotICAgICAgICBkZWJ1ZyhMInJlYWRfY29tbWFuZHM6ICVzOiBub3QgZW5vdWdoIHNwYWNlIGZvciBuYW1lc1xuIiwgY29uZmlnX3BhdGgpOworICAgICAgICBkZWJ1ZyhMInJlYWRfY29tbWFuZHM6ICVsczogbm90IGVub3VnaCBzcGFjZSBmb3IgbmFtZXNcbiIsIGNvbmZpZ19wYXRoKTsKICAgICB9CiAgICAga2V5ID0ga2V5bmFtZXM7CiAgICAgd2hpbGUgKCprZXkpIHsKICAgICAgICAgcmVhZCA9IEdldFByaXZhdGVQcm9maWxlU3RyaW5nVyhMImNvbW1hbmRzIiwga2V5LCBOVUxMLCB2YWx1ZSwgTVNHU0laRSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZpZ19wYXRoKTsKICAgICAgICAgaWYgKHJlYWQgPT0gTVNHU0laRSAtIDEpIHsKLSAgICAgICAgICAgIGRlYnVnKEwicmVhZF9jb21tYW5kczogJXM6IG5vdCBlbm91Z2ggc3BhY2UgZm9yICVzXG4iLAorICAgICAgICAgICAgZGVidWcoTCJyZWFkX2NvbW1hbmRzOiAlbHM6IG5vdCBlbm91Z2ggc3BhY2UgZm9yICVsc1xuIiwKICAgICAgICAgICAgICAgICAgIGNvbmZpZ19wYXRoLCBrZXkpOwogICAgICAgICB9CiAgICAgICAgIGNtZHAgPSBza2lwX3doaXRlc3BhY2UodmFsdWUpOwpAQCAtMTA5Nyw3ICsxMTMwLDcgQEAKICAgICAgICAgaWYgKChyZWFkID49IDQpICYmIChidWZmZXJbM10gPT0gJ1xuJykgJiYgKGJ1ZmZlclsyXSA9PSAnXHInKSkgewogICAgICAgICAgICAgaXAgPSBmaW5kX2J5X21hZ2ljKChidWZmZXJbMV0gPDwgOCB8IGJ1ZmZlclswXSkgJiAweEZGRkYpOwogICAgICAgICAgICAgaWYgKGlwICE9IE5VTEwpIHsKLSAgICAgICAgICAgICAgICBkZWJ1ZyhMInNjcmlwdCBmaWxlIGlzIGNvbXBpbGVkIGFnYWluc3QgUHl0aG9uICVzXG4iLAorICAgICAgICAgICAgICAgIGRlYnVnKEwic2NyaXB0IGZpbGUgaXMgY29tcGlsZWQgYWdhaW5zdCBQeXRob24gJWxzXG4iLAogICAgICAgICAgICAgICAgICAgICAgIGlwLT52ZXJzaW9uKTsKICAgICAgICAgICAgICAgICBpbnZva2VfY2hpbGQoaXAtPmV4ZWN1dGFibGUsIE5VTEwsIGNtZGxpbmUpOwogICAgICAgICAgICAgfQpAQCAtMTIwMCw3ICsxMjMzLDcgQEAKICAgICAgICAgICAgICAgICBpc192aXJ0ID0gcGFyc2Vfc2hlYmFuZyhzaGViYW5nX2xpbmUsIG5jaGFycywgJmNvbW1hbmQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnN1ZmZpeCwgJnNlYXJjaCk7CiAgICAgICAgICAgICAgICAgaWYgKGNvbW1hbmQgIT0gTlVMTCkgewotICAgICAgICAgICAgICAgICAgICBkZWJ1ZyhMInBhcnNlX3NoZWJhbmc6IGZvdW5kIGNvbW1hbmQ6ICVzXG4iLCBjb21tYW5kKTsKKyAgICAgICAgICAgICAgICAgICAgZGVidWcoTCJwYXJzZV9zaGViYW5nOiBmb3VuZCBjb21tYW5kOiAlbHNcbiIsIGNvbW1hbmQpOwogICAgICAgICAgICAgICAgICAgICBpZiAoIWlzX3ZpcnQpIHsKICAgICAgICAgICAgICAgICAgICAgICAgIGludm9rZV9jaGlsZChjb21tYW5kLCBzdWZmaXgsIGNtZGxpbmUpOwogICAgICAgICAgICAgICAgICAgICB9CkBAIC0xMjEyLDcgKzEyNDUsNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHdjc25jbXAoY29tbWFuZCwgTCJweXRob24iLCA2KSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvcihSQ19CQURfVklSVFVBTF9QQVRILCBMIlVua25vd24gdmlydHVhbCBcCi1wYXRoICclcyciLCBjb21tYW5kKTsKK3BhdGggJyVscyciLCBjb21tYW5kKTsKICAgICAgICAgICAgICAgICAgICAgICAgIGNvbW1hbmQgKz0gNjsgICAvKiBza2lwIHBhc3QgInB5dGhvbiIgKi8KICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzZWFyY2ggJiYgKCgqY29tbWFuZCA9PSBMJ1wwJykgfHwgaXNzcGFjZSgqY29tbWFuZCkpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogQ29tbWFuZCBpcyBlbGlnaWJsZSBmb3IgcGF0aCBzZWFyY2gsIGFuZCB0aGVyZQpAQCAtMTIyMCw5ICsxMjUzLDkgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWJ1ZyhMInNlYXJjaGluZyBQQVRIIGZvciBweXRob24gZXhlY3V0YWJsZVxuIik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY21kID0gZmluZF9vbl9wYXRoKEwicHl0aG9uIik7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVidWcoTCJQeXRob24gb24gcGF0aDogJXNcbiIsIGNtZCA/IGNtZC0+dmFsdWUgOiBMIjxub3QgZm91bmQ+Iik7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVidWcoTCJQeXRob24gb24gcGF0aDogJWxzXG4iLCBjbWQgPyBjbWQtPnZhbHVlIDogTCI8bm90IGZvdW5kPiIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjbWQpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVidWcoTCJsb2NhdGVkIHB5dGhvbiBvbiBQQVRIOiAlc1xuIiwgY21kLT52YWx1ZSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlYnVnKEwibG9jYXRlZCBweXRob24gb24gUEFUSDogJWxzXG4iLCBjbWQtPnZhbHVlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW52b2tlX2NoaWxkKGNtZC0+dmFsdWUsIHN1ZmZpeCwgY21kbGluZSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIEV4aXQgaGVyZSwgYXMgd2UgaGF2ZSBmb3VuZCB0aGUgY29tbWFuZCAqLwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47CkBAIC0xMjMzLDE0ICsxMjY2LDE0IEBACiAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoKmNvbW1hbmQgJiYgIXZhbGlkYXRlX3ZlcnNpb24oY29tbWFuZCkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3IoUkNfQkFEX1ZJUlRVQUxfUEFUSCwgTCJJbnZhbGlkIHZlcnNpb24gXAotc3BlY2lmaWNhdGlvbjogJyVzJy5cbkluIHRoZSBmaXJzdCBsaW5lIG9mIHRoZSBzY3JpcHQsICdweXRob24nIG5lZWRzIHRvIGJlIFwKK3NwZWNpZmljYXRpb246ICclbHMnLlxuSW4gdGhlIGZpcnN0IGxpbmUgb2YgdGhlIHNjcmlwdCwgJ3B5dGhvbicgbmVlZHMgdG8gYmUgXAogZm9sbG93ZWQgYnkgYSB2YWxpZCB2ZXJzaW9uIHNwZWNpZmllci5cblBsZWFzZSBjaGVjayB0aGUgZG9jdW1lbnRhdGlvbi4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbW1hbmQpOwogICAgICAgICAgICAgICAgICAgICAgICAgLyogVE9ETyBjb3VsZCBjYWxsIHZhbGlkYXRlX3ZlcnNpb24oY29tbWFuZCkgKi8KICAgICAgICAgICAgICAgICAgICAgICAgIGlwID0gbG9jYXRlX3B5dGhvbihjb21tYW5kKTsKICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpcCA9PSBOVUxMKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3IoUkNfTk9fUFlUSE9OLCBMIlJlcXVlc3RlZCBQeXRob24gdmVyc2lvbiBcCi0oJXMpIGlzIG5vdCBpbnN0YWxsZWQiLCBjb21tYW5kKTsKKyglbHMpIGlzIG5vdCBpbnN0YWxsZWQiLCBjb21tYW5kKTsKICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludm9rZV9jaGlsZChpcC0+ZXhlY3V0YWJsZSwgc3VmZml4LCBjbWRsaW5lKTsKQEAgLTEzMDEsNiArMTMzNCw3IEBACiB7CiAgICAgd2NoYXJfdCAqIHdwOwogICAgIHdjaGFyX3QgKiBjb21tYW5kOworICAgIHdjaGFyX3QgKiBleGVjdXRhYmxlOwogICAgIHdjaGFyX3QgKiBwOwogICAgIGludCByYyA9IDA7CiAgICAgc2l6ZV90IHBsZW47CkBAIC0xMzQ3LDE3ICsxMzgxLDE3IEBACiAgICAgICAgIHdjc25jcHlfcyhwLCBNQVhfUEFUSCAtIHBsZW4sIEwiXFxweS5pbmkiLCBfVFJVTkNBVEUpOwogICAgICAgICBhdHRycyA9IEdldEZpbGVBdHRyaWJ1dGVzVyhhcHBkYXRhX2luaV9wYXRoKTsKICAgICAgICAgaWYgKGF0dHJzID09IElOVkFMSURfRklMRV9BVFRSSUJVVEVTKSB7Ci0gICAgICAgICAgICBkZWJ1ZyhMIkZpbGUgJyVzJyBub24tZXhpc3RlbnRcbiIsIGFwcGRhdGFfaW5pX3BhdGgpOworICAgICAgICAgICAgZGVidWcoTCJGaWxlICclbHMnIG5vbi1leGlzdGVudFxuIiwgYXBwZGF0YV9pbmlfcGF0aCk7CiAgICAgICAgICAgICBhcHBkYXRhX2luaV9wYXRoWzBdID0gTCdcMCc7CiAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICBkZWJ1ZyhMIlVzaW5nIGxvY2FsIGNvbmZpZ3VyYXRpb24gZmlsZSAnJXMnXG4iLCBhcHBkYXRhX2luaV9wYXRoKTsKKyAgICAgICAgICAgIGRlYnVnKEwiVXNpbmcgbG9jYWwgY29uZmlndXJhdGlvbiBmaWxlICclbHMnXG4iLCBhcHBkYXRhX2luaV9wYXRoKTsKICAgICAgICAgfQogICAgIH0KICAgICBwbGVuID0gR2V0TW9kdWxlRmlsZU5hbWVXKE5VTEwsIGxhdW5jaGVyX2luaV9wYXRoLCBNQVhfUEFUSCk7CiAgICAgc2l6ZSA9IEdldEZpbGVWZXJzaW9uSW5mb1NpemVXKGxhdW5jaGVyX2luaV9wYXRoLCAmc2l6ZSk7CiAgICAgaWYgKHNpemUgPT0gMCkgewogICAgICAgICB3aW5lcnJvcihHZXRMYXN0RXJyb3IoKSwgbWVzc2FnZSwgTVNHU0laRSk7Ci0gICAgICAgIGRlYnVnKEwiR2V0RmlsZVZlcnNpb25JbmZvU2l6ZSBmYWlsZWQ6ICVzXG4iLCBtZXNzYWdlKTsKKyAgICAgICAgZGVidWcoTCJHZXRGaWxlVmVyc2lvbkluZm9TaXplIGZhaWxlZDogJWxzXG4iLCBtZXNzYWdlKTsKICAgICB9CiAgICAgZWxzZSB7CiAgICAgICAgIHZlcnNpb25fZGF0YSA9IG1hbGxvYyhzaXplKTsKQEAgLTEzODEsNyArMTQxNSw3IEBACiAgICAgfQogICAgIHAgPSB3Y3NyY2hyKGxhdW5jaGVyX2luaV9wYXRoLCBMJ1xcJyk7CiAgICAgaWYgKHAgPT0gTlVMTCkgewotICAgICAgICBkZWJ1ZyhMIkdldE1vZHVsZUZpbGVOYW1lVyByZXR1cm5lZCB2YWx1ZSBoYXMgbm8gYmFja3NsYXNoOiAlc1xuIiwKKyAgICAgICAgZGVidWcoTCJHZXRNb2R1bGVGaWxlTmFtZVcgcmV0dXJuZWQgdmFsdWUgaGFzIG5vIGJhY2tzbGFzaDogJWxzXG4iLAogICAgICAgICAgICAgICBsYXVuY2hlcl9pbmlfcGF0aCk7CiAgICAgICAgIGxhdW5jaGVyX2luaV9wYXRoWzBdID0gTCdcMCc7CiAgICAgfQpAQCAtMTM5MCwxNSArMTQyNCwxNSBAQAogICAgICAgICAgICAgICAgICAgX1RSVU5DQVRFKTsKICAgICAgICAgYXR0cnMgPSBHZXRGaWxlQXR0cmlidXRlc1cobGF1bmNoZXJfaW5pX3BhdGgpOwogICAgICAgICBpZiAoYXR0cnMgPT0gSU5WQUxJRF9GSUxFX0FUVFJJQlVURVMpIHsKLSAgICAgICAgICAgIGRlYnVnKEwiRmlsZSAnJXMnIG5vbi1leGlzdGVudFxuIiwgbGF1bmNoZXJfaW5pX3BhdGgpOworICAgICAgICAgICAgZGVidWcoTCJGaWxlICclbHMnIG5vbi1leGlzdGVudFxuIiwgbGF1bmNoZXJfaW5pX3BhdGgpOwogICAgICAgICAgICAgbGF1bmNoZXJfaW5pX3BhdGhbMF0gPSBMJ1wwJzsKICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIGRlYnVnKEwiVXNpbmcgZ2xvYmFsIGNvbmZpZ3VyYXRpb24gZmlsZSAnJXMnXG4iLCBsYXVuY2hlcl9pbmlfcGF0aCk7CisgICAgICAgICAgICBkZWJ1ZyhMIlVzaW5nIGdsb2JhbCBjb25maWd1cmF0aW9uIGZpbGUgJyVscydcbiIsIGxhdW5jaGVyX2luaV9wYXRoKTsKICAgICAgICAgfQogICAgIH0KIAogICAgIGNvbW1hbmQgPSBza2lwX21lKEdldENvbW1hbmRMaW5lVygpKTsKLSAgICBkZWJ1ZyhMIkNhbGxlZCB3aXRoIGNvbW1hbmQgbGluZTogJXNcbiIsIGNvbW1hbmQpOworICAgIGRlYnVnKEwiQ2FsbGVkIHdpdGggY29tbWFuZCBsaW5lOiAlbHNcbiIsIGNvbW1hbmQpOwogCiAjaWYgZGVmaW5lZChTQ1JJUFRfV1JBUFBFUikKICAgICAvKiBUaGUgbGF1bmNoZXIgaXMgYmVpbmcgdXNlZCBpbiAic2NyaXB0IHdyYXBwZXIiIG1vZGUuCkBAIC0xNDIyLDcgKzE0NTYsNyBAQAogICAgICAgICB3Y3NjcHlfcyhuZXdjb21tYW5kLCBuZXdsZW4sIHdyYXBwZWRfc2NyaXB0X3BhdGgpOwogICAgICAgICB3Y3NjYXRfcyhuZXdjb21tYW5kLCBuZXdsZW4sIEwiICIpOwogICAgICAgICB3Y3NjYXRfcyhuZXdjb21tYW5kLCBuZXdsZW4sIGNvbW1hbmQpOwotICAgICAgICBkZWJ1ZyhMIlJ1bm5pbmcgd3JhcHBlZCBzY3JpcHQgd2l0aCBjb21tYW5kIGxpbmUgJyVzJ1xuIiwgbmV3Y29tbWFuZCk7CisgICAgICAgIGRlYnVnKEwiUnVubmluZyB3cmFwcGVkIHNjcmlwdCB3aXRoIGNvbW1hbmQgbGluZSAnJWxzJ1xuIiwgbmV3Y29tbWFuZCk7CiAgICAgICAgIHJlYWRfY29tbWFuZHMoKTsKICAgICAgICAgYXZbMF0gPSB3cmFwcGVkX3NjcmlwdF9wYXRoOwogICAgICAgICBhdlsxXSA9IE5VTEw7CkBAIC0xNDQzLDggKzE0NzcsOSBAQAogICAgICAgICBpZiAodmFsaWQpIHsKICAgICAgICAgICAgIGlwID0gbG9jYXRlX3B5dGhvbigmcFsxXSk7CiAgICAgICAgICAgICBpZiAoaXAgPT0gTlVMTCkKLSAgICAgICAgICAgICAgICBlcnJvcihSQ19OT19QWVRIT04sIEwiUmVxdWVzdGVkIFB5dGhvbiB2ZXJzaW9uICglcykgbm90IFwKKyAgICAgICAgICAgICAgICBlcnJvcihSQ19OT19QWVRIT04sIEwiUmVxdWVzdGVkIFB5dGhvbiB2ZXJzaW9uICglbHMpIG5vdCBcCiBpbnN0YWxsZWQiLCAmcFsxXSk7CisgICAgICAgICAgICBleGVjdXRhYmxlID0gaXAtPmV4ZWN1dGFibGU7CiAgICAgICAgICAgICBjb21tYW5kICs9IHdjc2xlbihwKTsKICAgICAgICAgICAgIGNvbW1hbmQgPSBza2lwX3doaXRlc3BhY2UoY29tbWFuZCk7CiAgICAgICAgIH0KQEAgLTE0NjIsOSArMTQ5NywxNiBAQAogI2VuZGlmCiAKICAgICBpZiAoIXZhbGlkKSB7Ci0gICAgICAgIGlwID0gbG9jYXRlX3B5dGhvbihMIiIpOwotICAgICAgICBpZiAoaXAgPT0gTlVMTCkKLSAgICAgICAgICAgIGVycm9yKFJDX05PX1BZVEhPTiwgTCJDYW4ndCBmaW5kIGEgZGVmYXVsdCBQeXRob24uIik7CisgICAgICAgIC8qIExvb2sgZm9yIGFuIGFjdGl2ZSB2aXJ0dWFsZW52ICovCisgICAgICAgIGV4ZWN1dGFibGUgPSBmaW5kX3B5dGhvbl9ieV92ZW52KCk7CisKKyAgICAgICAgLyogSWYgd2UgZGlkbid0IGZpbmQgb25lLCBsb29rIGZvciB0aGUgZGVmYXVsdCBQeXRob24gKi8KKyAgICAgICAgaWYgKGV4ZWN1dGFibGUgPT0gTlVMTCkgeworICAgICAgICAgICAgaXAgPSBsb2NhdGVfcHl0aG9uKEwiIik7CisgICAgICAgICAgICBpZiAoaXAgPT0gTlVMTCkKKyAgICAgICAgICAgICAgICBlcnJvcihSQ19OT19QWVRIT04sIEwiQ2FuJ3QgZmluZCBhIGRlZmF1bHQgUHl0aG9uLiIpOworICAgICAgICAgICAgZXhlY3V0YWJsZSA9IGlwLT5leGVjdXRhYmxlOworICAgICAgICB9CiAgICAgICAgIGlmICgoYXJnYyA9PSAyKSAmJiAoIV93Y3NpY21wKHAsIEwiLWgiKSB8fCAhX3djc2ljbXAocCwgTCItLWhlbHAiKSkpIHsKICNpZiBkZWZpbmVkKF9NX1g2NCkKICAgICAgICAgICAgIEJPT0wgY2FuRG82NGJpdCA9IFRSVUU7CkBAIC0xNDc2LDkgKzE1MTgsOSBAQAogCiAgICAgICAgICAgICBnZXRfdmVyc2lvbl9pbmZvKHZlcnNpb25fdGV4dCwgTUFYX1BBVEgpOwogICAgICAgICAgICAgZndwcmludGYoc3Rkb3V0LCBMIlwKLVB5dGhvbiBMYXVuY2hlciBmb3IgV2luZG93cyBWZXJzaW9uICVzXG5cbiIsIHZlcnNpb25fdGV4dCk7CitQeXRob24gTGF1bmNoZXIgZm9yIFdpbmRvd3MgVmVyc2lvbiAlbHNcblxuIiwgdmVyc2lvbl90ZXh0KTsKICAgICAgICAgICAgIGZ3cHJpbnRmKHN0ZG91dCwgTCJcCi11c2FnZTogJXMgWyBsYXVuY2hlci1hcmd1bWVudHMgXSBbIHB5dGhvbi1hcmd1bWVudHMgXSBzY3JpcHQgWyBzY3JpcHQtYXJndW1lbnRzIF1cblxuIiwgYXJndlswXSk7Cit1c2FnZTogJWxzIFsgbGF1bmNoZXItYXJndW1lbnRzIF0gWyBweXRob24tYXJndW1lbnRzIF0gc2NyaXB0IFsgc2NyaXB0LWFyZ3VtZW50cyBdXG5cbiIsIGFyZ3ZbMF0pOwogICAgICAgICAgICAgZnB1dHdzKEwiXAogTGF1bmNoZXIgYXJndW1lbnRzOlxuXG5cCiAtMiAgICAgOiBMYXVuY2ggdGhlIGxhdGVzdCBQeXRob24gMi54IHZlcnNpb25cblwKQEAgLTE0OTIsNyArMTUzNCw3IEBACiAgICAgICAgICAgICBmZmx1c2goc3Rkb3V0KTsKICAgICAgICAgfQogICAgIH0KLSAgICBpbnZva2VfY2hpbGQoaXAtPmV4ZWN1dGFibGUsIE5VTEwsIGNvbW1hbmQpOworICAgIGludm9rZV9jaGlsZChleGVjdXRhYmxlLCBOVUxMLCBjb21tYW5kKTsKICAgICByZXR1cm4gcmM7CiB9CiAKZGlmZiAtLWdpdCBhL1BDL3B5Y29uZmlnLmggYi9QQy9weWNvbmZpZy5oCmluZGV4IGUxYzE5ODguLjMyNGExMzAgMTAwNjQ0Ci0tLSBhL1BDL3B5Y29uZmlnLmgKKysrIGIvUEMvcHljb25maWcuaApAQCAtMTQ1LDE4ICsxNDUsMjAgQEAKICNpZiBkZWZpbmVkKF9NX0lBNjQpCiAjZGVmaW5lIENPTVBJTEVSIF9QeV9QQVNURV9WRVJTSU9OKCI2NCBiaXQgKEl0YW5pdW0pIikKICNkZWZpbmUgTVNfV0lOSTY0CisjZGVmaW5lIFBZRF9QTEFURk9STV9UQUcgIndpbl9pYTY0IgogI2VsaWYgZGVmaW5lZChfTV9YNjQpIHx8IGRlZmluZWQoX01fQU1ENjQpCiAjZGVmaW5lIENPTVBJTEVSIF9QeV9QQVNURV9WRVJTSU9OKCI2NCBiaXQgKEFNRDY0KSIpCiAjZGVmaW5lIE1TX1dJTlg2NAorI2RlZmluZSBQWURfUExBVEZPUk1fVEFHICJ3aW5fYW1kNjQiCiAjZWxzZQogI2RlZmluZSBDT01QSUxFUiBfUHlfUEFTVEVfVkVSU0lPTigiNjQgYml0IChVbmtub3duKSIpCiAjZW5kaWYKICNlbmRpZiAvKiBNU19XSU42NCAqLwogCiAvKiBzZXQgdGhlIHZlcnNpb24gbWFjcm9zIGZvciB0aGUgd2luZG93cyBoZWFkZXJzICovCi0vKiBQeXRob24gMy40KyByZXF1aXJlcyBXaW5kb3dzIFhQIG9yIGdyZWF0ZXIgKi8KLSNkZWZpbmUgUHlfV0lOVkVSIDB4MDUwMSAvKiBfV0lOMzJfV0lOTlRfV0lOWFAgKi8KLSNkZWZpbmUgUHlfTlREREkgTlRERElfV0lOWFAKKy8qIFB5dGhvbiAzLjUrIHJlcXVpcmVzIFdpbmRvd3MgVmlzdGEgb3IgZ3JlYXRlciAqLworI2RlZmluZSBQeV9XSU5WRVIgMHgwNjAwIC8qIF9XSU4zMl9XSU5OVF9WSVNUQSAqLworI2RlZmluZSBQeV9OVERESSBOVERESV9WSVNUQQogCiAvKiBXZSBvbmx5IHNldCB0aGVzZSB2YWx1ZXMgd2hlbiBidWlsZGluZyBQeXRob24gLSB3ZSBkb24ndCB3YW50IHRvIGZvcmNlCiAgICB0aGVzZSB2YWx1ZXMgb24gZXh0ZW5zaW9ucywgYXMgdGhhdCB3aWxsIGFmZmVjdCB0aGUgcHJvdG90eXBlcyBhbmQKQEAgLTE5Myw4ICsxOTUsMTAgQEAKICNpZiBkZWZpbmVkKE1TX1dJTjMyKSAmJiAhZGVmaW5lZChNU19XSU42NCkKICNpZiBkZWZpbmVkKF9NX0lYODYpCiAjZGVmaW5lIENPTVBJTEVSIF9QeV9QQVNURV9WRVJTSU9OKCIzMiBiaXQgKEludGVsKSIpCisjZGVmaW5lIFBZRF9QTEFURk9STV9UQUcgIndpbjMyIgogI2VsaWYgZGVmaW5lZChfTV9BUk0pCiAjZGVmaW5lIENPTVBJTEVSIF9QeV9QQVNURV9WRVJTSU9OKCIzMiBiaXQgKEFSTSkiKQorI2RlZmluZSBQWURfUExBVEZPUk1fVEFHICJ3aW5fYXJtIgogI2Vsc2UKICNkZWZpbmUgQ09NUElMRVIgX1B5X1BBU1RFX1ZFUlNJT04oIjMyIGJpdCAoVW5rbm93bikiKQogI2VuZGlmCkBAIC0yMTMsNiArMjE3LDEzIEBACiAjZGVmaW5lIGh5cG90IF9oeXBvdAogI2VuZGlmCiAKKy8qIFZTIDIwMTUgZGVmaW5lcyB0aGVzZSBuYW1lcyB3aXRoIGEgbGVhZGluZyB1bmRlcnNjb3JlICovCisjaWYgX01TQ19WRVIgPj0gMTkwMAorI2RlZmluZSB0aW1lem9uZSBfdGltZXpvbmUKKyNkZWZpbmUgZGF5bGlnaHQgX2RheWxpZ2h0CisjZGVmaW5lIHR6bmFtZSBfdHpuYW1lCisjZW5kaWYKKwogLyogU2lkZSBieSBTaWRlIGFzc2VtYmxpZXMgc3VwcG9ydGVkIGluIFZTIDIwMDUgYW5kIFZTIDIwMDggYnV0IG5vdCAyMDEwKi8KICNpZiBfTVNDX1ZFUiA+PSAxNDAwICYmIF9NU0NfVkVSIDwgMTYwMAogI2RlZmluZSBIQVZFX1NYUyAxCkBAIC0yMjcsMzUgKzIzOCw2IEBACiAjZW5kaWYgLyogX01TQ19WRVIgKi8KIAogLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KLS8qIFRoZSBCb3JsYW5kIGNvbXBpbGVyIGRlZmluZXMgX19CT1JMQU5EQ19fICovCi0vKiBYWFggVGhlc2UgZGVmaW5lcyBhcmUgbGlrZWx5IGluY29tcGxldGUsIGJ1dCBzaG91bGQgYmUgZWFzeSB0byBmaXguICovCi0jaWZkZWYgX19CT1JMQU5EQ19fCi0jZGVmaW5lIENPTVBJTEVSICJbQm9ybGFuZF0iCi0KLSNpZmRlZiBfV0lOMzIKLS8qIHRlc3RlZCB3aXRoIEJDQyA1LjUgKF9fQk9STEFORENfXyA+PSAweDA1NTApCi0gKi8KLQotdHlwZWRlZiBpbnQgcGlkX3Q7Ci0vKiBCQ0M1NSBzZWVtcyB0byB1bmRlcnN0YW5kIF9fZGVjbHNwZWMoZGxsaW1wb3J0KSwgaXQgaXMgdXNlZCBpbiBpdHMKLSAgIG93biBoZWFkZXIgZmlsZXMgKHdpbm50LmgsIC4uLikgLSBzbyB3ZSBjYW4gZG8gbm90aGluZyBhbmQgZ2V0IHRoZSBkZWZhdWx0Ki8KLQotI3VuZGVmIEhBVkVfU1lTX1VUSU1FX0gKLSNkZWZpbmUgSEFWRV9VVElNRV9ICi0jZGVmaW5lIEhBVkVfRElSRU5UX0gKLQotLyogcmVuYW1lIGEgZmV3IGZ1bmN0aW9ucyBmb3IgdGhlIEJvcmxhbmQgY29tcGlsZXIgKi8KLSNpbmNsdWRlIDxpby5oPgotI2RlZmluZSBfY2hzaXplIGNoc2l6ZQotI2RlZmluZSBfc2V0bW9kZSBzZXRtb2RlCi0KLSNlbHNlIC8qICFfV0lOMzIgKi8KLSNlcnJvciAiT25seSBXaW4zMiBhbmQgbGF0ZXIgYXJlIHN1cHBvcnRlZCIKLSNlbmRpZiAvKiAhX1dJTjMyICovCi0KLSNlbmRpZiAvKiBCT1JMQU5EQyAqLwotCi0vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogLyogZWdjcy9nbnUtd2luMzIgZGVmaW5lcyBfX0dOVUNfXyBhbmQgX1dJTjMyICovCiAjaWYgZGVmaW5lZChfX0dOVUNfXykgJiYgZGVmaW5lZChfV0lOMzIpCiAvKiBYWFggVGhlc2UgZGVmaW5lcyBhcmUgbGlrZWx5IGluY29tcGxldGUsIGJ1dCBzaG91bGQgYmUgZWFzeSB0byBmaXguCkBAIC0zMjIsMTEgKzMwNCwxMSBAQAogCQkJdGhlaXIgTWFrZWZpbGUgKG90aGVyIGNvbXBpbGVycyBhcmUgZ2VuZXJhbGx5CiAJCQl0YWtlbiBjYXJlIG9mIGJ5IGRpc3R1dGlscy4pICovCiAjCQkJaWYgZGVmaW5lZChfREVCVUcpCi0jCQkJCXByYWdtYSBjb21tZW50KGxpYiwicHl0aG9uMzRfZC5saWIiKQorIwkJCQlwcmFnbWEgY29tbWVudChsaWIsInB5dGhvbjM1X2QubGliIikKICMJCQllbGlmIGRlZmluZWQoUHlfTElNSVRFRF9BUEkpCiAjCQkJCXByYWdtYSBjb21tZW50KGxpYiwicHl0aG9uMy5saWIiKQogIwkJCWVsc2UKLSMJCQkJcHJhZ21hIGNvbW1lbnQobGliLCJweXRob24zNC5saWIiKQorIwkJCQlwcmFnbWEgY29tbWVudChsaWIsInB5dGhvbjM1LmxpYiIpCiAjCQkJZW5kaWYgLyogX0RFQlVHICovCiAjCQllbmRpZiAvKiBfTVNDX1ZFUiAqLwogIwllbmRpZiAvKiBQeV9CVUlMRF9DT1JFICovCmRpZmYgLS1naXQgYS9QQy9weWxhdW5jaGVyLnJjIGIvUEMvcHlsYXVuY2hlci5yYwppbmRleCBkZjU4MjRhLi42MzRiOGQ2IDEwMDY0NAotLS0gYS9QQy9weWxhdW5jaGVyLnJjCisrKyBiL1BDL3B5bGF1bmNoZXIucmMKQEAgLTM0LDcgKzM0LDcgQEAKICAgICAgICAgICAgIFZBTFVFICJGaWxlRGVzY3JpcHRpb24iLCAiUHl0aG9uIExhdW5jaGVyIGZvciBXaW5kb3dzIChDb25zb2xlKSIKICAgICAgICAgICAgIFZBTFVFICJGaWxlVmVyc2lvbiIsIFBZVEhPTl9WRVJTSU9OCiAgICAgICAgICAgICBWQUxVRSAiSW50ZXJuYWxOYW1lIiwgInB5IgotICAgICAgICAgICAgVkFMVUUgIkxlZ2FsQ29weXJpZ2h0IiwgIkNvcHlyaWdodCAoQykgMjAxMS0yMDEyIFB5dGhvbiBTb2Z0d2FyZSBGb3VuZGF0aW9uIgorICAgICAgICAgICAgVkFMVUUgIkxlZ2FsQ29weXJpZ2h0IiwgIkNvcHlyaWdodCAoQykgMjAxMS0yMDE0IFB5dGhvbiBTb2Z0d2FyZSBGb3VuZGF0aW9uIgogICAgICAgICAgICAgVkFMVUUgIk9yaWdpbmFsRmlsZW5hbWUiLCAicHkiCiAgICAgICAgICAgICBWQUxVRSAiUHJvZHVjdE5hbWUiLCAiUHl0aG9uIExhdW5jaGVyIGZvciBXaW5kb3dzIgogICAgICAgICAgICAgVkFMVUUgIlByb2R1Y3RWZXJzaW9uIiwgUFlUSE9OX1ZFUlNJT04KZGlmZiAtLWdpdCBhL1BDL3B5dGhvbi5tYW5pZmVzdCBiL1BDL3B5dGhvbi5tYW5pZmVzdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYWMyNjMwCi0tLSAvZGV2L251bGwKKysrIGIvUEMvcHl0aG9uLm1hbmlmZXN0CkBAIC0wLDAgKzEsMTIgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04IiBzdGFuZGFsb25lPSJ5ZXMiPz4KKzxhc3NlbWJseSB4bWxucz0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTphc20udjEiIG1hbmlmZXN0VmVyc2lvbj0iMS4wIj4KKyAgPGNvbXBhdGliaWxpdHkgeG1sbnM9InVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206Y29tcGF0aWJpbGl0eS52MSI+IAorICAgIDxhcHBsaWNhdGlvbj4gCisgICAgICA8c3VwcG9ydGVkT1MgSWQ9IntlMjAxMTQ1Ny0xNTQ2LTQzYzUtYTVmZS0wMDhkZWVlM2QzZjB9Ii8+IAorICAgICAgPHN1cHBvcnRlZE9TIElkPSJ7MzUxMzhiOWEtNWQ5Ni00ZmJkLThlMmQtYTI0NDAyMjVmOTNhfSIvPgorICAgICAgPHN1cHBvcnRlZE9TIElkPSJ7NGEyZjI4ZTMtNTNiOS00NDQxLWJhOWMtZDY5ZDRhNGE2ZTM4fSIvPgorICAgICAgPHN1cHBvcnRlZE9TIElkPSJ7MWY2NzZjNzYtODBlMS00MjM5LTk1YmItODNkMGY2ZDBkYTc4fSIvPgorICAgICAgPHN1cHBvcnRlZE9TIElkPSJ7OGUwZjdhMTItYmZiMy00ZmU4LWI5YTUtNDhmZDUwYTE1YTlhfSIvPgorICAgIDwvYXBwbGljYXRpb24+IAorICA8L2NvbXBhdGliaWxpdHk+Cis8L2Fzc2VtYmx5PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1BDL3B5dGhvbjMuZGVmIGIvUEMvcHl0aG9uMy5kZWYKaW5kZXggMzdlNDU0Yi4uNDVmZGEzOCAxMDA2NDQKLS0tIGEvUEMvcHl0aG9uMy5kZWYKKysrIGIvUEMvcHl0aG9uMy5kZWYKQEAgLTEsNzAxICsxLDcwMyBAQAotOyBXaGVuIGNoYW5naW5nIHRoaXMgZmlsZSwgcnVuIHB5dGhvbjM0Z2VuLnB5Cis7IFRoaXMgZmlsZSBzcGVjaWZpZXMgdGhlIGltcG9ydCBmb3J3YXJkaW5nIGZvciBweXRob24zLmRsbAorOyBJdCBpcyB1c2VkIHdoZW4gYnVpbGRpbmcgcHl0aG9uM2RsbC52Y3hwcm9qCiBMSUJSQVJZCSJweXRob24zIgogRVhQT1JUUwotICBQeUFyZ19QYXJzZT1weXRob24zNC5QeUFyZ19QYXJzZQotICBQeUFyZ19QYXJzZVR1cGxlPXB5dGhvbjM0LlB5QXJnX1BhcnNlVHVwbGUKLSAgUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzPXB5dGhvbjM0LlB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcwotICBQeUFyZ19VbnBhY2tUdXBsZT1weXRob24zNC5QeUFyZ19VbnBhY2tUdXBsZQotICBQeUFyZ19WYVBhcnNlPXB5dGhvbjM0LlB5QXJnX1ZhUGFyc2UKLSAgUHlBcmdfVmFQYXJzZVR1cGxlQW5kS2V5d29yZHM9cHl0aG9uMzQuUHlBcmdfVmFQYXJzZVR1cGxlQW5kS2V5d29yZHMKLSAgUHlBcmdfVmFsaWRhdGVLZXl3b3JkQXJndW1lbnRzPXB5dGhvbjM0LlB5QXJnX1ZhbGlkYXRlS2V5d29yZEFyZ3VtZW50cwotICBQeUJhc2VPYmplY3RfVHlwZT1weXRob24zNC5QeUJhc2VPYmplY3RfVHlwZSBEQVRBCi0gIFB5Qm9vbF9Gcm9tTG9uZz1weXRob24zNC5QeUJvb2xfRnJvbUxvbmcKLSAgUHlCb29sX1R5cGU9cHl0aG9uMzQuUHlCb29sX1R5cGUgREFUQQotICBQeUJ5dGVBcnJheUl0ZXJfVHlwZT1weXRob24zNC5QeUJ5dGVBcnJheUl0ZXJfVHlwZSBEQVRBCi0gIFB5Qnl0ZUFycmF5X0FzU3RyaW5nPXB5dGhvbjM0LlB5Qnl0ZUFycmF5X0FzU3RyaW5nCi0gIFB5Qnl0ZUFycmF5X0NvbmNhdD1weXRob24zNC5QeUJ5dGVBcnJheV9Db25jYXQKLSAgUHlCeXRlQXJyYXlfRnJvbU9iamVjdD1weXRob24zNC5QeUJ5dGVBcnJheV9Gcm9tT2JqZWN0Ci0gIFB5Qnl0ZUFycmF5X0Zyb21TdHJpbmdBbmRTaXplPXB5dGhvbjM0LlB5Qnl0ZUFycmF5X0Zyb21TdHJpbmdBbmRTaXplCi0gIFB5Qnl0ZUFycmF5X1Jlc2l6ZT1weXRob24zNC5QeUJ5dGVBcnJheV9SZXNpemUKLSAgUHlCeXRlQXJyYXlfU2l6ZT1weXRob24zNC5QeUJ5dGVBcnJheV9TaXplCi0gIFB5Qnl0ZUFycmF5X1R5cGU9cHl0aG9uMzQuUHlCeXRlQXJyYXlfVHlwZSBEQVRBCi0gIFB5Qnl0ZXNJdGVyX1R5cGU9cHl0aG9uMzQuUHlCeXRlc0l0ZXJfVHlwZSBEQVRBCi0gIFB5Qnl0ZXNfQXNTdHJpbmc9cHl0aG9uMzQuUHlCeXRlc19Bc1N0cmluZwotICBQeUJ5dGVzX0FzU3RyaW5nQW5kU2l6ZT1weXRob24zNC5QeUJ5dGVzX0FzU3RyaW5nQW5kU2l6ZQotICBQeUJ5dGVzX0NvbmNhdD1weXRob24zNC5QeUJ5dGVzX0NvbmNhdAotICBQeUJ5dGVzX0NvbmNhdEFuZERlbD1weXRob24zNC5QeUJ5dGVzX0NvbmNhdEFuZERlbAotICBQeUJ5dGVzX0RlY29kZUVzY2FwZT1weXRob24zNC5QeUJ5dGVzX0RlY29kZUVzY2FwZQotICBQeUJ5dGVzX0Zyb21Gb3JtYXQ9cHl0aG9uMzQuUHlCeXRlc19Gcm9tRm9ybWF0Ci0gIFB5Qnl0ZXNfRnJvbUZvcm1hdFY9cHl0aG9uMzQuUHlCeXRlc19Gcm9tRm9ybWF0VgotICBQeUJ5dGVzX0Zyb21PYmplY3Q9cHl0aG9uMzQuUHlCeXRlc19Gcm9tT2JqZWN0Ci0gIFB5Qnl0ZXNfRnJvbVN0cmluZz1weXRob24zNC5QeUJ5dGVzX0Zyb21TdHJpbmcKLSAgUHlCeXRlc19Gcm9tU3RyaW5nQW5kU2l6ZT1weXRob24zNC5QeUJ5dGVzX0Zyb21TdHJpbmdBbmRTaXplCi0gIFB5Qnl0ZXNfUmVwcj1weXRob24zNC5QeUJ5dGVzX1JlcHIKLSAgUHlCeXRlc19TaXplPXB5dGhvbjM0LlB5Qnl0ZXNfU2l6ZQotICBQeUJ5dGVzX1R5cGU9cHl0aG9uMzQuUHlCeXRlc19UeXBlIERBVEEKLSAgUHlDRnVuY3Rpb25fQ2FsbD1weXRob24zNC5QeUNGdW5jdGlvbl9DYWxsCi0gIFB5Q0Z1bmN0aW9uX0NsZWFyRnJlZUxpc3Q9cHl0aG9uMzQuUHlDRnVuY3Rpb25fQ2xlYXJGcmVlTGlzdAotICBQeUNGdW5jdGlvbl9HZXRGbGFncz1weXRob24zNC5QeUNGdW5jdGlvbl9HZXRGbGFncwotICBQeUNGdW5jdGlvbl9HZXRGdW5jdGlvbj1weXRob24zNC5QeUNGdW5jdGlvbl9HZXRGdW5jdGlvbgotICBQeUNGdW5jdGlvbl9HZXRTZWxmPXB5dGhvbjM0LlB5Q0Z1bmN0aW9uX0dldFNlbGYKLSAgUHlDRnVuY3Rpb25fTmV3PXB5dGhvbjM0LlB5Q0Z1bmN0aW9uX05ldwotICBQeUNGdW5jdGlvbl9OZXdFeD1weXRob24zNC5QeUNGdW5jdGlvbl9OZXdFeAotICBQeUNGdW5jdGlvbl9UeXBlPXB5dGhvbjM0LlB5Q0Z1bmN0aW9uX1R5cGUgREFUQQotICBQeUNhbGxJdGVyX05ldz1weXRob24zNC5QeUNhbGxJdGVyX05ldwotICBQeUNhbGxJdGVyX1R5cGU9cHl0aG9uMzQuUHlDYWxsSXRlcl9UeXBlIERBVEEKLSAgUHlDYWxsYWJsZV9DaGVjaz1weXRob24zNC5QeUNhbGxhYmxlX0NoZWNrCi0gIFB5Q2Fwc3VsZV9HZXRDb250ZXh0PXB5dGhvbjM0LlB5Q2Fwc3VsZV9HZXRDb250ZXh0Ci0gIFB5Q2Fwc3VsZV9HZXREZXN0cnVjdG9yPXB5dGhvbjM0LlB5Q2Fwc3VsZV9HZXREZXN0cnVjdG9yCi0gIFB5Q2Fwc3VsZV9HZXROYW1lPXB5dGhvbjM0LlB5Q2Fwc3VsZV9HZXROYW1lCi0gIFB5Q2Fwc3VsZV9HZXRQb2ludGVyPXB5dGhvbjM0LlB5Q2Fwc3VsZV9HZXRQb2ludGVyCi0gIFB5Q2Fwc3VsZV9JbXBvcnQ9cHl0aG9uMzQuUHlDYXBzdWxlX0ltcG9ydAotICBQeUNhcHN1bGVfSXNWYWxpZD1weXRob24zNC5QeUNhcHN1bGVfSXNWYWxpZAotICBQeUNhcHN1bGVfTmV3PXB5dGhvbjM0LlB5Q2Fwc3VsZV9OZXcKLSAgUHlDYXBzdWxlX1NldENvbnRleHQ9cHl0aG9uMzQuUHlDYXBzdWxlX1NldENvbnRleHQKLSAgUHlDYXBzdWxlX1NldERlc3RydWN0b3I9cHl0aG9uMzQuUHlDYXBzdWxlX1NldERlc3RydWN0b3IKLSAgUHlDYXBzdWxlX1NldE5hbWU9cHl0aG9uMzQuUHlDYXBzdWxlX1NldE5hbWUKLSAgUHlDYXBzdWxlX1NldFBvaW50ZXI9cHl0aG9uMzQuUHlDYXBzdWxlX1NldFBvaW50ZXIKLSAgUHlDYXBzdWxlX1R5cGU9cHl0aG9uMzQuUHlDYXBzdWxlX1R5cGUgREFUQQotICBQeUNsYXNzTWV0aG9kRGVzY3JfVHlwZT1weXRob24zNC5QeUNsYXNzTWV0aG9kRGVzY3JfVHlwZSBEQVRBCi0gIFB5Q29kZWNfQmFja3NsYXNoUmVwbGFjZUVycm9ycz1weXRob24zNC5QeUNvZGVjX0JhY2tzbGFzaFJlcGxhY2VFcnJvcnMKLSAgUHlDb2RlY19EZWNvZGU9cHl0aG9uMzQuUHlDb2RlY19EZWNvZGUKLSAgUHlDb2RlY19EZWNvZGVyPXB5dGhvbjM0LlB5Q29kZWNfRGVjb2RlcgotICBQeUNvZGVjX0VuY29kZT1weXRob24zNC5QeUNvZGVjX0VuY29kZQotICBQeUNvZGVjX0VuY29kZXI9cHl0aG9uMzQuUHlDb2RlY19FbmNvZGVyCi0gIFB5Q29kZWNfSWdub3JlRXJyb3JzPXB5dGhvbjM0LlB5Q29kZWNfSWdub3JlRXJyb3JzCi0gIFB5Q29kZWNfSW5jcmVtZW50YWxEZWNvZGVyPXB5dGhvbjM0LlB5Q29kZWNfSW5jcmVtZW50YWxEZWNvZGVyCi0gIFB5Q29kZWNfSW5jcmVtZW50YWxFbmNvZGVyPXB5dGhvbjM0LlB5Q29kZWNfSW5jcmVtZW50YWxFbmNvZGVyCi0gIFB5Q29kZWNfS25vd25FbmNvZGluZz1weXRob24zNC5QeUNvZGVjX0tub3duRW5jb2RpbmcKLSAgUHlDb2RlY19Mb29rdXBFcnJvcj1weXRob24zNC5QeUNvZGVjX0xvb2t1cEVycm9yCi0gIFB5Q29kZWNfUmVnaXN0ZXI9cHl0aG9uMzQuUHlDb2RlY19SZWdpc3RlcgotICBQeUNvZGVjX1JlZ2lzdGVyRXJyb3I9cHl0aG9uMzQuUHlDb2RlY19SZWdpc3RlckVycm9yCi0gIFB5Q29kZWNfUmVwbGFjZUVycm9ycz1weXRob24zNC5QeUNvZGVjX1JlcGxhY2VFcnJvcnMKLSAgUHlDb2RlY19TdHJlYW1SZWFkZXI9cHl0aG9uMzQuUHlDb2RlY19TdHJlYW1SZWFkZXIKLSAgUHlDb2RlY19TdHJlYW1Xcml0ZXI9cHl0aG9uMzQuUHlDb2RlY19TdHJlYW1Xcml0ZXIKLSAgUHlDb2RlY19TdHJpY3RFcnJvcnM9cHl0aG9uMzQuUHlDb2RlY19TdHJpY3RFcnJvcnMKLSAgUHlDb2RlY19YTUxDaGFyUmVmUmVwbGFjZUVycm9ycz1weXRob24zNC5QeUNvZGVjX1hNTENoYXJSZWZSZXBsYWNlRXJyb3JzCi0gIFB5Q29tcGxleF9Gcm9tRG91Ymxlcz1weXRob24zNC5QeUNvbXBsZXhfRnJvbURvdWJsZXMKLSAgUHlDb21wbGV4X0ltYWdBc0RvdWJsZT1weXRob24zNC5QeUNvbXBsZXhfSW1hZ0FzRG91YmxlCi0gIFB5Q29tcGxleF9SZWFsQXNEb3VibGU9cHl0aG9uMzQuUHlDb21wbGV4X1JlYWxBc0RvdWJsZQotICBQeUNvbXBsZXhfVHlwZT1weXRob24zNC5QeUNvbXBsZXhfVHlwZSBEQVRBCi0gIFB5RGVzY3JfTmV3Q2xhc3NNZXRob2Q9cHl0aG9uMzQuUHlEZXNjcl9OZXdDbGFzc01ldGhvZAotICBQeURlc2NyX05ld0dldFNldD1weXRob24zNC5QeURlc2NyX05ld0dldFNldAotICBQeURlc2NyX05ld01lbWJlcj1weXRob24zNC5QeURlc2NyX05ld01lbWJlcgotICBQeURlc2NyX05ld01ldGhvZD1weXRob24zNC5QeURlc2NyX05ld01ldGhvZAotICBQeURpY3RJdGVtc19UeXBlPXB5dGhvbjM0LlB5RGljdEl0ZW1zX1R5cGUgREFUQQotICBQeURpY3RJdGVySXRlbV9UeXBlPXB5dGhvbjM0LlB5RGljdEl0ZXJJdGVtX1R5cGUgREFUQQotICBQeURpY3RJdGVyS2V5X1R5cGU9cHl0aG9uMzQuUHlEaWN0SXRlcktleV9UeXBlIERBVEEKLSAgUHlEaWN0SXRlclZhbHVlX1R5cGU9cHl0aG9uMzQuUHlEaWN0SXRlclZhbHVlX1R5cGUgREFUQQotICBQeURpY3RLZXlzX1R5cGU9cHl0aG9uMzQuUHlEaWN0S2V5c19UeXBlIERBVEEKLSAgUHlEaWN0UHJveHlfTmV3PXB5dGhvbjM0LlB5RGljdFByb3h5X05ldwotICBQeURpY3RQcm94eV9UeXBlPXB5dGhvbjM0LlB5RGljdFByb3h5X1R5cGUgREFUQQotICBQeURpY3RWYWx1ZXNfVHlwZT1weXRob24zNC5QeURpY3RWYWx1ZXNfVHlwZSBEQVRBCi0gIFB5RGljdF9DbGVhcj1weXRob24zNC5QeURpY3RfQ2xlYXIKLSAgUHlEaWN0X0NvbnRhaW5zPXB5dGhvbjM0LlB5RGljdF9Db250YWlucwotICBQeURpY3RfQ29weT1weXRob24zNC5QeURpY3RfQ29weQotICBQeURpY3RfRGVsSXRlbT1weXRob24zNC5QeURpY3RfRGVsSXRlbQotICBQeURpY3RfRGVsSXRlbVN0cmluZz1weXRob24zNC5QeURpY3RfRGVsSXRlbVN0cmluZwotICBQeURpY3RfR2V0SXRlbT1weXRob24zNC5QeURpY3RfR2V0SXRlbQotICBQeURpY3RfR2V0SXRlbVN0cmluZz1weXRob24zNC5QeURpY3RfR2V0SXRlbVN0cmluZwotICBQeURpY3RfR2V0SXRlbVdpdGhFcnJvcj1weXRob24zNC5QeURpY3RfR2V0SXRlbVdpdGhFcnJvcgotICBQeURpY3RfSXRlbXM9cHl0aG9uMzQuUHlEaWN0X0l0ZW1zCi0gIFB5RGljdF9LZXlzPXB5dGhvbjM0LlB5RGljdF9LZXlzCi0gIFB5RGljdF9NZXJnZT1weXRob24zNC5QeURpY3RfTWVyZ2UKLSAgUHlEaWN0X01lcmdlRnJvbVNlcTI9cHl0aG9uMzQuUHlEaWN0X01lcmdlRnJvbVNlcTIKLSAgUHlEaWN0X05ldz1weXRob24zNC5QeURpY3RfTmV3Ci0gIFB5RGljdF9OZXh0PXB5dGhvbjM0LlB5RGljdF9OZXh0Ci0gIFB5RGljdF9TZXRJdGVtPXB5dGhvbjM0LlB5RGljdF9TZXRJdGVtCi0gIFB5RGljdF9TZXRJdGVtU3RyaW5nPXB5dGhvbjM0LlB5RGljdF9TZXRJdGVtU3RyaW5nCi0gIFB5RGljdF9TaXplPXB5dGhvbjM0LlB5RGljdF9TaXplCi0gIFB5RGljdF9UeXBlPXB5dGhvbjM0LlB5RGljdF9UeXBlIERBVEEKLSAgUHlEaWN0X1VwZGF0ZT1weXRob24zNC5QeURpY3RfVXBkYXRlCi0gIFB5RGljdF9WYWx1ZXM9cHl0aG9uMzQuUHlEaWN0X1ZhbHVlcwotICBQeUVsbGlwc2lzX1R5cGU9cHl0aG9uMzQuUHlFbGxpcHNpc19UeXBlIERBVEEKLSAgUHlFbnVtX1R5cGU9cHl0aG9uMzQuUHlFbnVtX1R5cGUgREFUQQotICBQeUVycl9CYWRBcmd1bWVudD1weXRob24zNC5QeUVycl9CYWRBcmd1bWVudAotICBQeUVycl9CYWRJbnRlcm5hbENhbGw9cHl0aG9uMzQuUHlFcnJfQmFkSW50ZXJuYWxDYWxsCi0gIFB5RXJyX0NoZWNrU2lnbmFscz1weXRob24zNC5QeUVycl9DaGVja1NpZ25hbHMKLSAgUHlFcnJfQ2xlYXI9cHl0aG9uMzQuUHlFcnJfQ2xlYXIKLSAgUHlFcnJfRGlzcGxheT1weXRob24zNC5QeUVycl9EaXNwbGF5Ci0gIFB5RXJyX0V4Y2VwdGlvbk1hdGNoZXM9cHl0aG9uMzQuUHlFcnJfRXhjZXB0aW9uTWF0Y2hlcwotICBQeUVycl9GZXRjaD1weXRob24zNC5QeUVycl9GZXRjaAotICBQeUVycl9Gb3JtYXQ9cHl0aG9uMzQuUHlFcnJfRm9ybWF0Ci0gIFB5RXJyX0dpdmVuRXhjZXB0aW9uTWF0Y2hlcz1weXRob24zNC5QeUVycl9HaXZlbkV4Y2VwdGlvbk1hdGNoZXMKLSAgUHlFcnJfTmV3RXhjZXB0aW9uPXB5dGhvbjM0LlB5RXJyX05ld0V4Y2VwdGlvbgotICBQeUVycl9OZXdFeGNlcHRpb25XaXRoRG9jPXB5dGhvbjM0LlB5RXJyX05ld0V4Y2VwdGlvbldpdGhEb2MKLSAgUHlFcnJfTm9NZW1vcnk9cHl0aG9uMzQuUHlFcnJfTm9NZW1vcnkKLSAgUHlFcnJfTm9ybWFsaXplRXhjZXB0aW9uPXB5dGhvbjM0LlB5RXJyX05vcm1hbGl6ZUV4Y2VwdGlvbgotICBQeUVycl9PY2N1cnJlZD1weXRob24zNC5QeUVycl9PY2N1cnJlZAotICBQeUVycl9QcmludD1weXRob24zNC5QeUVycl9QcmludAotICBQeUVycl9QcmludEV4PXB5dGhvbjM0LlB5RXJyX1ByaW50RXgKLSAgUHlFcnJfUHJvZ3JhbVRleHQ9cHl0aG9uMzQuUHlFcnJfUHJvZ3JhbVRleHQKLSAgUHlFcnJfUmVzdG9yZT1weXRob24zNC5QeUVycl9SZXN0b3JlCi0gIFB5RXJyX1NldEZyb21FcnJubz1weXRob24zNC5QeUVycl9TZXRGcm9tRXJybm8KLSAgUHlFcnJfU2V0RnJvbUVycm5vV2l0aEZpbGVuYW1lPXB5dGhvbjM0LlB5RXJyX1NldEZyb21FcnJub1dpdGhGaWxlbmFtZQotICBQeUVycl9TZXRGcm9tRXJybm9XaXRoRmlsZW5hbWVPYmplY3Q9cHl0aG9uMzQuUHlFcnJfU2V0RnJvbUVycm5vV2l0aEZpbGVuYW1lT2JqZWN0Ci0gIFB5RXJyX1NldEludGVycnVwdD1weXRob24zNC5QeUVycl9TZXRJbnRlcnJ1cHQKLSAgUHlFcnJfU2V0Tm9uZT1weXRob24zNC5QeUVycl9TZXROb25lCi0gIFB5RXJyX1NldE9iamVjdD1weXRob24zNC5QeUVycl9TZXRPYmplY3QKLSAgUHlFcnJfU2V0U3RyaW5nPXB5dGhvbjM0LlB5RXJyX1NldFN0cmluZwotICBQeUVycl9TeW50YXhMb2NhdGlvbj1weXRob24zNC5QeUVycl9TeW50YXhMb2NhdGlvbgotICBQeUVycl9XYXJuRXg9cHl0aG9uMzQuUHlFcnJfV2FybkV4Ci0gIFB5RXJyX1dhcm5FeHBsaWNpdD1weXRob24zNC5QeUVycl9XYXJuRXhwbGljaXQKLSAgUHlFcnJfV2FybkZvcm1hdD1weXRob24zNC5QeUVycl9XYXJuRm9ybWF0Ci0gIFB5RXJyX1dyaXRlVW5yYWlzYWJsZT1weXRob24zNC5QeUVycl9Xcml0ZVVucmFpc2FibGUKLSAgUHlFdmFsX0FjcXVpcmVMb2NrPXB5dGhvbjM0LlB5RXZhbF9BY3F1aXJlTG9jawotICBQeUV2YWxfQWNxdWlyZVRocmVhZD1weXRob24zNC5QeUV2YWxfQWNxdWlyZVRocmVhZAotICBQeUV2YWxfQ2FsbEZ1bmN0aW9uPXB5dGhvbjM0LlB5RXZhbF9DYWxsRnVuY3Rpb24KLSAgUHlFdmFsX0NhbGxNZXRob2Q9cHl0aG9uMzQuUHlFdmFsX0NhbGxNZXRob2QKLSAgUHlFdmFsX0NhbGxPYmplY3RXaXRoS2V5d29yZHM9cHl0aG9uMzQuUHlFdmFsX0NhbGxPYmplY3RXaXRoS2V5d29yZHMKLSAgUHlFdmFsX0V2YWxDb2RlPXB5dGhvbjM0LlB5RXZhbF9FdmFsQ29kZQotICBQeUV2YWxfRXZhbENvZGVFeD1weXRob24zNC5QeUV2YWxfRXZhbENvZGVFeAotICBQeUV2YWxfRXZhbEZyYW1lPXB5dGhvbjM0LlB5RXZhbF9FdmFsRnJhbWUKLSAgUHlFdmFsX0V2YWxGcmFtZUV4PXB5dGhvbjM0LlB5RXZhbF9FdmFsRnJhbWVFeAotICBQeUV2YWxfR2V0QnVpbHRpbnM9cHl0aG9uMzQuUHlFdmFsX0dldEJ1aWx0aW5zCi0gIFB5RXZhbF9HZXRDYWxsU3RhdHM9cHl0aG9uMzQuUHlFdmFsX0dldENhbGxTdGF0cwotICBQeUV2YWxfR2V0RnJhbWU9cHl0aG9uMzQuUHlFdmFsX0dldEZyYW1lCi0gIFB5RXZhbF9HZXRGdW5jRGVzYz1weXRob24zNC5QeUV2YWxfR2V0RnVuY0Rlc2MKLSAgUHlFdmFsX0dldEZ1bmNOYW1lPXB5dGhvbjM0LlB5RXZhbF9HZXRGdW5jTmFtZQotICBQeUV2YWxfR2V0R2xvYmFscz1weXRob24zNC5QeUV2YWxfR2V0R2xvYmFscwotICBQeUV2YWxfR2V0TG9jYWxzPXB5dGhvbjM0LlB5RXZhbF9HZXRMb2NhbHMKLSAgUHlFdmFsX0luaXRUaHJlYWRzPXB5dGhvbjM0LlB5RXZhbF9Jbml0VGhyZWFkcwotICBQeUV2YWxfUmVJbml0VGhyZWFkcz1weXRob24zNC5QeUV2YWxfUmVJbml0VGhyZWFkcwotICBQeUV2YWxfUmVsZWFzZUxvY2s9cHl0aG9uMzQuUHlFdmFsX1JlbGVhc2VMb2NrCi0gIFB5RXZhbF9SZWxlYXNlVGhyZWFkPXB5dGhvbjM0LlB5RXZhbF9SZWxlYXNlVGhyZWFkCi0gIFB5RXZhbF9SZXN0b3JlVGhyZWFkPXB5dGhvbjM0LlB5RXZhbF9SZXN0b3JlVGhyZWFkCi0gIFB5RXZhbF9TYXZlVGhyZWFkPXB5dGhvbjM0LlB5RXZhbF9TYXZlVGhyZWFkCi0gIFB5RXZhbF9UaHJlYWRzSW5pdGlhbGl6ZWQ9cHl0aG9uMzQuUHlFdmFsX1RocmVhZHNJbml0aWFsaXplZAotICBQeUV4Y19Bcml0aG1ldGljRXJyb3I9cHl0aG9uMzQuUHlFeGNfQXJpdGhtZXRpY0Vycm9yIERBVEEKLSAgUHlFeGNfQXNzZXJ0aW9uRXJyb3I9cHl0aG9uMzQuUHlFeGNfQXNzZXJ0aW9uRXJyb3IgREFUQQotICBQeUV4Y19BdHRyaWJ1dGVFcnJvcj1weXRob24zNC5QeUV4Y19BdHRyaWJ1dGVFcnJvciBEQVRBCi0gIFB5RXhjX0Jhc2VFeGNlcHRpb249cHl0aG9uMzQuUHlFeGNfQmFzZUV4Y2VwdGlvbiBEQVRBCi0gIFB5RXhjX0J1ZmZlckVycm9yPXB5dGhvbjM0LlB5RXhjX0J1ZmZlckVycm9yIERBVEEKLSAgUHlFeGNfQnl0ZXNXYXJuaW5nPXB5dGhvbjM0LlB5RXhjX0J5dGVzV2FybmluZyBEQVRBCi0gIFB5RXhjX0RlcHJlY2F0aW9uV2FybmluZz1weXRob24zNC5QeUV4Y19EZXByZWNhdGlvbldhcm5pbmcgREFUQQotICBQeUV4Y19FT0ZFcnJvcj1weXRob24zNC5QeUV4Y19FT0ZFcnJvciBEQVRBCi0gIFB5RXhjX0Vudmlyb25tZW50RXJyb3I9cHl0aG9uMzQuUHlFeGNfRW52aXJvbm1lbnRFcnJvciBEQVRBCi0gIFB5RXhjX0V4Y2VwdGlvbj1weXRob24zNC5QeUV4Y19FeGNlcHRpb24gREFUQQotICBQeUV4Y19GbG9hdGluZ1BvaW50RXJyb3I9cHl0aG9uMzQuUHlFeGNfRmxvYXRpbmdQb2ludEVycm9yIERBVEEKLSAgUHlFeGNfRnV0dXJlV2FybmluZz1weXRob24zNC5QeUV4Y19GdXR1cmVXYXJuaW5nIERBVEEKLSAgUHlFeGNfR2VuZXJhdG9yRXhpdD1weXRob24zNC5QeUV4Y19HZW5lcmF0b3JFeGl0IERBVEEKLSAgUHlFeGNfSU9FcnJvcj1weXRob24zNC5QeUV4Y19JT0Vycm9yIERBVEEKLSAgUHlFeGNfSW1wb3J0RXJyb3I9cHl0aG9uMzQuUHlFeGNfSW1wb3J0RXJyb3IgREFUQQotICBQeUV4Y19JbXBvcnRXYXJuaW5nPXB5dGhvbjM0LlB5RXhjX0ltcG9ydFdhcm5pbmcgREFUQQotICBQeUV4Y19JbmRlbnRhdGlvbkVycm9yPXB5dGhvbjM0LlB5RXhjX0luZGVudGF0aW9uRXJyb3IgREFUQQotICBQeUV4Y19JbmRleEVycm9yPXB5dGhvbjM0LlB5RXhjX0luZGV4RXJyb3IgREFUQQotICBQeUV4Y19LZXlFcnJvcj1weXRob24zNC5QeUV4Y19LZXlFcnJvciBEQVRBCi0gIFB5RXhjX0tleWJvYXJkSW50ZXJydXB0PXB5dGhvbjM0LlB5RXhjX0tleWJvYXJkSW50ZXJydXB0IERBVEEKLSAgUHlFeGNfTG9va3VwRXJyb3I9cHl0aG9uMzQuUHlFeGNfTG9va3VwRXJyb3IgREFUQQotICBQeUV4Y19NZW1vcnlFcnJvcj1weXRob24zNC5QeUV4Y19NZW1vcnlFcnJvciBEQVRBCi0gIFB5RXhjX01lbW9yeUVycm9ySW5zdD1weXRob24zNC5QeUV4Y19NZW1vcnlFcnJvckluc3QgREFUQQotICBQeUV4Y19OYW1lRXJyb3I9cHl0aG9uMzQuUHlFeGNfTmFtZUVycm9yIERBVEEKLSAgUHlFeGNfTm90SW1wbGVtZW50ZWRFcnJvcj1weXRob24zNC5QeUV4Y19Ob3RJbXBsZW1lbnRlZEVycm9yIERBVEEKLSAgUHlFeGNfT1NFcnJvcj1weXRob24zNC5QeUV4Y19PU0Vycm9yIERBVEEKLSAgUHlFeGNfT3ZlcmZsb3dFcnJvcj1weXRob24zNC5QeUV4Y19PdmVyZmxvd0Vycm9yIERBVEEKLSAgUHlFeGNfUGVuZGluZ0RlcHJlY2F0aW9uV2FybmluZz1weXRob24zNC5QeUV4Y19QZW5kaW5nRGVwcmVjYXRpb25XYXJuaW5nIERBVEEKLSAgUHlFeGNfUmVjdXJzaW9uRXJyb3JJbnN0PXB5dGhvbjM0LlB5RXhjX1JlY3Vyc2lvbkVycm9ySW5zdCBEQVRBCi0gIFB5RXhjX1JlZmVyZW5jZUVycm9yPXB5dGhvbjM0LlB5RXhjX1JlZmVyZW5jZUVycm9yIERBVEEKLSAgUHlFeGNfUnVudGltZUVycm9yPXB5dGhvbjM0LlB5RXhjX1J1bnRpbWVFcnJvciBEQVRBCi0gIFB5RXhjX1J1bnRpbWVXYXJuaW5nPXB5dGhvbjM0LlB5RXhjX1J1bnRpbWVXYXJuaW5nIERBVEEKLSAgUHlFeGNfU3RvcEl0ZXJhdGlvbj1weXRob24zNC5QeUV4Y19TdG9wSXRlcmF0aW9uIERBVEEKLSAgUHlFeGNfU3ludGF4RXJyb3I9cHl0aG9uMzQuUHlFeGNfU3ludGF4RXJyb3IgREFUQQotICBQeUV4Y19TeW50YXhXYXJuaW5nPXB5dGhvbjM0LlB5RXhjX1N5bnRheFdhcm5pbmcgREFUQQotICBQeUV4Y19TeXN0ZW1FcnJvcj1weXRob24zNC5QeUV4Y19TeXN0ZW1FcnJvciBEQVRBCi0gIFB5RXhjX1N5c3RlbUV4aXQ9cHl0aG9uMzQuUHlFeGNfU3lzdGVtRXhpdCBEQVRBCi0gIFB5RXhjX1RhYkVycm9yPXB5dGhvbjM0LlB5RXhjX1RhYkVycm9yIERBVEEKLSAgUHlFeGNfVHlwZUVycm9yPXB5dGhvbjM0LlB5RXhjX1R5cGVFcnJvciBEQVRBCi0gIFB5RXhjX1VuYm91bmRMb2NhbEVycm9yPXB5dGhvbjM0LlB5RXhjX1VuYm91bmRMb2NhbEVycm9yIERBVEEKLSAgUHlFeGNfVW5pY29kZURlY29kZUVycm9yPXB5dGhvbjM0LlB5RXhjX1VuaWNvZGVEZWNvZGVFcnJvciBEQVRBCi0gIFB5RXhjX1VuaWNvZGVFbmNvZGVFcnJvcj1weXRob24zNC5QeUV4Y19Vbmljb2RlRW5jb2RlRXJyb3IgREFUQQotICBQeUV4Y19Vbmljb2RlRXJyb3I9cHl0aG9uMzQuUHlFeGNfVW5pY29kZUVycm9yIERBVEEKLSAgUHlFeGNfVW5pY29kZVRyYW5zbGF0ZUVycm9yPXB5dGhvbjM0LlB5RXhjX1VuaWNvZGVUcmFuc2xhdGVFcnJvciBEQVRBCi0gIFB5RXhjX1VuaWNvZGVXYXJuaW5nPXB5dGhvbjM0LlB5RXhjX1VuaWNvZGVXYXJuaW5nIERBVEEKLSAgUHlFeGNfVXNlcldhcm5pbmc9cHl0aG9uMzQuUHlFeGNfVXNlcldhcm5pbmcgREFUQQotICBQeUV4Y19WYWx1ZUVycm9yPXB5dGhvbjM0LlB5RXhjX1ZhbHVlRXJyb3IgREFUQQotICBQeUV4Y19XYXJuaW5nPXB5dGhvbjM0LlB5RXhjX1dhcm5pbmcgREFUQQotICBQeUV4Y19aZXJvRGl2aXNpb25FcnJvcj1weXRob24zNC5QeUV4Y19aZXJvRGl2aXNpb25FcnJvciBEQVRBCi0gIFB5RXhjZXB0aW9uX0dldENhdXNlPXB5dGhvbjM0LlB5RXhjZXB0aW9uX0dldENhdXNlCi0gIFB5RXhjZXB0aW9uX0dldENvbnRleHQ9cHl0aG9uMzQuUHlFeGNlcHRpb25fR2V0Q29udGV4dAotICBQeUV4Y2VwdGlvbl9HZXRUcmFjZWJhY2s9cHl0aG9uMzQuUHlFeGNlcHRpb25fR2V0VHJhY2ViYWNrCi0gIFB5RXhjZXB0aW9uX1NldENhdXNlPXB5dGhvbjM0LlB5RXhjZXB0aW9uX1NldENhdXNlCi0gIFB5RXhjZXB0aW9uX1NldENvbnRleHQ9cHl0aG9uMzQuUHlFeGNlcHRpb25fU2V0Q29udGV4dAotICBQeUV4Y2VwdGlvbl9TZXRUcmFjZWJhY2s9cHl0aG9uMzQuUHlFeGNlcHRpb25fU2V0VHJhY2ViYWNrCi0gIFB5RmlsZV9Gcm9tRmQ9cHl0aG9uMzQuUHlGaWxlX0Zyb21GZAotICBQeUZpbGVfR2V0TGluZT1weXRob24zNC5QeUZpbGVfR2V0TGluZQotICBQeUZpbGVfV3JpdGVPYmplY3Q9cHl0aG9uMzQuUHlGaWxlX1dyaXRlT2JqZWN0Ci0gIFB5RmlsZV9Xcml0ZVN0cmluZz1weXRob24zNC5QeUZpbGVfV3JpdGVTdHJpbmcKLSAgUHlGaWx0ZXJfVHlwZT1weXRob24zNC5QeUZpbHRlcl9UeXBlIERBVEEKLSAgUHlGbG9hdF9Bc0RvdWJsZT1weXRob24zNC5QeUZsb2F0X0FzRG91YmxlCi0gIFB5RmxvYXRfRnJvbURvdWJsZT1weXRob24zNC5QeUZsb2F0X0Zyb21Eb3VibGUKLSAgUHlGbG9hdF9Gcm9tU3RyaW5nPXB5dGhvbjM0LlB5RmxvYXRfRnJvbVN0cmluZwotICBQeUZsb2F0X0dldEluZm89cHl0aG9uMzQuUHlGbG9hdF9HZXRJbmZvCi0gIFB5RmxvYXRfR2V0TWF4PXB5dGhvbjM0LlB5RmxvYXRfR2V0TWF4Ci0gIFB5RmxvYXRfR2V0TWluPXB5dGhvbjM0LlB5RmxvYXRfR2V0TWluCi0gIFB5RmxvYXRfVHlwZT1weXRob24zNC5QeUZsb2F0X1R5cGUgREFUQQotICBQeUZyb3plblNldF9OZXc9cHl0aG9uMzQuUHlGcm96ZW5TZXRfTmV3Ci0gIFB5RnJvemVuU2V0X1R5cGU9cHl0aG9uMzQuUHlGcm96ZW5TZXRfVHlwZSBEQVRBCi0gIFB5R0NfQ29sbGVjdD1weXRob24zNC5QeUdDX0NvbGxlY3QKLSAgUHlHSUxTdGF0ZV9FbnN1cmU9cHl0aG9uMzQuUHlHSUxTdGF0ZV9FbnN1cmUKLSAgUHlHSUxTdGF0ZV9HZXRUaGlzVGhyZWFkU3RhdGU9cHl0aG9uMzQuUHlHSUxTdGF0ZV9HZXRUaGlzVGhyZWFkU3RhdGUKLSAgUHlHSUxTdGF0ZV9SZWxlYXNlPXB5dGhvbjM0LlB5R0lMU3RhdGVfUmVsZWFzZQotICBQeUdldFNldERlc2NyX1R5cGU9cHl0aG9uMzQuUHlHZXRTZXREZXNjcl9UeXBlIERBVEEKLSAgUHlJbXBvcnRfQWRkTW9kdWxlPXB5dGhvbjM0LlB5SW1wb3J0X0FkZE1vZHVsZQotICBQeUltcG9ydF9BcHBlbmRJbml0dGFiPXB5dGhvbjM0LlB5SW1wb3J0X0FwcGVuZEluaXR0YWIKLSAgUHlJbXBvcnRfQ2xlYW51cD1weXRob24zNC5QeUltcG9ydF9DbGVhbnVwCi0gIFB5SW1wb3J0X0V4ZWNDb2RlTW9kdWxlPXB5dGhvbjM0LlB5SW1wb3J0X0V4ZWNDb2RlTW9kdWxlCi0gIFB5SW1wb3J0X0V4ZWNDb2RlTW9kdWxlRXg9cHl0aG9uMzQuUHlJbXBvcnRfRXhlY0NvZGVNb2R1bGVFeAotICBQeUltcG9ydF9FeGVjQ29kZU1vZHVsZVdpdGhQYXRobmFtZXM9cHl0aG9uMzQuUHlJbXBvcnRfRXhlY0NvZGVNb2R1bGVXaXRoUGF0aG5hbWVzCi0gIFB5SW1wb3J0X0dldEltcG9ydGVyPXB5dGhvbjM0LlB5SW1wb3J0X0dldEltcG9ydGVyCi0gIFB5SW1wb3J0X0dldE1hZ2ljTnVtYmVyPXB5dGhvbjM0LlB5SW1wb3J0X0dldE1hZ2ljTnVtYmVyCi0gIFB5SW1wb3J0X0dldE1hZ2ljVGFnPXB5dGhvbjM0LlB5SW1wb3J0X0dldE1hZ2ljVGFnCi0gIFB5SW1wb3J0X0dldE1vZHVsZURpY3Q9cHl0aG9uMzQuUHlJbXBvcnRfR2V0TW9kdWxlRGljdAotICBQeUltcG9ydF9JbXBvcnQ9cHl0aG9uMzQuUHlJbXBvcnRfSW1wb3J0Ci0gIFB5SW1wb3J0X0ltcG9ydEZyb3plbk1vZHVsZT1weXRob24zNC5QeUltcG9ydF9JbXBvcnRGcm96ZW5Nb2R1bGUKLSAgUHlJbXBvcnRfSW1wb3J0TW9kdWxlPXB5dGhvbjM0LlB5SW1wb3J0X0ltcG9ydE1vZHVsZQotICBQeUltcG9ydF9JbXBvcnRNb2R1bGVMZXZlbD1weXRob24zNC5QeUltcG9ydF9JbXBvcnRNb2R1bGVMZXZlbAotICBQeUltcG9ydF9JbXBvcnRNb2R1bGVOb0Jsb2NrPXB5dGhvbjM0LlB5SW1wb3J0X0ltcG9ydE1vZHVsZU5vQmxvY2sKLSAgUHlJbXBvcnRfUmVsb2FkTW9kdWxlPXB5dGhvbjM0LlB5SW1wb3J0X1JlbG9hZE1vZHVsZQotICBQeUludGVycHJldGVyU3RhdGVfQ2xlYXI9cHl0aG9uMzQuUHlJbnRlcnByZXRlclN0YXRlX0NsZWFyCi0gIFB5SW50ZXJwcmV0ZXJTdGF0ZV9EZWxldGU9cHl0aG9uMzQuUHlJbnRlcnByZXRlclN0YXRlX0RlbGV0ZQotICBQeUludGVycHJldGVyU3RhdGVfTmV3PXB5dGhvbjM0LlB5SW50ZXJwcmV0ZXJTdGF0ZV9OZXcKLSAgUHlJdGVyX05leHQ9cHl0aG9uMzQuUHlJdGVyX05leHQKLSAgUHlMaXN0SXRlcl9UeXBlPXB5dGhvbjM0LlB5TGlzdEl0ZXJfVHlwZSBEQVRBCi0gIFB5TGlzdFJldkl0ZXJfVHlwZT1weXRob24zNC5QeUxpc3RSZXZJdGVyX1R5cGUgREFUQQotICBQeUxpc3RfQXBwZW5kPXB5dGhvbjM0LlB5TGlzdF9BcHBlbmQKLSAgUHlMaXN0X0FzVHVwbGU9cHl0aG9uMzQuUHlMaXN0X0FzVHVwbGUKLSAgUHlMaXN0X0dldEl0ZW09cHl0aG9uMzQuUHlMaXN0X0dldEl0ZW0KLSAgUHlMaXN0X0dldFNsaWNlPXB5dGhvbjM0LlB5TGlzdF9HZXRTbGljZQotICBQeUxpc3RfSW5zZXJ0PXB5dGhvbjM0LlB5TGlzdF9JbnNlcnQKLSAgUHlMaXN0X05ldz1weXRob24zNC5QeUxpc3RfTmV3Ci0gIFB5TGlzdF9SZXZlcnNlPXB5dGhvbjM0LlB5TGlzdF9SZXZlcnNlCi0gIFB5TGlzdF9TZXRJdGVtPXB5dGhvbjM0LlB5TGlzdF9TZXRJdGVtCi0gIFB5TGlzdF9TZXRTbGljZT1weXRob24zNC5QeUxpc3RfU2V0U2xpY2UKLSAgUHlMaXN0X1NpemU9cHl0aG9uMzQuUHlMaXN0X1NpemUKLSAgUHlMaXN0X1NvcnQ9cHl0aG9uMzQuUHlMaXN0X1NvcnQKLSAgUHlMaXN0X1R5cGU9cHl0aG9uMzQuUHlMaXN0X1R5cGUgREFUQQotICBQeUxvbmdSYW5nZUl0ZXJfVHlwZT1weXRob24zNC5QeUxvbmdSYW5nZUl0ZXJfVHlwZSBEQVRBCi0gIFB5TG9uZ19Bc0RvdWJsZT1weXRob24zNC5QeUxvbmdfQXNEb3VibGUKLSAgUHlMb25nX0FzTG9uZz1weXRob24zNC5QeUxvbmdfQXNMb25nCi0gIFB5TG9uZ19Bc0xvbmdBbmRPdmVyZmxvdz1weXRob24zNC5QeUxvbmdfQXNMb25nQW5kT3ZlcmZsb3cKLSAgUHlMb25nX0FzTG9uZ0xvbmc9cHl0aG9uMzQuUHlMb25nX0FzTG9uZ0xvbmcKLSAgUHlMb25nX0FzTG9uZ0xvbmdBbmRPdmVyZmxvdz1weXRob24zNC5QeUxvbmdfQXNMb25nTG9uZ0FuZE92ZXJmbG93Ci0gIFB5TG9uZ19Bc1NpemVfdD1weXRob24zNC5QeUxvbmdfQXNTaXplX3QKLSAgUHlMb25nX0FzU3NpemVfdD1weXRob24zNC5QeUxvbmdfQXNTc2l6ZV90Ci0gIFB5TG9uZ19Bc1Vuc2lnbmVkTG9uZz1weXRob24zNC5QeUxvbmdfQXNVbnNpZ25lZExvbmcKLSAgUHlMb25nX0FzVW5zaWduZWRMb25nTG9uZz1weXRob24zNC5QeUxvbmdfQXNVbnNpZ25lZExvbmdMb25nCi0gIFB5TG9uZ19Bc1Vuc2lnbmVkTG9uZ0xvbmdNYXNrPXB5dGhvbjM0LlB5TG9uZ19Bc1Vuc2lnbmVkTG9uZ0xvbmdNYXNrCi0gIFB5TG9uZ19Bc1Vuc2lnbmVkTG9uZ01hc2s9cHl0aG9uMzQuUHlMb25nX0FzVW5zaWduZWRMb25nTWFzawotICBQeUxvbmdfQXNWb2lkUHRyPXB5dGhvbjM0LlB5TG9uZ19Bc1ZvaWRQdHIKLSAgUHlMb25nX0Zyb21Eb3VibGU9cHl0aG9uMzQuUHlMb25nX0Zyb21Eb3VibGUKLSAgUHlMb25nX0Zyb21Mb25nPXB5dGhvbjM0LlB5TG9uZ19Gcm9tTG9uZwotICBQeUxvbmdfRnJvbUxvbmdMb25nPXB5dGhvbjM0LlB5TG9uZ19Gcm9tTG9uZ0xvbmcKLSAgUHlMb25nX0Zyb21TaXplX3Q9cHl0aG9uMzQuUHlMb25nX0Zyb21TaXplX3QKLSAgUHlMb25nX0Zyb21Tc2l6ZV90PXB5dGhvbjM0LlB5TG9uZ19Gcm9tU3NpemVfdAotICBQeUxvbmdfRnJvbVN0cmluZz1weXRob24zNC5QeUxvbmdfRnJvbVN0cmluZwotICBQeUxvbmdfRnJvbVVuc2lnbmVkTG9uZz1weXRob24zNC5QeUxvbmdfRnJvbVVuc2lnbmVkTG9uZwotICBQeUxvbmdfRnJvbVVuc2lnbmVkTG9uZ0xvbmc9cHl0aG9uMzQuUHlMb25nX0Zyb21VbnNpZ25lZExvbmdMb25nCi0gIFB5TG9uZ19Gcm9tVm9pZFB0cj1weXRob24zNC5QeUxvbmdfRnJvbVZvaWRQdHIKLSAgUHlMb25nX0dldEluZm89cHl0aG9uMzQuUHlMb25nX0dldEluZm8KLSAgUHlMb25nX1R5cGU9cHl0aG9uMzQuUHlMb25nX1R5cGUgREFUQQotICBQeU1hcF9UeXBlPXB5dGhvbjM0LlB5TWFwX1R5cGUgREFUQQotICBQeU1hcHBpbmdfQ2hlY2s9cHl0aG9uMzQuUHlNYXBwaW5nX0NoZWNrCi0gIFB5TWFwcGluZ19HZXRJdGVtU3RyaW5nPXB5dGhvbjM0LlB5TWFwcGluZ19HZXRJdGVtU3RyaW5nCi0gIFB5TWFwcGluZ19IYXNLZXk9cHl0aG9uMzQuUHlNYXBwaW5nX0hhc0tleQotICBQeU1hcHBpbmdfSGFzS2V5U3RyaW5nPXB5dGhvbjM0LlB5TWFwcGluZ19IYXNLZXlTdHJpbmcKLSAgUHlNYXBwaW5nX0l0ZW1zPXB5dGhvbjM0LlB5TWFwcGluZ19JdGVtcwotICBQeU1hcHBpbmdfS2V5cz1weXRob24zNC5QeU1hcHBpbmdfS2V5cwotICBQeU1hcHBpbmdfTGVuZ3RoPXB5dGhvbjM0LlB5TWFwcGluZ19MZW5ndGgKLSAgUHlNYXBwaW5nX1NldEl0ZW1TdHJpbmc9cHl0aG9uMzQuUHlNYXBwaW5nX1NldEl0ZW1TdHJpbmcKLSAgUHlNYXBwaW5nX1NpemU9cHl0aG9uMzQuUHlNYXBwaW5nX1NpemUKLSAgUHlNYXBwaW5nX1ZhbHVlcz1weXRob24zNC5QeU1hcHBpbmdfVmFsdWVzCi0gIFB5TWVtX0ZyZWU9cHl0aG9uMzQuUHlNZW1fRnJlZQotICBQeU1lbV9NYWxsb2M9cHl0aG9uMzQuUHlNZW1fTWFsbG9jCi0gIFB5TWVtX1JlYWxsb2M9cHl0aG9uMzQuUHlNZW1fUmVhbGxvYwotICBQeU1lbWJlckRlc2NyX1R5cGU9cHl0aG9uMzQuUHlNZW1iZXJEZXNjcl9UeXBlIERBVEEKLSAgUHlNZW1vcnlWaWV3X0Zyb21PYmplY3Q9cHl0aG9uMzQuUHlNZW1vcnlWaWV3X0Zyb21PYmplY3QKLSAgUHlNZW1vcnlWaWV3X0dldENvbnRpZ3VvdXM9cHl0aG9uMzQuUHlNZW1vcnlWaWV3X0dldENvbnRpZ3VvdXMKLSAgUHlNZW1vcnlWaWV3X1R5cGU9cHl0aG9uMzQuUHlNZW1vcnlWaWV3X1R5cGUgREFUQQotICBQeU1ldGhvZERlc2NyX1R5cGU9cHl0aG9uMzQuUHlNZXRob2REZXNjcl9UeXBlIERBVEEKLSAgUHlNb2R1bGVfQWRkSW50Q29uc3RhbnQ9cHl0aG9uMzQuUHlNb2R1bGVfQWRkSW50Q29uc3RhbnQKLSAgUHlNb2R1bGVfQWRkT2JqZWN0PXB5dGhvbjM0LlB5TW9kdWxlX0FkZE9iamVjdAotICBQeU1vZHVsZV9BZGRTdHJpbmdDb25zdGFudD1weXRob24zNC5QeU1vZHVsZV9BZGRTdHJpbmdDb25zdGFudAotICBQeU1vZHVsZV9DcmVhdGUyPXB5dGhvbjM0LlB5TW9kdWxlX0NyZWF0ZTIKLSAgUHlNb2R1bGVfR2V0RGVmPXB5dGhvbjM0LlB5TW9kdWxlX0dldERlZgotICBQeU1vZHVsZV9HZXREaWN0PXB5dGhvbjM0LlB5TW9kdWxlX0dldERpY3QKLSAgUHlNb2R1bGVfR2V0RmlsZW5hbWU9cHl0aG9uMzQuUHlNb2R1bGVfR2V0RmlsZW5hbWUKLSAgUHlNb2R1bGVfR2V0RmlsZW5hbWVPYmplY3Q9cHl0aG9uMzQuUHlNb2R1bGVfR2V0RmlsZW5hbWVPYmplY3QKLSAgUHlNb2R1bGVfR2V0TmFtZT1weXRob24zNC5QeU1vZHVsZV9HZXROYW1lCi0gIFB5TW9kdWxlX0dldFN0YXRlPXB5dGhvbjM0LlB5TW9kdWxlX0dldFN0YXRlCi0gIFB5TW9kdWxlX05ldz1weXRob24zNC5QeU1vZHVsZV9OZXcKLSAgUHlNb2R1bGVfVHlwZT1weXRob24zNC5QeU1vZHVsZV9UeXBlIERBVEEKLSAgUHlOdWxsSW1wb3J0ZXJfVHlwZT1weXRob24zNC5QeU51bGxJbXBvcnRlcl9UeXBlIERBVEEKLSAgUHlOdW1iZXJfQWJzb2x1dGU9cHl0aG9uMzQuUHlOdW1iZXJfQWJzb2x1dGUKLSAgUHlOdW1iZXJfQWRkPXB5dGhvbjM0LlB5TnVtYmVyX0FkZAotICBQeU51bWJlcl9BbmQ9cHl0aG9uMzQuUHlOdW1iZXJfQW5kCi0gIFB5TnVtYmVyX0FzU3NpemVfdD1weXRob24zNC5QeU51bWJlcl9Bc1NzaXplX3QKLSAgUHlOdW1iZXJfQ2hlY2s9cHl0aG9uMzQuUHlOdW1iZXJfQ2hlY2sKLSAgUHlOdW1iZXJfRGl2bW9kPXB5dGhvbjM0LlB5TnVtYmVyX0Rpdm1vZAotICBQeU51bWJlcl9GbG9hdD1weXRob24zNC5QeU51bWJlcl9GbG9hdAotICBQeU51bWJlcl9GbG9vckRpdmlkZT1weXRob24zNC5QeU51bWJlcl9GbG9vckRpdmlkZQotICBQeU51bWJlcl9JblBsYWNlQWRkPXB5dGhvbjM0LlB5TnVtYmVyX0luUGxhY2VBZGQKLSAgUHlOdW1iZXJfSW5QbGFjZUFuZD1weXRob24zNC5QeU51bWJlcl9JblBsYWNlQW5kCi0gIFB5TnVtYmVyX0luUGxhY2VGbG9vckRpdmlkZT1weXRob24zNC5QeU51bWJlcl9JblBsYWNlRmxvb3JEaXZpZGUKLSAgUHlOdW1iZXJfSW5QbGFjZUxzaGlmdD1weXRob24zNC5QeU51bWJlcl9JblBsYWNlTHNoaWZ0Ci0gIFB5TnVtYmVyX0luUGxhY2VNdWx0aXBseT1weXRob24zNC5QeU51bWJlcl9JblBsYWNlTXVsdGlwbHkKLSAgUHlOdW1iZXJfSW5QbGFjZU9yPXB5dGhvbjM0LlB5TnVtYmVyX0luUGxhY2VPcgotICBQeU51bWJlcl9JblBsYWNlUG93ZXI9cHl0aG9uMzQuUHlOdW1iZXJfSW5QbGFjZVBvd2VyCi0gIFB5TnVtYmVyX0luUGxhY2VSZW1haW5kZXI9cHl0aG9uMzQuUHlOdW1iZXJfSW5QbGFjZVJlbWFpbmRlcgotICBQeU51bWJlcl9JblBsYWNlUnNoaWZ0PXB5dGhvbjM0LlB5TnVtYmVyX0luUGxhY2VSc2hpZnQKLSAgUHlOdW1iZXJfSW5QbGFjZVN1YnRyYWN0PXB5dGhvbjM0LlB5TnVtYmVyX0luUGxhY2VTdWJ0cmFjdAotICBQeU51bWJlcl9JblBsYWNlVHJ1ZURpdmlkZT1weXRob24zNC5QeU51bWJlcl9JblBsYWNlVHJ1ZURpdmlkZQotICBQeU51bWJlcl9JblBsYWNlWG9yPXB5dGhvbjM0LlB5TnVtYmVyX0luUGxhY2VYb3IKLSAgUHlOdW1iZXJfSW5kZXg9cHl0aG9uMzQuUHlOdW1iZXJfSW5kZXgKLSAgUHlOdW1iZXJfSW52ZXJ0PXB5dGhvbjM0LlB5TnVtYmVyX0ludmVydAotICBQeU51bWJlcl9Mb25nPXB5dGhvbjM0LlB5TnVtYmVyX0xvbmcKLSAgUHlOdW1iZXJfTHNoaWZ0PXB5dGhvbjM0LlB5TnVtYmVyX0xzaGlmdAotICBQeU51bWJlcl9NdWx0aXBseT1weXRob24zNC5QeU51bWJlcl9NdWx0aXBseQotICBQeU51bWJlcl9OZWdhdGl2ZT1weXRob24zNC5QeU51bWJlcl9OZWdhdGl2ZQotICBQeU51bWJlcl9Pcj1weXRob24zNC5QeU51bWJlcl9PcgotICBQeU51bWJlcl9Qb3NpdGl2ZT1weXRob24zNC5QeU51bWJlcl9Qb3NpdGl2ZQotICBQeU51bWJlcl9Qb3dlcj1weXRob24zNC5QeU51bWJlcl9Qb3dlcgotICBQeU51bWJlcl9SZW1haW5kZXI9cHl0aG9uMzQuUHlOdW1iZXJfUmVtYWluZGVyCi0gIFB5TnVtYmVyX1JzaGlmdD1weXRob24zNC5QeU51bWJlcl9Sc2hpZnQKLSAgUHlOdW1iZXJfU3VidHJhY3Q9cHl0aG9uMzQuUHlOdW1iZXJfU3VidHJhY3QKLSAgUHlOdW1iZXJfVG9CYXNlPXB5dGhvbjM0LlB5TnVtYmVyX1RvQmFzZQotICBQeU51bWJlcl9UcnVlRGl2aWRlPXB5dGhvbjM0LlB5TnVtYmVyX1RydWVEaXZpZGUKLSAgUHlOdW1iZXJfWG9yPXB5dGhvbjM0LlB5TnVtYmVyX1hvcgotICBQeU9TX0FmdGVyRm9yaz1weXRob24zNC5QeU9TX0FmdGVyRm9yawotICBQeU9TX0luaXRJbnRlcnJ1cHRzPXB5dGhvbjM0LlB5T1NfSW5pdEludGVycnVwdHMKLSAgUHlPU19JbnB1dEhvb2s9cHl0aG9uMzQuUHlPU19JbnB1dEhvb2sgREFUQQotICBQeU9TX0ludGVycnVwdE9jY3VycmVkPXB5dGhvbjM0LlB5T1NfSW50ZXJydXB0T2NjdXJyZWQKLSAgUHlPU19SZWFkbGluZUZ1bmN0aW9uUG9pbnRlcj1weXRob24zNC5QeU9TX1JlYWRsaW5lRnVuY3Rpb25Qb2ludGVyIERBVEEKLSAgUHlPU19kb3VibGVfdG9fc3RyaW5nPXB5dGhvbjM0LlB5T1NfZG91YmxlX3RvX3N0cmluZwotICBQeU9TX2dldHNpZz1weXRob24zNC5QeU9TX2dldHNpZwotICBQeU9TX215c3RyaWNtcD1weXRob24zNC5QeU9TX215c3RyaWNtcAotICBQeU9TX215c3RybmljbXA9cHl0aG9uMzQuUHlPU19teXN0cm5pY21wCi0gIFB5T1Nfc2V0c2lnPXB5dGhvbjM0LlB5T1Nfc2V0c2lnCi0gIFB5T1Nfc25wcmludGY9cHl0aG9uMzQuUHlPU19zbnByaW50ZgotICBQeU9TX3N0cmluZ190b19kb3VibGU9cHl0aG9uMzQuUHlPU19zdHJpbmdfdG9fZG91YmxlCi0gIFB5T1Nfc3RydG9sPXB5dGhvbjM0LlB5T1Nfc3RydG9sCi0gIFB5T1Nfc3RydG91bD1weXRob24zNC5QeU9TX3N0cnRvdWwKLSAgUHlPU192c25wcmludGY9cHl0aG9uMzQuUHlPU192c25wcmludGYKLSAgUHlPYmplY3RfQVNDSUk9cHl0aG9uMzQuUHlPYmplY3RfQVNDSUkKLSAgUHlPYmplY3RfQXNDaGFyQnVmZmVyPXB5dGhvbjM0LlB5T2JqZWN0X0FzQ2hhckJ1ZmZlcgotICBQeU9iamVjdF9Bc0ZpbGVEZXNjcmlwdG9yPXB5dGhvbjM0LlB5T2JqZWN0X0FzRmlsZURlc2NyaXB0b3IKLSAgUHlPYmplY3RfQXNSZWFkQnVmZmVyPXB5dGhvbjM0LlB5T2JqZWN0X0FzUmVhZEJ1ZmZlcgotICBQeU9iamVjdF9Bc1dyaXRlQnVmZmVyPXB5dGhvbjM0LlB5T2JqZWN0X0FzV3JpdGVCdWZmZXIKLSAgUHlPYmplY3RfQnl0ZXM9cHl0aG9uMzQuUHlPYmplY3RfQnl0ZXMKLSAgUHlPYmplY3RfQ2FsbD1weXRob24zNC5QeU9iamVjdF9DYWxsCi0gIFB5T2JqZWN0X0NhbGxGdW5jdGlvbj1weXRob24zNC5QeU9iamVjdF9DYWxsRnVuY3Rpb24KLSAgUHlPYmplY3RfQ2FsbEZ1bmN0aW9uT2JqQXJncz1weXRob24zNC5QeU9iamVjdF9DYWxsRnVuY3Rpb25PYmpBcmdzCi0gIFB5T2JqZWN0X0NhbGxNZXRob2Q9cHl0aG9uMzQuUHlPYmplY3RfQ2FsbE1ldGhvZAotICBQeU9iamVjdF9DYWxsTWV0aG9kT2JqQXJncz1weXRob24zNC5QeU9iamVjdF9DYWxsTWV0aG9kT2JqQXJncwotICBQeU9iamVjdF9DYWxsT2JqZWN0PXB5dGhvbjM0LlB5T2JqZWN0X0NhbGxPYmplY3QKLSAgUHlPYmplY3RfQ2hlY2tSZWFkQnVmZmVyPXB5dGhvbjM0LlB5T2JqZWN0X0NoZWNrUmVhZEJ1ZmZlcgotICBQeU9iamVjdF9DbGVhcldlYWtSZWZzPXB5dGhvbjM0LlB5T2JqZWN0X0NsZWFyV2Vha1JlZnMKLSAgUHlPYmplY3RfRGVsSXRlbT1weXRob24zNC5QeU9iamVjdF9EZWxJdGVtCi0gIFB5T2JqZWN0X0RlbEl0ZW1TdHJpbmc9cHl0aG9uMzQuUHlPYmplY3RfRGVsSXRlbVN0cmluZwotICBQeU9iamVjdF9EaXI9cHl0aG9uMzQuUHlPYmplY3RfRGlyCi0gIFB5T2JqZWN0X0Zvcm1hdD1weXRob24zNC5QeU9iamVjdF9Gb3JtYXQKLSAgUHlPYmplY3RfRnJlZT1weXRob24zNC5QeU9iamVjdF9GcmVlCi0gIFB5T2JqZWN0X0dDX0RlbD1weXRob24zNC5QeU9iamVjdF9HQ19EZWwKLSAgUHlPYmplY3RfR0NfVHJhY2s9cHl0aG9uMzQuUHlPYmplY3RfR0NfVHJhY2sKLSAgUHlPYmplY3RfR0NfVW5UcmFjaz1weXRob24zNC5QeU9iamVjdF9HQ19VblRyYWNrCi0gIFB5T2JqZWN0X0dlbmVyaWNHZXRBdHRyPXB5dGhvbjM0LlB5T2JqZWN0X0dlbmVyaWNHZXRBdHRyCi0gIFB5T2JqZWN0X0dlbmVyaWNTZXRBdHRyPXB5dGhvbjM0LlB5T2JqZWN0X0dlbmVyaWNTZXRBdHRyCi0gIFB5T2JqZWN0X0dldEF0dHI9cHl0aG9uMzQuUHlPYmplY3RfR2V0QXR0cgotICBQeU9iamVjdF9HZXRBdHRyU3RyaW5nPXB5dGhvbjM0LlB5T2JqZWN0X0dldEF0dHJTdHJpbmcKLSAgUHlPYmplY3RfR2V0SXRlbT1weXRob24zNC5QeU9iamVjdF9HZXRJdGVtCi0gIFB5T2JqZWN0X0dldEl0ZXI9cHl0aG9uMzQuUHlPYmplY3RfR2V0SXRlcgotICBQeU9iamVjdF9IYXNBdHRyPXB5dGhvbjM0LlB5T2JqZWN0X0hhc0F0dHIKLSAgUHlPYmplY3RfSGFzQXR0clN0cmluZz1weXRob24zNC5QeU9iamVjdF9IYXNBdHRyU3RyaW5nCi0gIFB5T2JqZWN0X0hhc2g9cHl0aG9uMzQuUHlPYmplY3RfSGFzaAotICBQeU9iamVjdF9IYXNoTm90SW1wbGVtZW50ZWQ9cHl0aG9uMzQuUHlPYmplY3RfSGFzaE5vdEltcGxlbWVudGVkCi0gIFB5T2JqZWN0X0luaXQ9cHl0aG9uMzQuUHlPYmplY3RfSW5pdAotICBQeU9iamVjdF9Jbml0VmFyPXB5dGhvbjM0LlB5T2JqZWN0X0luaXRWYXIKLSAgUHlPYmplY3RfSXNJbnN0YW5jZT1weXRob24zNC5QeU9iamVjdF9Jc0luc3RhbmNlCi0gIFB5T2JqZWN0X0lzU3ViY2xhc3M9cHl0aG9uMzQuUHlPYmplY3RfSXNTdWJjbGFzcwotICBQeU9iamVjdF9Jc1RydWU9cHl0aG9uMzQuUHlPYmplY3RfSXNUcnVlCi0gIFB5T2JqZWN0X0xlbmd0aD1weXRob24zNC5QeU9iamVjdF9MZW5ndGgKLSAgUHlPYmplY3RfTWFsbG9jPXB5dGhvbjM0LlB5T2JqZWN0X01hbGxvYwotICBQeU9iamVjdF9Ob3Q9cHl0aG9uMzQuUHlPYmplY3RfTm90Ci0gIFB5T2JqZWN0X1JlYWxsb2M9cHl0aG9uMzQuUHlPYmplY3RfUmVhbGxvYwotICBQeU9iamVjdF9SZXByPXB5dGhvbjM0LlB5T2JqZWN0X1JlcHIKLSAgUHlPYmplY3RfUmljaENvbXBhcmU9cHl0aG9uMzQuUHlPYmplY3RfUmljaENvbXBhcmUKLSAgUHlPYmplY3RfUmljaENvbXBhcmVCb29sPXB5dGhvbjM0LlB5T2JqZWN0X1JpY2hDb21wYXJlQm9vbAotICBQeU9iamVjdF9TZWxmSXRlcj1weXRob24zNC5QeU9iamVjdF9TZWxmSXRlcgotICBQeU9iamVjdF9TZXRBdHRyPXB5dGhvbjM0LlB5T2JqZWN0X1NldEF0dHIKLSAgUHlPYmplY3RfU2V0QXR0clN0cmluZz1weXRob24zNC5QeU9iamVjdF9TZXRBdHRyU3RyaW5nCi0gIFB5T2JqZWN0X1NldEl0ZW09cHl0aG9uMzQuUHlPYmplY3RfU2V0SXRlbQotICBQeU9iamVjdF9TaXplPXB5dGhvbjM0LlB5T2JqZWN0X1NpemUKLSAgUHlPYmplY3RfU3RyPXB5dGhvbjM0LlB5T2JqZWN0X1N0cgotICBQeU9iamVjdF9UeXBlPXB5dGhvbjM0LlB5T2JqZWN0X1R5cGUgREFUQQotICBQeVBhcnNlcl9TaW1wbGVQYXJzZUZpbGVGbGFncz1weXRob24zNC5QeVBhcnNlcl9TaW1wbGVQYXJzZUZpbGVGbGFncwotICBQeVBhcnNlcl9TaW1wbGVQYXJzZVN0cmluZ0ZsYWdzPXB5dGhvbjM0LlB5UGFyc2VyX1NpbXBsZVBhcnNlU3RyaW5nRmxhZ3MKLSAgUHlQcm9wZXJ0eV9UeXBlPXB5dGhvbjM0LlB5UHJvcGVydHlfVHlwZSBEQVRBCi0gIFB5UmFuZ2VJdGVyX1R5cGU9cHl0aG9uMzQuUHlSYW5nZUl0ZXJfVHlwZSBEQVRBCi0gIFB5UmFuZ2VfVHlwZT1weXRob24zNC5QeVJhbmdlX1R5cGUgREFUQQotICBQeVJldmVyc2VkX1R5cGU9cHl0aG9uMzQuUHlSZXZlcnNlZF9UeXBlIERBVEEKLSAgUHlTZXFJdGVyX05ldz1weXRob24zNC5QeVNlcUl0ZXJfTmV3Ci0gIFB5U2VxSXRlcl9UeXBlPXB5dGhvbjM0LlB5U2VxSXRlcl9UeXBlIERBVEEKLSAgUHlTZXF1ZW5jZV9DaGVjaz1weXRob24zNC5QeVNlcXVlbmNlX0NoZWNrCi0gIFB5U2VxdWVuY2VfQ29uY2F0PXB5dGhvbjM0LlB5U2VxdWVuY2VfQ29uY2F0Ci0gIFB5U2VxdWVuY2VfQ29udGFpbnM9cHl0aG9uMzQuUHlTZXF1ZW5jZV9Db250YWlucwotICBQeVNlcXVlbmNlX0NvdW50PXB5dGhvbjM0LlB5U2VxdWVuY2VfQ291bnQKLSAgUHlTZXF1ZW5jZV9EZWxJdGVtPXB5dGhvbjM0LlB5U2VxdWVuY2VfRGVsSXRlbQotICBQeVNlcXVlbmNlX0RlbFNsaWNlPXB5dGhvbjM0LlB5U2VxdWVuY2VfRGVsU2xpY2UKLSAgUHlTZXF1ZW5jZV9GYXN0PXB5dGhvbjM0LlB5U2VxdWVuY2VfRmFzdAotICBQeVNlcXVlbmNlX0dldEl0ZW09cHl0aG9uMzQuUHlTZXF1ZW5jZV9HZXRJdGVtCi0gIFB5U2VxdWVuY2VfR2V0U2xpY2U9cHl0aG9uMzQuUHlTZXF1ZW5jZV9HZXRTbGljZQotICBQeVNlcXVlbmNlX0luPXB5dGhvbjM0LlB5U2VxdWVuY2VfSW4KLSAgUHlTZXF1ZW5jZV9JblBsYWNlQ29uY2F0PXB5dGhvbjM0LlB5U2VxdWVuY2VfSW5QbGFjZUNvbmNhdAotICBQeVNlcXVlbmNlX0luUGxhY2VSZXBlYXQ9cHl0aG9uMzQuUHlTZXF1ZW5jZV9JblBsYWNlUmVwZWF0Ci0gIFB5U2VxdWVuY2VfSW5kZXg9cHl0aG9uMzQuUHlTZXF1ZW5jZV9JbmRleAotICBQeVNlcXVlbmNlX0xlbmd0aD1weXRob24zNC5QeVNlcXVlbmNlX0xlbmd0aAotICBQeVNlcXVlbmNlX0xpc3Q9cHl0aG9uMzQuUHlTZXF1ZW5jZV9MaXN0Ci0gIFB5U2VxdWVuY2VfUmVwZWF0PXB5dGhvbjM0LlB5U2VxdWVuY2VfUmVwZWF0Ci0gIFB5U2VxdWVuY2VfU2V0SXRlbT1weXRob24zNC5QeVNlcXVlbmNlX1NldEl0ZW0KLSAgUHlTZXF1ZW5jZV9TZXRTbGljZT1weXRob24zNC5QeVNlcXVlbmNlX1NldFNsaWNlCi0gIFB5U2VxdWVuY2VfU2l6ZT1weXRob24zNC5QeVNlcXVlbmNlX1NpemUKLSAgUHlTZXF1ZW5jZV9UdXBsZT1weXRob24zNC5QeVNlcXVlbmNlX1R1cGxlCi0gIFB5U2V0SXRlcl9UeXBlPXB5dGhvbjM0LlB5U2V0SXRlcl9UeXBlIERBVEEKLSAgUHlTZXRfQWRkPXB5dGhvbjM0LlB5U2V0X0FkZAotICBQeVNldF9DbGVhcj1weXRob24zNC5QeVNldF9DbGVhcgotICBQeVNldF9Db250YWlucz1weXRob24zNC5QeVNldF9Db250YWlucwotICBQeVNldF9EaXNjYXJkPXB5dGhvbjM0LlB5U2V0X0Rpc2NhcmQKLSAgUHlTZXRfTmV3PXB5dGhvbjM0LlB5U2V0X05ldwotICBQeVNldF9Qb3A9cHl0aG9uMzQuUHlTZXRfUG9wCi0gIFB5U2V0X1NpemU9cHl0aG9uMzQuUHlTZXRfU2l6ZQotICBQeVNldF9UeXBlPXB5dGhvbjM0LlB5U2V0X1R5cGUgREFUQQotICBQeVNsaWNlX0dldEluZGljZXM9cHl0aG9uMzQuUHlTbGljZV9HZXRJbmRpY2VzCi0gIFB5U2xpY2VfR2V0SW5kaWNlc0V4PXB5dGhvbjM0LlB5U2xpY2VfR2V0SW5kaWNlc0V4Ci0gIFB5U2xpY2VfTmV3PXB5dGhvbjM0LlB5U2xpY2VfTmV3Ci0gIFB5U2xpY2VfVHlwZT1weXRob24zNC5QeVNsaWNlX1R5cGUgREFUQQotICBQeVNvcnRXcmFwcGVyX1R5cGU9cHl0aG9uMzQuUHlTb3J0V3JhcHBlcl9UeXBlIERBVEEKLSAgUHlTdGF0ZV9GaW5kTW9kdWxlPXB5dGhvbjM0LlB5U3RhdGVfRmluZE1vZHVsZQotICBQeVN0YXRlX0FkZE1vZHVsZT1weXRob24zNC5QeVN0YXRlX0FkZE1vZHVsZQotICBQeVN0YXRlX1JlbW92ZU1vZHVsZT1weXRob24zNC5QeVN0YXRlX1JlbW92ZU1vZHVsZQotICBQeVN0cnVjdFNlcXVlbmNlX0dldEl0ZW09cHl0aG9uMzQuUHlTdHJ1Y3RTZXF1ZW5jZV9HZXRJdGVtCi0gIFB5U3RydWN0U2VxdWVuY2VfTmV3PXB5dGhvbjM0LlB5U3RydWN0U2VxdWVuY2VfTmV3Ci0gIFB5U3RydWN0U2VxdWVuY2VfTmV3VHlwZT1weXRob24zNC5QeVN0cnVjdFNlcXVlbmNlX05ld1R5cGUKLSAgUHlTdHJ1Y3RTZXF1ZW5jZV9TZXRJdGVtPXB5dGhvbjM0LlB5U3RydWN0U2VxdWVuY2VfU2V0SXRlbQotICBQeVN1cGVyX1R5cGU9cHl0aG9uMzQuUHlTdXBlcl9UeXBlIERBVEEKLSAgUHlTeXNfQWRkV2Fybk9wdGlvbj1weXRob24zNC5QeVN5c19BZGRXYXJuT3B0aW9uCi0gIFB5U3lzX0FkZFdhcm5PcHRpb25Vbmljb2RlPXB5dGhvbjM0LlB5U3lzX0FkZFdhcm5PcHRpb25Vbmljb2RlCi0gIFB5U3lzX0Zvcm1hdFN0ZGVycj1weXRob24zNC5QeVN5c19Gb3JtYXRTdGRlcnIKLSAgUHlTeXNfRm9ybWF0U3Rkb3V0PXB5dGhvbjM0LlB5U3lzX0Zvcm1hdFN0ZG91dAotICBQeVN5c19HZXRPYmplY3Q9cHl0aG9uMzQuUHlTeXNfR2V0T2JqZWN0Ci0gIFB5U3lzX0hhc1dhcm5PcHRpb25zPXB5dGhvbjM0LlB5U3lzX0hhc1dhcm5PcHRpb25zCi0gIFB5U3lzX1Jlc2V0V2Fybk9wdGlvbnM9cHl0aG9uMzQuUHlTeXNfUmVzZXRXYXJuT3B0aW9ucwotICBQeVN5c19TZXRBcmd2PXB5dGhvbjM0LlB5U3lzX1NldEFyZ3YKLSAgUHlTeXNfU2V0QXJndkV4PXB5dGhvbjM0LlB5U3lzX1NldEFyZ3ZFeAotICBQeVN5c19TZXRPYmplY3Q9cHl0aG9uMzQuUHlTeXNfU2V0T2JqZWN0Ci0gIFB5U3lzX1NldFBhdGg9cHl0aG9uMzQuUHlTeXNfU2V0UGF0aAotICBQeVN5c19Xcml0ZVN0ZGVycj1weXRob24zNC5QeVN5c19Xcml0ZVN0ZGVycgotICBQeVN5c19Xcml0ZVN0ZG91dD1weXRob24zNC5QeVN5c19Xcml0ZVN0ZG91dAotICBQeVRocmVhZFN0YXRlX0NsZWFyPXB5dGhvbjM0LlB5VGhyZWFkU3RhdGVfQ2xlYXIKLSAgUHlUaHJlYWRTdGF0ZV9EZWxldGU9cHl0aG9uMzQuUHlUaHJlYWRTdGF0ZV9EZWxldGUKLSAgUHlUaHJlYWRTdGF0ZV9EZWxldGVDdXJyZW50PXB5dGhvbjM0LlB5VGhyZWFkU3RhdGVfRGVsZXRlQ3VycmVudAotICBQeVRocmVhZFN0YXRlX0dldD1weXRob24zNC5QeVRocmVhZFN0YXRlX0dldAotICBQeVRocmVhZFN0YXRlX0dldERpY3Q9cHl0aG9uMzQuUHlUaHJlYWRTdGF0ZV9HZXREaWN0Ci0gIFB5VGhyZWFkU3RhdGVfTmV3PXB5dGhvbjM0LlB5VGhyZWFkU3RhdGVfTmV3Ci0gIFB5VGhyZWFkU3RhdGVfU2V0QXN5bmNFeGM9cHl0aG9uMzQuUHlUaHJlYWRTdGF0ZV9TZXRBc3luY0V4YwotICBQeVRocmVhZFN0YXRlX1N3YXA9cHl0aG9uMzQuUHlUaHJlYWRTdGF0ZV9Td2FwCi0gIFB5VHJhY2VCYWNrX0hlcmU9cHl0aG9uMzQuUHlUcmFjZUJhY2tfSGVyZQotICBQeVRyYWNlQmFja19QcmludD1weXRob24zNC5QeVRyYWNlQmFja19QcmludAotICBQeVRyYWNlQmFja19UeXBlPXB5dGhvbjM0LlB5VHJhY2VCYWNrX1R5cGUgREFUQQotICBQeVR1cGxlSXRlcl9UeXBlPXB5dGhvbjM0LlB5VHVwbGVJdGVyX1R5cGUgREFUQQotICBQeVR1cGxlX0NsZWFyRnJlZUxpc3Q9cHl0aG9uMzQuUHlUdXBsZV9DbGVhckZyZWVMaXN0Ci0gIFB5VHVwbGVfR2V0SXRlbT1weXRob24zNC5QeVR1cGxlX0dldEl0ZW0KLSAgUHlUdXBsZV9HZXRTbGljZT1weXRob24zNC5QeVR1cGxlX0dldFNsaWNlCi0gIFB5VHVwbGVfTmV3PXB5dGhvbjM0LlB5VHVwbGVfTmV3Ci0gIFB5VHVwbGVfUGFjaz1weXRob24zNC5QeVR1cGxlX1BhY2sKLSAgUHlUdXBsZV9TZXRJdGVtPXB5dGhvbjM0LlB5VHVwbGVfU2V0SXRlbQotICBQeVR1cGxlX1NpemU9cHl0aG9uMzQuUHlUdXBsZV9TaXplCi0gIFB5VHVwbGVfVHlwZT1weXRob24zNC5QeVR1cGxlX1R5cGUgREFUQQotICBQeVR5cGVfQ2xlYXJDYWNoZT1weXRob24zNC5QeVR5cGVfQ2xlYXJDYWNoZQotICBQeVR5cGVfRnJvbVNwZWM9cHl0aG9uMzQuUHlUeXBlX0Zyb21TcGVjCi0gIFB5VHlwZV9Gcm9tU3BlY1dpdGhCYXNlcz1weXRob24zNC5QeVR5cGVfRnJvbVNwZWNXaXRoQmFzZXMKLSAgUHlUeXBlX0dlbmVyaWNBbGxvYz1weXRob24zNC5QeVR5cGVfR2VuZXJpY0FsbG9jCi0gIFB5VHlwZV9HZW5lcmljTmV3PXB5dGhvbjM0LlB5VHlwZV9HZW5lcmljTmV3Ci0gIFB5VHlwZV9HZXRGbGFncz1weXRob24zNC5QeVR5cGVfR2V0RmxhZ3MKLSAgUHlUeXBlX0dldFNsb3Q9cHl0aG9uMzQuUHlUeXBlX0dldFNsb3QKLSAgUHlUeXBlX0lzU3VidHlwZT1weXRob24zNC5QeVR5cGVfSXNTdWJ0eXBlCi0gIFB5VHlwZV9Nb2RpZmllZD1weXRob24zNC5QeVR5cGVfTW9kaWZpZWQKLSAgUHlUeXBlX1JlYWR5PXB5dGhvbjM0LlB5VHlwZV9SZWFkeQotICBQeVR5cGVfVHlwZT1weXRob24zNC5QeVR5cGVfVHlwZSBEQVRBCi0gIFB5VW5pY29kZURlY29kZUVycm9yX0NyZWF0ZT1weXRob24zNC5QeVVuaWNvZGVEZWNvZGVFcnJvcl9DcmVhdGUKLSAgUHlVbmljb2RlRGVjb2RlRXJyb3JfR2V0RW5jb2Rpbmc9cHl0aG9uMzQuUHlVbmljb2RlRGVjb2RlRXJyb3JfR2V0RW5jb2RpbmcKLSAgUHlVbmljb2RlRGVjb2RlRXJyb3JfR2V0RW5kPXB5dGhvbjM0LlB5VW5pY29kZURlY29kZUVycm9yX0dldEVuZAotICBQeVVuaWNvZGVEZWNvZGVFcnJvcl9HZXRPYmplY3Q9cHl0aG9uMzQuUHlVbmljb2RlRGVjb2RlRXJyb3JfR2V0T2JqZWN0Ci0gIFB5VW5pY29kZURlY29kZUVycm9yX0dldFJlYXNvbj1weXRob24zNC5QeVVuaWNvZGVEZWNvZGVFcnJvcl9HZXRSZWFzb24KLSAgUHlVbmljb2RlRGVjb2RlRXJyb3JfR2V0U3RhcnQ9cHl0aG9uMzQuUHlVbmljb2RlRGVjb2RlRXJyb3JfR2V0U3RhcnQKLSAgUHlVbmljb2RlRGVjb2RlRXJyb3JfU2V0RW5kPXB5dGhvbjM0LlB5VW5pY29kZURlY29kZUVycm9yX1NldEVuZAotICBQeVVuaWNvZGVEZWNvZGVFcnJvcl9TZXRSZWFzb249cHl0aG9uMzQuUHlVbmljb2RlRGVjb2RlRXJyb3JfU2V0UmVhc29uCi0gIFB5VW5pY29kZURlY29kZUVycm9yX1NldFN0YXJ0PXB5dGhvbjM0LlB5VW5pY29kZURlY29kZUVycm9yX1NldFN0YXJ0Ci0gIFB5VW5pY29kZUVuY29kZUVycm9yX0dldEVuY29kaW5nPXB5dGhvbjM0LlB5VW5pY29kZUVuY29kZUVycm9yX0dldEVuY29kaW5nCi0gIFB5VW5pY29kZUVuY29kZUVycm9yX0dldEVuZD1weXRob24zNC5QeVVuaWNvZGVFbmNvZGVFcnJvcl9HZXRFbmQKLSAgUHlVbmljb2RlRW5jb2RlRXJyb3JfR2V0T2JqZWN0PXB5dGhvbjM0LlB5VW5pY29kZUVuY29kZUVycm9yX0dldE9iamVjdAotICBQeVVuaWNvZGVFbmNvZGVFcnJvcl9HZXRSZWFzb249cHl0aG9uMzQuUHlVbmljb2RlRW5jb2RlRXJyb3JfR2V0UmVhc29uCi0gIFB5VW5pY29kZUVuY29kZUVycm9yX0dldFN0YXJ0PXB5dGhvbjM0LlB5VW5pY29kZUVuY29kZUVycm9yX0dldFN0YXJ0Ci0gIFB5VW5pY29kZUVuY29kZUVycm9yX1NldEVuZD1weXRob24zNC5QeVVuaWNvZGVFbmNvZGVFcnJvcl9TZXRFbmQKLSAgUHlVbmljb2RlRW5jb2RlRXJyb3JfU2V0UmVhc29uPXB5dGhvbjM0LlB5VW5pY29kZUVuY29kZUVycm9yX1NldFJlYXNvbgotICBQeVVuaWNvZGVFbmNvZGVFcnJvcl9TZXRTdGFydD1weXRob24zNC5QeVVuaWNvZGVFbmNvZGVFcnJvcl9TZXRTdGFydAotICBQeVVuaWNvZGVJdGVyX1R5cGU9cHl0aG9uMzQuUHlVbmljb2RlSXRlcl9UeXBlIERBVEEKLSAgUHlVbmljb2RlVHJhbnNsYXRlRXJyb3JfR2V0RW5kPXB5dGhvbjM0LlB5VW5pY29kZVRyYW5zbGF0ZUVycm9yX0dldEVuZAotICBQeVVuaWNvZGVUcmFuc2xhdGVFcnJvcl9HZXRPYmplY3Q9cHl0aG9uMzQuUHlVbmljb2RlVHJhbnNsYXRlRXJyb3JfR2V0T2JqZWN0Ci0gIFB5VW5pY29kZVRyYW5zbGF0ZUVycm9yX0dldFJlYXNvbj1weXRob24zNC5QeVVuaWNvZGVUcmFuc2xhdGVFcnJvcl9HZXRSZWFzb24KLSAgUHlVbmljb2RlVHJhbnNsYXRlRXJyb3JfR2V0U3RhcnQ9cHl0aG9uMzQuUHlVbmljb2RlVHJhbnNsYXRlRXJyb3JfR2V0U3RhcnQKLSAgUHlVbmljb2RlVHJhbnNsYXRlRXJyb3JfU2V0RW5kPXB5dGhvbjM0LlB5VW5pY29kZVRyYW5zbGF0ZUVycm9yX1NldEVuZAotICBQeVVuaWNvZGVUcmFuc2xhdGVFcnJvcl9TZXRSZWFzb249cHl0aG9uMzQuUHlVbmljb2RlVHJhbnNsYXRlRXJyb3JfU2V0UmVhc29uCi0gIFB5VW5pY29kZVRyYW5zbGF0ZUVycm9yX1NldFN0YXJ0PXB5dGhvbjM0LlB5VW5pY29kZVRyYW5zbGF0ZUVycm9yX1NldFN0YXJ0Ci0gIFB5VW5pY29kZV9BcHBlbmQ9cHl0aG9uMzQuUHlVbmljb2RlX0FwcGVuZAotICBQeVVuaWNvZGVfQXBwZW5kQW5kRGVsPXB5dGhvbjM0LlB5VW5pY29kZV9BcHBlbmRBbmREZWwKLSAgUHlVbmljb2RlX0FzQVNDSUlTdHJpbmc9cHl0aG9uMzQuUHlVbmljb2RlX0FzQVNDSUlTdHJpbmcKLSAgUHlVbmljb2RlX0FzQ2hhcm1hcFN0cmluZz1weXRob24zNC5QeVVuaWNvZGVfQXNDaGFybWFwU3RyaW5nCi0gIFB5VW5pY29kZV9Bc0RlY29kZWRPYmplY3Q9cHl0aG9uMzQuUHlVbmljb2RlX0FzRGVjb2RlZE9iamVjdAotICBQeVVuaWNvZGVfQXNEZWNvZGVkVW5pY29kZT1weXRob24zNC5QeVVuaWNvZGVfQXNEZWNvZGVkVW5pY29kZQotICBQeVVuaWNvZGVfQXNFbmNvZGVkT2JqZWN0PXB5dGhvbjM0LlB5VW5pY29kZV9Bc0VuY29kZWRPYmplY3QKLSAgUHlVbmljb2RlX0FzRW5jb2RlZFN0cmluZz1weXRob24zNC5QeVVuaWNvZGVfQXNFbmNvZGVkU3RyaW5nCi0gIFB5VW5pY29kZV9Bc0VuY29kZWRVbmljb2RlPXB5dGhvbjM0LlB5VW5pY29kZV9Bc0VuY29kZWRVbmljb2RlCi0gIFB5VW5pY29kZV9Bc0xhdGluMVN0cmluZz1weXRob24zNC5QeVVuaWNvZGVfQXNMYXRpbjFTdHJpbmcKLSAgUHlVbmljb2RlX0FzUmF3VW5pY29kZUVzY2FwZVN0cmluZz1weXRob24zNC5QeVVuaWNvZGVfQXNSYXdVbmljb2RlRXNjYXBlU3RyaW5nCi0gIFB5VW5pY29kZV9Bc1VURjE2U3RyaW5nPXB5dGhvbjM0LlB5VW5pY29kZV9Bc1VURjE2U3RyaW5nCi0gIFB5VW5pY29kZV9Bc1VURjMyU3RyaW5nPXB5dGhvbjM0LlB5VW5pY29kZV9Bc1VURjMyU3RyaW5nCi0gIFB5VW5pY29kZV9Bc1VURjhTdHJpbmc9cHl0aG9uMzQuUHlVbmljb2RlX0FzVVRGOFN0cmluZwotICBQeVVuaWNvZGVfQXNVbmljb2RlRXNjYXBlU3RyaW5nPXB5dGhvbjM0LlB5VW5pY29kZV9Bc1VuaWNvZGVFc2NhcGVTdHJpbmcKLSAgUHlVbmljb2RlX0FzV2lkZUNoYXI9cHl0aG9uMzQuUHlVbmljb2RlX0FzV2lkZUNoYXIKLSAgUHlVbmljb2RlX0NsZWFyRnJlZWxpc3Q9cHl0aG9uMzQuUHlVbmljb2RlX0NsZWFyRnJlZWxpc3QKLSAgUHlVbmljb2RlX0NvbXBhcmU9cHl0aG9uMzQuUHlVbmljb2RlX0NvbXBhcmUKLSAgUHlVbmljb2RlX0NvbmNhdD1weXRob24zNC5QeVVuaWNvZGVfQ29uY2F0Ci0gIFB5VW5pY29kZV9Db250YWlucz1weXRob24zNC5QeVVuaWNvZGVfQ29udGFpbnMKLSAgUHlVbmljb2RlX0NvdW50PXB5dGhvbjM0LlB5VW5pY29kZV9Db3VudAotICBQeVVuaWNvZGVfRGVjb2RlPXB5dGhvbjM0LlB5VW5pY29kZV9EZWNvZGUKLSAgUHlVbmljb2RlX0RlY29kZUFTQ0lJPXB5dGhvbjM0LlB5VW5pY29kZV9EZWNvZGVBU0NJSQotICBQeVVuaWNvZGVfRGVjb2RlQ2hhcm1hcD1weXRob24zNC5QeVVuaWNvZGVfRGVjb2RlQ2hhcm1hcAotICBQeVVuaWNvZGVfRGVjb2RlRlNEZWZhdWx0PXB5dGhvbjM0LlB5VW5pY29kZV9EZWNvZGVGU0RlZmF1bHQKLSAgUHlVbmljb2RlX0RlY29kZUZTRGVmYXVsdEFuZFNpemU9cHl0aG9uMzQuUHlVbmljb2RlX0RlY29kZUZTRGVmYXVsdEFuZFNpemUKLSAgUHlVbmljb2RlX0RlY29kZUxhdGluMT1weXRob24zNC5QeVVuaWNvZGVfRGVjb2RlTGF0aW4xCi0gIFB5VW5pY29kZV9EZWNvZGVSYXdVbmljb2RlRXNjYXBlPXB5dGhvbjM0LlB5VW5pY29kZV9EZWNvZGVSYXdVbmljb2RlRXNjYXBlCi0gIFB5VW5pY29kZV9EZWNvZGVVVEYxNj1weXRob24zNC5QeVVuaWNvZGVfRGVjb2RlVVRGMTYKLSAgUHlVbmljb2RlX0RlY29kZVVURjE2U3RhdGVmdWw9cHl0aG9uMzQuUHlVbmljb2RlX0RlY29kZVVURjE2U3RhdGVmdWwKLSAgUHlVbmljb2RlX0RlY29kZVVURjMyPXB5dGhvbjM0LlB5VW5pY29kZV9EZWNvZGVVVEYzMgotICBQeVVuaWNvZGVfRGVjb2RlVVRGMzJTdGF0ZWZ1bD1weXRob24zNC5QeVVuaWNvZGVfRGVjb2RlVVRGMzJTdGF0ZWZ1bAotICBQeVVuaWNvZGVfRGVjb2RlVVRGOD1weXRob24zNC5QeVVuaWNvZGVfRGVjb2RlVVRGOAotICBQeVVuaWNvZGVfRGVjb2RlVVRGOFN0YXRlZnVsPXB5dGhvbjM0LlB5VW5pY29kZV9EZWNvZGVVVEY4U3RhdGVmdWwKLSAgUHlVbmljb2RlX0RlY29kZVVuaWNvZGVFc2NhcGU9cHl0aG9uMzQuUHlVbmljb2RlX0RlY29kZVVuaWNvZGVFc2NhcGUKLSAgUHlVbmljb2RlX0ZTQ29udmVydGVyPXB5dGhvbjM0LlB5VW5pY29kZV9GU0NvbnZlcnRlcgotICBQeVVuaWNvZGVfRlNEZWNvZGVyPXB5dGhvbjM0LlB5VW5pY29kZV9GU0RlY29kZXIKLSAgUHlVbmljb2RlX0ZpbmQ9cHl0aG9uMzQuUHlVbmljb2RlX0ZpbmQKLSAgUHlVbmljb2RlX0Zvcm1hdD1weXRob24zNC5QeVVuaWNvZGVfRm9ybWF0Ci0gIFB5VW5pY29kZV9Gcm9tRW5jb2RlZE9iamVjdD1weXRob24zNC5QeVVuaWNvZGVfRnJvbUVuY29kZWRPYmplY3QKLSAgUHlVbmljb2RlX0Zyb21Gb3JtYXQ9cHl0aG9uMzQuUHlVbmljb2RlX0Zyb21Gb3JtYXQKLSAgUHlVbmljb2RlX0Zyb21Gb3JtYXRWPXB5dGhvbjM0LlB5VW5pY29kZV9Gcm9tRm9ybWF0VgotICBQeVVuaWNvZGVfRnJvbU9iamVjdD1weXRob24zNC5QeVVuaWNvZGVfRnJvbU9iamVjdAotICBQeVVuaWNvZGVfRnJvbU9yZGluYWw9cHl0aG9uMzQuUHlVbmljb2RlX0Zyb21PcmRpbmFsCi0gIFB5VW5pY29kZV9Gcm9tU3RyaW5nPXB5dGhvbjM0LlB5VW5pY29kZV9Gcm9tU3RyaW5nCi0gIFB5VW5pY29kZV9Gcm9tU3RyaW5nQW5kU2l6ZT1weXRob24zNC5QeVVuaWNvZGVfRnJvbVN0cmluZ0FuZFNpemUKLSAgUHlVbmljb2RlX0Zyb21XaWRlQ2hhcj1weXRob24zNC5QeVVuaWNvZGVfRnJvbVdpZGVDaGFyCi0gIFB5VW5pY29kZV9HZXREZWZhdWx0RW5jb2Rpbmc9cHl0aG9uMzQuUHlVbmljb2RlX0dldERlZmF1bHRFbmNvZGluZwotICBQeVVuaWNvZGVfR2V0U2l6ZT1weXRob24zNC5QeVVuaWNvZGVfR2V0U2l6ZQotICBQeVVuaWNvZGVfSXNJZGVudGlmaWVyPXB5dGhvbjM0LlB5VW5pY29kZV9Jc0lkZW50aWZpZXIKLSAgUHlVbmljb2RlX0pvaW49cHl0aG9uMzQuUHlVbmljb2RlX0pvaW4KLSAgUHlVbmljb2RlX1BhcnRpdGlvbj1weXRob24zNC5QeVVuaWNvZGVfUGFydGl0aW9uCi0gIFB5VW5pY29kZV9SUGFydGl0aW9uPXB5dGhvbjM0LlB5VW5pY29kZV9SUGFydGl0aW9uCi0gIFB5VW5pY29kZV9SU3BsaXQ9cHl0aG9uMzQuUHlVbmljb2RlX1JTcGxpdAotICBQeVVuaWNvZGVfUmVwbGFjZT1weXRob24zNC5QeVVuaWNvZGVfUmVwbGFjZQotICBQeVVuaWNvZGVfUmVzaXplPXB5dGhvbjM0LlB5VW5pY29kZV9SZXNpemUKLSAgUHlVbmljb2RlX1JpY2hDb21wYXJlPXB5dGhvbjM0LlB5VW5pY29kZV9SaWNoQ29tcGFyZQotICBQeVVuaWNvZGVfU2V0RGVmYXVsdEVuY29kaW5nPXB5dGhvbjM0LlB5VW5pY29kZV9TZXREZWZhdWx0RW5jb2RpbmcKLSAgUHlVbmljb2RlX1NwbGl0PXB5dGhvbjM0LlB5VW5pY29kZV9TcGxpdAotICBQeVVuaWNvZGVfU3BsaXRsaW5lcz1weXRob24zNC5QeVVuaWNvZGVfU3BsaXRsaW5lcwotICBQeVVuaWNvZGVfVGFpbG1hdGNoPXB5dGhvbjM0LlB5VW5pY29kZV9UYWlsbWF0Y2gKLSAgUHlVbmljb2RlX1RyYW5zbGF0ZT1weXRob24zNC5QeVVuaWNvZGVfVHJhbnNsYXRlCi0gIFB5VW5pY29kZV9CdWlsZEVuY29kaW5nTWFwPXB5dGhvbjM0LlB5VW5pY29kZV9CdWlsZEVuY29kaW5nTWFwCi0gIFB5VW5pY29kZV9Db21wYXJlV2l0aEFTQ0lJU3RyaW5nPXB5dGhvbjM0LlB5VW5pY29kZV9Db21wYXJlV2l0aEFTQ0lJU3RyaW5nCi0gIFB5VW5pY29kZV9EZWNvZGVVVEY3PXB5dGhvbjM0LlB5VW5pY29kZV9EZWNvZGVVVEY3Ci0gIFB5VW5pY29kZV9EZWNvZGVVVEY3U3RhdGVmdWw9cHl0aG9uMzQuUHlVbmljb2RlX0RlY29kZVVURjdTdGF0ZWZ1bAotICBQeVVuaWNvZGVfRW5jb2RlRlNEZWZhdWx0PXB5dGhvbjM0LlB5VW5pY29kZV9FbmNvZGVGU0RlZmF1bHQKLSAgUHlVbmljb2RlX0ludGVybkZyb21TdHJpbmc9cHl0aG9uMzQuUHlVbmljb2RlX0ludGVybkZyb21TdHJpbmcKLSAgUHlVbmljb2RlX0ludGVybkltbW9ydGFsPXB5dGhvbjM0LlB5VW5pY29kZV9JbnRlcm5JbW1vcnRhbAotICBQeVVuaWNvZGVfSW50ZXJuSW5QbGFjZT1weXRob24zNC5QeVVuaWNvZGVfSW50ZXJuSW5QbGFjZQotICBQeVVuaWNvZGVfVHlwZT1weXRob24zNC5QeVVuaWNvZGVfVHlwZSBEQVRBCi0gIFB5V2Vha3JlZl9HZXRPYmplY3Q9cHl0aG9uMzQuUHlXZWFrcmVmX0dldE9iamVjdCBEQVRBCi0gIFB5V2Vha3JlZl9OZXdQcm94eT1weXRob24zNC5QeVdlYWtyZWZfTmV3UHJveHkKLSAgUHlXZWFrcmVmX05ld1JlZj1weXRob24zNC5QeVdlYWtyZWZfTmV3UmVmCi0gIFB5V3JhcHBlckRlc2NyX1R5cGU9cHl0aG9uMzQuUHlXcmFwcGVyRGVzY3JfVHlwZSBEQVRBCi0gIFB5V3JhcHBlcl9OZXc9cHl0aG9uMzQuUHlXcmFwcGVyX05ldwotICBQeVppcF9UeXBlPXB5dGhvbjM0LlB5WmlwX1R5cGUgREFUQQotICBQeV9BZGRQZW5kaW5nQ2FsbD1weXRob24zNC5QeV9BZGRQZW5kaW5nQ2FsbAotICBQeV9BdEV4aXQ9cHl0aG9uMzQuUHlfQXRFeGl0Ci0gIFB5X0J1aWxkVmFsdWU9cHl0aG9uMzQuUHlfQnVpbGRWYWx1ZQotICBQeV9Db21waWxlU3RyaW5nPXB5dGhvbjM0LlB5X0NvbXBpbGVTdHJpbmcKLSAgUHlfRGVjUmVmPXB5dGhvbjM0LlB5X0RlY1JlZgotICBQeV9FbmRJbnRlcnByZXRlcj1weXRob24zNC5QeV9FbmRJbnRlcnByZXRlcgotICBQeV9FeGl0PXB5dGhvbjM0LlB5X0V4aXQKLSAgUHlfRmF0YWxFcnJvcj1weXRob24zNC5QeV9GYXRhbEVycm9yCi0gIFB5X0ZpbGVTeXN0ZW1EZWZhdWx0RW5jb2Rpbmc9cHl0aG9uMzQuUHlfRmlsZVN5c3RlbURlZmF1bHRFbmNvZGluZyBEQVRBCi0gIFB5X0ZpbmFsaXplPXB5dGhvbjM0LlB5X0ZpbmFsaXplCi0gIFB5X0dldEJ1aWxkSW5mbz1weXRob24zNC5QeV9HZXRCdWlsZEluZm8KLSAgUHlfR2V0Q29tcGlsZXI9cHl0aG9uMzQuUHlfR2V0Q29tcGlsZXIKLSAgUHlfR2V0Q29weXJpZ2h0PXB5dGhvbjM0LlB5X0dldENvcHlyaWdodAotICBQeV9HZXRFeGVjUHJlZml4PXB5dGhvbjM0LlB5X0dldEV4ZWNQcmVmaXgKLSAgUHlfR2V0UGF0aD1weXRob24zNC5QeV9HZXRQYXRoCi0gIFB5X0dldFBsYXRmb3JtPXB5dGhvbjM0LlB5X0dldFBsYXRmb3JtCi0gIFB5X0dldFByZWZpeD1weXRob24zNC5QeV9HZXRQcmVmaXgKLSAgUHlfR2V0UHJvZ3JhbUZ1bGxQYXRoPXB5dGhvbjM0LlB5X0dldFByb2dyYW1GdWxsUGF0aAotICBQeV9HZXRQcm9ncmFtTmFtZT1weXRob24zNC5QeV9HZXRQcm9ncmFtTmFtZQotICBQeV9HZXRQeXRob25Ib21lPXB5dGhvbjM0LlB5X0dldFB5dGhvbkhvbWUKLSAgUHlfR2V0UmVjdXJzaW9uTGltaXQ9cHl0aG9uMzQuUHlfR2V0UmVjdXJzaW9uTGltaXQKLSAgUHlfR2V0VmVyc2lvbj1weXRob24zNC5QeV9HZXRWZXJzaW9uCi0gIFB5X0hhc0ZpbGVTeXN0ZW1EZWZhdWx0RW5jb2Rpbmc9cHl0aG9uMzQuUHlfSGFzRmlsZVN5c3RlbURlZmF1bHRFbmNvZGluZyBEQVRBCi0gIFB5X0luY1JlZj1weXRob24zNC5QeV9JbmNSZWYKLSAgUHlfSW5pdGlhbGl6ZT1weXRob24zNC5QeV9Jbml0aWFsaXplCi0gIFB5X0luaXRpYWxpemVFeD1weXRob24zNC5QeV9Jbml0aWFsaXplRXgKLSAgUHlfSXNJbml0aWFsaXplZD1weXRob24zNC5QeV9Jc0luaXRpYWxpemVkCi0gIFB5X01haW49cHl0aG9uMzQuUHlfTWFpbgotICBQeV9NYWtlUGVuZGluZ0NhbGxzPXB5dGhvbjM0LlB5X01ha2VQZW5kaW5nQ2FsbHMKLSAgUHlfTmV3SW50ZXJwcmV0ZXI9cHl0aG9uMzQuUHlfTmV3SW50ZXJwcmV0ZXIKLSAgUHlfUmVwckVudGVyPXB5dGhvbjM0LlB5X1JlcHJFbnRlcgotICBQeV9SZXByTGVhdmU9cHl0aG9uMzQuUHlfUmVwckxlYXZlCi0gIFB5X1NldFByb2dyYW1OYW1lPXB5dGhvbjM0LlB5X1NldFByb2dyYW1OYW1lCi0gIFB5X1NldFB5dGhvbkhvbWU9cHl0aG9uMzQuUHlfU2V0UHl0aG9uSG9tZQotICBQeV9TZXRSZWN1cnNpb25MaW1pdD1weXRob24zNC5QeV9TZXRSZWN1cnNpb25MaW1pdAotICBQeV9TeW10YWJsZVN0cmluZz1weXRob24zNC5QeV9TeW10YWJsZVN0cmluZwotICBQeV9WYUJ1aWxkVmFsdWU9cHl0aG9uMzQuUHlfVmFCdWlsZFZhbHVlCi0gIF9QeUVycl9CYWRJbnRlcm5hbENhbGw9cHl0aG9uMzQuX1B5RXJyX0JhZEludGVybmFsQ2FsbAotICBfUHlPYmplY3RfQ2FsbEZ1bmN0aW9uX1NpemVUPXB5dGhvbjM0Ll9QeU9iamVjdF9DYWxsRnVuY3Rpb25fU2l6ZVQKLSAgX1B5T2JqZWN0X0NhbGxNZXRob2RfU2l6ZVQ9cHl0aG9uMzQuX1B5T2JqZWN0X0NhbGxNZXRob2RfU2l6ZVQKLSAgX1B5T2JqZWN0X0dDX01hbGxvYz1weXRob24zNC5fUHlPYmplY3RfR0NfTWFsbG9jCi0gIF9QeU9iamVjdF9HQ19OZXc9cHl0aG9uMzQuX1B5T2JqZWN0X0dDX05ldwotICBfUHlPYmplY3RfR0NfTmV3VmFyPXB5dGhvbjM0Ll9QeU9iamVjdF9HQ19OZXdWYXIKLSAgX1B5T2JqZWN0X0dDX1Jlc2l6ZT1weXRob24zNC5fUHlPYmplY3RfR0NfUmVzaXplCi0gIF9QeU9iamVjdF9OZXc9cHl0aG9uMzQuX1B5T2JqZWN0X05ldwotICBfUHlPYmplY3RfTmV3VmFyPXB5dGhvbjM0Ll9QeU9iamVjdF9OZXdWYXIKLSAgX1B5U3RhdGVfQWRkTW9kdWxlPXB5dGhvbjM0Ll9QeVN0YXRlX0FkZE1vZHVsZQotICBfUHlUaHJlYWRTdGF0ZV9Jbml0PXB5dGhvbjM0Ll9QeVRocmVhZFN0YXRlX0luaXQKLSAgX1B5VGhyZWFkU3RhdGVfUHJlYWxsb2M9cHl0aG9uMzQuX1B5VGhyZWFkU3RhdGVfUHJlYWxsb2MKLSAgX1B5VHJhc2hfZGVsZXRlX2xhdGVyPXB5dGhvbjM0Ll9QeVRyYXNoX2RlbGV0ZV9sYXRlciBEQVRBCi0gIF9QeVRyYXNoX2RlbGV0ZV9uZXN0aW5nPXB5dGhvbjM0Ll9QeVRyYXNoX2RlbGV0ZV9uZXN0aW5nIERBVEEKLSAgX1B5VHJhc2hfZGVwb3NpdF9vYmplY3Q9cHl0aG9uMzQuX1B5VHJhc2hfZGVwb3NpdF9vYmplY3QKLSAgX1B5VHJhc2hfZGVzdHJveV9jaGFpbj1weXRob24zNC5fUHlUcmFzaF9kZXN0cm95X2NoYWluCi0gIF9QeVdlYWtyZWZfQ2FsbGFibGVQcm94eVR5cGU9cHl0aG9uMzQuX1B5V2Vha3JlZl9DYWxsYWJsZVByb3h5VHlwZSBEQVRBCi0gIF9QeVdlYWtyZWZfUHJveHlUeXBlPXB5dGhvbjM0Ll9QeVdlYWtyZWZfUHJveHlUeXBlIERBVEEKLSAgX1B5V2Vha3JlZl9SZWZUeXBlPXB5dGhvbjM0Ll9QeVdlYWtyZWZfUmVmVHlwZSBEQVRBCi0gIF9QeV9CdWlsZFZhbHVlX1NpemVUPXB5dGhvbjM0Ll9QeV9CdWlsZFZhbHVlX1NpemVUCi0gIF9QeV9DaGVja1JlY3Vyc2lvbkxpbWl0PXB5dGhvbjM0Ll9QeV9DaGVja1JlY3Vyc2lvbkxpbWl0IERBVEEKLSAgX1B5X0NoZWNrUmVjdXJzaXZlQ2FsbD1weXRob24zNC5fUHlfQ2hlY2tSZWN1cnNpdmVDYWxsCi0gIF9QeV9EZWFsbG9jPXB5dGhvbjM0Ll9QeV9EZWFsbG9jCi0gIF9QeV9FbGxpcHNpc09iamVjdD1weXRob24zNC5fUHlfRWxsaXBzaXNPYmplY3QgREFUQQotICBfUHlfRmFsc2VTdHJ1Y3Q9cHl0aG9uMzQuX1B5X0ZhbHNlU3RydWN0IERBVEEKLSAgX1B5X05vbmVTdHJ1Y3Q9cHl0aG9uMzQuX1B5X05vbmVTdHJ1Y3QgREFUQQotICBfUHlfTm90SW1wbGVtZW50ZWRTdHJ1Y3Q9cHl0aG9uMzQuX1B5X05vdEltcGxlbWVudGVkU3RydWN0IERBVEEKLSAgX1B5X1N3YXBwZWRPcD1weXRob24zNC5fUHlfU3dhcHBlZE9wIERBVEEKLSAgX1B5X1RydWVTdHJ1Y3Q9cHl0aG9uMzQuX1B5X1RydWVTdHJ1Y3QgREFUQQotICBfUHlfVmFCdWlsZFZhbHVlX1NpemVUPXB5dGhvbjM0Ll9QeV9WYUJ1aWxkVmFsdWVfU2l6ZVQKLSAgX1B5QXJnX1BhcnNlX1NpemVUPXB5dGhvbjM0Ll9QeUFyZ19QYXJzZV9TaXplVAotICBfUHlBcmdfUGFyc2VUdXBsZV9TaXplVD1weXRob24zNC5fUHlBcmdfUGFyc2VUdXBsZV9TaXplVAotICBfUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzX1NpemVUPXB5dGhvbjM0Ll9QeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHNfU2l6ZVQKLSAgX1B5QXJnX1ZhUGFyc2VfU2l6ZVQ9cHl0aG9uMzQuX1B5QXJnX1ZhUGFyc2VfU2l6ZVQKLSAgX1B5QXJnX1ZhUGFyc2VUdXBsZUFuZEtleXdvcmRzX1NpemVUPXB5dGhvbjM0Ll9QeUFyZ19WYVBhcnNlVHVwbGVBbmRLZXl3b3Jkc19TaXplVAotICBfUHlfQnVpbGRWYWx1ZV9TaXplVD1weXRob24zNC5fUHlfQnVpbGRWYWx1ZV9TaXplVAorICBQeUFyZ19QYXJzZT1weXRob24zNS5QeUFyZ19QYXJzZQorICBQeUFyZ19QYXJzZVR1cGxlPXB5dGhvbjM1LlB5QXJnX1BhcnNlVHVwbGUKKyAgUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzPXB5dGhvbjM1LlB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcworICBQeUFyZ19VbnBhY2tUdXBsZT1weXRob24zNS5QeUFyZ19VbnBhY2tUdXBsZQorICBQeUFyZ19WYVBhcnNlPXB5dGhvbjM1LlB5QXJnX1ZhUGFyc2UKKyAgUHlBcmdfVmFQYXJzZVR1cGxlQW5kS2V5d29yZHM9cHl0aG9uMzUuUHlBcmdfVmFQYXJzZVR1cGxlQW5kS2V5d29yZHMKKyAgUHlBcmdfVmFsaWRhdGVLZXl3b3JkQXJndW1lbnRzPXB5dGhvbjM1LlB5QXJnX1ZhbGlkYXRlS2V5d29yZEFyZ3VtZW50cworICBQeUJhc2VPYmplY3RfVHlwZT1weXRob24zNS5QeUJhc2VPYmplY3RfVHlwZSBEQVRBCisgIFB5Qm9vbF9Gcm9tTG9uZz1weXRob24zNS5QeUJvb2xfRnJvbUxvbmcKKyAgUHlCb29sX1R5cGU9cHl0aG9uMzUuUHlCb29sX1R5cGUgREFUQQorICBQeUJ5dGVBcnJheUl0ZXJfVHlwZT1weXRob24zNS5QeUJ5dGVBcnJheUl0ZXJfVHlwZSBEQVRBCisgIFB5Qnl0ZUFycmF5X0FzU3RyaW5nPXB5dGhvbjM1LlB5Qnl0ZUFycmF5X0FzU3RyaW5nCisgIFB5Qnl0ZUFycmF5X0NvbmNhdD1weXRob24zNS5QeUJ5dGVBcnJheV9Db25jYXQKKyAgUHlCeXRlQXJyYXlfRnJvbU9iamVjdD1weXRob24zNS5QeUJ5dGVBcnJheV9Gcm9tT2JqZWN0CisgIFB5Qnl0ZUFycmF5X0Zyb21TdHJpbmdBbmRTaXplPXB5dGhvbjM1LlB5Qnl0ZUFycmF5X0Zyb21TdHJpbmdBbmRTaXplCisgIFB5Qnl0ZUFycmF5X1Jlc2l6ZT1weXRob24zNS5QeUJ5dGVBcnJheV9SZXNpemUKKyAgUHlCeXRlQXJyYXlfU2l6ZT1weXRob24zNS5QeUJ5dGVBcnJheV9TaXplCisgIFB5Qnl0ZUFycmF5X1R5cGU9cHl0aG9uMzUuUHlCeXRlQXJyYXlfVHlwZSBEQVRBCisgIFB5Qnl0ZXNJdGVyX1R5cGU9cHl0aG9uMzUuUHlCeXRlc0l0ZXJfVHlwZSBEQVRBCisgIFB5Qnl0ZXNfQXNTdHJpbmc9cHl0aG9uMzUuUHlCeXRlc19Bc1N0cmluZworICBQeUJ5dGVzX0FzU3RyaW5nQW5kU2l6ZT1weXRob24zNS5QeUJ5dGVzX0FzU3RyaW5nQW5kU2l6ZQorICBQeUJ5dGVzX0NvbmNhdD1weXRob24zNS5QeUJ5dGVzX0NvbmNhdAorICBQeUJ5dGVzX0NvbmNhdEFuZERlbD1weXRob24zNS5QeUJ5dGVzX0NvbmNhdEFuZERlbAorICBQeUJ5dGVzX0RlY29kZUVzY2FwZT1weXRob24zNS5QeUJ5dGVzX0RlY29kZUVzY2FwZQorICBQeUJ5dGVzX0Zyb21Gb3JtYXQ9cHl0aG9uMzUuUHlCeXRlc19Gcm9tRm9ybWF0CisgIFB5Qnl0ZXNfRnJvbUZvcm1hdFY9cHl0aG9uMzUuUHlCeXRlc19Gcm9tRm9ybWF0VgorICBQeUJ5dGVzX0Zyb21PYmplY3Q9cHl0aG9uMzUuUHlCeXRlc19Gcm9tT2JqZWN0CisgIFB5Qnl0ZXNfRnJvbVN0cmluZz1weXRob24zNS5QeUJ5dGVzX0Zyb21TdHJpbmcKKyAgUHlCeXRlc19Gcm9tU3RyaW5nQW5kU2l6ZT1weXRob24zNS5QeUJ5dGVzX0Zyb21TdHJpbmdBbmRTaXplCisgIFB5Qnl0ZXNfUmVwcj1weXRob24zNS5QeUJ5dGVzX1JlcHIKKyAgUHlCeXRlc19TaXplPXB5dGhvbjM1LlB5Qnl0ZXNfU2l6ZQorICBQeUJ5dGVzX1R5cGU9cHl0aG9uMzUuUHlCeXRlc19UeXBlIERBVEEKKyAgUHlDRnVuY3Rpb25fQ2FsbD1weXRob24zNS5QeUNGdW5jdGlvbl9DYWxsCisgIFB5Q0Z1bmN0aW9uX0NsZWFyRnJlZUxpc3Q9cHl0aG9uMzUuUHlDRnVuY3Rpb25fQ2xlYXJGcmVlTGlzdAorICBQeUNGdW5jdGlvbl9HZXRGbGFncz1weXRob24zNS5QeUNGdW5jdGlvbl9HZXRGbGFncworICBQeUNGdW5jdGlvbl9HZXRGdW5jdGlvbj1weXRob24zNS5QeUNGdW5jdGlvbl9HZXRGdW5jdGlvbgorICBQeUNGdW5jdGlvbl9HZXRTZWxmPXB5dGhvbjM1LlB5Q0Z1bmN0aW9uX0dldFNlbGYKKyAgUHlDRnVuY3Rpb25fTmV3PXB5dGhvbjM1LlB5Q0Z1bmN0aW9uX05ldworICBQeUNGdW5jdGlvbl9OZXdFeD1weXRob24zNS5QeUNGdW5jdGlvbl9OZXdFeAorICBQeUNGdW5jdGlvbl9UeXBlPXB5dGhvbjM1LlB5Q0Z1bmN0aW9uX1R5cGUgREFUQQorICBQeUNhbGxJdGVyX05ldz1weXRob24zNS5QeUNhbGxJdGVyX05ldworICBQeUNhbGxJdGVyX1R5cGU9cHl0aG9uMzUuUHlDYWxsSXRlcl9UeXBlIERBVEEKKyAgUHlDYWxsYWJsZV9DaGVjaz1weXRob24zNS5QeUNhbGxhYmxlX0NoZWNrCisgIFB5Q2Fwc3VsZV9HZXRDb250ZXh0PXB5dGhvbjM1LlB5Q2Fwc3VsZV9HZXRDb250ZXh0CisgIFB5Q2Fwc3VsZV9HZXREZXN0cnVjdG9yPXB5dGhvbjM1LlB5Q2Fwc3VsZV9HZXREZXN0cnVjdG9yCisgIFB5Q2Fwc3VsZV9HZXROYW1lPXB5dGhvbjM1LlB5Q2Fwc3VsZV9HZXROYW1lCisgIFB5Q2Fwc3VsZV9HZXRQb2ludGVyPXB5dGhvbjM1LlB5Q2Fwc3VsZV9HZXRQb2ludGVyCisgIFB5Q2Fwc3VsZV9JbXBvcnQ9cHl0aG9uMzUuUHlDYXBzdWxlX0ltcG9ydAorICBQeUNhcHN1bGVfSXNWYWxpZD1weXRob24zNS5QeUNhcHN1bGVfSXNWYWxpZAorICBQeUNhcHN1bGVfTmV3PXB5dGhvbjM1LlB5Q2Fwc3VsZV9OZXcKKyAgUHlDYXBzdWxlX1NldENvbnRleHQ9cHl0aG9uMzUuUHlDYXBzdWxlX1NldENvbnRleHQKKyAgUHlDYXBzdWxlX1NldERlc3RydWN0b3I9cHl0aG9uMzUuUHlDYXBzdWxlX1NldERlc3RydWN0b3IKKyAgUHlDYXBzdWxlX1NldE5hbWU9cHl0aG9uMzUuUHlDYXBzdWxlX1NldE5hbWUKKyAgUHlDYXBzdWxlX1NldFBvaW50ZXI9cHl0aG9uMzUuUHlDYXBzdWxlX1NldFBvaW50ZXIKKyAgUHlDYXBzdWxlX1R5cGU9cHl0aG9uMzUuUHlDYXBzdWxlX1R5cGUgREFUQQorICBQeUNsYXNzTWV0aG9kRGVzY3JfVHlwZT1weXRob24zNS5QeUNsYXNzTWV0aG9kRGVzY3JfVHlwZSBEQVRBCisgIFB5Q29kZWNfQmFja3NsYXNoUmVwbGFjZUVycm9ycz1weXRob24zNS5QeUNvZGVjX0JhY2tzbGFzaFJlcGxhY2VFcnJvcnMKKyAgUHlDb2RlY19EZWNvZGU9cHl0aG9uMzUuUHlDb2RlY19EZWNvZGUKKyAgUHlDb2RlY19EZWNvZGVyPXB5dGhvbjM1LlB5Q29kZWNfRGVjb2RlcgorICBQeUNvZGVjX0VuY29kZT1weXRob24zNS5QeUNvZGVjX0VuY29kZQorICBQeUNvZGVjX0VuY29kZXI9cHl0aG9uMzUuUHlDb2RlY19FbmNvZGVyCisgIFB5Q29kZWNfSWdub3JlRXJyb3JzPXB5dGhvbjM1LlB5Q29kZWNfSWdub3JlRXJyb3JzCisgIFB5Q29kZWNfSW5jcmVtZW50YWxEZWNvZGVyPXB5dGhvbjM1LlB5Q29kZWNfSW5jcmVtZW50YWxEZWNvZGVyCisgIFB5Q29kZWNfSW5jcmVtZW50YWxFbmNvZGVyPXB5dGhvbjM1LlB5Q29kZWNfSW5jcmVtZW50YWxFbmNvZGVyCisgIFB5Q29kZWNfS25vd25FbmNvZGluZz1weXRob24zNS5QeUNvZGVjX0tub3duRW5jb2RpbmcKKyAgUHlDb2RlY19Mb29rdXBFcnJvcj1weXRob24zNS5QeUNvZGVjX0xvb2t1cEVycm9yCisgIFB5Q29kZWNfUmVnaXN0ZXI9cHl0aG9uMzUuUHlDb2RlY19SZWdpc3RlcgorICBQeUNvZGVjX1JlZ2lzdGVyRXJyb3I9cHl0aG9uMzUuUHlDb2RlY19SZWdpc3RlckVycm9yCisgIFB5Q29kZWNfUmVwbGFjZUVycm9ycz1weXRob24zNS5QeUNvZGVjX1JlcGxhY2VFcnJvcnMKKyAgUHlDb2RlY19TdHJlYW1SZWFkZXI9cHl0aG9uMzUuUHlDb2RlY19TdHJlYW1SZWFkZXIKKyAgUHlDb2RlY19TdHJlYW1Xcml0ZXI9cHl0aG9uMzUuUHlDb2RlY19TdHJlYW1Xcml0ZXIKKyAgUHlDb2RlY19TdHJpY3RFcnJvcnM9cHl0aG9uMzUuUHlDb2RlY19TdHJpY3RFcnJvcnMKKyAgUHlDb2RlY19YTUxDaGFyUmVmUmVwbGFjZUVycm9ycz1weXRob24zNS5QeUNvZGVjX1hNTENoYXJSZWZSZXBsYWNlRXJyb3JzCisgIFB5Q29tcGxleF9Gcm9tRG91Ymxlcz1weXRob24zNS5QeUNvbXBsZXhfRnJvbURvdWJsZXMKKyAgUHlDb21wbGV4X0ltYWdBc0RvdWJsZT1weXRob24zNS5QeUNvbXBsZXhfSW1hZ0FzRG91YmxlCisgIFB5Q29tcGxleF9SZWFsQXNEb3VibGU9cHl0aG9uMzUuUHlDb21wbGV4X1JlYWxBc0RvdWJsZQorICBQeUNvbXBsZXhfVHlwZT1weXRob24zNS5QeUNvbXBsZXhfVHlwZSBEQVRBCisgIFB5RGVzY3JfTmV3Q2xhc3NNZXRob2Q9cHl0aG9uMzUuUHlEZXNjcl9OZXdDbGFzc01ldGhvZAorICBQeURlc2NyX05ld0dldFNldD1weXRob24zNS5QeURlc2NyX05ld0dldFNldAorICBQeURlc2NyX05ld01lbWJlcj1weXRob24zNS5QeURlc2NyX05ld01lbWJlcgorICBQeURlc2NyX05ld01ldGhvZD1weXRob24zNS5QeURlc2NyX05ld01ldGhvZAorICBQeURpY3RJdGVtc19UeXBlPXB5dGhvbjM1LlB5RGljdEl0ZW1zX1R5cGUgREFUQQorICBQeURpY3RJdGVySXRlbV9UeXBlPXB5dGhvbjM1LlB5RGljdEl0ZXJJdGVtX1R5cGUgREFUQQorICBQeURpY3RJdGVyS2V5X1R5cGU9cHl0aG9uMzUuUHlEaWN0SXRlcktleV9UeXBlIERBVEEKKyAgUHlEaWN0SXRlclZhbHVlX1R5cGU9cHl0aG9uMzUuUHlEaWN0SXRlclZhbHVlX1R5cGUgREFUQQorICBQeURpY3RLZXlzX1R5cGU9cHl0aG9uMzUuUHlEaWN0S2V5c19UeXBlIERBVEEKKyAgUHlEaWN0UHJveHlfTmV3PXB5dGhvbjM1LlB5RGljdFByb3h5X05ldworICBQeURpY3RQcm94eV9UeXBlPXB5dGhvbjM1LlB5RGljdFByb3h5X1R5cGUgREFUQQorICBQeURpY3RWYWx1ZXNfVHlwZT1weXRob24zNS5QeURpY3RWYWx1ZXNfVHlwZSBEQVRBCisgIFB5RGljdF9DbGVhcj1weXRob24zNS5QeURpY3RfQ2xlYXIKKyAgUHlEaWN0X0NvbnRhaW5zPXB5dGhvbjM1LlB5RGljdF9Db250YWlucworICBQeURpY3RfQ29weT1weXRob24zNS5QeURpY3RfQ29weQorICBQeURpY3RfRGVsSXRlbT1weXRob24zNS5QeURpY3RfRGVsSXRlbQorICBQeURpY3RfRGVsSXRlbVN0cmluZz1weXRob24zNS5QeURpY3RfRGVsSXRlbVN0cmluZworICBQeURpY3RfR2V0SXRlbT1weXRob24zNS5QeURpY3RfR2V0SXRlbQorICBQeURpY3RfR2V0SXRlbVN0cmluZz1weXRob24zNS5QeURpY3RfR2V0SXRlbVN0cmluZworICBQeURpY3RfR2V0SXRlbVdpdGhFcnJvcj1weXRob24zNS5QeURpY3RfR2V0SXRlbVdpdGhFcnJvcgorICBQeURpY3RfSXRlbXM9cHl0aG9uMzUuUHlEaWN0X0l0ZW1zCisgIFB5RGljdF9LZXlzPXB5dGhvbjM1LlB5RGljdF9LZXlzCisgIFB5RGljdF9NZXJnZT1weXRob24zNS5QeURpY3RfTWVyZ2UKKyAgUHlEaWN0X01lcmdlRnJvbVNlcTI9cHl0aG9uMzUuUHlEaWN0X01lcmdlRnJvbVNlcTIKKyAgUHlEaWN0X05ldz1weXRob24zNS5QeURpY3RfTmV3CisgIFB5RGljdF9OZXh0PXB5dGhvbjM1LlB5RGljdF9OZXh0CisgIFB5RGljdF9TZXRJdGVtPXB5dGhvbjM1LlB5RGljdF9TZXRJdGVtCisgIFB5RGljdF9TZXRJdGVtU3RyaW5nPXB5dGhvbjM1LlB5RGljdF9TZXRJdGVtU3RyaW5nCisgIFB5RGljdF9TaXplPXB5dGhvbjM1LlB5RGljdF9TaXplCisgIFB5RGljdF9UeXBlPXB5dGhvbjM1LlB5RGljdF9UeXBlIERBVEEKKyAgUHlEaWN0X1VwZGF0ZT1weXRob24zNS5QeURpY3RfVXBkYXRlCisgIFB5RGljdF9WYWx1ZXM9cHl0aG9uMzUuUHlEaWN0X1ZhbHVlcworICBQeUVsbGlwc2lzX1R5cGU9cHl0aG9uMzUuUHlFbGxpcHNpc19UeXBlIERBVEEKKyAgUHlFbnVtX1R5cGU9cHl0aG9uMzUuUHlFbnVtX1R5cGUgREFUQQorICBQeUVycl9CYWRBcmd1bWVudD1weXRob24zNS5QeUVycl9CYWRBcmd1bWVudAorICBQeUVycl9CYWRJbnRlcm5hbENhbGw9cHl0aG9uMzUuUHlFcnJfQmFkSW50ZXJuYWxDYWxsCisgIFB5RXJyX0NoZWNrU2lnbmFscz1weXRob24zNS5QeUVycl9DaGVja1NpZ25hbHMKKyAgUHlFcnJfQ2xlYXI9cHl0aG9uMzUuUHlFcnJfQ2xlYXIKKyAgUHlFcnJfRGlzcGxheT1weXRob24zNS5QeUVycl9EaXNwbGF5CisgIFB5RXJyX0V4Y2VwdGlvbk1hdGNoZXM9cHl0aG9uMzUuUHlFcnJfRXhjZXB0aW9uTWF0Y2hlcworICBQeUVycl9GZXRjaD1weXRob24zNS5QeUVycl9GZXRjaAorICBQeUVycl9Gb3JtYXQ9cHl0aG9uMzUuUHlFcnJfRm9ybWF0CisgIFB5RXJyX0Zvcm1hdFY9cHl0aG9uMzUuUHlFcnJfRm9ybWF0VgorICBQeUVycl9HaXZlbkV4Y2VwdGlvbk1hdGNoZXM9cHl0aG9uMzUuUHlFcnJfR2l2ZW5FeGNlcHRpb25NYXRjaGVzCisgIFB5RXJyX05ld0V4Y2VwdGlvbj1weXRob24zNS5QeUVycl9OZXdFeGNlcHRpb24KKyAgUHlFcnJfTmV3RXhjZXB0aW9uV2l0aERvYz1weXRob24zNS5QeUVycl9OZXdFeGNlcHRpb25XaXRoRG9jCisgIFB5RXJyX05vTWVtb3J5PXB5dGhvbjM1LlB5RXJyX05vTWVtb3J5CisgIFB5RXJyX05vcm1hbGl6ZUV4Y2VwdGlvbj1weXRob24zNS5QeUVycl9Ob3JtYWxpemVFeGNlcHRpb24KKyAgUHlFcnJfT2NjdXJyZWQ9cHl0aG9uMzUuUHlFcnJfT2NjdXJyZWQKKyAgUHlFcnJfUHJpbnQ9cHl0aG9uMzUuUHlFcnJfUHJpbnQKKyAgUHlFcnJfUHJpbnRFeD1weXRob24zNS5QeUVycl9QcmludEV4CisgIFB5RXJyX1Byb2dyYW1UZXh0PXB5dGhvbjM1LlB5RXJyX1Byb2dyYW1UZXh0CisgIFB5RXJyX1Jlc3RvcmU9cHl0aG9uMzUuUHlFcnJfUmVzdG9yZQorICBQeUVycl9TZXRGcm9tRXJybm89cHl0aG9uMzUuUHlFcnJfU2V0RnJvbUVycm5vCisgIFB5RXJyX1NldEZyb21FcnJub1dpdGhGaWxlbmFtZT1weXRob24zNS5QeUVycl9TZXRGcm9tRXJybm9XaXRoRmlsZW5hbWUKKyAgUHlFcnJfU2V0RnJvbUVycm5vV2l0aEZpbGVuYW1lT2JqZWN0PXB5dGhvbjM1LlB5RXJyX1NldEZyb21FcnJub1dpdGhGaWxlbmFtZU9iamVjdAorICBQeUVycl9TZXRJbnRlcnJ1cHQ9cHl0aG9uMzUuUHlFcnJfU2V0SW50ZXJydXB0CisgIFB5RXJyX1NldE5vbmU9cHl0aG9uMzUuUHlFcnJfU2V0Tm9uZQorICBQeUVycl9TZXRPYmplY3Q9cHl0aG9uMzUuUHlFcnJfU2V0T2JqZWN0CisgIFB5RXJyX1NldFN0cmluZz1weXRob24zNS5QeUVycl9TZXRTdHJpbmcKKyAgUHlFcnJfU3ludGF4TG9jYXRpb249cHl0aG9uMzUuUHlFcnJfU3ludGF4TG9jYXRpb24KKyAgUHlFcnJfV2FybkV4PXB5dGhvbjM1LlB5RXJyX1dhcm5FeAorICBQeUVycl9XYXJuRXhwbGljaXQ9cHl0aG9uMzUuUHlFcnJfV2FybkV4cGxpY2l0CisgIFB5RXJyX1dhcm5Gb3JtYXQ9cHl0aG9uMzUuUHlFcnJfV2FybkZvcm1hdAorICBQeUVycl9Xcml0ZVVucmFpc2FibGU9cHl0aG9uMzUuUHlFcnJfV3JpdGVVbnJhaXNhYmxlCisgIFB5RXZhbF9BY3F1aXJlTG9jaz1weXRob24zNS5QeUV2YWxfQWNxdWlyZUxvY2sKKyAgUHlFdmFsX0FjcXVpcmVUaHJlYWQ9cHl0aG9uMzUuUHlFdmFsX0FjcXVpcmVUaHJlYWQKKyAgUHlFdmFsX0NhbGxGdW5jdGlvbj1weXRob24zNS5QeUV2YWxfQ2FsbEZ1bmN0aW9uCisgIFB5RXZhbF9DYWxsTWV0aG9kPXB5dGhvbjM1LlB5RXZhbF9DYWxsTWV0aG9kCisgIFB5RXZhbF9DYWxsT2JqZWN0V2l0aEtleXdvcmRzPXB5dGhvbjM1LlB5RXZhbF9DYWxsT2JqZWN0V2l0aEtleXdvcmRzCisgIFB5RXZhbF9FdmFsQ29kZT1weXRob24zNS5QeUV2YWxfRXZhbENvZGUKKyAgUHlFdmFsX0V2YWxDb2RlRXg9cHl0aG9uMzUuUHlFdmFsX0V2YWxDb2RlRXgKKyAgUHlFdmFsX0V2YWxGcmFtZT1weXRob24zNS5QeUV2YWxfRXZhbEZyYW1lCisgIFB5RXZhbF9FdmFsRnJhbWVFeD1weXRob24zNS5QeUV2YWxfRXZhbEZyYW1lRXgKKyAgUHlFdmFsX0dldEJ1aWx0aW5zPXB5dGhvbjM1LlB5RXZhbF9HZXRCdWlsdGlucworICBQeUV2YWxfR2V0Q2FsbFN0YXRzPXB5dGhvbjM1LlB5RXZhbF9HZXRDYWxsU3RhdHMKKyAgUHlFdmFsX0dldEZyYW1lPXB5dGhvbjM1LlB5RXZhbF9HZXRGcmFtZQorICBQeUV2YWxfR2V0RnVuY0Rlc2M9cHl0aG9uMzUuUHlFdmFsX0dldEZ1bmNEZXNjCisgIFB5RXZhbF9HZXRGdW5jTmFtZT1weXRob24zNS5QeUV2YWxfR2V0RnVuY05hbWUKKyAgUHlFdmFsX0dldEdsb2JhbHM9cHl0aG9uMzUuUHlFdmFsX0dldEdsb2JhbHMKKyAgUHlFdmFsX0dldExvY2Fscz1weXRob24zNS5QeUV2YWxfR2V0TG9jYWxzCisgIFB5RXZhbF9Jbml0VGhyZWFkcz1weXRob24zNS5QeUV2YWxfSW5pdFRocmVhZHMKKyAgUHlFdmFsX1JlSW5pdFRocmVhZHM9cHl0aG9uMzUuUHlFdmFsX1JlSW5pdFRocmVhZHMKKyAgUHlFdmFsX1JlbGVhc2VMb2NrPXB5dGhvbjM1LlB5RXZhbF9SZWxlYXNlTG9jaworICBQeUV2YWxfUmVsZWFzZVRocmVhZD1weXRob24zNS5QeUV2YWxfUmVsZWFzZVRocmVhZAorICBQeUV2YWxfUmVzdG9yZVRocmVhZD1weXRob24zNS5QeUV2YWxfUmVzdG9yZVRocmVhZAorICBQeUV2YWxfU2F2ZVRocmVhZD1weXRob24zNS5QeUV2YWxfU2F2ZVRocmVhZAorICBQeUV2YWxfVGhyZWFkc0luaXRpYWxpemVkPXB5dGhvbjM1LlB5RXZhbF9UaHJlYWRzSW5pdGlhbGl6ZWQKKyAgUHlFeGNfQXJpdGhtZXRpY0Vycm9yPXB5dGhvbjM1LlB5RXhjX0FyaXRobWV0aWNFcnJvciBEQVRBCisgIFB5RXhjX0Fzc2VydGlvbkVycm9yPXB5dGhvbjM1LlB5RXhjX0Fzc2VydGlvbkVycm9yIERBVEEKKyAgUHlFeGNfQXR0cmlidXRlRXJyb3I9cHl0aG9uMzUuUHlFeGNfQXR0cmlidXRlRXJyb3IgREFUQQorICBQeUV4Y19CYXNlRXhjZXB0aW9uPXB5dGhvbjM1LlB5RXhjX0Jhc2VFeGNlcHRpb24gREFUQQorICBQeUV4Y19CdWZmZXJFcnJvcj1weXRob24zNS5QeUV4Y19CdWZmZXJFcnJvciBEQVRBCisgIFB5RXhjX0J5dGVzV2FybmluZz1weXRob24zNS5QeUV4Y19CeXRlc1dhcm5pbmcgREFUQQorICBQeUV4Y19EZXByZWNhdGlvbldhcm5pbmc9cHl0aG9uMzUuUHlFeGNfRGVwcmVjYXRpb25XYXJuaW5nIERBVEEKKyAgUHlFeGNfRU9GRXJyb3I9cHl0aG9uMzUuUHlFeGNfRU9GRXJyb3IgREFUQQorICBQeUV4Y19FbnZpcm9ubWVudEVycm9yPXB5dGhvbjM1LlB5RXhjX0Vudmlyb25tZW50RXJyb3IgREFUQQorICBQeUV4Y19FeGNlcHRpb249cHl0aG9uMzUuUHlFeGNfRXhjZXB0aW9uIERBVEEKKyAgUHlFeGNfRmxvYXRpbmdQb2ludEVycm9yPXB5dGhvbjM1LlB5RXhjX0Zsb2F0aW5nUG9pbnRFcnJvciBEQVRBCisgIFB5RXhjX0Z1dHVyZVdhcm5pbmc9cHl0aG9uMzUuUHlFeGNfRnV0dXJlV2FybmluZyBEQVRBCisgIFB5RXhjX0dlbmVyYXRvckV4aXQ9cHl0aG9uMzUuUHlFeGNfR2VuZXJhdG9yRXhpdCBEQVRBCisgIFB5RXhjX0lPRXJyb3I9cHl0aG9uMzUuUHlFeGNfSU9FcnJvciBEQVRBCisgIFB5RXhjX0ltcG9ydEVycm9yPXB5dGhvbjM1LlB5RXhjX0ltcG9ydEVycm9yIERBVEEKKyAgUHlFeGNfSW1wb3J0V2FybmluZz1weXRob24zNS5QeUV4Y19JbXBvcnRXYXJuaW5nIERBVEEKKyAgUHlFeGNfSW5kZW50YXRpb25FcnJvcj1weXRob24zNS5QeUV4Y19JbmRlbnRhdGlvbkVycm9yIERBVEEKKyAgUHlFeGNfSW5kZXhFcnJvcj1weXRob24zNS5QeUV4Y19JbmRleEVycm9yIERBVEEKKyAgUHlFeGNfS2V5RXJyb3I9cHl0aG9uMzUuUHlFeGNfS2V5RXJyb3IgREFUQQorICBQeUV4Y19LZXlib2FyZEludGVycnVwdD1weXRob24zNS5QeUV4Y19LZXlib2FyZEludGVycnVwdCBEQVRBCisgIFB5RXhjX0xvb2t1cEVycm9yPXB5dGhvbjM1LlB5RXhjX0xvb2t1cEVycm9yIERBVEEKKyAgUHlFeGNfTWVtb3J5RXJyb3I9cHl0aG9uMzUuUHlFeGNfTWVtb3J5RXJyb3IgREFUQQorICBQeUV4Y19NZW1vcnlFcnJvckluc3Q9cHl0aG9uMzUuUHlFeGNfTWVtb3J5RXJyb3JJbnN0IERBVEEKKyAgUHlFeGNfTmFtZUVycm9yPXB5dGhvbjM1LlB5RXhjX05hbWVFcnJvciBEQVRBCisgIFB5RXhjX05vdEltcGxlbWVudGVkRXJyb3I9cHl0aG9uMzUuUHlFeGNfTm90SW1wbGVtZW50ZWRFcnJvciBEQVRBCisgIFB5RXhjX09TRXJyb3I9cHl0aG9uMzUuUHlFeGNfT1NFcnJvciBEQVRBCisgIFB5RXhjX092ZXJmbG93RXJyb3I9cHl0aG9uMzUuUHlFeGNfT3ZlcmZsb3dFcnJvciBEQVRBCisgIFB5RXhjX1BlbmRpbmdEZXByZWNhdGlvbldhcm5pbmc9cHl0aG9uMzUuUHlFeGNfUGVuZGluZ0RlcHJlY2F0aW9uV2FybmluZyBEQVRBCisgIFB5RXhjX1JlY3Vyc2lvbkVycm9ySW5zdD1weXRob24zNS5QeUV4Y19SZWN1cnNpb25FcnJvckluc3QgREFUQQorICBQeUV4Y19SZWZlcmVuY2VFcnJvcj1weXRob24zNS5QeUV4Y19SZWZlcmVuY2VFcnJvciBEQVRBCisgIFB5RXhjX1J1bnRpbWVFcnJvcj1weXRob24zNS5QeUV4Y19SdW50aW1lRXJyb3IgREFUQQorICBQeUV4Y19SdW50aW1lV2FybmluZz1weXRob24zNS5QeUV4Y19SdW50aW1lV2FybmluZyBEQVRBCisgIFB5RXhjX1N0b3BJdGVyYXRpb249cHl0aG9uMzUuUHlFeGNfU3RvcEl0ZXJhdGlvbiBEQVRBCisgIFB5RXhjX1N5bnRheEVycm9yPXB5dGhvbjM1LlB5RXhjX1N5bnRheEVycm9yIERBVEEKKyAgUHlFeGNfU3ludGF4V2FybmluZz1weXRob24zNS5QeUV4Y19TeW50YXhXYXJuaW5nIERBVEEKKyAgUHlFeGNfU3lzdGVtRXJyb3I9cHl0aG9uMzUuUHlFeGNfU3lzdGVtRXJyb3IgREFUQQorICBQeUV4Y19TeXN0ZW1FeGl0PXB5dGhvbjM1LlB5RXhjX1N5c3RlbUV4aXQgREFUQQorICBQeUV4Y19UYWJFcnJvcj1weXRob24zNS5QeUV4Y19UYWJFcnJvciBEQVRBCisgIFB5RXhjX1R5cGVFcnJvcj1weXRob24zNS5QeUV4Y19UeXBlRXJyb3IgREFUQQorICBQeUV4Y19VbmJvdW5kTG9jYWxFcnJvcj1weXRob24zNS5QeUV4Y19VbmJvdW5kTG9jYWxFcnJvciBEQVRBCisgIFB5RXhjX1VuaWNvZGVEZWNvZGVFcnJvcj1weXRob24zNS5QeUV4Y19Vbmljb2RlRGVjb2RlRXJyb3IgREFUQQorICBQeUV4Y19Vbmljb2RlRW5jb2RlRXJyb3I9cHl0aG9uMzUuUHlFeGNfVW5pY29kZUVuY29kZUVycm9yIERBVEEKKyAgUHlFeGNfVW5pY29kZUVycm9yPXB5dGhvbjM1LlB5RXhjX1VuaWNvZGVFcnJvciBEQVRBCisgIFB5RXhjX1VuaWNvZGVUcmFuc2xhdGVFcnJvcj1weXRob24zNS5QeUV4Y19Vbmljb2RlVHJhbnNsYXRlRXJyb3IgREFUQQorICBQeUV4Y19Vbmljb2RlV2FybmluZz1weXRob24zNS5QeUV4Y19Vbmljb2RlV2FybmluZyBEQVRBCisgIFB5RXhjX1VzZXJXYXJuaW5nPXB5dGhvbjM1LlB5RXhjX1VzZXJXYXJuaW5nIERBVEEKKyAgUHlFeGNfVmFsdWVFcnJvcj1weXRob24zNS5QeUV4Y19WYWx1ZUVycm9yIERBVEEKKyAgUHlFeGNfV2FybmluZz1weXRob24zNS5QeUV4Y19XYXJuaW5nIERBVEEKKyAgUHlFeGNfWmVyb0RpdmlzaW9uRXJyb3I9cHl0aG9uMzUuUHlFeGNfWmVyb0RpdmlzaW9uRXJyb3IgREFUQQorICBQeUV4Y2VwdGlvbl9HZXRDYXVzZT1weXRob24zNS5QeUV4Y2VwdGlvbl9HZXRDYXVzZQorICBQeUV4Y2VwdGlvbl9HZXRDb250ZXh0PXB5dGhvbjM1LlB5RXhjZXB0aW9uX0dldENvbnRleHQKKyAgUHlFeGNlcHRpb25fR2V0VHJhY2ViYWNrPXB5dGhvbjM1LlB5RXhjZXB0aW9uX0dldFRyYWNlYmFjaworICBQeUV4Y2VwdGlvbl9TZXRDYXVzZT1weXRob24zNS5QeUV4Y2VwdGlvbl9TZXRDYXVzZQorICBQeUV4Y2VwdGlvbl9TZXRDb250ZXh0PXB5dGhvbjM1LlB5RXhjZXB0aW9uX1NldENvbnRleHQKKyAgUHlFeGNlcHRpb25fU2V0VHJhY2ViYWNrPXB5dGhvbjM1LlB5RXhjZXB0aW9uX1NldFRyYWNlYmFjaworICBQeUZpbGVfRnJvbUZkPXB5dGhvbjM1LlB5RmlsZV9Gcm9tRmQKKyAgUHlGaWxlX0dldExpbmU9cHl0aG9uMzUuUHlGaWxlX0dldExpbmUKKyAgUHlGaWxlX1dyaXRlT2JqZWN0PXB5dGhvbjM1LlB5RmlsZV9Xcml0ZU9iamVjdAorICBQeUZpbGVfV3JpdGVTdHJpbmc9cHl0aG9uMzUuUHlGaWxlX1dyaXRlU3RyaW5nCisgIFB5RmlsdGVyX1R5cGU9cHl0aG9uMzUuUHlGaWx0ZXJfVHlwZSBEQVRBCisgIFB5RmxvYXRfQXNEb3VibGU9cHl0aG9uMzUuUHlGbG9hdF9Bc0RvdWJsZQorICBQeUZsb2F0X0Zyb21Eb3VibGU9cHl0aG9uMzUuUHlGbG9hdF9Gcm9tRG91YmxlCisgIFB5RmxvYXRfRnJvbVN0cmluZz1weXRob24zNS5QeUZsb2F0X0Zyb21TdHJpbmcKKyAgUHlGbG9hdF9HZXRJbmZvPXB5dGhvbjM1LlB5RmxvYXRfR2V0SW5mbworICBQeUZsb2F0X0dldE1heD1weXRob24zNS5QeUZsb2F0X0dldE1heAorICBQeUZsb2F0X0dldE1pbj1weXRob24zNS5QeUZsb2F0X0dldE1pbgorICBQeUZsb2F0X1R5cGU9cHl0aG9uMzUuUHlGbG9hdF9UeXBlIERBVEEKKyAgUHlGcm96ZW5TZXRfTmV3PXB5dGhvbjM1LlB5RnJvemVuU2V0X05ldworICBQeUZyb3plblNldF9UeXBlPXB5dGhvbjM1LlB5RnJvemVuU2V0X1R5cGUgREFUQQorICBQeUdDX0NvbGxlY3Q9cHl0aG9uMzUuUHlHQ19Db2xsZWN0CisgIFB5R0lMU3RhdGVfRW5zdXJlPXB5dGhvbjM1LlB5R0lMU3RhdGVfRW5zdXJlCisgIFB5R0lMU3RhdGVfR2V0VGhpc1RocmVhZFN0YXRlPXB5dGhvbjM1LlB5R0lMU3RhdGVfR2V0VGhpc1RocmVhZFN0YXRlCisgIFB5R0lMU3RhdGVfUmVsZWFzZT1weXRob24zNS5QeUdJTFN0YXRlX1JlbGVhc2UKKyAgUHlHZXRTZXREZXNjcl9UeXBlPXB5dGhvbjM1LlB5R2V0U2V0RGVzY3JfVHlwZSBEQVRBCisgIFB5SW1wb3J0X0FkZE1vZHVsZT1weXRob24zNS5QeUltcG9ydF9BZGRNb2R1bGUKKyAgUHlJbXBvcnRfQXBwZW5kSW5pdHRhYj1weXRob24zNS5QeUltcG9ydF9BcHBlbmRJbml0dGFiCisgIFB5SW1wb3J0X0NsZWFudXA9cHl0aG9uMzUuUHlJbXBvcnRfQ2xlYW51cAorICBQeUltcG9ydF9FeGVjQ29kZU1vZHVsZT1weXRob24zNS5QeUltcG9ydF9FeGVjQ29kZU1vZHVsZQorICBQeUltcG9ydF9FeGVjQ29kZU1vZHVsZUV4PXB5dGhvbjM1LlB5SW1wb3J0X0V4ZWNDb2RlTW9kdWxlRXgKKyAgUHlJbXBvcnRfRXhlY0NvZGVNb2R1bGVXaXRoUGF0aG5hbWVzPXB5dGhvbjM1LlB5SW1wb3J0X0V4ZWNDb2RlTW9kdWxlV2l0aFBhdGhuYW1lcworICBQeUltcG9ydF9HZXRJbXBvcnRlcj1weXRob24zNS5QeUltcG9ydF9HZXRJbXBvcnRlcgorICBQeUltcG9ydF9HZXRNYWdpY051bWJlcj1weXRob24zNS5QeUltcG9ydF9HZXRNYWdpY051bWJlcgorICBQeUltcG9ydF9HZXRNYWdpY1RhZz1weXRob24zNS5QeUltcG9ydF9HZXRNYWdpY1RhZworICBQeUltcG9ydF9HZXRNb2R1bGVEaWN0PXB5dGhvbjM1LlB5SW1wb3J0X0dldE1vZHVsZURpY3QKKyAgUHlJbXBvcnRfSW1wb3J0PXB5dGhvbjM1LlB5SW1wb3J0X0ltcG9ydAorICBQeUltcG9ydF9JbXBvcnRGcm96ZW5Nb2R1bGU9cHl0aG9uMzUuUHlJbXBvcnRfSW1wb3J0RnJvemVuTW9kdWxlCisgIFB5SW1wb3J0X0ltcG9ydE1vZHVsZT1weXRob24zNS5QeUltcG9ydF9JbXBvcnRNb2R1bGUKKyAgUHlJbXBvcnRfSW1wb3J0TW9kdWxlTGV2ZWw9cHl0aG9uMzUuUHlJbXBvcnRfSW1wb3J0TW9kdWxlTGV2ZWwKKyAgUHlJbXBvcnRfSW1wb3J0TW9kdWxlTm9CbG9jaz1weXRob24zNS5QeUltcG9ydF9JbXBvcnRNb2R1bGVOb0Jsb2NrCisgIFB5SW1wb3J0X1JlbG9hZE1vZHVsZT1weXRob24zNS5QeUltcG9ydF9SZWxvYWRNb2R1bGUKKyAgUHlJbnRlcnByZXRlclN0YXRlX0NsZWFyPXB5dGhvbjM1LlB5SW50ZXJwcmV0ZXJTdGF0ZV9DbGVhcgorICBQeUludGVycHJldGVyU3RhdGVfRGVsZXRlPXB5dGhvbjM1LlB5SW50ZXJwcmV0ZXJTdGF0ZV9EZWxldGUKKyAgUHlJbnRlcnByZXRlclN0YXRlX05ldz1weXRob24zNS5QeUludGVycHJldGVyU3RhdGVfTmV3CisgIFB5SXRlcl9OZXh0PXB5dGhvbjM1LlB5SXRlcl9OZXh0CisgIFB5TGlzdEl0ZXJfVHlwZT1weXRob24zNS5QeUxpc3RJdGVyX1R5cGUgREFUQQorICBQeUxpc3RSZXZJdGVyX1R5cGU9cHl0aG9uMzUuUHlMaXN0UmV2SXRlcl9UeXBlIERBVEEKKyAgUHlMaXN0X0FwcGVuZD1weXRob24zNS5QeUxpc3RfQXBwZW5kCisgIFB5TGlzdF9Bc1R1cGxlPXB5dGhvbjM1LlB5TGlzdF9Bc1R1cGxlCisgIFB5TGlzdF9HZXRJdGVtPXB5dGhvbjM1LlB5TGlzdF9HZXRJdGVtCisgIFB5TGlzdF9HZXRTbGljZT1weXRob24zNS5QeUxpc3RfR2V0U2xpY2UKKyAgUHlMaXN0X0luc2VydD1weXRob24zNS5QeUxpc3RfSW5zZXJ0CisgIFB5TGlzdF9OZXc9cHl0aG9uMzUuUHlMaXN0X05ldworICBQeUxpc3RfUmV2ZXJzZT1weXRob24zNS5QeUxpc3RfUmV2ZXJzZQorICBQeUxpc3RfU2V0SXRlbT1weXRob24zNS5QeUxpc3RfU2V0SXRlbQorICBQeUxpc3RfU2V0U2xpY2U9cHl0aG9uMzUuUHlMaXN0X1NldFNsaWNlCisgIFB5TGlzdF9TaXplPXB5dGhvbjM1LlB5TGlzdF9TaXplCisgIFB5TGlzdF9Tb3J0PXB5dGhvbjM1LlB5TGlzdF9Tb3J0CisgIFB5TGlzdF9UeXBlPXB5dGhvbjM1LlB5TGlzdF9UeXBlIERBVEEKKyAgUHlMb25nUmFuZ2VJdGVyX1R5cGU9cHl0aG9uMzUuUHlMb25nUmFuZ2VJdGVyX1R5cGUgREFUQQorICBQeUxvbmdfQXNEb3VibGU9cHl0aG9uMzUuUHlMb25nX0FzRG91YmxlCisgIFB5TG9uZ19Bc0xvbmc9cHl0aG9uMzUuUHlMb25nX0FzTG9uZworICBQeUxvbmdfQXNMb25nQW5kT3ZlcmZsb3c9cHl0aG9uMzUuUHlMb25nX0FzTG9uZ0FuZE92ZXJmbG93CisgIFB5TG9uZ19Bc0xvbmdMb25nPXB5dGhvbjM1LlB5TG9uZ19Bc0xvbmdMb25nCisgIFB5TG9uZ19Bc0xvbmdMb25nQW5kT3ZlcmZsb3c9cHl0aG9uMzUuUHlMb25nX0FzTG9uZ0xvbmdBbmRPdmVyZmxvdworICBQeUxvbmdfQXNTaXplX3Q9cHl0aG9uMzUuUHlMb25nX0FzU2l6ZV90CisgIFB5TG9uZ19Bc1NzaXplX3Q9cHl0aG9uMzUuUHlMb25nX0FzU3NpemVfdAorICBQeUxvbmdfQXNVbnNpZ25lZExvbmc9cHl0aG9uMzUuUHlMb25nX0FzVW5zaWduZWRMb25nCisgIFB5TG9uZ19Bc1Vuc2lnbmVkTG9uZ0xvbmc9cHl0aG9uMzUuUHlMb25nX0FzVW5zaWduZWRMb25nTG9uZworICBQeUxvbmdfQXNVbnNpZ25lZExvbmdMb25nTWFzaz1weXRob24zNS5QeUxvbmdfQXNVbnNpZ25lZExvbmdMb25nTWFzaworICBQeUxvbmdfQXNVbnNpZ25lZExvbmdNYXNrPXB5dGhvbjM1LlB5TG9uZ19Bc1Vuc2lnbmVkTG9uZ01hc2sKKyAgUHlMb25nX0FzVm9pZFB0cj1weXRob24zNS5QeUxvbmdfQXNWb2lkUHRyCisgIFB5TG9uZ19Gcm9tRG91YmxlPXB5dGhvbjM1LlB5TG9uZ19Gcm9tRG91YmxlCisgIFB5TG9uZ19Gcm9tTG9uZz1weXRob24zNS5QeUxvbmdfRnJvbUxvbmcKKyAgUHlMb25nX0Zyb21Mb25nTG9uZz1weXRob24zNS5QeUxvbmdfRnJvbUxvbmdMb25nCisgIFB5TG9uZ19Gcm9tU2l6ZV90PXB5dGhvbjM1LlB5TG9uZ19Gcm9tU2l6ZV90CisgIFB5TG9uZ19Gcm9tU3NpemVfdD1weXRob24zNS5QeUxvbmdfRnJvbVNzaXplX3QKKyAgUHlMb25nX0Zyb21TdHJpbmc9cHl0aG9uMzUuUHlMb25nX0Zyb21TdHJpbmcKKyAgUHlMb25nX0Zyb21VbnNpZ25lZExvbmc9cHl0aG9uMzUuUHlMb25nX0Zyb21VbnNpZ25lZExvbmcKKyAgUHlMb25nX0Zyb21VbnNpZ25lZExvbmdMb25nPXB5dGhvbjM1LlB5TG9uZ19Gcm9tVW5zaWduZWRMb25nTG9uZworICBQeUxvbmdfRnJvbVZvaWRQdHI9cHl0aG9uMzUuUHlMb25nX0Zyb21Wb2lkUHRyCisgIFB5TG9uZ19HZXRJbmZvPXB5dGhvbjM1LlB5TG9uZ19HZXRJbmZvCisgIFB5TG9uZ19UeXBlPXB5dGhvbjM1LlB5TG9uZ19UeXBlIERBVEEKKyAgUHlNYXBfVHlwZT1weXRob24zNS5QeU1hcF9UeXBlIERBVEEKKyAgUHlNYXBwaW5nX0NoZWNrPXB5dGhvbjM1LlB5TWFwcGluZ19DaGVjaworICBQeU1hcHBpbmdfR2V0SXRlbVN0cmluZz1weXRob24zNS5QeU1hcHBpbmdfR2V0SXRlbVN0cmluZworICBQeU1hcHBpbmdfSGFzS2V5PXB5dGhvbjM1LlB5TWFwcGluZ19IYXNLZXkKKyAgUHlNYXBwaW5nX0hhc0tleVN0cmluZz1weXRob24zNS5QeU1hcHBpbmdfSGFzS2V5U3RyaW5nCisgIFB5TWFwcGluZ19JdGVtcz1weXRob24zNS5QeU1hcHBpbmdfSXRlbXMKKyAgUHlNYXBwaW5nX0tleXM9cHl0aG9uMzUuUHlNYXBwaW5nX0tleXMKKyAgUHlNYXBwaW5nX0xlbmd0aD1weXRob24zNS5QeU1hcHBpbmdfTGVuZ3RoCisgIFB5TWFwcGluZ19TZXRJdGVtU3RyaW5nPXB5dGhvbjM1LlB5TWFwcGluZ19TZXRJdGVtU3RyaW5nCisgIFB5TWFwcGluZ19TaXplPXB5dGhvbjM1LlB5TWFwcGluZ19TaXplCisgIFB5TWFwcGluZ19WYWx1ZXM9cHl0aG9uMzUuUHlNYXBwaW5nX1ZhbHVlcworICBQeU1lbV9GcmVlPXB5dGhvbjM1LlB5TWVtX0ZyZWUKKyAgUHlNZW1fTWFsbG9jPXB5dGhvbjM1LlB5TWVtX01hbGxvYworICBQeU1lbV9SZWFsbG9jPXB5dGhvbjM1LlB5TWVtX1JlYWxsb2MKKyAgUHlNZW1iZXJEZXNjcl9UeXBlPXB5dGhvbjM1LlB5TWVtYmVyRGVzY3JfVHlwZSBEQVRBCisgIFB5TWVtb3J5Vmlld19Gcm9tT2JqZWN0PXB5dGhvbjM1LlB5TWVtb3J5Vmlld19Gcm9tT2JqZWN0CisgIFB5TWVtb3J5Vmlld19HZXRDb250aWd1b3VzPXB5dGhvbjM1LlB5TWVtb3J5Vmlld19HZXRDb250aWd1b3VzCisgIFB5TWVtb3J5Vmlld19UeXBlPXB5dGhvbjM1LlB5TWVtb3J5Vmlld19UeXBlIERBVEEKKyAgUHlNZXRob2REZXNjcl9UeXBlPXB5dGhvbjM1LlB5TWV0aG9kRGVzY3JfVHlwZSBEQVRBCisgIFB5TW9kdWxlX0FkZEludENvbnN0YW50PXB5dGhvbjM1LlB5TW9kdWxlX0FkZEludENvbnN0YW50CisgIFB5TW9kdWxlX0FkZE9iamVjdD1weXRob24zNS5QeU1vZHVsZV9BZGRPYmplY3QKKyAgUHlNb2R1bGVfQWRkU3RyaW5nQ29uc3RhbnQ9cHl0aG9uMzUuUHlNb2R1bGVfQWRkU3RyaW5nQ29uc3RhbnQKKyAgUHlNb2R1bGVfQ3JlYXRlMj1weXRob24zNS5QeU1vZHVsZV9DcmVhdGUyCisgIFB5TW9kdWxlX0dldERlZj1weXRob24zNS5QeU1vZHVsZV9HZXREZWYKKyAgUHlNb2R1bGVfR2V0RGljdD1weXRob24zNS5QeU1vZHVsZV9HZXREaWN0CisgIFB5TW9kdWxlX0dldEZpbGVuYW1lPXB5dGhvbjM1LlB5TW9kdWxlX0dldEZpbGVuYW1lCisgIFB5TW9kdWxlX0dldEZpbGVuYW1lT2JqZWN0PXB5dGhvbjM1LlB5TW9kdWxlX0dldEZpbGVuYW1lT2JqZWN0CisgIFB5TW9kdWxlX0dldE5hbWU9cHl0aG9uMzUuUHlNb2R1bGVfR2V0TmFtZQorICBQeU1vZHVsZV9HZXRTdGF0ZT1weXRob24zNS5QeU1vZHVsZV9HZXRTdGF0ZQorICBQeU1vZHVsZV9OZXc9cHl0aG9uMzUuUHlNb2R1bGVfTmV3CisgIFB5TW9kdWxlX1R5cGU9cHl0aG9uMzUuUHlNb2R1bGVfVHlwZSBEQVRBCisgIFB5TnVsbEltcG9ydGVyX1R5cGU9cHl0aG9uMzUuUHlOdWxsSW1wb3J0ZXJfVHlwZSBEQVRBCisgIFB5TnVtYmVyX0Fic29sdXRlPXB5dGhvbjM1LlB5TnVtYmVyX0Fic29sdXRlCisgIFB5TnVtYmVyX0FkZD1weXRob24zNS5QeU51bWJlcl9BZGQKKyAgUHlOdW1iZXJfQW5kPXB5dGhvbjM1LlB5TnVtYmVyX0FuZAorICBQeU51bWJlcl9Bc1NzaXplX3Q9cHl0aG9uMzUuUHlOdW1iZXJfQXNTc2l6ZV90CisgIFB5TnVtYmVyX0NoZWNrPXB5dGhvbjM1LlB5TnVtYmVyX0NoZWNrCisgIFB5TnVtYmVyX0Rpdm1vZD1weXRob24zNS5QeU51bWJlcl9EaXZtb2QKKyAgUHlOdW1iZXJfRmxvYXQ9cHl0aG9uMzUuUHlOdW1iZXJfRmxvYXQKKyAgUHlOdW1iZXJfRmxvb3JEaXZpZGU9cHl0aG9uMzUuUHlOdW1iZXJfRmxvb3JEaXZpZGUKKyAgUHlOdW1iZXJfSW5QbGFjZUFkZD1weXRob24zNS5QeU51bWJlcl9JblBsYWNlQWRkCisgIFB5TnVtYmVyX0luUGxhY2VBbmQ9cHl0aG9uMzUuUHlOdW1iZXJfSW5QbGFjZUFuZAorICBQeU51bWJlcl9JblBsYWNlRmxvb3JEaXZpZGU9cHl0aG9uMzUuUHlOdW1iZXJfSW5QbGFjZUZsb29yRGl2aWRlCisgIFB5TnVtYmVyX0luUGxhY2VMc2hpZnQ9cHl0aG9uMzUuUHlOdW1iZXJfSW5QbGFjZUxzaGlmdAorICBQeU51bWJlcl9JblBsYWNlTXVsdGlwbHk9cHl0aG9uMzUuUHlOdW1iZXJfSW5QbGFjZU11bHRpcGx5CisgIFB5TnVtYmVyX0luUGxhY2VPcj1weXRob24zNS5QeU51bWJlcl9JblBsYWNlT3IKKyAgUHlOdW1iZXJfSW5QbGFjZVBvd2VyPXB5dGhvbjM1LlB5TnVtYmVyX0luUGxhY2VQb3dlcgorICBQeU51bWJlcl9JblBsYWNlUmVtYWluZGVyPXB5dGhvbjM1LlB5TnVtYmVyX0luUGxhY2VSZW1haW5kZXIKKyAgUHlOdW1iZXJfSW5QbGFjZVJzaGlmdD1weXRob24zNS5QeU51bWJlcl9JblBsYWNlUnNoaWZ0CisgIFB5TnVtYmVyX0luUGxhY2VTdWJ0cmFjdD1weXRob24zNS5QeU51bWJlcl9JblBsYWNlU3VidHJhY3QKKyAgUHlOdW1iZXJfSW5QbGFjZVRydWVEaXZpZGU9cHl0aG9uMzUuUHlOdW1iZXJfSW5QbGFjZVRydWVEaXZpZGUKKyAgUHlOdW1iZXJfSW5QbGFjZVhvcj1weXRob24zNS5QeU51bWJlcl9JblBsYWNlWG9yCisgIFB5TnVtYmVyX0luZGV4PXB5dGhvbjM1LlB5TnVtYmVyX0luZGV4CisgIFB5TnVtYmVyX0ludmVydD1weXRob24zNS5QeU51bWJlcl9JbnZlcnQKKyAgUHlOdW1iZXJfTG9uZz1weXRob24zNS5QeU51bWJlcl9Mb25nCisgIFB5TnVtYmVyX0xzaGlmdD1weXRob24zNS5QeU51bWJlcl9Mc2hpZnQKKyAgUHlOdW1iZXJfTXVsdGlwbHk9cHl0aG9uMzUuUHlOdW1iZXJfTXVsdGlwbHkKKyAgUHlOdW1iZXJfTmVnYXRpdmU9cHl0aG9uMzUuUHlOdW1iZXJfTmVnYXRpdmUKKyAgUHlOdW1iZXJfT3I9cHl0aG9uMzUuUHlOdW1iZXJfT3IKKyAgUHlOdW1iZXJfUG9zaXRpdmU9cHl0aG9uMzUuUHlOdW1iZXJfUG9zaXRpdmUKKyAgUHlOdW1iZXJfUG93ZXI9cHl0aG9uMzUuUHlOdW1iZXJfUG93ZXIKKyAgUHlOdW1iZXJfUmVtYWluZGVyPXB5dGhvbjM1LlB5TnVtYmVyX1JlbWFpbmRlcgorICBQeU51bWJlcl9Sc2hpZnQ9cHl0aG9uMzUuUHlOdW1iZXJfUnNoaWZ0CisgIFB5TnVtYmVyX1N1YnRyYWN0PXB5dGhvbjM1LlB5TnVtYmVyX1N1YnRyYWN0CisgIFB5TnVtYmVyX1RvQmFzZT1weXRob24zNS5QeU51bWJlcl9Ub0Jhc2UKKyAgUHlOdW1iZXJfVHJ1ZURpdmlkZT1weXRob24zNS5QeU51bWJlcl9UcnVlRGl2aWRlCisgIFB5TnVtYmVyX1hvcj1weXRob24zNS5QeU51bWJlcl9Yb3IKKyAgUHlPU19BZnRlckZvcms9cHl0aG9uMzUuUHlPU19BZnRlckZvcmsKKyAgUHlPU19Jbml0SW50ZXJydXB0cz1weXRob24zNS5QeU9TX0luaXRJbnRlcnJ1cHRzCisgIFB5T1NfSW5wdXRIb29rPXB5dGhvbjM1LlB5T1NfSW5wdXRIb29rIERBVEEKKyAgUHlPU19JbnRlcnJ1cHRPY2N1cnJlZD1weXRob24zNS5QeU9TX0ludGVycnVwdE9jY3VycmVkCisgIFB5T1NfUmVhZGxpbmVGdW5jdGlvblBvaW50ZXI9cHl0aG9uMzUuUHlPU19SZWFkbGluZUZ1bmN0aW9uUG9pbnRlciBEQVRBCisgIFB5T1NfZG91YmxlX3RvX3N0cmluZz1weXRob24zNS5QeU9TX2RvdWJsZV90b19zdHJpbmcKKyAgUHlPU19nZXRzaWc9cHl0aG9uMzUuUHlPU19nZXRzaWcKKyAgUHlPU19teXN0cmljbXA9cHl0aG9uMzUuUHlPU19teXN0cmljbXAKKyAgUHlPU19teXN0cm5pY21wPXB5dGhvbjM1LlB5T1NfbXlzdHJuaWNtcAorICBQeU9TX3NldHNpZz1weXRob24zNS5QeU9TX3NldHNpZworICBQeU9TX3NucHJpbnRmPXB5dGhvbjM1LlB5T1Nfc25wcmludGYKKyAgUHlPU19zdHJpbmdfdG9fZG91YmxlPXB5dGhvbjM1LlB5T1Nfc3RyaW5nX3RvX2RvdWJsZQorICBQeU9TX3N0cnRvbD1weXRob24zNS5QeU9TX3N0cnRvbAorICBQeU9TX3N0cnRvdWw9cHl0aG9uMzUuUHlPU19zdHJ0b3VsCisgIFB5T1NfdnNucHJpbnRmPXB5dGhvbjM1LlB5T1NfdnNucHJpbnRmCisgIFB5T2JqZWN0X0FTQ0lJPXB5dGhvbjM1LlB5T2JqZWN0X0FTQ0lJCisgIFB5T2JqZWN0X0FzQ2hhckJ1ZmZlcj1weXRob24zNS5QeU9iamVjdF9Bc0NoYXJCdWZmZXIKKyAgUHlPYmplY3RfQXNGaWxlRGVzY3JpcHRvcj1weXRob24zNS5QeU9iamVjdF9Bc0ZpbGVEZXNjcmlwdG9yCisgIFB5T2JqZWN0X0FzUmVhZEJ1ZmZlcj1weXRob24zNS5QeU9iamVjdF9Bc1JlYWRCdWZmZXIKKyAgUHlPYmplY3RfQXNXcml0ZUJ1ZmZlcj1weXRob24zNS5QeU9iamVjdF9Bc1dyaXRlQnVmZmVyCisgIFB5T2JqZWN0X0J5dGVzPXB5dGhvbjM1LlB5T2JqZWN0X0J5dGVzCisgIFB5T2JqZWN0X0NhbGw9cHl0aG9uMzUuUHlPYmplY3RfQ2FsbAorICBQeU9iamVjdF9DYWxsRnVuY3Rpb249cHl0aG9uMzUuUHlPYmplY3RfQ2FsbEZ1bmN0aW9uCisgIFB5T2JqZWN0X0NhbGxGdW5jdGlvbk9iakFyZ3M9cHl0aG9uMzUuUHlPYmplY3RfQ2FsbEZ1bmN0aW9uT2JqQXJncworICBQeU9iamVjdF9DYWxsTWV0aG9kPXB5dGhvbjM1LlB5T2JqZWN0X0NhbGxNZXRob2QKKyAgUHlPYmplY3RfQ2FsbE1ldGhvZE9iakFyZ3M9cHl0aG9uMzUuUHlPYmplY3RfQ2FsbE1ldGhvZE9iakFyZ3MKKyAgUHlPYmplY3RfQ2FsbE9iamVjdD1weXRob24zNS5QeU9iamVjdF9DYWxsT2JqZWN0CisgIFB5T2JqZWN0X0NoZWNrUmVhZEJ1ZmZlcj1weXRob24zNS5QeU9iamVjdF9DaGVja1JlYWRCdWZmZXIKKyAgUHlPYmplY3RfQ2xlYXJXZWFrUmVmcz1weXRob24zNS5QeU9iamVjdF9DbGVhcldlYWtSZWZzCisgIFB5T2JqZWN0X0RlbEl0ZW09cHl0aG9uMzUuUHlPYmplY3RfRGVsSXRlbQorICBQeU9iamVjdF9EZWxJdGVtU3RyaW5nPXB5dGhvbjM1LlB5T2JqZWN0X0RlbEl0ZW1TdHJpbmcKKyAgUHlPYmplY3RfRGlyPXB5dGhvbjM1LlB5T2JqZWN0X0RpcgorICBQeU9iamVjdF9Gb3JtYXQ9cHl0aG9uMzUuUHlPYmplY3RfRm9ybWF0CisgIFB5T2JqZWN0X0ZyZWU9cHl0aG9uMzUuUHlPYmplY3RfRnJlZQorICBQeU9iamVjdF9HQ19EZWw9cHl0aG9uMzUuUHlPYmplY3RfR0NfRGVsCisgIFB5T2JqZWN0X0dDX1RyYWNrPXB5dGhvbjM1LlB5T2JqZWN0X0dDX1RyYWNrCisgIFB5T2JqZWN0X0dDX1VuVHJhY2s9cHl0aG9uMzUuUHlPYmplY3RfR0NfVW5UcmFjaworICBQeU9iamVjdF9HZW5lcmljR2V0QXR0cj1weXRob24zNS5QeU9iamVjdF9HZW5lcmljR2V0QXR0cgorICBQeU9iamVjdF9HZW5lcmljU2V0QXR0cj1weXRob24zNS5QeU9iamVjdF9HZW5lcmljU2V0QXR0cgorICBQeU9iamVjdF9HZXRBdHRyPXB5dGhvbjM1LlB5T2JqZWN0X0dldEF0dHIKKyAgUHlPYmplY3RfR2V0QXR0clN0cmluZz1weXRob24zNS5QeU9iamVjdF9HZXRBdHRyU3RyaW5nCisgIFB5T2JqZWN0X0dldEl0ZW09cHl0aG9uMzUuUHlPYmplY3RfR2V0SXRlbQorICBQeU9iamVjdF9HZXRJdGVyPXB5dGhvbjM1LlB5T2JqZWN0X0dldEl0ZXIKKyAgUHlPYmplY3RfSGFzQXR0cj1weXRob24zNS5QeU9iamVjdF9IYXNBdHRyCisgIFB5T2JqZWN0X0hhc0F0dHJTdHJpbmc9cHl0aG9uMzUuUHlPYmplY3RfSGFzQXR0clN0cmluZworICBQeU9iamVjdF9IYXNoPXB5dGhvbjM1LlB5T2JqZWN0X0hhc2gKKyAgUHlPYmplY3RfSGFzaE5vdEltcGxlbWVudGVkPXB5dGhvbjM1LlB5T2JqZWN0X0hhc2hOb3RJbXBsZW1lbnRlZAorICBQeU9iamVjdF9Jbml0PXB5dGhvbjM1LlB5T2JqZWN0X0luaXQKKyAgUHlPYmplY3RfSW5pdFZhcj1weXRob24zNS5QeU9iamVjdF9Jbml0VmFyCisgIFB5T2JqZWN0X0lzSW5zdGFuY2U9cHl0aG9uMzUuUHlPYmplY3RfSXNJbnN0YW5jZQorICBQeU9iamVjdF9Jc1N1YmNsYXNzPXB5dGhvbjM1LlB5T2JqZWN0X0lzU3ViY2xhc3MKKyAgUHlPYmplY3RfSXNUcnVlPXB5dGhvbjM1LlB5T2JqZWN0X0lzVHJ1ZQorICBQeU9iamVjdF9MZW5ndGg9cHl0aG9uMzUuUHlPYmplY3RfTGVuZ3RoCisgIFB5T2JqZWN0X01hbGxvYz1weXRob24zNS5QeU9iamVjdF9NYWxsb2MKKyAgUHlPYmplY3RfTm90PXB5dGhvbjM1LlB5T2JqZWN0X05vdAorICBQeU9iamVjdF9SZWFsbG9jPXB5dGhvbjM1LlB5T2JqZWN0X1JlYWxsb2MKKyAgUHlPYmplY3RfUmVwcj1weXRob24zNS5QeU9iamVjdF9SZXByCisgIFB5T2JqZWN0X1JpY2hDb21wYXJlPXB5dGhvbjM1LlB5T2JqZWN0X1JpY2hDb21wYXJlCisgIFB5T2JqZWN0X1JpY2hDb21wYXJlQm9vbD1weXRob24zNS5QeU9iamVjdF9SaWNoQ29tcGFyZUJvb2wKKyAgUHlPYmplY3RfU2VsZkl0ZXI9cHl0aG9uMzUuUHlPYmplY3RfU2VsZkl0ZXIKKyAgUHlPYmplY3RfU2V0QXR0cj1weXRob24zNS5QeU9iamVjdF9TZXRBdHRyCisgIFB5T2JqZWN0X1NldEF0dHJTdHJpbmc9cHl0aG9uMzUuUHlPYmplY3RfU2V0QXR0clN0cmluZworICBQeU9iamVjdF9TZXRJdGVtPXB5dGhvbjM1LlB5T2JqZWN0X1NldEl0ZW0KKyAgUHlPYmplY3RfU2l6ZT1weXRob24zNS5QeU9iamVjdF9TaXplCisgIFB5T2JqZWN0X1N0cj1weXRob24zNS5QeU9iamVjdF9TdHIKKyAgUHlPYmplY3RfVHlwZT1weXRob24zNS5QeU9iamVjdF9UeXBlIERBVEEKKyAgUHlQYXJzZXJfU2ltcGxlUGFyc2VGaWxlRmxhZ3M9cHl0aG9uMzUuUHlQYXJzZXJfU2ltcGxlUGFyc2VGaWxlRmxhZ3MKKyAgUHlQYXJzZXJfU2ltcGxlUGFyc2VTdHJpbmdGbGFncz1weXRob24zNS5QeVBhcnNlcl9TaW1wbGVQYXJzZVN0cmluZ0ZsYWdzCisgIFB5UHJvcGVydHlfVHlwZT1weXRob24zNS5QeVByb3BlcnR5X1R5cGUgREFUQQorICBQeVJhbmdlSXRlcl9UeXBlPXB5dGhvbjM1LlB5UmFuZ2VJdGVyX1R5cGUgREFUQQorICBQeVJhbmdlX1R5cGU9cHl0aG9uMzUuUHlSYW5nZV9UeXBlIERBVEEKKyAgUHlSZXZlcnNlZF9UeXBlPXB5dGhvbjM1LlB5UmV2ZXJzZWRfVHlwZSBEQVRBCisgIFB5U2VxSXRlcl9OZXc9cHl0aG9uMzUuUHlTZXFJdGVyX05ldworICBQeVNlcUl0ZXJfVHlwZT1weXRob24zNS5QeVNlcUl0ZXJfVHlwZSBEQVRBCisgIFB5U2VxdWVuY2VfQ2hlY2s9cHl0aG9uMzUuUHlTZXF1ZW5jZV9DaGVjaworICBQeVNlcXVlbmNlX0NvbmNhdD1weXRob24zNS5QeVNlcXVlbmNlX0NvbmNhdAorICBQeVNlcXVlbmNlX0NvbnRhaW5zPXB5dGhvbjM1LlB5U2VxdWVuY2VfQ29udGFpbnMKKyAgUHlTZXF1ZW5jZV9Db3VudD1weXRob24zNS5QeVNlcXVlbmNlX0NvdW50CisgIFB5U2VxdWVuY2VfRGVsSXRlbT1weXRob24zNS5QeVNlcXVlbmNlX0RlbEl0ZW0KKyAgUHlTZXF1ZW5jZV9EZWxTbGljZT1weXRob24zNS5QeVNlcXVlbmNlX0RlbFNsaWNlCisgIFB5U2VxdWVuY2VfRmFzdD1weXRob24zNS5QeVNlcXVlbmNlX0Zhc3QKKyAgUHlTZXF1ZW5jZV9HZXRJdGVtPXB5dGhvbjM1LlB5U2VxdWVuY2VfR2V0SXRlbQorICBQeVNlcXVlbmNlX0dldFNsaWNlPXB5dGhvbjM1LlB5U2VxdWVuY2VfR2V0U2xpY2UKKyAgUHlTZXF1ZW5jZV9Jbj1weXRob24zNS5QeVNlcXVlbmNlX0luCisgIFB5U2VxdWVuY2VfSW5QbGFjZUNvbmNhdD1weXRob24zNS5QeVNlcXVlbmNlX0luUGxhY2VDb25jYXQKKyAgUHlTZXF1ZW5jZV9JblBsYWNlUmVwZWF0PXB5dGhvbjM1LlB5U2VxdWVuY2VfSW5QbGFjZVJlcGVhdAorICBQeVNlcXVlbmNlX0luZGV4PXB5dGhvbjM1LlB5U2VxdWVuY2VfSW5kZXgKKyAgUHlTZXF1ZW5jZV9MZW5ndGg9cHl0aG9uMzUuUHlTZXF1ZW5jZV9MZW5ndGgKKyAgUHlTZXF1ZW5jZV9MaXN0PXB5dGhvbjM1LlB5U2VxdWVuY2VfTGlzdAorICBQeVNlcXVlbmNlX1JlcGVhdD1weXRob24zNS5QeVNlcXVlbmNlX1JlcGVhdAorICBQeVNlcXVlbmNlX1NldEl0ZW09cHl0aG9uMzUuUHlTZXF1ZW5jZV9TZXRJdGVtCisgIFB5U2VxdWVuY2VfU2V0U2xpY2U9cHl0aG9uMzUuUHlTZXF1ZW5jZV9TZXRTbGljZQorICBQeVNlcXVlbmNlX1NpemU9cHl0aG9uMzUuUHlTZXF1ZW5jZV9TaXplCisgIFB5U2VxdWVuY2VfVHVwbGU9cHl0aG9uMzUuUHlTZXF1ZW5jZV9UdXBsZQorICBQeVNldEl0ZXJfVHlwZT1weXRob24zNS5QeVNldEl0ZXJfVHlwZSBEQVRBCisgIFB5U2V0X0FkZD1weXRob24zNS5QeVNldF9BZGQKKyAgUHlTZXRfQ2xlYXI9cHl0aG9uMzUuUHlTZXRfQ2xlYXIKKyAgUHlTZXRfQ29udGFpbnM9cHl0aG9uMzUuUHlTZXRfQ29udGFpbnMKKyAgUHlTZXRfRGlzY2FyZD1weXRob24zNS5QeVNldF9EaXNjYXJkCisgIFB5U2V0X05ldz1weXRob24zNS5QeVNldF9OZXcKKyAgUHlTZXRfUG9wPXB5dGhvbjM1LlB5U2V0X1BvcAorICBQeVNldF9TaXplPXB5dGhvbjM1LlB5U2V0X1NpemUKKyAgUHlTZXRfVHlwZT1weXRob24zNS5QeVNldF9UeXBlIERBVEEKKyAgUHlTbGljZV9HZXRJbmRpY2VzPXB5dGhvbjM1LlB5U2xpY2VfR2V0SW5kaWNlcworICBQeVNsaWNlX0dldEluZGljZXNFeD1weXRob24zNS5QeVNsaWNlX0dldEluZGljZXNFeAorICBQeVNsaWNlX05ldz1weXRob24zNS5QeVNsaWNlX05ldworICBQeVNsaWNlX1R5cGU9cHl0aG9uMzUuUHlTbGljZV9UeXBlIERBVEEKKyAgUHlTb3J0V3JhcHBlcl9UeXBlPXB5dGhvbjM1LlB5U29ydFdyYXBwZXJfVHlwZSBEQVRBCisgIFB5U3RhdGVfRmluZE1vZHVsZT1weXRob24zNS5QeVN0YXRlX0ZpbmRNb2R1bGUKKyAgUHlTdGF0ZV9BZGRNb2R1bGU9cHl0aG9uMzUuUHlTdGF0ZV9BZGRNb2R1bGUKKyAgUHlTdGF0ZV9SZW1vdmVNb2R1bGU9cHl0aG9uMzUuUHlTdGF0ZV9SZW1vdmVNb2R1bGUKKyAgUHlTdHJ1Y3RTZXF1ZW5jZV9HZXRJdGVtPXB5dGhvbjM1LlB5U3RydWN0U2VxdWVuY2VfR2V0SXRlbQorICBQeVN0cnVjdFNlcXVlbmNlX05ldz1weXRob24zNS5QeVN0cnVjdFNlcXVlbmNlX05ldworICBQeVN0cnVjdFNlcXVlbmNlX05ld1R5cGU9cHl0aG9uMzUuUHlTdHJ1Y3RTZXF1ZW5jZV9OZXdUeXBlCisgIFB5U3RydWN0U2VxdWVuY2VfU2V0SXRlbT1weXRob24zNS5QeVN0cnVjdFNlcXVlbmNlX1NldEl0ZW0KKyAgUHlTdXBlcl9UeXBlPXB5dGhvbjM1LlB5U3VwZXJfVHlwZSBEQVRBCisgIFB5U3lzX0FkZFdhcm5PcHRpb249cHl0aG9uMzUuUHlTeXNfQWRkV2Fybk9wdGlvbgorICBQeVN5c19BZGRXYXJuT3B0aW9uVW5pY29kZT1weXRob24zNS5QeVN5c19BZGRXYXJuT3B0aW9uVW5pY29kZQorICBQeVN5c19Gb3JtYXRTdGRlcnI9cHl0aG9uMzUuUHlTeXNfRm9ybWF0U3RkZXJyCisgIFB5U3lzX0Zvcm1hdFN0ZG91dD1weXRob24zNS5QeVN5c19Gb3JtYXRTdGRvdXQKKyAgUHlTeXNfR2V0T2JqZWN0PXB5dGhvbjM1LlB5U3lzX0dldE9iamVjdAorICBQeVN5c19IYXNXYXJuT3B0aW9ucz1weXRob24zNS5QeVN5c19IYXNXYXJuT3B0aW9ucworICBQeVN5c19SZXNldFdhcm5PcHRpb25zPXB5dGhvbjM1LlB5U3lzX1Jlc2V0V2Fybk9wdGlvbnMKKyAgUHlTeXNfU2V0QXJndj1weXRob24zNS5QeVN5c19TZXRBcmd2CisgIFB5U3lzX1NldEFyZ3ZFeD1weXRob24zNS5QeVN5c19TZXRBcmd2RXgKKyAgUHlTeXNfU2V0T2JqZWN0PXB5dGhvbjM1LlB5U3lzX1NldE9iamVjdAorICBQeVN5c19TZXRQYXRoPXB5dGhvbjM1LlB5U3lzX1NldFBhdGgKKyAgUHlTeXNfV3JpdGVTdGRlcnI9cHl0aG9uMzUuUHlTeXNfV3JpdGVTdGRlcnIKKyAgUHlTeXNfV3JpdGVTdGRvdXQ9cHl0aG9uMzUuUHlTeXNfV3JpdGVTdGRvdXQKKyAgUHlUaHJlYWRTdGF0ZV9DbGVhcj1weXRob24zNS5QeVRocmVhZFN0YXRlX0NsZWFyCisgIFB5VGhyZWFkU3RhdGVfRGVsZXRlPXB5dGhvbjM1LlB5VGhyZWFkU3RhdGVfRGVsZXRlCisgIFB5VGhyZWFkU3RhdGVfRGVsZXRlQ3VycmVudD1weXRob24zNS5QeVRocmVhZFN0YXRlX0RlbGV0ZUN1cnJlbnQKKyAgUHlUaHJlYWRTdGF0ZV9HZXQ9cHl0aG9uMzUuUHlUaHJlYWRTdGF0ZV9HZXQKKyAgUHlUaHJlYWRTdGF0ZV9HZXREaWN0PXB5dGhvbjM1LlB5VGhyZWFkU3RhdGVfR2V0RGljdAorICBQeVRocmVhZFN0YXRlX05ldz1weXRob24zNS5QeVRocmVhZFN0YXRlX05ldworICBQeVRocmVhZFN0YXRlX1NldEFzeW5jRXhjPXB5dGhvbjM1LlB5VGhyZWFkU3RhdGVfU2V0QXN5bmNFeGMKKyAgUHlUaHJlYWRTdGF0ZV9Td2FwPXB5dGhvbjM1LlB5VGhyZWFkU3RhdGVfU3dhcAorICBQeVRyYWNlQmFja19IZXJlPXB5dGhvbjM1LlB5VHJhY2VCYWNrX0hlcmUKKyAgUHlUcmFjZUJhY2tfUHJpbnQ9cHl0aG9uMzUuUHlUcmFjZUJhY2tfUHJpbnQKKyAgUHlUcmFjZUJhY2tfVHlwZT1weXRob24zNS5QeVRyYWNlQmFja19UeXBlIERBVEEKKyAgUHlUdXBsZUl0ZXJfVHlwZT1weXRob24zNS5QeVR1cGxlSXRlcl9UeXBlIERBVEEKKyAgUHlUdXBsZV9DbGVhckZyZWVMaXN0PXB5dGhvbjM1LlB5VHVwbGVfQ2xlYXJGcmVlTGlzdAorICBQeVR1cGxlX0dldEl0ZW09cHl0aG9uMzUuUHlUdXBsZV9HZXRJdGVtCisgIFB5VHVwbGVfR2V0U2xpY2U9cHl0aG9uMzUuUHlUdXBsZV9HZXRTbGljZQorICBQeVR1cGxlX05ldz1weXRob24zNS5QeVR1cGxlX05ldworICBQeVR1cGxlX1BhY2s9cHl0aG9uMzUuUHlUdXBsZV9QYWNrCisgIFB5VHVwbGVfU2V0SXRlbT1weXRob24zNS5QeVR1cGxlX1NldEl0ZW0KKyAgUHlUdXBsZV9TaXplPXB5dGhvbjM1LlB5VHVwbGVfU2l6ZQorICBQeVR1cGxlX1R5cGU9cHl0aG9uMzUuUHlUdXBsZV9UeXBlIERBVEEKKyAgUHlUeXBlX0NsZWFyQ2FjaGU9cHl0aG9uMzUuUHlUeXBlX0NsZWFyQ2FjaGUKKyAgUHlUeXBlX0Zyb21TcGVjPXB5dGhvbjM1LlB5VHlwZV9Gcm9tU3BlYworICBQeVR5cGVfRnJvbVNwZWNXaXRoQmFzZXM9cHl0aG9uMzUuUHlUeXBlX0Zyb21TcGVjV2l0aEJhc2VzCisgIFB5VHlwZV9HZW5lcmljQWxsb2M9cHl0aG9uMzUuUHlUeXBlX0dlbmVyaWNBbGxvYworICBQeVR5cGVfR2VuZXJpY05ldz1weXRob24zNS5QeVR5cGVfR2VuZXJpY05ldworICBQeVR5cGVfR2V0RmxhZ3M9cHl0aG9uMzUuUHlUeXBlX0dldEZsYWdzCisgIFB5VHlwZV9HZXRTbG90PXB5dGhvbjM1LlB5VHlwZV9HZXRTbG90CisgIFB5VHlwZV9Jc1N1YnR5cGU9cHl0aG9uMzUuUHlUeXBlX0lzU3VidHlwZQorICBQeVR5cGVfTW9kaWZpZWQ9cHl0aG9uMzUuUHlUeXBlX01vZGlmaWVkCisgIFB5VHlwZV9SZWFkeT1weXRob24zNS5QeVR5cGVfUmVhZHkKKyAgUHlUeXBlX1R5cGU9cHl0aG9uMzUuUHlUeXBlX1R5cGUgREFUQQorICBQeVVuaWNvZGVEZWNvZGVFcnJvcl9DcmVhdGU9cHl0aG9uMzUuUHlVbmljb2RlRGVjb2RlRXJyb3JfQ3JlYXRlCisgIFB5VW5pY29kZURlY29kZUVycm9yX0dldEVuY29kaW5nPXB5dGhvbjM1LlB5VW5pY29kZURlY29kZUVycm9yX0dldEVuY29kaW5nCisgIFB5VW5pY29kZURlY29kZUVycm9yX0dldEVuZD1weXRob24zNS5QeVVuaWNvZGVEZWNvZGVFcnJvcl9HZXRFbmQKKyAgUHlVbmljb2RlRGVjb2RlRXJyb3JfR2V0T2JqZWN0PXB5dGhvbjM1LlB5VW5pY29kZURlY29kZUVycm9yX0dldE9iamVjdAorICBQeVVuaWNvZGVEZWNvZGVFcnJvcl9HZXRSZWFzb249cHl0aG9uMzUuUHlVbmljb2RlRGVjb2RlRXJyb3JfR2V0UmVhc29uCisgIFB5VW5pY29kZURlY29kZUVycm9yX0dldFN0YXJ0PXB5dGhvbjM1LlB5VW5pY29kZURlY29kZUVycm9yX0dldFN0YXJ0CisgIFB5VW5pY29kZURlY29kZUVycm9yX1NldEVuZD1weXRob24zNS5QeVVuaWNvZGVEZWNvZGVFcnJvcl9TZXRFbmQKKyAgUHlVbmljb2RlRGVjb2RlRXJyb3JfU2V0UmVhc29uPXB5dGhvbjM1LlB5VW5pY29kZURlY29kZUVycm9yX1NldFJlYXNvbgorICBQeVVuaWNvZGVEZWNvZGVFcnJvcl9TZXRTdGFydD1weXRob24zNS5QeVVuaWNvZGVEZWNvZGVFcnJvcl9TZXRTdGFydAorICBQeVVuaWNvZGVFbmNvZGVFcnJvcl9HZXRFbmNvZGluZz1weXRob24zNS5QeVVuaWNvZGVFbmNvZGVFcnJvcl9HZXRFbmNvZGluZworICBQeVVuaWNvZGVFbmNvZGVFcnJvcl9HZXRFbmQ9cHl0aG9uMzUuUHlVbmljb2RlRW5jb2RlRXJyb3JfR2V0RW5kCisgIFB5VW5pY29kZUVuY29kZUVycm9yX0dldE9iamVjdD1weXRob24zNS5QeVVuaWNvZGVFbmNvZGVFcnJvcl9HZXRPYmplY3QKKyAgUHlVbmljb2RlRW5jb2RlRXJyb3JfR2V0UmVhc29uPXB5dGhvbjM1LlB5VW5pY29kZUVuY29kZUVycm9yX0dldFJlYXNvbgorICBQeVVuaWNvZGVFbmNvZGVFcnJvcl9HZXRTdGFydD1weXRob24zNS5QeVVuaWNvZGVFbmNvZGVFcnJvcl9HZXRTdGFydAorICBQeVVuaWNvZGVFbmNvZGVFcnJvcl9TZXRFbmQ9cHl0aG9uMzUuUHlVbmljb2RlRW5jb2RlRXJyb3JfU2V0RW5kCisgIFB5VW5pY29kZUVuY29kZUVycm9yX1NldFJlYXNvbj1weXRob24zNS5QeVVuaWNvZGVFbmNvZGVFcnJvcl9TZXRSZWFzb24KKyAgUHlVbmljb2RlRW5jb2RlRXJyb3JfU2V0U3RhcnQ9cHl0aG9uMzUuUHlVbmljb2RlRW5jb2RlRXJyb3JfU2V0U3RhcnQKKyAgUHlVbmljb2RlSXRlcl9UeXBlPXB5dGhvbjM1LlB5VW5pY29kZUl0ZXJfVHlwZSBEQVRBCisgIFB5VW5pY29kZVRyYW5zbGF0ZUVycm9yX0dldEVuZD1weXRob24zNS5QeVVuaWNvZGVUcmFuc2xhdGVFcnJvcl9HZXRFbmQKKyAgUHlVbmljb2RlVHJhbnNsYXRlRXJyb3JfR2V0T2JqZWN0PXB5dGhvbjM1LlB5VW5pY29kZVRyYW5zbGF0ZUVycm9yX0dldE9iamVjdAorICBQeVVuaWNvZGVUcmFuc2xhdGVFcnJvcl9HZXRSZWFzb249cHl0aG9uMzUuUHlVbmljb2RlVHJhbnNsYXRlRXJyb3JfR2V0UmVhc29uCisgIFB5VW5pY29kZVRyYW5zbGF0ZUVycm9yX0dldFN0YXJ0PXB5dGhvbjM1LlB5VW5pY29kZVRyYW5zbGF0ZUVycm9yX0dldFN0YXJ0CisgIFB5VW5pY29kZVRyYW5zbGF0ZUVycm9yX1NldEVuZD1weXRob24zNS5QeVVuaWNvZGVUcmFuc2xhdGVFcnJvcl9TZXRFbmQKKyAgUHlVbmljb2RlVHJhbnNsYXRlRXJyb3JfU2V0UmVhc29uPXB5dGhvbjM1LlB5VW5pY29kZVRyYW5zbGF0ZUVycm9yX1NldFJlYXNvbgorICBQeVVuaWNvZGVUcmFuc2xhdGVFcnJvcl9TZXRTdGFydD1weXRob24zNS5QeVVuaWNvZGVUcmFuc2xhdGVFcnJvcl9TZXRTdGFydAorICBQeVVuaWNvZGVfQXBwZW5kPXB5dGhvbjM1LlB5VW5pY29kZV9BcHBlbmQKKyAgUHlVbmljb2RlX0FwcGVuZEFuZERlbD1weXRob24zNS5QeVVuaWNvZGVfQXBwZW5kQW5kRGVsCisgIFB5VW5pY29kZV9Bc0FTQ0lJU3RyaW5nPXB5dGhvbjM1LlB5VW5pY29kZV9Bc0FTQ0lJU3RyaW5nCisgIFB5VW5pY29kZV9Bc0NoYXJtYXBTdHJpbmc9cHl0aG9uMzUuUHlVbmljb2RlX0FzQ2hhcm1hcFN0cmluZworICBQeVVuaWNvZGVfQXNEZWNvZGVkT2JqZWN0PXB5dGhvbjM1LlB5VW5pY29kZV9Bc0RlY29kZWRPYmplY3QKKyAgUHlVbmljb2RlX0FzRGVjb2RlZFVuaWNvZGU9cHl0aG9uMzUuUHlVbmljb2RlX0FzRGVjb2RlZFVuaWNvZGUKKyAgUHlVbmljb2RlX0FzRW5jb2RlZE9iamVjdD1weXRob24zNS5QeVVuaWNvZGVfQXNFbmNvZGVkT2JqZWN0CisgIFB5VW5pY29kZV9Bc0VuY29kZWRTdHJpbmc9cHl0aG9uMzUuUHlVbmljb2RlX0FzRW5jb2RlZFN0cmluZworICBQeVVuaWNvZGVfQXNFbmNvZGVkVW5pY29kZT1weXRob24zNS5QeVVuaWNvZGVfQXNFbmNvZGVkVW5pY29kZQorICBQeVVuaWNvZGVfQXNMYXRpbjFTdHJpbmc9cHl0aG9uMzUuUHlVbmljb2RlX0FzTGF0aW4xU3RyaW5nCisgIFB5VW5pY29kZV9Bc1Jhd1VuaWNvZGVFc2NhcGVTdHJpbmc9cHl0aG9uMzUuUHlVbmljb2RlX0FzUmF3VW5pY29kZUVzY2FwZVN0cmluZworICBQeVVuaWNvZGVfQXNVVEYxNlN0cmluZz1weXRob24zNS5QeVVuaWNvZGVfQXNVVEYxNlN0cmluZworICBQeVVuaWNvZGVfQXNVVEYzMlN0cmluZz1weXRob24zNS5QeVVuaWNvZGVfQXNVVEYzMlN0cmluZworICBQeVVuaWNvZGVfQXNVVEY4U3RyaW5nPXB5dGhvbjM1LlB5VW5pY29kZV9Bc1VURjhTdHJpbmcKKyAgUHlVbmljb2RlX0FzVW5pY29kZUVzY2FwZVN0cmluZz1weXRob24zNS5QeVVuaWNvZGVfQXNVbmljb2RlRXNjYXBlU3RyaW5nCisgIFB5VW5pY29kZV9Bc1dpZGVDaGFyPXB5dGhvbjM1LlB5VW5pY29kZV9Bc1dpZGVDaGFyCisgIFB5VW5pY29kZV9DbGVhckZyZWVsaXN0PXB5dGhvbjM1LlB5VW5pY29kZV9DbGVhckZyZWVsaXN0CisgIFB5VW5pY29kZV9Db21wYXJlPXB5dGhvbjM1LlB5VW5pY29kZV9Db21wYXJlCisgIFB5VW5pY29kZV9Db25jYXQ9cHl0aG9uMzUuUHlVbmljb2RlX0NvbmNhdAorICBQeVVuaWNvZGVfQ29udGFpbnM9cHl0aG9uMzUuUHlVbmljb2RlX0NvbnRhaW5zCisgIFB5VW5pY29kZV9Db3VudD1weXRob24zNS5QeVVuaWNvZGVfQ291bnQKKyAgUHlVbmljb2RlX0RlY29kZT1weXRob24zNS5QeVVuaWNvZGVfRGVjb2RlCisgIFB5VW5pY29kZV9EZWNvZGVBU0NJST1weXRob24zNS5QeVVuaWNvZGVfRGVjb2RlQVNDSUkKKyAgUHlVbmljb2RlX0RlY29kZUNoYXJtYXA9cHl0aG9uMzUuUHlVbmljb2RlX0RlY29kZUNoYXJtYXAKKyAgUHlVbmljb2RlX0RlY29kZUZTRGVmYXVsdD1weXRob24zNS5QeVVuaWNvZGVfRGVjb2RlRlNEZWZhdWx0CisgIFB5VW5pY29kZV9EZWNvZGVGU0RlZmF1bHRBbmRTaXplPXB5dGhvbjM1LlB5VW5pY29kZV9EZWNvZGVGU0RlZmF1bHRBbmRTaXplCisgIFB5VW5pY29kZV9EZWNvZGVMYXRpbjE9cHl0aG9uMzUuUHlVbmljb2RlX0RlY29kZUxhdGluMQorICBQeVVuaWNvZGVfRGVjb2RlUmF3VW5pY29kZUVzY2FwZT1weXRob24zNS5QeVVuaWNvZGVfRGVjb2RlUmF3VW5pY29kZUVzY2FwZQorICBQeVVuaWNvZGVfRGVjb2RlVVRGMTY9cHl0aG9uMzUuUHlVbmljb2RlX0RlY29kZVVURjE2CisgIFB5VW5pY29kZV9EZWNvZGVVVEYxNlN0YXRlZnVsPXB5dGhvbjM1LlB5VW5pY29kZV9EZWNvZGVVVEYxNlN0YXRlZnVsCisgIFB5VW5pY29kZV9EZWNvZGVVVEYzMj1weXRob24zNS5QeVVuaWNvZGVfRGVjb2RlVVRGMzIKKyAgUHlVbmljb2RlX0RlY29kZVVURjMyU3RhdGVmdWw9cHl0aG9uMzUuUHlVbmljb2RlX0RlY29kZVVURjMyU3RhdGVmdWwKKyAgUHlVbmljb2RlX0RlY29kZVVURjg9cHl0aG9uMzUuUHlVbmljb2RlX0RlY29kZVVURjgKKyAgUHlVbmljb2RlX0RlY29kZVVURjhTdGF0ZWZ1bD1weXRob24zNS5QeVVuaWNvZGVfRGVjb2RlVVRGOFN0YXRlZnVsCisgIFB5VW5pY29kZV9EZWNvZGVVbmljb2RlRXNjYXBlPXB5dGhvbjM1LlB5VW5pY29kZV9EZWNvZGVVbmljb2RlRXNjYXBlCisgIFB5VW5pY29kZV9GU0NvbnZlcnRlcj1weXRob24zNS5QeVVuaWNvZGVfRlNDb252ZXJ0ZXIKKyAgUHlVbmljb2RlX0ZTRGVjb2Rlcj1weXRob24zNS5QeVVuaWNvZGVfRlNEZWNvZGVyCisgIFB5VW5pY29kZV9GaW5kPXB5dGhvbjM1LlB5VW5pY29kZV9GaW5kCisgIFB5VW5pY29kZV9Gb3JtYXQ9cHl0aG9uMzUuUHlVbmljb2RlX0Zvcm1hdAorICBQeVVuaWNvZGVfRnJvbUVuY29kZWRPYmplY3Q9cHl0aG9uMzUuUHlVbmljb2RlX0Zyb21FbmNvZGVkT2JqZWN0CisgIFB5VW5pY29kZV9Gcm9tRm9ybWF0PXB5dGhvbjM1LlB5VW5pY29kZV9Gcm9tRm9ybWF0CisgIFB5VW5pY29kZV9Gcm9tRm9ybWF0Vj1weXRob24zNS5QeVVuaWNvZGVfRnJvbUZvcm1hdFYKKyAgUHlVbmljb2RlX0Zyb21PYmplY3Q9cHl0aG9uMzUuUHlVbmljb2RlX0Zyb21PYmplY3QKKyAgUHlVbmljb2RlX0Zyb21PcmRpbmFsPXB5dGhvbjM1LlB5VW5pY29kZV9Gcm9tT3JkaW5hbAorICBQeVVuaWNvZGVfRnJvbVN0cmluZz1weXRob24zNS5QeVVuaWNvZGVfRnJvbVN0cmluZworICBQeVVuaWNvZGVfRnJvbVN0cmluZ0FuZFNpemU9cHl0aG9uMzUuUHlVbmljb2RlX0Zyb21TdHJpbmdBbmRTaXplCisgIFB5VW5pY29kZV9Gcm9tV2lkZUNoYXI9cHl0aG9uMzUuUHlVbmljb2RlX0Zyb21XaWRlQ2hhcgorICBQeVVuaWNvZGVfR2V0RGVmYXVsdEVuY29kaW5nPXB5dGhvbjM1LlB5VW5pY29kZV9HZXREZWZhdWx0RW5jb2RpbmcKKyAgUHlVbmljb2RlX0dldFNpemU9cHl0aG9uMzUuUHlVbmljb2RlX0dldFNpemUKKyAgUHlVbmljb2RlX0lzSWRlbnRpZmllcj1weXRob24zNS5QeVVuaWNvZGVfSXNJZGVudGlmaWVyCisgIFB5VW5pY29kZV9Kb2luPXB5dGhvbjM1LlB5VW5pY29kZV9Kb2luCisgIFB5VW5pY29kZV9QYXJ0aXRpb249cHl0aG9uMzUuUHlVbmljb2RlX1BhcnRpdGlvbgorICBQeVVuaWNvZGVfUlBhcnRpdGlvbj1weXRob24zNS5QeVVuaWNvZGVfUlBhcnRpdGlvbgorICBQeVVuaWNvZGVfUlNwbGl0PXB5dGhvbjM1LlB5VW5pY29kZV9SU3BsaXQKKyAgUHlVbmljb2RlX1JlcGxhY2U9cHl0aG9uMzUuUHlVbmljb2RlX1JlcGxhY2UKKyAgUHlVbmljb2RlX1Jlc2l6ZT1weXRob24zNS5QeVVuaWNvZGVfUmVzaXplCisgIFB5VW5pY29kZV9SaWNoQ29tcGFyZT1weXRob24zNS5QeVVuaWNvZGVfUmljaENvbXBhcmUKKyAgUHlVbmljb2RlX1NldERlZmF1bHRFbmNvZGluZz1weXRob24zNS5QeVVuaWNvZGVfU2V0RGVmYXVsdEVuY29kaW5nCisgIFB5VW5pY29kZV9TcGxpdD1weXRob24zNS5QeVVuaWNvZGVfU3BsaXQKKyAgUHlVbmljb2RlX1NwbGl0bGluZXM9cHl0aG9uMzUuUHlVbmljb2RlX1NwbGl0bGluZXMKKyAgUHlVbmljb2RlX1RhaWxtYXRjaD1weXRob24zNS5QeVVuaWNvZGVfVGFpbG1hdGNoCisgIFB5VW5pY29kZV9UcmFuc2xhdGU9cHl0aG9uMzUuUHlVbmljb2RlX1RyYW5zbGF0ZQorICBQeVVuaWNvZGVfQnVpbGRFbmNvZGluZ01hcD1weXRob24zNS5QeVVuaWNvZGVfQnVpbGRFbmNvZGluZ01hcAorICBQeVVuaWNvZGVfQ29tcGFyZVdpdGhBU0NJSVN0cmluZz1weXRob24zNS5QeVVuaWNvZGVfQ29tcGFyZVdpdGhBU0NJSVN0cmluZworICBQeVVuaWNvZGVfRGVjb2RlVVRGNz1weXRob24zNS5QeVVuaWNvZGVfRGVjb2RlVVRGNworICBQeVVuaWNvZGVfRGVjb2RlVVRGN1N0YXRlZnVsPXB5dGhvbjM1LlB5VW5pY29kZV9EZWNvZGVVVEY3U3RhdGVmdWwKKyAgUHlVbmljb2RlX0VuY29kZUZTRGVmYXVsdD1weXRob24zNS5QeVVuaWNvZGVfRW5jb2RlRlNEZWZhdWx0CisgIFB5VW5pY29kZV9JbnRlcm5Gcm9tU3RyaW5nPXB5dGhvbjM1LlB5VW5pY29kZV9JbnRlcm5Gcm9tU3RyaW5nCisgIFB5VW5pY29kZV9JbnRlcm5JbW1vcnRhbD1weXRob24zNS5QeVVuaWNvZGVfSW50ZXJuSW1tb3J0YWwKKyAgUHlVbmljb2RlX0ludGVybkluUGxhY2U9cHl0aG9uMzUuUHlVbmljb2RlX0ludGVybkluUGxhY2UKKyAgUHlVbmljb2RlX1R5cGU9cHl0aG9uMzUuUHlVbmljb2RlX1R5cGUgREFUQQorICBQeVdlYWtyZWZfR2V0T2JqZWN0PXB5dGhvbjM1LlB5V2Vha3JlZl9HZXRPYmplY3QgREFUQQorICBQeVdlYWtyZWZfTmV3UHJveHk9cHl0aG9uMzUuUHlXZWFrcmVmX05ld1Byb3h5CisgIFB5V2Vha3JlZl9OZXdSZWY9cHl0aG9uMzUuUHlXZWFrcmVmX05ld1JlZgorICBQeVdyYXBwZXJEZXNjcl9UeXBlPXB5dGhvbjM1LlB5V3JhcHBlckRlc2NyX1R5cGUgREFUQQorICBQeVdyYXBwZXJfTmV3PXB5dGhvbjM1LlB5V3JhcHBlcl9OZXcKKyAgUHlaaXBfVHlwZT1weXRob24zNS5QeVppcF9UeXBlIERBVEEKKyAgUHlfQWRkUGVuZGluZ0NhbGw9cHl0aG9uMzUuUHlfQWRkUGVuZGluZ0NhbGwKKyAgUHlfQXRFeGl0PXB5dGhvbjM1LlB5X0F0RXhpdAorICBQeV9CdWlsZFZhbHVlPXB5dGhvbjM1LlB5X0J1aWxkVmFsdWUKKyAgUHlfQ29tcGlsZVN0cmluZz1weXRob24zNS5QeV9Db21waWxlU3RyaW5nCisgIFB5X0RlY1JlZj1weXRob24zNS5QeV9EZWNSZWYKKyAgUHlfRW5kSW50ZXJwcmV0ZXI9cHl0aG9uMzUuUHlfRW5kSW50ZXJwcmV0ZXIKKyAgUHlfRXhpdD1weXRob24zNS5QeV9FeGl0CisgIFB5X0ZhdGFsRXJyb3I9cHl0aG9uMzUuUHlfRmF0YWxFcnJvcgorICBQeV9GaWxlU3lzdGVtRGVmYXVsdEVuY29kaW5nPXB5dGhvbjM1LlB5X0ZpbGVTeXN0ZW1EZWZhdWx0RW5jb2RpbmcgREFUQQorICBQeV9GaW5hbGl6ZT1weXRob24zNS5QeV9GaW5hbGl6ZQorICBQeV9HZXRCdWlsZEluZm89cHl0aG9uMzUuUHlfR2V0QnVpbGRJbmZvCisgIFB5X0dldENvbXBpbGVyPXB5dGhvbjM1LlB5X0dldENvbXBpbGVyCisgIFB5X0dldENvcHlyaWdodD1weXRob24zNS5QeV9HZXRDb3B5cmlnaHQKKyAgUHlfR2V0RXhlY1ByZWZpeD1weXRob24zNS5QeV9HZXRFeGVjUHJlZml4CisgIFB5X0dldFBhdGg9cHl0aG9uMzUuUHlfR2V0UGF0aAorICBQeV9HZXRQbGF0Zm9ybT1weXRob24zNS5QeV9HZXRQbGF0Zm9ybQorICBQeV9HZXRQcmVmaXg9cHl0aG9uMzUuUHlfR2V0UHJlZml4CisgIFB5X0dldFByb2dyYW1GdWxsUGF0aD1weXRob24zNS5QeV9HZXRQcm9ncmFtRnVsbFBhdGgKKyAgUHlfR2V0UHJvZ3JhbU5hbWU9cHl0aG9uMzUuUHlfR2V0UHJvZ3JhbU5hbWUKKyAgUHlfR2V0UHl0aG9uSG9tZT1weXRob24zNS5QeV9HZXRQeXRob25Ib21lCisgIFB5X0dldFJlY3Vyc2lvbkxpbWl0PXB5dGhvbjM1LlB5X0dldFJlY3Vyc2lvbkxpbWl0CisgIFB5X0dldFZlcnNpb249cHl0aG9uMzUuUHlfR2V0VmVyc2lvbgorICBQeV9IYXNGaWxlU3lzdGVtRGVmYXVsdEVuY29kaW5nPXB5dGhvbjM1LlB5X0hhc0ZpbGVTeXN0ZW1EZWZhdWx0RW5jb2RpbmcgREFUQQorICBQeV9JbmNSZWY9cHl0aG9uMzUuUHlfSW5jUmVmCisgIFB5X0luaXRpYWxpemU9cHl0aG9uMzUuUHlfSW5pdGlhbGl6ZQorICBQeV9Jbml0aWFsaXplRXg9cHl0aG9uMzUuUHlfSW5pdGlhbGl6ZUV4CisgIFB5X0lzSW5pdGlhbGl6ZWQ9cHl0aG9uMzUuUHlfSXNJbml0aWFsaXplZAorICBQeV9NYWluPXB5dGhvbjM1LlB5X01haW4KKyAgUHlfTWFrZVBlbmRpbmdDYWxscz1weXRob24zNS5QeV9NYWtlUGVuZGluZ0NhbGxzCisgIFB5X05ld0ludGVycHJldGVyPXB5dGhvbjM1LlB5X05ld0ludGVycHJldGVyCisgIFB5X1JlcHJFbnRlcj1weXRob24zNS5QeV9SZXByRW50ZXIKKyAgUHlfUmVwckxlYXZlPXB5dGhvbjM1LlB5X1JlcHJMZWF2ZQorICBQeV9TZXRQcm9ncmFtTmFtZT1weXRob24zNS5QeV9TZXRQcm9ncmFtTmFtZQorICBQeV9TZXRQeXRob25Ib21lPXB5dGhvbjM1LlB5X1NldFB5dGhvbkhvbWUKKyAgUHlfU2V0UmVjdXJzaW9uTGltaXQ9cHl0aG9uMzUuUHlfU2V0UmVjdXJzaW9uTGltaXQKKyAgUHlfU3ltdGFibGVTdHJpbmc9cHl0aG9uMzUuUHlfU3ltdGFibGVTdHJpbmcKKyAgUHlfVmFCdWlsZFZhbHVlPXB5dGhvbjM1LlB5X1ZhQnVpbGRWYWx1ZQorICBfUHlFcnJfQmFkSW50ZXJuYWxDYWxsPXB5dGhvbjM1Ll9QeUVycl9CYWRJbnRlcm5hbENhbGwKKyAgX1B5T2JqZWN0X0NhbGxGdW5jdGlvbl9TaXplVD1weXRob24zNS5fUHlPYmplY3RfQ2FsbEZ1bmN0aW9uX1NpemVUCisgIF9QeU9iamVjdF9DYWxsTWV0aG9kX1NpemVUPXB5dGhvbjM1Ll9QeU9iamVjdF9DYWxsTWV0aG9kX1NpemVUCisgIF9QeU9iamVjdF9HQ19NYWxsb2M9cHl0aG9uMzUuX1B5T2JqZWN0X0dDX01hbGxvYworICBfUHlPYmplY3RfR0NfTmV3PXB5dGhvbjM1Ll9QeU9iamVjdF9HQ19OZXcKKyAgX1B5T2JqZWN0X0dDX05ld1Zhcj1weXRob24zNS5fUHlPYmplY3RfR0NfTmV3VmFyCisgIF9QeU9iamVjdF9HQ19SZXNpemU9cHl0aG9uMzUuX1B5T2JqZWN0X0dDX1Jlc2l6ZQorICBfUHlPYmplY3RfTmV3PXB5dGhvbjM1Ll9QeU9iamVjdF9OZXcKKyAgX1B5T2JqZWN0X05ld1Zhcj1weXRob24zNS5fUHlPYmplY3RfTmV3VmFyCisgIF9QeVN0YXRlX0FkZE1vZHVsZT1weXRob24zNS5fUHlTdGF0ZV9BZGRNb2R1bGUKKyAgX1B5VGhyZWFkU3RhdGVfSW5pdD1weXRob24zNS5fUHlUaHJlYWRTdGF0ZV9Jbml0CisgIF9QeVRocmVhZFN0YXRlX1ByZWFsbG9jPXB5dGhvbjM1Ll9QeVRocmVhZFN0YXRlX1ByZWFsbG9jCisgIF9QeVRyYXNoX2RlbGV0ZV9sYXRlcj1weXRob24zNS5fUHlUcmFzaF9kZWxldGVfbGF0ZXIgREFUQQorICBfUHlUcmFzaF9kZWxldGVfbmVzdGluZz1weXRob24zNS5fUHlUcmFzaF9kZWxldGVfbmVzdGluZyBEQVRBCisgIF9QeVRyYXNoX2RlcG9zaXRfb2JqZWN0PXB5dGhvbjM1Ll9QeVRyYXNoX2RlcG9zaXRfb2JqZWN0CisgIF9QeVRyYXNoX2Rlc3Ryb3lfY2hhaW49cHl0aG9uMzUuX1B5VHJhc2hfZGVzdHJveV9jaGFpbgorICBfUHlXZWFrcmVmX0NhbGxhYmxlUHJveHlUeXBlPXB5dGhvbjM1Ll9QeVdlYWtyZWZfQ2FsbGFibGVQcm94eVR5cGUgREFUQQorICBfUHlXZWFrcmVmX1Byb3h5VHlwZT1weXRob24zNS5fUHlXZWFrcmVmX1Byb3h5VHlwZSBEQVRBCisgIF9QeVdlYWtyZWZfUmVmVHlwZT1weXRob24zNS5fUHlXZWFrcmVmX1JlZlR5cGUgREFUQQorICBfUHlfQnVpbGRWYWx1ZV9TaXplVD1weXRob24zNS5fUHlfQnVpbGRWYWx1ZV9TaXplVAorICBfUHlfQ2hlY2tSZWN1cnNpb25MaW1pdD1weXRob24zNS5fUHlfQ2hlY2tSZWN1cnNpb25MaW1pdCBEQVRBCisgIF9QeV9DaGVja1JlY3Vyc2l2ZUNhbGw9cHl0aG9uMzUuX1B5X0NoZWNrUmVjdXJzaXZlQ2FsbAorICBfUHlfRGVhbGxvYz1weXRob24zNS5fUHlfRGVhbGxvYworICBfUHlfRWxsaXBzaXNPYmplY3Q9cHl0aG9uMzUuX1B5X0VsbGlwc2lzT2JqZWN0IERBVEEKKyAgX1B5X0ZhbHNlU3RydWN0PXB5dGhvbjM1Ll9QeV9GYWxzZVN0cnVjdCBEQVRBCisgIF9QeV9Ob25lU3RydWN0PXB5dGhvbjM1Ll9QeV9Ob25lU3RydWN0IERBVEEKKyAgX1B5X05vdEltcGxlbWVudGVkU3RydWN0PXB5dGhvbjM1Ll9QeV9Ob3RJbXBsZW1lbnRlZFN0cnVjdCBEQVRBCisgIF9QeV9Td2FwcGVkT3A9cHl0aG9uMzUuX1B5X1N3YXBwZWRPcCBEQVRBCisgIF9QeV9UcnVlU3RydWN0PXB5dGhvbjM1Ll9QeV9UcnVlU3RydWN0IERBVEEKKyAgX1B5X1ZhQnVpbGRWYWx1ZV9TaXplVD1weXRob24zNS5fUHlfVmFCdWlsZFZhbHVlX1NpemVUCisgIF9QeUFyZ19QYXJzZV9TaXplVD1weXRob24zNS5fUHlBcmdfUGFyc2VfU2l6ZVQKKyAgX1B5QXJnX1BhcnNlVHVwbGVfU2l6ZVQ9cHl0aG9uMzUuX1B5QXJnX1BhcnNlVHVwbGVfU2l6ZVQKKyAgX1B5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3Jkc19TaXplVD1weXRob24zNS5fUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzX1NpemVUCisgIF9QeUFyZ19WYVBhcnNlX1NpemVUPXB5dGhvbjM1Ll9QeUFyZ19WYVBhcnNlX1NpemVUCisgIF9QeUFyZ19WYVBhcnNlVHVwbGVBbmRLZXl3b3Jkc19TaXplVD1weXRob24zNS5fUHlBcmdfVmFQYXJzZVR1cGxlQW5kS2V5d29yZHNfU2l6ZVQKKyAgX1B5X0J1aWxkVmFsdWVfU2l6ZVQ9cHl0aG9uMzUuX1B5X0J1aWxkVmFsdWVfU2l6ZVQKZGlmZiAtLWdpdCBhL1BDL3B5dGhvbjMubWFrIGIvUEMvcHl0aG9uMy5tYWsKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZiOGU3YWEuLjAwMDAwMDAKLS0tIGEvUEMvcHl0aG9uMy5tYWsKKysrIC9kZXYvbnVsbApAQCAtMSwxNCArMCwwIEBACi0kKE91dERpcilweXRob24zLmRsbDoJcHl0aG9uMy5kZWYgJChPdXREaXIpcHl0aG9uMzRzdHViLmxpYgotCWNsIC9MRCAvRmUkKE91dERpcilweXRob24zLmRsbCBweXRob24zZGxsLmMgcHl0aG9uMy5kZWYgJChPdXREaXIpcHl0aG9uMzRzdHViLmxpYgotCi0kKE91dERpcilweXRob24zNHN0dWIubGliOglweXRob24zNHN0dWIuZGVmCi0JbGliIC9kZWY6cHl0aG9uMzRzdHViLmRlZiAvb3V0OiQoT3V0RGlyKXB5dGhvbjM0c3R1Yi5saWIgL01BQ0hJTkU6JChNQUNISU5FKQotCi1jbGVhbjoKLQlJRiBFWElTVCAkKE91dERpcilweXRob24zLmRsbCBkZWwgJChPdXREaXIpcHl0aG9uMy5kbGwKLQlJRiBFWElTVCAkKE91dERpcilweXRob24zLmxpYiBkZWwgJChPdXREaXIpcHl0aG9uMy5saWIKLQlJRiBFWElTVCAkKE91dERpcilweXRob24zNHN0dWIubGliIGRlbCAkKE91dERpcilweXRob24zNHN0dWIubGliCi0JSUYgRVhJU1QgJChPdXREaXIpcHl0aG9uMy5leHAgZGVsICQoT3V0RGlyKXB5dGhvbjMuZXhwCi0JSUYgRVhJU1QgJChPdXREaXIpcHl0aG9uMzRzdHViLmV4cCBkZWwgJChPdXREaXIpcHl0aG9uMzRzdHViLmV4cAotCi1yZWJ1aWxkOiBjbGVhbiAkKE91dERpcilweXRob24zLmRsbApkaWZmIC0tZ2l0IGEvUEMvcHl0aG9uMzRnZW4ucHkgYi9QQy9weXRob24zNGdlbi5weQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTgwY2UxMS4uMDAwMDAwMAotLS0gYS9QQy9weXRob24zNGdlbi5weQorKysgL2Rldi9udWxsCkBAIC0xLDI2ICswLDAgQEAKLSMgR2VuZXJhdGUgcHl0aG9uMzRzdHViLmRlZiBvdXQgb2YgcHl0aG9uMy5kZWYKLSMgVGhlIHJlZ3VsYXIgaW1wb3J0IGxpYnJhcnkgY2Fubm90IGJlIHVzZWQsCi0jIHNpbmNlIGl0IGRvZXNuJ3QgcHJvdmlkZSB0aGUgcmlnaHQgc3ltYm9scyBmb3IKLSMgZGF0YSBmb3J3YXJkaW5nCi1vdXQgPSBvcGVuKCJweXRob24zNHN0dWIuZGVmIiwgInciKQotb3V0LndyaXRlKCdMSUJSQVJZICJweXRob24zNCJcbicpCi1vdXQud3JpdGUoJ0VYUE9SVFNcbicpCi0KLWlucCA9IG9wZW4oInB5dGhvbjMuZGVmIikKLWxpbmUgPSBpbnAucmVhZGxpbmUoKQotd2hpbGUgbGluZS5zdHJpcCgpLnN0YXJ0c3dpdGgoJzsnKToKLSAgICBsaW5lID0gaW5wLnJlYWRsaW5lKCkKLWxpbmUgPSBpbnAucmVhZGxpbmUoKSAjIExJQlJBUlkKLWFzc2VydCBsaW5lLnN0cmlwKCk9PSdFWFBPUlRTJwotCi1mb3IgbGluZSBpbiBpbnA6Ci0gICAgIyBTWU0xPXB5dGhvbjM0LlNZTTJbIERBVEFdCi0gICAgaGVhZCwgdGFpbCA9IGxpbmUuc3BsaXQoJy4nKQotICAgIGlmICdEQVRBJyBpbiB0YWlsOgotICAgICAgICBzeW1ib2wsIHRhaWwgPSB0YWlsLnNwbGl0KCcgJykKLSAgICBlbHNlOgotICAgICAgICBzeW1ib2wgPSB0YWlsLnN0cmlwKCkKLSAgICBvdXQud3JpdGUoc3ltYm9sKydcbicpCi0KLWlucC5jbG9zZSgpCi1vdXQuY2xvc2UoKQpkaWZmIC0tZ2l0IGEvUEMvcHl0aG9uMzRzdHViLmRlZiBiL1BDL3B5dGhvbjM0c3R1Yi5kZWYKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDMwNzRjZjMuLjAwMDAwMDAKLS0tIGEvUEMvcHl0aG9uMzRzdHViLmRlZgorKysgL2Rldi9udWxsCkBAIC0xLDcwMCArMCwwIEBACi1MSUJSQVJZICJweXRob24zNCIKLUVYUE9SVFMKLVB5QXJnX1BhcnNlCi1QeUFyZ19QYXJzZVR1cGxlCi1QeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMKLVB5QXJnX1VucGFja1R1cGxlCi1QeUFyZ19WYVBhcnNlCi1QeUFyZ19WYVBhcnNlVHVwbGVBbmRLZXl3b3JkcwotUHlBcmdfVmFsaWRhdGVLZXl3b3JkQXJndW1lbnRzCi1QeUJhc2VPYmplY3RfVHlwZQotUHlCb29sX0Zyb21Mb25nCi1QeUJvb2xfVHlwZQotUHlCeXRlQXJyYXlJdGVyX1R5cGUKLVB5Qnl0ZUFycmF5X0FzU3RyaW5nCi1QeUJ5dGVBcnJheV9Db25jYXQKLVB5Qnl0ZUFycmF5X0Zyb21PYmplY3QKLVB5Qnl0ZUFycmF5X0Zyb21TdHJpbmdBbmRTaXplCi1QeUJ5dGVBcnJheV9SZXNpemUKLVB5Qnl0ZUFycmF5X1NpemUKLVB5Qnl0ZUFycmF5X1R5cGUKLVB5Qnl0ZXNJdGVyX1R5cGUKLVB5Qnl0ZXNfQXNTdHJpbmcKLVB5Qnl0ZXNfQXNTdHJpbmdBbmRTaXplCi1QeUJ5dGVzX0NvbmNhdAotUHlCeXRlc19Db25jYXRBbmREZWwKLVB5Qnl0ZXNfRGVjb2RlRXNjYXBlCi1QeUJ5dGVzX0Zyb21Gb3JtYXQKLVB5Qnl0ZXNfRnJvbUZvcm1hdFYKLVB5Qnl0ZXNfRnJvbU9iamVjdAotUHlCeXRlc19Gcm9tU3RyaW5nCi1QeUJ5dGVzX0Zyb21TdHJpbmdBbmRTaXplCi1QeUJ5dGVzX1JlcHIKLVB5Qnl0ZXNfU2l6ZQotUHlCeXRlc19UeXBlCi1QeUNGdW5jdGlvbl9DYWxsCi1QeUNGdW5jdGlvbl9DbGVhckZyZWVMaXN0Ci1QeUNGdW5jdGlvbl9HZXRGbGFncwotUHlDRnVuY3Rpb25fR2V0RnVuY3Rpb24KLVB5Q0Z1bmN0aW9uX0dldFNlbGYKLVB5Q0Z1bmN0aW9uX05ldwotUHlDRnVuY3Rpb25fTmV3RXgKLVB5Q0Z1bmN0aW9uX1R5cGUKLVB5Q2FsbEl0ZXJfTmV3Ci1QeUNhbGxJdGVyX1R5cGUKLVB5Q2FsbGFibGVfQ2hlY2sKLVB5Q2Fwc3VsZV9HZXRDb250ZXh0Ci1QeUNhcHN1bGVfR2V0RGVzdHJ1Y3RvcgotUHlDYXBzdWxlX0dldE5hbWUKLVB5Q2Fwc3VsZV9HZXRQb2ludGVyCi1QeUNhcHN1bGVfSW1wb3J0Ci1QeUNhcHN1bGVfSXNWYWxpZAotUHlDYXBzdWxlX05ldwotUHlDYXBzdWxlX1NldENvbnRleHQKLVB5Q2Fwc3VsZV9TZXREZXN0cnVjdG9yCi1QeUNhcHN1bGVfU2V0TmFtZQotUHlDYXBzdWxlX1NldFBvaW50ZXIKLVB5Q2Fwc3VsZV9UeXBlCi1QeUNsYXNzTWV0aG9kRGVzY3JfVHlwZQotUHlDb2RlY19CYWNrc2xhc2hSZXBsYWNlRXJyb3JzCi1QeUNvZGVjX0RlY29kZQotUHlDb2RlY19EZWNvZGVyCi1QeUNvZGVjX0VuY29kZQotUHlDb2RlY19FbmNvZGVyCi1QeUNvZGVjX0lnbm9yZUVycm9ycwotUHlDb2RlY19JbmNyZW1lbnRhbERlY29kZXIKLVB5Q29kZWNfSW5jcmVtZW50YWxFbmNvZGVyCi1QeUNvZGVjX0tub3duRW5jb2RpbmcKLVB5Q29kZWNfTG9va3VwRXJyb3IKLVB5Q29kZWNfUmVnaXN0ZXIKLVB5Q29kZWNfUmVnaXN0ZXJFcnJvcgotUHlDb2RlY19SZXBsYWNlRXJyb3JzCi1QeUNvZGVjX1N0cmVhbVJlYWRlcgotUHlDb2RlY19TdHJlYW1Xcml0ZXIKLVB5Q29kZWNfU3RyaWN0RXJyb3JzCi1QeUNvZGVjX1hNTENoYXJSZWZSZXBsYWNlRXJyb3JzCi1QeUNvbXBsZXhfRnJvbURvdWJsZXMKLVB5Q29tcGxleF9JbWFnQXNEb3VibGUKLVB5Q29tcGxleF9SZWFsQXNEb3VibGUKLVB5Q29tcGxleF9UeXBlCi1QeURlc2NyX05ld0NsYXNzTWV0aG9kCi1QeURlc2NyX05ld0dldFNldAotUHlEZXNjcl9OZXdNZW1iZXIKLVB5RGVzY3JfTmV3TWV0aG9kCi1QeURpY3RJdGVtc19UeXBlCi1QeURpY3RJdGVySXRlbV9UeXBlCi1QeURpY3RJdGVyS2V5X1R5cGUKLVB5RGljdEl0ZXJWYWx1ZV9UeXBlCi1QeURpY3RLZXlzX1R5cGUKLVB5RGljdFByb3h5X05ldwotUHlEaWN0UHJveHlfVHlwZQotUHlEaWN0VmFsdWVzX1R5cGUKLVB5RGljdF9DbGVhcgotUHlEaWN0X0NvbnRhaW5zCi1QeURpY3RfQ29weQotUHlEaWN0X0RlbEl0ZW0KLVB5RGljdF9EZWxJdGVtU3RyaW5nCi1QeURpY3RfR2V0SXRlbQotUHlEaWN0X0dldEl0ZW1TdHJpbmcKLVB5RGljdF9HZXRJdGVtV2l0aEVycm9yCi1QeURpY3RfSXRlbXMKLVB5RGljdF9LZXlzCi1QeURpY3RfTWVyZ2UKLVB5RGljdF9NZXJnZUZyb21TZXEyCi1QeURpY3RfTmV3Ci1QeURpY3RfTmV4dAotUHlEaWN0X1NldEl0ZW0KLVB5RGljdF9TZXRJdGVtU3RyaW5nCi1QeURpY3RfU2l6ZQotUHlEaWN0X1R5cGUKLVB5RGljdF9VcGRhdGUKLVB5RGljdF9WYWx1ZXMKLVB5RWxsaXBzaXNfVHlwZQotUHlFbnVtX1R5cGUKLVB5RXJyX0JhZEFyZ3VtZW50Ci1QeUVycl9CYWRJbnRlcm5hbENhbGwKLVB5RXJyX0NoZWNrU2lnbmFscwotUHlFcnJfQ2xlYXIKLVB5RXJyX0Rpc3BsYXkKLVB5RXJyX0V4Y2VwdGlvbk1hdGNoZXMKLVB5RXJyX0ZldGNoCi1QeUVycl9Gb3JtYXQKLVB5RXJyX0dpdmVuRXhjZXB0aW9uTWF0Y2hlcwotUHlFcnJfTmV3RXhjZXB0aW9uCi1QeUVycl9OZXdFeGNlcHRpb25XaXRoRG9jCi1QeUVycl9Ob01lbW9yeQotUHlFcnJfTm9ybWFsaXplRXhjZXB0aW9uCi1QeUVycl9PY2N1cnJlZAotUHlFcnJfUHJpbnQKLVB5RXJyX1ByaW50RXgKLVB5RXJyX1Byb2dyYW1UZXh0Ci1QeUVycl9SZXN0b3JlCi1QeUVycl9TZXRGcm9tRXJybm8KLVB5RXJyX1NldEZyb21FcnJub1dpdGhGaWxlbmFtZQotUHlFcnJfU2V0RnJvbUVycm5vV2l0aEZpbGVuYW1lT2JqZWN0Ci1QeUVycl9TZXRJbnRlcnJ1cHQKLVB5RXJyX1NldE5vbmUKLVB5RXJyX1NldE9iamVjdAotUHlFcnJfU2V0U3RyaW5nCi1QeUVycl9TeW50YXhMb2NhdGlvbgotUHlFcnJfV2FybkV4Ci1QeUVycl9XYXJuRXhwbGljaXQKLVB5RXJyX1dhcm5Gb3JtYXQKLVB5RXJyX1dyaXRlVW5yYWlzYWJsZQotUHlFdmFsX0FjcXVpcmVMb2NrCi1QeUV2YWxfQWNxdWlyZVRocmVhZAotUHlFdmFsX0NhbGxGdW5jdGlvbgotUHlFdmFsX0NhbGxNZXRob2QKLVB5RXZhbF9DYWxsT2JqZWN0V2l0aEtleXdvcmRzCi1QeUV2YWxfRXZhbENvZGUKLVB5RXZhbF9FdmFsQ29kZUV4Ci1QeUV2YWxfRXZhbEZyYW1lCi1QeUV2YWxfRXZhbEZyYW1lRXgKLVB5RXZhbF9HZXRCdWlsdGlucwotUHlFdmFsX0dldENhbGxTdGF0cwotUHlFdmFsX0dldEZyYW1lCi1QeUV2YWxfR2V0RnVuY0Rlc2MKLVB5RXZhbF9HZXRGdW5jTmFtZQotUHlFdmFsX0dldEdsb2JhbHMKLVB5RXZhbF9HZXRMb2NhbHMKLVB5RXZhbF9Jbml0VGhyZWFkcwotUHlFdmFsX1JlSW5pdFRocmVhZHMKLVB5RXZhbF9SZWxlYXNlTG9jawotUHlFdmFsX1JlbGVhc2VUaHJlYWQKLVB5RXZhbF9SZXN0b3JlVGhyZWFkCi1QeUV2YWxfU2F2ZVRocmVhZAotUHlFdmFsX1RocmVhZHNJbml0aWFsaXplZAotUHlFeGNfQXJpdGhtZXRpY0Vycm9yCi1QeUV4Y19Bc3NlcnRpb25FcnJvcgotUHlFeGNfQXR0cmlidXRlRXJyb3IKLVB5RXhjX0Jhc2VFeGNlcHRpb24KLVB5RXhjX0J1ZmZlckVycm9yCi1QeUV4Y19CeXRlc1dhcm5pbmcKLVB5RXhjX0RlcHJlY2F0aW9uV2FybmluZwotUHlFeGNfRU9GRXJyb3IKLVB5RXhjX0Vudmlyb25tZW50RXJyb3IKLVB5RXhjX0V4Y2VwdGlvbgotUHlFeGNfRmxvYXRpbmdQb2ludEVycm9yCi1QeUV4Y19GdXR1cmVXYXJuaW5nCi1QeUV4Y19HZW5lcmF0b3JFeGl0Ci1QeUV4Y19JT0Vycm9yCi1QeUV4Y19JbXBvcnRFcnJvcgotUHlFeGNfSW1wb3J0V2FybmluZwotUHlFeGNfSW5kZW50YXRpb25FcnJvcgotUHlFeGNfSW5kZXhFcnJvcgotUHlFeGNfS2V5RXJyb3IKLVB5RXhjX0tleWJvYXJkSW50ZXJydXB0Ci1QeUV4Y19Mb29rdXBFcnJvcgotUHlFeGNfTWVtb3J5RXJyb3IKLVB5RXhjX01lbW9yeUVycm9ySW5zdAotUHlFeGNfTmFtZUVycm9yCi1QeUV4Y19Ob3RJbXBsZW1lbnRlZEVycm9yCi1QeUV4Y19PU0Vycm9yCi1QeUV4Y19PdmVyZmxvd0Vycm9yCi1QeUV4Y19QZW5kaW5nRGVwcmVjYXRpb25XYXJuaW5nCi1QeUV4Y19SZWN1cnNpb25FcnJvckluc3QKLVB5RXhjX1JlZmVyZW5jZUVycm9yCi1QeUV4Y19SdW50aW1lRXJyb3IKLVB5RXhjX1J1bnRpbWVXYXJuaW5nCi1QeUV4Y19TdG9wSXRlcmF0aW9uCi1QeUV4Y19TeW50YXhFcnJvcgotUHlFeGNfU3ludGF4V2FybmluZwotUHlFeGNfU3lzdGVtRXJyb3IKLVB5RXhjX1N5c3RlbUV4aXQKLVB5RXhjX1RhYkVycm9yCi1QeUV4Y19UeXBlRXJyb3IKLVB5RXhjX1VuYm91bmRMb2NhbEVycm9yCi1QeUV4Y19Vbmljb2RlRGVjb2RlRXJyb3IKLVB5RXhjX1VuaWNvZGVFbmNvZGVFcnJvcgotUHlFeGNfVW5pY29kZUVycm9yCi1QeUV4Y19Vbmljb2RlVHJhbnNsYXRlRXJyb3IKLVB5RXhjX1VuaWNvZGVXYXJuaW5nCi1QeUV4Y19Vc2VyV2FybmluZwotUHlFeGNfVmFsdWVFcnJvcgotUHlFeGNfV2FybmluZwotUHlFeGNfWmVyb0RpdmlzaW9uRXJyb3IKLVB5RXhjZXB0aW9uX0dldENhdXNlCi1QeUV4Y2VwdGlvbl9HZXRDb250ZXh0Ci1QeUV4Y2VwdGlvbl9HZXRUcmFjZWJhY2sKLVB5RXhjZXB0aW9uX1NldENhdXNlCi1QeUV4Y2VwdGlvbl9TZXRDb250ZXh0Ci1QeUV4Y2VwdGlvbl9TZXRUcmFjZWJhY2sKLVB5RmlsZV9Gcm9tRmQKLVB5RmlsZV9HZXRMaW5lCi1QeUZpbGVfV3JpdGVPYmplY3QKLVB5RmlsZV9Xcml0ZVN0cmluZwotUHlGaWx0ZXJfVHlwZQotUHlGbG9hdF9Bc0RvdWJsZQotUHlGbG9hdF9Gcm9tRG91YmxlCi1QeUZsb2F0X0Zyb21TdHJpbmcKLVB5RmxvYXRfR2V0SW5mbwotUHlGbG9hdF9HZXRNYXgKLVB5RmxvYXRfR2V0TWluCi1QeUZsb2F0X1R5cGUKLVB5RnJvemVuU2V0X05ldwotUHlGcm96ZW5TZXRfVHlwZQotUHlHQ19Db2xsZWN0Ci1QeUdJTFN0YXRlX0Vuc3VyZQotUHlHSUxTdGF0ZV9HZXRUaGlzVGhyZWFkU3RhdGUKLVB5R0lMU3RhdGVfUmVsZWFzZQotUHlHZXRTZXREZXNjcl9UeXBlCi1QeUltcG9ydF9BZGRNb2R1bGUKLVB5SW1wb3J0X0FwcGVuZEluaXR0YWIKLVB5SW1wb3J0X0NsZWFudXAKLVB5SW1wb3J0X0V4ZWNDb2RlTW9kdWxlCi1QeUltcG9ydF9FeGVjQ29kZU1vZHVsZUV4Ci1QeUltcG9ydF9FeGVjQ29kZU1vZHVsZVdpdGhQYXRobmFtZXMKLVB5SW1wb3J0X0dldEltcG9ydGVyCi1QeUltcG9ydF9HZXRNYWdpY051bWJlcgotUHlJbXBvcnRfR2V0TWFnaWNUYWcKLVB5SW1wb3J0X0dldE1vZHVsZURpY3QKLVB5SW1wb3J0X0ltcG9ydAotUHlJbXBvcnRfSW1wb3J0RnJvemVuTW9kdWxlCi1QeUltcG9ydF9JbXBvcnRNb2R1bGUKLVB5SW1wb3J0X0ltcG9ydE1vZHVsZUxldmVsCi1QeUltcG9ydF9JbXBvcnRNb2R1bGVOb0Jsb2NrCi1QeUltcG9ydF9SZWxvYWRNb2R1bGUKLVB5SW50ZXJwcmV0ZXJTdGF0ZV9DbGVhcgotUHlJbnRlcnByZXRlclN0YXRlX0RlbGV0ZQotUHlJbnRlcnByZXRlclN0YXRlX05ldwotUHlJdGVyX05leHQKLVB5TGlzdEl0ZXJfVHlwZQotUHlMaXN0UmV2SXRlcl9UeXBlCi1QeUxpc3RfQXBwZW5kCi1QeUxpc3RfQXNUdXBsZQotUHlMaXN0X0dldEl0ZW0KLVB5TGlzdF9HZXRTbGljZQotUHlMaXN0X0luc2VydAotUHlMaXN0X05ldwotUHlMaXN0X1JldmVyc2UKLVB5TGlzdF9TZXRJdGVtCi1QeUxpc3RfU2V0U2xpY2UKLVB5TGlzdF9TaXplCi1QeUxpc3RfU29ydAotUHlMaXN0X1R5cGUKLVB5TG9uZ1JhbmdlSXRlcl9UeXBlCi1QeUxvbmdfQXNEb3VibGUKLVB5TG9uZ19Bc0xvbmcKLVB5TG9uZ19Bc0xvbmdBbmRPdmVyZmxvdwotUHlMb25nX0FzTG9uZ0xvbmcKLVB5TG9uZ19Bc0xvbmdMb25nQW5kT3ZlcmZsb3cKLVB5TG9uZ19Bc1NpemVfdAotUHlMb25nX0FzU3NpemVfdAotUHlMb25nX0FzVW5zaWduZWRMb25nCi1QeUxvbmdfQXNVbnNpZ25lZExvbmdMb25nCi1QeUxvbmdfQXNVbnNpZ25lZExvbmdMb25nTWFzawotUHlMb25nX0FzVW5zaWduZWRMb25nTWFzawotUHlMb25nX0FzVm9pZFB0cgotUHlMb25nX0Zyb21Eb3VibGUKLVB5TG9uZ19Gcm9tTG9uZwotUHlMb25nX0Zyb21Mb25nTG9uZwotUHlMb25nX0Zyb21TaXplX3QKLVB5TG9uZ19Gcm9tU3NpemVfdAotUHlMb25nX0Zyb21TdHJpbmcKLVB5TG9uZ19Gcm9tVW5zaWduZWRMb25nCi1QeUxvbmdfRnJvbVVuc2lnbmVkTG9uZ0xvbmcKLVB5TG9uZ19Gcm9tVm9pZFB0cgotUHlMb25nX0dldEluZm8KLVB5TG9uZ19UeXBlCi1QeU1hcF9UeXBlCi1QeU1hcHBpbmdfQ2hlY2sKLVB5TWFwcGluZ19HZXRJdGVtU3RyaW5nCi1QeU1hcHBpbmdfSGFzS2V5Ci1QeU1hcHBpbmdfSGFzS2V5U3RyaW5nCi1QeU1hcHBpbmdfSXRlbXMKLVB5TWFwcGluZ19LZXlzCi1QeU1hcHBpbmdfTGVuZ3RoCi1QeU1hcHBpbmdfU2V0SXRlbVN0cmluZwotUHlNYXBwaW5nX1NpemUKLVB5TWFwcGluZ19WYWx1ZXMKLVB5TWVtX0ZyZWUKLVB5TWVtX01hbGxvYwotUHlNZW1fUmVhbGxvYwotUHlNZW1iZXJEZXNjcl9UeXBlCi1QeU1lbW9yeVZpZXdfRnJvbU9iamVjdAotUHlNZW1vcnlWaWV3X0dldENvbnRpZ3VvdXMKLVB5TWVtb3J5Vmlld19UeXBlCi1QeU1ldGhvZERlc2NyX1R5cGUKLVB5TW9kdWxlX0FkZEludENvbnN0YW50Ci1QeU1vZHVsZV9BZGRPYmplY3QKLVB5TW9kdWxlX0FkZFN0cmluZ0NvbnN0YW50Ci1QeU1vZHVsZV9DcmVhdGUyCi1QeU1vZHVsZV9HZXREZWYKLVB5TW9kdWxlX0dldERpY3QKLVB5TW9kdWxlX0dldEZpbGVuYW1lCi1QeU1vZHVsZV9HZXRGaWxlbmFtZU9iamVjdAotUHlNb2R1bGVfR2V0TmFtZQotUHlNb2R1bGVfR2V0U3RhdGUKLVB5TW9kdWxlX05ldwotUHlNb2R1bGVfVHlwZQotUHlOdWxsSW1wb3J0ZXJfVHlwZQotUHlOdW1iZXJfQWJzb2x1dGUKLVB5TnVtYmVyX0FkZAotUHlOdW1iZXJfQW5kCi1QeU51bWJlcl9Bc1NzaXplX3QKLVB5TnVtYmVyX0NoZWNrCi1QeU51bWJlcl9EaXZtb2QKLVB5TnVtYmVyX0Zsb2F0Ci1QeU51bWJlcl9GbG9vckRpdmlkZQotUHlOdW1iZXJfSW5QbGFjZUFkZAotUHlOdW1iZXJfSW5QbGFjZUFuZAotUHlOdW1iZXJfSW5QbGFjZUZsb29yRGl2aWRlCi1QeU51bWJlcl9JblBsYWNlTHNoaWZ0Ci1QeU51bWJlcl9JblBsYWNlTXVsdGlwbHkKLVB5TnVtYmVyX0luUGxhY2VPcgotUHlOdW1iZXJfSW5QbGFjZVBvd2VyCi1QeU51bWJlcl9JblBsYWNlUmVtYWluZGVyCi1QeU51bWJlcl9JblBsYWNlUnNoaWZ0Ci1QeU51bWJlcl9JblBsYWNlU3VidHJhY3QKLVB5TnVtYmVyX0luUGxhY2VUcnVlRGl2aWRlCi1QeU51bWJlcl9JblBsYWNlWG9yCi1QeU51bWJlcl9JbmRleAotUHlOdW1iZXJfSW52ZXJ0Ci1QeU51bWJlcl9Mb25nCi1QeU51bWJlcl9Mc2hpZnQKLVB5TnVtYmVyX011bHRpcGx5Ci1QeU51bWJlcl9OZWdhdGl2ZQotUHlOdW1iZXJfT3IKLVB5TnVtYmVyX1Bvc2l0aXZlCi1QeU51bWJlcl9Qb3dlcgotUHlOdW1iZXJfUmVtYWluZGVyCi1QeU51bWJlcl9Sc2hpZnQKLVB5TnVtYmVyX1N1YnRyYWN0Ci1QeU51bWJlcl9Ub0Jhc2UKLVB5TnVtYmVyX1RydWVEaXZpZGUKLVB5TnVtYmVyX1hvcgotUHlPU19BZnRlckZvcmsKLVB5T1NfSW5pdEludGVycnVwdHMKLVB5T1NfSW5wdXRIb29rCi1QeU9TX0ludGVycnVwdE9jY3VycmVkCi1QeU9TX1JlYWRsaW5lRnVuY3Rpb25Qb2ludGVyCi1QeU9TX2RvdWJsZV90b19zdHJpbmcKLVB5T1NfZ2V0c2lnCi1QeU9TX215c3RyaWNtcAotUHlPU19teXN0cm5pY21wCi1QeU9TX3NldHNpZwotUHlPU19zbnByaW50ZgotUHlPU19zdHJpbmdfdG9fZG91YmxlCi1QeU9TX3N0cnRvbAotUHlPU19zdHJ0b3VsCi1QeU9TX3ZzbnByaW50ZgotUHlPYmplY3RfQVNDSUkKLVB5T2JqZWN0X0FzQ2hhckJ1ZmZlcgotUHlPYmplY3RfQXNGaWxlRGVzY3JpcHRvcgotUHlPYmplY3RfQXNSZWFkQnVmZmVyCi1QeU9iamVjdF9Bc1dyaXRlQnVmZmVyCi1QeU9iamVjdF9CeXRlcwotUHlPYmplY3RfQ2FsbAotUHlPYmplY3RfQ2FsbEZ1bmN0aW9uCi1QeU9iamVjdF9DYWxsRnVuY3Rpb25PYmpBcmdzCi1QeU9iamVjdF9DYWxsTWV0aG9kCi1QeU9iamVjdF9DYWxsTWV0aG9kT2JqQXJncwotUHlPYmplY3RfQ2FsbE9iamVjdAotUHlPYmplY3RfQ2hlY2tSZWFkQnVmZmVyCi1QeU9iamVjdF9DbGVhcldlYWtSZWZzCi1QeU9iamVjdF9EZWxJdGVtCi1QeU9iamVjdF9EZWxJdGVtU3RyaW5nCi1QeU9iamVjdF9EaXIKLVB5T2JqZWN0X0Zvcm1hdAotUHlPYmplY3RfRnJlZQotUHlPYmplY3RfR0NfRGVsCi1QeU9iamVjdF9HQ19UcmFjawotUHlPYmplY3RfR0NfVW5UcmFjawotUHlPYmplY3RfR2VuZXJpY0dldEF0dHIKLVB5T2JqZWN0X0dlbmVyaWNTZXRBdHRyCi1QeU9iamVjdF9HZXRBdHRyCi1QeU9iamVjdF9HZXRBdHRyU3RyaW5nCi1QeU9iamVjdF9HZXRJdGVtCi1QeU9iamVjdF9HZXRJdGVyCi1QeU9iamVjdF9IYXNBdHRyCi1QeU9iamVjdF9IYXNBdHRyU3RyaW5nCi1QeU9iamVjdF9IYXNoCi1QeU9iamVjdF9IYXNoTm90SW1wbGVtZW50ZWQKLVB5T2JqZWN0X0luaXQKLVB5T2JqZWN0X0luaXRWYXIKLVB5T2JqZWN0X0lzSW5zdGFuY2UKLVB5T2JqZWN0X0lzU3ViY2xhc3MKLVB5T2JqZWN0X0lzVHJ1ZQotUHlPYmplY3RfTGVuZ3RoCi1QeU9iamVjdF9NYWxsb2MKLVB5T2JqZWN0X05vdAotUHlPYmplY3RfUmVhbGxvYwotUHlPYmplY3RfUmVwcgotUHlPYmplY3RfUmljaENvbXBhcmUKLVB5T2JqZWN0X1JpY2hDb21wYXJlQm9vbAotUHlPYmplY3RfU2VsZkl0ZXIKLVB5T2JqZWN0X1NldEF0dHIKLVB5T2JqZWN0X1NldEF0dHJTdHJpbmcKLVB5T2JqZWN0X1NldEl0ZW0KLVB5T2JqZWN0X1NpemUKLVB5T2JqZWN0X1N0cgotUHlPYmplY3RfVHlwZQotUHlQYXJzZXJfU2ltcGxlUGFyc2VGaWxlRmxhZ3MKLVB5UGFyc2VyX1NpbXBsZVBhcnNlU3RyaW5nRmxhZ3MKLVB5UHJvcGVydHlfVHlwZQotUHlSYW5nZUl0ZXJfVHlwZQotUHlSYW5nZV9UeXBlCi1QeVJldmVyc2VkX1R5cGUKLVB5U2VxSXRlcl9OZXcKLVB5U2VxSXRlcl9UeXBlCi1QeVNlcXVlbmNlX0NoZWNrCi1QeVNlcXVlbmNlX0NvbmNhdAotUHlTZXF1ZW5jZV9Db250YWlucwotUHlTZXF1ZW5jZV9Db3VudAotUHlTZXF1ZW5jZV9EZWxJdGVtCi1QeVNlcXVlbmNlX0RlbFNsaWNlCi1QeVNlcXVlbmNlX0Zhc3QKLVB5U2VxdWVuY2VfR2V0SXRlbQotUHlTZXF1ZW5jZV9HZXRTbGljZQotUHlTZXF1ZW5jZV9JbgotUHlTZXF1ZW5jZV9JblBsYWNlQ29uY2F0Ci1QeVNlcXVlbmNlX0luUGxhY2VSZXBlYXQKLVB5U2VxdWVuY2VfSW5kZXgKLVB5U2VxdWVuY2VfTGVuZ3RoCi1QeVNlcXVlbmNlX0xpc3QKLVB5U2VxdWVuY2VfUmVwZWF0Ci1QeVNlcXVlbmNlX1NldEl0ZW0KLVB5U2VxdWVuY2VfU2V0U2xpY2UKLVB5U2VxdWVuY2VfU2l6ZQotUHlTZXF1ZW5jZV9UdXBsZQotUHlTZXRJdGVyX1R5cGUKLVB5U2V0X0FkZAotUHlTZXRfQ2xlYXIKLVB5U2V0X0NvbnRhaW5zCi1QeVNldF9EaXNjYXJkCi1QeVNldF9OZXcKLVB5U2V0X1BvcAotUHlTZXRfU2l6ZQotUHlTZXRfVHlwZQotUHlTbGljZV9HZXRJbmRpY2VzCi1QeVNsaWNlX0dldEluZGljZXNFeAotUHlTbGljZV9OZXcKLVB5U2xpY2VfVHlwZQotUHlTb3J0V3JhcHBlcl9UeXBlCi1QeVN0YXRlX0ZpbmRNb2R1bGUKLVB5U3RhdGVfQWRkTW9kdWxlCi1QeVN0YXRlX1JlbW92ZU1vZHVsZQotUHlTdHJ1Y3RTZXF1ZW5jZV9HZXRJdGVtCi1QeVN0cnVjdFNlcXVlbmNlX05ldwotUHlTdHJ1Y3RTZXF1ZW5jZV9OZXdUeXBlCi1QeVN0cnVjdFNlcXVlbmNlX1NldEl0ZW0KLVB5U3VwZXJfVHlwZQotUHlTeXNfQWRkV2Fybk9wdGlvbgotUHlTeXNfQWRkV2Fybk9wdGlvblVuaWNvZGUKLVB5U3lzX0Zvcm1hdFN0ZGVycgotUHlTeXNfRm9ybWF0U3Rkb3V0Ci1QeVN5c19HZXRPYmplY3QKLVB5U3lzX0hhc1dhcm5PcHRpb25zCi1QeVN5c19SZXNldFdhcm5PcHRpb25zCi1QeVN5c19TZXRBcmd2Ci1QeVN5c19TZXRBcmd2RXgKLVB5U3lzX1NldE9iamVjdAotUHlTeXNfU2V0UGF0aAotUHlTeXNfV3JpdGVTdGRlcnIKLVB5U3lzX1dyaXRlU3Rkb3V0Ci1QeVRocmVhZFN0YXRlX0NsZWFyCi1QeVRocmVhZFN0YXRlX0RlbGV0ZQotUHlUaHJlYWRTdGF0ZV9EZWxldGVDdXJyZW50Ci1QeVRocmVhZFN0YXRlX0dldAotUHlUaHJlYWRTdGF0ZV9HZXREaWN0Ci1QeVRocmVhZFN0YXRlX05ldwotUHlUaHJlYWRTdGF0ZV9TZXRBc3luY0V4YwotUHlUaHJlYWRTdGF0ZV9Td2FwCi1QeVRyYWNlQmFja19IZXJlCi1QeVRyYWNlQmFja19QcmludAotUHlUcmFjZUJhY2tfVHlwZQotUHlUdXBsZUl0ZXJfVHlwZQotUHlUdXBsZV9DbGVhckZyZWVMaXN0Ci1QeVR1cGxlX0dldEl0ZW0KLVB5VHVwbGVfR2V0U2xpY2UKLVB5VHVwbGVfTmV3Ci1QeVR1cGxlX1BhY2sKLVB5VHVwbGVfU2V0SXRlbQotUHlUdXBsZV9TaXplCi1QeVR1cGxlX1R5cGUKLVB5VHlwZV9DbGVhckNhY2hlCi1QeVR5cGVfRnJvbVNwZWMKLVB5VHlwZV9Gcm9tU3BlY1dpdGhCYXNlcwotUHlUeXBlX0dlbmVyaWNBbGxvYwotUHlUeXBlX0dlbmVyaWNOZXcKLVB5VHlwZV9HZXRGbGFncwotUHlUeXBlX0dldFNsb3QKLVB5VHlwZV9Jc1N1YnR5cGUKLVB5VHlwZV9Nb2RpZmllZAotUHlUeXBlX1JlYWR5Ci1QeVR5cGVfVHlwZQotUHlVbmljb2RlRGVjb2RlRXJyb3JfQ3JlYXRlCi1QeVVuaWNvZGVEZWNvZGVFcnJvcl9HZXRFbmNvZGluZwotUHlVbmljb2RlRGVjb2RlRXJyb3JfR2V0RW5kCi1QeVVuaWNvZGVEZWNvZGVFcnJvcl9HZXRPYmplY3QKLVB5VW5pY29kZURlY29kZUVycm9yX0dldFJlYXNvbgotUHlVbmljb2RlRGVjb2RlRXJyb3JfR2V0U3RhcnQKLVB5VW5pY29kZURlY29kZUVycm9yX1NldEVuZAotUHlVbmljb2RlRGVjb2RlRXJyb3JfU2V0UmVhc29uCi1QeVVuaWNvZGVEZWNvZGVFcnJvcl9TZXRTdGFydAotUHlVbmljb2RlRW5jb2RlRXJyb3JfR2V0RW5jb2RpbmcKLVB5VW5pY29kZUVuY29kZUVycm9yX0dldEVuZAotUHlVbmljb2RlRW5jb2RlRXJyb3JfR2V0T2JqZWN0Ci1QeVVuaWNvZGVFbmNvZGVFcnJvcl9HZXRSZWFzb24KLVB5VW5pY29kZUVuY29kZUVycm9yX0dldFN0YXJ0Ci1QeVVuaWNvZGVFbmNvZGVFcnJvcl9TZXRFbmQKLVB5VW5pY29kZUVuY29kZUVycm9yX1NldFJlYXNvbgotUHlVbmljb2RlRW5jb2RlRXJyb3JfU2V0U3RhcnQKLVB5VW5pY29kZUl0ZXJfVHlwZQotUHlVbmljb2RlVHJhbnNsYXRlRXJyb3JfR2V0RW5kCi1QeVVuaWNvZGVUcmFuc2xhdGVFcnJvcl9HZXRPYmplY3QKLVB5VW5pY29kZVRyYW5zbGF0ZUVycm9yX0dldFJlYXNvbgotUHlVbmljb2RlVHJhbnNsYXRlRXJyb3JfR2V0U3RhcnQKLVB5VW5pY29kZVRyYW5zbGF0ZUVycm9yX1NldEVuZAotUHlVbmljb2RlVHJhbnNsYXRlRXJyb3JfU2V0UmVhc29uCi1QeVVuaWNvZGVUcmFuc2xhdGVFcnJvcl9TZXRTdGFydAotUHlVbmljb2RlX0FwcGVuZAotUHlVbmljb2RlX0FwcGVuZEFuZERlbAotUHlVbmljb2RlX0FzQVNDSUlTdHJpbmcKLVB5VW5pY29kZV9Bc0NoYXJtYXBTdHJpbmcKLVB5VW5pY29kZV9Bc0RlY29kZWRPYmplY3QKLVB5VW5pY29kZV9Bc0RlY29kZWRVbmljb2RlCi1QeVVuaWNvZGVfQXNFbmNvZGVkT2JqZWN0Ci1QeVVuaWNvZGVfQXNFbmNvZGVkU3RyaW5nCi1QeVVuaWNvZGVfQXNFbmNvZGVkVW5pY29kZQotUHlVbmljb2RlX0FzTGF0aW4xU3RyaW5nCi1QeVVuaWNvZGVfQXNSYXdVbmljb2RlRXNjYXBlU3RyaW5nCi1QeVVuaWNvZGVfQXNVVEYxNlN0cmluZwotUHlVbmljb2RlX0FzVVRGMzJTdHJpbmcKLVB5VW5pY29kZV9Bc1VURjhTdHJpbmcKLVB5VW5pY29kZV9Bc1VuaWNvZGVFc2NhcGVTdHJpbmcKLVB5VW5pY29kZV9Bc1dpZGVDaGFyCi1QeVVuaWNvZGVfQ2xlYXJGcmVlbGlzdAotUHlVbmljb2RlX0NvbXBhcmUKLVB5VW5pY29kZV9Db25jYXQKLVB5VW5pY29kZV9Db250YWlucwotUHlVbmljb2RlX0NvdW50Ci1QeVVuaWNvZGVfRGVjb2RlCi1QeVVuaWNvZGVfRGVjb2RlQVNDSUkKLVB5VW5pY29kZV9EZWNvZGVDaGFybWFwCi1QeVVuaWNvZGVfRGVjb2RlRlNEZWZhdWx0Ci1QeVVuaWNvZGVfRGVjb2RlRlNEZWZhdWx0QW5kU2l6ZQotUHlVbmljb2RlX0RlY29kZUxhdGluMQotUHlVbmljb2RlX0RlY29kZVJhd1VuaWNvZGVFc2NhcGUKLVB5VW5pY29kZV9EZWNvZGVVVEYxNgotUHlVbmljb2RlX0RlY29kZVVURjE2U3RhdGVmdWwKLVB5VW5pY29kZV9EZWNvZGVVVEYzMgotUHlVbmljb2RlX0RlY29kZVVURjMyU3RhdGVmdWwKLVB5VW5pY29kZV9EZWNvZGVVVEY4Ci1QeVVuaWNvZGVfRGVjb2RlVVRGOFN0YXRlZnVsCi1QeVVuaWNvZGVfRGVjb2RlVW5pY29kZUVzY2FwZQotUHlVbmljb2RlX0ZTQ29udmVydGVyCi1QeVVuaWNvZGVfRlNEZWNvZGVyCi1QeVVuaWNvZGVfRmluZAotUHlVbmljb2RlX0Zvcm1hdAotUHlVbmljb2RlX0Zyb21FbmNvZGVkT2JqZWN0Ci1QeVVuaWNvZGVfRnJvbUZvcm1hdAotUHlVbmljb2RlX0Zyb21Gb3JtYXRWCi1QeVVuaWNvZGVfRnJvbU9iamVjdAotUHlVbmljb2RlX0Zyb21PcmRpbmFsCi1QeVVuaWNvZGVfRnJvbVN0cmluZwotUHlVbmljb2RlX0Zyb21TdHJpbmdBbmRTaXplCi1QeVVuaWNvZGVfRnJvbVdpZGVDaGFyCi1QeVVuaWNvZGVfR2V0RGVmYXVsdEVuY29kaW5nCi1QeVVuaWNvZGVfR2V0U2l6ZQotUHlVbmljb2RlX0lzSWRlbnRpZmllcgotUHlVbmljb2RlX0pvaW4KLVB5VW5pY29kZV9QYXJ0aXRpb24KLVB5VW5pY29kZV9SUGFydGl0aW9uCi1QeVVuaWNvZGVfUlNwbGl0Ci1QeVVuaWNvZGVfUmVwbGFjZQotUHlVbmljb2RlX1Jlc2l6ZQotUHlVbmljb2RlX1JpY2hDb21wYXJlCi1QeVVuaWNvZGVfU2V0RGVmYXVsdEVuY29kaW5nCi1QeVVuaWNvZGVfU3BsaXQKLVB5VW5pY29kZV9TcGxpdGxpbmVzCi1QeVVuaWNvZGVfVGFpbG1hdGNoCi1QeVVuaWNvZGVfVHJhbnNsYXRlCi1QeVVuaWNvZGVfQnVpbGRFbmNvZGluZ01hcAotUHlVbmljb2RlX0NvbXBhcmVXaXRoQVNDSUlTdHJpbmcKLVB5VW5pY29kZV9EZWNvZGVVVEY3Ci1QeVVuaWNvZGVfRGVjb2RlVVRGN1N0YXRlZnVsCi1QeVVuaWNvZGVfRW5jb2RlRlNEZWZhdWx0Ci1QeVVuaWNvZGVfSW50ZXJuRnJvbVN0cmluZwotUHlVbmljb2RlX0ludGVybkltbW9ydGFsCi1QeVVuaWNvZGVfSW50ZXJuSW5QbGFjZQotUHlVbmljb2RlX1R5cGUKLVB5V2Vha3JlZl9HZXRPYmplY3QKLVB5V2Vha3JlZl9OZXdQcm94eQotUHlXZWFrcmVmX05ld1JlZgotUHlXcmFwcGVyRGVzY3JfVHlwZQotUHlXcmFwcGVyX05ldwotUHlaaXBfVHlwZQotUHlfQWRkUGVuZGluZ0NhbGwKLVB5X0F0RXhpdAotUHlfQnVpbGRWYWx1ZQotUHlfQ29tcGlsZVN0cmluZwotUHlfRGVjUmVmCi1QeV9FbmRJbnRlcnByZXRlcgotUHlfRXhpdAotUHlfRmF0YWxFcnJvcgotUHlfRmlsZVN5c3RlbURlZmF1bHRFbmNvZGluZwotUHlfRmluYWxpemUKLVB5X0dldEJ1aWxkSW5mbwotUHlfR2V0Q29tcGlsZXIKLVB5X0dldENvcHlyaWdodAotUHlfR2V0RXhlY1ByZWZpeAotUHlfR2V0UGF0aAotUHlfR2V0UGxhdGZvcm0KLVB5X0dldFByZWZpeAotUHlfR2V0UHJvZ3JhbUZ1bGxQYXRoCi1QeV9HZXRQcm9ncmFtTmFtZQotUHlfR2V0UHl0aG9uSG9tZQotUHlfR2V0UmVjdXJzaW9uTGltaXQKLVB5X0dldFZlcnNpb24KLVB5X0hhc0ZpbGVTeXN0ZW1EZWZhdWx0RW5jb2RpbmcKLVB5X0luY1JlZgotUHlfSW5pdGlhbGl6ZQotUHlfSW5pdGlhbGl6ZUV4Ci1QeV9Jc0luaXRpYWxpemVkCi1QeV9NYWluCi1QeV9NYWtlUGVuZGluZ0NhbGxzCi1QeV9OZXdJbnRlcnByZXRlcgotUHlfUmVwckVudGVyCi1QeV9SZXByTGVhdmUKLVB5X1NldFByb2dyYW1OYW1lCi1QeV9TZXRQeXRob25Ib21lCi1QeV9TZXRSZWN1cnNpb25MaW1pdAotUHlfU3ltdGFibGVTdHJpbmcKLVB5X1ZhQnVpbGRWYWx1ZQotX1B5RXJyX0JhZEludGVybmFsQ2FsbAotX1B5T2JqZWN0X0NhbGxGdW5jdGlvbl9TaXplVAotX1B5T2JqZWN0X0NhbGxNZXRob2RfU2l6ZVQKLV9QeU9iamVjdF9HQ19NYWxsb2MKLV9QeU9iamVjdF9HQ19OZXcKLV9QeU9iamVjdF9HQ19OZXdWYXIKLV9QeU9iamVjdF9HQ19SZXNpemUKLV9QeU9iamVjdF9OZXcKLV9QeU9iamVjdF9OZXdWYXIKLV9QeVN0YXRlX0FkZE1vZHVsZQotX1B5VGhyZWFkU3RhdGVfSW5pdAotX1B5VGhyZWFkU3RhdGVfUHJlYWxsb2MKLV9QeVRyYXNoX2RlbGV0ZV9sYXRlcgotX1B5VHJhc2hfZGVsZXRlX25lc3RpbmcKLV9QeVRyYXNoX2RlcG9zaXRfb2JqZWN0Ci1fUHlUcmFzaF9kZXN0cm95X2NoYWluCi1fUHlXZWFrcmVmX0NhbGxhYmxlUHJveHlUeXBlCi1fUHlXZWFrcmVmX1Byb3h5VHlwZQotX1B5V2Vha3JlZl9SZWZUeXBlCi1fUHlfQnVpbGRWYWx1ZV9TaXplVAotX1B5X0NoZWNrUmVjdXJzaW9uTGltaXQKLV9QeV9DaGVja1JlY3Vyc2l2ZUNhbGwKLV9QeV9EZWFsbG9jCi1fUHlfRWxsaXBzaXNPYmplY3QKLV9QeV9GYWxzZVN0cnVjdAotX1B5X05vbmVTdHJ1Y3QKLV9QeV9Ob3RJbXBsZW1lbnRlZFN0cnVjdAotX1B5X1N3YXBwZWRPcAotX1B5X1RydWVTdHJ1Y3QKLV9QeV9WYUJ1aWxkVmFsdWVfU2l6ZVQKLV9QeUFyZ19QYXJzZV9TaXplVAotX1B5QXJnX1BhcnNlVHVwbGVfU2l6ZVQKLV9QeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHNfU2l6ZVQKLV9QeUFyZ19WYVBhcnNlX1NpemVUCi1fUHlBcmdfVmFQYXJzZVR1cGxlQW5kS2V5d29yZHNfU2l6ZVQKLV9QeV9CdWlsZFZhbHVlX1NpemVUCmRpZmYgLS1naXQgYS9QQy9weXRob25fZXhlLnJjIGIvUEMvcHl0aG9uX2V4ZS5yYwppbmRleCAxNGUyNTc0Li45MTc4NWExIDEwMDY0NAotLS0gYS9QQy9weXRob25fZXhlLnJjCisrKyBiL1BDL3B5dGhvbl9leGUucmMKQEAgLTEgKzEsNDkgQEAKLTEgICAgICAgICAgIElDT04gICAgRElTQ0FSREFCTEUgICAgICJweWNvbi5pY28iIAorLy8gUmVzb3VyY2Ugc2NyaXB0IGZvciBQeXRob24gY29uc29sZSBFWEVzLgorCisjaW5jbHVkZSAicHl0aG9uX3Zlcl9yYy5oIgorCisvLyBJbmNsdWRlIHRoZSBtYW5pZmVzdCBmaWxlIHRoYXQgaW5kaWNhdGVzIHdlIHN1cHBvcnQgYWxsCisvLyBjdXJyZW50IHZlcnNpb25zIG9mIFdpbmRvd3MuCisjaW5jbHVkZSA8d2ludXNlci5oPgorMSBSVF9NQU5JRkVTVCAicHl0aG9uLm1hbmlmZXN0IgorCisxIElDT04gRElTQ0FSREFCTEUgInB5Y29uLmljbyIgCisKKworLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKy8vCisvLyBWZXJzaW9uCisvLworCitWU19WRVJTSU9OX0lORk8gVkVSU0lPTklORk8KKyBGSUxFVkVSU0lPTiBQWVZFUlNJT042NAorIFBST0RVQ1RWRVJTSU9OIFBZVkVSU0lPTjY0CisgRklMRUZMQUdTTUFTSyAweDNmTAorI2lmZGVmIF9ERUJVRworIEZJTEVGTEFHUyBWU19GRl9ERUJVRworI2Vsc2UKKyBGSUxFRkxBR1MgMHgwTAorI2VuZGlmCisgRklMRU9TIFZPU19fV0lORE9XUzMyCisgRklMRVRZUEUgVkZUX0FQUAorIEZJTEVTVUJUWVBFIDB4MEwKK0JFR0lOCisgICAgQkxPQ0sgIlN0cmluZ0ZpbGVJbmZvIgorICAgIEJFR0lOCisgICAgICAgIEJMT0NLICIwMDAwMDRiMCIKKyAgICAgICAgQkVHSU4KKyAgICAgICAgICAgIFZBTFVFICJDb21wYW55TmFtZSIsIFBZVEhPTl9DT01QQU5ZICJcMCIKKyAgICAgICAgICAgIFZBTFVFICJGaWxlRGVzY3JpcHRpb24iLCAiUHl0aG9uXDAiCisgICAgICAgICAgICBWQUxVRSAiRmlsZVZlcnNpb24iLCBQWVRIT05fVkVSU0lPTgorICAgICAgICAgICAgVkFMVUUgIkludGVybmFsTmFtZSIsICJQeXRob24gQ29uc29sZVwwIgorICAgICAgICAgICAgVkFMVUUgIkxlZ2FsQ29weXJpZ2h0IiwgUFlUSE9OX0NPUFlSSUdIVCAiXDAiCisgICAgICAgICAgICBWQUxVRSAiT3JpZ2luYWxGaWxlbmFtZSIsICJweXRob24iIFBZVEhPTl9ERUJVR19FWFQgIi5leGVcMCIKKyAgICAgICAgICAgIFZBTFVFICJQcm9kdWN0TmFtZSIsICJQeXRob25cMCIKKyAgICAgICAgICAgIFZBTFVFICJQcm9kdWN0VmVyc2lvbiIsIFBZVEhPTl9WRVJTSU9OCisgICAgICAgIEVORAorICAgIEVORAorICAgIEJMT0NLICJWYXJGaWxlSW5mbyIKKyAgICBCRUdJTgorICAgICAgICBWQUxVRSAiVHJhbnNsYXRpb24iLCAweDAsIDEyMDAKKyAgICBFTkQKK0VORApkaWZmIC0tZ2l0IGEvUEMvcHl0aG9uX250LnJjIGIvUEMvcHl0aG9uX250LnJjCmluZGV4IGY4NWQ1MzkuLmZhYzYxMDUgMTAwNjQ0Ci0tLSBhL1BDL3B5dGhvbl9udC5yYworKysgYi9QQy9weXRob25fbnQucmMKQEAgLTEsMzMgKzEsMTEgQEAKIC8vIFJlc291cmNlIHNjcmlwdCBmb3IgUHl0aG9uIGNvcmUgRExMLgotLy8gQ3VycmVudGx5IG9ubHkgaG9sZHMgdmVyc2lvbiBpbmZvcm1hdGlvbi4KLS8vCi0jaW5jbHVkZSAid2ludmVyLmgiCiAKLSNkZWZpbmUgTVNfV0lORE9XUwotI2luY2x1ZGUgIm1vZHN1cHBvcnQuaCIKLSNpbmNsdWRlICJwYXRjaGxldmVsLmgiCi0jaWZkZWYgX0RFQlVHCi0jICAgaW5jbHVkZSAicHl0aG9ubnRfcmNfZC5oIgotI2Vsc2UKLSMgICBpbmNsdWRlICJweXRob25udF9yYy5oIgotI2VuZGlmCisjaW5jbHVkZSAicHl0aG9uX3Zlcl9yYy5oIgogCi0vKiBlLmcuLCAzLjMuMGExCi0gKiBQWV9WRVJTSU9OIGNvbWVzIGZyb20gcGF0Y2hldmVsLmgKLSAqLwotI2RlZmluZSBQWVRIT05fVkVSU0lPTiBQWV9WRVJTSU9OICJcMCIKLQotLyogNjQtYml0IHZlcnNpb24gbnVtYmVyIGFzIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIDQgMTYtYml0IGludHMgKi8KLSNpZiBQWV9NSUNST19WRVJTSU9OID4gNjQKLSMgICBlcnJvciAiUFlfTUlDUk9fVkVSU0lPTiA+IDY0IgotI2VuZGlmCi0jaWYgUFlfUkVMRUFTRV9MRVZFTCA+IDk5Ci0jICAgZXJyb3IgIlBZX1JFTEVBU0VfTEVWRUwgPiA5OSIKLSNlbmRpZgotI2lmIFBZX1JFTEVBU0VfU0VSSUFMID4gOQotIyAgIGVycm9yICJQWV9SRUxFQVNFX1NFUklBTCA+IDkiCi0jZW5kaWYKLSNkZWZpbmUgUFlWRVJTSU9ONjQgUFlfTUFKT1JfVkVSU0lPTiwgUFlfTUlOT1JfVkVSU0lPTiwgRklFTEQzLCBQWVRIT05fQVBJX1ZFUlNJT04KKy8vIEluY2x1ZGUgdGhlIG1hbmlmZXN0IGZpbGUgdGhhdCBpbmRpY2F0ZXMgd2Ugc3VwcG9ydCBhbGwKKy8vIGN1cnJlbnQgdmVyc2lvbnMgb2YgV2luZG93cy4KKyNpbmNsdWRlIDx3aW51c2VyLmg+CisyIFJUX01BTklGRVNUICJweXRob24ubWFuaWZlc3QiCiAKIC8vIFN0cmluZyBUYWJsZXMKIFNUUklOR1RBQkxFIERJU0NBUkRBQkxFCkBAIC00NSwyMyArMjMsMjMgQEAKICBQUk9EVUNUVkVSU0lPTiBQWVZFUlNJT042NAogIEZJTEVGTEFHU01BU0sgMHgzZkwKICNpZmRlZiBfREVCVUcKLSBGSUxFRkxBR1MgMHgxTAorIEZJTEVGTEFHUyBWU19GRl9ERUJVRwogI2Vsc2UKICBGSUxFRkxBR1MgMHgwTAogI2VuZGlmCi0gRklMRU9TIDB4NDAwMDRMCi0gRklMRVRZUEUgMHgxTAorIEZJTEVPUyBWT1NfX1dJTkRPV1MzMgorIEZJTEVUWVBFIFZGVF9ETEwKICBGSUxFU1VCVFlQRSAweDBMCiBCRUdJTgogICAgIEJMT0NLICJTdHJpbmdGaWxlSW5mbyIKICAgICBCRUdJTgogICAgICAgICBCTE9DSyAiMDAwMDA0YjAiCiAgICAgICAgIEJFR0lOCi0gICAgICAgICAgICBWQUxVRSAiQ29tcGFueU5hbWUiLCAiUHl0aG9uIFNvZnR3YXJlIEZvdW5kYXRpb25cMCIKKyAgICAgICAgICAgIFZBTFVFICJDb21wYW55TmFtZSIsIFBZVEhPTl9DT01QQU5ZICJcMCIKICAgICAgICAgICAgIFZBTFVFICJGaWxlRGVzY3JpcHRpb24iLCAiUHl0aG9uIENvcmVcMCIKICAgICAgICAgICAgIFZBTFVFICJGaWxlVmVyc2lvbiIsIFBZVEhPTl9WRVJTSU9OCiAgICAgICAgICAgICBWQUxVRSAiSW50ZXJuYWxOYW1lIiwgIlB5dGhvbiBETExcMCIKLSAgICAgICAgICAgIFZBTFVFICJMZWdhbENvcHlyaWdodCIsICJDb3B5cmlnaHQgqSAyMDAxLTIwMTUgUHl0aG9uIFNvZnR3YXJlIEZvdW5kYXRpb24uIENvcHlyaWdodCCpIDIwMDAgQmVPcGVuLmNvbS4gQ29weXJpZ2h0IKkgMTk5NS0yMDAxIENOUkkuIENvcHlyaWdodCCpIDE5OTEtMTk5NSBTTUMuXDAiCisgICAgICAgICAgICBWQUxVRSAiTGVnYWxDb3B5cmlnaHQiLCBQWVRIT05fQ09QWVJJR0hUICJcMCIKICAgICAgICAgICAgIFZBTFVFICJPcmlnaW5hbEZpbGVuYW1lIiwgUFlUSE9OX0RMTF9OQU1FICJcMCIKICAgICAgICAgICAgIFZBTFVFICJQcm9kdWN0TmFtZSIsICJQeXRob25cMCIKICAgICAgICAgICAgIFZBTFVFICJQcm9kdWN0VmVyc2lvbiIsIFBZVEhPTl9WRVJTSU9OCmRpZmYgLS1naXQgYS9QQy9weXRob25fdmVyX3JjLmggYi9QQy9weXRob25fdmVyX3JjLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODI3ZTliZQotLS0gL2Rldi9udWxsCisrKyBiL1BDL3B5dGhvbl92ZXJfcmMuaApAQCAtMCwwICsxLDM1IEBACisvLyBSZXNvdXJjZSBzY3JpcHQgZm9yIFB5dGhvbiBjb3JlIERMTC4KKy8vIEN1cnJlbnRseSBvbmx5IGhvbGRzIHZlcnNpb24gaW5mb3JtYXRpb24uCisvLworI2luY2x1ZGUgIndpbnZlci5oIgorCisjZGVmaW5lIFBZVEhPTl9DT01QQU5ZICAgIlB5dGhvbiBTb2Z0d2FyZSBGb3VuZGF0aW9uIgorI2RlZmluZSBQWVRIT05fQ09QWVJJR0hUICJDb3B5cmlnaHQgXHhBOSAyMDAxLTIwMTUgUHl0aG9uIFNvZnR3YXJlIEZvdW5kYXRpb24uIENvcHlyaWdodCBceEE5IDIwMDAgQmVPcGVuLmNvbS4gQ29weXJpZ2h0IFx4QTkgMTk5NS0yMDAxIENOUkkuIENvcHlyaWdodCBceEE5IDE5OTEtMTk5NSBTTUMuIgorCisjZGVmaW5lIE1TX1dJTkRPV1MKKyNpbmNsdWRlICJtb2RzdXBwb3J0LmgiCisjaW5jbHVkZSAicGF0Y2hsZXZlbC5oIgorI2lmZGVmIF9ERUJVRworIyAgIGluY2x1ZGUgInB5dGhvbm50X3JjX2QuaCIKKyMgICBkZWZpbmUgUFlUSE9OX0RFQlVHX0VYVCAiX2QiCisjZWxzZQorIyAgIGluY2x1ZGUgInB5dGhvbm50X3JjLmgiCisjICAgZGVmaW5lIFBZVEhPTl9ERUJVR19FWFQKKyNlbmRpZgorCisvKiBlLmcuLCAzLjMuMGExCisgKiBQWV9WRVJTSU9OIGNvbWVzIGZyb20gcGF0Y2hsZXZlbC5oCisgKi8KKyNkZWZpbmUgUFlUSE9OX1ZFUlNJT04gUFlfVkVSU0lPTiAiXDAiCisKKy8qIDY0LWJpdCB2ZXJzaW9uIG51bWJlciBhcyBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiA0IDE2LWJpdCBpbnRzICovCisjaWYgUFlfTUlDUk9fVkVSU0lPTiA+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+CmRpZmYgLS1naXQgYS9QQ2J1aWxkL19mcmVlemVfaW1wb3J0bGliLnZjeHByb2ogYi9QQ2J1aWxkL19mcmVlemVfaW1wb3J0bGliLnZjeHByb2oKaW5kZXggNTUxOTdhZi4uZjc3MTRjMCAxMDA2NDQKLS0tIGEvUENidWlsZC9fZnJlZXplX2ltcG9ydGxpYi52Y3hwcm9qCisrKyBiL1BDYnVpbGQvX2ZyZWV6ZV9pbXBvcnRsaWIudmN4cHJvagpAQCAtOSw2ICs5LDIyIEBACiAgICAgICA8Q29uZmlndXJhdGlvbj5EZWJ1ZzwvQ29uZmlndXJhdGlvbj4KICAgICAgIDxQbGF0Zm9ybT54NjQ8L1BsYXRmb3JtPgogICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+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+JChbU3lzdGVtLklPLkZpbGVdOjpSZWFkQWxsVGV4dCgnJChQeVNvdXJjZVBhdGgpUHl0aG9uXGltcG9ydGxpYi5oJykuUmVwbGFjZShgJiN4MEQ7JiN4MEE7YCwgYCYjeDBBO2ApKTwvX09sZENvbnRlbnQ+CisgICAgICA8X05ld0NvbnRlbnQgQ29uZGl0aW9uPSJFeGlzdHMoJyQoSW50RGlyKWltcG9ydGxpYi5nLmgnKSI+JChbU3lzdGVtLklPLkZpbGVdOjpSZWFkQWxsVGV4dCgnJChJbnREaXIpaW1wb3J0bGliLmcuaCcpLlJlcGxhY2UoYCYjeDBEOyYjeDBBO2AsIGAmI3gwQTtgKSk8L19OZXdDb250ZW50PgorICAgIDwvUHJvcGVydHlHcm91cD4KKyAgICAKKyAgICA8Q29weSBTb3VyY2VGaWxlcz0iJChJbnREaXIpaW1wb3J0bGliLmcuaCIKKyAgICAgICAgICBEZXN0aW5hdGlvbkZpbGVzPSIkKFB5U291cmNlUGF0aClQeXRob25caW1wb3J0bGliLmgiCisgICAgICAgICAgQ29uZGl0aW9uPSJFeGlzdHMoJyQoSW50RGlyKWltcG9ydGxpYi5nLmgnKSBhbmQgJyQoX09sZENvbnRlbnQpJyAhPSAnJChfTmV3Q29udGVudCknIiAvPgorICAgIAorICAgIDxXYXJuaW5nIFRleHQ9ImltcG9ydGxpYi5oIGhhcyBiZWVuIHVwZGF0ZWQuIFlvdSB3aWxsIG5lZWQgdG8gcmVidWlsZCBweXRob25jb3JlIHRvIHNlZSB0aGUgY2hhbmdlcy4iCisgICAgICAgICAgICAgQ29uZGl0aW9uPSJFeGlzdHMoJyQoSW50RGlyKWltcG9ydGxpYi5nLmgnKSBhbmQgJyQoX09sZENvbnRlbnQpJyAhPSAnJChfTmV3Q29udGVudCknIGFuZCAkKENvbmZpZ3VyYXRpb24pID09ICdEZWJ1ZyciIC8+CisgICAgPEVycm9yIFRleHQ9ImltcG9ydGxpYi5oIGhhcyBiZWVuIHVwZGF0ZWQuIFlvdSB3aWxsIG5lZWQgdG8gcmVidWlsZCBweXRob25jb3JlIHRvIHNlZSB0aGUgY2hhbmdlcy4iCisgICAgICAgICAgIENvbmRpdGlvbj0iRXhpc3RzKCckKEludERpcilpbXBvcnRsaWIuZy5oJykgYW5kICckKF9PbGRDb250ZW50KScgIT0gJyQoX05ld0NvbnRlbnQpJyBhbmQgJChDb25maWd1cmF0aW9uKSA9PSAnUmVsZWFzZSciIC8+CisgIDwvVGFyZ2V0PgorICA8VGFyZ2V0IE5hbWU9Il9DbGVhbkltcG9ydExpYiIgQmVmb3JlVGFyZ2V0cz0iQ29yZUNsZWFuIj4KKyAgICA8SXRlbUdyb3VwPgorICAgICAgPENsZWFuIEluY2x1ZGU9IiQoSW50RGlyKWltcG9ydGxpYi5nLmgiIC8+CisgICAgPC9JdGVtR3JvdXA+CisgIDwvVGFyZ2V0PgorPC9Qcm9qZWN0PgpkaWZmIC0tZ2l0IGEvUENidWlsZC9fZnJlZXplX2ltcG9ydGxpYi52Y3hwcm9qLmZpbHRlcnMgYi9QQ2J1aWxkL19mcmVlemVfaW1wb3J0bGliLnZjeHByb2ouZmlsdGVycwppbmRleCA1MGVjMTkzLi5jY2FkMDUzIDEwMDY0NAotLS0gYS9QQ2J1aWxkL19mcmVlemVfaW1wb3J0bGliLnZjeHByb2ouZmlsdGVycworKysgYi9QQ2J1aWxkL19mcmVlemVfaW1wb3J0bGliLnZjeHByb2ouZmlsdGVycwpAQCAtMTUsNyArMTUsNyBAQAogICAgIDwvRmlsdGVyPgogICA8L0l0ZW1Hcm91cD4KICAgPEl0ZW1Hcm91cD4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXE1vZHVsZXNcX2ZyZWV6ZV9pbXBvcnRsaWIuYyI+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxQcm9ncmFtc1xfZnJlZXplX2ltcG9ydGxpYi5jIj4KICAgICAgIDxGaWx0ZXI+U291cmNlIEZpbGVzPC9GaWx0ZXI+CiAgICAgPC9DbENvbXBpbGU+CiAgIDwvSXRlbUdyb3VwPgpAQCAtMjQsNCArMjQsNCBAQAogICAgICAgPEZpbHRlcj5Tb3VyY2UgRmlsZXM8L0ZpbHRlcj4KICAgICA8L05vbmU+CiAgIDwvSXRlbUdyb3VwPgotPC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzwvUHJvamVjdD4KZGlmZiAtLWdpdCBhL1BDYnVpbGQvX2hhc2hsaWIudmN4cHJvaiBiL1BDYnVpbGQvX2hhc2hsaWIudmN4cHJvagppbmRleCA1MjQzM2VkLi5kODJiMjY2IDEwMDY0NAotLS0gYS9QQ2J1aWxkL19oYXNobGliLnZjeHByb2oKKysrIGIvUENidWlsZC9faGFzaGxpYi52Y3hwcm9qCkBAIC0zOSwyMzkgKzM5LDQ3IEBACiAgICAgPFJvb3ROYW1lc3BhY2U+X2hhc2hsaWI8L1Jvb3ROYW1lc3BhY2U+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+CisgIDxJdGVtRGVmaW5pdGlvbkdyb3VwPgogICAgIDxDbENvbXBpbGU+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4kKG9wZW5zc2xEaXIpXGluYzMyOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+CisgICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4kKG9wZW5zc2xEaXIpaW5jbHVkZTslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgogICAgIDwvQ2xDb21waWxlPgotICAgIDxQcmVMaW5rRXZlbnQ+Ci0gICAgICA8Q29tbWFuZD4KLSAgICAgIDwvQ29tbWFuZD4KLSAgICA8L1ByZUxpbmtFdmVudD4KICAgICA8TGluaz4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPndzMl8zMi5saWI7JChvcGVuc3NsRGlyKVxvdXQzMlxsaWJlYXkzMi5saWI7JChvcGVuc3NsRGlyKVxvdXQzMlxzc2xlYXkzMi5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj4KLSAgICA8TWlkbD4KLSAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgotICAgIDwvTWlkbD4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+JChvcGVuc3NsRGlyKVxpbmM2NDslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxQcmVMaW5rRXZlbnQ+Ci0gICAgICA8Q29tbWFuZD4KLSAgICAgIDwvQ29tbWFuZD4KLSAgICA8L1ByZUxpbmtFdmVudD4KLSAgICA8TGluaz4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPndzMl8zMi5saWI7JChvcGVuc3NsRGlyKVxvdXQ2NFxsaWJlYXkzMi5saWI7JChvcGVuc3NsRGlyKVxvdXQ2NFxzc2xlYXkzMi5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPiQob3BlbnNzbERpcilcaW5jMzI7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8UHJlTGlua0V2ZW50PgotICAgICAgPENvbW1hbmQ+Ci0gICAgICA8L0NvbW1hbmQ+Ci0gICAgPC9QcmVMaW5rRXZlbnQ+Ci0gICAgPExpbms+Ci0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz53czJfMzIubGliOyQob3BlbnNzbERpcilcb3V0MzJcbGliZWF5MzIubGliOyQob3BlbnNzbERpcilcb3V0MzJcc3NsZWF5MzIubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj4KLSAgICA8TWlkbD4KLSAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgotICAgIDwvTWlkbD4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+JChvcGVuc3NsRGlyKVxpbmM2NDslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxQcmVMaW5rRXZlbnQ+Ci0gICAgICA8Q29tbWFuZD4KLSAgICAgIDwvQ29tbWFuZD4KLSAgICA8L1ByZUxpbmtFdmVudD4KLSAgICA8TGluaz4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPndzMl8zMi5saWI7JChvcGVuc3NsRGlyKVxvdXQ2NFxsaWJlYXkzMi5saWI7JChvcGVuc3NsRGlyKVxvdXQ2NFxzc2xlYXkzMi5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIj4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+JChvcGVuc3NsRGlyKVxpbmMzMjslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxQcmVMaW5rRXZlbnQ+Ci0gICAgICA8Q29tbWFuZD4KLSAgICAgIDwvQ29tbWFuZD4KLSAgICA8L1ByZUxpbmtFdmVudD4KLSAgICA8TGluaz4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPndzMl8zMi5saWI7JChvcGVuc3NsRGlyKVxvdXQzMlxsaWJlYXkzMi5saWI7JChvcGVuc3NsRGlyKVxvdXQzMlxzc2xlYXkzMi5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyI+Ci0gICAgPE1pZGw+Ci0gICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+WDY0PC9UYXJnZXRFbnZpcm9ubWVudD4KLSAgICA8L01pZGw+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPiQob3BlbnNzbERpcilcaW5jNjQ7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8UHJlTGlua0V2ZW50PgotICAgICAgPENvbW1hbmQ+Ci0gICAgICA8L0NvbW1hbmQ+Ci0gICAgPC9QcmVMaW5rRXZlbnQ+Ci0gICAgPExpbms+Ci0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz53czJfMzIubGliOyQob3BlbnNzbERpcilcb3V0NjRcbGliZWF5MzIubGliOyQob3BlbnNzbERpcilcb3V0NjRcc3NsZWF5MzIubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgICA8VGFyZ2V0TWFjaGluZT5NYWNoaW5lWDY0PC9UYXJnZXRNYWNoaW5lPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyI+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPiQob3BlbnNzbERpcilcaW5jMzI7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8UHJlTGlua0V2ZW50PgotICAgICAgPENvbW1hbmQ+Ci0gICAgICA8L0NvbW1hbmQ+Ci0gICAgPC9QcmVMaW5rRXZlbnQ+Ci0gICAgPExpbms+Ci0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz53czJfMzIubGliOyQob3BlbnNzbERpcilcb3V0MzJcbGliZWF5MzIubGliOyQob3BlbnNzbERpcilcb3V0MzJcc3NsZWF5MzIubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyI+Ci0gICAgPE1pZGw+Ci0gICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+WDY0PC9UYXJnZXRFbnZpcm9ubWVudD4KLSAgICA8L01pZGw+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPiQob3BlbnNzbERpcilcaW5jNjQ7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8UHJlTGlua0V2ZW50PgotICAgICAgPENvbW1hbmQ+Ci0gICAgICA8L0NvbW1hbmQ+Ci0gICAgPC9QcmVMaW5rRXZlbnQ+Ci0gICAgPExpbms+Ci0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz53czJfMzIubGliOyQob3BlbnNzbERpcilcb3V0NjRcbGliZWF5MzIubGliOyQob3BlbnNzbERpcilcb3V0NjRcc3NsZWF5MzIubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgICA8VGFyZ2V0TWFjaGluZT5NYWNoaW5lWDY0PC9UYXJnZXRNYWNoaW5lPgorICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+d3MyXzMyLmxpYjskKE91dERpcilsaWJlYXkkKFB5RGVidWdFeHQpLmxpYjskKE91dERpcilzc2xlYXkkKFB5RGVidWdFeHQpLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgogICAgIDwvTGluaz4KICAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgogICA8SXRlbUdyb3VwPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cTW9kdWxlc1xfaGFzaG9wZW5zc2wuYyIgLz4KICAgPC9JdGVtR3JvdXA+CiAgIDxJdGVtR3JvdXA+Ci0gICAgPFByb2plY3RSZWZlcmVuY2UgSW5jbHVkZT0icHl0aG9uLnZjeHByb2oiPgotICAgICAgPFByb2plY3Q+e2IxMWQ3NTBmLWNkMWYtNGE5Ni04NWNlLWU2OWE1YzUyNTlmOX08L1Byb2plY3Q+Ci0gICAgICA8UmVmZXJlbmNlT3V0cHV0QXNzZW1ibHk+ZmFsc2U8L1JlZmVyZW5jZU91dHB1dEFzc2VtYmx5PgotICAgIDwvUHJvamVjdFJlZmVyZW5jZT4KICAgICA8UHJvamVjdFJlZmVyZW5jZSBJbmNsdWRlPSJweXRob25jb3JlLnZjeHByb2oiPgogICAgICAgPFByb2plY3Q+e2NmN2FjM2QxLWUyZGYtNDFkMi1iZWE2LTFlMjU1NmNkZWEyNn08L1Byb2plY3Q+CiAgICAgICA8UmVmZXJlbmNlT3V0cHV0QXNzZW1ibHk+ZmFsc2U8L1JlZmVyZW5jZU91dHB1dEFzc2VtYmx5PgogICAgIDwvUHJvamVjdFJlZmVyZW5jZT4KLSAgICA8UHJvamVjdFJlZmVyZW5jZSBJbmNsdWRlPSJzc2wudmN4cHJvaiI+CisgICAgPFByb2plY3RSZWZlcmVuY2UgSW5jbHVkZT0ic3NsZWF5LnZjeHByb2oiPgorICAgICAgPFByb2plY3Q+ezEwNjE1YjI0LTczYmYtNGVmYS05M2FhLTIzNjkxNjMyMTMxN308L1Byb2plY3Q+CisgICAgICA8UmVmZXJlbmNlT3V0cHV0QXNzZW1ibHk+ZmFsc2U8L1JlZmVyZW5jZU91dHB1dEFzc2VtYmx5PgorICAgIDwvUHJvamVjdFJlZmVyZW5jZT4KKyAgICA8UHJvamVjdFJlZmVyZW5jZSBJbmNsdWRlPSJsaWJlYXkudmN4cHJvaiI+CiAgICAgICA8UHJvamVjdD57ZTViMDRjYzAtZWI0Yy00MmFiLWI0ZGMtMThlZjk1Zjg2NGIwfTwvUHJvamVjdD4KICAgICAgIDxSZWZlcmVuY2VPdXRwdXRBc3NlbWJseT5mYWxzZTwvUmVmZXJlbmNlT3V0cHV0QXNzZW1ibHk+CiAgICAgPC9Qcm9qZWN0UmVmZXJlbmNlPgpkaWZmIC0tZ2l0IGEvUENidWlsZC9fbHptYS52Y3hwcm9qIGIvUENidWlsZC9fbHptYS52Y3hwcm9qCmluZGV4IGFjMjVjODAuLmFmNTA0OTQgMTAwNjQ0Ci0tLSBhL1BDYnVpbGQvX2x6bWEudmN4cHJvagorKysgYi9QQ2J1aWxkL19sem1hLnZjeHByb2oKQEAgLTM5LDIwMCArMzksMzUgQEAKICAgICA8Um9vdE5hbWVzcGFjZT5sem1hPC9Sb290TmFtZXNwYWNlPgogICAgIDxLZXl3b3JkPldpbjMyUHJvajwvS2V5d29yZD4KICAgPC9Qcm9wZXJ0eUdyb3VwPgorICA8SW1wb3J0IFByb2plY3Q9InB5dGhvbi5wcm9wcyIgLz4KICAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAuRGVmYXVsdC5wcm9wcyIgLz4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+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+JChsem1hRGlyKVxpbmNsdWRlOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+CisgICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4kKGx6bWFEaXIpaW5jbHVkZTslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgogICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPldJTjMyO19GSUxFX09GRlNFVF9CSVRTPTY0O19DUlRfU0VDVVJFX05PX0RFUFJFQ0FURTtfQ1JUX05PTlNURENfTk9fREVQUkVDQVRFO0xaTUFfQVBJX1NUQVRJQzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+CiAgICAgPC9DbENvbXBpbGU+CiAgICAgPExpbms+Ci0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz4kKGx6bWFEaXIpXGJpbl9pNDg2XGxpYmx6bWEuYTslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPgotICAgIDxNaWRsPgotICAgICAgPFRhcmdldEVudmlyb25tZW50Plg2NDwvVGFyZ2V0RW52aXJvbm1lbnQ+Ci0gICAgPC9NaWRsPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4kKGx6bWFEaXIpXGluY2x1ZGU7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5XSU4zMjtfRklMRV9PRkZTRVRfQklUUz02NDtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURTtMWk1BX0FQSV9TVEFUSUM7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxMaW5rPgotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+JChsem1hRGlyKVxiaW5feDg2LTY0XGxpYmx6bWEuYTslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+JChsem1hRGlyKVxpbmNsdWRlOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+V0lOMzI7X0ZJTEVfT0ZGU0VUX0JJVFM9NjQ7X0NSVF9TRUNVUkVfTk9fREVQUkVDQVRFO19DUlRfTk9OU1REQ19OT19ERVBSRUNBVEU7TFpNQV9BUElfU1RBVElDOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8TGluaz4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPiQobHptYURpcilcYmluX2k0ODZcbGlibHptYS5hOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj4KLSAgICA8TWlkbD4KLSAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgotICAgIDwvTWlkbD4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+JChsem1hRGlyKVxpbmNsdWRlOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+V0lOMzI7X0ZJTEVfT0ZGU0VUX0JJVFM9NjQ7X0NSVF9TRUNVUkVfTk9fREVQUkVDQVRFO19DUlRfTk9OU1REQ19OT19ERVBSRUNBVEU7TFpNQV9BUElfU1RBVElDOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8TGluaz4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPiQobHptYURpcilcYmluX3g4Ni02NFxsaWJsem1hLmE7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIj4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+JChsem1hRGlyKVxpbmNsdWRlOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+V0lOMzI7X0ZJTEVfT0ZGU0VUX0JJVFM9NjQ7X0NSVF9TRUNVUkVfTk9fREVQUkVDQVRFO19DUlRfTk9OU1REQ19OT19ERVBSRUNBVEU7TFpNQV9BUElfU1RBVElDOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8TGluaz4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPiQobHptYURpcilcYmluX2k0ODZcbGlibHptYS5hOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciPgotICAgIDxNaWRsPgotICAgICAgPFRhcmdldEVudmlyb25tZW50Plg2NDwvVGFyZ2V0RW52aXJvbm1lbnQ+Ci0gICAgPC9NaWRsPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4kKGx6bWFEaXIpXGluY2x1ZGU7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5XSU4zMjtfRklMRV9PRkZTRVRfQklUUz02NDtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURTtMWk1BX0FQSV9TVEFUSUM7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxMaW5rPgotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+JChsem1hRGlyKVxiaW5feDg2LTY0XGxpYmx6bWEuYTslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgICAgPFRhcmdldE1hY2hpbmU+TWFjaGluZVg2NDwvVGFyZ2V0TWFjaGluZT4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4kKGx6bWFEaXIpXGluY2x1ZGU7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5XSU4zMjtfRklMRV9PRkZTRVRfQklUUz02NDtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURTtMWk1BX0FQSV9TVEFUSUM7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxMaW5rPgotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+JChsem1hRGlyKVxiaW5faTQ4NlxsaWJsem1hLmE7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIj4KLSAgICA8TWlkbD4KLSAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgotICAgIDwvTWlkbD4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+JChsem1hRGlyKVxpbmNsdWRlOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+V0lOMzI7X0ZJTEVfT0ZGU0VUX0JJVFM9NjQ7X0NSVF9TRUNVUkVfTk9fREVQUkVDQVRFO19DUlRfTk9OU1REQ19OT19ERVBSRUNBVEU7TFpNQV9BUElfU1RBVElDOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8TGluaz4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPiQobHptYURpcilcYmluX3g4Ni02NFxsaWJsem1hLmE7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KLSAgICAgIDxUYXJnZXRNYWNoaW5lPk1hY2hpbmVYNjQ8L1RhcmdldE1hY2hpbmU+CisgICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcyBDb25kaXRpb249IickKFBsYXRmb3JtKScgPT0gJ1dpbjMyJyI+JChsem1hRGlyKVxiaW5faTQ4NlxsaWJsem1hLmE7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KKyAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzIENvbmRpdGlvbj0iJyQoUGxhdGZvcm0pJyA9PSAneDY0JyI+JChsem1hRGlyKVxiaW5feDg2LTY0XGxpYmx6bWEuYTslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgorICAgICAgPEltYWdlSGFzU2FmZUV4Y2VwdGlvbkhhbmRsZXJzPmZhbHNlPC9JbWFnZUhhc1NhZmVFeGNlcHRpb25IYW5kbGVycz4KICAgICA8L0xpbms+CiAgIDwvSXRlbURlZmluaXRpb25Hcm91cD4KICAgPEl0ZW1Hcm91cD4KZGlmZiAtLWdpdCBhL1BDYnVpbGQvX21zaS52Y3hwcm9qIGIvUENidWlsZC9fbXNpLnZjeHByb2oKaW5kZXggMTMyM2QxNi4uZjViYTdiZiAxMDA2NDQKLS0tIGEvUENidWlsZC9fbXNpLnZjeHByb2oKKysrIGIvUENidWlsZC9fbXNpLnZjeHByb2oKQEAgLTM5LDE3OCArMzksMzIgQEAKICAgICA8Um9vdE5hbWVzcGFjZT5fbXNpPC9Sb290TmFtZXNwYWNlPgogICAgIDxLZXl3b3JkPldpbjMyUHJvajwvS2V5d29yZD4KICAgPC9Qcm9wZXJ0eUdyb3VwPgorICA8SW1wb3J0IFByb2plY3Q9InB5dGhvbi5wcm9wcyIgLz4KICAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAuRGVmYXVsdC5wcm9wcyIgLz4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+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+CiAgIDwvUHJvcGVydHlHcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPgorICA8SXRlbURlZmluaXRpb25Hcm91cD4KICAgICA8TGluaz4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPmZjaS5saWI7bXNpLmxpYjtycGNydDQubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+CisgICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz5jYWJpbmV0LmxpYjttc2kubGliO3JwY3J0NC5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KICAgICAgIDxCYXNlQWRkcmVzcz4weDFEMTYwMDAwPC9CYXNlQWRkcmVzcz4KICAgICA8L0xpbms+CiAgIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj4KLSAgICA8TWlkbD4KLSAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgotICAgIDwvTWlkbD4KLSAgICA8TGluaz4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPmZjaS5saWI7bXNpLmxpYjtycGNydDQubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxRDE2MDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPgotICAgIDxMaW5rPgotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+ZmNpLmxpYjttc2kubGliO3JwY3J0NC5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFEMTYwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPgotICAgIDxNaWRsPgotICAgICAgPFRhcmdldEVudmlyb25tZW50Plg2NDwvVGFyZ2V0RW52aXJvbm1lbnQ+Ci0gICAgPC9NaWRsPgotICAgIDxMaW5rPgotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+ZmNpLmxpYjttc2kubGliO3JwY3J0NC5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFEMTYwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIj4KLSAgICA8TGluaz4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPmZjaS5saWI7bXNpLmxpYjtycGNydDQubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxRDE2MDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciPgotICAgIDxNaWRsPgotICAgICAgPFRhcmdldEVudmlyb25tZW50Plg2NDwvVGFyZ2V0RW52aXJvbm1lbnQ+Ci0gICAgPC9NaWRsPgotICAgIDxMaW5rPgotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+ZmNpLmxpYjttc2kubGliO3JwY3J0NC5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFEMTYwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICAgIDxUYXJnZXRNYWNoaW5lPk1hY2hpbmVYNjQ8L1RhcmdldE1hY2hpbmU+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIj4KLSAgICA8TGluaz4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPmZjaS5saWI7bXNpLmxpYjtycGNydDQubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxRDE2MDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyI+Ci0gICAgPE1pZGw+Ci0gICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+WDY0PC9UYXJnZXRFbnZpcm9ubWVudD4KLSAgICA8L01pZGw+Ci0gICAgPExpbms+Ci0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz5mY2kubGliO21zaS5saWI7cnBjcnQ0LmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgICAgPEJhc2VBZGRyZXNzPjB4MUQxNjAwMDA8L0Jhc2VBZGRyZXNzPgotICAgICAgPFRhcmdldE1hY2hpbmU+TWFjaGluZVg2NDwvVGFyZ2V0TWFjaGluZT4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KICAgPEl0ZW1Hcm91cD4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXFBDXF9tc2kuYyIgLz4KICAgPC9JdGVtR3JvdXA+CmRpZmYgLS1naXQgYS9QQ2J1aWxkL19tdWx0aXByb2Nlc3NpbmcudmN4cHJvaiBiL1BDYnVpbGQvX211bHRpcHJvY2Vzc2luZy52Y3hwcm9qCmluZGV4IGI0YmI1NjguLjFlYjkyYjYgMTAwNjQ0Ci0tLSBhL1BDYnVpbGQvX211bHRpcHJvY2Vzc2luZy52Y3hwcm9qCisrKyBiL1BDYnVpbGQvX211bHRpcHJvY2Vzc2luZy52Y3hwcm9qCkBAIC0zOSwxNzggKzM5LDMyIEBACiAgICAgPFJvb3ROYW1lc3BhY2U+X211bHRpcHJvY2Vzc2luZzwvUm9vdE5hbWVzcGFjZT4KICAgICA8S2V5d29yZD5XaW4zMlByb2o8L0tleXdvcmQ+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+CiAgICAgICA8QmFzZUFkZHJlc3M+MHgxZTFEMDAwMDwvQmFzZUFkZHJlc3M+CiAgICAgPC9MaW5rPgogICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+Ci0gICAgPE1pZGw+Ci0gICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+WDY0PC9UYXJnZXRFbnZpcm9ubWVudD4KLSAgICA8L01pZGw+Ci0gICAgPExpbms+Ci0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz53czJfMzIubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxZTFEMDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPgotICAgIDxMaW5rPgotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+d3MyXzMyLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgICAgPEJhc2VBZGRyZXNzPjB4MWUxRDAwMDA8L0Jhc2VBZGRyZXNzPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+Ci0gICAgPE1pZGw+Ci0gICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+WDY0PC9UYXJnZXRFbnZpcm9ubWVudD4KLSAgICA8L01pZGw+Ci0gICAgPExpbms+Ci0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz53czJfMzIubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxZTFEMDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyI+Ci0gICAgPExpbms+Ci0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz53czJfMzIubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxZTFEMDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciPgotICAgIDxNaWRsPgotICAgICAgPFRhcmdldEVudmlyb25tZW50Plg2NDwvVGFyZ2V0RW52aXJvbm1lbnQ+Ci0gICAgPC9NaWRsPgotICAgIDxMaW5rPgotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+d3MyXzMyLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgICAgPEJhc2VBZGRyZXNzPjB4MWUxRDAwMDA8L0Jhc2VBZGRyZXNzPgotICAgICAgPFRhcmdldE1hY2hpbmU+TWFjaGluZVg2NDwvVGFyZ2V0TWFjaGluZT4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciPgotICAgIDxMaW5rPgotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+d3MyXzMyLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgICAgPEJhc2VBZGRyZXNzPjB4MWUxRDAwMDA8L0Jhc2VBZGRyZXNzPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciPgotICAgIDxNaWRsPgotICAgICAgPFRhcmdldEVudmlyb25tZW50Plg2NDwvVGFyZ2V0RW52aXJvbm1lbnQ+Ci0gICAgPC9NaWRsPgotICAgIDxMaW5rPgotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+d3MyXzMyLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgICAgPEJhc2VBZGRyZXNzPjB4MWUxRDAwMDA8L0Jhc2VBZGRyZXNzPgotICAgICAgPFRhcmdldE1hY2hpbmU+TWFjaGluZVg2NDwvVGFyZ2V0TWFjaGluZT4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KICAgPEl0ZW1Hcm91cD4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXE1vZHVsZXNcX211bHRpcHJvY2Vzc2luZ1xtdWx0aXByb2Nlc3NpbmcuaCIgLz4KICAgPC9JdGVtR3JvdXA+CmRpZmYgLS1naXQgYS9QQ2J1aWxkL19vdmVybGFwcGVkLnZjeHByb2ogYi9QQ2J1aWxkL19vdmVybGFwcGVkLnZjeHByb2oKaW5kZXggZDBlZTcyZi4uNTUzMDFlYSAxMDA2NDQKLS0tIGEvUENidWlsZC9fb3ZlcmxhcHBlZC52Y3hwcm9qCisrKyBiL1BDYnVpbGQvX292ZXJsYXBwZWQudmN4cHJvagpAQCAtMzksMTg2ICszOSwzMiBAQAogICAgIDxSb290TmFtZXNwYWNlPl9vdmVybGFwcGVkPC9Sb290TmFtZXNwYWNlPgogICAgIDxLZXl3b3JkPldpbjMyUHJvajwvS2V5d29yZD4KICAgPC9Qcm9wZXJ0eUdyb3VwPgorICA8SW1wb3J0IFByb2plY3Q9InB5dGhvbi5wcm9wcyIgLz4KICAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAuRGVmYXVsdC5wcm9wcyIgLz4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+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+CiAgIDwvUHJvcGVydHlHcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPgorICA8SXRlbURlZmluaXRpb25Hcm91cD4KICAgICA8TGluaz4KICAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPndzMl8zMi5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KLSAgICAgIDxJZ25vcmVTcGVjaWZpY0RlZmF1bHRMaWJyYXJpZXM+bGliYzslKElnbm9yZVNwZWNpZmljRGVmYXVsdExpYnJhcmllcyk8L0lnbm9yZVNwZWNpZmljRGVmYXVsdExpYnJhcmllcz4KICAgICAgIDxCYXNlQWRkcmVzcz4weDFEMTEwMDAwPC9CYXNlQWRkcmVzcz4KICAgICA8L0xpbms+CiAgIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj4KLSAgICA8TWlkbD4KLSAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgotICAgIDwvTWlkbD4KLSAgICA8TGluaz4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPndzMl8zMi5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KLSAgICAgIDxJZ25vcmVTcGVjaWZpY0RlZmF1bHRMaWJyYXJpZXM+bGliYzslKElnbm9yZVNwZWNpZmljRGVmYXVsdExpYnJhcmllcyk8L0lnbm9yZVNwZWNpZmljRGVmYXVsdExpYnJhcmllcz4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFEMTEwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+Ci0gICAgPExpbms+Ci0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz53czJfMzIubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgICA8SWdub3JlU3BlY2lmaWNEZWZhdWx0TGlicmFyaWVzPmxpYmM7JShJZ25vcmVTcGVjaWZpY0RlZmF1bHRMaWJyYXJpZXMpPC9JZ25vcmVTcGVjaWZpY0RlZmF1bHRMaWJyYXJpZXM+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxRDExMDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj4KLSAgICA8TWlkbD4KLSAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgotICAgIDwvTWlkbD4KLSAgICA8TGluaz4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPndzMl8zMi5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KLSAgICAgIDxJZ25vcmVTcGVjaWZpY0RlZmF1bHRMaWJyYXJpZXM+bGliYzslKElnbm9yZVNwZWNpZmljRGVmYXVsdExpYnJhcmllcyk8L0lnbm9yZVNwZWNpZmljRGVmYXVsdExpYnJhcmllcz4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFEMTEwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIj4KLSAgICA8TGluaz4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPndzMl8zMi5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KLSAgICAgIDxJZ25vcmVTcGVjaWZpY0RlZmF1bHRMaWJyYXJpZXM+bGliYzslKElnbm9yZVNwZWNpZmljRGVmYXVsdExpYnJhcmllcyk8L0lnbm9yZVNwZWNpZmljRGVmYXVsdExpYnJhcmllcz4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFEMTEwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyI+Ci0gICAgPE1pZGw+Ci0gICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+WDY0PC9UYXJnZXRFbnZpcm9ubWVudD4KLSAgICA8L01pZGw+Ci0gICAgPExpbms+Ci0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz53czJfMzIubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgICA8SWdub3JlU3BlY2lmaWNEZWZhdWx0TGlicmFyaWVzPmxpYmM7JShJZ25vcmVTcGVjaWZpY0RlZmF1bHRMaWJyYXJpZXMpPC9JZ25vcmVTcGVjaWZpY0RlZmF1bHRMaWJyYXJpZXM+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxRDExMDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgICA8VGFyZ2V0TWFjaGluZT5NYWNoaW5lWDY0PC9UYXJnZXRNYWNoaW5lPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyI+Ci0gICAgPExpbms+Ci0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz53czJfMzIubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgICA8SWdub3JlU3BlY2lmaWNEZWZhdWx0TGlicmFyaWVzPmxpYmM7JShJZ25vcmVTcGVjaWZpY0RlZmF1bHRMaWJyYXJpZXMpPC9JZ25vcmVTcGVjaWZpY0RlZmF1bHRMaWJyYXJpZXM+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxRDExMDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyI+Ci0gICAgPE1pZGw+Ci0gICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+WDY0PC9UYXJnZXRFbnZpcm9ubWVudD4KLSAgICA8L01pZGw+Ci0gICAgPExpbms+Ci0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz53czJfMzIubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgICA8SWdub3JlU3BlY2lmaWNEZWZhdWx0TGlicmFyaWVzPmxpYmM7JShJZ25vcmVTcGVjaWZpY0RlZmF1bHRMaWJyYXJpZXMpPC9JZ25vcmVTcGVjaWZpY0RlZmF1bHRMaWJyYXJpZXM+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxRDExMDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgICA8VGFyZ2V0TWFjaGluZT5NYWNoaW5lWDY0PC9UYXJnZXRNYWNoaW5lPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgogICA8SXRlbUdyb3VwPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cTW9kdWxlc1xvdmVybGFwcGVkLmMiIC8+CiAgIDwvSXRlbUdyb3VwPgpkaWZmIC0tZ2l0IGEvUENidWlsZC9fc29ja2V0LnZjeHByb2ogYi9QQ2J1aWxkL19zb2NrZXQudmN4cHJvagppbmRleCA2MzgzNmU5Li4wM2I2Zjc1IDEwMDY0NAotLS0gYS9QQ2J1aWxkL19zb2NrZXQudmN4cHJvagorKysgYi9QQ2J1aWxkL19zb2NrZXQudmN4cHJvagpAQCAtMzksMTc4ICszOSwzMiBAQAogICAgIDxSb290TmFtZXNwYWNlPl9zb2NrZXQ8L1Jvb3ROYW1lc3BhY2U+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+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxNb2R1bGVzXHNvY2tldG1vZHVsZS5oIiAvPgogICA8L0l0ZW1Hcm91cD4KZGlmZiAtLWdpdCBhL1BDYnVpbGQvX3NxbGl0ZTMudmN4cHJvaiBiL1BDYnVpbGQvX3NxbGl0ZTMudmN4cHJvagppbmRleCBlZDM1ZDViLi41ZTg4OWQwIDEwMDY0NAotLS0gYS9QQ2J1aWxkL19zcWxpdGUzLnZjeHByb2oKKysrIGIvUENidWlsZC9fc3FsaXRlMy52Y3hwcm9qCkBAIC0zOSwxMTcgKzM5LDI3IEBACiAgICAgPFJvb3ROYW1lc3BhY2U+X3NxbGl0ZTM8L1Jvb3ROYW1lc3BhY2U+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+CisgIDxJdGVtRGVmaW5pdGlvbkdyb3VwPgogICAgIDxDbENvbXBpbGU+CiAgICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4kKHNxbGl0ZTNEaXIpOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+CiAgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+TU9EVUxFX05BTUU9InNxbGl0ZTMiOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KQEAgLTE1OCw4MyArNjgsNiBAQAogICAgICAgPEJhc2VBZGRyZXNzPjB4MWUxODAwMDA8L0Jhc2VBZGRyZXNzPgogICAgIDwvTGluaz4KICAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPgotICAgIDxNaWRsPgotICAgICAgPFRhcmdldEVudmlyb25tZW50Plg2NDwvVGFyZ2V0RW52aXJvbm1lbnQ+Ci0gICAgPC9NaWRsPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4kKHNxbGl0ZTNEaXIpOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+TU9EVUxFX05BTUU9InNxbGl0ZTMiOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8TGluaz4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFlMTgwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPiQoc3FsaXRlM0Rpcik7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5NT0RVTEVfTkFNRT0ic3FsaXRlMyI7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxMaW5rPgotICAgICAgPEJhc2VBZGRyZXNzPjB4MWUxODAwMDA8L0Jhc2VBZGRyZXNzPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+Ci0gICAgPE1pZGw+Ci0gICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+WDY0PC9UYXJnZXRFbnZpcm9ubWVudD4KLSAgICA8L01pZGw+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPiQoc3FsaXRlM0Rpcik7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5NT0RVTEVfTkFNRT0ic3FsaXRlMyI7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxMaW5rPgotICAgICAgPEJhc2VBZGRyZXNzPjB4MWUxODAwMDA8L0Jhc2VBZGRyZXNzPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4kKHNxbGl0ZTNEaXIpOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+TU9EVUxFX05BTUU9InNxbGl0ZTMiOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8TGluaz4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFlMTgwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyI+Ci0gICAgPE1pZGw+Ci0gICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+WDY0PC9UYXJnZXRFbnZpcm9ubWVudD4KLSAgICA8L01pZGw+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPiQoc3FsaXRlM0Rpcik7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5NT0RVTEVfTkFNRT0ic3FsaXRlMyI7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxMaW5rPgotICAgICAgPEJhc2VBZGRyZXNzPjB4MWUxODAwMDA8L0Jhc2VBZGRyZXNzPgotICAgICAgPFRhcmdldE1hY2hpbmU+TWFjaGluZVg2NDwvVGFyZ2V0TWFjaGluZT4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4kKHNxbGl0ZTNEaXIpOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+TU9EVUxFX05BTUU9InNxbGl0ZTMiOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8TGluaz4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFlMTgwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIj4KLSAgICA8TWlkbD4KLSAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgotICAgIDwvTWlkbD4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+JChzcWxpdGUzRGlyKTslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPk1PRFVMRV9OQU1FPSJzcWxpdGUzIjslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPExpbms+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxZTE4MDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgICA8VGFyZ2V0TWFjaGluZT5NYWNoaW5lWDY0PC9UYXJnZXRNYWNoaW5lPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgogICA8SXRlbUdyb3VwPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cTW9kdWxlc1xfc3FsaXRlXGNhY2hlLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxNb2R1bGVzXF9zcWxpdGVcY29ubmVjdGlvbi5oIiAvPgpkaWZmIC0tZ2l0IGEvUENidWlsZC9fc3NsLnZjeHByb2ogYi9QQ2J1aWxkL19zc2wudmN4cHJvagppbmRleCA3Mzc4Nzk0Li44NTk0YTA2IDEwMDY0NAotLS0gYS9QQ2J1aWxkL19zc2wudmN4cHJvagorKysgYi9QQ2J1aWxkL19zc2wudmN4cHJvagpAQCAtMzksMjQyICszOSw1MCBAQAogICAgIDxSb290TmFtZXNwYWNlPl9zc2w8L1Jvb3ROYW1lc3BhY2U+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+CisgIDxJdGVtRGVmaW5pdGlvbkdyb3VwPgogICAgIDxDbENvbXBpbGU+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4kKG9wZW5zc2xEaXIpXGluYzMyOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+CisgICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4kKG9wZW5zc2xEaXIpaW5jbHVkZTslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgogICAgIDwvQ2xDb21waWxlPgotICAgIDxQcmVMaW5rRXZlbnQ+Ci0gICAgICA8Q29tbWFuZD4KLSAgICAgIDwvQ29tbWFuZD4KLSAgICA8L1ByZUxpbmtFdmVudD4KICAgICA8TGluaz4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPndzMl8zMi5saWI7Y3J5cHQzMi5saWI7JChvcGVuc3NsRGlyKVxvdXQzMlxsaWJlYXkzMi5saWI7JChvcGVuc3NsRGlyKVxvdXQzMlxzc2xlYXkzMi5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj4KLSAgICA8TWlkbD4KLSAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgotICAgIDwvTWlkbD4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+JChvcGVuc3NsRGlyKVxpbmM2NDslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxQcmVMaW5rRXZlbnQ+Ci0gICAgICA8Q29tbWFuZD4KLSAgICAgIDwvQ29tbWFuZD4KLSAgICA8L1ByZUxpbmtFdmVudD4KLSAgICA8TGluaz4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPndzMl8zMi5saWI7Y3J5cHQzMi5saWI7JChvcGVuc3NsRGlyKVxvdXQ2NFxsaWJlYXkzMi5saWI7JChvcGVuc3NsRGlyKVxvdXQ2NFxzc2xlYXkzMi5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPiQob3BlbnNzbERpcilcaW5jMzI7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8UHJlTGlua0V2ZW50PgotICAgICAgPENvbW1hbmQ+Ci0gICAgICA8L0NvbW1hbmQ+Ci0gICAgPC9QcmVMaW5rRXZlbnQ+Ci0gICAgPExpbms+Ci0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz53czJfMzIubGliO2NyeXB0MzIubGliOyQob3BlbnNzbERpcilcb3V0MzJcbGliZWF5MzIubGliOyQob3BlbnNzbERpcilcb3V0MzJcc3NsZWF5MzIubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj4KLSAgICA8TWlkbD4KLSAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgotICAgIDwvTWlkbD4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+JChvcGVuc3NsRGlyKVxpbmM2NDslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxQcmVMaW5rRXZlbnQ+Ci0gICAgICA8Q29tbWFuZD4KLSAgICAgIDwvQ29tbWFuZD4KLSAgICA8L1ByZUxpbmtFdmVudD4KLSAgICA8TGluaz4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPndzMl8zMi5saWI7Y3J5cHQzMi5saWI7JChvcGVuc3NsRGlyKVxvdXQ2NFxsaWJlYXkzMi5saWI7JChvcGVuc3NsRGlyKVxvdXQ2NFxzc2xlYXkzMi5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIj4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+JChvcGVuc3NsRGlyKVxpbmMzMjslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxQcmVMaW5rRXZlbnQ+Ci0gICAgICA8Q29tbWFuZD4KLSAgICAgIDwvQ29tbWFuZD4KLSAgICA8L1ByZUxpbmtFdmVudD4KLSAgICA8TGluaz4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPndzMl8zMi5saWI7Y3J5cHQzMi5saWI7JChvcGVuc3NsRGlyKVxvdXQzMlxsaWJlYXkzMi5saWI7JChvcGVuc3NsRGlyKVxvdXQzMlxzc2xlYXkzMi5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyI+Ci0gICAgPE1pZGw+Ci0gICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+WDY0PC9UYXJnZXRFbnZpcm9ubWVudD4KLSAgICA8L01pZGw+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPiQob3BlbnNzbERpcilcaW5jNjQ7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8UHJlTGlua0V2ZW50PgotICAgICAgPENvbW1hbmQ+Ci0gICAgICA8L0NvbW1hbmQ+Ci0gICAgPC9QcmVMaW5rRXZlbnQ+Ci0gICAgPExpbms+Ci0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz53czJfMzIubGliO2NyeXB0MzIubGliOyQob3BlbnNzbERpcilcb3V0NjRcbGliZWF5MzIubGliOyQob3BlbnNzbERpcilcb3V0NjRcc3NsZWF5MzIubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgICA8VGFyZ2V0TWFjaGluZT5NYWNoaW5lWDY0PC9UYXJnZXRNYWNoaW5lPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyI+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPiQob3BlbnNzbERpcilcaW5jMzI7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8UHJlTGlua0V2ZW50PgotICAgICAgPENvbW1hbmQ+Ci0gICAgICA8L0NvbW1hbmQ+Ci0gICAgPC9QcmVMaW5rRXZlbnQ+Ci0gICAgPExpbms+Ci0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz53czJfMzIubGliO2NyeXB0MzIubGliOyQob3BlbnNzbERpcilcb3V0MzJcbGliZWF5MzIubGliOyQob3BlbnNzbERpcilcb3V0MzJcc3NsZWF5MzIubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyI+Ci0gICAgPE1pZGw+Ci0gICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+WDY0PC9UYXJnZXRFbnZpcm9ubWVudD4KLSAgICA8L01pZGw+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPiQob3BlbnNzbERpcilcaW5jNjQ7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8UHJlTGlua0V2ZW50PgotICAgICAgPENvbW1hbmQ+Ci0gICAgICA8L0NvbW1hbmQ+Ci0gICAgPC9QcmVMaW5rRXZlbnQ+Ci0gICAgPExpbms+Ci0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz53czJfMzIubGliO2NyeXB0MzIubGliOyQob3BlbnNzbERpcilcb3V0NjRcbGliZWF5MzIubGliOyQob3BlbnNzbERpcilcb3V0NjRcc3NsZWF5MzIubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgICA8VGFyZ2V0TWFjaGluZT5NYWNoaW5lWDY0PC9UYXJnZXRNYWNoaW5lPgorICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+d3MyXzMyLmxpYjtjcnlwdDMyLmxpYjskKE91dERpcilsaWJlYXkkKFB5RGVidWdFeHQpLmxpYjskKE91dERpcilzc2xlYXkkKFB5RGVidWdFeHQpLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgogICAgIDwvTGluaz4KICAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgogICA8SXRlbUdyb3VwPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cTW9kdWxlc1xfc3NsLmMiIC8+CiAgIDwvSXRlbUdyb3VwPgogICA8SXRlbUdyb3VwPgotICAgIDxQcm9qZWN0UmVmZXJlbmNlIEluY2x1ZGU9InB5dGhvbi52Y3hwcm9qIj4KLSAgICAgIDxQcm9qZWN0PntiMTFkNzUwZi1jZDFmLTRhOTYtODVjZS1lNjlhNWM1MjU5Zjl9PC9Qcm9qZWN0PgotICAgICAgPFJlZmVyZW5jZU91dHB1dEFzc2VtYmx5PmZhbHNlPC9SZWZlcmVuY2VPdXRwdXRBc3NlbWJseT4KLSAgICA8L1Byb2plY3RSZWZlcmVuY2U+CiAgICAgPFByb2plY3RSZWZlcmVuY2UgSW5jbHVkZT0icHl0aG9uY29yZS52Y3hwcm9qIj4KICAgICAgIDxQcm9qZWN0PntjZjdhYzNkMS1lMmRmLTQxZDItYmVhNi0xZTI1NTZjZGVhMjZ9PC9Qcm9qZWN0PgogICAgICAgPFJlZmVyZW5jZU91dHB1dEFzc2VtYmx5PmZhbHNlPC9SZWZlcmVuY2VPdXRwdXRBc3NlbWJseT4KICAgICA8L1Byb2plY3RSZWZlcmVuY2U+Ci0gICAgPFByb2plY3RSZWZlcmVuY2UgSW5jbHVkZT0ic3NsLnZjeHByb2oiPgorICAgIDxQcm9qZWN0UmVmZXJlbmNlIEluY2x1ZGU9ImxpYmVheS52Y3hwcm9qIj4KICAgICAgIDxQcm9qZWN0PntlNWIwNGNjMC1lYjRjLTQyYWItYjRkYy0xOGVmOTVmODY0YjB9PC9Qcm9qZWN0PgogICAgICAgPFJlZmVyZW5jZU91dHB1dEFzc2VtYmx5PmZhbHNlPC9SZWZlcmVuY2VPdXRwdXRBc3NlbWJseT4KICAgICA8L1Byb2plY3RSZWZlcmVuY2U+CisgICAgPFByb2plY3RSZWZlcmVuY2UgSW5jbHVkZT0ic3NsZWF5LnZjeHByb2oiPgorICAgICAgPFByb2plY3Q+ezEwNjE1YjI0LTczYmYtNGVmYS05M2FhLTIzNjkxNjMyMTMxN308L1Byb2plY3Q+CisgICAgICA8UmVmZXJlbmNlT3V0cHV0QXNzZW1ibHk+ZmFsc2U8L1JlZmVyZW5jZU91dHB1dEFzc2VtYmx5PgorICAgIDwvUHJvamVjdFJlZmVyZW5jZT4KICAgICA8UHJvamVjdFJlZmVyZW5jZSBJbmNsdWRlPSJfc29ja2V0LnZjeHByb2oiPgogICAgICAgPFByb2plY3Q+ezg2OTM3ZjUzLWMxODktNDBlZi04Y2U4LTg3NTlkOGU3ZDQ4MH08L1Byb2plY3Q+CiAgICAgICA8UmVmZXJlbmNlT3V0cHV0QXNzZW1ibHk+ZmFsc2U8L1JlZmVyZW5jZU91dHB1dEFzc2VtYmx5PgpkaWZmIC0tZ2l0IGEvUENidWlsZC9fdGVzdGJ1ZmZlci52Y3hwcm9qIGIvUENidWlsZC9fdGVzdGJ1ZmZlci52Y3hwcm9qCmluZGV4IGUxMjY1ZjYuLjhjYmYxMjUgMTAwNjQ0Ci0tLSBhL1BDYnVpbGQvX3Rlc3RidWZmZXIudmN4cHJvagorKysgYi9QQ2J1aWxkL190ZXN0YnVmZmVyLnZjeHByb2oKQEAgLTM4LDE3MSArMzgsMzMgQEAKICAgICA8UHJvamVjdEd1aWQ+e0EyNjk3QkQzLTI4QzEtNEFFQy05MTA2LThCNzQ4NjM5RkQxNn08L1Byb2plY3RHdWlkPgogICAgIDxSb290TmFtZXNwYWNlPl90ZXN0YnVmZmVyPC9Sb290TmFtZXNwYWNlPgogICAgIDxLZXl3b3JkPldpbjMyUHJvajwvS2V5d29yZD4KKyAgICA8U3VwcG9ydFBHTz5mYWxzZTwvU3VwcG9ydFBHTz4KICAgPC9Qcm9wZXJ0eUdyb3VwPgorICA8SW1wb3J0IFByb2plY3Q9InB5dGhvbi5wcm9wcyIgLz4KICAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAuRGVmYXVsdC5wcm9wcyIgLz4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+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+CiAgIDxQcm9wZXJ0eUdyb3VwPgogICAgIDxfUHJvamVjdEZpbGVWZXJzaW9uPjEwLjAuNDAyMTkuMTwvX1Byb2plY3RGaWxlVmVyc2lvbj4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIC8+CiAgIDwvUHJvcGVydHlHcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPgorICA8SXRlbURlZmluaXRpb25Hcm91cD4KICAgICA8TGluaz4KICAgICAgIDxCYXNlQWRkcmVzcz4weDFlMUYwMDAwPC9CYXNlQWRkcmVzcz4KICAgICA8L0xpbms+CiAgIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj4KLSAgICA8TWlkbD4KLSAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgotICAgIDwvTWlkbD4KLSAgICA8TGluaz4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFlMUYwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+Ci0gICAgPExpbms+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxZTFGMDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj4KLSAgICA8TWlkbD4KLSAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgotICAgIDwvTWlkbD4KLSAgICA8TGluaz4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFlMUYwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIj4KLSAgICA8TGluaz4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFlMUYwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyI+Ci0gICAgPE1pZGw+Ci0gICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+WDY0PC9UYXJnZXRFbnZpcm9ubWVudD4KLSAgICA8L01pZGw+Ci0gICAgPExpbms+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxZTFGMDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgICA8VGFyZ2V0TWFjaGluZT5NYWNoaW5lWDY0PC9UYXJnZXRNYWNoaW5lPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyI+Ci0gICAgPExpbms+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxZTFGMDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyI+Ci0gICAgPE1pZGw+Ci0gICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+WDY0PC9UYXJnZXRFbnZpcm9ubWVudD4KLSAgICA8L01pZGw+Ci0gICAgPExpbms+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxZTFGMDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgICA8VGFyZ2V0TWFjaGluZT5NYWNoaW5lWDY0PC9UYXJnZXRNYWNoaW5lPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgogICA8SXRlbUdyb3VwPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cTW9kdWxlc1xfdGVzdGJ1ZmZlci5jIiAvPgogICA8L0l0ZW1Hcm91cD4KZGlmZiAtLWdpdCBhL1BDYnVpbGQvX3Rlc3RjYXBpLnZjeHByb2ogYi9QQ2J1aWxkL190ZXN0Y2FwaS52Y3hwcm9qCmluZGV4IGU5OWE3ZTQuLmRiZjQ0ZTYgMTAwNjQ0Ci0tLSBhL1BDYnVpbGQvX3Rlc3RjYXBpLnZjeHByb2oKKysrIGIvUENidWlsZC9fdGVzdGNhcGkudmN4cHJvagpAQCAtMzgsMTcxICszOCwzMyBAQAogICAgIDxQcm9qZWN0R3VpZD57NjkwMUQ5MUMtNkU0OC00QkI3LTlGRUMtNzAwQzgxMzFERjFEfTwvUHJvamVjdEd1aWQ+CiAgICAgPFJvb3ROYW1lc3BhY2U+X3Rlc3RjYXBpPC9Sb290TmFtZXNwYWNlPgogICAgIDxLZXl3b3JkPldpbjMyUHJvajwvS2V5d29yZD4KKyAgICA8U3VwcG9ydFBHTz5mYWxzZTwvU3VwcG9ydFBHTz4KICAgPC9Qcm9wZXJ0eUdyb3VwPgorICA8SW1wb3J0IFByb2plY3Q9InB5dGhvbi5wcm9wcyIgLz4KICAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAuRGVmYXVsdC5wcm9wcyIgLz4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+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+CiAgIDwvUHJvcGVydHlHcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPgorICA8SXRlbURlZmluaXRpb25Hcm91cD4KICAgICA8TGluaz4KICAgICAgIDxCYXNlQWRkcmVzcz4weDFlMUYwMDAwPC9CYXNlQWRkcmVzcz4KICAgICA8L0xpbms+CiAgIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj4KLSAgICA8TWlkbD4KLSAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgotICAgIDwvTWlkbD4KLSAgICA8TGluaz4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFlMUYwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+Ci0gICAgPExpbms+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxZTFGMDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj4KLSAgICA8TWlkbD4KLSAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgotICAgIDwvTWlkbD4KLSAgICA8TGluaz4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFlMUYwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIj4KLSAgICA8TGluaz4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFlMUYwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyI+Ci0gICAgPE1pZGw+Ci0gICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+WDY0PC9UYXJnZXRFbnZpcm9ubWVudD4KLSAgICA8L01pZGw+Ci0gICAgPExpbms+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxZTFGMDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgICA8VGFyZ2V0TWFjaGluZT5NYWNoaW5lWDY0PC9UYXJnZXRNYWNoaW5lPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyI+Ci0gICAgPExpbms+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxZTFGMDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyI+Ci0gICAgPE1pZGw+Ci0gICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+WDY0PC9UYXJnZXRFbnZpcm9ubWVudD4KLSAgICA8L01pZGw+Ci0gICAgPExpbms+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxZTFGMDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgICA8VGFyZ2V0TWFjaGluZT5NYWNoaW5lWDY0PC9UYXJnZXRNYWNoaW5lPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgogICA8SXRlbUdyb3VwPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cTW9kdWxlc1xfdGVzdGNhcGltb2R1bGUuYyIgLz4KICAgPC9JdGVtR3JvdXA+CmRpZmYgLS1naXQgYS9QQ2J1aWxkL190ZXN0ZW1iZWQudmN4cHJvaiBiL1BDYnVpbGQvX3Rlc3RlbWJlZC52Y3hwcm9qCmluZGV4IDgzYzdhZDIuLmYwZTRkOWYgMTAwNjQ0Ci0tLSBhL1BDYnVpbGQvX3Rlc3RlbWJlZC52Y3hwcm9qCisrKyBiL1BDYnVpbGQvX3Rlc3RlbWJlZC52Y3hwcm9qCkBAIC05LDYgKzksMjIgQEAKICAgICAgIDxDb25maWd1cmF0aW9uPkRlYnVnPC9Db25maWd1cmF0aW9uPgogICAgICAgPFBsYXRmb3JtPng2NDwvUGxhdGZvcm0+CiAgICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KKyAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iUEdJbnN0cnVtZW50fFdpbjMyIj4KKyAgICAgIDxDb25maWd1cmF0aW9uPlBHSW5zdHJ1bWVudDwvQ29uZmlndXJhdGlvbj4KKyAgICAgIDxQbGF0Zm9ybT5XaW4zMjwvUGxhdGZvcm0+CisgICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KKyAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iUEdJbnN0cnVtZW50fHg2NCI+CisgICAgICA8Q29uZmlndXJhdGlvbj5QR0luc3RydW1lbnQ8L0NvbmZpZ3VyYXRpb24+CisgICAgICA8UGxhdGZvcm0+eDY0PC9QbGF0Zm9ybT4KKyAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgorICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJQR1VwZGF0ZXxXaW4zMiI+CisgICAgICA8Q29uZmlndXJhdGlvbj5QR1VwZGF0ZTwvQ29uZmlndXJhdGlvbj4KKyAgICAgIDxQbGF0Zm9ybT5XaW4zMjwvUGxhdGZvcm0+CisgICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KKyAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iUEdVcGRhdGV8eDY0Ij4KKyAgICAgIDxDb25maWd1cmF0aW9uPlBHVXBkYXRlPC9Db25maWd1cmF0aW9uPgorICAgICAgPFBsYXRmb3JtPng2NDwvUGxhdGZvcm0+CisgICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KICAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iUmVsZWFzZXxXaW4zMiI+CiAgICAgICA8Q29uZmlndXJhdGlvbj5SZWxlYXNlPC9Db25maWd1cmF0aW9uPgogICAgICAgPFBsYXRmb3JtPldpbjMyPC9QbGF0Zm9ybT4KQEAgLTIyLDEzNyArMzgsMzcgQEAKICAgICA8UHJvamVjdEd1aWQ+ezZEQUM2NkQ5LUU3MDMtNDYyNC1CRTAzLTQ5MTEyQUI1QUE2Mn08L1Byb2plY3RHdWlkPgogICAgIDxLZXl3b3JkPldpbjMyUHJvajwvS2V5d29yZD4KICAgICA8Um9vdE5hbWVzcGFjZT5fdGVzdGVtYmVkPC9Sb290TmFtZXNwYWNlPgorICAgIDxTdXBwb3J0UEdPPmZhbHNlPC9TdXBwb3J0UEdPPgogICA8L1Byb3BlcnR5R3JvdXA+CisgIDxJbXBvcnQgUHJvamVjdD0icHl0aG9uLnByb3BzIiAvPgogICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5EZWZhdWx0LnByb3BzIiAvPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgorICA8UHJvcGVydHlHcm91cCBMYWJlbD0iQ29uZmlndXJhdGlvbiI+CiAgICAgPENvbmZpZ3VyYXRpb25UeXBlPkFwcGxpY2F0aW9uPC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8VXNlRGVidWdMaWJyYXJpZXM+dHJ1ZTwvVXNlRGVidWdMaWJyYXJpZXM+Ci0gICAgPENoYXJhY3RlclNldD5Vbmljb2RlPC9DaGFyYWN0ZXJTZXQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkFwcGxpY2F0aW9uPC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8VXNlRGVidWdMaWJyYXJpZXM+dHJ1ZTwvVXNlRGVidWdMaWJyYXJpZXM+Ci0gICAgPENoYXJhY3RlclNldD5Vbmljb2RlPC9DaGFyYWN0ZXJTZXQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5BcHBsaWNhdGlvbjwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPFVzZURlYnVnTGlicmFyaWVzPmZhbHNlPC9Vc2VEZWJ1Z0xpYnJhcmllcz4KLSAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KLSAgICA8Q2hhcmFjdGVyU2V0PlVuaWNvZGU8L0NoYXJhY3RlclNldD4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5BcHBsaWNhdGlvbjwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPFVzZURlYnVnTGlicmFyaWVzPmZhbHNlPC9Vc2VEZWJ1Z0xpYnJhcmllcz4KLSAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KICAgICA8Q2hhcmFjdGVyU2V0PlVuaWNvZGU8L0NoYXJhY3RlclNldD4KICAgPC9Qcm9wZXJ0eUdyb3VwPgogICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5wcm9wcyIgLz4KICAgPEltcG9ydEdyb3VwIExhYmVsPSJFeHRlbnNpb25TZXR0aW5ncyI+CiAgIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBMYWJlbD0iUHJvcGVydHlTaGVldHMiIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj4KKyAgPEltcG9ydEdyb3VwIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+CiAgICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgogICAgIDxJbXBvcnQgUHJvamVjdD0icHlwcm9qZWN0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0iZGVidWcucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlwcm9qZWN0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0iZGVidWcucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJ4NjQucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBMYWJlbD0iUHJvcGVydHlTaGVldHMiIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5cHJvamVjdC5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5cHJvamVjdC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9Ing2NC5wcm9wcyIgLz4KICAgPC9JbXBvcnRHcm91cD4KICAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IlVzZXJNYWNyb3MiIC8+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj4KLSAgICA8TGlua0luY3JlbWVudGFsPmZhbHNlPC9MaW5rSW5jcmVtZW50YWw+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj4KLSAgICA8TGlua0luY3JlbWVudGFsPmZhbHNlPC9MaW5rSW5jcmVtZW50YWw+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+Ci0gICAgPExpbmtJbmNyZW1lbnRhbD5mYWxzZTwvTGlua0luY3JlbWVudGFsPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj4KLSAgICA8TGlua0luY3JlbWVudGFsPmZhbHNlPC9MaW5rSW5jcmVtZW50YWw+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPgorICA8SXRlbURlZmluaXRpb25Hcm91cD4KICAgICA8Q2xDb21waWxlPgotICAgICAgPFByZWNvbXBpbGVkSGVhZGVyPgotICAgICAgPC9QcmVjb21waWxlZEhlYWRlcj4KLSAgICAgIDxXYXJuaW5nTGV2ZWw+TGV2ZWwzPC9XYXJuaW5nTGV2ZWw+Ci0gICAgICA8T3B0aW1pemF0aW9uPkRpc2FibGVkPC9PcHRpbWl6YXRpb24+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+V0lOMzI7X0RFQlVHO19DT05TT0xFOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KKyAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5fQ09OU09MRTslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+CiAgICAgPC9DbENvbXBpbGU+CiAgICAgPExpbms+CiAgICAgICA8U3ViU3lzdGVtPkNvbnNvbGU8L1N1YlN5c3RlbT4KLSAgICAgIDxHZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24+dHJ1ZTwvR2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8UHJlY29tcGlsZWRIZWFkZXI+Ci0gICAgICA8L1ByZWNvbXBpbGVkSGVhZGVyPgotICAgICAgPFdhcm5pbmdMZXZlbD5MZXZlbDM8L1dhcm5pbmdMZXZlbD4KLSAgICAgIDxPcHRpbWl6YXRpb24+RGlzYWJsZWQ8L09wdGltaXphdGlvbj4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5XSU4zMjtfREVCVUc7X0NPTlNPTEU7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxMaW5rPgotICAgICAgPFN1YlN5c3RlbT5Db25zb2xlPC9TdWJTeXN0ZW0+Ci0gICAgICA8R2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPnRydWU8L0dlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxXYXJuaW5nTGV2ZWw+TGV2ZWwzPC9XYXJuaW5nTGV2ZWw+Ci0gICAgICA8UHJlY29tcGlsZWRIZWFkZXI+Ci0gICAgICA8L1ByZWNvbXBpbGVkSGVhZGVyPgotICAgICAgPE9wdGltaXphdGlvbj5NYXhTcGVlZDwvT3B0aW1pemF0aW9uPgotICAgICAgPEZ1bmN0aW9uTGV2ZWxMaW5raW5nPnRydWU8L0Z1bmN0aW9uTGV2ZWxMaW5raW5nPgotICAgICAgPEludHJpbnNpY0Z1bmN0aW9ucz50cnVlPC9JbnRyaW5zaWNGdW5jdGlvbnM+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+V0lOMzI7TkRFQlVHO19DT05TT0xFOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8TGluaz4KLSAgICAgIDxTdWJTeXN0ZW0+Q29uc29sZTwvU3ViU3lzdGVtPgotICAgICAgPEdlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj50cnVlPC9HZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24+Ci0gICAgICA8RW5hYmxlQ09NREFURm9sZGluZz50cnVlPC9FbmFibGVDT01EQVRGb2xkaW5nPgotICAgICAgPE9wdGltaXplUmVmZXJlbmNlcz50cnVlPC9PcHRpbWl6ZVJlZmVyZW5jZXM+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPFdhcm5pbmdMZXZlbD5MZXZlbDM8L1dhcm5pbmdMZXZlbD4KLSAgICAgIDxQcmVjb21waWxlZEhlYWRlcj4KLSAgICAgIDwvUHJlY29tcGlsZWRIZWFkZXI+Ci0gICAgICA8T3B0aW1pemF0aW9uPk1heFNwZWVkPC9PcHRpbWl6YXRpb24+Ci0gICAgICA8RnVuY3Rpb25MZXZlbExpbmtpbmc+dHJ1ZTwvRnVuY3Rpb25MZXZlbExpbmtpbmc+Ci0gICAgICA8SW50cmluc2ljRnVuY3Rpb25zPnRydWU8L0ludHJpbnNpY0Z1bmN0aW9ucz4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5XSU4zMjtOREVCVUc7X0NPTlNPTEU7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxMaW5rPgotICAgICAgPFN1YlN5c3RlbT5Db25zb2xlPC9TdWJTeXN0ZW0+Ci0gICAgICA8R2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPnRydWU8L0dlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj4KLSAgICAgIDxFbmFibGVDT01EQVRGb2xkaW5nPnRydWU8L0VuYWJsZUNPTURBVEZvbGRpbmc+Ci0gICAgICA8T3B0aW1pemVSZWZlcmVuY2VzPnRydWU8L09wdGltaXplUmVmZXJlbmNlcz4KICAgICA8L0xpbms+CiAgIDwvSXRlbURlZmluaXRpb25Hcm91cD4KICAgPEl0ZW1Hcm91cD4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXE1vZHVsZXNcX3Rlc3RlbWJlZC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cUHJvZ3JhbXNcX3Rlc3RlbWJlZC5jIiAvPgogICA8L0l0ZW1Hcm91cD4KICAgPEl0ZW1Hcm91cD4KICAgICA8UHJvamVjdFJlZmVyZW5jZSBJbmNsdWRlPSJweXRob25jb3JlLnZjeHByb2oiPgogICAgICAgPFByb2plY3Q+e2NmN2FjM2QxLWUyZGYtNDFkMi1iZWE2LTFlMjU1NmNkZWEyNn08L1Byb2plY3Q+Ci0gICAgICA8UHJpdmF0ZT50cnVlPC9Qcml2YXRlPgotICAgICAgPFJlZmVyZW5jZU91dHB1dEFzc2VtYmx5PnRydWU8L1JlZmVyZW5jZU91dHB1dEFzc2VtYmx5PgotICAgICAgPENvcHlMb2NhbFNhdGVsbGl0ZUFzc2VtYmxpZXM+ZmFsc2U8L0NvcHlMb2NhbFNhdGVsbGl0ZUFzc2VtYmxpZXM+Ci0gICAgICA8TGlua0xpYnJhcnlEZXBlbmRlbmNpZXM+dHJ1ZTwvTGlua0xpYnJhcnlEZXBlbmRlbmNpZXM+Ci0gICAgICA8VXNlTGlicmFyeURlcGVuZGVuY3lJbnB1dHM+ZmFsc2U8L1VzZUxpYnJhcnlEZXBlbmRlbmN5SW5wdXRzPgorICAgICAgPFJlZmVyZW5jZU91dHB1dEFzc2VtYmx5PmZhbHNlPC9SZWZlcmVuY2VPdXRwdXRBc3NlbWJseT4KICAgICA8L1Byb2plY3RSZWZlcmVuY2U+CiAgIDwvSXRlbUdyb3VwPgogICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC50YXJnZXRzIiAvPgpkaWZmIC0tZ2l0IGEvUENidWlsZC9fdGVzdGVtYmVkLnZjeHByb2ouZmlsdGVycyBiL1BDYnVpbGQvX3Rlc3RlbWJlZC52Y3hwcm9qLmZpbHRlcnMKaW5kZXggZGVhNTRkNC4uZjdmOWFiZSAxMDA2NDQKLS0tIGEvUENidWlsZC9fdGVzdGVtYmVkLnZjeHByb2ouZmlsdGVycworKysgYi9QQ2J1aWxkL190ZXN0ZW1iZWQudmN4cHJvai5maWx0ZXJzCkBAIC0xNSw3ICsxNSw3IEBACiAgICAgPC9GaWx0ZXI+CiAgIDwvSXRlbUdyb3VwPgogICA8SXRlbUdyb3VwPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cTW9kdWxlc1xfdGVzdGVtYmVkLmMiPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cUHJvZ3JhbXNcX3Rlc3RlbWJlZC5jIj4KICAgICAgIDxGaWx0ZXI+U291cmNlIEZpbGVzPC9GaWx0ZXI+CiAgICAgPC9DbENvbXBpbGU+CiAgIDwvSXRlbUdyb3VwPgpkaWZmIC0tZ2l0IGEvUENidWlsZC9fdGVzdGltcG9ydG11bHRpcGxlLnZjeHByb2ogYi9QQ2J1aWxkL190ZXN0aW1wb3J0bXVsdGlwbGUudmN4cHJvagppbmRleCA4NDk4NGZmLi5jZWMwNDJjIDEwMDY0NAotLS0gYS9QQ2J1aWxkL190ZXN0aW1wb3J0bXVsdGlwbGUudmN4cHJvagorKysgYi9QQ2J1aWxkL190ZXN0aW1wb3J0bXVsdGlwbGUudmN4cHJvagpAQCAtMzgsMTcxICszOCwzMyBAQAogICAgIDxQcm9qZWN0R3VpZD57MzZEMEM1MkMtREY0RS00NUQwLThCQzctRTI5NEMzQUJDNzgxfTwvUHJvamVjdEd1aWQ+CiAgICAgPFJvb3ROYW1lc3BhY2U+X3Rlc3RpbXBvcnRtdWx0aXBsZTwvUm9vdE5hbWVzcGFjZT4KICAgICA8S2V5d29yZD5XaW4zMlByb2o8L0tleXdvcmQ+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+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KICAgPEl0ZW1Hcm91cD4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXE1vZHVsZXNcX3Rlc3RpbXBvcnRtdWx0aXBsZS5jIiAvPgogICA8L0l0ZW1Hcm91cD4KZGlmZiAtLWdpdCBhL1BDYnVpbGQvX3RraW50ZXIudmN4cHJvaiBiL1BDYnVpbGQvX3RraW50ZXIudmN4cHJvagppbmRleCA2N2Y3MmZlLi5lMTQwOGExIDEwMDY0NAotLS0gYS9QQ2J1aWxkL190a2ludGVyLnZjeHByb2oKKysrIGIvUENidWlsZC9fdGtpbnRlci52Y3hwcm9qCkBAIC0zOSwyMDIgKzM5LDM1IEBACiAgICAgPFJvb3ROYW1lc3BhY2U+X3RraW50ZXI8L1Jvb3ROYW1lc3BhY2U+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+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0ieDY0LnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZF9kLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0ieDY0LnByb3BzIiAvPgorICAgIDxJbXBvcnQgUHJvamVjdD0idGNsdGsucHJvcHMiIC8+CiAgIDwvSW1wb3J0R3JvdXA+CiAgIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJVc2VyTWFjcm9zIiAvPgogICA8UHJvcGVydHlHcm91cD4KICAgICA8X1Byb2plY3RGaWxlVmVyc2lvbj4xMC4wLjMwMzE5LjE8L19Qcm9qZWN0RmlsZVZlcnNpb24+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiAvPgogICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj4KKyAgPEl0ZW1EZWZpbml0aW9uR3JvdXA+CiAgICAgPENsQ29tcGlsZT4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPiQodGNsdGtEaXIpXGluY2x1ZGU7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5XSVRIX0FQUElOSVQ7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxMaW5rPgotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+JCh0Y2x0a0xpYkRlYnVnKTslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPgotICAgIDxNaWRsPgotICAgICAgPFRhcmdldEVudmlyb25tZW50Plg2NDwvVGFyZ2V0RW52aXJvbm1lbnQ+Ci0gICAgPC9NaWRsPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4kKHRjbHRrNjREaXIpXGluY2x1ZGU7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5XSVRIX0FQUElOSVQ7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxMaW5rPgotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+JCh0Y2x0azY0TGliRGVidWcpOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4kKHRjbHRrRGlyKVxpbmNsdWRlOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+CisgICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4kKHRjbHRrRGlyKWluY2x1ZGU7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KICAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5XSVRIX0FQUElOSVQ7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgogICAgIDwvQ2xDb21waWxlPgogICAgIDxMaW5rPgogICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+JCh0Y2x0a0xpYik7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KICAgICA8L0xpbms+CiAgIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPgotICAgIDxNaWRsPgotICAgICAgPFRhcmdldEVudmlyb25tZW50Plg2NDwvVGFyZ2V0RW52aXJvbm1lbnQ+Ci0gICAgPC9NaWRsPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4kKHRjbHRrNjREaXIpXGluY2x1ZGU7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5XSVRIX0FQUElOSVQ7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxMaW5rPgotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+JCh0Y2x0azY0TGliKTslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4kKHRjbHRrRGlyKVxpbmNsdWRlOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+V0lUSF9BUFBJTklUOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8TGluaz4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPiQodGNsdGtMaWIpOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciPgotICAgIDxNaWRsPgotICAgICAgPFRhcmdldEVudmlyb25tZW50Plg2NDwvVGFyZ2V0RW52aXJvbm1lbnQ+Ci0gICAgPC9NaWRsPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4kKHRjbHRrNjREaXIpXGluY2x1ZGU7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5XSVRIX0FQUElOSVQ7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxMaW5rPgotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+JCh0Y2x0azY0TGliKTslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgICAgPFRhcmdldE1hY2hpbmU+TWFjaGluZVg2NDwvVGFyZ2V0TWFjaGluZT4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4kKHRjbHRrRGlyKVxpbmNsdWRlOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+V0lUSF9BUFBJTklUOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8TGluaz4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPiQodGNsdGtMaWIpOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyI+Ci0gICAgPE1pZGw+Ci0gICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+WDY0PC9UYXJnZXRFbnZpcm9ubWVudD4KLSAgICA8L01pZGw+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPiQodGNsdGs2NERpcilcaW5jbHVkZTslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPldJVEhfQVBQSU5JVDslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPExpbms+Ci0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz4kKHRjbHRrNjRMaWIpOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgICA8VGFyZ2V0TWFjaGluZT5NYWNoaW5lWDY0PC9UYXJnZXRNYWNoaW5lPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgogICA8SXRlbUdyb3VwPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cTW9kdWxlc1xfdGtpbnRlci5jIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cTW9kdWxlc1x0a2FwcGluaXQuYyIgLz4KQEAgLTI0NCw2ICs3NywxMiBAQAogICAgICAgPFByb2plY3Q+e2NmN2FjM2QxLWUyZGYtNDFkMi1iZWE2LTFlMjU1NmNkZWEyNn08L1Byb2plY3Q+CiAgICAgICA8UmVmZXJlbmNlT3V0cHV0QXNzZW1ibHk+ZmFsc2U8L1JlZmVyZW5jZU91dHB1dEFzc2VtYmx5PgogICAgIDwvUHJvamVjdFJlZmVyZW5jZT4KKyAgICA8UHJvamVjdFJlZmVyZW5jZSBJbmNsdWRlPSJ0Y2wudmN4cHJvaiI+CisgICAgICA8UHJvamVjdD57YjVmZDZmMWQtMTI5ZS00YmZmLTkzNDAtMDM2MDZmYWM3MjgzfTwvUHJvamVjdD4KKyAgICA8L1Byb2plY3RSZWZlcmVuY2U+CisgICAgPFByb2plY3RSZWZlcmVuY2UgSW5jbHVkZT0idGsudmN4cHJvaiI+CisgICAgICA8UHJvamVjdD57N2U4NWVjY2YtYTcyYy00ZGE0LTllNTItODg0NTA4ZTgwYmExfTwvUHJvamVjdD4KKyAgICA8L1Byb2plY3RSZWZlcmVuY2U+CiAgIDwvSXRlbUdyb3VwPgogICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC50YXJnZXRzIiAvPgogICA8SW1wb3J0R3JvdXAgTGFiZWw9IkV4dGVuc2lvblRhcmdldHMiPgpkaWZmIC0tZ2l0IGEvUENidWlsZC9iZGlzdF93aW5pbnN0LnZjeHByb2ogYi9QQ2J1aWxkL2JkaXN0X3dpbmluc3QudmN4cHJvagpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDkyNzZhMi4uMDAwMDAwMAotLS0gYS9QQ2J1aWxkL2JkaXN0X3dpbmluc3QudmN4cHJvagorKysgL2Rldi9udWxsCkBAIC0xLDE1OCArMCwwIEBACi3vu788P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgotPFByb2plY3QgRGVmYXVsdFRhcmdldHM9IkJ1aWxkIiBUb29sc1ZlcnNpb249IjQuMCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+Ci0gIDxJdGVtR3JvdXAgTGFiZWw9IlByb2plY3RDb25maWd1cmF0aW9ucyI+Ci0gICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IlJlbGVhc2V8V2luMzIiPgotICAgICAgPENvbmZpZ3VyYXRpb24+UmVsZWFzZTwvQ29uZmlndXJhdGlvbj4KLSAgICAgIDxQbGF0Zm9ybT5XaW4zMjwvUGxhdGZvcm0+Ci0gICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KLSAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iUmVsZWFzZXx4NjQiPgotICAgICAgPENvbmZpZ3VyYXRpb24+UmVsZWFzZTwvQ29uZmlndXJhdGlvbj4KLSAgICAgIDxQbGF0Zm9ybT54NjQ8L1BsYXRmb3JtPgotICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+Ci0gIDwvSXRlbUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBMYWJlbD0iR2xvYmFscyI+Ci0gICAgPFByb2plY3RHdWlkPntFQjFDMTlDMS0xRjE4LTQyMUUtOTczNS1DQUVFNjlEQzZBM0N9PC9Qcm9qZWN0R3VpZD4KLSAgICA8Um9vdE5hbWVzcGFjZT53aW5pbnN0PC9Sb290TmFtZXNwYWNlPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLkRlZmF1bHQucHJvcHMiIC8+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+QXBwbGljYXRpb248L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxVc2VPZk1mYz5mYWxzZTwvVXNlT2ZNZmM+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5BcHBsaWNhdGlvbjwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPFVzZU9mTWZjPmZhbHNlPC9Vc2VPZk1mYz4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnByb3BzIiAvPgotICA8SW1wb3J0R3JvdXAgTGFiZWw9IkV4dGVuc2lvblNldHRpbmdzIj4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlwcm9qZWN0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icmVsZWFzZS5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5cHJvamVjdC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InJlbGVhc2UucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJVc2VyTWFjcm9zIiAvPgotICA8UHJvcGVydHlHcm91cD4KLSAgICA8X1Byb2plY3RGaWxlVmVyc2lvbj4xMC4wLjMwMzE5LjE8L19Qcm9qZWN0RmlsZVZlcnNpb24+Ci0gICAgPE91dERpciBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj4uLlxsaWJcZGlzdHV0aWxzXGNvbW1hbmRcPC9PdXREaXI+Ci0gICAgPExpbmtJbmNyZW1lbnRhbCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj5mYWxzZTwvTGlua0luY3JlbWVudGFsPgotICAgIDxPdXREaXIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPi4uXGxpYlxkaXN0dXRpbHNcY29tbWFuZFw8L091dERpcj4KLSAgICA8SW50RGlyIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj4kKFNvbHV0aW9uRGlyKSQoUGxhdGZvcm1OYW1lKS10ZW1wLSQoQ29uZmlndXJhdGlvbilcJChQcm9qZWN0TmFtZSlcPC9JbnREaXI+Ci0gICAgPExpbmtJbmNyZW1lbnRhbCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+ZmFsc2U8L0xpbmtJbmNyZW1lbnRhbD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIC8+Ci0gICAgPFRhcmdldEV4dCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj4uZXhlPC9UYXJnZXRFeHQ+Ci0gICAgPFRhcmdldEV4dCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+LmV4ZTwvVGFyZ2V0RXh0PgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPgotICAgIDxNaWRsPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPk5ERUJVRzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgICA8TWtUeXBMaWJDb21wYXRpYmxlPnRydWU8L01rVHlwTGliQ29tcGF0aWJsZT4KLSAgICAgIDxTdXBwcmVzc1N0YXJ0dXBCYW5uZXI+dHJ1ZTwvU3VwcHJlc3NTdGFydHVwQmFubmVyPgotICAgICAgPFRhcmdldEVudmlyb25tZW50PldpbjMyPC9UYXJnZXRFbnZpcm9ubWVudD4KLSAgICAgIDxUeXBlTGlicmFyeU5hbWU+LlwuLlxsaWJcZGlzdHV0aWxzXGNvbW1hbmRcd2luaW5zdC50bGI8L1R5cGVMaWJyYXJ5TmFtZT4KLSAgICAgIDxIZWFkZXJGaWxlTmFtZT4KLSAgICAgIDwvSGVhZGVyRmlsZU5hbWU+Ci0gICAgPC9NaWRsPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8T3B0aW1pemF0aW9uPk1pblNwYWNlPC9PcHRpbWl6YXRpb24+Ci0gICAgICA8SW5saW5lRnVuY3Rpb25FeHBhbnNpb24+T25seUV4cGxpY2l0SW5saW5lPC9JbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXFBDXGJkaXN0X3dpbmluc3Q7Li5cSW5jbHVkZTsuLlxNb2R1bGVzXHpsaWI7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5fQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURTslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgICA8U3RyaW5nUG9vbGluZz50cnVlPC9TdHJpbmdQb29saW5nPgotICAgICAgPFJ1bnRpbWVMaWJyYXJ5Pk11bHRpVGhyZWFkZWQ8L1J1bnRpbWVMaWJyYXJ5PgotICAgICAgPEZ1bmN0aW9uTGV2ZWxMaW5raW5nPnRydWU8L0Z1bmN0aW9uTGV2ZWxMaW5raW5nPgotICAgICAgPFdhcm5pbmdMZXZlbD5MZXZlbDM8L1dhcm5pbmdMZXZlbD4KLSAgICAgIDxTdXBwcmVzc1N0YXJ0dXBCYW5uZXI+dHJ1ZTwvU3VwcHJlc3NTdGFydHVwQmFubmVyPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxSZXNvdXJjZUNvbXBpbGU+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+TkRFQlVHOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICAgIDxDdWx0dXJlPjB4MDAwMDwvQ3VsdHVyZT4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXFBDOy4uXFBDXGJkaXN0X3dpbmluc3Q7Li5cSW5jbHVkZTslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgIDwvUmVzb3VyY2VDb21waWxlPgotICAgIDxMaW5rPgotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Y29tY3RsMzIubGliO2ltYWdlaGxwLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgICAgPE91dHB1dEZpbGU+Li5cbGliXGRpc3R1dGlsc1xjb21tYW5kXHdpbmluc3QtMTAuMC5leGU8L091dHB1dEZpbGU+Ci0gICAgICA8U3VwcHJlc3NTdGFydHVwQmFubmVyPnRydWU8L1N1cHByZXNzU3RhcnR1cEJhbm5lcj4KLSAgICAgIDxJZ25vcmVTcGVjaWZpY0RlZmF1bHRMaWJyYXJpZXM+TElCQzslKElnbm9yZVNwZWNpZmljRGVmYXVsdExpYnJhcmllcyk8L0lnbm9yZVNwZWNpZmljRGVmYXVsdExpYnJhcmllcz4KLSAgICAgIDxQcm9ncmFtRGF0YWJhc2VGaWxlPi4uXGxpYlxkaXN0dXRpbHNcY29tbWFuZFx3aW5pbnN0LTEwLjAucGRiPC9Qcm9ncmFtRGF0YWJhc2VGaWxlPgotICAgICAgPFN1YlN5c3RlbT5XaW5kb3dzPC9TdWJTeXN0ZW0+Ci0gICAgICA8UmFuZG9taXplZEJhc2VBZGRyZXNzPmZhbHNlPC9SYW5kb21pemVkQmFzZUFkZHJlc3M+Ci0gICAgICA8RGF0YUV4ZWN1dGlvblByZXZlbnRpb24+Ci0gICAgICA8L0RhdGFFeGVjdXRpb25QcmV2ZW50aW9uPgotICAgICAgPFRhcmdldE1hY2hpbmU+TWFjaGluZVg4NjwvVGFyZ2V0TWFjaGluZT4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPgotICAgIDxNaWRsPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPk5ERUJVRzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgICA8TWtUeXBMaWJDb21wYXRpYmxlPnRydWU8L01rVHlwTGliQ29tcGF0aWJsZT4KLSAgICAgIDxTdXBwcmVzc1N0YXJ0dXBCYW5uZXI+dHJ1ZTwvU3VwcHJlc3NTdGFydHVwQmFubmVyPgotICAgICAgPFRhcmdldEVudmlyb25tZW50Plg2NDwvVGFyZ2V0RW52aXJvbm1lbnQ+Ci0gICAgICA8VHlwZUxpYnJhcnlOYW1lPi5cLi5cbGliXGRpc3R1dGlsc1xjb21tYW5kXHdpbmluc3QudGxiPC9UeXBlTGlicmFyeU5hbWU+Ci0gICAgICA8SGVhZGVyRmlsZU5hbWU+Ci0gICAgICA8L0hlYWRlckZpbGVOYW1lPgotICAgIDwvTWlkbD4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPE9wdGltaXphdGlvbj5NaW5TcGFjZTwvT3B0aW1pemF0aW9uPgotICAgICAgPElubGluZUZ1bmN0aW9uRXhwYW5zaW9uPk9ubHlFeHBsaWNpdElubGluZTwvSW5saW5lRnVuY3Rpb25FeHBhbnNpb24+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uLlxQQ1xiZGlzdF93aW5pbnN0Oy4uXEluY2x1ZGU7Li5cTW9kdWxlc1x6bGliOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X0NSVF9TRUNVUkVfTk9fREVQUkVDQVRFO19DUlRfTk9OU1REQ19OT19ERVBSRUNBVEU7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgICAgPFN0cmluZ1Bvb2xpbmc+dHJ1ZTwvU3RyaW5nUG9vbGluZz4KLSAgICAgIDxSdW50aW1lTGlicmFyeT5NdWx0aVRocmVhZGVkPC9SdW50aW1lTGlicmFyeT4KLSAgICAgIDxGdW5jdGlvbkxldmVsTGlua2luZz50cnVlPC9GdW5jdGlvbkxldmVsTGlua2luZz4KLSAgICAgIDxXYXJuaW5nTGV2ZWw+TGV2ZWwzPC9XYXJuaW5nTGV2ZWw+Ci0gICAgICA8U3VwcHJlc3NTdGFydHVwQmFubmVyPnRydWU8L1N1cHByZXNzU3RhcnR1cEJhbm5lcj4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8UmVzb3VyY2VDb21waWxlPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPk5ERUJVRzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgICA8Q3VsdHVyZT4weDAwMDA8L0N1bHR1cmU+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uLlxQQzsuLlxQQ1xiZGlzdF93aW5pbnN0Oy4uXEluY2x1ZGU7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICA8L1Jlc291cmNlQ29tcGlsZT4KLSAgICA8TGluaz4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPmNvbWN0bDMyLmxpYjtpbWFnZWhscC5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KLSAgICAgIDxPdXRwdXRGaWxlPi4uXGxpYlxkaXN0dXRpbHNcY29tbWFuZFx3aW5pbnN0LTEwLjAtYW1kNjQuZXhlPC9PdXRwdXRGaWxlPgotICAgICAgPFN1cHByZXNzU3RhcnR1cEJhbm5lcj50cnVlPC9TdXBwcmVzc1N0YXJ0dXBCYW5uZXI+Ci0gICAgICA8SWdub3JlU3BlY2lmaWNEZWZhdWx0TGlicmFyaWVzPkxJQkM7JShJZ25vcmVTcGVjaWZpY0RlZmF1bHRMaWJyYXJpZXMpPC9JZ25vcmVTcGVjaWZpY0RlZmF1bHRMaWJyYXJpZXM+Ci0gICAgICA8UHJvZ3JhbURhdGFiYXNlRmlsZT4uLlxsaWJcZGlzdHV0aWxzXGNvbW1hbmRcd2luaW5zdC05LjAtYW1kNjQucGRiPC9Qcm9ncmFtRGF0YWJhc2VGaWxlPgotICAgICAgPFN1YlN5c3RlbT5XaW5kb3dzPC9TdWJTeXN0ZW0+Ci0gICAgICA8UmFuZG9taXplZEJhc2VBZGRyZXNzPmZhbHNlPC9SYW5kb21pemVkQmFzZUFkZHJlc3M+Ci0gICAgICA8RGF0YUV4ZWN1dGlvblByZXZlbnRpb24+Ci0gICAgICA8L0RhdGFFeGVjdXRpb25QcmV2ZW50aW9uPgotICAgICAgPFRhcmdldE1hY2hpbmU+TWFjaGluZVg2NDwvVGFyZ2V0TWFjaGluZT4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1Hcm91cD4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXFBDXGJkaXN0X3dpbmluc3RcZXh0cmFjdC5jIiAvPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cUENcYmRpc3Rfd2luaW5zdFxpbnN0YWxsLmMiIC8+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxNb2R1bGVzXHpsaWJcYWRsZXIzMi5jIiAvPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cTW9kdWxlc1x6bGliXGNyYzMyLmMiIC8+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxNb2R1bGVzXHpsaWJcaW5mZmFzdC5jIiAvPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cTW9kdWxlc1x6bGliXGluZmxhdGUuYyIgLz4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXE1vZHVsZXNcemxpYlxpbmZ0cmVlcy5jIiAvPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cTW9kdWxlc1x6bGliXHp1dGlsLmMiIC8+Ci0gIDwvSXRlbUdyb3VwPgotICA8SXRlbUdyb3VwPgotICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cUENcYmRpc3Rfd2luaW5zdFxhcmNoaXZlLmgiIC8+Ci0gIDwvSXRlbUdyb3VwPgotICA8SXRlbUdyb3VwPgotICAgIDxSZXNvdXJjZUNvbXBpbGUgSW5jbHVkZT0iLi5cUENcYmRpc3Rfd2luaW5zdFxpbnN0YWxsLnJjIiAvPgotICA8L0l0ZW1Hcm91cD4KLSAgPEl0ZW1Hcm91cD4KLSAgICA8Tm9uZSBJbmNsdWRlPSIuLlxQQ1xiZGlzdF93aW5pbnN0XFB5dGhvblBvd2VyZWQuYm1wIiAvPgotICA8L0l0ZW1Hcm91cD4KLSAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAudGFyZ2V0cyIgLz4KLSAgPEltcG9ydEdyb3VwIExhYmVsPSJFeHRlbnNpb25UYXJnZXRzIj4KLSAgPC9JbXBvcnRHcm91cD4KLTwvUHJvamVjdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9QQ2J1aWxkL2J1aWxkLmJhdCBiL1BDYnVpbGQvYnVpbGQuYmF0CmluZGV4IGZhMGQ5NWIuLjI4NDYxNDQgMTAwNjQ0Ci0tLSBhL1BDYnVpbGQvYnVpbGQuYmF0CisrKyBiL1BDYnVpbGQvYnVpbGQuYmF0CkBAIC0xLDE5ICsxLDQzIEBACiBAZWNobyBvZmYKLXJlbSBBIGJhdGNoIHByb2dyYW0gdG8gYnVpbGQgb3IgcmVidWlsZCBhIHBhcnRpY3VsYXIgY29uZmlndXJhdGlvbi4KK3JlbSBBIGJhdGNoIHByb2dyYW0gdG8gYnVpbGQgb3IgcmVidWlsZCBhIHBhcnRpY3VsYXIgY29uZmlndXJhdGlvbiwKIHJlbSBqdXN0IGZvciBjb252ZW5pZW5jZS4KIAorcmVtIEFyZ3VtZW50czoKK3JlbSAgLWMgIFNldCB0aGUgY29uZmlndXJhdGlvbiAoZGVmYXVsdDogUmVsZWFzZSkKK3JlbSAgLXAgIFNldCB0aGUgcGxhdGZvcm0gKHg2NCBvciBXaW4zMiwgZGVmYXVsdDogV2luMzIpCityZW0gIC1yICBUYXJnZXQgUmVidWlsZCBpbnN0ZWFkIG9mIEJ1aWxkCityZW0gIC10ICBTZXQgdGhlIHRhcmdldCBtYW51YWxseSAoQnVpbGQsIFJlYnVpbGQsIENsZWFuLCBvciBDbGVhbkFsbCkKK3JlbSAgLWQgIFNldCB0aGUgY29uZmlndXJhdGlvbiB0byBEZWJ1ZworcmVtICAtZSAgUHVsbCBpbiBleHRlcm5hbCBsaWJyYXJpZXMgdXNpbmcgZ2V0X2V4dGVybmFscy5iYXQKK3JlbSAgLU0gIERpc2FibGUgcGFyYWxsZWwgYnVpbGQKK3JlbSAgLXYgIEluY3JlYXNlZCBvdXRwdXQgbWVzc2FnZXMKKwogc2V0bG9jYWwKIHNldCBwbGF0Zj1XaW4zMgorc2V0IHZzX3BsYXRmPXg4Ngogc2V0IGNvbmY9UmVsZWFzZQotc2V0IHRhcmdldD1idWlsZAorc2V0IHRhcmdldD1CdWlsZAogc2V0IGRpcj0lfmRwMAorc2V0IHBhcmFsbGVsPS9tCitzZXQgdmVyYm9zZT0vbm9sb2dvIC92Om0KIAogOkNoZWNrT3B0cwotaWYgIiUxIj09Ii1jIiAoc2V0IGNvbmY9JTIpICYgc2hpZnQgJiBzaGlmdCAmIGdvdG8gQ2hlY2tPcHRzCi1pZiAiJTEiPT0iLXAiIChzZXQgcGxhdGY9JTIpICYgc2hpZnQgJiBzaGlmdCAmIGdvdG8gQ2hlY2tPcHRzCi1pZiAiJTEiPT0iLXIiIChzZXQgdGFyZ2V0PXJlYnVpbGQpICYgc2hpZnQgJiBnb3RvIENoZWNrT3B0cwotaWYgIiUxIj09Ii1kIiAoc2V0IGNvbmY9RGVidWcpICYgc2hpZnQgJiBnb3RvIENoZWNrT3B0cworaWYgJyUxJz09Jy1jJyAoc2V0IGNvbmY9JTIpICYgc2hpZnQgJiBzaGlmdCAmIGdvdG8gQ2hlY2tPcHRzCitpZiAnJTEnPT0nLXAnIChzZXQgcGxhdGY9JTIpICYgc2hpZnQgJiBzaGlmdCAmIGdvdG8gQ2hlY2tPcHRzCitpZiAnJTEnPT0nLXInIChzZXQgdGFyZ2V0PVJlYnVpbGQpICYgc2hpZnQgJiBnb3RvIENoZWNrT3B0cworaWYgJyUxJz09Jy10JyAoc2V0IHRhcmdldD0lMikgJiBzaGlmdCAmIHNoaWZ0ICYgZ290byBDaGVja09wdHMKK2lmICclMSc9PSctZCcgKHNldCBjb25mPURlYnVnKSAmIHNoaWZ0ICYgZ290byBDaGVja09wdHMKK2lmICclMSc9PSctZScgY2FsbCAiJWRpciVnZXRfZXh0ZXJuYWxzLmJhdCIgJiBzaGlmdCAmIGdvdG8gQ2hlY2tPcHRzCitpZiAnJTEnPT0nLU0nIChzZXQgcGFyYWxsZWw9KSAmIHNoaWZ0ICYgZ290byBDaGVja09wdHMKK2lmICclMSc9PSctdicgKHNldCB2ZXJib3NlPS92Om4pICYgc2hpZnQgJiBnb3RvIENoZWNrT3B0cwogCi1zZXQgY21kPW1zYnVpbGQgL3A6dXNlZW52PXRydWUgJWRpciVwY2J1aWxkLnNsbiAvdDoldGFyZ2V0JSAvcDpDb25maWd1cmF0aW9uPSVjb25mJSAvcDpQbGF0Zm9ybT0lcGxhdGYlCi1lY2hvICVjbWQlCi0lY21kJQoraWYgJyVwbGF0ZiUnPT0neDY0JyAoc2V0IHZzX3BsYXRmPXg4Nl9hbWQ2NCkKKworcmVtIFNldHVwIHRoZSBlbnZpcm9ubWVudAorY2FsbCAiJWRpciVlbnYuYmF0IiAldnNfcGxhdGYlID5udWwKKworcmVtIENhbGwgb24gTVNCdWlsZCB0byBkbyB0aGUgd29yaywgZWNobyB0aGUgY29tbWFuZC4KK3JlbSBQYXNzaW5nICUxLTkgaXMgbm90IHRoZSBwcmVmZXJyZWQgb3B0aW9uLCBidXQgYXJndW1lbnQgcGFyc2luZyBpbgorcmVtIGJhdGNoIGlzLCBzaGFsbCB3ZSBzYXksICJsYWNrbHVzdGVyIgorZWNobyBvbgorbXNidWlsZCAiJWRpciVwY2J1aWxkLnByb2oiIC90OiV0YXJnZXQlICVwYXJhbGxlbCUgJXZlcmJvc2UlIC9wOkNvbmZpZ3VyYXRpb249JWNvbmYlIC9wOlBsYXRmb3JtPSVwbGF0ZiUgJTEgJTIgJTMgJTQgJTUgJTYgJTcgJTggJTkKZGlmZiAtLWdpdCBhL1BDYnVpbGQvYnVpbGRfcGdvLmJhdCBiL1BDYnVpbGQvYnVpbGRfcGdvLmJhdAppbmRleCAwYzBhNDczLi41OTg4YzBhIDEwMDY0NAotLS0gYS9QQ2J1aWxkL2J1aWxkX3Bnby5iYXQKKysrIGIvUENidWlsZC9idWlsZF9wZ28uYmF0CkBAIC03LDE0ICs3LDE2IEBACiAKIHNldGxvY2FsCiBzZXQgcGxhdGY9V2luMzIKK3NldCBwYXJhbGxlbD0vbQorc2V0IGRpcj0lfmRwMAogCiByZW0gdXNlIHRoZSBwZXJmb3JtYW5jZSB0ZXN0c3VpdGUuICBUaGlzIGlzIHF1aWNrIGFuZCBzaW1wbGUKLXNldCBqb2IxPS4uXHRvb2xzXHB5YmVuY2hccHliZW5jaC5weSAtbiAxIC1DIDEgLS13aXRoLWdjCi1zZXQgcGF0aDE9Li5cdG9vbHNccHliZW5jaAorc2V0IGpvYjE9IiVkaXIlLi5cdG9vbHNccHliZW5jaFxweWJlbmNoLnB5IiAtbiAxIC1DIDEgLS13aXRoLWdjCitzZXQgcGF0aDE9IiVkaXIlLi5cdG9vbHNccHliZW5jaCIKIAogcmVtIG9yIHRoZSB3aG9sZSB0ZXN0c3VpdGUgZm9yIG1vcmUgdGhvcm91Z2ggdGVzdGluZwotc2V0IGpvYjI9Li5cbGliXHRlc3RccmVncnRlc3QucHkKLXNldCBwYXRoMj0uLlxsaWIKK3NldCBqb2IyPSIlZGlyJS4uXGxpYlx0ZXN0XHJlZ3J0ZXN0LnB5Igorc2V0IHBhdGgyPSIlZGlyJS4uXGxpYiIKIAogc2V0IGpvYj0lam9iMSUKIHNldCBjbHJwYXRoPSVwYXRoMSUKQEAgLTIyLDIwICsyNCwyNSBAQAogOkNoZWNrT3B0cwogaWYgIiUxIj09Ii1wIiAoc2V0IHBsYXRmPSUyKSAmIHNoaWZ0ICYgc2hpZnQgJiBnb3RvIENoZWNrT3B0cwogaWYgIiUxIj09Ii0yIiAoc2V0IGpvYj0lam9iMiUpICYgKHNldCBjbHJwYXRoPSVwYXRoMiUpICYgc2hpZnQgJiBnb3RvIENoZWNrT3B0cworaWYgIiUxIj09Ii1NIiAoc2V0IHBhcmFsbGVsPSkgJiBzaGlmdCAmIGdvdG8gQ2hlY2tPcHRzCiAKLXNldCBQR0k9JXBsYXRmJS1wZ2kKLXNldCBQR089JXBsYXRmJS1wZ28KIAotQGVjaG8gb24KK3JlbSBXZSBjYW5ub3QgY3Jvc3MgY29tcGlsZSBQR08gYnVpbGRzLCBhcyB0aGUgb3B0aW1pemF0aW9uIG5lZWRzIHRvIGJlIHJ1biBuYXRpdmVseQorc2V0IHZzX3BsYXRmPXg4Ngorc2V0IFBHTz0lZGlyJXdpbjMyLXBnbworCitpZiAiJXBsYXRmJSI9PSJ4NjQiIChzZXQgdnNfcGxhdGY9YW1kNjQpICYgKHNldCBQR089JWRpciVhbWQ2NC1wZ28pCityZW0gU2V0dXAgdGhlIGVudmlyb25tZW50CitjYWxsICIlZGlyJWVudi5iYXQiICV2c19wbGF0ZiUKKworCiByZW0gYnVpbGQgdGhlIGluc3RydW1lbnRlZCB2ZXJzaW9uCi1jYWxsIGJ1aWxkIC1wICVwbGF0ZiUgLWMgUEdJbnN0cnVtZW50Cittc2J1aWxkICIlZGlyJXBjYnVpbGQucHJvaiIgJXBhcmFsbGVsJSAvdDpCdWlsZCAvcDpDb25maWd1cmF0aW9uPVBHSW5zdHJ1bWVudCAvcDpQbGF0Zm9ybT0lcGxhdGYlICUxICUyICUzICU0ICU1ICU2ICU3ICU4ICU5CiAKIHJlbSByZW1vdmUgLnB5YyBmaWxlcywgLnBnYyBmaWxlcyBhbmQgZXhlY3V0ZSB0aGUgam9iCi0lUEdJJVxweXRob24uZXhlIHJtcHljLnB5ICVjbHJwYXRoJQotZGVsICVQR0klXCoucGdjCi0lUEdJJVxweXRob24uZXhlICVqb2IlCisiJVBHTyVccHl0aG9uLmV4ZSIgIiVkaXIlcm1weWMucHkiICVjbHJwYXRoJQorZGVsICIlUEdPJVwqLnBnYyIKKyIlUEdPJVxweXRob24uZXhlIiAlam9iJQogCi1yZW0gZmluYWxseSBidWlsZCB0aGUgb3B0aW1pemVkIHZlcnNpb24KLWlmIGV4aXN0ICVQR08lIGRlbCAvcyAvcSAlUEdPJQotY2FsbCBidWlsZCAtcCAlcGxhdGYlIC1jIFBHVXBkYXRlCi0KK3JlbSBidWlsZCBvcHRpbWl6ZWQgdmVyc2lvbgorbXNidWlsZCAiJWRpciVwY2J1aWxkLnByb2oiICVwYXJhbGxlbCUgL3Q6QnVpbGQgL3A6Q29uZmlndXJhdGlvbj1QR1VwZGF0ZSAvcDpQbGF0Zm9ybT0lcGxhdGYlICUxICUyICUzICU0ICU1ICU2ICU3ICU4ICU5CmRpZmYgLS1naXQgYS9QQ2J1aWxkL2J1aWxkX3NzbC5iYXQgYi9QQ2J1aWxkL2J1aWxkX3NzbC5iYXQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDgwNWQ3N2EuLjAwMDAwMDAKLS0tIGEvUENidWlsZC9idWlsZF9zc2wuYmF0CisrKyAvZGV2L251bGwKQEAgLTEsMTIgKzAsMCBAQAotQGVjaG8gb2ZmCi1pZiBub3QgZGVmaW5lZCBIT1NUX1BZVEhPTiAoCi0gIGlmICUxIEVRVSBEZWJ1ZyAoCi0gICAgc2V0IEhPU1RfUFlUSE9OPXB5dGhvbl9kLmV4ZQotICAgIGlmIG5vdCBleGlzdCBweXRob24zNF9kLmRsbCBleGl0IDEKLSAgKSBFTFNFICgKLSAgICBzZXQgSE9TVF9QWVRIT049cHl0aG9uLmV4ZQotICAgIGlmIG5vdCBleGlzdCBweXRob24zNC5kbGwgZXhpdCAxCi0gICkKLSkKLSVIT1NUX1BZVEhPTiUgYnVpbGRfc3NsLnB5ICUxICUyICUzCi0KZGlmZiAtLWdpdCBhL1BDYnVpbGQvYnVpbGRfc3NsLnB5IGIvUENidWlsZC9idWlsZF9zc2wucHkKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDNjYjRmNjIuLjAwMDAwMDAKLS0tIGEvUENidWlsZC9idWlsZF9zc2wucHkKKysrIC9kZXYvbnVsbApAQCAtMSwyNjQgKzAsMCBAQAotIyBTY3JpcHQgZm9yIGJ1aWxkaW5nIHRoZSBfc3NsIGFuZCBfaGFzaGxpYiBtb2R1bGVzIGZvciBXaW5kb3dzLgotIyBVc2VzIFBlcmwgdG8gc2V0dXAgdGhlIE9wZW5TU0wgZW52aXJvbm1lbnQgY29ycmVjdGx5Ci0jIGFuZCBidWlsZCBPcGVuU1NMLCB0aGVuIGludm9rZXMgYSBzaW1wbGUgbm1ha2Ugc2Vzc2lvbgotIyBmb3IgdGhlIGFjdHVhbCBfc3NsLnB5ZCBhbmQgX2hhc2hsaWIucHlkIERMTHMuCi0KLSMgVEhFT1JFVElDQUxMWSwgeW91IGNhbjoKLSMgKiBVbnBhY2sgdGhlIGxhdGVzdCBTU0wgcmVsZWFzZSBvbmUgbGV2ZWwgYWJvdmUgeW91ciBtYWluIFB5dGhvbiBzb3VyY2UKLSMgICBkaXJlY3RvcnkuICBJdCBpcyBsaWtlbHkgeW91IHdpbGwgYWxyZWFkeSBmaW5kIHRoZSB6bGliIGxpYnJhcnkgYW5kCi0jICAgYW55IG90aGVyIGV4dGVybmFsIHBhY2thZ2VzIHRoZXJlLgotIyAqIEluc3RhbGwgQWN0aXZlUGVybCBhbmQgZW5zdXJlIGl0IGlzIHNvbWV3aGVyZSBvbiB5b3VyIHBhdGguCi0jICogUnVuIHRoaXMgc2NyaXB0IGZyb20gdGhlIFBDQnVpbGQgZGlyZWN0b3J5LgotIwotIyBpdCBzaG91bGQgY29uZmlndXJlIGFuZCBidWlsZCBTU0wsIHRoZW4gYnVpbGQgdGhlIF9zc2wgYW5kIF9oYXNobGliCi0jIFB5dGhvbiBleHRlbnNpb25zIHdpdGhvdXQgaW50ZXJ2ZW50aW9uLgotCi0jIE1vZGlmaWVkIGJ5IENocmlzdGlhbiBIZWltZXMKLSMgTm93IHRoaXMgc2NyaXB0IHN1cHBvcnRzIHByZS1nZW5lcmF0ZWQgbWFrZWZpbGVzIGFuZCBhc3NlbWJseSBmaWxlcy4KLSMgRGV2ZWxvcGVycyBkb24ndCBuZWVkIGFuIGluc3RhbGxhdGlvbiBvZiBQZXJsIGFueW1vcmUgdG8gYnVpbGQgUHl0aG9uLiBBIHN2bgotIyBjaGVja291dCBmcm9tIG91ciBzdm4gcmVwb3NpdG9yeSBpcyBlbm91Z2guCi0jCi0jIEluIE9yZGVyIHRvIGNyZWF0ZSB0aGUgZmlsZXMgaW4gdGhlIGNhc2Ugb2YgYW4gdXBkYXRlIHlvdSBzdGlsbCBuZWVkIFBlcmwuCi0jIFJ1biBidWlsZF9zc2wgaW4gdGhpcyBvcmRlcjoKLSMgcHl0aG9uLmV4ZSBidWlsZF9zc2wucHkgUmVsZWFzZSB4NjQKLSMgcHl0aG9uLmV4ZSBidWlsZF9zc2wucHkgUmVsZWFzZSBXaW4zMgotCi1pbXBvcnQgb3MsIHN5cywgcmUsIHNodXRpbAotaW1wb3J0IHN1YnByb2Nlc3MKLQotIyBGaW5kIGFsbCAiZm9vLmV4ZSIgZmlsZXMgb24gdGhlIFBBVEguCi1kZWYgZmluZF9hbGxfb25fcGF0aChmaWxlbmFtZSwgZXh0cmFzID0gTm9uZSk6Ci0gICAgZW50cmllcyA9IG9zLmVudmlyb25bIlBBVEgiXS5zcGxpdChvcy5wYXRoc2VwKQotICAgIHJldCA9IFtdCi0gICAgZm9yIHAgaW4gZW50cmllczoKLSAgICAgICAgZm5hbWUgPSBvcy5wYXRoLmFic3BhdGgob3MucGF0aC5qb2luKHAsIGZpbGVuYW1lKSkKLSAgICAgICAgaWYgb3MucGF0aC5pc2ZpbGUoZm5hbWUpIGFuZCBmbmFtZSBub3QgaW4gcmV0OgotICAgICAgICAgICAgcmV0LmFwcGVuZChmbmFtZSkKLSAgICBpZiBleHRyYXM6Ci0gICAgICAgIGZvciBwIGluIGV4dHJhczoKLSAgICAgICAgICAgIGZuYW1lID0gb3MucGF0aC5hYnNwYXRoKG9zLnBhdGguam9pbihwLCBmaWxlbmFtZSkpCi0gICAgICAgICAgICBpZiBvcy5wYXRoLmlzZmlsZShmbmFtZSkgYW5kIGZuYW1lIG5vdCBpbiByZXQ6Ci0gICAgICAgICAgICAgICAgcmV0LmFwcGVuZChmbmFtZSkKLSAgICByZXR1cm4gcmV0Ci0KLSMgRmluZCBhIHN1aXRhYmxlIFBlcmwgaW5zdGFsbGF0aW9uIGZvciBPcGVuU1NMLgotIyBjeWd3aW4gcGVybCBkb2VzICpub3QqIHdvcmsuICBBY3RpdmVQZXJsIGRvZXMuCi0jIEJlaW5nIGEgUGVybCBkdW1teSwgdGhlIHNpbXBsZXN0IHdheSBJIGNhbiBjaGVjayBpcyBpZiB0aGUgIldpbjMyIiBwYWNrYWdlCi0jIGlzIGF2YWlsYWJsZS4KLWRlZiBmaW5kX3dvcmtpbmdfcGVybChwZXJscyk6Ci0gICAgZm9yIHBlcmwgaW4gcGVybHM6Ci0gICAgICAgIHRyeToKLSAgICAgICAgICAgIHN1YnByb2Nlc3MuY2hlY2tfb3V0cHV0KFtwZXJsLCAiLWUiLCAidXNlIFdpbjMyOyJdKQotICAgICAgICBleGNlcHQgc3VicHJvY2Vzcy5DYWxsZWRQcm9jZXNzRXJyb3I6Ci0gICAgICAgICAgICBjb250aW51ZQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgcmV0dXJuIHBlcmwKLQotICAgIGlmIHBlcmxzOgotICAgICAgICBwcmludCgiVGhlIGZvbGxvd2luZyBwZXJsIGludGVycHJldGVycyB3ZXJlIGZvdW5kOiIpCi0gICAgICAgIGZvciBwIGluIHBlcmxzOgotICAgICAgICAgICAgcHJpbnQoIiAiLCBwKQotICAgICAgICBwcmludCgiIE5vbmUgb2YgdGhlc2UgdmVyc2lvbnMgYXBwZWFyIHN1aXRhYmxlIGZvciBidWlsZGluZyBPcGVuU1NMIikKLSAgICBlbHNlOgotICAgICAgICBwcmludCgiTk8gcGVybCBpbnRlcnByZXRlcnMgd2VyZSBmb3VuZCBvbiB0aGlzIG1hY2hpbmUgYXQgYWxsISIpCi0gICAgcHJpbnQoIiBQbGVhc2UgaW5zdGFsbCBBY3RpdmVQZXJsIGFuZCBlbnN1cmUgaXQgYXBwZWFycyBvbiB5b3VyIHBhdGgiKQotCi0jIEZldGNoIFNTTCBkaXJlY3RvcnkgZnJvbSBWQyBwcm9wZXJ0aWVzCi1kZWYgZ2V0X3NzbF9kaXIoKToKLSAgICBwcm9wZmlsZSA9IChvcy5wYXRoLmpvaW4ob3MucGF0aC5kaXJuYW1lKF9fZmlsZV9fKSwgJ3B5cHJvamVjdC5wcm9wcycpKQotICAgIHdpdGggb3Blbihwcm9wZmlsZSwgZW5jb2Rpbmc9J3V0Zi04LXNpZycpIGFzIGY6Ci0gICAgICAgIG0gPSByZS5zZWFyY2goJ29wZW5zc2wtKFtePF0rKTwnLCBmLnJlYWQoKSkKLSAgICAgICAgcmV0dXJuICIuLlxleHRlcm5hbHNcb3BlbnNzbC0iK20uZ3JvdXAoMSkKLQotCi1kZWYgY3JlYXRlX21ha2VmaWxlNjQobWFrZWZpbGUsIG0zMik6Ci0gICAgIiIiQ3JlYXRlIGFuZCBmaXggbWFrZWZpbGUgZm9yIDY0Yml0Ci0KLSAgICBSZXBsYWNlIDMyIHdpdGggNjRiaXQgZGlyZWN0b3JpZXMKLSAgICAiIiIKLSAgICBpZiBub3Qgb3MucGF0aC5pc2ZpbGUobTMyKToKLSAgICAgICAgcmV0dXJuCi0gICAgd2l0aCBvcGVuKG0zMikgYXMgZmluOgotICAgICAgICB3aXRoIG9wZW4obWFrZWZpbGUsICd3JykgYXMgZm91dDoKLSAgICAgICAgICAgIGZvciBsaW5lIGluIGZpbjoKLSAgICAgICAgICAgICAgICBsaW5lID0gbGluZS5yZXBsYWNlKCI9dG1wMzIiLCAiPXRtcDY0IikKLSAgICAgICAgICAgICAgICBsaW5lID0gbGluZS5yZXBsYWNlKCI9b3V0MzIiLCAiPW91dDY0IikKLSAgICAgICAgICAgICAgICBsaW5lID0gbGluZS5yZXBsYWNlKCI9aW5jMzIiLCAiPWluYzY0IikKLSAgICAgICAgICAgICAgICAjIGZvcmNlIDY0IGJpdCBtYWNoaW5lCi0gICAgICAgICAgICAgICAgbGluZSA9IGxpbmUucmVwbGFjZSgiTUtMSUI9bGliIiwgIk1LTElCPWxpYiAvTUFDSElORTpYNjQiKQotICAgICAgICAgICAgICAgIGxpbmUgPSBsaW5lLnJlcGxhY2UoIkxGTEFHUz0iLCAiTEZMQUdTPS9NQUNISU5FOlg2NCAiKQotICAgICAgICAgICAgICAgICMgZG9uJ3QgbGluayBhZ2FpbnN0IHRoZSBsaWIgb24gNjRiaXQgc3lzdGVtcwotICAgICAgICAgICAgICAgIGxpbmUgPSBsaW5lLnJlcGxhY2UoImJ1ZmZlcm92ZXJmbG93dS5saWIiLCAiIikKLSAgICAgICAgICAgICAgICBmb3V0LndyaXRlKGxpbmUpCi0gICAgb3MudW5saW5rKG0zMikKLQotZGVmIGZpeF9tYWtlZmlsZShtYWtlZmlsZSk6Ci0gICAgIiIiRml4IHNvbWUgc3R1ZmYgaW4gYWxsIG1ha2VmaWxlcwotICAgICIiIgotICAgIGlmIG5vdCBvcy5wYXRoLmlzZmlsZShtYWtlZmlsZSk6Ci0gICAgICAgIHJldHVybgotICAgIHdpdGggb3BlbihtYWtlZmlsZSkgYXMgZmluOgotICAgICAgICBsaW5lcyA9IGZpbi5yZWFkbGluZXMoKQotICAgIHdpdGggb3BlbihtYWtlZmlsZSwgJ3cnKSBhcyBmb3V0OgotICAgICAgICBmb3IgbGluZSBpbiBsaW5lczoKLSAgICAgICAgICAgIGlmIGxpbmUuc3RhcnRzd2l0aCgiUEVSTD0iKToKLSAgICAgICAgICAgICAgICBjb250aW51ZQotICAgICAgICAgICAgaWYgbGluZS5zdGFydHN3aXRoKCJDUD0iKToKLSAgICAgICAgICAgICAgICBsaW5lID0gIkNQPWNvcHlcbiIKLSAgICAgICAgICAgIGlmIGxpbmUuc3RhcnRzd2l0aCgiTUtESVI9Iik6Ci0gICAgICAgICAgICAgICAgbGluZSA9ICJNS0RJUj1ta2RpclxuIgotICAgICAgICAgICAgaWYgbGluZS5zdGFydHN3aXRoKCJDRkxBRz0iKToKLSAgICAgICAgICAgICAgICBsaW5lID0gbGluZS5zdHJpcCgpCi0gICAgICAgICAgICAgICAgZm9yIGFsZ28gaW4gKCJSQzUiLCAiTURDMiIsICJJREVBIik6Ci0gICAgICAgICAgICAgICAgICAgIG5vYWxnbyA9ICIgLURPUEVOU1NMX05PXyVzIiAlIGFsZ28KLSAgICAgICAgICAgICAgICAgICAgaWYgbm9hbGdvIG5vdCBpbiBsaW5lOgotICAgICAgICAgICAgICAgICAgICAgICAgbGluZSA9IGxpbmUgKyBub2FsZ28KLSAgICAgICAgICAgICAgICBsaW5lID0gbGluZSArICdcbicKLSAgICAgICAgICAgIGZvdXQud3JpdGUobGluZSkKLQotZGVmIHJ1bl9jb25maWd1cmUoY29uZmlndXJlLCBkb19zY3JpcHQpOgotICAgIHByaW50KCJwZXJsIENvbmZpZ3VyZSAiK2NvbmZpZ3VyZSsiIG5vLWlkZWEgbm8tbWRjMiIpCi0gICAgb3Muc3lzdGVtKCJwZXJsIENvbmZpZ3VyZSAiK2NvbmZpZ3VyZSsiIG5vLWlkZWEgbm8tbWRjMiIpCi0gICAgcHJpbnQoZG9fc2NyaXB0KQotICAgIG9zLnN5c3RlbShkb19zY3JpcHQpCi0KLWRlZiBjbXAoZjEsIGYyKToKLSAgICBidWZzaXplID0gMTAyNCAqIDgKLSAgICB3aXRoIG9wZW4oZjEsICdyYicpIGFzIGZwMSwgb3BlbihmMiwgJ3JiJykgYXMgZnAyOgotICAgICAgICB3aGlsZSBUcnVlOgotICAgICAgICAgICAgYjEgPSBmcDEucmVhZChidWZzaXplKQotICAgICAgICAgICAgYjIgPSBmcDIucmVhZChidWZzaXplKQotICAgICAgICAgICAgaWYgYjEgIT0gYjI6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIEZhbHNlCi0gICAgICAgICAgICBpZiBub3QgYjE6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIFRydWUKLQotZGVmIGNvcHkoc3JjLCBkc3QpOgotICAgIGlmIG9zLnBhdGguaXNmaWxlKGRzdCkgYW5kIGNtcChzcmMsIGRzdCk6Ci0gICAgICAgIHJldHVybgotICAgIHNodXRpbC5jb3B5KHNyYywgZHN0KQotCi1kZWYgbWFpbigpOgotICAgIGJ1aWxkX2FsbCA9ICItYSIgaW4gc3lzLmFyZ3YKLSAgICBpZiBzeXMuYXJndlsxXSA9PSAiUmVsZWFzZSI6Ci0gICAgICAgIGRlYnVnID0gRmFsc2UKLSAgICBlbGlmIHN5cy5hcmd2WzFdID09ICJEZWJ1ZyI6Ci0gICAgICAgIGRlYnVnID0gVHJ1ZQotICAgIGVsc2U6Ci0gICAgICAgIHJhaXNlIFZhbHVlRXJyb3Ioc3RyKHN5cy5hcmd2KSkKLQotICAgIGlmIHN5cy5hcmd2WzJdID09ICJXaW4zMiI6Ci0gICAgICAgIGFyY2ggPSAieDg2IgotICAgICAgICBjb25maWd1cmUgPSAiVkMtV0lOMzIiCi0gICAgICAgIGRvX3NjcmlwdCA9ICJtc1xcZG9fbmFzbSIKLSAgICAgICAgbWFrZWZpbGU9Im1zXFxudC5tYWsiCi0gICAgICAgIG0zMiA9IG1ha2VmaWxlCi0gICAgICAgIGRpcnN1ZmZpeCA9ICIzMiIKLSAgICBlbGlmIHN5cy5hcmd2WzJdID09ICJ4NjQiOgotICAgICAgICBhcmNoPSJhbWQ2NCIKLSAgICAgICAgY29uZmlndXJlID0gIlZDLVdJTjY0QSIKLSAgICAgICAgZG9fc2NyaXB0ID0gIm1zXFxkb193aW42NGEiCi0gICAgICAgIG1ha2VmaWxlID0gIm1zXFxudDY0Lm1hayIKLSAgICAgICAgbTMyID0gbWFrZWZpbGUucmVwbGFjZSgnNjQnLCAnJykKLSAgICAgICAgZGlyc3VmZml4ID0gIjY0IgotICAgICAgICAjb3MuZW52aXJvblsiVlNFWFRDT01QX1VTRUNMIl0gPSAiTVNfT1BURVJPTiIKLSAgICBlbHNlOgotICAgICAgICByYWlzZSBWYWx1ZUVycm9yKHN0cihzeXMuYXJndikpCi0KLSAgICBtYWtlX2ZsYWdzID0gIiIKLSAgICBpZiBidWlsZF9hbGw6Ci0gICAgICAgIG1ha2VfZmxhZ3MgPSAiLWEiCi0gICAgIyBwZXJsIHNob3VsZCBiZSBvbiB0aGUgcGF0aCwgYnV0IHdlIGFsc28gbG9vayBpbiAiXHBlcmwiIGFuZCAiYzpcXHBlcmwiCi0gICAgIyBhcyAid2VsbCBrbm93biIgbG9jYXRpb25zCi0gICAgcGVybHMgPSBmaW5kX2FsbF9vbl9wYXRoKCJwZXJsLmV4ZSIsIFsiXFxwZXJsXFxiaW4iLCAiQzpcXHBlcmxcXGJpbiJdKQotICAgIHBlcmwgPSBmaW5kX3dvcmtpbmdfcGVybChwZXJscykKLSAgICBpZiBwZXJsOgotICAgICAgICBwcmludCgiRm91bmQgYSB3b3JraW5nIHBlcmwgYXQgJyVzJyIgJSAocGVybCwpKQotICAgIGVsc2U6Ci0gICAgICAgIHByaW50KCJObyBQZXJsIGluc3RhbGxhdGlvbiB3YXMgZm91bmQuIEV4aXN0aW5nIE1ha2VmaWxlcyBhcmUgdXNlZC4iKQotICAgIHN5cy5zdGRvdXQuZmx1c2goKQotICAgICMgTG9vayBmb3IgU1NMIDIgbGV2ZWxzIHVwIGZyb20gcGNidWlsZCAtIGllLCBzYW1lIHBsYWNlIHpsaWIgZXRjIGFsbCBsaXZlLgotICAgIHNzbF9kaXIgPSBnZXRfc3NsX2RpcigpCi0gICAgaWYgc3NsX2RpciBpcyBOb25lOgotICAgICAgICBzeXMuZXhpdCgxKQotCi0gICAgIyBhZGQgb3VyIGNvcHkgb2YgTkFTTSB0byBQQVRILiAgSXQgd2lsbCBiZSBvbiB0aGUgc2FtZSBsZXZlbCBhcyBvcGVuc3NsCi0gICAgZm9yIGRpciBpbiBvcy5saXN0ZGlyKG9zLnBhdGguam9pbihzc2xfZGlyLCBvcy5wYXJkaXIpKToKLSAgICAgICAgaWYgZGlyLnN0YXJ0c3dpdGgoJ25hc20nKToKLSAgICAgICAgICAgIG5hc21fZGlyID0gb3MucGF0aC5qb2luKHNzbF9kaXIsIG9zLnBhcmRpciwgZGlyKQotICAgICAgICAgICAgbmFzbV9kaXIgPSBvcy5wYXRoLmFic3BhdGgobmFzbV9kaXIpCi0gICAgICAgICAgICBvcy5lbnZpcm9uWydQQVRIJ10gKz0gb3MucGF0aHNlcC5qb2luKFsnJywgbmFzbV9kaXJdKQotICAgICAgICAgICAgYnJlYWsKLSAgICBlbHNlOgotICAgICAgICBwcmludCgnTkFTTSB3YXMgbm90IGZvdW5kLCBtYWtlIHN1cmUgaXQgaXMgb24gUEFUSCcpCi0KLQotICAgIG9sZF9jZCA9IG9zLmdldGN3ZCgpCi0gICAgdHJ5OgotICAgICAgICBvcy5jaGRpcihzc2xfZGlyKQotICAgICAgICAjIHJlYnVpbGQgbWFrZWZpbGUgd2hlbiB3ZSBkbyB0aGUgcm9sZSBvdmVyIGZyb20gMzIgdG8gNjQgYnVpbGQKLSAgICAgICAgaWYgYXJjaCA9PSAiYW1kNjQiIGFuZCBvcy5wYXRoLmlzZmlsZShtMzIpIGFuZCBub3Qgb3MucGF0aC5pc2ZpbGUobWFrZWZpbGUpOgotICAgICAgICAgICAgb3MudW5saW5rKG0zMikKLQotICAgICAgICAjIElmIHRoZSBzc2wgbWFrZWZpbGVzIGRvIG5vdCBleGlzdCwgd2UgaW52b2tlIFBlcmwgdG8gZ2VuZXJhdGUgdGhlbS4KLSAgICAgICAgIyBEdWUgdG8gYSBidWcgaW4gdGhpcyBzY3JpcHQsIHRoZSBtYWtlZmlsZSBzb21ldGltZXMgZW5kZWQgdXAgZW1wdHkKLSAgICAgICAgIyBGb3JjZSBhIHJlZ2VuZXJhdGlvbiBpZiBpdCBpcy4KLSAgICAgICAgaWYgbm90IG9zLnBhdGguaXNmaWxlKG1ha2VmaWxlKSBvciBvcy5wYXRoLmdldHNpemUobWFrZWZpbGUpPT0wOgotICAgICAgICAgICAgaWYgcGVybCBpcyBOb25lOgotICAgICAgICAgICAgICAgIHByaW50KCJQZXJsIGlzIHJlcXVpcmVkIHRvIGJ1aWxkIHRoZSBtYWtlZmlsZXMhIikKLSAgICAgICAgICAgICAgICBzeXMuZXhpdCgxKQotCi0gICAgICAgICAgICBwcmludCgiQ3JlYXRpbmcgdGhlIG1ha2VmaWxlcy4uLiIpCi0gICAgICAgICAgICBzeXMuc3Rkb3V0LmZsdXNoKCkKLSAgICAgICAgICAgICMgUHV0IG91ciB3b3JraW5nIFBlcmwgYXQgdGhlIGZyb250IG9mIG91ciBwYXRoCi0gICAgICAgICAgICBvcy5lbnZpcm9uWyJQQVRIIl0gPSBvcy5wYXRoLmRpcm5hbWUocGVybCkgKyBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcy5wYXRoc2VwICsgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3MuZW52aXJvblsiUEFUSCJdCi0gICAgICAgICAgICBydW5fY29uZmlndXJlKGNvbmZpZ3VyZSwgZG9fc2NyaXB0KQotICAgICAgICAgICAgaWYgZGVidWc6Ci0gICAgICAgICAgICAgICAgcHJpbnQoIk9wZW5TU0wgZGVidWcgYnVpbGRzIGFyZW4ndCBzdXBwb3J0ZWQuIikKLSAgICAgICAgICAgICNpZiBhcmNoPT0ieDg2IiBhbmQgZGVidWc6Ci0gICAgICAgICAgICAjICAgICMgdGhlIGRvX21hc20gc2NyaXB0IGluIG9wZW5zc2wgZG9lc24ndCBnZW5lcmF0ZSBhIGRlYnVnCi0gICAgICAgICAgICAjICAgICMgYnVpbGQgbWFrZWZpbGUgc28gd2UgZ2VuZXJhdGUgaXQgaGVyZToKLSAgICAgICAgICAgICMgICAgb3Muc3lzdGVtKCJwZXJsIHV0aWxcbWsxbWYucGwgZGVidWcgIitjb25maWd1cmUrIiA+IittYWtlZmlsZSkKLQotICAgICAgICAgICAgaWYgYXJjaCA9PSAiYW1kNjQiOgotICAgICAgICAgICAgICAgIGNyZWF0ZV9tYWtlZmlsZTY0KG1ha2VmaWxlLCBtMzIpCi0gICAgICAgICAgICBmaXhfbWFrZWZpbGUobWFrZWZpbGUpCi0gICAgICAgICAgICBjb3B5KHIiY3J5cHRvXGJ1aWxkaW5mLmgiLCByImNyeXB0b1xidWlsZGluZl8lcy5oIiAlIGFyY2gpCi0gICAgICAgICAgICBjb3B5KHIiY3J5cHRvXG9wZW5zc2xjb25mLmgiLCByImNyeXB0b1xvcGVuc3NsY29uZl8lcy5oIiAlIGFyY2gpCi0KLSAgICAgICAgIyBJZiB0aGUgYXNzZW1ibGVyIGZpbGVzIGRvbid0IGV4aXN0IGluIHRtcFhYLCBjb3B5IHRoZW0gdGhlcmUKLSAgICAgICAgaWYgcGVybCBpcyBOb25lIGFuZCBvcy5wYXRoLmV4aXN0cygiYXNtIitkaXJzdWZmaXgpOgotICAgICAgICAgICAgaWYgbm90IG9zLnBhdGguZXhpc3RzKCJ0bXAiK2RpcnN1ZmZpeCk6Ci0gICAgICAgICAgICAgICAgb3MubWtkaXIoInRtcCIrZGlyc3VmZml4KQotICAgICAgICAgICAgZm9yIGYgaW4gb3MubGlzdGRpcigiYXNtIitkaXJzdWZmaXgpOgotICAgICAgICAgICAgICAgIGlmIG5vdCBmLmVuZHN3aXRoKCIuYXNtIik6IGNvbnRpbnVlCi0gICAgICAgICAgICAgICAgaWYgb3MucGF0aC5pc2ZpbGUociJ0bXAlc1wlcyIgJSAoZGlyc3VmZml4LCBmKSk6IGNvbnRpbnVlCi0gICAgICAgICAgICAgICAgc2h1dGlsLmNvcHkociJhc20lc1wlcyIgJSAoZGlyc3VmZml4LCBmKSwgInRtcCIrZGlyc3VmZml4KQotCi0gICAgICAgICMgTm93IHJ1biBtYWtlLgotICAgICAgICBpZiBhcmNoID09ICJhbWQ2NCI6Ci0gICAgICAgICAgICByYyA9IG9zLnN5c3RlbSgibmFzbSAtZiB3aW42NCAtRE5FQVIgLU94IC1nIG1zXFx1cHRhYmxlLmFzbSIpCi0gICAgICAgICAgICBpZiByYzoKLSAgICAgICAgICAgICAgICBwcmludCgibmFzbSBhc3NlbWJsZXIgaGFzIGZhaWxlZC4iKQotICAgICAgICAgICAgICAgIHN5cy5leGl0KHJjKQotCi0gICAgICAgIGNvcHkociJjcnlwdG9cYnVpbGRpbmZfJXMuaCIgJSBhcmNoLCByImNyeXB0b1xidWlsZGluZi5oIikKLSAgICAgICAgY29weShyImNyeXB0b1xvcGVuc3NsY29uZl8lcy5oIiAlIGFyY2gsIHIiY3J5cHRvXG9wZW5zc2xjb25mLmgiKQotCi0gICAgICAgICNtYWtlQ29tbWFuZCA9ICJubWFrZSAvbm9sb2dvIFBFUkw9XCIlc1wiIC1mIFwiJXNcIiIgJShwZXJsLCBtYWtlZmlsZSkKLSAgICAgICAgbWFrZUNvbW1hbmQgPSAibm1ha2UgL25vbG9nbyAtZiBcIiVzXCIiICUgbWFrZWZpbGUKLSAgICAgICAgcHJpbnQoIkV4ZWN1dGluZyBzc2wgbWFrZWZpbGVzOiIsIG1ha2VDb21tYW5kKQotICAgICAgICBzeXMuc3Rkb3V0LmZsdXNoKCkKLSAgICAgICAgcmMgPSBvcy5zeXN0ZW0obWFrZUNvbW1hbmQpCi0gICAgICAgIGlmIHJjOgotICAgICAgICAgICAgcHJpbnQoIkV4ZWN1dGluZyAiK21ha2VmaWxlKyIgZmFpbGVkIikKLSAgICAgICAgICAgIHByaW50KHJjKQotICAgICAgICAgICAgc3lzLmV4aXQocmMpCi0gICAgZmluYWxseToKLSAgICAgICAgb3MuY2hkaXIob2xkX2NkKQotICAgIHN5cy5leGl0KHJjKQotCi1pZiBfX25hbWVfXz09J19fbWFpbl9fJzoKLSAgICBtYWluKCkKZGlmZiAtLWdpdCBhL1BDYnVpbGQvYnVpbGRfdGtpbnRlci5weSBiL1BDYnVpbGQvYnVpbGRfdGtpbnRlci5weQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzgwN2U3Yi4uMDAwMDAwMAotLS0gYS9QQ2J1aWxkL2J1aWxkX3RraW50ZXIucHkKKysrIC9kZXYvbnVsbApAQCAtMSw3OCArMCwwIEBACi0iIiJTY3JpcHQgdG8gY29tcGlsZSB0aGUgZGVwZW5kZW5jaWVzIG9mIF90a2ludGVyCi0KLUNvcHlyaWdodCAoYykgMjAwNyBieSBDaHJpc3RpYW4gSGVpbWVzIDxjaHJpc3RpYW5AY2hlaW1lcy5kZT4KLQotTGljZW5zZWQgdG8gUFNGIHVuZGVyIGEgQ29udHJpYnV0b3IgQWdyZWVtZW50LgotIiIiCi0KLWltcG9ydCBvcwotaW1wb3J0IHN5cwotCi1oZXJlID0gb3MucGF0aC5hYnNwYXRoKG9zLnBhdGguZGlybmFtZShfX2ZpbGVfXykpCi1wYXIgPSBvcy5wYXRoLnBhcmRpcgotCi1UQ0wgPSAidGNsOC42LjEiCi1USyA9ICJ0azguNi4xIgotVElYID0gInRpeC04LjQuMy4zIgotCi1ST09UID0gb3MucGF0aC5hYnNwYXRoKG9zLnBhdGguam9pbihoZXJlLCBwYXIsIHBhcikpCi1OTUFLRSA9ICgnbm1ha2UgL25vbG9nbyAvZiAlcyAlcyAlcycpCi0KLWRlZiBubWFrZShtYWtlZmlsZSwgY29tbWFuZD0iIiwgKiprdyk6Ci0gICAgZGVmaW5lcyA9ICcgJy5qb2luKGsrJz0nK3N0cih2KSBmb3IgaywgdiBpbiBrdy5pdGVtcygpKQotICAgIGNtZCA9IE5NQUtFICUgKG1ha2VmaWxlLCBkZWZpbmVzLCBjb21tYW5kKQotICAgIHByaW50KCJcblxuIitjbWQrIlxuIikKLSAgICBpZiBvcy5zeXN0ZW0oY21kKSAhPSAwOgotICAgICAgICByYWlzZSBSdW50aW1lRXJyb3IoY21kKQotCi1kZWYgYnVpbGQocGxhdGZvcm0sIGNsZWFuKToKLSAgICBpZiBwbGF0Zm9ybSA9PSAiV2luMzIiOgotICAgICAgICBkZXN0ID0gb3MucGF0aC5qb2luKFJPT1QsICJ0Y2x0ayIpCi0gICAgICAgIG1hY2hpbmUgPSAiSVg4NiIKLSAgICBlbGlmIHBsYXRmb3JtID09ICJBTUQ2NCI6Ci0gICAgICAgIGRlc3QgPSBvcy5wYXRoLmpvaW4oUk9PVCwgInRjbHRrNjQiKQotICAgICAgICBtYWNoaW5lID0gIkFNRDY0IgotICAgIGVsc2U6Ci0gICAgICAgIHJhaXNlIFZhbHVlRXJyb3IocGxhdGZvcm0pCi0KLSAgICAjIFRDTAotICAgIHRjbGRpciA9IG9zLnBhdGguam9pbihST09ULCBUQ0wpCi0gICAgaWYgMToKLSAgICAgICAgb3MuY2hkaXIob3MucGF0aC5qb2luKHRjbGRpciwgIndpbiIpKQotICAgICAgICBpZiBjbGVhbjoKLSAgICAgICAgICAgIG5tYWtlKCJtYWtlZmlsZS52YyIsICJjbGVhbiIpCi0gICAgICAgIG5tYWtlKCJtYWtlZmlsZS52YyIsIE1BQ0hJTkU9bWFjaGluZSkKLSAgICAgICAgbm1ha2UoIm1ha2VmaWxlLnZjIiwgImluc3RhbGwiLCBJTlNUQUxMRElSPWRlc3QsIE1BQ0hJTkU9bWFjaGluZSkKLQotICAgICMgVEsKLSAgICBpZiAxOgotICAgICAgICBvcy5jaGRpcihvcy5wYXRoLmpvaW4oUk9PVCwgVEssICJ3aW4iKSkKLSAgICAgICAgaWYgY2xlYW46Ci0gICAgICAgICAgICBubWFrZSgibWFrZWZpbGUudmMiLCAiY2xlYW4iLCBERUJVRz0wLCBUQ0xESVI9dGNsZGlyKQotICAgICAgICBubWFrZSgibWFrZWZpbGUudmMiLCBERUJVRz0wLCBNQUNISU5FPW1hY2hpbmUsIFRDTERJUj10Y2xkaXIpCi0gICAgICAgIG5tYWtlKCJtYWtlZmlsZS52YyIsICJpbnN0YWxsIiwgREVCVUc9MCwgSU5TVEFMTERJUj1kZXN0LCBNQUNISU5FPW1hY2hpbmUsIFRDTERJUj10Y2xkaXIpCi0KLSAgICAjIFRJWAotICAgIGlmIDE6Ci0gICAgICAgICMgcHl0aG9uOS5tYWsgaXMgYXZhaWxhYmxlIGF0IGh0dHA6Ly9zdm4ucHl0aG9uLm9yZwotICAgICAgICBvcy5jaGRpcihvcy5wYXRoLmpvaW4oUk9PVCwgVElYLCAid2luIikpCi0gICAgICAgIGlmIGNsZWFuOgotICAgICAgICAgICAgbm1ha2UoInB5dGhvbi5tYWsiLCAiY2xlYW4iKQotICAgICAgICBubWFrZSgicHl0aG9uLm1hayIsIE1BQ0hJTkU9bWFjaGluZSwgSU5TVEFMTF9ESVI9ZGVzdCkKLSAgICAgICAgbm1ha2UoInB5dGhvbi5tYWsiLCAiaW5zdGFsbCIsIE1BQ0hJTkU9bWFjaGluZSwgSU5TVEFMTF9ESVI9ZGVzdCkKLQotZGVmIG1haW4oKToKLSAgICBpZiBsZW4oc3lzLmFyZ3YpIDwgMiBvciBzeXMuYXJndlsxXSBub3QgaW4gKCJXaW4zMiIsICJBTUQ2NCIpOgotICAgICAgICBwcmludCgiJXMgV2luMzJ8QU1ENjQiICUgc3lzLmFyZ3ZbMF0pCi0gICAgICAgIHN5cy5leGl0KDEpCi0KLSAgICBpZiAiLWMiIGluIHN5cy5hcmd2OgotICAgICAgICBjbGVhbiA9IFRydWUKLSAgICBlbHNlOgotICAgICAgICBjbGVhbiA9IEZhbHNlCi0KLSAgICBidWlsZChzeXMuYXJndlsxXSwgY2xlYW4pCi0KLQotaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKLSAgICBtYWluKCkKZGlmZiAtLWdpdCBhL1BDYnVpbGQvY2xlYW4uYmF0IGIvUENidWlsZC9jbGVhbi5iYXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjE0NGM3MQotLS0gL2Rldi9udWxsCisrKyBiL1BDYnVpbGQvY2xlYW4uYmF0CkBAIC0wLDAgKzEsNSBAQAorQGVjaG8gb2ZmCityZW0gQSBiYXRjaCBwcm9ncmFtIHRvIGNsZWFuIGEgcGFydGljdWxhciBjb25maWd1cmF0aW9uLAorcmVtIGp1c3QgZm9yIGNvbnZlbmllbmNlLgorCitjYWxsICV+ZHAwYnVpbGQuYmF0IC10IENsZWFuICUqCmRpZmYgLS1naXQgYS9QQ2J1aWxkL2RlYnVnLnByb3BzIGIvUENidWlsZC9kZWJ1Zy5wcm9wcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWI3YTY1YS4uMDAwMDAwMAotLS0gYS9QQ2J1aWxkL2RlYnVnLnByb3BzCisrKyAvZGV2L251bGwKQEAgLTEsMjcgKzAsMCBAQAot77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KLTxQcm9qZWN0IERlZmF1bHRUYXJnZXRzPSJCdWlsZCIgVG9vbHNWZXJzaW9uPSI0LjAiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgotICA8UHJvcGVydHlHcm91cCBMYWJlbD0iVXNlck1hY3JvcyI+Ci0gICAgPFB5RGVidWdFeHQ+X2Q8L1B5RGVidWdFeHQ+Ci0gICAgPEtpbGxQeXRob25FeGU+JChPdXREaXIpa2lsbF9weXRob25fZC5leGU8L0tpbGxQeXRob25FeGU+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXA+Ci0gICAgPF9Qcm9qZWN0RmlsZVZlcnNpb24+MTAuMC4zMDMxOS4xPC9fUHJvamVjdEZpbGVWZXJzaW9uPgotICAgIDxUYXJnZXROYW1lPiQoUHJvamVjdE5hbWUpX2Q8L1RhcmdldE5hbWU+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5fREVCVUc7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxSZXNvdXJjZUNvbXBpbGU+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X0RFQlVHPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICA8L1Jlc291cmNlQ29tcGlsZT4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbUdyb3VwPgotICAgIDxCdWlsZE1hY3JvIEluY2x1ZGU9IlB5RGVidWdFeHQiPgotICAgICAgPFZhbHVlPiQoUHlEZWJ1Z0V4dCk8L1ZhbHVlPgotICAgIDwvQnVpbGRNYWNybz4KLSAgICA8QnVpbGRNYWNybyBJbmNsdWRlPSJLaWxsUHl0aG9uRXhlIj4KLSAgICAgIDxWYWx1ZT4kKEtpbGxQeXRob25FeGUpPC9WYWx1ZT4KLSAgICA8L0J1aWxkTWFjcm8+Ci0gIDwvSXRlbUdyb3VwPgotPC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1BDYnVpbGQvZW52LmJhdCBiL1BDYnVpbGQvZW52LmJhdAppbmRleCAwOGRjOGVmLi45ZDRjOWQxIDEwMDY0NAotLS0gYS9QQ2J1aWxkL2Vudi5iYXQKKysrIGIvUENidWlsZC9lbnYuYmF0CkBAIC0xLDkgKzEsMTYgQEAKIEBlY2hvIG9mZgotc2V0IFZTMTA9JVByb2dyYW1GaWxlcyh4ODYpJVxNaWNyb3NvZnQgVmlzdWFsIFN0dWRpbyAxMC4wCi1JRiBFWElTVCAiJVZTMTAlIiBHT1RPIG9rCi1zZXQgVlMxMD0lUHJvZ3JhbUZpbGVzJVxNaWNyb3NvZnQgVmlzdWFsIFN0dWRpbyAxMC4wCi06b2sKK3JlbSBUaGlzIHNjcmlwdCBhZGRzIHRoZSBsYXRlc3QgYXZhaWxhYmxlIHRvb2xzIHRvIHRoZSBwYXRoIGZvciB0aGUgY3VycmVudAorcmVtIGNvbW1hbmQgd2luZG93LiBIb3dldmVyLCBtb3N0IGJ1aWxkcyBvZiBQeXRob24gd2lsbCBpZ25vcmUgdGhlIHZlcnNpb24KK3JlbSBvZiB0aGUgdG9vbHMgb24gUEFUSCBhbmQgdXNlIFBsYXRmb3JtVG9vbHNldCBpbnN0ZWFkLiBJZGVhbGx5LCBib3RoIHNldHMgb2YKK3JlbSB0b29scyBzaG91bGQgYmUgdGhlIHNhbWUgdmVyc2lvbiB0byBhdm9pZCBwb3RlbnRpYWwgY29uZmxpY3RzLgorcmVtCityZW0gVG8gYnVpbGQgUHl0aG9uIHdpdGggYW4gZWFybGllciB0b29sc2V0LCBwYXNzICIvcDpQbGF0Zm9ybVRvb2xzZXQ9djEwMCIgKG9yCityZW0gJ3YxMTAnLCAndjEyMCcgb3IgJ3YxNDAnKSB0byB0aGUgYnVpbGQgc2NyaXB0LgogCi1lY2hvIEJ1aWxkIGVudmlyb25tZW50czogeDg2LCBpYTY0LCBhbWQ2NCwgeDg2X2FtZDY0LCB4ODZfaWE2NAorZWNobyBCdWlsZCBlbnZpcm9ubWVudHM6IHg4NiwgYW1kNjQsIHg4Nl9hbWQ2NAogZWNoby4KLWNhbGwgIiVWUzEwJVxWQ1x2Y3ZhcnNhbGwuYmF0IiAlMQorc2V0IFZTVE9PTFM9JVZTMTQwQ09NTlRPT0xTJQoraWYgIiVWU1RPT0xTJSI9PSIiIHNldCBWU1RPT0xTPSVWUzEyMENPTU5UT09MUyUKK2lmICIlVlNUT09MUyUiPT0iIiBzZXQgVlNUT09MUz0lVlMxMTBDT01OVE9PTFMlCitpZiAiJVZTVE9PTFMlIj09IiIgc2V0IFZTVE9PTFM9JVZTMTAwQ09NTlRPT0xTJQorY2FsbCAiJVZTVE9PTFMlLi5cLi5cVkNcdmN2YXJzYWxsLmJhdCIgJSoKZGlmZiAtLWdpdCBhL1BDYnVpbGQvZ2V0X2V4dGVybmFscy5iYXQgYi9QQ2J1aWxkL2dldF9leHRlcm5hbHMuYmF0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU5OTg3YmUKLS0tIC9kZXYvbnVsbAorKysgYi9QQ2J1aWxkL2dldF9leHRlcm5hbHMuYmF0CkBAIC0wLDAgKzEsMTAzIEBACitAZWNobyBvZmYKK3NldGxvY2FsCityZW0gU2ltcGxlIHNjcmlwdCB0byBmZXRjaCBzb3VyY2UgZm9yIGV4dGVybmFsIGxpYnJhcmllcworCitpZiBub3QgZXhpc3QgIiV+ZHAwLi5cZXh0ZXJuYWxzIiBta2RpciAiJX5kcDAuLlxleHRlcm5hbHMiCitwdXNoZCAiJX5kcDAuLlxleHRlcm5hbHMiCisKK2lmICIlU1ZOUk9PVCUiPT0iIiBzZXQgU1ZOUk9PVD1odHRwOi8vc3ZuLnB5dGhvbi5vcmcvcHJvamVjdHMvZXh0ZXJuYWwvCisKK3JlbSBPcHRpb25hbGx5IGNsZWFuIHVwIGZpcnN0LiAgQmUgd2FybmVkIHRoYXQgdGhpcyBjYW4gYmUgdmVyeSBkZXN0cnVjdGl2ZSEKK2lmIG5vdCAiJTEiPT0iIiAoCisgICAgZm9yICUlYyBpbiAoLWMgLS1jbGVhbiAtLWNsZWFuLW9ubHkpIGRvICgKKyAgICAgICAgaWYgIiUxIj09IiUlYyIgZ290byBjbGVhbgorICAgICkKKyAgICBnb3RvIHVzYWdlCispCitnb3RvIGZldGNoCisKKzpjbGVhbgorZWNoby5DbGVhbmluZyB1cCBleHRlcm5hbCBsaWJyYXJpZXMuCitmb3IgL0QgJSVkIGluICgKKyAgICAgICAgICAgICAgIGJ6aXAyLSoKKyAgICAgICAgICAgICAgIGRiLSoKKyAgICAgICAgICAgICAgIG5hc20tKgorICAgICAgICAgICAgICAgb3BlbnNzbC0qCisgICAgICAgICAgICAgICB0Y2wtKgorICAgICAgICAgICAgICAgdGNsdGsqCisgICAgICAgICAgICAgICB0ay0qCisgICAgICAgICAgICAgICB0aXgtKgorICAgICAgICAgICAgICAgc3FsaXRlLSoKKyAgICAgICAgICAgICAgIHh6LSoKKyAgICAgICAgICAgICAgICkgZG8gKAorICAgIGVjaG8uUmVtb3ZpbmcgJSVkCisgICAgcm1kaXIgL3MgL3EgJSVkCispCitpZiAiJTEiPT0iLS1jbGVhbi1vbmx5IiAoCisgICAgZ290byBlbmQKKykKKworOmZldGNoCityZW0gRmV0Y2ggY3VycmVudCB2ZXJzaW9ucworCitzdm4gLS12ZXJzaW9uID4gbnVsIDI+JjEKK2lmIEVSUk9STEVWRUwgOTAwOSAoCisgICAgZWNoby5zdm4uZXhlIG11c3QgYmUgb24geW91ciBQQVRILgorICAgIGVjaG8uVHJ5IFRvcnRvaXNlU1ZOIChodHRwOi8vdG9ydG9pc2Vzdm4ubmV0L14pIGFuZCBiZSBzdXJlIHRvIGNoZWNrIHRoZQorICAgIGVjaG8uY29tbWFuZCBsaW5lIHRvb2xzIG9wdGlvbi4KKyAgICBwb3BkCisgICAgZXhpdCAvYiAxCispCisKK2VjaG8uRmV0Y2hpbmcgZXh0ZXJuYWwgbGlicmFyaWVzLi4uCisKK2ZvciAlJWUgaW4gKAorICAgICAgICAgICAgYnppcDItMS4wLjYKKyAgICAgICAgICAgIG5hc20tMi4xMS4wNgorICAgICAgICAgICAgb3BlbnNzbC0xLjAuMWwKKyAgICAgICAgICAgIHRjbC1jb3JlLTguNi4zLjEKKyAgICAgICAgICAgIHRrLTguNi4zLjEKKyAgICAgICAgICAgIHRpeC04LjQuMy40CisgICAgICAgICAgICBzcWxpdGUtMy44LjMuMQorICAgICAgICAgICAgeHotNS4wLjUKKyAgICAgICAgICAgICkgZG8gKAorICAgIGlmIGV4aXN0ICUlZSAoCisgICAgICAgIGVjaG8uJSVlIGFscmVhZHkgZXhpc3RzLCBza2lwcGluZy4KKyAgICApIGVsc2UgKAorICAgICAgICBlY2hvLkZldGNoaW5nICUlZS4uLgorICAgICAgICBzdm4gZXhwb3J0ICVTVk5ST09UJSUlZQorICAgICkKKykKKworZ290byBlbmQKKworOnVzYWdlCitlY2hvLmludmFsaWQgYXJndW1lbnQ6ICUxCitlY2hvLnVzYWdlOiAlfm4wIFtbIC1jIF58IC0tY2xlYW4gXSBefCAtLWNsZWFuLW9ubHkgXQorZWNoby4KK2VjaG8uUHVsbCBhbGwgc291cmNlcyBuZWNlc3NhcnkgZm9yIGNvbXBpbGluZyBvcHRpb25hbCBleHRlbnNpb24gbW9kdWxlcworZWNoby50aGF0IHJlbHkgb24gZXh0ZXJuYWwgbGlicmFyaWVzLiAgUmVxdWlyZXMgc3ZuLmV4ZSB0byBiZSBvbiB5b3VyIFBBVEgKK2VjaG8uYW5kIHB1bGxzIHNvdXJjZXMgZnJvbSAlU1ZOUk9PVCUuCitlY2hvLgorZWNoby5Vc2UgdGhlIC1jIG9yIC0tY2xlYW4gb3B0aW9uIHRvIGNsZWFuIHVwIGFsbCBleHRlcm5hbCBsaWJyYXJ5IHNvdXJjZXMKK2VjaG8uYmVmb3JlIHB1bGxpbmcgaW4gdGhlIGN1cnJlbnQgdmVyc2lvbnMuCitlY2hvLgorZWNoby5Vc2UgdGhlIC0tY2xlYW4tb25seSBvcHRpb24gdG8gZG8gdGhlIHNhbWUgY2xlYW5pbmcsIHdpdGhvdXQgcHVsbGluZyBpbgorZWNoby5hbnl0aGluZyBuZXcuCitlY2hvLgorZWNoby5Pbmx5IHRoZSBmaXJzdCBhcmd1bWVudCBpcyBjaGVja2VkLCBhbGwgb3RoZXJzIGFyZSBpZ25vcmVkLgorZWNoby4KK2VjaG8uKipXQVJOSU5HKio6IHRoZSBjbGVhbmluZyBvcHRpb25zIHVuY29uZGl0aW9uYWxseSByZW1vdmUgYW55IGRpcmVjdG9yeQorZWNoby50aGF0IGlzIGEgY2hpbGQgb2YKK2VjaG8uICAgJUNEJQorZWNoby5hbmQgbWF0Y2hlcyB3aWxkY2FyZCBwYXR0ZXJucyBiZWdpbm5pbmcgd2l0aCBiemlwMi0sIGRiLSwgbmFzbS0sIG9wZW5zc2wtLAorZWNoby50Y2wtLCB0Y2x0aywgdGstLCB0aXgtLCBzcWxpdGUtLCBvciB4ei0sIGFuZCBhcyBzdWNoIGhhcyB0aGUgcG90ZW50aWFsCitlY2hvLnRvIGJlIHZlcnkgZGVzdHJ1Y3RpdmUgaWYgeW91IGFyZSBub3QgYXdhcmUgb2Ygd2hhdCBpdCBpcyBkb2luZy4gIFVzZSB3aXRoCitlY2hvLmNhdXRpb24hCitwb3BkCitleGl0IC9iIC0xCisKKworOmVuZAorZWNobyBGaW5pc2hlZC4KK3BvcGQKZGlmZiAtLWdpdCBhL1BDYnVpbGQvaWRsZS5iYXQgYi9QQ2J1aWxkL2lkbGUuYmF0CmluZGV4IGRjYjA0ODUuLjE5NzhiOTkgMTAwNjQ0Ci0tLSBhL1BDYnVpbGQvaWRsZS5iYXQKKysrIGIvUENidWlsZC9pZGxlLmJhdApAQCAtNCwxMCArNCwxMCBAQAogcmVtIC1kICAgUnVuIERlYnVnIGJ1aWxkIChweXRob25fZC5leGUpLiAgRWxzZSByZWxlYXNlIGJ1aWxkLgogCiBzZXRsb2NhbAotc2V0IGV4ZT1weXRob24KLVBBVEggJVBBVEglOy4uXC4uXHRjbHRrXGJpbgorc2V0IGV4ZT13aW4zMlxweXRob24KK1BBVEggJVBBVEglOy4uXGV4dGVybmFsc1x0Y2x0a1xiaW4KIAotaWYgIiUxIj09Ii1kIiAoc2V0IGV4ZT1weXRob25fZCkgJiBzaGlmdAoraWYgIiUxIj09Ii1kIiAoc2V0IGV4ZT0lZXhlJV9kKSAmIHNoaWZ0CiAKIHNldCBjbWQ9JWV4ZSUgLi4vTGliL2lkbGVsaWIvaWRsZS5weSAlMSAlMiAlMyAlNCAlNSAlNiAlNyAlOCAlOQogCmRpZmYgLS1naXQgYS9QQ2J1aWxkL2luc3RhbGxlci5ibXAgYi9QQ2J1aWxkL2luc3RhbGxlci5ibXAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE4NzVlMTkuLjAwMDAwMDAKLS0tIGEvUENidWlsZC9pbnN0YWxsZXIuYm1wCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvUENidWlsZC9raWxsX3B5dGhvbi5jIGIvUENidWlsZC9raWxsX3B5dGhvbi5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2MDQ3MzFmLi4wMDAwMDAwCi0tLSBhL1BDYnVpbGQva2lsbF9weXRob24uYworKysgL2Rldi9udWxsCkBAIC0xLDE3OCArMCwwIEBACi0vKgotICogSGVscGVyIHByb2dyYW0gZm9yIGtpbGxpbmcgbGluZ2VyaW5nIHB5dGhvbltfZF0uZXhlIHByb2Nlc3NlcyBiZWZvcmUKLSAqIGJ1aWxkaW5nLCB0aHVzIGF0dGVtcHRpbmcgdG8gYXZvaWQgYnVpbGQgZmFpbHVyZXMgZHVlIHRvIGZpbGVzIGJlaW5nCi0gKiBsb2NrZWQuCi0gKi8KLQotI2luY2x1ZGUgPHdpbmRvd3MuaD4KLSNpbmNsdWRlIDx3Y2hhci5oPgotI2luY2x1ZGUgPHRsaGVscDMyLmg+Ci0jaW5jbHVkZSA8c3RkaW8uaD4KLQotI3ByYWdtYSBjb21tZW50KGxpYiwgInBzYXBpIikKLQotI2lmZGVmIF9ERUJVRwotI2RlZmluZSBQWVRIT05fRVhFICAgICAgICAgIChMInB5dGhvbl9kLmV4ZSIpCi0jZGVmaW5lIFBZVEhPTl9FWEVfTEVOICAgICAgKDEyKQotI2RlZmluZSBLSUxMX1BZVEhPTl9FWEUgICAgIChMImtpbGxfcHl0aG9uX2QuZXhlIikKLSNkZWZpbmUgS0lMTF9QWVRIT05fRVhFX0xFTiAoMTcpCi0jZWxzZQotI2RlZmluZSBQWVRIT05fRVhFICAgICAgICAgIChMInB5dGhvbi5leGUiKQotI2RlZmluZSBQWVRIT05fRVhFX0xFTiAgICAgICgxMCkKLSNkZWZpbmUgS0lMTF9QWVRIT05fRVhFICAgICAoTCJraWxsX3B5dGhvbi5leGUiKQotI2RlZmluZSBLSUxMX1BZVEhPTl9FWEVfTEVOICgxNSkKLSNlbmRpZgotCi1pbnQKLW1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQotewotICAgIEhBTkRMRSAgIGhwLCBoc3AsIGhzbTsgLyogcHJvY2Vzcywgc25hcHNob3QgcHJvY2Vzc2VzLCBzbmFwc2hvdCBtb2R1bGVzICovCi0gICAgRFdPUkQgICAgZGFjLCBvdXJfcGlkOwotICAgIHNpemVfdCAgIGxlbjsKLSAgICB3Y2hhcl90ICBwYXRoW01BWF9QQVRIKzFdOwotCi0gICAgTU9EVUxFRU5UUlkzMlcgIG1lOwotICAgIFBST0NFU1NFTlRSWTMyVyBwZTsKLQotICAgIG1lLmR3U2l6ZSA9IHNpemVvZihNT0RVTEVFTlRSWTMyVyk7Ci0gICAgcGUuZHdTaXplID0gc2l6ZW9mKFBST0NFU1NFTlRSWTMyVyk7Ci0KLSAgICBtZW1zZXQocGF0aCwgMCwgTUFYX1BBVEgrMSk7Ci0KLSAgICBvdXJfcGlkID0gR2V0Q3VycmVudFByb2Nlc3NJZCgpOwotCi0gICAgaHNtID0gQ3JlYXRlVG9vbGhlbHAzMlNuYXBzaG90KFRIMzJDU19TTkFQTU9EVUxFLCBvdXJfcGlkKTsKLSAgICBpZiAoaHNtID09IElOVkFMSURfSEFORExFX1ZBTFVFKSB7Ci0gICAgICAgIHByaW50ZigiQ3JlYXRlVG9vbGhlbHAzMlNuYXBzaG90WzFdIGZhaWxlZDogJWRcbiIsIEdldExhc3RFcnJvcigpKTsKLSAgICAgICAgcmV0dXJuIDE7Ci0gICAgfQotCi0gICAgaWYgKCFNb2R1bGUzMkZpcnN0Vyhoc20sICZtZSkpIHsKLSAgICAgICAgcHJpbnRmKCJNb2R1bGUzMkZpcnN0V1sxXSBmYWlsZWQ6ICVkXG4iLCBHZXRMYXN0RXJyb3IoKSk7Ci0gICAgICAgIENsb3NlSGFuZGxlKGhzbSk7Ci0gICAgICAgIHJldHVybiAxOwotICAgIH0KLQotICAgIC8qCi0gICAgICogRW51bWVyYXRlIG92ZXIgdGhlIG1vZHVsZXMgZm9yIHRoZSBjdXJyZW50IHByb2Nlc3MgaW4gb3JkZXIgdG8gZmluZAotICAgICAqIGtpbGxfcHJvY2Vzc1tfZF0uZXhlLCB0aGVuIHRha2UgYSBub3RlIG9mIHRoZSBkaXJlY3RvcnkgaXQgbGl2ZXMgaW4uCi0gICAgICovCi0gICAgZG8gewotICAgICAgICBpZiAoX3djc25pY21wKG1lLnN6TW9kdWxlLCBLSUxMX1BZVEhPTl9FWEUsIEtJTExfUFlUSE9OX0VYRV9MRU4pKQotICAgICAgICAgICAgY29udGludWU7Ci0KLSAgICAgICAgbGVuID0gd2Nzbmxlbl9zKG1lLnN6RXhlUGF0aCwgTUFYX1BBVEgpIC0gS0lMTF9QWVRIT05fRVhFX0xFTjsKLSAgICAgICAgd2NzbmNweV9zKHBhdGgsIE1BWF9QQVRIKzEsIG1lLnN6RXhlUGF0aCwgbGVuKTsgCi0KLSAgICAgICAgYnJlYWs7Ci0KLSAgICB9IHdoaWxlIChNb2R1bGUzMk5leHRXKGhzbSwgJm1lKSk7Ci0KLSAgICBDbG9zZUhhbmRsZShoc20pOwotCi0gICAgaWYgKHBhdGggPT0gTlVMTCkgewotICAgICAgICBwcmludGYoImZhaWxlZCB0byBkaXNjZXJuIGRpcmVjdG9yeSBvZiBydW5uaW5nIHByb2Nlc3NcbiIpOwotICAgICAgICByZXR1cm4gMTsKLSAgICB9Ci0KLSAgICAvKgotICAgICAqIFRha2UgYSBzbmFwc2hvdCBvZiBzeXN0ZW0gcHJvY2Vzc2VzLiAgRW51bWVyYXRlIG92ZXIgdGhlIHNuYXBzaG90LAotICAgICAqIGxvb2tpbmcgZm9yIHB5dGhvbiBwcm9jZXNzZXMuICBXaGVuIHdlIGZpbmQgb25lLCB2ZXJpZnkgaXQgbGl2ZXMKLSAgICAgKiBpbiB0aGUgc2FtZSBkaXJlY3Rvcnkgd2UgbGl2ZSBpbi4gIElmIGl0IGRvZXMsIGtpbGwgaXQuICBJZiB3ZSdyZQotICAgICAqIHVuYWJsZSB0byBraWxsIGl0LCB0cmVhdCB0aGlzIGFzIGEgZmF0YWwgZXJyb3IgYW5kIHJldHVybiAxLgotICAgICAqIAotICAgICAqIFRoZSByYXRpb25hbGUgYmVoaW5kIHRoaXMgaXMgdGhhdCB3ZSdyZSBjYWxsZWQgYXQgdGhlIHN0YXJ0IG9mIHRoZSAKLSAgICAgKiBidWlsZCBwcm9jZXNzIG9uIHRoZSBiYXNpcyB0aGF0IHdlJ2xsIHRha2UgY2FyZSBvZiBraWxsaW5nIGFueQotICAgICAqIHJ1bm5pbmcgaW5zdGFuY2VzLCBzdWNoIHRoYXQgdGhlIGJ1aWxkIHdvbid0IGVuY291bnRlciBwZXJtaXNzaW9uCi0gICAgICogZGVuaWVkIGVycm9ycyBkdXJpbmcgbGlua2luZy4gSWYgd2UgY2FuJ3Qga2lsbCBvbmUgb2YgdGhlIHByb2Nlc3NlcywKLSAgICAgKiB3ZSBjYW4ndCBwcm92aWRlIHRoaXMgYXNzdXJhbmNlLCBhbmQgdGhlIGJ1aWxkIHNob3VsZG4ndCBzdGFydC4KLSAgICAgKi8KLQotICAgIGhzcCA9IENyZWF0ZVRvb2xoZWxwMzJTbmFwc2hvdChUSDMyQ1NfU05BUFBST0NFU1MsIDApOwotICAgIGlmIChoc3AgPT0gSU5WQUxJRF9IQU5ETEVfVkFMVUUpIHsKLSAgICAgICAgcHJpbnRmKCJDcmVhdGVUb29saGVscDMyU25hcHNob3RbMl0gZmFpbGVkOiAlZFxuIiwgR2V0TGFzdEVycm9yKCkpOwotICAgICAgICByZXR1cm4gMTsKLSAgICB9Ci0KLSAgICBpZiAoIVByb2Nlc3MzMkZpcnN0Vyhoc3AsICZwZSkpIHsKLSAgICAgICAgcHJpbnRmKCJQcm9jZXNzMzJGaXJzdFcgZmFpbGVkOiAlZFxuIiwgR2V0TGFzdEVycm9yKCkpOwotICAgICAgICBDbG9zZUhhbmRsZShoc3ApOwotICAgICAgICByZXR1cm4gMTsKLSAgICB9Ci0KLSAgICBkYWMgPSBQUk9DRVNTX1FVRVJZX0lORk9STUFUSU9OIHwgUFJPQ0VTU19WTV9SRUFEIHwgUFJPQ0VTU19URVJNSU5BVEU7Ci0gICAgZG8gewotCi0gICAgICAgIC8qCi0gICAgICAgICAqIFhYWCBUT0RPOiBpZiB3ZSByZWFsbHkgd2FudGVkIHRvIGJlIGZhbmN5LCB3ZSBjb3VsZCBjaGVjayB0aGUgCi0gICAgICAgICAqIG1vZHVsZXMgZm9yIGFsbCBwcm9jZXNzZXMgKG5vdCBqdXN0IHRoZSBweXRob25bX2RdLmV4ZSBvbmVzKQotICAgICAgICAgKiBhbmQgc2VlIGlmIGFueSBvZiBvdXIgRExMcyBhcmUgbG9hZGVkIChpLmUuIHB5dGhvbjM0W19kXS5kbGwpLAotICAgICAgICAgKiBhcyB0aGF0IHdvdWxkIGFsc28gaW5oaWJpdCBvdXIgYWJpbGl0eSB0byByZWJ1aWxkIHRoZSBzb2x1dGlvbi4KLSAgICAgICAgICogTm90IHdvcnRoIGxvb3Npbmcgc2xlZXAgb3ZlciB0aG91Z2g7IGZvciBub3csIGEgc2ltcGxlIGNoZWNrIAotICAgICAgICAgKiBmb3IganVzdCB0aGUgcHl0aG9uIGV4ZWN1dGFibGUgc2hvdWxkIGJlIHN1ZmZpY2llbnQuCi0gICAgICAgICAqLwotCi0gICAgICAgIGlmIChfd2NzbmljbXAocGUuc3pFeGVGaWxlLCBQWVRIT05fRVhFLCBQWVRIT05fRVhFX0xFTikpCi0gICAgICAgICAgICAvKiBUaGlzIGlzbid0IGEgcHl0aG9uIHByb2Nlc3MuICovCi0gICAgICAgICAgICBjb250aW51ZTsKLQotICAgICAgICAvKiBJdCdzIGEgcHl0aG9uIHByb2Nlc3MsIHNvIGZpZ3VyZSBvdXQgd2hpY2ggZGlyZWN0b3J5IGl0J3MgaW4uLi4gKi8KLSAgICAgICAgaHNtID0gQ3JlYXRlVG9vbGhlbHAzMlNuYXBzaG90KFRIMzJDU19TTkFQTU9EVUxFLCBwZS50aDMyUHJvY2Vzc0lEKTsKLSAgICAgICAgaWYgKGhzbSA9PSBJTlZBTElEX0hBTkRMRV9WQUxVRSkKLSAgICAgICAgICAgIC8qIAotICAgICAgICAgICAgICogSWYgb3VyIG1vZHVsZSBzbmFwc2hvdCBmYWlscyAod2hpY2ggd2lsbCBoYXBwZW4gaWYgd2UgZG9uJ3Qgb3duCi0gICAgICAgICAgICAgKiB0aGUgcHJvY2VzcyksIGp1c3QgaWdub3JlIGl0IGFuZCBjb250aW51ZS4gIChJdCBzZWVtcyBkaWZmZXJlbnQKLSAgICAgICAgICAgICAqIHZlcnNpb25zIG9mIFdpbmRvd3MgcmV0dXJuIGRpZmZlcmVudCB2YWx1ZXMgZm9yIEdldExhc3RFcnJvcigpCi0gICAgICAgICAgICAgKiBpbiB0aGlzIHNpdHVhdGlvbjsgaXQncyBlYXNpZXIgdG8ganVzdCBpZ25vcmUgaXQgYW5kIG1vdmUgb24gdnMuCi0gICAgICAgICAgICAgKiBzdG9wcGluZyB0aGUgYnVpbGQgZm9yIHdoYXQgY291bGQgYmUgYSBmYWxzZSBwb3NpdGl2ZS4pCi0gICAgICAgICAgICAgKi8KLSAgICAgICAgICAgICBjb250aW51ZTsKLQotICAgICAgICBpZiAoIU1vZHVsZTMyRmlyc3RXKGhzbSwgJm1lKSkgewotICAgICAgICAgICAgcHJpbnRmKCJNb2R1bGUzMkZpcnN0V1syXSBmYWlsZWQ6ICVkXG4iLCBHZXRMYXN0RXJyb3IoKSk7Ci0gICAgICAgICAgICBDbG9zZUhhbmRsZShoc3ApOwotICAgICAgICAgICAgQ2xvc2VIYW5kbGUoaHNtKTsKLSAgICAgICAgICAgIHJldHVybiAxOwotICAgICAgICB9Ci0KLSAgICAgICAgZG8gewotICAgICAgICAgICAgaWYgKF93Y3NuaWNtcChtZS5zek1vZHVsZSwgUFlUSE9OX0VYRSwgUFlUSE9OX0VYRV9MRU4pKQotICAgICAgICAgICAgICAgIC8qIFdyb25nIG1vZHVsZSwgd2UncmUgbG9va2luZyBmb3IgcHl0aG9uW19kXS5leGUuLi4gKi8KLSAgICAgICAgICAgICAgICBjb250aW51ZTsKLQotICAgICAgICAgICAgaWYgKF93Y3NuaWNtcChwYXRoLCBtZS5zekV4ZVBhdGgsIGxlbikpCi0gICAgICAgICAgICAgICAgLyogUHJvY2VzcyBkb2Vzbid0IGxpdmUgaW4gb3VyIGRpcmVjdG9yeS4gKi8KLSAgICAgICAgICAgICAgICBicmVhazsKLQotICAgICAgICAgICAgLyogUHl0aG9uIHByb2Nlc3MgcmVzaWRpbmcgaW4gdGhlIHJpZ2h0IGRpcmVjdG9yeSwga2lsbCBpdCEgICovCi0gICAgICAgICAgICBocCA9IE9wZW5Qcm9jZXNzKGRhYywgRkFMU0UsIHBlLnRoMzJQcm9jZXNzSUQpOwotICAgICAgICAgICAgaWYgKCFocCkgewotICAgICAgICAgICAgICAgIHByaW50ZigiT3BlblByb2Nlc3MgZmFpbGVkOiAlZFxuIiwgR2V0TGFzdEVycm9yKCkpOwotICAgICAgICAgICAgICAgIENsb3NlSGFuZGxlKGhzcCk7Ci0gICAgICAgICAgICAgICAgQ2xvc2VIYW5kbGUoaHNtKTsKLSAgICAgICAgICAgICAgICByZXR1cm4gMTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgaWYgKCFUZXJtaW5hdGVQcm9jZXNzKGhwLCAxKSkgewotICAgICAgICAgICAgICAgIHByaW50ZigiVGVybWluYXRlUHJvY2VzcyBmYWlsZWQ6ICVkXG4iLCBHZXRMYXN0RXJyb3IoKSk7Ci0gICAgICAgICAgICAgICAgQ2xvc2VIYW5kbGUoaHNwKTsKLSAgICAgICAgICAgICAgICBDbG9zZUhhbmRsZShoc20pOwotICAgICAgICAgICAgICAgIENsb3NlSGFuZGxlKGhwKTsKLSAgICAgICAgICAgICAgICByZXR1cm4gMTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgQ2xvc2VIYW5kbGUoaHApOwotICAgICAgICAgICAgYnJlYWs7Ci0KLSAgICAgICAgfSB3aGlsZSAoTW9kdWxlMzJOZXh0Vyhoc20sICZtZSkpOwotCi0gICAgICAgIENsb3NlSGFuZGxlKGhzbSk7Ci0KLSAgICB9IHdoaWxlIChQcm9jZXNzMzJOZXh0Vyhoc3AsICZwZSkpOwotCi0gICAgQ2xvc2VIYW5kbGUoaHNwKTsKLQotICAgIHJldHVybiAwOwotfQotCi0vKiB2aTogc2V0IHRzPTggc3c9NCBzdHM9NCBleHBhbmR0YWIgKi8KZGlmZiAtLWdpdCBhL1BDYnVpbGQva2lsbF9weXRob24udmN4cHJvaiBiL1BDYnVpbGQva2lsbF9weXRob24udmN4cHJvagpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWY2N2M0MC4uMDAwMDAwMAotLS0gYS9QQ2J1aWxkL2tpbGxfcHl0aG9uLnZjeHByb2oKKysrIC9kZXYvbnVsbApAQCAtMSwxMjAgKzAsMCBAQAot77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KLTxQcm9qZWN0IERlZmF1bHRUYXJnZXRzPSJCdWlsZCIgVG9vbHNWZXJzaW9uPSI0LjAiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgotICA8SXRlbUdyb3VwIExhYmVsPSJQcm9qZWN0Q29uZmlndXJhdGlvbnMiPgotICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJEZWJ1Z3xXaW4zMiI+Ci0gICAgICA8Q29uZmlndXJhdGlvbj5EZWJ1ZzwvQ29uZmlndXJhdGlvbj4KLSAgICAgIDxQbGF0Zm9ybT5XaW4zMjwvUGxhdGZvcm0+Ci0gICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KLSAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iRGVidWd8eDY0Ij4KLSAgICAgIDxDb25maWd1cmF0aW9uPkRlYnVnPC9Db25maWd1cmF0aW9uPgotICAgICAgPFBsYXRmb3JtPng2NDwvUGxhdGZvcm0+Ci0gICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KLSAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iUmVsZWFzZXxXaW4zMiI+Ci0gICAgICA8Q29uZmlndXJhdGlvbj5SZWxlYXNlPC9Db25maWd1cmF0aW9uPgotICAgICAgPFBsYXRmb3JtPldpbjMyPC9QbGF0Zm9ybT4KLSAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgotICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJSZWxlYXNlfHg2NCI+Ci0gICAgICA8Q29uZmlndXJhdGlvbj5SZWxlYXNlPC9Db25maWd1cmF0aW9uPgotICAgICAgPFBsYXRmb3JtPng2NDwvUGxhdGZvcm0+Ci0gICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KLSAgPC9JdGVtR3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJHbG9iYWxzIj4KLSAgICA8UHJvamVjdEd1aWQ+ezZERTEwNzQ0LUUzOTYtNDBBNS1CNEUyLTFCNjlBQTdDOEQzMX08L1Byb2plY3RHdWlkPgotICAgIDxSb290TmFtZXNwYWNlPmtpbGxfcHl0aG9uPC9Sb290TmFtZXNwYWNlPgotICAgIDxLZXl3b3JkPldpbjMyUHJvajwvS2V5d29yZD4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5EZWZhdWx0LnByb3BzIiAvPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkFwcGxpY2F0aW9uPC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkFwcGxpY2F0aW9uPC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkFwcGxpY2F0aW9uPC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5BcHBsaWNhdGlvbjwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5wcm9wcyIgLz4KLSAgPEltcG9ydEdyb3VwIExhYmVsPSJFeHRlbnNpb25TZXR0aW5ncyI+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5cHJvamVjdC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InJlbGVhc2UucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweXByb2plY3QucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJkZWJ1Zy5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5cHJvamVjdC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InJlbGVhc2UucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJ4NjQucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlwcm9qZWN0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0iZGVidWcucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJ4NjQucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJVc2VyTWFjcm9zIiAvPgotICA8UHJvcGVydHlHcm91cD4KLSAgICA8X1Byb2plY3RGaWxlVmVyc2lvbj4xMC4wLjMwMzE5LjE8L19Qcm9qZWN0RmlsZVZlcnNpb24+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgLz4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+Ci0gICAgPExpbms+Ci0gICAgICA8T3V0cHV0RmlsZT4kKE91dERpcikkKFByb2plY3ROYW1lKV9kLmV4ZTwvT3V0cHV0RmlsZT4KLSAgICAgIDxTdWJTeXN0ZW0+Q29uc29sZTwvU3ViU3lzdGVtPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPgotICAgIDxNaWRsPgotICAgICAgPFRhcmdldEVudmlyb25tZW50Plg2NDwvVGFyZ2V0RW52aXJvbm1lbnQ+Ci0gICAgPC9NaWRsPgotICAgIDxMaW5rPgotICAgICAgPE91dHB1dEZpbGU+JChPdXREaXIpJChQcm9qZWN0TmFtZSlfZC5leGU8L091dHB1dEZpbGU+Ci0gICAgICA8U3ViU3lzdGVtPkNvbnNvbGU8L1N1YlN5c3RlbT4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+Ci0gICAgPExpbms+Ci0gICAgICA8U3ViU3lzdGVtPkNvbnNvbGU8L1N1YlN5c3RlbT4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPgotICAgIDxNaWRsPgotICAgICAgPFRhcmdldEVudmlyb25tZW50Plg2NDwvVGFyZ2V0RW52aXJvbm1lbnQ+Ci0gICAgPC9NaWRsPgotICAgIDxMaW5rPgotICAgICAgPFN1YlN5c3RlbT5Db25zb2xlPC9TdWJTeXN0ZW0+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtR3JvdXA+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSJraWxsX3B5dGhvbi5jIiAvPgotICA8L0l0ZW1Hcm91cD4KLSAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAudGFyZ2V0cyIgLz4KLSAgPEltcG9ydEdyb3VwIExhYmVsPSJFeHRlbnNpb25UYXJnZXRzIj4KLSAgPC9JbXBvcnRHcm91cD4KLTwvUHJvamVjdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9QQ2J1aWxkL2tpbGxfcHl0aG9uLnZjeHByb2ouZmlsdGVycyBiL1BDYnVpbGQva2lsbF9weXRob24udmN4cHJvai5maWx0ZXJzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0MzNkNzUxLi4wMDAwMDAwCi0tLSBhL1BDYnVpbGQva2lsbF9weXRob24udmN4cHJvai5maWx0ZXJzCisrKyAvZGV2L251bGwKQEAgLTEsMTMgKzAsMCBAQAot77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KLTxQcm9qZWN0IFRvb2xzVmVyc2lvbj0iNC4wIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KLSAgPEl0ZW1Hcm91cD4KLSAgICA8RmlsdGVyIEluY2x1ZGU9IlNvdXJjZSBGaWxlcyI+Ci0gICAgICA8VW5pcXVlSWRlbnRpZmllcj57NDg2MDY1OTEtYzhiNi00MWE1LTk1YzUtOWEwODkwYzU1MDRmfTwvVW5pcXVlSWRlbnRpZmllcj4KLSAgICA8L0ZpbHRlcj4KLSAgPC9JdGVtR3JvdXA+Ci0gIDxJdGVtR3JvdXA+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSJraWxsX3B5dGhvbi5jIj4KLSAgICAgIDxGaWx0ZXI+U291cmNlIEZpbGVzPC9GaWx0ZXI+Ci0gICAgPC9DbENvbXBpbGU+Ci0gIDwvSXRlbUdyb3VwPgotPC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1BDYnVpbGQvbGliZWF5LnZjeHByb2ogYi9QQ2J1aWxkL2xpYmVheS52Y3hwcm9qCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRmZjVlNzEKLS0tIC9kZXYvbnVsbAorKysgYi9QQ2J1aWxkL2xpYmVheS52Y3hwcm9qCkBAIC0wLDAgKzEsODkwIEBACivvu788P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgorPFByb2plY3QgRGVmYXVsdFRhcmdldHM9IkJ1aWxkIiBUb29sc1ZlcnNpb249IjQuMCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+CisgIDxJdGVtR3JvdXAgTGFiZWw9IlByb2plY3RDb25maWd1cmF0aW9ucyI+CisgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IkRlYnVnfFdpbjMyIj4KKyAgICAgIDxDb25maWd1cmF0aW9uPkRlYnVnPC9Db25maWd1cmF0aW9uPgorICAgICAgPFBsYXRmb3JtPldpbjMyPC9QbGF0Zm9ybT4KKyAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgorICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJSZWxlYXNlfFdpbjMyIj4KKyAgICAgIDxDb25maWd1cmF0aW9uPlJlbGVhc2U8L0NvbmZpZ3VyYXRpb24+CisgICAgICA8UGxhdGZvcm0+V2luMzI8L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IlBHSW5zdHJ1bWVudHxXaW4zMiI+CisgICAgICA8Q29uZmlndXJhdGlvbj5QR0luc3RydW1lbnQ8L0NvbmZpZ3VyYXRpb24+CisgICAgICA8UGxhdGZvcm0+V2luMzI8L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IlBHSW5zdHJ1bWVudHx4NjQiPgorICAgICAgPENvbmZpZ3VyYXRpb24+UEdJbnN0cnVtZW50PC9Db25maWd1cmF0aW9uPgorICAgICAgPFBsYXRmb3JtPng2NDwvUGxhdGZvcm0+CisgICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KKyAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iUEdVcGRhdGV8V2luMzIiPgorICAgICAgPENvbmZpZ3VyYXRpb24+UEdVcGRhdGU8L0NvbmZpZ3VyYXRpb24+CisgICAgICA8UGxhdGZvcm0+V2luMzI8L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IlBHVXBkYXRlfHg2NCI+CisgICAgICA8Q29uZmlndXJhdGlvbj5QR1VwZGF0ZTwvQ29uZmlndXJhdGlvbj4KKyAgICAgIDxQbGF0Zm9ybT54NjQ8L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IkRlYnVnfHg2NCI+CisgICAgICA8Q29uZmlndXJhdGlvbj5EZWJ1ZzwvQ29uZmlndXJhdGlvbj4KKyAgICAgIDxQbGF0Zm9ybT54NjQ8L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IlJlbGVhc2V8eDY0Ij4KKyAgICAgIDxDb25maWd1cmF0aW9uPlJlbGVhc2U8L0NvbmZpZ3VyYXRpb24+CisgICAgICA8UGxhdGZvcm0+eDY0PC9QbGF0Zm9ybT4KKyAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgorICA8L0l0ZW1Hcm91cD4KKyAgPFByb3BlcnR5R3JvdXAgTGFiZWw9Ikdsb2JhbHMiPgorICAgIDxQcm9qZWN0R3VpZD57RTVCMDRDQzAtRUI0Qy00MkFCLUI0REMtMThFRjk1Rjg2NEIwfTwvUHJvamVjdEd1aWQ+CisgICAgPFJvb3ROYW1lc3BhY2U+bGliZWF5PC9Sb290TmFtZXNwYWNlPgorICA8L1Byb3BlcnR5R3JvdXA+CisKKyAgPEltcG9ydCBQcm9qZWN0PSJweXRob24ucHJvcHMiIC8+CisgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLkRlZmF1bHQucHJvcHMiIC8+CisKKyAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgorICAgIDxDb25maWd1cmF0aW9uVHlwZT5TdGF0aWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgorICAgCisgIDxJbXBvcnQgUHJvamVjdD0ib3BlbnNzbC5wcm9wcyIgLz4KKyAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAucHJvcHMiIC8+CisKKyAgPFRhcmdldCBOYW1lPSJDcmVhdGVCdWlsZGluZkgiIElucHV0cz0iJChNU0J1aWxkUHJvamVjdEZ1bGxQYXRoKSIgT3V0cHV0cz0iJChJbnREaXIpXGJ1aWxkaW5mLmgiIEFmdGVyVGFyZ2V0cz0iUHJlcGFyZUZvckJ1aWxkIj4KKyAgICA8UHJvcGVydHlHcm91cD4KKyAgICAgIDxfREFURVZhbHVlPiNkZWZpbmUgREFURSAiJChbU3lzdGVtLkRhdGVUaW1lXTo6Tm93LlRvU3RyaW5nKGBkZGQgTU1NIGRkIEhIJzonbW0nOidzcyB5eXl5YCkpIjwvX0RBVEVWYWx1ZT4KKyAgICAgIDxfQ0ZMQUdTVmFsdWU+I2RlZmluZSBDRkxBR1MgImNsIC9NRCAvT3ggLVczIC1HczAgLUd5IC1ub2xvZ28gQChQcmVwcm9jZXNzb3JEZWZpbml0aW9ucy0+Jy1EJShJZGVudGl0eSknLCcgJykiPC9fQ0ZMQUdTVmFsdWU+CisgICAgICA8X1BMQVRGT1JNVmFsdWUgQ29uZGl0aW9uPSIkKFBsYXRmb3JtKT09J1dpbjMyJyI+I2RlZmluZSBQTEFURk9STSAiVkMtV0lOMzIiPC9fUExBVEZPUk1WYWx1ZT4KKyAgICAgIDxfUExBVEZPUk1WYWx1ZSBDb25kaXRpb249IiQoUGxhdGZvcm0pPT0neDY0JyI+I2RlZmluZSBQTEFURk9STSAiVkMtV0lONjRBIjwvX1BMQVRGT1JNVmFsdWU+CisgICAgPC9Qcm9wZXJ0eUdyb3VwPgorICAgIDxXcml0ZUxpbmVzVG9GaWxlIEZpbGU9IiQoSW50RGlyKVxidWlsZGluZi5oIgorICAgICAgICAgICAgICAgICAgICAgIExpbmVzPSIkKF9EQVRFVmFsdWUpOyQoX0NGTEFHU1ZhbHVlKTskKF9QTEFURk9STVZhbHVlKSIKKyAgICAgICAgICAgICAgICAgICAgICBPdmVyd3JpdGU9InRydWUiIC8+CisgICAgPE1lc3NhZ2UgVGV4dD0iVXBkYXRpbmcgYnVpbGRpbmYuaDoKKyAgICAkKF9EQVRFVmFsdWUpCisgICAgJChfQ0ZMQUdTVmFsdWUpCisgICAgJChfUExBVEZPUk1WYWx1ZSkiIEltcG9ydGFuY2U9Im5vcm1hbCIgLz4KKyAgPC9UYXJnZXQ+CisKKyAgPFRhcmdldCBOYW1lPSJTdXBwcmVzc09yaWdpbmFsQnVpbGRpbmZIIiBDb25kaXRpb249IkV4aXN0cygnJChvcGVuc3NsRGlyKWNyeXB0b1xidWlsZGluZi5oJykiIEJlZm9yZVRhcmdldHM9IlByZXBhcmVGb3JCdWlsZCI+CisgICAgPE1vdmUgU291cmNlRmlsZXM9IiQob3BlbnNzbERpciljcnlwdG9cYnVpbGRpbmYuaCIgRGVzdGluYXRpb25GaWxlcz0iJChvcGVuc3NsRGlyKWNyeXB0b1xidWlsZGluZi5oLm9yaWciIC8+CisgIDwvVGFyZ2V0PgorCisgIDxJdGVtR3JvdXA+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGN2ZXJzaW9uLmMiPgorICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+JChJbnREaXIpOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+CisgICAgPC9DbENvbXBpbGU+CisgIDwvSXRlbUdyb3VwPgorICAKKyAgPEl0ZW1Hcm91cD4KKyAgICA8IS0tCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpYXBwc1xlcnJzdHIuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYWVzXGFlc19jZmIuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYWVzXGFlc19jdHIuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYWVzXGFlc19lY2IuYyIgLz4KKyAgICAtLT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYWVzXGFlc19pZ2UuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYWVzXGFlc19taXNjLmMiIC8+CisgICAgPCEtLQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xhZXNcYWVzX29mYi5jIiAvPgorICAgIC0tPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xhZXNcYWVzX3dyYXAuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYXNuMVxhX2JpdHN0ci5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xhc24xXGFfYm9vbC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xhc24xXGFfYnl0ZXMuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYXNuMVxhX2QyaV9mcC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xhc24xXGFfZGlnZXN0LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGFzbjFcYV9kdXAuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYXNuMVxhX2VudW0uYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYXNuMVxhX2dlbnRtLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGFzbjFcYV9pMmRfZnAuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYXNuMVxhX2ludC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xhc24xXGFfbWJzdHIuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYXNuMVxhX29iamVjdC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xhc24xXGFfb2N0ZXQuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYXNuMVxhX3ByaW50LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGFzbjFcYV9zZXQuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYXNuMVxhX3NpZ24uYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYXNuMVxhX3N0cmV4LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGFzbjFcYV9zdHJuaWQuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYXNuMVxhX3RpbWUuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYXNuMVxhX3R5cGUuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYXNuMVxhX3V0Y3RtLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGFzbjFcYV91dGY4LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGFzbjFcYV92ZXJpZnkuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYXNuMVxhbWV0aF9saWIuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYXNuMVxhc25fbWltZS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xhc24xXGFzbl9tb2lkLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGFzbjFcYXNuX3BhY2suYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYXNuMVxhc24xX2Vyci5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xhc24xXGFzbjFfZ2VuLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGFzbjFcYXNuMV9saWIuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYXNuMVxhc24xX3Bhci5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xhc24xXGJpb19hc24xLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGFzbjFcYmlvX25kZWYuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYXNuMVxkMmlfcHIuYyIgLz4KKyAgICA8IS0tCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGFzbjFcZDJpX3B1LmMiIC8+CisgICAgLS0+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGFzbjFcZXZwX2FzbjEuYyIgLz4KKyAgICA8IS0tCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGFzbjFcZl9lbnVtLmMiIC8+CisgICAgLS0+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGFzbjFcZl9pbnQuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYXNuMVxmX3N0cmluZy5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xhc24xXGkyZF9wci5jIiAvPgorICAgIDwhLS0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYXNuMVxpMmRfcHUuYyIgLz4KKyAgICAtLT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYXNuMVxuX3BrZXkuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYXNuMVxuc3NlcS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xhc24xXHA1X3BiZS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xhc24xXHA1X3BiZXYyLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGFzbjFccDhfcGtleS5jIiAvPgorICAgIDwhLS0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYXNuMVx0X2JpdHN0LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGFzbjFcdF9jcmwuYyIgLz4KKyAgICAtLT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYXNuMVx0X3BrZXkuYyIgLz4KKyAgICA8IS0tCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGFzbjFcdF9yZXEuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYXNuMVx0X3Nwa2kuYyIgLz4KKyAgICAtLT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYXNuMVx0X3g1MDkuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYXNuMVx0X3g1MDlhLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGFzbjFcdGFzbl9kZWMuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYXNuMVx0YXNuX2VuYy5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xhc24xXHRhc25fZnJlLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGFzbjFcdGFzbl9uZXcuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYXNuMVx0YXNuX3Bybi5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xhc24xXHRhc25fdHlwLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGFzbjFcdGFzbl91dGwuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYXNuMVx4X2FsZ29yLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGFzbjFceF9hdHRyaWIuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYXNuMVx4X2JpZ251bS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xhc24xXHhfY3JsLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGFzbjFceF9leHRlbi5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xhc24xXHhfaW5mby5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xhc24xXHhfbG9uZy5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xhc24xXHhfbmFtZS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xhc24xXHhfbng1MDkuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYXNuMVx4X3BrZXkuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYXNuMVx4X3B1YmtleS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xhc24xXHhfcmVxLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGFzbjFceF9zaWcuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYXNuMVx4X3Nwa2kuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYXNuMVx4X3ZhbC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xhc24xXHhfeDUwOS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xhc24xXHhfeDUwOWEuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYmZcYmZfY2ZiNjQuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYmZcYmZfZWNiLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGJmXGJmX29mYjY0LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGJmXGJmX3NrZXkuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYmlvXGJfZHVtcC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xiaW9cYl9wcmludC5jIiAvPgorICAgIDwhLS0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYmlvXGJfc29jay5jIiAvPgorICAgIC0tPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xiaW9cYmZfYnVmZi5jIiAvPgorICAgIDwhLS0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYmlvXGJmX25iaW8uYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYmlvXGJmX251bGwuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYmlvXGJpb19jYi5jIiAvPgorICAgIC0tPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xiaW9cYmlvX2Vyci5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xiaW9cYmlvX2xpYi5jIiAvPgorICAgIDwhLS0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYmlvXGJzc19hY3B0LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGJpb1xic3NfYmlvLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGJpb1xic3NfY29ubi5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xiaW9cYnNzX2RncmFtLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGJpb1xic3NfZmQuYyIgLz4KKyAgICAtLT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYmlvXGJzc19maWxlLmMiIC8+CisgICAgPCEtLQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xiaW9cYnNzX2xvZy5jIiAvPgorICAgIC0tPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xiaW9cYnNzX21lbS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xiaW9cYnNzX251bGwuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYmlvXGJzc19zb2NrLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGJuXGJuX2FkZC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xiblxibl9ibGluZC5jIiAvPgorICAgIDwhLS0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYm5cYm5fY29uc3QuYyIgLz4KKyAgICAtLT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYm5cYm5fY3R4LmMiIC8+CisgICAgPCEtLQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xiblxibl9kZXByLmMiIC8+CisgICAgLS0+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGJuXGJuX2Rpdi5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xiblxibl9lcnIuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYm5cYm5fZXhwLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGJuXGJuX2V4cDIuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYm5cYm5fZ2NkLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGJuXGJuX2dmMm0uYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYm5cYm5fa3Jvbi5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xiblxibl9saWIuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYm5cYm5fbW9kLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGJuXGJuX21vbnQuYyIgLz4KKyAgICA8IS0tCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGJuXGJuX21waS5jIiAvPgorICAgIC0tPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xiblxibl9tdWwuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYm5cYm5fbmlzdC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xiblxibl9wcmltZS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xiblxibl9wcmludC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xiblxibl9yYW5kLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGJuXGJuX3JlY3AuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYm5cYm5fc2hpZnQuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYm5cYm5fc3FyLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGJuXGJuX3NxcnQuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYm5cYm5fd29yZC5jIiAvPgorICAgIDwhLS0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYm5cYm5feDkzMXAuYyIgLz4KKyAgICAtLT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYnVmZmVyXGJ1Zl9lcnIuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYnVmZmVyXGJ1Zl9zdHIuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYnVmZmVyXGJ1ZmZlci5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xjYW1lbGxpYVxjbWxsX2NmYi5jIiAvPgorICAgIDwhLS0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cY2FtZWxsaWFcY21sbF9jdHIuYyIgLz4KKyAgICAtLT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cY2FtZWxsaWFcY21sbF9lY2IuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cY2FtZWxsaWFcY21sbF9vZmIuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cY2FtZWxsaWFcY21sbF91dGwuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cY2FzdFxjX2NmYjY0LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGNhc3RcY19lY2IuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cY2FzdFxjX29mYjY0LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGNhc3RcY19za2V5LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGNtYWNcY21fYW1ldGguYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cY21hY1xjbV9wbWV0aC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xjbWFjXGNtYWMuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cY21zXGNtc19hc24xLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGNtc1xjbXNfYXR0LmMiIC8+CisgICAgPCEtLQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xjbXNcY21zX2NkLmMiIC8+CisgICAgLS0+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGNtc1xjbXNfZGQuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cY21zXGNtc19lbmMuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cY21zXGNtc19lbnYuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cY21zXGNtc19lcnIuYyIgLz4KKyAgICA8IS0tCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGNtc1xjbXNfZXNzLmMiIC8+CisgICAgLS0+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGNtc1xjbXNfaW8uYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cY21zXGNtc19saWIuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cY21zXGNtc19wd3JpLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGNtc1xjbXNfc2QuYyIgLz4KKyAgICA8IS0tCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGNtc1xjbXNfc21pbWUuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cY29tcFxjX3JsZS5jIiAvPgorICAgIC0tPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xjb21wXGNfemxpYi5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xjb21wXGNvbXBfZXJyLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGNvbXBcY29tcF9saWIuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cY29uZlxjb25mX2FwaS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xjb25mXGNvbmZfZGVmLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGNvbmZcY29uZl9lcnIuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cY29uZlxjb25mX2xpYi5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xjb25mXGNvbmZfbWFsbC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xjb25mXGNvbmZfbW9kLmMiIC8+CisgICAgPCEtLQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xjb25mXGNvbmZfc2FwLmMiIC8+CisgICAgLS0+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGNwdF9lcnIuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cY3J5cHRsaWIuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZGVzXGNiY19ja3NtLmMiIC8+CisgICAgPCEtLQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xkZXNcY2JjX2VuYy5jIiAvPgorICAgIC0tPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xkZXNcY2ZiX2VuYy5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xkZXNcY2ZiNjRlZGUuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZGVzXGNmYjY0ZW5jLmMiIC8+CisgICAgPCEtLQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xkZXNcZGVzX29sZC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xkZXNcZGVzX29sZDIuYyIgLz4KKyAgICAtLT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZGVzXGVjYl9lbmMuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZGVzXGVjYjNfZW5jLmMiIC8+CisgICAgPCEtLQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xkZXNcZWRlX2NiY21fZW5jLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGRlc1xlbmNfcmVhZC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xkZXNcZW5jX3dyaXQuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZGVzXGZjcnlwdC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xkZXNcb2ZiX2VuYy5jIiAvPgorICAgIC0tPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xkZXNcb2ZiNjRlZGUuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZGVzXG9mYjY0ZW5jLmMiIC8+CisgICAgPCEtLQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xkZXNccGNiY19lbmMuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZGVzXHF1ZF9ja3NtLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGRlc1xyYW5kX2tleS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xkZXNccmVhZDJwd2QuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZGVzXHJwY19lbmMuYyIgLz4KKyAgICAtLT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZGVzXHNldF9rZXkuYyIgLz4KKyAgICA8IS0tCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGRlc1xzdHIya2V5LmMiIC8+CisgICAgLS0+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGRlc1x4Y2JjX2VuYy5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xkaFxkaF9hbWV0aC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xkaFxkaF9hc24xLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGRoXGRoX2NoZWNrLmMiIC8+CisgICAgPCEtLQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xkaFxkaF9kZXByLmMiIC8+CisgICAgLS0+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGRoXGRoX2Vyci5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xkaFxkaF9nZW4uYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZGhcZGhfa2V5LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGRoXGRoX2xpYi5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xkaFxkaF9wbWV0aC5jIiAvPgorICAgIDwhLS0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZGhcZGhfcHJuLmMiIC8+CisgICAgLS0+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGRzYVxkc2FfYW1ldGguYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZHNhXGRzYV9hc24xLmMiIC8+CisgICAgPCEtLQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xkc2FcZHNhX2RlcHIuYyIgLz4KKyAgICAtLT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZHNhXGRzYV9lcnIuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZHNhXGRzYV9nZW4uYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZHNhXGRzYV9rZXkuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZHNhXGRzYV9saWIuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZHNhXGRzYV9vc3NsLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGRzYVxkc2FfcG1ldGguYyIgLz4KKyAgICA8IS0tCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGRzYVxkc2FfcHJuLmMiIC8+CisgICAgLS0+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGRzYVxkc2Ffc2lnbi5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xkc2FcZHNhX3ZyZi5jIiAvPgorICAgIDwhLS0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZHNvXGRzb19iZW9zLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGRzb1xkc29fZGwuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZHNvXGRzb19kbGZjbi5jIiAvPgorICAgIC0tPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xkc29cZHNvX2Vyci5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xkc29cZHNvX2xpYi5jIiAvPgorICAgIDwhLS0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZHNvXGRzb19udWxsLmMiIC8+CisgICAgLS0+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGRzb1xkc29fb3BlbnNzbC5jIiAvPgorICAgIDwhLS0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZHNvXGRzb192bXMuYyIgLz4KKyAgICAtLT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZHNvXGRzb193aW4zMi5jIiAvPgorICAgIDwhLS0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZWJjZGljLmMiIC8+CisgICAgLS0+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGVjXGVjX2FtZXRoLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGVjXGVjX2FzbjEuYyIgLz4KKyAgICA8IS0tCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGVjXGVjX2NoZWNrLmMiIC8+CisgICAgLS0+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGVjXGVjX2N1cnZlLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGVjXGVjX2N2dC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xlY1xlY19lcnIuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZWNcZWNfa2V5LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGVjXGVjX2xpYi5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xlY1xlY19tdWx0LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGVjXGVjX29jdC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xlY1xlY19wbWV0aC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xlY1xlY19wcmludC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xlY1xlYzJfbXVsdC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xlY1xlYzJfb2N0LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGVjXGVjMl9zbXBsLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGVjXGVja19wcm4uYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZWNcZWNwX21vbnQuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZWNcZWNwX25pc3QuYyIgLz4KKyAgICA8IS0tCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGVjXGVjcF9uaXN0cDIyNC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xlY1xlY3BfbmlzdHAyNTYuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZWNcZWNwX25pc3RwNTIxLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGVjXGVjcF9uaXN0cHV0aWwuYyIgLz4KKyAgICAtLT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZWNcZWNwX29jdC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xlY1xlY3Bfc21wbC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xlY2RoXGVjaF9lcnIuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZWNkaFxlY2hfa2V5LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGVjZGhcZWNoX2xpYi5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xlY2RoXGVjaF9vc3NsLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGVjZHNhXGVjc19hc24xLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGVjZHNhXGVjc19lcnIuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZWNkc2FcZWNzX2xpYi5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xlY2RzYVxlY3Nfb3NzbC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xlY2RzYVxlY3Nfc2lnbi5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xlY2RzYVxlY3NfdnJmLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGVuZ2luZVxlbmdfYWxsLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGVuZ2luZVxlbmdfY25mLmMiIC8+CisgICAgPCEtLQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xlbmdpbmVcZW5nX2NyeXB0b2Rldi5jIiAvPgorICAgIC0tPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xlbmdpbmVcZW5nX2N0cmwuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZW5naW5lXGVuZ19keW4uYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZW5naW5lXGVuZ19lcnIuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZW5naW5lXGVuZ19mYXQuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZW5naW5lXGVuZ19pbml0LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGVuZ2luZVxlbmdfbGliLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGVuZ2luZVxlbmdfbGlzdC5jIiAvPgorICAgIDwhLS0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZW5naW5lXGVuZ19vcGVuc3NsLmMiIC8+CisgICAgLS0+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGVuZ2luZVxlbmdfcGtleS5jIiAvPgorICAgIDwhLS0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZW5naW5lXGVuZ19yZHJhbmQuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZW5naW5lXGVuZ19yc2F4LmMiIC8+CisgICAgLS0+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGVuZ2luZVxlbmdfdGFibGUuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZW5naW5lXHRiX2Fzbm10aC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xlbmdpbmVcdGJfY2lwaGVyLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGVuZ2luZVx0Yl9kaC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xlbmdpbmVcdGJfZGlnZXN0LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGVuZ2luZVx0Yl9kc2EuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZW5naW5lXHRiX2VjZGguYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZW5naW5lXHRiX2VjZHNhLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGVuZ2luZVx0Yl9wa21ldGguYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZW5naW5lXHRiX3JhbmQuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZW5naW5lXHRiX3JzYS5jIiAvPgorICAgIDwhLS0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZW5naW5lXHRiX3N0b3JlLmMiIC8+CisgICAgLS0+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGVyclxlcnIuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZXJyXGVycl9hbGwuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZXJyXGVycl9wcm4uYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZXZwXGJpb19iNjQuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZXZwXGJpb19lbmMuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZXZwXGJpb19tZC5jIiAvPgorICAgIDwhLS0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZXZwXGJpb19vay5jIiAvPgorICAgIC0tPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xldnBcY19hbGwuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZXZwXGNfYWxsYy5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xldnBcY19hbGxkLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGV2cFxkaWdlc3QuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZXZwXGVfYWVzLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGV2cFxlX2Flc19jYmNfaG1hY19zaGExLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGV2cFxlX2JmLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGV2cFxlX2NhbWVsbGlhLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGV2cFxlX2Nhc3QuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZXZwXGVfZGVzLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGV2cFxlX2RlczMuYyIgLz4KKyAgICA8IS0tCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGV2cFxlX2lkZWEuYyIgLz4KKyAgICAtLT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZXZwXGVfbnVsbC5jIiAvPgorICAgIDwhLS0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZXZwXGVfb2xkLmMiIC8+CisgICAgLS0+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGV2cFxlX3JjMi5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xldnBcZV9yYzQuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZXZwXGVfcmM0X2htYWNfbWQ1LmMiIC8+CisgICAgPCEtLQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xldnBcZV9yYzUuYyIgLz4KKyAgICAtLT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZXZwXGVfc2VlZC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xldnBcZV94Y2JjX2QuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZXZwXGVuY29kZS5jIiAvPgorICAgIDwhLS0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZXZwXGV2cF9hY25mLmMiIC8+CisgICAgLS0+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGV2cFxldnBfY25mLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGV2cFxldnBfZW5jLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGV2cFxldnBfZXJyLmMiIC8+CisgICAgPCEtLQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xldnBcZXZwX2ZpcHMuYyIgLz4KKyAgICAtLT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZXZwXGV2cF9rZXkuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZXZwXGV2cF9saWIuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZXZwXGV2cF9wYmUuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZXZwXGV2cF9wa2V5LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGV2cFxtX2Rzcy5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xldnBcbV9kc3MxLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGV2cFxtX2VjZHNhLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGV2cFxtX21kNC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xldnBcbV9tZDUuYyIgLz4KKyAgICA8IS0tCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGV2cFxtX251bGwuYyIgLz4KKyAgICAtLT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZXZwXG1fcmlwZW1kLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGV2cFxtX3NoYS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xldnBcbV9zaGExLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGV2cFxtX3NpZ3Zlci5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xldnBcbV93cC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xldnBcbmFtZXMuYyIgLz4KKyAgICA8IS0tCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGV2cFxwX2RlYy5jIiAvPgorICAgIC0tPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xldnBccF9saWIuYyIgLz4KKyAgICA8IS0tCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGV2cFxwX29wZW4uYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZXZwXHBfc2VhbC5jIiAvPgorICAgIC0tPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xldnBccF9zaWduLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGV2cFxwX3ZlcmlmeS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xldnBccDVfY3JwdC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xldnBccDVfY3JwdDIuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZXZwXHBtZXRoX2ZuLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGV2cFxwbWV0aF9nbi5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xldnBccG1ldGhfbGliLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGV4X2RhdGEuYyIgLz4KKyAgICA8IS0tCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGZpcHNfZXJzLmMiIC8+CisgICAgLS0+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGhtYWNcaG1fYW1ldGguYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9caG1hY1xobV9wbWV0aC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xobWFjXGhtYWMuYyIgLz4KKyAgICA8IS0tCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGtyYjVca3JiNV9hc24uYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cbGhhc2hcbGhfc3RhdHMuYyIgLz4KKyAgICAtLT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cbGhhc2hcbGhhc2guYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cbWQ0XG1kNF9kZ3N0LmMiIC8+CisgICAgPCEtLQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xtZDRcbWQ0X29uZS5jIiAvPgorICAgIC0tPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xtZDVcbWQ1X2Rnc3QuYyIgLz4KKyAgICA8IS0tCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXG1kNVxtZDVfb25lLmMiIC8+CisgICAgLS0+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXG1lbS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xtZW1fZGJnLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXG1vZGVzXGNiYzEyOC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xtb2Rlc1xjY20xMjguYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cbW9kZXNcY2ZiMTI4LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXG1vZGVzXGN0cjEyOC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xtb2Rlc1xjdHMxMjguYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cbW9kZXNcZ2NtMTI4LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXG1vZGVzXG9mYjEyOC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xtb2Rlc1x4dHMxMjguYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cb19kaXIuYyIgLz4KKyAgICA8IS0tCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXG9fZmlwcy5jIiAvPgorICAgIC0tPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xvX2luaXQuYyIgLz4KKyAgICA8IS0tCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXG9fc3RyLmMiIC8+CisgICAgLS0+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXG9fdGltZS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xvYmplY3RzXG9fbmFtZXMuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cb2JqZWN0c1xvYmpfZGF0LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXG9iamVjdHNcb2JqX2Vyci5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xvYmplY3RzXG9ial9saWIuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cb2JqZWN0c1xvYmpfeHJlZi5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xvY3NwXG9jc3BfYXNuLmMiIC8+CisgICAgPCEtLQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xvY3NwXG9jc3BfY2wuYyIgLz4KKyAgICAtLT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cb2NzcFxvY3NwX2Vyci5jIiAvPgorICAgIDwhLS0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cb2NzcFxvY3NwX2V4dC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xvY3NwXG9jc3BfaHQuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cb2NzcFxvY3NwX2xpYi5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xvY3NwXG9jc3BfcHJuLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXG9jc3Bcb2NzcF9zcnYuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cb2NzcFxvY3NwX3ZmeS5jIiAvPgorICAgIC0tPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xwZW1ccGVtX2FsbC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xwZW1ccGVtX2Vyci5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xwZW1ccGVtX2luZm8uYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ccGVtXHBlbV9saWIuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ccGVtXHBlbV9vdGguYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ccGVtXHBlbV9wazguYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ccGVtXHBlbV9wa2V5LmMiIC8+CisgICAgPCEtLQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xwZW1ccGVtX3NlYWwuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ccGVtXHBlbV9zaWduLmMiIC8+CisgICAgLS0+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHBlbVxwZW1feDUwOS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xwZW1ccGVtX3hhdXguYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ccGVtXHB2a2ZtdC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xwa2NzMTJccDEyX2FkZC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xwa2NzMTJccDEyX2Fzbi5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xwa2NzMTJccDEyX2F0dHIuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ccGtjczEyXHAxMl9jcnB0LmMiIC8+CisgICAgPCEtLQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xwa2NzMTJccDEyX2NydC5jIiAvPgorICAgIC0tPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xwa2NzMTJccDEyX2RlY3IuYyIgLz4KKyAgICA8IS0tCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHBrY3MxMlxwMTJfaW5pdC5jIiAvPgorICAgIC0tPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xwa2NzMTJccDEyX2tleS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xwa2NzMTJccDEyX2tpc3MuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ccGtjczEyXHAxMl9tdXRsLmMiIC8+CisgICAgPCEtLQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xwa2NzMTJccDEyX25wYXMuYyIgLz4KKyAgICAtLT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ccGtjczEyXHAxMl9wOGQuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ccGtjczEyXHAxMl9wOGUuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ccGtjczEyXHAxMl91dGwuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ccGtjczEyXHBrMTJlcnIuYyIgLz4KKyAgICA8IS0tCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHBrY3M3XGJpb19wazcuYyIgLz4KKyAgICAtLT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ccGtjczdccGs3X2FzbjEuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ccGtjczdccGs3X2F0dHIuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ccGtjczdccGs3X2RvaXQuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ccGtjczdccGs3X2xpYi5jIiAvPgorICAgIDwhLS0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ccGtjczdccGs3X21pbWUuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ccGtjczdccGs3X3NtaW1lLmMiIC8+CisgICAgLS0+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHBrY3M3XHBrY3M3ZXJyLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHBxdWV1ZVxwcXVldWUuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ccmFuZFxtZF9yYW5kLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHJhbmRccmFuZF9lZ2QuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ccmFuZFxyYW5kX2Vyci5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xyYW5kXHJhbmRfbGliLmMiIC8+CisgICAgPCEtLQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xyYW5kXHJhbmRfbncuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ccmFuZFxyYW5kX29zMi5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xyYW5kXHJhbmRfdW5peC5jIiAvPgorICAgIC0tPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xyYW5kXHJhbmRfd2luLmMiIC8+CisgICAgPCEtLQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xyYW5kXHJhbmRmaWxlLmMiIC8+CisgICAgLS0+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHJjMlxyYzJfY2JjLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHJjMlxyYzJfZWNiLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHJjMlxyYzJfc2tleS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xyYzJccmMyY2ZiNjQuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ccmMyXHJjMm9mYjY0LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHJjNFxyYzRfdXRsLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHJpcGVtZFxybWRfZGdzdC5jIiAvPgorICAgIDwhLS0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ccmlwZW1kXHJtZF9vbmUuYyIgLz4KKyAgICAtLT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ccnNhXHJzYV9hbWV0aC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xyc2FccnNhX2FzbjEuYyIgLz4KKyAgICA8IS0tCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHJzYVxyc2FfY2hrLmMiIC8+CisgICAgLS0+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHJzYVxyc2FfY3JwdC5jIiAvPgorICAgIDwhLS0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ccnNhXHJzYV9kZXByLmMiIC8+CisgICAgLS0+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHJzYVxyc2FfZWF5LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHJzYVxyc2FfZXJyLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHJzYVxyc2FfZ2VuLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHJzYVxyc2FfbGliLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHJzYVxyc2Ffbm9uZS5jIiAvPgorICAgIDwhLS0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ccnNhXHJzYV9udWxsLmMiIC8+CisgICAgLS0+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHJzYVxyc2Ffb2FlcC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xyc2FccnNhX3BrMS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xyc2FccnNhX3BtZXRoLmMiIC8+CisgICAgPCEtLQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xyc2FccnNhX3Bybi5jIiAvPgorICAgIC0tPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xyc2FccnNhX3Bzcy5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xyc2FccnNhX3Nhb3MuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ccnNhXHJzYV9zaWduLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHJzYVxyc2Ffc3NsLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHJzYVxyc2FfeDkzMS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xzZWVkXHNlZWQuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cc2VlZFxzZWVkX2NiYy5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xzZWVkXHNlZWRfY2ZiLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHNlZWRcc2VlZF9lY2IuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cc2VlZFxzZWVkX29mYi5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xzaGFcc2hhX2Rnc3QuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cc2hhXHNoYV9vbmUuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cc2hhXHNoYTFfb25lLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHNoYVxzaGExZGdzdC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xzaGFcc2hhMjU2LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHNoYVxzaGE1MTIuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cc3JwXHNycF9saWIuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cc3JwXHNycF92ZnkuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cc3RhY2tcc3RhY2suYyIgLz4KKyAgICA8IS0tCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHRzXHRzX2FzbjEuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cdHNcdHNfY29uZi5jIiAvPgorICAgIC0tPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1x0c1x0c19lcnIuYyIgLz4KKyAgICA8IS0tCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHRzXHRzX2xpYi5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1x0c1x0c19yZXFfcHJpbnQuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cdHNcdHNfcmVxX3V0aWxzLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHRzXHRzX3JzcF9wcmludC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1x0c1x0c19yc3Bfc2lnbi5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1x0c1x0c19yc3BfdXRpbHMuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cdHNcdHNfcnNwX3ZlcmlmeS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1x0c1x0c192ZXJpZnlfY3R4LmMiIC8+CisgICAgLS0+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHR4dF9kYlx0eHRfZGIuYyIgLz4KKyAgICA8IS0tCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHVpXHVpX2NvbXBhdC5jIiAvPgorICAgIC0tPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1x1aVx1aV9lcnIuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cdWlcdWlfbGliLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHVpXHVpX29wZW5zc2wuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cdWlcdWlfdXRpbC5jIiAvPgorICAgIDwhLS0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cdWlkLmMiIC8+CisgICAgLS0+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHdocmxwb29sXHdwX2Rnc3QuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ceDUwOVxieV9kaXIuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ceDUwOVxieV9maWxlLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHg1MDlceF9hbGwuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ceDUwOVx4NTA5X2F0dC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1x4NTA5XHg1MDlfY21wLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHg1MDlceDUwOV9kMi5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1x4NTA5XHg1MDlfZGVmLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHg1MDlceDUwOV9lcnIuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ceDUwOVx4NTA5X2V4dC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1x4NTA5XHg1MDlfbHUuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ceDUwOVx4NTA5X29iai5jIiAvPgorICAgIDwhLS0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ceDUwOVx4NTA5X3IyeC5jIiAvPgorICAgIC0tPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1x4NTA5XHg1MDlfcmVxLmMiIC8+CisgICAgPCEtLQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1x4NTA5XHg1MDlfc2V0LmMiIC8+CisgICAgLS0+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHg1MDlceDUwOV90cnMuYyIgLz4KKyAgICA8IS0tCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHg1MDlceDUwOV90eHQuYyIgLz4KKyAgICAtLT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ceDUwOVx4NTA5X3YzLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHg1MDlceDUwOV92ZnkuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ceDUwOVx4NTA5X3ZwbS5jIiAvPgorICAgIDwhLS0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ceDUwOVx4NTA5Y3NldC5jIiAvPgorICAgIC0tPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1x4NTA5XHg1MDluYW1lLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHg1MDlceDUwOXJzZXQuYyIgLz4KKyAgICA8IS0tCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHg1MDlceDUwOXNwa2kuYyIgLz4KKyAgICAtLT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ceDUwOVx4NTA5dHlwZS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1x4NTA5djNccGN5X2NhY2hlLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHg1MDl2M1xwY3lfZGF0YS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1x4NTA5djNccGN5X2xpYi5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1x4NTA5djNccGN5X21hcC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1x4NTA5djNccGN5X25vZGUuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ceDUwOXYzXHBjeV90cmVlLmMiIC8+CisgICAgPCEtLQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1x4NTA5djNcdjNfYWRkci5jIiAvPgorICAgIC0tPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1x4NTA5djNcdjNfYWtleS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1x4NTA5djNcdjNfYWtleWEuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ceDUwOXYzXHYzX2FsdC5jIiAvPgorICAgIDwhLS0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ceDUwOXYzXHYzX2FzaWQuYyIgLz4KKyAgICAtLT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ceDUwOXYzXHYzX2Jjb25zLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHg1MDl2M1x2M19iaXRzdC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1x4NTA5djNcdjNfY29uZi5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1x4NTA5djNcdjNfY3BvbHMuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ceDUwOXYzXHYzX2NybGQuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ceDUwOXYzXHYzX2VudW0uYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ceDUwOXYzXHYzX2V4dGt1LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHg1MDl2M1x2M19nZW5uLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHg1MDl2M1x2M19pYTUuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ceDUwOXYzXHYzX2luZm8uYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ceDUwOXYzXHYzX2ludC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1x4NTA5djNcdjNfbGliLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHg1MDl2M1x2M19uY29ucy5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1x4NTA5djNcdjNfb2NzcC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1x4NTA5djNcdjNfcGNpLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHg1MDl2M1x2M19wY2lhLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHg1MDl2M1x2M19wY29ucy5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1x4NTA5djNcdjNfcGt1LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHg1MDl2M1x2M19wbWFwcy5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1x4NTA5djNcdjNfcHJuLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHg1MDl2M1x2M19wdXJwLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHg1MDl2M1x2M19za2V5LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHg1MDl2M1x2M19zeG5ldC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1x4NTA5djNcdjNfdXRsLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHg1MDl2M1x2M2Vyci5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWVuZ2luZXNcY2Nnb3N0XGVfZ29zdF9lcnIuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcillbmdpbmVzXGNjZ29zdFxnb3N0X2FtZXRoLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpZW5naW5lc1xjY2dvc3RcZ29zdF9hc24xLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpZW5naW5lc1xjY2dvc3RcZ29zdF9jcnlwdC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWVuZ2luZXNcY2Nnb3N0XGdvc3RfY3RsLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpZW5naW5lc1xjY2dvc3RcZ29zdF9lbmcuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcillbmdpbmVzXGNjZ29zdFxnb3N0X2tleXdyYXAuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcillbmdpbmVzXGNjZ29zdFxnb3N0X21kLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpZW5naW5lc1xjY2dvc3RcZ29zdF9wYXJhbXMuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcillbmdpbmVzXGNjZ29zdFxnb3N0X3BtZXRoLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpZW5naW5lc1xjY2dvc3RcZ29zdF9zaWduLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpZW5naW5lc1xjY2dvc3RcZ29zdDIwMDEuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcillbmdpbmVzXGNjZ29zdFxnb3N0MjAwMV9rZXl4LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpZW5naW5lc1xjY2dvc3RcZ29zdDg5LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpZW5naW5lc1xjY2dvc3RcZ29zdDk0X2tleXguYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcillbmdpbmVzXGNjZ29zdFxnb3N0aGFzaC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWVuZ2luZXNcZV80NzU4Y2NhLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpZW5naW5lc1xlX2FlcC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWVuZ2luZXNcZV9hdGFsbGEuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcillbmdpbmVzXGVfY2FwaS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWVuZ2luZXNcZV9jaGlsLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpZW5naW5lc1xlX2Nzd2lmdC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWVuZ2luZXNcZV9nbXAuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcillbmdpbmVzXGVfbnVyb24uYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcillbmdpbmVzXGVfcGFkbG9jay5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWVuZ2luZXNcZV9zdXJld2FyZS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWVuZ2luZXNcZV91YnNlYy5jIiAvPgorICA8L0l0ZW1Hcm91cD4KKyAgPEl0ZW1Hcm91cCBDb25kaXRpb249IiQoUGxhdGZvcm0pID09ICdXaW4zMiciPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1x3aHJscG9vbFx3cF9ibG9jay5jIiAvPgorICA8L0l0ZW1Hcm91cD4KKyAgPEl0ZW1Hcm91cCBDb25kaXRpb249IiQoUGxhdGZvcm0pID09ICd4NjQnIj4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYmZcYmZfZW5jLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGJuXGJuX2FzbS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xjYW1lbGxpYVxjbWxsX21pc2MuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cY2FzdFxjX2VuYy5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xkZXNcZGVzX2VuYy5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xkZXNcZmNyeXB0X2IuYyIgLz4KKyAgPC9JdGVtR3JvdXA+CisgICAgCisgIDxJdGVtR3JvdXAgQ29uZGl0aW9uPSIkKFBsYXRmb3JtKSA9PSAnV2luMzInIj4KKyAgICA8TmFzbUNvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKXRtcDMyXGFlcy01ODYuYXNtIiAvPgorICAgIDxOYXNtQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpdG1wMzJcYWVzbmkteDg2LmFzbSIgLz4KKyAgICA8TmFzbUNvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKXRtcDMyXGJmLTU4Ni5hc20iIC8+CisgICAgPE5hc21Db21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcil0bXAzMlxibi01ODYuYXNtIiAvPgorICAgIDxOYXNtQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpdG1wMzJcY2FzdC01ODYuYXNtIiAvPgorICAgIDxOYXNtQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpdG1wMzJcY21sbC14ODYuYXNtIiAvPgorICAgIDxOYXNtQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpdG1wMzJcY28tNTg2LmFzbSIgLz4KKyAgICA8TmFzbUNvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKXRtcDMyXGNyeXB0NTg2LmFzbSIgLz4KKyAgICA8TmFzbUNvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKXRtcDMyXGRlcy01ODYuYXNtIiAvPgorICAgIDxOYXNtQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpdG1wMzJcZ2hhc2gteDg2LmFzbSIgLz4KKyAgICA8TmFzbUNvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKXRtcDMyXG1kNS01ODYuYXNtIiAvPgorICAgIDxOYXNtQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpdG1wMzJccmM0LTU4Ni5hc20iIC8+CisgICAgPE5hc21Db21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcil0bXAzMlxybWQtNTg2LmFzbSIgLz4KKyAgICA8TmFzbUNvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKXRtcDMyXHNoYTEtNTg2LmFzbSIgLz4KKyAgICA8TmFzbUNvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKXRtcDMyXHNoYTI1Ni01ODYuYXNtIiAvPgorICAgIDxOYXNtQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpdG1wMzJcc2hhNTEyLTU4Ni5hc20iIC8+CisgICAgPE5hc21Db21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcil0bXAzMlx2cGFlcy14ODYuYXNtIiAvPgorICAgIDxOYXNtQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpdG1wMzJcd3AtbW14LmFzbSIgLz4KKyAgICA8TmFzbUNvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKXRtcDMyXHg4NmNwdWlkLmFzbSIgLz4KKyAgICA8TmFzbUNvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKXRtcDMyXHg4Ni1nZjJtLmFzbSIgLz4KKyAgICA8TmFzbUNvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKXRtcDMyXHg4Ni1tb250LmFzbSIgLz4KKyAgPC9JdGVtR3JvdXA+CisgIDxJdGVtR3JvdXAgQ29uZGl0aW9uPSIkKFBsYXRmb3JtKSA9PSAneDY0JyI+CisgICAgPE5hc21Db21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcil0bXA2NFxhZXNuaS1zaGExLXg4Nl82NC5hc20iIC8+CisgICAgPE5hc21Db21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcil0bXA2NFxhZXNuaS1zaGExLXg4Nl82NC5hc20iIC8+CisgICAgPE5hc21Db21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcil0bXA2NFxhZXNuaS14ODZfNjQuYXNtIiAvPgorICAgIDxOYXNtQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpdG1wNjRcYWVzLXg4Nl82NC5hc20iIC8+CisgICAgPE5hc21Db21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcil0bXA2NFxic2Flcy14ODZfNjQuYXNtIiAvPgorICAgIDxOYXNtQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpdG1wNjRcY21sbC14ODZfNjQuYXNtIiAvPgorICAgIDxOYXNtQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpdG1wNjRcZ2hhc2gteDg2XzY0LmFzbSIgLz4KKyAgICA8TmFzbUNvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKXRtcDY0XG1kNS14ODZfNjQuYXNtIiAvPgorICAgIDxOYXNtQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpdG1wNjRcbW9kZXhwNTEyLXg4Nl82NC5hc20iIC8+CisgICAgPE5hc21Db21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcil0bXA2NFxyYzQtbWQ1LXg4Nl82NC5hc20iIC8+CisgICAgPE5hc21Db21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcil0bXA2NFxyYzQteDg2XzY0LmFzbSIgLz4KKyAgICA8TmFzbUNvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKXRtcDY0XHNoYTEteDg2XzY0LmFzbSIgLz4KKyAgICA8TmFzbUNvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKXRtcDY0XHNoYTI1Ni14ODZfNjQuYXNtIiAvPgorICAgIDxOYXNtQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpdG1wNjRcc2hhNTEyLXg4Nl82NC5hc20iIC8+CisgICAgPE5hc21Db21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcil0bXA2NFx2cGFlcy14ODZfNjQuYXNtIiAvPgorICAgIDxOYXNtQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpdG1wNjRcd3AteDg2XzY0LmFzbSIgLz4KKyAgICA8TmFzbUNvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKXRtcDY0XHg4Nl82NGNwdWlkLmFzbSIgLz4KKyAgICA8TmFzbUNvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKXRtcDY0XHg4Nl82NC1nZjJtLmFzbSIgLz4KKyAgICA8TmFzbUNvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKXRtcDY0XHg4Nl82NC1tb250LmFzbSIgLz4KKyAgICA8TmFzbUNvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKXRtcDY0XHg4Nl82NC1tb250NS5hc20iIC8+CisgIDwvSXRlbUdyb3VwPgorCisgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnRhcmdldHMiIC8+CisgIDxUYXJnZXQgTmFtZT0iQ2xlYW4iIC8+CisgIDxUYXJnZXQgTmFtZT0iQ2xlYW5BbGwiPgorICAgIDxEZWxldGUgRmlsZXM9IiQoVGFyZ2V0UGF0aCkiIC8+CisgICAgPFJlbW92ZURpciBEaXJlY3Rvcmllcz0iJChJbnREaXIpIiAvPgorICA8L1RhcmdldD4KKzwvUHJvamVjdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9QQ2J1aWxkL21ha2VfYnVpbGRpbmZvLmMgYi9QQ2J1aWxkL21ha2VfYnVpbGRpbmZvLmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGY5YWFkZWUuLjAwMDAwMDAKLS0tIGEvUENidWlsZC9tYWtlX2J1aWxkaW5mby5jCisrKyAvZGV2L251bGwKQEAgLTEsMTk0ICswLDAgQEAKLSNpbmNsdWRlIDx3aW5kb3dzLmg+Ci0jaW5jbHVkZSA8c3lzL3R5cGVzLmg+Ci0jaW5jbHVkZSA8c3lzL3N0YXQuaD4KLSNpbmNsdWRlIDxzdGRpby5oPgotI2luY2x1ZGUgPGlvLmg+Ci0KLSNkZWZpbmUgQ01EX1NJWkUgNTAwCi0KLS8qIFRoaXMgZmlsZSBjcmVhdGVzIHRoZSBnZXRidWlsZGluZm8ubyBvYmplY3QsIGJ5IGZpcnN0Ci0gICBpbnZva2luZyBzdWJ3Y3Jldi5leGUgKGlmIGZvdW5kKSwgYW5kIHRoZW4gaW52b2tpbmcgY2wuZXhlLgotICAgQXMgYSBzaWRlIGVmZmVjdCwgaXQgbWlnaHQgZ2VuZXJhdGUgUENCdWlsZFxnZXRidWlsZGluZm8yLmMKLSAgIGFsc28uIElmIHRoaXMgaXNuJ3QgYSBzdWJ2ZXJzaW9uIGNoZWNrb3V0LCBvciBzdWJ3Y3JldiBpc24ndAotICAgZm91bmQsIGl0IGNvbXBpbGVzIC4uXFxNb2R1bGVzXFxnZXRidWlsZGluZm8uYyBpbnN0ZWFkLgotCi0gICBDdXJyZW50bHksIHN1YndjcmV2LmV4ZSBpcyBmb3VuZCBmcm9tIHRoZSByZWdpc3RyeSBlbnRyaWVzCi0gICBvZiBUb3J0b2lzZVNWTi4KLQotICAgTm8gYXR0ZW1wdCBpcyBtYWRlIHRvIHBsYWNlIGdldGJ1aWxkaW5mby5vIGludG8gdGhlIHByb3BlcgotICAgYmluYXJ5IGRpcmVjdG9yeS4gVGhpcyBpc24ndCBuZWNlc3NhcnksIGFzIHRoaXMgdG9vbCBpcwotICAgaW52b2tlZCBhcyBhIHByZS1saW5rIHN0ZXAgZm9yIHB5dGhvbmNvcmUsIHNvIHRoYXQgb3ZlcndyaXRlcwotICAgYW55IHByZXZpb3VzIGdldGJ1aWxkaW5mby5vLgotCi0gICBIb3dldmVyLCBpZiBhIHNlY29uZCBhcmd1bWVudCBpcyBwcm92aWRlZCwgdGhpcyB3aWxsIGJlIHVzZWQKLSAgIGFzIGEgdGVtcG9yYXJ5IGRpcmVjdG9yeSB3aGVyZSBhbnkgZ2V0YnVpbGRpbmZvMi5jIGFuZAotICAgZ2V0YnVpbGRpbmZvLm8gZmlsZXMgYXJlIHB1dC4gIFRoaXMgaXMgdXNlZnVsIGlmIG11bHRpcGxlCi0gICBjb25maWd1cmF0aW9ucyBhcmUgYmVpbmcgYnVpbHQgaW4gcGFyYWxsZWwsIHRvIGF2b2lkIHRoZW0KLSAgIHRyYW1wbGluZyBlYWNoIG90aGVyJ3MgZmlsZXMuCi0KLSovCi0KLWludCBtYWtlX2J1aWxkaW5mbzIoY29uc3QgY2hhciAqdG1wcGF0aCkKLXsKLSAgICBzdHJ1Y3QgX3N0YXQgc3Q7Ci0gICAgSEtFWSBoVG9ydG9pc2U7Ci0gICAgY2hhciBjb21tYW5kW0NNRF9TSVpFKzFdOwotICAgIERXT1JEIHR5cGUsIHNpemU7Ci0gICAgaWYgKF9zdGF0KCIuc3ZuIiwgJnN0KSA8IDApCi0gICAgICAgIHJldHVybiAwOwotICAgIC8qIEFsbG93IHN1cHByZXNzaW9uIG9mIHN1YndjcmV2LmV4ZSBpbnZvY2F0aW9uIGlmIGEgbm9fc3Vid2NyZXYgZmlsZSBpcyBwcmVzZW50LiAqLwotICAgIGlmIChfc3RhdCgibm9fc3Vid2NyZXYiLCAmc3QpID09IDApCi0gICAgICAgIHJldHVybiAwOwotICAgIGlmIChSZWdPcGVuS2V5KEhLRVlfTE9DQUxfTUFDSElORSwgIlNvZnR3YXJlXFxUb3J0b2lzZVNWTiIsICZoVG9ydG9pc2UpICE9IEVSUk9SX1NVQ0NFU1MgJiYKLSAgICAgICAgUmVnT3BlbktleShIS0VZX0NVUlJFTlRfVVNFUiwgIlNvZnR3YXJlXFxUb3J0b2lzZVNWTiIsICZoVG9ydG9pc2UpICE9IEVSUk9SX1NVQ0NFU1MpCi0gICAgICAgIC8qIFRvcnRvaXNlIG5vdCBpbnN0YWxsZWQgKi8KLSAgICAgICAgcmV0dXJuIDA7Ci0gICAgY29tbWFuZFswXSA9ICciJzsgIC8qIHF1b3RlIHRoZSBwYXRoIHRvIHRoZSBleGVjdXRhYmxlICovCi0gICAgc2l6ZSA9IHNpemVvZihjb21tYW5kKSAtIDE7Ci0gICAgaWYgKFJlZ1F1ZXJ5VmFsdWVFeChoVG9ydG9pc2UsICJEaXJlY3RvcnkiLCAwLCAmdHlwZSwgY29tbWFuZCsxLCAmc2l6ZSkgIT0gRVJST1JfU1VDQ0VTUyB8fAotICAgICAgICB0eXBlICE9IFJFR19TWikKLSAgICAgICAgLyogUmVnaXN0cnkgY29ycnVwdGVkICovCi0gICAgICAgIHJldHVybiAwOwotICAgIHN0cmNhdF9zKGNvbW1hbmQsIENNRF9TSVpFLCAiYmluXFxzdWJ3Y3Jldi5leGUiKTsKLSAgICBpZiAoX3N0YXQoY29tbWFuZCsxLCAmc3QpIDwgMCkKLSAgICAgICAgLyogc3Vid2NyZXYuZXhlIG5vdCBwYXJ0IG9mIHRoZSByZWxlYXNlICovCi0gICAgICAgIHJldHVybiAwOwotICAgIHN0cmNhdF9zKGNvbW1hbmQsIENNRF9TSVpFLCAiXCIgLi4gLi5cXE1vZHVsZXNcXGdldGJ1aWxkaW5mby5jIFwiIik7Ci0gICAgc3RyY2F0X3MoY29tbWFuZCwgQ01EX1NJWkUsIHRtcHBhdGgpOyAvKiBxdW90ZWQgdG1wcGF0aCAqLwotICAgIHN0cmNhdF9zKGNvbW1hbmQsIENNRF9TSVpFLCAiZ2V0YnVpbGRpbmZvMi5jXCIiKTsKLSAgICBwdXRzKGNvbW1hbmQpOyBmZmx1c2goc3Rkb3V0KTsKLSAgICBpZiAoc3lzdGVtKGNvbW1hbmQpIDwgMCkKLSAgICAgICAgcmV0dXJuIDA7Ci0gICAgcmV0dXJuIDE7Ci19Ci0KLWNvbnN0IGNoYXIgREVMSU1TW10gPSB7ICIgXG4iIH07Ci0KLWludCBnZXRfbWVyY3VyaWFsX2luZm8oY2hhciAqIGhnYnJhbmNoLCBjaGFyICogaGd0YWcsIGNoYXIgKiBoZ3JldiwgaW50IHNpemUpCi17Ci0gICAgaW50IHJlc3VsdCA9IDA7Ci0gICAgY2hhciBmaWxlbmFtZVtDTURfU0laRV07Ci0gICAgY2hhciBjbWRsaW5lW0NNRF9TSVpFXTsKLQotICAgIHN0cmNweV9zKGZpbGVuYW1lLCBDTURfU0laRSwgInRtcFhYWFhYWCIpOwotICAgIGlmIChfbWt0ZW1wX3MoZmlsZW5hbWUsIENNRF9TSVpFKSA9PSAwKSB7Ci0gICAgICAgIGludCByYzsKLQotICAgICAgICBzdHJjcHlfcyhjbWRsaW5lLCBDTURfU0laRSwgImhnIGlkIC1iaXQgPiAiKTsKLSAgICAgICAgc3RyY2F0X3MoY21kbGluZSwgQ01EX1NJWkUsIGZpbGVuYW1lKTsKLSAgICAgICAgcmMgPSBzeXN0ZW0oY21kbGluZSk7Ci0gICAgICAgIGlmIChyYyA9PSAwKSB7Ci0gICAgICAgICAgICBGSUxFICogZnA7Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIGlmIChmb3Blbl9zKCZmcCwgZmlsZW5hbWUsICJyIikgPT0gMCkgewotICAgICAgICAgICAgICAgIGNoYXIgKiBjcCA9IGZnZXRzKGNtZGxpbmUsIENNRF9TSVpFLCBmcCk7Ci0KLSAgICAgICAgICAgICAgICBpZiAoY3ApIHsKLSAgICAgICAgICAgICAgICAgICAgY2hhciAqIGNvbnRleHQgPSBOVUxMOwotICAgICAgICAgICAgICAgICAgICBjaGFyICogdHAgPSBzdHJ0b2tfcyhjcCwgREVMSU1TLCAmY29udGV4dCk7Ci0gICAgICAgICAgICAgICAgICAgIGlmICh0cCkgewotICAgICAgICAgICAgICAgICAgICAgICAgc3RyY3B5X3MoaGdyZXYsIHNpemUsIHRwKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHRwID0gc3RydG9rX3MoTlVMTCwgREVMSU1TLCAmY29udGV4dCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAodHApIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJjcHlfcyhoZ2JyYW5jaCwgc2l6ZSwgdHApOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRwID0gc3RydG9rX3MoTlVMTCwgREVMSU1TLCAmY29udGV4dCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRwKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmNweV9zKGhndGFnLCBzaXplLCB0cCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9IDE7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGZjbG9zZShmcCk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICAgICAgX3VubGluayhmaWxlbmFtZSk7Ci0gICAgfQotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLWludCBtYWluKGludCBhcmdjLCBjaGFyKmFyZ3ZbXSkKLXsKLSAgICBjaGFyIGNvbW1hbmRbQ01EX1NJWkVdID0gImNsLmV4ZSAtYyAtRF9XSU4zMiAtRFVTRV9ETF9FWFBPUlQgLURfV0lORE9XUyAtRFdJTjMyIC1EX1dJTkRMTCAiOwotICAgIGNoYXIgdG1wcGF0aFtDTURfU0laRV0gPSAiIjsKLSAgICBpbnQgZG9fdW5saW5rLCByZXN1bHQ7Ci0gICAgY2hhciAqdG1wZGlyID0gTlVMTDsKLSAgICBpZiAoYXJnYyA8PSAyIHx8IGFyZ2MgPiAzKSB7Ci0gICAgICAgIGZwcmludGYoc3RkZXJyLCAibWFrZV9idWlsZGluZm8gJChDb25maWd1cmF0aW9uTmFtZSkgW3RtcGRpcl1cbiIpOwotICAgICAgICByZXR1cm4gRVhJVF9GQUlMVVJFOwotICAgIH0KLSAgICBpZiAoc3RyY21wKGFyZ3ZbMV0sICJSZWxlYXNlIikgPT0gMCkgewotICAgICAgICBzdHJjYXRfcyhjb21tYW5kLCBDTURfU0laRSwgIi1NRCAiKTsKLSAgICB9Ci0gICAgZWxzZSBpZiAoc3RyY21wKGFyZ3ZbMV0sICJEZWJ1ZyIpID09IDApIHsKLSAgICAgICAgc3RyY2F0X3MoY29tbWFuZCwgQ01EX1NJWkUsICItRF9ERUJVRyAtTURkICIpOwotICAgIH0KLSAgICBlbHNlIGlmIChzdHJjbXAoYXJndlsxXSwgIlJlbGVhc2VJdGFuaXVtIikgPT0gMCkgewotICAgICAgICBzdHJjYXRfcyhjb21tYW5kLCBDTURfU0laRSwgIi1NRCAvVVNFQ0w6TVNfSVRBTklVTSAiKTsKLSAgICB9Ci0gICAgZWxzZSBpZiAoc3RyY21wKGFyZ3ZbMV0sICJSZWxlYXNlQU1ENjQiKSA9PSAwKSB7Ci0gICAgICAgIHN0cmNhdF9zKGNvbW1hbmQsIENNRF9TSVpFLCAiLU1EICIpOwotICAgICAgICBzdHJjYXRfcyhjb21tYW5kLCBDTURfU0laRSwgIi1NRCAvVVNFQ0w6TVNfT1BURVJPTiAiKTsKLSAgICB9Ci0gICAgZWxzZSB7Ci0gICAgICAgIGZwcmludGYoc3RkZXJyLCAidW5zdXBwb3J0ZWQgY29uZmlndXJhdGlvbiAlc1xuIiwgYXJndlsxXSk7Ci0gICAgICAgIHJldHVybiBFWElUX0ZBSUxVUkU7Ci0gICAgfQotICAgIGlmIChhcmdjID4gMikgewotICAgICAgICB0bXBkaXIgPSBhcmd2WzJdOwotICAgICAgICBzdHJjYXRfcyh0bXBwYXRoLCBfY291bnRvZih0bXBwYXRoKSwgdG1wZGlyKTsKLSAgICAgICAgLyogSGFjayBmaXggZm9yIGJhZCBjb21tYW5kIGxpbmU6ICBJZiB0aGUgY29tbWFuZCBpcyBpc3N1ZWQgbGlrZSB0aGlzOgotICAgICAgICAgKiAkKFNvbHV0aW9uRGlyKW1ha2VfYnVpbGRpbmZvLmV4ZSIgRGVidWcgIiQoSW50RGlyKSIKLSAgICAgICAgICogd2Ugd2lsbCBnZXQgYSB0cmFpbGluZyBxdW90ZSBiZWNhdXNlIEludERpciBlbmRzIHdpdGggYSBiYWNrc2xhc2ggdGhhdCB0aGVuCi0gICAgICAgICAqIGVzY2FwZXMgdGhlIGZpbmFsICIuICBUbyBzaW1wbGlmeSB0aGUgbGlmZSBmb3IgZGV2ZWxvcGVycywgY2F0Y2ggdGhhdCBwcm9ibGVtCi0gICAgICAgICAqIGhlcmUgYnkgY3V0dGluZyBpdCBvZmYuCi0gICAgICAgICAqIFRoZSBwcm9wZXIgY29tbWFuZCBsaW5lLCBidHcgaXM6Ci0gICAgICAgICAqICQoU29sdXRpb25EaXIpbWFrZV9idWlsZGluZm8uZXhlIiBEZWJ1ZyAiJChJbnREaXIpXCIKLSAgICAgICAgICogSG9vcmF5IGZvciBjb21tYW5kIGxpbmUgcGFyc2luZyBvbiB3aW5kb3dzLgotICAgICAgICAgKi8KLSAgICAgICAgaWYgKHN0cmxlbih0bXBwYXRoKSA+IDAgJiYgdG1wcGF0aFtzdHJsZW4odG1wcGF0aCktMV0gPT0gJyInKQotICAgICAgICAgICAgdG1wcGF0aFtzdHJsZW4odG1wcGF0aCktMV0gPSAnXDAnOwotICAgICAgICBzdHJjYXRfcyh0bXBwYXRoLCBfY291bnRvZih0bXBwYXRoKSwgIlxcIik7Ci0gICAgfQotCi0gICAgaWYgKChkb191bmxpbmsgPSBtYWtlX2J1aWxkaW5mbzIodG1wcGF0aCkpKSB7Ci0gICAgICAgIHN0cmNhdF9zKGNvbW1hbmQsIENNRF9TSVpFLCAiXCIiKTsKLSAgICAgICAgc3RyY2F0X3MoY29tbWFuZCwgQ01EX1NJWkUsIHRtcHBhdGgpOwotICAgICAgICBzdHJjYXRfcyhjb21tYW5kLCBDTURfU0laRSwgImdldGJ1aWxkaW5mbzIuY1wiIC1EU1VCV0NSRVYgIik7Ci0gICAgfQotICAgIGVsc2UgewotICAgICAgICBjaGFyIGhndGFnW0NNRF9TSVpFXTsKLSAgICAgICAgY2hhciBoZ2JyYW5jaFtDTURfU0laRV07Ci0gICAgICAgIGNoYXIgaGdyZXZbQ01EX1NJWkVdOwotCi0gICAgICAgIGlmIChnZXRfbWVyY3VyaWFsX2luZm8oaGdicmFuY2gsIGhndGFnLCBoZ3JldiwgQ01EX1NJWkUpKSB7Ci0gICAgICAgICAgICBzdHJjYXRfcyhjb21tYW5kLCBDTURfU0laRSwgIi1ESEdCUkFOQ0g9XFxcIiIpOwotICAgICAgICAgICAgc3RyY2F0X3MoY29tbWFuZCwgQ01EX1NJWkUsIGhnYnJhbmNoKTsKLSAgICAgICAgICAgIHN0cmNhdF9zKGNvbW1hbmQsIENNRF9TSVpFLCAiXFxcIiIpOwotCi0gICAgICAgICAgICBzdHJjYXRfcyhjb21tYW5kLCBDTURfU0laRSwgIiAtREhHVEFHPVxcXCIiKTsKLSAgICAgICAgICAgIHN0cmNhdF9zKGNvbW1hbmQsIENNRF9TSVpFLCBoZ3RhZyk7Ci0gICAgICAgICAgICBzdHJjYXRfcyhjb21tYW5kLCBDTURfU0laRSwgIlxcXCIiKTsKLQotICAgICAgICAgICAgc3RyY2F0X3MoY29tbWFuZCwgQ01EX1NJWkUsICIgLURIR1ZFUlNJT049XFxcIiIpOwotICAgICAgICAgICAgc3RyY2F0X3MoY29tbWFuZCwgQ01EX1NJWkUsIGhncmV2KTsKLSAgICAgICAgICAgIHN0cmNhdF9zKGNvbW1hbmQsIENNRF9TSVpFLCAiXFxcIiAiKTsKLSAgICAgICAgfQotICAgICAgICBzdHJjYXRfcyhjb21tYW5kLCBDTURfU0laRSwgIi4uXFxNb2R1bGVzXFxnZXRidWlsZGluZm8uYyIpOwotICAgIH0KLSAgICBzdHJjYXRfcyhjb21tYW5kLCBDTURfU0laRSwgIiAtRm9cIiIpOwotICAgIHN0cmNhdF9zKGNvbW1hbmQsIENNRF9TSVpFLCB0bXBwYXRoKTsKLSAgICBzdHJjYXRfcyhjb21tYW5kLCBDTURfU0laRSwgImdldGJ1aWxkaW5mby5vXCIgLUkuLlxcSW5jbHVkZSAtSS4uXFxQQyIpOwotICAgIHB1dHMoY29tbWFuZCk7IGZmbHVzaChzdGRvdXQpOwotICAgIHJlc3VsdCA9IHN5c3RlbShjb21tYW5kKTsKLSAgICBpZiAoZG9fdW5saW5rKSB7Ci0gICAgICAgIGNvbW1hbmRbMF0gPSAnXDAnOwotICAgICAgICBzdHJjYXRfcyhjb21tYW5kLCBDTURfU0laRSwgIlwiIik7Ci0gICAgICAgIHN0cmNhdF9zKGNvbW1hbmQsIENNRF9TSVpFLCB0bXBwYXRoKTsKLSAgICAgICAgc3RyY2F0X3MoY29tbWFuZCwgQ01EX1NJWkUsICJnZXRidWlsZGluZm8yLmNcIiIpOwotICAgICAgICBfdW5saW5rKGNvbW1hbmQpOwotICAgIH0KLSAgICBpZiAocmVzdWx0IDwgMCkKLSAgICAgICAgcmV0dXJuIEVYSVRfRkFJTFVSRTsKLSAgICByZXR1cm4gMDsKLX0KZGlmZiAtLWdpdCBhL1BDYnVpbGQvbWFrZV9idWlsZGluZm8udmN4cHJvaiBiL1BDYnVpbGQvbWFrZV9idWlsZGluZm8udmN4cHJvagpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZWVlN2Y5MS4uMDAwMDAwMAotLS0gYS9QQ2J1aWxkL21ha2VfYnVpbGRpbmZvLnZjeHByb2oKKysrIC9kZXYvbnVsbApAQCAtMSw1MiArMCwwIEBACi3vu788P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgotPFByb2plY3QgRGVmYXVsdFRhcmdldHM9IkJ1aWxkIiBUb29sc1ZlcnNpb249IjQuMCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+Ci0gIDxJdGVtR3JvdXAgTGFiZWw9IlByb2plY3RDb25maWd1cmF0aW9ucyI+Ci0gICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IlJlbGVhc2V8V2luMzIiPgotICAgICAgPENvbmZpZ3VyYXRpb24+UmVsZWFzZTwvQ29uZmlndXJhdGlvbj4KLSAgICAgIDxQbGF0Zm9ybT5XaW4zMjwvUGxhdGZvcm0+Ci0gICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KLSAgPC9JdGVtR3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJHbG9iYWxzIj4KLSAgICA8UHJvamVjdEd1aWQ+e0M3M0YwRUMxLTM1OEItNDE3Ny05NDBGLTA4NDZBQzhCMDRDRH08L1Byb2plY3RHdWlkPgotICAgIDxSb290TmFtZXNwYWNlPm1ha2VfYnVpbGRpbmZvPC9Sb290TmFtZXNwYWNlPgotICAgIDxLZXl3b3JkPldpbjMyUHJvajwvS2V5d29yZD4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5EZWZhdWx0LnByb3BzIiAvPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkFwcGxpY2F0aW9uPC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnByb3BzIiAvPgotICA8SW1wb3J0R3JvdXAgTGFiZWw9IkV4dGVuc2lvblNldHRpbmdzIj4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlwcm9qZWN0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icmVsZWFzZS5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IlVzZXJNYWNyb3MiIC8+Ci0gIDxQcm9wZXJ0eUdyb3VwPgotICAgIDxfUHJvamVjdEZpbGVWZXJzaW9uPjEwLjAuNDAyMTkuMTwvX1Byb2plY3RGaWxlVmVyc2lvbj4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiAvPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8T3B0aW1pemF0aW9uPkRpc2FibGVkPC9PcHRpbWl6YXRpb24+Ci0gICAgICA8SW5saW5lRnVuY3Rpb25FeHBhbnNpb24+T25seUV4cGxpY2l0SW5saW5lPC9JbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5fQ09OU09MRTslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgICA8UnVudGltZUxpYnJhcnk+TXVsdGlUaHJlYWRlZDwvUnVudGltZUxpYnJhcnk+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPExpbms+Ci0gICAgICA8T3V0cHV0RmlsZT4kKE91dERpciltYWtlX2J1aWxkaW5mby5leGU8L091dHB1dEZpbGU+Ci0gICAgICA8U3ViU3lzdGVtPkNvbnNvbGU8L1N1YlN5c3RlbT4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1Hcm91cD4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Im1ha2VfYnVpbGRpbmZvLmMiIC8+Ci0gIDwvSXRlbUdyb3VwPgotICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC50YXJnZXRzIiAvPgotICA8SW1wb3J0R3JvdXAgTGFiZWw9IkV4dGVuc2lvblRhcmdldHMiPgotICA8L0ltcG9ydEdyb3VwPgotPC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1BDYnVpbGQvbWFrZV9idWlsZGluZm8udmN4cHJvai5maWx0ZXJzIGIvUENidWlsZC9tYWtlX2J1aWxkaW5mby52Y3hwcm9qLmZpbHRlcnMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDIyMjdmOGMuLjAwMDAwMDAKLS0tIGEvUENidWlsZC9tYWtlX2J1aWxkaW5mby52Y3hwcm9qLmZpbHRlcnMKKysrIC9kZXYvbnVsbApAQCAtMSwxNCArMCwwIEBACi3vu788P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgotPFByb2plY3QgVG9vbHNWZXJzaW9uPSI0LjAiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgotICA8SXRlbUdyb3VwPgotICAgIDxGaWx0ZXIgSW5jbHVkZT0iU291cmNlIEZpbGVzIj4KLSAgICAgIDxVbmlxdWVJZGVudGlmaWVyPns0RkM3MzdGMS1DN0E1LTQzNzYtQTA2Ni0yQTMyRDc1MkEyRkZ9PC9VbmlxdWVJZGVudGlmaWVyPgotICAgICAgPEV4dGVuc2lvbnM+Y3BwO2M7Y3h4O2RlZjtvZGw7aWRsO2hwajtiYXQ7YXNtO2FzbXg8L0V4dGVuc2lvbnM+Ci0gICAgPC9GaWx0ZXI+Ci0gIDwvSXRlbUdyb3VwPgotICA8SXRlbUdyb3VwPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0ibWFrZV9idWlsZGluZm8uYyI+Ci0gICAgICA8RmlsdGVyPlNvdXJjZSBGaWxlczwvRmlsdGVyPgotICAgIDwvQ2xDb21waWxlPgotICA8L0l0ZW1Hcm91cD4KLTwvUHJvamVjdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9QQ2J1aWxkL21ha2VfdmVyc2lvbmluZm8udmN4cHJvaiBiL1BDYnVpbGQvbWFrZV92ZXJzaW9uaW5mby52Y3hwcm9qCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5Y2Y1MDdiLi4wMDAwMDAwCi0tLSBhL1BDYnVpbGQvbWFrZV92ZXJzaW9uaW5mby52Y3hwcm9qCisrKyAvZGV2L251bGwKQEAgLTEsMjAwICswLDAgQEAKLe+7vzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Ci08UHJvamVjdCBEZWZhdWx0VGFyZ2V0cz0iQnVpbGQiIFRvb2xzVmVyc2lvbj0iNC4wIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KLSAgPEl0ZW1Hcm91cCBMYWJlbD0iUHJvamVjdENvbmZpZ3VyYXRpb25zIj4KLSAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iRGVidWd8V2luMzIiPgotICAgICAgPENvbmZpZ3VyYXRpb24+RGVidWc8L0NvbmZpZ3VyYXRpb24+Ci0gICAgICA8UGxhdGZvcm0+V2luMzI8L1BsYXRmb3JtPgotICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+Ci0gICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IkRlYnVnfHg2NCI+Ci0gICAgICA8Q29uZmlndXJhdGlvbj5EZWJ1ZzwvQ29uZmlndXJhdGlvbj4KLSAgICAgIDxQbGF0Zm9ybT54NjQ8L1BsYXRmb3JtPgotICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+Ci0gICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IlJlbGVhc2V8V2luMzIiPgotICAgICAgPENvbmZpZ3VyYXRpb24+UmVsZWFzZTwvQ29uZmlndXJhdGlvbj4KLSAgICAgIDxQbGF0Zm9ybT5XaW4zMjwvUGxhdGZvcm0+Ci0gICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KLSAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iUmVsZWFzZXx4NjQiPgotICAgICAgPENvbmZpZ3VyYXRpb24+UmVsZWFzZTwvQ29uZmlndXJhdGlvbj4KLSAgICAgIDxQbGF0Zm9ybT54NjQ8L1BsYXRmb3JtPgotICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+Ci0gIDwvSXRlbUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBMYWJlbD0iR2xvYmFscyI+Ci0gICAgPFByb2plY3RHdWlkPntGMEUwNTQxRS1GMTdELTQzMEItOTdDNC05M0FERjBERDI4NEV9PC9Qcm9qZWN0R3VpZD4KLSAgICA8Um9vdE5hbWVzcGFjZT5tYWtlX3ZlcnNpb25pbmZvPC9Sb290TmFtZXNwYWNlPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLkRlZmF1bHQucHJvcHMiIC8+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkFwcGxpY2F0aW9uPC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8VXNlT2ZNZmM+ZmFsc2U8L1VzZU9mTWZjPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5BcHBsaWNhdGlvbjwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPFVzZU9mTWZjPmZhbHNlPC9Vc2VPZk1mYz4KLSAgICA8Q2hhcmFjdGVyU2V0Pk11bHRpQnl0ZTwvQ2hhcmFjdGVyU2V0PgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5BcHBsaWNhdGlvbjwvQ29uZmlndXJhdGlvblR5cGU+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+QXBwbGljYXRpb248L0NvbmZpZ3VyYXRpb25UeXBlPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnByb3BzIiAvPgotICA8SW1wb3J0R3JvdXAgTGFiZWw9IkV4dGVuc2lvblNldHRpbmdzIj4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5cHJvamVjdC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9ImRlYnVnLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweXByb2plY3QucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJyZWxlYXNlLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5cHJvamVjdC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9Ing2NC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9ImRlYnVnLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlwcm9qZWN0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0ieDY0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icmVsZWFzZS5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IlVzZXJNYWNyb3MiIC8+Ci0gIDxQcm9wZXJ0eUdyb3VwPgotICAgIDxfUHJvamVjdEZpbGVWZXJzaW9uPjEwLjAuNDAyMTkuMTwvX1Byb2plY3RGaWxlVmVyc2lvbj4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiAvPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPgotICAgIDxDdXN0b21CdWlsZFN0ZXA+Ci0gICAgICA8TWVzc2FnZT5CdWlsZCBQQy9weXRob25udF9yYyhfZCkuaDwvTWVzc2FnZT4KLSAgICAgIDxDb21tYW5kPmNkICQoU29sdXRpb25EaXIpCi1tYWtlX3ZlcnNpb25pbmZvLmV4ZSAmZ3Q7IC4uXFBDXHB5dGhvbm50X3JjLmgKLTwvQ29tbWFuZD4KLSAgICAgIDxPdXRwdXRzPiQoU29sdXRpb25EaXIpLi5cUENccHl0aG9ubnRfcmMuaDslKE91dHB1dHMpPC9PdXRwdXRzPgotICAgICAgPElucHV0cz4kKFNvbHV0aW9uRGlyKW1ha2VfdmVyc2lvbmluZm8uZXhlPC9JbnB1dHM+Ci0gICAgPC9DdXN0b21CdWlsZFN0ZXA+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxPcHRpbWl6YXRpb24+TWF4U3BlZWQ8L09wdGltaXphdGlvbj4KLSAgICAgIDxJbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj5Pbmx5RXhwbGljaXRJbmxpbmU8L0lubGluZUZ1bmN0aW9uRXhwYW5zaW9uPgotICAgICAgPEludHJpbnNpY0Z1bmN0aW9ucz50cnVlPC9JbnRyaW5zaWNGdW5jdGlvbnM+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4lKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPl9DT05TT0xFOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICAgIDxTdHJpbmdQb29saW5nPnRydWU8L1N0cmluZ1Bvb2xpbmc+Ci0gICAgICA8UnVudGltZUxpYnJhcnk+TXVsdGlUaHJlYWRlZERMTDwvUnVudGltZUxpYnJhcnk+Ci0gICAgICA8RnVuY3Rpb25MZXZlbExpbmtpbmc+dHJ1ZTwvRnVuY3Rpb25MZXZlbExpbmtpbmc+Ci0gICAgICA8Q29tcGlsZUFzPkRlZmF1bHQ8L0NvbXBpbGVBcz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8TGluaz4KLSAgICAgIDxPdXRwdXRGaWxlPiQoU29sdXRpb25EaXIpbWFrZV92ZXJzaW9uaW5mby5leGU8L091dHB1dEZpbGU+Ci0gICAgICA8U3ViU3lzdGVtPkNvbnNvbGU8L1N1YlN5c3RlbT4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFkMDAwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICA8L0xpbms+Ci0gICAgPFBvc3RCdWlsZEV2ZW50IC8+Ci0gICAgPFBvc3RCdWlsZEV2ZW50PgotICAgICAgPENvbW1hbmQ+Ci0gICAgICA8L0NvbW1hbmQ+Ci0gICAgPC9Qb3N0QnVpbGRFdmVudD4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+Ci0gICAgPEN1c3RvbUJ1aWxkU3RlcD4KLSAgICAgIDxNZXNzYWdlPkJ1aWxkIFBDL3B5dGhvbm50X3JjKF9kKS5oPC9NZXNzYWdlPgotICAgICAgPENvbW1hbmQ+Y2QgJChTb2x1dGlvbkRpcikKLW1ha2VfdmVyc2lvbmluZm8uZXhlICZndDsgLi5cUENccHl0aG9ubnRfcmMuaAotPC9Db21tYW5kPgotICAgICAgPE91dHB1dHM+JChTb2x1dGlvbkRpcikuLlxQQ1xweXRob25udF9yYy5oOyUoT3V0cHV0cyk8L091dHB1dHM+Ci0gICAgPC9DdXN0b21CdWlsZFN0ZXA+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxPcHRpbWl6YXRpb24+TWF4U3BlZWQ8L09wdGltaXphdGlvbj4KLSAgICAgIDxJbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj5Pbmx5RXhwbGljaXRJbmxpbmU8L0lubGluZUZ1bmN0aW9uRXhwYW5zaW9uPgotICAgICAgPEludHJpbnNpY0Z1bmN0aW9ucz50cnVlPC9JbnRyaW5zaWNGdW5jdGlvbnM+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X0NPTlNPTEU7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxMaW5rPgotICAgICAgPE91dHB1dEZpbGU+JChTb2x1dGlvbkRpciltYWtlX3ZlcnNpb25pbmZvLmV4ZTwvT3V0cHV0RmlsZT4KLSAgICA8L0xpbms+Ci0gICAgPFBvc3RCdWlsZEV2ZW50PgotICAgICAgPENvbW1hbmQ+Y2QgJChTb2x1dGlvbkRpcikKLW1ha2VfdmVyc2lvbmluZm8uZXhlICZndDsgLi5cUENccHl0aG9uX250LmgKLTwvQ29tbWFuZD4KLSAgICA8L1Bvc3RCdWlsZEV2ZW50PgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj4KLSAgICA8Q3VzdG9tQnVpbGRTdGVwPgotICAgICAgPE1lc3NhZ2U+QnVpbGQgUEMvcHl0aG9ubnRfcmMoX2QpLmg8L01lc3NhZ2U+Ci0gICAgICA8Q29tbWFuZD5jZCAkKFNvbHV0aW9uRGlyKQotbWFrZV92ZXJzaW9uaW5mb19kLmV4ZSAmZ3Q7IC4uXFBDXHB5dGhvbm50X3JjX2QuaAotPC9Db21tYW5kPgotICAgICAgPE91dHB1dHM+JChTb2x1dGlvbkRpcikuLlxQQ1xweXRob25udF9yY19kLmg7JShPdXRwdXRzKTwvT3V0cHV0cz4KLSAgICAgIDxJbnB1dHM+JChTb2x1dGlvbkRpciltYWtlX3ZlcnNpb25pbmZvX2QuZXhlPC9JbnB1dHM+Ci0gICAgPC9DdXN0b21CdWlsZFN0ZXA+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxPcHRpbWl6YXRpb24+RGlzYWJsZWQ8L09wdGltaXphdGlvbj4KLSAgICAgIDxJbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj5Pbmx5RXhwbGljaXRJbmxpbmU8L0lubGluZUZ1bmN0aW9uRXhwYW5zaW9uPgotICAgICAgPEludHJpbnNpY0Z1bmN0aW9ucz5mYWxzZTwvSW50cmluc2ljRnVuY3Rpb25zPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5fQ09OU09MRTslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgICA8U3RyaW5nUG9vbGluZz50cnVlPC9TdHJpbmdQb29saW5nPgotICAgICAgPFJ1bnRpbWVMaWJyYXJ5Pk11bHRpVGhyZWFkZWRETEw8L1J1bnRpbWVMaWJyYXJ5PgotICAgICAgPEZ1bmN0aW9uTGV2ZWxMaW5raW5nPnRydWU8L0Z1bmN0aW9uTGV2ZWxMaW5raW5nPgotICAgICAgPENvbXBpbGVBcz5EZWZhdWx0PC9Db21waWxlQXM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPExpbms+Ci0gICAgICA8T3V0cHV0RmlsZT4kKFNvbHV0aW9uRGlyKW1ha2VfdmVyc2lvbmluZm9fZC5leGU8L091dHB1dEZpbGU+Ci0gICAgICA8U3ViU3lzdGVtPkNvbnNvbGU8L1N1YlN5c3RlbT4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFkMDAwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICA8L0xpbms+Ci0gICAgPFBvc3RCdWlsZEV2ZW50PgotICAgICAgPENvbW1hbmQ+Ci0gICAgICA8L0NvbW1hbmQ+Ci0gICAgPC9Qb3N0QnVpbGRFdmVudD4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPgotICAgIDxDdXN0b21CdWlsZFN0ZXA+Ci0gICAgICA8TWVzc2FnZT5CdWlsZCBQQy9weXRob25udF9yYyhfZCkuaDwvTWVzc2FnZT4KLSAgICAgIDxDb21tYW5kPmNkICQoU29sdXRpb25EaXIpCi1tYWtlX3ZlcnNpb25pbmZvX2QuZXhlICZndDsgLi5cUENccHl0aG9ubnRfcmNfZC5oCi08L0NvbW1hbmQ+Ci0gICAgICA8T3V0cHV0cz4kKFNvbHV0aW9uRGlyKS4uXFBDXHB5dGhvbm50X3JjX2QuaDslKE91dHB1dHMpPC9PdXRwdXRzPgotICAgIDwvQ3VzdG9tQnVpbGRTdGVwPgotICAgIDxNaWRsPgotICAgICAgPFRhcmdldEVudmlyb25tZW50Plg2NDwvVGFyZ2V0RW52aXJvbm1lbnQ+Ci0gICAgPC9NaWRsPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8T3B0aW1pemF0aW9uPkRpc2FibGVkPC9PcHRpbWl6YXRpb24+Ci0gICAgICA8SW5saW5lRnVuY3Rpb25FeHBhbnNpb24+T25seUV4cGxpY2l0SW5saW5lPC9JbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj4KLSAgICAgIDxJbnRyaW5zaWNGdW5jdGlvbnM+ZmFsc2U8L0ludHJpbnNpY0Z1bmN0aW9ucz4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5fQ09OU09MRTslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPExpbms+Ci0gICAgICA8T3V0cHV0RmlsZT4kKFNvbHV0aW9uRGlyKW1ha2VfdmVyc2lvbmluZm9fZC5leGU8L091dHB1dEZpbGU+Ci0gICAgICA8VGFyZ2V0TWFjaGluZT5NYWNoaW5lWDY0PC9UYXJnZXRNYWNoaW5lPgotICAgIDwvTGluaz4KLSAgICA8UG9zdEJ1aWxkRXZlbnQ+Ci0gICAgICA8Q29tbWFuZD5jZCAkKFNvbHV0aW9uRGlyKQotbWFrZV92ZXJzaW9uaW5mb19kLmV4ZSAmZ3Q7IC4uXFBDXHB5dGhvbl9udF9kLmgKLTwvQ29tbWFuZD4KLSAgICA8L1Bvc3RCdWlsZEV2ZW50PgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtR3JvdXA+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxQQ1xtYWtlX3ZlcnNpb25pbmZvLmMiIC8+Ci0gIDwvSXRlbUdyb3VwPgotICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC50YXJnZXRzIiAvPgotICA8SW1wb3J0R3JvdXAgTGFiZWw9IkV4dGVuc2lvblRhcmdldHMiPgotICA8L0ltcG9ydEdyb3VwPgotPC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1BDYnVpbGQvbWFrZV92ZXJzaW9uaW5mby52Y3hwcm9qLmZpbHRlcnMgYi9QQ2J1aWxkL21ha2VfdmVyc2lvbmluZm8udmN4cHJvai5maWx0ZXJzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5NmMwNDM0Li4wMDAwMDAwCi0tLSBhL1BDYnVpbGQvbWFrZV92ZXJzaW9uaW5mby52Y3hwcm9qLmZpbHRlcnMKKysrIC9kZXYvbnVsbApAQCAtMSwxMyArMCwwIEBACi3vu788P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgotPFByb2plY3QgVG9vbHNWZXJzaW9uPSI0LjAiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgotICA8SXRlbUdyb3VwPgotICAgIDxGaWx0ZXIgSW5jbHVkZT0iU291cmNlIEZpbGVzIj4KLSAgICAgIDxVbmlxdWVJZGVudGlmaWVyPntlNDE4MDk1NC1jM2E1LTQ3NDktYjlhNC0zMWI4MDRlZTRmYTh9PC9VbmlxdWVJZGVudGlmaWVyPgotICAgIDwvRmlsdGVyPgotICA8L0l0ZW1Hcm91cD4KLSAgPEl0ZW1Hcm91cD4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXFBDXG1ha2VfdmVyc2lvbmluZm8uYyI+Ci0gICAgICA8RmlsdGVyPlNvdXJjZSBGaWxlczwvRmlsdGVyPgotICAgIDwvQ2xDb21waWxlPgotICA8L0l0ZW1Hcm91cD4KLTwvUHJvamVjdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9QQ2J1aWxkL29wZW5zc2wucHJvcHMgYi9QQ2J1aWxkL29wZW5zc2wucHJvcHMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzU2MTU5ZQotLS0gL2Rldi9udWxsCisrKyBiL1BDYnVpbGQvb3BlbnNzbC5wcm9wcwpAQCAtMCwwICsxLDc1IEBACivvu788P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgorPFByb2plY3QgVG9vbHNWZXJzaW9uPSI0LjAiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgorICA8SW1wb3J0IFByb2plY3Q9InB5cHJvamVjdC5wcm9wcyIgLz4KKworICA8UHJvcGVydHlHcm91cCBMYWJlbD0iQ29uZmlndXJhdGlvbiI+CisgICAgPENvbmZpZ3VyYXRpb25UeXBlPlN0YXRpY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgorICAgIDxJbnREaXI+JChvcGVuc3NsRGlyKXRtcFwkKEFyY2hOYW1lKV8kKENvbmZpZ3VyYXRpb24pXCQoUHJvamVjdE5hbWUpXDwvSW50RGlyPgorICAgIDxJbnREaXIgQ29uZGl0aW9uPSIkKENvbmZpZ3VyYXRpb24pID09ICdQR0luc3RydW1lbnQnIG9yICQoQ29uZmlndXJhdGlvbikgPT0gJ1BHVXBkYXRlJyI+JChvcGVuc3NsRGlyKXRtcFwkKEFyY2hOYW1lKVwkKFByb2plY3ROYW1lKVw8L0ludERpcj4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgorCisgIDxJdGVtR3JvdXA+CisgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zIEluY2x1ZGU9IkRTT19XSU4zMiIgLz4KKyAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMgSW5jbHVkZT0iV0lOMzJfTEVBTl9BTkRfTUVBTiIgLz4KKyAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMgSW5jbHVkZT0iTF9FTkRJQU4iIC8+CisgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zIEluY2x1ZGU9Il9DUlRfU0VDVVJFX05PX1dBUk5JTkdTIiAvPgorICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyBJbmNsdWRlPSJfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEUiIC8+CisgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zIEluY2x1ZGU9Ik9QRU5TU0xfVEhSRUFEUyIgLz4KKyAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMgSW5jbHVkZT0iT1BFTlNTTF9TWVNOQU1FX1dJTjMyIiAvPgorICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyBJbmNsdWRlPSJPUEVOU1NMX0lBMzJfU1NFMiIgLz4KKyAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMgSW5jbHVkZT0iT1BFTlNTTF9CTl9BU01fR0YybSIgLz4KKyAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMgSW5jbHVkZT0iT1BFTlNTTF9DUFVJRF9PQkoiIC8+CisgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zIEluY2x1ZGU9IlNIQTFfQVNNIiAvPgorICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyBJbmNsdWRlPSJTSEEyNTZfQVNNIiAvPgorICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyBJbmNsdWRlPSJTSEE1MTJfQVNNIiAvPgorICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyBJbmNsdWRlPSJNRDVfQVNNIiAvPgorICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyBJbmNsdWRlPSJBRVNfQVNNIiAvPgorICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyBJbmNsdWRlPSJWUEFFU19BU00iIC8+CisgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zIEluY2x1ZGU9IldISVJMUE9PTF9BU00iIC8+CisgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zIEluY2x1ZGU9IkdIQVNIX0FTTSIgLz4KKyAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMgSW5jbHVkZT0iT1BFTlNTTF9OT19JREVBIiAvPgorICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyBJbmNsdWRlPSJPUEVOU1NMX05PX1JDNSIgLz4KKyAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMgSW5jbHVkZT0iT1BFTlNTTF9OT19NRDIiIC8+CisgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zIEluY2x1ZGU9Ik9QRU5TU0xfTk9fTURDMiIgLz4KKyAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMgSW5jbHVkZT0iT1BFTlNTTF9OT19LUkI1IiAvPgorICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyBJbmNsdWRlPSJPUEVOU1NMX05PX0pQQUtFIiAvPgorICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyBJbmNsdWRlPSJPUEVOU1NMX05PX1JEUkFORCIgLz4KKyAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMgSW5jbHVkZT0iT1BFTlNTTF9OT19SU0FYIiAvPgorICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyBJbmNsdWRlPSJPUEVOU1NMX05PX0RZTkFNSUNfRU5HSU5FIiAvPgorICA8L0l0ZW1Hcm91cD4KKyAgPEl0ZW1Hcm91cCBDb25kaXRpb249IickKFBsYXRmb3JtKSc9PSdXaW4zMiciPgorICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyBJbmNsdWRlPSJPUEVOU1NMX0JOX0FTTV9QQVJUX1dPUkRTIiAvPgorICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyBJbmNsdWRlPSJPUEVOU1NMX0JOX0FTTV9NT05UIiAvPgorICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyBJbmNsdWRlPSJSTUQxNjBfQVNNIiAvPgorICA8L0l0ZW1Hcm91cD4KKyAgCisgIDxQcm9wZXJ0eUdyb3VwPgorICAgIDxfUHJlcHJvY2Vzc29yRGVmaW5pdGlvbkxpc3Q+QChQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L19QcmVwcm9jZXNzb3JEZWZpbml0aW9uTGlzdD4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgorICAKKyAgPEl0ZW1EZWZpbml0aW9uR3JvdXA+CisgICAgPENsQ29tcGlsZT4KKyAgICAgIDwhLS0gU3VwcHJlc3MgNjQtYml0IHRydW5jYXRpb24gd2FybmluZ3MgLSB0aGV5IGFyZW4ndCBvdXJzIHRvIHdvcnJ5IGFib3V0IC0tPgorICAgICAgPERpc2FibGVTcGVjaWZpY1dhcm5pbmdzPjQyNDQ7NDI2NzwvRGlzYWJsZVNwZWNpZmljV2FybmluZ3M+CisgICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4kKG9wZW5zc2xEaXIpOyQob3BlbnNzbERpcilpbmNsdWRlOyQob3BlbnNzbERpciljcnlwdG87JChvcGVuc3NsRGlyKWNyeXB0b1xhc24xOyQob3BlbnNzbERpciljcnlwdG9cZXZwOyQob3BlbnNzbERpciljcnlwdG9cbW9kZXM8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+CisgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+JChfUHJlcHJvY2Vzc29yRGVmaW5pdGlvbkxpc3QpOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KKyAgICA8L0NsQ29tcGlsZT4KKyAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgorICAKKyAgPFRhcmdldCBOYW1lPSJGaW5kTmFzbSI+CisgICAgPFByb3BlcnR5R3JvdXA+CisgICAgICA8bmFzbSBDb25kaXRpb249IiQoUGxhdGZvcm0pID09ICdXaW4zMiciPm5hc20uZXhlIC1mIHdpbjMyPC9uYXNtPgorICAgICAgPG5hc20gQ29uZGl0aW9uPSIkKFBsYXRmb3JtKSA9PSAneDY0JyI+bmFzbS5leGUgLWYgd2luNjQgLURORUFSIC1PeCAtZzwvbmFzbT4KKyAgICA8L1Byb3BlcnR5R3JvdXA+CisgIDwvVGFyZ2V0PgorCisgIDxUYXJnZXQgTmFtZT0iQnVpbGROYXNtRmlsZXMiIEJlZm9yZVRhcmdldHM9IlByZUJ1aWxkRXZlbnQiIERlcGVuZHNPblRhcmdldHM9IlByZXBhcmVGb3JCdWlsZDtGaW5kTmFzbSIgSW5wdXRzPSJAKE5hc21Db21waWxlKSIgT3V0cHV0cz0iQChOYXNtQ29tcGlsZS0+JyQoSW50RGlyKSUoRmlsZW5hbWUpLm9iaicpIj4KKyAgICA8RXhlYyBDb21tYW5kPSdzZXRsb2NhbAorc2V0IFBBVEg9JVBBVEglOyQobmFzbURpcikKKyQobmFzbSkgLW8gIiQoSW50RGlyKSUoTmFzbUNvbXBpbGUuRmlsZW5hbWUpLm9iaiIgIiUoTmFzbUNvbXBpbGUuRnVsbFBhdGgpIicgLz4KKyAgICA8SXRlbUdyb3VwPgorICAgICAgPExpbmsgSW5jbHVkZT0iJChJbnREaXIpJShOYXNtQ29tcGlsZS5GaWxlbmFtZSkub2JqIiAvPgorICAgICAgPExpYiBJbmNsdWRlPSIkKEludERpciklKE5hc21Db21waWxlLkZpbGVuYW1lKS5vYmoiIC8+CisgICAgPC9JdGVtR3JvdXA+CisgIDwvVGFyZ2V0PgorPC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1BDYnVpbGQvcGNidWlsZC5wcm9qIGIvUENidWlsZC9wY2J1aWxkLnByb2oKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDA0YjhkNAotLS0gL2Rldi9udWxsCisrKyBiL1BDYnVpbGQvcGNidWlsZC5wcm9qCkBAIC0wLDAgKzEsODQgQEAKK++7vzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8UHJvamVjdCBEZWZhdWx0VGFyZ2V0cz0iQnVpbGQiIFRvb2xzVmVyc2lvbj0iNC4wIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KKyAgPFByb3BlcnR5R3JvdXAgTGFiZWw9Ikdsb2JhbHMiPgorICAgIDxQcm9qZWN0R3VpZD57Q0M5QjkzQTItNDM5RC00MDU4LTlEMjktNkRDRjQzNzc0NDA1fTwvUHJvamVjdEd1aWQ+CisgICAgPFBsYXRmb3JtIENvbmRpdGlvbj0iJyQoUGxhdGZvcm0pJyA9PSAnJyI+V2luMzI8L1BsYXRmb3JtPgorICAgIDxDb25maWd1cmF0aW9uIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbiknID09ICcnIj5SZWxlYXNlPC9Db25maWd1cmF0aW9uPgorICAgIDxJbmNsdWRlRXh0ZW5zaW9ucyBDb25kaXRpb249IickKEluY2x1ZGVFeHRlbnNpb25zKScgPT0gJyciPnRydWU8L0luY2x1ZGVFeHRlbnNpb25zPgorICAgIDxJbmNsdWRlVGVzdHMgQ29uZGl0aW9uPSInJChJbmNsdWRlVGVzdCknID09ICcnIj50cnVlPC9JbmNsdWRlVGVzdHM+CisgICAgPEluY2x1ZGVTU0wgQ29uZGl0aW9uPSInJChJbmNsdWRlU1NMKScgPT0gJyciPnRydWU8L0luY2x1ZGVTU0w+CisgIDwvUHJvcGVydHlHcm91cD4KKworICA8SXRlbURlZmluaXRpb25Hcm91cD4KKyAgICA8UHJvamVjdHM+CisgICAgICA8UGxhdGZvcm0+JChQbGF0Zm9ybSk8L1BsYXRmb3JtPgorICAgICAgPENvbmZpZ3VyYXRpb24+JChDb25maWd1cmF0aW9uKTwvQ29uZmlndXJhdGlvbj4KKyAgICAgIDxQcm9wZXJ0aWVzPjwvUHJvcGVydGllcz4KKyAgICAgIDxCdWlsZFRhcmdldD5CdWlsZDwvQnVpbGRUYXJnZXQ+CisgICAgICA8Q2xlYW5UYXJnZXQ+Q2xlYW48L0NsZWFuVGFyZ2V0PgorICAgICAgPENsZWFuQWxsVGFyZ2V0PkNsZWFuQWxsPC9DbGVhbkFsbFRhcmdldD4KKyAgICAgIDxCdWlsZEluUGFyYWxsZWw+dHJ1ZTwvQnVpbGRJblBhcmFsbGVsPgorICAgIDwvUHJvamVjdHM+CisgIDwvSXRlbURlZmluaXRpb25Hcm91cD4KKyAgPEl0ZW1Hcm91cD4KKyAgICA8IS0tIHB5dGhvblhZLmRsbCAtLT4KKyAgICA8IS0tCisgICAgUGFyYWxsZWwgYnVpbGQgaXMgZXhwbGljaXRseSBkaXNhYmxlZCBmb3IgdGhpcyBwcm9qZWN0IGJlY2F1c2UgaXQKKyAgICBjYXVzZXMgbWFueSBjb25mbGljdHMgYmV0d2VlbiBweXRob25jb3JlIGFuZCBwcm9qZWN0cyB0aGF0IGRlcGVuZAorICAgIGluIHB5dGhvbmNvcmUuIE9uY2UgdGhlIGNvcmUgRExMIGhhcyBiZWVuIGJ1aWx0LCBzdWJzZXF1ZW50CisgICAgcHJvamVjdHMgd2lsbCBiZSBidWlsdCBpbiBwYXJhbGxlbC4KKyAgICAtLT4KKyAgICA8UHJvamVjdHMgSW5jbHVkZT0icHl0aG9uY29yZS52Y3hwcm9qIj4KKyAgICAgIDxCdWlsZEluUGFyYWxsZWw+ZmFsc2U8L0J1aWxkSW5QYXJhbGxlbD4KKyAgICA8L1Byb2plY3RzPgorICAgIDwhLS0gcHl0aG9uW3ddLmV4ZSAtLT4KKyAgICA8UHJvamVjdHMgSW5jbHVkZT0icHl0aG9uLnZjeHByb2o7cHl0aG9udy52Y3hwcm9qIiAvPgorICAgIDwhLS0gcHl0aG9uMy5kbGwgLS0+CisgICAgPFByb2plY3RzIEluY2x1ZGU9InB5dGhvbjNkbGwudmN4cHJvaiIgLz4KKyAgICA8IS0tIHB5W3ddLmV4ZSAtLT4KKyAgICA8UHJvamVjdHMgSW5jbHVkZT0icHlsYXVuY2hlci52Y3hwcm9qO3B5d2xhdW5jaGVyLnZjeHByb2oiIC8+CisgICAgPCEtLSBfZnJlZXplX2ltcG9ydGxpYiAtLT4KKyAgICA8UHJvamVjdHMgSW5jbHVkZT0iX2ZyZWV6ZV9pbXBvcnRsaWIudmN4cHJvaiIgLz4KKyAgICA8IS0tIEV4dGVuc2lvbiBtb2R1bGVzIC0tPgorICAgIDxFeHRlbnNpb25Nb2R1bGVzIEluY2x1ZGU9Il9iejI7X2N0eXBlcztfZGVjaW1hbDtfZWxlbWVudHRyZWU7X2x6bWE7X21zaTtfbXVsdGlwcm9jZXNzaW5nO19vdmVybGFwcGVkO19zcWxpdGUzO190a2ludGVyO3B5ZXhwYXQ7c2VsZWN0O3VuaWNvZGVkYXRhO3dpbnNvdW5kIiAvPgorICAgIDwhLS0gX3NzbCB3aWxsIGJ1aWxkIF9zb2NrZXQgYXMgd2VsbCwgd2hpY2ggbWF5IGNhdXNlIGNvbmZsaWN0cyBpbiBwYXJhbGxlbCBidWlsZHMgLS0+CisgICAgPEV4dGVuc2lvbk1vZHVsZXMgSW5jbHVkZT0iX3NvY2tldCIgQ29uZGl0aW9uPSIhJChJbmNsdWRlU1NMKSIgLz4KKyAgICA8RXh0ZW5zaW9uTW9kdWxlcyBJbmNsdWRlPSJfc3NsO19oYXNobGliIiBDb25kaXRpb249IiQoSW5jbHVkZVNTTCkiIC8+CisgICAgPFByb2plY3RzIEluY2x1ZGU9IkAoRXh0ZW5zaW9uTW9kdWxlcy0+JyUoSWRlbnRpdHkpLnZjeHByb2onKSIgQ29uZGl0aW9uPSIkKEluY2x1ZGVFeHRlbnNpb25zKSIgLz4KKyAgICA8IS0tIFRlc3QgbW9kdWxlcyAtLT4KKyAgICA8VGVzdE1vZHVsZXMgSW5jbHVkZT0iX2N0eXBlc190ZXN0O190ZXN0YnVmZmVyO190ZXN0Y2FwaTtfdGVzdGVtYmVkO190ZXN0aW1wb3J0bXVsdGlwbGUiIC8+CisgICAgPFRlc3RNb2R1bGVzIEluY2x1ZGU9Inh4bGltaXRlZCIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKScgPT0gJ1JlbGVhc2UnIiAvPgorICAgIDxQcm9qZWN0cyBJbmNsdWRlPSJAKFRlc3RNb2R1bGVzLT4nJShJZGVudGl0eSkudmN4cHJvaicpIiBDb25kaXRpb249IiQoSW5jbHVkZVRlc3RzKSI+CisgICAgICA8IS0tIERpc2FibGUgcGFyYWxsZWwgYnVpbGQgZm9yIHRlc3QgbW9kdWxlcyAtLT4KKyAgICAgIDxCdWlsZEluUGFyYWxsZWw+ZmFsc2U8L0J1aWxkSW5QYXJhbGxlbD4KKyAgICA8L1Byb2plY3RzPgorICA8L0l0ZW1Hcm91cD4KKworICA8VGFyZ2V0IE5hbWU9IkJ1aWxkIj4KKyAgICA8TVNCdWlsZCBQcm9qZWN0cz0iQChQcm9qZWN0cykiCisgICAgICAgICAgICAgUHJvcGVydGllcz0iQ29uZmlndXJhdGlvbj0lKENvbmZpZ3VyYXRpb24pO1BsYXRmb3JtPSUoUGxhdGZvcm0pOyUoUHJvcGVydGllcykiCisgICAgICAgICAgICAgQnVpbGRJblBhcmFsbGVsPSIlKEJ1aWxkSW5QYXJhbGxlbCkiCisgICAgICAgICAgICAgVGFyZ2V0cz0iJShCdWlsZFRhcmdldCkiIC8+CisgIDwvVGFyZ2V0PgorCisgIDxUYXJnZXQgTmFtZT0iQ2xlYW4iPgorICAgIDxNU0J1aWxkIFByb2plY3RzPSJAKFByb2plY3RzKSIKKyAgICAgICAgICAgICBQcm9wZXJ0aWVzPSJDb25maWd1cmF0aW9uPSUoQ29uZmlndXJhdGlvbik7UGxhdGZvcm09JShQbGF0Zm9ybSk7JShQcm9wZXJ0aWVzKSIKKyAgICAgICAgICAgICBCdWlsZEluUGFyYWxsZWw9IiUoQnVpbGRJblBhcmFsbGVsKSIKKyAgICAgICAgICAgICBTdG9wT25GaXJzdEZhaWx1cmU9ImZhbHNlIgorICAgICAgICAgICAgIENvbmRpdGlvbj0iJShDbGVhblRhcmdldCkgIT0gJyciCisgICAgICAgICAgICAgVGFyZ2V0cz0iJShDbGVhblRhcmdldCkiIC8+CisgIDwvVGFyZ2V0PgorCisgIDxUYXJnZXQgTmFtZT0iQ2xlYW5BbGwiPgorICAgIDxNU0J1aWxkIFByb2plY3RzPSJAKFByb2plY3RzKSIKKyAgICAgICAgICAgICBQcm9wZXJ0aWVzPSJDb25maWd1cmF0aW9uPSUoQ29uZmlndXJhdGlvbik7UGxhdGZvcm09JShQbGF0Zm9ybSk7JShQcm9wZXJ0aWVzKSIKKyAgICAgICAgICAgICBCdWlsZEluUGFyYWxsZWw9IiUoQnVpbGRJblBhcmFsbGVsKSIKKyAgICAgICAgICAgICBTdG9wT25GaXJzdEZhaWx1cmU9ImZhbHNlIgorICAgICAgICAgICAgIENvbmRpdGlvbj0iJShDbGVhbkFsbFRhcmdldCkgIT0gJyciCisgICAgICAgICAgICAgVGFyZ2V0cz0iJShDbGVhbkFsbFRhcmdldCkiIC8+CisgIDwvVGFyZ2V0PgorCisgIDxUYXJnZXQgTmFtZT0iUmVidWlsZCIgRGVwZW5kc09uVGFyZ2V0cz0iQ2xlYW47QnVpbGQiIC8+CisgIDxUYXJnZXQgTmFtZT0iUmVidWlsZEFsbCIgRGVwZW5kc09uVGFyZ2V0cz0iQ2xlYW5BbGw7QnVpbGQiIC8+Cis8L1Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvUENidWlsZC9wY2J1aWxkLnNsbiBiL1BDYnVpbGQvcGNidWlsZC5zbG4KaW5kZXggYTM0NmUxMC4uN2IzNzYzNSAxMDA2NDQKLS0tIGEvUENidWlsZC9wY2J1aWxkLnNsbgorKysgYi9QQ2J1aWxkL3BjYnVpbGQuc2xuCkBAIC0xLDUgKzEsNyBAQAotTWljcm9zb2Z0IFZpc3VhbCBTdHVkaW8gU29sdXRpb24gRmlsZSwgRm9ybWF0IFZlcnNpb24gMTEuMDANCi0jIFZpc3VhbCBTdHVkaW8gMjAxMA0KK01pY3Jvc29mdCBWaXN1YWwgU3R1ZGlvIFNvbHV0aW9uIEZpbGUsIEZvcm1hdCBWZXJzaW9uIDEyLjAwDQorIyBWaXN1YWwgU3R1ZGlvIDIwMTMNCitWaXN1YWxTdHVkaW9WZXJzaW9uID0gMTIuMC4zMDUwMS4wDQorTWluaW11bVZpc3VhbFN0dWRpb1ZlcnNpb24gPSAxMC4wLjQwMjE5LjENCiBQcm9qZWN0KCJ7MjE1MEUzMzMtOEZEQy00MkEzLTk0NzQtMUEzOTU2RDQ2REU4fSIpID0gIlNvbHV0aW9uIEl0ZW1zIiwgIlNvbHV0aW9uIEl0ZW1zIiwgIns1NTNFQzMzRS05ODE2LTQ5OTYtQTY2MC01RDYxODZBMEIwQjN9Ig0KIAlQcm9qZWN0U2VjdGlvbihTb2x1dGlvbkl0ZW1zKSA9IHByZVByb2plY3QNCiAJCS4uXE1vZHVsZXNcZ2V0YnVpbGRpbmZvLmMgPSAuLlxNb2R1bGVzXGdldGJ1aWxkaW5mby5jDQpAQCAtOCwxNCArMTAsMTAgQEAKIEVuZFByb2plY3QNCiBQcm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIpID0gInB5dGhvbiIsICJweXRob24udmN4cHJvaiIsICJ7QjExRDc1MEYtQ0QxRi00QTk2LTg1Q0UtRTY5QTVDNTI1OUY5fSINCiBFbmRQcm9qZWN0DQotUHJvamVjdCgiezhCQzlDRUI4LThCNEEtMTFEMC04RDExLTAwQTBDOTFCQzk0Mn0iKSA9ICJtYWtlX3ZlcnNpb25pbmZvIiwgIm1ha2VfdmVyc2lvbmluZm8udmN4cHJvaiIsICJ7RjBFMDU0MUUtRjE3RC00MzBCLTk3QzQtOTNBREYwREQyODRFfSINCi1FbmRQcm9qZWN0DQogUHJvamVjdCgiezhCQzlDRUI4LThCNEEtMTFEMC04RDExLTAwQTBDOTFCQzk0Mn0iKSA9ICJweXRob25jb3JlIiwgInB5dGhvbmNvcmUudmN4cHJvaiIsICJ7Q0Y3QUMzRDEtRTJERi00MUQyLUJFQTYtMUUyNTU2Q0RFQTI2fSINCiBFbmRQcm9qZWN0DQogUHJvamVjdCgiezhCQzlDRUI4LThCNEEtMTFEMC04RDExLTAwQTBDOTFCQzk0Mn0iKSA9ICJweXRob253IiwgInB5dGhvbncudmN4cHJvaiIsICJ7RjQyMjlDQzMtODczQy00OUFFLTk3MjktREQzMDhFRDRDRDRBfSINCiBFbmRQcm9qZWN0DQotUHJvamVjdCgiezhCQzlDRUI4LThCNEEtMTFEMC04RDExLTAwQTBDOTFCQzk0Mn0iKSA9ICJtYWtlX2J1aWxkaW5mbyIsICJtYWtlX2J1aWxkaW5mby52Y3hwcm9qIiwgIntDNzNGMEVDMS0zNThCLTQxNzctOTQwRi0wODQ2QUM4QjA0Q0R9Ig0KLUVuZFByb2plY3QNCiBQcm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIpID0gIndpbnNvdW5kIiwgIndpbnNvdW5kLnZjeHByb2oiLCAiezI4QjVENzc3LURERjItNEI2Qi1CMzRGLTMxRDkzODgxMzg1Nn0iDQogRW5kUHJvamVjdA0KIFByb2plY3QoIns4QkM5Q0VCOC04QjRBLTExRDAtOEQxMS0wMEEwQzkxQkM5NDJ9IikgPSAiX2RlY2ltYWwiLCAiX2RlY2ltYWwudmN4cHJvaiIsICJ7MEU5NzkxREItNTkzQS00NjVGLTk4QkMtNjgxMDExMzExNjE3fSINCkBAIC01MCw3ICs0OCw3IEBACiBFbmRQcm9qZWN0DQogUHJvamVjdCgiezhCQzlDRUI4LThCNEEtMTFEMC04RDExLTAwQTBDOTFCQzk0Mn0iKSA9ICJweWV4cGF0IiwgInB5ZXhwYXQudmN4cHJvaiIsICJ7RDA2QjY0MjYtNDc2Mi00NENDLThCQUQtRDc5MDUyNTA3RjJGfSINCiBFbmRQcm9qZWN0DQotUHJvamVjdCgiezhCQzlDRUI4LThCNEEtMTFEMC04RDExLTAwQTBDOTFCQzk0Mn0iKSA9ICJiZGlzdF93aW5pbnN0IiwgImJkaXN0X3dpbmluc3QudmN4cHJvaiIsICJ7RUIxQzE5QzEtMUYxOC00MjFFLTk3MzUtQ0FFRTY5REM2QTNDfSINCitQcm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIpID0gImJkaXN0X3dpbmluc3QiLCAiLi5cUENcYmRpc3Rfd2luaW5zdFxiZGlzdF93aW5pbnN0LnZjeHByb2oiLCAie0VCMUMxOUMxLTFGMTgtNDIxRS05NzM1LUNBRUU2OURDNkEzQ30iDQogRW5kUHJvamVjdA0KIFByb2plY3QoIns4QkM5Q0VCOC04QjRBLTExRDAtOEQxMS0wMEEwQzkxQkM5NDJ9IikgPSAiX2hhc2hsaWIiLCAiX2hhc2hsaWIudmN4cHJvaiIsICJ7NDQ3RjA1QTgtRjU4MS00Q0FDLUE0NjYtNUFDNzkzNkUyMDdFfSINCiBFbmRQcm9qZWN0DQpAQCAtNTgsMTAgKzU2LDYgQEAKIEVuZFByb2plY3QNCiBQcm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIpID0gIl9tdWx0aXByb2Nlc3NpbmciLCAiX211bHRpcHJvY2Vzc2luZy52Y3hwcm9qIiwgIns5RTQ4QjMwMC0zN0QxLTExREQtOEM0MS0wMDUwNTZDMDAwMDh9Ig0KIEVuZFByb2plY3QNCi1Qcm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIpID0gInNzbCIsICJzc2wudmN4cHJvaiIsICJ7RTVCMDRDQzAtRUI0Qy00MkFCLUI0REMtMThFRjk1Rjg2NEIwfSINCi1FbmRQcm9qZWN0DQotUHJvamVjdCgiezhCQzlDRUI4LThCNEEtMTFEMC04RDExLTAwQTBDOTFCQzk0Mn0iKSA9ICJraWxsX3B5dGhvbiIsICJraWxsX3B5dGhvbi52Y3hwcm9qIiwgIns2REUxMDc0NC1FMzk2LTQwQTUtQjRFMi0xQjY5QUE3QzhEMzF9Ig0KLUVuZFByb2plY3QNCiBQcm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIpID0gInB5dGhvbjNkbGwiLCAicHl0aG9uM2RsbC52Y3hwcm9qIiwgIns4ODVENDg5OC1EMDhELTQwOTEtOUM0MC1DNzAwQ0ZFM0ZDNUF9Ig0KIEVuZFByb2plY3QNCiBQcm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIpID0gInh4bGltaXRlZCIsICJ4eGxpbWl0ZWQudmN4cHJvaiIsICJ7Rjc0OUI4MjItQjQ4OS00Q0E1LUEzQUQtQ0UwNzhGNUYzMzhBfSINCkBAIC03OCw2ICs3MiwxNiBAQAogRW5kUHJvamVjdA0KIFByb2plY3QoIns4QkM5Q0VCOC04QjRBLTExRDAtOEQxMS0wMEEwQzkxQkM5NDJ9IikgPSAiX3Rlc3RlbWJlZCIsICJfdGVzdGVtYmVkLnZjeHByb2oiLCAiezZEQUM2NkQ5LUU3MDMtNDYyNC1CRTAzLTQ5MTEyQUI1QUE2Mn0iDQogRW5kUHJvamVjdA0KK1Byb2plY3QoIns4QkM5Q0VCOC04QjRBLTExRDAtOEQxMS0wMEEwQzkxQkM5NDJ9IikgPSAidGNsIiwgInRjbC52Y3hwcm9qIiwgIntCNUZENkYxRC0xMjlFLTRCRkYtOTM0MC0wMzYwNkZBQzcyODN9Ig0KK0VuZFByb2plY3QNCitQcm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIpID0gInRpeCIsICJ0aXgudmN4cHJvaiIsICJ7QzVBM0U3RkItOTY5NS00QjJFLTk2MEItMUQ5RjQzRjFFNTU1fSINCitFbmRQcm9qZWN0DQorUHJvamVjdCgiezhCQzlDRUI4LThCNEEtMTFEMC04RDExLTAwQTBDOTFCQzk0Mn0iKSA9ICJ0ayIsICJ0ay52Y3hwcm9qIiwgIns3RTg1RUNDRi1BNzJDLTREQTQtOUU1Mi04ODQ1MDhFODBCQTF9Ig0KK0VuZFByb2plY3QNCitQcm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIpID0gImxpYmVheSIsICJsaWJlYXkudmN4cHJvaiIsICJ7RTVCMDRDQzAtRUI0Qy00MkFCLUI0REMtMThFRjk1Rjg2NEIwfSINCitFbmRQcm9qZWN0DQorUHJvamVjdCgiezhCQzlDRUI4LThCNEEtMTFEMC04RDExLTAwQTBDOTFCQzk0Mn0iKSA9ICJzc2xlYXkiLCAic3NsZWF5LnZjeHByb2oiLCAiezEwNjE1QjI0LTczQkYtNEVGQS05M0FBLTIzNjkxNjMyMTMxN30iDQorRW5kUHJvamVjdA0KIEdsb2JhbA0KIAlHbG9iYWxTZWN0aW9uKFNvbHV0aW9uQ29uZmlndXJhdGlvblBsYXRmb3JtcykgPSBwcmVTb2x1dGlvbg0KIAkJRGVidWd8V2luMzIgPSBEZWJ1Z3xXaW4zMg0KQEAgLTEwNiwyMiArMTEwLDYgQEAKIAkJe0IxMUQ3NTBGLUNEMUYtNEE5Ni04NUNFLUU2OUE1QzUyNTlGOX0uUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KIAkJe0IxMUQ3NTBGLUNEMUYtNEE5Ni04NUNFLUU2OUE1QzUyNTlGOX0uUmVsZWFzZXx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXx4NjQNCiAJCXtCMTFENzUwRi1DRDFGLTRBOTYtODVDRS1FNjlBNUM1MjU5Rjl9LlJlbGVhc2V8eDY0LkJ1aWxkLjAgPSBSZWxlYXNlfHg2NA0KLQkJe0YwRTA1NDFFLUYxN0QtNDMwQi05N0M0LTkzQURGMEREMjg0RX0uRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gRGVidWd8V2luMzINCi0JCXtGMEUwNTQxRS1GMTdELTQzMEItOTdDNC05M0FERjBERDI4NEV9LkRlYnVnfFdpbjMyLkJ1aWxkLjAgPSBEZWJ1Z3xXaW4zMg0KLQkJe0YwRTA1NDFFLUYxN0QtNDMwQi05N0M0LTkzQURGMEREMjg0RX0uRGVidWd8eDY0LkFjdGl2ZUNmZyA9IERlYnVnfFdpbjMyDQotCQl7RjBFMDU0MUUtRjE3RC00MzBCLTk3QzQtOTNBREYwREQyODRFfS5EZWJ1Z3x4NjQuQnVpbGQuMCA9IERlYnVnfFdpbjMyDQotCQl7RjBFMDU0MUUtRjE3RC00MzBCLTk3QzQtOTNBREYwREQyODRFfS5QR0luc3RydW1lbnR8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KLQkJe0YwRTA1NDFFLUYxN0QtNDMwQi05N0M0LTkzQURGMEREMjg0RX0uUEdJbnN0cnVtZW50fFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQotCQl7RjBFMDU0MUUtRjE3RC00MzBCLTk3QzQtOTNBREYwREQyODRFfS5QR0luc3RydW1lbnR8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCi0JCXtGMEUwNTQxRS1GMTdELTQzMEItOTdDNC05M0FERjBERDI4NEV9LlBHSW5zdHJ1bWVudHx4NjQuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCi0JCXtGMEUwNTQxRS1GMTdELTQzMEItOTdDNC05M0FERjBERDI4NEV9LlBHVXBkYXRlfFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCi0JCXtGMEUwNTQxRS1GMTdELTQzMEItOTdDNC05M0FERjBERDI4NEV9LlBHVXBkYXRlfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQotCQl7RjBFMDU0MUUtRjE3RC00MzBCLTk3QzQtOTNBREYwREQyODRFfS5QR1VwZGF0ZXx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KLQkJe0YwRTA1NDFFLUYxN0QtNDMwQi05N0M0LTkzQURGMEREMjg0RX0uUEdVcGRhdGV8eDY0LkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQotCQl7RjBFMDU0MUUtRjE3RC00MzBCLTk3QzQtOTNBREYwREQyODRFfS5SZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCi0JCXtGMEUwNTQxRS1GMTdELTQzMEItOTdDNC05M0FERjBERDI4NEV9LlJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCi0JCXtGMEUwNTQxRS1GMTdELTQzMEItOTdDNC05M0FERjBERDI4NEV9LlJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCi0JCXtGMEUwNTQxRS1GMTdELTQzMEItOTdDNC05M0FERjBERDI4NEV9LlJlbGVhc2V8eDY0LkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQogCQl7Q0Y3QUMzRDEtRTJERi00MUQyLUJFQTYtMUUyNTU2Q0RFQTI2fS5EZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBEZWJ1Z3xXaW4zMg0KIAkJe0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0uRGVidWd8V2luMzIuQnVpbGQuMCA9IERlYnVnfFdpbjMyDQogCQl7Q0Y3QUMzRDEtRTJERi00MUQyLUJFQTYtMUUyNTU2Q0RFQTI2fS5EZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gRGVidWd8eDY0DQpAQCAtMTQyLDM0ICsxMzAsMTggQEAKIAkJe0Y0MjI5Q0MzLTg3M0MtNDlBRS05NzI5LUREMzA4RUQ0Q0Q0QX0uRGVidWd8V2luMzIuQnVpbGQuMCA9IERlYnVnfFdpbjMyDQogCQl7RjQyMjlDQzMtODczQy00OUFFLTk3MjktREQzMDhFRDRDRDRBfS5EZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gRGVidWd8eDY0DQogCQl7RjQyMjlDQzMtODczQy00OUFFLTk3MjktREQzMDhFRDRDRDRBfS5EZWJ1Z3x4NjQuQnVpbGQuMCA9IERlYnVnfHg2NA0KLQkJe0Y0MjI5Q0MzLTg3M0MtNDlBRS05NzI5LUREMzA4RUQ0Q0Q0QX0uUEdJbnN0cnVtZW50fFdpbjMyLkFjdGl2ZUNmZyA9IFBHSW5zdHJ1bWVudHxXaW4zMg0KLQkJe0Y0MjI5Q0MzLTg3M0MtNDlBRS05NzI5LUREMzA4RUQ0Q0Q0QX0uUEdJbnN0cnVtZW50fFdpbjMyLkJ1aWxkLjAgPSBQR0luc3RydW1lbnR8V2luMzINCi0JCXtGNDIyOUNDMy04NzNDLTQ5QUUtOTcyOS1ERDMwOEVENENENEF9LlBHSW5zdHJ1bWVudHx4NjQuQWN0aXZlQ2ZnID0gUEdJbnN0cnVtZW50fHg2NA0KLQkJe0Y0MjI5Q0MzLTg3M0MtNDlBRS05NzI5LUREMzA4RUQ0Q0Q0QX0uUEdJbnN0cnVtZW50fHg2NC5CdWlsZC4wID0gUEdJbnN0cnVtZW50fHg2NA0KLQkJe0Y0MjI5Q0MzLTg3M0MtNDlBRS05NzI5LUREMzA4RUQ0Q0Q0QX0uUEdVcGRhdGV8V2luMzIuQWN0aXZlQ2ZnID0gUEdVcGRhdGV8V2luMzINCi0JCXtGNDIyOUNDMy04NzNDLTQ5QUUtOTcyOS1ERDMwOEVENENENEF9LlBHVXBkYXRlfFdpbjMyLkJ1aWxkLjAgPSBQR1VwZGF0ZXxXaW4zMg0KLQkJe0Y0MjI5Q0MzLTg3M0MtNDlBRS05NzI5LUREMzA4RUQ0Q0Q0QX0uUEdVcGRhdGV8eDY0LkFjdGl2ZUNmZyA9IFBHVXBkYXRlfHg2NA0KLQkJe0Y0MjI5Q0MzLTg3M0MtNDlBRS05NzI5LUREMzA4RUQ0Q0Q0QX0uUEdVcGRhdGV8eDY0LkJ1aWxkLjAgPSBQR1VwZGF0ZXx4NjQNCisJCXtGNDIyOUNDMy04NzNDLTQ5QUUtOTcyOS1ERDMwOEVENENENEF9LlBHSW5zdHJ1bWVudHxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQorCQl7RjQyMjlDQzMtODczQy00OUFFLTk3MjktREQzMDhFRDRDRDRBfS5QR0luc3RydW1lbnR8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCisJCXtGNDIyOUNDMy04NzNDLTQ5QUUtOTcyOS1ERDMwOEVENENENEF9LlBHSW5zdHJ1bWVudHx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXx4NjQNCisJCXtGNDIyOUNDMy04NzNDLTQ5QUUtOTcyOS1ERDMwOEVENENENEF9LlBHSW5zdHJ1bWVudHx4NjQuQnVpbGQuMCA9IFJlbGVhc2V8eDY0DQorCQl7RjQyMjlDQzMtODczQy00OUFFLTk3MjktREQzMDhFRDRDRDRBfS5QR1VwZGF0ZXxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQorCQl7RjQyMjlDQzMtODczQy00OUFFLTk3MjktREQzMDhFRDRDRDRBfS5QR1VwZGF0ZXxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KKwkJe0Y0MjI5Q0MzLTg3M0MtNDlBRS05NzI5LUREMzA4RUQ0Q0Q0QX0uUEdVcGRhdGV8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8eDY0DQorCQl7RjQyMjlDQzMtODczQy00OUFFLTk3MjktREQzMDhFRDRDRDRBfS5QR1VwZGF0ZXx4NjQuQnVpbGQuMCA9IFJlbGVhc2V8eDY0DQogCQl7RjQyMjlDQzMtODczQy00OUFFLTk3MjktREQzMDhFRDRDRDRBfS5SZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCiAJCXtGNDIyOUNDMy04NzNDLTQ5QUUtOTcyOS1ERDMwOEVENENENEF9LlJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCiAJCXtGNDIyOUNDMy04NzNDLTQ5QUUtOTcyOS1ERDMwOEVENENENEF9LlJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8eDY0DQogCQl7RjQyMjlDQzMtODczQy00OUFFLTk3MjktREQzMDhFRDRDRDRBfS5SZWxlYXNlfHg2NC5CdWlsZC4wID0gUmVsZWFzZXx4NjQNCi0JCXtDNzNGMEVDMS0zNThCLTQxNzctOTQwRi0wODQ2QUM4QjA0Q0R9LkRlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCi0JCXtDNzNGMEVDMS0zNThCLTQxNzctOTQwRi0wODQ2QUM4QjA0Q0R9LkRlYnVnfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQotCQl7QzczRjBFQzEtMzU4Qi00MTc3LTk0MEYtMDg0NkFDOEIwNENEfS5EZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KLQkJe0M3M0YwRUMxLTM1OEItNDE3Ny05NDBGLTA4NDZBQzhCMDRDRH0uRGVidWd8eDY0LkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQotCQl7QzczRjBFQzEtMzU4Qi00MTc3LTk0MEYtMDg0NkFDOEIwNENEfS5QR0luc3RydW1lbnR8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KLQkJe0M3M0YwRUMxLTM1OEItNDE3Ny05NDBGLTA4NDZBQzhCMDRDRH0uUEdJbnN0cnVtZW50fFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQotCQl7QzczRjBFQzEtMzU4Qi00MTc3LTk0MEYtMDg0NkFDOEIwNENEfS5QR0luc3RydW1lbnR8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCi0JCXtDNzNGMEVDMS0zNThCLTQxNzctOTQwRi0wODQ2QUM4QjA0Q0R9LlBHSW5zdHJ1bWVudHx4NjQuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCi0JCXtDNzNGMEVDMS0zNThCLTQxNzctOTQwRi0wODQ2QUM4QjA0Q0R9LlBHVXBkYXRlfFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCi0JCXtDNzNGMEVDMS0zNThCLTQxNzctOTQwRi0wODQ2QUM4QjA0Q0R9LlBHVXBkYXRlfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQotCQl7QzczRjBFQzEtMzU4Qi00MTc3LTk0MEYtMDg0NkFDOEIwNENEfS5QR1VwZGF0ZXx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KLQkJe0M3M0YwRUMxLTM1OEItNDE3Ny05NDBGLTA4NDZBQzhCMDRDRH0uUEdVcGRhdGV8eDY0LkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQotCQl7QzczRjBFQzEtMzU4Qi00MTc3LTk0MEYtMDg0NkFDOEIwNENEfS5SZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCi0JCXtDNzNGMEVDMS0zNThCLTQxNzctOTQwRi0wODQ2QUM4QjA0Q0R9LlJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCi0JCXtDNzNGMEVDMS0zNThCLTQxNzctOTQwRi0wODQ2QUM4QjA0Q0R9LlJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCi0JCXtDNzNGMEVDMS0zNThCLTQxNzctOTQwRi0wODQ2QUM4QjA0Q0R9LlJlbGVhc2V8eDY0LkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQogCQl7MjhCNUQ3NzctRERGMi00QjZCLUIzNEYtMzFEOTM4ODEzODU2fS5EZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBEZWJ1Z3xXaW4zMg0KIAkJezI4QjVENzc3LURERjItNEI2Qi1CMzRGLTMxRDkzODgxMzg1Nn0uRGVidWd8V2luMzIuQnVpbGQuMCA9IERlYnVnfFdpbjMyDQogCQl7MjhCNUQ3NzctRERGMi00QjZCLUIzNEYtMzFEOTM4ODEzODU2fS5EZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gRGVidWd8eDY0DQpAQCAtMjIyLDE0ICsxOTQsMTQgQEAKIAkJezlFQzcxOTBBLTI0OUYtNDE4MC1BOTAwLTU0OEZEQ0YzMDU1Rn0uRGVidWd8V2luMzIuQnVpbGQuMCA9IERlYnVnfFdpbjMyDQogCQl7OUVDNzE5MEEtMjQ5Ri00MTgwLUE5MDAtNTQ4RkRDRjMwNTVGfS5EZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gRGVidWd8eDY0DQogCQl7OUVDNzE5MEEtMjQ5Ri00MTgwLUE5MDAtNTQ4RkRDRjMwNTVGfS5EZWJ1Z3x4NjQuQnVpbGQuMCA9IERlYnVnfHg2NA0KLQkJezlFQzcxOTBBLTI0OUYtNDE4MC1BOTAwLTU0OEZEQ0YzMDU1Rn0uUEdJbnN0cnVtZW50fFdpbjMyLkFjdGl2ZUNmZyA9IFBHSW5zdHJ1bWVudHxXaW4zMg0KLQkJezlFQzcxOTBBLTI0OUYtNDE4MC1BOTAwLTU0OEZEQ0YzMDU1Rn0uUEdJbnN0cnVtZW50fFdpbjMyLkJ1aWxkLjAgPSBQR0luc3RydW1lbnR8V2luMzINCi0JCXs5RUM3MTkwQS0yNDlGLTQxODAtQTkwMC01NDhGRENGMzA1NUZ9LlBHSW5zdHJ1bWVudHx4NjQuQWN0aXZlQ2ZnID0gUEdJbnN0cnVtZW50fHg2NA0KLQkJezlFQzcxOTBBLTI0OUYtNDE4MC1BOTAwLTU0OEZEQ0YzMDU1Rn0uUEdJbnN0cnVtZW50fHg2NC5CdWlsZC4wID0gUEdJbnN0cnVtZW50fHg2NA0KLQkJezlFQzcxOTBBLTI0OUYtNDE4MC1BOTAwLTU0OEZEQ0YzMDU1Rn0uUEdVcGRhdGV8V2luMzIuQWN0aXZlQ2ZnID0gUEdVcGRhdGV8V2luMzINCi0JCXs5RUM3MTkwQS0yNDlGLTQxODAtQTkwMC01NDhGRENGMzA1NUZ9LlBHVXBkYXRlfFdpbjMyLkJ1aWxkLjAgPSBQR1VwZGF0ZXxXaW4zMg0KLQkJezlFQzcxOTBBLTI0OUYtNDE4MC1BOTAwLTU0OEZEQ0YzMDU1Rn0uUEdVcGRhdGV8eDY0LkFjdGl2ZUNmZyA9IFBHVXBkYXRlfHg2NA0KLQkJezlFQzcxOTBBLTI0OUYtNDE4MC1BOTAwLTU0OEZEQ0YzMDU1Rn0uUEdVcGRhdGV8eDY0LkJ1aWxkLjAgPSBQR1VwZGF0ZXx4NjQNCisJCXs5RUM3MTkwQS0yNDlGLTQxODAtQTkwMC01NDhGRENGMzA1NUZ9LlBHSW5zdHJ1bWVudHxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQorCQl7OUVDNzE5MEEtMjQ5Ri00MTgwLUE5MDAtNTQ4RkRDRjMwNTVGfS5QR0luc3RydW1lbnR8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCisJCXs5RUM3MTkwQS0yNDlGLTQxODAtQTkwMC01NDhGRENGMzA1NUZ9LlBHSW5zdHJ1bWVudHx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXx4NjQNCisJCXs5RUM3MTkwQS0yNDlGLTQxODAtQTkwMC01NDhGRENGMzA1NUZ9LlBHSW5zdHJ1bWVudHx4NjQuQnVpbGQuMCA9IFJlbGVhc2V8eDY0DQorCQl7OUVDNzE5MEEtMjQ5Ri00MTgwLUE5MDAtNTQ4RkRDRjMwNTVGfS5QR1VwZGF0ZXxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQorCQl7OUVDNzE5MEEtMjQ5Ri00MTgwLUE5MDAtNTQ4RkRDRjMwNTVGfS5QR1VwZGF0ZXxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KKwkJezlFQzcxOTBBLTI0OUYtNDE4MC1BOTAwLTU0OEZEQ0YzMDU1Rn0uUEdVcGRhdGV8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8eDY0DQorCQl7OUVDNzE5MEEtMjQ5Ri00MTgwLUE5MDAtNTQ4RkRDRjMwNTVGfS5QR1VwZGF0ZXx4NjQuQnVpbGQuMCA9IFJlbGVhc2V8eDY0DQogCQl7OUVDNzE5MEEtMjQ5Ri00MTgwLUE5MDAtNTQ4RkRDRjMwNTVGfS5SZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCiAJCXs5RUM3MTkwQS0yNDlGLTQxODAtQTkwMC01NDhGRENGMzA1NUZ9LlJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCiAJCXs5RUM3MTkwQS0yNDlGLTQxODAtQTkwMC01NDhGRENGMzA1NUZ9LlJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8eDY0DQpAQCAtMzM0LDE0ICszMDYsMTQgQEAKIAkJezM2RDBDNTJDLURGNEUtNDVEMC04QkM3LUUyOTRDM0FCQzc4MX0uRGVidWd8V2luMzIuQnVpbGQuMCA9IERlYnVnfFdpbjMyDQogCQl7MzZEMEM1MkMtREY0RS00NUQwLThCQzctRTI5NEMzQUJDNzgxfS5EZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gRGVidWd8eDY0DQogCQl7MzZEMEM1MkMtREY0RS00NUQwLThCQzctRTI5NEMzQUJDNzgxfS5EZWJ1Z3x4NjQuQnVpbGQuMCA9IERlYnVnfHg2NA0KLQkJezM2RDBDNTJDLURGNEUtNDVEMC04QkM3LUUyOTRDM0FCQzc4MX0uUEdJbnN0cnVtZW50fFdpbjMyLkFjdGl2ZUNmZyA9IFBHSW5zdHJ1bWVudHxXaW4zMg0KLQkJezM2RDBDNTJDLURGNEUtNDVEMC04QkM3LUUyOTRDM0FCQzc4MX0uUEdJbnN0cnVtZW50fFdpbjMyLkJ1aWxkLjAgPSBQR0luc3RydW1lbnR8V2luMzINCi0JCXszNkQwQzUyQy1ERjRFLTQ1RDAtOEJDNy1FMjk0QzNBQkM3ODF9LlBHSW5zdHJ1bWVudHx4NjQuQWN0aXZlQ2ZnID0gUEdJbnN0cnVtZW50fHg2NA0KLQkJezM2RDBDNTJDLURGNEUtNDVEMC04QkM3LUUyOTRDM0FCQzc4MX0uUEdJbnN0cnVtZW50fHg2NC5CdWlsZC4wID0gUEdJbnN0cnVtZW50fHg2NA0KLQkJezM2RDBDNTJDLURGNEUtNDVEMC04QkM3LUUyOTRDM0FCQzc4MX0uUEdVcGRhdGV8V2luMzIuQWN0aXZlQ2ZnID0gUEdVcGRhdGV8V2luMzINCi0JCXszNkQwQzUyQy1ERjRFLTQ1RDAtOEJDNy1FMjk0QzNBQkM3ODF9LlBHVXBkYXRlfFdpbjMyLkJ1aWxkLjAgPSBQR1VwZGF0ZXxXaW4zMg0KLQkJezM2RDBDNTJDLURGNEUtNDVEMC04QkM3LUUyOTRDM0FCQzc4MX0uUEdVcGRhdGV8eDY0LkFjdGl2ZUNmZyA9IFBHVXBkYXRlfHg2NA0KLQkJezM2RDBDNTJDLURGNEUtNDVEMC04QkM3LUUyOTRDM0FCQzc4MX0uUEdVcGRhdGV8eDY0LkJ1aWxkLjAgPSBQR1VwZGF0ZXx4NjQNCisJCXszNkQwQzUyQy1ERjRFLTQ1RDAtOEJDNy1FMjk0QzNBQkM3ODF9LlBHSW5zdHJ1bWVudHxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQorCQl7MzZEMEM1MkMtREY0RS00NUQwLThCQzctRTI5NEMzQUJDNzgxfS5QR0luc3RydW1lbnR8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCisJCXszNkQwQzUyQy1ERjRFLTQ1RDAtOEJDNy1FMjk0QzNBQkM3ODF9LlBHSW5zdHJ1bWVudHx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXx4NjQNCisJCXszNkQwQzUyQy1ERjRFLTQ1RDAtOEJDNy1FMjk0QzNBQkM3ODF9LlBHSW5zdHJ1bWVudHx4NjQuQnVpbGQuMCA9IFJlbGVhc2V8eDY0DQorCQl7MzZEMEM1MkMtREY0RS00NUQwLThCQzctRTI5NEMzQUJDNzgxfS5QR1VwZGF0ZXxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQorCQl7MzZEMEM1MkMtREY0RS00NUQwLThCQzctRTI5NEMzQUJDNzgxfS5QR1VwZGF0ZXxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KKwkJezM2RDBDNTJDLURGNEUtNDVEMC04QkM3LUUyOTRDM0FCQzc4MX0uUEdVcGRhdGV8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8eDY0DQorCQl7MzZEMEM1MkMtREY0RS00NUQwLThCQzctRTI5NEMzQUJDNzgxfS5QR1VwZGF0ZXx4NjQuQnVpbGQuMCA9IFJlbGVhc2V8eDY0DQogCQl7MzZEMEM1MkMtREY0RS00NUQwLThCQzctRTI5NEMzQUJDNzgxfS5SZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCiAJCXszNkQwQzUyQy1ERjRFLTQ1RDAtOEJDNy1FMjk0QzNBQkM3ODF9LlJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCiAJCXszNkQwQzUyQy1ERjRFLTQ1RDAtOEJDNy1FMjk0QzNBQkM3ODF9LlJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8eDY0DQpAQCAtNDQyLDcgKzQxNCw3IEBACiAJCXtEMDZCNjQyNi00NzYyLTQ0Q0MtOEJBRC1ENzkwNTI1MDdGMkZ9LlJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCiAJCXtEMDZCNjQyNi00NzYyLTQ0Q0MtOEJBRC1ENzkwNTI1MDdGMkZ9LlJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8eDY0DQogCQl7RDA2QjY0MjYtNDc2Mi00NENDLThCQUQtRDc5MDUyNTA3RjJGfS5SZWxlYXNlfHg2NC5CdWlsZC4wID0gUmVsZWFzZXx4NjQNCi0JCXtFQjFDMTlDMS0xRjE4LTQyMUUtOTczNS1DQUVFNjlEQzZBM0N9LkRlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCisJCXtFQjFDMTlDMS0xRjE4LTQyMUUtOTczNS1DQUVFNjlEQzZBM0N9LkRlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9IERlYnVnfFdpbjMyDQogCQl7RUIxQzE5QzEtMUYxOC00MjFFLTk3MzUtQ0FFRTY5REM2QTNDfS5EZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXx4NjQNCiAJCXtFQjFDMTlDMS0xRjE4LTQyMUUtOTczNS1DQUVFNjlEQzZBM0N9LlBHSW5zdHJ1bWVudHxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQogCQl7RUIxQzE5QzEtMUYxOC00MjFFLTk3MzUtQ0FFRTY5REM2QTNDfS5QR0luc3RydW1lbnR8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8eDY0DQpAQCAtNDk4LDQ5ICs0NzAsMTggQEAKIAkJezlFNDhCMzAwLTM3RDEtMTFERC04QzQxLTAwNTA1NkMwMDAwOH0uUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KIAkJezlFNDhCMzAwLTM3RDEtMTFERC04QzQxLTAwNTA1NkMwMDAwOH0uUmVsZWFzZXx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXx4NjQNCiAJCXs5RTQ4QjMwMC0zN0QxLTExREQtOEM0MS0wMDUwNTZDMDAwMDh9LlJlbGVhc2V8eDY0LkJ1aWxkLjAgPSBSZWxlYXNlfHg2NA0KLQkJe0U1QjA0Q0MwLUVCNEMtNDJBQi1CNERDLTE4RUY5NUY4NjRCMH0uRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gRGVidWd8V2luMzINCi0JCXtFNUIwNENDMC1FQjRDLTQyQUItQjREQy0xOEVGOTVGODY0QjB9LkRlYnVnfFdpbjMyLkJ1aWxkLjAgPSBEZWJ1Z3xXaW4zMg0KLQkJe0U1QjA0Q0MwLUVCNEMtNDJBQi1CNERDLTE4RUY5NUY4NjRCMH0uRGVidWd8eDY0LkFjdGl2ZUNmZyA9IERlYnVnfHg2NA0KLQkJe0U1QjA0Q0MwLUVCNEMtNDJBQi1CNERDLTE4RUY5NUY4NjRCMH0uRGVidWd8eDY0LkJ1aWxkLjAgPSBEZWJ1Z3x4NjQNCi0JCXtFNUIwNENDMC1FQjRDLTQyQUItQjREQy0xOEVGOTVGODY0QjB9LlBHSW5zdHJ1bWVudHxXaW4zMi5BY3RpdmVDZmcgPSBQR0luc3RydW1lbnR8V2luMzINCi0JCXtFNUIwNENDMC1FQjRDLTQyQUItQjREQy0xOEVGOTVGODY0QjB9LlBHSW5zdHJ1bWVudHxXaW4zMi5CdWlsZC4wID0gUEdJbnN0cnVtZW50fFdpbjMyDQotCQl7RTVCMDRDQzAtRUI0Qy00MkFCLUI0REMtMThFRjk1Rjg2NEIwfS5QR0luc3RydW1lbnR8eDY0LkFjdGl2ZUNmZyA9IFBHSW5zdHJ1bWVudHx4NjQNCi0JCXtFNUIwNENDMC1FQjRDLTQyQUItQjREQy0xOEVGOTVGODY0QjB9LlBHSW5zdHJ1bWVudHx4NjQuQnVpbGQuMCA9IFBHSW5zdHJ1bWVudHx4NjQNCi0JCXtFNUIwNENDMC1FQjRDLTQyQUItQjREQy0xOEVGOTVGODY0QjB9LlBHVXBkYXRlfFdpbjMyLkFjdGl2ZUNmZyA9IFBHVXBkYXRlfFdpbjMyDQotCQl7RTVCMDRDQzAtRUI0Qy00MkFCLUI0REMtMThFRjk1Rjg2NEIwfS5QR1VwZGF0ZXxXaW4zMi5CdWlsZC4wID0gUEdVcGRhdGV8V2luMzINCi0JCXtFNUIwNENDMC1FQjRDLTQyQUItQjREQy0xOEVGOTVGODY0QjB9LlBHVXBkYXRlfHg2NC5BY3RpdmVDZmcgPSBQR1VwZGF0ZXx4NjQNCi0JCXtFNUIwNENDMC1FQjRDLTQyQUItQjREQy0xOEVGOTVGODY0QjB9LlBHVXBkYXRlfHg2NC5CdWlsZC4wID0gUEdVcGRhdGV8eDY0DQotCQl7RTVCMDRDQzAtRUI0Qy00MkFCLUI0REMtMThFRjk1Rjg2NEIwfS5SZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCi0JCXtFNUIwNENDMC1FQjRDLTQyQUItQjREQy0xOEVGOTVGODY0QjB9LlJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCi0JCXtFNUIwNENDMC1FQjRDLTQyQUItQjREQy0xOEVGOTVGODY0QjB9LlJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8eDY0DQotCQl7RTVCMDRDQzAtRUI0Qy00MkFCLUI0REMtMThFRjk1Rjg2NEIwfS5SZWxlYXNlfHg2NC5CdWlsZC4wID0gUmVsZWFzZXx4NjQNCi0JCXs2REUxMDc0NC1FMzk2LTQwQTUtQjRFMi0xQjY5QUE3QzhEMzF9LkRlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9IERlYnVnfFdpbjMyDQotCQl7NkRFMTA3NDQtRTM5Ni00MEE1LUI0RTItMUI2OUFBN0M4RDMxfS5EZWJ1Z3xXaW4zMi5CdWlsZC4wID0gRGVidWd8V2luMzINCi0JCXs2REUxMDc0NC1FMzk2LTQwQTUtQjRFMi0xQjY5QUE3QzhEMzF9LkRlYnVnfHg2NC5BY3RpdmVDZmcgPSBEZWJ1Z3x4NjQNCi0JCXs2REUxMDc0NC1FMzk2LTQwQTUtQjRFMi0xQjY5QUE3QzhEMzF9LkRlYnVnfHg2NC5CdWlsZC4wID0gRGVidWd8eDY0DQotCQl7NkRFMTA3NDQtRTM5Ni00MEE1LUI0RTItMUI2OUFBN0M4RDMxfS5QR0luc3RydW1lbnR8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KLQkJezZERTEwNzQ0LUUzOTYtNDBBNS1CNEUyLTFCNjlBQTdDOEQzMX0uUEdJbnN0cnVtZW50fFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQotCQl7NkRFMTA3NDQtRTM5Ni00MEE1LUI0RTItMUI2OUFBN0M4RDMxfS5QR0luc3RydW1lbnR8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8eDY0DQotCQl7NkRFMTA3NDQtRTM5Ni00MEE1LUI0RTItMUI2OUFBN0M4RDMxfS5QR0luc3RydW1lbnR8eDY0LkJ1aWxkLjAgPSBSZWxlYXNlfHg2NA0KLQkJezZERTEwNzQ0LUUzOTYtNDBBNS1CNEUyLTFCNjlBQTdDOEQzMX0uUEdVcGRhdGV8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KLQkJezZERTEwNzQ0LUUzOTYtNDBBNS1CNEUyLTFCNjlBQTdDOEQzMX0uUEdVcGRhdGV8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCi0JCXs2REUxMDc0NC1FMzk2LTQwQTUtQjRFMi0xQjY5QUE3QzhEMzF9LlBHVXBkYXRlfHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfHg2NA0KLQkJezZERTEwNzQ0LUUzOTYtNDBBNS1CNEUyLTFCNjlBQTdDOEQzMX0uUEdVcGRhdGV8eDY0LkJ1aWxkLjAgPSBSZWxlYXNlfHg2NA0KLQkJezZERTEwNzQ0LUUzOTYtNDBBNS1CNEUyLTFCNjlBQTdDOEQzMX0uUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQotCQl7NkRFMTA3NDQtRTM5Ni00MEE1LUI0RTItMUI2OUFBN0M4RDMxfS5SZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQotCQl7NkRFMTA3NDQtRTM5Ni00MEE1LUI0RTItMUI2OUFBN0M4RDMxfS5SZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfHg2NA0KLQkJezZERTEwNzQ0LUUzOTYtNDBBNS1CNEUyLTFCNjlBQTdDOEQzMX0uUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFJlbGVhc2V8eDY0DQotCQl7ODg1RDQ4OTgtRDA4RC00MDkxLTlDNDAtQzcwMENGRTNGQzVBfS5EZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBQR0luc3RydW1lbnR8V2luMzINCi0JCXs4ODVENDg5OC1EMDhELTQwOTEtOUM0MC1DNzAwQ0ZFM0ZDNUF9LkRlYnVnfHg2NC5BY3RpdmVDZmcgPSBQR1VwZGF0ZXx4NjQNCi0JCXs4ODVENDg5OC1EMDhELTQwOTEtOUM0MC1DNzAwQ0ZFM0ZDNUF9LkRlYnVnfHg2NC5CdWlsZC4wID0gUEdVcGRhdGV8eDY0DQotCQl7ODg1RDQ4OTgtRDA4RC00MDkxLTlDNDAtQzcwMENGRTNGQzVBfS5QR0luc3RydW1lbnR8V2luMzIuQWN0aXZlQ2ZnID0gUEdJbnN0cnVtZW50fFdpbjMyDQotCQl7ODg1RDQ4OTgtRDA4RC00MDkxLTlDNDAtQzcwMENGRTNGQzVBfS5QR0luc3RydW1lbnR8V2luMzIuQnVpbGQuMCA9IFBHSW5zdHJ1bWVudHxXaW4zMg0KLQkJezg4NUQ0ODk4LUQwOEQtNDA5MS05QzQwLUM3MDBDRkUzRkM1QX0uUEdJbnN0cnVtZW50fHg2NC5BY3RpdmVDZmcgPSBQR0luc3RydW1lbnR8eDY0DQotCQl7ODg1RDQ4OTgtRDA4RC00MDkxLTlDNDAtQzcwMENGRTNGQzVBfS5QR0luc3RydW1lbnR8eDY0LkJ1aWxkLjAgPSBQR0luc3RydW1lbnR8eDY0DQotCQl7ODg1RDQ4OTgtRDA4RC00MDkxLTlDNDAtQzcwMENGRTNGQzVBfS5QR1VwZGF0ZXxXaW4zMi5BY3RpdmVDZmcgPSBQR1VwZGF0ZXxXaW4zMg0KLQkJezg4NUQ0ODk4LUQwOEQtNDA5MS05QzQwLUM3MDBDRkUzRkM1QX0uUEdVcGRhdGV8V2luMzIuQnVpbGQuMCA9IFBHVXBkYXRlfFdpbjMyDQotCQl7ODg1RDQ4OTgtRDA4RC00MDkxLTlDNDAtQzcwMENGRTNGQzVBfS5QR1VwZGF0ZXx4NjQuQWN0aXZlQ2ZnID0gUEdVcGRhdGV8eDY0DQotCQl7ODg1RDQ4OTgtRDA4RC00MDkxLTlDNDAtQzcwMENGRTNGQzVBfS5QR1VwZGF0ZXx4NjQuQnVpbGQuMCA9IFBHVXBkYXRlfHg2NA0KKwkJezg4NUQ0ODk4LUQwOEQtNDA5MS05QzQwLUM3MDBDRkUzRkM1QX0uRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gRGVidWd8V2luMzINCisJCXs4ODVENDg5OC1EMDhELTQwOTEtOUM0MC1DNzAwQ0ZFM0ZDNUF9LkRlYnVnfFdpbjMyLkJ1aWxkLjAgPSBEZWJ1Z3xXaW4zMg0KKwkJezg4NUQ0ODk4LUQwOEQtNDA5MS05QzQwLUM3MDBDRkUzRkM1QX0uRGVidWd8eDY0LkFjdGl2ZUNmZyA9IERlYnVnfHg2NA0KKwkJezg4NUQ0ODk4LUQwOEQtNDA5MS05QzQwLUM3MDBDRkUzRkM1QX0uRGVidWd8eDY0LkJ1aWxkLjAgPSBEZWJ1Z3x4NjQNCisJCXs4ODVENDg5OC1EMDhELTQwOTEtOUM0MC1DNzAwQ0ZFM0ZDNUF9LlBHSW5zdHJ1bWVudHxXaW4zMi5BY3RpdmVDZmcgPSBEZWJ1Z3xXaW4zMg0KKwkJezg4NUQ0ODk4LUQwOEQtNDA5MS05QzQwLUM3MDBDRkUzRkM1QX0uUEdJbnN0cnVtZW50fFdpbjMyLkJ1aWxkLjAgPSBEZWJ1Z3xXaW4zMg0KKwkJezg4NUQ0ODk4LUQwOEQtNDA5MS05QzQwLUM3MDBDRkUzRkM1QX0uUEdJbnN0cnVtZW50fHg2NC5BY3RpdmVDZmcgPSBEZWJ1Z3x4NjQNCisJCXs4ODVENDg5OC1EMDhELTQwOTEtOUM0MC1DNzAwQ0ZFM0ZDNUF9LlBHSW5zdHJ1bWVudHx4NjQuQnVpbGQuMCA9IERlYnVnfHg2NA0KKwkJezg4NUQ0ODk4LUQwOEQtNDA5MS05QzQwLUM3MDBDRkUzRkM1QX0uUEdVcGRhdGV8V2luMzIuQWN0aXZlQ2ZnID0gRGVidWd8V2luMzINCisJCXs4ODVENDg5OC1EMDhELTQwOTEtOUM0MC1DNzAwQ0ZFM0ZDNUF9LlBHVXBkYXRlfFdpbjMyLkJ1aWxkLjAgPSBEZWJ1Z3xXaW4zMg0KKwkJezg4NUQ0ODk4LUQwOEQtNDA5MS05QzQwLUM3MDBDRkUzRkM1QX0uUEdVcGRhdGV8eDY0LkFjdGl2ZUNmZyA9IERlYnVnfHg2NA0KKwkJezg4NUQ0ODk4LUQwOEQtNDA5MS05QzQwLUM3MDBDRkUzRkM1QX0uUEdVcGRhdGV8eDY0LkJ1aWxkLjAgPSBEZWJ1Z3x4NjQNCiAJCXs4ODVENDg5OC1EMDhELTQwOTEtOUM0MC1DNzAwQ0ZFM0ZDNUF9LlJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KIAkJezg4NUQ0ODk4LUQwOEQtNDA5MS05QzQwLUM3MDBDRkUzRkM1QX0uUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KIAkJezg4NUQ0ODk4LUQwOEQtNDA5MS05QzQwLUM3MDBDRkUzRkM1QX0uUmVsZWFzZXx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXx4NjQNCkBAIC01NjMsMTQgKzUwNCwxNCBAQAogCQl7QTI2OTdCRDMtMjhDMS00QUVDLTkxMDYtOEI3NDg2MzlGRDE2fS5EZWJ1Z3xXaW4zMi5CdWlsZC4wID0gRGVidWd8V2luMzINCiAJCXtBMjY5N0JEMy0yOEMxLTRBRUMtOTEwNi04Qjc0ODYzOUZEMTZ9LkRlYnVnfHg2NC5BY3RpdmVDZmcgPSBEZWJ1Z3x4NjQNCiAJCXtBMjY5N0JEMy0yOEMxLTRBRUMtOTEwNi04Qjc0ODYzOUZEMTZ9LkRlYnVnfHg2NC5CdWlsZC4wID0gRGVidWd8eDY0DQotCQl7QTI2OTdCRDMtMjhDMS00QUVDLTkxMDYtOEI3NDg2MzlGRDE2fS5QR0luc3RydW1lbnR8V2luMzIuQWN0aXZlQ2ZnID0gUEdJbnN0cnVtZW50fFdpbjMyDQotCQl7QTI2OTdCRDMtMjhDMS00QUVDLTkxMDYtOEI3NDg2MzlGRDE2fS5QR0luc3RydW1lbnR8V2luMzIuQnVpbGQuMCA9IFBHSW5zdHJ1bWVudHxXaW4zMg0KLQkJe0EyNjk3QkQzLTI4QzEtNEFFQy05MTA2LThCNzQ4NjM5RkQxNn0uUEdJbnN0cnVtZW50fHg2NC5BY3RpdmVDZmcgPSBQR0luc3RydW1lbnR8eDY0DQotCQl7QTI2OTdCRDMtMjhDMS00QUVDLTkxMDYtOEI3NDg2MzlGRDE2fS5QR0luc3RydW1lbnR8eDY0LkJ1aWxkLjAgPSBQR0luc3RydW1lbnR8eDY0DQotCQl7QTI2OTdCRDMtMjhDMS00QUVDLTkxMDYtOEI3NDg2MzlGRDE2fS5QR1VwZGF0ZXxXaW4zMi5BY3RpdmVDZmcgPSBQR1VwZGF0ZXxXaW4zMg0KLQkJe0EyNjk3QkQzLTI4QzEtNEFFQy05MTA2LThCNzQ4NjM5RkQxNn0uUEdVcGRhdGV8V2luMzIuQnVpbGQuMCA9IFBHVXBkYXRlfFdpbjMyDQotCQl7QTI2OTdCRDMtMjhDMS00QUVDLTkxMDYtOEI3NDg2MzlGRDE2fS5QR1VwZGF0ZXx4NjQuQWN0aXZlQ2ZnID0gUEdVcGRhdGV8eDY0DQotCQl7QTI2OTdCRDMtMjhDMS00QUVDLTkxMDYtOEI3NDg2MzlGRDE2fS5QR1VwZGF0ZXx4NjQuQnVpbGQuMCA9IFBHVXBkYXRlfHg2NA0KKwkJe0EyNjk3QkQzLTI4QzEtNEFFQy05MTA2LThCNzQ4NjM5RkQxNn0uUEdJbnN0cnVtZW50fFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCisJCXtBMjY5N0JEMy0yOEMxLTRBRUMtOTEwNi04Qjc0ODYzOUZEMTZ9LlBHSW5zdHJ1bWVudHxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KKwkJe0EyNjk3QkQzLTI4QzEtNEFFQy05MTA2LThCNzQ4NjM5RkQxNn0uUEdJbnN0cnVtZW50fHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfHg2NA0KKwkJe0EyNjk3QkQzLTI4QzEtNEFFQy05MTA2LThCNzQ4NjM5RkQxNn0uUEdJbnN0cnVtZW50fHg2NC5CdWlsZC4wID0gUmVsZWFzZXx4NjQNCisJCXtBMjY5N0JEMy0yOEMxLTRBRUMtOTEwNi04Qjc0ODYzOUZEMTZ9LlBHVXBkYXRlfFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCisJCXtBMjY5N0JEMy0yOEMxLTRBRUMtOTEwNi04Qjc0ODYzOUZEMTZ9LlBHVXBkYXRlfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQorCQl7QTI2OTdCRDMtMjhDMS00QUVDLTkxMDYtOEI3NDg2MzlGRDE2fS5QR1VwZGF0ZXx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXx4NjQNCisJCXtBMjY5N0JEMy0yOEMxLTRBRUMtOTEwNi04Qjc0ODYzOUZEMTZ9LlBHVXBkYXRlfHg2NC5CdWlsZC4wID0gUmVsZWFzZXx4NjQNCiAJCXtBMjY5N0JEMy0yOEMxLTRBRUMtOTEwNi04Qjc0ODYzOUZEMTZ9LlJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KIAkJe0EyNjk3QkQzLTI4QzEtNEFFQy05MTA2LThCNzQ4NjM5RkQxNn0uUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KIAkJe0EyNjk3QkQzLTI4QzEtNEFFQy05MTA2LThCNzQ4NjM5RkQxNn0uUmVsZWFzZXx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXx4NjQNCkBAIC01NzksMzQgKzUyMCwzNCBAQAogCQl7N0IyNzI3QjUtNUEzRi00MEVFLUE4NjYtNDNBMTNDRDMxNDQ2fS5EZWJ1Z3xXaW4zMi5CdWlsZC4wID0gRGVidWd8V2luMzINCiAJCXs3QjI3MjdCNS01QTNGLTQwRUUtQTg2Ni00M0ExM0NEMzE0NDZ9LkRlYnVnfHg2NC5BY3RpdmVDZmcgPSBEZWJ1Z3x4NjQNCiAJCXs3QjI3MjdCNS01QTNGLTQwRUUtQTg2Ni00M0ExM0NEMzE0NDZ9LkRlYnVnfHg2NC5CdWlsZC4wID0gRGVidWd8eDY0DQotCQl7N0IyNzI3QjUtNUEzRi00MEVFLUE4NjYtNDNBMTNDRDMxNDQ2fS5QR0luc3RydW1lbnR8V2luMzIuQWN0aXZlQ2ZnID0gUEdJbnN0cnVtZW50fFdpbjMyDQotCQl7N0IyNzI3QjUtNUEzRi00MEVFLUE4NjYtNDNBMTNDRDMxNDQ2fS5QR0luc3RydW1lbnR8V2luMzIuQnVpbGQuMCA9IFBHSW5zdHJ1bWVudHxXaW4zMg0KLQkJezdCMjcyN0I1LTVBM0YtNDBFRS1BODY2LTQzQTEzQ0QzMTQ0Nn0uUEdJbnN0cnVtZW50fHg2NC5BY3RpdmVDZmcgPSBQR0luc3RydW1lbnR8V2luMzINCi0JCXs3QjI3MjdCNS01QTNGLTQwRUUtQTg2Ni00M0ExM0NEMzE0NDZ9LlBHSW5zdHJ1bWVudHx4NjQuQnVpbGQuMCA9IFBHSW5zdHJ1bWVudHxXaW4zMg0KLQkJezdCMjcyN0I1LTVBM0YtNDBFRS1BODY2LTQzQTEzQ0QzMTQ0Nn0uUEdVcGRhdGV8V2luMzIuQWN0aXZlQ2ZnID0gUEdVcGRhdGV8V2luMzINCi0JCXs3QjI3MjdCNS01QTNGLTQwRUUtQTg2Ni00M0ExM0NEMzE0NDZ9LlBHVXBkYXRlfFdpbjMyLkJ1aWxkLjAgPSBQR1VwZGF0ZXxXaW4zMg0KLQkJezdCMjcyN0I1LTVBM0YtNDBFRS1BODY2LTQzQTEzQ0QzMTQ0Nn0uUEdVcGRhdGV8eDY0LkFjdGl2ZUNmZyA9IFBHVXBkYXRlfFdpbjMyDQotCQl7N0IyNzI3QjUtNUEzRi00MEVFLUE4NjYtNDNBMTNDRDMxNDQ2fS5QR1VwZGF0ZXx4NjQuQnVpbGQuMCA9IFBHVXBkYXRlfFdpbjMyDQorCQl7N0IyNzI3QjUtNUEzRi00MEVFLUE4NjYtNDNBMTNDRDMxNDQ2fS5QR0luc3RydW1lbnR8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KKwkJezdCMjcyN0I1LTVBM0YtNDBFRS1BODY2LTQzQTEzQ0QzMTQ0Nn0uUEdJbnN0cnVtZW50fFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQorCQl7N0IyNzI3QjUtNUEzRi00MEVFLUE4NjYtNDNBMTNDRDMxNDQ2fS5QR0luc3RydW1lbnR8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8eDY0DQorCQl7N0IyNzI3QjUtNUEzRi00MEVFLUE4NjYtNDNBMTNDRDMxNDQ2fS5QR0luc3RydW1lbnR8eDY0LkJ1aWxkLjAgPSBSZWxlYXNlfHg2NA0KKwkJezdCMjcyN0I1LTVBM0YtNDBFRS1BODY2LTQzQTEzQ0QzMTQ0Nn0uUEdVcGRhdGV8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KKwkJezdCMjcyN0I1LTVBM0YtNDBFRS1BODY2LTQzQTEzQ0QzMTQ0Nn0uUEdVcGRhdGV8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCisJCXs3QjI3MjdCNS01QTNGLTQwRUUtQTg2Ni00M0ExM0NEMzE0NDZ9LlBHVXBkYXRlfHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfHg2NA0KKwkJezdCMjcyN0I1LTVBM0YtNDBFRS1BODY2LTQzQTEzQ0QzMTQ0Nn0uUEdVcGRhdGV8eDY0LkJ1aWxkLjAgPSBSZWxlYXNlfHg2NA0KIAkJezdCMjcyN0I1LTVBM0YtNDBFRS1BODY2LTQzQTEzQ0QzMTQ0Nn0uUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQogCQl7N0IyNzI3QjUtNUEzRi00MEVFLUE4NjYtNDNBMTNDRDMxNDQ2fS5SZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQotCQl7N0IyNzI3QjUtNUEzRi00MEVFLUE4NjYtNDNBMTNDRDMxNDQ2fS5SZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQotCQl7N0IyNzI3QjUtNUEzRi00MEVFLUE4NjYtNDNBMTNDRDMxNDQ2fS5SZWxlYXNlfHg2NC5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KKwkJezdCMjcyN0I1LTVBM0YtNDBFRS1BODY2LTQzQTEzQ0QzMTQ0Nn0uUmVsZWFzZXx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXx4NjQNCisJCXs3QjI3MjdCNS01QTNGLTQwRUUtQTg2Ni00M0ExM0NEMzE0NDZ9LlJlbGVhc2V8eDY0LkJ1aWxkLjAgPSBSZWxlYXNlfHg2NA0KIAkJezFENEIxOEQzLTdDMTItNEVDQi05MTc5LTg1MzFGRjg3NkNFNn0uRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gRGVidWd8V2luMzINCiAJCXsxRDRCMThEMy03QzEyLTRFQ0ItOTE3OS04NTMxRkY4NzZDRTZ9LkRlYnVnfFdpbjMyLkJ1aWxkLjAgPSBEZWJ1Z3xXaW4zMg0KIAkJezFENEIxOEQzLTdDMTItNEVDQi05MTc5LTg1MzFGRjg3NkNFNn0uRGVidWd8eDY0LkFjdGl2ZUNmZyA9IERlYnVnfHg2NA0KIAkJezFENEIxOEQzLTdDMTItNEVDQi05MTc5LTg1MzFGRjg3NkNFNn0uRGVidWd8eDY0LkJ1aWxkLjAgPSBEZWJ1Z3x4NjQNCi0JCXsxRDRCMThEMy03QzEyLTRFQ0ItOTE3OS04NTMxRkY4NzZDRTZ9LlBHSW5zdHJ1bWVudHxXaW4zMi5BY3RpdmVDZmcgPSBQR0luc3RydW1lbnR8V2luMzINCi0JCXsxRDRCMThEMy03QzEyLTRFQ0ItOTE3OS04NTMxRkY4NzZDRTZ9LlBHSW5zdHJ1bWVudHxXaW4zMi5CdWlsZC4wID0gUEdJbnN0cnVtZW50fFdpbjMyDQotCQl7MUQ0QjE4RDMtN0MxMi00RUNCLTkxNzktODUzMUZGODc2Q0U2fS5QR0luc3RydW1lbnR8eDY0LkFjdGl2ZUNmZyA9IFBHSW5zdHJ1bWVudHxXaW4zMg0KLQkJezFENEIxOEQzLTdDMTItNEVDQi05MTc5LTg1MzFGRjg3NkNFNn0uUEdJbnN0cnVtZW50fHg2NC5CdWlsZC4wID0gUEdJbnN0cnVtZW50fFdpbjMyDQotCQl7MUQ0QjE4RDMtN0MxMi00RUNCLTkxNzktODUzMUZGODc2Q0U2fS5QR1VwZGF0ZXxXaW4zMi5BY3RpdmVDZmcgPSBQR1VwZGF0ZXxXaW4zMg0KLQkJezFENEIxOEQzLTdDMTItNEVDQi05MTc5LTg1MzFGRjg3NkNFNn0uUEdVcGRhdGV8V2luMzIuQnVpbGQuMCA9IFBHVXBkYXRlfFdpbjMyDQotCQl7MUQ0QjE4RDMtN0MxMi00RUNCLTkxNzktODUzMUZGODc2Q0U2fS5QR1VwZGF0ZXx4NjQuQWN0aXZlQ2ZnID0gUEdVcGRhdGV8V2luMzINCi0JCXsxRDRCMThEMy03QzEyLTRFQ0ItOTE3OS04NTMxRkY4NzZDRTZ9LlBHVXBkYXRlfHg2NC5CdWlsZC4wID0gUEdVcGRhdGV8V2luMzINCisJCXsxRDRCMThEMy03QzEyLTRFQ0ItOTE3OS04NTMxRkY4NzZDRTZ9LlBHSW5zdHJ1bWVudHxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQorCQl7MUQ0QjE4RDMtN0MxMi00RUNCLTkxNzktODUzMUZGODc2Q0U2fS5QR0luc3RydW1lbnR8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCisJCXsxRDRCMThEMy03QzEyLTRFQ0ItOTE3OS04NTMxRkY4NzZDRTZ9LlBHSW5zdHJ1bWVudHx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXx4NjQNCisJCXsxRDRCMThEMy03QzEyLTRFQ0ItOTE3OS04NTMxRkY4NzZDRTZ9LlBHSW5zdHJ1bWVudHx4NjQuQnVpbGQuMCA9IFJlbGVhc2V8eDY0DQorCQl7MUQ0QjE4RDMtN0MxMi00RUNCLTkxNzktODUzMUZGODc2Q0U2fS5QR1VwZGF0ZXxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQorCQl7MUQ0QjE4RDMtN0MxMi00RUNCLTkxNzktODUzMUZGODc2Q0U2fS5QR1VwZGF0ZXxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KKwkJezFENEIxOEQzLTdDMTItNEVDQi05MTc5LTg1MzFGRjg3NkNFNn0uUEdVcGRhdGV8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8eDY0DQorCQl7MUQ0QjE4RDMtN0MxMi00RUNCLTkxNzktODUzMUZGODc2Q0U2fS5QR1VwZGF0ZXx4NjQuQnVpbGQuMCA9IFJlbGVhc2V8eDY0DQogCQl7MUQ0QjE4RDMtN0MxMi00RUNCLTkxNzktODUzMUZGODc2Q0U2fS5SZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCiAJCXsxRDRCMThEMy03QzEyLTRFQ0ItOTE3OS04NTMxRkY4NzZDRTZ9LlJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCi0JCXsxRDRCMThEMy03QzEyLTRFQ0ItOTE3OS04NTMxRkY4NzZDRTZ9LlJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCi0JCXsxRDRCMThEMy03QzEyLTRFQ0ItOTE3OS04NTMxRkY4NzZDRTZ9LlJlbGVhc2V8eDY0LkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQorCQl7MUQ0QjE4RDMtN0MxMi00RUNCLTkxNzktODUzMUZGODc2Q0U2fS5SZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfHg2NA0KKwkJezFENEIxOEQzLTdDMTItNEVDQi05MTc5LTg1MzFGRjg3NkNFNn0uUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFJlbGVhc2V8eDY0DQogCQl7MTlDMEMxM0YtNDdDQS00NDMyLUFGRjMtNzk5QTI5NkE0RERDfS5EZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBEZWJ1Z3xXaW4zMg0KIAkJezE5QzBDMTNGLTQ3Q0EtNDQzMi1BRkYzLTc5OUEyOTZBNEREQ30uRGVidWd8eDY0LkFjdGl2ZUNmZyA9IERlYnVnfHg2NA0KIAkJezE5QzBDMTNGLTQ3Q0EtNDQzMi1BRkYzLTc5OUEyOTZBNEREQ30uUEdJbnN0cnVtZW50fFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCkBAIC02MTQsNyArNTU1LDkgQEAKIAkJezE5QzBDMTNGLTQ3Q0EtNDQzMi1BRkYzLTc5OUEyOTZBNEREQ30uUEdVcGRhdGV8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KIAkJezE5QzBDMTNGLTQ3Q0EtNDQzMi1BRkYzLTc5OUEyOTZBNEREQ30uUEdVcGRhdGV8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCiAJCXsxOUMwQzEzRi00N0NBLTQ0MzItQUZGMy03OTlBMjk2QTREREN9LlJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KKwkJezE5QzBDMTNGLTQ3Q0EtNDQzMi1BRkYzLTc5OUEyOTZBNEREQ30uUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KIAkJezE5QzBDMTNGLTQ3Q0EtNDQzMi1BRkYzLTc5OUEyOTZBNEREQ30uUmVsZWFzZXx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXx4NjQNCisJCXsxOUMwQzEzRi00N0NBLTQ0MzItQUZGMy03OTlBMjk2QTREREN9LlJlbGVhc2V8eDY0LkJ1aWxkLjAgPSBSZWxlYXNlfHg2NA0KIAkJe0VCNkU2OURELTA0QkYtNDU0My05QjkyLTQ5RkFBQkNFQUMyRX0uRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gRGVidWd8V2luMzINCiAJCXtFQjZFNjlERC0wNEJGLTQ1NDMtOUI5Mi00OUZBQUJDRUFDMkV9LkRlYnVnfFdpbjMyLkJ1aWxkLjAgPSBEZWJ1Z3xXaW4zMg0KIAkJe0VCNkU2OURELTA0QkYtNDU0My05QjkyLTQ5RkFBQkNFQUMyRX0uRGVidWd8eDY0LkFjdGl2ZUNmZyA9IERlYnVnfHg2NA0KQEAgLTY0NSw2ICs1ODgsODYgQEAKIAkJezZEQUM2NkQ5LUU3MDMtNDYyNC1CRTAzLTQ5MTEyQUI1QUE2Mn0uUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KIAkJezZEQUM2NkQ5LUU3MDMtNDYyNC1CRTAzLTQ5MTEyQUI1QUE2Mn0uUmVsZWFzZXx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXx4NjQNCiAJCXs2REFDNjZEOS1FNzAzLTQ2MjQtQkUwMy00OTExMkFCNUFBNjJ9LlJlbGVhc2V8eDY0LkJ1aWxkLjAgPSBSZWxlYXNlfHg2NA0KKwkJe0I1RkQ2RjFELTEyOUUtNEJGRi05MzQwLTAzNjA2RkFDNzI4M30uRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gRGVidWd8V2luMzINCisJCXtCNUZENkYxRC0xMjlFLTRCRkYtOTM0MC0wMzYwNkZBQzcyODN9LkRlYnVnfFdpbjMyLkJ1aWxkLjAgPSBEZWJ1Z3xXaW4zMg0KKwkJe0I1RkQ2RjFELTEyOUUtNEJGRi05MzQwLTAzNjA2RkFDNzI4M30uRGVidWd8eDY0LkFjdGl2ZUNmZyA9IERlYnVnfHg2NA0KKwkJe0I1RkQ2RjFELTEyOUUtNEJGRi05MzQwLTAzNjA2RkFDNzI4M30uRGVidWd8eDY0LkJ1aWxkLjAgPSBEZWJ1Z3x4NjQNCisJCXtCNUZENkYxRC0xMjlFLTRCRkYtOTM0MC0wMzYwNkZBQzcyODN9LlBHSW5zdHJ1bWVudHxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQorCQl7QjVGRDZGMUQtMTI5RS00QkZGLTkzNDAtMDM2MDZGQUM3MjgzfS5QR0luc3RydW1lbnR8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCisJCXtCNUZENkYxRC0xMjlFLTRCRkYtOTM0MC0wMzYwNkZBQzcyODN9LlBHSW5zdHJ1bWVudHx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXx4NjQNCisJCXtCNUZENkYxRC0xMjlFLTRCRkYtOTM0MC0wMzYwNkZBQzcyODN9LlBHSW5zdHJ1bWVudHx4NjQuQnVpbGQuMCA9IFJlbGVhc2V8eDY0DQorCQl7QjVGRDZGMUQtMTI5RS00QkZGLTkzNDAtMDM2MDZGQUM3MjgzfS5QR1VwZGF0ZXxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQorCQl7QjVGRDZGMUQtMTI5RS00QkZGLTkzNDAtMDM2MDZGQUM3MjgzfS5QR1VwZGF0ZXxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KKwkJe0I1RkQ2RjFELTEyOUUtNEJGRi05MzQwLTAzNjA2RkFDNzI4M30uUEdVcGRhdGV8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8eDY0DQorCQl7QjVGRDZGMUQtMTI5RS00QkZGLTkzNDAtMDM2MDZGQUM3MjgzfS5QR1VwZGF0ZXx4NjQuQnVpbGQuMCA9IFJlbGVhc2V8eDY0DQorCQl7QjVGRDZGMUQtMTI5RS00QkZGLTkzNDAtMDM2MDZGQUM3MjgzfS5SZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCisJCXtCNUZENkYxRC0xMjlFLTRCRkYtOTM0MC0wMzYwNkZBQzcyODN9LlJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCisJCXtCNUZENkYxRC0xMjlFLTRCRkYtOTM0MC0wMzYwNkZBQzcyODN9LlJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8eDY0DQorCQl7QjVGRDZGMUQtMTI5RS00QkZGLTkzNDAtMDM2MDZGQUM3MjgzfS5SZWxlYXNlfHg2NC5CdWlsZC4wID0gUmVsZWFzZXx4NjQNCisJCXtDNUEzRTdGQi05Njk1LTRCMkUtOTYwQi0xRDlGNDNGMUU1NTV9LkRlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9IERlYnVnfFdpbjMyDQorCQl7QzVBM0U3RkItOTY5NS00QjJFLTk2MEItMUQ5RjQzRjFFNTU1fS5EZWJ1Z3xXaW4zMi5CdWlsZC4wID0gRGVidWd8V2luMzINCisJCXtDNUEzRTdGQi05Njk1LTRCMkUtOTYwQi0xRDlGNDNGMUU1NTV9LkRlYnVnfHg2NC5BY3RpdmVDZmcgPSBEZWJ1Z3x4NjQNCisJCXtDNUEzRTdGQi05Njk1LTRCMkUtOTYwQi0xRDlGNDNGMUU1NTV9LkRlYnVnfHg2NC5CdWlsZC4wID0gRGVidWd8eDY0DQorCQl7QzVBM0U3RkItOTY5NS00QjJFLTk2MEItMUQ5RjQzRjFFNTU1fS5QR0luc3RydW1lbnR8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KKwkJe0M1QTNFN0ZCLTk2OTUtNEIyRS05NjBCLTFEOUY0M0YxRTU1NX0uUEdJbnN0cnVtZW50fFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQorCQl7QzVBM0U3RkItOTY5NS00QjJFLTk2MEItMUQ5RjQzRjFFNTU1fS5QR0luc3RydW1lbnR8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8eDY0DQorCQl7QzVBM0U3RkItOTY5NS00QjJFLTk2MEItMUQ5RjQzRjFFNTU1fS5QR0luc3RydW1lbnR8eDY0LkJ1aWxkLjAgPSBSZWxlYXNlfHg2NA0KKwkJe0M1QTNFN0ZCLTk2OTUtNEIyRS05NjBCLTFEOUY0M0YxRTU1NX0uUEdVcGRhdGV8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KKwkJe0M1QTNFN0ZCLTk2OTUtNEIyRS05NjBCLTFEOUY0M0YxRTU1NX0uUEdVcGRhdGV8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCisJCXtDNUEzRTdGQi05Njk1LTRCMkUtOTYwQi0xRDlGNDNGMUU1NTV9LlBHVXBkYXRlfHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfHg2NA0KKwkJe0M1QTNFN0ZCLTk2OTUtNEIyRS05NjBCLTFEOUY0M0YxRTU1NX0uUEdVcGRhdGV8eDY0LkJ1aWxkLjAgPSBSZWxlYXNlfHg2NA0KKwkJe0M1QTNFN0ZCLTk2OTUtNEIyRS05NjBCLTFEOUY0M0YxRTU1NX0uUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQorCQl7QzVBM0U3RkItOTY5NS00QjJFLTk2MEItMUQ5RjQzRjFFNTU1fS5SZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQorCQl7QzVBM0U3RkItOTY5NS00QjJFLTk2MEItMUQ5RjQzRjFFNTU1fS5SZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfHg2NA0KKwkJe0M1QTNFN0ZCLTk2OTUtNEIyRS05NjBCLTFEOUY0M0YxRTU1NX0uUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFJlbGVhc2V8eDY0DQorCQl7N0U4NUVDQ0YtQTcyQy00REE0LTlFNTItODg0NTA4RTgwQkExfS5EZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBEZWJ1Z3xXaW4zMg0KKwkJezdFODVFQ0NGLUE3MkMtNERBNC05RTUyLTg4NDUwOEU4MEJBMX0uRGVidWd8V2luMzIuQnVpbGQuMCA9IERlYnVnfFdpbjMyDQorCQl7N0U4NUVDQ0YtQTcyQy00REE0LTlFNTItODg0NTA4RTgwQkExfS5EZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gRGVidWd8eDY0DQorCQl7N0U4NUVDQ0YtQTcyQy00REE0LTlFNTItODg0NTA4RTgwQkExfS5EZWJ1Z3x4NjQuQnVpbGQuMCA9IERlYnVnfHg2NA0KKwkJezdFODVFQ0NGLUE3MkMtNERBNC05RTUyLTg4NDUwOEU4MEJBMX0uUEdJbnN0cnVtZW50fFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCisJCXs3RTg1RUNDRi1BNzJDLTREQTQtOUU1Mi04ODQ1MDhFODBCQTF9LlBHSW5zdHJ1bWVudHxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KKwkJezdFODVFQ0NGLUE3MkMtNERBNC05RTUyLTg4NDUwOEU4MEJBMX0uUEdJbnN0cnVtZW50fHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfHg2NA0KKwkJezdFODVFQ0NGLUE3MkMtNERBNC05RTUyLTg4NDUwOEU4MEJBMX0uUEdJbnN0cnVtZW50fHg2NC5CdWlsZC4wID0gUmVsZWFzZXx4NjQNCisJCXs3RTg1RUNDRi1BNzJDLTREQTQtOUU1Mi04ODQ1MDhFODBCQTF9LlBHVXBkYXRlfFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCisJCXs3RTg1RUNDRi1BNzJDLTREQTQtOUU1Mi04ODQ1MDhFODBCQTF9LlBHVXBkYXRlfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQorCQl7N0U4NUVDQ0YtQTcyQy00REE0LTlFNTItODg0NTA4RTgwQkExfS5QR1VwZGF0ZXx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXx4NjQNCisJCXs3RTg1RUNDRi1BNzJDLTREQTQtOUU1Mi04ODQ1MDhFODBCQTF9LlBHVXBkYXRlfHg2NC5CdWlsZC4wID0gUmVsZWFzZXx4NjQNCisJCXs3RTg1RUNDRi1BNzJDLTREQTQtOUU1Mi04ODQ1MDhFODBCQTF9LlJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KKwkJezdFODVFQ0NGLUE3MkMtNERBNC05RTUyLTg4NDUwOEU4MEJBMX0uUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KKwkJezdFODVFQ0NGLUE3MkMtNERBNC05RTUyLTg4NDUwOEU4MEJBMX0uUmVsZWFzZXx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXx4NjQNCisJCXs3RTg1RUNDRi1BNzJDLTREQTQtOUU1Mi04ODQ1MDhFODBCQTF9LlJlbGVhc2V8eDY0LkJ1aWxkLjAgPSBSZWxlYXNlfHg2NA0KKwkJe0U1QjA0Q0MwLUVCNEMtNDJBQi1CNERDLTE4RUY5NUY4NjRCMH0uRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gRGVidWd8V2luMzINCisJCXtFNUIwNENDMC1FQjRDLTQyQUItQjREQy0xOEVGOTVGODY0QjB9LkRlYnVnfFdpbjMyLkJ1aWxkLjAgPSBEZWJ1Z3xXaW4zMg0KKwkJe0U1QjA0Q0MwLUVCNEMtNDJBQi1CNERDLTE4RUY5NUY4NjRCMH0uRGVidWd8eDY0LkFjdGl2ZUNmZyA9IERlYnVnfHg2NA0KKwkJe0U1QjA0Q0MwLUVCNEMtNDJBQi1CNERDLTE4RUY5NUY4NjRCMH0uRGVidWd8eDY0LkJ1aWxkLjAgPSBEZWJ1Z3x4NjQNCisJCXtFNUIwNENDMC1FQjRDLTQyQUItQjREQy0xOEVGOTVGODY0QjB9LlBHSW5zdHJ1bWVudHxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQorCQl7RTVCMDRDQzAtRUI0Qy00MkFCLUI0REMtMThFRjk1Rjg2NEIwfS5QR0luc3RydW1lbnR8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCisJCXtFNUIwNENDMC1FQjRDLTQyQUItQjREQy0xOEVGOTVGODY0QjB9LlBHSW5zdHJ1bWVudHx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXx4NjQNCisJCXtFNUIwNENDMC1FQjRDLTQyQUItQjREQy0xOEVGOTVGODY0QjB9LlBHSW5zdHJ1bWVudHx4NjQuQnVpbGQuMCA9IFJlbGVhc2V8eDY0DQorCQl7RTVCMDRDQzAtRUI0Qy00MkFCLUI0REMtMThFRjk1Rjg2NEIwfS5QR1VwZGF0ZXxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQorCQl7RTVCMDRDQzAtRUI0Qy00MkFCLUI0REMtMThFRjk1Rjg2NEIwfS5QR1VwZGF0ZXxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KKwkJe0U1QjA0Q0MwLUVCNEMtNDJBQi1CNERDLTE4RUY5NUY4NjRCMH0uUEdVcGRhdGV8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8eDY0DQorCQl7RTVCMDRDQzAtRUI0Qy00MkFCLUI0REMtMThFRjk1Rjg2NEIwfS5QR1VwZGF0ZXx4NjQuQnVpbGQuMCA9IFJlbGVhc2V8eDY0DQorCQl7RTVCMDRDQzAtRUI0Qy00MkFCLUI0REMtMThFRjk1Rjg2NEIwfS5SZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCisJCXtFNUIwNENDMC1FQjRDLTQyQUItQjREQy0xOEVGOTVGODY0QjB9LlJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCisJCXtFNUIwNENDMC1FQjRDLTQyQUItQjREQy0xOEVGOTVGODY0QjB9LlJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8eDY0DQorCQl7RTVCMDRDQzAtRUI0Qy00MkFCLUI0REMtMThFRjk1Rjg2NEIwfS5SZWxlYXNlfHg2NC5CdWlsZC4wID0gUmVsZWFzZXx4NjQNCisJCXsxMDYxNUIyNC03M0JGLTRFRkEtOTNBQS0yMzY5MTYzMjEzMTd9LkRlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9IERlYnVnfFdpbjMyDQorCQl7MTA2MTVCMjQtNzNCRi00RUZBLTkzQUEtMjM2OTE2MzIxMzE3fS5EZWJ1Z3xXaW4zMi5CdWlsZC4wID0gRGVidWd8V2luMzINCisJCXsxMDYxNUIyNC03M0JGLTRFRkEtOTNBQS0yMzY5MTYzMjEzMTd9LkRlYnVnfHg2NC5BY3RpdmVDZmcgPSBEZWJ1Z3x4NjQNCisJCXsxMDYxNUIyNC03M0JGLTRFRkEtOTNBQS0yMzY5MTYzMjEzMTd9LkRlYnVnfHg2NC5CdWlsZC4wID0gRGVidWd8eDY0DQorCQl7MTA2MTVCMjQtNzNCRi00RUZBLTkzQUEtMjM2OTE2MzIxMzE3fS5QR0luc3RydW1lbnR8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KKwkJezEwNjE1QjI0LTczQkYtNEVGQS05M0FBLTIzNjkxNjMyMTMxN30uUEdJbnN0cnVtZW50fFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQorCQl7MTA2MTVCMjQtNzNCRi00RUZBLTkzQUEtMjM2OTE2MzIxMzE3fS5QR0luc3RydW1lbnR8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8eDY0DQorCQl7MTA2MTVCMjQtNzNCRi00RUZBLTkzQUEtMjM2OTE2MzIxMzE3fS5QR0luc3RydW1lbnR8eDY0LkJ1aWxkLjAgPSBSZWxlYXNlfHg2NA0KKwkJezEwNjE1QjI0LTczQkYtNEVGQS05M0FBLTIzNjkxNjMyMTMxN30uUEdVcGRhdGV8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KKwkJezEwNjE1QjI0LTczQkYtNEVGQS05M0FBLTIzNjkxNjMyMTMxN30uUEdVcGRhdGV8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCisJCXsxMDYxNUIyNC03M0JGLTRFRkEtOTNBQS0yMzY5MTYzMjEzMTd9LlBHVXBkYXRlfHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfHg2NA0KKwkJezEwNjE1QjI0LTczQkYtNEVGQS05M0FBLTIzNjkxNjMyMTMxN30uUEdVcGRhdGV8eDY0LkJ1aWxkLjAgPSBSZWxlYXNlfHg2NA0KKwkJezEwNjE1QjI0LTczQkYtNEVGQS05M0FBLTIzNjkxNjMyMTMxN30uUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQorCQl7MTA2MTVCMjQtNzNCRi00RUZBLTkzQUEtMjM2OTE2MzIxMzE3fS5SZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQorCQl7MTA2MTVCMjQtNzNCRi00RUZBLTkzQUEtMjM2OTE2MzIxMzE3fS5SZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfHg2NA0KKwkJezEwNjE1QjI0LTczQkYtNEVGQS05M0FBLTIzNjkxNjMyMTMxN30uUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFJlbGVhc2V8eDY0DQogCUVuZEdsb2JhbFNlY3Rpb24NCiAJR2xvYmFsU2VjdGlvbihTb2x1dGlvblByb3BlcnRpZXMpID0gcHJlU29sdXRpb24NCiAJCUhpZGVTb2x1dGlvbk5vZGUgPSBGQUxTRQ0KZGlmZiAtLWdpdCBhL1BDYnVpbGQvcGdpbnN0cnVtZW50LnByb3BzIGIvUENidWlsZC9wZ2luc3RydW1lbnQucHJvcHMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDU1ODQ5OTUuLjAwMDAwMDAKLS0tIGEvUENidWlsZC9wZ2luc3RydW1lbnQucHJvcHMKKysrIC9kZXYvbnVsbApAQCAtMSwzOCArMCwwIEBACi3vu788P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgotPFByb2plY3QgRGVmYXVsdFRhcmdldHM9IkJ1aWxkIiBUb29sc1ZlcnNpb249IjQuMCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+Ci0gIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJVc2VyTWFjcm9zIj4KLSAgICA8T3V0RGlyUEdJPiQoU29sdXRpb25EaXIpJChQbGF0Zm9ybSktcGdpXDwvT3V0RGlyUEdJPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwPgotICAgIDxfUHJvamVjdEZpbGVWZXJzaW9uPjEwLjAuMzAzMTkuMTwvX1Byb2plY3RGaWxlVmVyc2lvbj4KLSAgICA8T3V0RGlyPiQoT3V0RGlyUEdJKVw8L091dERpcj4KLSAgICA8SW50RGlyPiQoU29sdXRpb25EaXIpJChQbGF0Zm9ybU5hbWUpLXRlbXAtcGdpXCQoUHJvamVjdE5hbWUpXDwvSW50RGlyPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8T3B0aW1pemF0aW9uPk1heFNwZWVkPC9PcHRpbWl6YXRpb24+Ci0gICAgICA8SW5saW5lRnVuY3Rpb25FeHBhbnNpb24+T25seUV4cGxpY2l0SW5saW5lPC9JbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj4KLSAgICAgIDxJbnRyaW5zaWNGdW5jdGlvbnM+ZmFsc2U8L0ludHJpbnNpY0Z1bmN0aW9ucz4KLSAgICAgIDxGYXZvclNpemVPclNwZWVkPlNpemU8L0Zhdm9yU2l6ZU9yU3BlZWQ+Ci0gICAgICA8T21pdEZyYW1lUG9pbnRlcnM+dHJ1ZTwvT21pdEZyYW1lUG9pbnRlcnM+Ci0gICAgICA8RW5hYmxlRmliZXJTYWZlT3B0aW1pemF0aW9ucz5mYWxzZTwvRW5hYmxlRmliZXJTYWZlT3B0aW1pemF0aW9ucz4KLSAgICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICAgICAgPFN0cmluZ1Bvb2xpbmc+dHJ1ZTwvU3RyaW5nUG9vbGluZz4KLSAgICAgIDxFeGNlcHRpb25IYW5kbGluZz4KLSAgICAgIDwvRXhjZXB0aW9uSGFuZGxpbmc+Ci0gICAgICA8QnVmZmVyU2VjdXJpdHlDaGVjaz5mYWxzZTwvQnVmZmVyU2VjdXJpdHlDaGVjaz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8TGluaz4KLSAgICAgIDxPcHRpbWl6ZVJlZmVyZW5jZXM+dHJ1ZTwvT3B0aW1pemVSZWZlcmVuY2VzPgotICAgICAgPEVuYWJsZUNPTURBVEZvbGRpbmc+ZmFsc2U8L0VuYWJsZUNPTURBVEZvbGRpbmc+Ci0gICAgICA8TGlua1RpbWVDb2RlR2VuZXJhdGlvbj5QR0luc3RydW1lbnQ8L0xpbmtUaW1lQ29kZUdlbmVyYXRpb24+Ci0gICAgICA8UHJvZmlsZUd1aWRlZERhdGFiYXNlPiQoU29sdXRpb25EaXIpJChQbGF0Zm9ybSktcGdpXCQoVGFyZ2V0TmFtZSkucGdkPC9Qcm9maWxlR3VpZGVkRGF0YWJhc2U+Ci0gICAgICA8SW1wb3J0TGlicmFyeT4kKE91dERpclBHSSlcJChUYXJnZXROYW1lKS5saWI8L0ltcG9ydExpYnJhcnk+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtR3JvdXA+Ci0gICAgPEJ1aWxkTWFjcm8gSW5jbHVkZT0iT3V0RGlyUEdJIj4KLSAgICAgIDxWYWx1ZT4kKE91dERpclBHSSk8L1ZhbHVlPgotICAgIDwvQnVpbGRNYWNybz4KLSAgPC9JdGVtR3JvdXA+Ci08L1Byb2plY3Q+CmRpZmYgLS1naXQgYS9QQ2J1aWxkL3BndXBkYXRlLnByb3BzIGIvUENidWlsZC9wZ3VwZGF0ZS5wcm9wcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDc3NWEwMi4uMDAwMDAwMAotLS0gYS9QQ2J1aWxkL3BndXBkYXRlLnByb3BzCisrKyAvZGV2L251bGwKQEAgLTEsMTcgKzAsMCBAQAot77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KLTxQcm9qZWN0IERlZmF1bHRUYXJnZXRzPSJCdWlsZCIgVG9vbHNWZXJzaW9uPSI0LjAiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgotICA8SW1wb3J0R3JvdXAgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoU29sdXRpb25EaXIpXHBnaW5zdHJ1bWVudC5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPFByb3BlcnR5R3JvdXA+Ci0gICAgPF9Qcm9qZWN0RmlsZVZlcnNpb24+MTAuMC4zMDMxOS4xPC9fUHJvamVjdEZpbGVWZXJzaW9uPgotICAgIDxPdXREaXI+JChTb2x1dGlvbkRpcikkKFBsYXRmb3JtTmFtZSktcGdvXDwvT3V0RGlyPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwPgotICAgIDxMaW5rPgotICAgICAgPEFkZGl0aW9uYWxNYW5pZmVzdERlcGVuZGVuY2llcz4lKEFkZGl0aW9uYWxNYW5pZmVzdERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxNYW5pZmVzdERlcGVuZGVuY2llcz4KLSAgICAgIDxMaW5rVGltZUNvZGVHZW5lcmF0aW9uPlBHVXBkYXRlPC9MaW5rVGltZUNvZGVHZW5lcmF0aW9uPgotICAgICAgPEltcG9ydExpYnJhcnk+JChPdXREaXIpJChUYXJnZXROYW1lKS5saWI8L0ltcG9ydExpYnJhcnk+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci08L1Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvUENidWlsZC9wcmVwYXJlX3NzbC5iYXQgYi9QQ2J1aWxkL3ByZXBhcmVfc3NsLmJhdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jYjA2NTAwCi0tLSAvZGV2L251bGwKKysrIGIvUENidWlsZC9wcmVwYXJlX3NzbC5iYXQKQEAgLTAsMCArMSwxMiBAQAorQGVjaG8gb2ZmCitpZiBub3QgZGVmaW5lZCBIT1NUX1BZVEhPTiAoCisgIGlmICUxIEVRVSBEZWJ1ZyAoCisgICAgc2hpZnQKKyAgICBzZXQgSE9TVF9QWVRIT049cHl0aG9uX2QuZXhlCisgICAgaWYgbm90IGV4aXN0IHB5dGhvbjM1X2QuZGxsIGV4aXQgMQorICApIEVMU0UgKAorICAgIHNldCBIT1NUX1BZVEhPTj1weXRob24uZXhlCisgICAgaWYgbm90IGV4aXN0IHB5dGhvbjM1LmRsbCBleGl0IDEKKyAgKQorKQorJUhPU1RfUFlUSE9OJSBwcmVwYXJlX3NzbC5weSAlMQpkaWZmIC0tZ2l0IGEvUENidWlsZC9wcmVwYXJlX3NzbC5weSBiL1BDYnVpbGQvcHJlcGFyZV9zc2wucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTk5YzRlZgotLS0gL2Rldi9udWxsCisrKyBiL1BDYnVpbGQvcHJlcGFyZV9zc2wucHkKQEAgLTAsMCArMSwyNDAgQEAKKyMgU2NyaXB0IGZvciBwcmVwYXJpbmcgT3BlblNTTCBmb3IgYnVpbGRpbmcgb24gV2luZG93cy4KKyMgVXNlcyBQZXJsIHRvIGNyZWF0ZSBubWFrZSBtYWtlZmlsZXMgYW5kIG90aGVyd2lzZSBwcmVwYXJlIHRoZSB3YXkKKyMgZm9yIGJ1aWxkaW5nIG9uIDMyIG9yIDY0IGJpdCBwbGF0Zm9ybXMuCisKKyMgU2NyaXB0IG9yaWdpbmFsbHkgYXV0aG9yZWQgYnkgTWFyayBIYW1tb25kLgorIyBNYWpvciByZXZpc2lvbnMgYnk6CisjICAgTWFydGluIHYuIEzDtndpcworIyAgIENocmlzdGlhbiBIZWltZXMKKyMgICBaYWNoYXJ5IFdhcmUKKworIyBUSEVPUkVUSUNBTExZLCB5b3UgY2FuOgorIyAqIFVucGFjayB0aGUgbGF0ZXN0IE9wZW5TU0wgcmVsZWFzZSB3aGVyZSAkKG9wZW5zc2xEaXIpIGluCisjICAgUENidWlsZFxweXByb2plY3QucHJvcHMgZXhwZWN0cyBpdCB0byBiZS4KKyMgKiBJbnN0YWxsIEFjdGl2ZVBlcmwgYW5kIGVuc3VyZSBpdCBpcyBzb21ld2hlcmUgb24geW91ciBwYXRoLgorIyAqIFJ1biB0aGlzIHNjcmlwdCB3aXRoIHRoZSBPcGVuU1NMIHNvdXJjZSBkaXIgYXMgdGhlIG9ubHkgYXJndW1lbnQuCisjCisjIGl0IHNob3VsZCBjb25maWd1cmUgT3BlblNTTCBzdWNoIHRoYXQgaXQgaXMgcmVhZHkgdG8gYmUgYnVpbHQgYnkKKyMgc3NsLnZjeHByb2ogb24gMzIgb3IgNjQgYml0IHBsYXRmb3Jtcy4KKworaW1wb3J0IG9zCitpbXBvcnQgcmUKK2ltcG9ydCBzeXMKK2ltcG9ydCBzaHV0aWwKK2ltcG9ydCBzdWJwcm9jZXNzCisKKyMgRmluZCBhbGwgImZvby5leGUiIGZpbGVzIG9uIHRoZSBQQVRILgorZGVmIGZpbmRfYWxsX29uX3BhdGgoZmlsZW5hbWUsIGV4dHJhcyA9IE5vbmUpOgorICAgIGVudHJpZXMgPSBvcy5lbnZpcm9uWyJQQVRIIl0uc3BsaXQob3MucGF0aHNlcCkKKyAgICByZXQgPSBbXQorICAgIGZvciBwIGluIGVudHJpZXM6CisgICAgICAgIGZuYW1lID0gb3MucGF0aC5hYnNwYXRoKG9zLnBhdGguam9pbihwLCBmaWxlbmFtZSkpCisgICAgICAgIGlmIG9zLnBhdGguaXNmaWxlKGZuYW1lKSBhbmQgZm5hbWUgbm90IGluIHJldDoKKyAgICAgICAgICAgIHJldC5hcHBlbmQoZm5hbWUpCisgICAgaWYgZXh0cmFzOgorICAgICAgICBmb3IgcCBpbiBleHRyYXM6CisgICAgICAgICAgICBmbmFtZSA9IG9zLnBhdGguYWJzcGF0aChvcy5wYXRoLmpvaW4ocCwgZmlsZW5hbWUpKQorICAgICAgICAgICAgaWYgb3MucGF0aC5pc2ZpbGUoZm5hbWUpIGFuZCBmbmFtZSBub3QgaW4gcmV0OgorICAgICAgICAgICAgICAgIHJldC5hcHBlbmQoZm5hbWUpCisgICAgcmV0dXJuIHJldAorCisjIEZpbmQgYSBzdWl0YWJsZSBQZXJsIGluc3RhbGxhdGlvbiBmb3IgT3BlblNTTC4KKyMgY3lnd2luIHBlcmwgZG9lcyAqbm90KiB3b3JrLiAgQWN0aXZlUGVybCBkb2VzLgorIyBCZWluZyBhIFBlcmwgZHVtbXksIHRoZSBzaW1wbGVzdCB3YXkgSSBjYW4gY2hlY2sgaXMgaWYgdGhlICJXaW4zMiIgcGFja2FnZQorIyBpcyBhdmFpbGFibGUuCitkZWYgZmluZF93b3JraW5nX3BlcmwocGVybHMpOgorICAgIGZvciBwZXJsIGluIHBlcmxzOgorICAgICAgICB0cnk6CisgICAgICAgICAgICBzdWJwcm9jZXNzLmNoZWNrX291dHB1dChbcGVybCwgIi1lIiwgInVzZSBXaW4zMjsiXSkKKyAgICAgICAgZXhjZXB0IHN1YnByb2Nlc3MuQ2FsbGVkUHJvY2Vzc0Vycm9yOgorICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHJldHVybiBwZXJsCisKKyAgICBpZiBwZXJsczoKKyAgICAgICAgcHJpbnQoIlRoZSBmb2xsb3dpbmcgcGVybCBpbnRlcnByZXRlcnMgd2VyZSBmb3VuZDoiKQorICAgICAgICBmb3IgcCBpbiBwZXJsczoKKyAgICAgICAgICAgIHByaW50KCIgIiwgcCkKKyAgICAgICAgcHJpbnQoIiBOb25lIG9mIHRoZXNlIHZlcnNpb25zIGFwcGVhciBzdWl0YWJsZSBmb3IgYnVpbGRpbmcgT3BlblNTTCIpCisgICAgZWxzZToKKyAgICAgICAgcHJpbnQoIk5PIHBlcmwgaW50ZXJwcmV0ZXJzIHdlcmUgZm91bmQgb24gdGhpcyBtYWNoaW5lIGF0IGFsbCEiKQorICAgIHByaW50KCIgUGxlYXNlIGluc3RhbGwgQWN0aXZlUGVybCBhbmQgZW5zdXJlIGl0IGFwcGVhcnMgb24geW91ciBwYXRoIikKKworZGVmIGNyZWF0ZV9tYWtlZmlsZTY0KG1ha2VmaWxlLCBtMzIpOgorICAgICIiIkNyZWF0ZSBhbmQgZml4IG1ha2VmaWxlIGZvciA2NGJpdAorCisgICAgUmVwbGFjZSAzMiB3aXRoIDY0Yml0IGRpcmVjdG9yaWVzCisgICAgIiIiCisgICAgaWYgbm90IG9zLnBhdGguaXNmaWxlKG0zMik6CisgICAgICAgIHJldHVybgorICAgIHdpdGggb3BlbihtMzIpIGFzIGZpbjoKKyAgICAgICAgd2l0aCBvcGVuKG1ha2VmaWxlLCAndycpIGFzIGZvdXQ6CisgICAgICAgICAgICBmb3IgbGluZSBpbiBmaW46CisgICAgICAgICAgICAgICAgbGluZSA9IGxpbmUucmVwbGFjZSgiPXRtcDMyIiwgIj10bXA2NCIpCisgICAgICAgICAgICAgICAgbGluZSA9IGxpbmUucmVwbGFjZSgiPW91dDMyIiwgIj1vdXQ2NCIpCisgICAgICAgICAgICAgICAgbGluZSA9IGxpbmUucmVwbGFjZSgiPWluYzMyIiwgIj1pbmM2NCIpCisgICAgICAgICAgICAgICAgIyBmb3JjZSA2NCBiaXQgbWFjaGluZQorICAgICAgICAgICAgICAgIGxpbmUgPSBsaW5lLnJlcGxhY2UoIk1LTElCPWxpYiIsICJNS0xJQj1saWIgL01BQ0hJTkU6WDY0IikKKyAgICAgICAgICAgICAgICBsaW5lID0gbGluZS5yZXBsYWNlKCJMRkxBR1M9IiwgIkxGTEFHUz0vTUFDSElORTpYNjQgIikKKyAgICAgICAgICAgICAgICAjIGRvbid0IGxpbmsgYWdhaW5zdCB0aGUgbGliIG9uIDY0Yml0IHN5c3RlbXMKKyAgICAgICAgICAgICAgICBsaW5lID0gbGluZS5yZXBsYWNlKCJidWZmZXJvdmVyZmxvd3UubGliIiwgIiIpCisgICAgICAgICAgICAgICAgZm91dC53cml0ZShsaW5lKQorICAgIG9zLnVubGluayhtMzIpCisKK2RlZiBjcmVhdGVfYXNtcyhtYWtlZmlsZSk6CisgICAgI2NyZWF0ZSBhIGN1c3RvbSBtYWtlZmlsZSBvdXQgb2YgdGhlIHByb3ZpZGVkIG9uZQorICAgIGFzbV9tYWtlZmlsZSA9IG9zLnBhdGguc3BsaXRleHQobWFrZWZpbGUpWzBdICsgJy5hc20ubWFrJworICAgIHdpdGggb3BlbihtYWtlZmlsZSkgYXMgZmluOgorICAgICAgICB3aXRoIG9wZW4oYXNtX21ha2VmaWxlLCAndycpIGFzIGZvdXQ6CisgICAgICAgICAgICBmb3IgbGluZSBpbiBmaW46CisgICAgICAgICAgICAgICAgIyBLZWVwIGV2ZXJ5dGhpbmcgdXAgdG8gdGhlIGluc3RhbGwgdGFyZ2V0IChpdCdzIGNvbnZlbmllbnQpCisgICAgICAgICAgICAgICAgaWYgbGluZS5zdGFydHN3aXRoKCdpbnN0YWxsOiBhbGwnKToKKyAgICAgICAgICAgICAgICAgICAgYnJlYWsKKyAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICBmb3V0LndyaXRlKGxpbmUpCisgICAgICAgICAgICBhc21zID0gW10KKyAgICAgICAgICAgIGZvciBsaW5lIGluIGZpbjoKKyAgICAgICAgICAgICAgICBpZiAnLmFzbScgaW4gbGluZSBhbmQgbGluZS5zdHJpcCgpLmVuZHN3aXRoKCcucGwnKToKKyAgICAgICAgICAgICAgICAgICAgYXNtcy5hcHBlbmQobGluZS5zcGxpdCgnOicpWzBdKQorICAgICAgICAgICAgICAgICAgICB3aGlsZSBsaW5lLnN0cmlwKCk6CisgICAgICAgICAgICAgICAgICAgICAgICBmb3V0LndyaXRlKGxpbmUpCisgICAgICAgICAgICAgICAgICAgICAgICBsaW5lID0gbmV4dChmaW4pCisgICAgICAgICAgICAgICAgICAgIGZvdXQud3JpdGUoJ1xuJykKKworICAgICAgICAgICAgZm91dC53cml0ZSgnYXNtczogJChUTVBfRCkgJykKKyAgICAgICAgICAgIGZvdXQud3JpdGUoJyAnLmpvaW4oYXNtcykpCisgICAgICAgICAgICBmb3V0LndyaXRlKCdcbicpCisKKyAgICBvcy5zeXN0ZW0oJ25tYWtlIC9mIHt9IFBFUkw9cGVybCBhc21zJy5mb3JtYXQoYXNtX21ha2VmaWxlKSkKKyAgICBvcy51bmxpbmsoYXNtX21ha2VmaWxlKQorCisKKworZGVmIGZpeF9tYWtlZmlsZShtYWtlZmlsZSk6CisgICAgIiIiRml4IHNvbWUgc3R1ZmYgaW4gYWxsIG1ha2VmaWxlcworICAgICIiIgorICAgIGlmIG5vdCBvcy5wYXRoLmlzZmlsZShtYWtlZmlsZSk6CisgICAgICAgIHJldHVybgorICAgIHdpdGggb3BlbihtYWtlZmlsZSkgYXMgZmluOgorICAgICAgICBsaW5lcyA9IGZpbi5yZWFkbGluZXMoKQorICAgIHdpdGggb3BlbihtYWtlZmlsZSwgJ3cnKSBhcyBmb3V0OgorICAgICAgICBmb3IgbGluZSBpbiBsaW5lczoKKyAgICAgICAgICAgIGlmIGxpbmUuc3RhcnRzd2l0aCgiUEVSTD0iKToKKyAgICAgICAgICAgICAgICBjb250aW51ZQorICAgICAgICAgICAgaWYgbGluZS5zdGFydHN3aXRoKCJDUD0iKToKKyAgICAgICAgICAgICAgICBsaW5lID0gIkNQPWNvcHlcbiIKKyAgICAgICAgICAgIGlmIGxpbmUuc3RhcnRzd2l0aCgiTUtESVI9Iik6CisgICAgICAgICAgICAgICAgbGluZSA9ICJNS0RJUj1ta2RpclxuIgorICAgICAgICAgICAgaWYgbGluZS5zdGFydHN3aXRoKCJDRkxBRz0iKToKKyAgICAgICAgICAgICAgICBsaW5lID0gbGluZS5zdHJpcCgpCisgICAgICAgICAgICAgICAgZm9yIGFsZ28gaW4gKCJSQzUiLCAiTURDMiIsICJJREVBIik6CisgICAgICAgICAgICAgICAgICAgIG5vYWxnbyA9ICIgLURPUEVOU1NMX05PXyVzIiAlIGFsZ28KKyAgICAgICAgICAgICAgICAgICAgaWYgbm9hbGdvIG5vdCBpbiBsaW5lOgorICAgICAgICAgICAgICAgICAgICAgICAgbGluZSA9IGxpbmUgKyBub2FsZ28KKyAgICAgICAgICAgICAgICBsaW5lID0gbGluZSArICdcbicKKyAgICAgICAgICAgIGZvdXQud3JpdGUobGluZSkKKworZGVmIHJ1bl9jb25maWd1cmUoY29uZmlndXJlLCBkb19zY3JpcHQpOgorICAgIHByaW50KCJwZXJsIENvbmZpZ3VyZSAiK2NvbmZpZ3VyZSsiIG5vLWlkZWEgbm8tbWRjMiIpCisgICAgb3Muc3lzdGVtKCJwZXJsIENvbmZpZ3VyZSAiK2NvbmZpZ3VyZSsiIG5vLWlkZWEgbm8tbWRjMiIpCisgICAgcHJpbnQoZG9fc2NyaXB0KQorICAgIG9zLnN5c3RlbShkb19zY3JpcHQpCisKK2RlZiBjbXAoZjEsIGYyKToKKyAgICBidWZzaXplID0gMTAyNCAqIDgKKyAgICB3aXRoIG9wZW4oZjEsICdyYicpIGFzIGZwMSwgb3BlbihmMiwgJ3JiJykgYXMgZnAyOgorICAgICAgICB3aGlsZSBUcnVlOgorICAgICAgICAgICAgYjEgPSBmcDEucmVhZChidWZzaXplKQorICAgICAgICAgICAgYjIgPSBmcDIucmVhZChidWZzaXplKQorICAgICAgICAgICAgaWYgYjEgIT0gYjI6CisgICAgICAgICAgICAgICAgcmV0dXJuIEZhbHNlCisgICAgICAgICAgICBpZiBub3QgYjE6CisgICAgICAgICAgICAgICAgcmV0dXJuIFRydWUKKworZGVmIGNvcHkoc3JjLCBkc3QpOgorICAgIGlmIG9zLnBhdGguaXNmaWxlKGRzdCkgYW5kIGNtcChzcmMsIGRzdCk6CisgICAgICAgIHJldHVybgorICAgIHNodXRpbC5jb3B5KHNyYywgZHN0KQorCitkZWYgcHJlcChhcmNoKToKKyAgICBpZiBhcmNoID09ICJ4ODYiOgorICAgICAgICBjb25maWd1cmUgPSAiVkMtV0lOMzIiCisgICAgICAgIGRvX3NjcmlwdCA9ICJtc1xcZG9fbmFzbSIKKyAgICAgICAgbWFrZWZpbGU9Im1zXFxudC5tYWsiCisgICAgICAgIG0zMiA9IG1ha2VmaWxlCisgICAgICAgIGRpcnN1ZmZpeCA9ICIzMiIKKyAgICBlbGlmIGFyY2ggPT0gImFtZDY0IjoKKyAgICAgICAgY29uZmlndXJlID0gIlZDLVdJTjY0QSIKKyAgICAgICAgZG9fc2NyaXB0ID0gIm1zXFxkb193aW42NGEiCisgICAgICAgIG1ha2VmaWxlID0gIm1zXFxudDY0Lm1hayIKKyAgICAgICAgbTMyID0gbWFrZWZpbGUucmVwbGFjZSgnNjQnLCAnJykKKyAgICAgICAgZGlyc3VmZml4ID0gIjY0IgorICAgICAgICAjb3MuZW52aXJvblsiVlNFWFRDT01QX1VTRUNMIl0gPSAiTVNfT1BURVJPTiIKKyAgICBlbHNlOgorICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCdVbnJlY29nbml6ZWQgcGxhdGZvcm06ICVzJyAlIGFyY2gpCisKKyAgICAjIHJlYnVpbGQgbWFrZWZpbGUgd2hlbiB3ZSBkbyB0aGUgcm9sZSBvdmVyIGZyb20gMzIgdG8gNjQgYnVpbGQKKyAgICBpZiBhcmNoID09ICJhbWQ2NCIgYW5kIG9zLnBhdGguaXNmaWxlKG0zMikgYW5kIG5vdCBvcy5wYXRoLmlzZmlsZShtYWtlZmlsZSk6CisgICAgICAgIG9zLnVubGluayhtMzIpCisKKyAgICAjIElmIHRoZSBzc2wgbWFrZWZpbGVzIGRvIG5vdCBleGlzdCwgd2UgaW52b2tlIFBlcmwgdG8gZ2VuZXJhdGUgdGhlbS4KKyAgICAjIER1ZSB0byBhIGJ1ZyBpbiB0aGlzIHNjcmlwdCwgdGhlIG1ha2VmaWxlIHNvbWV0aW1lcyBlbmRlZCB1cCBlbXB0eQorICAgICMgRm9yY2UgYSByZWdlbmVyYXRpb24gaWYgaXQgaXMuCisgICAgaWYgbm90IG9zLnBhdGguaXNmaWxlKG1ha2VmaWxlKSBvciBvcy5wYXRoLmdldHNpemUobWFrZWZpbGUpPT0wOgorICAgICAgICBwcmludCgiQ3JlYXRpbmcgdGhlIG1ha2VmaWxlcy4uLiIpCisgICAgICAgIHN5cy5zdGRvdXQuZmx1c2goKQorICAgICAgICBydW5fY29uZmlndXJlKGNvbmZpZ3VyZSwgZG9fc2NyaXB0KQorCisgICAgICAgIGlmIGFyY2ggPT0gImFtZDY0IjoKKyAgICAgICAgICAgIGNyZWF0ZV9tYWtlZmlsZTY0KG1ha2VmaWxlLCBtMzIpCisgICAgICAgIGZpeF9tYWtlZmlsZShtYWtlZmlsZSkKKyAgICAgICAgY29weShyImNyeXB0b1xidWlsZGluZi5oIiwgciJjcnlwdG9cYnVpbGRpbmZfJXMuaCIgJSBhcmNoKQorICAgICAgICBjb3B5KHIiY3J5cHRvXG9wZW5zc2xjb25mLmgiLCByImNyeXB0b1xvcGVuc3NsY29uZl8lcy5oIiAlIGFyY2gpCisgICAgZWxzZToKKyAgICAgICAgcHJpbnQobWFrZWZpbGUsICdhbHJlYWR5IGV4aXN0cyEnKQorCisgICAgcHJpbnQoJ2NyZWF0aW5nIGFzbXMuLi4nKQorICAgIGNyZWF0ZV9hc21zKG1ha2VmaWxlKQorCitkZWYgbWFpbigpOgorICAgIGlmIGxlbihzeXMuYXJndikgPT0gMToKKyAgICAgICAgcHJpbnQoIk5vdCBlbm91Z2ggYXJndW1lbnRzOiBkaXJlY3RvcnkgY29udGFpbmluZyBPcGVuU1NMIiwKKyAgICAgICAgICAgICAgInNvdXJjZXMgbXVzdCBiZSBzdXBwbGllZCIpCisgICAgICAgIHN5cy5leGl0KDEpCisKKyAgICBpZiBsZW4oc3lzLmFyZ3YpID4gMjoKKyAgICAgICAgcHJpbnQoIlRvbyBtYW55IGFyZ3VtZW50cyBzdXBwbGllZCwgYWxsIHdlIG5lZWQgaXMgdGhlIGRpcmVjdG9yeSIsCisgICAgICAgICAgICAgICJjb250YWluaW5nIE9wZW5TU0wgc291cmNlcyIpCisgICAgICAgIHN5cy5leGl0KDEpCisKKyAgICBzc2xfZGlyID0gc3lzLmFyZ3ZbMV0KKworICAgIGlmIG5vdCBvcy5wYXRoLmlzZGlyKHNzbF9kaXIpOgorICAgICAgICBwcmludChzc2xfZGlyLCAiaXMgbm90IGFuIGV4aXN0aW5nIGRpcmVjdG9yeSEiKQorICAgICAgICBzeXMuZXhpdCgxKQorCisgICAgIyBwZXJsIHNob3VsZCBiZSBvbiB0aGUgcGF0aCwgYnV0IHdlIGFsc28gbG9vayBpbiAiXHBlcmwiIGFuZCAiYzpcXHBlcmwiCisgICAgIyBhcyAid2VsbCBrbm93biIgbG9jYXRpb25zCisgICAgcGVybHMgPSBmaW5kX2FsbF9vbl9wYXRoKCJwZXJsLmV4ZSIsIFsiXFxwZXJsXFxiaW4iLCAiQzpcXHBlcmxcXGJpbiJdKQorICAgIHBlcmwgPSBmaW5kX3dvcmtpbmdfcGVybChwZXJscykKKyAgICBpZiBwZXJsOgorICAgICAgICBwcmludCgiRm91bmQgYSB3b3JraW5nIHBlcmwgYXQgJyVzJyIgJSAocGVybCwpKQorICAgIGVsc2U6CisgICAgICAgIHN5cy5leGl0KDEpCisgICAgc3lzLnN0ZG91dC5mbHVzaCgpCisKKyAgICAjIFB1dCBvdXIgd29ya2luZyBQZXJsIGF0IHRoZSBmcm9udCBvZiBvdXIgcGF0aAorICAgIG9zLmVudmlyb25bIlBBVEgiXSA9IG9zLnBhdGguZGlybmFtZShwZXJsKSArIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3MucGF0aHNlcCArIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3MuZW52aXJvblsiUEFUSCJdCisKKyAgICBvbGRfY3dkID0gb3MuZ2V0Y3dkKCkKKyAgICB0cnk6CisgICAgICAgIG9zLmNoZGlyKHNzbF9kaXIpCisgICAgICAgIGZvciBhcmNoIGluIFsnYW1kNjQnLCAneDg2J106CisgICAgICAgICAgICBwcmVwKGFyY2gpCisgICAgZmluYWxseToKKyAgICAgICAgb3MuY2hkaXIob2xkX2N3ZCkKKworaWYgX19uYW1lX189PSdfX21haW5fXyc6CisgICAgbWFpbigpCmRpZmYgLS1naXQgYS9QQ2J1aWxkL3B5ZC5wcm9wcyBiL1BDYnVpbGQvcHlkLnByb3BzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0Njk5NjZlLi4wMDAwMDAwCi0tLSBhL1BDYnVpbGQvcHlkLnByb3BzCisrKyAvZGV2L251bGwKQEAgLTEsMjUgKzAsMCBAQAot77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KLTxQcm9qZWN0IERlZmF1bHRUYXJnZXRzPSJCdWlsZCIgVG9vbHNWZXJzaW9uPSI0LjAiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgotICA8SW1wb3J0R3JvdXAgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9InJlbGVhc2UucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweXByb2plY3QucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwPgotICAgIDxfUHJvamVjdEZpbGVWZXJzaW9uPjEwLjAuMzAzMTkuMTwvX1Byb2plY3RGaWxlVmVyc2lvbj4KLSAgICA8R2VuZXJhdGVNYW5pZmVzdD5mYWxzZTwvR2VuZXJhdGVNYW5pZmVzdD4KLSAgICA8RW1iZWRNYW5pZmVzdD5mYWxzZTwvRW1iZWRNYW5pZmVzdD4KLSAgICA8VGFyZ2V0RXh0Pi5weWQ8L1RhcmdldEV4dD4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cD4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPlB5X0JVSUxEX0NPUkVfTU9EVUxFOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICAgIDxSdW50aW1lTGlicmFyeT5NdWx0aVRocmVhZGVkRExMPC9SdW50aW1lTGlicmFyeT4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8TGluaz4KLSAgICA8L0xpbms+Ci0gICAgPFBvc3RCdWlsZEV2ZW50PgotICAgICAgPENvbW1hbmQ+Ci0gICAgICA8L0NvbW1hbmQ+Ci0gICAgPC9Qb3N0QnVpbGRFdmVudD4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotPC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1BDYnVpbGQvcHlkX2QucHJvcHMgYi9QQ2J1aWxkL3B5ZF9kLnByb3BzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiMDIzMjg4Li4wMDAwMDAwCi0tLSBhL1BDYnVpbGQvcHlkX2QucHJvcHMKKysrIC9kZXYvbnVsbApAQCAtMSwzMSArMCwwIEBACi3vu788P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgotPFByb2plY3QgRGVmYXVsdFRhcmdldHM9IkJ1aWxkIiBUb29sc1ZlcnNpb249IjQuMCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+Ci0gIDxJbXBvcnRHcm91cCBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iZGVidWcucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweXByb2plY3QucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJVc2VyTWFjcm9zIiAvPgotICA8UHJvcGVydHlHcm91cD4KLSAgICA8X1Byb2plY3RGaWxlVmVyc2lvbj4xMC4wLjMwMzE5LjE8L19Qcm9qZWN0RmlsZVZlcnNpb24+Ci0gICAgPExpbmtJbmNyZW1lbnRhbD5mYWxzZTwvTGlua0luY3JlbWVudGFsPgotICAgIDxHZW5lcmF0ZU1hbmlmZXN0PmZhbHNlPC9HZW5lcmF0ZU1hbmlmZXN0PgotICAgIDxFbWJlZE1hbmlmZXN0PmZhbHNlPC9FbWJlZE1hbmlmZXN0PgotICAgIDxUYXJnZXRFeHQ+LnB5ZDwvVGFyZ2V0RXh0PgotICAgIDxUYXJnZXROYW1lPiQoUHJvamVjdE5hbWUpX2Q8L1RhcmdldE5hbWU+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxPcHRpbWl6YXRpb24+RGlzYWJsZWQ8L09wdGltaXphdGlvbj4KLSAgICAgIDxJbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj5EZWZhdWx0PC9JbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj4KLSAgICAgIDxJbnRyaW5zaWNGdW5jdGlvbnM+ZmFsc2U8L0ludHJpbnNpY0Z1bmN0aW9ucz4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5QeV9CVUlMRF9DT1JFX01PRFVMRTslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgICA8UnVudGltZUxpYnJhcnk+TXVsdGlUaHJlYWRlZERlYnVnRExMPC9SdW50aW1lTGlicmFyeT4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8TGluayAvPgotICAgIDxQb3N0QnVpbGRFdmVudD4KLSAgICAgIDxDb21tYW5kPgotICAgICAgPC9Db21tYW5kPgotICAgIDwvUG9zdEJ1aWxkRXZlbnQ+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1Hcm91cCAvPgotPC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1BDYnVpbGQvcHlleHBhdC52Y3hwcm9qIGIvUENidWlsZC9weWV4cGF0LnZjeHByb2oKaW5kZXggOTc0ZmQzZC4uNGU3NjIxZWMgMTAwNjQ0Ci0tLSBhL1BDYnVpbGQvcHlleHBhdC52Y3hwcm9qCisrKyBiL1BDYnVpbGQvcHlleHBhdC52Y3hwcm9qCkBAIC0zNSwxODYgKzM1LDMzIEBACiAgICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KICAgPC9JdGVtR3JvdXA+CiAgIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJHbG9iYWxzIj4KKyAgICA8X1Byb2plY3RGaWxlVmVyc2lvbj4xMC4wLjMwMzE5LjE8L19Qcm9qZWN0RmlsZVZlcnNpb24+CiAgICAgPFByb2plY3RHdWlkPntEMDZCNjQyNi00NzYyLTQ0Q0MtOEJBRC1ENzkwNTI1MDdGMkZ9PC9Qcm9qZWN0R3VpZD4KICAgICA8Um9vdE5hbWVzcGFjZT5weWV4cGF0PC9Sb290TmFtZXNwYWNlPgotICAgIDxLZXl3b3JkPldpbjMyUHJvajwvS2V5d29yZD4KICAgPC9Qcm9wZXJ0eUdyb3VwPgorICA8SW1wb3J0IFByb2plY3Q9InB5dGhvbi5wcm9wcyIgLz4KICAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAuRGVmYXVsdC5wcm9wcyIgLz4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+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+Ci0gIDxQcm9wZXJ0eUdyb3VwPgotICAgIDxfUHJvamVjdEZpbGVWZXJzaW9uPjEwLjAuMzAzMTkuMTwvX1Byb2plY3RGaWxlVmVyc2lvbj4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIC8+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPgorICA8SXRlbURlZmluaXRpb25Hcm91cD4KICAgICA8Q2xDb21waWxlPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+LlwuLlxNb2R1bGVzXGV4cGF0OyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+CisgICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4kKFB5U291cmNlUGF0aClNb2R1bGVzXGV4cGF0OyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+CiAgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+UFlFWFBBVF9FWFBPUlRTO0hBVkVfRVhQQVRfSDtYTUxfTlM7WE1MX0RURDtCWVRFT1JERVI9MTIzNDtYTUxfQ09OVEVYVF9CWVRFUz0xMDI0O1hNTF9TVEFUSUM7SEFWRV9NRU1NT1ZFOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KICAgICA8L0NsQ29tcGlsZT4KICAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPgotICAgIDxNaWRsPgotICAgICAgPFRhcmdldEVudmlyb25tZW50Plg2NDwvVGFyZ2V0RW52aXJvbm1lbnQ+Ci0gICAgPC9NaWRsPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uXC4uXE1vZHVsZXNcZXhwYXQ7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5QWUVYUEFUX0VYUE9SVFM7SEFWRV9FWFBBVF9IO1hNTF9OUztYTUxfRFREO0JZVEVPUkRFUj0xMjM0O1hNTF9DT05URVhUX0JZVEVTPTEwMjQ7WE1MX1NUQVRJQztIQVZFX01FTU1PVkU7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgIDwvQ2xDb21waWxlPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uXC4uXE1vZHVsZXNcZXhwYXQ7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5QWUVYUEFUX0VYUE9SVFM7SEFWRV9FWFBBVF9IO1hNTF9OUztYTUxfRFREO0JZVEVPUkRFUj0xMjM0O1hNTF9DT05URVhUX0JZVEVTPTEwMjQ7WE1MX1NUQVRJQztIQVZFX01FTU1PVkU7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgIDwvQ2xDb21waWxlPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj4KLSAgICA8TWlkbD4KLSAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgotICAgIDwvTWlkbD4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+LlwuLlxNb2R1bGVzXGV4cGF0OyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+UFlFWFBBVF9FWFBPUlRTO0hBVkVfRVhQQVRfSDtYTUxfTlM7WE1MX0RURDtCWVRFT1JERVI9MTIzNDtYTUxfQ09OVEVYVF9CWVRFUz0xMDI0O1hNTF9TVEFUSUM7SEFWRV9NRU1NT1ZFOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uXC4uXE1vZHVsZXNcZXhwYXQ7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5QWUVYUEFUX0VYUE9SVFM7SEFWRV9FWFBBVF9IO1hNTF9OUztYTUxfRFREO0JZVEVPUkRFUj0xMjM0O1hNTF9DT05URVhUX0JZVEVTPTEwMjQ7WE1MX1NUQVRJQztIQVZFX01FTU1PVkU7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgIDwvQ2xDb21waWxlPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciPgotICAgIDxNaWRsPgotICAgICAgPFRhcmdldEVudmlyb25tZW50Plg2NDwvVGFyZ2V0RW52aXJvbm1lbnQ+Ci0gICAgPC9NaWRsPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uXC4uXE1vZHVsZXNcZXhwYXQ7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5QWUVYUEFUX0VYUE9SVFM7SEFWRV9FWFBBVF9IO1hNTF9OUztYTUxfRFREO0JZVEVPUkRFUj0xMjM0O1hNTF9DT05URVhUX0JZVEVTPTEwMjQ7WE1MX1NUQVRJQztIQVZFX01FTU1PVkU7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxMaW5rPgotICAgICAgPFRhcmdldE1hY2hpbmU+TWFjaGluZVg2NDwvVGFyZ2V0TWFjaGluZT4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uXC4uXE1vZHVsZXNcZXhwYXQ7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5QWUVYUEFUX0VYUE9SVFM7SEFWRV9FWFBBVF9IO1hNTF9OUztYTUxfRFREO0JZVEVPUkRFUj0xMjM0O1hNTF9DT05URVhUX0JZVEVTPTEwMjQ7WE1MX1NUQVRJQztIQVZFX01FTU1PVkU7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgIDwvQ2xDb21waWxlPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyI+Ci0gICAgPE1pZGw+Ci0gICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+WDY0PC9UYXJnZXRFbnZpcm9ubWVudD4KLSAgICA8L01pZGw+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi5cLi5cTW9kdWxlc1xleHBhdDslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPlBZRVhQQVRfRVhQT1JUUztIQVZFX0VYUEFUX0g7WE1MX05TO1hNTF9EVEQ7QllURU9SREVSPTEyMzQ7WE1MX0NPTlRFWFRfQllURVM9MTAyNDtYTUxfU1RBVElDO0hBVkVfTUVNTU9WRTslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPExpbms+Ci0gICAgICA8VGFyZ2V0TWFjaGluZT5NYWNoaW5lWDY0PC9UYXJnZXRNYWNoaW5lPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgogICA8SXRlbUdyb3VwPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cTW9kdWxlc1xleHBhdFx4bWxyb2xlLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxNb2R1bGVzXGV4cGF0XHhtbHRvay5oIiAvPgpkaWZmIC0tZ2l0IGEvUENidWlsZC9weWxhdW5jaGVyLnZjeHByb2ogYi9QQ2J1aWxkL3B5bGF1bmNoZXIudmN4cHJvagppbmRleCA5ZmE5M2RkLi42YTIxNzg1IDEwMDY0NAotLS0gYS9QQ2J1aWxkL3B5bGF1bmNoZXIudmN4cHJvagorKysgYi9QQ2J1aWxkL3B5bGF1bmNoZXIudmN4cHJvagpAQCAtMzcsMjU2ICszNywzMyBAQAogICA8UHJvcGVydHlHcm91cCBMYWJlbD0iR2xvYmFscyI+CiAgICAgPFByb2plY3RHdWlkPns3QjI3MjdCNS01QTNGLTQwRUUtQTg2Ni00M0ExM0NEMzE0NDZ9PC9Qcm9qZWN0R3VpZD4KICAgICA8Um9vdE5hbWVzcGFjZT5weWxhdW5jaGVyPC9Sb290TmFtZXNwYWNlPgorICAgIDxUYXJnZXROYW1lPnB5PC9UYXJnZXROYW1lPgorICAgIDxNYWtlVmVyc2lvbkluZm9CZWZvcmVUYXJnZXQ+Q2xDb21waWxlPC9NYWtlVmVyc2lvbkluZm9CZWZvcmVUYXJnZXQ+CisgICAgPFN1cHBvcnRQR08+ZmFsc2U8L1N1cHBvcnRQR08+CiAgIDwvUHJvcGVydHlHcm91cD4KKyAgPEltcG9ydCBQcm9qZWN0PSJweXRob24ucHJvcHMiIC8+CiAgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLkRlZmF1bHQucHJvcHMiIC8+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+CisgIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJDb25maWd1cmF0aW9uIj4KICAgICA8Q29uZmlndXJhdGlvblR5cGU+QXBwbGljYXRpb248L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxVc2VEZWJ1Z0xpYnJhcmllcz50cnVlPC9Vc2VEZWJ1Z0xpYnJhcmllcz4KLSAgICA8Q2hhcmFjdGVyU2V0Pk11bHRpQnl0ZTwvQ2hhcmFjdGVyU2V0PgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5BcHBsaWNhdGlvbjwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPFVzZURlYnVnTGlicmFyaWVzPnRydWU8L1VzZURlYnVnTGlicmFyaWVzPgotICAgIDxDaGFyYWN0ZXJTZXQ+TXVsdGlCeXRlPC9DaGFyYWN0ZXJTZXQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5BcHBsaWNhdGlvbjwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPFVzZURlYnVnTGlicmFyaWVzPmZhbHNlPC9Vc2VEZWJ1Z0xpYnJhcmllcz4KLSAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KLSAgICA8Q2hhcmFjdGVyU2V0Pk11bHRpQnl0ZTwvQ2hhcmFjdGVyU2V0PgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkFwcGxpY2F0aW9uPC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8VXNlRGVidWdMaWJyYXJpZXM+ZmFsc2U8L1VzZURlYnVnTGlicmFyaWVzPgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICAgIDxDaGFyYWN0ZXJTZXQ+TXVsdGlCeXRlPC9DaGFyYWN0ZXJTZXQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkFwcGxpY2F0aW9uPC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8VXNlRGVidWdMaWJyYXJpZXM+ZmFsc2U8L1VzZURlYnVnTGlicmFyaWVzPgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICAgIDxDaGFyYWN0ZXJTZXQ+TXVsdGlCeXRlPC9DaGFyYWN0ZXJTZXQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+QXBwbGljYXRpb248L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxVc2VEZWJ1Z0xpYnJhcmllcz5mYWxzZTwvVXNlRGVidWdMaWJyYXJpZXM+Ci0gICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+Ci0gICAgPENoYXJhY3RlclNldD5NdWx0aUJ5dGU8L0NoYXJhY3RlclNldD4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+QXBwbGljYXRpb248L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxVc2VEZWJ1Z0xpYnJhcmllcz5mYWxzZTwvVXNlRGVidWdMaWJyYXJpZXM+Ci0gICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+Ci0gICAgPENoYXJhY3RlclNldD5NdWx0aUJ5dGU8L0NoYXJhY3RlclNldD4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkFwcGxpY2F0aW9uPC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8VXNlRGVidWdMaWJyYXJpZXM+ZmFsc2U8L1VzZURlYnVnTGlicmFyaWVzPgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgogICAgIDxDaGFyYWN0ZXJTZXQ+TXVsdGlCeXRlPC9DaGFyYWN0ZXJTZXQ+CiAgIDwvUHJvcGVydHlHcm91cD4KICAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAucHJvcHMiIC8+CiAgIDxJbXBvcnRHcm91cCBMYWJlbD0iRXh0ZW5zaW9uU2V0dGluZ3MiPgogICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgTGFiZWw9IlByb3BlcnR5U2hlZXRzIiBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+CisgIDxQcm9wZXJ0eUdyb3VwPgorICAgIDxNYWtlVmVyc2lvbkluZm9CZWZvcmVUYXJnZXQ+Q2xDb21waWxlPC9NYWtlVmVyc2lvbkluZm9CZWZvcmVUYXJnZXQ+CisgIDwvUHJvcGVydHlHcm91cD4KKyAgPEltcG9ydEdyb3VwIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+CiAgICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgogICAgIDxJbXBvcnQgUHJvamVjdD0icHlwcm9qZWN0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0iZGVidWcucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlwcm9qZWN0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0iZGVidWcucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJ4NjQucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBMYWJlbD0iUHJvcGVydHlTaGVldHMiIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5cHJvamVjdC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InJlbGVhc2UucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweXByb2plY3QucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJyZWxlYXNlLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icGd1cGRhdGUucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlwcm9qZWN0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icmVsZWFzZS5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InBnaW5zdHJ1bWVudC5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5cHJvamVjdC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InJlbGVhc2UucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJ4NjQucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlwcm9qZWN0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icmVsZWFzZS5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9Ing2NC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InBndXBkYXRlLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweXByb2plY3QucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJyZWxlYXNlLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0ieDY0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icGdpbnN0cnVtZW50LnByb3BzIiAvPgogICA8L0ltcG9ydEdyb3VwPgogICA8UHJvcGVydHlHcm91cCBMYWJlbD0iVXNlck1hY3JvcyIgLz4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPgotICAgIDxUYXJnZXROYW1lPnB5X2Q8L1RhcmdldE5hbWU+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj4KLSAgICA8VGFyZ2V0TmFtZT5weV9kPC9UYXJnZXROYW1lPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPgotICAgIDxUYXJnZXROYW1lPnB5PC9UYXJnZXROYW1lPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIj4KLSAgICA8VGFyZ2V0TmFtZT5weTwvVGFyZ2V0TmFtZT4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciPgotICAgIDxUYXJnZXROYW1lPnB5PC9UYXJnZXROYW1lPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj4KLSAgICA8VGFyZ2V0TmFtZT5weTwvVGFyZ2V0TmFtZT4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciPgotICAgIDxUYXJnZXROYW1lPnB5PC9UYXJnZXROYW1lPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciPgotICAgIDxUYXJnZXROYW1lPnB5PC9UYXJnZXROYW1lPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj4KKyAgPEl0ZW1EZWZpbml0aW9uR3JvdXA+CiAgICAgPENsQ29tcGlsZT4KLSAgICAgIDxXYXJuaW5nTGV2ZWw+TGV2ZWwzPC9XYXJuaW5nTGV2ZWw+Ci0gICAgICA8T3B0aW1pemF0aW9uPkRpc2FibGVkPC9PcHRpbWl6YXRpb24+CiAgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X0NPTlNPTEU7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgorICAgICAgPFJ1bnRpbWVMaWJyYXJ5Pk11bHRpVGhyZWFkZWQ8L1J1bnRpbWVMaWJyYXJ5PgogICAgIDwvQ2xDb21waWxlPgogICAgIDxMaW5rPgotICAgICAgPEdlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj50cnVlPC9HZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24+Ci0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz52ZXJzaW9uLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgICAgPElnbm9yZUFsbERlZmF1bHRMaWJyYXJpZXM+ZmFsc2U8L0lnbm9yZUFsbERlZmF1bHRMaWJyYXJpZXM+Ci0gICAgICA8U3ViU3lzdGVtPkNvbnNvbGU8L1N1YlN5c3RlbT4KLSAgICAgIDxPdXRwdXRGaWxlPiQoT3V0RGlyKSQoVGFyZ2V0TmFtZSkkKFRhcmdldEV4dCk8L091dHB1dEZpbGU+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxXYXJuaW5nTGV2ZWw+TGV2ZWwzPC9XYXJuaW5nTGV2ZWw+Ci0gICAgICA8T3B0aW1pemF0aW9uPkRpc2FibGVkPC9PcHRpbWl6YXRpb24+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X0NPTlNPTEU7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxMaW5rPgotICAgICAgPEdlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj50cnVlPC9HZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24+Ci0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz52ZXJzaW9uLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgICAgPElnbm9yZUFsbERlZmF1bHRMaWJyYXJpZXM+ZmFsc2U8L0lnbm9yZUFsbERlZmF1bHRMaWJyYXJpZXM+Ci0gICAgICA8U3ViU3lzdGVtPkNvbnNvbGU8L1N1YlN5c3RlbT4KLSAgICAgIDxPdXRwdXRGaWxlPiQoT3V0RGlyKSQoVGFyZ2V0TmFtZSkkKFRhcmdldEV4dCk8L091dHB1dEZpbGU+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8V2FybmluZ0xldmVsPkxldmVsMzwvV2FybmluZ0xldmVsPgotICAgICAgPE9wdGltaXphdGlvbj5NYXhTcGVlZDwvT3B0aW1pemF0aW9uPgotICAgICAgPEZ1bmN0aW9uTGV2ZWxMaW5raW5nPnRydWU8L0Z1bmN0aW9uTGV2ZWxMaW5raW5nPgotICAgICAgPEludHJpbnNpY0Z1bmN0aW9ucz50cnVlPC9JbnRyaW5zaWNGdW5jdGlvbnM+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X0NPTlNPTEU7TkRFQlVHOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8TGluaz4KLSAgICAgIDxHZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24+dHJ1ZTwvR2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPgotICAgICAgPEVuYWJsZUNPTURBVEZvbGRpbmc+ZmFsc2U8L0VuYWJsZUNPTURBVEZvbGRpbmc+Ci0gICAgICA8T3B0aW1pemVSZWZlcmVuY2VzPnRydWU8L09wdGltaXplUmVmZXJlbmNlcz4KLSAgICAgIDxJZ25vcmVBbGxEZWZhdWx0TGlicmFyaWVzPmZhbHNlPC9JZ25vcmVBbGxEZWZhdWx0TGlicmFyaWVzPgotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+dmVyc2lvbi5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KLSAgICAgIDxTdWJTeXN0ZW0+Q29uc29sZTwvU3ViU3lzdGVtPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyI+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxXYXJuaW5nTGV2ZWw+TGV2ZWwzPC9XYXJuaW5nTGV2ZWw+Ci0gICAgICA8T3B0aW1pemF0aW9uPk1heFNwZWVkPC9PcHRpbWl6YXRpb24+Ci0gICAgICA8RnVuY3Rpb25MZXZlbExpbmtpbmc+dHJ1ZTwvRnVuY3Rpb25MZXZlbExpbmtpbmc+Ci0gICAgICA8SW50cmluc2ljRnVuY3Rpb25zPnRydWU8L0ludHJpbnNpY0Z1bmN0aW9ucz4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5fQ09OU09MRTtOREVCVUc7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxMaW5rPgotICAgICAgPEdlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj50cnVlPC9HZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24+Ci0gICAgICA8RW5hYmxlQ09NREFURm9sZGluZz5mYWxzZTwvRW5hYmxlQ09NREFURm9sZGluZz4KLSAgICAgIDxPcHRpbWl6ZVJlZmVyZW5jZXM+dHJ1ZTwvT3B0aW1pemVSZWZlcmVuY2VzPgotICAgICAgPElnbm9yZUFsbERlZmF1bHRMaWJyYXJpZXM+ZmFsc2U8L0lnbm9yZUFsbERlZmF1bHRMaWJyYXJpZXM+Ci0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz52ZXJzaW9uLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgICAgPFN1YlN5c3RlbT5Db25zb2xlPC9TdWJTeXN0ZW0+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyI+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxXYXJuaW5nTGV2ZWw+TGV2ZWwzPC9XYXJuaW5nTGV2ZWw+Ci0gICAgICA8T3B0aW1pemF0aW9uPk1heFNwZWVkPC9PcHRpbWl6YXRpb24+Ci0gICAgICA8RnVuY3Rpb25MZXZlbExpbmtpbmc+dHJ1ZTwvRnVuY3Rpb25MZXZlbExpbmtpbmc+Ci0gICAgICA8SW50cmluc2ljRnVuY3Rpb25zPnRydWU8L0ludHJpbnNpY0Z1bmN0aW9ucz4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5fQ09OU09MRTtOREVCVUc7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxMaW5rPgotICAgICAgPEdlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj50cnVlPC9HZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24+Ci0gICAgICA8RW5hYmxlQ09NREFURm9sZGluZz5mYWxzZTwvRW5hYmxlQ09NREFURm9sZGluZz4KLSAgICAgIDxPcHRpbWl6ZVJlZmVyZW5jZXM+dHJ1ZTwvT3B0aW1pemVSZWZlcmVuY2VzPgotICAgICAgPElnbm9yZUFsbERlZmF1bHRMaWJyYXJpZXM+ZmFsc2U8L0lnbm9yZUFsbERlZmF1bHRMaWJyYXJpZXM+Ci0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz52ZXJzaW9uLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgICAgPFN1YlN5c3RlbT5Db25zb2xlPC9TdWJTeXN0ZW0+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPFdhcm5pbmdMZXZlbD5MZXZlbDM8L1dhcm5pbmdMZXZlbD4KLSAgICAgIDxPcHRpbWl6YXRpb24+TWF4U3BlZWQ8L09wdGltaXphdGlvbj4KLSAgICAgIDxGdW5jdGlvbkxldmVsTGlua2luZz50cnVlPC9GdW5jdGlvbkxldmVsTGlua2luZz4KLSAgICAgIDxJbnRyaW5zaWNGdW5jdGlvbnM+dHJ1ZTwvSW50cmluc2ljRnVuY3Rpb25zPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPl9DT05TT0xFO05ERUJVRzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPExpbms+Ci0gICAgICA8R2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPnRydWU8L0dlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj4KLSAgICAgIDxFbmFibGVDT01EQVRGb2xkaW5nPmZhbHNlPC9FbmFibGVDT01EQVRGb2xkaW5nPgotICAgICAgPE9wdGltaXplUmVmZXJlbmNlcz50cnVlPC9PcHRpbWl6ZVJlZmVyZW5jZXM+Ci0gICAgICA8SWdub3JlQWxsRGVmYXVsdExpYnJhcmllcz5mYWxzZTwvSWdub3JlQWxsRGVmYXVsdExpYnJhcmllcz4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPnZlcnNpb24ubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgICA8U3ViU3lzdGVtPkNvbnNvbGU8L1N1YlN5c3RlbT4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIj4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPFdhcm5pbmdMZXZlbD5MZXZlbDM8L1dhcm5pbmdMZXZlbD4KLSAgICAgIDxPcHRpbWl6YXRpb24+TWF4U3BlZWQ8L09wdGltaXphdGlvbj4KLSAgICAgIDxGdW5jdGlvbkxldmVsTGlua2luZz50cnVlPC9GdW5jdGlvbkxldmVsTGlua2luZz4KLSAgICAgIDxJbnRyaW5zaWNGdW5jdGlvbnM+dHJ1ZTwvSW50cmluc2ljRnVuY3Rpb25zPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPl9DT05TT0xFO05ERUJVRzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPExpbms+Ci0gICAgICA8R2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPnRydWU8L0dlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj4KLSAgICAgIDxFbmFibGVDT01EQVRGb2xkaW5nPmZhbHNlPC9FbmFibGVDT01EQVRGb2xkaW5nPgotICAgICAgPE9wdGltaXplUmVmZXJlbmNlcz50cnVlPC9PcHRpbWl6ZVJlZmVyZW5jZXM+Ci0gICAgICA8SWdub3JlQWxsRGVmYXVsdExpYnJhcmllcz5mYWxzZTwvSWdub3JlQWxsRGVmYXVsdExpYnJhcmllcz4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPnZlcnNpb24ubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgICA8U3ViU3lzdGVtPkNvbnNvbGU8L1N1YlN5c3RlbT4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyI+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxXYXJuaW5nTGV2ZWw+TGV2ZWwzPC9XYXJuaW5nTGV2ZWw+Ci0gICAgICA8T3B0aW1pemF0aW9uPk1heFNwZWVkPC9PcHRpbWl6YXRpb24+Ci0gICAgICA8RnVuY3Rpb25MZXZlbExpbmtpbmc+dHJ1ZTwvRnVuY3Rpb25MZXZlbExpbmtpbmc+Ci0gICAgICA8SW50cmluc2ljRnVuY3Rpb25zPnRydWU8L0ludHJpbnNpY0Z1bmN0aW9ucz4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5fQ09OU09MRTtOREVCVUc7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxMaW5rPgotICAgICAgPEdlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj50cnVlPC9HZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24+Ci0gICAgICA8RW5hYmxlQ09NREFURm9sZGluZz5mYWxzZTwvRW5hYmxlQ09NREFURm9sZGluZz4KLSAgICAgIDxPcHRpbWl6ZVJlZmVyZW5jZXM+dHJ1ZTwvT3B0aW1pemVSZWZlcmVuY2VzPgotICAgICAgPElnbm9yZUFsbERlZmF1bHRMaWJyYXJpZXM+ZmFsc2U8L0lnbm9yZUFsbERlZmF1bHRMaWJyYXJpZXM+CiAgICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz52ZXJzaW9uLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgogICAgICAgPFN1YlN5c3RlbT5Db25zb2xlPC9TdWJTeXN0ZW0+CiAgICAgPC9MaW5rPgpAQCAtMzAwLDExICs3Nyw2IEBACiAgIDxJdGVtR3JvdXA+CiAgICAgPFJlc291cmNlQ29tcGlsZSBJbmNsdWRlPSIuLlxQQ1xweWxhdW5jaGVyLnJjIiAvPgogICA8L0l0ZW1Hcm91cD4KLSAgPEl0ZW1Hcm91cD4KLSAgICA8UHJvamVjdFJlZmVyZW5jZSBJbmNsdWRlPSJtYWtlX3ZlcnNpb25pbmZvLnZjeHByb2oiPgotICAgICAgPFByb2plY3Q+e2YwZTA1NDFlLWYxN2QtNDMwYi05N2M0LTkzYWRmMGRkMjg0ZX08L1Byb2plY3Q+Ci0gICAgPC9Qcm9qZWN0UmVmZXJlbmNlPgotICA8L0l0ZW1Hcm91cD4KICAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAudGFyZ2V0cyIgLz4KICAgPEltcG9ydEdyb3VwIExhYmVsPSJFeHRlbnNpb25UYXJnZXRzIj4KICAgPC9JbXBvcnRHcm91cD4KZGlmZiAtLWdpdCBhL1BDYnVpbGQvcHlwcm9qZWN0LnByb3BzIGIvUENidWlsZC9weXByb2plY3QucHJvcHMKaW5kZXggZThmMzEzOC4uMWFmYmZlMSAxMDA2NDQKLS0tIGEvUENidWlsZC9weXByb2plY3QucHJvcHMKKysrIGIvUENidWlsZC9weXByb2plY3QucHJvcHMKQEAgLTEsNDggKzEsNDkgQEAKIO+7vzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+CiA8UHJvamVjdCBEZWZhdWx0VGFyZ2V0cz0iQnVpbGQiIFRvb2xzVmVyc2lvbj0iNC4wIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChQbGF0Zm9ybSknPT0nV2luMzInIj4KKyAgPFByb3BlcnR5R3JvdXAgTGFiZWw9Ikdsb2JhbHMiPgogICAgIDxfUHJvamVjdEZpbGVWZXJzaW9uPjEwLjAuMzAzMTkuMTwvX1Byb2plY3RGaWxlVmVyc2lvbj4KLSAgICA8T3V0RGlyPiQoU29sdXRpb25EaXIpPC9PdXREaXI+Ci0gICAgPEludERpcj4kKFNvbHV0aW9uRGlyKSQoUGxhdGZvcm1OYW1lKS10ZW1wLSQoQ29uZmlndXJhdGlvbilcJChQcm9qZWN0TmFtZSlcPC9JbnREaXI+Ci0gICAgPExpbmtJbmNyZW1lbnRhbD5mYWxzZTwvTGlua0luY3JlbWVudGFsPgotICA8L1Byb3BlcnR5R3JvdXA+ICAKLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChQbGF0Zm9ybSknPT0neDY0JyI+Ci0gICAgPF9Qcm9qZWN0RmlsZVZlcnNpb24+MTAuMC4zMDMxOS4xPC9fUHJvamVjdEZpbGVWZXJzaW9uPgotICAgIDxfUHJvcGVydHlTaGVldERpc3BsYXlOYW1lPmFtZDY0PC9fUHJvcGVydHlTaGVldERpc3BsYXlOYW1lPgotICAgIDxPdXREaXI+JChTb2x1dGlvbkRpcilhbWQ2NFw8L091dERpcj4KLSAgICA8SW50RGlyPiQoU29sdXRpb25EaXIpJChQbGF0Zm9ybU5hbWUpLXRlbXAtJChDb25maWd1cmF0aW9uKVwkKFByb2plY3ROYW1lKVw8L0ludERpcj4KKyAgICA8VmlzdWFsU3R1ZGlvVmVyc2lvbiBDb25kaXRpb249IickKFZpc3VhbFN0dWRpb1ZlcnNpb24pJyA9PSAnJyI+MTAuMDwvVmlzdWFsU3R1ZGlvVmVyc2lvbj4KKyAgICA8T3V0RGlyPiQoQnVpbGRQYXRoKTwvT3V0RGlyPgorICAgIDxJbnREaXI+JChTb2x1dGlvbkRpcilvYmpcJChBcmNoTmFtZSlfJChDb25maWd1cmF0aW9uKVwkKFByb2plY3ROYW1lKVw8L0ludERpcj4KKyAgICA8SW50RGlyIENvbmRpdGlvbj0iJChDb25maWd1cmF0aW9uKSA9PSAnUEdJbnN0cnVtZW50JyBvciAkKENvbmZpZ3VyYXRpb24pID09ICdQR1VwZGF0ZSciPiQoU29sdXRpb25EaXIpb2JqXCQoQXJjaE5hbWUpXCQoUHJvamVjdE5hbWUpXDwvSW50RGlyPgorICAgIDxUYXJnZXROYW1lIENvbmRpdGlvbj0iJyQoVGFyZ2V0TmFtZSknID09ICcnIj4kKFByb2plY3ROYW1lKTwvVGFyZ2V0TmFtZT4KKyAgICA8VGFyZ2V0TmFtZT4kKFRhcmdldE5hbWUpJChQeURlYnVnRXh0KTwvVGFyZ2V0TmFtZT4KKyAgICA8R2VuZXJhdGVNYW5pZmVzdD5mYWxzZTwvR2VuZXJhdGVNYW5pZmVzdD4KKyAgICA8RW1iZWRNYW5pZmVzdD5mYWxzZTwvRW1iZWRNYW5pZmVzdD4KKyAgICA8U3VwcG9ydFBHTyBDb25kaXRpb249IickKFN1cHBvcnRQR08pJyA9PSAnJyI+dHJ1ZTwvU3VwcG9ydFBHTz4KKyAgICA8U3VwcG9ydFNpZ25pbmcgQ29uZGl0aW9uPSInJChTdXBwb3J0U2lnbmluZyknID09ICcnIj50cnVlPC9TdXBwb3J0U2lnbmluZz4KKyAgICA8U3VwcG9ydFNpZ25pbmcgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKScgPT0gJ0RlYnVnJyI+ZmFsc2U8L1N1cHBvcnRTaWduaW5nPgorICAgIDxTdXBwb3J0U2lnbmluZyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb25UeXBlKScgPT0gJ1N0YXRpY0xpYnJhcnknIj5mYWxzZTwvU3VwcG9ydFNpZ25pbmc+CiAgIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IlVzZXJNYWNyb3MiPgotICAgIDxQeURsbE5hbWU+cHl0aG9uMzQkKFB5RGVidWdFeHQpPC9QeURsbE5hbWU+Ci0gICAgPFB5dGhvbkV4ZT4kKE91dERpcilweXRob24kKFB5RGVidWdFeHQpLmV4ZTwvUHl0aG9uRXhlPgotICAgIDxLaWxsUHl0aG9uRXhlPiQoT3V0RGlyKWtpbGxfcHl0aG9uJChQeURlYnVnRXh0KS5leGU8L0tpbGxQeXRob25FeGU+Ci0gICAgPGV4dGVybmFsc0Rpcj4uLlxleHRlcm5hbHM8L2V4dGVybmFsc0Rpcj4KLSAgICA8c3FsaXRlM0Rpcj4kKGV4dGVybmFsc0Rpcilcc3FsaXRlLTMuOC4zLjE8L3NxbGl0ZTNEaXI+Ci0gICAgPGJ6MkRpcj4kKGV4dGVybmFsc0RpcilcYnppcDItMS4wLjY8L2J6MkRpcj4KLSAgICA8bHptYURpcj4kKGV4dGVybmFsc0RpcilceHotNS4wLjU8L2x6bWFEaXI+Ci0gICAgPG9wZW5zc2xEaXI+JChleHRlcm5hbHNEaXIpXG9wZW5zc2wtMS4wLjFsPC9vcGVuc3NsRGlyPgotICAgIDx0Y2x0a0Rpcj4kKGV4dGVybmFsc0RpcilcdGNsdGs8L3RjbHRrRGlyPgotICAgIDx0Y2x0azY0RGlyPiQoZXh0ZXJuYWxzRGlyKVx0Y2x0azY0PC90Y2x0azY0RGlyPgotICAgIDx0Y2x0a0xpYj4kKHRjbHRrRGlyKVxsaWJcdGNsODZ0LmxpYjskKHRjbHRrRGlyKVxsaWJcdGs4NnQubGliPC90Y2x0a0xpYj4KLSAgICA8dGNsdGtMaWJEZWJ1Zz4kKHRjbHRrRGlyKVxsaWJcdGNsODZ0Zy5saWI7JCh0Y2x0a0RpcilcbGliXHRrODZ0Zy5saWI8L3RjbHRrTGliRGVidWc+Ci0gICAgPHRjbHRrNjRMaWI+JCh0Y2x0azY0RGlyKVxsaWJcdGNsODZ0LmxpYjskKHRjbHRrNjREaXIpXGxpYlx0azg2dC5saWI8L3RjbHRrNjRMaWI+Ci0gICAgPHRjbHRrNjRMaWJEZWJ1Zz4kKHRjbHRrNjREaXIpXGxpYlx0Y2w4NnRnLmxpYjskKHRjbHRrNjREaXIpXGxpYlx0azg2dGcubGliPC90Y2x0azY0TGliRGVidWc+CisKKyAgPFByb3BlcnR5R3JvdXA+CisgICAgPF9EZWJ1Z1ByZXByb2Nlc3NvckRlZmluaXRpb24+TkRFQlVHOzwvX0RlYnVnUHJlcHJvY2Vzc29yRGVmaW5pdGlvbj4KKyAgICA8X0RlYnVnUHJlcHJvY2Vzc29yRGVmaW5pdGlvbiBDb25kaXRpb249IiQoQ29uZmlndXJhdGlvbikgPT0gJ0RlYnVnJyI+X0RFQlVHOzwvX0RlYnVnUHJlcHJvY2Vzc29yRGVmaW5pdGlvbj4KKyAgICA8X1BsYXRmb3JtUHJlcHJvY2Vzc29yRGVmaW5pdGlvbj5fV0lOMzI7PC9fUGxhdGZvcm1QcmVwcm9jZXNzb3JEZWZpbml0aW9uPgorICAgIDxfUGxhdGZvcm1QcmVwcm9jZXNzb3JEZWZpbml0aW9uIENvbmRpdGlvbj0iJChQbGF0Zm9ybSkgPT0gJ3g2NCciPl9XSU42NDtfTV9YNjQ7PC9fUGxhdGZvcm1QcmVwcm9jZXNzb3JEZWZpbml0aW9uPgorICAgIDxfUHlkUHJlcHJvY2Vzc29yRGVmaW5pdGlvbiBDb25kaXRpb249IiQoVGFyZ2V0RXh0KSA9PSAnLnB5ZCciPlB5X0JVSUxEX0NPUkVfTU9EVUxFOzwvX1B5ZFByZXByb2Nlc3NvckRlZmluaXRpb24+CiAgIDwvUHJvcGVydHlHcm91cD4KICAgPEl0ZW1EZWZpbml0aW9uR3JvdXA+CiAgICAgPENsQ29tcGlsZT4KKyAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPiQoUHlTb3VyY2VQYXRoKUluY2x1ZGU7JChQeVNvdXJjZVBhdGgpUEM7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KKyAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5XSU4zMjskKF9QbGF0Zm9ybVByZXByb2Nlc3NvckRlZmluaXRpb24pJChfRGVidWdQcmVwcm9jZXNzb3JEZWZpbml0aW9uKSQoX1B5ZFByZXByb2Nlc3NvckRlZmluaXRpb24pJShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgorICAgICAgCiAgICAgICA8T3B0aW1pemF0aW9uPk1heFNwZWVkPC9PcHRpbWl6YXRpb24+Ci0gICAgICA8SW5saW5lRnVuY3Rpb25FeHBhbnNpb24+T25seUV4cGxpY2l0SW5saW5lPC9JbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj4KICAgICAgIDxJbnRyaW5zaWNGdW5jdGlvbnM+dHJ1ZTwvSW50cmluc2ljRnVuY3Rpb25zPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cSW5jbHVkZTsgLi5cUEM7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5fV0lOMzI7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgogICAgICAgPFN0cmluZ1Bvb2xpbmc+dHJ1ZTwvU3RyaW5nUG9vbGluZz4KLSAgICAgIDxFeGNlcHRpb25IYW5kbGluZz4KLSAgICAgIDwvRXhjZXB0aW9uSGFuZGxpbmc+Ci0gICAgICA8UnVudGltZUxpYnJhcnk+TXVsdGlUaHJlYWRlZDwvUnVudGltZUxpYnJhcnk+CisgICAgICA8RXhjZXB0aW9uSGFuZGxpbmc+PC9FeGNlcHRpb25IYW5kbGluZz4KKyAgICAgIDxSdW50aW1lTGlicmFyeT5NdWx0aVRocmVhZGVkRExMPC9SdW50aW1lTGlicmFyeT4KICAgICAgIDxGdW5jdGlvbkxldmVsTGlua2luZz50cnVlPC9GdW5jdGlvbkxldmVsTGlua2luZz4KICAgICAgIDxXYXJuaW5nTGV2ZWw+TGV2ZWwzPC9XYXJuaW5nTGV2ZWw+CiAgICAgICA8RGVidWdJbmZvcm1hdGlvbkZvcm1hdD5Qcm9ncmFtRGF0YWJhc2U8L0RlYnVnSW5mb3JtYXRpb25Gb3JtYXQ+CiAgICAgICA8Q29tcGlsZUFzPkRlZmF1bHQ8L0NvbXBpbGVBcz4KKyAgICAgIDxTdXBwcmVzc1N0YXJ0dXBCYW5uZXI+dHJ1ZTwvU3VwcHJlc3NTdGFydHVwQmFubmVyPgorICAgICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+CisgICAgPC9DbENvbXBpbGU+CisgICAgPENsQ29tcGlsZSBDb25kaXRpb249IiQoQ29uZmlndXJhdGlvbikgPT0gJ0RlYnVnJyI+CisgICAgICA8T3B0aW1pemF0aW9uPkRpc2FibGVkPC9PcHRpbWl6YXRpb24+CisgICAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPmZhbHNlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+CisgICAgICA8UnVudGltZUxpYnJhcnk+TXVsdGlUaHJlYWRlZERlYnVnRExMPC9SdW50aW1lTGlicmFyeT4KICAgICA8L0NsQ29tcGlsZT4KICAgICA8TGluaz4KICAgICAgIDxBZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVzPiQoT3V0RGlyKTslKEFkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVzPgpAQCAtNTEsNTQgKzUyLDEwNSBAQAogICAgICAgPFN1YlN5c3RlbT5XaW5kb3dzPC9TdWJTeXN0ZW0+CiAgICAgICA8UmFuZG9taXplZEJhc2VBZGRyZXNzPnRydWU8L1JhbmRvbWl6ZWRCYXNlQWRkcmVzcz4KICAgICAgIDxEYXRhRXhlY3V0aW9uUHJldmVudGlvbj50cnVlPC9EYXRhRXhlY3V0aW9uUHJldmVudGlvbj4KKyAgICAgIDxTdXBwcmVzc1N0YXJ0dXBCYW5uZXI+dHJ1ZTwvU3VwcHJlc3NTdGFydHVwQmFubmVyPgorICAgICAgPElnbm9yZVNwZWNpZmljRGVmYXVsdExpYnJhcmllcz5MSUJDOyUoSWdub3JlU3BlY2lmaWNEZWZhdWx0TGlicmFyaWVzKTwvSWdub3JlU3BlY2lmaWNEZWZhdWx0TGlicmFyaWVzPgogICAgICAgPFRhcmdldE1hY2hpbmU+TWFjaGluZVg4NjwvVGFyZ2V0TWFjaGluZT4KKyAgICAgIDxUYXJnZXRNYWNoaW5lIENvbmRpdGlvbj0iJyQoUGxhdGZvcm0pJyA9PSAneDY0JyI+TWFjaGluZVg2NDwvVGFyZ2V0TWFjaGluZT4KKyAgICAgIDxQcm9maWxlR3VpZGVkRGF0YWJhc2UgQ29uZGl0aW9uPSIkKFN1cHBvcnRQR08pIj4kKE91dERpcikkKFRhcmdldE5hbWUpLnBnZDwvUHJvZmlsZUd1aWRlZERhdGFiYXNlPgorICAgICAgPExpbmtUaW1lQ29kZUdlbmVyYXRpb24gQ29uZGl0aW9uPSIkKENvbmZpZ3VyYXRpb24pID09ICdSZWxlYXNlJyI+VXNlTGlua1RpbWVDb2RlR2VuZXJhdGlvbjwvTGlua1RpbWVDb2RlR2VuZXJhdGlvbj4KKyAgICAgIDxMaW5rVGltZUNvZGVHZW5lcmF0aW9uIENvbmRpdGlvbj0iJChTdXBwb3J0UEdPKSBhbmQgJChDb25maWd1cmF0aW9uKSA9PSAnUEdJbnN0cnVtZW50JyI+UEdJbnN0cnVtZW50PC9MaW5rVGltZUNvZGVHZW5lcmF0aW9uPgorICAgICAgPExpbmtUaW1lQ29kZUdlbmVyYXRpb24gQ29uZGl0aW9uPSIkKFN1cHBvcnRQR08pIGFuZCAkKENvbmZpZ3VyYXRpb24pID09ICdQR1VwZGF0ZSciPlBHVXBkYXRlPC9MaW5rVGltZUNvZGVHZW5lcmF0aW9uPgogICAgIDwvTGluaz4KKyAgICA8TGliPgorICAgICAgPExpbmtUaW1lQ29kZUdlbmVyYXRpb24gQ29uZGl0aW9uPSIkKENvbmZpZ3VyYXRpb24pID09ICdSZWxlYXNlJyI+dHJ1ZTwvTGlua1RpbWVDb2RlR2VuZXJhdGlvbj4KKyAgICAgIDxMaW5rVGltZUNvZGVHZW5lcmF0aW9uIENvbmRpdGlvbj0iJChTdXBwb3J0UEdPKSBhbmQgJChDb25maWd1cmF0aW9uKSA9PSAnUEdJbnN0cnVtZW50JyI+dHJ1ZTwvTGlua1RpbWVDb2RlR2VuZXJhdGlvbj4KKyAgICAgIDxMaW5rVGltZUNvZGVHZW5lcmF0aW9uIENvbmRpdGlvbj0iJChTdXBwb3J0UEdPKSBhbmQgJChDb25maWd1cmF0aW9uKSA9PSAnUEdVcGRhdGUnIj50cnVlPC9MaW5rVGltZUNvZGVHZW5lcmF0aW9uPgorICAgIDwvTGliPgogICAgIDxSZXNvdXJjZUNvbXBpbGU+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uLlxQQzsuLlxJbmNsdWRlOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+CisgICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4kKFB5U291cmNlUGF0aClQQzskKFB5U291cmNlUGF0aClJbmNsdWRlOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+CisgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+JChfRGVidWdQcmVwcm9jZXNzb3JEZWZpbml0aW9uKSUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KKyAgICAgIDxDdWx0dXJlPjB4MDQwOTwvQ3VsdHVyZT4KICAgICA8L1Jlc291cmNlQ29tcGlsZT4KKyAgICA8TWlkbD4KKyAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4kKF9EZWJ1Z1ByZXByb2Nlc3NvckRlZmluaXRpb24pJShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgorICAgICAgPE1rVHlwTGliQ29tcGF0aWJsZT50cnVlPC9Na1R5cExpYkNvbXBhdGlibGU+CisgICAgICA8U3VwcHJlc3NTdGFydHVwQmFubmVyPnRydWU8L1N1cHByZXNzU3RhcnR1cEJhbm5lcj4KKyAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5XaW4zMjwvVGFyZ2V0RW52aXJvbm1lbnQ+CisgICAgICA8VGFyZ2V0RW52aXJvbm1lbnQgQ29uZGl0aW9uPSInJChQbGF0Zm9ybSknID09ICd4NjQnIj5YNjQ8L1RhcmdldEVudmlyb25tZW50PgorICAgICAgPFR5cGVMaWJyYXJ5TmFtZT4kKE91dERpcil3aW5pbnN0LnRsYjwvVHlwZUxpYnJhcnlOYW1lPgorICAgICAgPEhlYWRlckZpbGVOYW1lPgorICAgICAgPC9IZWFkZXJGaWxlTmFtZT4KKyAgICA8L01pZGw+CiAgIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1Hcm91cD4KLSAgICA8QnVpbGRNYWNybyBJbmNsdWRlPSJQeURsbE5hbWUiPgotICAgICAgPFZhbHVlPiQoUHlEbGxOYW1lKTwvVmFsdWU+Ci0gICAgPC9CdWlsZE1hY3JvPgotICAgIDxCdWlsZE1hY3JvIEluY2x1ZGU9IlB5dGhvbkV4ZSI+Ci0gICAgICA8VmFsdWU+JChQeXRob25FeGUpPC9WYWx1ZT4KLSAgICA8L0J1aWxkTWFjcm8+Ci0gICAgPEJ1aWxkTWFjcm8gSW5jbHVkZT0iS2lsbFB5dGhvbkV4ZSI+Ci0gICAgICA8VmFsdWU+JChLaWxsUHl0aG9uRXhlKTwvVmFsdWU+Ci0gICAgPC9CdWlsZE1hY3JvPgotICAgIDxCdWlsZE1hY3JvIEluY2x1ZGU9ImV4dGVybmFsc0RpciI+Ci0gICAgICA8VmFsdWU+JChleHRlcm5hbHNEaXIpPC9WYWx1ZT4KLSAgICA8L0J1aWxkTWFjcm8+Ci0gICAgPEJ1aWxkTWFjcm8gSW5jbHVkZT0ic3FsaXRlM0RpciI+Ci0gICAgICA8VmFsdWU+JChzcWxpdGUzRGlyKTwvVmFsdWU+Ci0gICAgPC9CdWlsZE1hY3JvPgotICAgIDxCdWlsZE1hY3JvIEluY2x1ZGU9ImJ6MkRpciI+Ci0gICAgICA8VmFsdWU+JChiejJEaXIpPC9WYWx1ZT4KLSAgICA8L0J1aWxkTWFjcm8+Ci0gICAgPEJ1aWxkTWFjcm8gSW5jbHVkZT0ibHptYURpciI+Ci0gICAgICA8VmFsdWU+JChsem1hRGlyKTwvVmFsdWU+Ci0gICAgPC9CdWlsZE1hY3JvPgotICAgIDxCdWlsZE1hY3JvIEluY2x1ZGU9Im9wZW5zc2xEaXIiPgotICAgICAgPFZhbHVlPiQob3BlbnNzbERpcik8L1ZhbHVlPgotICAgIDwvQnVpbGRNYWNybz4KLSAgICA8QnVpbGRNYWNybyBJbmNsdWRlPSJ0Y2x0a0RpciI+Ci0gICAgICA8VmFsdWU+JCh0Y2x0a0Rpcik8L1ZhbHVlPgotICAgIDwvQnVpbGRNYWNybz4KLSAgICA8QnVpbGRNYWNybyBJbmNsdWRlPSJ0Y2x0azY0RGlyIj4KLSAgICAgIDxWYWx1ZT4kKHRjbHRrNjREaXIpPC9WYWx1ZT4KLSAgICA8L0J1aWxkTWFjcm8+Ci0gICAgPEJ1aWxkTWFjcm8gSW5jbHVkZT0idGNsdGtMaWIiPgotICAgICAgPFZhbHVlPiQodGNsdGtMaWIpPC9WYWx1ZT4KLSAgICA8L0J1aWxkTWFjcm8+Ci0gICAgPEJ1aWxkTWFjcm8gSW5jbHVkZT0idGNsdGtMaWJEZWJ1ZyI+Ci0gICAgICA8VmFsdWU+JCh0Y2x0a0xpYkRlYnVnKTwvVmFsdWU+Ci0gICAgPC9CdWlsZE1hY3JvPgotICAgIDxCdWlsZE1hY3JvIEluY2x1ZGU9InRjbHRrNjRMaWIiPgotICAgICAgPFZhbHVlPiQodGNsdGs2NExpYik8L1ZhbHVlPgotICAgIDwvQnVpbGRNYWNybz4KLSAgICA8QnVpbGRNYWNybyBJbmNsdWRlPSJ0Y2x0azY0TGliRGVidWciPgotICAgICAgPFZhbHVlPiQodGNsdGs2NExpYkRlYnVnKTwvVmFsdWU+Ci0gICAgPC9CdWlsZE1hY3JvPgotICA8L0l0ZW1Hcm91cD4KLTwvUHJvamVjdD4KKworICA8VGFyZ2V0IE5hbWU9IkdlbmVyYXRlUHl0aG9uTnRSY0giCisgICAgICAgICAgQmVmb3JlVGFyZ2V0cz0iJChNYWtlVmVyc2lvbkluZm9CZWZvcmVUYXJnZXQpIgorICAgICAgICAgIElucHV0cz0iJChQeVNvdXJjZVBhdGgpSW5jbHVkZVxwYXRjaGxldmVsLmgiCisgICAgICAgICAgT3V0cHV0cz0iJChQeVNvdXJjZVBhdGgpUENccHl0aG9ubnRfcmMkKFB5RGVidWdFeHQpLmgiPgorICAgIDxXcml0ZUxpbmVzVG9GaWxlIEZpbGU9IiQoUHlTb3VyY2VQYXRoKVBDXHB5dGhvbm50X3JjJChQeURlYnVnRXh0KS5oIiBPdmVyd3JpdGU9InRydWUiIEVuY29kaW5nPSJhc2NpaSIKKyAgICAgICAgICAgICAgICAgICAgICBMaW5lcz0nLyogVGhpcyBmaWxlIGNyZWF0ZWQgYnkgcHl0aG9uLnByb3BzIC90OkdlbmVyYXRlUHl0aG9uTnRSY0ggKi8KKyNkZWZpbmUgRklFTEQzICQoRmllbGQzVmFsdWUpCisjZGVmaW5lIE1TX0RMTF9JRCAiJChTeXNXaW5WZXIpIgorI2RlZmluZSBQWVRIT05fRExMX05BTUUgIiQoUHlEbGxOYW1lKS5kbGwiCisnIC8+CisgICAgPEl0ZW1Hcm91cD4KKyAgICAgICAgPEZpbGVXcml0ZXMgSW5jbHVkZT0iJChQeVNvdXJjZVBhdGgpUENccHl0aG9ubnRfcmMkKFB5RGVidWdFeHQpLmgiIC8+CisgICAgPC9JdGVtR3JvdXA+CisgIDwvVGFyZ2V0PgorCisgIDxVc2luZ1Rhc2sgVGFza05hbWU9IktpbGxQeXRob24iIFRhc2tGYWN0b3J5PSJDb2RlVGFza0ZhY3RvcnkiIEFzc2VtYmx5RmlsZT0iJChNU0J1aWxkVG9vbHNQYXRoKVxNaWNyb3NvZnQuQnVpbGQuVGFza3MudjQuMC5kbGwiPgorICAgIDxQYXJhbWV0ZXJHcm91cD4KKyAgICAgIDxGaWxlTmFtZSBSZXF1aXJlZD0idHJ1ZSIgLz4KKyAgICA8L1BhcmFtZXRlckdyb3VwPgorICAgIDxUYXNrPgorICAgICAgPENvZGUgVHlwZT0iRnJhZ21lbnQiIExhbmd1YWdlPSJjcyI+Cis8IVtDREFUQVsKK3N0cmluZyBmdWxsUGF0aCA9IFN5c3RlbS5JTy5QYXRoLkdldEZ1bGxQYXRoKEZpbGVOYW1lKTsKK0xvZy5Mb2dNZXNzYWdlKCJMb29raW5nIGZvciAiICsgZnVsbFBhdGgsIE1lc3NhZ2VJbXBvcnRhbmNlLk5vcm1hbCk7Citmb3JlYWNoIChTeXN0ZW0uRGlhZ25vc3RpY3MuUHJvY2VzcyBwIGluIFN5c3RlbS5EaWFnbm9zdGljcy5Qcm9jZXNzLkdldFByb2Nlc3NlcygpKSB7CisgICAgdHJ5IHsKKyAgICAgICAgTG9nLkxvZ01lc3NhZ2UoIkZvdW5kIHJ1bm5pbmcgcHJvY2VzczogIiArIHAuTWFpbk1vZHVsZS5GaWxlTmFtZSwgTWVzc2FnZUltcG9ydGFuY2UuTG93KTsKKyAgICAgICAgaWYgKGZ1bGxQYXRoLkVxdWFscyhTeXN0ZW0uSU8uUGF0aC5HZXRGdWxsUGF0aChwLk1haW5Nb2R1bGUuRmlsZU5hbWUpLCBTdHJpbmdDb21wYXJpc29uLk9yZGluYWxJZ25vcmVDYXNlKSkgeworICAgICAgICAgICAgTG9nLkxvZ01lc3NhZ2UoIlRlcm1pbmF0aW5nICIgKyBwLk1haW5Nb2R1bGUuRmlsZU5hbWUsIE1lc3NhZ2VJbXBvcnRhbmNlLkhpZ2gpOworICAgICAgICAgICAgcC5LaWxsKCk7CisgICAgICAgIH0KKyAgICB9IGNhdGNoIHsKKyAgICB9Cit9CitdXT4KKyAgICAgIDwvQ29kZT4KKyAgICA8L1Rhc2s+CisgIDwvVXNpbmdUYXNrPgorICAKKyAgPFRhcmdldCBOYW1lPSJLaWxsUHl0aG9uIiBCZWZvcmVUYXJnZXRzPSJQcmVwYXJlRm9yQnVpbGQiIENvbmRpdGlvbj0iJyQoS2lsbFB5dGhvbiknID09ICd0cnVlJyI+CisgICAgPE1lc3NhZ2UgVGV4dD0iS2lsbGluZyBhbnkgcnVubmluZyBweXRob24uZXhlIGluc3RhbmNlcy4uLiIgSW1wb3J0YW5jZT0iaGlnaCIgLz4KKyAgICA8S2lsbFB5dGhvbiBGaWxlTmFtZT0iJChPdXREaXIpcHl0aG9uJChQeURlYnVnRXh0KS5leGUiIC8+CisgIDwvVGFyZ2V0PgorICAKKyAgPCEtLQorICBBIGRlZmF1bHQgdGFyZ2V0IHRvIGhhbmRsZSBtc2J1aWxkIHBjYnVpbGQucHJvaiAvdDpDbGVhbkFsbC4KKyAgCisgIFNvbWUgZXh0ZXJuYWxzIHByb2plY3RzIGRvbid0IHJlc3BvbmQgdG8gL3Q6Q2xlYW4sIHNvIHdlIGludm9rZQorICBDbGVhbkFsbCBvbiB0aGVtIHdoZW4gd2UgcmVhbGx5IHdhbnQgdG8gY2xlYW4gdXAuCisgIC0tPgorICA8VGFyZ2V0IE5hbWU9IkNsZWFuQWxsIiBEZXBlbmRzT25UYXJnZXRzPSJDbGVhbiI+CisgICAgPE1TQnVpbGQgUHJvamVjdHM9IkAoUHJvamVjdFJlZmVyZW5jZS0+JyUoRnVsbFBhdGgpJykiCisgICAgICAgICAgICAgUHJvcGVydGllcz0iQ29uZmlndXJhdGlvbj0kKENvbmZpZ3VyYXRpb24pO1BsYXRmb3JtPSQoUGxhdGZvcm0pIgorICAgICAgICAgICAgIEJ1aWxkSW5QYXJhbGxlbD0idHJ1ZSIKKyAgICAgICAgICAgICBTdG9wT25GaXJzdEZhaWx1cmU9ImZhbHNlIgorICAgICAgICAgICAgIENvbmRpdGlvbj0iRXhpc3RzKCUoRnVsbFBhdGgpKSIKKyAgICAgICAgICAgICBUYXJnZXRzPSJDbGVhbkFsbCIgLz4KKyAgPC9UYXJnZXQ+CisKKyAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChTaWduaW5nQ2VydGlmaWNhdGUpJyAhPSAnJyBhbmQgJChTdXBwb3J0U2lnbmluZykiPgorICAgIDxTaWduVG9vbFBhdGggQ29uZGl0aW9uPSInJChTaWduVG9vbFBhdGgpJyA9PSAnJyBvciAhRXhpc3RzKCQoU2lnblRvb2xQYXRoKSkiPiQocmVnaXN0cnk6SEtFWV9MT0NBTF9NQUNISU5FXFNvZnR3YXJlXE1pY3Jvc29mdFxXaW5kb3dzIEtpdHNcSW5zdGFsbGVkIFJvb3RzQEtpdHNSb290ODEpXGJpblx4ODZcc2lnbnRvb2wuZXhlPC9TaWduVG9vbFBhdGg+CisgICAgPFNpZ25Ub29sUGF0aCBDb25kaXRpb249IiFFeGlzdHMoJChTaWduVG9vbFBhdGgpKSI+JChyZWdpc3RyeTpIS0VZX0xPQ0FMX01BQ0hJTkVcU29mdHdhcmVcTWljcm9zb2Z0XFdpbmRvd3MgS2l0c1xJbnN0YWxsZWQgUm9vdHNAS2l0c1Jvb3QpXGJpblx4ODZcc2lnbnRvb2wuZXhlPC9TaWduVG9vbFBhdGg+CisgICAgPFNpZ25Ub29sUGF0aCBDb25kaXRpb249IiFFeGlzdHMoJChTaWduVG9vbFBhdGgpKSI+JChyZWdpc3RyeTpIS0VZX0xPQ0FMX01BQ0hJTkVcU09GVFdBUkVcTWljcm9zb2Z0XE1pY3Jvc29mdCBTREtzXFdpbmRvd3NcdjcuMUFASW5zdGFsbGF0aW9uRm9sZGVyKVxCaW5cc2lnbnRvb2wuZXhlPC9TaWduVG9vbFBhdGg+CisgICAgPF9TaWduQ29tbWFuZCBDb25kaXRpb249IkV4aXN0cygkKFNpZ25Ub29sUGF0aCkpIj4iJChTaWduVG9vbFBhdGgpIiBzaWduIC9xIC9uICIkKFNpZ25pbmdDZXJ0aWZpY2F0ZSkiIC90IGh0dHA6Ly90aW1lc3RhbXAudmVyaXNpZ24uY29tL3NjcmlwdHMvdGltZXN0YW1wLmRsbCAvZCAiUHl0aG9uICQoUHl0aG9uVmVyc2lvbikiPC9fU2lnbkNvbW1hbmQ+CisgIDwvUHJvcGVydHlHcm91cD4KKyAgCisgIDxUYXJnZXQgTmFtZT0iX1NpZ25CdWlsZCIgQWZ0ZXJUYXJnZXRzPSJBZnRlckJ1aWxkIiBDb25kaXRpb249IickKFNpZ25pbmdDZXJ0aWZpY2F0ZSknICE9ICcnIGFuZCAkKFN1cHBvcnRTaWduaW5nKSI+CisgICAgPEVycm9yIFRleHQ9IlVuYWJsZSB0byBsb2NhdGUgc2lnbnRvb2wuZXhlLiBTZXQgL3A6U2lnblRvb2xQYXRoIGFuZCByZWJ1aWxkIiBDb25kaXRpb249IickKF9TaWduQ29tbWFuZCknID09ICcnIiAvPgorICAgIDxFeGVjIENvbW1hbmQ9JyQoX1NpZ25Db21tYW5kKSAiJChUYXJnZXRQYXRoKSIgfHwgJChfU2lnbkNvbW1hbmQpICIkKFRhcmdldFBhdGgpIiB8fCAkKF9TaWduQ29tbWFuZCkgIiQoVGFyZ2V0UGF0aCkiJyBDb250aW51ZU9uRXJyb3I9ImZhbHNlIiAvPgorICA8L1RhcmdldD4KKzwvUHJvamVjdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9QQ2J1aWxkL3B5dGhvbi5wcm9wcyBiL1BDYnVpbGQvcHl0aG9uLnByb3BzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUxZWNlYjgKLS0tIC9kZXYvbnVsbAorKysgYi9QQ2J1aWxkL3B5dGhvbi5wcm9wcwpAQCAtMCwwICsxLDExNiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKzxQcm9qZWN0IFRvb2xzVmVyc2lvbj0iNC4wIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KKyAgPFByb3BlcnR5R3JvdXA+CisgICAgPFBsYXRmb3JtIENvbmRpdGlvbj0iJyQoUGxhdGZvcm0pJyA9PSAnJyI+V2luMzI8L1BsYXRmb3JtPgorICAgIDxDb25maWd1cmF0aW9uIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbiknID09ICcnIj5SZWxlYXNlPC9Db25maWd1cmF0aW9uPgorICAgIDwhLS0KKyAgICBVc2UgdGhlIGxhdGVzdCBhdmFpbGFibGUgdmVyc2lvbiBvZiBWaXN1YWwgU3R1ZGlvIHRvIGJ1aWxkLiBUbyBvdmVycmlkZQorICAgIHRoaXMgYW5kIGJ1aWxkIHdpdGggYW4gZWFybGllciB2ZXJzaW9uLCBwYXNzICIvcDpQbGF0Zm9ybVRvb2xzZXQ9djEwMCIKKyAgICAoZm9yIGV4YW1wbGUpIHdoZW4gYnVpbGRpbmcuCisgICAgLS0+CisgICAgPFBsYXRmb3JtVG9vbHNldCBDb25kaXRpb249IickKFBsYXRmb3JtVG9vbHNldCknID09ICcnIGFuZCAnJChWQ1RhcmdldHNQYXRoMTQpJyAhPSAnJyI+djE0MDwvUGxhdGZvcm1Ub29sc2V0PgorICAgIDxQbGF0Zm9ybVRvb2xzZXQgQ29uZGl0aW9uPSInJChQbGF0Zm9ybVRvb2xzZXQpJyA9PSAnJyBhbmQgJyQoVkNUYXJnZXRzUGF0aDEyKScgIT0gJyciPnYxMjA8L1BsYXRmb3JtVG9vbHNldD4KKyAgICA8UGxhdGZvcm1Ub29sc2V0IENvbmRpdGlvbj0iJyQoUGxhdGZvcm1Ub29sc2V0KScgPT0gJycgYW5kICckKFZDVGFyZ2V0c1BhdGgxMSknICE9ICcnIj52MTEwPC9QbGF0Zm9ybVRvb2xzZXQ+CisgICAgPFBsYXRmb3JtVG9vbHNldCBDb25kaXRpb249IickKFBsYXRmb3JtVG9vbHNldCknID09ICcnIGFuZCAnJChWQ1RhcmdldHNQYXRoMTApJyAhPSAnJyI+djEwMDwvUGxhdGZvcm1Ub29sc2V0PgorICAgIAorICAgIDwhLS0KKyAgICBDb252aW5jaW5nIE1TVkMvTVNCdWlsZCB0byBwcmVmZXIgb3VyIHBsYXRmb3JtIG5hbWVzIGlzIHRvbyBkaWZmaWN1bHQsCisgICAgc28gd2UgZGVmaW5lIG91ciBvd24gY29uc3RhbnQgQXJjaE5hbWUgYW5kIHVzZSB3aGVyZXZlciB3ZSBuZWVkIGl0LgorICAgIC0tPgorICAgIDxBcmNoTmFtZSBDb25kaXRpb249IickKEFyY2hOYW1lKScgPT0gJycgYW5kICQoUGxhdGZvcm0pID09ICd4NjQnIj5hbWQ2NDwvQXJjaE5hbWU+CisgICAgPEFyY2hOYW1lIENvbmRpdGlvbj0iJyQoQXJjaE5hbWUpJyA9PSAnJyI+d2luMzI8L0FyY2hOYW1lPgorICAgIDxBcmNoTmFtZSBDb25kaXRpb249IiQoQ29uZmlndXJhdGlvbikgPT0gJ1BHSW5zdHJ1bWVudCcgb3IgJChDb25maWd1cmF0aW9uKSA9PSAnUEdVcGRhdGUnIj4kKEFyY2hOYW1lKS1wZ288L0FyY2hOYW1lPgorICAgIAorICAgIDwhLS0gUm9vdCBkaXJlY3Rvcnkgb2YgdGhlIHJlcG9zaXRvcnkgLS0+CisgICAgPFB5U291cmNlUGF0aCBDb25kaXRpb249IickKFB5U291cmNlUGF0aCknID09ICcnIj4kKFtTeXN0ZW0uSU8uUGF0aF06OkdldEZ1bGxQYXRoKCQoTVNCdWlsZFRoaXNGaWxlRGlyZWN0b3J5KVwuLlwpKTwvUHlTb3VyY2VQYXRoPgorICAgIDxQeVNvdXJjZVBhdGggQ29uZGl0aW9uPSIhSGFzVHJhaWxpbmdTbGFzaCgkKFB5U291cmNlUGF0aCkpIj4kKFB5U291cmNlUGF0aClcPC9QeVNvdXJjZVBhdGg+CisgICAgCisgICAgPCEtLSBEaXJlY3Rvcnkgd2hlcmUgYnVpbGQgb3V0cHV0cyBhcmUgcHV0IC0tPgorICAgIDxCdWlsZFBhdGggQ29uZGl0aW9uPSInJChCdWlsZFBhdGgpJyA9PSAnJyI+JChQeVNvdXJjZVBhdGgpUENCdWlsZFwkKEFyY2hOYW1lKVw8L0J1aWxkUGF0aD4KKyAgICA8QnVpbGRQYXRoIENvbmRpdGlvbj0iIUhhc1RyYWlsaW5nU2xhc2goJChCdWlsZFBhdGgpKSI+JChCdWlsZFBhdGgpXDwvQnVpbGRQYXRoPgorICAgIAorICAgIDwhLS0gRGlyZWN0b3JpZXMgb2YgZXh0ZXJuYWwgcHJvamVjdHMuIHRjbHRrIGlzIGhhbmRsZWQgaW4gdGNsdGsucHJvcHMgLS0+CisgICAgPEV4dGVybmFsc0Rpcj4kKFtTeXN0ZW0uSU8uUGF0aF06OkdldEZ1bGxQYXRoKGAkKFB5U291cmNlUGF0aClleHRlcm5hbHNcYCkpPC9FeHRlcm5hbHNEaXI+CisgICAgPHNxbGl0ZTNEaXI+JChFeHRlcm5hbHNEaXIpc3FsaXRlLTMuOC4zLjFcPC9zcWxpdGUzRGlyPgorICAgIDxiejJEaXI+JChFeHRlcm5hbHNEaXIpYnppcDItMS4wLjZcPC9iejJEaXI+CisgICAgPGx6bWFEaXI+JChFeHRlcm5hbHNEaXIpeHotNS4wLjVcPC9sem1hRGlyPgorICAgIDxvcGVuc3NsRGlyPiQoRXh0ZXJuYWxzRGlyKW9wZW5zc2wtMS4wLjFsXDwvb3BlbnNzbERpcj4KKyAgICA8bmFzbURpcj4kKEV4dGVybmFsc0RpcilcbmFzbS0yLjExLjA2XDwvbmFzbURpcj4KKyAgICAKKyAgICA8IS0tIFN1ZmZpeCBmb3IgYWxsIGJpbmFyaWVzIHdoZW4gYnVpbGRpbmcgZm9yIGRlYnVnIC0tPgorICAgIDxQeURlYnVnRXh0IENvbmRpdGlvbj0iJyQoUHlEZWJ1Z0V4dCknID09ICcnIGFuZCAkKENvbmZpZ3VyYXRpb24pID09ICdEZWJ1ZyciPl9kPC9QeURlYnVnRXh0PgorICAgIAorICAgIDwhLS0gRnVsbCBwYXRoIG9mIHRoZSByZXN1bHRpbmcgcHl0aG9uLmV4ZSBiaW5hcnkgLS0+CisgICAgPFB5dGhvbkV4ZSBDb25kaXRpb249IickKFB5dGhvbkV4ZSknID09ICcnIj4kKEJ1aWxkUGF0aClweXRob24kKFB5RGVidWdFeHQpLmV4ZTwvUHl0aG9uRXhlPgorCisgICAgPCEtLQorICAgIFJlYWQgdmVyc2lvbiBpbmZvcm1hdGlvbiBmcm9tIEluY2x1ZGVccGF0Y2hsZXZlbC5oLiBUaGUgZm9sbG93aW5nIHByb3BlcnRpZXMgYXJlIHNldDoKKyAgICAKKyAgICAgICAgTWFqb3JWZXJzaW9uTnVtYmVyICAtICAgdGhlICczJyBpbiAnMy41LjJhMScKKyAgICAgICAgTWlub3JWZXJzaW9uTnVtYmVyICAtICAgdGhlICc1JyBpbiAnMy41LjJhMScKKyAgICAgICAgTWljcm9WZXJzaW9uTnVtYmVyICAtICAgdGhlICcyJyBpbiAnMy41LjJhMScKKyAgICAgICAgUmVsZWFzZVNlcmlhbCAgICAgICAtICAgdGhlICcxJyBpbiAnMy41LjJhMScKKyAgICAgICAgUmVsZWFzZUxldmVsTmFtZSAgICAtICAgdGhlICdhMScgaW4gJzMuNS4yYTEnCisgICAgICAgIFB5dGhvblZlcnNpb25OdW1iZXIgLSAgICczLjUuMicgZm9yICczLjUuMmExJworICAgICAgICBQeXRob25WZXJzaW9uICAgICAgIC0gICAnMy41LjJhMScKKyAgICAgICAgUHl0aG9uVmVyc2lvbkhleCAgICAtICAgMHgwMzA1MDJhMSBmb3IgJzMuNS4yYTEnCisgICAgICAgIFJlbGVhc2VMZXZlbE51bWJlciAgLSAgIDEwIGZvciBhbHBoYSwgMTEgZm9yIGJldGEsIDEyIGZvciBSQyAoZ2FtbWEpLCBhbmQgMTUgZm9yIGZpbmFsCisgICAgICAgIEZpZWxkM1ZhbHVlICAgICAgICAgLSAgIDIxMDEgZm9yICczLjUuMmExJyAoPT0gMTAwMCoyICsgMTAqMTAgKCdhJykgKyAxKQorICAgIC0tPgorICAgIDxfUGF0Y2hMZXZlbENvbnRlbnQ+JChbU3lzdGVtLklPLkZpbGVdOjpSZWFkQWxsVGV4dChgJChQeVNvdXJjZVBhdGgpSW5jbHVkZVxwYXRjaGxldmVsLmhgKSk8L19QYXRjaExldmVsQ29udGVudD4KKyAgICA8TWFqb3JWZXJzaW9uTnVtYmVyPiQoW1N5c3RlbS5UZXh0LlJlZ3VsYXJFeHByZXNzaW9ucy5SZWdleF06Ok1hdGNoKCQoX1BhdGNoTGV2ZWxDb250ZW50KSwgYGRlZmluZVxzK1BZX01BSk9SX1ZFUlNJT05ccysoXGQrKWApLkdyb3Vwc1sxXS5WYWx1ZSk8L01ham9yVmVyc2lvbk51bWJlcj4KKyAgICA8TWlub3JWZXJzaW9uTnVtYmVyPiQoW1N5c3RlbS5UZXh0LlJlZ3VsYXJFeHByZXNzaW9ucy5SZWdleF06Ok1hdGNoKCQoX1BhdGNoTGV2ZWxDb250ZW50KSwgYGRlZmluZVxzK1BZX01JTk9SX1ZFUlNJT05ccysoXGQrKWApLkdyb3Vwc1sxXS5WYWx1ZSk8L01pbm9yVmVyc2lvbk51bWJlcj4KKyAgICA8TWljcm9WZXJzaW9uTnVtYmVyPiQoW1N5c3RlbS5UZXh0LlJlZ3VsYXJFeHByZXNzaW9ucy5SZWdleF06Ok1hdGNoKCQoX1BhdGNoTGV2ZWxDb250ZW50KSwgYGRlZmluZVxzK1BZX01JQ1JPX1ZFUlNJT05ccysoXGQrKWApLkdyb3Vwc1sxXS5WYWx1ZSk8L01pY3JvVmVyc2lvbk51bWJlcj4KKyAgICA8X1JlbGVhc2VMZXZlbD4kKFtTeXN0ZW0uVGV4dC5SZWd1bGFyRXhwcmVzc2lvbnMuUmVnZXhdOjpNYXRjaCgkKF9QYXRjaExldmVsQ29udGVudCksIGBkZWZpbmVccytQWV9SRUxFQVNFX0xFVkVMXHMrUFlfUkVMRUFTRV9MRVZFTF8oXHcrKWApLkdyb3Vwc1sxXS5WYWx1ZSk8L19SZWxlYXNlTGV2ZWw+CisgICAgPFJlbGVhc2VTZXJpYWw+JChbU3lzdGVtLlRleHQuUmVndWxhckV4cHJlc3Npb25zLlJlZ2V4XTo6TWF0Y2goJChfUGF0Y2hMZXZlbENvbnRlbnQpLCBgZGVmaW5lXHMrUFlfUkVMRUFTRV9TRVJJQUxccysoXGQrKWApLkdyb3Vwc1sxXS5WYWx1ZSk8L1JlbGVhc2VTZXJpYWw+CisgICAgPFJlbGVhc2VMZXZlbE51bWJlcj4xNTwvUmVsZWFzZUxldmVsTnVtYmVyPgorICAgIDxSZWxlYXNlTGV2ZWxOdW1iZXIgQ29uZGl0aW9uPSIkKF9SZWxlYXNlTGV2ZWwpID09ICdBTFBIQSciPjEwPC9SZWxlYXNlTGV2ZWxOdW1iZXI+CisgICAgPFJlbGVhc2VMZXZlbE51bWJlciBDb25kaXRpb249IiQoX1JlbGVhc2VMZXZlbCkgPT0gJ0JFVEEnIj4xMTwvUmVsZWFzZUxldmVsTnVtYmVyPgorICAgIDxSZWxlYXNlTGV2ZWxOdW1iZXIgQ29uZGl0aW9uPSIkKF9SZWxlYXNlTGV2ZWwpID09ICdHQU1NQSciPjEyPC9SZWxlYXNlTGV2ZWxOdW1iZXI+CisgICAgPFJlbGVhc2VMZXZlbE5hbWUgQ29uZGl0aW9uPSIkKF9SZWxlYXNlTGV2ZWwpID09ICdBTFBIQSciPmEkKFJlbGVhc2VTZXJpYWwpPC9SZWxlYXNlTGV2ZWxOYW1lPgorICAgIDxSZWxlYXNlTGV2ZWxOYW1lIENvbmRpdGlvbj0iJChfUmVsZWFzZUxldmVsKSA9PSAnQkVUQSciPmIkKFJlbGVhc2VTZXJpYWwpPC9SZWxlYXNlTGV2ZWxOYW1lPgorICAgIDxSZWxlYXNlTGV2ZWxOYW1lIENvbmRpdGlvbj0iJChfUmVsZWFzZUxldmVsKSA9PSAnR0FNTUEnIj5yYyQoUmVsZWFzZVNlcmlhbCk8L1JlbGVhc2VMZXZlbE5hbWU+CisgICAgCisgICAgPFB5dGhvblZlcnNpb25OdW1iZXI+JChNYWpvclZlcnNpb25OdW1iZXIpLiQoTWlub3JWZXJzaW9uTnVtYmVyKS4kKE1pY3JvVmVyc2lvbk51bWJlcik8L1B5dGhvblZlcnNpb25OdW1iZXI+CisgICAgPFB5dGhvblZlcnNpb24+JChNYWpvclZlcnNpb25OdW1iZXIpLiQoTWlub3JWZXJzaW9uTnVtYmVyKS4kKE1pY3JvVmVyc2lvbk51bWJlcikkKFJlbGVhc2VMZXZlbE5hbWUpPC9QeXRob25WZXJzaW9uPgorICAgIDxQeXRob25WZXJzaW9uSGV4PiQoW21zYnVpbGRdOjpCaXR3aXNlT3IoCisgICAgICAgICQoW21zYnVpbGRdOjpNdWx0aXBseSgkKE1ham9yVmVyc2lvbk51bWJlciksIDE2Nzc3MjE2KSksCisgICAgICAgICQoW21zYnVpbGRdOjpCaXR3aXNlT3IoCisgICAgICAgICAgICAkKFttc2J1aWxkXTo6TXVsdGlwbHkoJChNaW5vclZlcnNpb25OdW1iZXIpLCA2NTUzNikpLAorICAgICAgICAgICAgJChbbXNidWlsZF06OkJpdHdpc2VPcigKKyAgICAgICAgICAgICAgICAkKFttc2J1aWxkXTo6TXVsdGlwbHkoJChNaWNyb1ZlcnNpb25OdW1iZXIpLCAyNTYpKSwKKyAgICAgICAgICAgICAgICAkKFttc2J1aWxkXTo6Qml0d2lzZU9yKAorICAgICAgICAgICAgICAgICAgICAkKFttc2J1aWxkXTo6TXVsdGlwbHkoJChSZWxlYXNlTGV2ZWxOdW1iZXIpLCAxNikpLAorICAgICAgICAgICAgICAgICAgICAkKFJlbGVhc2VTZXJpYWwpCisgICAgICAgICAgICAgICAgKSkKKyAgICAgICAgICAgICkpCisgICAgICAgICkpCisgICAgKSk8L1B5dGhvblZlcnNpb25IZXg+CisgICAgPEZpZWxkM1ZhbHVlPiQoW21zYnVpbGRdOjpBZGQoCisgICAgICAgICQoUmVsZWFzZVNlcmlhbCksCisgICAgICAgICQoW21zYnVpbGRdOjpBZGQoCisgICAgICAgICAgICAkKFttc2J1aWxkXTo6TXVsdGlwbHkoJChSZWxlYXNlTGV2ZWxOdW1iZXIpLCAxMCkpLAorICAgICAgICAgICAgJChbbXNidWlsZF06Ok11bHRpcGx5KCQoTWljcm9WZXJzaW9uTnVtYmVyKSwgMTAwMCkpCisgICAgICAgICkpCisgICAgKSk8L0ZpZWxkM1ZhbHVlPgorICAgIAorICAgIDwhLS0gVGhlIG5hbWUgb2YgdGhlIHJlc3VsdGluZyBweXRob25YWS5kbGwgKHdpdGhvdXQgdGhlIGV4dGVuc2lvbikgLS0+CisgICAgPFB5RGxsTmFtZT5weXRob24kKE1ham9yVmVyc2lvbk51bWJlcikkKE1pbm9yVmVyc2lvbk51bWJlcikkKFB5RGVidWdFeHQpPC9QeURsbE5hbWU+CisKKyAgICA8IS0tIFRoZSB2ZXJzaW9uIGFuZCBwbGF0Zm9ybSB0YWcgdG8gaW5jbHVkZSBpbiAucHlkIGZpbGVuYW1lcyAtLT4KKyAgICA8UHlkVGFnIENvbmRpdGlvbj0iJChQbGF0Zm9ybSkgPT0gJ1dpbjMyJyBvciAkKFBsYXRmb3JtKSA9PSAneDg2JyI+LmNwJChNYWpvclZlcnNpb25OdW1iZXIpJChNaW5vclZlcnNpb25OdW1iZXIpLXdpbjMyPC9QeWRUYWc+CisgICAgPFB5ZFRhZyBDb25kaXRpb249IiQoUGxhdGZvcm0pID09ICd4NjQnIj4uY3AkKE1ham9yVmVyc2lvbk51bWJlcikkKE1pbm9yVmVyc2lvbk51bWJlciktd2luX2FtZDY0PC9QeWRUYWc+CisgICAgCisgICAgPCEtLSBUaGUgdmVyc2lvbiBudW1iZXIgZm9yIHN5cy53aW52ZXIgLS0+CisgICAgPFN5c1dpblZlcj4kKE1ham9yVmVyc2lvbk51bWJlcikuJChNaW5vclZlcnNpb25OdW1iZXIpPC9TeXNXaW5WZXI+CisgICAgPFN5c1dpblZlciBDb25kaXRpb249IiQoUGxhdGZvcm0pID09ICdXaW4zMicgb3IgJChQbGF0Zm9ybSkgPT0gJ3g4NiciPiQoU3lzV2luVmVyKS0zMjwvU3lzV2luVmVyPgorICA8L1Byb3BlcnR5R3JvdXA+CisgIAorICA8IS0tIERpc3BsYXlzIHRoZSBjYWxjdWxhdGVkIHZlcnNpb24gaW5mbyAtLT4KKyAgPFRhcmdldCBOYW1lPSJTaG93VmVyc2lvbkluZm8iPgorICAgIDxNZXNzYWdlIEltcG9ydGFuY2U9ImhpZ2giIFRleHQ9IlB5dGhvblZlcnNpb25OdW1iZXI6ICQoUHl0aG9uVmVyc2lvbk51bWJlcikiIC8+CisgICAgPE1lc3NhZ2UgSW1wb3J0YW5jZT0iaGlnaCIgVGV4dD0iUHl0aG9uVmVyc2lvbjogICAgICAgJChQeXRob25WZXJzaW9uKSIgLz4KKyAgICA8TWVzc2FnZSBJbXBvcnRhbmNlPSJoaWdoIiBUZXh0PSIkKFtTeXN0ZW0uU3RyaW5nXTo6Rm9ybWF0KGBQeXRob25WZXJzaW9uSGV4OiAgICAweHswOnh9YCwgJChbU3lzdGVtLlVJbnQzMl06OlBhcnNlKCQoUHl0aG9uVmVyc2lvbkhleCkpKSkpIiAvPgorICAgIDxNZXNzYWdlIEltcG9ydGFuY2U9ImhpZ2giIFRleHQ9IkZpZWxkM1ZhbHVlOiAgICAgICAgICQoRmllbGQzVmFsdWUpIiAvPgorICA8L1RhcmdldD4KKzwvUHJvamVjdD4KZGlmZiAtLWdpdCBhL1BDYnVpbGQvcHl0aG9uLnZjeHByb2ogYi9QQ2J1aWxkL3B5dGhvbi52Y3hwcm9qCmluZGV4IGJkMTI2MjQuLjBhZTQ4ODIgMTAwNjQ0Ci0tLSBhL1BDYnVpbGQvcHl0aG9uLnZjeHByb2oKKysrIGIvUENidWlsZC9weXRob24udmN4cHJvagpAQCAtMzYsNDQgKzM2LDExIEBACiAgIDwvSXRlbUdyb3VwPgogICA8UHJvcGVydHlHcm91cCBMYWJlbD0iR2xvYmFscyI+CiAgICAgPFByb2plY3RHdWlkPntCMTFENzUwRi1DRDFGLTRBOTYtODVDRS1FNjlBNUM1MjU5Rjl9PC9Qcm9qZWN0R3VpZD4KKyAgICA8TWFrZVZlcnNpb25JbmZvQmVmb3JlVGFyZ2V0PkNsQ29tcGlsZTwvTWFrZVZlcnNpb25JbmZvQmVmb3JlVGFyZ2V0PgogICA8L1Byb3BlcnR5R3JvdXA+CisgIDxJbXBvcnQgUHJvamVjdD0icHl0aG9uLnByb3BzIiAvPgogICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5EZWZhdWx0LnByb3BzIiAvPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5BcHBsaWNhdGlvbjwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPFVzZU9mTWZjPmZhbHNlPC9Vc2VPZk1mYz4KLSAgICA8Q2hhcmFjdGVyU2V0Pk11bHRpQnl0ZTwvQ2hhcmFjdGVyU2V0PgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5BcHBsaWNhdGlvbjwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPFVzZU9mTWZjPmZhbHNlPC9Vc2VPZk1mYz4KLSAgICA8Q2hhcmFjdGVyU2V0Pk11bHRpQnl0ZTwvQ2hhcmFjdGVyU2V0PgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkFwcGxpY2F0aW9uPC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8VXNlT2ZNZmM+ZmFsc2U8L1VzZU9mTWZjPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5BcHBsaWNhdGlvbjwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPFVzZU9mTWZjPmZhbHNlPC9Vc2VPZk1mYz4KLSAgICA8Q2hhcmFjdGVyU2V0Pk11bHRpQnl0ZTwvQ2hhcmFjdGVyU2V0PgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5BcHBsaWNhdGlvbjwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPFVzZU9mTWZjPmZhbHNlPC9Vc2VPZk1mYz4KLSAgICA8Q2hhcmFjdGVyU2V0Pk11bHRpQnl0ZTwvQ2hhcmFjdGVyU2V0PgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+QXBwbGljYXRpb248L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxVc2VPZk1mYz5mYWxzZTwvVXNlT2ZNZmM+Ci0gICAgPENoYXJhY3RlclNldD5NdWx0aUJ5dGU8L0NoYXJhY3RlclNldD4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+QXBwbGljYXRpb248L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxVc2VPZk1mYz5mYWxzZTwvVXNlT2ZNZmM+Ci0gICAgPENoYXJhY3RlclNldD5NdWx0aUJ5dGU8L0NoYXJhY3RlclNldD4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgorICA8UHJvcGVydHlHcm91cCBMYWJlbD0iQ29uZmlndXJhdGlvbiI+CiAgICAgPENvbmZpZ3VyYXRpb25UeXBlPkFwcGxpY2F0aW9uPC9Db25maWd1cmF0aW9uVHlwZT4KICAgICA8VXNlT2ZNZmM+ZmFsc2U8L1VzZU9mTWZjPgogICAgIDxDaGFyYWN0ZXJTZXQ+TXVsdGlCeXRlPC9DaGFyYWN0ZXJTZXQ+CkBAIC04MSwyNjggKzQ4LDI0IEBACiAgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnByb3BzIiAvPgogICA8SW1wb3J0R3JvdXAgTGFiZWw9IkV4dGVuc2lvblNldHRpbmdzIj4KICAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgorICA8SW1wb3J0R3JvdXAgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KICAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+CiAgICAgPEltcG9ydCBQcm9qZWN0PSJweXByb2plY3QucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJyZWxlYXNlLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icGd1cGRhdGUucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlwcm9qZWN0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icmVsZWFzZS5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InBnaW5zdHJ1bWVudC5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5cHJvamVjdC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9ImRlYnVnLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweXByb2plY3QucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJyZWxlYXNlLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5cHJvamVjdC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9Ing2NC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InJlbGVhc2UucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJwZ3VwZGF0ZS5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlwcm9qZWN0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0ieDY0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icmVsZWFzZS5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InBnaW5zdHJ1bWVudC5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweXByb2plY3QucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJ4NjQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJkZWJ1Zy5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5cHJvamVjdC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9Ing2NC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InJlbGVhc2UucHJvcHMiIC8+CiAgIDwvSW1wb3J0R3JvdXA+CiAgIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJVc2VyTWFjcm9zIiAvPgogICA8UHJvcGVydHlHcm91cD4KICAgICA8X1Byb2plY3RGaWxlVmVyc2lvbj4xMC4wLjMwMzE5LjE8L19Qcm9qZWN0RmlsZVZlcnNpb24+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiAvPgogICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPgorICA8SXRlbURlZmluaXRpb25Hcm91cD4KICAgICA8Q2xDb21waWxlPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KICAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5fQ09OU09MRTslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgICA8U3RyaW5nUG9vbGluZz50cnVlPC9TdHJpbmdQb29saW5nPgotICAgICAgPFJ1bnRpbWVMaWJyYXJ5Pk11bHRpVGhyZWFkZWRETEw8L1J1bnRpbWVMaWJyYXJ5PgotICAgICAgPEZ1bmN0aW9uTGV2ZWxMaW5raW5nPnRydWU8L0Z1bmN0aW9uTGV2ZWxMaW5raW5nPgotICAgICAgPENvbXBpbGVBcz5EZWZhdWx0PC9Db21waWxlQXM+CiAgICAgPC9DbENvbXBpbGU+Ci0gICAgPFJlc291cmNlQ29tcGlsZT4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5OREVCVUc7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgICAgPEN1bHR1cmU+MHgwNDA5PC9DdWx0dXJlPgotICAgIDwvUmVzb3VyY2VDb21waWxlPgogICAgIDxMaW5rPgotICAgICAgPE91dHB1dEZpbGU+JChPdXREaXIpcHl0aG9uLmV4ZTwvT3V0cHV0RmlsZT4KICAgICAgIDxTdWJTeXN0ZW0+Q29uc29sZTwvU3ViU3lzdGVtPgogICAgICAgPFN0YWNrUmVzZXJ2ZVNpemU+MjAwMDAwMDwvU3RhY2tSZXNlcnZlU2l6ZT4KICAgICAgIDxCYXNlQWRkcmVzcz4weDFkMDAwMDAwPC9CYXNlQWRkcmVzcz4KICAgICA8L0xpbms+CiAgIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPgotICAgIDxNaWRsPgotICAgICAgPFRhcmdldEVudmlyb25tZW50Plg2NDwvVGFyZ2V0RW52aXJvbm1lbnQ+Ci0gICAgPC9NaWRsPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4lKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPl9DT05TT0xFOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICAgIDxTdHJpbmdQb29saW5nPnRydWU8L1N0cmluZ1Bvb2xpbmc+Ci0gICAgICA8UnVudGltZUxpYnJhcnk+TXVsdGlUaHJlYWRlZERMTDwvUnVudGltZUxpYnJhcnk+Ci0gICAgICA8RnVuY3Rpb25MZXZlbExpbmtpbmc+dHJ1ZTwvRnVuY3Rpb25MZXZlbExpbmtpbmc+Ci0gICAgICA8Q29tcGlsZUFzPkRlZmF1bHQ8L0NvbXBpbGVBcz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8UmVzb3VyY2VDb21waWxlPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPk5ERUJVRzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgICA8Q3VsdHVyZT4weDA0MDk8L0N1bHR1cmU+Ci0gICAgPC9SZXNvdXJjZUNvbXBpbGU+Ci0gICAgPExpbms+Ci0gICAgICA8T3V0cHV0RmlsZT4kKE91dERpcilweXRob24uZXhlPC9PdXRwdXRGaWxlPgotICAgICAgPFN1YlN5c3RlbT5Db25zb2xlPC9TdWJTeXN0ZW0+Ci0gICAgICA8U3RhY2tSZXNlcnZlU2l6ZT4yMDAwMDAwPC9TdGFja1Jlc2VydmVTaXplPgotICAgICAgPEJhc2VBZGRyZXNzPjB4MWQwMDAwMDA8L0Jhc2VBZGRyZXNzPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxPcHRpbWl6YXRpb24+RGlzYWJsZWQ8L09wdGltaXphdGlvbj4KLSAgICAgIDxJbnRyaW5zaWNGdW5jdGlvbnM+ZmFsc2U8L0ludHJpbnNpY0Z1bmN0aW9ucz4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPiUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X0NPTlNPTEU7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgICAgPFJ1bnRpbWVMaWJyYXJ5Pk11bHRpVGhyZWFkZWREZWJ1Z0RMTDwvUnVudGltZUxpYnJhcnk+Ci0gICAgICA8QnJvd3NlSW5mb3JtYXRpb24+dHJ1ZTwvQnJvd3NlSW5mb3JtYXRpb24+Ci0gICAgICA8Q29tcGlsZUFzPkRlZmF1bHQ8L0NvbXBpbGVBcz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8UmVzb3VyY2VDb21waWxlPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPl9ERUJVRzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgICA8Q3VsdHVyZT4weDA0MDk8L0N1bHR1cmU+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uLlxJbmNsdWRlOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Ci0gICAgPC9SZXNvdXJjZUNvbXBpbGU+Ci0gICAgPExpbms+Ci0gICAgICA8T3V0cHV0RmlsZT4kKE91dERpcilweXRob25fZC5leGU8L091dHB1dEZpbGU+Ci0gICAgICA8U3ViU3lzdGVtPkNvbnNvbGU8L1N1YlN5c3RlbT4KLSAgICAgIDxTdGFja1Jlc2VydmVTaXplPjIwMDAwMDA8L1N0YWNrUmVzZXJ2ZVNpemU+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxZDAwMDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+Ci0gICAgPE1pZGw+Ci0gICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+WDY0PC9UYXJnZXRFbnZpcm9ubWVudD4KLSAgICA8L01pZGw+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxPcHRpbWl6YXRpb24+RGlzYWJsZWQ8L09wdGltaXphdGlvbj4KLSAgICAgIDxJbnRyaW5zaWNGdW5jdGlvbnM+ZmFsc2U8L0ludHJpbnNpY0Z1bmN0aW9ucz4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPiUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X0NPTlNPTEU7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgICAgPFJ1bnRpbWVMaWJyYXJ5Pk11bHRpVGhyZWFkZWREZWJ1Z0RMTDwvUnVudGltZUxpYnJhcnk+Ci0gICAgICA8QnJvd3NlSW5mb3JtYXRpb24+dHJ1ZTwvQnJvd3NlSW5mb3JtYXRpb24+Ci0gICAgICA8Q29tcGlsZUFzPkRlZmF1bHQ8L0NvbXBpbGVBcz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8UmVzb3VyY2VDb21waWxlPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPl9ERUJVRzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgICA8Q3VsdHVyZT4weDA0MDk8L0N1bHR1cmU+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uLlxJbmNsdWRlOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Ci0gICAgPC9SZXNvdXJjZUNvbXBpbGU+Ci0gICAgPExpbms+Ci0gICAgICA8T3V0cHV0RmlsZT4kKE91dERpcilweXRob25fZC5leGU8L091dHB1dEZpbGU+Ci0gICAgICA8U3ViU3lzdGVtPkNvbnNvbGU8L1N1YlN5c3RlbT4KLSAgICAgIDxTdGFja1Jlc2VydmVTaXplPjQxOTQzMDQ8L1N0YWNrUmVzZXJ2ZVNpemU+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxZDAwMDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyI+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPiUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X0NPTlNPTEU7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgICAgPFN0cmluZ1Bvb2xpbmc+dHJ1ZTwvU3RyaW5nUG9vbGluZz4KLSAgICAgIDxSdW50aW1lTGlicmFyeT5NdWx0aVRocmVhZGVkRExMPC9SdW50aW1lTGlicmFyeT4KLSAgICAgIDxGdW5jdGlvbkxldmVsTGlua2luZz50cnVlPC9GdW5jdGlvbkxldmVsTGlua2luZz4KLSAgICAgIDxDb21waWxlQXM+RGVmYXVsdDwvQ29tcGlsZUFzPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxSZXNvdXJjZUNvbXBpbGU+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+TkRFQlVHOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICAgIDxDdWx0dXJlPjB4MDQwOTwvQ3VsdHVyZT4KLSAgICA8L1Jlc291cmNlQ29tcGlsZT4KLSAgICA8TGluaz4KLSAgICAgIDxPdXRwdXRGaWxlPiQoT3V0RGlyKXB5dGhvbi5leGU8L091dHB1dEZpbGU+Ci0gICAgICA8U3ViU3lzdGVtPkNvbnNvbGU8L1N1YlN5c3RlbT4KLSAgICAgIDxTdGFja1Jlc2VydmVTaXplPjIwMDAwMDA8L1N0YWNrUmVzZXJ2ZVNpemU+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxZDAwMDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgICA8SW1wb3J0TGlicmFyeT4KLSAgICAgIDwvSW1wb3J0TGlicmFyeT4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyI+Ci0gICAgPE1pZGw+Ci0gICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+WDY0PC9UYXJnZXRFbnZpcm9ubWVudD4KLSAgICA8L01pZGw+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPiUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X0NPTlNPTEU7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgICAgPFN0cmluZ1Bvb2xpbmc+dHJ1ZTwvU3RyaW5nUG9vbGluZz4KLSAgICAgIDxSdW50aW1lTGlicmFyeT5NdWx0aVRocmVhZGVkRExMPC9SdW50aW1lTGlicmFyeT4KLSAgICAgIDxGdW5jdGlvbkxldmVsTGlua2luZz50cnVlPC9GdW5jdGlvbkxldmVsTGlua2luZz4KLSAgICAgIDxDb21waWxlQXM+RGVmYXVsdDwvQ29tcGlsZUFzPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxSZXNvdXJjZUNvbXBpbGU+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+TkRFQlVHOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICAgIDxDdWx0dXJlPjB4MDQwOTwvQ3VsdHVyZT4KLSAgICA8L1Jlc291cmNlQ29tcGlsZT4KLSAgICA8TGluaz4KLSAgICAgIDxPdXRwdXRGaWxlPiQoT3V0RGlyKXB5dGhvbi5leGU8L091dHB1dEZpbGU+Ci0gICAgICA8U3ViU3lzdGVtPkNvbnNvbGU8L1N1YlN5c3RlbT4KLSAgICAgIDxTdGFja1Jlc2VydmVTaXplPjIwMDAwMDA8L1N0YWNrUmVzZXJ2ZVNpemU+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxZDAwMDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgICA8SW1wb3J0TGlicmFyeT4KLSAgICAgIDwvSW1wb3J0TGlicmFyeT4KLSAgICAgIDxUYXJnZXRNYWNoaW5lPk1hY2hpbmVYNjQ8L1RhcmdldE1hY2hpbmU+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIj4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5fQ09OU09MRTslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgICA8U3RyaW5nUG9vbGluZz50cnVlPC9TdHJpbmdQb29saW5nPgotICAgICAgPFJ1bnRpbWVMaWJyYXJ5Pk11bHRpVGhyZWFkZWRETEw8L1J1bnRpbWVMaWJyYXJ5PgotICAgICAgPEZ1bmN0aW9uTGV2ZWxMaW5raW5nPnRydWU8L0Z1bmN0aW9uTGV2ZWxMaW5raW5nPgotICAgICAgPENvbXBpbGVBcz5EZWZhdWx0PC9Db21waWxlQXM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPFJlc291cmNlQ29tcGlsZT4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5OREVCVUc7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgICAgPEN1bHR1cmU+MHgwNDA5PC9DdWx0dXJlPgotICAgIDwvUmVzb3VyY2VDb21waWxlPgotICAgIDxMaW5rPgotICAgICAgPE91dHB1dEZpbGU+JChPdXREaXIpcHl0aG9uLmV4ZTwvT3V0cHV0RmlsZT4KLSAgICAgIDxTdWJTeXN0ZW0+Q29uc29sZTwvU3ViU3lzdGVtPgotICAgICAgPFN0YWNrUmVzZXJ2ZVNpemU+MjAwMDAwMDwvU3RhY2tSZXNlcnZlU2l6ZT4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFkMDAwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICAgIDxJbXBvcnRMaWJyYXJ5PgotICAgICAgPC9JbXBvcnRMaWJyYXJ5PgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciPgotICAgIDxNaWRsPgotICAgICAgPFRhcmdldEVudmlyb25tZW50Plg2NDwvVGFyZ2V0RW52aXJvbm1lbnQ+Ci0gICAgPC9NaWRsPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4lKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPl9DT05TT0xFOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICAgIDxTdHJpbmdQb29saW5nPnRydWU8L1N0cmluZ1Bvb2xpbmc+Ci0gICAgICA8UnVudGltZUxpYnJhcnk+TXVsdGlUaHJlYWRlZERMTDwvUnVudGltZUxpYnJhcnk+Ci0gICAgICA8RnVuY3Rpb25MZXZlbExpbmtpbmc+dHJ1ZTwvRnVuY3Rpb25MZXZlbExpbmtpbmc+Ci0gICAgICA8Q29tcGlsZUFzPkRlZmF1bHQ8L0NvbXBpbGVBcz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8UmVzb3VyY2VDb21waWxlPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPk5ERUJVRzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgICA8Q3VsdHVyZT4weDA0MDk8L0N1bHR1cmU+Ci0gICAgPC9SZXNvdXJjZUNvbXBpbGU+Ci0gICAgPExpbms+Ci0gICAgICA8T3V0cHV0RmlsZT4kKE91dERpcilweXRob24uZXhlPC9PdXRwdXRGaWxlPgotICAgICAgPFN1YlN5c3RlbT5Db25zb2xlPC9TdWJTeXN0ZW0+Ci0gICAgICA8U3RhY2tSZXNlcnZlU2l6ZT4yMDAwMDAwPC9TdGFja1Jlc2VydmVTaXplPgotICAgICAgPEJhc2VBZGRyZXNzPjB4MWQwMDAwMDA8L0Jhc2VBZGRyZXNzPgotICAgICAgPEltcG9ydExpYnJhcnk+Ci0gICAgICA8L0ltcG9ydExpYnJhcnk+Ci0gICAgICA8VGFyZ2V0TWFjaGluZT5NYWNoaW5lWDY0PC9UYXJnZXRNYWNoaW5lPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgogICA8SXRlbUdyb3VwPgogICAgIDxOb25lIEluY2x1ZGU9Ii4uXFBDXHB5Y29uLmljbyIgLz4KICAgPC9JdGVtR3JvdXA+CkBAIC0zNTAsNyArNzMsNyBAQAogICAgIDxSZXNvdXJjZUNvbXBpbGUgSW5jbHVkZT0iLi5cUENccHl0aG9uX2V4ZS5yYyIgLz4KICAgPC9JdGVtR3JvdXA+CiAgIDxJdGVtR3JvdXA+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxNb2R1bGVzXHB5dGhvbi5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cUHJvZ3JhbXNccHl0aG9uLmMiIC8+CiAgIDwvSXRlbUdyb3VwPgogICA8SXRlbUdyb3VwPgogICAgIDxQcm9qZWN0UmVmZXJlbmNlIEluY2x1ZGU9InB5dGhvbmNvcmUudmN4cHJvaiI+CkBAIC0zNjEsNCArODQsMTkgQEAKICAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAudGFyZ2V0cyIgLz4KICAgPEltcG9ydEdyb3VwIExhYmVsPSJFeHRlbnNpb25UYXJnZXRzIj4KICAgPC9JbXBvcnRHcm91cD4KLTwvUHJvamVjdD4KKyAgPFRhcmdldCBOYW1lPSJHZW5lcmF0ZVB5dGhvbkJhdCIgQWZ0ZXJUYXJnZXRzPSJBZnRlckJ1aWxkIj4KKyAgICA8UHJvcGVydHlHcm91cD4KKyAgICAgIDxfQ29udGVudD5AcmVtIFRoaXMgc2NyaXB0IGludm9rZXMgdGhlIG1vc3QgcmVjZW50bHkgYnVpbHQgUHl0aG9uIHdpdGggYWxsIGFyZ3VtZW50cworQHJlbSBwYXNzZWQgdGhyb3VnaCB0byB0aGUgaW50ZXJwcmV0ZXIuICBUaGlzIGZpbGUgaXMgZ2VuZXJhdGVkIGJ5IHRoZQorQHJlbSBidWlsZCBwcm9jZXNzIGFuZCBhbnkgY2hhbmdlcyAqd2lsbCogYmUgdGhyb3duIGF3YXkgYnkgdGhlIG5leHQKK0ByZW0gcmVidWlsZC4KK0ByZW0gVGhpcyBpcyBvbmx5IG1lYW50IGFzIGEgY29udmVuaWVuY2UgZm9yIGRldmVsb3BpbmcgQ1B5dGhvbgorQHJlbSBhbmQgdXNpbmcgaXQgb3V0c2lkZSBvZiB0aGF0IGNvbnRleHQgaXMgaWxsLWFkdmlzZWQuCitAZWNobyBSdW5uaW5nICQoQ29uZmlndXJhdGlvbilefCQoUGxhdGZvcm0pIGludGVycHJldGVyLi4uCitAIiQoT3V0RGlyKXB5dGhvbiQoUHlEZWJ1Z0V4dCkuZXhlIiAlKgorPC9fQ29udGVudD4KKyAgICAgIDxfRXhpc3RpbmdDb250ZW50IENvbmRpdGlvbj0iRXhpc3RzKCckKFB5U291cmNlUGF0aClweXRob24uYmF0JykiPiQoW1N5c3RlbS5JTy5GaWxlXTo6UmVhZEFsbFRleHQoJyQoUHlTb3VyY2VQYXRoKXB5dGhvbi5iYXQnKSk8L19FeGlzdGluZ0NvbnRlbnQ+CisgICAgPC9Qcm9wZXJ0eUdyb3VwPgorICAgIDxXcml0ZUxpbmVzVG9GaWxlIEZpbGU9IiQoUHlTb3VyY2VQYXRoKXB5dGhvbi5iYXQiIExpbmVzPSIkKF9Db250ZW50KSIgT3ZlcndyaXRlPSJ0cnVlIiBDb25kaXRpb249IickKF9Db250ZW50KScgIT0gJyQoX0V4aXN0aW5nQ29udGVudCknIiAvPgorICA8L1RhcmdldD4KKzwvUHJvamVjdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9QQ2J1aWxkL3B5dGhvbi52Y3hwcm9qLmZpbHRlcnMgYi9QQ2J1aWxkL3B5dGhvbi52Y3hwcm9qLmZpbHRlcnMKaW5kZXggZTQ5MDZhNC4uMDY2MmE0ZSAxMDA2NDQKLS0tIGEvUENidWlsZC9weXRob24udmN4cHJvai5maWx0ZXJzCisrKyBiL1BDYnVpbGQvcHl0aG9uLnZjeHByb2ouZmlsdGVycwpAQCAtMTksOCArMTksOCBAQAogICAgIDwvUmVzb3VyY2VDb21waWxlPgogICA8L0l0ZW1Hcm91cD4KICAgPEl0ZW1Hcm91cD4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXE1vZHVsZXNccHl0aG9uLmMiPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cUHJvZ3JhbXNccHl0aG9uLmMiPgogICAgICAgPEZpbHRlcj5Tb3VyY2UgRmlsZXM8L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KICAgPC9JdGVtR3JvdXA+Ci08L1Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorPC9Qcm9qZWN0PgpkaWZmIC0tZ2l0IGEvUENidWlsZC9weXRob24zZGxsLnZjeHByb2ogYi9QQ2J1aWxkL3B5dGhvbjNkbGwudmN4cHJvagppbmRleCBiYzhmZjMxLi5iMDNkMDlmIDEwMDY0NAotLS0gYS9QQ2J1aWxkL3B5dGhvbjNkbGwudmN4cHJvagorKysgYi9QQ2J1aWxkL3B5dGhvbjNkbGwudmN4cHJvagpAQCAtMSw2ICsxLDE0IEBACiDvu788P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgogPFByb2plY3QgRGVmYXVsdFRhcmdldHM9IkJ1aWxkIiBUb29sc1ZlcnNpb249IjQuMCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+CiAgIDxJdGVtR3JvdXAgTGFiZWw9IlByb2plY3RDb25maWd1cmF0aW9ucyI+CisgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IkRlYnVnfFdpbjMyIj4KKyAgICAgIDxDb25maWd1cmF0aW9uPkRlYnVnPC9Db25maWd1cmF0aW9uPgorICAgICAgPFBsYXRmb3JtPldpbjMyPC9QbGF0Zm9ybT4KKyAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgorICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJEZWJ1Z3x4NjQiPgorICAgICAgPENvbmZpZ3VyYXRpb24+RGVidWc8L0NvbmZpZ3VyYXRpb24+CisgICAgICA8UGxhdGZvcm0+eDY0PC9QbGF0Zm9ybT4KKyAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgogICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJQR0luc3RydW1lbnR8V2luMzIiPgogICAgICAgPENvbmZpZ3VyYXRpb24+UEdJbnN0cnVtZW50PC9Db25maWd1cmF0aW9uPgogICAgICAgPFBsYXRmb3JtPldpbjMyPC9QbGF0Zm9ybT4KQEAgLTMwLDE0NCArMzgsNDMgQEAKICAgICA8UHJvamVjdEd1aWQ+ezg4NUQ0ODk4LUQwOEQtNDA5MS05QzQwLUM3MDBDRkUzRkM1QX08L1Byb2plY3RHdWlkPgogICAgIDxSb290TmFtZXNwYWNlPnB5dGhvbjNkbGw8L1Jvb3ROYW1lc3BhY2U+CiAgICAgPEtleXdvcmQ+V2luMzJQcm9qPC9LZXl3b3JkPgorICAgIDxUYXJnZXROYW1lPnB5dGhvbjM8L1RhcmdldE5hbWU+CisgICAgPE1ha2VWZXJzaW9uSW5mb0JlZm9yZVRhcmdldD5DbENvbXBpbGU8L01ha2VWZXJzaW9uSW5mb0JlZm9yZVRhcmdldD4KKyAgICA8U3VwcG9ydFBHTz5mYWxzZTwvU3VwcG9ydFBHTz4KICAgPC9Qcm9wZXJ0eUdyb3VwPgorICA8SW1wb3J0IFByb2plY3Q9InB5dGhvbi5wcm9wcyIgLz4KICAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAuRGVmYXVsdC5wcm9wcyIgLz4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+TWFrZWZpbGU8L0NvbmZpZ3VyYXRpb25UeXBlPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5NYWtlZmlsZTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5NYWtlZmlsZTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPk1ha2VmaWxlPC9Db25maWd1cmF0aW9uVHlwZT4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPk1ha2VmaWxlPC9Db25maWd1cmF0aW9uVHlwZT4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5NYWtlZmlsZTwvQ29uZmlndXJhdGlvblR5cGU+CisgIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJDb25maWd1cmF0aW9uIj4KKyAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgogICA8L1Byb3BlcnR5R3JvdXA+CiAgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnByb3BzIiAvPgogICA8SW1wb3J0R3JvdXAgTGFiZWw9IkV4dGVuc2lvblNldHRpbmdzIj4KICAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgorICA8SW1wb3J0R3JvdXAgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KICAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+CiAgICAgPEltcG9ydCBQcm9qZWN0PSJweXByb2plY3QucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJyZWxlYXNlLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icGd1cGRhdGUucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlwcm9qZWN0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icmVsZWFzZS5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InBnaW5zdHJ1bWVudC5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlwcm9qZWN0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icmVsZWFzZS5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweXByb2plY3QucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJ4NjQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJyZWxlYXNlLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icGd1cGRhdGUucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5cHJvamVjdC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9Ing2NC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InJlbGVhc2UucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJwZ2luc3RydW1lbnQucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweXByb2plY3QucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJ4NjQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJyZWxlYXNlLnByb3BzIiAvPgogICA8L0ltcG9ydEdyb3VwPgogICA8UHJvcGVydHlHcm91cCBMYWJlbD0iVXNlck1hY3JvcyIgLz4KICAgPFByb3BlcnR5R3JvdXA+CiAgICAgPF9Qcm9qZWN0RmlsZVZlcnNpb24+MTAuMC4zMDMxOS4xPC9fUHJvamVjdEZpbGVWZXJzaW9uPgotICAgIDxOTWFrZUJ1aWxkQ29tbWFuZExpbmUgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+Y2QgJChQcm9qZWN0RGlyKVwuLlxQQwotbm1ha2UgL2YgcHl0aG9uMy5tYWsgTUFDSElORT14ODYgT3V0RGlyPSQoT3V0RGlyKTwvTk1ha2VCdWlsZENvbW1hbmRMaW5lPgotICAgIDxOTWFrZVJlQnVpbGRDb21tYW5kTGluZSBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj5jZCAkKFByb2plY3REaXIpXC4uXFBDCi1ubWFrZSAvZiBweXRob24zLm1hayBNQUNISU5FPXg4NiBPdXREaXI9JChPdXREaXIpIHJlYnVpbGQ8L05NYWtlUmVCdWlsZENvbW1hbmRMaW5lPgotICAgIDxOTWFrZUNsZWFuQ29tbWFuZExpbmUgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+Y2QgJChQcm9qZWN0RGlyKVwuLlxQQwotIiQoVlNJbnN0YWxsRGlyKVxWQ1xiaW5cbm1ha2UuZXhlIiAvZiBweXRob24zLm1hayBNQUNISU5FPXg4NiBPdXREaXI9JChPdXREaXIpIGNsZWFuPC9OTWFrZUNsZWFuQ29tbWFuZExpbmU+Ci0gICAgPE5NYWtlT3V0cHV0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPiQoT3V0RGlyKXB5dGhvbjMuZGxsPC9OTWFrZU91dHB1dD4KLSAgICA8Tk1ha2VQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj4kKE5NYWtlUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9OTWFrZVByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgIDxOTWFrZUluY2x1ZGVTZWFyY2hQYXRoIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPiQoTk1ha2VJbmNsdWRlU2VhcmNoUGF0aCk8L05NYWtlSW5jbHVkZVNlYXJjaFBhdGg+Ci0gICAgPE5NYWtlRm9yY2VkSW5jbHVkZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+JChOTWFrZUZvcmNlZEluY2x1ZGVzKTwvTk1ha2VGb3JjZWRJbmNsdWRlcz4KLSAgICA8Tk1ha2VBc3NlbWJseVNlYXJjaFBhdGggQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+JChOTWFrZUFzc2VtYmx5U2VhcmNoUGF0aCk8L05NYWtlQXNzZW1ibHlTZWFyY2hQYXRoPgotICAgIDxOTWFrZUZvcmNlZFVzaW5nQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj4kKE5NYWtlRm9yY2VkVXNpbmdBc3NlbWJsaWVzKTwvTk1ha2VGb3JjZWRVc2luZ0Fzc2VtYmxpZXM+Ci0gICAgPE5NYWtlQnVpbGRDb21tYW5kTGluZSBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+Y2QgJChQcm9qZWN0RGlyKVwuLlxQQwotbm1ha2UgL2YgcHl0aG9uMy5tYWsgTUFDSElORT14NjQgT3V0RGlyPSQoT3V0RGlyKTwvTk1ha2VCdWlsZENvbW1hbmRMaW5lPgotICAgIDxOTWFrZVJlQnVpbGRDb21tYW5kTGluZSBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+Y2QgJChQcm9qZWN0RGlyKVwuLlxQQwotbm1ha2UgL2YgcHl0aG9uMy5tYWsgTUFDSElORT14NjQgT3V0RGlyPSQoT3V0RGlyKSByZWJ1aWxkPC9OTWFrZVJlQnVpbGRDb21tYW5kTGluZT4KLSAgICA8Tk1ha2VDbGVhbkNvbW1hbmRMaW5lIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj5jZCAkKFByb2plY3REaXIpXC4uXFBDCi0iJChWU0luc3RhbGxEaXIpXFZDXGJpblxubWFrZS5leGUiIC9mIHB5dGhvbjMubWFrIE1BQ0hJTkU9eDY0IE91dERpcj0kKE91dERpcikgY2xlYW48L05NYWtlQ2xlYW5Db21tYW5kTGluZT4KLSAgICA8Tk1ha2VPdXRwdXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPiQoT3V0RGlyKXB5dGhvbjMuZGxsPC9OTWFrZU91dHB1dD4KLSAgICA8Tk1ha2VQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+JChOTWFrZVByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvTk1ha2VQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICA8Tk1ha2VJbmNsdWRlU2VhcmNoUGF0aCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+JChOTWFrZUluY2x1ZGVTZWFyY2hQYXRoKTwvTk1ha2VJbmNsdWRlU2VhcmNoUGF0aD4KLSAgICA8Tk1ha2VGb3JjZWRJbmNsdWRlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+JChOTWFrZUZvcmNlZEluY2x1ZGVzKTwvTk1ha2VGb3JjZWRJbmNsdWRlcz4KLSAgICA8Tk1ha2VBc3NlbWJseVNlYXJjaFBhdGggQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPiQoTk1ha2VBc3NlbWJseVNlYXJjaFBhdGgpPC9OTWFrZUFzc2VtYmx5U2VhcmNoUGF0aD4KLSAgICA8Tk1ha2VGb3JjZWRVc2luZ0Fzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPiQoTk1ha2VGb3JjZWRVc2luZ0Fzc2VtYmxpZXMpPC9OTWFrZUZvcmNlZFVzaW5nQXNzZW1ibGllcz4KLSAgICA8Tk1ha2VCdWlsZENvbW1hbmRMaW5lIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyI+Y2QgJChQcm9qZWN0RGlyKVwuLlxQQwotbm1ha2UgL2YgcHl0aG9uMy5tYWsgTUFDSElORT14ODYgT3V0RGlyPSQoT3V0RGlyKTwvTk1ha2VCdWlsZENvbW1hbmRMaW5lPgotICAgIDxOTWFrZVJlQnVpbGRDb21tYW5kTGluZSBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciPmNkICQoUHJvamVjdERpcilcLi5cUEMKLW5tYWtlIC9mIHB5dGhvbjMubWFrIE1BQ0hJTkU9eDg2IE91dERpcj0kKE91dERpcikgcmVidWlsZDwvTk1ha2VSZUJ1aWxkQ29tbWFuZExpbmU+Ci0gICAgPE5NYWtlQ2xlYW5Db21tYW5kTGluZSBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciPmNkICQoUHJvamVjdERpcilcLi5cUEMKLSIkKFZTSW5zdGFsbERpcilcVkNcYmluXG5tYWtlLmV4ZSIgL2YgcHl0aG9uMy5tYWsgTUFDSElORT14ODYgT3V0RGlyPSQoT3V0RGlyKSBjbGVhbjwvTk1ha2VDbGVhbkNvbW1hbmRMaW5lPgotICAgIDxOTWFrZU91dHB1dCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciPiQoT3V0RGlyKXB5dGhvbjMuZGxsPC9OTWFrZU91dHB1dD4KLSAgICA8Tk1ha2VQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciPiQoTk1ha2VQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L05NYWtlUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgPE5NYWtlSW5jbHVkZVNlYXJjaFBhdGggQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIj4kKE5NYWtlSW5jbHVkZVNlYXJjaFBhdGgpPC9OTWFrZUluY2x1ZGVTZWFyY2hQYXRoPgotICAgIDxOTWFrZUZvcmNlZEluY2x1ZGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyI+JChOTWFrZUZvcmNlZEluY2x1ZGVzKTwvTk1ha2VGb3JjZWRJbmNsdWRlcz4KLSAgICA8Tk1ha2VBc3NlbWJseVNlYXJjaFBhdGggQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIj4kKE5NYWtlQXNzZW1ibHlTZWFyY2hQYXRoKTwvTk1ha2VBc3NlbWJseVNlYXJjaFBhdGg+Ci0gICAgPE5NYWtlRm9yY2VkVXNpbmdBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyI+JChOTWFrZUZvcmNlZFVzaW5nQXNzZW1ibGllcyk8L05NYWtlRm9yY2VkVXNpbmdBc3NlbWJsaWVzPgotICAgIDxOTWFrZUJ1aWxkQ29tbWFuZExpbmUgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyI+Y2QgJChQcm9qZWN0RGlyKVwuLlxQQwotbm1ha2UgL2YgcHl0aG9uMy5tYWsgTUFDSElORT14NjQgT3V0RGlyPSQoT3V0RGlyKTwvTk1ha2VCdWlsZENvbW1hbmRMaW5lPgotICAgIDxOTWFrZVJlQnVpbGRDb21tYW5kTGluZSBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIj5jZCAkKFByb2plY3REaXIpXC4uXFBDCi1ubWFrZSAvZiBweXRob24zLm1hayBNQUNISU5FPXg2NCBPdXREaXI9JChPdXREaXIpIHJlYnVpbGQ8L05NYWtlUmVCdWlsZENvbW1hbmRMaW5lPgotICAgIDxOTWFrZUNsZWFuQ29tbWFuZExpbmUgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyI+Y2QgJChQcm9qZWN0RGlyKVwuLlxQQwotIiQoVlNJbnN0YWxsRGlyKVxWQ1xiaW5cbm1ha2UuZXhlIiAvZiBweXRob24zLm1hayBNQUNISU5FPXg2NCBPdXREaXI9JChPdXREaXIpIGNsZWFuPC9OTWFrZUNsZWFuQ29tbWFuZExpbmU+Ci0gICAgPE5NYWtlT3V0cHV0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciPiQoT3V0RGlyKXB5dGhvbjMuZGxsPC9OTWFrZU91dHB1dD4KLSAgICA8Tk1ha2VQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIj4kKE5NYWtlUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9OTWFrZVByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgIDxOTWFrZUluY2x1ZGVTZWFyY2hQYXRoIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciPiQoTk1ha2VJbmNsdWRlU2VhcmNoUGF0aCk8L05NYWtlSW5jbHVkZVNlYXJjaFBhdGg+Ci0gICAgPE5NYWtlRm9yY2VkSW5jbHVkZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyI+JChOTWFrZUZvcmNlZEluY2x1ZGVzKTwvTk1ha2VGb3JjZWRJbmNsdWRlcz4KLSAgICA8Tk1ha2VBc3NlbWJseVNlYXJjaFBhdGggQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyI+JChOTWFrZUFzc2VtYmx5U2VhcmNoUGF0aCk8L05NYWtlQXNzZW1ibHlTZWFyY2hQYXRoPgotICAgIDxOTWFrZUZvcmNlZFVzaW5nQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIj4kKE5NYWtlRm9yY2VkVXNpbmdBc3NlbWJsaWVzKTwvTk1ha2VGb3JjZWRVc2luZ0Fzc2VtYmxpZXM+Ci0gICAgPE5NYWtlQnVpbGRDb21tYW5kTGluZSBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyI+Y2QgJChQcm9qZWN0RGlyKVwuLlxQQwotbm1ha2UgL2YgcHl0aG9uMy5tYWsgTUFDSElORT14ODYgT3V0RGlyPSQoT3V0RGlyKTwvTk1ha2VCdWlsZENvbW1hbmRMaW5lPgotICAgIDxOTWFrZVJlQnVpbGRDb21tYW5kTGluZSBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyI+Y2QgJChQcm9qZWN0RGlyKVwuLlxQQwotbm1ha2UgL2YgcHl0aG9uMy5tYWsgTUFDSElORT14ODYgT3V0RGlyPSQoT3V0RGlyKSByZWJ1aWxkPC9OTWFrZVJlQnVpbGRDb21tYW5kTGluZT4KLSAgICA8Tk1ha2VDbGVhbkNvbW1hbmRMaW5lIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIj5jZCAkKFByb2plY3REaXIpXC4uXFBDCi0iJChWU0luc3RhbGxEaXIpXFZDXGJpblxubWFrZS5leGUiIC9mIHB5dGhvbjMubWFrIE1BQ0hJTkU9eDg2IE91dERpcj0kKE91dERpcikgY2xlYW48L05NYWtlQ2xlYW5Db21tYW5kTGluZT4KLSAgICA8Tk1ha2VPdXRwdXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciPiQoT3V0RGlyKXB5dGhvbjMuZGxsPC9OTWFrZU91dHB1dD4KLSAgICA8Tk1ha2VQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyI+JChOTWFrZVByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvTk1ha2VQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICA8Tk1ha2VJbmNsdWRlU2VhcmNoUGF0aCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyI+JChOTWFrZUluY2x1ZGVTZWFyY2hQYXRoKTwvTk1ha2VJbmNsdWRlU2VhcmNoUGF0aD4KLSAgICA8Tk1ha2VGb3JjZWRJbmNsdWRlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyI+JChOTWFrZUZvcmNlZEluY2x1ZGVzKTwvTk1ha2VGb3JjZWRJbmNsdWRlcz4KLSAgICA8Tk1ha2VBc3NlbWJseVNlYXJjaFBhdGggQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciPiQoTk1ha2VBc3NlbWJseVNlYXJjaFBhdGgpPC9OTWFrZUFzc2VtYmx5U2VhcmNoUGF0aD4KLSAgICA8Tk1ha2VGb3JjZWRVc2luZ0Fzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciPiQoTk1ha2VGb3JjZWRVc2luZ0Fzc2VtYmxpZXMpPC9OTWFrZUZvcmNlZFVzaW5nQXNzZW1ibGllcz4KLSAgICA8Tk1ha2VCdWlsZENvbW1hbmRMaW5lIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyI+Y2QgJChQcm9qZWN0RGlyKVwuLlxQQwotbm1ha2UgL2YgcHl0aG9uMy5tYWsgTUFDSElORT14NjQgT3V0RGlyPSQoT3V0RGlyKTwvTk1ha2VCdWlsZENvbW1hbmRMaW5lPgotICAgIDxOTWFrZVJlQnVpbGRDb21tYW5kTGluZSBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciPmNkICQoUHJvamVjdERpcilcLi5cUEMKLW5tYWtlIC9mIHB5dGhvbjMubWFrIE1BQ0hJTkU9eDY0IE91dERpcj0kKE91dERpcikgcmVidWlsZDwvTk1ha2VSZUJ1aWxkQ29tbWFuZExpbmU+Ci0gICAgPE5NYWtlQ2xlYW5Db21tYW5kTGluZSBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciPmNkICQoUHJvamVjdERpcilcLi5cUEMKLSIkKFZTSW5zdGFsbERpcilcVkNcYmluXG5tYWtlLmV4ZSIgL2YgcHl0aG9uMy5tYWsgTUFDSElORT14NjQgT3V0RGlyPSQoT3V0RGlyKSBjbGVhbjwvTk1ha2VDbGVhbkNvbW1hbmRMaW5lPgotICAgIDxOTWFrZU91dHB1dCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciPiQoT3V0RGlyKXB5dGhvbjMuZGxsPC9OTWFrZU91dHB1dD4KLSAgICA8Tk1ha2VQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciPiQoTk1ha2VQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L05NYWtlUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgPE5NYWtlSW5jbHVkZVNlYXJjaFBhdGggQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIj4kKE5NYWtlSW5jbHVkZVNlYXJjaFBhdGgpPC9OTWFrZUluY2x1ZGVTZWFyY2hQYXRoPgotICAgIDxOTWFrZUZvcmNlZEluY2x1ZGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyI+JChOTWFrZUZvcmNlZEluY2x1ZGVzKTwvTk1ha2VGb3JjZWRJbmNsdWRlcz4KLSAgICA8Tk1ha2VBc3NlbWJseVNlYXJjaFBhdGggQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIj4kKE5NYWtlQXNzZW1ibHlTZWFyY2hQYXRoKTwvTk1ha2VBc3NlbWJseVNlYXJjaFBhdGg+Ci0gICAgPE5NYWtlRm9yY2VkVXNpbmdBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyI+JChOTWFrZUZvcmNlZFVzaW5nQXNzZW1ibGllcyk8L05NYWtlRm9yY2VkVXNpbmdBc3NlbWJsaWVzPgorICAgIDxfTWFjaGluZT5YODY8L19NYWNoaW5lPgorICAgIDxfTWFjaGluZSBDb25kaXRpb249IiQoUGxhdGZvcm0pID09ICd4NjQnIj5YNjQ8L19NYWNoaW5lPgogICA8L1Byb3BlcnR5R3JvdXA+CiAgIDxJdGVtRGVmaW5pdGlvbkdyb3VwPgorICAgIDxDbENvbXBpbGU+CisgICAgICA8QnVmZmVyU2VjdXJpdHlDaGVjaz5mYWxzZTwvQnVmZmVyU2VjdXJpdHlDaGVjaz4KKyAgICA8L0NsQ29tcGlsZT4KKyAgICA8TGluaz4KKyAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPiQoT3V0RGlyKSQoVGFyZ2V0TmFtZSlzdHViLmxpYjwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KKyAgICAgIDxNb2R1bGVEZWZpbml0aW9uRmlsZSBDb25kaXRpb249IiQoQ29uZmlndXJhdGlvbikgIT0gJ0RlYnVnJyI+JChQeVNvdXJjZVBhdGgpUENccHl0aG9uMy5kZWY8L01vZHVsZURlZmluaXRpb25GaWxlPgorICAgICAgPE1vZHVsZURlZmluaXRpb25GaWxlIENvbmRpdGlvbj0iJChDb25maWd1cmF0aW9uKSA9PSAnRGVidWcnIj4kKEludERpcilweXRob24zX2QuZGVmPC9Nb2R1bGVEZWZpbml0aW9uRmlsZT4KKyAgICAgIDxFbnRyeVBvaW50U3ltYm9sPkRsbE1haW48L0VudHJ5UG9pbnRTeW1ib2w+CisgICAgPC9MaW5rPgorICAgIDxQcmVMaW5rRXZlbnQ+CisgICAgICA8Q29tbWFuZD5saWIgL25vbG9nbyAvZGVmOiIkKEludERpcilweXRob24zc3R1Yi5kZWYiIC9vdXQ6IiQoT3V0RGlyKSQoVGFyZ2V0TmFtZSlzdHViLmxpYiIgL01BQ0hJTkU6JChfTWFjaGluZSk8L0NvbW1hbmQ+CisgICAgICA8TWVzc2FnZT5SZWJ1aWxkaW5nICQoVGFyZ2V0TmFtZSlzdHViLmxpYjwvTWVzc2FnZT4KKyAgICAgIDxPdXRwdXRzPiQoT3V0RGlyKSQoVGFyZ2V0TmFtZSlzdHViLmxpYjwvT3V0cHV0cz4KKyAgICA8L1ByZUxpbmtFdmVudD4KICAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgogICA8SXRlbUdyb3VwPgogICAgIDxOb25lIEluY2x1ZGU9Ii4uXFBDXHB5dGhvbjMuZGVmIiAvPgpAQCAtMTgxLDQgKzg4LDU1IEBACiAgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnRhcmdldHMiIC8+CiAgIDxJbXBvcnRHcm91cCBMYWJlbD0iRXh0ZW5zaW9uVGFyZ2V0cyI+CiAgIDwvSW1wb3J0R3JvdXA+CisgIAorICA8VGFyZ2V0IE5hbWU9IkJ1aWxkUHl0aG9uM19kRGVmIiBCZWZvcmVUYXJnZXRzPSJCdWlsZFN0dWJEZWYiIElucHV0cz0iLi5cUENccHl0aG9uMy5kZWYiIE91dHB1dHM9IiQoSW50RGlyKXB5dGhvbjNfZC5kZWYiIENvbmRpdGlvbj0iJChDb25maWd1cmF0aW9uKSA9PSAnRGVidWcnIj4KKyAgICA8SXRlbUdyb3VwPgorICAgICAgPF9EZWZMaW5lcyBSZW1vdmU9IkAoX0RlZkxpbmVzKSIgLz4KKyAgICAgIDxfTGluZXMgUmVtb3ZlPSJAKF9MaW5lcykiIC8+CisgICAgPC9JdGVtR3JvdXA+CisgICAgPFJlYWRMaW5lc0Zyb21GaWxlIEZpbGU9Ii4uXFBDXHB5dGhvbjMuZGVmIj4KKyAgICAgIDxPdXRwdXQgVGFza1BhcmFtZXRlcj0iTGluZXMiIEl0ZW1OYW1lPSJfRGVmTGluZXMiIC8+CisgICAgPC9SZWFkTGluZXNGcm9tRmlsZT4KKyAgICA8UHJvcGVydHlHcm91cD4KKyAgICAgIDxfUGF0dGVybjE+KD1weXRob24kKE1ham9yVmVyc2lvbk51bWJlcikkKE1pbm9yVmVyc2lvbk51bWJlcikpXC48L19QYXR0ZXJuMT4KKyAgICAgIDxfU3ViMT4kMV9kLjwvX1N1YjE+CisgICAgICA8X1BhdHRlcm4yPiJweXRob24zIjwvX1BhdHRlcm4yPgorICAgICAgPF9TdWIyPiJweXRob24zX2QiPC9fU3ViMj4KKyAgICA8L1Byb3BlcnR5R3JvdXA+CisgICAgPEl0ZW1Hcm91cD4KKyAgICAgIDxfTGluZXMgSW5jbHVkZT0iQChfRGVmTGluZXMpIj4KKyAgICAgICAgPE5ldz4kKFtTeXN0ZW0uVGV4dC5SZWd1bGFyRXhwcmVzc2lvbnMuUmVnZXhdOjpSZXBsYWNlKCQoW1N5c3RlbS5UZXh0LlJlZ3VsYXJFeHByZXNzaW9ucy5SZWdleF06OlJlcGxhY2UoYCUoSWRlbnRpdHkpYCwgYCQoX1BhdHRlcm4xKWAsIGAkKF9TdWIxKWApKSwgYCQoX1BhdHRlcm4yKWAsIGAkKF9TdWIyKWApKTwvTmV3PgorICAgICAgPC9fTGluZXM+CisgICAgPC9JdGVtR3JvdXA+CisgICAgPE1ha2VEaXIgRGlyZWN0b3JpZXM9IiQoSW50RGlyKSIgLz4KKyAgICA8V3JpdGVMaW5lc1RvRmlsZSBGaWxlPSIkKEludERpcilweXRob24zX2QuZGVmIiBMaW5lcz0iQChfTGluZXMtPiclKE5ldyknKSIgLz4KKyAgPC9UYXJnZXQ+CisgIAorICA8VGFyZ2V0IE5hbWU9IkJ1aWxkU3R1YkRlZiIgQmVmb3JlVGFyZ2V0cz0iUHJlTGlua0V2ZW50IiBJbnB1dHM9Ii4uXFBDXHB5dGhvbjMuZGVmIiBPdXRwdXRzPSIkKEludERpcilweXRob24zc3R1Yi5kZWYiPgorICAgIDxJdGVtR3JvdXA+CisgICAgICA8X0RlZkxpbmVzIFJlbW92ZT0iQChfRGVmTGluZXMpIiAvPgorICAgICAgPF9MaW5lcyBSZW1vdmU9IkAoX0xpbmVzKSIgLz4KKyAgICA8L0l0ZW1Hcm91cD4KKyAgICA8UmVhZExpbmVzRnJvbUZpbGUgRmlsZT0iLi5cUENccHl0aG9uMy5kZWYiPgorICAgICAgPE91dHB1dCBUYXNrUGFyYW1ldGVyPSJMaW5lcyIgSXRlbU5hbWU9Il9EZWZMaW5lcyIgLz4KKyAgICA8L1JlYWRMaW5lc0Zyb21GaWxlPgorICAgIDxQcm9wZXJ0eUdyb3VwPgorICAgICAgPF9QYXR0ZXJuPl5bXHcuXSs9Lis/XC4oW14gXSspLiokPC9fUGF0dGVybj4KKyAgICAgIDxfU3ViPiQxPC9fU3ViPgorICAgIDwvUHJvcGVydHlHcm91cD4KKyAgICA8SXRlbUdyb3VwPgorICAgICAgPF9MaW5lcyBJbmNsdWRlPSJFWFBPUlRTIiAvPgorICAgICAgPF9TeW1ib2xzIEluY2x1ZGU9IkAoX0RlZkxpbmVzKSIgQ29uZGl0aW9uPSIkKFtTeXN0ZW0uVGV4dC5SZWd1bGFyRXhwcmVzc2lvbnMuUmVnZXhdOjpJc01hdGNoKGAlKElkZW50aXR5KWAsIGAkKF9QYXR0ZXJuKWApKSI+CisgICAgICAgIDxTeW1ib2w+JChbU3lzdGVtLlRleHQuUmVndWxhckV4cHJlc3Npb25zLlJlZ2V4XTo6UmVwbGFjZShgJShJZGVudGl0eSlgLCBgJChfUGF0dGVybilgLCBgJChfU3ViKWApKTwvU3ltYm9sPgorICAgICAgPC9fU3ltYm9scz4KKyAgICAgIDxfTGluZXMgSW5jbHVkZT0iQChfU3ltYm9scy0+JyUoU3ltYm9sKScpIiAvPgorICAgIDwvSXRlbUdyb3VwPgorICAgIDxNYWtlRGlyIERpcmVjdG9yaWVzPSIkKEludERpcikiIC8+CisgICAgPFdyaXRlTGluZXNUb0ZpbGUgRmlsZT0iJChJbnREaXIpcHl0aG9uM3N0dWIuZGVmIiBMaW5lcz0iQChfTGluZXMpIiAvPgorICA8L1RhcmdldD4KKyAgPFRhcmdldCBOYW1lPSJfQ2xlYW5TdHViRGVmIiBCZWZvcmVUYXJnZXRzPSJDb3JlQ2xlYW4iPgorICAgIDxJdGVtR3JvdXA+CisgICAgICA8Q2xlYW4gSW5jbHVkZT0iJChJbnREaXIpcHl0aG9uM3N0dWIuZGVmIiAvPgorICAgIDwvSXRlbUdyb3VwPgorICA8L1RhcmdldD4KIDwvUHJvamVjdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9QQ2J1aWxkL3B5dGhvbmNvcmUudmN4cHJvaiBiL1BDYnVpbGQvcHl0aG9uY29yZS52Y3hwcm9qCmluZGV4IDYwMjFjZDcuLmE1NjkwZjYgMTAwNjQ0Ci0tLSBhL1BDYnVpbGQvcHl0aG9uY29yZS52Y3hwcm9qCisrKyBiL1BDYnVpbGQvcHl0aG9uY29yZS52Y3hwcm9qCkBAIC0zOCw0MDUgKzM4LDQxIEBACiAgICAgPFByb2plY3RHdWlkPntDRjdBQzNEMS1FMkRGLTQxRDItQkVBNi0xRTI1NTZDREVBMjZ9PC9Qcm9qZWN0R3VpZD4KICAgICA8Um9vdE5hbWVzcGFjZT5weXRob25jb3JlPC9Sb290TmFtZXNwYWNlPgogICA8L1Byb3BlcnR5R3JvdXA+CisgIDxJbXBvcnQgUHJvamVjdD0icHl0aG9uLnByb3BzIiAvPgogICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5EZWZhdWx0LnByb3BzIiAvPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPFVzZU9mTWZjPmZhbHNlPC9Vc2VPZk1mYz4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxVc2VPZk1mYz5mYWxzZTwvVXNlT2ZNZmM+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxVc2VPZk1mYz5mYWxzZTwvVXNlT2ZNZmM+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8VXNlT2ZNZmM+ZmFsc2U8L1VzZU9mTWZjPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPFVzZU9mTWZjPmZhbHNlPC9Vc2VPZk1mYz4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8VXNlT2ZNZmM+ZmFsc2U8L1VzZU9mTWZjPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPFVzZU9mTWZjPmZhbHNlPC9Vc2VPZk1mYz4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgorICA8UHJvcGVydHlHcm91cCBMYWJlbD0iQ29uZmlndXJhdGlvbiI+CiAgICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KICAgICA8VXNlT2ZNZmM+ZmFsc2U8L1VzZU9mTWZjPgogICA8L1Byb3BlcnR5R3JvdXA+CiAgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnByb3BzIiAvPgogICA8SW1wb3J0R3JvdXAgTGFiZWw9IkV4dGVuc2lvblNldHRpbmdzIj4KICAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgorICA8UHJvcGVydHlHcm91cD4KKyAgICA8TWFrZVZlcnNpb25JbmZvQmVmb3JlVGFyZ2V0PkNsQ29tcGlsZTwvTWFrZVZlcnNpb25JbmZvQmVmb3JlVGFyZ2V0PgorICAgIDxLaWxsUHl0aG9uPnRydWU8L0tpbGxQeXRob24+CisgIDwvUHJvcGVydHlHcm91cD4KKyAgPEltcG9ydEdyb3VwIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+CiAgICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icmVsZWFzZS5wcm9wcyIgLz4KICAgICA8SW1wb3J0IFByb2plY3Q9InB5cHJvamVjdC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InBndXBkYXRlLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InJlbGVhc2UucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweXByb2plY3QucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJwZ2luc3RydW1lbnQucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJkZWJ1Zy5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5cHJvamVjdC5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icmVsZWFzZS5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5cHJvamVjdC5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJyZWxlYXNlLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlwcm9qZWN0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0ieDY0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icGd1cGRhdGUucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InJlbGVhc2UucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweXByb2plY3QucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJ4NjQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJwZ2luc3RydW1lbnQucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0iZGVidWcucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweXByb2plY3QucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJ4NjQucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJyZWxlYXNlLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlwcm9qZWN0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0ieDY0LnByb3BzIiAvPgogICA8L0ltcG9ydEdyb3VwPgogICA8UHJvcGVydHlHcm91cCBMYWJlbD0iVXNlck1hY3JvcyIgLz4KICAgPFByb3BlcnR5R3JvdXA+CiAgICAgPF9Qcm9qZWN0RmlsZVZlcnNpb24+MTAuMC4zMDMxOS4xPC9fUHJvamVjdEZpbGVWZXJzaW9uPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgLz4KLSAgICA8VGFyZ2V0TmFtZSBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+JChQeURsbE5hbWUpPC9UYXJnZXROYW1lPgotICAgIDxUYXJnZXROYW1lIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyI+JChQeURsbE5hbWUpPC9UYXJnZXROYW1lPgotICAgIDxUYXJnZXROYW1lIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIj4kKFB5RGxsTmFtZSk8L1RhcmdldE5hbWU+Ci0gICAgPFRhcmdldE5hbWUgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+JChQeURsbE5hbWUpPC9UYXJnZXROYW1lPgotICAgIDxUYXJnZXROYW1lIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+JChQeURsbE5hbWUpPC9UYXJnZXROYW1lPgotICAgIDxUYXJnZXROYW1lIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciPiQoUHlEbGxOYW1lKTwvVGFyZ2V0TmFtZT4KLSAgICA8VGFyZ2V0TmFtZSBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciPiQoUHlEbGxOYW1lKTwvVGFyZ2V0TmFtZT4KLSAgICA8VGFyZ2V0TmFtZSBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+JChQeURsbE5hbWUpPC9UYXJnZXROYW1lPgorICAgIDxUYXJnZXROYW1lPiQoUHlEbGxOYW1lKTwvVGFyZ2V0TmFtZT4KICAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj4KKyAgPFByb3BlcnR5R3JvdXA+CisgICAgPEN1c3RvbUJ1aWxkQmVmb3JlVGFyZ2V0cz5MaW5rPC9DdXN0b21CdWlsZEJlZm9yZVRhcmdldHM+CisgIDwvUHJvcGVydHlHcm91cD4KKyAgPEl0ZW1EZWZpbml0aW9uR3JvdXA+CiAgICAgPENsQ29tcGlsZT4KICAgICAgIDxBZGRpdGlvbmFsT3B0aW9ucz4vWm0yMDAgICUoQWRkaXRpb25hbE9wdGlvbnMpPC9BZGRpdGlvbmFsT3B0aW9ucz4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXFB5dGhvbjsuLlxNb2R1bGVzXHpsaWI7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5fVVNSRExMO1B5X0JVSUxEX0NPUkU7UHlfRU5BQkxFX1NIQVJFRDtXSU4zMjslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgICA8UnVudGltZUxpYnJhcnk+TXVsdGlUaHJlYWRlZERMTDwvUnVudGltZUxpYnJhcnk+CisgICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4kKFB5U291cmNlUGF0aClQeXRob247JChQeVNvdXJjZVBhdGgpTW9kdWxlc1x6bGliOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+CisgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X1VTUkRMTDtQeV9CVUlMRF9DT1JFO1B5X0VOQUJMRV9TSEFSRUQ7TVNfRExMX0lEPSIkKFN5c1dpblZlcikiOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KICAgICA8L0NsQ29tcGlsZT4KLSAgICA8UmVzb3VyY2VDb21waWxlPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPk5ERUJVRzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgICA8Q3VsdHVyZT4weDA0MDk8L0N1bHR1cmU+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uLlxJbmNsdWRlOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Ci0gICAgPC9SZXNvdXJjZUNvbXBpbGU+Ci0gICAgPFByZUxpbmtFdmVudD4KLSAgICAgIDxNZXNzYWdlPkdlbmVyYXRlIGJ1aWxkIGluZm9ybWF0aW9uLi4uPC9NZXNzYWdlPgotICAgICAgPENvbW1hbmQ+IiQoU29sdXRpb25EaXIpbWFrZV9idWlsZGluZm8uZXhlIiBSZWxlYXNlICIkKEludERpcilcIjwvQ29tbWFuZD4KLSAgICA8L1ByZUxpbmtFdmVudD4KICAgICA8TGluaz4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPiQoSW50RGlyKWdldGJ1aWxkaW5mby5vOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgICA8T3V0cHV0RmlsZT4kKE91dERpcikkKFB5RGxsTmFtZSkuZGxsPC9PdXRwdXRGaWxlPgotICAgICAgPElnbm9yZVNwZWNpZmljRGVmYXVsdExpYnJhcmllcz5saWJjOyUoSWdub3JlU3BlY2lmaWNEZWZhdWx0TGlicmFyaWVzKTwvSWdub3JlU3BlY2lmaWNEZWZhdWx0TGlicmFyaWVzPgorICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+d3MyXzMyLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgogICAgICAgPEJhc2VBZGRyZXNzPjB4MWUwMDAwMDA8L0Jhc2VBZGRyZXNzPgogICAgIDwvTGluaz4KLSAgICA8UHJlQnVpbGRFdmVudD4KLSAgICAgIDxDb21tYW5kPiQoS2lsbFB5dGhvbkV4ZSkKLUlGICVFUlJPUkxFVkVMJSBORVEgMCAoCi0gICAgZWNobyBraWxsX3B5dGhvbjogd2FyXm5pbmc6IGNvdWxkIG5vdCBraWxsIHJ1bm5pbmcgUHl0aG9ucywgZXhpdCBjb2RlICVFUlJPUkxFVkVMJQotICAgIGV4aXQgL2IgMAotKTwvQ29tbWFuZD4KLSAgICA8L1ByZUJ1aWxkRXZlbnQ+Ci0gICAgPFByZUJ1aWxkRXZlbnQ+Ci0gICAgICA8TWVzc2FnZT5LaWxsaW5nIGFueSBydW5uaW5nICQoUHl0aG9uRXhlKSBpbnN0YW5jZXMuLi48L01lc3NhZ2U+Ci0gICAgPC9QcmVCdWlsZEV2ZW50PgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj4KLSAgICA8TWlkbD4KLSAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgotICAgIDwvTWlkbD4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPEFkZGl0aW9uYWxPcHRpb25zPi9abTIwMCAgJShBZGRpdGlvbmFsT3B0aW9ucyk8L0FkZGl0aW9uYWxPcHRpb25zPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cUHl0aG9uOy4uXE1vZHVsZXNcemxpYjslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPl9VU1JETEw7UHlfQlVJTERfQ09SRTtQeV9FTkFCTEVfU0hBUkVEO1dJTjMyOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICAgIDxSdW50aW1lTGlicmFyeT5NdWx0aVRocmVhZGVkRExMPC9SdW50aW1lTGlicmFyeT4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8UmVzb3VyY2VDb21waWxlPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPk5ERUJVRzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgICA8Q3VsdHVyZT4weDA0MDk8L0N1bHR1cmU+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uLlxJbmNsdWRlOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Ci0gICAgPC9SZXNvdXJjZUNvbXBpbGU+Ci0gICAgPFByZUxpbmtFdmVudD4KLSAgICAgIDxNZXNzYWdlPkdlbmVyYXRlIGJ1aWxkIGluZm9ybWF0aW9uLi4uPC9NZXNzYWdlPgotICAgICAgPENvbW1hbmQ+IiQoU29sdXRpb25EaXIpbWFrZV9idWlsZGluZm8uZXhlIiBSZWxlYXNlICIkKEludERpcilcIjwvQ29tbWFuZD4KLSAgICA8L1ByZUxpbmtFdmVudD4KLSAgICA8TGluaz4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPiQoSW50RGlyKWdldGJ1aWxkaW5mby5vOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgICA8SWdub3JlU3BlY2lmaWNEZWZhdWx0TGlicmFyaWVzPmxpYmM7JShJZ25vcmVTcGVjaWZpY0RlZmF1bHRMaWJyYXJpZXMpPC9JZ25vcmVTcGVjaWZpY0RlZmF1bHRMaWJyYXJpZXM+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxZTAwMDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgPC9MaW5rPgotICAgIDxQcmVCdWlsZEV2ZW50PgotICAgICAgPENvbW1hbmQ+JChLaWxsUHl0aG9uRXhlKQotSUYgJUVSUk9STEVWRUwlIE5FUSAwICgKLSAgICBlY2hvIGtpbGxfcHl0aG9uOiB3YXJebmluZzogY291bGQgbm90IGtpbGwgcnVubmluZyBQeXRob25zLCBleGl0IGNvZGUgJUVSUk9STEVWRUwlCi0gICAgZXhpdCAvYiAwCi0pPC9Db21tYW5kPgotICAgIDwvUHJlQnVpbGRFdmVudD4KLSAgICA8UHJlQnVpbGRFdmVudD4KLSAgICAgIDxNZXNzYWdlPktpbGxpbmcgYW55IHJ1bm5pbmcgJChQeXRob25FeGUpIGluc3RhbmNlcy4uLjwvTWVzc2FnZT4KLSAgICA8L1ByZUJ1aWxkRXZlbnQ+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8QWRkaXRpb25hbE9wdGlvbnM+L1ptMjAwICAlKEFkZGl0aW9uYWxPcHRpb25zKTwvQWRkaXRpb25hbE9wdGlvbnM+Ci0gICAgICA8T3B0aW1pemF0aW9uPkRpc2FibGVkPC9PcHRpbWl6YXRpb24+Ci0gICAgICA8SW5saW5lRnVuY3Rpb25FeHBhbnNpb24+RGVmYXVsdDwvSW5saW5lRnVuY3Rpb25FeHBhbnNpb24+Ci0gICAgICA8SW50cmluc2ljRnVuY3Rpb25zPmZhbHNlPC9JbnRyaW5zaWNGdW5jdGlvbnM+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uLlxQeXRob247Li5cTW9kdWxlc1x6bGliOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X1VTUkRMTDtQeV9CVUlMRF9DT1JFO1B5X0VOQUJMRV9TSEFSRUQ7V0lOMzI7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgICAgPFJ1bnRpbWVMaWJyYXJ5Pk11bHRpVGhyZWFkZWREZWJ1Z0RMTDwvUnVudGltZUxpYnJhcnk+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPFJlc291cmNlQ29tcGlsZT4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5fREVCVUc7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgICAgPEN1bHR1cmU+MHgwNDA5PC9DdWx0dXJlPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cSW5jbHVkZTslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgIDwvUmVzb3VyY2VDb21waWxlPgotICAgIDxQcmVMaW5rRXZlbnQ+Ci0gICAgICA8TWVzc2FnZT5HZW5lcmF0ZSBidWlsZCBpbmZvcm1hdGlvbi4uLjwvTWVzc2FnZT4KLSAgICAgIDxDb21tYW5kPiIkKFNvbHV0aW9uRGlyKW1ha2VfYnVpbGRpbmZvLmV4ZSIgRGVidWcgIiQoSW50RGlyKSI8L0NvbW1hbmQ+Ci0gICAgPC9QcmVMaW5rRXZlbnQ+Ci0gICAgPExpbms+Ci0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz4kKEludERpcilnZXRidWlsZGluZm8ubzslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgICAgPElnbm9yZVNwZWNpZmljRGVmYXVsdExpYnJhcmllcz5saWJjOyUoSWdub3JlU3BlY2lmaWNEZWZhdWx0TGlicmFyaWVzKTwvSWdub3JlU3BlY2lmaWNEZWZhdWx0TGlicmFyaWVzPgotICAgICAgPEJhc2VBZGRyZXNzPjB4MWUwMDAwMDA8L0Jhc2VBZGRyZXNzPgotICAgIDwvTGluaz4KLSAgICA8UHJlQnVpbGRFdmVudD4KLSAgICAgIDxDb21tYW5kPiQoS2lsbFB5dGhvbkV4ZSkKLUlGICVFUlJPUkxFVkVMJSBORVEgMCAoCi0gICAgZWNobyBraWxsX3B5dGhvbjogd2FyXm5pbmc6IGNvdWxkIG5vdCBraWxsIHJ1bm5pbmcgUHl0aG9ucywgZXhpdCBjb2RlICVFUlJPUkxFVkVMJQotICAgIGV4aXQgL2IgMAotKTwvQ29tbWFuZD4KLSAgICA8L1ByZUJ1aWxkRXZlbnQ+Ci0gICAgPFByZUJ1aWxkRXZlbnQ+Ci0gICAgICA8TWVzc2FnZT5LaWxsaW5nIGFueSBydW5uaW5nICQoUHl0aG9uRXhlKSBpbnN0YW5jZXMuLi48L01lc3NhZ2U+Ci0gICAgPC9QcmVCdWlsZEV2ZW50PgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+Ci0gICAgPE1pZGw+Ci0gICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+WDY0PC9UYXJnZXRFbnZpcm9ubWVudD4KLSAgICA8L01pZGw+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxBZGRpdGlvbmFsT3B0aW9ucz4vWm0yMDAgICUoQWRkaXRpb25hbE9wdGlvbnMpPC9BZGRpdGlvbmFsT3B0aW9ucz4KLSAgICAgIDxPcHRpbWl6YXRpb24+RGlzYWJsZWQ8L09wdGltaXphdGlvbj4KLSAgICAgIDxJbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj5EZWZhdWx0PC9JbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj4KLSAgICAgIDxJbnRyaW5zaWNGdW5jdGlvbnM+ZmFsc2U8L0ludHJpbnNpY0Z1bmN0aW9ucz4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXFB5dGhvbjsuLlxNb2R1bGVzXHpsaWI7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5fVVNSRExMO1B5X0JVSUxEX0NPUkU7UHlfRU5BQkxFX1NIQVJFRDtXSU4zMjslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgICA8UnVudGltZUxpYnJhcnk+TXVsdGlUaHJlYWRlZERlYnVnRExMPC9SdW50aW1lTGlicmFyeT4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8UmVzb3VyY2VDb21waWxlPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPl9ERUJVRzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgICA8Q3VsdHVyZT4weDA0MDk8L0N1bHR1cmU+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uLlxJbmNsdWRlOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Ci0gICAgPC9SZXNvdXJjZUNvbXBpbGU+Ci0gICAgPFByZUxpbmtFdmVudD4KLSAgICAgIDxNZXNzYWdlPkdlbmVyYXRlIGJ1aWxkIGluZm9ybWF0aW9uLi4uPC9NZXNzYWdlPgotICAgICAgPENvbW1hbmQ+IiQoU29sdXRpb25EaXIpbWFrZV9idWlsZGluZm8uZXhlIiBEZWJ1ZyAiJChJbnREaXIpIjwvQ29tbWFuZD4KLSAgICA8L1ByZUxpbmtFdmVudD4KLSAgICA8TGluaz4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPiQoSW50RGlyKWdldGJ1aWxkaW5mby5vOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgICA8SWdub3JlU3BlY2lmaWNEZWZhdWx0TGlicmFyaWVzPmxpYmM7JShJZ25vcmVTcGVjaWZpY0RlZmF1bHRMaWJyYXJpZXMpPC9JZ25vcmVTcGVjaWZpY0RlZmF1bHRMaWJyYXJpZXM+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxZTAwMDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgPC9MaW5rPgotICAgIDxQcmVCdWlsZEV2ZW50PgotICAgICAgPENvbW1hbmQ+JChLaWxsUHl0aG9uRXhlKQotSUYgJUVSUk9STEVWRUwlIE5FUSAwICgKLSAgICBlY2hvIGtpbGxfcHl0aG9uOiB3YXJebmluZzogY291bGQgbm90IGtpbGwgcnVubmluZyBQeXRob25zLCBleGl0IGNvZGUgJUVSUk9STEVWRUwlCi0gICAgZXhpdCAvYiAwCi0pPC9Db21tYW5kPgotICAgIDwvUHJlQnVpbGRFdmVudD4KLSAgICA8UHJlQnVpbGRFdmVudD4KLSAgICAgIDxNZXNzYWdlPktpbGxpbmcgYW55IHJ1bm5pbmcgJChQeXRob25FeGUpIGluc3RhbmNlcy4uLjwvTWVzc2FnZT4KLSAgICA8L1ByZUJ1aWxkRXZlbnQ+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIj4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPEFkZGl0aW9uYWxPcHRpb25zPi9abTIwMCAgJShBZGRpdGlvbmFsT3B0aW9ucyk8L0FkZGl0aW9uYWxPcHRpb25zPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cUHl0aG9uOy4uXE1vZHVsZXNcemxpYjslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPl9VU1JETEw7UHlfQlVJTERfQ09SRTtQeV9FTkFCTEVfU0hBUkVEO1dJTjMyOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICAgIDxSdW50aW1lTGlicmFyeT5NdWx0aVRocmVhZGVkRExMPC9SdW50aW1lTGlicmFyeT4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8UmVzb3VyY2VDb21waWxlPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPk5ERUJVRzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgICA8Q3VsdHVyZT4weDA0MDk8L0N1bHR1cmU+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uLlxJbmNsdWRlOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Ci0gICAgPC9SZXNvdXJjZUNvbXBpbGU+Ci0gICAgPFByZUxpbmtFdmVudD4KLSAgICAgIDxNZXNzYWdlPkdlbmVyYXRlIGJ1aWxkIGluZm9ybWF0aW9uLi4uPC9NZXNzYWdlPgotICAgICAgPENvbW1hbmQ+IiQoU29sdXRpb25EaXIpbWFrZV9idWlsZGluZm8uZXhlIiBSZWxlYXNlICIkKEludERpcilcIjwvQ29tbWFuZD4KLSAgICA8L1ByZUxpbmtFdmVudD4KLSAgICA8TGluaz4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPiQoSW50RGlyKWdldGJ1aWxkaW5mby5vOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgICA8T3V0cHV0RmlsZT4kKE91dERpcikkKFB5RGxsTmFtZSkuZGxsPC9PdXRwdXRGaWxlPgotICAgICAgPElnbm9yZVNwZWNpZmljRGVmYXVsdExpYnJhcmllcz5saWJjOyUoSWdub3JlU3BlY2lmaWNEZWZhdWx0TGlicmFyaWVzKTwvSWdub3JlU3BlY2lmaWNEZWZhdWx0TGlicmFyaWVzPgotICAgICAgPEJhc2VBZGRyZXNzPjB4MWUwMDAwMDA8L0Jhc2VBZGRyZXNzPgotICAgIDwvTGluaz4KLSAgICA8UHJlQnVpbGRFdmVudD4KLSAgICAgIDxDb21tYW5kPiQoS2lsbFB5dGhvbkV4ZSkKLUlGICVFUlJPUkxFVkVMJSBORVEgMCAoCi0gICAgZWNobyBraWxsX3B5dGhvbjogd2FyXm5pbmc6IGNvdWxkIG5vdCBraWxsIHJ1bm5pbmcgUHl0aG9ucywgZXhpdCBjb2RlICVFUlJPUkxFVkVMJQotICAgIGV4aXQgL2IgMAotKTwvQ29tbWFuZD4KLSAgICA8L1ByZUJ1aWxkRXZlbnQ+Ci0gICAgPFByZUJ1aWxkRXZlbnQ+Ci0gICAgICA8TWVzc2FnZT5LaWxsaW5nIGFueSBydW5uaW5nICQoUHl0aG9uRXhlKSBpbnN0YW5jZXMuLi48L01lc3NhZ2U+Ci0gICAgPC9QcmVCdWlsZEV2ZW50PgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciPgotICAgIDxNaWRsPgotICAgICAgPFRhcmdldEVudmlyb25tZW50Plg2NDwvVGFyZ2V0RW52aXJvbm1lbnQ+Ci0gICAgPC9NaWRsPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8QWRkaXRpb25hbE9wdGlvbnM+L1ptMjAwICAlKEFkZGl0aW9uYWxPcHRpb25zKTwvQWRkaXRpb25hbE9wdGlvbnM+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uLlxQeXRob247Li5cTW9kdWxlc1x6bGliOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X1VTUkRMTDtQeV9CVUlMRF9DT1JFO1B5X0VOQUJMRV9TSEFSRUQ7V0lOMzI7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgICAgPFJ1bnRpbWVMaWJyYXJ5Pk11bHRpVGhyZWFkZWRETEw8L1J1bnRpbWVMaWJyYXJ5PgotICAgIDwvQ2xDb21waWxlPgotICAgIDxSZXNvdXJjZUNvbXBpbGU+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+TkRFQlVHOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICAgIDxDdWx0dXJlPjB4MDQwOTwvQ3VsdHVyZT4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXEluY2x1ZGU7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICA8L1Jlc291cmNlQ29tcGlsZT4KLSAgICA8UHJlTGlua0V2ZW50PgotICAgICAgPE1lc3NhZ2U+R2VuZXJhdGUgYnVpbGQgaW5mb3JtYXRpb24uLi48L01lc3NhZ2U+Ci0gICAgICA8Q29tbWFuZD4iJChTb2x1dGlvbkRpciltYWtlX2J1aWxkaW5mby5leGUiIFJlbGVhc2UgIiQoSW50RGlyKVwiPC9Db21tYW5kPgotICAgIDwvUHJlTGlua0V2ZW50PgotICAgIDxMaW5rPgotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+JChJbnREaXIpZ2V0YnVpbGRpbmZvLm87JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KLSAgICAgIDxJZ25vcmVTcGVjaWZpY0RlZmF1bHRMaWJyYXJpZXM+bGliYzslKElnbm9yZVNwZWNpZmljRGVmYXVsdExpYnJhcmllcyk8L0lnbm9yZVNwZWNpZmljRGVmYXVsdExpYnJhcmllcz4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFlMDAwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICAgIDxUYXJnZXRNYWNoaW5lPk1hY2hpbmVYNjQ8L1RhcmdldE1hY2hpbmU+Ci0gICAgPC9MaW5rPgotICAgIDxQcmVCdWlsZEV2ZW50PgotICAgICAgPENvbW1hbmQ+JChLaWxsUHl0aG9uRXhlKQotSUYgJUVSUk9STEVWRUwlIE5FUSAwICgKLSAgICBlY2hvIGtpbGxfcHl0aG9uOiB3YXJebmluZzogY291bGQgbm90IGtpbGwgcnVubmluZyBQeXRob25zLCBleGl0IGNvZGUgJUVSUk9STEVWRUwlCi0gICAgZXhpdCAvYiAwCi0pPC9Db21tYW5kPgotICAgIDwvUHJlQnVpbGRFdmVudD4KLSAgICA8UHJlQnVpbGRFdmVudD4KLSAgICAgIDxNZXNzYWdlPktpbGxpbmcgYW55IHJ1bm5pbmcgJChQeXRob25FeGUpIGluc3RhbmNlcy4uLjwvTWVzc2FnZT4KLSAgICA8L1ByZUJ1aWxkRXZlbnQ+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8QWRkaXRpb25hbE9wdGlvbnM+L1ptMjAwICAlKEFkZGl0aW9uYWxPcHRpb25zKTwvQWRkaXRpb25hbE9wdGlvbnM+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uLlxQeXRob247Li5cTW9kdWxlc1x6bGliOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X1VTUkRMTDtQeV9CVUlMRF9DT1JFO1B5X0VOQUJMRV9TSEFSRUQ7V0lOMzI7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgICAgPFJ1bnRpbWVMaWJyYXJ5Pk11bHRpVGhyZWFkZWRETEw8L1J1bnRpbWVMaWJyYXJ5PgotICAgIDwvQ2xDb21waWxlPgotICAgIDxSZXNvdXJjZUNvbXBpbGU+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+TkRFQlVHOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICAgIDxDdWx0dXJlPjB4MDQwOTwvQ3VsdHVyZT4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXEluY2x1ZGU7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICA8L1Jlc291cmNlQ29tcGlsZT4KLSAgICA8UHJlTGlua0V2ZW50PgotICAgICAgPE1lc3NhZ2U+R2VuZXJhdGUgYnVpbGQgaW5mb3JtYXRpb24uLi48L01lc3NhZ2U+Ci0gICAgICA8Q29tbWFuZD4iJChTb2x1dGlvbkRpciltYWtlX2J1aWxkaW5mby5leGUiIFJlbGVhc2UgIiQoSW50RGlyKVwiPC9Db21tYW5kPgotICAgIDwvUHJlTGlua0V2ZW50PgotICAgIDxMaW5rPgotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+JChJbnREaXIpZ2V0YnVpbGRpbmZvLm87JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KLSAgICAgIDxPdXRwdXRGaWxlPiQoT3V0RGlyKSQoUHlEbGxOYW1lKS5kbGw8L091dHB1dEZpbGU+Ci0gICAgICA8SWdub3JlU3BlY2lmaWNEZWZhdWx0TGlicmFyaWVzPmxpYmM7JShJZ25vcmVTcGVjaWZpY0RlZmF1bHRMaWJyYXJpZXMpPC9JZ25vcmVTcGVjaWZpY0RlZmF1bHRMaWJyYXJpZXM+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxZTAwMDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgPC9MaW5rPgotICAgIDxQcmVCdWlsZEV2ZW50PgotICAgICAgPENvbW1hbmQ+JChLaWxsUHl0aG9uRXhlKQotSUYgJUVSUk9STEVWRUwlIE5FUSAwICgKLSAgICBlY2hvIGtpbGxfcHl0aG9uOiB3YXJebmluZzogY291bGQgbm90IGtpbGwgcnVubmluZyBQeXRob25zLCBleGl0IGNvZGUgJUVSUk9STEVWRUwlCi0gICAgZXhpdCAvYiAwCi0pPC9Db21tYW5kPgotICAgIDwvUHJlQnVpbGRFdmVudD4KLSAgICA8UHJlQnVpbGRFdmVudD4KLSAgICAgIDxNZXNzYWdlPktpbGxpbmcgYW55IHJ1bm5pbmcgJChQeXRob25FeGUpIGluc3RhbmNlcy4uLjwvTWVzc2FnZT4KLSAgICA8L1ByZUJ1aWxkRXZlbnQ+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIj4KLSAgICA8TWlkbD4KLSAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgotICAgIDwvTWlkbD4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPEFkZGl0aW9uYWxPcHRpb25zPi9abTIwMCAgJShBZGRpdGlvbmFsT3B0aW9ucyk8L0FkZGl0aW9uYWxPcHRpb25zPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cUHl0aG9uOy4uXE1vZHVsZXNcemxpYjslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPl9VU1JETEw7UHlfQlVJTERfQ09SRTtQeV9FTkFCTEVfU0hBUkVEO1dJTjMyOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICAgIDxSdW50aW1lTGlicmFyeT5NdWx0aVRocmVhZGVkRExMPC9SdW50aW1lTGlicmFyeT4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8UmVzb3VyY2VDb21waWxlPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPk5ERUJVRzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgICA8Q3VsdHVyZT4weDA0MDk8L0N1bHR1cmU+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uLlxJbmNsdWRlOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Ci0gICAgPC9SZXNvdXJjZUNvbXBpbGU+Ci0gICAgPFByZUxpbmtFdmVudD4KLSAgICAgIDxNZXNzYWdlPkdlbmVyYXRlIGJ1aWxkIGluZm9ybWF0aW9uLi4uPC9NZXNzYWdlPgotICAgICAgPENvbW1hbmQ+IiQoU29sdXRpb25EaXIpbWFrZV9idWlsZGluZm8uZXhlIiBSZWxlYXNlICIkKEludERpcilcIjwvQ29tbWFuZD4KLSAgICA8L1ByZUxpbmtFdmVudD4KLSAgICA8TGluaz4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPiQoSW50RGlyKWdldGJ1aWxkaW5mby5vOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgICA8SWdub3JlU3BlY2lmaWNEZWZhdWx0TGlicmFyaWVzPmxpYmM7JShJZ25vcmVTcGVjaWZpY0RlZmF1bHRMaWJyYXJpZXMpPC9JZ25vcmVTcGVjaWZpY0RlZmF1bHRMaWJyYXJpZXM+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxZTAwMDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgICA8VGFyZ2V0TWFjaGluZT5NYWNoaW5lWDY0PC9UYXJnZXRNYWNoaW5lPgotICAgIDwvTGluaz4KLSAgICA8UHJlQnVpbGRFdmVudD4KLSAgICAgIDxDb21tYW5kPiQoS2lsbFB5dGhvbkV4ZSkKLUlGICVFUlJPUkxFVkVMJSBORVEgMCAoCi0gICAgZWNobyBraWxsX3B5dGhvbjogd2FyXm5pbmc6IGNvdWxkIG5vdCBraWxsIHJ1bm5pbmcgUHl0aG9ucywgZXhpdCBjb2RlICVFUlJPUkxFVkVMJQotICAgIGV4aXQgL2IgMAotKTwvQ29tbWFuZD4KLSAgICA8L1ByZUJ1aWxkRXZlbnQ+Ci0gICAgPFByZUJ1aWxkRXZlbnQ+Ci0gICAgICA8TWVzc2FnZT5LaWxsaW5nIGFueSBydW5uaW5nICQoUHl0aG9uRXhlKSBpbnN0YW5jZXMuLi48L01lc3NhZ2U+Ci0gICAgPC9QcmVCdWlsZEV2ZW50PgogICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+CiAgIDxJdGVtR3JvdXA+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxJbmNsdWRlXGFic3RyYWN0LmgiIC8+CkBAIC01MDIsNiArMTM4LDcgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEluY2x1ZGVccHlleHBhdC5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cSW5jbHVkZVxweWZwZS5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cSW5jbHVkZVxweWdldG9wdC5oIiAvPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cSW5jbHVkZVxweWxpZmVjeWNsZS5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cSW5jbHVkZVxweW1hdGguaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEluY2x1ZGVccHl0aW1lLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxJbmNsdWRlXHB5bWFjcm8uaCIgLz4KQEAgLTY5Niw5ICszMzMsOSBAQAogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cUGFyc2VyXHBhcnNlci5jIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cUGFyc2VyXHBhcnNldG9rLmMiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxQYXJzZXJcdG9rZW5pemVyLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxQQ1xpbnZhbGlkX3BhcmFtZXRlcl9oYW5kbGVyLmMiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxQQ1x3aW5yZWcuYyIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXFBDXGNvbmZpZy5jIiAvPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cUENcZGxfbnQuYyIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXFBDXGdldHBhdGhwLmMiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxQQ1xtc3ZjcnRtb2R1bGUuYyIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXFB5dGhvblxweWhhc2guYyIgLz4KQEAgLTczNCw2ICszNzEsNyBAQAogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cUHl0aG9uXHB5YXJlbmEuYyIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXFB5dGhvblxweWN0eXBlLmMiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxQeXRob25ccHlmcGUuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXFB5dGhvblxweWxpZmVjeWNsZS5jIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cUHl0aG9uXHB5bWF0aC5jIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cUHl0aG9uXHB5dGltZS5jIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cUHl0aG9uXHB5c3RhdGUuYyIgLz4KQEAgLTc0OSwyMyArMzg3LDMwIEBACiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxQeXRob25cdHJhY2ViYWNrLmMiIC8+CiAgIDwvSXRlbUdyb3VwPgogICA8SXRlbUdyb3VwPgotICAgIDxSZXNvdXJjZUNvbXBpbGUgSW5jbHVkZT0iLi5cUENccHl0aG9uX250LnJjIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cUENcZGxfbnQuYyIgLz4KICAgPC9JdGVtR3JvdXA+CiAgIDxJdGVtR3JvdXA+Ci0gICAgPFByb2plY3RSZWZlcmVuY2UgSW5jbHVkZT0ia2lsbF9weXRob24udmN4cHJvaiI+Ci0gICAgICA8UHJvamVjdD57NmRlMTA3NDQtZTM5Ni00MGE1LWI0ZTItMWI2OWFhN2M4ZDMxfTwvUHJvamVjdD4KLSAgICAgIDxSZWZlcmVuY2VPdXRwdXRBc3NlbWJseT5mYWxzZTwvUmVmZXJlbmNlT3V0cHV0QXNzZW1ibHk+Ci0gICAgPC9Qcm9qZWN0UmVmZXJlbmNlPgotICAgIDxQcm9qZWN0UmVmZXJlbmNlIEluY2x1ZGU9Im1ha2VfYnVpbGRpbmZvLnZjeHByb2oiPgotICAgICAgPFByb2plY3Q+e2M3M2YwZWMxLTM1OGItNDE3Ny05NDBmLTA4NDZhYzhiMDRjZH08L1Byb2plY3Q+Ci0gICAgICA8UmVmZXJlbmNlT3V0cHV0QXNzZW1ibHk+ZmFsc2U8L1JlZmVyZW5jZU91dHB1dEFzc2VtYmx5PgotICAgIDwvUHJvamVjdFJlZmVyZW5jZT4KLSAgICA8UHJvamVjdFJlZmVyZW5jZSBJbmNsdWRlPSJtYWtlX3ZlcnNpb25pbmZvLnZjeHByb2oiPgotICAgICAgPFByb2plY3Q+e2YwZTA1NDFlLWYxN2QtNDMwYi05N2M0LTkzYWRmMGRkMjg0ZX08L1Byb2plY3Q+Ci0gICAgICA8UmVmZXJlbmNlT3V0cHV0QXNzZW1ibHk+ZmFsc2U8L1JlZmVyZW5jZU91dHB1dEFzc2VtYmx5PgotICAgIDwvUHJvamVjdFJlZmVyZW5jZT4KKyAgICA8UmVzb3VyY2VDb21waWxlIEluY2x1ZGU9Ii4uXFBDXHB5dGhvbl9udC5yYyIgLz4KICAgPC9JdGVtR3JvdXA+CiAgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnRhcmdldHMiIC8+CiAgIDxJbXBvcnRHcm91cCBMYWJlbD0iRXh0ZW5zaW9uVGFyZ2V0cyI+CiAgIDwvSW1wb3J0R3JvdXA+Ci08L1Byb2plY3Q+CisgIDxUYXJnZXQgTmFtZT0iX0dldEJ1aWxkSW5mbyIgQmVmb3JlVGFyZ2V0cz0iUHJlcGFyZUZvckJ1aWxkIj4KKyAgICA8RXhlYyBDb21tYW5kPSJoZyBpZCAtYiAmZ3Q7ICZxdW90OyQoSW50RGlyKWhnYnJhbmNoLnR4dCZxdW90OyIgQ29udGludWVPbkVycm9yPSJ0cnVlIiAvPgorICAgIDxFeGVjIENvbW1hbmQ9ImhnIGlkIC1pICZndDsgJnF1b3Q7JChJbnREaXIpaGd2ZXJzaW9uLnR4dCZxdW90OyIgQ29udGludWVPbkVycm9yPSJ0cnVlIiAvPgorICAgIDxFeGVjIENvbW1hbmQ9ImhnIGlkIC10ICZndDsgJnF1b3Q7JChJbnREaXIpaGd0YWcudHh0JnF1b3Q7IiBDb250aW51ZU9uRXJyb3I9InRydWUiIC8+CisgICAgPFByb3BlcnR5R3JvdXA+CisgICAgICA8SGdCcmFuY2ggQ29uZGl0aW9uPSJFeGlzdHMoJyQoSW50RGlyKWhnYnJhbmNoLnR4dCcpIj4kKFtTeXN0ZW0uSU8uRmlsZV06OlJlYWRBbGxUZXh0KCckKEludERpciloZ2JyYW5jaC50eHQnKS5UcmltKCkpPC9IZ0JyYW5jaD4KKyAgICAgIDxIZ1ZlcnNpb24gQ29uZGl0aW9uPSJFeGlzdHMoJyQoSW50RGlyKWhndmVyc2lvbi50eHQnKSI+JChbU3lzdGVtLklPLkZpbGVdOjpSZWFkQWxsVGV4dCgnJChJbnREaXIpaGd2ZXJzaW9uLnR4dCcpLlRyaW0oKSk8L0hnVmVyc2lvbj4KKyAgICAgIDxIZ1RhZyBDb25kaXRpb249IkV4aXN0cygnJChJbnREaXIpaGd0YWcudHh0JykiPiQoW1N5c3RlbS5JTy5GaWxlXTo6UmVhZEFsbFRleHQoJyQoSW50RGlyKWhndGFnLnR4dCcpLlRyaW0oKSk8L0hnVGFnPgorICAgIDwvUHJvcGVydHlHcm91cD4KKyAgICA8SXRlbUdyb3VwPgorICAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxNb2R1bGVzXGdldGJ1aWxkaW5mby5jIj4KKyAgICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPkhHVkVSU0lPTj0iJChIZ1ZlcnNpb24pIjtIR1RBRz0iJChIZ1RhZykiO0hHQlJBTkNIPSIkKEhnQnJhbmNoKSI7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgorICAgICAgPC9DbENvbXBpbGU+CisgICAgPC9JdGVtR3JvdXA+CisgIDwvVGFyZ2V0PgorICA8VGFyZ2V0IE5hbWU9Il9XYXJuQWJvdXRUb29sc2V0IiBCZWZvcmVUYXJnZXRzPSJQcmVwYXJlRm9yQnVpbGQiIENvbmRpdGlvbj0iJChQbGF0Zm9ybVRvb2xzZXQpICE9ICd2MTQwJyI+CisgICAgPFdhcm5pbmcgVGV4dD0iVG9vbHNldCAkKFBsYXRmb3JtVG9vbHNldCkgaXMgbm90IHVzZWQgZm9yIG9mZmljaWFsIGJ1aWxkcy4gWW91ciBidWlsZCBtYXkgaGF2ZSBlcnJvcnMgb3IgaW5jb21wYXRpYmlsaXRpZXMuIiAvPgorICA8L1RhcmdldD4KKzwvUHJvamVjdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9QQ2J1aWxkL3B5dGhvbmNvcmUudmN4cHJvai5maWx0ZXJzIGIvUENidWlsZC9weXRob25jb3JlLnZjeHByb2ouZmlsdGVycwppbmRleCA4YzY1MjQ3Li5iNDE1NDA1IDEwMDY0NAotLS0gYS9QQ2J1aWxkL3B5dGhvbmNvcmUudmN4cHJvai5maWx0ZXJzCisrKyBiL1BDYnVpbGQvcHl0aG9uY29yZS52Y3hwcm9qLmZpbHRlcnMKQEAgLTIxNiw2ICsyMTYsOSBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cSW5jbHVkZVxweWdldG9wdC5oIj4KICAgICAgIDxGaWx0ZXI+SW5jbHVkZTwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cSW5jbHVkZVxweWxpZmVjeWNsZS5oIj4KKyAgICAgIDxGaWx0ZXI+SW5jbHVkZTwvRmlsdGVyPgorICAgIDwvQ2xJbmNsdWRlPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cSW5jbHVkZVxweW1hdGguaCI+CiAgICAgICA8RmlsdGVyPkluY2x1ZGU8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KQEAgLTg5MCw2ICs4OTMsOSBAQAogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cUHl0aG9uXHB5ZnBlLmMiPgogICAgICAgPEZpbHRlcj5QeXRob248L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXFB5dGhvblxweWxpZmVjeWNsZS5jIj4KKyAgICAgIDxGaWx0ZXI+UHl0aG9uPC9GaWx0ZXI+CisgICAgPC9DbENvbXBpbGU+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxQeXRob25ccHltYXRoLmMiPgogICAgICAgPEZpbHRlcj5QeXRob248L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KQEAgLTk1Myw2ICs5NTksOSBAQAogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cTW9kdWxlc1xoYXNodGFibGUuYyI+CiAgICAgICA8RmlsdGVyPk1vZHVsZXM8L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXFBDXGludmFsaWRfcGFyYW1ldGVyX2hhbmRsZXIuYyI+CisgICAgICA8RmlsdGVyPlBDPC9GaWx0ZXI+CisgICAgPC9DbENvbXBpbGU+CiAgIDwvSXRlbUdyb3VwPgogICA8SXRlbUdyb3VwPgogICAgIDxSZXNvdXJjZUNvbXBpbGUgSW5jbHVkZT0iLi5cUENccHl0aG9uX250LnJjIj4KZGlmZiAtLWdpdCBhL1BDYnVpbGQvcHl0aG9udy52Y3hwcm9qIGIvUENidWlsZC9weXRob253LnZjeHByb2oKaW5kZXggMTIxNDU2OS4uYjBhMjA5YSAxMDA2NDQKLS0tIGEvUENidWlsZC9weXRob253LnZjeHByb2oKKysrIGIvUENidWlsZC9weXRob253LnZjeHByb2oKQEAgLTM2LDI5NiArMzYsMzAgQEAKICAgPC9JdGVtR3JvdXA+CiAgIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJHbG9iYWxzIj4KICAgICA8UHJvamVjdEd1aWQ+e0Y0MjI5Q0MzLTg3M0MtNDlBRS05NzI5LUREMzA4RUQ0Q0Q0QX08L1Byb2plY3RHdWlkPgorICAgIDxNYWtlVmVyc2lvbkluZm9CZWZvcmVUYXJnZXQ+Q2xDb21waWxlPC9NYWtlVmVyc2lvbkluZm9CZWZvcmVUYXJnZXQ+CisgICAgPFN1cHBvcnRQR08+ZmFsc2U8L1N1cHBvcnRQR08+CiAgIDwvUHJvcGVydHlHcm91cD4KKyAgPEltcG9ydCBQcm9qZWN0PSJweXRob24ucHJvcHMiIC8+CiAgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLkRlZmF1bHQucHJvcHMiIC8+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkFwcGxpY2F0aW9uPC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8VXNlT2ZNZmM+ZmFsc2U8L1VzZU9mTWZjPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5BcHBsaWNhdGlvbjwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPFVzZU9mTWZjPmZhbHNlPC9Vc2VPZk1mYz4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkFwcGxpY2F0aW9uPC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8VXNlT2ZNZmM+ZmFsc2U8L1VzZU9mTWZjPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkFwcGxpY2F0aW9uPC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8VXNlT2ZNZmM+ZmFsc2U8L1VzZU9mTWZjPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkFwcGxpY2F0aW9uPC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8VXNlT2ZNZmM+ZmFsc2U8L1VzZU9mTWZjPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+QXBwbGljYXRpb248L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxVc2VPZk1mYz5mYWxzZTwvVXNlT2ZNZmM+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+QXBwbGljYXRpb248L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxVc2VPZk1mYz5mYWxzZTwvVXNlT2ZNZmM+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+CisgIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJDb25maWd1cmF0aW9uIj4KICAgICA8Q29uZmlndXJhdGlvblR5cGU+QXBwbGljYXRpb248L0NvbmZpZ3VyYXRpb25UeXBlPgogICAgIDxVc2VPZk1mYz5mYWxzZTwvVXNlT2ZNZmM+CiAgIDwvUHJvcGVydHlHcm91cD4KICAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAucHJvcHMiIC8+CiAgIDxJbXBvcnRHcm91cCBMYWJlbD0iRXh0ZW5zaW9uU2V0dGluZ3MiPgogICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+CisgIDxJbXBvcnRHcm91cCBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgogICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KICAgICA8SW1wb3J0IFByb2plY3Q9InB5cHJvamVjdC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InJlbGVhc2UucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJwZ3VwZGF0ZS5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweXByb2plY3QucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJyZWxlYXNlLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icGdpbnN0cnVtZW50LnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweXByb2plY3QucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJyZWxlYXNlLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlwcm9qZWN0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0iZGVidWcucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlwcm9qZWN0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0ieDY0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icmVsZWFzZS5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InBndXBkYXRlLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweXByb2plY3QucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJ4NjQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJyZWxlYXNlLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icGdpbnN0cnVtZW50LnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlwcm9qZWN0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0ieDY0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icmVsZWFzZS5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweXByb2plY3QucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJ4NjQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJkZWJ1Zy5wcm9wcyIgLz4KICAgPC9JbXBvcnRHcm91cD4KICAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IlVzZXJNYWNyb3MiIC8+CiAgIDxQcm9wZXJ0eUdyb3VwPgogICAgIDxfUHJvamVjdEZpbGVWZXJzaW9uPjEwLjAuMzAzMTkuMTwvX1Byb2plY3RGaWxlVmVyc2lvbj4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIC8+CiAgIDwvUHJvcGVydHlHcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8T3B0aW1pemF0aW9uPkRpc2FibGVkPC9PcHRpbWl6YXRpb24+Ci0gICAgICA8SW50cmluc2ljRnVuY3Rpb25zPmZhbHNlPC9JbnRyaW5zaWNGdW5jdGlvbnM+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4lKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPl9XSU5ET1dTOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICAgIDxSdW50aW1lTGlicmFyeT5NdWx0aVRocmVhZGVkRGVidWdETEw8L1J1bnRpbWVMaWJyYXJ5PgotICAgICAgPENvbXBpbGVBcz5EZWZhdWx0PC9Db21waWxlQXM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPFJlc291cmNlQ29tcGlsZT4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5fREVCVUc7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgICAgPEN1bHR1cmU+MHgwNDA5PC9DdWx0dXJlPgotICAgIDwvUmVzb3VyY2VDb21waWxlPgorICA8SXRlbURlZmluaXRpb25Hcm91cD4KICAgICA8TGluaz4KLSAgICAgIDxPdXRwdXRGaWxlPiQoT3V0RGlyKXB5dGhvbndfZC5leGU8L091dHB1dEZpbGU+CiAgICAgICA8U3RhY2tSZXNlcnZlU2l6ZT4yMDAwMDAwPC9TdGFja1Jlc2VydmVTaXplPgogICAgICAgPEJhc2VBZGRyZXNzPjB4MWQwMDAwMDA8L0Jhc2VBZGRyZXNzPgotICAgICAgPFRhcmdldE1hY2hpbmU+TWFjaGluZVg4NjwvVGFyZ2V0TWFjaGluZT4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj4KLSAgICA8TWlkbD4KLSAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgotICAgIDwvTWlkbD4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPE9wdGltaXphdGlvbj5EaXNhYmxlZDwvT3B0aW1pemF0aW9uPgotICAgICAgPEludHJpbnNpY0Z1bmN0aW9ucz5mYWxzZTwvSW50cmluc2ljRnVuY3Rpb25zPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5fV0lORE9XUzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgICA8UnVudGltZUxpYnJhcnk+TXVsdGlUaHJlYWRlZERlYnVnRExMPC9SdW50aW1lTGlicmFyeT4KLSAgICAgIDxDb21waWxlQXM+RGVmYXVsdDwvQ29tcGlsZUFzPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxSZXNvdXJjZUNvbXBpbGU+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X0RFQlVHOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICAgIDxDdWx0dXJlPjB4MDQwOTwvQ3VsdHVyZT4KLSAgICA8L1Jlc291cmNlQ29tcGlsZT4KLSAgICA8TGluaz4KLSAgICAgIDxPdXRwdXRGaWxlPiQoT3V0RGlyKXB5dGhvbndfZC5leGU8L091dHB1dEZpbGU+Ci0gICAgICA8U3RhY2tSZXNlcnZlU2l6ZT4yMDAwMDAwPC9TdGFja1Jlc2VydmVTaXplPgotICAgICAgPEJhc2VBZGRyZXNzPjB4MWQwMDAwMDA8L0Jhc2VBZGRyZXNzPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5fV0lORE9XUzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgICA8U3RyaW5nUG9vbGluZz50cnVlPC9TdHJpbmdQb29saW5nPgotICAgICAgPFJ1bnRpbWVMaWJyYXJ5Pk11bHRpVGhyZWFkZWRETEw8L1J1bnRpbWVMaWJyYXJ5PgotICAgICAgPEZ1bmN0aW9uTGV2ZWxMaW5raW5nPnRydWU8L0Z1bmN0aW9uTGV2ZWxMaW5raW5nPgotICAgICAgPENvbXBpbGVBcz5EZWZhdWx0PC9Db21waWxlQXM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPFJlc291cmNlQ29tcGlsZT4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5OREVCVUc7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgICAgPEN1bHR1cmU+MHgwNDA5PC9DdWx0dXJlPgotICAgIDwvUmVzb3VyY2VDb21waWxlPgotICAgIDxMaW5rPgotICAgICAgPE91dHB1dEZpbGU+JChPdXREaXIpcHl0aG9udy5leGU8L091dHB1dEZpbGU+Ci0gICAgICA8U3RhY2tSZXNlcnZlU2l6ZT4yMDAwMDAwPC9TdGFja1Jlc2VydmVTaXplPgotICAgICAgPEJhc2VBZGRyZXNzPjB4MWQwMDAwMDA8L0Jhc2VBZGRyZXNzPgotICAgICAgPFRhcmdldE1hY2hpbmU+TWFjaGluZVg4NjwvVGFyZ2V0TWFjaGluZT4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPgotICAgIDxNaWRsPgotICAgICAgPFRhcmdldEVudmlyb25tZW50Plg2NDwvVGFyZ2V0RW52aXJvbm1lbnQ+Ci0gICAgPC9NaWRsPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4lKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPl9XSU5ET1dTOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICAgIDxTdHJpbmdQb29saW5nPnRydWU8L1N0cmluZ1Bvb2xpbmc+Ci0gICAgICA8UnVudGltZUxpYnJhcnk+TXVsdGlUaHJlYWRlZERMTDwvUnVudGltZUxpYnJhcnk+Ci0gICAgICA8RnVuY3Rpb25MZXZlbExpbmtpbmc+dHJ1ZTwvRnVuY3Rpb25MZXZlbExpbmtpbmc+Ci0gICAgICA8Q29tcGlsZUFzPkRlZmF1bHQ8L0NvbXBpbGVBcz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8UmVzb3VyY2VDb21waWxlPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPk5ERUJVRzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgICA8Q3VsdHVyZT4weDA0MDk8L0N1bHR1cmU+Ci0gICAgPC9SZXNvdXJjZUNvbXBpbGU+Ci0gICAgPExpbms+Ci0gICAgICA8T3V0cHV0RmlsZT4kKE91dERpcilweXRob253LmV4ZTwvT3V0cHV0RmlsZT4KLSAgICAgIDxTdGFja1Jlc2VydmVTaXplPjIwMDAwMDA8L1N0YWNrUmVzZXJ2ZVNpemU+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxZDAwMDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyI+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPiUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X1dJTkRPV1M7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgICAgPFN0cmluZ1Bvb2xpbmc+dHJ1ZTwvU3RyaW5nUG9vbGluZz4KLSAgICAgIDxSdW50aW1lTGlicmFyeT5NdWx0aVRocmVhZGVkRExMPC9SdW50aW1lTGlicmFyeT4KLSAgICAgIDxGdW5jdGlvbkxldmVsTGlua2luZz50cnVlPC9GdW5jdGlvbkxldmVsTGlua2luZz4KLSAgICAgIDxDb21waWxlQXM+RGVmYXVsdDwvQ29tcGlsZUFzPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxSZXNvdXJjZUNvbXBpbGU+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+TkRFQlVHOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICAgIDxDdWx0dXJlPjB4MDQwOTwvQ3VsdHVyZT4KLSAgICA8L1Jlc291cmNlQ29tcGlsZT4KLSAgICA8TGluaz4KLSAgICAgIDxPdXRwdXRGaWxlPiQoT3V0RGlyKXB5dGhvbncuZXhlPC9PdXRwdXRGaWxlPgotICAgICAgPFN0YWNrUmVzZXJ2ZVNpemU+MjAwMDAwMDwvU3RhY2tSZXNlcnZlU2l6ZT4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFkMDAwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICAgIDxJbXBvcnRMaWJyYXJ5PgotICAgICAgPC9JbXBvcnRMaWJyYXJ5PgotICAgICAgPFRhcmdldE1hY2hpbmU+TWFjaGluZVg4NjwvVGFyZ2V0TWFjaGluZT4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyI+Ci0gICAgPE1pZGw+Ci0gICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+WDY0PC9UYXJnZXRFbnZpcm9ubWVudD4KLSAgICA8L01pZGw+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPiUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X1dJTkRPV1M7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgICAgPFN0cmluZ1Bvb2xpbmc+dHJ1ZTwvU3RyaW5nUG9vbGluZz4KLSAgICAgIDxSdW50aW1lTGlicmFyeT5NdWx0aVRocmVhZGVkRExMPC9SdW50aW1lTGlicmFyeT4KLSAgICAgIDxGdW5jdGlvbkxldmVsTGlua2luZz50cnVlPC9GdW5jdGlvbkxldmVsTGlua2luZz4KLSAgICAgIDxDb21waWxlQXM+RGVmYXVsdDwvQ29tcGlsZUFzPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxSZXNvdXJjZUNvbXBpbGU+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+TkRFQlVHOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICAgIDxDdWx0dXJlPjB4MDQwOTwvQ3VsdHVyZT4KLSAgICA8L1Jlc291cmNlQ29tcGlsZT4KLSAgICA8TGluaz4KLSAgICAgIDxPdXRwdXRGaWxlPiQoT3V0RGlyKXB5dGhvbncuZXhlPC9PdXRwdXRGaWxlPgotICAgICAgPFN0YWNrUmVzZXJ2ZVNpemU+MjAwMDAwMDwvU3RhY2tSZXNlcnZlU2l6ZT4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFkMDAwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICAgIDxJbXBvcnRMaWJyYXJ5PgotICAgICAgPC9JbXBvcnRMaWJyYXJ5PgotICAgICAgPFRhcmdldE1hY2hpbmU+TWFjaGluZVg2NDwvVGFyZ2V0TWFjaGluZT4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4lKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPl9XSU5ET1dTOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICAgIDxTdHJpbmdQb29saW5nPnRydWU8L1N0cmluZ1Bvb2xpbmc+Ci0gICAgICA8UnVudGltZUxpYnJhcnk+TXVsdGlUaHJlYWRlZERMTDwvUnVudGltZUxpYnJhcnk+Ci0gICAgICA8RnVuY3Rpb25MZXZlbExpbmtpbmc+dHJ1ZTwvRnVuY3Rpb25MZXZlbExpbmtpbmc+Ci0gICAgICA8Q29tcGlsZUFzPkRlZmF1bHQ8L0NvbXBpbGVBcz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8UmVzb3VyY2VDb21waWxlPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPk5ERUJVRzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgICA8Q3VsdHVyZT4weDA0MDk8L0N1bHR1cmU+Ci0gICAgPC9SZXNvdXJjZUNvbXBpbGU+Ci0gICAgPExpbms+Ci0gICAgICA8T3V0cHV0RmlsZT4kKE91dERpcilweXRob253LmV4ZTwvT3V0cHV0RmlsZT4KLSAgICAgIDxTdGFja1Jlc2VydmVTaXplPjIwMDAwMDA8L1N0YWNrUmVzZXJ2ZVNpemU+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxZDAwMDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgICA8SW1wb3J0TGlicmFyeT4KLSAgICAgIDwvSW1wb3J0TGlicmFyeT4KLSAgICAgIDxUYXJnZXRNYWNoaW5lPk1hY2hpbmVYODY8L1RhcmdldE1hY2hpbmU+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyI+Ci0gICAgPE1pZGw+Ci0gICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+WDY0PC9UYXJnZXRFbnZpcm9ubWVudD4KLSAgICA8L01pZGw+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPiUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X1dJTkRPV1M7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgICAgPFN0cmluZ1Bvb2xpbmc+dHJ1ZTwvU3RyaW5nUG9vbGluZz4KLSAgICAgIDxSdW50aW1lTGlicmFyeT5NdWx0aVRocmVhZGVkRExMPC9SdW50aW1lTGlicmFyeT4KLSAgICAgIDxGdW5jdGlvbkxldmVsTGlua2luZz50cnVlPC9GdW5jdGlvbkxldmVsTGlua2luZz4KLSAgICAgIDxDb21waWxlQXM+RGVmYXVsdDwvQ29tcGlsZUFzPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxSZXNvdXJjZUNvbXBpbGU+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+TkRFQlVHOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICAgIDxDdWx0dXJlPjB4MDQwOTwvQ3VsdHVyZT4KLSAgICA8L1Jlc291cmNlQ29tcGlsZT4KLSAgICA8TGluaz4KLSAgICAgIDxPdXRwdXRGaWxlPiQoT3V0RGlyKXB5dGhvbncuZXhlPC9PdXRwdXRGaWxlPgotICAgICAgPFN0YWNrUmVzZXJ2ZVNpemU+MjAwMDAwMDwvU3RhY2tSZXNlcnZlU2l6ZT4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFkMDAwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICAgIDxJbXBvcnRMaWJyYXJ5PgotICAgICAgPC9JbXBvcnRMaWJyYXJ5PgotICAgICAgPFRhcmdldE1hY2hpbmU+TWFjaGluZVg2NDwvVGFyZ2V0TWFjaGluZT4KICAgICA8L0xpbms+CiAgIDwvSXRlbURlZmluaXRpb25Hcm91cD4KICAgPEl0ZW1Hcm91cD4KZGlmZiAtLWdpdCBhL1BDYnVpbGQvcHl3bGF1bmNoZXIudmN4cHJvaiBiL1BDYnVpbGQvcHl3bGF1bmNoZXIudmN4cHJvagppbmRleCA5NmVhNDIxLi44ODJmMWM0IDEwMDY0NAotLS0gYS9QQ2J1aWxkL3B5d2xhdW5jaGVyLnZjeHByb2oKKysrIGIvUENidWlsZC9weXdsYXVuY2hlci52Y3hwcm9qCkBAIC0zNywyMDAgKzM3LDM3IEBACiAgIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJHbG9iYWxzIj4KICAgICA8UHJvamVjdEd1aWQ+ezFENEIxOEQzLTdDMTItNEVDQi05MTc5LTg1MzFGRjg3NkNFNn08L1Byb2plY3RHdWlkPgogICAgIDxSb290TmFtZXNwYWNlPnB5d2xhdW5jaGVyPC9Sb290TmFtZXNwYWNlPgorICAgIDxUYXJnZXROYW1lPnB5dzwvVGFyZ2V0TmFtZT4KKyAgICA8TWFrZVZlcnNpb25JbmZvQmVmb3JlVGFyZ2V0PkNsQ29tcGlsZTwvTWFrZVZlcnNpb25JbmZvQmVmb3JlVGFyZ2V0PgorICAgIDxTdXBwb3J0UEdPPmZhbHNlPC9TdXBwb3J0UEdPPgogICA8L1Byb3BlcnR5R3JvdXA+CisgIDxJbXBvcnQgUHJvamVjdD0icHl0aG9uLnByb3BzIiAvPgogICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5EZWZhdWx0LnByb3BzIiAvPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgorICA8UHJvcGVydHlHcm91cCBMYWJlbD0iQ29uZmlndXJhdGlvbiI+CiAgICAgPENvbmZpZ3VyYXRpb25UeXBlPkFwcGxpY2F0aW9uPC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8VXNlRGVidWdMaWJyYXJpZXM+dHJ1ZTwvVXNlRGVidWdMaWJyYXJpZXM+Ci0gICAgPENoYXJhY3RlclNldD5Vbmljb2RlPC9DaGFyYWN0ZXJTZXQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkFwcGxpY2F0aW9uPC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8VXNlRGVidWdMaWJyYXJpZXM+dHJ1ZTwvVXNlRGVidWdMaWJyYXJpZXM+Ci0gICAgPENoYXJhY3RlclNldD5Vbmljb2RlPC9DaGFyYWN0ZXJTZXQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5BcHBsaWNhdGlvbjwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPFVzZURlYnVnTGlicmFyaWVzPmZhbHNlPC9Vc2VEZWJ1Z0xpYnJhcmllcz4KLSAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KLSAgICA8Q2hhcmFjdGVyU2V0PlVuaWNvZGU8L0NoYXJhY3RlclNldD4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5BcHBsaWNhdGlvbjwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPFVzZURlYnVnTGlicmFyaWVzPmZhbHNlPC9Vc2VEZWJ1Z0xpYnJhcmllcz4KLSAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KLSAgICA8Q2hhcmFjdGVyU2V0PlVuaWNvZGU8L0NoYXJhY3RlclNldD4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBMYWJlbD0iQ29uZmlndXJhdGlvbiIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIj4KLSAgICA8Q2hhcmFjdGVyU2V0PlVuaWNvZGU8L0NoYXJhY3RlclNldD4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBMYWJlbD0iQ29uZmlndXJhdGlvbiIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciPgogICAgIDxDaGFyYWN0ZXJTZXQ+VW5pY29kZTwvQ2hhcmFjdGVyU2V0PgogICA8L1Byb3BlcnR5R3JvdXA+CiAgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnByb3BzIiAvPgogICA8SW1wb3J0R3JvdXAgTGFiZWw9IkV4dGVuc2lvblNldHRpbmdzIj4KICAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPgorICA8UHJvcGVydHlHcm91cD4KKyAgICA8TWFrZVZlcnNpb25JbmZvQmVmb3JlVGFyZ2V0PkNsQ29tcGlsZTwvTWFrZVZlcnNpb25JbmZvQmVmb3JlVGFyZ2V0PgorICA8L1Byb3BlcnR5R3JvdXA+CisgIDxJbXBvcnRHcm91cCBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgogICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KICAgICA8SW1wb3J0IFByb2plY3Q9InB5cHJvamVjdC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9ImRlYnVnLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5cHJvamVjdC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9ImRlYnVnLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0ieDY0LnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgTGFiZWw9IlByb3BlcnR5U2hlZXRzIiBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweXByb2plY3QucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJyZWxlYXNlLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlwcm9qZWN0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icmVsZWFzZS5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9Ing2NC5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweXByb2plY3QucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJyZWxlYXNlLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icGdpbnN0cnVtZW50LnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgTGFiZWw9IlByb3BlcnR5U2hlZXRzIiBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweXByb2plY3QucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJyZWxlYXNlLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0ieDY0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icGdpbnN0cnVtZW50LnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgTGFiZWw9IlByb3BlcnR5U2hlZXRzIiBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlwcm9qZWN0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icmVsZWFzZS5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InBndXBkYXRlLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgTGFiZWw9IlByb3BlcnR5U2hlZXRzIiBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5cHJvamVjdC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InJlbGVhc2UucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJ4NjQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJwZ3VwZGF0ZS5wcm9wcyIgLz4KICAgPC9JbXBvcnRHcm91cD4KICAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IlVzZXJNYWNyb3MiIC8+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj4KLSAgICA8VGFyZ2V0TmFtZT5weXdfZDwvVGFyZ2V0TmFtZT4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPgotICAgIDxUYXJnZXROYW1lPnB5d19kPC9UYXJnZXROYW1lPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPgotICAgIDxUYXJnZXROYW1lPnB5dzwvVGFyZ2V0TmFtZT4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+Ci0gICAgPFRhcmdldE5hbWU+cHl3PC9UYXJnZXROYW1lPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyI+Ci0gICAgPFRhcmdldE5hbWU+cHl3PC9UYXJnZXROYW1lPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIj4KLSAgICA8VGFyZ2V0TmFtZT5weXc8L1RhcmdldE5hbWU+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPgorICA8SXRlbURlZmluaXRpb25Hcm91cD4KICAgICA8Q2xDb21waWxlPgotICAgICAgPFdhcm5pbmdMZXZlbD5MZXZlbDM8L1dhcm5pbmdMZXZlbD4KLSAgICAgIDxPcHRpbWl6YXRpb24+RGlzYWJsZWQ8L09wdGltaXphdGlvbj4KICAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5fV0lORE9XUzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+CisgICAgICA8UnVudGltZUxpYnJhcnk+TXVsdGlUaHJlYWRlZDwvUnVudGltZUxpYnJhcnk+CiAgICAgPC9DbENvbXBpbGU+CiAgICAgPExpbms+Ci0gICAgICA8R2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPnRydWU8L0dlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPnZlcnNpb24ubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgICA8SWdub3JlQWxsRGVmYXVsdExpYnJhcmllcz5mYWxzZTwvSWdub3JlQWxsRGVmYXVsdExpYnJhcmllcz4KLSAgICAgIDxTdWJTeXN0ZW0+V2luZG93czwvU3ViU3lzdGVtPgotICAgICAgPE91dHB1dEZpbGU+JChPdXREaXIpJChUYXJnZXROYW1lKSQoVGFyZ2V0RXh0KTwvT3V0cHV0RmlsZT4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPFdhcm5pbmdMZXZlbD5MZXZlbDM8L1dhcm5pbmdMZXZlbD4KLSAgICAgIDxPcHRpbWl6YXRpb24+RGlzYWJsZWQ8L09wdGltaXphdGlvbj4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5fV0lORE9XUzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPExpbms+Ci0gICAgICA8R2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPnRydWU8L0dlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPnZlcnNpb24ubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgICA8SWdub3JlQWxsRGVmYXVsdExpYnJhcmllcz5mYWxzZTwvSWdub3JlQWxsRGVmYXVsdExpYnJhcmllcz4KLSAgICAgIDxTdWJTeXN0ZW0+V2luZG93czwvU3ViU3lzdGVtPgotICAgICAgPE91dHB1dEZpbGU+JChPdXREaXIpJChUYXJnZXROYW1lKSQoVGFyZ2V0RXh0KTwvT3V0cHV0RmlsZT4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxXYXJuaW5nTGV2ZWw+TGV2ZWwzPC9XYXJuaW5nTGV2ZWw+Ci0gICAgICA8T3B0aW1pemF0aW9uPk1heFNwZWVkPC9PcHRpbWl6YXRpb24+Ci0gICAgICA8RnVuY3Rpb25MZXZlbExpbmtpbmc+dHJ1ZTwvRnVuY3Rpb25MZXZlbExpbmtpbmc+Ci0gICAgICA8SW50cmluc2ljRnVuY3Rpb25zPnRydWU8L0ludHJpbnNpY0Z1bmN0aW9ucz4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5fV0lORE9XUztOREVCVUc7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxMaW5rPgotICAgICAgPEdlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj50cnVlPC9HZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24+Ci0gICAgICA8RW5hYmxlQ09NREFURm9sZGluZz5mYWxzZTwvRW5hYmxlQ09NREFURm9sZGluZz4KLSAgICAgIDxPcHRpbWl6ZVJlZmVyZW5jZXM+dHJ1ZTwvT3B0aW1pemVSZWZlcmVuY2VzPgotICAgICAgPElnbm9yZUFsbERlZmF1bHRMaWJyYXJpZXM+ZmFsc2U8L0lnbm9yZUFsbERlZmF1bHRMaWJyYXJpZXM+CiAgICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz52ZXJzaW9uLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgogICAgICAgPFN1YlN5c3RlbT5XaW5kb3dzPC9TdWJTeXN0ZW0+CiAgICAgPC9MaW5rPgogICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPFdhcm5pbmdMZXZlbD5MZXZlbDM8L1dhcm5pbmdMZXZlbD4KLSAgICAgIDxPcHRpbWl6YXRpb24+TWF4U3BlZWQ8L09wdGltaXphdGlvbj4KLSAgICAgIDxGdW5jdGlvbkxldmVsTGlua2luZz50cnVlPC9GdW5jdGlvbkxldmVsTGlua2luZz4KLSAgICAgIDxJbnRyaW5zaWNGdW5jdGlvbnM+dHJ1ZTwvSW50cmluc2ljRnVuY3Rpb25zPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPl9XSU5ET1dTO05ERUJVRzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPExpbms+Ci0gICAgICA8R2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPnRydWU8L0dlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj4KLSAgICAgIDxFbmFibGVDT01EQVRGb2xkaW5nPmZhbHNlPC9FbmFibGVDT01EQVRGb2xkaW5nPgotICAgICAgPE9wdGltaXplUmVmZXJlbmNlcz50cnVlPC9PcHRpbWl6ZVJlZmVyZW5jZXM+Ci0gICAgICA8SWdub3JlQWxsRGVmYXVsdExpYnJhcmllcz5mYWxzZTwvSWdub3JlQWxsRGVmYXVsdExpYnJhcmllcz4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPnZlcnNpb24ubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgICA8U3ViU3lzdGVtPldpbmRvd3M8L1N1YlN5c3RlbT4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIj4KLSAgICA8TGluaz4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPnZlcnNpb24ubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgPC9MaW5rPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X1dJTkRPV1M7TkRFQlVHOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyI+Ci0gICAgPExpbms+Ci0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz52ZXJzaW9uLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgIDwvTGluaz4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPl9XSU5ET1dTO05ERUJVRzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyI+Ci0gICAgPExpbms+Ci0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz52ZXJzaW9uLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgIDwvTGluaz4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPl9XSU5ET1dTO05ERUJVRztfV0lONjQ7X01fWDY0OyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciPgotICAgIDxMaW5rPgotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+dmVyc2lvbi5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KLSAgICA8L0xpbms+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5fV0lORE9XUztOREVCVUc7X1dJTjY0O19NX1g2NDslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KICAgPEl0ZW1Hcm91cD4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXFBDXGxhdW5jaGVyLmMiIC8+CiAgIDwvSXRlbUdyb3VwPgpAQCAtMjQwLDExICs3Nyw2IEBACiAgIDxJdGVtR3JvdXA+CiAgICAgPFJlc291cmNlQ29tcGlsZSBJbmNsdWRlPSIuLlxQQ1xweWxhdW5jaGVyLnJjIiAvPgogICA8L0l0ZW1Hcm91cD4KLSAgPEl0ZW1Hcm91cD4KLSAgICA8UHJvamVjdFJlZmVyZW5jZSBJbmNsdWRlPSJtYWtlX3ZlcnNpb25pbmZvLnZjeHByb2oiPgotICAgICAgPFByb2plY3Q+e2YwZTA1NDFlLWYxN2QtNDMwYi05N2M0LTkzYWRmMGRkMjg0ZX08L1Byb2plY3Q+Ci0gICAgPC9Qcm9qZWN0UmVmZXJlbmNlPgotICA8L0l0ZW1Hcm91cD4KICAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAudGFyZ2V0cyIgLz4KICAgPEltcG9ydEdyb3VwIExhYmVsPSJFeHRlbnNpb25UYXJnZXRzIj4KICAgPC9JbXBvcnRHcm91cD4KZGlmZiAtLWdpdCBhL1BDYnVpbGQvcmVhZG1lLnR4dCBiL1BDYnVpbGQvcmVhZG1lLnR4dAppbmRleCAwMThiZGYwLi43N2JmZWViIDEwMDY0NAotLS0gYS9QQ2J1aWxkL3JlYWRtZS50eHQKKysrIGIvUENidWlsZC9yZWFkbWUudHh0CkBAIC0xLDQ5ICsxLDU1IEBACitRdWljayBTdGFydCBHdWlkZQorLS0tLS0tLS0tLS0tLS0tLS0KKworMS4gIEluc3RhbGwgTWljcm9zb2Z0IFZpc3VhbCBTdHVkaW8gMjAxNSwgYW55IGVkaXRpb24uCisyLiAgSW5zdGFsbCBTdWJ2ZXJzaW9uLCBhbmQgbWFrZSBzdXJlICdzdm4uZXhlJyBpcyBvbiB5b3VyIFBBVEguCiszLiAgUnVuICJidWlsZC5iYXQgLWUiIHRvIGJ1aWxkIFB5dGhvbiBpbiAzMi1iaXQgUmVsZWFzZSBjb25maWd1cmF0aW9uLgorNC4gIChPcHRpb25hbCwgYnV0IHJlY29tbWVuZGVkKSBSdW4gdGhlIHRlc3Qgc3VpdGUgd2l0aCAicnQuYmF0IC1xIi4KKworCiBCdWlsZGluZyBQeXRob24gdXNpbmcgTWljcm9zb2Z0IFZpc3VhbCBDKysKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCiBUaGlzIGRpcmVjdG9yeSBpcyB1c2VkIHRvIGJ1aWxkIENQeXRob24gZm9yIE1pY3Jvc29mdCBXaW5kb3dzIE5UIHZlcnNpb24KLTUuMSBvciBoaWdoZXIgKFdpbmRvd3MgWFAsIFdpbmRvd3MgU2VydmVyIDIwMDMsIG9yIGxhdGVyKSBvbiAzMiBhbmQgNjQKKzYuMCBvciBoaWdoZXIgKFdpbmRvd3MgVmlzdGEsIFdpbmRvd3MgU2VydmVyIDIwMDgsIG9yIGxhdGVyKSBvbiAzMiBhbmQgNjQKIGJpdCBwbGF0Zm9ybXMuICBVc2luZyB0aGlzIGRpcmVjdG9yeSByZXF1aXJlcyBhbiBpbnN0YWxsYXRpb24gb2YKLU1pY3Jvc29mdCBWaXN1YWwgQysrIDIwMTAgKE1TVkMgMTAuMCkgb2YgYW55IGVkaXRpb24uICBUaGUgc3BlY2lmaWMKK01pY3Jvc29mdCBWaXN1YWwgQysrIDIwMTUgKE1TVkMgMTQuMCkgb2YgYW55IGVkaXRpb24uICBUaGUgc3BlY2lmaWMKIHJlcXVpcmVtZW50cyBhcmUgYXMgZm9sbG93czoKIAotVmlzdWFsIEMrKyAyMDEwIEV4cHJlc3MgRWRpdGlvbgotICAgIFJlcXVpcmVkIGZvciBidWlsZGluZyAzMi1iaXQgRGVidWcgYW5kIFJlbGVhc2UgY29uZmlndXJhdGlvbiBidWlsZHMuCitWaXN1YWwgU3R1ZGlvIEV4cHJlc3MgMjAxNSBmb3IgRGVza3RvcAorVmlzdWFsIFN0dWRpbyBQcm9mZXNzaW9uYWwgMjAxNQorICAgIEVpdGhlciBlZGl0aW9uIGlzIHN1ZmZpY2llbnQgZm9yIGJ1aWxkaW5nIGFsbCBjb25maWd1cmF0aW9ucyBleGNlcHQKKyAgICBmb3IgUHJvZmlsZSBHdWlkZWQgT3B0aW1pemF0aW9uLgogICAgIFRoZSBQeXRob24gYnVpbGQgc29sdXRpb24gcGNidWlsZC5zbG4gbWFrZXMgdXNlIG9mIFNvbHV0aW9uIEZvbGRlcnMsCiAgICAgd2hpY2ggdGhpcyBlZGl0aW9uIGRvZXMgbm90IHN1cHBvcnQuICBBbnkgdGltZSBwY2J1aWxkLnNsbiBpcyBvcGVuZWQKLSAgICBvciByZWxvYWRlZCBieSBWaXN1YWwgQysrLCBhIHdhcm5pbmcgYWJvdXQgU29sdXRpb24gRm9sZGVycyB3aWxsIGJlCi0gICAgZGlzcGxheWVkIHdoaWNoIGNhbiBiZSBzYWZlbHkgZGlzbWlzc2VkIHdpdGggbm8gaW1wYWN0IG9uIHlvdXIKKyAgICBvciByZWxvYWRlZCBieSBWaXN1YWwgU3R1ZGlvLCBhIHdhcm5pbmcgYWJvdXQgU29sdXRpb24gRm9sZGVycyB3aWxsCisgICAgYmUgZGlzcGxheWVkLCB3aGljaCBjYW4gYmUgc2FmZWx5IGRpc21pc3NlZCB3aXRoIG5vIGltcGFjdCBvbiB5b3VyCiAgICAgYWJpbGl0eSB0byBidWlsZCBQeXRob24uCi1WaXN1YWwgU3R1ZGlvIDIwMTAgUHJvZmVzc2lvbmFsIEVkaXRpb24KICAgICBSZXF1aXJlZCBmb3IgYnVpbGRpbmcgNjQtYml0IERlYnVnIGFuZCBSZWxlYXNlIGNvbmZpZ3VyYXRpb24gYnVpbGRzCi1WaXN1YWwgU3R1ZGlvIDIwMTAgUHJlbWl1bSBFZGl0aW9uCitWaXN1YWwgU3R1ZGlvIFByZW1pdW0gMjAxNQogICAgIFJlcXVpcmVkIGZvciBidWlsZGluZyBSZWxlYXNlIGNvbmZpZ3VyYXRpb24gYnVpbGRzIHRoYXQgbWFrZSB1c2Ugb2YKICAgICBQcm9maWxlIEd1aWRlZCBPcHRpbWl6YXRpb24gKFBHTyksIG9uIGVpdGhlciBwbGF0Zm9ybS4KIAotSW5zdGFsbGluZyBTZXJ2aWNlIFBhY2sgMSBmb3IgVmlzdWFsIFN0dWRpbyAyMDEwIGlzIGhpZ2hseSByZWNvbW1lbmRlZAotdG8gYXZvaWQgTE5LMTEyMyBlcnJvcnMuCi0KIEFsbCB5b3UgbmVlZCB0byBkbyB0byBidWlsZCBpcyBvcGVuIHRoZSBzb2x1dGlvbiAicGNidWlsZC5zbG4iIGluIFZpc3VhbAogU3R1ZGlvLCBzZWxlY3QgdGhlIGRlc2lyZWQgY29tYmluYXRpb24gb2YgY29uZmlndXJhdGlvbiBhbmQgcGxhdGZvcm0sCi10aGVuIGJ1aWxkIHdpdGggIkJ1aWxkIFNvbHV0aW9uIiBvciB0aGUgRjcga2V5Ym9hcmQgc2hvcnRjdXQuICBZb3UgY2FuCi1hbHNvIGJ1aWxkIGZyb20gdGhlIGNvbW1hbmQgbGluZSB1c2luZyB0aGUgImJ1aWxkLmJhdCIgc2NyaXB0IGluIHRoaXMKLWRpcmVjdG9yeS4gIFRoZSBzb2x1dGlvbiBpcyBjb25maWd1cmVkIHRvIGJ1aWxkIHRoZSBwcm9qZWN0cyBpbiB0aGUKLWNvcnJlY3Qgb3JkZXIuCit0aGVuIGJ1aWxkIHdpdGggIkJ1aWxkIFNvbHV0aW9uIi4gIFlvdSBjYW4gYWxzbyBidWlsZCBmcm9tIHRoZSBjb21tYW5kCitsaW5lIHVzaW5nIHRoZSAiYnVpbGQuYmF0IiBzY3JpcHQgaW4gdGhpcyBkaXJlY3Rvcnk7IHNlZSBiZWxvdyBmb3IKK2RldGFpbHMuICBUaGUgc29sdXRpb24gaXMgY29uZmlndXJlZCB0byBidWlsZCB0aGUgcHJvamVjdHMgaW4gdGhlIGNvcnJlY3QKK29yZGVyLgogCiBUaGUgc29sdXRpb24gY3VycmVudGx5IHN1cHBvcnRzIHR3byBwbGF0Zm9ybXMuICBUaGUgV2luMzIgcGxhdGZvcm0gaXMKLXVzZWQgdG8gYnVpbGQgc3RhbmRhcmQgeDg2LWNvbXBhdGlibGUgMzItYml0IGJpbmFyaWVzLCBvdXRwdXQgaW50byB0aGlzCi1kaXJlY3RvcnkuICBUaGUgeDY0IHBsYXRmb3JtIGlzIHVzZWQgZm9yIGJ1aWxkaW5nIDY0LWJpdCBBTUQ2NCAoYWthCi14ODZfNjQgb3IgRU02NFQpIGJpbmFyaWVzLCBvdXRwdXQgaW50byB0aGUgYW1kNjQgc3ViLWRpcmVjdG9yeSB3aGljaAotd2lsbCBiZSBjcmVhdGVkIGlmIGl0IGRvZXNuJ3QgYWxyZWFkeSBleGlzdC4gIFRoZSBJdGFuaXVtIChJQS02NCkKLXBsYXRmb3JtIGlzIG5vIGxvbmdlciBzdXBwb3J0ZWQuICBTZWUgdGhlICJCdWlsZGluZyBmb3IgQU1ENjQiIHNlY3Rpb24KLWJlbG93IGZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IDY0LWJpdCBidWlsZHMuCit1c2VkIHRvIGJ1aWxkIHN0YW5kYXJkIHg4Ni1jb21wYXRpYmxlIDMyLWJpdCBiaW5hcmllcywgb3V0cHV0IGludG8gdGhlCit3aW4zMiBzdWItZGlyZWN0b3J5LiAgVGhlIHg2NCBwbGF0Zm9ybSBpcyB1c2VkIGZvciBidWlsZGluZyA2NC1iaXQgQU1ENjQKKyhha2EgeDg2XzY0IG9yIEVNNjRUKSBiaW5hcmllcywgb3V0cHV0IGludG8gdGhlIGFtZDY0IHN1Yi1kaXJlY3RvcnkuCitUaGUgSXRhbml1bSAoSUEtNjQpIHBsYXRmb3JtIGlzIG5vIGxvbmdlciBzdXBwb3J0ZWQuICBTZWUgdGhlICJCdWlsZGluZworZm9yIEFNRDY0IiBzZWN0aW9uIGJlbG93IGZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IDY0LWJpdCBidWlsZHMuCiAKIEZvdXIgY29uZmlndXJhdGlvbiBvcHRpb25zIGFyZSBzdXBwb3J0ZWQgYnkgdGhlIHNvbHV0aW9uOgogRGVidWcKICAgICBVc2VkIHRvIGJ1aWxkIFB5dGhvbiB3aXRoIGV4dHJhIGRlYnVnZ2luZyBjYXBhYmlsaXRpZXMsIGVxdWl2YWxlbnQKICAgICB0byB1c2luZyAuL2NvbmZpZ3VyZSAtLXdpdGgtcHlkZWJ1ZyBvbiBVTklYLiAgQWxsIGJpbmFyaWVzIGJ1aWx0CiAgICAgdXNpbmcgdGhpcyBjb25maWd1cmF0aW9uIGhhdmUgIl9kIiBhZGRlZCB0byB0aGVpciBuYW1lOgotICAgIHB5dGhvbjM0X2QuZGxsLCBweXRob25fZC5leGUsIHBhcnNlcl9kLnB5ZCwgYW5kIHNvIG9uLiAgQm90aCB0aGUKKyAgICBweXRob24zNV9kLmRsbCwgcHl0aG9uX2QuZXhlLCBwYXJzZXJfZC5weWQsIGFuZCBzbyBvbi4gIEJvdGggdGhlCiAgICAgYnVpbGQgYW5kIHJ0IChydW4gdGVzdCkgYmF0Y2ggZmlsZXMgaW4gdGhpcyBkaXJlY3RvcnkgYWNjZXB0IGEgLWQKICAgICBvcHRpb24gZm9yIGRlYnVnIGJ1aWxkcy4gIElmIHlvdSBhcmUgYnVpbGRpbmcgUHl0aG9uIHRvIGhlbHAgd2l0aAogICAgIGRldmVsb3BtZW50IG9mIENQeXRob24sIHlvdSB3aWxsIG1vc3QgbGlrZWx5IHVzZSB0aGlzIGNvbmZpZ3VyYXRpb24uCkBAIC01MiwyOCArNTgsNTMgQEAKICAgICByZXF1aXJlcyBQcmVtaXVtIEVkaXRpb24gb2YgVmlzdWFsIFN0dWRpby4gIFNlZSB0aGUgIlByb2ZpbGUKICAgICBHdWlkZWQgT3B0aW1pemF0aW9uIiBzZWN0aW9uIGJlbG93IGZvciBtb3JlIGluZm9ybWF0aW9uLiAgQnVpbGQKICAgICBvdXRwdXQgZnJvbSBlYWNoIG9mIHRoZXNlIGNvbmZpZ3VyYXRpb25zIGxhbmRzIGluIGl0cyBvd24KLSAgICBzdWItZGlyZWN0b3J5IG9mIHRoaXMgZGlyZWN0b3J5LiAgVGhlIG9mZmljaWFsIFB5dGhvbiByZWxlYXNlcyBhcmUKLSAgICBidWlsdCB1c2luZyB0aGVzZSBjb25maWd1cmF0aW9ucy4KKyAgICBzdWItZGlyZWN0b3J5IG9mIHRoaXMgZGlyZWN0b3J5LiAgVGhlIG9mZmljaWFsIFB5dGhvbiByZWxlYXNlcyBtYXkKKyAgICBiZSBidWlsdCB1c2luZyB0aGVzZSBjb25maWd1cmF0aW9ucy4KIFJlbGVhc2UKICAgICBVc2VkIHRvIGJ1aWxkIFB5dGhvbiBhcyBpdCBpcyBtZWFudCB0byBiZSB1c2VkIGluIHByb2R1Y3Rpb24KICAgICBzZXR0aW5ncywgdGhvdWdoIHdpdGhvdXQgUEdPLgogCiAKLUxlZ2FjeSBzdXBwb3J0Ci0tLS0tLS0tLS0tLS0tLQorQnVpbGRpbmcgUHl0aG9uIHVzaW5nIHRoZSBidWlsZC5iYXQgc2NyaXB0CistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKLVlvdSBjYW4gZmluZCBidWlsZCBkaXJlY3RvcmllcyBmb3Igb2xkZXIgdmVyc2lvbnMgb2YgVmlzdWFsIFN0dWRpbyBhbmQKLVZpc3VhbCBDKysgaW4gdGhlIFBDIGRpcmVjdG9yeS4gVGhlIGxlZ2FjeSBidWlsZCBkaXJlY3RvcmllcyBhcmUgbm8KLWxvbmdlciBhY3RpdmVseSBtYWludGFpbmVkIGFuZCBtYXkgbm90IHdvcmsgb3V0IG9mIHRoZSBib3guCitJbiB0aGlzIGRpcmVjdG9yeSB5b3UgY2FuIGZpbmQgYnVpbGQuYmF0LCBhIHNjcmlwdCBkZXNpZ25lZCB0byBtYWtlCitidWlsZGluZyBQeXRob24gb24gV2luZG93cyBzaW1wbGVyLiAgVGhpcyBzY3JpcHQgd2lsbCB1c2UgdGhlIGVudi5iYXQKK3NjcmlwdCB0byBkZXRlY3Qgb25lIG9mIFZpc3VhbCBTdHVkaW8gMjAxNSwgMjAxMywgMjAxMiwgb3IgMjAxMCwgYW55IG9mCit3aGljaCBtYXkgYmUgdXNlZCB0byBidWlsZCBQeXRob24sIHRob3VnaCBvbmx5IFZpc3VhbCBTdHVkaW8gMjAxNSBpcworb2ZmaWNpYWxseSBzdXBwb3J0ZWQuCiAKLUN1cnJlbnRseSwgdGhlIG9ubHkgbGVnYWN5IGJ1aWxkIGRpcmVjdG9yeSBpcyBQQ1xWUzkuMCwgZm9yIFZpc3VhbAotU3R1ZGlvIDIwMDggKDkuMCkuCitCeSBkZWZhdWx0LCBidWlsZC5iYXQgd2lsbCBidWlsZCBQeXRob24gaW4gUmVsZWFzZSBjb25maWd1cmF0aW9uIGZvcgordGhlIDMyLWJpdCBXaW4zMiBwbGF0Zm9ybS4gIEl0IGFjY2VwdHMgc2V2ZXJhbCBhcmd1bWVudHMgdG8gY2hhbmdlCit0aGlzIGJlaGF2aW9yOgorCisgICAtYyA8Y29uZmlndXJhdGlvbj4gIFNldCB0aGUgY29uZmlndXJhdGlvbiAoc2VlIGFib3ZlKQorICAgLWQgICAgICAgICAgICAgICAgICBTaG9ydGN1dCBmb3IgIi1jIERlYnVnIgorICAgLXAgPHBsYXRmb3JtPiAgICAgICBTZXQgdGhlIHBsYXRmb3JtIHRvIGJ1aWxkIGZvciAoIldpbjMyIiBvciAieDY0IikKKyAgIC1yICAgICAgICAgICAgICAgICAgUmVidWlsZCBpbnN0ZWFkIG9mIGp1c3QgYnVpbGRpbmcKKyAgIC10IDx0YXJnZXQ+ICAgICAgICAgU2V0IHRoZSB0YXJnZXQgKEJ1aWxkLCBSZWJ1aWxkLCBDbGVhbiBvciBDbGVhbkFsbCkKKyAgIC1lICAgICAgICAgICAgICAgICAgVXNlIGdldF9leHRlcm5hbHMuYmF0IHRvIGZldGNoIGV4dGVybmFsIHNvdXJjZXMKKyAgIC1NICAgICAgICAgICAgICAgICAgRG9uJ3QgYnVpbGQgaW4gcGFyYWxsZWwKKyAgIC12ICAgICAgICAgICAgICAgICAgSW5jcmVhc2VkIG91dHB1dCBtZXNzYWdlcworCitVcCB0byA5IE1TQnVpbGQgc3dpdGNoZXMgY2FuIGFsc28gYmUgcGFzc2VkLCB0aG91Z2ggdGhleSBtdXN0IGJlIHBhc3NlZAorYWZ0ZXIgc3BlY2lmeWluZyBhbnkgb2YgdGhlIGFib3ZlIHN3aXRjaGVzLiAgRm9yIGV4YW1wbGUsIHVzZToKKworICAgYnVpbGQuYmF0IC1lIC1kIC9mbAorCit0byBkbyBhIGRlYnVnIGJ1aWxkIHdpdGggZXh0ZXJuYWxzIGZldGNoZWQgYXMgbmVlZGVkIGFuZCB3cml0ZSBkZXRhaWxlZAorYnVpbGQgbG9ncyB0byBhIGZpbGUuICBJZiB0aGUgTVNCdWlsZCBzd2l0Y2ggcmVxdWlyZXMgYW4gZXF1YWwgc2lnbgorKCI9IiksIHRoZSBlbnRpcmUgc3dpdGNoIG11c3QgYmUgcXVvdGVkOgorCisgICBidWlsZC5iYXQgLWUgLWQgIi9wOkV4dGVybmFsc0Rpcj1QOlxjcHl0aG9uLWV4dGVybmFscyIKKworVGhlcmUgbWF5IGFsc28gYmUgb3RoZXIgc2l0dWF0aW9ucyB3aGVyZSBxdW90ZXMgYXJlIG5lY2Vzc2FyeS4KIAogCiBDIFJ1bnRpbWUKIC0tLS0tLS0tLQogCi1WaXN1YWwgU3R1ZGlvIDIwMTAgdXNlcyB2ZXJzaW9uIDEwIG9mIHRoZSBDIHJ1bnRpbWUgKE1TVkNSVDEwKS4gIFRoZQorVmlzdWFsIFN0dWRpbyAyMDE1IHVzZXMgdmVyc2lvbiAxNCBvZiB0aGUgQyBydW50aW1lIChNU1ZDUlQxNCkuICBUaGUKIGV4ZWN1dGFibGVzIG5vIGxvbmdlciB1c2UgdGhlICJTaWRlIGJ5IFNpZGUiIGFzc2VtYmxpZXMgdXNlZCBpbiBwcmV2aW91cwogdmVyc2lvbnMgb2YgdGhlIGNvbXBpbGVyLiAgVGhpcyBzaW1wbGlmaWVzIGRpc3RyaWJ1dGlvbiBvZiBhcHBsaWNhdGlvbnMuCiAKQEAgLTk4LDEwICsxMjksNiBAQAogICAgIC5kbGwgYW5kIC5saWIKIHB5dGhvbgogICAgIC5leGUKLWtpbGxfcHl0aG9uCi0gICAga2lsbF9weXRob24uZXhlLCBhIHNtYWxsIHByb2dyYW0gZGVzaWduZWQgdG8ga2lsbCBhbnkgaW5zdGFuY2VzIG9mCi0gICAgcHl0aG9uKF9kKS5leGUgdGhhdCBhcmUgcnVubmluZyBhbmQgbGl2ZSBpbiB0aGUgYnVpbGQgb3V0cHV0Ci0gICAgZGlyZWN0b3J5OyB0aGlzIGlzIG1lYW50IHRvIGF2b2lkIGJ1aWxkIGlzc3VlcyBkdWUgdG8gbG9ja2VkIGZpbGVzCiBtYWtlX2J1aWxkaW5mbywgbWFrZV92ZXJzaW9uaW5mbwogICAgIGhlbHBlcnMgdG8gcHJvdmlkZSBuZWNlc3NhcnkgaW5mb3JtYXRpb24gdG8gdGhlIGJ1aWxkIHByb2Nlc3MKIApAQCAtMTIxLDEzICsxNDgsMTIgQEAKICAgICBwdXJwb3NlcywgdXNlZCBieSB0ZXN0X2NhcGkucHkKIAogVGhlc2UgYXJlIG1pc2NlbGxhbmVvdXMgc3ViLXByb2plY3RzIHRoYXQgZG9uJ3QgcmVhbGx5IGZpdCB0aGUgb3RoZXIKLWNhdGVnb3JpZXMuICBCeSBkZWZhdWx0LCB0aGVzZSBwcm9qZWN0cyBkbyBub3QgYnVpbGQgaW4gRGVidWcKLWNvbmZpZ3VyYXRpb246CitjYXRlZ29yaWVzOgogX2ZyZWV6ZV9pbXBvcnRsaWIKICAgICBfZnJlZXplX2ltcG9ydGxpYi5leGUsIHVzZWQgdG8gcmVnZW5lcmF0ZSBQeXRob25caW1wb3J0bGliLmggYWZ0ZXIKICAgICBjaGFuZ2VzIGhhdmUgYmVlbiBtYWRlIHRvIExpYlxpbXBvcnRsaWJcX2Jvb3RzdHJhcC5weQogYmRpc3Rfd2luaW5zdAotICAgIC4uXExpYlxkaXN0dXRpbHNcY29tbWFuZFx3aW5pbnN0LTEwLjBbLWFtZDY0XS5leGUsIHRoZSBiYXNlCisgICAgLi5cTGliXGRpc3R1dGlsc1xjb21tYW5kXHdpbmluc3QtMTQuMFstYW1kNjRdLmV4ZSwgdGhlIGJhc2UKICAgICBleGVjdXRhYmxlIHVzZWQgYnkgdGhlIGRpc3R1dGlscyBiZGlzdF93aW5pbnN0IGNvbW1hbmQKIHB5dGhvbjNkbGwKICAgICBweXRob24zLmRsbCwgdGhlIFBFUCAzODQgU3RhYmxlIEFCSSBkbGwKQEAgLTE4MiwzNyArMjA4LDI4IEBACiAgICAgdG8gYmUgc29tZXdoZXJlIG9uIHlvdXIgUEFUSC4gIE1vcmUgcmVjZW50IHZlcnNpb25zIG9mIE9wZW5TU0wgbWF5CiAgICAgbmVlZCBhIGxhdGVyIHZlcnNpb24gb2YgTkFTTS4gSWYgT3BlblNTTCdzIHNlbGYgdGVzdHMgZG9uJ3QgcGFzcywKICAgICB5b3Ugc2hvdWxkIGZpcnN0IHRyeSB0byB1cGRhdGUgTkFTTSBhbmQgZG8gYSBmdWxsIHJlYnVpbGQgb2YKLSAgICBPcGVuU1NMLiAgSWYgeW91IHVzZSB0aGUgVG9vbHNcYnVpbGRib3RcZXh0ZXJuYWwoLWFtZDY0KS5iYXQgbWV0aG9kCi0gICAgZm9yIGdldHRpbmcgc291cmNlcywgaXQgYWxzbyBkb3dubG9hZHMgYSB2ZXJzaW9uIG9mIE5BU00gd2hpY2ggdGhlCi0gICAgc3NsIGJ1aWxkIHNjcmlwdCB3aWxsIGFkZCB0byBQQVRILgorICAgIE9wZW5TU0wuICBnZXRfZXh0ZXJuYWxzLnB5IGFsc28gZG93bmxvYWRzIGEgc25hcHNob3Qgb2YgTkFTTSwgYW5kIHRoZQorICAgIGxpYmVheSBhbmQgc3NsZWF5IHN1Yi1wcm9qZWN0cyB1c2UgdGhhdCB2ZXJzaW9uIG9mIG5hc20uZXhlLgogCi0gICAgSWYgeW91IGxpa2UgdG8gdXNlIHRoZSBvZmZpY2lhbCBzb3VyY2VzIGluc3RlYWQgb2YgdGhlIGZpbGVzIGZyb20KLSAgICBweXRob24ub3JnJ3Mgc3VidmVyc2lvbiByZXBvc2l0b3J5LCBQZXJsIGlzIHJlcXVpcmVkIHRvIGJ1aWxkIHRoZQotICAgIG5lY2Vzc2FyeSBtYWtlZmlsZXMgYW5kIGFzc2VtYmx5IGZpbGVzLiAgQWN0aXZlUGVybCBpcyBhdmFpbGFibGUKLSAgICBmcm9tCisgICAgVGhlIGxpYmVheS9zc2xlYXkgc3ViLXByb2plY3RzIGV4cGVjdCB5b3VyIE9wZW5TU0wgc291cmNlcyB0byBoYXZlCisgICAgYWxyZWFkeSBiZWVuIGNvbmZpZ3VyZWQgYW5kIGJlIHJlYWR5IHRvIGJ1aWxkLiAgSWYgeW91IGdldCB5b3VyIHNvdXJjZXMKKyAgICBmcm9tIHN2bi5weXRob24ub3JnIGFzIHN1Z2dlc3RlZCBpbiB0aGUgIkdldHRpbmcgRXh0ZXJuYWwgU291cmNlcyIKKyAgICBzZWN0aW9uIGJlbG93LCB0aGUgT3BlblNTTCBzb3VyY2Ugd2lsbCBhbHJlYWR5IGJlIHJlYWR5IHRvIGdvLiAgSWYKKyAgICB5b3Ugd2FudCB0byBidWlsZCBhIGRpZmZlcmVudCB2ZXJzaW9uLCB5b3Ugd2lsbCBuZWVkIHRvIHJ1bgorCisgICAgICAgUENidWlsZFxwcmVwYXJlX3NzbC5weSBwYXRoXHRvXG9wZW5zc2wtc291cmNlLWRpcgorCisgICAgVGhhdCBzY3JpcHQgd2lsbCBwcmVwYXJlIHlvdXIgT3BlblNTTCBzb3VyY2VzIGluIHRoZSBzYW1lIHdheSB0aGF0CisgICAgdGhvc2UgYXZhaWxhYmxlIG9uIHN2bi5weXRob24ub3JnIGhhdmUgYmVlbiBwcmVwYXJlZC4gIE5vdGUgdGhhdAorICAgIFBlcmwgbXVzdCBiZSBpbnN0YWxsZWQgYW5kIGF2YWlsYWJsZSBvbiB5b3VyIFBBVEggdG8gY29uZmlndXJlCisgICAgT3BlblNTTC4gIEFjdGl2ZVBlcmwgaXMgcmVjb21tZW5kZWQgYW5kIGlzIGF2YWlsYWJsZSBmcm9tCiAgICAgICAgIGh0dHA6Ly93d3cuYWN0aXZlc3RhdGUuY29tL2FjdGl2ZXBlcmwvCi0gICAgVGhlIHN2bi5weXRob24ub3JnIHZlcnNpb24gY29udGFpbnMgcHJlLWJ1aWx0IG1ha2VmaWxlcyBhbmQgYXNzZW1ibHkKLSAgICBmaWxlcy4KIAotICAgIFRoZSBidWlsZCBwcm9jZXNzIG1ha2VzIHN1cmUgdGhhdCBubyBwYXRlbnRlZCBhbGdvcml0aG1zIGFyZQotICAgIGluY2x1ZGVkLiAgRm9yIG5vdyBSQzUsIE1EQzIgYW5kIElERUEgYXJlIGV4Y2x1ZGVkIGZyb20gdGhlIGJ1aWxkLgotICAgIFlvdSBtYXkgaGF2ZSB0byBtYW51YWxseSByZW1vdmUgJChPQkpfRClcaV8qLm9iaiBmcm9tIG1zXG50Lm1hayBpZgotICAgIHVzaW5nIG9mZmljaWFsIHNvdXJjZXM7IHRoZSBzdm4ucHl0aG9uLm9yZy1ob3N0ZWQgdmVyc2lvbiBpcyBhbHJlYWR5Ci0gICAgZml4ZWQuCi0KLSAgICBUaGUgc3NsLnZjeHByb2ogc3ViLXByb2plY3Qgc2ltcGx5IGludm9rZXMgUENidWlsZC9idWlsZF9zc2wucHksCi0gICAgd2hpY2ggbG9jYXRlcyBhbmQgYnVpbGRzIE9wZW5TU0wuCi0KLSAgICBidWlsZF9zc2wucHkgYXR0ZW1wdHMgdG8gY2F0Y2ggdGhlIG1vc3QgY29tbW9uIGVycm9ycyAoc3VjaCBhcyBub3QKLSAgICBiZWluZyBhYmxlIHRvIGZpbmQgT3BlblNTTCBzb3VyY2VzLCBvciBub3QgYmVpbmcgYWJsZSB0byBmaW5kIGEgUGVybAotICAgIHRoYXQgd29ya3Mgd2l0aCBPcGVuU1NMKSBhbmQgZ2l2ZSBhIHJlYXNvbmFibGUgZXJyb3IgbWVzc2FnZS4gIElmCi0gICAgeW91IGhhdmUgYSBwcm9ibGVtIHRoYXQgZG9lc24ndCBzZWVtIHRvIGJlIGhhbmRsZWQgY29ycmVjdGx5IChlLmcuLAotICAgIHlvdSBrbm93IHlvdSBoYXZlIEFjdGl2ZVBlcmwgYnV0IHdlIGNhbid0IGZpbmQgaXQpLCBwbGVhc2UgdGFrZSBhCi0gICAgcGVlayBhdCBidWlsZF9zc2wucHkgYW5kIHN1Z2dlc3QgcGF0Y2hlcy4gIE5vdGUgdGhhdCBidWlsZF9zc2wucHkKLSAgICBzaG91bGQgYmUgYWJsZSB0byBiZSBydW4gZGlyZWN0bHkgZnJvbSB0aGUgY29tbWFuZC1saW5lLgotCi0gICAgVGhlIHNzbCBzdWItcHJvamVjdCBkb2VzIG5vdCBoYXZlIHRoZSBhYmlsaXR5IHRvIGNsZWFuIHRoZSBPcGVuU1NMCi0gICAgYnVpbGQ7IGlmIHlvdSBuZWVkIHRvIHJlYnVpbGQsIHlvdSdsbCBoYXZlIHRvIGNsZWFuIGl0IGJ5IGhhbmQuCisgICAgVGhlIGxpYmVheSBhbmQgc3NsZWF5IHN1Yi1wcm9qZWN0cyB3aWxsIGJ1aWxkIHRoZSBtb2R1bGVzIG9mIE9wZW5TU0wKKyAgICByZXF1aXJlZCBieSBfc3NsIGFuZCBfaGFzaGxpYiBhbmQgbWF5IG5lZWQgdG8gYmUgbWFudWFsbHkgdXBkYXRlZCB3aGVuCisgICAgdXBncmFkaW5nIHRvIGEgbmV3ZXIgdmVyc2lvbiBvZiBPcGVuU1NMIG9yIHdoZW4gYWRkaW5nIG5ldworICAgIGZ1bmN0aW9uYWxpdHkgdG8gX3NzbCBvciBfaGFzaGxpYi4gVGhleSB3aWxsIG5vdCBjbGVhbiB1cCB0aGVpciBvdXRwdXQKKyAgICB3aXRoIHRoZSBub3JtYWwgQ2xlYW4gdGFyZ2V0OyBDbGVhbkFsbCBzaG91bGQgYmUgdXNlZCBpbnN0ZWFkLgogX3NxbGl0ZTMKICAgICBXcmFwcyBTUUxpdGUgMy44LjMuMSwgd2hpY2ggaXMgaXRzZWxmIGJ1aWx0IGJ5IHNxbGl0ZTMudmN4cHJvagogICAgIEhvbWVwYWdlOgpAQCAtMjIyLDEyICsyMzksMTkgQEAKICAgICBIb21lcGFnZToKICAgICAgICAgaHR0cDovL3d3dy50Y2wudGsvCiAKLSAgICBVbmxpa2UgdGhlIG90aGVyIGV4dGVybmFsIGxpYnJhcmllcyBsaXN0ZWQgYWJvdmUsIFRrIG11c3QgYmUgYnVpbHQKLSAgICBzZXBhcmF0ZWx5IGJlZm9yZSB0aGUgX3RraW50ZXIgbW9kdWxlIGNhbiBiZSBidWlsdC4gVGhpcyBtZWFucyB0aGF0Ci0gICAgYSBwcmUtYnVpbHQgVGNsL1RrIGluc3RhbGxhdGlvbiBpcyBleHBlY3RlZCBpbiAuLlxleHRlcm5hbHNcdGNsdGsKLSAgICAodGNsdGs2NCBmb3IgNjQtYml0KSByZWxhdGl2ZSB0byB0aGlzIGRpcmVjdG9yeS4gIFNlZSAiR2V0dGluZwotICAgIEV4dGVybmFsIFNvdXJjZXMiIGJlbG93IGZvciB0aGUgZWFzaWVzdCBtZXRob2QgdG8gZW5zdXJlIFRjbC9UayBpcwotICAgIGJ1aWx0LgorICAgIFRraW50ZXIncyBkZXBlbmRlbmNpZXMgYXJlIGJ1aWx0IGJ5IHRoZSB0Y2wudmN4cHJvaiBhbmQgdGsudmN4cHJvagorICAgIHByb2plY3RzLiAgVGhlIHRpeC52Y3hwcm9qIHByb2plY3QgYWxzbyBidWlsZHMgdGhlIFRpeCBleHRlbmRlZAorICAgIHdpZGdldCBzZXQgZm9yIHVzZSB3aXRoIFRraW50ZXIuCisKKyAgICBUaG9zZSB0aHJlZSBwcm9qZWN0cyBpbnN0YWxsIHRoZWlyIHJlc3BlY3RpdmUgY29tcG9uZW50cyBpbiBhCisgICAgZGlyZWN0b3J5IGFsb25nc2lkZSB0aGUgc291cmNlIGRpcmVjdG9yaWVzIGNhbGxlZCAidGNsdGsiIG9uCisgICAgV2luMzIgYW5kICJ0Y2x0azY0IiBvbiB4NjQuICBUaGV5IGFsc28gY29weSB0aGUgVGNsIGFuZCBUayBETExzCisgICAgaW50byB0aGUgY3VycmVudCBvdXRwdXQgZGlyZWN0b3J5LCB3aGljaCBzaG91bGQgZW5zdXJlIHRoYXQgVGtpbnRlcgorICAgIGlzIGFibGUgdG8gbG9hZCBUY2wvVGsgd2l0aG91dCBoYXZpbmcgdG8gY2hhbmdlIHlvdXIgUEFUSC4KKworICAgIFRoZSB0Y2wsIHRrLCBhbmQgdGl4IHN1Yi1wcm9qZWN0cyBkbyBub3QgY2xlYW4gdGhlaXIgYnVpbGRzIHdpdGgKKyAgICB0aGUgbm9ybWFsIENsZWFuIHRhcmdldDsgaWYgeW91IG5lZWQgdG8gcmVidWlsZCwgeW91IHNob3VsZCB1c2UgdGhlCisgICAgQ2xlYW5BbGwgdGFyZ2V0IG9yIG1hbnVhbGx5IGRlbGV0ZSB0aGVpciBidWlsZHMuCiAKIAogR2V0dGluZyBFeHRlcm5hbCBTb3VyY2VzCkBAIC0yMzYsNDUgKzI2MCwxOCBAQAogVGhlIGxhc3QgY2F0ZWdvcnkgb2Ygc3ViLXByb2plY3RzIGxpc3RlZCBhYm92ZSB3cmFwIGV4dGVybmFsIHByb2plY3RzCiBQeXRob24gZG9lc24ndCBjb250cm9sLCBhbmQgYXMgc3VjaCBhIGxpdHRsZSBtb3JlIHdvcmsgaXMgcmVxdWlyZWQgaW4KIG9yZGVyIHRvIGRvd25sb2FkIHRoZSByZWxldmFudCBzb3VyY2UgZmlsZXMgZm9yIGVhY2ggcHJvamVjdCBiZWZvcmUgdGhleQotY2FuIGJlIGJ1aWx0LiAgVGhlIGJ1aWxkYm90cyBtdXN0IGVuc3VyZSB0aGF0IGFsbCBsaWJyYXJpZXMgYXJlIHByZXNlbnQKLWJlZm9yZSBidWlsZGluZywgc28gdGhlIGVhc2llc3QgYXBwcm9hY2ggaXMgdG8gcnVuIGVpdGhlciBleHRlcm5hbC5iYXQKLW9yIGV4dGVybmFsLWFtZDY0LmJhdCAoZGVwZW5kaW5nIG9uIHBsYXRmb3JtKSBpbiB0aGUgLi5cVG9vbHNcYnVpbGRib3QKLWRpcmVjdG9yeSBmcm9tIC4uXCwgaS5lLjoKLQotICAgIEM6XHB5dGhvblxjcHl0aG9uXFBDYnVpbGQ+Y2QgLi4KLSAgICBDOlxweXRob25cY3B5dGhvbj5Ub29sc1xidWlsZGJvdFxleHRlcm5hbC5iYXQKLQotVGhpcyBleHRyYWN0cyBhbGwgdGhlIGV4dGVybmFsIHN1Yi1wcm9qZWN0cyBmcm9tCitjYW4gYmUgYnVpbHQuICBIb3dldmVyLCBhIHNpbXBsZSBzY3JpcHQgaXMgcHJvdmlkZWQgdG8gbWFrZSB0aGlzIGFzCitwYWlubGVzcyBhcyBwb3NzaWJsZSwgY2FsbGVkICJnZXRfZXh0ZXJuYWxzLmJhdCIgYW5kIGxvY2F0ZWQgaW4gdGhpcworZGlyZWN0b3J5LiAgVGhpcyBzY3JpcHQgZXh0cmFjdHMgYWxsIHRoZSBleHRlcm5hbCBzdWItcHJvamVjdHMgZnJvbQogICAgIGh0dHA6Ly9zdm4ucHl0aG9uLm9yZy9wcm9qZWN0cy9leHRlcm5hbAotdmlhIFN1YnZlcnNpb24gKHNvIHlvdSdsbCBuZWVkIGFuIHN2bi5leGUgb24geW91ciBQQVRIKSBhbmQgcGxhY2VzIHRoZW0KK3ZpYSBTdWJ2ZXJzaW9uIChzbyB5b3UnbGwgbmVlZCBzdm4uZXhlIG9uIHlvdXIgUEFUSCkgYW5kIHBsYWNlcyB0aGVtCiBpbiAuLlxleHRlcm5hbHMgKHJlbGF0aXZlIHRvIHRoaXMgZGlyZWN0b3J5KS4KIAogSXQgaXMgYWxzbyBwb3NzaWJsZSB0byBkb3dubG9hZCBzb3VyY2VzIGZyb20gZWFjaCBwcm9qZWN0J3MgaG9tZXBhZ2UsCi10aG91Z2ggeW91IG1heSBoYXZlIHRvIGNoYW5nZSB0aGUgbmFtZXMgb2Ygc29tZSBmb2xkZXJzIGluIG9yZGVyIHRvIG1ha2UKLXRoaW5ncyB3b3JrLiAgRm9yIGluc3RhbmNlLCBpZiB5b3Ugd2VyZSB0byBkb3dubG9hZCBhIHZlcnNpb24gNS4wLjcgb2YKLVhaIFV0aWxzLCB5b3Ugd291bGQgbmVlZCB0byBleHRyYWN0IHRoZSBhcmNoaXZlIGludG8gLi5cZXh0ZXJuYWxzXHh6LTUuMC41Ci1hbnl3YXksIHNpbmNlIHRoYXQgaXMgd2hlcmUgdGhlIHNvbHV0aW9uIGlzIHNldCB0byBsb29rIGZvciB4ei4gIFRoZQotc2FtZSBpcyB0cnVlIGZvciBhbGwgb3RoZXIgZXh0ZXJuYWwgcHJvamVjdHMuCi0KLVRoZSBleHRlcm5hbCgtYW1kNjQpLmJhdCBzY3JpcHRzIHdpbGwgYWxzbyBidWlsZCBhIGRlYnVnIGJ1aWxkIG9mCi1UY2wvVGssIGJ1dCB0aGVyZSBhcmVuJ3QgYW55IGVxdWl2YWxlbnQgYmF0Y2ggZmlsZXMgZm9yIGJ1aWxkaW5nIHJlbGVhc2UKLXZlcnNpb25zIG9mIFRjbC9UayBjdXJyZW50bHkgYXZhaWxhYmxlLiAgSWYgeW91IG5lZWQgdG8gYnVpbGQgYSByZWxlYXNlCi12ZXJzaW9uIG9mIFRjbC9UaywganVzdCB0YWtlIGEgbG9vayBhdCB0aGUgcmVsZXZhbnQgZXh0ZXJuYWwoLWFtZDY0KS5iYXQKLWZpbGUgYW5kIGZpbmQgdGhlIHR3byBubWFrZSBsaW5lcywgdGhlbiBjYWxsIGVhY2ggb25lIHdpdGhvdXQgdGhlCi0nREVCVUc9MScgcGFyYW1ldGVyLCBpLmUuOgotCi1UaGUgZXh0ZXJuYWwtYW1kNjQuYmF0IGZpbGUgY29udGFpbnMgdGhpcyBmb3IgdGNsOgotICAgIG5tYWtlIC1mIG1ha2VmaWxlLnZjIERFQlVHPTEgTUFDSElORT1BTUQ2NCBJTlNUQUxMRElSPS4uXC4uXHRjbHRrNjQgY2xlYW4gYWxsIGluc3RhbGwKLQotU28gZm9yIGEgcmVsZWFzZSBidWlsZCwgeW91J2QgY2FsbCBpdCBhczoKLSAgICBubWFrZSAtZiBtYWtlZmlsZS52YyBNQUNISU5FPUFNRDY0IElOU1RBTExESVI9Li5cLi5cdGNsdGs2NCBjbGVhbiBhbGwgaW5zdGFsbAotCi1Ob3RlIHRoYXQgdGhlIGFib3ZlIGNvbW1hbmQgaXMgY2FsbGVkIGZyb20gd2l0aGluIC4uXGV4dGVybmFsc1x0Y2wtOC42LjEuMFx3aW4KLShyZWxhdGl2ZSB0byB0aGlzIGRpcmVjdG9yeSk7IGRvbid0IGZvcmdldCB0byBidWlsZCBUayBhcyB3ZWxsIGFzIFRjbCEKLQotVGhpcyB3aWxsIGJlIGNsZWFuZWQgdXAgaW4gdGhlIGZ1dHVyZTsgaHR0cDovL2J1Z3MucHl0aG9uLm9yZy9pc3N1ZTE1OTY4Ci10cmFja3MgYWRkaW5nIGEgbmV3IHRjbHRrLnZjeHByb2ogZmlsZSB0aGF0IHdpbGwgYnVpbGQgVGNsL1RrIGFuZCBUaXgKLXRoZSBzYW1lIHdheSB0aGUgb3RoZXIgZXh0ZXJuYWwgcHJvamVjdHMgbGlzdGVkIGFib3ZlIGFyZSBidWlsdC4KK3Rob3VnaCB5b3UgbWF5IGhhdmUgdG8gY2hhbmdlIGZvbGRlciBuYW1lcyBvciBwYXNzIHRoZSBuYW1lcyB0byBNU0J1aWxkCithcyB0aGUgdmFsdWVzIG9mIGNlcnRhaW4gcHJvcGVydGllcyBpbiBvcmRlciBmb3IgdGhlIGJ1aWxkIHNvbHV0aW9uIHRvCitmaW5kIHRoZW0uICBUaGlzIGlzIGFuIGFkdmFuY2VkIHRvcGljIGFuZCBub3QgbmVjZXNzYXJpbHkgZnVsbHkKK3N1cHBvcnRlZC4KIAogCiBCdWlsZGluZyBmb3IgQU1ENjQKQEAgLTI4Myw5ICsyODAsNyBAQAogVGhlIGJ1aWxkIHByb2Nlc3MgZm9yIEFNRDY0IC8geDY0IGlzIHZlcnkgc2ltaWxhciB0byBzdGFuZGFyZCBidWlsZHMsCiB5b3UganVzdCBoYXZlIHRvIHNldCB4NjQgYXMgcGxhdGZvcm0uIEluIGFkZGl0aW9uLCB0aGUgSE9TVF9QWVRIT04KIGVudmlyb25tZW50IHZhcmlhYmxlIG11c3QgcG9pbnQgdG8gYSBQeXRob24gaW50ZXJwcmV0ZXIgKGF0IGxlYXN0IDIuNCksCi10byBzdXBwb3J0IGNyb3NzLWNvbXBpbGF0aW9uIGZyb20gV2luMzIuICBOb3RlIHRoYXQgVmlzdWFsIFN0dWRpbwotcmVxdWlyZXMgUHJvZmVzc2lvbmFsIEVkaXRpb24gb3IgYmV0dGVyIGluIG9yZGVyIHRvIGJ1aWxkIDY0LWJpdAotYmluYXJpZXMuCit0byBzdXBwb3J0IGNyb3NzLWNvbXBpbGF0aW9uIGZyb20gV2luMzIuCiAKIAogUHJvZmlsZSBHdWlkZWQgT3B0aW1pemF0aW9uCkBAIC0zMjAsMzAgKzMxNSwyMiBAQAogVmlzdWFsIFN0dWRpbyBwcm9wZXJ0aWVzCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAotVGhlIFBDYnVpbGQgc29sdXRpb24gbWFrZXMgaGVhdnkgdXNlIG9mIFZpc3VhbCBTdHVkaW8gcHJvcGVydHkgZmlsZXMKLSgqLnByb3BzKS4gVGhlIHByb3BlcnRpZXMgY2FuIGJlIHZpZXdlZCBhbmQgYWx0ZXJlZCBpbiB0aGUgUHJvcGVydHkKLU1hbmFnZXIgKFZpZXcgLT4gT3RoZXIgV2luZG93cyAtPiBQcm9wZXJ0eSBNYW5hZ2VyKS4KK1RoZSBQQ2J1aWxkIHNvbHV0aW9uIG1ha2VzIHVzZSBvZiBWaXN1YWwgU3R1ZGlvIHByb3BlcnR5IGZpbGVzICgqLnByb3BzKQordG8gc2ltcGxpZnkgZWFjaCBwcm9qZWN0LiBUaGUgcHJvcGVydGllcyBjYW4gYmUgdmlld2VkIGluIHRoZSBQcm9wZXJ0eQorTWFuYWdlciAoVmlldyAtPiBPdGhlciBXaW5kb3dzIC0+IFByb3BlcnR5IE1hbmFnZXIpIGJ1dCBzaG91bGQgYmUKK2NhcmVmdWxseSBtb2RpZmllZCBieSBoYW5kLgogCi1UaGUgcHJvcGVydHkgZmlsZXMgdXNlZCBhcmUgKCstLSA9ICJhbHNvIGltcG9ydHMiKToKLSAqIGRlYnVnIChkZWJ1ZyBtYWNybzogX0RFQlVHKQotICogcGdpbnN0cnVtZW50IChQR08pCi0gKiBwZ3VwZGF0ZSAoUEdPKQotICAgICstLSBwZ2luc3RydW1lbnQKLSAqIHB5ZCAocHl0aG9uIGV4dGVuc2lvbiwgcmVsZWFzZSBidWlsZCkKLSAgICArLS0gcmVsZWFzZQotICAgICstLSBweXByb2plY3QKLSAqIHB5ZF9kIChweXRob24gZXh0ZW5zaW9uLCBkZWJ1ZyBidWlsZCkKLSAgICArLS0gZGVidWcKLSAgICArLS0gcHlwcm9qZWN0Ci0gKiBweXByb2plY3QgKGJhc2Ugc2V0dGluZ3MgZm9yIGFsbCBwcm9qZWN0cywgdXNlciBtYWNyb3MgbGlrZSBQeURsbE5hbWUpCi0gKiByZWxlYXNlIChyZWxlYXNlIG1hY3JvOiBOREVCVUcpCi0gKiBzcWxpdGUzICh1c2VkIG9ubHkgYnkgc3FsaXRlMy52Y3hwcm9qKQotICogeDY0IChBTUQ2NCAvIHg2NCBwbGF0Zm9ybSBzcGVjaWZpYyBzZXR0aW5ncykKK1RoZSBwcm9wZXJ0eSBmaWxlcyB1c2VkIGFyZToKKyAqIHB5dGhvbiAodmVyc2lvbnMsIGRpcmVjdG9yaWVzIGFuZCBidWlsZCBuYW1lcykKKyAqIHB5cHJvamVjdCAoYmFzZSBzZXR0aW5ncyBmb3IgYWxsIHByb2plY3RzKQorICogb3BlbnNzbCAodXNlZCBieSBsaWJlYXkgYW5kIHNzbGVheSBwcm9qZWN0cykKKyAqIHRjbHRrICh1c2VkIGJ5IF90a2ludGVyLCB0Y2wsIHRrIGFuZCB0aXggcHJvamVjdHMpCiAKLVRoZSBweXByb2plY3QgcHJvcGVydHkgZmlsZSBkZWZpbmVzIF9XSU4zMiBhbmQgeDY0IGRlZmluZXMgX1dJTjY0IGFuZAotX01fWDY0IGFsdGhvdWdoIHRoZSBtYWNyb3MgYXJlIHNldCBieSB0aGUgY29tcGlsZXIsIHRvby4gVGhlIEdVSSBkb2Vzbid0Ci1hbHdheXMga25vdyBhYm91dCB0aGUgbWFjcm9zIGFuZCBjb25mdXNlIHRoZSB1c2VyIHdpdGggZmFsc2UKLWluZm9ybWF0aW9uLgorVGhlIHB5cHJvamVjdCBwcm9wZXJ0eSBmaWxlIGRlZmluZXMgYWxsIG9mIHRoZSBidWlsZCBzZXR0aW5ncyBmb3IgZWFjaAorcHJvamVjdCwgd2l0aCBzb21lIHByb2plY3RzIG92ZXJyaWRpbmcgY2VydGFpbiBzcGVjaWZpYyB2YWx1ZXMuIFRoZSBHVUkKK2RvZXNuJ3QgYWx3YXlzIHJlZmxlY3QgdGhlIGNvcnJlY3Qgc2V0dGluZ3MgYW5kIG1heSBjb25mdXNlIHRoZSB1c2VyCit3aXRoIGZhbHNlIGluZm9ybWF0aW9uLCBlc3BlY2lhbGx5IGZvciBzZXR0aW5ncyB0aGF0IGF1dG9tYXRpY2FsbHkgYWRhcHQKK2ZvciBkaWZmaXJlbnQgY29uZmlndXJhdGlvbnMuCiAKIAogWW91ciBPd24gRXh0ZW5zaW9uIERMTHMKZGlmZiAtLWdpdCBhL1BDYnVpbGQvcmVsZWFzZS5wcm9wcyBiL1BDYnVpbGQvcmVsZWFzZS5wcm9wcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYWNmZTNlNC4uMDAwMDAwMAotLS0gYS9QQ2J1aWxkL3JlbGVhc2UucHJvcHMKKysrIC9kZXYvbnVsbApAQCAtMSwxOSArMCwwIEBACi3vu788P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgotPFByb2plY3QgRGVmYXVsdFRhcmdldHM9IkJ1aWxkIiBUb29sc1ZlcnNpb249IjQuMCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+Ci0gIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJVc2VyTWFjcm9zIj4KLSAgICA8UHlEZWJ1Z0V4dCAvPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwPgotICAgIDxfUHJvamVjdEZpbGVWZXJzaW9uPjEwLjAuMzAzMTkuMTwvX1Byb2plY3RGaWxlVmVyc2lvbj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cD4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPk5ERUJVRzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1Hcm91cD4KLSAgICA8QnVpbGRNYWNybyBJbmNsdWRlPSJQeURlYnVnRXh0Ij4KLSAgICAgIDxWYWx1ZT4kKFB5RGVidWdFeHQpPC9WYWx1ZT4KLSAgICA8L0J1aWxkTWFjcm8+Ci0gIDwvSXRlbUdyb3VwPgotPC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1BDYnVpbGQvcnQuYmF0IGIvUENidWlsZC9ydC5iYXQKaW5kZXggZTU2OTIzOC4uNTA0MWNkMyAxMDA2NDQKLS0tIGEvUENidWlsZC9ydC5iYXQKKysrIGIvUENidWlsZC9ydC5iYXQKQEAgLTksNyArOSw4IEBACiByZW0gLXg2NCBSdW4gdGhlIDY0LWJpdCBidWlsZCBvZiBweXRob24gKG9yIHB5dGhvbl9kIGlmIC1kIHdhcyBzcGVjaWZpZWQpCiByZW0gICAgICBmcm9tIHRoZSAnYW1kNjQnIGRpciBpbnN0ZWFkIG9mIHRoZSAzMi1iaXQgYnVpbGQgaW4gdGhpcyBkaXIuCiByZW0gQWxsIGxlYWRpbmcgaW5zdGFuY2VzIG9mIHRoZXNlIHN3aXRjaGVzIGFyZSBzaGlmdGVkIG9mZiwgYW5kCi1yZW0gd2hhdGV2ZXIgcmVtYWlucyBpcyBwYXNzZWQgdG8gcmVncnRlc3QucHkuICBGb3IgZXhhbXBsZSwKK3JlbSB3aGF0ZXZlciByZW1haW5zICh1cCB0byA5IGFyZ3VtZW50cykgaXMgcGFzc2VkIHRvIHJlZ3J0ZXN0LnB5LgorcmVtIEZvciBleGFtcGxlLAogcmVtICAgICBydCAtTyAtZCAteCB0ZXN0X3RocmVhZAogcmVtIHJ1bnMKIHJlbSAgICAgcHl0aG9uX2QgLU8gLi4vbGliL3Rlc3QvcmVncnRlc3QucHkgLXggdGVzdF90aHJlYWQKQEAgLTI2LDI1ICsyNywyNCBAQAogCiBzZXRsb2NhbAogCi1zZXQgcHJlZml4PS5cCitzZXQgcGNidWlsZD0lfmRwMAorc2V0IHByZWZpeD0lcGNidWlsZCV3aW4zMlwKIHNldCBzdWZmaXg9CiBzZXQgcW1vZGU9CiBzZXQgZGFzaE89Ci1zZXQgdGNsdGs9dGNsdGsKIAogOkNoZWNrT3B0cwogaWYgIiUxIj09Ii1PIiAoc2V0IGRhc2hPPS1PKSAgICAgJiBzaGlmdCAmIGdvdG8gQ2hlY2tPcHRzCiBpZiAiJTEiPT0iLXEiIChzZXQgcW1vZGU9eWVzKSAgICAmIHNoaWZ0ICYgZ290byBDaGVja09wdHMKIGlmICIlMSI9PSItZCIgKHNldCBzdWZmaXg9X2QpICAgICYgc2hpZnQgJiBnb3RvIENoZWNrT3B0cwotaWYgIiUxIj09Ii14NjQiIChzZXQgcHJlZml4PWFtZDY0KSAmIChzZXQgdGNsdGs9dGNsdGs2NCkgJiBzaGlmdCAmIGdvdG8gQ2hlY2tPcHRzCitpZiAiJTEiPT0iLXg2NCIgKHNldCBwcmVmaXg9JXBjYnVpbGQlYW1kNjRcKSAmIHNoaWZ0ICYgZ290byBDaGVja09wdHMKIAotUEFUSCAlUEFUSCU7JX5kcDAuLlxleHRlcm5hbHNcJXRjbHRrJVxiaW4KLXNldCBleGU9JXByZWZpeCVccHl0aG9uJXN1ZmZpeCUKLXNldCBjbWQ9JWV4ZSUgJWRhc2hPJSAtV2QgLUUgLWJiIC4uL2xpYi90ZXN0L3JlZ3J0ZXN0LnB5ICUxICUyICUzICU0ICU1ICU2ICU3ICU4ICU5CitzZXQgZXhlPSVwcmVmaXglcHl0aG9uJXN1ZmZpeCUuZXhlCitzZXQgY21kPSIlZXhlJSIgJWRhc2hPJSAtV2QgLUUgLWJiICIlcGNidWlsZCUuLlxsaWJcdGVzdFxyZWdydGVzdC5weSIgJTEgJTIgJTMgJTQgJTUgJTYgJTcgJTggJTkKIGlmIGRlZmluZWQgcW1vZGUgZ290byBRbW9kZQogCiBlY2hvIERlbGV0aW5nIC5weWMvLnB5byBmaWxlcyAuLi4KLSVleGUlIHJtcHljLnB5CisiJWV4ZSUiICIlcGNidWlsZCVybXB5Yy5weSIKIAogZWNobyBvbgogJWNtZCUKZGlmZiAtLWdpdCBhL1BDYnVpbGQvc2VsZWN0LnZjeHByb2ogYi9QQ2J1aWxkL3NlbGVjdC52Y3hwcm9qCmluZGV4IDdjMzZkNjQuLjNjZDA2OTQgMTAwNjQ0Ci0tLSBhL1BDYnVpbGQvc2VsZWN0LnZjeHByb2oKKysrIGIvUENidWlsZC9zZWxlY3QudmN4cHJvagpAQCAtMzcsMTg4ICszNywzMyBAQAogICA8UHJvcGVydHlHcm91cCBMYWJlbD0iR2xvYmFscyI+CiAgICAgPFByb2plY3RHdWlkPnsxOENBRTI4Qy1CNDU0LTQ2QzEtODdBMC00OTNEOTFEOTdGMDN9PC9Qcm9qZWN0R3VpZD4KICAgICA8Um9vdE5hbWVzcGFjZT5zZWxlY3Q8L1Jvb3ROYW1lc3BhY2U+Ci0gICAgPEtleXdvcmQ+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+d3MyXzMyLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgICAgPElnbm9yZVNwZWNpZmljRGVmYXVsdExpYnJhcmllcz5saWJjOyUoSWdub3JlU3BlY2lmaWNEZWZhdWx0TGlicmFyaWVzKTwvSWdub3JlU3BlY2lmaWNEZWZhdWx0TGlicmFyaWVzPgogICAgICAgPEJhc2VBZGRyZXNzPjB4MUQxMTAwMDA8L0Jhc2VBZGRyZXNzPgogICAgIDwvTGluaz4KICAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPgotICAgIDxNaWRsPgotICAgICAgPFRhcmdldEVudmlyb25tZW50Plg2NDwvVGFyZ2V0RW52aXJvbm1lbnQ+Ci0gICAgPC9NaWRsPgotICAgIDxMaW5rPgotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+d3MyXzMyLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgICAgPElnbm9yZVNwZWNpZmljRGVmYXVsdExpYnJhcmllcz5saWJjOyUoSWdub3JlU3BlY2lmaWNEZWZhdWx0TGlicmFyaWVzKTwvSWdub3JlU3BlY2lmaWNEZWZhdWx0TGlicmFyaWVzPgotICAgICAgPEJhc2VBZGRyZXNzPjB4MUQxMTAwMDA8L0Jhc2VBZGRyZXNzPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj4KLSAgICA8TGluaz4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPndzMl8zMi5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KLSAgICAgIDxJZ25vcmVTcGVjaWZpY0RlZmF1bHRMaWJyYXJpZXM+bGliYzslKElnbm9yZVNwZWNpZmljRGVmYXVsdExpYnJhcmllcyk8L0lnbm9yZVNwZWNpZmljRGVmYXVsdExpYnJhcmllcz4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFEMTEwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPgotICAgIDxNaWRsPgotICAgICAgPFRhcmdldEVudmlyb25tZW50Plg2NDwvVGFyZ2V0RW52aXJvbm1lbnQ+Ci0gICAgPC9NaWRsPgotICAgIDxMaW5rPgotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+d3MyXzMyLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgICAgPElnbm9yZVNwZWNpZmljRGVmYXVsdExpYnJhcmllcz5saWJjOyUoSWdub3JlU3BlY2lmaWNEZWZhdWx0TGlicmFyaWVzKTwvSWdub3JlU3BlY2lmaWNEZWZhdWx0TGlicmFyaWVzPgotICAgICAgPEJhc2VBZGRyZXNzPjB4MUQxMTAwMDA8L0Jhc2VBZGRyZXNzPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciPgotICAgIDxMaW5rPgotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+d3MyXzMyLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgICAgPElnbm9yZVNwZWNpZmljRGVmYXVsdExpYnJhcmllcz5saWJjOyUoSWdub3JlU3BlY2lmaWNEZWZhdWx0TGlicmFyaWVzKTwvSWdub3JlU3BlY2lmaWNEZWZhdWx0TGlicmFyaWVzPgotICAgICAgPEJhc2VBZGRyZXNzPjB4MUQxMTAwMDA8L0Jhc2VBZGRyZXNzPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIj4KLSAgICA8TWlkbD4KLSAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgotICAgIDwvTWlkbD4KLSAgICA8TGluaz4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPndzMl8zMi5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KLSAgICAgIDxJZ25vcmVTcGVjaWZpY0RlZmF1bHRMaWJyYXJpZXM+bGliYzslKElnbm9yZVNwZWNpZmljRGVmYXVsdExpYnJhcmllcyk8L0lnbm9yZVNwZWNpZmljRGVmYXVsdExpYnJhcmllcz4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFEMTEwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICAgIDxUYXJnZXRNYWNoaW5lPk1hY2hpbmVYNjQ8L1RhcmdldE1hY2hpbmU+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIj4KLSAgICA8TGluaz4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPndzMl8zMi5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KLSAgICAgIDxJZ25vcmVTcGVjaWZpY0RlZmF1bHRMaWJyYXJpZXM+bGliYzslKElnbm9yZVNwZWNpZmljRGVmYXVsdExpYnJhcmllcyk8L0lnbm9yZVNwZWNpZmljRGVmYXVsdExpYnJhcmllcz4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFEMTEwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIj4KLSAgICA8TWlkbD4KLSAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgotICAgIDwvTWlkbD4KLSAgICA8TGluaz4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPndzMl8zMi5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KLSAgICAgIDxJZ25vcmVTcGVjaWZpY0RlZmF1bHRMaWJyYXJpZXM+bGliYzslKElnbm9yZVNwZWNpZmljRGVmYXVsdExpYnJhcmllcyk8L0lnbm9yZVNwZWNpZmljRGVmYXVsdExpYnJhcmllcz4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFEMTEwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICAgIDxUYXJnZXRNYWNoaW5lPk1hY2hpbmVYNjQ8L1RhcmdldE1hY2hpbmU+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+CiAgIDxJdGVtR3JvdXA+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxNb2R1bGVzXHNlbGVjdG1vZHVsZS5jIiAvPgogICA8L0l0ZW1Hcm91cD4KZGlmZiAtLWdpdCBhL1BDYnVpbGQvc3FsaXRlMy5wcm9wcyBiL1BDYnVpbGQvc3FsaXRlMy5wcm9wcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDNlZTAyYy4uMDAwMDAwMAotLS0gYS9QQ2J1aWxkL3NxbGl0ZTMucHJvcHMKKysrIC9kZXYvbnVsbApAQCAtMSwxNiArMCwwIEBACi3vu788P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgotPFByb2plY3QgRGVmYXVsdFRhcmdldHM9IkJ1aWxkIiBUb29sc1ZlcnNpb249IjQuMCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+Ci0gIDxJbXBvcnRHcm91cCBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlwcm9qZWN0LnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8UHJvcGVydHlHcm91cD4KLSAgICA8X1Byb2plY3RGaWxlVmVyc2lvbj4xMC4wLjMwMzE5LjE8L19Qcm9qZWN0RmlsZVZlcnNpb24+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPiQoc3FsaXRlM0Rpcik7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5TUUxJVEVfQVBJPV9fZGVjbHNwZWMoZGxsZXhwb3J0KTslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgICA8V2FybmluZ0xldmVsPkxldmVsMTwvV2FybmluZ0xldmVsPgotICAgIDwvQ2xDb21waWxlPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci08L1Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvUENidWlsZC9zcWxpdGUzLnZjeHByb2ogYi9QQ2J1aWxkL3NxbGl0ZTMudmN4cHJvagppbmRleCBkYWYwMTBkLi5iNjI0NmZhIDEwMDY0NAotLS0gYS9QQ2J1aWxkL3NxbGl0ZTMudmN4cHJvagorKysgYi9QQ2J1aWxkL3NxbGl0ZTMudmN4cHJvagpAQCAtMzcsMTg4ICszNywzMSBAQAogICA8UHJvcGVydHlHcm91cCBMYWJlbD0iR2xvYmFscyI+CiAgICAgPFByb2plY3RHdWlkPntBMUEyOTVFNS00NjNDLTQzN0YtODFDQS0xRjMyMzY3Njg1REF9PC9Qcm9qZWN0R3VpZD4KICAgICA8Um9vdE5hbWVzcGFjZT5zcWxpdGUzPC9Sb290TmFtZXNwYWNlPgotICAgIDxLZXl3b3JkPldpbjMyUHJvajwvS2V5d29yZD4KKyAgICA8VGFyZ2V0RXh0Pi5weWQ8L1RhcmdldEV4dD4KKyAgICA8U3VwcG9ydFBHTz5mYWxzZTwvU3VwcG9ydFBHTz4KICAgPC9Qcm9wZXJ0eUdyb3VwPgorICA8SW1wb3J0IFByb2plY3Q9InB5dGhvbi5wcm9wcyIgLz4KICAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAuRGVmYXVsdC5wcm9wcyIgLz4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+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+CiAgIDxJbXBvcnRHcm91cCBMYWJlbD0iRXh0ZW5zaW9uU2V0dGluZ3MiPgogICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+CisgIDxJbXBvcnRHcm91cCBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgogICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InNxbGl0ZTMucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJwZ3VwZGF0ZS5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJzcWxpdGUzLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icGdpbnN0cnVtZW50LnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJzcWxpdGUzLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0ic3FsaXRlMy5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9ImRlYnVnLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InNxbGl0ZTMucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJ4NjQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJwZ3VwZGF0ZS5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0ic3FsaXRlMy5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9Ing2NC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InBnaW5zdHJ1bWVudC5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InNxbGl0ZTMucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJ4NjQucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0ic3FsaXRlMy5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9ImRlYnVnLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0ieDY0LnByb3BzIiAvPgorICAgIDxJbXBvcnQgUHJvamVjdD0icHlwcm9qZWN0LnByb3BzIiAvPgogICA8L0ltcG9ydEdyb3VwPgogICA8UHJvcGVydHlHcm91cCBMYWJlbD0iVXNlck1hY3JvcyIgLz4KICAgPFByb3BlcnR5R3JvdXA+CiAgICAgPF9Qcm9qZWN0RmlsZVZlcnNpb24+MTAuMC4zMDMxOS4xPC9fUHJvamVjdEZpbGVWZXJzaW9uPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgLz4KICAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPiUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPExpbms+Ci0gICAgICA8T3V0cHV0RmlsZT4kKE91dERpcikkKFByb2plY3ROYW1lKV9kLmRsbDwvT3V0cHV0RmlsZT4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj4KLSAgICA8TWlkbD4KLSAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgotICAgIDwvTWlkbD4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8TGluaz4KLSAgICAgIDxPdXRwdXRGaWxlPiQoT3V0RGlyKSQoUHJvamVjdE5hbWUpX2QuZGxsPC9PdXRwdXRGaWxlPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8TGluaz4KLSAgICAgIDxPdXRwdXRGaWxlPiQoT3V0RGlyKSQoUHJvamVjdE5hbWUpLmRsbDwvT3V0cHV0RmlsZT4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPgotICAgIDxNaWRsPgotICAgICAgPFRhcmdldEVudmlyb25tZW50Plg2NDwvVGFyZ2V0RW52aXJvbm1lbnQ+Ci0gICAgPC9NaWRsPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4lKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxMaW5rPgotICAgICAgPE91dHB1dEZpbGU+JChPdXREaXIpJChQcm9qZWN0TmFtZSkuZGxsPC9PdXRwdXRGaWxlPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciPgorICA8SXRlbURlZmluaXRpb25Hcm91cD4KICAgICA8Q2xDb21waWxlPgogICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+JChzcWxpdGUzRGlyKTslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxMaW5rPgotICAgICAgPE91dHB1dEZpbGU+JChPdXREaXIpJChQcm9qZWN0TmFtZSkuZGxsPC9PdXRwdXRGaWxlPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIj4KLSAgICA8TWlkbD4KLSAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgotICAgIDwvTWlkbD4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyI+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPiUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPExpbms+Ci0gICAgICA8T3V0cHV0RmlsZT4kKE91dERpcikkKFByb2plY3ROYW1lKS5kbGw8L091dHB1dEZpbGU+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyI+Ci0gICAgPE1pZGw+Ci0gICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+WDY0PC9UYXJnZXRFbnZpcm9ubWVudD4KLSAgICA8L01pZGw+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPiUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+CisgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+U1FMSVRFX0FQST1fX2RlY2xzcGVjKGRsbGV4cG9ydCk7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgorICAgICAgPFdhcm5pbmdMZXZlbD5MZXZlbDE8L1dhcm5pbmdMZXZlbD4KICAgICA8L0NsQ29tcGlsZT4KICAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgogICA8SXRlbUdyb3VwPgpAQCAtMjI4LDEyICs3MSw2IEBACiAgIDxJdGVtR3JvdXA+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKHNxbGl0ZTNEaXIpXHNxbGl0ZTMuYyIgLz4KICAgPC9JdGVtR3JvdXA+Ci0gIDxJdGVtR3JvdXA+Ci0gICAgPFByb2plY3RSZWZlcmVuY2UgSW5jbHVkZT0ia2lsbF9weXRob24udmN4cHJvaiI+Ci0gICAgICA8UHJvamVjdD57NmRlMTA3NDQtZTM5Ni00MGE1LWI0ZTItMWI2OWFhN2M4ZDMxfTwvUHJvamVjdD4KLSAgICAgIDxSZWZlcmVuY2VPdXRwdXRBc3NlbWJseT5mYWxzZTwvUmVmZXJlbmNlT3V0cHV0QXNzZW1ibHk+Ci0gICAgPC9Qcm9qZWN0UmVmZXJlbmNlPgotICA8L0l0ZW1Hcm91cD4KICAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAudGFyZ2V0cyIgLz4KICAgPEltcG9ydEdyb3VwIExhYmVsPSJFeHRlbnNpb25UYXJnZXRzIj4KICAgPC9JbXBvcnRHcm91cD4KZGlmZiAtLWdpdCBhL1BDYnVpbGQvc3NsLnZjeHByb2ogYi9QQ2J1aWxkL3NzbC52Y3hwcm9qCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkNWVhYzlhLi4wMDAwMDAwCi0tLSBhL1BDYnVpbGQvc3NsLnZjeHByb2oKKysrIC9kZXYvbnVsbApAQCAtMSwyMjEgKzAsMCBAQAot77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KLTxQcm9qZWN0IERlZmF1bHRUYXJnZXRzPSJCdWlsZCIgVG9vbHNWZXJzaW9uPSI0LjAiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgotICA8SXRlbUdyb3VwIExhYmVsPSJQcm9qZWN0Q29uZmlndXJhdGlvbnMiPgotICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJEZWJ1Z3xXaW4zMiI+Ci0gICAgICA8Q29uZmlndXJhdGlvbj5EZWJ1ZzwvQ29uZmlndXJhdGlvbj4KLSAgICAgIDxQbGF0Zm9ybT5XaW4zMjwvUGxhdGZvcm0+Ci0gICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KLSAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iRGVidWd8eDY0Ij4KLSAgICAgIDxDb25maWd1cmF0aW9uPkRlYnVnPC9Db25maWd1cmF0aW9uPgotICAgICAgPFBsYXRmb3JtPng2NDwvUGxhdGZvcm0+Ci0gICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KLSAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iUEdJbnN0cnVtZW50fFdpbjMyIj4KLSAgICAgIDxDb25maWd1cmF0aW9uPlBHSW5zdHJ1bWVudDwvQ29uZmlndXJhdGlvbj4KLSAgICAgIDxQbGF0Zm9ybT5XaW4zMjwvUGxhdGZvcm0+Ci0gICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KLSAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iUEdJbnN0cnVtZW50fHg2NCI+Ci0gICAgICA8Q29uZmlndXJhdGlvbj5QR0luc3RydW1lbnQ8L0NvbmZpZ3VyYXRpb24+Ci0gICAgICA8UGxhdGZvcm0+eDY0PC9QbGF0Zm9ybT4KLSAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgotICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJQR1VwZGF0ZXxXaW4zMiI+Ci0gICAgICA8Q29uZmlndXJhdGlvbj5QR1VwZGF0ZTwvQ29uZmlndXJhdGlvbj4KLSAgICAgIDxQbGF0Zm9ybT5XaW4zMjwvUGxhdGZvcm0+Ci0gICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KLSAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iUEdVcGRhdGV8eDY0Ij4KLSAgICAgIDxDb25maWd1cmF0aW9uPlBHVXBkYXRlPC9Db25maWd1cmF0aW9uPgotICAgICAgPFBsYXRmb3JtPng2NDwvUGxhdGZvcm0+Ci0gICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KLSAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iUmVsZWFzZXxXaW4zMiI+Ci0gICAgICA8Q29uZmlndXJhdGlvbj5SZWxlYXNlPC9Db25maWd1cmF0aW9uPgotICAgICAgPFBsYXRmb3JtPldpbjMyPC9QbGF0Zm9ybT4KLSAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgotICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJSZWxlYXNlfHg2NCI+Ci0gICAgICA8Q29uZmlndXJhdGlvbj5SZWxlYXNlPC9Db25maWd1cmF0aW9uPgotICAgICAgPFBsYXRmb3JtPng2NDwvUGxhdGZvcm0+Ci0gICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KLSAgPC9JdGVtR3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJHbG9iYWxzIj4KLSAgICA8UHJvamVjdEd1aWQ+e0U1QjA0Q0MwLUVCNEMtNDJBQi1CNERDLTE4RUY5NUY4NjRCMH08L1Byb2plY3RHdWlkPgotICAgIDxSb290TmFtZXNwYWNlPnNzbDwvUm9vdE5hbWVzcGFjZT4KLSAgICA8S2V5d29yZD5NYWtlRmlsZVByb2o8L0tleXdvcmQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAuRGVmYXVsdC5wcm9wcyIgLz4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+TWFrZWZpbGU8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPk1ha2VmaWxlPC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+TWFrZWZpbGU8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+TWFrZWZpbGU8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPk1ha2VmaWxlPC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+TWFrZWZpbGU8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+TWFrZWZpbGU8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPk1ha2VmaWxlPC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnByb3BzIiAvPgotICA8SW1wb3J0R3JvdXAgTGFiZWw9IkV4dGVuc2lvblNldHRpbmdzIj4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InBndXBkYXRlLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InBnaW5zdHJ1bWVudC5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkX2QucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0ieDY0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icGd1cGRhdGUucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9Ing2NC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InBnaW5zdHJ1bWVudC5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9Ing2NC5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWRfZC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9Ing2NC5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IlVzZXJNYWNyb3MiIC8+Ci0gIDxQcm9wZXJ0eUdyb3VwPgotICAgIDxfUHJvamVjdEZpbGVWZXJzaW9uPjEwLjAuMzAzMTkuMTwvX1Byb2plY3RGaWxlVmVyc2lvbj4KLSAgICA8Tk1ha2VCdWlsZENvbW1hbmRMaW5lIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj5jZCAiJChTb2x1dGlvbkRpcikiCi0iJChQeXRob25FeGUpIiBidWlsZF9zc2wucHkgUmVsZWFzZSAkKFBsYXRmb3JtKSAtYQotPC9OTWFrZUJ1aWxkQ29tbWFuZExpbmU+Ci0gICAgPE5NYWtlUmVCdWlsZENvbW1hbmRMaW5lIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiAvPgotICAgIDxOTWFrZUNsZWFuQ29tbWFuZExpbmUgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPmVjaG8gT3BlblNTTCBtdXN0IGJlIGNsZWFuZWQgbWFudWFsbHkgaWYgeW91IHdhbnQgdG8gcmVidWlsZCBpdC48L05NYWtlQ2xlYW5Db21tYW5kTGluZT4KLSAgICA8Tk1ha2VPdXRwdXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIC8+Ci0gICAgPE5NYWtlUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPiQoTk1ha2VQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L05NYWtlUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgPE5NYWtlSW5jbHVkZVNlYXJjaFBhdGggQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPiQoTk1ha2VJbmNsdWRlU2VhcmNoUGF0aCk8L05NYWtlSW5jbHVkZVNlYXJjaFBhdGg+Ci0gICAgPE5NYWtlRm9yY2VkSW5jbHVkZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPiQoTk1ha2VGb3JjZWRJbmNsdWRlcyk8L05NYWtlRm9yY2VkSW5jbHVkZXM+Ci0gICAgPE5NYWtlQXNzZW1ibHlTZWFyY2hQYXRoIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj4kKE5NYWtlQXNzZW1ibHlTZWFyY2hQYXRoKTwvTk1ha2VBc3NlbWJseVNlYXJjaFBhdGg+Ci0gICAgPE5NYWtlRm9yY2VkVXNpbmdBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj4kKE5NYWtlRm9yY2VkVXNpbmdBc3NlbWJsaWVzKTwvTk1ha2VGb3JjZWRVc2luZ0Fzc2VtYmxpZXM+Ci0gICAgPE5NYWtlQnVpbGRDb21tYW5kTGluZSBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPmNkICIkKFNvbHV0aW9uRGlyKSIKLSIkKFB5dGhvbkV4ZSkiIGJ1aWxkX3NzbC5weSBSZWxlYXNlICQoUGxhdGZvcm0pIC1hCi08L05NYWtlQnVpbGRDb21tYW5kTGluZT4KLSAgICA8Tk1ha2VSZUJ1aWxkQ29tbWFuZExpbmUgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiAvPgotICAgIDxOTWFrZUNsZWFuQ29tbWFuZExpbmUgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj5lY2hvIE9wZW5TU0wgbXVzdCBiZSBjbGVhbmVkIG1hbnVhbGx5IGlmIHlvdSB3YW50IHRvIHJlYnVpbGQgaXQuPC9OTWFrZUNsZWFuQ29tbWFuZExpbmU+Ci0gICAgPE5NYWtlT3V0cHV0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgLz4KLSAgICA8Tk1ha2VQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPiQoTk1ha2VQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L05NYWtlUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgPE5NYWtlSW5jbHVkZVNlYXJjaFBhdGggQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj4kKE5NYWtlSW5jbHVkZVNlYXJjaFBhdGgpPC9OTWFrZUluY2x1ZGVTZWFyY2hQYXRoPgotICAgIDxOTWFrZUZvcmNlZEluY2x1ZGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+JChOTWFrZUZvcmNlZEluY2x1ZGVzKTwvTk1ha2VGb3JjZWRJbmNsdWRlcz4KLSAgICA8Tk1ha2VBc3NlbWJseVNlYXJjaFBhdGggQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj4kKE5NYWtlQXNzZW1ibHlTZWFyY2hQYXRoKTwvTk1ha2VBc3NlbWJseVNlYXJjaFBhdGg+Ci0gICAgPE5NYWtlRm9yY2VkVXNpbmdBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+JChOTWFrZUZvcmNlZFVzaW5nQXNzZW1ibGllcyk8L05NYWtlRm9yY2VkVXNpbmdBc3NlbWJsaWVzPgotICAgIDxOTWFrZUJ1aWxkQ29tbWFuZExpbmUgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+Y2QgIiQoU29sdXRpb25EaXIpIgotIiQoUHl0aG9uRXhlKSIgYnVpbGRfc3NsLnB5IFJlbGVhc2UgJChQbGF0Zm9ybSkgLWEKLTwvTk1ha2VCdWlsZENvbW1hbmRMaW5lPgotICAgIDxOTWFrZVJlQnVpbGRDb21tYW5kTGluZSBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiAvPgotICAgIDxOTWFrZUNsZWFuQ29tbWFuZExpbmUgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+ZWNobyBPcGVuU1NMIG11c3QgYmUgY2xlYW5lZCBtYW51YWxseSBpZiB5b3Ugd2FudCB0byByZWJ1aWxkIGl0LjwvTk1ha2VDbGVhbkNvbW1hbmRMaW5lPgotICAgIDxOTWFrZU91dHB1dCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiAvPgotICAgIDxOTWFrZVByZXByb2Nlc3NvckRlZmluaXRpb25zIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPiQoTk1ha2VQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L05NYWtlUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgPE5NYWtlSW5jbHVkZVNlYXJjaFBhdGggQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+JChOTWFrZUluY2x1ZGVTZWFyY2hQYXRoKTwvTk1ha2VJbmNsdWRlU2VhcmNoUGF0aD4KLSAgICA8Tk1ha2VGb3JjZWRJbmNsdWRlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj4kKE5NYWtlRm9yY2VkSW5jbHVkZXMpPC9OTWFrZUZvcmNlZEluY2x1ZGVzPgotICAgIDxOTWFrZUFzc2VtYmx5U2VhcmNoUGF0aCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj4kKE5NYWtlQXNzZW1ibHlTZWFyY2hQYXRoKTwvTk1ha2VBc3NlbWJseVNlYXJjaFBhdGg+Ci0gICAgPE5NYWtlRm9yY2VkVXNpbmdBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPiQoTk1ha2VGb3JjZWRVc2luZ0Fzc2VtYmxpZXMpPC9OTWFrZUZvcmNlZFVzaW5nQXNzZW1ibGllcz4KLSAgICA8Tk1ha2VCdWlsZENvbW1hbmRMaW5lIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj5jZCAiJChTb2x1dGlvbkRpcikiCi0iJChQeXRob25FeGUpIiBidWlsZF9zc2wucHkgUmVsZWFzZSAkKFBsYXRmb3JtKSAtYQotPC9OTWFrZUJ1aWxkQ29tbWFuZExpbmU+Ci0gICAgPE5NYWtlUmVCdWlsZENvbW1hbmRMaW5lIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiAvPgotICAgIDxOTWFrZUNsZWFuQ29tbWFuZExpbmUgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPmVjaG8gT3BlblNTTCBtdXN0IGJlIGNsZWFuZWQgbWFudWFsbHkgaWYgeW91IHdhbnQgdG8gcmVidWlsZCBpdC48L05NYWtlQ2xlYW5Db21tYW5kTGluZT4KLSAgICA8Tk1ha2VPdXRwdXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIC8+Ci0gICAgPE5NYWtlUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPiQoTk1ha2VQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L05NYWtlUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgPE5NYWtlSW5jbHVkZVNlYXJjaFBhdGggQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPiQoTk1ha2VJbmNsdWRlU2VhcmNoUGF0aCk8L05NYWtlSW5jbHVkZVNlYXJjaFBhdGg+Ci0gICAgPE5NYWtlRm9yY2VkSW5jbHVkZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPiQoTk1ha2VGb3JjZWRJbmNsdWRlcyk8L05NYWtlRm9yY2VkSW5jbHVkZXM+Ci0gICAgPE5NYWtlQXNzZW1ibHlTZWFyY2hQYXRoIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj4kKE5NYWtlQXNzZW1ibHlTZWFyY2hQYXRoKTwvTk1ha2VBc3NlbWJseVNlYXJjaFBhdGg+Ci0gICAgPE5NYWtlRm9yY2VkVXNpbmdBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj4kKE5NYWtlRm9yY2VkVXNpbmdBc3NlbWJsaWVzKTwvTk1ha2VGb3JjZWRVc2luZ0Fzc2VtYmxpZXM+Ci0gICAgPE5NYWtlQnVpbGRDb21tYW5kTGluZSBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciPmNkICIkKFNvbHV0aW9uRGlyKSIKLSIkKFB5dGhvbkV4ZSkiIGJ1aWxkX3NzbC5weSBSZWxlYXNlICQoUGxhdGZvcm0pIC1hCi08L05NYWtlQnVpbGRDb21tYW5kTGluZT4KLSAgICA8Tk1ha2VSZUJ1aWxkQ29tbWFuZExpbmUgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIiAvPgotICAgIDxOTWFrZUNsZWFuQ29tbWFuZExpbmUgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIj5lY2hvIE9wZW5TU0wgbXVzdCBiZSBjbGVhbmVkIG1hbnVhbGx5IGlmIHlvdSB3YW50IHRvIHJlYnVpbGQgaXQuPC9OTWFrZUNsZWFuQ29tbWFuZExpbmU+Ci0gICAgPE5NYWtlT3V0cHV0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyIgLz4KLSAgICA8Tk1ha2VQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciPiQoTk1ha2VQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L05NYWtlUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgPE5NYWtlSW5jbHVkZVNlYXJjaFBhdGggQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIj4kKE5NYWtlSW5jbHVkZVNlYXJjaFBhdGgpPC9OTWFrZUluY2x1ZGVTZWFyY2hQYXRoPgotICAgIDxOTWFrZUZvcmNlZEluY2x1ZGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyI+JChOTWFrZUZvcmNlZEluY2x1ZGVzKTwvTk1ha2VGb3JjZWRJbmNsdWRlcz4KLSAgICA8Tk1ha2VBc3NlbWJseVNlYXJjaFBhdGggQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIj4kKE5NYWtlQXNzZW1ibHlTZWFyY2hQYXRoKTwvTk1ha2VBc3NlbWJseVNlYXJjaFBhdGg+Ci0gICAgPE5NYWtlRm9yY2VkVXNpbmdBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyI+JChOTWFrZUZvcmNlZFVzaW5nQXNzZW1ibGllcyk8L05NYWtlRm9yY2VkVXNpbmdBc3NlbWJsaWVzPgotICAgIDxOTWFrZUJ1aWxkQ29tbWFuZExpbmUgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyI+Y2QgIiQoU29sdXRpb25EaXIpIgotIiQoUHl0aG9uRXhlKSIgYnVpbGRfc3NsLnB5IFJlbGVhc2UgJChQbGF0Zm9ybSkgLWEKLTwvTk1ha2VCdWlsZENvbW1hbmRMaW5lPgotICAgIDxOTWFrZVJlQnVpbGRDb21tYW5kTGluZSBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIiAvPgotICAgIDxOTWFrZUNsZWFuQ29tbWFuZExpbmUgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyI+ZWNobyBPcGVuU1NMIG11c3QgYmUgY2xlYW5lZCBtYW51YWxseSBpZiB5b3Ugd2FudCB0byByZWJ1aWxkIGl0LjwvTk1ha2VDbGVhbkNvbW1hbmRMaW5lPgotICAgIDxOTWFrZU91dHB1dCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIiAvPgotICAgIDxOTWFrZVByZXByb2Nlc3NvckRlZmluaXRpb25zIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciPiQoTk1ha2VQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L05NYWtlUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgPE5NYWtlSW5jbHVkZVNlYXJjaFBhdGggQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyI+JChOTWFrZUluY2x1ZGVTZWFyY2hQYXRoKTwvTk1ha2VJbmNsdWRlU2VhcmNoUGF0aD4KLSAgICA8Tk1ha2VGb3JjZWRJbmNsdWRlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIj4kKE5NYWtlRm9yY2VkSW5jbHVkZXMpPC9OTWFrZUZvcmNlZEluY2x1ZGVzPgotICAgIDxOTWFrZUFzc2VtYmx5U2VhcmNoUGF0aCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIj4kKE5NYWtlQXNzZW1ibHlTZWFyY2hQYXRoKTwvTk1ha2VBc3NlbWJseVNlYXJjaFBhdGg+Ci0gICAgPE5NYWtlRm9yY2VkVXNpbmdBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciPiQoTk1ha2VGb3JjZWRVc2luZ0Fzc2VtYmxpZXMpPC9OTWFrZUZvcmNlZFVzaW5nQXNzZW1ibGllcz4KLSAgICA8Tk1ha2VCdWlsZENvbW1hbmRMaW5lIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIj5jZCAiJChTb2x1dGlvbkRpcikiCi0iJChQeXRob25FeGUpIiBidWlsZF9zc2wucHkgUmVsZWFzZSAkKFBsYXRmb3JtKSAtYQotPC9OTWFrZUJ1aWxkQ29tbWFuZExpbmU+Ci0gICAgPE5NYWtlUmVCdWlsZENvbW1hbmRMaW5lIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIiAvPgotICAgIDxOTWFrZUNsZWFuQ29tbWFuZExpbmUgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciPmVjaG8gT3BlblNTTCBtdXN0IGJlIGNsZWFuZWQgbWFudWFsbHkgaWYgeW91IHdhbnQgdG8gcmVidWlsZCBpdC48L05NYWtlQ2xlYW5Db21tYW5kTGluZT4KLSAgICA8Tk1ha2VPdXRwdXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciIC8+Ci0gICAgPE5NYWtlUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciPiQoTk1ha2VQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L05NYWtlUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgPE5NYWtlSW5jbHVkZVNlYXJjaFBhdGggQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciPiQoTk1ha2VJbmNsdWRlU2VhcmNoUGF0aCk8L05NYWtlSW5jbHVkZVNlYXJjaFBhdGg+Ci0gICAgPE5NYWtlRm9yY2VkSW5jbHVkZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciPiQoTk1ha2VGb3JjZWRJbmNsdWRlcyk8L05NYWtlRm9yY2VkSW5jbHVkZXM+Ci0gICAgPE5NYWtlQXNzZW1ibHlTZWFyY2hQYXRoIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIj4kKE5NYWtlQXNzZW1ibHlTZWFyY2hQYXRoKTwvTk1ha2VBc3NlbWJseVNlYXJjaFBhdGg+Ci0gICAgPE5NYWtlRm9yY2VkVXNpbmdBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIj4kKE5NYWtlRm9yY2VkVXNpbmdBc3NlbWJsaWVzKTwvTk1ha2VGb3JjZWRVc2luZ0Fzc2VtYmxpZXM+Ci0gICAgPE5NYWtlQnVpbGRDb21tYW5kTGluZSBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciPmNkICIkKFNvbHV0aW9uRGlyKSIKLSIkKFB5dGhvbkV4ZSkiIGJ1aWxkX3NzbC5weSBSZWxlYXNlICQoUGxhdGZvcm0pIC1hCi08L05NYWtlQnVpbGRDb21tYW5kTGluZT4KLSAgICA8Tk1ha2VSZUJ1aWxkQ29tbWFuZExpbmUgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIiAvPgotICAgIDxOTWFrZUNsZWFuQ29tbWFuZExpbmUgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIj5lY2hvIE9wZW5TU0wgbXVzdCBiZSBjbGVhbmVkIG1hbnVhbGx5IGlmIHlvdSB3YW50IHRvIHJlYnVpbGQgaXQuPC9OTWFrZUNsZWFuQ29tbWFuZExpbmU+Ci0gICAgPE5NYWtlT3V0cHV0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyIgLz4KLSAgICA8Tk1ha2VQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciPiQoTk1ha2VQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L05NYWtlUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgPE5NYWtlSW5jbHVkZVNlYXJjaFBhdGggQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIj4kKE5NYWtlSW5jbHVkZVNlYXJjaFBhdGgpPC9OTWFrZUluY2x1ZGVTZWFyY2hQYXRoPgotICAgIDxOTWFrZUZvcmNlZEluY2x1ZGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyI+JChOTWFrZUZvcmNlZEluY2x1ZGVzKTwvTk1ha2VGb3JjZWRJbmNsdWRlcz4KLSAgICA8Tk1ha2VBc3NlbWJseVNlYXJjaFBhdGggQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIj4kKE5NYWtlQXNzZW1ibHlTZWFyY2hQYXRoKTwvTk1ha2VBc3NlbWJseVNlYXJjaFBhdGg+Ci0gICAgPE5NYWtlRm9yY2VkVXNpbmdBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyI+JChOTWFrZUZvcmNlZFVzaW5nQXNzZW1ibGllcyk8L05NYWtlRm9yY2VkVXNpbmdBc3NlbWJsaWVzPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtR3JvdXA+Ci0gICAgPFByb2plY3RSZWZlcmVuY2UgSW5jbHVkZT0icHl0aG9uLnZjeHByb2oiPgotICAgICAgPFByb2plY3Q+e2IxMWQ3NTBmLWNkMWYtNGE5Ni04NWNlLWU2OWE1YzUyNTlmOX08L1Byb2plY3Q+Ci0gICAgICA8UmVmZXJlbmNlT3V0cHV0QXNzZW1ibHk+ZmFsc2U8L1JlZmVyZW5jZU91dHB1dEFzc2VtYmx5PgotICAgIDwvUHJvamVjdFJlZmVyZW5jZT4KLSAgPC9JdGVtR3JvdXA+Ci0gIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnRhcmdldHMiIC8+Ci0gIDxJbXBvcnRHcm91cCBMYWJlbD0iRXh0ZW5zaW9uVGFyZ2V0cyI+Ci0gIDwvSW1wb3J0R3JvdXA+Ci08L1Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvUENidWlsZC9zc2xlYXkudmN4cHJvaiBiL1BDYnVpbGQvc3NsZWF5LnZjeHByb2oKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmE4YzVkMwotLS0gL2Rldi9udWxsCisrKyBiL1BDYnVpbGQvc3NsZWF5LnZjeHByb2oKQEAgLTAsMCArMSwxMTkgQEAKK++7vzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8UHJvamVjdCBEZWZhdWx0VGFyZ2V0cz0iQnVpbGQiIFRvb2xzVmVyc2lvbj0iNC4wIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KKyAgPEl0ZW1Hcm91cCBMYWJlbD0iUHJvamVjdENvbmZpZ3VyYXRpb25zIj4KKyAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iRGVidWd8V2luMzIiPgorICAgICAgPENvbmZpZ3VyYXRpb24+RGVidWc8L0NvbmZpZ3VyYXRpb24+CisgICAgICA8UGxhdGZvcm0+V2luMzI8L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IlJlbGVhc2V8V2luMzIiPgorICAgICAgPENvbmZpZ3VyYXRpb24+UmVsZWFzZTwvQ29uZmlndXJhdGlvbj4KKyAgICAgIDxQbGF0Zm9ybT5XaW4zMjwvUGxhdGZvcm0+CisgICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KKyAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iUEdJbnN0cnVtZW50fFdpbjMyIj4KKyAgICAgIDxDb25maWd1cmF0aW9uPlBHSW5zdHJ1bWVudDwvQ29uZmlndXJhdGlvbj4KKyAgICAgIDxQbGF0Zm9ybT5XaW4zMjwvUGxhdGZvcm0+CisgICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KKyAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iUEdJbnN0cnVtZW50fHg2NCI+CisgICAgICA8Q29uZmlndXJhdGlvbj5QR0luc3RydW1lbnQ8L0NvbmZpZ3VyYXRpb24+CisgICAgICA8UGxhdGZvcm0+eDY0PC9QbGF0Zm9ybT4KKyAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgorICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJQR1VwZGF0ZXxXaW4zMiI+CisgICAgICA8Q29uZmlndXJhdGlvbj5QR1VwZGF0ZTwvQ29uZmlndXJhdGlvbj4KKyAgICAgIDxQbGF0Zm9ybT5XaW4zMjwvUGxhdGZvcm0+CisgICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KKyAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iUEdVcGRhdGV8eDY0Ij4KKyAgICAgIDxDb25maWd1cmF0aW9uPlBHVXBkYXRlPC9Db25maWd1cmF0aW9uPgorICAgICAgPFBsYXRmb3JtPng2NDwvUGxhdGZvcm0+CisgICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KKyAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iRGVidWd8eDY0Ij4KKyAgICAgIDxDb25maWd1cmF0aW9uPkRlYnVnPC9Db25maWd1cmF0aW9uPgorICAgICAgPFBsYXRmb3JtPng2NDwvUGxhdGZvcm0+CisgICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KKyAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iUmVsZWFzZXx4NjQiPgorICAgICAgPENvbmZpZ3VyYXRpb24+UmVsZWFzZTwvQ29uZmlndXJhdGlvbj4KKyAgICAgIDxQbGF0Zm9ybT54NjQ8L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgIDwvSXRlbUdyb3VwPgorICA8UHJvcGVydHlHcm91cCBMYWJlbD0iR2xvYmFscyI+CisgICAgPFByb2plY3RHdWlkPnsxMDYxNUIyNC03M0JGLTRFRkEtOTNBQS0yMzY5MTYzMjEzMTd9PC9Qcm9qZWN0R3VpZD4KKyAgICA8Um9vdE5hbWVzcGFjZT5zc2xlYXk8L1Jvb3ROYW1lc3BhY2U+CisgIDwvUHJvcGVydHlHcm91cD4KKworICA8SW1wb3J0IFByb2plY3Q9InB5dGhvbi5wcm9wcyIgLz4KKyAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAuRGVmYXVsdC5wcm9wcyIgLz4KKworICA8UHJvcGVydHlHcm91cCBMYWJlbD0iQ29uZmlndXJhdGlvbiI+CisgICAgPENvbmZpZ3VyYXRpb25UeXBlPlN0YXRpY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgorICA8L1Byb3BlcnR5R3JvdXA+CisKKyAgPEltcG9ydCBQcm9qZWN0PSJvcGVuc3NsLnByb3BzIiAvPgorICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5wcm9wcyIgLz4KKworICA8SXRlbUdyb3VwPgorICAgIDwhLS0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcilzc2xcYmlvX3NzbC5jIiAvPgorICAgIC0tPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKXNzbFxkMV9ib3RoLmMiIC8+CisgICAgPCEtLQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKXNzbFxkMV9jbG50LmMiIC8+CisgICAgLS0+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpc3NsXGQxX2VuYy5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKXNzbFxkMV9saWIuYyIgLz4KKyAgICA8IS0tCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpc3NsXGQxX21ldGguYyIgLz4KKyAgICAtLT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcilzc2xcZDFfcGt0LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpc3NsXGQxX3NydHAuYyIgLz4KKyAgICA8IS0tCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpc3NsXGQxX3NydnIuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcilzc2xca3NzbC5jIiAvPgorICAgIC0tPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKXNzbFxzMl9jbG50LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpc3NsXHMyX2VuYy5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKXNzbFxzMl9saWIuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcilzc2xcczJfbWV0aC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKXNzbFxzMl9wa3QuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcilzc2xcczJfc3J2ci5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKXNzbFxzMjNfY2xudC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKXNzbFxzMjNfbGliLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpc3NsXHMyM19tZXRoLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpc3NsXHMyM19wa3QuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcilzc2xcczIzX3NydnIuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcilzc2xcczNfYm90aC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKXNzbFxzM19jYmMuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcilzc2xcczNfY2xudC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKXNzbFxzM19lbmMuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcilzc2xcczNfbGliLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpc3NsXHMzX21ldGguYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcilzc2xcczNfcGt0LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpc3NsXHMzX3NydnIuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcilzc2xcc3NsX2FsZ3MuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcilzc2xcc3NsX2FzbjEuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcilzc2xcc3NsX2NlcnQuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcilzc2xcc3NsX2NpcGguYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcilzc2xcc3NsX2Vyci5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKXNzbFxzc2xfZXJyMi5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKXNzbFxzc2xfbGliLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpc3NsXHNzbF9yc2EuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcilzc2xcc3NsX3Nlc3MuYyIgLz4KKyAgICA8IS0tCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpc3NsXHNzbF9zdGF0LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpc3NsXHNzbF90eHQuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcilzc2xcc3NsX3V0c3QuYyIgLz4KKyAgICAtLT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcilzc2xcdDFfY2xudC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKXNzbFx0MV9lbmMuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcilzc2xcdDFfbGliLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpc3NsXHQxX21ldGguYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcilzc2xcdDFfcmVuZWcuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcilzc2xcdDFfc3J2ci5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKXNzbFx0bHNfc3JwLmMiIC8+CisgIDwvSXRlbUdyb3VwPgorICAKKyAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAudGFyZ2V0cyIgLz4KKyAgPFRhcmdldCBOYW1lPSJDbGVhbiIgLz4KKyAgPFRhcmdldCBOYW1lPSJDbGVhbkFsbCI+CisgICAgPERlbGV0ZSBGaWxlcz0iJChUYXJnZXRQYXRoKSIgLz4KKyAgICA8UmVtb3ZlRGlyIERpcmVjdG9yaWVzPSIkKEludERpcikiIC8+CisgIDwvVGFyZ2V0PgorPC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1BDYnVpbGQvdGNsLnZjeHByb2ogYi9QQ2J1aWxkL3RjbC52Y3hwcm9qCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhmMjU0NGEKLS0tIC9kZXYvbnVsbAorKysgYi9QQ2J1aWxkL3RjbC52Y3hwcm9qCkBAIC0wLDAgKzEsOTAgQEAKK++7vzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8UHJvamVjdCBEZWZhdWx0VGFyZ2V0cz0iQnVpbGQiIFRvb2xzVmVyc2lvbj0iNC4wIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KKyAgPEl0ZW1Hcm91cCBMYWJlbD0iUHJvamVjdENvbmZpZ3VyYXRpb25zIj4KKyAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iRGVidWd8V2luMzIiPgorICAgICAgPENvbmZpZ3VyYXRpb24+RGVidWc8L0NvbmZpZ3VyYXRpb24+CisgICAgICA8UGxhdGZvcm0+V2luMzI8L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IlJlbGVhc2V8V2luMzIiPgorICAgICAgPENvbmZpZ3VyYXRpb24+UmVsZWFzZTwvQ29uZmlndXJhdGlvbj4KKyAgICAgIDxQbGF0Zm9ybT5XaW4zMjwvUGxhdGZvcm0+CisgICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KKyAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iUEdJbnN0cnVtZW50fFdpbjMyIj4KKyAgICAgIDxDb25maWd1cmF0aW9uPlBHSW5zdHJ1bWVudDwvQ29uZmlndXJhdGlvbj4KKyAgICAgIDxQbGF0Zm9ybT5XaW4zMjwvUGxhdGZvcm0+CisgICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KKyAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iUEdJbnN0cnVtZW50fHg2NCI+CisgICAgICA8Q29uZmlndXJhdGlvbj5QR0luc3RydW1lbnQ8L0NvbmZpZ3VyYXRpb24+CisgICAgICA8UGxhdGZvcm0+eDY0PC9QbGF0Zm9ybT4KKyAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgorICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJQR1VwZGF0ZXxXaW4zMiI+CisgICAgICA8Q29uZmlndXJhdGlvbj5QR1VwZGF0ZTwvQ29uZmlndXJhdGlvbj4KKyAgICAgIDxQbGF0Zm9ybT5XaW4zMjwvUGxhdGZvcm0+CisgICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KKyAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iUEdVcGRhdGV8eDY0Ij4KKyAgICAgIDxDb25maWd1cmF0aW9uPlBHVXBkYXRlPC9Db25maWd1cmF0aW9uPgorICAgICAgPFBsYXRmb3JtPng2NDwvUGxhdGZvcm0+CisgICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KKyAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iRGVidWd8eDY0Ij4KKyAgICAgIDxDb25maWd1cmF0aW9uPkRlYnVnPC9Db25maWd1cmF0aW9uPgorICAgICAgPFBsYXRmb3JtPng2NDwvUGxhdGZvcm0+CisgICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KKyAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iUmVsZWFzZXx4NjQiPgorICAgICAgPENvbmZpZ3VyYXRpb24+UmVsZWFzZTwvQ29uZmlndXJhdGlvbj4KKyAgICAgIDxQbGF0Zm9ybT54NjQ8L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgIDwvSXRlbUdyb3VwPgorICA8UHJvcGVydHlHcm91cCBMYWJlbD0iR2xvYmFscyI+CisgICAgPFByb2plY3RHdWlkPntCNUZENkYxRC0xMjlFLTRCRkYtOTM0MC0wMzYwNkZBQzcyODN9PC9Qcm9qZWN0R3VpZD4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgorCisgIDxJbXBvcnQgUHJvamVjdD0icHl0aG9uLnByb3BzIiAvPgorICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5EZWZhdWx0LnByb3BzIiAvPgorICA8SW1wb3J0IFByb2plY3Q9InRjbHRrLnByb3BzIiAvPgorICAKKyAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgorICAgIDxDb25maWd1cmF0aW9uVHlwZT5NYWtlZmlsZTwvQ29uZmlndXJhdGlvblR5cGU+CisgICAgPE91dERpcj4kKHRjbHRrRGlyKTwvT3V0RGlyPgorICAgIDxUYXJnZXRQYXRoPiQoT3V0RGlyKWJpblwkKHRjbERMTE5hbWUpPC9UYXJnZXRQYXRoPgorICA8L1Byb3BlcnR5R3JvdXA+CisgIAorICA8SXRlbUdyb3VwPgorICAgIDxFeHBlY3RlZE91dHB1dHMgSW5jbHVkZT0iCisgICAgICAgICQoT3V0RGlyKVxiaW5cJCh0Y2xETExOYW1lKTsKKyAgICAgICAgJChPdXREaXIpXGJpblwkKHRjbFNoRXhlTmFtZSk7CisgICAgICAgICQoT3V0RGlyKVxpbmNsdWRlXHRjbC5oOworICAgICAgICAkKE91dERpcilcbGliXHRjbCQoVGNsTWFqb3JWZXJzaW9uKTsKKyAgICAgICAgJChPdXREaXIpXGxpYlx0Y2wkKFRjbE1ham9yVmVyc2lvbikuJChUY2xNaW5vclZlcnNpb24pOworICAgICAgICAkKE91dERpcilcbGliXCQodGNsTGliTmFtZSkiIC8+CisgIDwvSXRlbUdyb3VwPgorICAKKyAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAucHJvcHMiIC8+CisgIAorICA8UHJvcGVydHlHcm91cD4KKyAgICA8VGNsT3B0cyBDb25kaXRpb249IiQoQ29uZmlndXJhdGlvbikgPT0gJ0RlYnVnJyI+c3ltYm9sczwvVGNsT3B0cz4KKyAgICA8VGNsRGlycz5JTlNUQUxMRElSPSIkKE91dERpci5UcmltRW5kKGBcYCkpIiBJTlNUQUxMX0RJUj0iJChPdXREaXIuVHJpbUVuZChgXGApKSI8L1RjbERpcnM+CisgICAgPERlYnVnRmxhZ3MgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKScgPT0gJ0RlYnVnJyI+REVCVUdGTEFHUz0iLXdkNDQ1NiAtd2Q0NDU3IC13ZDQ0NTggLXdkNDQ1OSAtd2Q0OTk2IjwvRGVidWdGbGFncz4KKyAgICA8Tk1ha2VCdWlsZENvbW1hbmRMaW5lPnNldGxvY2FsCitAKEV4cGVjdGVkT3V0cHV0cy0+J2lmIG5vdCBleGlzdCAiJShGdWxsUGF0aCkiIGdvdG8gYnVpbGQnLCcKKycpCitnb3RvIDplb2YKKzpidWlsZAorc2V0IFZDSU5TVEFMTERJUj0kKFZDSW5zdGFsbERpcikKK2NkIC9EICIkKHRjbERpcil3aW4iCitubWFrZSAtZiBtYWtlZmlsZS52YyBNQUNISU5FPSQoVGNsTWFjaGluZSkgT1BUUz0kKFRjbE9wdHMpICQoVGNsRGlycykgJChEZWJ1Z0ZsYWdzKSBjb3JlIHNoZWxsIGRsbHMKK25tYWtlIC1mIG1ha2VmaWxlLnZjIE1BQ0hJTkU9JChUY2xNYWNoaW5lKSBPUFRTPSQoVGNsT3B0cykgJChUY2xEaXJzKSAkKERlYnVnRmxhZ3MpIGluc3RhbGwtYmluYXJpZXMgaW5zdGFsbC1saWJyYXJpZXMKKzwvTk1ha2VCdWlsZENvbW1hbmRMaW5lPgorICA8L1Byb3BlcnR5R3JvdXA+CisKKyAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAudGFyZ2V0cyIgLz4KKyAgCisgIDxUYXJnZXQgTmFtZT0iQ29weURsbCIgSW5wdXRzPSIkKE91dERpcilcYmluXCQodGNsRExMTmFtZSkiIE91dHB1dHM9IiQoQnVpbGRQYXRoKSQodGNsRExMTmFtZSkiIEFmdGVyVGFyZ2V0cz0iQnVpbGQiPgorICAgIDxDb3B5IFNvdXJjZUZpbGVzPSIkKE91dERpcilcYmluXCQodGNsRExMTmFtZSkiIERlc3RpbmF0aW9uRmlsZXM9IiQoQnVpbGRQYXRoKSQodGNsRExMTmFtZSkiIC8+CisgIDwvVGFyZ2V0PgorICAKKyAgPFRhcmdldCBOYW1lPSJDbGVhbiIgLz4KKyAgPFRhcmdldCBOYW1lPSJDbGVhbkFsbCI+CisgICAgPERlbGV0ZSBGaWxlcz0iJChUYXJnZXRQYXRoKTskKEJ1aWxkUGF0aCkkKHRjbERMTE5hbWUpIiAvPgorICAgIDxSZW1vdmVEaXIgRGlyZWN0b3JpZXM9IiQoSW50RGlyKSIgLz4KKyAgPC9UYXJnZXQ+Cis8L1Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvUENidWlsZC90Y2x0ay5wcm9wcyBiL1BDYnVpbGQvdGNsdGsucHJvcHMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjVhODY0MwotLS0gL2Rldi9udWxsCisrKyBiL1BDYnVpbGQvdGNsdGsucHJvcHMKQEAgLTAsMCArMSw0NSBAQAor77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKzxQcm9qZWN0IFRvb2xzVmVyc2lvbj0iNC4wIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KKyAgPEltcG9ydCBQcm9qZWN0PSJweXByb2plY3QucHJvcHMiIC8+CisgIDxQcm9wZXJ0eUdyb3VwPgorICAgIDxUY2xNYWpvclZlcnNpb24+ODwvVGNsTWFqb3JWZXJzaW9uPgorICAgIDxUY2xNaW5vclZlcnNpb24+NjwvVGNsTWlub3JWZXJzaW9uPgorICAgIDxUY2xQYXRjaExldmVsPjM8L1RjbFBhdGNoTGV2ZWw+CisgICAgPFRjbFJldmlzaW9uPjE8L1RjbFJldmlzaW9uPgorICAgIDxUa01ham9yVmVyc2lvbj4kKFRjbE1ham9yVmVyc2lvbik8L1RrTWFqb3JWZXJzaW9uPgorICAgIDxUa01pbm9yVmVyc2lvbj4kKFRjbE1pbm9yVmVyc2lvbik8L1RrTWlub3JWZXJzaW9uPgorICAgIDxUa1BhdGNoTGV2ZWw+JChUY2xQYXRjaExldmVsKTwvVGtQYXRjaExldmVsPgorICAgIDxUa1JldmlzaW9uPiQoVGNsUmV2aXNpb24pPC9Ua1JldmlzaW9uPgorICAgIDxUaXhNYWpvclZlcnNpb24+ODwvVGl4TWFqb3JWZXJzaW9uPgorICAgIDxUaXhNaW5vclZlcnNpb24+NDwvVGl4TWlub3JWZXJzaW9uPgorICAgIDxUaXhQYXRjaExldmVsPjM8L1RpeFBhdGNoTGV2ZWw+CisgICAgPFRpeFJldmlzaW9uPjQ8L1RpeFJldmlzaW9uPgorICAgIDx0Y2xEaXI+JChFeHRlcm5hbHNEaXIpdGNsLWNvcmUtJChUY2xNYWpvclZlcnNpb24pLiQoVGNsTWlub3JWZXJzaW9uKS4kKFRjbFBhdGNoTGV2ZWwpLiQoVGNsUmV2aXNpb24pXDwvdGNsRGlyPgorICAgIDx0a0Rpcj4kKEV4dGVybmFsc0Rpcil0ay0kKFRrTWFqb3JWZXJzaW9uKS4kKFRrTWlub3JWZXJzaW9uKS4kKFRrUGF0Y2hMZXZlbCkuJChUa1JldmlzaW9uKVw8L3RrRGlyPgorICAgIDx0aXhEaXI+JChFeHRlcm5hbHNEaXIpdGl4LSQoVGl4TWFqb3JWZXJzaW9uKS4kKFRpeE1pbm9yVmVyc2lvbikuJChUaXhQYXRjaExldmVsKS4kKFRpeFJldmlzaW9uKVw8L3RpeERpcj4KKyAgICA8dGNsdGtEaXI+JChFeHRlcm5hbHNEaXIpdGNsdGtcPC90Y2x0a0Rpcj4KKyAgICA8dGNsdGtEaXIgQ29uZGl0aW9uPSInJChQbGF0Zm9ybSknID09ICd4NjQnIj4kKEV4dGVybmFsc0Rpcil0Y2x0azY0XDwvdGNsdGtEaXI+CisgICAgPFRjbERlYnVnRXh0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbiknID09ICdEZWJ1ZyciPmc8L1RjbERlYnVnRXh0PgorICAgIDx0Y2xETExOYW1lPnRjbCQoVGNsTWFqb3JWZXJzaW9uKSQoVGNsTWlub3JWZXJzaW9uKXQkKFRjbERlYnVnRXh0KS5kbGw8L3RjbERMTE5hbWU+CisgICAgPHRjbExpYk5hbWU+dGNsJChUY2xNYWpvclZlcnNpb24pJChUY2xNaW5vclZlcnNpb24pdCQoVGNsRGVidWdFeHQpLmxpYjwvdGNsTGliTmFtZT4KKyAgICA8dGNsU2hFeGVOYW1lPnRjbHNoJChUY2xNYWpvclZlcnNpb24pJChUY2xNaW5vclZlcnNpb24pdCQoVGNsRGVidWdFeHQpLmV4ZTwvdGNsU2hFeGVOYW1lPgorICAgIDx0a0RMTE5hbWU+dGskKFRrTWFqb3JWZXJzaW9uKSQoVGtNaW5vclZlcnNpb24pdCQoVGNsRGVidWdFeHQpLmRsbDwvdGtETExOYW1lPgorICAgIDx0a0xpYk5hbWU+dGskKFRrTWFqb3JWZXJzaW9uKSQoVGtNaW5vclZlcnNpb24pdCQoVGNsRGVidWdFeHQpLmxpYjwvdGtMaWJOYW1lPgorICAgIDx0aXhETExOYW1lPnRpeCQoVGl4TWFqb3JWZXJzaW9uKSQoVGl4TWlub3JWZXJzaW9uKSQoVGNsRGVidWdFeHQpLmRsbDwvdGl4RExMTmFtZT4KKyAgICA8dGl4RExMUGF0aD4kKHRjbHRrRGlyKWxpYlx0aXgkKFRpeE1ham9yVmVyc2lvbikuJChUaXhNaW5vclZlcnNpb24pLiQoVGl4UGF0Y2hMZXZlbClcJCh0aXhETExOYW1lKTwvdGl4RExMUGF0aD4KKyAgICA8dGNsdGtMaWI+JCh0Y2x0a0RpcilsaWJcdGNsJChUY2xNYWpvclZlcnNpb24pJChUY2xNaW5vclZlcnNpb24pdCQoVGNsRGVidWdFeHQpLmxpYjskKHRjbHRrRGlyKWxpYlx0ayQoVGtNYWpvclZlcnNpb24pJChUa01pbm9yVmVyc2lvbil0JChUY2xEZWJ1Z0V4dCkubGliPC90Y2x0a0xpYj4KKyAgICA8VGNsTWFjaGluZT5JWDg2PC9UY2xNYWNoaW5lPgorICAgIDxUY2xNYWNoaW5lIENvbmRpdGlvbj0iJyQoUGxhdGZvcm0pJyA9PSAneDY0JyI+QU1ENjQ8L1RjbE1hY2hpbmU+CisgICAgPFRjbFZlcnNpb25zPlRDTF9NQUpPUl9WRVJTSU9OPSQoVGNsTWFqb3JWZXJzaW9uKSBUQ0xfTUlOT1JfVkVSU0lPTj0kKFRjbE1pbm9yVmVyc2lvbikgVENMX1BBVENIX0xFVkVMPSQoVGNsUGF0Y2hMZXZlbCk8L1RjbFZlcnNpb25zPgorICAgIDxUY2xTaG9ydFZlcnNpb25zPlRDTF9NQUpPUj0kKFRjbE1ham9yVmVyc2lvbikgVENMX01JTk9SPSQoVGNsTWlub3JWZXJzaW9uKSBUQ0xfUEFUQ0g9JChUY2xQYXRjaExldmVsKTwvVGNsU2hvcnRWZXJzaW9ucz4KKyAgICA8VGtWZXJzaW9ucz5US19NQUpPUl9WRVJTSU9OPSQoVGtNYWpvclZlcnNpb24pIFRLX01JTk9SX1ZFUlNJT049JChUa01pbm9yVmVyc2lvbikgVEtfUEFUQ0hfTEVWRUw9JChUa1BhdGNoTGV2ZWwpPC9Ua1ZlcnNpb25zPgorCisgICAgPEJ1aWxkRGlyVG9wPlJlbGVhc2U8L0J1aWxkRGlyVG9wPgorICAgIDxCdWlsZERpclRvcCBDb25kaXRpb249IiQoQ29uZmlndXJhdGlvbikgPT0gJ0RlYnVnJyI+RGVidWc8L0J1aWxkRGlyVG9wPgorICAgIDxCdWlsZERpclRvcCBDb25kaXRpb249IiQoVGNsTWFjaGluZSkgIT0gJ0lYODYnIj4kKEJ1aWxkRGlyVG9wKV8kKFRjbE1hY2hpbmUpPC9CdWlsZERpclRvcD4KKyAgICA8QnVpbGREaXJUb3AgQ29uZGl0aW9uPSIkKFZpc3VhbFN0dWRpb1ZlcnNpb24pID09ICcxNC4wJyI+JChCdWlsZERpclRvcClfVkMxMzwvQnVpbGREaXJUb3A+CisgICAgPEJ1aWxkRGlyVG9wIENvbmRpdGlvbj0iJChWaXN1YWxTdHVkaW9WZXJzaW9uKSA9PSAnMTIuMCciPiQoQnVpbGREaXJUb3ApX1ZDMTI8L0J1aWxkRGlyVG9wPgorICAgIDxCdWlsZERpclRvcCBDb25kaXRpb249IiQoVmlzdWFsU3R1ZGlvVmVyc2lvbikgPT0gJzExLjAnIj4kKEJ1aWxkRGlyVG9wKV9WQzExPC9CdWlsZERpclRvcD4KKyAgICA8QnVpbGREaXJUb3AgQ29uZGl0aW9uPSIkKFZpc3VhbFN0dWRpb1ZlcnNpb24pID09ICcxMC4wJyI+JChCdWlsZERpclRvcClfVkMxMDwvQnVpbGREaXJUb3A+CisgIDwvUHJvcGVydHlHcm91cD4KKzwvUHJvamVjdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9QQ2J1aWxkL3RpeC52Y3hwcm9qIGIvUENidWlsZC90aXgudmN4cHJvagpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NGE2Yjg0Ci0tLSAvZGV2L251bGwKKysrIGIvUENidWlsZC90aXgudmN4cHJvagpAQCAtMCwwICsxLDk0IEBACivvu788P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgorPFByb2plY3QgRGVmYXVsdFRhcmdldHM9IkJ1aWxkIiBUb29sc1ZlcnNpb249IjQuMCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+CisgIDxJdGVtR3JvdXAgTGFiZWw9IlByb2plY3RDb25maWd1cmF0aW9ucyI+CisgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IkRlYnVnfFdpbjMyIj4KKyAgICAgIDxDb25maWd1cmF0aW9uPkRlYnVnPC9Db25maWd1cmF0aW9uPgorICAgICAgPFBsYXRmb3JtPldpbjMyPC9QbGF0Zm9ybT4KKyAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgorICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJSZWxlYXNlfFdpbjMyIj4KKyAgICAgIDxDb25maWd1cmF0aW9uPlJlbGVhc2U8L0NvbmZpZ3VyYXRpb24+CisgICAgICA8UGxhdGZvcm0+V2luMzI8L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IlBHSW5zdHJ1bWVudHxXaW4zMiI+CisgICAgICA8Q29uZmlndXJhdGlvbj5QR0luc3RydW1lbnQ8L0NvbmZpZ3VyYXRpb24+CisgICAgICA8UGxhdGZvcm0+V2luMzI8L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IlBHSW5zdHJ1bWVudHx4NjQiPgorICAgICAgPENvbmZpZ3VyYXRpb24+UEdJbnN0cnVtZW50PC9Db25maWd1cmF0aW9uPgorICAgICAgPFBsYXRmb3JtPng2NDwvUGxhdGZvcm0+CisgICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KKyAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iUEdVcGRhdGV8V2luMzIiPgorICAgICAgPENvbmZpZ3VyYXRpb24+UEdVcGRhdGU8L0NvbmZpZ3VyYXRpb24+CisgICAgICA8UGxhdGZvcm0+V2luMzI8L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IlBHVXBkYXRlfHg2NCI+CisgICAgICA8Q29uZmlndXJhdGlvbj5QR1VwZGF0ZTwvQ29uZmlndXJhdGlvbj4KKyAgICAgIDxQbGF0Zm9ybT54NjQ8L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IkRlYnVnfHg2NCI+CisgICAgICA8Q29uZmlndXJhdGlvbj5EZWJ1ZzwvQ29uZmlndXJhdGlvbj4KKyAgICAgIDxQbGF0Zm9ybT54NjQ8L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IlJlbGVhc2V8eDY0Ij4KKyAgICAgIDxDb25maWd1cmF0aW9uPlJlbGVhc2U8L0NvbmZpZ3VyYXRpb24+CisgICAgICA8UGxhdGZvcm0+eDY0PC9QbGF0Zm9ybT4KKyAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgorICA8L0l0ZW1Hcm91cD4KKyAgPFByb3BlcnR5R3JvdXAgTGFiZWw9Ikdsb2JhbHMiPgorICAgIDxQcm9qZWN0R3VpZD57QzVBM0U3RkItOTY5NS00QjJFLTk2MEItMUQ5RjQzRjFFNTU1fTwvUHJvamVjdEd1aWQ+CisgICAgPFJvb3ROYW1lc3BhY2U+dGl4PC9Sb290TmFtZXNwYWNlPgorICA8L1Byb3BlcnR5R3JvdXA+CisKKyAgPEltcG9ydCBQcm9qZWN0PSJweXRob24ucHJvcHMiIC8+CisgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLkRlZmF1bHQucHJvcHMiIC8+CisgIDxJbXBvcnQgUHJvamVjdD0idGNsdGsucHJvcHMiIC8+CisgIAorICA8UHJvcGVydHlHcm91cCBMYWJlbD0iQ29uZmlndXJhdGlvbiI+CisgICAgPENvbmZpZ3VyYXRpb25UeXBlPk1ha2VmaWxlPC9Db25maWd1cmF0aW9uVHlwZT4KKyAgICA8T3V0RGlyPiQodGNsdGtEaXIpPC9PdXREaXI+CisgICAgPFRhcmdldFBhdGg+JCh0aXhETExQYXRoKTwvVGFyZ2V0UGF0aD4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgorICAKKyAgPEl0ZW1Hcm91cD4KKyAgICA8RXhwZWN0ZWRPdXRwdXRzIEluY2x1ZGU9IiQoVGFyZ2V0UGF0aCkiIC8+CisgIDwvSXRlbUdyb3VwPgorICAKKyAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAucHJvcHMiIC8+CisgIAorICA8UHJvcGVydHlHcm91cD4KKyAgICA8VGtPcHRzPm1zdmNydDwvVGtPcHRzPgorICAgIDxUa09wdHMgQ29uZGl0aW9uPSIkKENvbmZpZ3VyYXRpb24pID09ICdEZWJ1ZyciPnN5bWJvbHMsbXN2Y3J0PC9Ua09wdHM+CisgICAgPFRpeERpcnM+QlVJTERESVJUT1A9IiQoQnVpbGREaXJUb3ApIiBUQ0xfRElSPSIkKHRjbERpci5UcmltRW5kKGBcYCkpIiBUS19ESVI9IiQodGtEaXIuVHJpbUVuZChgXGApKSIgSU5TVEFMTF9ESVI9IiQoT3V0RGlyLlRyaW1FbmQoYFxgKSkiPC9UaXhEaXJzPgorICAgIDxEZWJ1Z0ZsYWdzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbiknID09ICdEZWJ1ZyciPkRFQlVHPTEgTk9ERUJVRz0wIFRDTF9EQkdYPWcgREVCVUdGTEFHUz0iLXdkNDQ1NiAtd2Q0NDU3IC13ZDQ0NTggLXdkNDQ1OSAtd2Q0OTk2IjwvRGVidWdGbGFncz4KKyAgICA8RGVidWdGbGFncyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pJyAhPSAnRGVidWcnIj5ERUJVRz0wIE5PREVCVUc9MTwvRGVidWdGbGFncz4KKyAgICA8Tk1ha2VCdWlsZENvbW1hbmRMaW5lPnNldGxvY2FsCitAKEV4cGVjdGVkT3V0cHV0cy0+J2lmIG5vdCBleGlzdCAiJShGdWxsUGF0aCkiIGdvdG8gYnVpbGQnLCcKKycpCitnb3RvIDplb2YKKzpidWlsZAorc2V0IFZDSU5TVEFMTERJUj0kKFZDSW5zdGFsbERpcikKK2NkIC9EICIkKHRpeERpcil3aW4iCitubWFrZSAvbm9sb2dvIC1mIG1ha2VmaWxlLnZjIE1BQ0hJTkU9JChUY2xNYWNoaW5lKSAkKERlYnVnRmxhZ3MpICQoVGNsU2hvcnRWZXJzaW9ucykgJChUaXhEaXJzKSBhbGwgaW5zdGFsbAorPC9OTWFrZUJ1aWxkQ29tbWFuZExpbmU+CisgICAgPE5NYWtlQ2xlYW5Db21tYW5kTGluZT5ybWRpciAvcS9zICIkKE91dERpci5UcmltRW5kKGBcYCkpIjwvTk1ha2VDbGVhbkNvbW1hbmRMaW5lPgorICA8L1Byb3BlcnR5R3JvdXA+CisgIAorICA8SXRlbUdyb3VwPgorICAgIDxQcm9qZWN0UmVmZXJlbmNlIEluY2x1ZGU9InRjbC52Y3hwcm9qIj4KKyAgICAgIDxQcm9qZWN0PntiNWZkNmYxZC0xMjllLTRiZmYtOTM0MC0wMzYwNmZhYzcyODN9PC9Qcm9qZWN0PgorICAgICAgPFJlZmVyZW5jZU91dHB1dEFzc2VtYmx5PmZhbHNlPC9SZWZlcmVuY2VPdXRwdXRBc3NlbWJseT4KKyAgICA8L1Byb2plY3RSZWZlcmVuY2U+CisgICAgPFByb2plY3RSZWZlcmVuY2UgSW5jbHVkZT0idGsudmN4cHJvaiI+CisgICAgICA8UHJvamVjdD57N2U4NWVjY2YtYTcyYy00ZGE0LTllNTItODg0NTA4ZTgwYmExfTwvUHJvamVjdD4KKyAgICAgIDxSZWZlcmVuY2VPdXRwdXRBc3NlbWJseT5mYWxzZTwvUmVmZXJlbmNlT3V0cHV0QXNzZW1ibHk+CisgICAgPC9Qcm9qZWN0UmVmZXJlbmNlPgorICA8L0l0ZW1Hcm91cD4KKworICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC50YXJnZXRzIiAvPgorCisgIDxUYXJnZXQgTmFtZT0iQ2xlYW4iIC8+CisgIDxUYXJnZXQgTmFtZT0iQ2xlYW5BbGwiPgorICAgIDxSZW1vdmVEaXIgRGlyZWN0b3JpZXM9IiQoT3V0RGlyKSIgLz4KKyAgICA8UmVtb3ZlRGlyIERpcmVjdG9yaWVzPSIkKEludERpcikiIC8+CisgIDwvVGFyZ2V0PgorPC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1BDYnVpbGQvdGsudmN4cHJvaiBiL1BDYnVpbGQvdGsudmN4cHJvagpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMDc0OWY3Ci0tLSAvZGV2L251bGwKKysrIGIvUENidWlsZC90ay52Y3hwcm9qCkBAIC0wLDAgKzEsOTUgQEAKK++7vzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8UHJvamVjdCBEZWZhdWx0VGFyZ2V0cz0iQnVpbGQiIFRvb2xzVmVyc2lvbj0iNC4wIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KKyAgPEl0ZW1Hcm91cCBMYWJlbD0iUHJvamVjdENvbmZpZ3VyYXRpb25zIj4KKyAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iRGVidWd8V2luMzIiPgorICAgICAgPENvbmZpZ3VyYXRpb24+RGVidWc8L0NvbmZpZ3VyYXRpb24+CisgICAgICA8UGxhdGZvcm0+V2luMzI8L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IlJlbGVhc2V8V2luMzIiPgorICAgICAgPENvbmZpZ3VyYXRpb24+UmVsZWFzZTwvQ29uZmlndXJhdGlvbj4KKyAgICAgIDxQbGF0Zm9ybT5XaW4zMjwvUGxhdGZvcm0+CisgICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KKyAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iUEdJbnN0cnVtZW50fFdpbjMyIj4KKyAgICAgIDxDb25maWd1cmF0aW9uPlBHSW5zdHJ1bWVudDwvQ29uZmlndXJhdGlvbj4KKyAgICAgIDxQbGF0Zm9ybT5XaW4zMjwvUGxhdGZvcm0+CisgICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KKyAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iUEdJbnN0cnVtZW50fHg2NCI+CisgICAgICA8Q29uZmlndXJhdGlvbj5QR0luc3RydW1lbnQ8L0NvbmZpZ3VyYXRpb24+CisgICAgICA8UGxhdGZvcm0+eDY0PC9QbGF0Zm9ybT4KKyAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgorICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJQR1VwZGF0ZXxXaW4zMiI+CisgICAgICA8Q29uZmlndXJhdGlvbj5QR1VwZGF0ZTwvQ29uZmlndXJhdGlvbj4KKyAgICAgIDxQbGF0Zm9ybT5XaW4zMjwvUGxhdGZvcm0+CisgICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KKyAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iUEdVcGRhdGV8eDY0Ij4KKyAgICAgIDxDb25maWd1cmF0aW9uPlBHVXBkYXRlPC9Db25maWd1cmF0aW9uPgorICAgICAgPFBsYXRmb3JtPng2NDwvUGxhdGZvcm0+CisgICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KKyAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iRGVidWd8eDY0Ij4KKyAgICAgIDxDb25maWd1cmF0aW9uPkRlYnVnPC9Db25maWd1cmF0aW9uPgorICAgICAgPFBsYXRmb3JtPng2NDwvUGxhdGZvcm0+CisgICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KKyAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iUmVsZWFzZXx4NjQiPgorICAgICAgPENvbmZpZ3VyYXRpb24+UmVsZWFzZTwvQ29uZmlndXJhdGlvbj4KKyAgICAgIDxQbGF0Zm9ybT54NjQ8L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgIDwvSXRlbUdyb3VwPgorICA8UHJvcGVydHlHcm91cCBMYWJlbD0iR2xvYmFscyI+CisgICAgPFByb2plY3RHdWlkPns3RTg1RUNDRi1BNzJDLTREQTQtOUU1Mi04ODQ1MDhFODBCQTF9PC9Qcm9qZWN0R3VpZD4KKyAgICA8Um9vdE5hbWVzcGFjZT50azwvUm9vdE5hbWVzcGFjZT4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgorICAKKyAgPEltcG9ydCBQcm9qZWN0PSJweXRob24ucHJvcHMiIC8+CisgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLkRlZmF1bHQucHJvcHMiIC8+CisgIDxJbXBvcnQgUHJvamVjdD0idGNsdGsucHJvcHMiIC8+CisgIAorICA8UHJvcGVydHlHcm91cCBMYWJlbD0iQ29uZmlndXJhdGlvbiI+CisgICAgPENvbmZpZ3VyYXRpb25UeXBlPk1ha2VmaWxlPC9Db25maWd1cmF0aW9uVHlwZT4KKyAgICA8T3V0RGlyPiQodGNsdGtEaXIpPC9PdXREaXI+CisgICAgPFRhcmdldFBhdGg+JChPdXREaXIpYmluXCQodGtETExOYW1lKTwvVGFyZ2V0UGF0aD4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgorICAKKyAgPEl0ZW1Hcm91cD4KKyAgICA8RXhwZWN0ZWRPdXRwdXRzIEluY2x1ZGU9IgorICAgICAgICAkKE91dERpciliaW5cJCh0a0RMTE5hbWUpOworICAgICAgICAkKE91dERpcilpbmNsdWRlXHRrLmg7CisgICAgICAgICQoT3V0RGlyKWxpYlwkKHRrTGliTmFtZSk7CisgICAgICAgICQoT3V0RGlyKWxpYlx0ayQoVGtNYWpvclZlcnNpb24pLiQoVGtNaW5vclZlcnNpb24pIiAvPgorICA8L0l0ZW1Hcm91cD4KKyAgCisgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnByb3BzIiAvPgorICAKKyAgPFByb3BlcnR5R3JvdXA+CisgICAgPFRrT3B0cz5tc3ZjcnQ8L1RrT3B0cz4KKyAgICA8VGtPcHRzIENvbmRpdGlvbj0iJChDb25maWd1cmF0aW9uKSA9PSAnRGVidWcnIj5zeW1ib2xzLG1zdmNydDwvVGtPcHRzPgorICAgIDxUa0RpcnM+VENMRElSPSIkKHRjbERpci5UcmltRW5kKGBcYCkpIiBJTlNUQUxMRElSPSIkKE91dERpci5UcmltRW5kKGBcYCkpIjwvVGtEaXJzPgorICAgIDxEZWJ1Z0ZsYWdzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbiknID09ICdEZWJ1ZyciPkRFQlVHRkxBR1M9Ii13ZDQ0NTYgLXdkNDQ1NyAtd2Q0NDU4IC13ZDQ0NTkgLXdkNDk5NiI8L0RlYnVnRmxhZ3M+CisgICAgPE5NYWtlQnVpbGRDb21tYW5kTGluZT5zZXRsb2NhbAorQChFeHBlY3RlZE91dHB1dHMtPidpZiBub3QgZXhpc3QgIiUoRnVsbFBhdGgpIiBnb3RvIGJ1aWxkJywnCisnKQorZ290byA6ZW9mCis6YnVpbGQKK3NldCBWQ0lOU1RBTExESVI9JChWQ0luc3RhbGxEaXIpCitjZCAvRCAiJCh0a0Rpcil3aW4iCitubWFrZSAvbm9sb2dvIC1mIG1ha2VmaWxlLnZjIFJDPXJjIE1BQ0hJTkU9JChUY2xNYWNoaW5lKSBPUFRTPSQoVGtPcHRzKSAkKFRrRGlycykgJChEZWJ1Z0ZsYWdzKSBhbGwKK25tYWtlIC9ub2xvZ28gLWYgbWFrZWZpbGUudmMgUkM9cmMgTUFDSElORT0kKFRjbE1hY2hpbmUpIE9QVFM9JChUa09wdHMpICQoVGtEaXJzKSAkKERlYnVnRmxhZ3MpIGluc3RhbGwtYmluYXJpZXMgaW5zdGFsbC1saWJyYXJpZXMKKzwvTk1ha2VCdWlsZENvbW1hbmRMaW5lPgorICA8L1Byb3BlcnR5R3JvdXA+CisgIDxJdGVtR3JvdXA+CisgICAgPFByb2plY3RSZWZlcmVuY2UgSW5jbHVkZT0idGNsLnZjeHByb2oiPgorICAgICAgPFByb2plY3Q+e2I1ZmQ2ZjFkLTEyOWUtNGJmZi05MzQwLTAzNjA2ZmFjNzI4M308L1Byb2plY3Q+CisgICAgICA8UmVmZXJlbmNlT3V0cHV0QXNzZW1ibHk+ZmFsc2U8L1JlZmVyZW5jZU91dHB1dEFzc2VtYmx5PgorICAgIDwvUHJvamVjdFJlZmVyZW5jZT4KKyAgPC9JdGVtR3JvdXA+CisgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnRhcmdldHMiIC8+CisgIAorICA8VGFyZ2V0IE5hbWU9IkNvcHlEbGwiIElucHV0cz0iJChPdXREaXIpXGJpblwkKHRrRExMTmFtZSkiIE91dHB1dHM9IiQoQnVpbGRQYXRoKSQodGtETExOYW1lKSIgQWZ0ZXJUYXJnZXRzPSJCdWlsZCI+CisgICAgPENvcHkgU291cmNlRmlsZXM9IiQoT3V0RGlyKVxiaW5cJCh0a0RMTE5hbWUpIiBEZXN0aW5hdGlvbkZpbGVzPSIkKEJ1aWxkUGF0aCkkKHRrRExMTmFtZSkiIC8+CisgIDwvVGFyZ2V0PgorICAKKyAgPFRhcmdldCBOYW1lPSJDbGVhbiIgLz4KKyAgPFRhcmdldCBOYW1lPSJDbGVhbkFsbCI+CisgICAgPERlbGV0ZSBGaWxlcz0iJChUYXJnZXRQYXRoKTskKEJ1aWxkUGF0aCkkKHRrRExMTmFtZSkiIC8+CisgICAgPFJlbW92ZURpciBEaXJlY3Rvcmllcz0iJChJbnREaXIpIiAvPgorICA8L1RhcmdldD4KKzwvUHJvamVjdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9QQ2J1aWxkL3VuaWNvZGVkYXRhLnZjeHByb2ogYi9QQ2J1aWxkL3VuaWNvZGVkYXRhLnZjeHByb2oKaW5kZXggYzlkNTI3OC4uYTMwNzFmYiAxMDA2NDQKLS0tIGEvUENidWlsZC91bmljb2RlZGF0YS52Y3hwcm9qCisrKyBiL1BDYnVpbGQvdW5pY29kZWRhdGEudmN4cHJvagpAQCAtMzksMTcwICszOSwzMSBAQAogICAgIDxSb290TmFtZXNwYWNlPnVuaWNvZGVkYXRhPC9Sb290TmFtZXNwYWNlPgogICAgIDxLZXl3b3JkPldpbjMyUHJvajwvS2V5d29yZD4KICAgPC9Qcm9wZXJ0eUdyb3VwPgorICA8SW1wb3J0IFByb2plY3Q9InB5dGhvbi5wcm9wcyIgLz4KICAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAuRGVmYXVsdC5wcm9wcyIgLz4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+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+CiAgIDwvUHJvcGVydHlHcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPgorICA8SXRlbURlZmluaXRpb25Hcm91cD4KICAgICA8TGluaz4KICAgICAgIDxCYXNlQWRkcmVzcz4weDFEMTIwMDAwPC9CYXNlQWRkcmVzcz4KICAgICA8L0xpbms+CiAgIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj4KLSAgICA8TWlkbD4KLSAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgotICAgIDwvTWlkbD4KLSAgICA8TGluaz4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFEMTIwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+Ci0gICAgPExpbms+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxRDEyMDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj4KLSAgICA8TWlkbD4KLSAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgotICAgIDwvTWlkbD4KLSAgICA8TGluaz4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFEMTIwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIj4KLSAgICA8TGluaz4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFEMTIwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyI+Ci0gICAgPE1pZGw+Ci0gICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+WDY0PC9UYXJnZXRFbnZpcm9ubWVudD4KLSAgICA8L01pZGw+Ci0gICAgPExpbms+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxRDEyMDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgICA8VGFyZ2V0TWFjaGluZT5NYWNoaW5lWDY0PC9UYXJnZXRNYWNoaW5lPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyI+Ci0gICAgPExpbms+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxRDEyMDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyI+Ci0gICAgPE1pZGw+Ci0gICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+WDY0PC9UYXJnZXRFbnZpcm9ubWVudD4KLSAgICA8L01pZGw+Ci0gICAgPExpbms+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxRDEyMDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgICA8VGFyZ2V0TWFjaGluZT5NYWNoaW5lWDY0PC9UYXJnZXRNYWNoaW5lPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgogICA8SXRlbUdyb3VwPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cTW9kdWxlc1x1bmljb2RlZGF0YV9kYi5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cTW9kdWxlc1x1bmljb2RlbmFtZV9kYi5oIiAvPgpkaWZmIC0tZ2l0IGEvUENidWlsZC92czl0bzEwLnB5IGIvUENidWlsZC92czl0bzEwLnB5CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlYjdkYWI1Li4wMDAwMDAwCi0tLSBhL1BDYnVpbGQvdnM5dG8xMC5weQorKysgL2Rldi9udWxsCkBAIC0xLDU2ICswLDAgQEAKLSNSdW4gdGhpcyBmaWxlIGFmdGVyIGF1dG9tYXRpYyBjb252ZXJzaW9uIG9mIHRoZSBWaXN1YWxTdHVkaW8gMjAwOCBzb2x1dGlvbiBieSBWaXN1YWxTdHVkaW8gMjAxMC4KLSNUaGlzIGNhbiBiZSBkb25lIHdoZW5ldmVyIHRoZSAyMDA4IHNvbHV0aW9uIGNoYW5nZXMuCi0jSXQgd2lsbCBtYWtlIHRoZSBuZWNlc3NhcnkgY2xlYW51cCBhbmQgdXBkYXRlcyB0byB0aGUgdmN4cHJvaiBmaWxlcwotI3RoZSAucHJvcHMgZmlsZXMgbmVlZCB0byBiZSBtYWludGFpbmVkIGJ5IGhhbmQgaWYgdGhlIC52c3Byb3BzIGZpbGVzIGNoYW5nZQotCi1mcm9tIF9fZnV0dXJlX18gaW1wb3J0IHdpdGhfc3RhdGVtZW50Ci1pbXBvcnQgc3lzCi1pbXBvcnQgb3MKLWltcG9ydCBvcy5wYXRoCi0KLWRlZiB2czl0bzEwKHNyYywgZGVzdCk6Ci0gICAgZm9yIG5hbWUgaW4gb3MubGlzdGRpcihzcmMpOgotICAgICAgICBwYXRoLCBleHQgPSBvcy5wYXRoLnNwbGl0ZXh0KG5hbWUpCi0gICAgICAgIGlmIGV4dC5sb3dlcigpIG5vdCBpbiAoJy52Y3hwcm9qJywpOgotICAgICAgICAgICAgY29udGludWUKLQotICAgICAgICBmaWxlbmFtZSA9IG9zLnBhdGgubm9ybXBhdGgob3MucGF0aC5qb2luKHNyYywgbmFtZSkpCi0gICAgICAgIGRlc3RuYW1lID0gb3MucGF0aC5ub3JtcGF0aChvcy5wYXRoLmpvaW4oZGVzdCwgbmFtZSkpCi0gICAgICAgIHByaW50KCIlcyAtPiAlcyIgJSAoZmlsZW5hbWUsIGRlc3RuYW1lKSkKLQotICAgICAgICBsaW5lcyA9IFtdCi0gICAgICAgIGxhc3RsaW5lID0gYiIiCi0gICAgICAgIGltcG9ydGdyb3VwID0gRmFsc2UKLSAgICAgICAgd2l0aCBvcGVuKGZpbGVuYW1lLCAncmInKSBhcyBmaW46Ci0gICAgICAgICAgICBmb3IgbGluZSBpbiBmaW46Ci0gICAgICAgICAgICAgICAgI3JlbW92ZSByZWR1bmRhbnQgbGlua2VyIG91dHB1dCBpbmZvCi0gICAgICAgICAgICAgICAgaWYgYiI8T3V0cHV0TGluZT4iIGluIGxpbmU6Ci0gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCi0gICAgICAgICAgICAgICAgaWYgYiI8UHJvZ3JhbURhdGFiYXNlRmlsZT4iIGluIGxpbmU6Ci0gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCi0gICAgICAgICAgICAgICAgaWYgYiI8SW1wb3J0TGlicmFyeT4iIGluIGxpbmUgYW5kIGIiPC9JbXBvcnRMaWJyYXJ5PiIgaW4gbGluZToKLSAgICAgICAgICAgICAgICAgICAgY29udGludWUKLQotICAgICAgICAgICAgICAgICNhZGQgbmV3IHByb3BlcnR5IHNoZWV0IHRvIHRoZSBweXRob25jb3JlCi0gICAgICAgICAgICAgICAgaWYgaW1wb3J0Z3JvdXAgYW5kICJweXRob25jb3JlIiBpbiBuYW1lLmxvd2VyKCk6Ci0gICAgICAgICAgICAgICAgICAgIGlmIGIiPC9JbXBvcnRHcm91cD4iIGluIGxpbmU6Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiBiImRlYnVnLnByb3BzIiBpbiBsYXN0bGluZToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lcy5hcHBlbmQoYicgICAgPEltcG9ydCBQcm9qZWN0PSJweXRob25jb3JlX2QucHJvcHMiIC8+XHJcbicpCi0gICAgICAgICAgICAgICAgICAgICAgICBlbGlmIGIicHl0aG9uY29yZSIgbm90IGluIGxhc3RsaW5lOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmVzLmFwcGVuZChiJyAgICA8SW1wb3J0IFByb2plY3Q9InB5dGhvbmNvcmUucHJvcHMiIC8+XHJcbicpCi0gICAgICAgICAgICAgICAgaWYgYiI8SW1wb3J0R3JvdXAgQ29uZGl0aW9uIiBpbiBsaW5lOgotICAgICAgICAgICAgICAgICAgICBpbXBvcnRncm91cCA9IFRydWUKLSAgICAgICAgICAgICAgICBlbGlmIGIiPC9JbXBvcnRHcm91cD4iIGluIGxpbmU6Ci0gICAgICAgICAgICAgICAgICAgIGltcG9ydGdyb3VwID0gRmFsc2UKLSAgICAgICAgICAgICAgICBsaW5lcy5hcHBlbmQobGluZSkKLSAgICAgICAgICAgICAgICBsYXN0bGluZSA9IGxpbmUKLSAgICAgICAgd2l0aCBvcGVuKGRlc3RuYW1lLCAnd2InKSBhcyBmb3V0OgotICAgICAgICAgICAgZm9yIGxpbmUgaW4gbGluZXM6Ci0gICAgICAgICAgICAgICAgZm91dC53cml0ZShsaW5lKQotCi1pZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgotICAgIHNyYyA9ICIuIiBpZiBsZW4oc3lzLmFyZ3YpIDwgMiBlbHNlIHN5cy5hcmd2WzFdCi0gICAgbmFtZSA9IG9zLnBhdGguYmFzZW5hbWUob3MucGF0aC5hYnNwYXRoKHNyYykpCi0gICAgZGVzdCA9IG9zLnBhdGguYWJzcGF0aChvcy5wYXRoLmpvaW4oc3JjLCAiLi4iLCBuYW1lICsgIlVwZCIpKQotICAgIG9zLm1ha2VkaXJzKGRlc3QpCi0gICAgdnM5dG8xMChzcmMsIGRlc3QpCmRpZmYgLS1naXQgYS9QQ2J1aWxkL3ZzOXRvOC5weSBiL1BDYnVpbGQvdnM5dG84LnB5CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzYjg4YTE2Li4wMDAwMDAwCi0tLSBhL1BDYnVpbGQvdnM5dG84LnB5CisrKyAvZGV2L251bGwKQEAgLTEsMzQgKzAsMCBAQAotZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCB3aXRoX3N0YXRlbWVudAotaW1wb3J0IG9zCi0KLWRlZiB2czl0bzgoc3JjLCBkZXN0KToKLSAgICBmb3IgbmFtZSBpbiBvcy5saXN0ZGlyKHNyYyk6Ci0gICAgICAgIHBhdGgsIGV4dCA9IG9zLnBhdGguc3BsaXRleHQobmFtZSkKLSAgICAgICAgaWYgZXh0Lmxvd2VyKCkgbm90IGluICgnLnNsbicsICcudmNwcm9qJywgJy52c3Byb3BzJyk6Ci0gICAgICAgICAgICBjb250aW51ZQotCi0gICAgICAgIGZpbGVuYW1lID0gb3MucGF0aC5ub3JtcGF0aChvcy5wYXRoLmpvaW4oc3JjLCBuYW1lKSkKLSAgICAgICAgZGVzdG5hbWUgPSBvcy5wYXRoLm5vcm1wYXRoKG9zLnBhdGguam9pbihkZXN0LCBuYW1lKSkKLSAgICAgICAgcHJpbnQoIiVzIC0+ICVzIiAlIChmaWxlbmFtZSwgZGVzdG5hbWUpKQotCi0gICAgICAgIHdpdGggb3BlbihmaWxlbmFtZSwgJ3JVJykgYXMgZmluOgotICAgICAgICAgICAgbGluZXMgPSBmaW4ucmVhZCgpCi0gICAgICAgICAgICBsaW5lcyA9IGxpbmVzLnJlcGxhY2UoJ1ZlcnNpb249IjksMDAiJywgJ1ZlcnNpb249IjguMDAiJykKLSAgICAgICAgICAgIGxpbmVzID0gbGluZXMucmVwbGFjZSgnVmVyc2lvbj0iOS4wMCInLCAnVmVyc2lvbj0iOC4wMCInKQotICAgICAgICAgICAgbGluZXMgPSBsaW5lcy5yZXBsYWNlKCdGb3JtYXQgVmVyc2lvbiAxMC4wMCcsICdGb3JtYXQgVmVyc2lvbiA5LjAwJykKLSAgICAgICAgICAgIGxpbmVzID0gbGluZXMucmVwbGFjZSgnVmlzdWFsIFN0dWRpbyAyMDA4JywgJ1Zpc3VhbCBTdHVkaW8gMjAwNScpCi0KLSAgICAgICAgICAgIGxpbmVzID0gbGluZXMucmVwbGFjZSgnd2luaW5zdC05LjAnLCAnd2luaW5zdC04LjAnKQotICAgICAgICAgICAgbGluZXMgPSBsaW5lcy5yZXBsYWNlKCcuLlxcJywgJy4uXFwuLlxcJykKLSAgICAgICAgICAgIGxpbmVzID0gbGluZXMucmVwbGFjZSgnLi5cXC4uXFwuLlxcLi5cXCcsICcuLlxcLi5cXC4uXFwnKQotCi0gICAgICAgICAgICAjIEJhaC4gVlM4LjAgZG9lcyBub3QgZXhwYW5kIG1hY3JvcyBpbiBmaWxlIG5hbWVzLgotICAgICAgICAgICAgIyBSZXBsYWNlIHRoZW0gaGVyZS4KLSAgICAgICAgICAgIGxpbmVzID0gbGluZXMucmVwbGFjZSgnJChzcWxpdGUzRGlyKScsICcuLlxcLi5cXC4uXFxzcWxpdGUtMy42LjIxJykKLQotICAgICAgICB3aXRoIG9wZW4oZGVzdG5hbWUsICd3YicpIGFzIGZvdXQ6Ci0gICAgICAgICAgICBsaW5lcyA9IGxpbmVzLnJlcGxhY2UoIlxuIiwgIlxyXG4iKS5lbmNvZGUoKQotICAgICAgICAgICAgZm91dC53cml0ZShsaW5lcykKLQotaWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoKLSAgICB2czl0bzgoc3JjPSIuIiwgZGVzdD0iLi4vUEMvVlM4LjAiKQpkaWZmIC0tZ2l0IGEvUENidWlsZC93aW5zb3VuZC52Y3hwcm9qIGIvUENidWlsZC93aW5zb3VuZC52Y3hwcm9qCmluZGV4IGNmNTE4ZTkuLjU0MDIzNWEgMTAwNjQ0Ci0tLSBhL1BDYnVpbGQvd2luc291bmQudmN4cHJvagorKysgYi9QQ2J1aWxkL3dpbnNvdW5kLnZjeHByb2oKQEAgLTM5LDE3MCArMzksMzEgQEAKICAgICA8Um9vdE5hbWVzcGFjZT53aW5zb3VuZDwvUm9vdE5hbWVzcGFjZT4KICAgICA8S2V5d29yZD5XaW4zMlByb2o8L0tleXdvcmQ+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+CiAgICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz53aW5tbS5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KICAgICA8L0xpbms+CiAgIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj4KLSAgICA8TWlkbD4KLSAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgotICAgIDwvTWlkbD4KLSAgICA8TGluaz4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPndpbm1tLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj4KLSAgICA8TGluaz4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPndpbm1tLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+Ci0gICAgPE1pZGw+Ci0gICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+WDY0PC9UYXJnZXRFbnZpcm9ubWVudD4KLSAgICA8L01pZGw+Ci0gICAgPExpbms+Ci0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz53aW5tbS5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIj4KLSAgICA8TGluaz4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPndpbm1tLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIj4KLSAgICA8TWlkbD4KLSAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgotICAgIDwvTWlkbD4KLSAgICA8TGluaz4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPndpbm1tLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgICAgPFRhcmdldE1hY2hpbmU+TWFjaGluZVg2NDwvVGFyZ2V0TWFjaGluZT4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciPgotICAgIDxMaW5rPgotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+d2lubW0ubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyI+Ci0gICAgPE1pZGw+Ci0gICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+WDY0PC9UYXJnZXRFbnZpcm9ubWVudD4KLSAgICA8L01pZGw+Ci0gICAgPExpbms+Ci0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz53aW5tbS5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KLSAgICAgIDxUYXJnZXRNYWNoaW5lPk1hY2hpbmVYNjQ8L1RhcmdldE1hY2hpbmU+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+CiAgIDxJdGVtR3JvdXA+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxQQ1x3aW5zb3VuZC5jIiAvPgogICA8L0l0ZW1Hcm91cD4KZGlmZiAtLWdpdCBhL1BDYnVpbGQveDY0LnByb3BzIGIvUENidWlsZC94NjQucHJvcHMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk4NWMwZWYuLjAwMDAwMDAKLS0tIGEvUENidWlsZC94NjQucHJvcHMKKysrIC9kZXYvbnVsbApAQCAtMSwyMCArMCwwIEBACi3vu788P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgotPFByb2plY3QgRGVmYXVsdFRhcmdldHM9IkJ1aWxkIiBUb29sc1ZlcnNpb249IjQuMCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+Ci0gIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJVc2VyTWFjcm9zIiBDb25kaXRpb249IickKEhPU1RfUFlUSE9OKSchPScnIj4KLSAgICA8UHl0aG9uRXhlPiQoSE9TVF9QWVRIT04pPC9QeXRob25FeGU+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxCdWZmZXJTZWN1cml0eUNoZWNrPmZhbHNlPC9CdWZmZXJTZWN1cml0eUNoZWNrPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPl9XSU42NDtfTV9YNjQ7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxMaW5rPgotICAgICAgPFRhcmdldE1hY2hpbmU+TWFjaGluZVg2NDwvVGFyZ2V0TWFjaGluZT4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1Hcm91cD4KLSAgICA8QnVpbGRNYWNybyBJbmNsdWRlPSJQeXRob25FeGUiPgotICAgICAgPFZhbHVlPiQoUHl0aG9uRXhlKTwvVmFsdWU+Ci0gICAgPC9CdWlsZE1hY3JvPgotICA8L0l0ZW1Hcm91cD4KLTwvUHJvamVjdD4KZGlmZiAtLWdpdCBhL1BDYnVpbGQveHhsaW1pdGVkLnZjeHByb2ogYi9QQ2J1aWxkL3h4bGltaXRlZC52Y3hwcm9qCmluZGV4IGFiZjQxZjkuLjQ0ODRkYmEgMTAwNjQ0Ci0tLSBhL1BDYnVpbGQveHhsaW1pdGVkLnZjeHByb2oKKysrIGIvUENidWlsZC94eGxpbWl0ZWQudmN4cHJvagpAQCAtMSw2ICsxLDE0IEBACiDvu788P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgogPFByb2plY3QgRGVmYXVsdFRhcmdldHM9IkJ1aWxkIiBUb29sc1ZlcnNpb249IjQuMCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+CiAgIDxJdGVtR3JvdXAgTGFiZWw9IlByb2plY3RDb25maWd1cmF0aW9ucyI+CisgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IkRlYnVnfFdpbjMyIj4KKyAgICAgIDxDb25maWd1cmF0aW9uPkRlYnVnPC9Db25maWd1cmF0aW9uPgorICAgICAgPFBsYXRmb3JtPldpbjMyPC9QbGF0Zm9ybT4KKyAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgorICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJEZWJ1Z3x4NjQiPgorICAgICAgPENvbmZpZ3VyYXRpb24+RGVidWc8L0NvbmZpZ3VyYXRpb24+CisgICAgICA8UGxhdGZvcm0+eDY0PC9QbGF0Zm9ybT4KKyAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgogICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJQR0luc3RydW1lbnR8V2luMzIiPgogICAgICAgPENvbmZpZ3VyYXRpb24+UEdJbnN0cnVtZW50PC9Db25maWd1cmF0aW9uPgogICAgICAgPFBsYXRmb3JtPldpbjMyPC9QbGF0Zm9ybT4KQEAgLTMxLDE1OCArMzksNDQgQEAKICAgICA8Um9vdE5hbWVzcGFjZT54eGxpbWl0ZWQ8L1Jvb3ROYW1lc3BhY2U+CiAgICAgPEtleXdvcmQ+V2luMzJQcm9qPC9LZXl3b3JkPgogICA8L1Byb3BlcnR5R3JvdXA+CisgIDxJbXBvcnQgUHJvamVjdD0icHl0aG9uLnByb3BzIiAvPgogICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5EZWZhdWx0LnByb3BzIiAvPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgorICA8UHJvcGVydHlHcm91cCBMYWJlbD0iQ29uZmlndXJhdGlvbiI+CiAgICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KICAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgorICAgIDxTdXBwb3J0UEdPPmZhbHNlPC9TdXBwb3J0UEdPPgogICA8L1Byb3BlcnR5R3JvdXA+CiAgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnByb3BzIiAvPgorICA8UHJvcGVydHlHcm91cD4KKyAgICA8VGFyZ2V0RXh0Pi5weWQ8L1RhcmdldEV4dD4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgogICA8SW1wb3J0R3JvdXAgTGFiZWw9IkV4dGVuc2lvblNldHRpbmdzIj4KICAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgorICA8SW1wb3J0R3JvdXAgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KICAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJwZ3VwZGF0ZS5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJwZ2luc3RydW1lbnQucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZC5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJ4NjQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJwZ3VwZGF0ZS5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0ieDY0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icGdpbnN0cnVtZW50LnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0ieDY0LnByb3BzIiAvPgorICAgIDxJbXBvcnQgUHJvamVjdD0icHlwcm9qZWN0LnByb3BzIiAvPgogICA8L0ltcG9ydEdyb3VwPgogICA8UHJvcGVydHlHcm91cCBMYWJlbD0iVXNlck1hY3JvcyIgLz4KICAgPFByb3BlcnR5R3JvdXA+CiAgICAgPF9Qcm9qZWN0RmlsZVZlcnNpb24+MTAuMC4zMDMxOS4xPC9fUHJvamVjdEZpbGVWZXJzaW9uPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiAvPgogICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPgorICA8SXRlbURlZmluaXRpb25Hcm91cD4KICAgICA8Q2xDb21waWxlPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPk5ERUJVRztfV0lOMzI7X1dJTkRMTDtQeV9MSU1JVEVEX0FQST0weDAzMDQwMDAwPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KKyAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4lKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTtQeV9MSU1JVEVEX0FQST0weDAzMDQwMDAwPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KICAgICA8L0NsQ29tcGlsZT4KICAgICA8TGluaz4KICAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPndzb2NrMzIubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgICA8SWdub3JlU3BlY2lmaWNEZWZhdWx0TGlicmFyaWVzPmxpYmM7JShJZ25vcmVTcGVjaWZpY0RlZmF1bHRMaWJyYXJpZXMpPC9JZ25vcmVTcGVjaWZpY0RlZmF1bHRMaWJyYXJpZXM+CiAgICAgICA8QmFzZUFkZHJlc3M+MHgxRDExMDAwMDwvQmFzZUFkZHJlc3M+CiAgICAgPC9MaW5rPgogICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj4KLSAgICA8TWlkbD4KLSAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgotICAgIDwvTWlkbD4KLSAgICA8TGluaz4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPndzb2NrMzIubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgICA8SWdub3JlU3BlY2lmaWNEZWZhdWx0TGlicmFyaWVzPmxpYmM7JShJZ25vcmVTcGVjaWZpY0RlZmF1bHRMaWJyYXJpZXMpPC9JZ25vcmVTcGVjaWZpY0RlZmF1bHRMaWJyYXJpZXM+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxRDExMDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyI+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5QeV9MSU1JVEVEX0FQST0weDAzMDQwMDAwOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8TGluaz4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPndzb2NrMzIubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgICA8SWdub3JlU3BlY2lmaWNEZWZhdWx0TGlicmFyaWVzPmxpYmM7JShJZ25vcmVTcGVjaWZpY0RlZmF1bHRMaWJyYXJpZXMpPC9JZ25vcmVTcGVjaWZpY0RlZmF1bHRMaWJyYXJpZXM+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxRDExMDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciPgotICAgIDxNaWRsPgotICAgICAgPFRhcmdldEVudmlyb25tZW50Plg2NDwvVGFyZ2V0RW52aXJvbm1lbnQ+Ci0gICAgPC9NaWRsPgotICAgIDxMaW5rPgotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+d3NvY2szMi5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KLSAgICAgIDxJZ25vcmVTcGVjaWZpY0RlZmF1bHRMaWJyYXJpZXM+bGliYzslKElnbm9yZVNwZWNpZmljRGVmYXVsdExpYnJhcmllcyk8L0lnbm9yZVNwZWNpZmljRGVmYXVsdExpYnJhcmllcz4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFEMTEwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICAgIDxUYXJnZXRNYWNoaW5lPk1hY2hpbmVYNjQ8L1RhcmdldE1hY2hpbmU+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIj4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPlB5X0xJTUlURURfQVBJPTB4MDMwNDAwMDA7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxMaW5rPgotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+d3NvY2szMi5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KLSAgICAgIDxJZ25vcmVTcGVjaWZpY0RlZmF1bHRMaWJyYXJpZXM+bGliYzslKElnbm9yZVNwZWNpZmljRGVmYXVsdExpYnJhcmllcyk8L0lnbm9yZVNwZWNpZmljRGVmYXVsdExpYnJhcmllcz4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFEMTEwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIj4KLSAgICA8TWlkbD4KLSAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgotICAgIDwvTWlkbD4KLSAgICA8TGluaz4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPndzb2NrMzIubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgICA8SWdub3JlU3BlY2lmaWNEZWZhdWx0TGlicmFyaWVzPmxpYmM7JShJZ25vcmVTcGVjaWZpY0RlZmF1bHRMaWJyYXJpZXMpPC9JZ25vcmVTcGVjaWZpY0RlZmF1bHRMaWJyYXJpZXM+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxRDExMDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgICA8VGFyZ2V0TWFjaGluZT5NYWNoaW5lWDY0PC9UYXJnZXRNYWNoaW5lPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgogICA8SXRlbUdyb3VwPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cTW9kdWxlc1x4eGxpbWl0ZWQuYyIgLz4KICAgPC9JdGVtR3JvdXA+CisgIDxJdGVtR3JvdXA+CisgICAgPFByb2plY3RSZWZlcmVuY2UgSW5jbHVkZT0icHl0aG9uM2RsbC52Y3hwcm9qIj4KKyAgICAgIDxQcm9qZWN0Pns4ODVkNDg5OC1kMDhkLTQwOTEtOWM0MC1jNzAwY2ZlM2ZjNWF9PC9Qcm9qZWN0PgorICAgIDwvUHJvamVjdFJlZmVyZW5jZT4KKyAgPC9JdGVtR3JvdXA+CiAgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnRhcmdldHMiIC8+CiAgIDxJbXBvcnRHcm91cCBMYWJlbD0iRXh0ZW5zaW9uVGFyZ2V0cyI+CiAgIDwvSW1wb3J0R3JvdXA+CmRpZmYgLS1naXQgYS9QYXJzZXIvUHl0aG9uLmFzZGwgYi9QYXJzZXIvUHl0aG9uLmFzZGwKaW5kZXggZGViZDg5ZS4uNzkyY2FiNyAxMDA2NDQKLS0tIGEvUGFyc2VyL1B5dGhvbi5hc2RsCisrKyBiL1BhcnNlci9QeXRob24uYXNkbApAQCAtOTEsNyArOTEsNyBAQAogCiAgICAgYm9vbG9wID0gQW5kIHwgT3IgCiAKLSAgICBvcGVyYXRvciA9IEFkZCB8IFN1YiB8IE11bHQgfCBEaXYgfCBNb2QgfCBQb3cgfCBMU2hpZnQgCisgICAgb3BlcmF0b3IgPSBBZGQgfCBTdWIgfCBNdWx0IHwgTWF0TXVsdCB8IERpdiB8IE1vZCB8IFBvdyB8IExTaGlmdCAKICAgICAgICAgICAgICAgICAgfCBSU2hpZnQgfCBCaXRPciB8IEJpdFhvciB8IEJpdEFuZCB8IEZsb29yRGl2CiAKICAgICB1bmFyeW9wID0gSW52ZXJ0IHwgTm90IHwgVUFkZCB8IFVTdWIKZGlmZiAtLWdpdCBhL1BhcnNlci9hc2RsLnB5IGIvUGFyc2VyL2FzZGwucHkKaW5kZXggZmMxYjE2Yy4uMTIxY2RhYiAxMDA2NDQKLS0tIGEvUGFyc2VyL2FzZGwucHkKKysrIGIvUGFyc2VyL2FzZGwucHkKQEAgLTEsMjU1ICsxLDUyIEBACi0iIiJBbiBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgWmVwaHlyIEFic3RyYWN0IFN5bnRheCBEZWZpbml0aW9uIExhbmd1YWdlLgorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgUGFyc2VyIGZvciBBU0RMIFsxXSBkZWZpbml0aW9uIGZpbGVzLiBSZWFkcyBpbiBhbiBBU0RMIGRlc2NyaXB0aW9uIGFuZCBwYXJzZXMKKyMgaXQgaW50byBhbiBBU1QgdGhhdCBkZXNjcmliZXMgaXQuCisjCisjIFRoZSBFQk5GIHdlJ3JlIHBhcnNpbmcgaGVyZTogRmlndXJlIDEgb2YgdGhlIHBhcGVyIFsxXS4gRXh0ZW5kZWQgdG8gc3VwcG9ydAorIyBtb2R1bGVzIGFuZCBhdHRyaWJ1dGVzIGFmdGVyIGEgcHJvZHVjdC4gV29yZHMgc3RhcnRpbmcgd2l0aCBDYXBpdGFsIGxldHRlcnMKKyMgYXJlIHRlcm1pbmFscy4gTGl0ZXJhbCB0b2tlbnMgYXJlIGluICJkb3VibGUgcXVvdGVzIi4gT3RoZXJzIGFyZQorIyBub24tdGVybWluYWxzLiBJZCBpcyBlaXRoZXIgVG9rZW5JZCBvciBDb25zdHJ1Y3RvcklkLgorIworIyBtb2R1bGUgICAgICAgIDo6PSAibW9kdWxlIiBJZCAieyIgW2RlZmluaXRpb25zXSAifSIKKyMgZGVmaW5pdGlvbnMgICA6Oj0geyBUeXBlSWQgIj0iIHR5cGUgfQorIyB0eXBlICAgICAgICAgIDo6PSBwcm9kdWN0IHwgc3VtCisjIHByb2R1Y3QgICAgICAgOjo9IGZpZWxkcyBbImF0dHJpYnV0ZXMiIGZpZWxkc10KKyMgZmllbGRzICAgICAgICA6Oj0gIigiIHsgZmllbGQsICIsIiB9IGZpZWxkICIpIgorIyBmaWVsZCAgICAgICAgIDo6PSBUeXBlSWQgWyI/IiB8ICIqIl0gW0lkXQorIyBzdW0gICAgICAgICAgIDo6PSBjb25zdHJ1Y3RvciB7ICJ8IiBjb25zdHJ1Y3RvciB9IFsiYXR0cmlidXRlcyIgZmllbGRzXQorIyBjb25zdHJ1Y3RvciAgIDo6PSBDb25zdHJ1Y3RvcklkIFtmaWVsZHNdCisjCisjIFsxXSAiVGhlIFplcGh5ciBBYnN0cmFjdCBTeW50YXggRGVzY3JpcHRpb24gTGFuZ3VhZ2UiIGJ5IFdhbmcsIGV0LiBhbC4gU2VlCisjICAgICBodHRwOi8vYXNkbC5zb3VyY2Vmb3JnZS5uZXQvCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorZnJvbSBjb2xsZWN0aW9ucyBpbXBvcnQgbmFtZWR0dXBsZQoraW1wb3J0IHJlCiAKLVNlZSBodHRwOi8vYXNkbC5zb3VyY2Vmb3JnZS5uZXQvIGFuZAotaHR0cDovL3d3dy5jcy5wcmluY2V0b24uZWR1L3Jlc2VhcmNoL3RlY2hyZXBzL1RSLTU1NC05NworX19hbGxfXyA9IFsKKyAgICAnYnVpbHRpbl90eXBlcycsICdwYXJzZScsICdBU1QnLCAnTW9kdWxlJywgJ1R5cGUnLCAnQ29uc3RydWN0b3InLAorICAgICdGaWVsZCcsICdTdW0nLCAnUHJvZHVjdCcsICdWaXNpdG9yQmFzZScsICdDaGVjaycsICdjaGVjayddCiAKLU9ubHkgc3VwcG9ydHMgdG9wIGxldmVsIG1vZHVsZSBkZWNsLCBub3Qgdmlldy4gIEknbSBndWVzc2luZyB0aGF0IHZpZXcKLWlzIGludGVuZGVkIHRvIHN1cHBvcnQgdGhlIGJyb3dzZXIgYW5kIEknbSBub3QgaW50ZXJlc3RlZCBpbiB0aGUKLWJyb3dzZXIuCisjIFRoZSBmb2xsb3dpbmcgY2xhc3NlcyBkZWZpbmUgbm9kZXMgaW50byB3aGljaCB0aGUgQVNETCBkZXNjcmlwdGlvbiBpcyBwYXJzZWQuCisjIE5vdGU6IHRoaXMgaXMgYSAibWV0YS1BU1QiLiBBU0RMIGZpbGVzIChzdWNoIGFzIFB5dGhvbi5hc2RsKSBkZXNjcmliZSB0aGUgQVNUCisjIHN0cnVjdHVyZSB1c2VkIGJ5IGEgcHJvZ3JhbW1pbmcgbGFuZ3VhZ2UuIEJ1dCBBU0RMIGZpbGVzIHRoZW1zZWx2ZXMgbmVlZCB0byBiZQorIyBwYXJzZWQuIFRoaXMgbW9kdWxlIHBhcnNlcyBBU0RMIGZpbGVzIGFuZCB1c2VzIGEgc2ltcGxlIEFTVCB0byByZXByZXNlbnQgdGhlbS4KKyMgU2VlIHRoZSBFQk5GIGF0IHRoZSB0b3Agb2YgdGhlIGZpbGUgdG8gdW5kZXJzdGFuZCB0aGUgbG9naWNhbCBjb25uZWN0aW9uCisjIGJldHdlZW4gdGhlIHZhcmlvdXMgbm9kZSB0eXBlcy4KIAotQ2hhbmdlcyBmb3IgUHl0aG9uOiBBZGQgc3VwcG9ydCBmb3IgbW9kdWxlIHZlcnNpb25zCi0iIiIKK2J1aWx0aW5fdHlwZXMgPSB7J2lkZW50aWZpZXInLCAnc3RyaW5nJywgJ2J5dGVzJywgJ2ludCcsICdvYmplY3QnLCAnc2luZ2xldG9uJ30KIAotaW1wb3J0IG9zCi1pbXBvcnQgc3lzCi1pbXBvcnQgdHJhY2ViYWNrCi0KLWltcG9ydCBzcGFyawotCi1kZWYgb3V0cHV0KCpzdHJpbmdzKToKLSAgICBmb3IgcyBpbiBzdHJpbmdzOgotICAgICAgICBzeXMuc3Rkb3V0LndyaXRlKHN0cihzKSArICJcbiIpCi0KLQotY2xhc3MgVG9rZW4ob2JqZWN0KToKLSAgICAjIHNwYXJrIHNlZW1zIHRvIGRpc3BhdGNoIGluIHRoZSBwYXJzZXIgYmFzZWQgb24gYSB0b2tlbidzCi0gICAgIyB0eXBlIGF0dHJpYnV0ZQotICAgIGRlZiBfX2luaXRfXyhzZWxmLCB0eXBlLCBsaW5lbm8pOgotICAgICAgICBzZWxmLnR5cGUgPSB0eXBlCi0gICAgICAgIHNlbGYubGluZW5vID0gbGluZW5vCi0KLSAgICBkZWYgX19zdHJfXyhzZWxmKToKLSAgICAgICAgcmV0dXJuIHNlbGYudHlwZQotCitjbGFzcyBBU1Q6CiAgICAgZGVmIF9fcmVwcl9fKHNlbGYpOgotICAgICAgICByZXR1cm4gc3RyKHNlbGYpCi0KLWNsYXNzIElkKFRva2VuKToKLSAgICBkZWYgX19pbml0X18oc2VsZiwgdmFsdWUsIGxpbmVubyk6Ci0gICAgICAgIHNlbGYudHlwZSA9ICdJZCcKLSAgICAgICAgc2VsZi52YWx1ZSA9IHZhbHVlCi0gICAgICAgIHNlbGYubGluZW5vID0gbGluZW5vCi0KLSAgICBkZWYgX19zdHJfXyhzZWxmKToKLSAgICAgICAgcmV0dXJuIHNlbGYudmFsdWUKLQotY2xhc3MgU3RyaW5nKFRva2VuKToKLSAgICBkZWYgX19pbml0X18oc2VsZiwgdmFsdWUsIGxpbmVubyk6Ci0gICAgICAgIHNlbGYudHlwZSA9ICdTdHJpbmcnCi0gICAgICAgIHNlbGYudmFsdWUgPSB2YWx1ZQotICAgICAgICBzZWxmLmxpbmVubyA9IGxpbmVubwotCi1jbGFzcyBBU0RMU3ludGF4RXJyb3IoRXhjZXB0aW9uKToKLQotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBsaW5lbm8sIHRva2VuPU5vbmUsIG1zZz1Ob25lKToKLSAgICAgICAgc2VsZi5saW5lbm8gPSBsaW5lbm8KLSAgICAgICAgc2VsZi50b2tlbiA9IHRva2VuCi0gICAgICAgIHNlbGYubXNnID0gbXNnCi0KLSAgICBkZWYgX19zdHJfXyhzZWxmKToKLSAgICAgICAgaWYgc2VsZi5tc2cgaXMgTm9uZToKLSAgICAgICAgICAgIHJldHVybiAiRXJyb3IgYXQgJyVzJywgbGluZSAlZCIgJSAoc2VsZi50b2tlbiwgc2VsZi5saW5lbm8pCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICByZXR1cm4gIiVzLCBsaW5lICVkIiAlIChzZWxmLm1zZywgc2VsZi5saW5lbm8pCi0KLWNsYXNzIEFTRExTY2FubmVyKHNwYXJrLkdlbmVyaWNTY2FubmVyLCBvYmplY3QpOgotCi0gICAgZGVmIHRva2VuaXplKHNlbGYsIGlucHV0KToKLSAgICAgICAgc2VsZi5ydiA9IFtdCi0gICAgICAgIHNlbGYubGluZW5vID0gMQotICAgICAgICBzdXBlcihBU0RMU2Nhbm5lciwgc2VsZikudG9rZW5pemUoaW5wdXQpCi0gICAgICAgIHJldHVybiBzZWxmLnJ2Ci0KLSAgICBkZWYgdF9pZChzZWxmLCBzKToKLSAgICAgICAgciJbXHdcLl0rIgotICAgICAgICAjIFhYWCBkb2Vzbid0IGRpc3Rpbmd1aXNoIHVwcGVyIHZzLiBsb3dlciwgd2hpY2ggaXMKLSAgICAgICAgIyBzaWduaWZpY2FudCBmb3IgQVNETC4KLSAgICAgICAgc2VsZi5ydi5hcHBlbmQoSWQocywgc2VsZi5saW5lbm8pKQotCi0gICAgZGVmIHRfc3RyaW5nKHNlbGYsIHMpOgotICAgICAgICByJyJbXiJdKiInCi0gICAgICAgIHNlbGYucnYuYXBwZW5kKFN0cmluZyhzLCBzZWxmLmxpbmVubykpCi0KLSAgICBkZWYgdF94eHgoc2VsZiwgcyk6ICMgbm90IHN1cmUgd2hhdCB0aGlzIHByb2R1Y3Rpb24gbWVhbnMKLSAgICAgICAgciI8PSIKLSAgICAgICAgc2VsZi5ydi5hcHBlbmQoVG9rZW4ocywgc2VsZi5saW5lbm8pKQotCi0gICAgZGVmIHRfcHVuY3R1YXRpb24oc2VsZiwgcyk6Ci0gICAgICAgIHIiW1x7XH1cKlw9XHxcKFwpXCxcP1w6XSIKLSAgICAgICAgc2VsZi5ydi5hcHBlbmQoVG9rZW4ocywgc2VsZi5saW5lbm8pKQotCi0gICAgZGVmIHRfY29tbWVudChzZWxmLCBzKToKLSAgICAgICAgciJcLVwtW15cbl0qIgotICAgICAgICBwYXNzCi0KLSAgICBkZWYgdF9uZXdsaW5lKHNlbGYsIHMpOgotICAgICAgICByIlxuIgotICAgICAgICBzZWxmLmxpbmVubyArPSAxCi0KLSAgICBkZWYgdF93aGl0ZXNwYWNlKHNlbGYsIHMpOgotICAgICAgICByIlsgXHRdKyIKLSAgICAgICAgcGFzcwotCi0gICAgZGVmIHRfZGVmYXVsdChzZWxmLCBzKToKLSAgICAgICAgciIgLiArIgotICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJ1bm1hdGNoZWQgaW5wdXQ6ICVyIiAlIHMpCi0KLWNsYXNzIEFTRExQYXJzZXIoc3BhcmsuR2VuZXJpY1BhcnNlciwgb2JqZWN0KToKLSAgICBkZWYgX19pbml0X18oc2VsZik6Ci0gICAgICAgIHN1cGVyKEFTRExQYXJzZXIsIHNlbGYpLl9faW5pdF9fKCJtb2R1bGUiKQotCi0gICAgZGVmIHR5cGVzdHJpbmcoc2VsZiwgdG9rKToKLSAgICAgICAgcmV0dXJuIHRvay50eXBlCi0KLSAgICBkZWYgZXJyb3Ioc2VsZiwgdG9rKToKLSAgICAgICAgcmFpc2UgQVNETFN5bnRheEVycm9yKHRvay5saW5lbm8sIHRvaykKLQotICAgIGRlZiBwX21vZHVsZV8wKHNlbGYsIGluZm8pOgotICAgICAgICAiIG1vZHVsZSA6Oj0gSWQgSWQgeyB9ICIKLSAgICAgICAgbW9kdWxlLCBuYW1lLCBfMCwgXzEgPSBpbmZvCi0gICAgICAgIGlmIG1vZHVsZS52YWx1ZSAhPSAibW9kdWxlIjoKLSAgICAgICAgICAgIHJhaXNlIEFTRExTeW50YXhFcnJvcihtb2R1bGUubGluZW5vLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zZz0iZXhwZWN0ZWQgJ21vZHVsZScsIGZvdW5kICVzIiAlIG1vZHVsZSkKLSAgICAgICAgcmV0dXJuIE1vZHVsZShuYW1lLCBOb25lKQotCi0gICAgZGVmIHBfbW9kdWxlKHNlbGYsIGluZm8pOgotICAgICAgICAiIG1vZHVsZSA6Oj0gSWQgSWQgeyBkZWZpbml0aW9ucyB9ICIKLSAgICAgICAgbW9kdWxlLCBuYW1lLCBfMCwgZGVmaW5pdGlvbnMsIF8xID0gaW5mbwotICAgICAgICBpZiBtb2R1bGUudmFsdWUgIT0gIm1vZHVsZSI6Ci0gICAgICAgICAgICByYWlzZSBBU0RMU3ludGF4RXJyb3IobW9kdWxlLmxpbmVubywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc2c9ImV4cGVjdGVkICdtb2R1bGUnLCBmb3VuZCAlcyIgJSBtb2R1bGUpCi0gICAgICAgIHJldHVybiBNb2R1bGUobmFtZSwgZGVmaW5pdGlvbnMpCi0KLSAgICBkZWYgcF9kZWZpbml0aW9uXzAoc2VsZiwgZGVmaW5pdGlvbik6Ci0gICAgICAgICIgZGVmaW5pdGlvbnMgOjo9IGRlZmluaXRpb24gIgotICAgICAgICByZXR1cm4gZGVmaW5pdGlvblswXQotCi0gICAgZGVmIHBfZGVmaW5pdGlvbl8xKHNlbGYsIGRlZmluaXRpb25zKToKLSAgICAgICAgIiBkZWZpbml0aW9ucyA6Oj0gZGVmaW5pdGlvbiBkZWZpbml0aW9ucyAiCi0gICAgICAgIHJldHVybiBkZWZpbml0aW9uc1swXSArIGRlZmluaXRpb25zWzFdCi0KLSAgICBkZWYgcF9kZWZpbml0aW9uKHNlbGYsIGluZm8pOgotICAgICAgICAiIGRlZmluaXRpb24gOjo9IElkID0gdHlwZSAiCi0gICAgICAgIGlkLCBfLCB0eXBlID0gaW5mbwotICAgICAgICByZXR1cm4gW1R5cGUoaWQsIHR5cGUpXQotCi0gICAgZGVmIHBfdHlwZV8wKHNlbGYsIHByb2R1Y3QpOgotICAgICAgICAiIHR5cGUgOjo9IHByb2R1Y3QgIgotICAgICAgICByZXR1cm4gcHJvZHVjdFswXQotCi0gICAgZGVmIHBfdHlwZV8xKHNlbGYsIHN1bSk6Ci0gICAgICAgICIgdHlwZSA6Oj0gc3VtICIKLSAgICAgICAgcmV0dXJuIFN1bShzdW1bMF0pCi0KLSAgICBkZWYgcF90eXBlXzIoc2VsZiwgaW5mbyk6Ci0gICAgICAgICIgdHlwZSA6Oj0gc3VtIElkICggZmllbGRzICkgIgotICAgICAgICBzdW0sIGlkLCBfMCwgYXR0cmlidXRlcywgXzEgPSBpbmZvCi0gICAgICAgIGlmIGlkLnZhbHVlICE9ICJhdHRyaWJ1dGVzIjoKLSAgICAgICAgICAgIHJhaXNlIEFTRExTeW50YXhFcnJvcihpZC5saW5lbm8sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNnPSJleHBlY3RlZCBhdHRyaWJ1dGVzLCBmb3VuZCAlcyIgJSBpZCkKLSAgICAgICAgcmV0dXJuIFN1bShzdW0sIGF0dHJpYnV0ZXMpCi0KLSAgICBkZWYgcF9wcm9kdWN0XzAoc2VsZiwgaW5mbyk6Ci0gICAgICAgICIgcHJvZHVjdCA6Oj0gKCBmaWVsZHMgKSAiCi0gICAgICAgIF8wLCBmaWVsZHMsIF8xID0gaW5mbwotICAgICAgICByZXR1cm4gUHJvZHVjdChmaWVsZHMpCi0KLSAgICBkZWYgcF9wcm9kdWN0XzEoc2VsZiwgaW5mbyk6Ci0gICAgICAgICIgcHJvZHVjdCA6Oj0gKCBmaWVsZHMgKSBJZCAoIGZpZWxkcyApICIKLSAgICAgICAgXzAsIGZpZWxkcywgXzEsIGlkLCBfMiwgYXR0cmlidXRlcywgXzMgPSBpbmZvCi0gICAgICAgIGlmIGlkLnZhbHVlICE9ICJhdHRyaWJ1dGVzIjoKLSAgICAgICAgICAgIHJhaXNlIEFTRExTeW50YXhFcnJvcihpZC5saW5lbm8sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNnPSJleHBlY3RlZCBhdHRyaWJ1dGVzLCBmb3VuZCAlcyIgJSBpZCkKLSAgICAgICAgcmV0dXJuIFByb2R1Y3QoZmllbGRzLCBhdHRyaWJ1dGVzKQotCi0gICAgZGVmIHBfc3VtXzAoc2VsZiwgY29uc3RydWN0b3IpOgotICAgICAgICAiIHN1bSA6Oj0gY29uc3RydWN0b3IgIgotICAgICAgICByZXR1cm4gW2NvbnN0cnVjdG9yWzBdXQotCi0gICAgZGVmIHBfc3VtXzEoc2VsZiwgaW5mbyk6Ci0gICAgICAgICIgc3VtIDo6PSBjb25zdHJ1Y3RvciB8IHN1bSAiCi0gICAgICAgIGNvbnN0cnVjdG9yLCBfLCBzdW0gPSBpbmZvCi0gICAgICAgIHJldHVybiBbY29uc3RydWN0b3JdICsgc3VtCi0KLSAgICBkZWYgcF9zdW1fMihzZWxmLCBpbmZvKToKLSAgICAgICAgIiBzdW0gOjo9IGNvbnN0cnVjdG9yIHwgc3VtICIKLSAgICAgICAgY29uc3RydWN0b3IsIF8sIHN1bSA9IGluZm8KLSAgICAgICAgcmV0dXJuIFtjb25zdHJ1Y3Rvcl0gKyBzdW0KLQotICAgIGRlZiBwX2NvbnN0cnVjdG9yXzAoc2VsZiwgaWQpOgotICAgICAgICAiIGNvbnN0cnVjdG9yIDo6PSBJZCAiCi0gICAgICAgIHJldHVybiBDb25zdHJ1Y3RvcihpZFswXSkKLQotICAgIGRlZiBwX2NvbnN0cnVjdG9yXzEoc2VsZiwgaW5mbyk6Ci0gICAgICAgICIgY29uc3RydWN0b3IgOjo9IElkICggZmllbGRzICkgIgotICAgICAgICBpZCwgXzAsIGZpZWxkcywgXzEgPSBpbmZvCi0gICAgICAgIHJldHVybiBDb25zdHJ1Y3RvcihpZCwgZmllbGRzKQotCi0gICAgZGVmIHBfZmllbGRzXzAoc2VsZiwgZmllbGQpOgotICAgICAgICAiIGZpZWxkcyA6Oj0gZmllbGQgIgotICAgICAgICByZXR1cm4gW2ZpZWxkWzBdXQotCi0gICAgZGVmIHBfZmllbGRzXzEoc2VsZiwgaW5mbyk6Ci0gICAgICAgICIgZmllbGRzIDo6PSBmaWVsZHMgLCBmaWVsZCAiCi0gICAgICAgIGZpZWxkcywgXywgZmllbGQgPSBpbmZvCi0gICAgICAgIHJldHVybiBmaWVsZHMgKyBbZmllbGRdCi0KLSAgICBkZWYgcF9maWVsZF8wKHNlbGYsIHR5cGVfKToKLSAgICAgICAgIiBmaWVsZCA6Oj0gSWQgIgotICAgICAgICByZXR1cm4gRmllbGQodHlwZV9bMF0pCi0KLSAgICBkZWYgcF9maWVsZF8xKHNlbGYsIGluZm8pOgotICAgICAgICAiIGZpZWxkIDo6PSBJZCBJZCAiCi0gICAgICAgIHR5cGUsIG5hbWUgPSBpbmZvCi0gICAgICAgIHJldHVybiBGaWVsZCh0eXBlLCBuYW1lKQotCi0gICAgZGVmIHBfZmllbGRfMihzZWxmLCBpbmZvKToKLSAgICAgICAgIiBmaWVsZCA6Oj0gSWQgKiBJZCAiCi0gICAgICAgIHR5cGUsIF8sIG5hbWUgPSBpbmZvCi0gICAgICAgIHJldHVybiBGaWVsZCh0eXBlLCBuYW1lLCBzZXE9VHJ1ZSkKLQotICAgIGRlZiBwX2ZpZWxkXzMoc2VsZiwgaW5mbyk6Ci0gICAgICAgICIgZmllbGQgOjo9IElkID8gSWQgIgotICAgICAgICB0eXBlLCBfLCBuYW1lID0gaW5mbwotICAgICAgICByZXR1cm4gRmllbGQodHlwZSwgbmFtZSwgb3B0PVRydWUpCi0KLSAgICBkZWYgcF9maWVsZF80KHNlbGYsIHR5cGVfKToKLSAgICAgICAgIiBmaWVsZCA6Oj0gSWQgKiAiCi0gICAgICAgIHJldHVybiBGaWVsZCh0eXBlX1swXSwgc2VxPVRydWUpCi0KLSAgICBkZWYgcF9maWVsZF81KHNlbGYsIHR5cGVfKToKLSAgICAgICAgIiBmaWVsZCA6Oj0gSWQgPyAiCi0gICAgICAgIHJldHVybiBGaWVsZCh0eXBlWzBdLCBvcHQ9VHJ1ZSkKLQotYnVpbHRpbl90eXBlcyA9ICgiaWRlbnRpZmllciIsICJzdHJpbmciLCAiYnl0ZXMiLCAiaW50IiwgIm9iamVjdCIsICJzaW5nbGV0b24iKQotCi0jIGJlbG93IGlzIGEgY29sbGVjdGlvbiBvZiBjbGFzc2VzIHRvIGNhcHR1cmUgdGhlIEFTVCBvZiBhbiBBU1QgOi0pCi0jIG5vdCBzdXJlIGlmIGFueSBvZiB0aGUgbWV0aG9kcyBhcmUgdXNlZnVsIHlldCwgYnV0IEknbSBhZGRpbmcgdGhlbQotIyBwaWVjZW1lYWwgYXMgdGhleSBzZWVtIGhlbHBmdWwKLQotY2xhc3MgQVNUKG9iamVjdCk6Ci0gICAgcGFzcyAjIGEgbWFya2VyIGNsYXNzCisgICAgICAgIHJhaXNlIE5vdEltcGxlbWVudGVkRXJyb3IKIAogY2xhc3MgTW9kdWxlKEFTVCk6CiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIG5hbWUsIGRmbnMpOgogICAgICAgICBzZWxmLm5hbWUgPSBuYW1lCiAgICAgICAgIHNlbGYuZGZucyA9IGRmbnMKLSAgICAgICAgc2VsZi50eXBlcyA9IHt9ICMgbWFwcyB0eXBlIG5hbWUgdG8gdmFsdWUgKGZyb20gZGZucykKLSAgICAgICAgZm9yIHR5cGUgaW4gZGZuczoKLSAgICAgICAgICAgIHNlbGYudHlwZXNbdHlwZS5uYW1lLnZhbHVlXSA9IHR5cGUudmFsdWUKKyAgICAgICAgc2VsZi50eXBlcyA9IHt0eXBlLm5hbWU6IHR5cGUudmFsdWUgZm9yIHR5cGUgaW4gZGZuc30KIAogICAgIGRlZiBfX3JlcHJfXyhzZWxmKToKLSAgICAgICAgcmV0dXJuICJNb2R1bGUoJXMsICVzKSIgJSAoc2VsZi5uYW1lLCBzZWxmLmRmbnMpCisgICAgICAgIHJldHVybiAnTW9kdWxlKHswLm5hbWV9LCB7MC5kZm5zfSknLmZvcm1hdChzZWxmKQogCiBjbGFzcyBUeXBlKEFTVCk6CiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIG5hbWUsIHZhbHVlKToKQEAgLTI1Nyw3ICs1NCw3IEBACiAgICAgICAgIHNlbGYudmFsdWUgPSB2YWx1ZQogCiAgICAgZGVmIF9fcmVwcl9fKHNlbGYpOgotICAgICAgICByZXR1cm4gIlR5cGUoJXMsICVzKSIgJSAoc2VsZi5uYW1lLCBzZWxmLnZhbHVlKQorICAgICAgICByZXR1cm4gJ1R5cGUoezAubmFtZX0sIHswLnZhbHVlfSknLmZvcm1hdChzZWxmKQogCiBjbGFzcyBDb25zdHJ1Y3RvcihBU1QpOgogICAgIGRlZiBfX2luaXRfXyhzZWxmLCBuYW1lLCBmaWVsZHM9Tm9uZSk6CkBAIC0yNjUsNyArNjIsNyBAQAogICAgICAgICBzZWxmLmZpZWxkcyA9IGZpZWxkcyBvciBbXQogCiAgICAgZGVmIF9fcmVwcl9fKHNlbGYpOgotICAgICAgICByZXR1cm4gIkNvbnN0cnVjdG9yKCVzLCAlcykiICUgKHNlbGYubmFtZSwgc2VsZi5maWVsZHMpCisgICAgICAgIHJldHVybiAnQ29uc3RydWN0b3IoezAubmFtZX0sIHswLmZpZWxkc30pJy5mb3JtYXQoc2VsZikKIAogY2xhc3MgRmllbGQoQVNUKToKICAgICBkZWYgX19pbml0X18oc2VsZiwgdHlwZSwgbmFtZT1Ob25lLCBzZXE9RmFsc2UsIG9wdD1GYWxzZSk6CkBAIC0yODIsOSArNzksOSBAQAogICAgICAgICBlbHNlOgogICAgICAgICAgICAgZXh0cmEgPSAiIgogICAgICAgICBpZiBzZWxmLm5hbWUgaXMgTm9uZToKLSAgICAgICAgICAgIHJldHVybiAiRmllbGQoJXMlcykiICUgKHNlbGYudHlwZSwgZXh0cmEpCisgICAgICAgICAgICByZXR1cm4gJ0ZpZWxkKHswLnR5cGV9ezF9KScuZm9ybWF0KHNlbGYsIGV4dHJhKQogICAgICAgICBlbHNlOgotICAgICAgICAgICAgcmV0dXJuICJGaWVsZCglcywgJXMlcykiICUgKHNlbGYudHlwZSwgc2VsZi5uYW1lLCBleHRyYSkKKyAgICAgICAgICAgIHJldHVybiAnRmllbGQoezAudHlwZX0sIHswLm5hbWV9ezF9KScuZm9ybWF0KHNlbGYsIGV4dHJhKQogCiBjbGFzcyBTdW0oQVNUKToKICAgICBkZWYgX19pbml0X18oc2VsZiwgdHlwZXMsIGF0dHJpYnV0ZXM9Tm9uZSk6CkBAIC0yOTIsMTAgKzg5LDEwIEBACiAgICAgICAgIHNlbGYuYXR0cmlidXRlcyA9IGF0dHJpYnV0ZXMgb3IgW10KIAogICAgIGRlZiBfX3JlcHJfXyhzZWxmKToKLSAgICAgICAgaWYgc2VsZi5hdHRyaWJ1dGVzIGlzIE5vbmU6Ci0gICAgICAgICAgICByZXR1cm4gIlN1bSglcykiICUgc2VsZi50eXBlcworICAgICAgICBpZiBzZWxmLmF0dHJpYnV0ZXM6CisgICAgICAgICAgICByZXR1cm4gJ1N1bSh7MC50eXBlc30sIHswLmF0dHJpYnV0ZXN9KScuZm9ybWF0KHNlbGYpCiAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICByZXR1cm4gIlN1bSglcywgJXMpIiAlIChzZWxmLnR5cGVzLCBzZWxmLmF0dHJpYnV0ZXMpCisgICAgICAgICAgICByZXR1cm4gJ1N1bSh7MC50eXBlc30pJy5mb3JtYXQoc2VsZikKIAogY2xhc3MgUHJvZHVjdChBU1QpOgogICAgIGRlZiBfX2luaXRfXyhzZWxmLCBmaWVsZHMsIGF0dHJpYnV0ZXM9Tm9uZSk6CkBAIC0zMDMsNDkgKzEwMCw0MyBAQAogICAgICAgICBzZWxmLmF0dHJpYnV0ZXMgPSBhdHRyaWJ1dGVzIG9yIFtdCiAKICAgICBkZWYgX19yZXByX18oc2VsZik6Ci0gICAgICAgIGlmIHNlbGYuYXR0cmlidXRlcyBpcyBOb25lOgotICAgICAgICAgICAgcmV0dXJuICJQcm9kdWN0KCVzKSIgJSBzZWxmLmZpZWxkcworICAgICAgICBpZiBzZWxmLmF0dHJpYnV0ZXM6CisgICAgICAgICAgICByZXR1cm4gJ1Byb2R1Y3QoezAuZmllbGRzfSwgezAuYXR0cmlidXRlc30pJy5mb3JtYXQoc2VsZikKICAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHJldHVybiAiUHJvZHVjdCglcywgJXMpIiAlIChzZWxmLmZpZWxkcywgc2VsZi5hdHRyaWJ1dGVzKQorICAgICAgICAgICAgcmV0dXJuICdQcm9kdWN0KHswLmZpZWxkc30pJy5mb3JtYXQoc2VsZikKKworIyBBIGdlbmVyaWMgdmlzaXRvciBmb3IgdGhlIG1ldGEtQVNUIHRoYXQgZGVzY3JpYmVzIEFTREwuIFRoaXMgY2FuIGJlIHVzZWQgYnkKKyMgZW1pdHRlcnMuIE5vdGUgdGhhdCB0aGlzIHZpc2l0b3IgZG9lcyBub3QgcHJvdmlkZSBhIGdlbmVyaWMgdmlzaXQgbWV0aG9kLCBzbyBhCisjIHN1YmNsYXNzIG5lZWRzIHRvIGRlZmluZSB2aXNpdCBtZXRob2RzIGZyb20gdmlzaXRNb2R1bGUgdG8gYXMgZGVlcCBhcyB0aGUKKyMgaW50ZXJlc3Rpbmcgbm9kZS4KKyMgV2UgYWxzbyBkZWZpbmUgYSBDaGVjayB2aXNpdG9yIHRoYXQgbWFrZXMgc3VyZSB0aGUgcGFyc2VkIEFTREwgaXMgd2VsbC1mb3JtZWQuCiAKIGNsYXNzIFZpc2l0b3JCYXNlKG9iamVjdCk6Ci0KLSAgICBkZWYgX19pbml0X18oc2VsZiwgc2tpcD1GYWxzZSk6CisgICAgIiIiR2VuZXJpYyB0cmVlIHZpc2l0b3IgZm9yIEFTVHMuIiIiCisgICAgZGVmIF9faW5pdF9fKHNlbGYpOgogICAgICAgICBzZWxmLmNhY2hlID0ge30KLSAgICAgICAgc2VsZi5za2lwID0gc2tpcAogCi0gICAgZGVmIHZpc2l0KHNlbGYsIG9iamVjdCwgKmFyZ3MpOgotICAgICAgICBtZXRoID0gc2VsZi5fZGlzcGF0Y2gob2JqZWN0KQotICAgICAgICBpZiBtZXRoIGlzIE5vbmU6Ci0gICAgICAgICAgICByZXR1cm4KLSAgICAgICAgdHJ5OgotICAgICAgICAgICAgbWV0aChvYmplY3QsICphcmdzKQotICAgICAgICBleGNlcHQgRXhjZXB0aW9uOgotICAgICAgICAgICAgb3V0cHV0KCJFcnJvciB2aXNpdGluZyIgKyByZXByKG9iamVjdCkpCi0gICAgICAgICAgICBvdXRwdXQoc3RyKHN5cy5leGNfaW5mbygpWzFdKSkKLSAgICAgICAgICAgIHRyYWNlYmFjay5wcmludF9leGMoKQotICAgICAgICAgICAgIyBYWFggaGFjawotICAgICAgICAgICAgaWYgaGFzYXR0cihzZWxmLCAnZmlsZScpOgotICAgICAgICAgICAgICAgIHNlbGYuZmlsZS5mbHVzaCgpCi0gICAgICAgICAgICBvcy5fZXhpdCgxKQotCi0gICAgZGVmIF9kaXNwYXRjaChzZWxmLCBvYmplY3QpOgotICAgICAgICBhc3NlcnQgaXNpbnN0YW5jZShvYmplY3QsIEFTVCksIHJlcHIob2JqZWN0KQotICAgICAgICBrbGFzcyA9IG9iamVjdC5fX2NsYXNzX18KKyAgICBkZWYgdmlzaXQoc2VsZiwgb2JqLCAqYXJncyk6CisgICAgICAgIGtsYXNzID0gb2JqLl9fY2xhc3NfXwogICAgICAgICBtZXRoID0gc2VsZi5jYWNoZS5nZXQoa2xhc3MpCiAgICAgICAgIGlmIG1ldGggaXMgTm9uZToKICAgICAgICAgICAgIG1ldGhuYW1lID0gInZpc2l0IiArIGtsYXNzLl9fbmFtZV9fCi0gICAgICAgICAgICBpZiBzZWxmLnNraXA6Ci0gICAgICAgICAgICAgICAgbWV0aCA9IGdldGF0dHIoc2VsZiwgbWV0aG5hbWUsIE5vbmUpCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIG1ldGggPSBnZXRhdHRyKHNlbGYsIG1ldGhuYW1lKQorICAgICAgICAgICAgbWV0aCA9IGdldGF0dHIoc2VsZiwgbWV0aG5hbWUsIE5vbmUpCiAgICAgICAgICAgICBzZWxmLmNhY2hlW2tsYXNzXSA9IG1ldGgKLSAgICAgICAgcmV0dXJuIG1ldGgKKyAgICAgICAgaWYgbWV0aDoKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICBtZXRoKG9iaiwgKmFyZ3MpCisgICAgICAgICAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGU6CisgICAgICAgICAgICAgICAgcHJpbnQoIkVycm9yIHZpc2l0aW5nICVyOiAlcyIgJSAob2JqLCBlKSkKKyAgICAgICAgICAgICAgICByYWlzZQogCiBjbGFzcyBDaGVjayhWaXNpdG9yQmFzZSk6CisgICAgIiIiQSB2aXNpdG9yIHRoYXQgY2hlY2tzIGEgcGFyc2VkIEFTREwgdHJlZSBmb3IgY29ycmVjdG5lc3MuCiAKKyAgICBFcnJvcnMgYXJlIHByaW50ZWQgYW5kIGFjY3VtdWxhdGVkLgorICAgICIiIgogICAgIGRlZiBfX2luaXRfXyhzZWxmKToKLSAgICAgICAgc3VwZXIoQ2hlY2ssIHNlbGYpLl9faW5pdF9fKHNraXA9VHJ1ZSkKKyAgICAgICAgc3VwZXIoQ2hlY2ssIHNlbGYpLl9faW5pdF9fKCkKICAgICAgICAgc2VsZi5jb25zID0ge30KICAgICAgICAgc2VsZi5lcnJvcnMgPSAwCiAgICAgICAgIHNlbGYudHlwZXMgPSB7fQpAQCAtMzY3LDggKzE1OCw4IEBACiAgICAgICAgIGlmIGNvbmZsaWN0IGlzIE5vbmU6CiAgICAgICAgICAgICBzZWxmLmNvbnNba2V5XSA9IG5hbWUKICAgICAgICAgZWxzZToKLSAgICAgICAgICAgIG91dHB1dCgiUmVkZWZpbml0aW9uIG9mIGNvbnN0cnVjdG9yICVzIiAlIGtleSkKLSAgICAgICAgICAgIG91dHB1dCgiRGVmaW5lZCBpbiAlcyBhbmQgJXMiICUgKGNvbmZsaWN0LCBuYW1lKSkKKyAgICAgICAgICAgIHByaW50KCdSZWRlZmluaXRpb24gb2YgY29uc3RydWN0b3Ige30nLmZvcm1hdChrZXkpKQorICAgICAgICAgICAgcHJpbnQoJ0RlZmluZWQgaW4ge30gYW5kIHt9Jy5mb3JtYXQoY29uZmxpY3QsIG5hbWUpKQogICAgICAgICAgICAgc2VsZi5lcnJvcnMgKz0gMQogICAgICAgICBmb3IgZiBpbiBjb25zLmZpZWxkczoKICAgICAgICAgICAgIHNlbGYudmlzaXQoZiwga2V5KQpAQCAtMzgzLDYgKzE3NCwxMSBAQAogICAgICAgICAgICAgc2VsZi52aXNpdChmLCBuYW1lKQogCiBkZWYgY2hlY2sobW9kKToKKyAgICAiIiJDaGVjayB0aGUgcGFyc2VkIEFTREwgdHJlZSBmb3IgY29ycmVjdG5lc3MuCisKKyAgICBSZXR1cm4gVHJ1ZSBpZiBzdWNjZXNzLiBGb3IgZmFpbHVyZSwgdGhlIGVycm9ycyBhcmUgcHJpbnRlZCBvdXQgYW5kIEZhbHNlCisgICAgaXMgcmV0dXJuZWQuCisgICAgIiIiCiAgICAgdiA9IENoZWNrKCkKICAgICB2LnZpc2l0KG1vZCkKIApAQCAtMzkwLDQ3ICsxODYsMTkwIEBACiAgICAgICAgIGlmIHQgbm90IGluIG1vZC50eXBlcyBhbmQgbm90IHQgaW4gYnVpbHRpbl90eXBlczoKICAgICAgICAgICAgIHYuZXJyb3JzICs9IDEKICAgICAgICAgICAgIHVzZXMgPSAiLCAiLmpvaW4odi50eXBlc1t0XSkKLSAgICAgICAgICAgIG91dHB1dCgiVW5kZWZpbmVkIHR5cGUgJXMsIHVzZWQgaW4gJXMiICUgKHQsIHVzZXMpKQotCisgICAgICAgICAgICBwcmludCgnVW5kZWZpbmVkIHR5cGUge30sIHVzZWQgaW4ge30nLmZvcm1hdCh0LCB1c2VzKSkKICAgICByZXR1cm4gbm90IHYuZXJyb3JzCiAKLWRlZiBwYXJzZShmaWxlKToKLSAgICBzY2FubmVyID0gQVNETFNjYW5uZXIoKQotICAgIHBhcnNlciA9IEFTRExQYXJzZXIoKQorIyBUaGUgQVNETCBwYXJzZXIgaXRzZWxmIGNvbWVzIG5leHQuIFRoZSBvbmx5IGludGVyZXN0aW5nIGV4dGVybmFsIGludGVyZmFjZQorIyBoZXJlIGlzIHRoZSB0b3AtbGV2ZWwgcGFyc2UgZnVuY3Rpb24uCiAKLSAgICBmID0gb3BlbihmaWxlKQotICAgIHRyeToKLSAgICAgICAgYnVmID0gZi5yZWFkKCkKLSAgICBmaW5hbGx5OgotICAgICAgICBmLmNsb3NlKCkKLSAgICB0b2tlbnMgPSBzY2FubmVyLnRva2VuaXplKGJ1ZikKLSAgICB0cnk6Ci0gICAgICAgIHJldHVybiBwYXJzZXIucGFyc2UodG9rZW5zKQotICAgIGV4Y2VwdCBBU0RMU3ludGF4RXJyb3I6Ci0gICAgICAgIGVyciA9IHN5cy5leGNfaW5mbygpWzFdCi0gICAgICAgIG91dHB1dChzdHIoZXJyKSkKLSAgICAgICAgbGluZXMgPSBidWYuc3BsaXQoIlxuIikKLSAgICAgICAgb3V0cHV0KGxpbmVzW2Vyci5saW5lbm8gLSAxXSkgIyBsaW5lcyBzdGFydHMgYXQgMCwgZmlsZXMgYXQgMQorZGVmIHBhcnNlKGZpbGVuYW1lKToKKyAgICAiIiJQYXJzZSBBU0RMIGZyb20gdGhlIGdpdmVuIGZpbGUgYW5kIHJldHVybiBhIE1vZHVsZSBub2RlIGRlc2NyaWJpbmcgaXQuIiIiCisgICAgd2l0aCBvcGVuKGZpbGVuYW1lKSBhcyBmOgorICAgICAgICBwYXJzZXIgPSBBU0RMUGFyc2VyKCkKKyAgICAgICAgcmV0dXJuIHBhcnNlci5wYXJzZShmLnJlYWQoKSkKIAotaWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoKLSAgICBpbXBvcnQgZ2xvYgotICAgIGltcG9ydCBzeXMKKyMgVHlwZXMgZm9yIGRlc2NyaWJpbmcgdG9rZW5zIGluIGFuIEFTREwgc3BlY2lmaWNhdGlvbi4KK2NsYXNzIFRva2VuS2luZDoKKyAgICAiIiJUb2tlbktpbmQgaXMgcHJvdmlkZXMgYSBzY29wZSBmb3IgZW51bWVyYXRlZCB0b2tlbiBraW5kcy4iIiIKKyAgICAoQ29uc3RydWN0b3JJZCwgVHlwZUlkLCBFcXVhbHMsIENvbW1hLCBRdWVzdGlvbiwgUGlwZSwgQXN0ZXJpc2ssCisgICAgIExQYXJlbiwgUlBhcmVuLCBMQnJhY2UsIFJCcmFjZSkgPSByYW5nZSgxMSkKIAotICAgIGlmIGxlbihzeXMuYXJndikgPiAxOgotICAgICAgICBmaWxlcyA9IHN5cy5hcmd2WzE6XQotICAgIGVsc2U6Ci0gICAgICAgIHRlc3RkaXIgPSAidGVzdHMiCi0gICAgICAgIGZpbGVzID0gZ2xvYi5nbG9iKHRlc3RkaXIgKyAiLyouYXNkbCIpCisgICAgb3BlcmF0b3JfdGFibGUgPSB7CisgICAgICAgICc9JzogRXF1YWxzLCAnLCc6IENvbW1hLCAgICAnPyc6IFF1ZXN0aW9uLCAnfCc6IFBpcGUsICAgICcoJzogTFBhcmVuLAorICAgICAgICAnKSc6IFJQYXJlbiwgJyonOiBBc3RlcmlzaywgJ3snOiBMQnJhY2UsICAgJ30nOiBSQnJhY2V9CiAKLSAgICBmb3IgZmlsZSBpbiBmaWxlczoKLSAgICAgICAgb3V0cHV0KGZpbGUpCi0gICAgICAgIG1vZCA9IHBhcnNlKGZpbGUpCi0gICAgICAgIGlmIG5vdCBtb2Q6Ci0gICAgICAgICAgICBicmVhawotICAgICAgICBvdXRwdXQoIm1vZHVsZSIsIG1vZC5uYW1lKQotICAgICAgICBvdXRwdXQobGVuKG1vZC5kZm5zKSwgImRlZmluaXRpb25zIikKLSAgICAgICAgaWYgbm90IGNoZWNrKG1vZCk6Ci0gICAgICAgICAgICBvdXRwdXQoIkNoZWNrIGZhaWxlZCIpCitUb2tlbiA9IG5hbWVkdHVwbGUoJ1Rva2VuJywgJ2tpbmQgdmFsdWUgbGluZW5vJykKKworY2xhc3MgQVNETFN5bnRheEVycm9yKEV4Y2VwdGlvbik6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIG1zZywgbGluZW5vPU5vbmUpOgorICAgICAgICBzZWxmLm1zZyA9IG1zZworICAgICAgICBzZWxmLmxpbmVubyA9IGxpbmVubyBvciAnPHVua25vd24+JworCisgICAgZGVmIF9fc3RyX18oc2VsZik6CisgICAgICAgIHJldHVybiAnU3ludGF4IGVycm9yIG9uIGxpbmUgezAubGluZW5vfTogezAubXNnfScuZm9ybWF0KHNlbGYpCisKK2RlZiB0b2tlbml6ZV9hc2RsKGJ1Zik6CisgICAgIiIiVG9rZW5pemUgdGhlIGdpdmVuIGJ1ZmZlci4gWWllbGQgVG9rZW4gb2JqZWN0cy4iIiIKKyAgICBmb3IgbGluZW5vLCBsaW5lIGluIGVudW1lcmF0ZShidWYuc3BsaXRsaW5lcygpLCAxKToKKyAgICAgICAgZm9yIG0gaW4gcmUuZmluZGl0ZXIocidccyooXHcrfC0tLip8LiknLCBsaW5lLnN0cmlwKCkpOgorICAgICAgICAgICAgYyA9IG0uZ3JvdXAoMSkKKyAgICAgICAgICAgIGlmIGNbMF0uaXNhbHBoYSgpOgorICAgICAgICAgICAgICAgICMgU29tZSBraW5kIG9mIGlkZW50aWZpZXIKKyAgICAgICAgICAgICAgICBpZiBjWzBdLmlzdXBwZXIoKToKKyAgICAgICAgICAgICAgICAgICAgeWllbGQgVG9rZW4oVG9rZW5LaW5kLkNvbnN0cnVjdG9ySWQsIGMsIGxpbmVubykKKyAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICB5aWVsZCBUb2tlbihUb2tlbktpbmQuVHlwZUlkLCBjLCBsaW5lbm8pCisgICAgICAgICAgICBlbGlmIGNbOjJdID09ICctLSc6CisgICAgICAgICAgICAgICAgIyBDb21tZW50CisgICAgICAgICAgICAgICAgYnJlYWsKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgIyBPcGVyYXRvcnMKKyAgICAgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgICAgIG9wX2tpbmQgPSBUb2tlbktpbmQub3BlcmF0b3JfdGFibGVbY10KKyAgICAgICAgICAgICAgICBleGNlcHQgS2V5RXJyb3I6CisgICAgICAgICAgICAgICAgICAgIHJhaXNlIEFTRExTeW50YXhFcnJvcignSW52YWxpZCBvcGVyYXRvciAlcycgJSBjLCBsaW5lbm8pCisgICAgICAgICAgICAgICAgeWllbGQgVG9rZW4ob3Bfa2luZCwgYywgbGluZW5vKQorCitjbGFzcyBBU0RMUGFyc2VyOgorICAgICIiIlBhcnNlciBmb3IgQVNETCBmaWxlcy4KKworICAgIENyZWF0ZSwgdGhlbiBjYWxsIHRoZSBwYXJzZSBtZXRob2Qgb24gYSBidWZmZXIgY29udGFpbmluZyBBU0RMLgorICAgIFRoaXMgaXMgYSBzaW1wbGUgcmVjdXJzaXZlIGRlc2NlbnQgcGFyc2VyIHRoYXQgdXNlcyB0b2tlbml6ZV9hc2RsIGZvciB0aGUKKyAgICBsZXhpbmcuCisgICAgIiIiCisgICAgZGVmIF9faW5pdF9fKHNlbGYpOgorICAgICAgICBzZWxmLl90b2tlbml6ZXIgPSBOb25lCisgICAgICAgIHNlbGYuY3VyX3Rva2VuID0gTm9uZQorCisgICAgZGVmIHBhcnNlKHNlbGYsIGJ1Zik6CisgICAgICAgICIiIlBhcnNlIHRoZSBBU0RMIGluIHRoZSBidWZmZXIgYW5kIHJldHVybiBhbiBBU1Qgd2l0aCBhIE1vZHVsZSByb290LgorICAgICAgICAiIiIKKyAgICAgICAgc2VsZi5fdG9rZW5pemVyID0gdG9rZW5pemVfYXNkbChidWYpCisgICAgICAgIHNlbGYuX2FkdmFuY2UoKQorICAgICAgICByZXR1cm4gc2VsZi5fcGFyc2VfbW9kdWxlKCkKKworICAgIGRlZiBfcGFyc2VfbW9kdWxlKHNlbGYpOgorICAgICAgICBpZiBzZWxmLl9hdF9rZXl3b3JkKCdtb2R1bGUnKToKKyAgICAgICAgICAgIHNlbGYuX2FkdmFuY2UoKQogICAgICAgICBlbHNlOgotICAgICAgICAgICAgZm9yIGRmbiBpbiBtb2QuZGZuczoKLSAgICAgICAgICAgICAgICBvdXRwdXQoZGZuLm5hbWUsIGRmbi52YWx1ZSkKKyAgICAgICAgICAgIHJhaXNlIEFTRExTeW50YXhFcnJvcigKKyAgICAgICAgICAgICAgICAnRXhwZWN0ZWQgIm1vZHVsZSIgKGZvdW5kIHt9KScuZm9ybWF0KHNlbGYuY3VyX3Rva2VuLnZhbHVlKSwKKyAgICAgICAgICAgICAgICBzZWxmLmN1cl90b2tlbi5saW5lbm8pCisgICAgICAgIG5hbWUgPSBzZWxmLl9tYXRjaChzZWxmLl9pZF9raW5kcykKKyAgICAgICAgc2VsZi5fbWF0Y2goVG9rZW5LaW5kLkxCcmFjZSkKKyAgICAgICAgZGVmcyA9IHNlbGYuX3BhcnNlX2RlZmluaXRpb25zKCkKKyAgICAgICAgc2VsZi5fbWF0Y2goVG9rZW5LaW5kLlJCcmFjZSkKKyAgICAgICAgcmV0dXJuIE1vZHVsZShuYW1lLCBkZWZzKQorCisgICAgZGVmIF9wYXJzZV9kZWZpbml0aW9ucyhzZWxmKToKKyAgICAgICAgZGVmcyA9IFtdCisgICAgICAgIHdoaWxlIHNlbGYuY3VyX3Rva2VuLmtpbmQgPT0gVG9rZW5LaW5kLlR5cGVJZDoKKyAgICAgICAgICAgIHR5cGVuYW1lID0gc2VsZi5fYWR2YW5jZSgpCisgICAgICAgICAgICBzZWxmLl9tYXRjaChUb2tlbktpbmQuRXF1YWxzKQorICAgICAgICAgICAgdHlwZSA9IHNlbGYuX3BhcnNlX3R5cGUoKQorICAgICAgICAgICAgZGVmcy5hcHBlbmQoVHlwZSh0eXBlbmFtZSwgdHlwZSkpCisgICAgICAgIHJldHVybiBkZWZzCisKKyAgICBkZWYgX3BhcnNlX3R5cGUoc2VsZik6CisgICAgICAgIGlmIHNlbGYuY3VyX3Rva2VuLmtpbmQgPT0gVG9rZW5LaW5kLkxQYXJlbjoKKyAgICAgICAgICAgICMgSWYgd2Ugc2VlIGEgKCwgaXQncyBhIHByb2R1Y3QKKyAgICAgICAgICAgIHJldHVybiBzZWxmLl9wYXJzZV9wcm9kdWN0KCkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgICMgT3RoZXJ3aXNlIGl0J3MgYSBzdW0uIExvb2sgZm9yIENvbnN0cnVjdG9ySWQKKyAgICAgICAgICAgIHN1bWxpc3QgPSBbQ29uc3RydWN0b3Ioc2VsZi5fbWF0Y2goVG9rZW5LaW5kLkNvbnN0cnVjdG9ySWQpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9wYXJzZV9vcHRpb25hbF9maWVsZHMoKSldCisgICAgICAgICAgICB3aGlsZSBzZWxmLmN1cl90b2tlbi5raW5kICA9PSBUb2tlbktpbmQuUGlwZToKKyAgICAgICAgICAgICAgICAjIE1vcmUgY29uc3RydWN0b3JzCisgICAgICAgICAgICAgICAgc2VsZi5fYWR2YW5jZSgpCisgICAgICAgICAgICAgICAgc3VtbGlzdC5hcHBlbmQoQ29uc3RydWN0b3IoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX21hdGNoKFRva2VuS2luZC5Db25zdHJ1Y3RvcklkKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fcGFyc2Vfb3B0aW9uYWxfZmllbGRzKCkpKQorICAgICAgICAgICAgcmV0dXJuIFN1bShzdW1saXN0LCBzZWxmLl9wYXJzZV9vcHRpb25hbF9hdHRyaWJ1dGVzKCkpCisKKyAgICBkZWYgX3BhcnNlX3Byb2R1Y3Qoc2VsZik6CisgICAgICAgIHJldHVybiBQcm9kdWN0KHNlbGYuX3BhcnNlX2ZpZWxkcygpLCBzZWxmLl9wYXJzZV9vcHRpb25hbF9hdHRyaWJ1dGVzKCkpCisKKyAgICBkZWYgX3BhcnNlX2ZpZWxkcyhzZWxmKToKKyAgICAgICAgZmllbGRzID0gW10KKyAgICAgICAgc2VsZi5fbWF0Y2goVG9rZW5LaW5kLkxQYXJlbikKKyAgICAgICAgd2hpbGUgc2VsZi5jdXJfdG9rZW4ua2luZCA9PSBUb2tlbktpbmQuVHlwZUlkOgorICAgICAgICAgICAgdHlwZW5hbWUgPSBzZWxmLl9hZHZhbmNlKCkKKyAgICAgICAgICAgIGlzX3NlcSwgaXNfb3B0ID0gc2VsZi5fcGFyc2Vfb3B0aW9uYWxfZmllbGRfcXVhbnRpZmllcigpCisgICAgICAgICAgICBpZCA9IChzZWxmLl9hZHZhbmNlKCkgaWYgc2VsZi5jdXJfdG9rZW4ua2luZCBpbiBzZWxmLl9pZF9raW5kcworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgTm9uZSkKKyAgICAgICAgICAgIGZpZWxkcy5hcHBlbmQoRmllbGQodHlwZW5hbWUsIGlkLCBzZXE9aXNfc2VxLCBvcHQ9aXNfb3B0KSkKKyAgICAgICAgICAgIGlmIHNlbGYuY3VyX3Rva2VuLmtpbmQgPT0gVG9rZW5LaW5kLlJQYXJlbjoKKyAgICAgICAgICAgICAgICBicmVhaworICAgICAgICAgICAgZWxpZiBzZWxmLmN1cl90b2tlbi5raW5kID09IFRva2VuS2luZC5Db21tYToKKyAgICAgICAgICAgICAgICBzZWxmLl9hZHZhbmNlKCkKKyAgICAgICAgc2VsZi5fbWF0Y2goVG9rZW5LaW5kLlJQYXJlbikKKyAgICAgICAgcmV0dXJuIGZpZWxkcworCisgICAgZGVmIF9wYXJzZV9vcHRpb25hbF9maWVsZHMoc2VsZik6CisgICAgICAgIGlmIHNlbGYuY3VyX3Rva2VuLmtpbmQgPT0gVG9rZW5LaW5kLkxQYXJlbjoKKyAgICAgICAgICAgIHJldHVybiBzZWxmLl9wYXJzZV9maWVsZHMoKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgcmV0dXJuIE5vbmUKKworICAgIGRlZiBfcGFyc2Vfb3B0aW9uYWxfYXR0cmlidXRlcyhzZWxmKToKKyAgICAgICAgaWYgc2VsZi5fYXRfa2V5d29yZCgnYXR0cmlidXRlcycpOgorICAgICAgICAgICAgc2VsZi5fYWR2YW5jZSgpCisgICAgICAgICAgICByZXR1cm4gc2VsZi5fcGFyc2VfZmllbGRzKCkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHJldHVybiBOb25lCisKKyAgICBkZWYgX3BhcnNlX29wdGlvbmFsX2ZpZWxkX3F1YW50aWZpZXIoc2VsZik6CisgICAgICAgIGlzX3NlcSwgaXNfb3B0ID0gRmFsc2UsIEZhbHNlCisgICAgICAgIGlmIHNlbGYuY3VyX3Rva2VuLmtpbmQgPT0gVG9rZW5LaW5kLkFzdGVyaXNrOgorICAgICAgICAgICAgaXNfc2VxID0gVHJ1ZQorICAgICAgICAgICAgc2VsZi5fYWR2YW5jZSgpCisgICAgICAgIGVsaWYgc2VsZi5jdXJfdG9rZW4ua2luZCA9PSBUb2tlbktpbmQuUXVlc3Rpb246CisgICAgICAgICAgICBpc19vcHQgPSBUcnVlCisgICAgICAgICAgICBzZWxmLl9hZHZhbmNlKCkKKyAgICAgICAgcmV0dXJuIGlzX3NlcSwgaXNfb3B0CisKKyAgICBkZWYgX2FkdmFuY2Uoc2VsZik6CisgICAgICAgICIiIiBSZXR1cm4gdGhlIHZhbHVlIG9mIHRoZSBjdXJyZW50IHRva2VuIGFuZCByZWFkIHRoZSBuZXh0IG9uZSBpbnRvCisgICAgICAgICAgICBzZWxmLmN1cl90b2tlbi4KKyAgICAgICAgIiIiCisgICAgICAgIGN1cl92YWwgPSBOb25lIGlmIHNlbGYuY3VyX3Rva2VuIGlzIE5vbmUgZWxzZSBzZWxmLmN1cl90b2tlbi52YWx1ZQorICAgICAgICB0cnk6CisgICAgICAgICAgICBzZWxmLmN1cl90b2tlbiA9IG5leHQoc2VsZi5fdG9rZW5pemVyKQorICAgICAgICBleGNlcHQgU3RvcEl0ZXJhdGlvbjoKKyAgICAgICAgICAgIHNlbGYuY3VyX3Rva2VuID0gTm9uZQorICAgICAgICByZXR1cm4gY3VyX3ZhbAorCisgICAgX2lkX2tpbmRzID0gKFRva2VuS2luZC5Db25zdHJ1Y3RvcklkLCBUb2tlbktpbmQuVHlwZUlkKQorCisgICAgZGVmIF9tYXRjaChzZWxmLCBraW5kKToKKyAgICAgICAgIiIiVGhlICdtYXRjaCcgcHJpbWl0aXZlIG9mIFJEIHBhcnNlcnMuCisKKyAgICAgICAgKiBWZXJpZmllcyB0aGF0IHRoZSBjdXJyZW50IHRva2VuIGlzIG9mIHRoZSBnaXZlbiBraW5kIChraW5kIGNhbgorICAgICAgICAgIGJlIGEgdHVwbGUsIGluIHdoaWNoIHRoZSBraW5kIG11c3QgbWF0Y2ggb25lIG9mIGl0cyBtZW1iZXJzKS4KKyAgICAgICAgKiBSZXR1cm5zIHRoZSB2YWx1ZSBvZiB0aGUgY3VycmVudCB0b2tlbgorICAgICAgICAqIFJlYWRzIGluIHRoZSBuZXh0IHRva2VuCisgICAgICAgICIiIgorICAgICAgICBpZiAoaXNpbnN0YW5jZShraW5kLCB0dXBsZSkgYW5kIHNlbGYuY3VyX3Rva2VuLmtpbmQgaW4ga2luZCBvcgorICAgICAgICAgICAgc2VsZi5jdXJfdG9rZW4ua2luZCA9PSBraW5kCisgICAgICAgICAgICApOgorICAgICAgICAgICAgdmFsdWUgPSBzZWxmLmN1cl90b2tlbi52YWx1ZQorICAgICAgICAgICAgc2VsZi5fYWR2YW5jZSgpCisgICAgICAgICAgICByZXR1cm4gdmFsdWUKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHJhaXNlIEFTRExTeW50YXhFcnJvcigKKyAgICAgICAgICAgICAgICAnVW5tYXRjaGVkIHt9IChmb3VuZCB7fSknLmZvcm1hdChraW5kLCBzZWxmLmN1cl90b2tlbi5raW5kKSwKKyAgICAgICAgICAgICAgICBzZWxmLmN1cl90b2tlbi5saW5lbm8pCisKKyAgICBkZWYgX2F0X2tleXdvcmQoc2VsZiwga2V5d29yZCk6CisgICAgICAgIHJldHVybiAoc2VsZi5jdXJfdG9rZW4ua2luZCA9PSBUb2tlbktpbmQuVHlwZUlkIGFuZAorICAgICAgICAgICAgICAgIHNlbGYuY3VyX3Rva2VuLnZhbHVlID09IGtleXdvcmQpCmRpZmYgLS1naXQgYS9QYXJzZXIvYXNkbF9jLnB5IGIvUGFyc2VyL2FzZGxfYy5weQppbmRleCBkNjA4NmU2Li5hNWUzNWQ5IDEwMDc1NQotLS0gYS9QYXJzZXIvYXNkbF9jLnB5CisrKyBiL1BhcnNlci9hc2RsX2MucHkKQEAgLTEsOSArMSw2IEBACiAjISAvdXNyL2Jpbi9lbnYgcHl0aG9uCiAiIiJHZW5lcmF0ZSBDIGNvZGUgZnJvbSBhbiBBU0RMIGRlc2NyaXB0aW9uLiIiIgogCi0jIFRPIERPCi0jIGhhbmRsZSBmaWVsZHMgdGhhdCBoYXZlIGEgdHlwZSBidXQgbm8gbmFtZQotCiBpbXBvcnQgb3MsIHN5cwogCiBpbXBvcnQgYXNkbApAQCAtMTQsMTIgKzExLDggQEAKIGRlZiBnZXRfY190eXBlKG5hbWUpOgogICAgICIiIlJldHVybiBhIHN0cmluZyBmb3IgdGhlIEMgbmFtZSBvZiB0aGUgdHlwZS4KIAotICAgIFRoaXMgZnVuY3Rpb24gc3BlY2lhbCBjYXNlcyB0aGUgZGVmYXVsdCB0eXBlcyBwcm92aWRlZCBieSBhc2RsOgotICAgIGlkZW50aWZpZXIsIHN0cmluZywgaW50LgorICAgIFRoaXMgZnVuY3Rpb24gc3BlY2lhbCBjYXNlcyB0aGUgZGVmYXVsdCB0eXBlcyBwcm92aWRlZCBieSBhc2RsLgogICAgICIiIgotICAgICMgWFhYIGFjayEgIG5lZWQgdG8gZmlndXJlIG91dCB3aGVyZSBJZCBpcyB1c2VmdWwgYW5kIHdoZXJlIHN0cmluZwotICAgIGlmIGlzaW5zdGFuY2UobmFtZSwgYXNkbC5JZCk6Ci0gICAgICAgIG5hbWUgPSBuYW1lLnZhbHVlCiAgICAgaWYgbmFtZSBpbiBhc2RsLmJ1aWx0aW5fdHlwZXM6CiAgICAgICAgIHJldHVybiBuYW1lCiAgICAgZWxzZToKQEAgLTE0NCw3ICsxMzcsNyBAQAogCiAKIGNsYXNzIFN0cnVjdFZpc2l0b3IoRW1pdFZpc2l0b3IpOgotICAgICIiIlZpc2l0b3IgdG8gZ2VuZXJhdGUgdHlwZGVmcyBmb3IgQVNULiIiIgorICAgICIiIlZpc2l0b3IgdG8gZ2VuZXJhdGUgdHlwZWRlZnMgZm9yIEFTVC4iIiIKIAogICAgIGRlZiB2aXNpdE1vZHVsZShzZWxmLCBtb2QpOgogICAgICAgICBmb3IgZGZuIGluIG1vZC5kZm5zOgpAQCAtMTg4LDkgKzE4MSw2IEBACiAgICAgICAgICAgICAgICAgc2VsZi52aXNpdChmLCBkZXB0aCArIDEpCiAgICAgICAgICAgICBzZWxmLmVtaXQoIn0gJXM7IiAlIGNvbnMubmFtZSwgZGVwdGgpCiAgICAgICAgICAgICBzZWxmLmVtaXQoIiIsIGRlcHRoKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgIyBYWFggbm90IHN1cmUgd2hhdCBJIHdhbnQgaGVyZSwgbm90aGluZyBpcyBwcm9iYWJseSBmaW5lCi0gICAgICAgICAgICBwYXNzCiAKICAgICBkZWYgdmlzaXRGaWVsZChzZWxmLCBmaWVsZCwgZGVwdGgpOgogICAgICAgICAjIFhYWCBuZWVkIHRvIGxvb2t1cCBmaWVsZC50eXBlLCBiZWNhdXNlIGl0IG1pZ2h0IGJlIHNvbWV0aGluZwpAQCAtMTk4LDcgKzE4OCw3IEBACiAgICAgICAgIGN0eXBlID0gZ2V0X2NfdHlwZShmaWVsZC50eXBlKQogICAgICAgICBuYW1lID0gZmllbGQubmFtZQogICAgICAgICBpZiBmaWVsZC5zZXE6Ci0gICAgICAgICAgICBpZiBmaWVsZC50eXBlLnZhbHVlIGluICgnY21wb3AnLCk6CisgICAgICAgICAgICBpZiBmaWVsZC50eXBlID09ICdjbXBvcCc6CiAgICAgICAgICAgICAgICAgc2VsZi5lbWl0KCJhc2RsX2ludF9zZXEgKiUobmFtZSlzOyIgJSBsb2NhbHMoKSwgZGVwdGgpCiAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgIHNlbGYuZW1pdCgiYXNkbF9zZXEgKiUobmFtZSlzOyIgJSBsb2NhbHMoKSwgZGVwdGgpCkBAIC0yNTMsNyArMjQzLDcgQEAKICAgICAgICAgICAgICAgICBuYW1lID0gZi5uYW1lCiAgICAgICAgICAgICAjIFhYWCBzaG91bGQgZXh0ZW5kIGdldF9jX3R5cGUoKSB0byBoYW5kbGUgdGhpcwogICAgICAgICAgICAgaWYgZi5zZXE6Ci0gICAgICAgICAgICAgICAgaWYgZi50eXBlLnZhbHVlIGluICgnY21wb3AnLCk6CisgICAgICAgICAgICAgICAgaWYgZi50eXBlID09ICdjbXBvcCc6CiAgICAgICAgICAgICAgICAgICAgIGN0eXBlID0gImFzZGxfaW50X3NlcSAqIgogICAgICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgICAgIGN0eXBlID0gImFzZGxfc2VxICoiCkBAIC00MzcsNyArNDI3LDcgQEAKICAgICAgICAgICAgIHNlbGYuZW1pdCgiIiwgMCkKICAgICAgICAgICAgIGZvciBmIGluIHQuZmllbGRzOgogICAgICAgICAgICAgICAgIHNlbGYudmlzaXRGaWVsZChmLCB0Lm5hbWUsIHN1bT1zdW0sIGRlcHRoPTIpCi0gICAgICAgICAgICBhcmdzID0gW2YubmFtZS52YWx1ZSBmb3IgZiBpbiB0LmZpZWxkc10gKyBbYS5uYW1lLnZhbHVlIGZvciBhIGluIHN1bS5hdHRyaWJ1dGVzXQorICAgICAgICAgICAgYXJncyA9IFtmLm5hbWUgZm9yIGYgaW4gdC5maWVsZHNdICsgW2EubmFtZSBmb3IgYSBpbiBzdW0uYXR0cmlidXRlc10KICAgICAgICAgICAgIHNlbGYuZW1pdCgiKm91dCA9ICVzKCVzKTsiICUgKHQubmFtZSwgc2VsZi5idWlsZEFyZ3MoYXJncykpLCAyKQogICAgICAgICAgICAgc2VsZi5lbWl0KCJpZiAoKm91dCA9PSBOVUxMKSBnb3RvIGZhaWxlZDsiLCAyKQogICAgICAgICAgICAgc2VsZi5lbWl0KCJyZXR1cm4gMDsiLCAyKQpAQCAtNDY1LDcgKzQ1NSw3IEBACiAgICAgICAgIHNlbGYuZW1pdCgiIiwgMCkKICAgICAgICAgZm9yIGYgaW4gcHJvZC5maWVsZHM6CiAgICAgICAgICAgICBzZWxmLnZpc2l0RmllbGQoZiwgbmFtZSwgcHJvZD1wcm9kLCBkZXB0aD0xKQotICAgICAgICBhcmdzID0gW2YubmFtZS52YWx1ZSBmb3IgZiBpbiBwcm9kLmZpZWxkc10KKyAgICAgICAgYXJncyA9IFtmLm5hbWUgZm9yIGYgaW4gcHJvZC5maWVsZHNdCiAgICAgICAgIHNlbGYuZW1pdCgiKm91dCA9ICVzKCVzKTsiICUgKG5hbWUsIHNlbGYuYnVpbGRBcmdzKGFyZ3MpKSwgMSkKICAgICAgICAgc2VsZi5lbWl0KCJyZXR1cm4gMDsiLCAxKQogICAgICAgICBzZWxmLmVtaXQoImZhaWxlZDoiLCAwKQpAQCAtNDg3LDggKzQ3Nyw4IEBACiAKICAgICBkZWYgaXNTaW1wbGVTdW0oc2VsZiwgZmllbGQpOgogICAgICAgICAjIFhYWCBjYW4gdGhlIG1lbWJlcnMgb2YgdGhpcyBsaXN0IGJlIGRldGVybWluZWQgYXV0b21hdGljYWxseT8KLSAgICAgICAgcmV0dXJuIGZpZWxkLnR5cGUudmFsdWUgaW4gKCdleHByX2NvbnRleHQnLCAnYm9vbG9wJywgJ29wZXJhdG9yJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd1bmFyeW9wJywgJ2NtcG9wJykKKyAgICAgICAgcmV0dXJuIGZpZWxkLnR5cGUgaW4gKCdleHByX2NvbnRleHQnLCAnYm9vbG9wJywgJ29wZXJhdG9yJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd1bmFyeW9wJywgJ2NtcG9wJykKIAogICAgIGRlZiBpc051bWVyaWMoc2VsZiwgZmllbGQpOgogICAgICAgICByZXR1cm4gZ2V0X2NfdHlwZShmaWVsZC50eXBlKSBpbiAoImludCIsICJib29sIikKQEAgLTk2MCw3ICs5NTAsNyBAQAogCiAgICAgZGVmIHZpc2l0UHJvZHVjdChzZWxmLCBwcm9kLCBuYW1lKToKICAgICAgICAgaWYgcHJvZC5maWVsZHM6Ci0gICAgICAgICAgICBmaWVsZHMgPSBuYW1lLnZhbHVlKyJfZmllbGRzIgorICAgICAgICAgICAgZmllbGRzID0gbmFtZSsiX2ZpZWxkcyIKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIGZpZWxkcyA9ICJOVUxMIgogICAgICAgICBzZWxmLmVtaXQoJyVzX3R5cGUgPSBtYWtlX3R5cGUoIiVzIiwgJkFTVF90eXBlLCAlcywgJWQpOycgJQpAQCAtOTg3LDcgKzk3Nyw3IEBACiAKICAgICBkZWYgdmlzaXRDb25zdHJ1Y3RvcihzZWxmLCBjb25zLCBuYW1lLCBzaW1wbGUpOgogICAgICAgICBpZiBjb25zLmZpZWxkczoKLSAgICAgICAgICAgIGZpZWxkcyA9IGNvbnMubmFtZS52YWx1ZSsiX2ZpZWxkcyIKKyAgICAgICAgICAgIGZpZWxkcyA9IGNvbnMubmFtZSsiX2ZpZWxkcyIKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIGZpZWxkcyA9ICJOVUxMIgogICAgICAgICBzZWxmLmVtaXQoJyVzX3R5cGUgPSBtYWtlX3R5cGUoIiVzIiwgJXNfdHlwZSwgJXMsICVkKTsnICUKQEAgLTExNzAsNyArMTE2MCw3IEBACiAgICAgZGVmIHNldChzZWxmLCBmaWVsZCwgdmFsdWUsIGRlcHRoKToKICAgICAgICAgaWYgZmllbGQuc2VxOgogICAgICAgICAgICAgIyBYWFggc2hvdWxkIHJlYWxseSBjaGVjayBmb3IgaXNfc2ltcGxlLCBidXQgdGhhdCByZXF1aXJlcyBhIHN5bWJvbCB0YWJsZQotICAgICAgICAgICAgaWYgZmllbGQudHlwZS52YWx1ZSA9PSAiY21wb3AiOgorICAgICAgICAgICAgaWYgZmllbGQudHlwZSA9PSAiY21wb3AiOgogICAgICAgICAgICAgICAgICMgV2hpbGUgdGhlIHNlcXVlbmNlIGVsZW1lbnRzIGFyZSBzdG9yZWQgYXMgdm9pZCosCiAgICAgICAgICAgICAgICAgIyBhc3Qyb2JqX2NtcG9wIGV4cGVjdHMgYW4gZW51bQogICAgICAgICAgICAgICAgIHNlbGYuZW1pdCgieyIsIGRlcHRoKQpAQCAtMTI0OSwxMiArMTIzOSwxNSBAQAogCiBjb21tb25fbXNnID0gIi8qIEZpbGUgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnkgJXMuICovXG5cbiIKIAotZGVmIG1haW4oc3JjZmlsZSk6CitkZWYgbWFpbihzcmNmaWxlLCBkdW1wX21vZHVsZT1GYWxzZSk6CiAgICAgYXJndjAgPSBzeXMuYXJndlswXQogICAgIGNvbXBvbmVudHMgPSBhcmd2MC5zcGxpdChvcy5zZXApCiAgICAgYXJndjAgPSBvcy5zZXAuam9pbihjb21wb25lbnRzWy0yOl0pCiAgICAgYXV0b19nZW5fbXNnID0gY29tbW9uX21zZyAlIGFyZ3YwCiAgICAgbW9kID0gYXNkbC5wYXJzZShzcmNmaWxlKQorICAgIGlmIGR1bXBfbW9kdWxlOgorICAgICAgICBwcmludCgnUGFyc2VkIE1vZHVsZTonKQorICAgICAgICBwcmludChtb2QpCiAgICAgaWYgbm90IGFzZGwuY2hlY2sobW9kKToKICAgICAgICAgc3lzLmV4aXQoMSkKICAgICBpZiBJTkNfRElSOgpAQCAtMTMwMSwxNiArMTI5NCwxOSBAQAogCiAgICAgSU5DX0RJUiA9ICcnCiAgICAgU1JDX0RJUiA9ICcnCi0gICAgb3B0cywgYXJncyA9IGdldG9wdC5nZXRvcHQoc3lzLmFyZ3ZbMTpdLCAiaDpjOiIpCi0gICAgaWYgbGVuKG9wdHMpICE9IDE6Ci0gICAgICAgIHN5cy5zdGRvdXQud3JpdGUoIk11c3Qgc3BlY2lmeSBleGFjdGx5IG9uZSBvdXRwdXQgZmlsZVxuIikKLSAgICAgICAgc3lzLmV4aXQoMSkKKyAgICBkdW1wX21vZHVsZSA9IEZhbHNlCisgICAgb3B0cywgYXJncyA9IGdldG9wdC5nZXRvcHQoc3lzLmFyZ3ZbMTpdLCAiZGg6YzoiKQogICAgIGZvciBvLCB2IGluIG9wdHM6CiAgICAgICAgIGlmIG8gPT0gJy1oJzoKICAgICAgICAgICAgIElOQ19ESVIgPSB2CiAgICAgICAgIGlmIG8gPT0gJy1jJzoKICAgICAgICAgICAgIFNSQ19ESVIgPSB2Ci0gICAgaWYgbGVuKGFyZ3MpICE9IDE6Ci0gICAgICAgIHN5cy5zdGRvdXQud3JpdGUoIk11c3Qgc3BlY2lmeSBzaW5nbGUgaW5wdXQgZmlsZVxuIikKKyAgICAgICAgaWYgbyA9PSAnLWQnOgorICAgICAgICAgICAgZHVtcF9tb2R1bGUgPSBUcnVlCisgICAgaWYgSU5DX0RJUiBhbmQgU1JDX0RJUjoKKyAgICAgICAgcHJpbnQoJ011c3Qgc3BlY2lmeSBleGFjdGx5IG9uZSBvdXRwdXQgZmlsZScpCiAgICAgICAgIHN5cy5leGl0KDEpCi0gICAgbWFpbihhcmdzWzBdKQorICAgIGVsaWYgbGVuKGFyZ3MpICE9IDE6CisgICAgICAgIHByaW50KCdNdXN0IHNwZWNpZnkgc2luZ2xlIGlucHV0IGZpbGUnKQorICAgICAgICBzeXMuZXhpdCgxKQorICAgIG1haW4oYXJnc1swXSwgZHVtcF9tb2R1bGUpCmRpZmYgLS1naXQgYS9QYXJzZXIvbm9kZS5jIGIvUGFyc2VyL25vZGUuYwppbmRleCA1NjRiZDkxLi4wMDEwMzI0IDEwMDY0NAotLS0gYS9QYXJzZXIvbm9kZS5jCisrKyBiL1BhcnNlci9ub2RlLmMKQEAgLTcwLDggKzcwLDggQEAKICAqIE5vdGUgdGhhdCB0aGlzIHdvdWxkIGJlIHN0cmFpZ2h0Zm9yd2FyZCBpZiBhIG5vZGUgc3RvcmVkIGl0cyBjdXJyZW50CiAgKiBjYXBhY2l0eS4gIFRoZSBjb2RlIGlzIHRyaWNreSB0byBhdm9pZCB0aGF0LgogICovCi0jZGVmaW5lIFhYWFJPVU5EVVAobikgKChuKSA8PSAxID8gKG4pIDogICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgIChuKSA8PSAxMjggPyBfUHlfU0laRV9ST1VORF9VUCgobiksIDQpIDogXAorI2RlZmluZSBYWFhST1VORFVQKG4pICgobikgPD0gMSA/IChuKSA6ICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgIChuKSA8PSAxMjggPyAoaW50KV9QeV9TSVpFX1JPVU5EX1VQKChuKSwgNCkgOiAgICBcCiAgICAgICAgICAgICAgICBmYW5jeV9yb3VuZHVwKG4pKQogCiAKZGlmZiAtLWdpdCBhL1BhcnNlci9wZ2VubWFpbi5jIGIvUGFyc2VyL3BnZW5tYWluLmMKaW5kZXggMDE3YTRmOS4uMGYwNTVkNiAxMDA2NDQKLS0tIGEvUGFyc2VyL3BnZW5tYWluLmMKKysrIGIvUGFyc2VyL3BnZW5tYWluLmMKQEAgLTk2LDEwICs5NiwxMSBAQAogICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIlBhcnNpbmcgZXJyb3IgJWQsIGxpbmUgJWQuXG4iLAogICAgICAgICAgICAgZXJyLmVycm9yLCBlcnIubGluZW5vKTsKICAgICAgICAgaWYgKGVyci50ZXh0ICE9IE5VTEwpIHsKLSAgICAgICAgICAgIHNpemVfdCBpOworICAgICAgICAgICAgc2l6ZV90IGxlbjsKKyAgICAgICAgICAgIGludCBpOwogICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICIlcyIsIGVyci50ZXh0KTsKLSAgICAgICAgICAgIGkgPSBzdHJsZW4oZXJyLnRleHQpOwotICAgICAgICAgICAgaWYgKGkgPT0gMCB8fCBlcnIudGV4dFtpLTFdICE9ICdcbicpCisgICAgICAgICAgICBsZW4gPSBzdHJsZW4oZXJyLnRleHQpOworICAgICAgICAgICAgaWYgKGxlbiA9PSAwIHx8IGVyci50ZXh0W2xlbi0xXSAhPSAnXG4nKQogICAgICAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiXG4iKTsKICAgICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBlcnIub2Zmc2V0OyBpKyspIHsKICAgICAgICAgICAgICAgICBpZiAoZXJyLnRleHRbaV0gPT0gJ1x0JykKZGlmZiAtLWdpdCBhL1BhcnNlci9wcmludGdyYW1tYXIuYyBiL1BhcnNlci9wcmludGdyYW1tYXIuYwppbmRleCBkZDdlNmFlLi43MzExZTU1IDEwMDY0NAotLS0gYS9QYXJzZXIvcHJpbnRncmFtbWFyLmMKKysrIGIvUGFyc2VyL3ByaW50Z3JhbW1hci5jCkBAIC04NCw3ICs4NCw3IEBACiBwcmludGRmYXMoZ3JhbW1hciAqZywgRklMRSAqZnApCiB7CiAgICAgZGZhICpkOwotICAgIGludCBpLCBqOworICAgIGludCBpLCBqLCBuOwogCiAgICAgcHJpbnRzdGF0ZXMoZywgZnApOwogICAgIGZwcmludGYoZnAsICJzdGF0aWMgZGZhIGRmYXNbJWRdID0ge1xuIiwgZy0+Z19uZGZhcyk7CkBAIC05Myw3ICs5Myw4IEBACiAgICAgICAgIGZwcmludGYoZnAsICIgICAgeyVkLCBcIiVzXCIsICVkLCAlZCwgc3RhdGVzXyVkLFxuIiwKICAgICAgICAgICAgIGQtPmRfdHlwZSwgZC0+ZF9uYW1lLCBkLT5kX2luaXRpYWwsIGQtPmRfbnN0YXRlcywgaSk7CiAgICAgICAgIGZwcmludGYoZnAsICIgICAgIFwiIik7Ci0gICAgICAgIGZvciAoaiA9IDA7IGogPCBOQllURVMoZy0+Z19sbC5sbF9ubGFiZWxzKTsgaisrKQorICAgICAgICBuID0gTkJZVEVTKGctPmdfbGwubGxfbmxhYmVscyk7CisgICAgICAgIGZvciAoaiA9IDA7IGogPCBuOyBqKyspCiAgICAgICAgICAgICBmcHJpbnRmKGZwLCAiXFwlMDNvIiwgZC0+ZF9maXJzdFtqXSAmIDB4ZmYpOwogICAgICAgICBmcHJpbnRmKGZwLCAiXCJ9LFxuIik7CiAgICAgfQpkaWZmIC0tZ2l0IGEvUGFyc2VyL3NwYXJrLnB5IGIvUGFyc2VyL3NwYXJrLnB5CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4OGMxYTg5Li4wMDAwMDAwCi0tLSBhL1BhcnNlci9zcGFyay5weQorKysgL2Rldi9udWxsCkBAIC0xLDg0OSArMCwwIEBACi0jICBDb3B5cmlnaHQgKGMpIDE5OTgtMjAwMiBKb2huIEF5Y29jawotIwotIyAgUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nCi0jICBhIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKLSMgICJTb2Z0d2FyZSIpLCB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKLSMgIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKLSMgIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0bwotIyAgcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCi0jICB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6Ci0jCi0jICBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZQotIyAgaW5jbHVkZWQgaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuCi0jCi0jICBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKLSMgIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgotIyAgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgotIyAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKLSMgIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCi0jICBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQotIyAgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCi0KLV9fdmVyc2lvbl9fID0gJ1NQQVJLLTAuNyAocHJlLWFscGhhLTUpJwotCi1pbXBvcnQgcmUKLQotIyBDb21wYXRpYmlsaXR5IHdpdGggb2xkZXIgcHl0aG9ucy4KLWRlZiBvdXRwdXQoc3RyaW5nPScnLCBlbmQ9J1xuJyk6Ci0gICAgc3lzLnN0ZG91dC53cml0ZShzdHJpbmcgKyBlbmQpCi0KLXRyeToKLSAgICBzb3J0ZWQKLWV4Y2VwdCBOYW1lRXJyb3I6Ci0gICAgZGVmIHNvcnRlZChzZXEpOgotICAgICAgICBzZXEyID0gc2VxWzpdCi0gICAgICAgIHNlcTIuc29ydCgpCi0gICAgICAgIHJldHVybiBzZXEyCi0KLWRlZiBfbmFtZWxpc3QoaW5zdGFuY2UpOgotICAgIG5hbWVsaXN0LCBuYW1lZGljdCwgY2xhc3NsaXN0ID0gW10sIHt9LCBbaW5zdGFuY2UuX19jbGFzc19fXQotICAgIGZvciBjIGluIGNsYXNzbGlzdDoKLSAgICAgICAgZm9yIGIgaW4gYy5fX2Jhc2VzX186Ci0gICAgICAgICAgICBjbGFzc2xpc3QuYXBwZW5kKGIpCi0gICAgICAgIGZvciBuYW1lIGluIGMuX19kaWN0X18ua2V5cygpOgotICAgICAgICAgICAgaWYgbmFtZSBub3QgaW4gbmFtZWRpY3Q6Ci0gICAgICAgICAgICAgICAgbmFtZWxpc3QuYXBwZW5kKG5hbWUpCi0gICAgICAgICAgICAgICAgbmFtZWRpY3RbbmFtZV0gPSAxCi0gICAgcmV0dXJuIG5hbWVsaXN0Ci0KLWNsYXNzIEdlbmVyaWNTY2FubmVyOgotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBmbGFncz0wKToKLSAgICAgICAgcGF0dGVybiA9IHNlbGYucmVmbGVjdCgpCi0gICAgICAgIHNlbGYucmUgPSByZS5jb21waWxlKHBhdHRlcm4sIHJlLlZFUkJPU0V8ZmxhZ3MpCi0KLSAgICAgICAgc2VsZi5pbmRleDJmdW5jID0ge30KLSAgICAgICAgZm9yIG5hbWUsIG51bWJlciBpbiBzZWxmLnJlLmdyb3VwaW5kZXguaXRlbXMoKToKLSAgICAgICAgICAgIHNlbGYuaW5kZXgyZnVuY1tudW1iZXItMV0gPSBnZXRhdHRyKHNlbGYsICd0XycgKyBuYW1lKQotCi0gICAgZGVmIG1ha2VSRShzZWxmLCBuYW1lKToKLSAgICAgICAgZG9jID0gZ2V0YXR0cihzZWxmLCBuYW1lKS5fX2RvY19fCi0gICAgICAgIHJ2ID0gJyg/UDwlcz4lcyknICUgKG5hbWVbMjpdLCBkb2MpCi0gICAgICAgIHJldHVybiBydgotCi0gICAgZGVmIHJlZmxlY3Qoc2VsZik6Ci0gICAgICAgIHJ2ID0gW10KLSAgICAgICAgZm9yIG5hbWUgaW4gX25hbWVsaXN0KHNlbGYpOgotICAgICAgICAgICAgaWYgbmFtZVs6Ml0gPT0gJ3RfJyBhbmQgbmFtZSAhPSAndF9kZWZhdWx0JzoKLSAgICAgICAgICAgICAgICBydi5hcHBlbmQoc2VsZi5tYWtlUkUobmFtZSkpCi0KLSAgICAgICAgcnYuYXBwZW5kKHNlbGYubWFrZVJFKCd0X2RlZmF1bHQnKSkKLSAgICAgICAgcmV0dXJuICd8Jy5qb2luKHJ2KQotCi0gICAgZGVmIGVycm9yKHNlbGYsIHMsIHBvcyk6Ci0gICAgICAgIG91dHB1dCgiTGV4aWNhbCBlcnJvciBhdCBwb3NpdGlvbiAlcyIgJSBwb3MpCi0gICAgICAgIHJhaXNlIFN5c3RlbUV4aXQKLQotICAgIGRlZiB0b2tlbml6ZShzZWxmLCBzKToKLSAgICAgICAgcG9zID0gMAotICAgICAgICBuID0gbGVuKHMpCi0gICAgICAgIHdoaWxlIHBvcyA8IG46Ci0gICAgICAgICAgICBtID0gc2VsZi5yZS5tYXRjaChzLCBwb3MpCi0gICAgICAgICAgICBpZiBtIGlzIE5vbmU6Ci0gICAgICAgICAgICAgICAgc2VsZi5lcnJvcihzLCBwb3MpCi0KLSAgICAgICAgICAgIGdyb3VwcyA9IG0uZ3JvdXBzKCkKLSAgICAgICAgICAgIGZvciBpIGluIHJhbmdlKGxlbihncm91cHMpKToKLSAgICAgICAgICAgICAgICBpZiBncm91cHNbaV0gYW5kIGkgaW4gc2VsZi5pbmRleDJmdW5jOgotICAgICAgICAgICAgICAgICAgICBzZWxmLmluZGV4MmZ1bmNbaV0oZ3JvdXBzW2ldKQotICAgICAgICAgICAgcG9zID0gbS5lbmQoKQotCi0gICAgZGVmIHRfZGVmYXVsdChzZWxmLCBzKToKLSAgICAgICAgcicoIC4gfCBcbiApKycKLSAgICAgICAgb3V0cHV0KCJTcGVjaWZpY2F0aW9uIGVycm9yOiB1bm1hdGNoZWQgaW5wdXQiKQotICAgICAgICByYWlzZSBTeXN0ZW1FeGl0Ci0KLSMKLSMgIEV4dHJhY3RlZCBmcm9tIEdlbmVyaWNQYXJzZXIgYW5kIG1hZGUgZ2xvYmFsIHNvIHRoYXQgW3VuXXBpY2tpbmcgd29ya3MuCi0jCi1jbGFzcyBfU3RhdGU6Ci0gICAgZGVmIF9faW5pdF9fKHNlbGYsIHN0YXRlbm8sIGl0ZW1zKToKLSAgICAgICAgc2VsZi5ULCBzZWxmLmNvbXBsZXRlLCBzZWxmLml0ZW1zID0gW10sIFtdLCBpdGVtcwotICAgICAgICBzZWxmLnN0YXRlbm8gPSBzdGF0ZW5vCi0KLWNsYXNzIEdlbmVyaWNQYXJzZXI6Ci0gICAgIwotICAgICMgIEFuIEVhcmxleSBwYXJzZXIsIGFzIHBlciBKLiBFYXJsZXksICJBbiBFZmZpY2llbnQgQ29udGV4dC1GcmVlCi0gICAgIyAgUGFyc2luZyBBbGdvcml0aG0iLCBDQUNNIDEzKDIpLCBwcC4gOTQtMTAyLiAgQWxzbyBKLiBDLiBFYXJsZXksCi0gICAgIyAgIkFuIEVmZmljaWVudCBDb250ZXh0LUZyZWUgUGFyc2luZyBBbGdvcml0aG0iLCBQaC5ELiB0aGVzaXMsCi0gICAgIyAgQ2FybmVnaWUtTWVsbG9uIFVuaXZlcnNpdHksIEF1Z3VzdCAxOTY4LiAgTmV3IGZvcm11bGF0aW9uIG9mCi0gICAgIyAgdGhlIHBhcnNlciBhY2NvcmRpbmcgdG8gSi4gQXljb2NrLCAiUHJhY3RpY2FsIEVhcmxleSBQYXJzaW5nCi0gICAgIyAgYW5kIHRoZSBTUEFSSyBUb29sa2l0IiwgUGguRC4gdGhlc2lzLCBVbml2ZXJzaXR5IG9mIFZpY3RvcmlhLAotICAgICMgIDIwMDEsIGFuZCBKLiBBeWNvY2sgYW5kIFIuIE4uIEhvcnNwb29sLCAiUHJhY3RpY2FsIEVhcmxleQotICAgICMgIFBhcnNpbmciLCB1bnB1Ymxpc2hlZCBwYXBlciwgMjAwMS4KLSAgICAjCi0KLSAgICBkZWYgX19pbml0X18oc2VsZiwgc3RhcnQpOgotICAgICAgICBzZWxmLnJ1bGVzID0ge30KLSAgICAgICAgc2VsZi5ydWxlMmZ1bmMgPSB7fQotICAgICAgICBzZWxmLnJ1bGUybmFtZSA9IHt9Ci0gICAgICAgIHNlbGYuY29sbGVjdFJ1bGVzKCkKLSAgICAgICAgc2VsZi5hdWdtZW50KHN0YXJ0KQotICAgICAgICBzZWxmLnJ1bGVzY2hhbmdlZCA9IDEKLQotICAgIF9OVUxMQUJMRSA9ICdcZV8nCi0gICAgX1NUQVJUID0gJ1NUQVJUJwotICAgIF9CT0YgPSAnfC0nCi0KLSAgICAjCi0gICAgIyAgV2hlbiBwaWNrbGluZywgdGFrZSB0aGUgdGltZSB0byBnZW5lcmF0ZSB0aGUgZnVsbCBzdGF0ZSBtYWNoaW5lOwotICAgICMgIHNvbWUgaW5mb3JtYXRpb24gaXMgdGhlbiBleHRyYW5lb3VzLCB0b28uICBVbmZvcnR1bmF0ZWx5IHdlCi0gICAgIyAgY2FuJ3Qgc2F2ZSB0aGUgcnVsZTJmdW5jIG1hcC4KLSAgICAjCi0gICAgZGVmIF9fZ2V0c3RhdGVfXyhzZWxmKToKLSAgICAgICAgaWYgc2VsZi5ydWxlc2NoYW5nZWQ6Ci0gICAgICAgICAgICAjCi0gICAgICAgICAgICAjICBYWFggLSBkdXBsaWNhdGVkIGZyb20gcGFyc2UoKQotICAgICAgICAgICAgIwotICAgICAgICAgICAgc2VsZi5jb21wdXRlTnVsbCgpCi0gICAgICAgICAgICBzZWxmLm5ld3J1bGVzID0ge30KLSAgICAgICAgICAgIHNlbGYubmV3Mm9sZCA9IHt9Ci0gICAgICAgICAgICBzZWxmLm1ha2VOZXdSdWxlcygpCi0gICAgICAgICAgICBzZWxmLnJ1bGVzY2hhbmdlZCA9IDAKLSAgICAgICAgICAgIHNlbGYuZWRnZXMsIHNlbGYuY29yZXMgPSB7fSwge30KLSAgICAgICAgICAgIHNlbGYuc3RhdGVzID0geyAwOiBzZWxmLm1ha2VTdGF0ZTAoKSB9Ci0gICAgICAgICAgICBzZWxmLm1ha2VTdGF0ZSgwLCBzZWxmLl9CT0YpCi0gICAgICAgICMKLSAgICAgICAgIyAgWFhYIC0gc2hvdWxkIGZpbmQgYSBiZXR0ZXIgd2F5IHRvIGRvIHRoaXMuLgotICAgICAgICAjCi0gICAgICAgIGNoYW5nZXMgPSAxCi0gICAgICAgIHdoaWxlIGNoYW5nZXM6Ci0gICAgICAgICAgICBjaGFuZ2VzID0gMAotICAgICAgICAgICAgZm9yIGssIHYgaW4gc2VsZi5lZGdlcy5pdGVtcygpOgotICAgICAgICAgICAgICAgIGlmIHYgaXMgTm9uZToKLSAgICAgICAgICAgICAgICAgICAgc3RhdGUsIHN5bSA9IGsKLSAgICAgICAgICAgICAgICAgICAgaWYgc3RhdGUgaW4gc2VsZi5zdGF0ZXM6Ci0gICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmdvdG8oc3RhdGUsIHN5bSkKLSAgICAgICAgICAgICAgICAgICAgICAgIGNoYW5nZXMgPSAxCi0gICAgICAgIHJ2ID0gc2VsZi5fX2RpY3RfXy5jb3B5KCkKLSAgICAgICAgZm9yIHMgaW4gc2VsZi5zdGF0ZXMudmFsdWVzKCk6Ci0gICAgICAgICAgICBkZWwgcy5pdGVtcwotICAgICAgICBkZWwgcnZbJ3J1bGUyZnVuYyddCi0gICAgICAgIGRlbCBydlsnbnVsbGFibGUnXQotICAgICAgICBkZWwgcnZbJ2NvcmVzJ10KLSAgICAgICAgcmV0dXJuIHJ2Ci0KLSAgICBkZWYgX19zZXRzdGF0ZV9fKHNlbGYsIEQpOgotICAgICAgICBzZWxmLnJ1bGVzID0ge30KLSAgICAgICAgc2VsZi5ydWxlMmZ1bmMgPSB7fQotICAgICAgICBzZWxmLnJ1bGUybmFtZSA9IHt9Ci0gICAgICAgIHNlbGYuY29sbGVjdFJ1bGVzKCkKLSAgICAgICAgc3RhcnQgPSBEWydydWxlcyddW3NlbGYuX1NUQVJUXVswXVsxXVsxXSAgICAgICAgIyBCbGVjaC4KLSAgICAgICAgc2VsZi5hdWdtZW50KHN0YXJ0KQotICAgICAgICBEWydydWxlMmZ1bmMnXSA9IHNlbGYucnVsZTJmdW5jCi0gICAgICAgIERbJ21ha2VTZXQnXSA9IHNlbGYubWFrZVNldF9mYXN0Ci0gICAgICAgIHNlbGYuX19kaWN0X18gPSBECi0KLSAgICAjCi0gICAgIyAgQSBob29rIGZvciBHZW5lcmljQVNUQnVpbGRlciBhbmQgR2VuZXJpY0FTVE1hdGNoZXIuICBNZXNzCi0gICAgIyAgdGhlZSBub3Qgd2l0aCB0aGlzOyBub3Igc2hhbGwgdGhlZSB0b3VjaGV0aCB0aGUgX3ByZXByb2Nlc3MKLSAgICAjICBhcmd1bWVudCB0byBhZGRSdWxlLgotICAgICMKLSAgICBkZWYgcHJlcHJvY2VzcyhzZWxmLCBydWxlLCBmdW5jKTogICAgICAgcmV0dXJuIHJ1bGUsIGZ1bmMKLQotICAgIGRlZiBhZGRSdWxlKHNlbGYsIGRvYywgZnVuYywgX3ByZXByb2Nlc3M9MSk6Ci0gICAgICAgIGZuID0gZnVuYwotICAgICAgICBydWxlcyA9IGRvYy5zcGxpdCgpCi0KLSAgICAgICAgaW5kZXggPSBbXQotICAgICAgICBmb3IgaSBpbiByYW5nZShsZW4ocnVsZXMpKToKLSAgICAgICAgICAgIGlmIHJ1bGVzW2ldID09ICc6Oj0nOgotICAgICAgICAgICAgICAgIGluZGV4LmFwcGVuZChpLTEpCi0gICAgICAgIGluZGV4LmFwcGVuZChsZW4ocnVsZXMpKQotCi0gICAgICAgIGZvciBpIGluIHJhbmdlKGxlbihpbmRleCktMSk6Ci0gICAgICAgICAgICBsaHMgPSBydWxlc1tpbmRleFtpXV0KLSAgICAgICAgICAgIHJocyA9IHJ1bGVzW2luZGV4W2ldKzI6aW5kZXhbaSsxXV0KLSAgICAgICAgICAgIHJ1bGUgPSAobGhzLCB0dXBsZShyaHMpKQotCi0gICAgICAgICAgICBpZiBfcHJlcHJvY2VzczoKLSAgICAgICAgICAgICAgICBydWxlLCBmbiA9IHNlbGYucHJlcHJvY2VzcyhydWxlLCBmdW5jKQotCi0gICAgICAgICAgICBpZiBsaHMgaW4gc2VsZi5ydWxlczoKLSAgICAgICAgICAgICAgICBzZWxmLnJ1bGVzW2xoc10uYXBwZW5kKHJ1bGUpCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIHNlbGYucnVsZXNbbGhzXSA9IFsgcnVsZSBdCi0gICAgICAgICAgICBzZWxmLnJ1bGUyZnVuY1tydWxlXSA9IGZuCi0gICAgICAgICAgICBzZWxmLnJ1bGUybmFtZVtydWxlXSA9IGZ1bmMuX19uYW1lX19bMjpdCi0gICAgICAgIHNlbGYucnVsZXNjaGFuZ2VkID0gMQotCi0gICAgZGVmIGNvbGxlY3RSdWxlcyhzZWxmKToKLSAgICAgICAgZm9yIG5hbWUgaW4gX25hbWVsaXN0KHNlbGYpOgotICAgICAgICAgICAgaWYgbmFtZVs6Ml0gPT0gJ3BfJzoKLSAgICAgICAgICAgICAgICBmdW5jID0gZ2V0YXR0cihzZWxmLCBuYW1lKQotICAgICAgICAgICAgICAgIGRvYyA9IGZ1bmMuX19kb2NfXwotICAgICAgICAgICAgICAgIHNlbGYuYWRkUnVsZShkb2MsIGZ1bmMpCi0KLSAgICBkZWYgYXVnbWVudChzZWxmLCBzdGFydCk6Ci0gICAgICAgIHJ1bGUgPSAnJXMgOjo9ICVzICVzJyAlIChzZWxmLl9TVEFSVCwgc2VsZi5fQk9GLCBzdGFydCkKLSAgICAgICAgc2VsZi5hZGRSdWxlKHJ1bGUsIGxhbWJkYSBhcmdzOiBhcmdzWzFdLCAwKQotCi0gICAgZGVmIGNvbXB1dGVOdWxsKHNlbGYpOgotICAgICAgICBzZWxmLm51bGxhYmxlID0ge30KLSAgICAgICAgdGJkID0gW10KLQotICAgICAgICBmb3IgcnVsZWxpc3QgaW4gc2VsZi5ydWxlcy52YWx1ZXMoKToKLSAgICAgICAgICAgIGxocyA9IHJ1bGVsaXN0WzBdWzBdCi0gICAgICAgICAgICBzZWxmLm51bGxhYmxlW2xoc10gPSAwCi0gICAgICAgICAgICBmb3IgcnVsZSBpbiBydWxlbGlzdDoKLSAgICAgICAgICAgICAgICByaHMgPSBydWxlWzFdCi0gICAgICAgICAgICAgICAgaWYgbGVuKHJocykgPT0gMDoKLSAgICAgICAgICAgICAgICAgICAgc2VsZi5udWxsYWJsZVtsaHNdID0gMQotICAgICAgICAgICAgICAgICAgICBjb250aW51ZQotICAgICAgICAgICAgICAgICMKLSAgICAgICAgICAgICAgICAjICBXZSBvbmx5IG5lZWQgdG8gY29uc2lkZXIgcnVsZXMgd2hpY2gKLSAgICAgICAgICAgICAgICAjICBjb25zaXN0IGVudGlyZWx5IG9mIG5vbnRlcm1pbmFsIHN5bWJvbHMuCi0gICAgICAgICAgICAgICAgIyAgVGhpcyBzaG91bGQgYmUgYSBzYXZpbmdzIG9uIHR5cGljYWwKLSAgICAgICAgICAgICAgICAjICBncmFtbWFycy4KLSAgICAgICAgICAgICAgICAjCi0gICAgICAgICAgICAgICAgZm9yIHN5bSBpbiByaHM6Ci0gICAgICAgICAgICAgICAgICAgIGlmIHN5bSBub3QgaW4gc2VsZi5ydWxlczoKLSAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrCi0gICAgICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgdGJkLmFwcGVuZChydWxlKQotICAgICAgICBjaGFuZ2VzID0gMQotICAgICAgICB3aGlsZSBjaGFuZ2VzOgotICAgICAgICAgICAgY2hhbmdlcyA9IDAKLSAgICAgICAgICAgIGZvciBsaHMsIHJocyBpbiB0YmQ6Ci0gICAgICAgICAgICAgICAgaWYgc2VsZi5udWxsYWJsZVtsaHNdOgotICAgICAgICAgICAgICAgICAgICBjb250aW51ZQotICAgICAgICAgICAgICAgIGZvciBzeW0gaW4gcmhzOgotICAgICAgICAgICAgICAgICAgICBpZiBub3Qgc2VsZi5udWxsYWJsZVtzeW1dOgotICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWsKLSAgICAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgICAgICBzZWxmLm51bGxhYmxlW2xoc10gPSAxCi0gICAgICAgICAgICAgICAgICAgIGNoYW5nZXMgPSAxCi0KLSAgICBkZWYgbWFrZVN0YXRlMChzZWxmKToKLSAgICAgICAgczAgPSBfU3RhdGUoMCwgW10pCi0gICAgICAgIGZvciBydWxlIGluIHNlbGYubmV3cnVsZXNbc2VsZi5fU1RBUlRdOgotICAgICAgICAgICAgczAuaXRlbXMuYXBwZW5kKChydWxlLCAwKSkKLSAgICAgICAgcmV0dXJuIHMwCi0KLSAgICBkZWYgZmluYWxTdGF0ZShzZWxmLCB0b2tlbnMpOgotICAgICAgICAjCi0gICAgICAgICMgIFl1Y2suCi0gICAgICAgICMKLSAgICAgICAgaWYgbGVuKHNlbGYubmV3cnVsZXNbc2VsZi5fU1RBUlRdKSA9PSAyIGFuZCBsZW4odG9rZW5zKSA9PSAwOgotICAgICAgICAgICAgcmV0dXJuIDEKLSAgICAgICAgc3RhcnQgPSBzZWxmLnJ1bGVzW3NlbGYuX1NUQVJUXVswXVsxXVsxXQotICAgICAgICByZXR1cm4gc2VsZi5nb3RvKDEsIHN0YXJ0KQotCi0gICAgZGVmIG1ha2VOZXdSdWxlcyhzZWxmKToKLSAgICAgICAgd29ya2xpc3QgPSBbXQotICAgICAgICBmb3IgcnVsZWxpc3QgaW4gc2VsZi5ydWxlcy52YWx1ZXMoKToKLSAgICAgICAgICAgIGZvciBydWxlIGluIHJ1bGVsaXN0OgotICAgICAgICAgICAgICAgIHdvcmtsaXN0LmFwcGVuZCgocnVsZSwgMCwgMSwgcnVsZSkpCi0KLSAgICAgICAgZm9yIHJ1bGUsIGksIGNhbmRpZGF0ZSwgb2xkcnVsZSBpbiB3b3JrbGlzdDoKLSAgICAgICAgICAgIGxocywgcmhzID0gcnVsZQotICAgICAgICAgICAgbiA9IGxlbihyaHMpCi0gICAgICAgICAgICB3aGlsZSBpIDwgbjoKLSAgICAgICAgICAgICAgICBzeW0gPSByaHNbaV0KLSAgICAgICAgICAgICAgICBpZiBzeW0gbm90IGluIHNlbGYucnVsZXMgb3IgXAotICAgICAgICAgICAgICAgICAgIG5vdCBzZWxmLm51bGxhYmxlW3N5bV06Ci0gICAgICAgICAgICAgICAgICAgIGNhbmRpZGF0ZSA9IDAKLSAgICAgICAgICAgICAgICAgICAgaSA9IGkgKyAxCi0gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCi0KLSAgICAgICAgICAgICAgICBuZXdyaHMgPSBsaXN0KHJocykKLSAgICAgICAgICAgICAgICBuZXdyaHNbaV0gPSBzZWxmLl9OVUxMQUJMRStzeW0KLSAgICAgICAgICAgICAgICBuZXdydWxlID0gKGxocywgdHVwbGUobmV3cmhzKSkKLSAgICAgICAgICAgICAgICB3b3JrbGlzdC5hcHBlbmQoKG5ld3J1bGUsIGkrMSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhbmRpZGF0ZSwgb2xkcnVsZSkpCi0gICAgICAgICAgICAgICAgY2FuZGlkYXRlID0gMAotICAgICAgICAgICAgICAgIGkgPSBpICsgMQotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBpZiBjYW5kaWRhdGU6Ci0gICAgICAgICAgICAgICAgICAgIGxocyA9IHNlbGYuX05VTExBQkxFK2xocwotICAgICAgICAgICAgICAgICAgICBydWxlID0gKGxocywgcmhzKQotICAgICAgICAgICAgICAgIGlmIGxocyBpbiBzZWxmLm5ld3J1bGVzOgotICAgICAgICAgICAgICAgICAgICBzZWxmLm5ld3J1bGVzW2xoc10uYXBwZW5kKHJ1bGUpCi0gICAgICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgc2VsZi5uZXdydWxlc1tsaHNdID0gWyBydWxlIF0KLSAgICAgICAgICAgICAgICBzZWxmLm5ldzJvbGRbcnVsZV0gPSBvbGRydWxlCi0KLSAgICBkZWYgdHlwZXN0cmluZyhzZWxmLCB0b2tlbik6Ci0gICAgICAgIHJldHVybiBOb25lCi0KLSAgICBkZWYgZXJyb3Ioc2VsZiwgdG9rZW4pOgotICAgICAgICBvdXRwdXQoIlN5bnRheCBlcnJvciBhdCBvciBuZWFyIGAlcycgdG9rZW4iICUgdG9rZW4pCi0gICAgICAgIHJhaXNlIFN5c3RlbUV4aXQKLQotICAgIGRlZiBwYXJzZShzZWxmLCB0b2tlbnMpOgotICAgICAgICBzZXRzID0gWyBbKDEsMCksICgyLDApXSBdCi0gICAgICAgIHNlbGYubGlua3MgPSB7fQotCi0gICAgICAgIGlmIHNlbGYucnVsZXNjaGFuZ2VkOgotICAgICAgICAgICAgc2VsZi5jb21wdXRlTnVsbCgpCi0gICAgICAgICAgICBzZWxmLm5ld3J1bGVzID0ge30KLSAgICAgICAgICAgIHNlbGYubmV3Mm9sZCA9IHt9Ci0gICAgICAgICAgICBzZWxmLm1ha2VOZXdSdWxlcygpCi0gICAgICAgICAgICBzZWxmLnJ1bGVzY2hhbmdlZCA9IDAKLSAgICAgICAgICAgIHNlbGYuZWRnZXMsIHNlbGYuY29yZXMgPSB7fSwge30KLSAgICAgICAgICAgIHNlbGYuc3RhdGVzID0geyAwOiBzZWxmLm1ha2VTdGF0ZTAoKSB9Ci0gICAgICAgICAgICBzZWxmLm1ha2VTdGF0ZSgwLCBzZWxmLl9CT0YpCi0KLSAgICAgICAgZm9yIGkgaW4gcmFuZ2UobGVuKHRva2VucykpOgotICAgICAgICAgICAgc2V0cy5hcHBlbmQoW10pCi0KLSAgICAgICAgICAgIGlmIHNldHNbaV0gPT0gW106Ci0gICAgICAgICAgICAgICAgYnJlYWsKLSAgICAgICAgICAgIHNlbGYubWFrZVNldCh0b2tlbnNbaV0sIHNldHMsIGkpCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBzZXRzLmFwcGVuZChbXSkKLSAgICAgICAgICAgIHNlbGYubWFrZVNldChOb25lLCBzZXRzLCBsZW4odG9rZW5zKSkKLQotICAgICAgICAjX2R1bXAodG9rZW5zLCBzZXRzLCBzZWxmLnN0YXRlcykKLQotICAgICAgICBmaW5hbGl0ZW0gPSAoc2VsZi5maW5hbFN0YXRlKHRva2VucyksIDApCi0gICAgICAgIGlmIGZpbmFsaXRlbSBub3QgaW4gc2V0c1stMl06Ci0gICAgICAgICAgICBpZiBsZW4odG9rZW5zKSA+IDA6Ci0gICAgICAgICAgICAgICAgc2VsZi5lcnJvcih0b2tlbnNbaS0xXSkKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgc2VsZi5lcnJvcihOb25lKQotCi0gICAgICAgIHJldHVybiBzZWxmLmJ1aWxkVHJlZShzZWxmLl9TVEFSVCwgZmluYWxpdGVtLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9rZW5zLCBsZW4oc2V0cyktMikKLQotICAgIGRlZiBpc251bGxhYmxlKHNlbGYsIHN5bSk6Ci0gICAgICAgICMKLSAgICAgICAgIyAgRm9yIHN5bWJvbHMgaW4gR19lIG9ubHkuICBJZiB3ZSB3ZXJlbid0IHN1cHBvcnRpbmcgMS41LAotICAgICAgICAjICBjb3VsZCBqdXN0IHVzZSBzeW0uc3RhcnRzd2l0aCgpLgotICAgICAgICAjCi0gICAgICAgIHJldHVybiBzZWxmLl9OVUxMQUJMRSA9PSBzeW1bMDpsZW4oc2VsZi5fTlVMTEFCTEUpXQotCi0gICAgZGVmIHNraXAoc2VsZiwgaHMsIHBvcz0wKToKLSAgICAgICAgbiA9IGxlbihoc1sxXSkKLSAgICAgICAgd2hpbGUgcG9zIDwgbjoKLSAgICAgICAgICAgIGlmIG5vdCBzZWxmLmlzbnVsbGFibGUoaHNbMV1bcG9zXSk6Ci0gICAgICAgICAgICAgICAgYnJlYWsKLSAgICAgICAgICAgIHBvcyA9IHBvcyArIDEKLSAgICAgICAgcmV0dXJuIHBvcwotCi0gICAgZGVmIG1ha2VTdGF0ZShzZWxmLCBzdGF0ZSwgc3ltKToKLSAgICAgICAgYXNzZXJ0IHN5bSBpcyBub3QgTm9uZQotICAgICAgICAjCi0gICAgICAgICMgIENvbXB1dGUgXGVwc2lsb24ta2VybmVsIHN0YXRlJ3MgY29yZSBhbmQgc2VlIGlmCi0gICAgICAgICMgIGl0IGV4aXN0cyBhbHJlYWR5LgotICAgICAgICAjCi0gICAgICAgIGtpdGVtcyA9IFtdCi0gICAgICAgIGZvciBydWxlLCBwb3MgaW4gc2VsZi5zdGF0ZXNbc3RhdGVdLml0ZW1zOgotICAgICAgICAgICAgbGhzLCByaHMgPSBydWxlCi0gICAgICAgICAgICBpZiByaHNbcG9zOnBvcysxXSA9PSAoc3ltLCk6Ci0gICAgICAgICAgICAgICAga2l0ZW1zLmFwcGVuZCgocnVsZSwgc2VsZi5za2lwKHJ1bGUsIHBvcysxKSkpCi0gICAgICAgIGNvcmUgPSBraXRlbXMKLQotICAgICAgICBjb3JlLnNvcnQoKQotICAgICAgICB0Y29yZSA9IHR1cGxlKGNvcmUpCi0gICAgICAgIGlmIHRjb3JlIGluIHNlbGYuY29yZXM6Ci0gICAgICAgICAgICByZXR1cm4gc2VsZi5jb3Jlc1t0Y29yZV0KLSAgICAgICAgIwotICAgICAgICAjICBOb3BlLCBkb2Vzbid0IGV4aXN0LiAgQ29tcHV0ZSBpdCBhbmQgdGhlIGFzc29jaWF0ZWQKLSAgICAgICAgIyAgXGVwc2lsb24tbm9ua2VybmVsIHN0YXRlIHRvZ2V0aGVyOyB3ZSdsbCBuZWVkIGl0IHJpZ2h0IGF3YXkuCi0gICAgICAgICMKLSAgICAgICAgayA9IHNlbGYuY29yZXNbdGNvcmVdID0gbGVuKHNlbGYuc3RhdGVzKQotICAgICAgICBLLCBOSyA9IF9TdGF0ZShrLCBraXRlbXMpLCBfU3RhdGUoaysxLCBbXSkKLSAgICAgICAgc2VsZi5zdGF0ZXNba10gPSBLCi0gICAgICAgIHByZWRpY3RlZCA9IHt9Ci0KLSAgICAgICAgZWRnZXMgPSBzZWxmLmVkZ2VzCi0gICAgICAgIHJ1bGVzID0gc2VsZi5uZXdydWxlcwotICAgICAgICBmb3IgWCBpbiBLLCBOSzoKLSAgICAgICAgICAgIHdvcmtsaXN0ID0gWC5pdGVtcwotICAgICAgICAgICAgZm9yIGl0ZW0gaW4gd29ya2xpc3Q6Ci0gICAgICAgICAgICAgICAgcnVsZSwgcG9zID0gaXRlbQotICAgICAgICAgICAgICAgIGxocywgcmhzID0gcnVsZQotICAgICAgICAgICAgICAgIGlmIHBvcyA9PSBsZW4ocmhzKToKLSAgICAgICAgICAgICAgICAgICAgWC5jb21wbGV0ZS5hcHBlbmQocnVsZSkKLSAgICAgICAgICAgICAgICAgICAgY29udGludWUKLQotICAgICAgICAgICAgICAgIG5leHRTeW0gPSByaHNbcG9zXQotICAgICAgICAgICAgICAgIGtleSA9IChYLnN0YXRlbm8sIG5leHRTeW0pCi0gICAgICAgICAgICAgICAgaWYgbmV4dFN5bSBub3QgaW4gcnVsZXM6Ci0gICAgICAgICAgICAgICAgICAgIGlmIGtleSBub3QgaW4gZWRnZXM6Ci0gICAgICAgICAgICAgICAgICAgICAgICBlZGdlc1trZXldID0gTm9uZQotICAgICAgICAgICAgICAgICAgICAgICAgWC5ULmFwcGVuZChuZXh0U3ltKQotICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgIGVkZ2VzW2tleV0gPSBOb25lCi0gICAgICAgICAgICAgICAgICAgIGlmIG5leHRTeW0gbm90IGluIHByZWRpY3RlZDoKLSAgICAgICAgICAgICAgICAgICAgICAgIHByZWRpY3RlZFtuZXh0U3ltXSA9IDEKLSAgICAgICAgICAgICAgICAgICAgICAgIGZvciBwcnVsZSBpbiBydWxlc1tuZXh0U3ltXToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcG9zID0gc2VsZi5za2lwKHBydWxlKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ldyA9IChwcnVsZSwgcHBvcykKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBOSy5pdGVtcy5hcHBlbmQobmV3KQotICAgICAgICAgICAgIwotICAgICAgICAgICAgIyAgUHJvYmxlbTogd2Uga25vdyBLIG5lZWRzIGdlbmVyYXRpbmcsIGJ1dCB3ZQotICAgICAgICAgICAgIyAgZG9uJ3QgeWV0IGtub3cgYWJvdXQgTksuICBDYW4ndCBjb21taXQgYW55dGhpbmcKLSAgICAgICAgICAgICMgIHJlZ2FyZGluZyBOSyB0byBzZWxmLmVkZ2VzIHVudGlsIHdlJ3JlIHN1cmUuICBTaG91bGQKLSAgICAgICAgICAgICMgIHdlIGRlbGF5IGNvbW1pdHRpbmcgb24gYm90aCBLIGFuZCBOSyB0byBhdm9pZCB0aGlzCi0gICAgICAgICAgICAjICBoYWNreSBjb2RlPyAgVGhpcyBjcmVhdGVzIG90aGVyIHByb2JsZW1zLi4KLSAgICAgICAgICAgICMKLSAgICAgICAgICAgIGlmIFggaXMgSzoKLSAgICAgICAgICAgICAgICBlZGdlcyA9IHt9Ci0KLSAgICAgICAgaWYgTksuaXRlbXMgPT0gW106Ci0gICAgICAgICAgICByZXR1cm4gawotCi0gICAgICAgICMKLSAgICAgICAgIyAgQ2hlY2sgZm9yIFxlcHNpbG9uLW5vbmtlcm5lbCdzIGNvcmUuICBVbmZvcnR1bmF0ZWx5IHdlCi0gICAgICAgICMgIG5lZWQgdG8ga25vdyB0aGUgZW50aXJlIHNldCBvZiBwcmVkaWN0ZWQgbm9udGVybWluYWxzCi0gICAgICAgICMgIHRvIGRvIHRoaXMgd2l0aG91dCBhY2NpZGVudGFsbHkgZHVwbGljYXRpbmcgc3RhdGVzLgotICAgICAgICAjCi0gICAgICAgIGNvcmUgPSBzb3J0ZWQocHJlZGljdGVkLmtleXMoKSkKLSAgICAgICAgdGNvcmUgPSB0dXBsZShjb3JlKQotICAgICAgICBpZiB0Y29yZSBpbiBzZWxmLmNvcmVzOgotICAgICAgICAgICAgc2VsZi5lZGdlc1soaywgTm9uZSldID0gc2VsZi5jb3Jlc1t0Y29yZV0KLSAgICAgICAgICAgIHJldHVybiBrCi0KLSAgICAgICAgbmsgPSBzZWxmLmNvcmVzW3Rjb3JlXSA9IHNlbGYuZWRnZXNbKGssIE5vbmUpXSA9IE5LLnN0YXRlbm8KLSAgICAgICAgc2VsZi5lZGdlcy51cGRhdGUoZWRnZXMpCi0gICAgICAgIHNlbGYuc3RhdGVzW25rXSA9IE5LCi0gICAgICAgIHJldHVybiBrCi0KLSAgICBkZWYgZ290byhzZWxmLCBzdGF0ZSwgc3ltKToKLSAgICAgICAga2V5ID0gKHN0YXRlLCBzeW0pCi0gICAgICAgIGlmIGtleSBub3QgaW4gc2VsZi5lZGdlczoKLSAgICAgICAgICAgICMKLSAgICAgICAgICAgICMgIE5vIHRyYW5zaXRpb25zIGZyb20gc3RhdGUgb24gc3ltLgotICAgICAgICAgICAgIwotICAgICAgICAgICAgcmV0dXJuIE5vbmUKLQotICAgICAgICBydiA9IHNlbGYuZWRnZXNba2V5XQotICAgICAgICBpZiBydiBpcyBOb25lOgotICAgICAgICAgICAgIwotICAgICAgICAgICAgIyAgVGFyZ2V0IHN0YXRlIGlzbid0IGdlbmVyYXRlZCB5ZXQuICBSZW1lZHkgdGhpcy4KLSAgICAgICAgICAgICMKLSAgICAgICAgICAgIHJ2ID0gc2VsZi5tYWtlU3RhdGUoc3RhdGUsIHN5bSkKLSAgICAgICAgICAgIHNlbGYuZWRnZXNba2V5XSA9IHJ2Ci0gICAgICAgIHJldHVybiBydgotCi0gICAgZGVmIGdvdG9UKHNlbGYsIHN0YXRlLCB0KToKLSAgICAgICAgcmV0dXJuIFtzZWxmLmdvdG8oc3RhdGUsIHQpXQotCi0gICAgZGVmIGdvdG9TVChzZWxmLCBzdGF0ZSwgc3QpOgotICAgICAgICBydiA9IFtdCi0gICAgICAgIGZvciB0IGluIHNlbGYuc3RhdGVzW3N0YXRlXS5UOgotICAgICAgICAgICAgaWYgc3QgPT0gdDoKLSAgICAgICAgICAgICAgICBydi5hcHBlbmQoc2VsZi5nb3RvKHN0YXRlLCB0KSkKLSAgICAgICAgcmV0dXJuIHJ2Ci0KLSAgICBkZWYgYWRkKHNlbGYsIHNldCwgaXRlbSwgaT1Ob25lLCBwcmVkZWNlc3Nvcj1Ob25lLCBjYXVzYWw9Tm9uZSk6Ci0gICAgICAgIGlmIHByZWRlY2Vzc29yIGlzIE5vbmU6Ci0gICAgICAgICAgICBpZiBpdGVtIG5vdCBpbiBzZXQ6Ci0gICAgICAgICAgICAgICAgc2V0LmFwcGVuZChpdGVtKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAga2V5ID0gKGl0ZW0sIGkpCi0gICAgICAgICAgICBpZiBpdGVtIG5vdCBpbiBzZXQ6Ci0gICAgICAgICAgICAgICAgc2VsZi5saW5rc1trZXldID0gW10KLSAgICAgICAgICAgICAgICBzZXQuYXBwZW5kKGl0ZW0pCi0gICAgICAgICAgICBzZWxmLmxpbmtzW2tleV0uYXBwZW5kKChwcmVkZWNlc3NvciwgY2F1c2FsKSkKLQotICAgIGRlZiBtYWtlU2V0KHNlbGYsIHRva2VuLCBzZXRzLCBpKToKLSAgICAgICAgY3VyLCBuZXh0ID0gc2V0c1tpXSwgc2V0c1tpKzFdCi0KLSAgICAgICAgdHR5cGUgPSB0b2tlbiBpcyBub3QgTm9uZSBhbmQgc2VsZi50eXBlc3RyaW5nKHRva2VuKSBvciBOb25lCi0gICAgICAgIGlmIHR0eXBlIGlzIG5vdCBOb25lOgotICAgICAgICAgICAgZm4sIGFyZyA9IHNlbGYuZ290b1QsIHR0eXBlCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBmbiwgYXJnID0gc2VsZi5nb3RvU1QsIHRva2VuCi0KLSAgICAgICAgZm9yIGl0ZW0gaW4gY3VyOgotICAgICAgICAgICAgcHRyID0gKGl0ZW0sIGkpCi0gICAgICAgICAgICBzdGF0ZSwgcGFyZW50ID0gaXRlbQotICAgICAgICAgICAgYWRkID0gZm4oc3RhdGUsIGFyZykKLSAgICAgICAgICAgIGZvciBrIGluIGFkZDoKLSAgICAgICAgICAgICAgICBpZiBrIGlzIG5vdCBOb25lOgotICAgICAgICAgICAgICAgICAgICBzZWxmLmFkZChuZXh0LCAoaywgcGFyZW50KSwgaSsxLCBwdHIpCi0gICAgICAgICAgICAgICAgICAgIG5rID0gc2VsZi5nb3RvKGssIE5vbmUpCi0gICAgICAgICAgICAgICAgICAgIGlmIG5rIGlzIG5vdCBOb25lOgotICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5hZGQobmV4dCwgKG5rLCBpKzEpKQotCi0gICAgICAgICAgICBpZiBwYXJlbnQgPT0gaToKLSAgICAgICAgICAgICAgICBjb250aW51ZQotCi0gICAgICAgICAgICBmb3IgcnVsZSBpbiBzZWxmLnN0YXRlc1tzdGF0ZV0uY29tcGxldGU6Ci0gICAgICAgICAgICAgICAgbGhzLCByaHMgPSBydWxlCi0gICAgICAgICAgICAgICAgZm9yIHBpdGVtIGluIHNldHNbcGFyZW50XToKLSAgICAgICAgICAgICAgICAgICAgcHN0YXRlLCBwcGFyZW50ID0gcGl0ZW0KLSAgICAgICAgICAgICAgICAgICAgayA9IHNlbGYuZ290byhwc3RhdGUsIGxocykKLSAgICAgICAgICAgICAgICAgICAgaWYgayBpcyBub3QgTm9uZToKLSAgICAgICAgICAgICAgICAgICAgICAgIHdoeSA9IChpdGVtLCBpLCBydWxlKQotICAgICAgICAgICAgICAgICAgICAgICAgcHB0ciA9IChwaXRlbSwgcGFyZW50KQotICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5hZGQoY3VyLCAoaywgcHBhcmVudCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpLCBwcHRyLCB3aHkpCi0gICAgICAgICAgICAgICAgICAgICAgICBuayA9IHNlbGYuZ290byhrLCBOb25lKQotICAgICAgICAgICAgICAgICAgICAgICAgaWYgbmsgaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5hZGQoY3VyLCAobmssIGkpKQotCi0gICAgZGVmIG1ha2VTZXRfZmFzdChzZWxmLCB0b2tlbiwgc2V0cywgaSk6Ci0gICAgICAgICMKLSAgICAgICAgIyAgQ2FsbCAqb25seSogd2hlbiB0aGUgZW50aXJlIHN0YXRlIG1hY2hpbmUgaGFzIGJlZW4gYnVpbHQhCi0gICAgICAgICMgIEl0IHJlbGllcyBvbiBzZWxmLmVkZ2VzIGJlaW5nIGZpbGxlZCBpbiBjb21wbGV0ZWx5LCBhbmQKLSAgICAgICAgIyAgdGhlbiBkdXBsaWNhdGVzIGFuZCBpbmxpbmVzIGNvZGUgdG8gYm9vc3Qgc3BlZWQgYXQgdGhlCi0gICAgICAgICMgIGNvc3Qgb2YgZXh0cmVtZSB1Z2xpbmVzcy4KLSAgICAgICAgIwotICAgICAgICBjdXIsIG5leHQgPSBzZXRzW2ldLCBzZXRzW2krMV0KLSAgICAgICAgdHR5cGUgPSB0b2tlbiBpcyBub3QgTm9uZSBhbmQgc2VsZi50eXBlc3RyaW5nKHRva2VuKSBvciBOb25lCi0KLSAgICAgICAgZm9yIGl0ZW0gaW4gY3VyOgotICAgICAgICAgICAgcHRyID0gKGl0ZW0sIGkpCi0gICAgICAgICAgICBzdGF0ZSwgcGFyZW50ID0gaXRlbQotICAgICAgICAgICAgaWYgdHR5cGUgaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICAgICAgayA9IHNlbGYuZWRnZXMuZ2V0KChzdGF0ZSwgdHR5cGUpLCBOb25lKQotICAgICAgICAgICAgICAgIGlmIGsgaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICAgICAgICAgICNzZWxmLmFkZChuZXh0LCAoaywgcGFyZW50KSwgaSsxLCBwdHIpCi0gICAgICAgICAgICAgICAgICAgICNJTkxJTkVEIC0tdgotICAgICAgICAgICAgICAgICAgICBuZXcgPSAoaywgcGFyZW50KQotICAgICAgICAgICAgICAgICAgICBrZXkgPSAobmV3LCBpKzEpCi0gICAgICAgICAgICAgICAgICAgIGlmIG5ldyBub3QgaW4gbmV4dDoKLSAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYubGlua3Nba2V5XSA9IFtdCi0gICAgICAgICAgICAgICAgICAgICAgICBuZXh0LmFwcGVuZChuZXcpCi0gICAgICAgICAgICAgICAgICAgIHNlbGYubGlua3Nba2V5XS5hcHBlbmQoKHB0ciwgTm9uZSkpCi0gICAgICAgICAgICAgICAgICAgICNJTkxJTkVEIC0tXgotICAgICAgICAgICAgICAgICAgICAjbmsgPSBzZWxmLmdvdG8oaywgTm9uZSkKLSAgICAgICAgICAgICAgICAgICAgbmsgPSBzZWxmLmVkZ2VzLmdldCgoaywgTm9uZSksIE5vbmUpCi0gICAgICAgICAgICAgICAgICAgIGlmIG5rIGlzIG5vdCBOb25lOgotICAgICAgICAgICAgICAgICAgICAgICAgI3NlbGYuYWRkKG5leHQsIChuaywgaSsxKSkKLSAgICAgICAgICAgICAgICAgICAgICAgICNJTkxJTkVEIC0tdgotICAgICAgICAgICAgICAgICAgICAgICAgbmV3ID0gKG5rLCBpKzEpCi0gICAgICAgICAgICAgICAgICAgICAgICBpZiBuZXcgbm90IGluIG5leHQ6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV4dC5hcHBlbmQobmV3KQotICAgICAgICAgICAgICAgICAgICAgICAgI0lOTElORUQgLS1eCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIGFkZCA9IHNlbGYuZ290b1NUKHN0YXRlLCB0b2tlbikKLSAgICAgICAgICAgICAgICBmb3IgayBpbiBhZGQ6Ci0gICAgICAgICAgICAgICAgICAgIGlmIGsgaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmFkZChuZXh0LCAoaywgcGFyZW50KSwgaSsxLCBwdHIpCi0gICAgICAgICAgICAgICAgICAgICAgICAjbmsgPSBzZWxmLmdvdG8oaywgTm9uZSkKLSAgICAgICAgICAgICAgICAgICAgICAgIG5rID0gc2VsZi5lZGdlcy5nZXQoKGssIE5vbmUpLCBOb25lKQotICAgICAgICAgICAgICAgICAgICAgICAgaWYgbmsgaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5hZGQobmV4dCwgKG5rLCBpKzEpKQotCi0gICAgICAgICAgICBpZiBwYXJlbnQgPT0gaToKLSAgICAgICAgICAgICAgICBjb250aW51ZQotCi0gICAgICAgICAgICBmb3IgcnVsZSBpbiBzZWxmLnN0YXRlc1tzdGF0ZV0uY29tcGxldGU6Ci0gICAgICAgICAgICAgICAgbGhzLCByaHMgPSBydWxlCi0gICAgICAgICAgICAgICAgZm9yIHBpdGVtIGluIHNldHNbcGFyZW50XToKLSAgICAgICAgICAgICAgICAgICAgcHN0YXRlLCBwcGFyZW50ID0gcGl0ZW0KLSAgICAgICAgICAgICAgICAgICAgI2sgPSBzZWxmLmdvdG8ocHN0YXRlLCBsaHMpCi0gICAgICAgICAgICAgICAgICAgIGsgPSBzZWxmLmVkZ2VzLmdldCgocHN0YXRlLCBsaHMpLCBOb25lKQotICAgICAgICAgICAgICAgICAgICBpZiBrIGlzIG5vdCBOb25lOgotICAgICAgICAgICAgICAgICAgICAgICAgd2h5ID0gKGl0ZW0sIGksIHJ1bGUpCi0gICAgICAgICAgICAgICAgICAgICAgICBwcHRyID0gKHBpdGVtLCBwYXJlbnQpCi0gICAgICAgICAgICAgICAgICAgICAgICAjc2VsZi5hZGQoY3VyLCAoaywgcHBhcmVudCksCi0gICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICBpLCBwcHRyLCB3aHkpCi0gICAgICAgICAgICAgICAgICAgICAgICAjSU5MSU5FRCAtLXYKLSAgICAgICAgICAgICAgICAgICAgICAgIG5ldyA9IChrLCBwcGFyZW50KQotICAgICAgICAgICAgICAgICAgICAgICAga2V5ID0gKG5ldywgaSkKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIG5ldyBub3QgaW4gY3VyOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYubGlua3Nba2V5XSA9IFtdCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VyLmFwcGVuZChuZXcpCi0gICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmxpbmtzW2tleV0uYXBwZW5kKChwcHRyLCB3aHkpKQotICAgICAgICAgICAgICAgICAgICAgICAgI0lOTElORUQgLS1eCi0gICAgICAgICAgICAgICAgICAgICAgICAjbmsgPSBzZWxmLmdvdG8oaywgTm9uZSkKLSAgICAgICAgICAgICAgICAgICAgICAgIG5rID0gc2VsZi5lZGdlcy5nZXQoKGssIE5vbmUpLCBOb25lKQotICAgICAgICAgICAgICAgICAgICAgICAgaWYgbmsgaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgI3NlbGYuYWRkKGN1ciwgKG5rLCBpKSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAjSU5MSU5FRCAtLXYKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXcgPSAobmssIGkpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgbmV3IG5vdCBpbiBjdXI6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1ci5hcHBlbmQobmV3KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICNJTkxJTkVEIC0tXgotCi0gICAgZGVmIHByZWRlY2Vzc29yKHNlbGYsIGtleSwgY2F1c2FsKToKLSAgICAgICAgZm9yIHAsIGMgaW4gc2VsZi5saW5rc1trZXldOgotICAgICAgICAgICAgaWYgYyA9PSBjYXVzYWw6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIHAKLSAgICAgICAgYXNzZXJ0IDAKLQotICAgIGRlZiBjYXVzYWwoc2VsZiwga2V5KToKLSAgICAgICAgbGlua3MgPSBzZWxmLmxpbmtzW2tleV0KLSAgICAgICAgaWYgbGVuKGxpbmtzKSA9PSAxOgotICAgICAgICAgICAgcmV0dXJuIGxpbmtzWzBdWzFdCi0gICAgICAgIGNob2ljZXMgPSBbXQotICAgICAgICBydWxlMmNhdXNlID0ge30KLSAgICAgICAgZm9yIHAsIGMgaW4gbGlua3M6Ci0gICAgICAgICAgICBydWxlID0gY1syXQotICAgICAgICAgICAgY2hvaWNlcy5hcHBlbmQocnVsZSkKLSAgICAgICAgICAgIHJ1bGUyY2F1c2VbcnVsZV0gPSBjCi0gICAgICAgIHJldHVybiBydWxlMmNhdXNlW3NlbGYuYW1iaWd1aXR5KGNob2ljZXMpXQotCi0gICAgZGVmIGRlcml2ZUVwc2lsb24oc2VsZiwgbnQpOgotICAgICAgICBpZiBsZW4oc2VsZi5uZXdydWxlc1tudF0pID4gMToKLSAgICAgICAgICAgIHJ1bGUgPSBzZWxmLmFtYmlndWl0eShzZWxmLm5ld3J1bGVzW250XSkKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHJ1bGUgPSBzZWxmLm5ld3J1bGVzW250XVswXQotICAgICAgICAjb3V0cHV0KHJ1bGUpCi0KLSAgICAgICAgcmhzID0gcnVsZVsxXQotICAgICAgICBhdHRyID0gW05vbmVdICogbGVuKHJocykKLQotICAgICAgICBmb3IgaSBpbiByYW5nZShsZW4ocmhzKS0xLCAtMSwgLTEpOgotICAgICAgICAgICAgYXR0cltpXSA9IHNlbGYuZGVyaXZlRXBzaWxvbihyaHNbaV0pCi0gICAgICAgIHJldHVybiBzZWxmLnJ1bGUyZnVuY1tzZWxmLm5ldzJvbGRbcnVsZV1dKGF0dHIpCi0KLSAgICBkZWYgYnVpbGRUcmVlKHNlbGYsIG50LCBpdGVtLCB0b2tlbnMsIGspOgotICAgICAgICBzdGF0ZSwgcGFyZW50ID0gaXRlbQotCi0gICAgICAgIGNob2ljZXMgPSBbXQotICAgICAgICBmb3IgcnVsZSBpbiBzZWxmLnN0YXRlc1tzdGF0ZV0uY29tcGxldGU6Ci0gICAgICAgICAgICBpZiBydWxlWzBdID09IG50OgotICAgICAgICAgICAgICAgIGNob2ljZXMuYXBwZW5kKHJ1bGUpCi0gICAgICAgIHJ1bGUgPSBjaG9pY2VzWzBdCi0gICAgICAgIGlmIGxlbihjaG9pY2VzKSA+IDE6Ci0gICAgICAgICAgICBydWxlID0gc2VsZi5hbWJpZ3VpdHkoY2hvaWNlcykKLSAgICAgICAgI291dHB1dChydWxlKQotCi0gICAgICAgIHJocyA9IHJ1bGVbMV0KLSAgICAgICAgYXR0ciA9IFtOb25lXSAqIGxlbihyaHMpCi0KLSAgICAgICAgZm9yIGkgaW4gcmFuZ2UobGVuKHJocyktMSwgLTEsIC0xKToKLSAgICAgICAgICAgIHN5bSA9IHJoc1tpXQotICAgICAgICAgICAgaWYgc3ltIG5vdCBpbiBzZWxmLm5ld3J1bGVzOgotICAgICAgICAgICAgICAgIGlmIHN5bSAhPSBzZWxmLl9CT0Y6Ci0gICAgICAgICAgICAgICAgICAgIGF0dHJbaV0gPSB0b2tlbnNbay0xXQotICAgICAgICAgICAgICAgICAgICBrZXkgPSAoaXRlbSwgaykKLSAgICAgICAgICAgICAgICAgICAgaXRlbSwgayA9IHNlbGYucHJlZGVjZXNzb3Ioa2V5LCBOb25lKQotICAgICAgICAgICAgI2VsaWYgc2VsZi5pc251bGxhYmxlKHN5bSk6Ci0gICAgICAgICAgICBlbGlmIHNlbGYuX05VTExBQkxFID09IHN5bVswOmxlbihzZWxmLl9OVUxMQUJMRSldOgotICAgICAgICAgICAgICAgIGF0dHJbaV0gPSBzZWxmLmRlcml2ZUVwc2lsb24oc3ltKQotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBrZXkgPSAoaXRlbSwgaykKLSAgICAgICAgICAgICAgICB3aHkgPSBzZWxmLmNhdXNhbChrZXkpCi0gICAgICAgICAgICAgICAgYXR0cltpXSA9IHNlbGYuYnVpbGRUcmVlKHN5bSwgd2h5WzBdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2tlbnMsIHdoeVsxXSkKLSAgICAgICAgICAgICAgICBpdGVtLCBrID0gc2VsZi5wcmVkZWNlc3NvcihrZXksIHdoeSkKLSAgICAgICAgcmV0dXJuIHNlbGYucnVsZTJmdW5jW3NlbGYubmV3Mm9sZFtydWxlXV0oYXR0cikKLQotICAgIGRlZiBhbWJpZ3VpdHkoc2VsZiwgcnVsZXMpOgotICAgICAgICAjCi0gICAgICAgICMgIFhYWCAtIHByb2JsZW0gaGVyZSBhbmQgaW4gY29sbGVjdFJ1bGVzKCkgaWYgdGhlIHNhbWUgcnVsZQotICAgICAgICAjICAgICAgICBhcHBlYXJzIGluID4xIG1ldGhvZC4gIEFsc28gdW5kZWZpbmVkIHJlc3VsdHMgaWYgcnVsZXMKLSAgICAgICAgIyAgICAgICAgY2F1c2luZyB0aGUgYW1iaWd1aXR5IGFwcGVhciBpbiB0aGUgc2FtZSBtZXRob2QuCi0gICAgICAgICMKLSAgICAgICAgc29ydGxpc3QgPSBbXQotICAgICAgICBuYW1lMmluZGV4ID0ge30KLSAgICAgICAgZm9yIGkgaW4gcmFuZ2UobGVuKHJ1bGVzKSk6Ci0gICAgICAgICAgICBsaHMsIHJocyA9IHJ1bGUgPSBydWxlc1tpXQotICAgICAgICAgICAgbmFtZSA9IHNlbGYucnVsZTJuYW1lW3NlbGYubmV3Mm9sZFtydWxlXV0KLSAgICAgICAgICAgIHNvcnRsaXN0LmFwcGVuZCgobGVuKHJocyksIG5hbWUpKQotICAgICAgICAgICAgbmFtZTJpbmRleFtuYW1lXSA9IGkKLSAgICAgICAgc29ydGxpc3Quc29ydCgpCi0gICAgICAgIGxpc3QgPSBbYiBmb3IgYSwgYiBpbiBzb3J0bGlzdF0KLSAgICAgICAgcmV0dXJuIHJ1bGVzW25hbWUyaW5kZXhbc2VsZi5yZXNvbHZlKGxpc3QpXV0KLQotICAgIGRlZiByZXNvbHZlKHNlbGYsIGxpc3QpOgotICAgICAgICAjCi0gICAgICAgICMgIFJlc29sdmUgYW1iaWd1aXR5IGluIGZhdm9yIG9mIHRoZSBzaG9ydGVzdCBSSFMuCi0gICAgICAgICMgIFNpbmNlIHdlIHdhbGsgdGhlIHRyZWUgZnJvbSB0aGUgdG9wIGRvd24sIHRoaXMKLSAgICAgICAgIyAgc2hvdWxkIGVmZmVjdGl2ZWx5IHJlc29sdmUgaW4gZmF2b3Igb2YgYSAic2hpZnQiLgotICAgICAgICAjCi0gICAgICAgIHJldHVybiBsaXN0WzBdCi0KLSMKLSMgIEdlbmVyaWNBU1RCdWlsZGVyIGF1dG9tYWdpY2FsbHkgY29uc3RydWN0cyBhIGNvbmNyZXRlL2Fic3RyYWN0IHN5bnRheCB0cmVlCi0jICBmb3IgYSBnaXZlbiBpbnB1dC4gIFRoZSBleHRyYSBhcmd1bWVudCBpcyBhIGNsYXNzIChub3QgYW4gaW5zdGFuY2UhKQotIyAgd2hpY2ggc3VwcG9ydHMgdGhlICJfX3NldHNsaWNlX18iIGFuZCAiX19sZW5fXyIgbWV0aG9kcy4KLSMKLSMgIFhYWCAtIHNpbGVudGx5IG92ZXJyaWRlcyBhbnkgdXNlciBjb2RlIGluIG1ldGhvZHMuCi0jCi0KLWNsYXNzIEdlbmVyaWNBU1RCdWlsZGVyKEdlbmVyaWNQYXJzZXIpOgotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBBU1QsIHN0YXJ0KToKLSAgICAgICAgR2VuZXJpY1BhcnNlci5fX2luaXRfXyhzZWxmLCBzdGFydCkKLSAgICAgICAgc2VsZi5BU1QgPSBBU1QKLQotICAgIGRlZiBwcmVwcm9jZXNzKHNlbGYsIHJ1bGUsIGZ1bmMpOgotICAgICAgICByZWJpbmQgPSBsYW1iZGEgbGhzLCBzZWxmPXNlbGY6IFwKLSAgICAgICAgICAgICAgICAgICAgICAgIGxhbWJkYSBhcmdzLCBsaHM9bGhzLCBzZWxmPXNlbGY6IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5idWlsZEFTVE5vZGUoYXJncywgbGhzKQotICAgICAgICBsaHMsIHJocyA9IHJ1bGUKLSAgICAgICAgcmV0dXJuIHJ1bGUsIHJlYmluZChsaHMpCi0KLSAgICBkZWYgYnVpbGRBU1ROb2RlKHNlbGYsIGFyZ3MsIGxocyk6Ci0gICAgICAgIGNoaWxkcmVuID0gW10KLSAgICAgICAgZm9yIGFyZyBpbiBhcmdzOgotICAgICAgICAgICAgaWYgaXNpbnN0YW5jZShhcmcsIHNlbGYuQVNUKToKLSAgICAgICAgICAgICAgICBjaGlsZHJlbi5hcHBlbmQoYXJnKQotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBjaGlsZHJlbi5hcHBlbmQoc2VsZi50ZXJtaW5hbChhcmcpKQotICAgICAgICByZXR1cm4gc2VsZi5ub250ZXJtaW5hbChsaHMsIGNoaWxkcmVuKQotCi0gICAgZGVmIHRlcm1pbmFsKHNlbGYsIHRva2VuKTogICAgICByZXR1cm4gdG9rZW4KLQotICAgIGRlZiBub250ZXJtaW5hbChzZWxmLCB0eXBlLCBhcmdzKToKLSAgICAgICAgcnYgPSBzZWxmLkFTVCh0eXBlKQotICAgICAgICBydls6bGVuKGFyZ3MpXSA9IGFyZ3MKLSAgICAgICAgcmV0dXJuIHJ2Ci0KLSMKLSMgIEdlbmVyaWNBU1RUcmF2ZXJzYWwgaXMgYSBWaXNpdG9yIHBhdHRlcm4gYWNjb3JkaW5nIHRvIERlc2lnbiBQYXR0ZXJucy4gIEZvcgotIyAgZWFjaCBub2RlIGl0IGF0dGVtcHRzIHRvIGludm9rZSB0aGUgbWV0aG9kIG5fPG5vZGUgdHlwZT4sIGZhbGxpbmcKLSMgIGJhY2sgb250byB0aGUgZGVmYXVsdCgpIG1ldGhvZCBpZiB0aGUgbl8qIGNhbid0IGJlIGZvdW5kLiAgVGhlIHByZW9yZGVyCi0jICB0cmF2ZXJzYWwgYWxzbyBsb29rcyBmb3IgYW4gZXhpdCBob29rIG5hbWVkIG5fPG5vZGUgdHlwZT5fZXhpdCAobm8gZGVmYXVsdAotIyAgcm91dGluZSBpcyBjYWxsZWQgaWYgaXQncyBub3QgZm91bmQpLiAgVG8gcHJlbWF0dXJlbHkgaGFsdCB0cmF2ZXJzYWwKLSMgIG9mIGEgc3VidHJlZSwgY2FsbCB0aGUgcHJ1bmUoKSBtZXRob2QgLS0gdGhpcyBvbmx5IG1ha2VzIHNlbnNlIGZvciBhCi0jICBwcmVvcmRlciB0cmF2ZXJzYWwuICBOb2RlIHR5cGUgaXMgZGV0ZXJtaW5lZCB2aWEgdGhlIHR5cGVzdHJpbmcoKSBtZXRob2QuCi0jCi0KLWNsYXNzIEdlbmVyaWNBU1RUcmF2ZXJzYWxQcnVuaW5nRXhjZXB0aW9uOgotICAgIHBhc3MKLQotY2xhc3MgR2VuZXJpY0FTVFRyYXZlcnNhbDoKLSAgICBkZWYgX19pbml0X18oc2VsZiwgYXN0KToKLSAgICAgICAgc2VsZi5hc3QgPSBhc3QKLQotICAgIGRlZiB0eXBlc3RyaW5nKHNlbGYsIG5vZGUpOgotICAgICAgICByZXR1cm4gbm9kZS50eXBlCi0KLSAgICBkZWYgcHJ1bmUoc2VsZik6Ci0gICAgICAgIHJhaXNlIEdlbmVyaWNBU1RUcmF2ZXJzYWxQcnVuaW5nRXhjZXB0aW9uCi0KLSAgICBkZWYgcHJlb3JkZXIoc2VsZiwgbm9kZT1Ob25lKToKLSAgICAgICAgaWYgbm9kZSBpcyBOb25lOgotICAgICAgICAgICAgbm9kZSA9IHNlbGYuYXN0Ci0KLSAgICAgICAgdHJ5OgotICAgICAgICAgICAgbmFtZSA9ICduXycgKyBzZWxmLnR5cGVzdHJpbmcobm9kZSkKLSAgICAgICAgICAgIGlmIGhhc2F0dHIoc2VsZiwgbmFtZSk6Ci0gICAgICAgICAgICAgICAgZnVuYyA9IGdldGF0dHIoc2VsZiwgbmFtZSkKLSAgICAgICAgICAgICAgICBmdW5jKG5vZGUpCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIHNlbGYuZGVmYXVsdChub2RlKQotICAgICAgICBleGNlcHQgR2VuZXJpY0FTVFRyYXZlcnNhbFBydW5pbmdFeGNlcHRpb246Ci0gICAgICAgICAgICByZXR1cm4KLQotICAgICAgICBmb3Iga2lkIGluIG5vZGU6Ci0gICAgICAgICAgICBzZWxmLnByZW9yZGVyKGtpZCkKLQotICAgICAgICBuYW1lID0gbmFtZSArICdfZXhpdCcKLSAgICAgICAgaWYgaGFzYXR0cihzZWxmLCBuYW1lKToKLSAgICAgICAgICAgIGZ1bmMgPSBnZXRhdHRyKHNlbGYsIG5hbWUpCi0gICAgICAgICAgICBmdW5jKG5vZGUpCi0KLSAgICBkZWYgcG9zdG9yZGVyKHNlbGYsIG5vZGU9Tm9uZSk6Ci0gICAgICAgIGlmIG5vZGUgaXMgTm9uZToKLSAgICAgICAgICAgIG5vZGUgPSBzZWxmLmFzdAotCi0gICAgICAgIGZvciBraWQgaW4gbm9kZToKLSAgICAgICAgICAgIHNlbGYucG9zdG9yZGVyKGtpZCkKLQotICAgICAgICBuYW1lID0gJ25fJyArIHNlbGYudHlwZXN0cmluZyhub2RlKQotICAgICAgICBpZiBoYXNhdHRyKHNlbGYsIG5hbWUpOgotICAgICAgICAgICAgZnVuYyA9IGdldGF0dHIoc2VsZiwgbmFtZSkKLSAgICAgICAgICAgIGZ1bmMobm9kZSkKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHNlbGYuZGVmYXVsdChub2RlKQotCi0KLSAgICBkZWYgZGVmYXVsdChzZWxmLCBub2RlKToKLSAgICAgICAgcGFzcwotCi0jCi0jICBHZW5lcmljQVNUTWF0Y2hlci4gIEFTVCBub2RlcyBtdXN0IGhhdmUgIl9fZ2V0aXRlbV9fIiBhbmQgIl9fY21wX18iCi0jICBpbXBsZW1lbnRlZC4KLSMKLSMgIFhYWCAtIG1ha2VzIGFzc3VtcHRpb25zIGFib3V0IGhvdyBHZW5lcmljUGFyc2VyIHdhbGtzIHRoZSBwYXJzZSB0cmVlLgotIwotCi1jbGFzcyBHZW5lcmljQVNUTWF0Y2hlcihHZW5lcmljUGFyc2VyKToKLSAgICBkZWYgX19pbml0X18oc2VsZiwgc3RhcnQsIGFzdCk6Ci0gICAgICAgIEdlbmVyaWNQYXJzZXIuX19pbml0X18oc2VsZiwgc3RhcnQpCi0gICAgICAgIHNlbGYuYXN0ID0gYXN0Ci0KLSAgICBkZWYgcHJlcHJvY2VzcyhzZWxmLCBydWxlLCBmdW5jKToKLSAgICAgICAgcmViaW5kID0gbGFtYmRhIGZ1bmMsIHNlbGY9c2VsZjogXAotICAgICAgICAgICAgICAgICAgICAgICAgbGFtYmRhIGFyZ3MsIGZ1bmM9ZnVuYywgc2VsZj1zZWxmOiBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuZm91bmRNYXRjaChhcmdzLCBmdW5jKQotICAgICAgICBsaHMsIHJocyA9IHJ1bGUKLSAgICAgICAgcmhzbGlzdCA9IGxpc3QocmhzKQotICAgICAgICByaHNsaXN0LnJldmVyc2UoKQotCi0gICAgICAgIHJldHVybiAobGhzLCB0dXBsZShyaHNsaXN0KSksIHJlYmluZChmdW5jKQotCi0gICAgZGVmIGZvdW5kTWF0Y2goc2VsZiwgYXJncywgZnVuYyk6Ci0gICAgICAgIGZ1bmMoYXJnc1stMV0pCi0gICAgICAgIHJldHVybiBhcmdzWy0xXQotCi0gICAgZGVmIG1hdGNoX3Ioc2VsZiwgbm9kZSk6Ci0gICAgICAgIHNlbGYuaW5wdXQuaW5zZXJ0KDAsIG5vZGUpCi0gICAgICAgIGNoaWxkcmVuID0gMAotCi0gICAgICAgIGZvciBjaGlsZCBpbiBub2RlOgotICAgICAgICAgICAgaWYgY2hpbGRyZW4gPT0gMDoKLSAgICAgICAgICAgICAgICBzZWxmLmlucHV0Lmluc2VydCgwLCAnKCcpCi0gICAgICAgICAgICBjaGlsZHJlbiA9IGNoaWxkcmVuICsgMQotICAgICAgICAgICAgc2VsZi5tYXRjaF9yKGNoaWxkKQotCi0gICAgICAgIGlmIGNoaWxkcmVuID4gMDoKLSAgICAgICAgICAgIHNlbGYuaW5wdXQuaW5zZXJ0KDAsICcpJykKLQotICAgIGRlZiBtYXRjaChzZWxmLCBhc3Q9Tm9uZSk6Ci0gICAgICAgIGlmIGFzdCBpcyBOb25lOgotICAgICAgICAgICAgYXN0ID0gc2VsZi5hc3QKLSAgICAgICAgc2VsZi5pbnB1dCA9IFtdCi0KLSAgICAgICAgc2VsZi5tYXRjaF9yKGFzdCkKLSAgICAgICAgc2VsZi5wYXJzZShzZWxmLmlucHV0KQotCi0gICAgZGVmIHJlc29sdmUoc2VsZiwgbGlzdCk6Ci0gICAgICAgICMKLSAgICAgICAgIyAgUmVzb2x2ZSBhbWJpZ3VpdHkgaW4gZmF2b3Igb2YgdGhlIGxvbmdlc3QgUkhTLgotICAgICAgICAjCi0gICAgICAgIHJldHVybiBsaXN0Wy0xXQotCi1kZWYgX2R1bXAodG9rZW5zLCBzZXRzLCBzdGF0ZXMpOgotICAgIGZvciBpIGluIHJhbmdlKGxlbihzZXRzKSk6Ci0gICAgICAgIG91dHB1dCgnc2V0ICVkJyAlIGkpCi0gICAgICAgIGZvciBpdGVtIGluIHNldHNbaV06Ci0gICAgICAgICAgICBvdXRwdXQoJ1x0JywgaXRlbSkKLSAgICAgICAgICAgIGZvciAobGhzLCByaHMpLCBwb3MgaW4gc3RhdGVzW2l0ZW1bMF1dLml0ZW1zOgotICAgICAgICAgICAgICAgIG91dHB1dCgnXHRcdCcsIGxocywgJzo6PScsIGVuZD0nJykKLSAgICAgICAgICAgICAgICBvdXRwdXQoJyAnLmpvaW4ocmhzWzpwb3NdKSwgZW5kPScnKQotICAgICAgICAgICAgICAgIG91dHB1dCgnLicsIGVuZD0nJykKLSAgICAgICAgICAgICAgICBvdXRwdXQoJyAnLmpvaW4ocmhzW3BvczpdKSkKLSAgICAgICAgaWYgaSA8IGxlbih0b2tlbnMpOgotICAgICAgICAgICAgb3V0cHV0KCkKLSAgICAgICAgICAgIG91dHB1dCgndG9rZW4gJXMnICUgc3RyKHRva2Vuc1tpXSkpCi0gICAgICAgICAgICBvdXRwdXQoKQpkaWZmIC0tZ2l0IGEvUGFyc2VyL3Rva2VuaXplci5jIGIvUGFyc2VyL3Rva2VuaXplci5jCmluZGV4IDIyYWNjZDEuLmVmN2IxOWYgMTAwNjQ0Ci0tLSBhL1BhcnNlci90b2tlbml6ZXIuYworKysgYi9QYXJzZXIvdG9rZW5pemVyLmMKQEAgLTk4LDYgKzk4LDcgQEAKICAgICAiRE9VQkxFU0xBU0giLAogICAgICJET1VCTEVTTEFTSEVRVUFMIiwKICAgICAiQVQiLAorICAgICJBVEVRVUFMIiwKICAgICAiUkFSUk9XIiwKICAgICAiRUxMSVBTSVMiLAogICAgIC8qIFRoaXMgdGFibGUgbXVzdCBtYXRjaCB0aGUgI2RlZmluZXMgaW4gdG9rZW4uaCEgKi8KQEAgLTExMzEsNyArMTEzMiw3IEBACiAgICAgY2FzZSAnfSc6ICAgICAgICAgICByZXR1cm4gUkJSQUNFOwogICAgIGNhc2UgJ14nOiAgICAgICAgICAgcmV0dXJuIENJUkNVTUZMRVg7CiAgICAgY2FzZSAnfic6ICAgICAgICAgICByZXR1cm4gVElMREU7Ci0gICAgY2FzZSAnQCc6ICAgICAgIHJldHVybiBBVDsKKyAgICBjYXNlICdAJzogICAgICAgICAgIHJldHVybiBBVDsKICAgICBkZWZhdWx0OiAgICAgICAgICAgIHJldHVybiBPUDsKICAgICB9CiB9CkBAIC0xMjA3LDYgKzEyMDgsMTEgQEAKICAgICAgICAgY2FzZSAnPSc6ICAgICAgICAgICAgICAgcmV0dXJuIENJUkNVTUZMRVhFUVVBTDsKICAgICAgICAgfQogICAgICAgICBicmVhazsKKyAgICBjYXNlICdAJzoKKyAgICAgICAgc3dpdGNoIChjMikgeworICAgICAgICBjYXNlICc9JzogICAgICAgICAgICAgICByZXR1cm4gQVRFUVVBTDsKKyAgICAgICAgfQorICAgICAgICBicmVhazsKICAgICB9CiAgICAgcmV0dXJuIE9QOwogfQpkaWZmIC0tZ2l0IGEvUHJvZ3JhbXMvUkVBRE1FIGIvUHJvZ3JhbXMvUkVBRE1FCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMyNDU3OGIKLS0tIC9kZXYvbnVsbAorKysgYi9Qcm9ncmFtcy9SRUFETUUKQEAgLTAsMCArMSBAQAorU291cmNlIGZpbGVzIGZvciBiaW5hcnkgZXhlY3V0YWJsZXMgKGFzIG9wcG9zZWQgdG8gc2hhcmVkIG1vZHVsZXMpCmRpZmYgLS1naXQgYS9Nb2R1bGVzL19mcmVlemVfaW1wb3J0bGliLmMgYi9Qcm9ncmFtcy9fZnJlZXplX2ltcG9ydGxpYi5jCnNpbWlsYXJpdHkgaW5kZXggOTQlCnJlbmFtZSBmcm9tIE1vZHVsZXMvX2ZyZWV6ZV9pbXBvcnRsaWIuYwpyZW5hbWUgdG8gUHJvZ3JhbXMvX2ZyZWV6ZV9pbXBvcnRsaWIuYwppbmRleCA1N2IxYWMwLi4zMWIzZDMxIDEwMDY0NAotLS0gYS9Nb2R1bGVzL19mcmVlemVfaW1wb3J0bGliLmMKKysrIGIvUHJvZ3JhbXMvX2ZyZWV6ZV9pbXBvcnRsaWIuYwpAQCAtMTcsNyArMTcsNyBAQAogICAgb2YgZnJvemVuIG1vZHVsZXMgaW5zdGVhZCwgbGVmdCBkZWxpYmVyYXRlbHkgYmxhbmsgc28gYXMgdG8gYXZvaWQKICAgIHVuaW50ZW50aW9uYWwgaW1wb3J0IG9mIGEgc3RhbGUgdmVyc2lvbiBvZiBfZnJvemVuX2ltcG9ydGxpYi4gKi8KIAotY29uc3Qgc3RhdGljIHN0cnVjdCBfZnJvemVuIF9QeUltcG9ydF9Gcm96ZW5Nb2R1bGVzW10gPSB7CitzdGF0aWMgY29uc3Qgc3RydWN0IF9mcm96ZW4gX1B5SW1wb3J0X0Zyb3plbk1vZHVsZXNbXSA9IHsKICAgICB7MCwgMCwgMH0gLyogc2VudGluZWwgKi8KIH07CiAKQEAgLTI4LDE0ICsyOCwxNCBAQAogY29uc3Qgc3RydWN0IF9mcm96ZW4gKlB5SW1wb3J0X0Zyb3plbk1vZHVsZXM7CiAjZW5kaWYKIAotY29uc3QgY2hhciBoZWFkZXJbXSA9ICIvKiBBdXRvLWdlbmVyYXRlZCBieSBNb2R1bGVzL19mcmVlemVfaW1wb3J0bGliLmMgKi8iOworY29uc3QgY2hhciBoZWFkZXJbXSA9ICIvKiBBdXRvLWdlbmVyYXRlZCBieSBQcm9ncmFtcy9fZnJlZXplX2ltcG9ydGxpYi5jICovIjsKIAogaW50CiBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCiB7CiAgICAgY2hhciAqaW5wYXRoLCAqb3V0cGF0aDsKICAgICBGSUxFICppbmZpbGUgPSBOVUxMLCAqb3V0ZmlsZSA9IE5VTEw7Ci0gICAgc3RydWN0IHN0YXQgc3Q7CisgICAgc3RydWN0IF9QeV9zdGF0X3N0cnVjdCBzdDsKICAgICBzaXplX3QgdGV4dF9zaXplLCBkYXRhX3NpemUsIG47CiAgICAgY2hhciAqdGV4dCA9IE5VTEw7CiAgICAgdW5zaWduZWQgY2hhciAqZGF0YTsKQEAgLTU0LDcgKzU0LDcgQEAKICAgICAgICAgZnByaW50ZihzdGRlcnIsICJjYW5ub3Qgb3BlbiAnJXMnIGZvciByZWFkaW5nXG4iLCBpbnBhdGgpOwogICAgICAgICBnb3RvIGVycm9yOwogICAgIH0KLSAgICBpZiAoZnN0YXQoZmlsZW5vKGluZmlsZSksICZzdCkpIHsKKyAgICBpZiAoX1B5X2ZzdGF0KGZpbGVubyhpbmZpbGUpLCAmc3QpKSB7CiAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiY2Fubm90IGZzdGF0ICclcydcbiIsIGlucGF0aCk7CiAgICAgICAgIGdvdG8gZXJyb3I7CiAgICAgfQpkaWZmIC0tZ2l0IGEvTW9kdWxlcy9fdGVzdGVtYmVkLmMgYi9Qcm9ncmFtcy9fdGVzdGVtYmVkLmMKc2ltaWxhcml0eSBpbmRleCA5NiUKcmVuYW1lIGZyb20gTW9kdWxlcy9fdGVzdGVtYmVkLmMKcmVuYW1lIHRvIFByb2dyYW1zL190ZXN0ZW1iZWQuYwppbmRleCBhMjFkMjUxLi4zOWZmMDk3IDEwMDY0NAotLS0gYS9Nb2R1bGVzL190ZXN0ZW1iZWQuYworKysgYi9Qcm9ncmFtcy9fdGVzdGVtYmVkLmMKQEAgLTEwOSwxMSArMTA5LDExIEBACiAgICAgcHJpbnRmKCItLS0gVXNlIGRlZmF1bHRzIC0tLVxuIik7CiAgICAgY2hlY2tfc3RkaW9fZGV0YWlscyhOVUxMLCBOVUxMKTsKICAgICBwcmludGYoIi0tLSBTZXQgZXJyb3JzIG9ubHkgLS0tXG4iKTsKLSAgICBjaGVja19zdGRpb19kZXRhaWxzKE5VTEwsICJzdXJyb2dhdGVlc2NhcGUiKTsKKyAgICBjaGVja19zdGRpb19kZXRhaWxzKE5VTEwsICJpZ25vcmUiKTsKICAgICBwcmludGYoIi0tLSBTZXQgZW5jb2Rpbmcgb25seSAtLS1cbiIpOwogICAgIGNoZWNrX3N0ZGlvX2RldGFpbHMoImxhdGluLTEiLCBOVUxMKTsKICAgICBwcmludGYoIi0tLSBTZXQgZW5jb2RpbmcgYW5kIGVycm9ycyAtLS1cbiIpOwotICAgIGNoZWNrX3N0ZGlvX2RldGFpbHMoImxhdGluLTEiLCAic3Vycm9nYXRlZXNjYXBlIik7CisgICAgY2hlY2tfc3RkaW9fZGV0YWlscygibGF0aW4tMSIsICJyZXBsYWNlIik7CiAKICAgICAvKiBDaGVjayBjYWxsaW5nIGFmdGVyIGluaXRpYWxpemF0aW9uIGZhaWxzICovCiAgICAgUHlfSW5pdGlhbGl6ZSgpOwpkaWZmIC0tZ2l0IGEvTW9kdWxlcy9weXRob24uYyBiL1Byb2dyYW1zL3B5dGhvbi5jCnNpbWlsYXJpdHkgaW5kZXggOTYlCnJlbmFtZSBmcm9tIE1vZHVsZXMvcHl0aG9uLmMKcmVuYW1lIHRvIFByb2dyYW1zL3B5dGhvbi5jCmluZGV4IDk4MTFjMDEuLjJlNWU0ZTMgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvcHl0aG9uLmMKKysrIGIvUHJvZ3JhbXMvcHl0aG9uLmMKQEAgLTUyLDcgKzUyLDcgQEAKIAogICAgIHNldGxvY2FsZShMQ19BTEwsICIiKTsKICAgICBmb3IgKGkgPSAwOyBpIDwgYXJnYzsgaSsrKSB7Ci0gICAgICAgIGFyZ3ZfY29weVtpXSA9IF9QeV9jaGFyMndjaGFyKGFyZ3ZbaV0sIE5VTEwpOworICAgICAgICBhcmd2X2NvcHlbaV0gPSBQeV9EZWNvZGVMb2NhbGUoYXJndltpXSwgTlVMTCk7CiAgICAgICAgIGlmICghYXJndl9jb3B5W2ldKSB7CiAgICAgICAgICAgICBQeU1lbV9SYXdGcmVlKG9sZGxvYyk7CiAgICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIkZhdGFsIFB5dGhvbiBlcnJvcjogIgpkaWZmIC0tZ2l0IGEvUHl0aG9uL1B5dGhvbi1hc3QuYyBiL1B5dGhvbi9QeXRob24tYXN0LmMKaW5kZXggNDRmZGFmYy4uOTk0ZTcyMSAxMDA2NDQKLS0tIGEvUHl0aG9uL1B5dGhvbi1hc3QuYworKysgYi9QeXRob24vUHl0aG9uLWFzdC5jCkBAIC0zNDksMTMgKzM0OSwxNCBAQAogc3RhdGljIFB5VHlwZU9iamVjdCAqT3JfdHlwZTsKIHN0YXRpYyBQeVR5cGVPYmplY3QgKm9wZXJhdG9yX3R5cGU7CiBzdGF0aWMgUHlPYmplY3QgKkFkZF9zaW5nbGV0b24sICpTdWJfc2luZ2xldG9uLCAqTXVsdF9zaW5nbGV0b24sCi0qRGl2X3NpbmdsZXRvbiwgKk1vZF9zaW5nbGV0b24sICpQb3dfc2luZ2xldG9uLCAqTFNoaWZ0X3NpbmdsZXRvbiwKLSpSU2hpZnRfc2luZ2xldG9uLCAqQml0T3Jfc2luZ2xldG9uLCAqQml0WG9yX3NpbmdsZXRvbiwgKkJpdEFuZF9zaW5nbGV0b24sCi0qRmxvb3JEaXZfc2luZ2xldG9uOworKk1hdE11bHRfc2luZ2xldG9uLCAqRGl2X3NpbmdsZXRvbiwgKk1vZF9zaW5nbGV0b24sICpQb3dfc2luZ2xldG9uLAorKkxTaGlmdF9zaW5nbGV0b24sICpSU2hpZnRfc2luZ2xldG9uLCAqQml0T3Jfc2luZ2xldG9uLCAqQml0WG9yX3NpbmdsZXRvbiwKKypCaXRBbmRfc2luZ2xldG9uLCAqRmxvb3JEaXZfc2luZ2xldG9uOwogc3RhdGljIFB5T2JqZWN0KiBhc3Qyb2JqX29wZXJhdG9yKG9wZXJhdG9yX3R5KTsKIHN0YXRpYyBQeVR5cGVPYmplY3QgKkFkZF90eXBlOwogc3RhdGljIFB5VHlwZU9iamVjdCAqU3ViX3R5cGU7CiBzdGF0aWMgUHlUeXBlT2JqZWN0ICpNdWx0X3R5cGU7CitzdGF0aWMgUHlUeXBlT2JqZWN0ICpNYXRNdWx0X3R5cGU7CiBzdGF0aWMgUHlUeXBlT2JqZWN0ICpEaXZfdHlwZTsKIHN0YXRpYyBQeVR5cGVPYmplY3QgKk1vZF90eXBlOwogc3RhdGljIFB5VHlwZU9iamVjdCAqUG93X3R5cGU7CkBAIC05NzAsNiArOTcxLDEwIEBACiAgICAgaWYgKCFNdWx0X3R5cGUpIHJldHVybiAwOwogICAgIE11bHRfc2luZ2xldG9uID0gUHlUeXBlX0dlbmVyaWNOZXcoTXVsdF90eXBlLCBOVUxMLCBOVUxMKTsKICAgICBpZiAoIU11bHRfc2luZ2xldG9uKSByZXR1cm4gMDsKKyAgICBNYXRNdWx0X3R5cGUgPSBtYWtlX3R5cGUoIk1hdE11bHQiLCBvcGVyYXRvcl90eXBlLCBOVUxMLCAwKTsKKyAgICBpZiAoIU1hdE11bHRfdHlwZSkgcmV0dXJuIDA7CisgICAgTWF0TXVsdF9zaW5nbGV0b24gPSBQeVR5cGVfR2VuZXJpY05ldyhNYXRNdWx0X3R5cGUsIE5VTEwsIE5VTEwpOworICAgIGlmICghTWF0TXVsdF9zaW5nbGV0b24pIHJldHVybiAwOwogICAgIERpdl90eXBlID0gbWFrZV90eXBlKCJEaXYiLCBvcGVyYXRvcl90eXBlLCBOVUxMLCAwKTsKICAgICBpZiAoIURpdl90eXBlKSByZXR1cm4gMDsKICAgICBEaXZfc2luZ2xldG9uID0gUHlUeXBlX0dlbmVyaWNOZXcoRGl2X3R5cGUsIE5VTEwsIE5VTEwpOwpAQCAtMzIzMiw2ICszMjM3LDkgQEAKICAgICAgICAgY2FzZSBNdWx0OgogICAgICAgICAgICAgUHlfSU5DUkVGKE11bHRfc2luZ2xldG9uKTsKICAgICAgICAgICAgIHJldHVybiBNdWx0X3NpbmdsZXRvbjsKKyAgICAgICAgY2FzZSBNYXRNdWx0OgorICAgICAgICAgICAgUHlfSU5DUkVGKE1hdE11bHRfc2luZ2xldG9uKTsKKyAgICAgICAgICAgIHJldHVybiBNYXRNdWx0X3NpbmdsZXRvbjsKICAgICAgICAgY2FzZSBEaXY6CiAgICAgICAgICAgICBQeV9JTkNSRUYoRGl2X3NpbmdsZXRvbik7CiAgICAgICAgICAgICByZXR1cm4gRGl2X3NpbmdsZXRvbjsKQEAgLTYxNzUsNiArNjE4MywxNCBAQAogICAgICAgICAqb3V0ID0gTXVsdDsKICAgICAgICAgcmV0dXJuIDA7CiAgICAgfQorICAgIGlzaW5zdGFuY2UgPSBQeU9iamVjdF9Jc0luc3RhbmNlKG9iaiwgKFB5T2JqZWN0ICopTWF0TXVsdF90eXBlKTsKKyAgICBpZiAoaXNpbnN0YW5jZSA9PSAtMSkgeworICAgICAgICByZXR1cm4gMTsKKyAgICB9CisgICAgaWYgKGlzaW5zdGFuY2UpIHsKKyAgICAgICAgKm91dCA9IE1hdE11bHQ7CisgICAgICAgIHJldHVybiAwOworICAgIH0KICAgICBpc2luc3RhbmNlID0gUHlPYmplY3RfSXNJbnN0YW5jZShvYmosIChQeU9iamVjdCAqKURpdl90eXBlKTsKICAgICBpZiAoaXNpbnN0YW5jZSA9PSAtMSkgewogICAgICAgICByZXR1cm4gMTsKQEAgLTY5NTYsNiArNjk3Miw4IEBACiAgICAgaWYgKFB5RGljdF9TZXRJdGVtU3RyaW5nKGQsICJBZGQiLCAoUHlPYmplY3QqKUFkZF90eXBlKSA8IDApIHJldHVybiBOVUxMOwogICAgIGlmIChQeURpY3RfU2V0SXRlbVN0cmluZyhkLCAiU3ViIiwgKFB5T2JqZWN0KilTdWJfdHlwZSkgPCAwKSByZXR1cm4gTlVMTDsKICAgICBpZiAoUHlEaWN0X1NldEl0ZW1TdHJpbmcoZCwgIk11bHQiLCAoUHlPYmplY3QqKU11bHRfdHlwZSkgPCAwKSByZXR1cm4gTlVMTDsKKyAgICBpZiAoUHlEaWN0X1NldEl0ZW1TdHJpbmcoZCwgIk1hdE11bHQiLCAoUHlPYmplY3QqKU1hdE11bHRfdHlwZSkgPCAwKSByZXR1cm4KKyAgICAgICAgTlVMTDsKICAgICBpZiAoUHlEaWN0X1NldEl0ZW1TdHJpbmcoZCwgIkRpdiIsIChQeU9iamVjdCopRGl2X3R5cGUpIDwgMCkgcmV0dXJuIE5VTEw7CiAgICAgaWYgKFB5RGljdF9TZXRJdGVtU3RyaW5nKGQsICJNb2QiLCAoUHlPYmplY3QqKU1vZF90eXBlKSA8IDApIHJldHVybiBOVUxMOwogICAgIGlmIChQeURpY3RfU2V0SXRlbVN0cmluZyhkLCAiUG93IiwgKFB5T2JqZWN0KilQb3dfdHlwZSkgPCAwKSByZXR1cm4gTlVMTDsKZGlmZiAtLWdpdCBhL1B5dGhvbi9SRUFETUUgYi9QeXRob24vUkVBRE1FCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE1M2I2MjgKLS0tIC9kZXYvbnVsbAorKysgYi9QeXRob24vUkVBRE1FCkBAIC0wLDAgKzEgQEAKK01pc2NlbGxhbmVvdXMgc291cmNlIGZpbGVzIGZvciB0aGUgbWFpbiBQeXRob24gc2hhcmVkIGxpYnJhcnkKZGlmZiAtLWdpdCBhL1B5dGhvbi9fd2FybmluZ3MuYyBiL1B5dGhvbi9fd2FybmluZ3MuYwppbmRleCBiZWY1NjQ3Li5hMWY0MzY4IDEwMDY0NAotLS0gYS9QeXRob24vX3dhcm5pbmdzLmMKKysrIGIvUHl0aG9uL193YXJuaW5ncy5jCkBAIC02MzcsMTYgKzYzNywxNyBAQAogCiAgICAgaWYgKHJjID09IDEpCiAgICAgICAgIGNhdGVnb3J5ID0gKFB5T2JqZWN0KiltZXNzYWdlLT5vYl90eXBlOwotICAgIGVsc2UgaWYgKGNhdGVnb3J5ID09IE5VTEwpCisgICAgZWxzZSBpZiAoY2F0ZWdvcnkgPT0gTlVMTCB8fCBjYXRlZ29yeSA9PSBQeV9Ob25lKQogICAgICAgICBjYXRlZ29yeSA9IFB5RXhjX1VzZXJXYXJuaW5nOwogCiAgICAgLyogVmFsaWRhdGUgY2F0ZWdvcnkuICovCiAgICAgcmMgPSBQeU9iamVjdF9Jc1N1YmNsYXNzKGNhdGVnb3J5LCBQeUV4Y19XYXJuaW5nKTsKLSAgICBpZiAocmMgPT0gLTEpCi0gICAgICAgIHJldHVybiBOVUxMOwotICAgIGlmIChyYyA9PSAwKSB7Ci0gICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLAotICAgICAgICAgICAgICAgICAgICAgICAgImNhdGVnb3J5IGlzIG5vdCBhIHN1YmNsYXNzIG9mIFdhcm5pbmciKTsKKyAgICAvKiBjYXRlZ29yeSBpcyBub3QgYSBzdWJjbGFzcyBvZiBQeUV4Y19XYXJuaW5nIG9yCisgICAgICAgUHlPYmplY3RfSXNTdWJjbGFzcyByYWlzZWQgYW4gZXJyb3IgKi8KKyAgICBpZiAocmMgPT0gLTEgfHwgcmMgPT0gMCkgeworICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVHlwZUVycm9yLAorICAgICAgICAgICAgICAgICAgICAgImNhdGVnb3J5IG11c3QgYmUgYSBXYXJuaW5nIHN1YmNsYXNzLCBub3QgJyVzJyIsCisgICAgICAgICAgICAgICAgICAgICBQeV9UWVBFKGNhdGVnb3J5KS0+dHBfbmFtZSk7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvUHl0aG9uL2FzZGwuYyBiL1B5dGhvbi9hc2RsLmMKaW5kZXggNzRmYTk0MS4uZGYzODdiMiAxMDA2NDQKLS0tIGEvUHl0aG9uL2FzZGwuYworKysgYi9QeXRob24vYXNkbC5jCkBAIC01LDIxICs1LDIxIEBACiBfUHlfYXNkbF9zZXFfbmV3KFB5X3NzaXplX3Qgc2l6ZSwgUHlBcmVuYSAqYXJlbmEpCiB7CiAgICAgYXNkbF9zZXEgKnNlcSA9IE5VTEw7Ci0gICAgc2l6ZV90IG4gPSAoc2l6ZSA/IChzaXplb2Yodm9pZCAqKSAqIChzaXplIC0gMSkpIDogMCk7CisgICAgc2l6ZV90IG47CiAKICAgICAvKiBjaGVjayBzaXplIGlzIHNhbmUgKi8KLSAgICBpZiAoc2l6ZSA8IDAgfHwgc2l6ZSA9PSBJTlRfTUlOIHx8Ci0gICAgICAgIChzaXplICYmICgoc2l6ZSAtIDEpID4gKFBZX1NJWkVfTUFYIC8gc2l6ZW9mKHZvaWQgKikpKSkpIHsKKyAgICBpZiAoc2l6ZSA8IDAgfHwKKyAgICAgICAgKHNpemUgJiYgKCgoc2l6ZV90KXNpemUgLSAxKSA+IChQWV9TSVpFX01BWCAvIHNpemVvZih2b2lkICopKSkpKSB7CiAgICAgICAgIFB5RXJyX05vTWVtb3J5KCk7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KKyAgICBuID0gKHNpemUgPyAoc2l6ZW9mKHZvaWQgKikgKiAoc2l6ZSAtIDEpKSA6IDApOwogCiAgICAgLyogY2hlY2sgaWYgc2l6ZSBjYW4gYmUgYWRkZWQgc2FmZWx5ICovCiAgICAgaWYgKG4gPiBQWV9TSVpFX01BWCAtIHNpemVvZihhc2RsX3NlcSkpIHsKICAgICAgICAgUHlFcnJfTm9NZW1vcnkoKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQotCiAgICAgbiArPSBzaXplb2YoYXNkbF9zZXEpOwogCiAgICAgc2VxID0gKGFzZGxfc2VxICopUHlBcmVuYV9NYWxsb2MoYXJlbmEsIG4pOwpAQCAtMzYsMjEgKzM2LDIxIEBACiBfUHlfYXNkbF9pbnRfc2VxX25ldyhQeV9zc2l6ZV90IHNpemUsIFB5QXJlbmEgKmFyZW5hKQogewogICAgIGFzZGxfaW50X3NlcSAqc2VxID0gTlVMTDsKLSAgICBzaXplX3QgbiA9IChzaXplID8gKHNpemVvZih2b2lkICopICogKHNpemUgLSAxKSkgOiAwKTsKKyAgICBzaXplX3QgbjsKIAogICAgIC8qIGNoZWNrIHNpemUgaXMgc2FuZSAqLwotICAgIGlmIChzaXplIDwgMCB8fCBzaXplID09IElOVF9NSU4gfHwKLSAgICAgICAgKHNpemUgJiYgKChzaXplIC0gMSkgPiAoUFlfU0laRV9NQVggLyBzaXplb2Yodm9pZCAqKSkpKSkgeworICAgIGlmIChzaXplIDwgMCB8fAorICAgICAgICAoc2l6ZSAmJiAoKChzaXplX3Qpc2l6ZSAtIDEpID4gKFBZX1NJWkVfTUFYIC8gc2l6ZW9mKHZvaWQgKikpKSkpIHsKICAgICAgICAgICAgIFB5RXJyX05vTWVtb3J5KCk7CiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CisgICAgbiA9IChzaXplID8gKHNpemVvZih2b2lkICopICogKHNpemUgLSAxKSkgOiAwKTsKIAogICAgIC8qIGNoZWNrIGlmIHNpemUgY2FuIGJlIGFkZGVkIHNhZmVseSAqLwogICAgIGlmIChuID4gUFlfU0laRV9NQVggLSBzaXplb2YoYXNkbF9zZXEpKSB7CiAgICAgICAgIFB5RXJyX05vTWVtb3J5KCk7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KLQogICAgIG4gKz0gc2l6ZW9mKGFzZGxfc2VxKTsKIAogICAgIHNlcSA9IChhc2RsX2ludF9zZXEgKilQeUFyZW5hX01hbGxvYyhhcmVuYSwgbik7CmRpZmYgLS1naXQgYS9QeXRob24vYXN0LmMgYi9QeXRob24vYXN0LmMKaW5kZXggZDUwY2I4MC4uMmYxYWU2MCAxMDA2NDQKLS0tIGEvUHl0aG9uL2FzdC5jCisrKyBiL1B5dGhvbi9hc3QuYwpAQCAtODI1LDYgKzgyNSw4IEBACiAgICAgICAgICAgICByZXR1cm4gU3ViOwogICAgICAgICBjYXNlIFNUQVI6CiAgICAgICAgICAgICByZXR1cm4gTXVsdDsKKyAgICAgICAgY2FzZSBBVDoKKyAgICAgICAgICAgIHJldHVybiBNYXRNdWx0OwogICAgICAgICBjYXNlIFNMQVNIOgogICAgICAgICAgICAgcmV0dXJuIERpdjsKICAgICAgICAgY2FzZSBET1VCTEVTTEFTSDoKQEAgLTEwMzAsNiArMTAzMiw4IEBACiAgICAgICAgICAgICAgICAgcmV0dXJuIFBvdzsKICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICByZXR1cm4gTXVsdDsKKyAgICAgICAgY2FzZSAnQCc6CisgICAgICAgICAgICByZXR1cm4gTWF0TXVsdDsKICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19TeXN0ZW1FcnJvciwgImludmFsaWQgYXVnYXNzaWduOiAlcyIsIFNUUihuKSk7CiAgICAgICAgICAgICByZXR1cm4gKG9wZXJhdG9yX3R5KTA7CkBAIC0yMjU3LDcgKzIyNjEsNyBAQAogICAgICAgIGFuZF9leHByOiBzaGlmdF9leHByICgnJicgc2hpZnRfZXhwcikqCiAgICAgICAgc2hpZnRfZXhwcjogYXJpdGhfZXhwciAoKCc8PCd8Jz4+JykgYXJpdGhfZXhwcikqCiAgICAgICAgYXJpdGhfZXhwcjogdGVybSAoKCcrJ3wnLScpIHRlcm0pKgotICAgICAgIHRlcm06IGZhY3RvciAoKCcqJ3wnLyd8JyUnfCcvLycpIGZhY3RvcikqCisgICAgICAgdGVybTogZmFjdG9yICgoJyonfCdAJ3wnLyd8JyUnfCcvLycpIGZhY3RvcikqCiAgICAgICAgZmFjdG9yOiAoJysnfCctJ3wnficpIGZhY3RvciB8IHBvd2VyCiAgICAgICAgcG93ZXI6IGF0b20gdHJhaWxlciogKCcqKicgZmFjdG9yKSoKICAgICAqLwpAQCAtMjU2OCw3ICsyNTcyLDcgQEAKICAgICAvKiBleHByX3N0bXQ6IHRlc3RsaXN0X3N0YXJfZXhwciAoYXVnYXNzaWduICh5aWVsZF9leHByfHRlc3RsaXN0KQogICAgICAgICAgICAgICAgIHwgKCc9JyAoeWllbGRfZXhwcnx0ZXN0bGlzdCkpKikKICAgICAgICB0ZXN0bGlzdF9zdGFyX2V4cHI6ICh0ZXN0fHN0YXJfZXhwcikgKCcsJyB0ZXN0fHN0YXJfZXhwcikqIFsnLCddCi0gICAgICAgYXVnYXNzaWduOiAnKz0nIHwgJy09JyB8ICcqPScgfCAnLz0nIHwgJyU9JyB8ICcmPScgfCAnfD0nIHwgJ149JworICAgICAgIGF1Z2Fzc2lnbjogJys9JyB8ICctPScgfCAnKj0nIHwgJ0A9JyB8ICcvPScgfCAnJT0nIHwgJyY9JyB8ICd8PScgfCAnXj0nCiAgICAgICAgICAgICAgICAgfCAnPDw9JyB8ICc+Pj0nIHwgJyoqPScgfCAnLy89JwogICAgICAgIHRlc3Q6IC4uLiBoZXJlIHN0YXJ0cyB0aGUgb3BlcmF0b3IgcHJlY2VuZGVuY2UgZGFuY2UKICAgICAgKi8KZGlmZiAtLWdpdCBhL1B5dGhvbi9ibHRpbm1vZHVsZS5jIGIvUHl0aG9uL2JsdGlubW9kdWxlLmMKaW5kZXggNGI0Zjk3OS4uZjliYjM4OCAxMDA2NDQKLS0tIGEvUHl0aG9uL2JsdGlubW9kdWxlLmMKKysrIGIvUHl0aG9uL2JsdGlubW9kdWxlLmMKQEAgLTQ2LDYgKzQ2LDcgQEAKIF9QeV9JREVOVElGSUVSKHN0ZG91dCk7CiBfUHlfSURFTlRJRklFUihzdGRlcnIpOwogCisvKiBBQzogY2Fubm90IGNvbnZlcnQgeWV0LCB3YWl0aW5nIGZvciAqYXJncyBzdXBwb3J0ICovCiBzdGF0aWMgUHlPYmplY3QgKgogYnVpbHRpbl9fX2J1aWxkX2NsYXNzX18oUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dkcykKIHsKQEAgLTIyOSwyNSArMjMwLDYyIEBACiBpcyB0aGUgbnVtYmVyIG9mIHBhcmVudCBkaXJlY3RvcmllcyB0byBzZWFyY2ggcmVsYXRpdmUgdG8gdGhlIGN1cnJlbnQgbW9kdWxlLiIpOwogCiAKKy8qW2NsaW5pYyBpbnB1dF0KK2FicyBhcyBidWlsdGluX2FicworCisgICAgeDogJ08nCisgICAgLworCitSZXR1cm4gdGhlIGFic29sdXRlIHZhbHVlIG9mIHRoZSBhcmd1bWVudC4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKGJ1aWx0aW5fYWJzX19kb2NfXywKKyJhYnMoJG1vZHVsZSwgeCwgLylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiB0aGUgYWJzb2x1dGUgdmFsdWUgb2YgdGhlIGFyZ3VtZW50LiIpOworCisjZGVmaW5lIEJVSUxUSU5fQUJTX01FVEhPRERFRiAgICBcCisgICAgeyJhYnMiLCAoUHlDRnVuY3Rpb24pYnVpbHRpbl9hYnMsIE1FVEhfTywgYnVpbHRpbl9hYnNfX2RvY19ffSwKKwogc3RhdGljIFB5T2JqZWN0ICoKLWJ1aWx0aW5fYWJzKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqdikKK2J1aWx0aW5fYWJzKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICp4KQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWY4NTA5NTUyOGNlN2UyZTUgaW5wdXQ9YWEyOWNjMDc4NjliNDczMl0qLwogewotICAgIHJldHVybiBQeU51bWJlcl9BYnNvbHV0ZSh2KTsKKyAgICByZXR1cm4gUHlOdW1iZXJfQWJzb2x1dGUoeCk7CiB9CiAKLVB5RG9jX1NUUlZBUihhYnNfZG9jLAotImFicyhudW1iZXIpIC0+IG51bWJlclxuXAotXG5cCi1SZXR1cm4gdGhlIGFic29sdXRlIHZhbHVlIG9mIHRoZSBhcmd1bWVudC4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK2FsbCBhcyBidWlsdGluX2FsbAorCisgICAgaXRlcmFibGU6ICdPJworICAgIC8KKworUmV0dXJuIFRydWUgaWYgYm9vbCh4KSBpcyBUcnVlIGZvciBhbGwgdmFsdWVzIHggaW4gdGhlIGl0ZXJhYmxlLgorCitJZiB0aGUgaXRlcmFibGUgaXMgZW1wdHksIHJldHVybiBUcnVlLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIoYnVpbHRpbl9hbGxfX2RvY19fLAorImFsbCgkbW9kdWxlLCBpdGVyYWJsZSwgLylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiBUcnVlIGlmIGJvb2woeCkgaXMgVHJ1ZSBmb3IgYWxsIHZhbHVlcyB4IGluIHRoZSBpdGVyYWJsZS5cbiIKKyJcbiIKKyJJZiB0aGUgaXRlcmFibGUgaXMgZW1wdHksIHJldHVybiBUcnVlLiIpOworCisjZGVmaW5lIEJVSUxUSU5fQUxMX01FVEhPRERFRiAgICBcCisgICAgeyJhbGwiLCAoUHlDRnVuY3Rpb24pYnVpbHRpbl9hbGwsIE1FVEhfTywgYnVpbHRpbl9hbGxfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLWJ1aWx0aW5fYWxsKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqdikKK2J1aWx0aW5fYWxsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICppdGVyYWJsZSkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1kMDAxZGI3MzliYTgzYjQ2IGlucHV0PWRkNTA2ZGM5OTk4ZDQyYmRdKi8KIHsKICAgICBQeU9iamVjdCAqaXQsICppdGVtOwogICAgIFB5T2JqZWN0ICooKml0ZXJuZXh0KShQeU9iamVjdCAqKTsKICAgICBpbnQgY21wOwogCi0gICAgaXQgPSBQeU9iamVjdF9HZXRJdGVyKHYpOworICAgIGl0ID0gUHlPYmplY3RfR2V0SXRlcihpdGVyYWJsZSk7CiAgICAgaWYgKGl0ID09IE5VTEwpCiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIGl0ZXJuZXh0ID0gKlB5X1RZUEUoaXQpLT50cF9pdGVybmV4dDsKQEAgLTI3NywyMCArMzE1LDM3IEBACiAgICAgUHlfUkVUVVJOX1RSVUU7CiB9CiAKLVB5RG9jX1NUUlZBUihhbGxfZG9jLAotImFsbChpdGVyYWJsZSkgLT4gYm9vbFxuXAotXG5cCi1SZXR1cm4gVHJ1ZSBpZiBib29sKHgpIGlzIFRydWUgZm9yIGFsbCB2YWx1ZXMgeCBpbiB0aGUgaXRlcmFibGUuXG5cCi1JZiB0aGUgaXRlcmFibGUgaXMgZW1wdHksIHJldHVybiBUcnVlLiIpOworLypbY2xpbmljIGlucHV0XQorYW55IGFzIGJ1aWx0aW5fYW55CisKKyAgICBpdGVyYWJsZTogJ08nCisgICAgLworCitSZXR1cm4gVHJ1ZSBpZiBib29sKHgpIGlzIFRydWUgZm9yIGFueSB4IGluIHRoZSBpdGVyYWJsZS4KKworSWYgdGhlIGl0ZXJhYmxlIGlzIGVtcHR5LCByZXR1cm4gRmFsc2UuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihidWlsdGluX2FueV9fZG9jX18sCisiYW55KCRtb2R1bGUsIGl0ZXJhYmxlLCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIFRydWUgaWYgYm9vbCh4KSBpcyBUcnVlIGZvciBhbnkgeCBpbiB0aGUgaXRlcmFibGUuXG4iCisiXG4iCisiSWYgdGhlIGl0ZXJhYmxlIGlzIGVtcHR5LCByZXR1cm4gRmFsc2UuIik7CisKKyNkZWZpbmUgQlVJTFRJTl9BTllfTUVUSE9EREVGICAgIFwKKyAgICB7ImFueSIsIChQeUNGdW5jdGlvbilidWlsdGluX2FueSwgTUVUSF9PLCBidWlsdGluX2FueV9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotYnVpbHRpbl9hbnkoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICp2KQorYnVpbHRpbl9hbnkoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKml0ZXJhYmxlKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTNhNGI2ZGJlNmEwZDZmNjEgaW5wdXQ9OGZlODQ2MGYzZmJiY2VkOF0qLwogewogICAgIFB5T2JqZWN0ICppdCwgKml0ZW07CiAgICAgUHlPYmplY3QgKigqaXRlcm5leHQpKFB5T2JqZWN0ICopOwogICAgIGludCBjbXA7CiAKLSAgICBpdCA9IFB5T2JqZWN0X0dldEl0ZXIodik7CisgICAgaXQgPSBQeU9iamVjdF9HZXRJdGVyKGl0ZXJhYmxlKTsKICAgICBpZiAoaXQgPT0gTlVMTCkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgaXRlcm5leHQgPSAqUHlfVFlQRShpdCktPnRwX2l0ZXJuZXh0OwpAQCAtMzIwLDU2ICszNzUsMTA1IEBACiAgICAgUHlfUkVUVVJOX0ZBTFNFOwogfQogCi1QeURvY19TVFJWQVIoYW55X2RvYywKLSJhbnkoaXRlcmFibGUpIC0+IGJvb2xcblwKLVxuXAotUmV0dXJuIFRydWUgaWYgYm9vbCh4KSBpcyBUcnVlIGZvciBhbnkgeCBpbiB0aGUgaXRlcmFibGUuXG5cCi1JZiB0aGUgaXRlcmFibGUgaXMgZW1wdHksIHJldHVybiBGYWxzZS4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK2FzY2lpIGFzIGJ1aWx0aW5fYXNjaWkKKworICAgIG9iajogJ08nCisgICAgLworCitSZXR1cm4gYW4gQVNDSUktb25seSByZXByZXNlbnRhdGlvbiBvZiBhbiBvYmplY3QuCisKK0FzIHJlcHIoKSwgcmV0dXJuIGEgc3RyaW5nIGNvbnRhaW5pbmcgYSBwcmludGFibGUgcmVwcmVzZW50YXRpb24gb2YgYW4KK29iamVjdCwgYnV0IGVzY2FwZSB0aGUgbm9uLUFTQ0lJIGNoYXJhY3RlcnMgaW4gdGhlIHN0cmluZyByZXR1cm5lZCBieQorcmVwcigpIHVzaW5nIFxceCwgXFx1IG9yIFxcVSBlc2NhcGVzLiBUaGlzIGdlbmVyYXRlcyBhIHN0cmluZyBzaW1pbGFyCit0byB0aGF0IHJldHVybmVkIGJ5IHJlcHIoKSBpbiBQeXRob24gMi4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKGJ1aWx0aW5fYXNjaWlfX2RvY19fLAorImFzY2lpKCRtb2R1bGUsIG9iaiwgLylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiBhbiBBU0NJSS1vbmx5IHJlcHJlc2VudGF0aW9uIG9mIGFuIG9iamVjdC5cbiIKKyJcbiIKKyJBcyByZXByKCksIHJldHVybiBhIHN0cmluZyBjb250YWluaW5nIGEgcHJpbnRhYmxlIHJlcHJlc2VudGF0aW9uIG9mIGFuXG4iCisib2JqZWN0LCBidXQgZXNjYXBlIHRoZSBub24tQVNDSUkgY2hhcmFjdGVycyBpbiB0aGUgc3RyaW5nIHJldHVybmVkIGJ5XG4iCisicmVwcigpIHVzaW5nIFxcXFx4LCBcXFxcdSBvciBcXFxcVSBlc2NhcGVzLiBUaGlzIGdlbmVyYXRlcyBhIHN0cmluZyBzaW1pbGFyXG4iCisidG8gdGhhdCByZXR1cm5lZCBieSByZXByKCkgaW4gUHl0aG9uIDIuIik7CisKKyNkZWZpbmUgQlVJTFRJTl9BU0NJSV9NRVRIT0RERUYgICAgXAorICAgIHsiYXNjaWkiLCAoUHlDRnVuY3Rpb24pYnVpbHRpbl9hc2NpaSwgTUVUSF9PLCBidWlsdGluX2FzY2lpX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1idWlsdGluX2FzY2lpKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqdikKK2J1aWx0aW5fYXNjaWkoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKm9iaikKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1mMGU2NzU0MTU0YzJkMzBiIGlucHV0PTBjYmRjMTQyMGEzMDYzMjVdKi8KIHsKLSAgICByZXR1cm4gUHlPYmplY3RfQVNDSUkodik7CisgICAgcmV0dXJuIFB5T2JqZWN0X0FTQ0lJKG9iaik7CiB9CiAKLVB5RG9jX1NUUlZBUihhc2NpaV9kb2MsCi0iYXNjaWkob2JqZWN0KSAtPiBzdHJpbmdcblwKLVxuXAotQXMgcmVwcigpLCByZXR1cm4gYSBzdHJpbmcgY29udGFpbmluZyBhIHByaW50YWJsZSByZXByZXNlbnRhdGlvbiBvZiBhblxuXAotb2JqZWN0LCBidXQgZXNjYXBlIHRoZSBub24tQVNDSUkgY2hhcmFjdGVycyBpbiB0aGUgc3RyaW5nIHJldHVybmVkIGJ5XG5cCi1yZXByKCkgdXNpbmcgXFx4LCBcXHUgb3IgXFxVIGVzY2FwZXMuICBUaGlzIGdlbmVyYXRlcyBhIHN0cmluZyBzaW1pbGFyXG5cCi10byB0aGF0IHJldHVybmVkIGJ5IHJlcHIoKSBpbiBQeXRob24gMi4iKTsKIAorLypbY2xpbmljIGlucHV0XQorYmluIGFzIGJ1aWx0aW5fYmluCisKKyAgICBudW1iZXI6ICdPJworICAgIC8KKworUmV0dXJuIHRoZSBiaW5hcnkgcmVwcmVzZW50YXRpb24gb2YgYW4gaW50ZWdlci4KKworICAgPj4+IGJpbigyNzk2MjAyKQorICAgJzBiMTAxMDEwMTAxMDEwMTAxMDEwMTAxMCcKK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKGJ1aWx0aW5fYmluX19kb2NfXywKKyJiaW4oJG1vZHVsZSwgbnVtYmVyLCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIHRoZSBiaW5hcnkgcmVwcmVzZW50YXRpb24gb2YgYW4gaW50ZWdlci5cbiIKKyJcbiIKKyIgICA+Pj4gYmluKDI3OTYyMDIpXG4iCisiICAgXCcwYjEwMTAxMDEwMTAxMDEwMTAxMDEwMTBcJyIpOworCisjZGVmaW5lIEJVSUxUSU5fQklOX01FVEhPRERFRiAgICBcCisgICAgeyJiaW4iLCAoUHlDRnVuY3Rpb24pYnVpbHRpbl9iaW4sIE1FVEhfTywgYnVpbHRpbl9iaW5fX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLWJ1aWx0aW5fYmluKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqdikKK2J1aWx0aW5fYmluKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpudW1iZXIpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9MThmZWQwZTk0MzY1MGRhMSBpbnB1dD0yYTYzNjJhZTlhOWM5MjAzXSovCiB7Ci0gICAgcmV0dXJuIFB5TnVtYmVyX1RvQmFzZSh2LCAyKTsKKyAgICByZXR1cm4gUHlOdW1iZXJfVG9CYXNlKG51bWJlciwgMik7CiB9CiAKLVB5RG9jX1NUUlZBUihiaW5fZG9jLAotImJpbihudW1iZXIpIC0+IHN0cmluZ1xuXAotXG5cCi1SZXR1cm4gdGhlIGJpbmFyeSByZXByZXNlbnRhdGlvbiBvZiBhbiBpbnRlZ2VyLlxuXAotXG5cCi0gICA+Pj4gYmluKDI3OTYyMDIpXG5cCi0gICAnMGIxMDEwMTAxMDEwMTAxMDEwMTAxMDEwJ1xuXAotIik7CiAKKy8qW2NsaW5pYyBpbnB1dF0KK2NhbGxhYmxlIGFzIGJ1aWx0aW5fY2FsbGFibGUKKworICAgIG9iajogJ08nCisgICAgLworCitSZXR1cm4gd2hldGhlciB0aGUgb2JqZWN0IGlzIGNhbGxhYmxlIChpLmUuLCBzb21lIGtpbmQgb2YgZnVuY3Rpb24pLgorCitOb3RlIHRoYXQgY2xhc3NlcyBhcmUgY2FsbGFibGUsIGFzIGFyZSBpbnN0YW5jZXMgb2YgY2xhc3NlcyB3aXRoIGEKK19fY2FsbF9fKCkgbWV0aG9kLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIoYnVpbHRpbl9jYWxsYWJsZV9fZG9jX18sCisiY2FsbGFibGUoJG1vZHVsZSwgb2JqLCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIHdoZXRoZXIgdGhlIG9iamVjdCBpcyBjYWxsYWJsZSAoaS5lLiwgc29tZSBraW5kIG9mIGZ1bmN0aW9uKS5cbiIKKyJcbiIKKyJOb3RlIHRoYXQgY2xhc3NlcyBhcmUgY2FsbGFibGUsIGFzIGFyZSBpbnN0YW5jZXMgb2YgY2xhc3NlcyB3aXRoIGFcbiIKKyJfX2NhbGxfXygpIG1ldGhvZC4iKTsKKworI2RlZmluZSBCVUlMVElOX0NBTExBQkxFX01FVEhPRERFRiAgICBcCisgICAgeyJjYWxsYWJsZSIsIChQeUNGdW5jdGlvbilidWlsdGluX2NhbGxhYmxlLCBNRVRIX08sIGJ1aWx0aW5fY2FsbGFibGVfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLWJ1aWx0aW5fY2FsbGFibGUoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICp2KQorYnVpbHRpbl9jYWxsYWJsZShQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqb2JqKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWIzYTkyY2JlNjM1ZjMyYWYgaW5wdXQ9YmIzYmI1MjhmZmZkYWRlNF0qLwogewotICAgIHJldHVybiBQeUJvb2xfRnJvbUxvbmcoKGxvbmcpUHlDYWxsYWJsZV9DaGVjayh2KSk7CisgICAgcmV0dXJuIFB5Qm9vbF9Gcm9tTG9uZygobG9uZylQeUNhbGxhYmxlX0NoZWNrKG9iaikpOwogfQogCi1QeURvY19TVFJWQVIoY2FsbGFibGVfZG9jLAotImNhbGxhYmxlKG9iamVjdCkgLT4gYm9vbFxuXAotXG5cCi1SZXR1cm4gd2hldGhlciB0aGUgb2JqZWN0IGlzIGNhbGxhYmxlIChpLmUuLCBzb21lIGtpbmQgb2YgZnVuY3Rpb24pLlxuXAotTm90ZSB0aGF0IGNsYXNzZXMgYXJlIGNhbGxhYmxlLCBhcyBhcmUgaW5zdGFuY2VzIG9mIGNsYXNzZXMgd2l0aCBhXG5cCi1fX2NhbGxfXygpIG1ldGhvZC4iKTsKLQogCiB0eXBlZGVmIHN0cnVjdCB7CiAgICAgUHlPYmplY3RfSEVBRApAQCAtNTI0LDM5ICs2MjgsOTkgQEAKIH07CiAKIAorLypbY2xpbmljIGlucHV0XQorZm9ybWF0IGFzIGJ1aWx0aW5fZm9ybWF0CisKKyAgICB2YWx1ZTogJ08nCisgICAgZm9ybWF0X3NwZWM6IHVuaWNvZGUoY19kZWZhdWx0PSJOVUxMIikgPSAnJworICAgIC8KKworUmV0dXJuIHZhbHVlLl9fZm9ybWF0X18oZm9ybWF0X3NwZWMpCisKK2Zvcm1hdF9zcGVjIGRlZmF1bHRzIHRvIHRoZSBlbXB0eSBzdHJpbmcKK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKGJ1aWx0aW5fZm9ybWF0X19kb2NfXywKKyJmb3JtYXQoJG1vZHVsZSwgdmFsdWUsIGZvcm1hdF9zcGVjPVwnXCcsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gdmFsdWUuX19mb3JtYXRfXyhmb3JtYXRfc3BlYylcbiIKKyJcbiIKKyJmb3JtYXRfc3BlYyBkZWZhdWx0cyB0byB0aGUgZW1wdHkgc3RyaW5nIik7CisKKyNkZWZpbmUgQlVJTFRJTl9GT1JNQVRfTUVUSE9EREVGICAgIFwKKyAgICB7ImZvcm1hdCIsIChQeUNGdW5jdGlvbilidWlsdGluX2Zvcm1hdCwgTUVUSF9WQVJBUkdTLCBidWlsdGluX2Zvcm1hdF9fZG9jX199LAorCiBzdGF0aWMgUHlPYmplY3QgKgotYnVpbHRpbl9mb3JtYXQoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorYnVpbHRpbl9mb3JtYXRfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqdmFsdWUsIFB5T2JqZWN0ICpmb3JtYXRfc3BlYyk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitidWlsdGluX2Zvcm1hdChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKIHsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKICAgICBQeU9iamVjdCAqdmFsdWU7CiAgICAgUHlPYmplY3QgKmZvcm1hdF9zcGVjID0gTlVMTDsKIAotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiT3xVOmZvcm1hdCIsICZ2YWx1ZSwgJmZvcm1hdF9zcGVjKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICJPfFU6Zm9ybWF0IiwKKyAgICAgICAgJnZhbHVlLCAmZm9ybWF0X3NwZWMpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gYnVpbHRpbl9mb3JtYXRfaW1wbChtb2R1bGUsIHZhbHVlLCBmb3JtYXRfc3BlYyk7CiAKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK2J1aWx0aW5fZm9ybWF0X2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKnZhbHVlLCBQeU9iamVjdCAqZm9ybWF0X3NwZWMpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9Mzk3MjNhNThjNzJlODg3MSBpbnB1dD1lMjNmMmYxMWUwMDk4YzY0XSovCit7CiAgICAgcmV0dXJuIFB5T2JqZWN0X0Zvcm1hdCh2YWx1ZSwgZm9ybWF0X3NwZWMpOwogfQogCi1QeURvY19TVFJWQVIoZm9ybWF0X2RvYywKLSJmb3JtYXQodmFsdWVbLCBmb3JtYXRfc3BlY10pIC0+IHN0cmluZ1xuXAotXG5cCi1SZXR1cm5zIHZhbHVlLl9fZm9ybWF0X18oZm9ybWF0X3NwZWMpXG5cCi1mb3JtYXRfc3BlYyBkZWZhdWx0cyB0byBcIlwiIik7CisvKltjbGluaWMgaW5wdXRdCitjaHIgYXMgYnVpbHRpbl9jaHIKKworICAgIGk6ICdpJworICAgIC8KKworUmV0dXJuIGEgVW5pY29kZSBzdHJpbmcgb2Ygb25lIGNoYXJhY3RlciB3aXRoIG9yZGluYWwgaTsgMCA8PSBpIDw9IDB4MTBmZmZmLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIoYnVpbHRpbl9jaHJfX2RvY19fLAorImNocigkbW9kdWxlLCBpLCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIGEgVW5pY29kZSBzdHJpbmcgb2Ygb25lIGNoYXJhY3RlciB3aXRoIG9yZGluYWwgaTsgMCA8PSBpIDw9IDB4MTBmZmZmLiIpOworCisjZGVmaW5lIEJVSUxUSU5fQ0hSX01FVEhPRERFRiAgICBcCisgICAgeyJjaHIiLCAoUHlDRnVuY3Rpb24pYnVpbHRpbl9jaHIsIE1FVEhfVkFSQVJHUywgYnVpbHRpbl9jaHJfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLWJ1aWx0aW5fY2hyKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK2J1aWx0aW5fY2hyX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IGkpOworCitzdGF0aWMgUHlPYmplY3QgKgorYnVpbHRpbl9jaHIoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCiB7Ci0gICAgaW50IHg7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgaW50IGk7CiAKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgImk6Y2hyIiwgJngpKQotICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgImk6Y2hyIiwKKyAgICAgICAgJmkpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gYnVpbHRpbl9jaHJfaW1wbChtb2R1bGUsIGkpOwogCi0gICAgcmV0dXJuIFB5VW5pY29kZV9Gcm9tT3JkaW5hbCh4KTsKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKIH0KIAotUHlEb2NfU1RSVkFSKGNocl9kb2MsCi0iY2hyKGkpIC0+IFVuaWNvZGUgY2hhcmFjdGVyXG5cCi1cblwKLVJldHVybiBhIFVuaWNvZGUgc3RyaW5nIG9mIG9uZSBjaGFyYWN0ZXIgd2l0aCBvcmRpbmFsIGk7IDAgPD0gaSA8PSAweDEwZmZmZi4iKTsKK3N0YXRpYyBQeU9iamVjdCAqCitidWlsdGluX2Nocl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCBpKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTRkNmJiZTk0OGY1NmUyYWUgaW5wdXQ9OWIxY2VkMjk2MTVhZGY2Nl0qLworeworICAgIHJldHVybiBQeVVuaWNvZGVfRnJvbU9yZGluYWwoaSk7Cit9CiAKIAogc3RhdGljIGNvbnN0IGNoYXIgKgpAQCAtNTgyLDggKzc0Niw4IEBACiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KIAotICAgIGlmIChzdHJsZW4oc3RyKSAhPSBzaXplKSB7Ci0gICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsCisgICAgaWYgKHN0cmxlbihzdHIpICE9IChzaXplX3Qpc2l6ZSkgeworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwKICAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UgY29kZSBzdHJpbmcgY2Fubm90IGNvbnRhaW4gbnVsbCBieXRlcyIpOwogICAgICAgICBQeUJ1ZmZlcl9SZWxlYXNlKHZpZXcpOwogICAgICAgICByZXR1cm4gTlVMTDsKQEAgLTU5MSwzNSArNzU1LDkxIEBACiAgICAgcmV0dXJuIHN0cjsKIH0KIAorLypbY2xpbmljIGlucHV0XQorY29tcGlsZSBhcyBidWlsdGluX2NvbXBpbGUKKworICAgIHNvdXJjZTogJ08nCisgICAgZmlsZW5hbWU6IG9iamVjdChjb252ZXJ0ZXI9IlB5VW5pY29kZV9GU0RlY29kZXIiKQorICAgIG1vZGU6ICdzJworICAgIGZsYWdzOiAnaScgPSAwCisgICAgZG9udF9pbmhlcml0OiAnaScgPSAwCisgICAgb3B0aW1pemU6ICdpJyA9IC0xCisKK0NvbXBpbGUgc291cmNlIGludG8gYSBjb2RlIG9iamVjdCB0aGF0IGNhbiBiZSBleGVjdXRlZCBieSBleGVjKCkgb3IgZXZhbCgpLgorCitUaGUgc291cmNlIGNvZGUgbWF5IHJlcHJlc2VudCBhIFB5dGhvbiBtb2R1bGUsIHN0YXRlbWVudCBvciBleHByZXNzaW9uLgorVGhlIGZpbGVuYW1lIHdpbGwgYmUgdXNlZCBmb3IgcnVuLXRpbWUgZXJyb3IgbWVzc2FnZXMuCitUaGUgbW9kZSBtdXN0IGJlICdleGVjJyB0byBjb21waWxlIGEgbW9kdWxlLCAnc2luZ2xlJyB0byBjb21waWxlIGEKK3NpbmdsZSAoaW50ZXJhY3RpdmUpIHN0YXRlbWVudCwgb3IgJ2V2YWwnIHRvIGNvbXBpbGUgYW4gZXhwcmVzc2lvbi4KK1RoZSBmbGFncyBhcmd1bWVudCwgaWYgcHJlc2VudCwgY29udHJvbHMgd2hpY2ggZnV0dXJlIHN0YXRlbWVudHMgaW5mbHVlbmNlCit0aGUgY29tcGlsYXRpb24gb2YgdGhlIGNvZGUuCitUaGUgZG9udF9pbmhlcml0IGFyZ3VtZW50LCBpZiBub24temVybywgc3RvcHMgdGhlIGNvbXBpbGF0aW9uIGluaGVyaXRpbmcKK3RoZSBlZmZlY3RzIG9mIGFueSBmdXR1cmUgc3RhdGVtZW50cyBpbiBlZmZlY3QgaW4gdGhlIGNvZGUgY2FsbGluZworY29tcGlsZTsgaWYgYWJzZW50IG9yIHplcm8gdGhlc2Ugc3RhdGVtZW50cyBkbyBpbmZsdWVuY2UgdGhlIGNvbXBpbGF0aW9uLAoraW4gYWRkaXRpb24gdG8gYW55IGZlYXR1cmVzIGV4cGxpY2l0bHkgc3BlY2lmaWVkLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIoYnVpbHRpbl9jb21waWxlX19kb2NfXywKKyJjb21waWxlKCRtb2R1bGUsIC8sIHNvdXJjZSwgZmlsZW5hbWUsIG1vZGUsIGZsYWdzPTAsIGRvbnRfaW5oZXJpdD0wLFxuIgorIiAgICAgICAgb3B0aW1pemU9LTEpXG4iCisiLS1cbiIKKyJcbiIKKyJDb21waWxlIHNvdXJjZSBpbnRvIGEgY29kZSBvYmplY3QgdGhhdCBjYW4gYmUgZXhlY3V0ZWQgYnkgZXhlYygpIG9yIGV2YWwoKS5cbiIKKyJcbiIKKyJUaGUgc291cmNlIGNvZGUgbWF5IHJlcHJlc2VudCBhIFB5dGhvbiBtb2R1bGUsIHN0YXRlbWVudCBvciBleHByZXNzaW9uLlxuIgorIlRoZSBmaWxlbmFtZSB3aWxsIGJlIHVzZWQgZm9yIHJ1bi10aW1lIGVycm9yIG1lc3NhZ2VzLlxuIgorIlRoZSBtb2RlIG11c3QgYmUgXCdleGVjXCcgdG8gY29tcGlsZSBhIG1vZHVsZSwgXCdzaW5nbGVcJyB0byBjb21waWxlIGFcbiIKKyJzaW5nbGUgKGludGVyYWN0aXZlKSBzdGF0ZW1lbnQsIG9yIFwnZXZhbFwnIHRvIGNvbXBpbGUgYW4gZXhwcmVzc2lvbi5cbiIKKyJUaGUgZmxhZ3MgYXJndW1lbnQsIGlmIHByZXNlbnQsIGNvbnRyb2xzIHdoaWNoIGZ1dHVyZSBzdGF0ZW1lbnRzIGluZmx1ZW5jZVxuIgorInRoZSBjb21waWxhdGlvbiBvZiB0aGUgY29kZS5cbiIKKyJUaGUgZG9udF9pbmhlcml0IGFyZ3VtZW50LCBpZiBub24temVybywgc3RvcHMgdGhlIGNvbXBpbGF0aW9uIGluaGVyaXRpbmdcbiIKKyJ0aGUgZWZmZWN0cyBvZiBhbnkgZnV0dXJlIHN0YXRlbWVudHMgaW4gZWZmZWN0IGluIHRoZSBjb2RlIGNhbGxpbmdcbiIKKyJjb21waWxlOyBpZiBhYnNlbnQgb3IgemVybyB0aGVzZSBzdGF0ZW1lbnRzIGRvIGluZmx1ZW5jZSB0aGUgY29tcGlsYXRpb24sXG4iCisiaW4gYWRkaXRpb24gdG8gYW55IGZlYXR1cmVzIGV4cGxpY2l0bHkgc3BlY2lmaWVkLiIpOworCisjZGVmaW5lIEJVSUxUSU5fQ09NUElMRV9NRVRIT0RERUYgICAgXAorICAgIHsiY29tcGlsZSIsIChQeUNGdW5jdGlvbilidWlsdGluX2NvbXBpbGUsIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBidWlsdGluX2NvbXBpbGVfX2RvY19ffSwKKwogc3RhdGljIFB5T2JqZWN0ICoKLWJ1aWx0aW5fY29tcGlsZShQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2RzKQorYnVpbHRpbl9jb21waWxlX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKnNvdXJjZSwgUHlPYmplY3QgKmZpbGVuYW1lLCBjb25zdCBjaGFyICptb2RlLCBpbnQgZmxhZ3MsIGludCBkb250X2luaGVyaXQsIGludCBvcHRpbWl6ZSk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitidWlsdGluX2NvbXBpbGUoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCit7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgc3RhdGljIGNoYXIgKl9rZXl3b3Jkc1tdID0geyJzb3VyY2UiLCAiZmlsZW5hbWUiLCAibW9kZSIsICJmbGFncyIsICJkb250X2luaGVyaXQiLCAib3B0aW1pemUiLCBOVUxMfTsKKyAgICBQeU9iamVjdCAqc291cmNlOworICAgIFB5T2JqZWN0ICpmaWxlbmFtZTsKKyAgICBjb25zdCBjaGFyICptb2RlOworICAgIGludCBmbGFncyA9IDA7CisgICAgaW50IGRvbnRfaW5oZXJpdCA9IDA7CisgICAgaW50IG9wdGltaXplID0gLTE7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsCisgICAgICAgICJPTyZzfGlpaTpjb21waWxlIiwgX2tleXdvcmRzLAorICAgICAgICAmc291cmNlLCBQeVVuaWNvZGVfRlNEZWNvZGVyLCAmZmlsZW5hbWUsICZtb2RlLCAmZmxhZ3MsICZkb250X2luaGVyaXQsICZvcHRpbWl6ZSkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBidWlsdGluX2NvbXBpbGVfaW1wbChtb2R1bGUsIHNvdXJjZSwgZmlsZW5hbWUsIG1vZGUsIGZsYWdzLCBkb250X2luaGVyaXQsIG9wdGltaXplKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorYnVpbHRpbl9jb21waWxlX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKnNvdXJjZSwgUHlPYmplY3QgKmZpbGVuYW1lLCBjb25zdCBjaGFyICptb2RlLCBpbnQgZmxhZ3MsIGludCBkb250X2luaGVyaXQsIGludCBvcHRpbWl6ZSkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1jNzJkMTk3ODA5ZDE3OGZjIGlucHV0PWM2MjEyYTlkMjE0NzJmN2VdKi8KIHsKICAgICBQeV9idWZmZXIgdmlldyA9IHtOVUxMLCBOVUxMfTsKICAgICBjb25zdCBjaGFyICpzdHI7Ci0gICAgUHlPYmplY3QgKmZpbGVuYW1lOwotICAgIGNoYXIgKnN0YXJ0c3RyOwotICAgIGludCBtb2RlID0gLTE7Ci0gICAgaW50IGRvbnRfaW5oZXJpdCA9IDA7Ci0gICAgaW50IHN1cHBsaWVkX2ZsYWdzID0gMDsKLSAgICBpbnQgb3B0aW1pemUgPSAtMTsKKyAgICBpbnQgY29tcGlsZV9tb2RlID0gLTE7CiAgICAgaW50IGlzX2FzdDsKICAgICBQeUNvbXBpbGVyRmxhZ3MgY2Y7Ci0gICAgUHlPYmplY3QgKmNtZDsKLSAgICBzdGF0aWMgY2hhciAqa3dsaXN0W10gPSB7InNvdXJjZSIsICJmaWxlbmFtZSIsICJtb2RlIiwgImZsYWdzIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRvbnRfaW5oZXJpdCIsICJvcHRpbWl6ZSIsIE5VTEx9OwogICAgIGludCBzdGFydFtdID0ge1B5X2ZpbGVfaW5wdXQsIFB5X2V2YWxfaW5wdXQsIFB5X3NpbmdsZV9pbnB1dH07CiAgICAgUHlPYmplY3QgKnJlc3VsdDsKIAotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3ZHMsICJPTyZzfGlpaTpjb21waWxlIiwgIGt3bGlzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmY21kLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9GU0RlY29kZXIsICZmaWxlbmFtZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmc3RhcnRzdHIsICZzdXBwbGllZF9mbGFncywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZG9udF9pbmhlcml0LCAmb3B0aW1pemUpKQotICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBjZi5jZl9mbGFncyA9IGZsYWdzIHwgUHlDRl9TT1VSQ0VfSVNfVVRGODsKIAotICAgIGNmLmNmX2ZsYWdzID0gc3VwcGxpZWRfZmxhZ3MgfCBQeUNGX1NPVVJDRV9JU19VVEY4OwotCi0gICAgaWYgKHN1cHBsaWVkX2ZsYWdzICYKKyAgICBpZiAoZmxhZ3MgJgogICAgICAgICB+KFB5Q0ZfTUFTSyB8IFB5Q0ZfTUFTS19PQlNPTEVURSB8IFB5Q0ZfRE9OVF9JTVBMWV9ERURFTlQgfCBQeUNGX09OTFlfQVNUKSkKICAgICB7CiAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLApAQCAtNjM4LDI1ICs4NTgsMjUgQEAKICAgICAgICAgUHlFdmFsX01lcmdlQ29tcGlsZXJGbGFncygmY2YpOwogICAgIH0KIAotICAgIGlmIChzdHJjbXAoc3RhcnRzdHIsICJleGVjIikgPT0gMCkKLSAgICAgICAgbW9kZSA9IDA7Ci0gICAgZWxzZSBpZiAoc3RyY21wKHN0YXJ0c3RyLCAiZXZhbCIpID09IDApCi0gICAgICAgIG1vZGUgPSAxOwotICAgIGVsc2UgaWYgKHN0cmNtcChzdGFydHN0ciwgInNpbmdsZSIpID09IDApCi0gICAgICAgIG1vZGUgPSAyOworICAgIGlmIChzdHJjbXAobW9kZSwgImV4ZWMiKSA9PSAwKQorICAgICAgICBjb21waWxlX21vZGUgPSAwOworICAgIGVsc2UgaWYgKHN0cmNtcChtb2RlLCAiZXZhbCIpID09IDApCisgICAgICAgIGNvbXBpbGVfbW9kZSA9IDE7CisgICAgZWxzZSBpZiAoc3RyY21wKG1vZGUsICJzaW5nbGUiKSA9PSAwKQorICAgICAgICBjb21waWxlX21vZGUgPSAyOwogICAgIGVsc2UgewogICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwKLSAgICAgICAgICAgICAgICAgICAgICAgICJjb21waWxlKCkgYXJnIDMgbXVzdCBiZSAnZXhlYycsICdldmFsJyBvciAnc2luZ2xlJyIpOworICAgICAgICAgICAgICAgICAgICAgICAgImNvbXBpbGUoKSBtb2RlIG11c3QgYmUgJ2V4ZWMnLCAnZXZhbCcgb3IgJ3NpbmdsZSciKTsKICAgICAgICAgZ290byBlcnJvcjsKICAgICB9CiAKLSAgICBpc19hc3QgPSBQeUFTVF9DaGVjayhjbWQpOworICAgIGlzX2FzdCA9IFB5QVNUX0NoZWNrKHNvdXJjZSk7CiAgICAgaWYgKGlzX2FzdCA9PSAtMSkKICAgICAgICAgZ290byBlcnJvcjsKICAgICBpZiAoaXNfYXN0KSB7Ci0gICAgICAgIGlmIChzdXBwbGllZF9mbGFncyAmIFB5Q0ZfT05MWV9BU1QpIHsKLSAgICAgICAgICAgIFB5X0lOQ1JFRihjbWQpOwotICAgICAgICAgICAgcmVzdWx0ID0gY21kOworICAgICAgICBpZiAoZmxhZ3MgJiBQeUNGX09OTFlfQVNUKSB7CisgICAgICAgICAgICBQeV9JTkNSRUYoc291cmNlKTsKKyAgICAgICAgICAgIHJlc3VsdCA9IHNvdXJjZTsKICAgICAgICAgfQogICAgICAgICBlbHNlIHsKICAgICAgICAgICAgIFB5QXJlbmEgKmFyZW5hOwpAQCAtNjY1LDcgKzg4NSw3IEBACiAgICAgICAgICAgICBhcmVuYSA9IFB5QXJlbmFfTmV3KCk7CiAgICAgICAgICAgICBpZiAoYXJlbmEgPT0gTlVMTCkKICAgICAgICAgICAgICAgICBnb3RvIGVycm9yOwotICAgICAgICAgICAgbW9kID0gUHlBU1Rfb2JqMm1vZChjbWQsIGFyZW5hLCBtb2RlKTsKKyAgICAgICAgICAgIG1vZCA9IFB5QVNUX29iajJtb2Qoc291cmNlLCBhcmVuYSwgY29tcGlsZV9tb2RlKTsKICAgICAgICAgICAgIGlmIChtb2QgPT0gTlVMTCkgewogICAgICAgICAgICAgICAgIFB5QXJlbmFfRnJlZShhcmVuYSk7CiAgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKQEAgLTY4MSwxMSArOTAxLDExIEBACiAgICAgICAgIGdvdG8gZmluYWxseTsKICAgICB9CiAKLSAgICBzdHIgPSBzb3VyY2VfYXNfc3RyaW5nKGNtZCwgImNvbXBpbGUiLCAic3RyaW5nLCBieXRlcyBvciBBU1QiLCAmY2YsICZ2aWV3KTsKKyAgICBzdHIgPSBzb3VyY2VfYXNfc3RyaW5nKHNvdXJjZSwgImNvbXBpbGUiLCAic3RyaW5nLCBieXRlcyBvciBBU1QiLCAmY2YsICZ2aWV3KTsKICAgICBpZiAoc3RyID09IE5VTEwpCiAgICAgICAgIGdvdG8gZXJyb3I7CiAKLSAgICByZXN1bHQgPSBQeV9Db21waWxlU3RyaW5nT2JqZWN0KHN0ciwgZmlsZW5hbWUsIHN0YXJ0W21vZGVdLCAmY2YsIG9wdGltaXplKTsKKyAgICByZXN1bHQgPSBQeV9Db21waWxlU3RyaW5nT2JqZWN0KHN0ciwgZmlsZW5hbWUsIHN0YXJ0W2NvbXBpbGVfbW9kZV0sICZjZiwgb3B0aW1pemUpOwogICAgIFB5QnVmZmVyX1JlbGVhc2UoJnZpZXcpOwogICAgIGdvdG8gZmluYWxseTsKIApAQCAtNjk2LDIxICs5MTYsNyBAQAogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLVB5RG9jX1NUUlZBUihjb21waWxlX2RvYywKLSJjb21waWxlKHNvdXJjZSwgZmlsZW5hbWUsIG1vZGVbLCBmbGFnc1ssIGRvbnRfaW5oZXJpdF1dKSAtPiBjb2RlIG9iamVjdFxuXAotXG5cCi1Db21waWxlIHRoZSBzb3VyY2UgKGEgUHl0aG9uIG1vZHVsZSwgc3RhdGVtZW50IG9yIGV4cHJlc3Npb24pXG5cCi1pbnRvIGEgY29kZSBvYmplY3QgdGhhdCBjYW4gYmUgZXhlY3V0ZWQgYnkgZXhlYygpIG9yIGV2YWwoKS5cblwKLVRoZSBmaWxlbmFtZSB3aWxsIGJlIHVzZWQgZm9yIHJ1bi10aW1lIGVycm9yIG1lc3NhZ2VzLlxuXAotVGhlIG1vZGUgbXVzdCBiZSAnZXhlYycgdG8gY29tcGlsZSBhIG1vZHVsZSwgJ3NpbmdsZScgdG8gY29tcGlsZSBhXG5cCi1zaW5nbGUgKGludGVyYWN0aXZlKSBzdGF0ZW1lbnQsIG9yICdldmFsJyB0byBjb21waWxlIGFuIGV4cHJlc3Npb24uXG5cCi1UaGUgZmxhZ3MgYXJndW1lbnQsIGlmIHByZXNlbnQsIGNvbnRyb2xzIHdoaWNoIGZ1dHVyZSBzdGF0ZW1lbnRzIGluZmx1ZW5jZVxuXAotdGhlIGNvbXBpbGF0aW9uIG9mIHRoZSBjb2RlLlxuXAotVGhlIGRvbnRfaW5oZXJpdCBhcmd1bWVudCwgaWYgbm9uLXplcm8sIHN0b3BzIHRoZSBjb21waWxhdGlvbiBpbmhlcml0aW5nXG5cCi10aGUgZWZmZWN0cyBvZiBhbnkgZnV0dXJlIHN0YXRlbWVudHMgaW4gZWZmZWN0IGluIHRoZSBjb2RlIGNhbGxpbmdcblwKLWNvbXBpbGU7IGlmIGFic2VudCBvciB6ZXJvIHRoZXNlIHN0YXRlbWVudHMgZG8gaW5mbHVlbmNlIHRoZSBjb21waWxhdGlvbixcblwKLWluIGFkZGl0aW9uIHRvIGFueSBmZWF0dXJlcyBleHBsaWNpdGx5IHNwZWNpZmllZC4iKTsKLQorLyogQUM6IGNhbm5vdCBjb252ZXJ0IHlldCwgYXMgbmVlZHMgUEVQIDQ1NyBncm91cCBzdXBwb3J0IGluIGluc3BlY3QgKi8KIHN0YXRpYyBQeU9iamVjdCAqCiBidWlsdGluX2RpcihQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCiB7CkBAIC03MzUsMzMgKzk0MSwxMTUgQEAKICIgIGZvciBhbnkgb3RoZXIgb2JqZWN0OiBpdHMgYXR0cmlidXRlcywgaXRzIGNsYXNzJ3MgYXR0cmlidXRlcywgYW5kXG4iCiAiICAgIHJlY3Vyc2l2ZWx5IHRoZSBhdHRyaWJ1dGVzIG9mIGl0cyBjbGFzcydzIGJhc2UgY2xhc3Nlcy4iKTsKIAotc3RhdGljIFB5T2JqZWN0ICoKLWJ1aWx0aW5fZGl2bW9kKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKLXsKLSAgICBQeU9iamVjdCAqdiwgKnc7CisvKltjbGluaWMgaW5wdXRdCitkaXZtb2QgYXMgYnVpbHRpbl9kaXZtb2QKIAotICAgIGlmICghUHlBcmdfVW5wYWNrVHVwbGUoYXJncywgImRpdm1vZCIsIDIsIDIsICZ2LCAmdykpCi0gICAgICAgIHJldHVybiBOVUxMOwotICAgIHJldHVybiBQeU51bWJlcl9EaXZtb2Qodiwgdyk7CisgICAgeDogJ08nCisgICAgeTogJ08nCisgICAgLworCitSZXR1cm4gdGhlIHR1cGxlICgoeC14JXkpL3ksIHgleSkuICBJbnZhcmlhbnQ6IGRpdip5ICsgbW9kID09IHguCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihidWlsdGluX2Rpdm1vZF9fZG9jX18sCisiZGl2bW9kKCRtb2R1bGUsIHgsIHksIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gdGhlIHR1cGxlICgoeC14JXkpL3ksIHgleSkuICBJbnZhcmlhbnQ6IGRpdip5ICsgbW9kID09IHguIik7CisKKyNkZWZpbmUgQlVJTFRJTl9ESVZNT0RfTUVUSE9EREVGICAgIFwKKyAgICB7ImRpdm1vZCIsIChQeUNGdW5jdGlvbilidWlsdGluX2Rpdm1vZCwgTUVUSF9WQVJBUkdTLCBidWlsdGluX2Rpdm1vZF9fZG9jX199LAorCitzdGF0aWMgUHlPYmplY3QgKgorYnVpbHRpbl9kaXZtb2RfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqeCwgUHlPYmplY3QgKnkpOworCitzdGF0aWMgUHlPYmplY3QgKgorYnVpbHRpbl9kaXZtb2QoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgUHlPYmplY3QgKng7CisgICAgUHlPYmplY3QgKnk7CisKKyAgICBpZiAoIVB5QXJnX1VucGFja1R1cGxlKGFyZ3MsICJkaXZtb2QiLAorICAgICAgICAyLCAyLAorICAgICAgICAmeCwgJnkpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gYnVpbHRpbl9kaXZtb2RfaW1wbChtb2R1bGUsIHgsIHkpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7CiB9CiAKLVB5RG9jX1NUUlZBUihkaXZtb2RfZG9jLAotImRpdm1vZCh4LCB5KSAtPiAoZGl2LCBtb2QpXG5cCi1cblwKLVJldHVybiB0aGUgdHVwbGUgKCh4LXgleSkveSwgeCV5KS4gIEludmFyaWFudDogZGl2KnkgKyBtb2QgPT0geC4iKTsKK3N0YXRpYyBQeU9iamVjdCAqCitidWlsdGluX2Rpdm1vZF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICp4LCBQeU9iamVjdCAqeSkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD03N2U4ZDQwOGIxMzM4ODg2IGlucHV0PWM5YzYxN2I3YmI3NGM2MTVdKi8KK3sKKyAgICByZXR1cm4gUHlOdW1iZXJfRGl2bW9kKHgsIHkpOworfQogCiAKKy8qW2NsaW5pYyBpbnB1dF0KK2V2YWwgYXMgYnVpbHRpbl9ldmFsCisKKyAgICBzb3VyY2U6ICdPJworICAgIGdsb2JhbHM6ICdPJyA9IE5vbmUKKyAgICBsb2NhbHM6ICdPJyA9IE5vbmUKKyAgICAvCisKK0V2YWx1YXRlIHRoZSBnaXZlbiBzb3VyY2UgaW4gdGhlIGNvbnRleHQgb2YgZ2xvYmFscyBhbmQgbG9jYWxzLgorCitUaGUgc291cmNlIG1heSBiZSBhIHN0cmluZyByZXByZXNlbnRpbmcgYSBQeXRob24gZXhwcmVzc2lvbgorb3IgYSBjb2RlIG9iamVjdCBhcyByZXR1cm5lZCBieSBjb21waWxlKCkuCitUaGUgZ2xvYmFscyBtdXN0IGJlIGEgZGljdGlvbmFyeSBhbmQgbG9jYWxzIGNhbiBiZSBhbnkgbWFwcGluZywKK2RlZmF1bHRpbmcgdG8gdGhlIGN1cnJlbnQgZ2xvYmFscyBhbmQgbG9jYWxzLgorSWYgb25seSBnbG9iYWxzIGlzIGdpdmVuLCBsb2NhbHMgZGVmYXVsdHMgdG8gaXQuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihidWlsdGluX2V2YWxfX2RvY19fLAorImV2YWwoJG1vZHVsZSwgc291cmNlLCBnbG9iYWxzPU5vbmUsIGxvY2Fscz1Ob25lLCAvKVxuIgorIi0tXG4iCisiXG4iCisiRXZhbHVhdGUgdGhlIGdpdmVuIHNvdXJjZSBpbiB0aGUgY29udGV4dCBvZiBnbG9iYWxzIGFuZCBsb2NhbHMuXG4iCisiXG4iCisiVGhlIHNvdXJjZSBtYXkgYmUgYSBzdHJpbmcgcmVwcmVzZW50aW5nIGEgUHl0aG9uIGV4cHJlc3Npb25cbiIKKyJvciBhIGNvZGUgb2JqZWN0IGFzIHJldHVybmVkIGJ5IGNvbXBpbGUoKS5cbiIKKyJUaGUgZ2xvYmFscyBtdXN0IGJlIGEgZGljdGlvbmFyeSBhbmQgbG9jYWxzIGNhbiBiZSBhbnkgbWFwcGluZyxcbiIKKyJkZWZhdWx0aW5nIHRvIHRoZSBjdXJyZW50IGdsb2JhbHMgYW5kIGxvY2Fscy5cbiIKKyJJZiBvbmx5IGdsb2JhbHMgaXMgZ2l2ZW4sIGxvY2FscyBkZWZhdWx0cyB0byBpdC4iKTsKKworI2RlZmluZSBCVUlMVElOX0VWQUxfTUVUSE9EREVGICAgIFwKKyAgICB7ImV2YWwiLCAoUHlDRnVuY3Rpb24pYnVpbHRpbl9ldmFsLCBNRVRIX1ZBUkFSR1MsIGJ1aWx0aW5fZXZhbF9fZG9jX199LAorCiBzdGF0aWMgUHlPYmplY3QgKgotYnVpbHRpbl9ldmFsKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK2J1aWx0aW5fZXZhbF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpzb3VyY2UsIFB5T2JqZWN0ICpnbG9iYWxzLCBQeU9iamVjdCAqbG9jYWxzKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK2J1aWx0aW5fZXZhbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKIHsKLSAgICBQeU9iamVjdCAqY21kLCAqcmVzdWx0LCAqdG1wID0gTlVMTDsKLSAgICBQeU9iamVjdCAqZ2xvYmFscyA9IFB5X05vbmUsICpsb2NhbHMgPSBQeV9Ob25lOworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIFB5T2JqZWN0ICpzb3VyY2U7CisgICAgUHlPYmplY3QgKmdsb2JhbHMgPSBQeV9Ob25lOworICAgIFB5T2JqZWN0ICpsb2NhbHMgPSBQeV9Ob25lOworCisgICAgaWYgKCFQeUFyZ19VbnBhY2tUdXBsZShhcmdzLCAiZXZhbCIsCisgICAgICAgIDEsIDMsCisgICAgICAgICZzb3VyY2UsICZnbG9iYWxzLCAmbG9jYWxzKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IGJ1aWx0aW5fZXZhbF9pbXBsKG1vZHVsZSwgc291cmNlLCBnbG9iYWxzLCBsb2NhbHMpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitidWlsdGluX2V2YWxfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqc291cmNlLCBQeU9iamVjdCAqZ2xvYmFscywgUHlPYmplY3QgKmxvY2FscykKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD02NDRmZDU5MDEyNTM4Y2U2IGlucHV0PTMxZTQyYzFkMjEyNWI1MGJdKi8KK3sKKyAgICBQeU9iamVjdCAqcmVzdWx0LCAqdG1wID0gTlVMTDsKICAgICBQeV9idWZmZXIgdmlldyA9IHtOVUxMLCBOVUxMfTsKICAgICBjb25zdCBjaGFyICpzdHI7CiAgICAgUHlDb21waWxlckZsYWdzIGNmOwogCi0gICAgaWYgKCFQeUFyZ19VbnBhY2tUdXBsZShhcmdzLCAiZXZhbCIsIDEsIDMsICZjbWQsICZnbG9iYWxzLCAmbG9jYWxzKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgaWYgKGxvY2FscyAhPSBQeV9Ob25lICYmICFQeU1hcHBpbmdfQ2hlY2sobG9jYWxzKSkgewogICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCAibG9jYWxzIG11c3QgYmUgYSBtYXBwaW5nIik7CiAgICAgICAgIHJldHVybiBOVUxMOwpAQCAtNzk2LDE3ICsxMDg0LDE3IEBACiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CiAKLSAgICBpZiAoUHlDb2RlX0NoZWNrKGNtZCkpIHsKLSAgICAgICAgaWYgKFB5Q29kZV9HZXROdW1GcmVlKChQeUNvZGVPYmplY3QgKiljbWQpID4gMCkgeworICAgIGlmIChQeUNvZGVfQ2hlY2soc291cmNlKSkgeworICAgICAgICBpZiAoUHlDb2RlX0dldE51bUZyZWUoKFB5Q29kZU9iamVjdCAqKXNvdXJjZSkgPiAwKSB7CiAgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLAogICAgICAgICAiY29kZSBvYmplY3QgcGFzc2VkIHRvIGV2YWwoKSBtYXkgbm90IGNvbnRhaW4gZnJlZSB2YXJpYWJsZXMiKTsKICAgICAgICAgICAgIHJldHVybiBOVUxMOwogICAgICAgICB9Ci0gICAgICAgIHJldHVybiBQeUV2YWxfRXZhbENvZGUoY21kLCBnbG9iYWxzLCBsb2NhbHMpOworICAgICAgICByZXR1cm4gUHlFdmFsX0V2YWxDb2RlKHNvdXJjZSwgZ2xvYmFscywgbG9jYWxzKTsKICAgICB9CiAKICAgICBjZi5jZl9mbGFncyA9IFB5Q0ZfU09VUkNFX0lTX1VURjg7Ci0gICAgc3RyID0gc291cmNlX2FzX3N0cmluZyhjbWQsICJldmFsIiwgInN0cmluZywgYnl0ZXMgb3IgY29kZSIsICZjZiwgJnZpZXcpOworICAgIHN0ciA9IHNvdXJjZV9hc19zdHJpbmcoc291cmNlLCAiZXZhbCIsICJzdHJpbmcsIGJ5dGVzIG9yIGNvZGUiLCAmY2YsICZ2aWV3KTsKICAgICBpZiAoc3RyID09IE5VTEwpCiAgICAgICAgIHJldHVybiBOVUxMOwogCkBAIC04MjAsMjQgKzExMDgsNjQgQEAKICAgICByZXR1cm4gcmVzdWx0OwogfQogCi1QeURvY19TVFJWQVIoZXZhbF9kb2MsCi0iZXZhbChzb3VyY2VbLCBnbG9iYWxzWywgbG9jYWxzXV0pIC0+IHZhbHVlXG5cCi1cblwKLUV2YWx1YXRlIHRoZSBzb3VyY2UgaW4gdGhlIGNvbnRleHQgb2YgZ2xvYmFscyBhbmQgbG9jYWxzLlxuXAotVGhlIHNvdXJjZSBtYXkgYmUgYSBzdHJpbmcgcmVwcmVzZW50aW5nIGEgUHl0aG9uIGV4cHJlc3Npb25cblwKLW9yIGEgY29kZSBvYmplY3QgYXMgcmV0dXJuZWQgYnkgY29tcGlsZSgpLlxuXAotVGhlIGdsb2JhbHMgbXVzdCBiZSBhIGRpY3Rpb25hcnkgYW5kIGxvY2FscyBjYW4gYmUgYW55IG1hcHBpbmcsXG5cCi1kZWZhdWx0aW5nIHRvIHRoZSBjdXJyZW50IGdsb2JhbHMgYW5kIGxvY2Fscy5cblwKLUlmIG9ubHkgZ2xvYmFscyBpcyBnaXZlbiwgbG9jYWxzIGRlZmF1bHRzIHRvIGl0LlxuIik7CisvKltjbGluaWMgaW5wdXRdCitleGVjIGFzIGJ1aWx0aW5fZXhlYworCisgICAgc291cmNlOiAnTycKKyAgICBnbG9iYWxzOiAnTycgPSBOb25lCisgICAgbG9jYWxzOiAnTycgPSBOb25lCisgICAgLworCitFeGVjdXRlIHRoZSBnaXZlbiBzb3VyY2UgaW4gdGhlIGNvbnRleHQgb2YgZ2xvYmFscyBhbmQgbG9jYWxzLgorCitUaGUgc291cmNlIG1heSBiZSBhIHN0cmluZyByZXByZXNlbnRpbmcgb25lIG9yIG1vcmUgUHl0aG9uIHN0YXRlbWVudHMKK29yIGEgY29kZSBvYmplY3QgYXMgcmV0dXJuZWQgYnkgY29tcGlsZSgpLgorVGhlIGdsb2JhbHMgbXVzdCBiZSBhIGRpY3Rpb25hcnkgYW5kIGxvY2FscyBjYW4gYmUgYW55IG1hcHBpbmcsCitkZWZhdWx0aW5nIHRvIHRoZSBjdXJyZW50IGdsb2JhbHMgYW5kIGxvY2Fscy4KK0lmIG9ubHkgZ2xvYmFscyBpcyBnaXZlbiwgbG9jYWxzIGRlZmF1bHRzIHRvIGl0LgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIoYnVpbHRpbl9leGVjX19kb2NfXywKKyJleGVjKCRtb2R1bGUsIHNvdXJjZSwgZ2xvYmFscz1Ob25lLCBsb2NhbHM9Tm9uZSwgLylcbiIKKyItLVxuIgorIlxuIgorIkV4ZWN1dGUgdGhlIGdpdmVuIHNvdXJjZSBpbiB0aGUgY29udGV4dCBvZiBnbG9iYWxzIGFuZCBsb2NhbHMuXG4iCisiXG4iCisiVGhlIHNvdXJjZSBtYXkgYmUgYSBzdHJpbmcgcmVwcmVzZW50aW5nIG9uZSBvciBtb3JlIFB5dGhvbiBzdGF0ZW1lbnRzXG4iCisib3IgYSBjb2RlIG9iamVjdCBhcyByZXR1cm5lZCBieSBjb21waWxlKCkuXG4iCisiVGhlIGdsb2JhbHMgbXVzdCBiZSBhIGRpY3Rpb25hcnkgYW5kIGxvY2FscyBjYW4gYmUgYW55IG1hcHBpbmcsXG4iCisiZGVmYXVsdGluZyB0byB0aGUgY3VycmVudCBnbG9iYWxzIGFuZCBsb2NhbHMuXG4iCisiSWYgb25seSBnbG9iYWxzIGlzIGdpdmVuLCBsb2NhbHMgZGVmYXVsdHMgdG8gaXQuIik7CisKKyNkZWZpbmUgQlVJTFRJTl9FWEVDX01FVEhPRERFRiAgICBcCisgICAgeyJleGVjIiwgKFB5Q0Z1bmN0aW9uKWJ1aWx0aW5fZXhlYywgTUVUSF9WQVJBUkdTLCBidWlsdGluX2V4ZWNfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLWJ1aWx0aW5fZXhlYyhQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitidWlsdGluX2V4ZWNfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqc291cmNlLCBQeU9iamVjdCAqZ2xvYmFscywgUHlPYmplY3QgKmxvY2Fscyk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitidWlsdGluX2V4ZWMoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgUHlPYmplY3QgKnNvdXJjZTsKKyAgICBQeU9iamVjdCAqZ2xvYmFscyA9IFB5X05vbmU7CisgICAgUHlPYmplY3QgKmxvY2FscyA9IFB5X05vbmU7CisKKyAgICBpZiAoIVB5QXJnX1VucGFja1R1cGxlKGFyZ3MsICJleGVjIiwKKyAgICAgICAgMSwgMywKKyAgICAgICAgJnNvdXJjZSwgJmdsb2JhbHMsICZsb2NhbHMpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gYnVpbHRpbl9leGVjX2ltcGwobW9kdWxlLCBzb3VyY2UsIGdsb2JhbHMsIGxvY2Fscyk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK2J1aWx0aW5fZXhlY19pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpzb3VyY2UsIFB5T2JqZWN0ICpnbG9iYWxzLCBQeU9iamVjdCAqbG9jYWxzKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTAyODFiNDhiZmE4ZTNjODcgaW5wdXQ9NTM2ZTA1N2I1ZTAwZDg5ZV0qLwogewogICAgIFB5T2JqZWN0ICp2OwotICAgIFB5T2JqZWN0ICpwcm9nLCAqZ2xvYmFscyA9IFB5X05vbmUsICpsb2NhbHMgPSBQeV9Ob25lOwotCi0gICAgaWYgKCFQeUFyZ19VbnBhY2tUdXBsZShhcmdzLCAiZXhlYyIsIDEsIDMsICZwcm9nLCAmZ2xvYmFscywgJmxvY2FscykpCi0gICAgICAgIHJldHVybiBOVUxMOwogCiAgICAgaWYgKGdsb2JhbHMgPT0gUHlfTm9uZSkgewogICAgICAgICBnbG9iYWxzID0gUHlFdmFsX0dldEdsb2JhbHMoKTsKQEAgLTg1NiwxMyArMTE4NCwxMyBAQAogICAgICAgICBsb2NhbHMgPSBnbG9iYWxzOwogCiAgICAgaWYgKCFQeURpY3RfQ2hlY2soZ2xvYmFscykpIHsKLSAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1R5cGVFcnJvciwgImV4ZWMoKSBhcmcgMiBtdXN0IGJlIGEgZGljdCwgbm90ICUuMTAwcyIsCisgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19UeXBlRXJyb3IsICJleGVjKCkgZ2xvYmFscyBtdXN0IGJlIGEgZGljdCwgbm90ICUuMTAwcyIsCiAgICAgICAgICAgICAgICAgICAgICBnbG9iYWxzLT5vYl90eXBlLT50cF9uYW1lKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQogICAgIGlmICghUHlNYXBwaW5nX0NoZWNrKGxvY2FscykpIHsKICAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1R5cGVFcnJvciwKLSAgICAgICAgICAgICJhcmcgMyBtdXN0IGJlIGEgbWFwcGluZyBvciBOb25lLCBub3QgJS4xMDBzIiwKKyAgICAgICAgICAgICJsb2NhbHMgbXVzdCBiZSBhIG1hcHBpbmcgb3IgTm9uZSwgbm90ICUuMTAwcyIsCiAgICAgICAgICAgICBsb2NhbHMtPm9iX3R5cGUtPnRwX25hbWUpOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CkBAIC04NzIsMjIgKzEyMDAsMjIgQEAKICAgICAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KIAotICAgIGlmIChQeUNvZGVfQ2hlY2socHJvZykpIHsKLSAgICAgICAgaWYgKFB5Q29kZV9HZXROdW1GcmVlKChQeUNvZGVPYmplY3QgKilwcm9nKSA+IDApIHsKKyAgICBpZiAoUHlDb2RlX0NoZWNrKHNvdXJjZSkpIHsKKyAgICAgICAgaWYgKFB5Q29kZV9HZXROdW1GcmVlKChQeUNvZGVPYmplY3QgKilzb3VyY2UpID4gMCkgewogICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwKICAgICAgICAgICAgICAgICAiY29kZSBvYmplY3QgcGFzc2VkIHRvIGV4ZWMoKSBtYXkgbm90ICIKICAgICAgICAgICAgICAgICAiY29udGFpbiBmcmVlIHZhcmlhYmxlcyIpOwogICAgICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgICAgIH0KLSAgICAgICAgdiA9IFB5RXZhbF9FdmFsQ29kZShwcm9nLCBnbG9iYWxzLCBsb2NhbHMpOworICAgICAgICB2ID0gUHlFdmFsX0V2YWxDb2RlKHNvdXJjZSwgZ2xvYmFscywgbG9jYWxzKTsKICAgICB9CiAgICAgZWxzZSB7CiAgICAgICAgIFB5X2J1ZmZlciB2aWV3ID0ge05VTEwsIE5VTEx9OwogICAgICAgICBjb25zdCBjaGFyICpzdHI7CiAgICAgICAgIFB5Q29tcGlsZXJGbGFncyBjZjsKICAgICAgICAgY2YuY2ZfZmxhZ3MgPSBQeUNGX1NPVVJDRV9JU19VVEY4OwotICAgICAgICBzdHIgPSBzb3VyY2VfYXNfc3RyaW5nKHByb2csICJleGVjIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3RyaW5nLCBieXRlcyBvciBjb2RlIiwgJmNmLCAmdmlldyk7CisgICAgICAgIHN0ciA9IHNvdXJjZV9hc19zdHJpbmcoc291cmNlLCAiZXhlYyIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3RyaW5nLCBieXRlcyBvciBjb2RlIiwgJmNmLCAmdmlldyk7CiAgICAgICAgIGlmIChzdHIgPT0gTlVMTCkKICAgICAgICAgICAgIHJldHVybiBOVUxMOwogICAgICAgICBpZiAoUHlFdmFsX01lcmdlQ29tcGlsZXJGbGFncygmY2YpKQpAQCAtOTAzLDE1ICsxMjMxLDggQEAKICAgICBQeV9SRVRVUk5fTk9ORTsKIH0KIAotUHlEb2NfU1RSVkFSKGV4ZWNfZG9jLAotImV4ZWMob2JqZWN0WywgZ2xvYmFsc1ssIGxvY2Fsc11dKVxuXAotXG5cCi1SZWFkIGFuZCBleGVjdXRlIGNvZGUgZnJvbSBhbiBvYmplY3QsIHdoaWNoIGNhbiBiZSBhIHN0cmluZyBvciBhIGNvZGVcblwKLW9iamVjdC5cblwKLVRoZSBnbG9iYWxzIGFuZCBsb2NhbHMgYXJlIGRpY3Rpb25hcmllcywgZGVmYXVsdGluZyB0byB0aGUgY3VycmVudFxuXAotZ2xvYmFscyBhbmQgbG9jYWxzLiAgSWYgb25seSBnbG9iYWxzIGlzIGdpdmVuLCBsb2NhbHMgZGVmYXVsdHMgdG8gaXQuIik7CiAKLQorLyogQUM6IGNhbm5vdCBjb252ZXJ0IHlldCwgYXMgbmVlZHMgUEVQIDQ1NyBncm91cCBzdXBwb3J0IGluIGluc3BlY3QgKi8KIHN0YXRpYyBQeU9iamVjdCAqCiBidWlsdGluX2dldGF0dHIoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQogewpAQCAtOTQ1LDggKzEyNjYsMzkgQEAKIGV4aXN0OyB3aXRob3V0IGl0LCBhbiBleGNlcHRpb24gaXMgcmFpc2VkIGluIHRoYXQgY2FzZS4iKTsKIAogCisvKltjbGluaWMgaW5wdXRdCitnbG9iYWxzIGFzIGJ1aWx0aW5fZ2xvYmFscworCitSZXR1cm4gdGhlIGRpY3Rpb25hcnkgY29udGFpbmluZyB0aGUgY3VycmVudCBzY29wZSdzIGdsb2JhbCB2YXJpYWJsZXMuCisKK05PVEU6IFVwZGF0ZXMgdG8gdGhpcyBkaWN0aW9uYXJ5ICp3aWxsKiBhZmZlY3QgbmFtZSBsb29rdXBzIGluIHRoZSBjdXJyZW50CitnbG9iYWwgc2NvcGUgYW5kIHZpY2UtdmVyc2EuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihidWlsdGluX2dsb2JhbHNfX2RvY19fLAorImdsb2JhbHMoJG1vZHVsZSwgLylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiB0aGUgZGljdGlvbmFyeSBjb250YWluaW5nIHRoZSBjdXJyZW50IHNjb3BlXCdzIGdsb2JhbCB2YXJpYWJsZXMuXG4iCisiXG4iCisiTk9URTogVXBkYXRlcyB0byB0aGlzIGRpY3Rpb25hcnkgKndpbGwqIGFmZmVjdCBuYW1lIGxvb2t1cHMgaW4gdGhlIGN1cnJlbnRcbiIKKyJnbG9iYWwgc2NvcGUgYW5kIHZpY2UtdmVyc2EuIik7CisKKyNkZWZpbmUgQlVJTFRJTl9HTE9CQUxTX01FVEhPRERFRiAgICBcCisgICAgeyJnbG9iYWxzIiwgKFB5Q0Z1bmN0aW9uKWJ1aWx0aW5fZ2xvYmFscywgTUVUSF9OT0FSR1MsIGJ1aWx0aW5fZ2xvYmFsc19fZG9jX199LAorCiBzdGF0aWMgUHlPYmplY3QgKgotYnVpbHRpbl9nbG9iYWxzKFB5T2JqZWN0ICpzZWxmKQorYnVpbHRpbl9nbG9iYWxzX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitidWlsdGluX2dsb2JhbHMoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKlB5X1VOVVNFRChpZ25vcmVkKSkKK3sKKyAgICByZXR1cm4gYnVpbHRpbl9nbG9iYWxzX2ltcGwobW9kdWxlKTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK2J1aWx0aW5fZ2xvYmFsc19pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9MDQ4NjQwZjU4YjFmMjBhZCBpbnB1dD05MzI3NTc2ZjkyYmI0OGJhXSovCiB7CiAgICAgUHlPYmplY3QgKmQ7CiAKQEAgLTk1NSwyNiArMTMwNyw2MiBAQAogICAgIHJldHVybiBkOwogfQogCi1QeURvY19TVFJWQVIoZ2xvYmFsc19kb2MsCi0iZ2xvYmFscygpIC0+IGRpY3Rpb25hcnlcblwKLVxuXAotUmV0dXJuIHRoZSBkaWN0aW9uYXJ5IGNvbnRhaW5pbmcgdGhlIGN1cnJlbnQgc2NvcGUncyBnbG9iYWwgdmFyaWFibGVzLiIpOwogCisvKltjbGluaWMgaW5wdXRdCitoYXNhdHRyIGFzIGJ1aWx0aW5faGFzYXR0cgorCisgICAgb2JqOiAnTycKKyAgICBuYW1lOiAnTycKKyAgICAvCisKK1JldHVybiB3aGV0aGVyIHRoZSBvYmplY3QgaGFzIGFuIGF0dHJpYnV0ZSB3aXRoIHRoZSBnaXZlbiBuYW1lLgorCitUaGlzIGlzIGRvbmUgYnkgY2FsbGluZyBnZXRhdHRyKG9iaiwgbmFtZSkgYW5kIGNhdGNoaW5nIEF0dHJpYnV0ZUVycm9yLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIoYnVpbHRpbl9oYXNhdHRyX19kb2NfXywKKyJoYXNhdHRyKCRtb2R1bGUsIG9iaiwgbmFtZSwgLylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiB3aGV0aGVyIHRoZSBvYmplY3QgaGFzIGFuIGF0dHJpYnV0ZSB3aXRoIHRoZSBnaXZlbiBuYW1lLlxuIgorIlxuIgorIlRoaXMgaXMgZG9uZSBieSBjYWxsaW5nIGdldGF0dHIob2JqLCBuYW1lKSBhbmQgY2F0Y2hpbmcgQXR0cmlidXRlRXJyb3IuIik7CisKKyNkZWZpbmUgQlVJTFRJTl9IQVNBVFRSX01FVEhPRERFRiAgICBcCisgICAgeyJoYXNhdHRyIiwgKFB5Q0Z1bmN0aW9uKWJ1aWx0aW5faGFzYXR0ciwgTUVUSF9WQVJBUkdTLCBidWlsdGluX2hhc2F0dHJfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLWJ1aWx0aW5faGFzYXR0cihQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitidWlsdGluX2hhc2F0dHJfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqb2JqLCBQeU9iamVjdCAqbmFtZSk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitidWlsdGluX2hhc2F0dHIoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCiB7Ci0gICAgUHlPYmplY3QgKnY7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgUHlPYmplY3QgKm9iajsKICAgICBQeU9iamVjdCAqbmFtZTsKIAotICAgIGlmICghUHlBcmdfVW5wYWNrVHVwbGUoYXJncywgImhhc2F0dHIiLCAyLCAyLCAmdiwgJm5hbWUpKQotICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBpZiAoIVB5QXJnX1VucGFja1R1cGxlKGFyZ3MsICJoYXNhdHRyIiwKKyAgICAgICAgMiwgMiwKKyAgICAgICAgJm9iaiwgJm5hbWUpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gYnVpbHRpbl9oYXNhdHRyX2ltcGwobW9kdWxlLCBvYmosIG5hbWUpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitidWlsdGluX2hhc2F0dHJfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqb2JqLCBQeU9iamVjdCAqbmFtZSkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1lMGJkOTk2ZWY3M2QxMjE3IGlucHV0PWI1MGJhZDVmNzM5ZWExMGRdKi8KK3sKKyAgICBQeU9iamVjdCAqdjsKKwogICAgIGlmICghUHlVbmljb2RlX0NoZWNrKG5hbWUpKSB7CiAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsCiAgICAgICAgICAgICAgICAgICAgICAgICAiaGFzYXR0cigpOiBhdHRyaWJ1dGUgbmFtZSBtdXN0IGJlIHN0cmluZyIpOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9Ci0gICAgdiA9IFB5T2JqZWN0X0dldEF0dHIodiwgbmFtZSk7CisgICAgdiA9IFB5T2JqZWN0X0dldEF0dHIob2JqLCBuYW1lKTsKICAgICBpZiAodiA9PSBOVUxMKSB7CiAgICAgICAgIGlmIChQeUVycl9FeGNlcHRpb25NYXRjaGVzKFB5RXhjX0F0dHJpYnV0ZUVycm9yKSkgewogICAgICAgICAgICAgUHlFcnJfQ2xlYXIoKTsKQEAgLTk4NiwyNSArMTM3NCw0MyBAQAogICAgIFB5X1JFVFVSTl9UUlVFOwogfQogCi1QeURvY19TVFJWQVIoaGFzYXR0cl9kb2MsCi0iaGFzYXR0cihvYmplY3QsIG5hbWUpIC0+IGJvb2xcblwKLVxuXAotUmV0dXJuIHdoZXRoZXIgdGhlIG9iamVjdCBoYXMgYW4gYXR0cmlidXRlIHdpdGggdGhlIGdpdmVuIG5hbWUuXG5cCi0oVGhpcyBpcyBkb25lIGJ5IGNhbGxpbmcgZ2V0YXR0cihvYmplY3QsIG5hbWUpIGFuZCBjYXRjaGluZyBBdHRyaWJ1dGVFcnJvci4pIik7CiAKKy8qIEFDOiBnZGIncyBpbnRlZ3JhdGlvbiB3aXRoIENQeXRob24gcmVsaWVzIG9uIGJ1aWx0aW5faWQgaGF2aW5nCisgKiB0aGUgKmV4YWN0KiBwYXJhbWV0ZXIgbmFtZXMgb2YgInNlbGYiIGFuZCAidiIsIHNvIHdlIGVuc3VyZSB3ZQorICogcHJlc2VydmUgdGhvc2UgbmFtZSByYXRoZXIgdGhhbiB1c2luZyB0aGUgQUMgZGVmYXVsdHMuCisgKi8KKy8qW2NsaW5pYyBpbnB1dF0KK2lkIGFzIGJ1aWx0aW5faWQKKworICAgIHNlbGY6IHNlbGYodHlwZT0iUHlNb2R1bGVEZWYgKiIpCisgICAgb2JqIGFzIHY6ICdPJworICAgIC8KKworUmV0dXJuIHRoZSBpZGVudGl0eSBvZiBhbiBvYmplY3QuCisKK1RoaXMgaXMgZ3VhcmFudGVlZCB0byBiZSB1bmlxdWUgYW1vbmcgc2ltdWx0YW5lb3VzbHkgZXhpc3Rpbmcgb2JqZWN0cy4KKyhDUHl0aG9uIHVzZXMgdGhlIG9iamVjdCdzIG1lbW9yeSBhZGRyZXNzLikKK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKGJ1aWx0aW5faWRfX2RvY19fLAorImlkKCRtb2R1bGUsIG9iaiwgLylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiB0aGUgaWRlbnRpdHkgb2YgYW4gb2JqZWN0LlxuIgorIlxuIgorIlRoaXMgaXMgZ3VhcmFudGVlZCB0byBiZSB1bmlxdWUgYW1vbmcgc2ltdWx0YW5lb3VzbHkgZXhpc3Rpbmcgb2JqZWN0cy5cbiIKKyIoQ1B5dGhvbiB1c2VzIHRoZSBvYmplY3RcJ3MgbWVtb3J5IGFkZHJlc3MuKSIpOworCisjZGVmaW5lIEJVSUxUSU5fSURfTUVUSE9EREVGICAgIFwKKyAgICB7ImlkIiwgKFB5Q0Z1bmN0aW9uKWJ1aWx0aW5faWQsIE1FVEhfTywgYnVpbHRpbl9pZF9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotYnVpbHRpbl9pZChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKnYpCitidWlsdGluX2lkKFB5TW9kdWxlRGVmICpzZWxmLCBQeU9iamVjdCAqdikKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1mNTRkYTA5YzkxOTkyZTYzIGlucHV0PWExZjk4OGQ5ODM1NzM0MWRdKi8KIHsKICAgICByZXR1cm4gUHlMb25nX0Zyb21Wb2lkUHRyKHYpOwogfQogCi1QeURvY19TVFJWQVIoaWRfZG9jLAotImlkKG9iamVjdCkgLT4gaW50ZWdlclxuXAotXG5cCi1SZXR1cm4gdGhlIGlkZW50aXR5IG9mIGFuIG9iamVjdC4gIFRoaXMgaXMgZ3VhcmFudGVlZCB0byBiZSB1bmlxdWUgYW1vbmdcblwKLXNpbXVsdGFuZW91c2x5IGV4aXN0aW5nIG9iamVjdHMuICAoSGludDogaXQncyB0aGUgb2JqZWN0J3MgbWVtb3J5IGFkZHJlc3MuKSIpOwotCiAKIC8qIG1hcCBvYmplY3QgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogCkBAIC0xMTc3LDYgKzE1ODMsOCBAQAogICAgIFB5T2JqZWN0X0dDX0RlbCwgICAgICAgICAgICAgICAgICAgIC8qIHRwX2ZyZWUgKi8KIH07CiAKKworLyogQUM6IGNhbm5vdCBjb252ZXJ0IHlldCwgYXMgbmVlZHMgUEVQIDQ1NyBncm91cCBzdXBwb3J0IGluIGluc3BlY3QgKi8KIHN0YXRpYyBQeU9iamVjdCAqCiBidWlsdGluX25leHQoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQogewpAQCAtMTIxOCw4MyArMTYyNiwxODYgQEAKIGlzIGV4aGF1c3RlZCwgaXQgaXMgcmV0dXJuZWQgaW5zdGVhZCBvZiByYWlzaW5nIFN0b3BJdGVyYXRpb24uIik7CiAKIAorLypbY2xpbmljIGlucHV0XQorc2V0YXR0ciBhcyBidWlsdGluX3NldGF0dHIKKworICAgIG9iajogJ08nCisgICAgbmFtZTogJ08nCisgICAgdmFsdWU6ICdPJworICAgIC8KKworU2V0cyB0aGUgbmFtZWQgYXR0cmlidXRlIG9uIHRoZSBnaXZlbiBvYmplY3QgdG8gdGhlIHNwZWNpZmllZCB2YWx1ZS4KKworc2V0YXR0cih4LCAneScsIHYpIGlzIGVxdWl2YWxlbnQgdG8gYGB4LnkgPSB2JycKK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKGJ1aWx0aW5fc2V0YXR0cl9fZG9jX18sCisic2V0YXR0cigkbW9kdWxlLCBvYmosIG5hbWUsIHZhbHVlLCAvKVxuIgorIi0tXG4iCisiXG4iCisiU2V0cyB0aGUgbmFtZWQgYXR0cmlidXRlIG9uIHRoZSBnaXZlbiBvYmplY3QgdG8gdGhlIHNwZWNpZmllZCB2YWx1ZS5cbiIKKyJcbiIKKyJzZXRhdHRyKHgsIFwneVwnLCB2KSBpcyBlcXVpdmFsZW50IHRvIGBgeC55ID0gdlwnXCciKTsKKworI2RlZmluZSBCVUlMVElOX1NFVEFUVFJfTUVUSE9EREVGICAgIFwKKyAgICB7InNldGF0dHIiLCAoUHlDRnVuY3Rpb24pYnVpbHRpbl9zZXRhdHRyLCBNRVRIX1ZBUkFSR1MsIGJ1aWx0aW5fc2V0YXR0cl9fZG9jX199LAorCiBzdGF0aWMgUHlPYmplY3QgKgotYnVpbHRpbl9zZXRhdHRyKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK2J1aWx0aW5fc2V0YXR0cl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpvYmosIFB5T2JqZWN0ICpuYW1lLCBQeU9iamVjdCAqdmFsdWUpOworCitzdGF0aWMgUHlPYmplY3QgKgorYnVpbHRpbl9zZXRhdHRyKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQogewotICAgIFB5T2JqZWN0ICp2OworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIFB5T2JqZWN0ICpvYmo7CiAgICAgUHlPYmplY3QgKm5hbWU7CiAgICAgUHlPYmplY3QgKnZhbHVlOwogCi0gICAgaWYgKCFQeUFyZ19VbnBhY2tUdXBsZShhcmdzLCAic2V0YXR0ciIsIDMsIDMsICZ2LCAmbmFtZSwgJnZhbHVlKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgaWYgKFB5T2JqZWN0X1NldEF0dHIodiwgbmFtZSwgdmFsdWUpICE9IDApCisgICAgaWYgKCFQeUFyZ19VbnBhY2tUdXBsZShhcmdzLCAic2V0YXR0ciIsCisgICAgICAgIDMsIDMsCisgICAgICAgICZvYmosICZuYW1lLCAmdmFsdWUpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gYnVpbHRpbl9zZXRhdHRyX2ltcGwobW9kdWxlLCBvYmosIG5hbWUsIHZhbHVlKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorYnVpbHRpbl9zZXRhdHRyX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKm9iaiwgUHlPYmplY3QgKm5hbWUsIFB5T2JqZWN0ICp2YWx1ZSkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD00MzM2ZGNiYmY3NjkxZDJkIGlucHV0PWZiZTdlNTM0MDMxMTZiOTNdKi8KK3sKKyAgICBpZiAoUHlPYmplY3RfU2V0QXR0cihvYmosIG5hbWUsIHZhbHVlKSAhPSAwKQogICAgICAgICByZXR1cm4gTlVMTDsKICAgICBQeV9JTkNSRUYoUHlfTm9uZSk7CiAgICAgcmV0dXJuIFB5X05vbmU7CiB9CiAKLVB5RG9jX1NUUlZBUihzZXRhdHRyX2RvYywKLSJzZXRhdHRyKG9iamVjdCwgbmFtZSwgdmFsdWUpXG5cCi1cblwKLVNldCBhIG5hbWVkIGF0dHJpYnV0ZSBvbiBhbiBvYmplY3Q7IHNldGF0dHIoeCwgJ3knLCB2KSBpcyBlcXVpdmFsZW50IHRvXG5cCi1gYHgueSA9IHYnJy4iKTsKIAorLypbY2xpbmljIGlucHV0XQorZGVsYXR0ciBhcyBidWlsdGluX2RlbGF0dHIKKworICAgIG9iajogJ08nCisgICAgbmFtZTogJ08nCisgICAgLworCitEZWxldGVzIHRoZSBuYW1lZCBhdHRyaWJ1dGUgZnJvbSB0aGUgZ2l2ZW4gb2JqZWN0LgorCitkZWxhdHRyKHgsICd5JykgaXMgZXF1aXZhbGVudCB0byBgYGRlbCB4LnknJworW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIoYnVpbHRpbl9kZWxhdHRyX19kb2NfXywKKyJkZWxhdHRyKCRtb2R1bGUsIG9iaiwgbmFtZSwgLylcbiIKKyItLVxuIgorIlxuIgorIkRlbGV0ZXMgdGhlIG5hbWVkIGF0dHJpYnV0ZSBmcm9tIHRoZSBnaXZlbiBvYmplY3QuXG4iCisiXG4iCisiZGVsYXR0cih4LCBcJ3lcJykgaXMgZXF1aXZhbGVudCB0byBgYGRlbCB4LnlcJ1wnIik7CisKKyNkZWZpbmUgQlVJTFRJTl9ERUxBVFRSX01FVEhPRERFRiAgICBcCisgICAgeyJkZWxhdHRyIiwgKFB5Q0Z1bmN0aW9uKWJ1aWx0aW5fZGVsYXR0ciwgTUVUSF9WQVJBUkdTLCBidWlsdGluX2RlbGF0dHJfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLWJ1aWx0aW5fZGVsYXR0cihQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitidWlsdGluX2RlbGF0dHJfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqb2JqLCBQeU9iamVjdCAqbmFtZSk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitidWlsdGluX2RlbGF0dHIoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCiB7Ci0gICAgUHlPYmplY3QgKnY7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgUHlPYmplY3QgKm9iajsKICAgICBQeU9iamVjdCAqbmFtZTsKIAotICAgIGlmICghUHlBcmdfVW5wYWNrVHVwbGUoYXJncywgImRlbGF0dHIiLCAyLCAyLCAmdiwgJm5hbWUpKQotICAgICAgICByZXR1cm4gTlVMTDsKLSAgICBpZiAoUHlPYmplY3RfU2V0QXR0cih2LCBuYW1lLCAoUHlPYmplY3QgKilOVUxMKSAhPSAwKQorICAgIGlmICghUHlBcmdfVW5wYWNrVHVwbGUoYXJncywgImRlbGF0dHIiLAorICAgICAgICAyLCAyLAorICAgICAgICAmb2JqLCAmbmFtZSkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBidWlsdGluX2RlbGF0dHJfaW1wbChtb2R1bGUsIG9iaiwgbmFtZSk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK2J1aWx0aW5fZGVsYXR0cl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpvYmosIFB5T2JqZWN0ICpuYW1lKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTMxOWMyZDg4NGFhNzY5Y2YgaW5wdXQ9NjQ3YWYyY2U5MTgzYTgyM10qLworeworICAgIGlmIChQeU9iamVjdF9TZXRBdHRyKG9iaiwgbmFtZSwgKFB5T2JqZWN0ICopTlVMTCkgIT0gMCkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgUHlfSU5DUkVGKFB5X05vbmUpOwogICAgIHJldHVybiBQeV9Ob25lOwogfQogCi1QeURvY19TVFJWQVIoZGVsYXR0cl9kb2MsCi0iZGVsYXR0cihvYmplY3QsIG5hbWUpXG5cCi1cblwKLURlbGV0ZSBhIG5hbWVkIGF0dHJpYnV0ZSBvbiBhbiBvYmplY3Q7IGRlbGF0dHIoeCwgJ3knKSBpcyBlcXVpdmFsZW50IHRvXG5cCi1gYGRlbCB4LnknJy4iKTsKIAorLypbY2xpbmljIGlucHV0XQoraGFzaCBhcyBidWlsdGluX2hhc2gKKworICAgIG9iajogJ08nCisgICAgLworCitSZXR1cm4gdGhlIGhhc2ggdmFsdWUgZm9yIHRoZSBnaXZlbiBvYmplY3QuCisKK1R3byBvYmplY3RzIHRoYXQgY29tcGFyZSBlcXVhbCBtdXN0IGFsc28gaGF2ZSB0aGUgc2FtZSBoYXNoIHZhbHVlLCBidXQgdGhlCityZXZlcnNlIGlzIG5vdCBuZWNlc3NhcmlseSB0cnVlLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIoYnVpbHRpbl9oYXNoX19kb2NfXywKKyJoYXNoKCRtb2R1bGUsIG9iaiwgLylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiB0aGUgaGFzaCB2YWx1ZSBmb3IgdGhlIGdpdmVuIG9iamVjdC5cbiIKKyJcbiIKKyJUd28gb2JqZWN0cyB0aGF0IGNvbXBhcmUgZXF1YWwgbXVzdCBhbHNvIGhhdmUgdGhlIHNhbWUgaGFzaCB2YWx1ZSwgYnV0IHRoZVxuIgorInJldmVyc2UgaXMgbm90IG5lY2Vzc2FyaWx5IHRydWUuIik7CisKKyNkZWZpbmUgQlVJTFRJTl9IQVNIX01FVEhPRERFRiAgICBcCisgICAgeyJoYXNoIiwgKFB5Q0Z1bmN0aW9uKWJ1aWx0aW5faGFzaCwgTUVUSF9PLCBidWlsdGluX2hhc2hfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLWJ1aWx0aW5faGFzaChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKnYpCitidWlsdGluX2hhc2goUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKm9iaikKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD0xZWM0Njc2MTFjMTM0NjhiIGlucHV0PWNjYzRkMmI5YTM1MWRmNGVdKi8KIHsKICAgICBQeV9oYXNoX3QgeDsKIAotICAgIHggPSBQeU9iamVjdF9IYXNoKHYpOworICAgIHggPSBQeU9iamVjdF9IYXNoKG9iaik7CiAgICAgaWYgKHggPT0gLTEpCiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIHJldHVybiBQeUxvbmdfRnJvbVNzaXplX3QoeCk7CiB9CiAKLVB5RG9jX1NUUlZBUihoYXNoX2RvYywKLSJoYXNoKG9iamVjdCkgLT4gaW50ZWdlclxuXAotXG5cCi1SZXR1cm4gYSBoYXNoIHZhbHVlIGZvciB0aGUgb2JqZWN0LiAgVHdvIG9iamVjdHMgd2l0aCB0aGUgc2FtZSB2YWx1ZSBoYXZlXG5cCi10aGUgc2FtZSBoYXNoIHZhbHVlLiAgVGhlIHJldmVyc2UgaXMgbm90IG5lY2Vzc2FyaWx5IHRydWUsIGJ1dCBsaWtlbHkuIik7CiAKKy8qW2NsaW5pYyBpbnB1dF0KK2hleCBhcyBidWlsdGluX2hleAorCisgICAgbnVtYmVyOiAnTycKKyAgICAvCisKK1JldHVybiB0aGUgaGV4YWRlY2ltYWwgcmVwcmVzZW50YXRpb24gb2YgYW4gaW50ZWdlci4KKworICAgPj4+IGhleCgxMjY0ODQzMCkKKyAgICcweGMwZmZlZScKK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKGJ1aWx0aW5faGV4X19kb2NfXywKKyJoZXgoJG1vZHVsZSwgbnVtYmVyLCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIHRoZSBoZXhhZGVjaW1hbCByZXByZXNlbnRhdGlvbiBvZiBhbiBpbnRlZ2VyLlxuIgorIlxuIgorIiAgID4+PiBoZXgoMTI2NDg0MzApXG4iCisiICAgXCcweGMwZmZlZVwnIik7CisKKyNkZWZpbmUgQlVJTFRJTl9IRVhfTUVUSE9EREVGICAgIFwKKyAgICB7ImhleCIsIChQeUNGdW5jdGlvbilidWlsdGluX2hleCwgTUVUSF9PLCBidWlsdGluX2hleF9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotYnVpbHRpbl9oZXgoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICp2KQorYnVpbHRpbl9oZXgoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKm51bWJlcikKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1mMThlOTQzOWFlYWEyYzZjIGlucHV0PWU4MTYyMDBiMGE3MjhlYmVdKi8KIHsKLSAgICByZXR1cm4gUHlOdW1iZXJfVG9CYXNlKHYsIDE2KTsKKyAgICByZXR1cm4gUHlOdW1iZXJfVG9CYXNlKG51bWJlciwgMTYpOwogfQogCi1QeURvY19TVFJWQVIoaGV4X2RvYywKLSJoZXgobnVtYmVyKSAtPiBzdHJpbmdcblwKLVxuXAotUmV0dXJuIHRoZSBoZXhhZGVjaW1hbCByZXByZXNlbnRhdGlvbiBvZiBhbiBpbnRlZ2VyLlxuXAotXG5cCi0gICA+Pj4gaGV4KDM3MzU5Mjg1NTkpXG5cCi0gICAnMHhkZWFkYmVlZidcblwKLSIpOwogCi0KKy8qIEFDOiBjYW5ub3QgY29udmVydCB5ZXQsIGFzIG5lZWRzIFBFUCA0NTcgZ3JvdXAgc3VwcG9ydCBpbiBpbnNwZWN0ICovCiBzdGF0aWMgUHlPYmplY3QgKgogYnVpbHRpbl9pdGVyKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKIHsKQEAgLTEzMjEsMjUgKzE4MzIsNzIgQEAKIEluIHRoZSBzZWNvbmQgZm9ybSwgdGhlIGNhbGxhYmxlIGlzIGNhbGxlZCB1bnRpbCBpdCByZXR1cm5zIHRoZSBzZW50aW5lbC4iKTsKIAogCisvKltjbGluaWMgaW5wdXRdCitsZW4gYXMgYnVpbHRpbl9sZW4KKworICAgIG9iajogJ08nCisgICAgLworCitSZXR1cm4gdGhlIG51bWJlciBvZiBpdGVtcyBpbiBhIGNvbnRhaW5lci4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKGJ1aWx0aW5fbGVuX19kb2NfXywKKyJsZW4oJG1vZHVsZSwgb2JqLCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIHRoZSBudW1iZXIgb2YgaXRlbXMgaW4gYSBjb250YWluZXIuIik7CisKKyNkZWZpbmUgQlVJTFRJTl9MRU5fTUVUSE9EREVGICAgIFwKKyAgICB7ImxlbiIsIChQeUNGdW5jdGlvbilidWlsdGluX2xlbiwgTUVUSF9PLCBidWlsdGluX2xlbl9fZG9jX199LAorCiBzdGF0aWMgUHlPYmplY3QgKgotYnVpbHRpbl9sZW4oUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICp2KQorYnVpbHRpbl9sZW4oUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKm9iaikKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD01YTM4YjBkYjQwNzYxNzA1IGlucHV0PTJlNWZmMTVkYjlhMmRlMjJdKi8KIHsKICAgICBQeV9zc2l6ZV90IHJlczsKIAotICAgIHJlcyA9IFB5T2JqZWN0X1NpemUodik7CisgICAgcmVzID0gUHlPYmplY3RfU2l6ZShvYmopOwogICAgIGlmIChyZXMgPCAwICYmIFB5RXJyX09jY3VycmVkKCkpCiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIHJldHVybiBQeUxvbmdfRnJvbVNzaXplX3QocmVzKTsKIH0KIAotUHlEb2NfU1RSVkFSKGxlbl9kb2MsCi0ibGVuKG9iamVjdClcblwKLVxuXAotUmV0dXJuIHRoZSBudW1iZXIgb2YgaXRlbXMgb2YgYSBzZXF1ZW5jZSBvciBjb2xsZWN0aW9uLiIpOwogCisvKltjbGluaWMgaW5wdXRdCitsb2NhbHMgYXMgYnVpbHRpbl9sb2NhbHMKKworUmV0dXJuIGEgZGljdGlvbmFyeSBjb250YWluaW5nIHRoZSBjdXJyZW50IHNjb3BlJ3MgbG9jYWwgdmFyaWFibGVzLgorCitOT1RFOiBXaGV0aGVyIG9yIG5vdCB1cGRhdGVzIHRvIHRoaXMgZGljdGlvbmFyeSB3aWxsIGFmZmVjdCBuYW1lIGxvb2t1cHMgaW4KK3RoZSBsb2NhbCBzY29wZSBhbmQgdmljZS12ZXJzYSBpcyAqaW1wbGVtZW50YXRpb24gZGVwZW5kZW50KiBhbmQgbm90Citjb3ZlcmVkIGJ5IGFueSBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSBndWFyYW50ZWVzLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIoYnVpbHRpbl9sb2NhbHNfX2RvY19fLAorImxvY2FscygkbW9kdWxlLCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIGEgZGljdGlvbmFyeSBjb250YWluaW5nIHRoZSBjdXJyZW50IHNjb3BlXCdzIGxvY2FsIHZhcmlhYmxlcy5cbiIKKyJcbiIKKyJOT1RFOiBXaGV0aGVyIG9yIG5vdCB1cGRhdGVzIHRvIHRoaXMgZGljdGlvbmFyeSB3aWxsIGFmZmVjdCBuYW1lIGxvb2t1cHMgaW5cbiIKKyJ0aGUgbG9jYWwgc2NvcGUgYW5kIHZpY2UtdmVyc2EgaXMgKmltcGxlbWVudGF0aW9uIGRlcGVuZGVudCogYW5kIG5vdFxuIgorImNvdmVyZWQgYnkgYW55IGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IGd1YXJhbnRlZXMuIik7CisKKyNkZWZpbmUgQlVJTFRJTl9MT0NBTFNfTUVUSE9EREVGICAgIFwKKyAgICB7ImxvY2FscyIsIChQeUNGdW5jdGlvbilidWlsdGluX2xvY2FscywgTUVUSF9OT0FSR1MsIGJ1aWx0aW5fbG9jYWxzX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1idWlsdGluX2xvY2FscyhQeU9iamVjdCAqc2VsZikKK2J1aWx0aW5fbG9jYWxzX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitidWlsdGluX2xvY2FscyhQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqUHlfVU5VU0VEKGlnbm9yZWQpKQoreworICAgIHJldHVybiBidWlsdGluX2xvY2Fsc19pbXBsKG1vZHVsZSk7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitidWlsdGluX2xvY2Fsc19pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9OGFjNTI1MjI5MjQzNDZlMiBpbnB1dD03ODc0MDE4ZDQ3OGQ1YzRiXSovCiB7CiAgICAgUHlPYmplY3QgKmQ7CiAKQEAgLTEzNDgsMTEgKzE5MDYsNiBAQAogICAgIHJldHVybiBkOwogfQogCi1QeURvY19TVFJWQVIobG9jYWxzX2RvYywKLSJsb2NhbHMoKSAtPiBkaWN0aW9uYXJ5XG5cCi1cblwKLVVwZGF0ZSBhbmQgcmV0dXJuIGEgZGljdGlvbmFyeSBjb250YWluaW5nIHRoZSBjdXJyZW50IHNjb3BlJ3MgbG9jYWwgdmFyaWFibGVzLiIpOwotCiAKIHN0YXRpYyBQeU9iamVjdCAqCiBtaW5fbWF4KFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dkcywgaW50IG9wKQpAQCAtMTQ1NSw2ICsyMDA4LDcgQEAKICAgICByZXR1cm4gTlVMTDsKIH0KIAorLyogQUM6IGNhbm5vdCBjb252ZXJ0IHlldCwgd2FpdGluZyBmb3IgKmFyZ3Mgc3VwcG9ydCAqLwogc3RhdGljIFB5T2JqZWN0ICoKIGJ1aWx0aW5fbWluKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3ZHMpCiB7CkBAIC0xNDcxLDYgKzIwMjUsNyBAQAogV2l0aCB0d28gb3IgbW9yZSBhcmd1bWVudHMsIHJldHVybiB0aGUgc21hbGxlc3QgYXJndW1lbnQuIik7CiAKIAorLyogQUM6IGNhbm5vdCBjb252ZXJ0IHlldCwgd2FpdGluZyBmb3IgKmFyZ3Mgc3VwcG9ydCAqLwogc3RhdGljIFB5T2JqZWN0ICoKIGJ1aWx0aW5fbWF4KFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3ZHMpCiB7CkBAIC0xNDg3LDU2ICsyMDQyLDkxIEBACiBXaXRoIHR3byBvciBtb3JlIGFyZ3VtZW50cywgcmV0dXJuIHRoZSBsYXJnZXN0IGFyZ3VtZW50LiIpOwogCiAKKy8qW2NsaW5pYyBpbnB1dF0KK29jdCBhcyBidWlsdGluX29jdAorCisgICAgbnVtYmVyOiAnTycKKyAgICAvCisKK1JldHVybiB0aGUgb2N0YWwgcmVwcmVzZW50YXRpb24gb2YgYW4gaW50ZWdlci4KKworICAgPj4+IG9jdCgzNDIzOTEpCisgICAnMG8xMjM0NTY3JworW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIoYnVpbHRpbl9vY3RfX2RvY19fLAorIm9jdCgkbW9kdWxlLCBudW1iZXIsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gdGhlIG9jdGFsIHJlcHJlc2VudGF0aW9uIG9mIGFuIGludGVnZXIuXG4iCisiXG4iCisiICAgPj4+IG9jdCgzNDIzOTEpXG4iCisiICAgXCcwbzEyMzQ1NjdcJyIpOworCisjZGVmaW5lIEJVSUxUSU5fT0NUX01FVEhPRERFRiAgICBcCisgICAgeyJvY3QiLCAoUHlDRnVuY3Rpb24pYnVpbHRpbl9vY3QsIE1FVEhfTywgYnVpbHRpbl9vY3RfX2RvY19ffSwKKwogc3RhdGljIFB5T2JqZWN0ICoKLWJ1aWx0aW5fb2N0KFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqdikKK2J1aWx0aW5fb2N0KFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpudW1iZXIpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9Yjk5MjM0ZDFkNzBhNjY3MyBpbnB1dD1hM2EzNzJiNTIxYjNkZDEzXSovCiB7Ci0gICAgcmV0dXJuIFB5TnVtYmVyX1RvQmFzZSh2LCA4KTsKKyAgICByZXR1cm4gUHlOdW1iZXJfVG9CYXNlKG51bWJlciwgOCk7CiB9CiAKLVB5RG9jX1NUUlZBUihvY3RfZG9jLAotIm9jdChudW1iZXIpIC0+IHN0cmluZ1xuXAotXG5cCi1SZXR1cm4gdGhlIG9jdGFsIHJlcHJlc2VudGF0aW9uIG9mIGFuIGludGVnZXIuXG5cCi1cblwKLSAgID4+PiBvY3QoMzQyMzkxKVxuXAotICAgJzBvMTIzNDU2NydcblwKLSIpOwogCisvKltjbGluaWMgaW5wdXRdCitvcmQgYXMgYnVpbHRpbl9vcmQKKworICAgIGM6ICdPJworICAgIC8KKworUmV0dXJuIHRoZSBVbmljb2RlIGNvZGUgcG9pbnQgZm9yIGEgb25lLWNoYXJhY3RlciBzdHJpbmcuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihidWlsdGluX29yZF9fZG9jX18sCisib3JkKCRtb2R1bGUsIGMsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gdGhlIFVuaWNvZGUgY29kZSBwb2ludCBmb3IgYSBvbmUtY2hhcmFjdGVyIHN0cmluZy4iKTsKKworI2RlZmluZSBCVUlMVElOX09SRF9NRVRIT0RERUYgICAgXAorICAgIHsib3JkIiwgKFB5Q0Z1bmN0aW9uKWJ1aWx0aW5fb3JkLCBNRVRIX08sIGJ1aWx0aW5fb3JkX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1idWlsdGluX29yZChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QqIG9iaikKK2J1aWx0aW5fb3JkKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpjKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWE4NDY2ZDIzYmQ3NmRiM2YgaW5wdXQ9NzYyMzU1Zjg3NDUxZWZhM10qLwogewogICAgIGxvbmcgb3JkOwogICAgIFB5X3NzaXplX3Qgc2l6ZTsKIAotICAgIGlmIChQeUJ5dGVzX0NoZWNrKG9iaikpIHsKLSAgICAgICAgc2l6ZSA9IFB5Qnl0ZXNfR0VUX1NJWkUob2JqKTsKKyAgICBpZiAoUHlCeXRlc19DaGVjayhjKSkgeworICAgICAgICBzaXplID0gUHlCeXRlc19HRVRfU0laRShjKTsKICAgICAgICAgaWYgKHNpemUgPT0gMSkgewotICAgICAgICAgICAgb3JkID0gKGxvbmcpKCh1bnNpZ25lZCBjaGFyKSpQeUJ5dGVzX0FTX1NUUklORyhvYmopKTsKKyAgICAgICAgICAgIG9yZCA9IChsb25nKSgodW5zaWduZWQgY2hhcikqUHlCeXRlc19BU19TVFJJTkcoYykpOwogICAgICAgICAgICAgcmV0dXJuIFB5TG9uZ19Gcm9tTG9uZyhvcmQpOwogICAgICAgICB9CiAgICAgfQotICAgIGVsc2UgaWYgKFB5VW5pY29kZV9DaGVjayhvYmopKSB7Ci0gICAgICAgIGlmIChQeVVuaWNvZGVfUkVBRFkob2JqKSA9PSAtMSkKKyAgICBlbHNlIGlmIChQeVVuaWNvZGVfQ2hlY2soYykpIHsKKyAgICAgICAgaWYgKFB5VW5pY29kZV9SRUFEWShjKSA9PSAtMSkKICAgICAgICAgICAgIHJldHVybiBOVUxMOwotICAgICAgICBzaXplID0gUHlVbmljb2RlX0dFVF9MRU5HVEgob2JqKTsKKyAgICAgICAgc2l6ZSA9IFB5VW5pY29kZV9HRVRfTEVOR1RIKGMpOwogICAgICAgICBpZiAoc2l6ZSA9PSAxKSB7Ci0gICAgICAgICAgICBvcmQgPSAobG9uZylQeVVuaWNvZGVfUkVBRF9DSEFSKG9iaiwgMCk7CisgICAgICAgICAgICBvcmQgPSAobG9uZylQeVVuaWNvZGVfUkVBRF9DSEFSKGMsIDApOwogICAgICAgICAgICAgcmV0dXJuIFB5TG9uZ19Gcm9tTG9uZyhvcmQpOwogICAgICAgICB9CiAgICAgfQotICAgIGVsc2UgaWYgKFB5Qnl0ZUFycmF5X0NoZWNrKG9iaikpIHsKKyAgICBlbHNlIGlmIChQeUJ5dGVBcnJheV9DaGVjayhjKSkgewogICAgICAgICAvKiBYWFggSG9wZWZ1bGx5IHRoaXMgaXMgdGVtcG9yYXJ5ICovCi0gICAgICAgIHNpemUgPSBQeUJ5dGVBcnJheV9HRVRfU0laRShvYmopOworICAgICAgICBzaXplID0gUHlCeXRlQXJyYXlfR0VUX1NJWkUoYyk7CiAgICAgICAgIGlmIChzaXplID09IDEpIHsKLSAgICAgICAgICAgIG9yZCA9IChsb25nKSgodW5zaWduZWQgY2hhcikqUHlCeXRlQXJyYXlfQVNfU1RSSU5HKG9iaikpOworICAgICAgICAgICAgb3JkID0gKGxvbmcpKCh1bnNpZ25lZCBjaGFyKSpQeUJ5dGVBcnJheV9BU19TVFJJTkcoYykpOwogICAgICAgICAgICAgcmV0dXJuIFB5TG9uZ19Gcm9tTG9uZyhvcmQpOwogICAgICAgICB9CiAgICAgfQogICAgIGVsc2UgewogICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVHlwZUVycm9yLAogICAgICAgICAgICAgICAgICAgICAgIm9yZCgpIGV4cGVjdGVkIHN0cmluZyBvZiBsZW5ndGggMSwgYnV0ICIgXAotICAgICAgICAgICAgICAgICAgICAgIiUuMjAwcyBmb3VuZCIsIG9iai0+b2JfdHlwZS0+dHBfbmFtZSk7CisgICAgICAgICAgICAgICAgICAgICAiJS4yMDBzIGZvdW5kIiwgYy0+b2JfdHlwZS0+dHBfbmFtZSk7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KIApAQCAtMTU0NywzMSArMjEzNyw2MyBAQAogICAgIHJldHVybiBOVUxMOwogfQogCi1QeURvY19WQVIob3JkX2RvYykgPSBQeURvY19TVFIoCi0ib3JkKGMpIC0+IGludGVnZXJcblwKLVxuXAotUmV0dXJuIHRoZSBpbnRlZ2VyIG9yZGluYWwgb2YgYSBvbmUtY2hhcmFjdGVyIHN0cmluZy4iCi0pOwogCisvKltjbGluaWMgaW5wdXRdCitwb3cgYXMgYnVpbHRpbl9wb3cKKworICAgIHg6ICdPJworICAgIHk6ICdPJworICAgIHo6ICdPJyA9IE5vbmUKKyAgICAvCisKK0VxdWl2YWxlbnQgdG8geCoqeSAod2l0aCB0d28gYXJndW1lbnRzKSBvciB4Kip5ICUgeiAod2l0aCB0aHJlZSBhcmd1bWVudHMpCisKK1NvbWUgdHlwZXMsIHN1Y2ggYXMgaW50cywgYXJlIGFibGUgdG8gdXNlIGEgbW9yZSBlZmZpY2llbnQgYWxnb3JpdGhtIHdoZW4KK2ludm9rZWQgdXNpbmcgdGhlIHRocmVlIGFyZ3VtZW50IGZvcm0uCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihidWlsdGluX3Bvd19fZG9jX18sCisicG93KCRtb2R1bGUsIHgsIHksIHo9Tm9uZSwgLylcbiIKKyItLVxuIgorIlxuIgorIkVxdWl2YWxlbnQgdG8geCoqeSAod2l0aCB0d28gYXJndW1lbnRzKSBvciB4Kip5ICUgeiAod2l0aCB0aHJlZSBhcmd1bWVudHMpXG4iCisiXG4iCisiU29tZSB0eXBlcywgc3VjaCBhcyBpbnRzLCBhcmUgYWJsZSB0byB1c2UgYSBtb3JlIGVmZmljaWVudCBhbGdvcml0aG0gd2hlblxuIgorImludm9rZWQgdXNpbmcgdGhlIHRocmVlIGFyZ3VtZW50IGZvcm0uIik7CisKKyNkZWZpbmUgQlVJTFRJTl9QT1dfTUVUSE9EREVGICAgIFwKKyAgICB7InBvdyIsIChQeUNGdW5jdGlvbilidWlsdGluX3BvdywgTUVUSF9WQVJBUkdTLCBidWlsdGluX3Bvd19fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotYnVpbHRpbl9wb3coUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQotewotICAgIFB5T2JqZWN0ICp2LCAqdywgKnogPSBQeV9Ob25lOworYnVpbHRpbl9wb3dfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqeCwgUHlPYmplY3QgKnksIFB5T2JqZWN0ICp6KTsKIAotICAgIGlmICghUHlBcmdfVW5wYWNrVHVwbGUoYXJncywgInBvdyIsIDIsIDMsICZ2LCAmdywgJnopKQotICAgICAgICByZXR1cm4gTlVMTDsKLSAgICByZXR1cm4gUHlOdW1iZXJfUG93ZXIodiwgdywgeik7CitzdGF0aWMgUHlPYmplY3QgKgorYnVpbHRpbl9wb3coUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgUHlPYmplY3QgKng7CisgICAgUHlPYmplY3QgKnk7CisgICAgUHlPYmplY3QgKnogPSBQeV9Ob25lOworCisgICAgaWYgKCFQeUFyZ19VbnBhY2tUdXBsZShhcmdzLCAicG93IiwKKyAgICAgICAgMiwgMywKKyAgICAgICAgJngsICZ5LCAmeikpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBidWlsdGluX3Bvd19pbXBsKG1vZHVsZSwgeCwgeSwgeik7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKIH0KIAotUHlEb2NfU1RSVkFSKHBvd19kb2MsCi0icG93KHgsIHlbLCB6XSkgLT4gbnVtYmVyXG5cCi1cblwKLVdpdGggdHdvIGFyZ3VtZW50cywgZXF1aXZhbGVudCB0byB4Kip5LiAgV2l0aCB0aHJlZSBhcmd1bWVudHMsXG5cCi1lcXVpdmFsZW50IHRvICh4Kip5KSAlIHosIGJ1dCBtYXkgYmUgbW9yZSBlZmZpY2llbnQgKGUuZy4gZm9yIGludHMpLiIpOworc3RhdGljIFB5T2JqZWN0ICoKK2J1aWx0aW5fcG93X2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKngsIFB5T2JqZWN0ICp5LCBQeU9iamVjdCAqeikKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1kMGNkZjMxNDMxMWRlZGJhIGlucHV0PTU2MWE5NDJkNWY1YzE4OTldKi8KK3sKKyAgICByZXR1cm4gUHlOdW1iZXJfUG93ZXIoeCwgeSwgeik7Cit9CiAKIAotCisvKiBBQzogY2Fubm90IGNvbnZlcnQgeWV0LCB3YWl0aW5nIGZvciAqYXJncyBzdXBwb3J0ICovCiBzdGF0aWMgUHlPYmplY3QgKgogYnVpbHRpbl9wcmludChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2RzKQogewpAQCAtMTY2NywxMCArMjI4OSw1OSBAQAogZmx1c2g6IHdoZXRoZXIgdG8gZm9yY2libHkgZmx1c2ggdGhlIHN0cmVhbS4iKTsKIAogCisvKltjbGluaWMgaW5wdXRdCitpbnB1dCBhcyBidWlsdGluX2lucHV0CisKKyAgICBwcm9tcHQ6IG9iamVjdChjX2RlZmF1bHQ9Ik5VTEwiKSA9IE5vbmUKKyAgICAvCisKK1JlYWQgYSBzdHJpbmcgZnJvbSBzdGFuZGFyZCBpbnB1dC4gIFRoZSB0cmFpbGluZyBuZXdsaW5lIGlzIHN0cmlwcGVkLgorCitUaGUgcHJvbXB0IHN0cmluZywgaWYgZ2l2ZW4sIGlzIHByaW50ZWQgdG8gc3RhbmRhcmQgb3V0cHV0IHdpdGhvdXQgYQordHJhaWxpbmcgbmV3bGluZSBiZWZvcmUgcmVhZGluZyBpbnB1dC4KKworSWYgdGhlIHVzZXIgaGl0cyBFT0YgKCpuaXg6IEN0cmwtRCwgV2luZG93czogQ3RybC1aK1JldHVybiksIHJhaXNlIEVPRkVycm9yLgorT24gKm5peCBzeXN0ZW1zLCByZWFkbGluZSBpcyB1c2VkIGlmIGF2YWlsYWJsZS4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKGJ1aWx0aW5faW5wdXRfX2RvY19fLAorImlucHV0KCRtb2R1bGUsIHByb21wdD1Ob25lLCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmVhZCBhIHN0cmluZyBmcm9tIHN0YW5kYXJkIGlucHV0LiAgVGhlIHRyYWlsaW5nIG5ld2xpbmUgaXMgc3RyaXBwZWQuXG4iCisiXG4iCisiVGhlIHByb21wdCBzdHJpbmcsIGlmIGdpdmVuLCBpcyBwcmludGVkIHRvIHN0YW5kYXJkIG91dHB1dCB3aXRob3V0IGFcbiIKKyJ0cmFpbGluZyBuZXdsaW5lIGJlZm9yZSByZWFkaW5nIGlucHV0LlxuIgorIlxuIgorIklmIHRoZSB1c2VyIGhpdHMgRU9GICgqbml4OiBDdHJsLUQsIFdpbmRvd3M6IEN0cmwtWitSZXR1cm4pLCByYWlzZSBFT0ZFcnJvci5cbiIKKyJPbiAqbml4IHN5c3RlbXMsIHJlYWRsaW5lIGlzIHVzZWQgaWYgYXZhaWxhYmxlLiIpOworCisjZGVmaW5lIEJVSUxUSU5fSU5QVVRfTUVUSE9EREVGICAgIFwKKyAgICB7ImlucHV0IiwgKFB5Q0Z1bmN0aW9uKWJ1aWx0aW5faW5wdXQsIE1FVEhfVkFSQVJHUywgYnVpbHRpbl9pbnB1dF9fZG9jX199LAorCiBzdGF0aWMgUHlPYmplY3QgKgotYnVpbHRpbl9pbnB1dChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitidWlsdGluX2lucHV0X2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKnByb21wdCk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitidWlsdGluX2lucHV0KFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQogewotICAgIFB5T2JqZWN0ICpwcm9tcHRhcmcgPSBOVUxMOworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIFB5T2JqZWN0ICpwcm9tcHQgPSBOVUxMOworCisgICAgaWYgKCFQeUFyZ19VbnBhY2tUdXBsZShhcmdzLCAiaW5wdXQiLAorICAgICAgICAwLCAxLAorICAgICAgICAmcHJvbXB0KSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IGJ1aWx0aW5faW5wdXRfaW1wbChtb2R1bGUsIHByb21wdCk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK2J1aWx0aW5faW5wdXRfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqcHJvbXB0KQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTY5MzIzYmY1Njk1ZjdjOWMgaW5wdXQ9NWU4YmI3MGMyOTA4ZmUzY10qLworewogICAgIFB5T2JqZWN0ICpmaW4gPSBfUHlTeXNfR2V0T2JqZWN0SWQoJlB5SWRfc3RkaW4pOwogICAgIFB5T2JqZWN0ICpmb3V0ID0gX1B5U3lzX0dldE9iamVjdElkKCZQeUlkX3N0ZG91dCk7CiAgICAgUHlPYmplY3QgKmZlcnIgPSBfUHlTeXNfR2V0T2JqZWN0SWQoJlB5SWRfc3RkZXJyKTsKQEAgLTE2NzgsMTAgKzIzNDksNiBAQAogICAgIGxvbmcgZmQ7CiAgICAgaW50IHR0eTsKIAotICAgIC8qIFBhcnNlIGFyZ3VtZW50cyAqLwotICAgIGlmICghUHlBcmdfVW5wYWNrVHVwbGUoYXJncywgImlucHV0IiwgMCwgMSwgJnByb21wdGFyZykpCi0gICAgICAgIHJldHVybiBOVUxMOwotCiAgICAgLyogQ2hlY2sgdGhhdCBzdGRpbi9vdXQvZXJyIGFyZSBpbnRhY3QgKi8KICAgICBpZiAoZmluID09IE5VTEwgfHwgZmluID09IFB5X05vbmUpIHsKICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1J1bnRpbWVFcnJvciwKQEAgLTE3MzcsNyArMjQwNCw3IEBACiAgICAgLyogSWYgd2UncmUgaW50ZXJhY3RpdmUsIHVzZSAoR05VKSByZWFkbGluZSAqLwogICAgIGlmICh0dHkpIHsKICAgICAgICAgUHlPYmplY3QgKnBvID0gTlVMTDsKLSAgICAgICAgY2hhciAqcHJvbXB0OworICAgICAgICBjaGFyICpwcm9tcHRzdHI7CiAgICAgICAgIGNoYXIgKnMgPSBOVUxMOwogICAgICAgICBQeU9iamVjdCAqc3RkaW5fZW5jb2RpbmcgPSBOVUxMLCAqc3RkaW5fZXJyb3JzID0gTlVMTDsKICAgICAgICAgUHlPYmplY3QgKnN0ZG91dF9lbmNvZGluZyA9IE5VTEwsICpzdGRvdXRfZXJyb3JzID0gTlVMTDsKQEAgLTE3NjAsNyArMjQyNyw3IEBACiAgICAgICAgICAgICBQeUVycl9DbGVhcigpOwogICAgICAgICBlbHNlCiAgICAgICAgICAgICBQeV9ERUNSRUYodG1wKTsKLSAgICAgICAgaWYgKHByb21wdGFyZyAhPSBOVUxMKSB7CisgICAgICAgIGlmIChwcm9tcHQgIT0gTlVMTCkgewogICAgICAgICAgICAgLyogV2UgaGF2ZSBhIHByb21wdCwgZW5jb2RlIGl0IGFzIHN0ZG91dCB3b3VsZCAqLwogICAgICAgICAgICAgY2hhciAqc3Rkb3V0X2VuY29kaW5nX3N0ciwgKnN0ZG91dF9lcnJvcnNfc3RyOwogICAgICAgICAgICAgUHlPYmplY3QgKnN0cmluZ3BvOwpAQCAtMTc3Miw3ICsyNDM5LDcgQEAKICAgICAgICAgICAgIHN0ZG91dF9lcnJvcnNfc3RyID0gX1B5VW5pY29kZV9Bc1N0cmluZyhzdGRvdXRfZXJyb3JzKTsKICAgICAgICAgICAgIGlmICghc3Rkb3V0X2VuY29kaW5nX3N0ciB8fCAhc3Rkb3V0X2Vycm9yc19zdHIpCiAgICAgICAgICAgICAgICAgZ290byBfcmVhZGxpbmVfZXJyb3JzOwotICAgICAgICAgICAgc3RyaW5ncG8gPSBQeU9iamVjdF9TdHIocHJvbXB0YXJnKTsKKyAgICAgICAgICAgIHN0cmluZ3BvID0gUHlPYmplY3RfU3RyKHByb21wdCk7CiAgICAgICAgICAgICBpZiAoc3RyaW5ncG8gPT0gTlVMTCkKICAgICAgICAgICAgICAgICBnb3RvIF9yZWFkbGluZV9lcnJvcnM7CiAgICAgICAgICAgICBwbyA9IFB5VW5pY29kZV9Bc0VuY29kZWRTdHJpbmcoc3RyaW5ncG8sCkBAIC0xNzgyLDE1ICsyNDQ5LDE1IEBACiAgICAgICAgICAgICBQeV9DTEVBUihzdHJpbmdwbyk7CiAgICAgICAgICAgICBpZiAocG8gPT0gTlVMTCkKICAgICAgICAgICAgICAgICBnb3RvIF9yZWFkbGluZV9lcnJvcnM7Ci0gICAgICAgICAgICBwcm9tcHQgPSBQeUJ5dGVzX0FzU3RyaW5nKHBvKTsKLSAgICAgICAgICAgIGlmIChwcm9tcHQgPT0gTlVMTCkKKyAgICAgICAgICAgIHByb21wdHN0ciA9IFB5Qnl0ZXNfQXNTdHJpbmcocG8pOworICAgICAgICAgICAgaWYgKHByb21wdHN0ciA9PSBOVUxMKQogICAgICAgICAgICAgICAgIGdvdG8gX3JlYWRsaW5lX2Vycm9yczsKICAgICAgICAgfQogICAgICAgICBlbHNlIHsKICAgICAgICAgICAgIHBvID0gTlVMTDsKLSAgICAgICAgICAgIHByb21wdCA9ICIiOworICAgICAgICAgICAgcHJvbXB0c3RyID0gIiI7CiAgICAgICAgIH0KLSAgICAgICAgcyA9IFB5T1NfUmVhZGxpbmUoc3RkaW4sIHN0ZG91dCwgcHJvbXB0KTsKKyAgICAgICAgcyA9IFB5T1NfUmVhZGxpbmUoc3RkaW4sIHN0ZG91dCwgcHJvbXB0c3RyKTsKICAgICAgICAgaWYgKHMgPT0gTlVMTCkgewogICAgICAgICAgICAgUHlFcnJfQ2hlY2tTaWduYWxzKCk7CiAgICAgICAgICAgICBpZiAoIVB5RXJyX09jY3VycmVkKCkpCkBAIC0xODMyLDggKzI0OTksOCBAQAogICAgIH0KIAogICAgIC8qIEZhbGxiYWNrIGlmIHdlJ3JlIG5vdCBpbnRlcmFjdGl2ZSAqLwotICAgIGlmIChwcm9tcHRhcmcgIT0gTlVMTCkgewotICAgICAgICBpZiAoUHlGaWxlX1dyaXRlT2JqZWN0KHByb21wdGFyZywgZm91dCwgUHlfUFJJTlRfUkFXKSAhPSAwKQorICAgIGlmIChwcm9tcHQgIT0gTlVMTCkgeworICAgICAgICBpZiAoUHlGaWxlX1dyaXRlT2JqZWN0KHByb21wdCwgZm91dCwgUHlfUFJJTlRfUkFXKSAhPSAwKQogICAgICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQogICAgIHRtcCA9IF9QeU9iamVjdF9DYWxsTWV0aG9kSWQoZm91dCwgJlB5SWRfZmx1c2gsICIiKTsKQEAgLTE4NDQsMjggKzI1MTEsNDAgQEAKICAgICByZXR1cm4gUHlGaWxlX0dldExpbmUoZmluLCAtMSk7CiB9CiAKLVB5RG9jX1NUUlZBUihpbnB1dF9kb2MsCi0iaW5wdXQoW3Byb21wdF0pIC0+IHN0cmluZ1xuXAotXG5cCi1SZWFkIGEgc3RyaW5nIGZyb20gc3RhbmRhcmQgaW5wdXQuICBUaGUgdHJhaWxpbmcgbmV3bGluZSBpcyBzdHJpcHBlZC5cblwKLUlmIHRoZSB1c2VyIGhpdHMgRU9GIChVbml4OiBDdGwtRCwgV2luZG93czogQ3RsLVorUmV0dXJuKSwgcmFpc2UgRU9GRXJyb3IuXG5cCi1PbiBVbml4LCBHTlUgcmVhZGxpbmUgaXMgdXNlZCBpZiBlbmFibGVkLiAgVGhlIHByb21wdCBzdHJpbmcsIGlmIGdpdmVuLFxuXAotaXMgcHJpbnRlZCB3aXRob3V0IGEgdHJhaWxpbmcgbmV3bGluZSBiZWZvcmUgcmVhZGluZy4iKTsKIAorLypbY2xpbmljIGlucHV0XQorcmVwciBhcyBidWlsdGluX3JlcHIKKworICAgIG9iajogJ08nCisgICAgLworCitSZXR1cm4gdGhlIGNhbm9uaWNhbCBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhlIG9iamVjdC4KKworRm9yIG1hbnkgb2JqZWN0IHR5cGVzLCBpbmNsdWRpbmcgbW9zdCBidWlsdGlucywgZXZhbChyZXByKG9iaikpID09IG9iai4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKGJ1aWx0aW5fcmVwcl9fZG9jX18sCisicmVwcigkbW9kdWxlLCBvYmosIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gdGhlIGNhbm9uaWNhbCBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhlIG9iamVjdC5cbiIKKyJcbiIKKyJGb3IgbWFueSBvYmplY3QgdHlwZXMsIGluY2x1ZGluZyBtb3N0IGJ1aWx0aW5zLCBldmFsKHJlcHIob2JqKSkgPT0gb2JqLiIpOworCisjZGVmaW5lIEJVSUxUSU5fUkVQUl9NRVRIT0RERUYgICAgXAorICAgIHsicmVwciIsIChQeUNGdW5jdGlvbilidWlsdGluX3JlcHIsIE1FVEhfTywgYnVpbHRpbl9yZXByX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1idWlsdGluX3JlcHIoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICp2KQorYnVpbHRpbl9yZXByKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpvYmopCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9OTg4OTgwMTIwZjM5ZTJmYSBpbnB1dD1hMmJjYTBmMzhhNWE5MjRkXSovCiB7Ci0gICAgcmV0dXJuIFB5T2JqZWN0X1JlcHIodik7CisgICAgcmV0dXJuIFB5T2JqZWN0X1JlcHIob2JqKTsKIH0KIAotUHlEb2NfU1RSVkFSKHJlcHJfZG9jLAotInJlcHIob2JqZWN0KSAtPiBzdHJpbmdcblwKLVxuXAotUmV0dXJuIHRoZSBjYW5vbmljYWwgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBvYmplY3QuXG5cCi1Gb3IgbW9zdCBvYmplY3QgdHlwZXMsIGV2YWwocmVwcihvYmplY3QpKSA9PSBvYmplY3QuIik7CiAKLQorLyogQUM6IGNhbm5vdCBjb252ZXJ0IHlldCwgYXMgbmVlZHMgUEVQIDQ1NyBncm91cCBzdXBwb3J0IGluIGluc3BlY3QKKyAqICAgICBvciBhIHNlbWFudGljIGNoYW5nZSB0byBhY2NlcHQgTm9uZSBmb3IgIm5kaWdpdHMiCisgKi8KIHN0YXRpYyBQeU9iamVjdCAqCiBidWlsdGluX3JvdW5kKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3ZHMpCiB7CkBAIC0xOTA3LDYgKzI1ODYsMzUgQEAKIHNhbWUgdHlwZSBhcyB0aGUgbnVtYmVyLiBuZGlnaXRzIG1heSBiZSBuZWdhdGl2ZS4iKTsKIAogCisvKkFDOiB3ZSBuZWVkIHRvIGtlZXAgdGhlIGt3ZHMgZGljdCBpbnRhY3QgdG8gZWFzaWx5IGNhbGwgaW50byB0aGUKKyAqIGxpc3Quc29ydCBtZXRob2QsIHdoaWNoIGlzbid0IGN1cnJlbnRseSBzdXBwb3J0ZWQgaW4gQUMuIFNvIHdlIGp1c3QgdXNlCisgKiB0aGUgaW5pdGlhbGx5IGdlbmVyYXRlZCBzaWduYXR1cmUgd2l0aCBhIGN1c3RvbSBpbXBsZW1lbnRhdGlvbi4KKyAqLworLyogW2Rpc2FibGVkIGNsaW5pYyBpbnB1dF0KK3NvcnRlZCBhcyBidWlsdGluX3NvcnRlZAorCisgICAgaXRlcmFibGUgYXMgc2VxOiAnTycKKyAgICBrZXkgYXMga2V5ZnVuYzogJ08nID0gTm9uZQorICAgIHJldmVyc2U6ICdPJyA9IEZhbHNlCisKK1JldHVybiBhIG5ldyBsaXN0IGNvbnRhaW5pbmcgYWxsIGl0ZW1zIGZyb20gdGhlIGl0ZXJhYmxlIGluIGFzY2VuZGluZyBvcmRlci4KKworQSBjdXN0b20ga2V5IGZ1bmN0aW9uIGNhbiBiZSBzdXBwbGllZCB0byBjdXN0b21pc2UgdGhlIHNvcnQgb3JkZXIsIGFuZCB0aGUKK3JldmVyc2UgZmxhZyBjYW4gYmUgc2V0IHRvIHJlcXVlc3QgdGhlIHJlc3VsdCBpbiBkZXNjZW5kaW5nIG9yZGVyLgorW2VuZCBkaXNhYmxlZCBjbGluaWMgaW5wdXRdKi8KKworUHlEb2NfU1RSVkFSKGJ1aWx0aW5fc29ydGVkX19kb2NfXywKKyJzb3J0ZWQoJG1vZHVsZSwgaXRlcmFibGUsIGtleT1Ob25lLCByZXZlcnNlPUZhbHNlKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIGEgbmV3IGxpc3QgY29udGFpbmluZyBhbGwgaXRlbXMgZnJvbSB0aGUgaXRlcmFibGUgaW4gYXNjZW5kaW5nIG9yZGVyLlxuIgorIlxuIgorIkEgY3VzdG9tIGtleSBmdW5jdGlvbiBjYW4gYmUgc3VwcGxpZWQgdG8gY3VzdG9taXNlIHRoZSBzb3J0IG9yZGVyLCBhbmQgdGhlXG4iCisicmV2ZXJzZSBmbGFnIGNhbiBiZSBzZXQgdG8gcmVxdWVzdCB0aGUgcmVzdWx0IGluIGRlc2NlbmRpbmcgb3JkZXIuIik7CisKKyNkZWZpbmUgQlVJTFRJTl9TT1JURURfTUVUSE9EREVGICAgIFwKKyAgICB7InNvcnRlZCIsIChQeUNGdW5jdGlvbilidWlsdGluX3NvcnRlZCwgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIGJ1aWx0aW5fc29ydGVkX19kb2NfX30sCisKIHN0YXRpYyBQeU9iamVjdCAqCiBidWlsdGluX3NvcnRlZChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2RzKQogewpAQCAtMTk0OCw5ICsyNjU2LDggQEAKICAgICByZXR1cm4gbmV3bGlzdDsKIH0KIAotUHlEb2NfU1RSVkFSKHNvcnRlZF9kb2MsCi0ic29ydGVkKGl0ZXJhYmxlLCBrZXk9Tm9uZSwgcmV2ZXJzZT1GYWxzZSkgLS0+IG5ldyBzb3J0ZWQgbGlzdCIpOwogCisvKiBBQzogY2Fubm90IGNvbnZlcnQgeWV0LCBhcyBuZWVkcyBQRVAgNDU3IGdyb3VwIHN1cHBvcnQgaW4gaW5zcGVjdCAqLwogc3RhdGljIFB5T2JqZWN0ICoKIGJ1aWx0aW5fdmFycyhQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCiB7CkBAIC0xOTgyLDE3ICsyNjg5LDYyIEBACiBXaXRob3V0IGFyZ3VtZW50cywgZXF1aXZhbGVudCB0byBsb2NhbHMoKS5cblwKIFdpdGggYW4gYXJndW1lbnQsIGVxdWl2YWxlbnQgdG8gb2JqZWN0Ll9fZGljdF9fLiIpOwogCi1zdGF0aWMgUHlPYmplY3QqCi1idWlsdGluX3N1bShQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCisKKy8qW2NsaW5pYyBpbnB1dF0KK3N1bSBhcyBidWlsdGluX3N1bQorCisgICAgaXRlcmFibGU6ICdPJworICAgIHN0YXJ0OiBvYmplY3QoY19kZWZhdWx0PSJOVUxMIikgPSAwCisgICAgLworCitSZXR1cm4gdGhlIHN1bSBvZiBhICdzdGFydCcgdmFsdWUgKGRlZmF1bHQ6IDApIHBsdXMgYW4gaXRlcmFibGUgb2YgbnVtYmVycworCitXaGVuIHRoZSBpdGVyYWJsZSBpcyBlbXB0eSwgcmV0dXJuIHRoZSBzdGFydCB2YWx1ZS4KK1RoaXMgZnVuY3Rpb24gaXMgaW50ZW5kZWQgc3BlY2lmaWNhbGx5IGZvciB1c2Ugd2l0aCBudW1lcmljIHZhbHVlcyBhbmQgbWF5CityZWplY3Qgbm9uLW51bWVyaWMgdHlwZXMuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihidWlsdGluX3N1bV9fZG9jX18sCisic3VtKCRtb2R1bGUsIGl0ZXJhYmxlLCBzdGFydD0wLCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIHRoZSBzdW0gb2YgYSBcJ3N0YXJ0XCcgdmFsdWUgKGRlZmF1bHQ6IDApIHBsdXMgYW4gaXRlcmFibGUgb2YgbnVtYmVyc1xuIgorIlxuIgorIldoZW4gdGhlIGl0ZXJhYmxlIGlzIGVtcHR5LCByZXR1cm4gdGhlIHN0YXJ0IHZhbHVlLlxuIgorIlRoaXMgZnVuY3Rpb24gaXMgaW50ZW5kZWQgc3BlY2lmaWNhbGx5IGZvciB1c2Ugd2l0aCBudW1lcmljIHZhbHVlcyBhbmQgbWF5XG4iCisicmVqZWN0IG5vbi1udW1lcmljIHR5cGVzLiIpOworCisjZGVmaW5lIEJVSUxUSU5fU1VNX01FVEhPRERFRiAgICBcCisgICAgeyJzdW0iLCAoUHlDRnVuY3Rpb24pYnVpbHRpbl9zdW0sIE1FVEhfVkFSQVJHUywgYnVpbHRpbl9zdW1fX2RvY19ffSwKKworc3RhdGljIFB5T2JqZWN0ICoKK2J1aWx0aW5fc3VtX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKml0ZXJhYmxlLCBQeU9iamVjdCAqc3RhcnQpOworCitzdGF0aWMgUHlPYmplY3QgKgorYnVpbHRpbl9zdW0oUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCiB7Ci0gICAgUHlPYmplY3QgKnNlcTsKLSAgICBQeU9iamVjdCAqcmVzdWx0ID0gTlVMTDsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBQeU9iamVjdCAqaXRlcmFibGU7CisgICAgUHlPYmplY3QgKnN0YXJ0ID0gTlVMTDsKKworICAgIGlmICghUHlBcmdfVW5wYWNrVHVwbGUoYXJncywgInN1bSIsCisgICAgICAgIDEsIDIsCisgICAgICAgICZpdGVyYWJsZSwgJnN0YXJ0KSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IGJ1aWx0aW5fc3VtX2ltcGwobW9kdWxlLCBpdGVyYWJsZSwgc3RhcnQpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitidWlsdGluX3N1bV9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICppdGVyYWJsZSwgUHlPYmplY3QgKnN0YXJ0KQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWI0MjY1MmEwZDVmNjRmNmIgaW5wdXQ9OTBhZTdhMjQyY2ZjZjAyNV0qLworeworICAgIFB5T2JqZWN0ICpyZXN1bHQgPSBzdGFydDsKICAgICBQeU9iamVjdCAqdGVtcCwgKml0ZW0sICppdGVyOwogCi0gICAgaWYgKCFQeUFyZ19VbnBhY2tUdXBsZShhcmdzLCAic3VtIiwgMSwgMiwgJnNlcSwgJnJlc3VsdCkpCi0gICAgICAgIHJldHVybiBOVUxMOwotCi0gICAgaXRlciA9IFB5T2JqZWN0X0dldEl0ZXIoc2VxKTsKKyAgICBpdGVyID0gUHlPYmplY3RfR2V0SXRlcihpdGVyYWJsZSk7CiAgICAgaWYgKGl0ZXIgPT0gTlVMTCkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAKQEAgLTIwMjIsNyArMjc3NCw2IEBACiAgICAgICAgICAgICBQeV9ERUNSRUYoaXRlcik7CiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKICAgICAgICAgfQotCiAgICAgICAgIFB5X0lOQ1JFRihyZXN1bHQpOwogICAgIH0KIApAQCAtMjE0OCw2MiArMjg5OSwxMjYgQEAKICAgICByZXR1cm4gcmVzdWx0OwogfQogCi1QeURvY19TVFJWQVIoc3VtX2RvYywKLSJzdW0oaXRlcmFibGVbLCBzdGFydF0pIC0+IHZhbHVlXG5cCi1cblwKLVJldHVybiB0aGUgc3VtIG9mIGFuIGl0ZXJhYmxlIG9mIG51bWJlcnMgKE5PVCBzdHJpbmdzKSBwbHVzIHRoZSB2YWx1ZVxuXAotb2YgcGFyYW1ldGVyICdzdGFydCcgKHdoaWNoIGRlZmF1bHRzIHRvIDApLiAgV2hlbiB0aGUgaXRlcmFibGUgaXNcblwKLWVtcHR5LCByZXR1cm4gc3RhcnQuIik7CiAKKy8qW2NsaW5pYyBpbnB1dF0KK2lzaW5zdGFuY2UgYXMgYnVpbHRpbl9pc2luc3RhbmNlCisKKyAgICBvYmo6ICdPJworICAgIGNsYXNzX29yX3R1cGxlOiAnTycKKyAgICAvCisKK1JldHVybiB3aGV0aGVyIGFuIG9iamVjdCBpcyBhbiBpbnN0YW5jZSBvZiBhIGNsYXNzIG9yIG9mIGEgc3ViY2xhc3MgdGhlcmVvZi4KKworQSB0dXBsZSwgYXMgaW4gYGBpc2luc3RhbmNlKHgsIChBLCBCLCAuLi4pKWBgLCBtYXkgYmUgZ2l2ZW4gYXMgdGhlIHRhcmdldCB0bworY2hlY2sgYWdhaW5zdC4gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBgaXNpbnN0YW5jZSh4LCBBKSBvciBpc2luc3RhbmNlKHgsIEIpCitvciAuLi5gYCBldGMuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihidWlsdGluX2lzaW5zdGFuY2VfX2RvY19fLAorImlzaW5zdGFuY2UoJG1vZHVsZSwgb2JqLCBjbGFzc19vcl90dXBsZSwgLylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiB3aGV0aGVyIGFuIG9iamVjdCBpcyBhbiBpbnN0YW5jZSBvZiBhIGNsYXNzIG9yIG9mIGEgc3ViY2xhc3MgdGhlcmVvZi5cbiIKKyJcbiIKKyJBIHR1cGxlLCBhcyBpbiBgYGlzaW5zdGFuY2UoeCwgKEEsIEIsIC4uLikpYGAsIG1heSBiZSBnaXZlbiBhcyB0aGUgdGFyZ2V0IHRvXG4iCisiY2hlY2sgYWdhaW5zdC4gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBgaXNpbnN0YW5jZSh4LCBBKSBvciBpc2luc3RhbmNlKHgsIEIpXG4iCisib3IgLi4uYGAgZXRjLiIpOworCisjZGVmaW5lIEJVSUxUSU5fSVNJTlNUQU5DRV9NRVRIT0RERUYgICAgXAorICAgIHsiaXNpbnN0YW5jZSIsIChQeUNGdW5jdGlvbilidWlsdGluX2lzaW5zdGFuY2UsIE1FVEhfVkFSQVJHUywgYnVpbHRpbl9pc2luc3RhbmNlX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1idWlsdGluX2lzaW5zdGFuY2UoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorYnVpbHRpbl9pc2luc3RhbmNlX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKm9iaiwgUHlPYmplY3QgKmNsYXNzX29yX3R1cGxlKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK2J1aWx0aW5faXNpbnN0YW5jZShQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKIHsKLSAgICBQeU9iamVjdCAqaW5zdDsKLSAgICBQeU9iamVjdCAqY2xzOworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIFB5T2JqZWN0ICpvYmo7CisgICAgUHlPYmplY3QgKmNsYXNzX29yX3R1cGxlOworCisgICAgaWYgKCFQeUFyZ19VbnBhY2tUdXBsZShhcmdzLCAiaXNpbnN0YW5jZSIsCisgICAgICAgIDIsIDIsCisgICAgICAgICZvYmosICZjbGFzc19vcl90dXBsZSkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBidWlsdGluX2lzaW5zdGFuY2VfaW1wbChtb2R1bGUsIG9iaiwgY2xhc3Nfb3JfdHVwbGUpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitidWlsdGluX2lzaW5zdGFuY2VfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqb2JqLCBQeU9iamVjdCAqY2xhc3Nfb3JfdHVwbGUpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ODQ3ZGY1N2ZlZjhkZGVhNyBpbnB1dD1jZjllYjBhZDZiYjliYWQ2XSovCit7CiAgICAgaW50IHJldHZhbDsKIAotICAgIGlmICghUHlBcmdfVW5wYWNrVHVwbGUoYXJncywgImlzaW5zdGFuY2UiLCAyLCAyLCAmaW5zdCwgJmNscykpCi0gICAgICAgIHJldHVybiBOVUxMOwotCi0gICAgcmV0dmFsID0gUHlPYmplY3RfSXNJbnN0YW5jZShpbnN0LCBjbHMpOworICAgIHJldHZhbCA9IFB5T2JqZWN0X0lzSW5zdGFuY2Uob2JqLCBjbGFzc19vcl90dXBsZSk7CiAgICAgaWYgKHJldHZhbCA8IDApCiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIHJldHVybiBQeUJvb2xfRnJvbUxvbmcocmV0dmFsKTsKIH0KIAotUHlEb2NfU1RSVkFSKGlzaW5zdGFuY2VfZG9jLAotImlzaW5zdGFuY2Uob2JqZWN0LCBjbGFzcy1vci10eXBlLW9yLXR1cGxlKSAtPiBib29sXG5cCi1cblwKLVJldHVybiB3aGV0aGVyIGFuIG9iamVjdCBpcyBhbiBpbnN0YW5jZSBvZiBhIGNsYXNzIG9yIG9mIGEgc3ViY2xhc3MgdGhlcmVvZi5cblwKLVdpdGggYSB0eXBlIGFzIHNlY29uZCBhcmd1bWVudCwgcmV0dXJuIHdoZXRoZXIgdGhhdCBpcyB0aGUgb2JqZWN0J3MgdHlwZS5cblwKLVRoZSBmb3JtIHVzaW5nIGEgdHVwbGUsIGlzaW5zdGFuY2UoeCwgKEEsIEIsIC4uLikpLCBpcyBhIHNob3J0Y3V0IGZvclxuXAotaXNpbnN0YW5jZSh4LCBBKSBvciBpc2luc3RhbmNlKHgsIEIpIG9yIC4uLiAoZXRjLikuIik7CiAKKy8qW2NsaW5pYyBpbnB1dF0KK2lzc3ViY2xhc3MgYXMgYnVpbHRpbl9pc3N1YmNsYXNzCisKKyAgICBjbHM6ICdPJworICAgIGNsYXNzX29yX3R1cGxlOiAnTycKKyAgICAvCisKK1JldHVybiB3aGV0aGVyICdjbHMnIGlzIGEgZGVyaXZlZCBmcm9tIGFub3RoZXIgY2xhc3Mgb3IgaXMgdGhlIHNhbWUgY2xhc3MuCisKK0EgdHVwbGUsIGFzIGluIGBgaXNzdWJjbGFzcyh4LCAoQSwgQiwgLi4uKSlgYCwgbWF5IGJlIGdpdmVuIGFzIHRoZSB0YXJnZXQgdG8KK2NoZWNrIGFnYWluc3QuIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYGlzc3ViY2xhc3MoeCwgQSkgb3IgaXNzdWJjbGFzcyh4LCBCKQorb3IgLi4uYGAgZXRjLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIoYnVpbHRpbl9pc3N1YmNsYXNzX19kb2NfXywKKyJpc3N1YmNsYXNzKCRtb2R1bGUsIGNscywgY2xhc3Nfb3JfdHVwbGUsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gd2hldGhlciBcJ2Nsc1wnIGlzIGEgZGVyaXZlZCBmcm9tIGFub3RoZXIgY2xhc3Mgb3IgaXMgdGhlIHNhbWUgY2xhc3MuXG4iCisiXG4iCisiQSB0dXBsZSwgYXMgaW4gYGBpc3N1YmNsYXNzKHgsIChBLCBCLCAuLi4pKWBgLCBtYXkgYmUgZ2l2ZW4gYXMgdGhlIHRhcmdldCB0b1xuIgorImNoZWNrIGFnYWluc3QuIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYGlzc3ViY2xhc3MoeCwgQSkgb3IgaXNzdWJjbGFzcyh4LCBCKVxuIgorIm9yIC4uLmBgIGV0Yy4iKTsKKworI2RlZmluZSBCVUlMVElOX0lTU1VCQ0xBU1NfTUVUSE9EREVGICAgIFwKKyAgICB7Imlzc3ViY2xhc3MiLCAoUHlDRnVuY3Rpb24pYnVpbHRpbl9pc3N1YmNsYXNzLCBNRVRIX1ZBUkFSR1MsIGJ1aWx0aW5faXNzdWJjbGFzc19fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotYnVpbHRpbl9pc3N1YmNsYXNzKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK2J1aWx0aW5faXNzdWJjbGFzc19pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpjbHMsIFB5T2JqZWN0ICpjbGFzc19vcl90dXBsZSk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitidWlsdGluX2lzc3ViY2xhc3MoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCiB7Ci0gICAgUHlPYmplY3QgKmRlcml2ZWQ7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CiAgICAgUHlPYmplY3QgKmNsczsKKyAgICBQeU9iamVjdCAqY2xhc3Nfb3JfdHVwbGU7CisKKyAgICBpZiAoIVB5QXJnX1VucGFja1R1cGxlKGFyZ3MsICJpc3N1YmNsYXNzIiwKKyAgICAgICAgMiwgMiwKKyAgICAgICAgJmNscywgJmNsYXNzX29yX3R1cGxlKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IGJ1aWx0aW5faXNzdWJjbGFzc19pbXBsKG1vZHVsZSwgY2xzLCBjbGFzc19vcl90dXBsZSk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK2J1aWx0aW5faXNzdWJjbGFzc19pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpjbHMsIFB5T2JqZWN0ICpjbGFzc19vcl90dXBsZSkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1hMGY4YzAzNjkyZTM1NDc0IGlucHV0PTkyM2QwM2ZhNDFmYzM1MmFdKi8KK3sKICAgICBpbnQgcmV0dmFsOwogCi0gICAgaWYgKCFQeUFyZ19VbnBhY2tUdXBsZShhcmdzLCAiaXNzdWJjbGFzcyIsIDIsIDIsICZkZXJpdmVkLCAmY2xzKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0KLSAgICByZXR2YWwgPSBQeU9iamVjdF9Jc1N1YmNsYXNzKGRlcml2ZWQsIGNscyk7CisgICAgcmV0dmFsID0gUHlPYmplY3RfSXNTdWJjbGFzcyhjbHMsIGNsYXNzX29yX3R1cGxlKTsKICAgICBpZiAocmV0dmFsIDwgMCkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgcmV0dXJuIFB5Qm9vbF9Gcm9tTG9uZyhyZXR2YWwpOwogfQogCi1QeURvY19TVFJWQVIoaXNzdWJjbGFzc19kb2MsCi0iaXNzdWJjbGFzcyhDLCBCKSAtPiBib29sXG5cCi1cblwKLVJldHVybiB3aGV0aGVyIGNsYXNzIEMgaXMgYSBzdWJjbGFzcyAoaS5lLiwgYSBkZXJpdmVkIGNsYXNzKSBvZiBjbGFzcyBCLlxuXAotV2hlbiB1c2luZyBhIHR1cGxlIGFzIHRoZSBzZWNvbmQgYXJndW1lbnQgaXNzdWJjbGFzcyhYLCAoQSwgQiwgLi4uKSksXG5cCi1pcyBhIHNob3J0Y3V0IGZvciBpc3N1YmNsYXNzKFgsIEEpIG9yIGlzc3ViY2xhc3MoWCwgQikgb3IgLi4uIChldGMuKS4iKTsKLQogCiB0eXBlZGVmIHN0cnVjdCB7CiAgICAgUHlPYmplY3RfSEVBRApAQCAtMjM5OCw0NCArMzIxMyw0NCBAQAogICAgIHsiX19idWlsZF9jbGFzc19fIiwgKFB5Q0Z1bmN0aW9uKWJ1aWx0aW5fX19idWlsZF9jbGFzc19fLAogICAgICBNRVRIX1ZBUkFSR1MgfCBNRVRIX0tFWVdPUkRTLCBidWlsZF9jbGFzc19kb2N9LAogICAgIHsiX19pbXBvcnRfXyIsICAgICAgKFB5Q0Z1bmN0aW9uKWJ1aWx0aW5fX19pbXBvcnRfXywgTUVUSF9WQVJBUkdTIHwgTUVUSF9LRVlXT1JEUywgaW1wb3J0X2RvY30sCi0gICAgeyJhYnMiLCAgICAgICAgICAgICBidWlsdGluX2FicywgICAgICAgIE1FVEhfTywgYWJzX2RvY30sCi0gICAgeyJhbGwiLCAgICAgICAgICAgICBidWlsdGluX2FsbCwgICAgICAgIE1FVEhfTywgYWxsX2RvY30sCi0gICAgeyJhbnkiLCAgICAgICAgICAgICBidWlsdGluX2FueSwgICAgICAgIE1FVEhfTywgYW55X2RvY30sCi0gICAgeyJhc2NpaSIsICAgICAgICAgICBidWlsdGluX2FzY2lpLCAgICAgIE1FVEhfTywgYXNjaWlfZG9jfSwKLSAgICB7ImJpbiIsICAgICAgICAgICAgIGJ1aWx0aW5fYmluLCAgICAgICAgTUVUSF9PLCBiaW5fZG9jfSwKLSAgICB7ImNhbGxhYmxlIiwgICAgICAgIGJ1aWx0aW5fY2FsbGFibGUsICAgTUVUSF9PLCBjYWxsYWJsZV9kb2N9LAotICAgIHsiY2hyIiwgICAgICAgICAgICAgYnVpbHRpbl9jaHIsICAgICAgICBNRVRIX1ZBUkFSR1MsIGNocl9kb2N9LAotICAgIHsiY29tcGlsZSIsICAgICAgICAgKFB5Q0Z1bmN0aW9uKWJ1aWx0aW5fY29tcGlsZSwgICAgTUVUSF9WQVJBUkdTIHwgTUVUSF9LRVlXT1JEUywgY29tcGlsZV9kb2N9LAotICAgIHsiZGVsYXR0ciIsICAgICAgICAgYnVpbHRpbl9kZWxhdHRyLCAgICBNRVRIX1ZBUkFSR1MsIGRlbGF0dHJfZG9jfSwKKyAgICBCVUlMVElOX0FCU19NRVRIT0RERUYKKyAgICBCVUlMVElOX0FMTF9NRVRIT0RERUYKKyAgICBCVUlMVElOX0FOWV9NRVRIT0RERUYKKyAgICBCVUlMVElOX0FTQ0lJX01FVEhPRERFRgorICAgIEJVSUxUSU5fQklOX01FVEhPRERFRgorICAgIEJVSUxUSU5fQ0FMTEFCTEVfTUVUSE9EREVGCisgICAgQlVJTFRJTl9DSFJfTUVUSE9EREVGCisgICAgQlVJTFRJTl9DT01QSUxFX01FVEhPRERFRgorICAgIEJVSUxUSU5fREVMQVRUUl9NRVRIT0RERUYKICAgICB7ImRpciIsICAgICAgICAgICAgIGJ1aWx0aW5fZGlyLCAgICAgICAgTUVUSF9WQVJBUkdTLCBkaXJfZG9jfSwKLSAgICB7ImRpdm1vZCIsICAgICAgICAgIGJ1aWx0aW5fZGl2bW9kLCAgICAgTUVUSF9WQVJBUkdTLCBkaXZtb2RfZG9jfSwKLSAgICB7ImV2YWwiLCAgICAgICAgICAgIGJ1aWx0aW5fZXZhbCwgICAgICAgTUVUSF9WQVJBUkdTLCBldmFsX2RvY30sCi0gICAgeyJleGVjIiwgICAgICAgIGJ1aWx0aW5fZXhlYywgICAgICAgTUVUSF9WQVJBUkdTLCBleGVjX2RvY30sCi0gICAgeyJmb3JtYXQiLCAgICAgICAgICBidWlsdGluX2Zvcm1hdCwgICAgIE1FVEhfVkFSQVJHUywgZm9ybWF0X2RvY30sCisgICAgQlVJTFRJTl9ESVZNT0RfTUVUSE9EREVGCisgICAgQlVJTFRJTl9FVkFMX01FVEhPRERFRgorICAgIEJVSUxUSU5fRVhFQ19NRVRIT0RERUYKKyAgICBCVUlMVElOX0ZPUk1BVF9NRVRIT0RERUYKICAgICB7ImdldGF0dHIiLCAgICAgICAgIGJ1aWx0aW5fZ2V0YXR0ciwgICAgTUVUSF9WQVJBUkdTLCBnZXRhdHRyX2RvY30sCi0gICAgeyJnbG9iYWxzIiwgICAgICAgICAoUHlDRnVuY3Rpb24pYnVpbHRpbl9nbG9iYWxzLCAgICBNRVRIX05PQVJHUywgZ2xvYmFsc19kb2N9LAotICAgIHsiaGFzYXR0ciIsICAgICAgICAgYnVpbHRpbl9oYXNhdHRyLCAgICBNRVRIX1ZBUkFSR1MsIGhhc2F0dHJfZG9jfSwKLSAgICB7Imhhc2giLCAgICAgICAgICAgIGJ1aWx0aW5faGFzaCwgICAgICAgTUVUSF9PLCBoYXNoX2RvY30sCi0gICAgeyJoZXgiLCAgICAgICAgICAgICBidWlsdGluX2hleCwgICAgICAgIE1FVEhfTywgaGV4X2RvY30sCi0gICAgeyJpZCIsICAgICAgICAgICAgICBidWlsdGluX2lkLCAgICAgICAgIE1FVEhfTywgaWRfZG9jfSwKLSAgICB7ImlucHV0IiwgICAgICAgICAgIGJ1aWx0aW5faW5wdXQsICAgICAgTUVUSF9WQVJBUkdTLCBpbnB1dF9kb2N9LAotICAgIHsiaXNpbnN0YW5jZSIsICBidWlsdGluX2lzaW5zdGFuY2UsIE1FVEhfVkFSQVJHUywgaXNpbnN0YW5jZV9kb2N9LAotICAgIHsiaXNzdWJjbGFzcyIsICBidWlsdGluX2lzc3ViY2xhc3MsIE1FVEhfVkFSQVJHUywgaXNzdWJjbGFzc19kb2N9LAorICAgIEJVSUxUSU5fR0xPQkFMU19NRVRIT0RERUYKKyAgICBCVUlMVElOX0hBU0FUVFJfTUVUSE9EREVGCisgICAgQlVJTFRJTl9IQVNIX01FVEhPRERFRgorICAgIEJVSUxUSU5fSEVYX01FVEhPRERFRgorICAgIEJVSUxUSU5fSURfTUVUSE9EREVGCisgICAgQlVJTFRJTl9JTlBVVF9NRVRIT0RERUYKKyAgICBCVUlMVElOX0lTSU5TVEFOQ0VfTUVUSE9EREVGCisgICAgQlVJTFRJTl9JU1NVQkNMQVNTX01FVEhPRERFRgogICAgIHsiaXRlciIsICAgICAgICAgICAgYnVpbHRpbl9pdGVyLCAgICAgICBNRVRIX1ZBUkFSR1MsIGl0ZXJfZG9jfSwKLSAgICB7ImxlbiIsICAgICAgICAgICAgIGJ1aWx0aW5fbGVuLCAgICAgICAgTUVUSF9PLCBsZW5fZG9jfSwKLSAgICB7ImxvY2FscyIsICAgICAgICAgIChQeUNGdW5jdGlvbilidWlsdGluX2xvY2FscywgICAgIE1FVEhfTk9BUkdTLCBsb2NhbHNfZG9jfSwKKyAgICBCVUlMVElOX0xFTl9NRVRIT0RERUYKKyAgICBCVUlMVElOX0xPQ0FMU19NRVRIT0RERUYKICAgICB7Im1heCIsICAgICAgICAgICAgIChQeUNGdW5jdGlvbilidWlsdGluX21heCwgICAgICAgIE1FVEhfVkFSQVJHUyB8IE1FVEhfS0VZV09SRFMsIG1heF9kb2N9LAogICAgIHsibWluIiwgICAgICAgICAgICAgKFB5Q0Z1bmN0aW9uKWJ1aWx0aW5fbWluLCAgICAgICAgTUVUSF9WQVJBUkdTIHwgTUVUSF9LRVlXT1JEUywgbWluX2RvY30sCiAgICAgeyJuZXh0IiwgICAgICAgICAgICAoUHlDRnVuY3Rpb24pYnVpbHRpbl9uZXh0LCAgICAgICBNRVRIX1ZBUkFSR1MsIG5leHRfZG9jfSwKLSAgICB7Im9jdCIsICAgICAgICAgICAgIGJ1aWx0aW5fb2N0LCAgICAgICAgTUVUSF9PLCBvY3RfZG9jfSwKLSAgICB7Im9yZCIsICAgICAgICAgICAgIGJ1aWx0aW5fb3JkLCAgICAgICAgTUVUSF9PLCBvcmRfZG9jfSwKLSAgICB7InBvdyIsICAgICAgICAgICAgIGJ1aWx0aW5fcG93LCAgICAgICAgTUVUSF9WQVJBUkdTLCBwb3dfZG9jfSwKKyAgICBCVUlMVElOX09DVF9NRVRIT0RERUYKKyAgICBCVUlMVElOX09SRF9NRVRIT0RERUYKKyAgICBCVUlMVElOX1BPV19NRVRIT0RERUYKICAgICB7InByaW50IiwgICAgICAgICAgIChQeUNGdW5jdGlvbilidWlsdGluX3ByaW50LCAgICAgIE1FVEhfVkFSQVJHUyB8IE1FVEhfS0VZV09SRFMsIHByaW50X2RvY30sCi0gICAgeyJyZXByIiwgICAgICAgICAgICBidWlsdGluX3JlcHIsICAgICAgIE1FVEhfTywgcmVwcl9kb2N9LAorICAgIEJVSUxUSU5fUkVQUl9NRVRIT0RERUYKICAgICB7InJvdW5kIiwgICAgICAgICAgIChQeUNGdW5jdGlvbilidWlsdGluX3JvdW5kLCAgICAgIE1FVEhfVkFSQVJHUyB8IE1FVEhfS0VZV09SRFMsIHJvdW5kX2RvY30sCi0gICAgeyJzZXRhdHRyIiwgICAgICAgICBidWlsdGluX3NldGF0dHIsICAgIE1FVEhfVkFSQVJHUywgc2V0YXR0cl9kb2N9LAotICAgIHsic29ydGVkIiwgICAgICAgICAgKFB5Q0Z1bmN0aW9uKWJ1aWx0aW5fc29ydGVkLCAgICAgTUVUSF9WQVJBUkdTIHwgTUVUSF9LRVlXT1JEUywgc29ydGVkX2RvY30sCi0gICAgeyJzdW0iLCAgICAgICAgICAgICBidWlsdGluX3N1bSwgICAgICAgIE1FVEhfVkFSQVJHUywgc3VtX2RvY30sCisgICAgQlVJTFRJTl9TRVRBVFRSX01FVEhPRERFRgorICAgIEJVSUxUSU5fU09SVEVEX01FVEhPRERFRgorICAgIEJVSUxUSU5fU1VNX01FVEhPRERFRgogICAgIHsidmFycyIsICAgICAgICAgICAgYnVpbHRpbl92YXJzLCAgICAgICBNRVRIX1ZBUkFSR1MsIHZhcnNfZG9jfSwKICAgICB7TlVMTCwgICAgICAgICAgICAgIE5VTEx9LAogfTsKZGlmZiAtLWdpdCBhL1B5dGhvbi9jZXZhbC5jIGIvUHl0aG9uL2NldmFsLmMKaW5kZXggNzY1NmI4ZS4uMWM2MDg5ZCAxMDA2NDQKLS0tIGEvUHl0aG9uL2NldmFsLmMKKysrIGIvUHl0aG9uL2NldmFsLmMKQEAgLTE1MDQsNiArMTUwNCwxOCBAQAogICAgICAgICAgICAgRElTUEFUQ0goKTsKICAgICAgICAgfQogCisgICAgICAgIFRBUkdFVChCSU5BUllfTUFUUklYX01VTFRJUExZKSB7CisgICAgICAgICAgICBQeU9iamVjdCAqcmlnaHQgPSBQT1AoKTsKKyAgICAgICAgICAgIFB5T2JqZWN0ICpsZWZ0ID0gVE9QKCk7CisgICAgICAgICAgICBQeU9iamVjdCAqcmVzID0gUHlOdW1iZXJfTWF0cml4TXVsdGlwbHkobGVmdCwgcmlnaHQpOworICAgICAgICAgICAgUHlfREVDUkVGKGxlZnQpOworICAgICAgICAgICAgUHlfREVDUkVGKHJpZ2h0KTsKKyAgICAgICAgICAgIFNFVF9UT1AocmVzKTsKKyAgICAgICAgICAgIGlmIChyZXMgPT0gTlVMTCkKKyAgICAgICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICAgICAgRElTUEFUQ0goKTsKKyAgICAgICAgfQorCiAgICAgICAgIFRBUkdFVChCSU5BUllfVFJVRV9ESVZJREUpIHsKICAgICAgICAgICAgIFB5T2JqZWN0ICpkaXZpc29yID0gUE9QKCk7CiAgICAgICAgICAgICBQeU9iamVjdCAqZGl2aWRlbmQgPSBUT1AoKTsKQEAgLTE2OTQsNiArMTcwNiwxOCBAQAogICAgICAgICAgICAgRElTUEFUQ0goKTsKICAgICAgICAgfQogCisgICAgICAgIFRBUkdFVChJTlBMQUNFX01BVFJJWF9NVUxUSVBMWSkgeworICAgICAgICAgICAgUHlPYmplY3QgKnJpZ2h0ID0gUE9QKCk7CisgICAgICAgICAgICBQeU9iamVjdCAqbGVmdCA9IFRPUCgpOworICAgICAgICAgICAgUHlPYmplY3QgKnJlcyA9IFB5TnVtYmVyX0luUGxhY2VNYXRyaXhNdWx0aXBseShsZWZ0LCByaWdodCk7CisgICAgICAgICAgICBQeV9ERUNSRUYobGVmdCk7CisgICAgICAgICAgICBQeV9ERUNSRUYocmlnaHQpOworICAgICAgICAgICAgU0VUX1RPUChyZXMpOworICAgICAgICAgICAgaWYgKHJlcyA9PSBOVUxMKQorICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgICAgICBESVNQQVRDSCgpOworICAgICAgICB9CisKICAgICAgICAgVEFSR0VUKElOUExBQ0VfVFJVRV9ESVZJREUpIHsKICAgICAgICAgICAgIFB5T2JqZWN0ICpkaXZpc29yID0gUE9QKCk7CiAgICAgICAgICAgICBQeU9iamVjdCAqZGl2aWRlbmQgPSBUT1AoKTsKQEAgLTMxNjgsOCArMzE5Miw3IEBACiAgICAgaWYgKHdoeSAhPSBXSFlfUkVUVVJOKQogICAgICAgICByZXR2YWwgPSBOVUxMOwogCi0gICAgYXNzZXJ0KChyZXR2YWwgIT0gTlVMTCAmJiAhUHlFcnJfT2NjdXJyZWQoKSkKLSAgICAgICAgICAgIHx8IChyZXR2YWwgPT0gTlVMTCAmJiBQeUVycl9PY2N1cnJlZCgpKSk7CisgICAgYXNzZXJ0KChyZXR2YWwgIT0gTlVMTCkgXiAoUHlFcnJfT2NjdXJyZWQoKSAhPSBOVUxMKSk7CiAKIGZhc3RfeWllbGQ6CiAgICAgaWYgKGNvLT5jb19mbGFncyAmIENPX0dFTkVSQVRPUikgewpAQCAtMzIzMCw3ICszMjUzLDcgQEAKICAgICBmLT5mX2V4ZWN1dGluZyA9IDA7CiAgICAgdHN0YXRlLT5mcmFtZSA9IGYtPmZfYmFjazsKIAotICAgIHJldHVybiByZXR2YWw7CisgICAgcmV0dXJuIF9QeV9DaGVja0Z1bmN0aW9uUmVzdWx0KHJldHZhbCwgIlB5RXZhbF9FdmFsRnJhbWVFeCIpOwogfQogCiBzdGF0aWMgdm9pZApAQCAtMzM4NywxMCArMzQxMCwxMSBAQAogICAgUHlFdmFsX0V2YWxGcmFtZSgpIGFuZCBQeUV2YWxfRXZhbENvZGVFeCgpIHlvdSB3aWxsIG5lZWQgdG8gYWRqdXN0CiAgICB0aGUgdGVzdCBpbiB0aGUgaWYgc3RhdGVtZW50cyBpbiBNaXNjL2dkYmluaXQgKHB5c3RhY2sgYW5kIHB5c3RhY2t2KS4gKi8KIAotUHlPYmplY3QgKgotUHlFdmFsX0V2YWxDb2RlRXgoUHlPYmplY3QgKl9jbywgUHlPYmplY3QgKmdsb2JhbHMsIFB5T2JqZWN0ICpsb2NhbHMsCitzdGF0aWMgUHlPYmplY3QgKgorX1B5RXZhbF9FdmFsQ29kZVdpdGhOYW1lKFB5T2JqZWN0ICpfY28sIFB5T2JqZWN0ICpnbG9iYWxzLCBQeU9iamVjdCAqbG9jYWxzLAogICAgICAgICAgICBQeU9iamVjdCAqKmFyZ3MsIGludCBhcmdjb3VudCwgUHlPYmplY3QgKiprd3MsIGludCBrd2NvdW50LAotICAgICAgICAgICBQeU9iamVjdCAqKmRlZnMsIGludCBkZWZjb3VudCwgUHlPYmplY3QgKmt3ZGVmcywgUHlPYmplY3QgKmNsb3N1cmUpCisgICAgICAgICAgIFB5T2JqZWN0ICoqZGVmcywgaW50IGRlZmNvdW50LCBQeU9iamVjdCAqa3dkZWZzLCBQeU9iamVjdCAqY2xvc3VyZSwKKyAgICAgICAgICAgUHlPYmplY3QgKm5hbWUsIFB5T2JqZWN0ICpxdWFsbmFtZSkKIHsKICAgICBQeUNvZGVPYmplY3QqIGNvID0gKFB5Q29kZU9iamVjdCopX2NvOwogICAgIFB5RnJhbWVPYmplY3QgKmY7CkBAIC0zNTgyLDcgKzM2MDYsNyBAQAogCiAgICAgICAgIC8qIENyZWF0ZSBhIG5ldyBnZW5lcmF0b3IgdGhhdCBvd25zIHRoZSByZWFkeSB0byBydW4gZnJhbWUKICAgICAgICAgICogYW5kIHJldHVybiB0aGF0IGFzIHRoZSB2YWx1ZS4gKi8KLSAgICAgICAgcmV0dXJuIFB5R2VuX05ldyhmKTsKKyAgICAgICAgcmV0dXJuIFB5R2VuX05ld1dpdGhRdWFsTmFtZShmLCBuYW1lLCBxdWFsbmFtZSk7CiAgICAgfQogCiAgICAgcmV0dmFsID0gUHlFdmFsX0V2YWxGcmFtZUV4KGYsMCk7CkBAIC0zNjAxLDYgKzM2MjUsMTYgQEAKICAgICByZXR1cm4gcmV0dmFsOwogfQogCitQeU9iamVjdCAqCitQeUV2YWxfRXZhbENvZGVFeChQeU9iamVjdCAqX2NvLCBQeU9iamVjdCAqZ2xvYmFscywgUHlPYmplY3QgKmxvY2FscywKKyAgICAgICAgICAgUHlPYmplY3QgKiphcmdzLCBpbnQgYXJnY291bnQsIFB5T2JqZWN0ICoqa3dzLCBpbnQga3djb3VudCwKKyAgICAgICAgICAgUHlPYmplY3QgKipkZWZzLCBpbnQgZGVmY291bnQsIFB5T2JqZWN0ICprd2RlZnMsIFB5T2JqZWN0ICpjbG9zdXJlKQoreworICAgIHJldHVybiBfUHlFdmFsX0V2YWxDb2RlV2l0aE5hbWUoX2NvLCBnbG9iYWxzLCBsb2NhbHMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmdzLCBhcmdjb3VudCwga3dzLCBrd2NvdW50LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmcywgZGVmY291bnQsIGt3ZGVmcywgY2xvc3VyZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsIE5VTEwpOworfQogCiBzdGF0aWMgUHlPYmplY3QgKgogc3BlY2lhbF9sb29rdXAoUHlPYmplY3QgKm8sIF9QeV9JZGVudGlmaWVyICppZCkKQEAgLTQwODQsMTMgKzQxMTgsNiBAQAogewogICAgIFB5T2JqZWN0ICpyZXN1bHQ7CiAKLSNpZmRlZiBQeV9ERUJVRwotICAgIC8qIFB5RXZhbF9DYWxsT2JqZWN0V2l0aEtleXdvcmRzKCkgbXVzdCBub3QgYmUgY2FsbGVkIHdpdGggYW4gZXhjZXB0aW9uCi0gICAgICAgc2V0LCBiZWNhdXNlIGl0IG1heSBjbGVhciBpdCAoZGlyZWN0bHkgb3IgaW5kaXJlY3RseSkKLSAgICAgICBhbmQgc28gdGhlIGNhbGxlciBsb29zZXMgaXRzIGV4Y2VwdGlvbiAqLwotICAgIGFzc2VydCghUHlFcnJfT2NjdXJyZWQoKSk7Ci0jZW5kaWYKLQogICAgIGlmIChhcmcgPT0gTlVMTCkgewogICAgICAgICBhcmcgPSBQeVR1cGxlX05ldygwKTsKICAgICAgICAgaWYgKGFyZyA9PSBOVUxMKQpAQCAtNDExNCw4ICs0MTQxLDYgQEAKICAgICByZXN1bHQgPSBQeU9iamVjdF9DYWxsKGZ1bmMsIGFyZywga3cpOwogICAgIFB5X0RFQ1JFRihhcmcpOwogCi0gICAgYXNzZXJ0KChyZXN1bHQgIT0gTlVMTCAmJiAhUHlFcnJfT2NjdXJyZWQoKSkKLSAgICAgICAgICAgfHwgKHJlc3VsdCA9PSBOVUxMICYmIFB5RXJyX09jY3VycmVkKCkpKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogCkBAIC00MjE4LDExICs0MjQzLDE1IEBACiAgICAgICAgICAgICBQeU9iamVjdCAqc2VsZiA9IFB5Q0Z1bmN0aW9uX0dFVF9TRUxGKGZ1bmMpOwogICAgICAgICAgICAgaWYgKGZsYWdzICYgTUVUSF9OT0FSR1MgJiYgbmEgPT0gMCkgewogICAgICAgICAgICAgICAgIENfVFJBQ0UoeCwgKCptZXRoKShzZWxmLE5VTEwpKTsKKworICAgICAgICAgICAgICAgIHggPSBfUHlfQ2hlY2tGdW5jdGlvblJlc3VsdCh4LCAiY2FsbF9mdW5jdGlvbiIpOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgZWxzZSBpZiAoZmxhZ3MgJiBNRVRIX08gJiYgbmEgPT0gMSkgewogICAgICAgICAgICAgICAgIFB5T2JqZWN0ICphcmcgPSBFWFRfUE9QKCpwcF9zdGFjayk7CiAgICAgICAgICAgICAgICAgQ19UUkFDRSh4LCAoKm1ldGgpKHNlbGYsYXJnKSk7CiAgICAgICAgICAgICAgICAgUHlfREVDUkVGKGFyZyk7CisKKyAgICAgICAgICAgICAgICB4ID0gX1B5X0NoZWNrRnVuY3Rpb25SZXN1bHQoeCwgImNhbGxfZnVuY3Rpb24iKTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgIGVycl9hcmdzKGZ1bmMsIGZsYWdzLCBuYSk7CkBAIC00MjQyLDcgKzQyNzEsOCBAQAogICAgICAgICAgICAgICAgIHggPSBOVUxMOwogICAgICAgICAgICAgfQogICAgICAgICB9Ci0gICAgfSBlbHNlIHsKKyAgICB9CisgICAgZWxzZSB7CiAgICAgICAgIGlmIChQeU1ldGhvZF9DaGVjayhmdW5jKSAmJiBQeU1ldGhvZF9HRVRfU0VMRihmdW5jKSAhPSBOVUxMKSB7CiAgICAgICAgICAgICAvKiBvcHRpbWl6ZSBhY2Nlc3MgdG8gYm91bmQgbWV0aG9kcyAqLwogICAgICAgICAgICAgUHlPYmplY3QgKnNlbGYgPSBQeU1ldGhvZF9HRVRfU0VMRihmdW5jKTsKQEAgLTQyNjQsOSArNDI5NCw5IEBACiAgICAgICAgICAgICB4ID0gZG9fY2FsbChmdW5jLCBwcF9zdGFjaywgbmEsIG5rKTsKICAgICAgICAgUkVBRF9USU1FU1RBTVAoKnBpbnRyMSk7CiAgICAgICAgIFB5X0RFQ1JFRihmdW5jKTsKKworICAgICAgICBhc3NlcnQoKHggIT0gTlVMTCkgXiAoUHlFcnJfT2NjdXJyZWQoKSAhPSBOVUxMKSk7CiAgICAgfQotICAgIGFzc2VydCgoeCAhPSBOVUxMICYmICFQeUVycl9PY2N1cnJlZCgpKQotICAgICAgICAgICB8fCAoeCA9PSBOVUxMICYmIFB5RXJyX09jY3VycmVkKCkpKTsKIAogICAgIC8qIENsZWFyIHRoZSBzdGFjayBvZiB0aGUgZnVuY3Rpb24gb2JqZWN0LiAgQWxzbyByZW1vdmVzCiAgICAgICAgdGhlIGFyZ3VtZW50cyBpbiBjYXNlIHRoZXkgd2VyZW4ndCBjb25zdW1lZCBhbHJlYWR5CkBAIC00Mjc4LDggKzQzMDgsNyBAQAogICAgICAgICBQQ0FMTChQQ0FMTF9QT1ApOwogICAgIH0KIAotICAgIGFzc2VydCgoeCAhPSBOVUxMICYmICFQeUVycl9PY2N1cnJlZCgpKQotICAgICAgICAgICB8fCAoeCA9PSBOVUxMICYmIFB5RXJyX09jY3VycmVkKCkpKTsKKyAgICBhc3NlcnQoKHggIT0gTlVMTCkgXiAoUHlFcnJfT2NjdXJyZWQoKSAhPSBOVUxMKSk7CiAgICAgcmV0dXJuIHg7CiB9CiAKQEAgLTQyOTksNiArNDMyOCw4IEBACiAgICAgUHlPYmplY3QgKmdsb2JhbHMgPSBQeUZ1bmN0aW9uX0dFVF9HTE9CQUxTKGZ1bmMpOwogICAgIFB5T2JqZWN0ICphcmdkZWZzID0gUHlGdW5jdGlvbl9HRVRfREVGQVVMVFMoZnVuYyk7CiAgICAgUHlPYmplY3QgKmt3ZGVmcyA9IFB5RnVuY3Rpb25fR0VUX0tXX0RFRkFVTFRTKGZ1bmMpOworICAgIFB5T2JqZWN0ICpuYW1lID0gKChQeUZ1bmN0aW9uT2JqZWN0ICopZnVuYykgLT4gZnVuY19uYW1lOworICAgIFB5T2JqZWN0ICpxdWFsbmFtZSA9ICgoUHlGdW5jdGlvbk9iamVjdCAqKWZ1bmMpIC0+IGZ1bmNfcXVhbG5hbWU7CiAgICAgUHlPYmplY3QgKipkID0gTlVMTDsKICAgICBpbnQgbmQgPSAwOwogCkBAIC00MzQxLDEwICs0MzcyLDExIEBACiAgICAgICAgIGQgPSAmUHlUdXBsZV9HRVRfSVRFTShhcmdkZWZzLCAwKTsKICAgICAgICAgbmQgPSBQeV9TSVpFKGFyZ2RlZnMpOwogICAgIH0KLSAgICByZXR1cm4gUHlFdmFsX0V2YWxDb2RlRXgoKFB5T2JqZWN0KiljbywgZ2xvYmFscywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKFB5T2JqZWN0ICopTlVMTCwgKCpwcF9zdGFjayktbiwgbmEsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICgqcHBfc3RhY2spLTIqbmssIG5rLCBkLCBuZCwga3dkZWZzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeUZ1bmN0aW9uX0dFVF9DTE9TVVJFKGZ1bmMpKTsKKyAgICByZXR1cm4gX1B5RXZhbF9FdmFsQ29kZVdpdGhOYW1lKChQeU9iamVjdCopY28sIGdsb2JhbHMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoUHlPYmplY3QgKilOVUxMLCAoKnBwX3N0YWNrKS1uLCBuYSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgqcHBfc3RhY2spLTIqbmssIG5rLCBkLCBuZCwga3dkZWZzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlGdW5jdGlvbl9HRVRfQ0xPU1VSRShmdW5jKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWUsIHF1YWxuYW1lKTsKIH0KIAogc3RhdGljIFB5T2JqZWN0ICoKQEAgLTQ1NjMsMTIgKzQ1OTUsMTAgQEAKICAgICBQeV9YREVDUkVGKGNhbGxhcmdzKTsKICAgICBQeV9YREVDUkVGKGt3ZGljdCk7CiAgICAgUHlfWERFQ1JFRihzdGFyYXJnKTsKLSAgICBhc3NlcnQoKHJlc3VsdCAhPSBOVUxMICYmICFQeUVycl9PY2N1cnJlZCgpKQotICAgICAgICAgICB8fCAocmVzdWx0ID09IE5VTEwgJiYgUHlFcnJfT2NjdXJyZWQoKSkpOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLS8qIEV4dHJhY3QgYSBzbGljZSBpbmRleCBmcm9tIGEgUHlJbnQgb3IgUHlMb25nIG9yIGFuIG9iamVjdCB3aXRoIHRoZQorLyogRXh0cmFjdCBhIHNsaWNlIGluZGV4IGZyb20gYSBQeUxvbmcgb3IgYW4gb2JqZWN0IHdpdGggdGhlCiAgICBuYl9pbmRleCBzbG90IGRlZmluZWQsIGFuZCBzdG9yZSBpbiAqcGkuCiAgICBTaWxlbnRseSByZWR1Y2UgdmFsdWVzIGxhcmdlciB0aGFuIFBZX1NTSVpFX1RfTUFYIHRvIFBZX1NTSVpFX1RfTUFYLAogICAgYW5kIHNpbGVudGx5IGJvb3N0IHZhbHVlcyBsZXNzIHRoYW4gLVBZX1NTSVpFX1RfTUFYLTEgdG8gLVBZX1NTSVpFX1RfTUFYLTEuCkBAIC00NjU4LDExICs0Njg4LDI5IEBACiBpbXBvcnRfZnJvbShQeU9iamVjdCAqdiwgUHlPYmplY3QgKm5hbWUpCiB7CiAgICAgUHlPYmplY3QgKng7CisgICAgX1B5X0lERU5USUZJRVIoX19uYW1lX18pOworICAgIFB5T2JqZWN0ICpmdWxsbW9kbmFtZSwgKnBrZ25hbWU7CiAKICAgICB4ID0gUHlPYmplY3RfR2V0QXR0cih2LCBuYW1lKTsKLSAgICBpZiAoeCA9PSBOVUxMICYmIFB5RXJyX0V4Y2VwdGlvbk1hdGNoZXMoUHlFeGNfQXR0cmlidXRlRXJyb3IpKSB7CisgICAgaWYgKHggIT0gTlVMTCB8fCAhUHlFcnJfRXhjZXB0aW9uTWF0Y2hlcyhQeUV4Y19BdHRyaWJ1dGVFcnJvcikpCisgICAgICAgIHJldHVybiB4OworICAgIC8qIElzc3VlICMxNzYzNjogaW4gY2FzZSB0aGlzIGZhaWxlZCBiZWNhdXNlIG9mIGEgY2lyY3VsYXIgcmVsYXRpdmUKKyAgICAgICBpbXBvcnQsIHRyeSB0byBmYWxsYmFjayBvbiByZWFkaW5nIHRoZSBtb2R1bGUgZGlyZWN0bHkgZnJvbQorICAgICAgIHN5cy5tb2R1bGVzLiAqLworICAgIFB5RXJyX0NsZWFyKCk7CisgICAgcGtnbmFtZSA9IF9QeU9iamVjdF9HZXRBdHRySWQodiwgJlB5SWRfX19uYW1lX18pOworICAgIGlmIChwa2duYW1lID09IE5VTEwpCisgICAgICAgIHJldHVybiBOVUxMOworICAgIGZ1bGxtb2RuYW1lID0gUHlVbmljb2RlX0Zyb21Gb3JtYXQoIiVVLiVVIiwgcGtnbmFtZSwgbmFtZSk7CisgICAgUHlfREVDUkVGKHBrZ25hbWUpOworICAgIGlmIChmdWxsbW9kbmFtZSA9PSBOVUxMKQorICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB4ID0gUHlEaWN0X0dldEl0ZW0oUHlJbXBvcnRfR2V0TW9kdWxlRGljdCgpLCBmdWxsbW9kbmFtZSk7CisgICAgaWYgKHggPT0gTlVMTCkKICAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX0ltcG9ydEVycm9yLCAiY2Fubm90IGltcG9ydCBuYW1lICVSIiwgbmFtZSk7Ci0gICAgfQorICAgIGVsc2UKKyAgICAgICAgUHlfSU5DUkVGKHgpOworICAgIFB5X0RFQ1JFRihmdWxsbW9kbmFtZSk7CiAgICAgcmV0dXJuIHg7CiB9CiAKZGlmZiAtLWdpdCBhL1B5dGhvbi9jZXZhbF9naWwuaCBiL1B5dGhvbi9jZXZhbF9naWwuaAppbmRleCAyNzAyZDVjLi40ZGI1NmI2IDEwMDY0NAotLS0gYS9QeXRob24vY2V2YWxfZ2lsLmgKKysrIGIvUHl0aG9uL2NldmFsX2dpbC5oCkBAIC0xOTEsNyArMTkxLDcgQEAKICAgICBpZiAoX1B5X2F0b21pY19sb2FkX3JlbGF4ZWQoJmdpbF9kcm9wX3JlcXVlc3QpICYmIHRzdGF0ZSAhPSBOVUxMKSB7CiAgICAgICAgIE1VVEVYX0xPQ0soc3dpdGNoX211dGV4KTsKICAgICAgICAgLyogTm90IHN3aXRjaGVkIHlldCA9PiB3YWl0ICovCi0gICAgICAgIGlmIChfUHlfYXRvbWljX2xvYWRfcmVsYXhlZCgmZ2lsX2xhc3RfaG9sZGVyKSA9PSB0c3RhdGUpIHsKKyAgICAgICAgaWYgKChQeVRocmVhZFN0YXRlKilfUHlfYXRvbWljX2xvYWRfcmVsYXhlZCgmZ2lsX2xhc3RfaG9sZGVyKSA9PSB0c3RhdGUpIHsKICAgICAgICAgUkVTRVRfR0lMX0RST1BfUkVRVUVTVCgpOwogICAgICAgICAgICAgLyogTk9URTogaWYgQ09ORF9XQUlUIGRvZXMgbm90IGF0b21pY2FsbHkgc3RhcnQgd2FpdGluZyB3aGVuCiAgICAgICAgICAgICAgICByZWxlYXNpbmcgdGhlIG11dGV4LCBhbm90aGVyIHRocmVhZCBjYW4gcnVuIHRocm91Z2gsIHRha2UKQEAgLTIzOSw3ICsyMzksNyBAQAogICAgIF9QeV9hdG9taWNfc3RvcmVfcmVsYXhlZCgmZ2lsX2xvY2tlZCwgMSk7CiAgICAgX1B5X0FOTk9UQVRFX1JXTE9DS19BQ1FVSVJFRCgmZ2lsX2xvY2tlZCwgLyppc193cml0ZT0qLzEpOwogCi0gICAgaWYgKHRzdGF0ZSAhPSBfUHlfYXRvbWljX2xvYWRfcmVsYXhlZCgmZ2lsX2xhc3RfaG9sZGVyKSkgeworICAgIGlmICh0c3RhdGUgIT0gKFB5VGhyZWFkU3RhdGUqKV9QeV9hdG9taWNfbG9hZF9yZWxheGVkKCZnaWxfbGFzdF9ob2xkZXIpKSB7CiAgICAgICAgIF9QeV9hdG9taWNfc3RvcmVfcmVsYXhlZCgmZ2lsX2xhc3RfaG9sZGVyLCB0c3RhdGUpOwogICAgICAgICArK2dpbF9zd2l0Y2hfbnVtYmVyOwogICAgIH0KZGlmZiAtLWdpdCBhL1B5dGhvbi9jbGluaWMvaW1wb3J0LmMuaCBiL1B5dGhvbi9jbGluaWMvaW1wb3J0LmMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NjE4NTc3Ci0tLSAvZGV2L251bGwKKysrIGIvUHl0aG9uL2NsaW5pYy9pbXBvcnQuYy5oCkBAIC0wLDAgKzEsMzIzIEBACisvKltjbGluaWMgaW5wdXRdCitwcmVzZXJ2ZQorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIoX2ltcF9sb2NrX2hlbGRfX2RvY19fLAorImxvY2tfaGVsZCgkbW9kdWxlLCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIFRydWUgaWYgdGhlIGltcG9ydCBsb2NrIGlzIGN1cnJlbnRseSBoZWxkLCBlbHNlIEZhbHNlLlxuIgorIlxuIgorIk9uIHBsYXRmb3JtcyB3aXRob3V0IHRocmVhZHMsIHJldHVybiBGYWxzZS4iKTsKKworI2RlZmluZSBfSU1QX0xPQ0tfSEVMRF9NRVRIT0RERUYgICAgXAorICAgIHsibG9ja19oZWxkIiwgKFB5Q0Z1bmN0aW9uKV9pbXBfbG9ja19oZWxkLCBNRVRIX05PQVJHUywgX2ltcF9sb2NrX2hlbGRfX2RvY19ffSwKKworc3RhdGljIFB5T2JqZWN0ICoKK19pbXBfbG9ja19oZWxkX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitfaW1wX2xvY2tfaGVsZChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqUHlfVU5VU0VEKGlnbm9yZWQpKQoreworICAgIHJldHVybiBfaW1wX2xvY2tfaGVsZF9pbXBsKG1vZHVsZSk7Cit9CisKK1B5RG9jX1NUUlZBUihfaW1wX2FjcXVpcmVfbG9ja19fZG9jX18sCisiYWNxdWlyZV9sb2NrKCRtb2R1bGUsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJBY3F1aXJlcyB0aGUgaW50ZXJwcmV0ZXJcJ3MgaW1wb3J0IGxvY2sgZm9yIHRoZSBjdXJyZW50IHRocmVhZC5cbiIKKyJcbiIKKyJUaGlzIGxvY2sgc2hvdWxkIGJlIHVzZWQgYnkgaW1wb3J0IGhvb2tzIHRvIGVuc3VyZSB0aHJlYWQtc2FmZXR5IHdoZW4gaW1wb3J0aW5nXG4iCisibW9kdWxlcy4gT24gcGxhdGZvcm1zIHdpdGhvdXQgdGhyZWFkcywgdGhpcyBmdW5jdGlvbiBkb2VzIG5vdGhpbmcuIik7CisKKyNkZWZpbmUgX0lNUF9BQ1FVSVJFX0xPQ0tfTUVUSE9EREVGICAgIFwKKyAgICB7ImFjcXVpcmVfbG9jayIsIChQeUNGdW5jdGlvbilfaW1wX2FjcXVpcmVfbG9jaywgTUVUSF9OT0FSR1MsIF9pbXBfYWNxdWlyZV9sb2NrX19kb2NfX30sCisKK3N0YXRpYyBQeU9iamVjdCAqCitfaW1wX2FjcXVpcmVfbG9ja19pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUpOworCitzdGF0aWMgUHlPYmplY3QgKgorX2ltcF9hY3F1aXJlX2xvY2soUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKlB5X1VOVVNFRChpZ25vcmVkKSkKK3sKKyAgICByZXR1cm4gX2ltcF9hY3F1aXJlX2xvY2tfaW1wbChtb2R1bGUpOworfQorCitQeURvY19TVFJWQVIoX2ltcF9yZWxlYXNlX2xvY2tfX2RvY19fLAorInJlbGVhc2VfbG9jaygkbW9kdWxlLCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmVsZWFzZSB0aGUgaW50ZXJwcmV0ZXJcJ3MgaW1wb3J0IGxvY2suXG4iCisiXG4iCisiT24gcGxhdGZvcm1zIHdpdGhvdXQgdGhyZWFkcywgdGhpcyBmdW5jdGlvbiBkb2VzIG5vdGhpbmcuIik7CisKKyNkZWZpbmUgX0lNUF9SRUxFQVNFX0xPQ0tfTUVUSE9EREVGICAgIFwKKyAgICB7InJlbGVhc2VfbG9jayIsIChQeUNGdW5jdGlvbilfaW1wX3JlbGVhc2VfbG9jaywgTUVUSF9OT0FSR1MsIF9pbXBfcmVsZWFzZV9sb2NrX19kb2NfX30sCisKK3N0YXRpYyBQeU9iamVjdCAqCitfaW1wX3JlbGVhc2VfbG9ja19pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUpOworCitzdGF0aWMgUHlPYmplY3QgKgorX2ltcF9yZWxlYXNlX2xvY2soUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKlB5X1VOVVNFRChpZ25vcmVkKSkKK3sKKyAgICByZXR1cm4gX2ltcF9yZWxlYXNlX2xvY2tfaW1wbChtb2R1bGUpOworfQorCitQeURvY19TVFJWQVIoX2ltcF9fZml4X2NvX2ZpbGVuYW1lX19kb2NfXywKKyJfZml4X2NvX2ZpbGVuYW1lKCRtb2R1bGUsIGNvZGUsIHBhdGgsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJDaGFuZ2VzIGNvZGUuY29fZmlsZW5hbWUgdG8gc3BlY2lmeSB0aGUgcGFzc2VkLWluIGZpbGUgcGF0aC5cbiIKKyJcbiIKKyIgIGNvZGVcbiIKKyIgICAgQ29kZSBvYmplY3QgdG8gY2hhbmdlLlxuIgorIiAgcGF0aFxuIgorIiAgICBGaWxlIHBhdGggdG8gdXNlLiIpOworCisjZGVmaW5lIF9JTVBfX0ZJWF9DT19GSUxFTkFNRV9NRVRIT0RERUYgICAgXAorICAgIHsiX2ZpeF9jb19maWxlbmFtZSIsIChQeUNGdW5jdGlvbilfaW1wX19maXhfY29fZmlsZW5hbWUsIE1FVEhfVkFSQVJHUywgX2ltcF9fZml4X2NvX2ZpbGVuYW1lX19kb2NfX30sCisKK3N0YXRpYyBQeU9iamVjdCAqCitfaW1wX19maXhfY29fZmlsZW5hbWVfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeUNvZGVPYmplY3QgKmNvZGUsIFB5T2JqZWN0ICpwYXRoKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK19pbXBfX2ZpeF9jb19maWxlbmFtZShQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBQeUNvZGVPYmplY3QgKmNvZGU7CisgICAgUHlPYmplY3QgKnBhdGg7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgIk8hVTpfZml4X2NvX2ZpbGVuYW1lIiwKKyAgICAgICAgJlB5Q29kZV9UeXBlLCAmY29kZSwgJnBhdGgpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gX2ltcF9fZml4X2NvX2ZpbGVuYW1lX2ltcGwobW9kdWxlLCBjb2RlLCBwYXRoKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitQeURvY19TVFJWQVIoX2ltcF9leHRlbnNpb25fc3VmZml4ZXNfX2RvY19fLAorImV4dGVuc2lvbl9zdWZmaXhlcygkbW9kdWxlLCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJucyB0aGUgbGlzdCBvZiBmaWxlIHN1ZmZpeGVzIHVzZWQgdG8gaWRlbnRpZnkgZXh0ZW5zaW9uIG1vZHVsZXMuIik7CisKKyNkZWZpbmUgX0lNUF9FWFRFTlNJT05fU1VGRklYRVNfTUVUSE9EREVGICAgIFwKKyAgICB7ImV4dGVuc2lvbl9zdWZmaXhlcyIsIChQeUNGdW5jdGlvbilfaW1wX2V4dGVuc2lvbl9zdWZmaXhlcywgTUVUSF9OT0FSR1MsIF9pbXBfZXh0ZW5zaW9uX3N1ZmZpeGVzX19kb2NfX30sCisKK3N0YXRpYyBQeU9iamVjdCAqCitfaW1wX2V4dGVuc2lvbl9zdWZmaXhlc19pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUpOworCitzdGF0aWMgUHlPYmplY3QgKgorX2ltcF9leHRlbnNpb25fc3VmZml4ZXMoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKlB5X1VOVVNFRChpZ25vcmVkKSkKK3sKKyAgICByZXR1cm4gX2ltcF9leHRlbnNpb25fc3VmZml4ZXNfaW1wbChtb2R1bGUpOworfQorCitQeURvY19TVFJWQVIoX2ltcF9pbml0X2J1aWx0aW5fX2RvY19fLAorImluaXRfYnVpbHRpbigkbW9kdWxlLCBuYW1lLCAvKVxuIgorIi0tXG4iCisiXG4iCisiSW5pdGlhbGl6ZXMgYSBidWlsdC1pbiBtb2R1bGUuIik7CisKKyNkZWZpbmUgX0lNUF9JTklUX0JVSUxUSU5fTUVUSE9EREVGICAgIFwKKyAgICB7ImluaXRfYnVpbHRpbiIsIChQeUNGdW5jdGlvbilfaW1wX2luaXRfYnVpbHRpbiwgTUVUSF9WQVJBUkdTLCBfaW1wX2luaXRfYnVpbHRpbl9fZG9jX199LAorCitzdGF0aWMgUHlPYmplY3QgKgorX2ltcF9pbml0X2J1aWx0aW5faW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqbmFtZSk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitfaW1wX2luaXRfYnVpbHRpbihQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBQeU9iamVjdCAqbmFtZTsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAiVTppbml0X2J1aWx0aW4iLAorICAgICAgICAmbmFtZSkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBfaW1wX2luaXRfYnVpbHRpbl9pbXBsKG1vZHVsZSwgbmFtZSk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworUHlEb2NfU1RSVkFSKF9pbXBfaW5pdF9mcm96ZW5fX2RvY19fLAorImluaXRfZnJvemVuKCRtb2R1bGUsIG5hbWUsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJJbml0aWFsaXplcyBhIGZyb3plbiBtb2R1bGUuIik7CisKKyNkZWZpbmUgX0lNUF9JTklUX0ZST1pFTl9NRVRIT0RERUYgICAgXAorICAgIHsiaW5pdF9mcm96ZW4iLCAoUHlDRnVuY3Rpb24pX2ltcF9pbml0X2Zyb3plbiwgTUVUSF9WQVJBUkdTLCBfaW1wX2luaXRfZnJvemVuX19kb2NfX30sCisKK3N0YXRpYyBQeU9iamVjdCAqCitfaW1wX2luaXRfZnJvemVuX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKm5hbWUpOworCitzdGF0aWMgUHlPYmplY3QgKgorX2ltcF9pbml0X2Zyb3plbihQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBQeU9iamVjdCAqbmFtZTsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAiVTppbml0X2Zyb3plbiIsCisgICAgICAgICZuYW1lKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IF9pbXBfaW5pdF9mcm96ZW5faW1wbChtb2R1bGUsIG5hbWUpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK1B5RG9jX1NUUlZBUihfaW1wX2dldF9mcm96ZW5fb2JqZWN0X19kb2NfXywKKyJnZXRfZnJvemVuX29iamVjdCgkbW9kdWxlLCBuYW1lLCAvKVxuIgorIi0tXG4iCisiXG4iCisiQ3JlYXRlIGEgY29kZSBvYmplY3QgZm9yIGEgZnJvemVuIG1vZHVsZS4iKTsKKworI2RlZmluZSBfSU1QX0dFVF9GUk9aRU5fT0JKRUNUX01FVEhPRERFRiAgICBcCisgICAgeyJnZXRfZnJvemVuX29iamVjdCIsIChQeUNGdW5jdGlvbilfaW1wX2dldF9mcm96ZW5fb2JqZWN0LCBNRVRIX1ZBUkFSR1MsIF9pbXBfZ2V0X2Zyb3plbl9vYmplY3RfX2RvY19ffSwKKworc3RhdGljIFB5T2JqZWN0ICoKK19pbXBfZ2V0X2Zyb3plbl9vYmplY3RfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqbmFtZSk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitfaW1wX2dldF9mcm96ZW5fb2JqZWN0KFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQoreworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIFB5T2JqZWN0ICpuYW1lOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICJVOmdldF9mcm96ZW5fb2JqZWN0IiwKKyAgICAgICAgJm5hbWUpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gX2ltcF9nZXRfZnJvemVuX29iamVjdF9pbXBsKG1vZHVsZSwgbmFtZSk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworUHlEb2NfU1RSVkFSKF9pbXBfaXNfZnJvemVuX3BhY2thZ2VfX2RvY19fLAorImlzX2Zyb3plbl9wYWNrYWdlKCRtb2R1bGUsIG5hbWUsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm5zIFRydWUgaWYgdGhlIG1vZHVsZSBuYW1lIGlzIG9mIGEgZnJvemVuIHBhY2thZ2UuIik7CisKKyNkZWZpbmUgX0lNUF9JU19GUk9aRU5fUEFDS0FHRV9NRVRIT0RERUYgICAgXAorICAgIHsiaXNfZnJvemVuX3BhY2thZ2UiLCAoUHlDRnVuY3Rpb24pX2ltcF9pc19mcm96ZW5fcGFja2FnZSwgTUVUSF9WQVJBUkdTLCBfaW1wX2lzX2Zyb3plbl9wYWNrYWdlX19kb2NfX30sCisKK3N0YXRpYyBQeU9iamVjdCAqCitfaW1wX2lzX2Zyb3plbl9wYWNrYWdlX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKm5hbWUpOworCitzdGF0aWMgUHlPYmplY3QgKgorX2ltcF9pc19mcm96ZW5fcGFja2FnZShQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBQeU9iamVjdCAqbmFtZTsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAiVTppc19mcm96ZW5fcGFja2FnZSIsCisgICAgICAgICZuYW1lKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IF9pbXBfaXNfZnJvemVuX3BhY2thZ2VfaW1wbChtb2R1bGUsIG5hbWUpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK1B5RG9jX1NUUlZBUihfaW1wX2lzX2J1aWx0aW5fX2RvY19fLAorImlzX2J1aWx0aW4oJG1vZHVsZSwgbmFtZSwgLylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybnMgVHJ1ZSBpZiB0aGUgbW9kdWxlIG5hbWUgY29ycmVzcG9uZHMgdG8gYSBidWlsdC1pbiBtb2R1bGUuIik7CisKKyNkZWZpbmUgX0lNUF9JU19CVUlMVElOX01FVEhPRERFRiAgICBcCisgICAgeyJpc19idWlsdGluIiwgKFB5Q0Z1bmN0aW9uKV9pbXBfaXNfYnVpbHRpbiwgTUVUSF9WQVJBUkdTLCBfaW1wX2lzX2J1aWx0aW5fX2RvY19ffSwKKworc3RhdGljIFB5T2JqZWN0ICoKK19pbXBfaXNfYnVpbHRpbl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpuYW1lKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK19pbXBfaXNfYnVpbHRpbihQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBQeU9iamVjdCAqbmFtZTsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAiVTppc19idWlsdGluIiwKKyAgICAgICAgJm5hbWUpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gX2ltcF9pc19idWlsdGluX2ltcGwobW9kdWxlLCBuYW1lKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitQeURvY19TVFJWQVIoX2ltcF9pc19mcm96ZW5fX2RvY19fLAorImlzX2Zyb3plbigkbW9kdWxlLCBuYW1lLCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJucyBUcnVlIGlmIHRoZSBtb2R1bGUgbmFtZSBjb3JyZXNwb25kcyB0byBhIGZyb3plbiBtb2R1bGUuIik7CisKKyNkZWZpbmUgX0lNUF9JU19GUk9aRU5fTUVUSE9EREVGICAgIFwKKyAgICB7ImlzX2Zyb3plbiIsIChQeUNGdW5jdGlvbilfaW1wX2lzX2Zyb3plbiwgTUVUSF9WQVJBUkdTLCBfaW1wX2lzX2Zyb3plbl9fZG9jX199LAorCitzdGF0aWMgUHlPYmplY3QgKgorX2ltcF9pc19mcm96ZW5faW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqbmFtZSk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitfaW1wX2lzX2Zyb3plbihQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBQeU9iamVjdCAqbmFtZTsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAiVTppc19mcm96ZW4iLAorICAgICAgICAmbmFtZSkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBfaW1wX2lzX2Zyb3plbl9pbXBsKG1vZHVsZSwgbmFtZSk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworI2lmIGRlZmluZWQoSEFWRV9EWU5BTUlDX0xPQURJTkcpCisKK1B5RG9jX1NUUlZBUihfaW1wX2xvYWRfZHluYW1pY19fZG9jX18sCisibG9hZF9keW5hbWljKCRtb2R1bGUsIG5hbWUsIHBhdGgsIGZpbGU9Tm9uZSwgLylcbiIKKyItLVxuIgorIlxuIgorIkxvYWRzIGFuIGV4dGVuc2lvbiBtb2R1bGUuIik7CisKKyNkZWZpbmUgX0lNUF9MT0FEX0RZTkFNSUNfTUVUSE9EREVGICAgIFwKKyAgICB7ImxvYWRfZHluYW1pYyIsIChQeUNGdW5jdGlvbilfaW1wX2xvYWRfZHluYW1pYywgTUVUSF9WQVJBUkdTLCBfaW1wX2xvYWRfZHluYW1pY19fZG9jX199LAorCitzdGF0aWMgUHlPYmplY3QgKgorX2ltcF9sb2FkX2R5bmFtaWNfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqbmFtZSwgUHlPYmplY3QgKnBhdGgsIFB5T2JqZWN0ICpmaWxlKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK19pbXBfbG9hZF9keW5hbWljKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQoreworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIFB5T2JqZWN0ICpuYW1lOworICAgIFB5T2JqZWN0ICpwYXRoOworICAgIFB5T2JqZWN0ICpmaWxlID0gTlVMTDsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAiVU8mfE86bG9hZF9keW5hbWljIiwKKyAgICAgICAgJm5hbWUsIFB5VW5pY29kZV9GU0RlY29kZXIsICZwYXRoLCAmZmlsZSkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBfaW1wX2xvYWRfZHluYW1pY19pbXBsKG1vZHVsZSwgbmFtZSwgcGF0aCwgZmlsZSk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworI2VuZGlmIC8qIGRlZmluZWQoSEFWRV9EWU5BTUlDX0xPQURJTkcpICovCisKKyNpZm5kZWYgX0lNUF9MT0FEX0RZTkFNSUNfTUVUSE9EREVGCisgICAgI2RlZmluZSBfSU1QX0xPQURfRFlOQU1JQ19NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChfSU1QX0xPQURfRFlOQU1JQ19NRVRIT0RERUYpICovCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9MDg3YTFmMjJlOWZlYmNjNyBpbnB1dD1hOTA0OTA1NDAxM2ExYjc3XSovCmRpZmYgLS1naXQgYS9QeXRob24vY29kZWNzLmMgYi9QeXRob24vY29kZWNzLmMKaW5kZXggNjg0OWMwZi4uNjRmYzNkNiAxMDA2NDQKLS0tIGEvUHl0aG9uL2NvZGVjcy5jCisrKyBiL1B5dGhvbi9jb2RlY3MuYwpAQCAtOSw2ICs5LDcgQEAKICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwogCiAjaW5jbHVkZSAiUHl0aG9uLmgiCisjaW5jbHVkZSAidWNuaGFzaC5oIgogI2luY2x1ZGUgPGN0eXBlLmg+CiAKIGNvbnN0IGNoYXIgKlB5X2hleGRpZ2l0cyA9ICIwMTIzNDU2Nzg5YWJjZGVmIjsKQEAgLTg2Myw2ICs4NjQsMTE5IEBACiAKIFB5T2JqZWN0ICpQeUNvZGVjX0JhY2tzbGFzaFJlcGxhY2VFcnJvcnMoUHlPYmplY3QgKmV4YykKIHsKKyAgICBQeU9iamVjdCAqb2JqZWN0OworICAgIFB5X3NzaXplX3QgaTsKKyAgICBQeV9zc2l6ZV90IHN0YXJ0OworICAgIFB5X3NzaXplX3QgZW5kOworICAgIFB5T2JqZWN0ICpyZXM7CisgICAgdW5zaWduZWQgY2hhciAqb3V0cDsKKyAgICBpbnQgcmVzc2l6ZTsKKyAgICBQeV9VQ1M0IGM7CisKKyAgICBpZiAoUHlPYmplY3RfSXNJbnN0YW5jZShleGMsIFB5RXhjX1VuaWNvZGVEZWNvZGVFcnJvcikpIHsKKyAgICAgICAgdW5zaWduZWQgY2hhciAqcDsKKyAgICAgICAgaWYgKFB5VW5pY29kZURlY29kZUVycm9yX0dldFN0YXJ0KGV4YywgJnN0YXJ0KSkKKyAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICBpZiAoUHlVbmljb2RlRGVjb2RlRXJyb3JfR2V0RW5kKGV4YywgJmVuZCkpCisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgaWYgKCEob2JqZWN0ID0gUHlVbmljb2RlRGVjb2RlRXJyb3JfR2V0T2JqZWN0KGV4YykpKQorICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgIGlmICghKHAgPSAodW5zaWduZWQgY2hhciopUHlCeXRlc19Bc1N0cmluZyhvYmplY3QpKSkgeworICAgICAgICAgICAgUHlfREVDUkVGKG9iamVjdCk7CisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgfQorICAgICAgICByZXMgPSBQeVVuaWNvZGVfTmV3KDQgKiAoZW5kIC0gc3RhcnQpLCAxMjcpOworICAgICAgICBpZiAocmVzID09IE5VTEwpIHsKKyAgICAgICAgICAgIFB5X0RFQ1JFRihvYmplY3QpOworICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgIH0KKyAgICAgICAgb3V0cCA9IFB5VW5pY29kZV8xQllURV9EQVRBKHJlcyk7CisgICAgICAgIGZvciAoaSA9IHN0YXJ0OyBpIDwgZW5kOyBpKyssIG91dHAgKz0gNCkgeworICAgICAgICAgICAgdW5zaWduZWQgY2hhciBjID0gcFtpXTsKKyAgICAgICAgICAgIG91dHBbMF0gPSAnXFwnOworICAgICAgICAgICAgb3V0cFsxXSA9ICd4JzsKKyAgICAgICAgICAgIG91dHBbMl0gPSBQeV9oZXhkaWdpdHNbKGM+PjQpJjB4Zl07CisgICAgICAgICAgICBvdXRwWzNdID0gUHlfaGV4ZGlnaXRzW2MmMHhmXTsKKyAgICAgICAgfQorCisgICAgICAgIGFzc2VydChfUHlVbmljb2RlX0NoZWNrQ29uc2lzdGVuY3kocmVzLCAxKSk7CisgICAgICAgIFB5X0RFQ1JFRihvYmplY3QpOworICAgICAgICByZXR1cm4gUHlfQnVpbGRWYWx1ZSgiKE5uKSIsIHJlcywgZW5kKTsKKyAgICB9CisgICAgaWYgKFB5T2JqZWN0X0lzSW5zdGFuY2UoZXhjLCBQeUV4Y19Vbmljb2RlRW5jb2RlRXJyb3IpKSB7CisgICAgICAgIGlmIChQeVVuaWNvZGVFbmNvZGVFcnJvcl9HZXRTdGFydChleGMsICZzdGFydCkpCisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgaWYgKFB5VW5pY29kZUVuY29kZUVycm9yX0dldEVuZChleGMsICZlbmQpKQorICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgIGlmICghKG9iamVjdCA9IFB5VW5pY29kZUVuY29kZUVycm9yX0dldE9iamVjdChleGMpKSkKKyAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKyAgICBlbHNlIGlmIChQeU9iamVjdF9Jc0luc3RhbmNlKGV4YywgUHlFeGNfVW5pY29kZVRyYW5zbGF0ZUVycm9yKSkgeworICAgICAgICBpZiAoUHlVbmljb2RlVHJhbnNsYXRlRXJyb3JfR2V0U3RhcnQoZXhjLCAmc3RhcnQpKQorICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgIGlmIChQeVVuaWNvZGVUcmFuc2xhdGVFcnJvcl9HZXRFbmQoZXhjLCAmZW5kKSkKKyAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICBpZiAoIShvYmplY3QgPSBQeVVuaWNvZGVUcmFuc2xhdGVFcnJvcl9HZXRPYmplY3QoZXhjKSkpCisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisgICAgZWxzZSB7CisgICAgICAgIHdyb25nX2V4Y2VwdGlvbl90eXBlKGV4Yyk7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKworICAgIGlmIChlbmQgLSBzdGFydCA+IFBZX1NTSVpFX1RfTUFYIC8gKDErMSs4KSkKKyAgICAgICAgZW5kID0gc3RhcnQgKyBQWV9TU0laRV9UX01BWCAvICgxKzErOCk7CisgICAgZm9yIChpID0gc3RhcnQsIHJlc3NpemUgPSAwOyBpIDwgZW5kOyArK2kpIHsKKyAgICAgICAgLyogb2JqZWN0IGlzIGd1YXJhbnRlZWQgdG8gYmUgInJlYWR5IiAqLworICAgICAgICBjID0gUHlVbmljb2RlX1JFQURfQ0hBUihvYmplY3QsIGkpOworICAgICAgICBpZiAoYyA+PSAweDEwMDAwKSB7CisgICAgICAgICAgICByZXNzaXplICs9IDErMSs4OworICAgICAgICB9CisgICAgICAgIGVsc2UgaWYgKGMgPj0gMHgxMDApIHsKKyAgICAgICAgICAgIHJlc3NpemUgKz0gMSsxKzQ7CisgICAgICAgIH0KKyAgICAgICAgZWxzZQorICAgICAgICAgICAgcmVzc2l6ZSArPSAxKzErMjsKKyAgICB9CisgICAgcmVzID0gUHlVbmljb2RlX05ldyhyZXNzaXplLCAxMjcpOworICAgIGlmIChyZXMgPT0gTlVMTCkgeworICAgICAgICBQeV9ERUNSRUYob2JqZWN0KTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorICAgIG91dHAgPSBQeVVuaWNvZGVfMUJZVEVfREFUQShyZXMpOworICAgIGZvciAoaSA9IHN0YXJ0OyBpIDwgZW5kOyArK2kpIHsKKyAgICAgICAgYyA9IFB5VW5pY29kZV9SRUFEX0NIQVIob2JqZWN0LCBpKTsKKyAgICAgICAgKm91dHArKyA9ICdcXCc7CisgICAgICAgIGlmIChjID49IDB4MDAwMTAwMDApIHsKKyAgICAgICAgICAgICpvdXRwKysgPSAnVSc7CisgICAgICAgICAgICAqb3V0cCsrID0gUHlfaGV4ZGlnaXRzWyhjPj4yOCkmMHhmXTsKKyAgICAgICAgICAgICpvdXRwKysgPSBQeV9oZXhkaWdpdHNbKGM+PjI0KSYweGZdOworICAgICAgICAgICAgKm91dHArKyA9IFB5X2hleGRpZ2l0c1soYz4+MjApJjB4Zl07CisgICAgICAgICAgICAqb3V0cCsrID0gUHlfaGV4ZGlnaXRzWyhjPj4xNikmMHhmXTsKKyAgICAgICAgICAgICpvdXRwKysgPSBQeV9oZXhkaWdpdHNbKGM+PjEyKSYweGZdOworICAgICAgICAgICAgKm91dHArKyA9IFB5X2hleGRpZ2l0c1soYz4+OCkmMHhmXTsKKyAgICAgICAgfQorICAgICAgICBlbHNlIGlmIChjID49IDB4MTAwKSB7CisgICAgICAgICAgICAqb3V0cCsrID0gJ3UnOworICAgICAgICAgICAgKm91dHArKyA9IFB5X2hleGRpZ2l0c1soYz4+MTIpJjB4Zl07CisgICAgICAgICAgICAqb3V0cCsrID0gUHlfaGV4ZGlnaXRzWyhjPj44KSYweGZdOworICAgICAgICB9CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgICpvdXRwKysgPSAneCc7CisgICAgICAgICpvdXRwKysgPSBQeV9oZXhkaWdpdHNbKGM+PjQpJjB4Zl07CisgICAgICAgICpvdXRwKysgPSBQeV9oZXhkaWdpdHNbYyYweGZdOworICAgIH0KKworICAgIGFzc2VydChfUHlVbmljb2RlX0NoZWNrQ29uc2lzdGVuY3kocmVzLCAxKSk7CisgICAgUHlfREVDUkVGKG9iamVjdCk7CisgICAgcmV0dXJuIFB5X0J1aWxkVmFsdWUoIihObikiLCByZXMsIGVuZCk7Cit9CisKK3N0YXRpYyBfUHlVbmljb2RlX05hbWVfQ0FQSSAqdWNuaGFzaF9DQVBJID0gTlVMTDsKK3N0YXRpYyBpbnQgdWNuaGFzaF9pbml0aWFsaXplZCA9IDA7CisKK1B5T2JqZWN0ICpQeUNvZGVjX05hbWVSZXBsYWNlRXJyb3JzKFB5T2JqZWN0ICpleGMpCit7CiAgICAgaWYgKFB5T2JqZWN0X0lzSW5zdGFuY2UoZXhjLCBQeUV4Y19Vbmljb2RlRW5jb2RlRXJyb3IpKSB7CiAgICAgICAgIFB5T2JqZWN0ICpyZXN0dXBsZTsKICAgICAgICAgUHlPYmplY3QgKm9iamVjdDsKQEAgLTg3MiwzNiArOTg2LDU3IEBACiAgICAgICAgIFB5T2JqZWN0ICpyZXM7CiAgICAgICAgIHVuc2lnbmVkIGNoYXIgKm91dHA7CiAgICAgICAgIFB5X3NzaXplX3QgcmVzc2l6ZTsKKyAgICAgICAgaW50IHJlcGxzaXplOwogICAgICAgICBQeV9VQ1M0IGM7CisgICAgICAgIGNoYXIgYnVmZmVyWzI1Nl07IC8qIE5BTUVfTUFYTEVOICovCiAgICAgICAgIGlmIChQeVVuaWNvZGVFbmNvZGVFcnJvcl9HZXRTdGFydChleGMsICZzdGFydCkpCiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKICAgICAgICAgaWYgKFB5VW5pY29kZUVuY29kZUVycm9yX0dldEVuZChleGMsICZlbmQpKQogICAgICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgICAgIGlmICghKG9iamVjdCA9IFB5VW5pY29kZUVuY29kZUVycm9yX0dldE9iamVjdChleGMpKSkKICAgICAgICAgICAgIHJldHVybiBOVUxMOwotICAgICAgICBpZiAoZW5kIC0gc3RhcnQgPiBQWV9TU0laRV9UX01BWCAvICgxKzErOCkpCi0gICAgICAgICAgICBlbmQgPSBzdGFydCArIFBZX1NTSVpFX1RfTUFYIC8gKDErMSs4KTsKKyAgICAgICAgaWYgKCF1Y25oYXNoX2luaXRpYWxpemVkKSB7CisgICAgICAgICAgICAvKiBsb2FkIHRoZSB1bmljb2RlIGRhdGEgbW9kdWxlICovCisgICAgICAgICAgICB1Y25oYXNoX0NBUEkgPSAoX1B5VW5pY29kZV9OYW1lX0NBUEkgKilQeUNhcHN1bGVfSW1wb3J0KAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVEYXRhX0NBUFNVTEVfTkFNRSwgMSk7CisgICAgICAgICAgICB1Y25oYXNoX2luaXRpYWxpemVkID0gMTsKKyAgICAgICAgfQogICAgICAgICBmb3IgKGkgPSBzdGFydCwgcmVzc2l6ZSA9IDA7IGkgPCBlbmQ7ICsraSkgewogICAgICAgICAgICAgLyogb2JqZWN0IGlzIGd1YXJhbnRlZWQgdG8gYmUgInJlYWR5IiAqLwogICAgICAgICAgICAgYyA9IFB5VW5pY29kZV9SRUFEX0NIQVIob2JqZWN0LCBpKTsKLSAgICAgICAgICAgIGlmIChjID49IDB4MTAwMDApIHsKLSAgICAgICAgICAgICAgICByZXNzaXplICs9IDErMSs4OworICAgICAgICAgICAgaWYgKHVjbmhhc2hfQ0FQSSAmJgorICAgICAgICAgICAgICAgIHVjbmhhc2hfQ0FQSS0+Z2V0bmFtZShOVUxMLCBjLCBidWZmZXIsIHNpemVvZihidWZmZXIpLCAxKSkgeworICAgICAgICAgICAgICAgIHJlcGxzaXplID0gMSsxKzErKGludClzdHJsZW4oYnVmZmVyKSsxOworICAgICAgICAgICAgfQorICAgICAgICAgICAgZWxzZSBpZiAoYyA+PSAweDEwMDAwKSB7CisgICAgICAgICAgICAgICAgcmVwbHNpemUgPSAxKzErODsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGVsc2UgaWYgKGMgPj0gMHgxMDApIHsKLSAgICAgICAgICAgICAgICByZXNzaXplICs9IDErMSs0OworICAgICAgICAgICAgICAgIHJlcGxzaXplID0gMSsxKzQ7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgcmVzc2l6ZSArPSAxKzErMjsKKyAgICAgICAgICAgICAgICByZXBsc2l6ZSA9IDErMSsyOworICAgICAgICAgICAgaWYgKHJlc3NpemUgPiBQWV9TU0laRV9UX01BWCAtIHJlcGxzaXplKQorICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgcmVzc2l6ZSArPSByZXBsc2l6ZTsKICAgICAgICAgfQorICAgICAgICBlbmQgPSBpOwogICAgICAgICByZXMgPSBQeVVuaWNvZGVfTmV3KHJlc3NpemUsIDEyNyk7Ci0gICAgICAgIGlmIChyZXMgPT0gTlVMTCkgewotICAgICAgICAgICAgUHlfREVDUkVGKG9iamVjdCk7CisgICAgICAgIGlmIChyZXM9PU5VTEwpCiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKLSAgICAgICAgfQogICAgICAgICBmb3IgKGkgPSBzdGFydCwgb3V0cCA9IFB5VW5pY29kZV8xQllURV9EQVRBKHJlcyk7CiAgICAgICAgICAgICBpIDwgZW5kOyArK2kpIHsKICAgICAgICAgICAgIGMgPSBQeVVuaWNvZGVfUkVBRF9DSEFSKG9iamVjdCwgaSk7CiAgICAgICAgICAgICAqb3V0cCsrID0gJ1xcJzsKKyAgICAgICAgICAgIGlmICh1Y25oYXNoX0NBUEkgJiYKKyAgICAgICAgICAgICAgICB1Y25oYXNoX0NBUEktPmdldG5hbWUoTlVMTCwgYywgYnVmZmVyLCBzaXplb2YoYnVmZmVyKSwgMSkpIHsKKyAgICAgICAgICAgICAgICAqb3V0cCsrID0gJ04nOworICAgICAgICAgICAgICAgICpvdXRwKysgPSAneyc7CisgICAgICAgICAgICAgICAgc3RyY3B5KChjaGFyICopb3V0cCwgYnVmZmVyKTsKKyAgICAgICAgICAgICAgICBvdXRwICs9IHN0cmxlbihidWZmZXIpOworICAgICAgICAgICAgICAgICpvdXRwKysgPSAnfSc7CisgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICB9CiAgICAgICAgICAgICBpZiAoYyA+PSAweDAwMDEwMDAwKSB7CiAgICAgICAgICAgICAgICAgKm91dHArKyA9ICdVJzsKICAgICAgICAgICAgICAgICAqb3V0cCsrID0gUHlfaGV4ZGlnaXRzWyhjPj4yOCkmMHhmXTsKQEAgLTkyMiw2ICsxMDU3LDcgQEAKICAgICAgICAgICAgICpvdXRwKysgPSBQeV9oZXhkaWdpdHNbYyYweGZdOwogICAgICAgICB9CiAKKyAgICAgICAgYXNzZXJ0KG91dHAgPT0gUHlVbmljb2RlXzFCWVRFX0RBVEEocmVzKSArIHJlc3NpemUpOwogICAgICAgICBhc3NlcnQoX1B5VW5pY29kZV9DaGVja0NvbnNpc3RlbmN5KHJlcywgMSkpOwogICAgICAgICByZXN0dXBsZSA9IFB5X0J1aWxkVmFsdWUoIihObikiLCByZXMsIGVuZCk7CiAgICAgICAgIFB5X0RFQ1JFRihvYmplY3QpOwpAQCAtOTMzLDYgKzEwNjksNyBAQAogICAgIH0KIH0KIAorI2RlZmluZSBFTkNfVU5LTk9XTiAgICAgLTEKICNkZWZpbmUgRU5DX1VURjggICAgICAgIDAKICNkZWZpbmUgRU5DX1VURjE2QkUgICAgIDEKICNkZWZpbmUgRU5DX1VURjE2TEUgICAgIDIKQEAgLTk0OCw3ICsxMDg1LDExIEBACiAgICAgICAgIGVuY29kaW5nICs9IDM7CiAgICAgICAgIGlmICgqZW5jb2RpbmcgPT0gJy0nIHx8ICplbmNvZGluZyA9PSAnXycgKQogICAgICAgICAgICAgZW5jb2RpbmcrKzsKLSAgICAgICAgaWYgKGVuY29kaW5nWzBdID09ICcxJyAmJiBlbmNvZGluZ1sxXSA9PSAnNicpIHsKKyAgICAgICAgaWYgKGVuY29kaW5nWzBdID09ICc4JyAmJiBlbmNvZGluZ1sxXSA9PSAnXDAnKSB7CisgICAgICAgICAgICAqYnl0ZWxlbmd0aCA9IDM7CisgICAgICAgICAgICByZXR1cm4gRU5DX1VURjg7CisgICAgICAgIH0KKyAgICAgICAgZWxzZSBpZiAoZW5jb2RpbmdbMF0gPT0gJzEnICYmIGVuY29kaW5nWzFdID09ICc2JykgewogICAgICAgICAgICAgZW5jb2RpbmcgKz0gMjsKICAgICAgICAgICAgICpieXRlbGVuZ3RoID0gMjsKICAgICAgICAgICAgIGlmICgqZW5jb2RpbmcgPT0gJ1wwJykgewpAQCAtOTg3LDkgKzExMjgsMTEgQEAKICAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgIH0KLSAgICAvKiB1dGYtOCAqLwotICAgICpieXRlbGVuZ3RoID0gMzsKLSAgICByZXR1cm4gRU5DX1VURjg7CisgICAgZWxzZSBpZiAoc3RyY21wKGVuY29kaW5nLCAiQ1BfVVRGOCIpID09IDApIHsKKyAgICAgICAgKmJ5dGVsZW5ndGggPSAzOworICAgICAgICByZXR1cm4gRU5DX1VURjg7CisgICAgfQorICAgIHJldHVybiBFTkNfVU5LTk9XTjsKIH0KIAogLyogVGhpcyBoYW5kbGVyIGlzIGRlY2xhcmVkIHN0YXRpYyB1bnRpbCBzb21lb25lIGRlbW9uc3RyYXRlcwpAQCAtMTAyNiw2ICsxMTY5LDEyIEBACiAgICAgICAgIH0KICAgICAgICAgY29kZSA9IGdldF9zdGFuZGFyZF9lbmNvZGluZyhlbmNvZGluZywgJmJ5dGVsZW5ndGgpOwogICAgICAgICBQeV9ERUNSRUYoZW5jb2RlKTsKKyAgICAgICAgaWYgKGNvZGUgPT0gRU5DX1VOS05PV04pIHsKKyAgICAgICAgICAgIC8qIE5vdCBzdXBwb3J0ZWQsIGZhaWwgd2l0aCBvcmlnaW5hbCBleGNlcHRpb24gKi8KKyAgICAgICAgICAgIFB5RXJyX1NldE9iamVjdChQeUV4Y2VwdGlvbkluc3RhbmNlX0NsYXNzKGV4YyksIGV4Yyk7CisgICAgICAgICAgICBQeV9ERUNSRUYob2JqZWN0KTsKKyAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICB9CiAKICAgICAgICAgaWYgKGVuZCAtIHN0YXJ0ID4gUFlfU1NJWkVfVF9NQVggLyBieXRlbGVuZ3RoKQogICAgICAgICAgICAgZW5kID0gc3RhcnQgKyBQWV9TU0laRV9UX01BWCAvIGJ5dGVsZW5ndGg7CkBAIC0xMTAyLDYgKzEyNTEsMTIgQEAKICAgICAgICAgfQogICAgICAgICBjb2RlID0gZ2V0X3N0YW5kYXJkX2VuY29kaW5nKGVuY29kaW5nLCAmYnl0ZWxlbmd0aCk7CiAgICAgICAgIFB5X0RFQ1JFRihlbmNvZGUpOworICAgICAgICBpZiAoY29kZSA9PSBFTkNfVU5LTk9XTikgeworICAgICAgICAgICAgLyogTm90IHN1cHBvcnRlZCwgZmFpbCB3aXRoIG9yaWdpbmFsIGV4Y2VwdGlvbiAqLworICAgICAgICAgICAgUHlFcnJfU2V0T2JqZWN0KFB5RXhjZXB0aW9uSW5zdGFuY2VfQ2xhc3MoZXhjKSwgZXhjKTsKKyAgICAgICAgICAgIFB5X0RFQ1JFRihvYmplY3QpOworICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgIH0KIAogICAgICAgICAvKiBUcnkgZGVjb2RpbmcgYSBzaW5nbGUgc3Vycm9nYXRlIGNoYXJhY3Rlci4gSWYKICAgICAgICAgICAgdGhlcmUgYXJlIG1vcmUsIGxldCB0aGUgY29kZWMgY2FsbCB1cyBhZ2Fpbi4gKi8KQEAgLTEyNTcsNiArMTQxMiwxMSBAQAogICAgIHJldHVybiBQeUNvZGVjX0JhY2tzbGFzaFJlcGxhY2VFcnJvcnMoZXhjKTsKIH0KIAorc3RhdGljIFB5T2JqZWN0ICpuYW1lcmVwbGFjZV9lcnJvcnMoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpleGMpCit7CisgICAgcmV0dXJuIFB5Q29kZWNfTmFtZVJlcGxhY2VFcnJvcnMoZXhjKTsKK30KKwogc3RhdGljIFB5T2JqZWN0ICpzdXJyb2dhdGVwYXNzX2Vycm9ycyhQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmV4YykKIHsKICAgICByZXR1cm4gUHlDb2RlY19TdXJyb2dhdGVQYXNzRXJyb3JzKGV4Yyk7CkBAIC0xMzIyLDggKzE0ODIsMTkgQEAKICAgICAgICAgICAgICAgICBiYWNrc2xhc2hyZXBsYWNlX2Vycm9ycywKICAgICAgICAgICAgICAgICBNRVRIX08sCiAgICAgICAgICAgICAgICAgUHlEb2NfU1RSKCJJbXBsZW1lbnRzIHRoZSAnYmFja3NsYXNocmVwbGFjZScgZXJyb3IgaGFuZGxpbmcsICIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIndoaWNoIHJlcGxhY2VzIG1hbGZvcm1lZCBkYXRhIHdpdGggYSBiYWNrc2xhc2hlZCAiCisgICAgICAgICAgICAgICAgICAgICAgICAgICJlc2NhcGUgc2VxdWVuY2UuIikKKyAgICAgICAgICAgIH0KKyAgICAgICAgfSwKKyAgICAgICAgeworICAgICAgICAgICAgIm5hbWVyZXBsYWNlIiwKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAibmFtZXJlcGxhY2VfZXJyb3JzIiwKKyAgICAgICAgICAgICAgICBuYW1lcmVwbGFjZV9lcnJvcnMsCisgICAgICAgICAgICAgICAgTUVUSF9PLAorICAgICAgICAgICAgICAgIFB5RG9jX1NUUigiSW1wbGVtZW50cyB0aGUgJ25hbWVyZXBsYWNlJyBlcnJvciBoYW5kbGluZywgIgogICAgICAgICAgICAgICAgICAgICAgICAgICAid2hpY2ggcmVwbGFjZXMgYW4gdW5lbmNvZGFibGUgY2hhcmFjdGVyIHdpdGggYSAiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICJiYWNrc2xhc2hlZCBlc2NhcGUgc2VxdWVuY2UuIikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIlxcTnsuLi59IGVzY2FwZSBzZXF1ZW5jZS4iKQogICAgICAgICAgICAgfQogICAgICAgICB9LAogICAgICAgICB7CmRpZmYgLS1naXQgYS9QeXRob24vY29tcGlsZS5jIGIvUHl0aG9uL2NvbXBpbGUuYwppbmRleCBiMDdjMTU2Li45N2ZlNWMyIDEwMDY0NAotLS0gYS9QeXRob24vY29tcGlsZS5jCisrKyBiL1B5dGhvbi9jb21waWxlLmMKQEAgLTMwLDggKzMwLDYgQEAKICNpbmNsdWRlICJzeW10YWJsZS5oIgogI2luY2x1ZGUgIm9wY29kZS5oIgogCi1pbnQgUHlfT3B0aW1pemVGbGFnID0gMDsKLQogI2RlZmluZSBERUZBVUxUX0JMT0NLX1NJWkUgMTYKICNkZWZpbmUgREVGQVVMVF9CTE9DS1MgOAogI2RlZmluZSBERUZBVUxUX0NPREVfU0laRSAxMjgKQEAgLTg4MSw2ICs4NzksNyBAQAogCiAgICAgICAgIGNhc2UgQklOQVJZX1BPV0VSOgogICAgICAgICBjYXNlIEJJTkFSWV9NVUxUSVBMWToKKyAgICAgICAgY2FzZSBCSU5BUllfTUFUUklYX01VTFRJUExZOgogICAgICAgICBjYXNlIEJJTkFSWV9NT0RVTE86CiAgICAgICAgIGNhc2UgQklOQVJZX0FERDoKICAgICAgICAgY2FzZSBCSU5BUllfU1VCVFJBQ1Q6CkBAIC04OTUsNiArODk0LDcgQEAKICAgICAgICAgY2FzZSBJTlBMQUNFX0FERDoKICAgICAgICAgY2FzZSBJTlBMQUNFX1NVQlRSQUNUOgogICAgICAgICBjYXNlIElOUExBQ0VfTVVMVElQTFk6CisgICAgICAgIGNhc2UgSU5QTEFDRV9NQVRSSVhfTVVMVElQTFk6CiAgICAgICAgIGNhc2UgSU5QTEFDRV9NT0RVTE86CiAgICAgICAgICAgICByZXR1cm4gLTE7CiAgICAgICAgIGNhc2UgU1RPUkVfU1VCU0NSOgpAQCAtMTkzOCw3ICsxOTM4LDcgQEAKICAgICB9IGVsc2UgaWYgKGNvbnN0YW50ID09IDEpIHsKICAgICAgICAgVklTSVRfU0VRKGMsIHN0bXQsIHMtPnYuSWYuYm9keSk7CiAgICAgfSBlbHNlIHsKLSAgICAgICAgaWYgKHMtPnYuSWYub3JlbHNlKSB7CisgICAgICAgIGlmIChhc2RsX3NlcV9MRU4ocy0+di5JZi5vcmVsc2UpKSB7CiAgICAgICAgICAgICBuZXh0ID0gY29tcGlsZXJfbmV3X2Jsb2NrKGMpOwogICAgICAgICAgICAgaWYgKG5leHQgPT0gTlVMTCkKICAgICAgICAgICAgICAgICByZXR1cm4gMDsKQEAgLTE5NDgsOCArMTk0OCw4IEBACiAgICAgICAgIFZJU0lUKGMsIGV4cHIsIHMtPnYuSWYudGVzdCk7CiAgICAgICAgIEFERE9QX0pBQlMoYywgUE9QX0pVTVBfSUZfRkFMU0UsIG5leHQpOwogICAgICAgICBWSVNJVF9TRVEoYywgc3RtdCwgcy0+di5JZi5ib2R5KTsKLSAgICAgICAgQURET1BfSlJFTChjLCBKVU1QX0ZPUldBUkQsIGVuZCk7Ci0gICAgICAgIGlmIChzLT52LklmLm9yZWxzZSkgeworICAgICAgICBpZiAoYXNkbF9zZXFfTEVOKHMtPnYuSWYub3JlbHNlKSkgeworICAgICAgICAgICAgQURET1BfSlJFTChjLCBKVU1QX0ZPUldBUkQsIGVuZCk7CiAgICAgICAgICAgICBjb21waWxlcl91c2VfbmV4dF9ibG9jayhjLCBuZXh0KTsKICAgICAgICAgICAgIFZJU0lUX1NFUShjLCBzdG10LCBzLT52LklmLm9yZWxzZSk7CiAgICAgICAgIH0KQEAgLTI2MjQsNiArMjYyNCw4IEBACiAgICAgICAgIHJldHVybiBCSU5BUllfU1VCVFJBQ1Q7CiAgICAgY2FzZSBNdWx0OgogICAgICAgICByZXR1cm4gQklOQVJZX01VTFRJUExZOworICAgIGNhc2UgTWF0TXVsdDoKKyAgICAgICAgcmV0dXJuIEJJTkFSWV9NQVRSSVhfTVVMVElQTFk7CiAgICAgY2FzZSBEaXY6CiAgICAgICAgIHJldHVybiBCSU5BUllfVFJVRV9ESVZJREU7CiAgICAgY2FzZSBNb2Q6CkBAIC0yNjg4LDYgKzI2OTAsOCBAQAogICAgICAgICByZXR1cm4gSU5QTEFDRV9TVUJUUkFDVDsKICAgICBjYXNlIE11bHQ6CiAgICAgICAgIHJldHVybiBJTlBMQUNFX01VTFRJUExZOworICAgIGNhc2UgTWF0TXVsdDoKKyAgICAgICAgcmV0dXJuIElOUExBQ0VfTUFUUklYX01VTFRJUExZOwogICAgIGNhc2UgRGl2OgogICAgICAgICByZXR1cm4gSU5QTEFDRV9UUlVFX0RJVklERTsKICAgICBjYXNlIE1vZDoKZGlmZiAtLWdpdCBhL1B5dGhvbi9keW5sb2FkX3NobGliLmMgYi9QeXRob24vZHlubG9hZF9zaGxpYi5jCmluZGV4IDVjZDFlZmQuLjY1OWFkYWMgMTAwNjQ0Ci0tLSBhL1B5dGhvbi9keW5sb2FkX3NobGliLmMKKysrIGIvUHl0aG9uL2R5bmxvYWRfc2hsaWIuYwpAQCAtNzEsOCArNzEsOCBAQAogCiAgICAgaWYgKGZwICE9IE5VTEwpIHsKICAgICAgICAgaW50IGk7Ci0gICAgICAgIHN0cnVjdCBzdGF0IHN0YXRiOwotICAgICAgICBpZiAoZnN0YXQoZmlsZW5vKGZwKSwgJnN0YXRiKSA9PSAtMSkgeworICAgICAgICBzdHJ1Y3QgX1B5X3N0YXRfc3RydWN0IHN0YXRiOworICAgICAgICBpZiAoX1B5X2ZzdGF0KGZpbGVubyhmcCksICZzdGF0YikgPT0gLTEpIHsKICAgICAgICAgICAgIFB5RXJyX1NldEZyb21FcnJubyhQeUV4Y19JT0Vycm9yKTsKICAgICAgICAgICAgIHJldHVybiBOVUxMOwogICAgICAgICB9CmRpZmYgLS1naXQgYS9QeXRob24vZHlubG9hZF93aW4uYyBiL1B5dGhvbi9keW5sb2FkX3dpbi5jCmluZGV4IGZmY2YwZWUuLjllZDllZWEgMTAwNjQ0Ci0tLSBhL1B5dGhvbi9keW5sb2FkX3dpbi5jCisrKyBiL1B5dGhvbi9keW5sb2FkX3dpbi5jCkBAIC05LDYgKzksNyBAQAogI2luY2x1ZGUgPGN0eXBlLmg+CiAKICNpbmNsdWRlICJpbXBvcnRkbC5oIgorI2luY2x1ZGUgInBhdGNobGV2ZWwuaCIKICNpbmNsdWRlIDx3aW5kb3dzLmg+CiAKIC8vICJhY3RpdmF0aW9uIGNvbnRleHQiIG1hZ2ljIC0gc2VlIGRsX250LmMuLi4KQEAgLTE3LDE2ICsxOCwyOCBAQAogdm9pZCBfUHlfRGVhY3RpdmF0ZUFjdEN0eChVTE9OR19QVFIgY29va2llKTsKICNlbmRpZgogCi1jb25zdCBjaGFyICpfUHlJbXBvcnRfRHluTG9hZEZpbGV0YWJbXSA9IHsKICNpZmRlZiBfREVCVUcKLSAgICAiX2QucHlkIiwKKyNkZWZpbmUgUFlEX0RFQlVHX1NVRkZJWCAiX2QiCiAjZWxzZQotICAgICIucHlkIiwKKyNkZWZpbmUgUFlEX0RFQlVHX1NVRkZJWCAiIgogI2VuZGlmCisKKyNkZWZpbmUgU1RSSU5HSVpFMih4KSAjeAorI2RlZmluZSBTVFJJTkdJWkUoeCkgU1RSSU5HSVpFMih4KQorI2lmZGVmIFBZRF9QTEFURk9STV9UQUcKKyNkZWZpbmUgUFlEX1RBR0dFRF9TVUZGSVggUFlEX0RFQlVHX1NVRkZJWCAiLmNwIiBTVFJJTkdJWkUoUFlfTUFKT1JfVkVSU0lPTikgU1RSSU5HSVpFKFBZX01JTk9SX1ZFUlNJT04pICItIiBQWURfUExBVEZPUk1fVEFHICIucHlkIgorI2Vsc2UKKyNkZWZpbmUgUFlEX1RBR0dFRF9TVUZGSVggUFlEX0RFQlVHX1NVRkZJWCAiLmNwIiBTVFJJTkdJWkUoUFlfTUFKT1JfVkVSU0lPTikgU1RSSU5HSVpFKFBZX01JTk9SX1ZFUlNJT04pICIucHlkIgorI2VuZGlmCisKKyNkZWZpbmUgUFlEX1VOVEFHR0VEX1NVRkZJWCBQWURfREVCVUdfU1VGRklYICIucHlkIgorCitjb25zdCBjaGFyICpfUHlJbXBvcnRfRHluTG9hZEZpbGV0YWJbXSA9IHsKKyAgICBQWURfVEFHR0VEX1NVRkZJWCwKKyAgICBQWURfVU5UQUdHRURfU1VGRklYLAogICAgIE5VTEwKIH07CiAKLQogLyogQ2FzZSBpbnNlbnNpdGl2ZSBzdHJpbmcgY29tcGFyZSwgdG8gYXZvaWQgYW55IGRlcGVuZGVuY2llcyBvbiBwYXJ0aWN1bGFyCiAgICBDIFJUTCBpbXBsZW1lbnRhdGlvbnMgKi8KIApkaWZmIC0tZ2l0IGEvUHl0aG9uL2Vycm9ycy5jIGIvUHl0aG9uL2Vycm9ycy5jCmluZGV4IGE5ODA0ODEuLjk0MGFlZjMgMTAwNjQ0Ci0tLSBhL1B5dGhvbi9lcnJvcnMuYworKysgYi9QeXRob24vZXJyb3JzLmMKQEAgLTc3MywxOSArNzczLDExIEBACiAjZGVmaW5lIFB5RXJyX0JhZEludGVybmFsQ2FsbCgpIF9QeUVycl9CYWRJbnRlcm5hbENhbGwoX19GSUxFX18sIF9fTElORV9fKQogCiAKLQogUHlPYmplY3QgKgotUHlFcnJfRm9ybWF0KFB5T2JqZWN0ICpleGNlcHRpb24sIGNvbnN0IGNoYXIgKmZvcm1hdCwgLi4uKQorUHlFcnJfRm9ybWF0VihQeU9iamVjdCAqZXhjZXB0aW9uLCBjb25zdCBjaGFyICpmb3JtYXQsIHZhX2xpc3QgdmFyZ3MpCiB7Ci0gICAgdmFfbGlzdCB2YXJnczsKICAgICBQeU9iamVjdCogc3RyaW5nOwogCi0jaWZkZWYgSEFWRV9TVERBUkdfUFJPVE9UWVBFUwotICAgIHZhX3N0YXJ0KHZhcmdzLCBmb3JtYXQpOwotI2Vsc2UKLSAgICB2YV9zdGFydCh2YXJncyk7Ci0jZW5kaWYKLQogI2lmZGVmIFB5X0RFQlVHCiAgICAgLyogaW4gZGVidWcgbW9kZSwgUHlFdmFsX0V2YWxGcmFtZUV4KCkgZmFpbHMgd2l0aCBhbiBhc3NlcnRpb24gZXJyb3IKICAgICAgICBpZiBhbiBleGNlcHRpb24gaXMgc2V0IHdoZW4gaXQgaXMgY2FsbGVkICovCkBAIC03OTUsMTEgKzc4NywyNCBAQAogICAgIHN0cmluZyA9IFB5VW5pY29kZV9Gcm9tRm9ybWF0Vihmb3JtYXQsIHZhcmdzKTsKICAgICBQeUVycl9TZXRPYmplY3QoZXhjZXB0aW9uLCBzdHJpbmcpOwogICAgIFB5X1hERUNSRUYoc3RyaW5nKTsKLSAgICB2YV9lbmQodmFyZ3MpOwogICAgIHJldHVybiBOVUxMOwogfQogCiAKK1B5T2JqZWN0ICoKK1B5RXJyX0Zvcm1hdChQeU9iamVjdCAqZXhjZXB0aW9uLCBjb25zdCBjaGFyICpmb3JtYXQsIC4uLikKK3sKKyAgICB2YV9saXN0IHZhcmdzOworI2lmZGVmIEhBVkVfU1REQVJHX1BST1RPVFlQRVMKKyAgICB2YV9zdGFydCh2YXJncywgZm9ybWF0KTsKKyNlbHNlCisgICAgdmFfc3RhcnQodmFyZ3MpOworI2VuZGlmCisgICAgUHlFcnJfRm9ybWF0VihleGNlcHRpb24sIGZvcm1hdCwgdmFyZ3MpOworICAgIHZhX2VuZCh2YXJncyk7CisgICAgcmV0dXJuIE5VTEw7Cit9CisKIAogUHlPYmplY3QgKgogUHlFcnJfTmV3RXhjZXB0aW9uKGNvbnN0IGNoYXIgKm5hbWUsIFB5T2JqZWN0ICpiYXNlLCBQeU9iamVjdCAqZGljdCkKZGlmZiAtLWdpdCBhL1B5dGhvbi9maWxldXRpbHMuYyBiL1B5dGhvbi9maWxldXRpbHMuYwppbmRleCA5MDFhNzQ2Li5jMGRiYzg2IDEwMDY0NAotLS0gYS9QeXRob24vZmlsZXV0aWxzLmMKKysrIGIvUHl0aG9uL2ZpbGV1dGlscy5jCkBAIC0zLDYgKzMsNyBAQAogI2luY2x1ZGUgPGxvY2FsZS5oPgogCiAjaWZkZWYgTVNfV0lORE9XUworIyAgaW5jbHVkZSA8bWFsbG9jLmg+CiAjICBpbmNsdWRlIDx3aW5kb3dzLmg+CiAjZW5kaWYKIApAQCAtODIsMTEgKzgzLDExIEBACiAKICAgIFZhbHVlcyBvZiBmb3JjZV9hc2NpaToKIAotICAgICAgIDE6IHRoZSB3b3JrYXJvdW5kIGlzIHVzZWQ6IF9QeV93Y2hhcjJjaGFyKCkgdXNlcwotICAgICAgICAgIGVuY29kZV9hc2NpaV9zdXJyb2dhdGVlc2NhcGUoKSBhbmQgX1B5X2NoYXIyd2NoYXIoKSB1c2VzCisgICAgICAgMTogdGhlIHdvcmthcm91bmQgaXMgdXNlZDogUHlfRW5jb2RlTG9jYWxlKCkgdXNlcworICAgICAgICAgIGVuY29kZV9hc2NpaV9zdXJyb2dhdGVlc2NhcGUoKSBhbmQgUHlfRGVjb2RlTG9jYWxlKCkgdXNlcwogICAgICAgICAgIGRlY29kZV9hc2NpaV9zdXJyb2dhdGVlc2NhcGUoKQotICAgICAgIDA6IHRoZSB3b3JrYXJvdW5kIGlzIG5vdCB1c2VkOiBfUHlfd2NoYXIyY2hhcigpIHVzZXMgd2NzdG9tYnMoKSBhbmQKLSAgICAgICAgICBfUHlfY2hhcjJ3Y2hhcigpIHVzZXMgbWJzdG93Y3MoKQorICAgICAgIDA6IHRoZSB3b3JrYXJvdW5kIGlzIG5vdCB1c2VkOiBQeV9FbmNvZGVMb2NhbGUoKSB1c2VzIHdjc3RvbWJzKCkgYW5kCisgICAgICAgICAgUHlfRGVjb2RlTG9jYWxlKCkgdXNlcyBtYnN0b3djcygpCiAgICAgICAtMTogdW5rbm93biwgbmVlZCB0byBjYWxsIGNoZWNrX2ZvcmNlX2FzY2lpKCkgdG8gZ2V0IHRoZSB2YWx1ZQogKi8KIHN0YXRpYyBpbnQgZm9yY2VfYXNjaWkgPSAtMTsKQEAgLTI0NCwyNCArMjQ1LDI2IEBACiAKIAogLyogRGVjb2RlIGEgYnl0ZSBzdHJpbmcgZnJvbSB0aGUgbG9jYWxlIGVuY29kaW5nIHdpdGggdGhlCi0gICBzdXJyb2dhdGVlc2NhcGUgZXJyb3IgaGFuZGxlciAodW5kZWNvZGFibGUgYnl0ZXMgYXJlIGRlY29kZWQgYXMgY2hhcmFjdGVycwotICAgaW4gcmFuZ2UgVStEQzgwLi5VK0RDRkYpLiBJZiBhIGJ5dGUgc2VxdWVuY2UgY2FuIGJlIGRlY29kZWQgYXMgYSBzdXJyb2dhdGUKKyAgIHN1cnJvZ2F0ZWVzY2FwZSBlcnJvciBoYW5kbGVyOiB1bmRlY29kYWJsZSBieXRlcyBhcmUgZGVjb2RlZCBhcyBjaGFyYWN0ZXJzCisgICBpbiByYW5nZSBVK0RDODAuLlUrRENGRi4gSWYgYSBieXRlIHNlcXVlbmNlIGNhbiBiZSBkZWNvZGVkIGFzIGEgc3Vycm9nYXRlCiAgICBjaGFyYWN0ZXIsIGVzY2FwZSB0aGUgYnl0ZXMgdXNpbmcgdGhlIHN1cnJvZ2F0ZWVzY2FwZSBlcnJvciBoYW5kbGVyIGluc3RlYWQKICAgIG9mIGRlY29kaW5nIHRoZW0uCiAKLSAgIFVzZSBfUHlfd2NoYXIyY2hhcigpIHRvIGVuY29kZSB0aGUgY2hhcmFjdGVyIHN0cmluZyBiYWNrIHRvIGEgYnl0ZSBzdHJpbmcuCisgICBSZXR1cm4gYSBwb2ludGVyIHRvIGEgbmV3bHkgYWxsb2NhdGVkIHdpZGUgY2hhcmFjdGVyIHN0cmluZywgdXNlCisgICBQeU1lbV9SYXdGcmVlKCkgdG8gZnJlZSB0aGUgbWVtb3J5LiBJZiBzaXplIGlzIG5vdCBOVUxMLCB3cml0ZSB0aGUgbnVtYmVyIG9mCisgICB3aWRlIGNoYXJhY3RlcnMgZXhjbHVkaW5nIHRoZSBudWxsIGNoYXJhY3RlciBpbnRvICpzaXplCiAKLSAgIFJldHVybiBhIHBvaW50ZXIgdG8gYSBuZXdseSBhbGxvY2F0ZWQgd2lkZSBjaGFyYWN0ZXIgc3RyaW5nICh1c2UKLSAgIFB5TWVtX1Jhd0ZyZWUoKSB0byBmcmVlIHRoZSBtZW1vcnkpIGFuZCB3cml0ZSB0aGUgbnVtYmVyIG9mIHdyaXR0ZW4gd2lkZQotICAgY2hhcmFjdGVycyBleGNsdWRpbmcgdGhlIG51bGwgY2hhcmFjdGVyIGludG8gKnNpemUgaWYgc2l6ZSBpcyBub3QgTlVMTCwgb3IKLSAgIE5VTEwgb24gZXJyb3IgKGRlY29kaW5nIG9yIG1lbW9yeSBhbGxvY2F0aW9uIGVycm9yKS4gSWYgc2l6ZSBpcyBub3QgTlVMTCwKLSAgICpzaXplIGlzIHNldCB0byAoc2l6ZV90KS0xIG9uIG1lbW9yeSBlcnJvciBhbmQgKHNpemVfdCktMiBvbiBkZWNvZGluZwotICAgZXJyb3IuCisgICBSZXR1cm4gTlVMTCBvbiBkZWNvZGluZyBlcnJvciBvciBtZW1vcnkgYWxsb2NhdGlvbiBlcnJvci4gSWYgKnNpemUqIGlzIG5vdAorICAgTlVMTCwgKnNpemUgaXMgc2V0IHRvIChzaXplX3QpLTEgb24gbWVtb3J5IGVycm9yIG9yIHNldCB0byAoc2l6ZV90KS0yIG9uCisgICBkZWNvZGluZyBlcnJvci4KIAotICAgQ29udmVyc2lvbiBlcnJvcnMgc2hvdWxkIG5ldmVyIGhhcHBlbiwgdW5sZXNzIHRoZXJlIGlzIGEgYnVnIGluIHRoZSBDCi0gICBsaWJyYXJ5LiAqLworICAgRGVjb2RpbmcgZXJyb3JzIHNob3VsZCBuZXZlciBoYXBwZW4sIHVubGVzcyB0aGVyZSBpcyBhIGJ1ZyBpbiB0aGUgQworICAgbGlicmFyeS4KKworICAgVXNlIHRoZSBQeV9FbmNvZGVMb2NhbGUoKSBmdW5jdGlvbiB0byBlbmNvZGUgdGhlIGNoYXJhY3RlciBzdHJpbmcgYmFjayB0byBhCisgICBieXRlIHN0cmluZy4gKi8KIHdjaGFyX3QqCi1fUHlfY2hhcjJ3Y2hhcihjb25zdCBjaGFyKiBhcmcsIHNpemVfdCAqc2l6ZSkKK1B5X0RlY29kZUxvY2FsZShjb25zdCBjaGFyKiBhcmcsIHNpemVfdCAqc2l6ZSkKIHsKICNpZmRlZiBfX0FQUExFX18KICAgICB3Y2hhcl90ICp3c3RyOwpAQCAtMzk5LDE5ICs0MDIsMjAgQEAKICNlbmRpZiAgIC8qIF9fQVBQTEVfXyAqLwogfQogCi0vKiBFbmNvZGUgYSAod2lkZSkgY2hhcmFjdGVyIHN0cmluZyB0byB0aGUgbG9jYWxlIGVuY29kaW5nIHdpdGggdGhlCi0gICBzdXJyb2dhdGVlc2NhcGUgZXJyb3IgaGFuZGxlciAoY2hhcmFjdGVycyBpbiByYW5nZSBVK0RDODAuLlUrRENGRiBhcmUKLSAgIGNvbnZlcnRlZCB0byBieXRlcyAweDgwLi4weEZGKS4KKy8qIEVuY29kZSBhIHdpZGUgY2hhcmFjdGVyIHN0cmluZyB0byB0aGUgbG9jYWxlIGVuY29kaW5nIHdpdGggdGhlCisgICBzdXJyb2dhdGVlc2NhcGUgZXJyb3IgaGFuZGxlcjogc3Vycm9nYXRlIGNoYXJhY3RlcnMgaW4gdGhlIHJhbmdlCisgICBVK0RDODAuLlUrRENGRiBhcmUgY29udmVydGVkIHRvIGJ5dGVzIDB4ODAuLjB4RkYuCiAKLSAgIFRoaXMgZnVuY3Rpb24gaXMgdGhlIHJldmVyc2Ugb2YgX1B5X2NoYXIyd2NoYXIoKS4KKyAgIFJldHVybiBhIHBvaW50ZXIgdG8gYSBuZXdseSBhbGxvY2F0ZWQgYnl0ZSBzdHJpbmcsIHVzZSBQeU1lbV9GcmVlKCkgdG8gZnJlZQorICAgdGhlIG1lbW9yeS4gUmV0dXJuIE5VTEwgb24gZW5jb2Rpbmcgb3IgbWVtb3J5IGFsbG9jYXRpb24gZXJyb3IuCiAKLSAgIFJldHVybiBhIHBvaW50ZXIgdG8gYSBuZXdseSBhbGxvY2F0ZWQgYnl0ZSBzdHJpbmcgKHVzZSBQeU1lbV9GcmVlKCkgdG8gZnJlZQotICAgdGhlIG1lbW9yeSksIG9yIE5VTEwgb24gZW5jb2Rpbmcgb3IgbWVtb3J5IGFsbG9jYXRpb24gZXJyb3IuCisgICBJZiBlcnJvcl9wb3MgaXMgbm90IE5VTEwsICplcnJvcl9wb3MgaXMgc2V0IHRvIHRoZSBpbmRleCBvZiB0aGUgaW52YWxpZAorICAgY2hhcmFjdGVyIG9uIGVuY29kaW5nIGVycm9yLCBvciBzZXQgdG8gKHNpemVfdCktMSBvdGhlcndpc2UuCiAKLSAgIElmIGVycm9yX3BvcyBpcyBub3QgTlVMTDogKmVycm9yX3BvcyBpcyB0aGUgaW5kZXggb2YgdGhlIGludmFsaWQgY2hhcmFjdGVyCi0gICBvbiBlbmNvZGluZyBlcnJvciwgb3IgKHNpemVfdCktMSBvdGhlcndpc2UuICovCisgICBVc2UgdGhlIFB5X0RlY29kZUxvY2FsZSgpIGZ1bmN0aW9uIHRvIGRlY29kZSB0aGUgYnl0ZXMgc3RyaW5nIGJhY2sgdG8gYSB3aWRlCisgICBjaGFyYWN0ZXIgc3RyaW5nLiAqLwogY2hhcioKLV9QeV93Y2hhcjJjaGFyKGNvbnN0IHdjaGFyX3QgKnRleHQsIHNpemVfdCAqZXJyb3JfcG9zKQorUHlfRW5jb2RlTG9jYWxlKGNvbnN0IHdjaGFyX3QgKnRleHQsIHNpemVfdCAqZXJyb3JfcG9zKQogewogI2lmZGVmIF9fQVBQTEVfXwogICAgIFB5X3NzaXplX3QgbGVuOwpAQCAtNTMwLDcgKzUzNCw3IEBACiB7CiAgICAgaW50IGVycjsKICAgICBjaGFyICpmbmFtZTsKLSAgICBmbmFtZSA9IF9QeV93Y2hhcjJjaGFyKHBhdGgsIE5VTEwpOworICAgIGZuYW1lID0gUHlfRW5jb2RlTG9jYWxlKHBhdGgsIE5VTEwpOwogICAgIGlmIChmbmFtZSA9PSBOVUxMKSB7CiAgICAgICAgIGVycm5vID0gRUlOVkFMOwogICAgICAgICByZXR1cm4gLTE7CkBAIC01NDEsOCArNTQ1LDE0MSBAQAogfQogI2VuZGlmCiAKLSNpZmRlZiBIQVZFX1NUQVQKIAorI2lmIGRlZmluZWQoSEFWRV9GU1RBVCkgfHwgZGVmaW5lZChNU19XSU5ET1dTKQorCisjaWZkZWYgTVNfV0lORE9XUworc3RhdGljIF9faW50NjQgc2Vjc19iZXR3ZWVuX2Vwb2NocyA9IDExNjQ0NDczNjAwOyAvKiBTZWNvbmRzIGJldHdlZW4gMS4xLjE2MDEgYW5kIDEuMS4xOTcwICovCisKK3N0YXRpYyB2b2lkCitGSUxFX1RJTUVfdG9fdGltZV90X25zZWMoRklMRVRJTUUgKmluX3B0ciwgdGltZV90ICp0aW1lX291dCwgaW50KiBuc2VjX291dCkKK3sKKyAgICAvKiBYWFggZW5kaWFubmVzcy4gU2hvdWxkbid0IG1hdHRlciwgYXMgYWxsIFdpbmRvd3MgaW1wbGVtZW50YXRpb25zIGFyZSBsaXR0bGUtZW5kaWFuICovCisgICAgLyogQ2Fubm90IHNpbXBseSBjYXN0IGFuZCBkZXJlZmVyZW5jZSBpbl9wdHIsCisgICAgICAgc2luY2UgaXQgbWlnaHQgbm90IGJlIGFsaWduZWQgcHJvcGVybHkgKi8KKyAgICBfX2ludDY0IGluOworICAgIG1lbWNweSgmaW4sIGluX3B0ciwgc2l6ZW9mKGluKSk7CisgICAgKm5zZWNfb3V0ID0gKGludCkoaW4gJSAxMDAwMDAwMCkgKiAxMDA7IC8qIEZJTEVUSU1FIGlzIGluIHVuaXRzIG9mIDEwMCBuc2VjLiAqLworICAgICp0aW1lX291dCA9IFB5X1NBRkVfRE9XTkNBU1QoKGluIC8gMTAwMDAwMDApIC0gc2Vjc19iZXR3ZWVuX2Vwb2NocywgX19pbnQ2NCwgdGltZV90KTsKK30KKwordm9pZAorX1B5X3RpbWVfdF90b19GSUxFX1RJTUUodGltZV90IHRpbWVfaW4sIGludCBuc2VjX2luLCBGSUxFVElNRSAqb3V0X3B0cikKK3sKKyAgICAvKiBYWFggZW5kaWFubmVzcyAqLworICAgIF9faW50NjQgb3V0OworICAgIG91dCA9IHRpbWVfaW4gKyBzZWNzX2JldHdlZW5fZXBvY2hzOworICAgIG91dCA9IG91dCAqIDEwMDAwMDAwICsgbnNlY19pbiAvIDEwMDsKKyAgICBtZW1jcHkob3V0X3B0ciwgJm91dCwgc2l6ZW9mKG91dCkpOworfQorCisvKiBCZWxvdywgd2UgKmtub3cqIHRoYXQgdWdvK3IgaXMgMDQ0NCAqLworI2lmIF9TX0lSRUFEICE9IDA0MDAKKyNlcnJvciBVbnN1cHBvcnRlZCBDIGxpYnJhcnkKKyNlbmRpZgorc3RhdGljIGludAorYXR0cmlidXRlc190b19tb2RlKERXT1JEIGF0dHIpCit7CisgICAgaW50IG0gPSAwOworICAgIGlmIChhdHRyICYgRklMRV9BVFRSSUJVVEVfRElSRUNUT1JZKQorICAgICAgICBtIHw9IF9TX0lGRElSIHwgMDExMTsgLyogSUZFWEVDIGZvciB1c2VyLGdyb3VwLG90aGVyICovCisgICAgZWxzZQorICAgICAgICBtIHw9IF9TX0lGUkVHOworICAgIGlmIChhdHRyICYgRklMRV9BVFRSSUJVVEVfUkVBRE9OTFkpCisgICAgICAgIG0gfD0gMDQ0NDsKKyAgICBlbHNlCisgICAgICAgIG0gfD0gMDY2NjsKKyAgICByZXR1cm4gbTsKK30KKwordm9pZAorX1B5X2F0dHJpYnV0ZV9kYXRhX3RvX3N0YXQoQllfSEFORExFX0ZJTEVfSU5GT1JNQVRJT04gKmluZm8sIFVMT05HIHJlcGFyc2VfdGFnLCBzdHJ1Y3QgX1B5X3N0YXRfc3RydWN0ICpyZXN1bHQpCit7CisgICAgbWVtc2V0KHJlc3VsdCwgMCwgc2l6ZW9mKCpyZXN1bHQpKTsKKyAgICByZXN1bHQtPnN0X21vZGUgPSBhdHRyaWJ1dGVzX3RvX21vZGUoaW5mby0+ZHdGaWxlQXR0cmlidXRlcyk7CisgICAgcmVzdWx0LT5zdF9zaXplID0gKCgoX19pbnQ2NClpbmZvLT5uRmlsZVNpemVIaWdoKTw8MzIpICsgaW5mby0+bkZpbGVTaXplTG93OworICAgIHJlc3VsdC0+c3RfZGV2ID0gaW5mby0+ZHdWb2x1bWVTZXJpYWxOdW1iZXI7CisgICAgcmVzdWx0LT5zdF9yZGV2ID0gcmVzdWx0LT5zdF9kZXY7CisgICAgRklMRV9USU1FX3RvX3RpbWVfdF9uc2VjKCZpbmZvLT5mdENyZWF0aW9uVGltZSwgJnJlc3VsdC0+c3RfY3RpbWUsICZyZXN1bHQtPnN0X2N0aW1lX25zZWMpOworICAgIEZJTEVfVElNRV90b190aW1lX3RfbnNlYygmaW5mby0+ZnRMYXN0V3JpdGVUaW1lLCAmcmVzdWx0LT5zdF9tdGltZSwgJnJlc3VsdC0+c3RfbXRpbWVfbnNlYyk7CisgICAgRklMRV9USU1FX3RvX3RpbWVfdF9uc2VjKCZpbmZvLT5mdExhc3RBY2Nlc3NUaW1lLCAmcmVzdWx0LT5zdF9hdGltZSwgJnJlc3VsdC0+c3RfYXRpbWVfbnNlYyk7CisgICAgcmVzdWx0LT5zdF9ubGluayA9IGluZm8tPm5OdW1iZXJPZkxpbmtzOworICAgIHJlc3VsdC0+c3RfaW5vID0gKCgoX19pbnQ2NClpbmZvLT5uRmlsZUluZGV4SGlnaCk8PDMyKSArIGluZm8tPm5GaWxlSW5kZXhMb3c7CisgICAgaWYgKHJlcGFyc2VfdGFnID09IElPX1JFUEFSU0VfVEFHX1NZTUxJTkspIHsKKyAgICAgICAgLyogZmlyc3QgY2xlYXIgdGhlIFNfSUZNVCBiaXRzICovCisgICAgICAgIHJlc3VsdC0+c3RfbW9kZSBePSAocmVzdWx0LT5zdF9tb2RlICYgU19JRk1UKTsKKyAgICAgICAgLyogbm93IHNldCB0aGUgYml0cyB0aGF0IG1ha2UgdGhpcyBhIHN5bWxpbmsgKi8KKyAgICAgICAgcmVzdWx0LT5zdF9tb2RlIHw9IFNfSUZMTks7CisgICAgfQorICAgIHJlc3VsdC0+c3RfZmlsZV9hdHRyaWJ1dGVzID0gaW5mby0+ZHdGaWxlQXR0cmlidXRlczsKK30KKyNlbmRpZgorCisvKiBSZXR1cm4gaW5mb3JtYXRpb24gYWJvdXQgYSBmaWxlLgorCisgICBPbiBQT1NJWCwgdXNlIGZzdGF0KCkuCisKKyAgIE9uIFdpbmRvd3MsIHVzZSBHZXRGaWxlVHlwZSgpIGFuZCBHZXRGaWxlSW5mb3JtYXRpb25CeUhhbmRsZSgpIHdoaWNoIHN1cHBvcnQKKyAgIGZpbGVzIGxhcmdlciB0aGFuIDIgR0IuICBmc3RhdCgpIG1heSBmYWlsIHdpdGggRU9WRVJGTE9XIG9uIGZpbGVzIGxhcmdlcgorICAgdGhhbiAyIEdCIGJlY2F1c2UgdGhlIGZpbGUgc2l6ZSB0eXBlIGlzIGFuIHNpZ25lZCAzMi1iaXQgaW50ZWdlcjogc2VlIGlzc3VlCisgICAjMjMxNTIuCisgICAqLworaW50CitfUHlfZnN0YXQoaW50IGZkLCBzdHJ1Y3QgX1B5X3N0YXRfc3RydWN0ICpyZXN1bHQpCit7CisjaWZkZWYgTVNfV0lORE9XUworICAgIEJZX0hBTkRMRV9GSUxFX0lORk9STUFUSU9OIGluZm87CisgICAgSEFORExFIGg7CisgICAgaW50IHR5cGU7CisKKyAgICBpZiAoIV9QeVZlcmlmeV9mZChmZCkpCisgICAgICAgIGggPSBJTlZBTElEX0hBTkRMRV9WQUxVRTsKKyAgICBlbHNlCisgICAgICAgIGggPSAoSEFORExFKV9nZXRfb3NmaGFuZGxlKGZkKTsKKworICAgIGVycm5vID0gMDsKKworICAgIGlmIChoID09IElOVkFMSURfSEFORExFX1ZBTFVFKSB7CisgICAgICAgIGVycm5vID0gRUJBREY7CisgICAgICAgIHJldHVybiAtMTsKKyAgICB9CisgICAgbWVtc2V0KHJlc3VsdCwgMCwgc2l6ZW9mKCpyZXN1bHQpKTsKKworICAgIHR5cGUgPSBHZXRGaWxlVHlwZShoKTsKKyAgICBpZiAodHlwZSA9PSBGSUxFX1RZUEVfVU5LTk9XTikgeworICAgICAgICBEV09SRCBlcnJvciA9IEdldExhc3RFcnJvcigpOworICAgICAgICBpZiAoZXJyb3IgIT0gMCkgeworICAgICAgICAgICAgZXJybm8gPSBFSU5WQUw7CisgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgIH0KKyAgICAgICAgLyogZWxzZTogdmFsaWQgYnV0IHVua25vd24gZmlsZSAqLworICAgIH0KKworICAgIGlmICh0eXBlICE9IEZJTEVfVFlQRV9ESVNLKSB7CisgICAgICAgIGlmICh0eXBlID09IEZJTEVfVFlQRV9DSEFSKQorICAgICAgICAgICAgcmVzdWx0LT5zdF9tb2RlID0gX1NfSUZDSFI7CisgICAgICAgIGVsc2UgaWYgKHR5cGUgPT0gRklMRV9UWVBFX1BJUEUpCisgICAgICAgICAgICByZXN1bHQtPnN0X21vZGUgPSBfU19JRklGTzsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQorCisgICAgaWYgKCFHZXRGaWxlSW5mb3JtYXRpb25CeUhhbmRsZShoLCAmaW5mbykpIHsKKyAgICAgICAgZXJybm8gPSBFSU5WQUw7CisgICAgICAgIHJldHVybiAtMTsKKyAgICB9CisKKyAgICBfUHlfYXR0cmlidXRlX2RhdGFfdG9fc3RhdCgmaW5mbywgMCwgcmVzdWx0KTsKKyAgICAvKiBzcGVjaWZpYyB0byBmc3RhdCgpICovCisgICAgcmVzdWx0LT5zdF9pbm8gPSAoKChfX2ludDY0KWluZm8ubkZpbGVJbmRleEhpZ2gpPDwzMikgKyBpbmZvLm5GaWxlSW5kZXhMb3c7CisgICAgcmV0dXJuIDA7CisjZWxzZQorICAgIHJldHVybiBmc3RhdChmZCwgcmVzdWx0KTsKKyNlbmRpZgorfQorI2VuZGlmICAgLyogSEFWRV9GU1RBVCB8fCBNU19XSU5ET1dTICovCisKKworI2lmZGVmIEhBVkVfU1RBVAogLyogQ2FsbCBfd3N0YXQoKSBvbiBXaW5kb3dzLCBvciBlbmNvZGUgdGhlIHBhdGggdG8gdGhlIGZpbGVzeXN0ZW0gZW5jb2RpbmcgYW5kCiAgICBjYWxsIHN0YXQoKSBvdGhlcndpc2UuIE9ubHkgZmlsbCBzdF9tb2RlIGF0dHJpYnV0ZSBvbiBXaW5kb3dzLgogCkBAIC01NzUsNyArNzEyLDggQEAKICNlbmRpZgogfQogCi0jZW5kaWYKKyNlbmRpZiAgIC8qIEhBVkVfU1RBVCAqLworCiAKIHN0YXRpYyBpbnQKIGdldF9pbmhlcml0YWJsZShpbnQgZmQsIGludCByYWlzZSkKQEAgLTgxNCw3ICs5NTIsNyBAQAogICAgICAgICBlcnJubyA9IEVJTlZBTDsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQotICAgIGNwYXRoID0gX1B5X3djaGFyMmNoYXIocGF0aCwgTlVMTCk7CisgICAgY3BhdGggPSBQeV9FbmNvZGVMb2NhbGUocGF0aCwgTlVMTCk7CiAgICAgaWYgKGNwYXRoID09IE5VTEwpCiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIGYgPSBmb3BlbihjcGF0aCwgY21vZGUpOwpAQCAtOTA1LDcgKzEwNDMsNyBAQAogICAgIGludCByZXM7CiAgICAgc2l6ZV90IHIxOwogCi0gICAgY3BhdGggPSBfUHlfd2NoYXIyY2hhcihwYXRoLCBOVUxMKTsKKyAgICBjcGF0aCA9IFB5X0VuY29kZUxvY2FsZShwYXRoLCBOVUxMKTsKICAgICBpZiAoY3BhdGggPT0gTlVMTCkgewogICAgICAgICBlcnJubyA9IEVJTlZBTDsKICAgICAgICAgcmV0dXJuIC0xOwpAQCAtOTE5LDcgKzEwNTcsNyBAQAogICAgICAgICByZXR1cm4gLTE7CiAgICAgfQogICAgIGNidWZbcmVzXSA9ICdcMCc7IC8qIGJ1ZiB3aWxsIGJlIG51bGwgdGVybWluYXRlZCAqLwotICAgIHdidWYgPSBfUHlfY2hhcjJ3Y2hhcihjYnVmLCAmcjEpOworICAgIHdidWYgPSBQeV9EZWNvZGVMb2NhbGUoY2J1ZiwgJnIxKTsKICAgICBpZiAod2J1ZiA9PSBOVUxMKSB7CiAgICAgICAgIGVycm5vID0gRUlOVkFMOwogICAgICAgICByZXR1cm4gLTE7CkBAIC05NTAsNyArMTA4OCw3IEBACiAgICAgd2NoYXJfdCAqd3Jlc29sdmVkX3BhdGg7CiAgICAgY2hhciAqcmVzOwogICAgIHNpemVfdCByOwotICAgIGNwYXRoID0gX1B5X3djaGFyMmNoYXIocGF0aCwgTlVMTCk7CisgICAgY3BhdGggPSBQeV9FbmNvZGVMb2NhbGUocGF0aCwgTlVMTCk7CiAgICAgaWYgKGNwYXRoID09IE5VTEwpIHsKICAgICAgICAgZXJybm8gPSBFSU5WQUw7CiAgICAgICAgIHJldHVybiBOVUxMOwpAQCAtOTYwLDcgKzEwOTgsNyBAQAogICAgIGlmIChyZXMgPT0gTlVMTCkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAKLSAgICB3cmVzb2x2ZWRfcGF0aCA9IF9QeV9jaGFyMndjaGFyKGNyZXNvbHZlZF9wYXRoLCAmcik7CisgICAgd3Jlc29sdmVkX3BhdGggPSBQeV9EZWNvZGVMb2NhbGUoY3Jlc29sdmVkX3BhdGgsICZyKTsKICAgICBpZiAod3Jlc29sdmVkX3BhdGggPT0gTlVMTCkgewogICAgICAgICBlcnJubyA9IEVJTlZBTDsKICAgICAgICAgcmV0dXJuIE5VTEw7CkBAIC05OTMsNyArMTEzMSw3IEBACiAKICAgICBpZiAoZ2V0Y3dkKGZuYW1lLCBQeV9BUlJBWV9MRU5HVEgoZm5hbWUpKSA9PSBOVUxMKQogICAgICAgICByZXR1cm4gTlVMTDsKLSAgICB3bmFtZSA9IF9QeV9jaGFyMndjaGFyKGZuYW1lLCAmbGVuKTsKKyAgICB3bmFtZSA9IFB5X0RlY29kZUxvY2FsZShmbmFtZSwgJmxlbik7CiAgICAgaWYgKHduYW1lID09IE5VTEwpCiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIGlmIChzaXplIDw9IGxlbikgewpAQCAtMTA3NSwzICsxMjEzLDE1NSBAQAogICAgIHJldHVybiBmZDsKIH0KIAorI2lmbmRlZiBNU19XSU5ET1dTCisvKiBHZXQgdGhlIGJsb2NraW5nIG1vZGUgb2YgdGhlIGZpbGUgZGVzY3JpcHRvci4KKyAgIFJldHVybiAwIGlmIHRoZSBPX05PTkJMT0NLIGZsYWcgaXMgc2V0LCAxIGlmIHRoZSBmbGFnIGlzIGNsZWFyZWQsCisgICByYWlzZSBhbiBleGNlcHRpb24gYW5kIHJldHVybiAtMSBvbiBlcnJvci4gKi8KK2ludAorX1B5X2dldF9ibG9ja2luZyhpbnQgZmQpCit7CisgICAgaW50IGZsYWdzID0gZmNudGwoZmQsIEZfR0VURkwsIDApOworICAgIGlmIChmbGFncyA8IDApIHsKKyAgICAgICAgUHlFcnJfU2V0RnJvbUVycm5vKFB5RXhjX09TRXJyb3IpOworICAgICAgICByZXR1cm4gLTE7CisgICAgfQorCisgICAgcmV0dXJuICEoZmxhZ3MgJiBPX05PTkJMT0NLKTsKK30KKworLyogU2V0IHRoZSBibG9ja2luZyBtb2RlIG9mIHRoZSBzcGVjaWZpZWQgZmlsZSBkZXNjcmlwdG9yLgorCisgICBTZXQgdGhlIE9fTk9OQkxPQ0sgZmxhZyBpZiBibG9ja2luZyBpcyBGYWxzZSwgY2xlYXIgdGhlIE9fTk9OQkxPQ0sgZmxhZworICAgb3RoZXJ3aXNlLgorCisgICBSZXR1cm4gMCBvbiBzdWNjZXNzLCByYWlzZSBhbiBleGNlcHRpb24gYW5kIHJldHVybiAtMSBvbiBlcnJvci4gKi8KK2ludAorX1B5X3NldF9ibG9ja2luZyhpbnQgZmQsIGludCBibG9ja2luZykKK3sKKyNpZiBkZWZpbmVkKEhBVkVfU1lTX0lPQ1RMX0gpICYmIGRlZmluZWQoRklPTkJJTykKKyAgICBpbnQgYXJnID0gIWJsb2NraW5nOworICAgIGlmIChpb2N0bChmZCwgRklPTkJJTywgJmFyZykgPCAwKQorICAgICAgICBnb3RvIGVycm9yOworI2Vsc2UKKyAgICBpbnQgZmxhZ3MsIHJlczsKKworICAgIGZsYWdzID0gZmNudGwoZmQsIEZfR0VURkwsIDApOworICAgIGlmIChmbGFncyA8IDApCisgICAgICAgIGdvdG8gZXJyb3I7CisKKyAgICBpZiAoYmxvY2tpbmcpCisgICAgICAgIGZsYWdzID0gZmxhZ3MgJiAofk9fTk9OQkxPQ0spOworICAgIGVsc2UKKyAgICAgICAgZmxhZ3MgPSBmbGFncyB8IE9fTk9OQkxPQ0s7CisKKyAgICByZXMgPSBmY250bChmZCwgRl9TRVRGTCwgZmxhZ3MpOworICAgIGlmIChyZXMgPCAwKQorICAgICAgICBnb3RvIGVycm9yOworI2VuZGlmCisgICAgcmV0dXJuIDA7CisKK2Vycm9yOgorICAgIFB5RXJyX1NldEZyb21FcnJubyhQeUV4Y19PU0Vycm9yKTsKKyAgICByZXR1cm4gLTE7Cit9CisjZW5kaWYKKworI2lmZGVmIF9NU0NfVkVSCisjaWYgX01TQ19WRVIgPj0gMTkwMAorCisvKiBUaGlzIGZ1bmN0aW9uIGxldHMgdGhlIFdpbmRvd3MgQ1JUIHZhbGlkYXRlIHRoZSBmaWxlIGhhbmRsZSB3aXRob3V0CisgICB0ZXJtaW5hdGluZyB0aGUgcHJvY2VzcyBpZiBpdCdzIGludmFsaWQuICovCitpbnQKK19QeVZlcmlmeV9mZChpbnQgZmQpCit7CisgICAgaW50cHRyX3Qgb3NoOworICAgIC8qIEZhc3QgY2hlY2sgZm9yIHRoZSBvbmx5IGNvbmRpdGlvbiB3ZSBrbm93ICovCisgICAgaWYgKGZkIDwgMCkgeworICAgICAgICBfc2V0X2Vycm5vKEVCQURGKTsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQorICAgIG9zaCA9IF9nZXRfb3NmaGFuZGxlKGZkKTsKKyAgICByZXR1cm4gb3NoICE9IChpbnRwdHJfdCktMTsKK30KKworI2VsaWYgX01TQ19WRVIgPj0gMTQwMAorLyogTGVnYWN5IGltcGxlbWVudGF0aW9uIG9mIF9QeVZlcmlmeV9mZCB3aGlsZSB0cmFuc2l0aW9uaW5nIHRvCisgKiBNU1ZDIDE0LjAuIFRoaXMgc2hvdWxkIGV2ZW50dWFsbHkgYmUgcmVtb3ZlZC4gKGlzc3VlMjM1MjQpCisgKi8KKworLyogTWljcm9zb2Z0IENSVCBpbiBWUzIwMDUgYW5kIGhpZ2hlciB3aWxsIHZlcmlmeSB0aGF0IGEgZmlsZWhhbmRsZSBpcworICogdmFsaWQgYW5kIHJhaXNlIGFuIGFzc2VydGlvbiBpZiBpdCBpc24ndC4KKyAqIE5vcm1hbGx5LCBhbiBpbnZhbGlkIGZkIGlzIGxpa2VseSB0byBiZSBhIEMgcHJvZ3JhbSBlcnJvciBhbmQgdGhlcmVmb3JlCisgKiBhbiBhc3NlcnRpb24gY2FuIGJlIHVzZWZ1bCwgYnV0IGl0IGRvZXMgY29udHJhZGljdCB0aGUgUE9TSVggc3RhbmRhcmQKKyAqIHdoaWNoIGZvciB3cml0ZSgyKSBzdGF0ZXM6CisgKiAgICAiT3RoZXJ3aXNlLCAtMSBzaGFsbCBiZSByZXR1cm5lZCBhbmQgZXJybm8gc2V0IHRvIGluZGljYXRlIHRoZSBlcnJvci4iCisgKiAgICAiW0VCQURGXSBUaGUgZmlsZGVzIGFyZ3VtZW50IGlzIG5vdCBhIHZhbGlkIGZpbGUgZGVzY3JpcHRvciBvcGVuIGZvcgorICogICAgIHdyaXRpbmcuIgorICogRnVydGhlcm1vcmUsIHB5dGhvbiBhbGxvd3MgdGhlIHVzZXIgdG8gZW50ZXIgYW55IG9sZCBpbnRlZ2VyCisgKiBhcyBhIGZkIGFuZCBzaG91bGQgbWVyZWx5IHJhaXNlIGEgcHl0aG9uIGV4Y2VwdGlvbiBvbiBlcnJvci4KKyAqIFRoZSBNaWNyb3NvZnQgQ1JUIGRvZXNuJ3QgcHJvdmlkZSBhbiBvZmZpY2lhbCB3YXkgdG8gY2hlY2sgZm9yIHRoZQorICogdmFsaWRpdHkgb2YgYSBmaWxlIGRlc2NyaXB0b3IsIGJ1dCB3ZSBjYW4gZW11bGF0ZSBpdHMgaW50ZXJuYWwgYmVoYXZpb3VyCisgKiBieSB1c2luZyB0aGUgZXhwb3J0ZWQgX19waW5mbyBkYXRhIG1lbWJlciBhbmQga25vd2xlZGdlIG9mIHRoZQorICogaW50ZXJuYWwgc3RydWN0dXJlcyBpbnZvbHZlZC4KKyAqIFRoZSBzdHJ1Y3R1cmVzIGJlbG93IG11c3QgYmUgdXBkYXRlZCBmb3IgZWFjaCB2ZXJzaW9uIG9mIHZpc3VhbCBzdHVkaW8KKyAqIGFjY29yZGluZyB0byB0aGUgZmlsZSBpbnRlcm5hbC5oIGluIHRoZSBDUlQgc291cmNlLCB1bnRpbCBNUyBjb21lcworICogdXAgd2l0aCBhIGxlc3MgaGFja3kgd2F5IHRvIGRvIHRoaXMuCisgKiAoYWxsIG9mIHRoaXMgaXMgdG8gYXZvaWQgZ2xvYmFsbHkgbW9kaWZ5aW5nIHRoZSBDUlQgYmVoYXZpb3VyIHVzaW5nCisgKiBfc2V0X2ludmFsaWRfcGFyYW1ldGVyX2hhbmRsZXIoKSBhbmQgX0NydFNldFJlcG9ydE1vZGUoKSkKKyAqLworLyogVGhlIGFjdHVhbCBzaXplIG9mIHRoZSBzdHJ1Y3R1cmUgaXMgZGV0ZXJtaW5lZCBhdCBydW50aW1lLgorICogT25seSB0aGUgZmlyc3QgaXRlbXMgbXVzdCBiZSBwcmVzZW50LgorICovCit0eXBlZGVmIHN0cnVjdCB7CisgICAgaW50cHRyX3Qgb3NmaG5kOworICAgIGNoYXIgb3NmaWxlOworfSBteV9pb2luZm87CisKK2V4dGVybiBfX2RlY2xzcGVjKGRsbGltcG9ydCkgY2hhciAqIF9fcGlvaW5mb1tdOworI2RlZmluZSBJT0lORk9fTDJFIDUKKyNkZWZpbmUgSU9JTkZPX0FSUkFZUyA2NAorI2RlZmluZSBJT0lORk9fQVJSQVlfRUxUUyAgICgxIDw8IElPSU5GT19MMkUpCisjZGVmaW5lIF9OSEFORExFXyAgICAgICAgICAgKElPSU5GT19BUlJBWVMgKiBJT0lORk9fQVJSQVlfRUxUUykKKyNkZWZpbmUgRk9QRU4gMHgwMQorI2RlZmluZSBfTk9fQ09OU09MRV9GSUxFTk8gKGludHB0cl90KS0yCisKKy8qIFRoaXMgZnVuY3Rpb24gZW11bGF0ZXMgd2hhdCB0aGUgd2luZG93cyBDUlQgZG9lcyB0byB2YWxpZGF0ZSBmaWxlIGhhbmRsZXMgKi8KK2ludAorX1B5VmVyaWZ5X2ZkKGludCBmZCkKK3sKKyAgICBjb25zdCBpbnQgaTEgPSBmZCA+PiBJT0lORk9fTDJFOworICAgIGNvbnN0IGludCBpMiA9IGZkICYgKCgxIDw8IElPSU5GT19MMkUpIC0gMSk7CisKKyAgICBzdGF0aWMgc2l6ZV90IHNpemVvZl9pb2luZm8gPSAwOworCisgICAgLyogRGV0ZXJtaW5lIHRoZSBhY3R1YWwgc2l6ZSBvZiB0aGUgaW9pbmZvIHN0cnVjdHVyZSwKKyAgICAgKiBhcyB1c2VkIGJ5IHRoZSBDUlQgbG9hZGVkIGluIG1lbW9yeQorICAgICAqLworICAgIGlmIChzaXplb2ZfaW9pbmZvID09IDAgJiYgX19waW9pbmZvWzBdICE9IE5VTEwpIHsKKyAgICAgICAgc2l6ZW9mX2lvaW5mbyA9IF9tc2l6ZShfX3Bpb2luZm9bMF0pIC8gSU9JTkZPX0FSUkFZX0VMVFM7CisgICAgfQorICAgIGlmIChzaXplb2ZfaW9pbmZvID09IDApIHsKKyAgICAgICAgLyogVGhpcyBzaG91bGQgbm90IGhhcHBlbi4uLiAqLworICAgICAgICBnb3RvIGZhaWw7CisgICAgfQorCisgICAgLyogU2VlIHRoYXQgaXQgaXNuJ3QgYSBzcGVjaWFsIENMRUFSIGZpbGVubyAqLworICAgIGlmIChmZCAhPSBfTk9fQ09OU09MRV9GSUxFTk8pIHsKKyAgICAgICAgLyogTWljcm9zb2Z0IENSVCB3b3VsZCBjaGVjayB0aGF0IDA8PWZkPF9uaGFuZGxlIGJ1dCB3ZSBjYW4ndCBkbyB0aGF0LiAgSW5zdGVhZAorICAgICAgICAgKiB3ZSBjaGVjayBwb2ludGVyIHZhbGlkaXR5IGFuZCBvdGhlciBpbmZvCisgICAgICAgICAqLworICAgICAgICBpZiAoMCA8PSBpMSAmJiBpMSA8IElPSU5GT19BUlJBWVMgJiYgX19waW9pbmZvW2kxXSAhPSBOVUxMKSB7CisgICAgICAgICAgICAvKiBmaW5hbGx5LCBjaGVjayB0aGF0IHRoZSBmaWxlIGlzIG9wZW4gKi8KKyAgICAgICAgICAgIG15X2lvaW5mbyogaW5mbyA9IChteV9pb2luZm8qKShfX3Bpb2luZm9baTFdICsgaTIgKiBzaXplb2ZfaW9pbmZvKTsKKyAgICAgICAgICAgIGlmIChpbmZvLT5vc2ZpbGUgJiBGT1BFTikgeworICAgICAgICAgICAgICAgIHJldHVybiAxOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQorICBmYWlsOgorICAgIGVycm5vID0gRUJBREY7CisgICAgcmV0dXJuIDA7Cit9CisKKyNlbmRpZiAvKiBfTVNDX1ZFUiA+PSAxOTAwIHx8IF9NU0NfVkVSID49IDE0MDAgKi8KKyNlbmRpZiAvKiBkZWZpbmVkIF9NU0NfVkVSICovCmRpZmYgLS1naXQgYS9QeXRob24vZm9ybWF0dGVyX3VuaWNvZGUuYyBiL1B5dGhvbi9mb3JtYXR0ZXJfdW5pY29kZS5jCmluZGV4IGUzYTgxNDkuLjA1NmJiNzYgMTAwNjQ0Ci0tLSBhL1B5dGhvbi9mb3JtYXR0ZXJfdW5pY29kZS5jCisrKyBiL1B5dGhvbi9mb3JtYXR0ZXJfdW5pY29kZS5jCkBAIC04NDYsNiArODQ2LDEzIEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiBmb3JtYXQgc3BlY2lmaWVyICdjJyIpOwogICAgICAgICAgICAgZ290byBkb25lOwogICAgICAgICB9CisgICAgICAgIC8qIGVycm9yIHRvIHJlcXVlc3QgYWx0ZXJuYXRlIGZvcm1hdCAqLworICAgICAgICBpZiAoZm9ybWF0LT5hbHRlcm5hdGUpIHsKKyAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICJBbHRlcm5hdGUgZm9ybSAoIykgbm90IGFsbG93ZWQgd2l0aCBpbnRlZ2VyIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICIgZm9ybWF0IHNwZWNpZmllciAnYyciKTsKKyAgICAgICAgICAgIGdvdG8gZG9uZTsKKyAgICAgICAgfQogCiAgICAgICAgIC8qIHRha2VuIGZyb20gdW5pY29kZW9iamVjdC5jIGZvcm1hdGNoYXIoKSAqLwogICAgICAgICAvKiBJbnRlZ2VyIGlucHV0IHRydW5jYXRlZCB0byBhIGNoYXJhY3RlciAqLwpkaWZmIC0tZ2l0IGEvUHl0aG9uL2Zyb3plbm1haW4uYyBiL1B5dGhvbi9mcm96ZW5tYWluLmMKaW5kZXggYjA1Yzk0YS4uZGU4YmQzNSAxMDA2NDQKLS0tIGEvUHl0aG9uL2Zyb3plbm1haW4uYworKysgYi9QeXRob24vZnJvemVubWFpbi5jCkBAIC01NCw3ICs1NCw3IEBACiAKICAgICBzZXRsb2NhbGUoTENfQUxMLCAiIik7CiAgICAgZm9yIChpID0gMDsgaSA8IGFyZ2M7IGkrKykgewotICAgICAgICBhcmd2X2NvcHlbaV0gPSBfUHlfY2hhcjJ3Y2hhcihhcmd2W2ldLCBOVUxMKTsKKyAgICAgICAgYXJndl9jb3B5W2ldID0gUHlfRGVjb2RlTG9jYWxlKGFyZ3ZbaV0sIE5VTEwpOwogICAgICAgICBhcmd2X2NvcHkyW2ldID0gYXJndl9jb3B5W2ldOwogICAgICAgICBpZiAoIWFyZ3ZfY29weVtpXSkgewogICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICJVbmFibGUgdG8gZGVjb2RlIHRoZSBjb21tYW5kIGxpbmUgYXJndW1lbnQgIyVpXG4iLApkaWZmIC0tZ2l0IGEvUHl0aG9uL2dldGFyZ3MuYyBiL1B5dGhvbi9nZXRhcmdzLmMKaW5kZXggM2Y0N2IyMS4uZjBmOGUzOSAxMDA2NDQKLS0tIGEvUHl0aG9uL2dldGFyZ3MuYworKysgYi9QeXRob24vZ2V0YXJncy5jCkBAIC04NzIsMTAgKzg3MiwxMCBAQAogICAgICAgICAgICAgU1RPUkVfU0laRShjb3VudCk7CiAgICAgICAgICAgICBmb3JtYXQrKzsKICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIGlmIChzdHJsZW4oKnApICE9IGNvdW50KQotICAgICAgICAgICAgICAgIHJldHVybiBjb252ZXJ0ZXJyKAotICAgICAgICAgICAgICAgICAgICAiYnl0ZXMgd2l0aG91dCBudWxsIGJ5dGVzIiwKLSAgICAgICAgICAgICAgICAgICAgYXJnLCBtc2didWYsIGJ1ZnNpemUpOworICAgICAgICAgICAgaWYgKHN0cmxlbigqcCkgIT0gKHNpemVfdCljb3VudCkgeworICAgICAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLCAiZW1iZWRkZWQgbnVsbCBieXRlIik7CisgICAgICAgICAgICAgICAgUkVUVVJOX0VSUl9PQ0NVUlJFRDsKKyAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgICAgICBicmVhazsKICAgICB9CkBAIC05NDgsMTYgKzk0OCwxNSBAQAogICAgICAgICAgICAgICAgIGlmIChzYXJnID09IE5VTEwpCiAgICAgICAgICAgICAgICAgICAgIHJldHVybiBjb252ZXJ0ZXJyKENPTlZfVU5JQ09ERSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJnLCBtc2didWYsIGJ1ZnNpemUpOworICAgICAgICAgICAgICAgIGlmIChzdHJsZW4oc2FyZykgIT0gKHNpemVfdClsZW4pIHsKKyAgICAgICAgICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsICJlbWJlZGRlZCBudWxsIGNoYXJhY3RlciIpOworICAgICAgICAgICAgICAgICAgICBSRVRVUk5fRVJSX09DQ1VSUkVEOworICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAqcCA9IHNhcmc7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgcmV0dXJuIGNvbnZlcnRlcnIoYyA9PSAneicgPyAic3RyIG9yIE5vbmUiIDogInN0ciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJnLCBtc2didWYsIGJ1ZnNpemUpOwotICAgICAgICAgICAgaWYgKCpwICE9IE5VTEwgJiYgc2FyZyAhPSBOVUxMICYmIChQeV9zc2l6ZV90KSBzdHJsZW4oKnApICE9IGxlbikKLSAgICAgICAgICAgICAgICByZXR1cm4gY29udmVydGVycigKLSAgICAgICAgICAgICAgICAgICAgYyA9PSAneicgPyAic3RyIHdpdGhvdXQgbnVsbCBjaGFyYWN0ZXJzIG9yIE5vbmUiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogInN0ciB3aXRob3V0IG51bGwgY2hhcmFjdGVycyIsCi0gICAgICAgICAgICAgICAgICAgIGFyZywgbXNnYnVmLCBidWZzaXplKTsKICAgICAgICAgfQogICAgICAgICBicmVhazsKICAgICB9CkBAIC05OTQsMTAgKzk5MywxMCBAQAogICAgICAgICAgICAgICAgICpwID0gUHlVbmljb2RlX0FzVW5pY29kZUFuZFNpemUoYXJnLCAmbGVuKTsKICAgICAgICAgICAgICAgICBpZiAoKnAgPT0gTlVMTCkKICAgICAgICAgICAgICAgICAgICAgUkVUVVJOX0VSUl9PQ0NVUlJFRDsKLSAgICAgICAgICAgICAgICBpZiAoUHlfVU5JQ09ERV9zdHJsZW4oKnApICE9IGxlbikKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNvbnZlcnRlcnIoCi0gICAgICAgICAgICAgICAgICAgICAgICAic3RyIHdpdGhvdXQgbnVsbCBjaGFyYWN0ZXJzIG9yIE5vbmUiLAotICAgICAgICAgICAgICAgICAgICAgICAgYXJnLCBtc2didWYsIGJ1ZnNpemUpOworICAgICAgICAgICAgICAgIGlmIChQeV9VTklDT0RFX3N0cmxlbigqcCkgIT0gKHNpemVfdClsZW4pIHsKKyAgICAgICAgICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsICJlbWJlZGRlZCBudWxsIGNoYXJhY3RlciIpOworICAgICAgICAgICAgICAgICAgICBSRVRVUk5fRVJSX09DQ1VSUkVEOworICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgICAgIHJldHVybiBjb252ZXJ0ZXJyKGMgPT0gJ1onID8gInN0ciBvciBOb25lIiA6ICJzdHIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyZywgbXNnYnVmLCBidWZzaXplKTsKQEAgLTEyNDUsNyArMTI0NCw4IEBACiAgICAgICAgICAgIHN1cHBvcnRzIGl0IGRpcmVjdGx5LiAqLwogICAgICAgICBpZiAoUHlPYmplY3RfR2V0QnVmZmVyKGFyZywgKFB5X2J1ZmZlciopcCwgUHlCVUZfV1JJVEFCTEUpIDwgMCkgewogICAgICAgICAgICAgUHlFcnJfQ2xlYXIoKTsKLSAgICAgICAgICAgIHJldHVybiBjb252ZXJ0ZXJyKCJyZWFkLXdyaXRlIGJ1ZmZlciIsIGFyZywgbXNnYnVmLCBidWZzaXplKTsKKyAgICAgICAgICAgIHJldHVybiBjb252ZXJ0ZXJyKCJyZWFkLXdyaXRlIGJ5dGVzLWxpa2Ugb2JqZWN0IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyZywgbXNnYnVmLCBidWZzaXplKTsKICAgICAgICAgfQogICAgICAgICBpZiAoIVB5QnVmZmVyX0lzQ29udGlndW91cygoUHlfYnVmZmVyKilwLCAnQycpKSB7CiAgICAgICAgICAgICBQeUJ1ZmZlcl9SZWxlYXNlKChQeV9idWZmZXIqKXApOwpAQCAtMTI4Myw3ICsxMjgzLDcgQEAKICAgICAqZXJybXNnID0gTlVMTDsKICAgICAqcCA9IE5VTEw7CiAgICAgaWYgKHBiICE9IE5VTEwgJiYgcGItPmJmX3JlbGVhc2VidWZmZXIgIT0gTlVMTCkgewotICAgICAgICAqZXJybXNnID0gInJlYWQtb25seSBwaW5uZWQgYnVmZmVyIjsKKyAgICAgICAgKmVycm1zZyA9ICJyZWFkLW9ubHkgYnl0ZXMtbGlrZSBvYmplY3QiOwogICAgICAgICByZXR1cm4gLTE7CiAgICAgfQogCkBAIC0xMjk5LDcgKzEyOTksNyBAQAogZ2V0YnVmZmVyKFB5T2JqZWN0ICphcmcsIFB5X2J1ZmZlciAqdmlldywgY2hhciAqKmVycm1zZykKIHsKICAgICBpZiAoUHlPYmplY3RfR2V0QnVmZmVyKGFyZywgdmlldywgUHlCVUZfU0lNUExFKSAhPSAwKSB7Ci0gICAgICAgICplcnJtc2cgPSAiYnl0ZXMgb3IgYnVmZmVyIjsKKyAgICAgICAgKmVycm1zZyA9ICJieXRlcy1saWtlIG9iamVjdCI7CiAgICAgICAgIHJldHVybiAtMTsKICAgICB9CiAgICAgaWYgKCFQeUJ1ZmZlcl9Jc0NvbnRpZ3VvdXModmlldywgJ0MnKSkgewpkaWZmIC0tZ2l0IGEvUHl0aG9uL2dyYW1pbml0LmMgYi9QeXRob24vZ3JhbWluaXQuYwppbmRleCBlMDQ5OTliLi45Zjc5ZDU5IDEwMDY0NAotLS0gYS9QeXRob24vZ3JhbWluaXQuYworKysgYi9QeXRob24vZ3JhbWluaXQuYwpAQCAtNDc2LDcgKzQ3Niw3IEBACiAgICAgezIsIGFyY3NfMTZfMX0sCiAgICAgezMsIGFyY3NfMTZfMn0sCiB9Owotc3RhdGljIGFyYyBhcmNzXzE3XzBbMTJdID0geworc3RhdGljIGFyYyBhcmNzXzE3XzBbMTNdID0gewogICAgIHs0OSwgMX0sCiAgICAgezUwLCAxfSwKICAgICB7NTEsIDF9LApAQCAtNDg5LDE5ICs0ODksMjAgQEAKICAgICB7NTgsIDF9LAogICAgIHs1OSwgMX0sCiAgICAgezYwLCAxfSwKKyAgICB7NjEsIDF9LAogfTsKIHN0YXRpYyBhcmMgYXJjc18xN18xWzFdID0gewogICAgIHswLCAxfSwKIH07CiBzdGF0aWMgc3RhdGUgc3RhdGVzXzE3WzJdID0gewotICAgIHsxMiwgYXJjc18xN18wfSwKKyAgICB7MTMsIGFyY3NfMTdfMH0sCiAgICAgezEsIGFyY3NfMTdfMX0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzE4XzBbMV0gPSB7Ci0gICAgezYxLCAxfSwKKyAgICB7NjIsIDF9LAogfTsKIHN0YXRpYyBhcmMgYXJjc18xOF8xWzFdID0gewotICAgIHs2MiwgMn0sCisgICAgezYzLCAyfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfMThfMlsxXSA9IHsKICAgICB7MCwgMn0sCkBAIC01MTIsNyArNTEzLDcgQEAKICAgICB7MSwgYXJjc18xOF8yfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfMTlfMFsxXSA9IHsKLSAgICB7NjMsIDF9LAorICAgIHs2NCwgMX0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzE5XzFbMV0gPSB7CiAgICAgezAsIDF9LApAQCAtNTIyLDExICs1MjMsMTEgQEAKICAgICB7MSwgYXJjc18xOV8xfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfMjBfMFs1XSA9IHsKLSAgICB7NjQsIDF9LAogICAgIHs2NSwgMX0sCiAgICAgezY2LCAxfSwKICAgICB7NjcsIDF9LAogICAgIHs2OCwgMX0sCisgICAgezY5LCAxfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfMjBfMVsxXSA9IHsKICAgICB7MCwgMX0sCkBAIC01MzYsNyArNTM3LDcgQEAKICAgICB7MSwgYXJjc18yMF8xfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfMjFfMFsxXSA9IHsKLSAgICB7NjksIDF9LAorICAgIHs3MCwgMX0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzIxXzFbMV0gPSB7CiAgICAgezAsIDF9LApAQCAtNTQ2LDcgKzU0Nyw3IEBACiAgICAgezEsIGFyY3NfMjFfMX0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzIyXzBbMV0gPSB7Ci0gICAgezcwLCAxfSwKKyAgICB7NzEsIDF9LAogfTsKIHN0YXRpYyBhcmMgYXJjc18yMl8xWzFdID0gewogICAgIHswLCAxfSwKQEAgLTU1Niw3ICs1NTcsNyBAQAogICAgIHsxLCBhcmNzXzIyXzF9LAogfTsKIHN0YXRpYyBhcmMgYXJjc18yM18wWzFdID0gewotICAgIHs3MSwgMX0sCisgICAgezcyLCAxfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfMjNfMVsyXSA9IHsKICAgICB7OSwgMn0sCkBAIC01ODEsMTQgKzU4MiwxNCBAQAogICAgIHsxLCBhcmNzXzI0XzF9LAogfTsKIHN0YXRpYyBhcmMgYXJjc18yNV8wWzFdID0gewotICAgIHs3MiwgMX0sCisgICAgezczLCAxfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfMjVfMVsyXSA9IHsKICAgICB7MjQsIDJ9LAogICAgIHswLCAxfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfMjVfMlsyXSA9IHsKLSAgICB7NzMsIDN9LAorICAgIHs3NCwgM30sCiAgICAgezAsIDJ9LAogfTsKIHN0YXRpYyBhcmMgYXJjc18yNV8zWzFdID0gewpAQCAtNjA1LDggKzYwNiw4IEBACiAgICAgezEsIGFyY3NfMjVfNH0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzI2XzBbMl0gPSB7Ci0gICAgezc0LCAxfSwKICAgICB7NzUsIDF9LAorICAgIHs3NiwgMX0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzI2XzFbMV0gPSB7CiAgICAgezAsIDF9LApAQCAtNjE2LDEwICs2MTcsMTAgQEAKICAgICB7MSwgYXJjc18yNl8xfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfMjdfMFsxXSA9IHsKLSAgICB7NzYsIDF9LAorICAgIHs3NywgMX0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzI3XzFbMV0gPSB7Ci0gICAgezc3LCAyfSwKKyAgICB7NzgsIDJ9LAogfTsKIHN0YXRpYyBhcmMgYXJjc18yN18yWzFdID0gewogICAgIHswLCAyfSwKQEAgLTYzMCwzMiArNjMxLDMyIEBACiAgICAgezEsIGFyY3NfMjdfMn0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzI4XzBbMV0gPSB7Ci0gICAgezczLCAxfSwKKyAgICB7NzQsIDF9LAogfTsKIHN0YXRpYyBhcmMgYXJjc18yOF8xWzNdID0gewotICAgIHs3OCwgMn0sCiAgICAgezc5LCAyfSwKKyAgICB7ODAsIDJ9LAogICAgIHsxMiwgM30sCiB9Owogc3RhdGljIGFyYyBhcmNzXzI4XzJbNF0gPSB7Ci0gICAgezc4LCAyfSwKICAgICB7NzksIDJ9LAorICAgIHs4MCwgMn0sCiAgICAgezEyLCAzfSwKLSAgICB7NzYsIDR9LAorICAgIHs3NywgNH0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzI4XzNbMV0gPSB7Ci0gICAgezc2LCA0fSwKKyAgICB7NzcsIDR9LAogfTsKIHN0YXRpYyBhcmMgYXJjc18yOF80WzNdID0gewogICAgIHszMSwgNX0sCiAgICAgezEzLCA2fSwKLSAgICB7ODAsIDV9LAorICAgIHs4MSwgNX0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzI4XzVbMV0gPSB7CiAgICAgezAsIDV9LAogfTsKIHN0YXRpYyBhcmMgYXJjc18yOF82WzFdID0gewotICAgIHs4MCwgN30sCisgICAgezgxLCA3fSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfMjhfN1sxXSA9IHsKICAgICB7MTUsIDV9LApAQCAtNjc0LDcgKzY3NSw3IEBACiAgICAgezIxLCAxfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfMjlfMVsyXSA9IHsKLSAgICB7ODIsIDJ9LAorICAgIHs4MywgMn0sCiAgICAgezAsIDF9LAogfTsKIHN0YXRpYyBhcmMgYXJjc18yOV8yWzFdID0gewpAQCAtNjkzLDcgKzY5NCw3IEBACiAgICAgezEyLCAxfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfMzBfMVsyXSA9IHsKLSAgICB7ODIsIDJ9LAorICAgIHs4MywgMn0sCiAgICAgezAsIDF9LAogfTsKIHN0YXRpYyBhcmMgYXJjc18zMF8yWzFdID0gewpAQCAtNzA5LDE0ICs3MTAsMTQgQEAKICAgICB7MSwgYXJjc18zMF8zfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfMzFfMFsxXSA9IHsKLSAgICB7ODEsIDF9LAorICAgIHs4MiwgMX0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzMxXzFbMl0gPSB7CiAgICAgezMwLCAyfSwKICAgICB7MCwgMX0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzMxXzJbMl0gPSB7Ci0gICAgezgxLCAxfSwKKyAgICB7ODIsIDF9LAogICAgIHswLCAyfSwKIH07CiBzdGF0aWMgc3RhdGUgc3RhdGVzXzMxWzNdID0gewpAQCAtNzI1LDcgKzcyNiw3IEBACiAgICAgezIsIGFyY3NfMzFfMn0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzMyXzBbMV0gPSB7Ci0gICAgezgzLCAxfSwKKyAgICB7ODQsIDF9LAogfTsKIHN0YXRpYyBhcmMgYXJjc18zMl8xWzJdID0gewogICAgIHszMCwgMH0sCkBAIC03MzksNyArNzQwLDcgQEAKICAgICB7MjEsIDF9LAogfTsKIHN0YXRpYyBhcmMgYXJjc18zM18xWzJdID0gewotICAgIHs3OCwgMH0sCisgICAgezc5LCAwfSwKICAgICB7MCwgMX0sCiB9Owogc3RhdGljIHN0YXRlIHN0YXRlc18zM1syXSA9IHsKQEAgLTc0Nyw3ICs3NDgsNyBAQAogICAgIHsyLCBhcmNzXzMzXzF9LAogfTsKIHN0YXRpYyBhcmMgYXJjc18zNF8wWzFdID0gewotICAgIHs4NCwgMX0sCisgICAgezg1LCAxfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfMzRfMVsxXSA9IHsKICAgICB7MjEsIDJ9LApAQCAtNzYyLDcgKzc2Myw3IEBACiAgICAgezIsIGFyY3NfMzRfMn0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzM1XzBbMV0gPSB7Ci0gICAgezg1LCAxfSwKKyAgICB7ODYsIDF9LAogfTsKIHN0YXRpYyBhcmMgYXJjc18zNV8xWzFdID0gewogICAgIHsyMSwgMn0sCkBAIC03NzcsNyArNzc4LDcgQEAKICAgICB7MiwgYXJjc18zNV8yfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfMzZfMFsxXSA9IHsKLSAgICB7ODYsIDF9LAorICAgIHs4NywgMX0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzM2XzFbMV0gPSB7CiAgICAgezI0LCAyfSwKQEAgLTgwMCwxMSArODAxLDExIEBACiAgICAgezEsIGFyY3NfMzZfNH0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzM3XzBbOF0gPSB7Ci0gICAgezg3LCAxfSwKICAgICB7ODgsIDF9LAogICAgIHs4OSwgMX0sCiAgICAgezkwLCAxfSwKICAgICB7OTEsIDF9LAorICAgIHs5MiwgMX0sCiAgICAgezE5LCAxfSwKICAgICB7MTgsIDF9LAogICAgIHsxNywgMX0sCkBAIC04MTcsNyArODE4LDcgQEAKICAgICB7MSwgYXJjc18zN18xfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfMzhfMFsxXSA9IHsKLSAgICB7OTIsIDF9LAorICAgIHs5MywgMX0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzM4XzFbMV0gPSB7CiAgICAgezI0LCAyfSwKQEAgLTgyOSw4ICs4MzAsOCBAQAogICAgIHsyNiwgNH0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzM4XzRbM10gPSB7Ci0gICAgezkzLCAxfSwKLSAgICB7OTQsIDV9LAorICAgIHs5NCwgMX0sCisgICAgezk1LCA1fSwKICAgICB7MCwgNH0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzM4XzVbMV0gPSB7CkBAIC04NTMsNyArODU0LDcgQEAKICAgICB7MSwgYXJjc18zOF83fSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfMzlfMFsxXSA9IHsKLSAgICB7OTUsIDF9LAorICAgIHs5NiwgMX0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzM5XzFbMV0gPSB7CiAgICAgezI0LCAyfSwKQEAgLTg2NSw3ICs4NjYsNyBAQAogICAgIHsyNiwgNH0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzM5XzRbMl0gPSB7Ci0gICAgezk0LCA1fSwKKyAgICB7OTUsIDV9LAogICAgIHswLCA0fSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfMzlfNVsxXSA9IHsKQEAgLTg4OCwxMyArODg5LDEzIEBACiAgICAgezEsIGFyY3NfMzlfN30sCiB9Owogc3RhdGljIGFyYyBhcmNzXzQwXzBbMV0gPSB7Ci0gICAgezk2LCAxfSwKKyAgICB7OTcsIDF9LAogfTsKIHN0YXRpYyBhcmMgYXJjc180MF8xWzFdID0gewotICAgIHs2MiwgMn0sCisgICAgezYzLCAyfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNDBfMlsxXSA9IHsKLSAgICB7OTcsIDN9LAorICAgIHs5OCwgM30sCiB9Owogc3RhdGljIGFyYyBhcmNzXzQwXzNbMV0gPSB7CiAgICAgezksIDR9LApAQCAtOTA2LDcgKzkwNyw3IEBACiAgICAgezI2LCA2fSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNDBfNlsyXSA9IHsKLSAgICB7OTQsIDd9LAorICAgIHs5NSwgN30sCiAgICAgezAsIDZ9LAogfTsKIHN0YXRpYyBhcmMgYXJjc180MF83WzFdID0gewpAQCAtOTMxLDcgKzkzMiw3IEBACiAgICAgezEsIGFyY3NfNDBfOX0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzQxXzBbMV0gPSB7Ci0gICAgezk4LCAxfSwKKyAgICB7OTksIDF9LAogfTsKIHN0YXRpYyBhcmMgYXJjc180MV8xWzFdID0gewogICAgIHsyNSwgMn0sCkBAIC05NDAsOCArOTQxLDggQEAKICAgICB7MjYsIDN9LAogfTsKIHN0YXRpYyBhcmMgYXJjc180MV8zWzJdID0gewotICAgIHs5OSwgNH0sCi0gICAgezEwMCwgNX0sCisgICAgezEwMCwgNH0sCisgICAgezEwMSwgNX0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzQxXzRbMV0gPSB7CiAgICAgezI1LCA2fSwKQEAgLTk1Niw5ICs5NTcsOSBAQAogICAgIHsyNiwgOX0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzQxXzhbNF0gPSB7Ci0gICAgezk5LCA0fSwKLSAgICB7OTQsIDEwfSwKLSAgICB7MTAwLCA1fSwKKyAgICB7MTAwLCA0fSwKKyAgICB7OTUsIDEwfSwKKyAgICB7MTAxLCA1fSwKICAgICB7MCwgOH0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzQxXzlbMV0gPSB7CkBAIC05NzEsNyArOTcyLDcgQEAKICAgICB7MjYsIDEyfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNDFfMTJbMl0gPSB7Ci0gICAgezEwMCwgNX0sCisgICAgezEwMSwgNX0sCiAgICAgezAsIDEyfSwKIH07CiBzdGF0aWMgc3RhdGUgc3RhdGVzXzQxWzEzXSA9IHsKQEAgLTk5MCwxMCArOTkxLDEwIEBACiAgICAgezIsIGFyY3NfNDFfMTJ9LAogfTsKIHN0YXRpYyBhcmMgYXJjc180Ml8wWzFdID0gewotICAgIHsxMDEsIDF9LAorICAgIHsxMDIsIDF9LAogfTsKIHN0YXRpYyBhcmMgYXJjc180Ml8xWzFdID0gewotICAgIHsxMDIsIDJ9LAorICAgIHsxMDMsIDJ9LAogfTsKIHN0YXRpYyBhcmMgYXJjc180Ml8yWzJdID0gewogICAgIHszMCwgMX0sCkBAIC0xMDE2LDExICsxMDE3LDExIEBACiAgICAgezI0LCAxfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNDNfMVsyXSA9IHsKLSAgICB7ODIsIDJ9LAorICAgIHs4MywgMn0sCiAgICAgezAsIDF9LAogfTsKIHN0YXRpYyBhcmMgYXJjc180M18yWzFdID0gewotICAgIHsxMDMsIDN9LAorICAgIHsxMDQsIDN9LAogfTsKIHN0YXRpYyBhcmMgYXJjc180M18zWzFdID0gewogICAgIHswLCAzfSwKQEAgLTEwMzIsMTQgKzEwMzMsMTQgQEAKICAgICB7MSwgYXJjc180M18zfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNDRfMFsxXSA9IHsKLSAgICB7MTA0LCAxfSwKKyAgICB7MTA1LCAxfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNDRfMVsyXSA9IHsKICAgICB7MjQsIDJ9LAogICAgIHswLCAxfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNDRfMlsyXSA9IHsKLSAgICB7ODIsIDN9LAorICAgIHs4MywgM30sCiAgICAgezAsIDJ9LAogfTsKIHN0YXRpYyBhcmMgYXJjc180NF8zWzFdID0gewpAQCAtMTA2MywxNCArMTA2NCwxNCBAQAogICAgIHswLCAxfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNDVfMlsxXSA9IHsKLSAgICB7MTA1LCAzfSwKKyAgICB7MTA2LCAzfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNDVfM1sxXSA9IHsKICAgICB7NiwgNH0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzQ1XzRbMl0gPSB7CiAgICAgezYsIDR9LAotICAgIHsxMDYsIDF9LAorICAgIHsxMDcsIDF9LAogfTsKIHN0YXRpYyBzdGF0ZSBzdGF0ZXNfNDVbNV0gPSB7CiAgICAgezIsIGFyY3NfNDVfMH0sCkBAIC0xMDgwLDIxICsxMDgxLDIxIEBACiAgICAgezIsIGFyY3NfNDVfNH0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzQ2XzBbMl0gPSB7Ci0gICAgezEwNywgMX0sCi0gICAgezEwOCwgMn0sCisgICAgezEwOCwgMX0sCisgICAgezEwOSwgMn0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzQ2XzFbMl0gPSB7Ci0gICAgezkyLCAzfSwKKyAgICB7OTMsIDN9LAogICAgIHswLCAxfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNDZfMlsxXSA9IHsKICAgICB7MCwgMn0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzQ2XzNbMV0gPSB7Ci0gICAgezEwNywgNH0sCisgICAgezEwOCwgNH0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzQ2XzRbMV0gPSB7Ci0gICAgezk0LCA1fSwKKyAgICB7OTUsIDV9LAogfTsKIHN0YXRpYyBhcmMgYXJjc180Nl81WzFdID0gewogICAgIHsyNCwgMn0sCkBAIC0xMTA4LDggKzExMDksOCBAQAogICAgIHsxLCBhcmNzXzQ2XzV9LAogfTsKIHN0YXRpYyBhcmMgYXJjc180N18wWzJdID0gewotICAgIHsxMDcsIDF9LAotICAgIHsxMTAsIDF9LAorICAgIHsxMDgsIDF9LAorICAgIHsxMTEsIDF9LAogfTsKIHN0YXRpYyBhcmMgYXJjc180N18xWzFdID0gewogICAgIHswLCAxfSwKQEAgLTExMTksNyArMTEyMCw3IEBACiAgICAgezEsIGFyY3NfNDdfMX0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzQ4XzBbMV0gPSB7Ci0gICAgezExMSwgMX0sCisgICAgezExMiwgMX0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzQ4XzFbMl0gPSB7CiAgICAgezMzLCAyfSwKQEAgLTExNDIsNyArMTE0Myw3IEBACiAgICAgezEsIGFyY3NfNDhfNH0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzQ5XzBbMV0gPSB7Ci0gICAgezExMSwgMX0sCisgICAgezExMiwgMX0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzQ5XzFbMl0gPSB7CiAgICAgezMzLCAyfSwKQEAgLTExNTIsNyArMTE1Myw3IEBACiAgICAgezI1LCAzfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNDlfM1sxXSA9IHsKLSAgICB7MTA5LCA0fSwKKyAgICB7MTEwLCA0fSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNDlfNFsxXSA9IHsKICAgICB7MCwgNH0sCkBAIC0xMTY1LDEwICsxMTY2LDEwIEBACiAgICAgezEsIGFyY3NfNDlfNH0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzUwXzBbMV0gPSB7Ci0gICAgezExMiwgMX0sCisgICAgezExMywgMX0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzUwXzFbMl0gPSB7Ci0gICAgezExMywgMH0sCisgICAgezExNCwgMH0sCiAgICAgezAsIDF9LAogfTsKIHN0YXRpYyBzdGF0ZSBzdGF0ZXNfNTBbMl0gPSB7CkBAIC0xMTc2LDEwICsxMTc3LDEwIEBACiAgICAgezIsIGFyY3NfNTBfMX0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzUxXzBbMV0gPSB7Ci0gICAgezExNCwgMX0sCisgICAgezExNSwgMX0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzUxXzFbMl0gPSB7Ci0gICAgezExNSwgMH0sCisgICAgezExNiwgMH0sCiAgICAgezAsIDF9LAogfTsKIHN0YXRpYyBzdGF0ZSBzdGF0ZXNfNTFbMl0gPSB7CkBAIC0xMTg3LDExICsxMTg4LDExIEBACiAgICAgezIsIGFyY3NfNTFfMX0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzUyXzBbMl0gPSB7Ci0gICAgezExNiwgMX0sCi0gICAgezExNywgMn0sCisgICAgezExNywgMX0sCisgICAgezExOCwgMn0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzUyXzFbMV0gPSB7Ci0gICAgezExNCwgMn0sCisgICAgezExNSwgMn0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzUyXzJbMV0gPSB7CiAgICAgezAsIDJ9LApAQCAtMTIwMiwxMCArMTIwMywxMCBAQAogICAgIHsxLCBhcmNzXzUyXzJ9LAogfTsKIHN0YXRpYyBhcmMgYXJjc181M18wWzFdID0gewotICAgIHsxMDMsIDF9LAorICAgIHsxMDQsIDF9LAogfTsKIHN0YXRpYyBhcmMgYXJjc181M18xWzJdID0gewotICAgIHsxMTgsIDB9LAorICAgIHsxMTksIDB9LAogICAgIHswLCAxfSwKIH07CiBzdGF0aWMgc3RhdGUgc3RhdGVzXzUzWzJdID0gewpAQCAtMTIxMywyNSArMTIxNCwyNSBAQAogICAgIHsyLCBhcmNzXzUzXzF9LAogfTsKIHN0YXRpYyBhcmMgYXJjc181NF8wWzEwXSA9IHsKLSAgICB7MTE5LCAxfSwKICAgICB7MTIwLCAxfSwKICAgICB7MTIxLCAxfSwKICAgICB7MTIyLCAxfSwKICAgICB7MTIzLCAxfSwKICAgICB7MTI0LCAxfSwKICAgICB7MTI1LCAxfSwKLSAgICB7OTcsIDF9LAotICAgIHsxMTYsIDJ9LAotICAgIHsxMjYsIDN9LAorICAgIHsxMjYsIDF9LAorICAgIHs5OCwgMX0sCisgICAgezExNywgMn0sCisgICAgezEyNywgM30sCiB9Owogc3RhdGljIGFyYyBhcmNzXzU0XzFbMV0gPSB7CiAgICAgezAsIDF9LAogfTsKIHN0YXRpYyBhcmMgYXJjc181NF8yWzFdID0gewotICAgIHs5NywgMX0sCisgICAgezk4LCAxfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNTRfM1syXSA9IHsKLSAgICB7MTE2LCAxfSwKKyAgICB7MTE3LCAxfSwKICAgICB7MCwgM30sCiB9Owogc3RhdGljIHN0YXRlIHN0YXRlc181NFs0XSA9IHsKQEAgLTEyNDQsNyArMTI0NSw3IEBACiAgICAgezMxLCAxfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNTVfMVsxXSA9IHsKLSAgICB7MTAzLCAyfSwKKyAgICB7MTA0LCAyfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNTVfMlsxXSA9IHsKICAgICB7MCwgMn0sCkBAIC0xMjU1LDEwICsxMjU2LDEwIEBACiAgICAgezEsIGFyY3NfNTVfMn0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzU2XzBbMV0gPSB7Ci0gICAgezEyNywgMX0sCisgICAgezEyOCwgMX0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzU2XzFbMl0gPSB7Ci0gICAgezEyOCwgMH0sCisgICAgezEyOSwgMH0sCiAgICAgezAsIDF9LAogfTsKIHN0YXRpYyBzdGF0ZSBzdGF0ZXNfNTZbMl0gPSB7CkBAIC0xMjY2LDEwICsxMjY3LDEwIEBACiAgICAgezIsIGFyY3NfNTZfMX0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzU3XzBbMV0gPSB7Ci0gICAgezEyOSwgMX0sCisgICAgezEzMCwgMX0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzU3XzFbMl0gPSB7Ci0gICAgezEzMCwgMH0sCisgICAgezEzMSwgMH0sCiAgICAgezAsIDF9LAogfTsKIHN0YXRpYyBzdGF0ZSBzdGF0ZXNfNTdbMl0gPSB7CkBAIC0xMjc3LDEwICsxMjc4LDEwIEBACiAgICAgezIsIGFyY3NfNTdfMX0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzU4XzBbMV0gPSB7Ci0gICAgezEzMSwgMX0sCisgICAgezEzMiwgMX0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzU4XzFbMl0gPSB7Ci0gICAgezEzMiwgMH0sCisgICAgezEzMywgMH0sCiAgICAgezAsIDF9LAogfTsKIHN0YXRpYyBzdGF0ZSBzdGF0ZXNfNThbMl0gPSB7CkBAIC0xMjg4LDExICsxMjg5LDExIEBACiAgICAgezIsIGFyY3NfNThfMX0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzU5XzBbMV0gPSB7Ci0gICAgezEzMywgMX0sCisgICAgezEzNCwgMX0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzU5XzFbM10gPSB7Ci0gICAgezEzNCwgMH0sCiAgICAgezEzNSwgMH0sCisgICAgezEzNiwgMH0sCiAgICAgezAsIDF9LAogfTsKIHN0YXRpYyBzdGF0ZSBzdGF0ZXNfNTlbMl0gPSB7CkBAIC0xMzAwLDExICsxMzAxLDExIEBACiAgICAgezMsIGFyY3NfNTlfMX0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzYwXzBbMV0gPSB7Ci0gICAgezEzNiwgMX0sCisgICAgezEzNywgMX0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzYwXzFbM10gPSB7Ci0gICAgezEzNywgMH0sCiAgICAgezEzOCwgMH0sCisgICAgezEzOSwgMH0sCiAgICAgezAsIDF9LAogfTsKIHN0YXRpYyBzdGF0ZSBzdGF0ZXNfNjBbMl0gPSB7CkBAIC0xMzEyLDI3ICsxMzEzLDI4IEBACiAgICAgezMsIGFyY3NfNjBfMX0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzYxXzBbMV0gPSB7Ci0gICAgezEzOSwgMX0sCisgICAgezE0MCwgMX0sCiB9Owotc3RhdGljIGFyYyBhcmNzXzYxXzFbNV0gPSB7CitzdGF0aWMgYXJjIGFyY3NfNjFfMVs2XSA9IHsKICAgICB7MzEsIDB9LAotICAgIHsxNDAsIDB9LAorICAgIHsxMSwgMH0sCiAgICAgezE0MSwgMH0sCiAgICAgezE0MiwgMH0sCisgICAgezE0MywgMH0sCiAgICAgezAsIDF9LAogfTsKIHN0YXRpYyBzdGF0ZSBzdGF0ZXNfNjFbMl0gPSB7CiAgICAgezEsIGFyY3NfNjFfMH0sCi0gICAgezUsIGFyY3NfNjFfMX0sCisgICAgezYsIGFyY3NfNjFfMX0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzYyXzBbNF0gPSB7Ci0gICAgezEzNywgMX0sCiAgICAgezEzOCwgMX0sCi0gICAgezE0MywgMX0sCi0gICAgezE0NCwgMn0sCisgICAgezEzOSwgMX0sCisgICAgezE0NCwgMX0sCisgICAgezE0NSwgMn0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzYyXzFbMV0gPSB7Ci0gICAgezEzOSwgMn0sCisgICAgezE0MCwgMn0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzYyXzJbMV0gPSB7CiAgICAgezAsIDJ9LApAQCAtMTM0MywxNSArMTM0NSwxNSBAQAogICAgIHsxLCBhcmNzXzYyXzJ9LAogfTsKIHN0YXRpYyBhcmMgYXJjc182M18wWzFdID0gewotICAgIHsxNDUsIDF9LAorICAgIHsxNDYsIDF9LAogfTsKIHN0YXRpYyBhcmMgYXJjc182M18xWzNdID0gewotICAgIHsxNDYsIDF9LAorICAgIHsxNDcsIDF9LAogICAgIHszMiwgMn0sCiAgICAgezAsIDF9LAogfTsKIHN0YXRpYyBhcmMgYXJjc182M18yWzFdID0gewotICAgIHsxMzksIDN9LAorICAgIHsxNDAsIDN9LAogfTsKIHN0YXRpYyBhcmMgYXJjc182M18zWzFdID0gewogICAgIHswLCAzfSwKQEAgLTEzNjQsNDQgKzEzNjYsNDQgQEAKIH07CiBzdGF0aWMgYXJjIGFyY3NfNjRfMFsxMF0gPSB7CiAgICAgezEzLCAxfSwKLSAgICB7MTQ4LCAyfSwKLSAgICB7MTUwLCAzfSwKKyAgICB7MTQ5LCAyfSwKKyAgICB7MTUxLCAzfSwKICAgICB7MjEsIDR9LAotICAgIHsxNTMsIDR9LAotICAgIHsxNTQsIDV9LAotICAgIHs3OSwgNH0sCi0gICAgezE1NSwgNH0sCisgICAgezE1NCwgNH0sCisgICAgezE1NSwgNX0sCisgICAgezgwLCA0fSwKICAgICB7MTU2LCA0fSwKICAgICB7MTU3LCA0fSwKKyAgICB7MTU4LCA0fSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNjRfMVszXSA9IHsKICAgICB7NDcsIDZ9LAotICAgIHsxNDcsIDZ9LAorICAgIHsxNDgsIDZ9LAogICAgIHsxNSwgNH0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzY0XzJbMl0gPSB7Ci0gICAgezE0NywgN30sCi0gICAgezE0OSwgNH0sCisgICAgezE0OCwgN30sCisgICAgezE1MCwgNH0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzY0XzNbMl0gPSB7Ci0gICAgezE1MSwgOH0sCi0gICAgezE1MiwgNH0sCisgICAgezE1MiwgOH0sCisgICAgezE1MywgNH0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzY0XzRbMV0gPSB7CiAgICAgezAsIDR9LAogfTsKIHN0YXRpYyBhcmMgYXJjc182NF81WzJdID0gewotICAgIHsxNTQsIDV9LAorICAgIHsxNTUsIDV9LAogICAgIHswLCA1fSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNjRfNlsxXSA9IHsKICAgICB7MTUsIDR9LAogfTsKIHN0YXRpYyBhcmMgYXJjc182NF83WzFdID0gewotICAgIHsxNDksIDR9LAorICAgIHsxNTAsIDR9LAogfTsKIHN0YXRpYyBhcmMgYXJjc182NF84WzFdID0gewotICAgIHsxNTIsIDR9LAorICAgIHsxNTMsIDR9LAogfTsKIHN0YXRpYyBzdGF0ZSBzdGF0ZXNfNjRbOV0gPSB7CiAgICAgezEwLCBhcmNzXzY0XzB9LApAQCAtMTQxOSw3ICsxNDIxLDcgQEAKICAgICB7NDgsIDF9LAogfTsKIHN0YXRpYyBhcmMgYXJjc182NV8xWzNdID0gewotICAgIHsxNTgsIDJ9LAorICAgIHsxNTksIDJ9LAogICAgIHszMCwgM30sCiAgICAgezAsIDF9LAogfTsKQEAgLTE0NDQsMTUgKzE0NDYsMTUgQEAKIH07CiBzdGF0aWMgYXJjIGFyY3NfNjZfMFszXSA9IHsKICAgICB7MTMsIDF9LAotICAgIHsxNDgsIDJ9LAotICAgIHs3OCwgM30sCisgICAgezE0OSwgMn0sCisgICAgezc5LCAzfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNjZfMVsyXSA9IHsKICAgICB7MTQsIDR9LAogICAgIHsxNSwgNX0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzY2XzJbMV0gPSB7Ci0gICAgezE1OSwgNn0sCisgICAgezE2MCwgNn0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzY2XzNbMV0gPSB7CiAgICAgezIxLCA1fSwKQEAgLTE0NjQsNyArMTQ2Niw3IEBACiAgICAgezAsIDV9LAogfTsKIHN0YXRpYyBhcmMgYXJjc182Nl82WzFdID0gewotICAgIHsxNDksIDV9LAorICAgIHsxNTAsIDV9LAogfTsKIHN0YXRpYyBzdGF0ZSBzdGF0ZXNfNjZbN10gPSB7CiAgICAgezMsIGFyY3NfNjZfMH0sCkBAIC0xNDc2LDE0ICsxNDc4LDE0IEBACiAgICAgezEsIGFyY3NfNjZfNn0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzY3XzBbMV0gPSB7Ci0gICAgezE2MCwgMX0sCisgICAgezE2MSwgMX0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzY3XzFbMl0gPSB7CiAgICAgezMwLCAyfSwKICAgICB7MCwgMX0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzY3XzJbMl0gPSB7Ci0gICAgezE2MCwgMX0sCisgICAgezE2MSwgMX0sCiAgICAgezAsIDJ9LAogfTsKIHN0YXRpYyBzdGF0ZSBzdGF0ZXNfNjdbM10gPSB7CkBAIC0xNTAxLDExICsxNTAzLDExIEBACiB9Owogc3RhdGljIGFyYyBhcmNzXzY4XzJbM10gPSB7CiAgICAgezI0LCAzfSwKLSAgICB7MTYxLCA0fSwKKyAgICB7MTYyLCA0fSwKICAgICB7MCwgMn0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzY4XzNbMl0gPSB7Ci0gICAgezE2MSwgNH0sCisgICAgezE2MiwgNH0sCiAgICAgezAsIDN9LAogfTsKIHN0YXRpYyBhcmMgYXJjc182OF80WzFdID0gewpAQCAtMTUzNCw3ICsxNTM2LDcgQEAKICAgICB7MSwgYXJjc182OV8yfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNzBfMFsyXSA9IHsKLSAgICB7MTAzLCAxfSwKKyAgICB7MTA0LCAxfSwKICAgICB7NDgsIDF9LAogfTsKIHN0YXRpYyBhcmMgYXJjc183MF8xWzJdID0gewpAQCAtMTU0Miw3ICsxNTQ0LDcgQEAKICAgICB7MCwgMX0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzcwXzJbM10gPSB7Ci0gICAgezEwMywgMX0sCisgICAgezEwNCwgMX0sCiAgICAgezQ4LCAxfSwKICAgICB7MCwgMn0sCiB9OwpAQCAtMTU3Miw3ICsxNTc0LDcgQEAKIH07CiBzdGF0aWMgYXJjIGFyY3NfNzJfMVs0XSA9IHsKICAgICB7MjUsIDJ9LAotICAgIHsxNTgsIDN9LAorICAgIHsxNTksIDN9LAogICAgIHszMCwgNH0sCiAgICAgezAsIDF9LAogfTsKQEAgLTE1ODcsNyArMTU4OSw3IEBACiAgICAgezAsIDR9LAogfTsKIHN0YXRpYyBhcmMgYXJjc183Ml81WzNdID0gewotICAgIHsxNTgsIDN9LAorICAgIHsxNTksIDN9LAogICAgIHszMCwgN30sCiAgICAgezAsIDV9LAogfTsKQEAgLTE2MjMsNyArMTYyNSw3IEBACiAgICAgezIsIGFyY3NfNzJfMTB9LAogfTsKIHN0YXRpYyBhcmMgYXJjc183M18wWzFdID0gewotICAgIHsxNjIsIDF9LAorICAgIHsxNjMsIDF9LAogfTsKIHN0YXRpYyBhcmMgYXJjc183M18xWzFdID0gewogICAgIHsyMSwgMn0sCkBAIC0xNjU5LDcgKzE2NjEsNyBAQAogICAgIHsxLCBhcmNzXzczXzd9LAogfTsKIHN0YXRpYyBhcmMgYXJjc183NF8wWzNdID0gewotICAgIHsxNjMsIDF9LAorICAgIHsxNjQsIDF9LAogICAgIHszMSwgMn0sCiAgICAgezMyLCAzfSwKIH07CkBAIC0xNjc0LDcgKzE2NzYsNyBAQAogICAgIHsyNCwgNn0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzc0XzRbNF0gPSB7Ci0gICAgezE2MywgMX0sCisgICAgezE2NCwgMX0sCiAgICAgezMxLCAyfSwKICAgICB7MzIsIDN9LAogICAgIHswLCA0fSwKQEAgLTE2ODcsNyArMTY4OSw3IEBACiAgICAgezAsIDZ9LAogfTsKIHN0YXRpYyBhcmMgYXJjc183NF83WzJdID0gewotICAgIHsxNjMsIDV9LAorICAgIHsxNjQsIDV9LAogICAgIHszMiwgM30sCiB9Owogc3RhdGljIHN0YXRlIHN0YXRlc183NFs4XSA9IHsKQEAgLTE3MDQsNyArMTcwNiw3IEBACiAgICAgezI0LCAxfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNzVfMVszXSA9IHsKLSAgICB7MTU4LCAyfSwKKyAgICB7MTU5LCAyfSwKICAgICB7MjksIDN9LAogICAgIHswLCAxfSwKIH07CkBAIC0xNzIxLDggKzE3MjMsOCBAQAogICAgIHsxLCBhcmNzXzc1XzN9LAogfTsKIHN0YXRpYyBhcmMgYXJjc183Nl8wWzJdID0gewotICAgIHsxNTgsIDF9LAotICAgIHsxNjUsIDF9LAorICAgIHsxNTksIDF9LAorICAgIHsxNjYsIDF9LAogfTsKIHN0YXRpYyBhcmMgYXJjc183Nl8xWzFdID0gewogICAgIHswLCAxfSwKQEAgLTE3MzIsMTkgKzE3MzQsMTkgQEAKICAgICB7MSwgYXJjc183Nl8xfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNzdfMFsxXSA9IHsKLSAgICB7OTYsIDF9LAorICAgIHs5NywgMX0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzc3XzFbMV0gPSB7Ci0gICAgezYyLCAyfSwKKyAgICB7NjMsIDJ9LAogfTsKIHN0YXRpYyBhcmMgYXJjc183N18yWzFdID0gewotICAgIHs5NywgM30sCisgICAgezk4LCAzfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNzdfM1sxXSA9IHsKLSAgICB7MTA3LCA0fSwKKyAgICB7MTA4LCA0fSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNzdfNFsyXSA9IHsKLSAgICB7MTY0LCA1fSwKKyAgICB7MTY1LCA1fSwKICAgICB7MCwgNH0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzc3XzVbMV0gPSB7CkBAIC0xNzU5LDEzICsxNzYxLDEzIEBACiAgICAgezEsIGFyY3NfNzdfNX0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzc4XzBbMV0gPSB7Ci0gICAgezkyLCAxfSwKKyAgICB7OTMsIDF9LAogfTsKIHN0YXRpYyBhcmMgYXJjc183OF8xWzFdID0gewotICAgIHsxMDksIDJ9LAorICAgIHsxMTAsIDJ9LAogfTsKIHN0YXRpYyBhcmMgYXJjc183OF8yWzJdID0gewotICAgIHsxNjQsIDN9LAorICAgIHsxNjUsIDN9LAogICAgIHswLCAyfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNzhfM1sxXSA9IHsKQEAgLTE3ODgsMTAgKzE3OTAsMTAgQEAKICAgICB7MSwgYXJjc183OV8xfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfODBfMFsxXSA9IHsKLSAgICB7MTY3LCAxfSwKKyAgICB7MTY4LCAxfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfODBfMVsyXSA9IHsKLSAgICB7MTY4LCAyfSwKKyAgICB7MTY5LCAyfSwKICAgICB7MCwgMX0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzgwXzJbMV0gPSB7CkBAIC0xODAzLDcgKzE4MDUsNyBAQAogICAgIHsxLCBhcmNzXzgwXzJ9LAogfTsKIHN0YXRpYyBhcmMgYXJjc184MV8wWzJdID0gewotICAgIHs3MywgMX0sCisgICAgezc0LCAxfSwKICAgICB7OSwgMn0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzgxXzFbMV0gPSB7CkBAIC0xODE5LDExICsxODIxLDExIEBACiB9Owogc3RhdGljIGRmYSBkZmFzWzgyXSA9IHsKICAgICB7MjU2LCAic2luZ2xlX2lucHV0IiwgMCwgMywgc3RhdGVzXzAsCi0gICAgICJcMDA0XDA1MFwwNjBcMjAwXDAwMFwwMDBcMDAwXDI0MFwzNDBcMjIzXDE2MFwyMjBcMDQ1XDIwMFwwMjBcMDAwXDAwMFwyMDZcMTIwXDA3NlwyMDRcMDAwIn0sCisgICAgICJcMDA0XDA1MFwwNjBcMjAwXDAwMFwwMDBcMDAwXDEwMFwzMDFcMDQ3XDM0MVwwNDBcMTEzXDAwMFwwNDFcMDAwXDAwMFwwMTRcMjQxXDE3NFwwMTBcMDAxIn0sCiAgICAgezI1NywgImZpbGVfaW5wdXQiLCAwLCAyLCBzdGF0ZXNfMSwKLSAgICAgIlwyMDRcMDUwXDA2MFwyMDBcMDAwXDAwMFwwMDBcMjQwXDM0MFwyMjNcMTYwXDIyMFwwNDVcMjAwXDAyMFwwMDBcMDAwXDIwNlwxMjBcMDc2XDIwNFwwMDAifSwKKyAgICAgIlwyMDRcMDUwXDA2MFwyMDBcMDAwXDAwMFwwMDBcMTAwXDMwMVwwNDdcMzQxXDA0MFwxMTNcMDAwXDA0MVwwMDBcMDAwXDAxNFwyNDFcMTc0XDAxMFwwMDEifSwKICAgICB7MjU4LCAiZXZhbF9pbnB1dCIsIDAsIDMsIHN0YXRlc18yLAotICAgICAiXDAwMFwwNDBcMDQwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDIwMFwwMDBcMDAwXDAwMFwyMDBcMDIwXDAwMFwwMDBcMjA2XDEyMFwwNzZcMDAwXDAwMCJ9LAorICAgICAiXDAwMFwwNDBcMDQwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDFcMDAwXDAwMFwwMDBcMDQxXDAwMFwwMDBcMDE0XDI0MVwxNzRcMDAwXDAwMCJ9LAogICAgIHsyNTksICJkZWNvcmF0b3IiLCAwLCA3LCBzdGF0ZXNfMywKICAgICAgIlwwMDBcMDEwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDAifSwKICAgICB7MjYwLCAiZGVjb3JhdG9ycyIsIDAsIDIsIHN0YXRlc180LApAQCAtMTg0MywzOSArMTg0NSwzOSBAQAogICAgIHsyNjcsICJ2ZnBkZWYiLCAwLCAyLCBzdGF0ZXNfMTEsCiAgICAgICJcMDAwXDAwMFwwNDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwIn0sCiAgICAgezI2OCwgInN0bXQiLCAwLCAyLCBzdGF0ZXNfMTIsCi0gICAgICJcMDAwXDA1MFwwNjBcMjAwXDAwMFwwMDBcMDAwXDI0MFwzNDBcMjIzXDE2MFwyMjBcMDQ1XDIwMFwwMjBcMDAwXDAwMFwyMDZcMTIwXDA3NlwyMDRcMDAwIn0sCisgICAgICJcMDAwXDA1MFwwNjBcMjAwXDAwMFwwMDBcMDAwXDEwMFwzMDFcMDQ3XDM0MVwwNDBcMTEzXDAwMFwwNDFcMDAwXDAwMFwwMTRcMjQxXDE3NFwwMTBcMDAxIn0sCiAgICAgezI2OSwgInNpbXBsZV9zdG10IiwgMCwgNCwgc3RhdGVzXzEzLAotICAgICAiXDAwMFwwNDBcMDQwXDIwMFwwMDBcMDAwXDAwMFwyNDBcMzQwXDIyM1wxNjBcMDAwXDAwMFwyMDBcMDIwXDAwMFwwMDBcMjA2XDEyMFwwNzZcMjAwXDAwMCJ9LAorICAgICAiXDAwMFwwNDBcMDQwXDIwMFwwMDBcMDAwXDAwMFwxMDBcMzAxXDA0N1wzNDFcMDAwXDAwMFwwMDBcMDQxXDAwMFwwMDBcMDE0XDI0MVwxNzRcMDAwXDAwMSJ9LAogICAgIHsyNzAsICJzbWFsbF9zdG10IiwgMCwgMiwgc3RhdGVzXzE0LAotICAgICAiXDAwMFwwNDBcMDQwXDIwMFwwMDBcMDAwXDAwMFwyNDBcMzQwXDIyM1wxNjBcMDAwXDAwMFwyMDBcMDIwXDAwMFwwMDBcMjA2XDEyMFwwNzZcMjAwXDAwMCJ9LAorICAgICAiXDAwMFwwNDBcMDQwXDIwMFwwMDBcMDAwXDAwMFwxMDBcMzAxXDA0N1wzNDFcMDAwXDAwMFwwMDBcMDQxXDAwMFwwMDBcMDE0XDI0MVwxNzRcMDAwXDAwMSJ9LAogICAgIHsyNzEsICJleHByX3N0bXQiLCAwLCA2LCBzdGF0ZXNfMTUsCi0gICAgICJcMDAwXDA0MFwwNDBcMjAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMjAwXDAwMFwwMDBcMDAwXDIwMFwwMjBcMDAwXDAwMFwyMDZcMTIwXDA3NlwwMDBcMDAwIn0sCisgICAgICJcMDAwXDA0MFwwNDBcMjAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMVwwMDBcMDAwXDAwMFwwNDFcMDAwXDAwMFwwMTRcMjQxXDE3NFwwMDBcMDAwIn0sCiAgICAgezI3MiwgInRlc3RsaXN0X3N0YXJfZXhwciIsIDAsIDMsIHN0YXRlc18xNiwKLSAgICAgIlwwMDBcMDQwXDA0MFwyMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwyMDBcMDAwXDAwMFwwMDBcMjAwXDAyMFwwMDBcMDAwXDIwNlwxMjBcMDc2XDAwMFwwMDAifSwKKyAgICAgIlwwMDBcMDQwXDA0MFwyMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAxXDAwMFwwMDBcMDAwXDA0MVwwMDBcMDAwXDAxNFwyNDFcMTc0XDAwMFwwMDAifSwKICAgICB7MjczLCAiYXVnYXNzaWduIiwgMCwgMiwgc3RhdGVzXzE3LAotICAgICAiXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDM3NlwwMzdcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMCJ9LAorICAgICAiXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDM3NlwwNzdcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMCJ9LAogICAgIHsyNzQsICJkZWxfc3RtdCIsIDAsIDMsIHN0YXRlc18xOCwKLSAgICAgIlwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDQwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDAifSwKKyAgICAgIlwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMTAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDAifSwKICAgICB7Mjc1LCAicGFzc19zdG10IiwgMCwgMiwgc3RhdGVzXzE5LAotICAgICAiXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwyMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMCJ9LAorICAgICAiXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAxXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMCJ9LAogICAgIHsyNzYsICJmbG93X3N0bXQiLCAwLCAyLCBzdGF0ZXNfMjAsCi0gICAgICJcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwzNDBcMDAxXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwyMDBcMDAwIn0sCisgICAgICJcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwzMDBcMDAzXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAxIn0sCiAgICAgezI3NywgImJyZWFrX3N0bXQiLCAwLCAyLCBzdGF0ZXNfMjEsCi0gICAgICJcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwNDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwIn0sCi0gICAgezI3OCwgImNvbnRpbnVlX3N0bXQiLCAwLCAyLCBzdGF0ZXNfMjIsCiAgICAgICJcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwxMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwIn0sCi0gICAgezI3OSwgInJldHVybl9zdG10IiwgMCwgMywgc3RhdGVzXzIzLAorICAgIHsyNzgsICJjb250aW51ZV9zdG10IiwgMCwgMiwgc3RhdGVzXzIyLAogICAgICAiXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMjAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMCJ9LAotICAgIHsyODAsICJ5aWVsZF9zdG10IiwgMCwgMiwgc3RhdGVzXzI0LAotICAgICAiXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMjAwXDAwMCJ9LAotICAgIHsyODEsICJyYWlzZV9zdG10IiwgMCwgNSwgc3RhdGVzXzI1LAorICAgIHsyNzksICJyZXR1cm5fc3RtdCIsIDAsIDMsIHN0YXRlc18yMywKICAgICAgIlwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDFcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDAifSwKLSAgICB7MjgyLCAiaW1wb3J0X3N0bXQiLCAwLCAyLCBzdGF0ZXNfMjYsCi0gICAgICJcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDIyXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwIn0sCi0gICAgezI4MywgImltcG9ydF9uYW1lIiwgMCwgMywgc3RhdGVzXzI3LAotICAgICAiXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAyMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMCJ9LAotICAgIHsyODQsICJpbXBvcnRfZnJvbSIsIDAsIDgsIHN0YXRlc18yOCwKKyAgICB7MjgwLCAieWllbGRfc3RtdCIsIDAsIDIsIHN0YXRlc18yNCwKKyAgICAgIlwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDEifSwKKyAgICB7MjgxLCAicmFpc2Vfc3RtdCIsIDAsIDUsIHN0YXRlc18yNSwKICAgICAgIlwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDJcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDAifSwKKyAgICB7MjgyLCAiaW1wb3J0X3N0bXQiLCAwLCAyLCBzdGF0ZXNfMjYsCisgICAgICJcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDQ0XDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwIn0sCisgICAgezI4MywgImltcG9ydF9uYW1lIiwgMCwgMywgc3RhdGVzXzI3LAorICAgICAiXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDA0MFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMCJ9LAorICAgIHsyODQsICJpbXBvcnRfZnJvbSIsIDAsIDgsIHN0YXRlc18yOCwKKyAgICAgIlwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDRcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDAifSwKICAgICB7Mjg1LCAiaW1wb3J0X2FzX25hbWUiLCAwLCA0LCBzdGF0ZXNfMjksCiAgICAgICJcMDAwXDAwMFwwNDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwIn0sCiAgICAgezI4NiwgImRvdHRlZF9hc19uYW1lIiwgMCwgNCwgc3RhdGVzXzMwLApAQCAtMTg4NywxMDMgKzE4ODksMTAzIEBACiAgICAgezI4OSwgImRvdHRlZF9uYW1lIiwgMCwgMiwgc3RhdGVzXzMzLAogICAgICAiXDAwMFwwMDBcMDQwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMCJ9LAogICAgIHsyOTAsICJnbG9iYWxfc3RtdCIsIDAsIDMsIHN0YXRlc18zNCwKLSAgICAgIlwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDIwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDAifSwKLSAgICB7MjkxLCAibm9ubG9jYWxfc3RtdCIsIDAsIDMsIHN0YXRlc18zNSwKICAgICAgIlwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDQwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDAifSwKLSAgICB7MjkyLCAiYXNzZXJ0X3N0bXQiLCAwLCA1LCBzdGF0ZXNfMzYsCisgICAgezI5MSwgIm5vbmxvY2FsX3N0bXQiLCAwLCAzLCBzdGF0ZXNfMzUsCiAgICAgICJcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDEwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwIn0sCisgICAgezI5MiwgImFzc2VydF9zdG10IiwgMCwgNSwgc3RhdGVzXzM2LAorICAgICAiXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwyMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMCJ9LAogICAgIHsyOTMsICJjb21wb3VuZF9zdG10IiwgMCwgMiwgc3RhdGVzXzM3LAotICAgICAiXDAwMFwwMTBcMDIwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMjIwXDA0NVwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDA0XDAwMCJ9LAorICAgICAiXDAwMFwwMTBcMDIwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDQwXDExM1wwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDEwXDAwMCJ9LAogICAgIHsyOTQsICJpZl9zdG10IiwgMCwgOCwgc3RhdGVzXzM4LAotICAgICAiXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDIwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMCJ9LAorICAgICAiXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDQwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMCJ9LAogICAgIHsyOTUsICJ3aGlsZV9zdG10IiwgMCwgOCwgc3RhdGVzXzM5LAotICAgICAiXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMjAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMCJ9LAotICAgIHsyOTYsICJmb3Jfc3RtdCIsIDAsIDEwLCBzdGF0ZXNfNDAsCiAgICAgICJcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAxXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwIn0sCisgICAgezI5NiwgImZvcl9zdG10IiwgMCwgMTAsIHN0YXRlc180MCwKKyAgICAgIlwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDJcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDAifSwKICAgICB7Mjk3LCAidHJ5X3N0bXQiLCAwLCAxMywgc3RhdGVzXzQxLAotICAgICAiXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwNFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMCJ9LAorICAgICAiXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAxMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMCJ9LAogICAgIHsyOTgsICJ3aXRoX3N0bXQiLCAwLCA1LCBzdGF0ZXNfNDIsCi0gICAgICJcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDQwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwIn0sCisgICAgICJcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMTAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwIn0sCiAgICAgezI5OSwgIndpdGhfaXRlbSIsIDAsIDQsIHN0YXRlc180MywKLSAgICAgIlwwMDBcMDQwXDA0MFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwyMDBcMDAwXDAwMFwwMDBcMjAwXDAyMFwwMDBcMDAwXDIwNlwxMjBcMDc2XDAwMFwwMDAifSwKKyAgICAgIlwwMDBcMDQwXDA0MFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAxXDAwMFwwMDBcMDAwXDA0MVwwMDBcMDAwXDAxNFwyNDFcMTc0XDAwMFwwMDAifSwKICAgICB7MzAwLCAiZXhjZXB0X2NsYXVzZSIsIDAsIDUsIHN0YXRlc180NCwKLSAgICAgIlwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAxXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDAifSwKKyAgICAgIlwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAyXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDAifSwKICAgICB7MzAxLCAic3VpdGUiLCAwLCA1LCBzdGF0ZXNfNDUsCi0gICAgICJcMDA0XDA0MFwwNDBcMjAwXDAwMFwwMDBcMDAwXDI0MFwzNDBcMjIzXDE2MFwwMDBcMDAwXDIwMFwwMjBcMDAwXDAwMFwyMDZcMTIwXDA3NlwyMDBcMDAwIn0sCisgICAgICJcMDA0XDA0MFwwNDBcMjAwXDAwMFwwMDBcMDAwXDEwMFwzMDFcMDQ3XDM0MVwwMDBcMDAwXDAwMFwwNDFcMDAwXDAwMFwwMTRcMjQxXDE3NFwwMDBcMDAxIn0sCiAgICAgezMwMiwgInRlc3QiLCAwLCA2LCBzdGF0ZXNfNDYsCi0gICAgICJcMDAwXDA0MFwwNDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMjAwXDAwMFwwMDBcMDAwXDIwMFwwMjBcMDAwXDAwMFwyMDZcMTIwXDA3NlwwMDBcMDAwIn0sCisgICAgICJcMDAwXDA0MFwwNDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMVwwMDBcMDAwXDAwMFwwNDFcMDAwXDAwMFwwMTRcMjQxXDE3NFwwMDBcMDAwIn0sCiAgICAgezMwMywgInRlc3Rfbm9jb25kIiwgMCwgMiwgc3RhdGVzXzQ3LAotICAgICAiXDAwMFwwNDBcMDQwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDIwMFwwMDBcMDAwXDAwMFwyMDBcMDIwXDAwMFwwMDBcMjA2XDEyMFwwNzZcMDAwXDAwMCJ9LAorICAgICAiXDAwMFwwNDBcMDQwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDFcMDAwXDAwMFwwMDBcMDQxXDAwMFwwMDBcMDE0XDI0MVwxNzRcMDAwXDAwMCJ9LAogICAgIHszMDQsICJsYW1iZGVmIiwgMCwgNSwgc3RhdGVzXzQ4LAotICAgICAiXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwyMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMCJ9LAorICAgICAiXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAxXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMCJ9LAogICAgIHszMDUsICJsYW1iZGVmX25vY29uZCIsIDAsIDUsIHN0YXRlc180OSwKLSAgICAgIlwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMjAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDAifSwKKyAgICAgIlwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMVwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDAifSwKICAgICB7MzA2LCAib3JfdGVzdCIsIDAsIDIsIHN0YXRlc181MCwKLSAgICAgIlwwMDBcMDQwXDA0MFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwyMDBcMDAwXDAwMFwwMDBcMDAwXDAyMFwwMDBcMDAwXDIwNlwxMjBcMDc2XDAwMFwwMDAifSwKKyAgICAgIlwwMDBcMDQwXDA0MFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAxXDAwMFwwMDBcMDAwXDA0MFwwMDBcMDAwXDAxNFwyNDFcMTc0XDAwMFwwMDAifSwKICAgICB7MzA3LCAiYW5kX3Rlc3QiLCAwLCAyLCBzdGF0ZXNfNTEsCi0gICAgICJcMDAwXDA0MFwwNDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMjAwXDAwMFwwMDBcMDAwXDAwMFwwMjBcMDAwXDAwMFwyMDZcMTIwXDA3NlwwMDBcMDAwIn0sCisgICAgICJcMDAwXDA0MFwwNDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMVwwMDBcMDAwXDAwMFwwNDBcMDAwXDAwMFwwMTRcMjQxXDE3NFwwMDBcMDAwIn0sCiAgICAgezMwOCwgIm5vdF90ZXN0IiwgMCwgMywgc3RhdGVzXzUyLAotICAgICAiXDAwMFwwNDBcMDQwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDIwMFwwMDBcMDAwXDAwMFwwMDBcMDIwXDAwMFwwMDBcMjA2XDEyMFwwNzZcMDAwXDAwMCJ9LAorICAgICAiXDAwMFwwNDBcMDQwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDFcMDAwXDAwMFwwMDBcMDQwXDAwMFwwMDBcMDE0XDI0MVwxNzRcMDAwXDAwMCJ9LAogICAgIHszMDksICJjb21wYXJpc29uIiwgMCwgMiwgc3RhdGVzXzUzLAotICAgICAiXDAwMFwwNDBcMDQwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDIwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMjA2XDEyMFwwNzZcMDAwXDAwMCJ9LAorICAgICAiXDAwMFwwNDBcMDQwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDFcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDE0XDI0MVwxNzRcMDAwXDAwMCJ9LAogICAgIHszMTAsICJjb21wX29wIiwgMCwgNCwgc3RhdGVzXzU0LAotICAgICAiXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMlwwMDBcMjIwXDE3N1wwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMCJ9LAorICAgICAiXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwNFwwMDBcMDQwXDM3N1wwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMCJ9LAogICAgIHszMTEsICJzdGFyX2V4cHIiLCAwLCAzLCBzdGF0ZXNfNTUsCiAgICAgICJcMDAwXDAwMFwwMDBcMjAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwIn0sCiAgICAgezMxMiwgImV4cHIiLCAwLCAyLCBzdGF0ZXNfNTYsCi0gICAgICJcMDAwXDA0MFwwNDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMjAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwyMDZcMTIwXDA3NlwwMDBcMDAwIn0sCisgICAgICJcMDAwXDA0MFwwNDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMVwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMTRcMjQxXDE3NFwwMDBcMDAwIn0sCiAgICAgezMxMywgInhvcl9leHByIiwgMCwgMiwgc3RhdGVzXzU3LAotICAgICAiXDAwMFwwNDBcMDQwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDIwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMjA2XDEyMFwwNzZcMDAwXDAwMCJ9LAorICAgICAiXDAwMFwwNDBcMDQwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDFcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDE0XDI0MVwxNzRcMDAwXDAwMCJ9LAogICAgIHszMTQsICJhbmRfZXhwciIsIDAsIDIsIHN0YXRlc181OCwKLSAgICAgIlwwMDBcMDQwXDA0MFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwyMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDIwNlwxMjBcMDc2XDAwMFwwMDAifSwKKyAgICAgIlwwMDBcMDQwXDA0MFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAxXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAxNFwyNDFcMTc0XDAwMFwwMDAifSwKICAgICB7MzE1LCAic2hpZnRfZXhwciIsIDAsIDIsIHN0YXRlc181OSwKLSAgICAgIlwwMDBcMDQwXDA0MFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwyMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDIwNlwxMjBcMDc2XDAwMFwwMDAifSwKKyAgICAgIlwwMDBcMDQwXDA0MFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAxXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAxNFwyNDFcMTc0XDAwMFwwMDAifSwKICAgICB7MzE2LCAiYXJpdGhfZXhwciIsIDAsIDIsIHN0YXRlc182MCwKLSAgICAgIlwwMDBcMDQwXDA0MFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwyMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDIwNlwxMjBcMDc2XDAwMFwwMDAifSwKKyAgICAgIlwwMDBcMDQwXDA0MFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAxXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAxNFwyNDFcMTc0XDAwMFwwMDAifSwKICAgICB7MzE3LCAidGVybSIsIDAsIDIsIHN0YXRlc182MSwKLSAgICAgIlwwMDBcMDQwXDA0MFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwyMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDIwNlwxMjBcMDc2XDAwMFwwMDAifSwKKyAgICAgIlwwMDBcMDQwXDA0MFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAxXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAxNFwyNDFcMTc0XDAwMFwwMDAifSwKICAgICB7MzE4LCAiZmFjdG9yIiwgMCwgMywgc3RhdGVzXzYyLAotICAgICAiXDAwMFwwNDBcMDQwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDIwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMjA2XDEyMFwwNzZcMDAwXDAwMCJ9LAorICAgICAiXDAwMFwwNDBcMDQwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDFcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDE0XDI0MVwxNzRcMDAwXDAwMCJ9LAogICAgIHszMTksICJwb3dlciIsIDAsIDQsIHN0YXRlc182MywKLSAgICAgIlwwMDBcMDQwXDA0MFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwyMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwxMjBcMDc2XDAwMFwwMDAifSwKKyAgICAgIlwwMDBcMDQwXDA0MFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAxXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwyNDBcMTc0XDAwMFwwMDAifSwKICAgICB7MzIwLCAiYXRvbSIsIDAsIDksIHN0YXRlc182NCwKLSAgICAgIlwwMDBcMDQwXDA0MFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwyMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwxMjBcMDc2XDAwMFwwMDAifSwKKyAgICAgIlwwMDBcMDQwXDA0MFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAxXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwyNDBcMTc0XDAwMFwwMDAifSwKICAgICB7MzIxLCAidGVzdGxpc3RfY29tcCIsIDAsIDUsIHN0YXRlc182NSwKLSAgICAgIlwwMDBcMDQwXDA0MFwyMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwyMDBcMDAwXDAwMFwwMDBcMjAwXDAyMFwwMDBcMDAwXDIwNlwxMjBcMDc2XDAwMFwwMDAifSwKKyAgICAgIlwwMDBcMDQwXDA0MFwyMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAxXDAwMFwwMDBcMDAwXDA0MVwwMDBcMDAwXDAxNFwyNDFcMTc0XDAwMFwwMDAifSwKICAgICB7MzIyLCAidHJhaWxlciIsIDAsIDcsIHN0YXRlc182NiwKLSAgICAgIlwwMDBcMDQwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwxMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMjBcMDAwXDAwMFwwMDAifSwKKyAgICAgIlwwMDBcMDQwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwyMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwNDBcMDAwXDAwMFwwMDAifSwKICAgICB7MzIzLCAic3Vic2NyaXB0bGlzdCIsIDAsIDMsIHN0YXRlc182NywKLSAgICAgIlwwMDBcMDQwXDA0MFwwMDJcMDAwXDAwMFwwMDBcMDAwXDAwMFwyMDBcMDAwXDAwMFwwMDBcMjAwXDAyMFwwMDBcMDAwXDIwNlwxMjBcMDc2XDAwMFwwMDAifSwKKyAgICAgIlwwMDBcMDQwXDA0MFwwMDJcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAxXDAwMFwwMDBcMDAwXDA0MVwwMDBcMDAwXDAxNFwyNDFcMTc0XDAwMFwwMDAifSwKICAgICB7MzI0LCAic3Vic2NyaXB0IiwgMCwgNSwgc3RhdGVzXzY4LAotICAgICAiXDAwMFwwNDBcMDQwXDAwMlwwMDBcMDAwXDAwMFwwMDBcMDAwXDIwMFwwMDBcMDAwXDAwMFwyMDBcMDIwXDAwMFwwMDBcMjA2XDEyMFwwNzZcMDAwXDAwMCJ9LAorICAgICAiXDAwMFwwNDBcMDQwXDAwMlwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDFcMDAwXDAwMFwwMDBcMDQxXDAwMFwwMDBcMDE0XDI0MVwxNzRcMDAwXDAwMCJ9LAogICAgIHszMjUsICJzbGljZW9wIiwgMCwgMywgc3RhdGVzXzY5LAogICAgICAiXDAwMFwwMDBcMDAwXDAwMlwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMCJ9LAogICAgIHszMjYsICJleHBybGlzdCIsIDAsIDMsIHN0YXRlc183MCwKLSAgICAgIlwwMDBcMDQwXDA0MFwyMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwyMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDIwNlwxMjBcMDc2XDAwMFwwMDAifSwKKyAgICAgIlwwMDBcMDQwXDA0MFwyMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAxXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAxNFwyNDFcMTc0XDAwMFwwMDAifSwKICAgICB7MzI3LCAidGVzdGxpc3QiLCAwLCAzLCBzdGF0ZXNfNzEsCi0gICAgICJcMDAwXDA0MFwwNDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMjAwXDAwMFwwMDBcMDAwXDIwMFwwMjBcMDAwXDAwMFwyMDZcMTIwXDA3NlwwMDBcMDAwIn0sCisgICAgICJcMDAwXDA0MFwwNDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMVwwMDBcMDAwXDAwMFwwNDFcMDAwXDAwMFwwMTRcMjQxXDE3NFwwMDBcMDAwIn0sCiAgICAgezMyOCwgImRpY3RvcnNldG1ha2VyIiwgMCwgMTEsIHN0YXRlc183MiwKLSAgICAgIlwwMDBcMDQwXDA0MFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwyMDBcMDAwXDAwMFwwMDBcMjAwXDAyMFwwMDBcMDAwXDIwNlwxMjBcMDc2XDAwMFwwMDAifSwKKyAgICAgIlwwMDBcMDQwXDA0MFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAxXDAwMFwwMDBcMDAwXDA0MVwwMDBcMDAwXDAxNFwyNDFcMTc0XDAwMFwwMDAifSwKICAgICB7MzI5LCAiY2xhc3NkZWYiLCAwLCA4LCBzdGF0ZXNfNzMsCi0gICAgICJcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDRcMDAwIn0sCisgICAgICJcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMTBcMDAwIn0sCiAgICAgezMzMCwgImFyZ2xpc3QiLCAwLCA4LCBzdGF0ZXNfNzQsCi0gICAgICJcMDAwXDA0MFwwNDBcMjAwXDAwMVwwMDBcMDAwXDAwMFwwMDBcMjAwXDAwMFwwMDBcMDAwXDIwMFwwMjBcMDAwXDAwMFwyMDZcMTIwXDA3NlwwMDBcMDAwIn0sCisgICAgICJcMDAwXDA0MFwwNDBcMjAwXDAwMVwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMVwwMDBcMDAwXDAwMFwwNDFcMDAwXDAwMFwwMTRcMjQxXDE3NFwwMDBcMDAwIn0sCiAgICAgezMzMSwgImFyZ3VtZW50IiwgMCwgNCwgc3RhdGVzXzc1LAotICAgICAiXDAwMFwwNDBcMDQwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDIwMFwwMDBcMDAwXDAwMFwyMDBcMDIwXDAwMFwwMDBcMjA2XDEyMFwwNzZcMDAwXDAwMCJ9LAorICAgICAiXDAwMFwwNDBcMDQwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDFcMDAwXDAwMFwwMDBcMDQxXDAwMFwwMDBcMDE0XDI0MVwxNzRcMDAwXDAwMCJ9LAogICAgIHszMzIsICJjb21wX2l0ZXIiLCAwLCAyLCBzdGF0ZXNfNzYsCi0gICAgICJcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMjBcMDAxXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwIn0sCisgICAgICJcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwNDBcMDAyXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwIn0sCiAgICAgezMzMywgImNvbXBfZm9yIiwgMCwgNiwgc3RhdGVzXzc3LAotICAgICAiXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMVwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMCJ9LAorICAgICAiXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMlwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMCJ9LAogICAgIHszMzQsICJjb21wX2lmIiwgMCwgNCwgc3RhdGVzXzc4LAotICAgICAiXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDIwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMCJ9LAorICAgICAiXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDQwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMCJ9LAogICAgIHszMzUsICJlbmNvZGluZ19kZWNsIiwgMCwgMiwgc3RhdGVzXzc5LAogICAgICAiXDAwMFwwMDBcMDQwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMCJ9LAogICAgIHszMzYsICJ5aWVsZF9leHByIiwgMCwgMywgc3RhdGVzXzgwLAotICAgICAiXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMjAwXDAwMCJ9LAorICAgICAiXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMSJ9LAogICAgIHszMzcsICJ5aWVsZF9hcmciLCAwLCAzLCBzdGF0ZXNfODEsCi0gICAgICJcMDAwXDA0MFwwNDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMjAyXDAwMFwwMDBcMDAwXDIwMFwwMjBcMDAwXDAwMFwyMDZcMTIwXDA3NlwwMDBcMDAwIn0sCisgICAgICJcMDAwXDA0MFwwNDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDA0XDAwMVwwMDBcMDAwXDAwMFwwNDFcMDAwXDAwMFwwMTRcMjQxXDE3NFwwMDBcMDAwIn0sCiB9Owotc3RhdGljIGxhYmVsIGxhYmVsc1sxNjldID0geworc3RhdGljIGxhYmVsIGxhYmVsc1sxNzBdID0gewogICAgIHswLCAiRU1QVFkifSwKICAgICB7MjU2LCAwfSwKICAgICB7NCwgMH0sCkBAIC0yMDA3LDcgKzIwMDksNyBAQAogICAgIHsxLCAiZGVmIn0sCiAgICAgezEsIDB9LAogICAgIHsyNjMsIDB9LAotICAgIHs1MCwgMH0sCisgICAgezUxLCAwfSwKICAgICB7MzAyLCAwfSwKICAgICB7MTEsIDB9LAogICAgIHszMDEsIDB9LApAQCAtMjAzNiw2ICsyMDM4LDcgQEAKICAgICB7MzYsIDB9LAogICAgIHszNywgMH0sCiAgICAgezM4LCAwfSwKKyAgICB7NTAsIDB9LAogICAgIHszOSwgMH0sCiAgICAgezQwLCAwfSwKICAgICB7NDEsIDB9LApAQCAtMjA2Myw3ICsyMDY2LDcgQEAKICAgICB7MSwgImltcG9ydCJ9LAogICAgIHsyODgsIDB9LAogICAgIHsyMywgMH0sCi0gICAgezUxLCAwfSwKKyAgICB7NTIsIDB9LAogICAgIHsyODcsIDB9LAogICAgIHsyODUsIDB9LAogICAgIHsxLCAiYXMifSwKQEAgLTIxNTcsNiArMjE2MCw2IEBACiBncmFtbWFyIF9QeVBhcnNlcl9HcmFtbWFyID0gewogICAgIDgyLAogICAgIGRmYXMsCi0gICAgezE2OSwgbGFiZWxzfSwKKyAgICB7MTcwLCBsYWJlbHN9LAogICAgIDI1NgogfTsKZGlmZiAtLWdpdCBhL1B5dGhvbi9pbXBvcnQuYyBiL1B5dGhvbi9pbXBvcnQuYwppbmRleCA3ZWU3ZWQ5Li5jM2I5ZTEyIDEwMDY0NAotLS0gYS9QeXRob24vaW1wb3J0LmMKKysrIGIvUHl0aG9uL2ltcG9ydC5jCkBAIC0zMiw5ICszMiwxMiBAQAogc3RhdGljIFB5T2JqZWN0ICppbml0c3RyID0gTlVMTDsKIAogLypbY2xpbmljIGlucHV0XQorb3V0cHV0IHByZXNldCBmaWxlCiBtb2R1bGUgX2ltcAogW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLwotLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWRhMzlhM2VlNWU2YjRiMGQgaW5wdXQ9OWMzMzI0NzVkODY4NjI4NF0qLworLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWRhMzlhM2VlNWU2YjRiMGQgaW5wdXQ9OThjMzgyMjExNjQ1NzlkNV0qLworCisjaW5jbHVkZSAiY2xpbmljL2ltcG9ydC5jLmgiCiAKIC8qW3B5dGhvbiBpbnB1dF0KIGNsYXNzIGZzX3VuaWNvZGVfY29udmVydGVyKENDb252ZXJ0ZXIpOgpAQCAtMjM1LDI5ICsyMzgsOSBAQAogT24gcGxhdGZvcm1zIHdpdGhvdXQgdGhyZWFkcywgcmV0dXJuIEZhbHNlLgogW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLwogCi1QeURvY19TVFJWQVIoX2ltcF9sb2NrX2hlbGRfX2RvY19fLAotImxvY2tfaGVsZCgkbW9kdWxlLCAvKVxuIgotIi0tXG4iCi0iXG4iCi0iUmV0dXJuIFRydWUgaWYgdGhlIGltcG9ydCBsb2NrIGlzIGN1cnJlbnRseSBoZWxkLCBlbHNlIEZhbHNlLlxuIgotIlxuIgotIk9uIHBsYXRmb3JtcyB3aXRob3V0IHRocmVhZHMsIHJldHVybiBGYWxzZS4iKTsKLQotI2RlZmluZSBfSU1QX0xPQ0tfSEVMRF9NRVRIT0RERUYgICAgXAotICAgIHsibG9ja19oZWxkIiwgKFB5Q0Z1bmN0aW9uKV9pbXBfbG9ja19oZWxkLCBNRVRIX05PQVJHUywgX2ltcF9sb2NrX2hlbGRfX2RvY19ffSwKLQotc3RhdGljIFB5T2JqZWN0ICoKLV9pbXBfbG9ja19oZWxkX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSk7Ci0KLXN0YXRpYyBQeU9iamVjdCAqCi1faW1wX2xvY2tfaGVsZChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqUHlfVU5VU0VEKGlnbm9yZWQpKQotewotICAgIHJldHVybiBfaW1wX2xvY2tfaGVsZF9pbXBsKG1vZHVsZSk7Ci19Ci0KIHN0YXRpYyBQeU9iamVjdCAqCiBfaW1wX2xvY2tfaGVsZF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUpCi0vKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ZGFlNjU2NzQ5NjZiYWE2NSBpbnB1dD05YjA4OGY5YjIxN2Q5YmRmXSovCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ZDdhOGNjM2E1MTY5MDgxYSBpbnB1dD05YjA4OGY5YjIxN2Q5YmRmXSovCiB7CiAjaWZkZWYgV0lUSF9USFJFQUQKICAgICByZXR1cm4gUHlCb29sX0Zyb21Mb25nKGltcG9ydF9sb2NrX3RocmVhZCAhPSAtMSk7CkBAIC0yNzUsMzAgKzI1OCw5IEBACiBtb2R1bGVzLiBPbiBwbGF0Zm9ybXMgd2l0aG91dCB0aHJlYWRzLCB0aGlzIGZ1bmN0aW9uIGRvZXMgbm90aGluZy4KIFtjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KIAotUHlEb2NfU1RSVkFSKF9pbXBfYWNxdWlyZV9sb2NrX19kb2NfXywKLSJhY3F1aXJlX2xvY2soJG1vZHVsZSwgLylcbiIKLSItLVxuIgotIlxuIgotIkFjcXVpcmVzIHRoZSBpbnRlcnByZXRlclwncyBpbXBvcnQgbG9jayBmb3IgdGhlIGN1cnJlbnQgdGhyZWFkLlxuIgotIlxuIgotIlRoaXMgbG9jayBzaG91bGQgYmUgdXNlZCBieSBpbXBvcnQgaG9va3MgdG8gZW5zdXJlIHRocmVhZC1zYWZldHkgd2hlbiBpbXBvcnRpbmdcbiIKLSJtb2R1bGVzLiBPbiBwbGF0Zm9ybXMgd2l0aG91dCB0aHJlYWRzLCB0aGlzIGZ1bmN0aW9uIGRvZXMgbm90aGluZy4iKTsKLQotI2RlZmluZSBfSU1QX0FDUVVJUkVfTE9DS19NRVRIT0RERUYgICAgXAotICAgIHsiYWNxdWlyZV9sb2NrIiwgKFB5Q0Z1bmN0aW9uKV9pbXBfYWNxdWlyZV9sb2NrLCBNRVRIX05PQVJHUywgX2ltcF9hY3F1aXJlX2xvY2tfX2RvY19ffSwKLQotc3RhdGljIFB5T2JqZWN0ICoKLV9pbXBfYWNxdWlyZV9sb2NrX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSk7Ci0KLXN0YXRpYyBQeU9iamVjdCAqCi1faW1wX2FjcXVpcmVfbG9jayhQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqUHlfVU5VU0VEKGlnbm9yZWQpKQotewotICAgIHJldHVybiBfaW1wX2FjcXVpcmVfbG9ja19pbXBsKG1vZHVsZSk7Ci19Ci0KIHN0YXRpYyBQeU9iamVjdCAqCiBfaW1wX2FjcXVpcmVfbG9ja19pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUpCi0vKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9NDc4ZjFmYTA4OWZkYjlhNCBpbnB1dD00YTJkNDM4MTg2NmQ1ZmRjXSovCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9Y2MxNDNiMWQxNjQyMmNhZSBpbnB1dD00YTJkNDM4MTg2NmQ1ZmRjXSovCiB7CiAjaWZkZWYgV0lUSF9USFJFQUQKICAgICBfUHlJbXBvcnRfQWNxdWlyZUxvY2soKTsKQEAgLTMxNSwyOSArMjc3LDkgQEAKIE9uIHBsYXRmb3JtcyB3aXRob3V0IHRocmVhZHMsIHRoaXMgZnVuY3Rpb24gZG9lcyBub3RoaW5nLgogW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLwogCi1QeURvY19TVFJWQVIoX2ltcF9yZWxlYXNlX2xvY2tfX2RvY19fLAotInJlbGVhc2VfbG9jaygkbW9kdWxlLCAvKVxuIgotIi0tXG4iCi0iXG4iCi0iUmVsZWFzZSB0aGUgaW50ZXJwcmV0ZXJcJ3MgaW1wb3J0IGxvY2suXG4iCi0iXG4iCi0iT24gcGxhdGZvcm1zIHdpdGhvdXQgdGhyZWFkcywgdGhpcyBmdW5jdGlvbiBkb2VzIG5vdGhpbmcuIik7Ci0KLSNkZWZpbmUgX0lNUF9SRUxFQVNFX0xPQ0tfTUVUSE9EREVGICAgIFwKLSAgICB7InJlbGVhc2VfbG9jayIsIChQeUNGdW5jdGlvbilfaW1wX3JlbGVhc2VfbG9jaywgTUVUSF9OT0FSR1MsIF9pbXBfcmVsZWFzZV9sb2NrX19kb2NfX30sCi0KLXN0YXRpYyBQeU9iamVjdCAqCi1faW1wX3JlbGVhc2VfbG9ja19pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUpOwotCi1zdGF0aWMgUHlPYmplY3QgKgotX2ltcF9yZWxlYXNlX2xvY2soUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKlB5X1VOVVNFRChpZ25vcmVkKSkKLXsKLSAgICByZXR1cm4gX2ltcF9yZWxlYXNlX2xvY2tfaW1wbChtb2R1bGUpOwotfQotCiBzdGF0aWMgUHlPYmplY3QgKgogX2ltcF9yZWxlYXNlX2xvY2tfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlKQotLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTM2Yzc3YTY4MzJmZGFmZDQgaW5wdXQ9OTM0ZmIxMTUxNmRkNzc4Yl0qLworLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTc0ZDI4ZTM4ZWJlMmIyMjQgaW5wdXQ9OTM0ZmIxMTUxNmRkNzc4Yl0qLwogewogI2lmZGVmIFdJVEhfVEhSRUFECiAgICAgaWYgKF9QeUltcG9ydF9SZWxlYXNlTG9jaygpIDwgMCkgewpAQCAtOTYyLDQzICs5MDQsOSBAQAogQ2hhbmdlcyBjb2RlLmNvX2ZpbGVuYW1lIHRvIHNwZWNpZnkgdGhlIHBhc3NlZC1pbiBmaWxlIHBhdGguCiBbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCiAKLVB5RG9jX1NUUlZBUihfaW1wX19maXhfY29fZmlsZW5hbWVfX2RvY19fLAotIl9maXhfY29fZmlsZW5hbWUoJG1vZHVsZSwgY29kZSwgcGF0aCwgLylcbiIKLSItLVxuIgotIlxuIgotIkNoYW5nZXMgY29kZS5jb19maWxlbmFtZSB0byBzcGVjaWZ5IHRoZSBwYXNzZWQtaW4gZmlsZSBwYXRoLlxuIgotIlxuIgotIiAgY29kZVxuIgotIiAgICBDb2RlIG9iamVjdCB0byBjaGFuZ2UuXG4iCi0iICBwYXRoXG4iCi0iICAgIEZpbGUgcGF0aCB0byB1c2UuIik7Ci0KLSNkZWZpbmUgX0lNUF9fRklYX0NPX0ZJTEVOQU1FX01FVEhPRERFRiAgICBcCi0gICAgeyJfZml4X2NvX2ZpbGVuYW1lIiwgKFB5Q0Z1bmN0aW9uKV9pbXBfX2ZpeF9jb19maWxlbmFtZSwgTUVUSF9WQVJBUkdTLCBfaW1wX19maXhfY29fZmlsZW5hbWVfX2RvY19ffSwKLQotc3RhdGljIFB5T2JqZWN0ICoKLV9pbXBfX2ZpeF9jb19maWxlbmFtZV9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5Q29kZU9iamVjdCAqY29kZSwgUHlPYmplY3QgKnBhdGgpOwotCi1zdGF0aWMgUHlPYmplY3QgKgotX2ltcF9fZml4X2NvX2ZpbGVuYW1lKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQotewotICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOwotICAgIFB5Q29kZU9iamVjdCAqY29kZTsKLSAgICBQeU9iamVjdCAqcGF0aDsKLQotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAotICAgICAgICAiTyFVOl9maXhfY29fZmlsZW5hbWUiLAotICAgICAgICAmUHlDb2RlX1R5cGUsICZjb2RlLCAmcGF0aCkpCi0gICAgICAgIGdvdG8gZXhpdDsKLSAgICByZXR1cm5fdmFsdWUgPSBfaW1wX19maXhfY29fZmlsZW5hbWVfaW1wbChtb2R1bGUsIGNvZGUsIHBhdGgpOwotCi1leGl0OgotICAgIHJldHVybiByZXR1cm5fdmFsdWU7Ci19Ci0KIHN0YXRpYyBQeU9iamVjdCAqCiBfaW1wX19maXhfY29fZmlsZW5hbWVfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeUNvZGVPYmplY3QgKmNvZGUsIFB5T2JqZWN0ICpwYXRoKQotLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTZiNGIxZWRlYjBkNTVjNWQgaW5wdXQ9ODk1YmE1MGU3OGI4MmYwNV0qLworLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTdhZmU1YmE2YjlkMzgzZTQgaW5wdXQ9ODk1YmE1MGU3OGI4MmYwNV0qLwogCiB7CiAgICAgdXBkYXRlX2NvbXBpbGVkX21vZHVsZShjb2RlLCBwYXRoKTsKQEAgLTE4NjAsMjcgKzE3NjgsOSBAQAogUmV0dXJucyB0aGUgbGlzdCBvZiBmaWxlIHN1ZmZpeGVzIHVzZWQgdG8gaWRlbnRpZnkgZXh0ZW5zaW9uIG1vZHVsZXMuCiBbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCiAKLVB5RG9jX1NUUlZBUihfaW1wX2V4dGVuc2lvbl9zdWZmaXhlc19fZG9jX18sCi0iZXh0ZW5zaW9uX3N1ZmZpeGVzKCRtb2R1bGUsIC8pXG4iCi0iLS1cbiIKLSJcbiIKLSJSZXR1cm5zIHRoZSBsaXN0IG9mIGZpbGUgc3VmZml4ZXMgdXNlZCB0byBpZGVudGlmeSBleHRlbnNpb24gbW9kdWxlcy4iKTsKLQotI2RlZmluZSBfSU1QX0VYVEVOU0lPTl9TVUZGSVhFU19NRVRIT0RERUYgICAgXAotICAgIHsiZXh0ZW5zaW9uX3N1ZmZpeGVzIiwgKFB5Q0Z1bmN0aW9uKV9pbXBfZXh0ZW5zaW9uX3N1ZmZpeGVzLCBNRVRIX05PQVJHUywgX2ltcF9leHRlbnNpb25fc3VmZml4ZXNfX2RvY19ffSwKLQotc3RhdGljIFB5T2JqZWN0ICoKLV9pbXBfZXh0ZW5zaW9uX3N1ZmZpeGVzX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSk7Ci0KLXN0YXRpYyBQeU9iamVjdCAqCi1faW1wX2V4dGVuc2lvbl9zdWZmaXhlcyhQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqUHlfVU5VU0VEKGlnbm9yZWQpKQotewotICAgIHJldHVybiBfaW1wX2V4dGVuc2lvbl9zdWZmaXhlc19pbXBsKG1vZHVsZSk7Ci19Ci0KIHN0YXRpYyBQeU9iamVjdCAqCiBfaW1wX2V4dGVuc2lvbl9zdWZmaXhlc19pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUpCi0vKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9YmIzMGEyNDM4MTY3Nzk4YyBpbnB1dD1lY2RlZWVjZmNiNmY4MzllXSovCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ZDQ0YzE1NjZlZjM2MjIyOSBpbnB1dD1lY2RlZWVjZmNiNmY4MzllXSovCiB7CiAgICAgUHlPYmplY3QgKmxpc3Q7CiAgICAgY29uc3QgY2hhciAqc3VmZml4OwpAQCAtMTkxNywzNyArMTgwNyw5IEBACiBJbml0aWFsaXplcyBhIGJ1aWx0LWluIG1vZHVsZS4KIFtjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KIAotUHlEb2NfU1RSVkFSKF9pbXBfaW5pdF9idWlsdGluX19kb2NfXywKLSJpbml0X2J1aWx0aW4oJG1vZHVsZSwgbmFtZSwgLylcbiIKLSItLVxuIgotIlxuIgotIkluaXRpYWxpemVzIGEgYnVpbHQtaW4gbW9kdWxlLiIpOwotCi0jZGVmaW5lIF9JTVBfSU5JVF9CVUlMVElOX01FVEhPRERFRiAgICBcCi0gICAgeyJpbml0X2J1aWx0aW4iLCAoUHlDRnVuY3Rpb24pX2ltcF9pbml0X2J1aWx0aW4sIE1FVEhfVkFSQVJHUywgX2ltcF9pbml0X2J1aWx0aW5fX2RvY19ffSwKLQotc3RhdGljIFB5T2JqZWN0ICoKLV9pbXBfaW5pdF9idWlsdGluX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKm5hbWUpOwotCi1zdGF0aWMgUHlPYmplY3QgKgotX2ltcF9pbml0X2J1aWx0aW4oUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCi17Ci0gICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7Ci0gICAgUHlPYmplY3QgKm5hbWU7Ci0KLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKLSAgICAgICAgIlU6aW5pdF9idWlsdGluIiwKLSAgICAgICAgJm5hbWUpKQotICAgICAgICBnb3RvIGV4aXQ7Ci0gICAgcmV0dXJuX3ZhbHVlID0gX2ltcF9pbml0X2J1aWx0aW5faW1wbChtb2R1bGUsIG5hbWUpOwotCi1leGl0OgotICAgIHJldHVybiByZXR1cm5fdmFsdWU7Ci19Ci0KIHN0YXRpYyBQeU9iamVjdCAqCiBfaW1wX2luaXRfYnVpbHRpbl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpuYW1lKQotLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWEwMjQ0OTQ4YTQzZjhlMjYgaW5wdXQ9ZjkzNGQyMjMxZWM1MmEyZV0qLworLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTE4NjhmNDczNjg1ZjZkNjcgaW5wdXQ9ZjkzNGQyMjMxZWM1MmEyZV0qLwogewogICAgIGludCByZXQ7CiAgICAgUHlPYmplY3QgKm07CkBAIC0xOTczLDM3ICsxODM1LDkgQEAKIEluaXRpYWxpemVzIGEgZnJvemVuIG1vZHVsZS4KIFtjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KIAotUHlEb2NfU1RSVkFSKF9pbXBfaW5pdF9mcm96ZW5fX2RvY19fLAotImluaXRfZnJvemVuKCRtb2R1bGUsIG5hbWUsIC8pXG4iCi0iLS1cbiIKLSJcbiIKLSJJbml0aWFsaXplcyBhIGZyb3plbiBtb2R1bGUuIik7Ci0KLSNkZWZpbmUgX0lNUF9JTklUX0ZST1pFTl9NRVRIT0RERUYgICAgXAotICAgIHsiaW5pdF9mcm96ZW4iLCAoUHlDRnVuY3Rpb24pX2ltcF9pbml0X2Zyb3plbiwgTUVUSF9WQVJBUkdTLCBfaW1wX2luaXRfZnJvemVuX19kb2NfX30sCi0KLXN0YXRpYyBQeU9iamVjdCAqCi1faW1wX2luaXRfZnJvemVuX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKm5hbWUpOwotCi1zdGF0aWMgUHlPYmplY3QgKgotX2ltcF9pbml0X2Zyb3plbihQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKLXsKLSAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKLSAgICBQeU9iamVjdCAqbmFtZTsKLQotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAotICAgICAgICAiVTppbml0X2Zyb3plbiIsCi0gICAgICAgICZuYW1lKSkKLSAgICAgICAgZ290byBleGl0OwotICAgIHJldHVybl92YWx1ZSA9IF9pbXBfaW5pdF9mcm96ZW5faW1wbChtb2R1bGUsIG5hbWUpOwotCi1leGl0OgotICAgIHJldHVybiByZXR1cm5fdmFsdWU7Ci19Ci0KIHN0YXRpYyBQeU9iamVjdCAqCiBfaW1wX2luaXRfZnJvemVuX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKm5hbWUpCi0vKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ZTRiYzJiZmYyOTZmOGYyMiBpbnB1dD0xMzAxOWFkZmMwNGYzZmIzXSovCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9YTlkZTQ5M2JkZDcxMTg3OCBpbnB1dD0xMzAxOWFkZmMwNGYzZmIzXSovCiB7CiAgICAgaW50IHJldDsKICAgICBQeU9iamVjdCAqbTsKQEAgLTIwMjksMzcgKzE4NjMsOSBAQAogQ3JlYXRlIGEgY29kZSBvYmplY3QgZm9yIGEgZnJvemVuIG1vZHVsZS4KIFtjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KIAotUHlEb2NfU1RSVkFSKF9pbXBfZ2V0X2Zyb3plbl9vYmplY3RfX2RvY19fLAotImdldF9mcm96ZW5fb2JqZWN0KCRtb2R1bGUsIG5hbWUsIC8pXG4iCi0iLS1cbiIKLSJcbiIKLSJDcmVhdGUgYSBjb2RlIG9iamVjdCBmb3IgYSBmcm96ZW4gbW9kdWxlLiIpOwotCi0jZGVmaW5lIF9JTVBfR0VUX0ZST1pFTl9PQkpFQ1RfTUVUSE9EREVGICAgIFwKLSAgICB7ImdldF9mcm96ZW5fb2JqZWN0IiwgKFB5Q0Z1bmN0aW9uKV9pbXBfZ2V0X2Zyb3plbl9vYmplY3QsIE1FVEhfVkFSQVJHUywgX2ltcF9nZXRfZnJvemVuX29iamVjdF9fZG9jX199LAotCi1zdGF0aWMgUHlPYmplY3QgKgotX2ltcF9nZXRfZnJvemVuX29iamVjdF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpuYW1lKTsKLQotc3RhdGljIFB5T2JqZWN0ICoKLV9pbXBfZ2V0X2Zyb3plbl9vYmplY3QoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCi17Ci0gICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7Ci0gICAgUHlPYmplY3QgKm5hbWU7Ci0KLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKLSAgICAgICAgIlU6Z2V0X2Zyb3plbl9vYmplY3QiLAotICAgICAgICAmbmFtZSkpCi0gICAgICAgIGdvdG8gZXhpdDsKLSAgICByZXR1cm5fdmFsdWUgPSBfaW1wX2dldF9mcm96ZW5fb2JqZWN0X2ltcGwobW9kdWxlLCBuYW1lKTsKLQotZXhpdDoKLSAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOwotfQotCiBzdGF0aWMgUHlPYmplY3QgKgogX2ltcF9nZXRfZnJvemVuX29iamVjdF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpuYW1lKQotLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTQwODllYzcwMmE5ZDcwYzUgaW5wdXQ9ZWQ2ODliYzA1MzU4ZmRiZF0qLworLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTMxMTRjOTcwYTQ3ZjJlM2MgaW5wdXQ9ZWQ2ODliYzA1MzU4ZmRiZF0qLwogewogICAgIHJldHVybiBnZXRfZnJvemVuX29iamVjdChuYW1lKTsKIH0KQEAgLTIwNzMsMzcgKzE4NzksOSBAQAogUmV0dXJucyBUcnVlIGlmIHRoZSBtb2R1bGUgbmFtZSBpcyBvZiBhIGZyb3plbiBwYWNrYWdlLgogW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLwogCi1QeURvY19TVFJWQVIoX2ltcF9pc19mcm96ZW5fcGFja2FnZV9fZG9jX18sCi0iaXNfZnJvemVuX3BhY2thZ2UoJG1vZHVsZSwgbmFtZSwgLylcbiIKLSItLVxuIgotIlxuIgotIlJldHVybnMgVHJ1ZSBpZiB0aGUgbW9kdWxlIG5hbWUgaXMgb2YgYSBmcm96ZW4gcGFja2FnZS4iKTsKLQotI2RlZmluZSBfSU1QX0lTX0ZST1pFTl9QQUNLQUdFX01FVEhPRERFRiAgICBcCi0gICAgeyJpc19mcm96ZW5fcGFja2FnZSIsIChQeUNGdW5jdGlvbilfaW1wX2lzX2Zyb3plbl9wYWNrYWdlLCBNRVRIX1ZBUkFSR1MsIF9pbXBfaXNfZnJvemVuX3BhY2thZ2VfX2RvY19ffSwKLQotc3RhdGljIFB5T2JqZWN0ICoKLV9pbXBfaXNfZnJvemVuX3BhY2thZ2VfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqbmFtZSk7Ci0KLXN0YXRpYyBQeU9iamVjdCAqCi1faW1wX2lzX2Zyb3plbl9wYWNrYWdlKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQotewotICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOwotICAgIFB5T2JqZWN0ICpuYW1lOwotCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCi0gICAgICAgICJVOmlzX2Zyb3plbl9wYWNrYWdlIiwKLSAgICAgICAgJm5hbWUpKQotICAgICAgICBnb3RvIGV4aXQ7Ci0gICAgcmV0dXJuX3ZhbHVlID0gX2ltcF9pc19mcm96ZW5fcGFja2FnZV9pbXBsKG1vZHVsZSwgbmFtZSk7Ci0KLWV4aXQ6Ci0gICAgcmV0dXJuIHJldHVybl92YWx1ZTsKLX0KLQogc3RhdGljIFB5T2JqZWN0ICoKIF9pbXBfaXNfZnJvemVuX3BhY2thZ2VfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqbmFtZSkKLS8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD04NmFhYjE0ZGNkNGI5NTliIGlucHV0PTgxYjZjZGVjZDA4MGZiYjhdKi8KKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD0zZTRjYWI4MDJiNTZkNjQ5IGlucHV0PTgxYjZjZGVjZDA4MGZiYjhdKi8KIHsKICAgICByZXR1cm4gaXNfZnJvemVuX3BhY2thZ2UobmFtZSk7CiB9CkBAIC0yMTE3LDM3ICsxODk1LDkgQEAKIFJldHVybnMgVHJ1ZSBpZiB0aGUgbW9kdWxlIG5hbWUgY29ycmVzcG9uZHMgdG8gYSBidWlsdC1pbiBtb2R1bGUuCiBbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCiAKLVB5RG9jX1NUUlZBUihfaW1wX2lzX2J1aWx0aW5fX2RvY19fLAotImlzX2J1aWx0aW4oJG1vZHVsZSwgbmFtZSwgLylcbiIKLSItLVxuIgotIlxuIgotIlJldHVybnMgVHJ1ZSBpZiB0aGUgbW9kdWxlIG5hbWUgY29ycmVzcG9uZHMgdG8gYSBidWlsdC1pbiBtb2R1bGUuIik7Ci0KLSNkZWZpbmUgX0lNUF9JU19CVUlMVElOX01FVEhPRERFRiAgICBcCi0gICAgeyJpc19idWlsdGluIiwgKFB5Q0Z1bmN0aW9uKV9pbXBfaXNfYnVpbHRpbiwgTUVUSF9WQVJBUkdTLCBfaW1wX2lzX2J1aWx0aW5fX2RvY19ffSwKLQotc3RhdGljIFB5T2JqZWN0ICoKLV9pbXBfaXNfYnVpbHRpbl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpuYW1lKTsKLQotc3RhdGljIFB5T2JqZWN0ICoKLV9pbXBfaXNfYnVpbHRpbihQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKLXsKLSAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKLSAgICBQeU9iamVjdCAqbmFtZTsKLQotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAotICAgICAgICAiVTppc19idWlsdGluIiwKLSAgICAgICAgJm5hbWUpKQotICAgICAgICBnb3RvIGV4aXQ7Ci0gICAgcmV0dXJuX3ZhbHVlID0gX2ltcF9pc19idWlsdGluX2ltcGwobW9kdWxlLCBuYW1lKTsKLQotZXhpdDoKLSAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOwotfQotCiBzdGF0aWMgUHlPYmplY3QgKgogX2ltcF9pc19idWlsdGluX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKm5hbWUpCi0vKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ZDU4NDdmOGNhYzUwOTQ2ZSBpbnB1dD04NmJlZmRhYzAyMWRkMWM3XSovCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9MmRlZWM5Y2FjNmZiOWE3ZSBpbnB1dD04NmJlZmRhYzAyMWRkMWM3XSovCiB7CiAgICAgcmV0dXJuIFB5TG9uZ19Gcm9tTG9uZyhpc19idWlsdGluKG5hbWUpKTsKIH0KQEAgLTIxNjEsMzcgKzE5MTEsOSBAQAogUmV0dXJucyBUcnVlIGlmIHRoZSBtb2R1bGUgbmFtZSBjb3JyZXNwb25kcyB0byBhIGZyb3plbiBtb2R1bGUuCiBbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCiAKLVB5RG9jX1NUUlZBUihfaW1wX2lzX2Zyb3plbl9fZG9jX18sCi0iaXNfZnJvemVuKCRtb2R1bGUsIG5hbWUsIC8pXG4iCi0iLS1cbiIKLSJcbiIKLSJSZXR1cm5zIFRydWUgaWYgdGhlIG1vZHVsZSBuYW1lIGNvcnJlc3BvbmRzIHRvIGEgZnJvemVuIG1vZHVsZS4iKTsKLQotI2RlZmluZSBfSU1QX0lTX0ZST1pFTl9NRVRIT0RERUYgICAgXAotICAgIHsiaXNfZnJvemVuIiwgKFB5Q0Z1bmN0aW9uKV9pbXBfaXNfZnJvemVuLCBNRVRIX1ZBUkFSR1MsIF9pbXBfaXNfZnJvemVuX19kb2NfX30sCi0KLXN0YXRpYyBQeU9iamVjdCAqCi1faW1wX2lzX2Zyb3plbl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpuYW1lKTsKLQotc3RhdGljIFB5T2JqZWN0ICoKLV9pbXBfaXNfZnJvemVuKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQotewotICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOwotICAgIFB5T2JqZWN0ICpuYW1lOwotCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCi0gICAgICAgICJVOmlzX2Zyb3plbiIsCi0gICAgICAgICZuYW1lKSkKLSAgICAgICAgZ290byBleGl0OwotICAgIHJldHVybl92YWx1ZSA9IF9pbXBfaXNfZnJvemVuX2ltcGwobW9kdWxlLCBuYW1lKTsKLQotZXhpdDoKLSAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOwotfQotCiBzdGF0aWMgUHlPYmplY3QgKgogX2ltcF9pc19mcm96ZW5faW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqbmFtZSkKLS8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD02NjkxYWY4ODRiYTQ5ODdkIGlucHV0PTczMDFkYmNhMTg5N2Q2NmJdKi8KKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD03ZGU4ZTI2MGM4ZTM2YWVkIGlucHV0PTczMDFkYmNhMTg5N2Q2NmJdKi8KIHsKICAgICBjb25zdCBzdHJ1Y3QgX2Zyb3plbiAqcDsKIApAQCAtMjIxMiwzOSArMTkzNCw5IEBACiBMb2FkcyBhbiBleHRlbnNpb24gbW9kdWxlLgogW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLwogCi1QeURvY19TVFJWQVIoX2ltcF9sb2FkX2R5bmFtaWNfX2RvY19fLAotImxvYWRfZHluYW1pYygkbW9kdWxlLCBuYW1lLCBwYXRoLCBmaWxlPU5vbmUsIC8pXG4iCi0iLS1cbiIKLSJcbiIKLSJMb2FkcyBhbiBleHRlbnNpb24gbW9kdWxlLiIpOwotCi0jZGVmaW5lIF9JTVBfTE9BRF9EWU5BTUlDX01FVEhPRERFRiAgICBcCi0gICAgeyJsb2FkX2R5bmFtaWMiLCAoUHlDRnVuY3Rpb24pX2ltcF9sb2FkX2R5bmFtaWMsIE1FVEhfVkFSQVJHUywgX2ltcF9sb2FkX2R5bmFtaWNfX2RvY19ffSwKLQotc3RhdGljIFB5T2JqZWN0ICoKLV9pbXBfbG9hZF9keW5hbWljX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKm5hbWUsIFB5T2JqZWN0ICpwYXRoLCBQeU9iamVjdCAqZmlsZSk7Ci0KLXN0YXRpYyBQeU9iamVjdCAqCi1faW1wX2xvYWRfZHluYW1pYyhQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKLXsKLSAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKLSAgICBQeU9iamVjdCAqbmFtZTsKLSAgICBQeU9iamVjdCAqcGF0aDsKLSAgICBQeU9iamVjdCAqZmlsZSA9IE5VTEw7Ci0KLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKLSAgICAgICAgIlVPJnxPOmxvYWRfZHluYW1pYyIsCi0gICAgICAgICZuYW1lLCBQeVVuaWNvZGVfRlNEZWNvZGVyLCAmcGF0aCwgJmZpbGUpKQotICAgICAgICBnb3RvIGV4aXQ7Ci0gICAgcmV0dXJuX3ZhbHVlID0gX2ltcF9sb2FkX2R5bmFtaWNfaW1wbChtb2R1bGUsIG5hbWUsIHBhdGgsIGZpbGUpOwotCi1leGl0OgotICAgIHJldHVybiByZXR1cm5fdmFsdWU7Ci19Ci0KIHN0YXRpYyBQeU9iamVjdCAqCiBfaW1wX2xvYWRfZHluYW1pY19pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpuYW1lLCBQeU9iamVjdCAqcGF0aCwgUHlPYmplY3QgKmZpbGUpCi0vKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ODFkMTFhMWZiZDFlYTBhOCBpbnB1dD1hZjY0ZjA2ZTRiYWQzNTI2XSovCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9OGI3YWU0MzFkNzk1ZTFiYSBpbnB1dD1hZjY0ZjA2ZTRiYWQzNTI2XSovCiB7CiAgICAgUHlPYmplY3QgKm1vZDsKICAgICBGSUxFICpmcDsKQEAgLTIyNzIsMTEgKzE5NjQsNyBAQAogLypbY2xpbmljIGlucHV0XQogZHVtcCBidWZmZXIKIFtjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KLQotI2lmbmRlZiBfSU1QX0xPQURfRFlOQU1JQ19NRVRIT0RERUYKLSAgICAjZGVmaW5lIF9JTVBfTE9BRF9EWU5BTUlDX01FVEhPRERFRgotI2VuZGlmIC8qICFkZWZpbmVkKF9JTVBfTE9BRF9EWU5BTUlDX01FVEhPRERFRikgKi8KLS8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1kMDdjMWQ0YTM0M2E5NTc5IGlucHV0PTUyNGNlMmUwMjFlNGViYTZdKi8KKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1kYTM5YTNlZTVlNmI0YjBkIGlucHV0PTUyNGNlMmUwMjFlNGViYTZdKi8KIAogCiBQeURvY19TVFJWQVIoZG9jX2ltcCwKQEAgLTIzNzYsNyArMjA2NCw3IEBACiAKICAgICBtZW1zZXQobmV3dGFiLCAnXDAnLCBzaXplb2YgbmV3dGFiKTsKIAotICAgIG5ld3RhYlswXS5uYW1lID0gKGNoYXIgKiluYW1lOworICAgIG5ld3RhYlswXS5uYW1lID0gbmFtZTsKICAgICBuZXd0YWJbMF0uaW5pdGZ1bmMgPSBpbml0ZnVuYzsKIAogICAgIHJldHVybiBQeUltcG9ydF9FeHRlbmRJbml0dGFiKG5ld3RhYik7CkBAIC0yMzg1LDQgKzIwNzMsMyBAQAogI2lmZGVmIF9fY3BsdXNwbHVzCiB9CiAjZW5kaWYKLQpkaWZmIC0tZ2l0IGEvUHl0aG9uL2ltcG9ydGxpYi5oIGIvUHl0aG9uL2ltcG9ydGxpYi5oCmluZGV4IGVmOGJmMjcuLjAxNTRhNzggMTAwNjQ0Ci0tLSBhL1B5dGhvbi9pbXBvcnRsaWIuaAorKysgYi9QeXRob24vaW1wb3J0bGliLmgKQEAgLTEsOCArMSw4IEBACi0vKiBBdXRvLWdlbmVyYXRlZCBieSBNb2R1bGVzL19mcmVlemVfaW1wb3J0bGliLmMgKi8KKy8qIEF1dG8tZ2VuZXJhdGVkIGJ5IFByb2dyYW1zL19mcmVlemVfaW1wb3J0bGliLmMgKi8KIGNvbnN0IHVuc2lnbmVkIGNoYXIgX1B5X01fX2ltcG9ydGxpYltdID0gewogICAgIDk5LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDcsMCwwLAotICAgIDAsNjQsMCwwLDAsMTE1LDIyOCw0LDAsMCwxMDAsMCwwLDkwLDAsMCwKLSAgICAxMDAsMTYzLDAsOTAsMSwwLDEwMCw0LDAsMTAwLDUsMCwxMzIsMCwwLDkwLAorICAgIDAsNjQsMCwwLDAsMTE1LDQzLDUsMCwwLDEwMCwwLDAsOTAsMCwwLAorICAgIDEwMCwxNzcsMCw5MCwxLDAsMTAwLDQsMCwxMDAsNSwwLDEzMiwwLDAsOTAsCiAgICAgMiwwLDEwMCw2LDAsMTAwLDcsMCwxMzIsMCwwLDkwLDMsMCwxMDAsOCwKICAgICAwLDEwMCw5LDAsMTMyLDAsMCw5MCw0LDAsMTAwLDEwLDAsMTAwLDExLDAsCiAgICAgMTMyLDAsMCw5MCw1LDAsMTAwLDEyLDAsMTAwLDEzLDAsMTMyLDAsMCw5MCwKQEAgLTQ2LDEyMjMgKzQ2LDEyMjEgQEAKICAgICAxMzIsMCwyLDkwLDU0LDAsMTAxLDU1LDAsMTMxLDAsMCw5MCw1NiwwLDEwMCwKICAgICA1MywwLDEwMCw5NSwwLDEwMCw1MywwLDEwMCw5NiwwLDEwMSw1NiwwLDEwMCw5NywKICAgICAwLDEwMCw5OCwwLDEzMiwxLDIsOTAsNTcsMCwxMDAsNTMsMCwxMDAsNTMsMCwKLSAgICAxMDAsOTksMCwxMDAsMTAwLDAsMTMyLDIsMCw5MCw1OCwwLDcxLDEwMCwxMDEsMCwKLSAgICAxMDAsMTAyLDAsMTMyLDAsMCwxMDAsMTAyLDAsMTMxLDIsMCw5MCw1OSwwLDEwMCwKLSAgICA1MywwLDEwMCwxMDMsMCwxMDAsMTA0LDAsMTMyLDEsMCw5MCw2MCwwLDcxLDEwMCwKLSAgICAxMDUsMCwxMDAsMTA2LDAsMTMyLDAsMCwxMDAsMTA2LDAsMTMxLDIsMCw5MCw2MSwKLSAgICAwLDcxLDEwMCwxMDcsMCwxMDAsMTA4LDAsMTMyLDAsMCwxMDAsMTA4LDAsMTMxLDIsCi0gICAgMCw5MCw2MiwwLDcxLDEwMCwxMDksMCwxMDAsMTEwLDAsMTMyLDAsMCwxMDAsMTEwLAotICAgIDAsMTMxLDIsMCw5MCw2MywwLDcxLDEwMCwxMTEsMCwxMDAsMTEyLDAsMTMyLDAsCi0gICAgMCwxMDAsMTEyLDAsMTMxLDIsMCw5MCw2NCwwLDcxLDEwMCwxMTMsMCwxMDAsMTE0LAotICAgIDAsMTMyLDAsMCwxMDAsMTE0LDAsMTAxLDY0LDAsMTMxLDMsMCw5MCw2NSwwLAotICAgIDcxLDEwMCwxMTUsMCwxMDAsMTE2LDAsMTMyLDAsMCwxMDAsMTE2LDAsMTMxLDIsMCwKLSAgICA5MCw2NiwwLDcxLDEwMCwxMTcsMCwxMDAsMTE4LDAsMTMyLDAsMCwxMDAsMTE4LDAsCi0gICAgMTAxLDY2LDAsMTAxLDY1LDAsMTMxLDQsMCw5MCw2NywwLDcxLDEwMCwxMTksMCwKLSAgICAxMDAsMTIwLDAsMTMyLDAsMCwxMDAsMTIwLDAsMTAxLDY2LDAsMTAxLDY0LDAsMTMxLAotICAgIDQsMCw5MCw2OCwwLDEwMywwLDAsOTAsNjksMCw3MSwxMDAsMTIxLDAsMTAwLAotICAgIDEyMiwwLDEzMiwwLDAsMTAwLDEyMiwwLDEzMSwyLDAsOTAsNzAsMCw3MSwxMDAsCi0gICAgMTIzLDAsMTAwLDEyNCwwLDEzMiwwLDAsMTAwLDEyNCwwLDEzMSwyLDAsOTAsNzEsCi0gICAgMCw3MSwxMDAsMTI1LDAsMTAwLDEyNiwwLDEzMiwwLDAsMTAwLDEyNiwwLDEzMSwyLAotICAgIDAsOTAsNzIsMCw3MSwxMDAsMTI3LDAsMTAwLDEyOCwwLDEzMiwwLDAsMTAwLDEyOCwKLSAgICAwLDEzMSwyLDAsOTAsNzMsMCw3MSwxMDAsMTI5LDAsMTAwLDEzMCwwLDEzMiwwLAotICAgIDAsMTAwLDEzMCwwLDEzMSwyLDAsOTAsNzQsMCw3MSwxMDAsMTMxLDAsMTAwLDEzMiwKLSAgICAwLDEzMiwwLDAsMTAwLDEzMiwwLDEzMSwyLDAsOTAsNzUsMCwxMDAsMTMzLDAsCi0gICAgMTAwLDEzNCwwLDEzMiwwLDAsOTAsNzYsMCwxMDAsMTM1LDAsMTAwLDEzNiwwLDEzMiwKLSAgICAwLDAsOTAsNzcsMCwxMDAsNTMsMCwxMDAsMTM3LDAsMTAwLDEzOCwwLDEzMiwxLAotICAgIDAsOTAsNzgsMCwxMDAsMTM5LDAsMTAwLDE0MCwwLDEzMiwwLDAsOTAsNzksMCwKLSAgICAxMDAsMTQxLDAsOTAsODAsMCwxMDEsODAsMCwxMDAsMTQyLDAsMjMsOTAsODEsMCwKLSAgICAxMDAsMTQzLDAsMTAwLDE0NCwwLDEzMiwwLDAsOTAsODIsMCwxMDAsMTQ1LDAsMTAwLAotICAgIDE0NiwwLDEzMiwwLDAsOTAsODMsMCwxMDAsNTMsMCwxMDAsODAsMCwxMDAsMTQ3LAotICAgIDAsMTAwLDE0OCwwLDEzMiwyLDAsOTAsODQsMCwxMDAsMTQ5LDAsMTAwLDE1MCwwLAotICAgIDEzMiwwLDAsOTAsODUsMCwxMDAsMTUxLDAsMTAwLDE1MiwwLDEzMiwwLDAsOTAsCi0gICAgODYsMCwxMDAsMTUzLDAsMTAwLDE1NCwwLDEzMiwwLDAsOTAsODcsMCwxMDAsNTMsCi0gICAgMCwxMDAsNTMsMCwxMDIsMCwwLDEwMCw4MCwwLDEwMCwxNTUsMCwxMDAsMTU2LDAsCi0gICAgMTMyLDQsMCw5MCw4OCwwLDEwMCwxNTcsMCwxMDAsMTU4LDAsMTMyLDAsMCw5MCwKLSAgICA4OSwwLDEwMCwxNTksMCwxMDAsMTYwLDAsMTMyLDAsMCw5MCw5MCwwLDEwMCwxNjEsCi0gICAgMCwxMDAsMTYyLDAsMTMyLDAsMCw5MCw5MSwwLDEwMCw1MywwLDgzLDQxLDE2NCwKLSAgICA5Nyw4MywxLDAsMCw2NywxMTEsMTE0LDEwMSwzMiwxMDUsMTA5LDExMiwxMDgsMTAxLDEwOSwKLSAgICAxMDEsMTEwLDExNiw5NywxMTYsMTA1LDExMSwxMTAsMzIsMTExLDEwMiwzMiwxMDUsMTA5LDExMiwxMTEsCi0gICAgMTE0LDExNiw0NiwxMCwxMCw4NCwxMDQsMTA1LDExNSwzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwKLSAgICAzMiwxMDUsMTE1LDMyLDc4LDc5LDg0LDMyLDEwOSwxMDEsOTcsMTEwLDExNiwzMiwxMTYsMTExLAotICAgIDMyLDk4LDEwMSwzMiwxMDAsMTA1LDExNCwxMDEsOTksMTE2LDEwOCwxMjEsMzIsMTA1LDEwOSwxMTIsCi0gICAgMTExLDExNCwxMTYsMTAxLDEwMCwzMywzMiw3MywxMTYsMzIsMTA0LDk3LDExNSwzMiw5OCwxMDEsCi0gICAgMTAxLDExMCwzMiwxMDAsMTAxLDExNSwxMDUsMTAzLDExMCwxMDEsMTAwLDMyLDExNSwxMTcsOTksMTA0LAotICAgIDEwLDExNiwxMDQsOTcsMTE2LDMyLDEwNSwxMTYsMzIsOTksOTcsMTEwLDMyLDk4LDEwMSwzMiwKLSAgICA5OCwxMTEsMTExLDExNiwxMTUsMTE2LDExNCw5NywxMTIsMTEyLDEwMSwxMDAsMzIsMTA1LDExMCwxMTYsCi0gICAgMTExLDMyLDgwLDEyMSwxMTYsMTA0LDExMSwxMTAsMzIsOTcsMTE1LDMyLDExNiwxMDQsMTAxLDMyLAotICAgIDEwNSwxMDksMTEyLDEwOCwxMDEsMTA5LDEwMSwxMTAsMTE2LDk3LDExNiwxMDUsMTExLDExMCwzMiwxMTEsCi0gICAgMTAyLDMyLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDQ2LDMyLDY1LDExNSwxMCwxMTUsMTE3LDk5LAotICAgIDEwNCwzMiwxMDUsMTE2LDMyLDExNCwxMDEsMTEzLDExNywxMDUsMTE0LDEwMSwxMTUsMzIsMTE2LDEwNCwKLSAgICAxMDEsMzIsMTA1LDExMCwxMDYsMTAxLDk5LDExNiwxMDUsMTExLDExMCwzMiwxMTEsMTAyLDMyLDExNSwKLSAgICAxMTIsMTAxLDk5LDEwNSwxMDIsMTA1LDk5LDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDExNSwzMiwKLSAgICA5NywxMTAsMTAwLDMyLDk3LDExNiwxMTYsMTE0LDEwNSw5OCwxMTcsMTE2LDEwMSwxMTUsMzIsMTA1LAotICAgIDExMCwzMiwxMTEsMTE0LDEwMCwxMDEsMTE0LDMyLDExNiwxMTEsMTAsMTE5LDExMSwxMTQsMTA3LDQ2LAotICAgIDMyLDc5LDExMCwxMDEsMzIsMTE1LDEwNCwxMTEsMTE3LDEwOCwxMDAsMzIsMTE3LDExNSwxMDEsMzIsCi0gICAgMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsMTA4LDEwNSw5OCwzMiw5NywxMTUsMzIsMTE2LDEwNCwxMDEsCi0gICAgMzIsMTEyLDExNyw5OCwxMDgsMTA1LDk5LDQ1LDEwMiw5Nyw5OSwxMDUsMTEwLDEwMywzMiwxMTgsCi0gICAgMTAxLDExNCwxMTUsMTA1LDExMSwxMTAsMzIsMTExLDEwMiwzMiwxMTYsMTA0LDEwNSwxMTUsMzIsMTA5LAotICAgIDExMSwxMDAsMTE3LDEwOCwxMDEsNDYsMTAsMTAsMjE4LDMsMTE5LDEwNSwxMTAsMjE4LDYsOTksCi0gICAgMTIxLDEwMywxMTksMTA1LDExMCwyMTgsNiwxMDAsOTcsMTE0LDExOSwxMDUsMTEwLDk5LDAsMCwKLSAgICAwLDAsMCwwLDAsMCwxLDAsMCwwLDIsMCwwLDAsNjcsMCwKLSAgICAwLDAsMTE1LDQ5LDAsMCwwLDExNiwwLDAsMTA2LDEsMCwxMDYsMiwwLAotICAgIDExNiwzLDAsMTMxLDEsMCwxMTQsMzMsMCwxMDAsMSwwLDEwMCwyLDAsMTMyLAotICAgIDAsMCwxMjUsMCwwLDExMCwxMiwwLDEwMCwzLDAsMTAwLDIsMCwxMzIsMCwKLSAgICAwLDEyNSwwLDAsMTI0LDAsMCw4Myw0MSw0LDc4LDk5LDAsMCwwLDAsCi0gICAgMCwwLDAsMCwwLDAsMCwwLDIsMCwwLDAsODMsMCwwLDAsCi0gICAgMTE1LDEzLDAsMCwwLDEwMCwxLDAsMTE2LDAsMCwxMDYsMSwwLDEwNyw2LAotICAgIDAsODMsNDEsMiwxMjIsNTMsODQsMTE0LDExNywxMDEsMzIsMTA1LDEwMiwzMiwxMDIsMTA1LAotICAgIDEwOCwxMDEsMTEwLDk3LDEwOSwxMDEsMTE1LDMyLDEwOSwxMTcsMTE1LDExNiwzMiw5OCwxMDEsMzIsCi0gICAgOTksMTA0LDEwMSw5OSwxMDcsMTAxLDEwMCwzMiw5OSw5NywxMTUsMTAxLDQ1LDEwNSwxMTAsMTE1LAotICAgIDEwMSwxMTAsMTE1LDEwNSwxMTYsMTA1LDExOCwxMDEsMTA4LDEyMSw0NiwxMTUsMTIsMCwwLDAsCi0gICAgODAsODksODQsNzIsNzksNzgsNjcsNjUsODMsNjksNzksNzUsNDEsMiwyMTgsMywKLSAgICA5NSwxMTEsMTE1LDkwLDcsMTAxLDExMCwxMTgsMTA1LDExNCwxMTEsMTEwLDE2OSwwLDExNCw0LAotICAgIDAsMCwwLDExNCw0LDAsMCwwLDI1MCwyOSw2MCwxMDIsMTE0LDExMSwxMjIsMTAxLAotICAgIDExMCwzMiwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwxMDgsMTA1LDk4LDQ2LDk1LDk4LDExMSwxMTEsCi0gICAgMTE2LDExNSwxMTYsMTE0LDk3LDExMiw2MiwyMTgsMTEsOTUsMTE0LDEwMSwxMDgsOTcsMTIwLDk1LAotICAgIDk5LDk3LDExNSwxMDEsMzAsMCwwLDAsMTE1LDIsMCwwLDAsMCwyLDEyMiwKLSAgICAzNyw5NSwxMDksOTcsMTA3LDEwMSw5NSwxMTQsMTAxLDEwOCw5NywxMjAsOTUsOTksOTcsMTE1LAotICAgIDEwMSw0Niw2MCwxMDgsMTExLDk5LDk3LDEwOCwxMTUsNjIsNDYsOTUsMTE0LDEwMSwxMDgsOTcsCi0gICAgMTIwLDk1LDk5LDk3LDExNSwxMDEsOTksMCwwLDAsMCwwLDAsMCwwLDAsCi0gICAgMCwwLDAsMSwwLDAsMCw4MywwLDAsMCwxMTUsNCwwLDAsMCwKLSAgICAxMDAsMSwwLDgzLDQxLDIsMTIyLDUzLDg0LDExNCwxMTcsMTAxLDMyLDEwNSwxMDIsMzIsCi0gICAgMTAyLDEwNSwxMDgsMTAxLDExMCw5NywxMDksMTAxLDExNSwzMiwxMDksMTE3LDExNSwxMTYsMzIsOTgsCi0gICAgMTAxLDMyLDk5LDEwNCwxMDEsOTksMTA3LDEwMSwxMDAsMzIsOTksOTcsMTE1LDEwMSw0NSwxMDUsCi0gICAgMTEwLDExNSwxMDEsMTEwLDExNSwxMDUsMTE2LDEwNSwxMTgsMTAxLDEwOCwxMjEsNDYsNzAsMTE0LDQsCi0gICAgMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwKLSAgICAwLDAsMTE0LDUsMCwwLDAsMTE0LDYsMCwwLDAsMzQsMCwwLDAsCi0gICAgMTE1LDIsMCwwLDAsMCwyLDQxLDQsMjE4LDMsMTE1LDEyMSwxMTUsMjE4LDgsCi0gICAgMTEyLDEwOCw5NywxMTYsMTAyLDExMSwxMTQsMTA5LDIxOCwxMCwxMTUsMTE2LDk3LDExNCwxMTYsMTE1LAotICAgIDExOSwxMDUsMTE2LDEwNCwyMTgsMjcsOTUsNjcsNjUsODMsNjksOTUsNzMsNzgsODMsNjksCi0gICAgNzgsODMsNzMsODQsNzMsODYsNjksOTUsODAsNzYsNjUsODQsNzAsNzksODIsNzcsCi0gICAgODMsNDEsMSwxMTQsNiwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLAotICAgIDAsMCwxMTQsNSwwLDAsMCwyMTgsMTYsOTUsMTA5LDk3LDEwNywxMDEsOTUsMTE0LAotICAgIDEwMSwxMDgsOTcsMTIwLDk1LDk5LDk3LDExNSwxMDEsMjgsMCwwLDAsMTE1LDgsMCwKLSAgICAwLDAsMCwxLDE4LDEsMTUsNCwxMiwzLDExNCwxMSwwLDAsMCw5OSwKLSAgICAxLDAsMCwwLDAsMCwwLDAsMSwwLDAsMCwzLDAsMCwwLAotICAgIDY3LDAsMCwwLDExNSwyNiwwLDAsMCwxMTYsMCwwLDEyNCwwLDAsMTMxLAotICAgIDEsMCwxMDAsMSwwLDY0LDEwNiwxLDAsMTAwLDIsMCwxMDAsMywwLDEzMSwKLSAgICAyLDAsODMsNDEsNCwxMjIsNDIsNjcsMTExLDExMCwxMTgsMTAxLDExNCwxMTYsMzIsOTcsCi0gICAgMzIsNTEsNTAsNDUsOTgsMTA1LDExNiwzMiwxMDUsMTEwLDExNiwxMDEsMTAzLDEwMSwxMTQsMzIsCi0gICAgMTE2LDExMSwzMiwxMDgsMTA1LDExNiwxMTYsMTA4LDEwMSw0NSwxMDEsMTEwLDEwMCwxMDUsOTcsMTEwLAotICAgIDQ2LDEwOCwzLDAsMCwwLDI1NSwxMjcsMjU1LDEyNywzLDAsMjMzLDQsMCwwLAotICAgIDAsMjE4LDYsMTA4LDEwNSwxMTYsMTE2LDEwOCwxMDEsNDEsMiwyMTgsMywxMDUsMTEwLDExNiwKLSAgICAyMTgsOCwxMTYsMTExLDk1LDk4LDEyMSwxMTYsMTAxLDExNSw0MSwxLDIxOCwxLDEyMCwxMTQsCi0gICAgNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwyMTgsNywKLSAgICA5NSwxMTksOTUsMTA4LDExMSwxMTAsMTAzLDQwLDAsMCwwLDExNSwyLDAsMCwwLAotICAgIDAsMiwxMTQsMTcsMCwwLDAsOTksMSwwLDAsMCwwLDAsMCwwLAotICAgIDEsMCwwLDAsMywwLDAsMCw2NywwLDAsMCwxMTUsMTYsMCwwLAotICAgIDAsMTE2LDAsMCwxMDYsMSwwLDEyNCwwLDAsMTAwLDEsMCwxMzEsMiwwLAotICAgIDgzLDQxLDIsMTIyLDQ3LDY3LDExMSwxMTAsMTE4LDEwMSwxMTQsMTE2LDMyLDUyLDMyLDk4LAotICAgIDEyMSwxMTYsMTAxLDExNSwzMiwxMDUsMTEwLDMyLDEwOCwxMDUsMTE2LDExNiwxMDgsMTAxLDQ1LDEwMSwKLSAgICAxMTAsMTAwLDEwNSw5NywxMTAsMzIsMTE2LDExMSwzMiw5NywxMTAsMzIsMTA1LDExMCwxMTYsMTAxLAotICAgIDEwMywxMDEsMTE0LDQ2LDExNCwxMywwLDAsMCw0MSwyLDExNCwxNCwwLDAsMCwKLSAgICAyMTgsMTAsMTAyLDExNCwxMTEsMTA5LDk1LDk4LDEyMSwxMTYsMTAxLDExNSw0MSwxLDkwLDksCi0gICAgMTA1LDExMCwxMTYsOTUsOTgsMTIxLDExNiwxMDEsMTE1LDExNCw0LDAsMCwwLDExNCw0LAotICAgIDAsMCwwLDExNCw1LDAsMCwwLDIxOCw3LDk1LDExNCw5NSwxMDgsMTExLDExMCwKLSAgICAxMDMsNDUsMCwwLDAsMTE1LDIsMCwwLDAsMCwyLDExNCwxOSwwLDAsCi0gICAgMCw5OSwwLDAsMCwwLDAsMCwwLDAsMSwwLDAsMCwzLDAsCi0gICAgMCwwLDcxLDAsMCwwLDExNSwyNiwwLDAsMCwxMTYsMCwwLDEwNiwxLAotICAgIDAsMTAwLDEsMCwxMDAsMiwwLDEzMiwwLDAsMTI0LDAsMCw2OCwxMzEsMSwKLSAgICAwLDEzMSwxLDAsODMsNDEsMywxMjIsMzEsODIsMTAxLDExMiwxMDgsOTcsOTksMTAxLAotICAgIDEwOSwxMDEsMTEwLDExNiwzMiwxMDIsMTExLDExNCwzMiwxMTEsMTE1LDQ2LDExMiw5NywxMTYsMTA0LAotICAgIDQ2LDEwNiwxMTEsMTA1LDExMCw0MCw0MSw0Niw5OSwxLDAsMCwwLDAsMCwwLAotICAgIDAsMiwwLDAsMCw0LDAsMCwwLDgzLDAsMCwwLDExNSwzNywwLAotICAgIDAsMCwxMDMsMCwwLDEyNCwwLDAsOTMsMjcsMCwxMjUsMSwwLDEyNCwxLAotICAgIDAsMTE0LDYsMCwxMjQsMSwwLDEwNiwwLDAsMTE2LDEsMCwxMzEsMSwwLAotICAgIDE0NSwyLDAsMTEzLDYsMCw4MywxMTQsNCwwLDAsMCw0MSwyLDIxOCw2LAotICAgIDExNCwxMTUsMTE2LDExNCwxMDUsMTEyLDIxOCwxNSwxMTIsOTcsMTE2LDEwNCw5NSwxMTUsMTAxLDExMiwKLSAgICA5NywxMTQsOTcsMTE2LDExMSwxMTQsMTE1LDQxLDIsMjE4LDIsNDYsNDgsMjE4LDQsMTEyLAotICAgIDk3LDExNCwxMTYsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwKLSAgICAwLDAsMjUwLDEwLDYwLDEwOCwxMDUsMTE1LDExNiw5OSwxMTEsMTA5LDExMiw2Miw1MiwwLAotICAgIDAsMCwxMTUsMiwwLDAsMCw5LDEsMTIyLDMwLDk1LDExMiw5NywxMTYsMTA0LAotICAgIDk1LDEwNiwxMTEsMTA1LDExMCw0Niw2MCwxMDgsMTExLDk5LDk3LDEwOCwxMTUsNjIsNDYsNjAsCi0gICAgMTA4LDEwNSwxMTUsMTE2LDk5LDExMSwxMDksMTEyLDYyLDQxLDIsMjE4LDgsMTEyLDk3LDExNiwKLSAgICAxMDQsOTUsMTE1LDEwMSwxMTIsMjE4LDQsMTA2LDExMSwxMDUsMTEwLDQxLDEsMjE4LDEwLDExMiwKLSAgICA5NywxMTYsMTA0LDk1LDExMiw5NywxMTQsMTE2LDExNSwxMTQsNCwwLDAsMCwxMTQsNCwKLSAgICAwLDAsMCwxMTQsNSwwLDAsMCwyMTgsMTAsOTUsMTEyLDk3LDExNiwxMDQsOTUsCi0gICAgMTA2LDExMSwxMDUsMTEwLDUwLDAsMCwwLDExNSw0LDAsMCwwLDAsMiwxNSwKLSAgICAxLDExNCwyOCwwLDAsMCw5OSwxLDAsMCwwLDAsMCwwLDAsNSwKLSAgICAwLDAsMCw1LDAsMCwwLDY3LDAsMCwwLDExNSwxMzQsMCwwLDAsCi0gICAgMTE2LDAsMCwxMTYsMSwwLDEzMSwxLDAsMTAwLDEsMCwxMDcsMiwwLDExNCwKLSAgICA1MiwwLDEyNCwwLDAsMTA2LDIsMCwxMTYsMywwLDEzMSwxLDAsOTIsMywKLSAgICAwLDEyNSwxLDAsMTI1LDIsMCwxMjUsMywwLDEyNCwxLDAsMTI0LDMsMCwKLSAgICAxMDIsMiwwLDgzLDEyMCw2OSwwLDExNiw0LDAsMTI0LDAsMCwxMzEsMSwwLAotICAgIDY4LDkzLDU1LDAsMTI1LDQsMCwxMjQsNCwwLDExNiwxLDAsMTA3LDYsMCwKLSAgICAxMTQsNjUsMCwxMjQsMCwwLDEwNiw1LDAsMTI0LDQsMCwxMDAsMiwwLDEwMCwKLSAgICAxLDAsMTMxLDEsMSw5MiwyLDAsMTI1LDEsMCwxMjUsMywwLDEyNCwxLAotICAgIDAsMTI0LDMsMCwxMDIsMiwwLDgzLDExMyw2NSwwLDg3LDEwMCwzLDAsMTI0LAotICAgIDAsMCwxMDIsMiwwLDgzLDQxLDQsMTIyLDMyLDgyLDEwMSwxMTIsMTA4LDk3LDk5LAotICAgIDEwMSwxMDksMTAxLDExMCwxMTYsMzIsMTAyLDExMSwxMTQsMzIsMTExLDExNSw0NiwxMTIsOTcsMTE2LAotICAgIDEwNCw0NiwxMTUsMTEyLDEwOCwxMDUsMTE2LDQwLDQxLDQ2LDIzMywxLDAsMCwwLDkwLAotICAgIDgsMTA5LDk3LDEyMCwxMTUsMTEyLDEwOCwxMDUsMTE2LDIxOCwwLDQxLDYsMjE4LDMsMTA4LAotICAgIDEwMSwxMTAsMTE0LDIxLDAsMCwwLDIxOCwxMCwxMTQsMTEyLDk3LDExNCwxMTYsMTA1LDExNiwKLSAgICAxMDUsMTExLDExMCwxMTQsMjUsMCwwLDAsMjE4LDgsMTE0LDEwMSwxMTgsMTAxLDExNCwxMTUsCi0gICAgMTAxLDEwMCwyMTgsNiwxMTQsMTE1LDExMiwxMDgsMTA1LDExNiw0MSw1LDIxOCw0LDExMiw5NywKLSAgICAxMTYsMTA0LDkwLDUsMTAyLDExNCwxMTEsMTEwLDExNiwyMTgsMSw5NSwyMTgsNCwxMTYsOTcsCi0gICAgMTA1LDEwOCwxMTQsMTYsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLAotICAgIDAsMTE0LDUsMCwwLDAsMjE4LDExLDk1LDExMiw5NywxMTYsMTA0LDk1LDExNSwxMTIsCi0gICAgMTA4LDEwNSwxMTYsNTYsMCwwLDAsMTE1LDE2LDAsMCwwLDAsMiwxOCwxLAotICAgIDI0LDEsMTAsMSwxOSwxLDEyLDEsMjcsMSwxNCwxLDExNCwzOCwwLDAsCi0gICAgMCw5OSwxLDAsMCwwLDAsMCwwLDAsMSwwLDAsMCwyLDAsCi0gICAgMCwwLDY3LDAsMCwwLDExNSwxMywwLDAsMCwxMTYsMCwwLDEwNiwxLAotICAgIDAsMTI0LDAsMCwxMzEsMSwwLDgzLDQxLDEsMTIyLDEyNiw4MywxMTYsOTcsMTE2LAotICAgIDMyLDExNiwxMDQsMTAxLDMyLDExMiw5NywxMTYsMTA0LDQ2LDEwLDEwLDMyLDMyLDMyLDMyLAotICAgIDc3LDk3LDEwMCwxMDEsMzIsOTcsMzIsMTE1LDEwMSwxMTIsOTcsMTE0LDk3LDExNiwxMDEsMzIsCi0gICAgMTAyLDExNywxMTAsOTksMTE2LDEwNSwxMTEsMTEwLDMyLDExNiwxMTEsMzIsMTA5LDk3LDEwNywxMDEsCi0gICAgMzIsMTA1LDExNiwzMiwxMDEsOTcsMTE1LDEwNSwxMDEsMTE0LDMyLDExNiwxMTEsMzIsMTExLDExOCwKLSAgICAxMDEsMTE0LDExNCwxMDUsMTAwLDEwMSwzMiwxMDUsMTEwLDMyLDEwMSwxMjAsMTEyLDEwMSwxMTQsMTA1LAotICAgIDEwOSwxMDEsMTEwLDExNiwxMTUsMTAsMzIsMzIsMzIsMzIsNDAsMTAxLDQ2LDEwMyw0NiwzMiwKLSAgICA5OSw5Nyw5OSwxMDQsMTAxLDMyLDExNSwxMTYsOTcsMTE2LDMyLDExNCwxMDEsMTE1LDExNywxMDgsCi0gICAgMTE2LDExNSw0MSw0NiwxMCwxMCwzMiwzMiwzMiwzMiw0MSwyLDExNCwzLDAsMCwKLSAgICAwLDkwLDQsMTE1LDExNiw5NywxMTYsNDEsMSwxMTQsMzUsMCwwLDAsMTE0LDQsCi0gICAgMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMjE4LDEwLDk1LAotICAgIDExMiw5NywxMTYsMTA0LDk1LDExNSwxMTYsOTcsMTE2LDY4LDAsMCwwLDExNSwyLDAsCi0gICAgMCwwLDAsNywxMTQsMzksMCwwLDAsOTksMiwwLDAsMCwwLDAsCi0gICAgMCwwLDMsMCwwLDAsMTEsMCwwLDAsNjcsMCwwLDAsMTE1LDU4LAotICAgIDAsMCwwLDEyMSwxNiwwLDExNiwwLDAsMTI0LDAsMCwxMzEsMSwwLDEyNSwKLSAgICAyLDAsODcsMTEwLDIyLDAsNCwxMTYsMSwwLDEwNywxMCwwLDExNCw0MCwwLAotICAgIDEsMSwxLDEwMCwxLDAsODMsODksMTEwLDEsMCw4OCwxMjQsMiwwLDEwNiwKLSAgICAyLDAsMTAwLDIsMCw2NCwxMjQsMSwwLDEwNywyLDAsODMsNDEsMywxMjIsCi0gICAgNDksODQsMTAxLDExNSwxMTYsMzIsMTE5LDEwNCwxMDEsMTE2LDEwNCwxMDEsMTE0LDMyLDExNiwxMDQsCi0gICAgMTAxLDMyLDExMiw5NywxMTYsMTA0LDMyLDEwNSwxMTUsMzIsMTE2LDEwNCwxMDEsMzIsMTE1LDExMiwKLSAgICAxMDEsOTksMTA1LDEwMiwxMDUsMTAxLDEwMCwzMiwxMDksMTExLDEwMCwxMDEsMzIsMTE2LDEyMSwxMTIsCi0gICAgMTAxLDQ2LDcwLDEwNSwwLDI0MCwwLDAsNDEsMywxMTQsMzksMCwwLDAsMjE4LAotICAgIDcsNzksODMsNjksMTE0LDExNCwxMTEsMTE0LDIxOCw3LDExNSwxMTYsOTUsMTA5LDExMSwxMDAsCi0gICAgMTAxLDQxLDMsMTE0LDM1LDAsMCwwLDIxOCw0LDEwOSwxMTEsMTAwLDEwMSw5MCw5LAotICAgIDExNSwxMTYsOTcsMTE2LDk1LDEwNSwxMTAsMTAyLDExMSwxMTQsNCwwLDAsMCwxMTQsNCwKLSAgICAwLDAsMCwxMTQsNSwwLDAsMCwyMTgsMTgsOTUsMTEyLDk3LDExNiwxMDQsOTUsCi0gICAgMTA1LDExNSw5NSwxMDksMTExLDEwMCwxMDEsOTUsMTE2LDEyMSwxMTIsMTAxLDc4LDAsMCwwLAotICAgIDExNSwxMCwwLDAsMCwwLDIsMywxLDE2LDEsMTMsMSw5LDEsMTE0LAotICAgIDQzLDAsMCwwLDk5LDEsMCwwLDAsMCwwLDAsMCwxLDAsMCwKLSAgICAwLDMsMCwwLDAsNjcsMCwwLDAsMTE1LDEzLDAsMCwwLDExNiwwLAotICAgIDAsMTI0LDAsMCwxMDAsMSwwLDEzMSwyLDAsODMsNDEsMiwxMjIsMzEsODIsCi0gICAgMTAxLDExMiwxMDgsOTcsOTksMTAxLDEwOSwxMDEsMTEwLDExNiwzMiwxMDIsMTExLDExNCwzMiwxMTEsCi0gICAgMTE1LDQ2LDExMiw5NywxMTYsMTA0LDQ2LDEwNSwxMTUsMTAyLDEwNSwxMDgsMTAxLDQ2LDEwNSwwLAotICAgIDEyOCwwLDAsNDEsMSwxMTQsNDMsMCwwLDAsNDEsMSwxMTQsMzUsMCwwLAotICAgIDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsCi0gICAgMjE4LDEyLDk1LDExMiw5NywxMTYsMTA0LDk1LDEwNSwxMTUsMTAyLDEwNSwxMDgsMTAxLDg3LDAsCi0gICAgMCwwLDExNSwyLDAsMCwwLDAsMiwxMTQsNDQsMCwwLDAsOTksMSwKKyAgICAxMDAsOTksMCwxMDAsMTAwLDAsMTMyLDIsMCw5MCw1OCwwLDEwMCwxMDEsMCwxMDAsCisgICAgMTAyLDAsMTAwLDEwMywwLDEwMCwxMDQsMCwxMzIsMCwxLDkwLDU5LDAsMTAwLDEwNSwKKyAgICAwLDEwMCwxMDYsMCwxMzIsMCwwLDkwLDYwLDAsMTAwLDEwNywwLDEwMCwxMDgsMCwKKyAgICAxMzIsMCwwLDkwLDYxLDAsMTAwLDEwOSwwLDEwMCwxMTAsMCwxMzIsMCwwLDkwLAorICAgIDYyLDAsMTAwLDExMSwwLDEwMCwxMTIsMCwxMzIsMCwwLDkwLDYzLDAsMTAwLDExMywKKyAgICAwLDEwMCwxMTQsMCwxMzIsMCwwLDkwLDY0LDAsMTAwLDExNSwwLDEwMCwxMTYsMCwKKyAgICAxMzIsMCwwLDkwLDY1LDAsMTAwLDUzLDAsMTAwLDExNywwLDEwMCwxMTgsMCwxMzIsCisgICAgMSwwLDkwLDY2LDAsNzEsMTAwLDExOSwwLDEwMCwxMjAsMCwxMzIsMCwwLDEwMCwKKyAgICAxMjAsMCwxMzEsMiwwLDkwLDY3LDAsNzEsMTAwLDEyMSwwLDEwMCwxMjIsMCwxMzIsCisgICAgMCwwLDEwMCwxMjIsMCwxMzEsMiwwLDkwLDY4LDAsNzEsMTAwLDEyMywwLDEwMCwKKyAgICAxMjQsMCwxMzIsMCwwLDEwMCwxMjQsMCwxMzEsMiwwLDkwLDY5LDAsNzEsMTAwLAorICAgIDEyNSwwLDEwMCwxMjYsMCwxMzIsMCwwLDEwMCwxMjYsMCwxMzEsMiwwLDkwLDcwLAorICAgIDAsNzEsMTAwLDEyNywwLDEwMCwxMjgsMCwxMzIsMCwwLDEwMCwxMjgsMCwxMDEsNzAsCisgICAgMCwxMzEsMywwLDkwLDcxLDAsNzEsMTAwLDEyOSwwLDEwMCwxMzAsMCwxMzIsMCwKKyAgICAwLDEwMCwxMzAsMCwxMzEsMiwwLDkwLDcyLDAsNzEsMTAwLDEzMSwwLDEwMCwxMzIsCisgICAgMCwxMzIsMCwwLDEwMCwxMzIsMCwxMDEsNzIsMCwxMDEsNzEsMCwxMzEsNCwwLAorICAgIDkwLDczLDAsNzEsMTAwLDEzMywwLDEwMCwxMzQsMCwxMzIsMCwwLDEwMCwxMzQsMCwKKyAgICAxMDEsNzIsMCwxMDEsNzAsMCwxMzEsNCwwLDkwLDc0LDAsMTAzLDAsMCw5MCwKKyAgICA3NSwwLDcxLDEwMCwxMzUsMCwxMDAsMTM2LDAsMTMyLDAsMCwxMDAsMTM2LDAsMTMxLAorICAgIDIsMCw5MCw3NiwwLDcxLDEwMCwxMzcsMCwxMDAsMTM4LDAsMTMyLDAsMCwxMDAsCisgICAgMTM4LDAsMTMxLDIsMCw5MCw3NywwLDcxLDEwMCwxMzksMCwxMDAsMTQwLDAsMTMyLAorICAgIDAsMCwxMDAsMTQwLDAsMTMxLDIsMCw5MCw3OCwwLDcxLDEwMCwxNDEsMCwxMDAsCisgICAgMTQyLDAsMTMyLDAsMCwxMDAsMTQyLDAsMTMxLDIsMCw5MCw3OSwwLDcxLDEwMCwKKyAgICAxNDMsMCwxMDAsMTQ0LDAsMTMyLDAsMCwxMDAsMTQ0LDAsMTMxLDIsMCw5MCw4MCwKKyAgICAwLDcxLDEwMCwxNDUsMCwxMDAsMTQ2LDAsMTMyLDAsMCwxMDAsMTQ2LDAsMTMxLDIsCisgICAgMCw5MCw4MSwwLDEwMCwxNDcsMCwxMDAsMTQ4LDAsMTMyLDAsMCw5MCw4MiwwLAorICAgIDEwMCwxNDksMCwxMDAsMTUwLDAsMTMyLDAsMCw5MCw4MywwLDEwMCw1MywwLDEwMCwKKyAgICAxNTEsMCwxMDAsMTUyLDAsMTMyLDEsMCw5MCw4NCwwLDEwMCwxNTMsMCwxMDAsMTU0LAorICAgIDAsMTMyLDAsMCw5MCw4NSwwLDEwMCwxNTUsMCw5MCw4NiwwLDEwMSw4NiwwLAorICAgIDEwMCwxNTYsMCwyMyw5MCw4NywwLDEwMCwxNTcsMCwxMDAsMTU4LDAsMTMyLDAsMCwKKyAgICA5MCw4OCwwLDEwMCwxNTksMCwxMDAsMTYwLDAsMTMyLDAsMCw5MCw4OSwwLDEwMCwKKyAgICA1MywwLDEwMCw4MCwwLDEwMCwxNjEsMCwxMDAsMTYyLDAsMTMyLDIsMCw5MCw5MCwKKyAgICAwLDEwMCwxNjMsMCwxMDAsMTY0LDAsMTMyLDAsMCw5MCw5MSwwLDEwMCwxNjUsMCwKKyAgICAxMDAsMTY2LDAsMTMyLDAsMCw5MCw5MiwwLDEwMCwxNjcsMCwxMDAsMTY4LDAsMTMyLAorICAgIDAsMCw5MCw5MywwLDEwMCw1MywwLDEwMCw1MywwLDEwMiwwLDAsMTAwLDgwLAorICAgIDAsMTAwLDE2OSwwLDEwMCwxNzAsMCwxMzIsNCwwLDkwLDk0LDAsMTAwLDE3MSwwLAorICAgIDEwMCwxNzIsMCwxMzIsMCwwLDkwLDk1LDAsMTAwLDE3MywwLDEwMCwxNzQsMCwxMzIsCisgICAgMCwwLDkwLDk2LDAsMTAwLDE3NSwwLDEwMCwxNzYsMCwxMzIsMCwwLDkwLDk3LAorICAgIDAsMTAwLDUzLDAsODMsNDEsMTc4LDk3LDgzLDEsMCwwLDY3LDExMSwxMTQsMTAxLAorICAgIDMyLDEwNSwxMDksMTEyLDEwOCwxMDEsMTA5LDEwMSwxMTAsMTE2LDk3LDExNiwxMDUsMTExLDExMCwzMiwKKyAgICAxMTEsMTAyLDMyLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDQ2LDEwLDEwLDg0LDEwNCwxMDUsMTE1LAorICAgIDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDMyLDEwNSwxMTUsMzIsNzgsNzksODQsMzIsMTA5LAorICAgIDEwMSw5NywxMTAsMTE2LDMyLDExNiwxMTEsMzIsOTgsMTAxLDMyLDEwMCwxMDUsMTE0LDEwMSw5OSwKKyAgICAxMTYsMTA4LDEyMSwzMiwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwxMDEsMTAwLDMzLDMyLDczLDExNiwKKyAgICAzMiwxMDQsOTcsMTE1LDMyLDk4LDEwMSwxMDEsMTEwLDMyLDEwMCwxMDEsMTE1LDEwNSwxMDMsMTEwLAorICAgIDEwMSwxMDAsMzIsMTE1LDExNyw5OSwxMDQsMTAsMTE2LDEwNCw5NywxMTYsMzIsMTA1LDExNiwzMiwKKyAgICA5OSw5NywxMTAsMzIsOTgsMTAxLDMyLDk4LDExMSwxMTEsMTE2LDExNSwxMTYsMTE0LDk3LDExMiwKKyAgICAxMTIsMTAxLDEwMCwzMiwxMDUsMTEwLDExNiwxMTEsMzIsODAsMTIxLDExNiwxMDQsMTExLDExMCwzMiwKKyAgICA5NywxMTUsMzIsMTE2LDEwNCwxMDEsMzIsMTA1LDEwOSwxMTIsMTA4LDEwMSwxMDksMTAxLDExMCwxMTYsCisgICAgOTcsMTE2LDEwNSwxMTEsMTEwLDMyLDExMSwxMDIsMzIsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsNDYsCisgICAgMzIsNjUsMTE1LDEwLDExNSwxMTcsOTksMTA0LDMyLDEwNSwxMTYsMzIsMTE0LDEwMSwxMTMsMTE3LAorICAgIDEwNSwxMTQsMTAxLDExNSwzMiwxMTYsMTA0LDEwMSwzMiwxMDUsMTEwLDEwNiwxMDEsOTksMTE2LDEwNSwKKyAgICAxMTEsMTEwLDMyLDExMSwxMDIsMzIsMTE1LDExMiwxMDEsOTksMTA1LDEwMiwxMDUsOTksMzIsMTA5LAorICAgIDExMSwxMDAsMTE3LDEwOCwxMDEsMTE1LDMyLDk3LDExMCwxMDAsMzIsOTcsMTE2LDExNiwxMTQsMTA1LAorICAgIDk4LDExNywxMTYsMTAxLDExNSwzMiwxMDUsMTEwLDMyLDExMSwxMTQsMTAwLDEwMSwxMTQsMzIsMTE2LAorICAgIDExMSwxMCwxMTksMTExLDExNCwxMDcsNDYsMzIsNzksMTEwLDEwMSwzMiwxMTUsMTA0LDExMSwxMTcsCisgICAgMTA4LDEwMCwzMiwxMTcsMTE1LDEwMSwzMiwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwxMDgsMTA1LDk4LAorICAgIDMyLDk3LDExNSwzMiwxMTYsMTA0LDEwMSwzMiwxMTIsMTE3LDk4LDEwOCwxMDUsOTksNDUsMTAyLAorICAgIDk3LDk5LDEwNSwxMTAsMTAzLDMyLDExOCwxMDEsMTE0LDExNSwxMDUsMTExLDExMCwzMiwxMTEsMTAyLAorICAgIDMyLDExNiwxMDQsMTA1LDExNSwzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw0NiwxMCwxMCwyMTgsCisgICAgMywxMTksMTA1LDExMCwyMTgsNiw5OSwxMjEsMTAzLDExOSwxMDUsMTEwLDIxOCw2LDEwMCw5NywKKyAgICAxMTQsMTE5LDEwNSwxMTAsOTksMCwwLDAsMCwwLDAsMCwwLDEsMCwwLAorICAgIDAsMiwwLDAsMCw2NywwLDAsMCwxMTUsNDksMCwwLDAsMTE2LDAsCisgICAgMCwxMDYsMSwwLDEwNiwyLDAsMTE2LDMsMCwxMzEsMSwwLDExNCwzMywwLAorICAgIDEwMCwxLDAsMTAwLDIsMCwxMzIsMCwwLDEyNSwwLDAsMTEwLDEyLDAsMTAwLAorICAgIDMsMCwxMDAsMiwwLDEzMiwwLDAsMTI1LDAsMCwxMjQsMCwwLDgzLDQxLAorICAgIDQsNzgsOTksMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMiwKKyAgICAwLDAsMCw4MywwLDAsMCwxMTUsMTMsMCwwLDAsMTAwLDEsMCwxMTYsCisgICAgMCwwLDEwNiwxLDAsMTA3LDYsMCw4Myw0MSwyLDEyMiw1Myw4NCwxMTQsMTE3LAorICAgIDEwMSwzMiwxMDUsMTAyLDMyLDEwMiwxMDUsMTA4LDEwMSwxMTAsOTcsMTA5LDEwMSwxMTUsMzIsMTA5LAorICAgIDExNywxMTUsMTE2LDMyLDk4LDEwMSwzMiw5OSwxMDQsMTAxLDk5LDEwNywxMDEsMTAwLDMyLDk5LAorICAgIDk3LDExNSwxMDEsNDUsMTA1LDExMCwxMTUsMTAxLDExMCwxMTUsMTA1LDExNiwxMDUsMTE4LDEwMSwxMDgsCisgICAgMTIxLDQ2LDExNSwxMiwwLDAsMCw4MCw4OSw4NCw3Miw3OSw3OCw2Nyw2NSw4MywKKyAgICA2OSw3OSw3NSw0MSwyLDIxOCwzLDk1LDExMSwxMTUsOTAsNywxMDEsMTEwLDExOCwxMDUsCisgICAgMTE0LDExMSwxMTAsMTY5LDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMjUwLAorICAgIDI5LDYwLDEwMiwxMTQsMTExLDEyMiwxMDEsMTEwLDMyLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDEwOCwKKyAgICAxMDUsOTgsNDYsOTUsOTgsMTExLDExMSwxMTYsMTE1LDExNiwxMTQsOTcsMTEyLDYyLDIxOCwxMSwKKyAgICA5NSwxMTQsMTAxLDEwOCw5NywxMjAsOTUsOTksOTcsMTE1LDEwMSwzMCwwLDAsMCwxMTUsCisgICAgMiwwLDAsMCwwLDIsMTIyLDM3LDk1LDEwOSw5NywxMDcsMTAxLDk1LDExNCwxMDEsCisgICAgMTA4LDk3LDEyMCw5NSw5OSw5NywxMTUsMTAxLDQ2LDYwLDEwOCwxMTEsOTksOTcsMTA4LDExNSwKKyAgICA2Miw0Niw5NSwxMTQsMTAxLDEwOCw5NywxMjAsOTUsOTksOTcsMTE1LDEwMSw5OSwwLDAsCisgICAgMCwwLDAsMCwwLDAsMCwwLDAsMCwxLDAsMCwwLDgzLDAsCisgICAgMCwwLDExNSw0LDAsMCwwLDEwMCwxLDAsODMsNDEsMiwxMjIsNTMsODQsCisgICAgMTE0LDExNywxMDEsMzIsMTA1LDEwMiwzMiwxMDIsMTA1LDEwOCwxMDEsMTEwLDk3LDEwOSwxMDEsMTE1LAorICAgIDMyLDEwOSwxMTcsMTE1LDExNiwzMiw5OCwxMDEsMzIsOTksMTA0LDEwMSw5OSwxMDcsMTAxLDEwMCwKKyAgICAzMiw5OSw5NywxMTUsMTAxLDQ1LDEwNSwxMTAsMTE1LDEwMSwxMTAsMTE1LDEwNSwxMTYsMTA1LDExOCwKKyAgICAxMDEsMTA4LDEyMSw0Niw3MCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsCisgICAgNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsNiwKKyAgICAwLDAsMCwzNCwwLDAsMCwxMTUsMiwwLDAsMCwwLDIsNDEsNCwKKyAgICAyMTgsMywxMTUsMTIxLDExNSwyMTgsOCwxMTIsMTA4LDk3LDExNiwxMDIsMTExLDExNCwxMDksMjE4LAorICAgIDEwLDExNSwxMTYsOTcsMTE0LDExNiwxMTUsMTE5LDEwNSwxMTYsMTA0LDIxOCwyNyw5NSw2Nyw2NSwKKyAgICA4Myw2OSw5NSw3Myw3OCw4Myw2OSw3OCw4Myw3Myw4NCw3Myw4Niw2OSw5NSw4MCwKKyAgICA3Niw2NSw4NCw3MCw3OSw4Miw3Nyw4Myw0MSwxLDExNCw2LDAsMCwwLDExNCwKKyAgICA0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDIxOCwxNiwKKyAgICA5NSwxMDksOTcsMTA3LDEwMSw5NSwxMTQsMTAxLDEwOCw5NywxMjAsOTUsOTksOTcsMTE1LDEwMSwKKyAgICAyOCwwLDAsMCwxMTUsOCwwLDAsMCwwLDEsMTgsMSwxNSw0LDEyLAorICAgIDMsMTE0LDExLDAsMCwwLDk5LDEsMCwwLDAsMCwwLDAsMCwxLAorICAgIDAsMCwwLDMsMCwwLDAsNjcsMCwwLDAsMTE1LDI2LDAsMCwwLAorICAgIDExNiwwLDAsMTI0LDAsMCwxMzEsMSwwLDEwMCwxLDAsNjQsMTA2LDEsMCwKKyAgICAxMDAsMiwwLDEwMCwzLDAsMTMxLDIsMCw4Myw0MSw0LDEyMiw0Miw2NywxMTEsCisgICAgMTEwLDExOCwxMDEsMTE0LDExNiwzMiw5NywzMiw1MSw1MCw0NSw5OCwxMDUsMTE2LDMyLDEwNSwKKyAgICAxMTAsMTE2LDEwMSwxMDMsMTAxLDExNCwzMiwxMTYsMTExLDMyLDEwOCwxMDUsMTE2LDExNiwxMDgsMTAxLAorICAgIDQ1LDEwMSwxMTAsMTAwLDEwNSw5NywxMTAsNDYsMTA4LDMsMCwwLDAsMjU1LDEyNywyNTUsCisgICAgMTI3LDMsMCwyMzMsNCwwLDAsMCwyMTgsNiwxMDgsMTA1LDExNiwxMTYsMTA4LDEwMSwKKyAgICA0MSwyLDIxOCwzLDEwNSwxMTAsMTE2LDIxOCw4LDExNiwxMTEsOTUsOTgsMTIxLDExNiwxMDEsCisgICAgMTE1LDQxLDEsMjE4LDEsMTIwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLAorICAgIDExNCw1LDAsMCwwLDIxOCw3LDk1LDExOSw5NSwxMDgsMTExLDExMCwxMDMsNDAsMCwKKyAgICAwLDAsMTE1LDIsMCwwLDAsMCwyLDExNCwxNywwLDAsMCw5OSwxLAogICAgIDAsMCwwLDAsMCwwLDAsMSwwLDAsMCwzLDAsMCwwLDY3LAotICAgIDAsMCwwLDExNSwzNCwwLDAsMCwxMjQsMCwwLDExNSwyMSwwLDExNiwwLAotICAgIDAsMTA2LDEsMCwxMzEsMCwwLDEyNSwwLDAsMTEwLDAsMCwxMTYsMiwwLAotICAgIDEyNCwwLDAsMTAwLDEsMCwxMzEsMiwwLDgzLDQxLDIsMTIyLDMwLDgyLDEwMSwKLSAgICAxMTIsMTA4LDk3LDk5LDEwMSwxMDksMTAxLDExMCwxMTYsMzIsMTAyLDExMSwxMTQsMzIsMTExLDExNSwKLSAgICA0NiwxMTIsOTcsMTE2LDEwNCw0NiwxMDUsMTE1LDEwMCwxMDUsMTE0LDQ2LDEwNSwwLDY0LDAsCi0gICAgMCw0MSwzLDExNCwzLDAsMCwwLDIxOCw2LDEwMywxMDEsMTE2LDk5LDExOSwxMDAsCi0gICAgMTE0LDQzLDAsMCwwLDQxLDEsMTE0LDM1LDAsMCwwLDExNCw0LDAsMCwKLSAgICAwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDIxOCwxMSw5NSwxMTIsOTcsCi0gICAgMTE2LDEwNCw5NSwxMDUsMTE1LDEwMCwxMDUsMTE0LDkyLDAsMCwwLDExNSw2LDAsMCwKLSAgICAwLDAsMiw2LDEsMTUsMSwxMTQsNDYsMCwwLDAsMTA1LDE4MiwxLDAsCi0gICAgMCw5OSwzLDAsMCwwLDAsMCwwLDAsNiwwLDAsMCwxNywwLAotICAgIDAsMCw2NywwLDAsMCwxMTUsMTkyLDAsMCwwLDEwMCwxLDAsMTA2LDAsCi0gICAgMCwxMjQsMCwwLDExNiwxLDAsMTI0LDAsMCwxMzEsMSwwLDEzMSwyLDAsCi0gICAgMTI1LDMsMCwxMTYsMiwwLDEwNiwzLDAsMTI0LDMsMCwxMTYsMiwwLDEwNiwKLSAgICA0LDAsMTE2LDIsMCwxMDYsNSwwLDY2LDExNiwyLDAsMTA2LDYsMCw2NiwKLSAgICAxMjQsMiwwLDEwMCwyLDAsNjQsMTMxLDMsMCwxMjUsNCwwLDEyMSw2MCwwLAotICAgIDExNiw3LDAsMTA2LDgsMCwxMjQsNCwwLDEwMCwzLDAsMTMxLDIsMCwxNDMsCi0gICAgMjAsMCwxMjUsNSwwLDEyNCw1LDAsMTA2LDksMCwxMjQsMSwwLDEzMSwxLAotICAgIDAsMSw4NywxMDAsNCwwLDgxLDg4LDExNiwyLDAsMTA2LDEwLDAsMTI0LDMsCi0gICAgMCwxMjQsMCwwLDEzMSwyLDAsMSw4NywxMTAsNTksMCw0LDExNiwxMSwwLAotICAgIDEwNywxMCwwLDExNCwxODcsMCwxLDEsMSwxMjEsMTcsMCwxMTYsMiwwLDEwNiwKLSAgICAxMiwwLDEyNCwzLDAsMTMxLDEsMCwxLDg3LDExMCwxOCwwLDQsMTE2LDExLAotICAgIDAsMTA3LDEwLDAsMTE0LDE3OSwwLDEsMSwxLDg5LDExMCwxLDAsODgsMTMwLAotICAgIDAsMCw4OSwxMTAsMSwwLDg4LDEwMCw0LDAsODMsNDEsNSwxMjIsMTYyLDY2LAotICAgIDEwMSwxMTUsMTE2LDQ1LDEwMSwxMDIsMTAyLDExMSwxMTQsMTE2LDMyLDEwMiwxMTcsMTEwLDk5LDExNiwKLSAgICAxMDUsMTExLDExMCwzMiwxMTYsMTExLDMyLDExOSwxMTQsMTA1LDExNiwxMDEsMzIsMTAwLDk3LDExNiwKLSAgICA5NywzMiwxMTYsMTExLDMyLDk3LDMyLDExMiw5NywxMTYsMTA0LDMyLDk3LDExNiwxMTEsMTA5LAotICAgIDEwNSw5OSw5NywxMDgsMTA4LDEyMSw0NiwxMCwzMiwzMiwzMiwzMiw2NiwxMDEsMzIsMTEyLAotICAgIDExNCwxMDEsMTEyLDk3LDExNCwxMDEsMTAwLDMyLDExNiwxMTEsMzIsMTA0LDk3LDExMCwxMDAsMTA4LAotICAgIDEwMSwzMiw5NywzMiw3MCwxMDUsMTA4LDEwMSw2OSwxMjAsMTA1LDExNSwxMTYsMTE1LDY5LDExNCwKLSAgICAxMTQsMTExLDExNCwzMiwxMDUsMTAyLDMyLDk5LDExMSwxMTAsOTksMTE3LDExNCwxMTQsMTAxLDExMCwKLSAgICAxMTYsMzIsMTE5LDExNCwxMDUsMTE2LDEwNSwxMTAsMTAzLDMyLDExMSwxMDIsMzIsMTE2LDEwNCwxMDEsCi0gICAgMTAsMzIsMzIsMzIsMzIsMTE2LDEwMSwxMDksMTEyLDExMSwxMTQsOTcsMTE0LDEyMSwzMiwxMDIsCi0gICAgMTA1LDEwOCwxMDEsMzIsMTA1LDExNSwzMiw5NywxMTYsMTE2LDEwMSwxMDksMTEyLDExNiwxMDEsMTAwLAotICAgIDQ2LDEyMiw1LDEyMywxMjUsNDYsMTIzLDEyNSwxMDUsMTgyLDEsMCwwLDkwLDIsMTE5LAotICAgIDk4LDc4LDQxLDEzLDIxOCw2LDEwMiwxMTEsMTE0LDEwOSw5NywxMTYsMjE4LDIsMTA1LDEwMCwKLSAgICAxMTQsMywwLDAsMCw5MCw0LDExMSwxMTIsMTAxLDExMCw5MCw2LDc5LDk1LDY5LAotICAgIDg4LDY3LDc2LDkwLDcsNzksOTUsNjcsODIsNjksNjUsODQsOTAsOCw3OSw5NSwKLSAgICA4Nyw4Miw3OSw3OCw3Niw4OSwyMTgsMyw5NSwxMDUsMTExLDIxOCw2LDcwLDEwNSwxMDgsCi0gICAgMTAxLDczLDc5LDIxOCw1LDExOSwxMTQsMTA1LDExNiwxMDEsMjE4LDcsMTE0LDEwMSwxMTIsMTA4LAotICAgIDk3LDk5LDEwMSwxMTQsNDAsMCwwLDAsOTAsNiwxMTcsMTEwLDEwOCwxMDUsMTEwLDEwNywKLSAgICA0MSw2LDExNCwzNSwwLDAsMCwyMTgsNCwxMDAsOTcsMTE2LDk3LDExNCw0MiwwLAotICAgIDAsMCw5MCw4LDExMiw5NywxMTYsMTA0LDk1LDExNiwxMDksMTEyLDkwLDIsMTAyLDEwMCwKLSAgICAyMTgsNCwxMDIsMTA1LDEwOCwxMDEsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsCi0gICAgMTE0LDUsMCwwLDAsMjE4LDEzLDk1LDExOSwxMTQsMTA1LDExNiwxMDEsOTUsOTcsMTE2LAotICAgIDExMSwxMDksMTA1LDk5LDk5LDAsMCwwLDExNSwyNiwwLDAsMCwwLDUsMjQsCi0gICAgMSw5LDEsMzMsMSwzLDMsMjEsMSwxOSwxLDIwLDEsMTMsMSwzLAotICAgIDEsMTcsMSwxMywxLDUsMSwxMTQsNTUsMCwwLDAsOTksMiwwLDAsCi0gICAgMCwwLDAsMCwwLDMsMCwwLDAsNywwLDAsMCw2NywwLDAsCi0gICAgMCwxMTUsOTUsMCwwLDAsMTIwLDY5LDAsMTAwLDEsMCwxMDAsMiwwLDEwMCwKLSAgICAzLDAsMTAwLDQsMCwxMDMsNCwwLDY4LDkzLDQ5LDAsMTI1LDIsMCwxMTYsCi0gICAgMCwwLDEyNCwxLDAsMTI0LDIsMCwxMzEsMiwwLDExNCwxOSwwLDExNiwxLAotICAgIDAsMTI0LDAsMCwxMjQsMiwwLDExNiwyLDAsMTI0LDEsMCwxMjQsMiwwLAotICAgIDEzMSwyLDAsMTMxLDMsMCwxLDExMywxOSwwLDExMywxOSwwLDg3LDEyNCwwLAotICAgIDAsMTA2LDMsMCwxMDYsNCwwLDEyNCwxLDAsMTA2LDMsMCwxMzEsMSwwLAotICAgIDEsMTAwLDUsMCw4Myw0MSw2LDEyMiw0Nyw4MywxMDUsMTA5LDExMiwxMDgsMTAxLDMyLAotICAgIDExNSwxMTcsOTgsMTE1LDExNiwxMDUsMTE2LDExNywxMTYsMTAxLDMyLDEwMiwxMTEsMTE0LDMyLDEwMiwKLSAgICAxMTcsMTEwLDk5LDExNiwxMTEsMTExLDEwOCwxMTUsNDYsMTE3LDExMiwxMDAsOTcsMTE2LDEwMSw5NSwKLSAgICAxMTksMTE0LDk3LDExMiwxMTIsMTAxLDExNCw0NiwyMTgsMTAsOTUsOTUsMTA5LDExMSwxMDAsMTE3LAotICAgIDEwOCwxMDEsOTUsOTUsMjE4LDgsOTUsOTUsMTEwLDk3LDEwOSwxMDEsOTUsOTUsMjE4LDEyLAotICAgIDk1LDk1LDExMywxMTcsOTcsMTA4LDExMCw5NywxMDksMTAxLDk1LDk1LDIxOCw3LDk1LDk1LAotICAgIDEwMCwxMTEsOTksOTUsOTUsNzgsNDEsNSwyMTgsNywxMDQsOTcsMTE1LDk3LDExNiwxMTYsCi0gICAgMTE0LDIxOCw3LDExNSwxMDEsMTE2LDk3LDExNiwxMTYsMTE0LDIxOCw3LDEwMywxMDEsMTE2LDk3LAotICAgIDExNiwxMTYsMTE0LDIxOCw4LDk1LDk1LDEwMCwxMDUsOTksMTE2LDk1LDk1LDIxOCw2LDExNywKLSAgICAxMTIsMTAwLDk3LDExNiwxMDEsNDEsMyw5MCwzLDExMCwxMDEsMTE5LDkwLDMsMTExLDEwOCwKLSAgICAxMDAsMTE0LDUyLDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLAotICAgIDExNCw1LDAsMCwwLDIxOCw1LDk1LDExOSwxMTQsOTcsMTEyLDEyMSwwLDAsMCwKLSAgICAxMTUsOCwwLDAsMCwwLDIsMjUsMSwxNSwxLDMyLDEsMTE0LDY1LDAsCi0gICAgMCwwLDk5LDEsMCwwLDAsMCwwLDAsMCwxLDAsMCwwLDIsCi0gICAgMCwwLDAsNjcsMCwwLDAsMTE1LDE2LDAsMCwwLDExNiwwLDAsMTE2LAotICAgIDEsMCwxMzEsMSwwLDEyNCwwLDAsMTMxLDEsMCw4Myw0MSwxLDc4LDQxLAotICAgIDIsMjE4LDQsMTE2LDEyMSwxMTIsMTAxLDExNCw3LDAsMCwwLDQxLDEsMjE4LDQsCi0gICAgMTEwLDk3LDEwOSwxMDEsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsCi0gICAgMCwwLDAsMjE4LDExLDk1LDExMCwxMDEsMTE5LDk1LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLAotICAgIDEyOSwwLDAsMCwxMTUsMiwwLDAsMCwwLDEsMTE0LDY4LDAsMCwwLAotICAgIDk5LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDIsMCwwLAotICAgIDAsNjQsMCwwLDAsMTE1LDU4LDAsMCwwLDEwMSwwLDAsOTAsMSwwLAotICAgIDEwMCwwLDAsOTAsMiwwLDEwMCwxLDAsOTAsMywwLDEwMCwyLDAsMTAwLAotICAgIDMsMCwxMzIsMCwwLDkwLDQsMCwxMDAsNCwwLDEwMCw1LDAsMTMyLDAsCi0gICAgMCw5MCw1LDAsMTAwLDYsMCwxMDAsNywwLDEzMiwwLDAsOTAsNiwwLAotICAgIDEwMCw4LDAsODMsNDEsOSwyMTgsMTMsOTUsNzcsOTcsMTEwLDk3LDEwMywxMDEsODIsCi0gICAgMTAxLDEwOCwxMTEsOTcsMTAwLDEyMiw2Myw3Nyw5NywxMTAsOTcsMTAzLDEwMSwxMTUsMzIsMTE2LAotICAgIDEwNCwxMDEsMzIsMTEyLDExMSwxMTUsMTE1LDEwNSw5OCwxMDgsMTAxLDMyLDk5LDEwOCwxMDEsOTcsCi0gICAgMTEwLDQ1LDExNywxMTIsMzIsMTExLDEwMiwzMiwxMTUsMTIxLDExNSw0NiwxMDksMTExLDEwMCwxMTcsCi0gICAgMTA4LDEwMSwxMTUsMzIsMTAyLDExMSwxMTQsMzIsMTA4LDExMSw5NywxMDAsOTUsMTA5LDExMSwxMDAsCi0gICAgMTE3LDEwOCwxMDEsNDAsNDEsNDYsOTksMiwwLDAsMCwwLDAsMCwwLDIsCi0gICAgMCwwLDAsMiwwLDAsMCw2NywwLDAsMCwxMTUsMTMsMCwwLDAsCi0gICAgMTI0LDEsMCwxMjQsMCwwLDk1LDAsMCwxMDAsMCwwLDgzLDQxLDEsNzgsCi0gICAgNDEsMSwyMTgsNSw5NSwxMTAsOTcsMTA5LDEwMSw0MSwyLDIxOCw0LDExNSwxMDEsMTA4LAotICAgIDEwMiwxMTQsNjcsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsCi0gICAgMTE0LDUsMCwwLDAsMjE4LDgsOTUsOTUsMTA1LDExMCwxMDUsMTE2LDk1LDk1LDE0MSwKLSAgICAwLDAsMCwxMTUsMiwwLDAsMCwwLDEsMTIyLDIyLDk1LDc3LDk3LDExMCwKLSAgICA5NywxMDMsMTAxLDgyLDEwMSwxMDgsMTExLDk3LDEwMCw0Niw5NSw5NSwxMDUsMTEwLDEwNSwxMTYsCi0gICAgOTUsOTUsOTksMSwwLDAsMCwwLDAsMCwwLDEsMCwwLDAsMiwKLSAgICAwLDAsMCw2NywwLDAsMCwxMTUsMjUsMCwwLDAsMTI0LDAsMCwxMDYsCi0gICAgMCwwLDExNiwxLDAsMTA2LDIsMCwxMDcsNiwwLDEyNCwwLDAsOTUsMywKLSAgICAwLDEwMCwwLDAsODMsNDEsMSw3OCw0MSw0LDExNCw3MCwwLDAsMCwxMTQsCi0gICAgNywwLDAsMCwyMTgsNywxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwxMTUsMjE4LDEwLDk1LAotICAgIDEwNSwxMTUsOTUsMTE0LDEwMSwxMDgsMTExLDk3LDEwMCw0MSwxLDExNCw3MSwwLDAsMCwKKyAgICAwLDAsMCwxMTUsMTYsMCwwLDAsMTE2LDAsMCwxMDYsMSwwLDEyNCwwLAorICAgIDAsMTAwLDEsMCwxMzEsMiwwLDgzLDQxLDIsMTIyLDQ3LDY3LDExMSwxMTAsMTE4LAorICAgIDEwMSwxMTQsMTE2LDMyLDUyLDMyLDk4LDEyMSwxMTYsMTAxLDExNSwzMiwxMDUsMTEwLDMyLDEwOCwKKyAgICAxMDUsMTE2LDExNiwxMDgsMTAxLDQ1LDEwMSwxMTAsMTAwLDEwNSw5NywxMTAsMzIsMTE2LDExMSwzMiwKKyAgICA5NywxMTAsMzIsMTA1LDExMCwxMTYsMTAxLDEwMywxMDEsMTE0LDQ2LDExNCwxMywwLDAsMCwKKyAgICA0MSwyLDExNCwxNCwwLDAsMCwyMTgsMTAsMTAyLDExNCwxMTEsMTA5LDk1LDk4LDEyMSwKKyAgICAxMTYsMTAxLDExNSw0MSwxLDkwLDksMTA1LDExMCwxMTYsOTUsOTgsMTIxLDExNiwxMDEsMTE1LAogICAgIDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDIxOCwKLSAgICA5LDk1LDk1LDEwMSwxMTAsMTE2LDEwMSwxMTQsOTUsOTUsMTQ0LDAsMCwwLDExNSwyLAotICAgIDAsMCwwLDAsMSwxMjIsMjMsOTUsNzcsOTcsMTEwLDk3LDEwMywxMDEsODIsMTAxLAotICAgIDEwOCwxMTEsOTcsMTAwLDQ2LDk1LDk1LDEwMSwxMTAsMTE2LDEwMSwxMTQsOTUsOTUsOTksMSwKLSAgICAwLDAsMCwwLDAsMCwwLDIsMCwwLDAsMTEsMCwwLDAsNzEsCi0gICAgMCwwLDAsMTE1LDgwLDAsMCwwLDExNiwwLDAsMTAwLDEsMCwxMDAsMiwKLSAgICAwLDEzMiwwLDAsMTI0LDEsMCw2OCwxMzEsMSwwLDEzMSwxLDAsMTE0LDc2LAotICAgIDAsMTI0LDAsMCwxMDYsMSwwLDEyLDExNCw3NiwwLDEyMSwxNywwLDExNiwyLAotICAgIDAsMTA2LDMsMCwxMjQsMCwwLDEwNiw0LDAsNjEsODcsMTEzLDc2LDAsNCwKLSAgICAxMTYsNSwwLDEwNywxMCwwLDExNCw3MiwwLDEsMSwxLDg5LDExMyw3NiwwLAotICAgIDg4LDExMCwwLDAsMTAwLDAsMCw4Myw0MSwzLDc4LDk5LDEsMCwwLDAsCi0gICAgMCwwLDAsMCwyLDAsMCwwLDMsMCwwLDAsMTE1LDAsMCwwLAotICAgIDExNSwyNywwLDAsMCwxMjQsMCwwLDkzLDE3LDAsMTI1LDEsMCwxMjQsMSwKLSAgICAwLDEwMCwwLDAsMTA3LDksMCw4NiwxLDExMywzLDAsMTAwLDAsMCw4MywKLSAgICA0MSwxLDc4LDExNCw0LDAsMCwwLDQxLDIsMTE0LDIyLDAsMCwwLDIxOCwKLSAgICAzLDk3LDExNCwxMDMsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsCi0gICAgMCwwLDAsMjUwLDksNjAsMTAzLDEwMSwxMTAsMTAxLDEyMCwxMTIsMTE0LDYyLDE0OCwwLAotICAgIDAsMCwxMTUsMiwwLDAsMCw2LDAsMTIyLDQxLDk1LDc3LDk3LDExMCw5NywKLSAgICAxMDMsMTAxLDgyLDEwMSwxMDgsMTExLDk3LDEwMCw0Niw5NSw5NSwxMDEsMTIwLDEwNSwxMTYsOTUsCi0gICAgOTUsNDYsNjAsMTA4LDExMSw5OSw5NywxMDgsMTE1LDYyLDQ2LDYwLDEwMywxMDEsMTEwLDEwMSwKLSAgICAxMjAsMTEyLDExNCw2Miw0MSw2LDIxOCwzLDk3LDExMCwxMjEsMTE0LDc0LDAsMCwwLAotICAgIDExNCw3LDAsMCwwLDExNCw3MywwLDAsMCwxMTQsNzAsMCwwLDAsMjE4LAotICAgIDgsNzUsMTAxLDEyMSw2OSwxMTQsMTE0LDExMSwxMTQsNDEsMiwxMTQsNzEsMCwwLDAsCi0gICAgMjE4LDQsOTcsMTE0LDEwMywxMTUsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsCi0gICAgMTE0LDUsMCwwLDAsMjE4LDgsOTUsOTUsMTAxLDEyMCwxMDUsMTE2LDk1LDk1LDE0NywKLSAgICAwLDAsMCwxMTUsMTAsMCwwLDAsMCwxLDM1LDEsMywxLDE3LDEsCi0gICAgMTMsMSwxMjIsMjIsOTUsNzcsOTcsMTEwLDk3LDEwMywxMDEsODIsMTAxLDEwOCwxMTEsOTcsCi0gICAgMTAwLDQ2LDk1LDk1LDEwMSwxMjAsMTA1LDExNiw5NSw5NSw3OCw0MSw3LDExNCw1NywwLAotICAgIDAsMCwxMTQsNTYsMCwwLDAsMTE0LDU4LDAsMCwwLDExNCw1OSwwLDAsCi0gICAgMCwxMTQsNzIsMCwwLDAsMTE0LDc1LDAsMCwwLDExNCw4MSwwLDAsMCwKLSAgICAxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsCi0gICAgNSwwLDAsMCwxMTQsNjksMCwwLDAsMTM3LDAsMCwwLDExNSw4LDAsCi0gICAgMCwwLDEyLDIsNiwyLDEyLDMsMTIsMywxMTQsNjksMCwwLDAsOTksCi0gICAgMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMSwwLDAsMCwKLSAgICA2NCwwLDAsMCwxMTUsMTYsMCwwLDAsMTAxLDAsMCw5MCwxLDAsMTAwLAotICAgIDAsMCw5MCwyLDAsMTAwLDEsMCw4Myw0MSwyLDIxOCwxNCw5NSw2OCwxMDEsCi0gICAgOTcsMTAwLDEwOCwxMTEsOTksMTA3LDY5LDExNCwxMTQsMTExLDExNCw3OCw0MSwzLDExNCw1NywKLSAgICAwLDAsMCwxMTQsNTYsMCwwLDAsMTE0LDU4LDAsMCwwLDExNCw0LDAsCi0gICAgMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwKLSAgICAwLDExNCw4MiwwLDAsMCwxNjIsMCwwLDAsMTE1LDIsMCwwLDAsMTIsCi0gICAgMSwxMTQsODIsMCwwLDAsOTksMCwwLDAsMCwwLDAsMCwwLDAsCi0gICAgMCwwLDAsMiwwLDAsMCw2NCwwLDAsMCwxMTUsODIsMCwwLDAsCi0gICAgMTAxLDAsMCw5MCwxLDAsMTAwLDAsMCw5MCwyLDAsMTAwLDEsMCw5MCwKLSAgICAzLDAsMTAwLDIsMCwxMDAsMywwLDEzMiwwLDAsOTAsNCwwLDEwMCw0LAotICAgIDAsMTAwLDUsMCwxMzIsMCwwLDkwLDUsMCwxMDAsNiwwLDEwMCw3LDAsCi0gICAgMTMyLDAsMCw5MCw2LDAsMTAwLDgsMCwxMDAsOSwwLDEzMiwwLDAsOTAsCi0gICAgNywwLDEwMCwxMCwwLDEwMCwxMSwwLDEzMiwwLDAsOTAsOCwwLDEwMCwxMiwKLSAgICAwLDgzLDQxLDEzLDIxOCwxMSw5NSw3NywxMTEsMTAwLDExNywxMDgsMTAxLDc2LDExMSw5OSwKLSAgICAxMDcsMTIyLDE2OSw2NSwzMiwxMTQsMTAxLDk5LDExNywxMTQsMTE1LDEwNSwxMTgsMTAxLDMyLDEwOCwKLSAgICAxMTEsOTksMTA3LDMyLDEwNSwxMDksMTEyLDEwOCwxMDEsMTA5LDEwMSwxMTAsMTE2LDk3LDExNiwxMDUsCi0gICAgMTExLDExMCwzMiwxMTksMTA0LDEwNSw5OSwxMDQsMzIsMTA1LDExNSwzMiw5Nyw5OCwxMDgsMTAxLAotICAgIDMyLDExNiwxMTEsMzIsMTAwLDEwMSwxMTYsMTAxLDk5LDExNiwzMiwxMDAsMTAxLDk3LDEwMCwxMDgsCi0gICAgMTExLDk5LDEwNywxMTUsMTAsMzIsMzIsMzIsMzIsNDAsMTAxLDQ2LDEwMyw0NiwzMiwxMTYsCi0gICAgMTA0LDExNCwxMDEsOTcsMTAwLDMyLDQ5LDMyLDExNiwxMTQsMTIxLDEwNSwxMTAsMTAzLDMyLDExNiwKLSAgICAxMTEsMzIsMTE2LDk3LDEwNywxMDEsMzIsMTA4LDExMSw5OSwxMDcsMTE1LDMyLDY1LDMyLDExNiwKLSAgICAxMDQsMTAxLDExMCwzMiw2Niw0NCwzMiw5NywxMTAsMTAwLDMyLDExNiwxMDQsMTE0LDEwMSw5NywKLSAgICAxMDAsMzIsNTAsMzIsMTE2LDExNCwxMjEsMTA1LDExMCwxMDMsMzIsMTE2LDExMSwxMCwzMiwzMiwKLSAgICAzMiwzMiwxMTYsOTcsMTA3LDEwMSwzMiwxMDgsMTExLDk5LDEwNywxMTUsMzIsNjYsMzIsMTE2LAotICAgIDEwNCwxMDEsMTEwLDMyLDY1LDQxLDQ2LDEwLDMyLDMyLDMyLDMyLDk5LDIsMCwwLAotICAgIDAsMCwwLDAsMCwyLDAsMCwwLDIsMCwwLDAsNjcsMCwwLAotICAgIDAsMTE1LDcwLDAsMCwwLDExNiwwLDAsMTA2LDEsMCwxMzEsMCwwLDEyNCwKLSAgICAwLDAsOTUsMiwwLDExNiwwLDAsMTA2LDEsMCwxMzEsMCwwLDEyNCwwLAotICAgIDAsOTUsMywwLDEyNCwxLDAsMTI0LDAsMCw5NSw0LDAsMTAwLDAsMCwKLSAgICAxMjQsMCwwLDk1LDUsMCwxMDAsMSwwLDEyNCwwLDAsOTUsNiwwLDEwMCwKLSAgICAxLDAsMTI0LDAsMCw5NSw3LDAsMTAwLDAsMCw4Myw0MSwyLDc4LDIzMywKLSAgICAwLDAsMCwwLDQxLDgsMjE4LDcsOTUsMTE2LDEwNCwxMTQsMTAxLDk3LDEwMCw5MCwKLSAgICAxMyw5NywxMDgsMTA4LDExMSw5OSw5NywxMTYsMTAxLDk1LDEwOCwxMTEsOTksMTA3LDIxOCw0LAotICAgIDEwOCwxMTEsOTksMTA3LDIxOCw2LDExOSw5NywxMDcsMTAxLDExNywxMTIsMTE0LDY3LDAsMCwKLSAgICAwLDIxOCw1LDExMSwxMTksMTEwLDEwMSwxMTQsMjE4LDUsOTksMTExLDExNywxMTAsMTE2LDIxOCwKLSAgICA3LDExOSw5NywxMDUsMTE2LDEwMSwxMTQsMTE1LDQxLDIsMTE0LDcxLDAsMCwwLDExNCwKLSAgICA2NywwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwKLSAgICAwLDAsMCwxMTQsNzIsMCwwLDAsMTcyLDAsMCwwLDExNSwxMiwwLDAsCi0gICAgMCwwLDEsMTUsMSwxNSwxLDksMSw5LDEsOSwxLDEyMiwyMCw5NSwKLSAgICA3NywxMTEsMTAwLDExNywxMDgsMTAxLDc2LDExMSw5OSwxMDcsNDYsOTUsOTUsMTA1LDExMCwxMDUsCi0gICAgMTE2LDk1LDk1LDk5LDEsMCwwLDAsMCwwLDAsMCw0LDAsMCwwLAotICAgIDIsMCwwLDAsNjcsMCwwLDAsMTE1LDg4LDAsMCwwLDExNiwwLDAsCi0gICAgMTA2LDEsMCwxMzEsMCwwLDEyNSwxLDAsMTI0LDAsMCwxMDYsMiwwLDEyNSwKLSAgICAyLDAsMTIwLDYwLDAsMTE2LDMsMCwxMDYsNCwwLDEyNCwyLDAsMTMxLDEsCi0gICAgMCwxMjUsMywwLDEyNCwzLDAsMTAwLDAsMCwxMDcsOCwwLDExNCw1NSwwLAotICAgIDEwMCwxLDAsODMsMTI0LDMsMCwxMDYsMiwwLDEyNSwyLDAsMTI0LDIsMCwKLSAgICAxMjQsMSwwLDEwNywyLDAsMTE0LDI0LDAsMTAwLDIsMCw4MywxMTMsMjQsMCwKLSAgICA4NywxMDAsMCwwLDgzLDQxLDMsNzgsNzAsODQsNDEsNSwxMTQsODUsMCwwLAotICAgIDAsMjE4LDksMTAzLDEwMSwxMTYsOTUsMTA1LDEwMCwxMDEsMTEwLDExNiwxMTQsODgsMCwwLAotICAgIDAsMjE4LDEyLDk1LDk4LDEwOCwxMTEsOTksMTA3LDEwNSwxMTAsMTAzLDk1LDExMSwxMTAsMjE4LAotICAgIDMsMTAzLDEwMSwxMTYsNDEsNCwxMTQsNzEsMCwwLDAsMjE4LDIsMTA5LDEwMSwyMTgsCi0gICAgMywxMTYsMTA1LDEwMCwxMTQsODYsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsCi0gICAgMCwwLDAsMTE0LDUsMCwwLDAsMjE4LDEyLDEwNCw5NywxMTUsOTUsMTAwLDEwMSwKLSAgICA5NywxMDAsMTA4LDExMSw5OSwxMDcsMTgwLDAsMCwwLDExNSwxOCwwLDAsMCwwLAotICAgIDIsMTIsMSw5LDEsMywxLDE1LDEsMTIsMSw0LDEsOSwxLDEyLAotICAgIDEsMTIyLDI0LDk1LDc3LDExMSwxMDAsMTE3LDEwOCwxMDEsNzYsMTExLDk5LDEwNyw0NiwxMDQsCi0gICAgOTcsMTE1LDk1LDEwMCwxMDEsOTcsMTAwLDEwOCwxMTEsOTksMTA3LDk5LDEsMCwwLDAsCi0gICAgMCwwLDAsMCwyLDAsMCwwLDE2LDAsMCwwLDY3LDAsMCwwLAotICAgIDExNSwyMTUsMCwwLDAsMTE2LDAsMCwxMDYsMSwwLDEzMSwwLDAsMTI1LDEsCi0gICAgMCwxMjQsMCwwLDExNiwyLDAsMTI0LDEsMCw2MCwxMjIsMTc4LDAsMTIwLDE3MSwKLSAgICAwLDEyNCwwLDAsMTA2LDMsMCwxNDMsMTMwLDAsMSwxMjQsMCwwLDEwNiw0LAotICAgIDAsMTAwLDEsMCwxMDcsMiwwLDExNSw2OCwwLDEyNCwwLDAsMTA2LDUsMCwKLSAgICAxMjQsMSwwLDEwNywyLDAsMTE0LDk2LDAsMTI0LDEsMCwxMjQsMCwwLDk1LAotICAgIDUsMCwxMjQsMCwwLDQsMTA2LDQsMCwxMDAsMiwwLDU1LDIsOTUsNCwKLSAgICAwLDEwMCwzLDAsODMsMTI0LDAsMCwxMDYsNiwwLDEzMSwwLDAsMTE0LDEyNywKLSAgICAwLDExNiw3LDAsMTAwLDQsMCwxMjQsMCwwLDIyLDEzMSwxLDAsMTMwLDEsCi0gICAgMCwxMTAsMCwwLDEyNCwwLDAsMTA2LDgsMCwxMDYsOSwwLDEwMCw1LDAsCi0gICAgMTMxLDEsMCwxMTQsMTYzLDAsMTI0LDAsMCw0LDEwNiwxMCwwLDEwMCwyLDAsCi0gICAgNTUsMiw5NSwxMCwwLDExMCwwLDAsODcsMTAwLDYsMCw4MSw4OCwxMjQsMCwKLSAgICAwLDEwNiw4LDAsMTA2LDksMCwxMzEsMCwwLDEsMTI0LDAsMCwxMDYsOCwKLSAgICAwLDEwNiwxMSwwLDEzMSwwLDAsMSwxMTMsMjgsMCw4Nyw4NywxMDAsNiwwLAotICAgIDExNiwyLDAsMTI0LDEsMCw2MSw4OCwxMDAsNiwwLDgzLDQxLDcsMTIyLDE4NSwKLSAgICAxMCwzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMiw2NSw5OSwxMTMsMTE3LDEwNSwxMTQsMTAxLAotICAgIDMyLDExNiwxMDQsMTAxLDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDMyLDEwOCwxMTEsOTksMTA3LAotICAgIDQ2LDMyLDMyLDczLDEwMiwzMiw5NywzMiwxMTIsMTExLDExNiwxMDEsMTEwLDExNiwxMDUsOTcsCi0gICAgMTA4LDMyLDEwMCwxMDEsOTcsMTAwLDEwOCwxMTEsOTksMTA3LDMyLDEwNSwxMTUsMzIsMTAwLDEwMSwKLSAgICAxMTYsMTAxLDk5LDExNiwxMDEsMTAwLDQ0LDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLAotICAgIDk3LDMyLDk1LDY4LDEwMSw5NywxMDAsMTA4LDExMSw5OSwxMDcsNjksMTE0LDExNCwxMTEsMTE0LAotICAgIDMyLDEwNSwxMTUsMzIsMTE0LDk3LDEwNSwxMTUsMTAxLDEwMCw0NiwxMCwzMiwzMiwzMiwzMiwKLSAgICAzMiwzMiwzMiwzMiw3OSwxMTYsMTA0LDEwMSwxMTQsMTE5LDEwNSwxMTUsMTAxLDQ0LDMyLDExNiwKLSAgICAxMDQsMTAxLDMyLDEwOCwxMTEsOTksMTA3LDMyLDEwNSwxMTUsMzIsOTcsMTA4LDExOSw5NywxMjEsCi0gICAgMTE1LDMyLDk3LDk5LDExMywxMTcsMTA1LDExNCwxMDEsMTAwLDMyLDk3LDExMCwxMDAsMzIsODQsCi0gICAgMTE0LDExNywxMDEsMzIsMTA1LDExNSwzMiwxMTQsMTAxLDExNiwxMTcsMTE0LDExMCwxMDEsMTAwLDQ2LAotICAgIDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDExNCw4NCwwLDAsMCwxMTQsMjksCi0gICAgMCwwLDAsODQsMTIyLDIzLDEwMCwxMDEsOTcsMTAwLDEwOCwxMTEsOTksMTA3LDMyLDEwMCwKLSAgICAxMDEsMTE2LDEwMSw5OSwxMTYsMTAxLDEwMCwzMiw5OCwxMjEsMzIsMzcsMTE0LDcwLDc4LDQxLAotICAgIDEyLDExNCw4NSwwLDAsMCwxMTQsOTEsMCwwLDAsMTE0LDkyLDAsMCwwLAotICAgIDExNCw4NiwwLDAsMCwxMTQsODksMCwwLDAsMTE0LDg4LDAsMCwwLDExNCwKLSAgICA5NiwwLDAsMCwxMTQsODIsMCwwLDAsMTE0LDg3LDAsMCwwLDIxOCw3LAotICAgIDk3LDk5LDExMywxMTcsMTA1LDExNCwxMDEsMTE0LDkwLDAsMCwwLDIxOCw3LDExNCwxMDEsCi0gICAgMTA4LDEwMSw5NywxMTUsMTAxLDQxLDIsMTE0LDcxLDAsMCwwLDExNCw5NSwwLDAsCisgICAgNyw5NSwxMTQsOTUsMTA4LDExMSwxMTAsMTAzLDQ1LDAsMCwwLDExNSwyLDAsMCwKKyAgICAwLDAsMiwxMTQsMTksMCwwLDAsOTksMCwwLDAsMCwwLDAsMCwKKyAgICAwLDEsMCwwLDAsMywwLDAsMCw3MSwwLDAsMCwxMTUsMjYsMCwKKyAgICAwLDAsMTE2LDAsMCwxMDYsMSwwLDEwMCwxLDAsMTAwLDIsMCwxMzIsMCwKKyAgICAwLDEyNCwwLDAsNjgsMTMxLDEsMCwxMzEsMSwwLDgzLDQxLDMsMTIyLDMxLAorICAgIDgyLDEwMSwxMTIsMTA4LDk3LDk5LDEwMSwxMDksMTAxLDExMCwxMTYsMzIsMTAyLDExMSwxMTQsMzIsCisgICAgMTExLDExNSw0NiwxMTIsOTcsMTE2LDEwNCw0NiwxMDYsMTExLDEwNSwxMTAsNDAsNDEsNDYsOTksCisgICAgMSwwLDAsMCwwLDAsMCwwLDIsMCwwLDAsNCwwLDAsMCwKKyAgICA4MywwLDAsMCwxMTUsMzcsMCwwLDAsMTAzLDAsMCwxMjQsMCwwLDkzLAorICAgIDI3LDAsMTI1LDEsMCwxMjQsMSwwLDExNCw2LDAsMTI0LDEsMCwxMDYsMCwKKyAgICAwLDExNiwxLDAsMTMxLDEsMCwxNDUsMiwwLDExMyw2LDAsODMsMTE0LDQsCisgICAgMCwwLDAsNDEsMiwyMTgsNiwxMTQsMTE1LDExNiwxMTQsMTA1LDExMiwyMTgsMTUsMTEyLAorICAgIDk3LDExNiwxMDQsOTUsMTE1LDEwMSwxMTIsOTcsMTE0LDk3LDExNiwxMTEsMTE0LDExNSw0MSwyLAorICAgIDIxOCwyLDQ2LDQ4LDIxOCw0LDExMiw5NywxMTQsMTE2LDExNCw0LDAsMCwwLDExNCwKKyAgICA0LDAsMCwwLDExNCw1LDAsMCwwLDI1MCwxMCw2MCwxMDgsMTA1LDExNSwxMTYsCisgICAgOTksMTExLDEwOSwxMTIsNjIsNTIsMCwwLDAsMTE1LDIsMCwwLDAsOSwxLAorICAgIDEyMiwzMCw5NSwxMTIsOTcsMTE2LDEwNCw5NSwxMDYsMTExLDEwNSwxMTAsNDYsNjAsMTA4LDExMSwKKyAgICA5OSw5NywxMDgsMTE1LDYyLDQ2LDYwLDEwOCwxMDUsMTE1LDExNiw5OSwxMTEsMTA5LDExMiw2MiwKKyAgICA0MSwyLDIxOCw4LDExMiw5NywxMTYsMTA0LDk1LDExNSwxMDEsMTEyLDIxOCw0LDEwNiwxMTEsCisgICAgMTA1LDExMCw0MSwxLDIxOCwxMCwxMTIsOTcsMTE2LDEwNCw5NSwxMTIsOTcsMTE0LDExNiwxMTUsCisgICAgMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMjE4LAorICAgIDEwLDk1LDExMiw5NywxMTYsMTA0LDk1LDEwNiwxMTEsMTA1LDExMCw1MCwwLDAsMCwxMTUsCisgICAgNCwwLDAsMCwwLDIsMTUsMSwxMTQsMjgsMCwwLDAsOTksMSwwLAorICAgIDAsMCwwLDAsMCwwLDUsMCwwLDAsNSwwLDAsMCw2NywwLAorICAgIDAsMCwxMTUsMTM0LDAsMCwwLDExNiwwLDAsMTE2LDEsMCwxMzEsMSwwLAorICAgIDEwMCwxLDAsMTA3LDIsMCwxMTQsNTIsMCwxMjQsMCwwLDEwNiwyLDAsMTE2LAorICAgIDMsMCwxMzEsMSwwLDkyLDMsMCwxMjUsMSwwLDEyNSwyLDAsMTI1LDMsCisgICAgMCwxMjQsMSwwLDEyNCwzLDAsMTAyLDIsMCw4MywxMjAsNjksMCwxMTYsNCwKKyAgICAwLDEyNCwwLDAsMTMxLDEsMCw2OCw5Myw1NSwwLDEyNSw0LDAsMTI0LDQsCisgICAgMCwxMTYsMSwwLDEwNyw2LDAsMTE0LDY1LDAsMTI0LDAsMCwxMDYsNSwwLAorICAgIDEyNCw0LDAsMTAwLDIsMCwxMDAsMSwwLDEzMSwxLDEsOTIsMiwwLDEyNSwKKyAgICAxLDAsMTI1LDMsMCwxMjQsMSwwLDEyNCwzLDAsMTAyLDIsMCw4MywxMTMsCisgICAgNjUsMCw4NywxMDAsMywwLDEyNCwwLDAsMTAyLDIsMCw4Myw0MSw0LDEyMiwKKyAgICAzMiw4MiwxMDEsMTEyLDEwOCw5Nyw5OSwxMDEsMTA5LDEwMSwxMTAsMTE2LDMyLDEwMiwxMTEsMTE0LAorICAgIDMyLDExMSwxMTUsNDYsMTEyLDk3LDExNiwxMDQsNDYsMTE1LDExMiwxMDgsMTA1LDExNiw0MCw0MSwKKyAgICA0NiwyMzMsMSwwLDAsMCw5MCw4LDEwOSw5NywxMjAsMTE1LDExMiwxMDgsMTA1LDExNiwKKyAgICAyMTgsMCw0MSw2LDIxOCwzLDEwOCwxMDEsMTEwLDExNCwyMSwwLDAsMCwyMTgsMTAsCisgICAgMTE0LDExMiw5NywxMTQsMTE2LDEwNSwxMTYsMTA1LDExMSwxMTAsMTE0LDI1LDAsMCwwLDIxOCwKKyAgICA4LDExNCwxMDEsMTE4LDEwMSwxMTQsMTE1LDEwMSwxMDAsMjE4LDYsMTE0LDExNSwxMTIsMTA4LDEwNSwKKyAgICAxMTYsNDEsNSwyMTgsNCwxMTIsOTcsMTE2LDEwNCw5MCw1LDEwMiwxMTQsMTExLDExMCwxMTYsCisgICAgMjE4LDEsOTUsMjE4LDQsMTE2LDk3LDEwNSwxMDgsMTE0LDE2LDAsMCwwLDExNCw0LAorICAgIDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDIxOCwxMSw5NSwKKyAgICAxMTIsOTcsMTE2LDEwNCw5NSwxMTUsMTEyLDEwOCwxMDUsMTE2LDU2LDAsMCwwLDExNSwxNiwKKyAgICAwLDAsMCwwLDIsMTgsMSwyNCwxLDEwLDEsMTksMSwxMiwxLDI3LAorICAgIDEsMTQsMSwxMTQsMzgsMCwwLDAsOTksMSwwLDAsMCwwLDAsMCwKKyAgICAwLDEsMCwwLDAsMiwwLDAsMCw2NywwLDAsMCwxMTUsMTMsMCwKKyAgICAwLDAsMTE2LDAsMCwxMDYsMSwwLDEyNCwwLDAsMTMxLDEsMCw4Myw0MSwKKyAgICAxLDEyMiwxMjYsODMsMTE2LDk3LDExNiwzMiwxMTYsMTA0LDEwMSwzMiwxMTIsOTcsMTE2LDEwNCwKKyAgICA0NiwxMCwxMCwzMiwzMiwzMiwzMiw3Nyw5NywxMDAsMTAxLDMyLDk3LDMyLDExNSwxMDEsCisgICAgMTEyLDk3LDExNCw5NywxMTYsMTAxLDMyLDEwMiwxMTcsMTEwLDk5LDExNiwxMDUsMTExLDExMCwzMiwKKyAgICAxMTYsMTExLDMyLDEwOSw5NywxMDcsMTAxLDMyLDEwNSwxMTYsMzIsMTAxLDk3LDExNSwxMDUsMTAxLAorICAgIDExNCwzMiwxMTYsMTExLDMyLDExMSwxMTgsMTAxLDExNCwxMTQsMTA1LDEwMCwxMDEsMzIsMTA1LDExMCwKKyAgICAzMiwxMDEsMTIwLDExMiwxMDEsMTE0LDEwNSwxMDksMTAxLDExMCwxMTYsMTE1LDEwLDMyLDMyLDMyLAorICAgIDMyLDQwLDEwMSw0NiwxMDMsNDYsMzIsOTksOTcsOTksMTA0LDEwMSwzMiwxMTUsMTE2LDk3LAorICAgIDExNiwzMiwxMTQsMTAxLDExNSwxMTcsMTA4LDExNiwxMTUsNDEsNDYsMTAsMTAsMzIsMzIsMzIsCisgICAgMzIsNDEsMiwxMTQsMywwLDAsMCw5MCw0LDExNSwxMTYsOTcsMTE2LDQxLDEsCisgICAgMTE0LDM1LDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCwKKyAgICA1LDAsMCwwLDIxOCwxMCw5NSwxMTIsOTcsMTE2LDEwNCw5NSwxMTUsMTE2LDk3LDExNiwKKyAgICA2OCwwLDAsMCwxMTUsMiwwLDAsMCwwLDcsMTE0LDM5LDAsMCwwLAorICAgIDk5LDIsMCwwLDAsMCwwLDAsMCwzLDAsMCwwLDExLDAsMCwKKyAgICAwLDY3LDAsMCwwLDExNSw1OCwwLDAsMCwxMjEsMTYsMCwxMTYsMCwwLAorICAgIDEyNCwwLDAsMTMxLDEsMCwxMjUsMiwwLDg3LDExMCwyMiwwLDQsMTE2LDEsCisgICAgMCwxMDcsMTAsMCwxMTQsNDAsMCwxLDEsMSwxMDAsMSwwLDgzLDg5LDExMCwKKyAgICAxLDAsODgsMTI0LDIsMCwxMDYsMiwwLDEwMCwyLDAsNjQsMTI0LDEsMCwKKyAgICAxMDcsMiwwLDgzLDQxLDMsMTIyLDQ5LDg0LDEwMSwxMTUsMTE2LDMyLDExOSwxMDQsMTAxLAorICAgIDExNiwxMDQsMTAxLDExNCwzMiwxMTYsMTA0LDEwMSwzMiwxMTIsOTcsMTE2LDEwNCwzMiwxMDUsMTE1LAorICAgIDMyLDExNiwxMDQsMTAxLDMyLDExNSwxMTIsMTAxLDk5LDEwNSwxMDIsMTA1LDEwMSwxMDAsMzIsMTA5LAorICAgIDExMSwxMDAsMTAxLDMyLDExNiwxMjEsMTEyLDEwMSw0Niw3MCwxMDUsMCwyNDAsMCwwLDQxLAorICAgIDMsMTE0LDM5LDAsMCwwLDIxOCw3LDc5LDgzLDY5LDExNCwxMTQsMTExLDExNCwyMTgsCisgICAgNywxMTUsMTE2LDk1LDEwOSwxMTEsMTAwLDEwMSw0MSwzLDExNCwzNSwwLDAsMCwyMTgsCisgICAgNCwxMDksMTExLDEwMCwxMDEsOTAsOSwxMTUsMTE2LDk3LDExNiw5NSwxMDUsMTEwLDEwMiwxMTEsCisgICAgMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMjE4LAorICAgIDE4LDk1LDExMiw5NywxMTYsMTA0LDk1LDEwNSwxMTUsOTUsMTA5LDExMSwxMDAsMTAxLDk1LDExNiwKKyAgICAxMjEsMTEyLDEwMSw3OCwwLDAsMCwxMTUsMTAsMCwwLDAsMCwyLDMsMSwKKyAgICAxNiwxLDEzLDEsOSwxLDExNCw0MywwLDAsMCw5OSwxLDAsMCwwLAorICAgIDAsMCwwLDAsMSwwLDAsMCwzLDAsMCwwLDY3LDAsMCwwLAorICAgIDExNSwxMywwLDAsMCwxMTYsMCwwLDEyNCwwLDAsMTAwLDEsMCwxMzEsMiwKKyAgICAwLDgzLDQxLDIsMTIyLDMxLDgyLDEwMSwxMTIsMTA4LDk3LDk5LDEwMSwxMDksMTAxLDExMCwKKyAgICAxMTYsMzIsMTAyLDExMSwxMTQsMzIsMTExLDExNSw0NiwxMTIsOTcsMTE2LDEwNCw0NiwxMDUsMTE1LAorICAgIDEwMiwxMDUsMTA4LDEwMSw0NiwxMDUsMCwxMjgsMCwwLDQxLDEsMTE0LDQzLDAsMCwKKyAgICAwLDQxLDEsMTE0LDM1LDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsCisgICAgMCwwLDExNCw1LDAsMCwwLDIxOCwxMiw5NSwxMTIsOTcsMTE2LDEwNCw5NSwxMDUsCisgICAgMTE1LDEwMiwxMDUsMTA4LDEwMSw4NywwLDAsMCwxMTUsMiwwLDAsMCwwLDIsCisgICAgMTE0LDQ0LDAsMCwwLDk5LDEsMCwwLDAsMCwwLDAsMCwxLDAsCisgICAgMCwwLDMsMCwwLDAsNjcsMCwwLDAsMTE1LDMxLDAsMCwwLDEyNCwKKyAgICAwLDAsMTE1LDE4LDAsMTE2LDAsMCwxMDYsMSwwLDEzMSwwLDAsMTI1LDAsCisgICAgMCwxMTYsMiwwLDEyNCwwLDAsMTAwLDEsMCwxMzEsMiwwLDgzLDQxLDIsCisgICAgMTIyLDMwLDgyLDEwMSwxMTIsMTA4LDk3LDk5LDEwMSwxMDksMTAxLDExMCwxMTYsMzIsMTAyLDExMSwKKyAgICAxMTQsMzIsMTExLDExNSw0NiwxMTIsOTcsMTE2LDEwNCw0NiwxMDUsMTE1LDEwMCwxMDUsMTE0LDQ2LAorICAgIDEwNSwwLDY0LDAsMCw0MSwzLDExNCwzLDAsMCwwLDIxOCw2LDEwMywxMDEsCisgICAgMTE2LDk5LDExOSwxMDAsMTE0LDQzLDAsMCwwLDQxLDEsMTE0LDM1LDAsMCwwLAorICAgIDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDIxOCwKKyAgICAxMSw5NSwxMTIsOTcsMTE2LDEwNCw5NSwxMDUsMTE1LDEwMCwxMDUsMTE0LDkyLDAsMCwwLAorICAgIDExNSw2LDAsMCwwLDAsMiw2LDEsMTIsMSwxMTQsNDYsMCwwLDAsCisgICAgMTA1LDE4MiwxLDAsMCw5OSwzLDAsMCwwLDAsMCwwLDAsNiwwLAorICAgIDAsMCwxNywwLDAsMCw2NywwLDAsMCwxMTUsMTkyLDAsMCwwLDEwMCwKKyAgICAxLDAsMTA2LDAsMCwxMjQsMCwwLDExNiwxLDAsMTI0LDAsMCwxMzEsMSwKKyAgICAwLDEzMSwyLDAsMTI1LDMsMCwxMTYsMiwwLDEwNiwzLDAsMTI0LDMsMCwKKyAgICAxMTYsMiwwLDEwNiw0LDAsMTE2LDIsMCwxMDYsNSwwLDY2LDExNiwyLDAsCisgICAgMTA2LDYsMCw2NiwxMjQsMiwwLDEwMCwyLDAsNjQsMTMxLDMsMCwxMjUsNCwKKyAgICAwLDEyMSw2MCwwLDExNiw3LDAsMTA2LDgsMCwxMjQsNCwwLDEwMCwzLDAsCisgICAgMTMxLDIsMCwxNDMsMjAsMCwxMjUsNSwwLDEyNCw1LDAsMTA2LDksMCwxMjQsCisgICAgMSwwLDEzMSwxLDAsMSw4NywxMDAsNCwwLDgxLDg4LDExNiwyLDAsMTA2LAorICAgIDEwLDAsMTI0LDMsMCwxMjQsMCwwLDEzMSwyLDAsMSw4NywxMTAsNTksMCwKKyAgICA0LDExNiwxMSwwLDEwNywxMCwwLDExNCwxODcsMCwxLDEsMSwxMjEsMTcsMCwKKyAgICAxMTYsMiwwLDEwNiwxMiwwLDEyNCwzLDAsMTMxLDEsMCwxLDg3LDExMCwxOCwKKyAgICAwLDQsMTE2LDExLDAsMTA3LDEwLDAsMTE0LDE3OSwwLDEsMSwxLDg5LDExMCwKKyAgICAxLDAsODgsMTMwLDAsMCw4OSwxMTAsMSwwLDg4LDEwMCw0LDAsODMsNDEsCisgICAgNSwxMjIsMTYyLDY2LDEwMSwxMTUsMTE2LDQ1LDEwMSwxMDIsMTAyLDExMSwxMTQsMTE2LDMyLDEwMiwKKyAgICAxMTcsMTEwLDk5LDExNiwxMDUsMTExLDExMCwzMiwxMTYsMTExLDMyLDExOSwxMTQsMTA1LDExNiwxMDEsCisgICAgMzIsMTAwLDk3LDExNiw5NywzMiwxMTYsMTExLDMyLDk3LDMyLDExMiw5NywxMTYsMTA0LDMyLAorICAgIDk3LDExNiwxMTEsMTA5LDEwNSw5OSw5NywxMDgsMTA4LDEyMSw0NiwxMCwzMiwzMiwzMiwzMiwKKyAgICA2NiwxMDEsMzIsMTEyLDExNCwxMDEsMTEyLDk3LDExNCwxMDEsMTAwLDMyLDExNiwxMTEsMzIsMTA0LAorICAgIDk3LDExMCwxMDAsMTA4LDEwMSwzMiw5NywzMiw3MCwxMDUsMTA4LDEwMSw2OSwxMjAsMTA1LDExNSwKKyAgICAxMTYsMTE1LDY5LDExNCwxMTQsMTExLDExNCwzMiwxMDUsMTAyLDMyLDk5LDExMSwxMTAsOTksMTE3LAorICAgIDExNCwxMTQsMTAxLDExMCwxMTYsMzIsMTE5LDExNCwxMDUsMTE2LDEwNSwxMTAsMTAzLDMyLDExMSwxMDIsCisgICAgMzIsMTE2LDEwNCwxMDEsMTAsMzIsMzIsMzIsMzIsMTE2LDEwMSwxMDksMTEyLDExMSwxMTQsOTcsCisgICAgMTE0LDEyMSwzMiwxMDIsMTA1LDEwOCwxMDEsMzIsMTA1LDExNSwzMiw5NywxMTYsMTE2LDEwMSwxMDksCisgICAgMTEyLDExNiwxMDEsMTAwLDQ2LDEyMiw1LDEyMywxMjUsNDYsMTIzLDEyNSwxMDUsMTgyLDEsMCwKKyAgICAwLDkwLDIsMTE5LDk4LDc4LDQxLDEzLDIxOCw2LDEwMiwxMTEsMTE0LDEwOSw5NywxMTYsCisgICAgMjE4LDIsMTA1LDEwMCwxMTQsMywwLDAsMCw5MCw0LDExMSwxMTIsMTAxLDExMCw5MCwKKyAgICA2LDc5LDk1LDY5LDg4LDY3LDc2LDkwLDcsNzksOTUsNjcsODIsNjksNjUsODQsCisgICAgOTAsOCw3OSw5NSw4Nyw4Miw3OSw3OCw3Niw4OSwyMTgsMyw5NSwxMDUsMTExLDIxOCwKKyAgICA2LDcwLDEwNSwxMDgsMTAxLDczLDc5LDIxOCw1LDExOSwxMTQsMTA1LDExNiwxMDEsMjE4LDcsCisgICAgMTE0LDEwMSwxMTIsMTA4LDk3LDk5LDEwMSwxMTQsNDAsMCwwLDAsOTAsNiwxMTcsMTEwLAorICAgIDEwOCwxMDUsMTEwLDEwNyw0MSw2LDExNCwzNSwwLDAsMCwyMTgsNCwxMDAsOTcsMTE2LAorICAgIDk3LDExNCw0MiwwLDAsMCw5MCw4LDExMiw5NywxMTYsMTA0LDk1LDExNiwxMDksMTEyLAorICAgIDkwLDIsMTAyLDEwMCwyMTgsNCwxMDIsMTA1LDEwOCwxMDEsMTE0LDQsMCwwLDAsMTE0LAorICAgIDQsMCwwLDAsMTE0LDUsMCwwLDAsMjE4LDEzLDk1LDExOSwxMTQsMTA1LDExNiwKKyAgICAxMDEsOTUsOTcsMTE2LDExMSwxMDksMTA1LDk5LDk5LDAsMCwwLDExNSwyNiwwLDAsCisgICAgMCwwLDUsMjQsMSw5LDEsMzMsMSwzLDMsMjEsMSwxOSwxLDIwLAorICAgIDEsMTMsMSwzLDEsMTcsMSwxMywxLDUsMSwxMTQsNTUsMCwwLDAsCisgICAgOTksMiwwLDAsMCwwLDAsMCwwLDMsMCwwLDAsNywwLDAsCisgICAgMCw2NywwLDAsMCwxMTUsOTIsMCwwLDAsMTIwLDY2LDAsMTAwLDEsMCwKKyAgICAxMDAsMiwwLDEwMCwzLDAsMTAwLDQsMCwxMDMsNCwwLDY4LDkzLDQ2LDAsCisgICAgMTI1LDIsMCwxMTYsMCwwLDEyNCwxLDAsMTI0LDIsMCwxMzEsMiwwLDExNCwKKyAgICAxOSwwLDExNiwxLDAsMTI0LDAsMCwxMjQsMiwwLDExNiwyLDAsMTI0LDEsCisgICAgMCwxMjQsMiwwLDEzMSwyLDAsMTMxLDMsMCwxLDExMywxOSwwLDg3LDEyNCwKKyAgICAwLDAsMTA2LDMsMCwxMDYsNCwwLDEyNCwxLDAsMTA2LDMsMCwxMzEsMSwKKyAgICAwLDEsMTAwLDUsMCw4Myw0MSw2LDEyMiw0Nyw4MywxMDUsMTA5LDExMiwxMDgsMTAxLAorICAgIDMyLDExNSwxMTcsOTgsMTE1LDExNiwxMDUsMTE2LDExNywxMTYsMTAxLDMyLDEwMiwxMTEsMTE0LDMyLAorICAgIDEwMiwxMTcsMTEwLDk5LDExNiwxMTEsMTExLDEwOCwxMTUsNDYsMTE3LDExMiwxMDAsOTcsMTE2LDEwMSwKKyAgICA5NSwxMTksMTE0LDk3LDExMiwxMTIsMTAxLDExNCw0NiwyMTgsMTAsOTUsOTUsMTA5LDExMSwxMDAsCisgICAgMTE3LDEwOCwxMDEsOTUsOTUsMjE4LDgsOTUsOTUsMTEwLDk3LDEwOSwxMDEsOTUsOTUsMjE4LAorICAgIDEyLDk1LDk1LDExMywxMTcsOTcsMTA4LDExMCw5NywxMDksMTAxLDk1LDk1LDIxOCw3LDk1LAorICAgIDk1LDEwMCwxMTEsOTksOTUsOTUsNzgsNDEsNSwyMTgsNywxMDQsOTcsMTE1LDk3LDExNiwKKyAgICAxMTYsMTE0LDIxOCw3LDExNSwxMDEsMTE2LDk3LDExNiwxMTYsMTE0LDIxOCw3LDEwMywxMDEsMTE2LAorICAgIDk3LDExNiwxMTYsMTE0LDIxOCw4LDk1LDk1LDEwMCwxMDUsOTksMTE2LDk1LDk1LDIxOCw2LAorICAgIDExNywxMTIsMTAwLDk3LDExNiwxMDEsNDEsMyw5MCwzLDExMCwxMDEsMTE5LDkwLDMsMTExLAorICAgIDEwOCwxMDAsMTE0LDUyLDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwKKyAgICAwLDExNCw1LDAsMCwwLDIxOCw1LDk1LDExOSwxMTQsOTcsMTEyLDEyMSwwLDAsCisgICAgMCwxMTUsOCwwLDAsMCwwLDIsMjUsMSwxNSwxLDI5LDEsMTE0LDY1LAorICAgIDAsMCwwLDk5LDEsMCwwLDAsMCwwLDAsMCwxLDAsMCwwLAorICAgIDIsMCwwLDAsNjcsMCwwLDAsMTE1LDE2LDAsMCwwLDExNiwwLDAsCisgICAgMTE2LDEsMCwxMzEsMSwwLDEyNCwwLDAsMTMxLDEsMCw4Myw0MSwxLDc4LAorICAgIDQxLDIsMjE4LDQsMTE2LDEyMSwxMTIsMTAxLDExNCw3LDAsMCwwLDQxLDEsMjE4LAorICAgIDQsMTEwLDk3LDEwOSwxMDEsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LAorICAgIDUsMCwwLDAsMjE4LDExLDk1LDExMCwxMDEsMTE5LDk1LDEwOSwxMTEsMTAwLDExNywxMDgsCisgICAgMTAxLDEyOSwwLDAsMCwxMTUsMiwwLDAsMCwwLDEsMTE0LDY4LDAsMCwKKyAgICAwLDk5LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDIsMCwKKyAgICAwLDAsNjQsMCwwLDAsMTE1LDU4LDAsMCwwLDEwMSwwLDAsOTAsMSwKKyAgICAwLDEwMCwwLDAsOTAsMiwwLDEwMCwxLDAsOTAsMywwLDEwMCwyLDAsCisgICAgMTAwLDMsMCwxMzIsMCwwLDkwLDQsMCwxMDAsNCwwLDEwMCw1LDAsMTMyLAorICAgIDAsMCw5MCw1LDAsMTAwLDYsMCwxMDAsNywwLDEzMiwwLDAsOTAsNiwKKyAgICAwLDEwMCw4LDAsODMsNDEsOSwyMTgsMTMsOTUsNzcsOTcsMTEwLDk3LDEwMywxMDEsCisgICAgODIsMTAxLDEwOCwxMTEsOTcsMTAwLDEyMiw2Myw3Nyw5NywxMTAsOTcsMTAzLDEwMSwxMTUsMzIsCisgICAgMTE2LDEwNCwxMDEsMzIsMTEyLDExMSwxMTUsMTE1LDEwNSw5OCwxMDgsMTAxLDMyLDk5LDEwOCwxMDEsCisgICAgOTcsMTEwLDQ1LDExNywxMTIsMzIsMTExLDEwMiwzMiwxMTUsMTIxLDExNSw0NiwxMDksMTExLDEwMCwKKyAgICAxMTcsMTA4LDEwMSwxMTUsMzIsMTAyLDExMSwxMTQsMzIsMTA4LDExMSw5NywxMDAsOTUsMTA5LDExMSwKKyAgICAxMDAsMTE3LDEwOCwxMDEsNDAsNDEsNDYsOTksMiwwLDAsMCwwLDAsMCwwLAorICAgIDIsMCwwLDAsMiwwLDAsMCw2NywwLDAsMCwxMTUsMTMsMCwwLAorICAgIDAsMTI0LDEsMCwxMjQsMCwwLDk1LDAsMCwxMDAsMCwwLDgzLDQxLDEsCisgICAgNzgsNDEsMSwyMTgsNSw5NSwxMTAsOTcsMTA5LDEwMSw0MSwyLDIxOCw0LDExNSwxMDEsCisgICAgMTA4LDEwMiwxMTQsNjcsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLAorICAgIDAsMTE0LDUsMCwwLDAsMjE4LDgsOTUsOTUsMTA1LDExMCwxMDUsMTE2LDk1LDk1LAorICAgIDE0MSwwLDAsMCwxMTUsMiwwLDAsMCwwLDEsMTIyLDIyLDk1LDc3LDk3LAorICAgIDExMCw5NywxMDMsMTAxLDgyLDEwMSwxMDgsMTExLDk3LDEwMCw0Niw5NSw5NSwxMDUsMTEwLDEwNSwKKyAgICAxMTYsOTUsOTUsOTksMSwwLDAsMCwwLDAsMCwwLDEsMCwwLDAsCisgICAgMiwwLDAsMCw2NywwLDAsMCwxMTUsMjUsMCwwLDAsMTI0LDAsMCwKKyAgICAxMDYsMCwwLDExNiwxLDAsMTA2LDIsMCwxMDcsNiwwLDEyNCwwLDAsOTUsCisgICAgMywwLDEwMCwwLDAsODMsNDEsMSw3OCw0MSw0LDExNCw3MCwwLDAsMCwKKyAgICAxMTQsNywwLDAsMCwyMTgsNywxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwxMTUsMjE4LDEwLAorICAgIDk1LDEwNSwxMTUsOTUsMTE0LDEwMSwxMDgsMTExLDk3LDEwMCw0MSwxLDExNCw3MSwwLDAsCiAgICAgMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwKLSAgICAxMTQsOTcsMCwwLDAsMTkyLDAsMCwwLDExNSwzMiwwLDAsMCwwLDYsCi0gICAgMTIsMSwxMCwxLDMsMSwzLDEsMTAsMSwzMCwxLDksMSwxNSwxLAotICAgIDQsMSwxMiwxLDE5LDEsMTgsMSwyNCwyLDEzLDEsMjEsMiwxMjIsMTksCi0gICAgOTUsNzcsMTExLDEwMCwxMTcsMTA4LDEwMSw3NiwxMTEsOTksMTA3LDQ2LDk3LDk5LDExMywxMTcsCi0gICAgMTA1LDExNCwxMDEsOTksMSwwLDAsMCwwLDAsMCwwLDIsMCwwLDAsCi0gICAgMTAsMCwwLDAsNjcsMCwwLDAsMTE1LDE2NSwwLDAsMCwxMTYsMCwwLAotICAgIDEwNiwxLDAsMTMxLDAsMCwxMjUsMSwwLDEyNCwwLDAsMTA2LDIsMCwxNDMsCi0gICAgMTM4LDAsMSwxMjQsMCwwLDEwNiwzLDAsMTI0LDEsMCwxMDcsMywwLDExNCwKLSAgICA1MiwwLDExNiw0LDAsMTAwLDEsMCwxMzEsMSwwLDEzMCwxLDAsMTEwLDAsCi0gICAgMCwxMjQsMCwwLDEwNiw1LDAsMTAwLDIsMCwxMDcsNCwwLDExNSw3MywwLAotICAgIDExNiw2LDAsMTMwLDEsMCwxMjQsMCwwLDQsMTA2LDUsMCwxMDAsMywwLAotICAgIDU2LDIsOTUsNSwwLDEyNCwwLDAsMTA2LDUsMCwxMDAsMiwwLDEwNywyLAotICAgIDAsMTE0LDE1NSwwLDEwMCwwLDAsMTI0LDAsMCw5NSwzLDAsMTI0LDAsMCwKLSAgICAxMDYsNywwLDExNCwxNTUsMCwxMjQsMCwwLDQsMTA2LDcsMCwxMDAsMywwLAotICAgIDU2LDIsOTUsNywwLDEyNCwwLDAsMTA2LDgsMCwxMDYsOSwwLDEzMSwwLAotICAgIDAsMSwxMTMsMTU1LDAsMTEwLDAsMCw4NywxMDAsMCwwLDgxLDg4LDEwMCwwLAotICAgIDAsODMsNDEsNCw3OCwxMjIsMzEsOTksOTcsMTEwLDExMCwxMTEsMTE2LDMyLDExNCwxMDEsCi0gICAgMTA4LDEwMSw5NywxMTUsMTAxLDMyLDExNywxMTAsNDUsOTcsOTksMTEzLDExNywxMDUsMTE0LDEwMSwKLSAgICAxMDAsMzIsMTA4LDExMSw5OSwxMDcsMTE0LDg0LDAsMCwwLDExNCwyOSwwLDAsMCwKLSAgICA0MSwxMCwxMTQsODUsMCwwLDAsMTE0LDkxLDAsMCwwLDExNCw4NiwwLDAsCi0gICAgMCwxMTQsODgsMCwwLDAsMjE4LDEyLDgyLDExNywxMTAsMTE2LDEwNSwxMDksMTAxLDY5LAotICAgIDExNCwxMTQsMTExLDExNCwxMTQsODksMCwwLDAsMjE4LDE0LDY1LDExNSwxMTUsMTAxLDExNCwKLSAgICAxMTYsMTA1LDExMSwxMTAsNjksMTE0LDExNCwxMTEsMTE0LDExNCw5MCwwLDAsMCwxMTQsODcsCi0gICAgMCwwLDAsMTE0LDk4LDAsMCwwLDQxLDIsMTE0LDcxLDAsMCwwLDExNCwKLSAgICA5NSwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwKLSAgICAwLDAsMCwxMTQsOTgsMCwwLDAsMjE3LDAsMCwwLDExNSwyMiwwLDAsCi0gICAgMCwwLDEsMTIsMSwxMCwxLDE1LDEsMTUsMSwyMSwxLDE1LDEsMTUsCi0gICAgMSw5LDEsOSwxLDE1LDEsMTIyLDE5LDk1LDc3LDExMSwxMDAsMTE3LDEwOCwxMDEsCisgICAgMjE4LDksOTUsOTUsMTAxLDExMCwxMTYsMTAxLDExNCw5NSw5NSwxNDQsMCwwLDAsMTE1LAorICAgIDIsMCwwLDAsMCwxLDEyMiwyMyw5NSw3Nyw5NywxMTAsOTcsMTAzLDEwMSw4MiwKKyAgICAxMDEsMTA4LDExMSw5NywxMDAsNDYsOTUsOTUsMTAxLDExMCwxMTYsMTAxLDExNCw5NSw5NSw5OSwKKyAgICAxLDAsMCwwLDAsMCwwLDAsMiwwLDAsMCwxMSwwLDAsMCwKKyAgICA3MSwwLDAsMCwxMTUsNzcsMCwwLDAsMTE2LDAsMCwxMDAsMSwwLDEwMCwKKyAgICAyLDAsMTMyLDAsMCwxMjQsMSwwLDY4LDEzMSwxLDAsMTMxLDEsMCwxMTQsCisgICAgNzMsMCwxMjQsMCwwLDEwNiwxLDAsMTIsMTE0LDczLDAsMTIxLDE3LDAsMTE2LAorICAgIDIsMCwxMDYsMywwLDEyNCwwLDAsMTA2LDQsMCw2MSw4NywxMTAsMTgsMCwKKyAgICA0LDExNiw1LDAsMTA3LDEwLDAsMTE0LDcyLDAsMSwxLDEsODksMTEwLDEsCisgICAgMCw4OCwxMDAsMCwwLDgzLDQxLDMsNzgsOTksMSwwLDAsMCwwLDAsCisgICAgMCwwLDIsMCwwLDAsMywwLDAsMCwxMTUsMCwwLDAsMTE1LDI3LAorICAgIDAsMCwwLDEyNCwwLDAsOTMsMTcsMCwxMjUsMSwwLDEyNCwxLDAsMTAwLAorICAgIDAsMCwxMDcsOSwwLDg2LDEsMTEzLDMsMCwxMDAsMCwwLDgzLDQxLDEsCisgICAgNzgsMTE0LDQsMCwwLDAsNDEsMiwxMTQsMjIsMCwwLDAsMjE4LDMsOTcsCisgICAgMTE0LDEwMywxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsCisgICAgMCwyNTAsOSw2MCwxMDMsMTAxLDExMCwxMDEsMTIwLDExMiwxMTQsNjIsMTQ4LDAsMCwwLAorICAgIDExNSwyLDAsMCwwLDYsMCwxMjIsNDEsOTUsNzcsOTcsMTEwLDk3LDEwMywxMDEsCisgICAgODIsMTAxLDEwOCwxMTEsOTcsMTAwLDQ2LDk1LDk1LDEwMSwxMjAsMTA1LDExNiw5NSw5NSw0NiwKKyAgICA2MCwxMDgsMTExLDk5LDk3LDEwOCwxMTUsNjIsNDYsNjAsMTAzLDEwMSwxMTAsMTAxLDEyMCwxMTIsCisgICAgMTE0LDYyLDQxLDYsMjE4LDMsOTcsMTEwLDEyMSwxMTQsNzQsMCwwLDAsMTE0LDcsCisgICAgMCwwLDAsMTE0LDczLDAsMCwwLDExNCw3MCwwLDAsMCwyMTgsOCw3NSwKKyAgICAxMDEsMTIxLDY5LDExNCwxMTQsMTExLDExNCw0MSwyLDExNCw3MSwwLDAsMCwyMTgsNCwKKyAgICA5NywxMTQsMTAzLDExNSwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwKKyAgICAwLDAsMCwyMTgsOCw5NSw5NSwxMDEsMTIwLDEwNSwxMTYsOTUsOTUsMTQ3LDAsMCwKKyAgICAwLDExNSwxMCwwLDAsMCwwLDEsMzUsMSwzLDEsMTcsMSwxMywxLAorICAgIDEyMiwyMiw5NSw3Nyw5NywxMTAsOTcsMTAzLDEwMSw4MiwxMDEsMTA4LDExMSw5NywxMDAsNDYsCisgICAgOTUsOTUsMTAxLDEyMCwxMDUsMTE2LDk1LDk1LDc4LDQxLDcsMTE0LDU3LDAsMCwwLAorICAgIDExNCw1NiwwLDAsMCwxMTQsNTgsMCwwLDAsMTE0LDU5LDAsMCwwLDExNCwKKyAgICA3MiwwLDAsMCwxMTQsNzUsMCwwLDAsMTE0LDgxLDAsMCwwLDExNCw0LAorICAgIDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsCisgICAgMCwwLDExNCw2OSwwLDAsMCwxMzcsMCwwLDAsMTE1LDgsMCwwLDAsCisgICAgMTIsMiw2LDIsMTIsMywxMiwzLDExNCw2OSwwLDAsMCw5OSwwLDAsCisgICAgMCwwLDAsMCwwLDAsMCwwLDAsMCwxLDAsMCwwLDY0LDAsCisgICAgMCwwLDExNSwxNiwwLDAsMCwxMDEsMCwwLDkwLDEsMCwxMDAsMCwwLAorICAgIDkwLDIsMCwxMDAsMSwwLDgzLDQxLDIsMjE4LDE0LDk1LDY4LDEwMSw5NywxMDAsCisgICAgMTA4LDExMSw5OSwxMDcsNjksMTE0LDExNCwxMTEsMTE0LDc4LDQxLDMsMTE0LDU3LDAsMCwKKyAgICAwLDExNCw1NiwwLDAsMCwxMTQsNTgsMCwwLDAsMTE0LDQsMCwwLDAsCisgICAgMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMTE0LAorICAgIDgyLDAsMCwwLDE2MiwwLDAsMCwxMTUsMiwwLDAsMCwxMiwxLDExNCwKKyAgICA4MiwwLDAsMCw5OSwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsCisgICAgMCwyLDAsMCwwLDY0LDAsMCwwLDExNSw4MiwwLDAsMCwxMDEsMCwKKyAgICAwLDkwLDEsMCwxMDAsMCwwLDkwLDIsMCwxMDAsMSwwLDkwLDMsMCwKKyAgICAxMDAsMiwwLDEwMCwzLDAsMTMyLDAsMCw5MCw0LDAsMTAwLDQsMCwxMDAsCisgICAgNSwwLDEzMiwwLDAsOTAsNSwwLDEwMCw2LDAsMTAwLDcsMCwxMzIsMCwKKyAgICAwLDkwLDYsMCwxMDAsOCwwLDEwMCw5LDAsMTMyLDAsMCw5MCw3LDAsCisgICAgMTAwLDEwLDAsMTAwLDExLDAsMTMyLDAsMCw5MCw4LDAsMTAwLDEyLDAsODMsCisgICAgNDEsMTMsMjE4LDExLDk1LDc3LDExMSwxMDAsMTE3LDEwOCwxMDEsNzYsMTExLDk5LDEwNywxMjIsCisgICAgMTY5LDY1LDMyLDExNCwxMDEsOTksMTE3LDExNCwxMTUsMTA1LDExOCwxMDEsMzIsMTA4LDExMSw5OSwKKyAgICAxMDcsMzIsMTA1LDEwOSwxMTIsMTA4LDEwMSwxMDksMTAxLDExMCwxMTYsOTcsMTE2LDEwNSwxMTEsMTEwLAorICAgIDMyLDExOSwxMDQsMTA1LDk5LDEwNCwzMiwxMDUsMTE1LDMyLDk3LDk4LDEwOCwxMDEsMzIsMTE2LAorICAgIDExMSwzMiwxMDAsMTAxLDExNiwxMDEsOTksMTE2LDMyLDEwMCwxMDEsOTcsMTAwLDEwOCwxMTEsOTksCisgICAgMTA3LDExNSwxMCwzMiwzMiwzMiwzMiw0MCwxMDEsNDYsMTAzLDQ2LDMyLDExNiwxMDQsMTE0LAorICAgIDEwMSw5NywxMDAsMzIsNDksMzIsMTE2LDExNCwxMjEsMTA1LDExMCwxMDMsMzIsMTE2LDExMSwzMiwKKyAgICAxMTYsOTcsMTA3LDEwMSwzMiwxMDgsMTExLDk5LDEwNywxMTUsMzIsNjUsMzIsMTE2LDEwNCwxMDEsCisgICAgMTEwLDMyLDY2LDQ0LDMyLDk3LDExMCwxMDAsMzIsMTE2LDEwNCwxMTQsMTAxLDk3LDEwMCwzMiwKKyAgICA1MCwzMiwxMTYsMTE0LDEyMSwxMDUsMTEwLDEwMywzMiwxMTYsMTExLDEwLDMyLDMyLDMyLDMyLAorICAgIDExNiw5NywxMDcsMTAxLDMyLDEwOCwxMTEsOTksMTA3LDExNSwzMiw2NiwzMiwxMTYsMTA0LDEwMSwKKyAgICAxMTAsMzIsNjUsNDEsNDYsMTAsMzIsMzIsMzIsMzIsOTksMiwwLDAsMCwwLAorICAgIDAsMCwwLDIsMCwwLDAsMiwwLDAsMCw2NywwLDAsMCwxMTUsCisgICAgNzAsMCwwLDAsMTE2LDAsMCwxMDYsMSwwLDEzMSwwLDAsMTI0LDAsMCwKKyAgICA5NSwyLDAsMTE2LDAsMCwxMDYsMSwwLDEzMSwwLDAsMTI0LDAsMCw5NSwKKyAgICAzLDAsMTI0LDEsMCwxMjQsMCwwLDk1LDQsMCwxMDAsMCwwLDEyNCwwLAorICAgIDAsOTUsNSwwLDEwMCwxLDAsMTI0LDAsMCw5NSw2LDAsMTAwLDEsMCwKKyAgICAxMjQsMCwwLDk1LDcsMCwxMDAsMCwwLDgzLDQxLDIsNzgsMjMzLDAsMCwKKyAgICAwLDAsNDEsOCwyMTgsNyw5NSwxMTYsMTA0LDExNCwxMDEsOTcsMTAwLDkwLDEzLDk3LAorICAgIDEwOCwxMDgsMTExLDk5LDk3LDExNiwxMDEsOTUsMTA4LDExMSw5OSwxMDcsMjE4LDQsMTA4LDExMSwKKyAgICA5OSwxMDcsMjE4LDYsMTE5LDk3LDEwNywxMDEsMTE3LDExMiwxMTQsNjcsMCwwLDAsMjE4LAorICAgIDUsMTExLDExOSwxMTAsMTAxLDExNCwyMTgsNSw5OSwxMTEsMTE3LDExMCwxMTYsMjE4LDcsMTE5LAorICAgIDk3LDEwNSwxMTYsMTAxLDExNCwxMTUsNDEsMiwxMTQsNzEsMCwwLDAsMTE0LDY3LDAsCisgICAgMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwKKyAgICAwLDExNCw3MiwwLDAsMCwxNzIsMCwwLDAsMTE1LDEyLDAsMCwwLDAsCisgICAgMSwxNSwxLDE1LDEsOSwxLDksMSw5LDEsMTIyLDIwLDk1LDc3LDExMSwKKyAgICAxMDAsMTE3LDEwOCwxMDEsNzYsMTExLDk5LDEwNyw0Niw5NSw5NSwxMDUsMTEwLDEwNSwxMTYsOTUsCisgICAgOTUsOTksMSwwLDAsMCwwLDAsMCwwLDQsMCwwLDAsMiwwLAorICAgIDAsMCw2NywwLDAsMCwxMTUsODgsMCwwLDAsMTE2LDAsMCwxMDYsMSwKKyAgICAwLDEzMSwwLDAsMTI1LDEsMCwxMjQsMCwwLDEwNiwyLDAsMTI1LDIsMCwKKyAgICAxMjAsNjAsMCwxMTYsMywwLDEwNiw0LDAsMTI0LDIsMCwxMzEsMSwwLDEyNSwKKyAgICAzLDAsMTI0LDMsMCwxMDAsMCwwLDEwNyw4LDAsMTE0LDU1LDAsMTAwLDEsCisgICAgMCw4MywxMjQsMywwLDEwNiwyLDAsMTI1LDIsMCwxMjQsMiwwLDEyNCwxLAorICAgIDAsMTA3LDIsMCwxMTQsMjQsMCwxMDAsMiwwLDgzLDExMywyNCwwLDg3LDEwMCwKKyAgICAwLDAsODMsNDEsMyw3OCw3MCw4NCw0MSw1LDExNCw4NSwwLDAsMCwyMTgsCisgICAgOSwxMDMsMTAxLDExNiw5NSwxMDUsMTAwLDEwMSwxMTAsMTE2LDExNCw4OCwwLDAsMCwyMTgsCisgICAgMTIsOTUsOTgsMTA4LDExMSw5OSwxMDcsMTA1LDExMCwxMDMsOTUsMTExLDExMCwyMTgsMywxMDMsCisgICAgMTAxLDExNiw0MSw0LDExNCw3MSwwLDAsMCwyMTgsMiwxMDksMTAxLDIxOCwzLDExNiwKKyAgICAxMDUsMTAwLDExNCw4NiwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsCisgICAgMCwxMTQsNSwwLDAsMCwyMTgsMTIsMTA0LDk3LDExNSw5NSwxMDAsMTAxLDk3LDEwMCwKKyAgICAxMDgsMTExLDk5LDEwNywxODAsMCwwLDAsMTE1LDE4LDAsMCwwLDAsMiwxMiwKKyAgICAxLDksMSwzLDEsMTUsMSwxMiwxLDQsMSw5LDEsMTIsMSwxMjIsCisgICAgMjQsOTUsNzcsMTExLDEwMCwxMTcsMTA4LDEwMSw3NiwxMTEsOTksMTA3LDQ2LDEwNCw5NywxMTUsCisgICAgOTUsMTAwLDEwMSw5NywxMDAsMTA4LDExMSw5OSwxMDcsOTksMSwwLDAsMCwwLDAsCisgICAgMCwwLDIsMCwwLDAsMTYsMCwwLDAsNjcsMCwwLDAsMTE1LDIwOSwKKyAgICAwLDAsMCwxMTYsMCwwLDEwNiwxLDAsMTMxLDAsMCwxMjUsMSwwLDEyNCwKKyAgICAwLDAsMTE2LDIsMCwxMjQsMSwwLDYwLDEyMiwxNzIsMCwxMjAsMTY1LDAsMTI0LAorICAgIDAsMCwxMDYsMywwLDE0MywxMjQsMCwxLDEyNCwwLDAsMTA2LDQsMCwxMDAsCisgICAgMSwwLDEwNywyLDAsMTE1LDY4LDAsMTI0LDAsMCwxMDYsNSwwLDEyNCwxLAorICAgIDAsMTA3LDIsMCwxMTQsOTYsMCwxMjQsMSwwLDEyNCwwLDAsOTUsNSwwLAorICAgIDEyNCwwLDAsNCwxMDYsNCwwLDEwMCwyLDAsNTUsMiw5NSw0LDAsMTAwLAorICAgIDMsMCw4MywxMjQsMCwwLDEwNiw2LDAsMTMxLDAsMCwxMTQsMTI0LDAsMTE2LAorICAgIDcsMCwxMDAsNCwwLDEyNCwwLDAsMjIsMTMxLDEsMCwxMzAsMSwwLDEyNCwKKyAgICAwLDAsMTA2LDgsMCwxMDYsOSwwLDEwMCw1LDAsMTMxLDEsMCwxMTQsMTU3LAorICAgIDAsMTI0LDAsMCw0LDEwNiwxMCwwLDEwMCwyLDAsNTUsMiw5NSwxMCwwLAorICAgIDg3LDEwMCw2LDAsODEsODgsMTI0LDAsMCwxMDYsOCwwLDEwNiw5LDAsMTMxLAorICAgIDAsMCwxLDEyNCwwLDAsMTA2LDgsMCwxMDYsMTEsMCwxMzEsMCwwLDEsCisgICAgMTEzLDI4LDAsODcsODcsMTAwLDYsMCwxMTYsMiwwLDEyNCwxLDAsNjEsODgsCisgICAgMTAwLDYsMCw4Myw0MSw3LDEyMiwxODUsMTAsMzIsMzIsMzIsMzIsMzIsMzIsMzIsCisgICAgMzIsNjUsOTksMTEzLDExNywxMDUsMTE0LDEwMSwzMiwxMTYsMTA0LDEwMSwzMiwxMDksMTExLDEwMCwKKyAgICAxMTcsMTA4LDEwMSwzMiwxMDgsMTExLDk5LDEwNyw0NiwzMiwzMiw3MywxMDIsMzIsOTcsMzIsCisgICAgMTEyLDExMSwxMTYsMTAxLDExMCwxMTYsMTA1LDk3LDEwOCwzMiwxMDAsMTAxLDk3LDEwMCwxMDgsMTExLAorICAgIDk5LDEwNywzMiwxMDUsMTE1LDMyLDEwMCwxMDEsMTE2LDEwMSw5OSwxMTYsMTAxLDEwMCw0NCwxMCwKKyAgICAzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMiw5NywzMiw5NSw2OCwxMDEsOTcsMTAwLDEwOCwKKyAgICAxMTEsOTksMTA3LDY5LDExNCwxMTQsMTExLDExNCwzMiwxMDUsMTE1LDMyLDExNCw5NywxMDUsMTE1LAorICAgIDEwMSwxMDAsNDYsMTAsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMzIsNzksMTE2LDEwNCwxMDEsCisgICAgMTE0LDExOSwxMDUsMTE1LDEwMSw0NCwzMiwxMTYsMTA0LDEwMSwzMiwxMDgsMTExLDk5LDEwNywzMiwKKyAgICAxMDUsMTE1LDMyLDk3LDEwOCwxMTksOTcsMTIxLDExNSwzMiw5Nyw5OSwxMTMsMTE3LDEwNSwxMTQsCisgICAgMTAxLDEwMCwzMiw5NywxMTAsMTAwLDMyLDg0LDExNCwxMTcsMTAxLDMyLDEwNSwxMTUsMzIsMTE0LAorICAgIDEwMSwxMTYsMTE3LDExNCwxMTAsMTAxLDEwMCw0NiwxMCwzMiwzMiwzMiwzMiwzMiwzMiwzMiwKKyAgICAzMiwxMTQsODQsMCwwLDAsMTE0LDI5LDAsMCwwLDg0LDEyMiwyMywxMDAsMTAxLAorICAgIDk3LDEwMCwxMDgsMTExLDk5LDEwNywzMiwxMDAsMTAxLDExNiwxMDEsOTksMTE2LDEwMSwxMDAsMzIsCisgICAgOTgsMTIxLDMyLDM3LDExNCw3MCw3OCw0MSwxMiwxMTQsODUsMCwwLDAsMTE0LDkxLAorICAgIDAsMCwwLDExNCw5MiwwLDAsMCwxMTQsODYsMCwwLDAsMTE0LDg5LDAsCisgICAgMCwwLDExNCw4OCwwLDAsMCwxMTQsOTYsMCwwLDAsMTE0LDgyLDAsMCwKKyAgICAwLDExNCw4NywwLDAsMCwyMTgsNyw5Nyw5OSwxMTMsMTE3LDEwNSwxMTQsMTAxLDExNCwKKyAgICA5MCwwLDAsMCwyMTgsNywxMTQsMTAxLDEwOCwxMDEsOTcsMTE1LDEwMSw0MSwyLDExNCwKKyAgICA3MSwwLDAsMCwxMTQsOTUsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsCisgICAgMCwwLDAsMTE0LDUsMCwwLDAsMTE0LDk3LDAsMCwwLDE5MiwwLDAsCisgICAgMCwxMTUsMzIsMCwwLDAsMCw2LDEyLDEsMTAsMSwzLDEsMywxLAorICAgIDEwLDEsMzAsMSw5LDEsMTUsMSw0LDEsMTIsMSwxNiwxLDE4LDEsCisgICAgMjEsMiwxMywxLDIxLDIsMTIyLDE5LDk1LDc3LDExMSwxMDAsMTE3LDEwOCwxMDEsNzYsCisgICAgMTExLDk5LDEwNyw0Niw5Nyw5OSwxMTMsMTE3LDEwNSwxMTQsMTAxLDk5LDEsMCwwLDAsCisgICAgMCwwLDAsMCwyLDAsMCwwLDEwLDAsMCwwLDY3LDAsMCwwLAorICAgIDExNSwxNTYsMCwwLDAsMTE2LDAsMCwxMDYsMSwwLDEzMSwwLDAsMTI1LDEsCisgICAgMCwxMjQsMCwwLDEwNiwyLDAsMTQzLDEyOSwwLDEsMTI0LDAsMCwxMDYsMywKKyAgICAwLDEyNCwxLDAsMTA3LDMsMCwxMTQsNDksMCwxMTYsNCwwLDEwMCwxLDAsCisgICAgMTMxLDEsMCwxMzAsMSwwLDEyNCwwLDAsMTA2LDUsMCwxMDAsMiwwLDEwNywKKyAgICA0LDAsMTE1LDcwLDAsMTE2LDYsMCwxMzAsMSwwLDEyNCwwLDAsNCwxMDYsCisgICAgNSwwLDEwMCwzLDAsNTYsMiw5NSw1LDAsMTI0LDAsMCwxMDYsNSwwLAorICAgIDEwMCwyLDAsMTA3LDIsMCwxMTQsMTQ2LDAsMTAwLDAsMCwxMjQsMCwwLDk1LAorICAgIDMsMCwxMjQsMCwwLDEwNiw3LDAsMTE0LDE0NiwwLDEyNCwwLDAsNCwxMDYsCisgICAgNywwLDEwMCwzLDAsNTYsMiw5NSw3LDAsMTI0LDAsMCwxMDYsOCwwLAorICAgIDEwNiw5LDAsMTMxLDAsMCwxLDg3LDEwMCwwLDAsODEsODgsMTAwLDAsMCwKKyAgICA4Myw0MSw0LDc4LDEyMiwzMSw5OSw5NywxMTAsMTEwLDExMSwxMTYsMzIsMTE0LDEwMSwxMDgsCisgICAgMTAxLDk3LDExNSwxMDEsMzIsMTE3LDExMCw0NSw5Nyw5OSwxMTMsMTE3LDEwNSwxMTQsMTAxLDEwMCwKKyAgICAzMiwxMDgsMTExLDk5LDEwNywxMTQsODQsMCwwLDAsMTE0LDI5LDAsMCwwLDQxLAorICAgIDEwLDExNCw4NSwwLDAsMCwxMTQsOTEsMCwwLDAsMTE0LDg2LDAsMCwwLAorICAgIDExNCw4OCwwLDAsMCwyMTgsMTIsODIsMTE3LDExMCwxMTYsMTA1LDEwOSwxMDEsNjksMTE0LAorICAgIDExNCwxMTEsMTE0LDExNCw4OSwwLDAsMCwyMTgsMTQsNjUsMTE1LDExNSwxMDEsMTE0LDExNiwKKyAgICAxMDUsMTExLDExMCw2OSwxMTQsMTE0LDExMSwxMTQsMTE0LDkwLDAsMCwwLDExNCw4NywwLAorICAgIDAsMCwxMTQsOTgsMCwwLDAsNDEsMiwxMTQsNzEsMCwwLDAsMTE0LDk1LAorICAgIDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsCisgICAgMCwwLDExNCw5OCwwLDAsMCwyMTcsMCwwLDAsMTE1LDIyLDAsMCwwLAorICAgIDAsMSwxMiwxLDEwLDEsMTUsMSwxMiwxLDIxLDEsMTUsMSwxNSwxLAorICAgIDksMSw5LDEsMTUsMSwxMjIsMTksOTUsNzcsMTExLDEwMCwxMTcsMTA4LDEwMSw3NiwKKyAgICAxMTEsOTksMTA3LDQ2LDExNCwxMDEsMTA4LDEwMSw5NywxMTUsMTAxLDk5LDEsMCwwLDAsCisgICAgMCwwLDAsMCwxLDAsMCwwLDQsMCwwLDAsNjcsMCwwLDAsCisgICAgMTE1LDI1LDAsMCwwLDEwMCwxLDAsMTA2LDAsMCwxMjQsMCwwLDEwNiwxLAorICAgIDAsMTE2LDIsMCwxMjQsMCwwLDEzMSwxLDAsMTMxLDIsMCw4Myw0MSwyLAorICAgIDc4LDEyMiwyMyw5NSw3NywxMTEsMTAwLDExNywxMDgsMTAxLDc2LDExMSw5OSwxMDcsNDAsMTIzLAorICAgIDMzLDExNCwxMjUsNDEsMzIsOTcsMTE2LDMyLDEyMywxMjUsNDEsMywxMTQsNDcsMCwwLAorICAgIDAsMTE0LDY3LDAsMCwwLDExNCw0OCwwLDAsMCw0MSwxLDExNCw3MSwwLAorICAgIDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsCisgICAgMCwyMTgsOCw5NSw5NSwxMTQsMTAxLDExMiwxMTQsOTUsOTUsMjMwLDAsMCwwLDExNSwKKyAgICAyLDAsMCwwLDAsMSwxMjIsMjAsOTUsNzcsMTExLDEwMCwxMTcsMTA4LDEwMSw3NiwKKyAgICAxMTEsOTksMTA3LDQ2LDk1LDk1LDExNCwxMDEsMTEyLDExNCw5NSw5NSw3OCw0MSw5LDExNCwKKyAgICA1NywwLDAsMCwxMTQsNTYsMCwwLDAsMTE0LDU4LDAsMCwwLDExNCw1OSwKKyAgICAwLDAsMCwxMTQsNzIsMCwwLDAsMTE0LDk2LDAsMCwwLDExNCw5NywwLAorICAgIDAsMCwxMTQsOTgsMCwwLDAsMTE0LDEwMSwwLDAsMCwxMTQsNCwwLDAsCisgICAgMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwKKyAgICAxMTQsODMsMCwwLDAsMTY2LDAsMCwwLDExNSwxMiwwLDAsMCwxMiw0LAorICAgIDYsMiwxMiw4LDEyLDEyLDEyLDI1LDEyLDEzLDExNCw4MywwLDAsMCw5OSwKKyAgICAwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwyLDAsMCwwLAorICAgIDY0LDAsMCwwLDExNSw3MCwwLDAsMCwxMDEsMCwwLDkwLDEsMCwxMDAsCisgICAgMCwwLDkwLDIsMCwxMDAsMSwwLDkwLDMsMCwxMDAsMiwwLDEwMCwzLAorICAgIDAsMTMyLDAsMCw5MCw0LDAsMTAwLDQsMCwxMDAsNSwwLDEzMiwwLDAsCisgICAgOTAsNSwwLDEwMCw2LDAsMTAwLDcsMCwxMzIsMCwwLDkwLDYsMCwxMDAsCisgICAgOCwwLDEwMCw5LDAsMTMyLDAsMCw5MCw3LDAsMTAwLDEwLDAsODMsNDEsCisgICAgMTEsMjE4LDE2LDk1LDY4LDExNywxMDksMTA5LDEyMSw3NywxMTEsMTAwLDExNywxMDgsMTAxLDc2LAorICAgIDExMSw5OSwxMDcsMTIyLDg2LDY1LDMyLDExNSwxMDUsMTA5LDExMiwxMDgsMTAxLDMyLDk1LDc3LAorICAgIDExMSwxMDAsMTE3LDEwOCwxMDEsNzYsMTExLDk5LDEwNywzMiwxMDEsMTEzLDExNywxMDUsMTE4LDk3LAorICAgIDEwOCwxMDEsMTEwLDExNiwzMiwxMDIsMTExLDExNCwzMiw4MCwxMjEsMTE2LDEwNCwxMTEsMTEwLDMyLAorICAgIDk4LDExNywxMDUsMTA4LDEwMCwxMTUsMzIsMTE5LDEwNSwxMTYsMTA0LDExMSwxMTcsMTE2LDEwLDMyLAorICAgIDMyLDMyLDMyLDEwOSwxMTcsMTA4LDExNiwxMDUsNDUsMTE2LDEwNCwxMTQsMTAxLDk3LDEwMCwxMDUsCisgICAgMTEwLDEwMywzMiwxMTUsMTE3LDExMiwxMTIsMTExLDExNCwxMTYsNDYsOTksMiwwLDAsMCwKKyAgICAwLDAsMCwwLDIsMCwwLDAsMiwwLDAsMCw2NywwLDAsMCwKKyAgICAxMTUsMjIsMCwwLDAsMTI0LDEsMCwxMjQsMCwwLDk1LDAsMCwxMDAsMSwKKyAgICAwLDEyNCwwLDAsOTUsMSwwLDEwMCwwLDAsODMsNDEsMiw3OCwxMTQsODQsCisgICAgMCwwLDAsNDEsMiwxMTQsNjcsMCwwLDAsMTE0LDg5LDAsMCwwLDQxLAorICAgIDIsMTE0LDcxLDAsMCwwLDExNCw2NywwLDAsMCwxMTQsNCwwLDAsMCwKKyAgICAxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsNzIsMCwwLDAsMjM4LAorICAgIDAsMCwwLDExNSw0LDAsMCwwLDAsMSw5LDEsMTIyLDI1LDk1LDY4LAorICAgIDExNywxMDksMTA5LDEyMSw3NywxMTEsMTAwLDExNywxMDgsMTAxLDc2LDExMSw5OSwxMDcsNDYsOTUsCisgICAgOTUsMTA1LDExMCwxMDUsMTE2LDk1LDk1LDk5LDEsMCwwLDAsMCwwLDAsMCwKKyAgICAxLDAsMCwwLDMsMCwwLDAsNjcsMCwwLDAsMTE1LDE5LDAsMCwKKyAgICAwLDEyNCwwLDAsNCwxMDYsMCwwLDEwMCwxLDAsNTUsMiw5NSwwLDAsCisgICAgMTAwLDIsMCw4Myw0MSwzLDc4LDExNCwyOSwwLDAsMCw4NCw0MSwxLDExNCwKKyAgICA4OSwwLDAsMCw0MSwxLDExNCw3MSwwLDAsMCwxMTQsNCwwLDAsMCwKKyAgICAxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsOTcsMCwwLDAsMjQyLAorICAgIDAsMCwwLDExNSw0LDAsMCwwLDAsMSwxNSwxLDEyMiwyNCw5NSw2OCwKKyAgICAxMTcsMTA5LDEwOSwxMjEsNzcsMTExLDEwMCwxMTcsMTA4LDEwMSw3NiwxMTEsOTksMTA3LDQ2LDk3LAorICAgIDk5LDExMywxMTcsMTA1LDExNCwxMDEsOTksMSwwLDAsMCwwLDAsMCwwLDEsCisgICAgMCwwLDAsMywwLDAsMCw2NywwLDAsMCwxMTUsNDYsMCwwLDAsCisgICAgMTI0LDAsMCwxMDYsMCwwLDEwMCwxLDAsMTA3LDIsMCwxMTQsMjcsMCwxMTYsCisgICAgMSwwLDEwMCwyLDAsMTMxLDEsMCwxMzAsMSwwLDEyNCwwLDAsNCwxMDYsCisgICAgMCwwLDEwMCwzLDAsNTYsMiw5NSwwLDAsMTAwLDAsMCw4Myw0MSw0LAorICAgIDc4LDExNCw4NCwwLDAsMCwxMjIsMzEsOTksOTcsMTEwLDExMCwxMTEsMTE2LDMyLDExNCwKKyAgICAxMDEsMTA4LDEwMSw5NywxMTUsMTAxLDMyLDExNywxMTAsNDUsOTcsOTksMTEzLDExNywxMDUsMTE0LAorICAgIDEwMSwxMDAsMzIsMTA4LDExMSw5OSwxMDcsMTE0LDI5LDAsMCwwLDQxLDIsMTE0LDg5LAorICAgIDAsMCwwLDExNCw5OSwwLDAsMCw0MSwxLDExNCw3MSwwLDAsMCwxMTQsCisgICAgNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsOTgsCisgICAgMCwwLDAsMjQ2LDAsMCwwLDExNSw2LDAsMCwwLDAsMSwxNSwxLAorICAgIDEyLDEsMTIyLDI0LDk1LDY4LDExNywxMDksMTA5LDEyMSw3NywxMTEsMTAwLDExNywxMDgsMTAxLAogICAgIDc2LDExMSw5OSwxMDcsNDYsMTE0LDEwMSwxMDgsMTAxLDk3LDExNSwxMDEsOTksMSwwLDAsCiAgICAgMCwwLDAsMCwwLDEsMCwwLDAsNCwwLDAsMCw2NywwLDAsCiAgICAgMCwxMTUsMjUsMCwwLDAsMTAwLDEsMCwxMDYsMCwwLDEyNCwwLDAsMTA2LAogICAgIDEsMCwxMTYsMiwwLDEyNCwwLDAsMTMxLDEsMCwxMzEsMiwwLDgzLDQxLAotICAgIDIsNzgsMTIyLDIzLDk1LDc3LDExMSwxMDAsMTE3LDEwOCwxMDEsNzYsMTExLDk5LDEwNyw0MCwKLSAgICAxMjMsMzMsMTE0LDEyNSw0MSwzMiw5NywxMTYsMzIsMTIzLDEyNSw0MSwzLDExNCw0NywwLAotICAgIDAsMCwxMTQsNjcsMCwwLDAsMTE0LDQ4LDAsMCwwLDQxLDEsMTE0LDcxLAotICAgIDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsCi0gICAgMCwwLDIxOCw4LDk1LDk1LDExNCwxMDEsMTEyLDExNCw5NSw5NSwyMzAsMCwwLDAsCi0gICAgMTE1LDIsMCwwLDAsMCwxLDEyMiwyMCw5NSw3NywxMTEsMTAwLDExNywxMDgsMTAxLAotICAgIDc2LDExMSw5OSwxMDcsNDYsOTUsOTUsMTE0LDEwMSwxMTIsMTE0LDk1LDk1LDc4LDQxLDksCi0gICAgMTE0LDU3LDAsMCwwLDExNCw1NiwwLDAsMCwxMTQsNTgsMCwwLDAsMTE0LAotICAgIDU5LDAsMCwwLDExNCw3MiwwLDAsMCwxMTQsOTYsMCwwLDAsMTE0LDk3LAorICAgIDIsNzgsMTIyLDI4LDk1LDY4LDExNywxMDksMTA5LDEyMSw3NywxMTEsMTAwLDExNywxMDgsMTAxLAorICAgIDc2LDExMSw5OSwxMDcsNDAsMTIzLDMzLDExNCwxMjUsNDEsMzIsOTcsMTE2LDMyLDEyMywxMjUsCisgICAgNDEsMywxMTQsNDcsMCwwLDAsMTE0LDY3LDAsMCwwLDExNCw0OCwwLDAsCisgICAgMCw0MSwxLDExNCw3MSwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLAorICAgIDAsMCwxMTQsNSwwLDAsMCwxMTQsMTAxLDAsMCwwLDI1MSwwLDAsMCwKKyAgICAxMTUsMiwwLDAsMCwwLDEsMTIyLDI1LDk1LDY4LDExNywxMDksMTA5LDEyMSw3NywKKyAgICAxMTEsMTAwLDExNywxMDgsMTAxLDc2LDExMSw5OSwxMDcsNDYsOTUsOTUsMTE0LDEwMSwxMTIsMTE0LAorICAgIDk1LDk1LDc4LDQxLDgsMTE0LDU3LDAsMCwwLDExNCw1NiwwLDAsMCwxMTQsCisgICAgNTgsMCwwLDAsMTE0LDU5LDAsMCwwLDExNCw3MiwwLDAsMCwxMTQsOTcsCiAgICAgMCwwLDAsMTE0LDk4LDAsMCwwLDExNCwxMDEsMCwwLDAsMTE0LDQsMCwKICAgICAwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLAotICAgIDAsMTE0LDgzLDAsMCwwLDE2NiwwLDAsMCwxMTUsMTIsMCwwLDAsMTIsCi0gICAgNCw2LDIsMTIsOCwxMiwxMiwxMiwyNSwxMiwxMywxMTQsODMsMCwwLDAsCi0gICAgOTksMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMiwwLDAsCi0gICAgMCw2NCwwLDAsMCwxMTUsNzAsMCwwLDAsMTAxLDAsMCw5MCwxLDAsCi0gICAgMTAwLDAsMCw5MCwyLDAsMTAwLDEsMCw5MCwzLDAsMTAwLDIsMCwxMDAsCi0gICAgMywwLDEzMiwwLDAsOTAsNCwwLDEwMCw0LDAsMTAwLDUsMCwxMzIsMCwKLSAgICAwLDkwLDUsMCwxMDAsNiwwLDEwMCw3LDAsMTMyLDAsMCw5MCw2LDAsCi0gICAgMTAwLDgsMCwxMDAsOSwwLDEzMiwwLDAsOTAsNywwLDEwMCwxMCwwLDgzLAotICAgIDQxLDExLDIxOCwxNiw5NSw2OCwxMTcsMTA5LDEwOSwxMjEsNzcsMTExLDEwMCwxMTcsMTA4LDEwMSwKLSAgICA3NiwxMTEsOTksMTA3LDEyMiw4Niw2NSwzMiwxMTUsMTA1LDEwOSwxMTIsMTA4LDEwMSwzMiw5NSwKLSAgICA3NywxMTEsMTAwLDExNywxMDgsMTAxLDc2LDExMSw5OSwxMDcsMzIsMTAxLDExMywxMTcsMTA1LDExOCwKLSAgICA5NywxMDgsMTAxLDExMCwxMTYsMzIsMTAyLDExMSwxMTQsMzIsODAsMTIxLDExNiwxMDQsMTExLDExMCwKLSAgICAzMiw5OCwxMTcsMTA1LDEwOCwxMDAsMTE1LDMyLDExOSwxMDUsMTE2LDEwNCwxMTEsMTE3LDExNiwxMCwKLSAgICAzMiwzMiwzMiwzMiwxMDksMTE3LDEwOCwxMTYsMTA1LDQ1LDExNiwxMDQsMTE0LDEwMSw5NywxMDAsCi0gICAgMTA1LDExMCwxMDMsMzIsMTE1LDExNywxMTIsMTEyLDExMSwxMTQsMTE2LDQ2LDk5LDIsMCwwLAotICAgIDAsMCwwLDAsMCwyLDAsMCwwLDIsMCwwLDAsNjcsMCwwLAotICAgIDAsMTE1LDIyLDAsMCwwLDEyNCwxLDAsMTI0LDAsMCw5NSwwLDAsMTAwLAotICAgIDEsMCwxMjQsMCwwLDk1LDEsMCwxMDAsMCwwLDgzLDQxLDIsNzgsMTE0LAotICAgIDg0LDAsMCwwLDQxLDIsMTE0LDY3LDAsMCwwLDExNCw4OSwwLDAsMCwKLSAgICA0MSwyLDExNCw3MSwwLDAsMCwxMTQsNjcsMCwwLDAsMTE0LDQsMCwwLAotICAgIDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMTE0LDcyLDAsMCwwLAotICAgIDIzOCwwLDAsMCwxMTUsNCwwLDAsMCwwLDEsOSwxLDEyMiwyNSw5NSwKLSAgICA2OCwxMTcsMTA5LDEwOSwxMjEsNzcsMTExLDEwMCwxMTcsMTA4LDEwMSw3NiwxMTEsOTksMTA3LDQ2LAotICAgIDk1LDk1LDEwNSwxMTAsMTA1LDExNiw5NSw5NSw5OSwxLDAsMCwwLDAsMCwwLAotICAgIDAsMSwwLDAsMCwzLDAsMCwwLDY3LDAsMCwwLDExNSwxOSwwLAotICAgIDAsMCwxMjQsMCwwLDQsMTA2LDAsMCwxMDAsMSwwLDU1LDIsOTUsMCwKLSAgICAwLDEwMCwyLDAsODMsNDEsMyw3OCwxMTQsMjksMCwwLDAsODQsNDEsMSwKLSAgICAxMTQsODksMCwwLDAsNDEsMSwxMTQsNzEsMCwwLDAsMTE0LDQsMCwwLAotICAgIDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMTE0LDk3LDAsMCwwLAotICAgIDI0MiwwLDAsMCwxMTUsNCwwLDAsMCwwLDEsMTUsMSwxMjIsMjQsOTUsCi0gICAgNjgsMTE3LDEwOSwxMDksMTIxLDc3LDExMSwxMDAsMTE3LDEwOCwxMDEsNzYsMTExLDk5LDEwNyw0NiwKLSAgICA5Nyw5OSwxMTMsMTE3LDEwNSwxMTQsMTAxLDk5LDEsMCwwLDAsMCwwLDAsMCwKLSAgICAxLDAsMCwwLDMsMCwwLDAsNjcsMCwwLDAsMTE1LDQ5LDAsMCwKLSAgICAwLDEyNCwwLDAsMTA2LDAsMCwxMDAsMSwwLDEwNywyLDAsMTE0LDMwLDAsCi0gICAgMTE2LDEsMCwxMDAsMiwwLDEzMSwxLDAsMTMwLDEsMCwxMTAsMCwwLDEyNCwKLSAgICAwLDAsNCwxMDYsMCwwLDEwMCwzLDAsNTYsMiw5NSwwLDAsMTAwLDAsCi0gICAgMCw4Myw0MSw0LDc4LDExNCw4NCwwLDAsMCwxMjIsMzEsOTksOTcsMTEwLDExMCwKLSAgICAxMTEsMTE2LDMyLDExNCwxMDEsMTA4LDEwMSw5NywxMTUsMTAxLDMyLDExNywxMTAsNDUsOTcsOTksCi0gICAgMTEzLDExNywxMDUsMTE0LDEwMSwxMDAsMzIsMTA4LDExMSw5OSwxMDcsMTE0LDI5LDAsMCwwLAotICAgIDQxLDIsMTE0LDg5LDAsMCwwLDExNCw5OSwwLDAsMCw0MSwxLDExNCw3MSwKLSAgICAwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLAotICAgIDAsMCwxMTQsOTgsMCwwLDAsMjQ2LDAsMCwwLDExNSw2LDAsMCwwLAotICAgIDAsMSwxNSwxLDE1LDEsMTIyLDI0LDk1LDY4LDExNywxMDksMTA5LDEyMSw3NywxMTEsCi0gICAgMTAwLDExNywxMDgsMTAxLDc2LDExMSw5OSwxMDcsNDYsMTE0LDEwMSwxMDgsMTAxLDk3LDExNSwxMDEsCi0gICAgOTksMSwwLDAsMCwwLDAsMCwwLDEsMCwwLDAsNCwwLDAsCi0gICAgMCw2NywwLDAsMCwxMTUsMjUsMCwwLDAsMTAwLDEsMCwxMDYsMCwwLAotICAgIDEyNCwwLDAsMTA2LDEsMCwxMTYsMiwwLDEyNCwwLDAsMTMxLDEsMCwxMzEsCi0gICAgMiwwLDgzLDQxLDIsNzgsMTIyLDI4LDk1LDY4LDExNywxMDksMTA5LDEyMSw3NywxMTEsCi0gICAgMTAwLDExNywxMDgsMTAxLDc2LDExMSw5OSwxMDcsNDAsMTIzLDMzLDExNCwxMjUsNDEsMzIsOTcsCi0gICAgMTE2LDMyLDEyMywxMjUsNDEsMywxMTQsNDcsMCwwLDAsMTE0LDY3LDAsMCwwLAotICAgIDExNCw0OCwwLDAsMCw0MSwxLDExNCw3MSwwLDAsMCwxMTQsNCwwLDAsCi0gICAgMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsMTAxLDAsMCwwLAotICAgIDI1MSwwLDAsMCwxMTUsMiwwLDAsMCwwLDEsMTIyLDI1LDk1LDY4LDExNywKLSAgICAxMDksMTA5LDEyMSw3NywxMTEsMTAwLDExNywxMDgsMTAxLDc2LDExMSw5OSwxMDcsNDYsOTUsOTUsCi0gICAgMTE0LDEwMSwxMTIsMTE0LDk1LDk1LDc4LDQxLDgsMTE0LDU3LDAsMCwwLDExNCw1NiwKLSAgICAwLDAsMCwxMTQsNTgsMCwwLDAsMTE0LDU5LDAsMCwwLDExNCw3MiwwLAotICAgIDAsMCwxMTQsOTcsMCwwLDAsMTE0LDk4LDAsMCwwLDExNCwxMDEsMCwwLAotICAgIDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsCi0gICAgMTE0LDUsMCwwLDAsMTE0LDEwMiwwLDAsMCwyMzQsMCwwLDAsMTE1LDEwLAotICAgIDAsMCwwLDEyLDIsNiwyLDEyLDQsMTIsNCwxMiw1LDExNCwxMDIsMCwKLSAgICAwLDAsOTksMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMiwKLSAgICAwLDAsMCw2NCwwLDAsMCwxMTUsNTIsMCwwLDAsMTAxLDAsMCw5MCwKLSAgICAxLDAsMTAwLDAsMCw5MCwyLDAsMTAwLDEsMCwxMDAsMiwwLDEzMiwwLAotICAgIDAsOTAsMywwLDEwMCwzLDAsMTAwLDQsMCwxMzIsMCwwLDkwLDQsMCwKLSAgICAxMDAsNSwwLDEwMCw2LDAsMTMyLDAsMCw5MCw1LDAsMTAwLDcsMCw4MywKLSAgICA0MSw4LDIxOCwxOCw5NSw3NywxMTEsMTAwLDExNywxMDgsMTAxLDc2LDExMSw5OSwxMDcsNzcsCi0gICAgOTcsMTEwLDk3LDEwMywxMDEsMTE0LDk5LDIsMCwwLDAsMCwwLDAsMCwyLAotICAgIDAsMCwwLDIsMCwwLDAsNjcsMCwwLDAsMTE1LDIyLDAsMCwwLAotICAgIDEyNCwxLDAsMTI0LDAsMCw5NSwwLDAsMTAwLDAsMCwxMjQsMCwwLDk1LAotICAgIDEsMCwxMDAsMCwwLDgzLDQxLDEsNzgsNDEsMiwxMTQsNzAsMCwwLDAsCi0gICAgMjE4LDUsOTUsMTA4LDExMSw5OSwxMDcsNDEsMiwxMTQsNzEsMCwwLDAsMTE0LDY3LAotICAgIDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsCi0gICAgMCwwLDExNCw3MiwwLDAsMCwxLDEsMCwwLDExNSw0LDAsMCwwLAotICAgIDAsMSw5LDEsMTIyLDI3LDk1LDc3LDExMSwxMDAsMTE3LDEwOCwxMDEsNzYsMTExLDk5LAotICAgIDEwNyw3Nyw5NywxMTAsOTcsMTAzLDEwMSwxMTQsNDYsOTUsOTUsMTA1LDExMCwxMDUsMTE2LDk1LAotICAgIDk1LDk5LDEsMCwwLDAsMCwwLDAsMCwxLDAsMCwwLDEwLDAsCi0gICAgMCwwLDY3LDAsMCwwLDExNSw1MywwLDAsMCwxMjIsMjIsMCwxMTYsMCwKLSAgICAwLDEyNCwwLDAsMTA2LDEsMCwxMzEsMSwwLDEyNCwwLDAsOTUsMiwwLAotICAgIDg3LDEwMCwwLDAsMTE2LDMsMCwxMDYsNCwwLDEzMSwwLDAsMSw4OCwxMjQsCi0gICAgMCwwLDEwNiwyLDAsMTA2LDUsMCwxMzEsMCwwLDEsMTAwLDAsMCw4MywKLSAgICA0MSwxLDc4LDQxLDYsMjE4LDE2LDk1LDEwMywxMDEsMTE2LDk1LDEwOSwxMTEsMTAwLDExNywKLSAgICAxMDgsMTAxLDk1LDEwOCwxMTEsOTksMTA3LDExNCw3MCwwLDAsMCwxMTQsMTA0LDAsMCwKLSAgICAwLDIxOCw0LDk1LDEwNSwxMDksMTEyLDIxOCwxMiwxMTQsMTAxLDEwOCwxMDEsOTcsMTE1LDEwMSwKLSAgICA5NSwxMDgsMTExLDk5LDEwNywxMTQsOTcsMCwwLDAsNDEsMSwxMTQsNzEsMCwwLAotICAgIDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsCi0gICAgMTE0LDc1LDAsMCwwLDUsMSwwLDAsMTE1LDgsMCwwLDAsMCwxLAotICAgIDMsMSwyMiwyLDExLDEsMTIyLDI4LDk1LDc3LDExMSwxMDAsMTE3LDEwOCwxMDEsNzYsCi0gICAgMTExLDk5LDEwNyw3Nyw5NywxMTAsOTcsMTAzLDEwMSwxMTQsNDYsOTUsOTUsMTAxLDExMCwxMTYsCi0gICAgMTAxLDExNCw5NSw5NSw5OSwxLDAsMCwwLDAsMCwwLDAsMywwLDAsCi0gICAgMCwxLDAsMCwwLDc5LDAsMCwwLDExNSwxNywwLDAsMCwxMjQsMCwKLSAgICAwLDEwNiwwLDAsMTA2LDEsMCwxMzEsMCwwLDEsMTAwLDAsMCw4Myw0MSwKLSAgICAxLDc4LDQxLDIsMTE0LDEwNCwwLDAsMCwxMTQsOTgsMCwwLDAsNDEsMywKLSAgICAxMTQsNzEsMCwwLDAsMTE0LDgwLDAsMCwwLDIxOCw2LDEwNywxMTksOTcsMTE0LAotICAgIDEwMywxMTUsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLAotICAgIDAsMTE0LDgxLDAsMCwwLDEyLDEsMCwwLDExNSwyLDAsMCwwLDAsCi0gICAgMSwxMjIsMjcsOTUsNzcsMTExLDEwMCwxMTcsMTA4LDEwMSw3NiwxMTEsOTksMTA3LDc3LDk3LAotICAgIDExMCw5NywxMDMsMTAxLDExNCw0Niw5NSw5NSwxMDEsMTIwLDEwNSwxMTYsOTUsOTUsNzgsNDEsCi0gICAgNiwxMTQsNTcsMCwwLDAsMTE0LDU2LDAsMCwwLDExNCw1OCwwLDAsMCwKLSAgICAxMTQsNzIsMCwwLDAsMTE0LDc1LDAsMCwwLDExNCw4MSwwLDAsMCwxMTQsCi0gICAgNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwKLSAgICAwLDAsMCwxMTQsMTAzLDAsMCwwLDI1NSwwLDAsMCwxMTUsNiwwLDAsCi0gICAgMCwxMiwyLDEyLDQsMTIsNywxMTQsMTAzLDAsMCwwLDk5LDEsMCwwLAotICAgIDAsMCwwLDAsMCwzLDAsMCwwLDExLDAsMCwwLDMsMCwwLAotICAgIDAsMTE1LDE0MiwwLDAsMCwxMDAsMSwwLDEyNSwxLDAsMTIxLDE3LDAsMTE2LAotICAgIDAsMCwxMzYsMCwwLDI1LDEzMSwwLDAsMTI1LDEsMCw4NywxMTAsMTgsMCwKLSAgICA0LDExNiwxLDAsMTA3LDEwLDAsMTE0LDQzLDAsMSwxLDEsODksMTEwLDEsCi0gICAgMCw4OCwxMjQsMSwwLDEwMCwxLDAsMTA3LDgsMCwxMTQsMTM4LDAsMTE2LDIsCi0gICAgMCwxMDAsMSwwLDEwNyw4LDAsMTE0LDgzLDAsMTE2LDMsMCwxMzYsMCwwLAotICAgIDEzMSwxLDAsMTI1LDEsMCwxMTAsMTIsMCwxMTYsNCwwLDEzNiwwLDAsMTMxLAotICAgIDEsMCwxMjUsMSwwLDEzNSwwLDAsMTAyLDEsMCwxMDAsMiwwLDEwMCwzLAotICAgIDAsMTM0LDAsMCwxMjUsMiwwLDExNiw1LDAsMTA2LDYsMCwxMjQsMSwwLAotICAgIDEyNCwyLDAsMTMxLDIsMCwxMTYsMCwwLDEzNiwwLDAsNjAsMTEwLDAsMCwKLSAgICAxMjQsMSwwLDgzLDQxLDQsMTIyLDEwOSw3MSwxMDEsMTE2LDMyLDExMSwxMTQsMzIsOTksCi0gICAgMTE0LDEwMSw5NywxMTYsMTAxLDMyLDExNiwxMDQsMTAxLDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLAotICAgIDMyLDEwOCwxMTEsOTksMTA3LDMyLDEwMiwxMTEsMTE0LDMyLDk3LDMyLDEwMywxMDUsMTE4LDEwMSwKLSAgICAxMTAsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsMTEwLDk3LDEwOSwxMDEsNDYsMTAsMTAsCi0gICAgMzIsMzIsMzIsMzIsODMsMTA0LDExMSwxMTcsMTA4LDEwMCwzMiwxMTEsMTEwLDEwOCwxMjEsMzIsCi0gICAgOTgsMTAxLDMyLDk5LDk3LDEwOCwxMDgsMTAxLDEwMCwzMiwxMTksMTA1LDExNiwxMDQsMzIsMTE2LAotICAgIDEwNCwxMDEsMzIsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsMzIsMTA4LDExMSw5OSwxMDcsMzIsMTE2LAotICAgIDk3LDEwNywxMDEsMTEwLDQ2LDc4LDk5LDEsMCwwLDAsMCwwLDAsMCwxLAotICAgIDAsMCwwLDIsMCwwLDAsMTksMCwwLDAsMTE1LDExLDAsMCwwLAotICAgIDExNiwwLDAsMTM2LDAsMCw2MSwxMDAsMCwwLDgzLDQxLDEsNzgsNDEsMSwKLSAgICAyMTgsMTMsOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsOTUsMTA4LDExMSw5OSwxMDcsMTE1LDQxLAotICAgIDEsMTE0LDM2LDAsMCwwLDQxLDEsMTE0LDY3LDAsMCwwLDExNCw0LDAsCi0gICAgMCwwLDExNCw1LDAsMCwwLDIxOCwyLDk5LDk4LDMyLDEsMCwwLDExNSwKLSAgICAyLDAsMCwwLDAsMSwxMjIsMjgsOTUsMTAzLDEwMSwxMTYsOTUsMTA5LDExMSwxMDAsCi0gICAgMTE3LDEwOCwxMDEsOTUsMTA4LDExMSw5OSwxMDcsNDYsNjAsMTA4LDExMSw5OSw5NywxMDgsMTE1LAotICAgIDYyLDQ2LDk5LDk4LDQxLDcsMTE0LDEwOSwwLDAsMCwxMTQsNzksMCwwLDAsCi0gICAgMTE0LDg1LDAsMCwwLDExNCwxMDIsMCwwLDAsMTE0LDgzLDAsMCwwLDIxOCwKLSAgICA4LDk1LDExOSwxMDEsOTcsMTA3LDExNCwxMDEsMTAyLDkwLDMsMTE0LDEwMSwxMDIsNDEsMywKLSAgICAxMTQsNjcsMCwwLDAsMTE0LDg2LDAsMCwwLDExNCwxMTAsMCwwLDAsMTE0LAotICAgIDQsMCwwLDAsNDEsMSwxMTQsNjcsMCwwLDAsMTE0LDUsMCwwLDAsCi0gICAgMTE0LDEwNSwwLDAsMCwxOCwxLDAsMCwxMTUsMjQsMCwwLDAsMCw0LAotICAgIDYsMSwzLDEsMTcsMSwxMywxLDUsMSwxMiwxLDEyLDEsMTUsMiwKLSAgICAxMiwxLDE4LDIsMjUsMSwxMTQsMTA1LDAsMCwwLDk5LDEsMCwwLDAsCi0gICAgMCwwLDAsMCwyLDAsMCwwLDExLDAsMCwwLDY3LDAsMCwwLAotICAgIDExNSw3MSwwLDAsMCwxMTYsMCwwLDEyNCwwLDAsMTMxLDEsMCwxMjUsMSwKLSAgICAwLDExNiwxLDAsMTA2LDIsMCwxMzEsMCwwLDEsMTIxLDE0LDAsMTI0LDEsCi0gICAgMCwxMDYsMywwLDEzMSwwLDAsMSw4NywxMTAsMTgsMCw0LDExNiw0LDAsCi0gICAgMTA3LDEwLDAsMTE0LDU2LDAsMSwxLDEsODksMTEwLDExLDAsODgsMTI0LDEsCi0gICAgMCwxMDYsNSwwLDEzMSwwLDAsMSwxMDAsMSwwLDgzLDQxLDIsOTcsMjEsCi0gICAgMSwwLDAsODIsMTAxLDEwOCwxMDEsOTcsMTE1LDEwMSwzMiwxMTYsMTA0LDEwMSwzMiwxMDMsCi0gICAgMTA4LDExMSw5OCw5NywxMDgsMzIsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsMzIsMTA4LDExMSw5OSwKLSAgICAxMDcsNDQsMzIsOTcsMTEwLDEwMCwzMiw5Nyw5OSwxMTMsMTE3LDEwNSwxMTQsMTAxLDExNSwzMiwKLSAgICAxMTYsMTA0LDEwMSwxMTAsMzIsMTE0LDEwMSwxMDgsMTAxLDk3LDExNSwxMDEsMzIsMTE2LDEwNCwxMDEsCi0gICAgMTAsMzIsMzIsMzIsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsMTA4LDExMSw5OSwxMDcsCi0gICAgMzIsMTAyLDExMSwxMTQsMzIsOTcsMzIsMTAzLDEwNSwxMTgsMTAxLDExMCwzMiwxMDksMTExLDEwMCwKLSAgICAxMTcsMTA4LDEwMSwzMiwxMTAsOTcsMTA5LDEwMSw0NiwxMCwzMiwzMiwzMiwzMiw4NCwxMDQsCi0gICAgMTA1LDExNSwzMiwxMDUsMTE1LDMyLDExNywxMTUsMTAxLDEwMCwzMiwxMTYsMTExLDMyLDEwMSwxMTAsCi0gICAgMTE1LDExNywxMTQsMTAxLDMyLDk3LDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDMyLDEwNSwxMTUsCi0gICAgMzIsOTksMTExLDEwOSwxMTIsMTA4LDEwMSwxMTYsMTAxLDEwOCwxMjEsMzIsMTA1LDExMCwxMDUsMTE2LAotICAgIDEwNSw5NywxMDgsMTA1LDEyMiwxMDEsMTAwLDQ0LDMyLDEwNSwxMTAsMzIsMTE2LDEwNCwxMDEsMTAsCi0gICAgMzIsMzIsMzIsMzIsMTAxLDExOCwxMDEsMTEwLDExNiwzMiwxMDUsMTE2LDMyLDEwNSwxMTUsMzIsCi0gICAgOTgsMTAxLDEwNSwxMTAsMTAzLDMyLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDEwMSwxMDAsMzIsOTgsCi0gICAgMTIxLDMyLDk3LDExMCwxMTEsMTE2LDEwNCwxMDEsMTE0LDMyLDExNiwxMDQsMTE0LDEwMSw5NywxMDAsCi0gICAgNDYsMTAsMTAsMzIsMzIsMzIsMzIsODMsMTA0LDExMSwxMTcsMTA4LDEwMCwzMiwxMTEsMTEwLAotICAgIDEwOCwxMjEsMzIsOTgsMTAxLDMyLDk5LDk3LDEwOCwxMDgsMTAxLDEwMCwzMiwxMTksMTA1LDExNiwKLSAgICAxMDQsMzIsMTE2LDEwNCwxMDEsMzIsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsMzIsMTA4LDExMSw5OSwKLSAgICAxMDcsMzIsMTE2LDk3LDEwNywxMDEsMTEwLDQ2LDc4LDQxLDYsMTE0LDEwNSwwLDAsMCwKLSAgICAxMTQsMTA2LDAsMCwwLDExNCwxMDcsMCwwLDAsMTE0LDk3LDAsMCwwLDExNCwKLSAgICA4MiwwLDAsMCwxMTQsOTgsMCwwLDAsNDEsMiwxMTQsNjcsMCwwLDAsCi0gICAgMTE0LDg2LDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCwKLSAgICA1LDAsMCwwLDIxOCwxOSw5NSwxMDgsMTExLDk5LDEwNyw5NSwxMTcsMTEwLDEwOCwxMTEsCi0gICAgOTksMTA3LDk1LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDM3LDEsMCwwLDExNSwxNCwwLAotICAgIDAsMCwwLDcsMTIsMSwxMCwxLDMsMSwxNCwxLDEzLDMsNSwyLAotICAgIDExNCwxMTIsMCwwLDAsOTksMSwwLDAsMCwwLDAsMCwwLDMsMCwKLSAgICAwLDAsMywwLDAsMCw3OSwwLDAsMCwxMTUsMTMsMCwwLDAsMTI0LAotICAgIDAsMCwxMjQsMSwwLDEyNCwyLDAsMTQyLDAsMCw4Myw0MSwxLDk3LDQ2LAotICAgIDEsMCwwLDExNCwxMDEsMTA5LDExMSwxMTgsMTAxLDk1LDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LAotICAgIDEwOCwxMDUsOTgsOTUsMTAyLDExNCw5NywxMDksMTAxLDExNSwzMiwxMDUsMTEwLDMyLDEwNSwxMDksCi0gICAgMTEyLDExMSwxMTQsMTE2LDQ2LDk5LDMyLDExOSwxMDUsMTA4LDEwOCwzMiw5NywxMDgsMTE5LDk3LAotICAgIDEyMSwxMTUsMzIsMTE0LDEwMSwxMDksMTExLDExOCwxMDEsMzIsMTE1LDEwMSwxMTMsMTE3LDEwMSwxMTAsCi0gICAgOTksMTAxLDExNSwxMCwzMiwzMiwzMiwzMiwxMTEsMTAyLDMyLDEwNSwxMDksMTEyLDExMSwxMTQsCi0gICAgMTE2LDEwOCwxMDUsOTgsMzIsMTAyLDExNCw5NywxMDksMTAxLDExNSwzMiwxMTYsMTA0LDk3LDExNiwKLSAgICAzMiwxMDEsMTEwLDEwMCwzMiwxMTksMTA1LDExNiwxMDQsMzIsOTcsMzIsOTksOTcsMTA4LDEwOCwKLSAgICAzMiwxMTYsMTExLDMyLDExNiwxMDQsMTA1LDExNSwzMiwxMDIsMTE3LDExMCw5OSwxMTYsMTA1LDExMSwKLSAgICAxMTAsMTAsMTAsMzIsMzIsMzIsMzIsODUsMTE1LDEwMSwzMiwxMDUsMTE2LDMyLDEwNSwxMTAsCi0gICAgMTE1LDExNiwxMDEsOTcsMTAwLDMyLDExMSwxMDIsMzIsOTcsMzIsMTEwLDExMSwxMTQsMTA5LDk3LAotICAgIDEwOCwzMiw5OSw5NywxMDgsMTA4LDMyLDEwNSwxMTAsMzIsMTEyLDEwOCw5Nyw5OSwxMDEsMTE1LAotICAgIDMyLDExOSwxMDQsMTAxLDExNCwxMDEsMzIsMTA1LDExMCw5OSwxMDgsMTE3LDEwMCwxMDUsMTEwLDEwMywKLSAgICAzMiwxMTYsMTA0LDEwMSwzMiwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwxMDgsMTA1LDk4LDEwLDMyLAotICAgIDMyLDMyLDMyLDEwMiwxMTQsOTcsMTA5LDEwMSwxMTUsMzIsMTA1LDExMCwxMTYsMTE0LDExMSwxMDAsCi0gICAgMTE3LDk5LDEwMSwxMTUsMzIsMTE3LDExMCwxMTksOTcsMTEwLDExNiwxMDEsMTAwLDMyLDExMCwxMTEsCi0gICAgMTA1LDExNSwxMDEsMzIsMTA1LDExMCwxMTYsMTExLDMyLDExNiwxMDQsMTAxLDMyLDExNiwxMTQsOTcsCi0gICAgOTksMTAxLDk4LDk3LDk5LDEwNywzMiw0MCwxMDEsNDYsMTAzLDQ2LDMyLDExOSwxMDQsMTAxLAotICAgIDExMCwzMiwxMDEsMTIwLDEwMSw5OSwxMTcsMTE2LDEwNSwxMTAsMTAzLDEwLDMyLDMyLDMyLDMyLAotICAgIDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDMyLDk5LDExMSwxMDAsMTAxLDQxLDEwLDMyLDMyLDMyLAotICAgIDMyLDExNCw0LDAsMCwwLDQxLDMsMjE4LDEsMTAyLDExNCw4MCwwLDAsMCwKLSAgICA5MCw0LDEwNywxMTksMTAwLDExNSwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwKLSAgICAxMTQsNSwwLDAsMCwyMTgsMjUsOTUsOTksOTcsMTA4LDEwOCw5NSwxMTksMTA1LDExNiwKLSAgICAxMDQsOTUsMTAyLDExNCw5NywxMDksMTAxLDExNSw5NSwxMTQsMTAxLDEwOSwxMTEsMTE4LDEwMSwxMDAsCi0gICAgNTcsMSwwLDAsMTE1LDIsMCwwLDAsMCw4LDExNCwxMTQsMCwwLDAsCi0gICAgMTA1LDIzOCwxMiwwLDAsMjMzLDIsMCwwLDAsMTE0LDEzLDAsMCwwLDExNSwKLSAgICAyLDAsMCwwLDEzLDEwLDkwLDExLDk1LDk1LDExMiwxMjEsOTksOTcsOTksMTA0LAotICAgIDEwMSw5NSw5NSwxMjIsMyw0NiwxMTIsMTIxLDEyMiw0LDQ2LDExMiwxMjEsOTksMTIyLDQsCi0gICAgNDYsMTEyLDEyMSwxMTEsNzgsOTksMiwwLDAsMCwwLDAsMCwwLDExLDAsCi0gICAgMCwwLDYsMCwwLDAsNjcsMCwwLDAsMTE1LDE5MiwwLDAsMCwxMjQsCi0gICAgMSwwLDEwMCwxLDAsMTA3LDgsMCwxMTQsMjUsMCwxMTYsMCwwLDEwNiwxLAotICAgIDAsMTA2LDIsMCwxMiwxMTAsMywwLDEyNCwxLDAsMTI1LDIsMCwxMjQsMiwKLSAgICAwLDExNCw0NiwwLDExNiwzLDAsMTI1LDMsMCwxMTAsNiwwLDExNiw0LDAsCi0gICAgMTI1LDMsMCwxMTYsNSwwLDEyNCwwLDAsMTMxLDEsMCw5MiwyLDAsMTI1LAotICAgIDQsMCwxMjUsNSwwLDEyNCw1LDAsMTA2LDYsMCwxMDAsMiwwLDEzMSwxLAotICAgIDAsOTIsMywwLDEyNSw2LDAsMTI1LDcsMCwxMjUsOCwwLDExNiwwLDAsCi0gICAgMTA2LDcsMCwxMDYsOCwwLDEyNSw5LDAsMTI0LDksMCwxMDAsMSwwLDEwNywKLSAgICA4LDAsMTE0LDEzMywwLDExNiw5LDAsMTAwLDMsMCwxMzEsMSwwLDEzMCwxLAotICAgIDAsMTEwLDAsMCwxMDAsNCwwLDEwNiwxMCwwLDEyNCw2LDAsMTE0LDE1MSwwLAotICAgIDEyNCw2LDAsMTEwLDMsMCwxMjQsOCwwLDEyNCw3LDAsMTI0LDksMCwxMjQsCi0gICAgMywwLDEwMCw1LDAsMjUsMTAzLDQsMCwxMzEsMSwwLDEyNSwxMCwwLDExNiwKLSAgICAxMSwwLDEyNCw0LDAsMTE2LDEyLDAsMTI0LDEwLDAsMTMxLDMsMCw4Myw0MSwKLSAgICA2LDk3LDI0NCwxLDAsMCw3MSwxMDUsMTE4LDEwMSwxMTAsMzIsMTE2LDEwNCwxMDEsMzIsCi0gICAgMTEyLDk3LDExNiwxMDQsMzIsMTE2LDExMSwzMiw5NywzMiw0NiwxMTIsMTIxLDMyLDEwMiwxMDUsCi0gICAgMTA4LDEwMSw0NCwzMiwxMTQsMTAxLDExNiwxMTcsMTE0LDExMCwzMiwxMTYsMTA0LDEwMSwzMiwxMTIsCi0gICAgOTcsMTE2LDEwNCwzMiwxMTYsMTExLDMyLDEwNSwxMTYsMTE1LDMyLDQ2LDExMiwxMjEsOTksNDcsCi0gICAgNDYsMTEyLDEyMSwxMTEsMzIsMTAyLDEwNSwxMDgsMTAxLDQ2LDEwLDEwLDMyLDMyLDMyLDMyLAotICAgIDg0LDEwNCwxMDEsMzIsNDYsMTEyLDEyMSwzMiwxMDIsMTA1LDEwOCwxMDEsMzIsMTAwLDExMSwxMDEsCi0gICAgMTE1LDMyLDExMCwxMTEsMTE2LDMyLDExMCwxMDEsMTAxLDEwMCwzMiwxMTYsMTExLDMyLDEwMSwxMjAsCi0gICAgMTA1LDExNSwxMTYsNTksMzIsMTE2LDEwNCwxMDUsMTE1LDMyLDExNSwxMDUsMTA5LDExMiwxMDgsMTIxLAotICAgIDMyLDExNCwxMDEsMTE2LDExNywxMTQsMTEwLDExNSwzMiwxMTYsMTA0LDEwMSwzMiwxMTIsOTcsMTE2LAotICAgIDEwNCwzMiwxMTYsMTExLDMyLDExNiwxMDQsMTAxLDEwLDMyLDMyLDMyLDMyLDQ2LDExMiwxMjEsCi0gICAgOTksNDcsNDYsMTEyLDEyMSwxMTEsMzIsMTAyLDEwNSwxMDgsMTAxLDMyLDk5LDk3LDEwOCw5OSwKLSAgICAxMTcsMTA4LDk3LDExNiwxMDEsMTAwLDMyLDk3LDExNSwzMiwxMDUsMTAyLDMyLDExNiwxMDQsMTAxLAotICAgIDMyLDQ2LDExMiwxMjEsMzIsMTAyLDEwNSwxMDgsMTAxLDMyLDExOSwxMDEsMTE0LDEwMSwzMiwxMDUsCi0gICAgMTA5LDExMiwxMTEsMTE0LDExNiwxMDEsMTAwLDQ2LDMyLDMyLDg0LDEwNCwxMDEsMzIsMTAxLDEyMCwKLSAgICAxMTYsMTAxLDExMCwxMTUsMTA1LDExMSwxMTAsMTAsMzIsMzIsMzIsMzIsMTE5LDEwNSwxMDgsMTA4LAotICAgIDMyLDk4LDEwMSwzMiw0NiwxMTIsMTIxLDk5LDMyLDExNywxMTAsMTA4LDEwMSwxMTUsMTE1LDMyLAotICAgIDExNSwxMjEsMTE1LDQ2LDEwMiwxMDgsOTcsMTAzLDExNSw0NiwxMTEsMTEyLDExNiwxMDUsMTA5LDEwNSwKLSAgICAxMjIsMTAxLDMyLDEwNSwxMTUsMzIsMTEwLDExMSwxMTAsNDUsMTIyLDEwMSwxMTQsMTExLDQ0LDMyLAotICAgIDExNiwxMDQsMTAxLDExMCwzMiwxMDUsMTE2LDMyLDExOSwxMDUsMTA4LDEwOCwzMiw5OCwxMDEsMzIsCi0gICAgNDYsMTEyLDEyMSwxMTEsNDYsMTAsMTAsMzIsMzIsMzIsMzIsNzMsMTAyLDMyLDEwMCwxMDEsCi0gICAgOTgsMTE3LDEwMyw5NSwxMTEsMTE4LDEwMSwxMTQsMTE0LDEwNSwxMDAsMTAxLDMyLDEwNSwxMTUsMzIsCi0gICAgMTEwLDExMSwxMTYsMzIsNzgsMTExLDExMCwxMDEsNDQsMzIsMTE2LDEwNCwxMDEsMTEwLDMyLDEwNSwKLSAgICAxMTYsMzIsMTA5LDExNywxMTUsMTE2LDMyLDk4LDEwMSwzMiw5NywzMiw5OCwxMTEsMTExLDEwOCwKLSAgICAxMDEsOTcsMTEwLDMyLDk3LDExMCwxMDAsMzIsMTA1LDExNSwzMiwxMTcsMTE1LDEwMSwxMDAsMzIsCi0gICAgMTA1LDExMCwxMCwzMiwzMiwzMiwzMiwxMTIsMTA4LDk3LDk5LDEwMSwzMiwxMTEsMTAyLDMyLAotICAgIDExNSwxMjEsMTE1LDQ2LDEwMiwxMDgsOTcsMTAzLDExNSw0NiwxMTEsMTEyLDExNiwxMDUsMTA5LDEwNSwKLSAgICAxMjIsMTAxLDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDczLDEwMiwzMiwxMTUsMTIxLDExNSw0NiwKLSAgICAxMDUsMTA5LDExMiwxMDgsMTAxLDEwOSwxMDEsMTEwLDExNiw5NywxMTYsMTA1LDExMSwxMTAsNDYsOTksCi0gICAgOTcsOTksMTA0LDEwMSw5NSwxMTYsOTcsMTAzLDMyLDEwNSwxMTUsMzIsNzgsMTExLDExMCwxMDEsCi0gICAgMzIsMTE2LDEwNCwxMDEsMTEwLDMyLDc4LDExMSwxMTYsNzMsMTA5LDExMiwxMDgsMTAxLDEwOSwxMDEsCi0gICAgMTEwLDExNiwxMDEsMTAwLDY5LDExNCwxMTQsMTExLDExNCwzMiwxMDUsMTE1LDMyLDExNCw5NywxMDUsCi0gICAgMTE1LDEwMSwxMDAsNDYsMTAsMTAsMzIsMzIsMzIsMzIsNzgsMjE4LDEsNDYsMTIyLDM2LAotICAgIDExNSwxMjEsMTE1LDQ2LDEwNSwxMDksMTEyLDEwOCwxMDEsMTA5LDEwMSwxMTAsMTE2LDk3LDExNiwxMDUsCi0gICAgMTExLDExMCw0Niw5OSw5Nyw5OSwxMDQsMTAxLDk1LDExNiw5NywxMDMsMzIsMTA1LDExNSwzMiwKLSAgICA3OCwxMTEsMTEwLDEwMSwxMTQsMzAsMCwwLDAsMTE0LDg0LDAsMCwwLDQxLDEzLAotICAgIDExNCw3LDAsMCwwLDIxOCw1LDEwMiwxMDgsOTcsMTAzLDExNSwyMTgsOCwxMTEsMTEyLAotICAgIDExNiwxMDUsMTA5LDEwNSwxMjIsMTAxLDIxOCwyMyw2OCw2OSw2Niw4NSw3MSw5NSw2Niw4OSwKLSAgICA4NCw2OSw2Nyw3OSw2OCw2OSw5NSw4Myw4NSw3MCw3MCw3Myw4OCw2OSw4MywyMTgsCi0gICAgMjcsNzksODAsODQsNzMsNzcsNzMsOTAsNjksNjgsOTUsNjYsODksODQsNjksNjcsCi0gICAgNzksNjgsNjksOTUsODMsODUsNzAsNzAsNzMsODgsNjksODMsMTE0LDM4LDAsMCwKLSAgICAwLDExNCwzMiwwLDAsMCwyMTgsMTQsMTA1LDEwOSwxMTIsMTA4LDEwMSwxMDksMTAxLDExMCwKLSAgICAxMTYsOTcsMTE2LDEwNSwxMTEsMTEwLDIxOCw5LDk5LDk3LDk5LDEwNCwxMDEsOTUsMTE2LDk3LAotICAgIDEwMywyMTgsMTksNzgsMTExLDExNiw3MywxMDksMTEyLDEwOCwxMDEsMTA5LDEwMSwxMTAsMTE2LDEwMSwKLSAgICAxMDAsNjksMTE0LDExNCwxMTEsMTE0LDExNCwyNiwwLDAsMCwxMTQsMjgsMCwwLDAsCi0gICAgMjE4LDgsOTUsODAsODksNjcsNjUsNjcsNzIsNjksNDEsMTEsMTE0LDM1LDAsMCwKLSAgICAwLDkwLDE0LDEwMCwxMDEsOTgsMTE3LDEwMyw5NSwxMTEsMTE4LDEwMSwxMTQsMTE0LDEwNSwxMDAsCi0gICAgMTAxLDIxOCw1LDEwMCwxMDEsOTgsMTE3LDEwMywyMTgsOCwxMTUsMTE3LDEwMiwxMDIsMTA1LDEyMCwKLSAgICAxMDEsMTE1LDIxOCw0LDEwNCwxMDEsOTcsMTAwLDExNCwzNywwLDAsMCwyMTgsNCw5OCwKLSAgICA5NywxMTUsMTAxLDIxOCwzLDExNSwxMDEsMTEyLDIxOCw0LDExNCwxMDEsMTE1LDExNiw5MCwzLAotICAgIDExNiw5NywxMDMsMjE4LDgsMTAyLDEwNSwxMDgsMTAxLDExMCw5NywxMDksMTAxLDExNCw0LDAsCi0gICAgMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDIxOCwxNyw5OSw5NywKLSAgICA5OSwxMDQsMTAxLDk1LDEwMiwxMTQsMTExLDEwOSw5NSwxMTUsMTExLDExNywxMTQsOTksMTAxLDE4MSwKLSAgICAxLDAsMCwxMTUsMjIsMCwwLDAsMCwxMywzMSwxLDYsMSw5LDIsCi0gICAgNiwxLDE4LDEsMjQsMSwxMiwxLDEyLDEsMTUsMSw0MywxLDExNCwxMzIsCi0gICAgMCwwLDAsOTksMSwwLDAsMCwwLDAsMCwwLDUsMCwwLDAsCi0gICAgNSwwLDAsMCw2NywwLDAsMCwxMTUsMTkzLDAsMCwwLDExNiwwLDAsCi0gICAgMTA2LDEsMCwxMDYsMiwwLDEwMCwxLDAsMTA3LDgsMCwxMTQsMzMsMCwxMTYsCi0gICAgMywwLDEwMCwyLDAsMTMxLDEsMCwxMzAsMSwwLDExMCwwLDAsMTE2LDQsCi0gICAgMCwxMjQsMCwwLDEzMSwxLDAsOTIsMiwwLDEyNSwxLDAsMTI1LDIsMCwKLSAgICAxMTYsNCwwLDEyNCwxLDAsMTMxLDEsMCw5MiwyLDAsMTI1LDEsMCwxMjUsCi0gICAgMywwLDEyNCwzLDAsMTE2LDUsMCwxMDcsMywwLDExNCwxMDgsMCwxMTYsNiwKLSAgICAwLDEwMCwzLDAsMTA2LDcsMCwxMTYsNSwwLDEyNCwwLDAsMTMxLDIsMCwKLSAgICAxMzEsMSwwLDEzMCwxLDAsMTEwLDAsMCwxMjQsMiwwLDEwNiw4LDAsMTAwLAotICAgIDQsMCwxMzEsMSwwLDEwMCw1LDAsMTA3LDMsMCwxMTQsMTUzLDAsMTE2LDYsCi0gICAgMCwxMDAsNiwwLDEwNiw3LDAsMTI0LDIsMCwxMzEsMSwwLDEzMSwxLDAsCi0gICAgMTMwLDEsMCwxMTAsMCwwLDEyNCwyLDAsMTA2LDksMCwxMDAsNCwwLDEzMSwKLSAgICAxLDAsMTAwLDcsMCwyNSwxMjUsNCwwLDExNiwxMCwwLDEyNCwxLDAsMTI0LAotICAgIDQsMCwxMTYsMTEsMCwxMDAsNywwLDI1LDIzLDEzMSwyLDAsODMsNDEsOCwKLSAgICA5NywxMjEsMSwwLDAsNzEsMTA1LDExOCwxMDEsMTEwLDMyLDExNiwxMDQsMTAxLDMyLDExMiwKLSAgICA5NywxMTYsMTA0LDMyLDExNiwxMTEsMzIsOTcsMzIsNDYsMTEyLDEyMSw5OSw0Niw0Nyw0NiwKLSAgICAxMTIsMTIxLDExMSwzMiwxMDIsMTA1LDEwOCwxMDEsNDQsMzIsMTE0LDEwMSwxMTYsMTE3LDExNCwxMTAsCisgICAgMCwxMTQsMTAyLDAsMCwwLDIzNCwwLDAsMCwxMTUsMTAsMCwwLDAsMTIsCisgICAgMiw2LDIsMTIsNCwxMiw0LDEyLDUsMTE0LDEwMiwwLDAsMCw5OSwwLAorICAgIDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwyLDAsMCwwLDY0LAorICAgIDAsMCwwLDExNSw1MiwwLDAsMCwxMDEsMCwwLDkwLDEsMCwxMDAsMCwKKyAgICAwLDkwLDIsMCwxMDAsMSwwLDEwMCwyLDAsMTMyLDAsMCw5MCwzLDAsCisgICAgMTAwLDMsMCwxMDAsNCwwLDEzMiwwLDAsOTAsNCwwLDEwMCw1LDAsMTAwLAorICAgIDYsMCwxMzIsMCwwLDkwLDUsMCwxMDAsNywwLDgzLDQxLDgsMjE4LDE4LAorICAgIDk1LDc3LDExMSwxMDAsMTE3LDEwOCwxMDEsNzYsMTExLDk5LDEwNyw3Nyw5NywxMTAsOTcsMTAzLAorICAgIDEwMSwxMTQsOTksMiwwLDAsMCwwLDAsMCwwLDIsMCwwLDAsMiwKKyAgICAwLDAsMCw2NywwLDAsMCwxMTUsMjIsMCwwLDAsMTI0LDEsMCwxMjQsCisgICAgMCwwLDk1LDAsMCwxMDAsMCwwLDEyNCwwLDAsOTUsMSwwLDEwMCwwLAorICAgIDAsODMsNDEsMSw3OCw0MSwyLDExNCw3MCwwLDAsMCwyMTgsNSw5NSwxMDgsCisgICAgMTExLDk5LDEwNyw0MSwyLDExNCw3MSwwLDAsMCwxMTQsNjcsMCwwLDAsMTE0LAorICAgIDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMTE0LDcyLAorICAgIDAsMCwwLDEsMSwwLDAsMTE1LDQsMCwwLDAsMCwxLDksMSwKKyAgICAxMjIsMjcsOTUsNzcsMTExLDEwMCwxMTcsMTA4LDEwMSw3NiwxMTEsOTksMTA3LDc3LDk3LDExMCwKKyAgICA5NywxMDMsMTAxLDExNCw0Niw5NSw5NSwxMDUsMTEwLDEwNSwxMTYsOTUsOTUsOTksMSwwLAorICAgIDAsMCwwLDAsMCwwLDEsMCwwLDAsMTAsMCwwLDAsNjcsMCwKKyAgICAwLDAsMTE1LDUzLDAsMCwwLDEyMiwyMiwwLDExNiwwLDAsMTI0LDAsMCwKKyAgICAxMDYsMSwwLDEzMSwxLDAsMTI0LDAsMCw5NSwyLDAsODcsMTAwLDAsMCwKKyAgICAxMTYsMywwLDEwNiw0LDAsMTMxLDAsMCwxLDg4LDEyNCwwLDAsMTA2LDIsCisgICAgMCwxMDYsNSwwLDEzMSwwLDAsMSwxMDAsMCwwLDgzLDQxLDEsNzgsNDEsCisgICAgNiwyMTgsMTYsOTUsMTAzLDEwMSwxMTYsOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsOTUsMTA4LAorICAgIDExMSw5OSwxMDcsMTE0LDcwLDAsMCwwLDExNCwxMDQsMCwwLDAsMjE4LDQsOTUsCisgICAgMTA1LDEwOSwxMTIsMjE4LDEyLDExNCwxMDEsMTA4LDEwMSw5NywxMTUsMTAxLDk1LDEwOCwxMTEsOTksCisgICAgMTA3LDExNCw5NywwLDAsMCw0MSwxLDExNCw3MSwwLDAsMCwxMTQsNCwwLAorICAgIDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsNzUsMCwwLAorICAgIDAsNSwxLDAsMCwxMTUsOCwwLDAsMCwwLDEsMywxLDIyLDIsCisgICAgMTEsMSwxMjIsMjgsOTUsNzcsMTExLDEwMCwxMTcsMTA4LDEwMSw3NiwxMTEsOTksMTA3LDc3LAorICAgIDk3LDExMCw5NywxMDMsMTAxLDExNCw0Niw5NSw5NSwxMDEsMTEwLDExNiwxMDEsMTE0LDk1LDk1LAorICAgIDk5LDEsMCwwLDAsMCwwLDAsMCwzLDAsMCwwLDEsMCwwLAorICAgIDAsNzksMCwwLDAsMTE1LDE3LDAsMCwwLDEyNCwwLDAsMTA2LDAsMCwKKyAgICAxMDYsMSwwLDEzMSwwLDAsMSwxMDAsMCwwLDgzLDQxLDEsNzgsNDEsMiwKKyAgICAxMTQsMTA0LDAsMCwwLDExNCw5OCwwLDAsMCw0MSwzLDExNCw3MSwwLDAsCisgICAgMCwxMTQsODAsMCwwLDAsMjE4LDYsMTA3LDExOSw5NywxMTQsMTAzLDExNSwxMTQsNCwKKyAgICAwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsODEsMCwKKyAgICAwLDAsMTIsMSwwLDAsMTE1LDIsMCwwLDAsMCwxLDEyMiwyNyw5NSwKKyAgICA3NywxMTEsMTAwLDExNywxMDgsMTAxLDc2LDExMSw5OSwxMDcsNzcsOTcsMTEwLDk3LDEwMywxMDEsCisgICAgMTE0LDQ2LDk1LDk1LDEwMSwxMjAsMTA1LDExNiw5NSw5NSw3OCw0MSw2LDExNCw1NywwLAorICAgIDAsMCwxMTQsNTYsMCwwLDAsMTE0LDU4LDAsMCwwLDExNCw3MiwwLDAsCisgICAgMCwxMTQsNzUsMCwwLDAsMTE0LDgxLDAsMCwwLDExNCw0LDAsMCwwLAorICAgIDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDExNCwKKyAgICAxMDMsMCwwLDAsMjU1LDAsMCwwLDExNSw2LDAsMCwwLDEyLDIsMTIsCisgICAgNCwxMiw3LDExNCwxMDMsMCwwLDAsOTksMSwwLDAsMCwwLDAsMCwKKyAgICAwLDMsMCwwLDAsMTEsMCwwLDAsMywwLDAsMCwxMTUsMTM5LDAsCisgICAgMCwwLDEwMCwxLDAsMTI1LDEsMCwxMjEsMTcsMCwxMTYsMCwwLDEzNiwwLAorICAgIDAsMjUsMTMxLDAsMCwxMjUsMSwwLDg3LDExMCwxOCwwLDQsMTE2LDEsMCwKKyAgICAxMDcsMTAsMCwxMTQsNDMsMCwxLDEsMSw4OSwxMTAsMSwwLDg4LDEyNCwxLAorICAgIDAsMTAwLDEsMCwxMDcsOCwwLDExNCwxMzUsMCwxMTYsMiwwLDEwMCwxLDAsCisgICAgMTA3LDgsMCwxMTQsODMsMCwxMTYsMywwLDEzNiwwLDAsMTMxLDEsMCwxMjUsCisgICAgMSwwLDExMCwxMiwwLDExNiw0LDAsMTM2LDAsMCwxMzEsMSwwLDEyNSwxLAorICAgIDAsMTM1LDAsMCwxMDIsMSwwLDEwMCwyLDAsMTAwLDMsMCwxMzQsMCwwLAorICAgIDEyNSwyLDAsMTE2LDUsMCwxMDYsNiwwLDEyNCwxLDAsMTI0LDIsMCwxMzEsCisgICAgMiwwLDExNiwwLDAsMTM2LDAsMCw2MCwxMjQsMSwwLDgzLDQxLDQsMTIyLAorICAgIDEwOSw3MSwxMDEsMTE2LDMyLDExMSwxMTQsMzIsOTksMTE0LDEwMSw5NywxMTYsMTAxLDMyLDExNiwKKyAgICAxMDQsMTAxLDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDMyLDEwOCwxMTEsOTksMTA3LDMyLDEwMiwKKyAgICAxMTEsMTE0LDMyLDk3LDMyLDEwMywxMDUsMTE4LDEwMSwxMTAsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwKKyAgICAxMDEsMzIsMTEwLDk3LDEwOSwxMDEsNDYsMTAsMTAsMzIsMzIsMzIsMzIsODMsMTA0LDExMSwKKyAgICAxMTcsMTA4LDEwMCwzMiwxMTEsMTEwLDEwOCwxMjEsMzIsOTgsMTAxLDMyLDk5LDk3LDEwOCwxMDgsCisgICAgMTAxLDEwMCwzMiwxMTksMTA1LDExNiwxMDQsMzIsMTE2LDEwNCwxMDEsMzIsMTA1LDEwOSwxMTIsMTExLAorICAgIDExNCwxMTYsMzIsMTA4LDExMSw5OSwxMDcsMzIsMTE2LDk3LDEwNywxMDEsMTEwLDQ2LDc4LDk5LAorICAgIDEsMCwwLDAsMCwwLDAsMCwxLDAsMCwwLDIsMCwwLDAsCisgICAgMTksMCwwLDAsMTE1LDExLDAsMCwwLDExNiwwLDAsMTM2LDAsMCw2MSwKKyAgICAxMDAsMCwwLDgzLDQxLDEsNzgsNDEsMSwyMTgsMTMsOTUsMTA5LDExMSwxMDAsMTE3LAorICAgIDEwOCwxMDEsOTUsMTA4LDExMSw5OSwxMDcsMTE1LDQxLDEsMTE0LDM2LDAsMCwwLDQxLAorICAgIDEsMTE0LDY3LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLAorICAgIDIxOCwyLDk5LDk4LDMyLDEsMCwwLDExNSwyLDAsMCwwLDAsMSwxMjIsCisgICAgMjgsOTUsMTAzLDEwMSwxMTYsOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsOTUsMTA4LDExMSw5OSwKKyAgICAxMDcsNDYsNjAsMTA4LDExMSw5OSw5NywxMDgsMTE1LDYyLDQ2LDk5LDk4LDQxLDcsMTE0LAorICAgIDEwOSwwLDAsMCwxMTQsNzksMCwwLDAsMTE0LDg1LDAsMCwwLDExNCwxMDIsCisgICAgMCwwLDAsMTE0LDgzLDAsMCwwLDIxOCw4LDk1LDExOSwxMDEsOTcsMTA3LDExNCwKKyAgICAxMDEsMTAyLDkwLDMsMTE0LDEwMSwxMDIsNDEsMywxMTQsNjcsMCwwLDAsMTE0LDg2LAorICAgIDAsMCwwLDExNCwxMTAsMCwwLDAsMTE0LDQsMCwwLDAsNDEsMSwxMTQsCisgICAgNjcsMCwwLDAsMTE0LDUsMCwwLDAsMTE0LDEwNSwwLDAsMCwxOCwxLAorICAgIDAsMCwxMTUsMjQsMCwwLDAsMCw0LDYsMSwzLDEsMTcsMSwxMywKKyAgICAxLDUsMSwxMiwxLDEyLDEsMTUsMiwxMiwxLDE4LDIsMjIsMSwxMTQsCisgICAgMTA1LDAsMCwwLDk5LDEsMCwwLDAsMCwwLDAsMCwyLDAsMCwKKyAgICAwLDExLDAsMCwwLDY3LDAsMCwwLDExNSw3MSwwLDAsMCwxMTYsMCwKKyAgICAwLDEyNCwwLDAsMTMxLDEsMCwxMjUsMSwwLDExNiwxLDAsMTA2LDIsMCwKKyAgICAxMzEsMCwwLDEsMTIxLDE0LDAsMTI0LDEsMCwxMDYsMywwLDEzMSwwLDAsCisgICAgMSw4NywxMTAsMTgsMCw0LDExNiw0LDAsMTA3LDEwLDAsMTE0LDU2LDAsMSwKKyAgICAxLDEsODksMTEwLDExLDAsODgsMTI0LDEsMCwxMDYsNSwwLDEzMSwwLDAsCisgICAgMSwxMDAsMSwwLDgzLDQxLDIsOTcsMjEsMSwwLDAsODIsMTAxLDEwOCwxMDEsCisgICAgOTcsMTE1LDEwMSwzMiwxMTYsMTA0LDEwMSwzMiwxMDMsMTA4LDExMSw5OCw5NywxMDgsMzIsMTA1LAorICAgIDEwOSwxMTIsMTExLDExNCwxMTYsMzIsMTA4LDExMSw5OSwxMDcsNDQsMzIsOTcsMTEwLDEwMCwzMiwKKyAgICA5Nyw5OSwxMTMsMTE3LDEwNSwxMTQsMTAxLDExNSwzMiwxMTYsMTA0LDEwMSwxMTAsMzIsMTE0LDEwMSwKKyAgICAxMDgsMTAxLDk3LDExNSwxMDEsMzIsMTE2LDEwNCwxMDEsMTAsMzIsMzIsMzIsMzIsMTA5LDExMSwKKyAgICAxMDAsMTE3LDEwOCwxMDEsMzIsMTA4LDExMSw5OSwxMDcsMzIsMTAyLDExMSwxMTQsMzIsOTcsMzIsCisgICAgMTAzLDEwNSwxMTgsMTAxLDExMCwzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwzMiwxMTAsOTcsMTA5LAorICAgIDEwMSw0NiwxMCwzMiwzMiwzMiwzMiw4NCwxMDQsMTA1LDExNSwzMiwxMDUsMTE1LDMyLDExNywKKyAgICAxMTUsMTAxLDEwMCwzMiwxMTYsMTExLDMyLDEwMSwxMTAsMTE1LDExNywxMTQsMTAxLDMyLDk3LDMyLAorICAgIDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDMyLDEwNSwxMTUsMzIsOTksMTExLDEwOSwxMTIsMTA4LDEwMSwKKyAgICAxMTYsMTAxLDEwOCwxMjEsMzIsMTA1LDExMCwxMDUsMTE2LDEwNSw5NywxMDgsMTA1LDEyMiwxMDEsMTAwLAorICAgIDQ0LDMyLDEwNSwxMTAsMzIsMTE2LDEwNCwxMDEsMTAsMzIsMzIsMzIsMzIsMTAxLDExOCwxMDEsCisgICAgMTEwLDExNiwzMiwxMDUsMTE2LDMyLDEwNSwxMTUsMzIsOTgsMTAxLDEwNSwxMTAsMTAzLDMyLDEwNSwKKyAgICAxMDksMTEyLDExMSwxMTQsMTE2LDEwMSwxMDAsMzIsOTgsMTIxLDMyLDk3LDExMCwxMTEsMTE2LDEwNCwKKyAgICAxMDEsMTE0LDMyLDExNiwxMDQsMTE0LDEwMSw5NywxMDAsNDYsMTAsMTAsMzIsMzIsMzIsMzIsCisgICAgODMsMTA0LDExMSwxMTcsMTA4LDEwMCwzMiwxMTEsMTEwLDEwOCwxMjEsMzIsOTgsMTAxLDMyLDk5LAorICAgIDk3LDEwOCwxMDgsMTAxLDEwMCwzMiwxMTksMTA1LDExNiwxMDQsMzIsMTE2LDEwNCwxMDEsMzIsMTA1LAorICAgIDEwOSwxMTIsMTExLDExNCwxMTYsMzIsMTA4LDExMSw5OSwxMDcsMzIsMTE2LDk3LDEwNywxMDEsMTEwLAorICAgIDQ2LDc4LDQxLDYsMTE0LDEwNSwwLDAsMCwxMTQsMTA2LDAsMCwwLDExNCwxMDcsCisgICAgMCwwLDAsMTE0LDk3LDAsMCwwLDExNCw4MiwwLDAsMCwxMTQsOTgsMCwKKyAgICAwLDAsNDEsMiwxMTQsNjcsMCwwLDAsMTE0LDg2LDAsMCwwLDExNCw0LAorICAgIDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDIxOCwxOSw5NSwKKyAgICAxMDgsMTExLDk5LDEwNyw5NSwxMTcsMTEwLDEwOCwxMTEsOTksMTA3LDk1LDEwOSwxMTEsMTAwLDExNywKKyAgICAxMDgsMTAxLDM3LDEsMCwwLDExNSwxNCwwLDAsMCwwLDcsMTIsMSwxMCwKKyAgICAxLDMsMSwxNCwxLDEzLDMsNSwyLDExNCwxMTIsMCwwLDAsOTksMSwKKyAgICAwLDAsMCwwLDAsMCwwLDMsMCwwLDAsMywwLDAsMCw3OSwKKyAgICAwLDAsMCwxMTUsMTMsMCwwLDAsMTI0LDAsMCwxMjQsMSwwLDEyNCwyLAorICAgIDAsMTQyLDAsMCw4Myw0MSwxLDk3LDQ2LDEsMCwwLDExNCwxMDEsMTA5LDExMSwKKyAgICAxMTgsMTAxLDk1LDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDEwOCwxMDUsOTgsOTUsMTAyLDExNCw5NywKKyAgICAxMDksMTAxLDExNSwzMiwxMDUsMTEwLDMyLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDQ2LDk5LDMyLAorICAgIDExOSwxMDUsMTA4LDEwOCwzMiw5NywxMDgsMTE5LDk3LDEyMSwxMTUsMzIsMTE0LDEwMSwxMDksMTExLAorICAgIDExOCwxMDEsMzIsMTE1LDEwMSwxMTMsMTE3LDEwMSwxMTAsOTksMTAxLDExNSwxMCwzMiwzMiwzMiwKKyAgICAzMiwxMTEsMTAyLDMyLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDEwOCwxMDUsOTgsMzIsMTAyLDExNCwKKyAgICA5NywxMDksMTAxLDExNSwzMiwxMTYsMTA0LDk3LDExNiwzMiwxMDEsMTEwLDEwMCwzMiwxMTksMTA1LAorICAgIDExNiwxMDQsMzIsOTcsMzIsOTksOTcsMTA4LDEwOCwzMiwxMTYsMTExLDMyLDExNiwxMDQsMTA1LAorICAgIDExNSwzMiwxMDIsMTE3LDExMCw5OSwxMTYsMTA1LDExMSwxMTAsMTAsMTAsMzIsMzIsMzIsMzIsCisgICAgODUsMTE1LDEwMSwzMiwxMDUsMTE2LDMyLDEwNSwxMTAsMTE1LDExNiwxMDEsOTcsMTAwLDMyLDExMSwKKyAgICAxMDIsMzIsOTcsMzIsMTEwLDExMSwxMTQsMTA5LDk3LDEwOCwzMiw5OSw5NywxMDgsMTA4LDMyLAorICAgIDEwNSwxMTAsMzIsMTEyLDEwOCw5Nyw5OSwxMDEsMTE1LDMyLDExOSwxMDQsMTAxLDExNCwxMDEsMzIsCisgICAgMTA1LDExMCw5OSwxMDgsMTE3LDEwMCwxMDUsMTEwLDEwMywzMiwxMTYsMTA0LDEwMSwzMiwxMDUsMTA5LAorICAgIDExMiwxMTEsMTE0LDExNiwxMDgsMTA1LDk4LDEwLDMyLDMyLDMyLDMyLDEwMiwxMTQsOTcsMTA5LAorICAgIDEwMSwxMTUsMzIsMTA1LDExMCwxMTYsMTE0LDExMSwxMDAsMTE3LDk5LDEwMSwxMTUsMzIsMTE3LDExMCwKKyAgICAxMTksOTcsMTEwLDExNiwxMDEsMTAwLDMyLDExMCwxMTEsMTA1LDExNSwxMDEsMzIsMTA1LDExMCwxMTYsCisgICAgMTExLDMyLDExNiwxMDQsMTAxLDMyLDExNiwxMTQsOTcsOTksMTAxLDk4LDk3LDk5LDEwNywzMiwKKyAgICA0MCwxMDEsNDYsMTAzLDQ2LDMyLDExOSwxMDQsMTAxLDExMCwzMiwxMDEsMTIwLDEwMSw5OSwxMTcsCisgICAgMTE2LDEwNSwxMTAsMTAzLDEwLDMyLDMyLDMyLDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDMyLAorICAgIDk5LDExMSwxMDAsMTAxLDQxLDEwLDMyLDMyLDMyLDMyLDExNCw0LDAsMCwwLDQxLAorICAgIDMsMjE4LDEsMTAyLDExNCw4MCwwLDAsMCw5MCw0LDEwNywxMTksMTAwLDExNSwxMTQsCisgICAgNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwyMTgsMjUsCisgICAgOTUsOTksOTcsMTA4LDEwOCw5NSwxMTksMTA1LDExNiwxMDQsOTUsMTAyLDExNCw5NywxMDksMTAxLAorICAgIDExNSw5NSwxMTQsMTAxLDEwOSwxMTEsMTE4LDEwMSwxMDAsNTcsMSwwLDAsMTE1LDIsMCwKKyAgICAwLDAsMCw4LDExNCwxMTQsMCwwLDAsMTA1LDI0OCwxMiwwLDAsMjMzLDIsCisgICAgMCwwLDAsMTE0LDEzLDAsMCwwLDExNSwyLDAsMCwwLDEzLDEwLDkwLAorICAgIDExLDk1LDk1LDExMiwxMjEsOTksOTcsOTksMTA0LDEwMSw5NSw5NSwxMjIsMyw0NiwxMTIsCisgICAgMTIxLDEyMiw0LDQ2LDExMiwxMjEsOTksMTIyLDQsNDYsMTEyLDEyMSwxMTEsNzgsOTksMiwKKyAgICAwLDAsMCwwLDAsMCwwLDExLDAsMCwwLDYsMCwwLDAsNjcsCisgICAgMCwwLDAsMTE1LDE4OSwwLDAsMCwxMjQsMSwwLDEwMCwxLDAsMTA3LDgsCisgICAgMCwxMTQsMjUsMCwxMTYsMCwwLDEwNiwxLDAsMTA2LDIsMCwxMiwxMTAsMywKKyAgICAwLDEyNCwxLDAsMTI1LDIsMCwxMjQsMiwwLDExNCw0NiwwLDExNiwzLDAsCisgICAgMTI1LDMsMCwxMTAsNiwwLDExNiw0LDAsMTI1LDMsMCwxMTYsNSwwLDEyNCwKKyAgICAwLDAsMTMxLDEsMCw5MiwyLDAsMTI1LDQsMCwxMjUsNSwwLDEyNCw1LAorICAgIDAsMTA2LDYsMCwxMDAsMiwwLDEzMSwxLDAsOTIsMywwLDEyNSw2LDAsCisgICAgMTI1LDcsMCwxMjUsOCwwLDExNiwwLDAsMTA2LDcsMCwxMDYsOCwwLDEyNSwKKyAgICA5LDAsMTI0LDksMCwxMDAsMSwwLDEwNyw4LDAsMTE0LDEzMCwwLDExNiw5LAorICAgIDAsMTAwLDMsMCwxMzEsMSwwLDEzMCwxLDAsMTAwLDQsMCwxMDYsMTAsMCwKKyAgICAxMjQsNiwwLDExNCwxNDgsMCwxMjQsNiwwLDExMCwzLDAsMTI0LDgsMCwxMjQsCisgICAgNywwLDEyNCw5LDAsMTI0LDMsMCwxMDAsNSwwLDI1LDEwMyw0LDAsMTMxLAorICAgIDEsMCwxMjUsMTAsMCwxMTYsMTEsMCwxMjQsNCwwLDExNiwxMiwwLDEyNCwxMCwKKyAgICAwLDEzMSwzLDAsODMsNDEsNiw5NywyNDQsMSwwLDAsNzEsMTA1LDExOCwxMDEsCisgICAgMTEwLDMyLDExNiwxMDQsMTAxLDMyLDExMiw5NywxMTYsMTA0LDMyLDExNiwxMTEsMzIsOTcsMzIsCisgICAgNDYsMTEyLDEyMSwzMiwxMDIsMTA1LDEwOCwxMDEsNDQsMzIsMTE0LDEwMSwxMTYsMTE3LDExNCwxMTAsCiAgICAgMzIsMTE2LDEwNCwxMDEsMzIsMTEyLDk3LDExNiwxMDQsMzIsMTE2LDExMSwzMiwxMDUsMTE2LDExNSwKLSAgICAzMiw0NiwxMTIsMTIxLDMyLDEwMiwxMDUsMTA4LDEwMSw0NiwxMCwxMCwzMiwzMiwzMiwzMiwKLSAgICA4NCwxMDQsMTAxLDMyLDQ2LDExMiwxMjEsOTksNDcsNDYsMTEyLDEyMSwxMTEsMzIsMTAyLDEwNSwKKyAgICAzMiw0NiwxMTIsMTIxLDk5LDQ3LDQ2LDExMiwxMjEsMTExLDMyLDEwMiwxMDUsMTA4LDEwMSw0NiwKKyAgICAxMCwxMCwzMiwzMiwzMiwzMiw4NCwxMDQsMTAxLDMyLDQ2LDExMiwxMjEsMzIsMTAyLDEwNSwKICAgICAxMDgsMTAxLDMyLDEwMCwxMTEsMTAxLDExNSwzMiwxMTAsMTExLDExNiwzMiwxMTAsMTAxLDEwMSwxMDAsCiAgICAgMzIsMTE2LDExMSwzMiwxMDEsMTIwLDEwNSwxMTUsMTE2LDU5LDMyLDExNiwxMDQsMTA1LDExNSwzMiwKICAgICAxMTUsMTA1LDEwOSwxMTIsMTA4LDEyMSwzMiwxMTQsMTAxLDExNiwxMTcsMTE0LDExMCwxMTUsMzIsMTE2LAotICAgIDEwNCwxMDEsMzIsMTEyLDk3LDExNiwxMDQsMzIsMTE2LDExMSwxMCwzMiwzMiwzMiwzMiwxMTYsCi0gICAgMTA0LDEwMSwzMiw0NiwxMTIsMTIxLDMyLDEwMiwxMDUsMTA4LDEwMSwzMiw5OSw5NywxMDgsOTksCi0gICAgMTE3LDEwOCw5NywxMTYsMTAxLDEwMCwzMiwxMTYsMTExLDMyLDk5LDExMSwxMTQsMTE0LDEwMSwxMTUsCi0gICAgMTEyLDExMSwxMTAsMTAwLDMyLDExNiwxMTEsMzIsMTE2LDEwNCwxMDEsMzIsNDYsMTEyLDEyMSw5OSwKLSAgICA0Nyw0NiwxMTIsMTIxLDExMSwzMiwxMDIsMTA1LDEwOCwxMDEsNDYsMzIsMzIsNzMsMTAyLDMyLAotICAgIDExMiw5NywxMTYsMTA0LDMyLDEwMCwxMTEsMTAxLDExNSwxMCwzMiwzMiwzMiwzMiwxMTAsMTExLAotICAgIDExNiwzMiw5OSwxMTEsMTEwLDEwMiwxMTEsMTE0LDEwOSwzMiwxMTYsMTExLDMyLDgwLDY5LDgwLAotICAgIDMyLDUxLDQ5LDUyLDU1LDMyLDEwMiwxMTEsMTE0LDEwOSw5NywxMTYsNDQsMzIsODYsOTcsCi0gICAgMTA4LDExNywxMDEsNjksMTE0LDExNCwxMTEsMTE0LDMyLDExOSwxMDUsMTA4LDEwOCwzMiw5OCwxMDEsCi0gICAgMzIsMTE0LDk3LDEwNSwxMTUsMTAxLDEwMCw0NiwzMiw3MywxMDIsMTAsMzIsMzIsMzIsMzIsCi0gICAgMTE1LDEyMSwxMTUsNDYsMTA1LDEwOSwxMTIsMTA4LDEwMSwxMDksMTAxLDExMCwxMTYsOTcsMTE2LDEwNSwKLSAgICAxMTEsMTEwLDQ2LDk5LDk3LDk5LDEwNCwxMDEsOTUsMTE2LDk3LDEwMywzMiwxMDUsMTE1LDMyLAotICAgIDc4LDExMSwxMTAsMTAxLDMyLDExNiwxMDQsMTAxLDExMCwzMiw3OCwxMTEsMTE2LDczLDEwOSwxMTIsCi0gICAgMTA4LDEwMSwxMDksMTAxLDExMCwxMTYsMTAxLDEwMCw2OSwxMTQsMTE0LDExMSwxMTQsMzIsMTA1LDExNSwKLSAgICAzMiwxMTQsOTcsMTA1LDExNSwxMDEsMTAwLDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDc4LDEyMiwKLSAgICAzNiwxMTUsMTIxLDExNSw0NiwxMDUsMTA5LDExMiwxMDgsMTAxLDEwOSwxMDEsMTEwLDExNiw5NywxMTYsCi0gICAgMTA1LDExMSwxMTAsNDYsOTksOTcsOTksMTA0LDEwMSw5NSwxMTYsOTcsMTAzLDMyLDEwNSwxMTUsCi0gICAgMzIsNzgsMTExLDExMCwxMDEsMTIyLDM3LDEyMywxMjUsMzIsMTEwLDExMSwxMTYsMzIsOTgsMTExLAotICAgIDExNiwxMTYsMTExLDEwOSw0NSwxMDgsMTAxLDExOCwxMDEsMTA4LDMyLDEwMCwxMDUsMTE0LDEwMSw5OSwKLSAgICAxMTYsMTExLDExNCwxMjEsMzIsMTA1LDExMCwzMiwxMjMsMzMsMTE0LDEyNSwxMTQsMTE2LDAsMCwKLSAgICAwLDExNCwxMTUsMCwwLDAsMTIyLDI4LDEwMSwxMjAsMTEyLDEwMSw5OSwxMTYsMTAxLDEwMCwKLSAgICAzMiwxMTEsMTEwLDEwOCwxMjEsMzIsNTAsMzIsMTAwLDExMSwxMTYsMTE1LDMyLDEwNSwxMTAsMzIsCi0gICAgMTIzLDMzLDExNCwxMjUsMTE0LDg0LDAsMCwwLDQxLDEyLDExNCw3LDAsMCwwLAotICAgIDExNCwxMjEsMCwwLDAsMTE0LDEyMiwwLDAsMCwxMTQsMTIzLDAsMCwwLDExNCwKLSAgICAzOCwwLDAsMCwxMTQsMTI0LDAsMCwwLDIxOCwxMCw4Niw5NywxMDgsMTE3LDEwMSwKLSAgICA2OSwxMTQsMTE0LDExMSwxMTQsMTE0LDQ3LDAsMCwwLDExNCw4OSwwLDAsMCwyMTgsCi0gICAgOSwxMTIsOTcsMTE0LDExNiwxMDUsMTE2LDEwNSwxMTEsMTEwLDExNCwyOCwwLDAsMCwyMTgsCi0gICAgMTUsODMsNzksODUsODIsNjcsNjksOTUsODMsODUsNzAsNzAsNzMsODgsNjksODMsCi0gICAgNDEsNSwxMTQsMzUsMCwwLDAsMTE0LDEyNywwLDAsMCw5MCwxNiwxMTIsMTIxLAotICAgIDk5LDk3LDk5LDEwNCwxMDEsOTUsMTAyLDEwNSwxMDgsMTAxLDExMCw5NywxMDksMTAxLDkwLDcsCi0gICAgMTEyLDEyMSw5OSw5Nyw5OSwxMDQsMTAxLDkwLDEzLDk4LDk3LDExNSwxMDEsOTUsMTAyLDEwNSwKLSAgICAxMDgsMTAxLDExMCw5NywxMDksMTAxLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLAotICAgIDExNCw1LDAsMCwwLDIxOCwxNywxMTUsMTExLDExNywxMTQsOTksMTAxLDk1LDEwMiwxMTQsCi0gICAgMTExLDEwOSw5NSw5OSw5Nyw5OSwxMDQsMTAxLDIwOCwxLDAsMCwxMTUsMjQsMCwwLAotICAgIDAsMCw5LDE4LDEsMTUsMSwxOCwxLDE4LDEsMTIsMSw5LDEsMTgsCi0gICAgMSwyMSwxLDksMSwxNSwxLDE5LDEsMTE0LDEzNiwwLDAsMCw5OSwxLAotICAgIDAsMCwwLDAsMCwwLDAsNSwwLDAsMCwxMiwwLDAsMCw2NywKLSAgICAwLDAsMCwxMTUsMTY0LDAsMCwwLDExNiwwLDAsMTI0LDAsMCwxMzEsMSwKLSAgICAwLDEwMCwxLDAsMTA3LDIsMCwxMTQsMjIsMCwxMDAsMiwwLDgzLDEyNCwwLAotICAgIDAsMTA2LDEsMCwxMDAsMywwLDEzMSwxLDAsOTIsMywwLDEyNSwxLDAsCi0gICAgMTI1LDIsMCwxMjUsMywwLDEyNCwxLDAsMTIsMTE1LDgxLDAsMTI0LDMsMCwKLSAgICAxMDYsMiwwLDEzMSwwLDAsMTAwLDcsMCwxMDAsOCwwLDEzMywyLDAsMjUsCi0gICAgMTAwLDYsMCwxMDcsMywwLDExNCw4NSwwLDEyNCwwLDAsODMsMTIxLDE2LDAsCi0gICAgMTE2LDMsMCwxMjQsMCwwLDEzMSwxLDAsMTI1LDQsMCw4NywxMTAsNDAsMCwKLSAgICA0LDExNiw0LDAsMTE2LDUsMCwxMDIsMiwwLDEwNywxMCwwLDExNCwxNDMsMCwKLSAgICAxLDEsMSwxMjQsMCwwLDEwMCwyLDAsMTAwLDksMCwxMzMsMiwwLDI1LAotICAgIDEyNSw0LDAsODksMTEwLDEsMCw4OCwxMTYsNiwwLDEyNCw0LDAsMTMxLDEsCi0gICAgMCwxMTQsMTYwLDAsMTI0LDQsMCw4MywxMjQsMCwwLDgzLDQxLDEwLDEyMiwxODgsCi0gICAgNjcsMTExLDExMCwxMTgsMTAxLDExNCwxMTYsMzIsOTcsMzIsOTgsMTIxLDExNiwxMDEsOTksMTExLAotICAgIDEwMCwxMDEsMzIsMTAyLDEwNSwxMDgsMTAxLDMyLDExMiw5NywxMTYsMTA0LDMyLDExNiwxMTEsMzIsCi0gICAgOTcsMzIsMTE1LDExMSwxMTcsMTE0LDk5LDEwMSwzMiwxMTIsOTcsMTE2LDEwNCwzMiw0MCwxMDUsCi0gICAgMTAyLDMyLDExMiwxMTEsMTE1LDExNSwxMDUsOTgsMTA4LDEwMSw0MSw0NiwxMCwxMCwzMiwzMiwKLSAgICAzMiwzMiw4NCwxMDQsMTA1LDExNSwzMiwxMDIsMTE3LDExMCw5OSwxMTYsMTA1LDExMSwxMTAsMzIsCi0gICAgMTAxLDEyMCwxMDUsMTE1LDExNiwxMTUsMzIsMTEyLDExNywxMTQsMTAxLDEwOCwxMjEsMzIsMTAyLDExMSwKLSAgICAxMTQsMzIsOTgsOTcsOTksMTA3LDExOSw5NywxMTQsMTAwLDExNSw0NSw5OSwxMTEsMTA5LDExMiwKLSAgICA5NywxMTYsMTA1LDk4LDEwNSwxMDgsMTA1LDExNiwxMjEsMzIsMTAyLDExMSwxMTQsMTAsMzIsMzIsCi0gICAgMzIsMzIsODAsMTIxLDczLDEwOSwxMTIsMTExLDExNCwxMTYsOTUsNjksMTIwLDEwMSw5OSw2NywKLSAgICAxMTEsMTAwLDEwMSw3NywxMTEsMTAwLDExNywxMDgsMTAxLDg3LDEwNSwxMTYsMTA0LDcwLDEwNSwxMDgsCi0gICAgMTAxLDExMCw5NywxMDksMTAxLDExNSw0MCw0MSwzMiwxMDUsMTEwLDMyLDExNiwxMDQsMTAxLDMyLAotICAgIDY3LDMyLDY1LDgwLDczLDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDExNCw4NCwwLDAsCi0gICAgMCw3OCwxMTQsMTE2LDAsMCwwLDIzMywzLDAsMCwwLDExNCwyOSwwLDAsCi0gICAgMCw5MCwyLDExMiwxMjEsMjMzLDI1MywyNTUsMjU1LDI1NSwyMzMsMjU1LDI1NSwyNTUsMjU1LDExNCwKLSAgICAxMzksMCwwLDAsNDEsNywxMTQsMzEsMCwwLDAsMTE0LDMyLDAsMCwwLAotICAgIDIxOCw1LDEwOCwxMTEsMTE5LDEwMSwxMTQsMTE0LDEzNiwwLDAsMCwxMTQsMTIzLDAsMCwKLSAgICAwLDExNCwxMzMsMCwwLDAsMTE0LDQ0LDAsMCwwLDQxLDUsMjE4LDEzLDk4LAotICAgIDEyMSwxMTYsMTAxLDk5LDExMSwxMDAsMTAxLDk1LDExMiw5NywxMTYsMTA0LDExNCwxMzAsMCwwLAotICAgIDAsMTE0LDM2LDAsMCwwLDkwLDksMTAxLDEyMCwxMTYsMTAxLDExMCwxMTUsMTA1LDExMSwKLSAgICAxMTAsMjE4LDExLDExNSwxMTEsMTE3LDExNCw5OSwxMDEsOTUsMTEyLDk3LDExNiwxMDQsMTE0LDQsCi0gICAgMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMjE4LDE1LDk1LAotICAgIDEwMywxMDEsMTE2LDk1LDExNSwxMTEsMTE3LDExNCw5OSwxMDEsMTAyLDEwNSwxMDgsMTAxLDIzMSwxLAotICAgIDAsMCwxMTUsMjAsMCwwLDAsMCw3LDE4LDEsNCwxLDI0LDEsMzUsCi0gICAgMSw0LDEsMywxLDE2LDEsMTksMSwyMSwxLDExNCwxNDMsMCwwLDAsCi0gICAgOTksMSwwLDAsMCwwLDAsMCwwLDIsMCwwLDAsMTEsMCwwLAotICAgIDAsNjcsMCwwLDAsMTE1LDYwLDAsMCwwLDEyMSwxOSwwLDExNiwwLDAsCi0gICAgMTI0LDAsMCwxMzEsMSwwLDEwNiwxLDAsMTI1LDEsMCw4NywxMTAsMjQsMCwKLSAgICA0LDExNiwyLDAsMTA3LDEwLDAsMTE0LDQ1LDAsMSwxLDEsMTAwLDEsMCwKLSAgICAxMjUsMSwwLDg5LDExMCwxLDAsODgsMTI0LDEsMCwxMDAsMiwwLDc5LDEyNSwKLSAgICAxLDAsMTI0LDEsMCw4Myw0MSwzLDEyMiw1MSw2Nyw5NywxMDgsOTksMTE3LDEwOCwKLSAgICA5NywxMTYsMTAxLDMyLDExNiwxMDQsMTAxLDMyLDEwOSwxMTEsMTAwLDEwMSwzMiwxMTIsMTAxLDExNCwKLSAgICAxMDksMTA1LDExNSwxMTUsMTA1LDExMSwxMTAsMTE1LDMyLDEwMiwxMTEsMTE0LDMyLDk3LDMyLDk4LAotICAgIDEyMSwxMTYsMTAxLDk5LDExMSwxMDAsMTAxLDMyLDEwMiwxMDUsMTA4LDEwMSw0NiwxMDUsMTgyLDEsCi0gICAgMCwwLDIzMywxMjgsMCwwLDAsNDEsMywxMTQsMzksMCwwLDAsMTE0LDQxLAotICAgIDAsMCwwLDExNCw0MCwwLDAsMCw0MSwyLDExNCwzNSwwLDAsMCwxMTQsCi0gICAgNDIsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsCi0gICAgMCwwLDAsMjE4LDEwLDk1LDk5LDk3LDEwOCw5OSw5NSwxMDksMTExLDEwMCwxMDEsMjUwLAotICAgIDEsMCwwLDExNSwxMiwwLDAsMCwwLDIsMywxLDE5LDEsMTMsMSwKLSAgICAxMSwzLDEwLDEsMTE0LDE0NSwwLDAsMCwyMTgsOSwxMTgsMTAxLDExNCw5OCwxMTEsCi0gICAgMTE1LDEwNSwxMTYsMTIxLDExNCwyOSwwLDAsMCw5OSwxLDAsMCwwLDEsMCwKLSAgICAwLDAsMywwLDAsMCw0LDAsMCwwLDcxLDAsMCwwLDExNSw4MSwKLSAgICAwLDAsMCwxMTYsMCwwLDEwNiwxLDAsMTA2LDIsMCwxMjQsMSwwLDEwNywKLSAgICA1LDAsMTE0LDc3LDAsMTI0LDAsMCwxMDYsMywwLDEwMCw2LDAsMTMxLDEsCi0gICAgMCwxMTUsNDYsMCwxMDAsMywwLDEyNCwwLDAsMjMsMTI1LDAsMCwxMTAsMCwKLSAgICAwLDExNiw0LDAsMTI0LDAsMCwxMDYsNSwwLDEyNCwyLDAsMTQwLDAsMCwKLSAgICAxMDAsNCwwLDExNiwwLDAsMTA2LDYsMCwxMzEsMSwxLDEsMTEwLDAsMCwKLSAgICAxMDAsNSwwLDgzLDQxLDcsMTIyLDYxLDgwLDExNCwxMDUsMTEwLDExNiwzMiwxMTYsMTA0LAotICAgIDEwMSwzMiwxMDksMTAxLDExNSwxMTUsOTcsMTAzLDEwMSwzMiwxMTYsMTExLDMyLDExNSwxMTYsMTAwLAotICAgIDEwMSwxMTQsMTE0LDMyLDEwNSwxMDIsMzIsNDUsMTE4LDQ3LDgwLDg5LDg0LDcyLDc5LDc4LAotICAgIDg2LDY5LDgyLDY2LDc5LDgzLDY5LDMyLDEwNSwxMTUsMzIsMTE2LDExNywxMTQsMTEwLDEwMSwKLSAgICAxMDAsMzIsMTExLDExMCw0NiwyNTAsMSwzNSwyNTAsNywxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwKLSAgICAzMiwxMjIsMiwzNSwzMiwxMTQsNTQsMCwwLDAsNzgsNDEsMiwxMTQsMTQ3LDAsCi0gICAgMCwwLDExNCwxNDgsMCwwLDAsNDEsNywxMTQsNywwLDAsMCwxMTQsMTE3LAotICAgIDAsMCwwLDIxOCw3LDExOCwxMDEsMTE0LDk4LDExMSwxMTUsMTAxLDExNCw5LDAsMCwKLSAgICAwLDIxOCw1LDExMiwxMTQsMTA1LDExMCwxMTYsMTE0LDQ3LDAsMCwwLDIxOCw2LDExNSwKLSAgICAxMTYsMTAwLDEwMSwxMTQsMTE0LDQxLDMsMjE4LDcsMTA5LDEwMSwxMTUsMTE1LDk3LDEwMywxMDEsCi0gICAgMTE0LDE0NiwwLDAsMCwxMTQsODAsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LAotICAgIDQsMCwwLDAsMTE0LDUsMCwwLDAsMjE4LDE2LDk1LDExOCwxMDEsMTE0LDk4LAotICAgIDExMSwxMTUsMTAxLDk1LDEwOSwxMDEsMTE1LDExNSw5NywxMDMsMTAxLDYsMiwwLDAsMTE1LAotICAgIDgsMCwwLDAsMCwyLDE4LDEsMTUsMSwxMywxLDExNCwxNTMsMCwwLAotICAgIDAsOTksMSwwLDAsMCwwLDAsMCwwLDIsMCwwLDAsNCwwLAotICAgIDAsMCwzLDAsMCwwLDExNSwzOCwwLDAsMCwxMDAsMSwwLDEzNSwwLAotICAgIDAsMTAyLDEsMCwxMDAsMiwwLDEwMCwzLDAsMTM0LDEsMCwxMjUsMSwwLAotICAgIDExNiwwLDAsMTI0LDEsMCwxMzYsMCwwLDEzMSwyLDAsMSwxMjQsMSwwLAotICAgIDgzLDQxLDQsMTIyLDI1Miw2OCwxMDEsOTksMTExLDExNCw5NywxMTYsMTExLDExNCwzMiwxMTYsCi0gICAgMTExLDMyLDExOCwxMDEsMTE0LDEwNSwxMDIsMTIxLDMyLDExNiwxMDQsOTcsMTE2LDMyLDExNiwxMDQsCi0gICAgMTAxLDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDMyLDk4LDEwMSwxMDUsMTEwLDEwMywzMiwxMTQsCi0gICAgMTAxLDExMywxMTcsMTAxLDExNSwxMTYsMTAxLDEwMCwzMiwxMDksOTcsMTE2LDk5LDEwNCwxMDEsMTE1LAotICAgIDMyLDExNiwxMDQsMTAxLDMyLDExMSwxMTAsMTAxLDMyLDExNiwxMDQsMTAxLDEwLDMyLDMyLDMyLAotICAgIDMyLDEwOCwxMTEsOTcsMTAwLDEwMSwxMTQsMzIsOTksOTcsMTEwLDMyLDEwNCw5NywxMTAsMTAwLAotICAgIDEwOCwxMDEsNDYsMTAsMTAsMzIsMzIsMzIsMzIsODQsMTA0LDEwMSwzMiwxMDIsMTA1LDExNCwKLSAgICAxMTUsMTE2LDMyLDk3LDExNCwxMDMsMTE3LDEwOSwxMDEsMTEwLDExNiwzMiw0MCwxMTUsMTAxLDEwOCwKLSAgICAxMDIsNDEsMzIsMTA5LDExNywxMTUsMTE2LDMyLDEwMCwxMDEsMTAyLDEwNSwxMTAsMTAxLDMyLDk1LAotICAgIDExMCw5NywxMDksMTAxLDMyLDExOSwxMDQsMTA1LDk5LDEwNCwzMiwxMTYsMTA0LDEwMSwzMiwxMTUsCi0gICAgMTAxLDk5LDExMSwxMTAsMTAwLDMyLDk3LDExNCwxMDMsMTE3LDEwOSwxMDEsMTEwLDExNiwzMiwxMDUsCi0gICAgMTE1LDEwLDMyLDMyLDMyLDMyLDk5LDExMSwxMDksMTEyLDk3LDExNCwxMDEsMTAwLDMyLDk3LAotICAgIDEwMyw5NywxMDUsMTEwLDExNSwxMTYsNDYsMzIsNzMsMTAyLDMyLDExNiwxMDQsMTAxLDMyLDk5LAotICAgIDExMSwxMDksMTEyLDk3LDExNCwxMDUsMTE1LDExMSwxMTAsMzIsMTAyLDk3LDEwNSwxMDgsMTE1LDMyLAotICAgIDExNiwxMDQsMTAxLDExMCwzMiw3MywxMDksMTEyLDExMSwxMTQsMTE2LDY5LDExNCwxMTQsMTExLDExNCwKLSAgICAzMiwxMDUsMTE1LDMyLDExNCw5NywxMDUsMTE1LDEwMSwxMDAsNDYsMTAsMTAsMzIsMzIsMzIsCi0gICAgMzIsNzgsOTksMiwwLDAsMCwwLDAsMCwwLDQsMCwwLDAsNSwKLSAgICAwLDAsMCwzMSwwLDAsMCwxMTUsODMsMCwwLDAsMTI0LDEsMCwxMDAsCi0gICAgMCwwLDEwNyw4LDAsMTE0LDI0LDAsMTI0LDAsMCwxMDYsMCwwLDEyNSwxLAotICAgIDAsMTEwLDQwLDAsMTI0LDAsMCwxMDYsMCwwLDEyNCwxLDAsMTA3LDMsMCwKLSAgICAxMTQsNjQsMCwxMTYsMSwwLDEwMCwxLDAsMTI0LDEsMCwyMiwxMDAsMiwwLAotICAgIDEyNCwxLDAsMTMxLDEsMSwxMzAsMSwwLDExMCwwLDAsMTM2LDAsMCwxMjQsCi0gICAgMCwwLDEyNCwxLDAsMTI0LDIsMCwxMjQsMywwLDE0MiwyLDAsODMsNDEsCi0gICAgMyw3OCwxMjIsMjMsMTA4LDExMSw5NywxMDAsMTAxLDExNCwzMiw5OSw5NywxMTAsMTEwLDExMSwKLSAgICAxMTYsMzIsMTA0LDk3LDExMCwxMDAsMTA4LDEwMSwzMiwzNywxMTUsMTE0LDY3LDAsMCwwLAotICAgIDQxLDIsMTE0LDY3LDAsMCwwLDIxOCwxMSw3MywxMDksMTEyLDExMSwxMTQsMTE2LDY5LAotICAgIDExNCwxMTQsMTExLDExNCw0MSw0LDExNCw3MSwwLDAsMCwxMTQsNjcsMCwwLDAsCi0gICAgMTE0LDgwLDAsMCwwLDExNCwxMDgsMCwwLDAsNDEsMSwyMTgsNiwxMDksMTAxLAotICAgIDExNiwxMDQsMTExLDEwMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwyMTgsMTksCi0gICAgOTUsOTksMTA0LDEwMSw5OSwxMDcsOTUsMTEwLDk3LDEwOSwxMDEsOTUsMTE5LDExNCw5NywxMTIsCi0gICAgMTEyLDEwMSwxMTQsMjIsMiwwLDAsMTE1LDEwLDAsMCwwLDAsMSwxMiwxLAotICAgIDEyLDEsMTUsMSwyNSwxLDEyMiw0MCw5NSw5OSwxMDQsMTAxLDk5LDEwNyw5NSwxMTAsCi0gICAgOTcsMTA5LDEwMSw0Niw2MCwxMDgsMTExLDk5LDk3LDEwOCwxMTUsNjIsNDYsOTUsOTksMTA0LAotICAgIDEwMSw5OSwxMDcsOTUsMTEwLDk3LDEwOSwxMDEsOTUsMTE5LDExNCw5NywxMTIsMTEyLDEwMSwxMTQsCi0gICAgNDEsMSwxMTQsNjUsMCwwLDAsNDEsMiwxMTQsMTU1LDAsMCwwLDExNCwxNTYsCi0gICAgMCwwLDAsMTE0LDQsMCwwLDAsNDEsMSwxMTQsMTU1LDAsMCwwLDExNCwKLSAgICA1LDAsMCwwLDIxOCwxMSw5NSw5OSwxMDQsMTAxLDk5LDEwNyw5NSwxMTAsOTcsMTA5LAotICAgIDEwMSwxNCwyLDAsMCwxMTUsNiwwLDAsMCwwLDgsMjEsNiwxMywxLAotICAgIDExNCwxNTcsMCwwLDAsOTksMSwwLDAsMCwwLDAsMCwwLDIsMCwKLSAgICAwLDAsMywwLDAsMCwzLDAsMCwwLDExNSwzNSwwLDAsMCwxMzUsCi0gICAgMCwwLDEwMiwxLDAsMTAwLDEsMCwxMDAsMiwwLDEzNCwwLDAsMTI1LDEsCi0gICAgMCwxMTYsMCwwLDEyNCwxLDAsMTM2LDAsMCwxMzEsMiwwLDEsMTI0LDEsCi0gICAgMCw4Myw0MSwzLDEyMiw0OSw2OCwxMDEsOTksMTExLDExNCw5NywxMTYsMTExLDExNCwzMiwKLSAgICAxMTYsMTExLDMyLDExOCwxMDEsMTE0LDEwNSwxMDIsMTIxLDMyLDExNiwxMDQsMTAxLDMyLDExMCw5NywKLSAgICAxMDksMTAxLDEwMCwzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwzMiwxMDUsMTE1LDMyLDk4LDExNywKLSAgICAxMDUsMTA4LDExNiw0NSwxMDUsMTEwLDQ2LDk5LDIsMCwwLDAsMCwwLDAsMCwKLSAgICAyLDAsMCwwLDQsMCwwLDAsMTksMCwwLDAsMTE1LDU4LDAsMCwKLSAgICAwLDEyNCwxLDAsMTE2LDAsMCwxMDYsMSwwLDEwNyw3LDAsMTE0LDQ1LDAsCi0gICAgMTE2LDIsMCwxMDAsMSwwLDEwNiwzLDAsMTI0LDEsMCwxMzEsMSwwLDEwMCwKLSAgICAyLDAsMTI0LDEsMCwxMzEsMSwxLDEzMCwxLDAsMTEwLDAsMCwxMzYsMCwKLSAgICAwLDEyNCwwLDAsMTI0LDEsMCwxMzEsMiwwLDgzLDQxLDMsNzgsMTIyLDI5LAotICAgIDEyMywzMywxMTQsMTI1LDMyLDEwNSwxMTUsMzIsMTEwLDExMSwxMTYsMzIsOTcsMzIsOTgsMTE3LAotICAgIDEwNSwxMDgsMTE2LDQ1LDEwNSwxMTAsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMTE0LDY3LDAsCi0gICAgMCwwLDQxLDQsMTE0LDcsMCwwLDAsMjE4LDIwLDk4LDExNywxMDUsMTA4LDExNiwKLSAgICAxMDUsMTEwLDk1LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDk1LDExMCw5NywxMDksMTAxLDExNSwxMTQsCi0gICAgMTU0LDAsMCwwLDExNCw0NywwLDAsMCw0MSwyLDExNCw3MSwwLDAsMCwKLSAgICAyMTgsOCwxMDIsMTE3LDEwOCwxMDgsMTEwLDk3LDEwOSwxMDEsNDEsMSwyMTgsMywxMDIsMTIwLAotICAgIDExMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwyMTgsMjUsOTUsMTE0LDEwMSwKLSAgICAxMTMsMTE3LDEwNSwxMTQsMTAxLDExNSw5NSw5OCwxMTcsMTA1LDEwOCwxMTYsMTA1LDExMCw5NSwxMTksCi0gICAgMTE0LDk3LDExMiwxMTIsMTAxLDExNCwzNCwyLDAsMCwxMTUsOCwwLDAsMCwwLAotICAgIDEsMTUsMSwxOCwxLDEyLDEsMTIyLDUyLDk1LDExNCwxMDEsMTEzLDExNywxMDUsMTE0LAotICAgIDEwMSwxMTUsOTUsOTgsMTE3LDEwNSwxMDgsMTE2LDEwNSwxMTAsNDYsNjAsMTA4LDExMSw5OSw5NywKLSAgICAxMDgsMTE1LDYyLDQ2LDk1LDExNCwxMDEsMTEzLDExNywxMDUsMTE0LDEwMSwxMTUsOTUsOTgsMTE3LAotICAgIDEwNSwxMDgsMTE2LDEwNSwxMTAsOTUsMTE5LDExNCw5NywxMTIsMTEyLDEwMSwxMTQsNDEsMSwxMTQsCi0gICAgNjUsMCwwLDAsNDEsMiwxMTQsMTYwLDAsMCwwLDExNCwxNjEsMCwwLDAsCi0gICAgMTE0LDQsMCwwLDAsNDEsMSwxMTQsMTYwLDAsMCwwLDExNCw1LDAsMCwKLSAgICAwLDIxOCwxNyw5NSwxMTQsMTAxLDExMywxMTcsMTA1LDExNCwxMDEsMTE1LDk1LDk4LDExNywxMDUsCi0gICAgMTA4LDExNiwxMDUsMTEwLDMyLDIsMCwwLDExNSw2LDAsMCwwLDAsMiwxOCwKLSAgICA1LDEzLDEsMTE0LDE2MiwwLDAsMCw5OSwxLDAsMCwwLDAsMCwwLAotICAgIDAsMiwwLDAsMCwzLDAsMCwwLDMsMCwwLDAsMTE1LDM1LDAsCi0gICAgMCwwLDEzNSwwLDAsMTAyLDEsMCwxMDAsMSwwLDEwMCwyLDAsMTM0LDAsCi0gICAgMCwxMjUsMSwwLDExNiwwLDAsMTI0LDEsMCwxMzYsMCwwLDEzMSwyLDAsCi0gICAgMSwxMjQsMSwwLDgzLDQxLDMsMTIyLDQ3LDY4LDEwMSw5OSwxMTEsMTE0LDk3LDExNiwKLSAgICAxMTEsMTE0LDMyLDExNiwxMTEsMzIsMTE4LDEwMSwxMTQsMTA1LDEwMiwxMjEsMzIsMTE2LDEwNCwxMDEsCi0gICAgMzIsMTEwLDk3LDEwOSwxMDEsMTAwLDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDMyLDEwNSwxMTUsCi0gICAgMzIsMTAyLDExNCwxMTEsMTIyLDEwMSwxMTAsNDYsOTksMiwwLDAsMCwwLDAsMCwKLSAgICAwLDIsMCwwLDAsNCwwLDAsMCwxOSwwLDAsMCwxMTUsNTgsMCwKLSAgICAwLDAsMTE2LDAsMCwxMDYsMSwwLDEyNCwxLDAsMTMxLDEsMCwxMTUsNDUsCi0gICAgMCwxMTYsMiwwLDEwMCwxLDAsMTA2LDMsMCwxMjQsMSwwLDEzMSwxLDAsCi0gICAgMTAwLDIsMCwxMjQsMSwwLDEzMSwxLDEsMTMwLDEsMCwxMTAsMCwwLDEzNiwKKyAgICAxMDQsMTAxLDMyLDExMiw5NywxMTYsMTA0LDMyLDExNiwxMTEsMzIsMTE2LDEwNCwxMDEsMTAsMzIsCisgICAgMzIsMzIsMzIsNDYsMTEyLDEyMSw5OSw0Nyw0NiwxMTIsMTIxLDExMSwzMiwxMDIsMTA1LDEwOCwKKyAgICAxMDEsMzIsOTksOTcsMTA4LDk5LDExNywxMDgsOTcsMTE2LDEwMSwxMDAsMzIsOTcsMTE1LDMyLAorICAgIDEwNSwxMDIsMzIsMTE2LDEwNCwxMDEsMzIsNDYsMTEyLDEyMSwzMiwxMDIsMTA1LDEwOCwxMDEsMzIsCisgICAgMTE5LDEwMSwxMTQsMTAxLDMyLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDEwMSwxMDAsNDYsMzIsMzIsCisgICAgODQsMTA0LDEwMSwzMiwxMDEsMTIwLDExNiwxMDEsMTEwLDExNSwxMDUsMTExLDExMCwxMCwzMiwzMiwKKyAgICAzMiwzMiwxMTksMTA1LDEwOCwxMDgsMzIsOTgsMTAxLDMyLDQ2LDExMiwxMjEsOTksMzIsMTE3LAorICAgIDExMCwxMDgsMTAxLDExNSwxMTUsMzIsMTE1LDEyMSwxMTUsNDYsMTAyLDEwOCw5NywxMDMsMTE1LDQ2LAorICAgIDExMSwxMTIsMTE2LDEwNSwxMDksMTA1LDEyMiwxMDEsMzIsMTA1LDExNSwzMiwxMTAsMTExLDExMCw0NSwKKyAgICAxMjIsMTAxLDExNCwxMTEsNDQsMzIsMTE2LDEwNCwxMDEsMTEwLDMyLDEwNSwxMTYsMzIsMTE5LDEwNSwKKyAgICAxMDgsMTA4LDMyLDk4LDEwMSwzMiw0NiwxMTIsMTIxLDExMSw0NiwxMCwxMCwzMiwzMiwzMiwKKyAgICAzMiw3MywxMDIsMzIsMTAwLDEwMSw5OCwxMTcsMTAzLDk1LDExMSwxMTgsMTAxLDExNCwxMTQsMTA1LAorICAgIDEwMCwxMDEsMzIsMTA1LDExNSwzMiwxMTAsMTExLDExNiwzMiw3OCwxMTEsMTEwLDEwMSw0NCwzMiwKKyAgICAxMTYsMTA0LDEwMSwxMTAsMzIsMTA1LDExNiwzMiwxMDksMTE3LDExNSwxMTYsMzIsOTgsMTAxLDMyLAorICAgIDk3LDMyLDk4LDExMSwxMTEsMTA4LDEwMSw5NywxMTAsMzIsOTcsMTEwLDEwMCwzMiwxMDUsMTE1LAorICAgIDMyLDExNywxMTUsMTAxLDEwMCwzMiwxMDUsMTEwLDEwLDMyLDMyLDMyLDMyLDExMiwxMDgsOTcsCisgICAgOTksMTAxLDMyLDExMSwxMDIsMzIsMTE1LDEyMSwxMTUsNDYsMTAyLDEwOCw5NywxMDMsMTE1LDQ2LAorICAgIDExMSwxMTIsMTE2LDEwNSwxMDksMTA1LDEyMiwxMDEsNDYsMTAsMTAsMzIsMzIsMzIsMzIsNzMsCisgICAgMTAyLDMyLDExNSwxMjEsMTE1LDQ2LDEwNSwxMDksMTEyLDEwOCwxMDEsMTA5LDEwMSwxMTAsMTE2LDk3LAorICAgIDExNiwxMDUsMTExLDExMCw0Niw5OSw5Nyw5OSwxMDQsMTAxLDk1LDExNiw5NywxMDMsMzIsMTA1LAorICAgIDExNSwzMiw3OCwxMTEsMTEwLDEwMSwzMiwxMTYsMTA0LDEwMSwxMTAsMzIsNzgsMTExLDExNiw3MywKKyAgICAxMDksMTEyLDEwOCwxMDEsMTA5LDEwMSwxMTAsMTE2LDEwMSwxMDAsNjksMTE0LDExNCwxMTEsMTE0LDMyLAorICAgIDEwNSwxMTUsMzIsMTE0LDk3LDEwNSwxMTUsMTAxLDEwMCw0NiwxMCwxMCwzMiwzMiwzMiwzMiwKKyAgICA3OCwyMTgsMSw0NiwxMjIsMzYsMTE1LDEyMSwxMTUsNDYsMTA1LDEwOSwxMTIsMTA4LDEwMSwxMDksCisgICAgMTAxLDExMCwxMTYsOTcsMTE2LDEwNSwxMTEsMTEwLDQ2LDk5LDk3LDk5LDEwNCwxMDEsOTUsMTE2LAorICAgIDk3LDEwMywzMiwxMDUsMTE1LDMyLDc4LDExMSwxMTAsMTAxLDExNCwzMCwwLDAsMCwxMTQsCisgICAgODQsMCwwLDAsNDEsMTMsMTE0LDcsMCwwLDAsMjE4LDUsMTAyLDEwOCw5NywKKyAgICAxMDMsMTE1LDIxOCw4LDExMSwxMTIsMTE2LDEwNSwxMDksMTA1LDEyMiwxMDEsMjE4LDIzLDY4LDY5LAorICAgIDY2LDg1LDcxLDk1LDY2LDg5LDg0LDY5LDY3LDc5LDY4LDY5LDk1LDgzLDg1LDcwLAorICAgIDcwLDczLDg4LDY5LDgzLDIxOCwyNyw3OSw4MCw4NCw3Myw3Nyw3Myw5MCw2OSw2OCwKKyAgICA5NSw2Niw4OSw4NCw2OSw2Nyw3OSw2OCw2OSw5NSw4Myw4NSw3MCw3MCw3Myw4OCwKKyAgICA2OSw4MywxMTQsMzgsMCwwLDAsMTE0LDMyLDAsMCwwLDIxOCwxNCwxMDUsMTA5LAorICAgIDExMiwxMDgsMTAxLDEwOSwxMDEsMTEwLDExNiw5NywxMTYsMTA1LDExMSwxMTAsMjE4LDksOTksOTcsCisgICAgOTksMTA0LDEwMSw5NSwxMTYsOTcsMTAzLDIxOCwxOSw3OCwxMTEsMTE2LDczLDEwOSwxMTIsMTA4LAorICAgIDEwMSwxMDksMTAxLDExMCwxMTYsMTAxLDEwMCw2OSwxMTQsMTE0LDExMSwxMTQsMTE0LDI2LDAsMCwKKyAgICAwLDExNCwyOCwwLDAsMCwyMTgsOCw5NSw4MCw4OSw2Nyw2NSw2Nyw3Miw2OSwKKyAgICA0MSwxMSwxMTQsMzUsMCwwLDAsOTAsMTQsMTAwLDEwMSw5OCwxMTcsMTAzLDk1LDExMSwKKyAgICAxMTgsMTAxLDExNCwxMTQsMTA1LDEwMCwxMDEsMjE4LDUsMTAwLDEwMSw5OCwxMTcsMTAzLDIxOCw4LAorICAgIDExNSwxMTcsMTAyLDEwMiwxMDUsMTIwLDEwMSwxMTUsMjE4LDQsMTA0LDEwMSw5NywxMDAsMTE0LDM3LAorICAgIDAsMCwwLDIxOCw0LDk4LDk3LDExNSwxMDEsMjE4LDMsMTE1LDEwMSwxMTIsMjE4LDQsCisgICAgMTE0LDEwMSwxMTUsMTE2LDkwLDMsMTE2LDk3LDEwMywyMTgsOCwxMDIsMTA1LDEwOCwxMDEsMTEwLAorICAgIDk3LDEwOSwxMDEsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwKKyAgICAwLDAsMjE4LDE3LDk5LDk3LDk5LDEwNCwxMDEsOTUsMTAyLDExNCwxMTEsMTA5LDk1LDExNSwKKyAgICAxMTEsMTE3LDExNCw5OSwxMDEsMTgyLDEsMCwwLDExNSwyMiwwLDAsMCwwLDEzLAorICAgIDMxLDEsNiwxLDksMiw2LDEsMTgsMSwyNCwxLDEyLDEsMTIsMSwKKyAgICAxMiwxLDQzLDEsMTE0LDEzMiwwLDAsMCw5OSwxLDAsMCwwLDAsMCwKKyAgICAwLDAsNSwwLDAsMCw1LDAsMCwwLDY3LDAsMCwwLDExNSwxODQsCisgICAgMCwwLDAsMTE2LDAsMCwxMDYsMSwwLDEwNiwyLDAsMTAwLDEsMCwxMDcsCisgICAgOCwwLDExNCwzMCwwLDExNiwzLDAsMTAwLDIsMCwxMzEsMSwwLDEzMCwxLAorICAgIDAsMTE2LDQsMCwxMjQsMCwwLDEzMSwxLDAsOTIsMiwwLDEyNSwxLDAsCisgICAgMTI1LDIsMCwxMTYsNCwwLDEyNCwxLDAsMTMxLDEsMCw5MiwyLDAsMTI1LAorICAgIDEsMCwxMjUsMywwLDEyNCwzLDAsMTE2LDUsMCwxMDcsMywwLDExNCwxMDIsCisgICAgMCwxMTYsNiwwLDEwMCwzLDAsMTA2LDcsMCwxMTYsNSwwLDEyNCwwLDAsCisgICAgMTMxLDIsMCwxMzEsMSwwLDEzMCwxLDAsMTI0LDIsMCwxMDYsOCwwLDEwMCwKKyAgICA0LDAsMTMxLDEsMCwxMDAsNSwwLDEwNywzLDAsMTE0LDE0NCwwLDExNiw2LAorICAgIDAsMTAwLDYsMCwxMDYsNywwLDEyNCwyLDAsMTMxLDEsMCwxMzEsMSwwLAorICAgIDEzMCwxLDAsMTI0LDIsMCwxMDYsOSwwLDEwMCw0LDAsMTMxLDEsMCwxMDAsCisgICAgNywwLDI1LDEyNSw0LDAsMTE2LDEwLDAsMTI0LDEsMCwxMjQsNCwwLDExNiwKKyAgICAxMSwwLDEwMCw3LDAsMjUsMjMsMTMxLDIsMCw4Myw0MSw4LDk3LDEyMSwxLAorICAgIDAsMCw3MSwxMDUsMTE4LDEwMSwxMTAsMzIsMTE2LDEwNCwxMDEsMzIsMTEyLDk3LDExNiwxMDQsCisgICAgMzIsMTE2LDExMSwzMiw5NywzMiw0NiwxMTIsMTIxLDk5LDQ2LDQ3LDQ2LDExMiwxMjEsMTExLAorICAgIDMyLDEwMiwxMDUsMTA4LDEwMSw0NCwzMiwxMTQsMTAxLDExNiwxMTcsMTE0LDExMCwzMiwxMTYsMTA0LAorICAgIDEwMSwzMiwxMTIsOTcsMTE2LDEwNCwzMiwxMTYsMTExLDMyLDEwNSwxMTYsMTE1LDMyLDQ2LDExMiwKKyAgICAxMjEsMzIsMTAyLDEwNSwxMDgsMTAxLDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDg0LDEwNCwxMDEsCisgICAgMzIsNDYsMTEyLDEyMSw5OSw0Nyw0NiwxMTIsMTIxLDExMSwzMiwxMDIsMTA1LDEwOCwxMDEsMzIsCisgICAgMTAwLDExMSwxMDEsMTE1LDMyLDExMCwxMTEsMTE2LDMyLDExMCwxMDEsMTAxLDEwMCwzMiwxMTYsMTExLAorICAgIDMyLDEwMSwxMjAsMTA1LDExNSwxMTYsNTksMzIsMTE2LDEwNCwxMDUsMTE1LDMyLDExNSwxMDUsMTA5LAorICAgIDExMiwxMDgsMTIxLDMyLDExNCwxMDEsMTE2LDExNywxMTQsMTEwLDExNSwzMiwxMTYsMTA0LDEwMSwzMiwKKyAgICAxMTIsOTcsMTE2LDEwNCwzMiwxMTYsMTExLDEwLDMyLDMyLDMyLDMyLDExNiwxMDQsMTAxLDMyLAorICAgIDQ2LDExMiwxMjEsMzIsMTAyLDEwNSwxMDgsMTAxLDMyLDk5LDk3LDEwOCw5OSwxMTcsMTA4LDk3LAorICAgIDExNiwxMDEsMTAwLDMyLDExNiwxMTEsMzIsOTksMTExLDExNCwxMTQsMTAxLDExNSwxMTIsMTExLDExMCwKKyAgICAxMDAsMzIsMTE2LDExMSwzMiwxMTYsMTA0LDEwMSwzMiw0NiwxMTIsMTIxLDk5LDQ3LDQ2LDExMiwKKyAgICAxMjEsMTExLDMyLDEwMiwxMDUsMTA4LDEwMSw0NiwzMiwzMiw3MywxMDIsMzIsMTEyLDk3LDExNiwKKyAgICAxMDQsMzIsMTAwLDExMSwxMDEsMTE1LDEwLDMyLDMyLDMyLDMyLDExMCwxMTEsMTE2LDMyLDk5LAorICAgIDExMSwxMTAsMTAyLDExMSwxMTQsMTA5LDMyLDExNiwxMTEsMzIsODAsNjksODAsMzIsNTEsNDksCisgICAgNTIsNTUsMzIsMTAyLDExMSwxMTQsMTA5LDk3LDExNiw0NCwzMiw4Niw5NywxMDgsMTE3LDEwMSwKKyAgICA2OSwxMTQsMTE0LDExMSwxMTQsMzIsMTE5LDEwNSwxMDgsMTA4LDMyLDk4LDEwMSwzMiwxMTQsOTcsCisgICAgMTA1LDExNSwxMDEsMTAwLDQ2LDMyLDczLDEwMiwxMCwzMiwzMiwzMiwzMiwxMTUsMTIxLDExNSwKKyAgICA0NiwxMDUsMTA5LDExMiwxMDgsMTAxLDEwOSwxMDEsMTEwLDExNiw5NywxMTYsMTA1LDExMSwxMTAsNDYsCisgICAgOTksOTcsOTksMTA0LDEwMSw5NSwxMTYsOTcsMTAzLDMyLDEwNSwxMTUsMzIsNzgsMTExLDExMCwKKyAgICAxMDEsMzIsMTE2LDEwNCwxMDEsMTEwLDMyLDc4LDExMSwxMTYsNzMsMTA5LDExMiwxMDgsMTAxLDEwOSwKKyAgICAxMDEsMTEwLDExNiwxMDEsMTAwLDY5LDExNCwxMTQsMTExLDExNCwzMiwxMDUsMTE1LDMyLDExNCw5NywKKyAgICAxMDUsMTE1LDEwMSwxMDAsNDYsMTAsMTAsMzIsMzIsMzIsMzIsNzgsMTIyLDM2LDExNSwxMjEsCisgICAgMTE1LDQ2LDEwNSwxMDksMTEyLDEwOCwxMDEsMTA5LDEwMSwxMTAsMTE2LDk3LDExNiwxMDUsMTExLDExMCwKKyAgICA0Niw5OSw5Nyw5OSwxMDQsMTAxLDk1LDExNiw5NywxMDMsMzIsMTA1LDExNSwzMiw3OCwxMTEsCisgICAgMTEwLDEwMSwxMjIsMzcsMTIzLDEyNSwzMiwxMTAsMTExLDExNiwzMiw5OCwxMTEsMTE2LDExNiwxMTEsCisgICAgMTA5LDQ1LDEwOCwxMDEsMTE4LDEwMSwxMDgsMzIsMTAwLDEwNSwxMTQsMTAxLDk5LDExNiwxMTEsMTE0LAorICAgIDEyMSwzMiwxMDUsMTEwLDMyLDEyMywzMywxMTQsMTI1LDExNCwxMTYsMCwwLDAsMTE0LDExNSwKKyAgICAwLDAsMCwxMjIsMjgsMTAxLDEyMCwxMTIsMTAxLDk5LDExNiwxMDEsMTAwLDMyLDExMSwxMTAsCisgICAgMTA4LDEyMSwzMiw1MCwzMiwxMDAsMTExLDExNiwxMTUsMzIsMTA1LDExMCwzMiwxMjMsMzMsMTE0LAorICAgIDEyNSwxMTQsODQsMCwwLDAsNDEsMTIsMTE0LDcsMCwwLDAsMTE0LDEyMSwwLAorICAgIDAsMCwxMTQsMTIyLDAsMCwwLDExNCwxMjMsMCwwLDAsMTE0LDM4LDAsMCwKKyAgICAwLDExNCwxMjQsMCwwLDAsMjE4LDEwLDg2LDk3LDEwOCwxMTcsMTAxLDY5LDExNCwxMTQsCisgICAgMTExLDExNCwxMTQsNDcsMCwwLDAsMTE0LDg5LDAsMCwwLDIxOCw5LDExMiw5NywKKyAgICAxMTQsMTE2LDEwNSwxMTYsMTA1LDExMSwxMTAsMTE0LDI4LDAsMCwwLDIxOCwxNSw4Myw3OSwKKyAgICA4NSw4Miw2Nyw2OSw5NSw4Myw4NSw3MCw3MCw3Myw4OCw2OSw4Myw0MSw1LDExNCwKKyAgICAzNSwwLDAsMCwxMTQsMTI3LDAsMCwwLDkwLDE2LDExMiwxMjEsOTksOTcsOTksCisgICAgMTA0LDEwMSw5NSwxMDIsMTA1LDEwOCwxMDEsMTEwLDk3LDEwOSwxMDEsOTAsNywxMTIsMTIxLDk5LAorICAgIDk3LDk5LDEwNCwxMDEsOTAsMTMsOTgsOTcsMTE1LDEwMSw5NSwxMDIsMTA1LDEwOCwxMDEsMTEwLAorICAgIDk3LDEwOSwxMDEsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwKKyAgICAwLDAsMjE4LDE3LDExNSwxMTEsMTE3LDExNCw5OSwxMDEsOTUsMTAyLDExNCwxMTEsMTA5LDk1LAorICAgIDk5LDk3LDk5LDEwNCwxMDEsMjA5LDEsMCwwLDExNSwyNCwwLDAsMCwwLDksCisgICAgMTgsMSwxMiwxLDE4LDEsMTgsMSwxMiwxLDksMSwxNSwxLDIxLDEsCisgICAgOSwxLDEyLDEsMTksMSwxMTQsMTM2LDAsMCwwLDk5LDEsMCwwLDAsCisgICAgMCwwLDAsMCw1LDAsMCwwLDEyLDAsMCwwLDY3LDAsMCwwLAorICAgIDExNSwxNjQsMCwwLDAsMTE2LDAsMCwxMjQsMCwwLDEzMSwxLDAsMTAwLDEsCisgICAgMCwxMDcsMiwwLDExNCwyMiwwLDEwMCwyLDAsODMsMTI0LDAsMCwxMDYsMSwKKyAgICAwLDEwMCwzLDAsMTMxLDEsMCw5MiwzLDAsMTI1LDEsMCwxMjUsMiwwLAorICAgIDEyNSwzLDAsMTI0LDEsMCwxMiwxMTUsODEsMCwxMjQsMywwLDEwNiwyLDAsCisgICAgMTMxLDAsMCwxMDAsNywwLDEwMCw4LDAsMTMzLDIsMCwyNSwxMDAsNiwwLAorICAgIDEwNywzLDAsMTE0LDg1LDAsMTI0LDAsMCw4MywxMjEsMTYsMCwxMTYsMywwLAorICAgIDEyNCwwLDAsMTMxLDEsMCwxMjUsNCwwLDg3LDExMCw0MCwwLDQsMTE2LDQsCisgICAgMCwxMTYsNSwwLDEwMiwyLDAsMTA3LDEwLDAsMTE0LDE0MywwLDEsMSwxLAorICAgIDEyNCwwLDAsMTAwLDIsMCwxMDAsOSwwLDEzMywyLDAsMjUsMTI1LDQsMCwKKyAgICA4OSwxMTAsMSwwLDg4LDExNiw2LDAsMTI0LDQsMCwxMzEsMSwwLDExNCwxNjAsCisgICAgMCwxMjQsNCwwLDgzLDEyNCwwLDAsODMsNDEsMTAsMTIyLDE4OCw2NywxMTEsMTEwLAorICAgIDExOCwxMDEsMTE0LDExNiwzMiw5NywzMiw5OCwxMjEsMTE2LDEwMSw5OSwxMTEsMTAwLDEwMSwzMiwKKyAgICAxMDIsMTA1LDEwOCwxMDEsMzIsMTEyLDk3LDExNiwxMDQsMzIsMTE2LDExMSwzMiw5NywzMiwxMTUsCisgICAgMTExLDExNywxMTQsOTksMTAxLDMyLDExMiw5NywxMTYsMTA0LDMyLDQwLDEwNSwxMDIsMzIsMTEyLAorICAgIDExMSwxMTUsMTE1LDEwNSw5OCwxMDgsMTAxLDQxLDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDg0LAorICAgIDEwNCwxMDUsMTE1LDMyLDEwMiwxMTcsMTEwLDk5LDExNiwxMDUsMTExLDExMCwzMiwxMDEsMTIwLDEwNSwKKyAgICAxMTUsMTE2LDExNSwzMiwxMTIsMTE3LDExNCwxMDEsMTA4LDEyMSwzMiwxMDIsMTExLDExNCwzMiw5OCwKKyAgICA5Nyw5OSwxMDcsMTE5LDk3LDExNCwxMDAsMTE1LDQ1LDk5LDExMSwxMDksMTEyLDk3LDExNiwxMDUsCisgICAgOTgsMTA1LDEwOCwxMDUsMTE2LDEyMSwzMiwxMDIsMTExLDExNCwxMCwzMiwzMiwzMiwzMiw4MCwKKyAgICAxMjEsNzMsMTA5LDExMiwxMTEsMTE0LDExNiw5NSw2OSwxMjAsMTAxLDk5LDY3LDExMSwxMDAsMTAxLAorICAgIDc3LDExMSwxMDAsMTE3LDEwOCwxMDEsODcsMTA1LDExNiwxMDQsNzAsMTA1LDEwOCwxMDEsMTEwLDk3LAorICAgIDEwOSwxMDEsMTE1LDQwLDQxLDMyLDEwNSwxMTAsMzIsMTE2LDEwNCwxMDEsMzIsNjcsMzIsNjUsCisgICAgODAsNzMsNDYsMTAsMTAsMzIsMzIsMzIsMzIsMTE0LDg0LDAsMCwwLDc4LDExNCwKKyAgICAxMTYsMCwwLDAsMjMzLDMsMCwwLDAsMTE0LDI5LDAsMCwwLDkwLDIsCisgICAgMTEyLDEyMSwyMzMsMjUzLDI1NSwyNTUsMjU1LDIzMywyNTUsMjU1LDI1NSwyNTUsMTE0LDEzOSwwLDAsCisgICAgMCw0MSw3LDExNCwzMSwwLDAsMCwxMTQsMzIsMCwwLDAsMjE4LDUsMTA4LAorICAgIDExMSwxMTksMTAxLDExNCwxMTQsMTM2LDAsMCwwLDExNCwxMjMsMCwwLDAsMTE0LDEzMywKKyAgICAwLDAsMCwxMTQsNDQsMCwwLDAsNDEsNSwyMTgsMTMsOTgsMTIxLDExNiwxMDEsCisgICAgOTksMTExLDEwMCwxMDEsOTUsMTEyLDk3LDExNiwxMDQsMTE0LDEzMCwwLDAsMCwxMTQsMzYsCisgICAgMCwwLDAsOTAsOSwxMDEsMTIwLDExNiwxMDEsMTEwLDExNSwxMDUsMTExLDExMCwyMTgsMTEsCisgICAgMTE1LDExMSwxMTcsMTE0LDk5LDEwMSw5NSwxMTIsOTcsMTE2LDEwNCwxMTQsNCwwLDAsMCwKKyAgICAxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwyMTgsMTUsOTUsMTAzLDEwMSwxMTYsCisgICAgOTUsMTE1LDExMSwxMTcsMTE0LDk5LDEwMSwxMDIsMTA1LDEwOCwxMDEsMjMyLDEsMCwwLDExNSwKKyAgICAyMCwwLDAsMCwwLDcsMTgsMSw0LDEsMjQsMSwzNSwxLDQsMSwKKyAgICAzLDEsMTYsMSwxOSwxLDIxLDEsMTE0LDE0MywwLDAsMCw5OSwxLDAsCisgICAgMCwwLDAsMCwwLDAsMiwwLDAsMCwxMSwwLDAsMCw2NywwLAorICAgIDAsMCwxMTUsNjAsMCwwLDAsMTIxLDE5LDAsMTE2LDAsMCwxMjQsMCwwLAorICAgIDEzMSwxLDAsMTA2LDEsMCwxMjUsMSwwLDg3LDExMCwyNCwwLDQsMTE2LDIsCisgICAgMCwxMDcsMTAsMCwxMTQsNDUsMCwxLDEsMSwxMDAsMSwwLDEyNSwxLDAsCisgICAgODksMTEwLDEsMCw4OCwxMjQsMSwwLDEwMCwyLDAsNzksMTI1LDEsMCwxMjQsCisgICAgMSwwLDgzLDQxLDMsMTIyLDUxLDY3LDk3LDEwOCw5OSwxMTcsMTA4LDk3LDExNiwxMDEsCisgICAgMzIsMTE2LDEwNCwxMDEsMzIsMTA5LDExMSwxMDAsMTAxLDMyLDExMiwxMDEsMTE0LDEwOSwxMDUsMTE1LAorICAgIDExNSwxMDUsMTExLDExMCwxMTUsMzIsMTAyLDExMSwxMTQsMzIsOTcsMzIsOTgsMTIxLDExNiwxMDEsCisgICAgOTksMTExLDEwMCwxMDEsMzIsMTAyLDEwNSwxMDgsMTAxLDQ2LDEwNSwxODIsMSwwLDAsMjMzLAorICAgIDEyOCwwLDAsMCw0MSwzLDExNCwzOSwwLDAsMCwxMTQsNDEsMCwwLDAsCisgICAgMTE0LDQwLDAsMCwwLDQxLDIsMTE0LDM1LDAsMCwwLDExNCw0MiwwLDAsCisgICAgMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwKKyAgICAyMTgsMTAsOTUsOTksOTcsMTA4LDk5LDk1LDEwOSwxMTEsMTAwLDEwMSwyNTEsMSwwLDAsCisgICAgMTE1LDEyLDAsMCwwLDAsMiwzLDEsMTksMSwxMywxLDExLDMsMTAsCisgICAgMSwxMTQsMTQ1LDAsMCwwLDIxOCw5LDExOCwxMDEsMTE0LDk4LDExMSwxMTUsMTA1LDExNiwKKyAgICAxMjEsMTE0LDI5LDAsMCwwLDk5LDEsMCwwLDAsMSwwLDAsMCwzLAorICAgIDAsMCwwLDQsMCwwLDAsNzEsMCwwLDAsMTE1LDc1LDAsMCwwLAorICAgIDExNiwwLDAsMTA2LDEsMCwxMDYsMiwwLDEyNCwxLDAsMTA3LDUsMCwxMTQsCisgICAgNzEsMCwxMjQsMCwwLDEwNiwzLDAsMTAwLDYsMCwxMzEsMSwwLDExNSw0MywKKyAgICAwLDEwMCwzLDAsMTI0LDAsMCwyMywxMjUsMCwwLDExNiw0LDAsMTI0LDAsCisgICAgMCwxMDYsNSwwLDEyNCwyLDAsMTQwLDAsMCwxMDAsNCwwLDExNiwwLDAsCisgICAgMTA2LDYsMCwxMzEsMSwxLDEsMTAwLDUsMCw4Myw0MSw3LDEyMiw2MSw4MCwKKyAgICAxMTQsMTA1LDExMCwxMTYsMzIsMTE2LDEwNCwxMDEsMzIsMTA5LDEwMSwxMTUsMTE1LDk3LDEwMywxMDEsCisgICAgMzIsMTE2LDExMSwzMiwxMTUsMTE2LDEwMCwxMDEsMTE0LDExNCwzMiwxMDUsMTAyLDMyLDQ1LDExOCwKKyAgICA0Nyw4MCw4OSw4NCw3Miw3OSw3OCw4Niw2OSw4Miw2Niw3OSw4Myw2OSwzMiwxMDUsCisgICAgMTE1LDMyLDExNiwxMTcsMTE0LDExMCwxMDEsMTAwLDMyLDExMSwxMTAsNDYsMjUwLDEsMzUsMjUwLAorICAgIDcsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsMzIsMTIyLDIsMzUsMzIsMTE0LDU0LDAsMCwKKyAgICAwLDc4LDQxLDIsMTE0LDE0NywwLDAsMCwxMTQsMTQ4LDAsMCwwLDQxLDcsCisgICAgMTE0LDcsMCwwLDAsMTE0LDExNywwLDAsMCwyMTgsNywxMTgsMTAxLDExNCw5OCwKKyAgICAxMTEsMTE1LDEwMSwxMTQsOSwwLDAsMCwyMTgsNSwxMTIsMTE0LDEwNSwxMTAsMTE2LDExNCwKKyAgICA0NywwLDAsMCwyMTgsNiwxMTUsMTE2LDEwMCwxMDEsMTE0LDExNCw0MSwzLDIxOCw3LAorICAgIDEwOSwxMDEsMTE1LDExNSw5NywxMDMsMTAxLDExNCwxNDYsMCwwLDAsMTE0LDgwLDAsMCwKKyAgICAwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLAorICAgIDIxOCwxNiw5NSwxMTgsMTAxLDExNCw5OCwxMTEsMTE1LDEwMSw5NSwxMDksMTAxLDExNSwxMTUsOTcsCisgICAgMTAzLDEwMSw3LDIsMCwwLDExNSw4LDAsMCwwLDAsMiwxOCwxLDE1LAorICAgIDEsMTAsMSwxMTQsMTUzLDAsMCwwLDk5LDEsMCwwLDAsMCwwLDAsCisgICAgMCwyLDAsMCwwLDQsMCwwLDAsMywwLDAsMCwxMTUsMzgsMCwKKyAgICAwLDAsMTAwLDEsMCwxMzUsMCwwLDEwMiwxLDAsMTAwLDIsMCwxMDAsMywKKyAgICAwLDEzNCwxLDAsMTI1LDEsMCwxMTYsMCwwLDEyNCwxLDAsMTM2LDAsMCwKKyAgICAxMzEsMiwwLDEsMTI0LDEsMCw4Myw0MSw0LDEyMiwyNTIsNjgsMTAxLDk5LDExMSwKKyAgICAxMTQsOTcsMTE2LDExMSwxMTQsMzIsMTE2LDExMSwzMiwxMTgsMTAxLDExNCwxMDUsMTAyLDEyMSwzMiwKKyAgICAxMTYsMTA0LDk3LDExNiwzMiwxMTYsMTA0LDEwMSwzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwzMiwKKyAgICA5OCwxMDEsMTA1LDExMCwxMDMsMzIsMTE0LDEwMSwxMTMsMTE3LDEwMSwxMTUsMTE2LDEwMSwxMDAsMzIsCisgICAgMTA5LDk3LDExNiw5OSwxMDQsMTAxLDExNSwzMiwxMTYsMTA0LDEwMSwzMiwxMTEsMTEwLDEwMSwzMiwKKyAgICAxMTYsMTA0LDEwMSwxMCwzMiwzMiwzMiwzMiwxMDgsMTExLDk3LDEwMCwxMDEsMTE0LDMyLDk5LAorICAgIDk3LDExMCwzMiwxMDQsOTcsMTEwLDEwMCwxMDgsMTAxLDQ2LDEwLDEwLDMyLDMyLDMyLDMyLAorICAgIDg0LDEwNCwxMDEsMzIsMTAyLDEwNSwxMTQsMTE1LDExNiwzMiw5NywxMTQsMTAzLDExNywxMDksMTAxLAorICAgIDExMCwxMTYsMzIsNDAsMTE1LDEwMSwxMDgsMTAyLDQxLDMyLDEwOSwxMTcsMTE1LDExNiwzMiwxMDAsCisgICAgMTAxLDEwMiwxMDUsMTEwLDEwMSwzMiw5NSwxMTAsOTcsMTA5LDEwMSwzMiwxMTksMTA0LDEwNSw5OSwKKyAgICAxMDQsMzIsMTE2LDEwNCwxMDEsMzIsMTE1LDEwMSw5OSwxMTEsMTEwLDEwMCwzMiw5NywxMTQsMTAzLAorICAgIDExNywxMDksMTAxLDExMCwxMTYsMzIsMTA1LDExNSwxMCwzMiwzMiwzMiwzMiw5OSwxMTEsMTA5LAorICAgIDExMiw5NywxMTQsMTAxLDEwMCwzMiw5NywxMDMsOTcsMTA1LDExMCwxMTUsMTE2LDQ2LDMyLDczLAorICAgIDEwMiwzMiwxMTYsMTA0LDEwMSwzMiw5OSwxMTEsMTA5LDExMiw5NywxMTQsMTA1LDExNSwxMTEsMTEwLAorICAgIDMyLDEwMiw5NywxMDUsMTA4LDExNSwzMiwxMTYsMTA0LDEwMSwxMTAsMzIsNzMsMTA5LDExMiwxMTEsCisgICAgMTE0LDExNiw2OSwxMTQsMTE0LDExMSwxMTQsMzIsMTA1LDExNSwzMiwxMTQsOTcsMTA1LDExNSwxMDEsCisgICAgMTAwLDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDc4LDk5LDIsMCwwLDAsMCwwLAorICAgIDAsMCw0LDAsMCwwLDUsMCwwLDAsMzEsMCwwLDAsMTE1LDgwLAorICAgIDAsMCwwLDEyNCwxLDAsMTAwLDAsMCwxMDcsOCwwLDExNCwyNCwwLDEyNCwKKyAgICAwLDAsMTA2LDAsMCwxMjUsMSwwLDExMCwzNywwLDEyNCwwLDAsMTA2LDAsCisgICAgMCwxMjQsMSwwLDEwNywzLDAsMTE0LDYxLDAsMTE2LDEsMCwxMDAsMSwwLAorICAgIDEyNCwxLDAsMjIsMTAwLDIsMCwxMjQsMSwwLDEzMSwxLDEsMTMwLDEsMCwKKyAgICAxMzYsMCwwLDEyNCwwLDAsMTI0LDEsMCwxMjQsMiwwLDEyNCwzLDAsMTQyLAorICAgIDIsMCw4Myw0MSwzLDc4LDEyMiwyMywxMDgsMTExLDk3LDEwMCwxMDEsMTE0LDMyLDk5LAorICAgIDk3LDExMCwxMTAsMTExLDExNiwzMiwxMDQsOTcsMTEwLDEwMCwxMDgsMTAxLDMyLDM3LDExNSwxMTQsCisgICAgNjcsMCwwLDAsNDEsMiwxMTQsNjcsMCwwLDAsMjE4LDExLDczLDEwOSwxMTIsCisgICAgMTExLDExNCwxMTYsNjksMTE0LDExNCwxMTEsMTE0LDQxLDQsMTE0LDcxLDAsMCwwLDExNCwKKyAgICA2NywwLDAsMCwxMTQsODAsMCwwLDAsMTE0LDEwOCwwLDAsMCw0MSwxLAorICAgIDIxOCw2LDEwOSwxMDEsMTE2LDEwNCwxMTEsMTAwLDExNCw0LDAsMCwwLDExNCw1LDAsCisgICAgMCwwLDIxOCwxOSw5NSw5OSwxMDQsMTAxLDk5LDEwNyw5NSwxMTAsOTcsMTA5LDEwMSw5NSwKKyAgICAxMTksMTE0LDk3LDExMiwxMTIsMTAxLDExNCwyMywyLDAsMCwxMTUsMTAsMCwwLDAsCisgICAgMCwxLDEyLDEsMTIsMSwxNSwxLDIyLDEsMTIyLDQwLDk1LDk5LDEwNCwxMDEsCisgICAgOTksMTA3LDk1LDExMCw5NywxMDksMTAxLDQ2LDYwLDEwOCwxMTEsOTksOTcsMTA4LDExNSw2MiwKKyAgICA0Niw5NSw5OSwxMDQsMTAxLDk5LDEwNyw5NSwxMTAsOTcsMTA5LDEwMSw5NSwxMTksMTE0LDk3LAorICAgIDExMiwxMTIsMTAxLDExNCw0MSwxLDExNCw2NSwwLDAsMCw0MSwyLDExNCwxNTUsMCwKKyAgICAwLDAsMTE0LDE1NiwwLDAsMCwxMTQsNCwwLDAsMCw0MSwxLDExNCwxNTUsCisgICAgMCwwLDAsMTE0LDUsMCwwLDAsMjE4LDExLDk1LDk5LDEwNCwxMDEsOTksMTA3LAorICAgIDk1LDExMCw5NywxMDksMTAxLDE1LDIsMCwwLDExNSw2LDAsMCwwLDAsOCwKKyAgICAyMSw2LDEzLDEsMTE0LDE1NywwLDAsMCw5OSwxLDAsMCwwLDAsMCwKKyAgICAwLDAsMiwwLDAsMCwzLDAsMCwwLDMsMCwwLDAsMTE1LDM1LAorICAgIDAsMCwwLDEzNSwwLDAsMTAyLDEsMCwxMDAsMSwwLDEwMCwyLDAsMTM0LAorICAgIDAsMCwxMjUsMSwwLDExNiwwLDAsMTI0LDEsMCwxMzYsMCwwLDEzMSwyLAorICAgIDAsMSwxMjQsMSwwLDgzLDQxLDMsMTIyLDQ5LDY4LDEwMSw5OSwxMTEsMTE0LDk3LAorICAgIDExNiwxMTEsMTE0LDMyLDExNiwxMTEsMzIsMTE4LDEwMSwxMTQsMTA1LDEwMiwxMjEsMzIsMTE2LDEwNCwKKyAgICAxMDEsMzIsMTEwLDk3LDEwOSwxMDEsMTAwLDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDMyLDEwNSwKKyAgICAxMTUsMzIsOTgsMTE3LDEwNSwxMDgsMTE2LDQ1LDEwNSwxMTAsNDYsOTksMiwwLDAsMCwKKyAgICAwLDAsMCwwLDIsMCwwLDAsNCwwLDAsMCwxOSwwLDAsMCwKKyAgICAxMTUsNTUsMCwwLDAsMTI0LDEsMCwxMTYsMCwwLDEwNiwxLDAsMTA3LDcsCisgICAgMCwxMTQsNDIsMCwxMTYsMiwwLDEwMCwxLDAsMTA2LDMsMCwxMjQsMSwwLAorICAgIDEzMSwxLDAsMTAwLDIsMCwxMjQsMSwwLDEzMSwxLDEsMTMwLDEsMCwxMzYsCiAgICAgMCwwLDEyNCwwLDAsMTI0LDEsMCwxMzEsMiwwLDgzLDQxLDMsNzgsMTIyLAotICAgIDI3LDEyMywzMywxMTQsMTI1LDMyLDEwNSwxMTUsMzIsMTEwLDExMSwxMTYsMzIsOTcsMzIsMTAyLAotICAgIDExNCwxMTEsMTIyLDEwMSwxMTAsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMTE0LDY3LDAsMCwKLSAgICAwLDQxLDQsMTE0LDEwNiwwLDAsMCwyMTgsOSwxMDUsMTE1LDk1LDEwMiwxMTQsMTExLAotICAgIDEyMiwxMDEsMTEwLDExNCwxNTQsMCwwLDAsMTE0LDQ3LDAsMCwwLDQxLDIsMTE0LAotICAgIDcxLDAsMCwwLDExNCwxNTksMCwwLDAsNDEsMSwxMTQsMTYwLDAsMCwwLAotICAgIDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDIxOCwyNCw5NSwxMTQsMTAxLDExMywKLSAgICAxMTcsMTA1LDExNCwxMDEsMTE1LDk1LDEwMiwxMTQsMTExLDEyMiwxMDEsMTEwLDk1LDExOSwxMTQsOTcsCi0gICAgMTEyLDExMiwxMDEsMTE0LDQ1LDIsMCwwLDExNSw4LDAsMCwwLDAsMSwxNSwKLSAgICAxLDE4LDEsMTIsMSwxMjIsNTAsOTUsMTE0LDEwMSwxMTMsMTE3LDEwNSwxMTQsMTAxLDExNSwKLSAgICA5NSwxMDIsMTE0LDExMSwxMjIsMTAxLDExMCw0Niw2MCwxMDgsMTExLDk5LDk3LDEwOCwxMTUsNjIsCi0gICAgNDYsOTUsMTE0LDEwMSwxMTMsMTE3LDEwNSwxMTQsMTAxLDExNSw5NSwxMDIsMTE0LDExMSwxMjIsMTAxLAotICAgIDExMCw5NSwxMTksMTE0LDk3LDExMiwxMTIsMTAxLDExNCw0MSwxLDExNCw2NSwwLDAsMCwKLSAgICA0MSwyLDExNCwxNjAsMCwwLDAsMTE0LDE2NCwwLDAsMCwxMTQsNCwwLDAsCi0gICAgMCw0MSwxLDExNCwxNjAsMCwwLDAsMTE0LDUsMCwwLDAsMjE4LDE2LDk1LAotICAgIDExNCwxMDEsMTEzLDExNywxMDUsMTE0LDEwMSwxMTUsOTUsMTAyLDExNCwxMTEsMTIyLDEwMSwxMTAsNDMsCi0gICAgMiwwLDAsMTE1LDYsMCwwLDAsMCwyLDE4LDUsMTMsMSwxMTQsMTY1LAotICAgIDAsMCwwLDk5LDIsMCwwLDAsMCwwLDAsMCw1LDAsMCwwLAotICAgIDQsMCwwLDAsNjcsMCwwLDAsMTE1LDg3LDAsMCwwLDEyNCwwLDAsCi0gICAgMTA2LDAsMCwxMjQsMSwwLDEzMSwxLDAsOTIsMiwwLDEyNSwyLDAsMTI1LAotICAgIDMsMCwxMjQsMiwwLDEwMCwxLDAsMTA3LDgsMCwxMTQsODMsMCwxMTYsMSwKLSAgICAwLDEyNCwzLDAsMTMxLDEsMCwxMTQsODMsMCwxMDAsMiwwLDEyNSw0LDAsCi0gICAgMTE2LDIsMCwxMDYsMywwLDEyNCw0LDAsMTA2LDQsMCwxMjQsMywwLDEwMCwKLSAgICAzLDAsMjUsMTMxLDEsMCwxMTYsNSwwLDEzMSwyLDAsMSwxMTAsMCwwLAotICAgIDEyNCwyLDAsODMsNDEsNCwxMjIsMTU1LDg0LDExNCwxMjEsMzIsMTE2LDExMSwzMiwxMDIsCi0gICAgMTA1LDExMCwxMDAsMzIsOTcsMzIsMTA4LDExMSw5NywxMDAsMTAxLDExNCwzMiwxMDIsMTExLDExNCwKLSAgICAzMiwxMTYsMTA0LDEwMSwzMiwxMTUsMTEyLDEwMSw5OSwxMDUsMTAyLDEwNSwxMDEsMTAwLDMyLDEwOSwKLSAgICAxMTEsMTAwLDExNywxMDgsMTAxLDMyLDk4LDEyMSwzMiwxMDAsMTAxLDEwOCwxMDEsMTAzLDk3LDExNiwKLSAgICAxMDUsMTEwLDEwMywzMiwxMTYsMTExLDEwLDMyLDMyLDMyLDMyLDExNSwxMDEsMTA4LDEwMiw0NiwKLSAgICAxMDIsMTA1LDExMCwxMDAsOTUsMTA4LDExMSw5NywxMDAsMTAxLDExNCw0MCw0MSw0NiwxMCwxMCwKLSAgICAzMiwzMiwzMiwzMiw4NCwxMDQsMTA1LDExNSwzMiwxMDksMTAxLDExNiwxMDQsMTExLDEwMCwzMiwKLSAgICAxMDUsMTE1LDMyLDEwMCwxMDEsMTEyLDExNCwxMDEsOTksOTcsMTE2LDEwMSwxMDAsMzIsMTA1LDExMCwKLSAgICAzMiwxMDIsOTcsMTE4LDExMSwxMTQsMzIsMTExLDEwMiwzMiwxMDIsMTA1LDExMCwxMDAsMTAxLDExNCwKLSAgICA0NiwxMDIsMTA1LDExMCwxMDAsOTUsMTE1LDExMiwxMDEsOTksNDAsNDEsNDYsMTAsMTAsMzIsCi0gICAgMzIsMzIsMzIsNzgsMTIyLDQ0LDc4LDExMSwxMTYsMzIsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsCi0gICAgMTA1LDExMCwxMDMsMzIsMTAwLDEwNSwxMTQsMTAxLDk5LDExNiwxMTEsMTE0LDEyMSwzMiwxMjMsMTI1LAotICAgIDU4LDMyLDEwOSwxMDUsMTE1LDExNSwxMDUsMTEwLDEwMywzMiw5NSw5NSwxMDUsMTEwLDEwNSwxMTYsCi0gICAgOTUsOTUsMTE0LDg0LDAsMCwwLDQxLDYsMjE4LDExLDEwMiwxMDUsMTEwLDEwMCw5NSwKLSAgICAxMDgsMTExLDk3LDEwMCwxMDEsMTE0LDExNCwzMSwwLDAsMCwyMTgsOSw5NSwxMTksOTcsCi0gICAgMTE0LDExMCwxMDUsMTEwLDEwMywxMTUsMjE4LDQsMTE5LDk3LDExNCwxMTAsMTE0LDQ3LDAsMCwKLSAgICAwLDIxOCwxMyw3MywxMDksMTEyLDExMSwxMTQsMTE2LDg3LDk3LDExNCwxMTAsMTA1LDExMCwxMDMsCi0gICAgNDEsNSwxMTQsNzEsMCwwLDAsMTE0LDE1OSwwLDAsMCwyMTgsNiwxMDgsMTExLAotICAgIDk3LDEwMCwxMDEsMTE0LDIxOCw4LDExMiwxMTEsMTE0LDExNiwxMDUsMTExLDExMCwxMTUsMjE4LDMsCi0gICAgMTA5LDExNSwxMDMsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwKLSAgICAwLDAsMjE4LDE3LDk1LDEwMiwxMDUsMTEwLDEwMCw5NSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwKLSAgICA5NSwxMTUsMTA0LDEwNSwxMDksNTQsMiwwLDAsMTE1LDEwLDAsMCwwLDAsMTAsCi0gICAgMjEsMSwyNCwxLDYsMSwzMiwxLDExNCwxNzMsMCwwLDAsOTksMiwwLAotICAgIDAsMCwwLDAsMCwwLDUsMCwwLDAsMywwLDAsMCw2NywwLAotICAgIDAsMCwxMTUsOTMsMCwwLDAsMTE2LDAsMCwxMjQsMSwwLDEyNCwwLDAsCi0gICAgMTMxLDIsMCwxMjUsMiwwLDExNiwxLDAsMTI0LDIsMCwxMzEsMSwwLDEyNSwKLSAgICAzLDAsMTI0LDEsMCwxMTYsMiwwLDEwNiwzLDAsMTA3LDYsMCwxMTQsNzksCi0gICAgMCwxMTYsMiwwLDEwNiwzLDAsMTI0LDEsMCwyNSwxMjUsNCwwLDEyNCwzLAotICAgIDAsMTA2LDQsMCwxMjQsNCwwLDEzMSwxLDAsMSwxMTYsMiwwLDEwNiwzLAotICAgIDAsMTI0LDEsMCwyNSw4MywxMjQsMywwLDEwNiw1LDAsMTMxLDAsMCw4MywKLSAgICAxMDAsMSwwLDgzLDQxLDIsMTIyLDEyOCw3NiwxMTEsOTcsMTAwLDMyLDExNiwxMDQsMTAxLAotICAgIDMyLDExNSwxMTIsMTAxLDk5LDEwNSwxMDIsMTA1LDEwMSwxMDAsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwKLSAgICAxMDEsMzIsMTA1LDExMCwxMTYsMTExLDMyLDExNSwxMjEsMTE1LDQ2LDEwOSwxMTEsMTAwLDExNywxMDgsCi0gICAgMTAxLDExNSwzMiw5NywxMTAsMTAwLDMyLDExNCwxMDEsMTE2LDExNywxMTQsMTEwLDMyLDEwNSwxMTYsCi0gICAgNDYsMTAsMTAsMzIsMzIsMzIsMzIsODQsMTA0LDEwNSwxMTUsMzIsMTA5LDEwMSwxMTYsMTA0LAotICAgIDExMSwxMDAsMzIsMTA1LDExNSwzMiwxMDAsMTAxLDExMiwxMTQsMTAxLDk5LDk3LDExNiwxMDEsMTAwLAotICAgIDQ2LDMyLDMyLDg1LDExNSwxMDEsMzIsMTA4LDExMSw5NywxMDAsMTAxLDExNCw0NiwxMDEsMTIwLAotICAgIDEwMSw5OSw5NSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwzMiwxMDUsMTEwLDExNSwxMTYsMTAxLDk3LAotICAgIDEwMCw0NiwxMCwxMCwzMiwzMiwzMiwzMiw3OCw0MSw2LDIxOCwxNiwxMTUsMTEyLDEwMSwKLSAgICA5OSw5NSwxMDIsMTE0LDExMSwxMDksOTUsMTA4LDExMSw5NywxMDAsMTAxLDExNCwyMTgsMTIsOTUsCi0gICAgODMsMTEyLDEwMSw5OSw3NywxMDEsMTE2LDEwNCwxMTEsMTAwLDExNSwxMTQsNywwLDAsMCwKLSAgICAxMTQsNzMsMCwwLDAsMjE4LDQsMTAxLDEyMCwxMDEsOTksMjE4LDQsMTA4LDExMSw5NywKLSAgICAxMDAsNDEsNSwxMTQsNzEsMCwwLDAsMTE0LDE1OSwwLDAsMCwyMTgsNCwxMTUsCi0gICAgMTEyLDEwMSw5OSwyMTgsNywxMDksMTAxLDExNiwxMDQsMTExLDEwMCwxMTUsMjE4LDYsMTA5LDExMSwKLSAgICAxMDAsMTE3LDEwOCwxMDEsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsCi0gICAgMCwwLDAsMjE4LDE3LDk1LDEwOCwxMTEsOTcsMTAwLDk1LDEwOSwxMTEsMTAwLDExNywxMDgsCi0gICAgMTAxLDk1LDExNSwxMDQsMTA1LDEwOSw3MSwyLDAsMCwxMTUsMTQsMCwwLDAsMCwKLSAgICA2LDE1LDEsMTIsMSwxNSwxLDEzLDEsMTMsMSwxMSwyLDExNCwxODEsMCwKLSAgICAwLDAsOTksNCwwLDAsMCwwLDAsMCwwLDExLDAsMCwwLDE5LAotICAgIDAsMCwwLDY3LDAsMCwwLDExNSwyNDMsMSwwLDAsMTA1LDAsMCwxMjUsCi0gICAgNCwwLDEyNCwyLDAsMTAwLDEsMCwxMDcsOSwwLDExNCwzMSwwLDEyNCwyLAotICAgIDAsMTI0LDQsMCwxMDAsMiwwLDYwLDExMCw2LDAsMTAwLDMsMCwxMjUsMiwKLSAgICAwLDEyNCwzLDAsMTAwLDEsMCwxMDcsOSwwLDExNCw2MiwwLDEyNCwzLDAsCi0gICAgMTI0LDQsMCwxMDAsNCwwLDYwLDExMCwwLDAsMTI0LDAsMCwxMDAsMSwwLAotICAgIDEwMCw1LDAsMTMzLDIsMCwyNSwxMjUsNSwwLDEyNCwwLDAsMTAwLDUsMCwKLSAgICAxMDAsNiwwLDEzMywyLDAsMjUsMTI1LDYsMCwxMjQsMCwwLDEwMCw2LDAsCi0gICAgMTAwLDcsMCwxMzMsMiwwLDI1LDEyNSw3LDAsMTI0LDUsMCwxMTYsMCwwLAotICAgIDEwNywzLDAsMTE0LDE2OCwwLDEwMCw4LDAsMTA2LDEsMCwxMjQsMiwwLDEyNCwKLSAgICA1LDAsMTMxLDIsMCwxMjUsOCwwLDExNiwyLDAsMTI0LDgsMCwxMzEsMSwKLSAgICAwLDEsMTE2LDMsMCwxMjQsOCwwLDEyNCw0LDAsMTQxLDEsMCwxMzAsMSwKLSAgICAwLDExMCwxMTYsMCwxMTYsNCwwLDEyNCw2LDAsMTMxLDEsMCwxMDAsNSwwLAotICAgIDEwNywzLDAsMTE0LDIyNiwwLDEwMCw5LDAsMTA2LDEsMCwxMjQsMiwwLDEzMSwKLSAgICAxLDAsMTI1LDgsMCwxMTYsMiwwLDEyNCw4LDAsMTMxLDEsMCwxLDExNiwKLSAgICA1LDAsMTI0LDgsMCwxMzEsMSwwLDEzMCwxLDAsMTEwLDU4LDAsMTE2LDQsCi0gICAgMCwxMjQsNywwLDEzMSwxLDAsMTAwLDUsMCwxMDcsMywwLDExNCwyOCwxLAotICAgIDEwMCwxMCwwLDEwNiwxLDAsMTI0LDIsMCwxMzEsMSwwLDEyNSw4LDAsMTE2LAotICAgIDIsMCwxMjQsOCwwLDEzMSwxLDAsMSwxMTYsNSwwLDEyNCw4LDAsMTMxLAotICAgIDEsMCwxMzAsMSwwLDExMCwwLDAsMTI0LDEsMCwxMDAsMSwwLDEwNyw5LAotICAgIDAsMTE0LDIyOSwxLDEyMSwyMCwwLDExNiw2LDAsMTI0LDEsMCwxMDAsMTEsMCwKLSAgICAyNSwxMzEsMSwwLDEyNSw5LDAsODcsMTEwLDE4LDAsNCwxMTYsNywwLDEwNywKLSAgICAxMCwwLDExNCw4MCwxLDEsMSwxLDg5LDExMCw2MiwwLDg4LDExNiw4LDAsCi0gICAgMTI0LDYsMCwxMzEsMSwwLDEyNCw5LDAsMTA3LDMsMCwxMTQsMTQyLDEsMTAwLAotICAgIDEyLDAsMTA2LDEsMCwxMjQsMiwwLDEzMSwxLDAsMTI1LDgsMCwxMTYsMiwKLSAgICAwLDEyNCw4LDAsMTMxLDEsMCwxLDExNiwzLDAsMTI0LDgsMCwxMjQsNCwKLSAgICAwLDE0MSwxLDAsMTMwLDEsMCwxMTAsMCwwLDEyMSwxOCwwLDEyNCwxLDAsCi0gICAgMTAwLDEzLDAsMjUsMTAwLDE0LDAsNjQsMTI1LDEwLDAsODcsMTEwLDE4LDAsNCwKLSAgICAxMTYsNywwLDEwNywxMCwwLDExNCwxODAsMSwxLDEsMSw4OSwxMTMsMjI5LDEsCi0gICAgODgsMTE2LDgsMCwxMjQsNywwLDEzMSwxLDAsMTI0LDEwLDAsMTA3LDMsMCwKLSAgICAxMTQsMjI5LDEsMTE2LDMsMCwxMDAsMTIsMCwxMDYsMSwwLDEyNCwyLDAsMTMxLAotICAgIDEsMCwxMjQsNCwwLDE0MSwxLDAsMTMwLDEsMCwxMTMsMjI5LDEsMTEwLDAsCi0gICAgMCwxMjQsMCwwLDEwMCw3LDAsMTAwLDEsMCwxMzMsMiwwLDI1LDgzLDQxLAotICAgIDE1LDk3LDEyMiwxLDAsMCw4Niw5NywxMDgsMTA1LDEwMCw5NywxMTYsMTAxLDMyLDExNiwKLSAgICAxMDQsMTAxLDMyLDEwNCwxMDEsOTcsMTAwLDEwMSwxMTQsMzIsMTExLDEwMiwzMiwxMTYsMTA0LDEwMSwKLSAgICAzMiwxMTIsOTcsMTE1LDExNSwxMDEsMTAwLDQ1LDEwNSwxMTAsMzIsOTgsMTIxLDExNiwxMDEsOTksCi0gICAgMTExLDEwMCwxMDEsMzIsOTcsMTAzLDk3LDEwNSwxMTAsMTE1LDExNiwzMiwxMTUsMTExLDExNywxMTQsCi0gICAgOTksMTAxLDk1LDExNSwxMTYsOTcsMTE2LDExNSwzMiw0MCwxMDUsMTAyLDEwLDMyLDMyLDMyLAotICAgIDMyLDEwMywxMDUsMTE4LDEwMSwxMTAsNDEsMzIsOTcsMTEwLDEwMCwzMiwxMTQsMTAxLDExNiwxMTcsCi0gICAgMTE0LDExMCwxMDUsMTEwLDEwMywzMiwxMTYsMTA0LDEwMSwzMiw5OCwxMjEsMTE2LDEwMSw5OSwxMTEsCi0gICAgMTAwLDEwMSwzMiwxMTYsMTA0LDk3LDExNiwzMiw5OSw5NywxMTAsMzIsOTgsMTAxLDMyLDk5LAotICAgIDExMSwxMDksMTEyLDEwNSwxMDgsMTAxLDEwMCwzMiw5OCwxMjEsMzIsOTksMTExLDEwOSwxMTIsMTA1LAotICAgIDEwOCwxMDEsNDAsNDEsNDYsMTAsMTAsMzIsMzIsMzIsMzIsNjUsMTA4LDEwOCwzMiwxMTEsCi0gICAgMTE2LDEwNCwxMDEsMTE0LDMyLDk3LDExNCwxMDMsMTE3LDEwOSwxMDEsMTEwLDExNiwxMTUsMzIsOTcsCi0gICAgMTE0LDEwMSwzMiwxMTcsMTE1LDEwMSwxMDAsMzIsMTE2LDExMSwzMiwxMDEsMTEwLDEwNCw5NywxMTAsCi0gICAgOTksMTAxLDMyLDEwMSwxMTQsMTE0LDExMSwxMTQsMzIsMTE0LDEwMSwxMTIsMTExLDExNCwxMTYsMTA1LAotICAgIDExMCwxMDMsNDYsMTAsMTAsMzIsMzIsMzIsMzIsNzMsMTA5LDExMiwxMTEsMTE0LDExNiw2OSwKLSAgICAxMTQsMTE0LDExMSwxMTQsMzIsMTA1LDExNSwzMiwxMTQsOTcsMTA1LDExNSwxMDEsMTAwLDMyLDExOSwKLSAgICAxMDQsMTAxLDExMCwzMiwxMTYsMTA0LDEwMSwzMiwxMDksOTcsMTAzLDEwNSw5OSwzMiwxMTAsMTE3LAotICAgIDEwOSw5OCwxMDEsMTE0LDMyLDEwNSwxMTUsMzIsMTA1LDExMCw5OSwxMTEsMTE0LDExNCwxMDEsOTksCi0gICAgMTE2LDMyLDExMSwxMTQsMzIsMTE2LDEwNCwxMDEsMzIsOTgsMTIxLDExNiwxMDEsOTksMTExLDEwMCwKLSAgICAxMDEsMzIsMTA1LDExNSwxMCwzMiwzMiwzMiwzMiwxMDIsMTExLDExNywxMTAsMTAwLDMyLDExNiwKLSAgICAxMTEsMzIsOTgsMTAxLDMyLDExNSwxMTYsOTcsMTA4LDEwMSw0NiwzMiw2OSw3OSw3MCw2OSwKLSAgICAxMTQsMTE0LDExMSwxMTQsMzIsMTA1LDExNSwzMiwxMTQsOTcsMTA1LDExNSwxMDEsMTAwLDMyLDExOSwKLSAgICAxMDQsMTAxLDExMCwzMiwxMTYsMTA0LDEwMSwzMiwxMDAsOTcsMTE2LDk3LDMyLDEwNSwxMTUsMzIsCi0gICAgMTAyLDExMSwxMTcsMTEwLDEwMCwzMiwxMTYsMTExLDMyLDk4LDEwMSwxMCwzMiwzMiwzMiwzMiwKLSAgICAxMTYsMTE0LDExNywxMTAsOTksOTcsMTE2LDEwMSwxMDAsNDYsMTAsMTAsMzIsMzIsMzIsMzIsCi0gICAgNzgsMTE0LDY3LDAsMCwwLDEyMiwxMCw2MCw5OCwxMjEsMTE2LDEwMSw5OSwxMTEsMTAwLAotICAgIDEwMSw2MiwxMTQsMzUsMCwwLDAsMTE0LDEyLDAsMCwwLDIzMyw4LDAsMCwKLSAgICAwLDIzMywxMiwwLDAsMCwxMjIsMzAsOTgsOTcsMTAwLDMyLDEwOSw5NywxMDMsMTA1LAotICAgIDk5LDMyLDExMCwxMTcsMTA5LDk4LDEwMSwxMTQsMzIsMTA1LDExMCwzMiwxMjMsMzMsMTE0LDEyNSwKLSAgICA1OCwzMiwxMjMsMzMsMTE0LDEyNSwxMjIsNDMsMTE0LDEwMSw5Nyw5OSwxMDQsMTAxLDEwMCwzMiwKLSAgICA2OSw3OSw3MCwzMiwxMTksMTA0LDEwNSwxMDgsMTAxLDMyLDExNCwxMDEsOTcsMTAwLDEwNSwxMTAsCi0gICAgMTAzLDMyLDExNiwxMDUsMTA5LDEwMSwxMTUsMTE2LDk3LDEwOSwxMTIsMzIsMTA1LDExMCwzMiwxMjMsCi0gICAgMzMsMTE0LDEyNSwxMjIsNDgsMTE0LDEwMSw5Nyw5OSwxMDQsMTAxLDEwMCwzMiw2OSw3OSw3MCwKLSAgICAzMiwxMTksMTA0LDEwNSwxMDgsMTAxLDMyLDExNCwxMDEsOTcsMTAwLDEwNSwxMTAsMTAzLDMyLDExNSwKLSAgICAxMDUsMTIyLDEwMSwzMiwxMTEsMTAyLDMyLDExNSwxMTEsMTE3LDExNCw5OSwxMDEsMzIsMTA1LDExMCwKLSAgICAzMiwxMjMsMzMsMTE0LDEyNSwyMTgsNSwxMDksMTE2LDEwNSwxMDksMTAxLDEyMiwyNiw5OCwxMjEsCi0gICAgMTE2LDEwMSw5OSwxMTEsMTAwLDEwMSwzMiwxMDUsMTE1LDMyLDExNSwxMTYsOTcsMTA4LDEwMSwzMiwKLSAgICAxMDIsMTExLDExNCwzMiwxMjMsMzMsMTE0LDEyNSwyMTgsNCwxMTUsMTA1LDEyMiwxMDEsMTA4LDMsCi0gICAgMCwwLDAsMjU1LDEyNywyNTUsMTI3LDMsMCw0MSw5LDIxOCwxMiw3Nyw2NSw3MSwKLSAgICA3Myw2Nyw5NSw3OCw4NSw3Nyw2Niw2OSw4MiwxMTQsNDcsMCwwLDAsMTE0LDE1MywKLSAgICAwLDAsMCwxMTQsMTU0LDAsMCwwLDExNCwzMSwwLDAsMCwyMTgsOCw2OSwKLSAgICA3OSw3MCw2OSwxMTQsMTE0LDExMSwxMTQsMTE0LDE0LDAsMCwwLDExNCw3OSwwLDAsCi0gICAgMCwxMTQsMTksMCwwLDAsNDEsMTEsMTE0LDUzLDAsMCwwLDIxOCwxMiwxMTUsCi0gICAgMTExLDExNywxMTQsOTksMTAxLDk1LDExNSwxMTYsOTcsMTE2LDExNSwxMTQsNjcsMCwwLDAsCi0gICAgMTE0LDM1LDAsMCwwLDkwLDExLDEwMSwxMjAsOTksOTUsMTAwLDEwMSwxMTYsOTcsMTA1LAotICAgIDEwOCwxMTUsOTAsNSwxMDksOTcsMTAzLDEwNSw5OSw5MCwxMywxMTQsOTcsMTE5LDk1LDExNiwKLSAgICAxMDUsMTA5LDEwMSwxMTUsMTE2LDk3LDEwOSwxMTIsOTAsOCwxMTQsOTcsMTE5LDk1LDExNSwxMDUsCi0gICAgMTIyLDEwMSwxMTQsMTUyLDAsMCwwLDIxOCwxMiwxMTUsMTExLDExNywxMTQsOTksMTAxLDk1LAotICAgIDEwOSwxMTYsMTA1LDEwOSwxMDEsMjE4LDExLDExNSwxMTEsMTE3LDExNCw5OSwxMDEsOTUsMTE1LDEwNSwKLSAgICAxMjIsMTAxLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwKLSAgICAwLDIxOCwyNSw5NSwxMTgsOTcsMTA4LDEwNSwxMDAsOTcsMTE2LDEwMSw5NSw5OCwxMjEsMTE2LAotICAgIDEwMSw5OSwxMTEsMTAwLDEwMSw5NSwxMDQsMTAxLDk3LDEwMCwxMDEsMTE0LDg3LDIsMCwwLAotICAgIDExNSw3NiwwLDAsMCwwLDExLDYsMSwxMiwxLDEzLDMsNiwxLDEyLAotICAgIDEsMTMsMSwxNiwxLDE2LDEsMTYsMSwxMiwxLDE4LDEsMTAsMSwxOCwKLSAgICAxLDE4LDEsMTUsMSwxMCwxLDE1LDEsMTgsMSwxNSwxLDEwLDEsMTUsCi0gICAgMSwxMiwxLDMsMSwyMCwxLDEzLDEsNSwyLDE4LDEsMTUsMSwxMCwKLSAgICAxLDE4LDEsMywxLDE4LDEsMTMsMSw1LDIsMTgsMSwxNSwxLDE1LAotICAgIDEsMTE0LDE5MSwwLDAsMCw5OSw0LDAsMCwwLDAsMCwwLDAsNSwKLSAgICAwLDAsMCw2LDAsMCwwLDY3LDAsMCwwLDExNSwxMTUsMCwwLDAsCi0gICAgMTE2LDAsMCwxMDYsMSwwLDEyNCwwLDAsMTMxLDEsMCwxMjUsNCwwLDExNiwKLSAgICAyLDAsMTI0LDQsMCwxMTYsMywwLDEzMSwyLDAsMTE0LDc4LDAsMTE2LDQsCi0gICAgMCwxMDAsMSwwLDEyNCwyLDAsMTMxLDIsMCwxLDEyNCwzLDAsMTAwLDIsCi0gICAgMCwxMDcsOSwwLDExNCw3NCwwLDExNiw1LDAsMTA2LDYsMCwxMjQsNCwwLAotICAgIDEyNCwzLDAsMTMxLDIsMCwxLDExMCwwLDAsMTI0LDQsMCw4MywxMTYsNywKLSAgICAwLDEwMCwzLDAsMTA2LDgsMCwxMjQsMiwwLDEzMSwxLDAsMTAwLDQsMCwKLSAgICAxMjQsMSwwLDEwMCw1LDAsMTI0LDIsMCwxMzEsMSwyLDEzMCwxLDAsMTAwLAotICAgIDIsMCw4Myw0MSw2LDEyMiw2MCw2NywxMTEsMTA5LDExMiwxMDUsMTA4LDEwMSwzMiw5OCwKLSAgICAxMjEsMTE2LDEwMSw5OSwxMTEsMTAwLDEwMSwzMiw5NywxMTUsMzIsMTE0LDEwMSwxMTYsMTE3LDExNCwKLSAgICAxMTAsMTAxLDEwMCwzMiw5OCwxMjEsMzIsOTUsMTE4LDk3LDEwOCwxMDUsMTAwLDk3LDExNiwxMDEsCi0gICAgOTUsOTgsMTIxLDExNiwxMDEsOTksMTExLDEwMCwxMDEsOTUsMTA0LDEwMSw5NywxMDAsMTAxLDExNCwKLSAgICA0MCw0MSw0NiwxMjIsMjEsOTksMTExLDEwMCwxMDEsMzIsMTExLDk4LDEwNiwxMDEsOTksMTE2LAotICAgIDMyLDEwMiwxMTQsMTExLDEwOSwzMiwxMjMsMzMsMTE0LDEyNSw3OCwxMjIsMjMsNzgsMTExLDExMCwKLSAgICA0NSw5OSwxMTEsMTAwLDEwMSwzMiwxMTEsOTgsMTA2LDEwMSw5OSwxMTYsMzIsMTA1LDExMCwzMiwKLSAgICAxMjMsMzMsMTE0LDEyNSwxMTQsNjcsMCwwLDAsMTE0LDM1LDAsMCwwLDQxLDksCi0gICAgMjE4LDcsMTA5LDk3LDExNCwxMTUsMTA0LDk3LDEwOCw5MCw1LDEwOCwxMTEsOTcsMTAwLDExNSwKLSAgICAyMTgsMTAsMTA1LDExNSwxMDUsMTEwLDExNSwxMTYsOTcsMTEwLDk5LDEwMSwyMTgsMTAsOTUsOTksCi0gICAgMTExLDEwMCwxMDEsOTUsMTE2LDEyMSwxMTIsMTAxLDExNCwxNTMsMCwwLDAsMTE0LDEwNiwwLAotICAgIDAsMCw5MCwxNiw5NSwxMDIsMTA1LDEyMCw5NSw5OSwxMTEsOTUsMTAyLDEwNSwxMDgsMTAxLAotICAgIDExMCw5NywxMDksMTAxLDExNCwxNTQsMCwwLDAsMTE0LDQ3LDAsMCwwLDQxLDUsCi0gICAgMTE0LDUzLDAsMCwwLDExNCw2NywwLDAsMCwxMTQsMTQxLDAsMCwwLDExNCwKLSAgICAxNDIsMCwwLDAsMjE4LDQsOTksMTExLDEwMCwxMDEsMTE0LDQsMCwwLDAsMTE0LAotICAgIDQsMCwwLDAsMTE0LDUsMCwwLDAsMjE4LDE3LDk1LDk5LDExMSwxMDksMTEyLAotICAgIDEwNSwxMDgsMTAxLDk1LDk4LDEyMSwxMTYsMTAxLDk5LDExMSwxMDAsMTAxLDE0MiwyLDAsMCwKLSAgICAxMTUsMTYsMCwwLDAsMCwyLDE1LDEsMTUsMSwxMywxLDEyLDEsMTksCi0gICAgMSw0LDIsMTgsMSwxMTQsMTk2LDAsMCwwLDExNCw4NCwwLDAsMCw5OSwKLSAgICAzLDAsMCwwLDAsMCwwLDAsNCwwLDAsMCwzLDAsMCwwLAotICAgIDY3LDAsMCwwLDExNSw3NiwwLDAsMCwxMTYsMCwwLDExNiwxLDAsMTMxLAotICAgIDEsMCwxMjUsMywwLDEyNCwzLDAsMTA2LDIsMCwxMTYsMywwLDEyNCwxLAotICAgIDAsMTMxLDEsMCwxMzEsMSwwLDEsMTI0LDMsMCwxMDYsMiwwLDExNiwzLAotICAgIDAsMTI0LDIsMCwxMzEsMSwwLDEzMSwxLDAsMSwxMjQsMywwLDEwNiwyLAotICAgIDAsMTE2LDQsMCwxMDYsNSwwLDEyNCwwLDAsMTMxLDEsMCwxMzEsMSwwLAotICAgIDEsMTI0LDMsMCw4Myw0MSwxLDEyMiw4MCw2NywxMTEsMTA5LDExMiwxMDUsMTA4LDEwMSwKLSAgICAzMiw5NywzMiw5OSwxMTEsMTAwLDEwMSwzMiwxMTEsOTgsMTA2LDEwMSw5OSwxMTYsMzIsMTA1LAotICAgIDExMCwxMTYsMTExLDMyLDk4LDEyMSwxMTYsMTAxLDk5LDExMSwxMDAsMTAxLDMyLDEwMiwxMTEsMTE0LAotICAgIDMyLDExOSwxMTQsMTA1LDExNiwxMDUsMTEwLDEwMywzMiwxMTEsMTE3LDExNiwzMiwxMTYsMTExLDMyLAotICAgIDk3LDMyLDk4LDEyMSwxMTYsMTAxLDQ1LDk5LDExMSwxMDksMTEyLDEwNSwxMDgsMTAxLDEwMCwxMCwKLSAgICAzMiwzMiwzMiwzMiwxMDIsMTA1LDEwOCwxMDEsNDYsNDEsNiwyMTgsOSw5OCwxMjEsMTE2LAotICAgIDEwMSw5NywxMTQsMTE0LDk3LDEyMSwxMTQsMTg2LDAsMCwwLDIxOCw2LDEwMSwxMjAsMTE2LAotICAgIDEwMSwxMTAsMTAwLDExNCwxNywwLDAsMCwxMTQsMTkyLDAsMCwwLDkwLDUsMTAwLAotICAgIDExNywxMDksMTEyLDExNSw0MSw0LDExNCwxOTUsMCwwLDAsMTE0LDE4NCwwLDAsMCwKLSAgICAxMTQsMTkwLDAsMCwwLDExNCw1MywwLDAsMCwxMTQsNCwwLDAsMCwxMTQsCi0gICAgNCwwLDAsMCwxMTQsNSwwLDAsMCwyMTgsMTcsOTUsOTksMTExLDEwMCwxMDEsCi0gICAgOTUsMTE2LDExMSw5NSw5OCwxMjEsMTE2LDEwMSw5OSwxMTEsMTAwLDEwMSwxNTQsMiwwLDAsCi0gICAgMTE1LDEwLDAsMCwwLDAsMywxMiwxLDE5LDEsMTksMSwyMiwxLDExNCwKLSAgICAxOTksMCwwLDAsOTksMSwwLDAsMCwwLDAsMCwwLDUsMCwwLAotICAgIDAsNCwwLDAsMCw2NywwLDAsMCwxMTUsODksMCwwLDAsMTAwLDEsCi0gICAgMCwxMDAsMiwwLDEwOCwwLDAsMTI1LDEsMCwxMTYsMSwwLDEwNiwyLDAsCi0gICAgMTI0LDAsMCwxMzEsMSwwLDEwNiwzLDAsMTI1LDIsMCwxMjQsMSwwLDEwNiwKLSAgICA0LDAsMTI0LDIsMCwxMzEsMSwwLDEyNSwzLDAsMTE2LDEsMCwxMDYsNSwKLSAgICAwLDEwMCwyLDAsMTAwLDMsMCwxMzEsMiwwLDEyNSw0LDAsMTI0LDQsMCwKLSAgICAxMDYsNiwwLDEyNCwwLDAsMTA2LDYsMCwxMjQsMywwLDEwMCwxLDAsMjUsCi0gICAgMTMxLDEsMCwxMzEsMSwwLDgzLDQxLDQsMTIyLDEyMSw2OCwxMDEsOTksMTExLDEwMCwKLSAgICAxMDEsMzIsOTgsMTIxLDExNiwxMDEsMTE1LDMyLDExNCwxMDEsMTEyLDExNCwxMDEsMTE1LDEwMSwxMTAsCi0gICAgMTE2LDEwNSwxMTAsMTAzLDMyLDExNSwxMTEsMTE3LDExNCw5OSwxMDEsMzIsOTksMTExLDEwMCwxMDEsCi0gICAgMzIsOTcsMTEwLDEwMCwzMiwxMTQsMTAxLDExNiwxMTcsMTE0LDExMCwzMiwxMTYsMTA0LDEwMSwzMiwKLSAgICAxMTUsMTE2LDExNCwxMDUsMTEwLDEwMyw0NiwxMCwxMCwzMiwzMiwzMiwzMiw4NSwxMTAsMTA1LAotICAgIDExOCwxMDEsMTE0LDExNSw5NywxMDgsMzIsMTEwLDEwMSwxMTksMTA4LDEwNSwxMTAsMTAxLDMyLDExNSwKLSAgICAxMTcsMTEyLDExMiwxMTEsMTE0LDExNiwzMiwxMDUsMTE1LDMyLDExNywxMTUsMTAxLDEwMCwzMiwxMDUsCi0gICAgMTEwLDMyLDExNiwxMDQsMTAxLDMyLDEwMCwxMDEsOTksMTExLDEwMCwxMDUsMTEwLDEwMyw0NiwxMCwKLSAgICAzMiwzMiwzMiwzMiwxMTQsODQsMCwwLDAsNzgsODQsNDEsNywyMTgsOCwxMTYsCi0gICAgMTExLDEwNywxMDEsMTEwLDEwNSwxMjIsMTAxLDExNCw0OSwwLDAsMCw5MCw3LDY2LDEyMSwKLSAgICAxMTYsMTAxLDExNSw3Myw3OSw5MCw4LDExNCwxMDEsOTcsMTAwLDEwOCwxMDUsMTEwLDEwMSw5MCwKLSAgICAxNSwxMDAsMTAxLDExNiwxMDEsOTksMTE2LDk1LDEwMSwxMTAsOTksMTExLDEwMCwxMDUsMTEwLDEwMywKLSAgICA5MCwyNSw3MywxMTAsOTksMTE0LDEwMSwxMDksMTAxLDExMCwxMTYsOTcsMTA4LDc4LDEwMSwxMTksCi0gICAgMTA4LDEwNSwxMTAsMTAxLDY4LDEwMSw5OSwxMTEsMTAwLDEwMSwxMTQsMjE4LDYsMTAwLDEwMSw5OSwKLSAgICAxMTEsMTAwLDEwMSw0MSw1LDIxOCwxMiwxMTUsMTExLDExNywxMTQsOTksMTAxLDk1LDk4LDEyMSwKLSAgICAxMTYsMTAxLDExNSwxMTQsMjAwLDAsMCwwLDkwLDIxLDExNSwxMTEsMTE3LDExNCw5OSwxMDEsCi0gICAgOTUsOTgsMTIxLDExNiwxMDEsMTE1LDk1LDExNCwxMDEsOTcsMTAwLDEwOCwxMDUsMTEwLDEwMSwyMTgsCi0gICAgOCwxMDEsMTEwLDk5LDExMSwxMDAsMTA1LDExMCwxMDMsOTAsMTUsMTEwLDEwMSwxMTksMTA4LDEwNSwKLSAgICAxMTAsMTAxLDk1LDEwMCwxMDEsOTksMTExLDEwMCwxMDEsMTE0LDExNCw0LDAsMCwwLDExNCwKLSAgICA0LDAsMCwwLDExNCw1LDAsMCwwLDIxOCwxMywxMDAsMTAxLDk5LDExMSwxMDAsCi0gICAgMTAxLDk1LDExNSwxMTEsMTE3LDExNCw5OSwxMDEsMTY0LDIsMCwwLDExNSwxMCwwLDAsCi0gICAgMCwwLDUsMTIsMSwxOCwxLDE1LDEsMTgsMSwxMTQsMjA0LDAsMCwwLAotICAgIDk5LDEsMCwwLDAsMCwwLDAsMCw1LDAsMCwwLDM1LDAsMCwKLSAgICAwLDY3LDAsMCwwLDExNSwxNSwxLDAsMCwxMTYsMCwwLDEyNCwwLDAsCi0gICAgMTAwLDEsMCwxMDAsMCwwLDEzMSwzLDAsMTI1LDEsMCwxMTYsMSwwLDEyNCwKLSAgICAxLDAsMTAwLDIsMCwxMzEsMiwwLDExNCw3NCwwLDEyMSwxNywwLDEyNCwxLAotICAgIDAsMTA2LDIsMCwxMjQsMCwwLDEzMSwxLDAsODMsODcsMTEzLDc0LDAsNCwKLSAgICAxMTYsMywwLDEwNywxMCwwLDExNCw3MCwwLDEsMSwxLDg5LDExMyw3NCwwLAotICAgIDg4LDExMCwwLDAsMTIxLDEzLDAsMTI0LDAsMCwxMDYsNCwwLDEyNSwyLDAsCi0gICAgODcsMTEwLDE4LDAsNCwxMTYsNSwwLDEwNywxMCwwLDExNCwxMDcsMCwxLDEsCi0gICAgMSw4OSwxMTAsMjksMCw4OCwxMjQsMiwwLDEwMCwwLDAsMTA3LDksMCwxMTQsCi0gICAgMTM2LDAsMTE2LDYsMCwxMjQsMiwwLDEzMSwxLDAsMTA2LDIsMCwxMzEsMCwKLSAgICAwLDgzLDEyMSwxMywwLDEyNCwwLDAsMTA2LDcsMCwxMjUsMywwLDg3LDExMCwKLSAgICAyNCwwLDQsMTE2LDUsMCwxMDcsMTAsMCwxMTQsMTc1LDAsMSwxLDEsMTAwLAotICAgIDMsMCwxMjUsMywwLDg5LDExMCwxLDAsODgsMTIxLDEzLDAsMTI0LDAsMCwKLSAgICAxMDYsOCwwLDEyNSw0LDAsODcsMTEwLDU5LDAsNCwxMTYsNSwwLDEwNywxMCwKLSAgICAwLDExNCwyNTAsMCwxLDEsMSwxMjQsMSwwLDEwMCwwLDAsMTA3LDgsMCwKLSAgICAxMTQsMjMwLDAsMTAwLDQsMCwxMDYsOSwwLDEyNCwzLDAsMTMxLDEsMCw4MywKLSAgICAxMDAsNSwwLDEwNiw5LDAsMTI0LDMsMCwxMjQsMSwwLDEzMSwyLDAsODMsCi0gICAgODksMTEwLDE3LDAsODgsMTAwLDYsMCwxMDYsOSwwLDEyNCwzLDAsMTI0LDQsCi0gICAgMCwxMzEsMiwwLDgzLDEwMCwwLDAsODMsNDEsNyw3OCwyMTgsMTAsOTUsOTUsCi0gICAgMTA4LDExMSw5NywxMDAsMTAxLDExNCw5NSw5NSwyMTgsMTEsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsCi0gICAgOTUsMTE0LDEwMSwxMTIsMTE0LDI1MCwxLDYzLDEyMiwxMyw2MCwxMDksMTExLDEwMCwxMTcsMTA4LAotICAgIDEwMSwzMiwxMjMsMzMsMTE0LDEyNSw2MiwxMjIsMjAsNjAsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsCi0gICAgMzIsMTIzLDMzLDExNCwxMjUsMzIsNDAsMTIzLDMzLDExNCwxMjUsNDEsNjIsMTIyLDIzLDYwLAotICAgIDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDMyLDEyMywzMywxMTQsMTI1LDMyLDEwMiwxMTQsMTExLDEwOSwKLSAgICAzMiwxMjMsMzMsMTE0LDEyNSw2Miw0MSwxMCwxMTQsNjIsMCwwLDAsMTE0LDYwLDAsCi0gICAgMCwwLDExNCwyMDYsMCwwLDAsMjE4LDksNjksMTIwLDk5LDEwMSwxMTIsMTE2LDEwNSwKLSAgICAxMTEsMTEwLDIxOCw4LDk1LDk1LDExNSwxMTIsMTAxLDk5LDk1LDk1LDIxOCwxNCw2NSwxMTYsCi0gICAgMTE2LDExNCwxMDUsOTgsMTE3LDExNiwxMDEsNjksMTE0LDExNCwxMTEsMTE0LDExNCwxNzUsMCwwLAotICAgIDAsMTE0LDU3LDAsMCwwLDIxOCw4LDk1LDk1LDEwMiwxMDUsMTA4LDEwMSw5NSw5NSwKLSAgICAxMTQsNDcsMCwwLDAsNDEsNSwxMTQsMTgwLDAsMCwwLDExNCwxNzAsMCwwLAotICAgIDAsMTE0LDE3OCwwLDAsMCwxMTQsNjcsMCwwLDAsMTE0LDEzMSwwLDAsMCwKKyAgICAyOSwxMjMsMzMsMTE0LDEyNSwzMiwxMDUsMTE1LDMyLDExMCwxMTEsMTE2LDMyLDk3LDMyLDk4LAorICAgIDExNywxMDUsMTA4LDExNiw0NSwxMDUsMTEwLDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDExNCw2NywKKyAgICAwLDAsMCw0MSw0LDExNCw3LDAsMCwwLDIxOCwyMCw5OCwxMTcsMTA1LDEwOCwKKyAgICAxMTYsMTA1LDExMCw5NSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw5NSwxMTAsOTcsMTA5LDEwMSwxMTUsCisgICAgMTE0LDE1NCwwLDAsMCwxMTQsNDcsMCwwLDAsNDEsMiwxMTQsNzEsMCwwLAorICAgIDAsMjE4LDgsMTAyLDExNywxMDgsMTA4LDExMCw5NywxMDksMTAxLDQxLDEsMjE4LDMsMTAyLAorICAgIDEyMCwxMTAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMjE4LDI1LDk1LDExNCwKKyAgICAxMDEsMTEzLDExNywxMDUsMTE0LDEwMSwxMTUsOTUsOTgsMTE3LDEwNSwxMDgsMTE2LDEwNSwxMTAsOTUsCisgICAgMTE5LDExNCw5NywxMTIsMTEyLDEwMSwxMTQsMzUsMiwwLDAsMTE1LDgsMCwwLDAsCisgICAgMCwxLDE1LDEsMTgsMSw5LDEsMTIyLDUyLDk1LDExNCwxMDEsMTEzLDExNywxMDUsCisgICAgMTE0LDEwMSwxMTUsOTUsOTgsMTE3LDEwNSwxMDgsMTE2LDEwNSwxMTAsNDYsNjAsMTA4LDExMSw5OSwKKyAgICA5NywxMDgsMTE1LDYyLDQ2LDk1LDExNCwxMDEsMTEzLDExNywxMDUsMTE0LDEwMSwxMTUsOTUsOTgsCisgICAgMTE3LDEwNSwxMDgsMTE2LDEwNSwxMTAsOTUsMTE5LDExNCw5NywxMTIsMTEyLDEwMSwxMTQsNDEsMSwKKyAgICAxMTQsNjUsMCwwLDAsNDEsMiwxMTQsMTYwLDAsMCwwLDExNCwxNjEsMCwwLAorICAgIDAsMTE0LDQsMCwwLDAsNDEsMSwxMTQsMTYwLDAsMCwwLDExNCw1LDAsCisgICAgMCwwLDIxOCwxNyw5NSwxMTQsMTAxLDExMywxMTcsMTA1LDExNCwxMDEsMTE1LDk1LDk4LDExNywKKyAgICAxMDUsMTA4LDExNiwxMDUsMTEwLDMzLDIsMCwwLDExNSw2LDAsMCwwLDAsMiwKKyAgICAxOCw1LDEzLDEsMTE0LDE2MiwwLDAsMCw5OSwxLDAsMCwwLDAsMCwKKyAgICAwLDAsMiwwLDAsMCwzLDAsMCwwLDMsMCwwLDAsMTE1LDM1LAorICAgIDAsMCwwLDEzNSwwLDAsMTAyLDEsMCwxMDAsMSwwLDEwMCwyLDAsMTM0LAorICAgIDAsMCwxMjUsMSwwLDExNiwwLDAsMTI0LDEsMCwxMzYsMCwwLDEzMSwyLAorICAgIDAsMSwxMjQsMSwwLDgzLDQxLDMsMTIyLDQ3LDY4LDEwMSw5OSwxMTEsMTE0LDk3LAorICAgIDExNiwxMTEsMTE0LDMyLDExNiwxMTEsMzIsMTE4LDEwMSwxMTQsMTA1LDEwMiwxMjEsMzIsMTE2LDEwNCwKKyAgICAxMDEsMzIsMTEwLDk3LDEwOSwxMDEsMTAwLDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDMyLDEwNSwKKyAgICAxMTUsMzIsMTAyLDExNCwxMTEsMTIyLDEwMSwxMTAsNDYsOTksMiwwLDAsMCwwLDAsCisgICAgMCwwLDIsMCwwLDAsNCwwLDAsMCwxOSwwLDAsMCwxMTUsNTUsCisgICAgMCwwLDAsMTE2LDAsMCwxMDYsMSwwLDEyNCwxLDAsMTMxLDEsMCwxMTUsCisgICAgNDIsMCwxMTYsMiwwLDEwMCwxLDAsMTA2LDMsMCwxMjQsMSwwLDEzMSwxLAorICAgIDAsMTAwLDIsMCwxMjQsMSwwLDEzMSwxLDEsMTMwLDEsMCwxMzYsMCwwLAorICAgIDEyNCwwLDAsMTI0LDEsMCwxMzEsMiwwLDgzLDQxLDMsNzgsMTIyLDI3LDEyMywKKyAgICAzMywxMTQsMTI1LDMyLDEwNSwxMTUsMzIsMTEwLDExMSwxMTYsMzIsOTcsMzIsMTAyLDExNCwxMTEsCisgICAgMTIyLDEwMSwxMTAsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMTE0LDY3LDAsMCwwLDQxLAorICAgIDQsMTE0LDEwNiwwLDAsMCwyMTgsOSwxMDUsMTE1LDk1LDEwMiwxMTQsMTExLDEyMiwxMDEsCisgICAgMTEwLDExNCwxNTQsMCwwLDAsMTE0LDQ3LDAsMCwwLDQxLDIsMTE0LDcxLDAsCisgICAgMCwwLDExNCwxNTksMCwwLDAsNDEsMSwxMTQsMTYwLDAsMCwwLDExNCw0LAorICAgIDAsMCwwLDExNCw1LDAsMCwwLDIxOCwyNCw5NSwxMTQsMTAxLDExMywxMTcsMTA1LAorICAgIDExNCwxMDEsMTE1LDk1LDEwMiwxMTQsMTExLDEyMiwxMDEsMTEwLDk1LDExOSwxMTQsOTcsMTEyLDExMiwKKyAgICAxMDEsMTE0LDQ2LDIsMCwwLDExNSw4LDAsMCwwLDAsMSwxNSwxLDE4LAorICAgIDEsOSwxLDEyMiw1MCw5NSwxMTQsMTAxLDExMywxMTcsMTA1LDExNCwxMDEsMTE1LDk1LDEwMiwKKyAgICAxMTQsMTExLDEyMiwxMDEsMTEwLDQ2LDYwLDEwOCwxMTEsOTksOTcsMTA4LDExNSw2Miw0Niw5NSwKKyAgICAxMTQsMTAxLDExMywxMTcsMTA1LDExNCwxMDEsMTE1LDk1LDEwMiwxMTQsMTExLDEyMiwxMDEsMTEwLDk1LAorICAgIDExOSwxMTQsOTcsMTEyLDExMiwxMDEsMTE0LDQxLDEsMTE0LDY1LDAsMCwwLDQxLDIsCisgICAgMTE0LDE2MCwwLDAsMCwxMTQsMTY0LDAsMCwwLDExNCw0LDAsMCwwLDQxLAorICAgIDEsMTE0LDE2MCwwLDAsMCwxMTQsNSwwLDAsMCwyMTgsMTYsOTUsMTE0LDEwMSwKKyAgICAxMTMsMTE3LDEwNSwxMTQsMTAxLDExNSw5NSwxMDIsMTE0LDExMSwxMjIsMTAxLDExMCw0NCwyLDAsCisgICAgMCwxMTUsNiwwLDAsMCwwLDIsMTgsNSwxMywxLDExNCwxNjUsMCwwLAorICAgIDAsOTksMiwwLDAsMCwwLDAsMCwwLDUsMCwwLDAsNCwwLAorICAgIDAsMCw2NywwLDAsMCwxMTUsODQsMCwwLDAsMTI0LDAsMCwxMDYsMCwKKyAgICAwLDEyNCwxLDAsMTMxLDEsMCw5MiwyLDAsMTI1LDIsMCwxMjUsMywwLAorICAgIDEyNCwyLDAsMTAwLDEsMCwxMDcsOCwwLDExNCw4MCwwLDExNiwxLDAsMTI0LAorICAgIDMsMCwxMzEsMSwwLDExNCw4MCwwLDEwMCwyLDAsMTI1LDQsMCwxMTYsMiwKKyAgICAwLDEwNiwzLDAsMTI0LDQsMCwxMDYsNCwwLDEyNCwzLDAsMTAwLDMsMCwKKyAgICAyNSwxMzEsMSwwLDExNiw1LDAsMTMxLDIsMCwxLDEyNCwyLDAsODMsNDEsCisgICAgNCwxMjIsMTU1LDg0LDExNCwxMjEsMzIsMTE2LDExMSwzMiwxMDIsMTA1LDExMCwxMDAsMzIsOTcsCisgICAgMzIsMTA4LDExMSw5NywxMDAsMTAxLDExNCwzMiwxMDIsMTExLDExNCwzMiwxMTYsMTA0LDEwMSwzMiwKKyAgICAxMTUsMTEyLDEwMSw5OSwxMDUsMTAyLDEwNSwxMDEsMTAwLDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLAorICAgIDMyLDk4LDEyMSwzMiwxMDAsMTAxLDEwOCwxMDEsMTAzLDk3LDExNiwxMDUsMTEwLDEwMywzMiwxMTYsCisgICAgMTExLDEwLDMyLDMyLDMyLDMyLDExNSwxMDEsMTA4LDEwMiw0NiwxMDIsMTA1LDExMCwxMDAsOTUsCisgICAgMTA4LDExMSw5NywxMDAsMTAxLDExNCw0MCw0MSw0NiwxMCwxMCwzMiwzMiwzMiwzMiw4NCwKKyAgICAxMDQsMTA1LDExNSwzMiwxMDksMTAxLDExNiwxMDQsMTExLDEwMCwzMiwxMDUsMTE1LDMyLDEwMCwxMDEsCisgICAgMTEyLDExNCwxMDEsOTksOTcsMTE2LDEwMSwxMDAsMzIsMTA1LDExMCwzMiwxMDIsOTcsMTE4LDExMSwKKyAgICAxMTQsMzIsMTExLDEwMiwzMiwxMDIsMTA1LDExMCwxMDAsMTAxLDExNCw0NiwxMDIsMTA1LDExMCwxMDAsCisgICAgOTUsMTE1LDExMiwxMDEsOTksNDAsNDEsNDYsMTAsMTAsMzIsMzIsMzIsMzIsNzgsMTIyLAorICAgIDQ0LDc4LDExMSwxMTYsMzIsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsMTA1LDExMCwxMDMsMzIsMTAwLAorICAgIDEwNSwxMTQsMTAxLDk5LDExNiwxMTEsMTE0LDEyMSwzMiwxMjMsMTI1LDU4LDMyLDEwOSwxMDUsMTE1LAorICAgIDExNSwxMDUsMTEwLDEwMywzMiw5NSw5NSwxMDUsMTEwLDEwNSwxMTYsOTUsOTUsMTE0LDg0LDAsCisgICAgMCwwLDQxLDYsMjE4LDExLDEwMiwxMDUsMTEwLDEwMCw5NSwxMDgsMTExLDk3LDEwMCwxMDEsCisgICAgMTE0LDExNCwzMSwwLDAsMCwyMTgsOSw5NSwxMTksOTcsMTE0LDExMCwxMDUsMTEwLDEwMywKKyAgICAxMTUsMjE4LDQsMTE5LDk3LDExNCwxMTAsMTE0LDQ3LDAsMCwwLDIxOCwxMyw3MywxMDksCisgICAgMTEyLDExMSwxMTQsMTE2LDg3LDk3LDExNCwxMTAsMTA1LDExMCwxMDMsNDEsNSwxMTQsNzEsMCwKKyAgICAwLDAsMTE0LDE1OSwwLDAsMCwyMTgsNiwxMDgsMTExLDk3LDEwMCwxMDEsMTE0LDIxOCwKKyAgICA4LDExMiwxMTEsMTE0LDExNiwxMDUsMTExLDExMCwxMTUsMjE4LDMsMTA5LDExNSwxMDMsMTE0LDQsCisgICAgMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMjE4LDE3LDk1LAorICAgIDEwMiwxMDUsMTEwLDEwMCw5NSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw5NSwxMTUsMTA0LDEwNSwxMDksCisgICAgNTUsMiwwLDAsMTE1LDEwLDAsMCwwLDAsMTAsMjEsMSwyNCwxLDYsCisgICAgMSwyOSwxLDExNCwxNzMsMCwwLDAsOTksMiwwLDAsMCwwLDAsMCwKKyAgICAwLDQsMCwwLDAsMywwLDAsMCw2NywwLDAsMCwxMTUsODEsMCwKKyAgICAwLDAsMTE2LDAsMCwxMjQsMSwwLDEyNCwwLDAsMTMxLDIsMCwxMjUsMiwKKyAgICAwLDEyNCwxLDAsMTE2LDEsMCwxMDYsMiwwLDEwNyw2LDAsMTE0LDY3LDAsCisgICAgMTE2LDEsMCwxMDYsMiwwLDEyNCwxLDAsMjUsMTI1LDMsMCwxMTYsMywwLAorICAgIDEyNCwyLDAsMTI0LDMsMCwxMzEsMiwwLDEsMTE2LDEsMCwxMDYsMiwwLAorICAgIDEyNCwxLDAsMjUsODMsMTE2LDQsMCwxMjQsMiwwLDEzMSwxLDAsODMsMTAwLAorICAgIDEsMCw4Myw0MSwyLDEyMiwxMjgsNzYsMTExLDk3LDEwMCwzMiwxMTYsMTA0LDEwMSwzMiwKKyAgICAxMTUsMTEyLDEwMSw5OSwxMDUsMTAyLDEwNSwxMDEsMTAwLDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLAorICAgIDMyLDEwNSwxMTAsMTE2LDExMSwzMiwxMTUsMTIxLDExNSw0NiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwKKyAgICAxMTUsMzIsOTcsMTEwLDEwMCwzMiwxMTQsMTAxLDExNiwxMTcsMTE0LDExMCwzMiwxMDUsMTE2LDQ2LAorICAgIDEwLDEwLDMyLDMyLDMyLDMyLDg0LDEwNCwxMDUsMTE1LDMyLDEwOSwxMDEsMTE2LDEwNCwxMTEsCisgICAgMTAwLDMyLDEwNSwxMTUsMzIsMTAwLDEwMSwxMTIsMTE0LDEwMSw5OSw5NywxMTYsMTAxLDEwMCw0NiwKKyAgICAzMiwzMiw4NSwxMTUsMTAxLDMyLDEwOCwxMTEsOTcsMTAwLDEwMSwxMTQsNDYsMTAxLDEyMCwxMDEsCisgICAgOTksOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsMTA1LDExMCwxMTUsMTE2LDEwMSw5NywxMDAsCisgICAgNDYsMTAsMTAsMzIsMzIsMzIsMzIsNzgsNDEsNSwyMTgsMTYsMTE1LDExMiwxMDEsOTksCisgICAgOTUsMTAyLDExNCwxMTEsMTA5LDk1LDEwOCwxMTEsOTcsMTAwLDEwMSwxMTQsMTE0LDcsMCwwLAorICAgIDAsMTE0LDczLDAsMCwwLDIxOCw1LDk1LDEwMSwxMjAsMTAxLDk5LDIxOCw1LDk1LAorICAgIDEwOCwxMTEsOTcsMTAwLDQxLDQsMTE0LDcxLDAsMCwwLDExNCwxNTksMCwwLDAsCisgICAgMjE4LDQsMTE1LDExMiwxMDEsOTksMjE4LDYsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMTE0LDQsCisgICAgMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMjE4LDE3LDk1LAorICAgIDEwOCwxMTEsOTcsMTAwLDk1LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDk1LDExNSwxMDQsMTA1LDEwOSwKKyAgICA3MywyLDAsMCwxMTUsMTIsMCwwLDAsMCw2LDE1LDEsMTUsMSwxMywKKyAgICAxLDEzLDEsMTEsMiwxMTQsMTc5LDAsMCwwLDk5LDQsMCwwLDAsMCwKKyAgICAwLDAsMCwxMSwwLDAsMCwxOSwwLDAsMCw2NywwLDAsMCwxMTUsCisgICAgMjI4LDEsMCwwLDEwNSwwLDAsMTI1LDQsMCwxMjQsMiwwLDEwMCwxLDAsCisgICAgMTA3LDksMCwxMTQsMzEsMCwxMjQsMiwwLDEyNCw0LDAsMTAwLDIsMCw2MCwKKyAgICAxMTAsNiwwLDEwMCwzLDAsMTI1LDIsMCwxMjQsMywwLDEwMCwxLDAsMTA3LAorICAgIDksMCwxMTQsNTksMCwxMjQsMywwLDEyNCw0LDAsMTAwLDQsMCw2MCwxMjQsCisgICAgMCwwLDEwMCwxLDAsMTAwLDUsMCwxMzMsMiwwLDI1LDEyNSw1LDAsMTI0LAorICAgIDAsMCwxMDAsNSwwLDEwMCw2LDAsMTMzLDIsMCwyNSwxMjUsNiwwLDEyNCwKKyAgICAwLDAsMTAwLDYsMCwxMDAsNywwLDEzMywyLDAsMjUsMTI1LDcsMCwxMjQsCisgICAgNSwwLDExNiwwLDAsMTA3LDMsMCwxMTQsMTY1LDAsMTAwLDgsMCwxMDYsMSwKKyAgICAwLDEyNCwyLDAsMTI0LDUsMCwxMzEsMiwwLDEyNSw4LDAsMTE2LDIsMCwKKyAgICAxMjQsOCwwLDEzMSwxLDAsMSwxMTYsMywwLDEyNCw4LDAsMTI0LDQsMCwKKyAgICAxNDEsMSwwLDEzMCwxLDAsMTEwLDExMywwLDExNiw0LDAsMTI0LDYsMCwxMzEsCisgICAgMSwwLDEwMCw1LDAsMTA3LDMsMCwxMTQsMjIzLDAsMTAwLDksMCwxMDYsMSwKKyAgICAwLDEyNCwyLDAsMTMxLDEsMCwxMjUsOCwwLDExNiwyLDAsMTI0LDgsMCwKKyAgICAxMzEsMSwwLDEsMTE2LDUsMCwxMjQsOCwwLDEzMSwxLDAsMTMwLDEsMCwKKyAgICAxMTAsNTUsMCwxMTYsNCwwLDEyNCw3LDAsMTMxLDEsMCwxMDAsNSwwLDEwNywKKyAgICAzLDAsMTE0LDIyLDEsMTAwLDEwLDAsMTA2LDEsMCwxMjQsMiwwLDEzMSwxLAorICAgIDAsMTI1LDgsMCwxMTYsMiwwLDEyNCw4LDAsMTMxLDEsMCwxLDExNiw1LAorICAgIDAsMTI0LDgsMCwxMzEsMSwwLDEzMCwxLDAsMTI0LDEsMCwxMDAsMSwwLAorICAgIDEwNyw5LDAsMTE0LDIxNCwxLDEyMSwyMCwwLDExNiw2LDAsMTI0LDEsMCwxMDAsCisgICAgMTEsMCwyNSwxMzEsMSwwLDEyNSw5LDAsODcsMTEwLDE4LDAsNCwxMTYsNywKKyAgICAwLDEwNywxMCwwLDExNCw3NCwxLDEsMSwxLDg5LDExMCw1OSwwLDg4LDExNiwKKyAgICA4LDAsMTI0LDYsMCwxMzEsMSwwLDEyNCw5LDAsMTA3LDMsMCwxMTQsMTMzLAorICAgIDEsMTAwLDEyLDAsMTA2LDEsMCwxMjQsMiwwLDEzMSwxLDAsMTI1LDgsMCwKKyAgICAxMTYsMiwwLDEyNCw4LDAsMTMxLDEsMCwxLDExNiwzLDAsMTI0LDgsMCwKKyAgICAxMjQsNCwwLDE0MSwxLDAsMTMwLDEsMCwxMjEsMTgsMCwxMjQsMSwwLDEwMCwKKyAgICAxMywwLDI1LDEwMCwxNCwwLDY0LDEyNSwxMCwwLDg3LDExMCwxOCwwLDQsMTE2LAorICAgIDcsMCwxMDcsMTAsMCwxMTQsMTcxLDEsMSwxLDEsODksMTEwLDQzLDAsODgsCisgICAgMTE2LDgsMCwxMjQsNywwLDEzMSwxLDAsMTI0LDEwLDAsMTA3LDMsMCwxMTQsCisgICAgMjE0LDEsMTE2LDMsMCwxMDAsMTIsMCwxMDYsMSwwLDEyNCwyLDAsMTMxLDEsCisgICAgMCwxMjQsNCwwLDE0MSwxLDAsMTMwLDEsMCwxMjQsMCwwLDEwMCw3LDAsCisgICAgMTAwLDEsMCwxMzMsMiwwLDI1LDgzLDQxLDE1LDk3LDEyMiwxLDAsMCw4NiwKKyAgICA5NywxMDgsMTA1LDEwMCw5NywxMTYsMTAxLDMyLDExNiwxMDQsMTAxLDMyLDEwNCwxMDEsOTcsMTAwLAorICAgIDEwMSwxMTQsMzIsMTExLDEwMiwzMiwxMTYsMTA0LDEwMSwzMiwxMTIsOTcsMTE1LDExNSwxMDEsMTAwLAorICAgIDQ1LDEwNSwxMTAsMzIsOTgsMTIxLDExNiwxMDEsOTksMTExLDEwMCwxMDEsMzIsOTcsMTAzLDk3LAorICAgIDEwNSwxMTAsMTE1LDExNiwzMiwxMTUsMTExLDExNywxMTQsOTksMTAxLDk1LDExNSwxMTYsOTcsMTE2LAorICAgIDExNSwzMiw0MCwxMDUsMTAyLDEwLDMyLDMyLDMyLDMyLDEwMywxMDUsMTE4LDEwMSwxMTAsNDEsCisgICAgMzIsOTcsMTEwLDEwMCwzMiwxMTQsMTAxLDExNiwxMTcsMTE0LDExMCwxMDUsMTEwLDEwMywzMiwxMTYsCisgICAgMTA0LDEwMSwzMiw5OCwxMjEsMTE2LDEwMSw5OSwxMTEsMTAwLDEwMSwzMiwxMTYsMTA0LDk3LDExNiwKKyAgICAzMiw5OSw5NywxMTAsMzIsOTgsMTAxLDMyLDk5LDExMSwxMDksMTEyLDEwNSwxMDgsMTAxLDEwMCwKKyAgICAzMiw5OCwxMjEsMzIsOTksMTExLDEwOSwxMTIsMTA1LDEwOCwxMDEsNDAsNDEsNDYsMTAsMTAsCisgICAgMzIsMzIsMzIsMzIsNjUsMTA4LDEwOCwzMiwxMTEsMTE2LDEwNCwxMDEsMTE0LDMyLDk3LDExNCwKKyAgICAxMDMsMTE3LDEwOSwxMDEsMTEwLDExNiwxMTUsMzIsOTcsMTE0LDEwMSwzMiwxMTcsMTE1LDEwMSwxMDAsCisgICAgMzIsMTE2LDExMSwzMiwxMDEsMTEwLDEwNCw5NywxMTAsOTksMTAxLDMyLDEwMSwxMTQsMTE0LDExMSwKKyAgICAxMTQsMzIsMTE0LDEwMSwxMTIsMTExLDExNCwxMTYsMTA1LDExMCwxMDMsNDYsMTAsMTAsMzIsMzIsCisgICAgMzIsMzIsNzMsMTA5LDExMiwxMTEsMTE0LDExNiw2OSwxMTQsMTE0LDExMSwxMTQsMzIsMTA1LDExNSwKKyAgICAzMiwxMTQsOTcsMTA1LDExNSwxMDEsMTAwLDMyLDExOSwxMDQsMTAxLDExMCwzMiwxMTYsMTA0LDEwMSwKKyAgICAzMiwxMDksOTcsMTAzLDEwNSw5OSwzMiwxMTAsMTE3LDEwOSw5OCwxMDEsMTE0LDMyLDEwNSwxMTUsCisgICAgMzIsMTA1LDExMCw5OSwxMTEsMTE0LDExNCwxMDEsOTksMTE2LDMyLDExMSwxMTQsMzIsMTE2LDEwNCwKKyAgICAxMDEsMzIsOTgsMTIxLDExNiwxMDEsOTksMTExLDEwMCwxMDEsMzIsMTA1LDExNSwxMCwzMiwzMiwKKyAgICAzMiwzMiwxMDIsMTExLDExNywxMTAsMTAwLDMyLDExNiwxMTEsMzIsOTgsMTAxLDMyLDExNSwxMTYsCisgICAgOTcsMTA4LDEwMSw0NiwzMiw2OSw3OSw3MCw2OSwxMTQsMTE0LDExMSwxMTQsMzIsMTA1LDExNSwKKyAgICAzMiwxMTQsOTcsMTA1LDExNSwxMDEsMTAwLDMyLDExOSwxMDQsMTAxLDExMCwzMiwxMTYsMTA0LDEwMSwKKyAgICAzMiwxMDAsOTcsMTE2LDk3LDMyLDEwNSwxMTUsMzIsMTAyLDExMSwxMTcsMTEwLDEwMCwzMiwxMTYsCisgICAgMTExLDMyLDk4LDEwMSwxMCwzMiwzMiwzMiwzMiwxMTYsMTE0LDExNywxMTAsOTksOTcsMTE2LAorICAgIDEwMSwxMDAsNDYsMTAsMTAsMzIsMzIsMzIsMzIsNzgsMTE0LDY3LDAsMCwwLDEyMiwKKyAgICAxMCw2MCw5OCwxMjEsMTE2LDEwMSw5OSwxMTEsMTAwLDEwMSw2MiwxMTQsMzUsMCwwLDAsCisgICAgMTE0LDEyLDAsMCwwLDIzMyw4LDAsMCwwLDIzMywxMiwwLDAsMCwxMjIsCisgICAgMzAsOTgsOTcsMTAwLDMyLDEwOSw5NywxMDMsMTA1LDk5LDMyLDExMCwxMTcsMTA5LDk4LDEwMSwKKyAgICAxMTQsMzIsMTA1LDExMCwzMiwxMjMsMzMsMTE0LDEyNSw1OCwzMiwxMjMsMzMsMTE0LDEyNSwxMjIsCisgICAgNDMsMTE0LDEwMSw5Nyw5OSwxMDQsMTAxLDEwMCwzMiw2OSw3OSw3MCwzMiwxMTksMTA0LDEwNSwKKyAgICAxMDgsMTAxLDMyLDExNCwxMDEsOTcsMTAwLDEwNSwxMTAsMTAzLDMyLDExNiwxMDUsMTA5LDEwMSwxMTUsCisgICAgMTE2LDk3LDEwOSwxMTIsMzIsMTA1LDExMCwzMiwxMjMsMzMsMTE0LDEyNSwxMjIsNDgsMTE0LDEwMSwKKyAgICA5Nyw5OSwxMDQsMTAxLDEwMCwzMiw2OSw3OSw3MCwzMiwxMTksMTA0LDEwNSwxMDgsMTAxLDMyLAorICAgIDExNCwxMDEsOTcsMTAwLDEwNSwxMTAsMTAzLDMyLDExNSwxMDUsMTIyLDEwMSwzMiwxMTEsMTAyLDMyLAorICAgIDExNSwxMTEsMTE3LDExNCw5OSwxMDEsMzIsMTA1LDExMCwzMiwxMjMsMzMsMTE0LDEyNSwyMTgsNSwKKyAgICAxMDksMTE2LDEwNSwxMDksMTAxLDEyMiwyNiw5OCwxMjEsMTE2LDEwMSw5OSwxMTEsMTAwLDEwMSwzMiwKKyAgICAxMDUsMTE1LDMyLDExNSwxMTYsOTcsMTA4LDEwMSwzMiwxMDIsMTExLDExNCwzMiwxMjMsMzMsMTE0LAorICAgIDEyNSwyMTgsNCwxMTUsMTA1LDEyMiwxMDEsMTA4LDMsMCwwLDAsMjU1LDEyNywyNTUsMTI3LAorICAgIDMsMCw0MSw5LDIxOCwxMiw3Nyw2NSw3MSw3Myw2Nyw5NSw3OCw4NSw3Nyw2NiwKKyAgICA2OSw4MiwxMTQsNDcsMCwwLDAsMTE0LDE1MywwLDAsMCwxMTQsMTU0LDAsMCwKKyAgICAwLDExNCwzMSwwLDAsMCwyMTgsOCw2OSw3OSw3MCw2OSwxMTQsMTE0LDExMSwxMTQsCisgICAgMTE0LDE0LDAsMCwwLDExNCw3OSwwLDAsMCwxMTQsMTksMCwwLDAsNDEsCisgICAgMTEsMTE0LDUzLDAsMCwwLDIxOCwxMiwxMTUsMTExLDExNywxMTQsOTksMTAxLDk1LDExNSwKKyAgICAxMTYsOTcsMTE2LDExNSwxMTQsNjcsMCwwLDAsMTE0LDM1LDAsMCwwLDkwLDExLAorICAgIDEwMSwxMjAsOTksOTUsMTAwLDEwMSwxMTYsOTcsMTA1LDEwOCwxMTUsOTAsNSwxMDksOTcsMTAzLAorICAgIDEwNSw5OSw5MCwxMywxMTQsOTcsMTE5LDk1LDExNiwxMDUsMTA5LDEwMSwxMTUsMTE2LDk3LDEwOSwKKyAgICAxMTIsOTAsOCwxMTQsOTcsMTE5LDk1LDExNSwxMDUsMTIyLDEwMSwxMTQsMTUyLDAsMCwwLAorICAgIDIxOCwxMiwxMTUsMTExLDExNywxMTQsOTksMTAxLDk1LDEwOSwxMTYsMTA1LDEwOSwxMDEsMjE4LDExLAorICAgIDExNSwxMTEsMTE3LDExNCw5OSwxMDEsOTUsMTE1LDEwNSwxMjIsMTAxLDExNCw0LDAsMCwwLAorICAgIDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDIxOCwyNSw5NSwxMTgsOTcsMTA4LAorICAgIDEwNSwxMDAsOTcsMTE2LDEwMSw5NSw5OCwxMjEsMTE2LDEwMSw5OSwxMTEsMTAwLDEwMSw5NSwxMDQsCisgICAgMTAxLDk3LDEwMCwxMDEsMTE0LDg4LDIsMCwwLDExNSw3NiwwLDAsMCwwLDExLAorICAgIDYsMSwxMiwxLDEzLDMsNiwxLDEyLDEsMTAsMSwxNiwxLDE2LDEsCisgICAgMTYsMSwxMiwxLDE4LDEsMTAsMSwxOCwxLDE4LDEsMTUsMSwxMCwxLAorICAgIDE1LDEsMTgsMSwxNSwxLDEwLDEsMTIsMSwxMiwxLDMsMSwyMCwxLAorICAgIDEzLDEsNSwyLDE4LDEsMTUsMSwxMCwxLDE1LDEsMywxLDE4LDEsCisgICAgMTMsMSw1LDIsMTgsMSwxNSwxLDksMSwxMTQsMTg5LDAsMCwwLDk5LAorICAgIDQsMCwwLDAsMCwwLDAsMCw1LDAsMCwwLDYsMCwwLDAsCisgICAgNjcsMCwwLDAsMTE1LDExMiwwLDAsMCwxMTYsMCwwLDEwNiwxLDAsMTI0LAorICAgIDAsMCwxMzEsMSwwLDEyNSw0LDAsMTE2LDIsMCwxMjQsNCwwLDExNiwzLAorICAgIDAsMTMxLDIsMCwxMTQsNzUsMCwxMTYsNCwwLDEwMCwxLDAsMTI0LDIsMCwKKyAgICAxMzEsMiwwLDEsMTI0LDMsMCwxMDAsMiwwLDEwNyw5LDAsMTE0LDcxLDAsCisgICAgMTE2LDUsMCwxMDYsNiwwLDEyNCw0LDAsMTI0LDMsMCwxMzEsMiwwLDEsCisgICAgMTI0LDQsMCw4MywxMTYsNywwLDEwMCwzLDAsMTA2LDgsMCwxMjQsMiwwLAorICAgIDEzMSwxLDAsMTAwLDQsMCwxMjQsMSwwLDEwMCw1LDAsMTI0LDIsMCwxMzEsCisgICAgMSwyLDEzMCwxLDAsMTAwLDIsMCw4Myw0MSw2LDEyMiw2MCw2NywxMTEsMTA5LAorICAgIDExMiwxMDUsMTA4LDEwMSwzMiw5OCwxMjEsMTE2LDEwMSw5OSwxMTEsMTAwLDEwMSwzMiw5NywxMTUsCisgICAgMzIsMTE0LDEwMSwxMTYsMTE3LDExNCwxMTAsMTAxLDEwMCwzMiw5OCwxMjEsMzIsOTUsMTE4LDk3LAorICAgIDEwOCwxMDUsMTAwLDk3LDExNiwxMDEsOTUsOTgsMTIxLDExNiwxMDEsOTksMTExLDEwMCwxMDEsOTUsCisgICAgMTA0LDEwMSw5NywxMDAsMTAxLDExNCw0MCw0MSw0NiwxMjIsMjEsOTksMTExLDEwMCwxMDEsMzIsCisgICAgMTExLDk4LDEwNiwxMDEsOTksMTE2LDMyLDEwMiwxMTQsMTExLDEwOSwzMiwxMjMsMzMsMTE0LDEyNSwKKyAgICA3OCwxMjIsMjMsNzgsMTExLDExMCw0NSw5OSwxMTEsMTAwLDEwMSwzMiwxMTEsOTgsMTA2LDEwMSwKKyAgICA5OSwxMTYsMzIsMTA1LDExMCwzMiwxMjMsMzMsMTE0LDEyNSwxMTQsNjcsMCwwLDAsMTE0LAorICAgIDM1LDAsMCwwLDQxLDksMjE4LDcsMTA5LDk3LDExNCwxMTUsMTA0LDk3LDEwOCw5MCwKKyAgICA1LDEwOCwxMTEsOTcsMTAwLDExNSwyMTgsMTAsMTA1LDExNSwxMDUsMTEwLDExNSwxMTYsOTcsMTEwLAorICAgIDk5LDEwMSwyMTgsMTAsOTUsOTksMTExLDEwMCwxMDEsOTUsMTE2LDEyMSwxMTIsMTAxLDExNCwxNTMsCisgICAgMCwwLDAsMTE0LDEwNiwwLDAsMCw5MCwxNiw5NSwxMDIsMTA1LDEyMCw5NSw5OSwKKyAgICAxMTEsOTUsMTAyLDEwNSwxMDgsMTAxLDExMCw5NywxMDksMTAxLDExNCwxNTQsMCwwLDAsMTE0LAorICAgIDQ3LDAsMCwwLDQxLDUsMTE0LDUzLDAsMCwwLDExNCw2NywwLDAsMCwKKyAgICAxMTQsMTQxLDAsMCwwLDExNCwxNDIsMCwwLDAsMjE4LDQsOTksMTExLDEwMCwxMDEsCiAgICAgMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMjE4LAotICAgIDEyLDk1LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDk1LDExNCwxMDEsMTEyLDExNCwxNzgsMiwwLAorICAgIDE3LDk1LDk5LDExMSwxMDksMTEyLDEwNSwxMDgsMTAxLDk1LDk4LDEyMSwxMTYsMTAxLDk5LDExMSwKKyAgICAxMDAsMTAxLDE0MywyLDAsMCwxMTUsMTYsMCwwLDAsMCwyLDE1LDEsMTUsCisgICAgMSwxMywxLDEyLDEsMTYsMSw0LDIsMTgsMSwxMTQsMTk0LDAsMCwwLAorICAgIDExNCw4NCwwLDAsMCw5OSwzLDAsMCwwLDAsMCwwLDAsNCwwLAorICAgIDAsMCwzLDAsMCwwLDY3LDAsMCwwLDExNSw3NiwwLDAsMCwxMTYsCisgICAgMCwwLDExNiwxLDAsMTMxLDEsMCwxMjUsMywwLDEyNCwzLDAsMTA2LDIsCisgICAgMCwxMTYsMywwLDEyNCwxLDAsMTMxLDEsMCwxMzEsMSwwLDEsMTI0LDMsCisgICAgMCwxMDYsMiwwLDExNiwzLDAsMTI0LDIsMCwxMzEsMSwwLDEzMSwxLDAsCisgICAgMSwxMjQsMywwLDEwNiwyLDAsMTE2LDQsMCwxMDYsNSwwLDEyNCwwLDAsCisgICAgMTMxLDEsMCwxMzEsMSwwLDEsMTI0LDMsMCw4Myw0MSwxLDEyMiw4MCw2NywKKyAgICAxMTEsMTA5LDExMiwxMDUsMTA4LDEwMSwzMiw5NywzMiw5OSwxMTEsMTAwLDEwMSwzMiwxMTEsOTgsCisgICAgMTA2LDEwMSw5OSwxMTYsMzIsMTA1LDExMCwxMTYsMTExLDMyLDk4LDEyMSwxMTYsMTAxLDk5LDExMSwKKyAgICAxMDAsMTAxLDMyLDEwMiwxMTEsMTE0LDMyLDExOSwxMTQsMTA1LDExNiwxMDUsMTEwLDEwMywzMiwxMTEsCisgICAgMTE3LDExNiwzMiwxMTYsMTExLDMyLDk3LDMyLDk4LDEyMSwxMTYsMTAxLDQ1LDk5LDExMSwxMDksCisgICAgMTEyLDEwNSwxMDgsMTAxLDEwMCwxMCwzMiwzMiwzMiwzMiwxMDIsMTA1LDEwOCwxMDEsNDYsNDEsCisgICAgNiwyMTgsOSw5OCwxMjEsMTE2LDEwMSw5NywxMTQsMTE0LDk3LDEyMSwxMTQsMTg0LDAsMCwKKyAgICAwLDIxOCw2LDEwMSwxMjAsMTE2LDEwMSwxMTAsMTAwLDExNCwxNywwLDAsMCwxMTQsMTkwLAorICAgIDAsMCwwLDkwLDUsMTAwLDExNywxMDksMTEyLDExNSw0MSw0LDExNCwxOTMsMCwwLAorICAgIDAsMTE0LDE4MiwwLDAsMCwxMTQsMTg4LDAsMCwwLDExNCw1MywwLDAsMCwKKyAgICAxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwyMTgsCisgICAgMTcsOTUsOTksMTExLDEwMCwxMDEsOTUsMTE2LDExMSw5NSw5OCwxMjEsMTE2LDEwMSw5OSwxMTEsCisgICAgMTAwLDEwMSwxNTUsMiwwLDAsMTE1LDEwLDAsMCwwLDAsMywxMiwxLDE5LAorICAgIDEsMTksMSwyMiwxLDExNCwxOTcsMCwwLDAsOTksMSwwLDAsMCwwLAorICAgIDAsMCwwLDUsMCwwLDAsNCwwLDAsMCw2NywwLDAsMCwxMTUsCisgICAgODksMCwwLDAsMTAwLDEsMCwxMDAsMiwwLDEwOCwwLDAsMTI1LDEsMCwKKyAgICAxMTYsMSwwLDEwNiwyLDAsMTI0LDAsMCwxMzEsMSwwLDEwNiwzLDAsMTI1LAorICAgIDIsMCwxMjQsMSwwLDEwNiw0LDAsMTI0LDIsMCwxMzEsMSwwLDEyNSwzLAorICAgIDAsMTE2LDEsMCwxMDYsNSwwLDEwMCwyLDAsMTAwLDMsMCwxMzEsMiwwLAorICAgIDEyNSw0LDAsMTI0LDQsMCwxMDYsNiwwLDEyNCwwLDAsMTA2LDYsMCwxMjQsCisgICAgMywwLDEwMCwxLDAsMjUsMTMxLDEsMCwxMzEsMSwwLDgzLDQxLDQsMTIyLAorICAgIDEyMSw2OCwxMDEsOTksMTExLDEwMCwxMDEsMzIsOTgsMTIxLDExNiwxMDEsMTE1LDMyLDExNCwxMDEsCisgICAgMTEyLDExNCwxMDEsMTE1LDEwMSwxMTAsMTE2LDEwNSwxMTAsMTAzLDMyLDExNSwxMTEsMTE3LDExNCw5OSwKKyAgICAxMDEsMzIsOTksMTExLDEwMCwxMDEsMzIsOTcsMTEwLDEwMCwzMiwxMTQsMTAxLDExNiwxMTcsMTE0LAorICAgIDExMCwzMiwxMTYsMTA0LDEwMSwzMiwxMTUsMTE2LDExNCwxMDUsMTEwLDEwMyw0NiwxMCwxMCwzMiwKKyAgICAzMiwzMiwzMiw4NSwxMTAsMTA1LDExOCwxMDEsMTE0LDExNSw5NywxMDgsMzIsMTEwLDEwMSwxMTksCisgICAgMTA4LDEwNSwxMTAsMTAxLDMyLDExNSwxMTcsMTEyLDExMiwxMTEsMTE0LDExNiwzMiwxMDUsMTE1LDMyLAorICAgIDExNywxMTUsMTAxLDEwMCwzMiwxMDUsMTEwLDMyLDExNiwxMDQsMTAxLDMyLDEwMCwxMDEsOTksMTExLAorICAgIDEwMCwxMDUsMTEwLDEwMyw0NiwxMCwzMiwzMiwzMiwzMiwxMTQsODQsMCwwLDAsNzgsCisgICAgODQsNDEsNywyMTgsOCwxMTYsMTExLDEwNywxMDEsMTEwLDEwNSwxMjIsMTAxLDExNCw0OSwwLAorICAgIDAsMCw5MCw3LDY2LDEyMSwxMTYsMTAxLDExNSw3Myw3OSw5MCw4LDExNCwxMDEsOTcsCisgICAgMTAwLDEwOCwxMDUsMTEwLDEwMSw5MCwxNSwxMDAsMTAxLDExNiwxMDEsOTksMTE2LDk1LDEwMSwxMTAsCisgICAgOTksMTExLDEwMCwxMDUsMTEwLDEwMyw5MCwyNSw3MywxMTAsOTksMTE0LDEwMSwxMDksMTAxLDExMCwKKyAgICAxMTYsOTcsMTA4LDc4LDEwMSwxMTksMTA4LDEwNSwxMTAsMTAxLDY4LDEwMSw5OSwxMTEsMTAwLDEwMSwKKyAgICAxMTQsMjE4LDYsMTAwLDEwMSw5OSwxMTEsMTAwLDEwMSw0MSw1LDIxOCwxMiwxMTUsMTExLDExNywKKyAgICAxMTQsOTksMTAxLDk1LDk4LDEyMSwxMTYsMTAxLDExNSwxMTQsMTk4LDAsMCwwLDkwLDIxLAorICAgIDExNSwxMTEsMTE3LDExNCw5OSwxMDEsOTUsOTgsMTIxLDExNiwxMDEsMTE1LDk1LDExNCwxMDEsOTcsCisgICAgMTAwLDEwOCwxMDUsMTEwLDEwMSwyMTgsOCwxMDEsMTEwLDk5LDExMSwxMDAsMTA1LDExMCwxMDMsOTAsCisgICAgMTUsMTEwLDEwMSwxMTksMTA4LDEwNSwxMTAsMTAxLDk1LDEwMCwxMDEsOTksMTExLDEwMCwxMDEsMTE0LAorICAgIDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDIxOCwKKyAgICAxMywxMDAsMTAxLDk5LDExMSwxMDAsMTAxLDk1LDExNSwxMTEsMTE3LDExNCw5OSwxMDEsMTY1LDIsCisgICAgMCwwLDExNSwxMCwwLDAsMCwwLDUsMTIsMSwxOCwxLDE1LDEsMTgsCisgICAgMSwxMTQsMjAyLDAsMCwwLDk5LDEsMCwwLDAsMCwwLDAsMCw1LAorICAgIDAsMCwwLDM1LDAsMCwwLDY3LDAsMCwwLDExNSw2LDEsMCwwLAorICAgIDExNiwwLDAsMTI0LDAsMCwxMDAsMSwwLDEwMCwwLDAsMTMxLDMsMCwxMjUsCisgICAgMSwwLDExNiwxLDAsMTI0LDEsMCwxMDAsMiwwLDEzMSwyLDAsMTE0LDcxLAorICAgIDAsMTIxLDE3LDAsMTI0LDEsMCwxMDYsMiwwLDEyNCwwLDAsMTMxLDEsMCwKKyAgICA4Myw4NywxMTAsMTgsMCw0LDExNiwzLDAsMTA3LDEwLDAsMTE0LDcwLDAsMSwKKyAgICAxLDEsODksMTEwLDEsMCw4OCwxMjEsMTMsMCwxMjQsMCwwLDEwNiw0LDAsCisgICAgMTI1LDIsMCw4NywxMTAsMTgsMCw0LDExNiw1LDAsMTA3LDEwLDAsMTE0LDEwNCwKKyAgICAwLDEsMSwxLDg5LDExMCwyMywwLDg4LDEyNCwyLDAsMTAwLDAsMCwxMDcsCisgICAgOSwwLDExNCwxMjcsMCwxMTYsNiwwLDEyNCwyLDAsMTMxLDEsMCw4MywxMjEsCisgICAgMTMsMCwxMjQsMCwwLDEwNiw3LDAsMTI1LDMsMCw4NywxMTAsMjQsMCw0LAorICAgIDExNiw1LDAsMTA3LDEwLDAsMTE0LDE2NiwwLDEsMSwxLDEwMCwzLDAsMTI1LAorICAgIDMsMCw4OSwxMTAsMSwwLDg4LDEyMSwxMywwLDEyNCwwLDAsMTA2LDgsMCwKKyAgICAxMjUsNCwwLDg3LDExMCw1OSwwLDQsMTE2LDUsMCwxMDcsMTAsMCwxMTQsMjQxLAorICAgIDAsMSwxLDEsMTI0LDEsMCwxMDAsMCwwLDEwNyw4LDAsMTE0LDIyMSwwLAorICAgIDEwMCw0LDAsMTA2LDksMCwxMjQsMywwLDEzMSwxLDAsODMsMTAwLDUsMCwKKyAgICAxMDYsOSwwLDEyNCwzLDAsMTI0LDEsMCwxMzEsMiwwLDgzLDg5LDExMCwxNywKKyAgICAwLDg4LDEwMCw2LDAsMTA2LDksMCwxMjQsMywwLDEyNCw0LDAsMTMxLDIsCisgICAgMCw4MywxMDAsMCwwLDgzLDQxLDcsNzgsMjE4LDEwLDk1LDk1LDEwOCwxMTEsOTcsCisgICAgMTAwLDEwMSwxMTQsOTUsOTUsMjE4LDExLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDk1LDExNCwxMDEsCisgICAgMTEyLDExNCwyNTAsMSw2MywxMjIsMTMsNjAsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsMTIzLAorICAgIDMzLDExNCwxMjUsNjIsMTIyLDIwLDYwLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDMyLDEyMywzMywKKyAgICAxMTQsMTI1LDMyLDQwLDEyMywzMywxMTQsMTI1LDQxLDYyLDEyMiwyMyw2MCwxMDksMTExLDEwMCwKKyAgICAxMTcsMTA4LDEwMSwzMiwxMjMsMzMsMTE0LDEyNSwzMiwxMDIsMTE0LDExMSwxMDksMzIsMTIzLDMzLAorICAgIDExNCwxMjUsNjIsNDEsMTAsMTE0LDYyLDAsMCwwLDExNCw2MCwwLDAsMCwxMTQsCisgICAgMjA0LDAsMCwwLDIxOCw5LDY5LDEyMCw5OSwxMDEsMTEyLDExNiwxMDUsMTExLDExMCwyMTgsCisgICAgOCw5NSw5NSwxMTUsMTEyLDEwMSw5OSw5NSw5NSwyMTgsMTQsNjUsMTE2LDExNiwxMTQsMTA1LAorICAgIDk4LDExNywxMTYsMTAxLDY5LDExNCwxMTQsMTExLDExNCwyMTgsMjIsOTUsMTA5LDExMSwxMDAsMTE3LAorICAgIDEwOCwxMDEsOTUsMTE0LDEwMSwxMTIsMTE0LDk1LDEwMiwxMTQsMTExLDEwOSw5NSwxMTUsMTEyLDEwMSwKKyAgICA5OSwxMTQsNTcsMCwwLDAsMjE4LDgsOTUsOTUsMTAyLDEwNSwxMDgsMTAxLDk1LDk1LAorICAgIDExNCw0NywwLDAsMCw0MSw1LDExNCwxNzgsMCwwLDAsMTE0LDE3MCwwLDAsCisgICAgMCwxMTQsMTc3LDAsMCwwLDExNCw2NywwLDAsMCwxMTQsMTMxLDAsMCwwLAorICAgIDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDIxOCwKKyAgICAxMiw5NSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw5NSwxMTQsMTAxLDExMiwxMTQsMTc5LDIsMCwKICAgICAwLDExNSw0NiwwLDAsMCwwLDIsMTgsMSwxNSw0LDMsMSwxNywxLAotICAgIDEzLDEsOCwxLDMsMSwxMywxLDEzLDEsNSwyLDEyLDEsMTYsNCwKKyAgICAxMywxLDUsMSwzLDEsMTMsMSwxMywxLDUsMiwxMiwxLDEwLDQsCiAgICAgMywxLDEzLDEsMTMsMSwxMSwxLDMsMSwxMywxLDEzLDEsMTIsMSwKLSAgICAxMywyLDIxLDIsMTE0LDIxMiwwLDAsMCw5OSwwLDAsMCwwLDAsMCwKKyAgICAxMywyLDIxLDIsMTE0LDIxMSwwLDAsMCw5OSwwLDAsMCwwLDAsMCwKICAgICAwLDAsMCwwLDAsMCwyLDAsMCwwLDY0LDAsMCwwLDExNSw1MiwKICAgICAwLDAsMCwxMDEsMCwwLDkwLDEsMCwxMDAsMCwwLDkwLDIsMCwxMDAsCiAgICAgMSwwLDEwMCwyLDAsMTMyLDAsMCw5MCwzLDAsMTAwLDMsMCwxMDAsNCwKQEAgLTEyNzIsMjEgKzEyNzAsMjEgQEAKICAgICAwLDAsMCwwLDAsMiwwLDAsMCwyLDAsMCwwLDY3LDAsMCwKICAgICAwLDExNSwyNSwwLDAsMCwxMjQsMSwwLDEyNCwwLDAsOTUsMCwwLDEyNCwKICAgICAxLDAsMTA2LDEsMCwxMjQsMCwwLDk1LDIsMCwxMDAsMCwwLDgzLDQxLAotICAgIDEsNzgsNDEsMywyMTgsNyw5NSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwxMTQsMjA5LDAsCisgICAgMSw3OCw0MSwzLDIxOCw3LDk1LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDExNCwyMDcsMCwKICAgICAwLDAsMjE4LDUsOTUsMTE1LDExMiwxMDEsOTksNDEsMiwxMTQsNzEsMCwwLDAsCi0gICAgMTE0LDE4MCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsCi0gICAgNSwwLDAsMCwxMTQsNzIsMCwwLDAsMjE2LDIsMCwwLDExNSw0LDAsCisgICAgMTE0LDE3OCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsCisgICAgNSwwLDAsMCwxMTQsNzIsMCwwLDAsMjE3LDIsMCwwLDExNSw0LDAsCiAgICAgMCwwLDAsMSw5LDEsMTIyLDI2LDk1LDEwNSwxMTAsMTE1LDExNiw5NywxMDgsMTA4LAogICAgIDEwMSwxMDAsOTUsMTE1LDk3LDEwMiwxMDEsMTA4LDEyMSw0Niw5NSw5NSwxMDUsMTEwLDEwNSwxMTYsCiAgICAgOTUsOTUsOTksMSwwLDAsMCwwLDAsMCwwLDEsMCwwLDAsMywKICAgICAwLDAsMCw2NywwLDAsMCwxMTUsMzgsMCwwLDAsMTAwLDEsMCwxMjQsCiAgICAgMCwwLDEwNiwwLDAsOTUsMSwwLDEyNCwwLDAsMTA2LDIsMCwxMTYsMywKICAgICAwLDEwNiw0LDAsMTI0LDAsMCwxMDYsMCwwLDEwNiw1LDAsNjAsMTAwLDAsCi0gICAgMCw4Myw0MSwyLDc4LDg0LDQxLDYsMTE0LDIxNSwwLDAsMCwyMTgsMTMsOTUsCi0gICAgMTA1LDExMCwxMDUsMTE2LDEwNSw5NywxMDgsMTA1LDEyMiwxMDUsMTEwLDEwMywxMTQsMjE0LDAsMCwKKyAgICAwLDgzLDQxLDIsNzgsODQsNDEsNiwxMTQsMjE0LDAsMCwwLDIxOCwxMyw5NSwKKyAgICAxMDUsMTEwLDEwNSwxMTYsMTA1LDk3LDEwOCwxMDUsMTIyLDEwNSwxMTAsMTAzLDExNCwyMTMsMCwwLAogICAgIDAsMTE0LDcsMCwwLDAsMTE0LDczLDAsMCwwLDExNCw2NywwLDAsMCwKICAgICA0MSwxLDExNCw3MSwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsCi0gICAgMCwxMTQsNSwwLDAsMCwxMTQsNzUsMCwwLDAsMjIwLDIsMCwwLDExNSwKKyAgICAwLDExNCw1LDAsMCwwLDExNCw3NSwwLDAsMCwyMjEsMiwwLDAsMTE1LAogICAgIDQsMCwwLDAsMCw0LDEyLDEsMTIyLDI3LDk1LDEwNSwxMTAsMTE1LDExNiw5NywKICAgICAxMDgsMTA4LDEwMSwxMDAsOTUsMTE1LDk3LDEwMiwxMDEsMTA4LDEyMSw0Niw5NSw5NSwxMDEsMTEwLAogICAgIDExNiwxMDEsMTE0LDk1LDk1LDk5LDEsMCwwLDAsMCwwLDAsMCwzLDAsCkBAIC0xMzA0LDI1ICsxMzAyLDI1IEBACiAgICAgMCwxMDAsMCwwLDEwNyw5LDAsODYsMSwxMTMsMywwLDEwMCwwLDAsODMsCiAgICAgNDEsMSw3OCwxMTQsNCwwLDAsMCw0MSwyLDExNCwyMiwwLDAsMCwxMTQsCiAgICAgNzYsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsCi0gICAgMCwwLDAsMTE0LDc3LDAsMCwwLDIzMCwyLDAsMCwxMTUsMiwwLDAsCisgICAgMCwwLDAsMTE0LDc3LDAsMCwwLDIzMSwyLDAsMCwxMTUsMiwwLDAsCiAgICAgMCw2LDAsMTIyLDQ1LDk1LDEwNSwxMTAsMTE1LDExNiw5NywxMDgsMTA4LDEwMSwxMDAsOTUsCiAgICAgMTE1LDk3LDEwMiwxMDEsMTA4LDEyMSw0Niw5NSw5NSwxMDEsMTIwLDEwNSwxMTYsOTUsOTUsNDYsCiAgICAgNjAsMTA4LDExMSw5OSw5NywxMDgsMTE1LDYyLDQ2LDYwLDEwMywxMDEsMTEwLDEwMSwxMjAsMTEyLAogICAgIDExNCw2MiwxMjIsMTgsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsMzIsMTIzLDMzLDExNCwxMjUsMzIsCi0gICAgMzUsMzIsMTIzLDMzLDExNCwxMjUsNzAsNDEsOSwxMTQsMjE1LDAsMCwwLDExNCw3OCwKKyAgICAzNSwzMiwxMjMsMzMsMTE0LDEyNSw3MCw0MSw5LDExNCwyMTQsMCwwLDAsMTE0LDc4LAogICAgIDAsMCwwLDExNCw3LDAsMCwwLDExNCw3MywwLDAsMCwxMTQsNjcsMCwKICAgICAwLDAsMTE0LDc5LDAsMCwwLDExNCwxNTMsMCwwLDAsMTE0LDE3MCwwLDAsCi0gICAgMCwxMTQsMjE2LDAsMCwwLDQxLDMsMTE0LDcxLDAsMCwwLDExNCw4MCwwLAotICAgIDAsMCwxMTQsMTc4LDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwKLSAgICAwLDExNCw1LDAsMCwwLDExNCw4MSwwLDAsMCwyMjcsMiwwLDAsMTE1LAorICAgIDAsMTE0LDIxNSwwLDAsMCw0MSwzLDExNCw3MSwwLDAsMCwxMTQsODAsMCwKKyAgICAwLDAsMTE0LDE3NywwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsCisgICAgMCwxMTQsNSwwLDAsMCwxMTQsODEsMCwwLDAsMjI4LDIsMCwwLDExNSwKICAgICAxOCwwLDAsMCwwLDEsMywxLDksMSwyNSwxLDMsMSwxNywxLAogICAgIDEzLDEsOCwyLDI2LDIsMTIyLDI2LDk1LDEwNSwxMTAsMTE1LDExNiw5NywxMDgsMTA4LAogICAgIDEwMSwxMDAsOTUsMTE1LDk3LDEwMiwxMDEsMTA4LDEyMSw0Niw5NSw5NSwxMDEsMTIwLDEwNSwxMTYsCiAgICAgOTUsOTUsNzgsNDEsNiwxMTQsNTcsMCwwLDAsMTE0LDU2LDAsMCwwLDExNCwKICAgICA1OCwwLDAsMCwxMTQsNzIsMCwwLDAsMTE0LDc1LDAsMCwwLDExNCw4MSwKICAgICAwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLAotICAgIDAsMCwxMTQsNSwwLDAsMCwxMTQsMjEzLDAsMCwwLDIxNCwyLDAsMCwKLSAgICAxMTUsNiwwLDAsMCwxMiwyLDEyLDQsMTIsNywxMTQsMjEzLDAsMCwwLAorICAgIDAsMCwxMTQsNSwwLDAsMCwxMTQsMjEyLDAsMCwwLDIxNSwyLDAsMCwKKyAgICAxMTUsNiwwLDAsMCwxMiwyLDEyLDQsMTIsNywxMTQsMjEyLDAsMCwwLAogICAgIDk5LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDgsMCwwLAogICAgIDAsNjQsMCwwLDAsMTE1LDE3MiwwLDAsMCwxMDEsMCwwLDkwLDEsMCwKICAgICAxMDAsMCwwLDkwLDIsMCwxMDAsMSwwLDkwLDMsMCwxMDAsMiwwLDEwMCwKQEAgLTE0MzksMjMxOSArMTQzNywyMjQ0IEBACiAgICAgMTAzLDAsMCwxMTAsMywwLDEwMCwwLDAsMTI0LDAsMCw5NSw0LDAsMTAwLAogICAgIDEsMCwxMjQsMCwwLDk1LDUsMCwxMDAsMCwwLDEyNCwwLDAsOTUsNiwKICAgICAwLDEwMCwwLDAsODMsNDEsMiw3OCw3MCw0MSw3LDExNCw2NywwLDAsMCwKLSAgICAxMTQsMTcwLDAsMCwwLDExNCwyMTgsMCwwLDAsMTE0LDIxOSwwLDAsMCwyMTgsCisgICAgMTE0LDE3MCwwLDAsMCwxMTQsMjE3LDAsMCwwLDExNCwyMTgsMCwwLDAsMjE4LAogICAgIDI2LDExNSwxMTcsOTgsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsOTUsMTE1LDEwMSw5NywxMTQsOTksCiAgICAgMTA0LDk1LDEwOCwxMTEsOTksOTcsMTE2LDEwNSwxMTEsMTEwLDExNSwyMTgsMTMsOTUsMTE1LDEwMSwKICAgICAxMTYsOTUsMTAyLDEwNSwxMDgsMTAxLDk3LDExNiwxMTYsMTE0LDIxOCw3LDk1LDk5LDk3LDk5LAogICAgIDEwNCwxMDEsMTAwLDQxLDYsMTE0LDcxLDAsMCwwLDExNCw2NywwLDAsMCwxMTQsCi0gICAgMTcwLDAsMCwwLDExNCwyMTgsMCwwLDAsMTE0LDIxOSwwLDAsMCwxMTQsMjIwLAorICAgIDE3MCwwLDAsMCwxMTQsMjE3LDAsMCwwLDExNCwyMTgsMCwwLDAsMTE0LDIxOSwKICAgICAwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLAotICAgIDAsMCwxMTQsNzIsMCwwLDAsMjIsMywwLDAsMTE1LDE0LDAsMCwwLAorICAgIDAsMCwxMTQsNzIsMCwwLDAsMjMsMywwLDAsMTE1LDE0LDAsMCwwLAogICAgIDAsMiw5LDEsOSwxLDksMSw5LDEsMjEsMyw5LDEsMTIyLDE5LAogICAgIDc3LDExMSwxMDAsMTE3LDEwOCwxMDEsODMsMTEyLDEwMSw5OSw0Niw5NSw5NSwxMDUsMTEwLDEwNSwKICAgICAxMTYsOTUsOTUsOTksMSwwLDAsMCwwLDAsMCwwLDIsMCwwLDAsCi0gICAgNCwwLDAsMCw2NywwLDAsMCwxMTUsMTUzLDAsMCwwLDEwMCwxLDAsCisgICAgNCwwLDAsMCw2NywwLDAsMCwxMTUsMTQ3LDAsMCwwLDEwMCwxLDAsCiAgICAgMTA2LDAsMCwxMjQsMCwwLDEwNiwxLDAsMTMxLDEsMCwxMDAsMiwwLDEwNiwKICAgICAwLDAsMTI0LDAsMCwxMDYsMiwwLDEzMSwxLDAsMTAzLDIsMCwxMjUsMSwKLSAgICAwLDEyNCwwLDAsMTA2LDMsMCwxMDAsMCwwLDEwNyw5LDAsMTE0LDc5LDAsCisgICAgMCwxMjQsMCwwLDEwNiwzLDAsMTAwLDAsMCwxMDcsOSwwLDExNCw3NiwwLAogICAgIDEyNCwxLDAsMTA2LDQsMCwxMDAsMywwLDEwNiwwLDAsMTI0LDAsMCwxMDYsCi0gICAgMywwLDEzMSwxLDAsMTMxLDEsMCwxLDExMCwwLDAsMTI0LDAsMCwxMDYsCi0gICAgNSwwLDEwMCwwLDAsMTA3LDksMCwxMTQsMTIyLDAsMTI0LDEsMCwxMDYsNCwKLSAgICAwLDEwMCw0LDAsMTA2LDAsMCwxMjQsMCwwLDEwNiw1LDAsMTMxLDEsMCwKLSAgICAxMzEsMSwwLDEsMTEwLDAsMCwxMDAsNSwwLDEwNiwwLDAsMTI0LDAsMCwKLSAgICAxMDYsNiwwLDEwNiw3LDAsMTAwLDYsMCwxMDYsOCwwLDEyNCwxLDAsMTMxLAotICAgIDEsMCwxMzEsMiwwLDgzLDQxLDcsNzgsMTIyLDksMTEwLDk3LDEwOSwxMDEsNjEsCi0gICAgMTIzLDMzLDExNCwxMjUsMTIyLDExLDEwOCwxMTEsOTcsMTAwLDEwMSwxMTQsNjEsMTIzLDMzLDExNCwKLSAgICAxMjUsMTIyLDExLDExMSwxMTQsMTA1LDEwMywxMDUsMTEwLDYxLDEyMywzMywxMTQsMTI1LDEyMiwyOSwKLSAgICAxMTUsMTE3LDk4LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDk1LDExNSwxMDEsOTcsMTE0LDk5LDEwNCwKLSAgICA5NSwxMDgsMTExLDk5LDk3LDExNiwxMDUsMTExLDExMCwxMTUsNjEsMTIzLDEyNSwxMjIsNiwxMjMsCi0gICAgMTI1LDQwLDEyMywxMjUsNDEsMTIyLDIsNDQsMzIsNDEsOSwxMTQsNDcsMCwwLDAsCi0gICAgMTE0LDY3LDAsMCwwLDExNCwxNzAsMCwwLDAsMTE0LDIxOCwwLDAsMCwyMTgsCi0gICAgNiw5NywxMTIsMTEyLDEwMSwxMTAsMTAwLDExNCwyMjEsMCwwLDAsMjE4LDksOTUsOTUsCi0gICAgOTksMTA4LDk3LDExNSwxMTUsOTUsOTUsMTE0LDU3LDAsMCwwLDExNCwyNiwwLDAsCi0gICAgMCw0MSwyLDExNCw3MSwwLDAsMCwxMTQsODAsMCwwLDAsMTE0LDQsMCwKLSAgICAwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMTE0LDEwMSwwLDAsCi0gICAgMCwzNCwzLDAsMCwxMTUsMTYsMCwwLDAsMCwxLDE1LDEsMjEsMSwKLSAgICAxNSwxLDI4LDEsMTUsMSwxMiwxLDE2LDEsMTIyLDE5LDc3LDExMSwxMDAsMTE3LAotICAgIDEwOCwxMDEsODMsMTEyLDEwMSw5OSw0Niw5NSw5NSwxMTQsMTAxLDExMiwxMTQsOTUsOTUsOTksCi0gICAgMiwwLDAsMCwwLDAsMCwwLDMsMCwwLDAsMTEsMCwwLDAsCi0gICAgNjcsMCwwLDAsMTE1LDE0NSwwLDAsMCwxMjQsMCwwLDEwNiwwLDAsMTI1LAotICAgIDIsMCwxMjEsMTA3LDAsMTI0LDAsMCwxMDYsMSwwLDEyNCwxLDAsMTA2LDEsCi0gICAgMCwxMDcsMiwwLDExMSwxMTQsMCwxMjQsMCwwLDEwNiwyLDAsMTI0LDEsMCwKLSAgICAxMDYsMiwwLDEwNywyLDAsMTExLDExNCwwLDEyNCwwLDAsMTA2LDMsMCwxMjQsCi0gICAgMSwwLDEwNiwzLDAsMTA3LDIsMCwxMTEsMTE0LDAsMTI0LDIsMCwxMjQsMSwKLSAgICAwLDEwNiwwLDAsMTA3LDIsMCwxMTEsMTE0LDAsMTI0LDAsMCwxMDYsNCwwLAotICAgIDEyNCwxLDAsMTA2LDQsMCwxMDcsMiwwLDExMSwxMTQsMCwxMjQsMCwwLDEwNiwKLSAgICA1LDAsMTI0LDEsMCwxMDYsNSwwLDEwNywyLDAsODMsODcsMTEwLDIyLDAsCi0gICAgNCwxMTYsNiwwLDEwNywxMCwwLDExNCwxNDAsMCwxLDEsMSwxMDAsMSwwLAotICAgIDgzLDg5LDExMCwxLDAsODgsMTAwLDAsMCw4Myw0MSwyLDc4LDcwLDQxLDcsCi0gICAgMTE0LDIyMSwwLDAsMCwxMTQsNjcsMCwwLDAsMTE0LDE3MCwwLDAsMCwxMTQsCi0gICAgMjE4LDAsMCwwLDIxOCw2LDk5LDk3LDk5LDEwNCwxMDEsMTAwLDIxOCwxMiwxMDQsOTcsCi0gICAgMTE1LDk1LDEwOCwxMTEsOTksOTcsMTE2LDEwNSwxMTEsMTEwLDExNCwyMTAsMCwwLDAsNDEsCi0gICAgMywxMTQsNzEsMCwwLDAsMjE4LDUsMTExLDExNiwxMDQsMTAxLDExNCwyMTgsNCwxMTUsCi0gICAgMTA5LDExNSwxMDgsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwKLSAgICAwLDAsMjE4LDYsOTUsOTUsMTAxLDExMyw5NSw5NSw0NCwzLDAsMCwxMTUsMjAsCi0gICAgMCwwLDAsMCwxLDksMSwzLDEsMTgsMSwxOCwxLDE4LDEsMTUsCi0gICAgMSwxOCwxLDIwLDEsMTMsMSwxMjIsMTcsNzcsMTExLDEwMCwxMTcsMTA4LDEwMSw4MywKLSAgICAxMTIsMTAxLDk5LDQ2LDk1LDk1LDEwMSwxMTMsOTUsOTUsOTksMSwwLDAsMCwwLAotICAgIDAsMCwwLDIsMCwwLDAsMTEsMCwwLDAsNjcsMCwwLDAsMTE1LAotICAgIDE1OCwwLDAsMCwxMjQsMCwwLDEwNiwwLDAsMTAwLDAsMCwxMDcsOCwwLAotICAgIDExNCwxNTEsMCwxMjQsMCwwLDEwNiwxLDAsMTAwLDAsMCwxMDcsOSwwLDExNCwKLSAgICAxNTEsMCwxMjQsMCwwLDEwNiwyLDAsMTE0LDE1MSwwLDEyNCwwLDAsMTA2LDEsCi0gICAgMCwxMjUsMSwwLDEyNCwxLDAsMTA2LDMsMCwxMTYsNCwwLDExNiw1LDAsCi0gICAgMTMxLDEsMCwxMzEsMSwwLDExNCwxMTIsMCwxMjEsMTksMCwxMTYsNiwwLDEyNCwKLSAgICAxLDAsMTMxLDEsMCwxMjQsMCwwLDk1LDAsMCw4NywxMTMsMTQ1LDAsNCwKLSAgICAxMTYsNywwLDEwNywxMCwwLDExNCwxMDgsMCwxLDEsMSw4OSwxMTMsMTQ1LDAsCi0gICAgODgsMTEzLDE0OCwwLDEyNCwxLDAsMTA2LDMsMCwxMTYsNCwwLDExNiw4LDAsCi0gICAgMTMxLDEsMCwxMzEsMSwwLDExNCwxNDgsMCwxMjQsMSwwLDEyNCwwLDAsOTUsCi0gICAgMCwwLDExMywxNDgsMCwxMTMsMTUxLDAsMTEwLDAsMCwxMjQsMCwwLDEwNiwwLAotICAgIDAsODMsNDEsMSw3OCw0MSw5LDExNCwyMjMsMCwwLDAsMTE0LDIxOCwwLDAsCi0gICAgMCwxMTQsMjIyLDAsMCwwLDIxOCw4LDEwMSwxMTAsMTAwLDExNSwxMTksMTA1LDExNiwxMDQsCi0gICAgMjE4LDUsMTE2LDExNywxMTIsMTA4LDEwMSwxMTQsMTM1LDAsMCwwLDExNCwxMzIsMCwwLAotICAgIDAsMTE0LDEyMywwLDAsMCwyMTgsMTcsNjYsODksODQsNjksNjcsNzksNjgsNjksCi0gICAgOTUsODMsODUsNzAsNzAsNzMsODgsNjksODMsNDEsMiwxMTQsNzEsMCwwLDAsCi0gICAgMTE0LDEzMSwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsCi0gICAgNSwwLDAsMCwxMTQsMjI2LDAsMCwwLDU2LDMsMCwwLDExNSwyMiwwLAotICAgIDAsMCwwLDIsMTUsMSwyNCwxLDksMSwyMSwxLDMsMSwxOSwxLAotICAgIDEzLDEsOCwxLDIxLDEsMTgsMSwxMjIsMTcsNzcsMTExLDEwMCwxMTcsMTA4LDEwMSwKLSAgICA4MywxMTIsMTAxLDk5LDQ2LDk5LDk3LDk5LDEwNCwxMDEsMTAwLDk5LDIsMCwwLDAsCi0gICAgMCwwLDAsMCwyLDAsMCwwLDIsMCwwLDAsNjcsMCwwLDAsCi0gICAgMTE1LDEzLDAsMCwwLDEyNCwxLDAsMTI0LDAsMCw5NSwwLDAsMTAwLDAsCi0gICAgMCw4Myw0MSwxLDc4LDQxLDEsMTE0LDIyMywwLDAsMCw0MSwyLDExNCw3MSwKLSAgICAwLDAsMCwxMTQsMjI2LDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsCi0gICAgMCwwLDExNCw1LDAsMCwwLDExNCwyMjYsMCwwLDAsNzAsMywwLDAsCi0gICAgMTE1LDIsMCwwLDAsMCwyLDk5LDEsMCwwLDAsMCwwLDAsMCwKLSAgICAxLDAsMCwwLDIsMCwwLDAsNjcsMCwwLDAsMTE1LDQ2LDAsMCwKLSAgICAwLDEyNCwwLDAsMTA2LDAsMCwxMDAsMSwwLDEwNyw4LDAsMTE0LDM1LDAsCi0gICAgMTI0LDAsMCwxMDYsMSwwLDEwNiwyLDAsMTAwLDIsMCwxMzEsMSwwLDEwMCwKLSAgICAzLDAsMjUsODMsMTI0LDAsMCwxMDYsMSwwLDgzLDEwMCwxLDAsODMsNDEsCi0gICAgNCwxMjIsMzIsODQsMTA0LDEwMSwzMiwxMTAsOTcsMTA5LDEwMSwzMiwxMTEsMTAyLDMyLDExNiwKLSAgICAxMDQsMTAxLDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDM5LDExNSwzMiwxMTIsOTcsMTE0LDEwMSwKLSAgICAxMTAsMTE2LDQ2LDc4LDExNCwxMTYsMCwwLDAsMTE0LDg0LDAsMCwwLDQxLDMsCi0gICAgMTE0LDIyMSwwLDAsMCwxMTQsNjcsMCwwLDAsMTE0LDMyLDAsMCwwLDQxLAotICAgIDEsMTE0LDcxLDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLAotICAgIDExNCw1LDAsMCwwLDIxOCw2LDExMiw5NywxMTQsMTAxLDExMCwxMTYsNzQsMywwLAotICAgIDAsMTE1LDYsMCwwLDAsMCwzLDE1LDEsMjAsMiwxMjIsMTcsNzcsMTExLAotICAgIDEwMCwxMTcsMTA4LDEwMSw4MywxMTIsMTAxLDk5LDQ2LDExMiw5NywxMTQsMTAxLDExMCwxMTYsOTksCi0gICAgMSwwLDAsMCwwLDAsMCwwLDEsMCwwLDAsMSwwLDAsMCwKLSAgICA2NywwLDAsMCwxMTUsNywwLDAsMCwxMjQsMCwwLDEwNiwwLDAsODMsCi0gICAgNDEsMSw3OCw0MSwxLDExNCwyMjIsMCwwLDAsNDEsMSwxMTQsNzEsMCwwLAotICAgIDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsCi0gICAgMTE0LDIyNywwLDAsMCw4MiwzLDAsMCwxMTUsMiwwLDAsMCwwLDIsCi0gICAgMTIyLDIzLDc3LDExMSwxMDAsMTE3LDEwOCwxMDEsODMsMTEyLDEwMSw5OSw0NiwxMDQsOTcsMTE1LAotICAgIDk1LDEwOCwxMTEsOTksOTcsMTE2LDEwNSwxMTEsMTEwLDk5LDIsMCwwLDAsMCwwLAotICAgIDAsMCwyLDAsMCwwLDIsMCwwLDAsNjcsMCwwLDAsMTE1LDE5LAotICAgIDAsMCwwLDExNiwwLDAsMTI0LDEsMCwxMzEsMSwwLDEyNCwwLDAsOTUsCi0gICAgMSwwLDEwMCwwLDAsODMsNDEsMSw3OCw0MSwyLDIxOCw0LDk4LDExMSwxMTEsCi0gICAgMTA4LDExNCwyMjIsMCwwLDAsNDEsMiwxMTQsNzEsMCwwLDAsMjE4LDUsMTE4LAotICAgIDk3LDEwOCwxMTcsMTAxLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LAotICAgIDAsMCwwLDExNCwyMjcsMCwwLDAsODYsMywwLDAsMTE1LDIsMCwwLAotICAgIDAsMCwyLDQxLDEyLDExNCw1NywwLDAsMCwxMTQsNTYsMCwwLDAsMTE0LAotICAgIDU4LDAsMCwwLDExNCw1OSwwLDAsMCwxMTQsNzIsMCwwLDAsMTE0LDEwMSwKLSAgICAwLDAsMCwxMTQsMjMwLDAsMCwwLDIxOCw4LDExMiwxMTQsMTExLDExMiwxMDEsMTE0LAotICAgIDExNiwxMjEsMTE0LDIyNiwwLDAsMCwyMTgsNiwxMTUsMTAxLDExNiwxMTYsMTAxLDExNCwxMTQsCi0gICAgMjM0LDAsMCwwLDExNCwyMjcsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsCi0gICAgMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMTE0LDIxNywwLAotICAgIDAsMCwyNDEsMiwwLDAsMTE1LDIwLDAsMCwwLDEyLDM1LDYsMiwxNSwKLSAgICAxLDE1LDExLDEyLDEwLDEyLDEyLDE4LDE0LDIxLDQsMTgsOCwxOCw0LDExNCwKLSAgICAyMTcsMCwwLDAsMTE0LDIxOCwwLDAsMCwxMTQsMjIwLDAsMCwwLDk5LDIsCi0gICAgMCwwLDAsMiwwLDAsMCw1LDAsMCwwLDE1LDAsMCwwLDY3LAotICAgIDAsMCwwLDExNSwxOTMsMCwwLDAsMTE2LDAsMCwxMjQsMSwwLDEwMCwxLAotICAgIDAsMTMxLDIsMCwxMTQsODMsMCwxMjQsMywwLDEwMCwyLDAsMTA3LDgsMCwKLSAgICAxMTQsNDMsMCwxMTYsMSwwLDEyNCwwLDAsMTAwLDMsMCwxMjQsMSwwLDEzMSwKLSAgICAxLDEsODMsMTI0LDMsMCwxMTQsNTUsMCwxMDMsMCwwLDExMCwzLDAsMTAwLAotICAgIDIsMCwxMjUsNCwwLDExNiwxLDAsMTI0LDAsMCwxMDAsMywwLDEyNCwxLAotICAgIDAsMTAwLDQsMCwxMjQsNCwwLDEzMSwxLDIsODMsMTI0LDMsMCwxMDAsMiwKLSAgICAwLDEwNyw4LDAsMTE0LDE2OCwwLDExNiwwLDAsMTI0LDEsMCwxMDAsNSwwLAotICAgIDEzMSwyLDAsMTE0LDE1OSwwLDEyMSwxOSwwLDEyNCwxLDAsMTA2LDIsMCwxMjQsCi0gICAgMCwwLDEzMSwxLDAsMTI1LDMsMCw4NywxMTMsMTY1LDAsNCwxMTYsMywwLAotICAgIDEwNywxMCwwLDExNCwxNTUsMCwxLDEsMSwxMDAsMiwwLDEyNSwzLDAsODksCi0gICAgMTEzLDE2NSwwLDg4LDExMywxNjgsMCwxMDAsNiwwLDEyNSwzLDAsMTEwLDAsMCwKLSAgICAxMTYsNCwwLDEyNCwwLDAsMTI0LDEsMCwxMDAsNywwLDEyNCwyLDAsMTAwLAotICAgIDUsMCwxMjQsMywwLDEzMSwyLDIsODMsNDEsOCwxMjIsNTMsODIsMTAxLDExNiwKLSAgICAxMTcsMTE0LDExMCwzMiw5NywzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwzMiwxMTUsMTEyLDEwMSwKLSAgICA5OSwzMiw5OCw5NywxMTUsMTAxLDEwMCwzMiwxMTEsMTEwLDMyLDExOCw5NywxMTQsMTA1LDExMSwKLSAgICAxMTcsMTE1LDMyLDEwOCwxMTEsOTcsMTAwLDEwMSwxMTQsMzIsMTA5LDEwMSwxMTYsMTA0LDExMSwxMDAsCi0gICAgMTE1LDQ2LDIxOCwxMiwxMDMsMTAxLDExNiw5NSwxMDIsMTA1LDEwOCwxMDEsMTEwLDk3LDEwOSwxMDEsCi0gICAgNzgsMTE0LDE3MCwwLDAsMCwxMTQsMjIxLDAsMCwwLDExNCwyMjAsMCwwLDAsCi0gICAgNzAsMTE0LDIxOCwwLDAsMCw0MSw1LDExNCw2MCwwLDAsMCwyMTgsMjMsMTE1LAotICAgIDExMiwxMDEsOTksOTUsMTAyLDExNCwxMTEsMTA5LDk1LDEwMiwxMDUsMTA4LDEwMSw5NSwxMDgsMTExLAotICAgIDk5LDk3LDExNiwxMDUsMTExLDExMCwxMTQsMjIwLDAsMCwwLDExNCwxNTQsMCwwLDAsCi0gICAgMTE0LDIxNywwLDAsMCw0MSw1LDExNCw2NywwLDAsMCwxMTQsMTcwLDAsMCwKLSAgICAwLDExNCwyMTgsMCwwLDAsMTE0LDIyMCwwLDAsMCw5MCw2LDExNSwxMDEsOTcsCi0gICAgMTE0LDk5LDEwNCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLAotICAgIDAsMCwxMTQsMTc0LDAsMCwwLDkxLDMsMCwwLDExNSwyOCwwLDAsMCwKLSAgICAwLDIsMTUsMSwxMiwxLDE2LDEsMTgsMSwxNSwxLDcsMiwxMiwxLAotICAgIDE1LDEsMywxLDE5LDEsMTMsMSwxNCwzLDksMiwxMTQsMTc0LDAsMCwKLSAgICAwLDExNCwxNzAsMCwwLDAsMTE0LDIyMSwwLDAsMCw5OSwyLDAsMCwwLAotICAgIDIsMCwwLDAsOSwwLDAsMCwxOSwwLDAsMCw2NywwLDAsMCwKLSAgICAxMTUsMTEwLDEsMCwwLDEyNCwxLDAsMTAwLDEsMCwxMDcsOCwwLDExNCw3OSwKLSAgICAwLDEwMCwyLDAsMTI1LDEsMCwxMTYsMCwwLDEyNCwyLDAsMTAwLDMsMCwKLSAgICAxMzEsMiwwLDExNCw3OSwwLDEyMSwxOSwwLDEyNCwyLDAsMTA2LDEsMCwxMjQsCi0gICAgMCwwLDEzMSwxLDAsMTI1LDEsMCw4NywxMTMsNzYsMCw0LDExNiwyLDAsCi0gICAgMTA3LDEwLDAsMTE0LDcyLDAsMSwxLDEsODksMTEzLDc2LDAsODgsMTEzLDc5LAotICAgIDAsMTEwLDAsMCwxMTYsMywwLDEyNCwwLDAsMTI0LDIsMCwxMDAsNCwwLAotICAgIDEyNCwxLDAsMTMxLDIsMSwxMjUsNCwwLDEwMCw1LDAsMTI0LDQsMCw5NSwKLSAgICA0LDAsMTI0LDIsMCwxMDAsMSwwLDEwNyw4LDAsMTE0LDIwMywwLDEyMCw3OSwKLSAgICAwLDExNiw1LDAsMTMxLDAsMCw2OCw5Myw2MSwwLDkyLDIsMCwxMjUsNSwKLSAgICAwLDEyNSw2LDAsMTI0LDEsMCwxMDYsNiwwLDExNiw3LDAsMTI0LDYsMCwKLSAgICAxMzEsMSwwLDEzMSwxLDAsMTE0LDEzMSwwLDEyNCw1LDAsMTI0LDAsMCwxMjQsCi0gICAgMSwwLDEzMSwyLDAsMTI1LDIsMCwxMjQsMiwwLDEyNCw0LDAsOTUsOCwKLSAgICAwLDgwLDExMywxMzEsMCwxMTMsMTMxLDAsODcsMTAwLDEsMCw4MywxMTAsMCwwLAotICAgIDEyNCwzLDAsMTE2LDksMCwxMDcsOCwwLDExNCwzOCwxLDExNiwwLDAsMTI0LAotICAgIDIsMCwxMDAsNiwwLDEzMSwyLDAsMTE0LDQ3LDEsMTIxLDE5LDAsMTI0LDIsCi0gICAgMCwxMDYsMTAsMCwxMjQsMCwwLDEzMSwxLDAsMTI1LDcsMCw4NywxMTAsMTgsCi0gICAgMCw0LDExNiwyLDAsMTA3LDEwLDAsMTE0LDEzLDEsMSwxLDEsODksMTEzLAotICAgIDM1LDEsODgsMTI0LDcsMCwxMTQsMzUsMSwxMDMsMCwwLDEyNCw0LDAsOTUsCi0gICAgMTEsMCwxMTMsMzUsMSwxMTMsNDcsMSwxMTAsOSwwLDEyNCwzLDAsMTI0LDQsCi0gICAgMCw5NSwxMSwwLDEyNCw0LDAsMTA2LDExLDAsMTAzLDAsMCwxMDcsMiwwLAotICAgIDExNCwxMDYsMSwxMjQsMSwwLDExNCwxMDYsMSwxMTYsMTIsMCwxMjQsMSwwLDEzMSwKLSAgICAxLDAsMTAwLDcsMCwyNSwxMjUsOCwwLDEyNCw0LDAsMTA2LDExLDAsMTA2LAotICAgIDEzLDAsMTI0LDgsMCwxMzEsMSwwLDEsMTEzLDEwNiwxLDExMCwwLDAsMTI0LAotICAgIDQsMCw4Myw0MSw4LDk3LDYxLDEsMCwwLDgyLDEwMSwxMTYsMTE3LDExNCwxMTAsCi0gICAgMzIsOTcsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsMTE1LDExMiwxMDEsOTksMzIsOTgsCi0gICAgOTcsMTE1LDEwMSwxMDAsMzIsMTExLDExMCwzMiw5NywzMiwxMDIsMTA1LDEwOCwxMDEsMzIsMTA4LAotICAgIDExMSw5OSw5NywxMTYsMTA1LDExMSwxMTAsNDYsMTAsMTAsMzIsMzIsMzIsMzIsODQsMTExLAotICAgIDMyLDEwNSwxMTAsMTAwLDEwNSw5OSw5NywxMTYsMTAxLDMyLDExNiwxMDQsOTcsMTE2LDMyLDExNiwKLSAgICAxMDQsMTAxLDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDMyLDEwNSwxMTUsMzIsOTcsMzIsMTEyLAotICAgIDk3LDk5LDEwNyw5NywxMDMsMTAxLDQ0LDMyLDExNSwxMDEsMTE2LDEwLDMyLDMyLDMyLDMyLAotICAgIDExNSwxMTcsOTgsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsOTUsMTE1LDEwMSw5NywxMTQsOTksMTA0LAotICAgIDk1LDEwOCwxMTEsOTksOTcsMTE2LDEwNSwxMTEsMTEwLDExNSwzMiwxMTYsMTExLDMyLDk3LDMyLAotICAgIDEwOCwxMDUsMTE1LDExNiwzMiwxMTEsMTAyLDMyLDEwMCwxMDUsMTE0LDEwMSw5OSwxMTYsMTExLDExNCwKLSAgICAxMjEsMzIsMTEyLDk3LDExNiwxMDQsMTE1LDQ2LDMyLDMyLDY1LDExMCwxMCwzMiwzMiwzMiwKLSAgICAzMiwxMDEsMTA5LDExMiwxMTYsMTIxLDMyLDEwOCwxMDUsMTE1LDExNiwzMiwxMDUsMTE1LDMyLDExNSwKLSAgICAxMTcsMTAyLDEwMiwxMDUsOTksMTA1LDEwMSwxMTAsMTE2LDQ0LDMyLDExNiwxMDQsMTExLDExNywxMDMsCi0gICAgMTA0LDMyLDEwNSwxMTYsMTE1LDMyLDExMCwxMTEsMTE2LDMyLDExMSwxMTYsMTA0LDEwMSwxMTQsMTE5LAotICAgIDEwNSwxMTUsMTAxLDMyLDExNywxMTUsMTAxLDEwMiwxMTcsMTA4LDMyLDExNiwxMTEsMzIsMTE2LDEwNCwKLSAgICAxMDEsMTAsMzIsMzIsMzIsMzIsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsMzIsMTE1LDEyMSwxMTUsCi0gICAgMTE2LDEwMSwxMDksNDYsMTAsMTAsMzIsMzIsMzIsMzIsODQsMTA0LDEwMSwzMiwxMDgsMTExLAotICAgIDk3LDEwMCwxMDEsMTE0LDMyLDEwOSwxMTcsMTE1LDExNiwzMiwxMTYsOTcsMTA3LDEwMSwzMiw5NywKLSAgICAzMiwxMTUsMTEyLDEwMSw5OSwzMiw5NywxMTUsMzIsMTA1LDExNiwxMTUsMzIsMTExLDExMCwxMDgsCi0gICAgMTIxLDMyLDk1LDk1LDEwNSwxMTAsMTA1LDExNiw5NSw5NSw0MCw0MSwzMiw5NywxMTQsMTAzLAotICAgIDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDc4LDEyMiw5LDYwLDExNywxMTAsMTA3LDExMCwxMTEsCi0gICAgMTE5LDExMCw2MiwxMTQsMjM5LDAsMCwwLDExNCwyMTgsMCwwLDAsODQsMTE0LDIyMCwKLSAgICAwLDAsMCwxMTQsODQsMCwwLDAsNDEsMTQsMTE0LDYwLDAsMCwwLDExNCwKLSAgICAyMzksMCwwLDAsMTE0LDE1NCwwLDAsMCwxMTQsMjE3LDAsMCwwLDExNCwyMjIsCi0gICAgMCwwLDAsMjE4LDI3LDk1LDEwMywxMDEsMTE2LDk1LDExNSwxMTcsMTEyLDExMiwxMTEsMTE0LAotICAgIDExNiwxMDEsMTAwLDk1LDEwMiwxMDUsMTA4LDEwMSw5NSwxMDgsMTExLDk3LDEwMCwxMDEsMTE0LDExNSwKLSAgICAxMTQsMjMxLDAsMCwwLDExNCwyMzIsMCwwLDAsMTE0LDE3MCwwLDAsMCwyMTgsCi0gICAgOSw5NSw4MCw3OSw4MCw4NSw3Niw2NSw4NCw2OSwxMTQsMjIwLDAsMCwwLDExNCwKLSAgICAyMjEsMCwwLDAsMTE0LDM4LDAsMCwwLDExNCwyMjQsMCwwLDAsNDEsOSwKLSAgICAxMTQsNjcsMCwwLDAsMjE4LDgsMTA4LDExMSw5OSw5NywxMTYsMTA1LDExMSwxMTAsMTE0LAotICAgIDE3MCwwLDAsMCwxMTQsMjIxLDAsMCwwLDExNCwxNzgsMCwwLDAsMjE4LDEyLAotICAgIDEwOCwxMTEsOTcsMTAwLDEwMSwxMTQsOTUsOTksMTA4LDk3LDExNSwxMTUsMTE0LDEyNiwwLDAsCi0gICAgMCwxMTQsMjIwLDAsMCwwLDkwLDcsMTAwLDEwNSwxMTQsMTEwLDk3LDEwOSwxMDEsMTE0LAotICAgIDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMTE0LDI0MCwKLSAgICAwLDAsMCwxMTYsMywwLDAsMTE1LDYwLDAsMCwwLDAsMTIsMTIsNCwKLSAgICA2LDEsMTUsMiwzLDEsMTksMSwxMywxLDExLDgsMjEsMSw5LDMsCi0gICAgMTIsMSwyMiwxLDIxLDEsMTUsMSw5LDEsOCwyLDcsMywxMiwyLAotICAgIDE1LDEsMywxLDE5LDEsMTMsMSw1LDIsNiwxLDE4LDIsOSwxLAotICAgIDE1LDEsNiwxLDE2LDEsMjIsMiwxMTQsMjQwLDAsMCwwLDk5LDMsMCwKLSAgICAwLDAsMCwwLDAsMCw4LDAsMCwwLDUzLDAsMCwwLDY3LDAsCi0gICAgMCwwLDExNSwxMjQsMSwwLDAsMTIxLDEzLDAsMTI0LDAsMCwxMDYsMCwwLAotICAgIDEyNSwzLDAsODcsMTEwLDE4LDAsNCwxMTYsMSwwLDEwNywxMCwwLDExNCwzMywKLSAgICAwLDEsMSwxLDg5LDExMCwxNywwLDg4LDEyNCwzLDAsMTAwLDAsMCwxMDcsCi0gICAgOSwwLDExNCw1MCwwLDEyNCwzLDAsODMsMTI0LDAsMCwxMDYsMiwwLDEyNSwKLSAgICA0LDAsMTI0LDEsMCwxMDAsMCwwLDEwNyw4LDAsMTE0LDEwOCwwLDEyMSwxMywKLSAgICAwLDEyNCwwLDAsMTA2LDMsMCwxMjUsMSwwLDg3LDExMywxMDgsMCw0LDExNiwKLSAgICAxLDAsMTA3LDEwLDAsMTE0LDEwNCwwLDEsMSwxLDg5LDExMywxMDgsMCw4OCwKLSAgICAxMTAsMCwwLDEyMSwxMywwLDEyNCwwLDAsMTA2LDQsMCwxMjUsNSwwLDg3LAotICAgIDExMCwyNCwwLDQsMTE2LDEsMCwxMDcsMTAsMCwxMTQsMTQ3LDAsMSwxLDEsCi0gICAgMTAwLDAsMCwxMjUsNSwwLDg5LDExMCwxLDAsODgsMTI0LDIsMCwxMDAsMCwKLSAgICAwLDEwNyw4LDAsMTE0LDIyNCwwLDEyNCw1LDAsMTAwLDAsMCwxMDcsOCwwLAotICAgIDExNCwyMTUsMCwxMjEsMTMsMCwxMjQsMSwwLDEwNiw1LDAsMTI1LDIsMCw4NywKLSAgICAxMTMsMjIxLDAsNCwxMTYsMSwwLDEwNywxMCwwLDExNCwyMTEsMCwxLDEsMSwKLSAgICAxMDAsMCwwLDEyNSwyLDAsODksMTEzLDIyMSwwLDg4LDExMywyMjQsMCwxMjQsNSwKLSAgICAwLDEyNSwyLDAsMTEwLDAsMCwxMjEsMTMsMCwxMjQsMCwwLDEwNiw2LDAsCi0gICAgMTI1LDYsMCw4NywxMTAsMjQsMCw0LDExNiwxLDAsMTA3LDEwLDAsMTE0LDcsCisgICAgMywwLDEzMSwxLDAsMTMxLDEsMCwxLDEyNCwwLDAsMTA2LDUsMCwxMDAsCisgICAgMCwwLDEwNyw5LDAsMTE0LDExNiwwLDEyNCwxLDAsMTA2LDQsMCwxMDAsNCwKKyAgICAwLDEwNiwwLDAsMTI0LDAsMCwxMDYsNSwwLDEzMSwxLDAsMTMxLDEsMCwKKyAgICAxLDEwMCw1LDAsMTA2LDAsMCwxMjQsMCwwLDEwNiw2LDAsMTA2LDcsMCwKKyAgICAxMDAsNiwwLDEwNiw4LDAsMTI0LDEsMCwxMzEsMSwwLDEzMSwyLDAsODMsCisgICAgNDEsNyw3OCwxMjIsOSwxMTAsOTcsMTA5LDEwMSw2MSwxMjMsMzMsMTE0LDEyNSwxMjIsMTEsCisgICAgMTA4LDExMSw5NywxMDAsMTAxLDExNCw2MSwxMjMsMzMsMTE0LDEyNSwxMjIsMTEsMTExLDExNCwxMDUsCisgICAgMTAzLDEwNSwxMTAsNjEsMTIzLDMzLDExNCwxMjUsMTIyLDI5LDExNSwxMTcsOTgsMTA5LDExMSwxMDAsCisgICAgMTE3LDEwOCwxMDEsOTUsMTE1LDEwMSw5NywxMTQsOTksMTA0LDk1LDEwOCwxMTEsOTksOTcsMTE2LAorICAgIDEwNSwxMTEsMTEwLDExNSw2MSwxMjMsMTI1LDEyMiw2LDEyMywxMjUsNDAsMTIzLDEyNSw0MSwxMjIsCisgICAgMiw0NCwzMiw0MSw5LDExNCw0NywwLDAsMCwxMTQsNjcsMCwwLDAsMTE0LAorICAgIDE3MCwwLDAsMCwxMTQsMjE3LDAsMCwwLDIxOCw2LDk3LDExMiwxMTIsMTAxLDExMCwKKyAgICAxMDAsMTE0LDIyMCwwLDAsMCwyMTgsOSw5NSw5NSw5OSwxMDgsOTcsMTE1LDExNSw5NSwKKyAgICA5NSwxMTQsNTcsMCwwLDAsMTE0LDI2LDAsMCwwLDQxLDIsMTE0LDcxLDAsCisgICAgMCwwLDExNCw4MCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsCisgICAgMCwxMTQsNSwwLDAsMCwxMTQsMTAxLDAsMCwwLDM1LDMsMCwwLDExNSwKKyAgICAxNiwwLDAsMCwwLDEsMTUsMSwyMSwxLDE1LDEsMjUsMSwxNSwxLAorICAgIDEyLDEsMTMsMSwxMjIsMTksNzcsMTExLDEwMCwxMTcsMTA4LDEwMSw4MywxMTIsMTAxLDk5LAorICAgIDQ2LDk1LDk1LDExNCwxMDEsMTEyLDExNCw5NSw5NSw5OSwyLDAsMCwwLDAsMCwKKyAgICAwLDAsMywwLDAsMCwxMSwwLDAsMCw2NywwLDAsMCwxMTUsMTQ1LAorICAgIDAsMCwwLDEyNCwwLDAsMTA2LDAsMCwxMjUsMiwwLDEyMSwxMDcsMCwxMjQsCisgICAgMCwwLDEwNiwxLDAsMTI0LDEsMCwxMDYsMSwwLDEwNywyLDAsMTExLDExNCwKKyAgICAwLDEyNCwwLDAsMTA2LDIsMCwxMjQsMSwwLDEwNiwyLDAsMTA3LDIsMCwKKyAgICAxMTEsMTE0LDAsMTI0LDAsMCwxMDYsMywwLDEyNCwxLDAsMTA2LDMsMCwxMDcsCisgICAgMiwwLDExMSwxMTQsMCwxMjQsMiwwLDEyNCwxLDAsMTA2LDAsMCwxMDcsMiwKKyAgICAwLDExMSwxMTQsMCwxMjQsMCwwLDEwNiw0LDAsMTI0LDEsMCwxMDYsNCwwLAorICAgIDEwNywyLDAsMTExLDExNCwwLDEyNCwwLDAsMTA2LDUsMCwxMjQsMSwwLDEwNiwKKyAgICA1LDAsMTA3LDIsMCw4Myw4NywxMTAsMjIsMCw0LDExNiw2LDAsMTA3LDEwLAorICAgIDAsMTE0LDE0MCwwLDEsMSwxLDEwMCwxLDAsODMsODksMTEwLDEsMCw4OCwKKyAgICAxMDAsMCwwLDgzLDQxLDIsNzgsNzAsNDEsNywxMTQsMjIwLDAsMCwwLDExNCwKKyAgICA2NywwLDAsMCwxMTQsMTcwLDAsMCwwLDExNCwyMTcsMCwwLDAsMjE4LDYsCisgICAgOTksOTcsOTksMTA0LDEwMSwxMDAsMjE4LDEyLDEwNCw5NywxMTUsOTUsMTA4LDExMSw5OSw5NywKKyAgICAxMTYsMTA1LDExMSwxMTAsMTE0LDIwOCwwLDAsMCw0MSwzLDExNCw3MSwwLDAsMCwKKyAgICAyMTgsNSwxMTEsMTE2LDEwNCwxMDEsMTE0LDIxOCw0LDExNSwxMDksMTE1LDEwOCwxMTQsNCwwLAorICAgIDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwyMTgsNiw5NSw5NSwKKyAgICAxMDEsMTEzLDk1LDk1LDQ1LDMsMCwwLDExNSwyMCwwLDAsMCwwLDEsOSwKKyAgICAxLDMsMSwxOCwxLDE4LDEsMTgsMSwxNSwxLDE4LDEsMjAsMSwxMywKKyAgICAxLDEyMiwxNyw3NywxMTEsMTAwLDExNywxMDgsMTAxLDgzLDExMiwxMDEsOTksNDYsOTUsOTUsCisgICAgMTAxLDExMyw5NSw5NSw5OSwxLDAsMCwwLDAsMCwwLDAsMiwwLDAsCisgICAgMCwxMSwwLDAsMCw2NywwLDAsMCwxMTUsMTQ5LDAsMCwwLDEyNCwwLAorICAgIDAsMTA2LDAsMCwxMDAsMCwwLDEwNyw4LDAsMTE0LDE0MiwwLDEyNCwwLDAsCisgICAgMTA2LDEsMCwxMDAsMCwwLDEwNyw5LDAsMTE0LDE0MiwwLDEyNCwwLDAsMTA2LAorICAgIDIsMCwxMTQsMTQyLDAsMTI0LDAsMCwxMDYsMSwwLDEyNSwxLDAsMTI0LDEsCisgICAgMCwxMDYsMywwLDExNiw0LDAsMTE2LDUsMCwxMzEsMSwwLDEzMSwxLDAsCisgICAgMTE0LDExMiwwLDEyMSwxOSwwLDExNiw2LDAsMTI0LDEsMCwxMzEsMSwwLDEyNCwKKyAgICAwLDAsOTUsMCwwLDg3LDExMywxNDIsMCw0LDExNiw3LDAsMTA3LDEwLDAsCisgICAgMTE0LDEwOCwwLDEsMSwxLDg5LDExMywxNDIsMCw4OCwxMTAsMzAsMCwxMjQsMSwKKyAgICAwLDEwNiwzLDAsMTE2LDQsMCwxMTYsOCwwLDEzMSwxLDAsMTMxLDEsMCwKKyAgICAxMTQsMTQyLDAsMTI0LDEsMCwxMjQsMCwwLDk1LDAsMCwxMjQsMCwwLDEwNiwKKyAgICAwLDAsODMsNDEsMSw3OCw0MSw5LDExNCwyMjIsMCwwLDAsMTE0LDIxNywwLAorICAgIDAsMCwxMTQsMjIxLDAsMCwwLDIxOCw4LDEwMSwxMTAsMTAwLDExNSwxMTksMTA1LDExNiwKKyAgICAxMDQsMjE4LDUsMTE2LDExNywxMTIsMTA4LDEwMSwxMTQsMTM1LDAsMCwwLDExNCwxMzIsMCwKKyAgICAwLDAsMTE0LDEyMywwLDAsMCwyMTgsMTcsNjYsODksODQsNjksNjcsNzksNjgsCisgICAgNjksOTUsODMsODUsNzAsNzAsNzMsODgsNjksODMsNDEsMiwxMTQsNzEsMCwwLAorICAgIDAsMTE0LDEzMSwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwKKyAgICAxMTQsNSwwLDAsMCwxMTQsMjI1LDAsMCwwLDU3LDMsMCwwLDExNSwyMiwKKyAgICAwLDAsMCwwLDIsMTUsMSwyNCwxLDksMSwyMSwxLDMsMSwxOSwKKyAgICAxLDEzLDEsOCwxLDIxLDEsOSwxLDEyMiwxNyw3NywxMTEsMTAwLDExNywxMDgsCisgICAgMTAxLDgzLDExMiwxMDEsOTksNDYsOTksOTcsOTksMTA0LDEwMSwxMDAsOTksMiwwLDAsCisgICAgMCwwLDAsMCwwLDIsMCwwLDAsMiwwLDAsMCw2NywwLDAsCisgICAgMCwxMTUsMTMsMCwwLDAsMTI0LDEsMCwxMjQsMCwwLDk1LDAsMCwxMDAsCisgICAgMCwwLDgzLDQxLDEsNzgsNDEsMSwxMTQsMjIyLDAsMCwwLDQxLDIsMTE0LAorICAgIDcxLDAsMCwwLDExNCwyMjUsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsCisgICAgMCwwLDAsMTE0LDUsMCwwLDAsMTE0LDIyNSwwLDAsMCw3MSwzLDAsCisgICAgMCwxMTUsMiwwLDAsMCwwLDIsOTksMSwwLDAsMCwwLDAsMCwKKyAgICAwLDEsMCwwLDAsMiwwLDAsMCw2NywwLDAsMCwxMTUsNDYsMCwKKyAgICAwLDAsMTI0LDAsMCwxMDYsMCwwLDEwMCwxLDAsMTA3LDgsMCwxMTQsMzUsCisgICAgMCwxMjQsMCwwLDEwNiwxLDAsMTA2LDIsMCwxMDAsMiwwLDEzMSwxLDAsCisgICAgMTAwLDMsMCwyNSw4MywxMjQsMCwwLDEwNiwxLDAsODMsMTAwLDEsMCw4MywKKyAgICA0MSw0LDEyMiwzMiw4NCwxMDQsMTAxLDMyLDExMCw5NywxMDksMTAxLDMyLDExMSwxMDIsMzIsCisgICAgMTE2LDEwNCwxMDEsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzksMTE1LDMyLDExMiw5NywxMTQsCisgICAgMTAxLDExMCwxMTYsNDYsNzgsMTE0LDExNiwwLDAsMCwxMTQsODQsMCwwLDAsNDEsCisgICAgMywxMTQsMjIwLDAsMCwwLDExNCw2NywwLDAsMCwxMTQsMzIsMCwwLDAsCisgICAgNDEsMSwxMTQsNzEsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLAorICAgIDAsMTE0LDUsMCwwLDAsMjE4LDYsMTEyLDk3LDExNCwxMDEsMTEwLDExNiw3NSwzLAorICAgIDAsMCwxMTUsNiwwLDAsMCwwLDMsMTUsMSwyMCwyLDEyMiwxNyw3NywKKyAgICAxMTEsMTAwLDExNywxMDgsMTAxLDgzLDExMiwxMDEsOTksNDYsMTEyLDk3LDExNCwxMDEsMTEwLDExNiwKKyAgICA5OSwxLDAsMCwwLDAsMCwwLDAsMSwwLDAsMCwxLDAsMCwKKyAgICAwLDY3LDAsMCwwLDExNSw3LDAsMCwwLDEyNCwwLDAsMTA2LDAsMCwKKyAgICA4Myw0MSwxLDc4LDQxLDEsMTE0LDIyMSwwLDAsMCw0MSwxLDExNCw3MSwwLAorICAgIDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsCisgICAgMCwxMTQsMjI2LDAsMCwwLDgzLDMsMCwwLDExNSwyLDAsMCwwLDAsCisgICAgMiwxMjIsMjMsNzcsMTExLDEwMCwxMTcsMTA4LDEwMSw4MywxMTIsMTAxLDk5LDQ2LDEwNCw5NywKKyAgICAxMTUsOTUsMTA4LDExMSw5OSw5NywxMTYsMTA1LDExMSwxMTAsOTksMiwwLDAsMCwwLAorICAgIDAsMCwwLDIsMCwwLDAsMiwwLDAsMCw2NywwLDAsMCwxMTUsCisgICAgMTksMCwwLDAsMTE2LDAsMCwxMjQsMSwwLDEzMSwxLDAsMTI0LDAsMCwKKyAgICA5NSwxLDAsMTAwLDAsMCw4Myw0MSwxLDc4LDQxLDIsMjE4LDQsOTgsMTExLAorICAgIDExMSwxMDgsMTE0LDIyMSwwLDAsMCw0MSwyLDExNCw3MSwwLDAsMCwyMTgsNSwKKyAgICAxMTgsOTcsMTA4LDExNywxMDEsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LAorICAgIDUsMCwwLDAsMTE0LDIyNiwwLDAsMCw4NywzLDAsMCwxMTUsMiwwLAorICAgIDAsMCwwLDIsNDEsMTIsMTE0LDU3LDAsMCwwLDExNCw1NiwwLDAsMCwKKyAgICAxMTQsNTgsMCwwLDAsMTE0LDU5LDAsMCwwLDExNCw3MiwwLDAsMCwxMTQsCisgICAgMTAxLDAsMCwwLDExNCwyMjksMCwwLDAsMjE4LDgsMTEyLDExNCwxMTEsMTEyLDEwMSwKKyAgICAxMTQsMTE2LDEyMSwxMTQsMjI1LDAsMCwwLDIxOCw2LDExNSwxMDEsMTE2LDExNiwxMDEsMTE0LAorICAgIDExNCwyMzMsMCwwLDAsMTE0LDIyNiwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsCisgICAgNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsMjE2LAorICAgIDAsMCwwLDI0MiwyLDAsMCwxMTUsMjAsMCwwLDAsMTIsMzUsNiwyLAorICAgIDE1LDEsMTUsMTEsMTIsMTAsMTIsMTIsMTgsMTQsMjEsNCwxOCw4LDE4LDQsCisgICAgMTE0LDIxNiwwLDAsMCwxMTQsMjE3LDAsMCwwLDExNCwyMTksMCwwLDAsOTksCisgICAgMiwwLDAsMCwyLDAsMCwwLDUsMCwwLDAsMTUsMCwwLDAsCisgICAgNjcsMCwwLDAsMTE1LDE5MCwwLDAsMCwxMTYsMCwwLDEyNCwxLDAsMTAwLAorICAgIDEsMCwxMzEsMiwwLDExNCw4MywwLDEyNCwzLDAsMTAwLDIsMCwxMDcsOCwKKyAgICAwLDExNCw0MywwLDExNiwxLDAsMTI0LDAsMCwxMDAsMywwLDEyNCwxLDAsCisgICAgMTMxLDEsMSw4MywxMjQsMywwLDExNCw1NSwwLDEwMywwLDAsMTEwLDMsMCwKKyAgICAxMDAsMiwwLDEyNSw0LDAsMTE2LDEsMCwxMjQsMCwwLDEwMCwzLDAsMTI0LAorICAgIDEsMCwxMDAsNCwwLDEyNCw0LDAsMTMxLDEsMiw4MywxMjQsMywwLDEwMCwKKyAgICAyLDAsMTA3LDgsMCwxMTQsMTY1LDAsMTE2LDAsMCwxMjQsMSwwLDEwMCw1LAorICAgIDAsMTMxLDIsMCwxMTQsMTU5LDAsMTIxLDE5LDAsMTI0LDEsMCwxMDYsMiwwLAorICAgIDEyNCwwLDAsMTMxLDEsMCwxMjUsMywwLDg3LDExMywxNjUsMCw0LDExNiwzLAorICAgIDAsMTA3LDEwLDAsMTE0LDE1NSwwLDEsMSwxLDEwMCwyLDAsMTI1LDMsMCwKKyAgICA4OSwxMTMsMTY1LDAsODgsMTEwLDYsMCwxMDAsNiwwLDEyNSwzLDAsMTE2LDQsCisgICAgMCwxMjQsMCwwLDEyNCwxLDAsMTAwLDcsMCwxMjQsMiwwLDEwMCw1LDAsCisgICAgMTI0LDMsMCwxMzEsMiwyLDgzLDQxLDgsMTIyLDUzLDgyLDEwMSwxMTYsMTE3LDExNCwKKyAgICAxMTAsMzIsOTcsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsMTE1LDExMiwxMDEsOTksMzIsCisgICAgOTgsOTcsMTE1LDEwMSwxMDAsMzIsMTExLDExMCwzMiwxMTgsOTcsMTE0LDEwNSwxMTEsMTE3LDExNSwKKyAgICAzMiwxMDgsMTExLDk3LDEwMCwxMDEsMTE0LDMyLDEwOSwxMDEsMTE2LDEwNCwxMTEsMTAwLDExNSw0NiwKKyAgICAyMTgsMTIsMTAzLDEwMSwxMTYsOTUsMTAyLDEwNSwxMDgsMTAxLDExMCw5NywxMDksMTAxLDc4LDExNCwKKyAgICAxNzAsMCwwLDAsMTE0LDIyMCwwLDAsMCwxMTQsMjE5LDAsMCwwLDcwLDExNCwKKyAgICAyMTcsMCwwLDAsNDEsNSwxMTQsNjAsMCwwLDAsMjE4LDIzLDExNSwxMTIsMTAxLAorICAgIDk5LDk1LDEwMiwxMTQsMTExLDEwOSw5NSwxMDIsMTA1LDEwOCwxMDEsOTUsMTA4LDExMSw5OSw5NywKKyAgICAxMTYsMTA1LDExMSwxMTAsMTE0LDIxOSwwLDAsMCwxMTQsMTU0LDAsMCwwLDExNCwyMTYsCisgICAgMCwwLDAsNDEsNSwxMTQsNjcsMCwwLDAsMTE0LDE3MCwwLDAsMCwxMTQsCisgICAgMjE3LDAsMCwwLDExNCwyMTksMCwwLDAsOTAsNiwxMTUsMTAxLDk3LDExNCw5OSwKKyAgICAxMDQsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsCisgICAgMTE0LDE3NCwwLDAsMCw5MiwzLDAsMCwxMTUsMjgsMCwwLDAsMCwyLAorICAgIDE1LDEsMTIsMSwxNiwxLDE4LDEsMTUsMSw3LDIsMTIsMSwxNSwxLAorICAgIDMsMSwxOSwxLDEzLDEsMTQsMyw2LDIsMTE0LDE3NCwwLDAsMCwxMTQsCisgICAgMTcwLDAsMCwwLDExNCwyMjAsMCwwLDAsOTksMiwwLDAsMCwyLDAsCisgICAgMCwwLDksMCwwLDAsMTksMCwwLDAsNjcsMCwwLDAsMTE1LDg2LAorICAgIDEsMCwwLDEyNCwxLDAsMTAwLDEsMCwxMDcsOCwwLDExNCw3MywwLDEwMCwKKyAgICAyLDAsMTI1LDEsMCwxMTYsMCwwLDEyNCwyLDAsMTAwLDMsMCwxMzEsMiwKKyAgICAwLDExNCw3MywwLDEyMSwxOSwwLDEyNCwyLDAsMTA2LDEsMCwxMjQsMCwwLAorICAgIDEzMSwxLDAsMTI1LDEsMCw4NywxMTAsMTgsMCw0LDExNiwyLDAsMTA3LDEwLAorICAgIDAsMTE0LDcyLDAsMSwxLDEsODksMTEwLDEsMCw4OCwxMTYsMywwLDEyNCwKKyAgICAwLDAsMTI0LDIsMCwxMDAsNCwwLDEyNCwxLDAsMTMxLDIsMSwxMjUsNCwKKyAgICAwLDEwMCw1LDAsMTI0LDQsMCw5NSw0LDAsMTI0LDIsMCwxMDAsMSwwLAorICAgIDEwNyw4LDAsMTE0LDE5MSwwLDEyMCw3MywwLDExNiw1LDAsMTMxLDAsMCw2OCwKKyAgICA5Myw1OCwwLDkyLDIsMCwxMjUsNSwwLDEyNSw2LDAsMTI0LDEsMCwxMDYsCisgICAgNiwwLDExNiw3LDAsMTI0LDYsMCwxMzEsMSwwLDEzMSwxLDAsMTE0LDEyNSwKKyAgICAwLDEyNCw1LDAsMTI0LDAsMCwxMjQsMSwwLDEzMSwyLDAsMTI1LDIsMCwKKyAgICAxMjQsMiwwLDEyNCw0LDAsOTUsOCwwLDgwLDExMywxMjUsMCw4NywxMDAsMSwKKyAgICAwLDgzLDEyNCwzLDAsMTE2LDksMCwxMDcsOCwwLDExNCwyMCwxLDExNiwwLAorICAgIDAsMTI0LDIsMCwxMDAsNiwwLDEzMSwyLDAsMTE0LDI5LDEsMTIxLDE5LDAsCisgICAgMTI0LDIsMCwxMDYsMTAsMCwxMjQsMCwwLDEzMSwxLDAsMTI1LDcsMCw4NywKKyAgICAxMTAsMTgsMCw0LDExNiwyLDAsMTA3LDEwLDAsMTE0LDEsMSwxLDEsMSwKKyAgICA4OSwxMTMsMjksMSw4OCwxMjQsNywwLDExNCwyOSwxLDEwMywwLDAsMTI0LDQsCisgICAgMCw5NSwxMSwwLDExMCw5LDAsMTI0LDMsMCwxMjQsNCwwLDk1LDExLDAsCisgICAgMTI0LDQsMCwxMDYsMTEsMCwxMDMsMCwwLDEwNywyLDAsMTE0LDgyLDEsMTI0LAorICAgIDEsMCwxMTQsODIsMSwxMTYsMTIsMCwxMjQsMSwwLDEzMSwxLDAsMTAwLDcsCisgICAgMCwyNSwxMjUsOCwwLDEyNCw0LDAsMTA2LDExLDAsMTA2LDEzLDAsMTI0LDgsCisgICAgMCwxMzEsMSwwLDEsMTI0LDQsMCw4Myw0MSw4LDk3LDYxLDEsMCwwLAorICAgIDgyLDEwMSwxMTYsMTE3LDExNCwxMTAsMzIsOTcsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsCisgICAgMTE1LDExMiwxMDEsOTksMzIsOTgsOTcsMTE1LDEwMSwxMDAsMzIsMTExLDExMCwzMiw5NywzMiwKKyAgICAxMDIsMTA1LDEwOCwxMDEsMzIsMTA4LDExMSw5OSw5NywxMTYsMTA1LDExMSwxMTAsNDYsMTAsMTAsCisgICAgMzIsMzIsMzIsMzIsODQsMTExLDMyLDEwNSwxMTAsMTAwLDEwNSw5OSw5NywxMTYsMTAxLDMyLAorICAgIDExNiwxMDQsOTcsMTE2LDMyLDExNiwxMDQsMTAxLDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDMyLAorICAgIDEwNSwxMTUsMzIsOTcsMzIsMTEyLDk3LDk5LDEwNyw5NywxMDMsMTAxLDQ0LDMyLDExNSwxMDEsCisgICAgMTE2LDEwLDMyLDMyLDMyLDMyLDExNSwxMTcsOTgsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsOTUsCisgICAgMTE1LDEwMSw5NywxMTQsOTksMTA0LDk1LDEwOCwxMTEsOTksOTcsMTE2LDEwNSwxMTEsMTEwLDExNSwKKyAgICAzMiwxMTYsMTExLDMyLDk3LDMyLDEwOCwxMDUsMTE1LDExNiwzMiwxMTEsMTAyLDMyLDEwMCwxMDUsCisgICAgMTE0LDEwMSw5OSwxMTYsMTExLDExNCwxMjEsMzIsMTEyLDk3LDExNiwxMDQsMTE1LDQ2LDMyLDMyLAorICAgIDY1LDExMCwxMCwzMiwzMiwzMiwzMiwxMDEsMTA5LDExMiwxMTYsMTIxLDMyLDEwOCwxMDUsMTE1LAorICAgIDExNiwzMiwxMDUsMTE1LDMyLDExNSwxMTcsMTAyLDEwMiwxMDUsOTksMTA1LDEwMSwxMTAsMTE2LDQ0LAorICAgIDMyLDExNiwxMDQsMTExLDExNywxMDMsMTA0LDMyLDEwNSwxMTYsMTE1LDMyLDExMCwxMTEsMTE2LDMyLAorICAgIDExMSwxMTYsMTA0LDEwMSwxMTQsMTE5LDEwNSwxMTUsMTAxLDMyLDExNywxMTUsMTAxLDEwMiwxMTcsMTA4LAorICAgIDMyLDExNiwxMTEsMzIsMTE2LDEwNCwxMDEsMTAsMzIsMzIsMzIsMzIsMTA1LDEwOSwxMTIsMTExLAorICAgIDExNCwxMTYsMzIsMTE1LDEyMSwxMTUsMTE2LDEwMSwxMDksNDYsMTAsMTAsMzIsMzIsMzIsMzIsCisgICAgODQsMTA0LDEwMSwzMiwxMDgsMTExLDk3LDEwMCwxMDEsMTE0LDMyLDEwOSwxMTcsMTE1LDExNiwzMiwKKyAgICAxMTYsOTcsMTA3LDEwMSwzMiw5NywzMiwxMTUsMTEyLDEwMSw5OSwzMiw5NywxMTUsMzIsMTA1LAorICAgIDExNiwxMTUsMzIsMTExLDExMCwxMDgsMTIxLDMyLDk1LDk1LDEwNSwxMTAsMTA1LDExNiw5NSw5NSwKKyAgICA0MCw0MSwzMiw5NywxMTQsMTAzLDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDc4LDEyMiw5LAorICAgIDYwLDExNywxMTAsMTA3LDExMCwxMTEsMTE5LDExMCw2MiwxMTQsMjM4LDAsMCwwLDExNCwyMTcsCisgICAgMCwwLDAsODQsMTE0LDIxOSwwLDAsMCwxMTQsODQsMCwwLDAsNDEsMTQsCisgICAgMTE0LDYwLDAsMCwwLDExNCwyMzgsMCwwLDAsMTE0LDE1NCwwLDAsMCwxMTQsCisgICAgMjE2LDAsMCwwLDExNCwyMjEsMCwwLDAsMjE4LDI3LDk1LDEwMywxMDEsMTE2LDk1LAorICAgIDExNSwxMTcsMTEyLDExMiwxMTEsMTE0LDExNiwxMDEsMTAwLDk1LDEwMiwxMDUsMTA4LDEwMSw5NSwxMDgsCisgICAgMTExLDk3LDEwMCwxMDEsMTE0LDExNSwxMTQsMjMwLDAsMCwwLDExNCwyMzEsMCwwLDAsCisgICAgMTE0LDE3MCwwLDAsMCwyMTgsOSw5NSw4MCw3OSw4MCw4NSw3Niw2NSw4NCw2OSwKKyAgICAxMTQsMjE5LDAsMCwwLDExNCwyMjAsMCwwLDAsMTE0LDM4LDAsMCwwLDExNCwKKyAgICAyMjMsMCwwLDAsNDEsOSwxMTQsNjcsMCwwLDAsMjE4LDgsMTA4LDExMSw5OSwKKyAgICA5NywxMTYsMTA1LDExMSwxMTAsMTE0LDE3MCwwLDAsMCwxMTQsMjIwLDAsMCwwLDExNCwKKyAgICAxNzcsMCwwLDAsMjE4LDEyLDEwOCwxMTEsOTcsMTAwLDEwMSwxMTQsOTUsOTksMTA4LDk3LAorICAgIDExNSwxMTUsMTE0LDEyNiwwLDAsMCwxMTQsMjE5LDAsMCwwLDkwLDcsMTAwLDEwNSwKKyAgICAxMTQsMTEwLDk3LDEwOSwxMDEsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LAorICAgIDUsMCwwLDAsMTE0LDIzOSwwLDAsMCwxMTcsMywwLDAsMTE1LDYwLDAsCisgICAgMCwwLDAsMTIsMTIsNCw2LDEsMTUsMiwzLDEsMTksMSwxMywxLAorICAgIDUsOCwyMSwxLDksMywxMiwxLDIyLDEsMjEsMSwxNSwxLDksMSwKKyAgICA1LDIsNCwzLDEyLDIsMTUsMSwzLDEsMTksMSwxMywxLDUsMiwKKyAgICA2LDEsMTIsMiw5LDEsMTUsMSw2LDEsMTYsMSwxNiwyLDExNCwyMzksCisgICAgMCwwLDAsOTksMywwLDAsMCwwLDAsMCwwLDgsMCwwLDAsCisgICAgNTMsMCwwLDAsNjcsMCwwLDAsMTE1LDExOCwxLDAsMCwxMjEsMTMsMCwKKyAgICAxMjQsMCwwLDEwNiwwLDAsMTI1LDMsMCw4NywxMTAsMTgsMCw0LDExNiwxLAorICAgIDAsMTA3LDEwLDAsMTE0LDMzLDAsMSwxLDEsODksMTEwLDE3LDAsODgsMTI0LAorICAgIDMsMCwxMDAsMCwwLDEwNyw5LDAsMTE0LDUwLDAsMTI0LDMsMCw4MywxMjQsCisgICAgMCwwLDEwNiwyLDAsMTI1LDQsMCwxMjQsMSwwLDEwMCwwLDAsMTA3LDgsCisgICAgMCwxMTQsMTA1LDAsMTIxLDEzLDAsMTI0LDAsMCwxMDYsMywwLDEyNSwxLDAsCisgICAgODcsMTEwLDE4LDAsNCwxMTYsMSwwLDEwNywxMCwwLDExNCwxMDQsMCwxLDEsCisgICAgMSw4OSwxMTAsMSwwLDg4LDEyMSwxMywwLDEyNCwwLDAsMTA2LDQsMCwxMjUsCisgICAgNSwwLDg3LDExMCwyNCwwLDQsMTE2LDEsMCwxMDcsMTAsMCwxMTQsMTQ0LDAsCisgICAgMSwxLDEsMTAwLDAsMCwxMjUsNSwwLDg5LDExMCwxLDAsODgsMTI0LDIsCisgICAgMCwxMDAsMCwwLDEwNyw4LDAsMTE0LDIxOCwwLDEyNCw1LDAsMTAwLDAsMCwKKyAgICAxMDcsOCwwLDExNCwyMTIsMCwxMjEsMTMsMCwxMjQsMSwwLDEwNiw1LDAsMTI1LAorICAgIDIsMCw4NywxMTMsMjE4LDAsNCwxMTYsMSwwLDEwNywxMCwwLDExNCwyMDgsMCwKKyAgICAxLDEsMSwxMDAsMCwwLDEyNSwyLDAsODksMTEzLDIxOCwwLDg4LDExMCw2LAorICAgIDAsMTI0LDUsMCwxMjUsMiwwLDEyMSwxMywwLDEyNCwwLDAsMTA2LDYsMCwKKyAgICAxMjUsNiwwLDg3LDExMCwyNCwwLDQsMTE2LDEsMCwxMDcsMTAsMCwxMTQsMSwKICAgICAxLDEsMSwxLDEwMCwwLDAsMTI1LDYsMCw4OSwxMTAsMSwwLDg4LDEyMSwKICAgICAxOSwwLDExNiw3LDAsMTI0LDAsMCwxMDYsOCwwLDEzMSwxLDAsMTI1LDcsCi0gICAgMCw4NywxMTAsMjQsMCw0LDExNiwxLDAsMTA3LDEwLDAsMTE0LDUzLDEsMSwKKyAgICAwLDg3LDExMCwyNCwwLDQsMTE2LDEsMCwxMDcsMTAsMCwxMTQsNDcsMSwxLAogICAgIDEsMSwxMDAsMCwwLDEyNSw3LDAsODksMTEwLDEsMCw4OCwxMTYsOSwwLAogICAgIDEyNCw0LDAsMTI0LDEsMCwxMDAsMSwwLDEyNCwyLDAsMTMxLDIsMSwxMjUsCi0gICAgMywwLDEyNCw1LDAsMTAwLDAsMCwxMDcsOCwwLDExNCw5MywxLDEwMCwyLAorICAgIDMsMCwxMjQsNSwwLDEwMCwwLDAsMTA3LDgsMCwxMTQsODcsMSwxMDAsMiwKICAgICAwLDExMCwzLDAsMTAwLDMsMCwxMjQsMywwLDk1LDEwLDAsMTI0LDYsMCwKICAgICAxMjQsMywwLDk1LDExLDAsMTI0LDcsMCwxMjQsMywwLDk1LDEyLDAsMTI0LAotICAgIDMsMCw4Myw0MSw0LDc4LDExNCwyMTgsMCwwLDAsNzAsODQsNDEsMTMsMTE0LAotICAgIDIwOSwwLDAsMCwxMTQsMjEwLDAsMCwwLDExNCw1NywwLDAsMCwxMTQsMjA1LAotICAgIDAsMCwwLDExNCwyMTEsMCwwLDAsOTAsNyw5NSw3OSw4Miw3Myw3MSw3MywKKyAgICAzLDAsODMsNDEsNCw3OCwxMTQsMjE3LDAsMCwwLDcwLDg0LDQxLDEzLDExNCwKKyAgICAyMDcsMCwwLDAsMTE0LDIwOCwwLDAsMCwxMTQsNTcsMCwwLDAsMTE0LDIwMywKKyAgICAwLDAsMCwxMTQsMjEwLDAsMCwwLDkwLDcsOTUsNzksODIsNzMsNzEsNzMsCiAgICAgNzgsMjE4LDEwLDk1LDk1LDk5LDk3LDk5LDEwNCwxMDEsMTAwLDk1LDk1LDIxOCw0LDEwOCwKLSAgICAxMDUsMTE1LDExNiwyMTgsOCw5NSw5NSwxMTIsOTcsMTE2LDEwNCw5NSw5NSwxMTQsMjE3LDAsCi0gICAgMCwwLDExNCwyMjIsMCwwLDAsMTE0LDIyNiwwLDAsMCwxMTQsMjIxLDAsMCwKLSAgICAwLDQxLDgsMTE0LDE4MCwwLDAsMCwxMTQsMTcwLDAsMCwwLDExNCwyMTgsMCwKLSAgICAwLDAsMTE0LDE3OCwwLDAsMCwxMTQsNjcsMCwwLDAsMTE0LDI0MywwLDAsCi0gICAgMCwxMTQsMjI2LDAsMCwwLDExNCwyMjEsMCwwLDAsMTE0LDQsMCwwLDAsCisgICAgMTA1LDExNSwxMTYsMjE4LDgsOTUsOTUsMTEyLDk3LDExNiwxMDQsOTUsOTUsMTE0LDIxNiwwLAorICAgIDAsMCwxMTQsMjIxLDAsMCwwLDExNCwyMjUsMCwwLDAsMTE0LDIyMCwwLDAsCisgICAgMCw0MSw4LDExNCwxNzgsMCwwLDAsMTE0LDE3MCwwLDAsMCwxMTQsMjE3LDAsCisgICAgMCwwLDExNCwxNzcsMCwwLDAsMTE0LDY3LDAsMCwwLDExNCwyNDIsMCwwLAorICAgIDAsMTE0LDIyNSwwLDAsMCwxMTQsMjIwLDAsMCwwLDExNCw0LDAsMCwwLAogICAgIDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDIxOCwxNyw5NSwxMTUsMTEyLDEwMSwKLSAgICA5OSw5NSwxMDIsMTE0LDExMSwxMDksOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMTgwLDMsMCwKKyAgICA5OSw5NSwxMDIsMTE0LDExMSwxMDksOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMTgxLDMsMCwKICAgICAwLDExNSw3MiwwLDAsMCwwLDIsMywxLDEzLDEsMTMsMSw1LDIsCi0gICAgMTIsMSw0LDIsOSwxLDEyLDEsMywxLDEzLDEsMTMsMiw4LDEsCisgICAgMTIsMSw0LDIsOSwxLDEyLDEsMywxLDEzLDEsMTMsMiw1LDEsCiAgICAgMywxLDEzLDEsMTMsMSwxMSwxLDEyLDEsMTIsMSwzLDEsMTMsMSwKLSAgICAxMywxLDE0LDIsOSwxLDMsMSwxMywxLDEzLDEsMTEsMSwzLDEsCi0gICAgMTksMSwxMywxLDExLDIsMjEsMSwyNywxLDksMSw5LDEsMTE0LDI0OCwKLSAgICAwLDAsMCw5OSwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwKLSAgICA2LDAsMCwwLDY0LDAsMCwwLDExNSwxNDIsMCwwLDAsMTAxLDAsMCwKLSAgICA5MCwxLDAsMTAwLDAsMCw5MCwyLDAsMTAwLDEsMCw5MCwzLDAsMTAwLAotICAgIDIsMCwxMDAsMywwLDEzMiwwLDAsOTAsNCwwLDEwMCw0LDAsMTAwLDUsCi0gICAgMCwxMzIsMCwwLDkwLDUsMCwxMDAsNiwwLDEwMCw3LDAsMTAwLDgsMCwKLSAgICAxMDAsOSwwLDEwMCwxMCwwLDEwMCwxMSwwLDEzMiwwLDIsOTAsNiwwLDEwMCwKLSAgICAxMiwwLDEwMCwxMywwLDEzMiwwLDAsOTAsNywwLDEwMCwxNCwwLDEwMCwxNSwKLSAgICAwLDEzMiwwLDAsOTAsOCwwLDEwMCwxNiwwLDEwMCwxNywwLDEzMiwwLDAsCi0gICAgOTAsOSwwLDEwMCwxOCwwLDEwMCwxOSwwLDEzMiwwLDAsOTAsMTAsMCwxMDAsCi0gICAgMjAsMCwxMDAsMjEsMCwxMzIsMCwwLDkwLDExLDAsMTAwLDIyLDAsMTAwLDIzLAotICAgIDAsMTMyLDAsMCw5MCwxMiwwLDEwMCwyNCwwLDgzLDQxLDI1LDExNCwxNzUsMCwKLSAgICAwLDAsMTIyLDc3LDY3LDExMSwxMTAsMTE4LDEwMSwxMTAsMTA1LDEwMSwxMTAsOTksMTAxLDMyLAotICAgIDExOSwxMTQsOTcsMTEyLDExMiwxMDEsMTE0LDMyLDk3LDExNCwxMTEsMTE3LDExMCwxMDAsMzIsMTE1LAotICAgIDExMiwxMDEsOTksMzIsMTExLDk4LDEwNiwxMDEsOTksMTE2LDExNSwzMiwxMTYsMTExLDMyLDExMiwKLSAgICAxMTQsMTExLDExOCwxMDUsMTAwLDEwMSwzMiwxMTUsMTEyLDEwMSw5OSw0NSwxMTUsMTEyLDEwMSw5OSwKLSAgICAxMDUsMTAyLDEwNSw5OSwxMCwzMiwzMiwzMiwzMiwxMDksMTAxLDExNiwxMDQsMTExLDEwMCwxMTUsCi0gICAgNDYsOTksMiwwLDAsMCwwLDAsMCwwLDIsMCwwLDAsMiwwLAotICAgIDAsMCw2NywwLDAsMCwxMTUsMTMsMCwwLDAsMTI0LDEsMCwxMjQsMCwKLSAgICAwLDk1LDAsMCwxMDAsMCwwLDgzLDQxLDEsNzgsNDEsMSwxMTQsMTc4LDAsCi0gICAgMCwwLDQxLDIsMTE0LDcxLDAsMCwwLDExNCwxNzgsMCwwLDAsMTE0LDQsCi0gICAgMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMTE0LDcyLDAsCi0gICAgMCwwLDIzMiwzLDAsMCwxMTUsMiwwLDAsMCwwLDEsMTIyLDIxLDk1LAotICAgIDgzLDExMiwxMDEsOTksNzcsMTAxLDExNiwxMDQsMTExLDEwMCwxMTUsNDYsOTUsOTUsMTA1LDExMCwKLSAgICAxMDUsMTE2LDk1LDk1LDk5LDEsMCwwLDAsMCwwLDAsMCwzLDAsMCwKLSAgICAwLDMsMCwwLDAsNjcsMCwwLDAsMTE1LDE1OCwwLDAsMCwxMjQsMCwKLSAgICAwLDEwNiwwLDAsMTI1LDEsMCwxMjQsMSwwLDEwNiwxLDAsMTAwLDEsMCwKLSAgICAxMDcsOCwwLDExNCwzMCwwLDEwMCwyLDAsMTEwLDYsMCwxMjQsMSwwLDEwNiwKLSAgICAxLDAsMTI1LDIsMCwxMjQsMSwwLDEwNiwyLDAsMTAwLDEsMCwxMDcsOCwKLSAgICAwLDExNCwxMDQsMCwxMjQsMSwwLDEwNiwzLDAsMTAwLDEsMCwxMDcsOCwwLAotICAgIDExNCw4MiwwLDEwMCwzLDAsMTA2LDQsMCwxMjQsMiwwLDEzMSwxLDAsODMsCi0gICAgMTAwLDQsMCwxMDYsNCwwLDEyNCwyLDAsMTI0LDEsMCwxMDYsMywwLDEzMSwKLSAgICAyLDAsODMsMTEwLDUwLDAsMTI0LDEsMCwxMDYsNSwwLDExNCwxMzIsMCwxMDAsCi0gICAgNSwwLDEwNiw0LDAsMTI0LDIsMCwxMjQsMSwwLDEwNiwyLDAsMTMxLDIsCi0gICAgMCw4MywxMDAsNiwwLDEwNiw0LDAsMTI0LDEsMCwxMDYsMSwwLDEyNCwxLAotICAgIDAsMTA2LDIsMCwxMzEsMiwwLDgzLDEwMCwxLDAsODMsNDEsNywxMjIsMzgsCi0gICAgODIsMTAxLDExNiwxMTcsMTE0LDExMCwzMiwxMTYsMTA0LDEwMSwzMiwxMTQsMTAxLDExMiwxMTQsMzIsCi0gICAgMTE2LDExMSwzMiwxMTcsMTE1LDEwMSwzMiwxMDIsMTExLDExNCwzMiwxMTYsMTA0LDEwMSwzMiwxMDksCi0gICAgMTExLDEwMCwxMTcsMTA4LDEwMSw0Niw3OCwxMTQsMjA3LDAsMCwwLDEyMiwxMyw2MCwxMDksCi0gICAgMTExLDEwMCwxMTcsMTA4LDEwMSwzMiwxMjMsMzMsMTE0LDEyNSw2MiwxMjIsMjAsNjAsMTA5LDExMSwKLSAgICAxMDAsMTE3LDEwOCwxMDEsMzIsMTIzLDMzLDExNCwxMjUsMzIsNDAsMTIzLDMzLDExNCwxMjUsNDEsCi0gICAgNjIsMTIyLDIzLDYwLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDMyLDEyMywzMywxMTQsMTI1LDMyLAotICAgIDEwMiwxMTQsMTExLDEwOSwzMiwxMjMsMzMsMTE0LDEyNSw2MiwxMjIsMTgsNjAsMTA5LDExMSwxMDAsCi0gICAgMTE3LDEwOCwxMDEsMzIsMTIzLDMzLDExNCwxMjUsMzIsNDAsMTIzLDEyNSw0MSw2Miw0MSw2LAotICAgIDExNCwxNzgsMCwwLDAsMTE0LDY3LDAsMCwwLDExNCwyMTgsMCwwLDAsMTE0LAotICAgIDE3MCwwLDAsMCwxMTQsNDcsMCwwLDAsMTE0LDIyNywwLDAsMCw0MSwzLAotICAgIDExNCw3MSwwLDAsMCwxMTQsMTc4LDAsMCwwLDExNCw2NywwLDAsMCwxMTQsCi0gICAgNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsMjA2LAotICAgIDAsMCwwLDIzNSwzLDAsMCwxMTUsMTgsMCwwLDAsMCwzLDksMSwKLSAgICAzMCwxLDE1LDEsMTUsMSwxMywyLDIyLDIsOSwxLDE5LDIsMTIyLDI0LAotICAgIDk1LDgzLDExMiwxMDEsOTksNzcsMTAxLDExNiwxMDQsMTExLDEwMCwxMTUsNDYsMTA5LDExMSwxMDAsCi0gICAgMTE3LDEwOCwxMDEsOTUsMTE0LDEwMSwxMTIsMTE0LDIxOCw5LDk1LDExMSwxMTgsMTAxLDExNCwxMTQsCi0gICAgMTA1LDEwMCwxMDEsNzAsMjE4LDExLDk1LDEwMiwxMTEsMTE0LDk5LDEwMSw5NSwxMTAsOTcsMTA5LAotICAgIDEwMSw4NCw5OSwyLDAsMCwwLDIsMCwwLDAsNiwwLDAsMCw1OSwKLSAgICAwLDAsMCw2NywwLDAsMCwxMTUsNzUsMiwwLDAsMTI0LDAsMCwxMDYsCi0gICAgMCwwLDEyNSw0LDAsMTI0LDIsMCwxMTUsNDUsMCwxMjQsMywwLDExNSw0NSwKLSAgICAwLDExNiwxLDAsMTI0LDEsMCwxMDAsMSwwLDEwMCwyLDAsMTMxLDMsMCwKLSAgICAxMDAsMiwwLDEwNyw4LDAsMTE0LDg1LDAsMTIxLDE2LDAsMTI0LDQsMCwxMDYsCi0gICAgMiwwLDEyNCwxLDAsOTUsMywwLDg3LDExMyw4NSwwLDQsMTE2LDQsMCwKLSAgICAxMDcsMTAsMCwxMTQsODEsMCwxLDEsMSw4OSwxMTMsODUsMCw4OCwxMTAsMCwKLSAgICAwLDEyNCwyLDAsMTE1LDExNSwwLDExNiwxLDAsMTI0LDEsMCwxMDAsMywwLAotICAgIDEwMCwyLDAsMTMxLDMsMCwxMDAsMiwwLDEwNyw4LDAsMTE0LDIyMSwwLDEyNCwKLSAgICA0LDAsMTA2LDUsMCwxMjUsNSwwLDEyNCw1LDAsMTAwLDIsMCwxMDcsOCwKLSAgICAwLDExNCwxODQsMCwxMjQsNCwwLDEwNiw2LDAsMTAwLDIsMCwxMDcsOSwwLAotICAgIDExNCwxODQsMCwxMTYsNywwLDEwNiw4LDAsMTE2LDcsMCwxMzEsMSwwLDEyNSwKLSAgICA1LDAsMTI0LDQsMCwxMDYsNiwwLDEyNCw1LDAsOTUsOSwwLDExMywxODQsCi0gICAgMCwxMTAsMCwwLDEyMSwxMywwLDEyNCw1LDAsMTI0LDEsMCw5NSwxMCwwLAotICAgIDg3LDExMywyMjEsMCw0LDExNiw0LDAsMTA3LDEwLDAsMTE0LDIxNywwLDEsMSwKLSAgICAxLDg5LDExMywyMjEsMCw4OCwxMTAsMCwwLDEyNCwyLDAsMTE1LDI1MSwwLDExNiwKLSAgICAxLDAsMTI0LDEsMCwxMDAsNCwwLDEwMCwyLDAsMTMxLDMsMCwxMDAsMiwKLSAgICAwLDEwNyw4LDAsMTE0LDM1LDEsMTIxLDE2LDAsMTI0LDQsMCwxMDYsMTEsMCwKLSAgICAxMjQsMSwwLDk1LDEyLDAsODcsMTEzLDM1LDEsNCwxMTYsNCwwLDEwNywxMCwKLSAgICAwLDExNCwzMSwxLDEsMSwxLDg5LDExMywzNSwxLDg4LDExMCwwLDAsMTIxLAotICAgIDEzLDAsMTI0LDQsMCwxMjQsMSwwLDk1LDEzLDAsODcsMTEwLDE4LDAsNCwKLSAgICAxMTYsNCwwLDEwNywxMCwwLDExNCw2OCwxLDEsMSwxLDg5LDExMCwxLDAsCi0gICAgODgsMTI0LDIsMCwxMTUsOTksMSwxMTYsMSwwLDEyNCwxLDAsMTAwLDUsMCwKLSAgICAxMDAsMiwwLDEzMSwzLDAsMTAwLDIsMCwxMDcsOCwwLDExNCwxNTcsMSwxMjQsCi0gICAgNCwwLDEwNiw2LDAsMTAwLDIsMCwxMDcsOSwwLDExNCwxNTcsMSwxMjEsMTYsCi0gICAgMCwxMjQsNCwwLDEwNiw2LDAsMTI0LDEsMCw5NSwxNCwwLDg3LDExMywxNTQsCi0gICAgMSw0LDExNiw0LDAsMTA3LDEwLDAsMTE0LDE1MCwxLDEsMSwxLDg5LDExMywKLSAgICAxNTQsMSw4OCwxMTMsMTU3LDEsMTEwLDAsMCwxMjQsNCwwLDEwNiwxNSwwLDExNCwKLSAgICA3MSwyLDEyNCwyLDAsMTE1LDE5NiwxLDExNiwxLDAsMTI0LDEsMCwxMDAsNiwKLSAgICAwLDEwMCwyLDAsMTMxLDMsMCwxMDAsMiwwLDEwNyw4LDAsMTE0LDIzNiwxLAotICAgIDEyMSwxNiwwLDEyNCw0LDAsMTA2LDE2LDAsMTI0LDEsMCw5NSwxNywwLDg3LAotICAgIDExMywyMzYsMSw0LDExNiw0LDAsMTA3LDEwLDAsMTE0LDIzMiwxLDEsMSwxLAotICAgIDg5LDExMywyMzYsMSw4OCwxMTAsMCwwLDEyNCwyLDAsMTE1LDEwLDIsMTE2LDEsCi0gICAgMCwxMjQsMSwwLDEwMCw3LDAsMTAwLDIsMCwxMzEsMywwLDEwMCwyLDAsCi0gICAgMTA3LDgsMCwxMTQsNzEsMiwxMjQsNCwwLDEwNiwxOCwwLDEwMCwyLDAsMTA3LAotICAgIDksMCwxMTQsNjgsMiwxMjEsMTYsMCwxMjQsNCwwLDEwNiwxOCwwLDEyNCwxLAotICAgIDAsOTUsMTksMCw4NywxMTMsNjUsMiw0LDExNiw0LDAsMTA3LDEwLDAsMTE0LAotICAgIDYxLDIsMSwxLDEsODksMTEzLDY1LDIsODgsMTEzLDY4LDIsMTEzLDcxLDIsCi0gICAgMTEwLDAsMCwxMDAsMiwwLDgzLDQxLDgsOTcsMjksMiwwLDAsODMsMTAxLAotICAgIDExNiwzMiwxMTYsMTA0LDEwMSwzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwzOSwxMTUsMzIsOTcsCi0gICAgMTE2LDExNiwxMTQsMTA1LDk4LDExNywxMTYsMTAxLDExNSw0NiwxMCwxMCwzMiwzMiwzMiwzMiwKLSAgICAzMiwzMiwzMiwzMiw2NSwxMDgsMTA4LDMyLDEwOSwxMDUsMTE1LDExNSwxMDUsMTEwLDEwMywzMiwKLSAgICAxMDUsMTA5LDExMiwxMTEsMTE0LDExNiw0NSwxMTQsMTAxLDEwOCw5NywxMTYsMTAxLDEwMCwzMiwxMDksCi0gICAgMTExLDEwMCwxMTcsMTA4LDEwMSwzMiw5NywxMTYsMTE2LDExNCwxMDUsOTgsMTE3LDExNiwxMDEsMTE1LAotICAgIDMyLDExOSwxMDUsMTA4LDEwOCwzMiw5OCwxMDEsMzIsMTE1LDEwMSwxMTYsNDYsMzIsMzIsNzIsCi0gICAgMTAxLDExNCwxMDEsMTAsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMTA1LDExNSwzMiwxMDQsCi0gICAgMTExLDExOSwzMiwxMTYsMTA0LDEwMSwzMiwxMTUsMTEyLDEwMSw5OSwzMiw5NywxMTYsMTE2LDExNCwKLSAgICAxMDUsOTgsMTE3LDExNiwxMDEsMTE1LDMyLDEwOSw5NywxMTIsMzIsMTExLDExMCwxMTYsMTExLDMyLAotICAgIDExNiwxMDQsMTAxLDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDU4LDEwLDEwLDMyLDMyLDMyLAotICAgIDMyLDMyLDMyLDMyLDMyLDExNSwxMTIsMTAxLDk5LDQ2LDExMCw5NywxMDksMTAxLDMyLDQ1LAotICAgIDYyLDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDQ2LDk1LDk1LDExMCw5NywxMDksMTAxLDk1LAotICAgIDk1LDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDExNSwxMTIsMTAxLDk5LDQ2LDEwOCwKLSAgICAxMTEsOTcsMTAwLDEwMSwxMTQsMzIsNDUsNjIsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsNDYsCi0gICAgOTUsOTUsMTA4LDExMSw5NywxMDAsMTAxLDExNCw5NSw5NSwxMCwzMiwzMiwzMiwzMiwzMiwKLSAgICAzMiwzMiwzMiwxMTUsMTEyLDEwMSw5OSw0NiwxMTIsOTcsMTE0LDEwMSwxMTAsMTE2LDMyLDQ1LAotICAgIDYyLDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDQ2LDk1LDk1LDExMiw5Nyw5OSwxMDcsOTcsCi0gICAgMTAzLDEwMSw5NSw5NSwxMCwzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMiwxMTUsMTEyLDEwMSwKLSAgICA5OSwzMiw0NSw2MiwzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw0Niw5NSw5NSwxMTUsMTEyLAotICAgIDEwMSw5OSw5NSw5NSwxMCwxMCwzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMiw3OSwxMTIsCi0gICAgMTE2LDEwNSwxMTEsMTEwLDk3LDEwOCw1OCwxMCwzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMiwKLSAgICAxMTUsMTEyLDEwMSw5OSw0NiwxMTEsMTE0LDEwNSwxMDMsMTA1LDExMCwzMiw0NSw2MiwzMiwxMDksCi0gICAgMTExLDEwMCwxMTcsMTA4LDEwMSw0Niw5NSw5NSwxMDIsMTA1LDEwOCwxMDEsOTUsOTUsMzIsNDAsCi0gICAgMTA1LDEwMiwzMiwxMTUsMTEyLDEwMSw5OSw0NiwxMTUsMTAxLDExNiw5NSwxMDIsMTA1LDEwOCwxMDEsCi0gICAgOTcsMTE2LDExNiwxMTQsMzIsMTA1LDExNSwzMiwxMTYsMTE0LDExNywxMDEsNDEsMTAsMzIsMzIsCi0gICAgMzIsMzIsMzIsMzIsMzIsMzIsMTE1LDExMiwxMDEsOTksNDYsOTksOTcsOTksMTA0LDEwMSwKLSAgICAxMDAsMzIsNDUsNjIsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsNDYsOTUsOTUsOTksOTcsCi0gICAgOTksMTA0LDEwMSwxMDAsOTUsOTUsMzIsNDAsMTA1LDEwMiwzMiw5NSw5NSwxMDIsMTA1LDEwOCwKLSAgICAxMDEsOTUsOTUsMzIsOTcsMTA4LDExNSwxMTEsMzIsMTE1LDEwMSwxMTYsNDEsMTAsMzIsMzIsCi0gICAgMzIsMzIsMzIsMzIsMzIsMzIsMTE1LDExMiwxMDEsOTksNDYsMTE1LDExNyw5OCwxMDksMTExLAotICAgIDEwMCwxMTcsMTA4LDEwMSw5NSwxMTUsMTAxLDk3LDExNCw5OSwxMDQsOTUsMTA4LDExMSw5OSw5NywKLSAgICAxMTYsMTA1LDExMSwxMTAsMTE1LDMyLDQ1LDYyLDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDQ2LAotICAgIDk1LDk1LDExMiw5NywxMTYsMTA0LDk1LDk1LDMyLDQwLDEwNSwxMDIsMzIsMTE1LDEwMSwxMTYsCi0gICAgNDEsMTAsMTAsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMTE0LDU3LDAsMCwwLAotICAgIDc4LDExNCwyMDUsMCwwLDAsMjE4LDExLDk1LDk1LDExMiw5Nyw5OSwxMDcsOTcsMTAzLAotICAgIDEwMSw5NSw5NSwxMTQsMjQ3LDAsMCwwLDExNCwyMTEsMCwwLDAsMTE0LDI0NSwwLAotICAgIDAsMCw0MSwyMCwxMTQsMTc4LDAsMCwwLDExNCw2MiwwLDAsMCwxMTQsNjcsCi0gICAgMCwwLDAsMTE0LDU3LDAsMCwwLDExNCwyMTAsMCwwLDAsMTE0LDE3MCwwLAotICAgIDAsMCwxMTQsMjIxLDAsMCwwLDIxOCwxNiw5NSw3OCw5NywxMDksMTAxLDExNSwxMTIsCi0gICAgOTcsOTksMTAxLDc2LDExMSw5NywxMDAsMTAxLDExNCwyMTgsNyw5NSw5NSwxMTAsMTAxLDExOSwKLSAgICA5NSw5NSwyMTgsNSw5NSwxMTIsOTcsMTE2LDEwNCwxMTQsMjA1LDAsMCwwLDExNCwyMzQsCi0gICAgMCwwLDAsMTE0LDI1MSwwLDAsMCwxMTQsMjA5LDAsMCwwLDExNCwyNDcsMCwKLSAgICAwLDAsMTE0LDIyNywwLDAsMCwxMTQsMjE4LDAsMCwwLDExNCwyMTEsMCwwLAotICAgIDAsMTE0LDIyNiwwLDAsMCwxMTQsMjQ1LDAsMCwwLDQxLDYsMTE0LDcxLDAsCi0gICAgMCwwLDExNCwxODAsMCwwLDAsMTE0LDI0OSwwLDAsMCwxMTQsMjUwLDAsMCwKLSAgICAwLDExNCwxNzgsMCwwLDAsMTE0LDE3MCwwLDAsMCwxMTQsNCwwLDAsMCwKLSAgICAxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwyMTgsMTcsMTA1LDExMCwxMDUsMTE2LAotICAgIDk1LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDk1LDk3LDExNiwxMTYsMTE0LDExNSwyNTEsMywwLAotICAgIDAsMTE1LDg4LDAsMCwwLDAsMTcsOSw2LDEyLDEsMjQsMSwzLDEsCi0gICAgMTYsMSwxMywxLDgsMywzMCwxLDksMSwxMiwyLDE1LDEsMTUsMSwKLSAgICAxOCwxLDMsMSwxMywxLDEzLDEsOCwzLDMwLDEsMywxLDE2LDEsCi0gICAgMTMsMSw4LDMsMywxLDEzLDEsMTMsMSw1LDMsMzAsMSwxNSwxLAotICAgIDMsMSwxNiwxLDEzLDEsMTEsMiw5LDIsMzAsMSwzLDEsMTYsMSwKLSAgICAxMywxLDgsMywzMCwxLDE1LDEsMywxLDE2LDEsMTMsMSwxMjIsMzAsCi0gICAgOTUsODMsMTEyLDEwMSw5OSw3NywxMDEsMTE2LDEwNCwxMTEsMTAwLDExNSw0NiwxMDUsMTEwLDEwNSwKLSAgICAxMTYsOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsOTUsOTcsMTE2LDExNiwxMTQsMTE1LDk5LDEsCi0gICAgMCwwLDAsMCwwLDAsMCwzLDAsMCwwLDMsMCwwLDAsNjcsCi0gICAgMCwwLDAsMTE1LDEwMSwwLDAsMCwxMjQsMCwwLDEwNiwwLDAsMTI1LDEsCi0gICAgMCwxMTYsMSwwLDEyNCwxLDAsMTA2LDIsMCwxMDAsMSwwLDEzMSwyLDAsCi0gICAgMTE0LDQ4LDAsMTI0LDEsMCwxMDYsMiwwLDEwNiwzLDAsMTI0LDEsMCwxMzEsCi0gICAgMSwwLDEyNSwyLDAsMTEwLDYsMCwxMDAsMiwwLDEyNSwyLDAsMTI0LDIsCi0gICAgMCwxMDAsMiwwLDEwNyw4LDAsMTE0LDg0LDAsMTE2LDQsMCwxMjQsMSwwLAotICAgIDEwNiw1LDAsMTMxLDEsMCwxMjUsMiwwLDExMCwwLDAsMTI0LDAsMCwxMDYsCi0gICAgNiwwLDEyNCwyLDAsMTMxLDEsMCwxLDEyNCwyLDAsODMsNDEsMywxMjIsCi0gICAgMTUzLDgyLDEwMSwxMTYsMTE3LDExNCwxMTAsMzIsOTcsMzIsMTEwLDEwMSwxMTksMzIsMTA5LDExMSwKLSAgICAxMDAsMTE3LDEwOCwxMDEsMzIsMTE2LDExMSwzMiw5OCwxMDEsMzIsMTA4LDExMSw5NywxMDAsMTAxLAotICAgIDEwMCw0NiwxMCwxMCwzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMiw4NCwxMDQsMTAxLDMyLAotICAgIDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDQ1LDExNCwxMDEsMTA4LDk3LDExNiwxMDEsMTAwLDMyLDEwOSwKLSAgICAxMTEsMTAwLDExNywxMDgsMTAxLDMyLDk3LDExNiwxMTYsMTE0LDEwNSw5OCwxMTcsMTE2LDEwMSwxMTUsCi0gICAgMzIsOTcsMTE0LDEwMSwzMiw5NywxMDgsMTE1LDExMSwzMiwxMTUsMTAxLDExNiwzMiwxMTksMTA1LAotICAgIDExNiwxMDQsMzIsMTE2LDEwNCwxMDEsMTAsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMzIsOTcsCi0gICAgMTEyLDExMiwxMTQsMTExLDExMiwxMTQsMTA1LDk3LDExNiwxMDEsMzIsMTE4LDk3LDEwOCwxMTcsMTAxLAotICAgIDExNSwzMiwxMDIsMTE0LDExMSwxMDksMzIsMTE2LDEwNCwxMDEsMzIsMTE1LDExMiwxMDEsOTksNDYsCi0gICAgMTAsMTAsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMjE4LDEzLDk5LDExNCwxMDEsOTcsCi0gICAgMTE2LDEwMSw5NSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw3OCw0MSw3LDExNCwxNzgsMCwwLAotICAgIDAsMTE0LDYwLDAsMCwwLDExNCwxNzAsMCwwLDAsMTE0LDAsMSwwLDAsCi0gICAgMTE0LDY4LDAsMCwwLDExNCw2NywwLDAsMCwxMTQsMjU1LDAsMCwwLDQxLAotICAgIDMsMTE0LDcxLDAsMCwwLDExNCwxNzgsMCwwLDAsMTE0LDE4MCwwLDAsMCwKLSAgICAxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwyMTgsCi0gICAgNiw5OSwxMTQsMTAxLDk3LDExNiwxMDEsNzUsNCwwLDAsMTE1LDE2LDAsMCwwLAotICAgIDAsNyw5LDIsMTgsMywyMSwyLDYsMSwxMiw0LDE4LDEsMTMsMSwKLSAgICAxMjIsMTksOTUsODMsMTEyLDEwMSw5OSw3NywxMDEsMTE2LDEwNCwxMTEsMTAwLDExNSw0Niw5OSwKLSAgICAxMTQsMTAxLDk3LDExNiwxMDEsOTksMiwwLDAsMCwwLDAsMCwwLDIsMCwKLSAgICAwLDAsMiwwLDAsMCw2NywwLDAsMCwxMTUsMjMsMCwwLDAsMTI0LAotICAgIDAsMCwxMDYsMCwwLDEwNiwxLDAsMTA2LDIsMCwxMjQsMSwwLDEzMSwxLAotICAgIDAsMSwxMDAsMSwwLDgzLDQxLDIsMTIyLDE4OSw2OCwxMTEsMzIsMTAxLDExOCwxMDEsCi0gICAgMTE0LDEyMSwxMTYsMTA0LDEwNSwxMTAsMTAzLDMyLDExMCwxMDEsOTksMTAxLDExNSwxMTUsOTcsMTE0LAotICAgIDEyMSwzMiwxMTYsMTExLDMyLDEwMSwxMjAsMTAxLDk5LDExNywxMTYsMTAxLDMyLDExNiwxMDQsMTAxLAotICAgIDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDMyLDMyLAotICAgIDMyLDMyLDg0LDEwNCwxMDEsMzIsMTEwLDk3LDEwOSwxMDEsMTE1LDExMiw5Nyw5OSwxMDEsMzIsCi0gICAgMTExLDEwMiwzMiw5NiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw5NiwzMiwxMDUsMTE1LDMyLDExNywKLSAgICAxMTUsMTAxLDEwMCwzMiw5NywxMTUsMzIsMTE2LDEwNCwxMDEsMzIsMTE2LDk3LDExNCwxMDMsMTAxLAotICAgIDExNiwzMiwxMTEsMTAyLDMyLDEwMSwxMjAsMTAxLDk5LDExNywxMTYsMTA1LDExMSwxMTAsNDYsMTAsCi0gICAgMzIsMzIsMzIsMzIsMzIsMzIsMzIsMzIsODQsMTA0LDEwNSwxMTUsMzIsMTA5LDEwMSwxMTYsCi0gICAgMTA0LDExMSwxMDAsMzIsMTE3LDExNSwxMDEsMTE1LDMyLDExNiwxMDQsMTAxLDMyLDEwOCwxMTEsOTcsCi0gICAgMTAwLDEwMSwxMTQsMzksMTE1LDMyLDk2LDEwMSwxMjAsMTAxLDk5LDk1LDEwOSwxMTEsMTAwLDExNywKLSAgICAxMDgsMTAxLDQwLDQxLDk2LDMyLDEwOSwxMDEsMTE2LDEwNCwxMTEsMTAwLDQ2LDEwLDEwLDMyLAotICAgIDMyLDMyLDMyLDMyLDMyLDMyLDMyLDc4LDQxLDMsMTE0LDE3OCwwLDAsMCwxMTQsCi0gICAgMTcwLDAsMCwwLDIxOCwxMSwxMDEsMTIwLDEwMSw5OSw5NSwxMDksMTExLDEwMCwxMTcsMTA4LAotICAgIDEwMSw0MSwyLDExNCw3MSwwLDAsMCwxMTQsMTgwLDAsMCwwLDExNCw0LDAsCi0gICAgMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDIxOCw1LDk1LDEwMSwKLSAgICAxMjAsMTAxLDk5LDk4LDQsMCwwLDExNSwyLDAsMCwwLDAsNywxMjIsMTgsCi0gICAgOTUsODMsMTEyLDEwMSw5OSw3NywxMDEsMTE2LDEwNCwxMTEsMTAwLDExNSw0Niw5NSwxMDEsMTIwLAotICAgIDEwMSw5OSw5OSwyLDAsMCwwLDAsMCwwLDAsNCwwLDAsMCwxMSwKLSAgICAwLDAsMCw2NywwLDAsMCwxMTUsMTcsMSwwLDAsMTI0LDAsMCwxMDYsCi0gICAgMCwwLDEwNiwxLDAsMTI1LDIsMCwxMTYsMiwwLDEwNiwzLDAsMTMxLDAsCi0gICAgMCwxLDExNiw0LDAsMTI0LDIsMCwxMzEsMSwwLDE0MywyMjYsMCwxLDExNiwKLSAgICA1LDAsMTA2LDYsMCwxMDYsNywwLDEyNCwyLDAsMTMxLDEsMCwxMjQsMSwKLSAgICAwLDEwNyw5LDAsMTE0LDk1LDAsMTAwLDEsMCwxMDYsOCwwLDEyNCwyLDAsCi0gICAgMTMxLDEsMCwxMjUsMywwLDExNiw5LDAsMTI0LDMsMCwxMDAsMiwwLDEyNCwKLSAgICAyLDAsMTMxLDEsMSwxMzAsMSwwLDExMCwwLDAsMTI0LDAsMCwxMDYsMCwKLSAgICAwLDEwNiwxMCwwLDEwMCwzLDAsMTA3LDgsMCwxMTQsMTgxLDAsMTI0LDAsMCwKLSAgICAxMDYsMCwwLDEwNiwxMSwwLDEwMCwzLDAsMTA3LDgsMCwxMTQsMTU4LDAsMTE2LAotICAgIDksMCwxMDAsNCwwLDEwMCwyLDAsMTI0LDAsMCwxMDYsMCwwLDEwNiwxLAotICAgIDAsMTMxLDEsMSwxMzAsMSwwLDExMCwwLDAsMTI0LDAsMCwxMDYsMTIsMCwKLSAgICAxMjQsMSwwLDEwMCw1LDAsMTAwLDYsMCwxMzEsMSwxLDEsMTI0LDEsMCwKLSAgICA4MywxMjQsMCwwLDEwNiwxMiwwLDEyNCwxLDAsMTAwLDUsMCwxMDAsNiwwLAotICAgIDEzMSwxLDEsMSwxMTYsMTMsMCwxMjQsMCwwLDEwNiwwLDAsMTA2LDEwLDAsCi0gICAgMTAwLDcsMCwxMzEsMiwwLDExNSwyNDMsMCwxMjQsMCwwLDEwNiwwLDAsMTA2LAotICAgIDEwLDAsMTA2LDE0LDAsMTI0LDIsMCwxMzEsMSwwLDEsMTEwLDEzLDAsMTI0LAotICAgIDAsMCwxMDYsMTUsMCwxMjQsMSwwLDEzMSwxLDAsMSw4NywxMDAsMywwLAotICAgIDgxLDg4LDExNiw1LDAsMTA2LDYsMCwxMjQsMiwwLDI1LDgzLDQxLDgsMTIyLAotICAgIDUxLDY5LDEyMCwxMDEsOTksMTE3LDExNiwxMDEsMzIsMTE2LDEwNCwxMDEsMzIsMTE1LDExMiwxMDEsCi0gICAgOTksMzIsMTA1LDExMCwzMiw5NywxMTAsMzIsMTAxLDEyMCwxMDUsMTE1LDExNiwxMDUsMTEwLDEwMywKLSAgICAzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwzOSwxMTUsMzIsMTEwLDk3LDEwOSwxMDEsMTE1LDExMiwKLSAgICA5Nyw5OSwxMDEsNDYsMTIyLDMwLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDMyLDEyMywzMywxMTQsCi0gICAgMTI1LDMyLDExMCwxMTEsMTE2LDMyLDEwNSwxMTAsMzIsMTE1LDEyMSwxMTUsNDYsMTA5LDExMSwxMDAsCi0gICAgMTE3LDEwOCwxMDEsMTE1LDExNCw2NywwLDAsMCw3OCwxMjIsMTQsMTA5LDEwNSwxMTUsMTE1LAotICAgIDEwNSwxMTAsMTAzLDMyLDEwOCwxMTEsOTcsMTAwLDEwMSwxMTQsMTE0LDI0OSwwLDAsMCw4NCwKLSAgICAxMTQsMiwxLDAsMCw0MSwxNiwxMTQsMTc4LDAsMCwwLDExNCw2NywwLDAsCi0gICAgMCwxMTQsMTA2LDAsMCwwLDIxOCwxMiw5Nyw5OSwxMTMsMTE3LDEwNSwxMTQsMTAxLDk1LAotICAgIDEwOCwxMTEsOTksMTA3LDExNCwxMDMsMCwwLDAsMTE0LDcsMCwwLDAsMTE0LDczLAotICAgIDAsMCwwLDExNCw5MywwLDAsMCwxMTQsNDcsMCwwLDAsMTE0LDE1NCwwLAotICAgIDAsMCwxMTQsMTcwLDAsMCwwLDExNCwyMjEsMCwwLDAsMTE0LDI1NSwwLDAsCi0gICAgMCwxMTQsNjAsMCwwLDAsMjE4LDExLDEwOCwxMTEsOTcsMTAwLDk1LDEwOSwxMTEsMTAwLAotICAgIDExNywxMDgsMTAxLDExNCwzLDEsMCwwLDQxLDQsMTE0LDcxLDAsMCwwLDExNCwKLSAgICAxODAsMCwwLDAsMTE0LDY3LDAsMCwwLDExNCwxNzIsMCwwLDAsMTE0LDQsCi0gICAgMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMTE0LDE3NiwwLAotICAgIDAsMCwxMDgsNCwwLDAsMTE1LDMyLDAsMCwwLDAsMiwxMiwxLDEwLAotICAgIDEsMTMsMSwyNCwxLDE1LDEsMjEsMSwxOCwxLDE4LDEsMjcsMiwxOSwKLSAgICAxLDQsMSwxOSwxLDIxLDQsMjIsMiwxOSwxLDEyMiwxNyw5NSw4MywxMTIsCi0gICAgMTAxLDk5LDc3LDEwMSwxMTYsMTA0LDExMSwxMDAsMTE1LDQ2LDEwMSwxMjAsMTAxLDk5LDk5LDEsCi0gICAgMCwwLDAsMCwwLDAsMCwzLDAsMCwwLDI3LDAsMCwwLDY3LAotICAgIDAsMCwwLDExNSwyNCwxLDAsMCwxMjQsMCwwLDEwNiwwLDAsMTI1LDEsCi0gICAgMCwxMjQsMSwwLDEwNiwxLDAsMTA2LDIsMCwxMjQsMSwwLDEwNiwzLDAsCi0gICAgMTMxLDEsMCwxLDExNiw0LDAsMTA2LDUsMCwxMjQsMSwwLDEwNiwzLDAsCi0gICAgMjUsMTI1LDIsMCwxMTYsNiwwLDEyNCwyLDAsMTAwLDEsMCwxMDAsMCwwLAotICAgIDEzMSwzLDAsMTAwLDAsMCwxMDcsOCwwLDExNCwxMDgsMCwxMjEsMTYsMCwxMjQsCi0gICAgMSwwLDEwNiwxLDAsMTI0LDIsMCw5NSw3LDAsODcsMTEzLDEwOCwwLDQsCi0gICAgMTE2LDgsMCwxMDcsMTAsMCwxMTQsMTA0LDAsMSwxLDEsODksMTEzLDEwOCwwLAotICAgIDg4LDExMCwwLDAsMTE2LDYsMCwxMjQsMiwwLDEwMCwyLDAsMTAwLDAsMCwKLSAgICAxMzEsMywwLDEwMCwwLDAsMTA3LDgsMCwxMTQsMjE1LDAsMTIxLDU5LDAsMTI0LAotICAgIDIsMCwxMDYsOSwwLDEyNCwyLDAsOTUsMTAsMCwxMTYsMTEsMCwxMjQsMiwKLSAgICAwLDEwMCwzLDAsMTMxLDIsMCwxMTUsMTkwLDAsMTI0LDEsMCwxMDYsMywwLAotICAgIDEwNiwxMiwwLDEwMCw0LDAsMTMxLDEsMCwxMDAsNSwwLDI1LDEyNCwyLDAsCi0gICAgOTUsMTAsMCwxMTAsMCwwLDg3LDExMywyMTUsMCw0LDExNiw4LDAsMTA3LDEwLAotICAgIDAsMTE0LDIxMSwwLDEsMSwxLDg5LDExMywyMTUsMCw4OCwxMTAsMCwwLDExNiwKLSAgICA2LDAsMTI0LDIsMCwxMDAsNiwwLDEwMCwwLDAsMTMxLDMsMCwxMDAsMCwKLSAgICAwLDEwNyw4LDAsMTE0LDIwLDEsMTIxLDEzLDAsMTI0LDEsMCwxMjQsMiwwLAotICAgIDk1LDEzLDAsODcsMTEzLDIwLDEsNCwxMTYsOCwwLDEwNywxMCwwLDExNCwxNiwKLSAgICAxLDEsMSwxLDg5LDExMywyMCwxLDg4LDExMCwwLDAsMTI0LDIsMCw4MywKLSAgICA0MSw3LDc4LDExNCwyMDUsMCwwLDAsMTE0LDI1MSwwLDAsMCwxMTQsMjQ3LDAsCi0gICAgMCwwLDExNCwxMTYsMCwwLDAsMTE0LDg0LDAsMCwwLDExNCwyMDksMCwwLAotICAgIDAsNDEsMTQsMTE0LDE3OCwwLDAsMCwxMTQsMTcwLDAsMCwwLDExNCw1LDEsCi0gICAgMCwwLDExNCw2NywwLDAsMCwxMTQsNywwLDAsMCwxMTQsNzMsMCwwLAotICAgIDAsMTE0LDYyLDAsMCwwLDExNCwyMDUsMCwwLDAsMTE0LDIxMCwwLDAsMCwKLSAgICAxMTQsNTcsMCwwLDAsMTE0LDI1MSwwLDAsMCwxMTQsNjAsMCwwLDAsMTE0LAotICAgIDMyLDAsMCwwLDExNCwyMDksMCwwLDAsNDEsMywxMTQsNzEsMCwwLDAsCi0gICAgMTE0LDE3OCwwLDAsMCwxMTQsMTgwLDAsMCwwLDExNCw0LDAsMCwwLDExNCwKLSAgICA0LDAsMCwwLDExNCw1LDAsMCwwLDIxOCwyNSw5NSwxMDgsMTExLDk3LDEwMCwKLSAgICA5NSw5OCw5Nyw5OSwxMDcsMTE5LDk3LDExNCwxMDAsOTUsOTksMTExLDEwOSwxMTIsOTcsMTE2LAotICAgIDEwNSw5OCwxMDgsMTAxLDEzMiw0LDAsMCwxMTUsNDIsMCwwLDAsMCw0LDksCi0gICAgMSwxOSwyLDE2LDEsMjQsMSwzLDEsMTYsMSwxMywxLDgsMSwyNCwKLSAgICAxLDMsNCwxMiwxLDE1LDEsMzIsMSwxMywxLDgsMSwyNCwxLDMsCi0gICAgMSwxMywxLDEzLDEsOCwxLDEyMiwzOCw5NSw4MywxMTIsMTAxLDk5LDc3LDEwMSwKLSAgICAxMTYsMTA0LDExMSwxMDAsMTE1LDQ2LDk1LDEwOCwxMTEsOTcsMTAwLDk1LDk4LDk3LDk5LDEwNywKLSAgICAxMTksOTcsMTE0LDEwMCw5NSw5OSwxMTEsMTA5LDExMiw5NywxMTYsMTA1LDk4LDEwOCwxMDEsOTksCi0gICAgMSwwLDAsMCwwLDAsMCwwLDIsMCwwLDAsMTEsMCwwLDAsCi0gICAgNjcsMCwwLDAsMTE1LDE3OSwwLDAsMCwxMjQsMCwwLDEwNiwwLDAsMTA2LAotICAgIDEsMCwxMDAsMCwwLDEwNyw5LDAsMTE0LDUyLDAsMTE2LDIsMCwxMjQsMCwKLSAgICAwLDEwNiwwLDAsMTA2LDEsMCwxMDAsMSwwLDEzMSwyLDAsMTE1LDUyLDAsCi0gICAgMTI0LDAsMCwxMDYsMywwLDEzMSwwLDAsODMsMTEwLDAsMCwxMjQsMCwwLAotICAgIDEwNiw0LDAsMTMxLDAsMCwxMjUsMSwwLDExNiw1LDAsMTI0LDEsMCwxMzEsCi0gICAgMSwwLDE0Myw4NCwwLDEsMTI0LDAsMCwxMDYsMCwwLDEwNiwxLDAsMTAwLAotICAgIDAsMCwxMDcsOCwwLDExNCwxNDMsMCwxMjQsMCwwLDEwNiwwLDAsMTA2LDYsCi0gICAgMCwxMDAsMCwwLDEwNyw4LDAsMTE0LDE1NiwwLDExNiw3LDAsMTAwLDIsMCwKLSAgICAxMDAsMywwLDEyNCwwLDAsMTA2LDAsMCwxMDYsOCwwLDEzMSwxLDEsMTMwLAotICAgIDEsMCwxMTMsMTU2LDAsMTEwLDEzLDAsMTI0LDAsMCwxMDYsOSwwLDEyNCwxLAotICAgIDAsMTMxLDEsMCwxLDg3LDEwMCwwLDAsODEsODgsMTE2LDEwLDAsMTA2LDExLAotICAgIDAsMTI0LDAsMCwxMDYsMCwwLDEwNiw4LDAsMjUsODMsNDEsNCw3OCwxMTQsCi0gICAgMiwxLDAsMCwxMjIsMTQsMTA5LDEwNSwxMTUsMTE1LDEwNSwxMTAsMTAzLDMyLDEwOCwxMTEsCi0gICAgOTcsMTAwLDEwMSwxMTQsMTE0LDY3LDAsMCwwLDQxLDEyLDExNCwxNzgsMCwwLDAsCi0gICAgMTE0LDE3MCwwLDAsMCwxMTQsNjAsMCwwLDAsMTE0LDYsMSwwLDAsMTE0LAotICAgIDEsMSwwLDAsMTE0LDIxMywwLDAsMCwxMTQsMjIxLDAsMCwwLDExNCwxNTQsCi0gICAgMCwwLDAsMTE0LDY3LDAsMCwwLDExNCwzLDEsMCwwLDExNCw3LDAsCi0gICAgMCwwLDExNCw3MywwLDAsMCw0MSwyLDExNCw3MSwwLDAsMCwxMTQsMTgwLAorICAgIDEzLDEsMTQsMiw2LDEsMywxLDEzLDEsMTMsMSwxMSwxLDMsMSwKKyAgICAxOSwxLDEzLDEsMTEsMiwyMSwxLDI3LDEsOSwxLDksMSwxMTQsMjQ3LAorICAgIDAsMCwwLDIxOCw4LDExMSwxMTgsMTAxLDExNCwxMTQsMTA1LDEwMCwxMDEsNzAsOTksMiwKKyAgICAwLDAsMCwxLDAsMCwwLDQsMCwwLDAsNTksMCwwLDAsNjcsCisgICAgMCwwLDAsMTE1LDI3LDIsMCwwLDEyNCwyLDAsMTE1LDMwLDAsMTE2LDAsCisgICAgMCwxMjQsMSwwLDEwMCwxLDAsMTAwLDAsMCwxMzEsMywwLDEwMCwwLDAsCisgICAgMTA3LDgsMCwxMTQsNjcsMCwxMjEsMTYsMCwxMjQsMCwwLDEwNiwxLDAsMTI0LAorICAgIDEsMCw5NSwyLDAsODcsMTEwLDE4LDAsNCwxMTYsMywwLDEwNywxMCwwLAorICAgIDExNCw2NiwwLDEsMSwxLDg5LDExMCwxLDAsODgsMTI0LDIsMCwxMTUsOTcsCisgICAgMCwxMTYsMCwwLDEyNCwxLDAsMTAwLDIsMCwxMDAsMCwwLDEzMSwzLDAsCisgICAgMTAwLDAsMCwxMDcsOCwwLDExNCwxOTQsMCwxMjQsMCwwLDEwNiw0LDAsMTI1LAorICAgIDMsMCwxMjQsMywwLDEwMCwwLDAsMTA3LDgsMCwxMTQsMTYwLDAsMTI0LDAsCisgICAgMCwxMDYsNSwwLDEwMCwwLDAsMTA3LDksMCwxMTQsMTYwLDAsMTE2LDYsMCwKKyAgICAxMDYsNywwLDExNiw2LDAsMTMxLDEsMCwxMjUsMywwLDEyNCwwLDAsMTA2LAorICAgIDUsMCwxMjQsMywwLDk1LDgsMCwxMjEsMTMsMCwxMjQsMywwLDEyNCwxLAorICAgIDAsOTUsOSwwLDg3LDExMCwxOCwwLDQsMTE2LDMsMCwxMDcsMTAsMCwxMTQsCisgICAgMTkzLDAsMSwxLDEsODksMTEwLDEsMCw4OCwxMjQsMiwwLDExNSwyMjQsMCwKKyAgICAxMTYsMCwwLDEyNCwxLDAsMTAwLDMsMCwxMDAsMCwwLDEzMSwzLDAsMTAwLAorICAgIDAsMCwxMDcsOCwwLDExNCw1LDEsMTIxLDE2LDAsMTI0LDAsMCwxMDYsMTAsCisgICAgMCwxMjQsMSwwLDk1LDExLDAsODcsMTEwLDE4LDAsNCwxMTYsMywwLDEwNywKKyAgICAxMCwwLDExNCw0LDEsMSwxLDEsODksMTEwLDEsMCw4OCwxMjEsMTMsMCwKKyAgICAxMjQsMCwwLDEyNCwxLDAsOTUsMTIsMCw4NywxMTAsMTgsMCw0LDExNiwzLAorICAgIDAsMTA3LDEwLDAsMTE0LDM4LDEsMSwxLDEsODksMTEwLDEsMCw4OCwxMjQsCisgICAgMiwwLDExNSw2OSwxLDExNiwwLDAsMTI0LDEsMCwxMDAsNCwwLDEwMCwwLAorICAgIDAsMTMxLDMsMCwxMDAsMCwwLDEwNyw4LDAsMTE0LDEyMSwxLDEyNCwwLDAsCisgICAgMTA2LDUsMCwxMDAsMCwwLDEwNyw5LDAsMTE0LDEyMSwxLDEyMSwxNiwwLDEyNCwKKyAgICAwLDAsMTA2LDUsMCwxMjQsMSwwLDk1LDEzLDAsODcsMTEwLDE4LDAsNCwKKyAgICAxMTYsMywwLDEwNywxMCwwLDExNCwxMjAsMSwxLDEsMSw4OSwxMTAsMSwwLAorICAgIDg4LDEyNCwwLDAsMTA2LDE0LDAsMTE0LDIzLDIsMTI0LDIsMCwxMTUsMTYwLDEsCisgICAgMTE2LDAsMCwxMjQsMSwwLDEwMCw1LDAsMTAwLDAsMCwxMzEsMywwLDEwMCwKKyAgICAwLDAsMTA3LDgsMCwxMTQsMTk3LDEsMTIxLDE2LDAsMTI0LDAsMCwxMDYsMTUsCisgICAgMCwxMjQsMSwwLDk1LDE2LDAsODcsMTEwLDE4LDAsNCwxMTYsMywwLDEwNywKKyAgICAxMCwwLDExNCwxOTYsMSwxLDEsMSw4OSwxMTAsMSwwLDg4LDEyNCwyLDAsCisgICAgMTE1LDIyNywxLDExNiwwLDAsMTI0LDEsMCwxMDAsNiwwLDEwMCwwLDAsMTMxLAorICAgIDMsMCwxMDAsMCwwLDEwNyw4LDAsMTE0LDIzLDIsMTI0LDAsMCwxMDYsMTcsCisgICAgMCwxMDAsMCwwLDEwNyw5LDAsMTE0LDIzLDIsMTIxLDE2LDAsMTI0LDAsMCwKKyAgICAxMDYsMTcsMCwxMjQsMSwwLDk1LDE4LDAsODcsMTEwLDE4LDAsNCwxMTYsMywKKyAgICAwLDEwNywxMCwwLDExNCwyMiwyLDEsMSwxLDg5LDExMCwxLDAsODgsMTI0LAorICAgIDEsMCw4Myw0MSw3LDc4LDExNCw1NywwLDAsMCwxMTQsMjAzLDAsMCwwLAorICAgIDIxOCwxMSw5NSw5NSwxMTIsOTcsOTksMTA3LDk3LDEwMywxMDEsOTUsOTUsMTE0LDI0NiwwLAorICAgIDAsMCwxMTQsMjEwLDAsMCwwLDExNCwyNDQsMCwwLDAsNDEsMTksMTE0LDYyLAorICAgIDAsMCwwLDExNCw2NywwLDAsMCwxMTQsNTcsMCwwLDAsMTE0LDIwOCwwLAorICAgIDAsMCwxMTQsMTcwLDAsMCwwLDExNCwyMjAsMCwwLDAsMjE4LDE2LDk1LDc4LAorICAgIDk3LDEwOSwxMDEsMTE1LDExMiw5Nyw5OSwxMDEsNzYsMTExLDk3LDEwMCwxMDEsMTE0LDIxOCw3LAorICAgIDk1LDk1LDExMCwxMDEsMTE5LDk1LDk1LDIxOCw1LDk1LDExMiw5NywxMTYsMTA0LDExNCwyMDMsCisgICAgMCwwLDAsMTE0LDIzMywwLDAsMCwxMTQsMjQ5LDAsMCwwLDExNCwyMDcsMCwKKyAgICAwLDAsMTE0LDI0NiwwLDAsMCwxMTQsMjI2LDAsMCwwLDExNCwyMTcsMCwwLAorICAgIDAsMTE0LDIxMCwwLDAsMCwxMTQsMjI1LDAsMCwwLDExNCwyNDQsMCwwLDAsCisgICAgNDEsNCwxMTQsMTc3LDAsMCwwLDExNCwxNzgsMCwwLDAsMTE0LDI0OCwwLDAsCisgICAgMCwxMTQsMTcwLDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLAorICAgIDExNCw1LDAsMCwwLDIxOCwxOCw5NSwxMDUsMTEwLDEwNSwxMTYsOTUsMTA5LDExMSwxMDAsCisgICAgMTE3LDEwOCwxMDEsOTUsOTcsMTE2LDExNiwxMTQsMTE1LDIyNiwzLDAsMCwxMTUsODYsMCwKKyAgICAwLDAsMCw0LDMwLDEsMywxLDE2LDEsMTMsMSw1LDIsMzAsMSwKKyAgICA5LDEsMTIsMiwxNSwxLDE1LDEsMTIsMSwzLDEsMTMsMSwxMywxLAorICAgIDUsMiwzMCwxLDMsMSwxNiwxLDEzLDEsNSwyLDMsMSwxMywxLAorICAgIDEzLDEsNSwyLDMwLDEsMTUsMSwzLDEsMTYsMSwxMywxLDUsMiwKKyAgICA5LDEsMzAsMSwzLDEsMTYsMSwxMywxLDUsMiwzMCwxLDE1LDEsCisgICAgMywxLDE2LDEsMTMsMSw1LDEsMTE0LDI1MywwLDAsMCw5OSwxLDAsCisgICAgMCwwLDAsMCwwLDAsMiwwLDAsMCw1LDAsMCwwLDY3LDAsCisgICAgMCwwLDExNSwxMjksMCwwLDAsMTAwLDEsMCwxMjUsMSwwLDExNiwwLDAsCisgICAgMTI0LDAsMCwxMDYsMSwwLDEwMCwyLDAsMTMxLDIsMCwxMTQsNDUsMCwxMjQsCisgICAgMCwwLDEwNiwxLDAsMTA2LDIsMCwxMjQsMCwwLDEzMSwxLDAsMTI1LDEsCisgICAgMCwxMTAsNDAsMCwxMTYsMCwwLDEyNCwwLDAsMTA2LDEsMCwxMDAsMywwLAorICAgIDEzMSwyLDAsMTE0LDg1LDAsMTE2LDMsMCwxMDYsNCwwLDEwMCw0LDAsMTE2LAorICAgIDUsMCwxMDAsNSwwLDEwMCw2LDAsMTMxLDIsMSwxLDEyNCwxLDAsMTAwLAorICAgIDEsMCwxMDcsOCwwLDExNCwxMTIsMCwxMTYsNiwwLDEyNCwwLDAsMTA2LDcsCisgICAgMCwxMzEsMSwwLDEyNSwxLDAsMTE2LDgsMCwxMjQsMCwwLDEyNCwxLDAsCisgICAgMTMxLDIsMCwxLDEyNCwxLDAsODMsNDEsNywxMjIsNDMsNjcsMTE0LDEwMSw5NywKKyAgICAxMTYsMTAxLDMyLDk3LDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDMyLDk4LDk3LDExNSwxMDEsCisgICAgMTAwLDMyLDExMSwxMTAsMzIsMTE2LDEwNCwxMDEsMzIsMTEyLDExNCwxMTEsMTE4LDEwNSwxMDAsMTAxLAorICAgIDEwMCwzMiwxMTUsMTEyLDEwMSw5OSw0Niw3OCwyMTgsMTMsOTksMTE0LDEwMSw5NywxMTYsMTAxLAorICAgIDk1LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDIxOCwxMSwxMDEsMTIwLDEwMSw5OSw5NSwxMDksMTExLAorICAgIDEwMCwxMTcsMTA4LDEwMSwxMjIsODcsMTE1LDExNiw5NywxMTQsMTE2LDEwNSwxMTAsMTAzLDMyLDEwNSwKKyAgICAxMTAsMzIsODAsMTIxLDExNiwxMDQsMTExLDExMCwzMiw1MSw0Niw1NCw0NCwzMiwxMDgsMTExLAorICAgIDk3LDEwMCwxMDEsMTE0LDExNSwzMiwxMDAsMTAxLDEwMiwxMDUsMTEwLDEwNSwxMTAsMTAzLDMyLDEwMSwKKyAgICAxMjAsMTAxLDk5LDk1LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDQwLDQxLDMyLDEwOSwxMTcsMTE1LAorICAgIDExNiwzMiw5NywxMDgsMTE1LDExMSwzMiwxMDAsMTAxLDEwMiwxMDUsMTEwLDEwMSwzMiw5OSwxMTQsCisgICAgMTAxLDk3LDExNiwxMDEsOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsNDAsNDEsOTAsMTAsMTE1LAorICAgIDExNiw5Nyw5OSwxMDcsMTA4LDEwMSwxMTgsMTAxLDEwOCwxMTQsMTE1LDAsMCwwLDQxLDksCisgICAgMTE0LDYwLDAsMCwwLDExNCwxNzAsMCwwLDAsMTE0LDI1NCwwLDAsMCwxMTQsCisgICAgMTY3LDAsMCwwLDExNCwxNjgsMCwwLDAsMjE4LDE4LDY4LDEwMSwxMTIsMTE0LDEwMSwKKyAgICA5OSw5NywxMTYsMTA1LDExMSwxMTAsODcsOTcsMTE0LDExMCwxMDUsMTEwLDEwMywxMTQsNjgsMCwKKyAgICAwLDAsMTE0LDY3LDAsMCwwLDExNCwyNTMsMCwwLDAsNDEsMiwxMTQsMTc3LAorICAgIDAsMCwwLDExNCwxNzgsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwKKyAgICAwLDAsMTE0LDUsMCwwLDAsMjE4LDE2LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDk1LAorICAgIDEwMiwxMTQsMTExLDEwOSw5NSwxMTUsMTEyLDEwMSw5OSwyNiw0LDAsMCwxMTUsMjAsMCwKKyAgICAwLDAsMCwzLDYsMSwxOCwzLDIxLDEsMTgsMSw5LDIsMTMsMSwKKyAgICAxMiwxLDE1LDEsMTMsMSwxMTQsMSwxLDAsMCw5OSwxLDAsMCwwLAorICAgIDAsMCwwLDAsMiwwLDAsMCwzLDAsMCwwLDY3LDAsMCwwLAorICAgIDExNSwxNDksMCwwLDAsMTI0LDAsMCwxMDYsMCwwLDEwMCwxLDAsMTA3LDgsCisgICAgMCwxMTQsMjEsMCwxMDAsMiwwLDExMCw2LDAsMTI0LDAsMCwxMDYsMCwwLAorICAgIDEyNSwxLDAsMTI0LDAsMCwxMDYsMSwwLDEwMCwxLDAsMTA3LDgsMCwxMTQsCisgICAgOTUsMCwxMjQsMCwwLDEwNiwyLDAsMTAwLDEsMCwxMDcsOCwwLDExNCw3MywKKyAgICAwLDEwMCwzLDAsMTA2LDMsMCwxMjQsMSwwLDEzMSwxLDAsODMsMTAwLDQsCisgICAgMCwxMDYsMywwLDEyNCwxLDAsMTI0LDAsMCwxMDYsMiwwLDEzMSwyLDAsCisgICAgODMsMTEwLDUwLDAsMTI0LDAsMCwxMDYsNCwwLDExNCwxMjMsMCwxMDAsNSwwLAorICAgIDEwNiwzLDAsMTI0LDEsMCwxMjQsMCwwLDEwNiwxLDAsMTMxLDIsMCw4MywKKyAgICAxMDAsNiwwLDEwNiwzLDAsMTI0LDAsMCwxMDYsMCwwLDEyNCwwLDAsMTA2LAorICAgIDEsMCwxMzEsMiwwLDgzLDEwMCwxLDAsODMsNDEsNywxMjIsMzgsODIsMTAxLAorICAgIDExNiwxMTcsMTE0LDExMCwzMiwxMTYsMTA0LDEwMSwzMiwxMTQsMTAxLDExMiwxMTQsMzIsMTE2LDExMSwKKyAgICAzMiwxMTcsMTE1LDEwMSwzMiwxMDIsMTExLDExNCwzMiwxMTYsMTA0LDEwMSwzMiwxMDksMTExLDEwMCwKKyAgICAxMTcsMTA4LDEwMSw0Niw3OCwxMTQsMjA1LDAsMCwwLDEyMiwxMyw2MCwxMDksMTExLDEwMCwKKyAgICAxMTcsMTA4LDEwMSwzMiwxMjMsMzMsMTE0LDEyNSw2MiwxMjIsMjAsNjAsMTA5LDExMSwxMDAsMTE3LAorICAgIDEwOCwxMDEsMzIsMTIzLDMzLDExNCwxMjUsMzIsNDAsMTIzLDMzLDExNCwxMjUsNDEsNjIsMTIyLAorICAgIDIzLDYwLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDMyLDEyMywzMywxMTQsMTI1LDMyLDEwMiwxMTQsCisgICAgMTExLDEwOSwzMiwxMjMsMzMsMTE0LDEyNSw2MiwxMjIsMTgsNjAsMTA5LDExMSwxMDAsMTE3LDEwOCwKKyAgICAxMDEsMzIsMTIzLDMzLDExNCwxMjUsMzIsNDAsMTIzLDEyNSw0MSw2Miw0MSw1LDExNCw2NywKKyAgICAwLDAsMCwxMTQsMjE3LDAsMCwwLDExNCwxNzAsMCwwLDAsMTE0LDQ3LDAsCisgICAgMCwwLDExNCwyMjYsMCwwLDAsNDEsMiwxMTQsMTc3LDAsMCwwLDExNCw2NywKICAgICAwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLAotICAgIDAsMCwyMTgsMTQsOTUsMTA4LDExMSw5NywxMDAsOTUsMTE3LDExMCwxMDgsMTExLDk5LDEwNywKLSAgICAxMDEsMTAwLDE2Miw0LDAsMCwxMTUsMjAsMCwwLDAsMCwyLDE4LDIsMjEsCi0gICAgMSwxMywyLDEyLDEsMTMsMSwxOCwxLDE4LDEsMzAsMywxOSw1LDEyMiwKLSAgICAyNyw5NSw4MywxMTIsMTAxLDk5LDc3LDEwMSwxMTYsMTA0LDExMSwxMDAsMTE1LDQ2LDk1LDEwOCwKLSAgICAxMTEsOTcsMTAwLDk1LDExNywxMTAsMTA4LDExMSw5OSwxMDcsMTAxLDEwMCw5OSwxLDAsMCwKLSAgICAwLDAsMCwwLDAsMSwwLDAsMCw4LDAsMCwwLDY3LDAsMCwKLSAgICAwLDExNSw0OSwwLDAsMCwxMTYsMCwwLDEwNiwxLDAsMTMxLDAsMCwxLAotICAgIDExNiwyLDAsMTI0LDAsMCwxMDYsMywwLDEwNiw0LDAsMTMxLDEsMCwxNDMsCi0gICAgMTUsMCwxLDEyNCwwLDAsMTA2LDUsMCwxMzEsMCwwLDgzLDg3LDEwMCwxLAotICAgIDAsODEsODgsMTAwLDEsMCw4Myw0MSwyLDEyMiwyMDcsODIsMTAxLDExNiwxMTcsMTE0LAotICAgIDExMCwzMiw5NywzMiwxMTAsMTAxLDExOSwzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwzMiwxMTEsCi0gICAgOTgsMTA2LDEwMSw5OSwxMTYsNDQsMzIsMTA4LDExMSw5NywxMDAsMTAxLDEwMCwzMiw5OCwxMjEsCi0gICAgMzIsMTE2LDEwNCwxMDEsMzIsMTE1LDExMiwxMDEsOTksMzksMTE1LDMyLDEwOCwxMTEsOTcsMTAwLAotICAgIDEwMSwxMTQsNDYsMTAsMTAsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMzIsODQsMTA0LDEwMSwKLSAgICAzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwzMiwxMDUsMTE1LDMyLDExMCwxMTEsMTE2LDMyLDk3LAotICAgIDEwMCwxMDAsMTAxLDEwMCwzMiwxMTYsMTExLDMyLDEwNSwxMTYsMTE1LDMyLDExMiw5NywxMTQsMTAxLAotICAgIDExMCwxMTYsNDYsMTAsMTAsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMzIsNzMsMTAyLDMyLAotICAgIDk3LDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDMyLDEwNSwxMTUsMzIsOTcsMTA4LDExNCwxMDEsCi0gICAgOTcsMTAwLDEyMSwzMiwxMDUsMTEwLDMyLDExNSwxMjEsMTE1LDQ2LDEwOSwxMTEsMTAwLDExNywxMDgsCi0gICAgMTAxLDExNSw0NCwzMiwxMTYsMTA0LDk3LDExNiwzMiwxMDEsMTIwLDEwNSwxMTUsMTE2LDEwNSwxMTAsCi0gICAgMTAzLDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDMyLDEwMywxMDEsMTE2LDExNSwxMCwzMiwzMiwKLSAgICAzMiwzMiwzMiwzMiwzMiwzMiw5OSwxMDgsMTExLDk4LDk4LDEwMSwxMTQsMTAxLDEwMCw0NiwKLSAgICAxMCwxMCwzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMiw3OCw0MSw2LDExNCwxMDYsMCwKLSAgICAwLDAsMTE0LDQsMSwwLDAsMTE0LDEwMywwLDAsMCwxMTQsMTc4LDAsMCwKLSAgICAwLDExNCw2NywwLDAsMCwxMTQsNywxLDAsMCw0MSwxLDExNCw3MSwwLAotICAgIDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsCi0gICAgMCwxMTQsMTc3LDAsMCwwLDE4NSw0LDAsMCwxMTUsNiwwLDAsMCwwLAotICAgIDksMTAsMSwxOSwxLDEyMiwxNyw5NSw4MywxMTIsMTAxLDk5LDc3LDEwMSwxMTYsMTA0LAotICAgIDExMSwxMDAsMTE1LDQ2LDEwOCwxMTEsOTcsMTAwLDc4LDQxLDEzLDExNCw1NywwLDAsMCwKLSAgICAxMTQsNTYsMCwwLDAsMTE0LDU4LDAsMCwwLDExNCw1OSwwLDAsMCwxMTQsCi0gICAgNzIsMCwwLDAsMTE0LDIwNiwwLDAsMCwxMTQsMjU1LDAsMCwwLDExNCwxLAotICAgIDEsMCwwLDExNCwzLDEsMCwwLDExNCwxNzYsMCwwLDAsMTE0LDYsMSwKLSAgICAwLDAsMTE0LDcsMSwwLDAsMTE0LDE3NywwLDAsMCwxMTQsNCwwLDAsCi0gICAgMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwKLSAgICAxMTQsMTc1LDAsMCwwLDIyNSwzLDAsMCwxMTUsMjAsMCwwLDAsMTIsMywKLSAgICA2LDQsMTIsMywxMiwxNiwyNCw4MCwxMiwyMywxMiwxMCwxMiwyNCwxMiwzMCwKLSAgICAxMiwyMywxMTQsMTc1LDAsMCwwLDk5LDQsMCwwLDAsMCwwLDAsMCwKLSAgICA2LDAsMCwwLDExLDAsMCwwLDY3LDAsMCwwLDExNSwyMDEsMCwwLAorICAgIDAsMCwxMTQsMjA5LDAsMCwwLDQ0LDQsMCwwLDExNSwxNiwwLDAsMCwKKyAgICAwLDMsMzAsMSwxNSwxLDE1LDEsMTMsMiwyMiwyLDksMSwxOSwyLAorICAgIDExNCwyMDksMCwwLDAsOTksMiwwLDAsMCwwLDAsMCwwLDQsMCwKKyAgICAwLDAsMTIsMCwwLDAsNjcsMCwwLDAsMTE1LDI1MiwwLDAsMCwxMjQsCisgICAgMCwwLDEwNiwwLDAsMTI1LDIsMCwxMTYsMSwwLDEwNiwyLDAsMTMxLDAsCisgICAgMCwxLDExNiwzLDAsMTI0LDIsMCwxMzEsMSwwLDE0MywyMDgsMCwxLDExNiwKKyAgICA0LDAsMTA2LDUsMCwxMDYsNiwwLDEyNCwyLDAsMTMxLDEsMCwxMjQsMSwKKyAgICAwLDEwNyw5LDAsMTE0LDg5LDAsMTAwLDEsMCwxMDYsNywwLDEyNCwyLDAsCisgICAgMTMxLDEsMCwxMjUsMywwLDExNiw4LDAsMTI0LDMsMCwxMDAsMiwwLDEyNCwKKyAgICAyLDAsMTMxLDEsMSwxMzAsMSwwLDEyNCwwLDAsMTA2LDksMCwxMDAsMywKKyAgICAwLDEwNyw4LDAsMTE0LDE2MywwLDEyNCwwLDAsMTA2LDEwLDAsMTAwLDMsMCwKKyAgICAxMDcsOCwwLDExNCwxNDAsMCwxMTYsOCwwLDEwMCw0LDAsMTAwLDIsMCwxMjQsCisgICAgMCwwLDEwNiwwLDAsMTMxLDEsMSwxMzAsMSwwLDExNiwxMSwwLDEyNCwwLAorICAgIDAsMTI0LDEsMCwxMDAsNSwwLDEwMCw2LDAsMTMxLDIsMSwxLDEyNCwxLAorICAgIDAsODMsMTE2LDExLDAsMTI0LDAsMCwxMjQsMSwwLDEwMCw1LDAsMTAwLDYsCisgICAgMCwxMzEsMiwxLDEsMTE2LDEyLDAsMTI0LDAsMCwxMDYsOSwwLDEwMCw3LAorICAgIDAsMTMxLDIsMCwxMTUsMjE5LDAsMTI0LDAsMCwxMDYsOSwwLDEwNiwxMywwLAorICAgIDEyNCwyLDAsMTMxLDEsMCwxLDExMCwxNiwwLDEyNCwwLDAsMTA2LDksMCwKKyAgICAxMDYsMTQsMCwxMjQsMSwwLDEzMSwxLDAsMSw4NywxMDAsMywwLDgxLDg4LAorICAgIDExNiw0LDAsMTA2LDUsMCwxMjQsMiwwLDI1LDgzLDQxLDgsMTIyLDUxLDY5LAorICAgIDEyMCwxMDEsOTksMTE3LDExNiwxMDEsMzIsMTE2LDEwNCwxMDEsMzIsMTE1LDExMiwxMDEsOTksMzIsCisgICAgMTA1LDExMCwzMiw5NywxMTAsMzIsMTAxLDEyMCwxMDUsMTE1LDExNiwxMDUsMTEwLDEwMywzMiwxMDksCisgICAgMTExLDEwMCwxMTcsMTA4LDEwMSwzOSwxMTUsMzIsMTEwLDk3LDEwOSwxMDEsMTE1LDExMiw5Nyw5OSwKKyAgICAxMDEsNDYsMTIyLDMwLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDMyLDEyMywzMywxMTQsMTI1LDMyLAorICAgIDExMCwxMTEsMTE2LDMyLDEwNSwxMTAsMzIsMTE1LDEyMSwxMTUsNDYsMTA5LDExMSwxMDAsMTE3LDEwOCwKKyAgICAxMDEsMTE1LDExNCw2NywwLDAsMCw3OCwxMjIsMTQsMTA5LDEwNSwxMTUsMTE1LDEwNSwxMTAsCisgICAgMTAzLDMyLDEwOCwxMTEsOTcsMTAwLDEwMSwxMTQsMTE0LDI0OCwwLDAsMCw4NCwxMTQsMjU1LAorICAgIDAsMCwwLDQxLDE1LDExNCw2NywwLDAsMCwxMTQsMTA2LDAsMCwwLDIxOCwKKyAgICAxMiw5Nyw5OSwxMTMsMTE3LDEwNSwxMTQsMTAxLDk1LDEwOCwxMTEsOTksMTA3LDExNCwxMDMsMCwKKyAgICAwLDAsMTE0LDcsMCwwLDAsMTE0LDczLDAsMCwwLDExNCw5MywwLDAsCisgICAgMCwxMTQsNDcsMCwwLDAsMTE0LDE1NCwwLDAsMCwxMTQsMTcwLDAsMCwwLAorICAgIDExNCwyMjAsMCwwLDAsMTE0LDI1MywwLDAsMCwxMTQsNjAsMCwwLDAsMjE4LAorICAgIDExLDEwOCwxMTEsOTcsMTAwLDk1LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDExNCwyNTUsMCwwLAorICAgIDAsNDEsNCwxMTQsMTc3LDAsMCwwLDExNCwxNzgsMCwwLDAsMTE0LDY3LDAsCisgICAgMCwwLDExNCwxNzIsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLAorICAgIDAsMTE0LDUsMCwwLDAsMTE0LDE3NSwwLDAsMCw2MSw0LDAsMCwxMTUsCisgICAgMzIsMCwwLDAsMCwyLDksMSwxMCwxLDEzLDEsMjQsMSwxNSwxLAorICAgIDE4LDEsMTUsMSwxNSwxLDIxLDIsMTksMSw0LDEsMTksMSwxOCw0LAorICAgIDE5LDIsMjIsMSwxMTQsMTc1LDAsMCwwLDk5LDEsMCwwLDAsMCwwLAorICAgIDAsMCwyLDAsMCwwLDI3LDAsMCwwLDY3LDAsMCwwLDExNSwzLAorICAgIDEsMCwwLDEyNCwwLDAsMTA2LDAsMCwxMDYsMSwwLDEyNCwwLDAsMTA2LAorICAgIDIsMCwxMzEsMSwwLDEsMTE2LDMsMCwxMDYsNCwwLDEyNCwwLDAsMTA2LAorICAgIDIsMCwyNSwxMjUsMSwwLDExNiw1LDAsMTI0LDEsMCwxMDAsMSwwLDEwMCwKKyAgICAwLDAsMTMxLDMsMCwxMDAsMCwwLDEwNyw4LDAsMTE0LDk2LDAsMTIxLDE2LAorICAgIDAsMTI0LDAsMCwxMDYsMCwwLDEyNCwxLDAsOTUsNiwwLDg3LDExMCwxOCwKKyAgICAwLDQsMTE2LDcsMCwxMDcsMTAsMCwxMTQsOTUsMCwxLDEsMSw4OSwxMTAsCisgICAgMSwwLDg4LDExNiw1LDAsMTI0LDEsMCwxMDAsMiwwLDEwMCwwLDAsMTMxLAorICAgIDMsMCwxMDAsMCwwLDEwNyw4LDAsMTE0LDE5NywwLDEyMSw1NiwwLDEyNCwxLAorICAgIDAsMTA2LDgsMCwxMjQsMSwwLDk1LDksMCwxMTYsMTAsMCwxMjQsMSwwLAorICAgIDEwMCwzLDAsMTMxLDIsMCwxMTUsMTc1LDAsMTI0LDAsMCwxMDYsMiwwLDEwNiwKKyAgICAxMSwwLDEwMCw0LDAsMTMxLDEsMCwxMDAsNSwwLDI1LDEyNCwxLDAsOTUsCisgICAgOSwwLDg3LDExMCwxOCwwLDQsMTE2LDcsMCwxMDcsMTAsMCwxMTQsMTk2LDAsCisgICAgMSwxLDEsODksMTEwLDEsMCw4OCwxMTYsNSwwLDEyNCwxLDAsMTAwLDYsCisgICAgMCwxMDAsMCwwLDEzMSwzLDAsMTAwLDAsMCwxMDcsOCwwLDExNCwyNTUsMCwKKyAgICAxMjEsMTMsMCwxMjQsMCwwLDEyNCwxLDAsOTUsMTIsMCw4NywxMTAsMTgsMCwKKyAgICA0LDExNiw3LDAsMTA3LDEwLDAsMTE0LDI1NCwwLDEsMSwxLDg5LDExMCwxLAorICAgIDAsODgsMTI0LDEsMCw4Myw0MSw3LDc4LDExNCwyMDMsMCwwLDAsMTE0LDI0OSwKKyAgICAwLDAsMCwxMTQsMjQ2LDAsMCwwLDExNCwxMTYsMCwwLDAsMTE0LDg0LDAsCisgICAgMCwwLDExNCwyMDcsMCwwLDAsNDEsMTMsMTE0LDE3MCwwLDAsMCwxMTQsMywKKyAgICAxLDAsMCwxMTQsNjcsMCwwLDAsMTE0LDcsMCwwLDAsMTE0LDczLDAsCisgICAgMCwwLDExNCw2MiwwLDAsMCwxMTQsMjAzLDAsMCwwLDExNCwyMDgsMCwwLAorICAgIDAsMTE0LDU3LDAsMCwwLDExNCwyNDksMCwwLDAsMTE0LDYwLDAsMCwwLAorICAgIDExNCwzMiwwLDAsMCwxMTQsMjA3LDAsMCwwLDQxLDIsMTE0LDE3NywwLDAsCisgICAgMCwxMTQsMTc4LDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLAorICAgIDExNCw1LDAsMCwwLDIxOCwyNSw5NSwxMDgsMTExLDk3LDEwMCw5NSw5OCw5Nyw5OSwKKyAgICAxMDcsMTE5LDk3LDExNCwxMDAsOTUsOTksMTExLDEwOSwxMTIsOTcsMTE2LDEwNSw5OCwxMDgsMTAxLAorICAgIDg2LDQsMCwwLDExNSw0MCwwLDAsMCwwLDQsMTksMiwxNiwxLDI0LAorICAgIDEsMywxLDE2LDEsMTMsMSw1LDEsMjQsMSwzLDQsMTIsMSwxNSwKKyAgICAxLDI5LDEsMTMsMSw1LDEsMjQsMSwzLDEsMTMsMSwxMywxLDUsCisgICAgMSwxMTQsNCwxLDAsMCw5OSwxLDAsMCwwLDAsMCwwLDAsMiwKKyAgICAwLDAsMCwxMSwwLDAsMCw2NywwLDAsMCwxMTUsMTU4LDAsMCwwLAorICAgIDEyNCwwLDAsMTA2LDAsMCwxMDAsMCwwLDEwNyw5LDAsMTE0LDQzLDAsMTE2LAorICAgIDEsMCwxMjQsMCwwLDEwNiwwLDAsMTAwLDEsMCwxMzEsMiwwLDExNSw0MywKKyAgICAwLDExNiwyLDAsMTI0LDAsMCwxMzEsMSwwLDgzLDExNiwzLDAsMTI0LDAsCisgICAgMCwxMzEsMSwwLDEyNSwxLDAsMTE2LDQsMCwxMjQsMSwwLDEzMSwxLDAsCisgICAgMTQzLDc1LDAsMSwxMjQsMCwwLDEwNiwwLDAsMTAwLDAsMCwxMDcsOCwwLAorICAgIDExNCwxMjIsMCwxMjQsMCwwLDEwNiw1LDAsMTAwLDAsMCwxMDcsOCwwLDExNCwKKyAgICAxMzgsMCwxMTYsNiwwLDEwMCwyLDAsMTAwLDMsMCwxMjQsMCwwLDEwNiw3LAorICAgIDAsMTMxLDEsMSwxMzAsMSwwLDExMCwxNiwwLDEyNCwwLDAsMTA2LDAsMCwKKyAgICAxMDYsOCwwLDEyNCwxLDAsMTMxLDEsMCwxLDg3LDEwMCwwLDAsODEsODgsCisgICAgMTE2LDksMCwxMDYsMTAsMCwxMjQsMCwwLDEwNiw3LDAsMjUsODMsNDEsNCwKKyAgICA3OCwxMTQsMjU1LDAsMCwwLDEyMiwxNCwxMDksMTA1LDExNSwxMTUsMTA1LDExMCwxMDMsMzIsCisgICAgMTA4LDExMSw5NywxMDAsMTAxLDExNCwxMTQsNjcsMCwwLDAsNDEsMTEsMTE0LDE3MCwwLAorICAgIDAsMCwxMTQsNjAsMCwwLDAsMTE0LDQsMSwwLDAsMTE0LDEsMSwwLAorICAgIDAsMTE0LDIxMiwwLDAsMCwxMTQsMjIwLDAsMCwwLDExNCwxNTQsMCwwLDAsCisgICAgMTE0LDY3LDAsMCwwLDExNCwyNTUsMCwwLDAsMTE0LDcsMCwwLDAsMTE0LAorICAgIDczLDAsMCwwLDQxLDIsMTE0LDE3NywwLDAsMCwxMTQsMTc4LDAsMCwwLAorICAgIDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDIxOCwKKyAgICAxNCw5NSwxMDgsMTExLDk3LDEwMCw5NSwxMTcsMTEwLDEwOCwxMTEsOTksMTA3LDEwMSwxMDAsMTE1LAorICAgIDQsMCwwLDExNSwyMCwwLDAsMCwwLDIsMTUsMiwxOCwxLDEwLDIsCisgICAgMTIsMSwxMywxLDE1LDEsMTUsMSwyNCwzLDIyLDUsMTE0LDUsMSwwLAorICAgIDAsOTksMSwwLDAsMCwwLDAsMCwwLDEsMCwwLDAsOSwwLAorICAgIDAsMCw2NywwLDAsMCwxMTUsNDYsMCwwLDAsMTE2LDAsMCwxMDYsMSwKKyAgICAwLDEzMSwwLDAsMSwxMTYsMiwwLDEyNCwwLDAsMTA2LDMsMCwxMzEsMSwKKyAgICAwLDE0MywxNSwwLDEsMTE2LDQsMCwxMjQsMCwwLDEzMSwxLDAsODMsODcsCisgICAgMTAwLDEsMCw4MSw4OCwxMDAsMSwwLDgzLDQxLDIsMTIyLDE5MSw4MiwxMDEsMTE2LAorICAgIDExNywxMTQsMTEwLDMyLDk3LDMyLDExMCwxMDEsMTE5LDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLAorICAgIDMyLDExMSw5OCwxMDYsMTAxLDk5LDExNiw0NCwzMiwxMDgsMTExLDk3LDEwMCwxMDEsMTAwLDMyLAorICAgIDk4LDEyMSwzMiwxMTYsMTA0LDEwMSwzMiwxMTUsMTEyLDEwMSw5OSwzOSwxMTUsMzIsMTA4LDExMSwKKyAgICA5NywxMDAsMTAxLDExNCw0NiwxMCwxMCwzMiwzMiwzMiwzMiw4NCwxMDQsMTAxLDMyLDEwOSwKKyAgICAxMTEsMTAwLDExNywxMDgsMTAxLDMyLDEwNSwxMTUsMzIsMTEwLDExMSwxMTYsMzIsOTcsMTAwLDEwMCwKKyAgICAxMDEsMTAwLDMyLDExNiwxMTEsMzIsMTA1LDExNiwxMTUsMzIsMTEyLDk3LDExNCwxMDEsMTEwLDExNiwKKyAgICA0NiwxMCwxMCwzMiwzMiwzMiwzMiw3MywxMDIsMzIsOTcsMzIsMTA5LDExMSwxMDAsMTE3LAorICAgIDEwOCwxMDEsMzIsMTA1LDExNSwzMiw5NywxMDgsMTE0LDEwMSw5NywxMDAsMTIxLDMyLDEwNSwxMTAsCisgICAgMzIsMTE1LDEyMSwxMTUsNDYsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMTE1LDQ0LDMyLDExNiwxMDQsCisgICAgOTcsMTE2LDMyLDEwMSwxMjAsMTA1LDExNSwxMTYsMTA1LDExMCwxMDMsMzIsMTA5LDExMSwxMDAsMTE3LAorICAgIDEwOCwxMDEsMzIsMTAzLDEwMSwxMTYsMTE1LDEwLDMyLDMyLDMyLDMyLDk5LDEwOCwxMTEsOTgsCisgICAgOTgsMTAxLDExNCwxMDEsMTAwLDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDc4LDQxLDUsMTE0LAorICAgIDEwNiwwLDAsMCwxMTQsMiwxLDAsMCwxMTQsMTAzLDAsMCwwLDExNCw2NywKKyAgICAwLDAsMCwxMTQsNSwxLDAsMCw0MSwxLDExNCwxNzcsMCwwLDAsMTE0LAorICAgIDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMTE0LDE3NiwKKyAgICAwLDAsMCwxMzgsNCwwLDAsMTE1LDYsMCwwLDAsMCw5LDEwLDEsCisgICAgMTYsMSwxMTQsMTc2LDAsMCwwLDk5LDQsMCwwLDAsMCwwLDAsMCwKKyAgICA2LDAsMCwwLDExLDAsMCwwLDY3LDAsMCwwLDExNSwxOTUsMCwwLAogICAgIDAsMTI0LDAsMCwxMDYsMCwwLDEwMCwxLDAsMTMxLDEsMCwxMjUsNCwwLAogICAgIDEyNCwwLDAsMTA2LDAsMCwxMDAsMiwwLDEzMSwxLDAsMTI1LDUsMCwxMjQsCi0gICAgNCwwLDExNSwxMDIsMCwxMjQsNSwwLDExNCw1NCwwLDEyNCw1LDAsMTA2LDEsCi0gICAgMCwxMjUsNCwwLDExMywxMDIsMCwxMjQsMiwwLDEyNCwzLDAsMTA3LDIsMCwKKyAgICA0LDAsMTE1LDk5LDAsMTI0LDUsMCwxMTQsNTQsMCwxMjQsNSwwLDEwNiwxLAorICAgIDAsMTI1LDQsMCwxMTAsNDUsMCwxMjQsMiwwLDEyNCwzLDAsMTA3LDIsMCwKICAgICAxMTQsODQsMCwxMTYsMiwwLDEyNCwxLDAsMTI0LDIsMCwxMzEsMiwwLDEyNSwKLSAgICA0LDAsMTEzLDEwMiwwLDExNiwzLDAsMTI0LDEsMCwxMjQsMiwwLDEzMSwyLAotICAgIDAsMTI1LDQsMCwxMTAsMCwwLDEyNCw1LDAsMTE1LDEzMiwwLDExNiw0LDAsCi0gICAgMTI0LDEsMCwxMjQsMiwwLDEwMCwzLDAsMTI0LDQsMCwxMzEsMiwxLDEyNSwKLSAgICA1LDAsMTEwLDAsMCwxMjEsNDQsMCwxMjQsNSwwLDEyNCwwLDAsMTAwLDIsCi0gICAgMCw2MCwxMjQsNCwwLDEyNCwwLDAsMTAwLDEsMCw2MCwxMjQsMiwwLDEyNCwKLSAgICAwLDAsMTAwLDQsMCw2MCwxMjQsMywwLDEyNCwwLDAsMTAwLDUsMCw2MCwKLSAgICA4NywxMTAsMTgsMCw0LDExNiw1LDAsMTA3LDEwLDAsMTE0LDE5NiwwLDEsMSwKLSAgICAxLDg5LDExMCwxLDAsODgsMTAwLDAsMCw4Myw0MSw2LDc4LDExNCwyMDUsMCwKLSAgICAwLDAsMTE0LDIwOSwwLDAsMCwxMTQsMTcwLDAsMCwwLDExNCwyMTEsMCwwLAotICAgIDAsMTE0LDI0NSwwLDAsMCw0MSw2LDExNCw5MywwLDAsMCwxMTQsMTcwLDAsCi0gICAgMCwwLDIxOCwyMCw4MywxMTEsMTE3LDExNCw5OSwxMDEsMTA4LDEwMSwxMTUsMTE1LDcwLDEwNSwKLSAgICAxMDgsMTAxLDc2LDExMSw5NywxMDAsMTAxLDExNCwyMTgsMTYsODMsMTExLDExNywxMTQsOTksMTAxLAotICAgIDcwLDEwNSwxMDgsMTAxLDc2LDExMSw5NywxMDAsMTAxLDExNCwxMTQsMjQwLDAsMCwwLDExNCwKLSAgICAyMDgsMCwwLDAsNDEsNiw5MCwyLDExMCwxMTUsMTE0LDY3LDAsMCwwLDkwLAotICAgIDgsMTEyLDk3LDExNiwxMDQsMTEwLDk3LDEwOSwxMDEsOTAsOSw5OSwxMTIsOTcsMTE2LDEwNCwKLSAgICAxMTAsOTcsMTA5LDEwMSwxMTQsMTcwLDAsMCwwLDExNCwxNzgsMCwwLDAsMTE0LDQsCi0gICAgMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMjE4LDE0LDk1LAotICAgIDEwMiwxMDUsMTIwLDk1LDExNywxMTIsOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMTk5LDQsMCwKLSAgICAwLDExNSwzNCwwLDAsMCwwLDIsMTUsMSwxNSwxLDYsMSw2LDEsCi0gICAgMTIsMSwxMiwxLDE4LDIsMTgsMSw2LDEsMjQsMSwzLDEsMTAsMSwKLSAgICAxMCwxLDEwLDEsMTQsMSwxMywyLDExNCwxMCwxLDAsMCw5OSwwLDAsCi0gICAgMCwwLDAsMCwwLDAsMCwwLDAsMCw1LDAsMCwwLDY0LDAsCi0gICAgMCwwLDExNSwxODEsMCwwLDAsMTAxLDAsMCw5MCwxLDAsMTAwLDAsMCwKLSAgICA5MCwyLDAsMTAwLDEsMCw5MCwzLDAsMTAxLDQsMCwxMDAsMiwwLDEwMCwKLSAgICAzLDAsMTMyLDAsMCwxMzEsMSwwLDkwLDUsMCwxMDEsNiwwLDEwMCw0LAotICAgIDAsMTAwLDQsMCwxMDAsNSwwLDEwMCw2LDAsMTMyLDIsMCwxMzEsMSwwLAotICAgIDkwLDcsMCwxMDEsNiwwLDEwMCw0LDAsMTAwLDcsMCwxMDAsOCwwLDEzMiwKLSAgICAxLDAsMTMxLDEsMCw5MCw4LDAsMTAxLDYsMCwxMDEsOSwwLDEwMCw5LAotICAgIDAsMTAwLDEwLDAsMTMyLDAsMCwxMzEsMSwwLDEzMSwxLDAsOTAsMTAsMCwKLSAgICAxMDEsNiwwLDEwMSw5LDAsMTAwLDExLDAsMTAwLDEyLDAsMTMyLDAsMCwxMzEsCi0gICAgMSwwLDEzMSwxLDAsOTAsMTEsMCwxMDEsNiwwLDEwMSw5LDAsMTAwLDEzLAotICAgIDAsMTAwLDE0LDAsMTMyLDAsMCwxMzEsMSwwLDEzMSwxLDAsOTAsMTIsMCwKLSAgICAxMDEsNiwwLDEwMSw5LDAsMTAwLDE1LDAsMTAwLDE2LDAsMTMyLDAsMCwxMzEsCi0gICAgMSwwLDEzMSwxLDAsOTAsMTMsMCwxMDAsNCwwLDgzLDQxLDE3LDIxOCwxNSwKLSAgICA2NiwxMTcsMTA1LDEwOCwxMTYsMTA1LDExMCw3MywxMDksMTEyLDExMSwxMTQsMTE2LDEwMSwxMTQsMTIyLAotICAgIDE0NCw3NywxMDEsMTE2LDk3LDMyLDExMiw5NywxMTYsMTA0LDMyLDEwNSwxMDksMTEyLDExMSwxMTQsCi0gICAgMTE2LDMyLDEwMiwxMTEsMTE0LDMyLDk4LDExNywxMDUsMTA4LDExNiw0NSwxMDUsMTEwLDMyLDEwOSwKLSAgICAxMTEsMTAwLDExNywxMDgsMTAxLDExNSw0NiwxMCwxMCwzMiwzMiwzMiwzMiw2NSwxMDgsMTA4LAotICAgIDMyLDEwOSwxMDEsMTE2LDEwNCwxMTEsMTAwLDExNSwzMiw5NywxMTQsMTAxLDMyLDEwMSwxMDUsMTE2LAotICAgIDEwNCwxMDEsMTE0LDMyLDk5LDEwOCw5NywxMTUsMTE1LDMyLDExMSwxMTQsMzIsMTE1LDExNiw5NywKLSAgICAxMTYsMTA1LDk5LDMyLDEwOSwxMDEsMTE2LDEwNCwxMTEsMTAwLDExNSwzMiwxMTYsMTExLDMyLDk3LAotICAgIDExOCwxMTEsMTA1LDEwMCwzMiwxMTYsMTA0LDEwMSwzMiwxMTAsMTAxLDEwMSwxMDAsMzIsMTE2LDExMSwKLSAgICAxMCwzMiwzMiwzMiwzMiwxMDUsMTEwLDExNSwxMTYsOTcsMTEwLDExNiwxMDUsOTcsMTE2LDEwMSwKLSAgICAzMiwxMTYsMTA0LDEwMSwzMiw5OSwxMDgsOTcsMTE1LDExNSw0NiwxMCwxMCwzMiwzMiwzMiwKLSAgICAzMiw5OSwxLDAsMCwwLDAsMCwwLDAsMSwwLDAsMCwyLDAsCi0gICAgMCwwLDY3LDAsMCwwLDExNSwxNiwwLDAsMCwxMDAsMSwwLDEwNiwwLAotICAgIDAsMTI0LDAsMCwxMDYsMSwwLDEzMSwxLDAsODMsNDEsMiwxMjIsMTE1LDgyLAotICAgIDEwMSwxMTYsMTE3LDExNCwxMTAsMzIsMTE0LDEwMSwxMTIsMTE0LDMyLDEwMiwxMTEsMTE0LDMyLDExNiwKLSAgICAxMDQsMTAxLDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDQ2LDEwLDEwLDMyLDMyLDMyLDMyLAotICAgIDMyLDMyLDMyLDMyLDg0LDEwNCwxMDEsMzIsMTA5LDEwMSwxMTYsMTA0LDExMSwxMDAsMzIsMTA1LAotICAgIDExNSwzMiwxMDAsMTAxLDExMiwxMTQsMTAxLDk5LDk3LDExNiwxMDEsMTAwLDQ2LDMyLDMyLDg0LAotICAgIDEwNCwxMDEsMzIsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsMzIsMTA5LDk3LDk5LDEwNCwxMDUsMTEwLAotICAgIDEwMSwxMTQsMTIxLDMyLDEwMCwxMTEsMTAxLDExNSwzMiwxMTYsMTA0LDEwMSwzMiwxMDYsMTExLDk4LAotICAgIDMyLDEwNSwxMTYsMTE1LDEwMSwxMDgsMTAyLDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDMyLDMyLAotICAgIDMyLDMyLDEyMiwyNCw2MCwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwzMiwxMjMsMzMsMTE0LDEyNSwKLSAgICAzMiw0MCw5OCwxMTcsMTA1LDEwOCwxMTYsNDUsMTA1LDExMCw0MSw2Miw0MSwyLDExNCw0NywKLSAgICAwLDAsMCwxMTQsNTcsMCwwLDAsNDEsMSwxMTQsMTgwLDAsMCwwLDExNCwKLSAgICA0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDExNCwyMDYsCi0gICAgMCwwLDAsMjMzLDQsMCwwLDExNSwyLDAsMCwwLDAsNywxMjIsMjcsCi0gICAgNjYsMTE3LDEwNSwxMDgsMTE2LDEwNSwxMTAsNzMsMTA5LDExMiwxMTEsMTE0LDExNiwxMDEsMTE0LDQ2LAotICAgIDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDk1LDExNCwxMDEsMTEyLDExNCw3OCw5OSw0LDAsMCwKLSAgICAwLDAsMCwwLDAsNCwwLDAsMCw1LDAsMCwwLDY3LDAsMCwKLSAgICAwLDExNSw1OCwwLDAsMCwxMjQsMiwwLDEwMCwwLDAsMTA3LDksMCwxMTQsCi0gICAgMTYsMCwxMDAsMCwwLDgzLDExNiwwLDAsMTA2LDEsMCwxMjQsMSwwLDEzMSwKLSAgICAxLDAsMTE0LDUwLDAsMTE2LDIsMCwxMjQsMSwwLDEyNCwwLDAsMTAwLDEsCi0gICAgMCwxMDAsMiwwLDEzMSwyLDEsODMsMTAwLDAsMCw4MywxMDAsMCwwLDgzLAotICAgIDQxLDMsNzgsMTE0LDIxOCwwLDAsMCwxMjIsOCw5OCwxMTcsMTA1LDEwOCwxMTYsNDUsCi0gICAgMTA1LDExMCw0MSwzLDExNCwxMDYsMCwwLDAsOTAsMTAsMTA1LDExNSw5NSw5OCwxMTcsCi0gICAgMTA1LDEwOCwxMTYsMTA1LDExMCwxMTQsMTc0LDAsMCwwLDQxLDQsMjE4LDMsOTksMTA4LAotICAgIDExNSwxMTQsMTU5LDAsMCwwLDExNCwzNSwwLDAsMCwyMTgsNiwxMTYsOTcsMTE0LAotICAgIDEwMywxMDEsMTE2LDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsCi0gICAgMCwwLDIxOCw5LDEwMiwxMDUsMTEwLDEwMCw5NSwxMTUsMTEyLDEwMSw5OSwyNDIsNCwwLAotICAgIDAsMTE1LDEwLDAsMCwwLDAsMiwxMiwxLDQsMSwxNSwxLDE5LDIsCi0gICAgMTIyLDI1LDY2LDExNywxMDUsMTA4LDExNiwxMDUsMTEwLDczLDEwOSwxMTIsMTExLDExNCwxMTYsMTAxLAotICAgIDExNCw0NiwxMDIsMTA1LDExMCwxMDAsOTUsMTE1LDExMiwxMDEsOTksOTksMywwLDAsMCwKLSAgICAwLDAsMCwwLDQsMCwwLDAsMywwLDAsMCw2NywwLDAsMCwKLSAgICAxMTUsNDEsMCwwLDAsMTI0LDAsMCwxMDYsMCwwLDEyNCwxLDAsMTI0LDIsCi0gICAgMCwxMzEsMiwwLDEyNSwzLDAsMTI0LDMsMCwxMDAsMSwwLDEwNyw5LDAsCi0gICAgMTE0LDM3LDAsMTI0LDMsMCwxMDYsMSwwLDgzLDEwMCwxLDAsODMsNDEsMiwKLSAgICAxMjIsMTc1LDcwLDEwNSwxMTAsMTAwLDMyLDExNiwxMDQsMTAxLDMyLDk4LDExNywxMDUsMTA4LDExNiwKLSAgICA0NSwxMDUsMTEwLDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDQ2LDEwLDEwLDMyLDMyLDMyLAotICAgIDMyLDMyLDMyLDMyLDMyLDczLDEwMiwzMiwzOSwxMTIsOTcsMTE2LDEwNCwzOSwzMiwxMDUsCi0gICAgMTE1LDMyLDEwMSwxMTgsMTAxLDExNCwzMiwxMTUsMTEyLDEwMSw5OSwxMDUsMTAyLDEwNSwxMDEsMTAwLAotICAgIDMyLDExNiwxMDQsMTAxLDExMCwzMiwxMTYsMTA0LDEwMSwzMiwxMTUsMTAxLDk3LDExNCw5OSwxMDQsCi0gICAgMzIsMTA1LDExNSwzMiw5OSwxMTEsMTEwLDExNSwxMDUsMTAwLDEwMSwxMTQsMTAxLDEwMCwzMiw5NywKLSAgICAzMiwxMDIsOTcsMTA1LDEwOCwxMTcsMTE0LDEwMSw0NiwxMCwxMCwzMiwzMiwzMiwzMiwzMiwKLSAgICAzMiwzMiwzMiw4NCwxMDQsMTA1LDExNSwzMiwxMDksMTAxLDExNiwxMDQsMTExLDEwMCwzMiwxMDUsCi0gICAgMTE1LDMyLDEwMCwxMDEsMTEyLDExNCwxMDEsOTksOTcsMTE2LDEwMSwxMDAsNDYsMzIsMzIsODUsCi0gICAgMTE1LDEwMSwzMiwxMDIsMTA1LDExMCwxMDAsOTUsMTE1LDExMiwxMDEsOTksNDAsNDEsMzIsMTA1LAotICAgIDExMCwxMTUsMTE2LDEwMSw5NywxMDAsNDYsMTAsMTAsMzIsMzIsMzIsMzIsMzIsMzIsMzIsCi0gICAgMzIsNzgsNDEsMiwxMTQsMTQsMSwwLDAsMTE0LDE3MCwwLDAsMCw0MSw0LAotICAgIDExNCwxMiwxLDAsMCwxMTQsMTU5LDAsMCwwLDExNCwzNSwwLDAsMCwxMTQsCisgICAgNCwwLDExMCwxNSwwLDExNiwzLDAsMTI0LDEsMCwxMjQsMiwwLDEzMSwyLAorICAgIDAsMTI1LDQsMCwxMjQsNSwwLDExNSwxMjYsMCwxMTYsNCwwLDEyNCwxLDAsCisgICAgMTI0LDIsMCwxMDAsMywwLDEyNCw0LDAsMTMxLDIsMSwxMjUsNSwwLDEyMSwKKyAgICA0NCwwLDEyNCw1LDAsMTI0LDAsMCwxMDAsMiwwLDYwLDEyNCw0LDAsMTI0LAorICAgIDAsMCwxMDAsMSwwLDYwLDEyNCwyLDAsMTI0LDAsMCwxMDAsNCwwLDYwLAorICAgIDEyNCwzLDAsMTI0LDAsMCwxMDAsNSwwLDYwLDg3LDExMCwxOCwwLDQsMTE2LAorICAgIDUsMCwxMDcsMTAsMCwxMTQsMTkwLDAsMSwxLDEsODksMTEwLDEsMCw4OCwKKyAgICAxMDAsMCwwLDgzLDQxLDYsNzgsMTE0LDIwMywwLDAsMCwxMTQsMjA3LDAsMCwKKyAgICAwLDExNCwxNzAsMCwwLDAsMTE0LDIxMCwwLDAsMCwxMTQsMjQ0LDAsMCwwLAorICAgIDQxLDYsMTE0LDkzLDAsMCwwLDExNCwxNzAsMCwwLDAsMjE4LDIwLDgzLDExMSwKKyAgICAxMTcsMTE0LDk5LDEwMSwxMDgsMTAxLDExNSwxMTUsNzAsMTA1LDEwOCwxMDEsNzYsMTExLDk3LDEwMCwKKyAgICAxMDEsMTE0LDIxOCwxNiw4MywxMTEsMTE3LDExNCw5OSwxMDEsNzAsMTA1LDEwOCwxMDEsNzYsMTExLAorICAgIDk3LDEwMCwxMDEsMTE0LDExNCwyMzksMCwwLDAsMTE0LDIwNiwwLDAsMCw0MSw2LAorICAgIDkwLDIsMTEwLDExNSwxMTQsNjcsMCwwLDAsOTAsOCwxMTIsOTcsMTE2LDEwNCwxMTAsCisgICAgOTcsMTA5LDEwMSw5MCw5LDk5LDExMiw5NywxMTYsMTA0LDExMCw5NywxMDksMTAxLDExNCwxNzAsCisgICAgMCwwLDAsMTE0LDE3NywwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLAorICAgIDAsMCwxMTQsNSwwLDAsMCwyMTgsMTQsOTUsMTAyLDEwNSwxMjAsOTUsMTE3LDExMiwKKyAgICA5NSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwxNTIsNCwwLDAsMTE1LDM0LDAsMCwwLAorICAgIDAsMiwxNSwxLDE1LDEsNiwxLDYsMSwxMiwxLDEyLDEsMTgsMiwKKyAgICAxNSwxLDYsMSwyMSwxLDMsMSwxMCwxLDEwLDEsMTAsMSwxNCwxLAorICAgIDEzLDIsMTE0LDgsMSwwLDAsOTksMCwwLDAsMCwwLDAsMCwwLAorICAgIDAsMCwwLDAsNSwwLDAsMCw2NCwwLDAsMCwxMTUsMTgxLDAsMCwKKyAgICAwLDEwMSwwLDAsOTAsMSwwLDEwMCwwLDAsOTAsMiwwLDEwMCwxLDAsCisgICAgOTAsMywwLDEwMSw0LDAsMTAwLDIsMCwxMDAsMywwLDEzMiwwLDAsMTMxLAorICAgIDEsMCw5MCw1LDAsMTAxLDYsMCwxMDAsNCwwLDEwMCw0LDAsMTAwLDUsCisgICAgMCwxMDAsNiwwLDEzMiwyLDAsMTMxLDEsMCw5MCw3LDAsMTAxLDYsMCwKKyAgICAxMDAsNCwwLDEwMCw3LDAsMTAwLDgsMCwxMzIsMSwwLDEzMSwxLDAsOTAsCisgICAgOCwwLDEwMSw2LDAsMTAxLDksMCwxMDAsOSwwLDEwMCwxMCwwLDEzMiwwLAorICAgIDAsMTMxLDEsMCwxMzEsMSwwLDkwLDEwLDAsMTAxLDYsMCwxMDEsOSwwLAorICAgIDEwMCwxMSwwLDEwMCwxMiwwLDEzMiwwLDAsMTMxLDEsMCwxMzEsMSwwLDkwLAorICAgIDExLDAsMTAxLDYsMCwxMDEsOSwwLDEwMCwxMywwLDEwMCwxNCwwLDEzMiwwLAorICAgIDAsMTMxLDEsMCwxMzEsMSwwLDkwLDEyLDAsMTAxLDYsMCwxMDEsOSwwLAorICAgIDEwMCwxNSwwLDEwMCwxNiwwLDEzMiwwLDAsMTMxLDEsMCwxMzEsMSwwLDkwLAorICAgIDEzLDAsMTAwLDQsMCw4Myw0MSwxNywyMTgsMTUsNjYsMTE3LDEwNSwxMDgsMTE2LDEwNSwKKyAgICAxMTAsNzMsMTA5LDExMiwxMTEsMTE0LDExNiwxMDEsMTE0LDEyMiwxNDQsNzcsMTAxLDExNiw5NywzMiwKKyAgICAxMTIsOTcsMTE2LDEwNCwzMiwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwzMiwxMDIsMTExLDExNCwzMiwKKyAgICA5OCwxMTcsMTA1LDEwOCwxMTYsNDUsMTA1LDExMCwzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwxMTUsCisgICAgNDYsMTAsMTAsMzIsMzIsMzIsMzIsNjUsMTA4LDEwOCwzMiwxMDksMTAxLDExNiwxMDQsMTExLAorICAgIDEwMCwxMTUsMzIsOTcsMTE0LDEwMSwzMiwxMDEsMTA1LDExNiwxMDQsMTAxLDExNCwzMiw5OSwxMDgsCisgICAgOTcsMTE1LDExNSwzMiwxMTEsMTE0LDMyLDExNSwxMTYsOTcsMTE2LDEwNSw5OSwzMiwxMDksMTAxLAorICAgIDExNiwxMDQsMTExLDEwMCwxMTUsMzIsMTE2LDExMSwzMiw5NywxMTgsMTExLDEwNSwxMDAsMzIsMTE2LAorICAgIDEwNCwxMDEsMzIsMTEwLDEwMSwxMDEsMTAwLDMyLDExNiwxMTEsMTAsMzIsMzIsMzIsMzIsMTA1LAorICAgIDExMCwxMTUsMTE2LDk3LDExMCwxMTYsMTA1LDk3LDExNiwxMDEsMzIsMTE2LDEwNCwxMDEsMzIsOTksCisgICAgMTA4LDk3LDExNSwxMTUsNDYsMTAsMTAsMzIsMzIsMzIsMzIsOTksMSwwLDAsMCwKKyAgICAwLDAsMCwwLDEsMCwwLDAsMiwwLDAsMCw2NywwLDAsMCwKKyAgICAxMTUsMTYsMCwwLDAsMTAwLDEsMCwxMDYsMCwwLDEyNCwwLDAsMTA2LDEsCisgICAgMCwxMzEsMSwwLDgzLDQxLDIsMTIyLDExNSw4MiwxMDEsMTE2LDExNywxMTQsMTEwLDMyLAorICAgIDExNCwxMDEsMTEyLDExNCwzMiwxMDIsMTExLDExNCwzMiwxMTYsMTA0LDEwMSwzMiwxMDksMTExLDEwMCwKKyAgICAxMTcsMTA4LDEwMSw0NiwxMCwxMCwzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMiw4NCwxMDQsCisgICAgMTAxLDMyLDEwOSwxMDEsMTE2LDEwNCwxMTEsMTAwLDMyLDEwNSwxMTUsMzIsMTAwLDEwMSwxMTIsMTE0LAorICAgIDEwMSw5OSw5NywxMTYsMTAxLDEwMCw0NiwzMiwzMiw4NCwxMDQsMTAxLDMyLDEwNSwxMDksMTEyLAorICAgIDExMSwxMTQsMTE2LDMyLDEwOSw5Nyw5OSwxMDQsMTA1LDExMCwxMDEsMTE0LDEyMSwzMiwxMDAsMTExLAorICAgIDEwMSwxMTUsMzIsMTE2LDEwNCwxMDEsMzIsMTA2LDExMSw5OCwzMiwxMDUsMTE2LDExNSwxMDEsMTA4LAorICAgIDEwMiw0NiwxMCwxMCwzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMiwxMjIsMjQsNjAsMTA5LAorICAgIDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsMTIzLDMzLDExNCwxMjUsMzIsNDAsOTgsMTE3LDEwNSwxMDgsCisgICAgMTE2LDQ1LDEwNSwxMTAsNDEsNjIsNDEsMiwxMTQsNDcsMCwwLDAsMTE0LDU3LDAsCisgICAgMCwwLDQxLDEsMTE0LDE3OCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwKKyAgICAwLDAsMCwxMTQsNSwwLDAsMCwxMTQsMjA0LDAsMCwwLDE4Niw0LDAsCisgICAgMCwxMTUsMiwwLDAsMCwwLDcsMTIyLDI3LDY2LDExNywxMDUsMTA4LDExNiwxMDUsCisgICAgMTEwLDczLDEwOSwxMTIsMTExLDExNCwxMTYsMTAxLDExNCw0NiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwKKyAgICA5NSwxMTQsMTAxLDExMiwxMTQsNzgsOTksNCwwLDAsMCwwLDAsMCwwLDQsCisgICAgMCwwLDAsNSwwLDAsMCw2NywwLDAsMCwxMTUsNTgsMCwwLDAsCisgICAgMTI0LDIsMCwxMDAsMCwwLDEwNyw5LDAsMTE0LDE2LDAsMTAwLDAsMCw4MywKKyAgICAxMTYsMCwwLDEwNiwxLDAsMTI0LDEsMCwxMzEsMSwwLDExNCw1MCwwLDExNiwKKyAgICAyLDAsMTI0LDEsMCwxMjQsMCwwLDEwMCwxLDAsMTAwLDIsMCwxMzEsMiwKKyAgICAxLDgzLDEwMCwwLDAsODMsMTAwLDAsMCw4Myw0MSwzLDc4LDExNCwyMTcsMCwKKyAgICAwLDAsMTIyLDgsOTgsMTE3LDEwNSwxMDgsMTE2LDQ1LDEwNSwxMTAsNDEsMywxMTQsMTA2LAorICAgIDAsMCwwLDkwLDEwLDEwNSwxMTUsOTUsOTgsMTE3LDEwNSwxMDgsMTE2LDEwNSwxMTAsMTE0LAorICAgIDE3NCwwLDAsMCw0MSw0LDIxOCwzLDk5LDEwOCwxMTUsMTE0LDE1OSwwLDAsMCwKKyAgICAxMTQsMzUsMCwwLDAsMjE4LDYsMTE2LDk3LDExNCwxMDMsMTAxLDExNiwxMTQsNCwwLAorICAgIDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwyMTgsOSwxMDIsMTA1LAorICAgIDExMCwxMDAsOTUsMTE1LDExMiwxMDEsOTksMTk1LDQsMCwwLDExNSwxMCwwLDAsMCwKKyAgICAwLDIsMTIsMSw0LDEsMTUsMSwxOSwyLDEyMiwyNSw2NiwxMTcsMTA1LDEwOCwKKyAgICAxMTYsMTA1LDExMCw3MywxMDksMTEyLDExMSwxMTQsMTE2LDEwMSwxMTQsNDYsMTAyLDEwNSwxMTAsMTAwLAorICAgIDk1LDExNSwxMTIsMTAxLDk5LDk5LDMsMCwwLDAsMCwwLDAsMCw0LDAsCisgICAgMCwwLDMsMCwwLDAsNjcsMCwwLDAsMTE1LDQxLDAsMCwwLDEyNCwKKyAgICAwLDAsMTA2LDAsMCwxMjQsMSwwLDEyNCwyLDAsMTMxLDIsMCwxMjUsMywKKyAgICAwLDEyNCwzLDAsMTAwLDEsMCwxMDcsOSwwLDExNCwzNywwLDEyNCwzLDAsCisgICAgMTA2LDEsMCw4MywxMDAsMSwwLDgzLDQxLDIsMTIyLDE3NSw3MCwxMDUsMTEwLDEwMCwKKyAgICAzMiwxMTYsMTA0LDEwMSwzMiw5OCwxMTcsMTA1LDEwOCwxMTYsNDUsMTA1LDExMCwzMiwxMDksMTExLAorICAgIDEwMCwxMTcsMTA4LDEwMSw0NiwxMCwxMCwzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMiw3MywKKyAgICAxMDIsMzIsMzksMTEyLDk3LDExNiwxMDQsMzksMzIsMTA1LDExNSwzMiwxMDEsMTE4LDEwMSwxMTQsCisgICAgMzIsMTE1LDExMiwxMDEsOTksMTA1LDEwMiwxMDUsMTAxLDEwMCwzMiwxMTYsMTA0LDEwMSwxMTAsMzIsCisgICAgMTE2LDEwNCwxMDEsMzIsMTE1LDEwMSw5NywxMTQsOTksMTA0LDMyLDEwNSwxMTUsMzIsOTksMTExLAorICAgIDExMCwxMTUsMTA1LDEwMCwxMDEsMTE0LDEwMSwxMDAsMzIsOTcsMzIsMTAyLDk3LDEwNSwxMDgsMTE3LAorICAgIDExNCwxMDEsNDYsMTAsMTAsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMzIsODQsMTA0LDEwNSwKKyAgICAxMTUsMzIsMTA5LDEwMSwxMTYsMTA0LDExMSwxMDAsMzIsMTA1LDExNSwzMiwxMDAsMTAxLDExMiwxMTQsCisgICAgMTAxLDk5LDk3LDExNiwxMDEsMTAwLDQ2LDMyLDMyLDg1LDExNSwxMDEsMzIsMTAyLDEwNSwxMTAsCisgICAgMTAwLDk1LDExNSwxMTIsMTAxLDk5LDQwLDQxLDMyLDEwNSwxMTAsMTE1LDExNiwxMDEsOTcsMTAwLAorICAgIDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDc4LDQxLDIsMTE0LDEyLAorICAgIDEsMCwwLDExNCwxNzAsMCwwLDAsNDEsNCwxMTQsMTAsMSwwLDAsMTE0LAorICAgIDE1OSwwLDAsMCwxMTQsMzUsMCwwLDAsMTE0LDE3NywwLDAsMCwxMTQsNCwKKyAgICAwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwyMTgsMTEsMTAyLAorICAgIDEwNSwxMTAsMTAwLDk1LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDIwNCw0LDAsMCwxMTUsNCwKKyAgICAwLDAsMCwwLDksMTgsMSwxMjIsMjcsNjYsMTE3LDEwNSwxMDgsMTE2LDEwNSwxMTAsCisgICAgNzMsMTA5LDExMiwxMTEsMTE0LDExNiwxMDEsMTE0LDQ2LDEwMiwxMDUsMTEwLDEwMCw5NSwxMDksMTExLAorICAgIDEwMCwxMTcsMTA4LDEwMSw5OSwyLDAsMCwwLDAsMCwwLDAsMywwLDAsCisgICAgMCwxMCwwLDAsMCw2NywwLDAsMCwxMTUsNTksMCwwLDAsMTE2LDAsCisgICAgMCwxMjQsMSwwLDEzMSwxLDAsMTQzLDIzLDAsMSwxMTYsMSwwLDExNiwyLAorICAgIDAsMTA2LDMsMCwxMjQsMSwwLDEzMSwyLDAsMTI1LDIsMCw4NywxMDAsMSwKKyAgICAwLDgxLDg4LDEyNCwwLDAsMTI0LDIsMCw5NSw0LDAsMTAwLDIsMCwxMjQsCisgICAgMiwwLDk1LDUsMCwxMjQsMiwwLDgzLDQxLDMsMTIyLDIzLDc2LDExMSw5NywKKyAgICAxMDAsMzIsOTcsMzIsOTgsMTE3LDEwNSwxMDgsMTE2LDQ1LDEwNSwxMTAsMzIsMTA5LDExMSwxMDAsCisgICAgMTE3LDEwOCwxMDEsNDYsNzgsMTE0LDMwLDAsMCwwLDQxLDYsMTE0LDY5LDAsMCwKKyAgICAwLDExNCwxMTQsMCwwLDAsMTE0LDEwNiwwLDAsMCw5MCwxMiwxMDUsMTEwLDEwNSwKKyAgICAxMTYsOTUsOTgsMTE3LDEwNSwxMDgsMTE2LDEwNSwxMTAsMTE0LDIwMywwLDAsMCwxMTQsMjQ5LAorICAgIDAsMCwwLDQxLDMsMTE0LDEwLDEsMCwwLDExNCwxNTksMCwwLDAsMTE0LAogICAgIDE3OCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwKLSAgICAwLDAsMCwyMTgsMTEsMTAyLDEwNSwxMTAsMTAwLDk1LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLAotICAgIDI1MSw0LDAsMCwxMTUsNCwwLDAsMCwwLDksMTgsMSwxMjIsMjcsNjYsCi0gICAgMTE3LDEwNSwxMDgsMTE2LDEwNSwxMTAsNzMsMTA5LDExMiwxMTEsMTE0LDExNiwxMDEsMTE0LDQ2LDEwMiwKLSAgICAxMDUsMTEwLDEwMCw5NSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw5OSwyLDAsMCwwLDAsCi0gICAgMCwwLDAsMywwLDAsMCwxMCwwLDAsMCw2NywwLDAsMCwxMTUsCi0gICAgNTksMCwwLDAsMTE2LDAsMCwxMjQsMSwwLDEzMSwxLDAsMTQzLDIzLDAsCi0gICAgMSwxMTYsMSwwLDExNiwyLDAsMTA2LDMsMCwxMjQsMSwwLDEzMSwyLDAsCi0gICAgMTI1LDIsMCw4NywxMDAsMSwwLDgxLDg4LDEyNCwwLDAsMTI0LDIsMCw5NSwKLSAgICA0LDAsMTAwLDIsMCwxMjQsMiwwLDk1LDUsMCwxMjQsMiwwLDgzLDQxLAotICAgIDMsMTIyLDIzLDc2LDExMSw5NywxMDAsMzIsOTcsMzIsOTgsMTE3LDEwNSwxMDgsMTE2LDQ1LAotICAgIDEwNSwxMTAsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsNDYsNzgsMTE0LDMwLDAsMCwwLAotICAgIDQxLDYsMTE0LDY5LDAsMCwwLDExNCwxMTQsMCwwLDAsMTE0LDEwNiwwLDAsCi0gICAgMCw5MCwxMiwxMDUsMTEwLDEwNSwxMTYsOTUsOTgsMTE3LDEwNSwxMDgsMTE2LDEwNSwxMTAsMTE0LAotICAgIDIwNSwwLDAsMCwxMTQsMjUxLDAsMCwwLDQxLDMsMTE0LDEyLDEsMCwwLAotICAgIDExNCwxNTksMCwwLDAsMTE0LDE4MCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsCi0gICAgNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsNSwxLDAsMCw3LDUsCi0gICAgMCwwLDExNSwxMCwwLDAsMCwwLDYsMTMsMSwyNCwxLDksMSw5LAotICAgIDEsMTIyLDI3LDY2LDExNywxMDUsMTA4LDExNiwxMDUsMTEwLDczLDEwOSwxMTIsMTExLDExNCwxMTYsCi0gICAgMTAxLDExNCw0NiwxMDgsMTExLDk3LDEwMCw5NSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw5OSwyLAotICAgIDAsMCwwLDAsMCwwLDAsMiwwLDAsMCwxLDAsMCwwLDY3LAotICAgIDAsMCwwLDExNSw0LDAsMCwwLDEwMCwxLDAsODMsNDEsMiwxMjIsNTcsCi0gICAgODIsMTAxLDExNiwxMTcsMTE0LDExMCwzMiw3OCwxMTEsMTEwLDEwMSwzMiw5NywxMTUsMzIsOTgsCi0gICAgMTE3LDEwNSwxMDgsMTE2LDQ1LDEwNSwxMTAsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMTE1LDMyLAotICAgIDEwMCwxMTEsMzIsMTEwLDExMSwxMTYsMzIsMTA0LDk3LDExOCwxMDEsMzIsOTksMTExLDEwMCwxMDEsCi0gICAgMzIsMTExLDk4LDEwNiwxMDEsOTksMTE2LDExNSw0Niw3OCwxMTQsNCwwLDAsMCw0MSwKLSAgICAyLDExNCwxMiwxLDAsMCwxMTQsMTU5LDAsMCwwLDExNCw0LDAsMCwwLAotICAgIDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDIxOCw4LDEwMywxMDEsMTE2LDk1LAotICAgIDk5LDExMSwxMDAsMTAxLDE5LDUsMCwwLDExNSwyLDAsMCwwLDAsNCwxMjIsCi0gICAgMjQsNjYsMTE3LDEwNSwxMDgsMTE2LDEwNSwxMTAsNzMsMTA5LDExMiwxMTEsMTE0LDExNiwxMDEsMTE0LAotICAgIDQ2LDEwMywxMDEsMTE2LDk1LDk5LDExMSwxMDAsMTAxLDk5LDIsMCwwLDAsMCwwLAotICAgIDAsMCwyLDAsMCwwLDEsMCwwLDAsNjcsMCwwLDAsMTE1LDQsCi0gICAgMCwwLDAsMTAwLDEsMCw4Myw0MSwyLDEyMiw1Niw4MiwxMDEsMTE2LDExNywxMTQsCi0gICAgMTEwLDMyLDc4LDExMSwxMTAsMTAxLDMyLDk3LDExNSwzMiw5OCwxMTcsMTA1LDEwOCwxMTYsNDUsCi0gICAgMTA1LDExMCwzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwxMTUsMzIsMTAwLDExMSwzMiwxMTAsMTExLAotICAgIDExNiwzMiwxMDQsOTcsMTE4LDEwMSwzMiwxMTUsMTExLDExNywxMTQsOTksMTAxLDMyLDk5LDExMSwKLSAgICAxMDAsMTAxLDQ2LDc4LDExNCw0LDAsMCwwLDQxLDIsMTE0LDEyLDEsMCwwLAorICAgIDAsMCwwLDExNCwzLDEsMCwwLDIxNiw0LDAsMCwxMTUsMTAsMCwwLAorICAgIDAsMCw2LDEzLDEsMjQsMSw5LDEsOSwxLDEyMiwyNyw2NiwxMTcsMTA1LAorICAgIDEwOCwxMTYsMTA1LDExMCw3MywxMDksMTEyLDExMSwxMTQsMTE2LDEwMSwxMTQsNDYsMTA4LDExMSw5NywKKyAgICAxMDAsOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsOTksMiwwLDAsMCwwLDAsMCwKKyAgICAwLDIsMCwwLDAsMSwwLDAsMCw2NywwLDAsMCwxMTUsNCwwLAorICAgIDAsMCwxMDAsMSwwLDgzLDQxLDIsMTIyLDU3LDgyLDEwMSwxMTYsMTE3LDExNCwxMTAsCisgICAgMzIsNzgsMTExLDExMCwxMDEsMzIsOTcsMTE1LDMyLDk4LDExNywxMDUsMTA4LDExNiw0NSwxMDUsCisgICAgMTEwLDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDExNSwzMiwxMDAsMTExLDMyLDExMCwxMTEsMTE2LAorICAgIDMyLDEwNCw5NywxMTgsMTAxLDMyLDk5LDExMSwxMDAsMTAxLDMyLDExMSw5OCwxMDYsMTAxLDk5LAorICAgIDExNiwxMTUsNDYsNzgsMTE0LDQsMCwwLDAsNDEsMiwxMTQsMTAsMSwwLDAsCiAgICAgMTE0LDE1OSwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsCi0gICAgNSwwLDAsMCwyMTgsMTAsMTAzLDEwMSwxMTYsOTUsMTE1LDExMSwxMTcsMTE0LDk5LDEwMSwKLSAgICAyNSw1LDAsMCwxMTUsMiwwLDAsMCwwLDQsMTIyLDI2LDY2LDExNywxMDUsCi0gICAgMTA4LDExNiwxMDUsMTEwLDczLDEwOSwxMTIsMTExLDExNCwxMTYsMTAxLDExNCw0NiwxMDMsMTAxLDExNiwKLSAgICA5NSwxMTUsMTExLDExNywxMTQsOTksMTAxLDk5LDIsMCwwLDAsMCwwLDAsMCwKLSAgICAyLDAsMCwwLDEsMCwwLDAsNjcsMCwwLDAsMTE1LDQsMCwwLAotICAgIDAsMTAwLDEsMCw4Myw0MSwyLDEyMiw1Miw4MiwxMDEsMTE2LDExNywxMTQsMTEwLDMyLAotICAgIDcwLDk3LDEwOCwxMTUsMTAxLDMyLDk3LDExNSwzMiw5OCwxMTcsMTA1LDEwOCwxMTYsNDUsMTA1LAotICAgIDExMCwzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwxMTUsMzIsOTcsMTE0LDEwMSwzMiwxMTAsMTAxLAotICAgIDExOCwxMDEsMTE0LDMyLDExMiw5Nyw5OSwxMDcsOTcsMTAzLDEwMSwxMTUsNDYsNzAsMTE0LDQsCi0gICAgMCwwLDAsNDEsMiwxMTQsMTIsMSwwLDAsMTE0LDE1OSwwLDAsMCwxMTQsCi0gICAgNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsMjIwLAotICAgIDAsMCwwLDMxLDUsMCwwLDExNSwyLDAsMCwwLDAsNCwxMjIsMjYsCi0gICAgNjYsMTE3LDEwNSwxMDgsMTE2LDEwNSwxMTAsNzMsMTA5LDExMiwxMTEsMTE0LDExNiwxMDEsMTE0LDQ2LAotICAgIDEwNSwxMTUsOTUsMTEyLDk3LDk5LDEwNyw5NywxMDMsMTAxLDQxLDE0LDExNCw1NywwLDAsCi0gICAgMCwxMTQsNTYsMCwwLDAsMTE0LDU4LDAsMCwwLDExNCw1OSwwLDAsMCwKLSAgICAyMTgsMTIsMTE1LDExNiw5NywxMTYsMTA1LDk5LDEwOSwxMDEsMTE2LDEwNCwxMTEsMTAwLDExNCwyMDYsCi0gICAgMCwwLDAsMjE4LDExLDk5LDEwOCw5NywxMTUsMTE1LDEwOSwxMDEsMTE2LDEwNCwxMTEsMTAwLAotICAgIDExNCwxNCwxLDAsMCwxMTQsMTUsMSwwLDAsMTE0LDE2MiwwLDAsMCwxMTQsCi0gICAgNSwxLDAsMCwxMTQsMTYsMSwwLDAsMTE0LDE3LDEsMCwwLDExNCwyMjAsCi0gICAgMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwKLSAgICAwLDAsMTE0LDUsMCwwLDAsMTE0LDExLDEsMCwwLDIyNCw0LDAsMCwKLSAgICAxMTUsMjgsMCwwLDAsMTIsNyw2LDIsMTgsOSwzLDEsMjEsOCwzLAotICAgIDEsMTgsMTEsMywxLDIxLDExLDMsMSwyMSw1LDMsMSwyMSw1LDMsCi0gICAgMSwxMTQsMTEsMSwwLDAsOTksMCwwLDAsMCwwLDAsMCwwLDAsCi0gICAgMCwwLDAsNSwwLDAsMCw2NCwwLDAsMCwxMTUsMTkzLDAsMCwwLAotICAgIDEwMSwwLDAsOTAsMSwwLDEwMCwwLDAsOTAsMiwwLDEwMCwxLDAsOTAsCi0gICAgMywwLDEwMSw0LDAsMTAwLDIsMCwxMDAsMywwLDEzMiwwLDAsMTMxLDEsCi0gICAgMCw5MCw1LDAsMTAxLDYsMCwxMDAsNCwwLDEwMCw0LDAsMTAwLDUsMCwKLSAgICAxMDAsNiwwLDEzMiwyLDAsMTMxLDEsMCw5MCw3LDAsMTAxLDYsMCwxMDAsCi0gICAgNCwwLDEwMCw3LDAsMTAwLDgsMCwxMzIsMSwwLDEzMSwxLDAsOTAsOCwKLSAgICAwLDEwMSw0LDAsMTAwLDksMCwxMDAsMTAsMCwxMzIsMCwwLDEzMSwxLDAsCi0gICAgOTAsOSwwLDEwMSw2LDAsMTAwLDExLDAsMTAwLDEyLDAsMTMyLDAsMCwxMzEsCi0gICAgMSwwLDkwLDEwLDAsMTAxLDYsMCwxMDEsMTEsMCwxMDAsMTMsMCwxMDAsMTQsCi0gICAgMCwxMzIsMCwwLDEzMSwxLDAsMTMxLDEsMCw5MCwxMiwwLDEwMSw2LDAsCi0gICAgMTAxLDExLDAsMTAwLDE1LDAsMTAwLDE2LDAsMTMyLDAsMCwxMzEsMSwwLDEzMSwKLSAgICAxLDAsOTAsMTMsMCwxMDEsNiwwLDEwMSwxMSwwLDEwMCwxNywwLDEwMCwxOCwKLSAgICAwLDEzMiwwLDAsMTMxLDEsMCwxMzEsMSwwLDkwLDE0LDAsMTAwLDQsMCwKLSAgICA4Myw0MSwxOSwyMTgsMTQsNzAsMTE0LDExMSwxMjIsMTAxLDExMCw3MywxMDksMTEyLDExMSwxMTQsCi0gICAgMTE2LDEwMSwxMTQsMTIyLDE0Miw3NywxMDEsMTE2LDk3LDMyLDExMiw5NywxMTYsMTA0LDMyLDEwNSwKLSAgICAxMDksMTEyLDExMSwxMTQsMTE2LDMyLDEwMiwxMTEsMTE0LDMyLDEwMiwxMTQsMTExLDEyMiwxMDEsMTEwLAotICAgIDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDExNSw0NiwxMCwxMCwzMiwzMiwzMiwzMiw2NSwKLSAgICAxMDgsMTA4LDMyLDEwOSwxMDEsMTE2LDEwNCwxMTEsMTAwLDExNSwzMiw5NywxMTQsMTAxLDMyLDEwMSwKLSAgICAxMDUsMTE2LDEwNCwxMDEsMTE0LDMyLDk5LDEwOCw5NywxMTUsMTE1LDMyLDExMSwxMTQsMzIsMTE1LAotICAgIDExNiw5NywxMTYsMTA1LDk5LDMyLDEwOSwxMDEsMTE2LDEwNCwxMTEsMTAwLDExNSwzMiwxMTYsMTExLAotICAgIDMyLDk3LDExOCwxMTEsMTA1LDEwMCwzMiwxMTYsMTA0LDEwMSwzMiwxMTAsMTAxLDEwMSwxMDAsMzIsCi0gICAgMTE2LDExMSwxMCwzMiwzMiwzMiwzMiwxMDUsMTEwLDExNSwxMTYsOTcsMTEwLDExNiwxMDUsOTcsCi0gICAgMTE2LDEwMSwzMiwxMTYsMTA0LDEwMSwzMiw5OSwxMDgsOTcsMTE1LDExNSw0NiwxMCwxMCwzMiwKLSAgICAzMiwzMiwzMiw5OSwxLDAsMCwwLDAsMCwwLDAsMSwwLDAsMCwKLSAgICAyLDAsMCwwLDY3LDAsMCwwLDExNSwxNiwwLDAsMCwxMDAsMSwwLAotICAgIDEwNiwwLDAsMTI0LDAsMCwxMDYsMSwwLDEzMSwxLDAsODMsNDEsMiwxMjIsCi0gICAgMTE1LDgyLDEwMSwxMTYsMTE3LDExNCwxMTAsMzIsMTE0LDEwMSwxMTIsMTE0LDMyLDEwMiwxMTEsMTE0LAotICAgIDMyLDExNiwxMDQsMTAxLDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDQ2LDEwLDEwLDMyLDMyLAotICAgIDMyLDMyLDMyLDMyLDMyLDMyLDg0LDEwNCwxMDEsMzIsMTA5LDEwMSwxMTYsMTA0LDExMSwxMDAsCi0gICAgMzIsMTA1LDExNSwzMiwxMDAsMTAxLDExMiwxMTQsMTAxLDk5LDk3LDExNiwxMDEsMTAwLDQ2LDMyLAotICAgIDMyLDg0LDEwNCwxMDEsMzIsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsMzIsMTA5LDk3LDk5LDEwNCwKLSAgICAxMDUsMTEwLDEwMSwxMTQsMTIxLDMyLDEwMCwxMTEsMTAxLDExNSwzMiwxMTYsMTA0LDEwMSwzMiwxMDYsCi0gICAgMTExLDk4LDMyLDEwNSwxMTYsMTE1LDEwMSwxMDgsMTAyLDQ2LDEwLDEwLDMyLDMyLDMyLDMyLAotICAgIDMyLDMyLDMyLDMyLDEyMiwyMiw2MCwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwzMiwxMjMsMzMsCi0gICAgMTE0LDEyNSwzMiw0MCwxMDIsMTE0LDExMSwxMjIsMTAxLDExMCw0MSw2Miw0MSwyLDExNCw0NywKLSAgICAwLDAsMCwxMTQsNTcsMCwwLDAsNDEsMSwyMTgsMSwxMDksMTE0LDQsMCwKLSAgICAwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMTE0LDIwNiwwLDAsCi0gICAgMCw0Nyw1LDAsMCwxMTUsMiwwLDAsMCwwLDcsMTIyLDI2LDcwLDExNCwKLSAgICAxMTEsMTIyLDEwMSwxMTAsNzMsMTA5LDExMiwxMTEsMTE0LDExNiwxMDEsMTE0LDQ2LDEwOSwxMTEsMTAwLAotICAgIDExNywxMDgsMTAxLDk1LDExNCwxMDEsMTEyLDExNCw3OCw5OSw0LDAsMCwwLDAsMCwKLSAgICAwLDAsNCwwLDAsMCw1LDAsMCwwLDY3LDAsMCwwLDExNSw0MiwKLSAgICAwLDAsMCwxMTYsMCwwLDEwNiwxLDAsMTI0LDEsMCwxMzEsMSwwLDExNCwKLSAgICAzNCwwLDExNiwyLDAsMTI0LDEsMCwxMjQsMCwwLDEwMCwxLDAsMTAwLDIsCi0gICAgMCwxMzEsMiwxLDgzLDEwMCwwLDAsODMsMTAwLDAsMCw4Myw0MSwzLDc4LAotICAgIDExNCwyMTgsMCwwLDAsOTAsNiwxMDIsMTE0LDExMSwxMjIsMTAxLDExMCw0MSwzLDExNCwKLSAgICAxMDYsMCwwLDAsMTE0LDE2MywwLDAsMCwxMTQsMTc0LDAsMCwwLDQxLDQsCi0gICAgMTE0LDEyLDEsMCwwLDExNCwxNTksMCwwLDAsMTE0LDM1LDAsMCwwLDExNCwKLSAgICAxMywxLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwKLSAgICAwLDAsMCwxMTQsMTQsMSwwLDAsNTYsNSwwLDAsMTE1LDYsMCwwLAotICAgIDAsMCwyLDE1LDEsMTksMiwxMjIsMjQsNzAsMTE0LDExMSwxMjIsMTAxLDExMCw3MywKLSAgICAxMDksMTEyLDExMSwxMTQsMTE2LDEwMSwxMTQsNDYsMTAyLDEwNSwxMTAsMTAwLDk1LDExNSwxMTIsMTAxLAotICAgIDk5LDk5LDMsMCwwLDAsMCwwLDAsMCwzLDAsMCwwLDIsMCwKLSAgICAwLDAsNjcsMCwwLDAsMTE1LDIzLDAsMCwwLDExNiwwLDAsMTA2LDEsCi0gICAgMCwxMjQsMSwwLDEzMSwxLDAsMTE0LDE5LDAsMTI0LDAsMCw4MywxMDAsMSwKLSAgICAwLDgzLDQxLDIsMTIyLDkzLDcwLDEwNSwxMTAsMTAwLDMyLDk3LDMyLDEwMiwxMTQsMTExLAotICAgIDEyMiwxMDEsMTEwLDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDQ2LDEwLDEwLDMyLDMyLDMyLAotICAgIDMyLDMyLDMyLDMyLDMyLDg0LDEwNCwxMDUsMTE1LDMyLDEwOSwxMDEsMTE2LDEwNCwxMTEsMTAwLAotICAgIDMyLDEwNSwxMTUsMzIsMTAwLDEwMSwxMTIsMTE0LDEwMSw5OSw5NywxMTYsMTAxLDEwMCw0NiwzMiwKLSAgICAzMiw4NSwxMTUsMTAxLDMyLDEwMiwxMDUsMTEwLDEwMCw5NSwxMTUsMTEyLDEwMSw5OSw0MCw0MSwKLSAgICAzMiwxMDUsMTEwLDExNSwxMTYsMTAxLDk3LDEwMCw0NiwxMCwxMCwzMiwzMiwzMiwzMiwzMiwKLSAgICAzMiwzMiwzMiw3OCw0MSwyLDExNCwxMDYsMCwwLDAsMTE0LDE2MywwLDAsMCwKLSAgICA0MSwzLDExNCwxMiwxLDAsMCwxMTQsMTU5LDAsMCwwLDExNCwzNSwwLDAsCi0gICAgMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwKLSAgICAxMTQsMTUsMSwwLDAsNjMsNSwwLDAsMTE1LDIsMCwwLDAsMCw3LAotICAgIDEyMiwyNiw3MCwxMTQsMTExLDEyMiwxMDEsMTEwLDczLDEwOSwxMTIsMTExLDExNCwxMTYsMTAxLDExNCwKLSAgICA0NiwxMDIsMTA1LDExMCwxMDAsOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsOTksMSwwLDAsCi0gICAgMCwwLDAsMCwwLDMsMCwwLDAsNCwwLDAsMCw2NywwLDAsCi0gICAgMCwxMTUsOTUsMCwwLDAsMTI0LDAsMCwxMDYsMCwwLDEwNiwxLDAsMTI1LAotICAgIDEsMCwxMTYsMiwwLDEwNiwzLDAsMTI0LDEsMCwxMzEsMSwwLDExNSw1NywKLSAgICAwLDExNiw0LDAsMTAwLDEsMCwxMDYsNSwwLDEyNCwxLDAsMTMxLDEsMCwKLSAgICAxMDAsMiwwLDEyNCwxLDAsMTMxLDEsMSwxMzAsMSwwLDExMCwwLDAsMTE2LAotICAgIDYsMCwxMTYsMiwwLDEwNiw3LDAsMTI0LDEsMCwxMzEsMiwwLDEyNSwyLAotICAgIDAsMTE2LDgsMCwxMjQsMiwwLDEyNCwwLDAsMTA2LDksMCwxMzEsMiwwLAotICAgIDEsMTAwLDAsMCw4Myw0MSwzLDc4LDEyMiwyNywxMjMsMzMsMTE0LDEyNSwzMiwxMDUsCi0gICAgMTE1LDMyLDExMCwxMTEsMTE2LDMyLDk3LDMyLDEwMiwxMTQsMTExLDEyMiwxMDEsMTEwLDMyLDEwOSwKLSAgICAxMTEsMTAwLDExNywxMDgsMTAxLDExNCw2NywwLDAsMCw0MSwxMCwxMTQsMjA5LDAsMCwKLSAgICAwLDExNCw2NywwLDAsMCwxMTQsMTA2LDAsMCwwLDExNCwxNjMsMCwwLDAsCi0gICAgMTE0LDE1NCwwLDAsMCwxMTQsNDcsMCwwLDAsMTE0LDExNCwwLDAsMCwyMTgsCi0gICAgMTcsMTAzLDEwMSwxMTYsOTUsMTAyLDExNCwxMTEsMTIyLDEwMSwxMTAsOTUsMTExLDk4LDEwNiwxMDEsCi0gICAgOTksMTE2LDExNCwxNzYsMCwwLDAsMTE0LDYzLDAsMCwwLDQxLDMsMTE0LDE4MCwKLSAgICAwLDAsMCwxMTQsNjcsMCwwLDAsMTE0LDE5NSwwLDAsMCwxMTQsNCwwLAotICAgIDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsMiwxLDAsCi0gICAgMCw3Miw1LDAsMCwxMTUsMTIsMCwwLDAsMCwyLDEyLDEsMTUsMSwKLSAgICAxOCwxLDEyLDEsMTgsMSwxMjIsMjYsNzAsMTE0LDExMSwxMjIsMTAxLDExMCw3MywxMDksCi0gICAgMTEyLDExMSwxMTQsMTE2LDEwMSwxMTQsNDYsMTAxLDEyMCwxMDEsOTksOTUsMTA5LDExMSwxMDAsMTE3LAotICAgIDEwOCwxMDEsOTksMiwwLDAsMCwwLDAsMCwwLDIsMCwwLDAsMywKLSAgICAwLDAsMCw2NywwLDAsMCwxMTUsMTMsMCwwLDAsMTE2LDAsMCwxMjQsCi0gICAgMCwwLDEyNCwxLDAsMTMxLDIsMCw4Myw0MSwxLDEyMiw5NSw3NiwxMTEsOTcsCi0gICAgMTAwLDMyLDk3LDMyLDEwMiwxMTQsMTExLDEyMiwxMDEsMTEwLDMyLDEwOSwxMTEsMTAwLDExNywxMDgsCi0gICAgMTAxLDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDg0LDEwNCwxMDUsMTE1LAotICAgIDMyLDEwOSwxMDEsMTE2LDEwNCwxMTEsMTAwLDMyLDEwNSwxMTUsMzIsMTAwLDEwMSwxMTIsMTE0LDEwMSwKLSAgICA5OSw5NywxMTYsMTAxLDEwMCw0NiwzMiwzMiw4NSwxMTUsMTAxLDMyLDEwMSwxMjAsMTAxLDk5LAotICAgIDk1LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDQwLDQxLDMyLDEwNSwxMTAsMTE1LDExNiwxMDEsOTcsCi0gICAgMTAwLDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDQxLDEsMTE0LDE4MSwKLSAgICAwLDAsMCw0MSwyLDExNCwxMiwxLDAsMCwxMTQsMTU5LDAsMCwwLDExNCwKLSAgICA0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDExNCw1LAotICAgIDEsMCwwLDgxLDUsMCwwLDExNSwyLDAsMCwwLDAsNywxMjIsMjYsCi0gICAgNzAsMTE0LDExMSwxMjIsMTAxLDExMCw3MywxMDksMTEyLDExMSwxMTQsMTE2LDEwMSwxMTQsNDYsMTA4LAotICAgIDExMSw5NywxMDAsOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsOTksMiwwLDAsMCwwLAotICAgIDAsMCwwLDIsMCwwLDAsMiwwLDAsMCw2NywwLDAsMCwxMTUsCi0gICAgMTMsMCwwLDAsMTE2LDAsMCwxMDYsMSwwLDEyNCwxLDAsMTMxLDEsMCwKLSAgICA4Myw0MSwxLDEyMiw0NSw4MiwxMDEsMTE2LDExNywxMTQsMTEwLDMyLDExNiwxMDQsMTAxLDMyLAotICAgIDk5LDExMSwxMDAsMTAxLDMyLDExMSw5OCwxMDYsMTAxLDk5LDExNiwzMiwxMDIsMTExLDExNCwzMiwKLSAgICAxMTYsMTA0LDEwMSwzMiwxMDIsMTE0LDExMSwxMjIsMTAxLDExMCwzMiwxMDksMTExLDEwMCwxMTcsMTA4LAotICAgIDEwMSw0Niw0MSwyLDExNCwxMDYsMCwwLDAsMTE0LDIyLDEsMCwwLDQxLDIsCi0gICAgMTE0LDEyLDEsMCwwLDExNCwxNTksMCwwLDAsMTE0LDQsMCwwLDAsMTE0LAotICAgIDQsMCwwLDAsMTE0LDUsMCwwLDAsMTE0LDE2LDEsMCwwLDkwLDUsCi0gICAgMCwwLDExNSwyLDAsMCwwLDAsNCwxMjIsMjMsNzAsMTE0LDExMSwxMjIsMTAxLAotICAgIDExMCw3MywxMDksMTEyLDExMSwxMTQsMTE2LDEwMSwxMTQsNDYsMTAzLDEwMSwxMTYsOTUsOTksMTExLAotICAgIDEwMCwxMDEsOTksMiwwLDAsMCwwLDAsMCwwLDIsMCwwLDAsMSwKLSAgICAwLDAsMCw2NywwLDAsMCwxMTUsNCwwLDAsMCwxMDAsMSwwLDgzLAotICAgIDQxLDIsMTIyLDU0LDgyLDEwMSwxMTYsMTE3LDExNCwxMTAsMzIsNzgsMTExLDExMCwxMDEsMzIsCi0gICAgOTcsMTE1LDMyLDEwMiwxMTQsMTExLDEyMiwxMDEsMTEwLDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLAotICAgIDExNSwzMiwxMDAsMTExLDMyLDExMCwxMTEsMTE2LDMyLDEwNCw5NywxMTgsMTAxLDMyLDExNSwxMTEsCi0gICAgMTE3LDExNCw5OSwxMDEsMzIsOTksMTExLDEwMCwxMDEsNDYsNzgsMTE0LDQsMCwwLDAsCi0gICAgNDEsMiwxMTQsMTIsMSwwLDAsMTE0LDE1OSwwLDAsMCwxMTQsNCwwLDAsCi0gICAgMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsMTcsMSwwLDAsCi0gICAgOTYsNSwwLDAsMTE1LDIsMCwwLDAsMCw0LDEyMiwyNSw3MCwxMTQsMTExLAotICAgIDEyMiwxMDEsMTEwLDczLDEwOSwxMTIsMTExLDExNCwxMTYsMTAxLDExNCw0NiwxMDMsMTAxLDExNiw5NSwKLSAgICAxMTUsMTExLDExNywxMTQsOTksMTAxLDk5LDIsMCwwLDAsMCwwLDAsMCwyLAotICAgIDAsMCwwLDIsMCwwLDAsNjcsMCwwLDAsMTE1LDEzLDAsMCwwLAotICAgIDExNiwwLDAsMTA2LDEsMCwxMjQsMSwwLDEzMSwxLDAsODMsNDEsMSwxMjIsCi0gICAgNDYsODIsMTAxLDExNiwxMTcsMTE0LDExMCwzMiw4NCwxMTQsMTE3LDEwMSwzMiwxMDUsMTAyLDMyLAotICAgIDExNiwxMDQsMTAxLDMyLDEwMiwxMTQsMTExLDEyMiwxMDEsMTEwLDMyLDEwOSwxMTEsMTAwLDExNywxMDgsCi0gICAgMTAxLDMyLDEwNSwxMTUsMzIsOTcsMzIsMTEyLDk3LDk5LDEwNyw5NywxMDMsMTAxLDQ2LDQxLAotICAgIDIsMTE0LDEwNiwwLDAsMCw5MCwxNywxMDUsMTE1LDk1LDEwMiwxMTQsMTExLDEyMiwxMDEsCi0gICAgMTEwLDk1LDExMiw5Nyw5OSwxMDcsOTcsMTAzLDEwMSw0MSwyLDExNCwxMiwxLDAsMCwKLSAgICAxMTQsMTU5LDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCwKLSAgICA1LDAsMCwwLDExNCwyMjAsMCwwLDAsMTAyLDUsMCwwLDExNSwyLDAsCi0gICAgMCwwLDAsNCwxMjIsMjUsNzAsMTE0LDExMSwxMjIsMTAxLDExMCw3MywxMDksMTEyLDExMSwKLSAgICAxMTQsMTE2LDEwMSwxMTQsNDYsMTA1LDExNSw5NSwxMTIsOTcsOTksMTA3LDk3LDEwMywxMDEsNDEsCi0gICAgMTUsMTE0LDU3LDAsMCwwLDExNCw1NiwwLDAsMCwxMTQsNTgsMCwwLDAsCi0gICAgMTE0LDU5LDAsMCwwLDExNCwxOCwxLDAsMCwxMTQsMjA2LDAsMCwwLDExNCwKLSAgICAxOSwxLDAsMCwxMTQsMTQsMSwwLDAsMTE0LDE1LDEsMCwwLDExNCwyLAotICAgIDEsMCwwLDExNCw1LDEsMCwwLDExNCwxNjUsMCwwLDAsMTE0LDE2LDEsCi0gICAgMCwwLDExNCwxNywxLDAsMCwxMTQsMjIwLDAsMCwwLDExNCw0LDAsMCwKLSAgICAwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLAotICAgIDExNCwyMCwxLDAsMCwzOCw1LDAsMCwxMTUsMjgsMCwwLDAsMTIsNywKLSAgICA2LDIsMTgsOSwzLDEsMjEsNiwzLDEsMTgsOCwxOCw5LDE4LDksCi0gICAgMywxLDIxLDUsMywxLDIxLDUsMywxLDExNCwyMCwxLDAsMCw5OSwKLSAgICAwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCw1LDAsMCwwLAotICAgIDY0LDAsMCwwLDExNSwxMjEsMCwwLDAsMTAxLDAsMCw5MCwxLDAsMTAwLAotICAgIDAsMCw5MCwyLDAsMTAwLDEsMCw5MCwzLDAsMTAwLDIsMCw5MCw0LAotICAgIDAsMTAwLDMsMCw5MCw1LDAsMTAwLDQsMCw5MCw2LDAsMTAxLDcsMCwKLSAgICAxMDAsNSwwLDEwMCw2LDAsMTMyLDAsMCwxMzEsMSwwLDkwLDgsMCwxMDEsCi0gICAgNywwLDEwMCw3LDAsMTAwLDgsMCwxMzIsMCwwLDEzMSwxLDAsOTAsOSwKLSAgICAwLDEwMSw3LDAsMTAwLDksMCwxMDAsOSwwLDEwMCwxMCwwLDEwMCwxMSwwLAotICAgIDEzMiwyLDAsMTMxLDEsMCw5MCwxMCwwLDEwMSw3LDAsMTAwLDksMCwxMDAsCi0gICAgMTIsMCwxMDAsMTMsMCwxMzIsMSwwLDEzMSwxLDAsOTAsMTEsMCwxMDAsOSwKLSAgICAwLDgzLDQxLDE0LDIxOCwyMSw4NywxMDUsMTEwLDEwMCwxMTEsMTE5LDExNSw4MiwxMDEsMTAzLAotICAgIDEwNSwxMTUsMTE2LDExNCwxMjEsNzAsMTA1LDExMCwxMDAsMTAxLDExNCwxMjIsNjIsNzcsMTAxLDExNiwKLSAgICA5NywzMiwxMTIsOTcsMTE2LDEwNCwzMiwxMDIsMTA1LDExMCwxMDAsMTAxLDExNCwzMiwxMDIsMTExLAotICAgIDExNCwzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwxMTUsMzIsMTAwLDEwMSw5OSwxMDgsOTcsMTE0LAotICAgIDEwMSwxMDAsMzIsMTA1LDExMCwzMiwxMTYsMTA0LDEwMSwzMiw4NywxMDUsMTEwLDEwMCwxMTEsMTE5LAotICAgIDExNSwzMiwxMTQsMTAxLDEwMywxMDUsMTE1LDExNiwxMTQsMTIxLDQ2LDEyMiw1OSw4MywxMTEsMTAyLAotICAgIDExNiwxMTksOTcsMTE0LDEwMSw5Miw4MCwxMjEsMTE2LDEwNCwxMTEsMTEwLDkyLDgwLDEyMSwxMTYsCi0gICAgMTA0LDExMSwxMTAsNjcsMTExLDExNCwxMDEsOTIsMTIzLDExNSwxMjEsMTE1LDk1LDExOCwxMDEsMTE0LAotICAgIDExNSwxMDUsMTExLDExMCwxMjUsOTIsNzcsMTExLDEwMCwxMTcsMTA4LDEwMSwxMTUsOTIsMTIzLDEwMiwKLSAgICAxMTcsMTA4LDEwOCwxMTAsOTcsMTA5LDEwMSwxMjUsMTIyLDY1LDgzLDExMSwxMDIsMTE2LDExOSw5NywKLSAgICAxMTQsMTAxLDkyLDgwLDEyMSwxMTYsMTA0LDExMSwxMTAsOTIsODAsMTIxLDExNiwxMDQsMTExLDExMCwKLSAgICA2NywxMTEsMTE0LDEwMSw5MiwxMjMsMTE1LDEyMSwxMTUsOTUsMTE4LDEwMSwxMTQsMTE1LDEwNSwxMTEsCi0gICAgMTEwLDEyNSw5Miw3NywxMTEsMTAwLDExNywxMDgsMTAxLDExNSw5MiwxMjMsMTAyLDExNywxMDgsMTA4LAotICAgIDExMCw5NywxMDksMTAxLDEyNSw5Miw2OCwxMDEsOTgsMTE3LDEwMyw3MCw5OSwyLDAsMCwKLSAgICAwLDAsMCwwLDAsMiwwLDAsMCwxMSwwLDAsMCw2NywwLDAsCi0gICAgMCwxMTUsNjcsMCwwLDAsMTIxLDIzLDAsMTE2LDAsMCwxMDYsMSwwLDExNiwKLSAgICAwLDAsMTA2LDIsMCwxMjQsMSwwLDEzMSwyLDAsODMsODcsMTEwLDM3LDAsCi0gICAgNCwxMTYsMywwLDEwNywxMCwwLDExNCw2MiwwLDEsMSwxLDExNiwwLDAsCi0gICAgMTA2LDEsMCwxMTYsMCwwLDEwNiw0LDAsMTI0LDEsMCwxMzEsMiwwLDgzLAotICAgIDg5LDExMCwxLDAsODgsMTAwLDAsMCw4Myw0MSwxLDc4LDQxLDUsMjE4LDcsCi0gICAgOTUsMTE5LDEwNSwxMTAsMTE0LDEwMSwxMDMsOTAsNyw3OSwxMTIsMTAxLDExMCw3NSwxMDEsMTIxLAotICAgIDkwLDE3LDcyLDc1LDY5LDg5LDk1LDY3LDg1LDgyLDgyLDY5LDc4LDg0LDk1LDg1LAotICAgIDgzLDY5LDgyLDExNCw0MCwwLDAsMCw5MCwxOCw3Miw3NSw2OSw4OSw5NSw3NiwKLSAgICA3OSw2Nyw2NSw3Niw5NSw3Nyw2NSw2Nyw3Miw3Myw3OCw2OSw0MSwyLDExNCwxMiwKLSAgICAxLDAsMCwyMTgsMywxMDcsMTAxLDEyMSwxMTQsNCwwLDAsMCwxMTQsNCwwLAotICAgIDAsMCwxMTQsNSwwLDAsMCwyMTgsMTQsOTUsMTExLDExMiwxMDEsMTEwLDk1LDExNCwKLSAgICAxMDEsMTAzLDEwNSwxMTUsMTE2LDExNCwxMjEsMTIxLDUsMCwwLDExNSw4LDAsMCwwLAotICAgIDAsMiwzLDEsMjMsMSwxMywxLDEyMiwzNiw4NywxMDUsMTEwLDEwMCwxMTEsMTE5LAotICAgIDExNSw4MiwxMDEsMTAzLDEwNSwxMTUsMTE2LDExNCwxMjEsNzAsMTA1LDExMCwxMDAsMTAxLDExNCw0NiwKLSAgICA5NSwxMTEsMTEyLDEwMSwxMTAsOTUsMTE0LDEwMSwxMDMsMTA1LDExNSwxMTYsMTE0LDEyMSw5OSwyLAotICAgIDAsMCwwLDAsMCwwLDAsNiwwLDAsMCwxNiwwLDAsMCw2NywKLSAgICAwLDAsMCwxMTUsMTQyLDAsMCwwLDEyNCwwLDAsMTA2LDAsMCwxMTQsMjEsCi0gICAgMCwxMjQsMCwwLDEwNiwxLDAsMTI1LDIsMCwxMTAsOSwwLDEyNCwwLDAsCi0gICAgMTA2LDIsMCwxMjUsMiwwLDEyNCwyLDAsMTA2LDMsMCwxMDAsMSwwLDEyNCwKLSAgICAxLDAsMTAwLDIsMCwxMTYsNCwwLDEwNiw1LDAsMTAwLDAsMCwxMDAsMywKLSAgICAwLDEzMywyLDAsMjUsMTMxLDAsMiwxMjUsMywwLDEyMSw0NiwwLDEyNCwwLAotICAgIDAsMTA2LDYsMCwxMjQsMywwLDEzMSwxLDAsMTQzLDI1LDAsMTI1LDQsMCwKLSAgICAxMTYsNywwLDEwNiw4LDAsMTI0LDQsMCwxMDAsNCwwLDEzMSwyLDAsMTI1LAotICAgIDUsMCw4NywxMDAsMCwwLDgxLDg4LDg3LDExMCwyMiwwLDQsMTE2LDksMCwKLSAgICAxMDcsMTAsMCwxMTQsMTM3LDAsMSwxLDEsMTAwLDAsMCw4Myw4OSwxMTAsMSwKLSAgICAwLDg4LDEyNCw1LDAsODMsNDEsNSw3OCwxMTQsMTU5LDAsMCwwLDkwLDExLAotICAgIDExNSwxMjEsMTE1LDk1LDExOCwxMDEsMTE0LDExNSwxMDUsMTExLDExMCwxMTQsMTM3LDAsMCwwLAotICAgIDExNCwzMCwwLDAsMCw0MSwxMCwyMTgsMTEsNjgsNjksNjYsODUsNzEsOTUsNjYsCi0gICAgODUsNzMsNzYsNjgsMjE4LDE4LDgyLDY5LDcxLDczLDgzLDg0LDgyLDg5LDk1LDc1LAotICAgIDY5LDg5LDk1LDY4LDY5LDY2LDg1LDcxLDIxOCwxMiw4Miw2OSw3MSw3Myw4Myw4NCwKLSAgICA4Miw4OSw5NSw3NSw2OSw4OSwxMTQsNDcsMCwwLDAsMTE0LDcsMCwwLDAsCi0gICAgMjE4LDcsMTE4LDEwMSwxMTQsMTE1LDEwNSwxMTEsMTEwLDExNCwyNiwxLDAsMCwxMTQsMjQsCi0gICAgMSwwLDAsOTAsMTAsODEsMTE3LDEwMSwxMTQsMTIxLDg2LDk3LDEwOCwxMTcsMTAxLDExNCwKLSAgICA0MCwwLDAsMCw0MSw2LDExNCwxMiwxLDAsMCwxMTQsMTU5LDAsMCwwLAotICAgIDkwLDEyLDExNCwxMDEsMTAzLDEwNSwxMTUsMTE2LDExNCwxMjEsOTUsMTA3LDEwMSwxMjEsMTE0LDI1LAotICAgIDEsMCwwLDkwLDQsMTA0LDEwNywxMDEsMTIxLDIxOCw4LDEwMiwxMDUsMTA4LDEwMSwxMTIsCi0gICAgOTcsMTE2LDEwNCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLAotICAgIDAsMCwyMTgsMTYsOTUsMTE1LDEwMSw5NywxMTQsOTksMTA0LDk1LDExNCwxMDEsMTAzLDEwNSwKLSAgICAxMTUsMTE2LDExNCwxMjEsMTI4LDUsMCwwLDExNSwyMiwwLDAsMCwwLDIsOSwKLSAgICAxLDEyLDIsOSwxLDE1LDEsMjIsMSwzLDEsMTgsMSwyOCwxLDEzLAotICAgIDEsOSwxLDEyMiwzOCw4NywxMDUsMTEwLDEwMCwxMTEsMTE5LDExNSw4MiwxMDEsMTAzLDEwNSwKLSAgICAxMTUsMTE2LDExNCwxMjEsNzAsMTA1LDExMCwxMDAsMTAxLDExNCw0Niw5NSwxMTUsMTAxLDk3LDExNCwKLSAgICA5OSwxMDQsOTUsMTE0LDEwMSwxMDMsMTA1LDExNSwxMTYsMTE0LDEyMSw3OCw5OSw0LDAsMCwKLSAgICAwLDAsMCwwLDAsOCwwLDAsMCwxNCwwLDAsMCw2NywwLDAsCi0gICAgMCwxMTUsMTU1LDAsMCwwLDEyNCwwLDAsMTA2LDAsMCwxMjQsMSwwLDEzMSwKLSAgICAxLDAsMTI1LDQsMCwxMjQsNCwwLDEwMCwwLDAsMTA3LDgsMCwxMTQsMzEsCi0gICAgMCwxMDAsMCwwLDgzLDEyMSwxNCwwLDExNiwxLDAsMTI0LDQsMCwxMzEsMSwKLSAgICAwLDEsODcsMTEwLDIyLDAsNCwxMTYsMiwwLDEwNywxMCwwLDExNCw2OSwwLAotICAgIDEsMSwxLDEwMCwwLDAsODMsODksMTEwLDEsMCw4OCwxMjAsNzgsMCwxMTYsCi0gICAgMywwLDEzMSwwLDAsNjgsOTMsNjcsMCw5MiwyLDAsMTI1LDUsMCwxMjUsCi0gICAgNiwwLDEyNCw0LDAsMTA2LDQsMCwxMTYsNSwwLDEyNCw2LDAsMTMxLDEsCi0gICAgMCwxMzEsMSwwLDExNCw4MCwwLDExNiw2LDAsMTI0LDEsMCwxMjQsNSwwLAotICAgIDEyNCwxLDAsMTI0LDQsMCwxMzEsMiwwLDEwMCwxLDAsMTI0LDQsMCwxMzEsCi0gICAgMiwxLDEyNSw3LDAsMTI0LDcsMCw4MywxMTMsODAsMCw4NywxMDAsMCwwLAotICAgIDgzLDQxLDIsNzgsMTE0LDIxOCwwLDAsMCw0MSw3LDExNCwzMiwxLDAsMCwKLSAgICAxMTQsMzksMCwwLDAsMTE0LDQwLDAsMCwwLDExNCwyNDEsMCwwLDAsMTE0LAotICAgIDIzMSwwLDAsMCwxMTQsMjMyLDAsMCwwLDExNCwxNzQsMCwwLDAsNDEsOCwKLSAgICAxMTQsMTIsMSwwLDAsMTE0LDE1OSwwLDAsMCwxMTQsMzUsMCwwLDAsMTE0LAotICAgIDEzLDEsMCwwLDExNCwzMSwxLDAsMCwxMTQsMTcwLDAsMCwwLDExNCwxMjYsCi0gICAgMCwwLDAsMTE0LDE3OCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLAotICAgIDAsMCwxMTQsNSwwLDAsMCwxMTQsMTQsMSwwLDAsMTQzLDUsMCwwLAotICAgIDExNSwyNCwwLDAsMCwwLDIsMTUsMSwxMiwxLDQsMSwzLDEsMTQsCi0gICAgMSwxMywxLDksMSwyMiwxLDIxLDEsMjEsMSw5LDEsMTIyLDMxLDg3LAotICAgIDEwNSwxMTAsMTAwLDExMSwxMTksMTE1LDgyLDEwMSwxMDMsMTA1LDExNSwxMTYsMTE0LDEyMSw3MCwxMDUsCi0gICAgMTEwLDEwMCwxMDEsMTE0LDQ2LDEwMiwxMDUsMTEwLDEwMCw5NSwxMTUsMTEyLDEwMSw5OSw5OSwzLAotICAgIDAsMCwwLDAsMCwwLDAsNCwwLDAsMCwzLDAsMCwwLDY3LAotICAgIDAsMCwwLDExNSw0NSwwLDAsMCwxMjQsMCwwLDEwNiwwLDAsMTI0LDEsCi0gICAgMCwxMjQsMiwwLDEzMSwyLDAsMTI1LDMsMCwxMjQsMywwLDEwMCwxLDAsCi0gICAgMTA3LDksMCwxMTQsMzcsMCwxMjQsMywwLDEwNiwxLDAsODMsMTAwLDEsMCwKLSAgICA4MywxMDAsMSwwLDgzLDQxLDIsMTIyLDEwOCw3MCwxMDUsMTEwLDEwMCwzMiwxMDksMTExLAotICAgIDEwMCwxMTcsMTA4LDEwMSwzMiwxMTAsOTcsMTA5LDEwMSwxMDAsMzIsMTA1LDExMCwzMiwxMTYsMTA0LAotICAgIDEwMSwzMiwxMTQsMTAxLDEwMywxMDUsMTE1LDExNiwxMTQsMTIxLDQ2LDEwLDEwLDMyLDMyLDMyLAotICAgIDMyLDMyLDMyLDMyLDMyLDg0LDEwNCwxMDUsMTE1LDMyLDEwOSwxMDEsMTE2LDEwNCwxMTEsMTAwLAotICAgIDMyLDEwNSwxMTUsMzIsMTAwLDEwMSwxMTIsMTE0LDEwMSw5OSw5NywxMTYsMTAxLDEwMCw0NiwzMiwKLSAgICAzMiw4NSwxMTUsMTAxLDMyLDEwMSwxMjAsMTAxLDk5LDk1LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLAotICAgIDQwLDQxLDMyLDEwNSwxMTAsMTE1LDExNiwxMDEsOTcsMTAwLDQ2LDEwLDEwLDMyLDMyLDMyLAotICAgIDMyLDMyLDMyLDMyLDMyLDc4LDQxLDIsMTE0LDE0LDEsMCwwLDExNCwxNzAsMCwKLSAgICAwLDAsNDEsNCwxMTQsMTIsMSwwLDAsMTE0LDE1OSwwLDAsMCwxMTQsMzUsCi0gICAgMCwwLDAsMTE0LDE3OCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLAotICAgIDAsMCwxMTQsNSwwLDAsMCwxMTQsMTUsMSwwLDAsMTU4LDUsMCwwLAotICAgIDExNSw4LDAsMCwwLDAsNywxOCwxLDEyLDEsNywyLDEyMiwzMyw4NywKLSAgICAxMDUsMTEwLDEwMCwxMTEsMTE5LDExNSw4MiwxMDEsMTAzLDEwNSwxMTUsMTE2LDExNCwxMjEsNzAsMTA1LAotICAgIDExMCwxMDAsMTAxLDExNCw0NiwxMDIsMTA1LDExMCwxMDAsOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsCi0gICAgNDEsMTIsMTE0LDU3LDAsMCwwLDExNCw1NiwwLDAsMCwxMTQsNTgsMCwwLAotICAgIDAsMTE0LDU5LDAsMCwwLDExNCwyOSwxLDAsMCwxMTQsMjgsMSwwLDAsCi0gICAgMTE0LDI3LDEsMCwwLDExNCwxOSwxLDAsMCwxMTQsMjYsMSwwLDAsMTE0LAotICAgIDMyLDEsMCwwLDExNCwxNCwxLDAsMCwxMTQsMTUsMSwwLDAsMTE0LDQsCi0gICAgMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwKLSAgICAwLDAsMTE0LDIzLDEsMCwwLDEwOSw1LDAsMCwxMTUsMjAsMCwwLDAsCi0gICAgMTIsMiw2LDMsNiwzLDYsMiw2LDIsMTgsNywxOCwxNSwzLDEsCi0gICAgMjEsMTQsMywxLDExNCwyMywxLDAsMCw5OSwwLDAsMCwwLDAsMCwKLSAgICAwLDAsMCwwLDAsMCwyLDAsMCwwLDY0LDAsMCwwLDExNSw1MiwKLSAgICAwLDAsMCwxMDEsMCwwLDkwLDEsMCwxMDAsMCwwLDkwLDIsMCwxMDAsCi0gICAgMSwwLDkwLDMsMCwxMDAsMiwwLDEwMCwzLDAsMTMyLDAsMCw5MCw0LAotICAgIDAsMTAwLDQsMCwxMDAsNSwwLDEzMiwwLDAsOTAsNSwwLDEwMSw2LDAsCi0gICAgOTAsNywwLDEwMCw2LDAsODMsNDEsNywyMTgsMTMsOTUsNzYsMTExLDk3LDEwMCwKLSAgICAxMDEsMTE0LDY2LDk3LDExNSwxMDUsOTksMTE1LDEyMiw4Myw2Niw5NywxMTUsMTAxLDMyLDk5LAotICAgIDEwOCw5NywxMTUsMTE1LDMyLDExMSwxMDIsMzIsOTksMTExLDEwOSwxMDksMTExLDExMCwzMiw5OSwKLSAgICAxMTEsMTAwLDEwMSwzMiwxMTAsMTAxLDEwMSwxMDAsMTAxLDEwMCwzMiw5OCwxMjEsMzIsOTgsMTExLAotICAgIDExNiwxMDQsMzIsODMsMTExLDExNywxMTQsOTksMTAxLDc2LDExMSw5NywxMDAsMTAxLDExNCwzMiwKLSAgICA5NywxMTAsMTAwLDEwLDMyLDMyLDMyLDMyLDgzLDExMSwxMTcsMTE0LDk5LDEwMSwxMDgsMTAxLAotICAgIDExNSwxMTUsNzAsMTA1LDEwOCwxMDEsNzYsMTExLDk3LDEwMCwxMDEsMTE0LDQ2LDk5LDIsMCwKLSAgICAwLDAsMCwwLDAsMCw1LDAsMCwwLDMsMCwwLDAsNjcsMCwKLSAgICAwLDAsMTE1LDg4LDAsMCwwLDExNiwwLDAsMTI0LDAsMCwxMDYsMSwwLAotICAgIDEyNCwxLDAsMTMxLDEsMCwxMzEsMSwwLDEwMCwxLDAsMjUsMTI1LDIsMCwKLSAgICAxMjQsMiwwLDEwNiwyLDAsMTAwLDIsMCwxMDAsMSwwLDEzMSwyLDAsMTAwLAotICAgIDMsMCwyNSwxMjUsMywwLDEyNCwxLDAsMTA2LDMsMCwxMDAsMiwwLDEzMSwKLSAgICAxLDAsMTAwLDQsMCwyNSwxMjUsNCwwLDEyNCwzLDAsMTAwLDUsMCwxMDcsCi0gICAgMiwwLDExMSw4NywwLDEyNCw0LDAsMTAwLDUsMCwxMDcsMywwLDgzLDQxLAotICAgIDYsMTIyLDE0MSw2NywxMTEsMTEwLDk5LDExNCwxMDEsMTE2LDEwMSwzMiwxMDUsMTA5LDExMiwxMDgsCi0gICAgMTAxLDEwOSwxMDEsMTEwLDExNiw5NywxMTYsMTA1LDExMSwxMTAsMzIsMTExLDEwMiwzMiw3MywxMTAsCi0gICAgMTE1LDExMiwxMDEsOTksMTE2LDc2LDExMSw5NywxMDAsMTAxLDExNCw0NiwxMDUsMTE1LDk1LDExMiwKLSAgICA5Nyw5OSwxMDcsOTcsMTAzLDEwMSwzMiw5OCwxMjEsMzIsOTksMTA0LDEwMSw5OSwxMDcsMTA1LAotICAgIDExMCwxMDMsMzIsMTA1LDEwMiwxMCwzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMiwxMTYsMTA0LAotICAgIDEwMSwzMiwxMTIsOTcsMTE2LDEwNCwzMiwxMTQsMTAxLDExNiwxMTcsMTE0LDExMCwxMDEsMTAwLDMyLAotICAgIDk4LDEyMSwzMiwxMDMsMTAxLDExNiw5NSwxMDIsMTA1LDEwOCwxMDEsMTEwLDk3LDEwOSwxMDEsMzIsCi0gICAgMTA0LDk3LDExNSwzMiw5NywzMiwxMDIsMTA1LDEwOCwxMDEsMTEwLDk3LDEwOSwxMDEsMzIsMTExLAotICAgIDEwMiwzMiwzOSw5NSw5NSwxMDUsMTEwLDEwNSwxMTYsOTUsOTUsNDYsMTEyLDEyMSwzOSw0NiwKLSAgICAxMTQsMjksMCwwLDAsMTE0LDExNiwwLDAsMCwxMTQsODQsMCwwLDAsMTE0LAotICAgIDExNSwwLDAsMCwxMTQsNzIsMCwwLDAsNDEsNCwxMTQsMzgsMCwwLDAsCi0gICAgMTE0LDIzOSwwLDAsMCwxMTQsMzQsMCwwLDAsMTE0LDMyLDAsMCwwLDQxLAotICAgIDUsMTE0LDcxLDAsMCwwLDExNCwxNTksMCwwLDAsMTE0LDEzMSwwLDAsMCwKLSAgICA5MCwxMywxMDIsMTA1LDEwOCwxMDEsMTEwLDk3LDEwOSwxMDEsOTUsOTgsOTcsMTE1LDEwMSw5MCwKLSAgICA5LDExNiw5NywxMDUsMTA4LDk1LDExMCw5NywxMDksMTAxLDExNCw0LDAsMCwwLDExNCwKLSAgICA0LDAsMCwwLDExNCw1LDAsMCwwLDExNCwyMjAsMCwwLDAsMTc3LDUsCi0gICAgMCwwLDExNSw4LDAsMCwwLDAsMywyNSwxLDIyLDEsMTksMSwxMjIsCi0gICAgMjQsOTUsNzYsMTExLDk3LDEwMCwxMDEsMTE0LDY2LDk3LDExNSwxMDUsOTksMTE1LDQ2LDEwNSwKLSAgICAxMTUsOTUsMTEyLDk3LDk5LDEwNyw5NywxMDMsMTAxLDk5LDIsMCwwLDAsMCwwLAotICAgIDAsMCwzLDAsMCwwLDQsMCwwLDAsNjcsMCwwLDAsMTE1LDgwLAotICAgIDAsMCwwLDEyNCwwLDAsMTA2LDAsMCwxMjQsMSwwLDEwNiwxLDAsMTMxLAotICAgIDEsMCwxMjUsMiwwLDEyNCwyLDAsMTAwLDEsMCwxMDcsOCwwLDExNCw1NywKLSAgICAwLDExNiwyLDAsMTAwLDIsMCwxMDYsMywwLDEyNCwxLDAsMTA2LDEsMCwKLSAgICAxMzEsMSwwLDEzMSwxLDAsMTMwLDEsMCwxMTAsMCwwLDExNiw0LDAsMTE2LAotICAgIDUsMCwxMjQsMiwwLDEyNCwxLDAsMTA2LDYsMCwxMzEsMywwLDEsMTAwLAotICAgIDEsMCw4Myw0MSwzLDEyMiwxOSw2OSwxMjAsMTAxLDk5LDExNywxMTYsMTAxLDMyLDExNiwKLSAgICAxMDQsMTAxLDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDQ2LDc4LDEyMiw1Miw5OSw5NywxMTAsCi0gICAgMTEwLDExMSwxMTYsMzIsMTA4LDExMSw5NywxMDAsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsCi0gICAgMTIzLDMzLDExNCwxMjUsMzIsMTE5LDEwNCwxMDEsMTEwLDMyLDEwMywxMDEsMTE2LDk1LDk5LDExMSwKLSAgICAxMDAsMTAxLDQwLDQxLDMyLDExNCwxMDEsMTE2LDExNywxMTQsMTEwLDExNSwzMiw3OCwxMTEsMTEwLAotICAgIDEwMSw0MSw3LDExNCwxNiwxLDAsMCwxMTQsNTcsMCwwLDAsMTE0LDE1NCwwLAotICAgIDAsMCwxMTQsNDcsMCwwLDAsMTE0LDExNCwwLDAsMCwxMTQsMTc2LDAsMCwKLSAgICAwLDExNCw2MywwLDAsMCw0MSwzLDExNCw3MSwwLDAsMCwxMTQsMTgwLDAsCi0gICAgMCwwLDExNCwxOTUsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLAotICAgIDAsMTE0LDUsMCwwLDAsMTE0LDIsMSwwLDAsMTg1LDUsMCwwLDExNSwKLSAgICAxMCwwLDAsMCwwLDIsMTgsMSwxMiwxLDksMSwxOCwxLDEyMiwyNSwKLSAgICA5NSw3NiwxMTEsOTcsMTAwLDEwMSwxMTQsNjYsOTcsMTE1LDEwNSw5OSwxMTUsNDYsMTAxLDEyMCwKLSAgICAxMDEsOTksOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsNzgsNDEsOCwxMTQsNTcsMCwwLAotICAgIDAsMTE0LDU2LDAsMCwwLDExNCw1OCwwLDAsMCwxMTQsNTksMCwwLDAsCi0gICAgMTE0LDIyMCwwLDAsMCwxMTQsMiwxLDAsMCwxMTQsMTgxLDAsMCwwLDExNCwKLSAgICA1LDEsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LAotICAgIDAsMCwwLDExNCw1LDAsMCwwLDExNCwzMywxLDAsMCwxNzIsNSwwLAotICAgIDAsMTE1LDgsMCwwLDAsMTIsMyw2LDIsMTIsOCwxMiw4LDExNCwzMywKLSAgICAxLDAsMCw5OSwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwKLSAgICA0LDAsMCwwLDY0LDAsMCwwLDExNSwxMDYsMCwwLDAsMTAxLDAsMCwKLSAgICA5MCwxLDAsMTAwLDAsMCw5MCwyLDAsMTAwLDEsMCwxMDAsMiwwLDEzMiwKLSAgICAwLDAsOTAsMywwLDEwMCwzLDAsMTAwLDQsMCwxMzIsMCwwLDkwLDQsCi0gICAgMCwxMDAsNSwwLDEwMCw2LDAsMTMyLDAsMCw5MCw1LDAsMTAwLDcsMCwKLSAgICAxMDAsOCwwLDEzMiwwLDAsOTAsNiwwLDEwMCw5LDAsMTAwLDEwLDAsMTMyLAotICAgIDAsMCw5MCw3LDAsMTAwLDExLDAsMTAwLDE4LDAsMTAwLDEzLDAsMTAwLDE0LAotICAgIDAsMTMyLDAsMSw5MCw4LDAsMTAwLDE1LDAsMTAwLDE2LDAsMTMyLDAsMCwKLSAgICA5MCw5LDAsMTAwLDE3LDAsODMsNDEsMTksMjE4LDEyLDgzLDExMSwxMTcsMTE0LDk5LAotICAgIDEwMSw3NiwxMTEsOTcsMTAwLDEwMSwxMTQsOTksMiwwLDAsMCwwLDAsMCwwLAotICAgIDIsMCwwLDAsMSwwLDAsMCw2NywwLDAsMCwxMTUsMTAsMCwwLAotICAgIDAsMTE2LDAsMCwxMzAsMSwwLDEwMCwxLDAsODMsNDEsMiwxMjIsMTc4LDc5LAotICAgIDExMiwxMTYsMTA1LDExMSwxMTAsOTcsMTA4LDMyLDEwOSwxMDEsMTE2LDEwNCwxMTEsMTAwLDMyLDExNiwKLSAgICAxMDQsOTcsMTE2LDMyLDExNCwxMDEsMTE2LDExNywxMTQsMTEwLDExNSwzMiwxMTYsMTA0LDEwMSwzMiwKLSAgICAxMDksMTExLDEwMCwxMDUsMTAyLDEwNSw5OSw5NywxMTYsMTA1LDExMSwxMTAsMzIsMTE2LDEwNSwxMDksCi0gICAgMTAxLDMyLDQwLDk3LDExMCwzMiwxMDUsMTEwLDExNiw0MSwzMiwxMDIsMTExLDExNCwzMiwxMTYsCi0gICAgMTA0LDEwMSwxMCwzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMiwxMTUsMTEyLDEwMSw5OSwxMDUsCi0gICAgMTAyLDEwNSwxMDEsMTAwLDMyLDExMiw5NywxMTYsMTA0LDQ0LDMyLDExOSwxMDQsMTAxLDExNCwxMDEsCi0gICAgMzIsMTEyLDk3LDExNiwxMDQsMzIsMTA1LDExNSwzMiw5NywzMiwxMTUsMTE2LDExNCw0NiwxMCwKLSAgICAxMCwzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMiw4Miw5NywxMDUsMTE1LDEwMSwxMTUsMzIsCi0gICAgNzMsNzksNjksMTE0LDExNCwxMTEsMTE0LDMyLDExOSwxMDQsMTAxLDExMCwzMiwxMTYsMTA0LDEwMSwKLSAgICAzMiwxMTIsOTcsMTE2LDEwNCwzMiw5OSw5NywxMTAsMTEwLDExMSwxMTYsMzIsOTgsMTAxLDMyLAotICAgIDEwNCw5NywxMTAsMTAwLDEwOCwxMDEsMTAwLDQ2LDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLAotICAgIDMyLDc4LDQxLDEsMjE4LDcsNzMsNzksNjksMTE0LDExNCwxMTEsMTE0LDQxLDIsMTE0LAotICAgIDcxLDAsMCwwLDExNCwzNSwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwKLSAgICAwLDAsMCwxMTQsNSwwLDAsMCwyMTgsMTAsMTEyLDk3LDExNiwxMDQsOTUsMTA5LAotICAgIDExNiwxMDUsMTA5LDEwMSwxOTgsNSwwLDAsMTE1LDIsMCwwLDAsMCw2LDEyMiwKLSAgICAyMyw4MywxMTEsMTE3LDExNCw5OSwxMDEsNzYsMTExLDk3LDEwMCwxMDEsMTE0LDQ2LDExMiw5NywKLSAgICAxMTYsMTA0LDk1LDEwOSwxMTYsMTA1LDEwOSwxMDEsOTksMiwwLDAsMCwwLDAsMCwKLSAgICAwLDIsMCwwLDAsMywwLDAsMCw2NywwLDAsMCwxMTUsMjAsMCwKLSAgICAwLDAsMTA1LDEsMCwxMjQsMCwwLDEwNiwwLDAsMTI0LDEsMCwxMzEsMSwKLSAgICAwLDEwMCwxLDAsNTQsODMsNDEsMiw5NywxNzAsMSwwLDAsNzksMTEyLDExNiwKLSAgICAxMDUsMTExLDExMCw5NywxMDgsMzIsMTA5LDEwMSwxMTYsMTA0LDExMSwxMDAsMzIsMTE0LDEwMSwxMTYsCi0gICAgMTE3LDExNCwxMTAsMTA1LDExMCwxMDMsMzIsOTcsMzIsMTA5LDEwMSwxMTYsOTcsMTAwLDk3LDExNiwKLSAgICA5NywzMiwxMDAsMTA1LDk5LDExNiwzMiwxMDIsMTExLDExNCwzMiwxMTYsMTA0LDEwMSwzMiwxMTUsCi0gICAgMTEyLDEwMSw5OSwxMDUsMTAyLDEwNSwxMDEsMTAwLDMyLDExMiw5NywxMTYsMTA0LDEwLDMyLDMyLAotICAgIDMyLDMyLDMyLDMyLDMyLDMyLDExNiwxMTEsMzIsOTgsMTIxLDMyLDExNiwxMDQsMTAxLDMyLAotICAgIDExMiw5NywxMTYsMTA0LDMyLDQwLDExNSwxMTYsMTE0LDQxLDQ2LDEwLDMyLDMyLDMyLDMyLAotICAgIDMyLDMyLDMyLDMyLDgwLDExMSwxMTUsMTE1LDEwNSw5OCwxMDgsMTAxLDMyLDEwNywxMDEsMTIxLAotICAgIDExNSw1OCwxMCwzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMiw0NSwzMiwzOSwxMDksMTE2LAotICAgIDEwNSwxMDksMTAxLDM5LDMyLDQwLDEwOSw5NywxMTAsMTAwLDk3LDExNiwxMTEsMTE0LDEyMSw0MSwKLSAgICAzMiwxMDUsMTE1LDMyLDExNiwxMDQsMTAxLDMyLDExMCwxMTcsMTA5LDEwMSwxMTQsMTA1LDk5LDMyLAotICAgIDExNiwxMDUsMTA5LDEwMSwxMTUsMTE2LDk3LDEwOSwxMTIsMzIsMTExLDEwMiwzMiwxMDgsOTcsMTE1LAotICAgIDExNiwzMiwxMTUsMTExLDExNywxMTQsOTksMTAxLDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLAotICAgIDMyLDMyLDMyLDk5LDExMSwxMDAsMTAxLDMyLDEwOSwxMTEsMTAwLDEwNSwxMDIsMTA1LDk5LDk3LAotICAgIDExNiwxMDUsMTExLDExMCw1OSwxMCwzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMiw0NSwzMiwKLSAgICAzOSwxMTUsMTA1LDEyMiwxMDEsMzksMzIsNDAsMTExLDExMiwxMTYsMTA1LDExMSwxMTAsOTcsMTA4LAotICAgIDQxLDMyLDEwNSwxMTUsMzIsMTE2LDEwNCwxMDEsMzIsMTE1LDEwNSwxMjIsMTAxLDMyLDEwNSwxMTAsCi0gICAgMzIsOTgsMTIxLDExNiwxMDEsMTE1LDMyLDExMSwxMDIsMzIsMTE2LDEwNCwxMDEsMzIsMTE1LDExMSwKLSAgICAxMTcsMTE0LDk5LDEwMSwzMiw5OSwxMTEsMTAwLDEwMSw0NiwxMCwxMCwzMiwzMiwzMiwzMiwKLSAgICAzMiwzMiwzMiwzMiw3MywxMDksMTEyLDEwOCwxMDEsMTA5LDEwMSwxMTAsMTE2LDEwNSwxMTAsMTAzLAotICAgIDMyLDExNiwxMDQsMTA1LDExNSwzMiwxMDksMTAxLDExNiwxMDQsMTExLDEwMCwzMiw5NywxMDgsMTA4LAotICAgIDExMSwxMTksMTE1LDMyLDExNiwxMDQsMTAxLDMyLDEwOCwxMTEsOTcsMTAwLDEwMSwxMTQsMzIsMTE2LAotICAgIDExMSwzMiwxMTQsMTAxLDk3LDEwMCwzMiw5OCwxMjEsMTE2LDEwMSw5OSwxMTEsMTAwLDEwMSwzMiwKLSAgICAxMDIsMTA1LDEwOCwxMDEsMTE1LDQ2LDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDgyLAotICAgIDk3LDEwNSwxMTUsMTAxLDExNSwzMiw3Myw3OSw2OSwxMTQsMTE0LDExMSwxMTQsMzIsMTE5LDEwNCwKLSAgICAxMDEsMTEwLDMyLDExNiwxMDQsMTAxLDMyLDExMiw5NywxMTYsMTA0LDMyLDk5LDk3LDExMCwxMTAsCi0gICAgMTExLDExNiwzMiw5OCwxMDEsMzIsMTA0LDk3LDExMCwxMDAsMTA4LDEwMSwxMDAsNDYsMTAsMzIsCi0gICAgMzIsMzIsMzIsMzIsMzIsMzIsMzIsMTE0LDE4NCwwLDAsMCw0MSwxLDExNCwzNiwKLSAgICAxLDAsMCw0MSwyLDExNCw3MSwwLDAsMCwxMTQsMzUsMCwwLDAsMTE0LAorICAgIDUsMCwwLDAsMjE4LDgsMTAzLDEwMSwxMTYsOTUsOTksMTExLDEwMCwxMDEsMjI4LDQsCisgICAgMCwwLDExNSwyLDAsMCwwLDAsNCwxMjIsMjQsNjYsMTE3LDEwNSwxMDgsMTE2LAorICAgIDEwNSwxMTAsNzMsMTA5LDExMiwxMTEsMTE0LDExNiwxMDEsMTE0LDQ2LDEwMywxMDEsMTE2LDk1LDk5LAorICAgIDExMSwxMDAsMTAxLDk5LDIsMCwwLDAsMCwwLDAsMCwyLDAsMCwwLAorICAgIDEsMCwwLDAsNjcsMCwwLDAsMTE1LDQsMCwwLDAsMTAwLDEsMCwKKyAgICA4Myw0MSwyLDEyMiw1Niw4MiwxMDEsMTE2LDExNywxMTQsMTEwLDMyLDc4LDExMSwxMTAsMTAxLAorICAgIDMyLDk3LDExNSwzMiw5OCwxMTcsMTA1LDEwOCwxMTYsNDUsMTA1LDExMCwzMiwxMDksMTExLDEwMCwKKyAgICAxMTcsMTA4LDEwMSwxMTUsMzIsMTAwLDExMSwzMiwxMTAsMTExLDExNiwzMiwxMDQsOTcsMTE4LDEwMSwKKyAgICAzMiwxMTUsMTExLDExNywxMTQsOTksMTAxLDMyLDk5LDExMSwxMDAsMTAxLDQ2LDc4LDExNCw0LAorICAgIDAsMCwwLDQxLDIsMTE0LDEwLDEsMCwwLDExNCwxNTksMCwwLDAsMTE0LAogICAgIDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMjE4LDEwLAotICAgIDExMiw5NywxMTYsMTA0LDk1LDExNSwxMTYsOTcsMTE2LDExNSwyMDYsNSwwLDAsMTE1LDIsCi0gICAgMCwwLDAsMCwxMSwxMjIsMjMsODMsMTExLDExNywxMTQsOTksMTAxLDc2LDExMSw5NywKLSAgICAxMDAsMTAxLDExNCw0NiwxMTIsOTcsMTE2LDEwNCw5NSwxMTUsMTE2LDk3LDExNiwxMTUsOTksNCwKLSAgICAwLDAsMCwwLDAsMCwwLDQsMCwwLDAsMywwLDAsMCw2NywKLSAgICAwLDAsMCwxMTUsMTYsMCwwLDAsMTI0LDAsMCwxMDYsMCwwLDEyNCwyLAotICAgIDAsMTI0LDMsMCwxMzEsMiwwLDgzLDQxLDEsMTIyLDIyOCw3OSwxMTIsMTE2LDEwNSwKLSAgICAxMTEsMTEwLDk3LDEwOCwzMiwxMDksMTAxLDExNiwxMDQsMTExLDEwMCwzMiwxMTksMTA0LDEwNSw5OSwKLSAgICAxMDQsMzIsMTE5LDExNCwxMDUsMTE2LDEwMSwxMTUsMzIsMTAwLDk3LDExNiw5NywzMiw0MCw5OCwKLSAgICAxMjEsMTE2LDEwMSwxMTUsNDEsMzIsMTE2LDExMSwzMiw5NywzMiwxMDIsMTA1LDEwOCwxMDEsMzIsCi0gICAgMTEyLDk3LDExNiwxMDQsMzIsNDAsOTcsMzIsMTE1LDExNiwxMTQsNDEsNDYsMTAsMTAsMzIsCi0gICAgMzIsMzIsMzIsMzIsMzIsMzIsMzIsNzMsMTA5LDExMiwxMDgsMTAxLDEwOSwxMDEsMTEwLDExNiwKLSAgICAxMDUsMTEwLDEwMywzMiwxMTYsMTA0LDEwNSwxMTUsMzIsMTA5LDEwMSwxMTYsMTA0LDExMSwxMDAsMzIsCi0gICAgOTcsMTA4LDEwOCwxMTEsMTE5LDExNSwzMiwxMDIsMTExLDExNCwzMiwxMTYsMTA0LDEwMSwzMiwxMTksCi0gICAgMTE0LDEwNSwxMTYsMTA1LDExMCwxMDMsMzIsMTExLDEwMiwzMiw5OCwxMjEsMTE2LDEwMSw5OSwxMTEsCi0gICAgMTAwLDEwMSwzMiwxMDIsMTA1LDEwOCwxMDEsMTE1LDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDMyLAotICAgIDMyLDMyLDMyLDg0LDEwNCwxMDEsMzIsMTE1LDExMSwxMTcsMTE0LDk5LDEwMSwzMiwxMTIsOTcsCi0gICAgMTE2LDEwNCwzMiwxMDUsMTE1LDMyLDExMCwxMDEsMTAxLDEwMCwxMDEsMTAwLDMyLDEwNSwxMTAsMzIsCi0gICAgMTExLDExNCwxMDAsMTAxLDExNCwzMiwxMTYsMTExLDMyLDk5LDExMSwxMTQsMTE0LDEwMSw5OSwxMTYsCi0gICAgMTA4LDEyMSwzMiwxMTYsMTE0LDk3LDExMCwxMTUsMTAyLDEwMSwxMTQsMzIsMTEyLDEwMSwxMTQsMTA5LAotICAgIDEwNSwxMTUsMTE1LDEwNSwxMTEsMTEwLDExNSwxMCwzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMiwKLSAgICA0MSwxLDIxOCw4LDExNSwxMDEsMTE2LDk1LDEwMCw5NywxMTYsOTcsNDEsNCwxMTQsNzEsCi0gICAgMCwwLDAsMTE0LDE0MiwwLDAsMCw5MCwxMCw5OSw5Nyw5OSwxMDQsMTAxLDk1LAotICAgIDExMiw5NywxMTYsMTA0LDExNCw1MywwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwKLSAgICAwLDAsMCwxMTQsNSwwLDAsMCwyMTgsMTUsOTUsOTksOTcsOTksMTA0LDEwMSwKLSAgICA5NSw5OCwxMjEsMTE2LDEwMSw5OSwxMTEsMTAwLDEwMSwyMTksNSwwLDAsMTE1LDIsMCwKLSAgICAwLDAsMCw4LDEyMiwyOCw4MywxMTEsMTE3LDExNCw5OSwxMDEsNzYsMTExLDk3LDEwMCwKLSAgICAxMDEsMTE0LDQ2LDk1LDk5LDk3LDk5LDEwNCwxMDEsOTUsOTgsMTIxLDExNiwxMDEsOTksMTExLAotICAgIDEwMCwxMDEsOTksMywwLDAsMCwwLDAsMCwwLDMsMCwwLDAsMSwKLSAgICAwLDAsMCw2NywwLDAsMCwxMTUsNCwwLDAsMCwxMDAsMSwwLDgzLAotICAgIDQxLDIsMTIyLDE1MCw3OSwxMTIsMTE2LDEwNSwxMTEsMTEwLDk3LDEwOCwzMiwxMDksMTAxLDExNiwKLSAgICAxMDQsMTExLDEwMCwzMiwxMTksMTA0LDEwNSw5OSwxMDQsMzIsMTE5LDExNCwxMDUsMTE2LDEwMSwxMTUsCi0gICAgMzIsMTAwLDk3LDExNiw5NywzMiw0MCw5OCwxMjEsMTE2LDEwMSwxMTUsNDEsMzIsMTE2LDExMSwKLSAgICAzMiw5NywzMiwxMDIsMTA1LDEwOCwxMDEsMzIsMTEyLDk3LDExNiwxMDQsMzIsNDAsOTcsMzIsCi0gICAgMTE1LDExNiwxMTQsNDEsNDYsMTAsMTAsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMzIsNzMsCi0gICAgMTA5LDExMiwxMDgsMTAxLDEwOSwxMDEsMTEwLDExNiwxMDUsMTEwLDEwMywzMiwxMTYsMTA0LDEwNSwxMTUsCi0gICAgMzIsMTA5LDEwMSwxMTYsMTA0LDExMSwxMDAsMzIsOTcsMTA4LDEwOCwxMTEsMTE5LDExNSwzMiwxMDIsCi0gICAgMTExLDExNCwzMiwxMTYsMTA0LDEwMSwzMiwxMTksMTE0LDEwNSwxMTYsMTA1LDExMCwxMDMsMzIsMTExLAotICAgIDEwMiwzMiw5OCwxMjEsMTE2LDEwMSw5OSwxMTEsMTAwLDEwMSwzMiwxMDIsMTA1LDEwOCwxMDEsMTE1LAotICAgIDQ2LDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDc4LDExNCw0LDAsMCwwLAotICAgIDQxLDMsMTE0LDcxLDAsMCwwLDExNCwzNSwwLDAsMCwxMTQsNTMsMCwwLAotICAgIDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsCi0gICAgMTE0LDM4LDEsMCwwLDIyOSw1LDAsMCwxMTUsMCwwLDAsMCwxMjIsMjEsCi0gICAgODMsMTExLDExNywxMTQsOTksMTAxLDc2LDExMSw5NywxMDAsMTAxLDExNCw0NiwxMTUsMTAxLDExNiwKLSAgICA5NSwxMDAsOTcsMTE2LDk3LDk5LDIsMCwwLDAsMCwwLDAsMCw1LDAsCi0gICAgMCwwLDE2LDAsMCwwLDY3LDAsMCwwLDExNSwxMDUsMCwwLDAsMTI0LAotICAgIDAsMCwxMDYsMCwwLDEyNCwxLDAsMTMxLDEsMCwxMjUsMiwwLDEyMSwxOSwKLSAgICAwLDEyNCwwLDAsMTA2LDEsMCwxMjQsMiwwLDEzMSwxLDAsMTI1LDMsMCwKLSAgICA4NywxMTAsNTgsMCw0LDExNiwyLDAsMTA3LDEwLDAsMTE0LDk0LDAsMSwxMjUsCi0gICAgNCwwLDEsMTIyLDI2LDAsMTE2LDMsMCwxMDAsMSwwLDEwMCwyLDAsMTI0LAotICAgIDEsMCwxMzEsMSwxLDEyNCw0LDAsMTMwLDIsMCw4Nyw4OSwxMDAsMywwLAotICAgIDEwMCwzLDAsMTI1LDQsMCwxMjYsNCwwLDg4LDExMCwxLDAsODgsMTE2LDQsCi0gICAgMCwxMjQsMywwLDEzMSwxLDAsODMsNDEsNCwxMjIsNTIsNjcsMTExLDExMCw5OSwKLSAgICAxMTQsMTAxLDExNiwxMDEsMzIsMTA1LDEwOSwxMTIsMTA4LDEwMSwxMDksMTAxLDExMCwxMTYsOTcsMTE2LAotICAgIDEwNSwxMTEsMTEwLDMyLDExMSwxMDIsMzIsNzMsMTEwLDExNSwxMTIsMTAxLDk5LDExNiw3NiwxMTEsCi0gICAgOTcsMTAwLDEwMSwxMTQsNDYsMTAzLDEwMSwxMTYsOTUsMTE1LDExMSwxMTcsMTE0LDk5LDEwMSw0NiwKLSAgICAxMjIsMzksMTE1LDExMSwxMTcsMTE0LDk5LDEwMSwzMiwxMTAsMTExLDExNiwzMiw5NywxMTgsOTcsCi0gICAgMTA1LDEwOCw5Nyw5OCwxMDgsMTAxLDMyLDExNiwxMDQsMTE0LDExMSwxMTcsMTAzLDEwNCwzMiwxMDMsCi0gICAgMTAxLDExNiw5NSwxMDAsOTcsMTE2LDk3LDQwLDQxLDExNCw2NywwLDAsMCw3OCw0MSwKLSAgICA1LDExNCwyMzksMCwwLDAsMjE4LDgsMTAzLDEwMSwxMTYsOTUsMTAwLDk3LDExNiw5NywKLSAgICAxMTQsNDAsMCwwLDAsMTE0LDE1NCwwLDAsMCwxMTQsMjA0LDAsMCwwLDQxLAotICAgIDUsMTE0LDcxLDAsMCwwLDExNCwxNTksMCwwLDAsMTE0LDM1LDAsMCwwLAotICAgIDExNCwyMDIsMCwwLDAsMjE4LDMsMTAxLDEyMCw5OSwxMTQsNCwwLDAsMCwxMTQsCi0gICAgNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsMTcsMSwwLDAsMjM2LDUsCi0gICAgMCwwLDExNSwxNCwwLDAsMCwwLDIsMTUsMSwzLDEsMTksMSwxOCwKLSAgICAxLDksMSwzMSwxLDEyMiwyMyw4MywxMTEsMTE3LDExNCw5OSwxMDEsNzYsMTExLDk3LAotICAgIDEwMCwxMDEsMTE0LDQ2LDEwMywxMDEsMTE2LDk1LDExNSwxMTEsMTE3LDExNCw5OSwxMDEsMjE4LDksCi0gICAgOTUsMTExLDExMiwxMTYsMTA1LDEwOSwxMDUsMTIyLDEwMSwxMTQsMjksMCwwLDAsOTksMywKLSAgICAwLDAsMCwxLDAsMCwwLDQsMCwwLDAsOSwwLDAsMCw2NywKLSAgICAwLDAsMCwxMTUsMzEsMCwwLDAsMTE2LDAsMCwxMTYsMSwwLDEyNCwxLAotICAgIDAsMTI0LDIsMCwxMDAsMSwwLDEwMCwyLDAsMTAwLDMsMCwxMDAsNCwwLAotICAgIDEyNCwzLDAsMTMxLDQsMiw4Myw0MSw1LDEyMiwxMzAsODIsMTAxLDExNiwxMTcsMTE0LAotICAgIDExMCwzMiwxMTYsMTA0LDEwMSwzMiw5OSwxMTEsMTAwLDEwMSwzMiwxMTEsOTgsMTA2LDEwMSw5OSwKLSAgICAxMTYsMzIsOTksMTExLDEwOSwxMTIsMTA1LDEwOCwxMDEsMTAwLDMyLDEwMiwxMTQsMTExLDEwOSwzMiwKLSAgICAxMTUsMTExLDExNywxMTQsOTksMTAxLDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLAotICAgIDMyLDg0LDEwNCwxMDEsMzIsMzksMTAwLDk3LDExNiw5NywzOSwzMiw5NywxMTQsMTAzLDExNywKLSAgICAxMDksMTAxLDExMCwxMTYsMzIsOTksOTcsMTEwLDMyLDk4LDEwMSwzMiw5NywxMTAsMTIxLDMyLAotICAgIDExMSw5OCwxMDYsMTAxLDk5LDExNiwzMiwxMTYsMTIxLDExMiwxMDEsMzIsMTE2LDEwNCw5NywxMTYsCi0gICAgMzIsOTksMTExLDEwOSwxMTIsMTA1LDEwOCwxMDEsNDAsNDEsMzIsMTE1LDExNywxMTIsMTEyLDExMSwKLSAgICAxMTQsMTE2LDExNSw0NiwxMCwzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMiwxMTQsMTc2LDAsCi0gICAgMCwwLDIxOCwxMiwxMDAsMTExLDExMCwxMTYsOTUsMTA1LDExMCwxMDQsMTAxLDExNCwxMDUsMTE2LAotICAgIDg0LDExNCwxMTgsMCwwLDAsNDEsMiwxMTQsMTE0LDAsMCwwLDIxOCw3LDk5LAotICAgIDExMSwxMDksMTEyLDEwNSwxMDgsMTAxLDQxLDQsMTE0LDcxLDAsMCwwLDExNCw1MywwLAotICAgIDAsMCwxMTQsMzUsMCwwLDAsMTE0LDQyLDEsMCwwLDExNCw0LDAsMCwKLSAgICAwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDIxOCwxNCwxMTUsMTExLDExNywKLSAgICAxMTQsOTksMTAxLDk1LDExNiwxMTEsOTUsOTksMTExLDEwMCwxMDEsMjQ2LDUsMCwwLDExNSwKLSAgICA0LDAsMCwwLDAsNSwxOCwxLDEyMiwyNyw4MywxMTEsMTE3LDExNCw5OSwxMDEsCi0gICAgNzYsMTExLDk3LDEwMCwxMDEsMTE0LDQ2LDExNSwxMTEsMTE3LDExNCw5OSwxMDEsOTUsMTE2LDExMSwKLSAgICA5NSw5OSwxMTEsMTAwLDEwMSw5OSwyLDAsMCwwLDAsMCwwLDAsMTAsMCwKLSAgICAwLDAsNDMsMCwwLDAsNjcsMCwwLDAsMTE1LDE3NywxLDAsMCwxMjQsCi0gICAgMCwwLDEwNiwwLDAsMTI0LDEsMCwxMzEsMSwwLDEyNSwyLDAsMTAwLDEsCi0gICAgMCwxMjUsMywwLDEyMSwxNiwwLDExNiwxLDAsMTI0LDIsMCwxMzEsMSwwLAotICAgIDEyNSw0LDAsODcsMTEwLDI0LDAsNCwxMTYsMiwwLDEwNywxMCwwLDExNCw2MywKLSAgICAwLDEsMSwxLDEwMCwxLDAsMTI1LDQsMCw4OSwxMTAsMjAyLDAsODgsMTIxLAotICAgIDE5LDAsMTI0LDAsMCwxMDYsMywwLDEyNCwyLDAsMTMxLDEsMCwxMjUsNSwKLSAgICAwLDg3LDExMCwxOCwwLDQsMTE2LDQsMCwxMDcsMTAsMCwxMTQsMTAzLDAsMSwKLSAgICAxLDEsODksMTEwLDE2MiwwLDg4LDExNiw1LDAsMTI0LDUsMCwxMDAsMiwwLAotICAgIDI1LDEzMSwxLDAsMTI1LDMsMCwxMjEsMTksMCwxMjQsMCwwLDEwNiw2LDAsCi0gICAgMTI0LDQsMCwxMzEsMSwwLDEyNSw2LDAsODcsMTEwLDE4LDAsNCwxMTYsNywKLSAgICAwLDEwNywxMCwwLDExNCwxNTksMCwxLDEsMSw4OSwxMTAsMTA2LDAsODgsMTIxLAotICAgIDM0LDAsMTE2LDgsMCwxMjQsNiwwLDEwMCwzLDAsMTI0LDUsMCwxMDAsNCwKLSAgICAwLDEyNCwxLDAsMTAwLDUsMCwxMjQsNCwwLDEzMSwxLDMsMTI1LDcsMCwKLSAgICA4NywxMTAsMjQsMCw0LDExNiw5LDAsMTE2LDEwLDAsMTAyLDIsMCwxMDcsMTAsCi0gICAgMCwxMTQsMjIwLDAsMSwxLDEsODksMTEwLDQ1LDAsODgsMTE2LDExLDAsMTAwLAotICAgIDYsMCwxMjQsNCwwLDEyNCwyLDAsMTMxLDMsMCwxLDExNiwxMiwwLDEyNCwKLSAgICA3LDAsMTAwLDQsMCwxMjQsMSwwLDEwMCw3LDAsMTI0LDQsMCwxMDAsOCwKLSAgICAwLDEyNCwyLDAsMTMxLDEsMyw4MywxMjQsMCwwLDEwNiw2LDAsMTI0LDIsCi0gICAgMCwxMzEsMSwwLDEyNSw4LDAsMTI0LDAsMCwxMDYsMTMsMCwxMjQsOCwwLAotICAgIDEyNCwyLDAsMTMxLDIsMCwxMjUsOSwwLDExNiwxMSwwLDEwMCw5LDAsMTI0LAotICAgIDIsMCwxMzEsMiwwLDEsMTE2LDE0LDAsMTA2LDE1LDAsMTIsMTE0LDE3MywxLAotICAgIDEyNCw0LDAsMTAwLDEsMCwxMDcsOSwwLDExNCwxNzMsMSwxMjQsMywwLDEwMCwKLSAgICAxLDAsMTA3LDksMCwxMTQsMTczLDEsMTE2LDE2LDAsMTI0LDksMCwxMjQsMywKLSAgICAwLDExNiwxNywwLDEyNCw4LDAsMTMxLDEsMCwxMzEsMywwLDEyNSw2LDAsCi0gICAgMTIxLDM2LDAsMTI0LDAsMCwxMDYsMTgsMCwxMjQsMiwwLDEyNCw0LDAsMTI0LAotICAgIDYsMCwxMzEsMywwLDEsMTE2LDExLDAsMTAwLDEwLDAsMTI0LDQsMCwxMzEsCi0gICAgMiwwLDEsODcsMTEzLDE3MywxLDQsMTE2LDIsMCwxMDcsMTAsMCwxMTQsMTY5LAotICAgIDEsMSwxLDEsODksMTEzLDE3MywxLDg4LDExMCwwLDAsMTI0LDksMCw4MywKLSAgICA0MSwxMSwxMjIsMTkwLDY3LDExMSwxMTAsOTksMTE0LDEwMSwxMTYsMTAxLDMyLDEwNSwxMDksMTEyLAotICAgIDEwOCwxMDEsMTA5LDEwMSwxMTAsMTE2LDk3LDExNiwxMDUsMTExLDExMCwzMiwxMTEsMTAyLDMyLDczLAotICAgIDExMCwxMTUsMTEyLDEwMSw5OSwxMTYsNzYsMTExLDk3LDEwMCwxMDEsMTE0LDQ2LDEwMywxMDEsMTE2LAotICAgIDk1LDk5LDExMSwxMDAsMTAxLDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLAotICAgIDgyLDEwMSw5NywxMDAsMTA1LDExMCwxMDMsMzIsMTExLDEwMiwzMiw5OCwxMjEsMTE2LDEwMSw5OSwKLSAgICAxMTEsMTAwLDEwMSwzMiwxMTQsMTAxLDExMywxMTcsMTA1LDExNCwxMDEsMTE1LDMyLDExMiw5NywxMTYsCi0gICAgMTA0LDk1LDExNSwxMTYsOTcsMTE2LDExNSwzMiwxMTYsMTExLDMyLDk4LDEwMSwzMiwxMDUsMTA5LAotICAgIDExMiwxMDgsMTAxLDEwOSwxMDEsMTEwLDExNiwxMDEsMTAwLDQ2LDMyLDg0LDExMSwzMiwxMTksMTE0LAotICAgIDEwNSwxMTYsMTAxLDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDk4LDEyMSwxMTYsMTAxLAotICAgIDk5LDExMSwxMDAsMTAxLDQ0LDMyLDExNSwxMDEsMTE2LDk1LDEwMCw5NywxMTYsOTcsMzIsMTA5LAotICAgIDExNywxMTUsMTE2LDMyLDk3LDEwOCwxMTUsMTExLDMyLDk4LDEwMSwzMiwxMDUsMTA5LDExMiwxMDgsCi0gICAgMTAxLDEwOSwxMDEsMTEwLDExNiwxMDEsMTAwLDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDMyLDMyLAotICAgIDMyLDMyLDc4LDExNCwxODQsMCwwLDAsMTE0LDE4OCwwLDAsMCwxMTQsNjcsMCwKLSAgICAwLDAsMTE0LDM1LDAsMCwwLDEyMiwxMywxMjMsMTI1LDMyLDEwOSw5NywxMTYsOTksCi0gICAgMTA0LDEwMSwxMTUsMzIsMTIzLDEyNSwxMTQsMTQxLDAsMCwwLDExNCwxNDIsMCwwLDAsCi0gICAgMTIyLDE5LDk5LDExMSwxMDAsMTAxLDMyLDExMSw5OCwxMDYsMTAxLDk5LDExNiwzMiwxMDIsMTE0LAotICAgIDExMSwxMDksMzIsMTIzLDEyNSwxMjIsMTAsMTE5LDExNCwxMTEsMTE2LDEwMSwzMiwxMjMsMzMsMTE0LAotICAgIDEyNSw0MSwxOSwxMTQsMjM5LDAsMCwwLDExNCwxMzIsMCwwLDAsMTE0LDEyMywwLAotICAgIDAsMCwxMTQsMzcsMSwwLDAsMTE0LDM1LDEsMCwwLDExNCwxNCwwLDAsCi0gICAgMCwxMTQsNDAsMSwwLDAsMTE0LDQwLDAsMCwwLDExNCwxOTEsMCwwLDAsCi0gICAgMTE0LDE1NCwwLDAsMCwxMTQsMTg3LDAsMCwwLDExNCwxNTMsMCwwLDAsMTE0LAotICAgIDE5NiwwLDAsMCwxMTQsNDUsMSwwLDAsMTE0LDcsMCwwLDAsMjE4LDE5LAotICAgIDEwMCwxMTEsMTEwLDExNiw5NSwxMTksMTE0LDEwNSwxMTYsMTAxLDk1LDk4LDEyMSwxMTYsMTAxLDk5LAotICAgIDExMSwxMDAsMTAxLDExNCwxOTksMCwwLDAsMTE0LDMxLDAsMCwwLDExNCwzOSwxLAotICAgIDAsMCw0MSwxMCwxMTQsNzEsMCwwLDAsMTE0LDE1OSwwLDAsMCwxMTQsMTQyLAotICAgIDAsMCwwLDExNCwxODksMCwwLDAsMTE0LDE0MSwwLDAsMCwyMTgsMiwxMTUsCi0gICAgMTE2LDExNCw1MywwLDAsMCwyMTgsMTAsOTgsMTIxLDExNiwxMDEsMTE1LDk1LDEwMCw5NywKLSAgICAxMTYsOTcsMTE0LDIwMiwwLDAsMCw5MCwxMSw5OSwxMTEsMTAwLDEwMSw5NSwxMTEsOTgsCi0gICAgMTA2LDEwMSw5OSwxMTYsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsCi0gICAgMCwwLDAsMTE0LDE2LDEsMCwwLDI1NCw1LDAsMCwxMTUsNzgsMCwwLAotICAgIDAsMCw3LDE1LDEsNiwxLDMsMSwxNiwxLDEzLDEsMTEsMiwzLAotICAgIDEsMTksMSwxMywxLDUsMiwxNiwxLDMsMSwxOSwxLDEzLDEsNSwKLSAgICAyLDMsMSw5LDEsMTIsMSwxMywxLDE5LDEsNSwyLDksMSw3LAotICAgIDEsMTUsMSw2LDEsNywxLDE1LDEsMTgsMSwxMywxLDIyLDEsMTIsCi0gICAgMSw5LDEsMTUsMSwzLDEsMTksMSwxNywxLDEzLDEsOCwxLDEyMiwKLSAgICAyMSw4MywxMTEsMTE3LDExNCw5OSwxMDEsNzYsMTExLDk3LDEwMCwxMDEsMTE0LDQ2LDEwMywxMDEsCi0gICAgMTE2LDk1LDk5LDExMSwxMDAsMTAxLDc4LDExNCwxMzksMCwwLDAsNDEsMTAsMTE0LDU3LAotICAgIDAsMCwwLDExNCw1NiwwLDAsMCwxMTQsNTgsMCwwLDAsMTE0LDM2LDEsCi0gICAgMCwwLDExNCwzNywxLDAsMCwxMTQsMzksMSwwLDAsMTE0LDM4LDEsMCwKLSAgICAwLDExNCwxNywxLDAsMCwxMTQsNDUsMSwwLDAsMTE0LDE2LDEsMCwwLAotICAgIDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCwKLSAgICA1LDAsMCwwLDExNCwzNCwxLDAsMCwxOTYsNSwwLDAsMTE1LDE0LDAsCi0gICAgMCwwLDEyLDIsMTIsOCwxMiwxMywxMiwxMCwxMiw3LDEyLDEwLDE4LDgsCi0gICAgMTE0LDM0LDEsMCwwLDk5LDAsMCwwLDAsMCwwLDAsMCwwLDAsCi0gICAgMCwwLDQsMCwwLDAsMCwwLDAsMCwxMTUsMTEyLDAsMCwwLDEwMSwKLSAgICAwLDAsOTAsMSwwLDEwMCwwLDAsOTAsMiwwLDEwMCwxLDAsOTAsMywKLSAgICAwLDEwMCwyLDAsMTAwLDMsMCwxMzIsMCwwLDkwLDQsMCwxMDAsNCwwLAotICAgIDEwMCw1LDAsMTMyLDAsMCw5MCw1LDAsMTAwLDYsMCwxMDAsNywwLDEzMiwKLSAgICAwLDAsOTAsNiwwLDEwMSw3LDAsMTM1LDAsMCwxMDIsMSwwLDEwMCw4LAotICAgIDAsMTAwLDksMCwxMzQsMCwwLDEzMSwxLDAsOTAsOCwwLDEwMSw3LDAsCi0gICAgMTAwLDEwLDAsMTAwLDExLDAsMTMyLDAsMCwxMzEsMSwwLDkwLDksMCwxMDAsCi0gICAgMTIsMCwxMDAsMTMsMCwxMzIsMCwwLDkwLDEwLDAsMTM1LDAsMCw4Myw0MSwKLSAgICAxNCwyMTgsMTAsNzAsMTA1LDEwOCwxMDEsNzYsMTExLDk3LDEwMCwxMDEsMTE0LDEyMiwxMDMsNjYsCi0gICAgOTcsMTE1LDEwMSwzMiwxMDIsMTA1LDEwOCwxMDEsMzIsMTA4LDExMSw5NywxMDAsMTAxLDExNCwzMiwKLSAgICA5OSwxMDgsOTcsMTE1LDExNSwzMiwxMTksMTA0LDEwNSw5OSwxMDQsMzIsMTA1LDEwOSwxMTIsMTA4LAotICAgIDEwMSwxMDksMTAxLDExMCwxMTYsMTE1LDMyLDExNiwxMDQsMTAxLDMyLDEwOCwxMTEsOTcsMTAwLDEwMSwKLSAgICAxMTQsMzIsMTEyLDExNCwxMTEsMTE2LDExMSw5OSwxMTEsMTA4LDMyLDEwOSwxMDEsMTE2LDEwNCwxMTEsCi0gICAgMTAwLDExNSwzMiwxMTYsMTA0LDk3LDExNiwxMCwzMiwzMiwzMiwzMiwxMTQsMTAxLDExMywxMTcsCi0gICAgMTA1LDExNCwxMDEsMzIsMTAyLDEwNSwxMDgsMTAxLDMyLDExNSwxMjEsMTE1LDExNiwxMDEsMTA5LDMyLAotICAgIDExNywxMTUsOTcsMTAzLDEwMSw0Niw5OSwzLDAsMCwwLDAsMCwwLDAsMywKLSAgICAwLDAsMCwyLDAsMCwwLDY3LDAsMCwwLDExNSwyMiwwLDAsMCwKLSAgICAxMjQsMSwwLDEyNCwwLDAsOTUsMCwwLDEyNCwyLDAsMTI0LDAsMCw5NSwKLSAgICAxLDAsMTAwLDEsMCw4Myw0MSwyLDEyMiw3NSw2Nyw5Nyw5OSwxMDQsMTAxLDMyLAotICAgIDExNiwxMDQsMTAxLDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDMyLDExMCw5NywxMDksMTAxLDMyLAotICAgIDk3LDExMCwxMDAsMzIsMTE2LDEwNCwxMDEsMzIsMTEyLDk3LDExNiwxMDQsMzIsMTE2LDExMSwzMiwKLSAgICAxMTYsMTA0LDEwMSwzMiwxMDIsMTA1LDEwOCwxMDEsMzIsMTAyLDExMSwxMTcsMTEwLDEwMCwzMiw5OCwKLSAgICAxMjEsMzIsMTE2LDEwNCwxMDEsMTAsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMTAyLDEwNSwKLSAgICAxMTAsMTAwLDEwMSwxMTQsNDYsNzgsNDEsMiwxMTQsNjcsMCwwLDAsMTE0LDM1LDAsCi0gICAgMCwwLDQxLDMsMTE0LDcxLDAsMCwwLDExNCwxNTksMCwwLDAsMTE0LDM1LAotICAgIDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsCi0gICAgMCwwLDExNCw3MiwwLDAsMCw1NSw2LDAsMCwxMTUsNCwwLDAsMCwKLSAgICAwLDMsOSwxLDEyMiwxOSw3MCwxMDUsMTA4LDEwMSw3NiwxMTEsOTcsMTAwLDEwMSwxMTQsCi0gICAgNDYsOTUsOTUsMTA1LDExMCwxMDUsMTE2LDk1LDk1LDk5LDIsMCwwLDAsMCwwLAotICAgIDAsMCwyLDAsMCwwLDIsMCwwLDAsNjcsMCwwLDAsMTE1LDM0LAotICAgIDAsMCwwLDEyNCwwLDAsMTA2LDAsMCwxMjQsMSwwLDEwNiwwLDAsMTA3LAotICAgIDIsMCwxMTEsMzMsMCwxMjQsMCwwLDEwNiwxLDAsMTI0LDEsMCwxMDYsMSwKLSAgICAwLDEwNywyLDAsODMsNDEsMSw3OCw0MSwyLDExNCwyMjUsMCwwLDAsMTE0LAotICAgIDYzLDAsMCwwLDQxLDIsMTE0LDcxLDAsMCwwLDExNCwyMjgsMCwwLDAsCi0gICAgMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMTE0LAotICAgIDIzMCwwLDAsMCw2MSw2LDAsMCwxMTUsNCwwLDAsMCwwLDEsMTgsCi0gICAgMSwxMjIsMTcsNzAsMTA1LDEwOCwxMDEsNzYsMTExLDk3LDEwMCwxMDEsMTE0LDQ2LDk1LDk1LAotICAgIDEwMSwxMTMsOTUsOTUsOTksMSwwLDAsMCwwLDAsMCwwLDEsMCwwLAotICAgIDAsMywwLDAsMCw2NywwLDAsMCwxMTUsMjYsMCwwLDAsMTE2LDAsCi0gICAgMCwxMjQsMCwwLDEwNiwxLDAsMTMxLDEsMCwxMTYsMCwwLDEyNCwwLDAsCi0gICAgMTA2LDIsMCwxMzEsMSwwLDY1LDgzLDQxLDEsNzgsNDEsMywyMTgsNCwxMDQsCi0gICAgOTcsMTE1LDEwNCwxMTQsNjcsMCwwLDAsMTE0LDM1LDAsMCwwLDQxLDEsMTE0LAotICAgIDcxLDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LAotICAgIDAsMCwwLDIxOCw4LDk1LDk1LDEwNCw5NywxMTUsMTA0LDk1LDk1LDY1LDYsMCwKLSAgICAwLDExNSwyLDAsMCwwLDAsMSwxMjIsMTksNzAsMTA1LDEwOCwxMDEsNzYsMTExLAotICAgIDk3LDEwMCwxMDEsMTE0LDQ2LDk1LDk1LDEwNCw5NywxMTUsMTA0LDk1LDk1LDk5LDIsMCwKLSAgICAwLDAsMCwwLDAsMCwyLDAsMCwwLDMsMCwwLDAsMywwLAotICAgIDAsMCwxMTUsMjIsMCwwLDAsMTE2LDAsMCwxMTYsMSwwLDEyNCwwLDAsCi0gICAgMTMxLDIsMCwxMDYsMiwwLDEyNCwxLDAsMTMxLDEsMCw4Myw0MSwxLDEyMiwKLSAgICAxMDAsNzYsMTExLDk3LDEwMCwzMiw5NywzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwzMiwxMDIsCi0gICAgMTE0LDExMSwxMDksMzIsOTcsMzIsMTAyLDEwNSwxMDgsMTAxLDQ2LDEwLDEwLDMyLDMyLDMyLAotICAgIDMyLDMyLDMyLDMyLDMyLDg0LDEwNCwxMDUsMTE1LDMyLDEwOSwxMDEsMTE2LDEwNCwxMTEsMTAwLAotICAgIDMyLDEwNSwxMTUsMzIsMTAwLDEwMSwxMTIsMTE0LDEwMSw5OSw5NywxMTYsMTAxLDEwMCw0NiwzMiwKLSAgICAzMiw4NSwxMTUsMTAxLDMyLDEwMSwxMjAsMTAxLDk5LDk1LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLAotICAgIDQwLDQxLDMyLDEwNSwxMTAsMTE1LDExNiwxMDEsOTcsMTAwLDQ2LDEwLDEwLDMyLDMyLDMyLAotICAgIDMyLDMyLDMyLDMyLDMyLDQxLDMsMjE4LDUsMTE1LDExNywxMTIsMTAxLDExNCwxMTQsNDksCi0gICAgMSwwLDAsMTE0LDUsMSwwLDAsNDEsMiwxMTQsNzEsMCwwLDAsMTE0LAotICAgIDE1OSwwLDAsMCw0MSwxLDExNCwyMjUsMCwwLDAsMTE0LDQsMCwwLDAsCi0gICAgMTE0LDUsMCwwLDAsMTE0LDUsMSwwLDAsNjgsNiwwLDAsMTE1LDIsCi0gICAgMCwwLDAsMCwxMCwxMjIsMjIsNzAsMTA1LDEwOCwxMDEsNzYsMTExLDk3LDEwMCwxMDEsCi0gICAgMTE0LDQ2LDEwOCwxMTEsOTcsMTAwLDk1LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDk5LDIsMCwKLSAgICAwLDAsMCwwLDAsMCwyLDAsMCwwLDEsMCwwLDAsNjcsMCwKLSAgICAwLDAsMTE1LDcsMCwwLDAsMTI0LDAsMCwxMDYsMCwwLDgzLDQxLDEsCi0gICAgMTIyLDU4LDgyLDEwMSwxMTYsMTE3LDExNCwxMTAsMzIsMTE2LDEwNCwxMDEsMzIsMTEyLDk3LDExNiwKLSAgICAxMDQsMzIsMTE2LDExMSwzMiwxMTYsMTA0LDEwMSwzMiwxMTUsMTExLDExNywxMTQsOTksMTAxLDMyLAotICAgIDEwMiwxMDUsMTA4LDEwMSwzMiw5NywxMTUsMzIsMTAyLDExMSwxMTcsMTEwLDEwMCwzMiw5OCwxMjEsCi0gICAgMzIsMTE2LDEwNCwxMDEsMzIsMTAyLDEwNSwxMTAsMTAwLDEwMSwxMTQsNDYsNDEsMSwxMTQsMzUsCi0gICAgMCwwLDAsNDEsMiwxMTQsNzEsMCwwLDAsMTE0LDE1OSwwLDAsMCwxMTQsCi0gICAgNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsMjM5LAotICAgIDAsMCwwLDgwLDYsMCwwLDExNSwyLDAsMCwwLDAsMywxMjIsMjMsCi0gICAgNzAsMTA1LDEwOCwxMDEsNzYsMTExLDk3LDEwMCwxMDEsMTE0LDQ2LDEwMywxMDEsMTE2LDk1LDEwMiwKLSAgICAxMDUsMTA4LDEwMSwxMTAsOTcsMTA5LDEwMSw5OSwyLDAsMCwwLDAsMCwwLDAsCi0gICAgMywwLDAsMCw4LDAsMCwwLDY3LDAsMCwwLDExNSw0MSwwLDAsCi0gICAgMCwxMTYsMCwwLDEwNiwxLDAsMTI0LDEsMCwxMDAsMSwwLDEzMSwyLDAsCi0gICAgMTQzLDE3LDAsMTI1LDIsMCwxMjQsMiwwLDEwNiwyLDAsMTMxLDAsMCw4MywKLSAgICA4NywxMDAsMiwwLDgxLDg4LDEwMCwyLDAsODMsNDEsMywxMjIsMzksODIsMTAxLAotICAgIDExNiwxMTcsMTE0LDExMCwzMiwxMTYsMTA0LDEwMSwzMiwxMDAsOTcsMTE2LDk3LDMyLDEwMiwxMTQsCi0gICAgMTExLDEwOSwzMiwxMTIsOTcsMTE2LDEwNCwzMiw5NywxMTUsMzIsMTE0LDk3LDExOSwzMiw5OCwKLSAgICAxMjEsMTE2LDEwMSwxMTUsNDYsMjE4LDEsMTE0LDc4LDQxLDMsMTE0LDQ5LDAsMCwwLAotICAgIDExNCw1MCwwLDAsMCw5MCw0LDExNCwxMDEsOTcsMTAwLDQxLDMsMTE0LDcxLDAsCi0gICAgMCwwLDExNCwzNSwwLDAsMCwxMTQsNTQsMCwwLDAsMTE0LDQsMCwwLAotICAgIDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMTE0LDQwLDEsMCwwLAotICAgIDg1LDYsMCwwLDExNSw0LDAsMCwwLDAsMiwyMSwxLDEyMiwxOSw3MCwKLSAgICAxMDUsMTA4LDEwMSw3NiwxMTEsOTcsMTAwLDEwMSwxMTQsNDYsMTAzLDEwMSwxMTYsOTUsMTAwLDk3LAotICAgIDExNiw5Nyw0MSwxMSwxMTQsNTcsMCwwLDAsMTE0LDU2LDAsMCwwLDExNCw1OCwKLSAgICAwLDAsMCwxMTQsNTksMCwwLDAsMTE0LDcyLDAsMCwwLDExNCwyMzAsMCwKLSAgICAwLDAsMTE0LDUxLDEsMCwwLDExNCwxNTcsMCwwLDAsMTE0LDUsMSwwLAotICAgIDAsMTE0LDIzOSwwLDAsMCwxMTQsNDAsMSwwLDAsMTE0LDQsMCwwLDAsCi0gICAgMTE0LDQsMCwwLDAsNDEsMSwxMTQsMjI1LDAsMCwwLDExNCw1LDAsMCwKLSAgICAwLDExNCw0OSwxLDAsMCw1MCw2LDAsMCwxMTUsMTQsMCwwLDAsMTIsCi0gICAgMyw2LDIsMTIsNiwxMiw0LDEyLDMsMjQsMTIsMTgsNSwxMTQsNDksMSwKLSAgICAwLDAsOTksMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsNCwKLSAgICAwLDAsMCw2NCwwLDAsMCwxMTUsNjQsMCwwLDAsMTAxLDAsMCw5MCwKLSAgICAxLDAsMTAwLDAsMCw5MCwyLDAsMTAwLDEsMCw5MCwzLDAsMTAwLDIsCi0gICAgMCwxMDAsMywwLDEzMiwwLDAsOTAsNCwwLDEwMCw0LDAsMTAwLDUsMCwKLSAgICAxMzIsMCwwLDkwLDUsMCwxMDAsNiwwLDEwMCw3LDAsMTAwLDgsMCwxMDAsCi0gICAgOSwwLDEzMiwwLDEsOTAsNiwwLDEwMCwxMCwwLDgzLDQxLDExLDExNCw5LAotICAgIDEsMCwwLDEyMiw2Miw2NywxMTEsMTEwLDk5LDExNCwxMDEsMTE2LDEwMSwzMiwxMDUsMTA5LAotICAgIDExMiwxMDgsMTAxLDEwOSwxMDEsMTEwLDExNiw5NywxMTYsMTA1LDExMSwxMTAsMzIsMTExLDEwMiwzMiwKLSAgICA4MywxMTEsMTE3LDExNCw5OSwxMDEsNzYsMTExLDk3LDEwMCwxMDEsMTE0LDMyLDExNywxMTUsMTA1LAotICAgIDExMCwxMDMsMzIsMTE2LDEwNCwxMDEsMzIsMTAyLDEwNSwxMDgsMTAxLDMyLDExNSwxMjEsMTE1LDExNiwKLSAgICAxMDEsMTA5LDQ2LDk5LDIsMCwwLDAsMCwwLDAsMCwzLDAsMCwwLAotICAgIDMsMCwwLDAsNjcsMCwwLDAsMTE1LDM2LDAsMCwwLDExNiwwLDAsCi0gICAgMTI0LDEsMCwxMzEsMSwwLDEyNSwyLDAsMTA1LDIsMCwxMjQsMiwwLDEwNiwKLSAgICAxLDAsMTAwLDEsMCw1NCwxMjQsMiwwLDEwNiwyLDAsMTAwLDIsMCw1NCwKLSAgICA4Myw0MSwzLDEyMiwzMyw4MiwxMDEsMTE2LDExNywxMTQsMTEwLDMyLDExNiwxMDQsMTAxLDMyLAotICAgIDEwOSwxMDEsMTE2LDk3LDEwMCw5NywxMTYsOTcsMzIsMTAyLDExMSwxMTQsMzIsMTE2LDEwNCwxMDEsCi0gICAgMzIsMTEyLDk3LDExNiwxMDQsNDYsMTE0LDE4NCwwLDAsMCwxMTQsMTg1LDAsMCwwLAotICAgIDQxLDMsMTE0LDM5LDAsMCwwLDIxOCw4LDExNSwxMTYsOTUsMTA5LDExNiwxMDUsMTA5LAotICAgIDEwMSw5MCw3LDExNSwxMTYsOTUsMTE1LDEwNSwxMjIsMTAxLDQxLDMsMTE0LDcxLDAsMCwKLSAgICAwLDExNCwzNSwwLDAsMCwxMTQsNDcsMSwwLDAsMTE0LDQsMCwwLDAsCi0gICAgMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMTE0LDM3LDEsMCwwLDk1LAotICAgIDYsMCwwLDExNSw0LDAsMCwwLDAsMiwxMiwxLDEyMiwyNyw4MywxMTEsCi0gICAgMTE3LDExNCw5OSwxMDEsNzAsMTA1LDEwOCwxMDEsNzYsMTExLDk3LDEwMCwxMDEsMTE0LDQ2LDExMiwKLSAgICA5NywxMTYsMTA0LDk1LDExNSwxMTYsOTcsMTE2LDExNSw5OSw0LDAsMCwwLDAsMCwKLSAgICAwLDAsNSwwLDAsMCw1LDAsMCwwLDY3LDAsMCwwLDExNSwzNCwKLSAgICAwLDAsMCwxMTYsMCwwLDEyNCwxLDAsMTMxLDEsMCwxMjUsNCwwLDEyNCwKLSAgICAwLDAsMTA2LDEsMCwxMjQsMiwwLDEyNCwzLDAsMTAwLDEsMCwxMjQsNCwKLSAgICAwLDEzMSwyLDEsODMsNDEsMiw3OCwyMTgsNSw5NSwxMDksMTExLDEwMCwxMDEsNDEsCi0gICAgMiwxMTQsMTQ1LDAsMCwwLDExNCwzOCwxLDAsMCw0MSw1LDExNCw3MSwwLAotICAgIDAsMCwxMTQsMTQyLDAsMCwwLDExNCwxNDEsMCwwLDAsMTE0LDUzLDAsMCwKLSAgICAwLDExNCw0MiwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwKLSAgICAxMTQsNSwwLDAsMCwxMTQsMzksMSwwLDAsMTAwLDYsMCwwLDExNSw0LAotICAgIDAsMCwwLDAsMiwxMiwxLDEyMiwzMiw4MywxMTEsMTE3LDExNCw5OSwxMDEsNzAsCi0gICAgMTA1LDEwOCwxMDEsNzYsMTExLDk3LDEwMCwxMDEsMTE0LDQ2LDk1LDk5LDk3LDk5LDEwNCwxMDEsCi0gICAgOTUsOTgsMTIxLDExNiwxMDEsOTksMTExLDEwMCwxMDEsMTE0LDU1LDEsMCwwLDEwNSwxODIsCi0gICAgMSwwLDAsOTksMywwLDAsMCwxLDAsMCwwLDksMCwwLDAsCi0gICAgMTcsMCwwLDAsNjcsMCwwLDAsMTE1LDUzLDEsMCwwLDExNiwwLDAsCi0gICAgMTI0LDEsMCwxMzEsMSwwLDkyLDIsMCwxMjUsNCwwLDEyNSw1LDAsMTAzLAotICAgIDAsMCwxMjUsNiwwLDEyMCw1NCwwLDEyNCw0LDAsMTE0LDgwLDAsMTE2LDEsCi0gICAgMCwxMjQsNCwwLDEzMSwxLDAsMTIsMTE0LDgwLDAsMTE2LDAsMCwxMjQsNCwKLSAgICAwLDEzMSwxLDAsOTIsMiwwLDEyNSw0LDAsMTI1LDcsMCwxMjQsNiwwLAotICAgIDEwNiwyLDAsMTI0LDcsMCwxMzEsMSwwLDEsMTEzLDI3LDAsODcsMTIwLDEzMiwKLSAgICAwLDExNiwzLDAsMTI0LDYsMCwxMzEsMSwwLDY4LDkzLDExOCwwLDEyNSw3LAotICAgIDAsMTE2LDQsMCwxMjQsNCwwLDEyNCw3LDAsMTMxLDIsMCwxMjUsNCwwLAotICAgIDEyMSwxNywwLDExNiw1LDAsMTA2LDYsMCwxMjQsNCwwLDEzMSwxLDAsMSwKLSAgICA4NywxMTMsOTQsMCw0LDExNiw3LDAsMTA3LDEwLDAsMTE0LDE1NSwwLDEsMSwKLSAgICAxLDExOSw5NCwwLDg5LDExMyw5NCwwLDQsMTE2LDgsMCwxMDcsMTAsMCwxMTQsCi0gICAgMjExLDAsMSwxMjUsOCwwLDEsMTIyLDI1LDAsMTE2LDksMCwxMDAsMSwwLAotICAgIDEyNCw0LDAsMTI0LDgsMCwxMzEsMywwLDEsMTAwLDIsMCw4Myw4Nyw4OSwKLSAgICAxMDAsMiwwLDEwMCwyLDAsMTI1LDgsMCwxMjYsOCwwLDg4LDExMyw5NCwwLAotICAgIDg4LDExMyw5NCwwLDg3LDEyMSwzMywwLDExNiwxMCwwLDEyNCwxLDAsMTI0LDIsCi0gICAgMCwxMjQsMywwLDEzMSwzLDAsMSwxMTYsOSwwLDEwMCwzLDAsMTI0LDEsCi0gICAgMCwxMzEsMiwwLDEsODcsMTEwLDUzLDAsNCwxMTYsOCwwLDEwNywxMCwwLAotICAgIDExNCw0OCwxLDEsMTI1LDgsMCwxLDEyMiwyMSwwLDExNiw5LDAsMTAwLDEsCi0gICAgMCwxMjQsMSwwLDEyNCw4LDAsMTMxLDMsMCwxLDg3LDg5LDEwMCwyLDAsCi0gICAgMTAwLDIsMCwxMjUsOCwwLDEyNiw4LDAsODgsMTEwLDEsMCw4OCwxMDAsMiwKLSAgICAwLDgzLDQxLDQsMTIyLDI3LDg3LDExNCwxMDUsMTE2LDEwMSwzMiw5OCwxMjEsMTE2LDEwMSwKLSAgICAxMTUsMzIsMTAwLDk3LDExNiw5NywzMiwxMTYsMTExLDMyLDk3LDMyLDEwMiwxMDUsMTA4LDEwMSwKLSAgICA0NiwxMjIsMjcsOTksMTExLDExNywxMDgsMTAwLDMyLDExMCwxMTEsMTE2LDMyLDk5LDExNCwxMDEsCi0gICAgOTcsMTE2LDEwMSwzMiwxMjMsMzMsMTE0LDEyNSw1OCwzMiwxMjMsMzMsMTE0LDEyNSw3OCwxMjIsCi0gICAgMTIsOTksMTE0LDEwMSw5NywxMTYsMTAxLDEwMCwzMiwxMjMsMzMsMTE0LDEyNSw0MSwxMSwxMTQsCi0gICAgMzgsMCwwLDAsMTE0LDQ2LDAsMCwwLDExNCwyMjQsMCwwLDAsMTE0LDMzLAotICAgIDAsMCwwLDExNCwyOCwwLDAsMCwxMTQsMywwLDAsMCw5MCw1LDEwOSwKLSAgICAxMDcsMTAwLDEwNSwxMTQsMjE4LDE1LDcwLDEwNSwxMDgsMTAxLDY5LDEyMCwxMDUsMTE1LDExNiwxMTUsCi0gICAgNjksMTE0LDExNCwxMTEsMTE0LDExNCw0MCwwLDAsMCwxMTQsMTUzLDAsMCwwLDExNCwKLSAgICA1NSwwLDAsMCw0MSw5LDExNCw3MSwwLDAsMCwxMTQsMzUsMCwwLDAsCi0gICAgMTE0LDUzLDAsMCwwLDExNCw1NSwxLDAsMCwxMTQsMjM0LDAsMCwwLDExNCwKLSAgICAxMzEsMCwwLDAsMTE0LDI3LDAsMCwwLDExNCwyMywwLDAsMCwxMTQsNDEsCi0gICAgMSwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwKLSAgICAwLDAsMTE0LDM4LDEsMCwwLDEwNSw2LDAsMCwxMTUsMzgsMCwwLDAsCi0gICAgMCwyLDE4LDEsNiwyLDIyLDEsMTgsMSwxNywyLDE5LDEsMTUsMSwKLSAgICAzLDEsMTcsMSwxMywyLDcsMSwxOCwzLDE2LDEsMjcsMSwzLDEsCi0gICAgMTYsMSwxNywxLDE4LDIsMTIyLDI1LDgzLDExMSwxMTcsMTE0LDk5LDEwMSw3MCwxMDUsCi0gICAgMTA4LDEwMSw3NiwxMTEsOTcsMTAwLDEwMSwxMTQsNDYsMTE1LDEwMSwxMTYsOTUsMTAwLDk3LDExNiwKLSAgICA5Nyw3OCw0MSw3LDExNCw1NywwLDAsMCwxMTQsNTYsMCwwLDAsMTE0LDU4LAotICAgIDAsMCwwLDExNCw1OSwwLDAsMCwxMTQsMzcsMSwwLDAsMTE0LDM5LDEsCi0gICAgMCwwLDExNCwzOCwxLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsCi0gICAgMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsOSwxLDAsMCwKLSAgICA5MSw2LDAsMCwxMTUsOCwwLDAsMCwxMiwyLDYsMiwxMiw1LDEyLAotICAgIDUsMTE0LDksMSwwLDAsOTksMCwwLDAsMCwwLDAsMCwwLDAsCi0gICAgMCwwLDAsMiwwLDAsMCw2NCwwLDAsMCwxMTUsNDYsMCwwLDAsCi0gICAgMTAxLDAsMCw5MCwxLDAsMTAwLDAsMCw5MCwyLDAsMTAwLDEsMCw5MCwKLSAgICAzLDAsMTAwLDIsMCwxMDAsMywwLDEzMiwwLDAsOTAsNCwwLDEwMCw0LAotICAgIDAsMTAwLDUsMCwxMzIsMCwwLDkwLDUsMCwxMDAsNiwwLDgzLDQxLDcsCi0gICAgMTE0LDgsMSwwLDAsMTIyLDQ1LDc2LDExMSw5NywxMDAsMTAxLDExNCwzMiwxMTksMTA0LAotICAgIDEwNSw5OSwxMDQsMzIsMTA0LDk3LDExMCwxMDAsMTA4LDEwMSwxMTUsMzIsMTE1LDExMSwxMTcsMTE0LAotICAgIDk5LDEwMSwxMDgsMTAxLDExNSwxMTUsMzIsMTAyLDEwNSwxMDgsMTAxLDMyLDEwNSwxMDksMTEyLDExMSwKLSAgICAxMTQsMTE2LDExNSw0Niw5OSwyLDAsMCwwLDAsMCwwLDAsNSwwLDAsCi0gICAgMCw2LDAsMCwwLDY3LDAsMCwwLDExNSw3NiwwLDAsMCwxMjQsMCwKLSAgICAwLDEwNiwwLDAsMTI0LDEsMCwxMzEsMSwwLDEyNSwyLDAsMTI0LDAsMCwKLSAgICAxMDYsMSwwLDEyNCwyLDAsMTMxLDEsMCwxMjUsMywwLDExNiwyLDAsMTI0LAotICAgIDMsMCwxMDAsMSwwLDEyNCwxLDAsMTAwLDIsMCwxMjQsMiwwLDEzMSwxLAotICAgIDIsMTI1LDQsMCwxMTYsMywwLDEyNCw0LDAsMTAwLDEsMCwxMjQsMSwwLAotICAgIDEwMCwzLDAsMTI0LDIsMCwxMzEsMSwyLDgzLDQxLDQsNzgsMTE0LDY3LDAsCi0gICAgMCwwLDExNCwzNSwwLDAsMCwxMTQsMTQxLDAsMCwwLDQxLDQsMTE0LDIzOSwKLSAgICAwLDAsMCwxMTQsNDAsMSwwLDAsMTE0LDE5MSwwLDAsMCwxMTQsMTk2LDAsCi0gICAgMCwwLDQxLDUsMTE0LDcxLDAsMCwwLDExNCwxNTksMCwwLDAsMTE0LDM1LAotICAgIDAsMCwwLDExNCw1MywwLDAsMCwxMTQsNDgsMSwwLDAsMTE0LDQsMCwKLSAgICAwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMTE0LDE2LDEsMCwKLSAgICAwLDEzOCw2LDAsMCwxMTUsOCwwLDAsMCwwLDEsMTUsMSwxNSwxLAotICAgIDI0LDEsMTIyLDI5LDgzLDExMSwxMTcsMTE0LDk5LDEwMSwxMDgsMTAxLDExNSwxMTUsNzAsMTA1LAotICAgIDEwOCwxMDEsNzYsMTExLDk3LDEwMCwxMDEsMTE0LDQ2LDEwMywxMDEsMTE2LDk1LDk5LDExMSwxMDAsCisgICAgMTAzLDEwMSwxMTYsOTUsMTE1LDExMSwxMTcsMTE0LDk5LDEwMSwyMzQsNCwwLDAsMTE1LDIsCisgICAgMCwwLDAsMCw0LDEyMiwyNiw2NiwxMTcsMTA1LDEwOCwxMTYsMTA1LDExMCw3MywxMDksCisgICAgMTEyLDExMSwxMTQsMTE2LDEwMSwxMTQsNDYsMTAzLDEwMSwxMTYsOTUsMTE1LDExMSwxMTcsMTE0LDk5LAogICAgIDEwMSw5OSwyLDAsMCwwLDAsMCwwLDAsMiwwLDAsMCwxLDAsCiAgICAgMCwwLDY3LDAsMCwwLDExNSw0LDAsMCwwLDEwMCwxLDAsODMsNDEsCi0gICAgMiwxMjIsMzksODIsMTAxLDExNiwxMTcsMTE0LDExMCwzMiw3OCwxMTEsMTEwLDEwMSwzMiw5NywKLSAgICAxMTUsMzIsMTE2LDEwNCwxMDEsMTE0LDEwMSwzMiwxMDUsMTE1LDMyLDExMCwxMTEsMzIsMTE1LDExMSwKLSAgICAxMTcsMTE0LDk5LDEwMSwzMiw5OSwxMTEsMTAwLDEwMSw0Niw3OCwxMTQsNCwwLDAsMCwKLSAgICA0MSwyLDExNCw3MSwwLDAsMCwxMTQsMTU5LDAsMCwwLDExNCw0LDAsMCwKLSAgICAwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDExNCwxNywxLDAsMCwKLSAgICAxNDQsNiwwLDAsMTE1LDIsMCwwLDAsMCwyLDEyMiwzMSw4MywxMTEsMTE3LAotICAgIDExNCw5OSwxMDEsMTA4LDEwMSwxMTUsMTE1LDcwLDEwNSwxMDgsMTAxLDc2LDExMSw5NywxMDAsMTAxLAotICAgIDExNCw0NiwxMDMsMTAxLDExNiw5NSwxMTUsMTExLDExNywxMTQsOTksMTAxLDc4LDQxLDYsMTE0LAotICAgIDU3LDAsMCwwLDExNCw1NiwwLDAsMCwxMTQsNTgsMCwwLDAsMTE0LDU5LAotICAgIDAsMCwwLDExNCwxNiwxLDAsMCwxMTQsMTcsMSwwLDAsMTE0LDQsMCwKKyAgICAyLDEyMiw1Miw4MiwxMDEsMTE2LDExNywxMTQsMTEwLDMyLDcwLDk3LDEwOCwxMTUsMTAxLDMyLAorICAgIDk3LDExNSwzMiw5OCwxMTcsMTA1LDEwOCwxMTYsNDUsMTA1LDExMCwzMiwxMDksMTExLDEwMCwxMTcsCisgICAgMTA4LDEwMSwxMTUsMzIsOTcsMTE0LDEwMSwzMiwxMTAsMTAxLDExOCwxMDEsMTE0LDMyLDExMiw5NywKKyAgICA5OSwxMDcsOTcsMTAzLDEwMSwxMTUsNDYsNzAsMTE0LDQsMCwwLDAsNDEsMiwxMTQsCisgICAgMTAsMSwwLDAsMTE0LDE1OSwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwKKyAgICAwLDAsMCwxMTQsNSwwLDAsMCwxMTQsMjE5LDAsMCwwLDI0MCw0LDAsCisgICAgMCwxMTUsMiwwLDAsMCwwLDQsMTIyLDI2LDY2LDExNywxMDUsMTA4LDExNiwxMDUsCisgICAgMTEwLDczLDEwOSwxMTIsMTExLDExNCwxMTYsMTAxLDExNCw0NiwxMDUsMTE1LDk1LDExMiw5Nyw5OSwKKyAgICAxMDcsOTcsMTAzLDEwMSw0MSwxNCwxMTQsNTcsMCwwLDAsMTE0LDU2LDAsMCwwLAorICAgIDExNCw1OCwwLDAsMCwxMTQsNTksMCwwLDAsMjE4LDEyLDExNSwxMTYsOTcsMTE2LAorICAgIDEwNSw5OSwxMDksMTAxLDExNiwxMDQsMTExLDEwMCwxMTQsMjA0LDAsMCwwLDIxOCwxMSw5OSwKKyAgICAxMDgsOTcsMTE1LDExNSwxMDksMTAxLDExNiwxMDQsMTExLDEwMCwxMTQsMTIsMSwwLDAsMTE0LAorICAgIDEzLDEsMCwwLDExNCwxNjIsMCwwLDAsMTE0LDMsMSwwLDAsMTE0LDE0LAorICAgIDEsMCwwLDExNCwxNSwxLDAsMCwxMTQsMjE5LDAsMCwwLDExNCw0LDAsCiAgICAgMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwKLSAgICAwLDExNCw4LDEsMCwwLDEzNCw2LDAsMCwxMTUsNiwwLDAsMCwxMiwKLSAgICAyLDYsMiwxMiw2LDExNCw4LDEsMCwwLDk5LDAsMCwwLDAsMCwKLSAgICAwLDAsMCwwLDAsMCwwLDMsMCwwLDAsNjQsMCwwLDAsMTE1LAotICAgIDEzMCwwLDAsMCwxMDEsMCwwLDkwLDEsMCwxMDAsMCwwLDkwLDIsMCwKLSAgICAxMDAsMSwwLDkwLDMsMCwxMDAsMiwwLDEwMCwzLDAsMTMyLDAsMCw5MCwKLSAgICA0LDAsMTAwLDQsMCwxMDAsNSwwLDEzMiwwLDAsOTAsNSwwLDEwMCw2LAotICAgIDAsMTAwLDcsMCwxMzIsMCwwLDkwLDYsMCwxMDEsNywwLDEwMCw4LDAsCi0gICAgMTAwLDksMCwxMzIsMCwwLDEzMSwxLDAsOTAsOCwwLDEwMCwxMCwwLDEwMCwKLSAgICAxMSwwLDEzMiwwLDAsOTAsOSwwLDEwMCwxMiwwLDEwMCwxMywwLDEzMiwwLAotICAgIDAsOTAsMTAsMCwxMDAsMTQsMCwxMDAsMTUsMCwxMzIsMCwwLDkwLDExLDAsCi0gICAgMTAxLDcsMCwxMDAsMTYsMCwxMDAsMTcsMCwxMzIsMCwwLDEzMSwxLDAsOTAsCi0gICAgMTIsMCwxMDAsMTgsMCw4Myw0MSwxOSwyMTgsMTksNjksMTIwLDExNiwxMDEsMTEwLDExNSwKLSAgICAxMDUsMTExLDExMCw3MCwxMDUsMTA4LDEwMSw3NiwxMTEsOTcsMTAwLDEwMSwxMTQsMTIyLDkzLDc2LAotICAgIDExMSw5NywxMDAsMTAxLDExNCwzMiwxMDIsMTExLDExNCwzMiwxMDEsMTIwLDExNiwxMDEsMTEwLDExNSwKLSAgICAxMDUsMTExLDExMCwzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwxMTUsNDYsMTAsMTAsMzIsMzIsCi0gICAgMzIsMzIsODQsMTA0LDEwMSwzMiw5OSwxMTEsMTEwLDExNSwxMTYsMTE0LDExNyw5OSwxMTYsMTExLAotICAgIDExNCwzMiwxMDUsMTE1LDMyLDEwMCwxMDEsMTE1LDEwNSwxMDMsMTEwLDEwMSwxMDAsMzIsMTE2LDExMSwKLSAgICAzMiwxMTksMTExLDExNCwxMDcsMzIsMTE5LDEwNSwxMTYsMTA0LDMyLDcwLDEwNSwxMDgsMTAxLDcwLAotICAgIDEwNSwxMTAsMTAwLDEwMSwxMTQsNDYsMTAsMTAsMzIsMzIsMzIsMzIsOTksMywwLDAsCi0gICAgMCwwLDAsMCwwLDMsMCwwLDAsMiwwLDAsMCw2NywwLDAsCi0gICAgMCwxMTUsMjIsMCwwLDAsMTI0LDEsMCwxMjQsMCwwLDk1LDAsMCwxMjQsCi0gICAgMiwwLDEyNCwwLDAsOTUsMSwwLDEwMCwwLDAsODMsNDEsMSw3OCw0MSwKLSAgICAyLDExNCw2NywwLDAsMCwxMTQsMzUsMCwwLDAsNDEsMywxMTQsNzEsMCwKLSAgICAwLDAsMTE0LDY3LDAsMCwwLDExNCwzNSwwLDAsMCwxMTQsNCwwLDAsCi0gICAgMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsNzIsMCwwLDAsCi0gICAgMTYxLDYsMCwwLDExNSw0LDAsMCwwLDAsMSw5LDEsMTIyLDI4LDY5LAotICAgIDEyMCwxMTYsMTAxLDExMCwxMTUsMTA1LDExMSwxMTAsNzAsMTA1LDEwOCwxMDEsNzYsMTExLDk3LDEwMCwKLSAgICAxMDEsMTE0LDQ2LDk1LDk1LDEwNSwxMTAsMTA1LDExNiw5NSw5NSw5OSwyLDAsMCwwLAotICAgIDAsMCwwLDAsMiwwLDAsMCwyLDAsMCwwLDY3LDAsMCwwLAotICAgIDExNSwzNCwwLDAsMCwxMjQsMCwwLDEwNiwwLDAsMTI0LDEsMCwxMDYsMCwKLSAgICAwLDEwNywyLDAsMTExLDMzLDAsMTI0LDAsMCwxMDYsMSwwLDEyNCwxLDAsCi0gICAgMTA2LDEsMCwxMDcsMiwwLDgzLDQxLDEsNzgsNDEsMiwxMTQsMjI1LDAsMCwKLSAgICAwLDExNCw2MywwLDAsMCw0MSwyLDExNCw3MSwwLDAsMCwxMTQsMjI4LDAsCisgICAgMCwxMTQsOSwxLDAsMCwxNzcsNCwwLDAsMTE1LDI4LDAsMCwwLDEyLAorICAgIDcsNiwyLDE4LDksMywxLDIxLDgsMywxLDE4LDExLDMsMSwyMSwKKyAgICAxMSwzLDEsMjEsNSwzLDEsMjEsNSwzLDEsMTE0LDksMSwwLDAsCisgICAgOTksMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsNSwwLDAsCisgICAgMCw2NCwwLDAsMCwxMTUsMjExLDAsMCwwLDEwMSwwLDAsOTAsMSwwLAorICAgIDEwMCwwLDAsOTAsMiwwLDEwMCwxLDAsOTAsMywwLDEwMSw0LDAsMTAwLAorICAgIDIsMCwxMDAsMywwLDEzMiwwLDAsMTMxLDEsMCw5MCw1LDAsMTAxLDYsCisgICAgMCwxMDAsNCwwLDEwMCw0LDAsMTAwLDUsMCwxMDAsNiwwLDEzMiwyLDAsCisgICAgMTMxLDEsMCw5MCw3LDAsMTAxLDYsMCwxMDAsNCwwLDEwMCw3LDAsMTAwLAorICAgIDgsMCwxMzIsMSwwLDEzMSwxLDAsOTAsOCwwLDEwMSw2LDAsMTAwLDksCisgICAgMCwxMDAsMTAsMCwxMzIsMCwwLDEzMSwxLDAsOTAsOSwwLDEwMSw0LDAsCisgICAgMTAwLDExLDAsMTAwLDEyLDAsMTMyLDAsMCwxMzEsMSwwLDkwLDEwLDAsMTAxLAorICAgIDYsMCwxMDAsMTMsMCwxMDAsMTQsMCwxMzIsMCwwLDEzMSwxLDAsOTAsMTEsCisgICAgMCwxMDEsNiwwLDEwMSwxMiwwLDEwMCwxNSwwLDEwMCwxNiwwLDEzMiwwLDAsCisgICAgMTMxLDEsMCwxMzEsMSwwLDkwLDEzLDAsMTAxLDYsMCwxMDEsMTIsMCwxMDAsCisgICAgMTcsMCwxMDAsMTgsMCwxMzIsMCwwLDEzMSwxLDAsMTMxLDEsMCw5MCwxNCwKKyAgICAwLDEwMSw2LDAsMTAxLDEyLDAsMTAwLDE5LDAsMTAwLDIwLDAsMTMyLDAsMCwKKyAgICAxMzEsMSwwLDEzMSwxLDAsOTAsMTUsMCwxMDAsNCwwLDgzLDQxLDIxLDIxOCwKKyAgICAxNCw3MCwxMTQsMTExLDEyMiwxMDEsMTEwLDczLDEwOSwxMTIsMTExLDExNCwxMTYsMTAxLDExNCwxMjIsCisgICAgMTQyLDc3LDEwMSwxMTYsOTcsMzIsMTEyLDk3LDExNiwxMDQsMzIsMTA1LDEwOSwxMTIsMTExLDExNCwKKyAgICAxMTYsMzIsMTAyLDExMSwxMTQsMzIsMTAyLDExNCwxMTEsMTIyLDEwMSwxMTAsMzIsMTA5LDExMSwxMDAsCisgICAgMTE3LDEwOCwxMDEsMTE1LDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDY1LDEwOCwxMDgsMzIsMTA5LAorICAgIDEwMSwxMTYsMTA0LDExMSwxMDAsMTE1LDMyLDk3LDExNCwxMDEsMzIsMTAxLDEwNSwxMTYsMTA0LDEwMSwKKyAgICAxMTQsMzIsOTksMTA4LDk3LDExNSwxMTUsMzIsMTExLDExNCwzMiwxMTUsMTE2LDk3LDExNiwxMDUsCisgICAgOTksMzIsMTA5LDEwMSwxMTYsMTA0LDExMSwxMDAsMTE1LDMyLDExNiwxMTEsMzIsOTcsMTE4LDExMSwKKyAgICAxMDUsMTAwLDMyLDExNiwxMDQsMTAxLDMyLDExMCwxMDEsMTAxLDEwMCwzMiwxMTYsMTExLDEwLDMyLAorICAgIDMyLDMyLDMyLDEwNSwxMTAsMTE1LDExNiw5NywxMTAsMTE2LDEwNSw5NywxMTYsMTAxLDMyLDExNiwKKyAgICAxMDQsMTAxLDMyLDk5LDEwOCw5NywxMTUsMTE1LDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDk5LAorICAgIDEsMCwwLDAsMCwwLDAsMCwxLDAsMCwwLDIsMCwwLDAsCisgICAgNjcsMCwwLDAsMTE1LDE2LDAsMCwwLDEwMCwxLDAsMTA2LDAsMCwxMjQsCisgICAgMCwwLDEwNiwxLDAsMTMxLDEsMCw4Myw0MSwyLDEyMiwxMTUsODIsMTAxLDExNiwKKyAgICAxMTcsMTE0LDExMCwzMiwxMTQsMTAxLDExMiwxMTQsMzIsMTAyLDExMSwxMTQsMzIsMTE2LDEwNCwxMDEsCisgICAgMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsNDYsMTAsMTAsMzIsMzIsMzIsMzIsMzIsMzIsCisgICAgMzIsMzIsODQsMTA0LDEwMSwzMiwxMDksMTAxLDExNiwxMDQsMTExLDEwMCwzMiwxMDUsMTE1LDMyLAorICAgIDEwMCwxMDEsMTEyLDExNCwxMDEsOTksOTcsMTE2LDEwMSwxMDAsNDYsMzIsMzIsODQsMTA0LDEwMSwKKyAgICAzMiwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwzMiwxMDksOTcsOTksMTA0LDEwNSwxMTAsMTAxLDExNCwKKyAgICAxMjEsMzIsMTAwLDExMSwxMDEsMTE1LDMyLDExNiwxMDQsMTAxLDMyLDEwNiwxMTEsOTgsMzIsMTA1LAorICAgIDExNiwxMTUsMTAxLDEwOCwxMDIsNDYsMTAsMTAsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMzIsCisgICAgMTIyLDIyLDYwLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDMyLDEyMywzMywxMTQsMTI1LDMyLDQwLAorICAgIDEwMiwxMTQsMTExLDEyMiwxMDEsMTEwLDQxLDYyLDQxLDIsMTE0LDQ3LDAsMCwwLDExNCwKKyAgICA1NywwLDAsMCw0MSwxLDIxOCwxLDEwOSwxMTQsNCwwLDAsMCwxMTQsNCwKKyAgICAwLDAsMCwxMTQsNSwwLDAsMCwxMTQsMjA0LDAsMCwwLDAsNSwwLAorICAgIDAsMTE1LDIsMCwwLDAsMCw3LDEyMiwyNiw3MCwxMTQsMTExLDEyMiwxMDEsMTEwLAorICAgIDczLDEwOSwxMTIsMTExLDExNCwxMTYsMTAxLDExNCw0NiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw5NSwKKyAgICAxMTQsMTAxLDExMiwxMTQsNzgsOTksNCwwLDAsMCwwLDAsMCwwLDQsMCwKKyAgICAwLDAsNSwwLDAsMCw2NywwLDAsMCwxMTUsNDIsMCwwLDAsMTE2LAorICAgIDAsMCwxMDYsMSwwLDEyNCwxLDAsMTMxLDEsMCwxMTQsMzQsMCwxMTYsMiwKKyAgICAwLDEyNCwxLDAsMTI0LDAsMCwxMDAsMSwwLDEwMCwyLDAsMTMxLDIsMSwKKyAgICA4MywxMDAsMCwwLDgzLDEwMCwwLDAsODMsNDEsMyw3OCwxMTQsMjE3LDAsMCwKKyAgICAwLDkwLDYsMTAyLDExNCwxMTEsMTIyLDEwMSwxMTAsNDEsMywxMTQsMTA2LDAsMCwwLAorICAgIDExNCwxNjMsMCwwLDAsMTE0LDE3NCwwLDAsMCw0MSw0LDExNCwxMCwxLDAsCisgICAgMCwxMTQsMTU5LDAsMCwwLDExNCwzNSwwLDAsMCwxMTQsMTEsMSwwLDAsCisgICAgMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMTE0LAorICAgIDEyLDEsMCwwLDksNSwwLDAsMTE1LDYsMCwwLDAsMCwyLDE1LAorICAgIDEsMTksMiwxMjIsMjQsNzAsMTE0LDExMSwxMjIsMTAxLDExMCw3MywxMDksMTEyLDExMSwxMTQsCisgICAgMTE2LDEwMSwxMTQsNDYsMTAyLDEwNSwxMTAsMTAwLDk1LDExNSwxMTIsMTAxLDk5LDk5LDMsMCwKKyAgICAwLDAsMCwwLDAsMCwzLDAsMCwwLDIsMCwwLDAsNjcsMCwKKyAgICAwLDAsMTE1LDIzLDAsMCwwLDExNiwwLDAsMTA2LDEsMCwxMjQsMSwwLAorICAgIDEzMSwxLDAsMTE0LDE5LDAsMTI0LDAsMCw4MywxMDAsMSwwLDgzLDQxLDIsCisgICAgMTIyLDkzLDcwLDEwNSwxMTAsMTAwLDMyLDk3LDMyLDEwMiwxMTQsMTExLDEyMiwxMDEsMTEwLDMyLAorICAgIDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLAorICAgIDMyLDg0LDEwNCwxMDUsMTE1LDMyLDEwOSwxMDEsMTE2LDEwNCwxMTEsMTAwLDMyLDEwNSwxMTUsMzIsCisgICAgMTAwLDEwMSwxMTIsMTE0LDEwMSw5OSw5NywxMTYsMTAxLDEwMCw0NiwzMiwzMiw4NSwxMTUsMTAxLAorICAgIDMyLDEwMiwxMDUsMTEwLDEwMCw5NSwxMTUsMTEyLDEwMSw5OSw0MCw0MSwzMiwxMDUsMTEwLDExNSwKKyAgICAxMTYsMTAxLDk3LDEwMCw0NiwxMCwxMCwzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMiw3OCwKKyAgICA0MSwyLDExNCwxMDYsMCwwLDAsMTE0LDE2MywwLDAsMCw0MSwzLDExNCwxMCwKKyAgICAxLDAsMCwxMTQsMTU5LDAsMCwwLDExNCwzNSwwLDAsMCwxMTQsNCwwLAorICAgIDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsMTMsMSwwLAorICAgIDAsMTYsNSwwLDAsMTE1LDIsMCwwLDAsMCw3LDEyMiwyNiw3MCwxMTQsCisgICAgMTExLDEyMiwxMDEsMTEwLDczLDEwOSwxMTIsMTExLDExNCwxMTYsMTAxLDExNCw0NiwxMDIsMTA1LDExMCwKKyAgICAxMDAsOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsOTksMiwwLDAsMCwwLDAsMCwKKyAgICAwLDIsMCwwLDAsMSwwLDAsMCw2NywwLDAsMCwxMTUsNCwwLAorICAgIDAsMCwxMDAsMSwwLDgzLDQxLDIsMTIyLDQyLDg1LDExNSwxMDEsMzIsMTAwLDEwMSwKKyAgICAxMDIsOTcsMTE3LDEwOCwxMTYsMzIsMTE1LDEwMSwxMDksOTcsMTEwLDExNiwxMDUsOTksMTE1LDMyLAorICAgIDEwMiwxMTEsMTE0LDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDMyLDk5LDExNCwxMDEsOTcsMTE2LAorICAgIDEwNSwxMTEsMTEwLDQ2LDc4LDExNCw0LDAsMCwwLDQxLDIsMTE0LDEwLDEsMCwKKyAgICAwLDExNCwxNzcsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsCisgICAgMTE0LDUsMCwwLDAsMTE0LDI1NCwwLDAsMCwyNSw1LDAsMCwxMTUsMCwKKyAgICAwLDAsMCwxMjIsMjgsNzAsMTE0LDExMSwxMjIsMTAxLDExMCw3MywxMDksMTEyLDExMSwxMTQsCisgICAgMTE2LDEwMSwxMTQsNDYsOTksMTE0LDEwMSw5NywxMTYsMTAxLDk1LDEwOSwxMTEsMTAwLDExNywxMDgsCisgICAgMTAxLDk5LDEsMCwwLDAsMCwwLDAsMCwzLDAsMCwwLDQsMCwKKyAgICAwLDAsNjcsMCwwLDAsMTE1LDkyLDAsMCwwLDEyNCwwLDAsMTA2LDAsCisgICAgMCwxMDYsMSwwLDEyNSwxLDAsMTE2LDIsMCwxMDYsMywwLDEyNCwxLDAsCisgICAgMTMxLDEsMCwxMTUsNTQsMCwxMTYsNCwwLDEwMCwxLDAsMTA2LDUsMCwxMjQsCisgICAgMSwwLDEzMSwxLDAsMTAwLDIsMCwxMjQsMSwwLDEzMSwxLDEsMTMwLDEsCisgICAgMCwxMTYsNiwwLDExNiwyLDAsMTA2LDcsMCwxMjQsMSwwLDEzMSwyLDAsCisgICAgMTI1LDIsMCwxMTYsOCwwLDEyNCwyLDAsMTI0LDAsMCwxMDYsOSwwLDEzMSwKKyAgICAyLDAsMSwxMDAsMCwwLDgzLDQxLDMsNzgsMTIyLDI3LDEyMywzMywxMTQsMTI1LAorICAgIDMyLDEwNSwxMTUsMzIsMTEwLDExMSwxMTYsMzIsOTcsMzIsMTAyLDExNCwxMTEsMTIyLDEwMSwxMTAsCisgICAgMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMTE0LDY3LDAsMCwwLDQxLDEwLDExNCwyMDcsCisgICAgMCwwLDAsMTE0LDY3LDAsMCwwLDExNCwxMDYsMCwwLDAsMTE0LDE2MywwLAorICAgIDAsMCwxMTQsMTU0LDAsMCwwLDExNCw0NywwLDAsMCwxMTQsMTE0LDAsMCwKKyAgICAwLDIxOCwxNywxMDMsMTAxLDExNiw5NSwxMDIsMTE0LDExMSwxMjIsMTAxLDExMCw5NSwxMTEsOTgsCisgICAgMTA2LDEwMSw5OSwxMTYsMjE4LDQsMTAxLDEyMCwxMDEsOTksMTE0LDYzLDAsMCwwLDQxLAorICAgIDMsMTE0LDE3OCwwLDAsMCwxMTQsNjcsMCwwLDAsMTE0LDE5MywwLDAsMCwKKyAgICAxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsCisgICAgMjU1LDAsMCwwLDI5LDUsMCwwLDExNSwxMiwwLDAsMCwwLDIsMTIsCisgICAgMSwxNSwxLDE4LDEsOSwxLDE4LDEsMTIyLDI2LDcwLDExNCwxMTEsMTIyLDEwMSwKKyAgICAxMTAsNzMsMTA5LDExMiwxMTEsMTE0LDExNiwxMDEsMTE0LDQ2LDEwMSwxMjAsMTAxLDk5LDk1LDEwOSwKKyAgICAxMTEsMTAwLDExNywxMDgsMTAxLDk5LDIsMCwwLDAsMCwwLDAsMCwyLDAsCisgICAgMCwwLDMsMCwwLDAsNjcsMCwwLDAsMTE1LDEzLDAsMCwwLDExNiwKKyAgICAwLDAsMTI0LDAsMCwxMjQsMSwwLDEzMSwyLDAsODMsNDEsMSwxMjIsOTUsCisgICAgNzYsMTExLDk3LDEwMCwzMiw5NywzMiwxMDIsMTE0LDExMSwxMjIsMTAxLDExMCwzMiwxMDksMTExLAorICAgIDEwMCwxMTcsMTA4LDEwMSw0NiwxMCwxMCwzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMiw4NCwKKyAgICAxMDQsMTA1LDExNSwzMiwxMDksMTAxLDExNiwxMDQsMTExLDEwMCwzMiwxMDUsMTE1LDMyLDEwMCwxMDEsCisgICAgMTEyLDExNCwxMDEsOTksOTcsMTE2LDEwMSwxMDAsNDYsMzIsMzIsODUsMTE1LDEwMSwzMiwxMDEsCisgICAgMTIwLDEwMSw5OSw5NSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw0MCw0MSwzMiwxMDUsMTEwLDExNSwKKyAgICAxMTYsMTAxLDk3LDEwMCw0NiwxMCwxMCwzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMiw0MSwKKyAgICAxLDExNCwxNzksMCwwLDAsNDEsMiwxMTQsMTAsMSwwLDAsMTE0LDE1OSwwLAogICAgIDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsCi0gICAgMCwxMTQsMjMwLDAsMCwwLDE2NSw2LDAsMCwxMTUsNCwwLDAsMCwwLAotICAgIDEsMTgsMSwxMjIsMjYsNjksMTIwLDExNiwxMDEsMTEwLDExNSwxMDUsMTExLDExMCw3MCwxMDUsCi0gICAgMTA4LDEwMSw3NiwxMTEsOTcsMTAwLDEwMSwxMTQsNDYsOTUsOTUsMTAxLDExMyw5NSw5NSw5OSwKLSAgICAxLDAsMCwwLDAsMCwwLDAsMSwwLDAsMCwzLDAsMCwwLAotICAgIDY3LDAsMCwwLDExNSwyNiwwLDAsMCwxMTYsMCwwLDEyNCwwLDAsMTA2LAotICAgIDEsMCwxMzEsMSwwLDExNiwwLDAsMTI0LDAsMCwxMDYsMiwwLDEzMSwxLAotICAgIDAsNjUsODMsNDEsMSw3OCw0MSwzLDExNCw1MCwxLDAsMCwxMTQsNjcsMCwKLSAgICAwLDAsMTE0LDM1LDAsMCwwLDQxLDEsMTE0LDcxLDAsMCwwLDExNCw0LAotICAgIDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDExNCw1MSwxLAotICAgIDAsMCwxNjksNiwwLDAsMTE1LDIsMCwwLDAsMCwxLDEyMiwyOCw2OSwKLSAgICAxMjAsMTE2LDEwMSwxMTAsMTE1LDEwNSwxMTEsMTEwLDcwLDEwNSwxMDgsMTAxLDc2LDExMSw5NywxMDAsCi0gICAgMTAxLDExNCw0Niw5NSw5NSwxMDQsOTcsMTE1LDEwNCw5NSw5NSw5OSwyLDAsMCwwLAotICAgIDAsMCwwLDAsNCwwLDAsMCwxMSwwLDAsMCw2NywwLDAsMCwKLSAgICAxMTUsMTgzLDAsMCwwLDExNiwwLDAsMTI0LDEsMCwxMzEsMSwwLDE0MywyOSwKLSAgICAwLDEsMTE2LDEsMCwxMTYsMiwwLDEwNiwzLDAsMTI0LDEsMCwxMjQsMCwKLSAgICAwLDEwNiw0LDAsMTMxLDMsMCwxMjUsMiwwLDg3LDEwMCwxLDAsODEsODgsCi0gICAgMTE2LDUsMCwxMDAsMiwwLDEyNCwwLDAsMTA2LDQsMCwxMzEsMiwwLDEsCi0gICAgMTI0LDAsMCwxMDYsNiwwLDEyNCwxLDAsMTMxLDEsMCwxMjUsMywwLDEyNCwKLSAgICAzLDAsMTE0LDEyNCwwLDExNiw3LDAsMTI0LDIsMCwxMDAsMywwLDEzMSwyLAotICAgIDAsMTIsMTE0LDEyNCwwLDExNiw4LDAsMTI0LDAsMCwxMDYsNCwwLDEzMSwxLAotICAgIDAsMTAwLDQsMCwyNSwxMDMsMSwwLDEyNCwyLDAsOTUsOSwwLDExMCwwLAotICAgIDAsMTI0LDAsMCwxMjQsMiwwLDk1LDEwLDAsMTI0LDIsMCwxMDYsMTEsMCwKLSAgICAxMjQsMiwwLDk1LDEyLDAsMTI0LDMsMCwxMTUsMTc5LDAsMTI0LDIsMCwxMDYsCi0gICAgMTIsMCwxMDYsMTMsMCwxMDAsNSwwLDEzMSwxLDAsMTAwLDQsMCwyNSwxMjQsCi0gICAgMiwwLDk1LDEyLDAsMTEwLDAsMCwxMjQsMiwwLDgzLDQxLDYsMTIyLDI1LAotICAgIDc2LDExMSw5NywxMDAsMzIsOTcsMTEwLDMyLDEwMSwxMjAsMTE2LDEwMSwxMTAsMTE1LDEwNSwxMTEsCi0gICAgMTEwLDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDQ2LDc4LDEyMiwzMywxMDEsMTIwLDExNiwxMDEsCi0gICAgMTEwLDExNSwxMDUsMTExLDExMCwzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwzMiwxMDgsMTExLDk3LAotICAgIDEwMCwxMDEsMTAwLDMyLDEwMiwxMTQsMTExLDEwOSwzMiwxMjMsMzMsMTE0LDEyNSwxMTQsMjQ3LDAsCi0gICAgMCwwLDExNCw4NCwwLDAsMCwxMTQsMTE2LDAsMCwwLDQxLDE0LDExNCw2OSwKLSAgICAwLDAsMCwxMTQsMTE0LDAsMCwwLDExNCwxMDYsMCwwLDAsOTAsMTIsMTA4LAotICAgIDExMSw5NywxMDAsOTUsMTAwLDEyMSwxMTAsOTcsMTA5LDEwNSw5OSwxMTQsMzUsMCwwLDAsCi0gICAgMTE0LDE1MywwLDAsMCwxMTQsMjIwLDAsMCwwLDExNCw2MCwwLDAsMCwxMTQsCi0gICAgMzgsMCwwLDAsMTE0LDI0NywwLDAsMCwxMTQsMjA1LDAsMCwwLDExNCw1NywKLSAgICAwLDAsMCwxMTQsMjUxLDAsMCwwLDExNCwzMiwwLDAsMCw0MSw0LDExNCwKLSAgICA3MSwwLDAsMCwxMTQsMTU5LDAsMCwwLDExNCwxODAsMCwwLDAsMTE0LDIyMCwKKyAgICAwLDExNCwzLDEsMCwwLDM4LDUsMCwwLDExNSwyLDAsMCwwLDAsCisgICAgNywxMjIsMjYsNzAsMTE0LDExMSwxMjIsMTAxLDExMCw3MywxMDksMTEyLDExMSwxMTQsMTE2LDEwMSwKKyAgICAxMTQsNDYsMTA4LDExMSw5NywxMDAsOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsOTksMiwwLAorICAgIDAsMCwwLDAsMCwwLDIsMCwwLDAsMiwwLDAsMCw2NywwLAorICAgIDAsMCwxMTUsMTMsMCwwLDAsMTE2LDAsMCwxMDYsMSwwLDEyNCwxLDAsCisgICAgMTMxLDEsMCw4Myw0MSwxLDEyMiw0NSw4MiwxMDEsMTE2LDExNywxMTQsMTEwLDMyLDExNiwKKyAgICAxMDQsMTAxLDMyLDk5LDExMSwxMDAsMTAxLDMyLDExMSw5OCwxMDYsMTAxLDk5LDExNiwzMiwxMDIsCisgICAgMTExLDExNCwzMiwxMTYsMTA0LDEwMSwzMiwxMDIsMTE0LDExMSwxMjIsMTAxLDExMCwzMiwxMDksMTExLAorICAgIDEwMCwxMTcsMTA4LDEwMSw0Niw0MSwyLDExNCwxMDYsMCwwLDAsMTE0LDIwLDEsMCwKKyAgICAwLDQxLDIsMTE0LDEwLDEsMCwwLDExNCwxNTksMCwwLDAsMTE0LDQsMCwKKyAgICAwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMTE0LDE0LDEsMCwKKyAgICAwLDQ3LDUsMCwwLDExNSwyLDAsMCwwLDAsNCwxMjIsMjMsNzAsMTE0LAorICAgIDExMSwxMjIsMTAxLDExMCw3MywxMDksMTEyLDExMSwxMTQsMTE2LDEwMSwxMTQsNDYsMTAzLDEwMSwxMTYsCisgICAgOTUsOTksMTExLDEwMCwxMDEsOTksMiwwLDAsMCwwLDAsMCwwLDIsMCwKKyAgICAwLDAsMSwwLDAsMCw2NywwLDAsMCwxMTUsNCwwLDAsMCwxMDAsCisgICAgMSwwLDgzLDQxLDIsMTIyLDU0LDgyLDEwMSwxMTYsMTE3LDExNCwxMTAsMzIsNzgsMTExLAorICAgIDExMCwxMDEsMzIsOTcsMTE1LDMyLDEwMiwxMTQsMTExLDEyMiwxMDEsMTEwLDMyLDEwOSwxMTEsMTAwLAorICAgIDExNywxMDgsMTAxLDExNSwzMiwxMDAsMTExLDMyLDExMCwxMTEsMTE2LDMyLDEwNCw5NywxMTgsMTAxLAorICAgIDMyLDExNSwxMTEsMTE3LDExNCw5OSwxMDEsMzIsOTksMTExLDEwMCwxMDEsNDYsNzgsMTE0LDQsCisgICAgMCwwLDAsNDEsMiwxMTQsMTAsMSwwLDAsMTE0LDE1OSwwLDAsMCwxMTQsCisgICAgNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsMTUsCisgICAgMSwwLDAsNTMsNSwwLDAsMTE1LDIsMCwwLDAsMCw0LDEyMiwyNSwKKyAgICA3MCwxMTQsMTExLDEyMiwxMDEsMTEwLDczLDEwOSwxMTIsMTExLDExNCwxMTYsMTAxLDExNCw0NiwxMDMsCisgICAgMTAxLDExNiw5NSwxMTUsMTExLDExNywxMTQsOTksMTAxLDk5LDIsMCwwLDAsMCwwLAorICAgIDAsMCwyLDAsMCwwLDIsMCwwLDAsNjcsMCwwLDAsMTE1LDEzLAorICAgIDAsMCwwLDExNiwwLDAsMTA2LDEsMCwxMjQsMSwwLDEzMSwxLDAsODMsCisgICAgNDEsMSwxMjIsNDYsODIsMTAxLDExNiwxMTcsMTE0LDExMCwzMiw4NCwxMTQsMTE3LDEwMSwzMiwKKyAgICAxMDUsMTAyLDMyLDExNiwxMDQsMTAxLDMyLDEwMiwxMTQsMTExLDEyMiwxMDEsMTEwLDMyLDEwOSwxMTEsCisgICAgMTAwLDExNywxMDgsMTAxLDMyLDEwNSwxMTUsMzIsOTcsMzIsMTEyLDk3LDk5LDEwNyw5NywxMDMsCisgICAgMTAxLDQ2LDQxLDIsMTE0LDEwNiwwLDAsMCw5MCwxNywxMDUsMTE1LDk1LDEwMiwxMTQsCisgICAgMTExLDEyMiwxMDEsMTEwLDk1LDExMiw5Nyw5OSwxMDcsOTcsMTAzLDEwMSw0MSwyLDExNCwxMCwKKyAgICAxLDAsMCwxMTQsMTU5LDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsCisgICAgMCwwLDExNCw1LDAsMCwwLDExNCwyMTksMCwwLDAsNTksNSwwLDAsCisgICAgMTE1LDIsMCwwLDAsMCw0LDEyMiwyNSw3MCwxMTQsMTExLDEyMiwxMDEsMTEwLDczLAorICAgIDEwOSwxMTIsMTExLDExNCwxMTYsMTAxLDExNCw0NiwxMDUsMTE1LDk1LDExMiw5Nyw5OSwxMDcsOTcsCisgICAgMTAzLDEwMSw0MSwxNiwxMTQsNTcsMCwwLDAsMTE0LDU2LDAsMCwwLDExNCw1OCwKKyAgICAwLDAsMCwxMTQsNTksMCwwLDAsMTE0LDE2LDEsMCwwLDExNCwyMDQsMCwKKyAgICAwLDAsMTE0LDE3LDEsMCwwLDExNCwxMiwxLDAsMCwxMTQsMTMsMSwwLAorICAgIDAsMTE0LDI1NCwwLDAsMCwxMTQsMjU1LDAsMCwwLDExNCwzLDEsMCwwLAorICAgIDExNCwxNjUsMCwwLDAsMTE0LDE0LDEsMCwwLDExNCwxNSwxLDAsMCwxMTQsCisgICAgMjE5LDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LAorICAgIDAsMCwwLDExNCw1LDAsMCwwLDExNCwxOCwxLDAsMCwyNDcsNCwwLAorICAgIDAsMTE1LDMwLDAsMCwwLDEyLDcsNiwyLDE4LDksMywxLDIxLDYsCisgICAgMywxLDE4LDgsMTgsNCwxOCw5LDE4LDksMywxLDIxLDUsMywxLAorICAgIDIxLDUsMywxLDExNCwxOCwxLDAsMCw5OSwwLDAsMCwwLDAsMCwKKyAgICAwLDAsMCwwLDAsMCw1LDAsMCwwLDY0LDAsMCwwLDExNSwxMjEsCisgICAgMCwwLDAsMTAxLDAsMCw5MCwxLDAsMTAwLDAsMCw5MCwyLDAsMTAwLAorICAgIDEsMCw5MCwzLDAsMTAwLDIsMCw5MCw0LDAsMTAwLDMsMCw5MCw1LAorICAgIDAsMTAwLDQsMCw5MCw2LDAsMTAxLDcsMCwxMDAsNSwwLDEwMCw2LDAsCisgICAgMTMyLDAsMCwxMzEsMSwwLDkwLDgsMCwxMDEsNywwLDEwMCw3LDAsMTAwLAorICAgIDgsMCwxMzIsMCwwLDEzMSwxLDAsOTAsOSwwLDEwMSw3LDAsMTAwLDksCisgICAgMCwxMDAsOSwwLDEwMCwxMCwwLDEwMCwxMSwwLDEzMiwyLDAsMTMxLDEsMCwKKyAgICA5MCwxMCwwLDEwMSw3LDAsMTAwLDksMCwxMDAsMTIsMCwxMDAsMTMsMCwxMzIsCisgICAgMSwwLDEzMSwxLDAsOTAsMTEsMCwxMDAsOSwwLDgzLDQxLDE0LDIxOCwyMSwKKyAgICA4NywxMDUsMTEwLDEwMCwxMTEsMTE5LDExNSw4MiwxMDEsMTAzLDEwNSwxMTUsMTE2LDExNCwxMjEsNzAsCisgICAgMTA1LDExMCwxMDAsMTAxLDExNCwxMjIsNjIsNzcsMTAxLDExNiw5NywzMiwxMTIsOTcsMTE2LDEwNCwKKyAgICAzMiwxMDIsMTA1LDExMCwxMDAsMTAxLDExNCwzMiwxMDIsMTExLDExNCwzMiwxMDksMTExLDEwMCwxMTcsCisgICAgMTA4LDEwMSwxMTUsMzIsMTAwLDEwMSw5OSwxMDgsOTcsMTE0LDEwMSwxMDAsMzIsMTA1LDExMCwzMiwKKyAgICAxMTYsMTA0LDEwMSwzMiw4NywxMDUsMTEwLDEwMCwxMTEsMTE5LDExNSwzMiwxMTQsMTAxLDEwMywxMDUsCisgICAgMTE1LDExNiwxMTQsMTIxLDQ2LDEyMiw1OSw4MywxMTEsMTAyLDExNiwxMTksOTcsMTE0LDEwMSw5MiwKKyAgICA4MCwxMjEsMTE2LDEwNCwxMTEsMTEwLDkyLDgwLDEyMSwxMTYsMTA0LDExMSwxMTAsNjcsMTExLDExNCwKKyAgICAxMDEsOTIsMTIzLDExNSwxMjEsMTE1LDk1LDExOCwxMDEsMTE0LDExNSwxMDUsMTExLDExMCwxMjUsOTIsCisgICAgNzcsMTExLDEwMCwxMTcsMTA4LDEwMSwxMTUsOTIsMTIzLDEwMiwxMTcsMTA4LDEwOCwxMTAsOTcsMTA5LAorICAgIDEwMSwxMjUsMTIyLDY1LDgzLDExMSwxMDIsMTE2LDExOSw5NywxMTQsMTAxLDkyLDgwLDEyMSwxMTYsCisgICAgMTA0LDExMSwxMTAsOTIsODAsMTIxLDExNiwxMDQsMTExLDExMCw2NywxMTEsMTE0LDEwMSw5MiwxMjMsCisgICAgMTE1LDEyMSwxMTUsOTUsMTE4LDEwMSwxMTQsMTE1LDEwNSwxMTEsMTEwLDEyNSw5Miw3NywxMTEsMTAwLAorICAgIDExNywxMDgsMTAxLDExNSw5MiwxMjMsMTAyLDExNywxMDgsMTA4LDExMCw5NywxMDksMTAxLDEyNSw5MiwKKyAgICA2OCwxMDEsOTgsMTE3LDEwMyw3MCw5OSwyLDAsMCwwLDAsMCwwLDAsMiwKKyAgICAwLDAsMCwxMSwwLDAsMCw2NywwLDAsMCwxMTUsNjcsMCwwLDAsCisgICAgMTIxLDIzLDAsMTE2LDAsMCwxMDYsMSwwLDExNiwwLDAsMTA2LDIsMCwxMjQsCisgICAgMSwwLDEzMSwyLDAsODMsODcsMTEwLDM3LDAsNCwxMTYsMywwLDEwNywxMCwKKyAgICAwLDExNCw2MiwwLDEsMSwxLDExNiwwLDAsMTA2LDEsMCwxMTYsMCwwLAorICAgIDEwNiw0LDAsMTI0LDEsMCwxMzEsMiwwLDgzLDg5LDExMCwxLDAsODgsMTAwLAorICAgIDAsMCw4Myw0MSwxLDc4LDQxLDUsMjE4LDcsOTUsMTE5LDEwNSwxMTAsMTE0LDEwMSwKKyAgICAxMDMsOTAsNyw3OSwxMTIsMTAxLDExMCw3NSwxMDEsMTIxLDkwLDE3LDcyLDc1LDY5LDg5LAorICAgIDk1LDY3LDg1LDgyLDgyLDY5LDc4LDg0LDk1LDg1LDgzLDY5LDgyLDExNCw0MCwwLAorICAgIDAsMCw5MCwxOCw3Miw3NSw2OSw4OSw5NSw3Niw3OSw2Nyw2NSw3Niw5NSw3NywKKyAgICA2NSw2Nyw3Miw3Myw3OCw2OSw0MSwyLDExNCwxMCwxLDAsMCwyMTgsMywxMDcsCisgICAgMTAxLDEyMSwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsCisgICAgMCwyMTgsMTQsOTUsMTExLDExMiwxMDEsMTEwLDk1LDExNCwxMDEsMTAzLDEwNSwxMTUsMTE2LDExNCwKKyAgICAxMjEsNzgsNSwwLDAsMTE1LDgsMCwwLDAsMCwyLDMsMSwyMywxLAorICAgIDEzLDEsMTIyLDM2LDg3LDEwNSwxMTAsMTAwLDExMSwxMTksMTE1LDgyLDEwMSwxMDMsMTA1LDExNSwKKyAgICAxMTYsMTE0LDEyMSw3MCwxMDUsMTEwLDEwMCwxMDEsMTE0LDQ2LDk1LDExMSwxMTIsMTAxLDExMCw5NSwKKyAgICAxMTQsMTAxLDEwMywxMDUsMTE1LDExNiwxMTQsMTIxLDk5LDIsMCwwLDAsMCwwLDAsCisgICAgMCw2LDAsMCwwLDE2LDAsMCwwLDY3LDAsMCwwLDExNSwxNDIsMCwKKyAgICAwLDAsMTI0LDAsMCwxMDYsMCwwLDExNCwyMSwwLDEyNCwwLDAsMTA2LDEsCisgICAgMCwxMjUsMiwwLDExMCw5LDAsMTI0LDAsMCwxMDYsMiwwLDEyNSwyLDAsCisgICAgMTI0LDIsMCwxMDYsMywwLDEwMCwxLDAsMTI0LDEsMCwxMDAsMiwwLDExNiwKKyAgICA0LDAsMTA2LDUsMCwxMDAsMCwwLDEwMCwzLDAsMTMzLDIsMCwyNSwxMzEsCisgICAgMCwyLDEyNSwzLDAsMTIxLDQ2LDAsMTI0LDAsMCwxMDYsNiwwLDEyNCwzLAorICAgIDAsMTMxLDEsMCwxNDMsMjUsMCwxMjUsNCwwLDExNiw3LDAsMTA2LDgsMCwKKyAgICAxMjQsNCwwLDEwMCw0LDAsMTMxLDIsMCwxMjUsNSwwLDg3LDEwMCwwLDAsCisgICAgODEsODgsODcsMTEwLDIyLDAsNCwxMTYsOSwwLDEwNywxMCwwLDExNCwxMzcsMCwKKyAgICAxLDEsMSwxMDAsMCwwLDgzLDg5LDExMCwxLDAsODgsMTI0LDUsMCw4MywKKyAgICA0MSw1LDc4LDExNCwxNTksMCwwLDAsOTAsMTEsMTE1LDEyMSwxMTUsOTUsMTE4LDEwMSwKKyAgICAxMTQsMTE1LDEwNSwxMTEsMTEwLDExNCwxMzcsMCwwLDAsMTE0LDMwLDAsMCwwLDQxLAorICAgIDEwLDIxOCwxMSw2OCw2OSw2Niw4NSw3MSw5NSw2Niw4NSw3Myw3Niw2OCwyMTgsMTgsCisgICAgODIsNjksNzEsNzMsODMsODQsODIsODksOTUsNzUsNjksODksOTUsNjgsNjksNjYsCisgICAgODUsNzEsMjE4LDEyLDgyLDY5LDcxLDczLDgzLDg0LDgyLDg5LDk1LDc1LDY5LDg5LAorICAgIDExNCw0NywwLDAsMCwxMTQsNywwLDAsMCwyMTgsNywxMTgsMTAxLDExNCwxMTUsCisgICAgMTA1LDExMSwxMTAsMTE0LDI1LDEsMCwwLDExNCwyMywxLDAsMCw5MCwxMCw4MSwKKyAgICAxMTcsMTAxLDExNCwxMjEsODYsOTcsMTA4LDExNywxMDEsMTE0LDQwLDAsMCwwLDQxLDYsCisgICAgMTE0LDEwLDEsMCwwLDExNCwxNTksMCwwLDAsOTAsMTIsMTE0LDEwMSwxMDMsMTA1LAorICAgIDExNSwxMTYsMTE0LDEyMSw5NSwxMDcsMTAxLDEyMSwxMTQsMjQsMSwwLDAsOTAsNCwxMDQsCisgICAgMTA3LDEwMSwxMjEsMjE4LDgsMTAyLDEwNSwxMDgsMTAxLDExMiw5NywxMTYsMTA0LDExNCw0LDAsCisgICAgMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDIxOCwxNiw5NSwxMTUsCisgICAgMTAxLDk3LDExNCw5OSwxMDQsOTUsMTE0LDEwMSwxMDMsMTA1LDExNSwxMTYsMTE0LDEyMSw4NSw1LAorICAgIDAsMCwxMTUsMjIsMCwwLDAsMCwyLDksMSwxMiwyLDksMSwxNSwKKyAgICAxLDIyLDEsMywxLDE4LDEsMjgsMSwxMywxLDksMSwxMjIsMzgsODcsCisgICAgMTA1LDExMCwxMDAsMTExLDExOSwxMTUsODIsMTAxLDEwMywxMDUsMTE1LDExNiwxMTQsMTIxLDcwLDEwNSwKKyAgICAxMTAsMTAwLDEwMSwxMTQsNDYsOTUsMTE1LDEwMSw5NywxMTQsOTksMTA0LDk1LDExNCwxMDEsMTAzLAorICAgIDEwNSwxMTUsMTE2LDExNCwxMjEsNzgsOTksNCwwLDAsMCwwLDAsMCwwLDgsCisgICAgMCwwLDAsMTQsMCwwLDAsNjcsMCwwLDAsMTE1LDE1NSwwLDAsMCwKKyAgICAxMjQsMCwwLDEwNiwwLDAsMTI0LDEsMCwxMzEsMSwwLDEyNSw0LDAsMTI0LAorICAgIDQsMCwxMDAsMCwwLDEwNyw4LDAsMTE0LDMxLDAsMTAwLDAsMCw4MywxMjEsCisgICAgMTQsMCwxMTYsMSwwLDEyNCw0LDAsMTMxLDEsMCwxLDg3LDExMCwyMiwwLAorICAgIDQsMTE2LDIsMCwxMDcsMTAsMCwxMTQsNjksMCwxLDEsMSwxMDAsMCwwLAorICAgIDgzLDg5LDExMCwxLDAsODgsMTIwLDc4LDAsMTE2LDMsMCwxMzEsMCwwLDY4LAorICAgIDkzLDY3LDAsOTIsMiwwLDEyNSw1LDAsMTI1LDYsMCwxMjQsNCwwLDEwNiwKKyAgICA0LDAsMTE2LDUsMCwxMjQsNiwwLDEzMSwxLDAsMTMxLDEsMCwxMTQsODAsCisgICAgMCwxMTYsNiwwLDEyNCwxLDAsMTI0LDUsMCwxMjQsMSwwLDEyNCw0LDAsCisgICAgMTMxLDIsMCwxMDAsMSwwLDEyNCw0LDAsMTMxLDIsMSwxMjUsNywwLDEyNCwKKyAgICA3LDAsODMsMTEzLDgwLDAsODcsMTAwLDAsMCw4Myw0MSwyLDc4LDExNCwyMTcsCisgICAgMCwwLDAsNDEsNywxMTQsMzEsMSwwLDAsMTE0LDM5LDAsMCwwLDExNCwKKyAgICA0MCwwLDAsMCwxMTQsMjQwLDAsMCwwLDExNCwyMzAsMCwwLDAsMTE0LDIzMSwKKyAgICAwLDAsMCwxMTQsMTc0LDAsMCwwLDQxLDgsMTE0LDEwLDEsMCwwLDExNCwKKyAgICAxNTksMCwwLDAsMTE0LDM1LDAsMCwwLDExNCwxMSwxLDAsMCwxMTQsMzAsCisgICAgMSwwLDAsMTE0LDE3MCwwLDAsMCwxMTQsMTI2LDAsMCwwLDExNCwxNzcsMCwKKyAgICAwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLAorICAgIDAsMTE0LDEyLDEsMCwwLDEwMCw1LDAsMCwxMTUsMjQsMCwwLDAsMCwKKyAgICAyLDE1LDEsMTIsMSw0LDEsMywxLDE0LDEsMTMsMSw5LDEsMjIsCisgICAgMSwyMSwxLDIxLDEsOSwxLDEyMiwzMSw4NywxMDUsMTEwLDEwMCwxMTEsMTE5LDExNSwKKyAgICA4MiwxMDEsMTAzLDEwNSwxMTUsMTE2LDExNCwxMjEsNzAsMTA1LDExMCwxMDAsMTAxLDExNCw0NiwxMDIsCisgICAgMTA1LDExMCwxMDAsOTUsMTE1LDExMiwxMDEsOTksOTksMywwLDAsMCwwLDAsMCwKKyAgICAwLDQsMCwwLDAsMywwLDAsMCw2NywwLDAsMCwxMTUsNDUsMCwKKyAgICAwLDAsMTI0LDAsMCwxMDYsMCwwLDEyNCwxLDAsMTI0LDIsMCwxMzEsMiwKKyAgICAwLDEyNSwzLDAsMTI0LDMsMCwxMDAsMSwwLDEwNyw5LDAsMTE0LDM3LDAsCisgICAgMTI0LDMsMCwxMDYsMSwwLDgzLDEwMCwxLDAsODMsMTAwLDEsMCw4Myw0MSwKKyAgICAyLDEyMiwxMDgsNzAsMTA1LDExMCwxMDAsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsMTEwLAorICAgIDk3LDEwOSwxMDEsMTAwLDMyLDEwNSwxMTAsMzIsMTE2LDEwNCwxMDEsMzIsMTE0LDEwMSwxMDMsMTA1LAorICAgIDExNSwxMTYsMTE0LDEyMSw0NiwxMCwxMCwzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMiw4NCwKKyAgICAxMDQsMTA1LDExNSwzMiwxMDksMTAxLDExNiwxMDQsMTExLDEwMCwzMiwxMDUsMTE1LDMyLDEwMCwxMDEsCisgICAgMTEyLDExNCwxMDEsOTksOTcsMTE2LDEwMSwxMDAsNDYsMzIsMzIsODUsMTE1LDEwMSwzMiwxMDEsCisgICAgMTIwLDEwMSw5OSw5NSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw0MCw0MSwzMiwxMDUsMTEwLDExNSwKKyAgICAxMTYsMTAxLDk3LDEwMCw0NiwxMCwxMCwzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMiw3OCwKKyAgICA0MSwyLDExNCwxMiwxLDAsMCwxMTQsMTcwLDAsMCwwLDQxLDQsMTE0LDEwLAorICAgIDEsMCwwLDExNCwxNTksMCwwLDAsMTE0LDM1LDAsMCwwLDExNCwxNzcsMCwKKyAgICAwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLAorICAgIDAsMTE0LDEzLDEsMCwwLDExNSw1LDAsMCwxMTUsOCwwLDAsMCwwLAorICAgIDcsMTgsMSwxMiwxLDcsMiwxMjIsMzMsODcsMTA1LDExMCwxMDAsMTExLDExOSwxMTUsCisgICAgODIsMTAxLDEwMywxMDUsMTE1LDExNiwxMTQsMTIxLDcwLDEwNSwxMTAsMTAwLDEwMSwxMTQsNDYsMTAyLAorICAgIDEwNSwxMTAsMTAwLDk1LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDQxLDEyLDExNCw1NywwLDAsCisgICAgMCwxMTQsNTYsMCwwLDAsMTE0LDU4LDAsMCwwLDExNCw1OSwwLDAsMCwKKyAgICAxMTQsMjgsMSwwLDAsMTE0LDI3LDEsMCwwLDExNCwyNiwxLDAsMCwxMTQsCisgICAgMTcsMSwwLDAsMTE0LDI1LDEsMCwwLDExNCwzMSwxLDAsMCwxMTQsMTIsCisgICAgMSwwLDAsMTE0LDEzLDEsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsCisgICAgMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDExNCwyMiwxLDAsCisgICAgMCw2Niw1LDAsMCwxMTUsMjAsMCwwLDAsMTIsMiw2LDMsNiwzLAorICAgIDYsMiw2LDIsMTgsNywxOCwxNSwzLDEsMjEsMTQsMywxLDExNCwyMiwKKyAgICAxLDAsMCw5OSwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwKKyAgICAyLDAsMCwwLDY0LDAsMCwwLDExNSw2NCwwLDAsMCwxMDEsMCwwLAorICAgIDkwLDEsMCwxMDAsMCwwLDkwLDIsMCwxMDAsMSwwLDkwLDMsMCwxMDAsCisgICAgMiwwLDEwMCwzLDAsMTMyLDAsMCw5MCw0LDAsMTAwLDQsMCwxMDAsNSwKKyAgICAwLDEzMiwwLDAsOTAsNSwwLDEwMCw2LDAsMTAwLDcsMCwxMzIsMCwwLAorICAgIDkwLDYsMCwxMDEsNywwLDkwLDgsMCwxMDAsOCwwLDgzLDQxLDksMjE4LAorICAgIDEzLDk1LDc2LDExMSw5NywxMDAsMTAxLDExNCw2Niw5NywxMTUsMTA1LDk5LDExNSwxMjIsODMsCisgICAgNjYsOTcsMTE1LDEwMSwzMiw5OSwxMDgsOTcsMTE1LDExNSwzMiwxMTEsMTAyLDMyLDk5LDExMSwKKyAgICAxMDksMTA5LDExMSwxMTAsMzIsOTksMTExLDEwMCwxMDEsMzIsMTEwLDEwMSwxMDEsMTAwLDEwMSwxMDAsCisgICAgMzIsOTgsMTIxLDMyLDk4LDExMSwxMTYsMTA0LDMyLDgzLDExMSwxMTcsMTE0LDk5LDEwMSw3NiwKKyAgICAxMTEsOTcsMTAwLDEwMSwxMTQsMzIsOTcsMTEwLDEwMCwxMCwzMiwzMiwzMiwzMiw4MywxMTEsCisgICAgMTE3LDExNCw5OSwxMDEsMTA4LDEwMSwxMTUsMTE1LDcwLDEwNSwxMDgsMTAxLDc2LDExMSw5NywxMDAsCisgICAgMTAxLDExNCw0Niw5OSwyLDAsMCwwLDAsMCwwLDAsNSwwLDAsMCwKKyAgICAzLDAsMCwwLDY3LDAsMCwwLDExNSw4OCwwLDAsMCwxMTYsMCwwLAorICAgIDEyNCwwLDAsMTA2LDEsMCwxMjQsMSwwLDEzMSwxLDAsMTMxLDEsMCwxMDAsCisgICAgMSwwLDI1LDEyNSwyLDAsMTI0LDIsMCwxMDYsMiwwLDEwMCwyLDAsMTAwLAorICAgIDEsMCwxMzEsMiwwLDEwMCwzLDAsMjUsMTI1LDMsMCwxMjQsMSwwLDEwNiwKKyAgICAzLDAsMTAwLDIsMCwxMzEsMSwwLDEwMCw0LDAsMjUsMTI1LDQsMCwxMjQsCisgICAgMywwLDEwMCw1LDAsMTA3LDIsMCwxMTEsODcsMCwxMjQsNCwwLDEwMCw1LAorICAgIDAsMTA3LDMsMCw4Myw0MSw2LDEyMiwxNDEsNjcsMTExLDExMCw5OSwxMTQsMTAxLDExNiwKKyAgICAxMDEsMzIsMTA1LDEwOSwxMTIsMTA4LDEwMSwxMDksMTAxLDExMCwxMTYsOTcsMTE2LDEwNSwxMTEsMTEwLAorICAgIDMyLDExMSwxMDIsMzIsNzMsMTEwLDExNSwxMTIsMTAxLDk5LDExNiw3NiwxMTEsOTcsMTAwLDEwMSwKKyAgICAxMTQsNDYsMTA1LDExNSw5NSwxMTIsOTcsOTksMTA3LDk3LDEwMywxMDEsMzIsOTgsMTIxLDMyLAorICAgIDk5LDEwNCwxMDEsOTksMTA3LDEwNSwxMTAsMTAzLDMyLDEwNSwxMDIsMTAsMzIsMzIsMzIsMzIsCisgICAgMzIsMzIsMzIsMzIsMTE2LDEwNCwxMDEsMzIsMTEyLDk3LDExNiwxMDQsMzIsMTE0LDEwMSwxMTYsCisgICAgMTE3LDExNCwxMTAsMTAxLDEwMCwzMiw5OCwxMjEsMzIsMTAzLDEwMSwxMTYsOTUsMTAyLDEwNSwxMDgsCisgICAgMTAxLDExMCw5NywxMDksMTAxLDMyLDEwNCw5NywxMTUsMzIsOTcsMzIsMTAyLDEwNSwxMDgsMTAxLAorICAgIDExMCw5NywxMDksMTAxLDMyLDExMSwxMDIsMzIsMzksOTUsOTUsMTA1LDExMCwxMDUsMTE2LDk1LAorICAgIDk1LDQ2LDExMiwxMjEsMzksNDYsMTE0LDI5LDAsMCwwLDExNCwxMTYsMCwwLDAsCisgICAgMTE0LDg0LDAsMCwwLDExNCwxMTUsMCwwLDAsMTE0LDcyLDAsMCwwLDQxLAorICAgIDQsMTE0LDM4LDAsMCwwLDExNCwyMzgsMCwwLDAsMTE0LDM0LDAsMCwwLAorICAgIDExNCwzMiwwLDAsMCw0MSw1LDExNCw3MSwwLDAsMCwxMTQsMTU5LDAsMCwKKyAgICAwLDExNCwxMzEsMCwwLDAsOTAsMTMsMTAyLDEwNSwxMDgsMTAxLDExMCw5NywxMDksMTAxLAorICAgIDk1LDk4LDk3LDExNSwxMDEsOTAsOSwxMTYsOTcsMTA1LDEwOCw5NSwxMTAsOTcsMTA5LDEwMSwKKyAgICAxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsCisgICAgMjE5LDAsMCwwLDEzNCw1LDAsMCwxMTUsOCwwLDAsMCwwLDMsMjUsCisgICAgMSwyMiwxLDE5LDEsMTIyLDI0LDk1LDc2LDExMSw5NywxMDAsMTAxLDExNCw2Niw5NywKKyAgICAxMTUsMTA1LDk5LDExNSw0NiwxMDUsMTE1LDk1LDExMiw5Nyw5OSwxMDcsOTcsMTAzLDEwMSw5OSwKKyAgICAyLDAsMCwwLDAsMCwwLDAsMiwwLDAsMCwxLDAsMCwwLAorICAgIDY3LDAsMCwwLDExNSw0LDAsMCwwLDEwMCwxLDAsODMsNDEsMiwxMjIsCisgICAgNDIsODUsMTE1LDEwMSwzMiwxMDAsMTAxLDEwMiw5NywxMTcsMTA4LDExNiwzMiwxMTUsMTAxLDEwOSwKKyAgICA5NywxMTAsMTE2LDEwNSw5OSwxMTUsMzIsMTAyLDExMSwxMTQsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwKKyAgICAxMDEsMzIsOTksMTE0LDEwMSw5NywxMTYsMTA1LDExMSwxMTAsNDYsNzgsMTE0LDQsMCwwLAorICAgIDAsNDEsMiwxMTQsNzEsMCwwLDAsMTE0LDE3NywwLDAsMCwxMTQsNCwwLAorICAgIDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsMjU0LDAsMCwKKyAgICAwLDE0Miw1LDAsMCwxMTUsMCwwLDAsMCwxMjIsMjcsOTUsNzYsMTExLDk3LAorICAgIDEwMCwxMDEsMTE0LDY2LDk3LDExNSwxMDUsOTksMTE1LDQ2LDk5LDExNCwxMDEsOTcsMTE2LDEwMSwKKyAgICA5NSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw5OSwyLDAsMCwwLDAsMCwwLDAsCisgICAgMywwLDAsMCw0LDAsMCwwLDY3LDAsMCwwLDExNSw3NywwLDAsCisgICAgMCwxMjQsMCwwLDEwNiwwLDAsMTI0LDEsMCwxMDYsMSwwLDEzMSwxLDAsCisgICAgMTI1LDIsMCwxMjQsMiwwLDEwMCwxLDAsMTA3LDgsMCwxMTQsNTQsMCwxMTYsCisgICAgMiwwLDEwMCwyLDAsMTA2LDMsMCwxMjQsMSwwLDEwNiwxLDAsMTMxLDEsCisgICAgMCwxMzEsMSwwLDEzMCwxLDAsMTE2LDQsMCwxMTYsNSwwLDEyNCwyLDAsCisgICAgMTI0LDEsMCwxMDYsNiwwLDEzMSwzLDAsMSwxMDAsMSwwLDgzLDQxLDMsCisgICAgMTIyLDE5LDY5LDEyMCwxMDEsOTksMTE3LDExNiwxMDEsMzIsMTE2LDEwNCwxMDEsMzIsMTA5LDExMSwKKyAgICAxMDAsMTE3LDEwOCwxMDEsNDYsNzgsMTIyLDUyLDk5LDk3LDExMCwxMTAsMTExLDExNiwzMiwxMDgsCisgICAgMTExLDk3LDEwMCwzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwzMiwxMjMsMzMsMTE0LDEyNSwzMiwKKyAgICAxMTksMTA0LDEwMSwxMTAsMzIsMTAzLDEwMSwxMTYsOTUsOTksMTExLDEwMCwxMDEsNDAsNDEsMzIsCisgICAgMTE0LDEwMSwxMTYsMTE3LDExNCwxMTAsMTE1LDMyLDc4LDExMSwxMTAsMTAxLDQxLDcsMTE0LDE0LAorICAgIDEsMCwwLDExNCw1NywwLDAsMCwxMTQsMTU0LDAsMCwwLDExNCw0NywwLAorICAgIDAsMCwxMTQsMTE0LDAsMCwwLDExNCwyMSwxLDAsMCwxMTQsNjMsMCwwLAorICAgIDAsNDEsMywxMTQsNzEsMCwwLDAsMTE0LDE3OCwwLDAsMCwxMTQsMTkzLDAsCisgICAgMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwKKyAgICAwLDExNCwyNTUsMCwwLDAsMTQ1LDUsMCwwLDExNSwxMCwwLDAsMCwwLAorICAgIDIsMTgsMSwxMiwxLDksMSwxNSwxLDEyMiwyNSw5NSw3NiwxMTEsOTcsMTAwLAorICAgIDEwMSwxMTQsNjYsOTcsMTE1LDEwNSw5OSwxMTUsNDYsMTAxLDEyMCwxMDEsOTksOTUsMTA5LDExMSwKKyAgICAxMDAsMTE3LDEwOCwxMDEsNzgsNDEsOSwxMTQsNTcsMCwwLDAsMTE0LDU2LDAsMCwKKyAgICAwLDExNCw1OCwwLDAsMCwxMTQsNTksMCwwLDAsMTE0LDIxOSwwLDAsMCwKKyAgICAxMTQsMjU0LDAsMCwwLDExNCwyNTUsMCwwLDAsMTE0LDE3OSwwLDAsMCwxMTQsCisgICAgMywxLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwKKyAgICAwLDAsMCwxMTQsNSwwLDAsMCwxMTQsMzIsMSwwLDAsMTI5LDUsMCwKKyAgICAwLDExNSwxMCwwLDAsMCwxMiwzLDYsMiwxMiw4LDEyLDMsMTIsOCwKKyAgICAxMTQsMzIsMSwwLDAsOTksMCwwLDAsMCwwLDAsMCwwLDAsMCwKKyAgICAwLDAsNCwwLDAsMCw2NCwwLDAsMCwxMTUsMTA2LDAsMCwwLDEwMSwKKyAgICAwLDAsOTAsMSwwLDEwMCwwLDAsOTAsMiwwLDEwMCwxLDAsMTAwLDIsCisgICAgMCwxMzIsMCwwLDkwLDMsMCwxMDAsMywwLDEwMCw0LDAsMTMyLDAsMCwKKyAgICA5MCw0LDAsMTAwLDUsMCwxMDAsNiwwLDEzMiwwLDAsOTAsNSwwLDEwMCwKKyAgICA3LDAsMTAwLDgsMCwxMzIsMCwwLDkwLDYsMCwxMDAsOSwwLDEwMCwxMCwKKyAgICAwLDEzMiwwLDAsOTAsNywwLDEwMCwxMSwwLDEwMCwxOCwwLDEwMCwxMywwLAorICAgIDEwMCwxNCwwLDEzMiwwLDEsOTAsOCwwLDEwMCwxNSwwLDEwMCwxNiwwLDEzMiwKKyAgICAwLDAsOTAsOSwwLDEwMCwxNywwLDgzLDQxLDE5LDIxOCwxMiw4MywxMTEsMTE3LAorICAgIDExNCw5OSwxMDEsNzYsMTExLDk3LDEwMCwxMDEsMTE0LDk5LDIsMCwwLDAsMCwwLAorICAgIDAsMCwyLDAsMCwwLDEsMCwwLDAsNjcsMCwwLDAsMTE1LDEwLAorICAgIDAsMCwwLDExNiwwLDAsMTMwLDEsMCwxMDAsMSwwLDgzLDQxLDIsMTIyLAorICAgIDE3OCw3OSwxMTIsMTE2LDEwNSwxMTEsMTEwLDk3LDEwOCwzMiwxMDksMTAxLDExNiwxMDQsMTExLDEwMCwKKyAgICAzMiwxMTYsMTA0LDk3LDExNiwzMiwxMTQsMTAxLDExNiwxMTcsMTE0LDExMCwxMTUsMzIsMTE2LDEwNCwKKyAgICAxMDEsMzIsMTA5LDExMSwxMDAsMTA1LDEwMiwxMDUsOTksOTcsMTE2LDEwNSwxMTEsMTEwLDMyLDExNiwKKyAgICAxMDUsMTA5LDEwMSwzMiw0MCw5NywxMTAsMzIsMTA1LDExMCwxMTYsNDEsMzIsMTAyLDExMSwxMTQsCisgICAgMzIsMTE2LDEwNCwxMDEsMTAsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMTE1LDExMiwxMDEsCisgICAgOTksMTA1LDEwMiwxMDUsMTAxLDEwMCwzMiwxMTIsOTcsMTE2LDEwNCw0NCwzMiwxMTksMTA0LDEwMSwKKyAgICAxMTQsMTAxLDMyLDExMiw5NywxMTYsMTA0LDMyLDEwNSwxMTUsMzIsOTcsMzIsMTE1LDExNiwxMTQsCisgICAgNDYsMTAsMTAsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMzIsODIsOTcsMTA1LDExNSwxMDEsCisgICAgMTE1LDMyLDczLDc5LDY5LDExNCwxMTQsMTExLDExNCwzMiwxMTksMTA0LDEwMSwxMTAsMzIsMTE2LAorICAgIDEwNCwxMDEsMzIsMTEyLDk3LDExNiwxMDQsMzIsOTksOTcsMTEwLDExMCwxMTEsMTE2LDMyLDk4LAorICAgIDEwMSwzMiwxMDQsOTcsMTEwLDEwMCwxMDgsMTAxLDEwMCw0NiwxMCwzMiwzMiwzMiwzMiwzMiwKKyAgICAzMiwzMiwzMiw3OCw0MSwxLDIxOCw3LDczLDc5LDY5LDExNCwxMTQsMTExLDExNCw0MSwKKyAgICAyLDExNCw3MSwwLDAsMCwxMTQsMzUsMCwwLDAsMTE0LDQsMCwwLDAsCisgICAgMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMjE4LDEwLDExMiw5NywxMTYsMTA0LAorICAgIDk1LDEwOSwxMTYsMTA1LDEwOSwxMDEsMTU4LDUsMCwwLDExNSwyLDAsMCwwLDAsCisgICAgNiwxMjIsMjMsODMsMTExLDExNywxMTQsOTksMTAxLDc2LDExMSw5NywxMDAsMTAxLDExNCw0NiwKKyAgICAxMTIsOTcsMTE2LDEwNCw5NSwxMDksMTE2LDEwNSwxMDksMTAxLDk5LDIsMCwwLDAsMCwKKyAgICAwLDAsMCwyLDAsMCwwLDMsMCwwLDAsNjcsMCwwLDAsMTE1LAorICAgIDIwLDAsMCwwLDEwNSwxLDAsMTI0LDAsMCwxMDYsMCwwLDEyNCwxLDAsCisgICAgMTMxLDEsMCwxMDAsMSwwLDU0LDgzLDQxLDIsOTcsMTcwLDEsMCwwLDc5LAorICAgIDExMiwxMTYsMTA1LDExMSwxMTAsOTcsMTA4LDMyLDEwOSwxMDEsMTE2LDEwNCwxMTEsMTAwLDMyLDExNCwKKyAgICAxMDEsMTE2LDExNywxMTQsMTEwLDEwNSwxMTAsMTAzLDMyLDk3LDMyLDEwOSwxMDEsMTE2LDk3LDEwMCwKKyAgICA5NywxMTYsOTcsMzIsMTAwLDEwNSw5OSwxMTYsMzIsMTAyLDExMSwxMTQsMzIsMTE2LDEwNCwxMDEsCisgICAgMzIsMTE1LDExMiwxMDEsOTksMTA1LDEwMiwxMDUsMTAxLDEwMCwzMiwxMTIsOTcsMTE2LDEwNCwxMCwKKyAgICAzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMiwxMTYsMTExLDMyLDk4LDEyMSwzMiwxMTYsMTA0LAorICAgIDEwMSwzMiwxMTIsOTcsMTE2LDEwNCwzMiw0MCwxMTUsMTE2LDExNCw0MSw0NiwxMCwzMiwzMiwKKyAgICAzMiwzMiwzMiwzMiwzMiwzMiw4MCwxMTEsMTE1LDExNSwxMDUsOTgsMTA4LDEwMSwzMiwxMDcsCisgICAgMTAxLDEyMSwxMTUsNTgsMTAsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMzIsNDUsMzIsMzksCisgICAgMTA5LDExNiwxMDUsMTA5LDEwMSwzOSwzMiw0MCwxMDksOTcsMTEwLDEwMCw5NywxMTYsMTExLDExNCwKKyAgICAxMjEsNDEsMzIsMTA1LDExNSwzMiwxMTYsMTA0LDEwMSwzMiwxMTAsMTE3LDEwOSwxMDEsMTE0LDEwNSwKKyAgICA5OSwzMiwxMTYsMTA1LDEwOSwxMDEsMTE1LDExNiw5NywxMDksMTEyLDMyLDExMSwxMDIsMzIsMTA4LAorICAgIDk3LDExNSwxMTYsMzIsMTE1LDExMSwxMTcsMTE0LDk5LDEwMSwxMCwzMiwzMiwzMiwzMiwzMiwKKyAgICAzMiwzMiwzMiwzMiwzMiw5OSwxMTEsMTAwLDEwMSwzMiwxMDksMTExLDEwMCwxMDUsMTAyLDEwNSwKKyAgICA5OSw5NywxMTYsMTA1LDExMSwxMTAsNTksMTAsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMzIsCisgICAgNDUsMzIsMzksMTE1LDEwNSwxMjIsMTAxLDM5LDMyLDQwLDExMSwxMTIsMTE2LDEwNSwxMTEsMTEwLAorICAgIDk3LDEwOCw0MSwzMiwxMDUsMTE1LDMyLDExNiwxMDQsMTAxLDMyLDExNSwxMDUsMTIyLDEwMSwzMiwKKyAgICAxMDUsMTEwLDMyLDk4LDEyMSwxMTYsMTAxLDExNSwzMiwxMTEsMTAyLDMyLDExNiwxMDQsMTAxLDMyLAorICAgIDExNSwxMTEsMTE3LDExNCw5OSwxMDEsMzIsOTksMTExLDEwMCwxMDEsNDYsMTAsMTAsMzIsMzIsCisgICAgMzIsMzIsMzIsMzIsMzIsMzIsNzMsMTA5LDExMiwxMDgsMTAxLDEwOSwxMDEsMTEwLDExNiwxMDUsCisgICAgMTEwLDEwMywzMiwxMTYsMTA0LDEwNSwxMTUsMzIsMTA5LDEwMSwxMTYsMTA0LDExMSwxMDAsMzIsOTcsCisgICAgMTA4LDEwOCwxMTEsMTE5LDExNSwzMiwxMTYsMTA0LDEwMSwzMiwxMDgsMTExLDk3LDEwMCwxMDEsMTE0LAorICAgIDMyLDExNiwxMTEsMzIsMTE0LDEwMSw5NywxMDAsMzIsOTgsMTIxLDExNiwxMDEsOTksMTExLDEwMCwKKyAgICAxMDEsMzIsMTAyLDEwNSwxMDgsMTAxLDExNSw0NiwxMCwzMiwzMiwzMiwzMiwzMiwzMiwzMiwKKyAgICAzMiw4Miw5NywxMDUsMTE1LDEwMSwxMTUsMzIsNzMsNzksNjksMTE0LDExNCwxMTEsMTE0LDMyLAorICAgIDExOSwxMDQsMTAxLDExMCwzMiwxMTYsMTA0LDEwMSwzMiwxMTIsOTcsMTE2LDEwNCwzMiw5OSw5NywKKyAgICAxMTAsMTEwLDExMSwxMTYsMzIsOTgsMTAxLDMyLDEwNCw5NywxMTAsMTAwLDEwOCwxMDEsMTAwLDQ2LAorICAgIDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDExNCwxODIsMCwwLDAsNDEsMSwKKyAgICAxMTQsMzUsMSwwLDAsNDEsMiwxMTQsNzEsMCwwLDAsMTE0LDM1LDAsMCwKKyAgICAwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLAorICAgIDIxOCwxMCwxMTIsOTcsMTE2LDEwNCw5NSwxMTUsMTE2LDk3LDExNiwxMTUsMTY2LDUsMCwwLAorICAgIDExNSwyLDAsMCwwLDAsMTEsMTIyLDIzLDgzLDExMSwxMTcsMTE0LDk5LDEwMSw3NiwKKyAgICAxMTEsOTcsMTAwLDEwMSwxMTQsNDYsMTEyLDk3LDExNiwxMDQsOTUsMTE1LDExNiw5NywxMTYsMTE1LAorICAgIDk5LDQsMCwwLDAsMCwwLDAsMCw0LDAsMCwwLDMsMCwwLAorICAgIDAsNjcsMCwwLDAsMTE1LDE2LDAsMCwwLDEyNCwwLDAsMTA2LDAsMCwKKyAgICAxMjQsMiwwLDEyNCwzLDAsMTMxLDIsMCw4Myw0MSwxLDEyMiwyMjgsNzksMTEyLAorICAgIDExNiwxMDUsMTExLDExMCw5NywxMDgsMzIsMTA5LDEwMSwxMTYsMTA0LDExMSwxMDAsMzIsMTE5LDEwNCwKKyAgICAxMDUsOTksMTA0LDMyLDExOSwxMTQsMTA1LDExNiwxMDEsMTE1LDMyLDEwMCw5NywxMTYsOTcsMzIsCisgICAgNDAsOTgsMTIxLDExNiwxMDEsMTE1LDQxLDMyLDExNiwxMTEsMzIsOTcsMzIsMTAyLDEwNSwxMDgsCisgICAgMTAxLDMyLDExMiw5NywxMTYsMTA0LDMyLDQwLDk3LDMyLDExNSwxMTYsMTE0LDQxLDQ2LDEwLAorICAgIDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDczLDEwOSwxMTIsMTA4LDEwMSwxMDksMTAxLAorICAgIDExMCwxMTYsMTA1LDExMCwxMDMsMzIsMTE2LDEwNCwxMDUsMTE1LDMyLDEwOSwxMDEsMTE2LDEwNCwxMTEsCisgICAgMTAwLDMyLDk3LDEwOCwxMDgsMTExLDExOSwxMTUsMzIsMTAyLDExMSwxMTQsMzIsMTE2LDEwNCwxMDEsCisgICAgMzIsMTE5LDExNCwxMDUsMTE2LDEwNSwxMTAsMTAzLDMyLDExMSwxMDIsMzIsOTgsMTIxLDExNiwxMDEsCisgICAgOTksMTExLDEwMCwxMDEsMzIsMTAyLDEwNSwxMDgsMTAxLDExNSw0NiwxMCwxMCwzMiwzMiwzMiwKKyAgICAzMiwzMiwzMiwzMiwzMiw4NCwxMDQsMTAxLDMyLDExNSwxMTEsMTE3LDExNCw5OSwxMDEsMzIsCisgICAgMTEyLDk3LDExNiwxMDQsMzIsMTA1LDExNSwzMiwxMTAsMTAxLDEwMSwxMDAsMTAxLDEwMCwzMiwxMDUsCisgICAgMTEwLDMyLDExMSwxMTQsMTAwLDEwMSwxMTQsMzIsMTE2LDExMSwzMiw5OSwxMTEsMTE0LDExNCwxMDEsCisgICAgOTksMTE2LDEwOCwxMjEsMzIsMTE2LDExNCw5NywxMTAsMTE1LDEwMiwxMDEsMTE0LDMyLDExMiwxMDEsCisgICAgMTE0LDEwOSwxMDUsMTE1LDExNSwxMDUsMTExLDExMCwxMTUsMTAsMzIsMzIsMzIsMzIsMzIsMzIsCisgICAgMzIsMzIsNDEsMSwyMTgsOCwxMTUsMTAxLDExNiw5NSwxMDAsOTcsMTE2LDk3LDQxLDQsCisgICAgMTE0LDcxLDAsMCwwLDExNCwxNDIsMCwwLDAsOTAsMTAsOTksOTcsOTksMTA0LAorICAgIDEwMSw5NSwxMTIsOTcsMTE2LDEwNCwxMTQsNTMsMCwwLDAsMTE0LDQsMCwwLDAsCisgICAgMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMjE4LDE1LDk1LDk5LDk3LDk5LAorICAgIDEwNCwxMDEsOTUsOTgsMTIxLDExNiwxMDEsOTksMTExLDEwMCwxMDEsMTc5LDUsMCwwLDExNSwKKyAgICAyLDAsMCwwLDAsOCwxMjIsMjgsODMsMTExLDExNywxMTQsOTksMTAxLDc2LDExMSwKKyAgICA5NywxMDAsMTAxLDExNCw0Niw5NSw5OSw5Nyw5OSwxMDQsMTAxLDk1LDk4LDEyMSwxMTYsMTAxLAorICAgIDk5LDExMSwxMDAsMTAxLDk5LDMsMCwwLDAsMCwwLDAsMCwzLDAsMCwKKyAgICAwLDEsMCwwLDAsNjcsMCwwLDAsMTE1LDQsMCwwLDAsMTAwLDEsCisgICAgMCw4Myw0MSwyLDEyMiwxNTAsNzksMTEyLDExNiwxMDUsMTExLDExMCw5NywxMDgsMzIsMTA5LAorICAgIDEwMSwxMTYsMTA0LDExMSwxMDAsMzIsMTE5LDEwNCwxMDUsOTksMTA0LDMyLDExOSwxMTQsMTA1LDExNiwKKyAgICAxMDEsMTE1LDMyLDEwMCw5NywxMTYsOTcsMzIsNDAsOTgsMTIxLDExNiwxMDEsMTE1LDQxLDMyLAorICAgIDExNiwxMTEsMzIsOTcsMzIsMTAyLDEwNSwxMDgsMTAxLDMyLDExMiw5NywxMTYsMTA0LDMyLDQwLAorICAgIDk3LDMyLDExNSwxMTYsMTE0LDQxLDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLAorICAgIDMyLDczLDEwOSwxMTIsMTA4LDEwMSwxMDksMTAxLDExMCwxMTYsMTA1LDExMCwxMDMsMzIsMTE2LDEwNCwKKyAgICAxMDUsMTE1LDMyLDEwOSwxMDEsMTE2LDEwNCwxMTEsMTAwLDMyLDk3LDEwOCwxMDgsMTExLDExOSwxMTUsCisgICAgMzIsMTAyLDExMSwxMTQsMzIsMTE2LDEwNCwxMDEsMzIsMTE5LDExNCwxMDUsMTE2LDEwNSwxMTAsMTAzLAorICAgIDMyLDExMSwxMDIsMzIsOTgsMTIxLDExNiwxMDEsOTksMTExLDEwMCwxMDEsMzIsMTAyLDEwNSwxMDgsCisgICAgMTAxLDExNSw0NiwxMCwzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMiw3OCwxMTQsNCwwLAorICAgIDAsMCw0MSwzLDExNCw3MSwwLDAsMCwxMTQsMzUsMCwwLDAsMTE0LDUzLAogICAgIDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsCi0gICAgMCwwLDExNCw1LDEsMCwwLDE3Miw2LDAsMCwxMTUsMjQsMCwwLDAsCi0gICAgMCw1LDEzLDEsOSwxLDIxLDEsMTYsMSwxNSwxLDIyLDEsMjgsMSwKLSAgICA5LDEsMTIsMSw2LDEsMjgsMSwxMjIsMzEsNjksMTIwLDExNiwxMDEsMTEwLDExNSwKLSAgICAxMDUsMTExLDExMCw3MCwxMDUsMTA4LDEwMSw3NiwxMTEsOTcsMTAwLDEwMSwxMTQsNDYsMTA4LDExMSwKLSAgICA5NywxMDAsOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsOTksMiwwLDAsMCwwLDAsCi0gICAgMCwwLDIsMCwwLDAsNCwwLDAsMCwzLDAsMCwwLDExNSw0OCwKLSAgICAwLDAsMCwxMTYsMCwwLDEyNCwwLDAsMTA2LDEsMCwxMzEsMSwwLDEwMCwKLSAgICAxLDAsMjUsMTM3LDAsMCwxMTYsMiwwLDEzNSwwLDAsMTAyLDEsMCwxMDAsCi0gICAgMiwwLDEwMCwzLDAsMTM0LDAsMCwxMTYsMywwLDY4LDEzMSwxLDAsMTMxLAotICAgIDEsMCw4Myw0MSw0LDEyMiw0OSw4MiwxMDEsMTE2LDExNywxMTQsMTEwLDMyLDg0LDExNCwKLSAgICAxMTcsMTAxLDMyLDEwNSwxMDIsMzIsMTE2LDEwNCwxMDEsMzIsMTAxLDEyMCwxMTYsMTAxLDExMCwxMTUsCi0gICAgMTA1LDExMSwxMTAsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsMTA1LDExNSwzMiw5NywzMiwKLSAgICAxMTIsOTcsOTksMTA3LDk3LDEwMywxMDEsNDYsMTE0LDI5LDAsMCwwLDk5LDEsMCwKLSAgICAwLDAsMCwwLDAsMCwyLDAsMCwwLDQsMCwwLDAsNTEsMCwKLSAgICAwLDAsMTE1LDMxLDAsMCwwLDEyNCwwLDAsOTMsMjEsMCwxMjUsMSwwLAotICAgIDEzNiwwLDAsMTAwLDAsMCwxMjQsMSwwLDIzLDEwNywyLDAsODYsMSwxMTMsCi0gICAgMywwLDEwMCwxLDAsODMsNDEsMiwxMTQsNzIsMCwwLDAsNzgsMTE0LDQsCi0gICAgMCwwLDAsNDEsMiwxMTQsMjIsMCwwLDAsMjE4LDYsMTE1LDExNywxMDIsMTAyLAotICAgIDEwNSwxMjAsNDEsMSwyMTgsOSwxMDIsMTA1LDEwOCwxMDEsOTUsMTEwLDk3LDEwOSwxMDEsMTE0LAotICAgIDQsMCwwLDAsMTE0LDUsMCwwLDAsMTE0LDc3LDAsMCwwLDE5Myw2LAotICAgIDAsMCwxMTUsMiwwLDAsMCw2LDEsMTIyLDQ5LDY5LDEyMCwxMTYsMTAxLDExMCwKLSAgICAxMTUsMTA1LDExMSwxMTAsNzAsMTA1LDEwOCwxMDEsNzYsMTExLDk3LDEwMCwxMDEsMTE0LDQ2LDEwNSwKLSAgICAxMTUsOTUsMTEyLDk3LDk5LDEwNyw5NywxMDMsMTAxLDQ2LDYwLDEwOCwxMTEsOTksOTcsMTA4LAotICAgIDExNSw2Miw0Niw2MCwxMDMsMTAxLDExMCwxMDEsMTIwLDExMiwxMTQsNjIsNDEsNCwxMTQsMzgsCi0gICAgMCwwLDAsMTE0LDM1LDAsMCwwLDExNCw3OCwwLDAsMCwyMTgsMTgsNjksCi0gICAgODgsODQsNjksNzgsODMsNzMsNzksNzgsOTUsODMsODUsNzAsNzAsNzMsODgsNjksCi0gICAgODMsNDEsMiwxMTQsNzEsMCwwLDAsMTE0LDE1OSwwLDAsMCwxMTQsNCwwLAotICAgIDAsMCw0MSwxLDExNCw1OSwxLDAsMCwxMTQsNSwwLDAsMCwxMTQsMjIwLAotICAgIDAsMCwwLDE5MCw2LDAsMCwxMTUsNiwwLDAsMCwwLDIsMTksMSwKLSAgICAxOCwxLDEyMiwzMCw2OSwxMjAsMTE2LDEwMSwxMTAsMTE1LDEwNSwxMTEsMTEwLDcwLDEwNSwxMDgsCi0gICAgMTAxLDc2LDExMSw5NywxMDAsMTAxLDExNCw0NiwxMDUsMTE1LDk1LDExMiw5Nyw5OSwxMDcsOTcsCi0gICAgMTAzLDEwMSw5OSwyLDAsMCwwLDAsMCwwLDAsMiwwLDAsMCwxLAotICAgIDAsMCwwLDY3LDAsMCwwLDExNSw0LDAsMCwwLDEwMCwxLDAsODMsCi0gICAgNDEsMiwxMjIsNjMsODIsMTAxLDExNiwxMTcsMTE0LDExMCwzMiw3OCwxMTEsMTEwLDEwMSwzMiwKLSAgICA5NywxMTUsMzIsOTcsMTEwLDMyLDEwMSwxMjAsMTE2LDEwMSwxMTAsMTE1LDEwNSwxMTEsMTEwLDMyLAotICAgIDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDMyLDk5LDk3LDExMCwxMTAsMTExLDExNiwzMiw5OSwxMTQsCi0gICAgMTAxLDk3LDExNiwxMDEsMzIsOTcsMzIsOTksMTExLDEwMCwxMDEsMzIsMTExLDk4LDEwNiwxMDEsCi0gICAgOTksMTE2LDQ2LDc4LDExNCw0LDAsMCwwLDQxLDIsMTE0LDcxLDAsMCwwLAotICAgIDExNCwxNTksMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LAotICAgIDUsMCwwLDAsMTE0LDE2LDEsMCwwLDE5Niw2LDAsMCwxMTUsMiwwLAotICAgIDAsMCwwLDIsMTIyLDI4LDY5LDEyMCwxMTYsMTAxLDExMCwxMTUsMTA1LDExMSwxMTAsNzAsCi0gICAgMTA1LDEwOCwxMDEsNzYsMTExLDk3LDEwMCwxMDEsMTE0LDQ2LDEwMywxMDEsMTE2LDk1LDk5LDExMSwKLSAgICAxMDAsMTAxLDk5LDIsMCwwLDAsMCwwLDAsMCwyLDAsMCwwLDEsCi0gICAgMCwwLDAsNjcsMCwwLDAsMTE1LDQsMCwwLDAsMTAwLDEsMCw4MywKLSAgICA0MSwyLDEyMiw1Myw4MiwxMDEsMTE2LDExNywxMTQsMTEwLDMyLDc4LDExMSwxMTAsMTAxLDMyLAotICAgIDk3LDExNSwzMiwxMDEsMTIwLDExNiwxMDEsMTEwLDExNSwxMDUsMTExLDExMCwzMiwxMDksMTExLDEwMCwKLSAgICAxMTcsMTA4LDEwMSwxMTUsMzIsMTA0LDk3LDExOCwxMDEsMzIsMTEwLDExMSwzMiwxMTUsMTExLDExNywKKyAgICAwLDAsMTE0LDM3LDEsMCwwLDE4OSw1LDAsMCwxMTUsMCwwLDAsMCwKKyAgICAxMjIsMjEsODMsMTExLDExNywxMTQsOTksMTAxLDc2LDExMSw5NywxMDAsMTAxLDExNCw0NiwxMTUsCisgICAgMTAxLDExNiw5NSwxMDAsOTcsMTE2LDk3LDk5LDIsMCwwLDAsMCwwLDAsMCwKKyAgICA1LDAsMCwwLDE2LDAsMCwwLDY3LDAsMCwwLDExNSwxMDUsMCwwLAorICAgIDAsMTI0LDAsMCwxMDYsMCwwLDEyNCwxLDAsMTMxLDEsMCwxMjUsMiwwLAorICAgIDEyMSwxOSwwLDEyNCwwLDAsMTA2LDEsMCwxMjQsMiwwLDEzMSwxLDAsMTI1LAorICAgIDMsMCw4NywxMTAsNTgsMCw0LDExNiwyLDAsMTA3LDEwLDAsMTE0LDk0LDAsCisgICAgMSwxMjUsNCwwLDEsMTIyLDI2LDAsMTE2LDMsMCwxMDAsMSwwLDEwMCwyLAorICAgIDAsMTI0LDEsMCwxMzEsMSwxLDEyNCw0LDAsMTMwLDIsMCw4Nyw4OSwxMDAsCisgICAgMywwLDEwMCwzLDAsMTI1LDQsMCwxMjYsNCwwLDg4LDExMCwxLDAsODgsCisgICAgMTE2LDQsMCwxMjQsMywwLDEzMSwxLDAsODMsNDEsNCwxMjIsNTIsNjcsMTExLAorICAgIDExMCw5OSwxMTQsMTAxLDExNiwxMDEsMzIsMTA1LDEwOSwxMTIsMTA4LDEwMSwxMDksMTAxLDExMCwxMTYsCisgICAgOTcsMTE2LDEwNSwxMTEsMTEwLDMyLDExMSwxMDIsMzIsNzMsMTEwLDExNSwxMTIsMTAxLDk5LDExNiwKKyAgICA3NiwxMTEsOTcsMTAwLDEwMSwxMTQsNDYsMTAzLDEwMSwxMTYsOTUsMTE1LDExMSwxMTcsMTE0LDk5LAorICAgIDEwMSw0NiwxMjIsMzksMTE1LDExMSwxMTcsMTE0LDk5LDEwMSwzMiwxMTAsMTExLDExNiwzMiw5NywKKyAgICAxMTgsOTcsMTA1LDEwOCw5Nyw5OCwxMDgsMTAxLDMyLDExNiwxMDQsMTE0LDExMSwxMTcsMTAzLDEwNCwKKyAgICAzMiwxMDMsMTAxLDExNiw5NSwxMDAsOTcsMTE2LDk3LDQwLDQxLDExNCw2NywwLDAsMCwKKyAgICA3OCw0MSw1LDExNCwyMzgsMCwwLDAsMjE4LDgsMTAzLDEwMSwxMTYsOTUsMTAwLDk3LAorICAgIDExNiw5NywxMTQsNDAsMCwwLDAsMTE0LDE1NCwwLDAsMCwxMTQsMjAyLDAsMCwKKyAgICAwLDQxLDUsMTE0LDcxLDAsMCwwLDExNCwxNTksMCwwLDAsMTE0LDM1LDAsCisgICAgMCwwLDExNCwyMDAsMCwwLDAsMjE4LDMsMTAxLDEyMCw5OSwxMTQsNCwwLDAsCisgICAgMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsMTUsMSwwLDAsCisgICAgMTk2LDUsMCwwLDExNSwxNCwwLDAsMCwwLDIsMTUsMSwzLDEsMTksCisgICAgMSwxOCwxLDksMSwzMSwxLDEyMiwyMyw4MywxMTEsMTE3LDExNCw5OSwxMDEsNzYsCisgICAgMTExLDk3LDEwMCwxMDEsMTE0LDQ2LDEwMywxMDEsMTE2LDk1LDExNSwxMTEsMTE3LDExNCw5OSwxMDEsCisgICAgMjE4LDksOTUsMTExLDExMiwxMTYsMTA1LDEwOSwxMDUsMTIyLDEwMSwxMTQsMjksMCwwLDAsCisgICAgOTksMywwLDAsMCwxLDAsMCwwLDQsMCwwLDAsOSwwLDAsCisgICAgMCw2NywwLDAsMCwxMTUsMzEsMCwwLDAsMTE2LDAsMCwxMTYsMSwwLAorICAgIDEyNCwxLDAsMTI0LDIsMCwxMDAsMSwwLDEwMCwyLDAsMTAwLDMsMCwxMDAsCisgICAgNCwwLDEyNCwzLDAsMTMxLDQsMiw4Myw0MSw1LDEyMiwxMzAsODIsMTAxLDExNiwKKyAgICAxMTcsMTE0LDExMCwzMiwxMTYsMTA0LDEwMSwzMiw5OSwxMTEsMTAwLDEwMSwzMiwxMTEsOTgsMTA2LAorICAgIDEwMSw5OSwxMTYsMzIsOTksMTExLDEwOSwxMTIsMTA1LDEwOCwxMDEsMTAwLDMyLDEwMiwxMTQsMTExLAorICAgIDEwOSwzMiwxMTUsMTExLDExNywxMTQsOTksMTAxLDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDMyLAorICAgIDMyLDMyLDMyLDg0LDEwNCwxMDEsMzIsMzksMTAwLDk3LDExNiw5NywzOSwzMiw5NywxMTQsCisgICAgMTAzLDExNywxMDksMTAxLDExMCwxMTYsMzIsOTksOTcsMTEwLDMyLDk4LDEwMSwzMiw5NywxMTAsCisgICAgMTIxLDMyLDExMSw5OCwxMDYsMTAxLDk5LDExNiwzMiwxMTYsMTIxLDExMiwxMDEsMzIsMTE2LDEwNCwKKyAgICA5NywxMTYsMzIsOTksMTExLDEwOSwxMTIsMTA1LDEwOCwxMDEsNDAsNDEsMzIsMTE1LDExNywxMTIsCisgICAgMTEyLDExMSwxMTQsMTE2LDExNSw0NiwxMCwzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMiwxMTQsCisgICAgMjEsMSwwLDAsMjE4LDEyLDEwMCwxMTEsMTEwLDExNiw5NSwxMDUsMTEwLDEwNCwxMDEsMTE0LAorICAgIDEwNSwxMTYsODQsMTE0LDExOCwwLDAsMCw0MSwyLDExNCwxMTQsMCwwLDAsMjE4LAorICAgIDcsOTksMTExLDEwOSwxMTIsMTA1LDEwOCwxMDEsNDEsNCwxMTQsNzEsMCwwLDAsMTE0LAorICAgIDUzLDAsMCwwLDExNCwzNSwwLDAsMCwxMTQsNDEsMSwwLDAsMTE0LDQsCisgICAgMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMjE4LDE0LDExNSwKKyAgICAxMTEsMTE3LDExNCw5OSwxMDEsOTUsMTE2LDExMSw5NSw5OSwxMTEsMTAwLDEwMSwyMDYsNSwwLAorICAgIDAsMTE1LDQsMCwwLDAsMCw1LDE4LDEsMTIyLDI3LDgzLDExMSwxMTcsMTE0LAorICAgIDk5LDEwMSw3NiwxMTEsOTcsMTAwLDEwMSwxMTQsNDYsMTE1LDExMSwxMTcsMTE0LDk5LDEwMSw5NSwKKyAgICAxMTYsMTExLDk1LDk5LDExMSwxMDAsMTAxLDk5LDIsMCwwLDAsMCwwLDAsMCwKKyAgICAxMCwwLDAsMCw0MywwLDAsMCw2NywwLDAsMCwxMTUsMTc0LDEsMCwKKyAgICAwLDEyNCwwLDAsMTA2LDAsMCwxMjQsMSwwLDEzMSwxLDAsMTI1LDIsMCwKKyAgICAxMDAsMSwwLDEyNSwzLDAsMTIxLDE2LDAsMTE2LDEsMCwxMjQsMiwwLDEzMSwKKyAgICAxLDAsMTI1LDQsMCw4NywxMTAsMjQsMCw0LDExNiwyLDAsMTA3LDEwLDAsCisgICAgMTE0LDYzLDAsMSwxLDEsMTAwLDEsMCwxMjUsNCwwLDg5LDExMCwyMDIsMCwKKyAgICA4OCwxMjEsMTksMCwxMjQsMCwwLDEwNiwzLDAsMTI0LDIsMCwxMzEsMSwwLAorICAgIDEyNSw1LDAsODcsMTEwLDE4LDAsNCwxMTYsNCwwLDEwNywxMCwwLDExNCwxMDMsCisgICAgMCwxLDEsMSw4OSwxMTAsMTYyLDAsODgsMTE2LDUsMCwxMjQsNSwwLDEwMCwKKyAgICAyLDAsMjUsMTMxLDEsMCwxMjUsMywwLDEyMSwxOSwwLDEyNCwwLDAsMTA2LAorICAgIDYsMCwxMjQsNCwwLDEzMSwxLDAsMTI1LDYsMCw4NywxMTAsMTgsMCw0LAorICAgIDExNiw3LDAsMTA3LDEwLDAsMTE0LDE1OSwwLDEsMSwxLDg5LDExMCwxMDYsMCwKKyAgICA4OCwxMjEsMzQsMCwxMTYsOCwwLDEyNCw2LDAsMTAwLDMsMCwxMjQsNSwwLAorICAgIDEwMCw0LDAsMTI0LDEsMCwxMDAsNSwwLDEyNCw0LDAsMTMxLDEsMywxMjUsCisgICAgNywwLDg3LDExMCwyNCwwLDQsMTE2LDksMCwxMTYsMTAsMCwxMDIsMiwwLAorICAgIDEwNywxMCwwLDExNCwyMjAsMCwxLDEsMSw4OSwxMTAsNDUsMCw4OCwxMTYsMTEsCisgICAgMCwxMDAsNiwwLDEyNCw0LDAsMTI0LDIsMCwxMzEsMywwLDEsMTE2LDEyLAorICAgIDAsMTI0LDcsMCwxMDAsNCwwLDEyNCwxLDAsMTAwLDcsMCwxMjQsNCwwLAorICAgIDEwMCw4LDAsMTI0LDIsMCwxMzEsMSwzLDgzLDEyNCwwLDAsMTA2LDYsMCwKKyAgICAxMjQsMiwwLDEzMSwxLDAsMTI1LDgsMCwxMjQsMCwwLDEwNiwxMywwLDEyNCwKKyAgICA4LDAsMTI0LDIsMCwxMzEsMiwwLDEyNSw5LDAsMTE2LDExLDAsMTAwLDksCisgICAgMCwxMjQsMiwwLDEzMSwyLDAsMSwxMTYsMTQsMCwxMDYsMTUsMCwxMiwxMTQsCisgICAgMTcwLDEsMTI0LDQsMCwxMDAsMSwwLDEwNyw5LDAsMTE0LDE3MCwxLDEyNCwzLAorICAgIDAsMTAwLDEsMCwxMDcsOSwwLDExNCwxNzAsMSwxMTYsMTYsMCwxMjQsOSwwLAorICAgIDEyNCwzLDAsMTE2LDE3LDAsMTI0LDgsMCwxMzEsMSwwLDEzMSwzLDAsMTI1LAorICAgIDYsMCwxMjEsMzYsMCwxMjQsMCwwLDEwNiwxOCwwLDEyNCwyLDAsMTI0LDQsCisgICAgMCwxMjQsNiwwLDEzMSwzLDAsMSwxMTYsMTEsMCwxMDAsMTAsMCwxMjQsNCwKKyAgICAwLDEzMSwyLDAsMSw4NywxMTAsMTgsMCw0LDExNiwyLDAsMTA3LDEwLDAsCisgICAgMTE0LDE2OSwxLDEsMSwxLDg5LDExMCwxLDAsODgsMTI0LDksMCw4Myw0MSwKKyAgICAxMSwxMjIsMTkwLDY3LDExMSwxMTAsOTksMTE0LDEwMSwxMTYsMTAxLDMyLDEwNSwxMDksMTEyLDEwOCwKKyAgICAxMDEsMTA5LDEwMSwxMTAsMTE2LDk3LDExNiwxMDUsMTExLDExMCwzMiwxMTEsMTAyLDMyLDczLDExMCwKKyAgICAxMTUsMTEyLDEwMSw5OSwxMTYsNzYsMTExLDk3LDEwMCwxMDEsMTE0LDQ2LDEwMywxMDEsMTE2LDk1LAorICAgIDk5LDExMSwxMDAsMTAxLDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDgyLAorICAgIDEwMSw5NywxMDAsMTA1LDExMCwxMDMsMzIsMTExLDEwMiwzMiw5OCwxMjEsMTE2LDEwMSw5OSwxMTEsCisgICAgMTAwLDEwMSwzMiwxMTQsMTAxLDExMywxMTcsMTA1LDExNCwxMDEsMTE1LDMyLDExMiw5NywxMTYsMTA0LAorICAgIDk1LDExNSwxMTYsOTcsMTE2LDExNSwzMiwxMTYsMTExLDMyLDk4LDEwMSwzMiwxMDUsMTA5LDExMiwKKyAgICAxMDgsMTAxLDEwOSwxMDEsMTEwLDExNiwxMDEsMTAwLDQ2LDMyLDg0LDExMSwzMiwxMTksMTE0LDEwNSwKKyAgICAxMTYsMTAxLDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDk4LDEyMSwxMTYsMTAxLDk5LAorICAgIDExMSwxMDAsMTAxLDQ0LDMyLDExNSwxMDEsMTE2LDk1LDEwMCw5NywxMTYsOTcsMzIsMTA5LDExNywKKyAgICAxMTUsMTE2LDMyLDk3LDEwOCwxMTUsMTExLDMyLDk4LDEwMSwzMiwxMDUsMTA5LDExMiwxMDgsMTAxLAorICAgIDEwOSwxMDEsMTEwLDExNiwxMDEsMTAwLDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLAorICAgIDMyLDc4LDExNCwxODIsMCwwLDAsMTE0LDE4NiwwLDAsMCwxMTQsNjcsMCwwLAorICAgIDAsMTE0LDM1LDAsMCwwLDEyMiwxMywxMjMsMTI1LDMyLDEwOSw5NywxMTYsOTksMTA0LAorICAgIDEwMSwxMTUsMzIsMTIzLDEyNSwxMTQsMTQxLDAsMCwwLDExNCwxNDIsMCwwLDAsMTIyLAorICAgIDE5LDk5LDExMSwxMDAsMTAxLDMyLDExMSw5OCwxMDYsMTAxLDk5LDExNiwzMiwxMDIsMTE0LDExMSwKKyAgICAxMDksMzIsMTIzLDEyNSwxMjIsMTAsMTE5LDExNCwxMTEsMTE2LDEwMSwzMiwxMjMsMzMsMTE0LDEyNSwKKyAgICA0MSwxOSwxMTQsMjM4LDAsMCwwLDExNCwxMzIsMCwwLDAsMTE0LDEyMywwLDAsCisgICAgMCwxMTQsMzYsMSwwLDAsMTE0LDM0LDEsMCwwLDExNCwxNCwwLDAsMCwKKyAgICAxMTQsMzksMSwwLDAsMTE0LDQwLDAsMCwwLDExNCwxODksMCwwLDAsMTE0LAorICAgIDE1NCwwLDAsMCwxMTQsMTg1LDAsMCwwLDExNCwxNTMsMCwwLDAsMTE0LDE5NCwKKyAgICAwLDAsMCwxMTQsNDQsMSwwLDAsMTE0LDcsMCwwLDAsMjE4LDE5LDEwMCwKKyAgICAxMTEsMTEwLDExNiw5NSwxMTksMTE0LDEwNSwxMTYsMTAxLDk1LDk4LDEyMSwxMTYsMTAxLDk5LDExMSwKKyAgICAxMDAsMTAxLDExNCwxOTcsMCwwLDAsMTE0LDMxLDAsMCwwLDExNCwzOCwxLDAsCisgICAgMCw0MSwxMCwxMTQsNzEsMCwwLDAsMTE0LDE1OSwwLDAsMCwxMTQsMTQyLDAsCisgICAgMCwwLDExNCwxODcsMCwwLDAsMTE0LDE0MSwwLDAsMCwyMTgsMiwxMTUsMTE2LAorICAgIDExNCw1MywwLDAsMCwyMTgsMTAsOTgsMTIxLDExNiwxMDEsMTE1LDk1LDEwMCw5NywxMTYsCisgICAgOTcsMTE0LDIwMCwwLDAsMCw5MCwxMSw5OSwxMTEsMTAwLDEwMSw5NSwxMTEsOTgsMTA2LAorICAgIDEwMSw5OSwxMTYsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwKKyAgICAwLDAsMTE0LDE0LDEsMCwwLDIxNCw1LDAsMCwxMTUsNzgsMCwwLDAsCisgICAgMCw3LDE1LDEsNiwxLDMsMSwxNiwxLDEzLDEsMTEsMiwzLDEsCisgICAgMTksMSwxMywxLDUsMiwxNiwxLDMsMSwxOSwxLDEzLDEsNSwyLAorICAgIDMsMSw5LDEsMTIsMSwxMywxLDE5LDEsNSwyLDksMSw3LDEsCisgICAgMTUsMSw2LDEsNywxLDE1LDEsMTgsMSwxMywxLDIyLDEsMTIsMSwKKyAgICA5LDEsMTUsMSwzLDEsMTksMSwxNywxLDEzLDEsNSwxLDEyMiwyMSwKKyAgICA4MywxMTEsMTE3LDExNCw5OSwxMDEsNzYsMTExLDk3LDEwMCwxMDEsMTE0LDQ2LDEwMywxMDEsMTE2LAorICAgIDk1LDk5LDExMSwxMDAsMTAxLDc4LDExNCwxMzksMCwwLDAsNDEsMTAsMTE0LDU3LDAsCisgICAgMCwwLDExNCw1NiwwLDAsMCwxMTQsNTgsMCwwLDAsMTE0LDM1LDEsMCwKKyAgICAwLDExNCwzNiwxLDAsMCwxMTQsMzgsMSwwLDAsMTE0LDM3LDEsMCwwLAorICAgIDExNCwxNSwxLDAsMCwxMTQsNDQsMSwwLDAsMTE0LDE0LDEsMCwwLDExNCwKKyAgICA0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LAorICAgIDAsMCwwLDExNCwzMywxLDAsMCwxNTYsNSwwLDAsMTE1LDE0LDAsMCwKKyAgICAwLDEyLDIsMTIsOCwxMiwxMywxMiwxMCwxMiw3LDEyLDEwLDE4LDgsMTE0LAorICAgIDMzLDEsMCwwLDk5LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwKKyAgICAwLDQsMCwwLDAsMCwwLDAsMCwxMTUsMTEyLDAsMCwwLDEwMSwwLAorICAgIDAsOTAsMSwwLDEwMCwwLDAsOTAsMiwwLDEwMCwxLDAsOTAsMywwLAorICAgIDEwMCwyLDAsMTAwLDMsMCwxMzIsMCwwLDkwLDQsMCwxMDAsNCwwLDEwMCwKKyAgICA1LDAsMTMyLDAsMCw5MCw1LDAsMTAwLDYsMCwxMDAsNywwLDEzMiwwLAorICAgIDAsOTAsNiwwLDEwMSw3LDAsMTM1LDAsMCwxMDIsMSwwLDEwMCw4LDAsCisgICAgMTAwLDksMCwxMzQsMCwwLDEzMSwxLDAsOTAsOCwwLDEwMSw3LDAsMTAwLAorICAgIDEwLDAsMTAwLDExLDAsMTMyLDAsMCwxMzEsMSwwLDkwLDksMCwxMDAsMTIsCisgICAgMCwxMDAsMTMsMCwxMzIsMCwwLDkwLDEwLDAsMTM1LDAsMCw4Myw0MSwxNCwKKyAgICAyMTgsMTAsNzAsMTA1LDEwOCwxMDEsNzYsMTExLDk3LDEwMCwxMDEsMTE0LDEyMiwxMDMsNjYsOTcsCisgICAgMTE1LDEwMSwzMiwxMDIsMTA1LDEwOCwxMDEsMzIsMTA4LDExMSw5NywxMDAsMTAxLDExNCwzMiw5OSwKKyAgICAxMDgsOTcsMTE1LDExNSwzMiwxMTksMTA0LDEwNSw5OSwxMDQsMzIsMTA1LDEwOSwxMTIsMTA4LDEwMSwKKyAgICAxMDksMTAxLDExMCwxMTYsMTE1LDMyLDExNiwxMDQsMTAxLDMyLDEwOCwxMTEsOTcsMTAwLDEwMSwxMTQsCisgICAgMzIsMTEyLDExNCwxMTEsMTE2LDExMSw5OSwxMTEsMTA4LDMyLDEwOSwxMDEsMTE2LDEwNCwxMTEsMTAwLAorICAgIDExNSwzMiwxMTYsMTA0LDk3LDExNiwxMCwzMiwzMiwzMiwzMiwxMTQsMTAxLDExMywxMTcsMTA1LAorICAgIDExNCwxMDEsMzIsMTAyLDEwNSwxMDgsMTAxLDMyLDExNSwxMjEsMTE1LDExNiwxMDEsMTA5LDMyLDExNywKKyAgICAxMTUsOTcsMTAzLDEwMSw0Niw5OSwzLDAsMCwwLDAsMCwwLDAsMywwLAorICAgIDAsMCwyLDAsMCwwLDY3LDAsMCwwLDExNSwyMiwwLDAsMCwxMjQsCisgICAgMSwwLDEyNCwwLDAsOTUsMCwwLDEyNCwyLDAsMTI0LDAsMCw5NSwxLAorICAgIDAsMTAwLDEsMCw4Myw0MSwyLDEyMiw3NSw2Nyw5Nyw5OSwxMDQsMTAxLDMyLDExNiwKKyAgICAxMDQsMTAxLDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDMyLDExMCw5NywxMDksMTAxLDMyLDk3LAorICAgIDExMCwxMDAsMzIsMTE2LDEwNCwxMDEsMzIsMTEyLDk3LDExNiwxMDQsMzIsMTE2LDExMSwzMiwxMTYsCisgICAgMTA0LDEwMSwzMiwxMDIsMTA1LDEwOCwxMDEsMzIsMTAyLDExMSwxMTcsMTEwLDEwMCwzMiw5OCwxMjEsCisgICAgMzIsMTE2LDEwNCwxMDEsMTAsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMTAyLDEwNSwxMTAsCisgICAgMTAwLDEwMSwxMTQsNDYsNzgsNDEsMiwxMTQsNjcsMCwwLDAsMTE0LDM1LDAsMCwKKyAgICAwLDQxLDMsMTE0LDcxLDAsMCwwLDExNCwxNTksMCwwLDAsMTE0LDM1LDAsCisgICAgMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwKKyAgICAwLDExNCw3MiwwLDAsMCwxNSw2LDAsMCwxMTUsNCwwLDAsMCwwLAorICAgIDMsOSwxLDEyMiwxOSw3MCwxMDUsMTA4LDEwMSw3NiwxMTEsOTcsMTAwLDEwMSwxMTQsNDYsCisgICAgOTUsOTUsMTA1LDExMCwxMDUsMTE2LDk1LDk1LDk5LDIsMCwwLDAsMCwwLDAsCisgICAgMCwyLDAsMCwwLDIsMCwwLDAsNjcsMCwwLDAsMTE1LDM0LDAsCisgICAgMCwwLDEyNCwwLDAsMTA2LDAsMCwxMjQsMSwwLDEwNiwwLDAsMTA3LDIsCisgICAgMCwxMTEsMzMsMCwxMjQsMCwwLDEwNiwxLDAsMTI0LDEsMCwxMDYsMSwwLAorICAgIDEwNywyLDAsODMsNDEsMSw3OCw0MSwyLDExNCwyMjQsMCwwLDAsMTE0LDYzLAorICAgIDAsMCwwLDQxLDIsMTE0LDcxLDAsMCwwLDExNCwyMjcsMCwwLDAsMTE0LAorICAgIDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMTE0LDIyOSwKKyAgICAwLDAsMCwyMSw2LDAsMCwxMTUsNCwwLDAsMCwwLDEsMTgsMSwKKyAgICAxMjIsMTcsNzAsMTA1LDEwOCwxMDEsNzYsMTExLDk3LDEwMCwxMDEsMTE0LDQ2LDk1LDk1LDEwMSwKKyAgICAxMTMsOTUsOTUsOTksMSwwLDAsMCwwLDAsMCwwLDEsMCwwLDAsCisgICAgMywwLDAsMCw2NywwLDAsMCwxMTUsMjYsMCwwLDAsMTE2LDAsMCwKKyAgICAxMjQsMCwwLDEwNiwxLDAsMTMxLDEsMCwxMTYsMCwwLDEyNCwwLDAsMTA2LAorICAgIDIsMCwxMzEsMSwwLDY1LDgzLDQxLDEsNzgsNDEsMywyMTgsNCwxMDQsOTcsCisgICAgMTE1LDEwNCwxMTQsNjcsMCwwLDAsMTE0LDM1LDAsMCwwLDQxLDEsMTE0LDcxLAorICAgIDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsCisgICAgMCwwLDIxOCw4LDk1LDk1LDEwNCw5NywxMTUsMTA0LDk1LDk1LDI1LDYsMCwwLAorICAgIDExNSwyLDAsMCwwLDAsMSwxMjIsMTksNzAsMTA1LDEwOCwxMDEsNzYsMTExLDk3LAorICAgIDEwMCwxMDEsMTE0LDQ2LDk1LDk1LDEwNCw5NywxMTUsMTA0LDk1LDk1LDk5LDIsMCwwLAorICAgIDAsMCwwLDAsMCwyLDAsMCwwLDMsMCwwLDAsMywwLDAsCisgICAgMCwxMTUsMjIsMCwwLDAsMTE2LDAsMCwxMTYsMSwwLDEyNCwwLDAsMTMxLAorICAgIDIsMCwxMDYsMiwwLDEyNCwxLDAsMTMxLDEsMCw4Myw0MSwxLDEyMiwxMDAsCisgICAgNzYsMTExLDk3LDEwMCwzMiw5NywzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwzMiwxMDIsMTE0LAorICAgIDExMSwxMDksMzIsOTcsMzIsMTAyLDEwNSwxMDgsMTAxLDQ2LDEwLDEwLDMyLDMyLDMyLDMyLAorICAgIDMyLDMyLDMyLDMyLDg0LDEwNCwxMDUsMTE1LDMyLDEwOSwxMDEsMTE2LDEwNCwxMTEsMTAwLDMyLAorICAgIDEwNSwxMTUsMzIsMTAwLDEwMSwxMTIsMTE0LDEwMSw5OSw5NywxMTYsMTAxLDEwMCw0NiwzMiwzMiwKKyAgICA4NSwxMTUsMTAxLDMyLDEwMSwxMjAsMTAxLDk5LDk1LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDQwLAorICAgIDQxLDMyLDEwNSwxMTAsMTE1LDExNiwxMDEsOTcsMTAwLDQ2LDEwLDEwLDMyLDMyLDMyLDMyLAorICAgIDMyLDMyLDMyLDMyLDQxLDMsMjE4LDUsMTE1LDExNywxMTIsMTAxLDExNCwxMTQsNDgsMSwKKyAgICAwLDAsMTE0LDMsMSwwLDAsNDEsMiwxMTQsNzEsMCwwLDAsMTE0LDE1OSwKKyAgICAwLDAsMCw0MSwxLDExNCwyMjQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LAorICAgIDUsMCwwLDAsMTE0LDMsMSwwLDAsMjgsNiwwLDAsMTE1LDIsMCwKKyAgICAwLDAsMCwxMCwxMjIsMjIsNzAsMTA1LDEwOCwxMDEsNzYsMTExLDk3LDEwMCwxMDEsMTE0LAorICAgIDQ2LDEwOCwxMTEsOTcsMTAwLDk1LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDk5LDIsMCwwLAorICAgIDAsMCwwLDAsMCwyLDAsMCwwLDEsMCwwLDAsNjcsMCwwLAorICAgIDAsMTE1LDcsMCwwLDAsMTI0LDAsMCwxMDYsMCwwLDgzLDQxLDEsMTIyLAorICAgIDU4LDgyLDEwMSwxMTYsMTE3LDExNCwxMTAsMzIsMTE2LDEwNCwxMDEsMzIsMTEyLDk3LDExNiwxMDQsCisgICAgMzIsMTE2LDExMSwzMiwxMTYsMTA0LDEwMSwzMiwxMTUsMTExLDExNywxMTQsOTksMTAxLDMyLDEwMiwKKyAgICAxMDUsMTA4LDEwMSwzMiw5NywxMTUsMzIsMTAyLDExMSwxMTcsMTEwLDEwMCwzMiw5OCwxMjEsMzIsCisgICAgMTE2LDEwNCwxMDEsMzIsMTAyLDEwNSwxMTAsMTAwLDEwMSwxMTQsNDYsNDEsMSwxMTQsMzUsMCwKKyAgICAwLDAsNDEsMiwxMTQsNzEsMCwwLDAsMTE0LDE1OSwwLDAsMCwxMTQsNCwKKyAgICAwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsMjM4LDAsCisgICAgMCwwLDQwLDYsMCwwLDExNSwyLDAsMCwwLDAsMywxMjIsMjMsNzAsCisgICAgMTA1LDEwOCwxMDEsNzYsMTExLDk3LDEwMCwxMDEsMTE0LDQ2LDEwMywxMDEsMTE2LDk1LDEwMiwxMDUsCisgICAgMTA4LDEwMSwxMTAsOTcsMTA5LDEwMSw5OSwyLDAsMCwwLDAsMCwwLDAsMywKKyAgICAwLDAsMCw4LDAsMCwwLDY3LDAsMCwwLDExNSw0MSwwLDAsMCwKKyAgICAxMTYsMCwwLDEwNiwxLDAsMTI0LDEsMCwxMDAsMSwwLDEzMSwyLDAsMTQzLAorICAgIDE3LDAsMTI1LDIsMCwxMjQsMiwwLDEwNiwyLDAsMTMxLDAsMCw4Myw4NywKKyAgICAxMDAsMiwwLDgxLDg4LDEwMCwyLDAsODMsNDEsMywxMjIsMzksODIsMTAxLDExNiwKKyAgICAxMTcsMTE0LDExMCwzMiwxMTYsMTA0LDEwMSwzMiwxMDAsOTcsMTE2LDk3LDMyLDEwMiwxMTQsMTExLAorICAgIDEwOSwzMiwxMTIsOTcsMTE2LDEwNCwzMiw5NywxMTUsMzIsMTE0LDk3LDExOSwzMiw5OCwxMjEsCisgICAgMTE2LDEwMSwxMTUsNDYsMjE4LDEsMTE0LDc4LDQxLDMsMTE0LDQ5LDAsMCwwLDExNCwKKyAgICA1MCwwLDAsMCw5MCw0LDExNCwxMDEsOTcsMTAwLDQxLDMsMTE0LDcxLDAsMCwKKyAgICAwLDExNCwzNSwwLDAsMCwxMTQsNTQsMCwwLDAsMTE0LDQsMCwwLDAsCisgICAgMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMTE0LDM5LDEsMCwwLDQ1LAorICAgIDYsMCwwLDExNSw0LDAsMCwwLDAsMiwyMSwxLDEyMiwxOSw3MCwxMDUsCisgICAgMTA4LDEwMSw3NiwxMTEsOTcsMTAwLDEwMSwxMTQsNDYsMTAzLDEwMSwxMTYsOTUsMTAwLDk3LDExNiwKKyAgICA5Nyw0MSwxMSwxMTQsNTcsMCwwLDAsMTE0LDU2LDAsMCwwLDExNCw1OCwwLAorICAgIDAsMCwxMTQsNTksMCwwLDAsMTE0LDcyLDAsMCwwLDExNCwyMjksMCwwLAorICAgIDAsMTE0LDUwLDEsMCwwLDExNCwxNTcsMCwwLDAsMTE0LDMsMSwwLDAsCisgICAgMTE0LDIzOCwwLDAsMCwxMTQsMzksMSwwLDAsMTE0LDQsMCwwLDAsMTE0LAorICAgIDQsMCwwLDAsNDEsMSwxMTQsMjI0LDAsMCwwLDExNCw1LDAsMCwwLAorICAgIDExNCw0OCwxLDAsMCwxMCw2LDAsMCwxMTUsMTQsMCwwLDAsMTIsMywKKyAgICA2LDIsMTIsNiwxMiw0LDEyLDMsMjQsMTIsMTgsNSwxMTQsNDgsMSwwLAorICAgIDAsOTksMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsNCwwLAorICAgIDAsMCw2NCwwLDAsMCwxMTUsNjQsMCwwLDAsMTAxLDAsMCw5MCwxLAorICAgIDAsMTAwLDAsMCw5MCwyLDAsMTAwLDEsMCw5MCwzLDAsMTAwLDIsMCwKKyAgICAxMDAsMywwLDEzMiwwLDAsOTAsNCwwLDEwMCw0LDAsMTAwLDUsMCwxMzIsCisgICAgMCwwLDkwLDUsMCwxMDAsNiwwLDEwMCw3LDAsMTAwLDgsMCwxMDAsOSwKKyAgICAwLDEzMiwwLDEsOTAsNiwwLDEwMCwxMCwwLDgzLDQxLDExLDExNCw3LDEsCisgICAgMCwwLDEyMiw2Miw2NywxMTEsMTEwLDk5LDExNCwxMDEsMTE2LDEwMSwzMiwxMDUsMTA5LDExMiwKKyAgICAxMDgsMTAxLDEwOSwxMDEsMTEwLDExNiw5NywxMTYsMTA1LDExMSwxMTAsMzIsMTExLDEwMiwzMiw4MywKKyAgICAxMTEsMTE3LDExNCw5OSwxMDEsNzYsMTExLDk3LDEwMCwxMDEsMTE0LDMyLDExNywxMTUsMTA1LDExMCwKKyAgICAxMDMsMzIsMTE2LDEwNCwxMDEsMzIsMTAyLDEwNSwxMDgsMTAxLDMyLDExNSwxMjEsMTE1LDExNiwxMDEsCisgICAgMTA5LDQ2LDk5LDIsMCwwLDAsMCwwLDAsMCwzLDAsMCwwLDMsCisgICAgMCwwLDAsNjcsMCwwLDAsMTE1LDM2LDAsMCwwLDExNiwwLDAsMTI0LAorICAgIDEsMCwxMzEsMSwwLDEyNSwyLDAsMTA1LDIsMCwxMjQsMiwwLDEwNiwxLAorICAgIDAsMTAwLDEsMCw1NCwxMjQsMiwwLDEwNiwyLDAsMTAwLDIsMCw1NCw4MywKKyAgICA0MSwzLDEyMiwzMyw4MiwxMDEsMTE2LDExNywxMTQsMTEwLDMyLDExNiwxMDQsMTAxLDMyLDEwOSwKKyAgICAxMDEsMTE2LDk3LDEwMCw5NywxMTYsOTcsMzIsMTAyLDExMSwxMTQsMzIsMTE2LDEwNCwxMDEsMzIsCisgICAgMTEyLDk3LDExNiwxMDQsNDYsMTE0LDE4MiwwLDAsMCwxMTQsMTgzLDAsMCwwLDQxLAorICAgIDMsMTE0LDM5LDAsMCwwLDIxOCw4LDExNSwxMTYsOTUsMTA5LDExNiwxMDUsMTA5LDEwMSwKKyAgICA5MCw3LDExNSwxMTYsOTUsMTE1LDEwNSwxMjIsMTAxLDQxLDMsMTE0LDcxLDAsMCwwLAorICAgIDExNCwzNSwwLDAsMCwxMTQsNDYsMSwwLDAsMTE0LDQsMCwwLDAsMTE0LAorICAgIDQsMCwwLDAsMTE0LDUsMCwwLDAsMTE0LDM2LDEsMCwwLDU1LDYsCisgICAgMCwwLDExNSw0LDAsMCwwLDAsMiwxMiwxLDEyMiwyNyw4MywxMTEsMTE3LAorICAgIDExNCw5OSwxMDEsNzAsMTA1LDEwOCwxMDEsNzYsMTExLDk3LDEwMCwxMDEsMTE0LDQ2LDExMiw5NywKKyAgICAxMTYsMTA0LDk1LDExNSwxMTYsOTcsMTE2LDExNSw5OSw0LDAsMCwwLDAsMCwwLAorICAgIDAsNSwwLDAsMCw1LDAsMCwwLDY3LDAsMCwwLDExNSwzNCwwLAorICAgIDAsMCwxMTYsMCwwLDEyNCwxLDAsMTMxLDEsMCwxMjUsNCwwLDEyNCwwLAorICAgIDAsMTA2LDEsMCwxMjQsMiwwLDEyNCwzLDAsMTAwLDEsMCwxMjQsNCwwLAorICAgIDEzMSwyLDEsODMsNDEsMiw3OCwyMTgsNSw5NSwxMDksMTExLDEwMCwxMDEsNDEsMiwKKyAgICAxMTQsMTQ1LDAsMCwwLDExNCwzNywxLDAsMCw0MSw1LDExNCw3MSwwLDAsCisgICAgMCwxMTQsMTQyLDAsMCwwLDExNCwxNDEsMCwwLDAsMTE0LDUzLDAsMCwwLAorICAgIDExNCw0MiwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsCisgICAgNSwwLDAsMCwxMTQsMzgsMSwwLDAsNjAsNiwwLDAsMTE1LDQsMCwKKyAgICAwLDAsMCwyLDEyLDEsMTIyLDMyLDgzLDExMSwxMTcsMTE0LDk5LDEwMSw3MCwxMDUsCisgICAgMTA4LDEwMSw3NiwxMTEsOTcsMTAwLDEwMSwxMTQsNDYsOTUsOTksOTcsOTksMTA0LDEwMSw5NSwKKyAgICA5OCwxMjEsMTE2LDEwMSw5OSwxMTEsMTAwLDEwMSwxMTQsNTQsMSwwLDAsMTA1LDE4MiwxLAorICAgIDAsMCw5OSwzLDAsMCwwLDEsMCwwLDAsOSwwLDAsMCwxNywKKyAgICAwLDAsMCw2NywwLDAsMCwxMTUsNTMsMSwwLDAsMTE2LDAsMCwxMjQsCisgICAgMSwwLDEzMSwxLDAsOTIsMiwwLDEyNSw0LDAsMTI1LDUsMCwxMDMsMCwKKyAgICAwLDEyNSw2LDAsMTIwLDU0LDAsMTI0LDQsMCwxMTQsODAsMCwxMTYsMSwwLAorICAgIDEyNCw0LDAsMTMxLDEsMCwxMiwxMTQsODAsMCwxMTYsMCwwLDEyNCw0LDAsCisgICAgMTMxLDEsMCw5MiwyLDAsMTI1LDQsMCwxMjUsNywwLDEyNCw2LDAsMTA2LAorICAgIDIsMCwxMjQsNywwLDEzMSwxLDAsMSwxMTMsMjcsMCw4NywxMjAsMTMyLDAsCisgICAgMTE2LDMsMCwxMjQsNiwwLDEzMSwxLDAsNjgsOTMsMTE4LDAsMTI1LDcsMCwKKyAgICAxMTYsNCwwLDEyNCw0LDAsMTI0LDcsMCwxMzEsMiwwLDEyNSw0LDAsMTIxLAorICAgIDE3LDAsMTE2LDUsMCwxMDYsNiwwLDEyNCw0LDAsMTMxLDEsMCwxLDg3LAorICAgIDExMyw5NCwwLDQsMTE2LDcsMCwxMDcsMTAsMCwxMTQsMTU1LDAsMSwxLDEsCisgICAgMTE5LDk0LDAsODksMTEzLDk0LDAsNCwxMTYsOCwwLDEwNywxMCwwLDExNCwyMTEsCisgICAgMCwxLDEyNSw4LDAsMSwxMjIsMjUsMCwxMTYsOSwwLDEwMCwxLDAsMTI0LAorICAgIDQsMCwxMjQsOCwwLDEzMSwzLDAsMSwxMDAsMiwwLDgzLDg3LDg5LDEwMCwKKyAgICAyLDAsMTAwLDIsMCwxMjUsOCwwLDEyNiw4LDAsODgsMTEzLDk0LDAsODgsCisgICAgMTEzLDk0LDAsODcsMTIxLDMzLDAsMTE2LDEwLDAsMTI0LDEsMCwxMjQsMiwwLAorICAgIDEyNCwzLDAsMTMxLDMsMCwxLDExNiw5LDAsMTAwLDMsMCwxMjQsMSwwLAorICAgIDEzMSwyLDAsMSw4NywxMTAsNTMsMCw0LDExNiw4LDAsMTA3LDEwLDAsMTE0LAorICAgIDQ4LDEsMSwxMjUsOCwwLDEsMTIyLDIxLDAsMTE2LDksMCwxMDAsMSwwLAorICAgIDEyNCwxLDAsMTI0LDgsMCwxMzEsMywwLDEsODcsODksMTAwLDIsMCwxMDAsCisgICAgMiwwLDEyNSw4LDAsMTI2LDgsMCw4OCwxMTAsMSwwLDg4LDEwMCwyLDAsCisgICAgODMsNDEsNCwxMjIsMjcsODcsMTE0LDEwNSwxMTYsMTAxLDMyLDk4LDEyMSwxMTYsMTAxLDExNSwKKyAgICAzMiwxMDAsOTcsMTE2LDk3LDMyLDExNiwxMTEsMzIsOTcsMzIsMTAyLDEwNSwxMDgsMTAxLDQ2LAorICAgIDEyMiwyNyw5OSwxMTEsMTE3LDEwOCwxMDAsMzIsMTEwLDExMSwxMTYsMzIsOTksMTE0LDEwMSw5NywKKyAgICAxMTYsMTAxLDMyLDEyMywzMywxMTQsMTI1LDU4LDMyLDEyMywzMywxMTQsMTI1LDc4LDEyMiwxMiwKKyAgICA5OSwxMTQsMTAxLDk3LDExNiwxMDEsMTAwLDMyLDEyMywzMywxMTQsMTI1LDQxLDExLDExNCwzOCwKKyAgICAwLDAsMCwxMTQsNDYsMCwwLDAsMTE0LDIyMywwLDAsMCwxMTQsMzMsMCwKKyAgICAwLDAsMTE0LDI4LDAsMCwwLDExNCwzLDAsMCwwLDkwLDUsMTA5LDEwNywKKyAgICAxMDAsMTA1LDExNCwyMTgsMTUsNzAsMTA1LDEwOCwxMDEsNjksMTIwLDEwNSwxMTUsMTE2LDExNSw2OSwKKyAgICAxMTQsMTE0LDExMSwxMTQsMTE0LDQwLDAsMCwwLDExNCwxNTMsMCwwLDAsMTE0LDU1LAorICAgIDAsMCwwLDQxLDksMTE0LDcxLDAsMCwwLDExNCwzNSwwLDAsMCwxMTQsCisgICAgNTMsMCwwLDAsMTE0LDU0LDEsMCwwLDExNCwyMzMsMCwwLDAsMTE0LDEzMSwKKyAgICAwLDAsMCwxMTQsMjcsMCwwLDAsMTE0LDIzLDAsMCwwLDExNCw0MCwxLAorICAgIDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsCisgICAgMCwxMTQsMzcsMSwwLDAsNjUsNiwwLDAsMTE1LDM4LDAsMCwwLDAsCisgICAgMiwxOCwxLDYsMiwyMiwxLDE4LDEsMTcsMiwxOSwxLDE1LDEsMywKKyAgICAxLDE3LDEsMTMsMiw3LDEsMTgsMywxNiwxLDI3LDEsMywxLDE2LAorICAgIDEsMTcsMSwxOCwyLDEyMiwyNSw4MywxMTEsMTE3LDExNCw5OSwxMDEsNzAsMTA1LDEwOCwKKyAgICAxMDEsNzYsMTExLDk3LDEwMCwxMDEsMTE0LDQ2LDExNSwxMDEsMTE2LDk1LDEwMCw5NywxMTYsOTcsCisgICAgNzgsNDEsNywxMTQsNTcsMCwwLDAsMTE0LDU2LDAsMCwwLDExNCw1OCwwLAorICAgIDAsMCwxMTQsNTksMCwwLDAsMTE0LDM2LDEsMCwwLDExNCwzOCwxLDAsCisgICAgMCwxMTQsMzcsMSwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsCisgICAgMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMTE0LDcsMSwwLDAsNTEsCisgICAgNiwwLDAsMTE1LDgsMCwwLDAsMTIsMiw2LDIsMTIsNSwxMiw1LAorICAgIDExNCw3LDEsMCwwLDk5LDAsMCwwLDAsMCwwLDAsMCwwLDAsCisgICAgMCwwLDIsMCwwLDAsNjQsMCwwLDAsMTE1LDQ2LDAsMCwwLDEwMSwKKyAgICAwLDAsOTAsMSwwLDEwMCwwLDAsOTAsMiwwLDEwMCwxLDAsOTAsMywKKyAgICAwLDEwMCwyLDAsMTAwLDMsMCwxMzIsMCwwLDkwLDQsMCwxMDAsNCwwLAorICAgIDEwMCw1LDAsMTMyLDAsMCw5MCw1LDAsMTAwLDYsMCw4Myw0MSw3LDExNCwKKyAgICA2LDEsMCwwLDEyMiw0NSw3NiwxMTEsOTcsMTAwLDEwMSwxMTQsMzIsMTE5LDEwNCwxMDUsCisgICAgOTksMTA0LDMyLDEwNCw5NywxMTAsMTAwLDEwOCwxMDEsMTE1LDMyLDExNSwxMTEsMTE3LDExNCw5OSwKKyAgICAxMDEsMTA4LDEwMSwxMTUsMTE1LDMyLDEwMiwxMDUsMTA4LDEwMSwzMiwxMDUsMTA5LDExMiwxMTEsMTE0LAorICAgIDExNiwxMTUsNDYsOTksMiwwLDAsMCwwLDAsMCwwLDUsMCwwLDAsCisgICAgNiwwLDAsMCw2NywwLDAsMCwxMTUsNzYsMCwwLDAsMTI0LDAsMCwKKyAgICAxMDYsMCwwLDEyNCwxLDAsMTMxLDEsMCwxMjUsMiwwLDEyNCwwLDAsMTA2LAorICAgIDEsMCwxMjQsMiwwLDEzMSwxLDAsMTI1LDMsMCwxMTYsMiwwLDEyNCwzLAorICAgIDAsMTAwLDEsMCwxMjQsMSwwLDEwMCwyLDAsMTI0LDIsMCwxMzEsMSwyLAorICAgIDEyNSw0LDAsMTE2LDMsMCwxMjQsNCwwLDEwMCwxLDAsMTI0LDEsMCwxMDAsCisgICAgMywwLDEyNCwyLDAsMTMxLDEsMiw4Myw0MSw0LDc4LDExNCw2NywwLDAsCisgICAgMCwxMTQsMzUsMCwwLDAsMTE0LDE0MSwwLDAsMCw0MSw0LDExNCwyMzgsMCwKKyAgICAwLDAsMTE0LDM5LDEsMCwwLDExNCwxODksMCwwLDAsMTE0LDE5NCwwLDAsCisgICAgMCw0MSw1LDExNCw3MSwwLDAsMCwxMTQsMTU5LDAsMCwwLDExNCwzNSwwLAorICAgIDAsMCwxMTQsNTMsMCwwLDAsMTE0LDQ3LDEsMCwwLDExNCw0LDAsMCwKKyAgICAwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDExNCwxNCwxLDAsMCwKKyAgICA5OCw2LDAsMCwxMTUsOCwwLDAsMCwwLDEsMTUsMSwxNSwxLDI0LAorICAgIDEsMTIyLDI5LDgzLDExMSwxMTcsMTE0LDk5LDEwMSwxMDgsMTAxLDExNSwxMTUsNzAsMTA1LDEwOCwKKyAgICAxMDEsNzYsMTExLDk3LDEwMCwxMDEsMTE0LDQ2LDEwMywxMDEsMTE2LDk1LDk5LDExMSwxMDAsMTAxLAorICAgIDk5LDIsMCwwLDAsMCwwLDAsMCwyLDAsMCwwLDEsMCwwLAorICAgIDAsNjcsMCwwLDAsMTE1LDQsMCwwLDAsMTAwLDEsMCw4Myw0MSwyLAorICAgIDEyMiwzOSw4MiwxMDEsMTE2LDExNywxMTQsMTEwLDMyLDc4LDExMSwxMTAsMTAxLDMyLDk3LDExNSwKKyAgICAzMiwxMTYsMTA0LDEwMSwxMTQsMTAxLDMyLDEwNSwxMTUsMzIsMTEwLDExMSwzMiwxMTUsMTExLDExNywKICAgICAxMTQsOTksMTAxLDMyLDk5LDExMSwxMDAsMTAxLDQ2LDc4LDExNCw0LDAsMCwwLDQxLAogICAgIDIsMTE0LDcxLDAsMCwwLDExNCwxNTksMCwwLDAsMTE0LDQsMCwwLDAsCi0gICAgMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMTE0LDE3LDEsMCwwLDIwMCwKLSAgICA2LDAsMCwxMTUsMiwwLDAsMCwwLDIsMTIyLDMwLDY5LDEyMCwxMTYsMTAxLAotICAgIDExMCwxMTUsMTA1LDExMSwxMTAsNzAsMTA1LDEwOCwxMDEsNzYsMTExLDk3LDEwMCwxMDEsMTE0LDQ2LAotICAgIDEwMywxMDEsMTE2LDk1LDExNSwxMTEsMTE3LDExNCw5OSwxMDEsOTksMiwwLDAsMCwwLAotICAgIDAsMCwwLDIsMCwwLDAsMSwwLDAsMCw2NywwLDAsMCwxMTUsCi0gICAgNywwLDAsMCwxMjQsMCwwLDEwNiwwLDAsODMsNDEsMSwxMjIsNTgsODIsCi0gICAgMTAxLDExNiwxMTcsMTE0LDExMCwzMiwxMTYsMTA0LDEwMSwzMiwxMTIsOTcsMTE2LDEwNCwzMiwxMTYsCi0gICAgMTExLDMyLDExNiwxMDQsMTAxLDMyLDExNSwxMTEsMTE3LDExNCw5OSwxMDEsMzIsMTAyLDEwNSwxMDgsCi0gICAgMTAxLDMyLDk3LDExNSwzMiwxMDIsMTExLDExNywxMTAsMTAwLDMyLDk4LDEyMSwzMiwxMTYsMTA0LAotICAgIDEwMSwzMiwxMDIsMTA1LDExMCwxMDAsMTAxLDExNCw0Niw0MSwxLDExNCwzNSwwLDAsMCwKLSAgICA0MSwyLDExNCw3MSwwLDAsMCwxMTQsMTU5LDAsMCwwLDExNCw0LDAsMCwKLSAgICAwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDExNCwyMzksMCwwLDAsCi0gICAgMjA0LDYsMCwwLDExNSwyLDAsMCwwLDAsMywxMjIsMzIsNjksMTIwLDExNiwKKyAgICAxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsMTUsMSwwLDAsMTA0LAorICAgIDYsMCwwLDExNSwyLDAsMCwwLDAsMiwxMjIsMzEsODMsMTExLDExNywxMTQsCisgICAgOTksMTAxLDEwOCwxMDEsMTE1LDExNSw3MCwxMDUsMTA4LDEwMSw3NiwxMTEsOTcsMTAwLDEwMSwxMTQsCisgICAgNDYsMTAzLDEwMSwxMTYsOTUsMTE1LDExMSwxMTcsMTE0LDk5LDEwMSw3OCw0MSw2LDExNCw1NywKKyAgICAwLDAsMCwxMTQsNTYsMCwwLDAsMTE0LDU4LDAsMCwwLDExNCw1OSwwLAorICAgIDAsMCwxMTQsMTQsMSwwLDAsMTE0LDE1LDEsMCwwLDExNCw0LDAsMCwKKyAgICAwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLAorICAgIDExNCw2LDEsMCwwLDk0LDYsMCwwLDExNSw2LDAsMCwwLDEyLDIsCisgICAgNiwyLDEyLDYsMTE0LDYsMSwwLDAsOTksMCwwLDAsMCwwLDAsCisgICAgMCwwLDAsMCwwLDAsMywwLDAsMCw2NCwwLDAsMCwxMTUsMTMwLAorICAgIDAsMCwwLDEwMSwwLDAsOTAsMSwwLDEwMCwwLDAsOTAsMiwwLDEwMCwKKyAgICAxLDAsOTAsMywwLDEwMCwyLDAsMTAwLDMsMCwxMzIsMCwwLDkwLDQsCisgICAgMCwxMDAsNCwwLDEwMCw1LDAsMTMyLDAsMCw5MCw1LDAsMTAwLDYsMCwKKyAgICAxMDAsNywwLDEzMiwwLDAsOTAsNiwwLDEwMSw3LDAsMTAwLDgsMCwxMDAsCisgICAgOSwwLDEzMiwwLDAsMTMxLDEsMCw5MCw4LDAsMTAwLDEwLDAsMTAwLDExLAorICAgIDAsMTMyLDAsMCw5MCw5LDAsMTAwLDEyLDAsMTAwLDEzLDAsMTMyLDAsMCwKKyAgICA5MCwxMCwwLDEwMCwxNCwwLDEwMCwxNSwwLDEzMiwwLDAsOTAsMTEsMCwxMDEsCisgICAgNywwLDEwMCwxNiwwLDEwMCwxNywwLDEzMiwwLDAsMTMxLDEsMCw5MCwxMiwKKyAgICAwLDEwMCwxOCwwLDgzLDQxLDE5LDIxOCwxOSw2OSwxMjAsMTE2LDEwMSwxMTAsMTE1LDEwNSwKKyAgICAxMTEsMTEwLDcwLDEwNSwxMDgsMTAxLDc2LDExMSw5NywxMDAsMTAxLDExNCwxMjIsOTMsNzYsMTExLAorICAgIDk3LDEwMCwxMDEsMTE0LDMyLDEwMiwxMTEsMTE0LDMyLDEwMSwxMjAsMTE2LDEwMSwxMTAsMTE1LDEwNSwKKyAgICAxMTEsMTEwLDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDExNSw0NiwxMCwxMCwzMiwzMiwzMiwKKyAgICAzMiw4NCwxMDQsMTAxLDMyLDk5LDExMSwxMTAsMTE1LDExNiwxMTQsMTE3LDk5LDExNiwxMTEsMTE0LAorICAgIDMyLDEwNSwxMTUsMzIsMTAwLDEwMSwxMTUsMTA1LDEwMywxMTAsMTAxLDEwMCwzMiwxMTYsMTExLDMyLAorICAgIDExOSwxMTEsMTE0LDEwNywzMiwxMTksMTA1LDExNiwxMDQsMzIsNzAsMTA1LDEwOCwxMDEsNzAsMTA1LAorICAgIDExMCwxMDAsMTAxLDExNCw0NiwxMCwxMCwzMiwzMiwzMiwzMiw5OSwzLDAsMCwwLAorICAgIDAsMCwwLDAsMywwLDAsMCwyLDAsMCwwLDY3LDAsMCwwLAorICAgIDExNSwyMiwwLDAsMCwxMjQsMSwwLDEyNCwwLDAsOTUsMCwwLDEyNCwyLAorICAgIDAsMTI0LDAsMCw5NSwxLDAsMTAwLDAsMCw4Myw0MSwxLDc4LDQxLDIsCisgICAgMTE0LDY3LDAsMCwwLDExNCwzNSwwLDAsMCw0MSwzLDExNCw3MSwwLDAsCisgICAgMCwxMTQsNjcsMCwwLDAsMTE0LDM1LDAsMCwwLDExNCw0LDAsMCwwLAorICAgIDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDExNCw3MiwwLDAsMCwxMjEsCisgICAgNiwwLDAsMTE1LDQsMCwwLDAsMCwxLDksMSwxMjIsMjgsNjksMTIwLAorICAgIDExNiwxMDEsMTEwLDExNSwxMDUsMTExLDExMCw3MCwxMDUsMTA4LDEwMSw3NiwxMTEsOTcsMTAwLDEwMSwKKyAgICAxMTQsNDYsOTUsOTUsMTA1LDExMCwxMDUsMTE2LDk1LDk1LDk5LDIsMCwwLDAsMCwKKyAgICAwLDAsMCwyLDAsMCwwLDIsMCwwLDAsNjcsMCwwLDAsMTE1LAorICAgIDM0LDAsMCwwLDEyNCwwLDAsMTA2LDAsMCwxMjQsMSwwLDEwNiwwLDAsCisgICAgMTA3LDIsMCwxMTEsMzMsMCwxMjQsMCwwLDEwNiwxLDAsMTI0LDEsMCwxMDYsCisgICAgMSwwLDEwNywyLDAsODMsNDEsMSw3OCw0MSwyLDExNCwyMjQsMCwwLDAsCisgICAgMTE0LDYzLDAsMCwwLDQxLDIsMTE0LDcxLDAsMCwwLDExNCwyMjcsMCwwLAorICAgIDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsCisgICAgMTE0LDIyOSwwLDAsMCwxMjUsNiwwLDAsMTE1LDQsMCwwLDAsMCwxLAorICAgIDE4LDEsMTIyLDI2LDY5LDEyMCwxMTYsMTAxLDExMCwxMTUsMTA1LDExMSwxMTAsNzAsMTA1LDEwOCwKKyAgICAxMDEsNzYsMTExLDk3LDEwMCwxMDEsMTE0LDQ2LDk1LDk1LDEwMSwxMTMsOTUsOTUsOTksMSwKKyAgICAwLDAsMCwwLDAsMCwwLDEsMCwwLDAsMywwLDAsMCw2NywKKyAgICAwLDAsMCwxMTUsMjYsMCwwLDAsMTE2LDAsMCwxMjQsMCwwLDEwNiwxLAorICAgIDAsMTMxLDEsMCwxMTYsMCwwLDEyNCwwLDAsMTA2LDIsMCwxMzEsMSwwLAorICAgIDY1LDgzLDQxLDEsNzgsNDEsMywxMTQsNDksMSwwLDAsMTE0LDY3LDAsMCwKKyAgICAwLDExNCwzNSwwLDAsMCw0MSwxLDExNCw3MSwwLDAsMCwxMTQsNCwwLAorICAgIDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsNTAsMSwwLAorICAgIDAsMTI5LDYsMCwwLDExNSwyLDAsMCwwLDAsMSwxMjIsMjgsNjksMTIwLAorICAgIDExNiwxMDEsMTEwLDExNSwxMDUsMTExLDExMCw3MCwxMDUsMTA4LDEwMSw3NiwxMTEsOTcsMTAwLDEwMSwKKyAgICAxMTQsNDYsOTUsOTUsMTA0LDk3LDExNSwxMDQsOTUsOTUsOTksMiwwLDAsMCwwLAorICAgIDAsMCwwLDQsMCwwLDAsMTEsMCwwLDAsNjcsMCwwLDAsMTE1LAorICAgIDE3NywwLDAsMCwxMTYsMCwwLDEyNCwxLDAsMTMxLDEsMCwxNDMsMjksMCwKKyAgICAxLDExNiwxLDAsMTE2LDIsMCwxMDYsMywwLDEyNCwxLDAsMTI0LDAsMCwKKyAgICAxMDYsNCwwLDEzMSwzLDAsMTI1LDIsMCw4NywxMDAsMSwwLDgxLDg4LDExNiwKKyAgICA1LDAsMTAwLDIsMCwxMjQsMCwwLDEwNiw0LDAsMTMxLDIsMCwxLDEyNCwKKyAgICAwLDAsMTA2LDYsMCwxMjQsMSwwLDEzMSwxLDAsMTI1LDMsMCwxMjQsMywKKyAgICAwLDExNCwxMjEsMCwxMTYsNywwLDEyNCwyLDAsMTAwLDMsMCwxMzEsMiwwLAorICAgIDEyLDExNCwxMjEsMCwxMTYsOCwwLDEyNCwwLDAsMTA2LDQsMCwxMzEsMSwwLAorICAgIDEwMCw0LDAsMjUsMTAzLDEsMCwxMjQsMiwwLDk1LDksMCwxMjQsMCwwLAorICAgIDEyNCwyLDAsOTUsMTAsMCwxMjQsMiwwLDEwNiwxMSwwLDEyNCwyLDAsOTUsCisgICAgMTIsMCwxMjQsMywwLDExNSwxNzMsMCwxMjQsMiwwLDEwNiwxMiwwLDEwNiwxMywKKyAgICAwLDEwMCw1LDAsMTMxLDEsMCwxMDAsNCwwLDI1LDEyNCwyLDAsOTUsMTIsCisgICAgMCwxMjQsMiwwLDgzLDQxLDYsMTIyLDI1LDc2LDExMSw5NywxMDAsMzIsOTcsMTEwLAorICAgIDMyLDEwMSwxMjAsMTE2LDEwMSwxMTAsMTE1LDEwNSwxMTEsMTEwLDMyLDEwOSwxMTEsMTAwLDExNywxMDgsCisgICAgMTAxLDQ2LDc4LDEyMiwzMywxMDEsMTIwLDExNiwxMDEsMTEwLDExNSwxMDUsMTExLDExMCwzMiwxMDksCisgICAgMTExLDEwMCwxMTcsMTA4LDEwMSwzMiwxMDgsMTExLDk3LDEwMCwxMDEsMTAwLDMyLDEwMiwxMTQsMTExLAorICAgIDEwOSwzMiwxMjMsMzMsMTE0LDEyNSwxMTQsMjQ2LDAsMCwwLDExNCw4NCwwLDAsMCwKKyAgICAxMTQsMTE2LDAsMCwwLDQxLDE0LDExNCw2OSwwLDAsMCwxMTQsMTE0LDAsMCwKKyAgICAwLDExNCwxMDYsMCwwLDAsOTAsMTIsMTA4LDExMSw5NywxMDAsOTUsMTAwLDEyMSwxMTAsCisgICAgOTcsMTA5LDEwNSw5OSwxMTQsMzUsMCwwLDAsMTE0LDE1MywwLDAsMCwxMTQsMjE5LAorICAgIDAsMCwwLDExNCw2MCwwLDAsMCwxMTQsMzgsMCwwLDAsMTE0LDI0NiwwLAorICAgIDAsMCwxMTQsMjAzLDAsMCwwLDExNCw1NywwLDAsMCwxMTQsMjQ5LDAsMCwKKyAgICAwLDExNCwzMiwwLDAsMCw0MSw0LDExNCw3MSwwLDAsMCwxMTQsMTU5LDAsCisgICAgMCwwLDExNCwxNzgsMCwwLDAsMTE0LDIxOSwwLDAsMCwxMTQsNCwwLDAsCisgICAgMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsMywxLDAsMCwKKyAgICAxMzIsNiwwLDAsMTE1LDI0LDAsMCwwLDAsNSwxMywxLDksMSwyMSwKKyAgICAxLDE2LDEsMTUsMSwyMiwxLDI1LDEsOSwxLDEyLDEsNiwxLDI1LAorICAgIDEsMTIyLDMxLDY5LDEyMCwxMTYsMTAxLDExMCwxMTUsMTA1LDExMSwxMTAsNzAsMTA1LDEwOCwxMDEsCisgICAgNzYsMTExLDk3LDEwMCwxMDEsMTE0LDQ2LDEwOCwxMTEsOTcsMTAwLDk1LDEwOSwxMTEsMTAwLDExNywKKyAgICAxMDgsMTAxLDk5LDIsMCwwLDAsMCwwLDAsMCwyLDAsMCwwLDQsCisgICAgMCwwLDAsMywwLDAsMCwxMTUsNDgsMCwwLDAsMTE2LDAsMCwxMjQsCisgICAgMCwwLDEwNiwxLDAsMTMxLDEsMCwxMDAsMSwwLDI1LDEzNywwLDAsMTE2LAorICAgIDIsMCwxMzUsMCwwLDEwMiwxLDAsMTAwLDIsMCwxMDAsMywwLDEzNCwwLAorICAgIDAsMTE2LDMsMCw2OCwxMzEsMSwwLDEzMSwxLDAsODMsNDEsNCwxMjIsNDksCisgICAgODIsMTAxLDExNiwxMTcsMTE0LDExMCwzMiw4NCwxMTQsMTE3LDEwMSwzMiwxMDUsMTAyLDMyLDExNiwKKyAgICAxMDQsMTAxLDMyLDEwMSwxMjAsMTE2LDEwMSwxMTAsMTE1LDEwNSwxMTEsMTEwLDMyLDEwOSwxMTEsMTAwLAorICAgIDExNywxMDgsMTAxLDMyLDEwNSwxMTUsMzIsOTcsMzIsMTEyLDk3LDk5LDEwNyw5NywxMDMsMTAxLAorICAgIDQ2LDExNCwyOSwwLDAsMCw5OSwxLDAsMCwwLDAsMCwwLDAsMiwKKyAgICAwLDAsMCw0LDAsMCwwLDUxLDAsMCwwLDExNSwzMSwwLDAsMCwKKyAgICAxMjQsMCwwLDkzLDIxLDAsMTI1LDEsMCwxMzYsMCwwLDEwMCwwLDAsMTI0LAorICAgIDEsMCwyMywxMDcsMiwwLDg2LDEsMTEzLDMsMCwxMDAsMSwwLDgzLDQxLAorICAgIDIsMTE0LDcyLDAsMCwwLDc4LDExNCw0LDAsMCwwLDQxLDIsMTE0LDIyLAorICAgIDAsMCwwLDIxOCw2LDExNSwxMTcsMTAyLDEwMiwxMDUsMTIwLDQxLDEsMjE4LDksMTAyLAorICAgIDEwNSwxMDgsMTAxLDk1LDExMCw5NywxMDksMTAxLDExNCw0LDAsMCwwLDExNCw1LDAsCisgICAgMCwwLDExNCw3NywwLDAsMCwxNTMsNiwwLDAsMTE1LDIsMCwwLDAsCisgICAgNiwxLDEyMiw0OSw2OSwxMjAsMTE2LDEwMSwxMTAsMTE1LDEwNSwxMTEsMTEwLDcwLDEwNSwxMDgsCisgICAgMTAxLDc2LDExMSw5NywxMDAsMTAxLDExNCw0NiwxMDUsMTE1LDk1LDExMiw5Nyw5OSwxMDcsOTcsCisgICAgMTAzLDEwMSw0Niw2MCwxMDgsMTExLDk5LDk3LDEwOCwxMTUsNjIsNDYsNjAsMTAzLDEwMSwxMTAsCisgICAgMTAxLDEyMCwxMTIsMTE0LDYyLDQxLDQsMTE0LDM4LDAsMCwwLDExNCwzNSwwLDAsCisgICAgMCwxMTQsNzgsMCwwLDAsMjE4LDE4LDY5LDg4LDg0LDY5LDc4LDgzLDczLDc5LAorICAgIDc4LDk1LDgzLDg1LDcwLDcwLDczLDg4LDY5LDgzLDQxLDIsMTE0LDcxLDAsMCwKKyAgICAwLDExNCwxNTksMCwwLDAsMTE0LDQsMCwwLDAsNDEsMSwxMTQsNTgsMSwKKyAgICAwLDAsMTE0LDUsMCwwLDAsMTE0LDIxOSwwLDAsMCwxNTAsNiwwLDAsCisgICAgMTE1LDYsMCwwLDAsMCwyLDE5LDEsMTgsMSwxMjIsMzAsNjksMTIwLDExNiwKICAgICAxMDEsMTEwLDExNSwxMDUsMTExLDExMCw3MCwxMDUsMTA4LDEwMSw3NiwxMTEsOTcsMTAwLDEwMSwxMTQsCi0gICAgNDYsMTAzLDEwMSwxMTYsOTUsMTAyLDEwNSwxMDgsMTAxLDExMCw5NywxMDksMTAxLDc4LDQxLDEzLAotICAgIDExNCw1NywwLDAsMCwxMTQsNTYsMCwwLDAsMTE0LDU4LDAsMCwwLDExNCwKLSAgICA1OSwwLDAsMCwxMTQsNzIsMCwwLDAsMTE0LDIzMCwwLDAsMCwxMTQsNTEsCi0gICAgMSwwLDAsMTE0LDE1NywwLDAsMCwxMTQsNSwxLDAsMCwxMTQsMjIwLDAsCi0gICAgMCwwLDExNCwxNiwxLDAsMCwxMTQsMTcsMSwwLDAsMTE0LDIzOSwwLDAsCi0gICAgMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwKLSAgICAxMTQsNSwwLDAsMCwxMTQsNTcsMSwwLDAsMTUzLDYsMCwwLDExNSwxOCwKLSAgICAwLDAsMCwxMiw2LDYsMiwxMiw0LDEyLDQsMTIsMywxOCwxOCwxMiwKLSAgICA2LDEyLDQsMTIsNCwxMTQsNTcsMSwwLDAsOTksMCwwLDAsMCwwLAotICAgIDAsMCwwLDAsMCwwLDAsMiwwLDAsMCw2NCwwLDAsMCwxMTUsCi0gICAgMTMwLDAsMCwwLDEwMSwwLDAsOTAsMSwwLDEwMCwwLDAsOTAsMiwwLAotICAgIDEwMCwxLDAsOTAsMywwLDEwMCwyLDAsMTAwLDMsMCwxMzIsMCwwLDkwLAotICAgIDQsMCwxMDAsNCwwLDEwMCw1LDAsMTMyLDAsMCw5MCw1LDAsMTAwLDYsCi0gICAgMCwxMDAsNywwLDEzMiwwLDAsOTAsNiwwLDEwMCw4LDAsMTAwLDksMCwKLSAgICAxMzIsMCwwLDkwLDcsMCwxMDAsMTAsMCwxMDAsMTEsMCwxMzIsMCwwLDkwLAotICAgIDgsMCwxMDAsMTIsMCwxMDAsMTMsMCwxMzIsMCwwLDkwLDksMCwxMDAsMTQsCi0gICAgMCwxMDAsMTUsMCwxMzIsMCwwLDkwLDEwLDAsMTAwLDE2LDAsMTAwLDE3LDAsCi0gICAgMTMyLDAsMCw5MCwxMSwwLDEwMCwxOCwwLDEwMCwxOSwwLDEzMiwwLDAsOTAsCi0gICAgMTIsMCwxMDAsMjAsMCw4Myw0MSwyMSwyMTgsMTQsOTUsNzgsOTcsMTA5LDEwMSwxMTUsCi0gICAgMTEyLDk3LDk5LDEwMSw4MCw5NywxMTYsMTA0LDk3LDM4LDEsMCwwLDgyLDEwMSwxMTIsCi0gICAgMTE0LDEwMSwxMTUsMTAxLDExMCwxMTYsMTE1LDMyLDk3LDMyLDExMCw5NywxMDksMTAxLDExNSwxMTIsCi0gICAgOTcsOTksMTAxLDMyLDExMiw5Nyw5OSwxMDcsOTcsMTAzLDEwMSwzOSwxMTUsMzIsMTEyLDk3LAotICAgIDExNiwxMDQsNDYsMzIsMzIsNzMsMTE2LDMyLDExNywxMTUsMTAxLDExNSwzMiwxMTYsMTA0LDEwMSwKLSAgICAzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwzMiwxMTAsOTcsMTA5LDEwMSwxMCwzMiwzMiwzMiwKLSAgICAzMiwxMTYsMTExLDMyLDEwMiwxMDUsMTEwLDEwMCwzMiwxMDUsMTE2LDExNSwzMiwxMTIsOTcsMTE0LAotICAgIDEwMSwxMTAsMTE2LDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDQ0LDMyLDk3LDExMCwxMDAsMzIsCi0gICAgMTAyLDExNCwxMTEsMTA5LDMyLDExNiwxMDQsMTAxLDExNCwxMDEsMzIsMTA1LDExNiwzMiwxMDgsMTExLAotICAgIDExMSwxMDcsMTE1LDMyLDExNywxMTIsMzIsMTE2LDEwNCwxMDEsMzIsMTEyLDk3LDExNCwxMDEsMTEwLAotICAgIDExNiwzOSwxMTUsMTAsMzIsMzIsMzIsMzIsOTUsOTUsMTEyLDk3LDExNiwxMDQsOTUsOTUsCi0gICAgNDYsMzIsMzIsODcsMTA0LDEwMSwxMTAsMzIsMTE2LDEwNCwxMDUsMTE1LDMyLDk5LDEwNCw5NywKLSAgICAxMTAsMTAzLDEwMSwxMTUsNDQsMzIsMTE2LDEwNCwxMDEsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsCi0gICAgMzksMTE1LDMyLDExMSwxMTksMTEwLDMyLDExMiw5NywxMTYsMTA0LDMyLDEwNSwxMTUsMzIsMTE0LAotICAgIDEwMSw5OSwxMTEsMTA5LDExMiwxMTcsMTE2LDEwMSwxMDAsNDQsMTAsMzIsMzIsMzIsMzIsMTE3LAotICAgIDExNSwxMDUsMTEwLDEwMywzMiwxMTIsOTcsMTE2LDEwNCw5NSwxMDIsMTA1LDExMCwxMDAsMTAxLDExNCwKLSAgICA0NiwzMiwzMiw3MCwxMTEsMTE0LDMyLDExNiwxMTEsMTEyLDQ1LDEwOCwxMDEsMTE4LDEwMSwxMDgsCi0gICAgMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMTE1LDQ0LDMyLDExNiwxMDQsMTAxLDMyLDExMiw5NywKLSAgICAxMTQsMTAxLDExMCwxMTYsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzksMTE1LDMyLDExMiw5NywKLSAgICAxMTYsMTA0LDEwLDMyLDMyLDMyLDMyLDEwNSwxMTUsMzIsMTE1LDEyMSwxMTUsNDYsMTEyLDk3LAotICAgIDExNiwxMDQsNDYsOTksNCwwLDAsMCwwLDAsMCwwLDQsMCwwLDAsCi0gICAgMiwwLDAsMCw2NywwLDAsMCwxMTUsNTIsMCwwLDAsMTI0LDEsMCwKLSAgICAxMjQsMCwwLDk1LDAsMCwxMjQsMiwwLDEyNCwwLDAsOTUsMSwwLDExNiwKLSAgICAyLDAsMTI0LDAsMCwxMDYsMywwLDEzMSwwLDAsMTMxLDEsMCwxMjQsMCwKLSAgICAwLDk1LDQsMCwxMjQsMywwLDEyNCwwLDAsOTUsNSwwLDEwMCwwLDAsCi0gICAgODMsNDEsMSw3OCw0MSw2LDExNCw3MCwwLDAsMCwxMTQsMjU0LDAsMCwwLAotICAgIDExNCwyMzIsMCwwLDAsMjE4LDE2LDk1LDEwMywxMDEsMTE2LDk1LDExMiw5NywxMTQsMTAxLAotICAgIDExMCwxMTYsOTUsMTEyLDk3LDExNiwxMDQsMjE4LDE3LDk1LDEwOCw5NywxMTUsMTE2LDk1LDExMiwKLSAgICA5NywxMTQsMTAxLDExMCwxMTYsOTUsMTEyLDk3LDExNiwxMDQsMjE4LDEyLDk1LDExMiw5NywxMTYsCi0gICAgMTA0LDk1LDEwMiwxMDUsMTEwLDEwMCwxMDEsMTE0LDQxLDQsMTE0LDcxLDAsMCwwLDExNCwKLSAgICA2NywwLDAsMCwxMTQsMzUsMCwwLDAsMjE4LDExLDExMiw5NywxMTYsMTA0LDk1LAotICAgIDEwMiwxMDUsMTEwLDEwMCwxMDEsMTE0LDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLAotICAgIDExNCw1LDAsMCwwLDExNCw3MiwwLDAsMCwyMTcsNiwwLDAsMTE1LDgsCi0gICAgMCwwLDAsMCwxLDksMSw5LDEsMjEsMSwxMjIsMjMsOTUsNzgsOTcsCi0gICAgMTA5LDEwMSwxMTUsMTEyLDk3LDk5LDEwMSw4MCw5NywxMTYsMTA0LDQ2LDk1LDk1LDEwNSwxMTAsCi0gICAgMTA1LDExNiw5NSw5NSw5OSwxLDAsMCwwLDAsMCwwLDAsNCwwLDAsCi0gICAgMCwzLDAsMCwwLDY3LDAsMCwwLDExNSw1MywwLDAsMCwxMjQsMCwKLSAgICAwLDEwNiwwLDAsMTA2LDEsMCwxMDAsMSwwLDEzMSwxLDAsOTIsMywwLAotICAgIDEyNSwxLDAsMTI1LDIsMCwxMjUsMywwLDEyNCwyLDAsMTAwLDIsMCwxMDcsCi0gICAgMiwwLDExNCw0MywwLDEwMCw2LDAsODMsMTI0LDEsMCwxMDAsNSwwLDEwMiwKLSAgICAyLDAsODMsNDEsNywxMjIsNjIsODIsMTAxLDExNiwxMTcsMTE0LDExMCwxMTUsMzIsOTcsCi0gICAgMzIsMTE2LDExNywxMTIsMTA4LDEwMSwzMiwxMTEsMTAyLDMyLDQwLDExMiw5NywxMTQsMTAxLDExMCwKLSAgICAxMTYsNDUsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsNDUsMTEwLDk3LDEwOSwxMDEsNDQsMzIsMTEyLAotICAgIDk3LDExNCwxMDEsMTEwLDExNiw0NSwxMTIsOTcsMTE2LDEwNCw0NSw5NywxMTYsMTE2LDExNCw0NSwKLSAgICAxMTAsOTcsMTA5LDEwMSw0MSwxMTQsMTE2LDAsMCwwLDExNCwzMCwwLDAsMCwxMTQsCi0gICAgNywwLDAsMCwxMTQsMzUsMCwwLDAsMTE0LDI0NywwLDAsMCw0MSwyLAotICAgIDEyMiwzLDExNSwxMjEsMTE1LDEyMiw0LDExMiw5NywxMTYsMTA0LDQxLDIsMTE0LDcwLDAsCi0gICAgMCwwLDExNCwzMiwwLDAsMCw0MSw0LDExNCw3MSwwLDAsMCwxMTQsMjM0LAotICAgIDAsMCwwLDIxOCwzLDEwMCwxMTEsMTE2LDExNCw5NCwwLDAsMCwxMTQsNCwwLAotICAgIDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwyMTgsMjMsOTUsMTAyLAotICAgIDEwNSwxMTAsMTAwLDk1LDExMiw5NywxMTQsMTAxLDExMCwxMTYsOTUsMTEyLDk3LDExNiwxMDQsOTUsCi0gICAgMTEwLDk3LDEwOSwxMDEsMTE1LDIyMyw2LDAsMCwxMTUsOCwwLDAsMCwwLDIsCi0gICAgMjcsMSwxMiwyLDQsMywxMjIsMzgsOTUsNzgsOTcsMTA5LDEwMSwxMTUsMTEyLDk3LAotICAgIDk5LDEwMSw4MCw5NywxMTYsMTA0LDQ2LDk1LDEwMiwxMDUsMTEwLDEwMCw5NSwxMTIsOTcsMTE0LAotICAgIDEwMSwxMTAsMTE2LDk1LDExMiw5NywxMTYsMTA0LDk1LDExMCw5NywxMDksMTAxLDExNSw5OSwxLAotICAgIDAsMCwwLDAsMCwwLDAsMywwLDAsMCwzLDAsMCwwLDY3LAotICAgIDAsMCwwLDExNSwzOCwwLDAsMCwxMjQsMCwwLDEwNiwwLDAsMTMxLDAsCi0gICAgMCw5MiwyLDAsMTI1LDEsMCwxMjUsMiwwLDExNiwxLDAsMTE2LDIsMCwKLSAgICAxMDYsMywwLDEyNCwxLDAsMjUsMTI0LDIsMCwxMzEsMiwwLDgzLDQxLDEsCi0gICAgNzgsNDEsNCwxMTQsNjcsMSwwLDAsMTE0LDYyLDAsMCwwLDExNCw3LDAsCi0gICAgMCwwLDExNCw3MywwLDAsMCw0MSwzLDExNCw3MSwwLDAsMCw5MCwxOCwKLSAgICAxMTIsOTcsMTE0LDEwMSwxMTAsMTE2LDk1LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDk1LDExMCw5NywKLSAgICAxMDksMTAxLDkwLDE0LDExMiw5NywxMTYsMTA0LDk1LDk3LDExNiwxMTYsMTE0LDk1LDExMCw5NywKLSAgICAxMDksMTAxLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwKLSAgICAwLDExNCw2MiwxLDAsMCwyMzMsNiwwLDAsMTE1LDQsMCwwLDAsMCwKLSAgICAxLDE4LDEsMTIyLDMxLDk1LDc4LDk3LDEwOSwxMDEsMTE1LDExMiw5Nyw5OSwxMDEsODAsCi0gICAgOTcsMTE2LDEwNCw0Niw5NSwxMDMsMTAxLDExNiw5NSwxMTIsOTcsMTE0LDEwMSwxMTAsMTE2LDk1LAotICAgIDExMiw5NywxMTYsMTA0LDk5LDEsMCwwLDAsMCwwLDAsMCwzLDAsMCwKLSAgICAwLDMsMCwwLDAsNjcsMCwwLDAsMTE1LDEyNywwLDAsMCwxMTYsMCwKLSAgICAwLDEyNCwwLDAsMTA2LDEsMCwxMzEsMCwwLDEzMSwxLDAsMTI1LDEsMCwKLSAgICAxMjQsMSwwLDEyNCwwLDAsMTA2LDIsMCwxMDcsMywwLDExNCwxMjAsMCwxMjQsCi0gICAgMCwwLDEwNiwzLDAsMTI0LDAsMCwxMDYsNCwwLDEyNCwxLDAsMTMxLDIsCi0gICAgMCwxMjUsMiwwLDEyNCwyLDAsMTAwLDAsMCwxMDcsOSwwLDExNCwxMDgsMCwKLSAgICAxMjQsMiwwLDEwNiw1LDAsMTAwLDAsMCwxMDcsOCwwLDExNCwxMDgsMCwxMjQsCi0gICAgMiwwLDEwNiw2LDAsMTE0LDEwOCwwLDEyNCwyLDAsMTA2LDYsMCwxMjQsMCwKLSAgICAwLDk1LDcsMCwxMTMsMTA4LDAsMTEwLDAsMCwxMjQsMSwwLDEyNCwwLDAsCi0gICAgOTUsMiwwLDExMCwwLDAsMTI0LDAsMCwxMDYsNywwLDgzLDQxLDEsNzgsCi0gICAgNDEsOCwxMTQsMjMyLDAsMCwwLDExNCw2MiwxLDAsMCwxMTQsNjMsMSwwLAotICAgIDAsMTE0LDY0LDEsMCwwLDExNCw3MCwwLDAsMCwxMTQsMTcwLDAsMCwwLAotICAgIDExNCwyMjEsMCwwLDAsMTE0LDI1NCwwLDAsMCw0MSwzLDExNCw3MSwwLDAsCi0gICAgMCw5MCwxMSwxMTIsOTcsMTE0LDEwMSwxMTAsMTE2LDk1LDExMiw5NywxMTYsMTA0LDExNCwxNzgsCisgICAgNDYsMTA1LDExNSw5NSwxMTIsOTcsOTksMTA3LDk3LDEwMywxMDEsOTksMiwwLDAsMCwKKyAgICAwLDAsMCwwLDIsMCwwLDAsMSwwLDAsMCw2NywwLDAsMCwKKyAgICAxMTUsNCwwLDAsMCwxMDAsMSwwLDgzLDQxLDIsMTIyLDYzLDgyLDEwMSwxMTYsCisgICAgMTE3LDExNCwxMTAsMzIsNzgsMTExLDExMCwxMDEsMzIsOTcsMTE1LDMyLDk3LDExMCwzMiwxMDEsCisgICAgMTIwLDExNiwxMDEsMTEwLDExNSwxMDUsMTExLDExMCwzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwzMiwKKyAgICA5OSw5NywxMTAsMTEwLDExMSwxMTYsMzIsOTksMTE0LDEwMSw5NywxMTYsMTAxLDMyLDk3LDMyLAorICAgIDk5LDExMSwxMDAsMTAxLDMyLDExMSw5OCwxMDYsMTAxLDk5LDExNiw0Niw3OCwxMTQsNCwwLAorICAgIDAsMCw0MSwyLDExNCw3MSwwLDAsMCwxMTQsMTU5LDAsMCwwLDExNCw0LAorICAgIDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDExNCwxNCwxLAorICAgIDAsMCwxNTYsNiwwLDAsMTE1LDIsMCwwLDAsMCwyLDEyMiwyOCw2OSwKKyAgICAxMjAsMTE2LDEwMSwxMTAsMTE1LDEwNSwxMTEsMTEwLDcwLDEwNSwxMDgsMTAxLDc2LDExMSw5NywxMDAsCisgICAgMTAxLDExNCw0NiwxMDMsMTAxLDExNiw5NSw5OSwxMTEsMTAwLDEwMSw5OSwyLDAsMCwwLAorICAgIDAsMCwwLDAsMiwwLDAsMCwxLDAsMCwwLDY3LDAsMCwwLAorICAgIDExNSw0LDAsMCwwLDEwMCwxLDAsODMsNDEsMiwxMjIsNTMsODIsMTAxLDExNiwKKyAgICAxMTcsMTE0LDExMCwzMiw3OCwxMTEsMTEwLDEwMSwzMiw5NywxMTUsMzIsMTAxLDEyMCwxMTYsMTAxLAorICAgIDExMCwxMTUsMTA1LDExMSwxMTAsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMTE1LDMyLDEwNCw5NywKKyAgICAxMTgsMTAxLDMyLDExMCwxMTEsMzIsMTE1LDExMSwxMTcsMTE0LDk5LDEwMSwzMiw5OSwxMTEsMTAwLAorICAgIDEwMSw0Niw3OCwxMTQsNCwwLDAsMCw0MSwyLDExNCw3MSwwLDAsMCwxMTQsCisgICAgMTU5LDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LAorICAgIDAsMCwwLDExNCwxNSwxLDAsMCwxNjAsNiwwLDAsMTE1LDIsMCwwLAorICAgIDAsMCwyLDEyMiwzMCw2OSwxMjAsMTE2LDEwMSwxMTAsMTE1LDEwNSwxMTEsMTEwLDcwLDEwNSwKKyAgICAxMDgsMTAxLDc2LDExMSw5NywxMDAsMTAxLDExNCw0NiwxMDMsMTAxLDExNiw5NSwxMTUsMTExLDExNywKKyAgICAxMTQsOTksMTAxLDk5LDIsMCwwLDAsMCwwLDAsMCwyLDAsMCwwLAorICAgIDEsMCwwLDAsNjcsMCwwLDAsMTE1LDcsMCwwLDAsMTI0LDAsMCwKKyAgICAxMDYsMCwwLDgzLDQxLDEsMTIyLDU4LDgyLDEwMSwxMTYsMTE3LDExNCwxMTAsMzIsMTE2LAorICAgIDEwNCwxMDEsMzIsMTEyLDk3LDExNiwxMDQsMzIsMTE2LDExMSwzMiwxMTYsMTA0LDEwMSwzMiwxMTUsCisgICAgMTExLDExNywxMTQsOTksMTAxLDMyLDEwMiwxMDUsMTA4LDEwMSwzMiw5NywxMTUsMzIsMTAyLDExMSwKKyAgICAxMTcsMTEwLDEwMCwzMiw5OCwxMjEsMzIsMTE2LDEwNCwxMDEsMzIsMTAyLDEwNSwxMTAsMTAwLDEwMSwKKyAgICAxMTQsNDYsNDEsMSwxMTQsMzUsMCwwLDAsNDEsMiwxMTQsNzEsMCwwLDAsCisgICAgMTE0LDE1OSwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsCisgICAgNSwwLDAsMCwxMTQsMjM4LDAsMCwwLDE2NCw2LDAsMCwxMTUsMiwwLAorICAgIDAsMCwwLDMsMTIyLDMyLDY5LDEyMCwxMTYsMTAxLDExMCwxMTUsMTA1LDExMSwxMTAsNzAsCisgICAgMTA1LDEwOCwxMDEsNzYsMTExLDk3LDEwMCwxMDEsMTE0LDQ2LDEwMywxMDEsMTE2LDk1LDEwMiwxMDUsCisgICAgMTA4LDEwMSwxMTAsOTcsMTA5LDEwMSw3OCw0MSwxMywxMTQsNTcsMCwwLDAsMTE0LDU2LAorICAgIDAsMCwwLDExNCw1OCwwLDAsMCwxMTQsNTksMCwwLDAsMTE0LDcyLDAsCisgICAgMCwwLDExNCwyMjksMCwwLDAsMTE0LDUwLDEsMCwwLDExNCwxNTcsMCwwLAorICAgIDAsMTE0LDMsMSwwLDAsMTE0LDIxOSwwLDAsMCwxMTQsMTQsMSwwLDAsCisgICAgMTE0LDE1LDEsMCwwLDExNCwyMzgsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LAorICAgIDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMTE0LDU2LAorICAgIDEsMCwwLDExMyw2LDAsMCwxMTUsMTgsMCwwLDAsMTIsNiw2LDIsCisgICAgMTIsNCwxMiw0LDEyLDMsMTgsMTgsMTIsNiwxMiw0LDEyLDQsMTE0LDU2LAorICAgIDEsMCwwLDk5LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLAorICAgIDIsMCwwLDAsNjQsMCwwLDAsMTE1LDEzMCwwLDAsMCwxMDEsMCwwLAorICAgIDkwLDEsMCwxMDAsMCwwLDkwLDIsMCwxMDAsMSwwLDkwLDMsMCwxMDAsCisgICAgMiwwLDEwMCwzLDAsMTMyLDAsMCw5MCw0LDAsMTAwLDQsMCwxMDAsNSwKKyAgICAwLDEzMiwwLDAsOTAsNSwwLDEwMCw2LDAsMTAwLDcsMCwxMzIsMCwwLAorICAgIDkwLDYsMCwxMDAsOCwwLDEwMCw5LDAsMTMyLDAsMCw5MCw3LDAsMTAwLAorICAgIDEwLDAsMTAwLDExLDAsMTMyLDAsMCw5MCw4LDAsMTAwLDEyLDAsMTAwLDEzLAorICAgIDAsMTMyLDAsMCw5MCw5LDAsMTAwLDE0LDAsMTAwLDE1LDAsMTMyLDAsMCwKKyAgICA5MCwxMCwwLDEwMCwxNiwwLDEwMCwxNywwLDEzMiwwLDAsOTAsMTEsMCwxMDAsCisgICAgMTgsMCwxMDAsMTksMCwxMzIsMCwwLDkwLDEyLDAsMTAwLDIwLDAsODMsNDEsCisgICAgMjEsMjE4LDE0LDk1LDc4LDk3LDEwOSwxMDEsMTE1LDExMiw5Nyw5OSwxMDEsODAsOTcsMTE2LAorICAgIDEwNCw5NywzOCwxLDAsMCw4MiwxMDEsMTEyLDExNCwxMDEsMTE1LDEwMSwxMTAsMTE2LDExNSwKKyAgICAzMiw5NywzMiwxMTAsOTcsMTA5LDEwMSwxMTUsMTEyLDk3LDk5LDEwMSwzMiwxMTIsOTcsOTksCisgICAgMTA3LDk3LDEwMywxMDEsMzksMTE1LDMyLDExMiw5NywxMTYsMTA0LDQ2LDMyLDMyLDczLDExNiwKKyAgICAzMiwxMTcsMTE1LDEwMSwxMTUsMzIsMTE2LDEwNCwxMDEsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsCisgICAgMzIsMTEwLDk3LDEwOSwxMDEsMTAsMzIsMzIsMzIsMzIsMTE2LDExMSwzMiwxMDIsMTA1LDExMCwKKyAgICAxMDAsMzIsMTA1LDExNiwxMTUsMzIsMTEyLDk3LDExNCwxMDEsMTEwLDExNiwzMiwxMDksMTExLDEwMCwKKyAgICAxMTcsMTA4LDEwMSw0NCwzMiw5NywxMTAsMTAwLDMyLDEwMiwxMTQsMTExLDEwOSwzMiwxMTYsMTA0LAorICAgIDEwMSwxMTQsMTAxLDMyLDEwNSwxMTYsMzIsMTA4LDExMSwxMTEsMTA3LDExNSwzMiwxMTcsMTEyLDMyLAorICAgIDExNiwxMDQsMTAxLDMyLDExMiw5NywxMTQsMTAxLDExMCwxMTYsMzksMTE1LDEwLDMyLDMyLDMyLAorICAgIDMyLDk1LDk1LDExMiw5NywxMTYsMTA0LDk1LDk1LDQ2LDMyLDMyLDg3LDEwNCwxMDEsMTEwLAorICAgIDMyLDExNiwxMDQsMTA1LDExNSwzMiw5OSwxMDQsOTcsMTEwLDEwMywxMDEsMTE1LDQ0LDMyLDExNiwKKyAgICAxMDQsMTAxLDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDM5LDExNSwzMiwxMTEsMTE5LDExMCwzMiwKKyAgICAxMTIsOTcsMTE2LDEwNCwzMiwxMDUsMTE1LDMyLDExNCwxMDEsOTksMTExLDEwOSwxMTIsMTE3LDExNiwKKyAgICAxMDEsMTAwLDQ0LDEwLDMyLDMyLDMyLDMyLDExNywxMTUsMTA1LDExMCwxMDMsMzIsMTEyLDk3LAorICAgIDExNiwxMDQsOTUsMTAyLDEwNSwxMTAsMTAwLDEwMSwxMTQsNDYsMzIsMzIsNzAsMTExLDExNCwzMiwKKyAgICAxMTYsMTExLDExMiw0NSwxMDgsMTAxLDExOCwxMDEsMTA4LDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLAorICAgIDExNSw0NCwzMiwxMTYsMTA0LDEwMSwzMiwxMTIsOTcsMTE0LDEwMSwxMTAsMTE2LDMyLDEwOSwxMTEsCisgICAgMTAwLDExNywxMDgsMTAxLDM5LDExNSwzMiwxMTIsOTcsMTE2LDEwNCwxMCwzMiwzMiwzMiwzMiwKKyAgICAxMDUsMTE1LDMyLDExNSwxMjEsMTE1LDQ2LDExMiw5NywxMTYsMTA0LDQ2LDk5LDQsMCwwLAorICAgIDAsMCwwLDAsMCw0LDAsMCwwLDIsMCwwLDAsNjcsMCwwLAorICAgIDAsMTE1LDUyLDAsMCwwLDEyNCwxLDAsMTI0LDAsMCw5NSwwLDAsMTI0LAorICAgIDIsMCwxMjQsMCwwLDk1LDEsMCwxMTYsMiwwLDEyNCwwLDAsMTA2LDMsCisgICAgMCwxMzEsMCwwLDEzMSwxLDAsMTI0LDAsMCw5NSw0LDAsMTI0LDMsMCwKKyAgICAxMjQsMCwwLDk1LDUsMCwxMDAsMCwwLDgzLDQxLDEsNzgsNDEsNiwxMTQsCisgICAgNzAsMCwwLDAsMTE0LDI1MiwwLDAsMCwxMTQsMjMxLDAsMCwwLDIxOCwxNiwKKyAgICA5NSwxMDMsMTAxLDExNiw5NSwxMTIsOTcsMTE0LDEwMSwxMTAsMTE2LDk1LDExMiw5NywxMTYsMTA0LAorICAgIDIxOCwxNyw5NSwxMDgsOTcsMTE1LDExNiw5NSwxMTIsOTcsMTE0LDEwMSwxMTAsMTE2LDk1LDExMiwKKyAgICA5NywxMTYsMTA0LDIxOCwxMiw5NSwxMTIsOTcsMTE2LDEwNCw5NSwxMDIsMTA1LDExMCwxMDAsMTAxLAorICAgIDExNCw0MSw0LDExNCw3MSwwLDAsMCwxMTQsNjcsMCwwLDAsMTE0LDM1LDAsCisgICAgMCwwLDIxOCwxMSwxMTIsOTcsMTE2LDEwNCw5NSwxMDIsMTA1LDExMCwxMDAsMTAxLDExNCwxMTQsCisgICAgNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsNzIsCisgICAgMCwwLDAsMTc3LDYsMCwwLDExNSw4LDAsMCwwLDAsMSw5LDEsCisgICAgOSwxLDIxLDEsMTIyLDIzLDk1LDc4LDk3LDEwOSwxMDEsMTE1LDExMiw5Nyw5OSwxMDEsCisgICAgODAsOTcsMTE2LDEwNCw0Niw5NSw5NSwxMDUsMTEwLDEwNSwxMTYsOTUsOTUsOTksMSwwLAorICAgIDAsMCwwLDAsMCwwLDQsMCwwLDAsMywwLDAsMCw2NywwLAorICAgIDAsMCwxMTUsNTMsMCwwLDAsMTI0LDAsMCwxMDYsMCwwLDEwNiwxLDAsCisgICAgMTAwLDEsMCwxMzEsMSwwLDkyLDMsMCwxMjUsMSwwLDEyNSwyLDAsMTI1LAorICAgIDMsMCwxMjQsMiwwLDEwMCwyLDAsMTA3LDIsMCwxMTQsNDMsMCwxMDAsNiwKKyAgICAwLDgzLDEyNCwxLDAsMTAwLDUsMCwxMDIsMiwwLDgzLDQxLDcsMTIyLDYyLAorICAgIDgyLDEwMSwxMTYsMTE3LDExNCwxMTAsMTE1LDMyLDk3LDMyLDExNiwxMTcsMTEyLDEwOCwxMDEsMzIsCisgICAgMTExLDEwMiwzMiw0MCwxMTIsOTcsMTE0LDEwMSwxMTAsMTE2LDQ1LDEwOSwxMTEsMTAwLDExNywxMDgsCisgICAgMTAxLDQ1LDExMCw5NywxMDksMTAxLDQ0LDMyLDExMiw5NywxMTQsMTAxLDExMCwxMTYsNDUsMTEyLAorICAgIDk3LDExNiwxMDQsNDUsOTcsMTE2LDExNiwxMTQsNDUsMTEwLDk3LDEwOSwxMDEsNDEsMTE0LDExNiwKKyAgICAwLDAsMCwxMTQsMzAsMCwwLDAsMTE0LDcsMCwwLDAsMTE0LDM1LDAsCisgICAgMCwwLDExNCwyNDYsMCwwLDAsNDEsMiwxMjIsMywxMTUsMTIxLDExNSwxMjIsNCwKKyAgICAxMTIsOTcsMTE2LDEwNCw0MSwyLDExNCw3MCwwLDAsMCwxMTQsMzIsMCwwLDAsCisgICAgNDEsNCwxMTQsNzEsMCwwLDAsMTE0LDIzMywwLDAsMCwyMTgsMywxMDAsMTExLAorICAgIDExNiwxMTQsOTQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsCisgICAgMTE0LDUsMCwwLDAsMjE4LDIzLDk1LDEwMiwxMDUsMTEwLDEwMCw5NSwxMTIsOTcsMTE0LAorICAgIDEwMSwxMTAsMTE2LDk1LDExMiw5NywxMTYsMTA0LDk1LDExMCw5NywxMDksMTAxLDExNSwxODMsNiwKKyAgICAwLDAsMTE1LDgsMCwwLDAsMCwyLDI3LDEsMTIsMiw0LDMsMTIyLAorICAgIDM4LDk1LDc4LDk3LDEwOSwxMDEsMTE1LDExMiw5Nyw5OSwxMDEsODAsOTcsMTE2LDEwNCw0NiwKKyAgICA5NSwxMDIsMTA1LDExMCwxMDAsOTUsMTEyLDk3LDExNCwxMDEsMTEwLDExNiw5NSwxMTIsOTcsMTE2LAorICAgIDEwNCw5NSwxMTAsOTcsMTA5LDEwMSwxMTUsOTksMSwwLDAsMCwwLDAsMCwwLAorICAgIDMsMCwwLDAsMywwLDAsMCw2NywwLDAsMCwxMTUsMzgsMCwwLAorICAgIDAsMTI0LDAsMCwxMDYsMCwwLDEzMSwwLDAsOTIsMiwwLDEyNSwxLDAsCisgICAgMTI1LDIsMCwxMTYsMSwwLDExNiwyLDAsMTA2LDMsMCwxMjQsMSwwLDI1LAorICAgIDEyNCwyLDAsMTMxLDIsMCw4Myw0MSwxLDc4LDQxLDQsMTE0LDY2LDEsMCwKKyAgICAwLDExNCw2MiwwLDAsMCwxMTQsNywwLDAsMCwxMTQsNzMsMCwwLDAsCisgICAgNDEsMywxMTQsNzEsMCwwLDAsOTAsMTgsMTEyLDk3LDExNCwxMDEsMTEwLDExNiw5NSwKKyAgICAxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw5NSwxMTAsOTcsMTA5LDEwMSw5MCwxNCwxMTIsOTcsMTE2LAorICAgIDEwNCw5NSw5NywxMTYsMTE2LDExNCw5NSwxMTAsOTcsMTA5LDEwMSwxMTQsNCwwLDAsMCwKKyAgICAxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsNjEsMSwwLDAsMTkzLAorICAgIDYsMCwwLDExNSw0LDAsMCwwLDAsMSwxOCwxLDEyMiwzMSw5NSw3OCwKKyAgICA5NywxMDksMTAxLDExNSwxMTIsOTcsOTksMTAxLDgwLDk3LDExNiwxMDQsNDYsOTUsMTAzLDEwMSwKKyAgICAxMTYsOTUsMTEyLDk3LDExNCwxMDEsMTEwLDExNiw5NSwxMTIsOTcsMTE2LDEwNCw5OSwxLDAsCisgICAgMCwwLDAsMCwwLDAsMywwLDAsMCwzLDAsMCwwLDY3LDAsCisgICAgMCwwLDExNSwxMTgsMCwwLDAsMTE2LDAsMCwxMjQsMCwwLDEwNiwxLDAsCisgICAgMTMxLDAsMCwxMzEsMSwwLDEyNSwxLDAsMTI0LDEsMCwxMjQsMCwwLDEwNiwKKyAgICAyLDAsMTA3LDMsMCwxMTQsMTExLDAsMTI0LDAsMCwxMDYsMywwLDEyNCwwLAorICAgIDAsMTA2LDQsMCwxMjQsMSwwLDEzMSwyLDAsMTI1LDIsMCwxMjQsMiwwLAorICAgIDEwMCwwLDAsMTA3LDksMCwxMTQsMTAyLDAsMTI0LDIsMCwxMDYsNSwwLDEwMCwKKyAgICAwLDAsMTA3LDgsMCwxMTQsMTAyLDAsMTI0LDIsMCwxMDYsNiwwLDExNCwxMDIsCisgICAgMCwxMjQsMiwwLDEwNiw2LDAsMTI0LDAsMCw5NSw3LDAsMTI0LDEsMCwKKyAgICAxMjQsMCwwLDk1LDIsMCwxMjQsMCwwLDEwNiw3LDAsODMsNDEsMSw3OCwKKyAgICA0MSw4LDExNCwyMzEsMCwwLDAsMTE0LDYxLDEsMCwwLDExNCw2MiwxLDAsCisgICAgMCwxMTQsNjMsMSwwLDAsMTE0LDcwLDAsMCwwLDExNCwxNzAsMCwwLDAsCisgICAgMTE0LDIyMCwwLDAsMCwxMTQsMjUyLDAsMCwwLDQxLDMsMTE0LDcxLDAsMCwKKyAgICAwLDkwLDExLDExMiw5NywxMTQsMTAxLDExMCwxMTYsOTUsMTEyLDk3LDExNiwxMDQsMTE0LDE3NywKICAgICAwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLAogICAgIDAsMCwyMTgsMTIsOTUsMTE0LDEwMSw5OSw5NywxMDgsOTksMTE3LDEwOCw5NywxMTYsMTAxLAotICAgIDIzNyw2LDAsMCwxMTUsMTYsMCwwLDAsMCwyLDE4LDEsMTUsMSwyMSwKLSAgICAzLDI3LDEsOSwxLDE4LDEsMTIsMSwxMjIsMjcsOTUsNzgsOTcsMTA5LDEwMSwKKyAgICAxOTcsNiwwLDAsMTE1LDE2LDAsMCwwLDAsMiwxOCwxLDE1LDEsMjEsCisgICAgMywyNywxLDksMSwxMiwxLDksMSwxMjIsMjcsOTUsNzgsOTcsMTA5LDEwMSwKICAgICAxMTUsMTEyLDk3LDk5LDEwMSw4MCw5NywxMTYsMTA0LDQ2LDk1LDExNCwxMDEsOTksOTcsMTA4LAogICAgIDk5LDExNywxMDgsOTcsMTE2LDEwMSw5OSwxLDAsMCwwLDAsMCwwLDAsMSwKICAgICAwLDAsMCwyLDAsMCwwLDY3LDAsMCwwLDExNSwxNiwwLDAsMCwKICAgICAxMTYsMCwwLDEyNCwwLDAsMTA2LDEsMCwxMzEsMCwwLDEzMSwxLDAsODMsCi0gICAgNDEsMSw3OCw0MSwyLDIxOCw0LDEwNSwxMTYsMTAxLDExNCwxMTQsNjgsMSwwLDAsCisgICAgNDEsMSw3OCw0MSwyLDIxOCw0LDEwNSwxMTYsMTAxLDExNCwxMTQsNjcsMSwwLDAsCiAgICAgNDEsMSwxMTQsNzEsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLAogICAgIDAsMTE0LDUsMCwwLDAsMjE4LDgsOTUsOTUsMTA1LDExNiwxMDEsMTE0LDk1LDk1LAotICAgIDI1MCw2LDAsMCwxMTUsMiwwLDAsMCwwLDEsMTIyLDIzLDk1LDc4LDk3LAorICAgIDIxMCw2LDAsMCwxMTUsMiwwLDAsMCwwLDEsMTIyLDIzLDk1LDc4LDk3LAogICAgIDEwOSwxMDEsMTE1LDExMiw5Nyw5OSwxMDEsODAsOTcsMTE2LDEwNCw0Niw5NSw5NSwxMDUsMTE2LAogICAgIDEwMSwxMTQsOTUsOTUsOTksMSwwLDAsMCwwLDAsMCwwLDEsMCwwLAogICAgIDAsMiwwLDAsMCw2NywwLDAsMCwxMTUsMTYsMCwwLDAsMTE2LDAsCiAgICAgMCwxMjQsMCwwLDEwNiwxLDAsMTMxLDAsMCwxMzEsMSwwLDgzLDQxLDEsCi0gICAgNzgsNDEsMiwxMTQsMzEsMCwwLDAsMTE0LDY4LDEsMCwwLDQxLDEsMTE0LAorICAgIDc4LDQxLDIsMTE0LDMxLDAsMCwwLDExNCw2NywxLDAsMCw0MSwxLDExNCwKICAgICA3MSwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwKLSAgICAwLDAsMCwyMTgsNyw5NSw5NSwxMDgsMTAxLDExMCw5NSw5NSwyNTMsNiwwLDAsCisgICAgMCwwLDAsMjE4LDcsOTUsOTUsMTA4LDEwMSwxMTAsOTUsOTUsMjEzLDYsMCwwLAogICAgIDExNSwyLDAsMCwwLDAsMSwxMjIsMjIsOTUsNzgsOTcsMTA5LDEwMSwxMTUsMTEyLAogICAgIDk3LDk5LDEwMSw4MCw5NywxMTYsMTA0LDQ2LDk1LDk1LDEwOCwxMDEsMTEwLDk1LDk1LDk5LAogICAgIDEsMCwwLDAsMCwwLDAsMCwxLDAsMCwwLDIsMCwwLDAsCiAgICAgNjcsMCwwLDAsMTE1LDE2LDAsMCwwLDEwMCwxLDAsMTA2LDAsMCwxMjQsCiAgICAgMCwwLDEwNiwxLDAsMTMxLDEsMCw4Myw0MSwyLDc4LDEyMiwyMCw5NSw3OCwKICAgICA5NywxMDksMTAxLDExNSwxMTIsOTcsOTksMTAxLDgwLDk3LDExNiwxMDQsNDAsMTIzLDMzLDExNCwKLSAgICAxMjUsNDEsNDEsMiwxMTQsNDcsMCwwLDAsMTE0LDI1NCwwLDAsMCw0MSwxLAorICAgIDEyNSw0MSw0MSwyLDExNCw0NywwLDAsMCwxMTQsMjUyLDAsMCwwLDQxLDEsCiAgICAgMTE0LDcxLDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCwKLSAgICA1LDAsMCwwLDExNCwxMDEsMCwwLDAsMCw3LDAsMCwxMTUsMiwwLAorICAgIDUsMCwwLDAsMTE0LDEwMSwwLDAsMCwyMTYsNiwwLDAsMTE1LDIsMCwKICAgICAwLDAsMCwxLDEyMiwyMyw5NSw3OCw5NywxMDksMTAxLDExNSwxMTIsOTcsOTksMTAxLAogICAgIDgwLDk3LDExNiwxMDQsNDYsOTUsOTUsMTE0LDEwMSwxMTIsMTE0LDk1LDk1LDk5LDIsMCwKICAgICAwLDAsMCwwLDAsMCwyLDAsMCwwLDIsMCwwLDAsNjcsMCwKICAgICAwLDAsMTE1LDE2LDAsMCwwLDEyNCwxLDAsMTI0LDAsMCwxMDYsMCwwLAotICAgIDEzMSwwLDAsMTA3LDYsMCw4Myw0MSwxLDc4LDQxLDEsMTE0LDY4LDEsMCwKKyAgICAxMzEsMCwwLDEwNyw2LDAsODMsNDEsMSw3OCw0MSwxLDExNCw2NywxLDAsCiAgICAgMCw0MSwyLDExNCw3MSwwLDAsMCwyMTgsNCwxMDUsMTE2LDEwMSwxMDksMTE0LDQsCiAgICAgMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMjE4LDEyLDk1LAotICAgIDk1LDk5LDExMSwxMTAsMTE2LDk3LDEwNSwxMTAsMTE1LDk1LDk1LDMsNywwLDAsMTE1LAorICAgIDk1LDk5LDExMSwxMTAsMTE2LDk3LDEwNSwxMTAsMTE1LDk1LDk1LDIxOSw2LDAsMCwxMTUsCiAgICAgMiwwLDAsMCwwLDEsMTIyLDI3LDk1LDc4LDk3LDEwOSwxMDEsMTE1LDExMiw5NywKICAgICA5OSwxMDEsODAsOTcsMTE2LDEwNCw0Niw5NSw5NSw5OSwxMTEsMTEwLDExNiw5NywxMDUsMTEwLAogICAgIDExNSw5NSw5NSw5OSwyLDAsMCwwLDAsMCwwLDAsMiwwLDAsMCwKICAgICAyLDAsMCwwLDY3LDAsMCwwLDExNSwyMCwwLDAsMCwxMjQsMCwwLAogICAgIDEwNiwwLDAsMTA2LDEsMCwxMjQsMSwwLDEzMSwxLDAsMSwxMDAsMCwwLAotICAgIDgzLDQxLDEsNzgsNDEsMiwxMTQsMjU0LDAsMCwwLDExNCwyMjQsMCwwLDAsCi0gICAgNDEsMiwxMTQsNzEsMCwwLDAsMTE0LDcyLDEsMCwwLDExNCw0LDAsMCwKLSAgICAwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDExNCwyMjQsMCwwLDAsCi0gICAgNiw3LDAsMCwxMTUsMiwwLDAsMCwwLDEsMTIyLDIxLDk1LDc4LDk3LAorICAgIDgzLDQxLDEsNzgsNDEsMiwxMTQsMjUyLDAsMCwwLDExNCwyMjMsMCwwLDAsCisgICAgNDEsMiwxMTQsNzEsMCwwLDAsMTE0LDcxLDEsMCwwLDExNCw0LDAsMCwKKyAgICAwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDExNCwyMjMsMCwwLDAsCisgICAgMjIyLDYsMCwwLDExNSwyLDAsMCwwLDAsMSwxMjIsMjEsOTUsNzgsOTcsCiAgICAgMTA5LDEwMSwxMTUsMTEyLDk3LDk5LDEwMSw4MCw5NywxMTYsMTA0LDQ2LDk3LDExMiwxMTIsMTAxLAogICAgIDExMCwxMDAsNzgsNDEsMTMsMTE0LDU3LDAsMCwwLDExNCw1NiwwLDAsMCwxMTQsCi0gICAgNTgsMCwwLDAsMTE0LDU5LDAsMCwwLDExNCw3MiwwLDAsMCwxMTQsNjcsCi0gICAgMSwwLDAsMTE0LDYyLDEsMCwwLDExNCw2OCwxLDAsMCwxMTQsNzAsMSwKLSAgICAwLDAsMTE0LDcxLDEsMCwwLDExNCwxMDEsMCwwLDAsMTE0LDczLDEsMCwKLSAgICAwLDExNCwyMjQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsCi0gICAgMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMTE0LDYxLDEsMCwwLDIxMCwKKyAgICA1OCwwLDAsMCwxMTQsNTksMCwwLDAsMTE0LDcyLDAsMCwwLDExNCw2NiwKKyAgICAxLDAsMCwxMTQsNjEsMSwwLDAsMTE0LDY3LDEsMCwwLDExNCw2OSwxLAorICAgIDAsMCwxMTQsNzAsMSwwLDAsMTE0LDEwMSwwLDAsMCwxMTQsNzIsMSwwLAorICAgIDAsMTE0LDIyMywwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwKKyAgICAxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsNjAsMSwwLDAsMTcwLAogICAgIDYsMCwwLDExNSwyMCwwLDAsMCwxMiw1LDYsMiwxMiw2LDEyLDEwLAotICAgIDEyLDQsMTIsMTMsMTIsMywxMiwzLDEyLDMsMTIsMywxMTQsNjEsMSwwLAorICAgIDEyLDQsMTIsMTMsMTIsMywxMiwzLDEyLDMsMTIsMywxMTQsNjAsMSwwLAogICAgIDAsOTksMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMywwLAotICAgIDAsMCw2NCwwLDAsMCwxMTUsMTA2LDAsMCwwLDEwMSwwLDAsOTAsMSwKKyAgICAwLDAsNjQsMCwwLDAsMTE1LDExOCwwLDAsMCwxMDEsMCwwLDkwLDEsCiAgICAgMCwxMDAsMCwwLDkwLDIsMCwxMDAsMSwwLDEwMCwyLDAsMTMyLDAsMCwKICAgICA5MCwzLDAsMTAxLDQsMCwxMDAsMywwLDEwMCw0LDAsMTMyLDAsMCwxMzEsCiAgICAgMSwwLDkwLDUsMCwxMDAsNSwwLDEwMCw2LDAsMTMyLDAsMCw5MCw2LAogICAgIDAsMTAwLDcsMCwxMDAsOCwwLDEzMiwwLDAsOTAsNywwLDEwMCw5LDAsCiAgICAgMTAwLDEwLDAsMTMyLDAsMCw5MCw4LDAsMTAwLDExLDAsMTAwLDEyLDAsMTMyLAogICAgIDAsMCw5MCw5LDAsMTAwLDEzLDAsMTAwLDE0LDAsMTMyLDAsMCw5MCwxMCwKLSAgICAwLDEwMCwxNSwwLDgzLDQxLDE2LDExNCwyNTIsMCwwLDAsOTksNCwwLDAsCi0gICAgMCwwLDAsMCwwLDQsMCwwLDAsNCwwLDAsMCw2NywwLDAsCi0gICAgMCwxMTUsMjUsMCwwLDAsMTE2LDAsMCwxMjQsMSwwLDEyNCwyLDAsMTI0LAotICAgIDMsMCwxMzEsMywwLDEyNCwwLDAsOTUsMSwwLDEwMCwwLDAsODMsNDEsCi0gICAgMSw3OCw0MSwyLDExNCw2MSwxLDAsMCwxMTQsMjU0LDAsMCwwLDQxLDQsCi0gICAgMTE0LDcxLDAsMCwwLDExNCw2NywwLDAsMCwxMTQsMzUsMCwwLDAsMTE0LAotICAgIDY1LDEsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LAotICAgIDAsMCwwLDExNCw3MiwwLDAsMCwxMiw3LDAsMCwxMTUsMiwwLDAsCi0gICAgMCwwLDEsMTIyLDI1LDk1LDc4LDk3LDEwOSwxMDEsMTE1LDExMiw5Nyw5OSwxMDEsNzYsCi0gICAgMTExLDk3LDEwMCwxMDEsMTE0LDQ2LDk1LDk1LDEwNSwxMTAsMTA1LDExNiw5NSw5NSw5OSwyLAotICAgIDAsMCwwLDAsMCwwLDAsMiwwLDAsMCwyLDAsMCwwLDY3LAotICAgIDAsMCwwLDExNSwxNiwwLDAsMCwxMDAsMSwwLDEwNiwwLDAsMTI0LDEsCi0gICAgMCwxMDYsMSwwLDEzMSwxLDAsODMsNDEsMiwxMjIsMTE1LDgyLDEwMSwxMTYsMTE3LAotICAgIDExNCwxMTAsMzIsMTE0LDEwMSwxMTIsMTE0LDMyLDEwMiwxMTEsMTE0LDMyLDExNiwxMDQsMTAxLDMyLAotICAgIDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLAotICAgIDMyLDg0LDEwNCwxMDEsMzIsMTA5LDEwMSwxMTYsMTA0LDExMSwxMDAsMzIsMTA1LDExNSwzMiwxMDAsCi0gICAgMTAxLDExMiwxMTQsMTAxLDk5LDk3LDExNiwxMDEsMTAwLDQ2LDMyLDMyLDg0LDEwNCwxMDEsMzIsCi0gICAgMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsMzIsMTA5LDk3LDk5LDEwNCwxMDUsMTEwLDEwMSwxMTQsMTIxLAotICAgIDMyLDEwMCwxMTEsMTAxLDExNSwzMiwxMTYsMTA0LDEwMSwzMiwxMDYsMTExLDk4LDMyLDEwNSwxMTYsCi0gICAgMTE1LDEwMSwxMDgsMTAyLDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDEyMiwKLSAgICAyNSw2MCwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwzMiwxMjMsMzMsMTE0LDEyNSwzMiw0MCwxMTAsCi0gICAgOTcsMTA5LDEwMSwxMTUsMTEyLDk3LDk5LDEwMSw0MSw2Miw0MSwyLDExNCw0NywwLDAsCi0gICAgMCwxMTQsNTcsMCwwLDAsNDEsMiwxMTQsMTIsMSwwLDAsMTE0LDE4MCwwLAotICAgIDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsCi0gICAgMCwxMTQsMjA2LDAsMCwwLDE1LDcsMCwwLDExNSwyLDAsMCwwLDAsCi0gICAgNywxMjIsMjgsOTUsNzgsOTcsMTA5LDEwMSwxMTUsMTEyLDk3LDk5LDEwMSw3NiwxMTEsOTcsCi0gICAgMTAwLDEwMSwxMTQsNDYsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsOTUsMTE0LDEwMSwxMTIsMTE0LDk5LAotICAgIDIsMCwwLDAsMCwwLDAsMCwyLDAsMCwwLDEsMCwwLDAsCi0gICAgNjcsMCwwLDAsMTE1LDQsMCwwLDAsMTAwLDEsMCw4Myw0MSwyLDc4LAotICAgIDg0LDExNCw0LDAsMCwwLDQxLDIsMTE0LDcxLDAsMCwwLDExNCwxNTksMCwKLSAgICAwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLAotICAgIDAsMTE0LDIyMCwwLDAsMCwyNCw3LDAsMCwxMTUsMiwwLDAsMCwwLAotICAgIDEsMTIyLDI3LDk1LDc4LDk3LDEwOSwxMDEsMTE1LDExMiw5Nyw5OSwxMDEsNzYsMTExLDk3LAotICAgIDEwMCwxMDEsMTE0LDQ2LDEwNSwxMTUsOTUsMTEyLDk3LDk5LDEwNyw5NywxMDMsMTAxLDk5LDIsCi0gICAgMCwwLDAsMCwwLDAsMCwyLDAsMCwwLDEsMCwwLDAsNjcsCi0gICAgMCwwLDAsMTE1LDQsMCwwLDAsMTAwLDEsMCw4Myw0MSwyLDc4LDExNCwKLSAgICAzMCwwLDAsMCwxMTQsNCwwLDAsMCw0MSwyLDExNCw3MSwwLDAsMCwKLSAgICAxMTQsMTU5LDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCwKLSAgICA1LDAsMCwwLDExNCwxNywxLDAsMCwyNyw3LDAsMCwxMTUsMiwwLAotICAgIDAsMCwwLDEsMTIyLDI3LDk1LDc4LDk3LDEwOSwxMDEsMTE1LDExMiw5Nyw5OSwxMDEsCi0gICAgNzYsMTExLDk3LDEwMCwxMDEsMTE0LDQ2LDEwMywxMDEsMTE2LDk1LDExNSwxMTEsMTE3LDExNCw5OSwKLSAgICAxMDEsOTksMiwwLDAsMCwwLDAsMCwwLDIsMCwwLDAsNiwwLAotICAgIDAsMCw2NywwLDAsMCwxMTUsMjIsMCwwLDAsMTE2LDAsMCwxMDAsMSwKLSAgICAwLDEwMCwyLDAsMTAwLDMsMCwxMDAsNCwwLDEwMCw1LDAsMTMxLDMsMSwKLSAgICA4Myw0MSw2LDc4LDExNCwzMCwwLDAsMCwxMjIsOCw2MCwxMTUsMTE2LDExNCwxMDUsCi0gICAgMTEwLDEwMyw2MiwxMTQsMTc2LDAsMCwwLDExNCw0MywxLDAsMCw4NCw0MSwxLAotICAgIDExNCw0NCwxLDAsMCw0MSwyLDExNCw3MSwwLDAsMCwxMTQsMTU5LDAsMCwKLSAgICAwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLAotICAgIDExNCwxNiwxLDAsMCwzMCw3LDAsMCwxMTUsMiwwLDAsMCwwLDEsCi0gICAgMTIyLDI1LDk1LDc4LDk3LDEwOSwxMDEsMTE1LDExMiw5Nyw5OSwxMDEsNzYsMTExLDk3LDEwMCwKLSAgICAxMDEsMTE0LDQ2LDEwMywxMDEsMTE2LDk1LDk5LDExMSwxMDAsMTAxLDk5LDIsMCwwLDAsCi0gICAgMCwwLDAsMCwyLDAsMCwwLDEsMCwwLDAsNjcsMCwwLDAsCi0gICAgMTE1LDQsMCwwLDAsMTAwLDAsMCw4Myw0MSwxLDc4LDExNCw0LDAsMCwKLSAgICAwLDQxLDIsMTE0LDcxLDAsMCwwLDExNCwxODAsMCwwLDAsMTE0LDQsMCwKLSAgICAwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMTE0LDIsMSwwLAotICAgIDAsMzMsNywwLDAsMTE1LDIsMCwwLDAsMCwxLDEyMiwyOCw5NSw3OCwKLSAgICA5NywxMDksMTAxLDExNSwxMTIsOTcsOTksMTAxLDc2LDExMSw5NywxMDAsMTAxLDExNCw0NiwxMDEsCi0gICAgMTIwLDEwMSw5OSw5NSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw5OSwyLDAsMCwwLDAsCi0gICAgMCwwLDAsMiwwLDAsMCwzLDAsMCwwLDY3LDAsMCwwLDExNSwKLSAgICAyOSwwLDAsMCwxMTYsMCwwLDEwMCwxLDAsMTI0LDAsMCwxMDYsMSwwLAotICAgIDEzMSwyLDAsMSwxMTYsMiwwLDEyNCwwLDAsMTI0LDEsMCwxMzEsMiwwLAotICAgIDgzLDQxLDIsMTIyLDk4LDc2LDExMSw5NywxMDAsMzIsOTcsMzIsMTEwLDk3LDEwOSwxMDEsCi0gICAgMTE1LDExMiw5Nyw5OSwxMDEsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsNDYsMTAsMTAsMzIsCi0gICAgMzIsMzIsMzIsMzIsMzIsMzIsMzIsODQsMTA0LDEwNSwxMTUsMzIsMTA5LDEwMSwxMTYsMTA0LAotICAgIDExMSwxMDAsMzIsMTA1LDExNSwzMiwxMDAsMTAxLDExMiwxMTQsMTAxLDk5LDk3LDExNiwxMDEsMTAwLAotICAgIDQ2LDMyLDMyLDg1LDExNSwxMDEsMzIsMTAxLDEyMCwxMDEsOTksOTUsMTA5LDExMSwxMDAsMTE3LAotICAgIDEwOCwxMDEsNDAsNDEsMzIsMTA1LDExMCwxMTUsMTE2LDEwMSw5NywxMDAsNDYsMTAsMTAsMzIsCi0gICAgMzIsMzIsMzIsMzIsMzIsMzIsMzIsMTIyLDM4LDExMCw5NywxMDksMTAxLDExNSwxMTIsOTcsCi0gICAgOTksMTAxLDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDMyLDEwOCwxMTEsOTcsMTAwLDEwMSwxMDAsCi0gICAgMzIsMTE5LDEwNSwxMTYsMTA0LDMyLDExMiw5NywxMTYsMTA0LDMyLDEyMywzMywxMTQsMTI1LDQxLAotICAgIDMsMTE0LDE1MywwLDAsMCwxMTQsMjU0LDAsMCwwLDExNCwxODEsMCwwLDAsCi0gICAgNDEsMiwxMTQsNzEsMCwwLDAsMTE0LDE1OSwwLDAsMCwxMTQsNCwwLDAsCi0gICAgMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsNSwxLDAsMCwKLSAgICAzNiw3LDAsMCwxMTUsNCwwLDAsMCwwLDcsMTYsMSwxMjIsMjgsOTUsCisgICAgMCwxMDAsMTUsMCwxMDAsMTYsMCwxMzIsMCwwLDkwLDExLDAsMTAwLDE3LDAsCisgICAgODMsNDEsMTgsMTE0LDI1MCwwLDAsMCw5OSw0LDAsMCwwLDAsMCwwLAorICAgIDAsNCwwLDAsMCw0LDAsMCwwLDY3LDAsMCwwLDExNSwyNSwwLAorICAgIDAsMCwxMTYsMCwwLDEyNCwxLDAsMTI0LDIsMCwxMjQsMywwLDEzMSwzLAorICAgIDAsMTI0LDAsMCw5NSwxLDAsMTAwLDAsMCw4Myw0MSwxLDc4LDQxLDIsCisgICAgMTE0LDYwLDEsMCwwLDExNCwyNTIsMCwwLDAsNDEsNCwxMTQsNzEsMCwwLAorICAgIDAsMTE0LDY3LDAsMCwwLDExNCwzNSwwLDAsMCwxMTQsNjQsMSwwLDAsCisgICAgMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMTE0LAorICAgIDcyLDAsMCwwLDIyOCw2LDAsMCwxMTUsMiwwLDAsMCwwLDEsMTIyLAorICAgIDI1LDk1LDc4LDk3LDEwOSwxMDEsMTE1LDExMiw5Nyw5OSwxMDEsNzYsMTExLDk3LDEwMCwxMDEsCisgICAgMTE0LDQ2LDk1LDk1LDEwNSwxMTAsMTA1LDExNiw5NSw5NSw5OSwyLDAsMCwwLDAsCisgICAgMCwwLDAsMiwwLDAsMCwyLDAsMCwwLDY3LDAsMCwwLDExNSwKKyAgICAxNiwwLDAsMCwxMDAsMSwwLDEwNiwwLDAsMTI0LDEsMCwxMDYsMSwwLAorICAgIDEzMSwxLDAsODMsNDEsMiwxMjIsMTE1LDgyLDEwMSwxMTYsMTE3LDExNCwxMTAsMzIsMTE0LAorICAgIDEwMSwxMTIsMTE0LDMyLDEwMiwxMTEsMTE0LDMyLDExNiwxMDQsMTAxLDMyLDEwOSwxMTEsMTAwLDExNywKKyAgICAxMDgsMTAxLDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDg0LDEwNCwxMDEsCisgICAgMzIsMTA5LDEwMSwxMTYsMTA0LDExMSwxMDAsMzIsMTA1LDExNSwzMiwxMDAsMTAxLDExMiwxMTQsMTAxLAorICAgIDk5LDk3LDExNiwxMDEsMTAwLDQ2LDMyLDMyLDg0LDEwNCwxMDEsMzIsMTA1LDEwOSwxMTIsMTExLAorICAgIDExNCwxMTYsMzIsMTA5LDk3LDk5LDEwNCwxMDUsMTEwLDEwMSwxMTQsMTIxLDMyLDEwMCwxMTEsMTAxLAorICAgIDExNSwzMiwxMTYsMTA0LDEwMSwzMiwxMDYsMTExLDk4LDMyLDEwNSwxMTYsMTE1LDEwMSwxMDgsMTAyLAorICAgIDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDEyMiwyNSw2MCwxMDksMTExLAorICAgIDEwMCwxMTcsMTA4LDEwMSwzMiwxMjMsMzMsMTE0LDEyNSwzMiw0MCwxMTAsOTcsMTA5LDEwMSwxMTUsCisgICAgMTEyLDk3LDk5LDEwMSw0MSw2Miw0MSwyLDExNCw0NywwLDAsMCwxMTQsNTcsMCwKKyAgICAwLDAsNDEsMiwxMTQsMTAsMSwwLDAsMTE0LDE3OCwwLDAsMCwxMTQsNCwKKyAgICAwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsMjA0LDAsCisgICAgMCwwLDIzMSw2LDAsMCwxMTUsMiwwLDAsMCwwLDcsMTIyLDI4LDk1LAogICAgIDc4LDk3LDEwOSwxMDEsMTE1LDExMiw5Nyw5OSwxMDEsNzYsMTExLDk3LDEwMCwxMDEsMTE0LDQ2LAotICAgIDEwOCwxMTEsOTcsMTAwLDk1LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDc4LDQxLDExLDExNCw1NywKLSAgICAwLDAsMCwxMTQsNTYsMCwwLDAsMTE0LDU4LDAsMCwwLDExNCw3MiwwLAotICAgIDAsMCwxMTQsMTksMSwwLDAsMTE0LDIwNiwwLDAsMCwxMTQsMjIwLDAsMCwKLSAgICAwLDExNCwxNywxLDAsMCwxMTQsMTYsMSwwLDAsMTE0LDIsMSwwLDAsCi0gICAgMTE0LDUsMSwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LAotICAgIDQsMCwwLDAsMTE0LDUsMCwwLDAsMTE0LDI1MiwwLDAsMCwxMSw3LAotICAgIDAsMCwxMTUsMTQsMCwwLDAsMTIsMSwxMiwzLDE4LDksMTIsMywxMiwKLSAgICAzLDEyLDMsMTIsMywxMTQsMjUyLDAsMCwwLDk5LDAsMCwwLDAsMCwKLSAgICAwLDAsMCwwLDAsMCwwLDUsMCwwLDAsNjQsMCwwLDAsMTE1LAotICAgIDE2MCwwLDAsMCwxMDEsMCwwLDkwLDEsMCwxMDAsMCwwLDkwLDIsMCwKLSAgICAxMDAsMSwwLDkwLDMsMCwxMDEsNCwwLDEwMCwyLDAsMTAwLDMsMCwxMzIsCi0gICAgMCwwLDEzMSwxLDAsOTAsNSwwLDEwMSw0LDAsMTAwLDQsMCwxMDAsNSwKLSAgICAwLDEzMiwwLDAsMTMxLDEsMCw5MCw2LDAsMTAxLDQsMCwxMDAsNiwwLAotICAgIDEwMCw3LDAsMTMyLDAsMCwxMzEsMSwwLDkwLDcsMCwxMDEsNCwwLDEwMCwKLSAgICA4LDAsMTAwLDksMCwxMzIsMCwwLDEzMSwxLDAsOTAsOCwwLDEwMSw0LAotICAgIDAsMTAwLDEwLDAsMTAwLDExLDAsMTAwLDEyLDAsMTMyLDEsMCwxMzEsMSwwLAotICAgIDkwLDksMCwxMDEsNCwwLDEwMCwxMCwwLDEwMCwxMCwwLDEwMCwxMywwLDEwMCwKLSAgICAxNCwwLDEzMiwyLDAsMTMxLDEsMCw5MCwxMCwwLDEwMSw0LDAsMTAwLDEwLAotICAgIDAsMTAwLDE1LDAsMTAwLDE2LDAsMTMyLDEsMCwxMzEsMSwwLDkwLDExLDAsCi0gICAgMTAwLDEwLDAsODMsNDEsMTcsMjE4LDEwLDgwLDk3LDExNiwxMDQsNzAsMTA1LDExMCwxMDAsCi0gICAgMTAxLDExNCwxMjIsNjIsNzcsMTAxLDExNiw5NywzMiwxMTIsOTcsMTE2LDEwNCwzMiwxMDIsMTA1LAotICAgIDExMCwxMDAsMTAxLDExNCwzMiwxMDIsMTExLDExNCwzMiwxMTUsMTIxLDExNSw0NiwxMTIsOTcsMTE2LAotICAgIDEwNCwzMiw5NywxMTAsMTAwLDMyLDExMiw5Nyw5OSwxMDcsOTcsMTAzLDEwMSwzMiw5NSw5NSwKLSAgICAxMTIsOTcsMTE2LDEwNCw5NSw5NSwzMiw5NywxMTYsMTE2LDExNCwxMDUsOTgsMTE3LDExNiwxMDEsCi0gICAgMTE1LDQ2LDk5LDEsMCwwLDAsMCwwLDAsMCwyLDAsMCwwLDQsCi0gICAgMCwwLDAsNjcsMCwwLDAsMTE1LDU4LDAsMCwwLDEyMCw1MSwwLDExNiwKLSAgICAwLDAsMTA2LDEsMCwxMDYsMiwwLDEzMSwwLDAsNjgsOTMsMzQsMCwxMjUsCi0gICAgMSwwLDExNiwzLDAsMTI0LDEsMCwxMDAsMSwwLDEzMSwyLDAsMTE0LDE2LAotICAgIDAsMTI0LDEsMCwxMDYsNCwwLDEzMSwwLDAsMSwxMTMsMTYsMCwxMTMsMTYsCi0gICAgMCw4NywxMDAsMiwwLDgzLDQxLDMsMTIyLDEyNSw2Nyw5NywxMDgsMTA4LDMyLDExNiwKLSAgICAxMDQsMTAxLDMyLDEwNSwxMTAsMTE4LDk3LDEwOCwxMDUsMTAwLDk3LDExNiwxMDEsOTUsOTksOTcsCi0gICAgOTksMTA0LDEwMSwxMTUsNDAsNDEsMzIsMTA5LDEwMSwxMTYsMTA0LDExMSwxMDAsMzIsMTExLDExMCwKLSAgICAzMiw5NywxMDgsMTA4LDMyLDExMiw5NywxMTYsMTA0LDMyLDEwMSwxMTAsMTE2LDExNCwxMjEsMzIsCi0gICAgMTAyLDEwNSwxMTAsMTAwLDEwMSwxMTQsMTE1LDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLAotICAgIDExNSwxMTYsMTExLDExNCwxMDEsMTAwLDMyLDEwNSwxMTAsMzIsMTE1LDEyMSwxMTUsNDYsMTEyLDk3LAotICAgIDExNiwxMDQsOTUsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsMTAxLDExNCw5NSw5OSw5Nyw5OSwxMDQsCi0gICAgMTAxLDExNSwzMiw0MCwxMTksMTA0LDEwMSwxMTQsMTAxLDMyLDEwNSwxMDksMTEyLDEwOCwxMDEsMTA5LAotICAgIDEwMSwxMTAsMTE2LDEwMSwxMDAsNDEsNDYsMjE4LDE3LDEwNSwxMTAsMTE4LDk3LDEwOCwxMDUsMTAwLAotICAgIDk3LDExNiwxMDEsOTUsOTksOTcsOTksMTA0LDEwMSwxMTUsNzgsNDEsNSwxMTQsNywwLAotICAgIDAsMCwyMTgsMTksMTEyLDk3LDExNiwxMDQsOTUsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsMTAxLAotICAgIDExNCw5NSw5OSw5Nyw5OSwxMDQsMTAxLDIxOCw2LDExOCw5NywxMDgsMTE3LDEwMSwxMTUsMTE0LAotICAgIDYwLDAsMCwwLDExNCw3NSwxLDAsMCw0MSwyLDExNCwxMiwxLDAsMCwKLSAgICAyMTgsNiwxMDIsMTA1LDExMCwxMDAsMTAxLDExNCwxMTQsNCwwLDAsMCwxMTQsNCwwLAotICAgIDAsMCwxMTQsNSwwLDAsMCwxMTQsNzUsMSwwLDAsNTMsNywwLDAsCi0gICAgMTE1LDYsMCwwLDAsMCw0LDIyLDEsMTUsMSwxMjIsMjgsODAsOTcsMTE2LAotICAgIDEwNCw3MCwxMDUsMTEwLDEwMCwxMDEsMTE0LDQ2LDEwNSwxMTAsMTE4LDk3LDEwOCwxMDUsMTAwLDk3LAotICAgIDExNiwxMDEsOTUsOTksOTcsOTksMTA0LDEwMSwxMTUsOTksMiwwLDAsMCwwLDAsCi0gICAgMCwwLDMsMCwwLDAsMTIsMCwwLDAsNjcsMCwwLDAsMTE1LDk0LAotICAgIDAsMCwwLDExNiwwLDAsMTA2LDEsMCwxMTUsMjgsMCwxMTYsMiwwLDEwNiwKLSAgICAzLDAsMTAwLDEsMCwxMTYsNCwwLDEzMSwyLDAsMSwxMTAsMCwwLDEyMCwKLSAgICA1OSwwLDExNiwwLDAsMTA2LDEsMCw2OCw5Myw0NCwwLDEyNSwyLDAsMTIxLAotICAgIDE0LDAsMTI0LDIsMCwxMjQsMSwwLDEzMSwxLDAsODMsODcsMTEzLDM4LDAsCi0gICAgNCwxMTYsNSwwLDEwNywxMCwwLDExNCw4MSwwLDEsMSwxLDExOSwzOCwwLAotICAgIDg5LDExMywzOCwwLDg4LDExMywzOCwwLDg3LDEwMCwyLDAsODMsMTAwLDIsMCwKLSAgICA4Myw0MSwzLDEyMiwxMTMsODMsMTAxLDk3LDExNCw5OSwxMDQsMzIsMTE1LDEwMSwxMTMsMTE3LAotICAgIDEwMSwxMTAsOTksMTAxLDMyLDExMSwxMDIsMzIsMTA0LDExMSwxMTEsMTA3LDExNSwzMiwxMDIsMTExLAotICAgIDExNCwzMiw5NywzMiwxMDIsMTA1LDExMCwxMDAsMTAxLDExNCwzMiwxMDIsMTExLDExNCwzMiwzOSwKLSAgICAxMTIsOTcsMTE2LDEwNCwzOSw0NiwxMCwxMCwzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMiwKLSAgICA3MywxMDIsMzIsMzksMTA0LDExMSwxMTEsMTA3LDExNSwzOSwzMiwxMDUsMTE1LDMyLDEwMiw5NywKLSAgICAxMDgsMTE1LDEwMSwzMiwxMTYsMTA0LDEwMSwxMTAsMzIsMTE3LDExNSwxMDEsMzIsMTE1LDEyMSwxMTUsCi0gICAgNDYsMTEyLDk3LDExNiwxMDQsOTUsMTA0LDExMSwxMTEsMTA3LDExNSw0NiwxMCwxMCwzMiwzMiwKLSAgICAzMiwzMiwzMiwzMiwzMiwzMiwxMjIsMjMsMTE1LDEyMSwxMTUsNDYsMTEyLDk3LDExNiwxMDQsCi0gICAgOTUsMTA0LDExMSwxMTEsMTA3LDExNSwzMiwxMDUsMTE1LDMyLDEwMSwxMDksMTEyLDExNiwxMjEsNzgsCi0gICAgNDEsNiwxMTQsNywwLDAsMCwyMTgsMTAsMTEyLDk3LDExNiwxMDQsOTUsMTA0LDExMSwKLSAgICAxMTEsMTA3LDExNSwxMTQsMTY3LDAsMCwwLDExNCwxNjgsMCwwLDAsMTE0LDE2OSwwLAotICAgIDAsMCwxMTQsMTU0LDAsMCwwLDQxLDMsMTE0LDEyLDEsMCwwLDExNCwzNSwKLSAgICAwLDAsMCw5MCw0LDEwNCwxMTEsMTExLDEwNywxMTQsNCwwLDAsMCwxMTQsNCwKLSAgICAwLDAsMCwxMTQsNSwwLDAsMCwyMTgsMTEsOTUsMTEyLDk3LDExNiwxMDQsOTUsCi0gICAgMTA0LDExMSwxMTEsMTA3LDExNSw2MSw3LDAsMCwxMTUsMTYsMCwwLDAsMCw3LAotICAgIDksMSwxOSwxLDE2LDEsMywxLDE0LDEsMTMsMSwxMiwyLDEyMiwyMiwKLSAgICA4MCw5NywxMTYsMTA0LDcwLDEwNSwxMTAsMTAwLDEwMSwxMTQsNDYsOTUsMTEyLDk3LDExNiwxMDQsCi0gICAgOTUsMTA0LDExMSwxMTEsMTA3LDExNSw5OSwyLDAsMCwwLDAsMCwwLDAsMywKLSAgICAwLDAsMCwxMSwwLDAsMCw2NywwLDAsMCwxMTUsOTcsMCwwLDAsCi0gICAgMTI0LDEsMCwxMDAsMSwwLDEwNywyLDAsMTE0LDI3LDAsMTE2LDAsMCwxMDYsCi0gICAgMSwwLDEzMSwwLDAsMTI1LDEsMCwxMTAsMCwwLDEyMSwxNywwLDExNiwyLAotICAgIDAsMTA2LDMsMCwxMjQsMSwwLDI1LDEyNSwyLDAsODcsMTEwLDQ2LDAsNCwKLSAgICAxMTYsNCwwLDEwNywxMCwwLDExNCw5MiwwLDEsMSwxLDEyNCwwLDAsMTA2LAotICAgIDUsMCwxMjQsMSwwLDEzMSwxLDAsMTI1LDIsMCwxMjQsMiwwLDExNiwyLAotICAgIDAsMTA2LDMsMCwxMjQsMSwwLDYwLDg5LDExMCwxLDAsODgsMTI0LDIsMCwKLSAgICA4Myw0MSwyLDEyMiwyMTAsNzEsMTAxLDExNiwzMiwxMTYsMTA0LDEwMSwzMiwxMDIsMTA1LDExMCwKLSAgICAxMDAsMTAxLDExNCwzMiwxMDIsMTExLDExNCwzMiwxMTYsMTA0LDEwMSwzMiwxMTIsOTcsMTE2LDEwNCwKLSAgICAzMiwxMDEsMTEwLDExNiwxMTQsMTIxLDMyLDEwMiwxMTQsMTExLDEwOSwzMiwxMTUsMTIxLDExNSw0NiwKLSAgICAxMTIsOTcsMTE2LDEwNCw5NSwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwxMDEsMTE0LDk1LDk5LDk3LAotICAgIDk5LDEwNCwxMDEsNDYsMTAsMTAsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMzIsNzMsMTAyLAotICAgIDMyLDExNiwxMDQsMTAxLDMyLDExMiw5NywxMTYsMTA0LDMyLDEwMSwxMTAsMTE2LDExNCwxMjEsMzIsCi0gICAgMTA1LDExNSwzMiwxMTAsMTExLDExNiwzMiwxMDUsMTEwLDMyLDExNiwxMDQsMTAxLDMyLDk5LDk3LAotICAgIDk5LDEwNCwxMDEsNDQsMzIsMTAyLDEwNSwxMTAsMTAwLDMyLDExNiwxMDQsMTAxLDMyLDk3LDExMiwKLSAgICAxMTIsMTE0LDExMSwxMTIsMTE0LDEwNSw5NywxMTYsMTAxLDMyLDEwMiwxMDUsMTEwLDEwMCwxMDEsMTE0LAotICAgIDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDk3LDExMCwxMDAsMzIsOTksOTcsOTksCi0gICAgMTA0LDEwMSwzMiwxMDUsMTE2LDQ2LDMyLDczLDEwMiwzMiwxMTAsMTExLDMyLDEwMiwxMDUsMTEwLAotICAgIDEwMCwxMDEsMTE0LDMyLDEwNSwxMTUsMzIsOTcsMTE4LDk3LDEwNSwxMDgsOTcsOTgsMTA4LDEwMSwKLSAgICA0NCwzMiwxMTUsMTE2LDExMSwxMTQsMTAxLDMyLDc4LDExMSwxMTAsMTAxLDQ2LDEwLDEwLDMyLAotICAgIDMyLDMyLDMyLDMyLDMyLDMyLDMyLDExNCwzMCwwLDAsMCw0MSw2LDExNCwzLAotICAgIDAsMCwwLDExNCw0NSwwLDAsMCwxMTQsNywwLDAsMCwxMTQsNzYsMSwKLSAgICAwLDAsMTE0LDc5LDAsMCwwLDExNCw4MCwxLDAsMCw0MSwzLDExNCwxMiwKLSAgICAxLDAsMCwxMTQsMzUsMCwwLDAsMTE0LDc4LDEsMCwwLDExNCw0LDAsCi0gICAgMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDIxOCwyMCw5NSwxMTIsCisgICAgMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsOTUsMTE0LDEwMSwxMTIsMTE0LDk5LDIsMCwwLDAsCisgICAgMCwwLDAsMCwyLDAsMCwwLDEsMCwwLDAsNjcsMCwwLDAsCisgICAgMTE1LDQsMCwwLDAsMTAwLDEsMCw4Myw0MSwyLDc4LDg0LDExNCw0LDAsCisgICAgMCwwLDQxLDIsMTE0LDcxLDAsMCwwLDExNCwxNTksMCwwLDAsMTE0LDQsCisgICAgMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMTE0LDIxOSwwLAorICAgIDAsMCwyNDAsNiwwLDAsMTE1LDIsMCwwLDAsMCwxLDEyMiwyNyw5NSwKKyAgICA3OCw5NywxMDksMTAxLDExNSwxMTIsOTcsOTksMTAxLDc2LDExMSw5NywxMDAsMTAxLDExNCw0NiwKKyAgICAxMDUsMTE1LDk1LDExMiw5Nyw5OSwxMDcsOTcsMTAzLDEwMSw5OSwyLDAsMCwwLDAsCisgICAgMCwwLDAsMiwwLDAsMCwxLDAsMCwwLDY3LDAsMCwwLDExNSwKKyAgICA0LDAsMCwwLDEwMCwxLDAsODMsNDEsMiw3OCwxMTQsMzAsMCwwLDAsCisgICAgMTE0LDQsMCwwLDAsNDEsMiwxMTQsNzEsMCwwLDAsMTE0LDE1OSwwLDAsCisgICAgMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwKKyAgICAxMTQsMTUsMSwwLDAsMjQzLDYsMCwwLDExNSwyLDAsMCwwLDAsMSwKKyAgICAxMjIsMjcsOTUsNzgsOTcsMTA5LDEwMSwxMTUsMTEyLDk3LDk5LDEwMSw3NiwxMTEsOTcsMTAwLAorICAgIDEwMSwxMTQsNDYsMTAzLDEwMSwxMTYsOTUsMTE1LDExMSwxMTcsMTE0LDk5LDEwMSw5OSwyLDAsCisgICAgMCwwLDAsMCwwLDAsMiwwLDAsMCw2LDAsMCwwLDY3LDAsCisgICAgMCwwLDExNSwyMiwwLDAsMCwxMTYsMCwwLDEwMCwxLDAsMTAwLDIsMCwKKyAgICAxMDAsMywwLDEwMCw0LDAsMTAwLDUsMCwxMzEsMywxLDgzLDQxLDYsNzgsCisgICAgMTE0LDMwLDAsMCwwLDEyMiw4LDYwLDExNSwxMTYsMTE0LDEwNSwxMTAsMTAzLDYyLDExNCwKKyAgICAyMSwxLDAsMCwxMTQsNDIsMSwwLDAsODQsNDEsMSwxMTQsNDMsMSwwLAorICAgIDAsNDEsMiwxMTQsNzEsMCwwLDAsMTE0LDE1OSwwLDAsMCwxMTQsNCwwLAorICAgIDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsMTQsMSwwLAorICAgIDAsMjQ2LDYsMCwwLDExNSwyLDAsMCwwLDAsMSwxMjIsMjUsOTUsNzgsCisgICAgOTcsMTA5LDEwMSwxMTUsMTEyLDk3LDk5LDEwMSw3NiwxMTEsOTcsMTAwLDEwMSwxMTQsNDYsMTAzLAorICAgIDEwMSwxMTYsOTUsOTksMTExLDEwMCwxMDEsOTksMiwwLDAsMCwwLDAsMCwwLAorICAgIDIsMCwwLDAsMSwwLDAsMCw2NywwLDAsMCwxMTUsNCwwLDAsCisgICAgMCwxMDAsMSwwLDgzLDQxLDIsMTIyLDQyLDg1LDExNSwxMDEsMzIsMTAwLDEwMSwxMDIsCisgICAgOTcsMTE3LDEwOCwxMTYsMzIsMTE1LDEwMSwxMDksOTcsMTEwLDExNiwxMDUsOTksMTE1LDMyLDEwMiwKKyAgICAxMTEsMTE0LDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDMyLDk5LDExNCwxMDEsOTcsMTE2LDEwNSwKKyAgICAxMTEsMTEwLDQ2LDc4LDExNCw0LDAsMCwwLDQxLDIsMTE0LDcxLDAsMCwwLAorICAgIDExNCwxNzcsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LAorICAgIDUsMCwwLDAsMTE0LDI1NCwwLDAsMCwyNDksNiwwLDAsMTE1LDAsMCwKKyAgICAwLDAsMTIyLDMwLDk1LDc4LDk3LDEwOSwxMDEsMTE1LDExMiw5Nyw5OSwxMDEsNzYsMTExLAorICAgIDk3LDEwMCwxMDEsMTE0LDQ2LDk5LDExNCwxMDEsOTcsMTE2LDEwMSw5NSwxMDksMTExLDEwMCwxMTcsCisgICAgMTA4LDEwMSw5OSwyLDAsMCwwLDAsMCwwLDAsMiwwLDAsMCwxLAorICAgIDAsMCwwLDY3LDAsMCwwLDExNSw0LDAsMCwwLDEwMCwwLDAsODMsCisgICAgNDEsMSw3OCwxMTQsNCwwLDAsMCw0MSwyLDExNCw3MSwwLDAsMCwxMTQsCisgICAgMTc4LDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LAorICAgIDAsMCwwLDExNCwyNTUsMCwwLDAsMjUyLDYsMCwwLDExNSwyLDAsMCwKKyAgICAwLDAsMSwxMjIsMjgsOTUsNzgsOTcsMTA5LDEwMSwxMTUsMTEyLDk3LDk5LDEwMSw3NiwKKyAgICAxMTEsOTcsMTAwLDEwMSwxMTQsNDYsMTAxLDEyMCwxMDEsOTksOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwKKyAgICAxMDEsOTksMiwwLDAsMCwwLDAsMCwwLDIsMCwwLDAsMywwLAorICAgIDAsMCw2NywwLDAsMCwxMTUsMjksMCwwLDAsMTE2LDAsMCwxMDAsMSwKKyAgICAwLDEyNCwwLDAsMTA2LDEsMCwxMzEsMiwwLDEsMTE2LDIsMCwxMjQsMCwKKyAgICAwLDEyNCwxLDAsMTMxLDIsMCw4Myw0MSwyLDEyMiw5OCw3NiwxMTEsOTcsMTAwLAorICAgIDMyLDk3LDMyLDExMCw5NywxMDksMTAxLDExNSwxMTIsOTcsOTksMTAxLDMyLDEwOSwxMTEsMTAwLAorICAgIDExNywxMDgsMTAxLDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDg0LDEwNCwKKyAgICAxMDUsMTE1LDMyLDEwOSwxMDEsMTE2LDEwNCwxMTEsMTAwLDMyLDEwNSwxMTUsMzIsMTAwLDEwMSwxMTIsCisgICAgMTE0LDEwMSw5OSw5NywxMTYsMTAxLDEwMCw0NiwzMiwzMiw4NSwxMTUsMTAxLDMyLDEwMSwxMjAsCisgICAgMTAxLDk5LDk1LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDQwLDQxLDMyLDEwNSwxMTAsMTE1LDExNiwKKyAgICAxMDEsOTcsMTAwLDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDEyMiwzOCwKKyAgICAxMTAsOTcsMTA5LDEwMSwxMTUsMTEyLDk3LDk5LDEwMSwzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwKKyAgICAzMiwxMDgsMTExLDk3LDEwMCwxMDEsMTAwLDMyLDExOSwxMDUsMTE2LDEwNCwzMiwxMTIsOTcsMTE2LAorICAgIDEwNCwzMiwxMjMsMzMsMTE0LDEyNSw0MSwzLDExNCwxNTMsMCwwLDAsMTE0LDI1MiwwLAorICAgIDAsMCwxMTQsMTc5LDAsMCwwLDQxLDIsMTE0LDcxLDAsMCwwLDExNCwxNTksCisgICAgMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwKKyAgICAwLDAsMTE0LDMsMSwwLDAsMjU1LDYsMCwwLDExNSw0LDAsMCwwLAorICAgIDAsNywxNiwxLDEyMiwyOCw5NSw3OCw5NywxMDksMTAxLDExNSwxMTIsOTcsOTksMTAxLAorICAgIDc2LDExMSw5NywxMDAsMTAxLDExNCw0NiwxMDgsMTExLDk3LDEwMCw5NSwxMDksMTExLDEwMCwxMTcsCisgICAgMTA4LDEwMSw3OCw0MSwxMiwxMTQsNTcsMCwwLDAsMTE0LDU2LDAsMCwwLDExNCwKKyAgICA1OCwwLDAsMCwxMTQsNzIsMCwwLDAsMTE0LDE3LDEsMCwwLDExNCwyMDQsCisgICAgMCwwLDAsMTE0LDIxOSwwLDAsMCwxMTQsMTUsMSwwLDAsMTE0LDE0LDEsCisgICAgMCwwLDExNCwyNTQsMCwwLDAsMTE0LDI1NSwwLDAsMCwxMTQsMywxLDAsCisgICAgMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwKKyAgICAxMTQsNSwwLDAsMCwxMTQsMjUwLDAsMCwwLDIyNyw2LDAsMCwxMTUsMTYsCisgICAgMCwwLDAsMTIsMSwxMiwzLDE4LDksMTIsMywxMiwzLDEyLDMsMTIsCisgICAgMywxMiwzLDExNCwyNTAsMCwwLDAsOTksMCwwLDAsMCwwLDAsMCwKKyAgICAwLDAsMCwwLDAsNSwwLDAsMCw2NCwwLDAsMCwxMTUsMTYwLDAsCisgICAgMCwwLDEwMSwwLDAsOTAsMSwwLDEwMCwwLDAsOTAsMiwwLDEwMCwxLAorICAgIDAsOTAsMywwLDEwMSw0LDAsMTAwLDIsMCwxMDAsMywwLDEzMiwwLDAsCisgICAgMTMxLDEsMCw5MCw1LDAsMTAxLDQsMCwxMDAsNCwwLDEwMCw1LDAsMTMyLAorICAgIDAsMCwxMzEsMSwwLDkwLDYsMCwxMDEsNCwwLDEwMCw2LDAsMTAwLDcsCisgICAgMCwxMzIsMCwwLDEzMSwxLDAsOTAsNywwLDEwMSw0LDAsMTAwLDgsMCwKKyAgICAxMDAsOSwwLDEzMiwwLDAsMTMxLDEsMCw5MCw4LDAsMTAxLDQsMCwxMDAsCisgICAgMTAsMCwxMDAsMTEsMCwxMDAsMTIsMCwxMzIsMSwwLDEzMSwxLDAsOTAsOSwKKyAgICAwLDEwMSw0LDAsMTAwLDEwLDAsMTAwLDEwLDAsMTAwLDEzLDAsMTAwLDE0LDAsCisgICAgMTMyLDIsMCwxMzEsMSwwLDkwLDEwLDAsMTAxLDQsMCwxMDAsMTAsMCwxMDAsCisgICAgMTUsMCwxMDAsMTYsMCwxMzIsMSwwLDEzMSwxLDAsOTAsMTEsMCwxMDAsMTAsCisgICAgMCw4Myw0MSwxNywyMTgsMTAsODAsOTcsMTE2LDEwNCw3MCwxMDUsMTEwLDEwMCwxMDEsMTE0LAorICAgIDEyMiw2Miw3NywxMDEsMTE2LDk3LDMyLDExMiw5NywxMTYsMTA0LDMyLDEwMiwxMDUsMTEwLDEwMCwKKyAgICAxMDEsMTE0LDMyLDEwMiwxMTEsMTE0LDMyLDExNSwxMjEsMTE1LDQ2LDExMiw5NywxMTYsMTA0LDMyLAorICAgIDk3LDExMCwxMDAsMzIsMTEyLDk3LDk5LDEwNyw5NywxMDMsMTAxLDMyLDk1LDk1LDExMiw5NywKKyAgICAxMTYsMTA0LDk1LDk1LDMyLDk3LDExNiwxMTYsMTE0LDEwNSw5OCwxMTcsMTE2LDEwMSwxMTUsNDYsCisgICAgOTksMSwwLDAsMCwwLDAsMCwwLDIsMCwwLDAsNCwwLDAsCisgICAgMCw2NywwLDAsMCwxMTUsNTUsMCwwLDAsMTIwLDQ4LDAsMTE2LDAsMCwKKyAgICAxMDYsMSwwLDEwNiwyLDAsMTMxLDAsMCw2OCw5MywzMSwwLDEyNSwxLDAsCisgICAgMTE2LDMsMCwxMjQsMSwwLDEwMCwxLDAsMTMxLDIsMCwxMTQsMTYsMCwxMjQsCisgICAgMSwwLDEwNiw0LDAsMTMxLDAsMCwxLDExMywxNiwwLDg3LDEwMCwyLDAsCisgICAgODMsNDEsMywxMjIsMTI1LDY3LDk3LDEwOCwxMDgsMzIsMTE2LDEwNCwxMDEsMzIsMTA1LDExMCwKKyAgICAxMTgsOTcsMTA4LDEwNSwxMDAsOTcsMTE2LDEwMSw5NSw5OSw5Nyw5OSwxMDQsMTAxLDExNSw0MCwKKyAgICA0MSwzMiwxMDksMTAxLDExNiwxMDQsMTExLDEwMCwzMiwxMTEsMTEwLDMyLDk3LDEwOCwxMDgsMzIsCisgICAgMTEyLDk3LDExNiwxMDQsMzIsMTAxLDExMCwxMTYsMTE0LDEyMSwzMiwxMDIsMTA1LDExMCwxMDAsMTAxLAorICAgIDExNCwxMTUsMTAsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMTE1LDExNiwxMTEsMTE0LDEwMSwKKyAgICAxMDAsMzIsMTA1LDExMCwzMiwxMTUsMTIxLDExNSw0NiwxMTIsOTcsMTE2LDEwNCw5NSwxMDUsMTA5LAorICAgIDExMiwxMTEsMTE0LDExNiwxMDEsMTE0LDk1LDk5LDk3LDk5LDEwNCwxMDEsMTE1LDMyLDQwLDExOSwKKyAgICAxMDQsMTAxLDExNCwxMDEsMzIsMTA1LDEwOSwxMTIsMTA4LDEwMSwxMDksMTAxLDExMCwxMTYsMTAxLDEwMCwKKyAgICA0MSw0NiwyMTgsMTcsMTA1LDExMCwxMTgsOTcsMTA4LDEwNSwxMDAsOTcsMTE2LDEwMSw5NSw5OSwKKyAgICA5Nyw5OSwxMDQsMTAxLDExNSw3OCw0MSw1LDExNCw3LDAsMCwwLDIxOCwxOSwxMTIsCiAgICAgOTcsMTE2LDEwNCw5NSwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwxMDEsMTE0LDk1LDk5LDk3LDk5LAotICAgIDEwNCwxMDEsNzgsNywwLDAsMTE1LDE2LDAsMCwwLDAsOCwxMiwxLDE1LAotICAgIDEsMywxLDE3LDEsMTMsMSwxNSwxLDE4LDEsMTIyLDMxLDgwLDk3LDExNiwKLSAgICAxMDQsNzAsMTA1LDExMCwxMDAsMTAxLDExNCw0Niw5NSwxMTIsOTcsMTE2LDEwNCw5NSwxMDUsMTA5LAotICAgIDExMiwxMTEsMTE0LDExNiwxMDEsMTE0LDk1LDk5LDk3LDk5LDEwNCwxMDEsOTksMywwLDAsCi0gICAgMCwwLDAsMCwwLDYsMCwwLDAsMywwLDAsMCw2NywwLDAsCi0gICAgMCwxMTUsMTEzLDAsMCwwLDExNiwwLDAsMTI0LDIsMCwxMDAsMSwwLDEzMSwKLSAgICAyLDAsMTE0LDM5LDAsMTI0LDIsMCwxMDYsMSwwLDEyNCwxLDAsMTMxLDEsCi0gICAgMCw5MiwyLDAsMTI1LDMsMCwxMjUsNCwwLDExMCwyMSwwLDEyNCwyLDAsCi0gICAgMTA2LDIsMCwxMjQsMSwwLDEzMSwxLDAsMTI1LDMsMCwxMDMsMCwwLDEyNSwKLSAgICA0LDAsMTI0LDMsMCwxMDAsMCwwLDEwNyw5LDAsMTE0LDg1LDAsMTE2LDMsCi0gICAgMCwxMjQsMSwwLDEyNCwzLDAsMTMxLDIsMCw4MywxMTYsNCwwLDEyNCwxLAotICAgIDAsMTAwLDAsMCwxMzEsMiwwLDEyNSw1LDAsMTI0LDQsMCwxMjQsNSwwLAotICAgIDk1LDUsMCwxMjQsNSwwLDgzLDQxLDIsNzgsMTE0LDE2NiwwLDAsMCw0MSwKLSAgICA2LDExNCw2MCwwLDAsMCwxMTQsMTY2LDAsMCwwLDExNCwxNSwxLDAsMCwKLSAgICAxMTQsMTc0LDAsMCwwLDExNCwyMTcsMCwwLDAsMTE0LDIyMSwwLDAsMCw0MSwKLSAgICA2LDExNCwxMiwxLDAsMCwxMTQsMTU5LDAsMCwwLDExNCw3OCwxLDAsMCwKLSAgICAxMTQsMTcwLDAsMCwwLDExNCwxNzEsMCwwLDAsMTE0LDE3OCwwLDAsMCwxMTQsCi0gICAgNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwyMTgsMTYsCi0gICAgOTUsMTA4LDEwMSwxMDMsOTcsOTksMTIxLDk1LDEwMywxMDEsMTE2LDk1LDExNSwxMTIsMTAxLDk5LAotICAgIDk1LDcsMCwwLDExNSwxOCwwLDAsMCwwLDQsMTUsMSwyNCwyLDE1LAotICAgIDEsNiwxLDEyLDEsMTMsMSwxNSwxLDksMSwxMjIsMjcsODAsOTcsMTE2LAotICAgIDEwNCw3MCwxMDUsMTEwLDEwMCwxMDEsMTE0LDQ2LDk1LDEwOCwxMDEsMTAzLDk3LDk5LDEyMSw5NSwKLSAgICAxMDMsMTAxLDExNiw5NSwxMTUsMTEyLDEwMSw5OSw3OCw5OSw0LDAsMCwwLDAsMCwKLSAgICAwLDAsOSwwLDAsMCw1LDAsMCwwLDY3LDAsMCwwLDExNSwyNTIsCi0gICAgMCwwLDAsMTAzLDAsMCwxMjUsNCwwLDEyMCwyMzksMCwxMjQsMiwwLDY4LAotICAgIDkzLDIwMywwLDEyNSw1LDAsMTE2LDAsMCwxMjQsNSwwLDExNiwxLDAsMTE2LAotICAgIDIsMCwxMDIsMiwwLDEzMSwyLDAsMTE1LDQ2LDAsMTEzLDEzLDAsMTEwLDAsCi0gICAgMCwxMjQsMCwwLDEwNiwzLDAsMTI0LDUsMCwxMzEsMSwwLDEyNSw2LDAsCi0gICAgMTI0LDYsMCwxMDAsMSwwLDEwNyw5LDAsMTE0LDEzLDAsMTE2LDQsMCwxMjQsCi0gICAgNiwwLDEwMCwyLDAsMTMxLDIsMCwxMTQsMTA5LDAsMTI0LDYsMCwxMDYsNSwKLSAgICAwLDEyNCwxLDAsMTI0LDMsMCwxMzEsMiwwLDEyNSw3LDAsMTEwLDE4LDAsCi0gICAgMTI0LDAsMCwxMDYsNiwwLDEyNCwxLDAsMTI0LDYsMCwxMzEsMiwwLDEyNSwKLSAgICA3LDAsMTI0LDcsMCwxMDAsMSwwLDEwNyw4LDAsMTE0LDE0NSwwLDExMywxMywKLSAgICAwLDExMCwwLDAsMTI0LDcsMCwxMDYsNywwLDEwMCwxLDAsMTA3LDksMCwKLSAgICAxMTQsMTY0LDAsMTI0LDcsMCw4MywxMjQsNywwLDEwNiw4LDAsMTI1LDgsMCwKLSAgICAxMjQsOCwwLDEwMCwxLDAsMTA3LDgsMCwxMTQsMjAwLDAsMTE2LDksMCwxMDAsCi0gICAgMywwLDEzMSwxLDAsMTMwLDEsMCwxMTAsMCwwLDEyNCw0LDAsMTA2LDEwLAotICAgIDAsMTI0LDgsMCwxMzEsMSwwLDEsMTEzLDEzLDAsMTEzLDEzLDAsODcsMTE2LAorICAgIDEwNCwxMDEsMjE4LDYsMTE4LDk3LDEwOCwxMTcsMTAxLDExNSwxMTQsNjAsMCwwLDAsMTE0LAorICAgIDc0LDEsMCwwLDQxLDIsMTE0LDEwLDEsMCwwLDIxOCw2LDEwMiwxMDUsMTEwLAorICAgIDEwMCwxMDEsMTE0LDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsCisgICAgMCwwLDExNCw3NCwxLDAsMCwxNiw3LDAsMCwxMTUsNiwwLDAsMCwKKyAgICAwLDQsMjIsMSwxNSwxLDEyMiwyOCw4MCw5NywxMTYsMTA0LDcwLDEwNSwxMTAsMTAwLAorICAgIDEwMSwxMTQsNDYsMTA1LDExMCwxMTgsOTcsMTA4LDEwNSwxMDAsOTcsMTE2LDEwMSw5NSw5OSw5NywKKyAgICA5OSwxMDQsMTAxLDExNSw5OSwyLDAsMCwwLDAsMCwwLDAsMywwLDAsCisgICAgMCwxMiwwLDAsMCw2NywwLDAsMCwxMTUsMTA3LDAsMCwwLDExNiwwLAorICAgIDAsMTA2LDEsMCwxMDAsMSwwLDEwNyw5LDAsMTE0LDQxLDAsMTE2LDAsMCwKKyAgICAxMDYsMSwwLDEyLDExNCw0MSwwLDExNiwyLDAsMTA2LDMsMCwxMDAsMiwwLAorICAgIDExNiw0LDAsMTMxLDIsMCwxLDEyMCw1OSwwLDExNiwwLDAsMTA2LDEsMCwKKyAgICA2OCw5Myw0NCwwLDEyNSwyLDAsMTIxLDE0LDAsMTI0LDIsMCwxMjQsMSwwLAorICAgIDEzMSwxLDAsODMsODcsMTEzLDUxLDAsNCwxMTYsNSwwLDEwNywxMCwwLDExNCwKKyAgICA5NCwwLDEsMSwxLDExOSw1MSwwLDg5LDExMyw1MSwwLDg4LDExMyw1MSwwLAorICAgIDg3LDEwMCwxLDAsODMsMTAwLDEsMCw4Myw0MSwzLDEyMiwxMTMsODMsMTAxLDk3LAorICAgIDExNCw5OSwxMDQsMzIsMTE1LDEwMSwxMTMsMTE3LDEwMSwxMTAsOTksMTAxLDMyLDExMSwxMDIsMzIsCisgICAgMTA0LDExMSwxMTEsMTA3LDExNSwzMiwxMDIsMTExLDExNCwzMiw5NywzMiwxMDIsMTA1LDExMCwxMDAsCisgICAgMTAxLDExNCwzMiwxMDIsMTExLDExNCwzMiwzOSwxMTIsOTcsMTE2LDEwNCwzOSw0NiwxMCwxMCwKKyAgICAzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMiw3MywxMDIsMzIsMzksMTA0LDExMSwxMTEsMTA3LAorICAgIDExNSwzOSwzMiwxMDUsMTE1LDMyLDEwMiw5NywxMDgsMTE1LDEwMSwzMiwxMTYsMTA0LDEwMSwxMTAsCisgICAgMzIsMTE3LDExNSwxMDEsMzIsMTE1LDEyMSwxMTUsNDYsMTEyLDk3LDExNiwxMDQsOTUsMTA0LDExMSwKKyAgICAxMTEsMTA3LDExNSw0NiwxMCwxMCwzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMiw3OCwxMjIsCisgICAgMjMsMTE1LDEyMSwxMTUsNDYsMTEyLDk3LDExNiwxMDQsOTUsMTA0LDExMSwxMTEsMTA3LDExNSwzMiwKKyAgICAxMDUsMTE1LDMyLDEwMSwxMDksMTEyLDExNiwxMjEsNDEsNiwxMTQsNywwLDAsMCwyMTgsCisgICAgMTAsMTEyLDk3LDExNiwxMDQsOTUsMTA0LDExMSwxMTEsMTA3LDExNSwxMTQsMTY3LDAsMCwwLAorICAgIDExNCwxNjgsMCwwLDAsMTE0LDE2OSwwLDAsMCwxMTQsMTU0LDAsMCwwLDQxLAorICAgIDMsMTE0LDEwLDEsMCwwLDExNCwzNSwwLDAsMCw5MCw0LDEwNCwxMTEsMTExLAorICAgIDEwNywxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwKKyAgICAyMTgsMTEsOTUsMTEyLDk3LDExNiwxMDQsOTUsMTA0LDExMSwxMTEsMTA3LDExNSwyNCw3LDAsCisgICAgMCwxMTUsMTYsMCwwLDAsMCw3LDI1LDEsMTYsMSwxNiwxLDMsMSwKKyAgICAxNCwxLDEzLDEsMTIsMiwxMjIsMjIsODAsOTcsMTE2LDEwNCw3MCwxMDUsMTEwLDEwMCwKKyAgICAxMDEsMTE0LDQ2LDk1LDExMiw5NywxMTYsMTA0LDk1LDEwNCwxMTEsMTExLDEwNywxMTUsOTksMiwKKyAgICAwLDAsMCwwLDAsMCwwLDMsMCwwLDAsMTksMCwwLDAsNjcsCisgICAgMCwwLDAsMTE1LDEyMywwLDAsMCwxMjQsMSwwLDEwMCwxLDAsMTA3LDIsCisgICAgMCwxMTQsNTMsMCwxMjEsMTYsMCwxMTYsMCwwLDEwNiwxLDAsMTMxLDAsMCwKKyAgICAxMjUsMSwwLDg3LDExMCwyMiwwLDQsMTE2LDIsMCwxMDcsMTAsMCwxMTQsNTIsCisgICAgMCwxLDEsMSwxMDAsMiwwLDgzLDg5LDExMCwxLDAsODgsMTIxLDE3LDAsCisgICAgMTE2LDMsMCwxMDYsNCwwLDEyNCwxLDAsMjUsMTI1LDIsMCw4NywxMTAsNDYsCisgICAgMCw0LDExNiw1LDAsMTA3LDEwLDAsMTE0LDExOCwwLDEsMSwxLDEyNCwwLAorICAgIDAsMTA2LDYsMCwxMjQsMSwwLDEzMSwxLDAsMTI1LDIsMCwxMjQsMiwwLAorICAgIDExNiwzLDAsMTA2LDQsMCwxMjQsMSwwLDYwLDg5LDExMCwxLDAsODgsMTI0LAorICAgIDIsMCw4Myw0MSwzLDEyMiwyMTAsNzEsMTAxLDExNiwzMiwxMTYsMTA0LDEwMSwzMiwxMDIsCisgICAgMTA1LDExMCwxMDAsMTAxLDExNCwzMiwxMDIsMTExLDExNCwzMiwxMTYsMTA0LDEwMSwzMiwxMTIsOTcsCisgICAgMTE2LDEwNCwzMiwxMDEsMTEwLDExNiwxMTQsMTIxLDMyLDEwMiwxMTQsMTExLDEwOSwzMiwxMTUsMTIxLAorICAgIDExNSw0NiwxMTIsOTcsMTE2LDEwNCw5NSwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwxMDEsMTE0LDk1LAorICAgIDk5LDk3LDk5LDEwNCwxMDEsNDYsMTAsMTAsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMzIsCisgICAgNzMsMTAyLDMyLDExNiwxMDQsMTAxLDMyLDExMiw5NywxMTYsMTA0LDMyLDEwMSwxMTAsMTE2LDExNCwKKyAgICAxMjEsMzIsMTA1LDExNSwzMiwxMTAsMTExLDExNiwzMiwxMDUsMTEwLDMyLDExNiwxMDQsMTAxLDMyLAorICAgIDk5LDk3LDk5LDEwNCwxMDEsNDQsMzIsMTAyLDEwNSwxMTAsMTAwLDMyLDExNiwxMDQsMTAxLDMyLAorICAgIDk3LDExMiwxMTIsMTE0LDExMSwxMTIsMTE0LDEwNSw5NywxMTYsMTAxLDMyLDEwMiwxMDUsMTEwLDEwMCwKKyAgICAxMDEsMTE0LDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDk3LDExMCwxMDAsMzIsOTksCisgICAgOTcsOTksMTA0LDEwMSwzMiwxMDUsMTE2LDQ2LDMyLDczLDEwMiwzMiwxMTAsMTExLDMyLDEwMiwKKyAgICAxMDUsMTEwLDEwMCwxMDEsMTE0LDMyLDEwNSwxMTUsMzIsOTcsMTE4LDk3LDEwNSwxMDgsOTcsOTgsCisgICAgMTA4LDEwMSw0NCwzMiwxMTUsMTE2LDExMSwxMTQsMTAxLDMyLDc4LDExMSwxMTAsMTAxLDQ2LDEwLAorICAgIDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDExNCwzMCwwLDAsMCw3OCw0MSwKKyAgICA3LDExNCwzLDAsMCwwLDExNCw0NSwwLDAsMCwyMTgsMTcsNzAsMTA1LDEwOCwKKyAgICAxMDEsNzgsMTExLDExNiw3MCwxMTEsMTE3LDExMCwxMDAsNjksMTE0LDExNCwxMTEsMTE0LDExNCw3LAorICAgIDAsMCwwLDExNCw3NSwxLDAsMCwxMTQsNzksMCwwLDAsMTE0LDc5LDEsCisgICAgMCwwLDQxLDMsMTE0LDEwLDEsMCwwLDExNCwzNSwwLDAsMCwxMTQsNzcsCisgICAgMSwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwKKyAgICAwLDAsMjE4LDIwLDk1LDExMiw5NywxMTYsMTA0LDk1LDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LAorICAgIDEwMSwxMTQsOTUsOTksOTcsOTksMTA0LDEwMSw0MSw3LDAsMCwxMTUsMjIsMCwwLAorICAgIDAsMCw4LDEyLDEsMywxLDE2LDEsMTMsMyw5LDEsMywxLDE3LAorICAgIDEsMTMsMSwxNSwxLDE4LDEsMTIyLDMxLDgwLDk3LDExNiwxMDQsNzAsMTA1LDExMCwKKyAgICAxMDAsMTAxLDExNCw0Niw5NSwxMTIsOTcsMTE2LDEwNCw5NSwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwKKyAgICAxMDEsMTE0LDk1LDk5LDk3LDk5LDEwNCwxMDEsOTksMywwLDAsMCwwLDAsMCwKKyAgICAwLDYsMCwwLDAsMywwLDAsMCw2NywwLDAsMCwxMTUsMTEzLDAsCisgICAgMCwwLDExNiwwLDAsMTI0LDIsMCwxMDAsMSwwLDEzMSwyLDAsMTE0LDM5LAorICAgIDAsMTI0LDIsMCwxMDYsMSwwLDEyNCwxLDAsMTMxLDEsMCw5MiwyLDAsCisgICAgMTI1LDMsMCwxMjUsNCwwLDExMCwyMSwwLDEyNCwyLDAsMTA2LDIsMCwxMjQsCisgICAgMSwwLDEzMSwxLDAsMTI1LDMsMCwxMDMsMCwwLDEyNSw0LDAsMTI0LDMsCisgICAgMCwxMDAsMCwwLDEwNyw5LDAsMTE0LDg1LDAsMTE2LDMsMCwxMjQsMSwwLAorICAgIDEyNCwzLDAsMTMxLDIsMCw4MywxMTYsNCwwLDEyNCwxLDAsMTAwLDAsMCwKKyAgICAxMzEsMiwwLDEyNSw1LDAsMTI0LDQsMCwxMjQsNSwwLDk1LDUsMCwxMjQsCisgICAgNSwwLDgzLDQxLDIsNzgsMTE0LDE2NiwwLDAsMCw0MSw2LDExNCw2MCwwLAorICAgIDAsMCwxMTQsMTY2LDAsMCwwLDExNCwxMywxLDAsMCwxMTQsMTc0LDAsMCwKKyAgICAwLDExNCwyMTYsMCwwLDAsMTE0LDIyMCwwLDAsMCw0MSw2LDExNCwxMCwxLAorICAgIDAsMCwxMTQsMTU5LDAsMCwwLDExNCw3NywxLDAsMCwxMTQsMTcwLDAsMCwKKyAgICAwLDExNCwxNzEsMCwwLDAsMTE0LDE3NywwLDAsMCwxMTQsNCwwLDAsMCwKKyAgICAxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwyMTgsMTYsOTUsMTA4LDEwMSwxMDMsCisgICAgOTcsOTksMTIxLDk1LDEwMywxMDEsMTE2LDk1LDExNSwxMTIsMTAxLDk5LDYzLDcsMCwwLAorICAgIDExNSwxOCwwLDAsMCwwLDQsMTUsMSwyNCwyLDE1LDEsNiwxLDEyLAorICAgIDEsMTMsMSwxNSwxLDksMSwxMjIsMjcsODAsOTcsMTE2LDEwNCw3MCwxMDUsMTEwLAorICAgIDEwMCwxMDEsMTE0LDQ2LDk1LDEwOCwxMDEsMTAzLDk3LDk5LDEyMSw5NSwxMDMsMTAxLDExNiw5NSwKKyAgICAxMTUsMTEyLDEwMSw5OSw3OCw5OSw0LDAsMCwwLDAsMCwwLDAsOSwwLAorICAgIDAsMCw1LDAsMCwwLDY3LDAsMCwwLDExNSwyNDAsMCwwLDAsMTAzLAorICAgIDAsMCwxMjUsNCwwLDEyMCwyMjcsMCwxMjQsMiwwLDY4LDkzLDE5MSwwLDEyNSwKKyAgICA1LDAsMTE2LDAsMCwxMjQsNSwwLDExNiwxLDAsMTE2LDIsMCwxMDIsMiwKKyAgICAwLDEzMSwyLDAsMTE1LDQzLDAsMTEzLDEzLDAsMTI0LDAsMCwxMDYsMywwLAorICAgIDEyNCw1LDAsMTMxLDEsMCwxMjUsNiwwLDEyNCw2LDAsMTAwLDEsMCwxMDcsCisgICAgOSwwLDExNCwxMywwLDExNiw0LDAsMTI0LDYsMCwxMDAsMiwwLDEzMSwyLAorICAgIDAsMTE0LDEwNiwwLDEyNCw2LDAsMTA2LDUsMCwxMjQsMSwwLDEyNCwzLDAsCisgICAgMTMxLDIsMCwxMjUsNywwLDExMCwxOCwwLDEyNCwwLDAsMTA2LDYsMCwxMjQsCisgICAgMSwwLDEyNCw2LDAsMTMxLDIsMCwxMjUsNywwLDEyNCw3LDAsMTAwLDEsCisgICAgMCwxMDcsOCwwLDExNCwxMzksMCwxMTMsMTMsMCwxMjQsNywwLDEwNiw3LDAsCisgICAgMTAwLDEsMCwxMDcsOSwwLDExNCwxNTgsMCwxMjQsNywwLDgzLDEyNCw3LDAsCisgICAgMTA2LDgsMCwxMjUsOCwwLDEyNCw4LDAsMTAwLDEsMCwxMDcsOCwwLDExNCwKKyAgICAxOTEsMCwxMTYsOSwwLDEwMCwzLDAsMTMxLDEsMCwxMzAsMSwwLDEyNCw0LAorICAgIDAsMTA2LDEwLDAsMTI0LDgsMCwxMzEsMSwwLDEsMTEzLDEzLDAsODcsMTE2LAogICAgIDExLDAsMTI0LDEsMCwxMDAsMSwwLDEzMSwyLDAsMTI1LDcsMCwxMjQsNCwKICAgICAwLDEyNCw3LDAsOTUsOCwwLDEyNCw3LDAsODMsMTAwLDEsMCw4Myw0MSwKICAgICA0LDEyMiw2Myw3MCwxMDUsMTEwLDEwMCwzMiwxMTYsMTA0LDEwMSwzMiwxMDgsMTExLDk3LDEwMCwKICAgICAxMDEsMTE0LDMyLDExMSwxMTQsMzIsMTEwLDk3LDEwOSwxMDEsMTE1LDExMiw5Nyw5OSwxMDEsOTUsCiAgICAgMTEyLDk3LDExNiwxMDQsMzIsMTAyLDExMSwxMTQsMzIsMTE2LDEwNCwxMDUsMTE1LDMyLDEwOSwxMTEsCiAgICAgMTAwLDExNywxMDgsMTAxLDQ3LDExMiw5Nyw5OSwxMDcsOTcsMTAzLDEwMSwzMiwxMTAsOTcsMTA5LAotICAgIDEwMSw0Niw3OCwxMTQsMTQsMSwwLDAsMTIyLDE5LDExNSwxMTIsMTAxLDk5LDMyLDEwOSwKKyAgICAxMDEsNDYsNzgsMTE0LDEyLDEsMCwwLDEyMiwxOSwxMTUsMTEyLDEwMSw5OSwzMiwxMDksCiAgICAgMTA1LDExNSwxMTUsMTA1LDExMCwxMDMsMzIsMTA4LDExMSw5NywxMDAsMTAxLDExNCw0MSwxMiwxMTQsCi0gICAgMTkzLDAsMCwwLDIxOCwzLDExNSwxMTYsMTE0LDIxOCw1LDk4LDEyMSwxMTYsMTAxLDExNSwKLSAgICAxMTQsODEsMSwwLDAsMTE0LDYwLDAsMCwwLDExNCwxNCwxLDAsMCwxMTQsCi0gICAgODIsMSwwLDAsMTE0LDE3MCwwLDAsMCwxMTQsMjIxLDAsMCwwLDExNCwxNTQsCi0gICAgMCwwLDAsMTE0LDE5OCwwLDAsMCwxMTQsMjE3LDAsMCwwLDQxLDksMTE0LAotICAgIDEyLDEsMCwwLDExNCwxNTksMCwwLDAsMTE0LDM1LDAsMCwwLDExNCwxMywKKyAgICAxOTEsMCwwLDAsMjE4LDMsMTE1LDExNiwxMTQsMjE4LDUsOTgsMTIxLDExNiwxMDEsMTE1LAorICAgIDExNCw4MSwxLDAsMCwxMTQsNjAsMCwwLDAsMTE0LDEyLDEsMCwwLDExNCwKKyAgICA4MiwxLDAsMCwxMTQsMTcwLDAsMCwwLDExNCwyMjAsMCwwLDAsMTE0LDE1NCwKKyAgICAwLDAsMCwxMTQsMTk2LDAsMCwwLDExNCwyMTYsMCwwLDAsNDEsOSwxMTQsCisgICAgMTAsMSwwLDAsMTE0LDE1OSwwLDAsMCwxMTQsMzUsMCwwLDAsMTE0LDExLAogICAgIDEsMCwwLDIxOCwxNCwxMTAsOTcsMTA5LDEwMSwxMTUsMTEyLDk3LDk5LDEwMSw5NSwxMTIsCi0gICAgOTcsMTE2LDEwNCw5MCw1LDEwMSwxMTAsMTE2LDExNCwxMjEsMTE0LDc4LDEsMCwwLDExNCwKLSAgICAxNzgsMCwwLDAsMTE0LDE3MSwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwKKyAgICA5NywxMTYsMTA0LDkwLDUsMTAxLDExMCwxMTYsMTE0LDEyMSwxMTQsNzcsMSwwLDAsMTE0LAorICAgIDE3NywwLDAsMCwxMTQsMTcxLDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LAogICAgIDAsMCwwLDExNCw1LDAsMCwwLDIxOCw5LDk1LDEwMywxMDEsMTE2LDk1LDExNSwKLSAgICAxMTIsMTAxLDk5LDExMCw3LDAsMCwxMTUsNDAsMCwwLDAsMCw1LDYsMSwKLSAgICAxMywxLDIxLDEsNiwxLDE1LDEsMTIsMSwxNSwxLDIxLDIsMTgsMSwKLSAgICAxMiwxLDYsMSwxNSwxLDQsMSw5LDEsMTIsMSwxNSw1LDIwLDIsCisgICAgMTEyLDEwMSw5OSw3OCw3LDAsMCwxMTUsNDAsMCwwLDAsMCw1LDYsMSwKKyAgICAxMywxLDIxLDEsMywxLDE1LDEsMTIsMSwxNSwxLDIxLDIsMTgsMSwKKyAgICAxMiwxLDMsMSwxNSwxLDQsMSw5LDEsMTIsMSwxMiw1LDE3LDIsCiAgICAgMTUsMSw5LDEsMTIyLDIwLDgwLDk3LDExNiwxMDQsNzAsMTA1LDExMCwxMDAsMTAxLDExNCwKICAgICA0Niw5NSwxMDMsMTAxLDExNiw5NSwxMTUsMTEyLDEwMSw5OSw5OSw0LDAsMCwwLDAsCiAgICAgMCwwLDAsNiwwLDAsMCw0LDAsMCwwLDY3LDAsMCwwLDExNSwKLSAgICAxNDMsMCwwLDAsMTI0LDIsMCwxMDAsMSwwLDEwNyw4LDAsMTE0LDI0LDAsCi0gICAgMTE2LDAsMCwxMDYsMSwwLDEyNSwyLDAsMTEwLDAsMCwxMjQsMCwwLDEwNiwKLSAgICAyLDAsMTI0LDEsMCwxMjQsMiwwLDEyNCwzLDAsMTMxLDMsMCwxMjUsNCwKLSAgICAwLDEyNCw0LDAsMTAwLDEsMCwxMDcsOCwwLDExNCw2MSwwLDEwMCwxLDAsCi0gICAgODMsMTI0LDQsMCwxMDYsMywwLDEwMCwxLDAsMTA3LDgsMCwxMTQsMTM1LDAsCi0gICAgMTI0LDQsMCwxMDYsNCwwLDEyNSw1LDAsMTI0LDUsMCwxMTQsMTI4LDAsMTAwLAotICAgIDIsMCwxMjQsNCwwLDk1LDUsMCwxMTYsNiwwLDEyNCwxLDAsMTI0LDUsCi0gICAgMCwxMjQsMCwwLDEwNiwyLDAsMTMxLDMsMCwxMjQsNCwwLDk1LDQsMCwKLSAgICAxMjQsNCwwLDgzLDEwMCwxLDAsODMsMTEwLDQsMCwxMjQsNCwwLDgzLDEwMCwKLSAgICAxLDAsODMsNDEsMywxMjIsOTgsMTAyLDEwNSwxMTAsMTAwLDMyLDExNiwxMDQsMTAxLDMyLAotICAgIDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDMyLDExMSwxMTAsMzIsMTE1LDEyMSwxMTUsNDYsMTEyLDk3LAotICAgIDExNiwxMDQsMzIsMTExLDExNCwzMiwzOSwxMTIsOTcsMTE2LDEwNCwzOSwzMiw5OCw5NywxMTUsCi0gICAgMTAxLDEwMCwzMiwxMTEsMTEwLDMyLDExNSwxMjEsMTE1LDQ2LDExMiw5NywxMTYsMTA0LDk1LDEwNCwKLSAgICAxMTEsMTExLDEwNywxMTUsMzIsOTcsMTEwLDEwMCwxMCwzMiwzMiwzMiwzMiwzMiwzMiwzMiwKLSAgICAzMiwxMTUsMTIxLDExNSw0NiwxMTIsOTcsMTE2LDEwNCw5NSwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwKLSAgICAxMDEsMTE0LDk1LDk5LDk3LDk5LDEwNCwxMDEsNDYsNzgsOTAsOSwxMTAsOTcsMTA5LDEwMSwKLSAgICAxMTUsMTEyLDk3LDk5LDEwMSw0MSw3LDExNCw3LDAsMCwwLDExNCwzNSwwLDAsCi0gICAgMCwxMTQsODYsMSwwLDAsMTE0LDE3MCwwLDAsMCwxMTQsMjIxLDAsMCwwLAotICAgIDExNCwyMTgsMCwwLDAsMTE0LDYxLDEsMCwwLDQxLDYsMTE0LDEyLDEsMCwKLSAgICAwLDExNCwxNTksMCwwLDAsMTE0LDM1LDAsMCwwLDExNCwxMywxLDAsMCwKLSAgICAxMTQsMTc4LDAsMCwwLDExNCw4NSwxLDAsMCwxMTQsNCwwLDAsMCwxMTQsCi0gICAgNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsMTQsMSwwLDAsMTQyLDcsCi0gICAgMCwwLDExNSwyNiwwLDAsMCwwLDQsMTIsMSwxMiwxLDIxLDEsMTIsCi0gICAgMSw0LDEsMTUsMSw5LDEsNiwzLDksMSwyNCwxLDQsMiw3LAotICAgIDIsMTIyLDIwLDgwLDk3LDExNiwxMDQsNzAsMTA1LDExMCwxMDAsMTAxLDExNCw0NiwxMDIsMTA1LAotICAgIDExMCwxMDAsOTUsMTE1LDExMiwxMDEsOTksOTksMywwLDAsMCwwLDAsMCwwLAotICAgIDQsMCwwLDAsMywwLDAsMCw2NywwLDAsMCwxMTUsNDEsMCwwLAotICAgIDAsMTI0LDAsMCwxMDYsMCwwLDEyNCwxLDAsMTI0LDIsMCwxMzEsMiwwLAotICAgIDEyNSwzLDAsMTI0LDMsMCwxMDAsMSwwLDEwNyw4LDAsMTE0LDM0LDAsMTAwLAotICAgIDEsMCw4MywxMjQsMywwLDEwNiwxLDAsODMsNDEsMiwxMjIsMTcwLDEwMiwxMDUsCi0gICAgMTEwLDEwMCwzMiwxMTYsMTA0LDEwMSwzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwzMiwxMTEsMTEwLAotICAgIDMyLDExNSwxMjEsMTE1LDQ2LDExMiw5NywxMTYsMTA0LDMyLDExMSwxMTQsMzIsMzksMTEyLDk3LAotICAgIDExNiwxMDQsMzksMzIsOTgsOTcsMTE1LDEwMSwxMDAsMzIsMTExLDExMCwzMiwxMTUsMTIxLDExNSwKLSAgICA0NiwxMTIsOTcsMTE2LDEwNCw5NSwxMDQsMTExLDExMSwxMDcsMTE1LDMyLDk3LDExMCwxMDAsMTAsCi0gICAgMzIsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMTE1LDEyMSwxMTUsNDYsMTEyLDk3LDExNiwxMDQsCi0gICAgOTUsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsMTAxLDExNCw5NSw5OSw5Nyw5OSwxMDQsMTAxLDQ2LAotICAgIDEwLDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDg0LDEwNCwxMDUsMTE1LDMyLDEwOSwKLSAgICAxMDEsMTE2LDEwNCwxMTEsMTAwLDMyLDEwNSwxMTUsMzIsMTAwLDEwMSwxMTIsMTE0LDEwMSw5OSw5NywKLSAgICAxMTYsMTAxLDEwMCw0NiwzMiwzMiw4NSwxMTUsMTAxLDMyLDEwMiwxMDUsMTEwLDEwMCw5NSwxMTUsCi0gICAgMTEyLDEwMSw5OSw0MCw0MSwzMiwxMDUsMTEwLDExNSwxMTYsMTAxLDk3LDEwMCw0NiwxMCwxMCwKLSAgICAzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMiw3OCw0MSwyLDExNCwxNCwxLDAsMCwKLSAgICAxMTQsMTcwLDAsMCwwLDQxLDQsMTE0LDEyLDEsMCwwLDExNCwxNTksMCwwLAotICAgIDAsMTE0LDM1LDAsMCwwLDExNCwxNzgsMCwwLDAsMTE0LDQsMCwwLDAsCi0gICAgMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMTE0LDE1LDEsMCwwLDE2NCwKLSAgICA3LDAsMCwxMTUsOCwwLDAsMCwwLDgsMTgsMSwxMiwxLDQsMSwKLSAgICAxMjIsMjIsODAsOTcsMTE2LDEwNCw3MCwxMDUsMTEwLDEwMCwxMDEsMTE0LDQ2LDEwMiwxMDUsMTEwLAotICAgIDEwMCw5NSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw0MSwxMiwxMTQsNTcsMCwwLDAsMTE0LAotICAgIDU2LDAsMCwwLDExNCw1OCwwLDAsMCwxMTQsNTksMCwwLDAsMTE0LDE5LAotICAgIDEsMCwwLDExNCw3NSwxLDAsMCwxMTQsODAsMSwwLDAsMTE0LDgxLDEsCi0gICAgMCwwLDExNCw4MiwxLDAsMCwxMTQsODYsMSwwLDAsMTE0LDE0LDEsMCwKLSAgICAwLDExNCwxNSwxLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwKLSAgICAxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsNzQsMSwwLDAsNDksCi0gICAgNywwLDAsMTE1LDIyLDAsMCwwLDEyLDIsNiwyLDE4LDgsMTgsMTcsCi0gICAgMTgsMTcsMTgsMTUsMywxLDE4LDMxLDMsMSwyMSwyMSwzLDEsMTE0LDc0LAotICAgIDEsMCwwLDk5LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLAotICAgIDMsMCwwLDAsNjQsMCwwLDAsMTE1LDEzMywwLDAsMCwxMDEsMCwwLAotICAgIDkwLDEsMCwxMDAsMCwwLDkwLDIsMCwxMDAsMSwwLDkwLDMsMCwxMDAsCi0gICAgMiwwLDEwMCwzLDAsMTMyLDAsMCw5MCw0LDAsMTAwLDQsMCwxMDAsNSwKLSAgICAwLDEzMiwwLDAsOTAsNSwwLDEwMSw2LDAsOTAsNywwLDEwMCw2LDAsCi0gICAgMTAwLDcsMCwxMzIsMCwwLDkwLDgsMCwxMDAsOCwwLDEwMCw5LDAsMTMyLAotICAgIDAsMCw5MCw5LDAsMTAwLDEwLDAsMTAwLDExLDAsMTAwLDEyLDAsMTMyLDEsCi0gICAgMCw5MCwxMCwwLDEwMCwxMywwLDEwMCwxNCwwLDEzMiwwLDAsOTAsMTEsMCwKLSAgICAxMDEsMTIsMCwxMDAsMTUsMCwxMDAsMTYsMCwxMzIsMCwwLDEzMSwxLDAsOTAsCi0gICAgMTMsMCwxMDAsMTcsMCwxMDAsMTgsMCwxMzIsMCwwLDkwLDE0LDAsMTAwLDEwLAotICAgIDAsODMsNDEsMTksMjE4LDEwLDcwLDEwNSwxMDgsMTAxLDcwLDEwNSwxMTAsMTAwLDEwMSwxMTQsCi0gICAgMTIyLDE3Miw3MCwxMDUsMTA4LDEwMSw0NSw5OCw5NywxMTUsMTAxLDEwMCwzMiwxMDIsMTA1LDExMCwKLSAgICAxMDAsMTAxLDExNCw0NiwxMCwxMCwzMiwzMiwzMiwzMiw3MywxMTAsMTE2LDEwMSwxMTQsOTcsCi0gICAgOTksMTE2LDEwNSwxMTEsMTEwLDExNSwzMiwxMTksMTA1LDExNiwxMDQsMzIsMTE2LDEwNCwxMDEsMzIsCi0gICAgMTAyLDEwNSwxMDgsMTAxLDMyLDExNSwxMjEsMTE1LDExNiwxMDEsMTA5LDMyLDk3LDExNCwxMDEsMzIsCi0gICAgOTksOTcsOTksMTA0LDEwMSwxMDAsMzIsMTAyLDExMSwxMTQsMzIsMTEyLDEwMSwxMTQsMTAyLDExMSwKLSAgICAxMTQsMTA5LDk3LDExMCw5OSwxMDEsNDQsMzIsOTgsMTAxLDEwNSwxMTAsMTAzLDEwLDMyLDMyLAotICAgIDMyLDMyLDExNCwxMDEsMTAyLDExNCwxMDEsMTE1LDEwNCwxMDEsMTAwLDMyLDExOSwxMDQsMTAxLDExMCwKLSAgICAzMiwxMTYsMTA0LDEwMSwzMiwxMDAsMTA1LDExNCwxMDEsOTksMTE2LDExMSwxMTQsMTIxLDMyLDExNiwKLSAgICAxMDQsMTAxLDMyLDEwMiwxMDUsMTEwLDEwMCwxMDEsMTE0LDMyLDEwNSwxMTUsMzIsMTA0LDk3LDExMCwKLSAgICAxMDAsMTA4LDEwNSwxMTAsMTAzLDMyLDEwNCw5NywxMTUsMzIsOTgsMTAxLDEwMSwxMTAsMzIsMTA5LAotICAgIDExMSwxMDAsMTA1LDEwMiwxMDUsMTAxLDEwMCw0NiwxMCwxMCwzMiwzMiwzMiwzMiw5OSwyLAotICAgIDAsMCwwLDAsMCwwLDAsNSwwLDAsMCw1LDAsMCwwLDcsCi0gICAgMCwwLDAsMTE1LDEyMiwwLDAsMCwxMDMsMCwwLDEyNSwzLDAsMTIwLDUyLAotICAgIDAsMTI0LDIsMCw2OCw5Myw0NCwwLDkyLDIsMCwxMzcsMCwwLDEyNSw0LAotICAgIDAsMTI0LDMsMCwxMDYsMCwwLDEzNSwwLDAsMTAyLDEsMCwxMDAsMSwwLAotICAgIDEwMCwyLDAsMTM0LDAsMCwxMjQsNCwwLDY4LDEzMSwxLDAsMTMxLDEsMCwKLSAgICAxLDExMywxMywwLDg3LDEyNCwzLDAsMTI0LDAsMCw5NSwxLDAsMTI0LDEsCi0gICAgMCwxMTIsNzksMCwxMDAsMywwLDEyNCwwLDAsOTUsMiwwLDEwMCw2LDAsCi0gICAgMTI0LDAsMCw5NSwzLDAsMTE2LDQsMCwxMzEsMCwwLDEyNCwwLDAsOTUsCi0gICAgNSwwLDExNiw0LDAsMTMxLDAsMCwxMjQsMCwwLDk1LDYsMCwxMDAsNSwKLSAgICAwLDgzLDQxLDcsMTIyLDE1NCw3MywxMTAsMTA1LDExNiwxMDUsOTcsMTA4LDEwNSwxMjIsMTAxLAotICAgIDMyLDExOSwxMDUsMTE2LDEwNCwzMiwxMTYsMTA0LDEwMSwzMiwxMTIsOTcsMTE2LDEwNCwzMiwxMTYsCi0gICAgMTExLDMyLDExNSwxMDEsOTcsMTE0LDk5LDEwNCwzMiwxMTEsMTEwLDMyLDk3LDExMCwxMDAsMzIsCi0gICAgOTcsMzIsMTE4LDk3LDExNCwxMDUsOTcsOTgsMTA4LDEwMSwzMiwxMTAsMTE3LDEwOSw5OCwxMDEsCi0gICAgMTE0LDMyLDExMSwxMDIsMTAsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMzIsNTAsNDUsMTE2LAotICAgIDExNywxMTIsMTA4LDEwMSwxMTUsMzIsOTksMTExLDExMCwxMTYsOTcsMTA1LDExMCwxMDUsMTEwLDEwMywKLSAgICAzMiwxMTYsMTA0LDEwMSwzMiwxMDgsMTExLDk3LDEwMCwxMDEsMTE0LDMyLDk3LDExMCwxMDAsMzIsCi0gICAgMTE2LDEwNCwxMDEsMzIsMTAyLDEwNSwxMDgsMTAxLDMyLDExNSwxMTcsMTAyLDEwMiwxMDUsMTIwLDEwMSwKLSAgICAxMTUsMzIsMTE2LDEwNCwxMDEsMzIsMTA4LDExMSw5NywxMDAsMTAxLDExNCwxMCwzMiwzMiwzMiwKLSAgICAzMiwzMiwzMiwzMiwzMiwxMTQsMTAxLDk5LDExMSwxMDMsMTEwLDEwNSwxMjIsMTAxLDExNSw0NiwKLSAgICA5OSwxLDAsMCwwLDAsMCwwLDAsMiwwLDAsMCwzLDAsMCwKLSAgICAwLDUxLDAsMCwwLDExNSwyNywwLDAsMCwxMjQsMCwwLDkzLDE3LDAsCi0gICAgMTI1LDEsMCwxMjQsMSwwLDEzNiwwLDAsMTAyLDIsMCw4NiwxLDExMywzLAotICAgIDAsMTAwLDAsMCw4Myw0MSwxLDc4LDExNCw0LDAsMCwwLDQxLDIsMTE0LAotICAgIDIyLDAsMCwwLDExNCw1OCwxLDAsMCw0MSwxLDExNCwxNzAsMCwwLDAsCi0gICAgMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMTE0LDc3LDAsMCwwLDE5MywKLSAgICA3LDAsMCwxMTUsMiwwLDAsMCw2LDAsMTIyLDM4LDcwLDEwNSwxMDgsMTAxLAotICAgIDcwLDEwNSwxMTAsMTAwLDEwMSwxMTQsNDYsOTUsOTUsMTA1LDExMCwxMDUsMTE2LDk1LDk1LDQ2LAotICAgIDYwLDEwOCwxMTEsOTksOTcsMTA4LDExNSw2Miw0Niw2MCwxMDMsMTAxLDExMCwxMDEsMTIwLDExMiwKLSAgICAxMTQsNjIsMTE0LDExNiwwLDAsMCwxMTQsMjksMCwwLDAsNzgsMTE0LDEzOSwwLAotICAgIDAsMCw0MSw3LDExNCwxOTgsMCwwLDAsMjE4LDgsOTUsMTA4LDExMSw5NywxMDAsCi0gICAgMTAxLDExNCwxMTUsMTE0LDM1LDAsMCwwLDIxOCwxMSw5NSwxMTIsOTcsMTE2LDEwNCw5NSwKLSAgICAxMDksMTE2LDEwNSwxMDksMTAxLDIxOCwzLDExNSwxMDEsMTE2LDIxOCwxMSw5NSwxMTIsOTcsMTE2LAotICAgIDEwNCw5NSw5OSw5Nyw5OSwxMDQsMTAxLDIxOCwxOSw5NSwxMTQsMTAxLDEwOCw5NywxMjAsMTAxLAotICAgIDEwMCw5NSwxMTIsOTcsMTE2LDEwNCw5NSw5OSw5Nyw5OSwxMDQsMTAxLDQxLDUsMTE0LDcxLAotICAgIDAsMCwwLDExNCwzNSwwLDAsMCwyMTgsMTQsMTA4LDExMSw5NywxMDAsMTAxLDExNCwKLSAgICA5NSwxMDAsMTAxLDExNiw5NywxMDUsMTA4LDExNSw5MCw3LDEwOCwxMTEsOTcsMTAwLDEwMSwxMTQsCi0gICAgMTE1LDExNCwxMjYsMCwwLDAsMTE0LDQsMCwwLDAsNDEsMSwxMTQsMTcwLDAsCi0gICAgMCwwLDExNCw1LDAsMCwwLDExNCw3MiwwLDAsMCwxODcsNywwLDAsCi0gICAgMTE1LDE2LDAsMCwwLDAsNCw2LDEsMTksMSwzNiwxLDksMiwxNSwKLSAgICAxLDksMSwxMiwxLDEyMiwxOSw3MCwxMDUsMTA4LDEwMSw3MCwxMDUsMTEwLDEwMCwxMDEsCi0gICAgMTE0LDQ2LDk1LDk1LDEwNSwxMTAsMTA1LDExNiw5NSw5NSw5OSwxLDAsMCwwLDAsCi0gICAgMCwwLDAsMSwwLDAsMCwyLDAsMCwwLDY3LDAsMCwwLDExNSwKLSAgICAxMywwLDAsMCwxMDAsMywwLDEyNCwwLDAsOTUsMCwwLDEwMCwyLDAsCi0gICAgODMsNDEsNCwxMjIsMzEsNzMsMTEwLDExOCw5NywxMDgsMTA1LDEwMCw5NywxMTYsMTAxLDMyLAotICAgIDExNiwxMDQsMTAxLDMyLDEwMCwxMDUsMTE0LDEwMSw5OSwxMTYsMTExLDExNCwxMjEsMzIsMTA5LDExNiwKLSAgICAxMDUsMTA5LDEwMSw0NiwxMTQsMjksMCwwLDAsNzgsMTE0LDEzOSwwLDAsMCw0MSwKLSAgICAxLDExNCw4OSwxLDAsMCw0MSwxLDExNCw3MSwwLDAsMCwxMTQsNCwwLAotICAgIDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsNzUsMSwwLAotICAgIDAsMjAxLDcsMCwwLDExNSwyLDAsMCwwLDAsMiwxMjIsMjgsNzAsMTA1LAotICAgIDEwOCwxMDEsNzAsMTA1LDExMCwxMDAsMTAxLDExNCw0NiwxMDUsMTEwLDExOCw5NywxMDgsMTA1LDEwMCwKLSAgICA5NywxMTYsMTAxLDk1LDk5LDk3LDk5LDEwNCwxMDEsMTE1LDk5LDIsMCwwLDAsMCwKLSAgICAwLDAsMCwzLDAsMCwwLDIsMCwwLDAsNjcsMCwwLDAsMTE1LAotICAgIDU5LDAsMCwwLDEyNCwwLDAsMTA2LDAsMCwxMjQsMSwwLDEzMSwxLDAsCi0gICAgMTI1LDIsMCwxMjQsMiwwLDEwMCwxLDAsMTA3LDgsMCwxMTQsMzcsMCwxMDAsCi0gICAgMSwwLDEwMywwLDAsMTAyLDIsMCw4MywxMjQsMiwwLDEwNiwxLDAsMTI0LAotICAgIDIsMCwxMDYsMiwwLDExMiw1NSwwLDEwMywwLDAsMTAyLDIsMCw4Myw0MSwKLSAgICAyLDEyMiwxOTcsODQsMTE0LDEyMSwzMiwxMTYsMTExLDMyLDEwMiwxMDUsMTEwLDEwMCwzMiw5NywKLSAgICAzMiwxMDgsMTExLDk3LDEwMCwxMDEsMTE0LDMyLDEwMiwxMTEsMTE0LDMyLDExNiwxMDQsMTAxLDMyLAotICAgIDExNSwxMTIsMTAxLDk5LDEwNSwxMDIsMTA1LDEwMSwxMDAsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsCi0gICAgNDQsMzIsMTExLDExNCwzMiwxMTYsMTA0LDEwMSwzMiwxMTAsOTcsMTA5LDEwMSwxMTUsMTEyLDk3LAotICAgIDk5LDEwMSwxMCwzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMiwxMTIsOTcsOTksMTA3LDk3LAotICAgIDEwMywxMDEsMzIsMTEyLDExMSwxMTQsMTE2LDEwNSwxMTEsMTEwLDExNSw0NiwzMiw4MiwxMDEsMTE2LAotICAgIDExNywxMTQsMTEwLDExNSwzMiw0MCwxMDgsMTExLDk3LDEwMCwxMDEsMTE0LDQ0LDMyLDEwOCwxMDUsCi0gICAgMTE1LDExNiw0NSwxMTEsMTAyLDQ1LDExMiwxMTEsMTE0LDExNiwxMDUsMTExLDExMCwxMTUsNDEsNDYsCi0gICAgMTAsMTAsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMzIsODQsMTA0LDEwNSwxMTUsMzIsMTA5LAotICAgIDEwMSwxMTYsMTA0LDExMSwxMDAsMzIsMTA1LDExNSwzMiwxMDAsMTAxLDExMiwxMTQsMTAxLDk5LDk3LAotICAgIDExNiwxMDEsMTAwLDQ2LDMyLDMyLDg1LDExNSwxMDEsMzIsMTAyLDEwNSwxMTAsMTAwLDk1LDExNSwKLSAgICAxMTIsMTAxLDk5LDQwLDQxLDMyLDEwNSwxMTAsMTE1LDExNiwxMDEsOTcsMTAwLDQ2LDEwLDEwLAotICAgIDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDc4LDQxLDMsMTE0LDE0LDEsMCwwLAotICAgIDExNCwxNzAsMCwwLDAsMTE0LDIyMSwwLDAsMCw0MSwzLDExNCw3MSwwLDAsCi0gICAgMCwxMTQsMTU5LDAsMCwwLDExNCwxNzgsMCwwLDAsMTE0LDQsMCwwLDAsCi0gICAgMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMTE0LDE2NiwwLDAsMCwyMDcsCi0gICAgNywwLDAsMTE1LDgsMCwwLDAsMCw3LDE1LDEsMTIsMSwxMCwxLAotICAgIDEyMiwyMiw3MCwxMDUsMTA4LDEwMSw3MCwxMDUsMTEwLDEwMCwxMDEsMTE0LDQ2LDEwMiwxMDUsMTEwLAotICAgIDEwMCw5NSwxMDgsMTExLDk3LDEwMCwxMDEsMTE0LDk5LDYsMCwwLDAsMCwwLDAsCi0gICAgMCw3LDAsMCwwLDcsMCwwLDAsNjcsMCwwLDAsMTE1LDQwLDAsCi0gICAgMCwwLDEyNCwxLDAsMTI0LDIsMCwxMjQsMywwLDEzMSwyLDAsMTI1LDYsCi0gICAgMCwxMTYsMCwwLDEyNCwyLDAsMTI0LDMsMCwxMDAsMSwwLDEyNCw2LDAsCi0gICAgMTAwLDIsMCwxMjQsNCwwLDEzMSwyLDIsODMsNDEsMyw3OCwxMTQsMTcwLDAsCi0gICAgMCwwLDExNCwyMjEsMCwwLDAsNDEsMSwxMTQsMjQwLDAsMCwwLDQxLDcsCi0gICAgMTE0LDcxLDAsMCwwLDExNCwyNDQsMCwwLDAsMTE0LDE1OSwwLDAsMCwxMTQsCi0gICAgMzUsMCwwLDAsMTE0LDIyOSwwLDAsMCwxMTQsMTMsMSwwLDAsMTE0LDE3MCwKLSAgICAwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLAotICAgIDAsMCwxMTQsODYsMSwwLDAsMjE5LDcsMCwwLDExNSw2LDAsMCwwLAotICAgIDAsMSwxNSwxLDE4LDEsMTIyLDIwLDcwLDEwNSwxMDgsMTAxLDcwLDEwNSwxMTAsMTAwLAotICAgIDEwMSwxMTQsNDYsOTUsMTAzLDEwMSwxMTYsOTUsMTE1LDExMiwxMDEsOTksNzgsOTksMywwLAotICAgIDAsMCwwLDAsMCwwLDE0LDAsMCwwLDE1LDAsMCwwLDY3LDAsCi0gICAgMCwwLDExNSwyNDAsMSwwLDAsMTAwLDEsMCwxMjUsMywwLDEyNCwxLDAsCi0gICAgMTA2LDAsMCwxMDAsMiwwLDEzMSwxLDAsMTAwLDMsMCwyNSwxMjUsNCwwLAotICAgIDEyMSwzNCwwLDExNiwxLDAsMTI0LDAsMCwxMDYsMiwwLDExMiw0OSwwLDExNiwKLSAgICAzLDAsMTA2LDQsMCwxMzEsMCwwLDEzMSwxLDAsMTA2LDUsMCwxMjUsNSwKLSAgICAwLDg3LDExMCwyNCwwLDQsMTE2LDYsMCwxMDcsMTAsMCwxMTQsODUsMCwxLAotICAgIDEsMSwxMDAsMTAsMCwxMjUsNSwwLDg5LDExMCwxLDAsODgsMTI0LDUsMCwKLSAgICAxMjQsMCwwLDEwNiw3LDAsMTA3LDMsMCwxMTQsMTIzLDAsMTI0LDAsMCwxMDYsCi0gICAgOCwwLDEzMSwwLDAsMSwxMjQsNSwwLDEyNCwwLDAsOTUsNywwLDExMCwKLSAgICAwLDAsMTE2LDksMCwxMzEsMCwwLDExNCwxNTYsMCwxMjQsMCwwLDEwNiwxMCwKLSAgICAwLDEyNSw2LDAsMTI0LDQsMCwxMDYsMTEsMCwxMzEsMCwwLDEyNSw3LDAsCi0gICAgMTEwLDE1LDAsMTI0LDAsMCwxMDYsMTIsMCwxMjUsNiwwLDEyNCw0LDAsMTI1LAotICAgIDcsMCwxMjQsNywwLDEyNCw2LDAsMTA3LDYsMCwxMTQsNTEsMSwxMTYsMTMsCi0gICAgMCwxMjQsMCwwLDEwNiwyLDAsMTI0LDQsMCwxMzEsMiwwLDEyNSw4LDAsCi0gICAgMTIwLDEwMywwLDEyNCwwLDAsMTA2LDE0LDAsNjgsOTMsNzcsMCw5MiwyLDAsCi0gICAgMTI1LDksMCwxMjUsMTAsMCwxMDAsNSwwLDEyNCw5LDAsMjMsMTI1LDExLDAsCi0gICAgMTE2LDEzLDAsMTI0LDgsMCwxMjQsMTEsMCwxMzEsMiwwLDEyNSwxMiwwLDExNiwKLSAgICAxNSwwLDEyNCwxMiwwLDEzMSwxLDAsMTE0LDIxMSwwLDEyNCwwLDAsMTA2LDE2LAotICAgIDAsMTI0LDEwLDAsMTI0LDEsMCwxMjQsMTIsMCwxMjQsOCwwLDEwMywxLDAsCi0gICAgMTI0LDIsMCwxMzEsNSwwLDgzLDExMywyMTEsMCw4NywxMTYsMTcsMCwxMjQsOCwKLSAgICAwLDEzMSwxLDAsMTI1LDMsMCwxMTAsMCwwLDEyMCwxMjYsMCwxMjQsMCwwLAotICAgIDEwNiwxNCwwLDY4LDkzLDExNSwwLDkyLDIsMCwxMjUsOSwwLDEyNSwxMCwwLAotICAgIDExNiwxMywwLDEyNCwwLDAsMTA2LDIsMCwxMjQsNCwwLDEyNCw5LDAsMjMsCi0gICAgMTMxLDIsMCwxMjUsMTIsMCwxMTYsMTgsMCwxMDAsNiwwLDEwNiwxOSwwLDEyNCwKLSAgICAxMiwwLDEzMSwxLDAsMTAwLDcsMCwxMDAsMywwLDEzMSwxLDEsMSwxMjQsCi0gICAgNywwLDEyNCw5LDAsMjMsMTI0LDYsMCwxMDcsNiwwLDExNCw2MSwxLDExNiwKLSAgICAxNSwwLDEyNCwxMiwwLDEzMSwxLDAsMTE0LDE3NiwxLDEyNCwwLDAsMTA2LDE2LAotICAgIDAsMTI0LDEwLDAsMTI0LDEsMCwxMjQsMTIsMCwxMDAsOCwwLDEyNCwyLDAsCi0gICAgMTMxLDUsMCw4MywxMTMsNjEsMSwxMTMsNjEsMSw4NywxMjQsMywwLDExNCwyMzYsCi0gICAgMSwxMTYsMTgsMCwxMDAsOSwwLDEwNiwxOSwwLDEyNCw4LDAsMTMxLDEsMCwKLSAgICAxMzEsMSwwLDEsMTE2LDIwLDAsMTI0LDEsMCwxMDAsOCwwLDEzMSwyLDAsCi0gICAgMTI1LDEzLDAsMTI0LDgsMCwxMDMsMSwwLDEyNCwxMywwLDk1LDIxLDAsMTI0LAotICAgIDEzLDAsODMsMTAwLDgsMCw4Myw0MSwxMSwxMjIsMTI1LDg0LDExNCwxMjEsMzIsMTE2LAotICAgIDExMSwzMiwxMDIsMTA1LDExMCwxMDAsMzIsOTcsMzIsMTA4LDExMSw5NywxMDAsMTAxLDExNCwzMiwKLSAgICAxMDIsMTExLDExNCwzMiwxMTYsMTA0LDEwMSwzMiwxMTUsMTEyLDEwMSw5OSwxMDUsMTAyLDEwNSwxMDEsCi0gICAgMTAwLDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDQ0LDMyLDExMSwxMTQsMzIsMTE2LDEwNCwxMDEsCi0gICAgMzIsMTEwLDk3LDEwOSwxMDEsMTE1LDExMiw5Nyw5OSwxMDEsMTAsMzIsMzIsMzIsMzIsMzIsCi0gICAgMzIsMzIsMzIsMTEyLDk3LDk5LDEwNyw5NywxMDMsMTAxLDMyLDExMiwxMTEsMTE0LDExNiwxMDUsCi0gICAgMTExLDExMCwxMTUsNDYsMzIsODIsMTAxLDExNiwxMTcsMTE0LDExMCwxMTUsMzIsNDAsMTA4LDExMSwKLSAgICA5NywxMDAsMTAxLDExNCw0NCwzMiwxMDgsMTA1LDExNSwxMTYsNDUsMTExLDEwMiw0NSwxMTIsMTExLAotICAgIDExNCwxMTYsMTA1LDExMSwxMTAsMTE1LDQxLDQ2LDcwLDExNCwxMTYsMCwwLDAsMTE0LDExNSwKLSAgICAwLDAsMCwxMTQsMjksMCwwLDAsMTE0LDcyLDAsMCwwLDEyMiw5LDExNiwKLSAgICAxMTQsMTIxLDEwNSwxMTAsMTAzLDMyLDEyMywxMjUsMTE0LDE0NiwwLDAsMCw3OCwxMjIsMjUsCi0gICAgMTEyLDExMSwxMTUsMTE1LDEwNSw5OCwxMDgsMTAxLDMyLDExMCw5NywxMDksMTAxLDExNSwxMTIsOTcsCi0gICAgOTksMTAxLDMyLDEwMiwxMTEsMTE0LDMyLDEyMywxMjUsMTE0LDEzOSwwLDAsMCw0MSwyMiwKLSAgICAxMTQsMzIsMCwwLDAsMTE0LDM5LDAsMCwwLDExNCwzNSwwLDAsMCwxMTQsCi0gICAgMywwLDAsMCwxMTQsNDUsMCwwLDAsMTE0LDU0LDEsMCwwLDExNCw0MCwKLSAgICAwLDAsMCwxMTQsODksMSwwLDAsMjE4LDExLDk1LDEwMiwxMDUsMTA4LDEwOCw5NSwKLSAgICA5OSw5Nyw5OSwxMDQsMTAxLDExNCw2LDAsMCwwLDExNCw5MiwxLDAsMCwxMTQsCi0gICAgMTQwLDAsMCwwLDExNCw5MSwxLDAsMCwxMTQsMjgsMCwwLDAsMTE0LDg4LAotICAgIDEsMCwwLDExNCw0NCwwLDAsMCwxMTQsODYsMSwwLDAsMTE0LDQ2LDAsCi0gICAgMCwwLDExNCwxNTMsMCwwLDAsMTE0LDQ3LDAsMCwwLDExNCwyMTcsMCwwLAotICAgIDAsMTE0LDIyMSwwLDAsMCw0MSwxNCwxMTQsNzEsMCwwLDAsMTE0LDE1OSwwLAotICAgIDAsMCwxMTQsMTMsMSwwLDAsOTAsMTIsMTA1LDExNSw5NSwxMTAsOTcsMTA5LDEwMSwKLSAgICAxMTUsMTEyLDk3LDk5LDEwMSw5MCwxMSwxMTYsOTcsMTA1LDEwOCw5NSwxMDksMTExLDEwMCwxMTcsCi0gICAgMTA4LDEwMSwxMTQsMTg0LDAsMCwwLDkwLDUsOTksOTcsOTksMTA0LDEwMSw5MCwxMiwKLSAgICA5OSw5Nyw5OSwxMDQsMTAxLDk1LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDkwLDksOTgsOTcsCi0gICAgMTE1LDEwMSw5NSwxMTIsOTcsMTE2LDEwNCwxMTQsNTgsMSwwLDAsMTE0LDI0NCwwLDAsCi0gICAgMCw5MCwxMywxMDUsMTEwLDEwNSwxMTYsOTUsMTAyLDEwNSwxMDgsMTAxLDExMCw5NywxMDksMTAxLAotICAgIDkwLDksMTAyLDExNywxMDgsMTA4LDk1LDExMiw5NywxMTYsMTA0LDExNCwxNzgsMCwwLDAsCisgICAgMTQwLDAsMCwwLDEyNCwyLDAsMTAwLDEsMCwxMDcsOCwwLDExNCwyMSwwLAorICAgIDExNiwwLDAsMTA2LDEsMCwxMjUsMiwwLDEyNCwwLDAsMTA2LDIsMCwxMjQsCisgICAgMSwwLDEyNCwyLDAsMTI0LDMsMCwxMzEsMywwLDEyNSw0LDAsMTI0LDQsCisgICAgMCwxMDAsMSwwLDEwNyw4LDAsMTE0LDU4LDAsMTAwLDEsMCw4MywxMjQsNCwKKyAgICAwLDEwNiwzLDAsMTAwLDEsMCwxMDcsOCwwLDExNCwxMzIsMCwxMjQsNCwwLAorICAgIDEwNiw0LDAsMTI1LDUsMCwxMjQsNSwwLDExNCwxMjUsMCwxMDAsMiwwLDEyNCwKKyAgICA0LDAsOTUsNSwwLDExNiw2LDAsMTI0LDEsMCwxMjQsNSwwLDEyNCwwLAorICAgIDAsMTA2LDIsMCwxMzEsMywwLDEyNCw0LDAsOTUsNCwwLDEyNCw0LDAsCisgICAgODMsMTAwLDEsMCw4MywxMTAsNCwwLDEyNCw0LDAsODMsMTAwLDEsMCw4MywKKyAgICA0MSwzLDEyMiw5OCwxMDIsMTA1LDExMCwxMDAsMzIsMTE2LDEwNCwxMDEsMzIsMTA5LDExMSwxMDAsCisgICAgMTE3LDEwOCwxMDEsMzIsMTExLDExMCwzMiwxMTUsMTIxLDExNSw0NiwxMTIsOTcsMTE2LDEwNCwzMiwKKyAgICAxMTEsMTE0LDMyLDM5LDExMiw5NywxMTYsMTA0LDM5LDMyLDk4LDk3LDExNSwxMDEsMTAwLDMyLAorICAgIDExMSwxMTAsMzIsMTE1LDEyMSwxMTUsNDYsMTEyLDk3LDExNiwxMDQsOTUsMTA0LDExMSwxMTEsMTA3LAorICAgIDExNSwzMiw5NywxMTAsMTAwLDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDExNSwxMjEsCisgICAgMTE1LDQ2LDExMiw5NywxMTYsMTA0LDk1LDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDEwMSwxMTQsOTUsCisgICAgOTksOTcsOTksMTA0LDEwMSw0Niw3OCw5MCw5LDExMCw5NywxMDksMTAxLDExNSwxMTIsOTcsCisgICAgOTksMTAxLDQxLDcsMTE0LDcsMCwwLDAsMTE0LDM1LDAsMCwwLDExNCw4NiwKKyAgICAxLDAsMCwxMTQsMTcwLDAsMCwwLDExNCwyMjAsMCwwLDAsMTE0LDIxNywwLAorICAgIDAsMCwxMTQsNjAsMSwwLDAsNDEsNiwxMTQsMTAsMSwwLDAsMTE0LDE1OSwKKyAgICAwLDAsMCwxMTQsMzUsMCwwLDAsMTE0LDExLDEsMCwwLDExNCwxNzcsMCwKKyAgICAwLDAsMTE0LDg1LDEsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwKKyAgICAwLDExNCw1LDAsMCwwLDExNCwxMiwxLDAsMCwxMTAsNywwLDAsMTE1LAorICAgIDI2LDAsMCwwLDAsNCwxMiwxLDksMSwyMSwxLDEyLDEsNCwxLAorICAgIDE1LDEsOSwxLDYsMyw5LDEsMjQsMSw0LDIsNywyLDEyMiwyMCwKKyAgICA4MCw5NywxMTYsMTA0LDcwLDEwNSwxMTAsMTAwLDEwMSwxMTQsNDYsMTAyLDEwNSwxMTAsMTAwLDk1LAorICAgIDExNSwxMTIsMTAxLDk5LDk5LDMsMCwwLDAsMCwwLDAsMCw0LDAsMCwKKyAgICAwLDMsMCwwLDAsNjcsMCwwLDAsMTE1LDQxLDAsMCwwLDEyNCwwLAorICAgIDAsMTA2LDAsMCwxMjQsMSwwLDEyNCwyLDAsMTMxLDIsMCwxMjUsMywwLAorICAgIDEyNCwzLDAsMTAwLDEsMCwxMDcsOCwwLDExNCwzNCwwLDEwMCwxLDAsODMsCisgICAgMTI0LDMsMCwxMDYsMSwwLDgzLDQxLDIsMTIyLDE3MCwxMDIsMTA1LDExMCwxMDAsMzIsCisgICAgMTE2LDEwNCwxMDEsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsMTExLDExMCwzMiwxMTUsMTIxLAorICAgIDExNSw0NiwxMTIsOTcsMTE2LDEwNCwzMiwxMTEsMTE0LDMyLDM5LDExMiw5NywxMTYsMTA0LDM5LAorICAgIDMyLDk4LDk3LDExNSwxMDEsMTAwLDMyLDExMSwxMTAsMzIsMTE1LDEyMSwxMTUsNDYsMTEyLDk3LAorICAgIDExNiwxMDQsOTUsMTA0LDExMSwxMTEsMTA3LDExNSwzMiw5NywxMTAsMTAwLDEwLDMyLDMyLDMyLAorICAgIDMyLDMyLDMyLDMyLDMyLDExNSwxMjEsMTE1LDQ2LDExMiw5NywxMTYsMTA0LDk1LDEwNSwxMDksCisgICAgMTEyLDExMSwxMTQsMTE2LDEwMSwxMTQsOTUsOTksOTcsOTksMTA0LDEwMSw0NiwxMCwxMCwzMiwKKyAgICAzMiwzMiwzMiwzMiwzMiwzMiwzMiw4NCwxMDQsMTA1LDExNSwzMiwxMDksMTAxLDExNiwxMDQsCisgICAgMTExLDEwMCwzMiwxMDUsMTE1LDMyLDEwMCwxMDEsMTEyLDExNCwxMDEsOTksOTcsMTE2LDEwMSwxMDAsCisgICAgNDYsMzIsMzIsODUsMTE1LDEwMSwzMiwxMDIsMTA1LDExMCwxMDAsOTUsMTE1LDExMiwxMDEsOTksCisgICAgNDAsNDEsMzIsMTA1LDExMCwxMTUsMTE2LDEwMSw5NywxMDAsNDYsMTAsMTAsMzIsMzIsMzIsCisgICAgMzIsMzIsMzIsMzIsMzIsNzgsNDEsMiwxMTQsMTIsMSwwLDAsMTE0LDE3MCwwLAorICAgIDAsMCw0MSw0LDExNCwxMCwxLDAsMCwxMTQsMTU5LDAsMCwwLDExNCwzNSwKKyAgICAwLDAsMCwxMTQsMTc3LDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsCisgICAgMCwwLDExNCw1LDAsMCwwLDExNCwxMywxLDAsMCwxMzIsNywwLDAsCisgICAgMTE1LDgsMCwwLDAsMCw4LDE4LDEsMTIsMSw0LDEsMTIyLDIyLDgwLAorICAgIDk3LDExNiwxMDQsNzAsMTA1LDExMCwxMDAsMTAxLDExNCw0NiwxMDIsMTA1LDExMCwxMDAsOTUsMTA5LAorICAgIDExMSwxMDAsMTE3LDEwOCwxMDEsNDEsMTIsMTE0LDU3LDAsMCwwLDExNCw1NiwwLDAsCisgICAgMCwxMTQsNTgsMCwwLDAsMTE0LDU5LDAsMCwwLDExNCwxNywxLDAsMCwKKyAgICAxMTQsNzQsMSwwLDAsMTE0LDc5LDEsMCwwLDExNCw4MSwxLDAsMCwxMTQsCisgICAgODIsMSwwLDAsMTE0LDg2LDEsMCwwLDExNCwxMiwxLDAsMCwxMTQsMTMsCisgICAgMSwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwKKyAgICAwLDAsMTE0LDUsMCwwLDAsMTE0LDczLDEsMCwwLDEyLDcsMCwwLAorICAgIDExNSwyMiwwLDAsMCwxMiwyLDYsMiwxOCw4LDE4LDE3LDE4LDIyLDE4LAorICAgIDE1LDMsMSwxOCwzMSwzLDEsMjEsMjEsMywxLDExNCw3MywxLDAsMCwKKyAgICA5OSwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwzLDAsMCwKKyAgICAwLDY0LDAsMCwwLDExNSwxMzMsMCwwLDAsMTAxLDAsMCw5MCwxLDAsCisgICAgMTAwLDAsMCw5MCwyLDAsMTAwLDEsMCw5MCwzLDAsMTAwLDIsMCwxMDAsCisgICAgMywwLDEzMiwwLDAsOTAsNCwwLDEwMCw0LDAsMTAwLDUsMCwxMzIsMCwKKyAgICAwLDkwLDUsMCwxMDEsNiwwLDkwLDcsMCwxMDAsNiwwLDEwMCw3LDAsCisgICAgMTMyLDAsMCw5MCw4LDAsMTAwLDgsMCwxMDAsOSwwLDEzMiwwLDAsOTAsCisgICAgOSwwLDEwMCwxMCwwLDEwMCwxMSwwLDEwMCwxMiwwLDEzMiwxLDAsOTAsMTAsCisgICAgMCwxMDAsMTMsMCwxMDAsMTQsMCwxMzIsMCwwLDkwLDExLDAsMTAxLDEyLDAsCisgICAgMTAwLDE1LDAsMTAwLDE2LDAsMTMyLDAsMCwxMzEsMSwwLDkwLDEzLDAsMTAwLAorICAgIDE3LDAsMTAwLDE4LDAsMTMyLDAsMCw5MCwxNCwwLDEwMCwxMCwwLDgzLDQxLAorICAgIDE5LDIxOCwxMCw3MCwxMDUsMTA4LDEwMSw3MCwxMDUsMTEwLDEwMCwxMDEsMTE0LDEyMiwxNzIsNzAsCisgICAgMTA1LDEwOCwxMDEsNDUsOTgsOTcsMTE1LDEwMSwxMDAsMzIsMTAyLDEwNSwxMTAsMTAwLDEwMSwxMTQsCisgICAgNDYsMTAsMTAsMzIsMzIsMzIsMzIsNzMsMTEwLDExNiwxMDEsMTE0LDk3LDk5LDExNiwxMDUsCisgICAgMTExLDExMCwxMTUsMzIsMTE5LDEwNSwxMTYsMTA0LDMyLDExNiwxMDQsMTAxLDMyLDEwMiwxMDUsMTA4LAorICAgIDEwMSwzMiwxMTUsMTIxLDExNSwxMTYsMTAxLDEwOSwzMiw5NywxMTQsMTAxLDMyLDk5LDk3LDk5LAorICAgIDEwNCwxMDEsMTAwLDMyLDEwMiwxMTEsMTE0LDMyLDExMiwxMDEsMTE0LDEwMiwxMTEsMTE0LDEwOSw5NywKKyAgICAxMTAsOTksMTAxLDQ0LDMyLDk4LDEwMSwxMDUsMTEwLDEwMywxMCwzMiwzMiwzMiwzMiwxMTQsCisgICAgMTAxLDEwMiwxMTQsMTAxLDExNSwxMDQsMTAxLDEwMCwzMiwxMTksMTA0LDEwMSwxMTAsMzIsMTE2LDEwNCwKKyAgICAxMDEsMzIsMTAwLDEwNSwxMTQsMTAxLDk5LDExNiwxMTEsMTE0LDEyMSwzMiwxMTYsMTA0LDEwMSwzMiwKKyAgICAxMDIsMTA1LDExMCwxMDAsMTAxLDExNCwzMiwxMDUsMTE1LDMyLDEwNCw5NywxMTAsMTAwLDEwOCwxMDUsCisgICAgMTEwLDEwMywzMiwxMDQsOTcsMTE1LDMyLDk4LDEwMSwxMDEsMTEwLDMyLDEwOSwxMTEsMTAwLDEwNSwKKyAgICAxMDIsMTA1LDEwMSwxMDAsNDYsMTAsMTAsMzIsMzIsMzIsMzIsOTksMiwwLDAsMCwKKyAgICAwLDAsMCwwLDUsMCwwLDAsNSwwLDAsMCw3LDAsMCwwLAorICAgIDExNSwxMjIsMCwwLDAsMTAzLDAsMCwxMjUsMywwLDEyMCw1MiwwLDEyNCwyLAorICAgIDAsNjgsOTMsNDQsMCw5MiwyLDAsMTM3LDAsMCwxMjUsNCwwLDEyNCwzLAorICAgIDAsMTA2LDAsMCwxMzUsMCwwLDEwMiwxLDAsMTAwLDEsMCwxMDAsMiwwLAorICAgIDEzNCwwLDAsMTI0LDQsMCw2OCwxMzEsMSwwLDEzMSwxLDAsMSwxMTMsMTMsCisgICAgMCw4NywxMjQsMywwLDEyNCwwLDAsOTUsMSwwLDEyNCwxLDAsMTEyLDc5LAorICAgIDAsMTAwLDMsMCwxMjQsMCwwLDk1LDIsMCwxMDAsNiwwLDEyNCwwLDAsCisgICAgOTUsMywwLDExNiw0LDAsMTMxLDAsMCwxMjQsMCwwLDk1LDUsMCwxMTYsCisgICAgNCwwLDEzMSwwLDAsMTI0LDAsMCw5NSw2LDAsMTAwLDUsMCw4Myw0MSwKKyAgICA3LDEyMiwxNTQsNzMsMTEwLDEwNSwxMTYsMTA1LDk3LDEwOCwxMDUsMTIyLDEwMSwzMiwxMTksMTA1LAorICAgIDExNiwxMDQsMzIsMTE2LDEwNCwxMDEsMzIsMTEyLDk3LDExNiwxMDQsMzIsMTE2LDExMSwzMiwxMTUsCisgICAgMTAxLDk3LDExNCw5OSwxMDQsMzIsMTExLDExMCwzMiw5NywxMTAsMTAwLDMyLDk3LDMyLDExOCwKKyAgICA5NywxMTQsMTA1LDk3LDk4LDEwOCwxMDEsMzIsMTEwLDExNywxMDksOTgsMTAxLDExNCwzMiwxMTEsCisgICAgMTAyLDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDUwLDQ1LDExNiwxMTcsMTEyLDEwOCwKKyAgICAxMDEsMTE1LDMyLDk5LDExMSwxMTAsMTE2LDk3LDEwNSwxMTAsMTA1LDExMCwxMDMsMzIsMTE2LDEwNCwKKyAgICAxMDEsMzIsMTA4LDExMSw5NywxMDAsMTAxLDExNCwzMiw5NywxMTAsMTAwLDMyLDExNiwxMDQsMTAxLAorICAgIDMyLDEwMiwxMDUsMTA4LDEwMSwzMiwxMTUsMTE3LDEwMiwxMDIsMTA1LDEyMCwxMDEsMTE1LDMyLDExNiwKKyAgICAxMDQsMTAxLDMyLDEwOCwxMTEsOTcsMTAwLDEwMSwxMTQsMTAsMzIsMzIsMzIsMzIsMzIsMzIsCisgICAgMzIsMzIsMTE0LDEwMSw5OSwxMTEsMTAzLDExMCwxMDUsMTIyLDEwMSwxMTUsNDYsOTksMSwwLAorICAgIDAsMCwwLDAsMCwwLDIsMCwwLDAsMywwLDAsMCw1MSwwLAorICAgIDAsMCwxMTUsMjcsMCwwLDAsMTI0LDAsMCw5MywxNywwLDEyNSwxLDAsCisgICAgMTI0LDEsMCwxMzYsMCwwLDEwMiwyLDAsODYsMSwxMTMsMywwLDEwMCwwLAorICAgIDAsODMsNDEsMSw3OCwxMTQsNCwwLDAsMCw0MSwyLDExNCwyMiwwLDAsCisgICAgMCwxMTQsNTcsMSwwLDAsNDEsMSwxMTQsMTcwLDAsMCwwLDExNCw0LDAsCisgICAgMCwwLDExNCw1LDAsMCwwLDExNCw3NywwLDAsMCwxNjEsNywwLDAsCisgICAgMTE1LDIsMCwwLDAsNiwwLDEyMiwzOCw3MCwxMDUsMTA4LDEwMSw3MCwxMDUsMTEwLAorICAgIDEwMCwxMDEsMTE0LDQ2LDk1LDk1LDEwNSwxMTAsMTA1LDExNiw5NSw5NSw0Niw2MCwxMDgsMTExLAorICAgIDk5LDk3LDEwOCwxMTUsNjIsNDYsNjAsMTAzLDEwMSwxMTAsMTAxLDEyMCwxMTIsMTE0LDYyLDExNCwKKyAgICAxMTYsMCwwLDAsMTE0LDI5LDAsMCwwLDc4LDExNCwxMzksMCwwLDAsNDEsCisgICAgNywxMTQsMTk2LDAsMCwwLDIxOCw4LDk1LDEwOCwxMTEsOTcsMTAwLDEwMSwxMTQsMTE1LAorICAgIDExNCwzNSwwLDAsMCwyMTgsMTEsOTUsMTEyLDk3LDExNiwxMDQsOTUsMTA5LDExNiwxMDUsCisgICAgMTA5LDEwMSwyMTgsMywxMTUsMTAxLDExNiwyMTgsMTEsOTUsMTEyLDk3LDExNiwxMDQsOTUsOTksCisgICAgOTcsOTksMTA0LDEwMSwyMTgsMTksOTUsMTE0LDEwMSwxMDgsOTcsMTIwLDEwMSwxMDAsOTUsMTEyLAorICAgIDk3LDExNiwxMDQsOTUsOTksOTcsOTksMTA0LDEwMSw0MSw1LDExNCw3MSwwLDAsMCwKKyAgICAxMTQsMzUsMCwwLDAsMjE4LDE0LDEwOCwxMTEsOTcsMTAwLDEwMSwxMTQsOTUsMTAwLDEwMSwKKyAgICAxMTYsOTcsMTA1LDEwOCwxMTUsOTAsNywxMDgsMTExLDk3LDEwMCwxMDEsMTE0LDExNSwxMTQsMTI2LAorICAgIDAsMCwwLDExNCw0LDAsMCwwLDQxLDEsMTE0LDE3MCwwLDAsMCwxMTQsCisgICAgNSwwLDAsMCwxMTQsNzIsMCwwLDAsMTU1LDcsMCwwLDExNSwxNiwwLAorICAgIDAsMCwwLDQsNiwxLDE5LDEsMzYsMSw5LDIsMTUsMSw5LDEsCisgICAgMTIsMSwxMjIsMTksNzAsMTA1LDEwOCwxMDEsNzAsMTA1LDExMCwxMDAsMTAxLDExNCw0Niw5NSwKKyAgICA5NSwxMDUsMTEwLDEwNSwxMTYsOTUsOTUsOTksMSwwLDAsMCwwLDAsMCwwLAorICAgIDEsMCwwLDAsMiwwLDAsMCw2NywwLDAsMCwxMTUsMTMsMCwwLAorICAgIDAsMTAwLDMsMCwxMjQsMCwwLDk1LDAsMCwxMDAsMiwwLDgzLDQxLDQsCisgICAgMTIyLDMxLDczLDExMCwxMTgsOTcsMTA4LDEwNSwxMDAsOTcsMTE2LDEwMSwzMiwxMTYsMTA0LDEwMSwKKyAgICAzMiwxMDAsMTA1LDExNCwxMDEsOTksMTE2LDExMSwxMTQsMTIxLDMyLDEwOSwxMTYsMTA1LDEwOSwxMDEsCisgICAgNDYsMTE0LDI5LDAsMCwwLDc4LDExNCwxMzksMCwwLDAsNDEsMSwxMTQsODksCisgICAgMSwwLDAsNDEsMSwxMTQsNzEsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LAorICAgIDQsMCwwLDAsMTE0LDUsMCwwLDAsMTE0LDc0LDEsMCwwLDE2OSw3LAorICAgIDAsMCwxMTUsMiwwLDAsMCwwLDIsMTIyLDI4LDcwLDEwNSwxMDgsMTAxLDcwLAorICAgIDEwNSwxMTAsMTAwLDEwMSwxMTQsNDYsMTA1LDExMCwxMTgsOTcsMTA4LDEwNSwxMDAsOTcsMTE2LDEwMSwKKyAgICA5NSw5OSw5Nyw5OSwxMDQsMTAxLDExNSw5OSwyLDAsMCwwLDAsMCwwLDAsCisgICAgMywwLDAsMCwyLDAsMCwwLDY3LDAsMCwwLDExNSw1OSwwLDAsCisgICAgMCwxMjQsMCwwLDEwNiwwLDAsMTI0LDEsMCwxMzEsMSwwLDEyNSwyLDAsCisgICAgMTI0LDIsMCwxMDAsMSwwLDEwNyw4LDAsMTE0LDM3LDAsMTAwLDEsMCwxMDMsCisgICAgMCwwLDEwMiwyLDAsODMsMTI0LDIsMCwxMDYsMSwwLDEyNCwyLDAsMTA2LAorICAgIDIsMCwxMTIsNTUsMCwxMDMsMCwwLDEwMiwyLDAsODMsNDEsMiwxMjIsMTk3LAorICAgIDg0LDExNCwxMjEsMzIsMTE2LDExMSwzMiwxMDIsMTA1LDExMCwxMDAsMzIsOTcsMzIsMTA4LDExMSwKKyAgICA5NywxMDAsMTAxLDExNCwzMiwxMDIsMTExLDExNCwzMiwxMTYsMTA0LDEwMSwzMiwxMTUsMTEyLDEwMSwKKyAgICA5OSwxMDUsMTAyLDEwNSwxMDEsMTAwLDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDQ0LDMyLDExMSwKKyAgICAxMTQsMzIsMTE2LDEwNCwxMDEsMzIsMTEwLDk3LDEwOSwxMDEsMTE1LDExMiw5Nyw5OSwxMDEsMTAsCisgICAgMzIsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMTEyLDk3LDk5LDEwNyw5NywxMDMsMTAxLDMyLAorICAgIDExMiwxMTEsMTE0LDExNiwxMDUsMTExLDExMCwxMTUsNDYsMzIsODIsMTAxLDExNiwxMTcsMTE0LDExMCwKKyAgICAxMTUsMzIsNDAsMTA4LDExMSw5NywxMDAsMTAxLDExNCw0NCwzMiwxMDgsMTA1LDExNSwxMTYsNDUsCisgICAgMTExLDEwMiw0NSwxMTIsMTExLDExNCwxMTYsMTA1LDExMSwxMTAsMTE1LDQxLDQ2LDEwLDEwLDMyLAorICAgIDMyLDMyLDMyLDMyLDMyLDMyLDMyLDg0LDEwNCwxMDUsMTE1LDMyLDEwOSwxMDEsMTE2LDEwNCwKKyAgICAxMTEsMTAwLDMyLDEwNSwxMTUsMzIsMTAwLDEwMSwxMTIsMTE0LDEwMSw5OSw5NywxMTYsMTAxLDEwMCwKKyAgICA0NiwzMiwzMiw4NSwxMTUsMTAxLDMyLDEwMiwxMDUsMTEwLDEwMCw5NSwxMTUsMTEyLDEwMSw5OSwKKyAgICA0MCw0MSwzMiwxMDUsMTEwLDExNSwxMTYsMTAxLDk3LDEwMCw0NiwxMCwxMCwzMiwzMiwzMiwKKyAgICAzMiwzMiwzMiwzMiwzMiw3OCw0MSwzLDExNCwxMiwxLDAsMCwxMTQsMTcwLDAsCisgICAgMCwwLDExNCwyMjAsMCwwLDAsNDEsMywxMTQsNzEsMCwwLDAsMTE0LDE1OSwKKyAgICAwLDAsMCwxMTQsMTc3LDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsCisgICAgMCwwLDExNCw1LDAsMCwwLDExNCwxNjYsMCwwLDAsMTc1LDcsMCwwLAorICAgIDExNSw4LDAsMCwwLDAsNywxNSwxLDEyLDEsMTAsMSwxMjIsMjIsNzAsCisgICAgMTA1LDEwOCwxMDEsNzAsMTA1LDExMCwxMDAsMTAxLDExNCw0NiwxMDIsMTA1LDExMCwxMDAsOTUsMTA4LAorICAgIDExMSw5NywxMDAsMTAxLDExNCw5OSw2LDAsMCwwLDAsMCwwLDAsNywwLAorICAgIDAsMCw3LDAsMCwwLDY3LDAsMCwwLDExNSw0MCwwLDAsMCwxMjQsCisgICAgMSwwLDEyNCwyLDAsMTI0LDMsMCwxMzEsMiwwLDEyNSw2LDAsMTE2LDAsCisgICAgMCwxMjQsMiwwLDEyNCwzLDAsMTAwLDEsMCwxMjQsNiwwLDEwMCwyLDAsCisgICAgMTI0LDQsMCwxMzEsMiwyLDgzLDQxLDMsNzgsMTE0LDE3MCwwLDAsMCwxMTQsCisgICAgMjIwLDAsMCwwLDQxLDEsMTE0LDIzOSwwLDAsMCw0MSw3LDExNCw3MSwwLAorICAgIDAsMCwxMTQsMjQzLDAsMCwwLDExNCwxNTksMCwwLDAsMTE0LDM1LDAsMCwKKyAgICAwLDExNCwyMjgsMCwwLDAsMTE0LDExLDEsMCwwLDExNCwxNzAsMCwwLDAsCiAgICAgMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMTE0LAotICAgIDE0LDEsMCwwLDIyNCw3LDAsMCwxMTUsNjgsMCwwLDAsMCwzLDYsCi0gICAgMSwxOSwxLDMsMSwzNCwxLDEzLDEsMTEsMSwxNSwxLDEwLDEsMTIsCi0gICAgMiw5LDEsOSwxLDE1LDIsOSwxLDYsMiwxMiwxLDE4LDEsMjIsCi0gICAgMSwxMCwxLDE1LDEsMTIsMSwzMiw0LDE1LDIsMjIsMSwyMiwxLDI1LAotICAgIDEsMTYsMSwxMiwxLDMyLDEsNiwxLDE5LDEsMTUsMSwxMiwxLDQsCi0gICAgMSwxMjIsMjAsNzAsMTA1LDEwOCwxMDEsNzAsMTA1LDExMCwxMDAsMTAxLDExNCw0NiwxMDIsMTA1LAotICAgIDExMCwxMDAsOTUsMTE1LDExMiwxMDEsOTksOTksMSwwLDAsMCwwLDAsMCwwLAotICAgIDksMCwwLDAsMTMsMCwwLDAsNjcsMCwwLDAsMTE1LDE0LDEsMCwKLSAgICAwLDEyNCwwLDAsMTA2LDAsMCwxMjUsMSwwLDEyMSwzMSwwLDExNiwxLDAsCi0gICAgMTA2LDIsMCwxMjQsMSwwLDExMiwzMywwLDExNiwxLDAsMTA2LDMsMCwxMzEsCi0gICAgMCwwLDEzMSwxLDAsMTI1LDIsMCw4NywxMTAsMzMsMCw0LDExNiw0LDAsCi0gICAgMTE2LDUsMCwxMTYsNiwwLDEwMiwzLDAsMTA3LDEwLDAsMTE0LDc1LDAsMSwKLSAgICAxLDEsMTAzLDAsMCwxMjUsMiwwLDg5LDExMCwxLDAsODgsMTE2LDcsMCwKLSAgICAxMDYsOCwwLDEwNiw5LDAsMTAwLDEsMCwxMzEsMSwwLDExNSwxMTIsMCwxMTYsCi0gICAgMTAsMCwxMjQsMiwwLDEzMSwxLDAsMTI0LDAsMCw5NSwxMSwwLDExMCwxMTEsCi0gICAgMCwxMTYsMTAsMCwxMzEsMCwwLDEyNSwzLDAsMTIwLDkwLDAsMTI0LDIsMCwKLSAgICA2OCw5Myw4MiwwLDEyNSw0LDAsMTI0LDQsMCwxMDYsMTIsMCwxMDAsMiwwLAotICAgIDEzMSwxLDAsOTIsMywwLDEyNSw1LDAsMTI1LDYsMCwxMjUsNywwLDEyNCwKLSAgICA2LDAsMTE0LDE5MSwwLDEwMCwzLDAsMTA2LDEzLDAsMTI0LDUsMCwxMjQsNywKLSAgICAwLDEwNiwxNCwwLDEzMSwwLDAsMTMxLDIsMCwxMjUsOCwwLDExMCw2LDAsCi0gICAgMTI0LDUsMCwxMjUsOCwwLDEyNCwzLDAsMTA2LDE1LDAsMTI0LDgsMCwxMzEsCi0gICAgMSwwLDEsMTEzLDEyOCwwLDg3LDEyNCwzLDAsMTI0LDAsMCw5NSwxMSwwLAotICAgIDExNiw3LDAsMTA2LDgsMCwxMDYsOSwwLDExNiwxNiwwLDEzMSwxLDAsMTE0LAotICAgIDEwLDEsMTAwLDQsMCwxMDAsNSwwLDEzMiwwLDAsMTI0LDIsMCw2OCwxMzEsCi0gICAgMSwwLDEyNCwwLDAsOTUsMTcsMCwxMTAsMCwwLDEwMCw2LDAsODMsNDEsCi0gICAgNywxMjIsNjgsNzAsMTA1LDEwOCwxMDgsMzIsMTE2LDEwNCwxMDEsMzIsOTksOTcsOTksMTA0LAotICAgIDEwMSwzMiwxMTEsMTAyLDMyLDExMiwxMTEsMTE2LDEwMSwxMTAsMTE2LDEwNSw5NywxMDgsMzIsMTA5LAotICAgIDExMSwxMDAsMTE3LDEwOCwxMDEsMTE1LDMyLDk3LDExMCwxMDAsMzIsMTEyLDk3LDk5LDEwNyw5NywKLSAgICAxMDMsMTAxLDExNSwzMiwxMDIsMTExLDExNCwzMiwxMTYsMTA0LDEwNSwxMTUsMzIsMTAwLDEwNSwxMTQsCi0gICAgMTAxLDk5LDExNiwxMTEsMTE0LDEyMSw0NiwxMTQsMCwwLDAsMCwxMTQsMTE2LDAsMCwKLSAgICAwLDEyMiw1LDEyMywxMjUsNDYsMTIzLDEyNSw5OSwxLDAsMCwwLDAsMCwwLAotICAgIDAsMiwwLDAsMCwzLDAsMCwwLDgzLDAsMCwwLDExNSwyOCwwLAotICAgIDAsMCwxMDQsMCwwLDEyNCwwLDAsOTMsMTgsMCwxMjUsMSwwLDEyNCwxLAotICAgIDAsMTA2LDAsMCwxMzEsMCwwLDE0NiwyLDAsMTEzLDYsMCw4MywxMTQsNCwKLSAgICAwLDAsMCw0MSwxLDExNCwxNDAsMCwwLDAsNDEsMiwxMTQsMjIsMCwwLAotICAgIDAsOTAsMiwxMDIsMTEwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCwKLSAgICA1LDAsMCwwLDI1MCw5LDYwLDExNSwxMDEsMTE2LDk5LDExMSwxMDksMTEyLDYyLDQyLAotICAgIDgsMCwwLDExNSwyLDAsMCwwLDksMCwxMjIsNDEsNzAsMTA1LDEwOCwxMDEsCi0gICAgNzAsMTA1LDExMCwxMDAsMTAxLDExNCw0Niw5NSwxMDIsMTA1LDEwOCwxMDgsOTUsOTksOTcsOTksCi0gICAgMTA0LDEwMSw0Niw2MCwxMDgsMTExLDk5LDk3LDEwOCwxMTUsNjIsNDYsNjAsMTE1LDEwMSwxMTYsCi0gICAgOTksMTExLDEwOSwxMTIsNjIsNzgsNDEsMTgsMTE0LDM1LDAsMCwwLDExNCwzLDAsCi0gICAgMCwwLDkwLDcsMTA4LDEwNSwxMTUsMTE2LDEwMCwxMDUsMTE0LDExNCw0NSwwLDAsMCwKLSAgICAyMTgsMTcsNzAsMTA1LDEwOCwxMDEsNzgsMTExLDExNiw3MCwxMTEsMTE3LDExMCwxMDAsNjksMTE0LAotICAgIDExNCwxMTEsMTE0LDIxOCwxNSw4MCwxMDEsMTE0LDEwOSwxMDUsMTE1LDExNSwxMDUsMTExLDExMCw2OSwKLSAgICAxMTQsMTE0LDExMSwxMTQsMjE4LDE4LDc4LDExMSwxMTYsNjUsNjgsMTA1LDExNCwxMDEsOTksMTE2LAotICAgIDExMSwxMTQsMTIxLDY5LDExNCwxMTQsMTExLDExNCwxMTQsNywwLDAsMCwxMTQsOCwwLAotICAgIDAsMCwxMTQsOSwwLDAsMCwxMTQsOTAsMSwwLDAsMTE0LDkxLDEsMCwKLSAgICAwLDExNCwxMzQsMCwwLDAsMTE0LDQ3LDAsMCwwLDExNCwxNDAsMCwwLDAsCi0gICAgMjE4LDMsOTcsMTAwLDEwMCwxMTQsMTAsMCwwLDAsMTE0LDkyLDEsMCwwLDQxLAotICAgIDksMTE0LDcxLDAsMCwwLDExNCwzNSwwLDAsMCw5MCw4LDk5LDExMSwxMTAsCi0gICAgMTE2LDEwMSwxMTAsMTE2LDExNSw5MCwyMSwxMDgsMTExLDExOSwxMDEsMTE0LDk1LDExNSwxMTcsMTAyLAotICAgIDEwMiwxMDUsMTIwLDk1LDk5LDExMSwxMTAsMTE2LDEwMSwxMTAsMTE2LDExNSwxMTQsNzIsMSwwLAotICAgIDAsMTE0LDY3LDAsMCwwLDExNCw2NiwxLDAsMCwxMTQsNTgsMSwwLDAsCi0gICAgOTAsOCwxMTAsMTAxLDExOSw5NSwxMTAsOTcsMTA5LDEwMSwxMTQsNCwwLDAsMCwxMTQsCi0gICAgNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsOTQsMSwwLDAsMTMsOCwKLSAgICAwLDAsMTE1LDM0LDAsMCwwLDAsMiw5LDEsMywxLDMxLDEsMjIsCi0gICAgMywxMSwzLDE4LDEsMTgsNyw5LDEsMTMsMSwyNCwxLDYsMSwyNywKLSAgICAyLDYsMSwxNywxLDksMSwxOCwxLDEyMiwyMiw3MCwxMDUsMTA4LDEwMSw3MCwKLSAgICAxMDUsMTEwLDEwMCwxMDEsMTE0LDQ2LDk1LDEwMiwxMDUsMTA4LDEwOCw5NSw5OSw5Nyw5OSwxMDQsCi0gICAgMTAxLDk5LDEsMCwwLDAsMCwwLDAsMCwzLDAsMCwwLDMsMCwKLSAgICAwLDAsNywwLDAsMCwxMTUsMjUsMCwwLDAsMTM1LDAsMCwxMzUsMSwKLSAgICAwLDEwMiwyLDAsMTAwLDEsMCwxMDAsMiwwLDEzNCwwLDAsMTI1LDIsMCwKLSAgICAxMjQsMiwwLDgzLDQxLDMsOTcsMjAsMSwwLDAsNjUsMzIsOTksMTA4LDk3LAotICAgIDExNSwxMTUsMzIsMTA5LDEwMSwxMTYsMTA0LDExMSwxMDAsMzIsMTE5LDEwNCwxMDUsOTksMTA0LDMyLAotICAgIDExNCwxMDEsMTE2LDExNywxMTQsMTEwLDExNSwzMiw5NywzMiw5OSwxMDgsMTExLDExNSwxMTcsMTE0LAotICAgIDEwMSwzMiwxMTYsMTExLDMyLDExNywxMTUsMTAxLDMyLDExMSwxMTAsMzIsMTE1LDEyMSwxMTUsNDYsCi0gICAgMTEyLDk3LDExNiwxMDQsOTUsMTA0LDExMSwxMTEsMTA3LDEwLDMyLDMyLDMyLDMyLDMyLDMyLAotICAgIDMyLDMyLDExOSwxMDQsMTA1LDk5LDEwNCwzMiwxMTksMTA1LDEwOCwxMDgsMzIsMTE0LDEwMSwxMTYsCi0gICAgMTE3LDExNCwxMTAsMzIsOTcsMTEwLDMyLDEwNSwxMTAsMTE1LDExNiw5NywxMTAsOTksMTAxLDMyLAotICAgIDExNywxMTUsMTA1LDExMCwxMDMsMzIsMTE2LDEwNCwxMDEsMzIsMTE1LDExMiwxMDEsOTksMTA1LDEwMiwKLSAgICAxMDUsMTAxLDEwMCwzMiwxMDgsMTExLDk3LDEwMCwxMDEsMTE0LDExNSwzMiw5NywxMTAsMTAwLDMyLAotICAgIDExNiwxMDQsMTAxLDMyLDExMiw5NywxMTYsMTA0LDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLAotICAgIDMyLDk5LDk3LDEwOCwxMDgsMTAxLDEwMCwzMiwxMTEsMTEwLDMyLDExNiwxMDQsMTAxLDMyLDk5LAotICAgIDEwOCwxMTEsMTE1LDExNywxMTQsMTAxLDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLAotICAgIDMyLDczLDEwMiwzMiwxMTYsMTA0LDEwMSwzMiwxMTIsOTcsMTE2LDEwNCwzMiw5OSw5NywxMDgsCi0gICAgMTA4LDEwMSwxMDAsMzIsMTExLDExMCwzMiwxMTYsMTA0LDEwMSwzMiw5OSwxMDgsMTExLDExNSwxMTcsCi0gICAgMTE0LDEwMSwzMiwxMDUsMTE1LDMyLDExMCwxMTEsMTE2LDMyLDk3LDMyLDEwMCwxMDUsMTE0LDEwMSwKLSAgICA5OSwxMTYsMTExLDExNCwxMjEsNDQsMzIsNzMsMTA5LDExMiwxMTEsMTE0LDExNiw2OSwxMTQsMTE0LAotICAgIDExMSwxMTQsMzIsMTA1LDExNSwxMCwzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMiwxMTQsOTcsCi0gICAgMTA1LDExNSwxMDEsMTAwLDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDk5LAotICAgIDEsMCwwLDAsMCwwLDAsMCwxLDAsMCwwLDQsMCwwLDAsCi0gICAgMTksMCwwLDAsMTE1LDQ2LDAsMCwwLDExNiwwLDAsMTI0LDAsMCwxMzEsCi0gICAgMSwwLDExNSwzMywwLDExNiwxLDAsMTAwLDEsMCwxMDAsMiwwLDEyNCwwLAotICAgIDAsMTMxLDEsMSwxMzAsMSwwLDExMCwwLDAsMTM2LDAsMCwxMjQsMCwwLAorICAgIDg2LDEsMCwwLDE4Nyw3LDAsMCwxMTUsNiwwLDAsMCwwLDEsMTUsCisgICAgMSwxOCwxLDEyMiwyMCw3MCwxMDUsMTA4LDEwMSw3MCwxMDUsMTEwLDEwMCwxMDEsMTE0LDQ2LAorICAgIDk1LDEwMywxMDEsMTE2LDk1LDExNSwxMTIsMTAxLDk5LDc4LDk5LDMsMCwwLDAsMCwKKyAgICAwLDAsMCwxNCwwLDAsMCwxNSwwLDAsMCw2NywwLDAsMCwxMTUsCisgICAgMjMxLDEsMCwwLDEwMCwxLDAsMTI1LDMsMCwxMjQsMSwwLDEwNiwwLDAsCisgICAgMTAwLDIsMCwxMzEsMSwwLDEwMCwzLDAsMjUsMTI1LDQsMCwxMjEsMzQsMCwKKyAgICAxMTYsMSwwLDEyNCwwLDAsMTA2LDIsMCwxMTIsNDksMCwxMTYsMywwLDEwNiwKKyAgICA0LDAsMTMxLDAsMCwxMzEsMSwwLDEwNiw1LDAsMTI1LDUsMCw4NywxMTAsCisgICAgMjQsMCw0LDExNiw2LDAsMTA3LDEwLDAsMTE0LDg1LDAsMSwxLDEsMTAwLAorICAgIDEwLDAsMTI1LDUsMCw4OSwxMTAsMSwwLDg4LDEyNCw1LDAsMTI0LDAsMCwKKyAgICAxMDYsNywwLDEwNywzLDAsMTE0LDEyMCwwLDEyNCwwLDAsMTA2LDgsMCwxMzEsCisgICAgMCwwLDEsMTI0LDUsMCwxMjQsMCwwLDk1LDcsMCwxMTYsOSwwLDEzMSwKKyAgICAwLDAsMTE0LDE1MywwLDEyNCwwLDAsMTA2LDEwLDAsMTI1LDYsMCwxMjQsNCwKKyAgICAwLDEwNiwxMSwwLDEzMSwwLDAsMTI1LDcsMCwxMTAsMTUsMCwxMjQsMCwwLAorICAgIDEwNiwxMiwwLDEyNSw2LDAsMTI0LDQsMCwxMjUsNywwLDEyNCw3LDAsMTI0LAorICAgIDYsMCwxMDcsNiwwLDExNCw0NSwxLDExNiwxMywwLDEyNCwwLDAsMTA2LDIsCisgICAgMCwxMjQsNCwwLDEzMSwyLDAsMTI1LDgsMCwxMjAsMTAwLDAsMTI0LDAsMCwKKyAgICAxMDYsMTQsMCw2OCw5Myw3NywwLDkyLDIsMCwxMjUsOSwwLDEyNSwxMCwwLAorICAgIDEwMCw1LDAsMTI0LDksMCwyMywxMjUsMTEsMCwxMTYsMTMsMCwxMjQsOCwwLAorICAgIDEyNCwxMSwwLDEzMSwyLDAsMTI1LDEyLDAsMTE2LDE1LDAsMTI0LDEyLDAsMTMxLAorICAgIDEsMCwxMTQsMjA4LDAsMTI0LDAsMCwxMDYsMTYsMCwxMjQsMTAsMCwxMjQsMSwKKyAgICAwLDEyNCwxMiwwLDEyNCw4LDAsMTAzLDEsMCwxMjQsMiwwLDEzMSw1LDAsCisgICAgODMsMTEzLDIwOCwwLDg3LDExNiwxNywwLDEyNCw4LDAsMTMxLDEsMCwxMjUsMywKKyAgICAwLDEyMCwxMjMsMCwxMjQsMCwwLDEwNiwxNCwwLDY4LDkzLDExMiwwLDkyLDIsCisgICAgMCwxMjUsOSwwLDEyNSwxMCwwLDExNiwxMywwLDEyNCwwLDAsMTA2LDIsMCwKKyAgICAxMjQsNCwwLDEyNCw5LDAsMjMsMTMxLDIsMCwxMjUsMTIsMCwxMTYsMTgsMCwKKyAgICAxMDAsNiwwLDEwNiwxOSwwLDEyNCwxMiwwLDEzMSwxLDAsMTAwLDcsMCwxMDAsCisgICAgMywwLDEzMSwxLDEsMSwxMjQsNywwLDEyNCw5LDAsMjMsMTI0LDYsMCwKKyAgICAxMDcsNiwwLDExNCw1NSwxLDExNiwxNSwwLDEyNCwxMiwwLDEzMSwxLDAsMTE0LAorICAgIDU1LDEsMTI0LDAsMCwxMDYsMTYsMCwxMjQsMTAsMCwxMjQsMSwwLDEyNCwxMiwKKyAgICAwLDEwMCw4LDAsMTI0LDIsMCwxMzEsNSwwLDgzLDExMyw1NSwxLDg3LDEyNCwKKyAgICAzLDAsMTE0LDIyNywxLDExNiwxOCwwLDEwMCw5LDAsMTA2LDE5LDAsMTI0LDgsCisgICAgMCwxMzEsMSwwLDEzMSwxLDAsMSwxMTYsMjAsMCwxMjQsMSwwLDEwMCw4LAorICAgIDAsMTMxLDIsMCwxMjUsMTMsMCwxMjQsOCwwLDEwMywxLDAsMTI0LDEzLDAsCisgICAgOTUsMjEsMCwxMjQsMTMsMCw4MywxMDAsOCwwLDgzLDQxLDExLDEyMiwxMjUsODQsCisgICAgMTE0LDEyMSwzMiwxMTYsMTExLDMyLDEwMiwxMDUsMTEwLDEwMCwzMiw5NywzMiwxMDgsMTExLDk3LAorICAgIDEwMCwxMDEsMTE0LDMyLDEwMiwxMTEsMTE0LDMyLDExNiwxMDQsMTAxLDMyLDExNSwxMTIsMTAxLDk5LAorICAgIDEwNSwxMDIsMTA1LDEwMSwxMDAsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsNDQsMzIsMTExLDExNCwKKyAgICAzMiwxMTYsMTA0LDEwMSwzMiwxMTAsOTcsMTA5LDEwMSwxMTUsMTEyLDk3LDk5LDEwMSwxMCwzMiwKKyAgICAzMiwzMiwzMiwzMiwzMiwzMiwzMiwxMTIsOTcsOTksMTA3LDk3LDEwMywxMDEsMzIsMTEyLAorICAgIDExMSwxMTQsMTE2LDEwNSwxMTEsMTEwLDExNSw0NiwzMiw4MiwxMDEsMTE2LDExNywxMTQsMTEwLDExNSwKKyAgICAzMiw0MCwxMDgsMTExLDk3LDEwMCwxMDEsMTE0LDQ0LDMyLDEwOCwxMDUsMTE1LDExNiw0NSwxMTEsCisgICAgMTAyLDQ1LDExMiwxMTEsMTE0LDExNiwxMDUsMTExLDExMCwxMTUsNDEsNDYsNzAsMTE0LDExNiwwLAorICAgIDAsMCwxMTQsMTE1LDAsMCwwLDExNCwyOSwwLDAsMCwxMTQsNzIsMCwwLAorICAgIDAsMTIyLDksMTE2LDExNCwxMjEsMTA1LDExMCwxMDMsMzIsMTIzLDEyNSwxMTQsMTQ2LDAsMCwKKyAgICAwLDc4LDEyMiwyNSwxMTIsMTExLDExNSwxMTUsMTA1LDk4LDEwOCwxMDEsMzIsMTEwLDk3LDEwOSwKKyAgICAxMDEsMTE1LDExMiw5Nyw5OSwxMDEsMzIsMTAyLDExMSwxMTQsMzIsMTIzLDEyNSwxMTQsMTM5LDAsCisgICAgMCwwLDQxLDIyLDExNCwzMiwwLDAsMCwxMTQsMzksMCwwLDAsMTE0LDM1LAorICAgIDAsMCwwLDExNCwzLDAsMCwwLDExNCw0NSwwLDAsMCwxMTQsNTMsMSwKKyAgICAwLDAsMTE0LDQwLDAsMCwwLDExNCw4OSwxLDAsMCwyMTgsMTEsOTUsMTAyLAorICAgIDEwNSwxMDgsMTA4LDk1LDk5LDk3LDk5LDEwNCwxMDEsMTE0LDYsMCwwLDAsMTE0LDkyLAorICAgIDEsMCwwLDExNCwxNDAsMCwwLDAsMTE0LDkxLDEsMCwwLDExNCwyOCwwLAorICAgIDAsMCwxMTQsODgsMSwwLDAsMTE0LDQ0LDAsMCwwLDExNCw4NiwxLDAsCisgICAgMCwxMTQsNDYsMCwwLDAsMTE0LDE1MywwLDAsMCwxMTQsNDcsMCwwLDAsCisgICAgMTE0LDIxNiwwLDAsMCwxMTQsMjIwLDAsMCwwLDQxLDE0LDExNCw3MSwwLDAsCisgICAgMCwxMTQsMTU5LDAsMCwwLDExNCwxMSwxLDAsMCw5MCwxMiwxMDUsMTE1LDk1LAorICAgIDExMCw5NywxMDksMTAxLDExNSwxMTIsOTcsOTksMTAxLDkwLDExLDExNiw5NywxMDUsMTA4LDk1LAorICAgIDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDExNCwxODIsMCwwLDAsOTAsNSw5OSw5Nyw5OSwKKyAgICAxMDQsMTAxLDkwLDEyLDk5LDk3LDk5LDEwNCwxMDEsOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsCisgICAgOTAsOSw5OCw5NywxMTUsMTAxLDk1LDExMiw5NywxMTYsMTA0LDExNCw1NywxLDAsMCwKKyAgICAxMTQsMjQzLDAsMCwwLDkwLDEzLDEwNSwxMTAsMTA1LDExNiw5NSwxMDIsMTA1LDEwOCwxMDEsCisgICAgMTEwLDk3LDEwOSwxMDEsOTAsOSwxMDIsMTE3LDEwOCwxMDgsOTUsMTEyLDk3LDExNiwxMDQsMTE0LAorICAgIDE3NywwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwKKyAgICAwLDAsMCwxMTQsMTIsMSwwLDAsMTkyLDcsMCwwLDExNSw2OCwwLDAsCisgICAgMCwwLDMsNiwxLDE5LDEsMywxLDM0LDEsMTMsMSwxMSwxLDE1LAorICAgIDEsMTAsMSw5LDIsOSwxLDksMSwxNSwyLDksMSw2LDIsMTIsCisgICAgMSwxOCwxLDIyLDEsMTAsMSwxNSwxLDEyLDEsMzIsNCwxMiwyLDIyLAorICAgIDEsMjIsMSwyNSwxLDE2LDEsMTIsMSwyOSwxLDYsMSwxOSwxLDE1LAorICAgIDEsMTIsMSw0LDEsMTIyLDIwLDcwLDEwNSwxMDgsMTAxLDcwLDEwNSwxMTAsMTAwLDEwMSwKKyAgICAxMTQsNDYsMTAyLDEwNSwxMTAsMTAwLDk1LDExNSwxMTIsMTAxLDk5LDk5LDEsMCwwLDAsCisgICAgMCwwLDAsMCw5LDAsMCwwLDEzLDAsMCwwLDY3LDAsMCwwLAorICAgIDExNSwxMSwxLDAsMCwxMjQsMCwwLDEwNiwwLDAsMTI1LDEsMCwxMjEsMzEsCisgICAgMCwxMTYsMSwwLDEwNiwyLDAsMTI0LDEsMCwxMTIsMzMsMCwxMTYsMSwwLAorICAgIDEwNiwzLDAsMTMxLDAsMCwxMzEsMSwwLDEyNSwyLDAsODcsMTEwLDMzLDAsCisgICAgNCwxMTYsNCwwLDExNiw1LDAsMTE2LDYsMCwxMDIsMywwLDEwNywxMCwwLAorICAgIDExNCw3NSwwLDEsMSwxLDEwMywwLDAsMTI1LDIsMCw4OSwxMTAsMSwwLAorICAgIDg4LDExNiw3LDAsMTA2LDgsMCwxMDYsOSwwLDEwMCwxLDAsMTMxLDEsMCwKKyAgICAxMTUsMTEyLDAsMTE2LDEwLDAsMTI0LDIsMCwxMzEsMSwwLDEyNCwwLDAsOTUsCisgICAgMTEsMCwxMTAsMTExLDAsMTE2LDEwLDAsMTMxLDAsMCwxMjUsMywwLDEyMCw5MCwKKyAgICAwLDEyNCwyLDAsNjgsOTMsODIsMCwxMjUsNCwwLDEyNCw0LDAsMTA2LDEyLAorICAgIDAsMTAwLDIsMCwxMzEsMSwwLDkyLDMsMCwxMjUsNSwwLDEyNSw2LDAsCisgICAgMTI1LDcsMCwxMjQsNiwwLDExNCwxOTEsMCwxMDAsMywwLDEwNiwxMywwLDEyNCwKKyAgICA1LDAsMTI0LDcsMCwxMDYsMTQsMCwxMzEsMCwwLDEzMSwyLDAsMTI1LDgsCisgICAgMCwxMTAsNiwwLDEyNCw1LDAsMTI1LDgsMCwxMjQsMywwLDEwNiwxNSwwLAorICAgIDEyNCw4LDAsMTMxLDEsMCwxLDExMywxMjgsMCw4NywxMjQsMywwLDEyNCwwLAorICAgIDAsOTUsMTEsMCwxMTYsNywwLDEwNiw4LDAsMTA2LDksMCwxMTYsMTYsMCwKKyAgICAxMzEsMSwwLDExNCw3LDEsMTAwLDQsMCwxMDAsNSwwLDEzMiwwLDAsMTI0LAorICAgIDIsMCw2OCwxMzEsMSwwLDEyNCwwLDAsOTUsMTcsMCwxMDAsNiwwLDgzLAorICAgIDQxLDcsMTIyLDY4LDcwLDEwNSwxMDgsMTA4LDMyLDExNiwxMDQsMTAxLDMyLDk5LDk3LDk5LAorICAgIDEwNCwxMDEsMzIsMTExLDEwMiwzMiwxMTIsMTExLDExNiwxMDEsMTEwLDExNiwxMDUsOTcsMTA4LDMyLAorICAgIDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDExNSwzMiw5NywxMTAsMTAwLDMyLDExMiw5Nyw5OSwxMDcsCisgICAgOTcsMTAzLDEwMSwxMTUsMzIsMTAyLDExMSwxMTQsMzIsMTE2LDEwNCwxMDUsMTE1LDMyLDEwMCwxMDUsCisgICAgMTE0LDEwMSw5OSwxMTYsMTExLDExNCwxMjEsNDYsMTE0LDAsMCwwLDAsMTE0LDExNiwwLAorICAgIDAsMCwxMjIsNSwxMjMsMTI1LDQ2LDEyMywxMjUsOTksMSwwLDAsMCwwLDAsCisgICAgMCwwLDIsMCwwLDAsMywwLDAsMCw4MywwLDAsMCwxMTUsMjgsCisgICAgMCwwLDAsMTA0LDAsMCwxMjQsMCwwLDkzLDE4LDAsMTI1LDEsMCwxMjQsCisgICAgMSwwLDEwNiwwLDAsMTMxLDAsMCwxNDYsMiwwLDExMyw2LDAsODMsMTE0LAorICAgIDQsMCwwLDAsNDEsMSwxMTQsMTQwLDAsMCwwLDQxLDIsMTE0LDIyLDAsCisgICAgMCwwLDkwLDIsMTAyLDExMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwKKyAgICAxMTQsNSwwLDAsMCwyNTAsOSw2MCwxMTUsMTAxLDExNiw5OSwxMTEsMTA5LDExMiw2MiwKKyAgICAxMCw4LDAsMCwxMTUsMiwwLDAsMCw5LDAsMTIyLDQxLDcwLDEwNSwxMDgsCisgICAgMTAxLDcwLDEwNSwxMTAsMTAwLDEwMSwxMTQsNDYsOTUsMTAyLDEwNSwxMDgsMTA4LDk1LDk5LDk3LAorICAgIDk5LDEwNCwxMDEsNDYsNjAsMTA4LDExMSw5OSw5NywxMDgsMTE1LDYyLDQ2LDYwLDExNSwxMDEsCisgICAgMTE2LDk5LDExMSwxMDksMTEyLDYyLDc4LDQxLDE4LDExNCwzNSwwLDAsMCwxMTQsMywKKyAgICAwLDAsMCw5MCw3LDEwOCwxMDUsMTE1LDExNiwxMDAsMTA1LDExNCwxMTQsNDUsMCwwLAorICAgIDAsMTE0LDgwLDEsMCwwLDIxOCwxNSw4MCwxMDEsMTE0LDEwOSwxMDUsMTE1LDExNSwxMDUsCisgICAgMTExLDExMCw2OSwxMTQsMTE0LDExMSwxMTQsMjE4LDE4LDc4LDExMSwxMTYsNjUsNjgsMTA1LDExNCwKKyAgICAxMDEsOTksMTE2LDExMSwxMTQsMTIxLDY5LDExNCwxMTQsMTExLDExNCwxMTQsNywwLDAsMCwKKyAgICAxMTQsOCwwLDAsMCwxMTQsOSwwLDAsMCwxMTQsOTAsMSwwLDAsMTE0LAorICAgIDkxLDEsMCwwLDExNCwxMzQsMCwwLDAsMTE0LDQ3LDAsMCwwLDExNCwxNDAsCisgICAgMCwwLDAsMjE4LDMsOTcsMTAwLDEwMCwxMTQsMTAsMCwwLDAsMTE0LDkyLDEsCisgICAgMCwwLDQxLDksMTE0LDcxLDAsMCwwLDExNCwzNSwwLDAsMCw5MCw4LAorICAgIDk5LDExMSwxMTAsMTE2LDEwMSwxMTAsMTE2LDExNSw5MCwyMSwxMDgsMTExLDExOSwxMDEsMTE0LDk1LAorICAgIDExNSwxMTcsMTAyLDEwMiwxMDUsMTIwLDk1LDk5LDExMSwxMTAsMTE2LDEwMSwxMTAsMTE2LDExNSwxMTQsCisgICAgNzEsMSwwLDAsMTE0LDY3LDAsMCwwLDExNCw2NSwxLDAsMCwxMTQsNTcsCisgICAgMSwwLDAsOTAsOCwxMTAsMTAxLDExOSw5NSwxMTAsOTcsMTA5LDEwMSwxMTQsNCwwLAorICAgIDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsOTQsMSwwLAorICAgIDAsMjM3LDcsMCwwLDExNSwzNCwwLDAsMCwwLDIsOSwxLDMsMSwKKyAgICAzMSwxLDIyLDMsMTEsMywxOCwxLDE4LDcsOSwxLDEzLDEsMjQsMSwKKyAgICA2LDEsMjcsMiw2LDEsMTcsMSw5LDEsMTgsMSwxMjIsMjIsNzAsMTA1LAorICAgIDEwOCwxMDEsNzAsMTA1LDExMCwxMDAsMTAxLDExNCw0Niw5NSwxMDIsMTA1LDEwOCwxMDgsOTUsOTksCisgICAgOTcsOTksMTA0LDEwMSw5OSwxLDAsMCwwLDAsMCwwLDAsMywwLDAsCisgICAgMCwzLDAsMCwwLDcsMCwwLDAsMTE1LDI1LDAsMCwwLDEzNSwwLAorICAgIDAsMTM1LDEsMCwxMDIsMiwwLDEwMCwxLDAsMTAwLDIsMCwxMzQsMCwwLAorICAgIDEyNSwyLDAsMTI0LDIsMCw4Myw0MSwzLDk3LDIwLDEsMCwwLDY1LDMyLAorICAgIDk5LDEwOCw5NywxMTUsMTE1LDMyLDEwOSwxMDEsMTE2LDEwNCwxMTEsMTAwLDMyLDExOSwxMDQsMTA1LAorICAgIDk5LDEwNCwzMiwxMTQsMTAxLDExNiwxMTcsMTE0LDExMCwxMTUsMzIsOTcsMzIsOTksMTA4LDExMSwKKyAgICAxMTUsMTE3LDExNCwxMDEsMzIsMTE2LDExMSwzMiwxMTcsMTE1LDEwMSwzMiwxMTEsMTEwLDMyLDExNSwKKyAgICAxMjEsMTE1LDQ2LDExMiw5NywxMTYsMTA0LDk1LDEwNCwxMTEsMTExLDEwNywxMCwzMiwzMiwzMiwKKyAgICAzMiwzMiwzMiwzMiwzMiwxMTksMTA0LDEwNSw5OSwxMDQsMzIsMTE5LDEwNSwxMDgsMTA4LDMyLAorICAgIDExNCwxMDEsMTE2LDExNywxMTQsMTEwLDMyLDk3LDExMCwzMiwxMDUsMTEwLDExNSwxMTYsOTcsMTEwLAorICAgIDk5LDEwMSwzMiwxMTcsMTE1LDEwNSwxMTAsMTAzLDMyLDExNiwxMDQsMTAxLDMyLDExNSwxMTIsMTAxLAorICAgIDk5LDEwNSwxMDIsMTA1LDEwMSwxMDAsMzIsMTA4LDExMSw5NywxMDAsMTAxLDExNCwxMTUsMzIsOTcsCisgICAgMTEwLDEwMCwzMiwxMTYsMTA0LDEwMSwzMiwxMTIsOTcsMTE2LDEwNCwxMCwzMiwzMiwzMiwzMiwKKyAgICAzMiwzMiwzMiwzMiw5OSw5NywxMDgsMTA4LDEwMSwxMDAsMzIsMTExLDExMCwzMiwxMTYsMTA0LAorICAgIDEwMSwzMiw5OSwxMDgsMTExLDExNSwxMTcsMTE0LDEwMSw0NiwxMCwxMCwzMiwzMiwzMiwzMiwKKyAgICAzMiwzMiwzMiwzMiw3MywxMDIsMzIsMTE2LDEwNCwxMDEsMzIsMTEyLDk3LDExNiwxMDQsMzIsCisgICAgOTksOTcsMTA4LDEwOCwxMDEsMTAwLDMyLDExMSwxMTAsMzIsMTE2LDEwNCwxMDEsMzIsOTksMTA4LAorICAgIDExMSwxMTUsMTE3LDExNCwxMDEsMzIsMTA1LDExNSwzMiwxMTAsMTExLDExNiwzMiw5NywzMiwxMDAsCisgICAgMTA1LDExNCwxMDEsOTksMTE2LDExMSwxMTQsMTIxLDQ0LDMyLDczLDEwOSwxMTIsMTExLDExNCwxMTYsCisgICAgNjksMTE0LDExNCwxMTEsMTE0LDMyLDEwNSwxMTUsMTAsMzIsMzIsMzIsMzIsMzIsMzIsMzIsCisgICAgMzIsMTE0LDk3LDEwNSwxMTUsMTAxLDEwMCw0NiwxMCwxMCwzMiwzMiwzMiwzMiwzMiwzMiwKKyAgICAzMiwzMiw5OSwxLDAsMCwwLDAsMCwwLDAsMSwwLDAsMCw0LAorICAgIDAsMCwwLDE5LDAsMCwwLDExNSw0MywwLDAsMCwxMTYsMCwwLDEyNCwKKyAgICAwLDAsMTMxLDEsMCwxMTUsMzAsMCwxMTYsMSwwLDEwMCwxLDAsMTAwLDIsCisgICAgMCwxMjQsMCwwLDEzMSwxLDEsMTMwLDEsMCwxMzYsMCwwLDEyNCwwLDAsCiAgICAgMTM2LDEsMCwxNDAsMSwwLDgzLDQxLDMsMTIyLDQ1LDgwLDk3LDExNiwxMDQsMzIsCiAgICAgMTA0LDExMSwxMTEsMTA3LDMyLDEwMiwxMTEsMTE0LDMyLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDEwOCwKICAgICAxMDUsOTgsNDYsMTA5LDk3LDk5LDEwNCwxMDUsMTEwLDEwMSwxMTQsMTIxLDQ2LDcwLDEwNSwxMDgsCkBAIC0zNzU5LDE3ICszNjgyLDE3IEBACiAgICAgMTA1LDExNCwxMDEsOTksMTE2LDExMSwxMTQsMTA1LDEwMSwxMTUsMzIsOTcsMTE0LDEwMSwzMiwxMTUsCiAgICAgMTE3LDExMiwxMTIsMTExLDExNCwxMTYsMTAxLDEwMCwxMTQsMzUsMCwwLDAsNDEsMiwxMTQsCiAgICAgNDYsMCwwLDAsMTE0LDE1NCwwLDAsMCw0MSwxLDExNCwzNSwwLDAsMCwKLSAgICA0MSwyLDExNCwxMiwxLDAsMCwxMTQsOTMsMSwwLDAsMTE0LDQsMCwwLAorICAgIDQxLDIsMTE0LDEwLDEsMCwwLDExNCw5MywxLDAsMCwxMTQsNCwwLDAsCiAgICAgMCwxMTQsNSwwLDAsMCwyMTgsMjQsMTEyLDk3LDExNiwxMDQsOTUsMTA0LDExMSwxMTEsCiAgICAgMTA3LDk1LDEwMiwxMTEsMTE0LDk1LDcwLDEwNSwxMDgsMTAxLDcwLDEwNSwxMTAsMTAwLDEwMSwxMTQsCi0gICAgNTQsOCwwLDAsMTE1LDYsMCwwLDAsMCwyLDEyLDEsMjEsMSwxMjIsCisgICAgMjIsOCwwLDAsMTE1LDYsMCwwLDAsMCwyLDEyLDEsMTgsMSwxMjIsCiAgICAgNTQsNzAsMTA1LDEwOCwxMDEsNzAsMTA1LDExMCwxMDAsMTAxLDExNCw0NiwxMTIsOTcsMTE2LDEwNCwKICAgICA5NSwxMDQsMTExLDExMSwxMDcsNDYsNjAsMTA4LDExMSw5OSw5NywxMDgsMTE1LDYyLDQ2LDExMiwKICAgICA5NywxMTYsMTA0LDk1LDEwNCwxMTEsMTExLDEwNyw5NSwxMDIsMTExLDExNCw5NSw3MCwxMDUsMTA4LAotICAgIDEwMSw3MCwxMDUsMTEwLDEwMCwxMDEsMTE0LDExNCw0LDAsMCwwLDQxLDMsMTE0LDEyLAotICAgIDEsMCwwLDExNCw5MywxLDAsMCwxMTQsMTAwLDEsMCwwLDExNCw0LDAsCi0gICAgMCwwLDQxLDIsMTE0LDEyLDEsMCwwLDExNCw5MywxLDAsMCwxMTQsNSwKLSAgICAwLDAsMCwyMTgsOSwxMTIsOTcsMTE2LDEwNCw5NSwxMDQsMTExLDExMSwxMDcsNDQsOCwKKyAgICAxMDEsNzAsMTA1LDExMCwxMDAsMTAxLDExNCwxMTQsNCwwLDAsMCw0MSwzLDExNCwxMCwKKyAgICAxLDAsMCwxMTQsOTMsMSwwLDAsMTE0LDk5LDEsMCwwLDExNCw0LDAsCisgICAgMCwwLDQxLDIsMTE0LDEwLDEsMCwwLDExNCw5MywxLDAsMCwxMTQsNSwKKyAgICAwLDAsMCwyMTgsOSwxMTIsOTcsMTE2LDEwNCw5NSwxMDQsMTExLDExMSwxMDcsMTIsOCwKICAgICAwLDAsMTE1LDQsMCwwLDAsMCwxMCwyMSw2LDEyMiwyMCw3MCwxMDUsMTA4LAogICAgIDEwMSw3MCwxMDUsMTEwLDEwMCwxMDEsMTE0LDQ2LDExMiw5NywxMTYsMTA0LDk1LDEwNCwxMTEsMTExLAogICAgIDEwNyw5OSwxLDAsMCwwLDAsMCwwLDAsMSwwLDAsMCwyLDAsCkBAIC0zNzc4LDE1ICszNzAxLDE1IEBACiAgICAgNzAsMTA1LDEwOCwxMDEsNzAsMTA1LDExMCwxMDAsMTAxLDExNCw0MCwxMjMsMzMsMTE0LDEyNSw0MSwKICAgICA0MSwyLDExNCw0NywwLDAsMCwxMTQsMzUsMCwwLDAsNDEsMSwxMTQsNzEsCiAgICAgMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwKLSAgICAwLDAsMTE0LDEwMSwwLDAsMCw2Miw4LDAsMCwxMTUsMiwwLDAsMCwKKyAgICAwLDAsMTE0LDEwMSwwLDAsMCwzMCw4LDAsMCwxMTUsMiwwLDAsMCwKICAgICAwLDEsMTIyLDE5LDcwLDEwNSwxMDgsMTAxLDcwLDEwNSwxMTAsMTAwLDEwMSwxMTQsNDYsOTUsCiAgICAgOTUsMTE0LDEwMSwxMTIsMTE0LDk1LDk1LDQxLDE1LDExNCw1NywwLDAsMCwxMTQsNTYsCiAgICAgMCwwLDAsMTE0LDU4LDAsMCwwLDExNCw1OSwwLDAsMCwxMTQsNzIsMCwKLSAgICAwLDAsMTE0LDc1LDEsMCwwLDExNCwxNzMsMCwwLDAsMTE0LDE1LDEsMCwKLSAgICAwLDExNCwxNjYsMCwwLDAsMTE0LDg2LDEsMCwwLDExNCwxNCwxLDAsMCwKLSAgICAxMTQsOTQsMSwwLDAsMTE0LDE5LDEsMCwwLDExNCwxMDEsMSwwLDAsMTE0LAorICAgIDAsMCwxMTQsNzQsMSwwLDAsMTE0LDE3MywwLDAsMCwxMTQsMTMsMSwwLAorICAgIDAsMTE0LDE2NiwwLDAsMCwxMTQsODYsMSwwLDAsMTE0LDEyLDEsMCwwLAorICAgIDExNCw5NCwxLDAsMCwxMTQsMTcsMSwwLDAsMTE0LDEwMCwxLDAsMCwxMTQsCiAgICAgMTAxLDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LAotICAgIDAsMCwwLDExNCw1LDAsMCwwLDExNCw4NywxLDAsMCwxNzgsNywwLAorICAgIDAsMCwwLDExNCw1LDAsMCwwLDExNCw4NywxLDAsMCwxNDYsNywwLAogICAgIDAsMTE1LDIwLDAsMCwwLDEyLDcsNiwyLDEyLDE0LDEyLDQsNiwyLAogICAgIDEyLDEyLDEyLDUsMTUsNDUsMTIsMzEsMTgsMTgsMTE0LDg3LDEsMCwwLDk5LAogICAgIDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDIsMCwwLDAsCkBAIC0zODAyLDggKzM3MjUsOCBAQAogICAgIDEwNiwxLDAsMTMxLDAsMCwxLDEwMCwxLDAsODMsNDEsMiwxMjIsMjQsNjUsCiAgICAgOTksMTEzLDExNywxMDUsMTE0LDEwMSwzMiwxMTYsMTA0LDEwMSwzMiwxMDUsMTA5LDExMiwxMTEsMTE0LAogICAgIDExNiwzMiwxMDgsMTExLDk5LDEwNyw0Niw3OCw0MSwyLDExNCwxMDYsMCwwLDAsMTE0LAotICAgIDQsMSwwLDAsNDEsMSwxMTQsNzEsMCwwLDAsMTE0LDQsMCwwLDAsCi0gICAgMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMTE0LDc1LDAsMCwwLDcyLAorICAgIDIsMSwwLDAsNDEsMSwxMTQsNzEsMCwwLDAsMTE0LDQsMCwwLDAsCisgICAgMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMTE0LDc1LDAsMCwwLDQwLAogICAgIDgsMCwwLDExNSwyLDAsMCwwLDAsMiwxMjIsMjgsOTUsNzMsMTA5LDExMiwKICAgICAxMTEsMTE0LDExNiw3NiwxMTEsOTksMTA3LDY3LDExMSwxMTAsMTE2LDEwMSwxMjAsMTE2LDQ2LDk1LAogICAgIDk1LDEwMSwxMTAsMTE2LDEwMSwxMTQsOTUsOTUsOTksNCwwLDAsMCwwLDAsMCwKQEAgLTM4MTcsNTYwICszNzQwLDU1NSBAQAogICAgIDcxLDAsMCwwLDkwLDgsMTAxLDEyMCw5OSw5NSwxMTYsMTIxLDExMiwxMDEsOTAsOSwKICAgICAxMDEsMTIwLDk5LDk1LDExOCw5NywxMDgsMTE3LDEwMSw5MCwxMywxMDEsMTIwLDk5LDk1LDExNiwKICAgICAxMTQsOTcsOTksMTAxLDk4LDk3LDk5LDEwNywxMTQsNCwwLDAsMCwxMTQsNCwwLAotICAgIDAsMCwxMTQsNSwwLDAsMCwxMTQsODEsMCwwLDAsNzYsOCwwLDAsCisgICAgMCwwLDExNCw1LDAsMCwwLDExNCw4MSwwLDAsMCw0NCw4LDAsMCwKICAgICAxMTUsMiwwLDAsMCwwLDIsMTIyLDI3LDk1LDczLDEwOSwxMTIsMTExLDExNCwxMTYsCiAgICAgNzYsMTExLDk5LDEwNyw2NywxMTEsMTEwLDExNiwxMDEsMTIwLDExNiw0Niw5NSw5NSwxMDEsMTIwLAogICAgIDEwNSwxMTYsOTUsOTUsNzgsNDEsNiwxMTQsNTcsMCwwLDAsMTE0LDU2LDAsMCwKICAgICAwLDExNCw1OCwwLDAsMCwxMTQsNTksMCwwLDAsMTE0LDc1LDAsMCwwLAogICAgIDExNCw4MSwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsCi0gICAgNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsMTAyLDEsMCwwLDY4LDgsCi0gICAgMCwwLDExNSw2LDAsMCwwLDEyLDIsNiwyLDEyLDQsMTE0LDEwMiwxLAorICAgIDQsMCwwLDAsMTE0LDUsMCwwLDAsMTE0LDEwMSwxLDAsMCwzNiw4LAorICAgIDAsMCwxMTUsNiwwLDAsMCwxMiwyLDYsMiwxMiw0LDExNCwxMDEsMSwKICAgICAwLDAsOTksMywwLDAsMCwwLDAsMCwwLDUsMCwwLDAsNCwKLSAgICAwLDAsMCw2NywwLDAsMCwxMTUsOTEsMCwwLDAsMTI0LDEsMCwxMDYsCisgICAgMCwwLDAsNjcsMCwwLDAsMTE1LDg4LDAsMCwwLDEyNCwxLDAsMTA2LAogICAgIDAsMCwxMDAsMSwwLDEyNCwyLDAsMTAwLDIsMCwyNCwxMzEsMiwwLDEyNSwKICAgICAzLDAsMTE2LDEsMCwxMjQsMywwLDEzMSwxLDAsMTI0LDIsMCwxMDcsMCwKLSAgICAwLDExNCw1NSwwLDExNiwyLDAsMTAwLDMsMCwxMzEsMSwwLDEzMCwxLDAsCi0gICAgMTEwLDAsMCwxMjQsMywwLDEwMCw0LDAsMjUsMTI1LDQsMCwxMjQsMCwwLAotICAgIDExNCw4NywwLDEwMCw1LDAsMTA2LDMsMCwxMjQsNCwwLDEyNCwwLDAsMTMxLAotICAgIDIsMCw4MywxMjQsNCwwLDgzLDQxLDYsMTIyLDUwLDgyLDEwMSwxMTUsMTExLDEwOCwKLSAgICAxMTgsMTAxLDMyLDk3LDMyLDExNCwxMDEsMTA4LDk3LDExNiwxMDUsMTE4LDEwMSwzMiwxMDksMTExLAotICAgIDEwMCwxMTcsMTA4LDEwMSwzMiwxMTAsOTcsMTA5LDEwMSwzMiwxMTYsMTExLDMyLDk3LDExMCwzMiwKLSAgICA5Nyw5OCwxMTUsMTExLDEwOCwxMTcsMTE2LDEwMSwzMiwxMTEsMTEwLDEwMSw0NiwxMTQsMTE2LDAsCi0gICAgMCwwLDExNCwyOSwwLDAsMCwxMjIsNTAsOTcsMTE2LDExNiwxMDEsMTA5LDExMiwxMTYsCi0gICAgMTAxLDEwMCwzMiwxMTQsMTAxLDEwOCw5NywxMTYsMTA1LDExOCwxMDEsMzIsMTA1LDEwOSwxMTIsMTExLAotICAgIDExNCwxMTYsMzIsOTgsMTAxLDEyMSwxMTEsMTEwLDEwMCwzMiwxMTYsMTExLDExMiw0NSwxMDgsMTAxLAotICAgIDExOCwxMDEsMTA4LDMyLDExMiw5Nyw5OSwxMDcsOTcsMTAzLDEwMSwxMTQsODQsMCwwLDAsCi0gICAgMTIyLDUsMTIzLDEyNSw0NiwxMjMsMTI1LDQxLDQsMTE0LDM0LDAsMCwwLDExNCwzMSwKLSAgICAwLDAsMCwxMTQsMTMzLDAsMCwwLDExNCw0NywwLDAsMCw0MSw1LDExNCwKLSAgICA2NywwLDAsMCwyMTgsNywxMTIsOTcsOTksMTA3LDk3LDEwMywxMDEsMjE4LDUsMTA4LAotICAgIDEwMSwxMTgsMTAxLDEwOCw5MCw0LDk4LDEwNSwxMTYsMTE1LDExNCwxMjgsMCwwLDAsMTE0LAotICAgIDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMjE4LDEzLAotICAgIDk1LDExNCwxMDEsMTE1LDExMSwxMDgsMTE4LDEwMSw5NSwxMTAsOTcsMTA5LDEwMSw4MSw4LDAsCi0gICAgMCwxMTUsMTAsMCwwLDAsMCwyLDIyLDEsMTgsMSwxNSwxLDEwLDEsCi0gICAgMTE0LDEwNSwxLDAsMCw5OSwzLDAsMCwwLDAsMCwwLDAsNCwwLAotICAgIDAsMCwzLDAsMCwwLDY3LDAsMCwwLDExNSw0NywwLDAsMCwxMjQsCi0gICAgMCwwLDEwNiwwLDAsMTI0LDEsMCwxMjQsMiwwLDEzMSwyLDAsMTI1LDMsCi0gICAgMCwxMjQsMywwLDEwMCwwLDAsMTA3LDgsMCwxMTQsMzQsMCwxMDAsMCwwLAotICAgIDgzLDExNiwxLDAsMTI0LDEsMCwxMjQsMywwLDEzMSwyLDAsODMsNDEsMSwKLSAgICA3OCw0MSwyLDExNCwxNSwxLDAsMCwxMTQsMTc0LDAsMCwwLDQxLDQsMTE0LAotICAgIDc4LDEsMCwwLDExNCw2NywwLDAsMCwxMTQsMzUsMCwwLDAsMTE0LDE3MCwKLSAgICAwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLAotICAgIDAsMCwyMTgsMTcsOTUsMTAyLDEwNSwxMTAsMTAwLDk1LDExNSwxMTIsMTAxLDk5LDk1LDEwOCwKLSAgICAxMDEsMTAzLDk3LDk5LDEyMSw5MCw4LDAsMCwxMTUsOCwwLDAsMCwwLDMsCi0gICAgMTgsMSwxMiwxLDQsMSwxMTQsMTA2LDEsMCwwLDk5LDMsMCwwLDAsCi0gICAgMCwwLDAsMCw5LDAsMCwwLDI2LDAsMCwwLDY3LDAsMCwwLAotICAgIDExNSwzNCwxLDAsMCwxMTYsMCwwLDEwNiwxLDAsMTE1LDI4LDAsMTE2LDIsCi0gICAgMCwxMDYsMywwLDEwMCwxLDAsMTE2LDQsMCwxMzEsMiwwLDEsMTEwLDAsCi0gICAgMCwxMjQsMCwwLDExNiwwLDAsMTA2LDUsMCwxMDcsNiwwLDEyNSwzLDAsCi0gICAgMTIwLDI0MCwwLDExNiwwLDAsMTA2LDEsMCw2OCw5MywyMjUsMCwxMjUsNCwwLAotICAgIDExNiw2LDAsMTMxLDAsMCwxNDMsOTMsMCwxLDEyMSwxMywwLDEyNCw0LDAsCi0gICAgMTA2LDcsMCwxMjUsNSwwLDg3LDExMCw1NCwwLDQsMTE2LDgsMCwxMDcsMTAsCi0gICAgMCwxMTQsMTM4LDAsMSwxLDEsMTE2LDksMCwxMjQsNCwwLDEyNCwwLDAsCi0gICAgMTI0LDEsMCwxMzEsMywwLDEyNSw2LDAsMTI0LDYsMCwxMDAsMiwwLDEwNywKLSAgICA4LDAsMTE0LDEzNCwwLDExOSw1MywwLDExMCwwLDAsODksMTEwLDE5LDAsODgsCi0gICAgMTI0LDUsMCwxMjQsMCwwLDEyNCwxLDAsMTI0LDIsMCwxMzEsMywwLDEyNSwKLSAgICA2LDAsODcsMTAwLDIsMCw4MSw4OCwxMjQsNiwwLDEwMCwyLDAsMTA3LDksCi0gICAgMCwxMTQsNTMsMCwxMjQsMywwLDEyLDExNCwxNSwxLDEyNCwwLDAsMTE2LDAsCi0gICAgMCwxMDYsNSwwLDEwNyw2LDAsMTE0LDE1LDEsMTE2LDAsMCwxMDYsNSwwLAotICAgIDEyNCwwLDAsMjUsMTI1LDcsMCwxMjEsMTMsMCwxMjQsNywwLDEwNiwxMCwwLAotICAgIDEyNSw4LDAsODcsMTEwLDIyLDAsNCwxMTYsOCwwLDEwNywxMCwwLDExNCwyNDcsCi0gICAgMCwxLDEsMSwxMjQsNiwwLDgzLDg5LDExMywxOSwxLDg4LDEyNCw4LDAsCi0gICAgMTAwLDIsMCwxMDcsOCwwLDExNCw4LDEsMTI0LDYsMCw4MywxMjQsOCwwLAotICAgIDgzLDExMywyMiwxLDEyNCw2LDAsODMsMTEzLDUzLDAsMTEzLDUzLDAsODcsMTAwLAotICAgIDIsMCw4MywxMDAsMiwwLDgzLDQxLDMsMTIyLDIzLDcwLDEwNSwxMTAsMTAwLDMyLAotICAgIDk3LDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDM5LDExNSwzMiwxMDgsMTExLDk3LDEwMCwxMDEsCi0gICAgMTE0LDQ2LDEyMiwyMiwxMTUsMTIxLDExNSw0NiwxMDksMTAxLDExNiw5Nyw5NSwxMTIsOTcsMTE2LAotICAgIDEwNCwzMiwxMDUsMTE1LDMyLDEwMSwxMDksMTEyLDExNiwxMjEsNzgsNDEsMTEsMTE0LDcsMCwKLSAgICAwLDAsMjE4LDksMTA5LDEwMSwxMTYsOTcsOTUsMTEyLDk3LDExNiwxMDQsMTE0LDE2NywwLAotICAgIDAsMCwxMTQsMTY4LDAsMCwwLDExNCwxNjksMCwwLDAsMTE0LDczLDAsMCwKLSAgICAwLDExNCwxMDIsMSwwLDAsMTE0LDE0LDEsMCwwLDExNCwyMTAsMCwwLDAsCi0gICAgMTE0LDEwNiwxLDAsMCwxMTQsMjA5LDAsMCwwLDQxLDksMTE0LDY3LDAsMCwKLSAgICAwLDExNCwzNSwwLDAsMCwxMTQsMTMsMSwwLDAsOTAsOSwxMDUsMTE1LDk1LAotICAgIDExNCwxMDEsMTA4LDExMSw5NywxMDAsMTE0LDc4LDEsMCwwLDExNCwxNCwxLDAsMCwKLSAgICAxMTQsMTc4LDAsMCwwLDExNCwxODAsMCwwLDAsMTE0LDIwOSwwLDAsMCwxMTQsCi0gICAgNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwyMTgsMTAsCi0gICAgOTUsMTAyLDEwNSwxMTAsMTAwLDk1LDExNSwxMTIsMTAxLDk5LDk5LDgsMCwwLDExNSw0OCwKLSAgICAwLDAsMCwwLDIsOSwxLDE5LDQsMTUsMSwxNiwxLDEwLDEsMywKLSAgICAxLDEzLDEsMTMsMSwxOCwxLDEyLDEsMTEsMiwyNCwxLDEyLDIsMjIsCi0gICAgMSwxMywxLDMsMSwxMywxLDEzLDQsOSwyLDEyLDEsNCwyLDcsCi0gICAgMiwxMSwyLDExNCwxMDgsMSwwLDAsOTksMywwLDAsMCwwLDAsMCwKLSAgICAwLDQsMCwwLDAsNCwwLDAsMCw2NywwLDAsMCwxMTUsMTk0LDAsCi0gICAgMCwwLDExNiwwLDAsMTI0LDAsMCwxMTYsMSwwLDEzMSwyLDAsMTE1LDQ1LAotICAgIDAsMTE2LDIsMCwxMDAsMSwwLDEwNiwzLDAsMTE2LDQsMCwxMjQsMCwwLAotICAgIDEzMSwxLDAsMTMxLDEsMCwxMzEsMSwwLDEzMCwxLDAsMTEwLDAsMCwxMjQsCi0gICAgMiwwLDEwMCwyLDAsMTA3LDAsMCwxMTQsNzIsMCwxMTYsNSwwLDEwMCwzLAotICAgIDAsMTMxLDEsMCwxMzAsMSwwLDExMCwwLDAsMTI0LDEsMCwxMTQsMTU2LDAsCi0gICAgMTE2LDAsMCwxMjQsMSwwLDExNiwxLDAsMTMxLDIsMCwxMTUsMTA4LDAsMTE2LAotICAgIDIsMCwxMDAsNCwwLDEzMSwxLDAsMTMwLDEsMCwxMTMsMTU2LDAsMTI0LDEsCi0gICAgMCwxMTYsNiwwLDEwNiw3LDAsMTA3LDcsMCwxMTQsMTU2LDAsMTAwLDUsMCwKLSAgICAxMjUsMywwLDExNiw4LDAsMTI0LDMsMCwxMDYsMywwLDEyNCwxLDAsMTMxLAotICAgIDEsMCwxMzEsMSwwLDEzMCwxLDAsMTEzLDE1NiwwLDExMCwwLDAsMTI0LDAsCi0gICAgMCwxMiwxMTQsMTkwLDAsMTI0LDIsMCwxMDAsMiwwLDEwNywyLDAsMTE0LDE5MCwKLSAgICAwLDExNiw1LDAsMTAwLDYsMCwxMzEsMSwwLDEzMCwxLDAsMTEwLDAsMCwKLSAgICAxMDAsNywwLDgzLDQxLDgsMTIyLDI4LDg2LDEwMSwxMTQsMTA1LDEwMiwxMjEsMzIsOTcsCi0gICAgMTE0LDEwMywxMTcsMTA5LDEwMSwxMTAsMTE2LDExNSwzMiw5NywxMTQsMTAxLDMyLDM0LDExNSw5NywKLSAgICAxMTAsMTAxLDM0LDQ2LDEyMiwzMSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwzMiwxMTAsOTcsMTA5LAotICAgIDEwMSwzMiwxMDksMTE3LDExNSwxMTYsMzIsOTgsMTAxLDMyLDExNSwxMTYsMTE0LDQ0LDMyLDExMCwKLSAgICAxMTEsMTE2LDMyLDEyMywxMjUsMTE0LDg0LDAsMCwwLDEyMiwxOCwxMDgsMTAxLDExOCwxMDEsCi0gICAgMTA4LDMyLDEwOSwxMTcsMTE1LDExNiwzMiw5OCwxMDEsMzIsNjIsNjEsMzIsNDgsMTIyLDMxLAotICAgIDk1LDk1LDExMiw5Nyw5OSwxMDcsOTcsMTAzLDEwMSw5NSw5NSwzMiwxMTAsMTExLDExNiwzMiwKLSAgICAxMTUsMTAxLDExNiwzMiwxMTYsMTExLDMyLDk3LDMyLDExNSwxMTYsMTE0LDEwNSwxMTAsMTAzLDEyMiwKLSAgICA2MSw4MCw5NywxMTQsMTAxLDExMCwxMTYsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsMTIzLAotICAgIDMzLDExNCwxMjUsMzIsMTEwLDExMSwxMTYsMzIsMTA4LDExMSw5NywxMDAsMTAxLDEwMCw0NCwzMiwKLSAgICA5OSw5NywxMTAsMTEwLDExMSwxMTYsMzIsMTEyLDEwMSwxMTQsMTAyLDExMSwxMTQsMTA5LDMyLDExNCwKLSAgICAxMDEsMTA4LDk3LDExNiwxMDUsMTE4LDEwMSwzMiwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwxMjIsMTcsCi0gICAgNjksMTA5LDExMiwxMTYsMTIxLDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDMyLDExMCw5NywxMDksCi0gICAgMTAxLDc4LDQxLDksMTE0LDE5MywwLDAsMCwxMTQsODMsMSwwLDAsMjE4LDksCi0gICAgODQsMTIxLDExMiwxMDEsNjksMTE0LDExNCwxMTEsMTE0LDExNCw0NywwLDAsMCwxMTQsNjYsCi0gICAgMCwwLDAsMTE0LDEzMywwLDAsMCwxMTQsNywwLDAsMCwxMTQsNzMsMCwKLSAgICAwLDAsMjE4LDExLDgzLDEyMSwxMTUsMTE2LDEwMSwxMDksNjksMTE0LDExNCwxMTEsMTE0LDQxLAotICAgIDQsMTE0LDY3LDAsMCwwLDExNCwxMDMsMSwwLDAsMTE0LDEwNCwxLDAsMCwKLSAgICAxMTQsMTcyLDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCwKLSAgICA1LDAsMCwwLDIxOCwxMyw5NSwxMTUsOTcsMTEwLDEwNSwxMTYsMTIxLDk1LDk5LDEwNCwKLSAgICAxMDEsOTksMTA3LDEzOSw4LDAsMCwxMTUsMjQsMCwwLDAsMCwyLDE1LDEsCi0gICAgMzAsMSwxMiwxLDE1LDEsNiwxLDE1LDEsMTUsMSwxNSwxLDYsMiwKLSAgICAyNywxLDE5LDEsMTE0LDExMSwxLDAsMCwxMjIsMTYsNzgsMTExLDMyLDEwOSwxMTEsCi0gICAgMTAwLDExNywxMDgsMTAxLDMyLDExMCw5NywxMDksMTAxLDEwMCwzMiwxMjIsNCwxMjMsMzMsMTE0LAotICAgIDEyNSw5OSwyLDAsMCwwLDAsMCwwLDAsOCwwLDAsMCwxMiwwLAotICAgIDAsMCw2NywwLDAsMCwxMTUsNTIsMSwwLDAsMTAwLDAsMCwxMjUsMiwKLSAgICAwLDEyNCwwLDAsMTA2LDAsMCwxMDAsMSwwLDEzMSwxLDAsMTAwLDIsMCwKLSAgICAyNSwxMjUsMywwLDEyNCwzLDAsMTE0LDE3OCwwLDEyNCwzLDAsMTE2LDEsMCwKLSAgICAxMDYsMiwwLDEwNyw3LDAsMTE0LDYyLDAsMTE2LDMsMCwxMjQsMSwwLDEyNCwKLSAgICAzLDAsMTMxLDIsMCwxLDExMCwwLDAsMTI0LDAsMCwxMTYsMSwwLDEwNiwKLSAgICAyLDAsMTA3LDYsMCwxMTQsODgsMCwxMTYsMSwwLDEwNiwyLDAsMTI0LDAsCi0gICAgMCwyNSw4MywxMTYsMSwwLDEwNiwyLDAsMTI0LDMsMCwyNSwxMjUsNCwwLAotICAgIDEyMSwxMywwLDEyNCw0LDAsMTA2LDQsMCwxMjUsMiwwLDg3LDExMywxNzgsMCwKLSAgICA0LDExNiw1LDAsMTA3LDEwLDAsMTE0LDE3NCwwLDEsMSwxLDExNiw2LDAsCi0gICAgMTAwLDMsMCwyMywxMDYsNywwLDEyNCwwLDAsMTI0LDMsMCwxMzEsMiwwLAotICAgIDEyNSw1LDAsMTE2LDgsMCwxMjQsNSwwLDEwMCw0LDAsMTI0LDAsMCwxMzEsCi0gICAgMSwxLDEzMCwxLDAsODksMTEzLDE3OCwwLDg4LDExMCwwLDAsMTE2LDksMCwKLSAgICAxMjQsMCwwLDEyNCwyLDAsMTMxLDIsMCwxMjUsNiwwLDEyNCw2LDAsMTAwLAotICAgIDAsMCwxMDcsOCwwLDExNCwyMzUsMCwxMTYsOCwwLDExNiw2LDAsMTA2LDcsCi0gICAgMCwxMjQsMCwwLDEzMSwxLDAsMTAwLDQsMCwxMjQsMCwwLDEzMSwxLDEsCi0gICAgMTMwLDEsMCwxMTAsMTgsMCwxMTYsMTAsMCwxMjQsNiwwLDEzMSwxLDAsMTA2LAotICAgIDExLDAsMTMxLDAsMCwxMjUsNywwLDEyNCwzLDAsMTE0LDQ4LDEsMTE2LDEsCi0gICAgMCwxMDYsMiwwLDEyNCwzLDAsMjUsMTI1LDQsMCwxMTYsMTIsMCwxMjQsNCwKLSAgICAwLDEyNCwwLDAsMTA2LDAsMCwxMDAsMSwwLDEzMSwxLDAsMTAwLDUsMCwKLSAgICAyNSwxMjQsNywwLDEzMSwzLDAsMSwxMTAsMCwwLDEyNCw3LDAsODMsNDEsCi0gICAgNiw3OCwxMTQsMTE2LDAsMCwwLDExNCw4NCwwLDAsMCwxMjIsMjMsNTksMzIsCi0gICAgMTIzLDMzLDExNCwxMjUsMzIsMTA1LDExNSwzMiwxMTAsMTExLDExNiwzMiw5NywzMiwxMTIsOTcsCi0gICAgOTksMTA3LDk3LDEwMywxMDEsMTE0LDY3LDAsMCwwLDExNCwxMTUsMCwwLDAsNDEsCi0gICAgMTMsMTE0LDMyLDAsMCwwLDExNCw3LDAsMCwwLDExNCw3MywwLDAsMCwKLSAgICAxMTQsMTE0LDAsMCwwLDExNCwyNDcsMCwwLDAsMTE0LDIxMCwwLDAsMCwyMTgsCi0gICAgOCw5NSw2OSw4Miw4Miw5NSw3Nyw4Myw3MSwxMTQsNDcsMCwwLDAsMTE0LDE1NCwKLSAgICAwLDAsMCwxMTQsMTA4LDEsMCwwLDExNCwxNzUsMCwwLDAsMTE0LDcsMSwKLSAgICAwLDAsMTE0LDYxLDAsMCwwLDQxLDgsMTE0LDY3LDAsMCwwLDIxOCw3LAotICAgIDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDk1LDExNCwzNSwwLDAsMCwxMTQsMjM0LDAsMCwKLSAgICAwLDkwLDEzLDExMiw5NywxMTQsMTAxLDExMCwxMTYsOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsCi0gICAgMTE0LDE3MiwwLDAsMCwxMTQsMTc4LDAsMCwwLDExNCwxODAsMCwwLDAsMTE0LAotICAgIDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMjE4LDIzLAotICAgIDk1LDEwMiwxMDUsMTEwLDEwMCw5NSw5NywxMTAsMTAwLDk1LDEwOCwxMTEsOTcsMTAwLDk1LDExNywKLSAgICAxMTAsMTA4LDExMSw5OSwxMDcsMTAxLDEwMCwxNTksOCwwLDAsMTE1LDQyLDAsMCwwLAotICAgIDAsMSw2LDEsMTksMSw2LDEsMTUsMSwxNiwyLDE1LDEsMTEsMSwKLSAgICAxMywxLDMsMSwxMywxLDEzLDEsMjIsMSwyNiwxLDE1LDEsMTIsMSwKLSAgICAzMCwyLDE4LDEsNiwyLDEzLDEsMzIsMSwxMTQsMTE0LDEsMCwwLDk5LAotICAgIDIsMCwwLDAsMCwwLDAsMCwyLDAsMCwwLDEwLDAsMCwwLAotICAgIDY3LDAsMCwwLDExNSwzNiwwLDAsMCwxMTYsMCwwLDEyNCwwLDAsMTMxLAotICAgIDEsMCwxNDMsMTgsMCwxLDExNiwxLDAsMTI0LDAsMCwxMjQsMSwwLDEzMSwKLSAgICAyLDAsODMsODcsMTAwLDEsMCw4MSw4OCwxMDAsMSwwLDgzLDQxLDIsMTIyLAotICAgIDU0LDcwLDEwNSwxMTAsMTAwLDMyLDk3LDExMCwxMDAsMzIsMTA4LDExMSw5NywxMDAsMzIsMTE2LAotICAgIDEwNCwxMDEsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsNDQsMzIsOTcsMTEwLDEwMCwzMiwxMTQsCi0gICAgMTAxLDEwOCwxMDEsOTcsMTE1LDEwMSwzMiwxMTYsMTA0LDEwMSwzMiwxMDUsMTA5LDExMiwxMTEsMTE0LAotICAgIDExNiwzMiwxMDgsMTExLDk5LDEwNyw0Niw3OCw0MSwyLDExNCwxMDMsMCwwLDAsMTE0LAotICAgIDExNCwxLDAsMCw0MSwyLDExNCw2NywwLDAsMCwxMTQsMTEzLDEsMCwwLAorICAgIDAsMTE0LDUyLDAsMTE2LDIsMCwxMDAsMywwLDEzMSwxLDAsMTMwLDEsMCwKKyAgICAxMjQsMywwLDEwMCw0LDAsMjUsMTI1LDQsMCwxMjQsMCwwLDExNCw4NCwwLAorICAgIDEwMCw1LDAsMTA2LDMsMCwxMjQsNCwwLDEyNCwwLDAsMTMxLDIsMCw4MywKKyAgICAxMjQsNCwwLDgzLDQxLDYsMTIyLDUwLDgyLDEwMSwxMTUsMTExLDEwOCwxMTgsMTAxLDMyLAorICAgIDk3LDMyLDExNCwxMDEsMTA4LDk3LDExNiwxMDUsMTE4LDEwMSwzMiwxMDksMTExLDEwMCwxMTcsMTA4LAorICAgIDEwMSwzMiwxMTAsOTcsMTA5LDEwMSwzMiwxMTYsMTExLDMyLDk3LDExMCwzMiw5Nyw5OCwxMTUsCisgICAgMTExLDEwOCwxMTcsMTE2LDEwMSwzMiwxMTEsMTEwLDEwMSw0NiwxMTQsMTE2LDAsMCwwLDExNCwKKyAgICAyOSwwLDAsMCwxMjIsNTAsOTcsMTE2LDExNiwxMDEsMTA5LDExMiwxMTYsMTAxLDEwMCwzMiwKKyAgICAxMTQsMTAxLDEwOCw5NywxMTYsMTA1LDExOCwxMDEsMzIsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsMzIsCisgICAgOTgsMTAxLDEyMSwxMTEsMTEwLDEwMCwzMiwxMTYsMTExLDExMiw0NSwxMDgsMTAxLDExOCwxMDEsMTA4LAorICAgIDMyLDExMiw5Nyw5OSwxMDcsOTcsMTAzLDEwMSwxMTQsODQsMCwwLDAsMTIyLDUsMTIzLAorICAgIDEyNSw0NiwxMjMsMTI1LDQxLDQsMTE0LDM0LDAsMCwwLDExNCwzMSwwLDAsMCwKKyAgICAxMTQsMTMzLDAsMCwwLDExNCw0NywwLDAsMCw0MSw1LDExNCw2NywwLDAsCisgICAgMCwyMTgsNywxMTIsOTcsOTksMTA3LDk3LDEwMywxMDEsMjE4LDUsMTA4LDEwMSwxMTgsMTAxLAorICAgIDEwOCw5MCw0LDk4LDEwNSwxMTYsMTE1LDExNCwxMjgsMCwwLDAsMTE0LDQsMCwwLAorICAgIDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMjE4LDEzLDk1LDExNCwxMDEsCisgICAgMTE1LDExMSwxMDgsMTE4LDEwMSw5NSwxMTAsOTcsMTA5LDEwMSw0OSw4LDAsMCwxMTUsMTAsCisgICAgMCwwLDAsMCwyLDIyLDEsMTgsMSwxMiwxLDEwLDEsMTE0LDEwNCwxLAorICAgIDAsMCw5OSwzLDAsMCwwLDAsMCwwLDAsNCwwLDAsMCwzLAorICAgIDAsMCwwLDY3LDAsMCwwLDExNSw0NywwLDAsMCwxMjQsMCwwLDEwNiwKKyAgICAwLDAsMTI0LDEsMCwxMjQsMiwwLDEzMSwyLDAsMTI1LDMsMCwxMjQsMywKKyAgICAwLDEwMCwwLDAsMTA3LDgsMCwxMTQsMzQsMCwxMDAsMCwwLDgzLDExNiwxLAorICAgIDAsMTI0LDEsMCwxMjQsMywwLDEzMSwyLDAsODMsNDEsMSw3OCw0MSwyLAorICAgIDExNCwxMywxLDAsMCwxMTQsMTc0LDAsMCwwLDQxLDQsMTE0LDc3LDEsMCwKKyAgICAwLDExNCw2NywwLDAsMCwxMTQsMzUsMCwwLDAsMTE0LDE3MCwwLDAsMCwKICAgICAxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwyMTgsCi0gICAgMTQsOTUsMTAyLDEwNSwxMTAsMTAwLDk1LDk3LDExMCwxMDAsOTUsMTA4LDExMSw5NywxMDAsMTg2LAotICAgIDgsMCwwLDExNSw0LDAsMCwwLDAsMiwxMywxLDExNCwxMTUsMSwwLAotICAgIDAsOTksMywwLDAsMCwwLDAsMCwwLDUsMCwwLDAsNCwwLAotICAgIDAsMCw2NywwLDAsMCwxMTUsMTcyLDAsMCwwLDExNiwwLDAsMTI0LDAsCi0gICAgMCwxMjQsMSwwLDEyNCwyLDAsMTMxLDMsMCwxLDEyNCwyLDAsMTAwLDEsCi0gICAgMCwxMDcsNCwwLDExNCw0OSwwLDExNiwxLDAsMTI0LDAsMCwxMjQsMSwwLAotICAgIDEyNCwyLDAsMTMxLDMsMCwxMjUsMCwwLDExMCwwLDAsMTE2LDIsMCwxMDYsCi0gICAgMywwLDEzMSwwLDAsMSwxMjQsMCwwLDExNiw0LDAsMTA2LDUsMCwxMDcsCi0gICAgNywwLDExNCw4NywwLDExNiw2LDAsMTI0LDAsMCwxMTYsNywwLDEzMSwyLAotICAgIDAsODMsMTE2LDQsMCwxMDYsNSwwLDEyNCwwLDAsMjUsMTI1LDMsMCwxMjQsCi0gICAgMywwLDEwMCwyLDAsMTA3LDgsMCwxMTQsMTU4LDAsMTE2LDIsMCwxMDYsOCwKLSAgICAwLDEzMSwwLDAsMSwxMDAsMywwLDEwNiw5LDAsMTI0LDAsMCwxMzEsMSwKLSAgICAwLDEyNSw0LDAsMTE2LDEwLDAsMTI0LDQsMCwxMDAsNCwwLDEyNCwwLDAsCi0gICAgMTMxLDEsMSwxMzAsMSwwLDExMCwwLDAsMTE2LDExLDAsMTI0LDAsMCwxMzEsCi0gICAgMSwwLDEsMTI0LDMsMCw4Myw0MSw1LDk3LDUwLDEsMCwwLDczLDEwOSwKLSAgICAxMTIsMTExLDExNCwxMTYsMzIsOTcsMTEwLDEwMCwzMiwxMTQsMTAxLDExNiwxMTcsMTE0LDExMCwzMiwKLSAgICAxMTYsMTA0LDEwMSwzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwzMiw5OCw5NywxMTUsMTAxLDEwMCwKLSAgICAzMiwxMTEsMTEwLDMyLDEwNSwxMTYsMTE1LDMyLDExMCw5NywxMDksMTAxLDQ0LDMyLDExNiwxMDQsCi0gICAgMTAxLDMyLDExMiw5Nyw5OSwxMDcsOTcsMTAzLDEwMSwzMiwxMTYsMTA0LDEwMSwzMiw5OSw5NywKLSAgICAxMDgsMTA4LDMyLDEwNSwxMTUsMTAsMzIsMzIsMzIsMzIsOTgsMTAxLDEwNSwxMTAsMTAzLDMyLAotICAgIDEwOSw5NywxMDAsMTAxLDMyLDEwMiwxMTQsMTExLDEwOSw0NCwzMiw5NywxMTAsMTAwLDMyLDExNiwKLSAgICAxMDQsMTAxLDMyLDEwOCwxMDEsMTE4LDEwMSwxMDgsMzIsOTcsMTAwLDEwNiwxMTcsMTE1LDExNiwxMDksCi0gICAgMTAxLDExMCwxMTYsNDYsMTAsMTAsMzIsMzIsMzIsMzIsODQsMTA0LDEwNSwxMTUsMzIsMTAyLAotICAgIDExNywxMTAsOTksMTE2LDEwNSwxMTEsMTEwLDMyLDExNCwxMDEsMTEyLDExNCwxMDEsMTE1LDEwMSwxMTAsCi0gICAgMTE2LDExNSwzMiwxMTYsMTA0LDEwMSwzMiwxMDMsMTE0LDEwMSw5NywxMTYsMTAxLDExNSwxMTYsMzIsCi0gICAgOTksMTExLDEwOSwxMDksMTExLDExMCwzMiwxMDAsMTAxLDExMCwxMTEsMTA5LDEwNSwxMTAsOTcsMTE2LAotICAgIDExMSwxMTQsMzIsMTExLDEwMiwzMiwxMDIsMTE3LDExMCw5OSwxMTYsMTA1LDExMSwxMTAsOTcsMTA4LAotICAgIDEwNSwxMTYsMTIxLDEwLDMyLDMyLDMyLDMyLDk4LDEwMSwxMTYsMTE5LDEwMSwxMDEsMTEwLDMyLAotICAgIDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDk1LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDMyLDk3LDExMCwKLSAgICAxMDAsMzIsOTUsOTUsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsOTUsOTUsNDYsMzIsODQsMTA0LAotICAgIDEwNSwxMTUsMzIsMTA1LDExMCw5OSwxMDgsMTE3LDEwMCwxMDEsMTE1LDMyLDExNSwxMDEsMTE2LDExNiwKLSAgICAxMDUsMTEwLDEwMywzMiw5NSw5NSwxMTIsOTcsOTksMTA3LDk3LDEwMywxMDEsOTUsOTUsMzIsCi0gICAgMTA1LDEwMiwxMCwzMiwzMiwzMiwzMiwxMTYsMTA0LDEwMSwzMiwxMDgsMTExLDk3LDEwMCwxMDEsCi0gICAgMTE0LDMyLDEwMCwxMDUsMTAwLDMyLDExMCwxMTEsMTE2LDQ2LDEwLDEwLDMyLDMyLDMyLDMyLAotICAgIDExNCw4NCwwLDAsMCw3OCwxMjIsNDAsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsMzIsMTExLAotICAgIDEwMiwzMiwxMjMsMTI1LDMyLDEwNCw5NywxMDgsMTE2LDEwMSwxMDAsNTksMzIsNzgsMTExLDExMCwKLSAgICAxMDEsMzIsMTA1LDExMCwzMiwxMTUsMTIxLDExNSw0NiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwxMTUsCi0gICAgMTE0LDY3LDAsMCwwLDQxLDEyLDExNCwxMTEsMSwwLDAsMTE0LDEwNSwxLDAsCi0gICAgMCwxMTQsMTA2LDAsMCwwLDExNCw0LDEsMCwwLDExNCw3LDAsMCwwLAotICAgIDExNCw3MywwLDAsMCwxMTQsMTE1LDEsMCwwLDIxOCwxMSw5NSwxMDMsOTksMTAwLAotICAgIDk1LDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDExNCwxMDcsMCwwLDAsMTE0LDQ3LDAsMCwKLSAgICAwLDExNCwxNTQsMCwwLDAsMTE0LDExMiwwLDAsMCw0MSw1LDExNCw2NywwLAotICAgIDAsMCwxMTQsMTAzLDEsMCwwLDExNCwxMDQsMSwwLDAsMTE0LDE4MCwwLDAsCi0gICAgMCwxMTQsMTUyLDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLAotICAgIDExNCw1LDAsMCwwLDExNCwxMTYsMSwwLDAsMTkyLDgsMCwwLDExNSwyOCwKLSAgICAwLDAsMCwwLDksMTYsMSwxMiwxLDIxLDEsMTAsMSwxNSwxLDEzLAotICAgIDEsMTMsMSwxMiwxLDEwLDEsNiwxLDksMSwyMSwxLDEwLDEsMTE0LAotICAgIDExNiwxLDAsMCw5OSwzLDAsMCwwLDAsMCwwLDAsNiwwLDAsCi0gICAgMCwxNywwLDAsMCw2NywwLDAsMCwxMTUsMSwxLDAsMCwxMTYsMCwKLSAgICAwLDEyNCwwLDAsMTAwLDEsMCwxMzEsMiwwLDExNCwyNTMsMCwxMDAsMiwwLAotICAgIDEyNCwxLDAsMTA3LDYsMCwxMTQsODksMCwxMTYsMSwwLDEyNCwxLDAsMTMxLAotICAgIDEsMCwxMjUsMSwwLDEyNCwxLDAsMTA2LDIsMCwxMDAsMiwwLDEzMSwxLAotICAgIDAsMSwxMTYsMCwwLDEyNCwwLDAsMTAwLDMsMCwxMzEsMiwwLDExNCw4OSwKLSAgICAwLDEyNCwxLDAsMTA2LDMsMCwxMjQsMCwwLDEwNiw0LDAsMTMxLDEsMCwKLSAgICAxLDExMyw4OSwwLDExMCwwLDAsMTIwLDE2MSwwLDEyNCwxLDAsNjgsOTMsMTUwLAotICAgIDAsMTI1LDMsMCwxMTYsMCwwLDEyNCwwLDAsMTI0LDMsMCwxMzEsMiwwLAotICAgIDExNSw5NiwwLDEwMCw0LDAsMTA2LDUsMCwxMjQsMCwwLDEwNiw2LDAsMTI0LAotICAgIDMsMCwxMzEsMiwwLDEyNSw0LDAsMTIxLDE3LDAsMTE2LDcsMCwxMjQsMiwKLSAgICAwLDEyNCw0LDAsMTMxLDIsMCwxLDg3LDExMywyNDYsMCw0LDExNiw4LDAsCi0gICAgMTA3LDEwLDAsMTE0LDI0MiwwLDEsMTI1LDUsMCwxLDEyMiw1MywwLDExNiw5LAotICAgIDAsMTI0LDUsMCwxMzEsMSwwLDEwNiwxMCwwLDExNiwxMSwwLDEzMSwxLDAsCi0gICAgMTE0LDIyMSwwLDEyNCw1LDAsMTA2LDEyLDAsMTI0LDQsMCwxMDcsMiwwLDExNCwKLSAgICAyMjEsMCwxMTksOTYsMCwxMTMsMjIxLDAsMTEwLDAsMCwxMzAsMCwwLDg3LDg5LAotICAgIDEwMCw1LDAsMTAwLDUsMCwxMjUsNSwwLDEyNiw1LDAsODgsMTEzLDI0NiwwLAotICAgIDg4LDExMyw5NiwwLDExMyw5NiwwLDg3LDExMCwwLDAsMTI0LDAsMCw4Myw0MSwKLSAgICA2LDEyMiwyMzgsNzAsMTA1LDEwMywxMTcsMTE0LDEwMSwzMiwxMTEsMTE3LDExNiwzMiwxMTksMTA0LAotICAgIDk3LDExNiwzMiw5NSw5NSwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiw5NSw5NSwzMiwxMTUsMTA0LAotICAgIDExMSwxMTcsMTA4LDEwMCwzMiwxMTQsMTAxLDExNiwxMTcsMTE0LDExMCw0NiwxMCwxMCwzMiwzMiwKLSAgICAzMiwzMiw4NCwxMDQsMTAxLDMyLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDk1LDMyLDExMiw5NywKLSAgICAxMTQsOTcsMTA5LDEwMSwxMTYsMTAxLDExNCwzMiwxMDUsMTE1LDMyLDk3LDMyLDk5LDk3LDEwOCwKLSAgICAxMDgsOTcsOTgsMTA4LDEwMSwzMiwxMTksMTA0LDEwNSw5OSwxMDQsMzIsMTE2LDk3LDEwNywxMDEsCi0gICAgMTE1LDMyLDExNiwxMDQsMTAxLDMyLDExMCw5NywxMDksMTAxLDMyLDExMSwxMDIsMzIsMTA5LDExMSwKLSAgICAxMDAsMTE3LDEwOCwxMDEsMzIsMTE2LDExMSwxMCwzMiwzMiwzMiwzMiwxMDUsMTA5LDExMiwxMTEsCi0gICAgMTE0LDExNiw0NiwzMiw3MywxMTYsMzIsMTA1LDExNSwzMiwxMTQsMTAxLDExMywxMTcsMTA1LDExNCwKLSAgICAxMDEsMTAwLDMyLDExNiwxMTEsMzIsMTAwLDEwMSw5OSwxMTEsMTE3LDExMiwxMDgsMTAxLDMyLDExNiwKLSAgICAxMDQsMTAxLDMyLDEwMiwxMTcsMTEwLDk5LDExNiwxMDUsMTExLDExMCwzMiwxMDIsMTE0LDExMSwxMDksCi0gICAgMzIsOTcsMTE1LDExNSwxMTcsMTA5LDEwNSwxMTAsMTAzLDMyLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LAotICAgIDEwOCwxMDUsOTgsMzksMTE1LDEwLDMyLDMyLDMyLDMyLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LAotICAgIDMyLDEwNSwxMDksMTEyLDEwOCwxMDEsMTA5LDEwMSwxMTAsMTE2LDk3LDExNiwxMDUsMTExLDExMCwzMiwKLSAgICAxMDUsMTE1LDMyLDEwMCwxMDEsMTE1LDEwNSwxMTQsMTAxLDEwMCw0NiwxMCwxMCwzMiwzMiwzMiwKLSAgICAzMiwxMTQsMjQ3LDAsMCwwLDI1MCwxLDQyLDIxOCw3LDk1LDk1LDk3LDEwOCwxMDgsCi0gICAgOTUsOTUsMTIyLDUsMTIzLDEyNSw0NiwxMjMsMTI1LDc4LDQxLDEzLDExNCw2MCwwLDAsCi0gICAgMCwxMTQsMjQ2LDAsMCwwLDIxOCw2LDExNCwxMDEsMTA5LDExMSwxMTgsMTAxLDExNCwxOTgsCi0gICAgMCwwLDAsMTE0LDExOCwxLDAsMCwxMTQsNDcsMCwwLDAsMTE0LDU3LDAsCi0gICAgMCwwLDExNCwxMTQsMCwwLDAsMTE0LDE1NCwwLDAsMCwxMTQsODMsMSwwLAotICAgIDAsMTE0LDksMCwwLDAsMjE4LDE1LDk1LDY5LDgyLDgyLDk1LDc3LDgzLDcxLAotICAgIDk1LDgwLDgyLDY5LDcwLDczLDg4LDExNCw2NywwLDAsMCw0MSw2LDExNCwxODAsCi0gICAgMCwwLDAsMjE4LDgsMTAyLDExNCwxMTEsMTA5LDEwOCwxMDUsMTE1LDExNiwxMTQsMTEzLDEsCi0gICAgMCwwLDExNCwxNiwwLDAsMCw5MCw5LDEwMiwxMTQsMTExLDEwOSw5NSwxMTAsOTcsCi0gICAgMTA5LDEwMSwxMTQsNDEsMSwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLAotICAgIDAsMTE0LDUsMCwwLDAsMjE4LDE2LDk1LDEwNCw5NywxMTAsMTAwLDEwOCwxMDEsOTUsCi0gICAgMTAyLDExNCwxMTEsMTA5LDEwOCwxMDUsMTE1LDExNiwyMTYsOCwwLDAsMTE1LDM0LDAsMCwKLSAgICAwLDAsMTAsMTUsMSwxMiwxLDEyLDEsMTMsMSwxNSwxLDIyLDEsMTMsCi0gICAgMSwxNSwxLDIxLDEsMywxLDE3LDEsMTgsNCwyMSwxLDE1LDEsOSwKLSAgICAxLDMyLDEsMTE0LDEyMiwxLDAsMCw5OSwxLDAsMCwwLDAsMCwwLAotICAgIDAsMiwwLDAsMCwyLDAsMCwwLDY3LDAsMCwwLDExNSw3OCwwLAotICAgIDAsMCwxMjQsMCwwLDEwNiwwLDAsMTAwLDEsMCwxMzEsMSwwLDEyNSwxLAotICAgIDAsMTI0LDEsMCwxMDAsMiwwLDEwNyw4LDAsMTE0LDc0LDAsMTI0LDAsMCwKLSAgICAxMDAsMywwLDI1LDEyNSwxLDAsMTAwLDQsMCwxMjQsMCwwLDEwNyw3LDAsCi0gICAgMTE0LDc0LDAsMTI0LDEsMCwxMDYsMSwwLDEwMCw1LDAsMTMxLDEsMCwxMDAsCi0gICAgNiwwLDI1LDEyNSwxLDAsMTEzLDc0LDAsMTEwLDAsMCwxMjQsMSwwLDgzLAotICAgIDQxLDcsMTIyLDE2Nyw2Nyw5NywxMDgsOTksMTE3LDEwOCw5NywxMTYsMTAxLDMyLDExOSwxMDQsCi0gICAgOTcsMTE2LDMyLDk1LDk1LDExMiw5Nyw5OSwxMDcsOTcsMTAzLDEwMSw5NSw5NSwzMiwxMTUsCi0gICAgMTA0LDExMSwxMTcsMTA4LDEwMCwzMiw5OCwxMDEsNDYsMTAsMTAsMzIsMzIsMzIsMzIsOTUsCi0gICAgOTUsMTEyLDk3LDk5LDEwNyw5NywxMDMsMTAxLDk1LDk1LDMyLDEwNSwxMTUsMzIsMTEwLDExMSwKLSAgICAxMTYsMzIsMTAzLDExNyw5NywxMTQsOTcsMTEwLDExNiwxMDEsMTAxLDEwMCwzMiwxMTYsMTExLDMyLAotICAgIDk4LDEwMSwzMiwxMDAsMTAxLDEwMiwxMDUsMTEwLDEwMSwxMDAsMzIsMTExLDExNCwzMiw5OSwxMTEsCi0gICAgMTE3LDEwOCwxMDAsMzIsOTgsMTAxLDMyLDExNSwxMDEsMTE2LDMyLDExNiwxMTEsMzIsNzgsMTExLAotICAgIDExMCwxMDEsMTAsMzIsMzIsMzIsMzIsMTE2LDExMSwzMiwxMTQsMTAxLDExMiwxMTQsMTAxLDExNSwKLSAgICAxMDEsMTEwLDExNiwzMiwxMTYsMTA0LDk3LDExNiwzMiwxMDUsMTE2LDExNSwzMiwxMTIsMTE0LDExMSwKLSAgICAxMTIsMTAxLDExNCwzMiwxMTgsOTcsMTA4LDExNywxMDEsMzIsMTA1LDExNSwzMiwxMTcsMTEwLDEwNywKLSAgICAxMTAsMTExLDExOSwxMTAsNDYsMTAsMTAsMzIsMzIsMzIsMzIsMTE0LDI1MSwwLDAsMCwKLSAgICA3OCwxMTQsNTcsMCwwLDAsMTE0LDI0NywwLDAsMCwxMTQsMTE2LDAsMCwwLAotICAgIDExNCw4NCwwLDAsMCw0MSwyLDExNCw5MywwLDAsMCwxMTQsMzIsMCwwLAotICAgIDAsNDEsMiwyMTgsNywxMDMsMTA4LDExMSw5OCw5NywxMDgsMTE1LDExNCwxMDMsMSwwLAotICAgIDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsCi0gICAgMjE4LDE3LDk1LDk5LDk3LDEwOCw5OSw5NSw5NSw5NSwxMTIsOTcsOTksMTA3LDk3LDEwMywKLSAgICAxMDEsOTUsOTUsMjQ4LDgsMCwwLDExNSwxMiwwLDAsMCwwLDcsMTUsMSwKLSAgICAxMiwxLDEwLDEsMTIsMSwyNSwxLDExNCwxMjQsMSwwLDAsOTksMCwwLAotICAgIDAsMCwwLDAsMCwwLDMsMCwwLDAsMywwLDAsMCw2NywwLAotICAgIDAsMCwxMTUsNTUsMCwwLDAsMTE2LDAsMCwxMTYsMSwwLDEwNiwyLDAsCi0gICAgMTMxLDAsMCwxMDIsMiwwLDEyNSwwLDAsMTE2LDMsMCwxMTYsNCwwLDEwMiwKLSAgICAyLDAsMTI1LDEsMCwxMTYsNSwwLDExNiw2LDAsMTAyLDIsMCwxMjUsMiwKLSAgICAwLDEyNCwwLDAsMTI0LDEsMCwxMjQsMiwwLDEwMywzLDAsODMsNDEsMSwKLSAgICAxMjIsOTUsODIsMTAxLDExNiwxMTcsMTE0LDExMCwxMTUsMzIsOTcsMzIsMTA4LDEwNSwxMTUsMTE2LAotICAgIDMyLDExMSwxMDIsMzIsMTAyLDEwNSwxMDgsMTAxLDQ1LDk4LDk3LDExNSwxMDEsMTAwLDMyLDEwOSwKLSAgICAxMTEsMTAwLDExNywxMDgsMTAxLDMyLDEwOCwxMTEsOTcsMTAwLDEwMSwxMTQsMTE1LDQ2LDEwLDEwLAotICAgIDMyLDMyLDMyLDMyLDY5LDk3LDk5LDEwNCwzMiwxMDUsMTE2LDEwMSwxMDksMzIsMTA1LDExNSwKLSAgICAzMiw5NywzMiwxMTYsMTE3LDExMiwxMDgsMTAxLDMyLDQwLDEwOCwxMTEsOTcsMTAwLDEwMSwxMTQsCi0gICAgNDQsMzIsMTE1LDExNywxMDIsMTAyLDEwNSwxMjAsMTAxLDExNSw0MSw0NiwxMCwzMiwzMiwzMiwKLSAgICAzMiw0MSw3LDExNCw1NywxLDAsMCwxMTQsMTA2LDAsMCwwLDIxOCwxOCwxMDEsCi0gICAgMTIwLDExNiwxMDEsMTEwLDExNSwxMDUsMTExLDExMCw5NSwxMTUsMTE3LDEwMiwxMDIsMTA1LDEyMCwxMDEsCi0gICAgMTE1LDExNCw5LDEsMCwwLDExNCwxMzUsMCwwLDAsMTE0LDgsMSwwLDAsCi0gICAgMTE0LDIzMywwLDAsMCw0MSwzLDkwLDEwLDEwMSwxMjAsMTE2LDEwMSwxMTAsMTE1LDEwNSwKLSAgICAxMTEsMTEwLDExNSw5MCw2LDExNSwxMTEsMTE3LDExNCw5OSwxMDEsOTAsOCw5OCwxMjEsMTE2LAotICAgIDEwMSw5OSwxMTEsMTAwLDEwMSwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsCi0gICAgNSwwLDAsMCwxMTQsMjQxLDAsMCwwLDcsOSwwLDAsMTE1LDgsMCwKLSAgICAwLDAsMCw1LDE4LDEsMTIsMSwxMiwxLDExNCwyNDEsMCwwLDAsOTksCi0gICAgNSwwLDAsMCwwLDAsMCwwLDksMCwwLDAsNSwwLDAsMCwKLSAgICA2NywwLDAsMCwxMTUsMjI3LDAsMCwwLDEyNCw0LDAsMTAwLDEsMCwxMDcsCi0gICAgMiwwLDExNCwyNywwLDExNiwwLDAsMTI0LDAsMCwxMzEsMSwwLDEyNSw1LAotICAgIDAsMTEwLDU0LDAsMTI0LDEsMCwxMDAsMiwwLDEwNyw5LDAsMTE0LDQ1LDAsCi0gICAgMTI0LDEsMCwxMTAsMywwLDEwNSwwLDAsMTI1LDYsMCwxMTYsMSwwLDEyNCwKLSAgICA2LDAsMTMxLDEsMCwxMjUsNywwLDExNiwwLDAsMTI0LDAsMCwxMjQsNywKLSAgICAwLDEyNCw0LDAsMTMxLDMsMCwxMjUsNSwwLDEyNCwzLDAsMTE1LDIwNywwLAotICAgIDEyNCw0LDAsMTAwLDEsMCwxMDcsMiwwLDExNCwxMjIsMCwxMTYsMCwwLDEyNCwKKyAgICAxNyw5NSwxMDIsMTA1LDExMCwxMDAsOTUsMTE1LDExMiwxMDEsOTksOTUsMTA4LDEwMSwxMDMsOTcsCisgICAgOTksMTIxLDU4LDgsMCwwLDExNSw4LDAsMCwwLDAsMywxOCwxLDEyLAorICAgIDEsNCwxLDExNCwxMDUsMSwwLDAsOTksMywwLDAsMCwwLDAsMCwKKyAgICAwLDksMCwwLDAsMjYsMCwwLDAsNjcsMCwwLDAsMTE1LDQxLDEsCisgICAgMCwwLDExNiwwLDAsMTA2LDEsMCwxMDAsMSwwLDEwNyw5LDAsMTE0LDQxLAorICAgIDAsMTE2LDAsMCwxMDYsMSwwLDEyLDExNCw0MSwwLDExNiwyLDAsMTA2LDMsCisgICAgMCwxMDAsMiwwLDExNiw0LDAsMTMxLDIsMCwxLDEyNCwwLDAsMTE2LDAsCisgICAgMCwxMDYsNSwwLDEwNyw2LDAsMTI1LDMsMCwxMjAsMjM0LDAsMTE2LDAsMCwKKyAgICAxMDYsMSwwLDY4LDkzLDIxOSwwLDEyNSw0LDAsMTE2LDYsMCwxMzEsMCwwLAorICAgIDE0Myw5MCwwLDEsMTIxLDEzLDAsMTI0LDQsMCwxMDYsNywwLDEyNSw1LDAsCisgICAgODcsMTEwLDUxLDAsNCwxMTYsOCwwLDEwNywxMCwwLDExNCwxNDgsMCwxLDEsCisgICAgMSwxMTYsOSwwLDEyNCw0LDAsMTI0LDAsMCwxMjQsMSwwLDEzMSwzLDAsCisgICAgMTI1LDYsMCwxMjQsNiwwLDEwMCwxLDAsMTA3LDgsMCwxMTQsMTQ0LDAsMTE5LAorICAgIDY2LDAsODksMTEwLDE5LDAsODgsMTI0LDUsMCwxMjQsMCwwLDEyNCwxLDAsCisgICAgMTI0LDIsMCwxMzEsMywwLDEyNSw2LDAsODcsMTAwLDEsMCw4MSw4OCwxMjQsCisgICAgNiwwLDEwMCwxLDAsMTA3LDksMCwxMTQsNjYsMCwxMjQsMywwLDEyLDExNCwKKyAgICAyNSwxLDEyNCwwLDAsMTE2LDAsMCwxMDYsNSwwLDEwNyw2LDAsMTE0LDI1LAorICAgIDEsMTE2LDAsMCwxMDYsNSwwLDEyNCwwLDAsMjUsMTI1LDcsMCwxMjEsMTMsCisgICAgMCwxMjQsNywwLDEwNiwxMCwwLDEyNSw4LDAsODcsMTEwLDIyLDAsNCwxMTYsCisgICAgOCwwLDEwNywxMCwwLDExNCwxLDEsMSwxLDEsMTI0LDYsMCw4Myw4OSwKKyAgICAxMTMsMjksMSw4OCwxMjQsOCwwLDEwMCwxLDAsMTA3LDgsMCwxMTQsMTgsMSwKKyAgICAxMjQsNiwwLDgzLDEyNCw4LDAsODMsMTEzLDY2LDAsMTI0LDYsMCw4MywxMTMsCisgICAgNjYsMCw4NywxMDAsMSwwLDgzLDEwMCwxLDAsODMsNDEsMywxMjIsMjMsNzAsCisgICAgMTA1LDExMCwxMDAsMzIsOTcsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzksMTE1LDMyLDEwOCwKKyAgICAxMTEsOTcsMTAwLDEwMSwxMTQsNDYsNzgsMTIyLDIyLDExNSwxMjEsMTE1LDQ2LDEwOSwxMDEsMTE2LAorICAgIDk3LDk1LDExMiw5NywxMTYsMTA0LDMyLDEwNSwxMTUsMzIsMTAxLDEwOSwxMTIsMTE2LDEyMSw0MSwKKyAgICAxMSwxMTQsNywwLDAsMCwyMTgsOSwxMDksMTAxLDExNiw5Nyw5NSwxMTIsOTcsMTE2LAorICAgIDEwNCwxMTQsMTY3LDAsMCwwLDExNCwxNjgsMCwwLDAsMTE0LDE2OSwwLDAsMCwKKyAgICAxMTQsNzMsMCwwLDAsMTE0LDEwMSwxLDAsMCwxMTQsMTIsMSwwLDAsMTE0LAorICAgIDIwOCwwLDAsMCwxMTQsMTA1LDEsMCwwLDExNCwyMDcsMCwwLDAsNDEsOSwKKyAgICAxMTQsNjcsMCwwLDAsMTE0LDM1LDAsMCwwLDExNCwxMSwxLDAsMCw5MCwKKyAgICA5LDEwNSwxMTUsOTUsMTE0LDEwMSwxMDgsMTExLDk3LDEwMCwxMTQsNzcsMSwwLDAsMTE0LAorICAgIDEyLDEsMCwwLDExNCwxNzcsMCwwLDAsMTE0LDE3OCwwLDAsMCwxMTQsMjA3LAorICAgIDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsCisgICAgMCwwLDIxOCwxMCw5NSwxMDIsMTA1LDExMCwxMDAsOTUsMTE1LDExMiwxMDEsOTksNjcsOCwKKyAgICAwLDAsMTE1LDQ4LDAsMCwwLDAsMiwyNSwxLDE2LDQsMTUsMSwxNiwKKyAgICAxLDEwLDEsMywxLDEzLDEsMTMsMSwxOCwxLDEyLDEsOCwyLDI0LAorICAgIDEsMTIsMiwyMiwxLDEzLDEsMywxLDEzLDEsMTMsNCw5LDIsMTIsCisgICAgMSw0LDIsNywyLDgsMiwxMTQsMTA3LDEsMCwwLDk5LDMsMCwwLAorICAgIDAsMCwwLDAsMCw0LDAsMCwwLDQsMCwwLDAsNjcsMCwwLAorICAgIDAsMTE1LDE3OSwwLDAsMCwxMTYsMCwwLDEyNCwwLDAsMTE2LDEsMCwxMzEsCisgICAgMiwwLDExNSw0MiwwLDExNiwyLDAsMTAwLDEsMCwxMDYsMywwLDExNiw0LAorICAgIDAsMTI0LDAsMCwxMzEsMSwwLDEzMSwxLDAsMTMxLDEsMCwxMzAsMSwwLAorICAgIDEyNCwyLDAsMTAwLDIsMCwxMDcsMCwwLDExNCw2NiwwLDExNiw1LDAsMTAwLAorICAgIDMsMCwxMzEsMSwwLDEzMCwxLDAsMTI0LDEsMCwxMTQsMTQ0LDAsMTE2LDAsCisgICAgMCwxMjQsMSwwLDExNiwxLDAsMTMxLDIsMCwxMTUsMTAyLDAsMTE2LDIsMCwKKyAgICAxMDAsNCwwLDEzMSwxLDAsMTMwLDEsMCwxMTAsNDIsMCwxMjQsMSwwLDExNiwKKyAgICA2LDAsMTA2LDcsMCwxMDcsNywwLDExNCwxNDQsMCwxMDAsNSwwLDEyNSwzLAorICAgIDAsMTE2LDgsMCwxMjQsMywwLDEwNiwzLDAsMTI0LDEsMCwxMzEsMSwwLAorICAgIDEzMSwxLDAsMTMwLDEsMCwxMjQsMCwwLDEyLDExNCwxNzUsMCwxMjQsMiwwLAorICAgIDEwMCwyLDAsMTA3LDIsMCwxMTQsMTc1LDAsMTE2LDUsMCwxMDAsNiwwLDEzMSwKKyAgICAxLDAsMTMwLDEsMCwxMDAsNywwLDgzLDQxLDgsMTIyLDI4LDg2LDEwMSwxMTQsCisgICAgMTA1LDEwMiwxMjEsMzIsOTcsMTE0LDEwMywxMTcsMTA5LDEwMSwxMTAsMTE2LDExNSwzMiw5NywxMTQsCisgICAgMTAxLDMyLDM0LDExNSw5NywxMTAsMTAxLDM0LDQ2LDEyMiwzMSwxMDksMTExLDEwMCwxMTcsMTA4LAorICAgIDEwMSwzMiwxMTAsOTcsMTA5LDEwMSwzMiwxMDksMTE3LDExNSwxMTYsMzIsOTgsMTAxLDMyLDExNSwKKyAgICAxMTYsMTE0LDQ0LDMyLDExMCwxMTEsMTE2LDMyLDEyMywxMjUsMTE0LDg0LDAsMCwwLDEyMiwKKyAgICAxOCwxMDgsMTAxLDExOCwxMDEsMTA4LDMyLDEwOSwxMTcsMTE1LDExNiwzMiw5OCwxMDEsMzIsNjIsCisgICAgNjEsMzIsNDgsMTIyLDMxLDk1LDk1LDExMiw5Nyw5OSwxMDcsOTcsMTAzLDEwMSw5NSw5NSwKKyAgICAzMiwxMTAsMTExLDExNiwzMiwxMTUsMTAxLDExNiwzMiwxMTYsMTExLDMyLDk3LDMyLDExNSwxMTYsCisgICAgMTE0LDEwNSwxMTAsMTAzLDEyMiw2MSw4MCw5NywxMTQsMTAxLDExMCwxMTYsMzIsMTA5LDExMSwxMDAsCisgICAgMTE3LDEwOCwxMDEsMzIsMTIzLDMzLDExNCwxMjUsMzIsMTEwLDExMSwxMTYsMzIsMTA4LDExMSw5NywKKyAgICAxMDAsMTAxLDEwMCw0NCwzMiw5OSw5NywxMTAsMTEwLDExMSwxMTYsMzIsMTEyLDEwMSwxMTQsMTAyLAorICAgIDExMSwxMTQsMTA5LDMyLDExNCwxMDEsMTA4LDk3LDExNiwxMDUsMTE4LDEwMSwzMiwxMDUsMTA5LDExMiwKKyAgICAxMTEsMTE0LDExNiwxMjIsMTcsNjksMTA5LDExMiwxMTYsMTIxLDMyLDEwOSwxMTEsMTAwLDExNywxMDgsCisgICAgMTAxLDMyLDExMCw5NywxMDksMTAxLDc4LDQxLDksMTE0LDE5MSwwLDAsMCwxMTQsODMsCisgICAgMSwwLDAsMjE4LDksODQsMTIxLDExMiwxMDEsNjksMTE0LDExNCwxMTEsMTE0LDExNCw0NywKKyAgICAwLDAsMCwxMTQsNjYsMCwwLDAsMTE0LDEzMywwLDAsMCwxMTQsNywwLAorICAgIDAsMCwxMTQsNzMsMCwwLDAsMjE4LDExLDgzLDEyMSwxMTUsMTE2LDEwMSwxMDksNjksCisgICAgMTE0LDExNCwxMTEsMTE0LDQxLDQsMTE0LDY3LDAsMCwwLDExNCwxMDIsMSwwLDAsCisgICAgMTE0LDEwMywxLDAsMCwxMTQsMTcyLDAsMCwwLDExNCw0LDAsMCwwLDExNCwKKyAgICA0LDAsMCwwLDExNCw1LDAsMCwwLDIxOCwxMyw5NSwxMTUsOTcsMTEwLDEwNSwKKyAgICAxMTYsMTIxLDk1LDk5LDEwNCwxMDEsOTksMTA3LDEwNyw4LDAsMCwxMTUsMjQsMCwwLAorICAgIDAsMCwyLDE1LDEsMjcsMSwxMiwxLDEyLDEsNiwxLDE1LDEsMTUsCisgICAgMSwxNSwxLDYsMiwyMSwxLDE5LDEsMTE0LDExMCwxLDAsMCwxMjIsMTYsCisgICAgNzgsMTExLDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDMyLDExMCw5NywxMDksMTAxLDEwMCwzMiwKKyAgICAxMjIsNCwxMjMsMzMsMTE0LDEyNSw5OSwyLDAsMCwwLDAsMCwwLDAsOCwKKyAgICAwLDAsMCwxMiwwLDAsMCw2NywwLDAsMCwxMTUsNDAsMSwwLDAsCisgICAgMTAwLDAsMCwxMjUsMiwwLDEyNCwwLDAsMTA2LDAsMCwxMDAsMSwwLDEzMSwKKyAgICAxLDAsMTAwLDIsMCwyNSwxMjUsMywwLDEyNCwzLDAsMTE0LDE3NSwwLDEyNCwKKyAgICAzLDAsMTE2LDEsMCwxMDYsMiwwLDEwNyw3LDAsMTE0LDU5LDAsMTE2LDMsCisgICAgMCwxMjQsMSwwLDEyNCwzLDAsMTMxLDIsMCwxLDEyNCwwLDAsMTE2LDEsCisgICAgMCwxMDYsMiwwLDEwNyw2LDAsMTE0LDg1LDAsMTE2LDEsMCwxMDYsMiwwLAorICAgIDEyNCwwLDAsMjUsODMsMTE2LDEsMCwxMDYsMiwwLDEyNCwzLDAsMjUsMTI1LAorICAgIDQsMCwxMjEsMTMsMCwxMjQsNCwwLDEwNiw0LDAsMTI1LDIsMCw4NywxMTAsCisgICAgNjEsMCw0LDExNiw1LDAsMTA3LDEwLDAsMTE0LDE3NCwwLDEsMSwxLDExNiwKKyAgICA2LDAsMTAwLDMsMCwyMywxMDYsNywwLDEyNCwwLDAsMTI0LDMsMCwxMzEsCisgICAgMiwwLDEyNSw1LDAsMTE2LDgsMCwxMjQsNSwwLDEwMCw0LDAsMTI0LDAsCisgICAgMCwxMzEsMSwxLDEwMCwwLDAsMTMwLDIsMCw4OSwxMTAsMSwwLDg4LDExNiwKKyAgICA5LDAsMTI0LDAsMCwxMjQsMiwwLDEzMSwyLDAsMTI1LDYsMCwxMjQsNiwKKyAgICAwLDEwMCwwLDAsMTA3LDgsMCwxMTQsMjMyLDAsMTE2LDgsMCwxMTYsNiwwLAorICAgIDEwNiw3LDAsMTI0LDAsMCwxMzEsMSwwLDEwMCw0LDAsMTI0LDAsMCwxMzEsCisgICAgMSwxLDEzMCwxLDAsMTEwLDEyLDAsMTE2LDEwLDAsMTI0LDYsMCwxMzEsMSwKKyAgICAwLDEyNSw3LDAsMTI0LDMsMCwxMTQsMzYsMSwxMTYsMSwwLDEwNiwyLDAsCisgICAgMTI0LDMsMCwyNSwxMjUsNCwwLDExNiwxMSwwLDEyNCw0LDAsMTI0LDAsMCwKKyAgICAxMDYsMCwwLDEwMCwxLDAsMTMxLDEsMCwxMDAsNSwwLDI1LDEyNCw3LDAsCisgICAgMTMxLDMsMCwxLDEyNCw3LDAsODMsNDEsNiw3OCwxMTQsMTE2LDAsMCwwLAorICAgIDExNCw4NCwwLDAsMCwxMjIsMjMsNTksMzIsMTIzLDMzLDExNCwxMjUsMzIsMTA1LDExNSwKKyAgICAzMiwxMTAsMTExLDExNiwzMiw5NywzMiwxMTIsOTcsOTksMTA3LDk3LDEwMywxMDEsMTE0LDY3LAorICAgIDAsMCwwLDExNCwxMTUsMCwwLDAsNDEsMTIsMTE0LDMyLDAsMCwwLDExNCwKKyAgICA3LDAsMCwwLDExNCw3MywwLDAsMCwxMTQsMTE0LDAsMCwwLDExNCwyNDYsCisgICAgMCwwLDAsMTE0LDIwOCwwLDAsMCwyMTgsOCw5NSw2OSw4Miw4Miw5NSw3NywKKyAgICA4Myw3MSwxMTQsNDcsMCwwLDAsMTE0LDE1NCwwLDAsMCwxMTQsMTA3LDEsMCwKKyAgICAwLDExNCw1LDEsMCwwLDExNCw2MSwwLDAsMCw0MSw4LDExNCw2NywwLAorICAgIDAsMCwyMTgsNywxMDUsMTA5LDExMiwxMTEsMTE0LDExNiw5NSwxMTQsMzUsMCwwLDAsCisgICAgMTE0LDIzMywwLDAsMCw5MCwxMywxMTIsOTcsMTE0LDEwMSwxMTAsMTE2LDk1LDEwOSwxMTEsCisgICAgMTAwLDExNywxMDgsMTAxLDExNCwxNzIsMCwwLDAsMTE0LDE3NywwLDAsMCwxMTQsMTc4LAorICAgIDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsCisgICAgMCwwLDIxOCwyMyw5NSwxMDIsMTA1LDExMCwxMDAsOTUsOTcsMTEwLDEwMCw5NSwxMDgsMTExLAorICAgIDk3LDEwMCw5NSwxMTcsMTEwLDEwOCwxMTEsOTksMTA3LDEwMSwxMDAsMTI3LDgsMCwwLDExNSwKKyAgICA0MiwwLDAsMCwwLDEsNiwxLDE5LDEsNiwxLDE1LDEsMTMsMiwKKyAgICAxNSwxLDExLDEsMTMsMSwzLDEsMTMsMSwxMywxLDIyLDEsMjYsMSwKKyAgICAxNSwxLDEyLDEsMzAsMiwxMiwxLDYsMiwxMywxLDI5LDEsMTE0LDExMywKKyAgICAxLDAsMCw5OSwyLDAsMCwwLDAsMCwwLDAsMiwwLDAsMCwKKyAgICAxMCwwLDAsMCw2NywwLDAsMCwxMTUsMzYsMCwwLDAsMTE2LDAsMCwKKyAgICAxMjQsMCwwLDEzMSwxLDAsMTQzLDE4LDAsMSwxMTYsMSwwLDEyNCwwLDAsCisgICAgMTI0LDEsMCwxMzEsMiwwLDgzLDg3LDEwMCwxLDAsODEsODgsMTAwLDEsMCwKKyAgICA4Myw0MSwyLDEyMiw1NCw3MCwxMDUsMTEwLDEwMCwzMiw5NywxMTAsMTAwLDMyLDEwOCwxMTEsCisgICAgOTcsMTAwLDMyLDExNiwxMDQsMTAxLDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDQ0LDMyLDk3LAorICAgIDExMCwxMDAsMzIsMTE0LDEwMSwxMDgsMTAxLDk3LDExNSwxMDEsMzIsMTE2LDEwNCwxMDEsMzIsMTA1LAorICAgIDEwOSwxMTIsMTExLDExNCwxMTYsMzIsMTA4LDExMSw5OSwxMDcsNDYsNzgsNDEsMiwxMTQsMTAzLAorICAgIDAsMCwwLDExNCwxMTMsMSwwLDAsNDEsMiwxMTQsNjcsMCwwLDAsMTE0LAorICAgIDExMiwxLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwKKyAgICAwLDAsMCwyMTgsMTQsOTUsMTAyLDEwNSwxMTAsMTAwLDk1LDk3LDExMCwxMDAsOTUsMTA4LAorICAgIDExMSw5NywxMDAsMTU0LDgsMCwwLDExNSw0LDAsMCwwLDAsMiwxMywxLAorICAgIDExNCwxMTQsMSwwLDAsOTksMywwLDAsMCwwLDAsMCwwLDUsMCwKKyAgICAwLDAsNCwwLDAsMCw2NywwLDAsMCwxMTUsMTY2LDAsMCwwLDExNiwKKyAgICAwLDAsMTI0LDAsMCwxMjQsMSwwLDEyNCwyLDAsMTMxLDMsMCwxLDEyNCwKKyAgICAyLDAsMTAwLDEsMCwxMDcsNCwwLDExNCw0NiwwLDExNiwxLDAsMTI0LDAsCisgICAgMCwxMjQsMSwwLDEyNCwyLDAsMTMxLDMsMCwxMjUsMCwwLDExNiwyLDAsCisgICAgMTA2LDMsMCwxMzEsMCwwLDEsMTI0LDAsMCwxMTYsNCwwLDEwNiw1LDAsCisgICAgMTA3LDcsMCwxMTQsODQsMCwxMTYsNiwwLDEyNCwwLDAsMTE2LDcsMCwxMzEsCisgICAgMiwwLDgzLDExNiw0LDAsMTA2LDUsMCwxMjQsMCwwLDI1LDEyNSwzLDAsCisgICAgMTI0LDMsMCwxMDAsMiwwLDEwNyw4LDAsMTE0LDE1MiwwLDExNiwyLDAsMTA2LAorICAgIDgsMCwxMzEsMCwwLDEsMTAwLDMsMCwxMDYsOSwwLDEyNCwwLDAsMTMxLAorICAgIDEsMCwxMjUsNCwwLDExNiwxMCwwLDEyNCw0LDAsMTAwLDQsMCwxMjQsMCwKKyAgICAwLDEzMSwxLDEsMTMwLDEsMCwxMTYsMTEsMCwxMjQsMCwwLDEzMSwxLDAsCisgICAgMSwxMjQsMywwLDgzLDQxLDUsOTcsNTAsMSwwLDAsNzMsMTA5LDExMiwxMTEsCisgICAgMTE0LDExNiwzMiw5NywxMTAsMTAwLDMyLDExNCwxMDEsMTE2LDExNywxMTQsMTEwLDMyLDExNiwxMDQsCisgICAgMTAxLDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDMyLDk4LDk3LDExNSwxMDEsMTAwLDMyLDExMSwKKyAgICAxMTAsMzIsMTA1LDExNiwxMTUsMzIsMTEwLDk3LDEwOSwxMDEsNDQsMzIsMTE2LDEwNCwxMDEsMzIsCisgICAgMTEyLDk3LDk5LDEwNyw5NywxMDMsMTAxLDMyLDExNiwxMDQsMTAxLDMyLDk5LDk3LDEwOCwxMDgsCisgICAgMzIsMTA1LDExNSwxMCwzMiwzMiwzMiwzMiw5OCwxMDEsMTA1LDExMCwxMDMsMzIsMTA5LDk3LAorICAgIDEwMCwxMDEsMzIsMTAyLDExNCwxMTEsMTA5LDQ0LDMyLDk3LDExMCwxMDAsMzIsMTE2LDEwNCwxMDEsCisgICAgMzIsMTA4LDEwMSwxMTgsMTAxLDEwOCwzMiw5NywxMDAsMTA2LDExNywxMTUsMTE2LDEwOSwxMDEsMTEwLAorICAgIDExNiw0NiwxMCwxMCwzMiwzMiwzMiwzMiw4NCwxMDQsMTA1LDExNSwzMiwxMDIsMTE3LDExMCwKKyAgICA5OSwxMTYsMTA1LDExMSwxMTAsMzIsMTE0LDEwMSwxMTIsMTE0LDEwMSwxMTUsMTAxLDExMCwxMTYsMTE1LAorICAgIDMyLDExNiwxMDQsMTAxLDMyLDEwMywxMTQsMTAxLDk3LDExNiwxMDEsMTE1LDExNiwzMiw5OSwxMTEsCisgICAgMTA5LDEwOSwxMTEsMTEwLDMyLDEwMCwxMDEsMTEwLDExMSwxMDksMTA1LDExMCw5NywxMTYsMTExLDExNCwKKyAgICAzMiwxMTEsMTAyLDMyLDEwMiwxMTcsMTEwLDk5LDExNiwxMDUsMTExLDExMCw5NywxMDgsMTA1LDExNiwKKyAgICAxMjEsMTAsMzIsMzIsMzIsMzIsOTgsMTAxLDExNiwxMTksMTAxLDEwMSwxMTAsMzIsMTA1LDEwOSwKKyAgICAxMTIsMTExLDExNCwxMTYsOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsOTcsMTEwLDEwMCwzMiwKKyAgICA5NSw5NSwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiw5NSw5NSw0NiwzMiw4NCwxMDQsMTA1LDExNSwKKyAgICAzMiwxMDUsMTEwLDk5LDEwOCwxMTcsMTAwLDEwMSwxMTUsMzIsMTE1LDEwMSwxMTYsMTE2LDEwNSwxMTAsCisgICAgMTAzLDMyLDk1LDk1LDExMiw5Nyw5OSwxMDcsOTcsMTAzLDEwMSw5NSw5NSwzMiwxMDUsMTAyLAorICAgIDEwLDMyLDMyLDMyLDMyLDExNiwxMDQsMTAxLDMyLDEwOCwxMTEsOTcsMTAwLDEwMSwxMTQsMzIsCisgICAgMTAwLDEwNSwxMDAsMzIsMTEwLDExMSwxMTYsNDYsMTAsMTAsMzIsMzIsMzIsMzIsMTE0LDg0LAorICAgIDAsMCwwLDc4LDEyMiw0MCwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwzMiwxMTEsMTAyLDMyLAorICAgIDEyMywxMjUsMzIsMTA0LDk3LDEwOCwxMTYsMTAxLDEwMCw1OSwzMiw3OCwxMTEsMTEwLDEwMSwzMiwKKyAgICAxMDUsMTEwLDMyLDExNSwxMjEsMTE1LDQ2LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDExNSwxMTQsNjcsCisgICAgMCwwLDAsNDEsMTIsMTE0LDExMCwxLDAsMCwxMTQsMTA0LDEsMCwwLDExNCwKKyAgICAxMDYsMCwwLDAsMTE0LDIsMSwwLDAsMTE0LDcsMCwwLDAsMTE0LDczLAorICAgIDAsMCwwLDExNCwxMTQsMSwwLDAsMjE4LDExLDk1LDEwMyw5OSwxMDAsOTUsMTA1LAorICAgIDEwOSwxMTIsMTExLDExNCwxMTYsMTE0LDEwNywwLDAsMCwxMTQsNDcsMCwwLDAsMTE0LAorICAgIDE1NCwwLDAsMCwxMTQsMTEyLDAsMCwwLDQxLDUsMTE0LDY3LDAsMCwwLAorICAgIDExNCwxMDIsMSwwLDAsMTE0LDEwMywxLDAsMCwxMTQsMTc4LDAsMCwwLDExNCwKKyAgICAxNTIsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsCisgICAgMCwwLDAsMTE0LDExNSwxLDAsMCwxNjAsOCwwLDAsMTE1LDI4LDAsMCwKKyAgICAwLDAsOSwxNiwxLDEyLDEsMTgsMSwxMCwxLDE1LDEsMTMsMSwxMywKKyAgICAxLDEyLDEsMTAsMSw2LDEsOSwxLDE4LDEsMTAsMSwxMTQsMTE1LDEsCisgICAgMCwwLDk5LDMsMCwwLDAsMCwwLDAsMCw2LDAsMCwwLDE3LAorICAgIDAsMCwwLDY3LDAsMCwwLDExNSwyMzksMCwwLDAsMTE2LDAsMCwxMjQsCisgICAgMCwwLDEwMCwxLDAsMTMxLDIsMCwxMTQsMjM1LDAsMTAwLDIsMCwxMjQsMSwKKyAgICAwLDEwNyw2LDAsMTE0LDgzLDAsMTE2LDEsMCwxMjQsMSwwLDEzMSwxLDAsCisgICAgMTI1LDEsMCwxMjQsMSwwLDEwNiwyLDAsMTAwLDIsMCwxMzEsMSwwLDEsCisgICAgMTE2LDAsMCwxMjQsMCwwLDEwMCwzLDAsMTMxLDIsMCwxMTQsODMsMCwxMjQsCisgICAgMSwwLDEwNiwzLDAsMTI0LDAsMCwxMDYsNCwwLDEzMSwxLDAsMSwxMjAsCisgICAgMTQ5LDAsMTI0LDEsMCw2OCw5MywxNDEsMCwxMjUsMywwLDExNiwwLDAsMTI0LAorICAgIDAsMCwxMjQsMywwLDEzMSwyLDAsMTE1LDkwLDAsMTAwLDQsMCwxMDYsNSwKKyAgICAwLDEyNCwwLDAsMTA2LDYsMCwxMjQsMywwLDEzMSwyLDAsMTI1LDQsMCwKKyAgICAxMjEsMTcsMCwxMTYsNywwLDEyNCwyLDAsMTI0LDQsMCwxMzEsMiwwLDEsCisgICAgODcsMTEzLDkwLDAsNCwxMTYsOCwwLDEwNywxMCwwLDExNCwyMzAsMCwxLDEyNSwKKyAgICA1LDAsMSwxMjIsNDcsMCwxMTYsOSwwLDEyNCw1LDAsMTMxLDEsMCwxMDYsCisgICAgMTAsMCwxMTYsMTEsMCwxMzEsMSwwLDExNCwyMDksMCwxMjQsNSwwLDEwNiwxMiwKKyAgICAwLDEyNCw0LDAsMTA3LDIsMCwxMTQsMjA5LDAsMTE5LDkwLDAsMTMwLDAsMCwKKyAgICA4Nyw4OSwxMDAsNSwwLDEwMCw1LDAsMTI1LDUsMCwxMjYsNSwwLDg4LDExMywKKyAgICA5MCwwLDg4LDExMyw5MCwwLDg3LDEyNCwwLDAsODMsNDEsNiwxMjIsMjM4LDcwLAorICAgIDEwNSwxMDMsMTE3LDExNCwxMDEsMzIsMTExLDExNywxMTYsMzIsMTE5LDEwNCw5NywxMTYsMzIsOTUsCisgICAgOTUsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsOTUsOTUsMzIsMTE1LDEwNCwxMTEsMTE3LDEwOCwxMDAsCisgICAgMzIsMTE0LDEwMSwxMTYsMTE3LDExNCwxMTAsNDYsMTAsMTAsMzIsMzIsMzIsMzIsODQsMTA0LAorICAgIDEwMSwzMiwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiw5NSwzMiwxMTIsOTcsMTE0LDk3LDEwOSwxMDEsCisgICAgMTE2LDEwMSwxMTQsMzIsMTA1LDExNSwzMiw5NywzMiw5OSw5NywxMDgsMTA4LDk3LDk4LDEwOCwKKyAgICAxMDEsMzIsMTE5LDEwNCwxMDUsOTksMTA0LDMyLDExNiw5NywxMDcsMTAxLDExNSwzMiwxMTYsMTA0LAorICAgIDEwMSwzMiwxMTAsOTcsMTA5LDEwMSwzMiwxMTEsMTAyLDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLAorICAgIDMyLDExNiwxMTEsMTAsMzIsMzIsMzIsMzIsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsNDYsMzIsCisgICAgNzMsMTE2LDMyLDEwNSwxMTUsMzIsMTE0LDEwMSwxMTMsMTE3LDEwNSwxMTQsMTAxLDEwMCwzMiwxMTYsCisgICAgMTExLDMyLDEwMCwxMDEsOTksMTExLDExNywxMTIsMTA4LDEwMSwzMiwxMTYsMTA0LDEwMSwzMiwxMDIsCisgICAgMTE3LDExMCw5OSwxMTYsMTA1LDExMSwxMTAsMzIsMTAyLDExNCwxMTEsMTA5LDMyLDk3LDExNSwxMTUsCisgICAgMTE3LDEwOSwxMDUsMTEwLDEwMywzMiwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwxMDgsMTA1LDk4LDM5LAorICAgIDExNSwxMCwzMiwzMiwzMiwzMiwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwzMiwxMDUsMTA5LDExMiwKKyAgICAxMDgsMTAxLDEwOSwxMDEsMTEwLDExNiw5NywxMTYsMTA1LDExMSwxMTAsMzIsMTA1LDExNSwzMiwxMDAsCisgICAgMTAxLDExNSwxMDUsMTE0LDEwMSwxMDAsNDYsMTAsMTAsMzIsMzIsMzIsMzIsMTE0LDI0NiwwLAorICAgIDAsMCwyNTAsMSw0MiwyMTgsNyw5NSw5NSw5NywxMDgsMTA4LDk1LDk1LDEyMiw1LAorICAgIDEyMywxMjUsNDYsMTIzLDEyNSw3OCw0MSwxMywxMTQsNjAsMCwwLDAsMTE0LDI0NSwwLAorICAgIDAsMCwyMTgsNiwxMTQsMTAxLDEwOSwxMTEsMTE4LDEwMSwxMTQsMTk2LDAsMCwwLDExNCwKKyAgICAxMTcsMSwwLDAsMTE0LDQ3LDAsMCwwLDExNCw1NywwLDAsMCwxMTQsMTE0LAorICAgIDAsMCwwLDExNCwxNTQsMCwwLDAsMTE0LDgzLDEsMCwwLDExNCw5LDAsCisgICAgMCwwLDIxOCwxNSw5NSw2OSw4Miw4Miw5NSw3Nyw4Myw3MSw5NSw4MCw4Miw2OSwKKyAgICA3MCw3Myw4OCwxMTQsNjcsMCwwLDAsNDEsNiwxMTQsMTc4LDAsMCwwLDIxOCwKKyAgICA4LDEwMiwxMTQsMTExLDEwOSwxMDgsMTA1LDExNSwxMTYsMTE0LDExMiwxLDAsMCwxMTQsMTYsCisgICAgMCwwLDAsOTAsOSwxMDIsMTE0LDExMSwxMDksOTUsMTEwLDk3LDEwOSwxMDEsMTE0LDQwLAorICAgIDEsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsCisgICAgMCwwLDIxOCwxNiw5NSwxMDQsOTcsMTEwLDEwMCwxMDgsMTAxLDk1LDEwMiwxMTQsMTExLDEwOSwKKyAgICAxMDgsMTA1LDExNSwxMTYsMTg0LDgsMCwwLDExNSwzNCwwLDAsMCwwLDEwLDE1LAorICAgIDEsMTIsMSwxMiwxLDEzLDEsMTUsMSwxNiwxLDEzLDEsMTUsMSwyMSwKKyAgICAxLDMsMSwxNywxLDE4LDQsMjEsMSwxNSwxLDMsMSwyNiwxLDExNCwKKyAgICAxMjEsMSwwLDAsOTksMSwwLDAsMCwwLDAsMCwwLDIsMCwwLAorICAgIDAsMiwwLDAsMCw2NywwLDAsMCwxMTUsNzIsMCwwLDAsMTI0LDAsCisgICAgMCwxMDYsMCwwLDEwMCwxLDAsMTMxLDEsMCwxMjUsMSwwLDEyNCwxLDAsCisgICAgMTAwLDIsMCwxMDcsOCwwLDExNCw2OCwwLDEyNCwwLDAsMTAwLDMsMCwyNSwKKyAgICAxMjUsMSwwLDEwMCw0LDAsMTI0LDAsMCwxMDcsNywwLDExNCw2OCwwLDEyNCwKKyAgICAxLDAsMTA2LDEsMCwxMDAsNSwwLDEzMSwxLDAsMTAwLDYsMCwyNSwxMjUsCisgICAgMSwwLDEyNCwxLDAsODMsNDEsNywxMjIsMTY3LDY3LDk3LDEwOCw5OSwxMTcsMTA4LAorICAgIDk3LDExNiwxMDEsMzIsMTE5LDEwNCw5NywxMTYsMzIsOTUsOTUsMTEyLDk3LDk5LDEwNyw5NywKKyAgICAxMDMsMTAxLDk1LDk1LDMyLDExNSwxMDQsMTExLDExNywxMDgsMTAwLDMyLDk4LDEwMSw0NiwxMCwKKyAgICAxMCwzMiwzMiwzMiwzMiw5NSw5NSwxMTIsOTcsOTksMTA3LDk3LDEwMywxMDEsOTUsOTUsCisgICAgMzIsMTA1LDExNSwzMiwxMTAsMTExLDExNiwzMiwxMDMsMTE3LDk3LDExNCw5NywxMTAsMTE2LDEwMSwKKyAgICAxMDEsMTAwLDMyLDExNiwxMTEsMzIsOTgsMTAxLDMyLDEwMCwxMDEsMTAyLDEwNSwxMTAsMTAxLDEwMCwKKyAgICAzMiwxMTEsMTE0LDMyLDk5LDExMSwxMTcsMTA4LDEwMCwzMiw5OCwxMDEsMzIsMTE1LDEwMSwxMTYsCisgICAgMzIsMTE2LDExMSwzMiw3OCwxMTEsMTEwLDEwMSwxMCwzMiwzMiwzMiwzMiwxMTYsMTExLDMyLAorICAgIDExNCwxMDEsMTEyLDExNCwxMDEsMTE1LDEwMSwxMTAsMTE2LDMyLDExNiwxMDQsOTcsMTE2LDMyLDEwNSwKKyAgICAxMTYsMTE1LDMyLDExMiwxMTQsMTExLDExMiwxMDEsMTE0LDMyLDExOCw5NywxMDgsMTE3LDEwMSwzMiwKKyAgICAxMDUsMTE1LDMyLDExNywxMTAsMTA3LDExMCwxMTEsMTE5LDExMCw0NiwxMCwxMCwzMiwzMiwzMiwKKyAgICAzMiwxMTQsMjQ5LDAsMCwwLDc4LDExNCw1NywwLDAsMCwxMTQsMjQ2LDAsMCwKKyAgICAwLDExNCwxMTYsMCwwLDAsMTE0LDg0LDAsMCwwLDQxLDIsMTE0LDkzLDAsCisgICAgMCwwLDExNCwzMiwwLDAsMCw0MSwyLDIxOCw3LDEwMywxMDgsMTExLDk4LDk3LAorICAgIDEwOCwxMTUsMTE0LDEwMiwxLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsCisgICAgMCwxMTQsNSwwLDAsMCwyMTgsMTcsOTUsOTksOTcsMTA4LDk5LDk1LDk1LDk1LAorICAgIDExMiw5Nyw5OSwxMDcsOTcsMTAzLDEwMSw5NSw5NSwyMTYsOCwwLDAsMTE1LDEyLDAsCisgICAgMCwwLDAsNywxNSwxLDEyLDEsMTAsMSwxMiwxLDE5LDEsMTE0LDEyMywKKyAgICAxLDAsMCw5OSwwLDAsMCwwLDAsMCwwLDAsMywwLDAsMCwKKyAgICAzLDAsMCwwLDY3LDAsMCwwLDExNSw1NSwwLDAsMCwxMTYsMCwwLAorICAgIDExNiwxLDAsMTA2LDIsMCwxMzEsMCwwLDEwMiwyLDAsMTI1LDAsMCwxMTYsCisgICAgMywwLDExNiw0LDAsMTAyLDIsMCwxMjUsMSwwLDExNiw1LDAsMTE2LDYsCisgICAgMCwxMDIsMiwwLDEyNSwyLDAsMTI0LDAsMCwxMjQsMSwwLDEyNCwyLDAsCisgICAgMTAzLDMsMCw4Myw0MSwxLDEyMiw5NSw4MiwxMDEsMTE2LDExNywxMTQsMTEwLDExNSwzMiwKKyAgICA5NywzMiwxMDgsMTA1LDExNSwxMTYsMzIsMTExLDEwMiwzMiwxMDIsMTA1LDEwOCwxMDEsNDUsOTgsCisgICAgOTcsMTE1LDEwMSwxMDAsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsMTA4LDExMSw5NywxMDAsCisgICAgMTAxLDExNCwxMTUsNDYsMTAsMTAsMzIsMzIsMzIsMzIsNjksOTcsOTksMTA0LDMyLDEwNSwKKyAgICAxMTYsMTAxLDEwOSwzMiwxMDUsMTE1LDMyLDk3LDMyLDExNiwxMTcsMTEyLDEwOCwxMDEsMzIsNDAsCisgICAgMTA4LDExMSw5NywxMDAsMTAxLDExNCw0NCwzMiwxMTUsMTE3LDEwMiwxMDIsMTA1LDEyMCwxMDEsMTE1LAorICAgIDQxLDQ2LDEwLDMyLDMyLDMyLDMyLDQxLDcsMTE0LDU2LDEsMCwwLDExNCwxMDYsCisgICAgMCwwLDAsMjE4LDE4LDEwMSwxMjAsMTE2LDEwMSwxMTAsMTE1LDEwNSwxMTEsMTEwLDk1LDExNSwKKyAgICAxMTcsMTAyLDEwMiwxMDUsMTIwLDEwMSwxMTUsMTE0LDcsMSwwLDAsMTE0LDEzNSwwLDAsCisgICAgMCwxMTQsNiwxLDAsMCwxMTQsMjMyLDAsMCwwLDQxLDMsOTAsMTAsMTAxLAorICAgIDEyMCwxMTYsMTAxLDExMCwxMTUsMTA1LDExMSwxMTAsMTE1LDkwLDYsMTE1LDExMSwxMTcsMTE0LDk5LAorICAgIDEwMSw5MCw4LDk4LDEyMSwxMTYsMTAxLDk5LDExMSwxMDAsMTAxLDExNCw0LDAsMCwwLAorICAgIDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDExNCwyNDAsMCwwLDAsMjMxLAorICAgIDgsMCwwLDExNSw4LDAsMCwwLDAsNSwxOCwxLDEyLDEsMTIsMSwKKyAgICAxMTQsMjQwLDAsMCwwLDk5LDUsMCwwLDAsMCwwLDAsMCw5LDAsCisgICAgMCwwLDUsMCwwLDAsNjcsMCwwLDAsMTE1LDIyNywwLDAsMCwxMjQsCisgICAgNCwwLDEwMCwxLDAsMTA3LDIsMCwxMTQsMjcsMCwxMTYsMCwwLDEyNCwwLAorICAgIDAsMTMxLDEsMCwxMjUsNSwwLDExMCw1NCwwLDEyNCwxLDAsMTAwLDIsMCwKKyAgICAxMDcsOSwwLDExNCw0NSwwLDEyNCwxLDAsMTEwLDMsMCwxMDUsMCwwLDEyNSwKKyAgICA2LDAsMTE2LDEsMCwxMjQsNiwwLDEzMSwxLDAsMTI1LDcsMCwxMTYsMCwKKyAgICAwLDEyNCwwLDAsMTI0LDcsMCwxMjQsNCwwLDEzMSwzLDAsMTI1LDUsMCwKKyAgICAxMjQsMywwLDExNSwyMDcsMCwxMjQsNCwwLDEwMCwxLDAsMTA3LDIsMCwxMTQsCisgICAgMTIyLDAsMTE2LDAsMCwxMjQsMCwwLDEwNiwyLDAsMTAwLDMsMCwxMzEsMSwKKyAgICAwLDEwMCwxLDAsMjUsMTMxLDEsMCw4MywxMjQsMCwwLDExNSwxMzIsMCwxMjQsCisgICAgNSwwLDgzLDExNiwzLDAsMTI0LDAsMCwxMzEsMSwwLDExNiwzLDAsMTI0LAogICAgIDAsMCwxMDYsMiwwLDEwMCwzLDAsMTMxLDEsMCwxMDAsMSwwLDI1LDEzMSwKLSAgICAxLDAsODMsMTI0LDAsMCwxMTUsMTMyLDAsMTI0LDUsMCw4MywxMTYsMywwLAotICAgIDEyNCwwLDAsMTMxLDEsMCwxMTYsMywwLDEyNCwwLDAsMTA2LDIsMCwxMDAsCi0gICAgMywwLDEzMSwxLDAsMTAwLDEsMCwyNSwxMzEsMSwwLDI0LDEyNSw4LDAsCi0gICAgMTE2LDQsMCwxMDYsNSwwLDEyNCw1LDAsMTA2LDYsMCwxMDAsMiwwLDExNiwKLSAgICAzLDAsMTI0LDUsMCwxMDYsNiwwLDEzMSwxLDAsMTI0LDgsMCwyNCwxMzMsCi0gICAgMiwwLDI1LDI1LDgzLDExMCwxNiwwLDExNiw3LDAsMTI0LDUsMCwxMjQsMywKLSAgICAwLDExNiwwLDAsMTMxLDMsMCw4MywxMDAsMiwwLDgzLDQxLDQsOTcsMjE0LAotICAgIDEsMCwwLDczLDEwOSwxMTIsMTExLDExNCwxMTYsMzIsOTcsMzIsMTA5LDExMSwxMDAsMTE3LAotICAgIDEwOCwxMDEsNDYsMTAsMTAsMzIsMzIsMzIsMzIsODQsMTA0LDEwMSwzMiwzOSwxMDMsMTA4LAotICAgIDExMSw5OCw5NywxMDgsMTE1LDM5LDMyLDk3LDExNCwxMDMsMTE3LDEwOSwxMDEsMTEwLDExNiwzMiwKLSAgICAxMDUsMTE1LDMyLDExNywxMTUsMTAxLDEwMCwzMiwxMTYsMTExLDMyLDEwNSwxMTAsMTAyLDEwMSwxMTQsCi0gICAgMzIsMTE5LDEwNCwxMDEsMTE0LDEwMSwzMiwxMTYsMTA0LDEwMSwzMiwxMDUsMTA5LDExMiwxMTEsMTE0LAotICAgIDExNiwzMiwxMDUsMTE1LDMyLDExMSw5OSw5OSwxMTcsMTE0LDEwNSwxMTAsMTAzLDMyLDEwMiwxMTQsCi0gICAgMTExLDEwOSwxMCwzMiwzMiwzMiwzMiwxMTYsMTExLDMyLDEwNCw5NywxMTAsMTAwLDEwOCwxMDEsCi0gICAgMzIsMTE0LDEwMSwxMDgsOTcsMTE2LDEwNSwxMTgsMTAxLDMyLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LAotICAgIDExNSw0NiwzMiw4NCwxMDQsMTAxLDMyLDM5LDEwOCwxMTEsOTksOTcsMTA4LDExNSwzOSwzMiwKLSAgICA5NywxMTQsMTAzLDExNywxMDksMTAxLDExMCwxMTYsMzIsMTA1LDExNSwzMiwxMDUsMTAzLDExMCwxMTEsCi0gICAgMTE0LDEwMSwxMDAsNDYsMzIsODQsMTA0LDEwMSwxMCwzMiwzMiwzMiwzMiwzOSwxMDIsMTE0LAotICAgIDExMSwxMDksMTA4LDEwNSwxMTUsMTE2LDM5LDMyLDk3LDExNCwxMDMsMTE3LDEwOSwxMDEsMTEwLDExNiwKLSAgICAzMiwxMTUsMTEyLDEwMSw5OSwxMDUsMTAyLDEwNSwxMDEsMTE1LDMyLDExOSwxMDQsOTcsMTE2LDMyLAotICAgIDExNSwxMDQsMTExLDExNywxMDgsMTAwLDMyLDEwMSwxMjAsMTA1LDExNSwxMTYsMzIsOTcsMTE1LDMyLAotICAgIDk3LDExNiwxMTYsMTE0LDEwNSw5OCwxMTcsMTE2LDEwMSwxMTUsMzIsMTExLDExMCwzMiwxMTYsMTA0LAotICAgIDEwMSwzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwxMCwzMiwzMiwzMiwzMiw5OCwxMDEsMTA1LAotICAgIDExMCwxMDMsMzIsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsMTAxLDEwMCwzMiw0MCwxMDEsNDYsMTAzLAotICAgIDQ2LDMyLDk2LDk2LDEwMiwxMTQsMTExLDEwOSwzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwzMiwKLSAgICAxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwzMiw2MCwxMDIsMTE0LDExMSwxMDksMTA4LDEwNSwxMTUsMTE2LAotICAgIDYyLDk2LDk2LDQxLDQ2LDMyLDMyLDg0LDEwNCwxMDEsMzIsMzksMTA4LDEwMSwxMTgsMTAxLAotICAgIDEwOCwzOSwxMCwzMiwzMiwzMiwzMiw5NywxMTQsMTAzLDExNywxMDksMTAxLDExMCwxMTYsMzIsCi0gICAgMTE0LDEwMSwxMTIsMTE0LDEwMSwxMTUsMTAxLDExMCwxMTYsMTE1LDMyLDExNiwxMDQsMTAxLDMyLDExMiwKLSAgICA5Nyw5OSwxMDcsOTcsMTAzLDEwMSwzMiwxMDgsMTExLDk5LDk3LDExNiwxMDUsMTExLDExMCwzMiwKLSAgICAxMTYsMTExLDMyLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDMyLDEwMiwxMTQsMTExLDEwOSwzMiwxMDUsCi0gICAgMTEwLDMyLDk3LDMyLDExNCwxMDEsMTA4LDk3LDExNiwxMDUsMTE4LDEwMSwxMCwzMiwzMiwzMiwKLSAgICAzMiwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwzMiw0MCwxMDEsNDYsMTAzLDQ2LDMyLDk2LDk2LAotICAgIDEwMiwxMTQsMTExLDEwOSwzMiw0Niw0NiwxMTIsMTA3LDEwMywzMiwxMDUsMTA5LDExMiwxMTEsMTE0LAotICAgIDExNiwzMiwxMDksMTExLDEwMCw5Niw5NiwzMiwxMTksMTExLDExNywxMDgsMTAwLDMyLDEwNCw5NywKLSAgICAxMTgsMTAxLDMyLDk3LDMyLDM5LDEwOCwxMDEsMTE4LDEwMSwxMDgsMzksMzIsMTExLDEwMiwzMiwKLSAgICA1MCw0MSw0NiwxMCwxMCwzMiwzMiwzMiwzMiwxMTQsODQsMCwwLDAsNzgsMTE0LAotICAgIDExNiwwLDAsMCw0MSw4LDExNCwxMTYsMSwwLDAsMTE0LDEyNCwxLDAsMCwKLSAgICAxMTQsMTM0LDAsMCwwLDExNCwzMSwwLDAsMCwxMTQsNywwLDAsMCwxMTQsCi0gICAgNzMsMCwwLDAsMTE0LDU3LDAsMCwwLDExNCwxMjIsMSwwLDAsNDEsOSwKLSAgICAxMTQsNjcsMCwwLDAsMTE0LDEyMywxLDAsMCwyMTgsNiwxMDgsMTExLDk5LDk3LAotICAgIDEwOCwxMTUsMTE0LDEyMSwxLDAsMCwxMTQsMTA0LDEsMCwwLDExNCwxODAsMCwwLAotICAgIDAsOTAsOCwxMDMsMTA4LDExMSw5OCw5NywxMDgsMTE1LDk1LDExNCwxMDMsMSwwLDAsCi0gICAgOTAsNyw5OSwxMTcsMTE2LDk1LDExMSwxMDIsMTAyLDExNCw0LDAsMCwwLDExNCw0LAotICAgIDAsMCwwLDExNCw1LDAsMCwwLDIxOCwxMCw5NSw5NSwxMDUsMTA5LDExMiwxMTEsCi0gICAgMTE0LDExNiw5NSw5NSwxOCw5LDAsMCwxMTUsMjYsMCwwLDAsMCwxMSwxMiwKLSAgICAxLDE1LDIsMjQsMSwxMiwxLDE4LDEsNiwzLDEyLDEsMjMsMSw2LAotICAgIDEsNCw0LDM1LDMsNDAsMiwxMTQsMTI3LDEsMCwwLDk5LDEsMCwwLAotICAgIDAsMCwwLDAsMCwzLDAsMCwwLDMsMCwwLDAsNjcsMCwwLAotICAgIDAsMTE1LDY4LDAsMCwwLDExNiwwLDAsMTA2LDEsMCwxMjQsMCwwLDEzMSwKLSAgICAxLDAsMTI1LDEsMCwxMjQsMSwwLDEwMCwwLDAsMTA3LDgsMCwxMTQsNDYsCi0gICAgMCwxMTYsMiwwLDEwMCwxLDAsMTI0LDAsMCwyMywxMzEsMSwwLDEzMCwxLAotICAgIDAsMTEwLDAsMCwxMTYsMywwLDEyNCwxLDAsMTMxLDEsMCwxMjUsMiwwLAotICAgIDEyNCwyLDAsMTA2LDQsMCwxMzEsMCwwLDgzLDQxLDIsNzgsMTIyLDI1LDExMCwKLSAgICAxMTEsMzIsOTgsMTE3LDEwNSwxMDgsMTE2LDQ1LDEwNSwxMTAsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwKLSAgICAxMDEsMzIsMTEwLDk3LDEwOSwxMDEsMTAwLDMyLDQxLDUsMTE0LDExLDEsMCwwLDExNCwKLSAgICAxNCwxLDAsMCwxMTQsMTU0LDAsMCwwLDExNCwxNzUsMCwwLDAsMTE0LDcsCi0gICAgMSwwLDAsNDEsMywxMTQsNjcsMCwwLDAsMTE0LDE3OCwwLDAsMCwxMTQsCi0gICAgMTc5LDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LAotICAgIDAsMCwwLDIxOCwxOCw5NSw5OCwxMTcsMTA1LDEwOCwxMTYsMTA1LDExMCw5NSwxMDIsMTE0LAotICAgIDExMSwxMDksOTUsMTEwLDk3LDEwOSwxMDEsNTMsOSwwLDAsMTE1LDEwLDAsMCwwLAotICAgIDAsMSwxNSwxLDEyLDEsMTksMSwxMiwxLDExNCwxMjgsMSwwLDAsOTksCi0gICAgMiwwLDAsMCwwLDAsMCwwLDE5LDAsMCwwLDEyLDAsMCwwLAotICAgIDY3LDAsMCwwLDExNSwyMzIsMiwwLDAsMTI0LDEsMCw5NywwLDAsMTI0LAotICAgIDAsMCw5NywxLDAsMTE2LDEsMCwxMDYsMiwwLDEwNiwzLDAsMTE0LDMzLAotICAgIDAsMTE2LDQsMCw5Nyw1LDAsMTEwLDYsMCwxMTYsNiwwLDk3LDUsMCwKLSAgICAxMTYsNywwLDExNiwxLDAsMTMxLDEsMCwxMjUsMiwwLDEyMCwxMzgsMCwxMTYsCi0gICAgMSwwLDEwNiw4LDAsMTA2LDksMCwxMzEsMCwwLDY4LDkzLDEyMSwwLDkyLAotICAgIDIsMCwxMjUsMywwLDEyNSw0LDAsMTE2LDEwLDAsMTI0LDQsMCwxMjQsMiwKLSAgICAwLDEzMSwyLDAsMTE0LDY3LDAsMTI0LDMsMCwxMTYsMSwwLDEwNiwxMSwwLAotICAgIDEwNyw2LDAsMTE0LDExOCwwLDExNiwxMiwwLDEyNSw1LDAsMTEwLDI3LDAsMTE2LAotICAgIDAsMCwxMDYsMTMsMCwxMjQsMywwLDEzMSwxLDAsMTE0LDY3LDAsMTE2LDE0LAotICAgIDAsMTI1LDUsMCwxMTAsMywwLDExMyw2NywwLDExNiwxNSwwLDEyNCw0LDAsCi0gICAgMTI0LDUsMCwxMzEsMiwwLDEyNSw2LDAsMTE2LDE2LDAsMTI0LDYsMCwxMzEsCi0gICAgMSwwLDEyNSw3LDAsMTI0LDcsMCwxMDYsMTcsMCwxMjQsNCwwLDEzMSwxLAotICAgIDAsMSwxMTMsNjcsMCwxMTMsNjcsMCw4NywxMTYsMSwwLDEwNiw4LDAsMTE2LAotICAgIDE4LDAsMjUsMTI1LDgsMCwxMjAsNzMsMCwxMDAsMjYsMCw2OCw5Myw2NSwwLAotICAgIDEyNSw5LDAsMTI0LDksMCwxMTYsMSwwLDEwNiw4LDAsMTA3LDcsMCwxMTQsCi0gICAgMjQ4LDAsMTE2LDE5LDAsMTI0LDksMCwxMzEsMSwwLDEyNSwxMCwwLDExMCwxMywKLSAgICAwLDExNiwxLDAsMTA2LDgsMCwxMjQsOSwwLDI1LDEyNSwxMCwwLDExNiwyMCwKLSAgICAwLDEyNCw4LDAsMTI0LDksMCwxMjQsMTAsMCwxMzEsMywwLDEsMTEzLDIxMiwKLSAgICAwLDg3LDEwMCw1LDAsMTAwLDYsMCwxMDMsMSwwLDEwMiwyLDAsMTAwLDcsCi0gICAgMCwxMDAsOCwwLDEwMCw2LDAsMTAzLDIsMCwxMDIsMiwwLDEwMiwyLDAsCi0gICAgMTI1LDExLDAsMTIwLDE0NiwwLDEyNCwxMSwwLDY4LDkzLDEyNiwwLDkyLDIsMCwKLSAgICAxMjUsMTIsMCwxMjUsMTMsMCwxMTYsMjEsMCwxMDAsOSwwLDEwMCwxMCwwLDEzMiwKLSAgICAwLDAsMTI0LDEzLDAsNjgsMTMxLDEsMCwxMzEsMSwwLDExNSwxMDgsMSwxMTYsCi0gICAgMjIsMCwxMzAsMSwwLDEyNCwxMywwLDEwMCwxMSwwLDI1LDEyNSwxNCwwLDEyNCwKLSAgICAxMiwwLDExNiwxLDAsMTA2LDgsMCwxMDcsNiwwLDExNCwxNTAsMSwxMTYsMSwKLSAgICAwLDEwNiw4LDAsMTI0LDEyLDAsMjUsMTI1LDE1LDAsODAsMTEzLDY1LDEsMTIxLAotICAgIDE3LDAsMTE2LDE5LDAsMTI0LDEyLDAsMTMxLDEsMCwxMjUsMTUsMCw4MCw4NywKLSAgICAxMTMsNjUsMSw0LDExNiwyMywwLDEwNywxMCwwLDExNCwxOTAsMSwxLDEsMSwKLSAgICAxMTksNjUsMSw4OSwxMTMsNjUsMSw4OCwxMTMsNjUsMSw4NywxMTYsMjMsMCwxMDAsCi0gICAgMTIsMCwxMzEsMSwwLDEzMCwxLDAsMTE2LDIwLDAsMTI0LDgsMCwxMDAsMTMsCi0gICAgMCwxMjQsMTUsMCwxMzEsMywwLDEsMTE2LDIwLDAsMTI0LDgsMCwxMDAsMTQsCi0gICAgMCwxMjQsMTQsMCwxMzEsMywwLDEsMTE2LDIwLDAsMTI0LDgsMCwxMDAsMTUsCi0gICAgMCwxMDAsMTYsMCwxMDYsMjQsMCwxMjQsMTMsMCwxMzEsMSwwLDEzMSwzLDAsCi0gICAgMSwxMjEsMTYsMCwxMTYsMTksMCwxMDAsMTcsMCwxMzEsMSwwLDEyNSwxNiwwLAotICAgIDg3LDExMCwyNCwwLDQsMTE2LDIzLDAsMTA3LDEwLDAsMTE0LDUwLDIsMSwxLAotICAgIDEsMTAwLDE4LDAsMTI1LDE2LDAsODksMTEwLDEsMCw4OCwxMTYsMjAsMCwxMjQsCi0gICAgOCwwLDEwMCwxNywwLDEyNCwxNiwwLDEzMSwzLDAsMSwxMTYsMTksMCwxMDAsCi0gICAgMTksMCwxMzEsMSwwLDEyNSwxNywwLDExNiwyMCwwLDEyNCw4LDAsMTAwLDE5LAotICAgIDAsMTI0LDE3LDAsMTMxLDMsMCwxLDEyNCwxMiwwLDEwMCw3LDAsMTA3LDIsCi0gICAgMCwxMTQsMTM4LDIsMTE2LDE5LDAsMTAwLDIwLDAsMTMxLDEsMCwxMjUsMTgsMCwKLSAgICAxMTYsMjAsMCwxMjQsOCwwLDEwMCwyMSwwLDEyNCwxOCwwLDEzMSwzLDAsMSwKLSAgICAxMTAsMCwwLDExNiwyMCwwLDEyNCw4LDAsMTAwLDIyLDAsMTE2LDI1LDAsMTMxLAotICAgIDAsMCwxMzEsMywwLDEsMTE2LDI2LDAsMTA2LDI3LDAsMTE2LDAsMCwxMDYsCi0gICAgMjgsMCwxMzEsMCwwLDEzMSwxLDAsMSwxMjQsMTIsMCwxMDAsNywwLDEwNywKLSAgICAyLDAsMTE0LDIyOCwyLDExNiwyOSwwLDEwNiwzMCwwLDEwMCwyMywwLDEzMSwxLAotICAgIDAsMSwxMDAsMjQsMCwxMTYsMjYsMCwxMDcsNiwwLDExNCwyMjgsMiwxMDAsMjUsCi0gICAgMCwxMTYsMzEsMCw5NSwzMiwwLDExMywyMjgsMiwxMTAsMCwwLDEwMCwxOCwwLAotICAgIDgzLDQxLDI3LDEyMiwyNTAsODMsMTAxLDExNiwxMTcsMTEyLDMyLDEwNSwxMDksMTEyLDExMSwxMTQsCi0gICAgMTE2LDEwOCwxMDUsOTgsMzIsOTgsMTIxLDMyLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDEwNSwxMTAsCi0gICAgMTAzLDMyLDExMCwxMDEsMTAxLDEwMCwxMDEsMTAwLDMyLDk4LDExNywxMDUsMTA4LDExNiw0NSwxMDUsCi0gICAgMTEwLDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDExNSwzMiw5NywxMTAsMTAwLDMyLDEwNSwxMTAsCi0gICAgMTA2LDEwMSw5OSwxMTYsMTA1LDExMCwxMDMsMzIsMTE2LDEwNCwxMDEsMTA5LDEwLDMyLDMyLDMyLAotICAgIDMyLDEwNSwxMTAsMTE2LDExMSwzMiwxMTYsMTA0LDEwMSwzMiwxMDMsMTA4LDExMSw5OCw5NywxMDgsCi0gICAgMzIsMTEwLDk3LDEwOSwxMDEsMTE1LDExMiw5Nyw5OSwxMDEsNDYsMTAsMTAsMzIsMzIsMzIsCi0gICAgMzIsNjUsMTE1LDMyLDExNSwxMjEsMTE1LDMyLDEwNSwxMTUsMzIsMTEwLDEwMSwxMDEsMTAwLDEwMSwKLSAgICAxMDAsMzIsMTAyLDExMSwxMTQsMzIsMTE1LDEyMSwxMTUsNDYsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsCi0gICAgMTE1LDMyLDk3LDk5LDk5LDEwMSwxMTUsMTE1LDMyLDk3LDExMCwxMDAsMzIsOTUsMTA1LDEwOSwKLSAgICAxMTIsMzIsMTA1LDExNSwzMiwxMTAsMTAxLDEwMSwxMDAsMTAxLDEwMCwzMiwxMTYsMTExLDMyLDEwOCwKLSAgICAxMTEsOTcsMTAwLDMyLDk4LDExNywxMDUsMTA4LDExNiw0NSwxMDUsMTEwLDEwLDMyLDMyLDMyLAotICAgIDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDExNSw0NCwzMiwxMTYsMTA0LDExMSwxMTUsMTAxLDMyLAotICAgIDExNiwxMTksMTExLDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDExNSwzMiwxMDksMTE3LDExNSwxMTYsCi0gICAgMzIsOTgsMTAxLDMyLDEwMSwxMjAsMTEyLDEwOCwxMDUsOTksMTA1LDExNiwxMDgsMTIxLDMyLDExMiwKLSAgICA5NywxMTUsMTE1LDEwMSwxMDAsMzIsMTA1LDExMCw0NiwxMCwxMCwzMiwzMiwzMiwzMiwxMTQsCi0gICAgNDksMCwwLDAsMTE0LDE2NywwLDAsMCwyMTgsOCw5OCwxMTcsMTA1LDEwOCwxMTYsCi0gICAgMTA1LDExMCwxMTUsMTE0LDE5MiwwLDAsMCw5MCw1LDExMiwxMTEsMTE1LDEwNSwxMjAsMjUwLAotICAgIDEsNDcsMjE4LDIsMTEwLDExNiwyNTAsMSw5Miw5OSwxLDAsMCwwLDAsMCwKLSAgICAwLDAsMiwwLDAsMCwzLDAsMCwwLDExNSwwLDAsMCwxMTUsMzMsCi0gICAgMCwwLDAsMTI0LDAsMCw5MywyMywwLDEyNSwxLDAsMTE2LDAsMCwxMjQsCi0gICAgMSwwLDEzMSwxLDAsMTAwLDAsMCwxMDcsMiwwLDg2LDEsMTEzLDMsMCwKLSAgICAxMDAsMSwwLDgzLDQxLDIsMTE0LDI5LDAsMCwwLDc4LDQxLDEsMTE0LDMxLAotICAgIDAsMCwwLDQxLDIsMTE0LDIyLDAsMCwwLDExNCwxMjksMCwwLDAsMTE0LAotICAgIDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMTE0LDc3LAotICAgIDAsMCwwLDEwNSw5LDAsMCwxMTUsMiwwLDAsMCw2LDAsMTIyLDI1LAotICAgIDk1LDExNSwxMDEsMTE2LDExNywxMTIsNDYsNjAsMTA4LDExMSw5OSw5NywxMDgsMTE1LDYyLDQ2LAotICAgIDYwLDEwMywxMDEsMTEwLDEwMSwxMjAsMTEyLDExNCw2MiwxMTQsODQsMCwwLDAsMTIyLDMwLAotICAgIDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDEwOCwxMDUsOTgsMzIsMTE0LDEwMSwxMTMsMTE3LDEwNSwxMTQsCi0gICAgMTAxLDExNSwzMiwxMTIsMTExLDExNSwxMDUsMTIwLDMyLDExMSwxMTQsMzIsMTEwLDExNiwxMTQsMywKLSAgICAwLDAsMCwxMTQsMjUsMCwwLDAsMTE0LDIxLDAsMCwwLDExNCwzMCwwLAotICAgIDAsMCwxMTQsODUsMCwwLDAsNzgsMTE0LDExMSwwLDAsMCw5MCw2LDExOSwKLSAgICAxMDUsMTEwLDExNCwxMDEsMTAzLDExNCwyNCwxLDAsMCwxMTQsNiwwLDAsMCwxMjIsCi0gICAgNCw0NiwxMTIsMTIxLDExOSwxMjIsNiw5NSwxMDAsNDYsMTEyLDEyMSwxMDAsODQsNDEsNCwKLSAgICAxMjIsMyw5NSwxMDUsMTExLDEyMiw5LDk1LDExOSw5NywxMTQsMTEwLDEwNSwxMTAsMTAzLDExNSwKLSAgICAxMjIsOCw5OCwxMTcsMTA1LDEwOCwxMTYsMTA1LDExMCwxMTUsMTIyLDcsMTA5LDk3LDExNCwxMTUsCi0gICAgMTA0LDk3LDEwOCw0MSwzMywxMTQsMTA2LDAsMCwwLDExNCw3LDAsMCwwLDExNCwKLSAgICAxMTcsMCwwLDAsMTE0LDExOCwwLDAsMCwxMTQsMTIwLDAsMCwwLDExNCwyMzMsCi0gICAgMCwwLDAsMTE0LDExOSwwLDAsMCwxMTQsNjYsMCwwLDAsMTE0LDczLDAsCi0gICAgMCwwLDIxOCw1LDEwNSwxMTYsMTAxLDEwOSwxMTUsMTE0LDE5MywwLDAsMCwxMTQsMTU4LAotICAgIDAsMCwwLDExNCwxMSwxLDAsMCwxMTQsMTYzLDAsMCwwLDExNCwyMCwxLAotICAgIDAsMCwxMTQsMjQ4LDAsMCwwLDExNCwxNzUsMCwwLDAsMTE0LDI1NSwwLDAsCi0gICAgMCwxMTQsNTcsMCwwLDAsMTE0LDEyOCwxLDAsMCwxMTQsNjEsMCwwLDAsCi0gICAgMjE4LDMsOTcsMTA4LDEwOCwxMTQsMTAwLDAsMCwwLDExNCwxNTQsMCwwLDAsMTE0LAotICAgIDI2LDAsMCwwLDExNCwxMSwwLDAsMCwxMTQsNjAsMSwwLDAsMTE0LDE5OCwKLSAgICAwLDAsMCwxMTQsMTI1LDEsMCwwLDExNCwxMzUsMCwwLDAsMTE0LDIyNCwwLAotICAgIDAsMCwxMTQsMjMsMSwwLDAsMTE0LDI3LDEsMCwwLDQxLDE5LDIxOCwxMCwKLSAgICAxMTUsMTIxLDExNSw5NSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwyMTgsMTEsOTUsMTA1LDEwOSwxMTIsCi0gICAgOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsOTAsMTEsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsOTUsCi0gICAgMTE2LDEyMSwxMTIsMTAxLDExNCw2NywwLDAsMCwxMTQsMTgwLDAsMCwwLDExNCwxNzAsCi0gICAgMCwwLDAsMTE0LDE3OCwwLDAsMCwxMTQsMTc5LDAsMCwwLDkwLDExLDExNSwKLSAgICAxMDEsMTA4LDEwMiw5NSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw5MCwxMiw5OCwxMTcsMTA1LDEwOCwKLSAgICAxMTYsMTA1LDExMCw5NSwxMTAsOTcsMTA5LDEwMSw5MCwxNCw5OCwxMTcsMTA1LDEwOCwxMTYsMTA1LAotICAgIDExMCw5NSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw5MCwxMCwxMTEsMTE1LDk1LDEwMCwxMDEsMTE2LAotICAgIDk3LDEwNSwxMDgsMTE1LDkwLDEwLDk4LDExNywxMDUsMTA4LDExNiwxMDUsMTEwLDk1LDExMSwxMTUsCi0gICAgMTE0LDIxLDAsMCwwLDExNCwyNSwwLDAsMCw5MCw5LDExMSwxMTUsOTUsMTA5LAotICAgIDExMSwxMDAsMTE3LDEwOCwxMDEsOTAsMTMsMTE2LDEwNCwxMTQsMTAxLDk3LDEwMCw5NSwxMDksMTExLAotICAgIDEwMCwxMTcsMTA4LDEwMSw5MCwxNCwxMTksMTAxLDk3LDEwNywxMTQsMTAxLDEwMiw5NSwxMDksMTExLAotICAgIDEwMCwxMTcsMTA4LDEwMSw5MCwxMywxMTksMTA1LDExMCwxMTQsMTAxLDEwMyw5NSwxMDksMTExLDEwMCwKLSAgICAxMTcsMTA4LDEwMSwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLAotICAgIDAsMCwyMTgsNiw5NSwxMTUsMTAxLDExNiwxMTcsMTEyLDYxLDksMCwwLDExNSwxMDgsCi0gICAgMCwwLDAsMCw5LDYsMSw2LDIsMTIsMSw5LDIsNiwzLDEyLAotICAgIDEsMjgsMSwxNSwxLDE1LDEsOSwxLDE1LDEsOSwyLDMsMSwxNSwKLSAgICAxLDEyLDEsMjAsMywxMywxLDEzLDEsMTUsMSwxNSwyLDEzLDEsMjAsCi0gICAgMywzMywxLDE5LDIsMzEsMSwxMCwxLDE1LDEsMTMsMSw0LDIsMywKLSAgICAxLDEyLDEsNSwxLDEzLDEsMTIsMiwxMiwxLDE2LDEsMTYsMSwyNSwKLSAgICAzLDMsMSwxNiwxLDEzLDIsMTEsMSwxNiwzLDEyLDEsMTYsMywxMiwKLSAgICAxLDEyLDEsMTksMywxOSwxLDE5LDEsMTIsMSwxMywxLDEyLDEsMTE0LAotICAgIDEzNywxLDAsMCw5OSwyLDAsMCwwLDAsMCwwLDAsMywwLDAsCi0gICAgMCwzLDAsMCwwLDY3LDAsMCwwLDExNSwxMzYsMCwwLDAsMTE2LDAsCi0gICAgMCwxMjQsMCwwLDEyNCwxLDAsMTMxLDIsMCwxLDExNiwxLDAsMTMxLDAsCi0gICAgMCwxMjUsMiwwLDExNiwyLDAsMTA2LDMsMCwxMDYsNCwwLDExNiw1LDAsCi0gICAgMTA2LDYsMCwxMjQsMiwwLDE0MCwwLDAsMTAzLDEsMCwxMzEsMSwwLDEsCi0gICAgMTE2LDIsMCwxMDYsNywwLDEwNiw4LDAsMTE2LDksMCwxMzEsMSwwLDEsCi0gICAgMTE2LDIsMCwxMDYsNywwLDEwNiw4LDAsMTE2LDEwLDAsMTMxLDEsMCwxLAotICAgIDExNiwxMSwwLDEwNiwxMiwwLDEwMCwxLDAsMTA3LDIsMCwxMTQsMTE2LDAsMTE2LAotICAgIDIsMCwxMDYsNywwLDEwNiw4LDAsMTE2LDEzLDAsMTMxLDEsMCwxLDExMCwKLSAgICAwLDAsMTE2LDIsMCwxMDYsNywwLDEwNiw4LDAsMTE2LDE0LDAsMTMxLDEsCi0gICAgMCwxLDEwMCwyLDAsODMsNDEsMywxMjIsNTAsNzMsMTEwLDExNSwxMTYsOTcsMTA4LAotICAgIDEwOCwzMiwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwxMDgsMTA1LDk4LDMyLDk3LDExNSwzMiwxMTYsCi0gICAgMTA0LDEwMSwzMiwxMDUsMTA5LDExMiwxMDgsMTAxLDEwOSwxMDEsMTEwLDExNiw5NywxMTYsMTA1LDExMSwKLSAgICAxMTAsMzIsMTExLDEwMiwzMiwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiw0NiwxMTQsMTMxLDEsMCwKLSAgICAwLDc4LDQxLDE1LDExNCwxMzcsMSwwLDAsMTE0LDI0MSwwLDAsMCwxMTQsNywKLSAgICAwLDAsMCwxMTQsNzksMSwwLDAsMTE0LDE5OCwwLDAsMCwxMTQsODcsMSwKLSAgICAwLDAsMTE0LDEwMSwxLDAsMCwxMTQsMTA3LDEsMCwwLDExNCwyMjQsMCwwLAotICAgIDAsMTE0LDExLDEsMCwwLDExNCwyMCwxLDAsMCwxMTQsMywwLDAsMCwKLSAgICAxMTQsNTcsMCwwLDAsMTE0LDIzLDEsMCwwLDExNCw3NCwxLDAsMCw0MSwKLSAgICAzLDExNCwxMzUsMSwwLDAsMTE0LDEzNiwxLDAsMCw5MCwxNywxMTUsMTE3LDExMiwKLSAgICAxMTIsMTExLDExNCwxMTYsMTAxLDEwMCw5NSwxMDgsMTExLDk3LDEwMCwxMDEsMTE0LDExNSwxMTQsNCwKLSAgICAwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwyMTgsOCw5NSwKLSAgICAxMDUsMTEwLDExNSwxMTYsOTcsMTA4LDEwOCwxNDgsOSwwLDAsMTE1LDE2LDAsMCwwLAotICAgIDAsMiwxMywxLDksMSwyOCwxLDE2LDEsMTYsMSwxNSwxLDE5LDEsCi0gICAgMTE0LDEzOCwxLDAsMCw0MSwzLDEyMiwzLDExOSwxMDUsMTEwLDExNCwxLDAsMCwKLSAgICAwLDExNCwyLDAsMCwwLDQxLDkyLDExNCw1OSwwLDAsMCwxMTQsMTAsMCwKLSAgICAwLDAsMTE0LDExLDAsMCwwLDExNCwxNywwLDAsMCwxMTQsMTksMCwwLAotICAgIDAsMTE0LDI4LDAsMCwwLDExNCwzOCwwLDAsMCwxMTQsMzksMCwwLDAsCi0gICAgMTE0LDQzLDAsMCwwLDExNCw0NCwwLDAsMCwxMTQsNDYsMCwwLDAsMTE0LAotICAgIDU1LDAsMCwwLDExNCw2NSwwLDAsMCwxMTQsNjgsMCwwLDAsMTE0LDY2LAotICAgIDAsMCwwLDIxOCw4LDk1LDk1LDk5LDExMSwxMDAsMTAxLDk1LDk1LDExNCwxOTQsMCwKLSAgICAwLDAsMTE0LDY5LDAsMCwwLDExNCwxMDksMCwwLDAsMTE0LDkyLDAsMCwKLSAgICAwLDExNCw5OSwwLDAsMCwxMTQsODIsMCwwLDAsMTE0LDgzLDAsMCwwLAotICAgIDExNCwxMDIsMCwwLDAsMTE0LDEwMywwLDAsMCwxMTQsMTA1LDAsMCwwLDExNCwKLSAgICAxMTIsMCwwLDAsMTE0LDExNCwwLDAsMCwxMTQsMTUsMCwwLDAsMTE0LDE4NiwKLSAgICAwLDAsMCwxMTQsMTQsMCwwLDAsMTE0LDE4LDAsMCwwLDkwLDE3LDk1LAotICAgIDgyLDY1LDg3LDk1LDc3LDY1LDcxLDczLDY3LDk1LDc4LDg1LDc3LDY2LDY5LDgyLAotICAgIDExNCwxMjQsMCwwLDAsMTE0LDEzNSwwLDAsMCwxMTQsMTE5LDAsMCwwLDExNCwKLSAgICAxMjAsMCwwLDAsMTE0LDEzMiwwLDAsMCwxMTQsMTM2LDAsMCwwLDExNCwxNDMsCi0gICAgMCwwLDAsMTE0LDE0NSwwLDAsMCwxMTQsMTUzLDAsMCwwLDExNCwxNTcsMCwKLSAgICAwLDAsMTE0LDE2MiwwLDAsMCwxMTQsMTY1LDAsMCwwLDExNCwxNzMsMCwwLAotICAgIDAsMTE0LDE4MSwwLDAsMCwxMTQsMTkxLDAsMCwwLDExNCwxOTYsMCwwLDAsCi0gICAgMTE0LDE5OSwwLDAsMCwxMTQsMjA0LDAsMCwwLDExNCwyMTIsMCwwLDAsMTE0LAotICAgIDIxMywwLDAsMCwxMTQsMjE3LDAsMCwwLDExNCwxNzQsMCwwLDAsMjE4LDYsCi0gICAgMTExLDk4LDEwNiwxMDEsOTksMTE2LDExNCwyNDIsMCwwLDAsMTE0LDI0MCwwLDAsMCwKLSAgICAxMTQsMjQ4LDAsMCwwLDExNCwxNzUsMCwwLDAsMTE0LDEwLDEsMCwwLDExNCwKLSAgICAxMSwxLDAsMCwxMTQsMjAsMSwwLDAsMTE0LDIzLDEsMCwwLDExNCwzMywKLSAgICAxLDAsMCwxMTQsMzQsMSwwLDAsMTE0LDQ5LDEsMCwwLDExNCw5LDEsCi0gICAgMCwwLDExNCw4LDEsMCwwLDExNCw2MCwxLDAsMCwxMTQsNTcsMSwwLAotICAgIDAsMTE0LDYxLDEsMCwwLDExNCwyNTIsMCwwLDAsMTE0LDc0LDEsMCwwLAotICAgIDExNCw4NywxLDAsMCwxMTQsMTAyLDEsMCwwLDExNCwxMDUsMSwwLDAsMTE0LAotICAgIDEwNiwxLDAsMCwxMTQsMTA4LDEsMCwwLDExNCwxMTEsMSwwLDAsMTE0LDEyMCwKLSAgICAxLDAsMCwxMTQsMTEyLDEsMCwwLDExNCwxMTQsMSwwLDAsMTE0LDExNSwxLAotICAgIDAsMCwxMTQsMTE2LDEsMCwwLDExNCwxMjIsMSwwLDAsMTE0LDEyNCwxLDAsCi0gICAgMCwxMTQsMjQxLDAsMCwwLDExNCwxMjcsMSwwLDAsMTE0LDEyOCwxLDAsMCwKLSAgICAxMTQsMTM3LDEsMCwwLDExNCwxMzgsMSwwLDAsMTE0LDQsMCwwLDAsMTE0LAotICAgIDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMjE4LDgsCi0gICAgNjAsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsNjIsOCwwLDAsMCwxMTUsMTcwLDAsMCwKLSAgICAwLDYsMTcsNiwzLDEyLDEyLDEyLDUsMTIsNSwxMiw2LDEyLDEyLDEyLAotICAgIDEwLDEyLDksMTIsNSwxMiw3LDE1LDIyLDEyLDgsMTIsNCwxNSw0LDE5LAotICAgIDIwLDYsMiw2LDMsMjIsNCwxOSw2OCwxOSwyMSwxOSwxOSwxMiwxOSwxMiwKLSAgICAyMCwxMiwxMTQsMjIsMSwxOCwyLDYsMiw5LDIsOSwxLDksMiwxNSwKLSAgICAyNywxMiwyMywxMiwxOSwxMiwxMiwxOCw4LDEyLDE4LDEyLDExLDEyLDExLDEyLAotICAgIDE3LDEyLDE2LDIxLDU1LDIxLDEyLDE4LDEwLDEyLDE0LDEyLDM2LDE5LDI3LDE5LAotICAgIDEwNiwyNCwyMiw5LDMsMTIsMSwxNSw2MywxOCw0NSwxOSwyMzAsMTUsMjUsMTksCi0gICAgNzAsMTksNzEsMTksNjMsMTksMjQsMjIsMTEwLDE5LDQxLDI1LDQzLDI1LDE2LDYsCi0gICAgMywxOSw1NywxOSw1NywxOSwzOCwxOSwxMjksMTksMTQ2LDE5LDEzLDEyLDksMTIsCi0gICAgOSwxNSw0MCwxMiwxNyw2LDEsMTAsMiwxMiwyNywxMiw2LDE4LDI0LDEyLAotICAgIDMyLDEyLDE1LDEyLDExLDI0LDM1LDEyLDgsMTIsODcsCisgICAgMSwwLDI0LDEyNSw4LDAsMTE2LDQsMCwxMDYsNSwwLDEyNCw1LDAsMTA2LAorICAgIDYsMCwxMDAsMiwwLDExNiwzLDAsMTI0LDUsMCwxMDYsNiwwLDEzMSwxLAorICAgIDAsMTI0LDgsMCwyNCwxMzMsMiwwLDI1LDI1LDgzLDExMCwxNiwwLDExNiw3LAorICAgIDAsMTI0LDUsMCwxMjQsMywwLDExNiwwLDAsMTMxLDMsMCw4MywxMDAsMiwKKyAgICAwLDgzLDQxLDQsOTcsMjE0LDEsMCwwLDczLDEwOSwxMTIsMTExLDExNCwxMTYsMzIsCisgICAgOTcsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsNDYsMTAsMTAsMzIsMzIsMzIsMzIsODQsCisgICAgMTA0LDEwMSwzMiwzOSwxMDMsMTA4LDExMSw5OCw5NywxMDgsMTE1LDM5LDMyLDk3LDExNCwxMDMsCisgICAgMTE3LDEwOSwxMDEsMTEwLDExNiwzMiwxMDUsMTE1LDMyLDExNywxMTUsMTAxLDEwMCwzMiwxMTYsMTExLAorICAgIDMyLDEwNSwxMTAsMTAyLDEwMSwxMTQsMzIsMTE5LDEwNCwxMDEsMTE0LDEwMSwzMiwxMTYsMTA0LDEwMSwKKyAgICAzMiwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwzMiwxMDUsMTE1LDMyLDExMSw5OSw5OSwxMTcsMTE0LAorICAgIDEwNSwxMTAsMTAzLDMyLDEwMiwxMTQsMTExLDEwOSwxMCwzMiwzMiwzMiwzMiwxMTYsMTExLDMyLAorICAgIDEwNCw5NywxMTAsMTAwLDEwOCwxMDEsMzIsMTE0LDEwMSwxMDgsOTcsMTE2LDEwNSwxMTgsMTAxLDMyLAorICAgIDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDExNSw0NiwzMiw4NCwxMDQsMTAxLDMyLDM5LDEwOCwxMTEsCisgICAgOTksOTcsMTA4LDExNSwzOSwzMiw5NywxMTQsMTAzLDExNywxMDksMTAxLDExMCwxMTYsMzIsMTA1LAorICAgIDExNSwzMiwxMDUsMTAzLDExMCwxMTEsMTE0LDEwMSwxMDAsNDYsMzIsODQsMTA0LDEwMSwxMCwzMiwKKyAgICAzMiwzMiwzMiwzOSwxMDIsMTE0LDExMSwxMDksMTA4LDEwNSwxMTUsMTE2LDM5LDMyLDk3LDExNCwKKyAgICAxMDMsMTE3LDEwOSwxMDEsMTEwLDExNiwzMiwxMTUsMTEyLDEwMSw5OSwxMDUsMTAyLDEwNSwxMDEsMTE1LAorICAgIDMyLDExOSwxMDQsOTcsMTE2LDMyLDExNSwxMDQsMTExLDExNywxMDgsMTAwLDMyLDEwMSwxMjAsMTA1LAorICAgIDExNSwxMTYsMzIsOTcsMTE1LDMyLDk3LDExNiwxMTYsMTE0LDEwNSw5OCwxMTcsMTE2LDEwMSwxMTUsCisgICAgMzIsMTExLDExMCwzMiwxMTYsMTA0LDEwMSwzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwxMCwzMiwKKyAgICAzMiwzMiwzMiw5OCwxMDEsMTA1LDExMCwxMDMsMzIsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsMTAxLAorICAgIDEwMCwzMiw0MCwxMDEsNDYsMTAzLDQ2LDMyLDk2LDk2LDEwMiwxMTQsMTExLDEwOSwzMiwxMDksCisgICAgMTExLDEwMCwxMTcsMTA4LDEwMSwzMiwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwzMiw2MCwxMDIsMTE0LAorICAgIDExMSwxMDksMTA4LDEwNSwxMTUsMTE2LDYyLDk2LDk2LDQxLDQ2LDMyLDMyLDg0LDEwNCwxMDEsCisgICAgMzIsMzksMTA4LDEwMSwxMTgsMTAxLDEwOCwzOSwxMCwzMiwzMiwzMiwzMiw5NywxMTQsMTAzLAorICAgIDExNywxMDksMTAxLDExMCwxMTYsMzIsMTE0LDEwMSwxMTIsMTE0LDEwMSwxMTUsMTAxLDExMCwxMTYsMTE1LAorICAgIDMyLDExNiwxMDQsMTAxLDMyLDExMiw5Nyw5OSwxMDcsOTcsMTAzLDEwMSwzMiwxMDgsMTExLDk5LAorICAgIDk3LDExNiwxMDUsMTExLDExMCwzMiwxMTYsMTExLDMyLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDMyLAorICAgIDEwMiwxMTQsMTExLDEwOSwzMiwxMDUsMTEwLDMyLDk3LDMyLDExNCwxMDEsMTA4LDk3LDExNiwxMDUsCisgICAgMTE4LDEwMSwxMCwzMiwzMiwzMiwzMiwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwzMiw0MCwxMDEsCisgICAgNDYsMTAzLDQ2LDMyLDk2LDk2LDEwMiwxMTQsMTExLDEwOSwzMiw0Niw0NiwxMTIsMTA3LDEwMywKKyAgICAzMiwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwzMiwxMDksMTExLDEwMCw5Niw5NiwzMiwxMTksMTExLAorICAgIDExNywxMDgsMTAwLDMyLDEwNCw5NywxMTgsMTAxLDMyLDk3LDMyLDM5LDEwOCwxMDEsMTE4LDEwMSwKKyAgICAxMDgsMzksMzIsMTExLDEwMiwzMiw1MCw0MSw0NiwxMCwxMCwzMiwzMiwzMiwzMiwxMTQsCisgICAgODQsMCwwLDAsNzgsMTE0LDExNiwwLDAsMCw0MSw4LDExNCwxMTUsMSwwLAorICAgIDAsMTE0LDEyMywxLDAsMCwxMTQsMTM0LDAsMCwwLDExNCwzMSwwLDAsMCwKKyAgICAxMTQsNywwLDAsMCwxMTQsNzMsMCwwLDAsMTE0LDU3LDAsMCwwLDExNCwKKyAgICAxMjEsMSwwLDAsNDEsOSwxMTQsNjcsMCwwLDAsMTE0LDEyMiwxLDAsMCwKKyAgICAyMTgsNiwxMDgsMTExLDk5LDk3LDEwOCwxMTUsMTE0LDEyMCwxLDAsMCwxMTQsMTAzLDEsCisgICAgMCwwLDExNCwxNzgsMCwwLDAsOTAsOCwxMDMsMTA4LDExMSw5OCw5NywxMDgsMTE1LAorICAgIDk1LDExNCwxMDIsMSwwLDAsOTAsNyw5OSwxMTcsMTE2LDk1LDExMSwxMDIsMTAyLDExNCwKKyAgICA0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDIxOCwxMCwKKyAgICA5NSw5NSwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiw5NSw5NSwyNDIsOCwwLDAsMTE1LDI2LAorICAgIDAsMCwwLDAsMTEsMTIsMSwxNSwyLDI0LDEsMTIsMSwxOCwxLDYsCisgICAgMywxMiwxLDIzLDEsNiwxLDQsNCwzNSwzLDQwLDIsMTE0LDEyNiwxLAorICAgIDAsMCw5OSwxLDAsMCwwLDAsMCwwLDAsMiwwLDAsMCwzLAorICAgIDAsMCwwLDY3LDAsMCwwLDExNSw1MywwLDAsMCwxMTYsMCwwLDEwNiwKKyAgICAxLDAsMTI0LDAsMCwxMzEsMSwwLDEyNSwxLDAsMTI0LDEsMCwxMDAsMCwKKyAgICAwLDEwNyw4LDAsMTE0LDQzLDAsMTE2LDIsMCwxMDAsMSwwLDEyNCwwLDAsCisgICAgMjMsMTMxLDEsMCwxMzAsMSwwLDExNiwzLDAsMTI0LDEsMCwxMzEsMSwwLAorICAgIDgzLDQxLDIsNzgsMTIyLDI1LDExMCwxMTEsMzIsOTgsMTE3LDEwNSwxMDgsMTE2LDQ1LDEwNSwKKyAgICAxMTAsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsMTEwLDk3LDEwOSwxMDEsMTAwLDMyLDQxLAorICAgIDQsMTE0LDksMSwwLDAsMTE0LDEyLDEsMCwwLDExNCwxNTQsMCwwLDAsCisgICAgMTE0LDUsMSwwLDAsNDEsMiwxMTQsNjcsMCwwLDAsMTE0LDE3NywwLDAsCisgICAgMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwKKyAgICAyMTgsMTgsOTUsOTgsMTE3LDEwNSwxMDgsMTE2LDEwNSwxMTAsOTUsMTAyLDExNCwxMTEsMTA5LDk1LAorICAgIDExMCw5NywxMDksMTAxLDIxLDksMCwwLDExNSw4LDAsMCwwLDAsMSwxNSwKKyAgICAxLDEyLDEsMTYsMSwxMTQsMTI3LDEsMCwwLDk5LDIsMCwwLDAsMCwKKyAgICAwLDAsMCwxOCwwLDAsMCwxMiwwLDAsMCw2NywwLDAsMCwxMTUsCisgICAgMjA4LDIsMCwwLDEyNCwxLDAsOTcsMCwwLDEyNCwwLDAsOTcsMSwwLAorICAgIDExNiwxLDAsMTA2LDIsMCwxMDYsMywwLDExNCwzMywwLDExNiw0LDAsOTcsCisgICAgNSwwLDExMCw2LDAsMTE2LDYsMCw5Nyw1LDAsMTE2LDcsMCwxMTYsMSwKKyAgICAwLDEzMSwxLDAsMTI1LDIsMCwxMjAsMTIzLDAsMTE2LDEsMCwxMDYsOCwwLAorICAgIDEwNiw5LDAsMTMxLDAsMCw2OCw5MywxMDYsMCw5MiwyLDAsMTI1LDMsMCwKKyAgICAxMjUsNCwwLDExNiwxMCwwLDEyNCw0LDAsMTI0LDIsMCwxMzEsMiwwLDExNCwKKyAgICA2NywwLDEyNCwzLDAsMTE2LDEsMCwxMDYsMTEsMCwxMDcsNiwwLDExNCwxMTgsCisgICAgMCwxMTYsMTIsMCwxMjUsNSwwLDExMCwyNywwLDExNiwwLDAsMTA2LDEzLDAsCisgICAgMTI0LDMsMCwxMzEsMSwwLDExNCw2NywwLDExNiwxNCwwLDEyNSw1LDAsMTEwLAorICAgIDMsMCwxMTMsNjcsMCwxMTYsMTUsMCwxMjQsNCwwLDEyNCw1LDAsMTMxLDIsCisgICAgMCwxMjUsNiwwLDExNiwxNiwwLDEyNCw2LDAsMTI0LDQsMCwxMzEsMiwwLAorICAgIDEsMTEzLDY3LDAsODcsMTE2LDEsMCwxMDYsOCwwLDExNiwxNywwLDI1LDEyNSwKKyAgICA3LDAsMTIwLDczLDAsMTAwLDI2LDAsNjgsOTMsNjUsMCwxMjUsOCwwLDEyNCwKKyAgICA4LDAsMTE2LDEsMCwxMDYsOCwwLDEwNyw3LDAsMTE0LDIzMywwLDExNiwxOCwKKyAgICAwLDEyNCw4LDAsMTMxLDEsMCwxMjUsOSwwLDExMCwxMywwLDExNiwxLDAsCisgICAgMTA2LDgsMCwxMjQsOCwwLDI1LDEyNSw5LDAsMTE2LDE5LDAsMTI0LDcsMCwKKyAgICAxMjQsOCwwLDEyNCw5LDAsMTMxLDMsMCwxLDExMywxOTcsMCw4NywxMDAsNSwKKyAgICAwLDEwMCw2LDAsMTAzLDEsMCwxMDIsMiwwLDEwMCw3LDAsMTAwLDgsMCwKKyAgICAxMDAsNiwwLDEwMywyLDAsMTAyLDIsMCwxMDIsMiwwLDEyNSwxMCwwLDEyMCwKKyAgICAxNDYsMCwxMjQsMTAsMCw2OCw5MywxMjYsMCw5MiwyLDAsMTI1LDExLDAsMTI1LAorICAgIDEyLDAsMTE2LDIwLDAsMTAwLDksMCwxMDAsMTAsMCwxMzIsMCwwLDEyNCwxMiwKKyAgICAwLDY4LDEzMSwxLDAsMTMxLDEsMCwxMTUsOTMsMSwxMTYsMjEsMCwxMzAsMSwKKyAgICAwLDEyNCwxMiwwLDEwMCwxMSwwLDI1LDEyNSwxMywwLDEyNCwxMSwwLDExNiwxLAorICAgIDAsMTA2LDgsMCwxMDcsNiwwLDExNCwxMzUsMSwxMTYsMSwwLDEwNiw4LDAsCisgICAgMTI0LDExLDAsMjUsMTI1LDE0LDAsODAsMTEzLDUwLDEsMTIxLDE3LDAsMTE2LDE4LAorICAgIDAsMTI0LDExLDAsMTMxLDEsMCwxMjUsMTQsMCw4MCw4NywxMTMsNTAsMSw0LAorICAgIDExNiwyMiwwLDEwNywxMCwwLDExNCwxNzUsMSwxLDEsMSwxMTksNTAsMSw4OSwKKyAgICAxMTMsNTAsMSw4OCwxMTMsNTAsMSw4NywxMTYsMjIsMCwxMDAsMTIsMCwxMzEsMSwKKyAgICAwLDEzMCwxLDAsMTE2LDE5LDAsMTI0LDcsMCwxMDAsMTMsMCwxMjQsMTQsMCwKKyAgICAxMzEsMywwLDEsMTE2LDE5LDAsMTI0LDcsMCwxMDAsMTQsMCwxMjQsMTMsMCwKKyAgICAxMzEsMywwLDEsMTE2LDE5LDAsMTI0LDcsMCwxMDAsMTUsMCwxMDAsMTYsMCwKKyAgICAxMDYsMjMsMCwxMjQsMTIsMCwxMzEsMSwwLDEzMSwzLDAsMSwxMjEsMTYsMCwKKyAgICAxMTYsMTgsMCwxMDAsMTcsMCwxMzEsMSwwLDEyNSwxNSwwLDg3LDExMCwyNCwwLAorICAgIDQsMTE2LDIyLDAsMTA3LDEwLDAsMTE0LDM1LDIsMSwxLDEsMTAwLDE4LDAsCisgICAgMTI1LDE1LDAsODksMTEwLDEsMCw4OCwxMTYsMTksMCwxMjQsNywwLDEwMCwxNywKKyAgICAwLDEyNCwxNSwwLDEzMSwzLDAsMSwxMTYsMTgsMCwxMDAsMTksMCwxMzEsMSwKKyAgICAwLDEyNSwxNiwwLDExNiwxOSwwLDEyNCw3LDAsMTAwLDE5LDAsMTI0LDE2LDAsCisgICAgMTMxLDMsMCwxLDEyNCwxMSwwLDEwMCw3LDAsMTA3LDIsMCwxMTQsMTIwLDIsCisgICAgMTE2LDE4LDAsMTAwLDIwLDAsMTMxLDEsMCwxMjUsMTcsMCwxMTYsMTksMCwxMjQsCisgICAgNywwLDEwMCwyMSwwLDEyNCwxNywwLDEzMSwzLDAsMSwxMTYsMTksMCwxMjQsCisgICAgNywwLDEwMCwyMiwwLDExNiwyNCwwLDEzMSwwLDAsMTMxLDMsMCwxLDExNiwKKyAgICAyNSwwLDEwNiwyNiwwLDExNiwwLDAsMTA2LDI3LDAsMTMxLDAsMCwxMzEsMSwKKyAgICAwLDEsMTI0LDExLDAsMTAwLDcsMCwxMDcsMiwwLDExNCwyMDQsMiwxMTYsMjgsCisgICAgMCwxMDYsMjksMCwxMDAsMjMsMCwxMzEsMSwwLDEsMTAwLDI0LDAsMTE2LDI1LAorICAgIDAsMTA3LDYsMCwxMTQsMjA0LDIsMTAwLDI1LDAsMTE2LDMwLDAsOTUsMzEsMCwKKyAgICAxMDAsMTgsMCw4Myw0MSwyNywxMjIsMjUwLDgzLDEwMSwxMTYsMTE3LDExMiwzMiwxMDUsMTA5LAorICAgIDExMiwxMTEsMTE0LDExNiwxMDgsMTA1LDk4LDMyLDk4LDEyMSwzMiwxMDUsMTA5LDExMiwxMTEsMTE0LAorICAgIDExNiwxMDUsMTEwLDEwMywzMiwxMTAsMTAxLDEwMSwxMDAsMTAxLDEwMCwzMiw5OCwxMTcsMTA1LDEwOCwKKyAgICAxMTYsNDUsMTA1LDExMCwzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwxMTUsMzIsOTcsMTEwLDEwMCwKKyAgICAzMiwxMDUsMTEwLDEwNiwxMDEsOTksMTE2LDEwNSwxMTAsMTAzLDMyLDExNiwxMDQsMTAxLDEwOSwxMCwKKyAgICAzMiwzMiwzMiwzMiwxMDUsMTEwLDExNiwxMTEsMzIsMTE2LDEwNCwxMDEsMzIsMTAzLDEwOCwxMTEsCisgICAgOTgsOTcsMTA4LDMyLDExMCw5NywxMDksMTAxLDExNSwxMTIsOTcsOTksMTAxLDQ2LDEwLDEwLAorICAgIDMyLDMyLDMyLDMyLDY1LDExNSwzMiwxMTUsMTIxLDExNSwzMiwxMDUsMTE1LDMyLDExMCwxMDEsCisgICAgMTAxLDEwMCwxMDEsMTAwLDMyLDEwMiwxMTEsMTE0LDMyLDExNSwxMjEsMTE1LDQ2LDEwOSwxMTEsMTAwLAorICAgIDExNywxMDgsMTAxLDExNSwzMiw5Nyw5OSw5OSwxMDEsMTE1LDExNSwzMiw5NywxMTAsMTAwLDMyLAorICAgIDk1LDEwNSwxMDksMTEyLDMyLDEwNSwxMTUsMzIsMTEwLDEwMSwxMDEsMTAwLDEwMSwxMDAsMzIsMTE2LAorICAgIDExMSwzMiwxMDgsMTExLDk3LDEwMCwzMiw5OCwxMTcsMTA1LDEwOCwxMTYsNDUsMTA1LDExMCwxMCwKKyAgICAzMiwzMiwzMiwzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwxMTUsNDQsMzIsMTE2LDEwNCwxMTEsCisgICAgMTE1LDEwMSwzMiwxMTYsMTE5LDExMSwzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwxMTUsMzIsMTA5LAorICAgIDExNywxMTUsMTE2LDMyLDk4LDEwMSwzMiwxMDEsMTIwLDExMiwxMDgsMTA1LDk5LDEwNSwxMTYsMTA4LAorICAgIDEyMSwzMiwxMTIsOTcsMTE1LDExNSwxMDEsMTAwLDMyLDEwNSwxMTAsNDYsMTAsMTAsMzIsMzIsCisgICAgMzIsMzIsMTE0LDQ5LDAsMCwwLDExNCwxNjcsMCwwLDAsMjE4LDgsOTgsMTE3LAorICAgIDEwNSwxMDgsMTE2LDEwNSwxMTAsMTE1LDExNCwxOTAsMCwwLDAsOTAsNSwxMTIsMTExLDExNSwKKyAgICAxMDUsMTIwLDI1MCwxLDQ3LDIxOCwyLDExMCwxMTYsMjUwLDEsOTIsOTksMSwwLDAsCisgICAgMCwwLDAsMCwwLDIsMCwwLDAsMywwLDAsMCwxMTUsMCwwLAorICAgIDAsMTE1LDMzLDAsMCwwLDEyNCwwLDAsOTMsMjMsMCwxMjUsMSwwLDExNiwKKyAgICAwLDAsMTI0LDEsMCwxMzEsMSwwLDEwMCwwLDAsMTA3LDIsMCw4NiwxLAorICAgIDExMywzLDAsMTAwLDEsMCw4Myw0MSwyLDExNCwyOSwwLDAsMCw3OCw0MSwKKyAgICAxLDExNCwzMSwwLDAsMCw0MSwyLDExNCwyMiwwLDAsMCwxMTQsMTI5LDAsCisgICAgMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwKKyAgICAwLDExNCw3NywwLDAsMCw3MSw5LDAsMCwxMTUsMiwwLDAsMCw2LAorICAgIDAsMTIyLDI1LDk1LDExNSwxMDEsMTE2LDExNywxMTIsNDYsNjAsMTA4LDExMSw5OSw5NywxMDgsCisgICAgMTE1LDYyLDQ2LDYwLDEwMywxMDEsMTEwLDEwMSwxMjAsMTEyLDExNCw2MiwxMTQsODQsMCwwLAorICAgIDAsMTIyLDMwLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDEwOCwxMDUsOTgsMzIsMTE0LDEwMSwxMTMsCisgICAgMTE3LDEwNSwxMTQsMTAxLDExNSwzMiwxMTIsMTExLDExNSwxMDUsMTIwLDMyLDExMSwxMTQsMzIsMTEwLAorICAgIDExNiwxMTQsMywwLDAsMCwxMTQsMjUsMCwwLDAsMTE0LDIxLDAsMCwwLAorICAgIDExNCwzMCwwLDAsMCwxMTQsODUsMCwwLDAsNzgsMTE0LDExMSwwLDAsMCwKKyAgICA5MCw2LDExOSwxMDUsMTEwLDExNCwxMDEsMTAzLDExNCwyMywxLDAsMCwxMTQsNiwwLAorICAgIDAsMCwxMjIsNCw0NiwxMTIsMTIxLDExOSwxMjIsNiw5NSwxMDAsNDYsMTEyLDEyMSwxMDAsCisgICAgODQsNDEsNCwxMjIsMyw5NSwxMDUsMTExLDEyMiw5LDk1LDExOSw5NywxMTQsMTEwLDEwNSwKKyAgICAxMTAsMTAzLDExNSwxMjIsOCw5OCwxMTcsMTA1LDEwOCwxMTYsMTA1LDExMCwxMTUsMTIyLDcsMTA5LAorICAgIDk3LDExNCwxMTUsMTA0LDk3LDEwOCw0MSwzMiwxMTQsMTA2LDAsMCwwLDExNCw3LDAsCisgICAgMCwwLDExNCwxMTcsMCwwLDAsMTE0LDExOCwwLDAsMCwxMTQsMTIwLDAsMCwKKyAgICAwLDExNCwyMzIsMCwwLDAsMTE0LDExOSwwLDAsMCwxMTQsNjYsMCwwLDAsCisgICAgMTE0LDczLDAsMCwwLDIxOCw1LDEwNSwxMTYsMTAxLDEwOSwxMTUsMTE0LDE5MSwwLDAsCisgICAgMCwxMTQsMTU4LDAsMCwwLDExNCw5LDEsMCwwLDExNCwxNjMsMCwwLDAsCisgICAgMTE0LDE4LDEsMCwwLDExNCwyNDcsMCwwLDAsMTE0LDI1MywwLDAsMCwxMTQsCisgICAgNTcsMCwwLDAsMTE0LDEyNywxLDAsMCwxMTQsNjEsMCwwLDAsMjE4LDMsCisgICAgOTcsMTA4LDEwOCwxMTQsMTAwLDAsMCwwLDExNCwxNTQsMCwwLDAsMTE0LDI2LDAsCisgICAgMCwwLDExNCwxMSwwLDAsMCwxMTQsNTksMSwwLDAsMTE0LDE5NiwwLDAsCisgICAgMCwxMTQsMTI0LDEsMCwwLDExNCwxMzUsMCwwLDAsMTE0LDIyMywwLDAsMCwKKyAgICAxMTQsMjIsMSwwLDAsMTE0LDI2LDEsMCwwLDQxLDE4LDIxOCwxMCwxMTUsMTIxLAorICAgIDExNSw5NSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwyMTgsMTEsOTUsMTA1LDEwOSwxMTIsOTUsMTA5LAorICAgIDExMSwxMDAsMTE3LDEwOCwxMDEsOTAsMTEsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsOTUsMTE2LDEyMSwKKyAgICAxMTIsMTAxLDExNCw2NywwLDAsMCwxMTQsMTc4LDAsMCwwLDExNCwxNzAsMCwwLAorICAgIDAsMTE0LDE3NywwLDAsMCw5MCwxMSwxMTUsMTAxLDEwOCwxMDIsOTUsMTA5LDExMSwxMDAsCisgICAgMTE3LDEwOCwxMDEsOTAsMTIsOTgsMTE3LDEwNSwxMDgsMTE2LDEwNSwxMTAsOTUsMTEwLDk3LDEwOSwKKyAgICAxMDEsOTAsMTQsOTgsMTE3LDEwNSwxMDgsMTE2LDEwNSwxMTAsOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwKKyAgICAxMDEsOTAsMTAsMTExLDExNSw5NSwxMDAsMTAxLDExNiw5NywxMDUsMTA4LDExNSw5MCwxMCw5OCwKKyAgICAxMTcsMTA1LDEwOCwxMTYsMTA1LDExMCw5NSwxMTEsMTE1LDExNCwyMSwwLDAsMCwxMTQsMjUsCisgICAgMCwwLDAsOTAsOSwxMTEsMTE1LDk1LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDkwLDEzLAorICAgIDExNiwxMDQsMTE0LDEwMSw5NywxMDAsOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsOTAsMTQsMTE5LAorICAgIDEwMSw5NywxMDcsMTE0LDEwMSwxMDIsOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsOTAsMTMsMTE5LAorICAgIDEwNSwxMTAsMTE0LDEwMSwxMDMsOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMTE0LDQsMCwwLAorICAgIDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMjE4LDYsOTUsMTE1LDEwMSwKKyAgICAxMTYsMTE3LDExMiwyOCw5LDAsMCwxMTUsMTA2LDAsMCwwLDAsOSw2LDEsCisgICAgNiwyLDEyLDEsOSwyLDYsMywxMiwxLDI4LDEsMTUsMSwxNSwxLAorICAgIDksMSwxNSwxLDksMiwzLDEsMTUsMSwxNywzLDEzLDEsMTMsMSwKKyAgICAxNSwxLDE1LDIsMTMsMSwyMCwzLDMzLDEsMTksMiwzMSwxLDEwLDEsCisgICAgMTUsMSwxMywxLDQsMiwzLDEsMTIsMSw1LDEsMTMsMSwxMiwyLAorICAgIDEyLDEsMTYsMSwxNiwxLDI1LDMsMywxLDE2LDEsMTMsMiwxMSwxLAorICAgIDE2LDMsMTIsMSwxNiwzLDEyLDEsMTIsMSwxNiwzLDE5LDEsMTksMSwKKyAgICAxMiwxLDEzLDEsMTIsMSwxMTQsMTM2LDEsMCwwLDk5LDIsMCwwLDAsCisgICAgMCwwLDAsMCwzLDAsMCwwLDMsMCwwLDAsNjcsMCwwLDAsCisgICAgMTE1LDEzMywwLDAsMCwxMTYsMCwwLDEyNCwwLDAsMTI0LDEsMCwxMzEsMiwKKyAgICAwLDEsMTE2LDEsMCwxMzEsMCwwLDEyNSwyLDAsMTE2LDIsMCwxMDYsMywKKyAgICAwLDEwNiw0LDAsMTE2LDUsMCwxMDYsNiwwLDEyNCwyLDAsMTQwLDAsMCwKKyAgICAxMDMsMSwwLDEzMSwxLDAsMSwxMTYsMiwwLDEwNiw3LDAsMTA2LDgsMCwKKyAgICAxMTYsOSwwLDEzMSwxLDAsMSwxMTYsMiwwLDEwNiw3LDAsMTA2LDgsMCwKKyAgICAxMTYsMTAsMCwxMzEsMSwwLDEsMTE2LDExLDAsMTA2LDEyLDAsMTAwLDEsMCwKKyAgICAxMDcsMiwwLDExNCwxMTMsMCwxMTYsMiwwLDEwNiw3LDAsMTA2LDgsMCwxMTYsCisgICAgMTMsMCwxMzEsMSwwLDEsMTE2LDIsMCwxMDYsNywwLDEwNiw4LDAsMTE2LAorICAgIDE0LDAsMTMxLDEsMCwxLDEwMCwyLDAsODMsNDEsMywxMjIsNTAsNzMsMTEwLAorICAgIDExNSwxMTYsOTcsMTA4LDEwOCwzMiwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwxMDgsMTA1LDk4LDMyLAorICAgIDk3LDExNSwzMiwxMTYsMTA0LDEwMSwzMiwxMDUsMTA5LDExMiwxMDgsMTAxLDEwOSwxMDEsMTEwLDExNiwKKyAgICA5NywxMTYsMTA1LDExMSwxMTAsMzIsMTExLDEwMiwzMiwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiw0NiwKKyAgICAxMTQsMTMwLDEsMCwwLDc4LDQxLDE1LDExNCwxMzYsMSwwLDAsMTE0LDI0MCwwLAorICAgIDAsMCwxMTQsNywwLDAsMCwxMTQsNzgsMSwwLDAsMTE0LDE5NiwwLDAsCisgICAgMCwxMTQsODcsMSwwLDAsMTE0LDEwMCwxLDAsMCwxMTQsMTA2LDEsMCwwLAorICAgIDExNCwyMjMsMCwwLDAsMTE0LDksMSwwLDAsMTE0LDE4LDEsMCwwLDExNCwKKyAgICAzLDAsMCwwLDExNCw1NywwLDAsMCwxMTQsMjIsMSwwLDAsMTE0LDczLAorICAgIDEsMCwwLDQxLDMsMTE0LDEzNCwxLDAsMCwxMTQsMTM1LDEsMCwwLDkwLAorICAgIDE3LDExNSwxMTcsMTEyLDExMiwxMTEsMTE0LDExNiwxMDEsMTAwLDk1LDEwOCwxMTEsOTcsMTAwLDEwMSwKKyAgICAxMTQsMTE1LDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwKKyAgICAwLDIxOCw4LDk1LDEwNSwxMTAsMTE1LDExNiw5NywxMDgsMTA4LDExNCw5LDAsMCwxMTUsCisgICAgMTYsMCwwLDAsMCwyLDEzLDEsOSwxLDI4LDEsMTYsMSwxNiwxLAorICAgIDE1LDEsMTYsMSwxMTQsMTM3LDEsMCwwLDQxLDMsMTIyLDMsMTE5LDEwNSwxMTAsCisgICAgMTE0LDEsMCwwLDAsMTE0LDIsMCwwLDAsNDEsOTgsMTE0LDU5LDAsMCwKKyAgICAwLDExNCwxMCwwLDAsMCwxMTQsMTEsMCwwLDAsMTE0LDE3LDAsMCwwLAorICAgIDExNCwxOSwwLDAsMCwxMTQsMjgsMCwwLDAsMTE0LDM4LDAsMCwwLDExNCwKKyAgICAzOSwwLDAsMCwxMTQsNDMsMCwwLDAsMTE0LDQ0LDAsMCwwLDExNCw0NiwKKyAgICAwLDAsMCwxMTQsNTUsMCwwLDAsMTE0LDY1LDAsMCwwLDExNCw2OCwwLAorICAgIDAsMCwxMTQsNjYsMCwwLDAsMjE4LDgsOTUsOTUsOTksMTExLDEwMCwxMDEsOTUsCisgICAgOTUsMTE0LDE5MiwwLDAsMCwxMTQsNjksMCwwLDAsMTE0LDEwOSwwLDAsMCwKKyAgICAxMTQsOTIsMCwwLDAsMTE0LDk5LDAsMCwwLDExNCw4MiwwLDAsMCwxMTQsCisgICAgODMsMCwwLDAsMTE0LDEwMiwwLDAsMCwxMTQsMTAzLDAsMCwwLDExNCwxMDUsCisgICAgMCwwLDAsMTE0LDExMiwwLDAsMCwxMTQsMTE0LDAsMCwwLDExNCwxNSwwLAorICAgIDAsMCwxMTQsMTg0LDAsMCwwLDExNCwxNCwwLDAsMCwxMTQsMTgsMCwwLAorICAgIDAsOTAsMTcsOTUsODIsNjUsODcsOTUsNzcsNjUsNzEsNzMsNjcsOTUsNzgsODUsCisgICAgNzcsNjYsNjksODIsMTE0LDEyNCwwLDAsMCwxMTQsMTM1LDAsMCwwLDExNCwxMTksCisgICAgMCwwLDAsMTE0LDEyMCwwLDAsMCwxMTQsMTMyLDAsMCwwLDExNCwxMzYsMCwKKyAgICAwLDAsMTE0LDE0MywwLDAsMCwxMTQsMTQ1LDAsMCwwLDExNCwxNTMsMCwwLAorICAgIDAsMTE0LDE1NywwLDAsMCwxMTQsMTYyLDAsMCwwLDExNCwxNjUsMCwwLDAsCisgICAgMTE0LDE3MywwLDAsMCwxMTQsMTc5LDAsMCwwLDExNCwxODksMCwwLDAsMTE0LAorICAgIDE5NCwwLDAsMCwxMTQsMTk3LDAsMCwwLDExNCwyMDIsMCwwLDAsMTE0LDIxMSwKKyAgICAwLDAsMCwxMTQsMjEyLDAsMCwwLDExNCwyMTYsMCwwLDAsMTE0LDE3NCwwLAorICAgIDAsMCwyMTgsNiwxMTEsOTgsMTA2LDEwMSw5OSwxMTYsMTE0LDI0MSwwLDAsMCwxMTQsCisgICAgMjM5LDAsMCwwLDExNCwyNDcsMCwwLDAsMTE0LDI1MywwLDAsMCwxMTQsMSwKKyAgICAxLDAsMCwxMTQsMjA5LDAsMCwwLDExNCwxNzUsMCwwLDAsMTE0LDQsMSwKKyAgICAwLDAsMTE0LDUsMSwwLDAsMTE0LDE3NiwwLDAsMCwxMTQsOCwxLDAsCisgICAgMCwxMTQsOSwxLDAsMCwxMTQsMTgsMSwwLDAsMTE0LDIyLDEsMCwwLAorICAgIDExNCwzMiwxLDAsMCwxMTQsMzMsMSwwLDAsMTE0LDQ4LDEsMCwwLDExNCwKKyAgICA3LDEsMCwwLDExNCw2LDEsMCwwLDExNCw1OSwxLDAsMCwxMTQsNTYsCisgICAgMSwwLDAsMTE0LDYwLDEsMCwwLDExNCwyNTAsMCwwLDAsMTE0LDczLDEsCisgICAgMCwwLDExNCw4NywxLDAsMCwxMTQsMTAxLDEsMCwwLDExNCwxMDQsMSwwLAorICAgIDAsMTE0LDEwNSwxLDAsMCwxMTQsMTA3LDEsMCwwLDExNCwxMTAsMSwwLDAsCisgICAgMTE0LDExOSwxLDAsMCwxMTQsMTExLDEsMCwwLDExNCwxMTMsMSwwLDAsMTE0LAorICAgIDExNCwxLDAsMCwxMTQsMTE1LDEsMCwwLDExNCwxMjEsMSwwLDAsMTE0LDEyMywKKyAgICAxLDAsMCwxMTQsMjQwLDAsMCwwLDExNCwxMjYsMSwwLDAsMTE0LDEyNywxLAorICAgIDAsMCwxMTQsMTM2LDEsMCwwLDExNCwxMzcsMSwwLDAsMTE0LDQsMCwwLAorICAgIDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsCisgICAgMjE4LDgsNjAsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsNjIsOCwwLDAsMCwxMTUsMTgyLAorICAgIDAsMCwwLDYsMTcsNiwzLDEyLDEyLDEyLDUsMTIsNSwxMiw2LDEyLAorICAgIDEyLDEyLDEwLDEyLDksMTIsNSwxMiw3LDE1LDIyLDEyLDgsMTIsNCwxNSwKKyAgICA0LDE5LDIwLDYsMiw2LDMsMjIsNCwxOSw2OCwxOSwyMSwxOSwxOSwxMiwKKyAgICAxOSwxMiwyMCwxMiwxMTUsMjIsMSwxOCwyLDYsMiw5LDIsOSwxLDksCisgICAgMiwxNSwyNywxMiwyMywxMiwxOSwxMiwxMiwxOCw4LDEyLDE4LDEyLDExLDEyLAorICAgIDExLDEyLDE4LDEyLDE1LDIxLDU1LDIxLDEyLDE4LDEwLDEyLDE0LDEyLDM2LDE5LAorICAgIDI3LDE5LDEwNiwyNCwyMiw5LDMsMTIsMSwxNSw2MywxOCw0NSwxOCw1NiwxMiwKKyAgICAxOCwxMiwxNywxMiwyNSwxMiwyOSwxMiwyMywxMiwxNCwxNSwyNSwxOSw3MCwxOSwKKyAgICA3NSwxOSw2MywxOSwyNywyMiwxMTAsMTksNDEsMjUsNDMsMjUsMTYsNiwzLDE5LAorICAgIDU3LDE5LDU3LDE5LDQxLDE5LDEzNCwxOSwxNDYsMTksMTMsMTIsOSwxMiw5LDE1LAorICAgIDQwLDEyLDE3LDYsMSwxMCwyLDEyLDI3LDEyLDYsMTgsMjQsMTIsMzIsMTIsCisgICAgMTUsMTIsMTEsMjQsMzUsMTIsNywxMiw4NiwKIH07CmRpZmYgLS1naXQgYS9QeXRob24vbWFyc2hhbC5jIGIvUHl0aG9uL21hcnNoYWwuYwppbmRleCA2ZjBlZTVlLi45M2Q5ZDFkIDEwMDY0NAotLS0gYS9QeXRob24vbWFyc2hhbC5jCisrKyBiL1B5dGhvbi9tYXJzaGFsLmMKQEAgLTEyLDggKzEyLDcgQEAKICNpbmNsdWRlICJsb25naW50cmVwci5oIgogI2luY2x1ZGUgImNvZGUuaCIKICNpbmNsdWRlICJtYXJzaGFsLmgiCi0KLSNkZWZpbmUgQUJTKHgpICgoeCkgPCAwID8gLSh4KSA6ICh4KSkKKyNpbmNsdWRlICIuLi9Nb2R1bGVzL2hhc2h0YWJsZS5oIgogCiAvKiBIaWdoIHdhdGVyIG1hcmsgdG8gZGV0ZXJtaW5lIHdoZW4gdGhlIG1hcnNoYWxsZWQgb2JqZWN0IGlzIGRhbmdlcm91c2x5IGRlZXAKICAqIGFuZCByaXNrcyBjb3JpbmcgdGhlIGludGVycHJldGVyLiAgV2hlbiB0aGUgb2JqZWN0IHN0YWNrIGdldHMgdGhpcyBkZWVwLApAQCAtMjEsNyArMjAsNyBAQAogICogT24gV2luZG93cyBkZWJ1ZyBidWlsZHMsIHJlZHVjZSB0aGlzIHZhbHVlLgogICovCiAjaWYgZGVmaW5lZChNU19XSU5ET1dTKSAmJiBkZWZpbmVkKF9ERUJVRykKLSNkZWZpbmUgTUFYX01BUlNIQUxfU1RBQ0tfREVQVEggMTUwMAorI2RlZmluZSBNQVhfTUFSU0hBTF9TVEFDS19ERVBUSCAxMDAwCiAjZWxzZQogI2RlZmluZSBNQVhfTUFSU0hBTF9TVEFDS19ERVBUSCAyMDAwCiAjZW5kaWYKQEAgLTY2LDU0ICs2NSw4MyBAQAogICAgIEZJTEUgKmZwOwogICAgIGludCBlcnJvcjsgIC8qIHNlZSBXRkVSUl8qIHZhbHVlcyAqLwogICAgIGludCBkZXB0aDsKLSAgICAvKiBJZiBmcCA9PSBOVUxMLCB0aGUgZm9sbG93aW5nIGFyZSB2YWxpZDogKi8KLSAgICBQeU9iamVjdCAqcmVhZGFibGU7ICAgIC8qIFN0cmVhbS1saWtlIG9iamVjdCBiZWluZyByZWFkIGZyb20gKi8KICAgICBQeU9iamVjdCAqc3RyOwotICAgIFB5T2JqZWN0ICpjdXJyZW50X2ZpbGVuYW1lOwogICAgIGNoYXIgKnB0cjsKICAgICBjaGFyICplbmQ7CiAgICAgY2hhciAqYnVmOwotICAgIFB5X3NzaXplX3QgYnVmX3NpemU7Ci0gICAgUHlPYmplY3QgKnJlZnM7IC8qIGRpY3Qgb24gbWFyc2hhbCwgbGlzdCBvbiB1bm1hcnNoYWwgKi8KKyAgICBfUHlfaGFzaHRhYmxlX3QgKmhhc2h0YWJsZTsKICAgICBpbnQgdmVyc2lvbjsKIH0gV0ZJTEU7CiAKLSNkZWZpbmUgd19ieXRlKGMsIHApIGlmICgoKHApLT5mcCkpIHB1dGMoKGMpLCAocCktPmZwKTsgXAotICAgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKChwKS0+cHRyICE9IChwKS0+ZW5kKSAqKHApLT5wdHIrKyA9IChjKTsgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB3X21vcmUoKGMpLCBwKQorI2RlZmluZSB3X2J5dGUoYywgcCkgZG8geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIGlmICgocCktPnB0ciAhPSAocCktPmVuZCB8fCB3X3Jlc2VydmUoKHApLCAxKSkgIFwKKyAgICAgICAgICAgICoocCktPnB0cisrID0gKGMpOyAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIH0gd2hpbGUoMCkKIAogc3RhdGljIHZvaWQKLXdfbW9yZShjaGFyIGMsIFdGSUxFICpwKQord19mbHVzaChXRklMRSAqcCkKIHsKLSAgICBQeV9zc2l6ZV90IHNpemUsIG5ld3NpemU7Ci0gICAgaWYgKHAtPnN0ciA9PSBOVUxMKQotICAgICAgICByZXR1cm47IC8qIEFuIGVycm9yIGFscmVhZHkgb2NjdXJyZWQgKi8KLSAgICBzaXplID0gUHlCeXRlc19TaXplKHAtPnN0cik7Ci0gICAgbmV3c2l6ZSA9IHNpemUgKyBzaXplICsgMTAyNDsKLSAgICBpZiAobmV3c2l6ZSA+IDMyKjEwMjQqMTAyNCkgewotICAgICAgICBuZXdzaXplID0gc2l6ZSArIChzaXplID4+IDMpOyAgICAgICAgICAgLyogMTIuNSUgb3ZlcmFsbG9jYXRpb24gKi8KKyAgICBhc3NlcnQocC0+ZnAgIT0gTlVMTCk7CisgICAgZndyaXRlKHAtPmJ1ZiwgMSwgcC0+cHRyIC0gcC0+YnVmLCBwLT5mcCk7CisgICAgcC0+cHRyID0gcC0+YnVmOworfQorCitzdGF0aWMgaW50Cit3X3Jlc2VydmUoV0ZJTEUgKnAsIFB5X3NzaXplX3QgbmVlZGVkKQoreworICAgIFB5X3NzaXplX3QgcG9zLCBzaXplLCBkZWx0YTsKKyAgICBpZiAocC0+cHRyID09IE5VTEwpCisgICAgICAgIHJldHVybiAwOyAvKiBBbiBlcnJvciBhbHJlYWR5IG9jY3VycmVkICovCisgICAgaWYgKHAtPmZwICE9IE5VTEwpIHsKKyAgICAgICAgd19mbHVzaChwKTsKKyAgICAgICAgcmV0dXJuIG5lZWRlZCA8PSBwLT5lbmQgLSBwLT5wdHI7CiAgICAgfQotICAgIGlmIChfUHlCeXRlc19SZXNpemUoJnAtPnN0ciwgbmV3c2l6ZSkgIT0gMCkgewotICAgICAgICBwLT5wdHIgPSBwLT5lbmQgPSBOVUxMOworICAgIGFzc2VydChwLT5zdHIgIT0gTlVMTCk7CisgICAgcG9zID0gcC0+cHRyIC0gcC0+YnVmOworICAgIHNpemUgPSBQeUJ5dGVzX1NpemUocC0+c3RyKTsKKyAgICBpZiAoc2l6ZSA+IDE2KjEwMjQqMTAyNCkKKyAgICAgICAgZGVsdGEgPSAoc2l6ZSA+PiAzKTsgICAgICAgICAgICAvKiAxMi41JSBvdmVyYWxsb2NhdGlvbiAqLworICAgIGVsc2UKKyAgICAgICAgZGVsdGEgPSBzaXplICsgMTAyNDsKKyAgICBkZWx0YSA9IFB5X01BWChkZWx0YSwgbmVlZGVkKTsKKyAgICBpZiAoZGVsdGEgPiBQWV9TU0laRV9UX01BWCAtIHNpemUpIHsKKyAgICAgICAgcC0+ZXJyb3IgPSBXRkVSUl9OT01FTU9SWTsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQorICAgIHNpemUgKz0gZGVsdGE7CisgICAgaWYgKF9QeUJ5dGVzX1Jlc2l6ZSgmcC0+c3RyLCBzaXplKSAhPSAwKSB7CisgICAgICAgIHAtPnB0ciA9IHAtPmJ1ZiA9IHAtPmVuZCA9IE5VTEw7CisgICAgICAgIHJldHVybiAwOwogICAgIH0KICAgICBlbHNlIHsKLSAgICAgICAgcC0+cHRyID0gUHlCeXRlc19BU19TVFJJTkcoKFB5Qnl0ZXNPYmplY3QgKilwLT5zdHIpICsgc2l6ZTsKLSAgICAgICAgcC0+ZW5kID0KLSAgICAgICAgICAgIFB5Qnl0ZXNfQVNfU1RSSU5HKChQeUJ5dGVzT2JqZWN0ICopcC0+c3RyKSArIG5ld3NpemU7Ci0gICAgICAgICpwLT5wdHIrKyA9IGM7CisgICAgICAgIHAtPmJ1ZiA9IFB5Qnl0ZXNfQVNfU1RSSU5HKHAtPnN0cik7CisgICAgICAgIHAtPnB0ciA9IHAtPmJ1ZiArIHBvczsKKyAgICAgICAgcC0+ZW5kID0gcC0+YnVmICsgc2l6ZTsKKyAgICAgICAgcmV0dXJuIDE7CiAgICAgfQogfQogCiBzdGF0aWMgdm9pZAogd19zdHJpbmcoY29uc3QgY2hhciAqcywgUHlfc3NpemVfdCBuLCBXRklMRSAqcCkKIHsKKyAgICBQeV9zc2l6ZV90IG07CisgICAgaWYgKCFuIHx8IHAtPnB0ciA9PSBOVUxMKQorICAgICAgICByZXR1cm47CisgICAgbSA9IHAtPmVuZCAtIHAtPnB0cjsKICAgICBpZiAocC0+ZnAgIT0gTlVMTCkgewotICAgICAgICBmd3JpdGUocywgMSwgbiwgcC0+ZnApOworICAgICAgICBpZiAobiA8PSBtKSB7CisgICAgICAgICAgICBQeV9NRU1DUFkocC0+cHRyLCBzLCBuKTsKKyAgICAgICAgICAgIHAtPnB0ciArPSBuOworICAgICAgICB9CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgd19mbHVzaChwKTsKKyAgICAgICAgICAgIGZ3cml0ZShzLCAxLCBuLCBwLT5mcCk7CisgICAgICAgIH0KICAgICB9CiAgICAgZWxzZSB7Ci0gICAgICAgIHdoaWxlICgtLW4gPj0gMCkgewotICAgICAgICAgICAgd19ieXRlKCpzLCBwKTsKLSAgICAgICAgICAgIHMrKzsKKyAgICAgICAgaWYgKG4gPD0gbSB8fCB3X3Jlc2VydmUocCwgbiAtIG0pKSB7CisgICAgICAgICAgICBQeV9NRU1DUFkocC0+cHRyLCBzLCBuKTsKKyAgICAgICAgICAgIHAtPnB0ciArPSBuOwogICAgICAgICB9CiAgICAgfQogfQpAQCAtMTkyLDcgKzIyMCw3IEBACiAgICAgfQogCiAgICAgLyogc2V0IGwgdG8gbnVtYmVyIG9mIGJhc2UgUHlMb25nX01BUlNIQUxfQkFTRSBkaWdpdHMgKi8KLSAgICBuID0gQUJTKFB5X1NJWkUob2IpKTsKKyAgICBuID0gUHlfQUJTKFB5X1NJWkUob2IpKTsKICAgICBsID0gKG4tMSkgKiBQeUxvbmdfTUFSU0hBTF9SQVRJTzsKICAgICBkID0gb2ItPm9iX2RpZ2l0W24tMV07CiAgICAgYXNzZXJ0KGQgIT0gMCk7IC8qIGEgUHlMb25nIGlzIGFsd2F5cyBub3JtYWxpemVkICovCkBAIC0yMjUsNDYgKzI1MywzOCBAQAogc3RhdGljIGludAogd19yZWYoUHlPYmplY3QgKnYsIGNoYXIgKmZsYWcsIFdGSUxFICpwKQogewotICAgIFB5T2JqZWN0ICppZDsKLSAgICBQeU9iamVjdCAqaWR4OworICAgIF9QeV9oYXNodGFibGVfZW50cnlfdCAqZW50cnk7CisgICAgaW50IHc7CiAKLSAgICBpZiAocC0+dmVyc2lvbiA8IDMgfHwgcC0+cmVmcyA9PSBOVUxMKQorICAgIGlmIChwLT52ZXJzaW9uIDwgMyB8fCBwLT5oYXNodGFibGUgPT0gTlVMTCkKICAgICAgICAgcmV0dXJuIDA7IC8qIG5vdCB3cml0aW5nIG9iamVjdCByZWZlcmVuY2VzICovCiAKICAgICAvKiBpZiBpdCBoYXMgb25seSBvbmUgcmVmZXJlbmNlLCBpdCBkZWZpbml0ZWx5IGlzbid0IHNoYXJlZCAqLwogICAgIGlmIChQeV9SRUZDTlQodikgPT0gMSkKICAgICAgICAgcmV0dXJuIDA7CiAKLSAgICBpZCA9IFB5TG9uZ19Gcm9tVm9pZFB0cigodm9pZCopdik7Ci0gICAgaWYgKGlkID09IE5VTEwpCi0gICAgICAgIGdvdG8gZXJyOwotICAgIGlkeCA9IFB5RGljdF9HZXRJdGVtKHAtPnJlZnMsIGlkKTsKLSAgICBpZiAoaWR4ICE9IE5VTEwpIHsKKyAgICBlbnRyeSA9IF9QeV9oYXNodGFibGVfZ2V0X2VudHJ5KHAtPmhhc2h0YWJsZSwgdik7CisgICAgaWYgKGVudHJ5ICE9IE5VTEwpIHsKICAgICAgICAgLyogd3JpdGUgdGhlIHJlZmVyZW5jZSBpbmRleCB0byB0aGUgc3RyZWFtICovCi0gICAgICAgIGxvbmcgdyA9IFB5TG9uZ19Bc0xvbmcoaWR4KTsKLSAgICAgICAgUHlfREVDUkVGKGlkKTsKLSAgICAgICAgaWYgKHcgPT0gLTEgJiYgUHlFcnJfT2NjdXJyZWQoKSkgewotICAgICAgICAgICAgZ290byBlcnI7Ci0gICAgICAgIH0KKyAgICAgICAgX1B5X0hBU0hUQUJMRV9FTlRSWV9SRUFEX0RBVEEocC0+aGFzaHRhYmxlLCAmdywgc2l6ZW9mKHcpLCBlbnRyeSk7CiAgICAgICAgIC8qIHdlIGRvbid0IHN0b3JlICJsb25nIiBpbmRpY2VzIGluIHRoZSBkaWN0ICovCiAgICAgICAgIGFzc2VydCgwIDw9IHcgJiYgdyA8PSAweDdmZmZmZmZmKTsKICAgICAgICAgd19ieXRlKFRZUEVfUkVGLCBwKTsKICAgICAgICAgd19sb25nKHcsIHApOwogICAgICAgICByZXR1cm4gMTsKICAgICB9IGVsc2UgewotICAgICAgICBpbnQgb2s7Ci0gICAgICAgIFB5X3NzaXplX3QgcyA9IFB5RGljdF9TaXplKHAtPnJlZnMpOworICAgICAgICBzaXplX3QgcyA9IHAtPmhhc2h0YWJsZS0+ZW50cmllczsKICAgICAgICAgLyogd2UgZG9uJ3Qgc3VwcG9ydCBsb25nIGluZGljZXMgKi8KICAgICAgICAgaWYgKHMgPj0gMHg3ZmZmZmZmZikgewogICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsICJ0b28gbWFueSBvYmplY3RzIik7CiAgICAgICAgICAgICBnb3RvIGVycjsKICAgICAgICAgfQotICAgICAgICBpZHggPSBQeUxvbmdfRnJvbVNzaXplX3Qocyk7Ci0gICAgICAgIG9rID0gaWR4ICYmIFB5RGljdF9TZXRJdGVtKHAtPnJlZnMsIGlkLCBpZHgpID09IDA7Ci0gICAgICAgIFB5X0RFQ1JFRihpZCk7Ci0gICAgICAgIFB5X1hERUNSRUYoaWR4KTsKLSAgICAgICAgaWYgKCFvaykKKyAgICAgICAgdyA9IChpbnQpczsKKyAgICAgICAgUHlfSU5DUkVGKHYpOworICAgICAgICBpZiAoX1B5X0hBU0hUQUJMRV9TRVQocC0+aGFzaHRhYmxlLCB2LCB3KSA8IDApIHsKKyAgICAgICAgICAgIFB5X0RFQ1JFRih2KTsKICAgICAgICAgICAgIGdvdG8gZXJyOworICAgICAgICB9CiAgICAgICAgICpmbGFnIHw9IEZMQUdfUkVGOwogICAgICAgICByZXR1cm4gMDsKICAgICB9CkBAIC01NDcsMzcgKzU2Nyw4MSBAQAogICAgIH0KIH0KIAorc3RhdGljIGludAord19pbml0X3JlZnMoV0ZJTEUgKndmLCBpbnQgdmVyc2lvbikKK3sKKyAgICBpZiAodmVyc2lvbiA+PSAzKSB7CisgICAgICAgIHdmLT5oYXNodGFibGUgPSBfUHlfaGFzaHRhYmxlX25ldyhzaXplb2YoaW50KSwgX1B5X2hhc2h0YWJsZV9oYXNoX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9QeV9oYXNodGFibGVfY29tcGFyZV9kaXJlY3QpOworICAgICAgICBpZiAod2YtPmhhc2h0YWJsZSA9PSBOVUxMKSB7CisgICAgICAgICAgICBQeUVycl9Ob01lbW9yeSgpOworICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICB9CisgICAgfQorICAgIHJldHVybiAwOworfQorCitzdGF0aWMgaW50Cit3X2RlY3JlZl9lbnRyeShfUHlfaGFzaHRhYmxlX2VudHJ5X3QgKmVudHJ5LCB2b2lkICpQeV9VTlVTRUQoZGF0YSkpCit7CisgICAgUHlfWERFQ1JFRihlbnRyeS0+a2V5KTsKKyAgICByZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQKK3dfY2xlYXJfcmVmcyhXRklMRSAqd2YpCit7CisgICAgaWYgKHdmLT5oYXNodGFibGUgIT0gTlVMTCkgeworICAgICAgICBfUHlfaGFzaHRhYmxlX2ZvcmVhY2god2YtPmhhc2h0YWJsZSwgd19kZWNyZWZfZW50cnksIE5VTEwpOworICAgICAgICBfUHlfaGFzaHRhYmxlX2Rlc3Ryb3kod2YtPmhhc2h0YWJsZSk7CisgICAgfQorfQorCiAvKiB2ZXJzaW9uIGN1cnJlbnRseSBoYXMgbm8gZWZmZWN0IGZvciB3cml0aW5nIGludHMuICovCiB2b2lkCiBQeU1hcnNoYWxfV3JpdGVMb25nVG9GaWxlKGxvbmcgeCwgRklMRSAqZnAsIGludCB2ZXJzaW9uKQogeworICAgIGNoYXIgYnVmWzRdOwogICAgIFdGSUxFIHdmOworICAgIG1lbXNldCgmd2YsIDAsIHNpemVvZih3ZikpOwogICAgIHdmLmZwID0gZnA7CisgICAgd2YucHRyID0gd2YuYnVmID0gYnVmOworICAgIHdmLmVuZCA9IHdmLnB0ciArIHNpemVvZihidWYpOwogICAgIHdmLmVycm9yID0gV0ZFUlJfT0s7Ci0gICAgd2YuZGVwdGggPSAwOwotICAgIHdmLnJlZnMgPSBOVUxMOwogICAgIHdmLnZlcnNpb24gPSB2ZXJzaW9uOwogICAgIHdfbG9uZyh4LCAmd2YpOworICAgIHdfZmx1c2goJndmKTsKIH0KIAogdm9pZAogUHlNYXJzaGFsX1dyaXRlT2JqZWN0VG9GaWxlKFB5T2JqZWN0ICp4LCBGSUxFICpmcCwgaW50IHZlcnNpb24pCiB7CisgICAgY2hhciBidWZbQlVGU0laXTsKICAgICBXRklMRSB3ZjsKKyAgICBtZW1zZXQoJndmLCAwLCBzaXplb2Yod2YpKTsKICAgICB3Zi5mcCA9IGZwOworICAgIHdmLnB0ciA9IHdmLmJ1ZiA9IGJ1ZjsKKyAgICB3Zi5lbmQgPSB3Zi5wdHIgKyBzaXplb2YoYnVmKTsKICAgICB3Zi5lcnJvciA9IFdGRVJSX09LOwotICAgIHdmLmRlcHRoID0gMDsKLSAgICBpZiAodmVyc2lvbiA+PSAzKSB7Ci0gICAgICAgIGlmICgod2YucmVmcyA9IFB5RGljdF9OZXcoKSkgPT0gTlVMTCkKLSAgICAgICAgICAgIHJldHVybjsgLyogY2FsbGVyIG11c2ggY2hlY2sgUHlFcnJfT2NjdXJyZWQoKSAqLwotICAgIH0gZWxzZQotICAgICAgICB3Zi5yZWZzID0gTlVMTDsKICAgICB3Zi52ZXJzaW9uID0gdmVyc2lvbjsKKyAgICBpZiAod19pbml0X3JlZnMoJndmLCB2ZXJzaW9uKSkKKyAgICAgICAgcmV0dXJuOyAvKiBjYWxsZXIgbXVzaCBjaGVjayBQeUVycl9PY2N1cnJlZCgpICovCiAgICAgd19vYmplY3QoeCwgJndmKTsKLSAgICBQeV9YREVDUkVGKHdmLnJlZnMpOworICAgIHdfY2xlYXJfcmVmcygmd2YpOworICAgIHdfZmx1c2goJndmKTsKIH0KIAotdHlwZWRlZiBXRklMRSBSRklMRTsgLyogU2FtZSBzdHJ1Y3Qgd2l0aCBkaWZmZXJlbnQgaW52YXJpYW50cyAqLwordHlwZWRlZiBzdHJ1Y3QgeworICAgIEZJTEUgKmZwOworICAgIGludCBkZXB0aDsKKyAgICBQeU9iamVjdCAqcmVhZGFibGU7ICAvKiBTdHJlYW0tbGlrZSBvYmplY3QgYmVpbmcgcmVhZCBmcm9tICovCisgICAgUHlPYmplY3QgKmN1cnJlbnRfZmlsZW5hbWU7CisgICAgY2hhciAqcHRyOworICAgIGNoYXIgKmVuZDsKKyAgICBjaGFyICpidWY7CisgICAgUHlfc3NpemVfdCBidWZfc2l6ZTsKKyAgICBQeU9iamVjdCAqcmVmczsgIC8qIGEgbGlzdCAqLworfSBSRklMRTsKIAogc3RhdGljIGNoYXIgKgogcl9zdHJpbmcoUHlfc3NpemVfdCBuLCBSRklMRSAqcCkKQEAgLTcyNyw4ICs3OTEsOCBAQAogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CiAKLSAgICBzaXplID0gMSArIChBQlMobikgLSAxKSAvIFB5TG9uZ19NQVJTSEFMX1JBVElPOwotICAgIHNob3J0c19pbl90b3BfZGlnaXQgPSAxICsgKEFCUyhuKSAtIDEpICUgUHlMb25nX01BUlNIQUxfUkFUSU87CisgICAgc2l6ZSA9IDEgKyAoUHlfQUJTKG4pIC0gMSkgLyBQeUxvbmdfTUFSU0hBTF9SQVRJTzsKKyAgICBzaG9ydHNfaW5fdG9wX2RpZ2l0ID0gMSArIChQeV9BQlMobikgLSAxKSAlIFB5TG9uZ19NQVJTSEFMX1JBVElPOwogICAgIG9iID0gX1B5TG9uZ19OZXcoc2l6ZSk7CiAgICAgaWYgKG9iID09IE5VTEwpCiAgICAgICAgIHJldHVybiBOVUxMOwpAQCAtMTQxNywxNiArMTQ4MSwyMCBAQAogICAgIHJldHVybiByZXM7CiB9CiAKLSNpZmRlZiBIQVZFX0ZTVEFUCi0vKiBSZXR1cm4gc2l6ZSBvZiBmaWxlIGluIGJ5dGVzOyA8IDAgaWYgdW5rbm93bi4gKi8KKyNpZiBkZWZpbmVkKEhBVkVfRlNUQVQpIHx8IGRlZmluZWQoTVNfV0lORE9XUykKKy8qIFJldHVybiBzaXplIG9mIGZpbGUgaW4gYnl0ZXM7IDwgMCBpZiB1bmtub3duIG9yIElOVF9NQVggaWYgdG9vIGJpZyAqLwogc3RhdGljIG9mZl90CiBnZXRmaWxlc2l6ZShGSUxFICpmcCkKIHsKLSAgICBzdHJ1Y3Qgc3RhdCBzdDsKLSAgICBpZiAoZnN0YXQoZmlsZW5vKGZwKSwgJnN0KSAhPSAwKQorICAgIHN0cnVjdCBfUHlfc3RhdF9zdHJ1Y3Qgc3Q7CisgICAgaWYgKF9QeV9mc3RhdChmaWxlbm8oZnApLCAmc3QpICE9IDApCiAgICAgICAgIHJldHVybiAtMTsKKyNpZiBTSVpFT0ZfT0ZGX1QgPT0gNAorICAgIGVsc2UgaWYgKHN0LnN0X3NpemUgPj0gSU5UX01BWCkKKyAgICAgICAgcmV0dXJuIChvZmZfdClJTlRfTUFYOworI2VuZGlmCiAgICAgZWxzZQotICAgICAgICByZXR1cm4gc3Quc3Rfc2l6ZTsKKyAgICAgICAgcmV0dXJuIChvZmZfdClzdC5zdF9zaXplOwogfQogI2VuZGlmCiAKQEAgLTE0NDEsNyArMTUwOSw3IEBACiB7CiAvKiBSRUFTT05BQkxFX0ZJTEVfTElNSVQgaXMgYnkgZGVmbiBzb21ldGhpbmcgYmlnIGVub3VnaCBmb3IgVGtpbnRlci5weWMuICovCiAjZGVmaW5lIFJFQVNPTkFCTEVfRklMRV9MSU1JVCAoMUwgPDwgMTgpCi0jaWZkZWYgSEFWRV9GU1RBVAorI2lmIGRlZmluZWQoSEFWRV9GU1RBVCkgfHwgZGVmaW5lZChNU19XSU5ET1dTKQogICAgIG9mZl90IGZpbGVzaXplOwogICAgIGZpbGVzaXplID0gZ2V0ZmlsZXNpemUoZnApOwogICAgIGlmIChmaWxlc2l6ZSA+IDAgJiYgZmlsZXNpemUgPD0gUkVBU09OQUJMRV9GSUxFX0xJTUlUKSB7CkBAIC0xNTExLDI1ICsxNTc5LDIwIEBACiB7CiAgICAgV0ZJTEUgd2Y7CiAKLSAgICB3Zi5mcCA9IE5VTEw7Ci0gICAgd2YucmVhZGFibGUgPSBOVUxMOworICAgIG1lbXNldCgmd2YsIDAsIHNpemVvZih3ZikpOwogICAgIHdmLnN0ciA9IFB5Qnl0ZXNfRnJvbVN0cmluZ0FuZFNpemUoKGNoYXIgKilOVUxMLCA1MCk7CiAgICAgaWYgKHdmLnN0ciA9PSBOVUxMKQogICAgICAgICByZXR1cm4gTlVMTDsKLSAgICB3Zi5wdHIgPSBQeUJ5dGVzX0FTX1NUUklORygoUHlCeXRlc09iamVjdCAqKXdmLnN0cik7CisgICAgd2YucHRyID0gd2YuYnVmID0gUHlCeXRlc19BU19TVFJJTkcoKFB5Qnl0ZXNPYmplY3QgKil3Zi5zdHIpOwogICAgIHdmLmVuZCA9IHdmLnB0ciArIFB5Qnl0ZXNfU2l6ZSh3Zi5zdHIpOwogICAgIHdmLmVycm9yID0gV0ZFUlJfT0s7Ci0gICAgd2YuZGVwdGggPSAwOwogICAgIHdmLnZlcnNpb24gPSB2ZXJzaW9uOwotICAgIGlmICh2ZXJzaW9uID49IDMpIHsKLSAgICAgICAgaWYgKCh3Zi5yZWZzID0gUHlEaWN0X05ldygpKSA9PSBOVUxMKSB7Ci0gICAgICAgICAgICBQeV9ERUNSRUYod2Yuc3RyKTsKLSAgICAgICAgICAgIHJldHVybiBOVUxMOwotICAgICAgICB9Ci0gICAgfSBlbHNlCi0gICAgICAgIHdmLnJlZnMgPSBOVUxMOworICAgIGlmICh3X2luaXRfcmVmcygmd2YsIHZlcnNpb24pKSB7CisgICAgICAgIFB5X0RFQ1JFRih3Zi5zdHIpOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CiAgICAgd19vYmplY3QoeCwgJndmKTsKLSAgICBQeV9YREVDUkVGKHdmLnJlZnMpOworICAgIHdfY2xlYXJfcmVmcygmd2YpOwogICAgIGlmICh3Zi5zdHIgIT0gTlVMTCkgewogICAgICAgICBjaGFyICpiYXNlID0gUHlCeXRlc19BU19TVFJJTkcoKFB5Qnl0ZXNPYmplY3QgKil3Zi5zdHIpOwogICAgICAgICBpZiAod2YucHRyIC0gYmFzZSA+IFBZX1NTSVpFX1RfTUFYKSB7CmRpZmYgLS1naXQgYS9QeXRob24vb3Bjb2RlX3RhcmdldHMuaCBiL1B5dGhvbi9vcGNvZGVfdGFyZ2V0cy5oCmluZGV4IGY5MGExN2EuLjE1NTNhN2EgMTAwNjQ0Ci0tLSBhL1B5dGhvbi9vcGNvZGVfdGFyZ2V0cy5oCisrKyBiL1B5dGhvbi9vcGNvZGVfdGFyZ2V0cy5oCkBAIC0xNSw4ICsxNSw4IEBACiAgICAgJiZfdW5rbm93bl9vcGNvZGUsCiAgICAgJiZfdW5rbm93bl9vcGNvZGUsCiAgICAgJiZUQVJHRVRfVU5BUllfSU5WRVJULAotICAgICYmX3Vua25vd25fb3Bjb2RlLAotICAgICYmX3Vua25vd25fb3Bjb2RlLAorICAgICYmVEFSR0VUX0JJTkFSWV9NQVRSSVhfTVVMVElQTFksCisgICAgJiZUQVJHRVRfSU5QTEFDRV9NQVRSSVhfTVVMVElQTFksCiAgICAgJiZfdW5rbm93bl9vcGNvZGUsCiAgICAgJiZUQVJHRVRfQklOQVJZX1BPV0VSLAogICAgICYmVEFSR0VUX0JJTkFSWV9NVUxUSVBMWSwKZGlmZiAtLWdpdCBhL1B5dGhvbi9wZWVwaG9sZS5jIGIvUHl0aG9uL3BlZXBob2xlLmMKaW5kZXggYzU2YzhmYy4uMmY4ZjBlNSAxMDA2NDQKLS0tIGEvUHl0aG9uL3BlZXBob2xlLmMKKysrIGIvUHl0aG9uL3BlZXBob2xlLmMKQEAgLTE4LDcgKzE4LDExIEBACiAgICAgfHwgb3A9PUpVTVBfSUZfRkFMU0VfT1JfUE9QIHx8IG9wPT1KVU1QX0lGX1RSVUVfT1JfUE9QKQogI2RlZmluZSBKVU1QU19PTl9UUlVFKG9wKSAob3A9PVBPUF9KVU1QX0lGX1RSVUUgfHwgb3A9PUpVTVBfSUZfVFJVRV9PUl9QT1ApCiAjZGVmaW5lIEdFVEpVTVBUR1QoYXJyLCBpKSAoR0VUQVJHKGFycixpKSArIChBQlNPTFVURV9KVU1QKGFycltpXSkgPyAwIDogaSszKSkKLSNkZWZpbmUgU0VUQVJHKGFyciwgaSwgdmFsKSBhcnJbaSsyXSA9IHZhbD4+ODsgYXJyW2krMV0gPSB2YWwgJiAyNTUKKyNkZWZpbmUgU0VUQVJHKGFyciwgaSwgdmFsKSBkbyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBhc3NlcnQoMCA8PSB2YWwgJiYgdmFsIDw9IDB4ZmZmZik7ICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBhcnJbaSsyXSA9ICh1bnNpZ25lZCBjaGFyKSgoKHVuc2lnbmVkIGludCl2YWwpPj44KTsgICAgIFwKKyAgICBhcnJbaSsxXSA9ICh1bnNpZ25lZCBjaGFyKSgoKHVuc2lnbmVkIGludCl2YWwpICYgMjU1KTsgIFwKK30gd2hpbGUoMCkKICNkZWZpbmUgQ09ERVNJWkUob3ApICAoSEFTX0FSRyhvcCkgPyAzIDogMSkKICNkZWZpbmUgSVNCQVNJQ0JMT0NLKGJsb2Nrcywgc3RhcnQsIGJ5dGVzKSBcCiAgICAgKGJsb2Nrc1tzdGFydF09PWJsb2Nrc1tzdGFydCtieXRlcy0xXSkKQEAgLTM1NSw3ICszNTksOCBAQAogICAgIHVuc2lnbmVkIGNoYXIgKmNvZGVzdHIgPSBOVUxMOwogICAgIHVuc2lnbmVkIGNoYXIgKmxpbmVubzsKICAgICBpbnQgKmFkZHJtYXAgPSBOVUxMOwotICAgIGludCBuZXdfbGluZSwgY3VtX29yaWdfbGluZSwgbGFzdF9saW5lLCB0YWJzaXo7CisgICAgaW50IG5ld19saW5lLCBjdW1fb3JpZ19saW5lLCBsYXN0X2xpbmU7CisgICAgUHlfc3NpemVfdCB0YWJzaXo7CiAgICAgUHlPYmplY3QgKipjb25zdF9zdGFjayA9IE5VTEw7CiAgICAgUHlfc3NpemVfdCAqbG9hZF9jb25zdF9zdGFjayA9IE5VTEw7CiAgICAgUHlfc3NpemVfdCBjb25zdF9zdGFja190b3AgPSAtMTsKQEAgLTY2MCw3ICs2NjUsOCBAQAogCiAgICAgLyogRml4dXAgbGluZW5vdGFiICovCiAgICAgZm9yIChpPTAsIG5vcHM9MCA7IGk8Y29kZWxlbiA7IGkgKz0gQ09ERVNJWkUoY29kZXN0cltpXSkpIHsKLSAgICAgICAgYWRkcm1hcFtpXSA9IGkgLSBub3BzOworICAgICAgICBhc3NlcnQoaSAtIG5vcHMgPD0gSU5UX01BWCk7CisgICAgICAgIGFkZHJtYXBbaV0gPSAoaW50KShpIC0gbm9wcyk7CiAgICAgICAgIGlmIChjb2Rlc3RyW2ldID09IE5PUCkKICAgICAgICAgICAgIG5vcHMrKzsKICAgICB9CmRpZmYgLS1naXQgYS9QeXRob24vcHlsaWZlY3ljbGUuYyBiL1B5dGhvbi9weWxpZmVjeWNsZS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJhMzZiNTMKLS0tIC9kZXYvbnVsbAorKysgYi9QeXRob24vcHlsaWZlY3ljbGUuYwpAQCAtMCwwICsxLDE1MDIgQEAKKworLyogUHl0aG9uIGludGVycHJldGVyIHRvcC1sZXZlbCByb3V0aW5lcywgaW5jbHVkaW5nIGluaXQvZXhpdCAqLworCisjaW5jbHVkZSAiUHl0aG9uLmgiCisKKyNpbmNsdWRlICJQeXRob24tYXN0LmgiCisjdW5kZWYgWWllbGQgLyogdW5kZWZpbmUgbWFjcm8gY29uZmxpY3Rpbmcgd2l0aCB3aW5iYXNlLmggKi8KKyNpbmNsdWRlICJncmFtbWFyLmgiCisjaW5jbHVkZSAibm9kZS5oIgorI2luY2x1ZGUgInRva2VuLmgiCisjaW5jbHVkZSAicGFyc2V0b2suaCIKKyNpbmNsdWRlICJlcnJjb2RlLmgiCisjaW5jbHVkZSAiY29kZS5oIgorI2luY2x1ZGUgInN5bXRhYmxlLmgiCisjaW5jbHVkZSAiYXN0LmgiCisjaW5jbHVkZSAibWFyc2hhbC5oIgorI2luY2x1ZGUgIm9zZGVmcy5oIgorI2luY2x1ZGUgPGxvY2FsZS5oPgorCisjaWZkZWYgSEFWRV9TSUdOQUxfSAorI2luY2x1ZGUgPHNpZ25hbC5oPgorI2VuZGlmCisKKyNpZmRlZiBNU19XSU5ET1dTCisjaW5jbHVkZSAibWFsbG9jLmgiIC8qIGZvciBhbGxvY2EgKi8KKyNlbmRpZgorCisjaWZkZWYgSEFWRV9MQU5HSU5GT19ICisjaW5jbHVkZSA8bGFuZ2luZm8uaD4KKyNlbmRpZgorCisjaWZkZWYgTVNfV0lORE9XUworI3VuZGVmIEJZVEUKKyNpbmNsdWRlICJ3aW5kb3dzLmgiCisjZW5kaWYKKworX1B5X0lERU5USUZJRVIoZmx1c2gpOworX1B5X0lERU5USUZJRVIobmFtZSk7CitfUHlfSURFTlRJRklFUihzdGRpbik7CitfUHlfSURFTlRJRklFUihzdGRvdXQpOworX1B5X0lERU5USUZJRVIoc3RkZXJyKTsKKworI2lmZGVmIF9fY3BsdXNwbHVzCitleHRlcm4gIkMiIHsKKyNlbmRpZgorCitleHRlcm4gd2NoYXJfdCAqUHlfR2V0UGF0aCh2b2lkKTsKKworZXh0ZXJuIGdyYW1tYXIgX1B5UGFyc2VyX0dyYW1tYXI7IC8qIEZyb20gZ3JhbWluaXQuYyAqLworCisvKiBGb3J3YXJkICovCitzdGF0aWMgdm9pZCBpbml0bWFpbihQeUludGVycHJldGVyU3RhdGUgKmludGVycCk7CitzdGF0aWMgaW50IGluaXRmc2VuY29kaW5nKFB5SW50ZXJwcmV0ZXJTdGF0ZSAqaW50ZXJwKTsKK3N0YXRpYyB2b2lkIGluaXRzaXRlKHZvaWQpOworc3RhdGljIGludCBpbml0c3RkaW8odm9pZCk7CitzdGF0aWMgdm9pZCBpbml0c2lncyh2b2lkKTsKK3N0YXRpYyB2b2lkIGNhbGxfcHlfZXhpdGZ1bmNzKHZvaWQpOworc3RhdGljIHZvaWQgd2FpdF9mb3JfdGhyZWFkX3NodXRkb3duKHZvaWQpOworc3RhdGljIHZvaWQgY2FsbF9sbF9leGl0ZnVuY3Modm9pZCk7CitleHRlcm4gaW50IF9QeVVuaWNvZGVfSW5pdCh2b2lkKTsKK2V4dGVybiBpbnQgX1B5U3RydWN0U2VxdWVuY2VfSW5pdCh2b2lkKTsKK2V4dGVybiB2b2lkIF9QeVVuaWNvZGVfRmluaSh2b2lkKTsKK2V4dGVybiBpbnQgX1B5TG9uZ19Jbml0KHZvaWQpOworZXh0ZXJuIHZvaWQgUHlMb25nX0Zpbmkodm9pZCk7CitleHRlcm4gaW50IF9QeUZhdWx0aGFuZGxlcl9Jbml0KHZvaWQpOworZXh0ZXJuIHZvaWQgX1B5RmF1bHRoYW5kbGVyX0Zpbmkodm9pZCk7CitleHRlcm4gdm9pZCBfUHlIYXNoX0Zpbmkodm9pZCk7CitleHRlcm4gaW50IF9QeVRyYWNlTWFsbG9jX0luaXQodm9pZCk7CitleHRlcm4gaW50IF9QeVRyYWNlTWFsbG9jX0Zpbmkodm9pZCk7CisKKyNpZmRlZiBXSVRIX1RIUkVBRAorZXh0ZXJuIHZvaWQgX1B5R0lMU3RhdGVfSW5pdChQeUludGVycHJldGVyU3RhdGUgKiwgUHlUaHJlYWRTdGF0ZSAqKTsKK2V4dGVybiB2b2lkIF9QeUdJTFN0YXRlX0Zpbmkodm9pZCk7CisjZW5kaWYgLyogV0lUSF9USFJFQUQgKi8KKworLyogR2xvYmFsIGNvbmZpZ3VyYXRpb24gdmFyaWFibGUgZGVjbGFyYXRpb25zIGFyZSBpbiBweWRlYnVnLmggKi8KKy8qIFhYWCAobmNvZ2hsYW4pOiBtb3ZlIHRob3NlIGRlY2xhcmF0aW9ucyB0byBweWxpZmVjeWNsZS5oPyAqLworaW50IFB5X0RlYnVnRmxhZzsgLyogTmVlZGVkIGJ5IHBhcnNlci5jICovCitpbnQgUHlfVmVyYm9zZUZsYWc7IC8qIE5lZWRlZCBieSBpbXBvcnQuYyAqLworaW50IFB5X1F1aWV0RmxhZzsgLyogTmVlZGVkIGJ5IHN5c21vZHVsZS5jICovCitpbnQgUHlfSW50ZXJhY3RpdmVGbGFnOyAvKiBOZWVkZWQgYnkgUHlfRmRJc0ludGVyYWN0aXZlKCkgYmVsb3cgKi8KK2ludCBQeV9JbnNwZWN0RmxhZzsgLyogTmVlZGVkIHRvIGRldGVybWluZSB3aGV0aGVyIHRvIGV4aXQgYXQgU3lzdGVtRXhpdCAqLworaW50IFB5X09wdGltaXplRmxhZyA9IDA7IC8qIE5lZWRlZCBieSBjb21waWxlLmMgKi8KK2ludCBQeV9Ob1NpdGVGbGFnOyAvKiBTdXBwcmVzcyAnaW1wb3J0IHNpdGUnICovCitpbnQgUHlfQnl0ZXNXYXJuaW5nRmxhZzsgLyogV2FybiBvbiBzdHIoYnl0ZXMpIGFuZCBzdHIoYnVmZmVyKSAqLworaW50IFB5X1VzZUNsYXNzRXhjZXB0aW9uc0ZsYWcgPSAxOyAvKiBOZWVkZWQgYnkgYmx0aW5tb2R1bGUuYzogZGVwcmVjYXRlZCAqLworaW50IFB5X0Zyb3plbkZsYWc7IC8qIE5lZWRlZCBieSBnZXRwYXRoLmMgKi8KK2ludCBQeV9JZ25vcmVFbnZpcm9ubWVudEZsYWc7IC8qIGUuZy4gUFlUSE9OUEFUSCwgUFlUSE9OSE9NRSAqLworaW50IFB5X0RvbnRXcml0ZUJ5dGVjb2RlRmxhZzsgLyogU3VwcHJlc3Mgd3JpdGluZyBieXRlY29kZSBmaWxlcyAoKi5weVtjb10pICovCitpbnQgUHlfTm9Vc2VyU2l0ZURpcmVjdG9yeSA9IDA7IC8qIGZvciAtcyBhbmQgc2l0ZS5weSAqLworaW50IFB5X1VuYnVmZmVyZWRTdGRpb0ZsYWcgPSAwOyAvKiBVbmJ1ZmZlcmVkIGJpbmFyeSBzdGR7aW4sb3V0LGVycn0gKi8KK2ludCBQeV9IYXNoUmFuZG9taXphdGlvbkZsYWcgPSAwOyAvKiBmb3IgLVIgYW5kIFBZVEhPTkhBU0hTRUVEICovCitpbnQgUHlfSXNvbGF0ZWRGbGFnID0gMDsgLyogZm9yIC1JLCBpc29sYXRlIGZyb20gdXNlcidzIGVudiAqLworCitQeVRocmVhZFN0YXRlICpfUHlfRmluYWxpemluZyA9IE5VTEw7CisKKy8qIEhhY2sgdG8gZm9yY2UgbG9hZGluZyBvZiBvYmplY3QgZmlsZXMgKi8KK2ludCAoKl9QeU9TX215c3RybmljbXBfaGFjaykoY29uc3QgY2hhciAqLCBjb25zdCBjaGFyICosIFB5X3NzaXplX3QpID0gXAorICAgIFB5T1NfbXlzdHJuaWNtcDsgLyogUHl0aG9uL3B5c3RyY21wLm8gKi8KKworLyogUHlNb2R1bGVfR2V0V2FybmluZ3NNb2R1bGUgaXMgbm8gbG9uZ2VyIG5lY2Vzc2FyeSBhcyBvZiAyLjYKK3NpbmNlIF93YXJuaW5ncyBpcyBidWlsdGluLiAgVGhpcyBBUEkgc2hvdWxkIG5vdCBiZSB1c2VkLiAqLworUHlPYmplY3QgKgorUHlNb2R1bGVfR2V0V2FybmluZ3NNb2R1bGUodm9pZCkKK3sKKyAgICByZXR1cm4gUHlJbXBvcnRfSW1wb3J0TW9kdWxlKCJ3YXJuaW5ncyIpOworfQorCitzdGF0aWMgaW50IGluaXRpYWxpemVkID0gMDsKKworLyogQVBJIHRvIGFjY2VzcyB0aGUgaW5pdGlhbGl6ZWQgZmxhZyAtLSB1c2VmdWwgZm9yIGVzb3RlcmljIHVzZSAqLworCitpbnQKK1B5X0lzSW5pdGlhbGl6ZWQodm9pZCkKK3sKKyAgICByZXR1cm4gaW5pdGlhbGl6ZWQ7Cit9CisKKy8qIEhlbHBlciB0byBhbGxvdyBhbiBlbWJlZGRpbmcgYXBwbGljYXRpb24gdG8gb3ZlcnJpZGUgdGhlIG5vcm1hbAorICogbWVjaGFuaXNtIHRoYXQgYXR0ZW1wdHMgdG8gZmlndXJlIG91dCBhbiBhcHByb3ByaWF0ZSBJTyBlbmNvZGluZworICovCisKK3N0YXRpYyBjaGFyICpfUHlfU3RhbmRhcmRTdHJlYW1FbmNvZGluZyA9IE5VTEw7CitzdGF0aWMgY2hhciAqX1B5X1N0YW5kYXJkU3RyZWFtRXJyb3JzID0gTlVMTDsKKworaW50CitQeV9TZXRTdGFuZGFyZFN0cmVhbUVuY29kaW5nKGNvbnN0IGNoYXIgKmVuY29kaW5nLCBjb25zdCBjaGFyICplcnJvcnMpCit7CisgICAgaWYgKFB5X0lzSW5pdGlhbGl6ZWQoKSkgeworICAgICAgICAvKiBUaGlzIGlzIHRvbyBsYXRlIHRvIGhhdmUgYW55IGVmZmVjdCAqLworICAgICAgICByZXR1cm4gLTE7CisgICAgfQorICAgIC8qIENhbid0IGNhbGwgUHlFcnJfTm9NZW1vcnkoKSBvbiBlcnJvcnMsIGFzIFB5dGhvbiBoYXNuJ3QgYmVlbgorICAgICAqIGluaXRpYWxpc2VkIHlldC4KKyAgICAgKgorICAgICAqIEhvd2V2ZXIsIHRoZSByYXcgbWVtb3J5IGFsbG9jYXRvcnMgYXJlIGluaXRpYWxpc2VkIGFwcHJvcHJpYXRlbHkKKyAgICAgKiBhcyBDIHN0YXRpYyB2YXJpYWJsZXMsIHNvIF9QeU1lbV9SYXdTdHJkdXAgaXMgT0sgZXZlbiB0aG91Z2gKKyAgICAgKiBQeV9Jbml0aWFsaXplIGhhc24ndCBiZWVuIGNhbGxlZCB5ZXQuCisgICAgICovCisgICAgaWYgKGVuY29kaW5nKSB7CisgICAgICAgIF9QeV9TdGFuZGFyZFN0cmVhbUVuY29kaW5nID0gX1B5TWVtX1Jhd1N0cmR1cChlbmNvZGluZyk7CisgICAgICAgIGlmICghX1B5X1N0YW5kYXJkU3RyZWFtRW5jb2RpbmcpIHsKKyAgICAgICAgICAgIHJldHVybiAtMjsKKyAgICAgICAgfQorICAgIH0KKyAgICBpZiAoZXJyb3JzKSB7CisgICAgICAgIF9QeV9TdGFuZGFyZFN0cmVhbUVycm9ycyA9IF9QeU1lbV9SYXdTdHJkdXAoZXJyb3JzKTsKKyAgICAgICAgaWYgKCFfUHlfU3RhbmRhcmRTdHJlYW1FcnJvcnMpIHsKKyAgICAgICAgICAgIGlmIChfUHlfU3RhbmRhcmRTdHJlYW1FbmNvZGluZykgeworICAgICAgICAgICAgICAgIFB5TWVtX1Jhd0ZyZWUoX1B5X1N0YW5kYXJkU3RyZWFtRW5jb2RpbmcpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgcmV0dXJuIC0zOworICAgICAgICB9CisgICAgfQorICAgIHJldHVybiAwOworfQorCisvKiBHbG9iYWwgaW5pdGlhbGl6YXRpb25zLiAgQ2FuIGJlIHVuZG9uZSBieSBQeV9GaW5hbGl6ZSgpLiAgRG9uJ3QKKyAgIGNhbGwgdGhpcyB0d2ljZSB3aXRob3V0IGFuIGludGVydmVuaW5nIFB5X0ZpbmFsaXplKCkgY2FsbC4gIFdoZW4KKyAgIGluaXRpYWxpemF0aW9ucyBmYWlsLCBhIGZhdGFsIGVycm9yIGlzIGlzc3VlZCBhbmQgdGhlIGZ1bmN0aW9uIGRvZXMKKyAgIG5vdCByZXR1cm4uICBPbiByZXR1cm4sIHRoZSBmaXJzdCB0aHJlYWQgYW5kIGludGVycHJldGVyIHN0YXRlIGhhdmUKKyAgIGJlZW4gY3JlYXRlZC4KKworICAgTG9ja2luZzogeW91IG11c3QgaG9sZCB0aGUgaW50ZXJwcmV0ZXIgbG9jayB3aGlsZSBjYWxsaW5nIHRoaXMuCisgICAoSWYgdGhlIGxvY2sgaGFzIG5vdCB5ZXQgYmVlbiBpbml0aWFsaXplZCwgdGhhdCdzIGVxdWl2YWxlbnQgdG8KKyAgIGhhdmluZyB0aGUgbG9jaywgYnV0IHlvdSBjYW5ub3QgdXNlIG11bHRpcGxlIHRocmVhZHMuKQorCisqLworCitzdGF0aWMgaW50CithZGRfZmxhZyhpbnQgZmxhZywgY29uc3QgY2hhciAqZW52cykKK3sKKyAgICBpbnQgZW52ID0gYXRvaShlbnZzKTsKKyAgICBpZiAoZmxhZyA8IGVudikKKyAgICAgICAgZmxhZyA9IGVudjsKKyAgICBpZiAoZmxhZyA8IDEpCisgICAgICAgIGZsYWcgPSAxOworICAgIHJldHVybiBmbGFnOworfQorCitzdGF0aWMgY2hhcioKK2dldF9jb2RlY19uYW1lKGNvbnN0IGNoYXIgKmVuY29kaW5nKQoreworICAgIGNoYXIgKm5hbWVfdXRmOCwgKm5hbWVfc3RyOworICAgIFB5T2JqZWN0ICpjb2RlYywgKm5hbWUgPSBOVUxMOworCisgICAgY29kZWMgPSBfUHlDb2RlY19Mb29rdXAoZW5jb2RpbmcpOworICAgIGlmICghY29kZWMpCisgICAgICAgIGdvdG8gZXJyb3I7CisKKyAgICBuYW1lID0gX1B5T2JqZWN0X0dldEF0dHJJZChjb2RlYywgJlB5SWRfbmFtZSk7CisgICAgUHlfQ0xFQVIoY29kZWMpOworICAgIGlmICghbmFtZSkKKyAgICAgICAgZ290byBlcnJvcjsKKworICAgIG5hbWVfdXRmOCA9IF9QeVVuaWNvZGVfQXNTdHJpbmcobmFtZSk7CisgICAgaWYgKG5hbWVfdXRmOCA9PSBOVUxMKQorICAgICAgICBnb3RvIGVycm9yOworICAgIG5hbWVfc3RyID0gX1B5TWVtX1Jhd1N0cmR1cChuYW1lX3V0ZjgpOworICAgIFB5X0RFQ1JFRihuYW1lKTsKKyAgICBpZiAobmFtZV9zdHIgPT0gTlVMTCkgeworICAgICAgICBQeUVycl9Ob01lbW9yeSgpOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisgICAgcmV0dXJuIG5hbWVfc3RyOworCitlcnJvcjoKKyAgICBQeV9YREVDUkVGKGNvZGVjKTsKKyAgICBQeV9YREVDUkVGKG5hbWUpOworICAgIHJldHVybiBOVUxMOworfQorCitzdGF0aWMgY2hhcioKK2dldF9sb2NhbGVfZW5jb2Rpbmcodm9pZCkKK3sKKyNpZmRlZiBNU19XSU5ET1dTCisgICAgY2hhciBjb2RlcGFnZVsxMDBdOworICAgIFB5T1Nfc25wcmludGYoY29kZXBhZ2UsIHNpemVvZihjb2RlcGFnZSksICJjcCVkIiwgR2V0QUNQKCkpOworICAgIHJldHVybiBnZXRfY29kZWNfbmFtZShjb2RlcGFnZSk7CisjZWxpZiBkZWZpbmVkKEhBVkVfTEFOR0lORk9fSCkgJiYgZGVmaW5lZChDT0RFU0VUKQorICAgIGNoYXIqIGNvZGVzZXQgPSBubF9sYW5naW5mbyhDT0RFU0VUKTsKKyAgICBpZiAoIWNvZGVzZXQgfHwgY29kZXNldFswXSA9PSAnXDAnKSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLCAiQ09ERVNFVCBpcyBub3Qgc2V0IG9yIGVtcHR5Iik7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKyAgICByZXR1cm4gZ2V0X2NvZGVjX25hbWUoY29kZXNldCk7CisjZWxzZQorICAgIFB5RXJyX1NldE5vbmUoUHlFeGNfTm90SW1wbGVtZW50ZWRFcnJvcik7CisgICAgcmV0dXJuIE5VTEw7CisjZW5kaWYKK30KKworc3RhdGljIHZvaWQKK2ltcG9ydF9pbml0KFB5SW50ZXJwcmV0ZXJTdGF0ZSAqaW50ZXJwLCBQeU9iamVjdCAqc3lzbW9kKQoreworICAgIFB5T2JqZWN0ICppbXBvcnRsaWI7CisgICAgUHlPYmplY3QgKmltcG1vZDsKKyAgICBQeU9iamVjdCAqc3lzX21vZHVsZXM7CisgICAgUHlPYmplY3QgKnZhbHVlOworCisgICAgLyogSW1wb3J0IF9pbXBvcnRsaWIgdGhyb3VnaCBpdHMgZnJvemVuIHZlcnNpb24sIF9mcm96ZW5faW1wb3J0bGliLiAqLworICAgIGlmIChQeUltcG9ydF9JbXBvcnRGcm96ZW5Nb2R1bGUoIl9mcm96ZW5faW1wb3J0bGliIikgPD0gMCkgeworICAgICAgICBQeV9GYXRhbEVycm9yKCJQeV9Jbml0aWFsaXplOiBjYW4ndCBpbXBvcnQgX2Zyb3plbl9pbXBvcnRsaWIiKTsKKyAgICB9CisgICAgZWxzZSBpZiAoUHlfVmVyYm9zZUZsYWcpIHsKKyAgICAgICAgUHlTeXNfRm9ybWF0U3RkZXJyKCJpbXBvcnQgX2Zyb3plbl9pbXBvcnRsaWIgIyBmcm96ZW5cbiIpOworICAgIH0KKyAgICBpbXBvcnRsaWIgPSBQeUltcG9ydF9BZGRNb2R1bGUoIl9mcm96ZW5faW1wb3J0bGliIik7CisgICAgaWYgKGltcG9ydGxpYiA9PSBOVUxMKSB7CisgICAgICAgIFB5X0ZhdGFsRXJyb3IoIlB5X0luaXRpYWxpemU6IGNvdWxkbid0IGdldCBfZnJvemVuX2ltcG9ydGxpYiBmcm9tICIKKyAgICAgICAgICAgICAgICAgICAgICAic3lzLm1vZHVsZXMiKTsKKyAgICB9CisgICAgaW50ZXJwLT5pbXBvcnRsaWIgPSBpbXBvcnRsaWI7CisgICAgUHlfSU5DUkVGKGludGVycC0+aW1wb3J0bGliKTsKKworICAgIC8qIEluc3RhbGwgX2ltcG9ydGxpYiBhcyBfX2ltcG9ydF9fICovCisgICAgaW1wbW9kID0gUHlJbml0X2ltcCgpOworICAgIGlmIChpbXBtb2QgPT0gTlVMTCkgeworICAgICAgICBQeV9GYXRhbEVycm9yKCJQeV9Jbml0aWFsaXplOiBjYW4ndCBpbXBvcnQgaW1wIik7CisgICAgfQorICAgIGVsc2UgaWYgKFB5X1ZlcmJvc2VGbGFnKSB7CisgICAgICAgIFB5U3lzX0Zvcm1hdFN0ZGVycigiaW1wb3J0IGltcCAjIGJ1aWx0aW5cbiIpOworICAgIH0KKyAgICBzeXNfbW9kdWxlcyA9IFB5SW1wb3J0X0dldE1vZHVsZURpY3QoKTsKKyAgICBpZiAoUHlfVmVyYm9zZUZsYWcpIHsKKyAgICAgICAgUHlTeXNfRm9ybWF0U3RkZXJyKCJpbXBvcnQgc3lzICMgYnVpbHRpblxuIik7CisgICAgfQorICAgIGlmIChQeURpY3RfU2V0SXRlbVN0cmluZyhzeXNfbW9kdWxlcywgIl9pbXAiLCBpbXBtb2QpIDwgMCkgeworICAgICAgICBQeV9GYXRhbEVycm9yKCJQeV9Jbml0aWFsaXplOiBjYW4ndCBzYXZlIF9pbXAgdG8gc3lzLm1vZHVsZXMiKTsKKyAgICB9CisKKyAgICB2YWx1ZSA9IFB5T2JqZWN0X0NhbGxNZXRob2QoaW1wb3J0bGliLCAiX2luc3RhbGwiLCAiT08iLCBzeXNtb2QsIGltcG1vZCk7CisgICAgaWYgKHZhbHVlID09IE5VTEwpIHsKKyAgICAgICAgUHlFcnJfUHJpbnQoKTsKKyAgICAgICAgUHlfRmF0YWxFcnJvcigiUHlfSW5pdGlhbGl6ZTogaW1wb3J0bGliIGluc3RhbGwgZmFpbGVkIik7CisgICAgfQorICAgIFB5X0RFQ1JFRih2YWx1ZSk7CisgICAgUHlfREVDUkVGKGltcG1vZCk7CisKKyAgICBfUHlJbXBvcnRaaXBfSW5pdCgpOworfQorCisKK3ZvaWQKK19QeV9Jbml0aWFsaXplRXhfUHJpdmF0ZShpbnQgaW5zdGFsbF9zaWdzLCBpbnQgaW5zdGFsbF9pbXBvcnRsaWIpCit7CisgICAgUHlJbnRlcnByZXRlclN0YXRlICppbnRlcnA7CisgICAgUHlUaHJlYWRTdGF0ZSAqdHN0YXRlOworICAgIFB5T2JqZWN0ICpiaW1vZCwgKnN5c21vZCwgKnBzdGRlcnI7CisgICAgY2hhciAqcDsKKyAgICBleHRlcm4gdm9pZCBfUHlfUmVhZHlUeXBlcyh2b2lkKTsKKworICAgIGlmIChpbml0aWFsaXplZCkKKyAgICAgICAgcmV0dXJuOworICAgIGluaXRpYWxpemVkID0gMTsKKyAgICBfUHlfRmluYWxpemluZyA9IE5VTEw7CisKKyNpZiBkZWZpbmVkKEhBVkVfTEFOR0lORk9fSCkgJiYgZGVmaW5lZChIQVZFX1NFVExPQ0FMRSkKKyAgICAvKiBTZXQgdXAgdGhlIExDX0NUWVBFIGxvY2FsZSwgc28gd2UgY2FuIG9idGFpbgorICAgICAgIHRoZSBsb2NhbGUncyBjaGFyc2V0IHdpdGhvdXQgaGF2aW5nIHRvIHN3aXRjaAorICAgICAgIGxvY2FsZXMuICovCisgICAgc2V0bG9jYWxlKExDX0NUWVBFLCAiIik7CisjZW5kaWYKKworICAgIGlmICgocCA9IFB5X0dFVEVOVigiUFlUSE9OREVCVUciKSkgJiYgKnAgIT0gJ1wwJykKKyAgICAgICAgUHlfRGVidWdGbGFnID0gYWRkX2ZsYWcoUHlfRGVidWdGbGFnLCBwKTsKKyAgICBpZiAoKHAgPSBQeV9HRVRFTlYoIlBZVEhPTlZFUkJPU0UiKSkgJiYgKnAgIT0gJ1wwJykKKyAgICAgICAgUHlfVmVyYm9zZUZsYWcgPSBhZGRfZmxhZyhQeV9WZXJib3NlRmxhZywgcCk7CisgICAgaWYgKChwID0gUHlfR0VURU5WKCJQWVRIT05PUFRJTUlaRSIpKSAmJiAqcCAhPSAnXDAnKQorICAgICAgICBQeV9PcHRpbWl6ZUZsYWcgPSBhZGRfZmxhZyhQeV9PcHRpbWl6ZUZsYWcsIHApOworICAgIGlmICgocCA9IFB5X0dFVEVOVigiUFlUSE9ORE9OVFdSSVRFQllURUNPREUiKSkgJiYgKnAgIT0gJ1wwJykKKyAgICAgICAgUHlfRG9udFdyaXRlQnl0ZWNvZGVGbGFnID0gYWRkX2ZsYWcoUHlfRG9udFdyaXRlQnl0ZWNvZGVGbGFnLCBwKTsKKyAgICAvKiBUaGUgdmFyaWFibGUgaXMgb25seSB0ZXN0ZWQgZm9yIGV4aXN0ZW5jZSBoZXJlOyBfUHlSYW5kb21fSW5pdCB3aWxsCisgICAgICAgY2hlY2sgaXRzIHZhbHVlIGZ1cnRoZXIuICovCisgICAgaWYgKChwID0gUHlfR0VURU5WKCJQWVRIT05IQVNIU0VFRCIpKSAmJiAqcCAhPSAnXDAnKQorICAgICAgICBQeV9IYXNoUmFuZG9taXphdGlvbkZsYWcgPSBhZGRfZmxhZyhQeV9IYXNoUmFuZG9taXphdGlvbkZsYWcsIHApOworCisgICAgX1B5UmFuZG9tX0luaXQoKTsKKworICAgIGludGVycCA9IFB5SW50ZXJwcmV0ZXJTdGF0ZV9OZXcoKTsKKyAgICBpZiAoaW50ZXJwID09IE5VTEwpCisgICAgICAgIFB5X0ZhdGFsRXJyb3IoIlB5X0luaXRpYWxpemU6IGNhbid0IG1ha2UgZmlyc3QgaW50ZXJwcmV0ZXIiKTsKKworICAgIHRzdGF0ZSA9IFB5VGhyZWFkU3RhdGVfTmV3KGludGVycCk7CisgICAgaWYgKHRzdGF0ZSA9PSBOVUxMKQorICAgICAgICBQeV9GYXRhbEVycm9yKCJQeV9Jbml0aWFsaXplOiBjYW4ndCBtYWtlIGZpcnN0IHRocmVhZCIpOworICAgICh2b2lkKSBQeVRocmVhZFN0YXRlX1N3YXAodHN0YXRlKTsKKworI2lmZGVmIFdJVEhfVEhSRUFECisgICAgLyogV2UgY2FuJ3QgY2FsbCBfUHlFdmFsX0ZpbmlUaHJlYWRzKCkgaW4gUHlfRmluYWxpemUgYmVjYXVzZQorICAgICAgIGRlc3Ryb3lpbmcgdGhlIEdJTCBtaWdodCBmYWlsIHdoZW4gaXQgaXMgYmVpbmcgcmVmZXJlbmNlZCBmcm9tCisgICAgICAgYW5vdGhlciBydW5uaW5nIHRocmVhZCAoc2VlIGlzc3VlICM5OTAxKS4KKyAgICAgICBJbnN0ZWFkIHdlIGRlc3Ryb3kgdGhlIHByZXZpb3VzbHkgY3JlYXRlZCBHSUwgaGVyZSwgd2hpY2ggZW5zdXJlcworICAgICAgIHRoYXQgd2UgY2FuIGNhbGwgUHlfSW5pdGlhbGl6ZSAvIFB5X0ZpbmFsaXplIG11bHRpcGxlIHRpbWVzLiAqLworICAgIF9QeUV2YWxfRmluaVRocmVhZHMoKTsKKworICAgIC8qIEF1dG8tdGhyZWFkLXN0YXRlIEFQSSAqLworICAgIF9QeUdJTFN0YXRlX0luaXQoaW50ZXJwLCB0c3RhdGUpOworI2VuZGlmIC8qIFdJVEhfVEhSRUFEICovCisKKyAgICBfUHlfUmVhZHlUeXBlcygpOworCisgICAgaWYgKCFfUHlGcmFtZV9Jbml0KCkpCisgICAgICAgIFB5X0ZhdGFsRXJyb3IoIlB5X0luaXRpYWxpemU6IGNhbid0IGluaXQgZnJhbWVzIik7CisKKyAgICBpZiAoIV9QeUxvbmdfSW5pdCgpKQorICAgICAgICBQeV9GYXRhbEVycm9yKCJQeV9Jbml0aWFsaXplOiBjYW4ndCBpbml0IGxvbmdzIik7CisKKyAgICBpZiAoIVB5Qnl0ZUFycmF5X0luaXQoKSkKKyAgICAgICAgUHlfRmF0YWxFcnJvcigiUHlfSW5pdGlhbGl6ZTogY2FuJ3QgaW5pdCBieXRlYXJyYXkiKTsKKworICAgIGlmICghX1B5RmxvYXRfSW5pdCgpKQorICAgICAgICBQeV9GYXRhbEVycm9yKCJQeV9Jbml0aWFsaXplOiBjYW4ndCBpbml0IGZsb2F0Iik7CisKKyAgICBpbnRlcnAtPm1vZHVsZXMgPSBQeURpY3RfTmV3KCk7CisgICAgaWYgKGludGVycC0+bW9kdWxlcyA9PSBOVUxMKQorICAgICAgICBQeV9GYXRhbEVycm9yKCJQeV9Jbml0aWFsaXplOiBjYW4ndCBtYWtlIG1vZHVsZXMgZGljdGlvbmFyeSIpOworCisgICAgLyogSW5pdCBVbmljb2RlIGltcGxlbWVudGF0aW9uOyByZWxpZXMgb24gdGhlIGNvZGVjIHJlZ2lzdHJ5ICovCisgICAgaWYgKF9QeVVuaWNvZGVfSW5pdCgpIDwgMCkKKyAgICAgICAgUHlfRmF0YWxFcnJvcigiUHlfSW5pdGlhbGl6ZTogY2FuJ3QgaW5pdGlhbGl6ZSB1bmljb2RlIik7CisgICAgaWYgKF9QeVN0cnVjdFNlcXVlbmNlX0luaXQoKSA8IDApCisgICAgICAgIFB5X0ZhdGFsRXJyb3IoIlB5X0luaXRpYWxpemU6IGNhbid0IGluaXRpYWxpemUgc3RydWN0c2VxIik7CisKKyAgICBiaW1vZCA9IF9QeUJ1aWx0aW5fSW5pdCgpOworICAgIGlmIChiaW1vZCA9PSBOVUxMKQorICAgICAgICBQeV9GYXRhbEVycm9yKCJQeV9Jbml0aWFsaXplOiBjYW4ndCBpbml0aWFsaXplIGJ1aWx0aW5zIG1vZHVsZXMiKTsKKyAgICBfUHlJbXBvcnRfRml4dXBCdWlsdGluKGJpbW9kLCAiYnVpbHRpbnMiKTsKKyAgICBpbnRlcnAtPmJ1aWx0aW5zID0gUHlNb2R1bGVfR2V0RGljdChiaW1vZCk7CisgICAgaWYgKGludGVycC0+YnVpbHRpbnMgPT0gTlVMTCkKKyAgICAgICAgUHlfRmF0YWxFcnJvcigiUHlfSW5pdGlhbGl6ZTogY2FuJ3QgaW5pdGlhbGl6ZSBidWlsdGlucyBkaWN0Iik7CisgICAgUHlfSU5DUkVGKGludGVycC0+YnVpbHRpbnMpOworCisgICAgLyogaW5pdGlhbGl6ZSBidWlsdGluIGV4Y2VwdGlvbnMgKi8KKyAgICBfUHlFeGNfSW5pdChiaW1vZCk7CisKKyAgICBzeXNtb2QgPSBfUHlTeXNfSW5pdCgpOworICAgIGlmIChzeXNtb2QgPT0gTlVMTCkKKyAgICAgICAgUHlfRmF0YWxFcnJvcigiUHlfSW5pdGlhbGl6ZTogY2FuJ3QgaW5pdGlhbGl6ZSBzeXMiKTsKKyAgICBpbnRlcnAtPnN5c2RpY3QgPSBQeU1vZHVsZV9HZXREaWN0KHN5c21vZCk7CisgICAgaWYgKGludGVycC0+c3lzZGljdCA9PSBOVUxMKQorICAgICAgICBQeV9GYXRhbEVycm9yKCJQeV9Jbml0aWFsaXplOiBjYW4ndCBpbml0aWFsaXplIHN5cyBkaWN0Iik7CisgICAgUHlfSU5DUkVGKGludGVycC0+c3lzZGljdCk7CisgICAgX1B5SW1wb3J0X0ZpeHVwQnVpbHRpbihzeXNtb2QsICJzeXMiKTsKKyAgICBQeVN5c19TZXRQYXRoKFB5X0dldFBhdGgoKSk7CisgICAgUHlEaWN0X1NldEl0ZW1TdHJpbmcoaW50ZXJwLT5zeXNkaWN0LCAibW9kdWxlcyIsCisgICAgICAgICAgICAgICAgICAgICAgICAgaW50ZXJwLT5tb2R1bGVzKTsKKworICAgIC8qIFNldCB1cCBhIHByZWxpbWluYXJ5IHN0ZGVyciBwcmludGVyIHVudGlsIHdlIGhhdmUgZW5vdWdoCisgICAgICAgaW5mcmFzdHJ1Y3R1cmUgZm9yIHRoZSBpbyBtb2R1bGUgaW4gcGxhY2UuICovCisgICAgcHN0ZGVyciA9IFB5RmlsZV9OZXdTdGRQcmludGVyKGZpbGVubyhzdGRlcnIpKTsKKyAgICBpZiAocHN0ZGVyciA9PSBOVUxMKQorICAgICAgICBQeV9GYXRhbEVycm9yKCJQeV9Jbml0aWFsaXplOiBjYW4ndCBzZXQgcHJlbGltaW5hcnkgc3RkZXJyIik7CisgICAgX1B5U3lzX1NldE9iamVjdElkKCZQeUlkX3N0ZGVyciwgcHN0ZGVycik7CisgICAgUHlTeXNfU2V0T2JqZWN0KCJfX3N0ZGVycl9fIiwgcHN0ZGVycik7CisgICAgUHlfREVDUkVGKHBzdGRlcnIpOworCisgICAgX1B5SW1wb3J0X0luaXQoKTsKKworICAgIF9QeUltcG9ydEhvb2tzX0luaXQoKTsKKworICAgIC8qIEluaXRpYWxpemUgX3dhcm5pbmdzLiAqLworICAgIF9QeVdhcm5pbmdzX0luaXQoKTsKKworICAgIGlmICghaW5zdGFsbF9pbXBvcnRsaWIpCisgICAgICAgIHJldHVybjsKKworICAgIGltcG9ydF9pbml0KGludGVycCwgc3lzbW9kKTsKKworICAgIC8qIGluaXRpYWxpemUgdGhlIGZhdWx0aGFuZGxlciBtb2R1bGUgKi8KKyAgICBpZiAoX1B5RmF1bHRoYW5kbGVyX0luaXQoKSkKKyAgICAgICAgUHlfRmF0YWxFcnJvcigiUHlfSW5pdGlhbGl6ZTogY2FuJ3QgaW5pdGlhbGl6ZSBmYXVsdGhhbmRsZXIiKTsKKworICAgIGlmIChfUHlUaW1lX0luaXQoKSA8IDApCisgICAgICAgIFB5X0ZhdGFsRXJyb3IoIlB5X0luaXRpYWxpemU6IGNhbid0IGluaXRpYWxpemUgdGltZSIpOworCisgICAgaWYgKGluaXRmc2VuY29kaW5nKGludGVycCkgPCAwKQorICAgICAgICBQeV9GYXRhbEVycm9yKCJQeV9Jbml0aWFsaXplOiB1bmFibGUgdG8gbG9hZCB0aGUgZmlsZSBzeXN0ZW0gY29kZWMiKTsKKworICAgIGlmIChpbnN0YWxsX3NpZ3MpCisgICAgICAgIGluaXRzaWdzKCk7IC8qIFNpZ25hbCBoYW5kbGluZyBzdHVmZiwgaW5jbHVkaW5nIGluaXRpbnRyKCkgKi8KKworICAgIGlmIChfUHlUcmFjZU1hbGxvY19Jbml0KCkgPCAwKQorICAgICAgICBQeV9GYXRhbEVycm9yKCJQeV9Jbml0aWFsaXplOiBjYW4ndCBpbml0aWFsaXplIHRyYWNlbWFsbG9jIik7CisKKyAgICBpbml0bWFpbihpbnRlcnApOyAvKiBNb2R1bGUgX19tYWluX18gKi8KKyAgICBpZiAoaW5pdHN0ZGlvKCkgPCAwKQorICAgICAgICBQeV9GYXRhbEVycm9yKAorICAgICAgICAgICAgIlB5X0luaXRpYWxpemU6IGNhbid0IGluaXRpYWxpemUgc3lzIHN0YW5kYXJkIHN0cmVhbXMiKTsKKworICAgIC8qIEluaXRpYWxpemUgd2FybmluZ3MuICovCisgICAgaWYgKFB5U3lzX0hhc1dhcm5PcHRpb25zKCkpIHsKKyAgICAgICAgUHlPYmplY3QgKndhcm5pbmdzX21vZHVsZSA9IFB5SW1wb3J0X0ltcG9ydE1vZHVsZSgid2FybmluZ3MiKTsKKyAgICAgICAgaWYgKHdhcm5pbmdzX21vZHVsZSA9PSBOVUxMKSB7CisgICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIidpbXBvcnQgd2FybmluZ3MnIGZhaWxlZDsgdHJhY2ViYWNrOlxuIik7CisgICAgICAgICAgICBQeUVycl9QcmludCgpOworICAgICAgICB9CisgICAgICAgIFB5X1hERUNSRUYod2FybmluZ3NfbW9kdWxlKTsKKyAgICB9CisKKyAgICBpZiAoIVB5X05vU2l0ZUZsYWcpCisgICAgICAgIGluaXRzaXRlKCk7IC8qIE1vZHVsZSBzaXRlICovCit9CisKK3ZvaWQKK1B5X0luaXRpYWxpemVFeChpbnQgaW5zdGFsbF9zaWdzKQoreworICAgIF9QeV9Jbml0aWFsaXplRXhfUHJpdmF0ZShpbnN0YWxsX3NpZ3MsIDEpOworfQorCit2b2lkCitQeV9Jbml0aWFsaXplKHZvaWQpCit7CisgICAgUHlfSW5pdGlhbGl6ZUV4KDEpOworfQorCisKKyNpZmRlZiBDT1VOVF9BTExPQ1MKK2V4dGVybiB2b2lkIGR1bXBfY291bnRzKEZJTEUqKTsKKyNlbmRpZgorCisvKiBGbHVzaCBzdGRvdXQgYW5kIHN0ZGVyciAqLworCitzdGF0aWMgaW50CitmaWxlX2lzX2Nsb3NlZChQeU9iamVjdCAqZm9iaikKK3sKKyAgICBpbnQgcjsKKyAgICBQeU9iamVjdCAqdG1wID0gUHlPYmplY3RfR2V0QXR0clN0cmluZyhmb2JqLCAiY2xvc2VkIik7CisgICAgaWYgKHRtcCA9PSBOVUxMKSB7CisgICAgICAgIFB5RXJyX0NsZWFyKCk7CisgICAgICAgIHJldHVybiAwOworICAgIH0KKyAgICByID0gUHlPYmplY3RfSXNUcnVlKHRtcCk7CisgICAgUHlfREVDUkVGKHRtcCk7CisgICAgaWYgKHIgPCAwKQorICAgICAgICBQeUVycl9DbGVhcigpOworICAgIHJldHVybiByID4gMDsKK30KKworc3RhdGljIHZvaWQKK2ZsdXNoX3N0ZF9maWxlcyh2b2lkKQoreworICAgIFB5T2JqZWN0ICpmb3V0ID0gX1B5U3lzX0dldE9iamVjdElkKCZQeUlkX3N0ZG91dCk7CisgICAgUHlPYmplY3QgKmZlcnIgPSBfUHlTeXNfR2V0T2JqZWN0SWQoJlB5SWRfc3RkZXJyKTsKKyAgICBQeU9iamVjdCAqdG1wOworCisgICAgaWYgKGZvdXQgIT0gTlVMTCAmJiBmb3V0ICE9IFB5X05vbmUgJiYgIWZpbGVfaXNfY2xvc2VkKGZvdXQpKSB7CisgICAgICAgIHRtcCA9IF9QeU9iamVjdF9DYWxsTWV0aG9kSWQoZm91dCwgJlB5SWRfZmx1c2gsICIiKTsKKyAgICAgICAgaWYgKHRtcCA9PSBOVUxMKQorICAgICAgICAgICAgUHlFcnJfV3JpdGVVbnJhaXNhYmxlKGZvdXQpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBQeV9ERUNSRUYodG1wKTsKKyAgICB9CisKKyAgICBpZiAoZmVyciAhPSBOVUxMICYmIGZlcnIgIT0gUHlfTm9uZSAmJiAhZmlsZV9pc19jbG9zZWQoZmVycikpIHsKKyAgICAgICAgdG1wID0gX1B5T2JqZWN0X0NhbGxNZXRob2RJZChmZXJyLCAmUHlJZF9mbHVzaCwgIiIpOworICAgICAgICBpZiAodG1wID09IE5VTEwpCisgICAgICAgICAgICBQeUVycl9DbGVhcigpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBQeV9ERUNSRUYodG1wKTsKKyAgICB9Cit9CisKKy8qIFVuZG8gdGhlIGVmZmVjdCBvZiBQeV9Jbml0aWFsaXplKCkuCisKKyAgIEJld2FyZTogaWYgbXVsdGlwbGUgaW50ZXJwcmV0ZXIgYW5kL29yIHRocmVhZCBzdGF0ZXMgZXhpc3QsIHRoZXNlCisgICBhcmUgbm90IHdpcGVkIG91dDsgb25seSB0aGUgY3VycmVudCB0aHJlYWQgYW5kIGludGVycHJldGVyIHN0YXRlCisgICBhcmUgZGVsZXRlZC4gIEJ1dCBzaW5jZSBldmVyeXRoaW5nIGVsc2UgaXMgZGVsZXRlZCwgdGhvc2Ugb3RoZXIKKyAgIGludGVycHJldGVyIGFuZCB0aHJlYWQgc3RhdGVzIHNob3VsZCBubyBsb25nZXIgYmUgdXNlZC4KKworICAgKFhYWCBXZSBzaG91bGQgZG8gYmV0dGVyLCBlLmcuIHdpcGUgb3V0IGFsbCBpbnRlcnByZXRlcnMgYW5kCisgICB0aHJlYWRzLikKKworICAgTG9ja2luZzogYXMgYWJvdmUuCisKKyovCisKK3ZvaWQKK1B5X0ZpbmFsaXplKHZvaWQpCit7CisgICAgUHlJbnRlcnByZXRlclN0YXRlICppbnRlcnA7CisgICAgUHlUaHJlYWRTdGF0ZSAqdHN0YXRlOworCisgICAgaWYgKCFpbml0aWFsaXplZCkKKyAgICAgICAgcmV0dXJuOworCisgICAgd2FpdF9mb3JfdGhyZWFkX3NodXRkb3duKCk7CisKKyAgICAvKiBUaGUgaW50ZXJwcmV0ZXIgaXMgc3RpbGwgZW50aXJlbHkgaW50YWN0IGF0IHRoaXMgcG9pbnQsIGFuZCB0aGUKKyAgICAgKiBleGl0IGZ1bmNzIG1heSBiZSByZWx5aW5nIG9uIHRoYXQuICBJbiBwYXJ0aWN1bGFyLCBpZiBzb21lIHRocmVhZAorICAgICAqIG9yIGV4aXQgZnVuYyBpcyBzdGlsbCB3YWl0aW5nIHRvIGRvIGFuIGltcG9ydCwgdGhlIGltcG9ydCBtYWNoaW5lcnkKKyAgICAgKiBleHBlY3RzIFB5X0lzSW5pdGlhbGl6ZWQoKSB0byByZXR1cm4gdHJ1ZS4gIFNvIGRvbid0IHNheSB0aGUKKyAgICAgKiBpbnRlcnByZXRlciBpcyB1bmluaXRpYWxpemVkIHVudGlsIGFmdGVyIHRoZSBleGl0IGZ1bmNzIGhhdmUgcnVuLgorICAgICAqIE5vdGUgdGhhdCBUaHJlYWRpbmcucHkgdXNlcyBhbiBleGl0IGZ1bmMgdG8gZG8gYSBqb2luIG9uIGFsbCB0aGUKKyAgICAgKiB0aHJlYWRzIGNyZWF0ZWQgdGhydSBpdCwgc28gdGhpcyBhbHNvIHByb3RlY3RzIHBlbmRpbmcgaW1wb3J0cyBpbgorICAgICAqIHRoZSB0aHJlYWRzIGNyZWF0ZWQgdmlhIFRocmVhZGluZy4KKyAgICAgKi8KKyAgICBjYWxsX3B5X2V4aXRmdW5jcygpOworCisgICAgLyogR2V0IGN1cnJlbnQgdGhyZWFkIHN0YXRlIGFuZCBpbnRlcnByZXRlciBwb2ludGVyICovCisgICAgdHN0YXRlID0gUHlUaHJlYWRTdGF0ZV9HRVQoKTsKKyAgICBpbnRlcnAgPSB0c3RhdGUtPmludGVycDsKKworICAgIC8qIFJlbWFpbmluZyB0aHJlYWRzIChlLmcuIGRhZW1vbiB0aHJlYWRzKSB3aWxsIGF1dG9tYXRpY2FsbHkgZXhpdAorICAgICAgIGFmdGVyIHRha2luZyB0aGUgR0lMIChpbiBQeUV2YWxfUmVzdG9yZVRocmVhZCgpKS4gKi8KKyAgICBfUHlfRmluYWxpemluZyA9IHRzdGF0ZTsKKyAgICBpbml0aWFsaXplZCA9IDA7CisKKyAgICAvKiBGbHVzaCBzdGRvdXQrc3RkZXJyICovCisgICAgZmx1c2hfc3RkX2ZpbGVzKCk7CisKKyAgICAvKiBEaXNhYmxlIHNpZ25hbCBoYW5kbGluZyAqLworICAgIFB5T1NfRmluaUludGVycnVwdHMoKTsKKworICAgIC8qIENvbGxlY3QgZ2FyYmFnZS4gIFRoaXMgbWF5IGNhbGwgZmluYWxpemVyczsgaXQncyBuaWNlIHRvIGNhbGwgdGhlc2UKKyAgICAgKiBiZWZvcmUgYWxsIG1vZHVsZXMgYXJlIGRlc3Ryb3llZC4KKyAgICAgKiBYWFggSWYgYSBfX2RlbF9fIG9yIHdlYWtyZWYgY2FsbGJhY2sgaXMgdHJpZ2dlcmVkIGhlcmUsIGFuZCB0cmllcyB0bworICAgICAqIFhYWCBpbXBvcnQgYSBtb2R1bGUsIGJhZCB0aGluZ3MgY2FuIGhhcHBlbiwgYmVjYXVzZSBQeXRob24gbm8KKyAgICAgKiBYWFggbG9uZ2VyIGJlbGlldmVzIGl0J3MgaW5pdGlhbGl6ZWQuCisgICAgICogWFhYICAgICBGYXRhbCBQeXRob24gZXJyb3I6IEludGVycHJldGVyIG5vdCBpbml0aWFsaXplZCAodmVyc2lvbiBtaXNtYXRjaD8pCisgICAgICogWFhYIGlzIGVhc3kgdG8gcHJvdm9rZSB0aGF0IHdheS4gIEkndmUgYWxzbyBzZWVuLCBlLmcuLAorICAgICAqIFhYWCAgICAgRXhjZXB0aW9uIGV4Y2VwdGlvbnMuSW1wb3J0RXJyb3I6ICdObyBtb2R1bGUgbmFtZWQgc2hhJworICAgICAqIFhYWCAgICAgICAgIGluIDxmdW5jdGlvbiBjYWxsYmFjayBhdCAweDAwOEY1NzE4PiBpZ25vcmVkCisgICAgICogWFhYIGJ1dCBJJ20gdW5jbGVhciBvbiBleGFjdGx5IGhvdyB0aGF0IG9uZSBoYXBwZW5zLiAgSW4gYW55IGNhc2UsCisgICAgICogWFhYIEkgaGF2ZW4ndCBzZWVuIGEgcmVhbC1saWZlIHJlcG9ydCBvZiBlaXRoZXIgb2YgdGhlc2UuCisgICAgICovCisgICAgUHlHQ19Db2xsZWN0KCk7CisjaWZkZWYgQ09VTlRfQUxMT0NTCisgICAgLyogV2l0aCBDT1VOVF9BTExPQ1MsIGl0IGhlbHBzIHRvIHJ1biBHQyBtdWx0aXBsZSB0aW1lczoKKyAgICAgICBlYWNoIGNvbGxlY3Rpb24gbWlnaHQgcmVsZWFzZSBzb21lIHR5cGVzIGZyb20gdGhlIHR5cGUKKyAgICAgICBsaXN0LCBzbyB0aGV5IGJlY29tZSBnYXJiYWdlLiAqLworICAgIHdoaWxlIChQeUdDX0NvbGxlY3QoKSA+IDApCisgICAgICAgIC8qIG5vdGhpbmcgKi87CisjZW5kaWYKKyAgICAvKiBEZXN0cm95IGFsbCBtb2R1bGVzICovCisgICAgUHlJbXBvcnRfQ2xlYW51cCgpOworCisgICAgLyogRmx1c2ggc3Rkb3V0K3N0ZGVyciAoYWdhaW4sIGluIGNhc2UgbW9yZSB3YXMgcHJpbnRlZCkgKi8KKyAgICBmbHVzaF9zdGRfZmlsZXMoKTsKKworICAgIC8qIENvbGxlY3QgZmluYWwgZ2FyYmFnZS4gIFRoaXMgZGlzcG9zZXMgb2YgY3ljbGVzIGNyZWF0ZWQgYnkKKyAgICAgKiBjbGFzcyBkZWZpbml0aW9ucywgZm9yIGV4YW1wbGUuCisgICAgICogWFhYIFRoaXMgaXMgZGlzYWJsZWQgYmVjYXVzZSBpdCBjYXVzZWQgdG9vIG1hbnkgcHJvYmxlbXMuICBJZgorICAgICAqIFhYWCBhIF9fZGVsX18gb3Igd2Vha3JlZiBjYWxsYmFjayB0cmlnZ2VycyBoZXJlLCBQeXRob24gY29kZSBoYXMKKyAgICAgKiBYWFggYSBoYXJkIHRpbWUgcnVubmluZywgYmVjYXVzZSBldmVuIHRoZSBzeXMgbW9kdWxlIGhhcyBiZWVuCisgICAgICogWFhYIGNsZWFyZWQgb3V0IChzeXMuc3Rkb3V0IGlzIGdvbmUsIHN5cy5leGNlcHRob29rIGlzIGdvbmUsIGV0YykuCisgICAgICogWFhYIE9uZSBzeW1wdG9tIGlzIGEgc2VxdWVuY2Ugb2YgaW5mb3JtYXRpb24tZnJlZSBtZXNzYWdlcworICAgICAqIFhYWCBjb21pbmcgZnJvbSB0aHJlYWRzIChpZiBhIF9fZGVsX18gb3IgY2FsbGJhY2sgaXMgaW52b2tlZCwKKyAgICAgKiBYWFggb3RoZXIgdGhyZWFkcyBjYW4gZXhlY3V0ZSB0b28sIGFuZCBhbnkgZXhjZXB0aW9uIHRoZXkgZW5jb3VudGVyCisgICAgICogWFhYIHRyaWdnZXJzIGEgY29tZWR5IG9mIGVycm9ycyBhcyBzdWJzeXN0ZW0gYWZ0ZXIgc3Vic3lzdGVtCisgICAgICogWFhYIGZhaWxzIHRvIGZpbmQgd2hhdCBpdCAqZXhwZWN0cyogdG8gZmluZCBpbiBzeXMgdG8gaGVscCByZXBvcnQKKyAgICAgKiBYWFggdGhlIGV4Y2VwdGlvbiBhbmQgY29uc2VxdWVudCB1bmV4cGVjdGVkIGZhaWx1cmVzKS4gIEkndmUgYWxzbworICAgICAqIFhYWCBzZWVuIHNlZ2ZhdWx0cyB0aGVuLCBhZnRlciBhZGRpbmcgcHJpbnQgc3RhdGVtZW50cyB0byB0aGUKKyAgICAgKiBYWFggUHl0aG9uIGNvZGUgZ2V0dGluZyBjYWxsZWQuCisgICAgICovCisjaWYgMAorICAgIFB5R0NfQ29sbGVjdCgpOworI2VuZGlmCisKKyAgICAvKiBEaXNhYmxlIHRyYWNlbWFsbG9jIGFmdGVyIGFsbCBQeXRob24gb2JqZWN0cyBoYXZlIGJlZW4gZGVzdHJveWVkLAorICAgICAgIHNvIGl0IGlzIHBvc3NpYmxlIHRvIHVzZSB0cmFjZW1hbGxvYyBpbiBvYmplY3RzIGRlc3RydWN0b3IuICovCisgICAgX1B5VHJhY2VNYWxsb2NfRmluaSgpOworCisgICAgLyogRGVzdHJveSB0aGUgZGF0YWJhc2UgdXNlZCBieSBfUHlJbXBvcnRfe0ZpeHVwLEZpbmR9RXh0ZW5zaW9uICovCisgICAgX1B5SW1wb3J0X0ZpbmkoKTsKKworICAgIC8qIENsZWFudXAgdHlwZW9iamVjdC5jJ3MgaW50ZXJuYWwgY2FjaGVzLiAqLworICAgIF9QeVR5cGVfRmluaSgpOworCisgICAgLyogdW5sb2FkIGZhdWx0aGFuZGxlciBtb2R1bGUgKi8KKyAgICBfUHlGYXVsdGhhbmRsZXJfRmluaSgpOworCisgICAgLyogRGVidWdnaW5nIHN0dWZmICovCisjaWZkZWYgQ09VTlRfQUxMT0NTCisgICAgZHVtcF9jb3VudHMoc3Rkb3V0KTsKKyNlbmRpZgorICAgIC8qIGR1bXAgaGFzaCBzdGF0cyAqLworICAgIF9QeUhhc2hfRmluaSgpOworCisgICAgX1BZX0RFQlVHX1BSSU5UX1RPVEFMX1JFRlMoKTsKKworI2lmZGVmIFB5X1RSQUNFX1JFRlMKKyAgICAvKiBEaXNwbGF5IGFsbCBvYmplY3RzIHN0aWxsIGFsaXZlIC0tIHRoaXMgY2FuIGludm9rZSBhcmJpdHJhcnkKKyAgICAgKiBfX3JlcHJfXyBvdmVycmlkZXMsIHNvIHJlcXVpcmVzIGEgbW9zdGx5LWludGFjdCBpbnRlcnByZXRlci4KKyAgICAgKiBBbGFzLCBhIGxvdCBvZiBzdHVmZiBtYXkgc3RpbGwgYmUgYWxpdmUgbm93IHRoYXQgd2lsbCBiZSBjbGVhbmVkCisgICAgICogdXAgbGF0ZXIuCisgICAgICovCisgICAgaWYgKFB5X0dFVEVOVigiUFlUSE9ORFVNUFJFRlMiKSkKKyAgICAgICAgX1B5X1ByaW50UmVmZXJlbmNlcyhzdGRlcnIpOworI2VuZGlmIC8qIFB5X1RSQUNFX1JFRlMgKi8KKworICAgIC8qIENsZWFyIGludGVycHJldGVyIHN0YXRlIGFuZCBhbGwgdGhyZWFkIHN0YXRlcy4gKi8KKyAgICBQeUludGVycHJldGVyU3RhdGVfQ2xlYXIoaW50ZXJwKTsKKworICAgIC8qIE5vdyB3ZSBkZWNyZWYgdGhlIGV4Y2VwdGlvbiBjbGFzc2VzLiAgQWZ0ZXIgdGhpcyBwb2ludCBub3RoaW5nCisgICAgICAgY2FuIHJhaXNlIGFuIGV4Y2VwdGlvbi4gIFRoYXQncyBva2F5LCBiZWNhdXNlIGVhY2ggRmluaSgpIG1ldGhvZAorICAgICAgIGJlbG93IGhhcyBiZWVuIGNoZWNrZWQgdG8gbWFrZSBzdXJlIG5vIGV4Y2VwdGlvbnMgYXJlIGV2ZXIKKyAgICAgICByYWlzZWQuCisgICAgKi8KKworICAgIF9QeUV4Y19GaW5pKCk7CisKKyAgICAvKiBTdW5kcnkgZmluYWxpemVycyAqLworICAgIFB5TWV0aG9kX0ZpbmkoKTsKKyAgICBQeUZyYW1lX0ZpbmkoKTsKKyAgICBQeUNGdW5jdGlvbl9GaW5pKCk7CisgICAgUHlUdXBsZV9GaW5pKCk7CisgICAgUHlMaXN0X0ZpbmkoKTsKKyAgICBQeVNldF9GaW5pKCk7CisgICAgUHlCeXRlc19GaW5pKCk7CisgICAgUHlCeXRlQXJyYXlfRmluaSgpOworICAgIFB5TG9uZ19GaW5pKCk7CisgICAgUHlGbG9hdF9GaW5pKCk7CisgICAgUHlEaWN0X0ZpbmkoKTsKKyAgICBQeVNsaWNlX0ZpbmkoKTsKKyAgICBfUHlHQ19GaW5pKCk7CisgICAgX1B5UmFuZG9tX0ZpbmkoKTsKKworICAgIC8qIENsZWFudXAgVW5pY29kZSBpbXBsZW1lbnRhdGlvbiAqLworICAgIF9QeVVuaWNvZGVfRmluaSgpOworCisgICAgLyogcmVzZXQgZmlsZSBzeXN0ZW0gZGVmYXVsdCBlbmNvZGluZyAqLworICAgIGlmICghUHlfSGFzRmlsZVN5c3RlbURlZmF1bHRFbmNvZGluZyAmJiBQeV9GaWxlU3lzdGVtRGVmYXVsdEVuY29kaW5nKSB7CisgICAgICAgIFB5TWVtX1Jhd0ZyZWUoKGNoYXIqKVB5X0ZpbGVTeXN0ZW1EZWZhdWx0RW5jb2RpbmcpOworICAgICAgICBQeV9GaWxlU3lzdGVtRGVmYXVsdEVuY29kaW5nID0gTlVMTDsKKyAgICB9CisKKyAgICAvKiBYWFggU3RpbGwgYWxsb2NhdGVkOgorICAgICAgIC0gdmFyaW91cyBzdGF0aWMgYWQtaG9jIHBvaW50ZXJzIHRvIGludGVybmVkIHN0cmluZ3MKKyAgICAgICAtIGludCBhbmQgZmxvYXQgZnJlZSBsaXN0IGJsb2NrcworICAgICAgIC0gd2hhdGV2ZXIgdmFyaW91cyBtb2R1bGVzIGFuZCBsaWJyYXJpZXMgYWxsb2NhdGUKKyAgICAqLworCisgICAgUHlHcmFtbWFyX1JlbW92ZUFjY2VsZXJhdG9ycygmX1B5UGFyc2VyX0dyYW1tYXIpOworCisgICAgLyogQ2xlYW51cCBhdXRvLXRocmVhZC1zdGF0ZSAqLworI2lmZGVmIFdJVEhfVEhSRUFECisgICAgX1B5R0lMU3RhdGVfRmluaSgpOworI2VuZGlmIC8qIFdJVEhfVEhSRUFEICovCisKKyAgICAvKiBEZWxldGUgY3VycmVudCB0aHJlYWQuIEFmdGVyIHRoaXMsIG1hbnkgQyBBUEkgY2FsbHMgYmVjb21lIGNyYXNoeS4gKi8KKyAgICBQeVRocmVhZFN0YXRlX1N3YXAoTlVMTCk7CisgICAgUHlJbnRlcnByZXRlclN0YXRlX0RlbGV0ZShpbnRlcnApOworCisjaWZkZWYgUHlfVFJBQ0VfUkVGUworICAgIC8qIERpc3BsYXkgYWRkcmVzc2VzICgmIHJlZmNudHMpIG9mIGFsbCBvYmplY3RzIHN0aWxsIGFsaXZlLgorICAgICAqIEFuIGFkZHJlc3MgY2FuIGJlIHVzZWQgdG8gZmluZCB0aGUgcmVwciBvZiB0aGUgb2JqZWN0LCBwcmludGVkCisgICAgICogYWJvdmUgYnkgX1B5X1ByaW50UmVmZXJlbmNlcy4KKyAgICAgKi8KKyAgICBpZiAoUHlfR0VURU5WKCJQWVRIT05EVU1QUkVGUyIpKQorICAgICAgICBfUHlfUHJpbnRSZWZlcmVuY2VBZGRyZXNzZXMoc3RkZXJyKTsKKyNlbmRpZiAvKiBQeV9UUkFDRV9SRUZTICovCisjaWZkZWYgUFlNQUxMT0NfREVCVUcKKyAgICBpZiAoUHlfR0VURU5WKCJQWVRIT05NQUxMT0NTVEFUUyIpKQorICAgICAgICBfUHlPYmplY3RfRGVidWdNYWxsb2NTdGF0cyhzdGRlcnIpOworI2VuZGlmCisKKyAgICBjYWxsX2xsX2V4aXRmdW5jcygpOworfQorCisvKiBDcmVhdGUgYW5kIGluaXRpYWxpemUgYSBuZXcgaW50ZXJwcmV0ZXIgYW5kIHRocmVhZCwgYW5kIHJldHVybiB0aGUKKyAgIG5ldyB0aHJlYWQuICBUaGlzIHJlcXVpcmVzIHRoYXQgUHlfSW5pdGlhbGl6ZSgpIGhhcyBiZWVuIGNhbGxlZAorICAgZmlyc3QuCisKKyAgIFVuc3VjY2Vzc2Z1bCBpbml0aWFsaXphdGlvbiB5aWVsZHMgYSBOVUxMIHBvaW50ZXIuICBOb3RlIHRoYXQgKm5vKgorICAgZXhjZXB0aW9uIGluZm9ybWF0aW9uIGlzIGF2YWlsYWJsZSBldmVuIGluIHRoaXMgY2FzZSAtLSB0aGUKKyAgIGV4Y2VwdGlvbiBpbmZvcm1hdGlvbiBpcyBoZWxkIGluIHRoZSB0aHJlYWQsIGFuZCB0aGVyZSBpcyBubworICAgdGhyZWFkLgorCisgICBMb2NraW5nOiBhcyBhYm92ZS4KKworKi8KKworUHlUaHJlYWRTdGF0ZSAqCitQeV9OZXdJbnRlcnByZXRlcih2b2lkKQoreworICAgIFB5SW50ZXJwcmV0ZXJTdGF0ZSAqaW50ZXJwOworICAgIFB5VGhyZWFkU3RhdGUgKnRzdGF0ZSwgKnNhdmVfdHN0YXRlOworICAgIFB5T2JqZWN0ICpiaW1vZCwgKnN5c21vZDsKKworICAgIGlmICghaW5pdGlhbGl6ZWQpCisgICAgICAgIFB5X0ZhdGFsRXJyb3IoIlB5X05ld0ludGVycHJldGVyOiBjYWxsIFB5X0luaXRpYWxpemUgZmlyc3QiKTsKKworICAgIGludGVycCA9IFB5SW50ZXJwcmV0ZXJTdGF0ZV9OZXcoKTsKKyAgICBpZiAoaW50ZXJwID09IE5VTEwpCisgICAgICAgIHJldHVybiBOVUxMOworCisgICAgdHN0YXRlID0gUHlUaHJlYWRTdGF0ZV9OZXcoaW50ZXJwKTsKKyAgICBpZiAodHN0YXRlID09IE5VTEwpIHsKKyAgICAgICAgUHlJbnRlcnByZXRlclN0YXRlX0RlbGV0ZShpbnRlcnApOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisKKyAgICBzYXZlX3RzdGF0ZSA9IFB5VGhyZWFkU3RhdGVfU3dhcCh0c3RhdGUpOworCisgICAgLyogWFhYIFRoZSBmb2xsb3dpbmcgaXMgbGF4IGluIGVycm9yIGNoZWNraW5nICovCisKKyAgICBpbnRlcnAtPm1vZHVsZXMgPSBQeURpY3RfTmV3KCk7CisKKyAgICBiaW1vZCA9IF9QeUltcG9ydF9GaW5kQnVpbHRpbigiYnVpbHRpbnMiKTsKKyAgICBpZiAoYmltb2QgIT0gTlVMTCkgeworICAgICAgICBpbnRlcnAtPmJ1aWx0aW5zID0gUHlNb2R1bGVfR2V0RGljdChiaW1vZCk7CisgICAgICAgIGlmIChpbnRlcnAtPmJ1aWx0aW5zID09IE5VTEwpCisgICAgICAgICAgICBnb3RvIGhhbmRsZV9lcnJvcjsKKyAgICAgICAgUHlfSU5DUkVGKGludGVycC0+YnVpbHRpbnMpOworICAgIH0KKworICAgIC8qIGluaXRpYWxpemUgYnVpbHRpbiBleGNlcHRpb25zICovCisgICAgX1B5RXhjX0luaXQoYmltb2QpOworCisgICAgc3lzbW9kID0gX1B5SW1wb3J0X0ZpbmRCdWlsdGluKCJzeXMiKTsKKyAgICBpZiAoYmltb2QgIT0gTlVMTCAmJiBzeXNtb2QgIT0gTlVMTCkgeworICAgICAgICBQeU9iamVjdCAqcHN0ZGVycjsKKworICAgICAgICBpbnRlcnAtPnN5c2RpY3QgPSBQeU1vZHVsZV9HZXREaWN0KHN5c21vZCk7CisgICAgICAgIGlmIChpbnRlcnAtPnN5c2RpY3QgPT0gTlVMTCkKKyAgICAgICAgICAgIGdvdG8gaGFuZGxlX2Vycm9yOworICAgICAgICBQeV9JTkNSRUYoaW50ZXJwLT5zeXNkaWN0KTsKKyAgICAgICAgUHlTeXNfU2V0UGF0aChQeV9HZXRQYXRoKCkpOworICAgICAgICBQeURpY3RfU2V0SXRlbVN0cmluZyhpbnRlcnAtPnN5c2RpY3QsICJtb2R1bGVzIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50ZXJwLT5tb2R1bGVzKTsKKyAgICAgICAgLyogU2V0IHVwIGEgcHJlbGltaW5hcnkgc3RkZXJyIHByaW50ZXIgdW50aWwgd2UgaGF2ZSBlbm91Z2gKKyAgICAgICAgICAgaW5mcmFzdHJ1Y3R1cmUgZm9yIHRoZSBpbyBtb2R1bGUgaW4gcGxhY2UuICovCisgICAgICAgIHBzdGRlcnIgPSBQeUZpbGVfTmV3U3RkUHJpbnRlcihmaWxlbm8oc3RkZXJyKSk7CisgICAgICAgIGlmIChwc3RkZXJyID09IE5VTEwpCisgICAgICAgICAgICBQeV9GYXRhbEVycm9yKCJQeV9Jbml0aWFsaXplOiBjYW4ndCBzZXQgcHJlbGltaW5hcnkgc3RkZXJyIik7CisgICAgICAgIF9QeVN5c19TZXRPYmplY3RJZCgmUHlJZF9zdGRlcnIsIHBzdGRlcnIpOworICAgICAgICBQeVN5c19TZXRPYmplY3QoIl9fc3RkZXJyX18iLCBwc3RkZXJyKTsKKyAgICAgICAgUHlfREVDUkVGKHBzdGRlcnIpOworCisgICAgICAgIF9QeUltcG9ydEhvb2tzX0luaXQoKTsKKworICAgICAgICBpbXBvcnRfaW5pdChpbnRlcnAsIHN5c21vZCk7CisKKyAgICAgICAgaWYgKGluaXRmc2VuY29kaW5nKGludGVycCkgPCAwKQorICAgICAgICAgICAgZ290byBoYW5kbGVfZXJyb3I7CisKKyAgICAgICAgaWYgKGluaXRzdGRpbygpIDwgMCkKKyAgICAgICAgICAgIFB5X0ZhdGFsRXJyb3IoCisgICAgICAgICAgICAiUHlfSW5pdGlhbGl6ZTogY2FuJ3QgaW5pdGlhbGl6ZSBzeXMgc3RhbmRhcmQgc3RyZWFtcyIpOworICAgICAgICBpbml0bWFpbihpbnRlcnApOworICAgICAgICBpZiAoIVB5X05vU2l0ZUZsYWcpCisgICAgICAgICAgICBpbml0c2l0ZSgpOworICAgIH0KKworICAgIGlmICghUHlFcnJfT2NjdXJyZWQoKSkKKyAgICAgICAgcmV0dXJuIHRzdGF0ZTsKKworaGFuZGxlX2Vycm9yOgorICAgIC8qIE9vcHMsIGl0IGRpZG4ndCB3b3JrLiAgVW5kbyBpdCBhbGwuICovCisKKyAgICBQeUVycl9QcmludEV4KDApOworICAgIFB5VGhyZWFkU3RhdGVfQ2xlYXIodHN0YXRlKTsKKyAgICBQeVRocmVhZFN0YXRlX1N3YXAoc2F2ZV90c3RhdGUpOworICAgIFB5VGhyZWFkU3RhdGVfRGVsZXRlKHRzdGF0ZSk7CisgICAgUHlJbnRlcnByZXRlclN0YXRlX0RlbGV0ZShpbnRlcnApOworCisgICAgcmV0dXJuIE5VTEw7Cit9CisKKy8qIERlbGV0ZSBhbiBpbnRlcnByZXRlciBhbmQgaXRzIGxhc3QgdGhyZWFkLiAgVGhpcyByZXF1aXJlcyB0aGF0IHRoZQorICAgZ2l2ZW4gdGhyZWFkIHN0YXRlIGlzIGN1cnJlbnQsIHRoYXQgdGhlIHRocmVhZCBoYXMgbm8gcmVtYWluaW5nCisgICBmcmFtZXMsIGFuZCB0aGF0IGl0IGlzIGl0cyBpbnRlcnByZXRlcidzIG9ubHkgcmVtYWluaW5nIHRocmVhZC4KKyAgIEl0IGlzIGEgZmF0YWwgZXJyb3IgdG8gdmlvbGF0ZSB0aGVzZSBjb25zdHJhaW50cy4KKworICAgKFB5X0ZpbmFsaXplKCkgZG9lc24ndCBoYXZlIHRoZXNlIGNvbnN0cmFpbnRzIC0tIGl0IHphcHMKKyAgIGV2ZXJ5dGhpbmcsIHJlZ2FyZGxlc3MuKQorCisgICBMb2NraW5nOiBhcyBhYm92ZS4KKworKi8KKwordm9pZAorUHlfRW5kSW50ZXJwcmV0ZXIoUHlUaHJlYWRTdGF0ZSAqdHN0YXRlKQoreworICAgIFB5SW50ZXJwcmV0ZXJTdGF0ZSAqaW50ZXJwID0gdHN0YXRlLT5pbnRlcnA7CisKKyAgICBpZiAodHN0YXRlICE9IFB5VGhyZWFkU3RhdGVfR0VUKCkpCisgICAgICAgIFB5X0ZhdGFsRXJyb3IoIlB5X0VuZEludGVycHJldGVyOiB0aHJlYWQgaXMgbm90IGN1cnJlbnQiKTsKKyAgICBpZiAodHN0YXRlLT5mcmFtZSAhPSBOVUxMKQorICAgICAgICBQeV9GYXRhbEVycm9yKCJQeV9FbmRJbnRlcnByZXRlcjogdGhyZWFkIHN0aWxsIGhhcyBhIGZyYW1lIik7CisKKyAgICB3YWl0X2Zvcl90aHJlYWRfc2h1dGRvd24oKTsKKworICAgIGlmICh0c3RhdGUgIT0gaW50ZXJwLT50c3RhdGVfaGVhZCB8fCB0c3RhdGUtPm5leHQgIT0gTlVMTCkKKyAgICAgICAgUHlfRmF0YWxFcnJvcigiUHlfRW5kSW50ZXJwcmV0ZXI6IG5vdCB0aGUgbGFzdCB0aHJlYWQiKTsKKworICAgIFB5SW1wb3J0X0NsZWFudXAoKTsKKyAgICBQeUludGVycHJldGVyU3RhdGVfQ2xlYXIoaW50ZXJwKTsKKyAgICBQeVRocmVhZFN0YXRlX1N3YXAoTlVMTCk7CisgICAgUHlJbnRlcnByZXRlclN0YXRlX0RlbGV0ZShpbnRlcnApOworfQorCisjaWZkZWYgTVNfV0lORE9XUworc3RhdGljIHdjaGFyX3QgKnByb2duYW1lID0gTCJweXRob24iOworI2Vsc2UKK3N0YXRpYyB3Y2hhcl90ICpwcm9nbmFtZSA9IEwicHl0aG9uMyI7CisjZW5kaWYKKwordm9pZAorUHlfU2V0UHJvZ3JhbU5hbWUod2NoYXJfdCAqcG4pCit7CisgICAgaWYgKHBuICYmICpwbikKKyAgICAgICAgcHJvZ25hbWUgPSBwbjsKK30KKword2NoYXJfdCAqCitQeV9HZXRQcm9ncmFtTmFtZSh2b2lkKQoreworICAgIHJldHVybiBwcm9nbmFtZTsKK30KKworc3RhdGljIHdjaGFyX3QgKmRlZmF1bHRfaG9tZSA9IE5VTEw7CitzdGF0aWMgd2NoYXJfdCBlbnZfaG9tZVtNQVhQQVRITEVOKzFdOworCit2b2lkCitQeV9TZXRQeXRob25Ib21lKHdjaGFyX3QgKmhvbWUpCit7CisgICAgZGVmYXVsdF9ob21lID0gaG9tZTsKK30KKword2NoYXJfdCAqCitQeV9HZXRQeXRob25Ib21lKHZvaWQpCit7CisgICAgd2NoYXJfdCAqaG9tZSA9IGRlZmF1bHRfaG9tZTsKKyAgICBpZiAoaG9tZSA9PSBOVUxMICYmICFQeV9JZ25vcmVFbnZpcm9ubWVudEZsYWcpIHsKKyAgICAgICAgY2hhciogY2hvbWUgPSBQeV9HRVRFTlYoIlBZVEhPTkhPTUUiKTsKKyAgICAgICAgaWYgKGNob21lKSB7CisgICAgICAgICAgICBzaXplX3Qgc2l6ZSA9IFB5X0FSUkFZX0xFTkdUSChlbnZfaG9tZSk7CisgICAgICAgICAgICBzaXplX3QgciA9IG1ic3Rvd2NzKGVudl9ob21lLCBjaG9tZSwgc2l6ZSk7CisgICAgICAgICAgICBpZiAociAhPSAoc2l6ZV90KS0xICYmIHIgPCBzaXplKQorICAgICAgICAgICAgICAgIGhvbWUgPSBlbnZfaG9tZTsKKyAgICAgICAgfQorCisgICAgfQorICAgIHJldHVybiBob21lOworfQorCisvKiBDcmVhdGUgX19tYWluX18gbW9kdWxlICovCisKK3N0YXRpYyB2b2lkCitpbml0bWFpbihQeUludGVycHJldGVyU3RhdGUgKmludGVycCkKK3sKKyAgICBQeU9iamVjdCAqbSwgKmQsICpsb2FkZXI7CisgICAgbSA9IFB5SW1wb3J0X0FkZE1vZHVsZSgiX19tYWluX18iKTsKKyAgICBpZiAobSA9PSBOVUxMKQorICAgICAgICBQeV9GYXRhbEVycm9yKCJjYW4ndCBjcmVhdGUgX19tYWluX18gbW9kdWxlIik7CisgICAgZCA9IFB5TW9kdWxlX0dldERpY3QobSk7CisgICAgaWYgKFB5RGljdF9HZXRJdGVtU3RyaW5nKGQsICJfX2J1aWx0aW5zX18iKSA9PSBOVUxMKSB7CisgICAgICAgIFB5T2JqZWN0ICpiaW1vZCA9IFB5SW1wb3J0X0ltcG9ydE1vZHVsZSgiYnVpbHRpbnMiKTsKKyAgICAgICAgaWYgKGJpbW9kID09IE5VTEwpIHsKKyAgICAgICAgICAgIFB5X0ZhdGFsRXJyb3IoIkZhaWxlZCB0byByZXRyaWV2ZSBidWlsdGlucyBtb2R1bGUiKTsKKyAgICAgICAgfQorICAgICAgICBpZiAoUHlEaWN0X1NldEl0ZW1TdHJpbmcoZCwgIl9fYnVpbHRpbnNfXyIsIGJpbW9kKSA8IDApIHsKKyAgICAgICAgICAgIFB5X0ZhdGFsRXJyb3IoIkZhaWxlZCB0byBpbml0aWFsaXplIF9fbWFpbl9fLl9fYnVpbHRpbnNfXyIpOworICAgICAgICB9CisgICAgICAgIFB5X0RFQ1JFRihiaW1vZCk7CisgICAgfQorICAgIC8qIE1haW4gaXMgYSBsaXR0bGUgc3BlY2lhbCAtIGltcC5pc19idWlsdGluKCJfX21haW5fXyIpIHdpbGwgcmV0dXJuCisgICAgICogRmFsc2UsIGJ1dCBCdWlsdGluSW1wb3J0ZXIgaXMgc3RpbGwgdGhlIG1vc3QgYXBwcm9wcmlhdGUgaW5pdGlhbAorICAgICAqIHNldHRpbmcgZm9yIGl0cyBfX2xvYWRlcl9fIGF0dHJpYnV0ZS4gQSBtb3JlIHN1aXRhYmxlIHZhbHVlIHdpbGwKKyAgICAgKiBiZSBzZXQgaWYgX19tYWluX18gZ2V0cyBmdXJ0aGVyIGluaXRpYWxpemVkIGxhdGVyIGluIHRoZSBzdGFydHVwCisgICAgICogcHJvY2Vzcy4KKyAgICAgKi8KKyAgICBsb2FkZXIgPSBQeURpY3RfR2V0SXRlbVN0cmluZyhkLCAiX19sb2FkZXJfXyIpOworICAgIGlmIChsb2FkZXIgPT0gTlVMTCB8fCBsb2FkZXIgPT0gUHlfTm9uZSkgeworICAgICAgICBQeU9iamVjdCAqbG9hZGVyID0gUHlPYmplY3RfR2V0QXR0clN0cmluZyhpbnRlcnAtPmltcG9ydGxpYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkJ1aWx0aW5JbXBvcnRlciIpOworICAgICAgICBpZiAobG9hZGVyID09IE5VTEwpIHsKKyAgICAgICAgICAgIFB5X0ZhdGFsRXJyb3IoIkZhaWxlZCB0byByZXRyaWV2ZSBCdWlsdGluSW1wb3J0ZXIiKTsKKyAgICAgICAgfQorICAgICAgICBpZiAoUHlEaWN0X1NldEl0ZW1TdHJpbmcoZCwgIl9fbG9hZGVyX18iLCBsb2FkZXIpIDwgMCkgeworICAgICAgICAgICAgUHlfRmF0YWxFcnJvcigiRmFpbGVkIHRvIGluaXRpYWxpemUgX19tYWluX18uX19sb2FkZXJfXyIpOworICAgICAgICB9CisgICAgICAgIFB5X0RFQ1JFRihsb2FkZXIpOworICAgIH0KK30KKworc3RhdGljIGludAoraW5pdGZzZW5jb2RpbmcoUHlJbnRlcnByZXRlclN0YXRlICppbnRlcnApCit7CisgICAgUHlPYmplY3QgKmNvZGVjOworCisgICAgaWYgKFB5X0ZpbGVTeXN0ZW1EZWZhdWx0RW5jb2RpbmcgPT0gTlVMTCkKKyAgICB7CisgICAgICAgIFB5X0ZpbGVTeXN0ZW1EZWZhdWx0RW5jb2RpbmcgPSBnZXRfbG9jYWxlX2VuY29kaW5nKCk7CisgICAgICAgIGlmIChQeV9GaWxlU3lzdGVtRGVmYXVsdEVuY29kaW5nID09IE5VTEwpCisgICAgICAgICAgICBQeV9GYXRhbEVycm9yKCJQeV9Jbml0aWFsaXplOiBVbmFibGUgdG8gZ2V0IHRoZSBsb2NhbGUgZW5jb2RpbmciKTsKKworICAgICAgICBQeV9IYXNGaWxlU3lzdGVtRGVmYXVsdEVuY29kaW5nID0gMDsKKyAgICAgICAgaW50ZXJwLT5mc2NvZGVjX2luaXRpYWxpemVkID0gMTsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQorCisgICAgLyogdGhlIGVuY29kaW5nIGlzIG1iY3MsIHV0Zi04IG9yIGFzY2lpICovCisgICAgY29kZWMgPSBfUHlDb2RlY19Mb29rdXAoUHlfRmlsZVN5c3RlbURlZmF1bHRFbmNvZGluZyk7CisgICAgaWYgKCFjb2RlYykgeworICAgICAgICAvKiBTdWNoIGVycm9yIGNhbiBvbmx5IG9jY3VycyBpbiBjcml0aWNhbCBzaXR1YXRpb25zOiBubyBtb3JlCisgICAgICAgICAqIG1lbW9yeSwgaW1wb3J0IGEgbW9kdWxlIG9mIHRoZSBzdGFuZGFyZCBsaWJyYXJ5IGZhaWxlZCwKKyAgICAgICAgICogZXRjLiAqLworICAgICAgICByZXR1cm4gLTE7CisgICAgfQorICAgIFB5X0RFQ1JFRihjb2RlYyk7CisgICAgaW50ZXJwLT5mc2NvZGVjX2luaXRpYWxpemVkID0gMTsKKyAgICByZXR1cm4gMDsKK30KKworLyogSW1wb3J0IHRoZSBzaXRlIG1vZHVsZSAobm90IGludG8gX19tYWluX18gdGhvdWdoKSAqLworCitzdGF0aWMgdm9pZAoraW5pdHNpdGUodm9pZCkKK3sKKyAgICBQeU9iamVjdCAqbTsKKyAgICBtID0gUHlJbXBvcnRfSW1wb3J0TW9kdWxlKCJzaXRlIik7CisgICAgaWYgKG0gPT0gTlVMTCkgeworICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIkZhaWxlZCB0byBpbXBvcnQgdGhlIHNpdGUgbW9kdWxlXG4iKTsKKyAgICAgICAgUHlFcnJfUHJpbnQoKTsKKyAgICAgICAgUHlfRmluYWxpemUoKTsKKyAgICAgICAgZXhpdCgxKTsKKyAgICB9CisgICAgZWxzZSB7CisgICAgICAgIFB5X0RFQ1JFRihtKTsKKyAgICB9Cit9CisKK3N0YXRpYyBQeU9iamVjdCoKK2NyZWF0ZV9zdGRpbyhQeU9iamVjdCogaW8sCisgICAgaW50IGZkLCBpbnQgd3JpdGVfbW9kZSwgY2hhciogbmFtZSwKKyAgICBjaGFyKiBlbmNvZGluZywgY2hhciogZXJyb3JzKQoreworICAgIFB5T2JqZWN0ICpidWYgPSBOVUxMLCAqc3RyZWFtID0gTlVMTCwgKnRleHQgPSBOVUxMLCAqcmF3ID0gTlVMTCwgKnJlczsKKyAgICBjb25zdCBjaGFyKiBtb2RlOworICAgIGNvbnN0IGNoYXIqIG5ld2xpbmU7CisgICAgUHlPYmplY3QgKmxpbmVfYnVmZmVyaW5nOworICAgIGludCBidWZmZXJpbmcsIGlzYXR0eTsKKyAgICBfUHlfSURFTlRJRklFUihvcGVuKTsKKyAgICBfUHlfSURFTlRJRklFUihpc2F0dHkpOworICAgIF9QeV9JREVOVElGSUVSKFRleHRJT1dyYXBwZXIpOworICAgIF9QeV9JREVOVElGSUVSKG1vZGUpOworCisgICAgLyogc3RkaW4gaXMgYWx3YXlzIG9wZW5lZCBpbiBidWZmZXJlZCBtb2RlLCBmaXJzdCBiZWNhdXNlIGl0IHNob3VsZG4ndAorICAgICAgIG1ha2UgYSBkaWZmZXJlbmNlIGluIGNvbW1vbiB1c2UgY2FzZXMsIHNlY29uZCBiZWNhdXNlIFRleHRJT1dyYXBwZXIKKyAgICAgICBkZXBlbmRzIG9uIHRoZSBwcmVzZW5jZSBvZiBhIHJlYWQxKCkgbWV0aG9kIHdoaWNoIG9ubHkgZXhpc3RzIG9uCisgICAgICAgYnVmZmVyZWQgc3RyZWFtcy4KKyAgICAqLworICAgIGlmIChQeV9VbmJ1ZmZlcmVkU3RkaW9GbGFnICYmIHdyaXRlX21vZGUpCisgICAgICAgIGJ1ZmZlcmluZyA9IDA7CisgICAgZWxzZQorICAgICAgICBidWZmZXJpbmcgPSAtMTsKKyAgICBpZiAod3JpdGVfbW9kZSkKKyAgICAgICAgbW9kZSA9ICJ3YiI7CisgICAgZWxzZQorICAgICAgICBtb2RlID0gInJiIjsKKyAgICBidWYgPSBfUHlPYmplY3RfQ2FsbE1ldGhvZElkKGlvLCAmUHlJZF9vcGVuLCAiaXNpT09PaSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmZCwgbW9kZSwgYnVmZmVyaW5nLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlfTm9uZSwgUHlfTm9uZSwgUHlfTm9uZSwgMCk7CisgICAgaWYgKGJ1ZiA9PSBOVUxMKQorICAgICAgICBnb3RvIGVycm9yOworCisgICAgaWYgKGJ1ZmZlcmluZykgeworICAgICAgICBfUHlfSURFTlRJRklFUihyYXcpOworICAgICAgICByYXcgPSBfUHlPYmplY3RfR2V0QXR0cklkKGJ1ZiwgJlB5SWRfcmF3KTsKKyAgICAgICAgaWYgKHJhdyA9PSBOVUxMKQorICAgICAgICAgICAgZ290byBlcnJvcjsKKyAgICB9CisgICAgZWxzZSB7CisgICAgICAgIHJhdyA9IGJ1ZjsKKyAgICAgICAgUHlfSU5DUkVGKHJhdyk7CisgICAgfQorCisgICAgdGV4dCA9IFB5VW5pY29kZV9Gcm9tU3RyaW5nKG5hbWUpOworICAgIGlmICh0ZXh0ID09IE5VTEwgfHwgX1B5T2JqZWN0X1NldEF0dHJJZChyYXcsICZQeUlkX25hbWUsIHRleHQpIDwgMCkKKyAgICAgICAgZ290byBlcnJvcjsKKyAgICByZXMgPSBfUHlPYmplY3RfQ2FsbE1ldGhvZElkKHJhdywgJlB5SWRfaXNhdHR5LCAiIik7CisgICAgaWYgKHJlcyA9PSBOVUxMKQorICAgICAgICBnb3RvIGVycm9yOworICAgIGlzYXR0eSA9IFB5T2JqZWN0X0lzVHJ1ZShyZXMpOworICAgIFB5X0RFQ1JFRihyZXMpOworICAgIGlmIChpc2F0dHkgPT0gLTEpCisgICAgICAgIGdvdG8gZXJyb3I7CisgICAgaWYgKGlzYXR0eSB8fCBQeV9VbmJ1ZmZlcmVkU3RkaW9GbGFnKQorICAgICAgICBsaW5lX2J1ZmZlcmluZyA9IFB5X1RydWU7CisgICAgZWxzZQorICAgICAgICBsaW5lX2J1ZmZlcmluZyA9IFB5X0ZhbHNlOworCisgICAgUHlfQ0xFQVIocmF3KTsKKyAgICBQeV9DTEVBUih0ZXh0KTsKKworI2lmZGVmIE1TX1dJTkRPV1MKKyAgICAvKiBzeXMuc3RkaW46IGVuYWJsZSB1bml2ZXJzYWwgbmV3bGluZSBtb2RlLCB0cmFuc2xhdGUgIlxyXG4iIGFuZCAiXHIiCisgICAgICAgbmV3bGluZXMgdG8gIlxuIi4KKyAgICAgICBzeXMuc3Rkb3V0IGFuZCBzeXMuc3RkZXJyOiB0cmFuc2xhdGUgIlxuIiB0byAiXHJcbiIuICovCisgICAgbmV3bGluZSA9IE5VTEw7CisjZWxzZQorICAgIC8qIHN5cy5zdGRpbjogc3BsaXQgbGluZXMgYXQgIlxuIi4KKyAgICAgICBzeXMuc3Rkb3V0IGFuZCBzeXMuc3RkZXJyOiBkb24ndCB0cmFuc2xhdGUgbmV3bGluZXMgKHVzZSAiXG4iKS4gKi8KKyAgICBuZXdsaW5lID0gIlxuIjsKKyNlbmRpZgorCisgICAgc3RyZWFtID0gX1B5T2JqZWN0X0NhbGxNZXRob2RJZChpbywgJlB5SWRfVGV4dElPV3JhcHBlciwgIk9zc3NPIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1ZiwgZW5jb2RpbmcsIGVycm9ycywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld2xpbmUsIGxpbmVfYnVmZmVyaW5nKTsKKyAgICBQeV9DTEVBUihidWYpOworICAgIGlmIChzdHJlYW0gPT0gTlVMTCkKKyAgICAgICAgZ290byBlcnJvcjsKKworICAgIGlmICh3cml0ZV9tb2RlKQorICAgICAgICBtb2RlID0gInciOworICAgIGVsc2UKKyAgICAgICAgbW9kZSA9ICJyIjsKKyAgICB0ZXh0ID0gUHlVbmljb2RlX0Zyb21TdHJpbmcobW9kZSk7CisgICAgaWYgKCF0ZXh0IHx8IF9QeU9iamVjdF9TZXRBdHRySWQoc3RyZWFtLCAmUHlJZF9tb2RlLCB0ZXh0KSA8IDApCisgICAgICAgIGdvdG8gZXJyb3I7CisgICAgUHlfQ0xFQVIodGV4dCk7CisgICAgcmV0dXJuIHN0cmVhbTsKKworZXJyb3I6CisgICAgUHlfWERFQ1JFRihidWYpOworICAgIFB5X1hERUNSRUYoc3RyZWFtKTsKKyAgICBQeV9YREVDUkVGKHRleHQpOworICAgIFB5X1hERUNSRUYocmF3KTsKKyAgICByZXR1cm4gTlVMTDsKK30KKworc3RhdGljIGludAoraXNfdmFsaWRfZmQoaW50IGZkKQoreworICAgIGludCBkdW1teV9mZDsKKyAgICBpZiAoZmQgPCAwIHx8ICFfUHlWZXJpZnlfZmQoZmQpKQorICAgICAgICByZXR1cm4gMDsKKyAgICBkdW1teV9mZCA9IGR1cChmZCk7CisgICAgaWYgKGR1bW15X2ZkIDwgMCkKKyAgICAgICAgcmV0dXJuIDA7CisgICAgY2xvc2UoZHVtbXlfZmQpOworICAgIHJldHVybiAxOworfQorCisvKiBJbml0aWFsaXplIHN5cy5zdGRpbiwgc3Rkb3V0LCBzdGRlcnIgYW5kIGJ1aWx0aW5zLm9wZW4gKi8KK3N0YXRpYyBpbnQKK2luaXRzdGRpbyh2b2lkKQoreworICAgIFB5T2JqZWN0ICppb21vZCA9IE5VTEwsICp3cmFwcGVyOworICAgIFB5T2JqZWN0ICpiaW1vZCA9IE5VTEw7CisgICAgUHlPYmplY3QgKm07CisgICAgUHlPYmplY3QgKnN0ZCA9IE5VTEw7CisgICAgaW50IHN0YXR1cyA9IDAsIGZkOworICAgIFB5T2JqZWN0ICogZW5jb2RpbmdfYXR0cjsKKyAgICBjaGFyICpweXRob25pb2VuY29kaW5nID0gTlVMTCwgKmVuY29kaW5nLCAqZXJyb3JzOworCisgICAgLyogSGFjayB0byBhdm9pZCBhIG5hc3R5IHJlY3Vyc2lvbiBpc3N1ZSB3aGVuIFB5dGhvbiBpcyBpbnZva2VkCisgICAgICAgaW4gdmVyYm9zZSBtb2RlOiBwcmUtaW1wb3J0IHRoZSBMYXRpbi0xIGFuZCBVVEYtOCBjb2RlY3MgKi8KKyAgICBpZiAoKG0gPSBQeUltcG9ydF9JbXBvcnRNb2R1bGUoImVuY29kaW5ncy51dGZfOCIpKSA9PSBOVUxMKSB7CisgICAgICAgIGdvdG8gZXJyb3I7CisgICAgfQorICAgIFB5X0RFQ1JFRihtKTsKKworICAgIGlmICghKG0gPSBQeUltcG9ydF9JbXBvcnRNb2R1bGUoImVuY29kaW5ncy5sYXRpbl8xIikpKSB7CisgICAgICAgIGdvdG8gZXJyb3I7CisgICAgfQorICAgIFB5X0RFQ1JFRihtKTsKKworICAgIGlmICghKGJpbW9kID0gUHlJbXBvcnRfSW1wb3J0TW9kdWxlKCJidWlsdGlucyIpKSkgeworICAgICAgICBnb3RvIGVycm9yOworICAgIH0KKworICAgIGlmICghKGlvbW9kID0gUHlJbXBvcnRfSW1wb3J0TW9kdWxlKCJpbyIpKSkgeworICAgICAgICBnb3RvIGVycm9yOworICAgIH0KKyAgICBpZiAoISh3cmFwcGVyID0gUHlPYmplY3RfR2V0QXR0clN0cmluZyhpb21vZCwgIk9wZW5XcmFwcGVyIikpKSB7CisgICAgICAgIGdvdG8gZXJyb3I7CisgICAgfQorCisgICAgLyogU2V0IGJ1aWx0aW5zLm9wZW4gKi8KKyAgICBpZiAoUHlPYmplY3RfU2V0QXR0clN0cmluZyhiaW1vZCwgIm9wZW4iLCB3cmFwcGVyKSA9PSAtMSkgeworICAgICAgICBQeV9ERUNSRUYod3JhcHBlcik7CisgICAgICAgIGdvdG8gZXJyb3I7CisgICAgfQorICAgIFB5X0RFQ1JFRih3cmFwcGVyKTsKKworICAgIGVuY29kaW5nID0gX1B5X1N0YW5kYXJkU3RyZWFtRW5jb2Rpbmc7CisgICAgZXJyb3JzID0gX1B5X1N0YW5kYXJkU3RyZWFtRXJyb3JzOworICAgIGlmICghZW5jb2RpbmcgfHwgIWVycm9ycykgeworICAgICAgICBpZiAoIWVycm9ycykgeworICAgICAgICAgICAgLyogV2hlbiB0aGUgTENfQ1RZUEUgbG9jYWxlIGlzIHRoZSBQT1NJWCBsb2NhbGUgKCJDIGxvY2FsZSIpLAorICAgICAgICAgICAgICAgc3RkaW4gYW5kIHN0ZG91dCB1c2UgdGhlIHN1cnJvZ2F0ZWVzY2FwZSBlcnJvciBoYW5kbGVyIGJ5CisgICAgICAgICAgICAgICBkZWZhdWx0LCBpbnN0ZWFkIG9mIHRoZSBzdHJpY3QgZXJyb3IgaGFuZGxlci4gKi8KKyAgICAgICAgICAgIGNoYXIgKmxvYyA9IHNldGxvY2FsZShMQ19DVFlQRSwgTlVMTCk7CisgICAgICAgICAgICBpZiAobG9jICE9IE5VTEwgJiYgc3RyY21wKGxvYywgIkMiKSA9PSAwKQorICAgICAgICAgICAgICAgIGVycm9ycyA9ICJzdXJyb2dhdGVlc2NhcGUiOworICAgICAgICB9CisKKyAgICAgICAgcHl0aG9uaW9lbmNvZGluZyA9IFB5X0dFVEVOVigiUFlUSE9OSU9FTkNPRElORyIpOworICAgICAgICBpZiAocHl0aG9uaW9lbmNvZGluZykgeworICAgICAgICAgICAgY2hhciAqZXJyOworICAgICAgICAgICAgcHl0aG9uaW9lbmNvZGluZyA9IF9QeU1lbV9TdHJkdXAocHl0aG9uaW9lbmNvZGluZyk7CisgICAgICAgICAgICBpZiAocHl0aG9uaW9lbmNvZGluZyA9PSBOVUxMKSB7CisgICAgICAgICAgICAgICAgUHlFcnJfTm9NZW1vcnkoKTsKKyAgICAgICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICAgICAgfQorICAgICAgICAgICAgZXJyID0gc3RyY2hyKHB5dGhvbmlvZW5jb2RpbmcsICc6Jyk7CisgICAgICAgICAgICBpZiAoZXJyKSB7CisgICAgICAgICAgICAgICAgKmVyciA9ICdcMCc7CisgICAgICAgICAgICAgICAgZXJyKys7CisgICAgICAgICAgICAgICAgaWYgKCplcnIgJiYgIV9QeV9TdGFuZGFyZFN0cmVhbUVycm9ycykgeworICAgICAgICAgICAgICAgICAgICBlcnJvcnMgPSBlcnI7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYgKCpweXRob25pb2VuY29kaW5nICYmICFlbmNvZGluZykgeworICAgICAgICAgICAgICAgIGVuY29kaW5nID0gcHl0aG9uaW9lbmNvZGluZzsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KKworICAgIC8qIFNldCBzeXMuc3RkaW4gKi8KKyAgICBmZCA9IGZpbGVubyhzdGRpbik7CisgICAgLyogVW5kZXIgc29tZSBjb25kaXRpb25zIHN0ZGluLCBzdGRvdXQgYW5kIHN0ZGVyciBtYXkgbm90IGJlIGNvbm5lY3RlZAorICAgICAqIGFuZCBmaWxlbm8oKSBtYXkgcG9pbnQgdG8gYW4gaW52YWxpZCBmaWxlIGRlc2NyaXB0b3IuIEZvciBleGFtcGxlCisgICAgICogR1VJIGFwcHMgZG9uJ3QgaGF2ZSB2YWxpZCBzdGFuZGFyZCBzdHJlYW1zIGJ5IGRlZmF1bHQuCisgICAgICovCisgICAgaWYgKCFpc192YWxpZF9mZChmZCkpIHsKKyAgICAgICAgc3RkID0gUHlfTm9uZTsKKyAgICAgICAgUHlfSU5DUkVGKHN0ZCk7CisgICAgfQorICAgIGVsc2UgeworICAgICAgICBzdGQgPSBjcmVhdGVfc3RkaW8oaW9tb2QsIGZkLCAwLCAiPHN0ZGluPiIsIGVuY29kaW5nLCBlcnJvcnMpOworICAgICAgICBpZiAoc3RkID09IE5VTEwpCisgICAgICAgICAgICBnb3RvIGVycm9yOworICAgIH0gLyogaWYgKGZkIDwgMCkgKi8KKyAgICBQeVN5c19TZXRPYmplY3QoIl9fc3RkaW5fXyIsIHN0ZCk7CisgICAgX1B5U3lzX1NldE9iamVjdElkKCZQeUlkX3N0ZGluLCBzdGQpOworICAgIFB5X0RFQ1JFRihzdGQpOworCisgICAgLyogU2V0IHN5cy5zdGRvdXQgKi8KKyAgICBmZCA9IGZpbGVubyhzdGRvdXQpOworICAgIGlmICghaXNfdmFsaWRfZmQoZmQpKSB7CisgICAgICAgIHN0ZCA9IFB5X05vbmU7CisgICAgICAgIFB5X0lOQ1JFRihzdGQpOworICAgIH0KKyAgICBlbHNlIHsKKyAgICAgICAgc3RkID0gY3JlYXRlX3N0ZGlvKGlvbW9kLCBmZCwgMSwgIjxzdGRvdXQ+IiwgZW5jb2RpbmcsIGVycm9ycyk7CisgICAgICAgIGlmIChzdGQgPT0gTlVMTCkKKyAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgfSAvKiBpZiAoZmQgPCAwKSAqLworICAgIFB5U3lzX1NldE9iamVjdCgiX19zdGRvdXRfXyIsIHN0ZCk7CisgICAgX1B5U3lzX1NldE9iamVjdElkKCZQeUlkX3N0ZG91dCwgc3RkKTsKKyAgICBQeV9ERUNSRUYoc3RkKTsKKworI2lmIDEgLyogRGlzYWJsZSB0aGlzIGlmIHlvdSBoYXZlIHRyb3VibGUgZGVidWdnaW5nIGJvb3RzdHJhcCBzdHVmZiAqLworICAgIC8qIFNldCBzeXMuc3RkZXJyLCByZXBsYWNlcyB0aGUgcHJlbGltaW5hcnkgc3RkZXJyICovCisgICAgZmQgPSBmaWxlbm8oc3RkZXJyKTsKKyAgICBpZiAoIWlzX3ZhbGlkX2ZkKGZkKSkgeworICAgICAgICBzdGQgPSBQeV9Ob25lOworICAgICAgICBQeV9JTkNSRUYoc3RkKTsKKyAgICB9CisgICAgZWxzZSB7CisgICAgICAgIHN0ZCA9IGNyZWF0ZV9zdGRpbyhpb21vZCwgZmQsIDEsICI8c3RkZXJyPiIsIGVuY29kaW5nLCAiYmFja3NsYXNocmVwbGFjZSIpOworICAgICAgICBpZiAoc3RkID09IE5VTEwpCisgICAgICAgICAgICBnb3RvIGVycm9yOworICAgIH0gLyogaWYgKGZkIDwgMCkgKi8KKworICAgIC8qIFNhbWUgYXMgaGFjayBhYm92ZSwgcHJlLWltcG9ydCBzdGRlcnIncyBjb2RlYyB0byBhdm9pZCByZWN1cnNpb24KKyAgICAgICB3aGVuIGltcG9ydC5jIHRyaWVzIHRvIHdyaXRlIHRvIHN0ZGVyciBpbiB2ZXJib3NlIG1vZGUuICovCisgICAgZW5jb2RpbmdfYXR0ciA9IFB5T2JqZWN0X0dldEF0dHJTdHJpbmcoc3RkLCAiZW5jb2RpbmciKTsKKyAgICBpZiAoZW5jb2RpbmdfYXR0ciAhPSBOVUxMKSB7CisgICAgICAgIGNvbnN0IGNoYXIgKiBzdGRfZW5jb2Rpbmc7CisgICAgICAgIHN0ZF9lbmNvZGluZyA9IF9QeVVuaWNvZGVfQXNTdHJpbmcoZW5jb2RpbmdfYXR0cik7CisgICAgICAgIGlmIChzdGRfZW5jb2RpbmcgIT0gTlVMTCkgeworICAgICAgICAgICAgUHlPYmplY3QgKmNvZGVjX2luZm8gPSBfUHlDb2RlY19Mb29rdXAoc3RkX2VuY29kaW5nKTsKKyAgICAgICAgICAgIFB5X1hERUNSRUYoY29kZWNfaW5mbyk7CisgICAgICAgIH0KKyAgICAgICAgUHlfREVDUkVGKGVuY29kaW5nX2F0dHIpOworICAgIH0KKyAgICBQeUVycl9DbGVhcigpOyAgLyogTm90IGEgZmF0YWwgZXJyb3IgaWYgY29kZWMgaXNuJ3QgYXZhaWxhYmxlICovCisKKyAgICBpZiAoUHlTeXNfU2V0T2JqZWN0KCJfX3N0ZGVycl9fIiwgc3RkKSA8IDApIHsKKyAgICAgICAgUHlfREVDUkVGKHN0ZCk7CisgICAgICAgIGdvdG8gZXJyb3I7CisgICAgfQorICAgIGlmIChfUHlTeXNfU2V0T2JqZWN0SWQoJlB5SWRfc3RkZXJyLCBzdGQpIDwgMCkgeworICAgICAgICBQeV9ERUNSRUYoc3RkKTsKKyAgICAgICAgZ290byBlcnJvcjsKKyAgICB9CisgICAgUHlfREVDUkVGKHN0ZCk7CisjZW5kaWYKKworICAgIGlmICgwKSB7CisgIGVycm9yOgorICAgICAgICBzdGF0dXMgPSAtMTsKKyAgICB9CisKKyAgICAvKiBXZSB3b24ndCBuZWVkIHRoZW0gYW55bW9yZS4gKi8KKyAgICBpZiAoX1B5X1N0YW5kYXJkU3RyZWFtRW5jb2RpbmcpIHsKKyAgICAgICAgUHlNZW1fUmF3RnJlZShfUHlfU3RhbmRhcmRTdHJlYW1FbmNvZGluZyk7CisgICAgICAgIF9QeV9TdGFuZGFyZFN0cmVhbUVuY29kaW5nID0gTlVMTDsKKyAgICB9CisgICAgaWYgKF9QeV9TdGFuZGFyZFN0cmVhbUVycm9ycykgeworICAgICAgICBQeU1lbV9SYXdGcmVlKF9QeV9TdGFuZGFyZFN0cmVhbUVycm9ycyk7CisgICAgICAgIF9QeV9TdGFuZGFyZFN0cmVhbUVycm9ycyA9IE5VTEw7CisgICAgfQorICAgIFB5TWVtX0ZyZWUocHl0aG9uaW9lbmNvZGluZyk7CisgICAgUHlfWERFQ1JFRihiaW1vZCk7CisgICAgUHlfWERFQ1JFRihpb21vZCk7CisgICAgcmV0dXJuIHN0YXR1czsKK30KKworCisvKiBQcmludCBmYXRhbCBlcnJvciBtZXNzYWdlIGFuZCBhYm9ydCAqLworCit2b2lkCitQeV9GYXRhbEVycm9yKGNvbnN0IGNoYXIgKm1zZykKK3sKKyAgICBjb25zdCBpbnQgZmQgPSBmaWxlbm8oc3RkZXJyKTsKKyAgICBQeVRocmVhZFN0YXRlICp0c3RhdGU7CisKKyAgICBmcHJpbnRmKHN0ZGVyciwgIkZhdGFsIFB5dGhvbiBlcnJvcjogJXNcbiIsIG1zZyk7CisgICAgZmZsdXNoKHN0ZGVycik7IC8qIGl0IGhlbHBzIGluIFdpbmRvd3MgZGVidWcgYnVpbGQgKi8KKyAgICBpZiAoUHlFcnJfT2NjdXJyZWQoKSkgeworICAgICAgICBQeUVycl9QcmludEV4KDApOworICAgIH0KKyAgICBlbHNlIHsKKyAgICAgICAgdHN0YXRlID0gKFB5VGhyZWFkU3RhdGUqKV9QeV9hdG9taWNfbG9hZF9yZWxheGVkKCZfUHlUaHJlYWRTdGF0ZV9DdXJyZW50KTsKKyAgICAgICAgaWYgKHRzdGF0ZSAhPSBOVUxMKSB7CisgICAgICAgICAgICBmcHV0YygnXG4nLCBzdGRlcnIpOworICAgICAgICAgICAgZmZsdXNoKHN0ZGVycik7CisgICAgICAgICAgICBfUHlfRHVtcFRyYWNlYmFja1RocmVhZHMoZmQsIHRzdGF0ZS0+aW50ZXJwLCB0c3RhdGUpOworICAgICAgICB9CisgICAgICAgIF9QeUZhdWx0aGFuZGxlcl9GaW5pKCk7CisgICAgfQorCisjaWZkZWYgTVNfV0lORE9XUworICAgIHsKKyAgICAgICAgc2l6ZV90IGxlbiA9IHN0cmxlbihtc2cpOworICAgICAgICBXQ0hBUiogYnVmZmVyOworICAgICAgICBzaXplX3QgaTsKKworICAgICAgICAvKiBDb252ZXJ0IHRoZSBtZXNzYWdlIHRvIHdjaGFyX3QuIFRoaXMgdXNlcyBhIHNpbXBsZSBvbmUtdG8tb25lCisgICAgICAgIGNvbnZlcnNpb24sIGFzc3VtaW5nIHRoYXQgdGhlIHRoaXMgZXJyb3IgbWVzc2FnZSBhY3R1YWxseSB1c2VzIEFTQ0lJCisgICAgICAgIG9ubHkuIElmIHRoaXMgY2Vhc2VzIHRvIGJlIHRydWUsIHdlIHdpbGwgaGF2ZSB0byBjb252ZXJ0LiAqLworICAgICAgICBidWZmZXIgPSBhbGxvY2EoIChsZW4rMSkgKiAoc2l6ZW9mICpidWZmZXIpKTsKKyAgICAgICAgZm9yKCBpPTA7IGk8PWxlbjsgKytpKQorICAgICAgICAgICAgYnVmZmVyW2ldID0gbXNnW2ldOworICAgICAgICBPdXRwdXREZWJ1Z1N0cmluZ1coTCJGYXRhbCBQeXRob24gZXJyb3I6ICIpOworICAgICAgICBPdXRwdXREZWJ1Z1N0cmluZ1coYnVmZmVyKTsKKyAgICAgICAgT3V0cHV0RGVidWdTdHJpbmdXKEwiXG4iKTsKKyAgICB9CisjaWZkZWYgX0RFQlVHCisgICAgRGVidWdCcmVhaygpOworI2VuZGlmCisjZW5kaWYgLyogTVNfV0lORE9XUyAqLworICAgIGFib3J0KCk7Cit9CisKKy8qIENsZWFuIHVwIGFuZCBleGl0ICovCisKKyNpZmRlZiBXSVRIX1RIUkVBRAorI2luY2x1ZGUgInB5dGhyZWFkLmgiCisjZW5kaWYKKworc3RhdGljIHZvaWQgKCpweWV4aXRmdW5jKSh2b2lkKSA9IE5VTEw7CisvKiBGb3IgdGhlIGF0ZXhpdCBtb2R1bGUuICovCit2b2lkIF9QeV9QeUF0RXhpdCh2b2lkICgqZnVuYykodm9pZCkpCit7CisgICAgcHlleGl0ZnVuYyA9IGZ1bmM7Cit9CisKK3N0YXRpYyB2b2lkCitjYWxsX3B5X2V4aXRmdW5jcyh2b2lkKQoreworICAgIGlmIChweWV4aXRmdW5jID09IE5VTEwpCisgICAgICAgIHJldHVybjsKKworICAgICgqcHlleGl0ZnVuYykoKTsKKyAgICBQeUVycl9DbGVhcigpOworfQorCisvKiBXYWl0IHVudGlsIHRocmVhZGluZy5fc2h1dGRvd24gY29tcGxldGVzLCBwcm92aWRlZAorICAgdGhlIHRocmVhZGluZyBtb2R1bGUgd2FzIGltcG9ydGVkIGluIHRoZSBmaXJzdCBwbGFjZS4KKyAgIFRoZSBzaHV0ZG93biByb3V0aW5lIHdpbGwgd2FpdCB1bnRpbCBhbGwgbm9uLWRhZW1vbgorICAgInRocmVhZGluZyIgdGhyZWFkcyBoYXZlIGNvbXBsZXRlZC4gKi8KK3N0YXRpYyB2b2lkCit3YWl0X2Zvcl90aHJlYWRfc2h1dGRvd24odm9pZCkKK3sKKyNpZmRlZiBXSVRIX1RIUkVBRAorICAgIF9QeV9JREVOVElGSUVSKF9zaHV0ZG93bik7CisgICAgUHlPYmplY3QgKnJlc3VsdDsKKyAgICBQeVRocmVhZFN0YXRlICp0c3RhdGUgPSBQeVRocmVhZFN0YXRlX0dFVCgpOworICAgIFB5T2JqZWN0ICp0aHJlYWRpbmcgPSBQeU1hcHBpbmdfR2V0SXRlbVN0cmluZyh0c3RhdGUtPmludGVycC0+bW9kdWxlcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRocmVhZGluZyIpOworICAgIGlmICh0aHJlYWRpbmcgPT0gTlVMTCkgeworICAgICAgICAvKiB0aHJlYWRpbmcgbm90IGltcG9ydGVkICovCisgICAgICAgIFB5RXJyX0NsZWFyKCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgcmVzdWx0ID0gX1B5T2JqZWN0X0NhbGxNZXRob2RJZCh0aHJlYWRpbmcsICZQeUlkX19zaHV0ZG93biwgIiIpOworICAgIGlmIChyZXN1bHQgPT0gTlVMTCkgeworICAgICAgICBQeUVycl9Xcml0ZVVucmFpc2FibGUodGhyZWFkaW5nKTsKKyAgICB9CisgICAgZWxzZSB7CisgICAgICAgIFB5X0RFQ1JFRihyZXN1bHQpOworICAgIH0KKyAgICBQeV9ERUNSRUYodGhyZWFkaW5nKTsKKyNlbmRpZgorfQorCisjZGVmaW5lIE5FWElURlVOQ1MgMzIKK3N0YXRpYyB2b2lkICgqZXhpdGZ1bmNzW05FWElURlVOQ1NdKSh2b2lkKTsKK3N0YXRpYyBpbnQgbmV4aXRmdW5jcyA9IDA7CisKK2ludCBQeV9BdEV4aXQodm9pZCAoKmZ1bmMpKHZvaWQpKQoreworICAgIGlmIChuZXhpdGZ1bmNzID49IE5FWElURlVOQ1MpCisgICAgICAgIHJldHVybiAtMTsKKyAgICBleGl0ZnVuY3NbbmV4aXRmdW5jcysrXSA9IGZ1bmM7CisgICAgcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkCitjYWxsX2xsX2V4aXRmdW5jcyh2b2lkKQoreworICAgIHdoaWxlIChuZXhpdGZ1bmNzID4gMCkKKyAgICAgICAgKCpleGl0ZnVuY3NbLS1uZXhpdGZ1bmNzXSkoKTsKKworICAgIGZmbHVzaChzdGRvdXQpOworICAgIGZmbHVzaChzdGRlcnIpOworfQorCit2b2lkCitQeV9FeGl0KGludCBzdHMpCit7CisgICAgUHlfRmluYWxpemUoKTsKKworICAgIGV4aXQoc3RzKTsKK30KKworc3RhdGljIHZvaWQKK2luaXRzaWdzKHZvaWQpCit7CisjaWZkZWYgU0lHUElQRQorICAgIFB5T1Nfc2V0c2lnKFNJR1BJUEUsIFNJR19JR04pOworI2VuZGlmCisjaWZkZWYgU0lHWEZaCisgICAgUHlPU19zZXRzaWcoU0lHWEZaLCBTSUdfSUdOKTsKKyNlbmRpZgorI2lmZGVmIFNJR1hGU1oKKyAgICBQeU9TX3NldHNpZyhTSUdYRlNaLCBTSUdfSUdOKTsKKyNlbmRpZgorICAgIFB5T1NfSW5pdEludGVycnVwdHMoKTsgLyogTWF5IGltcGx5IGluaXRzaWduYWwoKSAqLworICAgIGlmIChQeUVycl9PY2N1cnJlZCgpKSB7CisgICAgICAgIFB5X0ZhdGFsRXJyb3IoIlB5X0luaXRpYWxpemU6IGNhbid0IGltcG9ydCBzaWduYWwiKTsKKyAgICB9Cit9CisKKworLyogUmVzdG9yZSBzaWduYWxzIHRoYXQgdGhlIGludGVycHJldGVyIGhhcyBjYWxsZWQgU0lHX0lHTiBvbiB0byBTSUdfREZMLgorICoKKyAqIEFsbCBvZiB0aGUgY29kZSBpbiB0aGlzIGZ1bmN0aW9uIG11c3Qgb25seSB1c2UgYXN5bmMtc2lnbmFsLXNhZmUgZnVuY3Rpb25zLAorICogbGlzdGVkIGF0IGBtYW4gNyBzaWduYWxgIG9yCisgKiBodHRwOi8vd3d3Lm9wZW5ncm91cC5vcmcvb25saW5lcHVicy8wMDk2OTUzOTkvZnVuY3Rpb25zL3hzaF9jaGFwMDJfMDQuaHRtbC4KKyAqLwordm9pZAorX1B5X1Jlc3RvcmVTaWduYWxzKHZvaWQpCit7CisjaWZkZWYgU0lHUElQRQorICAgIFB5T1Nfc2V0c2lnKFNJR1BJUEUsIFNJR19ERkwpOworI2VuZGlmCisjaWZkZWYgU0lHWEZaCisgICAgUHlPU19zZXRzaWcoU0lHWEZaLCBTSUdfREZMKTsKKyNlbmRpZgorI2lmZGVmIFNJR1hGU1oKKyAgICBQeU9TX3NldHNpZyhTSUdYRlNaLCBTSUdfREZMKTsKKyNlbmRpZgorfQorCisKKy8qCisgKiBUaGUgZmlsZSBkZXNjcmlwdG9yIGZkIGlzIGNvbnNpZGVyZWQgYGBpbnRlcmFjdGl2ZScnIGlmIGVpdGhlcgorICogICBhKSBpc2F0dHkoZmQpIGlzIFRSVUUsIG9yCisgKiAgIGIpIHRoZSAtaSBmbGFnIHdhcyBnaXZlbiwgYW5kIHRoZSBmaWxlbmFtZSBhc3NvY2lhdGVkIHdpdGgKKyAqICAgICAgdGhlIGRlc2NyaXB0b3IgaXMgTlVMTCBvciAiPHN0ZGluPiIgb3IgIj8/PyIuCisgKi8KK2ludAorUHlfRmRJc0ludGVyYWN0aXZlKEZJTEUgKmZwLCBjb25zdCBjaGFyICpmaWxlbmFtZSkKK3sKKyAgICBpZiAoaXNhdHR5KChpbnQpZmlsZW5vKGZwKSkpCisgICAgICAgIHJldHVybiAxOworICAgIGlmICghUHlfSW50ZXJhY3RpdmVGbGFnKQorICAgICAgICByZXR1cm4gMDsKKyAgICByZXR1cm4gKGZpbGVuYW1lID09IE5VTEwpIHx8CisgICAgICAgICAgIChzdHJjbXAoZmlsZW5hbWUsICI8c3RkaW4+IikgPT0gMCkgfHwKKyAgICAgICAgICAgKHN0cmNtcChmaWxlbmFtZSwgIj8/PyIpID09IDApOworfQorCisKKy8qIFdyYXBwZXJzIGFyb3VuZCBzaWdhY3Rpb24oKSBvciBzaWduYWwoKS4gKi8KKworUHlPU19zaWdoYW5kbGVyX3QKK1B5T1NfZ2V0c2lnKGludCBzaWcpCit7CisjaWZkZWYgSEFWRV9TSUdBQ1RJT04KKyAgICBzdHJ1Y3Qgc2lnYWN0aW9uIGNvbnRleHQ7CisgICAgaWYgKHNpZ2FjdGlvbihzaWcsIE5VTEwsICZjb250ZXh0KSA9PSAtMSkKKyAgICAgICAgcmV0dXJuIFNJR19FUlI7CisgICAgcmV0dXJuIGNvbnRleHQuc2FfaGFuZGxlcjsKKyNlbHNlCisgICAgUHlPU19zaWdoYW5kbGVyX3QgaGFuZGxlcjsKKy8qIFNwZWNpYWwgc2lnbmFsIGhhbmRsaW5nIGZvciB0aGUgc2VjdXJlIENSVCBpbiBWaXN1YWwgU3R1ZGlvIDIwMDUgKi8KKyNpZiBkZWZpbmVkKF9NU0NfVkVSKSAmJiBfTVNDX1ZFUiA+PSAxNDAwCisgICAgc3dpdGNoIChzaWcpIHsKKyAgICAvKiBPbmx5IHRoZXNlIHNpZ25hbHMgYXJlIHZhbGlkICovCisgICAgY2FzZSBTSUdJTlQ6CisgICAgY2FzZSBTSUdJTEw6CisgICAgY2FzZSBTSUdGUEU6CisgICAgY2FzZSBTSUdTRUdWOgorICAgIGNhc2UgU0lHVEVSTToKKyAgICBjYXNlIFNJR0JSRUFLOgorICAgIGNhc2UgU0lHQUJSVDoKKyAgICAgICAgYnJlYWs7CisgICAgLyogRG9uJ3QgY2FsbCBzaWduYWwoKSB3aXRoIG90aGVyIHZhbHVlcyBvciBpdCB3aWxsIGFzc2VydCAqLworICAgIGRlZmF1bHQ6CisgICAgICAgIHJldHVybiBTSUdfRVJSOworICAgIH0KKyNlbmRpZiAvKiBfTVNDX1ZFUiAmJiBfTVNDX1ZFUiA+PSAxNDAwICovCisgICAgaGFuZGxlciA9IHNpZ25hbChzaWcsIFNJR19JR04pOworICAgIGlmIChoYW5kbGVyICE9IFNJR19FUlIpCisgICAgICAgIHNpZ25hbChzaWcsIGhhbmRsZXIpOworICAgIHJldHVybiBoYW5kbGVyOworI2VuZGlmCit9CisKKy8qCisgKiBBbGwgb2YgdGhlIGNvZGUgaW4gdGhpcyBmdW5jdGlvbiBtdXN0IG9ubHkgdXNlIGFzeW5jLXNpZ25hbC1zYWZlIGZ1bmN0aW9ucywKKyAqIGxpc3RlZCBhdCBgbWFuIDcgc2lnbmFsYCBvcgorICogaHR0cDovL3d3dy5vcGVuZ3JvdXAub3JnL29ubGluZXB1YnMvMDA5Njk1Mzk5L2Z1bmN0aW9ucy94c2hfY2hhcDAyXzA0Lmh0bWwuCisgKi8KK1B5T1Nfc2lnaGFuZGxlcl90CitQeU9TX3NldHNpZyhpbnQgc2lnLCBQeU9TX3NpZ2hhbmRsZXJfdCBoYW5kbGVyKQoreworI2lmZGVmIEhBVkVfU0lHQUNUSU9OCisgICAgLyogU29tZSBjb2RlIGluIE1vZHVsZXMvc2lnbmFsbW9kdWxlLmMgZGVwZW5kcyBvbiBzaWdhY3Rpb24oKSBiZWluZworICAgICAqIHVzZWQgaGVyZSBpZiBIQVZFX1NJR0FDVElPTiBpcyBkZWZpbmVkLiAgRml4IHRoYXQgaWYgdGhpcyBjb2RlCisgICAgICogY2hhbmdlcyB0byBpbnZhbGlkYXRlIHRoYXQgYXNzdW1wdGlvbi4KKyAgICAgKi8KKyAgICBzdHJ1Y3Qgc2lnYWN0aW9uIGNvbnRleHQsIG9jb250ZXh0OworICAgIGNvbnRleHQuc2FfaGFuZGxlciA9IGhhbmRsZXI7CisgICAgc2lnZW1wdHlzZXQoJmNvbnRleHQuc2FfbWFzayk7CisgICAgY29udGV4dC5zYV9mbGFncyA9IDA7CisgICAgaWYgKHNpZ2FjdGlvbihzaWcsICZjb250ZXh0LCAmb2NvbnRleHQpID09IC0xKQorICAgICAgICByZXR1cm4gU0lHX0VSUjsKKyAgICByZXR1cm4gb2NvbnRleHQuc2FfaGFuZGxlcjsKKyNlbHNlCisgICAgUHlPU19zaWdoYW5kbGVyX3Qgb2xkaGFuZGxlcjsKKyAgICBvbGRoYW5kbGVyID0gc2lnbmFsKHNpZywgaGFuZGxlcik7CisjaWZkZWYgSEFWRV9TSUdJTlRFUlJVUFQKKyAgICBzaWdpbnRlcnJ1cHQoc2lnLCAxKTsKKyNlbmRpZgorICAgIHJldHVybiBvbGRoYW5kbGVyOworI2VuZGlmCit9CisKKyNpZmRlZiBfX2NwbHVzcGx1cworfQorI2VuZGlmCmRpZmYgLS1naXQgYS9QeXRob24vcHlzdGF0ZS5jIGIvUHl0aG9uL3B5c3RhdGUuYwppbmRleCAyYWMyZmQ1Li5lZTFlNDY5IDEwMDY0NAotLS0gYS9QeXRob24vcHlzdGF0ZS5jCisrKyBiL1B5dGhvbi9weXN0YXRlLmMKQEAgLTIyLDYgKzIyLDEyIEBACiAjZW5kaWYKICNlbmRpZgogCisjaWYgZGVmaW5lZCBfTVNDX1ZFUiAmJiBfTVNDX1ZFUiA+PSAxOTAwCisvKiBJc3N1ZSAjMjM1MjQ6IFRlbXBvcmFyeSBmaXggdG8gZGlzYWJsZSB0ZXJtaW5hdGlvbiBkdWUgdG8gaW52YWxpZCBwYXJhbWV0ZXJzICovCitQeUFQSV9EQVRBKHZvaWQqKSBfUHlfc2lsZW50X2ludmFsaWRfcGFyYW1ldGVyX2hhbmRsZXI7CisjaW5jbHVkZSA8c3RkbGliLmg+CisjZW5kaWYKKwogI2lmZGVmIF9fY3BsdXNwbHVzCiBleHRlcm4gIkMiIHsKICNlbmRpZgpAQCAtMjIyLDYgKzIyOCwxMSBAQAogICAgICAgICAgICAgdHN0YXRlLT5uZXh0LT5wcmV2ID0gdHN0YXRlOwogICAgICAgICBpbnRlcnAtPnRzdGF0ZV9oZWFkID0gdHN0YXRlOwogICAgICAgICBIRUFEX1VOTE9DSygpOworICAgICAgICAKKyNpZiBkZWZpbmVkIF9NU0NfVkVSICYmIF9NU0NfVkVSID49IDE5MDAKKyAgICAgICAgLyogSXNzdWUgIzIzNTI0OiBUZW1wb3JhcnkgZml4IHRvIGRpc2FibGUgdGVybWluYXRpb24gZHVlIHRvIGludmFsaWQgcGFyYW1ldGVycyAqLworICAgICAgICBfc2V0X3RocmVhZF9sb2NhbF9pbnZhbGlkX3BhcmFtZXRlcl9oYW5kbGVyKChfaW52YWxpZF9wYXJhbWV0ZXJfaGFuZGxlcilfUHlfc2lsZW50X2ludmFsaWRfcGFyYW1ldGVyX2hhbmRsZXIpOworI2VuZGlmCiAgICAgfQogCiAgICAgcmV0dXJuIHRzdGF0ZTsKQEAgLTQwMyw3ICs0MTQsNyBAQAogdm9pZAogUHlUaHJlYWRTdGF0ZV9EZWxldGUoUHlUaHJlYWRTdGF0ZSAqdHN0YXRlKQogewotICAgIGlmICh0c3RhdGUgPT0gX1B5X2F0b21pY19sb2FkX3JlbGF4ZWQoJl9QeVRocmVhZFN0YXRlX0N1cnJlbnQpKQorICAgIGlmICh0c3RhdGUgPT0gKFB5VGhyZWFkU3RhdGUqKV9QeV9hdG9taWNfbG9hZF9yZWxheGVkKCZfUHlUaHJlYWRTdGF0ZV9DdXJyZW50KSkKICAgICAgICAgUHlfRmF0YWxFcnJvcigiUHlUaHJlYWRTdGF0ZV9EZWxldGU6IHRzdGF0ZSBpcyBzdGlsbCBjdXJyZW50Iik7CiAjaWZkZWYgV0lUSF9USFJFQUQKICAgICBpZiAoYXV0b0ludGVycHJldGVyU3RhdGUgJiYgUHlUaHJlYWRfZ2V0X2tleV92YWx1ZShhdXRvVExTa2V5KSA9PSB0c3RhdGUpCkBAIC02NjIsNyArNjczLDcgQEAKIHsKICAgICAvKiBNdXN0IGJlIHRoZSB0c3RhdGUgZm9yIHRoaXMgdGhyZWFkICovCiAgICAgYXNzZXJ0KFB5R0lMU3RhdGVfR2V0VGhpc1RocmVhZFN0YXRlKCk9PXRzdGF0ZSk7Ci0gICAgcmV0dXJuIHRzdGF0ZSA9PSBfUHlfYXRvbWljX2xvYWRfcmVsYXhlZCgmX1B5VGhyZWFkU3RhdGVfQ3VycmVudCk7CisgICAgcmV0dXJuIHRzdGF0ZSA9PSAoUHlUaHJlYWRTdGF0ZSopX1B5X2F0b21pY19sb2FkX3JlbGF4ZWQoJl9QeVRocmVhZFN0YXRlX0N1cnJlbnQpOwogfQogCiAvKiBJbnRlcm5hbCBpbml0aWFsaXphdGlvbi9maW5hbGl6YXRpb24gZnVuY3Rpb25zIGNhbGxlZCBieQpkaWZmIC0tZ2l0IGEvUHl0aG9uL3B5dGhvbnJ1bi5jIGIvUHl0aG9uL3B5dGhvbnJ1bi5jCmluZGV4IDAzMjc4MzAuLjk5MmE1YTMgMTAwNjQ0Ci0tLSBhL1B5dGhvbi9weXRob25ydW4uYworKysgYi9QeXRob24vcHl0aG9ucnVuLmMKQEAgLTE1LDYgKzE1LDcgQEAKICNpbmNsdWRlICJhc3QuaCIKICNpbmNsdWRlICJtYXJzaGFsLmgiCiAjaW5jbHVkZSAib3NkZWZzLmgiCisjaW5jbHVkZSA8bG9jYWxlLmg+CiAKICNpZmRlZiBIQVZFX1NJR05BTF9ICiAjaW5jbHVkZSA8c2lnbmFsLmg+CkBAIC0yNSwxOCArMjYsMTIgQEAKICNlbmRpZgogCiAjaWZkZWYgSEFWRV9MQU5HSU5GT19ICi0jaW5jbHVkZSA8bG9jYWxlLmg+CiAjaW5jbHVkZSA8bGFuZ2luZm8uaD4KICNlbmRpZgogCiAjaWZkZWYgTVNfV0lORE9XUwogI3VuZGVmIEJZVEUKICNpbmNsdWRlICJ3aW5kb3dzLmgiCi0jZGVmaW5lIFBBVEhfTUFYIE1BWFBBVEhMRU4KLSNlbmRpZgotCi0jaWZkZWYgX19nbnVfaHVyZF9fCi0jZGVmaW5lIFBBVEhfTUFYIE1BWFBBVEhMRU4KICNlbmRpZgogCiBfUHlfSURFTlRJRklFUihidWlsdGlucyk7CkBAIC00NSw3ICs0MCw2IEBACiBfUHlfSURFTlRJRklFUihsYXN0X3RyYWNlYmFjayk7CiBfUHlfSURFTlRJRklFUihsYXN0X3R5cGUpOwogX1B5X0lERU5USUZJRVIobGFzdF92YWx1ZSk7Ci1fUHlfSURFTlRJRklFUihuYW1lKTsKIF9QeV9JREVOVElGSUVSKHBzMSk7CiBfUHlfSURFTlRJRklFUihwczIpOwogX1B5X0lERU5USUZJRVIoc3RkaW4pOwpAQCAtNTMsNDMgKzQ3LDEzIEBACiBfUHlfSURFTlRJRklFUihzdGRlcnIpOwogX1B5X3N0YXRpY19zdHJpbmcoUHlJZF9zdHJpbmcsICI8c3RyaW5nPiIpOwogCi0jaWZkZWYgUHlfUkVGX0RFQlVHCi1zdGF0aWMKLXZvaWQgX3ByaW50X3RvdGFsX3JlZnModm9pZCkgewotICAgIFB5T2JqZWN0ICp4b3B0aW9ucywgKnZhbHVlOwotICAgIF9QeV9JREVOVElGSUVSKHNob3dyZWZjb3VudCk7Ci0KLSAgICB4b3B0aW9ucyA9IFB5U3lzX0dldFhPcHRpb25zKCk7Ci0gICAgaWYgKHhvcHRpb25zID09IE5VTEwpCi0gICAgICAgIHJldHVybjsKLSAgICB2YWx1ZSA9IF9QeURpY3RfR2V0SXRlbUlkKHhvcHRpb25zLCAmUHlJZF9zaG93cmVmY291bnQpOwotICAgIGlmICh2YWx1ZSA9PSBQeV9UcnVlKQotICAgICAgICBmcHJpbnRmKHN0ZGVyciwKLSAgICAgICAgICAgICAgICAiWyUiIFBZX0ZPUk1BVF9TSVpFX1QgImQgcmVmcywgIgotICAgICAgICAgICAgICAgICIlIiBQWV9GT1JNQVRfU0laRV9UICJkIGJsb2Nrc11cbiIsCi0gICAgICAgICAgICAgICAgX1B5X0dldFJlZlRvdGFsKCksIF9QeV9HZXRBbGxvY2F0ZWRCbG9ja3MoKSk7Ci19Ci0jZW5kaWYKLQotI2lmbmRlZiBQeV9SRUZfREVCVUcKLSNkZWZpbmUgUFJJTlRfVE9UQUxfUkVGUygpCi0jZWxzZSAvKiBQeV9SRUZfREVCVUcgKi8KLSNkZWZpbmUgUFJJTlRfVE9UQUxfUkVGUygpIF9wcmludF90b3RhbF9yZWZzKCkKLSNlbmRpZgotCiAjaWZkZWYgX19jcGx1c3BsdXMKIGV4dGVybiAiQyIgewogI2VuZGlmCiAKLWV4dGVybiB3Y2hhcl90ICpQeV9HZXRQYXRoKHZvaWQpOwotCiBleHRlcm4gZ3JhbW1hciBfUHlQYXJzZXJfR3JhbW1hcjsgLyogRnJvbSBncmFtaW5pdC5jICovCiAKIC8qIEZvcndhcmQgKi8KLXN0YXRpYyB2b2lkIGluaXRtYWluKFB5SW50ZXJwcmV0ZXJTdGF0ZSAqaW50ZXJwKTsKLXN0YXRpYyBpbnQgaW5pdGZzZW5jb2RpbmcoUHlJbnRlcnByZXRlclN0YXRlICppbnRlcnApOwotc3RhdGljIHZvaWQgaW5pdHNpdGUodm9pZCk7Ci1zdGF0aWMgaW50IGluaXRzdGRpbyh2b2lkKTsKIHN0YXRpYyB2b2lkIGZsdXNoX2lvKHZvaWQpOwogc3RhdGljIFB5T2JqZWN0ICpydW5fbW9kKG1vZF90eSwgUHlPYmplY3QgKiwgUHlPYmplY3QgKiwgUHlPYmplY3QgKiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlDb21waWxlckZsYWdzICosIFB5QXJlbmEgKik7CkBAIC05NywxMTgyICs2MSw2IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeUNvbXBpbGVyRmxhZ3MgKik7CiBzdGF0aWMgdm9pZCBlcnJfaW5wdXQocGVycmRldGFpbCAqKTsKIHN0YXRpYyB2b2lkIGVycl9mcmVlKHBlcnJkZXRhaWwgKik7Ci1zdGF0aWMgdm9pZCBpbml0c2lncyh2b2lkKTsKLXN0YXRpYyB2b2lkIGNhbGxfcHlfZXhpdGZ1bmNzKHZvaWQpOwotc3RhdGljIHZvaWQgd2FpdF9mb3JfdGhyZWFkX3NodXRkb3duKHZvaWQpOwotc3RhdGljIHZvaWQgY2FsbF9sbF9leGl0ZnVuY3Modm9pZCk7Ci1leHRlcm4gaW50IF9QeVVuaWNvZGVfSW5pdCh2b2lkKTsKLWV4dGVybiBpbnQgX1B5U3RydWN0U2VxdWVuY2VfSW5pdCh2b2lkKTsKLWV4dGVybiB2b2lkIF9QeVVuaWNvZGVfRmluaSh2b2lkKTsKLWV4dGVybiBpbnQgX1B5TG9uZ19Jbml0KHZvaWQpOwotZXh0ZXJuIHZvaWQgUHlMb25nX0Zpbmkodm9pZCk7Ci1leHRlcm4gaW50IF9QeUZhdWx0aGFuZGxlcl9Jbml0KHZvaWQpOwotZXh0ZXJuIHZvaWQgX1B5RmF1bHRoYW5kbGVyX0Zpbmkodm9pZCk7Ci1leHRlcm4gdm9pZCBfUHlIYXNoX0Zpbmkodm9pZCk7Ci1leHRlcm4gaW50IF9QeVRyYWNlTWFsbG9jX0luaXQodm9pZCk7Ci1leHRlcm4gaW50IF9QeVRyYWNlTWFsbG9jX0Zpbmkodm9pZCk7Ci0KLSNpZmRlZiBXSVRIX1RIUkVBRAotZXh0ZXJuIHZvaWQgX1B5R0lMU3RhdGVfSW5pdChQeUludGVycHJldGVyU3RhdGUgKiwgUHlUaHJlYWRTdGF0ZSAqKTsKLWV4dGVybiB2b2lkIF9QeUdJTFN0YXRlX0Zpbmkodm9pZCk7Ci0jZW5kaWYgLyogV0lUSF9USFJFQUQgKi8KLQotaW50IFB5X0RlYnVnRmxhZzsgLyogTmVlZGVkIGJ5IHBhcnNlci5jICovCi1pbnQgUHlfVmVyYm9zZUZsYWc7IC8qIE5lZWRlZCBieSBpbXBvcnQuYyAqLwotaW50IFB5X1F1aWV0RmxhZzsgLyogTmVlZGVkIGJ5IHN5c21vZHVsZS5jICovCi1pbnQgUHlfSW50ZXJhY3RpdmVGbGFnOyAvKiBOZWVkZWQgYnkgUHlfRmRJc0ludGVyYWN0aXZlKCkgYmVsb3cgKi8KLWludCBQeV9JbnNwZWN0RmxhZzsgLyogTmVlZGVkIHRvIGRldGVybWluZSB3aGV0aGVyIHRvIGV4aXQgYXQgU3lzdGVtRXhpdCAqLwotaW50IFB5X05vU2l0ZUZsYWc7IC8qIFN1cHByZXNzICdpbXBvcnQgc2l0ZScgKi8KLWludCBQeV9CeXRlc1dhcm5pbmdGbGFnOyAvKiBXYXJuIG9uIHN0cihieXRlcykgYW5kIHN0cihidWZmZXIpICovCi1pbnQgUHlfRG9udFdyaXRlQnl0ZWNvZGVGbGFnOyAvKiBTdXBwcmVzcyB3cml0aW5nIGJ5dGVjb2RlIGZpbGVzICgqLnB5W2NvXSkgKi8KLWludCBQeV9Vc2VDbGFzc0V4Y2VwdGlvbnNGbGFnID0gMTsgLyogTmVlZGVkIGJ5IGJsdGlubW9kdWxlLmM6IGRlcHJlY2F0ZWQgKi8KLWludCBQeV9Gcm96ZW5GbGFnOyAvKiBOZWVkZWQgYnkgZ2V0cGF0aC5jICovCi1pbnQgUHlfSWdub3JlRW52aXJvbm1lbnRGbGFnOyAvKiBlLmcuIFBZVEhPTlBBVEgsIFBZVEhPTkhPTUUgKi8KLWludCBQeV9Ob1VzZXJTaXRlRGlyZWN0b3J5ID0gMDsgLyogZm9yIC1zIGFuZCBzaXRlLnB5ICovCi1pbnQgUHlfVW5idWZmZXJlZFN0ZGlvRmxhZyA9IDA7IC8qIFVuYnVmZmVyZWQgYmluYXJ5IHN0ZHtpbixvdXQsZXJyfSAqLwotaW50IFB5X0hhc2hSYW5kb21pemF0aW9uRmxhZyA9IDA7IC8qIGZvciAtUiBhbmQgUFlUSE9OSEFTSFNFRUQgKi8KLWludCBQeV9Jc29sYXRlZEZsYWcgPSAwOyAvKiBmb3IgLUksIGlzb2xhdGUgZnJvbSB1c2VyJ3MgZW52ICovCi0KLVB5VGhyZWFkU3RhdGUgKl9QeV9GaW5hbGl6aW5nID0gTlVMTDsKLQotLyogSGFjayB0byBmb3JjZSBsb2FkaW5nIG9mIG9iamVjdCBmaWxlcyAqLwotaW50ICgqX1B5T1NfbXlzdHJuaWNtcF9oYWNrKShjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKiwgUHlfc3NpemVfdCkgPSBcCi0gICAgUHlPU19teXN0cm5pY21wOyAvKiBQeXRob24vcHlzdHJjbXAubyAqLwotCi0vKiBQeU1vZHVsZV9HZXRXYXJuaW5nc01vZHVsZSBpcyBubyBsb25nZXIgbmVjZXNzYXJ5IGFzIG9mIDIuNgotc2luY2UgX3dhcm5pbmdzIGlzIGJ1aWx0aW4uICBUaGlzIEFQSSBzaG91bGQgbm90IGJlIHVzZWQuICovCi1QeU9iamVjdCAqCi1QeU1vZHVsZV9HZXRXYXJuaW5nc01vZHVsZSh2b2lkKQotewotICAgIHJldHVybiBQeUltcG9ydF9JbXBvcnRNb2R1bGUoIndhcm5pbmdzIik7Ci19Ci0KLXN0YXRpYyBpbnQgaW5pdGlhbGl6ZWQgPSAwOwotCi0vKiBBUEkgdG8gYWNjZXNzIHRoZSBpbml0aWFsaXplZCBmbGFnIC0tIHVzZWZ1bCBmb3IgZXNvdGVyaWMgdXNlICovCi0KLWludAotUHlfSXNJbml0aWFsaXplZCh2b2lkKQotewotICAgIHJldHVybiBpbml0aWFsaXplZDsKLX0KLQotLyogSGVscGVyIHRvIGFsbG93IGFuIGVtYmVkZGluZyBhcHBsaWNhdGlvbiB0byBvdmVycmlkZSB0aGUgbm9ybWFsCi0gKiBtZWNoYW5pc20gdGhhdCBhdHRlbXB0cyB0byBmaWd1cmUgb3V0IGFuIGFwcHJvcHJpYXRlIElPIGVuY29kaW5nCi0gKi8KLQotc3RhdGljIGNoYXIgKl9QeV9TdGFuZGFyZFN0cmVhbUVuY29kaW5nID0gTlVMTDsKLXN0YXRpYyBjaGFyICpfUHlfU3RhbmRhcmRTdHJlYW1FcnJvcnMgPSBOVUxMOwotCi1pbnQKLVB5X1NldFN0YW5kYXJkU3RyZWFtRW5jb2RpbmcoY29uc3QgY2hhciAqZW5jb2RpbmcsIGNvbnN0IGNoYXIgKmVycm9ycykKLXsKLSAgICBpZiAoUHlfSXNJbml0aWFsaXplZCgpKSB7Ci0gICAgICAgIC8qIFRoaXMgaXMgdG9vIGxhdGUgdG8gaGF2ZSBhbnkgZWZmZWN0ICovCi0gICAgICAgIHJldHVybiAtMTsKLSAgICB9Ci0gICAgLyogQ2FuJ3QgY2FsbCBQeUVycl9Ob01lbW9yeSgpIG9uIGVycm9ycywgYXMgUHl0aG9uIGhhc24ndCBiZWVuCi0gICAgICogaW5pdGlhbGlzZWQgeWV0LgotICAgICAqCi0gICAgICogSG93ZXZlciwgdGhlIHJhdyBtZW1vcnkgYWxsb2NhdG9ycyBhcmUgaW5pdGlhbGlzZWQgYXBwcm9wcmlhdGVseQotICAgICAqIGFzIEMgc3RhdGljIHZhcmlhYmxlcywgc28gX1B5TWVtX1Jhd1N0cmR1cCBpcyBPSyBldmVuIHRob3VnaAotICAgICAqIFB5X0luaXRpYWxpemUgaGFzbid0IGJlZW4gY2FsbGVkIHlldC4KLSAgICAgKi8KLSAgICBpZiAoZW5jb2RpbmcpIHsKLSAgICAgICAgX1B5X1N0YW5kYXJkU3RyZWFtRW5jb2RpbmcgPSBfUHlNZW1fUmF3U3RyZHVwKGVuY29kaW5nKTsKLSAgICAgICAgaWYgKCFfUHlfU3RhbmRhcmRTdHJlYW1FbmNvZGluZykgewotICAgICAgICAgICAgcmV0dXJuIC0yOwotICAgICAgICB9Ci0gICAgfQotICAgIGlmIChlcnJvcnMpIHsKLSAgICAgICAgX1B5X1N0YW5kYXJkU3RyZWFtRXJyb3JzID0gX1B5TWVtX1Jhd1N0cmR1cChlcnJvcnMpOwotICAgICAgICBpZiAoIV9QeV9TdGFuZGFyZFN0cmVhbUVycm9ycykgewotICAgICAgICAgICAgaWYgKF9QeV9TdGFuZGFyZFN0cmVhbUVuY29kaW5nKSB7Ci0gICAgICAgICAgICAgICAgUHlNZW1fUmF3RnJlZShfUHlfU3RhbmRhcmRTdHJlYW1FbmNvZGluZyk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICByZXR1cm4gLTM7Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgcmV0dXJuIDA7Ci19Ci0KLS8qIEdsb2JhbCBpbml0aWFsaXphdGlvbnMuICBDYW4gYmUgdW5kb25lIGJ5IFB5X0ZpbmFsaXplKCkuICBEb24ndAotICAgY2FsbCB0aGlzIHR3aWNlIHdpdGhvdXQgYW4gaW50ZXJ2ZW5pbmcgUHlfRmluYWxpemUoKSBjYWxsLiAgV2hlbgotICAgaW5pdGlhbGl6YXRpb25zIGZhaWwsIGEgZmF0YWwgZXJyb3IgaXMgaXNzdWVkIGFuZCB0aGUgZnVuY3Rpb24gZG9lcwotICAgbm90IHJldHVybi4gIE9uIHJldHVybiwgdGhlIGZpcnN0IHRocmVhZCBhbmQgaW50ZXJwcmV0ZXIgc3RhdGUgaGF2ZQotICAgYmVlbiBjcmVhdGVkLgotCi0gICBMb2NraW5nOiB5b3UgbXVzdCBob2xkIHRoZSBpbnRlcnByZXRlciBsb2NrIHdoaWxlIGNhbGxpbmcgdGhpcy4KLSAgIChJZiB0aGUgbG9jayBoYXMgbm90IHlldCBiZWVuIGluaXRpYWxpemVkLCB0aGF0J3MgZXF1aXZhbGVudCB0bwotICAgaGF2aW5nIHRoZSBsb2NrLCBidXQgeW91IGNhbm5vdCB1c2UgbXVsdGlwbGUgdGhyZWFkcy4pCi0KLSovCi0KLXN0YXRpYyBpbnQKLWFkZF9mbGFnKGludCBmbGFnLCBjb25zdCBjaGFyICplbnZzKQotewotICAgIGludCBlbnYgPSBhdG9pKGVudnMpOwotICAgIGlmIChmbGFnIDwgZW52KQotICAgICAgICBmbGFnID0gZW52OwotICAgIGlmIChmbGFnIDwgMSkKLSAgICAgICAgZmxhZyA9IDE7Ci0gICAgcmV0dXJuIGZsYWc7Ci19Ci0KLXN0YXRpYyBjaGFyKgotZ2V0X2NvZGVjX25hbWUoY29uc3QgY2hhciAqZW5jb2RpbmcpCi17Ci0gICAgY2hhciAqbmFtZV91dGY4LCAqbmFtZV9zdHI7Ci0gICAgUHlPYmplY3QgKmNvZGVjLCAqbmFtZSA9IE5VTEw7Ci0KLSAgICBjb2RlYyA9IF9QeUNvZGVjX0xvb2t1cChlbmNvZGluZyk7Ci0gICAgaWYgKCFjb2RlYykKLSAgICAgICAgZ290byBlcnJvcjsKLQotICAgIG5hbWUgPSBfUHlPYmplY3RfR2V0QXR0cklkKGNvZGVjLCAmUHlJZF9uYW1lKTsKLSAgICBQeV9DTEVBUihjb2RlYyk7Ci0gICAgaWYgKCFuYW1lKQotICAgICAgICBnb3RvIGVycm9yOwotCi0gICAgbmFtZV91dGY4ID0gX1B5VW5pY29kZV9Bc1N0cmluZyhuYW1lKTsKLSAgICBpZiAobmFtZV91dGY4ID09IE5VTEwpCi0gICAgICAgIGdvdG8gZXJyb3I7Ci0gICAgbmFtZV9zdHIgPSBfUHlNZW1fUmF3U3RyZHVwKG5hbWVfdXRmOCk7Ci0gICAgUHlfREVDUkVGKG5hbWUpOwotICAgIGlmIChuYW1lX3N0ciA9PSBOVUxMKSB7Ci0gICAgICAgIFB5RXJyX05vTWVtb3J5KCk7Ci0gICAgICAgIHJldHVybiBOVUxMOwotICAgIH0KLSAgICByZXR1cm4gbmFtZV9zdHI7Ci0KLWVycm9yOgotICAgIFB5X1hERUNSRUYoY29kZWMpOwotICAgIFB5X1hERUNSRUYobmFtZSk7Ci0gICAgcmV0dXJuIE5VTEw7Ci19Ci0KLXN0YXRpYyBjaGFyKgotZ2V0X2xvY2FsZV9lbmNvZGluZyh2b2lkKQotewotI2lmZGVmIE1TX1dJTkRPV1MKLSAgICBjaGFyIGNvZGVwYWdlWzEwMF07Ci0gICAgUHlPU19zbnByaW50Zihjb2RlcGFnZSwgc2l6ZW9mKGNvZGVwYWdlKSwgImNwJWQiLCBHZXRBQ1AoKSk7Ci0gICAgcmV0dXJuIGdldF9jb2RlY19uYW1lKGNvZGVwYWdlKTsKLSNlbGlmIGRlZmluZWQoSEFWRV9MQU5HSU5GT19IKSAmJiBkZWZpbmVkKENPREVTRVQpCi0gICAgY2hhciogY29kZXNldCA9IG5sX2xhbmdpbmZvKENPREVTRVQpOwotICAgIGlmICghY29kZXNldCB8fCBjb2Rlc2V0WzBdID09ICdcMCcpIHsKLSAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsICJDT0RFU0VUIGlzIG5vdCBzZXQgb3IgZW1wdHkiKTsKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgfQotICAgIHJldHVybiBnZXRfY29kZWNfbmFtZShjb2Rlc2V0KTsKLSNlbHNlCi0gICAgUHlFcnJfU2V0Tm9uZShQeUV4Y19Ob3RJbXBsZW1lbnRlZEVycm9yKTsKLSAgICByZXR1cm4gTlVMTDsKLSNlbmRpZgotfQotCi1zdGF0aWMgdm9pZAotaW1wb3J0X2luaXQoUHlJbnRlcnByZXRlclN0YXRlICppbnRlcnAsIFB5T2JqZWN0ICpzeXNtb2QpCi17Ci0gICAgUHlPYmplY3QgKmltcG9ydGxpYjsKLSAgICBQeU9iamVjdCAqaW1wbW9kOwotICAgIFB5T2JqZWN0ICpzeXNfbW9kdWxlczsKLSAgICBQeU9iamVjdCAqdmFsdWU7Ci0KLSAgICAvKiBJbXBvcnQgX2ltcG9ydGxpYiB0aHJvdWdoIGl0cyBmcm96ZW4gdmVyc2lvbiwgX2Zyb3plbl9pbXBvcnRsaWIuICovCi0gICAgaWYgKFB5SW1wb3J0X0ltcG9ydEZyb3plbk1vZHVsZSgiX2Zyb3plbl9pbXBvcnRsaWIiKSA8PSAwKSB7Ci0gICAgICAgIFB5X0ZhdGFsRXJyb3IoIlB5X0luaXRpYWxpemU6IGNhbid0IGltcG9ydCBfZnJvemVuX2ltcG9ydGxpYiIpOwotICAgIH0KLSAgICBlbHNlIGlmIChQeV9WZXJib3NlRmxhZykgewotICAgICAgICBQeVN5c19Gb3JtYXRTdGRlcnIoImltcG9ydCBfZnJvemVuX2ltcG9ydGxpYiAjIGZyb3plblxuIik7Ci0gICAgfQotICAgIGltcG9ydGxpYiA9IFB5SW1wb3J0X0FkZE1vZHVsZSgiX2Zyb3plbl9pbXBvcnRsaWIiKTsKLSAgICBpZiAoaW1wb3J0bGliID09IE5VTEwpIHsKLSAgICAgICAgUHlfRmF0YWxFcnJvcigiUHlfSW5pdGlhbGl6ZTogY291bGRuJ3QgZ2V0IF9mcm96ZW5faW1wb3J0bGliIGZyb20gIgotICAgICAgICAgICAgICAgICAgICAgICJzeXMubW9kdWxlcyIpOwotICAgIH0KLSAgICBpbnRlcnAtPmltcG9ydGxpYiA9IGltcG9ydGxpYjsKLSAgICBQeV9JTkNSRUYoaW50ZXJwLT5pbXBvcnRsaWIpOwotCi0gICAgLyogSW5zdGFsbCBfaW1wb3J0bGliIGFzIF9faW1wb3J0X18gKi8KLSAgICBpbXBtb2QgPSBQeUluaXRfaW1wKCk7Ci0gICAgaWYgKGltcG1vZCA9PSBOVUxMKSB7Ci0gICAgICAgIFB5X0ZhdGFsRXJyb3IoIlB5X0luaXRpYWxpemU6IGNhbid0IGltcG9ydCBpbXAiKTsKLSAgICB9Ci0gICAgZWxzZSBpZiAoUHlfVmVyYm9zZUZsYWcpIHsKLSAgICAgICAgUHlTeXNfRm9ybWF0U3RkZXJyKCJpbXBvcnQgaW1wICMgYnVpbHRpblxuIik7Ci0gICAgfQotICAgIHN5c19tb2R1bGVzID0gUHlJbXBvcnRfR2V0TW9kdWxlRGljdCgpOwotICAgIGlmIChQeV9WZXJib3NlRmxhZykgewotICAgICAgICBQeVN5c19Gb3JtYXRTdGRlcnIoImltcG9ydCBzeXMgIyBidWlsdGluXG4iKTsKLSAgICB9Ci0gICAgaWYgKFB5RGljdF9TZXRJdGVtU3RyaW5nKHN5c19tb2R1bGVzLCAiX2ltcCIsIGltcG1vZCkgPCAwKSB7Ci0gICAgICAgIFB5X0ZhdGFsRXJyb3IoIlB5X0luaXRpYWxpemU6IGNhbid0IHNhdmUgX2ltcCB0byBzeXMubW9kdWxlcyIpOwotICAgIH0KLQotICAgIHZhbHVlID0gUHlPYmplY3RfQ2FsbE1ldGhvZChpbXBvcnRsaWIsICJfaW5zdGFsbCIsICJPTyIsIHN5c21vZCwgaW1wbW9kKTsKLSAgICBpZiAodmFsdWUgPT0gTlVMTCkgewotICAgICAgICBQeUVycl9QcmludCgpOwotICAgICAgICBQeV9GYXRhbEVycm9yKCJQeV9Jbml0aWFsaXplOiBpbXBvcnRsaWIgaW5zdGFsbCBmYWlsZWQiKTsKLSAgICB9Ci0gICAgUHlfREVDUkVGKHZhbHVlKTsKLSAgICBQeV9ERUNSRUYoaW1wbW9kKTsKLQotICAgIF9QeUltcG9ydFppcF9Jbml0KCk7Ci19Ci0KLQotdm9pZAotX1B5X0luaXRpYWxpemVFeF9Qcml2YXRlKGludCBpbnN0YWxsX3NpZ3MsIGludCBpbnN0YWxsX2ltcG9ydGxpYikKLXsKLSAgICBQeUludGVycHJldGVyU3RhdGUgKmludGVycDsKLSAgICBQeVRocmVhZFN0YXRlICp0c3RhdGU7Ci0gICAgUHlPYmplY3QgKmJpbW9kLCAqc3lzbW9kLCAqcHN0ZGVycjsKLSAgICBjaGFyICpwOwotICAgIGV4dGVybiB2b2lkIF9QeV9SZWFkeVR5cGVzKHZvaWQpOwotCi0gICAgaWYgKGluaXRpYWxpemVkKQotICAgICAgICByZXR1cm47Ci0gICAgaW5pdGlhbGl6ZWQgPSAxOwotICAgIF9QeV9GaW5hbGl6aW5nID0gTlVMTDsKLQotI2lmIGRlZmluZWQoSEFWRV9MQU5HSU5GT19IKSAmJiBkZWZpbmVkKEhBVkVfU0VUTE9DQUxFKQotICAgIC8qIFNldCB1cCB0aGUgTENfQ1RZUEUgbG9jYWxlLCBzbyB3ZSBjYW4gb2J0YWluCi0gICAgICAgdGhlIGxvY2FsZSdzIGNoYXJzZXQgd2l0aG91dCBoYXZpbmcgdG8gc3dpdGNoCi0gICAgICAgbG9jYWxlcy4gKi8KLSAgICBzZXRsb2NhbGUoTENfQ1RZUEUsICIiKTsKLSNlbmRpZgotCi0gICAgaWYgKChwID0gUHlfR0VURU5WKCJQWVRIT05ERUJVRyIpKSAmJiAqcCAhPSAnXDAnKQotICAgICAgICBQeV9EZWJ1Z0ZsYWcgPSBhZGRfZmxhZyhQeV9EZWJ1Z0ZsYWcsIHApOwotICAgIGlmICgocCA9IFB5X0dFVEVOVigiUFlUSE9OVkVSQk9TRSIpKSAmJiAqcCAhPSAnXDAnKQotICAgICAgICBQeV9WZXJib3NlRmxhZyA9IGFkZF9mbGFnKFB5X1ZlcmJvc2VGbGFnLCBwKTsKLSAgICBpZiAoKHAgPSBQeV9HRVRFTlYoIlBZVEhPTk9QVElNSVpFIikpICYmICpwICE9ICdcMCcpCi0gICAgICAgIFB5X09wdGltaXplRmxhZyA9IGFkZF9mbGFnKFB5X09wdGltaXplRmxhZywgcCk7Ci0gICAgaWYgKChwID0gUHlfR0VURU5WKCJQWVRIT05ET05UV1JJVEVCWVRFQ09ERSIpKSAmJiAqcCAhPSAnXDAnKQotICAgICAgICBQeV9Eb250V3JpdGVCeXRlY29kZUZsYWcgPSBhZGRfZmxhZyhQeV9Eb250V3JpdGVCeXRlY29kZUZsYWcsIHApOwotICAgIC8qIFRoZSB2YXJpYWJsZSBpcyBvbmx5IHRlc3RlZCBmb3IgZXhpc3RlbmNlIGhlcmU7IF9QeVJhbmRvbV9Jbml0IHdpbGwKLSAgICAgICBjaGVjayBpdHMgdmFsdWUgZnVydGhlci4gKi8KLSAgICBpZiAoKHAgPSBQeV9HRVRFTlYoIlBZVEhPTkhBU0hTRUVEIikpICYmICpwICE9ICdcMCcpCi0gICAgICAgIFB5X0hhc2hSYW5kb21pemF0aW9uRmxhZyA9IGFkZF9mbGFnKFB5X0hhc2hSYW5kb21pemF0aW9uRmxhZywgcCk7Ci0KLSAgICBfUHlSYW5kb21fSW5pdCgpOwotCi0gICAgaW50ZXJwID0gUHlJbnRlcnByZXRlclN0YXRlX05ldygpOwotICAgIGlmIChpbnRlcnAgPT0gTlVMTCkKLSAgICAgICAgUHlfRmF0YWxFcnJvcigiUHlfSW5pdGlhbGl6ZTogY2FuJ3QgbWFrZSBmaXJzdCBpbnRlcnByZXRlciIpOwotCi0gICAgdHN0YXRlID0gUHlUaHJlYWRTdGF0ZV9OZXcoaW50ZXJwKTsKLSAgICBpZiAodHN0YXRlID09IE5VTEwpCi0gICAgICAgIFB5X0ZhdGFsRXJyb3IoIlB5X0luaXRpYWxpemU6IGNhbid0IG1ha2UgZmlyc3QgdGhyZWFkIik7Ci0gICAgKHZvaWQpIFB5VGhyZWFkU3RhdGVfU3dhcCh0c3RhdGUpOwotCi0jaWZkZWYgV0lUSF9USFJFQUQKLSAgICAvKiBXZSBjYW4ndCBjYWxsIF9QeUV2YWxfRmluaVRocmVhZHMoKSBpbiBQeV9GaW5hbGl6ZSBiZWNhdXNlCi0gICAgICAgZGVzdHJveWluZyB0aGUgR0lMIG1pZ2h0IGZhaWwgd2hlbiBpdCBpcyBiZWluZyByZWZlcmVuY2VkIGZyb20KLSAgICAgICBhbm90aGVyIHJ1bm5pbmcgdGhyZWFkIChzZWUgaXNzdWUgIzk5MDEpLgotICAgICAgIEluc3RlYWQgd2UgZGVzdHJveSB0aGUgcHJldmlvdXNseSBjcmVhdGVkIEdJTCBoZXJlLCB3aGljaCBlbnN1cmVzCi0gICAgICAgdGhhdCB3ZSBjYW4gY2FsbCBQeV9Jbml0aWFsaXplIC8gUHlfRmluYWxpemUgbXVsdGlwbGUgdGltZXMuICovCi0gICAgX1B5RXZhbF9GaW5pVGhyZWFkcygpOwotCi0gICAgLyogQXV0by10aHJlYWQtc3RhdGUgQVBJICovCi0gICAgX1B5R0lMU3RhdGVfSW5pdChpbnRlcnAsIHRzdGF0ZSk7Ci0jZW5kaWYgLyogV0lUSF9USFJFQUQgKi8KLQotICAgIF9QeV9SZWFkeVR5cGVzKCk7Ci0KLSAgICBpZiAoIV9QeUZyYW1lX0luaXQoKSkKLSAgICAgICAgUHlfRmF0YWxFcnJvcigiUHlfSW5pdGlhbGl6ZTogY2FuJ3QgaW5pdCBmcmFtZXMiKTsKLQotICAgIGlmICghX1B5TG9uZ19Jbml0KCkpCi0gICAgICAgIFB5X0ZhdGFsRXJyb3IoIlB5X0luaXRpYWxpemU6IGNhbid0IGluaXQgbG9uZ3MiKTsKLQotICAgIGlmICghUHlCeXRlQXJyYXlfSW5pdCgpKQotICAgICAgICBQeV9GYXRhbEVycm9yKCJQeV9Jbml0aWFsaXplOiBjYW4ndCBpbml0IGJ5dGVhcnJheSIpOwotCi0gICAgaWYgKCFfUHlGbG9hdF9Jbml0KCkpCi0gICAgICAgIFB5X0ZhdGFsRXJyb3IoIlB5X0luaXRpYWxpemU6IGNhbid0IGluaXQgZmxvYXQiKTsKLQotICAgIGludGVycC0+bW9kdWxlcyA9IFB5RGljdF9OZXcoKTsKLSAgICBpZiAoaW50ZXJwLT5tb2R1bGVzID09IE5VTEwpCi0gICAgICAgIFB5X0ZhdGFsRXJyb3IoIlB5X0luaXRpYWxpemU6IGNhbid0IG1ha2UgbW9kdWxlcyBkaWN0aW9uYXJ5Iik7Ci0KLSAgICAvKiBJbml0IFVuaWNvZGUgaW1wbGVtZW50YXRpb247IHJlbGllcyBvbiB0aGUgY29kZWMgcmVnaXN0cnkgKi8KLSAgICBpZiAoX1B5VW5pY29kZV9Jbml0KCkgPCAwKQotICAgICAgICBQeV9GYXRhbEVycm9yKCJQeV9Jbml0aWFsaXplOiBjYW4ndCBpbml0aWFsaXplIHVuaWNvZGUiKTsKLSAgICBpZiAoX1B5U3RydWN0U2VxdWVuY2VfSW5pdCgpIDwgMCkKLSAgICAgICAgUHlfRmF0YWxFcnJvcigiUHlfSW5pdGlhbGl6ZTogY2FuJ3QgaW5pdGlhbGl6ZSBzdHJ1Y3RzZXEiKTsKLQotICAgIGJpbW9kID0gX1B5QnVpbHRpbl9Jbml0KCk7Ci0gICAgaWYgKGJpbW9kID09IE5VTEwpCi0gICAgICAgIFB5X0ZhdGFsRXJyb3IoIlB5X0luaXRpYWxpemU6IGNhbid0IGluaXRpYWxpemUgYnVpbHRpbnMgbW9kdWxlcyIpOwotICAgIF9QeUltcG9ydF9GaXh1cEJ1aWx0aW4oYmltb2QsICJidWlsdGlucyIpOwotICAgIGludGVycC0+YnVpbHRpbnMgPSBQeU1vZHVsZV9HZXREaWN0KGJpbW9kKTsKLSAgICBpZiAoaW50ZXJwLT5idWlsdGlucyA9PSBOVUxMKQotICAgICAgICBQeV9GYXRhbEVycm9yKCJQeV9Jbml0aWFsaXplOiBjYW4ndCBpbml0aWFsaXplIGJ1aWx0aW5zIGRpY3QiKTsKLSAgICBQeV9JTkNSRUYoaW50ZXJwLT5idWlsdGlucyk7Ci0KLSAgICAvKiBpbml0aWFsaXplIGJ1aWx0aW4gZXhjZXB0aW9ucyAqLwotICAgIF9QeUV4Y19Jbml0KGJpbW9kKTsKLQotICAgIHN5c21vZCA9IF9QeVN5c19Jbml0KCk7Ci0gICAgaWYgKHN5c21vZCA9PSBOVUxMKQotICAgICAgICBQeV9GYXRhbEVycm9yKCJQeV9Jbml0aWFsaXplOiBjYW4ndCBpbml0aWFsaXplIHN5cyIpOwotICAgIGludGVycC0+c3lzZGljdCA9IFB5TW9kdWxlX0dldERpY3Qoc3lzbW9kKTsKLSAgICBpZiAoaW50ZXJwLT5zeXNkaWN0ID09IE5VTEwpCi0gICAgICAgIFB5X0ZhdGFsRXJyb3IoIlB5X0luaXRpYWxpemU6IGNhbid0IGluaXRpYWxpemUgc3lzIGRpY3QiKTsKLSAgICBQeV9JTkNSRUYoaW50ZXJwLT5zeXNkaWN0KTsKLSAgICBfUHlJbXBvcnRfRml4dXBCdWlsdGluKHN5c21vZCwgInN5cyIpOwotICAgIFB5U3lzX1NldFBhdGgoUHlfR2V0UGF0aCgpKTsKLSAgICBQeURpY3RfU2V0SXRlbVN0cmluZyhpbnRlcnAtPnN5c2RpY3QsICJtb2R1bGVzIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICBpbnRlcnAtPm1vZHVsZXMpOwotCi0gICAgLyogU2V0IHVwIGEgcHJlbGltaW5hcnkgc3RkZXJyIHByaW50ZXIgdW50aWwgd2UgaGF2ZSBlbm91Z2gKLSAgICAgICBpbmZyYXN0cnVjdHVyZSBmb3IgdGhlIGlvIG1vZHVsZSBpbiBwbGFjZS4gKi8KLSAgICBwc3RkZXJyID0gUHlGaWxlX05ld1N0ZFByaW50ZXIoZmlsZW5vKHN0ZGVycikpOwotICAgIGlmIChwc3RkZXJyID09IE5VTEwpCi0gICAgICAgIFB5X0ZhdGFsRXJyb3IoIlB5X0luaXRpYWxpemU6IGNhbid0IHNldCBwcmVsaW1pbmFyeSBzdGRlcnIiKTsKLSAgICBfUHlTeXNfU2V0T2JqZWN0SWQoJlB5SWRfc3RkZXJyLCBwc3RkZXJyKTsKLSAgICBQeVN5c19TZXRPYmplY3QoIl9fc3RkZXJyX18iLCBwc3RkZXJyKTsKLSAgICBQeV9ERUNSRUYocHN0ZGVycik7Ci0KLSAgICBfUHlJbXBvcnRfSW5pdCgpOwotCi0gICAgX1B5SW1wb3J0SG9va3NfSW5pdCgpOwotCi0gICAgLyogSW5pdGlhbGl6ZSBfd2FybmluZ3MuICovCi0gICAgX1B5V2FybmluZ3NfSW5pdCgpOwotCi0gICAgaWYgKCFpbnN0YWxsX2ltcG9ydGxpYikKLSAgICAgICAgcmV0dXJuOwotCi0gICAgaW1wb3J0X2luaXQoaW50ZXJwLCBzeXNtb2QpOwotCi0gICAgLyogaW5pdGlhbGl6ZSB0aGUgZmF1bHRoYW5kbGVyIG1vZHVsZSAqLwotICAgIGlmIChfUHlGYXVsdGhhbmRsZXJfSW5pdCgpKQotICAgICAgICBQeV9GYXRhbEVycm9yKCJQeV9Jbml0aWFsaXplOiBjYW4ndCBpbml0aWFsaXplIGZhdWx0aGFuZGxlciIpOwotCi0gICAgX1B5VGltZV9Jbml0KCk7Ci0KLSAgICBpZiAoaW5pdGZzZW5jb2RpbmcoaW50ZXJwKSA8IDApCi0gICAgICAgIFB5X0ZhdGFsRXJyb3IoIlB5X0luaXRpYWxpemU6IHVuYWJsZSB0byBsb2FkIHRoZSBmaWxlIHN5c3RlbSBjb2RlYyIpOwotCi0gICAgaWYgKGluc3RhbGxfc2lncykKLSAgICAgICAgaW5pdHNpZ3MoKTsgLyogU2lnbmFsIGhhbmRsaW5nIHN0dWZmLCBpbmNsdWRpbmcgaW5pdGludHIoKSAqLwotCi0gICAgaWYgKF9QeVRyYWNlTWFsbG9jX0luaXQoKSA8IDApCi0gICAgICAgIFB5X0ZhdGFsRXJyb3IoIlB5X0luaXRpYWxpemU6IGNhbid0IGluaXRpYWxpemUgdHJhY2VtYWxsb2MiKTsKLQotICAgIGluaXRtYWluKGludGVycCk7IC8qIE1vZHVsZSBfX21haW5fXyAqLwotICAgIGlmIChpbml0c3RkaW8oKSA8IDApCi0gICAgICAgIFB5X0ZhdGFsRXJyb3IoCi0gICAgICAgICAgICAiUHlfSW5pdGlhbGl6ZTogY2FuJ3QgaW5pdGlhbGl6ZSBzeXMgc3RhbmRhcmQgc3RyZWFtcyIpOwotCi0gICAgLyogSW5pdGlhbGl6ZSB3YXJuaW5ncy4gKi8KLSAgICBpZiAoUHlTeXNfSGFzV2Fybk9wdGlvbnMoKSkgewotICAgICAgICBQeU9iamVjdCAqd2FybmluZ3NfbW9kdWxlID0gUHlJbXBvcnRfSW1wb3J0TW9kdWxlKCJ3YXJuaW5ncyIpOwotICAgICAgICBpZiAod2FybmluZ3NfbW9kdWxlID09IE5VTEwpIHsKLSAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiJ2ltcG9ydCB3YXJuaW5ncycgZmFpbGVkOyB0cmFjZWJhY2s6XG4iKTsKLSAgICAgICAgICAgIFB5RXJyX1ByaW50KCk7Ci0gICAgICAgIH0KLSAgICAgICAgUHlfWERFQ1JFRih3YXJuaW5nc19tb2R1bGUpOwotICAgIH0KLQotICAgIGlmICghUHlfTm9TaXRlRmxhZykKLSAgICAgICAgaW5pdHNpdGUoKTsgLyogTW9kdWxlIHNpdGUgKi8KLX0KLQotdm9pZAotUHlfSW5pdGlhbGl6ZUV4KGludCBpbnN0YWxsX3NpZ3MpCi17Ci0gICAgX1B5X0luaXRpYWxpemVFeF9Qcml2YXRlKGluc3RhbGxfc2lncywgMSk7Ci19Ci0KLXZvaWQKLVB5X0luaXRpYWxpemUodm9pZCkKLXsKLSAgICBQeV9Jbml0aWFsaXplRXgoMSk7Ci19Ci0KLQotI2lmZGVmIENPVU5UX0FMTE9DUwotZXh0ZXJuIHZvaWQgZHVtcF9jb3VudHMoRklMRSopOwotI2VuZGlmCi0KLS8qIEZsdXNoIHN0ZG91dCBhbmQgc3RkZXJyICovCi0KLXN0YXRpYyBpbnQKLWZpbGVfaXNfY2xvc2VkKFB5T2JqZWN0ICpmb2JqKQotewotICAgIGludCByOwotICAgIFB5T2JqZWN0ICp0bXAgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKGZvYmosICJjbG9zZWQiKTsKLSAgICBpZiAodG1wID09IE5VTEwpIHsKLSAgICAgICAgUHlFcnJfQ2xlYXIoKTsKLSAgICAgICAgcmV0dXJuIDA7Ci0gICAgfQotICAgIHIgPSBQeU9iamVjdF9Jc1RydWUodG1wKTsKLSAgICBQeV9ERUNSRUYodG1wKTsKLSAgICBpZiAociA8IDApCi0gICAgICAgIFB5RXJyX0NsZWFyKCk7Ci0gICAgcmV0dXJuIHIgPiAwOwotfQotCi1zdGF0aWMgdm9pZAotZmx1c2hfc3RkX2ZpbGVzKHZvaWQpCi17Ci0gICAgUHlPYmplY3QgKmZvdXQgPSBfUHlTeXNfR2V0T2JqZWN0SWQoJlB5SWRfc3Rkb3V0KTsKLSAgICBQeU9iamVjdCAqZmVyciA9IF9QeVN5c19HZXRPYmplY3RJZCgmUHlJZF9zdGRlcnIpOwotICAgIFB5T2JqZWN0ICp0bXA7Ci0KLSAgICBpZiAoZm91dCAhPSBOVUxMICYmIGZvdXQgIT0gUHlfTm9uZSAmJiAhZmlsZV9pc19jbG9zZWQoZm91dCkpIHsKLSAgICAgICAgdG1wID0gX1B5T2JqZWN0X0NhbGxNZXRob2RJZChmb3V0LCAmUHlJZF9mbHVzaCwgIiIpOwotICAgICAgICBpZiAodG1wID09IE5VTEwpCi0gICAgICAgICAgICBQeUVycl9Xcml0ZVVucmFpc2FibGUoZm91dCk7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIFB5X0RFQ1JFRih0bXApOwotICAgIH0KLQotICAgIGlmIChmZXJyICE9IE5VTEwgJiYgZmVyciAhPSBQeV9Ob25lICYmICFmaWxlX2lzX2Nsb3NlZChmZXJyKSkgewotICAgICAgICB0bXAgPSBfUHlPYmplY3RfQ2FsbE1ldGhvZElkKGZlcnIsICZQeUlkX2ZsdXNoLCAiIik7Ci0gICAgICAgIGlmICh0bXAgPT0gTlVMTCkKLSAgICAgICAgICAgIFB5RXJyX0NsZWFyKCk7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIFB5X0RFQ1JFRih0bXApOwotICAgIH0KLX0KLQotLyogVW5kbyB0aGUgZWZmZWN0IG9mIFB5X0luaXRpYWxpemUoKS4KLQotICAgQmV3YXJlOiBpZiBtdWx0aXBsZSBpbnRlcnByZXRlciBhbmQvb3IgdGhyZWFkIHN0YXRlcyBleGlzdCwgdGhlc2UKLSAgIGFyZSBub3Qgd2lwZWQgb3V0OyBvbmx5IHRoZSBjdXJyZW50IHRocmVhZCBhbmQgaW50ZXJwcmV0ZXIgc3RhdGUKLSAgIGFyZSBkZWxldGVkLiAgQnV0IHNpbmNlIGV2ZXJ5dGhpbmcgZWxzZSBpcyBkZWxldGVkLCB0aG9zZSBvdGhlcgotICAgaW50ZXJwcmV0ZXIgYW5kIHRocmVhZCBzdGF0ZXMgc2hvdWxkIG5vIGxvbmdlciBiZSB1c2VkLgotCi0gICAoWFhYIFdlIHNob3VsZCBkbyBiZXR0ZXIsIGUuZy4gd2lwZSBvdXQgYWxsIGludGVycHJldGVycyBhbmQKLSAgIHRocmVhZHMuKQotCi0gICBMb2NraW5nOiBhcyBhYm92ZS4KLQotKi8KLQotdm9pZAotUHlfRmluYWxpemUodm9pZCkKLXsKLSAgICBQeUludGVycHJldGVyU3RhdGUgKmludGVycDsKLSAgICBQeVRocmVhZFN0YXRlICp0c3RhdGU7Ci0KLSAgICBpZiAoIWluaXRpYWxpemVkKQotICAgICAgICByZXR1cm47Ci0KLSAgICB3YWl0X2Zvcl90aHJlYWRfc2h1dGRvd24oKTsKLQotICAgIC8qIFRoZSBpbnRlcnByZXRlciBpcyBzdGlsbCBlbnRpcmVseSBpbnRhY3QgYXQgdGhpcyBwb2ludCwgYW5kIHRoZQotICAgICAqIGV4aXQgZnVuY3MgbWF5IGJlIHJlbHlpbmcgb24gdGhhdC4gIEluIHBhcnRpY3VsYXIsIGlmIHNvbWUgdGhyZWFkCi0gICAgICogb3IgZXhpdCBmdW5jIGlzIHN0aWxsIHdhaXRpbmcgdG8gZG8gYW4gaW1wb3J0LCB0aGUgaW1wb3J0IG1hY2hpbmVyeQotICAgICAqIGV4cGVjdHMgUHlfSXNJbml0aWFsaXplZCgpIHRvIHJldHVybiB0cnVlLiAgU28gZG9uJ3Qgc2F5IHRoZQotICAgICAqIGludGVycHJldGVyIGlzIHVuaW5pdGlhbGl6ZWQgdW50aWwgYWZ0ZXIgdGhlIGV4aXQgZnVuY3MgaGF2ZSBydW4uCi0gICAgICogTm90ZSB0aGF0IFRocmVhZGluZy5weSB1c2VzIGFuIGV4aXQgZnVuYyB0byBkbyBhIGpvaW4gb24gYWxsIHRoZQotICAgICAqIHRocmVhZHMgY3JlYXRlZCB0aHJ1IGl0LCBzbyB0aGlzIGFsc28gcHJvdGVjdHMgcGVuZGluZyBpbXBvcnRzIGluCi0gICAgICogdGhlIHRocmVhZHMgY3JlYXRlZCB2aWEgVGhyZWFkaW5nLgotICAgICAqLwotICAgIGNhbGxfcHlfZXhpdGZ1bmNzKCk7Ci0KLSAgICAvKiBHZXQgY3VycmVudCB0aHJlYWQgc3RhdGUgYW5kIGludGVycHJldGVyIHBvaW50ZXIgKi8KLSAgICB0c3RhdGUgPSBQeVRocmVhZFN0YXRlX0dFVCgpOwotICAgIGludGVycCA9IHRzdGF0ZS0+aW50ZXJwOwotCi0gICAgLyogUmVtYWluaW5nIHRocmVhZHMgKGUuZy4gZGFlbW9uIHRocmVhZHMpIHdpbGwgYXV0b21hdGljYWxseSBleGl0Ci0gICAgICAgYWZ0ZXIgdGFraW5nIHRoZSBHSUwgKGluIFB5RXZhbF9SZXN0b3JlVGhyZWFkKCkpLiAqLwotICAgIF9QeV9GaW5hbGl6aW5nID0gdHN0YXRlOwotICAgIGluaXRpYWxpemVkID0gMDsKLQotICAgIC8qIEZsdXNoIHN0ZG91dCtzdGRlcnIgKi8KLSAgICBmbHVzaF9zdGRfZmlsZXMoKTsKLQotICAgIC8qIERpc2FibGUgc2lnbmFsIGhhbmRsaW5nICovCi0gICAgUHlPU19GaW5pSW50ZXJydXB0cygpOwotCi0gICAgLyogQ29sbGVjdCBnYXJiYWdlLiAgVGhpcyBtYXkgY2FsbCBmaW5hbGl6ZXJzOyBpdCdzIG5pY2UgdG8gY2FsbCB0aGVzZQotICAgICAqIGJlZm9yZSBhbGwgbW9kdWxlcyBhcmUgZGVzdHJveWVkLgotICAgICAqIFhYWCBJZiBhIF9fZGVsX18gb3Igd2Vha3JlZiBjYWxsYmFjayBpcyB0cmlnZ2VyZWQgaGVyZSwgYW5kIHRyaWVzIHRvCi0gICAgICogWFhYIGltcG9ydCBhIG1vZHVsZSwgYmFkIHRoaW5ncyBjYW4gaGFwcGVuLCBiZWNhdXNlIFB5dGhvbiBubwotICAgICAqIFhYWCBsb25nZXIgYmVsaWV2ZXMgaXQncyBpbml0aWFsaXplZC4KLSAgICAgKiBYWFggICAgIEZhdGFsIFB5dGhvbiBlcnJvcjogSW50ZXJwcmV0ZXIgbm90IGluaXRpYWxpemVkICh2ZXJzaW9uIG1pc21hdGNoPykKLSAgICAgKiBYWFggaXMgZWFzeSB0byBwcm92b2tlIHRoYXQgd2F5LiAgSSd2ZSBhbHNvIHNlZW4sIGUuZy4sCi0gICAgICogWFhYICAgICBFeGNlcHRpb24gZXhjZXB0aW9ucy5JbXBvcnRFcnJvcjogJ05vIG1vZHVsZSBuYW1lZCBzaGEnCi0gICAgICogWFhYICAgICAgICAgaW4gPGZ1bmN0aW9uIGNhbGxiYWNrIGF0IDB4MDA4RjU3MTg+IGlnbm9yZWQKLSAgICAgKiBYWFggYnV0IEknbSB1bmNsZWFyIG9uIGV4YWN0bHkgaG93IHRoYXQgb25lIGhhcHBlbnMuICBJbiBhbnkgY2FzZSwKLSAgICAgKiBYWFggSSBoYXZlbid0IHNlZW4gYSByZWFsLWxpZmUgcmVwb3J0IG9mIGVpdGhlciBvZiB0aGVzZS4KLSAgICAgKi8KLSAgICBQeUdDX0NvbGxlY3QoKTsKLSNpZmRlZiBDT1VOVF9BTExPQ1MKLSAgICAvKiBXaXRoIENPVU5UX0FMTE9DUywgaXQgaGVscHMgdG8gcnVuIEdDIG11bHRpcGxlIHRpbWVzOgotICAgICAgIGVhY2ggY29sbGVjdGlvbiBtaWdodCByZWxlYXNlIHNvbWUgdHlwZXMgZnJvbSB0aGUgdHlwZQotICAgICAgIGxpc3QsIHNvIHRoZXkgYmVjb21lIGdhcmJhZ2UuICovCi0gICAgd2hpbGUgKFB5R0NfQ29sbGVjdCgpID4gMCkKLSAgICAgICAgLyogbm90aGluZyAqLzsKLSNlbmRpZgotICAgIC8qIERlc3Ryb3kgYWxsIG1vZHVsZXMgKi8KLSAgICBQeUltcG9ydF9DbGVhbnVwKCk7Ci0KLSAgICAvKiBGbHVzaCBzdGRvdXQrc3RkZXJyIChhZ2FpbiwgaW4gY2FzZSBtb3JlIHdhcyBwcmludGVkKSAqLwotICAgIGZsdXNoX3N0ZF9maWxlcygpOwotCi0gICAgLyogQ29sbGVjdCBmaW5hbCBnYXJiYWdlLiAgVGhpcyBkaXNwb3NlcyBvZiBjeWNsZXMgY3JlYXRlZCBieQotICAgICAqIGNsYXNzIGRlZmluaXRpb25zLCBmb3IgZXhhbXBsZS4KLSAgICAgKiBYWFggVGhpcyBpcyBkaXNhYmxlZCBiZWNhdXNlIGl0IGNhdXNlZCB0b28gbWFueSBwcm9ibGVtcy4gIElmCi0gICAgICogWFhYIGEgX19kZWxfXyBvciB3ZWFrcmVmIGNhbGxiYWNrIHRyaWdnZXJzIGhlcmUsIFB5dGhvbiBjb2RlIGhhcwotICAgICAqIFhYWCBhIGhhcmQgdGltZSBydW5uaW5nLCBiZWNhdXNlIGV2ZW4gdGhlIHN5cyBtb2R1bGUgaGFzIGJlZW4KLSAgICAgKiBYWFggY2xlYXJlZCBvdXQgKHN5cy5zdGRvdXQgaXMgZ29uZSwgc3lzLmV4Y2VwdGhvb2sgaXMgZ29uZSwgZXRjKS4KLSAgICAgKiBYWFggT25lIHN5bXB0b20gaXMgYSBzZXF1ZW5jZSBvZiBpbmZvcm1hdGlvbi1mcmVlIG1lc3NhZ2VzCi0gICAgICogWFhYIGNvbWluZyBmcm9tIHRocmVhZHMgKGlmIGEgX19kZWxfXyBvciBjYWxsYmFjayBpcyBpbnZva2VkLAotICAgICAqIFhYWCBvdGhlciB0aHJlYWRzIGNhbiBleGVjdXRlIHRvbywgYW5kIGFueSBleGNlcHRpb24gdGhleSBlbmNvdW50ZXIKLSAgICAgKiBYWFggdHJpZ2dlcnMgYSBjb21lZHkgb2YgZXJyb3JzIGFzIHN1YnN5c3RlbSBhZnRlciBzdWJzeXN0ZW0KLSAgICAgKiBYWFggZmFpbHMgdG8gZmluZCB3aGF0IGl0ICpleHBlY3RzKiB0byBmaW5kIGluIHN5cyB0byBoZWxwIHJlcG9ydAotICAgICAqIFhYWCB0aGUgZXhjZXB0aW9uIGFuZCBjb25zZXF1ZW50IHVuZXhwZWN0ZWQgZmFpbHVyZXMpLiAgSSd2ZSBhbHNvCi0gICAgICogWFhYIHNlZW4gc2VnZmF1bHRzIHRoZW4sIGFmdGVyIGFkZGluZyBwcmludCBzdGF0ZW1lbnRzIHRvIHRoZQotICAgICAqIFhYWCBQeXRob24gY29kZSBnZXR0aW5nIGNhbGxlZC4KLSAgICAgKi8KLSNpZiAwCi0gICAgUHlHQ19Db2xsZWN0KCk7Ci0jZW5kaWYKLQotICAgIC8qIERpc2FibGUgdHJhY2VtYWxsb2MgYWZ0ZXIgYWxsIFB5dGhvbiBvYmplY3RzIGhhdmUgYmVlbiBkZXN0cm95ZWQsCi0gICAgICAgc28gaXQgaXMgcG9zc2libGUgdG8gdXNlIHRyYWNlbWFsbG9jIGluIG9iamVjdHMgZGVzdHJ1Y3Rvci4gKi8KLSAgICBfUHlUcmFjZU1hbGxvY19GaW5pKCk7Ci0KLSAgICAvKiBEZXN0cm95IHRoZSBkYXRhYmFzZSB1c2VkIGJ5IF9QeUltcG9ydF97Rml4dXAsRmluZH1FeHRlbnNpb24gKi8KLSAgICBfUHlJbXBvcnRfRmluaSgpOwotCi0gICAgLyogQ2xlYW51cCB0eXBlb2JqZWN0LmMncyBpbnRlcm5hbCBjYWNoZXMuICovCi0gICAgX1B5VHlwZV9GaW5pKCk7Ci0KLSAgICAvKiB1bmxvYWQgZmF1bHRoYW5kbGVyIG1vZHVsZSAqLwotICAgIF9QeUZhdWx0aGFuZGxlcl9GaW5pKCk7Ci0KLSAgICAvKiBEZWJ1Z2dpbmcgc3R1ZmYgKi8KLSNpZmRlZiBDT1VOVF9BTExPQ1MKLSAgICBkdW1wX2NvdW50cyhzdGRvdXQpOwotI2VuZGlmCi0gICAgLyogZHVtcCBoYXNoIHN0YXRzICovCi0gICAgX1B5SGFzaF9GaW5pKCk7Ci0KLSAgICBQUklOVF9UT1RBTF9SRUZTKCk7Ci0KLSNpZmRlZiBQeV9UUkFDRV9SRUZTCi0gICAgLyogRGlzcGxheSBhbGwgb2JqZWN0cyBzdGlsbCBhbGl2ZSAtLSB0aGlzIGNhbiBpbnZva2UgYXJiaXRyYXJ5Ci0gICAgICogX19yZXByX18gb3ZlcnJpZGVzLCBzbyByZXF1aXJlcyBhIG1vc3RseS1pbnRhY3QgaW50ZXJwcmV0ZXIuCi0gICAgICogQWxhcywgYSBsb3Qgb2Ygc3R1ZmYgbWF5IHN0aWxsIGJlIGFsaXZlIG5vdyB0aGF0IHdpbGwgYmUgY2xlYW5lZAotICAgICAqIHVwIGxhdGVyLgotICAgICAqLwotICAgIGlmIChQeV9HRVRFTlYoIlBZVEhPTkRVTVBSRUZTIikpCi0gICAgICAgIF9QeV9QcmludFJlZmVyZW5jZXMoc3RkZXJyKTsKLSNlbmRpZiAvKiBQeV9UUkFDRV9SRUZTICovCi0KLSAgICAvKiBDbGVhciBpbnRlcnByZXRlciBzdGF0ZSBhbmQgYWxsIHRocmVhZCBzdGF0ZXMuICovCi0gICAgUHlJbnRlcnByZXRlclN0YXRlX0NsZWFyKGludGVycCk7Ci0KLSAgICAvKiBOb3cgd2UgZGVjcmVmIHRoZSBleGNlcHRpb24gY2xhc3Nlcy4gIEFmdGVyIHRoaXMgcG9pbnQgbm90aGluZwotICAgICAgIGNhbiByYWlzZSBhbiBleGNlcHRpb24uICBUaGF0J3Mgb2theSwgYmVjYXVzZSBlYWNoIEZpbmkoKSBtZXRob2QKLSAgICAgICBiZWxvdyBoYXMgYmVlbiBjaGVja2VkIHRvIG1ha2Ugc3VyZSBubyBleGNlcHRpb25zIGFyZSBldmVyCi0gICAgICAgcmFpc2VkLgotICAgICovCi0KLSAgICBfUHlFeGNfRmluaSgpOwotCi0gICAgLyogU3VuZHJ5IGZpbmFsaXplcnMgKi8KLSAgICBQeU1ldGhvZF9GaW5pKCk7Ci0gICAgUHlGcmFtZV9GaW5pKCk7Ci0gICAgUHlDRnVuY3Rpb25fRmluaSgpOwotICAgIFB5VHVwbGVfRmluaSgpOwotICAgIFB5TGlzdF9GaW5pKCk7Ci0gICAgUHlTZXRfRmluaSgpOwotICAgIFB5Qnl0ZXNfRmluaSgpOwotICAgIFB5Qnl0ZUFycmF5X0ZpbmkoKTsKLSAgICBQeUxvbmdfRmluaSgpOwotICAgIFB5RmxvYXRfRmluaSgpOwotICAgIFB5RGljdF9GaW5pKCk7Ci0gICAgUHlTbGljZV9GaW5pKCk7Ci0gICAgX1B5R0NfRmluaSgpOwotICAgIF9QeVJhbmRvbV9GaW5pKCk7Ci0KLSAgICAvKiBDbGVhbnVwIFVuaWNvZGUgaW1wbGVtZW50YXRpb24gKi8KLSAgICBfUHlVbmljb2RlX0ZpbmkoKTsKLQotICAgIC8qIHJlc2V0IGZpbGUgc3lzdGVtIGRlZmF1bHQgZW5jb2RpbmcgKi8KLSAgICBpZiAoIVB5X0hhc0ZpbGVTeXN0ZW1EZWZhdWx0RW5jb2RpbmcgJiYgUHlfRmlsZVN5c3RlbURlZmF1bHRFbmNvZGluZykgewotICAgICAgICBQeU1lbV9SYXdGcmVlKChjaGFyKilQeV9GaWxlU3lzdGVtRGVmYXVsdEVuY29kaW5nKTsKLSAgICAgICAgUHlfRmlsZVN5c3RlbURlZmF1bHRFbmNvZGluZyA9IE5VTEw7Ci0gICAgfQotCi0gICAgLyogWFhYIFN0aWxsIGFsbG9jYXRlZDoKLSAgICAgICAtIHZhcmlvdXMgc3RhdGljIGFkLWhvYyBwb2ludGVycyB0byBpbnRlcm5lZCBzdHJpbmdzCi0gICAgICAgLSBpbnQgYW5kIGZsb2F0IGZyZWUgbGlzdCBibG9ja3MKLSAgICAgICAtIHdoYXRldmVyIHZhcmlvdXMgbW9kdWxlcyBhbmQgbGlicmFyaWVzIGFsbG9jYXRlCi0gICAgKi8KLQotICAgIFB5R3JhbW1hcl9SZW1vdmVBY2NlbGVyYXRvcnMoJl9QeVBhcnNlcl9HcmFtbWFyKTsKLQotICAgIC8qIENsZWFudXAgYXV0by10aHJlYWQtc3RhdGUgKi8KLSNpZmRlZiBXSVRIX1RIUkVBRAotICAgIF9QeUdJTFN0YXRlX0ZpbmkoKTsKLSNlbmRpZiAvKiBXSVRIX1RIUkVBRCAqLwotCi0gICAgLyogRGVsZXRlIGN1cnJlbnQgdGhyZWFkLiBBZnRlciB0aGlzLCBtYW55IEMgQVBJIGNhbGxzIGJlY29tZSBjcmFzaHkuICovCi0gICAgUHlUaHJlYWRTdGF0ZV9Td2FwKE5VTEwpOwotICAgIFB5SW50ZXJwcmV0ZXJTdGF0ZV9EZWxldGUoaW50ZXJwKTsKLQotI2lmZGVmIFB5X1RSQUNFX1JFRlMKLSAgICAvKiBEaXNwbGF5IGFkZHJlc3NlcyAoJiByZWZjbnRzKSBvZiBhbGwgb2JqZWN0cyBzdGlsbCBhbGl2ZS4KLSAgICAgKiBBbiBhZGRyZXNzIGNhbiBiZSB1c2VkIHRvIGZpbmQgdGhlIHJlcHIgb2YgdGhlIG9iamVjdCwgcHJpbnRlZAotICAgICAqIGFib3ZlIGJ5IF9QeV9QcmludFJlZmVyZW5jZXMuCi0gICAgICovCi0gICAgaWYgKFB5X0dFVEVOVigiUFlUSE9ORFVNUFJFRlMiKSkKLSAgICAgICAgX1B5X1ByaW50UmVmZXJlbmNlQWRkcmVzc2VzKHN0ZGVycik7Ci0jZW5kaWYgLyogUHlfVFJBQ0VfUkVGUyAqLwotI2lmZGVmIFBZTUFMTE9DX0RFQlVHCi0gICAgaWYgKFB5X0dFVEVOVigiUFlUSE9OTUFMTE9DU1RBVFMiKSkKLSAgICAgICAgX1B5T2JqZWN0X0RlYnVnTWFsbG9jU3RhdHMoc3RkZXJyKTsKLSNlbmRpZgotCi0gICAgY2FsbF9sbF9leGl0ZnVuY3MoKTsKLX0KLQotLyogQ3JlYXRlIGFuZCBpbml0aWFsaXplIGEgbmV3IGludGVycHJldGVyIGFuZCB0aHJlYWQsIGFuZCByZXR1cm4gdGhlCi0gICBuZXcgdGhyZWFkLiAgVGhpcyByZXF1aXJlcyB0aGF0IFB5X0luaXRpYWxpemUoKSBoYXMgYmVlbiBjYWxsZWQKLSAgIGZpcnN0LgotCi0gICBVbnN1Y2Nlc3NmdWwgaW5pdGlhbGl6YXRpb24geWllbGRzIGEgTlVMTCBwb2ludGVyLiAgTm90ZSB0aGF0ICpubyoKLSAgIGV4Y2VwdGlvbiBpbmZvcm1hdGlvbiBpcyBhdmFpbGFibGUgZXZlbiBpbiB0aGlzIGNhc2UgLS0gdGhlCi0gICBleGNlcHRpb24gaW5mb3JtYXRpb24gaXMgaGVsZCBpbiB0aGUgdGhyZWFkLCBhbmQgdGhlcmUgaXMgbm8KLSAgIHRocmVhZC4KLQotICAgTG9ja2luZzogYXMgYWJvdmUuCi0KLSovCi0KLVB5VGhyZWFkU3RhdGUgKgotUHlfTmV3SW50ZXJwcmV0ZXIodm9pZCkKLXsKLSAgICBQeUludGVycHJldGVyU3RhdGUgKmludGVycDsKLSAgICBQeVRocmVhZFN0YXRlICp0c3RhdGUsICpzYXZlX3RzdGF0ZTsKLSAgICBQeU9iamVjdCAqYmltb2QsICpzeXNtb2Q7Ci0KLSAgICBpZiAoIWluaXRpYWxpemVkKQotICAgICAgICBQeV9GYXRhbEVycm9yKCJQeV9OZXdJbnRlcnByZXRlcjogY2FsbCBQeV9Jbml0aWFsaXplIGZpcnN0Iik7Ci0KLSAgICBpbnRlcnAgPSBQeUludGVycHJldGVyU3RhdGVfTmV3KCk7Ci0gICAgaWYgKGludGVycCA9PSBOVUxMKQotICAgICAgICByZXR1cm4gTlVMTDsKLQotICAgIHRzdGF0ZSA9IFB5VGhyZWFkU3RhdGVfTmV3KGludGVycCk7Ci0gICAgaWYgKHRzdGF0ZSA9PSBOVUxMKSB7Ci0gICAgICAgIFB5SW50ZXJwcmV0ZXJTdGF0ZV9EZWxldGUoaW50ZXJwKTsKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgfQotCi0gICAgc2F2ZV90c3RhdGUgPSBQeVRocmVhZFN0YXRlX1N3YXAodHN0YXRlKTsKLQotICAgIC8qIFhYWCBUaGUgZm9sbG93aW5nIGlzIGxheCBpbiBlcnJvciBjaGVja2luZyAqLwotCi0gICAgaW50ZXJwLT5tb2R1bGVzID0gUHlEaWN0X05ldygpOwotCi0gICAgYmltb2QgPSBfUHlJbXBvcnRfRmluZEJ1aWx0aW4oImJ1aWx0aW5zIik7Ci0gICAgaWYgKGJpbW9kICE9IE5VTEwpIHsKLSAgICAgICAgaW50ZXJwLT5idWlsdGlucyA9IFB5TW9kdWxlX0dldERpY3QoYmltb2QpOwotICAgICAgICBpZiAoaW50ZXJwLT5idWlsdGlucyA9PSBOVUxMKQotICAgICAgICAgICAgZ290byBoYW5kbGVfZXJyb3I7Ci0gICAgICAgIFB5X0lOQ1JFRihpbnRlcnAtPmJ1aWx0aW5zKTsKLSAgICB9Ci0KLSAgICAvKiBpbml0aWFsaXplIGJ1aWx0aW4gZXhjZXB0aW9ucyAqLwotICAgIF9QeUV4Y19Jbml0KGJpbW9kKTsKLQotICAgIHN5c21vZCA9IF9QeUltcG9ydF9GaW5kQnVpbHRpbigic3lzIik7Ci0gICAgaWYgKGJpbW9kICE9IE5VTEwgJiYgc3lzbW9kICE9IE5VTEwpIHsKLSAgICAgICAgUHlPYmplY3QgKnBzdGRlcnI7Ci0KLSAgICAgICAgaW50ZXJwLT5zeXNkaWN0ID0gUHlNb2R1bGVfR2V0RGljdChzeXNtb2QpOwotICAgICAgICBpZiAoaW50ZXJwLT5zeXNkaWN0ID09IE5VTEwpCi0gICAgICAgICAgICBnb3RvIGhhbmRsZV9lcnJvcjsKLSAgICAgICAgUHlfSU5DUkVGKGludGVycC0+c3lzZGljdCk7Ci0gICAgICAgIFB5U3lzX1NldFBhdGgoUHlfR2V0UGF0aCgpKTsKLSAgICAgICAgUHlEaWN0X1NldEl0ZW1TdHJpbmcoaW50ZXJwLT5zeXNkaWN0LCAibW9kdWxlcyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludGVycC0+bW9kdWxlcyk7Ci0gICAgICAgIC8qIFNldCB1cCBhIHByZWxpbWluYXJ5IHN0ZGVyciBwcmludGVyIHVudGlsIHdlIGhhdmUgZW5vdWdoCi0gICAgICAgICAgIGluZnJhc3RydWN0dXJlIGZvciB0aGUgaW8gbW9kdWxlIGluIHBsYWNlLiAqLwotICAgICAgICBwc3RkZXJyID0gUHlGaWxlX05ld1N0ZFByaW50ZXIoZmlsZW5vKHN0ZGVycikpOwotICAgICAgICBpZiAocHN0ZGVyciA9PSBOVUxMKQotICAgICAgICAgICAgUHlfRmF0YWxFcnJvcigiUHlfSW5pdGlhbGl6ZTogY2FuJ3Qgc2V0IHByZWxpbWluYXJ5IHN0ZGVyciIpOwotICAgICAgICBfUHlTeXNfU2V0T2JqZWN0SWQoJlB5SWRfc3RkZXJyLCBwc3RkZXJyKTsKLSAgICAgICAgUHlTeXNfU2V0T2JqZWN0KCJfX3N0ZGVycl9fIiwgcHN0ZGVycik7Ci0gICAgICAgIFB5X0RFQ1JFRihwc3RkZXJyKTsKLQotICAgICAgICBfUHlJbXBvcnRIb29rc19Jbml0KCk7Ci0KLSAgICAgICAgaW1wb3J0X2luaXQoaW50ZXJwLCBzeXNtb2QpOwotCi0gICAgICAgIGlmIChpbml0ZnNlbmNvZGluZyhpbnRlcnApIDwgMCkKLSAgICAgICAgICAgIGdvdG8gaGFuZGxlX2Vycm9yOwotCi0gICAgICAgIGlmIChpbml0c3RkaW8oKSA8IDApCi0gICAgICAgICAgICBQeV9GYXRhbEVycm9yKAotICAgICAgICAgICAgIlB5X0luaXRpYWxpemU6IGNhbid0IGluaXRpYWxpemUgc3lzIHN0YW5kYXJkIHN0cmVhbXMiKTsKLSAgICAgICAgaW5pdG1haW4oaW50ZXJwKTsKLSAgICAgICAgaWYgKCFQeV9Ob1NpdGVGbGFnKQotICAgICAgICAgICAgaW5pdHNpdGUoKTsKLSAgICB9Ci0KLSAgICBpZiAoIVB5RXJyX09jY3VycmVkKCkpCi0gICAgICAgIHJldHVybiB0c3RhdGU7Ci0KLWhhbmRsZV9lcnJvcjoKLSAgICAvKiBPb3BzLCBpdCBkaWRuJ3Qgd29yay4gIFVuZG8gaXQgYWxsLiAqLwotCi0gICAgUHlFcnJfUHJpbnRFeCgwKTsKLSAgICBQeVRocmVhZFN0YXRlX0NsZWFyKHRzdGF0ZSk7Ci0gICAgUHlUaHJlYWRTdGF0ZV9Td2FwKHNhdmVfdHN0YXRlKTsKLSAgICBQeVRocmVhZFN0YXRlX0RlbGV0ZSh0c3RhdGUpOwotICAgIFB5SW50ZXJwcmV0ZXJTdGF0ZV9EZWxldGUoaW50ZXJwKTsKLQotICAgIHJldHVybiBOVUxMOwotfQotCi0vKiBEZWxldGUgYW4gaW50ZXJwcmV0ZXIgYW5kIGl0cyBsYXN0IHRocmVhZC4gIFRoaXMgcmVxdWlyZXMgdGhhdCB0aGUKLSAgIGdpdmVuIHRocmVhZCBzdGF0ZSBpcyBjdXJyZW50LCB0aGF0IHRoZSB0aHJlYWQgaGFzIG5vIHJlbWFpbmluZwotICAgZnJhbWVzLCBhbmQgdGhhdCBpdCBpcyBpdHMgaW50ZXJwcmV0ZXIncyBvbmx5IHJlbWFpbmluZyB0aHJlYWQuCi0gICBJdCBpcyBhIGZhdGFsIGVycm9yIHRvIHZpb2xhdGUgdGhlc2UgY29uc3RyYWludHMuCi0KLSAgIChQeV9GaW5hbGl6ZSgpIGRvZXNuJ3QgaGF2ZSB0aGVzZSBjb25zdHJhaW50cyAtLSBpdCB6YXBzCi0gICBldmVyeXRoaW5nLCByZWdhcmRsZXNzLikKLQotICAgTG9ja2luZzogYXMgYWJvdmUuCi0KLSovCi0KLXZvaWQKLVB5X0VuZEludGVycHJldGVyKFB5VGhyZWFkU3RhdGUgKnRzdGF0ZSkKLXsKLSAgICBQeUludGVycHJldGVyU3RhdGUgKmludGVycCA9IHRzdGF0ZS0+aW50ZXJwOwotCi0gICAgaWYgKHRzdGF0ZSAhPSBQeVRocmVhZFN0YXRlX0dFVCgpKQotICAgICAgICBQeV9GYXRhbEVycm9yKCJQeV9FbmRJbnRlcnByZXRlcjogdGhyZWFkIGlzIG5vdCBjdXJyZW50Iik7Ci0gICAgaWYgKHRzdGF0ZS0+ZnJhbWUgIT0gTlVMTCkKLSAgICAgICAgUHlfRmF0YWxFcnJvcigiUHlfRW5kSW50ZXJwcmV0ZXI6IHRocmVhZCBzdGlsbCBoYXMgYSBmcmFtZSIpOwotCi0gICAgd2FpdF9mb3JfdGhyZWFkX3NodXRkb3duKCk7Ci0KLSAgICBpZiAodHN0YXRlICE9IGludGVycC0+dHN0YXRlX2hlYWQgfHwgdHN0YXRlLT5uZXh0ICE9IE5VTEwpCi0gICAgICAgIFB5X0ZhdGFsRXJyb3IoIlB5X0VuZEludGVycHJldGVyOiBub3QgdGhlIGxhc3QgdGhyZWFkIik7Ci0KLSAgICBQeUltcG9ydF9DbGVhbnVwKCk7Ci0gICAgUHlJbnRlcnByZXRlclN0YXRlX0NsZWFyKGludGVycCk7Ci0gICAgUHlUaHJlYWRTdGF0ZV9Td2FwKE5VTEwpOwotICAgIFB5SW50ZXJwcmV0ZXJTdGF0ZV9EZWxldGUoaW50ZXJwKTsKLX0KLQotI2lmZGVmIE1TX1dJTkRPV1MKLXN0YXRpYyB3Y2hhcl90ICpwcm9nbmFtZSA9IEwicHl0aG9uIjsKLSNlbHNlCi1zdGF0aWMgd2NoYXJfdCAqcHJvZ25hbWUgPSBMInB5dGhvbjMiOwotI2VuZGlmCi0KLXZvaWQKLVB5X1NldFByb2dyYW1OYW1lKHdjaGFyX3QgKnBuKQotewotICAgIGlmIChwbiAmJiAqcG4pCi0gICAgICAgIHByb2duYW1lID0gcG47Ci19Ci0KLXdjaGFyX3QgKgotUHlfR2V0UHJvZ3JhbU5hbWUodm9pZCkKLXsKLSAgICByZXR1cm4gcHJvZ25hbWU7Ci19Ci0KLXN0YXRpYyB3Y2hhcl90ICpkZWZhdWx0X2hvbWUgPSBOVUxMOwotc3RhdGljIHdjaGFyX3QgZW52X2hvbWVbTUFYUEFUSExFTisxXTsKLQotdm9pZAotUHlfU2V0UHl0aG9uSG9tZSh3Y2hhcl90ICpob21lKQotewotICAgIGRlZmF1bHRfaG9tZSA9IGhvbWU7Ci19Ci0KLXdjaGFyX3QgKgotUHlfR2V0UHl0aG9uSG9tZSh2b2lkKQotewotICAgIHdjaGFyX3QgKmhvbWUgPSBkZWZhdWx0X2hvbWU7Ci0gICAgaWYgKGhvbWUgPT0gTlVMTCAmJiAhUHlfSWdub3JlRW52aXJvbm1lbnRGbGFnKSB7Ci0gICAgICAgIGNoYXIqIGNob21lID0gUHlfR0VURU5WKCJQWVRIT05IT01FIik7Ci0gICAgICAgIGlmIChjaG9tZSkgewotICAgICAgICAgICAgc2l6ZV90IHNpemUgPSBQeV9BUlJBWV9MRU5HVEgoZW52X2hvbWUpOwotICAgICAgICAgICAgc2l6ZV90IHIgPSBtYnN0b3djcyhlbnZfaG9tZSwgY2hvbWUsIHNpemUpOwotICAgICAgICAgICAgaWYgKHIgIT0gKHNpemVfdCktMSAmJiByIDwgc2l6ZSkKLSAgICAgICAgICAgICAgICBob21lID0gZW52X2hvbWU7Ci0gICAgICAgIH0KLQotICAgIH0KLSAgICByZXR1cm4gaG9tZTsKLX0KLQotLyogQ3JlYXRlIF9fbWFpbl9fIG1vZHVsZSAqLwotCi1zdGF0aWMgdm9pZAotaW5pdG1haW4oUHlJbnRlcnByZXRlclN0YXRlICppbnRlcnApCi17Ci0gICAgUHlPYmplY3QgKm0sICpkLCAqbG9hZGVyOwotICAgIG0gPSBQeUltcG9ydF9BZGRNb2R1bGUoIl9fbWFpbl9fIik7Ci0gICAgaWYgKG0gPT0gTlVMTCkKLSAgICAgICAgUHlfRmF0YWxFcnJvcigiY2FuJ3QgY3JlYXRlIF9fbWFpbl9fIG1vZHVsZSIpOwotICAgIGQgPSBQeU1vZHVsZV9HZXREaWN0KG0pOwotICAgIGlmIChQeURpY3RfR2V0SXRlbVN0cmluZyhkLCAiX19idWlsdGluc19fIikgPT0gTlVMTCkgewotICAgICAgICBQeU9iamVjdCAqYmltb2QgPSBQeUltcG9ydF9JbXBvcnRNb2R1bGUoImJ1aWx0aW5zIik7Ci0gICAgICAgIGlmIChiaW1vZCA9PSBOVUxMKSB7Ci0gICAgICAgICAgICBQeV9GYXRhbEVycm9yKCJGYWlsZWQgdG8gcmV0cmlldmUgYnVpbHRpbnMgbW9kdWxlIik7Ci0gICAgICAgIH0KLSAgICAgICAgaWYgKFB5RGljdF9TZXRJdGVtU3RyaW5nKGQsICJfX2J1aWx0aW5zX18iLCBiaW1vZCkgPCAwKSB7Ci0gICAgICAgICAgICBQeV9GYXRhbEVycm9yKCJGYWlsZWQgdG8gaW5pdGlhbGl6ZSBfX21haW5fXy5fX2J1aWx0aW5zX18iKTsKLSAgICAgICAgfQotICAgICAgICBQeV9ERUNSRUYoYmltb2QpOwotICAgIH0KLSAgICAvKiBNYWluIGlzIGEgbGl0dGxlIHNwZWNpYWwgLSBpbXAuaXNfYnVpbHRpbigiX19tYWluX18iKSB3aWxsIHJldHVybgotICAgICAqIEZhbHNlLCBidXQgQnVpbHRpbkltcG9ydGVyIGlzIHN0aWxsIHRoZSBtb3N0IGFwcHJvcHJpYXRlIGluaXRpYWwKLSAgICAgKiBzZXR0aW5nIGZvciBpdHMgX19sb2FkZXJfXyBhdHRyaWJ1dGUuIEEgbW9yZSBzdWl0YWJsZSB2YWx1ZSB3aWxsCi0gICAgICogYmUgc2V0IGlmIF9fbWFpbl9fIGdldHMgZnVydGhlciBpbml0aWFsaXplZCBsYXRlciBpbiB0aGUgc3RhcnR1cAotICAgICAqIHByb2Nlc3MuCi0gICAgICovCi0gICAgbG9hZGVyID0gUHlEaWN0X0dldEl0ZW1TdHJpbmcoZCwgIl9fbG9hZGVyX18iKTsKLSAgICBpZiAobG9hZGVyID09IE5VTEwgfHwgbG9hZGVyID09IFB5X05vbmUpIHsKLSAgICAgICAgUHlPYmplY3QgKmxvYWRlciA9IFB5T2JqZWN0X0dldEF0dHJTdHJpbmcoaW50ZXJwLT5pbXBvcnRsaWIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJCdWlsdGluSW1wb3J0ZXIiKTsKLSAgICAgICAgaWYgKGxvYWRlciA9PSBOVUxMKSB7Ci0gICAgICAgICAgICBQeV9GYXRhbEVycm9yKCJGYWlsZWQgdG8gcmV0cmlldmUgQnVpbHRpbkltcG9ydGVyIik7Ci0gICAgICAgIH0KLSAgICAgICAgaWYgKFB5RGljdF9TZXRJdGVtU3RyaW5nKGQsICJfX2xvYWRlcl9fIiwgbG9hZGVyKSA8IDApIHsKLSAgICAgICAgICAgIFB5X0ZhdGFsRXJyb3IoIkZhaWxlZCB0byBpbml0aWFsaXplIF9fbWFpbl9fLl9fbG9hZGVyX18iKTsKLSAgICAgICAgfQotICAgICAgICBQeV9ERUNSRUYobG9hZGVyKTsKLSAgICB9Ci19Ci0KLXN0YXRpYyBpbnQKLWluaXRmc2VuY29kaW5nKFB5SW50ZXJwcmV0ZXJTdGF0ZSAqaW50ZXJwKQotewotICAgIFB5T2JqZWN0ICpjb2RlYzsKLQotICAgIGlmIChQeV9GaWxlU3lzdGVtRGVmYXVsdEVuY29kaW5nID09IE5VTEwpCi0gICAgewotICAgICAgICBQeV9GaWxlU3lzdGVtRGVmYXVsdEVuY29kaW5nID0gZ2V0X2xvY2FsZV9lbmNvZGluZygpOwotICAgICAgICBpZiAoUHlfRmlsZVN5c3RlbURlZmF1bHRFbmNvZGluZyA9PSBOVUxMKQotICAgICAgICAgICAgUHlfRmF0YWxFcnJvcigiUHlfSW5pdGlhbGl6ZTogVW5hYmxlIHRvIGdldCB0aGUgbG9jYWxlIGVuY29kaW5nIik7Ci0KLSAgICAgICAgUHlfSGFzRmlsZVN5c3RlbURlZmF1bHRFbmNvZGluZyA9IDA7Ci0gICAgICAgIGludGVycC0+ZnNjb2RlY19pbml0aWFsaXplZCA9IDE7Ci0gICAgICAgIHJldHVybiAwOwotICAgIH0KLQotICAgIC8qIHRoZSBlbmNvZGluZyBpcyBtYmNzLCB1dGYtOCBvciBhc2NpaSAqLwotICAgIGNvZGVjID0gX1B5Q29kZWNfTG9va3VwKFB5X0ZpbGVTeXN0ZW1EZWZhdWx0RW5jb2RpbmcpOwotICAgIGlmICghY29kZWMpIHsKLSAgICAgICAgLyogU3VjaCBlcnJvciBjYW4gb25seSBvY2N1cnMgaW4gY3JpdGljYWwgc2l0dWF0aW9uczogbm8gbW9yZQotICAgICAgICAgKiBtZW1vcnksIGltcG9ydCBhIG1vZHVsZSBvZiB0aGUgc3RhbmRhcmQgbGlicmFyeSBmYWlsZWQsCi0gICAgICAgICAqIGV0Yy4gKi8KLSAgICAgICAgcmV0dXJuIC0xOwotICAgIH0KLSAgICBQeV9ERUNSRUYoY29kZWMpOwotICAgIGludGVycC0+ZnNjb2RlY19pbml0aWFsaXplZCA9IDE7Ci0gICAgcmV0dXJuIDA7Ci19Ci0KLS8qIEltcG9ydCB0aGUgc2l0ZSBtb2R1bGUgKG5vdCBpbnRvIF9fbWFpbl9fIHRob3VnaCkgKi8KLQotc3RhdGljIHZvaWQKLWluaXRzaXRlKHZvaWQpCi17Ci0gICAgUHlPYmplY3QgKm07Ci0gICAgbSA9IFB5SW1wb3J0X0ltcG9ydE1vZHVsZSgic2l0ZSIpOwotICAgIGlmIChtID09IE5VTEwpIHsKLSAgICAgICAgZnByaW50ZihzdGRlcnIsICJGYWlsZWQgdG8gaW1wb3J0IHRoZSBzaXRlIG1vZHVsZVxuIik7Ci0gICAgICAgIFB5RXJyX1ByaW50KCk7Ci0gICAgICAgIFB5X0ZpbmFsaXplKCk7Ci0gICAgICAgIGV4aXQoMSk7Ci0gICAgfQotICAgIGVsc2UgewotICAgICAgICBQeV9ERUNSRUYobSk7Ci0gICAgfQotfQotCi1zdGF0aWMgUHlPYmplY3QqCi1jcmVhdGVfc3RkaW8oUHlPYmplY3QqIGlvLAotICAgIGludCBmZCwgaW50IHdyaXRlX21vZGUsIGNoYXIqIG5hbWUsCi0gICAgY2hhciogZW5jb2RpbmcsIGNoYXIqIGVycm9ycykKLXsKLSAgICBQeU9iamVjdCAqYnVmID0gTlVMTCwgKnN0cmVhbSA9IE5VTEwsICp0ZXh0ID0gTlVMTCwgKnJhdyA9IE5VTEwsICpyZXM7Ci0gICAgY29uc3QgY2hhciogbW9kZTsKLSAgICBjb25zdCBjaGFyKiBuZXdsaW5lOwotICAgIFB5T2JqZWN0ICpsaW5lX2J1ZmZlcmluZzsKLSAgICBpbnQgYnVmZmVyaW5nLCBpc2F0dHk7Ci0gICAgX1B5X0lERU5USUZJRVIob3Blbik7Ci0gICAgX1B5X0lERU5USUZJRVIoaXNhdHR5KTsKLSAgICBfUHlfSURFTlRJRklFUihUZXh0SU9XcmFwcGVyKTsKLSAgICBfUHlfSURFTlRJRklFUihtb2RlKTsKLQotICAgIC8qIHN0ZGluIGlzIGFsd2F5cyBvcGVuZWQgaW4gYnVmZmVyZWQgbW9kZSwgZmlyc3QgYmVjYXVzZSBpdCBzaG91bGRuJ3QKLSAgICAgICBtYWtlIGEgZGlmZmVyZW5jZSBpbiBjb21tb24gdXNlIGNhc2VzLCBzZWNvbmQgYmVjYXVzZSBUZXh0SU9XcmFwcGVyCi0gICAgICAgZGVwZW5kcyBvbiB0aGUgcHJlc2VuY2Ugb2YgYSByZWFkMSgpIG1ldGhvZCB3aGljaCBvbmx5IGV4aXN0cyBvbgotICAgICAgIGJ1ZmZlcmVkIHN0cmVhbXMuCi0gICAgKi8KLSAgICBpZiAoUHlfVW5idWZmZXJlZFN0ZGlvRmxhZyAmJiB3cml0ZV9tb2RlKQotICAgICAgICBidWZmZXJpbmcgPSAwOwotICAgIGVsc2UKLSAgICAgICAgYnVmZmVyaW5nID0gLTE7Ci0gICAgaWYgKHdyaXRlX21vZGUpCi0gICAgICAgIG1vZGUgPSAid2IiOwotICAgIGVsc2UKLSAgICAgICAgbW9kZSA9ICJyYiI7Ci0gICAgYnVmID0gX1B5T2JqZWN0X0NhbGxNZXRob2RJZChpbywgJlB5SWRfb3BlbiwgImlzaU9PT2kiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmQsIG1vZGUsIGJ1ZmZlcmluZywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5X05vbmUsIFB5X05vbmUsIFB5X05vbmUsIDApOwotICAgIGlmIChidWYgPT0gTlVMTCkKLSAgICAgICAgZ290byBlcnJvcjsKLQotICAgIGlmIChidWZmZXJpbmcpIHsKLSAgICAgICAgX1B5X0lERU5USUZJRVIocmF3KTsKLSAgICAgICAgcmF3ID0gX1B5T2JqZWN0X0dldEF0dHJJZChidWYsICZQeUlkX3Jhdyk7Ci0gICAgICAgIGlmIChyYXcgPT0gTlVMTCkKLSAgICAgICAgICAgIGdvdG8gZXJyb3I7Ci0gICAgfQotICAgIGVsc2UgewotICAgICAgICByYXcgPSBidWY7Ci0gICAgICAgIFB5X0lOQ1JFRihyYXcpOwotICAgIH0KLQotICAgIHRleHQgPSBQeVVuaWNvZGVfRnJvbVN0cmluZyhuYW1lKTsKLSAgICBpZiAodGV4dCA9PSBOVUxMIHx8IF9QeU9iamVjdF9TZXRBdHRySWQocmF3LCAmUHlJZF9uYW1lLCB0ZXh0KSA8IDApCi0gICAgICAgIGdvdG8gZXJyb3I7Ci0gICAgcmVzID0gX1B5T2JqZWN0X0NhbGxNZXRob2RJZChyYXcsICZQeUlkX2lzYXR0eSwgIiIpOwotICAgIGlmIChyZXMgPT0gTlVMTCkKLSAgICAgICAgZ290byBlcnJvcjsKLSAgICBpc2F0dHkgPSBQeU9iamVjdF9Jc1RydWUocmVzKTsKLSAgICBQeV9ERUNSRUYocmVzKTsKLSAgICBpZiAoaXNhdHR5ID09IC0xKQotICAgICAgICBnb3RvIGVycm9yOwotICAgIGlmIChpc2F0dHkgfHwgUHlfVW5idWZmZXJlZFN0ZGlvRmxhZykKLSAgICAgICAgbGluZV9idWZmZXJpbmcgPSBQeV9UcnVlOwotICAgIGVsc2UKLSAgICAgICAgbGluZV9idWZmZXJpbmcgPSBQeV9GYWxzZTsKLQotICAgIFB5X0NMRUFSKHJhdyk7Ci0gICAgUHlfQ0xFQVIodGV4dCk7Ci0KLSNpZmRlZiBNU19XSU5ET1dTCi0gICAgLyogc3lzLnN0ZGluOiBlbmFibGUgdW5pdmVyc2FsIG5ld2xpbmUgbW9kZSwgdHJhbnNsYXRlICJcclxuIiBhbmQgIlxyIgotICAgICAgIG5ld2xpbmVzIHRvICJcbiIuCi0gICAgICAgc3lzLnN0ZG91dCBhbmQgc3lzLnN0ZGVycjogdHJhbnNsYXRlICJcbiIgdG8gIlxyXG4iLiAqLwotICAgIG5ld2xpbmUgPSBOVUxMOwotI2Vsc2UKLSAgICAvKiBzeXMuc3RkaW46IHNwbGl0IGxpbmVzIGF0ICJcbiIuCi0gICAgICAgc3lzLnN0ZG91dCBhbmQgc3lzLnN0ZGVycjogZG9uJ3QgdHJhbnNsYXRlIG5ld2xpbmVzICh1c2UgIlxuIikuICovCi0gICAgbmV3bGluZSA9ICJcbiI7Ci0jZW5kaWYKLQotICAgIHN0cmVhbSA9IF9QeU9iamVjdF9DYWxsTWV0aG9kSWQoaW8sICZQeUlkX1RleHRJT1dyYXBwZXIsICJPc3NzTyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBidWYsIGVuY29kaW5nLCBlcnJvcnMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXdsaW5lLCBsaW5lX2J1ZmZlcmluZyk7Ci0gICAgUHlfQ0xFQVIoYnVmKTsKLSAgICBpZiAoc3RyZWFtID09IE5VTEwpCi0gICAgICAgIGdvdG8gZXJyb3I7Ci0KLSAgICBpZiAod3JpdGVfbW9kZSkKLSAgICAgICAgbW9kZSA9ICJ3IjsKLSAgICBlbHNlCi0gICAgICAgIG1vZGUgPSAiciI7Ci0gICAgdGV4dCA9IFB5VW5pY29kZV9Gcm9tU3RyaW5nKG1vZGUpOwotICAgIGlmICghdGV4dCB8fCBfUHlPYmplY3RfU2V0QXR0cklkKHN0cmVhbSwgJlB5SWRfbW9kZSwgdGV4dCkgPCAwKQotICAgICAgICBnb3RvIGVycm9yOwotICAgIFB5X0NMRUFSKHRleHQpOwotICAgIHJldHVybiBzdHJlYW07Ci0KLWVycm9yOgotICAgIFB5X1hERUNSRUYoYnVmKTsKLSAgICBQeV9YREVDUkVGKHN0cmVhbSk7Ci0gICAgUHlfWERFQ1JFRih0ZXh0KTsKLSAgICBQeV9YREVDUkVGKHJhdyk7Ci0gICAgcmV0dXJuIE5VTEw7Ci19Ci0KLXN0YXRpYyBpbnQKLWlzX3ZhbGlkX2ZkKGludCBmZCkKLXsKLSAgICBpbnQgZHVtbXlfZmQ7Ci0gICAgaWYgKGZkIDwgMCB8fCAhX1B5VmVyaWZ5X2ZkKGZkKSkKLSAgICAgICAgcmV0dXJuIDA7Ci0gICAgZHVtbXlfZmQgPSBkdXAoZmQpOwotICAgIGlmIChkdW1teV9mZCA8IDApCi0gICAgICAgIHJldHVybiAwOwotICAgIGNsb3NlKGR1bW15X2ZkKTsKLSAgICByZXR1cm4gMTsKLX0KLQotLyogSW5pdGlhbGl6ZSBzeXMuc3RkaW4sIHN0ZG91dCwgc3RkZXJyIGFuZCBidWlsdGlucy5vcGVuICovCi1zdGF0aWMgaW50Ci1pbml0c3RkaW8odm9pZCkKLXsKLSAgICBQeU9iamVjdCAqaW9tb2QgPSBOVUxMLCAqd3JhcHBlcjsKLSAgICBQeU9iamVjdCAqYmltb2QgPSBOVUxMOwotICAgIFB5T2JqZWN0ICptOwotICAgIFB5T2JqZWN0ICpzdGQgPSBOVUxMOwotICAgIGludCBzdGF0dXMgPSAwLCBmZDsKLSAgICBQeU9iamVjdCAqIGVuY29kaW5nX2F0dHI7Ci0gICAgY2hhciAqcHl0aG9uaW9lbmNvZGluZyA9IE5VTEwsICplbmNvZGluZywgKmVycm9yczsKLQotICAgIC8qIEhhY2sgdG8gYXZvaWQgYSBuYXN0eSByZWN1cnNpb24gaXNzdWUgd2hlbiBQeXRob24gaXMgaW52b2tlZAotICAgICAgIGluIHZlcmJvc2UgbW9kZTogcHJlLWltcG9ydCB0aGUgTGF0aW4tMSBhbmQgVVRGLTggY29kZWNzICovCi0gICAgaWYgKChtID0gUHlJbXBvcnRfSW1wb3J0TW9kdWxlKCJlbmNvZGluZ3MudXRmXzgiKSkgPT0gTlVMTCkgewotICAgICAgICBnb3RvIGVycm9yOwotICAgIH0KLSAgICBQeV9ERUNSRUYobSk7Ci0KLSAgICBpZiAoIShtID0gUHlJbXBvcnRfSW1wb3J0TW9kdWxlKCJlbmNvZGluZ3MubGF0aW5fMSIpKSkgewotICAgICAgICBnb3RvIGVycm9yOwotICAgIH0KLSAgICBQeV9ERUNSRUYobSk7Ci0KLSAgICBpZiAoIShiaW1vZCA9IFB5SW1wb3J0X0ltcG9ydE1vZHVsZSgiYnVpbHRpbnMiKSkpIHsKLSAgICAgICAgZ290byBlcnJvcjsKLSAgICB9Ci0KLSAgICBpZiAoIShpb21vZCA9IFB5SW1wb3J0X0ltcG9ydE1vZHVsZSgiaW8iKSkpIHsKLSAgICAgICAgZ290byBlcnJvcjsKLSAgICB9Ci0gICAgaWYgKCEod3JhcHBlciA9IFB5T2JqZWN0X0dldEF0dHJTdHJpbmcoaW9tb2QsICJPcGVuV3JhcHBlciIpKSkgewotICAgICAgICBnb3RvIGVycm9yOwotICAgIH0KLQotICAgIC8qIFNldCBidWlsdGlucy5vcGVuICovCi0gICAgaWYgKFB5T2JqZWN0X1NldEF0dHJTdHJpbmcoYmltb2QsICJvcGVuIiwgd3JhcHBlcikgPT0gLTEpIHsKLSAgICAgICAgUHlfREVDUkVGKHdyYXBwZXIpOwotICAgICAgICBnb3RvIGVycm9yOwotICAgIH0KLSAgICBQeV9ERUNSRUYod3JhcHBlcik7Ci0KLSAgICBlbmNvZGluZyA9IF9QeV9TdGFuZGFyZFN0cmVhbUVuY29kaW5nOwotICAgIGVycm9ycyA9IF9QeV9TdGFuZGFyZFN0cmVhbUVycm9yczsKLSAgICBpZiAoIWVuY29kaW5nIHx8ICFlcnJvcnMpIHsKLSAgICAgICAgcHl0aG9uaW9lbmNvZGluZyA9IFB5X0dFVEVOVigiUFlUSE9OSU9FTkNPRElORyIpOwotICAgICAgICBpZiAocHl0aG9uaW9lbmNvZGluZykgewotICAgICAgICAgICAgY2hhciAqZXJyOwotICAgICAgICAgICAgcHl0aG9uaW9lbmNvZGluZyA9IF9QeU1lbV9TdHJkdXAocHl0aG9uaW9lbmNvZGluZyk7Ci0gICAgICAgICAgICBpZiAocHl0aG9uaW9lbmNvZGluZyA9PSBOVUxMKSB7Ci0gICAgICAgICAgICAgICAgUHlFcnJfTm9NZW1vcnkoKTsKLSAgICAgICAgICAgICAgICBnb3RvIGVycm9yOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgZXJyID0gc3RyY2hyKHB5dGhvbmlvZW5jb2RpbmcsICc6Jyk7Ci0gICAgICAgICAgICBpZiAoZXJyKSB7Ci0gICAgICAgICAgICAgICAgKmVyciA9ICdcMCc7Ci0gICAgICAgICAgICAgICAgZXJyKys7Ci0gICAgICAgICAgICAgICAgaWYgKCplcnIgJiYgIWVycm9ycykgewotICAgICAgICAgICAgICAgICAgICBlcnJvcnMgPSBlcnI7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfQotICAgICAgICAgICAgaWYgKCpweXRob25pb2VuY29kaW5nICYmICFlbmNvZGluZykgewotICAgICAgICAgICAgICAgIGVuY29kaW5nID0gcHl0aG9uaW9lbmNvZGluZzsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotICAgIH0KLQotICAgIC8qIFNldCBzeXMuc3RkaW4gKi8KLSAgICBmZCA9IGZpbGVubyhzdGRpbik7Ci0gICAgLyogVW5kZXIgc29tZSBjb25kaXRpb25zIHN0ZGluLCBzdGRvdXQgYW5kIHN0ZGVyciBtYXkgbm90IGJlIGNvbm5lY3RlZAotICAgICAqIGFuZCBmaWxlbm8oKSBtYXkgcG9pbnQgdG8gYW4gaW52YWxpZCBmaWxlIGRlc2NyaXB0b3IuIEZvciBleGFtcGxlCi0gICAgICogR1VJIGFwcHMgZG9uJ3QgaGF2ZSB2YWxpZCBzdGFuZGFyZCBzdHJlYW1zIGJ5IGRlZmF1bHQuCi0gICAgICovCi0gICAgaWYgKCFpc192YWxpZF9mZChmZCkpIHsKLSAgICAgICAgc3RkID0gUHlfTm9uZTsKLSAgICAgICAgUHlfSU5DUkVGKHN0ZCk7Ci0gICAgfQotICAgIGVsc2UgewotICAgICAgICBzdGQgPSBjcmVhdGVfc3RkaW8oaW9tb2QsIGZkLCAwLCAiPHN0ZGluPiIsIGVuY29kaW5nLCBlcnJvcnMpOwotICAgICAgICBpZiAoc3RkID09IE5VTEwpCi0gICAgICAgICAgICBnb3RvIGVycm9yOwotICAgIH0gLyogaWYgKGZkIDwgMCkgKi8KLSAgICBQeVN5c19TZXRPYmplY3QoIl9fc3RkaW5fXyIsIHN0ZCk7Ci0gICAgX1B5U3lzX1NldE9iamVjdElkKCZQeUlkX3N0ZGluLCBzdGQpOwotICAgIFB5X0RFQ1JFRihzdGQpOwotCi0gICAgLyogU2V0IHN5cy5zdGRvdXQgKi8KLSAgICBmZCA9IGZpbGVubyhzdGRvdXQpOwotICAgIGlmICghaXNfdmFsaWRfZmQoZmQpKSB7Ci0gICAgICAgIHN0ZCA9IFB5X05vbmU7Ci0gICAgICAgIFB5X0lOQ1JFRihzdGQpOwotICAgIH0KLSAgICBlbHNlIHsKLSAgICAgICAgc3RkID0gY3JlYXRlX3N0ZGlvKGlvbW9kLCBmZCwgMSwgIjxzdGRvdXQ+IiwgZW5jb2RpbmcsIGVycm9ycyk7Ci0gICAgICAgIGlmIChzdGQgPT0gTlVMTCkKLSAgICAgICAgICAgIGdvdG8gZXJyb3I7Ci0gICAgfSAvKiBpZiAoZmQgPCAwKSAqLwotICAgIFB5U3lzX1NldE9iamVjdCgiX19zdGRvdXRfXyIsIHN0ZCk7Ci0gICAgX1B5U3lzX1NldE9iamVjdElkKCZQeUlkX3N0ZG91dCwgc3RkKTsKLSAgICBQeV9ERUNSRUYoc3RkKTsKLQotI2lmIDEgLyogRGlzYWJsZSB0aGlzIGlmIHlvdSBoYXZlIHRyb3VibGUgZGVidWdnaW5nIGJvb3RzdHJhcCBzdHVmZiAqLwotICAgIC8qIFNldCBzeXMuc3RkZXJyLCByZXBsYWNlcyB0aGUgcHJlbGltaW5hcnkgc3RkZXJyICovCi0gICAgZmQgPSBmaWxlbm8oc3RkZXJyKTsKLSAgICBpZiAoIWlzX3ZhbGlkX2ZkKGZkKSkgewotICAgICAgICBzdGQgPSBQeV9Ob25lOwotICAgICAgICBQeV9JTkNSRUYoc3RkKTsKLSAgICB9Ci0gICAgZWxzZSB7Ci0gICAgICAgIHN0ZCA9IGNyZWF0ZV9zdGRpbyhpb21vZCwgZmQsIDEsICI8c3RkZXJyPiIsIGVuY29kaW5nLCAiYmFja3NsYXNocmVwbGFjZSIpOwotICAgICAgICBpZiAoc3RkID09IE5VTEwpCi0gICAgICAgICAgICBnb3RvIGVycm9yOwotICAgIH0gLyogaWYgKGZkIDwgMCkgKi8KLQotICAgIC8qIFNhbWUgYXMgaGFjayBhYm92ZSwgcHJlLWltcG9ydCBzdGRlcnIncyBjb2RlYyB0byBhdm9pZCByZWN1cnNpb24KLSAgICAgICB3aGVuIGltcG9ydC5jIHRyaWVzIHRvIHdyaXRlIHRvIHN0ZGVyciBpbiB2ZXJib3NlIG1vZGUuICovCi0gICAgZW5jb2RpbmdfYXR0ciA9IFB5T2JqZWN0X0dldEF0dHJTdHJpbmcoc3RkLCAiZW5jb2RpbmciKTsKLSAgICBpZiAoZW5jb2RpbmdfYXR0ciAhPSBOVUxMKSB7Ci0gICAgICAgIGNvbnN0IGNoYXIgKiBzdGRfZW5jb2Rpbmc7Ci0gICAgICAgIHN0ZF9lbmNvZGluZyA9IF9QeVVuaWNvZGVfQXNTdHJpbmcoZW5jb2RpbmdfYXR0cik7Ci0gICAgICAgIGlmIChzdGRfZW5jb2RpbmcgIT0gTlVMTCkgewotICAgICAgICAgICAgUHlPYmplY3QgKmNvZGVjX2luZm8gPSBfUHlDb2RlY19Mb29rdXAoc3RkX2VuY29kaW5nKTsKLSAgICAgICAgICAgIFB5X1hERUNSRUYoY29kZWNfaW5mbyk7Ci0gICAgICAgIH0KLSAgICAgICAgUHlfREVDUkVGKGVuY29kaW5nX2F0dHIpOwotICAgIH0KLSAgICBQeUVycl9DbGVhcigpOyAgLyogTm90IGEgZmF0YWwgZXJyb3IgaWYgY29kZWMgaXNuJ3QgYXZhaWxhYmxlICovCi0KLSAgICBpZiAoUHlTeXNfU2V0T2JqZWN0KCJfX3N0ZGVycl9fIiwgc3RkKSA8IDApIHsKLSAgICAgICAgUHlfREVDUkVGKHN0ZCk7Ci0gICAgICAgIGdvdG8gZXJyb3I7Ci0gICAgfQotICAgIGlmIChfUHlTeXNfU2V0T2JqZWN0SWQoJlB5SWRfc3RkZXJyLCBzdGQpIDwgMCkgewotICAgICAgICBQeV9ERUNSRUYoc3RkKTsKLSAgICAgICAgZ290byBlcnJvcjsKLSAgICB9Ci0gICAgUHlfREVDUkVGKHN0ZCk7Ci0jZW5kaWYKLQotICAgIGlmICgwKSB7Ci0gIGVycm9yOgotICAgICAgICBzdGF0dXMgPSAtMTsKLSAgICB9Ci0KLSAgICAvKiBXZSB3b24ndCBuZWVkIHRoZW0gYW55bW9yZS4gKi8KLSAgICBpZiAoX1B5X1N0YW5kYXJkU3RyZWFtRW5jb2RpbmcpIHsKLSAgICAgICAgUHlNZW1fUmF3RnJlZShfUHlfU3RhbmRhcmRTdHJlYW1FbmNvZGluZyk7Ci0gICAgICAgIF9QeV9TdGFuZGFyZFN0cmVhbUVuY29kaW5nID0gTlVMTDsKLSAgICB9Ci0gICAgaWYgKF9QeV9TdGFuZGFyZFN0cmVhbUVycm9ycykgewotICAgICAgICBQeU1lbV9SYXdGcmVlKF9QeV9TdGFuZGFyZFN0cmVhbUVycm9ycyk7Ci0gICAgICAgIF9QeV9TdGFuZGFyZFN0cmVhbUVycm9ycyA9IE5VTEw7Ci0gICAgfQotICAgIFB5TWVtX0ZyZWUocHl0aG9uaW9lbmNvZGluZyk7Ci0gICAgUHlfWERFQ1JFRihiaW1vZCk7Ci0gICAgUHlfWERFQ1JFRihpb21vZCk7Ci0gICAgcmV0dXJuIHN0YXR1czsKLX0KIAogLyogUGFyc2UgaW5wdXQgZnJvbSBhIGZpbGUgYW5kIGV4ZWN1dGUgaXQgKi8KIApAQCAtMTMyMiw3ICsxMTAsNyBAQAogICAgIGVyciA9IC0xOwogICAgIGZvciAoOzspIHsKICAgICAgICAgcmV0ID0gUHlSdW5fSW50ZXJhY3RpdmVPbmVPYmplY3QoZnAsIGZpbGVuYW1lLCBmbGFncyk7Ci0gICAgICAgIFBSSU5UX1RPVEFMX1JFRlMoKTsKKyAgICAgICAgX1BZX0RFQlVHX1BSSU5UX1RPVEFMX1JFRlMoKTsKICAgICAgICAgaWYgKHJldCA9PSBFX0VPRikgewogICAgICAgICAgICAgZXJyID0gMDsKICAgICAgICAgICAgIGJyZWFrOwpAQCAtMTcyOSw3ICs1MTcsNyBAQAogICAgICAgICByZXR1cm47CiAKICAgICBpZiAob2Zmc2V0ID49IDApIHsKLSAgICAgICAgaWYgKG9mZnNldCA+IDAgJiYgb2Zmc2V0ID09IHN0cmxlbih0ZXh0KSAmJiB0ZXh0W29mZnNldCAtIDFdID09ICdcbicpCisgICAgICAgIGlmIChvZmZzZXQgPiAwICYmIChzaXplX3Qpb2Zmc2V0ID09IHN0cmxlbih0ZXh0KSAmJiB0ZXh0W29mZnNldCAtIDFdID09ICdcbicpCiAgICAgICAgICAgICBvZmZzZXQtLTsKICAgICAgICAgZm9yICg7OykgewogICAgICAgICAgICAgbmwgPSBzdHJjaHIodGV4dCwgJ1xuJyk7CkBAIC0yNTg3LDE5MiArMTM3NSw2IEBACiAgICAgfQogfQogCi0vKiBQcmludCBmYXRhbCBlcnJvciBtZXNzYWdlIGFuZCBhYm9ydCAqLwotCi12b2lkCi1QeV9GYXRhbEVycm9yKGNvbnN0IGNoYXIgKm1zZykKLXsKLSAgICBjb25zdCBpbnQgZmQgPSBmaWxlbm8oc3RkZXJyKTsKLSAgICBQeVRocmVhZFN0YXRlICp0c3RhdGU7Ci0KLSAgICBmcHJpbnRmKHN0ZGVyciwgIkZhdGFsIFB5dGhvbiBlcnJvcjogJXNcbiIsIG1zZyk7Ci0gICAgZmZsdXNoKHN0ZGVycik7IC8qIGl0IGhlbHBzIGluIFdpbmRvd3MgZGVidWcgYnVpbGQgKi8KLSAgICBpZiAoUHlFcnJfT2NjdXJyZWQoKSkgewotICAgICAgICBQeUVycl9QcmludEV4KDApOwotICAgIH0KLSAgICBlbHNlIHsKLSAgICAgICAgdHN0YXRlID0gX1B5X2F0b21pY19sb2FkX3JlbGF4ZWQoJl9QeVRocmVhZFN0YXRlX0N1cnJlbnQpOwotICAgICAgICBpZiAodHN0YXRlICE9IE5VTEwpIHsKLSAgICAgICAgICAgIGZwdXRjKCdcbicsIHN0ZGVycik7Ci0gICAgICAgICAgICBmZmx1c2goc3RkZXJyKTsKLSAgICAgICAgICAgIF9QeV9EdW1wVHJhY2ViYWNrVGhyZWFkcyhmZCwgdHN0YXRlLT5pbnRlcnAsIHRzdGF0ZSk7Ci0gICAgICAgIH0KLSAgICAgICAgX1B5RmF1bHRoYW5kbGVyX0ZpbmkoKTsKLSAgICB9Ci0KLSNpZmRlZiBNU19XSU5ET1dTCi0gICAgewotICAgICAgICBzaXplX3QgbGVuID0gc3RybGVuKG1zZyk7Ci0gICAgICAgIFdDSEFSKiBidWZmZXI7Ci0gICAgICAgIHNpemVfdCBpOwotCi0gICAgICAgIC8qIENvbnZlcnQgdGhlIG1lc3NhZ2UgdG8gd2NoYXJfdC4gVGhpcyB1c2VzIGEgc2ltcGxlIG9uZS10by1vbmUKLSAgICAgICAgY29udmVyc2lvbiwgYXNzdW1pbmcgdGhhdCB0aGUgdGhpcyBlcnJvciBtZXNzYWdlIGFjdHVhbGx5IHVzZXMgQVNDSUkKLSAgICAgICAgb25seS4gSWYgdGhpcyBjZWFzZXMgdG8gYmUgdHJ1ZSwgd2Ugd2lsbCBoYXZlIHRvIGNvbnZlcnQuICovCi0gICAgICAgIGJ1ZmZlciA9IGFsbG9jYSggKGxlbisxKSAqIChzaXplb2YgKmJ1ZmZlcikpOwotICAgICAgICBmb3IoIGk9MDsgaTw9bGVuOyArK2kpCi0gICAgICAgICAgICBidWZmZXJbaV0gPSBtc2dbaV07Ci0gICAgICAgIE91dHB1dERlYnVnU3RyaW5nVyhMIkZhdGFsIFB5dGhvbiBlcnJvcjogIik7Ci0gICAgICAgIE91dHB1dERlYnVnU3RyaW5nVyhidWZmZXIpOwotICAgICAgICBPdXRwdXREZWJ1Z1N0cmluZ1coTCJcbiIpOwotICAgIH0KLSNpZmRlZiBfREVCVUcKLSAgICBEZWJ1Z0JyZWFrKCk7Ci0jZW5kaWYKLSNlbmRpZiAvKiBNU19XSU5ET1dTICovCi0gICAgYWJvcnQoKTsKLX0KLQotLyogQ2xlYW4gdXAgYW5kIGV4aXQgKi8KLQotI2lmZGVmIFdJVEhfVEhSRUFECi0jaW5jbHVkZSAicHl0aHJlYWQuaCIKLSNlbmRpZgotCi1zdGF0aWMgdm9pZCAoKnB5ZXhpdGZ1bmMpKHZvaWQpID0gTlVMTDsKLS8qIEZvciB0aGUgYXRleGl0IG1vZHVsZS4gKi8KLXZvaWQgX1B5X1B5QXRFeGl0KHZvaWQgKCpmdW5jKSh2b2lkKSkKLXsKLSAgICBweWV4aXRmdW5jID0gZnVuYzsKLX0KLQotc3RhdGljIHZvaWQKLWNhbGxfcHlfZXhpdGZ1bmNzKHZvaWQpCi17Ci0gICAgaWYgKHB5ZXhpdGZ1bmMgPT0gTlVMTCkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgKCpweWV4aXRmdW5jKSgpOwotICAgIFB5RXJyX0NsZWFyKCk7Ci19Ci0KLS8qIFdhaXQgdW50aWwgdGhyZWFkaW5nLl9zaHV0ZG93biBjb21wbGV0ZXMsIHByb3ZpZGVkCi0gICB0aGUgdGhyZWFkaW5nIG1vZHVsZSB3YXMgaW1wb3J0ZWQgaW4gdGhlIGZpcnN0IHBsYWNlLgotICAgVGhlIHNodXRkb3duIHJvdXRpbmUgd2lsbCB3YWl0IHVudGlsIGFsbCBub24tZGFlbW9uCi0gICAidGhyZWFkaW5nIiB0aHJlYWRzIGhhdmUgY29tcGxldGVkLiAqLwotc3RhdGljIHZvaWQKLXdhaXRfZm9yX3RocmVhZF9zaHV0ZG93bih2b2lkKQotewotI2lmZGVmIFdJVEhfVEhSRUFECi0gICAgX1B5X0lERU5USUZJRVIoX3NodXRkb3duKTsKLSAgICBQeU9iamVjdCAqcmVzdWx0OwotICAgIFB5VGhyZWFkU3RhdGUgKnRzdGF0ZSA9IFB5VGhyZWFkU3RhdGVfR0VUKCk7Ci0gICAgUHlPYmplY3QgKnRocmVhZGluZyA9IFB5TWFwcGluZ19HZXRJdGVtU3RyaW5nKHRzdGF0ZS0+aW50ZXJwLT5tb2R1bGVzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGhyZWFkaW5nIik7Ci0gICAgaWYgKHRocmVhZGluZyA9PSBOVUxMKSB7Ci0gICAgICAgIC8qIHRocmVhZGluZyBub3QgaW1wb3J0ZWQgKi8KLSAgICAgICAgUHlFcnJfQ2xlYXIoKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLSAgICByZXN1bHQgPSBfUHlPYmplY3RfQ2FsbE1ldGhvZElkKHRocmVhZGluZywgJlB5SWRfX3NodXRkb3duLCAiIik7Ci0gICAgaWYgKHJlc3VsdCA9PSBOVUxMKSB7Ci0gICAgICAgIFB5RXJyX1dyaXRlVW5yYWlzYWJsZSh0aHJlYWRpbmcpOwotICAgIH0KLSAgICBlbHNlIHsKLSAgICAgICAgUHlfREVDUkVGKHJlc3VsdCk7Ci0gICAgfQotICAgIFB5X0RFQ1JFRih0aHJlYWRpbmcpOwotI2VuZGlmCi19Ci0KLSNkZWZpbmUgTkVYSVRGVU5DUyAzMgotc3RhdGljIHZvaWQgKCpleGl0ZnVuY3NbTkVYSVRGVU5DU10pKHZvaWQpOwotc3RhdGljIGludCBuZXhpdGZ1bmNzID0gMDsKLQotaW50IFB5X0F0RXhpdCh2b2lkICgqZnVuYykodm9pZCkpCi17Ci0gICAgaWYgKG5leGl0ZnVuY3MgPj0gTkVYSVRGVU5DUykKLSAgICAgICAgcmV0dXJuIC0xOwotICAgIGV4aXRmdW5jc1tuZXhpdGZ1bmNzKytdID0gZnVuYzsKLSAgICByZXR1cm4gMDsKLX0KLQotc3RhdGljIHZvaWQKLWNhbGxfbGxfZXhpdGZ1bmNzKHZvaWQpCi17Ci0gICAgd2hpbGUgKG5leGl0ZnVuY3MgPiAwKQotICAgICAgICAoKmV4aXRmdW5jc1stLW5leGl0ZnVuY3NdKSgpOwotCi0gICAgZmZsdXNoKHN0ZG91dCk7Ci0gICAgZmZsdXNoKHN0ZGVycik7Ci19Ci0KLXZvaWQKLVB5X0V4aXQoaW50IHN0cykKLXsKLSAgICBQeV9GaW5hbGl6ZSgpOwotCi0gICAgZXhpdChzdHMpOwotfQotCi1zdGF0aWMgdm9pZAotaW5pdHNpZ3Modm9pZCkKLXsKLSNpZmRlZiBTSUdQSVBFCi0gICAgUHlPU19zZXRzaWcoU0lHUElQRSwgU0lHX0lHTik7Ci0jZW5kaWYKLSNpZmRlZiBTSUdYRloKLSAgICBQeU9TX3NldHNpZyhTSUdYRlosIFNJR19JR04pOwotI2VuZGlmCi0jaWZkZWYgU0lHWEZTWgotICAgIFB5T1Nfc2V0c2lnKFNJR1hGU1osIFNJR19JR04pOwotI2VuZGlmCi0gICAgUHlPU19Jbml0SW50ZXJydXB0cygpOyAvKiBNYXkgaW1wbHkgaW5pdHNpZ25hbCgpICovCi0gICAgaWYgKFB5RXJyX09jY3VycmVkKCkpIHsKLSAgICAgICAgUHlfRmF0YWxFcnJvcigiUHlfSW5pdGlhbGl6ZTogY2FuJ3QgaW1wb3J0IHNpZ25hbCIpOwotICAgIH0KLX0KLQotCi0vKiBSZXN0b3JlIHNpZ25hbHMgdGhhdCB0aGUgaW50ZXJwcmV0ZXIgaGFzIGNhbGxlZCBTSUdfSUdOIG9uIHRvIFNJR19ERkwuCi0gKgotICogQWxsIG9mIHRoZSBjb2RlIGluIHRoaXMgZnVuY3Rpb24gbXVzdCBvbmx5IHVzZSBhc3luYy1zaWduYWwtc2FmZSBmdW5jdGlvbnMsCi0gKiBsaXN0ZWQgYXQgYG1hbiA3IHNpZ25hbGAgb3IKLSAqIGh0dHA6Ly93d3cub3Blbmdyb3VwLm9yZy9vbmxpbmVwdWJzLzAwOTY5NTM5OS9mdW5jdGlvbnMveHNoX2NoYXAwMl8wNC5odG1sLgotICovCi12b2lkCi1fUHlfUmVzdG9yZVNpZ25hbHModm9pZCkKLXsKLSNpZmRlZiBTSUdQSVBFCi0gICAgUHlPU19zZXRzaWcoU0lHUElQRSwgU0lHX0RGTCk7Ci0jZW5kaWYKLSNpZmRlZiBTSUdYRloKLSAgICBQeU9TX3NldHNpZyhTSUdYRlosIFNJR19ERkwpOwotI2VuZGlmCi0jaWZkZWYgU0lHWEZTWgotICAgIFB5T1Nfc2V0c2lnKFNJR1hGU1osIFNJR19ERkwpOwotI2VuZGlmCi19Ci0KLQotLyoKLSAqIFRoZSBmaWxlIGRlc2NyaXB0b3IgZmQgaXMgY29uc2lkZXJlZCBgYGludGVyYWN0aXZlJycgaWYgZWl0aGVyCi0gKiAgIGEpIGlzYXR0eShmZCkgaXMgVFJVRSwgb3IKLSAqICAgYikgdGhlIC1pIGZsYWcgd2FzIGdpdmVuLCBhbmQgdGhlIGZpbGVuYW1lIGFzc29jaWF0ZWQgd2l0aAotICogICAgICB0aGUgZGVzY3JpcHRvciBpcyBOVUxMIG9yICI8c3RkaW4+IiBvciAiPz8/Ii4KLSAqLwotaW50Ci1QeV9GZElzSW50ZXJhY3RpdmUoRklMRSAqZnAsIGNvbnN0IGNoYXIgKmZpbGVuYW1lKQotewotICAgIGlmIChpc2F0dHkoKGludClmaWxlbm8oZnApKSkKLSAgICAgICAgcmV0dXJuIDE7Ci0gICAgaWYgKCFQeV9JbnRlcmFjdGl2ZUZsYWcpCi0gICAgICAgIHJldHVybiAwOwotICAgIHJldHVybiAoZmlsZW5hbWUgPT0gTlVMTCkgfHwKLSAgICAgICAgICAgKHN0cmNtcChmaWxlbmFtZSwgIjxzdGRpbj4iKSA9PSAwKSB8fAotICAgICAgICAgICAoc3RyY21wKGZpbGVuYW1lLCAiPz8/IikgPT0gMCk7Ci19Ci0KIAogI2lmIGRlZmluZWQoVVNFX1NUQUNLQ0hFQ0spCiAjaWYgZGVmaW5lZChXSU4zMikgJiYgZGVmaW5lZChfTVNDX1ZFUikKQEAgLTI4MTEsNzMgKzE0MTMsNiBAQAogCiAjZW5kaWYgLyogVVNFX1NUQUNLQ0hFQ0sgKi8KIAotCi0vKiBXcmFwcGVycyBhcm91bmQgc2lnYWN0aW9uKCkgb3Igc2lnbmFsKCkuICovCi0KLVB5T1Nfc2lnaGFuZGxlcl90Ci1QeU9TX2dldHNpZyhpbnQgc2lnKQotewotI2lmZGVmIEhBVkVfU0lHQUNUSU9OCi0gICAgc3RydWN0IHNpZ2FjdGlvbiBjb250ZXh0OwotICAgIGlmIChzaWdhY3Rpb24oc2lnLCBOVUxMLCAmY29udGV4dCkgPT0gLTEpCi0gICAgICAgIHJldHVybiBTSUdfRVJSOwotICAgIHJldHVybiBjb250ZXh0LnNhX2hhbmRsZXI7Ci0jZWxzZQotICAgIFB5T1Nfc2lnaGFuZGxlcl90IGhhbmRsZXI7Ci0vKiBTcGVjaWFsIHNpZ25hbCBoYW5kbGluZyBmb3IgdGhlIHNlY3VyZSBDUlQgaW4gVmlzdWFsIFN0dWRpbyAyMDA1ICovCi0jaWYgZGVmaW5lZChfTVNDX1ZFUikgJiYgX01TQ19WRVIgPj0gMTQwMAotICAgIHN3aXRjaCAoc2lnKSB7Ci0gICAgLyogT25seSB0aGVzZSBzaWduYWxzIGFyZSB2YWxpZCAqLwotICAgIGNhc2UgU0lHSU5UOgotICAgIGNhc2UgU0lHSUxMOgotICAgIGNhc2UgU0lHRlBFOgotICAgIGNhc2UgU0lHU0VHVjoKLSAgICBjYXNlIFNJR1RFUk06Ci0gICAgY2FzZSBTSUdCUkVBSzoKLSAgICBjYXNlIFNJR0FCUlQ6Ci0gICAgICAgIGJyZWFrOwotICAgIC8qIERvbid0IGNhbGwgc2lnbmFsKCkgd2l0aCBvdGhlciB2YWx1ZXMgb3IgaXQgd2lsbCBhc3NlcnQgKi8KLSAgICBkZWZhdWx0OgotICAgICAgICByZXR1cm4gU0lHX0VSUjsKLSAgICB9Ci0jZW5kaWYgLyogX01TQ19WRVIgJiYgX01TQ19WRVIgPj0gMTQwMCAqLwotICAgIGhhbmRsZXIgPSBzaWduYWwoc2lnLCBTSUdfSUdOKTsKLSAgICBpZiAoaGFuZGxlciAhPSBTSUdfRVJSKQotICAgICAgICBzaWduYWwoc2lnLCBoYW5kbGVyKTsKLSAgICByZXR1cm4gaGFuZGxlcjsKLSNlbmRpZgotfQotCi0vKgotICogQWxsIG9mIHRoZSBjb2RlIGluIHRoaXMgZnVuY3Rpb24gbXVzdCBvbmx5IHVzZSBhc3luYy1zaWduYWwtc2FmZSBmdW5jdGlvbnMsCi0gKiBsaXN0ZWQgYXQgYG1hbiA3IHNpZ25hbGAgb3IKLSAqIGh0dHA6Ly93d3cub3Blbmdyb3VwLm9yZy9vbmxpbmVwdWJzLzAwOTY5NTM5OS9mdW5jdGlvbnMveHNoX2NoYXAwMl8wNC5odG1sLgotICovCi1QeU9TX3NpZ2hhbmRsZXJfdAotUHlPU19zZXRzaWcoaW50IHNpZywgUHlPU19zaWdoYW5kbGVyX3QgaGFuZGxlcikKLXsKLSNpZmRlZiBIQVZFX1NJR0FDVElPTgotICAgIC8qIFNvbWUgY29kZSBpbiBNb2R1bGVzL3NpZ25hbG1vZHVsZS5jIGRlcGVuZHMgb24gc2lnYWN0aW9uKCkgYmVpbmcKLSAgICAgKiB1c2VkIGhlcmUgaWYgSEFWRV9TSUdBQ1RJT04gaXMgZGVmaW5lZC4gIEZpeCB0aGF0IGlmIHRoaXMgY29kZQotICAgICAqIGNoYW5nZXMgdG8gaW52YWxpZGF0ZSB0aGF0IGFzc3VtcHRpb24uCi0gICAgICovCi0gICAgc3RydWN0IHNpZ2FjdGlvbiBjb250ZXh0LCBvY29udGV4dDsKLSAgICBjb250ZXh0LnNhX2hhbmRsZXIgPSBoYW5kbGVyOwotICAgIHNpZ2VtcHR5c2V0KCZjb250ZXh0LnNhX21hc2spOwotICAgIGNvbnRleHQuc2FfZmxhZ3MgPSAwOwotICAgIGlmIChzaWdhY3Rpb24oc2lnLCAmY29udGV4dCwgJm9jb250ZXh0KSA9PSAtMSkKLSAgICAgICAgcmV0dXJuIFNJR19FUlI7Ci0gICAgcmV0dXJuIG9jb250ZXh0LnNhX2hhbmRsZXI7Ci0jZWxzZQotICAgIFB5T1Nfc2lnaGFuZGxlcl90IG9sZGhhbmRsZXI7Ci0gICAgb2xkaGFuZGxlciA9IHNpZ25hbChzaWcsIGhhbmRsZXIpOwotI2lmZGVmIEhBVkVfU0lHSU5URVJSVVBUCi0gICAgc2lnaW50ZXJydXB0KHNpZywgMSk7Ci0jZW5kaWYKLSAgICByZXR1cm4gb2xkaGFuZGxlcjsKLSNlbmRpZgotfQotCiAvKiBEZXByZWNhdGVkIEMgQVBJIGZ1bmN0aW9ucyBzdGlsbCBwcm92aWRlZCBmb3IgYmluYXJ5IGNvbXBhdGlibGl0eSAqLwogCiAjdW5kZWYgUHlQYXJzZXJfU2ltcGxlUGFyc2VGaWxlCmRpZmYgLS1naXQgYS9QeXRob24vcHl0aW1lLmMgYi9QeXRob24vcHl0aW1lLmMKaW5kZXggZGU2YTQxZi4uY2RhYTIyZSAxMDA2NDQKLS0tIGEvUHl0aG9uL3B5dGltZS5jCisrKyBiL1B5dGhvbi9weXRpbWUuYwpAQCAtMywyOSArMywyMCBAQAogI2luY2x1ZGUgPHdpbmRvd3MuaD4KICNlbmRpZgogCi0jaWYgZGVmaW5lZChfX0FQUExFX18pICYmIGRlZmluZWQoSEFWRV9HRVRUSU1FT0ZEQVkpICYmIGRlZmluZWQoSEFWRV9GVElNRSkKLSAgLyoKLSAgICogX1B5VGltZV9nZXR0aW1lb2ZkYXkgZmFsbHMgYmFjayB0byBmdGltZSB3aGVuIGdldHR0aW1lb2ZkYXkgZmFpbHMgYmVjYXVzZSB0aGUgbGF0dGVyCi0gICAqIG1pZ2h0IGZhaWwgb24gc29tZSBwbGF0Zm9ybXMuIFRoaXMgZmFsbGJhY2sgaXMgdW53YW50ZWQgb24gTWFjT1NYIGJlY2F1c2UKLSAgICogdGhhdCBtYWtlcyBpdCBpbXBvc3NpYmxlIHRvIHVzZSBhIGJpbmFyeSBidWlsZCBvbiBPU1ggMTAuNCBvbiBlYXJsaWVyCi0gICAqIHJlbGVhc2VzIG9mIHRoZSBPUy4gVGhlcmVmb3JlIGNsYWltIHdlIGRvbid0IHN1cHBvcnQgZnRpbWUuCi0gICAqLwotIyB1bmRlZiBIQVZFX0ZUSU1FCisjaWYgZGVmaW5lZChfX0FQUExFX18pCisjaW5jbHVkZSA8bWFjaC9tYWNoX3RpbWUuaD4gICAvKiBtYWNoX2Fic29sdXRlX3RpbWUoKSwgbWFjaF90aW1lYmFzZV9pbmZvKCkgKi8KICNlbmRpZgogCi0jaWYgZGVmaW5lZChIQVZFX0ZUSU1FKSAmJiAhZGVmaW5lZChNU19XSU5ET1dTKQotI2luY2x1ZGUgPHN5cy90aW1lYi5oPgotZXh0ZXJuIGludCBmdGltZShzdHJ1Y3QgdGltZWIgKik7Ci0jZW5kaWYKLQotc3RhdGljIHZvaWQKLXB5Z2V0dGltZW9mZGF5KF9QeVRpbWVfdGltZXZhbCAqdHAsIF9QeV9jbG9ja19pbmZvX3QgKmluZm8pCitzdGF0aWMgaW50CitweWdldHRpbWVvZmRheShfUHlUaW1lX3RpbWV2YWwgKnRwLCBfUHlfY2xvY2tfaW5mb190ICppbmZvLCBpbnQgcmFpc2UpCiB7CiAjaWZkZWYgTVNfV0lORE9XUwogICAgIEZJTEVUSU1FIHN5c3RlbV90aW1lOwogICAgIFVMQVJHRV9JTlRFR0VSIGxhcmdlOwogICAgIFVMT05HTE9ORyBtaWNyb3NlY29uZHM7CiAKKyAgICBhc3NlcnQoaW5mbyA9PSBOVUxMIHx8IHJhaXNlKTsKKwogICAgIEdldFN5c3RlbVRpbWVBc0ZpbGVUaW1lKCZzeXN0ZW1fdGltZSk7CiAgICAgbGFyZ2UudS5Mb3dQYXJ0ID0gc3lzdGVtX3RpbWUuZHdMb3dEYXRlVGltZTsKICAgICBsYXJnZS51LkhpZ2hQYXJ0ID0gc3lzdGVtX3RpbWUuZHdIaWdoRGF0ZVRpbWU7CkBAIC0zNyw4MCArMjgsMjExIEBACiAgICAgdHAtPnR2X3VzZWMgPSBtaWNyb3NlY29uZHMgJSAxMDAwMDAwOwogICAgIGlmIChpbmZvKSB7CiAgICAgICAgIERXT1JEIHRpbWVBZGp1c3RtZW50LCB0aW1lSW5jcmVtZW50OwotICAgICAgICBCT09MIGlzVGltZUFkanVzdG1lbnREaXNhYmxlZDsKKyAgICAgICAgQk9PTCBpc1RpbWVBZGp1c3RtZW50RGlzYWJsZWQsIG9rOwogCiAgICAgICAgIGluZm8tPmltcGxlbWVudGF0aW9uID0gIkdldFN5c3RlbVRpbWVBc0ZpbGVUaW1lKCkiOwogICAgICAgICBpbmZvLT5tb25vdG9uaWMgPSAwOwotICAgICAgICAodm9pZCkgR2V0U3lzdGVtVGltZUFkanVzdG1lbnQoJnRpbWVBZGp1c3RtZW50LCAmdGltZUluY3JlbWVudCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZpc1RpbWVBZGp1c3RtZW50RGlzYWJsZWQpOworICAgICAgICBvayA9IEdldFN5c3RlbVRpbWVBZGp1c3RtZW50KCZ0aW1lQWRqdXN0bWVudCwgJnRpbWVJbmNyZW1lbnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmlzVGltZUFkanVzdG1lbnREaXNhYmxlZCk7CisgICAgICAgIGlmICghb2spIHsKKyAgICAgICAgICAgIFB5RXJyX1NldEZyb21XaW5kb3dzRXJyKDApOworICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICB9CiAgICAgICAgIGluZm8tPnJlc29sdXRpb24gPSB0aW1lSW5jcmVtZW50ICogMWUtNzsKICAgICAgICAgaW5mby0+YWRqdXN0YWJsZSA9IDE7CiAgICAgfQotI2Vsc2UKLSAgICAvKiBUaGVyZSBhcmUgdGhyZWUgd2F5cyB0byBnZXQgdGhlIHRpbWU6Ci0gICAgICAoMSkgZ2V0dGltZW9mZGF5KCkgLS0gcmVzb2x1dGlvbiBpbiBtaWNyb3NlY29uZHMKLSAgICAgICgyKSBmdGltZSgpIC0tIHJlc29sdXRpb24gaW4gbWlsbGlzZWNvbmRzCi0gICAgICAoMykgdGltZSgpIC0tIHJlc29sdXRpb24gaW4gc2Vjb25kcwotICAgICAgSW4gYWxsIGNhc2VzIHRoZSByZXR1cm4gdmFsdWUgaW4gYSB0aW1ldmFsIHN0cnVjdC4KLSAgICAgIFNpbmNlIG9uIHNvbWUgc3lzdGVtcyAoZS5nLiBTQ08gT0RUIDMuMCkgZ2V0dGltZW9mZGF5KCkgbWF5Ci0gICAgICBmYWlsLCBzbyB3ZSBmYWxsIGJhY2sgb24gZnRpbWUoKSBvciB0aW1lKCkuCi0gICAgICBOb3RlOiBjbG9jayByZXNvbHV0aW9uIGRvZXMgbm90IGltcGx5IGNsb2NrIGFjY3VyYWN5ISAqLwogCi0jaWZkZWYgSEFWRV9HRVRUSU1FT0ZEQVkKKyNlbHNlICAgLyogTVNfV0lORE9XUyAqLwogICAgIGludCBlcnI7CisjaWZkZWYgSEFWRV9DTE9DS19HRVRUSU1FCisgICAgc3RydWN0IHRpbWVzcGVjIHRzOworI2VuZGlmCisKKyAgICBhc3NlcnQoaW5mbyA9PSBOVUxMIHx8IHJhaXNlKTsKKworI2lmZGVmIEhBVkVfQ0xPQ0tfR0VUVElNRQorICAgIGVyciA9IGNsb2NrX2dldHRpbWUoQ0xPQ0tfUkVBTFRJTUUsICZ0cyk7CisgICAgaWYgKGVycikgeworICAgICAgICBpZiAocmFpc2UpCisgICAgICAgICAgICBQeUVycl9TZXRGcm9tRXJybm8oUHlFeGNfT1NFcnJvcik7CisgICAgICAgIHJldHVybiAtMTsKKyAgICB9CisgICAgdHAtPnR2X3NlYyA9IHRzLnR2X3NlYzsKKyAgICB0cC0+dHZfdXNlYyA9IHRzLnR2X25zZWMgLyAxMDAwOworCisgICAgaWYgKGluZm8pIHsKKyAgICAgICAgc3RydWN0IHRpbWVzcGVjIHJlczsKKyAgICAgICAgaW5mby0+aW1wbGVtZW50YXRpb24gPSAiY2xvY2tfZ2V0dGltZShDTE9DS19SRUFMVElNRSkiOworICAgICAgICBpbmZvLT5tb25vdG9uaWMgPSAwOworICAgICAgICBpbmZvLT5hZGp1c3RhYmxlID0gMTsKKyAgICAgICAgaWYgKGNsb2NrX2dldHJlcyhDTE9DS19SRUFMVElNRSwgJnJlcykgPT0gMCkKKyAgICAgICAgICAgIGluZm8tPnJlc29sdXRpb24gPSByZXMudHZfc2VjICsgcmVzLnR2X25zZWMgKiAxZS05OworICAgICAgICBlbHNlCisgICAgICAgICAgICBpbmZvLT5yZXNvbHV0aW9uID0gMWUtOTsKKyAgICB9CisjZWxzZSAgIC8qIEhBVkVfQ0xPQ0tfR0VUVElNRSAqLworCisgICAgIC8qIHRlc3QgZ2V0dGltZW9mZGF5KCkgKi8KICNpZmRlZiBHRVRUSU1FT0ZEQVlfTk9fVFoKICAgICBlcnIgPSBnZXR0aW1lb2ZkYXkodHApOwogI2Vsc2UKICAgICBlcnIgPSBnZXR0aW1lb2ZkYXkodHAsIChzdHJ1Y3QgdGltZXpvbmUgKilOVUxMKTsKICNlbmRpZgotICAgIGlmIChlcnIgPT0gMCkgewotICAgICAgICBpZiAoaW5mbykgewotICAgICAgICAgICAgaW5mby0+aW1wbGVtZW50YXRpb24gPSAiZ2V0dGltZW9mZGF5KCkiOwotICAgICAgICAgICAgaW5mby0+cmVzb2x1dGlvbiA9IDFlLTY7Ci0gICAgICAgICAgICBpbmZvLT5tb25vdG9uaWMgPSAwOwotICAgICAgICAgICAgaW5mby0+YWRqdXN0YWJsZSA9IDE7Ci0gICAgICAgIH0KLSAgICAgICAgcmV0dXJuOworICAgIGlmIChlcnIpIHsKKyAgICAgICAgaWYgKHJhaXNlKQorICAgICAgICAgICAgUHlFcnJfU2V0RnJvbUVycm5vKFB5RXhjX09TRXJyb3IpOworICAgICAgICByZXR1cm4gLTE7CiAgICAgfQotI2VuZGlmICAgLyogSEFWRV9HRVRUSU1FT0ZEQVkgKi8KIAotI2lmIGRlZmluZWQoSEFWRV9GVElNRSkKLSAgICB7Ci0gICAgICAgIHN0cnVjdCB0aW1lYiB0OwotICAgICAgICBmdGltZSgmdCk7Ci0gICAgICAgIHRwLT50dl9zZWMgPSB0LnRpbWU7Ci0gICAgICAgIHRwLT50dl91c2VjID0gdC5taWxsaXRtICogMTAwMDsKLSAgICAgICAgaWYgKGluZm8pIHsKLSAgICAgICAgICAgIGluZm8tPmltcGxlbWVudGF0aW9uID0gImZ0aW1lKCkiOwotICAgICAgICAgICAgaW5mby0+cmVzb2x1dGlvbiA9IDFlLTM7Ci0gICAgICAgICAgICBpbmZvLT5tb25vdG9uaWMgPSAwOwotICAgICAgICAgICAgaW5mby0+YWRqdXN0YWJsZSA9IDE7Ci0gICAgICAgIH0KLSAgICB9Ci0jZWxzZSAvKiAhSEFWRV9GVElNRSAqLwotICAgIHRwLT50dl9zZWMgPSB0aW1lKE5VTEwpOwotICAgIHRwLT50dl91c2VjID0gMDsKICAgICBpZiAoaW5mbykgewotICAgICAgICBpbmZvLT5pbXBsZW1lbnRhdGlvbiA9ICJ0aW1lKCkiOwotICAgICAgICBpbmZvLT5yZXNvbHV0aW9uID0gMS4wOworICAgICAgICBpbmZvLT5pbXBsZW1lbnRhdGlvbiA9ICJnZXR0aW1lb2ZkYXkoKSI7CisgICAgICAgIGluZm8tPnJlc29sdXRpb24gPSAxZS02OwogICAgICAgICBpbmZvLT5tb25vdG9uaWMgPSAwOwogICAgICAgICBpbmZvLT5hZGp1c3RhYmxlID0gMTsKICAgICB9Ci0jZW5kaWYgLyogIUhBVkVfRlRJTUUgKi8KLQotI2VuZGlmIC8qIE1TX1dJTkRPV1MgKi8KKyNlbmRpZiAgIC8qICFIQVZFX0NMT0NLX0dFVFRJTUUgKi8KKyNlbmRpZiAgIC8qICFNU19XSU5ET1dTICovCisgICAgYXNzZXJ0KDAgPD0gdHAtPnR2X3VzZWMgJiYgdHAtPnR2X3VzZWMgPCAxMDAwICogMTAwMCk7CisgICAgcmV0dXJuIDA7CiB9CiAKIHZvaWQKIF9QeVRpbWVfZ2V0dGltZW9mZGF5KF9QeVRpbWVfdGltZXZhbCAqdHApCiB7Ci0gICAgcHlnZXR0aW1lb2ZkYXkodHAsIE5VTEwpOworICAgIGlmIChweWdldHRpbWVvZmRheSh0cCwgTlVMTCwgMCkgPCAwKSB7CisgICAgICAgIC8qIGNhbm5vdCBoYXBwZW4sIF9QeVRpbWVfSW5pdCgpIGNoZWNrcyB0aGF0IHB5Z2V0dGltZW9mZGF5KCkgd29ya3MgKi8KKyAgICAgICAgYXNzZXJ0KDApOworICAgICAgICB0cC0+dHZfc2VjID0gMDsKKyAgICAgICAgdHAtPnR2X3VzZWMgPSAwOworICAgIH0KK30KKworaW50CitfUHlUaW1lX2dldHRpbWVvZmRheV9pbmZvKF9QeVRpbWVfdGltZXZhbCAqdHAsIF9QeV9jbG9ja19pbmZvX3QgKmluZm8pCit7CisgICAgcmV0dXJuIHB5Z2V0dGltZW9mZGF5KHRwLCBpbmZvLCAxKTsKK30KKworc3RhdGljIGludAorcHltb25vdG9uaWMoX1B5VGltZV90aW1ldmFsICp0cCwgX1B5X2Nsb2NrX2luZm9fdCAqaW5mbywgaW50IHJhaXNlKQoreworI2lmZGVmIFB5X0RFQlVHCisgICAgc3RhdGljIF9QeVRpbWVfdGltZXZhbCBsYXN0ID0gezAsIC0xfTsKKyNlbmRpZgorI2lmIGRlZmluZWQoTVNfV0lORE9XUykKKyAgICBVTE9OR0xPTkcgcmVzdWx0OworCisgICAgYXNzZXJ0KGluZm8gPT0gTlVMTCB8fCByYWlzZSk7CisKKyAgICByZXN1bHQgPSBHZXRUaWNrQ291bnQ2NCgpOworCisgICAgdHAtPnR2X3NlYyA9IHJlc3VsdCAvIDEwMDA7CisgICAgdHAtPnR2X3VzZWMgPSAocmVzdWx0ICUgMTAwMCkgKiAxMDAwOworCisgICAgaWYgKGluZm8pIHsKKyAgICAgICAgRFdPUkQgdGltZUFkanVzdG1lbnQsIHRpbWVJbmNyZW1lbnQ7CisgICAgICAgIEJPT0wgaXNUaW1lQWRqdXN0bWVudERpc2FibGVkLCBvazsKKyAgICAgICAgaW5mby0+aW1wbGVtZW50YXRpb24gPSAiR2V0VGlja0NvdW50NjQoKSI7CisgICAgICAgIGluZm8tPm1vbm90b25pYyA9IDE7CisgICAgICAgIG9rID0gR2V0U3lzdGVtVGltZUFkanVzdG1lbnQoJnRpbWVBZGp1c3RtZW50LCAmdGltZUluY3JlbWVudCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmaXNUaW1lQWRqdXN0bWVudERpc2FibGVkKTsKKyAgICAgICAgaWYgKCFvaykgeworICAgICAgICAgICAgUHlFcnJfU2V0RnJvbVdpbmRvd3NFcnIoMCk7CisgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgIH0KKyAgICAgICAgaW5mby0+cmVzb2x1dGlvbiA9IHRpbWVJbmNyZW1lbnQgKiAxZS03OworICAgICAgICBpbmZvLT5hZGp1c3RhYmxlID0gMDsKKyAgICB9CisKKyNlbGlmIGRlZmluZWQoX19BUFBMRV9fKQorICAgIHN0YXRpYyBtYWNoX3RpbWViYXNlX2luZm9fZGF0YV90IHRpbWViYXNlOworICAgIHVpbnQ2NF90IHRpbWU7CisKKyAgICBpZiAodGltZWJhc2UuZGVub20gPT0gMCkgeworICAgICAgICAvKiBBY2NvcmRpbmcgdG8gdGhlIFRlY2huaWNhbCBRJkEgUUExMzk4LCBtYWNoX3RpbWViYXNlX2luZm8oKSBjYW5ub3QKKyAgICAgICAgICAgZmFpbDogaHR0cHM6Ly9kZXZlbG9wZXIuYXBwbGUuY29tL2xpYnJhcnkvbWFjLyNxYS9xYTEzOTgvICovCisgICAgICAgICh2b2lkKW1hY2hfdGltZWJhc2VfaW5mbygmdGltZWJhc2UpOworICAgIH0KKworICAgIHRpbWUgPSBtYWNoX2Fic29sdXRlX3RpbWUoKTsKKworICAgIC8qIG5hbm9zZWNvbmRzID0+IG1pY3Jvc2Vjb25kcyAqLworICAgIHRpbWUgLz0gMTAwMDsKKyAgICAvKiBhcHBseSB0aW1lYmFzZSBmYWN0b3IgKi8KKyAgICB0aW1lICo9IHRpbWViYXNlLm51bWVyOworICAgIHRpbWUgLz0gdGltZWJhc2UuZGVub207CisgICAgdHAtPnR2X3NlYyA9IHRpbWUgLyAoMTAwMCAqIDEwMDApOworICAgIHRwLT50dl91c2VjID0gdGltZSAlICgxMDAwICogMTAwMCk7CisKKyAgICBpZiAoaW5mbykgeworICAgICAgICBpbmZvLT5pbXBsZW1lbnRhdGlvbiA9ICJtYWNoX2Fic29sdXRlX3RpbWUoKSI7CisgICAgICAgIGluZm8tPnJlc29sdXRpb24gPSAoZG91YmxlKXRpbWViYXNlLm51bWVyIC8gdGltZWJhc2UuZGVub20gKiAxZS05OworICAgICAgICBpbmZvLT5tb25vdG9uaWMgPSAxOworICAgICAgICBpbmZvLT5hZGp1c3RhYmxlID0gMDsKKyAgICB9CisKKyNlbHNlCisgICAgc3RydWN0IHRpbWVzcGVjIHRzOworI2lmZGVmIENMT0NLX0hJR0hSRVMKKyAgICBjb25zdCBjbG9ja2lkX3QgY2xrX2lkID0gQ0xPQ0tfSElHSFJFUzsKKyAgICBjb25zdCBjaGFyICppbXBsZW1lbnRhdGlvbiA9ICJjbG9ja19nZXR0aW1lKENMT0NLX0hJR0hSRVMpIjsKKyNlbHNlCisgICAgY29uc3QgY2xvY2tpZF90IGNsa19pZCA9IENMT0NLX01PTk9UT05JQzsKKyAgICBjb25zdCBjaGFyICppbXBsZW1lbnRhdGlvbiA9ICJjbG9ja19nZXR0aW1lKENMT0NLX01PTk9UT05JQykiOworI2VuZGlmCisKKyAgICBhc3NlcnQoaW5mbyA9PSBOVUxMIHx8IHJhaXNlKTsKKworICAgIGlmIChjbG9ja19nZXR0aW1lKGNsa19pZCwgJnRzKSAhPSAwKSB7CisgICAgICAgIGlmIChyYWlzZSkgeworICAgICAgICAgICAgUHlFcnJfU2V0RnJvbUVycm5vKFB5RXhjX09TRXJyb3IpOworICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICB9CisgICAgICAgIHRwLT50dl9zZWMgPSAwOworICAgICAgICB0cC0+dHZfdXNlYyA9IDA7CisgICAgICAgIHJldHVybiAtMTsKKyAgICB9CisKKyAgICBpZiAoaW5mbykgeworICAgICAgICBzdHJ1Y3QgdGltZXNwZWMgcmVzOworICAgICAgICBpbmZvLT5tb25vdG9uaWMgPSAxOworICAgICAgICBpbmZvLT5pbXBsZW1lbnRhdGlvbiA9IGltcGxlbWVudGF0aW9uOworICAgICAgICBpbmZvLT5hZGp1c3RhYmxlID0gMDsKKyAgICAgICAgaWYgKGNsb2NrX2dldHJlcyhjbGtfaWQsICZyZXMpICE9IDApIHsKKyAgICAgICAgICAgIFB5RXJyX1NldEZyb21FcnJubyhQeUV4Y19PU0Vycm9yKTsKKyAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgfQorICAgICAgICBpbmZvLT5yZXNvbHV0aW9uID0gcmVzLnR2X3NlYyArIHJlcy50dl9uc2VjICogMWUtOTsKKyAgICB9CisgICAgdHAtPnR2X3NlYyA9IHRzLnR2X3NlYzsKKyAgICB0cC0+dHZfdXNlYyA9IHRzLnR2X25zZWMgLyAxMDAwOworI2VuZGlmCisgICAgYXNzZXJ0KDAgPD0gdHAtPnR2X3VzZWMgJiYgdHAtPnR2X3VzZWMgPCAxMDAwICogMTAwMCk7CisjaWZkZWYgUHlfREVCVUcKKyAgICAvKiBtb25vdG9uaWMgY2xvY2sgY2Fubm90IGdvIGJhY2t3YXJkICovCisgICAgYXNzZXJ0KGxhc3QudHZfdXNlYyA9PSAtMQorICAgICAgICAgICB8fCB0cC0+dHZfc2VjID4gbGFzdC50dl9zZWMKKyAgICAgICAgICAgfHwgKHRwLT50dl9zZWMgPT0gbGFzdC50dl9zZWMgJiYgdHAtPnR2X3VzZWMgPj0gbGFzdC50dl91c2VjKSk7CisgICAgbGFzdCA9ICp0cDsKKyNlbmRpZgorICAgIHJldHVybiAwOwogfQogCiB2b2lkCi1fUHlUaW1lX2dldHRpbWVvZmRheV9pbmZvKF9QeVRpbWVfdGltZXZhbCAqdHAsIF9QeV9jbG9ja19pbmZvX3QgKmluZm8pCitfUHlUaW1lX21vbm90b25pYyhfUHlUaW1lX3RpbWV2YWwgKnRwKQogewotICAgIHB5Z2V0dGltZW9mZGF5KHRwLCBpbmZvKTsKKyAgICBpZiAocHltb25vdG9uaWModHAsIE5VTEwsIDApIDwgMCkgeworICAgICAgICAvKiBjYW5ub3QgaGFwcGVuLCBfUHlUaW1lX0luaXQoKSBjaGVja3MgdGhhdCBweW1vbm90b25pYygpIHdvcmtzICovCisgICAgICAgIGFzc2VydCgwKTsKKyAgICAgICAgdHAtPnR2X3NlYyA9IDA7CisgICAgICAgIHRwLT50dl91c2VjID0gMDsKKyAgICB9Cit9CisKK2ludAorX1B5VGltZV9tb25vdG9uaWNfaW5mbyhfUHlUaW1lX3RpbWV2YWwgKnRwLCBfUHlfY2xvY2tfaW5mb190ICppbmZvKQoreworICAgIHJldHVybiBweW1vbm90b25pYyh0cCwgaW5mbywgMSk7CiB9CiAKIHN0YXRpYyB2b2lkCkBAIC0yNDUsOCArMzY3LDE3IEBACiAgICAgcmV0dXJuIF9QeVRpbWVfT2JqZWN0VG9EZW5vbWluYXRvcihvYmosIHNlYywgdXNlYywgMWU2LCByb3VuZCk7CiB9CiAKLXZvaWQKLV9QeVRpbWVfSW5pdCgpCitpbnQKK19QeVRpbWVfSW5pdCh2b2lkKQogewotICAgIC8qIERvIG5vdGhpbmcuICBOZWVkZWQgdG8gZm9yY2UgbGlua2luZy4gKi8KKyAgICBfUHlUaW1lX3RpbWV2YWwgdHY7CisKKyAgICAvKiBlbnN1cmUgdGhhdCB0aGUgc3lzdGVtIGNsb2NrIHdvcmtzICovCisgICAgaWYgKF9QeVRpbWVfZ2V0dGltZW9mZGF5X2luZm8oJnR2LCBOVUxMKSA8IDApCisgICAgICAgIHJldHVybiAtMTsKKworICAgIC8qIGVuc3VyZSB0aGF0IHRoZSBvcGVyYXRpbmcgc3lzdGVtIHByb3ZpZGVzIGEgbW9ub3RvbmljIGNsb2NrICovCisgICAgaWYgKF9QeVRpbWVfbW9ub3RvbmljX2luZm8oJnR2LCBOVUxMKSA8IDApCisgICAgICAgIHJldHVybiAtMTsKKyAgICByZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL1B5dGhvbi9yYW5kb20uYyBiL1B5dGhvbi9yYW5kb20uYwppbmRleCA5M2QzMDBkLi4wMzFkODg3IDEwMDY0NAotLS0gYS9QeXRob24vcmFuZG9tLmMKKysrIGIvUHl0aG9uL3JhbmRvbS5jCkBAIC0xMzksMTQgKzEzOSwxNCBAQAogewogICAgIGludCBmZDsKICAgICBQeV9zc2l6ZV90IG47Ci0gICAgc3RydWN0IHN0YXQgc3Q7CisgICAgc3RydWN0IF9QeV9zdGF0X3N0cnVjdCBzdDsKIAogICAgIGlmIChzaXplIDw9IDApCiAgICAgICAgIHJldHVybiAwOwogCiAgICAgaWYgKHVyYW5kb21fY2FjaGUuZmQgPj0gMCkgewogICAgICAgICAvKiBEb2VzIHRoZSBmZCBwb2ludCB0byB0aGUgc2FtZSB0aGluZyBhcyBiZWZvcmU/IChpc3N1ZSAjMjEyMDcpICovCi0gICAgICAgIGlmIChmc3RhdCh1cmFuZG9tX2NhY2hlLmZkLCAmc3QpCisgICAgICAgIGlmIChfUHlfZnN0YXQodXJhbmRvbV9jYWNoZS5mZCwgJnN0KQogICAgICAgICAgICAgfHwgc3Quc3RfZGV2ICE9IHVyYW5kb21fY2FjaGUuc3RfZGV2CiAgICAgICAgICAgICB8fCBzdC5zdF9pbm8gIT0gdXJhbmRvbV9jYWNoZS5zdF9pbm8pIHsKICAgICAgICAgICAgIC8qIFNvbWV0aGluZyBjaGFuZ2VkOiBmb3JnZXQgdGhlIGNhY2hlZCBmZCAoYnV0IGRvbid0IGNsb3NlIGl0LApAQCAtMTc4LDcgKzE3OCw3IEBACiAgICAgICAgICAgICBmZCA9IHVyYW5kb21fY2FjaGUuZmQ7CiAgICAgICAgIH0KICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICBpZiAoZnN0YXQoZmQsICZzdCkpIHsKKyAgICAgICAgICAgIGlmIChfUHlfZnN0YXQoZmQsICZzdCkpIHsKICAgICAgICAgICAgICAgICBQeUVycl9TZXRGcm9tRXJybm8oUHlFeGNfT1NFcnJvcik7CiAgICAgICAgICAgICAgICAgY2xvc2UoZmQpOwogICAgICAgICAgICAgICAgIHJldHVybiAtMTsKZGlmZiAtLWdpdCBhL1B5dGhvbi9zeXNtb2R1bGUuYyBiL1B5dGhvbi9zeXNtb2R1bGUuYwppbmRleCAyOTBlZWMxLi40NzEzODljIDEwMDY0NAotLS0gYS9QeXRob24vc3lzbW9kdWxlLmMKKysrIGIvUHl0aG9uL3N5c21vZHVsZS5jCkBAIC03NzIsNiArNzcyLDEyIEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWEgaW5kZXhpbmcsIHRoZSByZXN0IGFyZSBuYW1lIG9ubHkgKi8KIH07CiAKKy8qIERpc2FibGUgZGVwcmVjYXRpb24gd2FybmluZ3MgYWJvdXQgR2V0VmVyc2lvbkV4IGFzIHRoZSByZXN1bHQgaXMKKyAgIGJlaW5nIHBhc3NlZCBzdHJhaWdodCB0aHJvdWdoIHRvIHRoZSBjYWxsZXIsIHdobyBpcyByZXNwb25zaWJsZSBmb3IKKyAgIHVzaW5nIGl0IGNvcnJlY3RseS4gKi8KKyNwcmFnbWEgd2FybmluZyhwdXNoKQorI3ByYWdtYSB3YXJuaW5nKGRpc2FibGU6NDk5NikKKwogc3RhdGljIFB5T2JqZWN0ICoKIHN5c19nZXR3aW5kb3dzdmVyc2lvbihQeU9iamVjdCAqc2VsZikKIHsKQEAgLTgwMyw2ICs4MDksOCBAQAogICAgIHJldHVybiB2ZXJzaW9uOwogfQogCisjcHJhZ21hIHdhcm5pbmcocG9wKQorCiAjZW5kaWYgLyogTVNfV0lORE9XUyAqLwogCiAjaWZkZWYgSEFWRV9ETE9QRU4KQEAgLTExMjEsNiArMTEyOSwxNiBAQAogIl9jbGVhcl90eXBlX2NhY2hlKCkgLT4gTm9uZVxuXAogQ2xlYXIgdGhlIGludGVybmFsIHR5cGUgbG9va3VwIGNhY2hlLiIpOwogCitzdGF0aWMgUHlPYmplY3QgKgorc3lzX2lzX2ZpbmFsaXppbmcoUHlPYmplY3QqIHNlbGYsIFB5T2JqZWN0KiBhcmdzKQoreworICAgIHJldHVybiBQeUJvb2xfRnJvbUxvbmcoX1B5X0ZpbmFsaXppbmcgIT0gTlVMTCk7Cit9CisKK1B5RG9jX1NUUlZBUihpc19maW5hbGl6aW5nX2RvYywKKyJpc19maW5hbGl6aW5nKClcblwKK1JldHVybiBUcnVlIGlmIFB5dGhvbiBpcyBleGl0aW5nLiIpOworCiAKIHN0YXRpYyBQeU1ldGhvZERlZiBzeXNfbWV0aG9kc1tdID0gewogICAgIC8qIE1pZ2h0IGFzIHdlbGwga2VlcCB0aGlzIGluIGFscGhhYmV0aWMgb3JkZXIgKi8KQEAgLTExNjcsNiArMTE4NSw3IEBACiAgICAgIGdldHdpbmRvd3N2ZXJzaW9uX2RvY30sCiAjZW5kaWYgLyogTVNfV0lORE9XUyAqLwogICAgIHsiaW50ZXJuIiwgICAgICAgICAgc3lzX2ludGVybiwgICAgIE1FVEhfVkFSQVJHUywgaW50ZXJuX2RvY30sCisgICAgeyJpc19maW5hbGl6aW5nIiwgICBzeXNfaXNfZmluYWxpemluZywgTUVUSF9OT0FSR1MsIGlzX2ZpbmFsaXppbmdfZG9jfSwKICNpZmRlZiBVU0VfTUFMTE9QVAogICAgIHsibWRlYnVnIiwgICAgICAgICAgc3lzX21kZWJ1ZywgTUVUSF9WQVJBUkdTfSwKICNlbmRpZgpAQCAtMTY3MCw4ICsxNjg5LDggQEAKICAgICB0aGUgc2hlbGwgYWxyZWFkeSBwcmV2ZW50cyB0aGF0LiAqLwogI2lmICFkZWZpbmVkKE1TX1dJTkRPV1MpCiAgICAgewotICAgICAgICBzdHJ1Y3Qgc3RhdCBzYjsKLSAgICAgICAgaWYgKGZzdGF0KGZpbGVubyhzdGRpbiksICZzYikgPT0gMCAmJgorICAgICAgICBzdHJ1Y3QgX1B5X3N0YXRfc3RydWN0IHNiOworICAgICAgICBpZiAoX1B5X2ZzdGF0KGZpbGVubyhzdGRpbiksICZzYikgPT0gMCAmJgogICAgICAgICAgICAgU19JU0RJUihzYi5zdF9tb2RlKSkgewogICAgICAgICAgICAgLyogVGhlcmUncyBub3RoaW5nIG1vcmUgd2UgY2FuIGRvLiAqLwogICAgICAgICAgICAgLyogUHlfRmF0YWxFcnJvcigpIHdpbGwgY29yZSBkdW1wLCBzbyBqdXN0IGV4aXQuICovCkBAIC0xNjgxLDcgKzE3MDAsNyBAQAogICAgIH0KICNlbmRpZgogCi0gICAgLyogc3RkaW4vc3Rkb3V0L3N0ZGVyciBhcmUgbm93IHNldCBieSBweXRob25ydW4uYyAqLworICAgIC8qIHN0ZGluL3N0ZG91dC9zdGRlcnIgYXJlIHNldCBpbiBweWxpZmVjeWNsZS5jICovCiAKICAgICBTRVRfU1lTX0ZST01fU1RSSU5HX0JPUlJPVygiX19kaXNwbGF5aG9va19fIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeURpY3RfR2V0SXRlbVN0cmluZyhzeXNkaWN0LCAiZGlzcGxheWhvb2siKSk7CmRpZmYgLS1naXQgYS9QeXRob24vdGhyZWFkLmMgYi9QeXRob24vdGhyZWFkLmMKaW5kZXggNGU2OTVhZS4uNDRjMDcxZSAxMDA2NDQKLS0tIGEvUHl0aG9uL3RocmVhZC5jCisrKyBiL1B5dGhvbi90aHJlYWQuYwpAQCAtNDMxLDcgKzQzMSw3IEBACiAgICAgICYmIGRlZmluZWQoX0NTX0dOVV9MSUJQVEhSRUFEX1ZFUlNJT04pKQogICAgIHZhbHVlID0gTlVMTDsKICAgICBsZW4gPSBjb25mc3RyKF9DU19HTlVfTElCUFRIUkVBRF9WRVJTSU9OLCBidWZmZXIsIHNpemVvZihidWZmZXIpKTsKLSAgICBpZiAoMSA8IGxlbiAmJiBsZW4gPCBzaXplb2YoYnVmZmVyKSkgeworICAgIGlmICgxIDwgbGVuICYmIChzaXplX3QpbGVuIDwgc2l6ZW9mKGJ1ZmZlcikpIHsKICAgICAgICAgdmFsdWUgPSBQeVVuaWNvZGVfRGVjb2RlRlNEZWZhdWx0QW5kU2l6ZShidWZmZXIsIGxlbi0xKTsKICAgICAgICAgaWYgKHZhbHVlID09IE5VTEwpCiAgICAgICAgICAgICBQeUVycl9DbGVhcigpOwpkaWZmIC0tZ2l0IGEvUHl0aG9uL3RocmVhZF9mb29iYXIuaCBiL1B5dGhvbi90aHJlYWRfZm9vYmFyLmgKaW5kZXggZDJiNzhjNS4uZWE5NmY5YyAxMDA2NDQKLS0tIGEvUHl0aG9uL3RocmVhZF9mb29iYXIuaAorKysgYi9QeXRob24vdGhyZWFkX2Zvb2Jhci5oCkBAIC0xLDQgKzEsMyBAQAotCiAvKgogICogSW5pdGlhbGl6YXRpb24uCiAgKi8KQEAgLTYxLDEwICs2MCwxOCBAQAogaW50CiBQeVRocmVhZF9hY3F1aXJlX2xvY2soUHlUaHJlYWRfdHlwZV9sb2NrIGxvY2ssIGludCB3YWl0ZmxhZykKIHsKKyAgICByZXR1cm4gUHlUaHJlYWRfYWNxdWlyZV9sb2NrX3RpbWVkKGxvY2ssIHdhaXRmbGFnID8gLTEgOiAwLCAwKTsKK30KKworUHlMb2NrU3RhdHVzCitQeVRocmVhZF9hY3F1aXJlX2xvY2tfdGltZWQoUHlUaHJlYWRfdHlwZV9sb2NrIGxvY2ssIFBZX1RJTUVPVVRfVCBtaWNyb3NlY29uZHMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGludHJfZmxhZykKK3sKICAgICBpbnQgc3VjY2VzczsKIAotICAgIGRwcmludGYoKCJQeVRocmVhZF9hY3F1aXJlX2xvY2soJXAsICVkKSBjYWxsZWRcbiIsIGxvY2ssIHdhaXRmbGFnKSk7Ci0gICAgZHByaW50ZigoIlB5VGhyZWFkX2FjcXVpcmVfbG9jayglcCwgJWQpIC0+ICVkXG4iLCBsb2NrLCB3YWl0ZmxhZywgc3VjY2VzcykpOworICAgIGRwcmludGYoKCJQeVRocmVhZF9hY3F1aXJlX2xvY2tfdGltZWQoJXAsICVsbGQsICVkKSBjYWxsZWRcbiIsIGxvY2ssIG1pY3Jvc2Vjb25kcywgaW50cl9mbGFnKSk7CisgICAgZHByaW50ZigoIlB5VGhyZWFkX2FjcXVpcmVfbG9ja190aW1lZCglcCwgJWxsZCwgJWQpIC0+ICVkXG4iLAorCSAgICAgbG9jaywgbWljcm9zZWNvbmRzLCBpbnRyX2ZsYWcsIHN1Y2Nlc3MpKTsKICAgICByZXR1cm4gc3VjY2VzczsKIH0KIApAQCAtNzMsMyArODAsNTMgQEAKIHsKICAgICBkcHJpbnRmKCgiUHlUaHJlYWRfcmVsZWFzZV9sb2NrKCVwKSBjYWxsZWRcbiIsIGxvY2spKTsKIH0KKworLyogVGhlIGZvbGxvd2luZyBhcmUgb25seSBuZWVkZWQgaWYgbmF0aXZlIFRMUyBzdXBwb3J0IGV4aXN0cyAqLworI2RlZmluZSBQeV9IQVZFX05BVElWRV9UTFMKKworI2lmZGVmIFB5X0hBVkVfTkFUSVZFX1RMUworaW50CitQeVRocmVhZF9jcmVhdGVfa2V5KHZvaWQpCit7CisgICAgaW50IHJlc3VsdDsKKyAgICByZXR1cm4gcmVzdWx0OworfQorCit2b2lkCitQeVRocmVhZF9kZWxldGVfa2V5KGludCBrZXkpCit7CisKK30KKworaW50CitQeVRocmVhZF9zZXRfa2V5X3ZhbHVlKGludCBrZXksIHZvaWQgKnZhbHVlKQoreworICAgIGludCBvazsKKworICAgIC8qIEEgZmFpbHVyZSBpbiB0aGlzIGNhc2UgcmV0dXJucyAtMSAqLworICAgIGlmICghb2spCisgICAgICAgIHJldHVybiAtMTsKKyAgICByZXR1cm4gMDsKK30KKwordm9pZCAqCitQeVRocmVhZF9nZXRfa2V5X3ZhbHVlKGludCBrZXkpCit7CisgICAgdm9pZCAqcmVzdWx0OworCisgICAgcmV0dXJuIHJlc3VsdDsKK30KKwordm9pZAorUHlUaHJlYWRfZGVsZXRlX2tleV92YWx1ZShpbnQga2V5KQoreworCit9CisKK3ZvaWQKK1B5VGhyZWFkX1JlSW5pdFRMUyh2b2lkKQoreworCit9CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvUHl0aG9uL3RocmVhZF9wdGhyZWFkLmggYi9QeXRob24vdGhyZWFkX3B0aHJlYWQuaAppbmRleCBkOWY3Yzc2Li4yN2UwZGM4IDEwMDY0NAotLS0gYS9QeXRob24vdGhyZWFkX3B0aHJlYWQuaAorKysgYi9QeXRob24vdGhyZWFkX3B0aHJlYWQuaApAQCAtNjA4LDcgKzYwOCwxNSBAQAogewogICAgIHB0aHJlYWRfa2V5X3Qga2V5OwogICAgIGludCBmYWlsID0gcHRocmVhZF9rZXlfY3JlYXRlKCZrZXksIE5VTEwpOwotICAgIHJldHVybiBmYWlsID8gLTEgOiBrZXk7CisgICAgaWYgKGZhaWwpCisgICAgICAgIHJldHVybiAtMTsKKyAgICBpZiAoa2V5ID4gSU5UX01BWCkgeworICAgICAgICAvKiBJc3N1ZSAjMjIyMDY6IGhhbmRsZSBpbnRlZ2VyIG92ZXJmbG93ICovCisgICAgICAgIHB0aHJlYWRfa2V5X2RlbGV0ZShrZXkpOworICAgICAgICBlcnJubyA9IEVOT01FTTsKKyAgICAgICAgcmV0dXJuIC0xOworICAgIH0KKyAgICByZXR1cm4gKGludClrZXk7CiB9CiAKIHZvaWQKZGlmZiAtLWdpdCBhL1B5dGhvbi90cmFjZWJhY2suYyBiL1B5dGhvbi90cmFjZWJhY2suYwppbmRleCBjMmFiYTUyLi5lM2FkYzk2IDEwMDY0NAotLS0gYS9QeXRob24vdHJhY2ViYWNrLmMKKysrIGIvUHl0aG9uL3RyYWNlYmFjay5jCkBAIC0yMzEsNyArMjMxLDcgQEAKICAgICAgICAgfQogICAgICAgICBzdHJjcHkobmFtZWJ1ZiwgUHlCeXRlc19BU19TVFJJTkcocGF0aCkpOwogICAgICAgICBQeV9ERUNSRUYocGF0aCk7Ci0gICAgICAgIGlmIChzdHJsZW4obmFtZWJ1ZikgIT0gbGVuKQorICAgICAgICBpZiAoc3RybGVuKG5hbWVidWYpICE9IChzaXplX3QpbGVuKQogICAgICAgICAgICAgY29udGludWU7IC8qIHYgY29udGFpbnMgJ1wwJyAqLwogICAgICAgICBpZiAobGVuID4gMCAmJiBuYW1lYnVmW2xlbi0xXSAhPSBTRVApCiAgICAgICAgICAgICBuYW1lYnVmW2xlbisrXSA9IFNFUDsKQEAgLTU3NSwxNSArNTc1LDE2IEBACiAgICAgICAgICAgICBjaCA9IFB5VW5pY29kZV9SRUFEKGtpbmQsIGRhdGEsIGkpOwogICAgICAgICBlbHNlCiAgICAgICAgICAgICBjaCA9IHdzdHJbaV07Ci0gICAgICAgIGlmIChjaCA8IDEyOCkgeworICAgICAgICBpZiAoJyAnIDw9IGNoICYmIGNoIDw9IDEyNikgeworICAgICAgICAgICAgLyogcHJpbnRhYmxlIEFTQ0lJIGNoYXJhY3RlciAqLwogICAgICAgICAgICAgY2hhciBjID0gKGNoYXIpY2g7CiAgICAgICAgICAgICB3cml0ZShmZCwgJmMsIDEpOwogICAgICAgICB9Ci0gICAgICAgIGVsc2UgaWYgKGNoIDwgMHhmZikgeworICAgICAgICBlbHNlIGlmIChjaCA8PSAweGZmKSB7CiAgICAgICAgICAgICBQVVRTKGZkLCAiXFx4Iik7CiAgICAgICAgICAgICBkdW1wX2hleGFkZWNpbWFsKGZkLCBjaCwgMik7CiAgICAgICAgIH0KLSAgICAgICAgZWxzZSBpZiAoY2ggPCAweGZmZmYpIHsKKyAgICAgICAgZWxzZSBpZiAoY2ggPD0gMHhmZmZmKSB7CiAgICAgICAgICAgICBQVVRTKGZkLCAiXFx1Iik7CiAgICAgICAgICAgICBkdW1wX2hleGFkZWNpbWFsKGZkLCBjaCwgNCk7CiAgICAgICAgIH0KQEAgLTY3OCw3ICs2NzksNyBAQAogICAgICAgICBQVVRTKGZkLCAiQ3VycmVudCB0aHJlYWQgMHgiKTsKICAgICBlbHNlCiAgICAgICAgIFBVVFMoZmQsICJUaHJlYWQgMHgiKTsKLSAgICBkdW1wX2hleGFkZWNpbWFsKGZkLCAodW5zaWduZWQgbG9uZyl0c3RhdGUtPnRocmVhZF9pZCwgc2l6ZW9mKGxvbmcpKjIpOworICAgIGR1bXBfaGV4YWRlY2ltYWwoZmQsICh1bnNpZ25lZCBsb25nKXRzdGF0ZS0+dGhyZWFkX2lkLCBzaXplb2YodW5zaWduZWQgbG9uZykqMik7CiAgICAgUFVUUyhmZCwgIiAobW9zdCByZWNlbnQgY2FsbCBmaXJzdCk6XG4iKTsKIH0KIApkaWZmIC0tZ2l0IGEvUkVBRE1FIGIvUkVBRE1FCmluZGV4IDI3NzUxNTEuLmMzZTQxYTMgMTAwNjQ0Ci0tLSBhL1JFQURNRQorKysgYi9SRUFETUUKQEAgLTEsNSArMSw1IEBACi1UaGlzIGlzIFB5dGhvbiB2ZXJzaW9uIDMuNC4zCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09CitUaGlzIGlzIFB5dGhvbiB2ZXJzaW9uIDMuNS4wIGFscGhhIDEKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogCiBDb3B5cmlnaHQgKGMpIDIwMDEsIDIwMDIsIDIwMDMsIDIwMDQsIDIwMDUsIDIwMDYsIDIwMDcsIDIwMDgsIDIwMDksIDIwMTAsIDIwMTEsCiAyMDEyLCAyMDEzLCAyMDE0LCAyMDE1IFB5dGhvbiBTb2Z0d2FyZSBGb3VuZGF0aW9uLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KQEAgLTUyLDkgKzUyLDkgQEAKIC0tLS0tLS0tLS0KIAogV2UgdHJ5IHRvIGhhdmUgYSBjb21wcmVoZW5zaXZlIG92ZXJ2aWV3IG9mIHRoZSBjaGFuZ2VzIGluIHRoZSAiV2hhdCdzIE5ldyBpbgotUHl0aG9uIDMuNCIgZG9jdW1lbnQsIGZvdW5kIGF0CitQeXRob24gMy41IiBkb2N1bWVudCwgZm91bmQgYXQKIAotICAgIGh0dHA6Ly9kb2NzLnB5dGhvbi5vcmcvMy40L3doYXRzbmV3LzMuNC5odG1sCisgICAgaHR0cDovL2RvY3MucHl0aG9uLm9yZy8zLjUvd2hhdHNuZXcvMy41Lmh0bWwKIAogRm9yIGEgbW9yZSBkZXRhaWxlZCBjaGFuZ2UgbG9nLCByZWFkIE1pc2MvTkVXUyAodGhvdWdoIHRoaXMgZmlsZSwgdG9vLCBpcwogaW5jb21wbGV0ZSwgYW5kIGFsc28gZG9lc24ndCBsaXN0IGFueXRoaW5nIG1lcmdlZCBpbiBmcm9tIHRoZSAyLjcgcmVsZWFzZSB1bmRlcgpAQCAtNjcsOSArNjcsOSBAQAogRG9jdW1lbnRhdGlvbgogLS0tLS0tLS0tLS0tLQogCi1Eb2N1bWVudGF0aW9uIGZvciBQeXRob24gMy40IGlzIG9ubGluZSwgdXBkYXRlZCBkYWlseToKK0RvY3VtZW50YXRpb24gZm9yIFB5dGhvbiAzLjUgaXMgb25saW5lLCB1cGRhdGVkIGRhaWx5OgogCi0gICAgaHR0cDovL2RvY3MucHl0aG9uLm9yZy8zLjQvCisgICAgaHR0cDovL2RvY3MucHl0aG9uLm9yZy8zLjUvCiAKIEl0IGNhbiBhbHNvIGJlIGRvd25sb2FkZWQgaW4gbWFueSBmb3JtYXRzIGZvciBmYXN0ZXIgYWNjZXNzLiAgVGhlIGRvY3VtZW50YXRpb24KIGlzIGRvd25sb2FkYWJsZSBpbiBIVE1MLCBQREYsIGFuZCByZVN0cnVjdHVyZWRUZXh0IGZvcm1hdHM7IHRoZSBsYXR0ZXIgdmVyc2lvbgpAQCAtOTQsNyArOTQsNyBAQAogQSBzb3VyY2UtdG8tc291cmNlIHRyYW5zbGF0aW9uIHRvb2wsICIydG8zIiwgY2FuIHRha2UgY2FyZSBvZiB0aGUgbXVuZGFuZSB0YXNrCiBvZiBjb252ZXJ0aW5nIGxhcmdlIGFtb3VudHMgb2Ygc291cmNlIGNvZGUuICBJdCBpcyBub3QgYSBjb21wbGV0ZSBzb2x1dGlvbiBidXQKIGlzIGNvbXBsZW1lbnRlZCBieSB0aGUgZGVwcmVjYXRpb24gd2FybmluZ3MgaW4gMi42LiAgU2VlCi1odHRwOi8vZG9jcy5weXRob24ub3JnLzMuNC9saWJyYXJ5LzJ0bzMuaHRtbCBmb3IgbW9yZSBpbmZvcm1hdGlvbi4KK2h0dHA6Ly9kb2NzLnB5dGhvbi5vcmcvMy41L2xpYnJhcnkvMnRvMy5odG1sIGZvciBtb3JlIGluZm9ybWF0aW9uLgogCiAKIFRlc3RpbmcKQEAgLTEzMiw3ICsxMzIsNyBAQAogSW5zdGFsbCB0aGF0IHZlcnNpb24gdXNpbmcgIm1ha2UgaW5zdGFsbCIuICBJbnN0YWxsIGFsbCBvdGhlciB2ZXJzaW9ucyB1c2luZwogIm1ha2UgYWx0aW5zdGFsbCIuCiAKLUZvciBleGFtcGxlLCBpZiB5b3Ugd2FudCB0byBpbnN0YWxsIFB5dGhvbiAyLjYsIDIuNyBhbmQgMy40IHdpdGggMi43IGJlaW5nIHRoZQorRm9yIGV4YW1wbGUsIGlmIHlvdSB3YW50IHRvIGluc3RhbGwgUHl0aG9uIDIuNiwgMi43IGFuZCAzLjUgd2l0aCAyLjcgYmVpbmcgdGhlCiBwcmltYXJ5IHZlcnNpb24sIHlvdSB3b3VsZCBleGVjdXRlICJtYWtlIGluc3RhbGwiIGluIHlvdXIgMi43IGJ1aWxkIGRpcmVjdG9yeQogYW5kICJtYWtlIGFsdGluc3RhbGwiIGluIHRoZSBvdGhlcnMuCiAKQEAgLTE2OCw3ICsxNjgsNyBAQAogUmVsZWFzZSBTY2hlZHVsZQogLS0tLS0tLS0tLS0tLS0tLQogCi1TZWUgUEVQIDQyOSBmb3IgcmVsZWFzZSBkZXRhaWxzOiBodHRwOi8vd3d3LnB5dGhvbi5vcmcvZGV2L3BlcHMvcGVwLTA0MjkvCitTZWUgUEVQIDQ3OCBmb3IgcmVsZWFzZSBkZXRhaWxzOiBodHRwOi8vd3d3LnB5dGhvbi5vcmcvZGV2L3BlcHMvcGVwLTA0NzgvCiAKIAogQ29weXJpZ2h0IGFuZCBMaWNlbnNlIEluZm9ybWF0aW9uCmRpZmYgLS1naXQgYS9Ub29scy9idWlsZGJvdC9SRUFETUUudGNsdGstQU1ENjQgYi9Ub29scy9idWlsZGJvdC9SRUFETUUudGNsdGstQU1ENjQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVkYzg5ZWIuLjAwMDAwMDAKLS0tIGEvVG9vbHMvYnVpbGRib3QvUkVBRE1FLnRjbHRrLUFNRDY0CisrKyAvZGV2L251bGwKQEAgLTEsMzYgKzAsMCBAQAotQ29tbWVudHMgb24gYnVpbGRpbmcgdGNsL3RrIGZvciBBTUQ2NCB3aXRoIHRoZSBNUyBTREsgY29tcGlsZXIKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0KLUkgZGlkIGhhdmUgdG8gYnVpbGQgdGNsL3RrIG1hbnVhbGx5LgotCi1GaXJzdCwgSSBoYWQgdG8gYnVpbGQgdGhlIG5tYWtlaGxwLmV4ZSBoZWxwZXIgdXRpbGl0eSBtYW51YWxseSBieSBleGVjdXRpbmcKLSAgIGNsIG5tYWtlaGxwLmMgL2xpbmsgYnVmZmVyb3ZlcmZsb3dVLmxpYgotaW4gYm90aCB0aGUgdGNsOC40LjEyXHdpbiBhbmQgdGs4LjQuMTJcd2luIGRpcmVjdG9yaWVzLgotCi1TZWNvbmQsIHRoZSBBTUQ2NCBjb21waWxlciByZWZ1c2VzIHRvIGNvbXBpbGUgdGhlIGZpbGUKLXRjbDguNC4xMlxnZW5lcmljXHRjbEV4ZWN1dGUuYyBiZWNhdXNlIGl0IGluc2lzdHMgb24gdXNpbmcgaW50cmluc2ljcwotZm9yIHRoZSAnY2VpbCcgYW5kICdmbG9vcicgZnVuY3Rpb25zOgotCi0gIC4uXGdlbmVyaWNcdGNsRXhlY3V0ZS5jKDM5NCkgOiBlcnJvciBDMjA5OTogaW5pdGlhbGl6ZXIgaXMgbm90IGEgY29uc3RhbnQKLSAgLi5cZ2VuZXJpY1x0Y2xFeGVjdXRlLmMoMzk4KSA6IGVycm9yIEMyMDk5OiBpbml0aWFsaXplciBpcyBub3QgYSBjb25zdGFudAotCi1JIGRpZCBjb21tZW50IG91dCB0aGVzZSBsaW5lczsgYW4gYWx0ZXJuYXRpdmUgd291bGQgaGF2ZSBiZWVuIHRvIHVzZQotdGhlIC9PaS0gY29tcGlsZXIgZmxhZyB0byBkaXNhYmxlIHRoZSBpbnRyaW5zaWMgZnVuY3Rpb25zLgotVGhlIGNvbW1hbmRzIHRoZW4gdXNlZCB3ZXJlIHRoZXNlOgotCi0gICBzdm4gZXhwb3J0IGh0dHA6Ly9zdm4ucHl0aG9uLm9yZy9wcm9qZWN0cy9leHRlcm5hbC90Y2w4LjQuMTIKLSAgIGNkIHRjbDguNC4xMlx3aW4KLSAgIFJFTQotICAgZWNobyBwYXRjaCB0aGUgdGNsOC40LjEyXGdlbmVyaWNcdGNsRXhlY3V0ZS5jIGZpbGUKLSAgIHBhdXNlIAotICAgUkVNCi0gICBjbCBubWFrZWhscC5jIC9saW5rIGJ1ZmZlcm92ZXJmbG93VS5saWIKLSAgIG5tYWtlIC1mIG1ha2VmaWxlLnZjIE1BQ0hJTkU9QU1ENjQKLSAgIG5tYWtlIC1mIG1ha2VmaWxlLnZjIElOU1RBTExESVI9Li5cLi5cdGNsdGsgaW5zdGFsbAotICAgY2QgLi5cLi4KLSAgIHN2biBleHBvcnQgaHR0cDovL3N2bi5weXRob24ub3JnL3Byb2plY3RzL2V4dGVybmFsL3RrOC40LjEyCi0gICBjZCB0azguNC4xMlx3aW4KLSAgIGNsIG5tYWtlaGxwLmMgL2xpbmsgYnVmZmVyb3ZlcmZsb3dVLmxpYgotICAgbm1ha2UgLWYgbWFrZWZpbGUudmMgVENMRElSPS4uXC4uXHRjbDguNC4xMiBNQUNISU5FPUFNRDY0Ci0gICBubWFrZSAtZiBtYWtlZmlsZS52YyBUQ0xESVI9Li5cLi5cdGNsOC40LjEyIElOU1RBTExESVI9Li5cLi5cdGNsdGsgaW5zdGFsbAotICAgY2QgLi5cLi4KZGlmZiAtLWdpdCBhL1Rvb2xzL2J1aWxkYm90L2J1aWxkLWFtZDY0LmJhdCBiL1Rvb2xzL2J1aWxkYm90L2J1aWxkLWFtZDY0LmJhdAppbmRleCA0OTNlNzRkLi4xMTVlMTExIDEwMDY0NAotLS0gYS9Ub29scy9idWlsZGJvdC9idWlsZC1hbWQ2NC5iYXQKKysrIGIvVG9vbHMvYnVpbGRib3QvYnVpbGQtYW1kNjQuYmF0CkBAIC0xLDYgKzEsMiBAQAogQHJlbSBVc2VkIGJ5IHRoZSBidWlsZGJvdCAiY29tcGlsZSIgc3RlcC4KLWNtZCAvYyBUb29sc1xidWlsZGJvdFxleHRlcm5hbC1hbWQ2NC5iYXQKLWNhbGwgIiVWUzEwMENPTU5UT09MUyVcLi5cLi5cVkNcdmN2YXJzYWxsLmJhdCIgeDg2X2FtZDY0Ci1jbWQgL2MgVG9vbHNcYnVpbGRib3RcY2xlYW4tYW1kNjQuYmF0Ci0KLW1zYnVpbGQgUENidWlsZFxwY2J1aWxkLnNsbiAvcDpDb25maWd1cmF0aW9uPURlYnVnIC9wOlBsYXRmb3JtPXg2NAorY2FsbCAiJX5kcDBidWlsZC5iYXQiIC1wIHg2NCAlKgpkaWZmIC0tZ2l0IGEvVG9vbHMvYnVpbGRib3QvYnVpbGQuYmF0IGIvVG9vbHMvYnVpbGRib3QvYnVpbGQuYmF0CmluZGV4IGJlNzliMTAuLjgzYTVkZmQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL2J1aWxkYm90L2J1aWxkLmJhdAorKysgYi9Ub29scy9idWlsZGJvdC9idWlsZC5iYXQKQEAgLTEsNyArMSwyMCBAQAogQHJlbSBVc2VkIGJ5IHRoZSBidWlsZGJvdCAiY29tcGlsZSIgc3RlcC4KLWNtZCAvYyBUb29sc1xidWlsZGJvdFxleHRlcm5hbC5iYXQKLWNhbGwgIiVWUzEwMENPTU5UT09MUyV2c3ZhcnMzMi5iYXQiCi1jbWQgL2MgVG9vbHNcYnVpbGRib3RcY2xlYW4uYmF0CiAKLW1zYnVpbGQgUENidWlsZFxwY2J1aWxkLnNsbiAvcDpDb25maWd1cmF0aW9uPURlYnVnIC9wOlBsYXRmb3JtPVdpbjMyCitAcmVtIENsZWFuIHVwCitzZXQgUExBVD0KK2lmICclMScgRVFVICctcCcgaWYgJyUyJyBFUVUgJ3g2NCcgKHNldCBQTEFUPS1hbWQ2NCkKIAorY2FsbCAiJX5kcDBjbGVhbiVQTEFUJS5iYXQiCisKK0ByZW0gSWYgeW91IG5lZWQgdGhlIGJ1aWxkYm90cyB0byBzdGFydCBmcmVzaCAoc3VjaCBhcyB3aGVuIHVwZ3JhZGluZyB0bworQHJlbSBhIG5ldyB2ZXJzaW9uIG9mIGFuIGV4dGVybmFsIGxpYnJhcnksIGVzcGVjaWFsbHkgVGNsL1RrKToKK0ByZW0gMSkgdW5jb21tZW50IHRoZSBmb2xsb3dpbmcgbGluZToKKworQHJlbSAgICBjYWxsICIlfmRwMC4uXC4uXFBDYnVpbGRcZ2V0X2V4dGVybmFscy5iYXQiIC0tY2xlYW4tb25seQorCitAcmVtIDIpIGNvbW1pdCBhbmQgcHVzaAorQHJlbSAzKSB3YWl0IGZvciBhbGwgV2luZG93cyBib3RzIHRvIHN0YXJ0IGEgYnVpbGQgd2l0aCB0aGF0IGNoYW5nZXNldAorQHJlbSA0KSByZS1jb21tZW50LCBjb21taXQgYW5kIHB1c2ggYWdhaW4KKworQHJlbSBEbyB0aGUgYnVpbGQKK2NhbGwgIiV+ZHAwLi5cLi5cUENidWlsZFxidWlsZC5iYXQiIC1lIC1kIC12ICUqCmRpZmYgLS1naXQgYS9Ub29scy9idWlsZGJvdC9idWlsZG1zaS5iYXQgYi9Ub29scy9idWlsZGJvdC9idWlsZG1zaS5iYXQKaW5kZXggYWU5M2U2Ny4uNjgwNGQ3OSAxMDA2NDQKLS0tIGEvVG9vbHMvYnVpbGRib3QvYnVpbGRtc2kuYmF0CisrKyBiL1Rvb2xzL2J1aWxkYm90L2J1aWxkbXNpLmJhdApAQCAtMSwyMSArMSw5IEBACiBAcmVtIFVzZWQgYnkgdGhlIGJ1aWxkYm90ICJidWlsZG1zaSIgc3RlcC4KK3NldGxvY2FsCiAKLWNtZCAvYyBUb29sc1xidWlsZGJvdFxleHRlcm5hbC5iYXQKLUByZW0gYnVpbGQgcmVsZWFzZSB2ZXJzaW9ucyBvZiB0aGluZ3MKLWNhbGwgIiVWUzEwMENPTU5UT09MUyV2c3ZhcnMzMi5iYXQiCitwdXNoZAogCi1AcmVtIGJ1aWxkIFB5dGhvbgotbXNidWlsZCAvcDp1c2VlbnY9dHJ1ZSBQQ2J1aWxkXHBjYnVpbGQuc2xuIC9wOkNvbmZpZ3VyYXRpb249UmVsZWFzZSAvcDpQbGF0Zm9ybT1XaW4zMgorQHJlbSBidWlsZCBib3RoIHNuYXBzaG90IE1TSXMKK2NhbGwgIiV+ZHAwLi5cbXNpXGJ1aWxkLmJhdCIgLXg4NiAteDY0CiAKLUByZW0gYnVpbGQgdGhlIGRvY3VtZW50YXRpb24KLWJhc2guZXhlIC1jICdjZCBEb2M7bWFrZSBQWVRIT049cHl0aG9uMi41IHVwZGF0ZSBodG1saGVscCcKLSIlUHJvZ3JhbUZpbGVzJVxIVE1MIEhlbHAgV29ya3Nob3BcaGhjLmV4ZSIgRG9jXGJ1aWxkXGh0bWxoZWxwXHB5dGhvbjI2YTMuaGhwCi0KLUByZW0gYnVpbGQgdGhlIE1TSSBmaWxlCi1jZCBQQwotbm1ha2UgL2YgaWNvbnMubWFrCi1jZCAuLlxUb29sc1xtc2kKLWRlbCAqLm1zaQotbm1ha2UgL2YgbXNpc3VwcG9ydC5tYWsKLSVIT1NUX1BZVEhPTiUgbXNpLnB5Ci0KK3BvcGQKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9Ub29scy9idWlsZGJvdC9jbGVhbi1hbWQ2NC5iYXQgYi9Ub29scy9idWlsZGJvdC9jbGVhbi1hbWQ2NC5iYXQKaW5kZXggMjQ2NjBhZi4uYjQ4ODJjMiAxMDA2NDQKLS0tIGEvVG9vbHMvYnVpbGRib3QvY2xlYW4tYW1kNjQuYmF0CisrKyBiL1Rvb2xzL2J1aWxkYm90L2NsZWFuLWFtZDY0LmJhdApAQCAtMSwxMCArMSwyIEBACiBAcmVtIFVzZWQgYnkgdGhlIGJ1aWxkYm90ICJjbGVhbiIgc3RlcC4KLWNhbGwgIiVWUzEwMENPTU5UT09MUyVcLi5cLi5cVkNcdmN2YXJzYWxsLmJhdCIgeDg2X2FtZDY0Ci1AZWNobyBEZWxldGluZyAucHljLy5weW8gZmlsZXMgLi4uCi1kZWwgL3MgTGliXCoucHljIExpYlwqLnB5bwotQGVjaG8gRGVsZXRpbmcgdGVzdCBsZWZ0b3ZlcnMgLi4uCi1ybWRpciAvcyAvcSBidWlsZAotY2QgUENidWlsZAotbXNidWlsZCAvdGFyZ2V0OmNsZWFuIHBjYnVpbGQuc2xuIC9wOkNvbmZpZ3VyYXRpb249UmVsZWFzZSAvcDpQbGF0Zm9ybVRhcmdldD14NjQKLW1zYnVpbGQgL3RhcmdldDpjbGVhbiBwY2J1aWxkLnNsbiAvcDpDb25maWd1cmF0aW9uPURlYnVnIC9wOlBsYXRmb3JtVGFyZ2V0PXg2NAotY2QgLi4KK0BjYWxsICIlfmRwMGNsZWFuLmJhdCIgeDY0CmRpZmYgLS1naXQgYS9Ub29scy9idWlsZGJvdC9jbGVhbi5iYXQgYi9Ub29scy9idWlsZGJvdC9jbGVhbi5iYXQKaW5kZXggMjE4ZmFjYy4uMDkzMjhiYyAxMDA2NDQKLS0tIGEvVG9vbHMvYnVpbGRib3QvY2xlYW4uYmF0CisrKyBiL1Rvb2xzL2J1aWxkYm90L2NsZWFuLmJhdApAQCAtMSw4ICsxLDI5IEBACi1AcmVtIFVzZWQgYnkgdGhlIGJ1aWxkYm90ICJjbGVhbiIgc3RlcC4KLWNhbGwgIiVWUzEwMENPTU5UT09MUyV2c3ZhcnMzMi5iYXQiCi1AZWNobyBEZWxldGluZyB0ZXN0IGxlZnRvdmVycyAuLi4KLXJtZGlyIC9zIC9xIGJ1aWxkCi1jZCBQQ2J1aWxkCi1tc2J1aWxkIC90YXJnZXQ6Y2xlYW4gcGNidWlsZC5zbG4gL3A6Q29uZmlndXJhdGlvbj1SZWxlYXNlIC9wOlBsYXRmb3JtVGFyZ2V0PXg4NgotbXNidWlsZCAvdGFyZ2V0OmNsZWFuIHBjYnVpbGQuc2xuIC9wOkNvbmZpZ3VyYXRpb249RGVidWcgL3A6UGxhdGZvcm1UYXJnZXQ9eDg2Ci1jZCAuLgorQGVjaG8gb2ZmCityZW0gVXNlZCBieSB0aGUgYnVpbGRib3QgImNsZWFuIiBzdGVwLgorCitzZXRsb2NhbAorc2V0IHJvb3Q9JX5kcDAuLlwuLgorc2V0IHBjYnVpbGQ9JXJvb3QlXFBDYnVpbGQKKworaWYgIiUxIiA9PSAieDY0IiAoCisgICAgc2V0IHZjdmFyc190YXJnZXQ9eDg2X2FtZDY0CisgICAgc2V0IHBsYXRmb3JtPXg2NAorKSBlbHNlICgKKyAgICBzZXQgdmN2YXJzX3RhcmdldD14ODYKKyAgICBzZXQgcGxhdGZvcm09V2luMzIKKykKKworY2FsbCAiJXBjYnVpbGQlXGVudi5iYXQiICV2Y3ZhcnNfdGFyZ2V0JQorCitlY2hvLkF0dGVtcHRpbmcgdG8ga2lsbCBQeXRob25zLi4uCittc2J1aWxkIC92Om0gL25vbG9nbyAvdGFyZ2V0OktpbGxQeXRob24gIiVwY2J1aWxkJVxweXRob25jb3JlLnZjeHByb2oiIC9wOkNvbmZpZ3VyYXRpb249UmVsZWFzZSAvcDpQbGF0Zm9ybT0lcGxhdGZvcm0lIC9wOktpbGxQeXRob249dHJ1ZQorCitlY2hvIERlbGV0aW5nIC5weWMvLnB5byBmaWxlcyAuLi4KK2RlbCAvcyAiJXJvb3QlXExpYlwqLnB5YyIgIiVyb290JVxMaWJcKi5weW8iCisKK2VjaG8gRGVsZXRpbmcgdGVzdCBsZWZ0b3ZlcnMgLi4uCitybWRpciAvcyAvcSAiJXJvb3QlXGJ1aWxkIgorCitlY2hvIERlbGV0aW5nIGJ1aWxkCittc2J1aWxkIC92Om0gL25vbG9nbyAvdGFyZ2V0OmNsZWFuICIlcGNidWlsZCVccGNidWlsZC5wcm9qIiAvcDpDb25maWd1cmF0aW9uPVJlbGVhc2UgL3A6UGxhdGZvcm09JXBsYXRmb3JtJQorbXNidWlsZCAvdjptIC9ub2xvZ28gL3RhcmdldDpjbGVhbiAiJXBjYnVpbGQlXHBjYnVpbGQucHJvaiIgL3A6Q29uZmlndXJhdGlvbj1EZWJ1ZyAvcDpQbGF0Zm9ybT0lcGxhdGZvcm0lCmRpZmYgLS1naXQgYS9Ub29scy9idWlsZGJvdC9leHRlcm5hbC1hbWQ2NC5iYXQgYi9Ub29scy9idWlsZGJvdC9leHRlcm5hbC1hbWQ2NC5iYXQKaW5kZXggYWNkNDU0ZS4uN2E1NzBkOSAxMDA2NDQKLS0tIGEvVG9vbHMvYnVpbGRib3QvZXh0ZXJuYWwtYW1kNjQuYmF0CisrKyBiL1Rvb2xzL2J1aWxkYm90L2V4dGVybmFsLWFtZDY0LmJhdApAQCAtMSwyOCArMSwyIEBACi1AcmVtIEZldGNoZXMgKGFuZCBidWlsZHMgaWYgbmVjZXNzYXJ5KSBleHRlcm5hbCBkZXBlbmRlbmNpZXMKLQotQHJlbSBBc3N1bWUgd2Ugc3RhcnQgaW5zaWRlIHRoZSBQeXRob24gc291cmNlIGRpcmVjdG9yeQotY2FsbCAiVG9vbHNcYnVpbGRib3RcZXh0ZXJuYWwtY29tbW9uLmJhdCIKLWNhbGwgIiVWUzEwMENPTU5UT09MUyVcLi5cLi5cVkNcdmN2YXJzYWxsLmJhdCIgeDg2X2FtZDY0Ci0KLWlmIG5vdCBleGlzdCB0Y2x0azY0XGJpblx0Y2w4NnRnLmRsbCAoCi0gICAgY2QgdGNsLTguNi4xLjBcd2luCi0gICAgbm1ha2UgLWYgbWFrZWZpbGUudmMgT1BUUz1zeW1ib2xzIE1BQ0hJTkU9QU1ENjQgSU5TVEFMTERJUj0uLlwuLlx0Y2x0azY0IGNsZWFuIGNvcmUgc2hlbGwgZGxscwotICAgIG5tYWtlIC1mIG1ha2VmaWxlLnZjIE9QVFM9c3ltYm9scyBNQUNISU5FPUFNRDY0IElOU1RBTExESVI9Li5cLi5cdGNsdGs2NCBpbnN0YWxsLWJpbmFyaWVzIGluc3RhbGwtbGlicmFyaWVzCi0gICAgY2QgLi5cLi4KLSkKLQotaWYgbm90IGV4aXN0IHRjbHRrNjRcYmluXHRrODZ0Zy5kbGwgKAotICAgIGNkIHRrLTguNi4xLjBcd2luCi0gICAgbm1ha2UgLWYgbWFrZWZpbGUudmMgT1BUUz1zeW1ib2xzIE1BQ0hJTkU9QU1ENjQgSU5TVEFMTERJUj0uLlwuLlx0Y2x0azY0IFRDTERJUj0uLlwuLlx0Y2wtOC42LjEuMCBjbGVhbgotICAgIG5tYWtlIC1mIG1ha2VmaWxlLnZjIE9QVFM9c3ltYm9scyBNQUNISU5FPUFNRDY0IElOU1RBTExESVI9Li5cLi5cdGNsdGs2NCBUQ0xESVI9Li5cLi5cdGNsLTguNi4xLjAgYWxsCi0gICAgbm1ha2UgLWYgbWFrZWZpbGUudmMgT1BUUz1zeW1ib2xzIE1BQ0hJTkU9QU1ENjQgSU5TVEFMTERJUj0uLlwuLlx0Y2x0azY0IFRDTERJUj0uLlwuLlx0Y2wtOC42LjEuMCBpbnN0YWxsLWJpbmFyaWVzIGluc3RhbGwtbGlicmFyaWVzCi0gICAgY2QgLi5cLi4KLSkKLQotaWYgbm90IGV4aXN0IHRjbHRrNjRcbGliXHRpeDguNC4zXHRpeDg0Zy5kbGwgKAotICAgIGNkIHRpeC04LjQuMy40XHdpbgotICAgIG5tYWtlIC1mIHB5dGhvbi5tYWsgREVCVUc9MSBNQUNISU5FPUFNRDY0IFRDTF9ESVI9Li5cLi5cdGNsLTguNi4xLjAgVEtfRElSPS4uXC4uXHRrLTguNi4xLjAgSU5TVEFMTF9ESVI9Li5cLi5cdGNsdGs2NCBjbGVhbgotICAgIG5tYWtlIC1mIHB5dGhvbi5tYWsgREVCVUc9MSBNQUNISU5FPUFNRDY0IFRDTF9ESVI9Li5cLi5cdGNsLTguNi4xLjAgVEtfRElSPS4uXC4uXHRrLTguNi4xLjAgSU5TVEFMTF9ESVI9Li5cLi5cdGNsdGs2NCBhbGwKLSAgICBubWFrZSAtZiBweXRob24ubWFrIERFQlVHPTEgTUFDSElORT1BTUQ2NCBUQ0xfRElSPS4uXC4uXHRjbC04LjYuMS4wIFRLX0RJUj0uLlwuLlx0ay04LjYuMS4wIElOU1RBTExfRElSPS4uXC4uXHRjbHRrNjQgaW5zdGFsbAotICAgIGNkIC4uXC4uCi0pCitAZWNobyBQbGVhc2UgdXNlIFBDYnVpbGRcZ2V0X2V4dGVybmFscy5iYXQgaW5zdGVhZC4KK0AiJX5kcDAuLlwuLlxQQ2J1aWxkXGdldF9leHRlcm5hbHMuYmF0IiAlKgpkaWZmIC0tZ2l0IGEvVG9vbHMvYnVpbGRib3QvZXh0ZXJuYWwtY29tbW9uLmJhdCBiL1Rvb2xzL2J1aWxkYm90L2V4dGVybmFsLWNvbW1vbi5iYXQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI0OWI0OTguLjAwMDAwMDAKLS0tIGEvVG9vbHMvYnVpbGRib3QvZXh0ZXJuYWwtY29tbW9uLmJhdAorKysgL2Rldi9udWxsCkBAIC0xLDU0ICswLDAgQEAKLUByZW0gQ29tbW9uIGZpbGUgc2hhcmVkIGJldHdlZW4gZXh0ZXJuYWwuYmF0IGFuZCBleHRlcm5hbC1hbWQ2NC5iYXQuICBSZXNwb25zaWJsZSBmb3IKLUByZW0gZmV0Y2hpbmcgZXh0ZXJuYWwgY29tcG9uZW50cyBpbnRvIHRoZSByb290XC4uIGJ1aWxkYm90IGRpcmVjdG9yaWVzLgotCi1pZiAiJVNWTlJPT1QlIj09IiIgc2V0IFNWTlJPT1Q9aHR0cDovL3N2bi5weXRob24ub3JnL3Byb2plY3RzL2V4dGVybmFsLwotCi1pZiBub3QgZXhpc3QgZXh0ZXJuYWxzIG1rZGlyIGV4dGVybmFscwotY2QgZXh0ZXJuYWxzCi1AcmVtIFhYWDogSWYgeW91IG5lZWQgdG8gZm9yY2UgdGhlIGJ1aWxkYm90cyB0byBzdGFydCBmcm9tIGEgZnJlc2ggZW52aXJvbm1lbnQsIHVuY29tbWVudAotQHJlbSB0aGUgZm9sbG93aW5nLCBjaGVjayBpdCBpbiwgdGhlbiBjaGVjayBpdCBvdXQsIGNvbW1lbnQgaXQgb3V0LCB0aGVuIGNoZWNrIGl0IGJhY2sgaW4uCi1AcmVtIGlmIGV4aXN0IGJ6aXAyLTEuMC42IHJkIC9zL3EgYnppcDItMS4wLjYKLUByZW0gaWYgZXhpc3QgdGNsdGsgcmQgL3MvcSB0Y2x0awotQHJlbSBpZiBleGlzdCB0Y2x0azY0IHJkIC9zL3EgdGNsdGs2NAotQHJlbSBpZiBleGlzdCB0Y2wtOC42LjEuMCByZCAvcy9xIHRjbC04LjYuMS4wCi1AcmVtIGlmIGV4aXN0IHRrLTguNi4xLjAgcmQgL3MvcSB0ay04LjYuMS4wCi1AcmVtIGlmIGV4aXN0IHRpeC04LjQuMy40IHJkIC9zL3EgdGl4LTguNC4zLjQKLUByZW0gaWYgZXhpc3QgZGItNC40LjIwIHJkIC9zL3EgZGItNC40LjIwCi1AcmVtIGlmIGV4aXN0IG9wZW5zc2wtMS4wLjFsIHJkIC9zL3Egb3BlbnNzbC0xLjAuMWwKLUByZW0gaWYgZXhpc3Qgc3FsaXRlLTMuNy4xMiByZCAvcy9xIHNxbGl0ZS0zLjcuMTIKLQotQHJlbSBiemlwCi1pZiBub3QgZXhpc3QgYnppcDItMS4wLjYgKAotICAgcmQgL3MvcSBiemlwMi0xLjAuNQotICBzdm4gZXhwb3J0ICVTVk5ST09UJWJ6aXAyLTEuMC42Ci0pCi0KLUByZW0gTkFTTSwgZm9yIE9wZW5TU0wgYnVpbGQKLUByZW0gaWYgZXhpc3QgbmFzbS0yLjExLjA2IHJkIC9zL3EgbmFzbS0yLjExLjA2Ci1pZiBub3QgZXhpc3QgbmFzbS0yLjExLjA2IHN2biBleHBvcnQgJVNWTlJPT1QlbmFzbS0yLjExLjA2Ci0KLUByZW0gT3BlblNTTAotaWYgbm90IGV4aXN0IG9wZW5zc2wtMS4wLjFsICgKLSAgICByZCAvcy9xIG9wZW5zc2wtMS4wLjFqCi0gICAgc3ZuIGV4cG9ydCAlU1ZOUk9PVCVvcGVuc3NsLTEuMC4xbAotKQotCi1AcmVtIHRjbC90awotaWYgbm90IGV4aXN0IHRjbC04LjYuMS4wICgKLSAgIHJkIC9zL3EgdGNsdGsgdGNsdGs2NCB0Y2wtOC41LjExLjAgdGstOC41LjExLjAKLSAgIHN2biBleHBvcnQgJVNWTlJPT1QldGNsLTguNi4xLjAKLSkKLWlmIG5vdCBleGlzdCB0ay04LjYuMS4wIHN2biBleHBvcnQgJVNWTlJPT1QldGstOC42LjEuMAotaWYgbm90IGV4aXN0IHRpeC04LjQuMy40IHN2biBleHBvcnQgJVNWTlJPT1QldGl4LTguNC4zLjQKLQotQHJlbSBzcWxpdGUzCi1pZiBub3QgZXhpc3Qgc3FsaXRlLTMuOC4zLjEgKAotICByZCAvcy9xIHNxbGl0ZS1zb3VyY2UtMy44LjEKLSAgc3ZuIGV4cG9ydCAlU1ZOUk9PVCVzcWxpdGUtMy44LjMuMQotKQotCi1AcmVtIGx6bWEKLWlmIG5vdCBleGlzdCB4ei01LjAuNSAoCi0gIHJkIC9zL3EgeHotNS4wLjMKLSAgc3ZuIGV4cG9ydCAlU1ZOUk9PVCV4ei01LjAuNQotKQpkaWZmIC0tZ2l0IGEvVG9vbHMvYnVpbGRib3QvZXh0ZXJuYWwuYmF0IGIvVG9vbHMvYnVpbGRib3QvZXh0ZXJuYWwuYmF0CmluZGV4IDM4NzdkOGQuLjdhNTcwZDkgMTAwNjQ0Ci0tLSBhL1Rvb2xzL2J1aWxkYm90L2V4dGVybmFsLmJhdAorKysgYi9Ub29scy9idWlsZGJvdC9leHRlcm5hbC5iYXQKQEAgLTEsMjkgKzEsMiBAQAotQHJlbSBGZXRjaGVzIChhbmQgYnVpbGRzIGlmIG5lY2Vzc2FyeSkgZXh0ZXJuYWwgZGVwZW5kZW5jaWVzCi0KLUByZW0gQXNzdW1lIHdlIHN0YXJ0IGluc2lkZSB0aGUgUHl0aG9uIHNvdXJjZSBkaXJlY3RvcnkKLWNhbGwgIlRvb2xzXGJ1aWxkYm90XGV4dGVybmFsLWNvbW1vbi5iYXQiCi1jYWxsICIlVlMxMDBDT01OVE9PTFMlXHZzdmFyczMyLmJhdCIKLQotaWYgbm90IGV4aXN0IHRjbHRrXGJpblx0Y2w4NnRnLmRsbCAoCi0gICAgQHJlbSBhbGwgYW5kIGluc3RhbGwgbmVlZCB0byBiZSBzZXBhcmF0ZSBpbnZvY2F0aW9ucywgb3RoZXJ3aXNlIG5tYWtlaGxwIGlzIG5vdCBmb3VuZCBvbiBpbnN0YWxsCi0gICAgY2QgdGNsLTguNi4xLjBcd2luCi0gICAgbm1ha2UgLWYgbWFrZWZpbGUudmMgT1BUUz1zeW1ib2xzIElOU1RBTExESVI9Li5cLi5cdGNsdGsgY2xlYW4gY29yZSBzaGVsbCBkbGxzCi0gICAgbm1ha2UgLWYgbWFrZWZpbGUudmMgT1BUUz1zeW1ib2xzIElOU1RBTExESVI9Li5cLi5cdGNsdGsgaW5zdGFsbC1iaW5hcmllcyBpbnN0YWxsLWxpYnJhcmllcwotICAgIGNkIC4uXC4uCi0pCi0KLWlmIG5vdCBleGlzdCB0Y2x0a1xiaW5cdGs4NnRnLmRsbCAoCi0gICAgY2QgdGstOC42LjEuMFx3aW4KLSAgICBubWFrZSAtZiBtYWtlZmlsZS52YyBPUFRTPXN5bWJvbHMgSU5TVEFMTERJUj0uLlwuLlx0Y2x0ayBUQ0xESVI9Li5cLi5cdGNsLTguNi4xLjAgY2xlYW4KLSAgICBubWFrZSAtZiBtYWtlZmlsZS52YyBPUFRTPXN5bWJvbHMgSU5TVEFMTERJUj0uLlwuLlx0Y2x0ayBUQ0xESVI9Li5cLi5cdGNsLTguNi4xLjAgYWxsCi0gICAgbm1ha2UgLWYgbWFrZWZpbGUudmMgT1BUUz1zeW1ib2xzIElOU1RBTExESVI9Li5cLi5cdGNsdGsgVENMRElSPS4uXC4uXHRjbC04LjYuMS4wIGluc3RhbGwtYmluYXJpZXMgaW5zdGFsbC1saWJyYXJpZXMKLSAgICBjZCAuLlwuLgotKQotCi1pZiBub3QgZXhpc3QgdGNsdGtcbGliXHRpeDguNC4zXHRpeDg0Zy5kbGwgKAotICAgIGNkIHRpeC04LjQuMy40XHdpbgotICAgIG5tYWtlIC1mIHB5dGhvbi5tYWsgREVCVUc9MSBNQUNISU5FPUlYODYgVENMX0RJUj0uLlwuLlx0Y2wtOC42LjEuMCBUS19ESVI9Li5cLi5cdGstOC42LjEuMCBJTlNUQUxMX0RJUj0uLlwuLlx0Y2x0ayBjbGVhbgotICAgIG5tYWtlIC1mIHB5dGhvbi5tYWsgREVCVUc9MSBNQUNISU5FPUlYODYgVENMX0RJUj0uLlwuLlx0Y2wtOC42LjEuMCBUS19ESVI9Li5cLi5cdGstOC42LjEuMCBJTlNUQUxMX0RJUj0uLlwuLlx0Y2x0ayBhbGwKLSAgICBubWFrZSAtZiBweXRob24ubWFrIERFQlVHPTEgTUFDSElORT1JWDg2IFRDTF9ESVI9Li5cLi5cdGNsLTguNi4xLjAgVEtfRElSPS4uXC4uXHRrLTguNi4xLjAgSU5TVEFMTF9ESVI9Li5cLi5cdGNsdGsgaW5zdGFsbAotICAgIGNkIC4uXC4uCi0pCitAZWNobyBQbGVhc2UgdXNlIFBDYnVpbGRcZ2V0X2V4dGVybmFscy5iYXQgaW5zdGVhZC4KK0AiJX5kcDAuLlwuLlxQQ2J1aWxkXGdldF9leHRlcm5hbHMuYmF0IiAlKgpkaWZmIC0tZ2l0IGEvVG9vbHMvYnVpbGRib3QvdGVzdC1hbWQ2NC5iYXQgYi9Ub29scy9idWlsZGJvdC90ZXN0LWFtZDY0LmJhdAppbmRleCBkZTY0ZjI1Li43YTI0MWY1IDEwMDY0NAotLS0gYS9Ub29scy9idWlsZGJvdC90ZXN0LWFtZDY0LmJhdAorKysgYi9Ub29scy9idWlsZGJvdC90ZXN0LWFtZDY0LmJhdApAQCAtMSwzICsxLDcgQEAKIEByZW0gVXNlZCBieSB0aGUgYnVpbGRib3QgInRlc3QiIHN0ZXAuCi1jZCBQQ2J1aWxkCi1jYWxsIHJ0LmJhdCAtZCAtcSAteDY0IC11YWxsIC1yd1cgLW4gLS10aW1lb3V0PTM2MDAgJTEgJTIgJTMgJTQgJTUgJTYgJTcgJTggJTkKKworc2V0bG9jYWwKK3JlbSBUaGUgZm9sbG93aW5nIGxpbmUgc2hvdWxkIGJlIHJlbW92ZWQgYmVmb3JlICMyMDAzNSBpcyBjbG9zZWQKK3NldCBUQ0xfTElCUkFSWT0lfmRwMC4uXC4uXGV4dGVybmFsc1x0Y2x0azY0XGxpYlx0Y2w4LjYKKworY2FsbCAiJX5kcDAuLlwuLlxQQ2J1aWxkXHJ0LmJhdCIgLWQgLXEgLXg2NCAtdWFsbCAtcndXIC1uIC0tdGltZW91dD0zNjAwICUqCmRpZmYgLS1naXQgYS9Ub29scy9idWlsZGJvdC90ZXN0LmJhdCBiL1Rvb2xzL2J1aWxkYm90L3Rlc3QuYmF0CmluZGV4IDRlNGRiMTAuLjZhNjQ0OGMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL2J1aWxkYm90L3Rlc3QuYmF0CisrKyBiL1Rvb2xzL2J1aWxkYm90L3Rlc3QuYmF0CkBAIC0xLDMgKzEsNyBAQAogQHJlbSBVc2VkIGJ5IHRoZSBidWlsZGJvdCAidGVzdCIgc3RlcC4KLWNkIFBDYnVpbGQKLWNhbGwgcnQuYmF0IC1kIC1xIC11YWxsIC1yd1cgLW4gLS10aW1lb3V0PTM2MDAgJTEgJTIgJTMgJTQgJTUgJTYgJTcgJTggJTkKKworc2V0bG9jYWwKK3JlbSBUaGUgZm9sbG93aW5nIGxpbmUgc2hvdWxkIGJlIHJlbW92ZWQgYmVmb3JlICMyMDAzNSBpcyBjbG9zZWQKK3NldCBUQ0xfTElCUkFSWT0lfmRwMC4uXC4uXGV4dGVybmFsc1x0Y2x0a1xsaWJcdGNsOC42CisKK2NhbGwgIiV+ZHAwLi5cLi5cUENidWlsZFxydC5iYXQiIC1kIC1xIC11YWxsIC1yd1cgLW4gLS10aW1lb3V0PTM2MDAgJSoKZGlmZiAtLWdpdCBhL1Rvb2xzL2NsaW5pYy9jbGluaWMucHkgYi9Ub29scy9jbGluaWMvY2xpbmljLnB5CmluZGV4IDY1YmFkNTEuLjIzZjY2NDggMTAwNzU1Ci0tLSBhL1Rvb2xzL2NsaW5pYy9jbGluaWMucHkKKysrIGIvVG9vbHMvY2xpbmljL2NsaW5pYy5weQpAQCAtMTI1MiwxMCArMTI1MiwxMSBAQAogICAgICAgICBtYXRjaCA9IHNlbGYuc3RhcnRfcmUubWF0Y2gobGluZS5sc3RyaXAoKSkKICAgICAgICAgcmV0dXJuIG1hdGNoLmdyb3VwKDEpIGlmIG1hdGNoIGVsc2UgTm9uZQogCi0gICAgZGVmIF9saW5lKHNlbGYpOgorICAgIGRlZiBfbGluZShzZWxmLCBsb29rYWhlYWQ9RmFsc2UpOgogICAgICAgICBzZWxmLmxpbmVfbnVtYmVyICs9IDEKICAgICAgICAgbGluZSA9IHNlbGYuaW5wdXQucG9wKCkKLSAgICAgICAgc2VsZi5sYW5ndWFnZS5wYXJzZV9saW5lKGxpbmUpCisgICAgICAgIGlmIG5vdCBsb29rYWhlYWQ6CisgICAgICAgICAgICBzZWxmLmxhbmd1YWdlLnBhcnNlX2xpbmUobGluZSkKICAgICAgICAgcmV0dXJuIGxpbmUKIAogICAgIGRlZiBwYXJzZV92ZXJiYXRpbV9ibG9jayhzZWxmKToKQEAgLTEzMTEsNyArMTMxMiw3IEBACiAgICAgICAgIG91dHB1dF9hZGQsIG91dHB1dF9vdXRwdXQgPSB0ZXh0X2FjY3VtdWxhdG9yKCkKICAgICAgICAgYXJndW1lbnRzID0gTm9uZQogICAgICAgICB3aGlsZSBzZWxmLmlucHV0OgotICAgICAgICAgICAgbGluZSA9IHNlbGYuX2xpbmUoKQorICAgICAgICAgICAgbGluZSA9IHNlbGYuX2xpbmUobG9va2FoZWFkPVRydWUpCiAgICAgICAgICAgICBtYXRjaCA9IGNoZWNrc3VtX3JlLm1hdGNoKGxpbmUubHN0cmlwKCkpCiAgICAgICAgICAgICBhcmd1bWVudHMgPSBtYXRjaC5ncm91cCgxKSBpZiBtYXRjaCBlbHNlIE5vbmUKICAgICAgICAgICAgIGlmIGFyZ3VtZW50czoKQEAgLTI0MjUsMTEgKzI0MjYsMTMgQEAKICAgICBmb3JtYXRfdW5pdCA9ICdpJwogICAgIGNfaWdub3JlZF9kZWZhdWx0ID0gIjAiCiAKLSAgICBkZWYgY29udmVydGVyX2luaXQoc2VsZiwgKiwgdHlwZXM9J2ludCcpOgorICAgIGRlZiBjb252ZXJ0ZXJfaW5pdChzZWxmLCAqLCB0eXBlcz0naW50JywgdHlwZT1Ob25lKToKICAgICAgICAgaWYgdHlwZXMgPT0gJ3N0cic6CiAgICAgICAgICAgICBzZWxmLmZvcm1hdF91bml0ID0gJ0MnCiAgICAgICAgIGVsaWYgdHlwZXMgIT0gJ2ludCc6CiAgICAgICAgICAgICBmYWlsKCJpbnRfY29udmVydGVyOiBpbGxlZ2FsICd0eXBlcycgYXJndW1lbnQiKQorICAgICAgICBpZiB0eXBlICE9IE5vbmU6CisgICAgICAgICAgICBzZWxmLnR5cGUgPSB0eXBlCiAKIGNsYXNzIHVuc2lnbmVkX2ludF9jb252ZXJ0ZXIoQ0NvbnZlcnRlcik6CiAgICAgdHlwZSA9ICd1bnNpZ25lZCBpbnQnCkBAIC0yNTMyLDkgKzI1MzUsOSBAQAogICAgICAgICBsZW5ndGg9RmFsc2UsIG51bGxhYmxlPUZhbHNlLCB6ZXJvZXM9RmFsc2UpOgogCiAgICAgICAgIHR5cGVzID0gc2V0KHR5cGVzLnN0cmlwKCkuc3BsaXQoKSkKLSAgICAgICAgYnl0ZXNfdHlwZSA9IHNldCgoImJ5dGVzIiwpKQotICAgICAgICBzdHJfdHlwZSA9IHNldCgoInN0ciIsKSkKLSAgICAgICAgYWxsXzNfdHlwZSA9IHNldCgoImJ5dGVhcnJheSIsKSkgfCBieXRlc190eXBlIHwgc3RyX3R5cGUKKyAgICAgICAgYnl0ZXNfdHlwZSA9IHsiYnl0ZXMifQorICAgICAgICBzdHJfdHlwZSA9IHsic3RyIn0KKyAgICAgICAgYWxsXzNfdHlwZSA9IHsiYnl0ZWFycmF5In0gfCBieXRlc190eXBlIHwgc3RyX3R5cGUKICAgICAgICAgaXNfYnl0ZXMgPSB0eXBlcyA9PSBieXRlc190eXBlCiAgICAgICAgIGlzX3N0ciA9IHR5cGVzID09IHN0cl90eXBlCiAgICAgICAgIGlzX2FsbF8zID0gdHlwZXMgPT0gYWxsXzNfdHlwZQpAQCAtMjYzMCwxMiArMjYzMywxMiBAQAogICAgICAgICAgICAgZmFpbCgiVGhlIG9ubHkgbGVnYWwgZGVmYXVsdCB2YWx1ZSBmb3IgUHlfYnVmZmVyIGlzIE5vbmUuIikKICAgICAgICAgc2VsZi5jX2RlZmF1bHQgPSBzZWxmLmNfaWdub3JlZF9kZWZhdWx0CiAgICAgICAgIHR5cGVzID0gc2V0KHR5cGVzLnN0cmlwKCkuc3BsaXQoKSkKLSAgICAgICAgYnl0ZXNfdHlwZSA9IHNldCgoJ2J5dGVzJywpKQotICAgICAgICBieXRlYXJyYXlfdHlwZSA9IHNldCgoJ2J5dGVhcnJheScsKSkKLSAgICAgICAgYnVmZmVyX3R5cGUgPSBzZXQoKCdidWZmZXInLCkpCi0gICAgICAgIHJ3YnVmZmVyX3R5cGUgPSBzZXQoKCdyd2J1ZmZlcicsKSkKLSAgICAgICAgcm9idWZmZXJfdHlwZSA9IHNldCgoJ3JvYnVmZmVyJywpKQotICAgICAgICBzdHJfdHlwZSA9IHNldCgoJ3N0cicsKSkKKyAgICAgICAgYnl0ZXNfdHlwZSA9IHsnYnl0ZXMnfQorICAgICAgICBieXRlYXJyYXlfdHlwZSA9IHsnYnl0ZWFycmF5J30KKyAgICAgICAgYnVmZmVyX3R5cGUgPSB7J2J1ZmZlcid9CisgICAgICAgIHJ3YnVmZmVyX3R5cGUgPSB7J3J3YnVmZmVyJ30KKyAgICAgICAgcm9idWZmZXJfdHlwZSA9IHsncm9idWZmZXInfQorICAgICAgICBzdHJfdHlwZSA9IHsnc3RyJ30KICAgICAgICAgYnl0ZXNfYnl0ZWFycmF5X2J1ZmZlcl90eXBlID0gYnl0ZXNfdHlwZSB8IGJ5dGVhcnJheV90eXBlIHwgYnVmZmVyX3R5cGUKIAogICAgICAgICBmb3JtYXRfdW5pdCA9IE5vbmUKQEAgLTI4NjQsMTAgKzI4NjcsMTEgQEAKICAgICB0eXBlID0gJ2xvbmcnCiAgICAgY29udmVyc2lvbl9mbiA9ICdQeUxvbmdfRnJvbUxvbmcnCiAgICAgY2FzdCA9ICcnCisgICAgdW5zaWduZWRfY2FzdCA9ICcnCiAKICAgICBkZWYgcmVuZGVyKHNlbGYsIGZ1bmN0aW9uLCBkYXRhKToKICAgICAgICAgc2VsZi5kZWNsYXJlKGRhdGEpCi0gICAgICAgIHNlbGYuZXJyX29jY3VycmVkX2lmKCJfcmV0dXJuX3ZhbHVlID09IC0xIiwgZGF0YSkKKyAgICAgICAgc2VsZi5lcnJfb2NjdXJyZWRfaWYoIl9yZXR1cm5fdmFsdWUgPT0ge30tMSIuZm9ybWF0KHNlbGYudW5zaWduZWRfY2FzdCksIGRhdGEpCiAgICAgICAgIGRhdGEucmV0dXJuX2NvbnZlcnNpb24uYXBwZW5kKAogICAgICAgICAgICAgJycuam9pbigoJ3JldHVybl92YWx1ZSA9ICcsIHNlbGYuY29udmVyc2lvbl9mbiwgJygnLCBzZWxmLmNhc3QsICdfcmV0dXJuX3ZhbHVlKTtcbicpKSkKIApAQCAtMjg4OCwxMCArMjg5MiwxMiBAQAogY2xhc3MgdW5zaWduZWRfbG9uZ19yZXR1cm5fY29udmVydGVyKGxvbmdfcmV0dXJuX2NvbnZlcnRlcik6CiAgICAgdHlwZSA9ICd1bnNpZ25lZCBsb25nJwogICAgIGNvbnZlcnNpb25fZm4gPSAnUHlMb25nX0Zyb21VbnNpZ25lZExvbmcnCisgICAgdW5zaWduZWRfY2FzdCA9ICcodW5zaWduZWQgbG9uZyknCiAKIGNsYXNzIHVuc2lnbmVkX2ludF9yZXR1cm5fY29udmVydGVyKHVuc2lnbmVkX2xvbmdfcmV0dXJuX2NvbnZlcnRlcik6CiAgICAgdHlwZSA9ICd1bnNpZ25lZCBpbnQnCiAgICAgY2FzdCA9ICcodW5zaWduZWQgbG9uZyknCisgICAgdW5zaWduZWRfY2FzdCA9ICcodW5zaWduZWQgaW50KScKIAogY2xhc3MgUHlfc3NpemVfdF9yZXR1cm5fY29udmVydGVyKGxvbmdfcmV0dXJuX2NvbnZlcnRlcik6CiAgICAgdHlwZSA9ICdQeV9zc2l6ZV90JwpAQCAtMjkwMCw2ICsyOTA2LDcgQEAKIGNsYXNzIHNpemVfdF9yZXR1cm5fY29udmVydGVyKGxvbmdfcmV0dXJuX2NvbnZlcnRlcik6CiAgICAgdHlwZSA9ICdzaXplX3QnCiAgICAgY29udmVyc2lvbl9mbiA9ICdQeUxvbmdfRnJvbVNpemVfdCcKKyAgICB1bnNpZ25lZF9jYXN0ID0gJyhzaXplX3QpJwogCiAKIGNsYXNzIGRvdWJsZV9yZXR1cm5fY29udmVydGVyKENSZXR1cm5Db252ZXJ0ZXIpOgpkaWZmIC0tZ2l0IGEvVG9vbHMvaTE4bi9tYWtlbG9jYWxlYWxpYXMucHkgYi9Ub29scy9pMThuL21ha2Vsb2NhbGVhbGlhcy5weQppbmRleCAxMDg4N2NlLi5jN2VjYWNlIDEwMDc1NQotLS0gYS9Ub29scy9pMThuL21ha2Vsb2NhbGVhbGlhcy5weQorKysgYi9Ub29scy9pMThuL21ha2Vsb2NhbGVhbGlhcy5weQpAQCAtOCw5ICs4LDEyIEBACiAiIiIKIGltcG9ydCBsb2NhbGUKIGltcG9ydCBzeXMKK19sb2NhbGUgPSBsb2NhbGUKIAotIyBMb2NhdGlvbiBvZiB0aGUgYWxpYXMgZmlsZQorIyBMb2NhdGlvbiBvZiB0aGUgWDExIGFsaWFzIGZpbGUuCiBMT0NBTEVfQUxJQVMgPSAnL3Vzci9zaGFyZS9YMTEvbG9jYWxlL2xvY2FsZS5hbGlhcycKKyMgTG9jYXRpb24gb2YgdGhlIGdsaWJjIFNVUFBPUlRFRCBsb2NhbGVzIGZpbGUuCitTVVBQT1JURUQgPSAnL3Vzci9zaGFyZS9pMThuL1NVUFBPUlRFRCcKIAogZGVmIHBhcnNlKGZpbGVuYW1lKToKIApAQCAtNDQsMTAgKzQ3LDM5IEBACiAgICAgICAgICAgICBlbmNvZGluZyA9IGVuY29kaW5nLnJlcGxhY2UoJy0nLCAnJykKICAgICAgICAgICAgIGVuY29kaW5nID0gZW5jb2RpbmcucmVwbGFjZSgnXycsICcnKQogICAgICAgICAgICAgbG9jYWxlID0gbGFuZyArICcuJyArIGVuY29kaW5nCi0gICAgICAgICAgICBpZiBlbmNvZGluZy5sb3dlcigpID09ICd1dGY4JzoKLSAgICAgICAgICAgICAgICAjIElnbm9yZSBVVEYtOCBtYXBwaW5ncyAtIHRoaXMgZW5jb2Rpbmcgc2hvdWxkIGJlCi0gICAgICAgICAgICAgICAgIyBhdmFpbGFibGUgZm9yIGFsbCBsb2NhbGVzCi0gICAgICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgZGF0YVtsb2NhbGVdID0gYWxpYXMKKyAgICByZXR1cm4gZGF0YQorCitkZWYgcGFyc2VfZ2xpYmNfc3VwcG9ydGVkKGZpbGVuYW1lKToKKworICAgIHdpdGggb3BlbihmaWxlbmFtZSwgZW5jb2Rpbmc9J2xhdGluMScpIGFzIGY6CisgICAgICAgIGxpbmVzID0gbGlzdChmKQorICAgIGRhdGEgPSB7fQorICAgIGZvciBsaW5lIGluIGxpbmVzOgorICAgICAgICBsaW5lID0gbGluZS5zdHJpcCgpCisgICAgICAgIGlmIG5vdCBsaW5lOgorICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgaWYgbGluZVs6MV0gPT0gJyMnOgorICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgbGluZSA9IGxpbmUucmVwbGFjZSgnLycsICcgJykuc3RyaXAoKQorICAgICAgICBsaW5lID0gbGluZS5yc3RyaXAoJ1xcJykucnN0cmlwKCkKKyAgICAgICAgd29yZHMgPSBsaW5lLnNwbGl0KCkKKyAgICAgICAgaWYgbGVuKHdvcmRzKSAhPSAyOgorICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgYWxpYXMsIGFsaWFzX2VuY29kaW5nID0gd29yZHMKKyAgICAgICAgIyBMb3dlci1jYXNlIGxvY2FsZQorICAgICAgICBsb2NhbGUgPSBhbGlhcy5sb3dlcigpCisgICAgICAgICMgTm9ybWFsaXplIGVuY29kaW5nLCBpZiBnaXZlbgorICAgICAgICBpZiAnLicgaW4gbG9jYWxlOgorICAgICAgICAgICAgbGFuZywgZW5jb2RpbmcgPSBsb2NhbGUuc3BsaXQoJy4nKVs6Ml0KKyAgICAgICAgICAgIGVuY29kaW5nID0gZW5jb2RpbmcucmVwbGFjZSgnLScsICcnKQorICAgICAgICAgICAgZW5jb2RpbmcgPSBlbmNvZGluZy5yZXBsYWNlKCdfJywgJycpCisgICAgICAgICAgICBsb2NhbGUgPSBsYW5nICsgJy4nICsgZW5jb2RpbmcKKyAgICAgICAgIyBBZGQgYW4gZW5jb2RpbmcgdG8gYWxpYXMKKyAgICAgICAgYWxpYXMsIF8sIG1vZGlmaWVyID0gYWxpYXMucGFydGl0aW9uKCdAJykKKyAgICAgICAgYWxpYXMgPSBfbG9jYWxlLl9yZXBsYWNlX2VuY29kaW5nKGFsaWFzLCBhbGlhc19lbmNvZGluZykKKyAgICAgICAgaWYgbW9kaWZpZXIgYW5kIG5vdCAobW9kaWZpZXIgPT0gJ2V1cm8nIGFuZCBhbGlhc19lbmNvZGluZyA9PSAnSVNPLTg4NTktMTUnKToKKyAgICAgICAgICAgIGFsaWFzICs9ICdAJyArIG1vZGlmaWVyCiAgICAgICAgIGRhdGFbbG9jYWxlXSA9IGFsaWFzCiAgICAgcmV0dXJuIGRhdGEKIApAQCAtOTIsOSArMTI0LDI1IEBACiAgICAgcmV0dXJuIGVycm9ycwogCiBpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgorICAgIGltcG9ydCBhcmdwYXJzZQorICAgIHBhcnNlciA9IGFyZ3BhcnNlLkFyZ3VtZW50UGFyc2VyKCkKKyAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCctLWxvY2FsZS1hbGlhcycsIGRlZmF1bHQ9TE9DQUxFX0FMSUFTLAorICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0nbG9jYXRpb24gb2YgdGhlIFgxMSBhbGlhcyBmaWxlICcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyhkZWZhdWx0OiAlYSknICUgTE9DQUxFX0FMSUFTKQorICAgIHBhcnNlci5hZGRfYXJndW1lbnQoJy0tZ2xpYmMtc3VwcG9ydGVkJywgZGVmYXVsdD1TVVBQT1JURUQsCisgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSdsb2NhdGlvbiBvZiB0aGUgZ2xpYmMgU1VQUE9SVEVEIGxvY2FsZXMgZmlsZSAnCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcoZGVmYXVsdDogJWEpJyAlIFNVUFBPUlRFRCkKKyAgICBhcmdzID0gcGFyc2VyLnBhcnNlX2FyZ3MoKQorCiAgICAgZGF0YSA9IGxvY2FsZS5sb2NhbGVfYWxpYXMuY29weSgpCi0gICAgZGF0YS51cGRhdGUocGFyc2UoTE9DQUxFX0FMSUFTKSkKLSAgICBkYXRhID0gb3B0aW1pemUoZGF0YSkKKyAgICBkYXRhLnVwZGF0ZShwYXJzZV9nbGliY19zdXBwb3J0ZWQoYXJncy5nbGliY19zdXBwb3J0ZWQpKQorICAgIGRhdGEudXBkYXRlKHBhcnNlKGFyZ3MubG9jYWxlX2FsaWFzKSkKKyAgICB3aGlsZSBUcnVlOgorICAgICAgICAjIFJlcGVhdCBvcHRpbWl6YXRpb24gd2hpbGUgdGhlIHNpemUgaXMgZGVjcmVhc2VkLgorICAgICAgICBuID0gbGVuKGRhdGEpCisgICAgICAgIGRhdGEgPSBvcHRpbWl6ZShkYXRhKQorICAgICAgICBpZiBsZW4oZGF0YSkgPT0gbjoKKyAgICAgICAgICAgIGJyZWFrCiAgICAgcHJpbnRfZGlmZmVyZW5jZXMoZGF0YSwgbG9jYWxlLmxvY2FsZV9hbGlhcykKICAgICBwcmludCgpCiAgICAgcHJpbnQoJ2xvY2FsZV9hbGlhcyA9IHsnKQpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL1JFQURNRS50eHQgYi9Ub29scy9tc2kvUkVBRE1FLnR4dAppbmRleCBkYzRhZTkwLi4xZTQxY2MxIDEwMDY0NAotLS0gYS9Ub29scy9tc2kvUkVBRE1FLnR4dAorKysgYi9Ub29scy9tc2kvUkVBRE1FLnR4dApAQCAtMSwyNSArMSw0ODggQEAKLVBhY2thZ2luZyBQeXRob24gYXMgYSBNaWNyb3NvZnQgSW5zdGFsbGVyIFBhY2thZ2UgKE1TSSkKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KK1F1aWNrIEJ1aWxkIEluZm8KKz09PT09PT09PT09PT09PT0KIAotVXNpbmcgdGhpcyBsaWJyYXJ5LCBQeXRob24gY2FuIGJlIHBhY2thZ2VkIGFzIGEgTVMtV2luZG93cwotTVNJIGZpbGUuIFRvIGdlbmVyYXRlIGFuIGluc3RhbGxlciBwYWNrYWdlLCB5b3UgbmVlZAotYSBidWlsZCB0cmVlLiBCeSBkZWZhdWx0LCB0aGUgYnVpbGQgdHJlZSByb290IGRpcmVjdG9yeQotaXMgYXNzdW1lZCB0byBiZSBpbiAiLi4vLi4iLiBUaGlzIGxvY2F0aW9uIGNhbiBiZSBjaGFuZ2VkCi1ieSBhZGRpbmcgYSBmaWxlIGNvbmZpZy5weTsgc2VlIHRoZSBiZWdpbm5pbmcgb2YgbXNpLnB5Ci1mb3IgYWRkaXRpb25hbCBjdXN0b21pemF0aW9uIG9wdGlvbnMuCitGb3IgdGVzdGluZywgdGhlIGluc3RhbGxlciBzaG91bGQgYmUgYnVpbHQgd2l0aCB0aGUgVG9vbHMvbXNpL2J1aWxkLmJhdAorc2NyaXB0OgogCi1UaGUgcGFja2FnaW5nIHByb2Nlc3MgYXNzdW1lcyB0aGF0IGJpbmFyaWVzIGhhdmUgYmVlbiAKLWdlbmVyYXRlZCBhY2NvcmRpbmcgdG8gdGhlIGluc3RydWN0aW9ucyBpbiBQQ0J1aWxkL1JFQURNRS50eHQsCi1hbmQgdGhhdCB5b3UgaGF2ZSBlaXRoZXIgVmlzdWFsIFN0dWRpbyBvciB0aGUgUGxhdGZvcm0gU0RLCi1pbnN0YWxsZWQuIEluIGFkZGl0aW9uLCB5b3UgbmVlZCB0aGUgUHl0aG9uIENPTSBleHRlbnNpb25zLAotZWl0aGVyIGZyb20gUHl0aG9uV2luLCBvciBmcm9tIEFjdGl2ZVB5dGhvbi4KKyAgICBidWlsZC5iYXQgWy14ODZdIFsteDY0XSBbLS1kb2NdCiAKLVRvIGludm9rZSB0aGUgc2NyaXB0LCBvcGVuIGEgY21kLmV4ZSB3aW5kb3cgd2hpY2ggaGFzIAotY2FiYXJjLmV4ZSBpbiBpdHMgUEFUSCAoZS5nLiAiVmlzdWFsIFN0dWRpbyAuTkVUIDIwMDMKLUNvbW1hbmQgUHJvbXB0IikuIFRoZW4gaW52b2tlCitGb3IgYW4gb2ZmaWNpYWwgcmVsZWFzZSwgdGhlIGluc3RhbGxlciBzaG91bGQgYmUgYnVpbHQgd2l0aCB0aGUKK1Rvb2xzL21zaS9idWlsZHJlbGVhc2UuYmF0IHNjcmlwdCBhbmQgZW52aXJvbm1lbnQgdmFyaWFibGVzOgogCi08cGF0aC10by1weXRob24uZXhlPiBtc2kucHkKKyAgICBzZXQgUFlUSE9OPTxwYXRoIHRvIFB5dGhvbiAyLjc+CisgICAgc2V0IFNQSElOWEJVSUxEPTxwYXRoIHRvIHNwaGlueC1idWlsZC5leGU+CisgICAgc2V0IFBBVEg9PHBhdGggdG8gTWVyY3VyaWFsIChoZy5leGUpPjsKKyAgICAgICAgICAgICA8cGF0aCB0byBIVE1MIEhlbHAgQ29tcGlsZXIgKGhoYy5leGUpPjslUEFUSCUKIAotSWYgZXZlcnl0aGluZyBzdWNjZWVkcywgcHl0aG9uWC5ZLloubXNpIGlzIGdlbmVyYXRlZAotaW4gdGhlIGN1cnJlbnQgZGlyZWN0b3J5LgorICAgIGJ1aWxkcmVsZWFzZS5iYXQgWy14ODZdIFsteDY0XSBbLURdIFstQl0KKyAgICAgICAgWy1vIDxvdXRwdXQgZGlyZWN0b3J5Pl0gWy1jIDxjZXJ0aWZpY2F0ZSBuYW1lPl0KKworU2VlIHRoZSBCdWlsZGluZyB0aGUgSW5zdGFsbGVyIHNlY3Rpb24gZm9yIG1vcmUgaW5mb3JtYXRpb24uCisKK092ZXJ2aWV3Cis9PT09PT09PQorCitQeXRob24gaXMgZGlzdHJpYnV0ZWQgb24gV2luZG93cyBhcyBhbiBpbnN0YWxsZXIgdGhhdCB3aWxsIGNvbmZpZ3VyZSB0aGUKK3VzZXIncyBzeXN0ZW0uIFRoaXMgYWxsb3dzIHVzZXJzIHRvIGhhdmUgYSBmdW5jdGlvbmluZyBjb3B5IG9mIFB5dGhvbgord2l0aG91dCBoYXZpbmcgdG8gYnVpbGQgaXQgdGhlbXNlbHZlcy4KKworVGhlIG1haW4gdGFza3Mgb2YgdGhlIGluc3RhbGxlciBhcmU6CisKKyogY29weSByZXF1aXJlZCBmaWxlcyBpbnRvIHRoZSBleHBlY3RlZCBsYXlvdXQKKyogY29uZmlndXJlIHN5c3RlbSBzZXR0aW5ncyBzbyB0aGUgaW5zdGFsbGF0aW9uIGNhbiBiZSBsb2NhdGVkIGJ5CisgIG90aGVyIHByb2dyYW1zCisqIGFkZCBlbnRyeSBwb2ludHMgZm9yIG1vZGlmeWluZywgcmVwYWlyaW5nIGFuZCB1bmluc3RhbGxpbmcgUHl0aG9uCisqIG1ha2UgaXQgZWFzeSB0byBsYXVuY2ggUHl0aG9uLCBpdHMgZG9jdW1lbnRhdGlvbiwgYW5kIElETEUKKworRWFjaCBvZiB0aGVzZSBpcyBkaXNjdXNzZWQgaW4gYSBsYXRlciBzZWN0aW9uIG9mIHRoaXMgZG9jdW1lbnQuCisKK1N0cnVjdHVyZSBvZiB0aGUgSW5zdGFsbGVyCis9PT09PT09PT09PT09PT09PT09PT09PT09PQorCitUaGUgaW5zdGFsbGVyIGlzIHN0cnVjdHVyZWQgYXMgYSAnbGF5b3V0Jywgd2hpY2ggY29uc2lzdHMgb2YgYSBudW1iZXIgb2YKK0NBQiBhbmQgTVNJIGZpbGVzIGFuZCBhIHNpbmdsZSBFWEUuCisKK1RoZSBFWEUgaXMgdGhlIG1haW4gZW50cnkgcG9pbnQgaW50byB0aGUgaW5zdGFsbGVyLiBJdCBjb250YWlucyB0aGUgVUkKK2FuZCBjb21tYW5kLWxpbmUgbG9naWMsIGFzIHdlbGwgYXMgdGhlIGFiaWxpdHkgdG8gbG9jYXRlIGFuZCBvcHRpb25hbGx5Citkb3dubG9hZCBvdGhlciBwYXJ0cyBvZiB0aGUgbGF5b3V0LgorCitFYWNoIE1TSSBjb250YWlucyB0aGUgbG9naWMgcmVxdWlyZWQgdG8gaW5zdGFsbCBhIGNvbXBvbmVudCBvciBmZWF0dXJlCitvZiBQeXRob24uIFRoZXNlIE1TSXMgc2hvdWxkIG5vdCBiZSBsYXVuY2hlZCBkaXJlY3RseSBieSB1c2Vycy4gTVNJcyBjYW4KK2JlIGVtYmVkZGVkIGludG8gdGhlIEVYRSBvciBhdXRvbWF0aWNhbGx5IGRvd25sb2FkZWQgYXMgbmVlZGVkLgorCitFYWNoIENBQiBjb250YWlucyB0aGUgZmlsZXMgbWFraW5nIHVwIGEgUHl0aG9uIGluc3RhbGxhdGlvbi4gQ0FCcyBhcmUKK2VtYmVkZGVkIGludG8gdGhlaXIgYXNzb2NpYXRlZCBNU0kgYW5kIGFyZSBuZXZlciBzZWVuIGJ5IHVzZXJzLgorCitNU0lzIGFyZSBvbmx5IHJlcXVpcmVkIHdoZW4gdGhlIHJlbGF0ZWQgZmVhdHVyZSBvciBjb21wb25lbnQgaXMgYmVpbmcKK2luc3RhbGxlZC4gV2hlbiBjb21wb25lbnRzIGFyZSBub3Qgc2VsZWN0ZWQgZm9yIGluc3RhbGxhdGlvbiwgdGhlCithc3NvY2lhdGVkIE1TSSBpcyBub3QgZG93bmxvYWRlZC4gVGhpcyBhbGxvd3MgdGhlIGluc3RhbGxlciB0byBvZmZlcgorb3B0aW9ucyB0byBpbnN0YWxsIGRlYnVnZ2luZyBzeW1ib2xzIGFuZCBiaW5hcmllcyB3aXRob3V0IGluY3JlYXNpbmcKK3RoZSBpbml0aWFsIGRvd25sb2FkIHNpemUgYnkgc2VwYXJhdGluZyB0aGVtIGludG8gdGhlaXIgb3duIE1TSXMuCisKK0J1aWxkaW5nIHRoZSBJbnN0YWxsZXIKKz09PT09PT09PT09PT09PT09PT09PT0KKworRm9yIHRlc3RpbmcsIHRoZSBpbnN0YWxsZXIgc2hvdWxkIGJlIGJ1aWx0IHdpdGggdGhlIFRvb2xzL21zaS9idWlsZC5iYXQKK3NjcmlwdDoKKworICAgIGJ1aWxkLmJhdCBbLXg4Nl0gWy14NjRdIFstLWRvY10KKworVGhpcyBzY3JpcHQgd2lsbCBidWlsZCB0aGUgcmVxdWlyZWQgY29uZmlndXJhdGlvbnMgb2YgUHl0aG9uIGFuZAorZ2VuZXJhdGUgYW4gaW5zdGFsbGVyIGxheW91dCBpbiBQQ0J1aWxkLyh3aW4zMnxhbWQ2NCkvZW4tdXMuCisKK1NwZWNpZnkgLXg4NiBhbmQvb3IgLXg2NCB0byBidWlsZCBmb3IgZWFjaCBwbGF0Zm9ybS4gSWYgbmVpdGhlciBpcworc3BlY2lmaWVkLCBib3RoIHBsYXRmb3JtcyB3aWxsIGJlIGJ1aWx0LiBDdXJyZW50bHksIGJvdGggdGhlIGRlYnVnIGFuZAorcmVsZWFzZSB2ZXJzaW9ucyBvZiBQeXRob24gYXJlIHJlcXVpcmVkIGZvciB0aGUgaW5zdGFsbGVyLgorCitTcGVjaWZ5IC0tZG9jIHRvIGJ1aWxkIHRoZSBkb2N1bWVudGF0aW9uICguY2htKSBmaWxlLiBJZiB0aGUgZmlsZSBpcyBub3QKK2F2YWlsYWJsZSwgaXQgd2lsbCBzaW1wbHkgYmUgZXhjbHVkZWQgZnJvbSB0aGUgaW5zdGFsbGVyLiBFbnN1cmUKKyVQWVRIT04lIGFuZCAlU1BISU5YQlVJTEQlIGFyZSBzZXQgd2hlbiBwYXNzaW5nIHRoaXMgb3B0aW9uLiBZb3UgbWF5CithbHNvIHNldCAlSFRNTEhFTFAlIHRvIHRoZSBIdG1sIEhlbHAgQ29tcGlsZXIgKGhoYy5leGUpLCBvciBwdXQgSEhDIG9uCit5b3VyIFBBVEggb3IgaW4gZXh0ZXJuYWxzLy4KKworSWYgV2lYIGlzIG5vdCBmb3VuZCBvbiB5b3VyIHN5c3RlbSwgaXQgd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGRvd25sb2FkZWQKK2FuZCBleHRyYWN0ZWQgdG8gdGhlIGV4dGVybmFscy8gZGlyZWN0b3J5LgorCisKK0ZvciBhbiBvZmZpY2lhbCByZWxlYXNlLCB0aGUgaW5zdGFsbGVyIHNob3VsZCBiZSBidWlsdCB3aXRoIHRoZQorVG9vbHMvbXNpL2J1aWxkcmVsZWFzZS5iYXQgc2NyaXB0OgorCisgICAgc2V0IFBZVEhPTj08cGF0aCB0byBQeXRob24gMi43PgorICAgIHNldCBTUEhJTlhCVUlMRD08cGF0aCB0byBzcGhpbngtYnVpbGQuZXhlPgorICAgIHNldCBQQVRIPTxwYXRoIHRvIE1lcmN1cmlhbCAoaGcuZXhlKT47CisgICAgICAgICAgICAgPHBhdGggdG8gSFRNTCBIZWxwIENvbXBpbGVyIChoaGMuZXhlKT47JVBBVEglCisKKyAgICBidWlsZHJlbGVhc2UuYmF0IFsteDg2XSBbLXg2NF0gWy1EXSBbLUJdCisgICAgICAgIFstbyA8b3V0cHV0IGRpcmVjdG9yeT5dIFstYyA8Y2VydGlmaWNhdGUgbmFtZT5dCisKK1NwZWNpZnkgLXg4NiBhbmQvb3IgLXg2NCB0byBidWlsZCBmb3IgZWFjaCBwbGF0Zm9ybS4gSWYgbmVpdGhlciBpcworc3BlY2lmaWVkLCBib3RoIHBsYXRmb3JtcyB3aWxsIGJlIGJ1aWx0LiBDdXJyZW50bHksIGJvdGggdGhlIGRlYnVnIGFuZAorcmVsZWFzZSB2ZXJzaW9ucyBvZiBQeXRob24gYXJlIHJlcXVpcmVkIGZvciB0aGUgaW5zdGFsbGVyLgorCitTcGVjaWZ5IC1EIHRvIHNraXAgcmVidWlsZGluZyB0aGUgZG9jdW1lbnRhdGlvbi4gVGhlIGRvY3VtZW50YXRpb24gaXMKK3JlcXVpcmVkIGZvciBhIHJlbGVhc2UgYW5kIHRoZSBidWlsZCB3aWxsIGZhaWwgaWYgaXQgaXMgbm90IGF2YWlsYWJsZS4KKworU3BlY2lmeSAtQiB0byBza2lwIHJlYnVpbGRpbmcgUHl0aG9uLiBUaGlzIGlzIHVzZWZ1bCB0byBvbmx5IHJlYnVpbGQgdGhlCitpbnN0YWxsZXIgbGF5b3V0IGFmdGVyIGEgcHJldmlvdXMgY2FsbCB0byBidWlsZHJlbGVhc2UuYmF0LgorCitTcGVjaWZ5IC1vIHRvIHNldCBhbiBvdXRwdXQgZGlyZWN0b3J5LiBUaGUgaW5zdGFsbGVyIGxheW91dHMgd2lsbCBiZQorY29waWVkIHRvIHBsYXRmb3JtLXNwZWNpZmljIHN1YmRpcmVjdG9yaWVzIG9mIHRoaXMgcGF0aC4KKworU3BlY2lmeSAtYyB0byBjaG9vc2UgYSBjb2RlLXNpZ25pbmcgY2VydGlmaWNhdGUgdG8gYmUgdXNlZCBmb3IgYWxsIHRoZQorc2lnbmFibGUgYmluYXJpZXMgaW4gUHl0aG9uIGFzIHdlbGwgYXMgZWFjaCBmaWxlIG1ha2luZyB1cCB0aGUKK2luc3RhbGxlci4gT2ZmaWNpYWwgcmVsZWFzZXMgb2YgUHl0aG9uIG11c3QgYmUgc2lnbmVkLgorCitFbnN1cmUgJVBZVEhPTiUgYW5kICVTUEhJTlhCVUlMRCUgYXJlIHNldCB3aGVuIHBhc3NpbmcgdGhpcyBvcHRpb24uIFlvdQorbWF5IGFsc28gc2V0ICVIVE1MSEVMUCUgdG8gdGhlIEh0bWwgSGVscCBDb21waWxlciAoaGhjLmV4ZSksIG9yIHB1dCBISEMKK29uIHlvdXIgUEFUSCBvciBpbiBleHRlcm5hbHMvLiBZb3Ugd2lsbCBhbHNvIG5lZWQgTWVyY3VyaWFsIChoZy5leGUpIG9uCit5b3VyIFBBVEguCisKK0lmIFdpWCBpcyBub3QgZm91bmQgb24geW91ciBzeXN0ZW0sIGl0IHdpbGwgYmUgYXV0b21hdGljYWxseSBkb3dubG9hZGVkCithbmQgZXh0cmFjdGVkIHRvIHRoZSBleHRlcm5hbHMvIGRpcmVjdG9yeS4KKworVG8gbWFudWFsbHkgYnVpbGQgbGF5b3V0cyBvZiB0aGUgaW5zdGFsbGVyLCBidWlsZCBvbmUgb2YgdGhlIHByb2plY3RzIGluCit0aGUgYnVuZGxlIGZvbGRlci4KKworICAgIG1zYnVpbGQgYnVuZGxlXHNuYXBzaG90LndpeHByb2oKKyAgICBtc2J1aWxkIGJ1bmRsZVxyZWxlYXNld2ViLndpeHByb2oKKyAgICBtc2J1aWxkIGJ1bmRsZVxyZWxlYXNlbG9jYWwud2l4cHJvagorICAgIG1zYnVpbGQgYnVuZGxlXGZ1bGwud2l4cHJvagorCitzbmFwc2hvdC53aXhwcm9qIHByb2R1Y2VzIGEgdGVzdCBpbnN0YWxsZXIgdmVyc2lvbmVkIGJhc2VkIG9uIHRoZSBkYXRlLgorCityZWxlYXNld2ViLndpeHByb2ogcHJvZHVjZXMgYSByZWxlYXNlIGluc3RhbGxlciB0aGF0IGRvZXMgbm90IGVtYmVkIGFueQorb2YgdGhlIGxheW91dC4KKworcmVsZWFzZWxvY2FsLndpeHByb2ogcHJvZHVjZXMgYSByZWxlYXNlIGluc3RhbGxlciB0aGF0IGVtYmVkcyB0aGUgZmlsZXMKK3JlcXVpcmVkIGZvciBhIGRlZmF1bHQgaW5zdGFsbGF0aW9uLgorCitmdWxsLndpeHByb2ogcHJvZHVjZXMgYSB0ZXN0IGluc3RhbGxlciB0aGF0IGVtYmVkcyB0aGUgZW50aXJlIGxheW91dC4KKworVGhlIGZvbGxvd2luZyBwcm9wZXJ0aWVzIG1heSBiZSBwYXNzZWQgd2hlbiBidWlsZGluZyB0aGVzZSBwcm9qZWN0cy4KKworICAvcDpCdWlsZEZvclJlbGVhc2U9KHRydWV8ZmFsc2UpCisgICAgV2hlbiB0cnVlLCBhZGRzIGV4dHJhIHZlcmlmaWNhdGlvbiB0byBlbnN1cmUgYSBjb21wbGV0ZSBpbnN0YWxsZXIgaXMKKyAgICBwcm9kdWNlZC4gRm9yIGV4YW1wbGUsIGJpbnV0aWxzIGlzIHJlcXVpcmVkIHdoZW4gYnVpbGRpbmcgZm9yIGEgcmVsZWFzZQorICAgIHRvIGdlbmVyYXRlIE1pbkdXLWNvbXBhdGlibGUgbGlicmFyaWVzLCBhbmQgdGhlIGJ1aWxkIHdpbGwgYmUgYWJvcnRlZCBpZgorICAgIHRoaXMgZmFpbHMuIERlZmF1bHRzIHRvIGZhbHNlLgorCisgIC9wOlJlbGVhc2VVcmk9KGFueSBVUkkpCisgICAgVXNlZCB0byBnZW5lcmF0ZSB1bmlxdWUgSURzIGZvciB0aGUgaW5zdGFsbGVycyB0byBhbGxvdyBzaWRlLWJ5LXNpZGUKKyAgICBpbnN0YWxsYXRpb24uIEZvcmtzIG9mIFB5dGhvbiBjYW4gdXNlIHRoZSBzYW1lIGluc3RhbGxlciBpbmZyYXN0cnVjdHVyZQorICAgIGJ5IHByb3ZpZGluZyBhIHVuaXF1ZSBVUkkgZm9yIHRoaXMgcHJvcGVydHkuIEl0IGRvZXMgbm90IG5lZWQgdG8gYmUgYW4KKyAgICBhY3RpdmUgaW50ZXJuZXQgYWRkcmVzcy4gRGVmYXVsdHMgdG8gJChDb21wdXRlck5hbWUpLgorCisgICAgT2ZmaWNpYWwgcmVsZWFzZXMgdXNlIGh0dHA6Ly93d3cucHl0aG9uLm9yZy8oYXJjaGl0ZWN0dXJlIG5hbWUpCisKKyAgL3A6RG93bmxvYWRVcmxCYXNlPShhbnkgVVJJKQorICAgIFNwZWNpZmllcyB0aGUgYmFzZSBvZiBhIFVSTCB3aGVyZSBtaXNzaW5nIHBhcnRzIG9mIHRoZSBpbnN0YWxsZXIgbGF5b3V0CisgICAgY2FuIGJlIGRvd25sb2FkZWQgZnJvbS4gVGhlIGJ1aWxkIHZlcnNpb24gYW5kIGFyY2hpdGVjdHVyZSB3aWxsIGJlCisgICAgYXBwZW5kZWQgdG8gY3JlYXRlIHRoZSBmdWxsIGFkZHJlc3MuIElmIG9taXR0ZWQsIG1pc3NpbmcgY29tcG9uZW50cyB3aWxsCisgICAgbm90IGJlIGF1dG9tYXRpY2FsbHkgZG93bmxvYWRlZC4KKworICAvcDpEb3dubG9hZFVybD0oYW55IFVSSSkKKyAgICBTcGVjaWZpZXMgdGhlIGZ1bGwgVVJMIHdoZXJlIG1pc3NpbmcgcGFydHMgb2YgdGhlIGluc3RhbGxlciBsYXlvdXQgY2FuCisgICAgYmUgZG93bmxvYWRlZCBmcm9tLiBTaG91bGQgbm9ybWFsbHkgaW5jbHVkZSAnezJ9Jywgd2hpY2ggd2lsbCBiZQorICAgIHN1YnN0aXR1dGVkIGZvciB0aGUgZmlsZW5hbWUuIElmIG9taXR0ZWQsIG1pc3NpbmcgY29tcG9uZW50cyB3aWxsIG5vdCBiZQorICAgIGF1dG9tYXRpY2FsbHkgZG93bmxvYWRlZC4gSWYgc3BlY2lmaWVkLCB0aGlzIHZhbHVlIG92ZXJyaWRlcworICAgIERvd25sb2FkVXJsQmFzZS4KKworICAvcDpTaWduaW5nQ2VydGlmaWNhdGU9KGNlcnRpZmljYXRlIG5hbWUpCisgICAgU3BlY2lmaWVzIHRoZSBjZXJ0aWZpY2F0ZSB0byBzaWduIHRoZSBpbnN0YWxsZXIgbGF5b3V0IHdpdGguIElmIG9taXR0ZWQsCisgICAgdGhlIGxheW91dCB3aWxsIG5vdCBiZSBzaWduZWQuCisKKyAgL3A6UmVidWlsZEFsbD0odHJ1ZXxmYWxzZSkKKyAgICBXaGVuIHRydWUsIHJlYnVpbGRzIGFsbCBvZiB0aGUgTVNJcyBtYWtpbmcgdXAgdGhlIGxheW91dC4gRGVmYXVsdHMgdG8KKyAgICB0cnVlLgorCitNb2RpZnlpbmcgdGhlIEluc3RhbGxlcgorPT09PT09PT09PT09PT09PT09PT09PT0KKworVGhlIGNvZGUgZm9yIHRoZSBpbnN0YWxsZXIgaXMgZGl2aWRlZCBpbnRvIHRocmVlIG1haW4gZ3JvdXBzOiBwYWNrYWdlcywKK3RoZSBidW5kbGUgYW5kIHRoZSBib290c3RyYXAgYXBwbGljYXRpb24uCisKK1BhY2thZ2VzCistLS0tLS0tLQorCitQYWNrYWdlcyBhcHBlYXIgYXMgc3ViZGlyZWN0b3JpZXMgb2YgVG9vbHMvbXNpIChvdGhlciB0aGFuIHRoZSBidW5kbGUvCitkaXJlY3RvcnkpLiBUaGUgcHJvamVjdCBmaWxlIGlzIGEgLndpeHByb2ogYW5kIHRoZSBidWlsZCBvdXRwdXQgaXMgYQorc2luZ2xlIE1TSS4gUGFja2FnZXMgYXJlIGJ1aWx0IHdpdGggdGhlIFdpWCBUb29sc2V0LiBTb21lIHByb2plY3QgZmlsZXMKK3NoYXJlIHNvdXJjZSBmaWxlcyBhbmQgdXNlIHByZXByb2Nlc3NvciBkaXJlY3RpdmVzIHRvIGVuYWJsZSBwYXJ0aWN1bGFyCitmZWF0dXJlcy4gVGhlc2UgYXJlIHR5cGljYWxseSB1c2VkIHRvIGtlZXAgdGhlIHNvdXJjZXMgY2xvc2Ugd2hlbiB0aGUKK2ZpbGVzIGFyZSByZWxhdGVkLCBidXQgcHJvZHVjZSBtdWx0aXBsZSBpbmRlcGVuZGVudCBwYWNrYWdlcy4KKworQSBwYWNrYWdlIGlzIHRoZSBzbWFsbGVzdCBlbGVtZW50IHRoYXQgbWF5IGJlIGluZGVwZW5kZW50bHkgaW5zdGFsbGVkIG9yCit1bmluc3RhbGxlZCAoYXMgdXNlZCBpbiB0aGlzIGluc3RhbGxlcikuIEZvciBleGFtcGxlLCB0aGUgdGVzdCBzdWl0ZSBoYXMKK2l0cyBvd24gcGFja2FnZSwgYXMgdXNlcnMgY2FuIGNob29zZSB0byBhZGQgb3IgcmVtb3ZlIGl0IGFmdGVyIHRoZQoraW5pdGlhbCBpbnN0YWxsYXRpb24uCisKK0FsbCB0aGUgZmlsZXMgaW5zdGFsbGVkIGJ5IGEgc2luZ2xlIHBhY2thZ2Ugc2hvdWxkIGJlIHJlbGF0ZWQsIHRob3VnaAorc29tZSBwYWNrYWdlcyBtYXkgbm90IGluc3RhbGwgYW55IGZpbGVzLiBGb3IgZXhhbXBsZSwgdGhlIHBpcCBwYWNrYWdlCitleGVjdXRlcyB0aGUgZW5zdXJlcGlwIHBhY2thZ2UsIGJ1dCBkb2VzIG5vdCBhZGQgb3IgcmVtb3ZlIGFueSBvZiBpdHMKK293biBmaWxlcy4gKEl0IGlzIHJlcHJlc2VudGVkIGFzIGEgcGFja2FnZSBiZWNhdXNlIG9mIGl0cworaW5zdGFsbGVkL3VuaW5zdGFsbGVkIG5hdHVyZSwgYXMgb3Bwb3NlZCB0byB0aGUgInByZWNvbXBpbGUgc3RhbmRhcmQKK2xpYnJhcnkiIG9wdGlvbiwgZm9yIGV4YW1wbGUuKSBEZXBlbmRlbmNpZXMgYmV0d2VlbiBwYWNrYWdlcyBhcmUgaGFuZGxlZAorYnkgdGhlIGJ1bmRsZSwgYnV0IHBhY2thZ2VzIHNob3VsZCBkZXRlY3Qgd2hlbiBkZXBlbmRlbmNpZXMgYXJlIG1pc3NpbmcKK2FuZCByYWlzZSBhbiBlcnJvci4KKworUGFja2FnZXMgdGhhdCBpbmNsdWRlIGEgbG90IG9mIGZpbGVzIG1heSB1c2UgYW4gSW5zdGFsbEZpbGVzIGVsZW1lbnQgaW4KK3RoZSAud2l4cHJvaiBmaWxlIHRvIGdlbmVyYXRlIHNvdXJjZXMuIFNlZSBsaWIvbGliLndpeHByb2ogZm9yIGFuCitleGFtcGxlLCBhbmQgbXNpLnRhcmdldHMgYW5kIGNzdl90b193eHMucHkgZm9yIHRoZSBpbXBsZW1lbnRhdGlvbi4gVGhpcworZWxlbWVudCBpcyBhbHNvIHJlc3BvbnNpYmxlIGZvciBnZW5lcmF0aW5nIHRoZSBjb2RlIGZvciBjbGVhbmluZyB1cCBhbmQKK3JlbW92aW5nIF9fcHljYWNoZV9fIGZvbGRlcnMgaW4gYW55IGRpcmVjdG9yeSBjb250YWluaW5nIC5weSBmaWxlcy4KKworQWxsIHBhY2thZ2VzIGFyZSBidWlsdCB3aXRoIHRoZSBUb29scy9tc2kvY29tbW9uLnd4cyBmaWxlLCBhbmQgc28gYW55CitkaXJlY3Rvcnkgb3IgcHJvcGVydHkgaW4gdGhpcyBmaWxlIG1heSBiZSByZWZlcmVuY2VkLiBPZiBwYXJ0aWN1bGFyCitpbnRlcmVzdDoKKworICBSRUdJU1RSWUtFWSAocHJvcGVydHkpCisgICAgVGhlIHJlZ2lzdHJ5IGtleSBmb3IgdGhlIGN1cnJlbnQgaW5zdGFsbGF0aW9uLgorCisgIEluc3RhbGxEaXJlY3RvcnkgKGRpcmVjdG9yeSkKKyAgICBUaGUgcm9vdCBpbnN0YWxsIGRpcmVjdG9yeSBmb3IgdGhlIGN1cnJlbnQgaW5zdGFsbGF0aW9uLiBTdWJkaXJlY3RvcmllcworICAgIGFyZSBhbHNvIHNwZWNpZmllZCBpbiB0aGlzIGZpbGUgKERMTHMsIExpYiwgZXRjLikKKworICBNZW51RGlyIChkaXJlY3RvcnkpCisgICAgVGhlIFN0YXJ0IE1lbnUgZm9sZGVyIGZvciB0aGUgY3VycmVudCBpbnN0YWxsYXRpb24uCisKKyAgVXBncmFkZVRhYmxlIChwcm9wZXJ0eSkKKyAgICBFdmVyeSBwYWNrYWdlIHNob3VsZCByZWZlcmVuY2UgdGhpcyBwcm9wZXJ0eSB0byBpbmNsdWRlIHVwZ3JhZGUKKyAgICBpbmZvcm1hdGlvbi4KKworVGhlIC53eGxfdGVtcGxhdGUgZmlsZSBpcyBzcGVjaWFsbHkgaGFuZGxlZCBieSB0aGUgYnVpbGQgc3lzdGVtIGZvciB0aGlzCitwcm9qZWN0IHRvIHBlcmZvcm0ge3tzdWJzdGl0dXRpb25zfX0gYXMgZGVmaW5lZCBpbiBtc2kudGFyZ2V0cy4gVGhleQorc2hvdWxkIGJlIGluY2x1ZGVkIGluIHByb2plY3RzIGFzIDxXeGxUZW1wbGF0ZT4gaXRlbXMsIHdoZXJlIC53eGwgZmlsZXMKK2FyZSBub3JtYWxseSBpbmNsdWRlZCBhcyA8RW1iZWRkZWRSZXNvdXJjZT4gaXRlbXMuCisKK0J1bmRsZQorLS0tLS0tCisKK1RoZSBidW5kbGUgaXMgY29tcGlsZWQgdG8gdGhlIG1haW4gRVhFIGVudHJ5IHBvaW50IHRoYXQgZm9yIG1vc3QgdXNlcnMKK3dpbGwgcmVwcmVzZW50IHRoZSBQeXRob24gaW5zdGFsbGVyLiBJdCBpcyBidWlsdCBmcm9tIFRvb2xzL21zaS9idW5kbGUKK3dpdGggcGFja2FnZXMgcmVmZXJlbmNlcyBpbiBUb29scy9tc2kvYnVuZGxlL3BhY2thZ2Vncm91cHMuCisKK0J1aWxkIGxvZ2ljIGZvciB0aGUgYnVuZGxlIGlzIGluIGJ1bmRsZS50YXJnZXRzLCBidXQgc2hvdWxkIGJlIGludm9rZWQKK3Rocm91Z2ggb25lIG9mIHRoZSAud2l4cHJvaiBmaWxlcyBhcyBkZXNjcmliZWQgaW4gQnVpbGRpbmcgdGhlCitJbnN0YWxsZXIuCisKK1RoZSBVSSBpcyBzZXBhcmF0ZWQgYmV0d2VlbiBEZWZhdWx0LnRobSAoVUkgbGF5b3V0KSwgRGVmYXVsdC53eGwKKyhzdHJpbmdzKSwgYnVuZGxlLnd4cyAocHJvcGVydGllcykgYW5kIHRoZSBib290c3RyYXAgYXBwbGljYXRpb24uCitCdW5kbGUud3hzIGFsc28gY29udGFpbnMgdGhlIGNoYWluLCB3aGljaCBpcyB0aGUgbGlzdCBvZiBwYWNrYWdlcyB0bworaW5zdGFsbCBhbmQgdGhlIG9yZGVyIHRoZXkgc2hvdWxkIGJlIGluc3RhbGxlZCBpbi4gVGhlc2UgcmVmZXIgdG8gbmFtZWQKK3BhY2thZ2UgZ3JvdXBzIGluIGJ1bmRsZS9wYWNrYWdlZ3JvdXBzLgorCitFYWNoIHBhY2thZ2UgZ3JvdXAgc3BlY2lmaWVzIG9uZSBvciBtb3JlIHBhY2thZ2VzIHRvIGluc3RhbGwuIE1vc3QKK3BhY2thZ2VzIHJlcXVpcmUgdHdvIHNlcGFyYXRlIGVudHJpZXMgdG8gc3VwcG9ydCBib3RoIHBlci11c2VyIGFuZAorYWxsLXVzZXJzIGluc3RhbGxhdGlvbnMuIEJlY2F1c2UgdGhlc2UgcmV1c2UgdGhlIHNhbWUgcGFja2FnZSwgaXQgZG9lcworbm90IGluY3JlYXNlIHRoZSBvdmVyYWxsIHNpemUgb2YgdGhlIHBhY2thZ2UuCisKK1BhY2thZ2UgZ3JvdXBzIHJlZmVyIHRvIHBheWxvYWQgZ3JvdXBzLCB3aGljaCBhbGxvdyBiZXR0ZXIgY29udHJvbCBvdmVyCitlbWJlZGRpbmcgYW5kIGRvd25sb2FkaW5nIGZpbGVzIHRoYW4gdGhlIGRlZmF1bHQgc2V0dGluZ3MuIFdoZXRoZXIgZmlsZXMKK2FyZSBlbWJlZGRlZCBhbmQgd2hlcmUgdGhleSBhcmUgZG93bmxvYWRlZCBmcm9tIGRlcGVuZHMgb24gc2V0dGluZ3MKK2NyZWF0ZWQgYnkgdGhlIHByb2plY3QgZmlsZXMuCisKK1BhY2thZ2UgcmVmZXJlbmNlcyBjYW4gaW5jbHVkZSBpbnN0YWxsIGNvbmRpdGlvbnMgdGhhdCBkZXRlcm1pbmUgd2hlbiB0bworaW5zdGFsbCB0aGUgcGFja2FnZS4gV2hlbiBhIHBhY2thZ2UgaXMgYSBkZXBlbmRlbmN5IGZvciBvdGhlcnMsIHRoZQorY29uZGl0aW9uIHNob3VsZCBiZSBjcmFmdGVkIHRvIGVuc3VyZSBpdCBpcyBpbnN0YWxsZWQuCisKK01TSSBwYWNrYWdlcyBhcmUgaW5zdGFsbGVkIG9yIHVuaW5zdGFsbGVkIGJhc2VkIG9uIHRoZWlyIGN1cnJlbnQgc3RhdGUKK2FuZCB0aGUgaW5zdGFsbCBjb25kaXRpb24uIFRoaXMgbWFrZXMgdGhlbSBtb3N0IHN1aXRhYmxlIGZvciBmZWF0dXJlcwordGhhdCBhcmUgY2xlYXJseSBwcmVzZW50IG9yIGFic2VudCBmcm9tIHRoZSB1c2VyJ3MgbWFjaGluZS4KKworRVhFIHBhY2thZ2VzIGFyZSBleGVjdXRlZCBiYXNlZCBvbiBhIGN1c3RvbWlzYWJsZSBjb25kaXRpb24gdGhhdCBjYW4gYmUKK29taXR0ZWQuIFRoaXMgbWFrZXMgdGhlbSBzdWl0YWJsZSBmb3IgcHJlLSBvciBwb3N0LWluc3RhbGwgdGFza3MgdGhhdAorbmVlZCB0byBydW4gcmVnYXJkbGVzcyBvZiB3aGV0aGVyIGZlYXR1cmVzIGhhdmUgYmVlbiBhZGRlZCBvciByZW1vdmVkLgorCitCb290c3RyYXAgQXBwbGljYXRpb24KKy0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitUaGUgYm9vdHN0cmFwIGFwcGxpY2F0aW9uIGlzIGEgQysrIGFwcGxpY2F0aW9uIHRoYXQgY29udHJvbHMgdGhlIFVJIGFuZAoraW5zdGFsbGF0aW9uLiBXaGlsZSBpdCBkb2VzIG5vdCBkaXJlY3RseSBjb21waWxlIGludG8gdGhlIG1haW4gRVhFIG9mCit0aGUgaW5zdGFsbGVyLCBpdCBmb3JtcyB0aGUgbWFpbiBhY3RpdmUgY29tcG9uZW50LiBNb3N0IG9mIHRoZQoraW5zdGFsbGF0aW9uIGZ1bmN0aW9uYWxpdHkgaXMgcHJvdmlkZWQgYnkgV2lYLCBhbmQgc28gdGhlIGJvb3RzdHJhcAorYXBwbGljYXRpb24gaXMgcHJlZG9taW5hbnRseSByZXNwb25zaWJsZSBmb3IgdGhlIGNvZGUgYmVoaW5kIHRoZSBVSSB0aGF0CitpcyBkZWZpbmVkIGluIHRoZSBEZWZhdWx0LnRobSBmaWxlLiBUaGUgYm9vdHN0cmFwIGFwcGxpY2F0aW9uIGNvZGUgaXMgaW4KK2J1bmRsZS9ib290c3RyYXAgYW5kIGlzIGJ1aWx0IGF1dG9tYXRpY2FsbHkgd2hlbiBidWlsZGluZyB0aGUgYnVuZGxlLgorCitJbnN0YWxsYXRpb24gTGF5b3V0Cis9PT09PT09PT09PT09PT09PT09CisKK1RoZXJlIGFyZSB0d28gaW5zdGFsbGF0aW9uIGxheW91dHMgZm9yIFB5dGhvbiBvbiBXaW5kb3dzLCB3aXRoIHRoZSBvbmx5CitkaWZmZXJlbmNlcyBiZWluZyBzdXBwb3J0aW5nIGZpbGVzLiBBIGxheW91dCBpcyBzZWxlY3RlZCBpbXBsaWNpdGx5CitiYXNlZCBvbiB3aGV0aGVyIHRoZSBpbnN0YWxsIGlzIGZvciBhbGwgdXNlcnMgb2YgdGhlIG1hY2hpbmUgb3IganVzdCBmb3IKK3RoZSB1c2VyIHBlcmZvcm1pbmcgdGhlIGluc3RhbGxhdGlvbi4KKworVGhlIGRlZmF1bHQgaW5zdGFsbGF0aW9uIGxvY2F0aW9uIHdoZW4gaW5zdGFsbGluZyBmb3IgYWxsIHVzZXJzIGlzCisiJVByb2dyYW1GaWxlcyVcUHl0aG9uIDMuWCIgZm9yIHRoZSA2NC1iaXQgaW50ZXJwcmV0ZXIgYW5kCisiJVByb2dyYW1GaWxlcyh4ODYpJVxQeXRob24gMy5YIiBmb3IgdGhlIDMyLWJpdCBpbnRlcnByZXRlci4gKE5vdGUgdGhhdAordGhlIGxhdHRlciBwYXRoIGlzIGVxdWl2YWxlbnQgdG8gIiVQcm9ncmFtRmlsZXMlXFB5dGhvbiAzLlgiIHdoZW4KK3J1bm5pbmcgYSAzMi1iaXQgdmVyc2lvbiBvZiBXaW5kb3dzLikgVGhpcyBsb2NhdGlvbiByZXF1aXJlcworYWRtaW5pc3RyYXRpdmUgcHJpdmlsZWdlcyB0byBpbnN0YWxsIG9yIGxhdGVyIG1vZGlmeSB0aGUgaW5zdGFsbGF0aW9uLgorCitUaGUgZGVmYXVsdCBpbnN0YWxsYXRpb24gbG9jYXRpb24gd2hlbiBpbnN0YWxsaW5nIGZvciB0aGUgY3VycmVudCB1c2VyCitpcyAiJUxvY2FsQXBwRGF0YSVcUHJvZ3JhbXNcUHl0aG9uXFB5dGhvbjNYIiBmb3IgdGhlIDY0LWJpdCBpbnRlcnByZXRlcgorYW5kICIlTG9jYWxBcHBEYXRhJVxQcm9ncmFtc1xQeXRob25cUHl0aG9uM1gtMzIiIGZvciB0aGUgMzItYml0CitpbnRlcnByZXRlci4gT25seSB0aGUgY3VycmVudCB1c2VyIGNhbiBhY2Nlc3MgdGhpcyBsb2NhdGlvbi4gVGhpcworcHJvdmlkZXMgYSBzdWl0YWJsZSBsZXZlbCBvZiBwcm90ZWN0aW9uIGFnYWluc3QgbWFsaWNpb3VzIG1vZGlmaWNhdGlvbgorb2YgUHl0aG9uJ3MgZmlsZXMuCisKK1dpdGhpbiB0aGlzIGluc3RhbGwgZGlyZWN0b3J5IGlzIHRoZSBmb2xsb3dpbmcgYXBwcm94aW1hdGUgbGF5b3V0OgorCisuXHB5dGhvblt3XS5leGUgVGhlIGNvcmUgZXhlY3V0YWJsZSBmaWxlcworLlxETExzICAgICAgICAgIFN0ZGxpYiBleHRlbnNpb25zICgqLnB5ZCkgYW5kIGRlcGVuZGVuY2llcworLlxEb2MgICAgICAgICAgIERvY3VtZW50YXRpb24gKCouY2htKQorLlxpbmNsdWRlICAgICAgIERldmVsb3BtZW50IGhlYWRlcnMgKCouaCkKKy5cTGliICAgICAgICAgICBTdGFuZGFyZCBsaWJyYXJ5CisuXExpYlx0ZXN0ICAgICAgVGVzdCBzdWl0ZQorLlxsaWJzICAgICAgICAgIERldmVsb3BtZW50IGxpYnJhcmllcyAoKi5saWIpCisuXFNjcmlwdHMgICAgICAgTGF1bmNoZXIgc2NyaXB0cyAoKi5leGUsICoucHkpCisuXHRjbCAgICAgICAgICAgVGNsIGRlcGVuZGVuY2llcyAoKi5kbGwsICoudGNsIGFuZCBvdGhlcnMpCisuXFRvb2xzICAgICAgICAgVG9vbCBzY3JpcHRzICgqLnB5KQorCitXaGVuIGluc3RhbGxlZCBmb3IgYWxsIHVzZXJzLCB0aGUgZm9sbG93aW5nIGZpbGVzIGFyZSBpbnN0YWxsZWQgdG8KK2VpdGhlciAiJVN5c3RlbVJvb3QlXFN5c3RlbTMyIiBvciAiJVN5c3RlbVJvb3QlXFN5c1dPVzY0IiBhcworYXBwcm9wcmlhdGUuIEZvciB0aGUgY3VycmVudCB1c2VyLCB0aGV5IGFyZSBpbnN0YWxsZWQgaW4gdGhlIFB5dGhvbgoraW5zdGFsbCBkaXJlY3RvcnkuCisKKy5ccHl0aG9uM3guZGxsICAgICAgVGhlIGNvcmUgaW50ZXJwcmV0ZXIKKy5ccHl0aG9uMy5kbGwgICAgICAgVGhlIHN0YWJsZSBBQkkgcmVmZXJlbmNlCisuXGFwcGNydDE0MC5kbGwgICAgIE1pY3Jvc29mdCBWaXN1YWwgQyBSdW50aW1lCisuXGRlc2t0b3BjcnQxNDAuZGxsIE1pY3Jvc29mdCBWaXN1YWwgQyBSdW50aW1lCisuXHZjcnVudGltZTE0MC5kbGwgIE1pY3Jvc29mdCBWaXN1YWwgQyBSdW50aW1lCisKK1doZW4gaW5zdGFsbGVkIGZvciBhbGwgdXNlcnMsIHRoZSBmb2xsb3dpbmcgZmlsZXMgYXJlIGluc3RhbGxlZCB0bworIiVTeXN0ZW1Sb290JSIgKHR5cGljYWxseSAiQzpcV2luZG93cyIpIHRvIGVuc3VyZSB0aGV5IGFyZSBhbHdheXMKK2F2YWlsYWJsZSBvbiBQQVRILiAoU2VlIExhdW5jaGluZyBQeXRob24gYmVsb3cuKSBGb3IgdGhlIGN1cnJlbnQgdXNlciwKK3RoZXkgYXJlIGluc3RhbGxlZCBpbiB0aGUgUHl0aG9uIGluc3RhbGwgZGlyZWN0b3J5LgorCisuXHB5W3ddLmV4ZSAgICAgICAgIFBFUCAzOTcgbGF1bmNoZXIKKworU3lzdGVtIFNldHRpbmdzCis9PT09PT09PT09PT09PT0KKworT24gaW5zdGFsbGF0aW9uLCByZWdpc3RyeSBrZXlzIGFyZSBjcmVhdGVkIHNvIHRoYXQgb3RoZXIgYXBwbGljYXRpb25zCitjYW4gbG9jYXRlIGFuZCBpZGVudGlmeSBpbnN0YWxsYXRpb25zIG9mIFB5dGhvbi4gVGhlIGxvY2F0aW9ucyBvZiB0aGVzZQora2V5cyB2YXJ5IGJhc2VkIG9uIHRoZSBpbnN0YWxsIHR5cGUuCisKK0ZvciA2NC1iaXQgaW50ZXJwcmV0ZXJzIGluc3RhbGxlZCBmb3IgYWxsIHVzZXJzLCB0aGUgcm9vdCBrZXkgaXM6CisgICAgSEtFWV9MT0NBTF9NQUNISU5FXFNvZnR3YXJlXFB5dGhvblxQeXRob25Db3JlXDMuWAorCitGb3IgMzItYml0IGludGVycHJldGVycyBpbnN0YWxsZWQgZm9yIGFsbCB1c2VycyBvbiBhIDY0LWJpdCBvcGVyYXRpbmcKK3N5c3RlbSwgdGhlIHJvb3Qga2V5IGlzOgorICAgIEhLRVlfTE9DQUxfTUFDSElORVxTb2Z0d2FyZVxXb3c2NDMyTm9kZVxQeXRob25cUHl0aG9uQ29yZVwzLlgtMzIKKworRm9yIDMyLWJpdCBpbnRlcnByZXRlcnMgaW5zdGFsbGVkIGZvciBhbGwgdXNlcnMgb24gYSAzMi1iaXQgb3BlcmF0aW5nCitzeXN0ZW0sIHRoZSByb290IGtleSBpczoKKyAgICBIS0VZX0xPQ0FMX01BQ0hJTkVcU29mdHdhcmVcUHl0aG9uXFB5dGhvbkNvcmVcMy5YLTMyCisKK0ZvciA2NC1iaXQgaW50ZXJwcmV0ZXJzIGluc3RhbGxlZCBmb3IgdGhlIGN1cnJlbnQgdXNlcjoKKyAgICBIS0VZX0NVUlJFTlRfVVNFUlxTb2Z0d2FyZVxQeXRob25cUHl0aG9uQ29yZVwzLlgKKworRm9yIDMyLWJpdCBpbnRlcnByZXRlcnMgaW5zdGFsbGVkIGZvciB0aGUgY3VycmVudCB1c2VyOgorICAgIEhLRVlfQ1VSUkVOVF9VU0VSXFNvZnR3YXJlXFB5dGhvblxQeXRob25Db3JlXDMuWC0zMgorCitXaGVuIHRoZSBjb3JlIFB5dGhvbiBleGVjdXRhYmxlcyBhcmUgaW5zdGFsbGVkLCBhIGtleSAiSW5zdGFsbFBhdGgiIGlzCitjcmVhdGVkIHdpdGhpbiB0aGUgcm9vdCBrZXkgd2l0aCBpdHMgZGVmYXVsdCB2YWx1ZSBzZXQgdG8gdGhlCitleGVjdXRhYmxlJ3MgaW5zdGFsbCBkaXJlY3RvcnkuIFdpdGhpbiB0aGlzIGtleSwgYSBrZXkgIkluc3RhbGxHcm91cCIgaXMKK2NyZWF0ZWQgd2l0aCBpdHMgZGVmYXVsdCB2YWx1ZSBzZXQgdG8gdGhlIHByb2R1Y3QgbmFtZSAiUHl0aG9uIDMuWCIuCisKK1doZW4gdGhlIFB5dGhvbiBzdGFuZGFyZCBsaWJyYXJ5IGlzIGluc3RhbGxlZCwgYSBrZXkgIlB5dGhvblBhdGgiIGlzCitjcmVhdGVkIHdpdGhpbiB0aGUgcm9vdCBrZXkgd2l0aCBpdHMgZGVmYXVsdCB2YWx1ZSBzZXQgdG8gdGhlIGZ1bGwgcGF0aAordG8gdGhlIExpYiBmb2xkZXIgZm9sbG93ZWQgYnkgdGhlIHBhdGggdG8gdGhlIERMTHMgZm9sZGVyLCBzZXBhcmF0ZWQgYnkKK2Egc2VtaWNvbG9uLgorCitXaGVuIHRoZSBkb2N1bWVudGF0aW9uIGlzIGluc3RhbGxlZCwgYSBrZXkgIkhlbHAiIGlzIGNyZWF0ZWQgd2l0aGluIHRoZQorcm9vdCBrZXksIHdpdGggYSBzdWJrZXkgIk1haW4gUHl0aG9uIERvY3VtZW50YXRpb24iIHdpdGggaXRzIGRlZmF1bHQKK3ZhbHVlIHNldCB0byB0aGUgZnVsbCBwYXRoIHRvIHRoZSBpbnN0YWxsZWQgQ0hNIGZpbGUuCisKKworVGhlIHB5LmV4ZSBsYXVuY2hlciBpcyBpbnN0YWxsZWQgYXMgcGFydCBvZiBhIHJlZ3VsYXIgUHl0aG9uIGluc3RhbGwsCitidXQgdXNpbmcgYSBzZXBhcmF0ZSBtZWNoYW5pc20gdGhhdCBhbGxvd3MgaXQgdG8gbW9yZSBlYXNpbHkgc3BhbgordmVyc2lvbnMgb2YgUHl0aG9uLiBBcyBhIHJlc3VsdCwgaXQgaGFzIGRpZmZlcmVudCByb290IGtleXMgZm9yIGl0cworcmVnaXN0cnkgZW50cmllczoKKworV2hlbiBpbnN0YWxsZWQgZm9yIGFsbCB1c2VycyBvbiBhIDY0LWJpdCBvcGVyYXRpbmcgc3lzdGVtLCB0aGUKK2xhdW5jaGVyJ3Mgcm9vdCBrZXkgaXM6CisgICAgSEtFWV9MT0NBTF9NQUNISU5FXFNvZnR3YXJlXFdvdzY0MzJOb2RlXFB5dGhvblxMYXVuY2hlcgorCitXaGVuIGluc3RhbGxlZCBmb3IgYWxsIHVzZXJzIG9uIGEgMzItYml0IG9wZXJhdGluZyBzeXN0ZW0sIHRoZQorbGF1bmNoZXIncyByb290IGtleSBpczoKKyAgICBIS0VZX0xPQ0FMX01BQ0hJTkVcU29mdHdhcmVcUHl0aG9uXExhdW5jaGVyCisKK1doZW4gaW5zdGFsbGVkIGZvciB0aGUgY3VycmVudCB1c2VyOgorICAgIEhLRVlfQ1VSUkVOVF9VU0VSXFNvZnR3YXJlXFB5dGhvblxMYXVuY2hlcgorCitXaGVuIHRoZSBsYXVuY2hlciBpcyBpbnN0YWxsZWQsIGEga2V5ICJJbnN0YWxsUGF0aCIgaXMgY3JlYXRlZCB3aXRoaW4KK2l0cyByb290IGtleSB3aXRoIGl0cyBkZWZhdWx0IHZhbHVlIHNldCB0byB0aGUgbGF1bmNoZXIncyBpbnN0YWxsCitkaXJlY3RvcnkuIEZpbGUgYXNzb2NpYXRpb25zIGFyZSBhbHNvIGNyZWF0ZWQgZm9yIC5weSwgLnB5dywgLnB5YyBhbmQKKy5weW8gZmlsZXMuCisKK0xhdW5jaGluZyBQeXRob24KKz09PT09PT09PT09PT09PT0KKworV2hlbiBhIGZlYXR1cmUgb2ZmZXJpbmcgdXNlciBlbnRyeSBwb2ludHMgaW4gdGhlIFN0YXJ0IE1lbnUgaXMKK2luc3RhbGxlZCwgYSBmb2xkZXIgIlB5dGhvbiAzLlgiIGlzIGNyZWF0ZWQuIEV2ZXJ5IHNob3J0Y3V0IHNob3VsZCBiZQorY3JlYXRlZCB3aXRoaW4gdGhpcyBmb2xkZXIsIGFuZCBlYWNoIHNob3J0Y3V0IHNob3VsZCBpbmNsdWRlIHRoZSB2ZXJzaW9uCithbmQgcGxhdGZvcm0gdG8gYWxsb3cgdXNlcnMgdG8gaWRlbnRpZnkgdGhlIHNob3J0Y3V0IGluIGEgc2VhcmNoIHJlc3VsdHMKK3BhZ2UuCisKK1RoZSBjb3JlIFB5dGhvbiBleGVjdXRhYmxlcyBjcmVhdGVzIGEgc2hvcnRjdXQgIlB5dGhvbiAzLlggKDMyLWJpdCkiIG9yCisiUHl0aG9uIDMuWCAoNjQtYml0KSIgZGVwZW5kaW5nIG9uIHRoZSBpbnRlcnByZXRlci4KKworVGhlIGRvY3VtZW50YXRpb24gY3JlYXRlcyBhIHNob3J0Y3V0ICJQeXRob24gMy5YIDMyLWJpdCBNYW51YWxzIiBvcgorIlB5dGhvbiAzLlggNjQtYml0IE1hbnVhbHMiLiBUaGUgZG9jdW1lbnRhdGlvbiBpcyBpZGVudGljYWwgZm9yIGFsbAorcGxhdGZvcm1zLCBidXQgdGhlIHNob3J0Y3V0cyBuZWVkIHRvIGJlIHNlcGFyYXRlIHRvIGF2b2lkIHVuaW5zdGFsbGF0aW9uCitjb25mbGljdHMuCisKK0luc3RhbGxpbmcgSURMRSBjcmVhdGVzIGEgc2hvcnRjdXQgIklETEUgKFB5dGhvbiAzLlggMzItYml0KSIgb3IgIklETEUKKyhQeXRob24gMy5YIDY0LWJpdCkiIGRlcGVuZGluZyBvbiB0aGUgaW50ZXJwcmV0ZXIuCisKKworRm9yIHVzZXJzIHdobyBvZnRlbiBsYXVuY2ggUHl0aG9uIGZyb20gYSBDb21tYW5kIFByb21wdCwgYW4gb3B0aW9uIGlzCitwcm92aWRlZCB0byBhZGQgdGhlIGRpcmVjdG9yeSBjb250YWluaW5nIHB5dGhvbi5leGUgdG8gdGhlIHVzZXIgb3IKK3N5c3RlbSBQQVRIIHZhcmlhYmxlLiBJZiB0aGUgb3B0aW9uIGlzIHNlbGVjdGVkLCB0aGUgaW5zdGFsbCBkaXJlY3RvcnkKK2FuZCB0aGUgU2NyaXB0cyBkaXJlY3Rvcnkgd2lsbCBiZSBhZGRlZCBhdCB0aGUgc3RhcnQgb2YgdGhlIHN5c3RlbSBQQVRICitmb3IgYW4gYWxsIHVzZXJzIGluc3RhbGwgYW5kIHRoZSB1c2VyIFBBVEggZm9yIGEgcGVyLXVzZXIgaW5zdGFsbC4KKworV2hlbiB0aGUgdXNlciBvbmx5IGhhcyBvbmUgdmVyc2lvbiBvZiBQeXRob24gaW5zdGFsbGVkLCB0aGlzIHdpbGwgYmVoYXZlCithcyBleHBlY3RlZC4gSG93ZXZlciwgYmVjYXVzZSBXaW5kb3dzIHNlYXJjaGVzIHRoZSBzeXN0ZW0gUEFUSCBiZWZvcmUKK3RoZSB1c2VyIFBBVEgsIHVzZXJzIGNhbm5vdCBvdmVycmlkZSBhIHN5c3RlbS13aWRlIGluc3RhbGxhdGlvbiBvZgorUHl0aG9uIG9uIHRoZWlyIFBBVEguIEZ1cnRoZXIsIGJlY2F1c2UgdGhlIGluc3RhbGxlciBjYW4gb25seSBwcmVwZW5kIHRvCit0aGUgcGF0aCwgbGF0ZXIgaW5zdGFsbGF0aW9ucyBvZiBQeXRob24gd2lsbCB0YWtlIHByZWNlZGVuY2Ugb3ZlcgorZWFybGllciBpbnN0YWxsYXRpb25zLCByZWdhcmRsZXNzIG9mIGludGVycHJldGVyIHZlcnNpb24uCisKK0JlY2F1c2UgaXQgaXMgbm90IHBvc3NpYmxlIHRvIGF1dG9tYXRpY2FsbHkgY3JlYXRlIGEgc2Vuc2libGUgUEFUSAorY29uZmlndXJhdGlvbiwgdXNlcnMgYXJlIHJlY29tbWVuZGVkIHRvIHVzZSB0aGUgcHkuZXhlIGxhdW5jaGVyIGFuZAorbWFudWFsbHkgbW9kaWZ5IHRoZWlyIFBBVEggdmFyaWFibGUgdG8gYWRkIFNjcmlwdHMgZGlyZWN0b3JpZXMgaW4gdGhlaXIKK3ByZWZlcnJlZCBvcmRlci4gU3lzdGVtLXdpZGUgaW5zdGFsbGF0aW9ucyBvZiBQeXRob24gc2hvdWxkIGNvbnNpZGVyIG5vdAorbW9kaWZ5aW5nIFBBVEgsIG9yIHVzaW5nIGFuIGFsdGVybmF0aXZlIHRlY2hub2xvZ3kgdG8gbW9kaWZ5IHRoZWlyCit1c2VycycgUEFUSCB2YXJpYWJsZXMuCisKKworVGhlIHB5LmV4ZSBsYXVuY2hlciBpcyByZWNvbW1lbmRlZCBiZWNhdXNlIGl0IHVzZXMgYSBjb25zaXN0ZW50IGFuZAorc2Vuc2libGUgc2VhcmNoIG9yZGVyIGZvciBQeXRob24gaW5zdGFsbGF0aW9ucy4gVXNlciBpbnN0YWxsYXRpb25zIGFyZQorcHJlZmVycmVkIG92ZXIgc3lzdGVtLXdpZGUgaW5zdGFsbHMsIGFuZCBsYXRlciB2ZXJzaW9ucyBhcmUgcHJlZmVycmVkCityZWdhcmRsZXNzIG9mIGluc3RhbGxhdGlvbiBvcmRlciAod2l0aCB0aGUgZXhjZXB0aW9uIHRoYXQgcHkuZXhlCitjdXJyZW50bHkgcHJlZmVycyAyLnggdmVyc2lvbnMgb3ZlciAzLnggdmVyc2lvbnMgd2l0aG91dCB0aGUgLTMgY29tbWFuZAorbGluZSBhcmd1bWVudCkuCisKK0ZvciBib3RoIDMyLWJpdCBhbmQgNjQtYml0IGludGVycHJldGVycywgdGhlIDMyLWJpdCB2ZXJzaW9uIG9mIHRoZQorbGF1bmNoZXIgaXMgaW5zdGFsbGVkLiBUaGlzIGVuc3VyZXMgdGhhdCB0aGUgc2VhcmNoIG9yZGVyIGlzIGFsd2F5cworY29uc2lzdGVudCAoYXMgdGhlIDY0LWJpdCBsYXVuY2hlciBpcyBzdWJ0bHkgZGlmZmVyZW50IGZyb20gdGhlIDMyLWJpdAorbGF1bmNoZXIpIGFuZCBhbHNvIGF2b2lkcyB0aGUgbmVlZCB0byBpbnN0YWxsIGl0IG11bHRpcGxlIHRpbWVzLiBGdXR1cmUKK3ZlcnNpb25zIG9mIFB5dGhvbiB3aWxsIHVwZ3JhZGUgdGhlIGxhdW5jaGVyIGluLXBsYWNlLCB1c2luZyBXaW5kb3dzCitJbnN0YWxsZXIncyB1cGdyYWRlIGZ1bmN0aW9uYWxpdHkgdG8gYXZvaWQgY29uZmxpY3RzIHdpdGggZWFybGllcgoraW5zdGFsbGVkIHZlcnNpb25zLgorCitXaGVuIGluc3RhbGxlZCwgZmlsZSBhc3NvY2lhdGlvbnMgYXJlIGNyZWF0ZWQgZm9yIC5weSwgLnB5YyBhbmQgLnB5bworZmlsZXMgdG8gbGF1bmNoIHdpdGggcHkuZXhlIGFuZCAucHl3IGZpbGVzIHRvIGxhdW5jaCB3aXRoIHB5dy5leGUuIFRoaXMKK21ha2VzIFB5dGhvbiBmaWxlcyByZXNwZWN0IHNoZWJhbmcgbGluZXMgYnkgZGVmYXVsdCBhbmQgYWxzbyBhdm9pZHMKK2NvbmZsaWN0cyBiZXR3ZWVuIG11bHRpcGxlIFB5dGhvbiBpbnN0YWxsYXRpb25zLgorCisKK1JlcGFpciwgTW9kaWZ5IGFuZCBVbmluc3RhbGwKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKworQWZ0ZXIgaW5zdGFsbGF0aW9uLCBQeXRob24gbWF5IGJlIG1vZGlmaWVkLCByZXBhaXJlZCBvciB1bmluc3RhbGxlZCBieQorcnVubmluZyB0aGUgb3JpZ2luYWwgRVhFIGFnYWluIG9yIHZpYSB0aGUgUHJvZ3JhbXMgYW5kIEZlYXR1cmVzIGFwcGxldAorKGZvcm1lcmx5IGtub3duIGFzIEFkZCBvciBSZW1vdmUgUHJvZ3JhbXMpLgorCitNb2RpZmljYXRpb25zIGFsbG93IGZlYXR1cmVzIHRvIGJlIGFkZGVkIG9yIHJlbW92ZWQuIFRoZSBpbnN0YWxsCitkaXJlY3RvcnkgYW5kIGtpbmQgKGFsbCB1c2Vycy9zaW5nbGUgdXNlcikgY2Fubm90IGJlIG1vZGlmaWVkLiBCZWNhdXNlCitXaW5kb3dzIEluc3RhbGxlciBjYWNoZXMgaW5zdGFsbGF0aW9uIHBhY2thZ2VzLCByZW1vdmluZyBmZWF0dXJlcyB3aWxsCitub3QgcmVxdWlyZSBpbnRlcm5ldCBhY2Nlc3MgdW5sZXNzIHRoZSBwYWNrYWdlIGNhY2hlIGhhcyBiZWVuIGNvcnJ1cHRlZAorb3IgZGVsZXRlZC4gQWRkaW5nIGZlYXR1cmVzIHRoYXQgd2VyZSBub3QgcHJldmlvdXNseSBpbnN0YWxsZWQgYW5kIGFyZQorbm90IGVtYmVkZGVkIG9yIG90aGVyd2lzZSBhdmFpbGFibGUgd2lsbCByZXF1aXJlIGludGVybmV0IGFjY2Vzcy4KKworUmVwYWlyaW5nIHdpbGwgcmVydW4gdGhlIGluc3RhbGxhdGlvbiBmb3IgYWxsIGN1cnJlbnRseSBpbnN0YWxsZWQKK2ZlYXR1cmVzLCByZXN0b3JpbmcgZmlsZXMgYW5kIHJlZ2lzdHJ5IGtleXMgdGhhdCBoYXZlIGJlZW4gbW9kaWZpZWQgb3IKK3JlbW92ZWQuIFRoaXMgb3BlcmF0aW9uIGdlbmVyYWxseSB3aWxsIG5vdCByZWRvd25sb2FkIGFueSBmaWxlcyB1bmxlc3MKK3RoZSBjYWNoZWQgcGFja2FnZXMgaGF2ZSBiZWVuIGNvcnJ1cHRlZCBvciBkZWxldGVkLgorCitSZW1vdmluZyBQeXRob24gd2lsbCBjbGVhbiB1cCBhbGwgdGhlIGZpbGVzIGFuZCByZWdpc3RyeSBrZXlzIHRoYXQgd2VyZQorY3JlYXRlZCBieSB0aGUgaW5zdGFsbGVyLCBhcyB3ZWxsIGFzIF9fcHljYWNoZV9fIGZvbGRlcnMgdGhhdCBhcmUKK2V4cGxpY2l0bHkgaGFuZGxlZCBieSB0aGUgaW5zdGFsbGVyLiBQeXRob24gcGFja2FnZXMgaW5zdGFsbGVkIGxhdGVyCit1c2luZyBhIHRvb2wgbGlrZSBwaXAgd2lsbCBub3QgYmUgcmVtb3ZlZC4gU29tZSBjb21wb25lbnRzIG1heSBiZQoraW5zdGFsbGVkIGJ5IG90aGVyIGluc3RhbGxlcnMgKHN1Y2ggYXMgdGhlIE1TVkNSVCkgYW5kIHRoZXNlIHdpbGwgbm90IGJlCityZW1vdmVkIGlmIGFub3RoZXIgcHJvZHVjdCBoYXMgYSBkZXBlbmRlbmN5IG9uIHRoZW0uCiAKZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS9idWlsZC5iYXQgYi9Ub29scy9tc2kvYnVpbGQuYmF0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVmZWU2NmIKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9tc2kvYnVpbGQuYmF0CkBAIC0wLDAgKzEsNDYgQEAKK0BlY2hvIG9mZgorc2V0bG9jYWwKK3NldCBEPSV+ZHAwCitzZXQgUENCVUlMRD0lRCUuLlwuLlxQQ0J1aWxkXAorCitzZXQgQlVJTERYODY9CitzZXQgQlVJTERYNjQ9CitzZXQgQlVJTERET0M9CisKKzpDaGVja09wdHMKK2lmICclMSc9PScteDg2JyAoc2V0IEJVSUxEWDg2PTEpICYmIHNoaWZ0ICYmIGdvdG8gQ2hlY2tPcHRzCitpZiAnJTEnPT0nLXg2NCcgKHNldCBCVUlMRFg2ND0xKSAmJiBzaGlmdCAmJiBnb3RvIENoZWNrT3B0cworaWYgJyUxJz09Jy0tZG9jJyAoc2V0IEJVSUxERE9DPTEpICYmIHNoaWZ0ICYmIGdvdG8gQ2hlY2tPcHRzCisKK2lmIG5vdCBkZWZpbmVkIEJVSUxEWDg2IGlmIG5vdCBkZWZpbmVkIEJVSUxEWDY0IChzZXQgQlVJTERYODY9MSkgJiYgKHNldCBCVUlMRFg2ND0xKQorCitjYWxsICIlUENCVUlMRCVlbnYuYmF0IiB4ODYKKworaWYgZGVmaW5lZCBCVUlMRFg4NiAoCisgICAgY2FsbCAiJVBDQlVJTEQlYnVpbGQuYmF0IiAtZAorICAgIGlmIGVycm9ybGV2ZWwgMSBnb3RvIDplb2YKKyAgICBjYWxsICIlUENCVUlMRCVidWlsZC5iYXQiCisgICAgaWYgZXJyb3JsZXZlbCAxIGdvdG8gOmVvZgorKQoraWYgZGVmaW5lZCBCVUlMRFg2NCAoCisgICAgY2FsbCAiJVBDQlVJTEQlYnVpbGQuYmF0IiAtcCB4NjQgLWQKKyAgICBpZiBlcnJvcmxldmVsIDEgZ290byA6ZW9mCisgICAgY2FsbCAiJVBDQlVJTEQlYnVpbGQuYmF0IiAtcCB4NjQKKyAgICBpZiBlcnJvcmxldmVsIDEgZ290byA6ZW9mCispCisKK2lmIGRlZmluZWQgQlVJTERET0MgKAorICAgIGNhbGwgIiVQQ0JVSUxEJS4uXERvY1xtYWtlLmJhdCIgaHRtbGhlbHAKKyAgICBpZiBlcnJvcmxldmVsIDEgZ290byA6ZW9mCispCisKK2lmIGRlZmluZWQgQlVJTERYODYgKAorICAgICIlUENCVUlMRCV3aW4zMlxweXRob24uZXhlIiAiJUQlZ2V0X3dpeC5weSIKKyAgICBtc2J1aWxkICIlRCVidW5kbGVcc25hcHNob3Qud2l4cHJvaiIKKyAgICBpZiBlcnJvcmxldmVsIDEgZ290byA6ZW9mCispCitpZiBkZWZpbmVkIEJVSUxEWDY0ICgKKyAgICAiJVBDQlVJTEQlYW1kNjRccHl0aG9uLmV4ZSIgIiVEJWdldF93aXgucHkiCisgICAgbXNidWlsZCAiJUQlYnVuZGxlXHNuYXBzaG90LndpeHByb2oiIC9wOlBsYXRmb3JtPXg2NAorICAgIGlmIGVycm9ybGV2ZWwgMSBnb3RvIDplb2YKKykKZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS9idWlsZHJlbGVhc2UuYmF0IGIvVG9vbHMvbXNpL2J1aWxkcmVsZWFzZS5iYXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDljNjNhNgotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS9idWlsZHJlbGVhc2UuYmF0CkBAIC0wLDAgKzEsMTY0IEBACitAc2V0bG9jYWwKK0BlY2hvIG9mZgorCityZW0gVGhpcyBzY3JpcHQgaXMgaW50ZW5kZWQgZm9yIGJ1aWxkaW5nIG9mZmljaWFsIHJlbGVhc2VzIG9mIFB5dGhvbi4KK3JlbSBUbyB1c2UgaXQgdG8gYnVpbGQgYWx0ZXJuYXRpdmUgcmVsZWFzZXMsIHlvdSBzaG91bGQgY2xvbmUgdGhpcyBmaWxlCityZW0gYW5kIG1vZGlmeSB0aGUgZm9sbG93aW5nIHRocmVlIFVSSXMuCityZW0KK3JlbSBUaGUgZmlyc3QgdHdvIHdpbGwgZW5zdXJlIHRoYXQgeW91ciByZWxlYXNlIGNhbiBiZSBpbnN0YWxsZWQKK3JlbSBhbG9uZ3NpZGUgYW4gb2ZmaWNpYWwgUHl0aG9uIHJlbGVhc2UsIHdoaWxlIHRoZSBzZWNvbmQgc3BlY2lmaWVzCityZW0gdGhlIFVSTCB0aGF0IHdpbGwgYmUgdXNlZCB0byBkb3dubG9hZCBpbnN0YWxsYXRpb24gZmlsZXMuIFRoZQorcmVtIGZpbGVzIGF2YWlsYWJsZSBmcm9tIHRoaXMgVVJMICp3aWxsKiBjb25mbGljdCB3aXRoIHlvdXIgaW5zdGFsbGVyLgorcmVtIFRydXN0IG1lLCB5b3UgZG9uJ3Qgd2FudCB0aGVtLCBldmVuIGlmIGl0IHNlZW1zIGxpa2UgYSBnb29kIGlkZWEuCisKK3NldCBSRUxFQVNFX1VSSV9YODY9aHR0cDovL3d3dy5weXRob24ub3JnL3dpbjMyCitzZXQgUkVMRUFTRV9VUklfWDY0PWh0dHA6Ly93d3cucHl0aG9uLm9yZy9hbWQ2NAorc2V0IERPV05MT0FEX1VSTF9CQVNFPWh0dHBzOi8vd3d3LnB5dGhvbi5vcmcvZnRwL3B5dGhvbgorc2V0IERPV05MT0FEX1VSTD0KKworc2V0IEQ9JX5kcDAKK3NldCBQQ0JVSUxEPSVEJS4uXC4uXFBDQnVpbGRcCisKK3NldCBCVUlMRFg4Nj0KK3NldCBCVUlMRFg2ND0KK3NldCBUQVJHRVQ9UmVidWlsZAorc2V0IFRFU1RUQVJHRVRESVI9CisKKworOkNoZWNrT3B0cworaWYgIiUxIiBFUVUgIi1oIiBnb3RvIEhlbHAKK2lmICIlMSIgRVFVICItYyIgKHNldCBDRVJUTkFNRT0lfjIpICYmIHNoaWZ0ICYmIHNoaWZ0ICYmIGdvdG8gQ2hlY2tPcHRzCitpZiAiJTEiIEVRVSAiLS1jZXJ0aWZpY2F0ZSIgKHNldCBDRVJUTkFNRT0lfjIpICYmIHNoaWZ0ICYmIHNoaWZ0ICYmIGdvdG8gQ2hlY2tPcHRzCitpZiAiJTEiIEVRVSAiLW8iIChzZXQgT1VURElSPSV+MikgJiYgc2hpZnQgJiYgc2hpZnQgJiYgZ290byBDaGVja09wdHMKK2lmICIlMSIgRVFVICItLW91dCIgKHNldCBPVVRESVI9JX4yKSAmJiBzaGlmdCAmJiBzaGlmdCAmJiBnb3RvIENoZWNrT3B0cworaWYgIiUxIiBFUVUgIi1EIiAoc2V0IFNLSVBET0M9MSkgJiYgc2hpZnQgJiYgZ290byBDaGVja09wdHMKK2lmICIlMSIgRVFVICItLXNraXAtZG9jIiAoc2V0IFNLSVBET0M9MSkgJiYgc2hpZnQgJiYgZ290byBDaGVja09wdHMKK2lmICIlMSIgRVFVICItQiIgKHNldCBTS0lQQlVJTEQ9MSkgJiYgc2hpZnQgJiYgZ290byBDaGVja09wdHMKK2lmICIlMSIgRVFVICItLXNraXAtYnVpbGQiIChzZXQgU0tJUEJVSUxEPTEpICYmIHNoaWZ0ICYmIGdvdG8gQ2hlY2tPcHRzCitpZiAiJTEiIEVRVSAiLS1kb3dubG9hZCIgKHNldCBET1dOTE9BRF9VUkw9JX4yKSAmJiBzaGlmdCAmJiBzaGlmdCAmJiBnb3RvIENoZWNrT3B0cworaWYgIiUxIiBFUVUgIi0tdGVzdCIgKHNldCBURVNUVEFSR0VURElSPSV+MikgJiYgc2hpZnQgJiYgc2hpZnQgJiYgZ290byBDaGVja09wdHMKK2lmICIlMSIgRVFVICItYiIgKHNldCBUQVJHRVQ9QnVpbGQpICYmIHNoaWZ0ICYmIGdvdG8gQ2hlY2tPcHRzCitpZiAiJTEiIEVRVSAiLS1idWlsZCIgKHNldCBUQVJHRVQ9QnVpbGQpICYmIHNoaWZ0ICYmIGdvdG8gQ2hlY2tPcHRzCitpZiAiJTEiIEVRVSAiLXg4NiIgKHNldCBCVUlMRFg4Nj0xKSAmJiBzaGlmdCAmJiBnb3RvIENoZWNrT3B0cworaWYgIiUxIiBFUVUgIi14NjQiIChzZXQgQlVJTERYNjQ9MSkgJiYgc2hpZnQgJiYgZ290byBDaGVja09wdHMKKworaWYgbm90IGRlZmluZWQgQlVJTERYODYgaWYgbm90IGRlZmluZWQgQlVJTERYNjQgKHNldCBCVUlMRFg4Nj0xKSAmJiAoc2V0IEJVSUxEWDY0PTEpCisKKzpidWlsZGRvYworaWYgIiVTS0lQQlVJTEQlIiBFUVUgIjEiIGdvdG8gc2tpcGRvYworaWYgIiVTS0lQRE9DJSIgRVFVICIxIiBnb3RvIHNraXBkb2MKKworaWYgbm90IGRlZmluZWQgUFlUSE9OIHdoZXJlIHB5IC1xIHx8IGVjaG8gQ2Fubm90IGZpbmQgcHkgb24gcGF0aCBhbmQgUFlUSE9OIGlzIG5vdCBzZXQuICYmIGV4aXQgL0IgMQoraWYgbm90IGRlZmluZWQgU1BISU5YQlVJTEQgd2hlcmUgc3BoaW54LWJ1aWxkIC1xIHx8IGVjaG8gQ2Fubm90IGZpbmQgc3BoaW54LWJ1aWxkIG9uIHBhdGggYW5kIFNQSElOWEJVSUxEIGlzIG5vdCBzZXQuICYmIGV4aXQgL0IgMQorY2FsbCAiJUQlLi5cLi5cZG9jXG1ha2UuYmF0IiBodG1saGVscAoraWYgZXJyb3JsZXZlbCAxIGdvdG8gOmVvZgorOnNraXBkb2MKKword2hlcmUgaGcgL3EgfHwgZWNobyBDYW5ub3QgZmluZCBNZXJjdXJpYWwgb24gUEFUSCAmJiBleGl0IC9CIDEKKword2hlcmUgZGxsdG9vbCAvcSAmJiBnb3RvIHNraXBkbGx0b29sc2VhcmNoCitzZXQgX0RMTFRPT0xfUEFUSD0KK3doZXJlIC9SICIlRCUuLlwuLlxleHRlcm5hbHMiIGRsbHRvb2wgPiAiJVRFTVAlXGRsbHRvb2wubG9jIiAyPiBudWwgJiYgc2V0IC9QIF9ETExUT09MX1BBVEg9IDwgIiVURU1QJVxkbGx0b29sLmxvYyIgJiBkZWwgIiVURU1QJVxkbGx0b29sLmxvYyIgCitpZiBub3QgZXhpc3QgIiVfRExMVE9PTF9QQVRIJSIgZWNobyBDYW5ub3QgZmluZCBiaW51dGlscyBvbiBQQVRIIG9yIGluIGV4dGVybmFsICYmIGV4aXQgL0IgMQorZm9yICUlZiBpbiAoJV9ETExUT09MX1BBVEglKSBkbyBzZXQgUEFUSD0lUEFUSCU7JSV+ZHBmCitzZXQgX0RMTFRPT0xfUEFUSD0KKzpza2lwZGxsdG9vbHNlYXJjaAorCitpZiBkZWZpbmVkIEJVSUxEWDg2ICgKKyAgICBjYWxsIDpidWlsZCB4ODYKKyAgICBpZiBlcnJvcmxldmVsIDEgZXhpdCAvQgorKQorCitpZiBkZWZpbmVkIEJVSUxEWDY0ICgKKyAgICBjYWxsIDpidWlsZCB4NjQKKyAgICBpZiBlcnJvcmxldmVsIDEgZXhpdCAvQgorKQorCitpZiBkZWZpbmVkIFRFU1RUQVJHRVRESVIgKAorICAgIGNhbGwgIiVEJXRlc3RyZWxlYXNlLmJhdCIgLXQgIiVURVNUVEFSR0VURElSJSIKKykKKworZXhpdCAvQiAwCisKKzpidWlsZAorQHNldGxvY2FsCitAZWNobyBvZmYKKworaWYgIiUxIiBFUVUgIng4NiIgKAorICAgIGNhbGwgIiVQQ0JVSUxEJWVudi5iYXQiIHg4NgorICAgIHNldCBCVUlMRD0lUENCVUlMRCV3aW4zMlwKKyAgICBzZXQgQlVJTERfUExBVD1XaW4zMgorICAgIHNldCBPVVRESVJfUExBVD13aW4zMgorICAgIHNldCBPQkpESVJfUExBVD14ODYKKyAgICBzZXQgUkVMRUFTRV9VUkk9JVJFTEVBU0VfVVJJX1g4NiUKKykgRUxTRSAoCisgICAgY2FsbCAiJVBDQlVJTEQlZW52LmJhdCIgeDg2X2FtZDY0CisgICAgc2V0IEJVSUxEPSVQQ0JVSUxEJWFtZDY0XAorICAgIHNldCBCVUlMRF9QTEFUPXg2NAorICAgIHNldCBPVVRESVJfUExBVD1hbWQ2NAorICAgIHNldCBPQkpESVJfUExBVD14NjQKKyAgICBzZXQgUkVMRUFTRV9VUkk9JVJFTEVBU0VfVVJJX1g2NCUKKykKKworaWYgZXhpc3QgIiVCVUlMRCVlbi11cyIgKAorICAgIGVjaG8gRGVsZXRpbmcgJUJVSUxEJWVuLXVzCisgICAgcm1kaXIgL3EvcyAiJUJVSUxEJWVuLXVzIgorICAgIGlmIGVycm9ybGV2ZWwgMSBleGl0IC9CCispCisKK2lmIGV4aXN0ICIlRCVvYmpcUmVsZWFzZV8lT0JKRElSX1BMQVQlIiAoCisgICAgZWNobyBEZWxldGluZyAiJUQlb2JqXFJlbGVhc2VfJU9CSkRJUl9QTEFUJSIKKyAgICBybWRpciAvcS9zICIlRCVvYmpcUmVsZWFzZV8lT0JKRElSX1BMQVQlIgorICAgIGlmIGVycm9ybGV2ZWwgMSBleGl0IC9CCispCisKK2lmIG5vdCAiJUNFUlROQU1FJSIgRVFVICIiICgKKyAgICBzZXQgQ0VSVE9QVFM9Ii9wOlNpZ25pbmdDZXJ0aWZpY2F0ZT0lQ0VSVE5BTUUlIgorKSBlbHNlICgKKyAgICBzZXQgQ0VSVE9QVFM9CispCisKK2lmIG5vdCAiJVNLSVBCVUlMRCUiIEVRVSAiMSIgKAorICAgIGNhbGwgIiVQQ0JVSUxEJWJ1aWxkLmJhdCIgLWUgLXAgJUJVSUxEX1BMQVQlIC1kIC10ICVUQVJHRVQlICVDRVJUT1BUUyUKKyAgICBpZiBlcnJvcmxldmVsIDEgZXhpdCAvQgorICAgIGNhbGwgIiVQQ0JVSUxEJWJ1aWxkLmJhdCIgLXAgJUJVSUxEX1BMQVQlIC10ICVUQVJHRVQlICVDRVJUT1BUUyUKKyAgICBpZiBlcnJvcmxldmVsIDEgZXhpdCAvQgorICAgIEByZW0gYnVpbGQuYmF0IHR1cm5zIGVjaG8gYmFjayBvbiwgc28gd2UgZGlzYWJsZSBpdCBhZ2FpbgorICAgIEBlY2hvIG9mZgorKQorCisiJUJVSUxEJXB5dGhvbi5leGUiICIlRCVnZXRfd2l4LnB5IgorCitzZXQgQlVJTERPUFRTPS9wOlBsYXRmb3JtPSUxIC9wOkJ1aWxkRm9yUmVsZWFzZT10cnVlIC9wOkRvd25sb2FkVXJsPSVET1dOTE9BRF9VUkwlIC9wOkRvd25sb2FkVXJsQmFzZT0lRE9XTkxPQURfVVJMX0JBU0UlIC9wOlJlbGVhc2VVcmk9JVJFTEVBU0VfVVJJJQorbXNidWlsZCAiJUQlYnVuZGxlXHJlbGVhc2Vsb2NhbC53aXhwcm9qIiAvdDpSZWJ1aWxkICVCVUlMRE9QVFMlICVDRVJUT1BUUyUgL3A6UmVidWlsZEFsbD10cnVlCitpZiBlcnJvcmxldmVsIDEgZXhpdCAvQgorbXNidWlsZCAiJUQlYnVuZGxlXHJlbGVhc2V3ZWIud2l4cHJvaiIgL3Q6UmVidWlsZCAlQlVJTERPUFRTJSAlQ0VSVE9QVFMlIC9wOlJlYnVpbGRBbGw9ZmFsc2UKK2lmIGVycm9ybGV2ZWwgMSBleGl0IC9CCisKK2lmIG5vdCAiJU9VVERJUiUiIEVRVSAiIiAoCisgICAgbWtkaXIgIiVPVVRESVIlXCVPVVRESVJfUExBVCUiCisgICAgY29weSAvWSAiJUJVSUxEJWVuLXVzXCouY2FiIiAiJU9VVERJUiVcJU9VVERJUl9QTEFUJSIKKyAgICBjb3B5IC9ZICIlQlVJTEQlZW4tdXNcKi5leGUiICIlT1VURElSJVwlT1VURElSX1BMQVQlIgorICAgIGNvcHkgL1kgIiVCVUlMRCVlbi11c1wqLm1zaSIgIiVPVVRESVIlXCVPVVRESVJfUExBVCUiCisgICAgY29weSAvWSAiJUJVSUxEJWVuLXVzXCoubXN1IiAiJU9VVERJUiVcJU9VVERJUl9QTEFUJSIKKykKKworZXhpdCAvQiAwCisKKzpIZWxwCitlY2hvIGJ1aWxkcmVsZWFzZS5iYXQgWy0tb3V0IERJUl0gWy14ODZdIFsteDY0XSBbLS1jZXJ0aWZpY2F0ZSBDRVJUTkFNRV0gWy0tYnVpbGRdIFstLXNraXAtYnVpbGRdCitlY2hvICAgICAgICAgICAgICAgICAgWy0tc2tpcC1kb2NdIFstLWRvd25sb2FkIERPV05MT0FEIFVSTF0gWy0tdGVzdCBUQVJHRVRESVJdIFstaF0KK2VjaG8uCitlY2hvICAgIC0tb3V0ICgtbykgICAgICAgICAgU3BlY2lmeSBhbiBhZGRpdGlvbmFsIG91dHB1dCBkaXJlY3RvcnkgZm9yIGluc3RhbGxlcnMKK2VjaG8gICAgLXg4NiAgICAgICAgICAgICAgICBCdWlsZCB4ODYgaW5zdGFsbGVycworZWNobyAgICAteDY0ICAgICAgICAgICAgICAgIEJ1aWxkIHg2NCBpbnN0YWxsZXJzCitlY2hvICAgIC0tYnVpbGQgKC1iKSAgICAgICAgSW5jcmVtZW50YWxseSBidWlsZCBQeXRob24gcmF0aGVyIHRoYW4gcmVidWlsZGluZworZWNobyAgICAtLXNraXAtYnVpbGQgKC1CKSAgIERvIG5vdCBidWlsZCBQeXRob24gKGp1c3QgZG8gdGhlIGluc3RhbGxlcnMpCitlY2hvICAgIC0tc2tpcC1kb2MgKC1EKSAgICAgRG8gbm90IGJ1aWxkIGRvY3VtZW50YXRpb24KK2VjaG8gICAgLS1kb3dubG9hZCAgICAgICAgICBTcGVjaWZ5IHRoZSBmdWxsIGRvd25sb2FkIFVSTCBmb3IgTVNJcyAoc2hvdWxkIGluY2x1ZGUgezJ9KQorZWNobyAgICAtLXRlc3QgICAgICAgICAgICAgIFNwZWNpZnkgdGhlIHRlc3QgZGlyZWN0b3J5IHRvIHJ1biB0aGUgaW5zdGFsbGVyIHRlc3RzCitlY2hvICAgIC1oICAgICAgICAgICAgICAgICAgRGlzcGxheSB0aGlzIGhlbHAgaW5mb3JtYXRpb24KK2VjaG8uCitlY2hvIElmIG5vIGFyY2hpdGVjdHVyZSBpcyBzcGVjaWZpZWQsIGFsbCBhcmNoaXRlY3R1cmVzIHdpbGwgYmUgYnVpbHQuCitlY2hvIElmIC0tdGVzdCBpcyBub3Qgc3BlY2lmaWVkLCB0aGUgaW5zdGFsbGVyIHRlc3RzIGFyZSBub3QgcnVuLgorZWNoby4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9Ub29scy9tc2kvYnVuZGxlL0RlZmF1bHQudGhtIGIvVG9vbHMvbXNpL2J1bmRsZS9EZWZhdWx0LnRobQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZDc1MjNhCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL2J1bmRsZS9EZWZhdWx0LnRobQpAQCAtMCwwICsxLDEyMyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKzxUaGVtZSB4bWxucz0iaHR0cDovL3dpeHRvb2xzZXQub3JnL3NjaGVtYXMvdGhtdXRpbC8yMDEwIj4KKyAgICA8V2luZG93IFdpZHRoPSI2NDAiIEhlaWdodD0iMzgyIiBIZXhTdHlsZT0iMTAwYTAwMDAiIEZvbnRJZD0iMCI+Iyhsb2MuQ2FwdGlvbik8L1dpbmRvdz4KKyAgICA8Rm9udCBJZD0iMCIgSGVpZ2h0PSItMTIiIFdlaWdodD0iNTAwIiBGb3JlZ3JvdW5kPSIwMDAwMDAiIEJhY2tncm91bmQ9ImZmZmZmZiI+U2Vnb2UgVUk8L0ZvbnQ+CisgICAgPEZvbnQgSWQ9IjEiIEhlaWdodD0iLTI0IiBXZWlnaHQ9IjUwMCIgRm9yZWdyb3VuZD0iMDAwMDAwIiBCYWNrZ3JvdW5kPSJmZmZmZmYiPlNlZ29lIFVJPC9Gb250PgorICAgIDxGb250IElkPSIyIiBIZWlnaHQ9Ii0yMiIgV2VpZ2h0PSI1MDAiIEZvcmVncm91bmQ9IjY2NjY2NiIgQmFja2dyb3VuZD0iZmZmZmZmIj5TZWdvZSBVSTwvRm9udD4KKyAgICA8Rm9udCBJZD0iMyIgSGVpZ2h0PSItMTIiIFdlaWdodD0iNTAwIiBGb3JlZ3JvdW5kPSIwMDAwMDAiIEJhY2tncm91bmQ9ImZmZmZmZiI+U2Vnb2UgVUk8L0ZvbnQ+CisgICAgPEZvbnQgSWQ9IjQiIEhlaWdodD0iLTEyIiBXZWlnaHQ9IjUwMCIgRm9yZWdyb3VuZD0iZmYwMDAwIiBCYWNrZ3JvdW5kPSJmZmZmZmYiIFVuZGVybGluZT0ieWVzIj5TZWdvZSBVSTwvRm9udD4KKyAgICA8Rm9udCBJZD0iNSIgSGVpZ2h0PSItMTIiIFdlaWdodD0iNTAwIiBGb3JlZ3JvdW5kPSI2NjY2NjYiIEJhY2tncm91bmQ9ImZmZmZmZiI+U2Vnb2UgVUk8L0ZvbnQ+CisKKyAgICA8UGFnZSBOYW1lPSJIZWxwIj4KKyAgICAgICAgPFRleHQgWD0iMTg1IiBZPSIxMSIgV2lkdGg9Ii0xMSIgSGVpZ2h0PSIzMiIgRm9udElkPSIxIiBEaXNhYmxlUHJlZml4PSJ5ZXMiPiMobG9jLkhlbHBIZWFkZXIpPC9UZXh0PgorICAgICAgICA8SW1hZ2UgWD0iMCIgWT0iMCIgV2lkdGg9IjE2MiIgSGVpZ2h0PSIzNTIiIEltYWdlRmlsZT0iU2lkZUJhci5wbmciLz4KKworICAgICAgICA8VGV4dCBYPSIxODUiIFk9IjUwIiBXaWR0aD0iLTExIiBIZWlnaHQ9Ii0zNSIgRm9udElkPSIzIiBEaXNhYmxlUHJlZml4PSJ5ZXMiPiMobG9jLkhlbHBUZXh0KTwvVGV4dD4KKyAgICAgICAgPEJ1dHRvbiBOYW1lPSJTdWNjZXNzQ2FuY2VsQnV0dG9uIiBYPSItMTEiIFk9Ii0xMSIgV2lkdGg9Ijc1IiBIZWlnaHQ9IjIzIiBUYWJTdG9wPSJ5ZXMiIEZvbnRJZD0iMCI+Iyhsb2MuQ2xvc2VCdXR0b24pPC9CdXR0b24+CisgICAgPC9QYWdlPgorICAgIDxQYWdlIE5hbWU9Ikluc3RhbGwiPgorICAgICAgICA8VGV4dCBYPSIxODUiIFk9IjExIiBXaWR0aD0iLTExIiBIZWlnaHQ9IjMyIiBGb250SWQ9IjEiIERpc2FibGVQcmVmaXg9InllcyI+Iyhsb2MuSW5zdGFsbEhlYWRlcik8L1RleHQ+CisgICAgICAgIDxJbWFnZSBYPSIwIiBZPSIwIiBXaWR0aD0iMTYyIiBIZWlnaHQ9IjM1MiIgSW1hZ2VGaWxlPSJTaWRlQmFyLnBuZyIvPgorCisgICAgICAgIDxUZXh0IFg9IjE4NSIgWT0iNTAiIFdpZHRoPSItMTEiIEhlaWdodD0iNTAiIEZvbnRJZD0iMyIgVGFiU3RvcD0ieWVzIj4jKGxvYy5JbnN0YWxsTWVzc2FnZSk8L1RleHQ+CisKKyAgICAgICAgPEJ1dHRvbiBOYW1lPSJJbnN0YWxsQWxsVXNlcnNCdXR0b24iIFg9IjE3NSIgWT0iMTAxIiBXaWR0aD0iLTExIiBIZWlnaHQ9IjU5IiBUYWJTdG9wPSJ5ZXMiIEZvbnRJZD0iMyIgSGV4U3R5bGU9IjB4RiI+Iyhsb2MuSW5zdGFsbEFsbFVzZXJzQnV0dG9uKTwvQnV0dG9uPgorICAgICAgICA8QnV0dG9uIE5hbWU9Ikluc3RhbGxKdXN0Rm9yTWVCdXR0b24iIFg9IjE3NSIgWT0iMTcxIiBXaWR0aD0iLTExIiBIZWlnaHQ9IjU5IiBUYWJTdG9wPSJ5ZXMiIEZvbnRJZD0iMyIgSGV4U3R5bGU9IjB4RSI+Iyhsb2MuSW5zdGFsbEp1c3RGb3JNZUJ1dHRvbik8L0J1dHRvbj4KKyAgICAgICAgPEJ1dHRvbiBOYW1lPSJJbnN0YWxsQ3VzdG9tQnV0dG9uIiBYPSIxNzUiIFk9IjI0MSIgV2lkdGg9Ii0xMSIgSGVpZ2h0PSI1OSIgVGFiU3RvcD0ieWVzIiBGb250SWQ9IjMiIEhleFN0eWxlPSIweEUiPiMobG9jLkluc3RhbGxDdXN0b21CdXR0b24pPC9CdXR0b24+CisKKyAgICAgICAgPENoZWNrYm94IE5hbWU9IlByZXBlbmRQYXRoIiBYPSIxODUiIFk9Ii0xMyIgV2lkdGg9Ii0xMDAiIEhlaWdodD0iMjAiIFRhYlN0b3A9InllcyIgRm9udElkPSIzIj4jKGxvYy5TaG9ydFByZXBlbmRQYXRoTGFiZWwpPC9DaGVja2JveD4KKworICAgICAgICA8QnV0dG9uIE5hbWU9Ikluc3RhbGxDYW5jZWxCdXR0b24iIFg9Ii0xMSIgWT0iLTExIiBXaWR0aD0iNzUiIEhlaWdodD0iMjMiIFRhYlN0b3A9InllcyIgRm9udElkPSIwIj4jKGxvYy5DYW5jZWxCdXR0b24pPC9CdXR0b24+CisgICAgPC9QYWdlPgorICAgIDxQYWdlIE5hbWU9IlNpbXBsZUluc3RhbGwiPgorICAgICAgICA8VGV4dCBYPSIxODUiIFk9IjExIiBXaWR0aD0iLTExIiBIZWlnaHQ9IjMyIiBGb250SWQ9IjEiIERpc2FibGVQcmVmaXg9InllcyI+Iyhsb2MuSW5zdGFsbEhlYWRlcik8L1RleHQ+CisgICAgICAgIDxJbWFnZSBYPSIwIiBZPSIwIiBXaWR0aD0iMTYyIiBIZWlnaHQ9IjM1MiIgSW1hZ2VGaWxlPSJTaWRlQmFyLnBuZyIvPgorCisgICAgICAgIDxCdXR0b24gTmFtZT0iSW5zdGFsbFNpbXBsZUJ1dHRvbiIgWD0iMTc1IiBZPSIxMDEiIFdpZHRoPSItMTEiIEhlaWdodD0iNTkiIFRhYlN0b3A9InllcyIgRm9udElkPSIzIiBIaWRlV2hlbkRpc2FibGVkPSJ5ZXMiIEhleFN0eWxlPSIweEYiPiMobG9jLkluc3RhbGxTaW1wbGVCdXR0b24pPC9CdXR0b24+CisKKyAgICAgICAgPEJ1dHRvbiBOYW1lPSJJbnN0YWxsQ2FuY2VsQnV0dG9uIiBYPSItMTEiIFk9Ii0xMSIgV2lkdGg9Ijc1IiBIZWlnaHQ9IjIzIiBUYWJTdG9wPSJ5ZXMiIEZvbnRJZD0iMCI+Iyhsb2MuQ2FuY2VsQnV0dG9uKTwvQnV0dG9uPgorICAgIDwvUGFnZT4KKyAgICA8UGFnZSBOYW1lPSJDdXN0b20xIj4KKyAgICAgICAgPFRleHQgWD0iMTg1IiBZPSIxMSIgV2lkdGg9Ii0xMSIgSGVpZ2h0PSIzMiIgRm9udElkPSIxIiBEaXNhYmxlUHJlZml4PSJ5ZXMiPiMobG9jLkN1c3RvbTFIZWFkZXIpPC9UZXh0PgorICAgICAgICA8SW1hZ2UgWD0iMCIgWT0iMCIgV2lkdGg9IjE2MiIgSGVpZ2h0PSIzNTIiIEltYWdlRmlsZT0iU2lkZUJhci5wbmciLz4KKyAgICAgICAgCisgICAgICAgIDxDaGVja2JveCBOYW1lPSJJbmNsdWRlX2RvYyIgWD0iMTg1IiBZPSI1MSIgV2lkdGg9Ii0xMSIgSGVpZ2h0PSIyMCIgVGFiU3RvcD0ieWVzIiBGb250SWQ9IjMiIEhpZGVXaGVuRGlzYWJsZWQ9InllcyI+Iyhsb2MuSW5jbHVkZV9kb2NMYWJlbCk8L0NoZWNrYm94PgorICAgICAgICA8VGV4dCBYPSIyMDUiIFk9IjcxIiBXaWR0aD0iLTExIiBIZWlnaHQ9IjIwIiBUYWJTdG9wPSJubyIgRm9udElkPSI1Ij4jKGxvYy5JbmNsdWRlX2RvY0hlbHBMYWJlbCk8L1RleHQ+CisgICAgICAgIAorICAgICAgICA8Q2hlY2tib3ggTmFtZT0iSW5jbHVkZV9waXAiIFg9IjE4NSIgWT0iOTYiIFdpZHRoPSItMTEiIEhlaWdodD0iMjAiIFRhYlN0b3A9InllcyIgRm9udElkPSIzIiBIaWRlV2hlbkRpc2FibGVkPSJ5ZXMiPiMobG9jLkluY2x1ZGVfcGlwTGFiZWwpPC9DaGVja2JveD4KKyAgICAgICAgPFRleHQgWD0iMjA1IiBZPSIxMTYiIFdpZHRoPSItMTEiIEhlaWdodD0iMjAiIFRhYlN0b3A9Im5vIiBGb250SWQ9IjUiPiMobG9jLkluY2x1ZGVfcGlwSGVscExhYmVsKTwvVGV4dD4KKyAgICAgICAgCisgICAgICAgIDxDaGVja2JveCBOYW1lPSJJbmNsdWRlX3RjbHRrIiBYPSIxODUiIFk9IjE0MSIgV2lkdGg9Ii0xMSIgSGVpZ2h0PSIyMCIgVGFiU3RvcD0ieWVzIiBGb250SWQ9IjMiIEhpZGVXaGVuRGlzYWJsZWQ9InllcyI+Iyhsb2MuSW5jbHVkZV90Y2x0a0xhYmVsKTwvQ2hlY2tib3g+CisgICAgICAgIDxUZXh0IFg9IjIwNSIgWT0iMTYxIiBXaWR0aD0iLTExIiBIZWlnaHQ9IjIwIiBUYWJTdG9wPSJubyIgRm9udElkPSI1Ij4jKGxvYy5JbmNsdWRlX3RjbHRrSGVscExhYmVsKTwvVGV4dD4KKyAgICAgICAgCisgICAgICAgIDxDaGVja2JveCBOYW1lPSJJbmNsdWRlX3Rlc3QiIFg9IjE4NSIgWT0iMTg2IiBXaWR0aD0iLTExIiBIZWlnaHQ9IjIwIiBUYWJTdG9wPSJ5ZXMiIEZvbnRJZD0iMyIgSGlkZVdoZW5EaXNhYmxlZD0ieWVzIj4jKGxvYy5JbmNsdWRlX3Rlc3RMYWJlbCk8L0NoZWNrYm94PgorICAgICAgICA8VGV4dCBYPSIyMDUiIFk9IjIwNiIgV2lkdGg9Ii0xMSIgSGVpZ2h0PSIyMCIgVGFiU3RvcD0ibm8iIEZvbnRJZD0iNSI+Iyhsb2MuSW5jbHVkZV90ZXN0SGVscExhYmVsKTwvVGV4dD4KKworICAgICAgICA8Q2hlY2tib3ggTmFtZT0iSW5jbHVkZV9sYXVuY2hlciIgWD0iMTg1IiBZPSIyMzEiIFdpZHRoPSItMTEiIEhlaWdodD0iMjAiIFRhYlN0b3A9InllcyIgRm9udElkPSIzIiBIaWRlV2hlbkRpc2FibGVkPSJ5ZXMiPiMobG9jLkluY2x1ZGVfbGF1bmNoZXJMYWJlbCk8L0NoZWNrYm94PgorICAgICAgICA8VGV4dCBYPSIyMDUiIFk9IjI1MSIgV2lkdGg9Ii0xMSIgSGVpZ2h0PSIyMCIgVGFiU3RvcD0ibm8iIEZvbnRJZD0iNSI+Iyhsb2MuSW5jbHVkZV9sYXVuY2hlckhlbHBMYWJlbCk8L1RleHQ+CisKKyAgICAgICAgPEJ1dHRvbiBOYW1lPSJDdXN0b20xQmFja0J1dHRvbiIgWD0iMTg1IiBZPSItMTEiIFdpZHRoPSI3NSIgSGVpZ2h0PSIyMyIgVGFiU3RvcD0ieWVzIiBGb250SWQ9IjAiPiMobG9jLkN1c3RvbUJhY2tCdXR0b24pPC9CdXR0b24+CisgICAgICAgIDxCdXR0b24gTmFtZT0iQ3VzdG9tTmV4dEJ1dHRvbiIgWD0iLTkxIiBZPSItMTEiIFdpZHRoPSI3NSIgSGVpZ2h0PSIyMyIgVGFiU3RvcD0ieWVzIiBGb250SWQ9IjAiPiMobG9jLkN1c3RvbU5leHRCdXR0b24pPC9CdXR0b24+CisgICAgICAgIDxCdXR0b24gTmFtZT0iQ3VzdG9tMUNhbmNlbEJ1dHRvbiIgWD0iLTExIiBZPSItMTEiIFdpZHRoPSI3NSIgSGVpZ2h0PSIyMyIgVGFiU3RvcD0ieWVzIiBGb250SWQ9IjAiPiMobG9jLkNhbmNlbEJ1dHRvbik8L0J1dHRvbj4KKyAgICA8L1BhZ2U+CisgICAgPFBhZ2UgTmFtZT0iQ3VzdG9tMiI+CisgICAgICAgIDxUZXh0IFg9IjE4NSIgWT0iMTEiIFdpZHRoPSItMTEiIEhlaWdodD0iMzIiIEZvbnRJZD0iMSIgRGlzYWJsZVByZWZpeD0ieWVzIj4jKGxvYy5DdXN0b20ySGVhZGVyKTwvVGV4dD4KKyAgICAgICAgPEltYWdlIFg9IjAiIFk9IjAiIFdpZHRoPSIxNjIiIEhlaWdodD0iMzUyIiBJbWFnZUZpbGU9IlNpZGVCYXIucG5nIi8+CisgICAgICAgIAorICAgICAgICA8Q2hlY2tib3ggTmFtZT0iQXNzb2NpYXRlRmlsZXMiIFg9IjE4NSIgWT0iNTEiIFdpZHRoPSItMTEiIEhlaWdodD0iMjAiIFRhYlN0b3A9InllcyIgRm9udElkPSIzIiBIaWRlV2hlbkRpc2FibGVkPSJubyI+Iyhsb2MuQXNzb2NpYXRlRmlsZXNMYWJlbCk8L0NoZWNrYm94PgorICAgICAgICA8Q2hlY2tib3ggTmFtZT0iUHJlcGVuZFBhdGgiIFg9IjE4NSIgWT0iNzYiIFdpZHRoPSItMTEiIEhlaWdodD0iMjAiIFRhYlN0b3A9InllcyIgRm9udElkPSIzIiBIaWRlV2hlbkRpc2FibGVkPSJubyI+Iyhsb2MuUHJlcGVuZFBhdGhMYWJlbCk8L0NoZWNrYm94PgorICAgICAgICA8Q2hlY2tib3ggTmFtZT0iSW5zdGFsbEFsbFVzZXJzIiBYPSIxODUiIFk9IjEwMSIgV2lkdGg9Ii0xMSIgSGVpZ2h0PSIyMCIgVGFiU3RvcD0ieWVzIiBGb250SWQ9IjMiIEhpZGVXaGVuRGlzYWJsZWQ9Im5vIj4jKGxvYy5JbnN0YWxsQWxsVXNlcnNMYWJlbCk8L0NoZWNrYm94PgorICAgICAgICA8Q2hlY2tib3ggTmFtZT0iQ29tcGlsZUFsbCIgWD0iMTg1IiBZPSIxMjYiIFdpZHRoPSItMTEiIEhlaWdodD0iMjAiIFRhYlN0b3A9InllcyIgRm9udElkPSIzIiBIaWRlV2hlbkRpc2FibGVkPSJubyI+Iyhsb2MuUHJlY29tcGlsZUxhYmVsKTwvQ2hlY2tib3g+CisgICAgICAgIDxDaGVja2JveCBOYW1lPSJJbmNsdWRlX3N5bWJvbHMiIFg9IjE4NSIgWT0iMTUxIiBXaWR0aD0iLTExIiBIZWlnaHQ9IjIwIiBUYWJTdG9wPSJ5ZXMiIEZvbnRJZD0iMyIgSGlkZVdoZW5EaXNhYmxlZD0ibm8iPiMobG9jLkluY2x1ZGVfc3ltYm9sc0xhYmVsKTwvQ2hlY2tib3g+CisgICAgICAgIDxDaGVja2JveCBOYW1lPSJJbmNsdWRlX2RlYnVnIiBYPSIxODUiIFk9IjE3NiIgV2lkdGg9Ii0xMSIgSGVpZ2h0PSIyMCIgVGFiU3RvcD0ieWVzIiBGb250SWQ9IjMiIEhpZGVXaGVuRGlzYWJsZWQ9Im5vIj4jKGxvYy5JbmNsdWRlX2RlYnVnTGFiZWwpPC9DaGVja2JveD4KKworICAgICAgICA8VGV4dCBYPSIxODUiIFk9IjIyMSIgV2lkdGg9Ii0xMSIgSGVpZ2h0PSIxNyIgRm9udElkPSIzIj4jKGxvYy5DdXN0b21Mb2NhdGlvbkxhYmVsKTwvVGV4dD4KKyAgICAgICAgPEVkaXRib3ggTmFtZT0iVGFyZ2V0RGlyIiBYPSIxODUiIFk9IjIzNyIgV2lkdGg9Ii05MSIgSGVpZ2h0PSIyMSIgVGFiU3RvcD0ieWVzIiBGb250SWQ9IjMiIEZpbGVTeXN0ZW1BdXRvQ29tcGxldGU9InllcyIgLz4KKyAgICAgICAgPEJ1dHRvbiBOYW1lPSJDdXN0b21Ccm93c2VCdXR0b24iIFg9Ii0xMSIgWT0iMjM2IiBXaWR0aD0iNzUiIEhlaWdodD0iMjMiIFRhYlN0b3A9InllcyIgRm9udElkPSIzIj4jKGxvYy5DdXN0b21Ccm93c2VCdXR0b24pPC9CdXR0b24+CisgICAgICAgIDxUZXh0IFg9IjE4NSIgWT0iMjYxIiBXaWR0aD0iLTkxIiBIZWlnaHQ9IjM1IiBGb250SWQ9IjUiPiMobG9jLkN1c3RvbUxvY2F0aW9uSGVscExhYmVsKTwvVGV4dD4KKworICAgICAgICA8QnV0dG9uIE5hbWU9IkN1c3RvbTJCYWNrQnV0dG9uIiBYPSIxODUiIFk9Ii0xMSIgV2lkdGg9Ijc1IiBIZWlnaHQ9IjIzIiBUYWJTdG9wPSJ5ZXMiIEZvbnRJZD0iMCI+Iyhsb2MuQ3VzdG9tQmFja0J1dHRvbik8L0J1dHRvbj4KKyAgICAgICAgPEJ1dHRvbiBOYW1lPSJDdXN0b21JbnN0YWxsQnV0dG9uIiBYPSItOTEiIFk9Ii0xMSIgV2lkdGg9Ijk1IiBIZWlnaHQ9IjIzIiBUYWJTdG9wPSJ5ZXMiIEZvbnRJZD0iMCI+Iyhsb2MuQ3VzdG9tSW5zdGFsbEJ1dHRvbik8L0J1dHRvbj4KKyAgICAgICAgPEJ1dHRvbiBOYW1lPSJDdXN0b20yQ2FuY2VsQnV0dG9uIiBYPSItMTEiIFk9Ii0xMSIgV2lkdGg9Ijc1IiBIZWlnaHQ9IjIzIiBUYWJTdG9wPSJ5ZXMiIEZvbnRJZD0iMCI+Iyhsb2MuQ2FuY2VsQnV0dG9uKTwvQnV0dG9uPgorICAgIDwvUGFnZT4KKyAgICA8UGFnZSBOYW1lPSJQcm9ncmVzcyI+CisgICAgICAgIDxUZXh0IFg9IjE4NSIgWT0iMTEiIFdpZHRoPSItMTEiIEhlaWdodD0iMzIiIEZvbnRJZD0iMSIgRGlzYWJsZVByZWZpeD0ieWVzIj4jKGxvYy5Qcm9ncmVzc0hlYWRlcik8L1RleHQ+CisgICAgICAgIDxJbWFnZSBYPSIwIiBZPSIwIiBXaWR0aD0iMTYyIiBIZWlnaHQ9IjM1MiIgSW1hZ2VGaWxlPSJTaWRlQmFyLnBuZyIvPgorCisgICAgICAgIDxUZXh0IFg9IjE4NSIgWT0iMTExIiBXaWR0aD0iNzAiIEhlaWdodD0iMTciIEZvbnRJZD0iMyIgRGlzYWJsZVByZWZpeD0ieWVzIj4jKGxvYy5Qcm9ncmVzc0xhYmVsKTwvVGV4dD4KKyAgICAgICAgPFRleHQgTmFtZT0iT3ZlcmFsbFByb2dyZXNzUGFja2FnZVRleHQiIFg9IjE4NSIgWT0iMTQxIiBXaWR0aD0iLTExIiBIZWlnaHQ9IjE3IiBGb250SWQ9IjMiIERpc2FibGVQcmVmaXg9InllcyI+Iyhsb2MuT3ZlcmFsbFByb2dyZXNzUGFja2FnZVRleHQpPC9UZXh0PgorICAgICAgICA8UHJvZ3Jlc3NiYXIgTmFtZT0iT3ZlcmFsbENhbGN1bGF0ZWRQcm9ncmVzc2JhciIgWD0iMTg1IiBZPSIxNjMiIFdpZHRoPSItMTEiIEhlaWdodD0iMjAiIC8+CisgICAgICAgIDxCdXR0b24gTmFtZT0iUHJvZ3Jlc3NDYW5jZWxCdXR0b24iIFg9Ii0xMSIgWT0iLTExIiBXaWR0aD0iNzUiIEhlaWdodD0iMjMiIFRhYlN0b3A9InllcyIgRm9udElkPSIwIj4jKGxvYy5DYW5jZWxCdXR0b24pPC9CdXR0b24+CisgICAgPC9QYWdlPgorICAgIDxQYWdlIE5hbWU9Ik1vZGlmeSI+CisgICAgICAgIDxUZXh0IFg9IjE4NSIgWT0iMTEiIFdpZHRoPSItMTEiIEhlaWdodD0iMzIiIEZvbnRJZD0iMSIgRGlzYWJsZVByZWZpeD0ieWVzIj4jKGxvYy5Nb2RpZnlIZWFkZXIpPC9UZXh0PgorICAgICAgICA8SW1hZ2UgWD0iMCIgWT0iMCIgV2lkdGg9IjE2MiIgSGVpZ2h0PSIzNTIiIEltYWdlRmlsZT0iU2lkZUJhci5wbmciLz4KKworICAgICAgICA8QnV0dG9uIE5hbWU9Ik1vZGlmeUJ1dHRvbiIgWD0iMTc1IiBZPSIxMDEiIFdpZHRoPSItMTEiIEhlaWdodD0iNTkiIFRhYlN0b3A9InllcyIgRm9udElkPSIzIiBIZXhTdHlsZT0iMHhGIj4jKGxvYy5Nb2RpZnlNb2RpZnlCdXR0b24pPC9CdXR0b24+CisgICAgICAgIDxCdXR0b24gTmFtZT0iUmVwYWlyQnV0dG9uIiBYPSIxNzUiIFk9IjE3MSIgV2lkdGg9Ii0xMSIgSGVpZ2h0PSI1OSIgVGFiU3RvcD0ieWVzIiBGb250SWQ9IjMiIEhleFN0eWxlPSIweEUiPiMobG9jLk1vZGlmeVJlcGFpckJ1dHRvbik8L0J1dHRvbj4KKyAgICAgICAgPEJ1dHRvbiBOYW1lPSJVbmluc3RhbGxCdXR0b24iIFg9IjE3NSIgWT0iMjQxIiBXaWR0aD0iLTExIiBIZWlnaHQ9IjU5IiBUYWJTdG9wPSJ5ZXMiIEZvbnRJZD0iMyIgSGV4U3R5bGU9IjB4RSI+Iyhsb2MuTW9kaWZ5VW5pbnN0YWxsQnV0dG9uKTwvQnV0dG9uPgorCisgICAgICAgIDxCdXR0b24gTmFtZT0iTW9kaWZ5Q2FuY2VsQnV0dG9uIiBYPSItMTEiIFk9Ii0xMSIgV2lkdGg9Ijc1IiBIZWlnaHQ9IjIzIiBUYWJTdG9wPSJ5ZXMiIEZvbnRJZD0iMCI+Iyhsb2MuQ2FuY2VsQnV0dG9uKTwvQnV0dG9uPgorICAgIDwvUGFnZT4KKyAgICA8UGFnZSBOYW1lPSJTdWNjZXNzIj4KKyAgICAgICAgPFRleHQgWD0iMTg1IiBZPSIxMSIgV2lkdGg9Ii0xMSIgSGVpZ2h0PSIzMiIgRm9udElkPSIxIiBEaXNhYmxlUHJlZml4PSJ5ZXMiPiMobG9jLlN1Y2Nlc3NIZWFkZXIpPC9UZXh0PgorICAgICAgICA8SW1hZ2UgWD0iMCIgWT0iMCIgV2lkdGg9IjE2MiIgSGVpZ2h0PSIzNTIiIEltYWdlRmlsZT0iU2lkZUJhci5wbmciLz4KKworICAgICAgICA8SHlwZXJ0ZXh0IE5hbWU9IlN1Y2Nlc3NUZXh0IiBYPSIyMDUiIFk9IjcxIiBXaWR0aD0iLTMxIiBIZWlnaHQ9IjEwMCIgRm9udElkPSIzIiBEaXNhYmxlUHJlZml4PSJ5ZXMiPjwvSHlwZXJ0ZXh0PgorCisgICAgICAgIDxUZXh0IE5hbWU9IlN1Y2Nlc3NSZXN0YXJ0VGV4dCIgWD0iMTg1IiBZPSItMTAwIiBXaWR0aD0iLTExIiBIZWlnaHQ9IjM0IiBGb250SWQ9IjMiIEhpZGVXaGVuRGlzYWJsZWQ9InllcyIgRGlzYWJsZVByZWZpeD0ieWVzIj4jKGxvYy5TdWNjZXNzUmVzdGFydFRleHQpPC9UZXh0PgorICAgICAgICA8QnV0dG9uIE5hbWU9IkxhdW5jaEJ1dHRvbiIgWD0iMTg1IiBZPSItNTAiIFdpZHRoPSItMTEiIEhlaWdodD0iNTkiIFRhYlN0b3A9InllcyIgRm9udElkPSIzIiBIZXhTdHlsZT0iMHhGIiBIaWRlV2hlbkRpc2FibGVkPSJ5ZXMiPiMobG9jLlN1Y2Nlc3NMYXVuY2hCdXR0b24pPC9CdXR0b24+CisgICAgICAgIDxCdXR0b24gTmFtZT0iU3VjY2Vzc1Jlc3RhcnRCdXR0b24iIFg9Ii05MSIgWT0iLTExIiBXaWR0aD0iNzUiIEhlaWdodD0iMjMiIFRhYlN0b3A9InllcyIgRm9udElkPSIwIiBIaWRlV2hlbkRpc2FibGVkPSJ5ZXMiPiMobG9jLlN1Y2Nlc3NSZXN0YXJ0QnV0dG9uKTwvQnV0dG9uPgorICAgICAgICA8QnV0dG9uIE5hbWU9IlN1Y2Nlc3NDYW5jZWxCdXR0b24iIFg9Ii0xMSIgWT0iLTExIiBXaWR0aD0iNzUiIEhlaWdodD0iMjMiIFRhYlN0b3A9InllcyIgRm9udElkPSIwIj4jKGxvYy5DbG9zZUJ1dHRvbik8L0J1dHRvbj4KKyAgICA8L1BhZ2U+CisgICAgPFBhZ2UgTmFtZT0iRmFpbHVyZSI+CisgICAgICAgIDxUZXh0IFg9IjE4NSIgWT0iMTEiIFdpZHRoPSItMTEiIEhlaWdodD0iMzIiIEZvbnRJZD0iMSIgRGlzYWJsZVByZWZpeD0ieWVzIj4jKGxvYy5GYWlsdXJlSGVhZGVyKTwvVGV4dD4KKyAgICAgICAgPEltYWdlIFg9IjAiIFk9IjAiIFdpZHRoPSIxNjIiIEhlaWdodD0iMzUyIiBJbWFnZUZpbGU9IlNpZGVCYXIucG5nIi8+CisKKyAgICAgICAgPEh5cGVydGV4dCBOYW1lPSJGYWlsdXJlTG9nRmlsZUxpbmsiIFg9IjE4NSIgWT0iNzEiIFdpZHRoPSItMTEiIEhlaWdodD0iNjAiIEZvbnRJZD0iMyIgVGFiU3RvcD0ieWVzIiBIaWRlV2hlbkRpc2FibGVkPSJ5ZXMiPiMobG9jLkZhaWx1cmVIeXBlcmxpbmtMb2dUZXh0KTwvSHlwZXJ0ZXh0PgorICAgICAgICA8SHlwZXJ0ZXh0IE5hbWU9IkZhaWx1cmVNZXNzYWdlVGV4dCIgWD0iMTg1IiBZPSItMTAwIiBXaWR0aD0iLTExIiBIZWlnaHQ9IjM0IiBGb250SWQ9IjMiIFRhYlN0b3A9InllcyIgSGlkZVdoZW5EaXNhYmxlZD0ieWVzIj5GYWlsdXJlIE1lc3NhZ2U8L0h5cGVydGV4dD4KKyAgICAgICAgPFRleHQgTmFtZT0iRmFpbHVyZVJlc3RhcnRUZXh0IiBYPSIxODUiIFk9Ii00MCIgV2lkdGg9Ii0xMSIgSGVpZ2h0PSIzNCIgRm9udElkPSIzIiBIaWRlV2hlbkRpc2FibGVkPSJ5ZXMiIERpc2FibGVQcmVmaXg9InllcyI+Iyhsb2MuRmFpbHVyZVJlc3RhcnRUZXh0KTwvVGV4dD4KKyAgICAgICAgPEJ1dHRvbiBOYW1lPSJGYWlsdXJlUmVzdGFydEJ1dHRvbiIgWD0iLTkxIiBZPSItMTEiIFdpZHRoPSI3NSIgSGVpZ2h0PSIyMyIgVGFiU3RvcD0ieWVzIiBGb250SWQ9IjAiIEhpZGVXaGVuRGlzYWJsZWQ9InllcyI+Iyhsb2MuRmFpbHVyZVJlc3RhcnRCdXR0b24pPC9CdXR0b24+CisgICAgICAgIDxCdXR0b24gTmFtZT0iRmFpbHVyZUNhbmNlbEJ1dHRvbiIgWD0iLTExIiBZPSItMTEiIFdpZHRoPSI3NSIgSGVpZ2h0PSIyMyIgVGFiU3RvcD0ieWVzIiBGb250SWQ9IjAiPiMobG9jLkNsb3NlQnV0dG9uKTwvQnV0dG9uPgorICAgIDwvUGFnZT4KKzwvVGhlbWU+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL2J1bmRsZS9EZWZhdWx0Lnd4bCBiL1Rvb2xzL21zaS9idW5kbGUvRGVmYXVsdC53eGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjYyZmFmNgotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS9idW5kbGUvRGVmYXVsdC53eGwKQEAgLTAsMCArMSwxMDggQEAKK++7vzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8V2l4TG9jYWxpemF0aW9uIEN1bHR1cmU9ImVuLXVzIiBMYW5ndWFnZT0iMTAzMyIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vd2l4LzIwMDYvbG9jYWxpemF0aW9uIj4KKyAgPFN0cmluZyBJZD0iQ2FwdGlvbiI+W1dpeEJ1bmRsZU5hbWVdIFNldHVwPC9TdHJpbmc+CisgIDxTdHJpbmcgSWQ9IlRpdGxlIj5bV2l4QnVuZGxlTmFtZV08L1N0cmluZz4KKyAgPFN0cmluZyBJZD0iSW5zdGFsbGluZyI+SW5zdGFsbGluZzwvU3RyaW5nPgorICA8U3RyaW5nIElkPSJJbnN0YWxsYXRpb24iPlNldHVwPC9TdHJpbmc+CisgIDxTdHJpbmcgSWQ9Ik1vZGlmeWluZyI+VXBkYXRpbmc8L1N0cmluZz4KKyAgPFN0cmluZyBJZD0iTW9kaWZpY2F0aW9uIj5Nb2RpZnk8L1N0cmluZz4KKyAgPFN0cmluZyBJZD0iUmVwYWlyaW5nIj5SZXBhaXJpbmc8L1N0cmluZz4KKyAgPFN0cmluZyBJZD0iUmVwYWlyIj5SZXBhaXI8L1N0cmluZz4KKyAgPFN0cmluZyBJZD0iVW5pbnN0YWxsaW5nIj5SZW1vdmluZzwvU3RyaW5nPgorICA8U3RyaW5nIElkPSJVbmluc3RhbGxhdGlvbiI+VW5pbnN0YWxsPC9TdHJpbmc+CisgIAorICA8U3RyaW5nIElkPSJFbGV2YXRlRm9yQ1JUSW5zdGFsbCI+WW91IHdpbGwgYmUgcHJvbXB0ZWQgZm9yIEFkbWluaXN0cmF0b3IgcHJpdmlsZWdlcyB0byBpbnN0YWxsIGEgQyBSdW50aW1lIExpYnJhcnkgdXBkYXRlIChLQjI5OTkyMjYpLgorCisKK0NvbnRpbnVlPzwvU3RyaW5nPgorICAKKyAgPFN0cmluZyBJZD0iQ2FuY2VsQnV0dG9uIj4mYW1wO0NhbmNlbDwvU3RyaW5nPgorICA8U3RyaW5nIElkPSJDbG9zZUJ1dHRvbiI+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+Cis8L1dpeExvY2FsaXphdGlvbj4KZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS9idW5kbGUvU2lkZUJhci5wbmcgYi9Ub29scy9tc2kvYnVuZGxlL1NpZGVCYXIucG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjljMThmZmYKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9tc2kvYnVuZGxlL1NpZGVCYXIucG5nCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS9idW5kbGUvYm9vdHN0cmFwL0xJQ0VOU0UudHh0IGIvVG9vbHMvbXNpL2J1bmRsZS9ib290c3RyYXAvTElDRU5TRS50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTc5MWE3ZQotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS9idW5kbGUvYm9vdHN0cmFwL0xJQ0VOU0UudHh0CkBAIC0wLDAgKzEsMjUgQEAKK1RoaXMgbGljZW5zZSBhcHBsaWVzIHRvIHRoZSBib290c3RyYXBwZXIgYXBwbGljYXRpb24gdGhhdCBpcyBlbWJlZGRlZCB3aXRoaW4gdGhlIGluc3RhbGxlci4gSXQgaGFzIG5vIGltcGFjdCBvbiB0aGUgbGljZW5zaW5nIGZvciB0aGUgcmVzdCBvZiB0aGUgaW5zdGFsbGVyIG9yIFB5dGhvbiBpdHNlbGYsIGFzIG5vIGNvZGUgY292ZXJlZCBieSB0aGlzIGxpY2Vuc2UgZXhpc3RzIGluIGFueSBvdGhlciBwYXJ0IG9mIHRoZSBwcm9kdWN0LgorCistLS0KKworTWljcm9zb2Z0IFJlY2lwcm9jYWwgTGljZW5zZSAoTVMtUkwpCisKK1RoaXMgbGljZW5zZSBnb3Zlcm5zIHVzZSBvZiB0aGUgYWNjb21wYW55aW5nIHNvZnR3YXJlLiBJZiB5b3UgdXNlIHRoZSBzb2Z0d2FyZSwgeW91IGFjY2VwdCB0aGlzIGxpY2Vuc2UuIElmIHlvdSBkbyBub3QgYWNjZXB0IHRoZSBsaWNlbnNlLCBkbyBub3QgdXNlIHRoZSBzb2Z0d2FyZS4KKworMS4gRGVmaW5pdGlvbnMKKyBUaGUgdGVybXMgInJlcHJvZHVjZSwiICJyZXByb2R1Y3Rpb24sIiAiZGVyaXZhdGl2ZSB3b3JrcywiIGFuZCAiZGlzdHJpYnV0aW9uIiBoYXZlIHRoZSBzYW1lIG1lYW5pbmcgaGVyZSBhcyB1bmRlciBVLlMuIGNvcHlyaWdodCBsYXcuCisgQSAiY29udHJpYnV0aW9uIiBpcyB0aGUgb3JpZ2luYWwgc29mdHdhcmUsIG9yIGFueSBhZGRpdGlvbnMgb3IgY2hhbmdlcyB0byB0aGUgc29mdHdhcmUuCisgQSAiY29udHJpYnV0b3IiIGlzIGFueSBwZXJzb24gdGhhdCBkaXN0cmlidXRlcyBpdHMgY29udHJpYnV0aW9uIHVuZGVyIHRoaXMgbGljZW5zZS4KKyAiTGljZW5zZWQgcGF0ZW50cyIgYXJlIGEgY29udHJpYnV0b3IncyBwYXRlbnQgY2xhaW1zIHRoYXQgcmVhZCBkaXJlY3RseSBvbiBpdHMgY29udHJpYnV0aW9uLgorCisyLiBHcmFudCBvZiBSaWdodHMKKyAoQSkgQ29weXJpZ2h0IEdyYW50LSBTdWJqZWN0IHRvIHRoZSB0ZXJtcyBvZiB0aGlzIGxpY2Vuc2UsIGluY2x1ZGluZyB0aGUgbGljZW5zZSBjb25kaXRpb25zIGFuZCBsaW1pdGF0aW9ucyBpbiBzZWN0aW9uIDMsIGVhY2ggY29udHJpYnV0b3IgZ3JhbnRzIHlvdSBhIG5vbi1leGNsdXNpdmUsIHdvcmxkd2lkZSwgcm95YWx0eS1mcmVlIGNvcHlyaWdodCBsaWNlbnNlIHRvIHJlcHJvZHVjZSBpdHMgY29udHJpYnV0aW9uLCBwcmVwYXJlIGRlcml2YXRpdmUgd29ya3Mgb2YgaXRzIGNvbnRyaWJ1dGlvbiwgYW5kIGRpc3RyaWJ1dGUgaXRzIGNvbnRyaWJ1dGlvbiBvciBhbnkgZGVyaXZhdGl2ZSB3b3JrcyB0aGF0IHlvdSBjcmVhdGUuCisgKEIpIFBhdGVudCBHcmFudC0gU3ViamVjdCB0byB0aGUgdGVybXMgb2YgdGhpcyBsaWNlbnNlLCBpbmNsdWRpbmcgdGhlIGxpY2Vuc2UgY29uZGl0aW9ucyBhbmQgbGltaXRhdGlvbnMgaW4gc2VjdGlvbiAzLCBlYWNoIGNvbnRyaWJ1dG9yIGdyYW50cyB5b3UgYSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHJveWFsdHktZnJlZSBsaWNlbnNlIHVuZGVyIGl0cyBsaWNlbnNlZCBwYXRlbnRzIHRvIG1ha2UsIGhhdmUgbWFkZSwgdXNlLCBzZWxsLCBvZmZlciBmb3Igc2FsZSwgaW1wb3J0LCBhbmQvb3Igb3RoZXJ3aXNlIGRpc3Bvc2Ugb2YgaXRzIGNvbnRyaWJ1dGlvbiBpbiB0aGUgc29mdHdhcmUgb3IgZGVyaXZhdGl2ZSB3b3JrcyBvZiB0aGUgY29udHJpYnV0aW9uIGluIHRoZSBzb2Z0d2FyZS4KKworMy4gQ29uZGl0aW9ucyBhbmQgTGltaXRhdGlvbnMKKyAoQSkgUmVjaXByb2NhbCBHcmFudHMtIEZvciBhbnkgZmlsZSB5b3UgZGlzdHJpYnV0ZSB0aGF0IGNvbnRhaW5zIGNvZGUgZnJvbSB0aGUgc29mdHdhcmUgKGluIHNvdXJjZSBjb2RlIG9yIGJpbmFyeSBmb3JtYXQpLCB5b3UgbXVzdCBwcm92aWRlIHJlY2lwaWVudHMgdGhlIHNvdXJjZSBjb2RlIHRvIHRoYXQgZmlsZSBhbG9uZyB3aXRoIGEgY29weSBvZiB0aGlzIGxpY2Vuc2UsIHdoaWNoIGxpY2Vuc2Ugd2lsbCBnb3Zlcm4gdGhhdCBmaWxlLiBZb3UgbWF5IGxpY2Vuc2Ugb3RoZXIgZmlsZXMgdGhhdCBhcmUgZW50aXJlbHkgeW91ciBvd24gd29yayBhbmQgZG8gbm90IGNvbnRhaW4gY29kZSBmcm9tIHRoZSBzb2Z0d2FyZSB1bmRlciBhbnkgdGVybXMgeW91IGNob29zZS4KKyAoQikgTm8gVHJhZGVtYXJrIExpY2Vuc2UtIFRoaXMgbGljZW5zZSBkb2VzIG5vdCBncmFudCB5b3UgcmlnaHRzIHRvIHVzZSBhbnkgY29udHJpYnV0b3JzJyBuYW1lLCBsb2dvLCBvciB0cmFkZW1hcmtzLgorIChDKSBJZiB5b3UgYnJpbmcgYSBwYXRlbnQgY2xhaW0gYWdhaW5zdCBhbnkgY29udHJpYnV0b3Igb3ZlciBwYXRlbnRzIHRoYXQgeW91IGNsYWltIGFyZSBpbmZyaW5nZWQgYnkgdGhlIHNvZnR3YXJlLCB5b3VyIHBhdGVudCBsaWNlbnNlIGZyb20gc3VjaCBjb250cmlidXRvciB0byB0aGUgc29mdHdhcmUgZW5kcyBhdXRvbWF0aWNhbGx5LgorIChEKSBJZiB5b3UgZGlzdHJpYnV0ZSBhbnkgcG9ydGlvbiBvZiB0aGUgc29mdHdhcmUsIHlvdSBtdXN0IHJldGFpbiBhbGwgY29weXJpZ2h0LCBwYXRlbnQsIHRyYWRlbWFyaywgYW5kIGF0dHJpYnV0aW9uIG5vdGljZXMgdGhhdCBhcmUgcHJlc2VudCBpbiB0aGUgc29mdHdhcmUuCisgKEUpIElmIHlvdSBkaXN0cmlidXRlIGFueSBwb3J0aW9uIG9mIHRoZSBzb2Z0d2FyZSBpbiBzb3VyY2UgY29kZSBmb3JtLCB5b3UgbWF5IGRvIHNvIG9ubHkgdW5kZXIgdGhpcyBsaWNlbnNlIGJ5IGluY2x1ZGluZyBhIGNvbXBsZXRlIGNvcHkgb2YgdGhpcyBsaWNlbnNlIHdpdGggeW91ciBkaXN0cmlidXRpb24uIElmIHlvdSBkaXN0cmlidXRlIGFueSBwb3J0aW9uIG9mIHRoZSBzb2Z0d2FyZSBpbiBjb21waWxlZCBvciBvYmplY3QgY29kZSBmb3JtLCB5b3UgbWF5IG9ubHkgZG8gc28gdW5kZXIgYSBsaWNlbnNlIHRoYXQgY29tcGxpZXMgd2l0aCB0aGlzIGxpY2Vuc2UuCisgKEYpIFRoZSBzb2Z0d2FyZSBpcyBsaWNlbnNlZCAiYXMtaXMuIiBZb3UgYmVhciB0aGUgcmlzayBvZiB1c2luZyBpdC4gVGhlIGNvbnRyaWJ1dG9ycyBnaXZlIG5vIGV4cHJlc3Mgd2FycmFudGllcywgZ3VhcmFudGVlcyBvciBjb25kaXRpb25zLiBZb3UgbWF5IGhhdmUgYWRkaXRpb25hbCBjb25zdW1lciByaWdodHMgdW5kZXIgeW91ciBsb2NhbCBsYXdzIHdoaWNoIHRoaXMgbGljZW5zZSBjYW5ub3QgY2hhbmdlLiBUbyB0aGUgZXh0ZW50IHBlcm1pdHRlZCB1bmRlciB5b3VyIGxvY2FsIGxhd3MsIHRoZSBjb250cmlidXRvcnMgZXhjbHVkZSB0aGUgaW1wbGllZCB3YXJyYW50aWVzIG9mIG1lcmNoYW50YWJpbGl0eSwgZml0bmVzcyBmb3IgYSBwYXJ0aWN1bGFyIHB1cnBvc2UgYW5kIG5vbi1pbmZyaW5nZW1lbnQuCmRpZmYgLS1naXQgYS9Ub29scy9tc2kvYnVuZGxlL2Jvb3RzdHJhcC9QeXRob25Cb290c3RyYXBwZXJBcHBsaWNhdGlvbi5jcHAgYi9Ub29scy9tc2kvYnVuZGxlL2Jvb3RzdHJhcC9QeXRob25Cb290c3RyYXBwZXJBcHBsaWNhdGlvbi5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDA5MDQ0MwotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS9idW5kbGUvYm9vdHN0cmFwL1B5dGhvbkJvb3RzdHJhcHBlckFwcGxpY2F0aW9uLmNwcApAQCAtMCwwICsxLDI3MzQgQEAKKy8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLy8gPGNvcHlyaWdodCBmaWxlPSJXaXhTdGFuZGFyZEJvb3RzdHJhcHBlckFwcGxpY2F0aW9uLmNwcCIgY29tcGFueT0iT3V0ZXJjdXJ2ZSBGb3VuZGF0aW9uIj4KKy8vICAgQ29weXJpZ2h0IChjKSAyMDA0LCBPdXRlcmN1cnZlIEZvdW5kYXRpb24uCisvLyAgIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgTWljcm9zb2Z0IFJlY2lwcm9jYWwgTGljZW5zZSAoTVMtUkwpLgorLy8gICBUaGUgbGljZW5zZSBhbmQgZnVydGhlciBjb3B5cmlnaHQgdGV4dCBjYW4gYmUgZm91bmQgaW4gdGhlIGZpbGUKKy8vICAgTElDRU5TRS5UWFQgYXQgdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoZSBkaXN0cmlidXRpb24uCisvLyA8L2NvcHlyaWdodD4KKy8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisKKyNpbmNsdWRlICJwY2guaCIKKworc3RhdGljIGNvbnN0IExQQ1dTVFIgUFlCQV9XSU5ET1dfQ0xBU1MgPSBMIlB5dGhvbkJBIjsKK3N0YXRpYyBjb25zdCBMUENXU1RSIFBZQkFfVkFSSUFCTEVfTEFVTkNIX1RBUkdFVF9QQVRIID0gTCJMYXVuY2hUYXJnZXQiOworc3RhdGljIGNvbnN0IExQQ1dTVFIgUFlCQV9WQVJJQUJMRV9MQVVOQ0hfVEFSR0VUX0VMRVZBVEVEX0lEID0gTCJMYXVuY2hUYXJnZXRFbGV2YXRlZElkIjsKK3N0YXRpYyBjb25zdCBMUENXU1RSIFBZQkFfVkFSSUFCTEVfTEFVTkNIX0FSR1VNRU5UUyA9IEwiTGF1bmNoQXJndW1lbnRzIjsKK3N0YXRpYyBjb25zdCBMUENXU1RSIFBZQkFfVkFSSUFCTEVfTEFVTkNIX0hJRERFTiA9IEwiTGF1bmNoSGlkZGVuIjsKK3N0YXRpYyBjb25zdCBEV09SRCBQWUJBX0FDUVVJUkVfUEVSQ0VOVEFHRSA9IDMwOworc3RhdGljIGNvbnN0IExQQ1dTVFIgUFlCQV9WQVJJQUJMRV9CVU5ETEVfRklMRV9WRVJTSU9OID0gTCJXaXhCdW5kbGVGaWxlVmVyc2lvbiI7CisKK2VudW0gUFlCQV9TVEFURSB7CisgICAgUFlCQV9TVEFURV9JTklUSUFMSVpJTkcsCisgICAgUFlCQV9TVEFURV9JTklUSUFMSVpFRCwKKyAgICBQWUJBX1NUQVRFX0hFTFAsCisgICAgUFlCQV9TVEFURV9ERVRFQ1RJTkcsCisgICAgUFlCQV9TVEFURV9ERVRFQ1RFRCwKKyAgICBQWUJBX1NUQVRFX1BMQU5OSU5HLAorICAgIFBZQkFfU1RBVEVfUExBTk5FRCwKKyAgICBQWUJBX1NUQVRFX0FQUExZSU5HLAorICAgIFBZQkFfU1RBVEVfQ0FDSElORywKKyAgICBQWUJBX1NUQVRFX0NBQ0hFRCwKKyAgICBQWUJBX1NUQVRFX0VYRUNVVElORywKKyAgICBQWUJBX1NUQVRFX0VYRUNVVEVELAorICAgIFBZQkFfU1RBVEVfQVBQTElFRCwKKyAgICBQWUJBX1NUQVRFX0ZBSUxFRCwKK307CisKK3N0YXRpYyBjb25zdCBpbnQgV01fUFlCQV9TSE9XX0hFTFAgPSBXTV9BUFAgKyAxMDA7CitzdGF0aWMgY29uc3QgaW50IFdNX1BZQkFfREVURUNUX1BBQ0tBR0VTID0gV01fQVBQICsgMTAxOworc3RhdGljIGNvbnN0IGludCBXTV9QWUJBX1BMQU5fUEFDS0FHRVMgPSBXTV9BUFAgKyAxMDI7CitzdGF0aWMgY29uc3QgaW50IFdNX1BZQkFfQVBQTFlfUEFDS0FHRVMgPSBXTV9BUFAgKyAxMDM7CitzdGF0aWMgY29uc3QgaW50IFdNX1BZQkFfQ0hBTkdFX1NUQVRFID0gV01fQVBQICsgMTA0Oworc3RhdGljIGNvbnN0IGludCBXTV9QWUJBX1NIT1dfRkFJTFVSRSA9IFdNX0FQUCArIDEwNTsKKworLy8gVGhpcyBlbnVtIG11c3QgYmUga2VwdCBpbiB0aGUgc2FtZSBvcmRlciBhcyB0aGUgUEFHRV9OQU1FUyBhcnJheS4KK2VudW0gUEFHRSB7CisgICAgUEFHRV9MT0FESU5HLAorICAgIFBBR0VfSEVMUCwKKyAgICBQQUdFX0lOU1RBTEwsCisgICAgUEFHRV9TSU1QTEVfSU5TVEFMTCwKKyAgICBQQUdFX0NVU1RPTTEsCisgICAgUEFHRV9DVVNUT00yLAorICAgIFBBR0VfTU9ESUZZLAorICAgIFBBR0VfUFJPR1JFU1MsCisgICAgUEFHRV9QUk9HUkVTU19QQVNTSVZFLAorICAgIFBBR0VfU1VDQ0VTUywKKyAgICBQQUdFX0ZBSUxVUkUsCisgICAgQ09VTlRfUEFHRSwKK307CisKKy8vIFRoaXMgYXJyYXkgbXVzdCBiZSBrZXB0IGluIHRoZSBzYW1lIG9yZGVyIGFzIHRoZSBQQUdFIGVudW0uCitzdGF0aWMgTFBDV1NUUiBQQUdFX05BTUVTW10gPSB7CisgICAgTCJMb2FkaW5nIiwKKyAgICBMIkhlbHAiLAorICAgIEwiSW5zdGFsbCIsCisgICAgTCJTaW1wbGVJbnN0YWxsIiwKKyAgICBMIkN1c3RvbTEiLAorICAgIEwiQ3VzdG9tMiIsCisgICAgTCJNb2RpZnkiLAorICAgIEwiUHJvZ3Jlc3MiLAorICAgIEwiUHJvZ3Jlc3NQYXNzaXZlIiwKKyAgICBMIlN1Y2Nlc3MiLAorICAgIEwiRmFpbHVyZSIsCit9OworCitlbnVtIENPTlRST0xfSUQgeworICAgIC8vIE5vbi1wYWdlZCBjb250cm9scworICAgIElEX0NMT1NFX0JVVFRPTiA9IFRIRU1FX0ZJUlNUX0FTU0lHTl9DT05UUk9MX0lELAorICAgIElEX01JTklNSVpFX0JVVFRPTiwKKworICAgIC8vIFdlbGNvbWUgcGFnZQorICAgIElEX0lOU1RBTExfQUxMX1VTRVJTX0JVVFRPTiwKKyAgICBJRF9JTlNUQUxMX0pVU1RfRk9SX01FX0JVVFRPTiwKKyAgICBJRF9JTlNUQUxMX0NVU1RPTV9CVVRUT04sCisgICAgSURfSU5TVEFMTF9TSU1QTEVfQlVUVE9OLAorICAgIElEX0lOU1RBTExfQ0FOQ0VMX0JVVFRPTiwKKyAgICAKKyAgICAvLyBDdXN0b21pemUgUGFnZQorICAgIElEX1RBUkdFVERJUl9FRElUQk9YLAorICAgIElEX0NVU1RPTV9BU1NPQ0lBVEVfRklMRVNfQ0hFQ0tCT1gsCisgICAgSURfQ1VTVE9NX0lOU1RBTExfQUxMX1VTRVJTX0NIRUNLQk9YLAorICAgIElEX0NVU1RPTV9CUk9XU0VfQlVUVE9OLAorICAgIElEX0NVU1RPTV9JTlNUQUxMX0JVVFRPTiwKKyAgICBJRF9DVVNUT01fTkVYVF9CVVRUT04sCisgICAgSURfQ1VTVE9NMV9CQUNLX0JVVFRPTiwKKyAgICBJRF9DVVNUT00yX0JBQ0tfQlVUVE9OLAorICAgIElEX0NVU1RPTTFfQ0FOQ0VMX0JVVFRPTiwKKyAgICBJRF9DVVNUT00yX0NBTkNFTF9CVVRUT04sCisKKyAgICAvLyBNb2RpZnkgcGFnZQorICAgIElEX01PRElGWV9CVVRUT04sCisgICAgSURfUkVQQUlSX0JVVFRPTiwKKyAgICBJRF9VTklOU1RBTExfQlVUVE9OLAorICAgIElEX01PRElGWV9DQU5DRUxfQlVUVE9OLAorCisgICAgLy8gUHJvZ3Jlc3MgcGFnZQorICAgIElEX0NBQ0hFX1BST0dSRVNTX1BBQ0tBR0VfVEVYVCwKKyAgICBJRF9DQUNIRV9QUk9HUkVTU19CQVIsCisgICAgSURfQ0FDSEVfUFJPR1JFU1NfVEVYVCwKKworICAgIElEX0VYRUNVVEVfUFJPR1JFU1NfUEFDS0FHRV9URVhULAorICAgIElEX0VYRUNVVEVfUFJPR1JFU1NfQkFSLAorICAgIElEX0VYRUNVVEVfUFJPR1JFU1NfVEVYVCwKKyAgICBJRF9FWEVDVVRFX1BST0dSRVNTX0FDVElPTkRBVEFfVEVYVCwKKworICAgIElEX09WRVJBTExfUFJPR1JFU1NfUEFDS0FHRV9URVhULAorICAgIElEX09WRVJBTExfUFJPR1JFU1NfQkFSLAorICAgIElEX09WRVJBTExfQ0FMQ1VMQVRFRF9QUk9HUkVTU19CQVIsCisgICAgSURfT1ZFUkFMTF9QUk9HUkVTU19URVhULAorCisgICAgSURfUFJPR1JFU1NfQ0FOQ0VMX0JVVFRPTiwKKworICAgIC8vIFN1Y2Nlc3MgcGFnZQorICAgIElEX0xBVU5DSF9CVVRUT04sCisgICAgSURfU1VDQ0VTU19URVhULAorICAgIElEX1NVQ0NFU1NfUkVTVEFSVF9URVhULAorICAgIElEX1NVQ0NFU1NfUkVTVEFSVF9CVVRUT04sCisgICAgSURfU1VDQ0VTU19DQU5DRUxfQlVUVE9OLAorCisgICAgLy8gRmFpbHVyZSBwYWdlCisgICAgSURfRkFJTFVSRV9MT0dGSUxFX0xJTkssCisgICAgSURfRkFJTFVSRV9NRVNTQUdFX1RFWFQsCisgICAgSURfRkFJTFVSRV9SRVNUQVJUX1RFWFQsCisgICAgSURfRkFJTFVSRV9SRVNUQVJUX0JVVFRPTiwKKyAgICBJRF9GQUlMVVJFX0NBTkNFTF9CVVRUT04KK307CisKK3N0YXRpYyBUSEVNRV9BU1NJR05fQ09OVFJPTF9JRCBDT05UUk9MX0lEX05BTUVTW10gPSB7CisgICAgeyBJRF9DTE9TRV9CVVRUT04sIEwiQ2xvc2VCdXR0b24iIH0sCisgICAgeyBJRF9NSU5JTUlaRV9CVVRUT04sIEwiTWluaW1pemVCdXR0b24iIH0sCisKKyAgICB7IElEX0lOU1RBTExfQUxMX1VTRVJTX0JVVFRPTiwgTCJJbnN0YWxsQWxsVXNlcnNCdXR0b24iIH0sCisgICAgeyBJRF9JTlNUQUxMX0pVU1RfRk9SX01FX0JVVFRPTiwgTCJJbnN0YWxsSnVzdEZvck1lQnV0dG9uIiB9LAorICAgIHsgSURfSU5TVEFMTF9DVVNUT01fQlVUVE9OLCBMIkluc3RhbGxDdXN0b21CdXR0b24iIH0sCisgICAgeyBJRF9JTlNUQUxMX1NJTVBMRV9CVVRUT04sIEwiSW5zdGFsbFNpbXBsZUJ1dHRvbiIgfSwKKyAgICB7IElEX0lOU1RBTExfQ0FOQ0VMX0JVVFRPTiwgTCJJbnN0YWxsQ2FuY2VsQnV0dG9uIiB9LAorCisgICAgeyBJRF9UQVJHRVRESVJfRURJVEJPWCwgTCJUYXJnZXREaXIiIH0sCisgICAgeyBJRF9DVVNUT01fQVNTT0NJQVRFX0ZJTEVTX0NIRUNLQk9YLCBMIkFzc29jaWF0ZUZpbGVzIiB9LAorICAgIHsgSURfQ1VTVE9NX0lOU1RBTExfQUxMX1VTRVJTX0NIRUNLQk9YLCBMIkluc3RhbGxBbGxVc2VycyIgfSwKKyAgICB7IElEX0NVU1RPTV9CUk9XU0VfQlVUVE9OLCBMIkN1c3RvbUJyb3dzZUJ1dHRvbiIgfSwKKyAgICB7IElEX0NVU1RPTV9JTlNUQUxMX0JVVFRPTiwgTCJDdXN0b21JbnN0YWxsQnV0dG9uIiB9LAorICAgIHsgSURfQ1VTVE9NX05FWFRfQlVUVE9OLCBMIkN1c3RvbU5leHRCdXR0b24iIH0sCisgICAgeyBJRF9DVVNUT00xX0JBQ0tfQlVUVE9OLCBMIkN1c3RvbTFCYWNrQnV0dG9uIiB9LAorICAgIHsgSURfQ1VTVE9NMl9CQUNLX0JVVFRPTiwgTCJDdXN0b20yQmFja0J1dHRvbiIgfSwKKyAgICB7IElEX0NVU1RPTTFfQ0FOQ0VMX0JVVFRPTiwgTCJDdXN0b20xQ2FuY2VsQnV0dG9uIiB9LAorICAgIHsgSURfQ1VTVE9NMl9DQU5DRUxfQlVUVE9OLCBMIkN1c3RvbTJDYW5jZWxCdXR0b24iIH0sCisKKyAgICB7IElEX01PRElGWV9CVVRUT04sIEwiTW9kaWZ5QnV0dG9uIiB9LAorICAgIHsgSURfUkVQQUlSX0JVVFRPTiwgTCJSZXBhaXJCdXR0b24iIH0sCisgICAgeyBJRF9VTklOU1RBTExfQlVUVE9OLCBMIlVuaW5zdGFsbEJ1dHRvbiIgfSwKKyAgICB7IElEX01PRElGWV9DQU5DRUxfQlVUVE9OLCBMIk1vZGlmeUNhbmNlbEJ1dHRvbiIgfSwKKworICAgIHsgSURfQ0FDSEVfUFJPR1JFU1NfUEFDS0FHRV9URVhULCBMIkNhY2hlUHJvZ3Jlc3NQYWNrYWdlVGV4dCIgfSwKKyAgICB7IElEX0NBQ0hFX1BST0dSRVNTX0JBUiwgTCJDYWNoZVByb2dyZXNzYmFyIiB9LAorICAgIHsgSURfQ0FDSEVfUFJPR1JFU1NfVEVYVCwgTCJDYWNoZVByb2dyZXNzVGV4dCIgfSwKKyAgICB7IElEX0VYRUNVVEVfUFJPR1JFU1NfUEFDS0FHRV9URVhULCBMIkV4ZWN1dGVQcm9ncmVzc1BhY2thZ2VUZXh0IiB9LAorICAgIHsgSURfRVhFQ1VURV9QUk9HUkVTU19CQVIsIEwiRXhlY3V0ZVByb2dyZXNzYmFyIiB9LAorICAgIHsgSURfRVhFQ1VURV9QUk9HUkVTU19URVhULCBMIkV4ZWN1dGVQcm9ncmVzc1RleHQiIH0sCisgICAgeyBJRF9FWEVDVVRFX1BST0dSRVNTX0FDVElPTkRBVEFfVEVYVCwgTCJFeGVjdXRlUHJvZ3Jlc3NBY3Rpb25EYXRhVGV4dCIgfSwKKyAgICB7IElEX09WRVJBTExfUFJPR1JFU1NfUEFDS0FHRV9URVhULCBMIk92ZXJhbGxQcm9ncmVzc1BhY2thZ2VUZXh0IiB9LAorICAgIHsgSURfT1ZFUkFMTF9QUk9HUkVTU19CQVIsIEwiT3ZlcmFsbFByb2dyZXNzYmFyIiB9LAorICAgIHsgSURfT1ZFUkFMTF9DQUxDVUxBVEVEX1BST0dSRVNTX0JBUiwgTCJPdmVyYWxsQ2FsY3VsYXRlZFByb2dyZXNzYmFyIiB9LAorICAgIHsgSURfT1ZFUkFMTF9QUk9HUkVTU19URVhULCBMIk92ZXJhbGxQcm9ncmVzc1RleHQiIH0sCisgICAgeyBJRF9QUk9HUkVTU19DQU5DRUxfQlVUVE9OLCBMIlByb2dyZXNzQ2FuY2VsQnV0dG9uIiB9LAorCisgICAgeyBJRF9MQVVOQ0hfQlVUVE9OLCBMIkxhdW5jaEJ1dHRvbiIgfSwKKyAgICB7IElEX1NVQ0NFU1NfVEVYVCwgTCJTdWNjZXNzVGV4dCIgfSwKKyAgICB7IElEX1NVQ0NFU1NfUkVTVEFSVF9URVhULCBMIlN1Y2Nlc3NSZXN0YXJ0VGV4dCIgfSwKKyAgICB7IElEX1NVQ0NFU1NfUkVTVEFSVF9CVVRUT04sIEwiU3VjY2Vzc1Jlc3RhcnRCdXR0b24iIH0sCisgICAgeyBJRF9TVUNDRVNTX0NBTkNFTF9CVVRUT04sIEwiU3VjY2Vzc0NhbmNlbEJ1dHRvbiIgfSwKKworICAgIHsgSURfRkFJTFVSRV9MT0dGSUxFX0xJTkssIEwiRmFpbHVyZUxvZ0ZpbGVMaW5rIiB9LAorICAgIHsgSURfRkFJTFVSRV9NRVNTQUdFX1RFWFQsIEwiRmFpbHVyZU1lc3NhZ2VUZXh0IiB9LAorICAgIHsgSURfRkFJTFVSRV9SRVNUQVJUX1RFWFQsIEwiRmFpbHVyZVJlc3RhcnRUZXh0IiB9LAorICAgIHsgSURfRkFJTFVSRV9SRVNUQVJUX0JVVFRPTiwgTCJGYWlsdXJlUmVzdGFydEJ1dHRvbiIgfSwKKyAgICB7IElEX0ZBSUxVUkVfQ0FOQ0VMX0JVVFRPTiwgTCJGYWlsdXJlQ2FuY2VsQnV0dG9uIiB9LAorfTsKKworY2xhc3MgUHl0aG9uQm9vdHN0cmFwcGVyQXBwbGljYXRpb24gOiBwdWJsaWMgQ0JhbEJhc2VCb290c3RyYXBwZXJBcHBsaWNhdGlvbiB7CisgICAgdm9pZCBTaG93UGFnZShEV09SRCBuZXdQYWdlSWQpIHsKKyAgICAgICAgLy8gUHJvY2VzcyBlYWNoIGNvbnRyb2wgZm9yIHNwZWNpYWwgaGFuZGxpbmcgaW4gdGhlIG5ldyBwYWdlLgorICAgICAgICBQcm9jZXNzUGFnZUNvbnRyb2xzKFRoZW1lR2V0UGFnZShfdGhlbWUsIG5ld1BhZ2VJZCkpOworCisgICAgICAgIC8vIEVuYWJsZSBkaXNhYmxlIGNvbnRyb2xzIHBlci1wYWdlLgorICAgICAgICBpZiAoX3BhZ2VJZHNbUEFHRV9JTlNUQUxMXSA9PSBuZXdQYWdlSWQgfHwgX3BhZ2VJZHNbUEFHRV9TSU1QTEVfSU5TVEFMTF0gPT0gbmV3UGFnZUlkKSB7CisgICAgICAgICAgICBJbnN0YWxsUGFnZV9TaG93KCk7CisgICAgICAgIH0gZWxzZSBpZiAoX3BhZ2VJZHNbUEFHRV9DVVNUT00xXSA9PSBuZXdQYWdlSWQpIHsKKyAgICAgICAgICAgIEN1c3RvbTFQYWdlX1Nob3coKTsKKyAgICAgICAgfSBlbHNlIGlmIChfcGFnZUlkc1tQQUdFX0NVU1RPTTJdID09IG5ld1BhZ2VJZCkgeworICAgICAgICAgICAgQ3VzdG9tMlBhZ2VfU2hvdygpOworICAgICAgICB9IGVsc2UgaWYgKF9wYWdlSWRzW1BBR0VfTU9ESUZZXSA9PSBuZXdQYWdlSWQpIHsKKyAgICAgICAgICAgIE1vZGlmeVBhZ2VfU2hvdygpOworICAgICAgICB9IGVsc2UgaWYgKF9wYWdlSWRzW1BBR0VfU1VDQ0VTU10gPT0gbmV3UGFnZUlkKSB7CisgICAgICAgICAgICBTdWNjZXNzUGFnZV9TaG93KCk7CisgICAgICAgIH0gZWxzZSBpZiAoX3BhZ2VJZHNbUEFHRV9GQUlMVVJFXSA9PSBuZXdQYWdlSWQpIHsKKyAgICAgICAgICAgIEZhaWx1cmVQYWdlX1Nob3coKTsKKyAgICAgICAgfQorCisgICAgICAgIC8vIFByZXZlbnQgcmVwYWludGluZyB3aGlsZSBzd2l0Y2hpbmcgcGFnZSB0byBhdm9pZCB1Z2x5IGZsaWNrZXJpbmcKKyAgICAgICAgX3N1cHByZXNzUGFpbnQgPSBUUlVFOworICAgICAgICBUaGVtZVNob3dQYWdlKF90aGVtZSwgbmV3UGFnZUlkLCBTV19TSE9XKTsKKyAgICAgICAgVGhlbWVTaG93UGFnZShfdGhlbWUsIF92aXNpYmxlUGFnZUlkLCBTV19ISURFKTsKKyAgICAgICAgX3N1cHByZXNzUGFpbnQgPSBGQUxTRTsKKyAgICAgICAgSW52YWxpZGF0ZVJlY3QoX3RoZW1lLT5od25kUGFyZW50LCBudWxscHRyLCBUUlVFKTsKKyAgICAgICAgX3Zpc2libGVQYWdlSWQgPSBuZXdQYWdlSWQ7CisKKyAgICAgICAgLy8gT24gdGhlIGluc3RhbGwgcGFnZSBzZXQgdGhlIGZvY3VzIHRvIHRoZSBpbnN0YWxsIGJ1dHRvbiBvcgorICAgICAgICAvLyB0aGUgbmV4dCBlbmFibGVkIGNvbnRyb2wgaWYgaW5zdGFsbCBpcyBkaXNhYmxlZAorICAgICAgICBpZiAoX3BhZ2VJZHNbUEFHRV9JTlNUQUxMXSA9PSBuZXdQYWdlSWQpIHsKKyAgICAgICAgICAgIFRoZW1lU2V0Rm9jdXMoX3RoZW1lLCBJRF9JTlNUQUxMX0FMTF9VU0VSU19CVVRUT04pOworICAgICAgICB9IGVsc2UgaWYgKF9wYWdlSWRzW1BBR0VfU0lNUExFX0lOU1RBTExdID09IG5ld1BhZ2VJZCkgeworICAgICAgICAgICAgVGhlbWVTZXRGb2N1cyhfdGhlbWUsIElEX0lOU1RBTExfU0lNUExFX0JVVFRPTik7CisgICAgICAgIH0KKyAgICB9CisKKyAgICAvLworICAgIC8vIEhhbmRsZXMgY29udHJvbCBjbGlja3MKKyAgICAvLworICAgIHZvaWQgT25Db21tYW5kKENPTlRST0xfSUQgaWQpIHsKKyAgICAgICAgTFBXU1RSIGRlZmF1bHREaXIgPSBudWxscHRyOworICAgICAgICBMUFdTVFIgdGFyZ2V0RGlyID0gbnVsbHB0cjsKKyAgICAgICAgTE9OR0xPTkcgZWxldmF0ZWQsIGNydEluc3RhbGxlZDsKKyAgICAgICAgQk9PTCBjaGVja2VkOworICAgICAgICBXQ0hBUiB3elBhdGhbTUFYX1BBVEhdID0geyB9OworICAgICAgICBCUk9XU0VJTkZPVyBicm93c2VJbmZvID0geyB9OworICAgICAgICBQSURMSVNUX0FCU09MVVRFIHBpZGwgPSBudWxscHRyOworICAgICAgICBIUkVTVUxUIGhyID0gU19PSzsKKworICAgICAgICBzd2l0Y2goaWQpIHsKKyAgICAgICAgY2FzZSBJRF9DTE9TRV9CVVRUT046CisgICAgICAgICAgICBPbkNsaWNrQ2xvc2VCdXR0b24oKTsKKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgIC8vIEluc3RhbGwgY29tbWFuZHMKKyAgICAgICAgY2FzZSBJRF9JTlNUQUxMX1NJTVBMRV9CVVRUT046CisgICAgICAgICAgICBociA9IEJhbEdldFN0cmluZ1ZhcmlhYmxlKEwiVGFyZ2V0RGlyIiwgJnRhcmdldERpcik7CisgICAgICAgICAgICBpZiAoRkFJTEVEKGhyKSB8fCAhdGFyZ2V0RGlyIHx8ICEqdGFyZ2V0RGlyKSB7CisgICAgICAgICAgICAgICAgTE9OR0xPTkcgaW5zdGFsbEFsbDsKKyAgICAgICAgICAgICAgICBpZiAoU1VDQ0VFREVEKEJhbEdldE51bWVyaWNWYXJpYWJsZShMIkluc3RhbGxBbGxVc2VycyIsICZpbnN0YWxsQWxsKSkgJiYgaW5zdGFsbEFsbCkgeworICAgICAgICAgICAgICAgICAgICBociA9IEJhbEdldFN0cmluZ1ZhcmlhYmxlKEwiRGVmYXVsdEFsbFVzZXJzVGFyZ2V0RGlyIiwgJmRlZmF1bHREaXIpOworICAgICAgICAgICAgICAgICAgICBCYWxFeGl0T25GYWlsdXJlKGhyLCAiRmFpbGVkIHRvIGdldCB0aGUgZGVmYXVsdCBhbGwgdXNlcnMgaW5zdGFsbCBkaXJlY3RvcnkiKTsKKyAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICBociA9IEJhbEdldFN0cmluZ1ZhcmlhYmxlKEwiRGVmYXVsdEp1c3RGb3JNZVRhcmdldERpciIsICZkZWZhdWx0RGlyKTsKKyAgICAgICAgICAgICAgICAgICAgQmFsRXhpdE9uRmFpbHVyZShociwgIkZhaWxlZCB0byBnZXQgdGhlIGRlZmF1bHQgcGVyLXVzZXIgaW5zdGFsbCBkaXJlY3RvcnkiKTsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICBpZiAoIWRlZmF1bHREaXIgfHwgISpkZWZhdWx0RGlyKSB7CisgICAgICAgICAgICAgICAgICAgIEJhbExvZ0Vycm9yKEVfSU5WQUxJREFSRywgIkRlZmF1bHQgaW5zdGFsbCBkaXJlY3RvcnkgaXMgYmxhbmsiKTsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICBociA9IEJhbEZvcm1hdFN0cmluZyhkZWZhdWx0RGlyLCAmdGFyZ2V0RGlyKTsKKyAgICAgICAgICAgICAgICBCYWxFeGl0T25GYWlsdXJlMShociwgIkZhaWxlZCB0byBmb3JtYXQgJyVscyciLCBkZWZhdWx0RGlyKTsKKworICAgICAgICAgICAgICAgIGhyID0gX2VuZ2luZS0+U2V0VmFyaWFibGVTdHJpbmcoTCJUYXJnZXREaXIiLCB0YXJnZXREaXIpOworICAgICAgICAgICAgICAgIFJlbGVhc2VTdHIodGFyZ2V0RGlyKTsKKyAgICAgICAgICAgICAgICBCYWxFeGl0T25GYWlsdXJlKGhyLCAiRmFpbGVkIHRvIHNldCBpbnN0YWxsIHRhcmdldCBkaXJlY3RvcnkiKTsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgUmVsZWFzZVN0cih0YXJnZXREaXIpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBPblBsYW4oQk9PVFNUUkFQUEVSX0FDVElPTl9JTlNUQUxMKTsKKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgIGNhc2UgSURfSU5TVEFMTF9BTExfVVNFUlNfQlVUVE9OOgorICAgICAgICAgICAgU2F2ZVBhZ2VTZXR0aW5ncygpOworICAgICAgICAgICAgCisgICAgICAgICAgICBociA9IF9lbmdpbmUtPlNldFZhcmlhYmxlTnVtZXJpYyhMIkluc3RhbGxBbGxVc2VycyIsIDEpOworICAgICAgICAgICAgRXhpdE9uRmFpbHVyZShociwgTCJGYWlsZWQgdG8gc2V0IGluc3RhbGwgc2NvcGUiKTsKKworICAgICAgICAgICAgaHIgPSBfZW5naW5lLT5TZXRWYXJpYWJsZU51bWVyaWMoTCJDb21waWxlQWxsIiwgMSk7CisgICAgICAgICAgICBFeGl0T25GYWlsdXJlKGhyLCBMIkZhaWxlZCB0byBzZXQgY29tcGlsZSBhbGwgc2V0dGluZyIpOworCisgICAgICAgICAgICBociA9IEJhbEdldFN0cmluZ1ZhcmlhYmxlKEwiRGVmYXVsdEFsbFVzZXJzVGFyZ2V0RGlyIiwgJmRlZmF1bHREaXIpOworICAgICAgICAgICAgQmFsRXhpdE9uRmFpbHVyZShociwgIkZhaWxlZCB0byBnZXQgdGhlIGRlZmF1bHQgYWxsIHVzZXJzIGluc3RhbGwgZGlyZWN0b3J5Iik7CisKKyAgICAgICAgICAgIGlmICghZGVmYXVsdERpciB8fCAhKmRlZmF1bHREaXIpIHsKKyAgICAgICAgICAgICAgICBCYWxMb2dFcnJvcihFX0lOVkFMSURBUkcsICJEZWZhdWx0IGluc3RhbGwgZGlyZWN0b3J5IGlzIGJsYW5rIik7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGhyID0gQmFsRm9ybWF0U3RyaW5nKGRlZmF1bHREaXIsICZ0YXJnZXREaXIpOworICAgICAgICAgICAgQmFsRXhpdE9uRmFpbHVyZTEoaHIsICJGYWlsZWQgdG8gZm9ybWF0ICclbHMnIiwgZGVmYXVsdERpcik7CisKKyAgICAgICAgICAgIGhyID0gX2VuZ2luZS0+U2V0VmFyaWFibGVTdHJpbmcoTCJUYXJnZXREaXIiLCB0YXJnZXREaXIpOworICAgICAgICAgICAgUmVsZWFzZVN0cih0YXJnZXREaXIpOworICAgICAgICAgICAgQmFsRXhpdE9uRmFpbHVyZShociwgIkZhaWxlZCB0byBzZXQgaW5zdGFsbCB0YXJnZXQgZGlyZWN0b3J5Iik7CisKKyAgICAgICAgICAgIE9uUGxhbihCT09UU1RSQVBQRVJfQUNUSU9OX0lOU1RBTEwpOworICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgY2FzZSBJRF9JTlNUQUxMX0pVU1RfRk9SX01FX0JVVFRPTjoKKyAgICAgICAgICAgIFNhdmVQYWdlU2V0dGluZ3MoKTsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgaHIgPSBfZW5naW5lLT5TZXRWYXJpYWJsZU51bWVyaWMoTCJJbnN0YWxsQWxsVXNlcnMiLCAwKTsKKyAgICAgICAgICAgIEV4aXRPbkZhaWx1cmUoaHIsIEwiRmFpbGVkIHRvIHNldCBpbnN0YWxsIHNjb3BlIik7CisKKyAgICAgICAgICAgIGhyID0gQmFsR2V0U3RyaW5nVmFyaWFibGUoTCJEZWZhdWx0SnVzdEZvck1lVGFyZ2V0RGlyIiwgJmRlZmF1bHREaXIpOworICAgICAgICAgICAgQmFsRXhpdE9uRmFpbHVyZShociwgIkZhaWxlZCB0byBnZXQgdGhlIGRlZmF1bHQgcGVyLXVzZXIgaW5zdGFsbCBkaXJlY3RvcnkiKTsKKworICAgICAgICAgICAgaWYgKCFkZWZhdWx0RGlyIHx8ICEqZGVmYXVsdERpcikgeworICAgICAgICAgICAgICAgIEJhbExvZ0Vycm9yKEVfSU5WQUxJREFSRywgIkRlZmF1bHQgaW5zdGFsbCBkaXJlY3RvcnkgaXMgYmxhbmsiKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgaHIgPSBCYWxGb3JtYXRTdHJpbmcoZGVmYXVsdERpciwgJnRhcmdldERpcik7CisgICAgICAgICAgICBCYWxFeGl0T25GYWlsdXJlMShociwgIkZhaWxlZCB0byBmb3JtYXQgJyVscyciLCBkZWZhdWx0RGlyKTsKKworICAgICAgICAgICAgaHIgPSBfZW5naW5lLT5TZXRWYXJpYWJsZVN0cmluZyhMIlRhcmdldERpciIsIHRhcmdldERpcik7CisgICAgICAgICAgICBSZWxlYXNlU3RyKHRhcmdldERpcik7CisgICAgICAgICAgICBCYWxFeGl0T25GYWlsdXJlKGhyLCAiRmFpbGVkIHRvIHNldCBpbnN0YWxsIHRhcmdldCBkaXJlY3RvcnkiKTsKKworICAgICAgICAgICAgaWYgKCFRdWVyeUVsZXZhdGVGb3JDcnRJbnN0YWxsKCkpIHsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgT25QbGFuKEJPT1RTVFJBUFBFUl9BQ1RJT05fSU5TVEFMTCk7CisgICAgICAgICAgICBicmVhazsKKworICAgICAgICBjYXNlIElEX0NVU1RPTTFfQkFDS19CVVRUT046CisgICAgICAgICAgICBTYXZlUGFnZVNldHRpbmdzKCk7CisgICAgICAgICAgICBpZiAoX21vZGlmeWluZykgeworICAgICAgICAgICAgICAgIEdvVG9QYWdlKFBBR0VfTU9ESUZZKTsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgR29Ub1BhZ2UoUEFHRV9JTlNUQUxMKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgIGNhc2UgSURfSU5TVEFMTF9DVVNUT01fQlVUVE9OOiBfX2ZhbGx0aHJvdWdoOworICAgICAgICBjYXNlIElEX0NVU1RPTTJfQkFDS19CVVRUT046CisgICAgICAgICAgICBTYXZlUGFnZVNldHRpbmdzKCk7CisgICAgICAgICAgICBHb1RvUGFnZShQQUdFX0NVU1RPTTEpOworICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgY2FzZSBJRF9DVVNUT01fTkVYVF9CVVRUT046CisgICAgICAgICAgICBTYXZlUGFnZVNldHRpbmdzKCk7CisgICAgICAgICAgICBHb1RvUGFnZShQQUdFX0NVU1RPTTIpOworICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgY2FzZSBJRF9DVVNUT01fSU5TVEFMTF9CVVRUT046CisgICAgICAgICAgICBTYXZlUGFnZVNldHRpbmdzKCk7CisKKyAgICAgICAgICAgIGhyID0gQmFsR2V0U3RyaW5nVmFyaWFibGUoTCJUYXJnZXREaXIiLCAmdGFyZ2V0RGlyKTsKKyAgICAgICAgICAgIGlmIChTVUNDRUVERUQoaHIpKSB7CisgICAgICAgICAgICAgICAgLy8gVE9ETzogQ2hlY2sgd2hldGhlciBkaXJlY3RvcnkgZXhpc3RzIGFuZCBjb250YWlucyBhbm90aGVyIGluc3RhbGxhdGlvbgorICAgICAgICAgICAgICAgIFJlbGVhc2VTdHIodGFyZ2V0RGlyKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgY2hlY2tlZCA9IFRoZW1lSXNDb250cm9sQ2hlY2tlZChfdGhlbWUsIElEX0NVU1RPTV9JTlNUQUxMX0FMTF9VU0VSU19DSEVDS0JPWCk7CisgICAgICAgICAgICBpZiAoIWNoZWNrZWQgJiYgIVF1ZXJ5RWxldmF0ZUZvckNydEluc3RhbGwoKSkgeworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBPblBsYW4oX2NvbW1hbmQuYWN0aW9uKTsKKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgIGNhc2UgSURfQ1VTVE9NX0lOU1RBTExfQUxMX1VTRVJTX0NIRUNLQk9YOgorICAgICAgICAgICAgaHIgPSBCYWxHZXROdW1lcmljVmFyaWFibGUoTCJXaXhCdW5kbGVFbGV2YXRlZCIsICZlbGV2YXRlZCk7CisgICAgICAgICAgICBjaGVja2VkID0gVGhlbWVJc0NvbnRyb2xDaGVja2VkKF90aGVtZSwgSURfQ1VTVE9NX0lOU1RBTExfQUxMX1VTRVJTX0NIRUNLQk9YKTsKKyAgICAgICAgICAgIFRoZW1lQ29udHJvbEVsZXZhdGVzKF90aGVtZSwgSURfQ1VTVE9NX0lOU1RBTExfQlVUVE9OLCBjaGVja2VkICYmIChGQUlMRUQoaHIpIHx8ICFlbGV2YXRlZCkpOworICAgICAgICAgICAgVGhlbWVHZXRUZXh0Q29udHJvbChfdGhlbWUsIElEX1RBUkdFVERJUl9FRElUQk9YLCAmdGFyZ2V0RGlyKTsKKyAgICAgICAgICAgIGlmICh0YXJnZXREaXIpIHsKKyAgICAgICAgICAgICAgICAvLyBDaGVjayB0aGUgY3VycmVudCB2YWx1ZSBhZ2FpbnN0IHRoZSBkZWZhdWx0IHRvIHNlZQorICAgICAgICAgICAgICAgIC8vIGlmIHdlIHNob3VsZCBzd2l0Y2ggaXQgYXV0b21hdGljYWxseS4KKyAgICAgICAgICAgICAgICBociA9IEJhbEdldFN0cmluZ1ZhcmlhYmxlKAorICAgICAgICAgICAgICAgICAgICBjaGVja2VkID8gTCJEZWZhdWx0SnVzdEZvck1lVGFyZ2V0RGlyIiA6IEwiRGVmYXVsdEFsbFVzZXJzVGFyZ2V0RGlyIiwKKyAgICAgICAgICAgICAgICAgICAgJmRlZmF1bHREaXIKKyAgICAgICAgICAgICAgICApOworICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIGlmIChTVUNDRUVERUQoaHIpICYmIGRlZmF1bHREaXIpIHsKKyAgICAgICAgICAgICAgICAgICAgTFBXU1RSIGZvcm1hdHRlZCA9IG51bGxwdHI7CisgICAgICAgICAgICAgICAgICAgIGlmIChkZWZhdWx0RGlyWzBdICYmIFNVQ0NFRURFRChCYWxGb3JtYXRTdHJpbmcoZGVmYXVsdERpciwgJmZvcm1hdHRlZCkpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAod2NzY21wKGZvcm1hdHRlZCwgdGFyZ2V0RGlyKSA9PSAwKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVsZWFzZVN0cihkZWZhdWx0RGlyKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0RGlyID0gbnVsbHB0cjsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWxlYXNlU3RyKGZvcm1hdHRlZCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybWF0dGVkID0gbnVsbHB0cjsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBociA9IEJhbEdldFN0cmluZ1ZhcmlhYmxlKAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGVja2VkID8gTCJEZWZhdWx0QWxsVXNlcnNUYXJnZXREaXIiIDogTCJEZWZhdWx0SnVzdEZvck1lVGFyZ2V0RGlyIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmRlZmF1bHREaXIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICApOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChTVUNDRUVERUQoaHIpICYmIGRlZmF1bHREaXIgJiYgZGVmYXVsdERpclswXSAmJiBTVUNDRUVERUQoQmFsRm9ybWF0U3RyaW5nKGRlZmF1bHREaXIsICZmb3JtYXR0ZWQpKSkgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGVtZVNldFRleHRDb250cm9sKF90aGVtZSwgSURfVEFSR0VURElSX0VESVRCT1gsIGZvcm1hdHRlZCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlbGVhc2VTdHIoZm9ybWF0dGVkKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlbGVhc2VTdHIoZm9ybWF0dGVkKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgUmVsZWFzZVN0cihkZWZhdWx0RGlyKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgICAgICBicmVhazsKKworICAgICAgICBjYXNlIElEX0NVU1RPTV9CUk9XU0VfQlVUVE9OOgorICAgICAgICAgICAgYnJvd3NlSW5mby5od25kT3duZXIgPSBfaFduZDsKKyAgICAgICAgICAgIGJyb3dzZUluZm8ucHN6RGlzcGxheU5hbWUgPSB3elBhdGg7CisgICAgICAgICAgICBicm93c2VJbmZvLmxwc3pUaXRsZSA9IF90aGVtZS0+c2N6Q2FwdGlvbjsKKyAgICAgICAgICAgIGJyb3dzZUluZm8udWxGbGFncyA9IEJJRl9SRVRVUk5PTkxZRlNESVJTIHwgQklGX1VTRU5FV1VJOworICAgICAgICAgICAgcGlkbCA9IDo6U0hCcm93c2VGb3JGb2xkZXJXKCZicm93c2VJbmZvKTsKKyAgICAgICAgICAgIGlmIChwaWRsICYmIDo6U0hHZXRQYXRoRnJvbUlETGlzdFcocGlkbCwgd3pQYXRoKSkgeworICAgICAgICAgICAgICAgIFRoZW1lU2V0VGV4dENvbnRyb2woX3RoZW1lLCBJRF9UQVJHRVRESVJfRURJVEJPWCwgd3pQYXRoKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgaWYgKHBpZGwpIHsKKyAgICAgICAgICAgICAgICA6OkNvVGFza01lbUZyZWUocGlkbCk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBicmVhazsKKworICAgICAgICAvLyBNb2RpZnkgY29tbWFuZHMKKyAgICAgICAgY2FzZSBJRF9NT0RJRllfQlVUVE9OOgorICAgICAgICAgICAgLy8gU29tZSB2YXJpYWJsZXMgY2Fubm90IGJlIG1vZGlmaWVkCisgICAgICAgICAgICBfZW5naW5lLT5TZXRWYXJpYWJsZVN0cmluZyhMIkluc3RhbGxBbGxVc2Vyc1N0YXRlIiwgTCJkaXNhYmxlIik7CisgICAgICAgICAgICBfZW5naW5lLT5TZXRWYXJpYWJsZVN0cmluZyhMIlRhcmdldERpclN0YXRlIiwgTCJkaXNhYmxlIik7CisgICAgICAgICAgICBfZW5naW5lLT5TZXRWYXJpYWJsZVN0cmluZyhMIkN1c3RvbUJyb3dzZUJ1dHRvblN0YXRlIiwgTCJkaXNhYmxlIik7CisgICAgICAgICAgICBfbW9kaWZ5aW5nID0gVFJVRTsKKyAgICAgICAgICAgIEdvVG9QYWdlKFBBR0VfQ1VTVE9NMSk7CisgICAgICAgICAgICBicmVhazsKKworICAgICAgICBjYXNlIElEX1JFUEFJUl9CVVRUT046CisgICAgICAgICAgICBPblBsYW4oQk9PVFNUUkFQUEVSX0FDVElPTl9SRVBBSVIpOworICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgY2FzZSBJRF9VTklOU1RBTExfQlVUVE9OOgorICAgICAgICAgICAgT25QbGFuKEJPT1RTVFJBUFBFUl9BQ1RJT05fVU5JTlNUQUxMKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisKKyAgICBMRXhpdDoKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIHZvaWQgSW5zdGFsbFBhZ2VfU2hvdygpIHsKKyAgICAgICAgLy8gRW5zdXJlIHRoZSBBbGwgVXNlcnMgaW5zdGFsbCBidXR0b24gaGFzIGEgVUFDIHNoaWVsZAorICAgICAgICBMT05HTE9ORyBlbGV2YXRlZCwgaW5zdGFsbEFsbDsKKworICAgICAgICBpZiAoRkFJTEVEKEJhbEdldE51bWVyaWNWYXJpYWJsZShMIldpeEJ1bmRsZUVsZXZhdGVkIiwgJmVsZXZhdGVkKSkpIHsKKyAgICAgICAgICAgIGVsZXZhdGVkID0gMDsKKyAgICAgICAgfQorCisgICAgICAgIFRoZW1lQ29udHJvbEVsZXZhdGVzKF90aGVtZSwgSURfSU5TVEFMTF9BTExfVVNFUlNfQlVUVE9OLCAhZWxldmF0ZWQpOworCisgICAgICAgIGlmIChTVUNDRUVERUQoQmFsR2V0TnVtZXJpY1ZhcmlhYmxlKEwiSW5zdGFsbEFsbFVzZXJzIiwgJmluc3RhbGxBbGwpKSAmJiBpbnN0YWxsQWxsKSB7CisgICAgICAgICAgICBUaGVtZUNvbnRyb2xFbGV2YXRlcyhfdGhlbWUsIElEX0lOU1RBTExfU0lNUExFX0JVVFRPTiwgIWVsZXZhdGVkKTsKKyAgICAgICAgfQorICAgIH0KKworICAgIHZvaWQgQ3VzdG9tMVBhZ2VfU2hvdygpIHsKKyAgICB9CisKKyAgICB2b2lkIEN1c3RvbTJQYWdlX1Nob3coKSB7CisgICAgICAgIEhSRVNVTFQgaHI7CisgICAgICAgIExPTkdMT05HIGluc3RhbGxBbGwsIGVsZXZhdGVkLCBpbmNsdWRlTGF1bmNoZXI7CisgICAgICAgIAorICAgICAgICBpZiAoRkFJTEVEKEJhbEdldE51bWVyaWNWYXJpYWJsZShMIldpeEJ1bmRsZUVsZXZhdGVkIiwgJmVsZXZhdGVkKSkpIHsKKyAgICAgICAgICAgIGVsZXZhdGVkID0gMDsKKyAgICAgICAgfQorICAgICAgICBpZiAoU1VDQ0VFREVEKEJhbEdldE51bWVyaWNWYXJpYWJsZShMIkluc3RhbGxBbGxVc2VycyIsICZpbnN0YWxsQWxsKSkpIHsKKyAgICAgICAgICAgIFRoZW1lQ29udHJvbEVsZXZhdGVzKF90aGVtZSwgSURfQ1VTVE9NX0lOU1RBTExfQlVUVE9OLCBpbnN0YWxsQWxsICYmICFlbGV2YXRlZCk7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBpbnN0YWxsQWxsID0gMDsKKyAgICAgICAgfQorCisgICAgICAgIGlmIChTVUNDRUVERUQoQmFsR2V0TnVtZXJpY1ZhcmlhYmxlKEwiSW5jbHVkZV9sYXVuY2hlciIsICZpbmNsdWRlTGF1bmNoZXIpKSAmJiBpbmNsdWRlTGF1bmNoZXIpIHsKKyAgICAgICAgICAgIFRoZW1lQ29udHJvbEVuYWJsZShfdGhlbWUsIElEX0NVU1RPTV9BU1NPQ0lBVEVfRklMRVNfQ0hFQ0tCT1gsIFRSVUUpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgVGhlbWVTZW5kQ29udHJvbE1lc3NhZ2UoX3RoZW1lLCBJRF9DVVNUT01fQVNTT0NJQVRFX0ZJTEVTX0NIRUNLQk9YLCBCTV9TRVRDSEVDSywgQlNUX1VOQ0hFQ0tFRCwgMCk7CisgICAgICAgICAgICBUaGVtZUNvbnRyb2xFbmFibGUoX3RoZW1lLCBJRF9DVVNUT01fQVNTT0NJQVRFX0ZJTEVTX0NIRUNLQk9YLCBGQUxTRSk7CisgICAgICAgIH0KKworICAgICAgICBMUFdTVFIgdGFyZ2V0RGlyID0gbnVsbHB0cjsKKyAgICAgICAgaHIgPSBCYWxHZXRTdHJpbmdWYXJpYWJsZShMIlRhcmdldERpciIsICZ0YXJnZXREaXIpOworICAgICAgICBpZiAoU1VDQ0VFREVEKGhyKSAmJiB0YXJnZXREaXIgJiYgdGFyZ2V0RGlyWzBdKSB7CisgICAgICAgICAgICBUaGVtZVNldFRleHRDb250cm9sKF90aGVtZSwgSURfVEFSR0VURElSX0VESVRCT1gsIHRhcmdldERpcik7CisgICAgICAgICAgICBTdHJGcmVlKHRhcmdldERpcik7CisgICAgICAgIH0gZWxzZSBpZiAoU1VDQ0VFREVEKGhyKSkgeworICAgICAgICAgICAgU3RyRnJlZSh0YXJnZXREaXIpOworICAgICAgICAgICAgdGFyZ2V0RGlyID0gbnVsbHB0cjsKKworICAgICAgICAgICAgTFBXU1RSIGRlZmF1bHRUYXJnZXREaXIgPSBudWxscHRyOworICAgICAgICAgICAgaHIgPSBCYWxHZXRTdHJpbmdWYXJpYWJsZShMIkRlZmF1bHRDdXN0b21UYXJnZXREaXIiLCAmZGVmYXVsdFRhcmdldERpcik7CisgICAgICAgICAgICBpZiAoU1VDQ0VFREVEKGhyKSAmJiBkZWZhdWx0VGFyZ2V0RGlyICYmICFkZWZhdWx0VGFyZ2V0RGlyWzBdKSB7CisgICAgICAgICAgICAgICAgU3RyRnJlZShkZWZhdWx0VGFyZ2V0RGlyKTsKKyAgICAgICAgICAgICAgICBkZWZhdWx0VGFyZ2V0RGlyID0gbnVsbHB0cjsKKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICBociA9IEJhbEdldFN0cmluZ1ZhcmlhYmxlKAorICAgICAgICAgICAgICAgICAgICBpbnN0YWxsQWxsID8gTCJEZWZhdWx0QWxsVXNlcnNUYXJnZXREaXIiIDogTCJEZWZhdWx0SnVzdEZvck1lVGFyZ2V0RGlyIiwKKyAgICAgICAgICAgICAgICAgICAgJmRlZmF1bHRUYXJnZXREaXIKKyAgICAgICAgICAgICAgICApOworICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYgKFNVQ0NFRURFRChocikgJiYgZGVmYXVsdFRhcmdldERpcikgeworICAgICAgICAgICAgICAgIGlmIChkZWZhdWx0VGFyZ2V0RGlyWzBdICYmIFNVQ0NFRURFRChCYWxGb3JtYXRTdHJpbmcoZGVmYXVsdFRhcmdldERpciwgJnRhcmdldERpcikpKSB7CisgICAgICAgICAgICAgICAgICAgIFRoZW1lU2V0VGV4dENvbnRyb2woX3RoZW1lLCBJRF9UQVJHRVRESVJfRURJVEJPWCwgdGFyZ2V0RGlyKTsKKyAgICAgICAgICAgICAgICAgICAgU3RyRnJlZSh0YXJnZXREaXIpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBTdHJGcmVlKGRlZmF1bHRUYXJnZXREaXIpOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQorCisgICAgdm9pZCBNb2RpZnlQYWdlX1Nob3coKSB7CisgICAgICAgIFRoZW1lQ29udHJvbEVuYWJsZShfdGhlbWUsIElEX1JFUEFJUl9CVVRUT04sICFfc3VwcHJlc3NSZXBhaXIpOworICAgIH0KKworICAgIHZvaWQgU3VjY2Vzc1BhZ2VfU2hvdygpIHsKKyAgICAgICAgLy8gb24gdGhlICJTdWNjZXNzIiBwYWdlLCBjaGVjayBpZiB0aGUgcmVzdGFydCBvciBsYXVuY2ggYnV0dG9uIHNob3VsZCBiZSBlbmFibGVkLgorICAgICAgICBCT09MIHNob3dSZXN0YXJ0QnV0dG9uID0gRkFMU0U7CisgICAgICAgIEJPT0wgbGF1bmNoVGFyZ2V0RXhpc3RzID0gRkFMU0U7CisgICAgICAgIExPQ19TVFJJTkcgKnN1Y2Nlc3NUZXh0ID0gbnVsbHB0cjsKKyAgICAgICAgSFJFU1VMVCBociA9IFNfT0s7CisgICAgICAgIAorICAgICAgICBpZiAoX3Jlc3RhcnRSZXF1aXJlZCkgeworICAgICAgICAgICAgaWYgKEJPT1RTVFJBUFBFUl9SRVNUQVJUX1BST01QVCA9PSBfY29tbWFuZC5yZXN0YXJ0KSB7CisgICAgICAgICAgICAgICAgc2hvd1Jlc3RhcnRCdXR0b24gPSBUUlVFOworICAgICAgICAgICAgfQorICAgICAgICB9IGVsc2UgaWYgKFRoZW1lQ29udHJvbEV4aXN0cyhfdGhlbWUsIElEX0xBVU5DSF9CVVRUT04pKSB7CisgICAgICAgICAgICBsYXVuY2hUYXJnZXRFeGlzdHMgPSBCYWxTdHJpbmdWYXJpYWJsZUV4aXN0cyhQWUJBX1ZBUklBQkxFX0xBVU5DSF9UQVJHRVRfUEFUSCk7CisgICAgICAgIH0KKworICAgICAgICBzd2l0Y2ggKF9wbGFubmVkQWN0aW9uKSB7CisgICAgICAgIGNhc2UgQk9PVFNUUkFQUEVSX0FDVElPTl9JTlNUQUxMOgorICAgICAgICAgICAgaHIgPSBMb2NHZXRTdHJpbmcoX3dpeExvYywgTCIjKGxvYy5TdWNjZXNzSW5zdGFsbE1lc3NhZ2UpIiwgJnN1Y2Nlc3NUZXh0KTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIEJPT1RTVFJBUFBFUl9BQ1RJT05fTU9ESUZZOgorICAgICAgICAgICAgaHIgPSBMb2NHZXRTdHJpbmcoX3dpeExvYywgTCIjKGxvYy5TdWNjZXNzTW9kaWZ5TWVzc2FnZSkiLCAmc3VjY2Vzc1RleHQpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgQk9PVFNUUkFQUEVSX0FDVElPTl9SRVBBSVI6CisgICAgICAgICAgICBociA9IExvY0dldFN0cmluZyhfd2l4TG9jLCBMIiMobG9jLlN1Y2Nlc3NSZXBhaXJNZXNzYWdlKSIsICZzdWNjZXNzVGV4dCk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBCT09UU1RSQVBQRVJfQUNUSU9OX1VOSU5TVEFMTDoKKyAgICAgICAgICAgIGhyID0gTG9jR2V0U3RyaW5nKF93aXhMb2MsIEwiIyhsb2MuU3VjY2Vzc1JlbW92ZU1lc3NhZ2UpIiwgJnN1Y2Nlc3NUZXh0KTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisKKyAgICAgICAgaWYgKHN1Y2Nlc3NUZXh0KSB7CisgICAgICAgICAgICBMUFdTVFIgZm9ybWF0dGVkU3RyaW5nID0gbnVsbHB0cjsKKyAgICAgICAgICAgIEJhbEZvcm1hdFN0cmluZyhzdWNjZXNzVGV4dC0+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+TGF1bmNoQXBwcm92ZWRFeGUoX2hXbmQsIHNjekxhdW5jaFRhcmdldEVsZXZhdGVkSWQsIHNjelVuZm9ybWF0dGVkQXJndW1lbnRzLCAwKTsKKyAgICAgICAgICAgIGlmIChGQUlMRUQoaHIpKSB7CisgICAgICAgICAgICAgICAgQmFsTG9nRXJyb3IoaHIsICJGYWlsZWQgdG8gbGF1bmNoIGVsZXZhdGVkIHRhcmdldDogJWxzIiwgc2N6TGF1bmNoVGFyZ2V0RWxldmF0ZWRJZCk7CisKKyAgICAgICAgICAgICAgICAvL3RyeSB3aXRoIFNoZWxFeGVjIG5leHQgdGltZQorICAgICAgICAgICAgICAgIE9uQ2xpY2tMYXVuY2hCdXR0b24oKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIGlmIChzY3pVbmZvcm1hdHRlZEFyZ3VtZW50cykgeworICAgICAgICAgICAgICAgIGhyID0gQmFsRm9ybWF0U3RyaW5nKHNjelVuZm9ybWF0dGVkQXJndW1lbnRzLCAmc2N6QXJndW1lbnRzKTsKKyAgICAgICAgICAgICAgICBCYWxFeGl0T25GYWlsdXJlMShociwgIkZhaWxlZCB0byBmb3JtYXQgbGF1bmNoIGFyZ3VtZW50cyB2YXJpYWJsZTogJWxzIiwgc2N6VW5mb3JtYXR0ZWRBcmd1bWVudHMpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBociA9IFNoZWxFeGVjKHNjekxhdW5jaFRhcmdldCwgc2N6QXJndW1lbnRzLCBMIm9wZW4iLCBudWxscHRyLCBuQ21kU2hvdywgX2hXbmQsIG51bGxwdHIpOworICAgICAgICAgICAgQmFsRXhpdE9uRmFpbHVyZTEoaHIsICJGYWlsZWQgdG8gbGF1bmNoIHRhcmdldDogJWxzIiwgc2N6TGF1bmNoVGFyZ2V0KTsKKworICAgICAgICAgICAgOjpQb3N0TWVzc2FnZVcoX2hXbmQsIFdNX0NMT1NFLCAwLCAwKTsKKyAgICAgICAgfQorCisgICAgTEV4aXQ6CisgICAgICAgIFN0clNlY3VyZVplcm9GcmVlU3RyaW5nKHNjekFyZ3VtZW50cyk7CisgICAgICAgIFJlbGVhc2VTdHIoc2N6VW5mb3JtYXR0ZWRBcmd1bWVudHMpOworICAgICAgICBSZWxlYXNlU3RyKHNjekxhdW5jaFRhcmdldEVsZXZhdGVkSWQpOworICAgICAgICBTdHJTZWN1cmVaZXJvRnJlZVN0cmluZyhzY3pMYXVuY2hUYXJnZXQpOworICAgICAgICBSZWxlYXNlU3RyKHNjelVuZm9ybWF0dGVkTGF1bmNoVGFyZ2V0KTsKKworICAgICAgICByZXR1cm47CisgICAgfQorCisKKyAgICAvLworICAgIC8vIE9uQ2xpY2tSZXN0YXJ0QnV0dG9uIC0gYWxsb3dzIHRoZSByZXN0YXJ0IGFuZCBjbG9zZXMgdGhlIGFwcC4KKyAgICAvLworICAgIHZvaWQgT25DbGlja1Jlc3RhcnRCdXR0b24oKSB7CisgICAgICAgIEFzc2VydFN6KF9yZXN0YXJ0UmVxdWlyZWQsICJSZXN0YXJ0IG11c3QgYmUgcmVxdWVzdGVkIHRvIGJlIGFibGUgdG8gY2xpY2sgb24gdGhlIHJlc3RhcnQgYnV0dG9uLiIpOworCisgICAgICAgIF9hbGxvd1Jlc3RhcnQgPSBUUlVFOworICAgICAgICA6OlNlbmRNZXNzYWdlVyhfaFduZCwgV01fQ0xPU0UsIDAsIDApOworCisgICAgICAgIHJldHVybjsKKyAgICB9CisKKworICAgIC8vCisgICAgLy8gT25DbGlja0xvZ0ZpbGVMaW5rIC0gc2hvdyB0aGUgbG9nIGZpbGUuCisgICAgLy8KKyAgICB2b2lkIE9uQ2xpY2tMb2dGaWxlTGluaygpIHsKKyAgICAgICAgSFJFU1VMVCBociA9IFNfT0s7CisgICAgICAgIExQV1NUUiBzY3pMb2dGaWxlID0gbnVsbHB0cjsKKworICAgICAgICBociA9IEJhbEdldFN0cmluZ1ZhcmlhYmxlKF9idW5kbGUuc2N6TG9nVmFyaWFibGUsICZzY3pMb2dGaWxlKTsKKyAgICAgICAgQmFsRXhpdE9uRmFpbHVyZTEoaHIsICJGYWlsZWQgdG8gZ2V0IGxvZyBmaWxlIHZhcmlhYmxlICclbHMnLiIsIF9idW5kbGUuc2N6TG9nVmFyaWFibGUpOworCisgICAgICAgIGhyID0gU2hlbEV4ZWMoTCJub3RlcGFkLmV4ZSIsIHNjekxvZ0ZpbGUsIEwib3BlbiIsIG51bGxwdHIsIFNXX1NIT1dERUZBVUxULCBfaFduZCwgbnVsbHB0cik7CisgICAgICAgIEJhbEV4aXRPbkZhaWx1cmUxKGhyLCAiRmFpbGVkIHRvIG9wZW4gbG9nIGZpbGUgdGFyZ2V0OiAlbHMiLCBzY3pMb2dGaWxlKTsKKworICAgIExFeGl0OgorICAgICAgICBSZWxlYXNlU3RyKHNjekxvZ0ZpbGUpOworCisgICAgICAgIHJldHVybjsKKyAgICB9CisKKworICAgIC8vCisgICAgLy8gU2V0U3RhdGUKKyAgICAvLworICAgIHZvaWQgU2V0U3RhdGUoX19pbiBQWUJBX1NUQVRFIHN0YXRlLCBfX2luIEhSRVNVTFQgaHJTdGF0dXMpIHsKKyAgICAgICAgaWYgKEZBSUxFRChoclN0YXR1cykpIHsKKyAgICAgICAgICAgIF9ockZpbmFsID0gaHJTdGF0dXM7CisgICAgICAgIH0KKworICAgICAgICBpZiAoRkFJTEVEKF9ockZpbmFsKSkgeworICAgICAgICAgICAgc3RhdGUgPSBQWUJBX1NUQVRFX0ZBSUxFRDsKKyAgICAgICAgfQorCisgICAgICAgIGlmIChfc3RhdGUgIT0gc3RhdGUpIHsKKyAgICAgICAgICAgIDo6UG9zdE1lc3NhZ2VXKF9oV25kLCBXTV9QWUJBX0NIQU5HRV9TVEFURSwgMCwgc3RhdGUpOworICAgICAgICB9CisgICAgfQorCisgICAgLy8KKyAgICAvLyBHb1RvUGFnZQorICAgIC8vCisgICAgdm9pZCBHb1RvUGFnZShfX2luIFBBR0UgcGFnZSkgeworICAgICAgICBfaW5zdGFsbFBhZ2UgPSBwYWdlOworICAgICAgICA6OlBvc3RNZXNzYWdlVyhfaFduZCwgV01fUFlCQV9DSEFOR0VfU1RBVEUsIDAsIF9zdGF0ZSk7CisgICAgfQorCisgICAgdm9pZCBEZXRlcm1pbmVQYWdlSWQoX19pbiBQWUJBX1NUQVRFIHN0YXRlLCBfX291dCBEV09SRCogcGR3UGFnZUlkKSB7CisgICAgICAgIExPTkdMT05HIHNpbXBsZTsKKworICAgICAgICBpZiAoQk9PVFNUUkFQUEVSX0RJU1BMQVlfUEFTU0lWRSA9PSBfY29tbWFuZC5kaXNwbGF5KSB7CisgICAgICAgICAgICBzd2l0Y2ggKHN0YXRlKSB7CisgICAgICAgICAgICBjYXNlIFBZQkFfU1RBVEVfSU5JVElBTElaRUQ6CisgICAgICAgICAgICAgICAgKnBkd1BhZ2VJZCA9IEJPT1RTVFJBUFBFUl9BQ1RJT05fSEVMUCA9PSBfY29tbWFuZC5hY3Rpb24KKyAgICAgICAgICAgICAgICAgICAgPyBfcGFnZUlkc1tQQUdFX0hFTFBdCisgICAgICAgICAgICAgICAgICAgIDogX3BhZ2VJZHNbUEFHRV9MT0FESU5HXTsKKyAgICAgICAgICAgICAgICBicmVhazsKKworICAgICAgICAgICAgY2FzZSBQWUJBX1NUQVRFX0hFTFA6CisgICAgICAgICAgICAgICAgKnBkd1BhZ2VJZCA9IF9wYWdlSWRzW1BBR0VfSEVMUF07CisgICAgICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgICAgIGNhc2UgUFlCQV9TVEFURV9ERVRFQ1RJTkc6CisgICAgICAgICAgICAgICAgKnBkd1BhZ2VJZCA9IF9wYWdlSWRzW1BBR0VfTE9BRElOR10KKyAgICAgICAgICAgICAgICAgICAgPyBfcGFnZUlkc1tQQUdFX0xPQURJTkddCisgICAgICAgICAgICAgICAgICAgIDogX3BhZ2VJZHNbUEFHRV9QUk9HUkVTU19QQVNTSVZFXQorICAgICAgICAgICAgICAgICAgICAgICAgPyBfcGFnZUlkc1tQQUdFX1BST0dSRVNTX1BBU1NJVkVdCisgICAgICAgICAgICAgICAgICAgICAgICA6IF9wYWdlSWRzW1BBR0VfUFJPR1JFU1NdOworICAgICAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgICAgICBjYXNlIFBZQkFfU1RBVEVfREVURUNURUQ6IF9fZmFsbHRocm91Z2g7CisgICAgICAgICAgICBjYXNlIFBZQkFfU1RBVEVfUExBTk5JTkc6IF9fZmFsbHRocm91Z2g7CisgICAgICAgICAgICBjYXNlIFBZQkFfU1RBVEVfUExBTk5FRDogX19mYWxsdGhyb3VnaDsKKyAgICAgICAgICAgIGNhc2UgUFlCQV9TVEFURV9BUFBMWUlORzogX19mYWxsdGhyb3VnaDsKKyAgICAgICAgICAgIGNhc2UgUFlCQV9TVEFURV9DQUNISU5HOiBfX2ZhbGx0aHJvdWdoOworICAgICAgICAgICAgY2FzZSBQWUJBX1NUQVRFX0NBQ0hFRDogX19mYWxsdGhyb3VnaDsKKyAgICAgICAgICAgIGNhc2UgUFlCQV9TVEFURV9FWEVDVVRJTkc6IF9fZmFsbHRocm91Z2g7CisgICAgICAgICAgICBjYXNlIFBZQkFfU1RBVEVfRVhFQ1VURUQ6CisgICAgICAgICAgICAgICAgKnBkd1BhZ2VJZCA9IF9wYWdlSWRzW1BBR0VfUFJPR1JFU1NfUEFTU0lWRV0KKyAgICAgICAgICAgICAgICAgICAgPyBfcGFnZUlkc1tQQUdFX1BST0dSRVNTX1BBU1NJVkVdCisgICAgICAgICAgICAgICAgICAgIDogX3BhZ2VJZHNbUEFHRV9QUk9HUkVTU107CisgICAgICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICAgICAgKnBkd1BhZ2VJZCA9IDA7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAgIH0gZWxzZSBpZiAoQk9PVFNUUkFQUEVSX0RJU1BMQVlfRlVMTCA9PSBfY29tbWFuZC5kaXNwbGF5KSB7CisgICAgICAgICAgICBzd2l0Y2ggKHN0YXRlKSB7CisgICAgICAgICAgICBjYXNlIFBZQkFfU1RBVEVfSU5JVElBTElaSU5HOgorICAgICAgICAgICAgICAgICpwZHdQYWdlSWQgPSAwOworICAgICAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgICAgICBjYXNlIFBZQkFfU1RBVEVfSU5JVElBTElaRUQ6CisgICAgICAgICAgICAgICAgKnBkd1BhZ2VJZCA9IEJPT1RTVFJBUFBFUl9BQ1RJT05fSEVMUCA9PSBfY29tbWFuZC5hY3Rpb24KKyAgICAgICAgICAgICAgICAgICAgPyBfcGFnZUlkc1tQQUdFX0hFTFBdCisgICAgICAgICAgICAgICAgICAgIDogX3BhZ2VJZHNbUEFHRV9MT0FESU5HXTsKKyAgICAgICAgICAgICAgICBicmVhazsKKworICAgICAgICAgICAgY2FzZSBQWUJBX1NUQVRFX0hFTFA6CisgICAgICAgICAgICAgICAgKnBkd1BhZ2VJZCA9IF9wYWdlSWRzW1BBR0VfSEVMUF07CisgICAgICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgICAgIGNhc2UgUFlCQV9TVEFURV9ERVRFQ1RJTkc6CisgICAgICAgICAgICAgICAgKnBkd1BhZ2VJZCA9IF9wYWdlSWRzW1BBR0VfTE9BRElOR107CisgICAgICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgICAgIGNhc2UgUFlCQV9TVEFURV9ERVRFQ1RFRDoKKyAgICAgICAgICAgICAgICBpZiAoX2luc3RhbGxQYWdlID09IFBBR0VfTE9BRElORykgeworICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKF9jb21tYW5kLmFjdGlvbikgeworICAgICAgICAgICAgICAgICAgICBjYXNlIEJPT1RTVFJBUFBFUl9BQ1RJT05fSU5TVEFMTDoKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIChTVUNDRUVERUQoQmFsR2V0TnVtZXJpY1ZhcmlhYmxlKEwiU2ltcGxlSW5zdGFsbCIsICZzaW1wbGUpKSAmJiBzaW1wbGUpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBfaW5zdGFsbFBhZ2UgPSBQQUdFX1NJTVBMRV9JTlNUQUxMOworICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBfaW5zdGFsbFBhZ2UgPSBQQUdFX0lOU1RBTEw7CisgICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKworICAgICAgICAgICAgICAgICAgICBjYXNlIEJPT1RTVFJBUFBFUl9BQ1RJT05fTU9ESUZZOiBfX2ZhbGx0aHJvdWdoOworICAgICAgICAgICAgICAgICAgICBjYXNlIEJPT1RTVFJBUFBFUl9BQ1RJT05fUkVQQUlSOiBfX2ZhbGx0aHJvdWdoOworICAgICAgICAgICAgICAgICAgICBjYXNlIEJPT1RTVFJBUFBFUl9BQ1RJT05fVU5JTlNUQUxMOgorICAgICAgICAgICAgICAgICAgICAgICAgX2luc3RhbGxQYWdlID0gUEFHRV9NT0RJRlk7CisgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAqcGR3UGFnZUlkID0gX3BhZ2VJZHNbX2luc3RhbGxQYWdlXTsKKyAgICAgICAgICAgICAgICBicmVhazsKKworICAgICAgICAgICAgY2FzZSBQWUJBX1NUQVRFX1BMQU5OSU5HOiBfX2ZhbGx0aHJvdWdoOworICAgICAgICAgICAgY2FzZSBQWUJBX1NUQVRFX1BMQU5ORUQ6IF9fZmFsbHRocm91Z2g7CisgICAgICAgICAgICBjYXNlIFBZQkFfU1RBVEVfQVBQTFlJTkc6IF9fZmFsbHRocm91Z2g7CisgICAgICAgICAgICBjYXNlIFBZQkFfU1RBVEVfQ0FDSElORzogX19mYWxsdGhyb3VnaDsKKyAgICAgICAgICAgIGNhc2UgUFlCQV9TVEFURV9DQUNIRUQ6IF9fZmFsbHRocm91Z2g7CisgICAgICAgICAgICBjYXNlIFBZQkFfU1RBVEVfRVhFQ1VUSU5HOiBfX2ZhbGx0aHJvdWdoOworICAgICAgICAgICAgY2FzZSBQWUJBX1NUQVRFX0VYRUNVVEVEOgorICAgICAgICAgICAgICAgICpwZHdQYWdlSWQgPSBfcGFnZUlkc1tQQUdFX1BST0dSRVNTXTsKKyAgICAgICAgICAgICAgICBicmVhazsKKworICAgICAgICAgICAgY2FzZSBQWUJBX1NUQVRFX0FQUExJRUQ6CisgICAgICAgICAgICAgICAgKnBkd1BhZ2VJZCA9IF9wYWdlSWRzW1BBR0VfU1VDQ0VTU107CisgICAgICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgICAgIGNhc2UgUFlCQV9TVEFURV9GQUlMRUQ6CisgICAgICAgICAgICAgICAgKnBkd1BhZ2VJZCA9IF9wYWdlSWRzW1BBR0VfRkFJTFVSRV07CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9CisKKyAgICBCT09MIElzQ3J0SW5zdGFsbGVkKCkgeworICAgICAgICBpZiAoX2NydEluc3RhbGxlZFRva2VuID4gMCkgeworICAgICAgICAgICAgcmV0dXJuIFRSVUU7CisgICAgICAgIH0gZWxzZSBpZiAoX2NydEluc3RhbGxlZFRva2VuID09IDApIHsKKyAgICAgICAgICAgIHJldHVybiBGQUxTRTsKKyAgICAgICAgfQorICAgICAgICAKKyAgICAgICAgLy8gQ2hlY2sgd2hldGhlciBhdCBsZWFzdCBDUlQgdjEwLjAuOTkyMC4wIGlzIGF2YWlsYWJsZS4KKyAgICAgICAgLy8gSXQgc2hvdWxkIG9ubHkgYmUgaW5zdGFsbGVkIGFzIGEgV2luZG93cyBVcGRhdGUgcGFja2FnZSwgd2hpY2ggbWVhbnMKKyAgICAgICAgLy8gd2UgZG9uJ3QgbmVlZCB0byB3b3JyeSBhYm91dCAzMi1iaXQvNjQtYml0LgorICAgICAgICAvLyBIb3dldmVyLCBzaW5jZSB0aGUgV1UgcGFja2FnZSBkb2VzIG5vdCBpbmNsdWRlIHZjcnVudGltZTE0MC5kbGwsIHdlCisgICAgICAgIC8vIHN0aWxsIGluc3RhbGwgdGhhdCBvdXJzZWx2ZXMuCisgICAgICAgIExQQ1dTVFIgY3J0RmlsZSA9IEwiYXBpLW1zLXdpbi1jcnQtcnVudGltZS1sMS0xLTAuZGxsIjsKKworICAgICAgICBEV09SRCBjYlZlciA9IEdldEZpbGVWZXJzaW9uSW5mb1NpemVXKGNydEZpbGUsIG51bGxwdHIpOworICAgICAgICBpZiAoIWNiVmVyKSB7CisgICAgICAgICAgICBfY3J0SW5zdGFsbGVkVG9rZW4gPSAwOworICAgICAgICAgICAgcmV0dXJuIEZBTFNFOworICAgICAgICB9CisKKyAgICAgICAgdm9pZCAqcERhdGEgPSBtYWxsb2MoY2JWZXIpOworICAgICAgICBpZiAoIXBEYXRhKSB7CisgICAgICAgICAgICBfY3J0SW5zdGFsbGVkVG9rZW4gPSAwOworICAgICAgICAgICAgcmV0dXJuIEZBTFNFOworICAgICAgICB9CisKKyAgICAgICAgaWYgKCFHZXRGaWxlVmVyc2lvbkluZm9XKGNydEZpbGUsIDAsIGNiVmVyLCBwRGF0YSkpIHsKKyAgICAgICAgICAgIGZyZWUocERhdGEpOworICAgICAgICAgICAgX2NydEluc3RhbGxlZFRva2VuID0gMDsKKyAgICAgICAgICAgIHJldHVybiBGQUxTRTsKKyAgICAgICAgfQorCisgICAgICAgIFZTX0ZJWEVERklMRUlORk8gKmZmaTsKKyAgICAgICAgVUlOVCBjYjsKKyAgICAgICAgQk9PTCByZXN1bHQgPSBGQUxTRTsKKworICAgICAgICBpZiAoVmVyUXVlcnlWYWx1ZVcocERhdGEsIEwiXFwiLCAoTFBWT0lEKikmZmZpLCAmY2IpICYmCisgICAgICAgICAgICBmZmktPmR3RmlsZVZlcnNpb25NUyA9PSAweDAwMEEwMDAwICYmIGZmaS0+ZHdGaWxlVmVyc2lvbkxTID49IDB4MjZDMDAwMDApIHsKKyAgICAgICAgICAgIHJlc3VsdCA9IFRSVUU7CisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIGZyZWUocERhdGEpOworICAgICAgICBfY3J0SW5zdGFsbGVkVG9rZW4gPSByZXN1bHQgPyAxIDogMDsKKyAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICB9CisKKyAgICBCT09MIFF1ZXJ5RWxldmF0ZUZvckNydEluc3RhbGwoKSB7CisgICAgICAgIC8vIENhbGxlZCB0byBwcm9tcHQgdGhlIHVzZXIgdGhhdCBldmVuIHRob3VnaCB0aGV5IHRoaW5rIHRoZXkgd29uJ3QgbmVlZAorICAgICAgICAvLyB0byBlbGV2YXRlLCB0aGV5IGFjdHVhbGx5IHdpbGwgYmVjYXVzZSBvZiB0aGUgQ1JUIGluc3RhbGwuCisgICAgICAgIGlmIChJc0NydEluc3RhbGxlZCgpKSB7CisgICAgICAgICAgICAvLyBDUlQgaXMgYWxyZWFkeSBpbnN0YWxsZWQgLSBubyBuZWVkIHRvIHByb21wdAorICAgICAgICAgICAgcmV0dXJuIFRSVUU7CisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIExPTkdMT05HIGVsZXZhdGVkOworICAgICAgICBIUkVTVUxUIGhyID0gQmFsR2V0TnVtZXJpY1ZhcmlhYmxlKEwiV2l4QnVuZGxlRWxldmF0ZWQiLCAmZWxldmF0ZWQpOworICAgICAgICBpZiAoU1VDQ0VFREVEKGhyKSAmJiBlbGV2YXRlZCkgeworICAgICAgICAgICAgLy8gQWxyZWFkeSBlbGV2YXRlZCAtIG5vIG5lZWQgdG8gcHJvbXB0CisgICAgICAgICAgICByZXR1cm4gVFJVRTsKKyAgICAgICAgfQorCisgICAgICAgIExPQ19TVFJJTkcgKmxvY1N0cjsKKyAgICAgICAgaHIgPSBMb2NHZXRTdHJpbmcoX3dpeExvYywgTCIjKGxvYy5FbGV2YXRlRm9yQ1JUSW5zdGFsbCkiLCAmbG9jU3RyKTsKKyAgICAgICAgaWYgKEZBSUxFRChocikpIHsKKyAgICAgICAgICAgIEJhbExvZ0Vycm9yKGhyLCAiRmFpbGVkIHRvIGdldCBFbGV2YXRlRm9yQ1JUSW5zdGFsbCBzdHJpbmciKTsKKyAgICAgICAgICAgIHJldHVybiBGQUxTRTsKKyAgICAgICAgfQorICAgICAgICByZXR1cm4gOjpNZXNzYWdlQm94VyhfaFduZCwgbG9jU3RyLT53elRleHQsIF90aGVtZS0+c2N6Q2FwdGlvbiwgTUJfWUVTTk8pICE9IElETk87CisgICAgfQorCisgICAgSFJFU1VMVCBFdmFsdWF0ZUNvbmRpdGlvbnMoKSB7CisgICAgICAgIEhSRVNVTFQgaHIgPSBTX09LOworICAgICAgICBCT09MIHJlc3VsdCA9IEZBTFNFOworCisgICAgICAgIGZvciAoRFdPUkQgaSA9IDA7IGkgPCBfY29uZGl0aW9ucy5jQ29uZGl0aW9uczsgKytpKSB7CisgICAgICAgICAgICBCQUxfQ09ORElUSU9OKiBwQ29uZGl0aW9uID0gX2NvbmRpdGlvbnMucmdDb25kaXRpb25zICsgaTsKKworICAgICAgICAgICAgaHIgPSBCYWxDb25kaXRpb25FdmFsdWF0ZShwQ29uZGl0aW9uLCBfZW5naW5lLCAmcmVzdWx0LCAmX2ZhaWxlZE1lc3NhZ2UpOworICAgICAgICAgICAgQmFsRXhpdE9uRmFpbHVyZShociwgIkZhaWxlZCB0byBldmFsdWF0ZSBjb25kaXRpb24uIik7CisKKyAgICAgICAgICAgIGlmICghcmVzdWx0KSB7CisgICAgICAgICAgICAgICAgLy8gSG9wZSB0aGV5IGRpZG4ndCBoYXZlIGhpZGRlbiB2YXJpYWJsZXMgaW4gdGhlaXIgbWVzc2FnZSwgYmVjYXVzZSBpdCdzIGdvaW5nIGluIHRoZSBsb2cgaW4gcGxhaW50ZXh0LgorICAgICAgICAgICAgICAgIEJhbExvZyhCT09UU1RSQVBQRVJfTE9HX0xFVkVMX0VSUk9SLCAiJWxzIiwgX2ZhaWxlZE1lc3NhZ2UpOworCisgICAgICAgICAgICAgICAgaHIgPSBFX1dJWFNUREJBX0NPTkRJVElPTl9GQUlMRUQ7CisgICAgICAgICAgICAgICAgLy8gdG9kbzogcmVtb3ZlIGluIFdpWCB2NCwgaW4gY2FzZSBwZW9wbGUgYXJlIHJlbHlpbmcgb24gdjMueCBsb2dnaW5nIGJlaGF2aW9yCisgICAgICAgICAgICAgICAgQmFsRXhpdE9uRmFpbHVyZTEoaHIsICJCdW5kbGUgY29uZGl0aW9uIGV2YWx1YXRlZCB0byBmYWxzZTogJWxzIiwgcENvbmRpdGlvbi0+c2N6Q29uZGl0aW9uKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorCisgICAgICAgIFJlbGVhc2VOdWxsU3RyU2VjdXJlKF9mYWlsZWRNZXNzYWdlKTsKKworICAgIExFeGl0OgorICAgICAgICByZXR1cm4gaHI7CisgICAgfQorCisKKyAgICB2b2lkIFNldFRhc2tiYXJCdXR0b25Qcm9ncmVzcyhfX2luIERXT1JEIGR3T3ZlcmFsbFBlcmNlbnRhZ2UpIHsKKyAgICAgICAgSFJFU1VMVCBociA9IFNfT0s7CisKKyAgICAgICAgaWYgKF90YXNrYmFyQnV0dG9uT0spIHsKKyAgICAgICAgICAgIGhyID0gX3Rhc2tiYXJMaXN0LT5TZXRQcm9ncmVzc1ZhbHVlKF9oV25kLCBkd092ZXJhbGxQZXJjZW50YWdlLCAxMDBVTCk7CisgICAgICAgICAgICBCYWxFeGl0T25GYWlsdXJlMShociwgIkZhaWxlZCB0byBzZXQgdGFza2JhciBidXR0b24gcHJvZ3Jlc3MgdG86ICVkJSUuIiwgZHdPdmVyYWxsUGVyY2VudGFnZSk7CisgICAgICAgIH0KKworICAgIExFeGl0OgorICAgICAgICByZXR1cm47CisgICAgfQorCisKKyAgICB2b2lkIFNldFRhc2tiYXJCdXR0b25TdGF0ZShfX2luIFRCUEZMQUcgdGJwRmxhZ3MpIHsKKyAgICAgICAgSFJFU1VMVCBociA9IFNfT0s7CisKKyAgICAgICAgaWYgKF90YXNrYmFyQnV0dG9uT0spIHsKKyAgICAgICAgICAgIGhyID0gX3Rhc2tiYXJMaXN0LT5TZXRQcm9ncmVzc1N0YXRlKF9oV25kLCB0YnBGbGFncyk7CisgICAgICAgICAgICBCYWxFeGl0T25GYWlsdXJlMShociwgIkZhaWxlZCB0byBzZXQgdGFza2JhciBidXR0b24gc3RhdGUuIiwgdGJwRmxhZ3MpOworICAgICAgICB9CisKKyAgICBMRXhpdDoKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworCisgICAgdm9pZCBTZXRQcm9ncmVzc1N0YXRlKF9faW4gSFJFU1VMVCBoclN0YXR1cykgeworICAgICAgICBUQlBGTEFHIGZsYWcgPSBUQlBGX05PUk1BTDsKKworICAgICAgICBpZiAoSXNDYW5jZWxlZCgpIHx8IEhSRVNVTFRfRlJPTV9XSU4zMihFUlJPUl9JTlNUQUxMX1VTRVJFWElUKSA9PSBoclN0YXR1cykgeworICAgICAgICAgICAgZmxhZyA9IFRCUEZfUEFVU0VEOworICAgICAgICB9IGVsc2UgaWYgKElzUm9sbGluZ0JhY2soKSB8fCBGQUlMRUQoaHJTdGF0dXMpKSB7CisgICAgICAgICAgICBmbGFnID0gVEJQRl9FUlJPUjsKKyAgICAgICAgfQorCisgICAgICAgIFNldFRhc2tiYXJCdXR0b25TdGF0ZShmbGFnKTsKKyAgICB9CisKKworICAgIEhSRVNVTFQgTG9hZEJvb3RzdHJhcHBlckJBRnVuY3Rpb25zKCkgeworICAgICAgICBIUkVTVUxUIGhyID0gU19PSzsKKyAgICAgICAgTFBXU1RSIHNjekJhZlBhdGggPSBudWxscHRyOworCisgICAgICAgIGhyID0gUGF0aFJlbGF0aXZlVG9Nb2R1bGUoJnNjekJhZlBhdGgsIEwiYmFmdW5jdGlvbnMuZGxsIiwgX2hNb2R1bGUpOworICAgICAgICBCYWxFeGl0T25GYWlsdXJlKGhyLCAiRmFpbGVkIHRvIGdldCBwYXRoIHRvIEJBIGZ1bmN0aW9uIERMTC4iKTsKKworI2lmZGVmIERFQlVHCisgICAgICAgIEJhbExvZyhCT09UU1RSQVBQRVJfTE9HX0xFVkVMX1NUQU5EQVJELCAiUFlCQTogTG9hZEJvb3RzdHJhcHBlckJBRnVuY3Rpb25zKCkgLSBCQSBmdW5jdGlvbiBETEwgJWxzIiwgc2N6QmFmUGF0aCk7CisjZW5kaWYKKworICAgICAgICBfaEJBRk1vZHVsZSA9IDo6TG9hZExpYnJhcnlXKHNjekJhZlBhdGgpOworICAgICAgICBpZiAoX2hCQUZNb2R1bGUpIHsKKyAgICAgICAgICAgIGF1dG8gcGZuQkFGdW5jdGlvbkNyZWF0ZSA9IHJlaW50ZXJwcmV0X2Nhc3Q8UEZOX0JPT1RTVFJBUFBFUl9CQV9GVU5DVElPTl9DUkVBVEU+KDo6R2V0UHJvY0FkZHJlc3MoX2hCQUZNb2R1bGUsICJDcmVhdGVCb290c3RyYXBwZXJCQUZ1bmN0aW9uIikpOworICAgICAgICAgICAgQmFsRXhpdE9uTnVsbFdpdGhMYXN0RXJyb3IxKHBmbkJBRnVuY3Rpb25DcmVhdGUsIGhyLCAiRmFpbGVkIHRvIGdldCBDcmVhdGVCb290c3RyYXBwZXJCQUZ1bmN0aW9uIGVudHJ5LXBvaW50IGZyb206ICVscyIsIHNjekJhZlBhdGgpOworCisgICAgICAgICAgICBociA9IHBmbkJBRnVuY3Rpb25DcmVhdGUoX2VuZ2luZSwgX2hCQUZNb2R1bGUsICZfYmFGdW5jdGlvbik7CisgICAgICAgICAgICBCYWxFeGl0T25GYWlsdXJlKGhyLCAiRmFpbGVkIHRvIGNyZWF0ZSBCQSBmdW5jdGlvbi4iKTsKKyAgICAgICAgfQorI2lmZGVmIERFQlVHCisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgQmFsTG9nRXJyb3IoSFJFU1VMVF9GUk9NX1dJTjMyKDo6R2V0TGFzdEVycm9yKCkpLCAiUFlCQTogTG9hZEJvb3RzdHJhcHBlckJBRnVuY3Rpb25zKCkgLSBGYWlsZWQgdG8gbG9hZCBETEwgJWxzIiwgc2N6QmFmUGF0aCk7CisgICAgICAgIH0KKyNlbmRpZgorCisgICAgTEV4aXQ6CisgICAgICAgIGlmIChfaEJBRk1vZHVsZSAmJiAhX2JhRnVuY3Rpb24pIHsKKyAgICAgICAgICAgIDo6RnJlZUxpYnJhcnkoX2hCQUZNb2R1bGUpOworICAgICAgICAgICAgX2hCQUZNb2R1bGUgPSBudWxscHRyOworICAgICAgICB9CisgICAgICAgIFJlbGVhc2VTdHIoc2N6QmFmUGF0aCk7CisKKyAgICAgICAgcmV0dXJuIGhyOworICAgIH0KKworICAgIEJPT0wgSXNDaGVja2FibGUoVEhFTUVfQ09OVFJPTCogcENvbnRyb2wpIHsKKyAgICAgICAgaWYgKCFwQ29udHJvbC0+c2N6TmFtZSB8fCAhcENvbnRyb2wtPnNjek5hbWVbMF0pIHsKKyAgICAgICAgICAgIHJldHVybiBGQUxTRTsKKyAgICAgICAgfQorCisgICAgICAgIGlmIChwQ29udHJvbC0+dHlwZSA9PSBUSEVNRV9DT05UUk9MX1RZUEVfQ0hFQ0tCT1gpIHsKKyAgICAgICAgICAgIHJldHVybiBUUlVFOworICAgICAgICB9CisKKyAgICAgICAgaWYgKHBDb250cm9sLT50eXBlID09IFRIRU1FX0NPTlRST0xfVFlQRV9CVVRUT04pIHsKKyAgICAgICAgICAgIGlmICgocENvbnRyb2wtPmR3U3R5bGUgJiBCU19UWVBFTUFTSykgPT0gQlNfQVVUT1JBRElPQlVUVE9OKSB7CisgICAgICAgICAgICAgICAgcmV0dXJuIFRSVUU7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKworICAgICAgICByZXR1cm4gRkFMU0U7CisgICAgfQorCisgICAgdm9pZCBTYXZlUGFnZVNldHRpbmdzKCkgeworICAgICAgICBEV09SRCBwYWdlSWQgPSAwOworICAgICAgICBUSEVNRV9QQUdFKiBwUGFnZSA9IG51bGxwdHI7CisKKyAgICAgICAgRGV0ZXJtaW5lUGFnZUlkKF9zdGF0ZSwgJnBhZ2VJZCk7CisgICAgICAgIHBQYWdlID0gVGhlbWVHZXRQYWdlKF90aGVtZSwgcGFnZUlkKTsKKyAgICAgICAgaWYgKCFwUGFnZSkgeworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAgICAgICAgZm9yIChEV09SRCBpID0gMDsgaSA8IHBQYWdlLT5jQ29udHJvbEluZGljZXM7ICsraSkgeworICAgICAgICAgICAgLy8gTG9vcCB0aHJvdWdoIGFsbCB0aGUgY2hlY2thYmxlIGNvbnRyb2xzIGFuZCBzZXQgYSBCdXJuIHZhcmlhYmxlCisgICAgICAgICAgICAvLyB3aXRoIHRoYXQgbmFtZSB0byB0cnVlIG9yIGZhbHNlLgorICAgICAgICAgICAgVEhFTUVfQ09OVFJPTCogcENvbnRyb2wgPSBfdGhlbWUtPnJnQ29udHJvbHMgKyBwUGFnZS0+cmdkd0NvbnRyb2xJbmRpY2VzW2ldOworICAgICAgICAgICAgaWYgKElzQ2hlY2thYmxlKHBDb250cm9sKSAmJiBUaGVtZUNvbnRyb2xFbmFibGVkKF90aGVtZSwgcENvbnRyb2wtPndJZCkpIHsKKyAgICAgICAgICAgICAgICBCT09MIGNoZWNrZWQgPSBUaGVtZUlzQ29udHJvbENoZWNrZWQoX3RoZW1lLCBwQ29udHJvbC0+d0lkKTsKKyAgICAgICAgICAgICAgICBfZW5naW5lLT5TZXRWYXJpYWJsZU51bWVyaWMocENvbnRyb2wtPnNjek5hbWUsIGNoZWNrZWQgPyAxIDogMCk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIC8vIExvb3AgdGhyb3VnaCBhbGwgdGhlIGVkaXRib3ggY29udHJvbHMgd2l0aCBuYW1lcyBhbmQgc2V0IGEKKyAgICAgICAgICAgIC8vIEJ1cm4gdmFyaWFibGUgd2l0aCB0aGF0IG5hbWUgdG8gdGhlIGNvbnRlbnRzLgorICAgICAgICAgICAgaWYgKFRIRU1FX0NPTlRST0xfVFlQRV9FRElUQk9YID09IHBDb250cm9sLT50eXBlICYmIHBDb250cm9sLT5zY3pOYW1lICYmICpwQ29udHJvbC0+c2N6TmFtZSkgeworICAgICAgICAgICAgICAgIExQV1NUUiBzY3pWYWx1ZSA9IG51bGxwdHI7CisgICAgICAgICAgICAgICAgVGhlbWVHZXRUZXh0Q29udHJvbChfdGhlbWUsIHBDb250cm9sLT53SWQsICZzY3pWYWx1ZSk7CisgICAgICAgICAgICAgICAgX2VuZ2luZS0+U2V0VmFyaWFibGVTdHJpbmcocENvbnRyb2wtPnNjek5hbWUsIHNjelZhbHVlKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KKworCitwdWJsaWM6CisgICAgLy8KKyAgICAvLyBDb25zdHJ1Y3RvciAtIGluaXRpYWxpemUgbWVtYmVyIHZhcmlhYmxlcy4KKyAgICAvLworICAgIFB5dGhvbkJvb3RzdHJhcHBlckFwcGxpY2F0aW9uKAorICAgICAgICBfX2luIEhNT0RVTEUgaE1vZHVsZSwKKyAgICAgICAgX19pbiBCT09MIGZQcmVyZXEsCisgICAgICAgIF9faW4gSFJFU1VMVCBockhvc3RJbml0aWFsaXphdGlvbiwKKyAgICAgICAgX19pbiBJQm9vdHN0cmFwcGVyRW5naW5lKiBwRW5naW5lLAorICAgICAgICBfX2luIGNvbnN0IEJPT1RTVFJBUFBFUl9DT01NQU5EKiBwQ29tbWFuZAorICAgICkgOiBDQmFsQmFzZUJvb3RzdHJhcHBlckFwcGxpY2F0aW9uKHBFbmdpbmUsIHBDb21tYW5kLCAzLCAzMDAwKSB7CisgICAgICAgIF9oTW9kdWxlID0gaE1vZHVsZTsKKyAgICAgICAgbWVtY3B5X3MoJl9jb21tYW5kLCBzaXplb2YoX2NvbW1hbmQpLCBwQ29tbWFuZCwgc2l6ZW9mKEJPT1RTVFJBUFBFUl9DT01NQU5EKSk7CisKKyAgICAgICAgTE9OR0xPTkcgbGxJbnN0YWxsZWQgPSAwOworICAgICAgICBIUkVTVUxUIGhyID0gQmFsR2V0TnVtZXJpY1ZhcmlhYmxlKEwiV2l4QnVuZGxlSW5zdGFsbGVkIiwgJmxsSW5zdGFsbGVkKTsKKyAgICAgICAgaWYgKFNVQ0NFRURFRChocikgJiYgQk9PVFNUUkFQUEVSX1JFU1VNRV9UWVBFX1JFQk9PVCAhPSBfY29tbWFuZC5yZXN1bWVUeXBlICYmIDAgPCBsbEluc3RhbGxlZCAmJiBCT09UU1RSQVBQRVJfQUNUSU9OX0lOU1RBTEwgPT0gX2NvbW1hbmQuYWN0aW9uKSB7CisgICAgICAgICAgICBfY29tbWFuZC5hY3Rpb24gPSBCT09UU1RSQVBQRVJfQUNUSU9OX01PRElGWTsKKyAgICAgICAgfSBlbHNlIGlmICgwID09IGxsSW5zdGFsbGVkICYmIChCT09UU1RSQVBQRVJfQUNUSU9OX01PRElGWSA9PSBfY29tbWFuZC5hY3Rpb24gfHwgQk9PVFNUUkFQUEVSX0FDVElPTl9SRVBBSVIgPT0gX2NvbW1hbmQuYWN0aW9uKSkgeworICAgICAgICAgICAgX2NvbW1hbmQuYWN0aW9uID0gQk9PVFNUUkFQUEVSX0FDVElPTl9JTlNUQUxMOworICAgICAgICB9CisKKyAgICAgICAgX3BsYW5uZWRBY3Rpb24gPSBCT09UU1RSQVBQRVJfQUNUSU9OX1VOS05PV047CisKKworICAgICAgICAvLyBXaGVuIHJlc3VtaW5nIGZyb20gcmVzdGFydCBkb2luZyBzb21lIGluc3RhbGwtbGlrZSBvcGVyYXRpb24sIHRyeSB0byBmaW5kIHRoZSBwYWNrYWdlIHRoYXQgZm9yY2VkIHRoZQorICAgICAgICAvLyByZXN0YXJ0LiBXZSdsbCB1c2UgdGhpcyBpbmZvcm1hdGlvbiBkdXJpbmcgcGxhbm5pbmcuCisgICAgICAgIF9uZXh0UGFja2FnZUFmdGVyUmVzdGFydCA9IG51bGxwdHI7CisKKyAgICAgICAgaWYgKEJPT1RTVFJBUFBFUl9SRVNVTUVfVFlQRV9SRUJPT1QgPT0gX2NvbW1hbmQucmVzdW1lVHlwZSAmJiBCT09UU1RSQVBQRVJfQUNUSU9OX1VOSU5TVEFMTCA8IF9jb21tYW5kLmFjdGlvbikgeworICAgICAgICAgICAgLy8gRW5zdXJlIHRoZSBmb3JjZWQgcmVzdGFydCBwYWNrYWdlIHZhcmlhYmxlIGlzIG51bGwgd2hlbiBpdCBpcyBhbiBlbXB0eSBzdHJpbmcuCisgICAgICAgICAgICBIUkVTVUxUIGhyID0gQmFsR2V0U3RyaW5nVmFyaWFibGUoTCJXaXhCdW5kbGVGb3JjZWRSZXN0YXJ0UGFja2FnZSIsICZfbmV4dFBhY2thZ2VBZnRlclJlc3RhcnQpOworICAgICAgICAgICAgaWYgKEZBSUxFRChocikgfHwgIV9uZXh0UGFja2FnZUFmdGVyUmVzdGFydCB8fCAhKl9uZXh0UGFja2FnZUFmdGVyUmVzdGFydCkgeworICAgICAgICAgICAgICAgIFJlbGVhc2VOdWxsU3RyKF9uZXh0UGFja2FnZUFmdGVyUmVzdGFydCk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKworICAgICAgICBwRW5naW5lLT5TZXRWYXJpYWJsZU51bWVyaWMoTCJDUlRJbnN0YWxsZWQiLCBJc0NydEluc3RhbGxlZCgpID8gMSA6IDApOworCisgICAgICAgIF93aXhMb2MgPSBudWxscHRyOworICAgICAgICBtZW1zZXQoJl9idW5kbGUsIDAsIHNpemVvZihfYnVuZGxlKSk7CisgICAgICAgIG1lbXNldCgmX2NvbmRpdGlvbnMsIDAsIHNpemVvZihfY29uZGl0aW9ucykpOworICAgICAgICBfY29uZmlybUNsb3NlTWVzc2FnZSA9IG51bGxwdHI7CisgICAgICAgIF9mYWlsZWRNZXNzYWdlID0gbnVsbHB0cjsKKworICAgICAgICBfbGFuZ3VhZ2UgPSBudWxscHRyOworICAgICAgICBfdGhlbWUgPSBudWxscHRyOworICAgICAgICBtZW1zZXQoX3BhZ2VJZHMsIDAsIHNpemVvZihfcGFnZUlkcykpOworICAgICAgICBfaFVpVGhyZWFkID0gbnVsbHB0cjsKKyAgICAgICAgX3JlZ2lzdGVyZWQgPSBGQUxTRTsKKyAgICAgICAgX2hXbmQgPSBudWxscHRyOworCisgICAgICAgIF9zdGF0ZSA9IFBZQkFfU1RBVEVfSU5JVElBTElaSU5HOworICAgICAgICBfdmlzaWJsZVBhZ2VJZCA9IDA7CisgICAgICAgIF9pbnN0YWxsUGFnZSA9IFBBR0VfTE9BRElORzsKKyAgICAgICAgX2hyRmluYWwgPSBockhvc3RJbml0aWFsaXphdGlvbjsKKworICAgICAgICBfZG93bmdyYWRpbmcgPSBGQUxTRTsKKyAgICAgICAgX3Jlc3RhcnRSZXN1bHQgPSBCT09UU1RSQVBQRVJfQVBQTFlfUkVTVEFSVF9OT05FOworICAgICAgICBfcmVzdGFydFJlcXVpcmVkID0gRkFMU0U7CisgICAgICAgIF9hbGxvd1Jlc3RhcnQgPSBGQUxTRTsKKworICAgICAgICBfc3VwcHJlc3NEb3duZ3JhZGVGYWlsdXJlID0gRkFMU0U7CisgICAgICAgIF9zdXBwcmVzc1JlcGFpciA9IEZBTFNFOworICAgICAgICBfbW9kaWZ5aW5nID0gRkFMU0U7CisKKyAgICAgICAgX2NydEluc3RhbGxlZFRva2VuID0gLTE7CisKKyAgICAgICAgX292ZXJyaWRhYmxlVmFyaWFibGVzID0gbnVsbHB0cjsKKyAgICAgICAgX3Rhc2tiYXJMaXN0ID0gbnVsbHB0cjsKKyAgICAgICAgX3Rhc2tiYXJCdXR0b25DcmVhdGVkTWVzc2FnZSA9IFVJTlRfTUFYOworICAgICAgICBfdGFza2JhckJ1dHRvbk9LID0gRkFMU0U7CisgICAgICAgIF9zaG93aW5nSW50ZXJuYWxVSVRoaXNQYWNrYWdlID0gRkFMU0U7CisgICAgICAgIF90cmllZFRvTGF1bmNoRWxldmF0ZWQgPSBGQUxTRTsKKworICAgICAgICBfc3VwcHJlc3NQYWludCA9IEZBTFNFOworCisgICAgICAgIHBFbmdpbmUtPkFkZFJlZigpOworICAgICAgICBfZW5naW5lID0gcEVuZ2luZTsKKworICAgICAgICBfaEJBRk1vZHVsZSA9IG51bGxwdHI7CisgICAgICAgIF9iYUZ1bmN0aW9uID0gbnVsbHB0cjsKKyAgICB9CisKKworICAgIC8vCisgICAgLy8gRGVzdHJ1Y3RvciAtIHJlbGVhc2UgbWVtYmVyIHZhcmlhYmxlcy4KKyAgICAvLworICAgIH5QeXRob25Cb290c3RyYXBwZXJBcHBsaWNhdGlvbigpIHsKKyAgICAgICAgQXNzZXJ0U3ooITo6SXNXaW5kb3coX2hXbmQpLCAiV2luZG93IHNob3VsZCBoYXZlIGJlZW4gZGVzdHJveWVkIGJlZm9yZSBkZXN0cnVjdG9yLiIpOworICAgICAgICBBc3NlcnRTeighX3RoZW1lLCAiVGhlbWUgc2hvdWxkIGhhdmUgYmVlbiByZWxlYXNlZCBiZWZvcmUgZGVzdHJ1Y3Rvci4iKTsKKworICAgICAgICBSZWxlYXNlT2JqZWN0KF90YXNrYmFyTGlzdCk7CisgICAgICAgIFJlbGVhc2VEaWN0KF9vdmVycmlkYWJsZVZhcmlhYmxlcyk7CisgICAgICAgIFJlbGVhc2VTdHIoX2ZhaWxlZE1lc3NhZ2UpOworICAgICAgICBSZWxlYXNlU3RyKF9jb25maXJtQ2xvc2VNZXNzYWdlKTsKKyAgICAgICAgQmFsQ29uZGl0aW9uc1VuaW5pdGlhbGl6ZSgmX2NvbmRpdGlvbnMpOworICAgICAgICBCYWxJbmZvVW5pbml0aWFsaXplKCZfYnVuZGxlKTsKKyAgICAgICAgTG9jRnJlZShfd2l4TG9jKTsKKworICAgICAgICBSZWxlYXNlU3RyKF9sYW5ndWFnZSk7CisgICAgICAgIFJlbGVhc2VTdHIoX25leHRQYWNrYWdlQWZ0ZXJSZXN0YXJ0KTsKKyAgICAgICAgUmVsZWFzZU51bGxPYmplY3QoX2VuZ2luZSk7CisKKyAgICAgICAgaWYgKF9oQkFGTW9kdWxlKSB7CisgICAgICAgICAgICA6OkZyZWVMaWJyYXJ5KF9oQkFGTW9kdWxlKTsKKyAgICAgICAgICAgIF9oQkFGTW9kdWxlID0gbnVsbHB0cjsKKyAgICAgICAgfQorICAgIH0KKworcHJpdmF0ZToKKyAgICBITU9EVUxFIF9oTW9kdWxlOworICAgIEJPT1RTVFJBUFBFUl9DT01NQU5EIF9jb21tYW5kOworICAgIElCb290c3RyYXBwZXJFbmdpbmUqIF9lbmdpbmU7CisgICAgQk9PVFNUUkFQUEVSX0FDVElPTiBfcGxhbm5lZEFjdGlvbjsKKworICAgIExQV1NUUiBfbmV4dFBhY2thZ2VBZnRlclJlc3RhcnQ7CisKKyAgICBXSVhfTE9DQUxJWkFUSU9OKiBfd2l4TG9jOworICAgIEJBTF9JTkZPX0JVTkRMRSBfYnVuZGxlOworICAgIEJBTF9DT05ESVRJT05TIF9jb25kaXRpb25zOworICAgIExQV1NUUiBfZmFpbGVkTWVzc2FnZTsKKyAgICBMUFdTVFIgX2NvbmZpcm1DbG9zZU1lc3NhZ2U7CisKKyAgICBMUFdTVFIgX2xhbmd1YWdlOworICAgIFRIRU1FKiBfdGhlbWU7CisgICAgRFdPUkQgX3BhZ2VJZHNbY291bnRvZihQQUdFX05BTUVTKV07CisgICAgSEFORExFIF9oVWlUaHJlYWQ7CisgICAgQk9PTCBfcmVnaXN0ZXJlZDsKKyAgICBIV05EIF9oV25kOworCisgICAgUFlCQV9TVEFURSBfc3RhdGU7CisgICAgSFJFU1VMVCBfaHJGaW5hbDsKKyAgICBEV09SRCBfdmlzaWJsZVBhZ2VJZDsKKyAgICBQQUdFIF9pbnN0YWxsUGFnZTsKKworICAgIEJPT0wgX3N0YXJ0ZWRFeGVjdXRpb247CisgICAgRFdPUkQgX2NhbGN1bGF0ZWRDYWNoZVByb2dyZXNzOworICAgIERXT1JEIF9jYWxjdWxhdGVkRXhlY3V0ZVByb2dyZXNzOworCisgICAgQk9PTCBfZG93bmdyYWRpbmc7CisgICAgQk9PVFNUUkFQUEVSX0FQUExZX1JFU1RBUlQgX3Jlc3RhcnRSZXN1bHQ7CisgICAgQk9PTCBfcmVzdGFydFJlcXVpcmVkOworICAgIEJPT0wgX2FsbG93UmVzdGFydDsKKworICAgIEJPT0wgX3N1cHByZXNzRG93bmdyYWRlRmFpbHVyZTsKKyAgICBCT09MIF9zdXBwcmVzc1JlcGFpcjsKKyAgICBCT09MIF9tb2RpZnlpbmc7CisKKyAgICBpbnQgX2NydEluc3RhbGxlZFRva2VuOworCisgICAgU1RSSU5HRElDVF9IQU5ETEUgX292ZXJyaWRhYmxlVmFyaWFibGVzOworCisgICAgSVRhc2tiYXJMaXN0MyogX3Rhc2tiYXJMaXN0OworICAgIFVJTlQgX3Rhc2tiYXJCdXR0b25DcmVhdGVkTWVzc2FnZTsKKyAgICBCT09MIF90YXNrYmFyQnV0dG9uT0s7CisgICAgQk9PTCBfc2hvd2luZ0ludGVybmFsVUlUaGlzUGFja2FnZTsKKyAgICBCT09MIF90cmllZFRvTGF1bmNoRWxldmF0ZWQ7CisKKyAgICBCT09MIF9zdXBwcmVzc1BhaW50OworCisgICAgSE1PRFVMRSBfaEJBRk1vZHVsZTsKKyAgICBJQm9vdHN0cmFwcGVyQkFGdW5jdGlvbiogX2JhRnVuY3Rpb247Cit9OworCisvLworLy8gQ3JlYXRlQm9vdHN0cmFwcGVyQXBwbGljYXRpb24gLSBjcmVhdGVzIGEgbmV3IElCb290c3RyYXBwZXJBcHBsaWNhdGlvbiBvYmplY3QuCisvLworSFJFU1VMVCBDcmVhdGVCb290c3RyYXBwZXJBcHBsaWNhdGlvbigKKyAgICBfX2luIEhNT0RVTEUgaE1vZHVsZSwKKyAgICBfX2luIEJPT0wgZlByZXJlcSwKKyAgICBfX2luIEhSRVNVTFQgaHJIb3N0SW5pdGlhbGl6YXRpb24sCisgICAgX19pbiBJQm9vdHN0cmFwcGVyRW5naW5lKiBwRW5naW5lLAorICAgIF9faW4gY29uc3QgQk9PVFNUUkFQUEVSX0NPTU1BTkQqIHBDb21tYW5kLAorICAgIF9fb3V0IElCb290c3RyYXBwZXJBcHBsaWNhdGlvbioqIHBwQXBwbGljYXRpb24KKyAgICApIHsKKyAgICBIUkVTVUxUIGhyID0gU19PSzsKKworICAgIGlmIChmUHJlcmVxKSB7CisgICAgICAgIGhyID0gRV9JTlZBTElEQVJHOworICAgICAgICBFeGl0V2l0aExhc3RFcnJvcihociwgIkZhaWxlZCB0byBjcmVhdGUgVUkgdGhyZWFkLiIpOworICAgIH0KKworICAgIFB5dGhvbkJvb3RzdHJhcHBlckFwcGxpY2F0aW9uKiBwQXBwbGljYXRpb24gPSBudWxscHRyOworCisgICAgcEFwcGxpY2F0aW9uID0gbmV3IFB5dGhvbkJvb3RzdHJhcHBlckFwcGxpY2F0aW9uKGhNb2R1bGUsIGZQcmVyZXEsIGhySG9zdEluaXRpYWxpemF0aW9uLCBwRW5naW5lLCBwQ29tbWFuZCk7CisgICAgRXhpdE9uTnVsbChwQXBwbGljYXRpb24sIGhyLCBFX09VVE9GTUVNT1JZLCAiRmFpbGVkIHRvIGNyZWF0ZSBuZXcgc3RhbmRhcmQgYm9vdHN0cmFwcGVyIGFwcGxpY2F0aW9uIG9iamVjdC4iKTsKKworICAgICpwcEFwcGxpY2F0aW9uID0gcEFwcGxpY2F0aW9uOworICAgIHBBcHBsaWNhdGlvbiA9IG51bGxwdHI7CisKK0xFeGl0OgorICAgIFJlbGVhc2VPYmplY3QocEFwcGxpY2F0aW9uKTsKKyAgICByZXR1cm4gaHI7Cit9CmRpZmYgLS1naXQgYS9Ub29scy9tc2kvYnVuZGxlL2Jvb3RzdHJhcC9wY2guY3BwIGIvVG9vbHMvbXNpL2J1bmRsZS9ib290c3RyYXAvcGNoLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xZDlmMzhjCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL2J1bmRsZS9ib290c3RyYXAvcGNoLmNwcApAQCAtMCwwICsxIEBACisjaW5jbHVkZSAicGNoLmgiCmRpZmYgLS1naXQgYS9Ub29scy9tc2kvYnVuZGxlL2Jvb3RzdHJhcC9wY2guaCBiL1Rvb2xzL21zaS9idW5kbGUvYm9vdHN0cmFwL3BjaC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA5NTY0MTMKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9tc2kvYnVuZGxlL2Jvb3RzdHJhcC9wY2guaApAQCAtMCwwICsxLDU5IEBACisvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy8vIDxjb3B5cmlnaHQgZmlsZT0icHJlY29tcC5oIiBjb21wYW55PSJPdXRlcmN1cnZlIEZvdW5kYXRpb24iPgorLy8gICBDb3B5cmlnaHQgKGMpIDIwMDQsIE91dGVyY3VydmUgRm91bmRhdGlvbi4KKy8vICAgVGhpcyBzb2Z0d2FyZSBpcyByZWxlYXNlZCB1bmRlciBNaWNyb3NvZnQgUmVjaXByb2NhbCBMaWNlbnNlIChNUy1STCkuCisvLyAgIFRoZSBsaWNlbnNlIGFuZCBmdXJ0aGVyIGNvcHlyaWdodCB0ZXh0IGNhbiBiZSBmb3VuZCBpbiB0aGUgZmlsZQorLy8gICBMSUNFTlNFLlRYVCBhdCB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhlIGRpc3RyaWJ1dGlvbi4KKy8vIDwvY29weXJpZ2h0PgorLy8gCisvLyA8c3VtbWFyeT4KKy8vICAgIFByZWNvbXBpbGVkIGhlYWRlciBmb3Igc3RhbmRhcmQgYm9vdHN0cmFwcGVyIGFwcGxpY2F0aW9uLgorLy8gPC9zdW1tYXJ5PgorLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSA8d2luZG93cy5oPgorI2luY2x1ZGUgPGdkaXBsdXMuaD4KKyNpbmNsdWRlIDxVeHRoZW1lLmg+CisjaW5jbHVkZSA8bXNpcXVlcnkuaD4KKyNpbmNsdWRlIDxvYmpiYXNlLmg+CisjaW5jbHVkZSA8c2hsb2JqLmg+CisjaW5jbHVkZSA8c2hsd2FwaS5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN0cnNhZmUuaD4KKyNpbmNsdWRlIDxzdGRkZWYuaD4KKworI2luY2x1ZGUgImR1dGlsLmgiCisjaW5jbHVkZSAibWVtdXRpbC5oIgorI2luY2x1ZGUgImRpY3R1dGlsLmgiCisjaW5jbHVkZSAiZGlydXRpbC5oIgorI2luY2x1ZGUgImZpbGV1dGlsLmgiCisjaW5jbHVkZSAibG9jdXRpbC5oIgorI2luY2x1ZGUgImxvZ3V0aWwuaCIKKyNpbmNsdWRlICJwYXRodXRpbC5oIgorI2luY2x1ZGUgInJlc3J1dGlsLmgiCisjaW5jbHVkZSAic2hlbHV0aWwuaCIKKyNpbmNsdWRlICJzdHJ1dGlsLmgiCisjaW5jbHVkZSAidGhtdXRpbC5oIgorI2luY2x1ZGUgInVyaXV0aWwuaCIKKyNpbmNsdWRlICJ4bWx1dGlsLmgiCisKKyNpbmNsdWRlICJJQm9vdHN0cmFwcGVyRW5naW5lLmgiCisjaW5jbHVkZSAiSUJvb3RzdHJhcHBlckFwcGxpY2F0aW9uLmgiCisKKyNpbmNsdWRlICJCYWxCYXNlQm9vdHN0cmFwcGVyQXBwbGljYXRpb24uaCIKKyNpbmNsdWRlICJiYWxpbmZvLmgiCisjaW5jbHVkZSAiYmFsY29uZGl0aW9uLmgiCisKK0hSRVNVTFQgQ3JlYXRlQm9vdHN0cmFwcGVyQXBwbGljYXRpb24oCisgICAgX19pbiBITU9EVUxFIGhNb2R1bGUsCisgICAgX19pbiBCT09MIGZQcmVyZXEsCisgICAgX19pbiBIUkVTVUxUIGhySG9zdEluaXRpYWxpemF0aW9uLAorICAgIF9faW4gSUJvb3RzdHJhcHBlckVuZ2luZSogcEVuZ2luZSwKKyAgICBfX2luIGNvbnN0IEJPT1RTVFJBUFBFUl9DT01NQU5EKiBwQ29tbWFuZCwKKyAgICBfX291dCBJQm9vdHN0cmFwcGVyQXBwbGljYXRpb24qKiBwcEFwcGxpY2F0aW9uCispOworCisjaW5jbHVkZSAiSUJvb3RzdHJhcHBlckJBRnVuY3Rpb24uaCIKKwpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL2J1bmRsZS9ib290c3RyYXAvcHl0aG9uYmEuY3BwIGIvVG9vbHMvbXNpL2J1bmRsZS9ib290c3RyYXAvcHl0aG9uYmEuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBjZTQ1YWQKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9tc2kvYnVuZGxlL2Jvb3RzdHJhcC9weXRob25iYS5jcHAKQEAgLTAsMCArMSw3NiBAQAorLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisvLyA8Y29weXJpZ2h0IGZpbGU9IndpeHN0ZGJhLmNwcCIgY29tcGFueT0iT3V0ZXJjdXJ2ZSBGb3VuZGF0aW9uIj4KKy8vICAgQ29weXJpZ2h0IChjKSAyMDA0LCBPdXRlcmN1cnZlIEZvdW5kYXRpb24uCisvLyAgIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgTWljcm9zb2Z0IFJlY2lwcm9jYWwgTGljZW5zZSAoTVMtUkwpLgorLy8gICBUaGUgbGljZW5zZSBhbmQgZnVydGhlciBjb3B5cmlnaHQgdGV4dCBjYW4gYmUgZm91bmQgaW4gdGhlIGZpbGUKKy8vICAgTElDRU5TRS5UWFQgYXQgdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoZSBkaXN0cmlidXRpb24uCisvLyA8L2NvcHlyaWdodD4KKy8vCisvLyA8c3VtbWFyeT4KKy8vIFNldHVwIGNoYWluZXIvYm9vdHN0cmFwcGVyIHN0YW5kYXJkIFVJIGZvciBXaVggdG9vbHNldC4KKy8vIDwvc3VtbWFyeT4KKy8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisjaW5jbHVkZSAicGNoLmgiCisKK3N0YXRpYyBISU5TVEFOQ0UgdmhJbnN0YW5jZSA9IE5VTEw7CisKK2V4dGVybiAiQyIgQk9PTCBXSU5BUEkgRGxsTWFpbigKKyAgICBJTiBISU5TVEFOQ0UgaEluc3RhbmNlLAorICAgIElOIERXT1JEIGR3UmVhc29uLAorICAgIElOIExQVk9JRCAvKiBwdlJlc2VydmVkICovCisgICAgKQoreworICAgIHN3aXRjaChkd1JlYXNvbikKKyAgICB7CisgICAgY2FzZSBETExfUFJPQ0VTU19BVFRBQ0g6CisgICAgICAgIDo6RGlzYWJsZVRocmVhZExpYnJhcnlDYWxscyhoSW5zdGFuY2UpOworICAgICAgICB2aEluc3RhbmNlID0gaEluc3RhbmNlOworICAgICAgICBicmVhazsKKworICAgIGNhc2UgRExMX1BST0NFU1NfREVUQUNIOgorICAgICAgICB2aEluc3RhbmNlID0gTlVMTDsKKyAgICAgICAgYnJlYWs7CisgICAgfQorCisgICAgcmV0dXJuIFRSVUU7Cit9CisKKworZXh0ZXJuICJDIiBIUkVTVUxUIFdJTkFQSSBCb290c3RyYXBwZXJBcHBsaWNhdGlvbkNyZWF0ZSgKKyAgICBfX2luIElCb290c3RyYXBwZXJFbmdpbmUqIHBFbmdpbmUsCisgICAgX19pbiBjb25zdCBCT09UU1RSQVBQRVJfQ09NTUFORCogcENvbW1hbmQsCisgICAgX19vdXQgSUJvb3RzdHJhcHBlckFwcGxpY2F0aW9uKiogcHBBcHBsaWNhdGlvbgorICAgICkKK3sKKyAgICBIUkVTVUxUIGhyID0gU19PSzsKKworICAgIEJhbEluaXRpYWxpemUocEVuZ2luZSk7CisKKyAgICBociA9IENyZWF0ZUJvb3RzdHJhcHBlckFwcGxpY2F0aW9uKHZoSW5zdGFuY2UsIEZBTFNFLCBTX09LLCBwRW5naW5lLCBwQ29tbWFuZCwgcHBBcHBsaWNhdGlvbik7CisgICAgQmFsRXhpdE9uRmFpbHVyZShociwgIkZhaWxlZCB0byBjcmVhdGUgYm9vdHN0cmFwcGVyIGFwcGxpY2F0aW9uIGludGVyZmFjZS4iKTsKKworTEV4aXQ6CisgICAgcmV0dXJuIGhyOworfQorCisKK2V4dGVybiAiQyIgdm9pZCBXSU5BUEkgQm9vdHN0cmFwcGVyQXBwbGljYXRpb25EZXN0cm95KCkKK3sKKyAgICBCYWxVbmluaXRpYWxpemUoKTsKK30KKworCitleHRlcm4gIkMiIEhSRVNVTFQgV0lOQVBJIE1iYVByZXJlcUJvb3RzdHJhcHBlckFwcGxpY2F0aW9uQ3JlYXRlKAorICAgIF9faW4gSFJFU1VMVCBockhvc3RJbml0aWFsaXphdGlvbiwKKyAgICBfX2luIElCb290c3RyYXBwZXJFbmdpbmUqIHBFbmdpbmUsCisgICAgX19pbiBjb25zdCBCT09UU1RSQVBQRVJfQ09NTUFORCogcENvbW1hbmQsCisgICAgX19vdXQgSUJvb3RzdHJhcHBlckFwcGxpY2F0aW9uKiogcHBBcHBsaWNhdGlvbgorICAgICkKK3sKKyAgICByZXR1cm4gRV9OT1RJTVBMOworfQorCisKK2V4dGVybiAiQyIgdm9pZCBXSU5BUEkgTWJhUHJlcmVxQm9vdHN0cmFwcGVyQXBwbGljYXRpb25EZXN0cm95KCkKK3sgfQpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL2J1bmRsZS9ib290c3RyYXAvcHl0aG9uYmEuZGVmIGIvVG9vbHMvbXNpL2J1bmRsZS9ib290c3RyYXAvcHl0aG9uYmEuZGVmCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI5YjNmYTUKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9tc2kvYnVuZGxlL2Jvb3RzdHJhcC9weXRob25iYS5kZWYKQEAgLTAsMCArMSwxOCBAQAorOy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKzsgPGNvcHlyaWdodCBmaWxlPSJ3aXhzdGRiYS5kZWYiIGNvbXBhbnk9Ik91dGVyY3VydmUgRm91bmRhdGlvbiI+Cis7ICAgQ29weXJpZ2h0IChjKSAyMDA0LCBPdXRlcmN1cnZlIEZvdW5kYXRpb24uCis7ICAgVGhpcyBzb2Z0d2FyZSBpcyByZWxlYXNlZCB1bmRlciBNaWNyb3NvZnQgUmVjaXByb2NhbCBMaWNlbnNlIChNUy1STCkuCis7ICAgVGhlIGxpY2Vuc2UgYW5kIGZ1cnRoZXIgY29weXJpZ2h0IHRleHQgY2FuIGJlIGZvdW5kIGluIHRoZSBmaWxlCis7ICAgTElDRU5TRS5UWFQgYXQgdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoZSBkaXN0cmlidXRpb24uCis7IDwvY29weXJpZ2h0PgorOyAKKzsgPHN1bW1hcnk+Cis7ICAgIFdpWCBTdGFuZGFyZCBCb290c3RyYXBwZXIgQXBwbGljYXRpb24gRExMIGVudHJ5IHBvaW50cy4KKzsgPC9zdW1tYXJ5PgorOy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworRVhQT1JUUworICAgIEJvb3RzdHJhcHBlckFwcGxpY2F0aW9uQ3JlYXRlCisgICAgQm9vdHN0cmFwcGVyQXBwbGljYXRpb25EZXN0cm95CisgICAgTWJhUHJlcmVxQm9vdHN0cmFwcGVyQXBwbGljYXRpb25DcmVhdGUKKyAgICBNYmFQcmVyZXFCb290c3RyYXBwZXJBcHBsaWNhdGlvbkRlc3Ryb3kKZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS9idW5kbGUvYm9vdHN0cmFwL3B5dGhvbmJhLnNsbiBiL1Rvb2xzL21zaS9idW5kbGUvYm9vdHN0cmFwL3B5dGhvbmJhLnNsbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZjQzZmVkCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL2J1bmRsZS9ib290c3RyYXAvcHl0aG9uYmEuc2xuCkBAIC0wLDAgKzEsMjIgQEAKK++7vworTWljcm9zb2Z0IFZpc3VhbCBTdHVkaW8gU29sdXRpb24gRmlsZSwgRm9ybWF0IFZlcnNpb24gMTIuMDAKKyMgVmlzdWFsIFN0dWRpbyAyMDEzCitWaXN1YWxTdHVkaW9WZXJzaW9uID0gMTIuMC4zMDUwMS4wCitNaW5pbXVtVmlzdWFsU3R1ZGlvVmVyc2lvbiA9IDEwLjAuNDAyMTkuMQorUHJvamVjdCgiezhCQzlDRUI4LThCNEEtMTFEMC04RDExLTAwQTBDOTFCQzk0Mn0iKSA9ICJweXRob25iYSIsICJweXRob25iYS52Y3hwcm9qIiwgIns3QTA5QjEzMi1CM0VFLTQ5OUItQTcwMC1BNEIyMTU3RkVBM0R9IgorRW5kUHJvamVjdAorR2xvYmFsCisJR2xvYmFsU2VjdGlvbihTb2x1dGlvbkNvbmZpZ3VyYXRpb25QbGF0Zm9ybXMpID0gcHJlU29sdXRpb24KKwkJRGVidWd8V2luMzIgPSBEZWJ1Z3xXaW4zMgorCQlSZWxlYXNlfFdpbjMyID0gUmVsZWFzZXxXaW4zMgorCUVuZEdsb2JhbFNlY3Rpb24KKwlHbG9iYWxTZWN0aW9uKFByb2plY3RDb25maWd1cmF0aW9uUGxhdGZvcm1zKSA9IHBvc3RTb2x1dGlvbgorCQl7N0EwOUIxMzItQjNFRS00OTlCLUE3MDAtQTRCMjE1N0ZFQTNEfS5EZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBEZWJ1Z3xXaW4zMgorCQl7N0EwOUIxMzItQjNFRS00OTlCLUE3MDAtQTRCMjE1N0ZFQTNEfS5EZWJ1Z3xXaW4zMi5CdWlsZC4wID0gRGVidWd8V2luMzIKKwkJezdBMDlCMTMyLUIzRUUtNDk5Qi1BNzAwLUE0QjIxNTdGRUEzRH0uUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyCisJCXs3QTA5QjEzMi1CM0VFLTQ5OUItQTcwMC1BNEIyMTU3RkVBM0R9LlJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzIKKwlFbmRHbG9iYWxTZWN0aW9uCisJR2xvYmFsU2VjdGlvbihTb2x1dGlvblByb3BlcnRpZXMpID0gcHJlU29sdXRpb24KKwkJSGlkZVNvbHV0aW9uTm9kZSA9IEZBTFNFCisJRW5kR2xvYmFsU2VjdGlvbgorRW5kR2xvYmFsCmRpZmYgLS1naXQgYS9Ub29scy9tc2kvYnVuZGxlL2Jvb3RzdHJhcC9weXRob25iYS52Y3hwcm9qIGIvVG9vbHMvbXNpL2J1bmRsZS9ib290c3RyYXAvcHl0aG9uYmEudmN4cHJvagpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ZDgzMzdjCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL2J1bmRsZS9ib290c3RyYXAvcHl0aG9uYmEudmN4cHJvagpAQCAtMCwwICsxLDY5IEBACivvu788P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgorPCEtLQorICA8Y29weXJpZ2h0IGZpbGU9IndpeHN0ZGJhLnZjeHByb2oiIGNvbXBhbnk9Ik91dGVyY3VydmUgRm91bmRhdGlvbiI+CisgICAgQ29weXJpZ2h0IChjKSAyMDA0LCBPdXRlcmN1cnZlIEZvdW5kYXRpb24uCisgICAgVGhpcyBzb2Z0d2FyZSBpcyByZWxlYXNlZCB1bmRlciBNaWNyb3NvZnQgUmVjaXByb2NhbCBMaWNlbnNlIChNUy1STCkuCisgICAgVGhlIGxpY2Vuc2UgYW5kIGZ1cnRoZXIgY29weXJpZ2h0IHRleHQgY2FuIGJlIGZvdW5kIGluIHRoZSBmaWxlCisgICAgTElDRU5TRS5UWFQgYXQgdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoZSBkaXN0cmlidXRpb24uCisgIDwvY29weXJpZ2h0PgorLS0+Cis8UHJvamVjdCBEZWZhdWx0VGFyZ2V0cz0iQnVpbGQiIFRvb2xzVmVyc2lvbj0iNC4wIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KKyAgPEl0ZW1Hcm91cCBMYWJlbD0iUHJvamVjdENvbmZpZ3VyYXRpb25zIj4KKyAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iRGVidWd8V2luMzIiPgorICAgICAgPENvbmZpZ3VyYXRpb24+RGVidWc8L0NvbmZpZ3VyYXRpb24+CisgICAgICA8UGxhdGZvcm0+V2luMzI8L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IlJlbGVhc2V8V2luMzIiPgorICAgICAgPENvbmZpZ3VyYXRpb24+UmVsZWFzZTwvQ29uZmlndXJhdGlvbj4KKyAgICAgIDxQbGF0Zm9ybT5XaW4zMjwvUGxhdGZvcm0+CisgICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KKyAgPC9JdGVtR3JvdXA+CisgIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJHbG9iYWxzIj4KKyAgICA8Q29uZmlndXJhdGlvbiBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pJyA9PSAnJyI+UmVsZWFzZTwvQ29uZmlndXJhdGlvbj4KKyAgICA8UGxhdGZvcm0gQ29uZGl0aW9uPSInJChQbGF0Zm9ybSknID09ICcnIj5XaW4zMjwvUGxhdGZvcm0+CisgICAgPFBsYXRmb3JtVG9vbHNldCBDb25kaXRpb249IickKFBsYXRmb3JtVG9vbHNldCknID09ICcnIGFuZCAnJChWQ1RhcmdldHNQYXRoMTQpJyAhPSAnJyI+djE0MDwvUGxhdGZvcm1Ub29sc2V0PgorICAgIDxQbGF0Zm9ybVRvb2xzZXQgQ29uZGl0aW9uPSInJChQbGF0Zm9ybVRvb2xzZXQpJyA9PSAnJyBhbmQgJyQoVkNUYXJnZXRzUGF0aDEyKScgIT0gJyciPnYxMjA8L1BsYXRmb3JtVG9vbHNldD4KKyAgICA8UHJvamVjdEd1aWQ+ezdBMDlCMTMyLUIzRUUtNDk5Qi1BNzAwLUE0QjIxNTdGRUEzRH08L1Byb2plY3RHdWlkPgorICAgIDxUYXJnZXROYW1lPlB5dGhvbkJBPC9UYXJnZXROYW1lPgorICA8L1Byb3BlcnR5R3JvdXA+CisgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLkRlZmF1bHQucHJvcHMiIC8+CisgIDxJbXBvcnQgUHJvamVjdD0iLi5cLi5cd2l4LnByb3BzIiAvPgorICA8UHJvcGVydHlHcm91cCBMYWJlbD0iQ29uZmlndXJhdGlvbiI+CisgICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KKyAgICA8Q2hhcmFjdGVyU2V0PlVuaWNvZGU8L0NoYXJhY3RlclNldD4KKyAgICA8SW50RGlyPiQoUHJvamVjdERpcikuLlwuLlxvYmpcJChDb25maWd1cmF0aW9uKV9Cb290c3RyYXBcPC9JbnREaXI+CisgICAgPE91dERpcj4kKEludERpcik8L091dERpcj4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgorICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5wcm9wcyIgLz4KKyAgPEl0ZW1EZWZpbml0aW9uR3JvdXA+CisgICAgPENsQ29tcGlsZT4KKyAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5fQ1JUX1NURElPX0xFR0FDWV9XSURFX1NQRUNJRklFUlM9MTslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+CisgICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4kKFdpeEluc3RhbGxQYXRoKXNka1xpbmM8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+CisgICAgICA8UHJlY29tcGlsZWRIZWFkZXI+VXNlPC9QcmVjb21waWxlZEhlYWRlcj4KKyAgICAgIDxQcmVjb21waWxlZEhlYWRlckZpbGU+cGNoLmg8L1ByZWNvbXBpbGVkSGVhZGVyRmlsZT4KKyAgICAgIDxSdW50aW1lTGlicmFyeT5NdWx0aVRocmVhZGVkPC9SdW50aW1lTGlicmFyeT4KKyAgICA8L0NsQ29tcGlsZT4KKyAgICA8TGluaz4KKyAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPmNvbWN0bDMyLmxpYjtnZGlwbHVzLmxpYjttc2ltZzMyLmxpYjtzaGx3YXBpLmxpYjt3aW5pbmV0LmxpYjtkdXRpbC5saWI7YmFsdXRpbC5saWI7dmVyc2lvbi5saWI7dXh0aGVtZS5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KKyAgICAgIDxBZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVzIENvbmRpdGlvbj0iJyQoUGxhdGZvcm1Ub29sc2V0KScgPT0gJ3YxNDAnIj4kKFdpeEluc3RhbGxQYXRoKXNka1x2czIwMTVcbGliXHg4NjwvQWRkaXRpb25hbExpYnJhcnlEaXJlY3Rvcmllcz4KKyAgICAgIDxBZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVzIENvbmRpdGlvbj0iJyQoUGxhdGZvcm1Ub29sc2V0KScgPT0gJ3YxMjAnIj4kKFdpeEluc3RhbGxQYXRoKXNka1x2czIwMTNcbGliXHg4NjwvQWRkaXRpb25hbExpYnJhcnlEaXJlY3Rvcmllcz4KKyAgICAgIDxNb2R1bGVEZWZpbml0aW9uRmlsZT5weXRob25iYS5kZWY8L01vZHVsZURlZmluaXRpb25GaWxlPgorICAgICAgPEdlbmVyYXRlRGVidWdJbmZvcm1hdGlvbiBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pJz09J0RlYnVnJyI+dHJ1ZTwvR2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPgorICAgIDwvTGluaz4KKyAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgorICA8SXRlbUdyb3VwPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iUHl0aG9uQm9vdHN0cmFwcGVyQXBwbGljYXRpb24uY3BwIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0icHl0aG9uYmEuY3BwIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0icGNoLmNwcCI+CisgICAgICA8UHJlY29tcGlsZWRIZWFkZXI+Q3JlYXRlPC9QcmVjb21waWxlZEhlYWRlcj4KKyAgICA8L0NsQ29tcGlsZT4KKyAgPC9JdGVtR3JvdXA+CisgIDxJdGVtR3JvdXA+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSJwY2guaCIgLz4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9InJlc291cmNlLmgiIC8+CisgIDwvSXRlbUdyb3VwPgorICA8SXRlbUdyb3VwPgorICAgIDxOb25lIEluY2x1ZGU9InB5dGhvbmJhLmRlZiIgLz4KKyAgPC9JdGVtR3JvdXA+CisgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnRhcmdldHMiIC8+Cis8L1Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL2J1bmRsZS9ib290c3RyYXAvcmVzb3VyY2UuaCBiL1Rvb2xzL21zaS9idW5kbGUvYm9vdHN0cmFwL3Jlc291cmNlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTNjMDNjMwotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS9idW5kbGUvYm9vdHN0cmFwL3Jlc291cmNlLmgKQEAgLTAsMCArMSwyNSBAQAorLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisvLyA8Y29weXJpZ2h0IGZpbGU9InJlc291cmNlLmgiIGNvbXBhbnk9Ik91dGVyY3VydmUgRm91bmRhdGlvbiI+CisvLyAgIENvcHlyaWdodCAoYykgMjAwNCwgT3V0ZXJjdXJ2ZSBGb3VuZGF0aW9uLgorLy8gICBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIE1pY3Jvc29mdCBSZWNpcHJvY2FsIExpY2Vuc2UgKE1TLVJMKS4KKy8vICAgVGhlIGxpY2Vuc2UgYW5kIGZ1cnRoZXIgY29weXJpZ2h0IHRleHQgY2FuIGJlIGZvdW5kIGluIHRoZSBmaWxlCisvLyAgIExJQ0VOU0UuVFhUIGF0IHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGUgZGlzdHJpYnV0aW9uLgorLy8gPC9jb3B5cmlnaHQ+CisvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworLy97e05PX0RFUEVOREVOQ0lFU319CisvLyBNaWNyb3NvZnQgVmlzdWFsIEMrKyBnZW5lcmF0ZWQgaW5jbHVkZSBmaWxlLgorLy8KKyNkZWZpbmUgSURDX1NUQVRJQyAgICAgICAgICAgICAgICAgICAgICAtMQorCisKKy8vIE5leHQgZGVmYXVsdCB2YWx1ZXMgZm9yIG5ldyBvYmplY3RzCisvLyAKKyNpZmRlZiBBUFNUVURJT19JTlZPS0VECisjaWZuZGVmIEFQU1RVRElPX1JFQURPTkxZX1NZTUJPTFMKKyNkZWZpbmUgX0FQU19ORVhUX1JFU09VUkNFX1ZBTFVFICAgICAgICAxMDIKKyNkZWZpbmUgX0FQU19ORVhUX0NPTU1BTkRfVkFMVUUgICAgICAgICA0MDAwMQorI2RlZmluZSBfQVBTX05FWFRfQ09OVFJPTF9WQUxVRSAgICAgICAgIDEwMDMKKyNkZWZpbmUgX0FQU19ORVhUX1NZTUVEX1ZBTFVFICAgICAgICAgICAxMDEKKyNlbmRpZgorI2VuZGlmCmRpZmYgLS1naXQgYS9Ub29scy9tc2kvYnVuZGxlL2J1bmRsZS5pY28gYi9Ub29scy9tc2kvYnVuZGxlL2J1bmRsZS5pY28KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWFiNjI5ZQotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS9idW5kbGUvYnVuZGxlLmljbwpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9Ub29scy9tc2kvYnVuZGxlL2J1bmRsZS50YXJnZXRzIGIvVG9vbHMvbXNpL2J1bmRsZS9idW5kbGUudGFyZ2V0cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jYzdlNDQ1Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL2J1bmRsZS9idW5kbGUudGFyZ2V0cwpAQCAtMCwwICsxLDEwMiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKzxQcm9qZWN0IFRvb2xzVmVyc2lvbj0iNC4wIiBEZWZhdWx0VGFyZ2V0cz0iQnVpbGQiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiIFRyZWF0QXNMb2NhbFByb3BlcnR5PSJEb3dubG9hZFVybCI+CisgICAgPFByb3BlcnR5R3JvdXA+CisgICAgICAgIDxTY2hlbWFWZXJzaW9uPjIuMDwvU2NoZW1hVmVyc2lvbj4KKyAgICAgICAgPE91dHB1dFR5cGU+QnVuZGxlPC9PdXRwdXRUeXBlPgorICAgICAgICAKKyAgICAgICAgPEJvb3RzdHJhcENvbmZpZ3VyYXRpb24gQ29uZGl0aW9uPSInJChCb290c3RyYXBDb25maWd1cmF0aW9uKScgPT0gJyciPlJlbGVhc2U8L0Jvb3RzdHJhcENvbmZpZ3VyYXRpb24+CisgICAgICAgIDxMaW5rZXJTdXBwcmVzc1NwZWNpZmljV2FybmluZ3M+MTEzMjsxMTM1OzExNDA8L0xpbmtlclN1cHByZXNzU3BlY2lmaWNXYXJuaW5ncz4KKyAgICAgICAgPE91dHB1dE5hbWUgQ29uZGl0aW9uPSIkKEJ1aWxkRm9yUmVsZWFzZSkiPiQoT3V0cHV0TmFtZSktJChQeXRob25WZXJzaW9uKTwvT3V0cHV0TmFtZT4KKyAgICAgICAgPE91dHB1dE5hbWUgQ29uZGl0aW9uPSIhJChCdWlsZEZvclJlbGVhc2UpIj4kKE91dHB1dE5hbWUpLSQoTWFqb3JWZXJzaW9uTnVtYmVyKS4kKE1pbm9yVmVyc2lvbk51bWJlcikuJChNaWNyb1ZlcnNpb25OdW1iZXIpLiQoUmV2aXNpb25OdW1iZXIpPC9PdXRwdXROYW1lPgorICAgICAgICA8T3V0cHV0TmFtZSBDb25kaXRpb249IiQoUGxhdGZvcm0pID09ICd4NjQnIj4kKE91dHB1dE5hbWUpLWFtZDY0PC9PdXRwdXROYW1lPgorICAgICAgICA8T3V0cHV0TmFtZSBDb25kaXRpb249IickKE91dHB1dFN1ZmZpeCknICE9ICcnIj4kKE91dHB1dE5hbWUpLSQoT3V0cHV0U3VmZml4KTwvT3V0cHV0TmFtZT4KKyAgICAgICAgPE91dHB1dE5hbWUgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKScgPT0gJ0RlYnVnJyI+JChPdXRwdXROYW1lKS1kPC9PdXRwdXROYW1lPgorICAgICAgICA8VGFyZ2V0TmFtZT4kKE91dHB1dE5hbWUpPC9UYXJnZXROYW1lPgorCisgICAgICAgIDxPdXRwdXRQYXRoPiQoT3V0cHV0UGF0aCllbi11c1w8L091dHB1dFBhdGg+CisgICAgICAgIDxPdXREaXI+JChPdXRwdXRQYXRoKTwvT3V0RGlyPgorICAgICAgICAKKyAgICAgICAgPERvd25sb2FkVXJsIENvbmRpdGlvbj0iJyQoRG93bmxvYWRVcmwpJyA9PSAnJyBhbmQgJyQoRG93bmxvYWRVcmxCYXNlKScgIT0gJyciPiQoRG93bmxvYWRVcmxCYXNlLlRyaW1FbmQoYC9gKSkvJChNYWpvclZlcnNpb25OdW1iZXIpLiQoTWlub3JWZXJzaW9uTnVtYmVyKS4kKE1pY3JvVmVyc2lvbk51bWJlcikvJChBcmNoTmFtZSkkKFJlbGVhc2VMZXZlbE5hbWUpLzwvRG93bmxvYWRVcmw+CisgICAgICAgIDxEZWZpbmVDb25zdGFudHMgQ29uZGl0aW9uPSInJChEb3dubG9hZFVybCknICE9ICcnIj4kKERlZmluZUNvbnN0YW50cyk7RG93bmxvYWRVcmw9JChEb3dubG9hZFVybCl7Mn08L0RlZmluZUNvbnN0YW50cz4KKyAgICAgICAgPERlZmluZUNvbnN0YW50cyBDb25kaXRpb249IickKERvd25sb2FkVXJsKScgPT0gJyciPiQoRGVmaW5lQ29uc3RhbnRzKTtEb3dubG9hZFVybD17Mn08L0RlZmluZUNvbnN0YW50cz4KKyAgICA8L1Byb3BlcnR5R3JvdXA+CisgICAgCisgICAgPEl0ZW1Hcm91cD4KKyAgICAgICAgPFdpeEV4dGVuc2lvbiBJbmNsdWRlPSJXaXhVdGlsRXh0ZW5zaW9uIj4KKyAgICAgICAgICAgIDxIaW50UGF0aD5XaXhVdGlsRXh0ZW5zaW9uPC9IaW50UGF0aD4KKyAgICAgICAgICAgIDxOYW1lPldpeFV0aWxFeHRlbnNpb248L05hbWU+CisgICAgICAgIDwvV2l4RXh0ZW5zaW9uPgorICAgICAgICA8V2l4RXh0ZW5zaW9uIEluY2x1ZGU9IldpeERlcGVuZGVuY3lFeHRlbnNpb24iPgorICAgICAgICAgICAgPEhpbnRQYXRoPldpeERlcGVuZGVuY3lFeHRlbnNpb248L0hpbnRQYXRoPgorICAgICAgICAgICAgPE5hbWU+V2l4RGVwZW5kZW5jeUV4dGVuc2lvbjwvTmFtZT4KKyAgICAgICAgPC9XaXhFeHRlbnNpb24+CisgICAgICAgIDxXaXhFeHRlbnNpb24gSW5jbHVkZT0iV2l4QmFsRXh0ZW5zaW9uIj4KKyAgICAgICAgICAgIDxIaW50UGF0aD5XaXhCYWxFeHRlbnNpb248L0hpbnRQYXRoPgorICAgICAgICAgICAgPE5hbWU+V2l4QmFsRXh0ZW5zaW9uPC9OYW1lPgorICAgICAgICA8L1dpeEV4dGVuc2lvbj4KKyAgICA8L0l0ZW1Hcm91cD4KKyAgICA8SXRlbUdyb3VwPgorICAgICAgICA8Q29tcGlsZSBJbmNsdWRlPSJidW5kbGUud3hzIiAvPgorICAgICAgICA8Q29tcGlsZSBJbmNsdWRlPSJwYWNrYWdlZ3JvdXBzXCoud3hzIiAvPgorICAgIDwvSXRlbUdyb3VwPgorICAgIDxJdGVtR3JvdXA+CisgICAgICAgIDxDb250ZW50IEluY2x1ZGU9IkRlZmF1bHQudGhtIiAvPgorICAgICAgICA8Q29udGVudCBJbmNsdWRlPSJEZWZhdWx0Lnd4bCIgLz4KKyAgICAgICAgPENvbnRlbnQgSW5jbHVkZT0iU2lkZUJhci5wbmciIC8+CisgICAgPC9JdGVtR3JvdXA+CisgICAgPEl0ZW1Hcm91cD4KKyAgICAgICAgPEVtYmVkZGVkUmVzb3VyY2UgSW5jbHVkZT0iYnVuZGxlLnd4bCIgLz4KKyAgICAgICAgPFd4bFRlbXBsYXRlIEluY2x1ZGU9IipfZW4tVVMud3hsX3RlbXBsYXRlIiAvPgorICAgIDwvSXRlbUdyb3VwPgorICAgIDxJdGVtR3JvdXA+CisgICAgICAgIDxMaW5rZXJCaW5kSW5wdXRQYXRocyBJbmNsdWRlPSIkKE91dHB1dFBhdGgpIj4KKyAgICAgICAgICAgIDxCaW5kTmFtZT48L0JpbmROYW1lPgorICAgICAgICA8L0xpbmtlckJpbmRJbnB1dFBhdGhzPgorICAgIDwvSXRlbUdyb3VwPgorICAgIAorICAgIDxJdGVtRGVmaW5pdGlvbkdyb3VwPgorICAgICAgICA8UGFja2FnZT4KKyAgICAgICAgICAgIDxQcm9wZXJ0aWVzPkJ1aWxkRm9yUmVsZWFzZT0kKEJ1aWxkRm9yUmVsZWFzZSk8L1Byb3BlcnRpZXM+CisgICAgICAgIDwvUGFja2FnZT4KKyAgICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+CisgICAgPEl0ZW1Hcm91cD4KKyAgICAgICAgPFBhY2thZ2UgSW5jbHVkZT0iLi5cY29yZVxjb3JlKi53aXhwcm9qIiAvPgorICAgICAgICA8UGFja2FnZSBJbmNsdWRlPSIuLlxjcnRcY3J0Ki53aXhwcm9qIiAvPgorICAgICAgICA8UGFja2FnZSBJbmNsdWRlPSIuLlxkZXZcZGV2Ki53aXhwcm9qIiAvPgorICAgICAgICA8UGFja2FnZSBJbmNsdWRlPSIuLlxkb2NcZG9jKi53aXhwcm9qIiAvPgorICAgICAgICA8UGFja2FnZSBJbmNsdWRlPSIuLlxleGVcZXhlKi53aXhwcm9qIiAvPgorICAgICAgICA8UGFja2FnZSBJbmNsdWRlPSIuLlxsaWJcbGliKi53aXhwcm9qIiAvPgorICAgICAgICA8UGFja2FnZSBJbmNsdWRlPSIuLlxwYXRoXHBhdGgqLndpeHByb2oiIC8+CisgICAgICAgIDxQYWNrYWdlIEluY2x1ZGU9Ii4uXHBpcFxwaXAqLndpeHByb2oiIC8+CisgICAgICAgIDxQYWNrYWdlIEluY2x1ZGU9Ii4uXHRjbHRrXHRjbHRrKi53aXhwcm9qIiAvPgorICAgICAgICA8UGFja2FnZSBJbmNsdWRlPSIuLlx0ZXN0XHRlc3QqLndpeHByb2oiIC8+CisgICAgICAgIDxQYWNrYWdlIEluY2x1ZGU9Ii4uXHRvb2xzXHRvb2xzKi53aXhwcm9qIiAvPgorICAgIDwvSXRlbUdyb3VwPgorICAgIAorICAgIDxUYXJnZXQgTmFtZT0iQnVpbGRQYWNrYWdlcyIgQmVmb3JlVGFyZ2V0cz0iQmVmb3JlQnVpbGQiIENvbmRpdGlvbj0iJyQoUmVidWlsZEFsbCknICE9ICdmYWxzZSciPgorICAgICAgICA8TVNCdWlsZCBQcm9qZWN0cz0iQChQYWNrYWdlKSIgQnVpbGRJblBhcmFsbGVsPSJ0cnVlIiAvPgorICAgIDwvVGFyZ2V0PgorICAgIAorICAgIDxUYXJnZXQgTmFtZT0iQnVpbGRMYXVuY2hlciIgQmVmb3JlVGFyZ2V0cz0iQmVmb3JlQnVpbGQiIENvbmRpdGlvbj0iJyQoUmVidWlsZEFsbCknICE9ICdmYWxzZSciPgorICAgICAgICA8IS0tIEJ1aWxkIHRoZSBsYXVuY2hlciBNU0kgdXNpbmcgRXhlYyByYXRoZXIgdGhhbiBNU0J1aWxkIC0tPgorICAgICAgICA8RXhlYyBDb21tYW5kPSdtc2J1aWxkIC4uXGxhdW5jaGVyXGxhdW5jaGVyLndpeHByb2ogL3A6UGxhdGZvcm09eDg2IC9wOk91dHB1dFBhdGg9IiQoQnVpbGRQYXRoLlRyaW1FbmQoYFxgKSkiIC9wOk91dHB1dFN1ZmZpeD0kKFBsYXRmb3JtKSAvcDpCdWlsZEZvclJlbGVhc2U9JChCdWlsZEZvclJlbGVhc2UpJworICAgICAgICAgICAgICBDb250aW51ZU9uRXJyb3I9ImZhbHNlIiAvPgorICAgIDwvVGFyZ2V0PgorICAgIAorICAgIDxUYXJnZXQgTmFtZT0iQnVpbGRCb290c3RyYXBBcHBsaWNhdGlvbiIgQmVmb3JlVGFyZ2V0cz0iQmVmb3JlQnVpbGQiPgorICAgICAgICA8TWVzc2FnZSBUZXh0PSJCdWlsZGluZyBib290c3RyYXAgYXBwIiBJbXBvcnRhbmNlPSJoaWdoIiAvPgorICAgICAgICAKKyAgICAgICAgPE1TQnVpbGQgUHJvamVjdHM9ImJvb3RzdHJhcFxweXRob25iYS52Y3hwcm9qIgorICAgICAgICAgICAgICAgICBUYXJnZXRzPSJCdWlsZDtHZXROYXRpdmVUYXJnZXRQYXRoIgorICAgICAgICAgICAgICAgICBVc2VSZXN1bHRzQ2FjaGU9InRydWUiCisgICAgICAgICAgICAgICAgIFByb3BlcnRpZXM9IkNvbmZpZ3VyYXRpb249JChCb290c3RyYXBDb25maWd1cmF0aW9uKTtQbGF0Zm9ybT1XaW4zMiI+CisgICAgICAgICAgICA8T3V0cHV0IFRhc2tQYXJhbWV0ZXI9IlRhcmdldE91dHB1dHMiIFByb3BlcnR5TmFtZT0iQm9vdHN0cmFwQXBwUGF0aCIgLz4KKyAgICAgICAgPC9NU0J1aWxkPgorICAgICAgICAKKyAgICAgICAgPFByb3BlcnR5R3JvdXA+CisgICAgICAgICAgICA8RGVmaW5lQ29uc3RhbnRzPiQoRGVmaW5lQ29uc3RhbnRzKTtCb290c3RyYXBBcHA9JChCb290c3RyYXBBcHBQYXRoKTwvRGVmaW5lQ29uc3RhbnRzPgorICAgICAgICA8L1Byb3BlcnR5R3JvdXA+CisgICAgPC9UYXJnZXQ+CisgICAgCisgICAgPEltcG9ydCBQcm9qZWN0PSIuLlxtc2kudGFyZ2V0cyIgLz4KKzwvUHJvamVjdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9Ub29scy9tc2kvYnVuZGxlL2J1bmRsZS53eGwgYi9Ub29scy9tc2kvYnVuZGxlL2J1bmRsZS53eGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjg0ZTBkYQotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS9idW5kbGUvYnVuZGxlLnd4bApAQCAtMCwwICsxLDUgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8V2l4TG9jYWxpemF0aW9uIEN1bHR1cmU9ImVuLXVzIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS93aXgvMjAwNi9sb2NhbGl6YXRpb24iPgorICA8U3RyaW5nIElkPSJDUlREZXNjcmlwdGlvbiI+QyBSdW50aW1lIFVwZGF0ZSAoS0IyOTk5MjI2KTwvU3RyaW5nPgorICA8U3RyaW5nIElkPSJDb21waWxlQWxsRGVzY3JpcHRpb24iPlByZWNvbXBpbGluZyBzdGFuZGFyZCBsaWJyYXJ5PC9TdHJpbmc+Cis8L1dpeExvY2FsaXphdGlvbj4KZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS9idW5kbGUvYnVuZGxlLnd4cyBiL1Rvb2xzL21zaS9idW5kbGUvYnVuZGxlLnd4cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ODkyZWJiCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL2J1bmRsZS9idW5kbGUud3hzCkBAIC0wLDAgKzEsODAgQEAKK++7vzw/eG1sIHZlcnNpb249IjEuMCI/PgorPFdpeCB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS93aXgvMjAwNi93aSIKKyAgICAgeG1sbnM6YmFsPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3dpeC9CYWxFeHRlbnNpb24iPgorICA8QnVuZGxlIE5hbWU9IiEobG9jLkZ1bGxQcm9kdWN0TmFtZSkiCisgICAgICAgICAgVXBncmFkZUNvZGU9IiQodmFyLlVwZ3JhZGVDb2RlKSIKKyAgICAgICAgICBWZXJzaW9uPSIkKHZhci5WZXJzaW9uKSIKKyAgICAgICAgICBJY29uU291cmNlRmlsZT0iYnVuZGxlLmljbyIKKyAgICAgICAgICBNYW51ZmFjdHVyZXI9IiEobG9jLk1hbnVmYWN0dXJlcikiCisgICAgICAgICAgVXBkYXRlVXJsPSJodHRwOi8vd3d3LnB5dGhvbi5vcmcvIgorICAgICAgICAgIERpc2FibGVNb2RpZnk9ImJ1dHRvbiIKKyAgICAgICAgICBDb21wcmVzc2VkPSJubyI+CisgICAgPEJvb3RzdHJhcHBlckFwcGxpY2F0aW9uIElkPSJQeXRob25CQSIgU291cmNlRmlsZT0iJCh2YXIuQm9vdHN0cmFwQXBwKSI+CisgICAgICAgIDxQYXlsb2FkIENvbXByZXNzZWQ9J3llcycgU291cmNlRmlsZT0nRGVmYXVsdC50aG0nIC8+CisgICAgICAgIDxQYXlsb2FkIENvbXByZXNzZWQ9J3llcycgU291cmNlRmlsZT0nRGVmYXVsdC53eGwnIC8+CisgICAgICAgIDxQYXlsb2FkIENvbXByZXNzZWQ9J3llcycgU291cmNlRmlsZT0nU2lkZUJhci5wbmcnIC8+CisgICAgPC9Cb290c3RyYXBwZXJBcHBsaWNhdGlvbj4KKworICAgIDwhLS0gTWF5IGJlIHNldCB0byAiUmVtb3ZpbmciIG9yICJSZXBhaXJpbmciIC0tPgorICAgIDxWYXJpYWJsZSBOYW1lPSJBY3Rpb25MaWtlSW5zdGFsbGluZyIgVmFsdWU9Ikluc3RhbGxpbmciIC8+CisgICAgPCEtLSBNYXkgYmUgc2V0IHRvICJVbmluc3RhbGxhdGlvbiIgb3IgIlJlcGFpciIgLS0+CisgICAgPFZhcmlhYmxlIE5hbWU9IkFjdGlvbkxpa2VJbnN0YWxsYXRpb24iIFZhbHVlPSJTZXR1cCIgLz4KKworICAgIDxWYXJpYWJsZSBOYW1lPSJTaG9ydFZlcnNpb24iIFZhbHVlPSIkKHZhci5NYWpvclZlcnNpb25OdW1iZXIpLiQodmFyLk1pbm9yVmVyc2lvbk51bWJlcikiIC8+CisgICAgPFZhcmlhYmxlIE5hbWU9IlNob3J0VmVyc2lvbk5vRG90IiBWYWx1ZT0iJCh2YXIuTWFqb3JWZXJzaW9uTnVtYmVyKSQodmFyLk1pbm9yVmVyc2lvbk51bWJlcikiIC8+CisKKyAgICA8VmFyaWFibGUgTmFtZT0iSW5zdGFsbEFsbFVzZXJzIiBWYWx1ZT0iMSIgUGVyc2lzdGVkPSJ5ZXMiIGJhbDpPdmVycmlkYWJsZT0ieWVzIiAvPgorICAgIDxWYXJpYWJsZSBOYW1lPSJUYXJnZXREaXIiIFZhbHVlPSIiIFBlcnNpc3RlZD0ieWVzIiBiYWw6T3ZlcnJpZGFibGU9InllcyIgLz4KKyAgICA8P2lmICQodmFyLlBsYXRmb3JtKX49Ing2NCIgPz4KKyAgICA8VmFyaWFibGUgTmFtZT0iRGVmYXVsdEFsbFVzZXJzVGFyZ2V0RGlyIiBWYWx1ZT0iW1Byb2dyYW1GaWxlczY0Rm9sZGVyXVB5dGhvbiBbU2hvcnRWZXJzaW9uXSIgYmFsOk92ZXJyaWRhYmxlPSJ5ZXMiIC8+CisgICAgPD9lbHNlID8+CisgICAgPFZhcmlhYmxlIE5hbWU9IkRlZmF1bHRBbGxVc2Vyc1RhcmdldERpciIgVmFsdWU9IltQcm9ncmFtRmlsZXNGb2xkZXJdUHl0aG9uIFtTaG9ydFZlcnNpb25dIiBiYWw6T3ZlcnJpZGFibGU9InllcyIgLz4KKyAgICA8P2VuZGlmID8+CisgICAgPFZhcmlhYmxlIE5hbWU9IkRlZmF1bHRKdXN0Rm9yTWVUYXJnZXREaXIiIFZhbHVlPSJbTG9jYWxBcHBEYXRhRm9sZGVyXVByb2dyYW1zXFB5dGhvblxQeXRob25bU2hvcnRWZXJzaW9uTm9Eb3RdJCh2YXIuU3VmZml4MzIpIiBiYWw6T3ZlcnJpZGFibGU9InllcyIgLz4KKyAgICAKKyAgICA8IS0tCisgICAgQW4gZW1wdHkgc3RyaW5nIHdpbGwgdXNlIHRoZSBvdGhlciBkZWZhdWx0cyBiYXNlZCBvbiBJbnN0YWxsQWxsVXNlcnMKKyAgICAoYW5kIHN3aXRjaCBkeW5hbWljYWxseSBpbiB0aGUgVUkpLiBUbyBnZXQgdGhlIG9sZCBkZWZhdWx0LCBwYXNzCisgICAgdGhpcyBwcm9wZXJ0eSBvbiB0aGUgY29tbWFuZCBsaW5lOgorICAgICAgICBEZWZhdWx0Q3VzdG9tVGFyZ2V0RGlyPVtXaW5kb3dzVm9sdW1lXVB5dGhvbltTaG9ydFZlcnNpb25Ob0RvdF0KKyAgICAtLT4KKyAgICA8VmFyaWFibGUgTmFtZT0iRGVmYXVsdEN1c3RvbVRhcmdldERpciIgVmFsdWU9IiIgYmFsOk92ZXJyaWRhYmxlPSJ5ZXMiIC8+CisKKyAgICA8VmFyaWFibGUgTmFtZT0iSW5zdGFsbEFsbFVzZXJzU3RhdGUiIFZhbHVlPSJlbmFibGVkIiAvPgorICAgIDxWYXJpYWJsZSBOYW1lPSJUYXJnZXREaXJTdGF0ZSIgVmFsdWU9ImVuYWJsZWQiIC8+CisgICAgPFZhcmlhYmxlIE5hbWU9IkN1c3RvbUJyb3dzZUJ1dHRvblN0YXRlIiBWYWx1ZT0iZW5hYmxlZCIgLz4KKworICAgIDxWYXJpYWJsZSBOYW1lPSJJbmNsdWRlX2NvcmUiIFZhbHVlPSIxIiBQZXJzaXN0ZWQ9InllcyIgLz4KKyAgICA8VmFyaWFibGUgTmFtZT0iSW5jbHVkZV9leGUiIFZhbHVlPSIxIiBQZXJzaXN0ZWQ9InllcyIgYmFsOk92ZXJyaWRhYmxlPSJ5ZXMiIC8+CisgICAgPFZhcmlhYmxlIE5hbWU9IkluY2x1ZGVfZGV2IiBWYWx1ZT0iMSIgUGVyc2lzdGVkPSJ5ZXMiIGJhbDpPdmVycmlkYWJsZT0ieWVzIiAvPgorICAgIDxWYXJpYWJsZSBOYW1lPSJJbmNsdWRlX2xpYiIgVmFsdWU9IjEiIFBlcnNpc3RlZD0ieWVzIiBiYWw6T3ZlcnJpZGFibGU9InllcyIgLz4KKyAgICA8VmFyaWFibGUgTmFtZT0iSW5jbHVkZV90ZXN0IiBWYWx1ZT0iMSIgUGVyc2lzdGVkPSJ5ZXMiIGJhbDpPdmVycmlkYWJsZT0ieWVzIiAvPgorICAgIDxWYXJpYWJsZSBOYW1lPSJJbmNsdWRlX2RvYyIgVmFsdWU9IjEiIFBlcnNpc3RlZD0ieWVzIiBiYWw6T3ZlcnJpZGFibGU9InllcyIgLz4KKyAgICA8VmFyaWFibGUgTmFtZT0iSW5jbHVkZV90b29scyIgVmFsdWU9IjEiIFBlcnNpc3RlZD0ieWVzIiBiYWw6T3ZlcnJpZGFibGU9InllcyIgLz4KKyAgICA8VmFyaWFibGUgTmFtZT0iSW5jbHVkZV90Y2x0ayIgVmFsdWU9IjEiIFBlcnNpc3RlZD0ieWVzIiBiYWw6T3ZlcnJpZGFibGU9InllcyIgLz4KKyAgICA8VmFyaWFibGUgTmFtZT0iSW5jbHVkZV9waXAiIFZhbHVlPSIxIiBQZXJzaXN0ZWQ9InllcyIgYmFsOk92ZXJyaWRhYmxlPSJ5ZXMiIC8+CisgICAgPFZhcmlhYmxlIE5hbWU9IkluY2x1ZGVfbGF1bmNoZXIiIFZhbHVlPSIxIiBQZXJzaXN0ZWQ9InllcyIgYmFsOk92ZXJyaWRhYmxlPSJ5ZXMiIC8+CisgICAgPFZhcmlhYmxlIE5hbWU9IkluY2x1ZGVfc3ltYm9scyIgVmFsdWU9IjAiIFBlcnNpc3RlZD0ieWVzIiBiYWw6T3ZlcnJpZGFibGU9InllcyIgLz4KKyAgICA8VmFyaWFibGUgTmFtZT0iSW5jbHVkZV9kZWJ1ZyIgVmFsdWU9IjAiIFBlcnNpc3RlZD0ieWVzIiBiYWw6T3ZlcnJpZGFibGU9InllcyIgLz4KKyAgICAKKyAgICA8VmFyaWFibGUgTmFtZT0iQXNzb2NpYXRlRmlsZXMiIFZhbHVlPSIxIiBQZXJzaXN0ZWQ9InllcyIgYmFsOk92ZXJyaWRhYmxlPSJ5ZXMiIC8+CisgICAgPFZhcmlhYmxlIE5hbWU9IlByZXBlbmRQYXRoIiBWYWx1ZT0iMCIgUGVyc2lzdGVkPSJ5ZXMiIGJhbDpPdmVycmlkYWJsZT0ieWVzIiAvPgorICAgIDxWYXJpYWJsZSBOYW1lPSJDb21waWxlQWxsIiBWYWx1ZT0iMCIgUGVyc2lzdGVkPSJ5ZXMiIGJhbDpPdmVycmlkYWJsZT0ieWVzIiAvPgorICAgIAorICAgIDxWYXJpYWJsZSBOYW1lPSJTaW1wbGVJbnN0YWxsIiBWYWx1ZT0iMCIgYmFsOk92ZXJyaWRhYmxlPSJ5ZXMiIC8+CisgICAgCisgICAgPENoYWluIFBhcmFsbGVsQ2FjaGU9InllcyI+CisgICAgICA8UGFja2FnZUdyb3VwUmVmIElkPSJjcnQiIC8+CisgICAgICA8UGFja2FnZUdyb3VwUmVmIElkPSJjb3JlIiAvPgorICAgICAgPFBhY2thZ2VHcm91cFJlZiBJZD0iZGV2IiAvPgorICAgICAgPFBhY2thZ2VHcm91cFJlZiBJZD0iZXhlIiAvPgorICAgICAgPFBhY2thZ2VHcm91cFJlZiBJZD0ibGliIiAvPgorICAgICAgPFBhY2thZ2VHcm91cFJlZiBJZD0idGVzdCIgLz4KKyAgICAgIDxQYWNrYWdlR3JvdXBSZWYgSWQ9ImRvYyIgLz4KKyAgICAgIDxQYWNrYWdlR3JvdXBSZWYgSWQ9InRvb2xzIiAvPgorICAgICAgPFBhY2thZ2VHcm91cFJlZiBJZD0idGNsdGsiIC8+CisgICAgICA8UGFja2FnZUdyb3VwUmVmIElkPSJsYXVuY2hlciIgLz4KKyAgICAgIDxQYWNrYWdlR3JvdXBSZWYgSWQ9InBvc3RpbnN0YWxsIiAvPgorICAgIDwvQ2hhaW4+CisgIDwvQnVuZGxlPgorPC9XaXg+CmRpZmYgLS1naXQgYS9Ub29scy9tc2kvYnVuZGxlL2Z1bGwud2l4cHJvaiBiL1Rvb2xzL21zaS9idW5kbGUvZnVsbC53aXhwcm9qCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJkYmRkOGUKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9tc2kvYnVuZGxlL2Z1bGwud2l4cHJvagpAQCAtMCwwICsxLDIxIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgorPFByb2plY3QgVG9vbHNWZXJzaW9uPSI0LjAiIERlZmF1bHRUYXJnZXRzPSJCdWlsZCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+CisgICAgPFByb3BlcnR5R3JvdXA+CisgICAgICAgIDxQcm9qZWN0R3VpZD57M0UyMDRBREQtMjM4RC00RDEwLTg1MkMtNEY4NTkzMjVDODM5fTwvUHJvamVjdEd1aWQ+CisgICAgICAgIDxPdXRwdXROYW1lPnB5dGhvbjwvT3V0cHV0TmFtZT4KKyAgICAgICAgPE91dHB1dFN1ZmZpeD5mdWxsPC9PdXRwdXRTdWZmaXg+CisgICAgPC9Qcm9wZXJ0eUdyb3VwPgorCisgICAgPEltcG9ydCBQcm9qZWN0PSIuLlxtc2kucHJvcHMiIC8+CisKKyAgICA8UHJvcGVydHlHcm91cD4KKyAgICAgICAgPERlZmluZUNvbnN0YW50cz4KKyAgICAgICAgICAgICQoRGVmaW5lQ29uc3RhbnRzKTsKKyAgICAgICAgICAgIENvbXByZXNzTVNJPXllczsKKyAgICAgICAgICAgIENvbXByZXNzUERCPXllczsKKyAgICAgICAgICAgIENvbXByZXNzTVNJX0Q9eWVzOworICAgICAgICA8L0RlZmluZUNvbnN0YW50cz4KKyAgICA8L1Byb3BlcnR5R3JvdXA+CisgICAgCisgICAgPEltcG9ydCBQcm9qZWN0PSJidW5kbGUudGFyZ2V0cyIgLz4KKzwvUHJvamVjdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9Ub29scy9tc2kvYnVuZGxlL3BhY2thZ2Vncm91cHMvY29yZS53eHMgYi9Ub29scy9tc2kvYnVuZGxlL3BhY2thZ2Vncm91cHMvY29yZS53eHMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWRmNmI3OQotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS9idW5kbGUvcGFja2FnZWdyb3Vwcy9jb3JlLnd4cwpAQCAtMCwwICsxLDU2IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxXaXggeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vd2l4LzIwMDYvd2kiPgorICAgIDxGcmFnbWVudD4KKyAgICAgICAgPFBhY2thZ2VHcm91cCBJZD0iY29yZSI+CisgICAgICAgICAgICA8TXNpUGFja2FnZSBJZD0iY29yZV9BbGxVc2VycyIKKyAgICAgICAgICAgICAgICAgICAgICAgIFNvdXJjZUZpbGU9ImNvcmUubXNpIgorICAgICAgICAgICAgICAgICAgICAgICAgQ29tcHJlc3NlZD0iJCh2YXIuQ29tcHJlc3NNU0kpIgorICAgICAgICAgICAgICAgICAgICAgICAgRG93bmxvYWRVcmw9IiQodmFyLkRvd25sb2FkVXJsKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIEZvcmNlUGVyTWFjaGluZT0ieWVzIgorICAgICAgICAgICAgICAgICAgICAgICAgSW5zdGFsbENvbmRpdGlvbj0iSW5zdGFsbEFsbFVzZXJzIGFuZCAoSW5jbHVkZV9jb3JlIG9yIEluY2x1ZGVfZXhlIG9yIEluY2x1ZGVfbGF1bmNoZXIgb3IgSW5jbHVkZV9waXApIj4KKyAgICAgICAgICAgICAgICA8TXNpUHJvcGVydHkgTmFtZT0iVEFSR0VURElSIiBWYWx1ZT0iW1RhcmdldERpcl0iIC8+CisgICAgICAgICAgICA8L01zaVBhY2thZ2U+CisgICAgICAgICAgICA8TXNpUGFja2FnZSBJZD0iY29yZV9BbGxVc2Vyc19wZGIiCisgICAgICAgICAgICAgICAgICAgICAgICBTb3VyY2VGaWxlPSJjb3JlX3BkYi5tc2kiCisgICAgICAgICAgICAgICAgICAgICAgICBDb21wcmVzc2VkPSIkKHZhci5Db21wcmVzc1BEQikiCisgICAgICAgICAgICAgICAgICAgICAgICBEb3dubG9hZFVybD0iJCh2YXIuRG93bmxvYWRVcmwpIgorICAgICAgICAgICAgICAgICAgICAgICAgRm9yY2VQZXJNYWNoaW5lPSJ5ZXMiCisgICAgICAgICAgICAgICAgICAgICAgICBJbnN0YWxsQ29uZGl0aW9uPSJJbnN0YWxsQWxsVXNlcnMgYW5kIChJbmNsdWRlX2NvcmUgb3IgSW5jbHVkZV9leGUgb3IgSW5jbHVkZV9sYXVuY2hlciBvciBJbmNsdWRlX3BpcCkgYW5kIEluY2x1ZGVfc3ltYm9scyI+CisgICAgICAgICAgICAgICAgPE1zaVByb3BlcnR5IE5hbWU9IlRBUkdFVERJUiIgVmFsdWU9IltUYXJnZXREaXJdIiAvPgorICAgICAgICAgICAgPC9Nc2lQYWNrYWdlPgorICAgICAgICAgICAgPE1zaVBhY2thZ2UgSWQ9ImNvcmVfQWxsVXNlcnNfZCIKKyAgICAgICAgICAgICAgICAgICAgICAgIFNvdXJjZUZpbGU9ImNvcmVfZC5tc2kiCisgICAgICAgICAgICAgICAgICAgICAgICBDb21wcmVzc2VkPSIkKHZhci5Db21wcmVzc01TSV9EKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIERvd25sb2FkVXJsPSIkKHZhci5Eb3dubG9hZFVybCkiCisgICAgICAgICAgICAgICAgICAgICAgICBGb3JjZVBlck1hY2hpbmU9InllcyIKKyAgICAgICAgICAgICAgICAgICAgICAgIEluc3RhbGxDb25kaXRpb249Ikluc3RhbGxBbGxVc2VycyBhbmQgKEluY2x1ZGVfY29yZSBvciBJbmNsdWRlX2V4ZSBvciBJbmNsdWRlX2xhdW5jaGVyIG9yIEluY2x1ZGVfcGlwKSBhbmQgSW5jbHVkZV9kZWJ1ZyI+CisgICAgICAgICAgICAgICAgPE1zaVByb3BlcnR5IE5hbWU9IlRBUkdFVERJUiIgVmFsdWU9IltUYXJnZXREaXJdIiAvPgorICAgICAgICAgICAgPC9Nc2lQYWNrYWdlPgorCisgICAgICAgICAgICA8TXNpUGFja2FnZSBJZD0iY29yZV9KdXN0Rm9yTWUiCisgICAgICAgICAgICAgICAgICAgICAgICBTb3VyY2VGaWxlPSJjb3JlLm1zaSIKKyAgICAgICAgICAgICAgICAgICAgICAgIENvbXByZXNzZWQ9IiQodmFyLkNvbXByZXNzTVNJKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIERvd25sb2FkVXJsPSIkKHZhci5Eb3dubG9hZFVybCkiCisgICAgICAgICAgICAgICAgICAgICAgICBGb3JjZVBlck1hY2hpbmU9Im5vIgorICAgICAgICAgICAgICAgICAgICAgICAgSW5zdGFsbENvbmRpdGlvbj0ibm90IEluc3RhbGxBbGxVc2VycyBhbmQgKEluY2x1ZGVfY29yZSBvciBJbmNsdWRlX2V4ZSBvciBJbmNsdWRlX2xhdW5jaGVyIG9yIEluY2x1ZGVfcGlwKSI+CisgICAgICAgICAgICAgICAgPE1zaVByb3BlcnR5IE5hbWU9IlRBUkdFVERJUiIgVmFsdWU9IltUYXJnZXREaXJdIiAvPgorICAgICAgICAgICAgPC9Nc2lQYWNrYWdlPgorICAgICAgICAgICAgPE1zaVBhY2thZ2UgSWQ9ImNvcmVfSnVzdEZvck1lX3BkYiIKKyAgICAgICAgICAgICAgICAgICAgICAgIFNvdXJjZUZpbGU9ImNvcmVfcGRiLm1zaSIKKyAgICAgICAgICAgICAgICAgICAgICAgIENvbXByZXNzZWQ9IiQodmFyLkNvbXByZXNzUERCKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIERvd25sb2FkVXJsPSIkKHZhci5Eb3dubG9hZFVybCkiCisgICAgICAgICAgICAgICAgICAgICAgICBGb3JjZVBlck1hY2hpbmU9Im5vIgorICAgICAgICAgICAgICAgICAgICAgICAgSW5zdGFsbENvbmRpdGlvbj0ibm90IEluc3RhbGxBbGxVc2VycyBhbmQgKEluY2x1ZGVfY29yZSBvciBJbmNsdWRlX2V4ZSBvciBJbmNsdWRlX2xhdW5jaGVyIG9yIEluY2x1ZGVfcGlwKSBhbmQgSW5jbHVkZV9zeW1ib2xzIj4KKyAgICAgICAgICAgICAgICA8TXNpUHJvcGVydHkgTmFtZT0iVEFSR0VURElSIiBWYWx1ZT0iW1RhcmdldERpcl0iIC8+CisgICAgICAgICAgICA8L01zaVBhY2thZ2U+CisgICAgICAgICAgICA8TXNpUGFja2FnZSBJZD0iY29yZV9KdXN0Rm9yTWVfZCIKKyAgICAgICAgICAgICAgICAgICAgICAgIFNvdXJjZUZpbGU9ImNvcmVfZC5tc2kiCisgICAgICAgICAgICAgICAgICAgICAgICBDb21wcmVzc2VkPSIkKHZhci5Db21wcmVzc01TSV9EKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIERvd25sb2FkVXJsPSIkKHZhci5Eb3dubG9hZFVybCkiCisgICAgICAgICAgICAgICAgICAgICAgICBGb3JjZVBlck1hY2hpbmU9Im5vIgorICAgICAgICAgICAgICAgICAgICAgICAgSW5zdGFsbENvbmRpdGlvbj0ibm90IEluc3RhbGxBbGxVc2VycyBhbmQgKEluY2x1ZGVfY29yZSBvciBJbmNsdWRlX2V4ZSBvciBJbmNsdWRlX2xhdW5jaGVyIG9yIEluY2x1ZGVfcGlwKSBhbmQgSW5jbHVkZV9kZWJ1ZyI+CisgICAgICAgICAgICAgICAgPE1zaVByb3BlcnR5IE5hbWU9IlRBUkdFVERJUiIgVmFsdWU9IltUYXJnZXREaXJdIiAvPgorICAgICAgICAgICAgPC9Nc2lQYWNrYWdlPgorICAgICAgICA8L1BhY2thZ2VHcm91cD4KKyAgICA8L0ZyYWdtZW50PgorPC9XaXg+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL2J1bmRsZS9wYWNrYWdlZ3JvdXBzL2NydC53eHMgYi9Ub29scy9tc2kvYnVuZGxlL3BhY2thZ2Vncm91cHMvY3J0Lnd4cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMDc5NzAwCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL2J1bmRsZS9wYWNrYWdlZ3JvdXBzL2NydC53eHMKQEAgLTAsMCArMSw2OCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8V2l4IHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3dpeC8yMDA2L3dpIj4KKyAgICA8RnJhZ21lbnQ+CisgICAgICAgIDxQYWNrYWdlR3JvdXAgSWQ9ImNydCI+CisgICAgICAgICAgICA8UGFja2FnZUdyb3VwUmVmIElkPSJjcnRfMTQuMF92Ni4wIiAvPgorICAgICAgICAgICAgPFBhY2thZ2VHcm91cFJlZiBJZD0iY3J0XzE0LjBfdjYuMSIgLz4KKyAgICAgICAgICAgIDxQYWNrYWdlR3JvdXBSZWYgSWQ9ImNydF8xNC4wX3Y2LjIiIC8+CisgICAgICAgICAgICA8UGFja2FnZUdyb3VwUmVmIElkPSJjcnRfMTQuMF92Ni4zIiAvPgorCisgICAgICAgICAgICA8TXNpUGFja2FnZSBJZD0iY3J0X0FsbFVzZXJzIgorICAgICAgICAgICAgICAgICAgICAgICAgU291cmNlRmlsZT0iY3J0Lm1zaSIKKyAgICAgICAgICAgICAgICAgICAgICAgIENvbXByZXNzZWQ9IiQodmFyLkNvbXByZXNzTVNJKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIERvd25sb2FkVXJsPSIkKHZhci5Eb3dubG9hZFVybCkiCisgICAgICAgICAgICAgICAgICAgICAgICBGb3JjZVBlck1hY2hpbmU9InllcyIKKyAgICAgICAgICAgICAgICAgICAgICAgIEluc3RhbGxDb25kaXRpb249Ikluc3RhbGxBbGxVc2VycyBhbmQgKEluY2x1ZGVfY29yZSBvciBJbmNsdWRlX2V4ZSBvciBJbmNsdWRlX2xhdW5jaGVyIG9yIEluY2x1ZGVfcGlwKSI+CisgICAgICAgICAgICAgICAgPCEtLSBUQVJHRVRESVIgd2lsbCBiZSBpZ25vcmVkLCBidXQgbXVzdCBzdGlsbCBiZSBwcm92aWRlZCAtLT4KKyAgICAgICAgICAgICAgICA8TXNpUHJvcGVydHkgTmFtZT0iVEFSR0VURElSIiBWYWx1ZT0iW1RhcmdldERpcl0iIC8+CisgICAgICAgICAgICA8L01zaVBhY2thZ2U+CisgICAgICAgICAgICAKKyAgICAgICAgICAgIDxNc2lQYWNrYWdlIElkPSJjcnRfSnVzdEZvck1lIgorICAgICAgICAgICAgICAgICAgICAgICAgU291cmNlRmlsZT0iY3J0Lm1zaSIKKyAgICAgICAgICAgICAgICAgICAgICAgIENvbXByZXNzZWQ9IiQodmFyLkNvbXByZXNzTVNJKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIERvd25sb2FkVXJsPSIkKHZhci5Eb3dubG9hZFVybCkiCisgICAgICAgICAgICAgICAgICAgICAgICBGb3JjZVBlck1hY2hpbmU9Im5vIgorICAgICAgICAgICAgICAgICAgICAgICAgSW5zdGFsbENvbmRpdGlvbj0ibm90IEluc3RhbGxBbGxVc2VycyBhbmQgKEluY2x1ZGVfY29yZSBvciBJbmNsdWRlX2V4ZSBvciBJbmNsdWRlX2xhdW5jaGVyIG9yIEluY2x1ZGVfcGlwKSI+CisgICAgICAgICAgICAgICAgPE1zaVByb3BlcnR5IE5hbWU9IlRBUkdFVERJUiIgVmFsdWU9IltUYXJnZXREaXJdIiAvPgorICAgICAgICAgICAgPC9Nc2lQYWNrYWdlPgorICAgICAgICA8L1BhY2thZ2VHcm91cD4KKyAgICA8L0ZyYWdtZW50PgorCisgICAgPD9mb3JlYWNoIHZlciBpbiB2Ni4wO3Y2LjE7djYuMjt2Ni4zID8+CisgICAgPD9pZiAiJCh2YXIudmVyKSIgPSAidjYuMCIgPz4KKyAgICA8P2RlZmluZSBtc3V2ZXI9Ni4wID8+CisgICAgPD9lbHNlaWYgIiQodmFyLnZlcikiID0gInY2LjEiID8+CisgICAgPD9kZWZpbmUgbXN1dmVyPTYuMSA/PgorICAgIDw/ZWxzZWlmICIkKHZhci52ZXIpIiA9ICJ2Ni4yIiA/PgorICAgIDw/ZGVmaW5lIG1zdXZlcj04LVJUID8+CisgICAgPD9lbHNlaWYgIiQodmFyLnZlcikiID0gInY2LjMiID8+CisgICAgPD9kZWZpbmUgbXN1dmVyPTguMSA/PgorICAgIDw/ZWxzZSA/PgorICAgIDw/ZXJyb3IgdW5rbm93biB2ZXJzaW9uICQodmFyLnZlcikgPz4KKyAgICA8P2VuZGlmID8+CisKKyAgICA8RnJhZ21lbnQ+CisgICAgICAgIDxQYWNrYWdlR3JvdXAgSWQ9ImNydF8xNC4wXyQodmFyLnZlcikiPgorICAgICAgICAgICAgPE1zdVBhY2thZ2UgSWQ9ImNydF8xNC4wXyQodmFyLnZlcilfeDg2IgorICAgICAgICAgICAgICAgICAgICAgICAgS0I9IjI5OTkyMjYiCisgICAgICAgICAgICAgICAgICAgICAgICBTb3VyY2VGaWxlPSIhKGJpbmRwYXRoLnJlZGlzdClcV2luZG93cyQodmFyLm1zdXZlciktS0IyOTk5MjI2LXg4Ni5tc3UiCisgICAgICAgICAgICAgICAgICAgICAgICBEaXNwbGF5TmFtZT0iIShsb2MuQ1JURGVzY3JpcHRpb24pIgorICAgICAgICAgICAgICAgICAgICAgICAgRGVzY3JpcHRpb249IiEobG9jLkNSVERlc2NyaXB0aW9uKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIENvbXByZXNzZWQ9IiQodmFyLkNvbXByZXNzTVNJKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIERvd25sb2FkVXJsPSIkKHZhci5Eb3dubG9hZFVybCkiCisgICAgICAgICAgICAgICAgICAgICAgICBJbnN0YWxsQ29uZGl0aW9uPSJub3QgQ1JUSW5zdGFsbGVkIGFuZCBWZXJzaW9uTlQgPSAkKHZhci52ZXIpIGFuZCBub3QgVmVyc2lvbk5UNjQgYW5kIChJbmNsdWRlX2NvcmUgb3IgSW5jbHVkZV9leGUgb3IgSW5jbHVkZV9sYXVuY2hlciBvciBJbmNsdWRlX3BpcCkiIC8+CisKKyAgICAgICAgICAgIDxNc3VQYWNrYWdlIElkPSJjcnRfMTQuMF8kKHZhci52ZXIpX3g2NCIKKyAgICAgICAgICAgICAgICAgICAgICAgIEtCPSIyOTk5MjI2IgorICAgICAgICAgICAgICAgICAgICAgICAgU291cmNlRmlsZT0iIShiaW5kcGF0aC5yZWRpc3QpXFdpbmRvd3MkKHZhci5tc3V2ZXIpLUtCMjk5OTIyNi14NjQubXN1IgorICAgICAgICAgICAgICAgICAgICAgICAgRGlzcGxheU5hbWU9IiEobG9jLkNSVERlc2NyaXB0aW9uKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIERlc2NyaXB0aW9uPSIhKGxvYy5DUlREZXNjcmlwdGlvbikiCisgICAgICAgICAgICAgICAgICAgICAgICBDb21wcmVzc2VkPSIkKHZhci5Db21wcmVzc01TSSkiCisgICAgICAgICAgICAgICAgICAgICAgICBEb3dubG9hZFVybD0iJCh2YXIuRG93bmxvYWRVcmwpIgorICAgICAgICAgICAgICAgICAgICAgICAgSW5zdGFsbENvbmRpdGlvbj0ibm90IENSVEluc3RhbGxlZCBhbmQgVmVyc2lvbk5UNjQgPSAkKHZhci52ZXIpIGFuZCAoSW5jbHVkZV9jb3JlIG9yIEluY2x1ZGVfZXhlIG9yIEluY2x1ZGVfbGF1bmNoZXIgb3IgSW5jbHVkZV9waXApIiAvPgorICAgICAgICA8L1BhY2thZ2VHcm91cD4KKyAgICA8L0ZyYWdtZW50PgorCisgICAgPD91bmRlZiBtc3V2ZXIgPz4KKyAgICA8P2VuZGZvcmVhY2ggPz4KKzwvV2l4PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS9idW5kbGUvcGFja2FnZWdyb3Vwcy9kZXYud3hzIGIvVG9vbHMvbXNpL2J1bmRsZS9wYWNrYWdlZ3JvdXBzL2Rldi53eHMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjJlYTI5YgotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS9idW5kbGUvcGFja2FnZWdyb3Vwcy9kZXYud3hzCkBAIC0wLDAgKzEsNDAgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPFdpeCB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS93aXgvMjAwNi93aSI+CisgICAgPEZyYWdtZW50PgorICAgICAgICA8UGFja2FnZUdyb3VwIElkPSJkZXYiPgorICAgICAgICAgICAgPE1zaVBhY2thZ2UgSWQ9ImRldl9BbGxVc2VycyIKKyAgICAgICAgICAgICAgICAgICAgICAgIFNvdXJjZUZpbGU9ImRldi5tc2kiCisgICAgICAgICAgICAgICAgICAgICAgICBDb21wcmVzc2VkPSIkKHZhci5Db21wcmVzc01TSSkiCisgICAgICAgICAgICAgICAgICAgICAgICBEb3dubG9hZFVybD0iJCh2YXIuRG93bmxvYWRVcmwpIgorICAgICAgICAgICAgICAgICAgICAgICAgRm9yY2VQZXJNYWNoaW5lPSJ5ZXMiCisgICAgICAgICAgICAgICAgICAgICAgICBJbnN0YWxsQ29uZGl0aW9uPSJJbnN0YWxsQWxsVXNlcnMgYW5kIEluY2x1ZGVfZGV2Ij4KKyAgICAgICAgICAgICAgICA8TXNpUHJvcGVydHkgTmFtZT0iVEFSR0VURElSIiBWYWx1ZT0iW1RhcmdldERpcl0iIC8+CisgICAgICAgICAgICA8L01zaVBhY2thZ2U+CisgICAgICAgICAgICA8TXNpUGFja2FnZSBJZD0iZGV2X0FsbFVzZXJzX2QiCisgICAgICAgICAgICAgICAgICAgICAgICBTb3VyY2VGaWxlPSJkZXZfZC5tc2kiCisgICAgICAgICAgICAgICAgICAgICAgICBDb21wcmVzc2VkPSIkKHZhci5Db21wcmVzc01TSV9EKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIERvd25sb2FkVXJsPSIkKHZhci5Eb3dubG9hZFVybCkiCisgICAgICAgICAgICAgICAgICAgICAgICBGb3JjZVBlck1hY2hpbmU9InllcyIKKyAgICAgICAgICAgICAgICAgICAgICAgIEluc3RhbGxDb25kaXRpb249Ikluc3RhbGxBbGxVc2VycyBhbmQgSW5jbHVkZV9kZXYgYW5kIEluY2x1ZGVfZGVidWciPgorICAgICAgICAgICAgICAgIDxNc2lQcm9wZXJ0eSBOYW1lPSJUQVJHRVRESVIiIFZhbHVlPSJbVGFyZ2V0RGlyXSIgLz4KKyAgICAgICAgICAgIDwvTXNpUGFja2FnZT4KKworICAgICAgICAgICAgPE1zaVBhY2thZ2UgSWQ9ImRldl9KdXN0Rm9yTWUiCisgICAgICAgICAgICAgICAgICAgICAgICBTb3VyY2VGaWxlPSJkZXYubXNpIgorICAgICAgICAgICAgICAgICAgICAgICAgQ29tcHJlc3NlZD0iJCh2YXIuQ29tcHJlc3NNU0kpIgorICAgICAgICAgICAgICAgICAgICAgICAgRG93bmxvYWRVcmw9IiQodmFyLkRvd25sb2FkVXJsKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIEZvcmNlUGVyTWFjaGluZT0ibm8iCisgICAgICAgICAgICAgICAgICAgICAgICBJbnN0YWxsQ29uZGl0aW9uPSJub3QgSW5zdGFsbEFsbFVzZXJzIGFuZCBJbmNsdWRlX2RldiI+CisgICAgICAgICAgICAgICAgPE1zaVByb3BlcnR5IE5hbWU9IlRBUkdFVERJUiIgVmFsdWU9IltUYXJnZXREaXJdIiAvPgorICAgICAgICAgICAgPC9Nc2lQYWNrYWdlPgorICAgICAgICAgICAgPE1zaVBhY2thZ2UgSWQ9ImRldl9KdXN0Rm9yTWVfZCIKKyAgICAgICAgICAgICAgICAgICAgICAgIFNvdXJjZUZpbGU9ImRldl9kLm1zaSIKKyAgICAgICAgICAgICAgICAgICAgICAgIENvbXByZXNzZWQ9IiQodmFyLkNvbXByZXNzTVNJX0QpIgorICAgICAgICAgICAgICAgICAgICAgICAgRG93bmxvYWRVcmw9IiQodmFyLkRvd25sb2FkVXJsKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIEZvcmNlUGVyTWFjaGluZT0ibm8iCisgICAgICAgICAgICAgICAgICAgICAgICBJbnN0YWxsQ29uZGl0aW9uPSJub3QgSW5zdGFsbEFsbFVzZXJzIGFuZCBJbmNsdWRlX2RldiBhbmQgSW5jbHVkZV9kZWJ1ZyI+CisgICAgICAgICAgICAgICAgPE1zaVByb3BlcnR5IE5hbWU9IlRBUkdFVERJUiIgVmFsdWU9IltUYXJnZXREaXJdIiAvPgorICAgICAgICAgICAgPC9Nc2lQYWNrYWdlPgorICAgICAgICA8L1BhY2thZ2VHcm91cD4KKyAgICA8L0ZyYWdtZW50PgorPC9XaXg+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL2J1bmRsZS9wYWNrYWdlZ3JvdXBzL2RvYy53eHMgYi9Ub29scy9tc2kvYnVuZGxlL3BhY2thZ2Vncm91cHMvZG9jLnd4cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNGI5ZmYxCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL2J1bmRsZS9wYWNrYWdlZ3JvdXBzL2RvYy53eHMKQEAgLTAsMCArMSwyNCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8V2l4IHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3dpeC8yMDA2L3dpIj4KKyAgICA8RnJhZ21lbnQ+CisgICAgICAgIDxQYWNrYWdlR3JvdXAgSWQ9ImRvYyI+CisgICAgICAgICAgICA8TXNpUGFja2FnZSBJZD0iZG9jX0FsbFVzZXJzIgorICAgICAgICAgICAgICAgICAgICAgICAgU291cmNlRmlsZT0iZG9jLm1zaSIKKyAgICAgICAgICAgICAgICAgICAgICAgIENvbXByZXNzZWQ9IiQodmFyLkNvbXByZXNzTVNJKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIERvd25sb2FkVXJsPSIkKHZhci5Eb3dubG9hZFVybCkiCisgICAgICAgICAgICAgICAgICAgICAgICBGb3JjZVBlck1hY2hpbmU9InllcyIKKyAgICAgICAgICAgICAgICAgICAgICAgIEluc3RhbGxDb25kaXRpb249Ikluc3RhbGxBbGxVc2VycyBhbmQgSW5jbHVkZV9kb2MiPgorICAgICAgICAgICAgICAgIDxNc2lQcm9wZXJ0eSBOYW1lPSJUQVJHRVRESVIiIFZhbHVlPSJbVGFyZ2V0RGlyXSIgLz4KKyAgICAgICAgICAgIDwvTXNpUGFja2FnZT4KKyAgICAgICAgICAgIAorICAgICAgICAgICAgPE1zaVBhY2thZ2UgSWQ9ImRvY19KdXN0Rm9yTWUiCisgICAgICAgICAgICAgICAgICAgICAgICBTb3VyY2VGaWxlPSJkb2MubXNpIgorICAgICAgICAgICAgICAgICAgICAgICAgQ29tcHJlc3NlZD0iJCh2YXIuQ29tcHJlc3NNU0kpIgorICAgICAgICAgICAgICAgICAgICAgICAgRG93bmxvYWRVcmw9IiQodmFyLkRvd25sb2FkVXJsKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIEZvcmNlUGVyTWFjaGluZT0ibm8iCisgICAgICAgICAgICAgICAgICAgICAgICBJbnN0YWxsQ29uZGl0aW9uPSJub3QgSW5zdGFsbEFsbFVzZXJzIGFuZCBJbmNsdWRlX2RvYyI+CisgICAgICAgICAgICAgICAgPE1zaVByb3BlcnR5IE5hbWU9IlRBUkdFVERJUiIgVmFsdWU9IltUYXJnZXREaXJdIiAvPgorICAgICAgICAgICAgPC9Nc2lQYWNrYWdlPgorICAgICAgICA8L1BhY2thZ2VHcm91cD4KKyAgICA8L0ZyYWdtZW50PgorPC9XaXg+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL2J1bmRsZS9wYWNrYWdlZ3JvdXBzL2V4ZS53eHMgYi9Ub29scy9tc2kvYnVuZGxlL3BhY2thZ2Vncm91cHMvZXhlLnd4cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNDZiOTBlCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL2J1bmRsZS9wYWNrYWdlZ3JvdXBzL2V4ZS53eHMKQEAgLTAsMCArMSw1NiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8V2l4IHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3dpeC8yMDA2L3dpIj4KKyAgICA8RnJhZ21lbnQ+CisgICAgICAgIDxQYWNrYWdlR3JvdXAgSWQ9ImV4ZSI+CisgICAgICAgICAgICA8TXNpUGFja2FnZSBJZD0iZXhlX0FsbFVzZXJzIgorICAgICAgICAgICAgICAgICAgICAgICAgU291cmNlRmlsZT0iZXhlLm1zaSIKKyAgICAgICAgICAgICAgICAgICAgICAgIEZvcmNlUGVyTWFjaGluZT0ieWVzIgorICAgICAgICAgICAgICAgICAgICAgICAgQ29tcHJlc3NlZD0iJCh2YXIuQ29tcHJlc3NNU0kpIgorICAgICAgICAgICAgICAgICAgICAgICAgRG93bmxvYWRVcmw9IiQodmFyLkRvd25sb2FkVXJsKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIEluc3RhbGxDb25kaXRpb249Ikluc3RhbGxBbGxVc2VycyBhbmQgKEluY2x1ZGVfZXhlIG9yIEluY2x1ZGVfbGF1bmNoZXIgb3IgSW5jbHVkZV9waXApIj4KKyAgICAgICAgICAgICAgICA8TXNpUHJvcGVydHkgTmFtZT0iVEFSR0VURElSIiBWYWx1ZT0iW1RhcmdldERpcl0iIC8+CisgICAgICAgICAgICA8L01zaVBhY2thZ2U+CisgICAgICAgICAgICA8TXNpUGFja2FnZSBJZD0iZXhlX0FsbFVzZXJzX3BkYiIKKyAgICAgICAgICAgICAgICAgICAgICAgIFNvdXJjZUZpbGU9ImV4ZV9wZGIubXNpIgorICAgICAgICAgICAgICAgICAgICAgICAgRm9yY2VQZXJNYWNoaW5lPSJ5ZXMiCisgICAgICAgICAgICAgICAgICAgICAgICBDb21wcmVzc2VkPSIkKHZhci5Db21wcmVzc1BEQikiCisgICAgICAgICAgICAgICAgICAgICAgICBEb3dubG9hZFVybD0iJCh2YXIuRG93bmxvYWRVcmwpIgorICAgICAgICAgICAgICAgICAgICAgICAgSW5zdGFsbENvbmRpdGlvbj0iSW5zdGFsbEFsbFVzZXJzIGFuZCAoSW5jbHVkZV9leGUgb3IgSW5jbHVkZV9sYXVuY2hlciBvciBJbmNsdWRlX3BpcCkgYW5kIEluY2x1ZGVfc3ltYm9scyI+CisgICAgICAgICAgICAgICAgPE1zaVByb3BlcnR5IE5hbWU9IlRBUkdFVERJUiIgVmFsdWU9IltUYXJnZXREaXJdIiAvPgorICAgICAgICAgICAgPC9Nc2lQYWNrYWdlPgorICAgICAgICAgICAgPE1zaVBhY2thZ2UgSWQ9ImV4ZV9BbGxVc2Vyc19kIgorICAgICAgICAgICAgICAgICAgICAgICAgU291cmNlRmlsZT0iZXhlX2QubXNpIgorICAgICAgICAgICAgICAgICAgICAgICAgRm9yY2VQZXJNYWNoaW5lPSJ5ZXMiCisgICAgICAgICAgICAgICAgICAgICAgICBDb21wcmVzc2VkPSIkKHZhci5Db21wcmVzc01TSV9EKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIERvd25sb2FkVXJsPSIkKHZhci5Eb3dubG9hZFVybCkiCisgICAgICAgICAgICAgICAgICAgICAgICBJbnN0YWxsQ29uZGl0aW9uPSJJbnN0YWxsQWxsVXNlcnMgYW5kIChJbmNsdWRlX2V4ZSBvciBJbmNsdWRlX2xhdW5jaGVyIG9yIEluY2x1ZGVfcGlwKSBhbmQgSW5jbHVkZV9kZWJ1ZyI+CisgICAgICAgICAgICAgICAgPE1zaVByb3BlcnR5IE5hbWU9IlRBUkdFVERJUiIgVmFsdWU9IltUYXJnZXREaXJdIiAvPgorICAgICAgICAgICAgPC9Nc2lQYWNrYWdlPgorICAgICAgICAgICAgCisgICAgICAgICAgICA8TXNpUGFja2FnZSBJZD0iZXhlX0p1c3RGb3JNZSIKKyAgICAgICAgICAgICAgICAgICAgICAgIFNvdXJjZUZpbGU9ImV4ZS5tc2kiCisgICAgICAgICAgICAgICAgICAgICAgICBGb3JjZVBlck1hY2hpbmU9Im5vIgorICAgICAgICAgICAgICAgICAgICAgICAgQ29tcHJlc3NlZD0iJCh2YXIuQ29tcHJlc3NNU0kpIgorICAgICAgICAgICAgICAgICAgICAgICAgRG93bmxvYWRVcmw9IiQodmFyLkRvd25sb2FkVXJsKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIEluc3RhbGxDb25kaXRpb249Im5vdCBJbnN0YWxsQWxsVXNlcnMgYW5kIChJbmNsdWRlX2V4ZSBvciBJbmNsdWRlX2xhdW5jaGVyIG9yIEluY2x1ZGVfcGlwKSI+CisgICAgICAgICAgICAgICAgPE1zaVByb3BlcnR5IE5hbWU9IlRBUkdFVERJUiIgVmFsdWU9IltUYXJnZXREaXJdIiAvPgorICAgICAgICAgICAgPC9Nc2lQYWNrYWdlPgorICAgICAgICAgICAgPE1zaVBhY2thZ2UgSWQ9ImV4ZV9KdXN0Rm9yTWVfcGRiIgorICAgICAgICAgICAgICAgICAgICAgICAgU291cmNlRmlsZT0iZXhlX3BkYi5tc2kiCisgICAgICAgICAgICAgICAgICAgICAgICBGb3JjZVBlck1hY2hpbmU9Im5vIgorICAgICAgICAgICAgICAgICAgICAgICAgQ29tcHJlc3NlZD0iJCh2YXIuQ29tcHJlc3NQREIpIgorICAgICAgICAgICAgICAgICAgICAgICAgRG93bmxvYWRVcmw9IiQodmFyLkRvd25sb2FkVXJsKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIEluc3RhbGxDb25kaXRpb249Im5vdCBJbnN0YWxsQWxsVXNlcnMgYW5kIChJbmNsdWRlX2V4ZSBvciBJbmNsdWRlX2xhdW5jaGVyIG9yIEluY2x1ZGVfcGlwKSBhbmQgSW5jbHVkZV9zeW1ib2xzIj4KKyAgICAgICAgICAgICAgICA8TXNpUHJvcGVydHkgTmFtZT0iVEFSR0VURElSIiBWYWx1ZT0iW1RhcmdldERpcl0iIC8+CisgICAgICAgICAgICA8L01zaVBhY2thZ2U+CisgICAgICAgICAgICA8TXNpUGFja2FnZSBJZD0iZXhlX0p1c3RGb3JNZV9kIgorICAgICAgICAgICAgICAgICAgICAgICAgU291cmNlRmlsZT0iZXhlX2QubXNpIgorICAgICAgICAgICAgICAgICAgICAgICAgRm9yY2VQZXJNYWNoaW5lPSJubyIKKyAgICAgICAgICAgICAgICAgICAgICAgIENvbXByZXNzZWQ9IiQodmFyLkNvbXByZXNzTVNJX0QpIgorICAgICAgICAgICAgICAgICAgICAgICAgRG93bmxvYWRVcmw9IiQodmFyLkRvd25sb2FkVXJsKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIEluc3RhbGxDb25kaXRpb249Im5vdCBJbnN0YWxsQWxsVXNlcnMgYW5kIChJbmNsdWRlX2V4ZSBvciBJbmNsdWRlX2xhdW5jaGVyIG9yIEluY2x1ZGVfcGlwKSBhbmQgSW5jbHVkZV9kZWJ1ZyI+CisgICAgICAgICAgICAgICAgPE1zaVByb3BlcnR5IE5hbWU9IlRBUkdFVERJUiIgVmFsdWU9IltUYXJnZXREaXJdIiAvPgorICAgICAgICAgICAgPC9Nc2lQYWNrYWdlPgorICAgICAgICA8L1BhY2thZ2VHcm91cD4KKyAgICA8L0ZyYWdtZW50PgorPC9XaXg+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL2J1bmRsZS9wYWNrYWdlZ3JvdXBzL2xhdW5jaGVyLnd4cyBiL1Rvb2xzL21zaS9idW5kbGUvcGFja2FnZWdyb3Vwcy9sYXVuY2hlci53eHMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDA5MTc1ZgotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS9idW5kbGUvcGFja2FnZWdyb3Vwcy9sYXVuY2hlci53eHMKQEAgLTAsMCArMSwyMyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8V2l4IHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3dpeC8yMDA2L3dpIj4KKyAgICA8RnJhZ21lbnQ+CisgICAgICAgIDxQYWNrYWdlR3JvdXAgSWQ9ImxhdW5jaGVyIj4KKyAgICAgICAgICAgIDwhLS0gVGhlIEFsbCBVc2VycyBsYXVuY2hlciBpcyBhbHdheXMgdGhlIDMyLWJpdCB2ZXJzaW9uIC0tPgorICAgICAgICAgICAgPE1zaVBhY2thZ2UgSWQ9ImxhdW5jaGVyX0FsbFVzZXJzIgorICAgICAgICAgICAgICAgICAgICAgICAgU291cmNlRmlsZT0ibGF1bmNoZXIubXNpIgorICAgICAgICAgICAgICAgICAgICAgICAgQ29tcHJlc3NlZD0iJCh2YXIuQ29tcHJlc3NNU0kpIgorICAgICAgICAgICAgICAgICAgICAgICAgRG93bmxvYWRVcmw9IiQodmFyLkRvd25sb2FkVXJsKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIEZvcmNlUGVyTWFjaGluZT0ieWVzIgorICAgICAgICAgICAgICAgICAgICAgICAgRW5hYmxlRmVhdHVyZVNlbGVjdGlvbj0ieWVzIgorICAgICAgICAgICAgICAgICAgICAgICAgSW5zdGFsbENvbmRpdGlvbj0iSW5zdGFsbEFsbFVzZXJzIGFuZCBJbmNsdWRlX2xhdW5jaGVyIiAvPgorCisgICAgICAgICAgICA8TXNpUGFja2FnZSBJZD0ibGF1bmNoZXJfSnVzdEZvck1lIgorICAgICAgICAgICAgICAgICAgICAgICAgU291cmNlRmlsZT0ibGF1bmNoZXIubXNpIgorICAgICAgICAgICAgICAgICAgICAgICAgQ29tcHJlc3NlZD0iJCh2YXIuQ29tcHJlc3NNU0kpIgorICAgICAgICAgICAgICAgICAgICAgICAgRG93bmxvYWRVcmw9IiQodmFyLkRvd25sb2FkVXJsKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIEZvcmNlUGVyTWFjaGluZT0ibm8iCisgICAgICAgICAgICAgICAgICAgICAgICBFbmFibGVGZWF0dXJlU2VsZWN0aW9uPSJ5ZXMiCisgICAgICAgICAgICAgICAgICAgICAgICBJbnN0YWxsQ29uZGl0aW9uPSJub3QgSW5zdGFsbEFsbFVzZXJzIGFuZCBJbmNsdWRlX2xhdW5jaGVyIiAvPgorICAgICAgICA8L1BhY2thZ2VHcm91cD4KKyAgICA8L0ZyYWdtZW50PgorPC9XaXg+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL2J1bmRsZS9wYWNrYWdlZ3JvdXBzL2xpYi53eHMgYi9Ub29scy9tc2kvYnVuZGxlL3BhY2thZ2Vncm91cHMvbGliLnd4cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40N2E5N2YxCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL2J1bmRsZS9wYWNrYWdlZ3JvdXBzL2xpYi53eHMKQEAgLTAsMCArMSw1NiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8V2l4IHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3dpeC8yMDA2L3dpIj4KKyAgICA8RnJhZ21lbnQ+CisgICAgICAgIDxQYWNrYWdlR3JvdXAgSWQ9ImxpYiI+CisgICAgICAgICAgICA8TXNpUGFja2FnZSBJZD0ibGliX0FsbFVzZXJzIgorICAgICAgICAgICAgICAgICAgICAgICAgU291cmNlRmlsZT0ibGliLm1zaSIKKyAgICAgICAgICAgICAgICAgICAgICAgIENvbXByZXNzZWQ9IiQodmFyLkNvbXByZXNzTVNJKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIERvd25sb2FkVXJsPSIkKHZhci5Eb3dubG9hZFVybCkiCisgICAgICAgICAgICAgICAgICAgICAgICBGb3JjZVBlck1hY2hpbmU9InllcyIKKyAgICAgICAgICAgICAgICAgICAgICAgIEluc3RhbGxDb25kaXRpb249Ikluc3RhbGxBbGxVc2VycyBhbmQgSW5jbHVkZV9saWIiPgorICAgICAgICAgICAgICAgIDxNc2lQcm9wZXJ0eSBOYW1lPSJUQVJHRVRESVIiIFZhbHVlPSJbVGFyZ2V0RGlyXSIgLz4KKyAgICAgICAgICAgIDwvTXNpUGFja2FnZT4KKyAgICAgICAgICAgIDxNc2lQYWNrYWdlIElkPSJsaWJfQWxsVXNlcnNfcGRiIgorICAgICAgICAgICAgICAgICAgICAgICAgU291cmNlRmlsZT0ibGliX3BkYi5tc2kiCisgICAgICAgICAgICAgICAgICAgICAgICBDb21wcmVzc2VkPSIkKHZhci5Db21wcmVzc1BEQikiCisgICAgICAgICAgICAgICAgICAgICAgICBEb3dubG9hZFVybD0iJCh2YXIuRG93bmxvYWRVcmwpIgorICAgICAgICAgICAgICAgICAgICAgICAgRm9yY2VQZXJNYWNoaW5lPSJ5ZXMiCisgICAgICAgICAgICAgICAgICAgICAgICBJbnN0YWxsQ29uZGl0aW9uPSJJbnN0YWxsQWxsVXNlcnMgYW5kIEluY2x1ZGVfbGliIGFuZCBJbmNsdWRlX3N5bWJvbHMiPgorICAgICAgICAgICAgICAgIDxNc2lQcm9wZXJ0eSBOYW1lPSJUQVJHRVRESVIiIFZhbHVlPSJbVGFyZ2V0RGlyXSIgLz4KKyAgICAgICAgICAgIDwvTXNpUGFja2FnZT4KKyAgICAgICAgICAgIDxNc2lQYWNrYWdlIElkPSJsaWJfQWxsVXNlcnNfZCIKKyAgICAgICAgICAgICAgICAgICAgICAgIFNvdXJjZUZpbGU9ImxpYl9kLm1zaSIKKyAgICAgICAgICAgICAgICAgICAgICAgIENvbXByZXNzZWQ9IiQodmFyLkNvbXByZXNzTVNJX0QpIgorICAgICAgICAgICAgICAgICAgICAgICAgRG93bmxvYWRVcmw9IiQodmFyLkRvd25sb2FkVXJsKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIEZvcmNlUGVyTWFjaGluZT0ieWVzIgorICAgICAgICAgICAgICAgICAgICAgICAgSW5zdGFsbENvbmRpdGlvbj0iSW5zdGFsbEFsbFVzZXJzIGFuZCBJbmNsdWRlX2xpYiBhbmQgSW5jbHVkZV9kZWJ1ZyI+CisgICAgICAgICAgICAgICAgPE1zaVByb3BlcnR5IE5hbWU9IlRBUkdFVERJUiIgVmFsdWU9IltUYXJnZXREaXJdIiAvPgorICAgICAgICAgICAgPC9Nc2lQYWNrYWdlPgorCisgICAgICAgICAgICA8TXNpUGFja2FnZSBJZD0ibGliX0p1c3RGb3JNZSIKKyAgICAgICAgICAgICAgICAgICAgICAgIFNvdXJjZUZpbGU9ImxpYi5tc2kiCisgICAgICAgICAgICAgICAgICAgICAgICBDb21wcmVzc2VkPSIkKHZhci5Db21wcmVzc01TSSkiCisgICAgICAgICAgICAgICAgICAgICAgICBEb3dubG9hZFVybD0iJCh2YXIuRG93bmxvYWRVcmwpIgorICAgICAgICAgICAgICAgICAgICAgICAgRm9yY2VQZXJNYWNoaW5lPSJubyIKKyAgICAgICAgICAgICAgICAgICAgICAgIEluc3RhbGxDb25kaXRpb249Im5vdCBJbnN0YWxsQWxsVXNlcnMgYW5kIEluY2x1ZGVfbGliIj4KKyAgICAgICAgICAgICAgICA8TXNpUHJvcGVydHkgTmFtZT0iVEFSR0VURElSIiBWYWx1ZT0iW1RhcmdldERpcl0iIC8+CisgICAgICAgICAgICA8L01zaVBhY2thZ2U+CisgICAgICAgICAgICA8TXNpUGFja2FnZSBJZD0ibGliX0p1c3RGb3JNZV9wZGIiCisgICAgICAgICAgICAgICAgICAgICAgICBTb3VyY2VGaWxlPSJsaWJfcGRiLm1zaSIKKyAgICAgICAgICAgICAgICAgICAgICAgIENvbXByZXNzZWQ9IiQodmFyLkNvbXByZXNzUERCKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIERvd25sb2FkVXJsPSIkKHZhci5Eb3dubG9hZFVybCkiCisgICAgICAgICAgICAgICAgICAgICAgICBGb3JjZVBlck1hY2hpbmU9Im5vIgorICAgICAgICAgICAgICAgICAgICAgICAgSW5zdGFsbENvbmRpdGlvbj0ibm90IEluc3RhbGxBbGxVc2VycyBhbmQgSW5jbHVkZV9saWIgYW5kIEluY2x1ZGVfc3ltYm9scyI+CisgICAgICAgICAgICAgICAgPE1zaVByb3BlcnR5IE5hbWU9IlRBUkdFVERJUiIgVmFsdWU9IltUYXJnZXREaXJdIiAvPgorICAgICAgICAgICAgPC9Nc2lQYWNrYWdlPgorICAgICAgICAgICAgPE1zaVBhY2thZ2UgSWQ9ImxpYl9KdXN0Rm9yTWVfZCIKKyAgICAgICAgICAgICAgICAgICAgICAgIFNvdXJjZUZpbGU9ImxpYl9kLm1zaSIKKyAgICAgICAgICAgICAgICAgICAgICAgIENvbXByZXNzZWQ9IiQodmFyLkNvbXByZXNzTVNJX0QpIgorICAgICAgICAgICAgICAgICAgICAgICAgRG93bmxvYWRVcmw9IiQodmFyLkRvd25sb2FkVXJsKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIEZvcmNlUGVyTWFjaGluZT0ibm8iCisgICAgICAgICAgICAgICAgICAgICAgICBJbnN0YWxsQ29uZGl0aW9uPSJub3QgSW5zdGFsbEFsbFVzZXJzIGFuZCBJbmNsdWRlX2xpYiBhbmQgSW5jbHVkZV9kZWJ1ZyI+CisgICAgICAgICAgICAgICAgPE1zaVByb3BlcnR5IE5hbWU9IlRBUkdFVERJUiIgVmFsdWU9IltUYXJnZXREaXJdIiAvPgorICAgICAgICAgICAgPC9Nc2lQYWNrYWdlPgorICAgICAgICA8L1BhY2thZ2VHcm91cD4KKyAgICA8L0ZyYWdtZW50PgorPC9XaXg+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL2J1bmRsZS9wYWNrYWdlZ3JvdXBzL3Bvc3RpbnN0YWxsLnd4cyBiL1Rvb2xzL21zaS9idW5kbGUvcGFja2FnZWdyb3Vwcy9wb3N0aW5zdGFsbC53eHMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjIwY2M1MAotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS9idW5kbGUvcGFja2FnZWdyb3Vwcy9wb3N0aW5zdGFsbC53eHMKQEAgLTAsMCArMSw2MiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8V2l4IHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3dpeC8yMDA2L3dpIj4KKyAgICA8RnJhZ21lbnQ+CisgICAgICAgIDxQYWNrYWdlR3JvdXAgSWQ9InBvc3RpbnN0YWxsIj4KKyAgICAgICAgICAgIDxNc2lQYWNrYWdlIElkPSJwaXBfQWxsVXNlcnMiCisgICAgICAgICAgICAgICAgICAgICAgICBTb3VyY2VGaWxlPSJwaXAubXNpIgorICAgICAgICAgICAgICAgICAgICAgICAgQ29tcHJlc3NlZD0iJCh2YXIuQ29tcHJlc3NNU0kpIgorICAgICAgICAgICAgICAgICAgICAgICAgRG93bmxvYWRVcmw9IiQodmFyLkRvd25sb2FkVXJsKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIEZvcmNlUGVyTWFjaGluZT0ieWVzIgorICAgICAgICAgICAgICAgICAgICAgICAgSW5zdGFsbENvbmRpdGlvbj0iSW5zdGFsbEFsbFVzZXJzIGFuZCBJbmNsdWRlX3BpcCI+CisgICAgICAgICAgICAgICAgPE1zaVByb3BlcnR5IE5hbWU9IlRBUkdFVERJUiIgVmFsdWU9IltUYXJnZXREaXJdIiAvPgorICAgICAgICAgICAgPC9Nc2lQYWNrYWdlPgorICAgICAgICAgICAgPE1zaVBhY2thZ2UgSWQ9InBpcF9KdXN0Rm9yTWUiCisgICAgICAgICAgICAgICAgICAgICAgICBTb3VyY2VGaWxlPSJwaXAubXNpIgorICAgICAgICAgICAgICAgICAgICAgICAgQ29tcHJlc3NlZD0iJCh2YXIuQ29tcHJlc3NNU0kpIgorICAgICAgICAgICAgICAgICAgICAgICAgRG93bmxvYWRVcmw9IiQodmFyLkRvd25sb2FkVXJsKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIEZvcmNlUGVyTWFjaGluZT0ibm8iCisgICAgICAgICAgICAgICAgICAgICAgICBJbnN0YWxsQ29uZGl0aW9uPSJub3QgSW5zdGFsbEFsbFVzZXJzIGFuZCBJbmNsdWRlX3BpcCI+CisgICAgICAgICAgICAgICAgPE1zaVByb3BlcnR5IE5hbWU9IlRBUkdFVERJUiIgVmFsdWU9IltUYXJnZXREaXJdIiAvPgorICAgICAgICAgICAgPC9Nc2lQYWNrYWdlPgorICAgICAgICAgICAgCisgICAgICAgICAgICA8TXNpUGFja2FnZSBJZD0icGF0aF9BbGxVc2VycyIKKyAgICAgICAgICAgICAgICAgICAgICAgIFNvdXJjZUZpbGU9InBhdGgubXNpIgorICAgICAgICAgICAgICAgICAgICAgICAgQ29tcHJlc3NlZD0iJCh2YXIuQ29tcHJlc3NNU0kpIgorICAgICAgICAgICAgICAgICAgICAgICAgRG93bmxvYWRVcmw9IiQodmFyLkRvd25sb2FkVXJsKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIEZvcmNlUGVyTWFjaGluZT0ieWVzIgorICAgICAgICAgICAgICAgICAgICAgICAgSW5zdGFsbENvbmRpdGlvbj0iSW5zdGFsbEFsbFVzZXJzIGFuZCBQcmVwZW5kUGF0aCI+CisgICAgICAgICAgICAgICAgPE1zaVByb3BlcnR5IE5hbWU9IlRBUkdFVERJUiIgVmFsdWU9IltUYXJnZXREaXJdIiAvPgorICAgICAgICAgICAgPC9Nc2lQYWNrYWdlPgorICAgICAgICAgICAgPE1zaVBhY2thZ2UgSWQ9InBhdGhfSnVzdEZvck1lIgorICAgICAgICAgICAgICAgICAgICAgICAgU291cmNlRmlsZT0icGF0aC5tc2kiCisgICAgICAgICAgICAgICAgICAgICAgICBDb21wcmVzc2VkPSIkKHZhci5Db21wcmVzc01TSSkiCisgICAgICAgICAgICAgICAgICAgICAgICBEb3dubG9hZFVybD0iJCh2YXIuRG93bmxvYWRVcmwpIgorICAgICAgICAgICAgICAgICAgICAgICAgRm9yY2VQZXJNYWNoaW5lPSJubyIKKyAgICAgICAgICAgICAgICAgICAgICAgIEluc3RhbGxDb25kaXRpb249Im5vdCBJbnN0YWxsQWxsVXNlcnMgYW5kIFByZXBlbmRQYXRoIj4KKyAgICAgICAgICAgICAgICA8TXNpUHJvcGVydHkgTmFtZT0iVEFSR0VURElSIiBWYWx1ZT0iW1RhcmdldERpcl0iIC8+CisgICAgICAgICAgICA8L01zaVBhY2thZ2U+CisgICAgICAgICAgICAKKyAgICAgICAgICAgIDw/ZGVmaW5lIENvbXBpbGVBbGxDb21tYW5kPS0kKHZhci5TaG9ydFZlcnNpb24pJCh2YXIuU3VmZml4MzIpIC1XaSAiW1RhcmdldERpcl1cTGliXGNvbXBpbGVhbGwucHkiIC1mIC14ICJiYWRfY29kaW5nfGJhZHN5bnRheHxzaXRlLXBhY2thZ2VzfHB5Ml98bGliMnRvM1xcdGVzdHN8dmVudlxcc2NyaXB0cyIgIltUYXJnZXREaXJdXExpYiI/PgorICAgICAgICAgICAgPEV4ZVBhY2thZ2UgSWQ9ImNvbXBpbGVhbGxfQWxsVXNlcnMiCisgICAgICAgICAgICAgICAgICAgICAgICBTb3VyY2VGaWxlPSJweS5leGUiCisgICAgICAgICAgICAgICAgICAgICAgICBDb21wcmVzc2VkPSJ5ZXMiCisgICAgICAgICAgICAgICAgICAgICAgICBEaXNwbGF5TmFtZT0iIShsb2MuQ29tcGlsZUFsbERlc2NyaXB0aW9uKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIEluc3RhbGxDb21tYW5kPSckKHZhci5Db21waWxlQWxsQ29tbWFuZCknCisgICAgICAgICAgICAgICAgICAgICAgICBSZXBhaXJDb21tYW5kPSckKHZhci5Db21waWxlQWxsQ29tbWFuZCknCisgICAgICAgICAgICAgICAgICAgICAgICBQZXJtYW5lbnQ9InllcyIKKyAgICAgICAgICAgICAgICAgICAgICAgIFBlck1hY2hpbmU9InllcyIKKyAgICAgICAgICAgICAgICAgICAgICAgIFZpdGFsPSJubyIKKyAgICAgICAgICAgICAgICAgICAgICAgIEluc3RhbGxDb25kaXRpb249Ikluc3RhbGxBbGxVc2VycyBhbmQgQ29tcGlsZUFsbCIgLz4KKyAgICAgICAgICAgIDxFeGVQYWNrYWdlIElkPSJjb21waWxlYWxsX0p1c3RGb3JNZSIKKyAgICAgICAgICAgICAgICAgICAgICAgIFNvdXJjZUZpbGU9InB5LmV4ZSIKKyAgICAgICAgICAgICAgICAgICAgICAgIENvbXByZXNzZWQ9InllcyIKKyAgICAgICAgICAgICAgICAgICAgICAgIERpc3BsYXlOYW1lPSIhKGxvYy5Db21waWxlQWxsRGVzY3JpcHRpb24pIgorICAgICAgICAgICAgICAgICAgICAgICAgSW5zdGFsbENvbW1hbmQ9JyQodmFyLkNvbXBpbGVBbGxDb21tYW5kKScKKyAgICAgICAgICAgICAgICAgICAgICAgIFJlcGFpckNvbW1hbmQ9JyQodmFyLkNvbXBpbGVBbGxDb21tYW5kKScKKyAgICAgICAgICAgICAgICAgICAgICAgIFBlcm1hbmVudD0ieWVzIgorICAgICAgICAgICAgICAgICAgICAgICAgUGVyTWFjaGluZT0ibm8iCisgICAgICAgICAgICAgICAgICAgICAgICBWaXRhbD0ibm8iCisgICAgICAgICAgICAgICAgICAgICAgICBJbnN0YWxsQ29uZGl0aW9uPSJub3QgSW5zdGFsbEFsbFVzZXJzIGFuZCBDb21waWxlQWxsIiAvPgorICAgICAgICA8L1BhY2thZ2VHcm91cD4KKyAgICA8L0ZyYWdtZW50PgorPC9XaXg+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL2J1bmRsZS9wYWNrYWdlZ3JvdXBzL3RjbHRrLnd4cyBiL1Rvb2xzL21zaS9idW5kbGUvcGFja2FnZWdyb3Vwcy90Y2x0ay53eHMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTBlMzk1OAotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS9idW5kbGUvcGFja2FnZWdyb3Vwcy90Y2x0ay53eHMKQEAgLTAsMCArMSw2MiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8V2l4IHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3dpeC8yMDA2L3dpIj4KKyAgICA8RnJhZ21lbnQ+CisgICAgICAgIDxQYWNrYWdlR3JvdXAgSWQ9InRjbHRrIj4KKyAgICAgICAgICAgIDxNc2lQYWNrYWdlIElkPSJ0Y2x0a19BbGxVc2VycyIKKyAgICAgICAgICAgICAgICAgICAgICAgIFNvdXJjZUZpbGU9InRjbHRrLm1zaSIKKyAgICAgICAgICAgICAgICAgICAgICAgIENvbXByZXNzZWQ9IiQodmFyLkNvbXByZXNzTVNJKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIERvd25sb2FkVXJsPSIkKHZhci5Eb3dubG9hZFVybCkiCisgICAgICAgICAgICAgICAgICAgICAgICBGb3JjZVBlck1hY2hpbmU9InllcyIKKyAgICAgICAgICAgICAgICAgICAgICAgIEVuYWJsZUZlYXR1cmVTZWxlY3Rpb249InllcyIKKyAgICAgICAgICAgICAgICAgICAgICAgIEluc3RhbGxDb25kaXRpb249Ikluc3RhbGxBbGxVc2VycyBhbmQgSW5jbHVkZV90Y2x0ayI+CisgICAgICAgICAgICAgICAgPE1zaVByb3BlcnR5IE5hbWU9IlRBUkdFVERJUiIgVmFsdWU9IltUYXJnZXREaXJdIiAvPgorICAgICAgICAgICAgPC9Nc2lQYWNrYWdlPgorICAgICAgICAgICAgPE1zaVBhY2thZ2UgSWQ9InRjbHRrX0FsbFVzZXJzX3BkYiIKKyAgICAgICAgICAgICAgICAgICAgICAgIFNvdXJjZUZpbGU9InRjbHRrX3BkYi5tc2kiCisgICAgICAgICAgICAgICAgICAgICAgICBDb21wcmVzc2VkPSIkKHZhci5Db21wcmVzc1BEQikiCisgICAgICAgICAgICAgICAgICAgICAgICBEb3dubG9hZFVybD0iJCh2YXIuRG93bmxvYWRVcmwpIgorICAgICAgICAgICAgICAgICAgICAgICAgRm9yY2VQZXJNYWNoaW5lPSJ5ZXMiCisgICAgICAgICAgICAgICAgICAgICAgICBFbmFibGVGZWF0dXJlU2VsZWN0aW9uPSJ5ZXMiCisgICAgICAgICAgICAgICAgICAgICAgICBJbnN0YWxsQ29uZGl0aW9uPSJJbnN0YWxsQWxsVXNlcnMgYW5kIEluY2x1ZGVfdGNsdGsgYW5kIEluY2x1ZGVfc3ltYm9scyI+CisgICAgICAgICAgICAgICAgPE1zaVByb3BlcnR5IE5hbWU9IlRBUkdFVERJUiIgVmFsdWU9IltUYXJnZXREaXJdIiAvPgorICAgICAgICAgICAgPC9Nc2lQYWNrYWdlPgorICAgICAgICAgICAgPE1zaVBhY2thZ2UgSWQ9InRjbHRrX0FsbFVzZXJzX2QiCisgICAgICAgICAgICAgICAgICAgICAgICBTb3VyY2VGaWxlPSJ0Y2x0a19kLm1zaSIKKyAgICAgICAgICAgICAgICAgICAgICAgIENvbXByZXNzZWQ9IiQodmFyLkNvbXByZXNzTVNJX0QpIgorICAgICAgICAgICAgICAgICAgICAgICAgRG93bmxvYWRVcmw9IiQodmFyLkRvd25sb2FkVXJsKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIEZvcmNlUGVyTWFjaGluZT0ieWVzIgorICAgICAgICAgICAgICAgICAgICAgICAgRW5hYmxlRmVhdHVyZVNlbGVjdGlvbj0ieWVzIgorICAgICAgICAgICAgICAgICAgICAgICAgSW5zdGFsbENvbmRpdGlvbj0iSW5zdGFsbEFsbFVzZXJzIGFuZCBJbmNsdWRlX3RjbHRrIGFuZCBJbmNsdWRlX2RlYnVnIj4KKyAgICAgICAgICAgICAgICA8TXNpUHJvcGVydHkgTmFtZT0iVEFSR0VURElSIiBWYWx1ZT0iW1RhcmdldERpcl0iIC8+CisgICAgICAgICAgICA8L01zaVBhY2thZ2U+CisKKyAgICAgICAgICAgIDxNc2lQYWNrYWdlIElkPSJ0Y2x0a19KdXN0Rm9yTWUiCisgICAgICAgICAgICAgICAgICAgICAgICBTb3VyY2VGaWxlPSJ0Y2x0ay5tc2kiCisgICAgICAgICAgICAgICAgICAgICAgICBDb21wcmVzc2VkPSIkKHZhci5Db21wcmVzc01TSSkiCisgICAgICAgICAgICAgICAgICAgICAgICBEb3dubG9hZFVybD0iJCh2YXIuRG93bmxvYWRVcmwpIgorICAgICAgICAgICAgICAgICAgICAgICAgRm9yY2VQZXJNYWNoaW5lPSJubyIKKyAgICAgICAgICAgICAgICAgICAgICAgIEVuYWJsZUZlYXR1cmVTZWxlY3Rpb249InllcyIKKyAgICAgICAgICAgICAgICAgICAgICAgIEluc3RhbGxDb25kaXRpb249Im5vdCBJbnN0YWxsQWxsVXNlcnMgYW5kIEluY2x1ZGVfdGNsdGsiPgorICAgICAgICAgICAgICAgIDxNc2lQcm9wZXJ0eSBOYW1lPSJUQVJHRVRESVIiIFZhbHVlPSJbVGFyZ2V0RGlyXSIgLz4KKyAgICAgICAgICAgIDwvTXNpUGFja2FnZT4KKyAgICAgICAgICAgIDxNc2lQYWNrYWdlIElkPSJ0Y2x0a19KdXN0Rm9yTWVfcGRiIgorICAgICAgICAgICAgICAgICAgICAgICAgU291cmNlRmlsZT0idGNsdGtfcGRiLm1zaSIKKyAgICAgICAgICAgICAgICAgICAgICAgIENvbXByZXNzZWQ9IiQodmFyLkNvbXByZXNzUERCKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIERvd25sb2FkVXJsPSIkKHZhci5Eb3dubG9hZFVybCkiCisgICAgICAgICAgICAgICAgICAgICAgICBGb3JjZVBlck1hY2hpbmU9Im5vIgorICAgICAgICAgICAgICAgICAgICAgICAgRW5hYmxlRmVhdHVyZVNlbGVjdGlvbj0ieWVzIgorICAgICAgICAgICAgICAgICAgICAgICAgSW5zdGFsbENvbmRpdGlvbj0ibm90IEluc3RhbGxBbGxVc2VycyBhbmQgSW5jbHVkZV90Y2x0ayBhbmQgSW5jbHVkZV9zeW1ib2xzIj4KKyAgICAgICAgICAgICAgICA8TXNpUHJvcGVydHkgTmFtZT0iVEFSR0VURElSIiBWYWx1ZT0iW1RhcmdldERpcl0iIC8+CisgICAgICAgICAgICA8L01zaVBhY2thZ2U+CisgICAgICAgICAgICA8TXNpUGFja2FnZSBJZD0idGNsdGtfSnVzdEZvck1lX2QiCisgICAgICAgICAgICAgICAgICAgICAgICBTb3VyY2VGaWxlPSJ0Y2x0a19kLm1zaSIKKyAgICAgICAgICAgICAgICAgICAgICAgIENvbXByZXNzZWQ9IiQodmFyLkNvbXByZXNzTVNJX0QpIgorICAgICAgICAgICAgICAgICAgICAgICAgRG93bmxvYWRVcmw9IiQodmFyLkRvd25sb2FkVXJsKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIEZvcmNlUGVyTWFjaGluZT0ibm8iCisgICAgICAgICAgICAgICAgICAgICAgICBFbmFibGVGZWF0dXJlU2VsZWN0aW9uPSJ5ZXMiCisgICAgICAgICAgICAgICAgICAgICAgICBJbnN0YWxsQ29uZGl0aW9uPSJub3QgSW5zdGFsbEFsbFVzZXJzIGFuZCBJbmNsdWRlX3RjbHRrIGFuZCBJbmNsdWRlX2RlYnVnIj4KKyAgICAgICAgICAgICAgICA8TXNpUHJvcGVydHkgTmFtZT0iVEFSR0VURElSIiBWYWx1ZT0iW1RhcmdldERpcl0iIC8+CisgICAgICAgICAgICA8L01zaVBhY2thZ2U+CisgICAgICAgIDwvUGFja2FnZUdyb3VwPgorICAgIDwvRnJhZ21lbnQ+Cis8L1dpeD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9Ub29scy9tc2kvYnVuZGxlL3BhY2thZ2Vncm91cHMvdGVzdC53eHMgYi9Ub29scy9tc2kvYnVuZGxlL3BhY2thZ2Vncm91cHMvdGVzdC53eHMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjY0ZThmZgotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS9idW5kbGUvcGFja2FnZWdyb3Vwcy90ZXN0Lnd4cwpAQCAtMCwwICsxLDU2IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxXaXggeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vd2l4LzIwMDYvd2kiPgorICAgIDxGcmFnbWVudD4KKyAgICAgICAgPFBhY2thZ2VHcm91cCBJZD0idGVzdCI+CisgICAgICAgICAgICA8TXNpUGFja2FnZSBJZD0idGVzdF9BbGxVc2VycyIKKyAgICAgICAgICAgICAgICAgICAgICAgIFNvdXJjZUZpbGU9InRlc3QubXNpIgorICAgICAgICAgICAgICAgICAgICAgICAgQ29tcHJlc3NlZD0iJCh2YXIuQ29tcHJlc3NNU0kpIgorICAgICAgICAgICAgICAgICAgICAgICAgRG93bmxvYWRVcmw9IiQodmFyLkRvd25sb2FkVXJsKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIEZvcmNlUGVyTWFjaGluZT0ieWVzIgorICAgICAgICAgICAgICAgICAgICAgICAgSW5zdGFsbENvbmRpdGlvbj0iSW5zdGFsbEFsbFVzZXJzIGFuZCBJbmNsdWRlX3Rlc3QiPgorICAgICAgICAgICAgICAgIDxNc2lQcm9wZXJ0eSBOYW1lPSJUQVJHRVRESVIiIFZhbHVlPSJbVGFyZ2V0RGlyXSIgLz4KKyAgICAgICAgICAgIDwvTXNpUGFja2FnZT4KKyAgICAgICAgICAgIDxNc2lQYWNrYWdlIElkPSJ0ZXN0X0FsbFVzZXJzX3BkYiIKKyAgICAgICAgICAgICAgICAgICAgICAgIFNvdXJjZUZpbGU9InRlc3RfcGRiLm1zaSIKKyAgICAgICAgICAgICAgICAgICAgICAgIENvbXByZXNzZWQ9IiQodmFyLkNvbXByZXNzUERCKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIERvd25sb2FkVXJsPSIkKHZhci5Eb3dubG9hZFVybCkiCisgICAgICAgICAgICAgICAgICAgICAgICBGb3JjZVBlck1hY2hpbmU9InllcyIKKyAgICAgICAgICAgICAgICAgICAgICAgIEluc3RhbGxDb25kaXRpb249Ikluc3RhbGxBbGxVc2VycyBhbmQgSW5jbHVkZV90ZXN0IGFuZCBJbmNsdWRlX3N5bWJvbHMiPgorICAgICAgICAgICAgICAgIDxNc2lQcm9wZXJ0eSBOYW1lPSJUQVJHRVRESVIiIFZhbHVlPSJbVGFyZ2V0RGlyXSIgLz4KKyAgICAgICAgICAgIDwvTXNpUGFja2FnZT4KKyAgICAgICAgICAgIDxNc2lQYWNrYWdlIElkPSJ0ZXN0X0FsbFVzZXJzX2QiCisgICAgICAgICAgICAgICAgICAgICAgICBTb3VyY2VGaWxlPSJ0ZXN0X2QubXNpIgorICAgICAgICAgICAgICAgICAgICAgICAgQ29tcHJlc3NlZD0iJCh2YXIuQ29tcHJlc3NNU0lfRCkiCisgICAgICAgICAgICAgICAgICAgICAgICBEb3dubG9hZFVybD0iJCh2YXIuRG93bmxvYWRVcmwpIgorICAgICAgICAgICAgICAgICAgICAgICAgRm9yY2VQZXJNYWNoaW5lPSJ5ZXMiCisgICAgICAgICAgICAgICAgICAgICAgICBJbnN0YWxsQ29uZGl0aW9uPSJJbnN0YWxsQWxsVXNlcnMgYW5kIEluY2x1ZGVfdGVzdCBhbmQgSW5jbHVkZV9kZWJ1ZyI+CisgICAgICAgICAgICAgICAgPE1zaVByb3BlcnR5IE5hbWU9IlRBUkdFVERJUiIgVmFsdWU9IltUYXJnZXREaXJdIiAvPgorICAgICAgICAgICAgPC9Nc2lQYWNrYWdlPgorCisgICAgICAgICAgICA8TXNpUGFja2FnZSBJZD0idGVzdF9KdXN0Rm9yTWUiCisgICAgICAgICAgICAgICAgICAgICAgICBTb3VyY2VGaWxlPSJ0ZXN0Lm1zaSIKKyAgICAgICAgICAgICAgICAgICAgICAgIENvbXByZXNzZWQ9IiQodmFyLkNvbXByZXNzTVNJKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIERvd25sb2FkVXJsPSIkKHZhci5Eb3dubG9hZFVybCkiCisgICAgICAgICAgICAgICAgICAgICAgICBGb3JjZVBlck1hY2hpbmU9Im5vIgorICAgICAgICAgICAgICAgICAgICAgICAgSW5zdGFsbENvbmRpdGlvbj0ibm90IEluc3RhbGxBbGxVc2VycyBhbmQgSW5jbHVkZV90ZXN0Ij4KKyAgICAgICAgICAgICAgICA8TXNpUHJvcGVydHkgTmFtZT0iVEFSR0VURElSIiBWYWx1ZT0iW1RhcmdldERpcl0iIC8+CisgICAgICAgICAgICA8L01zaVBhY2thZ2U+CisgICAgICAgICAgICA8TXNpUGFja2FnZSBJZD0idGVzdF9KdXN0Rm9yTWVfcGRiIgorICAgICAgICAgICAgICAgICAgICAgICAgU291cmNlRmlsZT0idGVzdF9wZGIubXNpIgorICAgICAgICAgICAgICAgICAgICAgICAgQ29tcHJlc3NlZD0iJCh2YXIuQ29tcHJlc3NQREIpIgorICAgICAgICAgICAgICAgICAgICAgICAgRG93bmxvYWRVcmw9IiQodmFyLkRvd25sb2FkVXJsKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIEZvcmNlUGVyTWFjaGluZT0ibm8iCisgICAgICAgICAgICAgICAgICAgICAgICBJbnN0YWxsQ29uZGl0aW9uPSJub3QgSW5zdGFsbEFsbFVzZXJzIGFuZCBJbmNsdWRlX3Rlc3QgYW5kIEluY2x1ZGVfc3ltYm9scyI+CisgICAgICAgICAgICAgICAgPE1zaVByb3BlcnR5IE5hbWU9IlRBUkdFVERJUiIgVmFsdWU9IltUYXJnZXREaXJdIiAvPgorICAgICAgICAgICAgPC9Nc2lQYWNrYWdlPgorICAgICAgICAgICAgPE1zaVBhY2thZ2UgSWQ9InRlc3RfSnVzdEZvck1lX2QiCisgICAgICAgICAgICAgICAgICAgICAgICBTb3VyY2VGaWxlPSJ0ZXN0X2QubXNpIgorICAgICAgICAgICAgICAgICAgICAgICAgQ29tcHJlc3NlZD0iJCh2YXIuQ29tcHJlc3NNU0lfRCkiCisgICAgICAgICAgICAgICAgICAgICAgICBEb3dubG9hZFVybD0iJCh2YXIuRG93bmxvYWRVcmwpIgorICAgICAgICAgICAgICAgICAgICAgICAgRm9yY2VQZXJNYWNoaW5lPSJubyIKKyAgICAgICAgICAgICAgICAgICAgICAgIEluc3RhbGxDb25kaXRpb249Im5vdCBJbnN0YWxsQWxsVXNlcnMgYW5kIEluY2x1ZGVfdGVzdCBhbmQgSW5jbHVkZV9kZWJ1ZyI+CisgICAgICAgICAgICAgICAgPE1zaVByb3BlcnR5IE5hbWU9IlRBUkdFVERJUiIgVmFsdWU9IltUYXJnZXREaXJdIiAvPgorICAgICAgICAgICAgPC9Nc2lQYWNrYWdlPgorICAgICAgICA8L1BhY2thZ2VHcm91cD4KKyAgICA8L0ZyYWdtZW50PgorPC9XaXg+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL2J1bmRsZS9wYWNrYWdlZ3JvdXBzL3Rvb2xzLnd4cyBiL1Rvb2xzL21zaS9idW5kbGUvcGFja2FnZWdyb3Vwcy90b29scy53eHMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDZhZjViNQotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS9idW5kbGUvcGFja2FnZWdyb3Vwcy90b29scy53eHMKQEAgLTAsMCArMSwyNCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8V2l4IHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3dpeC8yMDA2L3dpIj4KKyAgICA8RnJhZ21lbnQ+CisgICAgICAgIDxQYWNrYWdlR3JvdXAgSWQ9InRvb2xzIj4KKyAgICAgICAgICAgIDxNc2lQYWNrYWdlIElkPSJ0b29sc19BbGxVc2VycyIKKyAgICAgICAgICAgICAgICAgICAgICAgIFNvdXJjZUZpbGU9InRvb2xzLm1zaSIKKyAgICAgICAgICAgICAgICAgICAgICAgIENvbXByZXNzZWQ9IiQodmFyLkNvbXByZXNzTVNJKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIERvd25sb2FkVXJsPSIkKHZhci5Eb3dubG9hZFVybCkiCisgICAgICAgICAgICAgICAgICAgICAgICBGb3JjZVBlck1hY2hpbmU9InllcyIKKyAgICAgICAgICAgICAgICAgICAgICAgIEluc3RhbGxDb25kaXRpb249Ikluc3RhbGxBbGxVc2VycyBhbmQgSW5jbHVkZV90b29scyI+CisgICAgICAgICAgICAgICAgPE1zaVByb3BlcnR5IE5hbWU9IlRBUkdFVERJUiIgVmFsdWU9IltUYXJnZXREaXJdIiAvPgorICAgICAgICAgICAgPC9Nc2lQYWNrYWdlPgorICAgICAgICAgICAgCisgICAgICAgICAgICA8TXNpUGFja2FnZSBJZD0idG9vbHNfSnVzdEZvck1lIgorICAgICAgICAgICAgICAgICAgICAgICAgU291cmNlRmlsZT0idG9vbHMubXNpIgorICAgICAgICAgICAgICAgICAgICAgICAgQ29tcHJlc3NlZD0iJCh2YXIuQ29tcHJlc3NNU0kpIgorICAgICAgICAgICAgICAgICAgICAgICAgRG93bmxvYWRVcmw9IiQodmFyLkRvd25sb2FkVXJsKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIEZvcmNlUGVyTWFjaGluZT0ibm8iCisgICAgICAgICAgICAgICAgICAgICAgICBJbnN0YWxsQ29uZGl0aW9uPSJub3QgSW5zdGFsbEFsbFVzZXJzIGFuZCBJbmNsdWRlX3Rvb2xzIj4KKyAgICAgICAgICAgICAgICA8TXNpUHJvcGVydHkgTmFtZT0iVEFSR0VURElSIiBWYWx1ZT0iW1RhcmdldERpcl0iIC8+CisgICAgICAgICAgICA8L01zaVBhY2thZ2U+CisgICAgICAgIDwvUGFja2FnZUdyb3VwPgorICAgIDwvRnJhZ21lbnQ+Cis8L1dpeD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9Ub29scy9tc2kvYnVuZGxlL3JlbGVhc2Vsb2NhbC53aXhwcm9qIGIvVG9vbHMvbXNpL2J1bmRsZS9yZWxlYXNlbG9jYWwud2l4cHJvagpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wYzNkZWU3Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL2J1bmRsZS9yZWxlYXNlbG9jYWwud2l4cHJvagpAQCAtMCwwICsxLDIxIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgorPFByb2plY3QgVG9vbHNWZXJzaW9uPSI0LjAiIERlZmF1bHRUYXJnZXRzPSJCdWlsZCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+CisgICAgPFByb3BlcnR5R3JvdXA+CisgICAgICAgIDxQcm9qZWN0R3VpZD57RkNENDNBQzktOTY5Ri00OUExLThBQzUtRURDMjc1OTlEMUVCfTwvUHJvamVjdEd1aWQ+CisgICAgICAgIDxPdXRwdXROYW1lPnB5dGhvbjwvT3V0cHV0TmFtZT4KKyAgICAgICAgPE91dHB1dFN1ZmZpeD48L091dHB1dFN1ZmZpeD4KKyAgICA8L1Byb3BlcnR5R3JvdXA+CisKKyAgICA8SW1wb3J0IFByb2plY3Q9Ii4uXG1zaS5wcm9wcyIgLz4KKworICAgIDxQcm9wZXJ0eUdyb3VwPgorICAgICAgICA8RGVmaW5lQ29uc3RhbnRzPgorICAgICAgICAgICAgJChEZWZpbmVDb25zdGFudHMpOworICAgICAgICAgICAgQ29tcHJlc3NNU0k9eWVzOworICAgICAgICAgICAgQ29tcHJlc3NQREI9bm87CisgICAgICAgICAgICBDb21wcmVzc01TSV9EPW5vCisgICAgICAgIDwvRGVmaW5lQ29uc3RhbnRzPgorICAgIDwvUHJvcGVydHlHcm91cD4KKyAgICAKKyAgICA8SW1wb3J0IFByb2plY3Q9ImJ1bmRsZS50YXJnZXRzIiAvPgorPC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS9idW5kbGUvcmVsZWFzZXdlYi53aXhwcm9qIGIvVG9vbHMvbXNpL2J1bmRsZS9yZWxlYXNld2ViLndpeHByb2oKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzUwYzczNQotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS9idW5kbGUvcmVsZWFzZXdlYi53aXhwcm9qCkBAIC0wLDAgKzEsMjEgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8UHJvamVjdCBUb29sc1ZlcnNpb249IjQuMCIgRGVmYXVsdFRhcmdldHM9IkJ1aWxkIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KKyAgICA8UHJvcGVydHlHcm91cD4KKyAgICAgICAgPFByb2plY3RHdWlkPns3MUNERTIxMy1DQjM5LTRCRDktQjg5RC1CQkI4Nzg2ODkxNDR9PC9Qcm9qZWN0R3VpZD4KKyAgICAgICAgPE91dHB1dE5hbWU+cHl0aG9uPC9PdXRwdXROYW1lPgorICAgICAgICA8T3V0cHV0U3VmZml4PndlYmluc3RhbGw8L091dHB1dFN1ZmZpeD4KKyAgICA8L1Byb3BlcnR5R3JvdXA+CisKKyAgICA8SW1wb3J0IFByb2plY3Q9Ii4uXG1zaS5wcm9wcyIgLz4KKworICAgIDxQcm9wZXJ0eUdyb3VwPgorICAgICAgICA8RGVmaW5lQ29uc3RhbnRzPgorICAgICAgICAgICAgJChEZWZpbmVDb25zdGFudHMpOworICAgICAgICAgICAgQ29tcHJlc3NNU0k9bm87CisgICAgICAgICAgICBDb21wcmVzc1BEQj1ubzsKKyAgICAgICAgICAgIENvbXByZXNzTVNJX0Q9bm8KKyAgICAgICAgPC9EZWZpbmVDb25zdGFudHM+CisgICAgPC9Qcm9wZXJ0eUdyb3VwPgorICAgIAorICAgIDxJbXBvcnQgUHJvamVjdD0iYnVuZGxlLnRhcmdldHMiIC8+Cis8L1Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL2J1bmRsZS9zbmFwc2hvdC53aXhwcm9qIGIvVG9vbHMvbXNpL2J1bmRsZS9zbmFwc2hvdC53aXhwcm9qCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhmZTk1YTgKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9tc2kvYnVuZGxlL3NuYXBzaG90LndpeHByb2oKQEAgLTAsMCArMSwyMSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKzxQcm9qZWN0IFRvb2xzVmVyc2lvbj0iNC4wIiBEZWZhdWx0VGFyZ2V0cz0iQnVpbGQiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgorICAgIDxQcm9wZXJ0eUdyb3VwPgorICAgICAgICA8UHJvamVjdEd1aWQ+ezhBNEExMTYyLTRCRjktNEZGNi05QTk4LTMxNUYwMUU0NDkzMn08L1Byb2plY3RHdWlkPgorICAgICAgICA8T3V0cHV0TmFtZT5weXRob248L091dHB1dE5hbWU+CisgICAgICAgIDxPdXRwdXRTdWZmaXg+PC9PdXRwdXRTdWZmaXg+CisgICAgPC9Qcm9wZXJ0eUdyb3VwPgorCisgICAgPEltcG9ydCBQcm9qZWN0PSIuLlxtc2kucHJvcHMiIC8+CisKKyAgICA8UHJvcGVydHlHcm91cD4KKyAgICAgICAgPERlZmluZUNvbnN0YW50cz4KKyAgICAgICAgICAgICQoRGVmaW5lQ29uc3RhbnRzKTsKKyAgICAgICAgICAgIENvbXByZXNzTVNJPW5vOworICAgICAgICAgICAgQ29tcHJlc3NQREI9bm87CisgICAgICAgICAgICBDb21wcmVzc01TSV9EPW5vOworICAgICAgICA8L0RlZmluZUNvbnN0YW50cz4KKyAgICA8L1Byb3BlcnR5R3JvdXA+CisgICAgCisgICAgPEltcG9ydCBQcm9qZWN0PSJidW5kbGUudGFyZ2V0cyIgLz4KKzwvUHJvamVjdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9Ub29scy9tc2kvY29tbW9uLnd4cyBiL1Rvb2xzL21zaS9jb21tb24ud3hzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJlNTBjMTIKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9tc2kvY29tbW9uLnd4cwpAQCAtMCwwICsxLDEwMSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzxXaXggeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vd2l4LzIwMDYvd2kiPgorICAgIDxGcmFnbWVudD4KKyAgICAgICAgPFByb3BlcnR5IElkPSJSRUdJU1RSWUtFWSIgVmFsdWU9IlNvZnR3YXJlXCQodmFyLlRlc3RQcmVmaXgpUHl0aG9uXFB5dGhvbkNvcmVcJCh2YXIuU2hvcnRWZXJzaW9uKSQodmFyLlN1ZmZpeDMyKSIgLz4KKyAgICA8L0ZyYWdtZW50PgorICAgIAorICAgIDxGcmFnbWVudD4KKyAgICAgICAgPFByb3BlcnR5IElkPSJVcGdyYWRlVGFibGUiIFZhbHVlPSIxIiAvPgorICAgICAgICAKKyAgICAgICAgPFVwZ3JhZGUgSWQ9IiQodmFyLlVwZ3JhZGVDb2RlKSI+CisgICAgICAgICAgICA8VXBncmFkZVZlcnNpb24gUHJvcGVydHk9IkRPV05HUkFERSIgTWluaW11bT0iJCh2YXIuVmVyc2lvbikiIEluY2x1ZGVNaW5pbXVtPSJubyIgT25seURldGVjdD0ieWVzIiAvPgorICAgICAgICAgICAgPFVwZ3JhZGVWZXJzaW9uIFByb3BlcnR5PSJVUEdSQURFIiBNaW5pbXVtPSIkKHZhci5VcGdyYWRlTWluaW11bVZlcnNpb24pIiBJbmNsdWRlTWluaW11bT0ieWVzIiBNYXhpbXVtPSIkKHZhci5WZXJzaW9uKSIgSW5jbHVkZU1heGltdW09Im5vIiAvPgorICAgICAgICA8L1VwZ3JhZGU+CisgICAgICAgIAorICAgICAgICA8P2lmICQodmFyLlVwZ3JhZGVDb2RlKSE9JCh2YXIuQ29yZVVwZ3JhZGVDb2RlKSA/PgorICAgICAgICA8VXBncmFkZSBJZD0iJCh2YXIuQ29yZVVwZ3JhZGVDb2RlKSI+CisgICAgICAgICAgICA8VXBncmFkZVZlcnNpb24gUHJvcGVydHk9Ik1JU1NJTkdfQ09SRSIgTWluaW11bT0iJCh2YXIuVmVyc2lvbikiIE1heGltdW09IiQodmFyLlZlcnNpb24pIiBPbmx5RGV0ZWN0PSJ5ZXMiIC8+CisgICAgICAgIDwvVXBncmFkZT4KKyAgICAgICAgPD9lbmRpZiA/PgorICAgICAgICAKKyAgICAgICAgPENvbmRpdGlvbiBNZXNzYWdlPSIhKGxvYy5Ob0Rvd25ncmFkZSkiPkluc3RhbGxlZCBPUiBOT1QgRE9XTkdSQURFPC9Db25kaXRpb24+CisgICAgICAgIDxDb25kaXRpb24gTWVzc2FnZT0iIShsb2MuSW5jb3JyZWN0Q29yZSkiPkluc3RhbGxlZCBPUiBOT1QgTUlTU0lOR19DT1JFPC9Db25kaXRpb24+CisgICAgICAgIDxDb25kaXRpb24gTWVzc2FnZT0iIShsb2MuTm9UYXJnZXREaXIpIj5JbnN0YWxsZWQgT1IgVEFSR0VURElSIE9SIFN1cHByZXNzX1RBUkdFVERJUl9DaGVjazwvQ29uZGl0aW9uPgorCisgICAgICAgIDxJbnN0YWxsRXhlY3V0ZVNlcXVlbmNlPgorICAgICAgICAgICAgPFJlbW92ZUV4aXN0aW5nUHJvZHVjdHMgQWZ0ZXI9Ikluc3RhbGxJbml0aWFsaXplIj5VUEdSQURFPC9SZW1vdmVFeGlzdGluZ1Byb2R1Y3RzPgorICAgICAgICA8L0luc3RhbGxFeGVjdXRlU2VxdWVuY2U+CisgICAgPC9GcmFnbWVudD4KKyAgICAKKyAgICA8RnJhZ21lbnQ+CisgICAgICAgIDwhLS0gSW5jbHVkZSBhbiBpY29uIGZvciB0aGUgUHJvZ3JhbXMgYW5kIEZlYXR1cmVzIGRpYWxvZyAtLT4KKyAgICAgICAgPEljb24gSWQ9IkFSUEljb24iIFNvdXJjZUZpbGU9IiEoYmluZHBhdGguc3JjKVBDXHB5Y29uLmljbyIgLz4KKyAgICAgICAgPFByb3BlcnR5IElkPSJBUlBQUk9EVUNUSUNPTiIgVmFsdWU9IkFSUEljb24iIC8+CisgICAgICAgIDxQcm9wZXJ0eSBJZD0iQVJQTk9NT0RJRlkiIFZhbHVlPSIxIiAvPgorICAgICAgICA8UHJvcGVydHkgSWQ9IkRJU0FCTEVBRFZUU0hPUlRDVVRTIiBWYWx1ZT0iMSIgLz4KKyAgICA8L0ZyYWdtZW50PgorICAgIAorICAgIDxGcmFnbWVudD4KKyAgICAgICAgPERpcmVjdG9yeSBJZD0iVEFSR0VURElSIiBOYW1lPSJTb3VyY2VEaXIiPgorICAgICAgICAgICAgPERpcmVjdG9yeSBJZD0iSW5zdGFsbERpcmVjdG9yeSIgQ29tcG9uZW50R3VpZEdlbmVyYXRpb25TZWVkPSIkKHZhci5JbnN0YWxsRGlyZWN0b3J5R3VpZFNlZWQpIiAvPgorICAgICAgICA8L0RpcmVjdG9yeT4KKyAgICA8L0ZyYWdtZW50PgorICAgIAorICAgIDwhLS0gVG9wLWxldmVsIGRpcmVjdG9yaWVzIC0tPgorICAgIDxGcmFnbWVudD4KKyAgICAgICAgPERpcmVjdG9yeVJlZiBJZD0iSW5zdGFsbERpcmVjdG9yeSI+CisgICAgICAgICAgICA8RGlyZWN0b3J5IElkPSJETExzIiBOYW1lPSJETExzIiAvPgorICAgICAgICA8L0RpcmVjdG9yeVJlZj4KKyAgICA8L0ZyYWdtZW50PgorCisgICAgPEZyYWdtZW50PgorICAgICAgICA8RGlyZWN0b3J5UmVmIElkPSJJbnN0YWxsRGlyZWN0b3J5Ij4KKyAgICAgICAgICAgIDxEaXJlY3RvcnkgSWQ9IkRvYyIgTmFtZT0iRG9jIiAvPgorICAgICAgICA8L0RpcmVjdG9yeVJlZj4KKyAgICA8L0ZyYWdtZW50PgorCisgICAgPEZyYWdtZW50PgorICAgICAgICA8RGlyZWN0b3J5UmVmIElkPSJJbnN0YWxsRGlyZWN0b3J5Ij4KKyAgICAgICAgICAgIDxEaXJlY3RvcnkgSWQ9ImluY2x1ZGUiIE5hbWU9ImluY2x1ZGUiIC8+CisgICAgICAgIDwvRGlyZWN0b3J5UmVmPgorICAgIDwvRnJhZ21lbnQ+CisKKyAgICA8RnJhZ21lbnQ+CisgICAgICAgIDxEaXJlY3RvcnlSZWYgSWQ9Ikluc3RhbGxEaXJlY3RvcnkiPgorICAgICAgICAgICAgPERpcmVjdG9yeSBJZD0iTGliIiBOYW1lPSJMaWIiIC8+CisgICAgICAgIDwvRGlyZWN0b3J5UmVmPgorICAgIDwvRnJhZ21lbnQ+CisKKyAgICA8RnJhZ21lbnQ+CisgICAgICAgIDxEaXJlY3RvcnlSZWYgSWQ9Ikluc3RhbGxEaXJlY3RvcnkiPgorICAgICAgICAgICAgPERpcmVjdG9yeSBJZD0ibGlicyIgTmFtZT0ibGlicyIgLz4KKyAgICAgICAgPC9EaXJlY3RvcnlSZWY+CisgICAgPC9GcmFnbWVudD4KKworICAgIDxGcmFnbWVudD4KKyAgICAgICAgPERpcmVjdG9yeVJlZiBJZD0iSW5zdGFsbERpcmVjdG9yeSI+CisgICAgICAgICAgICA8RGlyZWN0b3J5IElkPSJTY3JpcHRzIiBOYW1lPSJTY3JpcHRzIiAvPgorICAgICAgICA8L0RpcmVjdG9yeVJlZj4KKyAgICA8L0ZyYWdtZW50PgorCisgICAgPEZyYWdtZW50PgorICAgICAgICA8RGlyZWN0b3J5UmVmIElkPSJJbnN0YWxsRGlyZWN0b3J5Ij4KKyAgICAgICAgICAgIDxEaXJlY3RvcnkgSWQ9InRjbCIgTmFtZT0idGNsIiAvPgorICAgICAgICA8L0RpcmVjdG9yeVJlZj4KKyAgICA8L0ZyYWdtZW50PgorCisgICAgPEZyYWdtZW50PgorICAgICAgICA8RGlyZWN0b3J5UmVmIElkPSJJbnN0YWxsRGlyZWN0b3J5Ij4KKyAgICAgICAgICAgIDxEaXJlY3RvcnkgSWQ9IlRvb2xzIiBOYW1lPSJUb29scyIgLz4KKyAgICAgICAgPC9EaXJlY3RvcnlSZWY+CisgICAgPC9GcmFnbWVudD4KKyAgICAKKyAgICA8IS0tIFN0YXJ0IE1lbnUgZm9sZGVyIC0tPgorICAgIDxGcmFnbWVudD4KKyAgICAgICAgPERpcmVjdG9yeVJlZiBJZD0iVEFSR0VURElSIj4KKyAgICAgICAgICAgIDxEaXJlY3RvcnkgSWQ9IlByb2dyYW1NZW51Rm9sZGVyIj4KKyAgICAgICAgICAgICAgICA8RGlyZWN0b3J5IElkPSJNZW51RGlyIiBOYW1lPSIhKGxvYy5Qcm9kdWN0TmFtZSkiIC8+CisgICAgICAgICAgICA8L0RpcmVjdG9yeT4KKyAgICAgICAgPC9EaXJlY3RvcnlSZWY+CisgICAgPC9GcmFnbWVudD4KKzwvV2l4PgpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL2NvbW1vbl9lbi1VUy53eGxfdGVtcGxhdGUgYi9Ub29scy9tc2kvY29tbW9uX2VuLVVTLnd4bF90ZW1wbGF0ZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZDAzNTI2Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL2NvbW1vbl9lbi1VUy53eGxfdGVtcGxhdGUKQEAgLTAsMCArMSwxNyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKzxXaXhMb2NhbGl6YXRpb24gQ3VsdHVyZT0iZW4tdXMiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3dpeC8yMDA2L2xvY2FsaXphdGlvbiI+CisgICAgPFN0cmluZyBJZD0iTENJRCI+MTAzMzwvU3RyaW5nPgorICAgIDxTdHJpbmcgSWQ9IkN1bHR1cmUiPmVuLXVzPC9TdHJpbmc+CisgICAgPFN0cmluZyBJZD0iUHJvZHVjdE5hbWUiPlB5dGhvbiB7e1Nob3J0VmVyc2lvbn19PC9TdHJpbmc+CisgICAgPFN0cmluZyBJZD0iRnVsbFByb2R1Y3ROYW1lIj5QeXRob24ge3tMb25nVmVyc2lvbn19ICh7e0JpdG5lc3N9fSk8L1N0cmluZz4KKyAgICA8U3RyaW5nIElkPSJUaXRsZSI+UHl0aG9uIHt7TG9uZ1ZlcnNpb259fSAhKGxvYy5EZXNjcmlwdG9yKSAoe3tCaXRuZXNzfX0pPC9TdHJpbmc+CisgICAgPFN0cmluZyBJZD0iRGVzY3JpcHRpb24iPlB5dGhvbiB7e0xvbmdWZXJzaW9ufX0gIShsb2MuRGVzY3JpcHRvcikgKHt7Qml0bmVzc319KTwvU3RyaW5nPgorICAgIDxTdHJpbmcgSWQ9IlRpdGxlUGRiIj5QeXRob24ge3tMb25nVmVyc2lvbn19ICEobG9jLkRlc2NyaXB0b3IpICh7e0JpdG5lc3N9fSBzeW1ib2xzKTwvU3RyaW5nPgorICAgIDxTdHJpbmcgSWQ9IkRlc2NyaXB0aW9uUGRiIj5QeXRob24ge3tMb25nVmVyc2lvbn19ICEobG9jLkRlc2NyaXB0b3IpICh7e0JpdG5lc3N9fSBzeW1ib2xzKTwvU3RyaW5nPgorICAgIDxTdHJpbmcgSWQ9IlRpdGxlX2QiPlB5dGhvbiB7e0xvbmdWZXJzaW9ufX0gIShsb2MuRGVzY3JpcHRvcikgKHt7Qml0bmVzc319IGRlYnVnKTwvU3RyaW5nPgorICAgIDxTdHJpbmcgSWQ9IkRlc2NyaXB0aW9uX2QiPlB5dGhvbiB7e0xvbmdWZXJzaW9ufX0gIShsb2MuRGVzY3JpcHRvcikgKHt7Qml0bmVzc319IGRlYnVnKTwvU3RyaW5nPgorICAgIDxTdHJpbmcgSWQ9Ik1hbnVmYWN0dXJlciI+UHl0aG9uIFNvZnR3YXJlIEZvdW5kYXRpb248L1N0cmluZz4KKyAgICA8U3RyaW5nIElkPSJOb0Rvd25ncmFkZSI+QSBuZXdlciB2ZXJzaW9uIG9mICEobG9jLlByb2R1Y3ROYW1lKSBpcyBhbHJlYWR5IGluc3RhbGxlZC48L1N0cmluZz4KKyAgICA8U3RyaW5nIElkPSJJbmNvcnJlY3RDb3JlIj5BbiBpbmNvcnJlY3QgdmVyc2lvbiBvZiBhIHByZXJlcXVpc2l0ZSBwYWNrYWdlIGlzIGluc3RhbGxlZC4gUGxlYXNlIHVuaW5zdGFsbCBhbnkgb3RoZXIgdmVyc2lvbnMgb2YgIShsb2MuUHJvZHVjdE5hbWUpIGFuZCB0cnkgaW5zdGFsbGluZyB0aGlzIGFnYWluLjwvU3RyaW5nPgorICAgIDxTdHJpbmcgSWQ9Ik5vVGFyZ2V0RGlyIj5UaGUgVEFSR0VURElSIHZhcmlhYmxlIG11c3QgYmUgcHJvdmlkZWQgd2hlbiBpbnZva2luZyB0aGlzIGluc3RhbGxlci48L1N0cmluZz4KKzwvV2l4TG9jYWxpemF0aW9uPgpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL2NvcmUvY29yZS53aXhwcm9qIGIvVG9vbHMvbXNpL2NvcmUvY29yZS53aXhwcm9qCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY4ZThiYWIKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9tc2kvY29yZS9jb3JlLndpeHByb2oKQEAgLTAsMCArMSwxOSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKzxQcm9qZWN0IFRvb2xzVmVyc2lvbj0iNC4wIiBEZWZhdWx0VGFyZ2V0cz0iQnVpbGQiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgorICAgIDxQcm9wZXJ0eUdyb3VwPgorICAgICAgICA8UHJvamVjdEd1aWQ+ezFCNDUwMkQ1LUI2MjctNEY1MC1BQkVBLTRDQzVBOEU4ODI2NX08L1Byb2plY3RHdWlkPgorICAgICAgICA8U2NoZW1hVmVyc2lvbj4yLjA8L1NjaGVtYVZlcnNpb24+CisgICAgICAgIDxPdXRwdXROYW1lPmNvcmU8L091dHB1dE5hbWU+CisgICAgICAgIDxPdXRwdXRUeXBlPlBhY2thZ2U8L091dHB1dFR5cGU+CisgICAgPC9Qcm9wZXJ0eUdyb3VwPgorICAgIDxJbXBvcnQgUHJvamVjdD0iLi5cbXNpLnByb3BzIiAvPgorICAgIDxJdGVtR3JvdXA+CisgICAgICAgIDxDb21waWxlIEluY2x1ZGU9ImNvcmUud3hzIiAvPgorICAgICAgICA8Q29tcGlsZSBJbmNsdWRlPSJjb3JlX2ZpbGVzLnd4cyIgLz4KKyAgICA8L0l0ZW1Hcm91cD4KKyAgICA8SXRlbUdyb3VwPgorICAgICAgICA8RW1iZWRkZWRSZXNvdXJjZSBJbmNsdWRlPSIqLnd4bCIgLz4KKyAgICA8L0l0ZW1Hcm91cD4KKworICAgIDxJbXBvcnQgUHJvamVjdD0iLi5cbXNpLnRhcmdldHMiIC8+Cis8L1Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL2NvcmUvY29yZS53eHMgYi9Ub29scy9tc2kvY29yZS9jb3JlLnd4cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZDRmYmRlCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL2NvcmUvY29yZS53eHMKQEAgLTAsMCArMSwxMyBAQAor77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzxXaXggeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vd2l4LzIwMDYvd2kiPgorICAgIDxQcm9kdWN0IElkPSIqIiBMYW5ndWFnZT0iIShsb2MuTENJRCkiIE5hbWU9IiEobG9jLlRpdGxlKSIgVmVyc2lvbj0iJCh2YXIuVmVyc2lvbikiIE1hbnVmYWN0dXJlcj0iIShsb2MuTWFudWZhY3R1cmVyKSIgVXBncmFkZUNvZGU9IiQodmFyLlVwZ3JhZGVDb2RlKSI+CisgICAgICAgIDxQYWNrYWdlIEluc3RhbGxlclZlcnNpb249IjMwMCIgQ29tcHJlc3NlZD0ieWVzIiBJbnN0YWxsU2NvcGU9InBlclVzZXIiIFBsYXRmb3JtPSIkKHZhci5QbGF0Zm9ybSkiIC8+CisgICAgICAgIDxNZWRpYVRlbXBsYXRlIEVtYmVkQ2FiPSJ5ZXMiIENvbXByZXNzaW9uTGV2ZWw9ImhpZ2giIC8+CisgICAgICAgIAorICAgICAgICA8UHJvcGVydHlSZWYgSWQ9IlVwZ3JhZGVUYWJsZSIgLz4KKyAgICAgICAgCisgICAgICAgIDxGZWF0dXJlIElkPSJEZWZhdWx0RmVhdHVyZSIgQWxsb3dBZHZlcnRpc2U9Im5vIiBUaXRsZT0iIShsb2MuVGl0bGUpIiBEZXNjcmlwdGlvbj0iIShsb2MuRGVzY3JpcHRpb24pIj4KKyAgICAgICAgICAgIDxDb21wb25lbnRHcm91cFJlZiBJZD0iY29yZV9kbGwiIC8+CisgICAgICAgIDwvRmVhdHVyZT4KKyAgICA8L1Byb2R1Y3Q+Cis8L1dpeD4KZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS9jb3JlL2NvcmVfZC53aXhwcm9qIGIvVG9vbHMvbXNpL2NvcmUvY29yZV9kLndpeHByb2oKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWIyOTZiZgotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS9jb3JlL2NvcmVfZC53aXhwcm9qCkBAIC0wLDAgKzEsMTkgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8UHJvamVjdCBUb29sc1ZlcnNpb249IjQuMCIgRGVmYXVsdFRhcmdldHM9IkJ1aWxkIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KKyAgICA8UHJvcGVydHlHcm91cD4KKyAgICAgICAgPFByb2plY3RHdWlkPntEMzY3N0RDRi0wOThBLTQzOTgtOUZBNS04RTc0QUMzN0UwREZ9PC9Qcm9qZWN0R3VpZD4KKyAgICAgICAgPFNjaGVtYVZlcnNpb24+Mi4wPC9TY2hlbWFWZXJzaW9uPgorICAgICAgICA8T3V0cHV0TmFtZT5jb3JlX2Q8L091dHB1dE5hbWU+CisgICAgICAgIDxPdXRwdXRUeXBlPlBhY2thZ2U8L091dHB1dFR5cGU+CisgICAgPC9Qcm9wZXJ0eUdyb3VwPgorICAgIDxJbXBvcnQgUHJvamVjdD0iLi5cbXNpLnByb3BzIiAvPgorICAgIDxJdGVtR3JvdXA+CisgICAgICAgIDxDb21waWxlIEluY2x1ZGU9ImNvcmVfZC53eHMiIC8+CisgICAgICAgIDxDb21waWxlIEluY2x1ZGU9ImNvcmVfZmlsZXMud3hzIiAvPgorICAgIDwvSXRlbUdyb3VwPgorICAgIDxJdGVtR3JvdXA+CisgICAgICAgIDxFbWJlZGRlZFJlc291cmNlIEluY2x1ZGU9Iioud3hsIiAvPgorICAgIDwvSXRlbUdyb3VwPgorCisgICAgPEltcG9ydCBQcm9qZWN0PSIuLlxtc2kudGFyZ2V0cyIgLz4KKzwvUHJvamVjdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9Ub29scy9tc2kvY29yZS9jb3JlX2Qud3hzIGIvVG9vbHMvbXNpL2NvcmUvY29yZV9kLnd4cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NDIyMTE3Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL2NvcmUvY29yZV9kLnd4cwpAQCAtMCwwICsxLDEzIEBACivvu788P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPFdpeCB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS93aXgvMjAwNi93aSI+CisgICAgPFByb2R1Y3QgSWQ9IioiIExhbmd1YWdlPSIhKGxvYy5MQ0lEKSIgTmFtZT0iIShsb2MuVGl0bGUpIiBWZXJzaW9uPSIkKHZhci5WZXJzaW9uKSIgTWFudWZhY3R1cmVyPSIhKGxvYy5NYW51ZmFjdHVyZXIpIiBVcGdyYWRlQ29kZT0iJCh2YXIuVXBncmFkZUNvZGUpIj4KKyAgICAgICAgPFBhY2thZ2UgSW5zdGFsbGVyVmVyc2lvbj0iMzAwIiBDb21wcmVzc2VkPSJ5ZXMiIEluc3RhbGxTY29wZT0icGVyVXNlciIgUGxhdGZvcm09IiQodmFyLlBsYXRmb3JtKSIgLz4KKyAgICAgICAgPE1lZGlhVGVtcGxhdGUgRW1iZWRDYWI9InllcyIgQ29tcHJlc3Npb25MZXZlbD0iaGlnaCIgLz4KKyAgICAgICAgCisgICAgICAgIDxQcm9wZXJ0eVJlZiBJZD0iVXBncmFkZVRhYmxlIiAvPgorICAgICAgICAKKyAgICAgICAgPEZlYXR1cmUgSWQ9IkRlYnVnQmluYXJpZXMiIEFsbG93QWR2ZXJ0aXNlPSJubyIgVGl0bGU9IiEobG9jLlRpdGxlX2QpIiBEZXNjcmlwdGlvbj0iIShsb2MuRGVzY3JpcHRpb25fZCkiPgorICAgICAgICAgICAgPENvbXBvbmVudEdyb3VwUmVmIElkPSJjb3JlX2RsbF9kIiAvPgorICAgICAgICA8L0ZlYXR1cmU+CisgICAgPC9Qcm9kdWN0PgorPC9XaXg+CmRpZmYgLS1naXQgYS9Ub29scy9tc2kvY29yZS9jb3JlX2VuLVVTLnd4bCBiL1Rvb2xzL21zaS9jb3JlL2NvcmVfZW4tVVMud3hsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc5Nzc0NzAKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9tc2kvY29yZS9jb3JlX2VuLVVTLnd4bApAQCAtMCwwICsxLDUgQEAKK++7vzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8V2l4TG9jYWxpemF0aW9uIEN1bHR1cmU9ImVuLXVzIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS93aXgvMjAwNi9sb2NhbGl6YXRpb24iPgorICAgIDxTdHJpbmcgSWQ9IkRlc2NyaXB0b3IiPkNvcmUgSW50ZXJwcmV0ZXI8L1N0cmluZz4KKyAgICA8U3RyaW5nIElkPSJTaG9ydERlc2NyaXB0b3IiPmNvcmU8L1N0cmluZz4KKzwvV2l4TG9jYWxpemF0aW9uPgpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL2NvcmUvY29yZV9maWxlcy53eHMgYi9Ub29scy9tc2kvY29yZS9jb3JlX2ZpbGVzLnd4cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNDVlMTQ3Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL2NvcmUvY29yZV9maWxlcy53eHMKQEAgLTAsMCArMSwzMSBAQAor77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzxXaXggeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vd2l4LzIwMDYvd2kiPgorICAgIDxGcmFnbWVudD4KKyAgICAgICAgPENvbXBvbmVudEdyb3VwIElkPSJjb3JlX2RsbCI+CisgICAgICAgICAgICA8Q29tcG9uZW50IElkPSJweXRob25fc3RhYmxlLmRsbCIgRGlyZWN0b3J5PSJJbnN0YWxsRGlyZWN0b3J5IiBHdWlkPSIqIj4KKyAgICAgICAgICAgICAgICA8RmlsZSBJZD0icHl0aG9uX3N0YWJsZS5kbGwiIE5hbWU9InB5dGhvbiQodmFyLk1ham9yVmVyc2lvbk51bWJlcikuZGxsIiBLZXlQYXRoPSJ5ZXMiIC8+CisgICAgICAgICAgICA8L0NvbXBvbmVudD4KKyAgICAgICAgICAgIDxDb21wb25lbnQgSWQ9InB5dGhvbi5kbGwiIERpcmVjdG9yeT0iSW5zdGFsbERpcmVjdG9yeSIgR3VpZD0iKiI+CisgICAgICAgICAgICAgICAgPEZpbGUgSWQ9InB5dGhvbi5kbGwiIE5hbWU9InB5dGhvbiQodmFyLk1ham9yVmVyc2lvbk51bWJlcikkKHZhci5NaW5vclZlcnNpb25OdW1iZXIpLmRsbCIgS2V5UGF0aD0ieWVzIiAvPgorICAgICAgICAgICAgPC9Db21wb25lbnQ+CisgICAgICAgIDwvQ29tcG9uZW50R3JvdXA+CisgICAgPC9GcmFnbWVudD4KKyAgICA8RnJhZ21lbnQ+CisgICAgICAgIDxDb21wb25lbnRHcm91cCBJZD0iY29yZV9zeW1ib2xzIj4KKyAgICAgICAgICAgIDxDb21wb25lbnQgSWQ9InB5dGhvbi5wZGIiIERpcmVjdG9yeT0iSW5zdGFsbERpcmVjdG9yeSIgR3VpZD0iKiI+CisgICAgICAgICAgICAgICAgPEZpbGUgSWQ9InB5dGhvbi5wZGIiIE5hbWU9InB5dGhvbiQodmFyLk1ham9yVmVyc2lvbk51bWJlcikkKHZhci5NaW5vclZlcnNpb25OdW1iZXIpLnBkYiIgS2V5UGF0aD0ieWVzIiAvPgorICAgICAgICAgICAgPC9Db21wb25lbnQ+CisgICAgICAgIDwvQ29tcG9uZW50R3JvdXA+CisgICAgPC9GcmFnbWVudD4KKyAgICA8RnJhZ21lbnQ+CisgICAgICAgIDxDb21wb25lbnRHcm91cCBJZD0iY29yZV9kbGxfZCI+CisgICAgICAgICAgICA8Q29tcG9uZW50IElkPSJweXRob25fc3RhYmxlX2QuZGxsIiBEaXJlY3Rvcnk9Ikluc3RhbGxEaXJlY3RvcnkiIEd1aWQ9IioiPgorICAgICAgICAgICAgICAgIDxGaWxlIElkPSJweXRob25fc3RhYmxlX2QuZGxsIiBOYW1lPSJweXRob24kKHZhci5NYWpvclZlcnNpb25OdW1iZXIpX2QuZGxsIiBLZXlQYXRoPSJ5ZXMiIC8+CisgICAgICAgICAgICA8L0NvbXBvbmVudD4KKyAgICAgICAgICAgIDxDb21wb25lbnQgSWQ9InB5dGhvbl9kLmRsbCIgRGlyZWN0b3J5PSJJbnN0YWxsRGlyZWN0b3J5IiBHdWlkPSIqIj4KKyAgICAgICAgICAgICAgICA8RmlsZSBJZD0icHl0aG9uX2QuZGxsIiBOYW1lPSJweXRob24kKHZhci5NYWpvclZlcnNpb25OdW1iZXIpJCh2YXIuTWlub3JWZXJzaW9uTnVtYmVyKV9kLmRsbCIgS2V5UGF0aD0ieWVzIiAvPgorICAgICAgICAgICAgICAgIDxGaWxlIElkPSJweXRob25fZC5wZGIiIE5hbWU9InB5dGhvbiQodmFyLk1ham9yVmVyc2lvbk51bWJlcikkKHZhci5NaW5vclZlcnNpb25OdW1iZXIpX2QucGRiIiBLZXlQYXRoPSJubyIgLz4KKyAgICAgICAgICAgIDwvQ29tcG9uZW50PgorICAgICAgICA8L0NvbXBvbmVudEdyb3VwPgorICAgIDwvRnJhZ21lbnQ+Cis8L1dpeD4KZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS9jb3JlL2NvcmVfcGRiLndpeHByb2ogYi9Ub29scy9tc2kvY29yZS9jb3JlX3BkYi53aXhwcm9qCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjljODgzODkKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9tc2kvY29yZS9jb3JlX3BkYi53aXhwcm9qCkBAIC0wLDAgKzEsMTkgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8UHJvamVjdCBUb29sc1ZlcnNpb249IjQuMCIgRGVmYXVsdFRhcmdldHM9IkJ1aWxkIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KKyAgICA8UHJvcGVydHlHcm91cD4KKyAgICAgICAgPFByb2plY3RHdWlkPntFOThFNzUzOS02NEU3LTREQ0UtQUFDRC0wMUUzQURFNDBFRkR9PC9Qcm9qZWN0R3VpZD4KKyAgICAgICAgPFNjaGVtYVZlcnNpb24+Mi4wPC9TY2hlbWFWZXJzaW9uPgorICAgICAgICA8T3V0cHV0TmFtZT5jb3JlX3BkYjwvT3V0cHV0TmFtZT4KKyAgICAgICAgPE91dHB1dFR5cGU+UGFja2FnZTwvT3V0cHV0VHlwZT4KKyAgICA8L1Byb3BlcnR5R3JvdXA+CisgICAgPEltcG9ydCBQcm9qZWN0PSIuLlxtc2kucHJvcHMiIC8+CisgICAgPEl0ZW1Hcm91cD4KKyAgICAgICAgPENvbXBpbGUgSW5jbHVkZT0iY29yZV9wZGIud3hzIiAvPgorICAgICAgICA8Q29tcGlsZSBJbmNsdWRlPSJjb3JlX2ZpbGVzLnd4cyIgLz4KKyAgICA8L0l0ZW1Hcm91cD4KKyAgICA8SXRlbUdyb3VwPgorICAgICAgICA8RW1iZWRkZWRSZXNvdXJjZSBJbmNsdWRlPSIqLnd4bCIgLz4KKyAgICA8L0l0ZW1Hcm91cD4KKworICAgIDxJbXBvcnQgUHJvamVjdD0iLi5cbXNpLnRhcmdldHMiIC8+Cis8L1Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL2NvcmUvY29yZV9wZGIud3hzIGIvVG9vbHMvbXNpL2NvcmUvY29yZV9wZGIud3hzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM5YTU1OGQKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9tc2kvY29yZS9jb3JlX3BkYi53eHMKQEAgLTAsMCArMSwxMyBAQAor77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzxXaXggeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vd2l4LzIwMDYvd2kiPgorICAgIDxQcm9kdWN0IElkPSIqIiBMYW5ndWFnZT0iIShsb2MuTENJRCkiIE5hbWU9IiEobG9jLlRpdGxlKSIgVmVyc2lvbj0iJCh2YXIuVmVyc2lvbikiIE1hbnVmYWN0dXJlcj0iIShsb2MuTWFudWZhY3R1cmVyKSIgVXBncmFkZUNvZGU9IiQodmFyLlVwZ3JhZGVDb2RlKSI+CisgICAgICAgIDxQYWNrYWdlIEluc3RhbGxlclZlcnNpb249IjMwMCIgQ29tcHJlc3NlZD0ieWVzIiBJbnN0YWxsU2NvcGU9InBlclVzZXIiIFBsYXRmb3JtPSIkKHZhci5QbGF0Zm9ybSkiIC8+CisgICAgICAgIDxNZWRpYVRlbXBsYXRlIEVtYmVkQ2FiPSJ5ZXMiIENvbXByZXNzaW9uTGV2ZWw9ImhpZ2giIC8+CisgICAgICAgIAorICAgICAgICA8UHJvcGVydHlSZWYgSWQ9IlVwZ3JhZGVUYWJsZSIgLz4KKyAgICAgICAgCisgICAgICAgIDxGZWF0dXJlIElkPSJTeW1ib2xzIiBBbGxvd0FkdmVydGlzZT0ibm8iIFRpdGxlPSIhKGxvYy5UaXRsZVBkYikiIERlc2NyaXB0aW9uPSIhKGxvYy5EZXNjcmlwdGlvblBkYikiPgorICAgICAgICAgICAgPENvbXBvbmVudEdyb3VwUmVmIElkPSJjb3JlX3N5bWJvbHMiIC8+CisgICAgICAgIDwvRmVhdHVyZT4KKyAgICA8L1Byb2R1Y3Q+Cis8L1dpeD4KZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS9jcnQvY3J0LndpeHByb2ogYi9Ub29scy9tc2kvY3J0L2NydC53aXhwcm9qCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc1Mjk1YmEKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9tc2kvY3J0L2NydC53aXhwcm9qCkBAIC0wLDAgKzEsMjAgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8UHJvamVjdCBUb29sc1ZlcnNpb249IjQuMCIgRGVmYXVsdFRhcmdldHM9IkJ1aWxkIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KKyAgICA8UHJvcGVydHlHcm91cD4KKyAgICAgICAgPFByb2plY3RHdWlkPns5MUM5OTI5OC04RTJFLTQ0MjItQTVBRi1DQzRGRkY5QTU4RDN9PC9Qcm9qZWN0R3VpZD4KKyAgICAgICAgPFNjaGVtYVZlcnNpb24+Mi4wPC9TY2hlbWFWZXJzaW9uPgorICAgICAgICA8T3V0cHV0TmFtZT5jcnQ8L091dHB1dE5hbWU+CisgICAgICAgIDxPdXRwdXRUeXBlPlBhY2thZ2U8L091dHB1dFR5cGU+CisgICAgICAgIDxTdXBwcmVzc0ljZXM+SUNFNzE8L1N1cHByZXNzSWNlcz4KKyAgICA8L1Byb3BlcnR5R3JvdXA+CisgICAgPEltcG9ydCBQcm9qZWN0PSIuLlxtc2kucHJvcHMiIC8+CisgICAgPEl0ZW1Hcm91cD4KKyAgICAgICAgPENvbXBpbGUgSW5jbHVkZT0iY3J0Lnd4cyIgLz4KKyAgICAgICAgPENvbXBpbGUgSW5jbHVkZT0iY3J0X2ZpbGVzLnd4cyIgLz4KKyAgICA8L0l0ZW1Hcm91cD4KKyAgICA8SXRlbUdyb3VwPgorICAgICAgICA8RW1iZWRkZWRSZXNvdXJjZSBJbmNsdWRlPSIqLnd4bCIgLz4KKyAgICA8L0l0ZW1Hcm91cD4KKyAgICAKKyAgICA8SW1wb3J0IFByb2plY3Q9Ii4uXG1zaS50YXJnZXRzIiAvPgorPC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS9jcnQvY3J0Lnd4cyBiL1Rvb2xzL21zaS9jcnQvY3J0Lnd4cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41YjEwMDk1Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL2NydC9jcnQud3hzCkBAIC0wLDAgKzEsMjYgQEAKK++7vzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8V2l4IHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3dpeC8yMDA2L3dpIj4KKyAgICA8UHJvZHVjdCBJZD0iKiIgTGFuZ3VhZ2U9IiEobG9jLkxDSUQpIiBOYW1lPSIhKGxvYy5UaXRsZSkiIFZlcnNpb249IiQodmFyLlZlcnNpb24pIiBNYW51ZmFjdHVyZXI9IiEobG9jLk1hbnVmYWN0dXJlcikiIFVwZ3JhZGVDb2RlPSIkKHZhci5VcGdyYWRlQ29kZSkiPgorICAgICAgICA8UGFja2FnZSBJbnN0YWxsZXJWZXJzaW9uPSIzMDAiIENvbXByZXNzZWQ9InllcyIgSW5zdGFsbFNjb3BlPSJwZXJVc2VyIiBQbGF0Zm9ybT0iJCh2YXIuUGxhdGZvcm0pIiAvPgorICAgICAgICA8TWVkaWFUZW1wbGF0ZSBFbWJlZENhYj0ieWVzIiBDb21wcmVzc2lvbkxldmVsPSJoaWdoIiAvPgorICAgICAgICAKKyAgICAgICAgPFByb3BlcnR5UmVmIElkPSJVcGdyYWRlVGFibGUiIC8+CisgICAgICAgIAorICAgICAgICA8P2lmICQodmFyLlBsYXRmb3JtKX49eDY0ID8+CisgICAgICAgIDw/ZGVmaW5lIERpck5hbWU9U3lzdGVtNjQ/PgorICAgICAgICA8P2Vsc2UgPz4KKyAgICAgICAgPD9kZWZpbmUgRGlyTmFtZT1TeXN0ZW0/PgorICAgICAgICA8P2VuZGlmID8+CisgICAgICAgIDxEaXJlY3RvcnlSZWYgSWQ9IlRBUkdFVERJUiI+CisgICAgICAgICAgICA8RGlyZWN0b3J5IElkPSIkKHZhci5EaXJOYW1lKUZvbGRlciIgTmFtZT0iJCh2YXIuRGlyTmFtZSkiPgorICAgICAgICAgICAgICAgIDxEaXJlY3RvcnkgSWQ9IlN5c3RlbUluc3RhbGxEaXJlY3RvcnkiIE5hbWU9Ii4iIC8+CisgICAgICAgICAgICA8L0RpcmVjdG9yeT4KKyAgICAgICAgPC9EaXJlY3RvcnlSZWY+CisgICAgICAgIDw/dW5kZWYgRGlyTmFtZSA/PgorICAgICAgICAKKyAgICAgICAgPEZlYXR1cmUgSWQ9IkRlZmF1bHRGZWF0dXJlIiBBbGxvd0FkdmVydGlzZT0ibm8iIFRpdGxlPSIhKGxvYy5UaXRsZSkiIERlc2NyaXB0aW9uPSIhKGxvYy5EZXNjcmlwdGlvbikiPgorICAgICAgICAgICAgPENvbXBvbmVudEdyb3VwUmVmIElkPSJjcnRfZmlsZXMiIC8+CisgICAgICAgIDwvRmVhdHVyZT4KKyAgICA8L1Byb2R1Y3Q+Cis8L1dpeD4KKwpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL2NydC9jcnRfZW4tVVMud3hsIGIvVG9vbHMvbXNpL2NydC9jcnRfZW4tVVMud3hsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNlZTNjOGEKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9tc2kvY3J0L2NydF9lbi1VUy53eGwKQEAgLTAsMCArMSw1IEBACivvu788P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgorPFdpeExvY2FsaXphdGlvbiBDdWx0dXJlPSJlbi11cyIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vd2l4LzIwMDYvbG9jYWxpemF0aW9uIj4KKyAgICA8U3RyaW5nIElkPSJEZXNjcmlwdG9yIj5DIFJ1bnRpbWU8L1N0cmluZz4KKyAgICA8U3RyaW5nIElkPSJTaG9ydERlc2NyaXB0b3IiPmNydDwvU3RyaW5nPgorPC9XaXhMb2NhbGl6YXRpb24+CmRpZmYgLS1naXQgYS9Ub29scy9tc2kvY3J0L2NydF9maWxlcy53eHMgYi9Ub29scy9tc2kvY3J0L2NydF9maWxlcy53eHMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDZmN2Q2ZQotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS9jcnQvY3J0X2ZpbGVzLnd4cwpAQCAtMCwwICsxLDIwIEBACivvu788P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPFdpeCB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS93aXgvMjAwNi93aSI+CisgICAgPEZyYWdtZW50PgorICAgICAgICA8P2lmICQodmFyLlBsYXRmb3JtKX49eDY0ID8+CisgICAgICAgIDw/ZGVmaW5lIHZjcnVudGltZTE0MEd1aWQ9e0IzMzI1OEZELTc1MEMtM0I0Mi04QkU0LTUzNUI0OEU5N0RCNH0/PgorICAgICAgICA8P2Vsc2UgPz4KKyAgICAgICAgPD9kZWZpbmUgdmNydW50aW1lMTQwR3VpZD17RThFMzlEM0ItNEYzNS0zNkQ4LUI4OTItNEIyODMzNkZFMDQxfT8+CisgICAgICAgIDw/ZW5kaWYgPz4KKyAgICAgICAgPENvbXBvbmVudEdyb3VwIElkPSJjcnRfZmlsZXMiPgorICAgICAgICAgICAgPENvbXBvbmVudCBJZD0idmNydW50aW1lMTQwLmRsbF9MTSIgRGlyZWN0b3J5PSJTeXN0ZW1JbnN0YWxsRGlyZWN0b3J5IiBHdWlkPSIkKHZhci52Y3J1bnRpbWUxNDBHdWlkKSIgU2hhcmVkPSJ5ZXMiIFNoYXJlZERsbFJlZkNvdW50PSJ5ZXMiPgorICAgICAgICAgICAgICAgIDxDb25kaXRpb24+QUxMVVNFUlM9MTwvQ29uZGl0aW9uPgorICAgICAgICAgICAgICAgIDxGaWxlIElkPSJ2Y3J1bnRpbWUxNDAuZGxsX0xNIiBTb3VyY2U9IiEoYmluZHBhdGguY3J0KVx2Y3J1bnRpbWUxNDAuZGxsIiAvPgorICAgICAgICAgICAgPC9Db21wb25lbnQ+CisgICAgICAgICAgICA8Q29tcG9uZW50IElkPSJ2Y3J1bnRpbWUxNDAuZGxsX0NVIiBEaXJlY3Rvcnk9Ikluc3RhbGxEaXJlY3RvcnkiIEd1aWQ9IioiPgorICAgICAgICAgICAgICAgIDxDb25kaXRpb24+Tk9UIEFMTFVTRVJTPTE8L0NvbmRpdGlvbj4KKyAgICAgICAgICAgICAgICA8RmlsZSBJZD0idmNydW50aW1lMTQwLmRsbF9DVSIgU291cmNlPSIhKGJpbmRwYXRoLmNydClcdmNydW50aW1lMTQwLmRsbCIgLz4KKyAgICAgICAgICAgIDwvQ29tcG9uZW50PgorICAgICAgICA8L0NvbXBvbmVudEdyb3VwPgorICAgIDwvRnJhZ21lbnQ+Cis8L1dpeD4KZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS9jcnQvY3J0bGljZW5zZS50eHQgYi9Ub29scy9tc2kvY3J0L2NydGxpY2Vuc2UudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFmMGYxZjkKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9tc2kvY3J0L2NydGxpY2Vuc2UudHh0CkBAIC0wLDAgKzEsNDcgQEAKKworCitBZGRpdGlvbmFsIENvbmRpdGlvbnMgZm9yIHRoaXMgV2luZG93cyBiaW5hcnkgYnVpbGQKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitUaGlzIHByb2dyYW0gaXMgbGlua2VkIHdpdGggYW5kIHVzZXMgTWljcm9zb2Z0IERpc3RyaWJ1dGFibGUgQ29kZSwKK2NvcHlyaWdodGVkIGJ5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbi4gVGhlIE1pY3Jvc29mdCBEaXN0cmlidXRhYmxlIENvZGUKK2luY2x1ZGVzIHRoZSBmb2xsb3dpbmcgZmlsZXM6CisKK2FwcGNydDE0MC5kbGwKK2Rlc2t0b3BjcnQxNDAuZGxsCit2Y3J1bnRpbWUxNDAuZGxsCittc3ZjcDE0MC5kbGwKK2NvbmNydDE0MC5kbGwKK3ZjY29ybGliMTQwLmRsbAorCitJZiB5b3UgZnVydGhlciBkaXN0cmlidXRlIHByb2dyYW1zIHRoYXQgaW5jbHVkZSB0aGUgTWljcm9zb2Z0CitEaXN0cmlidXRhYmxlIENvZGUsIHlvdSBtdXN0IGNvbXBseSB3aXRoIHRoZSByZXN0cmljdGlvbnMgb24KK2Rpc3RyaWJ1dGlvbiBzcGVjaWZpZWQgYnkgTWljcm9zb2Z0LiBJbiBwYXJ0aWN1bGFyLCB5b3UgbXVzdCByZXF1aXJlCitkaXN0cmlidXRvcnMgYW5kIGV4dGVybmFsIGVuZCB1c2VycyB0byBhZ3JlZSB0byB0ZXJtcyB0aGF0IHByb3RlY3QgdGhlCitNaWNyb3NvZnQgRGlzdHJpYnV0YWJsZSBDb2RlIGF0IGxlYXN0IGFzIG11Y2ggYXMgTWljcm9zb2Z0J3Mgb3duCityZXF1aXJlbWVudHMgZm9yIHRoZSBEaXN0cmlidXRhYmxlIENvZGUuIFNlZSBNaWNyb3NvZnQncyBkb2N1bWVudGF0aW9uCisoaW5jbHVkZWQgaW4gaXRzIGRldmVsb3BlciB0b29scyBhbmQgb24gaXRzIHdlYnNpdGUgYXQgbWljcm9zb2Z0LmNvbSkKK2ZvciBzcGVjaWZpYyBkZXRhaWxzLgorCitSZWRpc3RyaWJ1dGlvbiBvZiB0aGUgV2luZG93cyBiaW5hcnkgYnVpbGQgb2YgdGhlIFB5dGhvbiBpbnRlcnByZXRlcgorY29tcGxpZXMgd2l0aCB0aGlzIGFncmVlbWVudCwgcHJvdmlkZWQgdGhhdCB5b3UgZG8gbm90OgorCistIGFsdGVyIGFueSBjb3B5cmlnaHQsIHRyYWRlbWFyayBvciBwYXRlbnQgbm90aWNlIGluIE1pY3Jvc29mdCdzCitEaXN0cmlidXRhYmxlIENvZGU7CisKKy0gdXNlIE1pY3Jvc29mdCdzIHRyYWRlbWFya3MgaW4geW91ciBwcm9ncmFtcycgbmFtZXMgb3IgaW4gYSB3YXkgdGhhdAorc3VnZ2VzdHMgeW91ciBwcm9ncmFtcyBjb21lIGZyb20gb3IgYXJlIGVuZG9yc2VkIGJ5IE1pY3Jvc29mdDsKKworLSBkaXN0cmlidXRlIE1pY3Jvc29mdCdzIERpc3RyaWJ1dGFibGUgQ29kZSB0byBydW4gb24gYSBwbGF0Zm9ybSBvdGhlcgordGhhbiBNaWNyb3NvZnQgb3BlcmF0aW5nIHN5c3RlbXMsIHJ1bi10aW1lIHRlY2hub2xvZ2llcyBvciBhcHBsaWNhdGlvbgorcGxhdGZvcm1zOyBvcgorCistIGluY2x1ZGUgTWljcm9zb2Z0IERpc3RyaWJ1dGFibGUgQ29kZSBpbiBtYWxpY2lvdXMsIGRlY2VwdGl2ZSBvcgordW5sYXdmdWwgcHJvZ3JhbXMuCisKK1RoZXNlIHJlc3RyaWN0aW9ucyBhcHBseSBvbmx5IHRvIHRoZSBNaWNyb3NvZnQgRGlzdHJpYnV0YWJsZSBDb2RlIGFzCitkZWZpbmVkIGFib3ZlLCBub3QgdG8gUHl0aG9uIGl0c2VsZiBvciBhbnkgcHJvZ3JhbXMgcnVubmluZyBvbiB0aGUKK1B5dGhvbiBpbnRlcnByZXRlci4gVGhlIHJlZGlzdHJpYnV0aW9uIG9mIHRoZSBQeXRob24gaW50ZXJwcmV0ZXIgYW5kCitsaWJyYXJpZXMgaXMgZ292ZXJuZWQgYnkgdGhlIFB5dGhvbiBTb2Z0d2FyZSBMaWNlbnNlIGluY2x1ZGVkIHdpdGggdGhpcworZmlsZSwgb3IgYnkgb3RoZXIgbGljZW5zZXMgYXMgbWFya2VkLgorCmRpZmYgLS1naXQgYS9Ub29scy9tc2kvY3N2X3RvX3d4cy5weSBiL1Rvb2xzL21zaS9jc3ZfdG9fd3hzLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIzNWM4ZjgKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9tc2kvY3N2X3RvX3d4cy5weQpAQCAtMCwwICsxLDEyNyBAQAorJycnCitQcm9jZXNzZXMgYSBDU1YgZmlsZSBjb250YWluaW5nIGEgbGlzdCBvZiBmaWxlcyBpbnRvIGEgV1hTIGZpbGUgd2l0aAorY29tcG9uZW50cyBmb3IgZWFjaCBsaXN0ZWQgZmlsZS4KKworVGhlIENTViBjb2x1bW5zIGFyZToKKyAgICBzb3VyY2Ugb2YgZmlsZSwgdGFyZ2V0IGZvciBmaWxlLCBncm91cCBuYW1lCisKK1VzYWdlOjoKKyAgICBweSB0eHRfdG9fd3hzLnB5IFtwYXRoIHRvIGZpbGUgbGlzdCAuY3N2XSBbcGF0aCB0byBkZXN0aW5hdGlvbiAud3hzXQorCitUaGlzIGlzIG5lY2Vzc2FyeSB0byBoYW5kbGUgc3RydWN0dXJlcyB3aGVyZSBzb21lIGRpcmVjdG9yaWVzIG9ubHkKK2NvbnRhaW4gb3RoZXIgZGlyZWN0b3JpZXMuIE1TQnVpbGQgaXMgbm90IGFibGUgdG8gZ2VuZXJhdGUgdGhlCitEaXJlY3RvcnkgZW50cmllcyBpbiB0aGUgV1hTIGZpbGUgY29ycmVjdGx5LCBhcyBpdCBvcGVyYXRlcyBvbiBmaWxlcy4KK1B5dGhvbiwgaG93ZXZlciwgY2FuIGVhc2lseSBmaWxsIGluIHRoZSBnYXAuCisnJycKKworX19hdXRob3JfXyA9ICJTdGV2ZSBEb3dlciA8c3RldmUuZG93ZXJAbWljcm9zb2Z0LmNvbT4iCisKK2ltcG9ydCBjc3YKK2ltcG9ydCByZQoraW1wb3J0IHN5cworCitmcm9tIGNvbGxlY3Rpb25zIGltcG9ydCBkZWZhdWx0ZGljdAorZnJvbSBpdGVydG9vbHMgaW1wb3J0IGNoYWluLCB6aXBfbG9uZ2VzdAorZnJvbSBwYXRobGliIGltcG9ydCBQdXJlV2luZG93c1BhdGgKK2Zyb20gdXVpZCBpbXBvcnQgdXVpZDEKKworSURfQ0hBUl9TVUJTID0geworICAgICctJzogJ18nLAorICAgICcrJzogJ19QJywKK30KKworZGVmIG1ha2VfaWQocGF0aCk6CisgICAgcmV0dXJuIHJlLnN1YigKKyAgICAgICAgcidbXkEtWmEtejAtOV8uXScsCisgICAgICAgIGxhbWJkYSBtOiBJRF9DSEFSX1NVQlMuZ2V0KG0uZ3JvdXAoMCksICdfJyksCisgICAgICAgIHN0cihwYXRoKS5yc3RyaXAoJy9cXCcpLAorICAgICAgICBmbGFncz1yZS5JCisgICAgKQorCitESVJFQ1RPUklFUyA9IHNldCgpCisKK2RlZiBtYWluKGZpbGVfc291cmNlLCBpbnN0YWxsX3RhcmdldCk6CisgICAgd2l0aCBvcGVuKGZpbGVfc291cmNlLCAncicsIG5ld2xpbmU9JycpIGFzIGY6CisgICAgICAgIGZpbGVzID0gbGlzdChjc3YucmVhZGVyKGYpKQorCisgICAgYXNzZXJ0IGxlbihmaWxlcykgPT0gbGVuKHNldChtYWtlX2lkKGZbMV0pIGZvciBmIGluIGZpbGVzKSksICJEdXBsaWNhdGUgZmlsZSBJRHMgZXhpc3QiCisKKyAgICBkaXJlY3RvcmllcyA9IGRlZmF1bHRkaWN0KHNldCkKKyAgICBjYWNoZV9kaXJlY3RvcmllcyA9IGRlZmF1bHRkaWN0KHNldCkKKyAgICBncm91cHMgPSBkZWZhdWx0ZGljdChsaXN0KQorICAgIGZvciBzb3VyY2UsIHRhcmdldCwgZ3JvdXAsIGRpc2tfaWQsIGNvbmRpdGlvbiBpbiBmaWxlczoKKyAgICAgICAgdGFyZ2V0ID0gUHVyZVdpbmRvd3NQYXRoKHRhcmdldCkKKyAgICAgICAgZ3JvdXBzW2dyb3VwXS5hcHBlbmQoKHNvdXJjZSwgdGFyZ2V0LCBkaXNrX2lkLCBjb25kaXRpb24pKQorCisgICAgICAgIGlmIHRhcmdldC5zdWZmaXgubG93ZXIoKSBpbiB7Ii5weSIsICIucHl3In06CisgICAgICAgICAgICBjYWNoZV9kaXJlY3Rvcmllc1tncm91cF0uYWRkKHRhcmdldC5wYXJlbnQpCisKKyAgICAgICAgZm9yIGRpcm5hbWUgaW4gdGFyZ2V0LnBhcmVudHM6CisgICAgICAgICAgICBwYXJlbnQgPSBtYWtlX2lkKGRpcm5hbWUucGFyZW50KQorICAgICAgICAgICAgaWYgcGFyZW50IGFuZCBwYXJlbnQgIT0gJy4nOgorICAgICAgICAgICAgICAgIGRpcmVjdG9yaWVzW3BhcmVudF0uYWRkKGRpcm5hbWUubmFtZSkKKworICAgIGxpbmVzID0gWworICAgICAgICAnPFdpeCB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS93aXgvMjAwNi93aSI+JywKKyAgICAgICAgJyAgICA8RnJhZ21lbnQ+JywKKyAgICBdCisgICAgZm9yIGRpcl9wYXJlbnQgaW4gc29ydGVkKGRpcmVjdG9yaWVzKToKKyAgICAgICAgbGluZXMuYXBwZW5kKCcgICAgICAgIDxEaXJlY3RvcnlSZWYgSWQ9Int9Ij4nLmZvcm1hdChkaXJfcGFyZW50KSkKKyAgICAgICAgZm9yIGRpcl9uYW1lIGluIHNvcnRlZChkaXJlY3Rvcmllc1tkaXJfcGFyZW50XSk6CisgICAgICAgICAgICBsaW5lcy5hcHBlbmQoJyAgICAgICAgICAgIDxEaXJlY3RvcnkgSWQ9Int9X3t9IiBOYW1lPSJ7fSIgLz4nLmZvcm1hdChkaXJfcGFyZW50LCBtYWtlX2lkKGRpcl9uYW1lKSwgZGlyX25hbWUpKQorICAgICAgICBsaW5lcy5hcHBlbmQoJyAgICAgICAgPC9EaXJlY3RvcnlSZWY+JykKKyAgICBmb3IgZGlyX3BhcmVudCBpbiAobWFrZV9pZChkKSBmb3IgZ3JvdXAgaW4gY2FjaGVfZGlyZWN0b3JpZXMudmFsdWVzKCkgZm9yIGQgaW4gZ3JvdXApOgorICAgICAgICBsaW5lcy5hcHBlbmQoJyAgICAgICAgPERpcmVjdG9yeVJlZiBJZD0ie30iPicuZm9ybWF0KGRpcl9wYXJlbnQpKQorICAgICAgICBsaW5lcy5hcHBlbmQoJyAgICAgICAgICAgIDxEaXJlY3RvcnkgSWQ9Int9X19fcHljYWNoZV9fIiBOYW1lPSJfX3B5Y2FjaGVfXyIgLz4nLmZvcm1hdChkaXJfcGFyZW50KSkKKyAgICAgICAgbGluZXMuYXBwZW5kKCcgICAgICAgIDwvRGlyZWN0b3J5UmVmPicpCisgICAgbGluZXMuYXBwZW5kKCcgICAgPC9GcmFnbWVudD4nKQorCisgICAgZm9yIGdyb3VwIGluIHNvcnRlZChncm91cHMpOgorICAgICAgICBsaW5lcy5leHRlbmQoWworICAgICAgICAgICAgJyAgICA8RnJhZ21lbnQ+JywKKyAgICAgICAgICAgICcgICAgICAgIDxDb21wb25lbnRHcm91cCBJZD0ie30iPicuZm9ybWF0KGdyb3VwKSwKKyAgICAgICAgXSkKKyAgICAgICAgZm9yIHNvdXJjZSwgdGFyZ2V0LCBkaXNrX2lkLCBjb25kaXRpb24gaW4gZ3JvdXBzW2dyb3VwXToKKyAgICAgICAgICAgIGxpbmVzLmFwcGVuZCgnICAgICAgICAgICAgPENvbXBvbmVudCBJZD0ie30iIERpcmVjdG9yeT0ie30iIEd1aWQ9IioiPicuZm9ybWF0KG1ha2VfaWQodGFyZ2V0KSwgbWFrZV9pZCh0YXJnZXQucGFyZW50KSkpCisgICAgICAgICAgICBpZiBjb25kaXRpb246CisgICAgICAgICAgICAgICAgbGluZXMuYXBwZW5kKCcgICAgICAgICAgICAgICAgPENvbmRpdGlvbj57fTwvQ29uZGl0aW9uPicuZm9ybWF0KGNvbmRpdGlvbikpCisKKyAgICAgICAgICAgIGlmIGRpc2tfaWQ6CisgICAgICAgICAgICAgICAgbGluZXMuYXBwZW5kKCcgICAgICAgICAgICAgICAgPEZpbGUgSWQ9Int9IiBOYW1lPSJ7fSIgU291cmNlPSJ7fSIgRGlza0lkPSJ7fSIgLz4nLmZvcm1hdChtYWtlX2lkKHRhcmdldCksIHRhcmdldC5uYW1lLCBzb3VyY2UsIGRpc2tfaWQpKQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBsaW5lcy5hcHBlbmQoJyAgICAgICAgICAgICAgICA8RmlsZSBJZD0ie30iIE5hbWU9Int9IiBTb3VyY2U9Int9IiAvPicuZm9ybWF0KG1ha2VfaWQodGFyZ2V0KSwgdGFyZ2V0Lm5hbWUsIHNvdXJjZSkpCisgICAgICAgICAgICBsaW5lcy5hcHBlbmQoJyAgICAgICAgICAgIDwvQ29tcG9uZW50PicpCisKKyAgICAgICAgY3JlYXRlX2ZvbGRlcnMgPSB7bWFrZV9pZChwKSArICJfX19weWNhY2hlX18iIGZvciBwIGluIGNhY2hlX2RpcmVjdG9yaWVzW2dyb3VwXX0KKyAgICAgICAgcmVtb3ZlX2ZvbGRlcnMgPSB7bWFrZV9pZChwMikgZm9yIHAxIGluIGNhY2hlX2RpcmVjdG9yaWVzW2dyb3VwXSBmb3IgcDIgaW4gY2hhaW4oKHAxLCksIHAxLnBhcmVudHMpfQorICAgICAgICBjcmVhdGVfZm9sZGVycy5kaXNjYXJkKCIuIikKKyAgICAgICAgcmVtb3ZlX2ZvbGRlcnMuZGlzY2FyZCgiLiIpCisgICAgICAgIGlmIGNyZWF0ZV9mb2xkZXJzIG9yIHJlbW92ZV9mb2xkZXJzOgorICAgICAgICAgICAgbGluZXMuYXBwZW5kKCcgICAgICAgICAgICA8Q29tcG9uZW50IElkPSJ7fV9fcHljYWNoZV9fZm9sZGVycyIgRGlyZWN0b3J5PSJUQVJHRVRESVIiIEd1aWQ9Int9Ij4nLmZvcm1hdChncm91cCwgdXVpZDEoKSkpCisgICAgICAgICAgICBsaW5lcy5leHRlbmQoJyAgICAgICAgICAgICAgICA8Q3JlYXRlRm9sZGVyIERpcmVjdG9yeT0ie30iIC8+Jy5mb3JtYXQocCkgZm9yIHAgaW4gY3JlYXRlX2ZvbGRlcnMpCisgICAgICAgICAgICBsaW5lcy5leHRlbmQoJyAgICAgICAgICAgICAgICA8UmVtb3ZlRmlsZSBJZD0iUmVtb3ZlX3swfV9maWxlcyIgTmFtZT0iKiIgT249InVuaW5zdGFsbCIgRGlyZWN0b3J5PSJ7MH0iIC8+Jy5mb3JtYXQocCkgZm9yIHAgaW4gY3JlYXRlX2ZvbGRlcnMpCisgICAgICAgICAgICBsaW5lcy5leHRlbmQoJyAgICAgICAgICAgICAgICA8UmVtb3ZlRm9sZGVyIElkPSJSZW1vdmVfezB9X2ZvbGRlciIgT249InVuaW5zdGFsbCIgRGlyZWN0b3J5PSJ7MH0iIC8+Jy5mb3JtYXQocCkgZm9yIHAgaW4gY3JlYXRlX2ZvbGRlcnMgfCByZW1vdmVfZm9sZGVycykKKyAgICAgICAgICAgIGxpbmVzLmFwcGVuZCgnICAgICAgICAgICAgPC9Db21wb25lbnQ+JykKKworICAgICAgICBsaW5lcy5leHRlbmQoWworICAgICAgICAgICAgJyAgICAgICAgPC9Db21wb25lbnRHcm91cD4nLAorICAgICAgICAgICAgJyAgICA8L0ZyYWdtZW50PicsCisgICAgICAgIF0pCisgICAgbGluZXMuYXBwZW5kKCc8L1dpeD4nKQorCisgICAgIyBDaGVjayBpZiB0aGUgZmlsZSBtYXRjaGVzLiBJZiBzbywgd2UgZG9uJ3Qgd2FudCB0byB0b3VjaCBpdCBzbworICAgICMgdGhhdCB3ZSBjYW4gc2tpcCByZWJ1aWxkaW5nLgorICAgIHRyeToKKyAgICAgICAgd2l0aCBvcGVuKGluc3RhbGxfdGFyZ2V0LCAncicpIGFzIGY6CisgICAgICAgICAgICBpZiBhbGwoeC5yc3RyaXAoJ1xyXG4nKSA9PSB5IGZvciB4LCB5IGluIHppcF9sb25nZXN0KGYsIGxpbmVzKSk6CisgICAgICAgICAgICAgICAgcHJpbnQoJ0ZpbGUgaXMgdXAgdG8gZGF0ZScpCisgICAgICAgICAgICAgICAgcmV0dXJuCisgICAgZXhjZXB0IElPRXJyb3I6CisgICAgICAgIHBhc3MKKworICAgIHdpdGggb3BlbihpbnN0YWxsX3RhcmdldCwgJ3cnKSBhcyBmOgorICAgICAgICBmLndyaXRlbGluZXMobGluZSArICdcbicgZm9yIGxpbmUgaW4gbGluZXMpCisgICAgcHJpbnQoJ1dyb3RlIHt9IGxpbmVzIHRvIHt9Jy5mb3JtYXQobGVuKGxpbmVzKSwgaW5zdGFsbF90YXJnZXQpKQorCitpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgorICAgIG1haW4oc3lzLmFyZ3ZbMV0sIHN5cy5hcmd2WzJdKQpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL2Rldi9kZXYud2l4cHJvaiBiL1Rvb2xzL21zaS9kZXYvZGV2LndpeHByb2oKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTE0NDg3OAotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS9kZXYvZGV2LndpeHByb2oKQEAgLTAsMCArMSw0OSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKzxQcm9qZWN0IFRvb2xzVmVyc2lvbj0iNC4wIiBEZWZhdWx0VGFyZ2V0cz0iQnVpbGQiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgorICAgIDxQcm9wZXJ0eUdyb3VwPgorICAgICAgICA8UHJvamVjdEd1aWQ+ezVGMjNGNjA4LUQ3NEItNDI1OS1BMENFLThEQzY1Q0M3RkU1M308L1Byb2plY3RHdWlkPgorICAgICAgICA8U2NoZW1hVmVyc2lvbj4yLjA8L1NjaGVtYVZlcnNpb24+CisgICAgICAgIDxPdXRwdXROYW1lIENvbmRpdGlvbj0iJyQoT3V0cHV0TmFtZSknID09ICcnIj5kZXY8L091dHB1dE5hbWU+CisgICAgICAgIDxPdXRwdXRUeXBlPlBhY2thZ2U8L091dHB1dFR5cGU+CisgICAgPC9Qcm9wZXJ0eUdyb3VwPgorICAgIDxJbXBvcnQgUHJvamVjdD0iLi5cbXNpLnByb3BzIiAvPgorICAgIDxQcm9wZXJ0eUdyb3VwPgorICAgICAgICA8RGVmaW5lQ29uc3RhbnRzIENvbmRpdGlvbj0iJChCdWlsZEZvclJlbGVhc2UpIj4KKyAgICAgICAgICAgICQoRGVmaW5lQ29uc3RhbnRzKTsKKyAgICAgICAgICAgIEluY2x1ZGVNaW5HV0xpYj0xOworICAgICAgICA8L0RlZmluZUNvbnN0YW50cz4KKyAgICA8L1Byb3BlcnR5R3JvdXA+CisgICAgPEl0ZW1Hcm91cD4KKyAgICAgICAgPENvbXBpbGUgSW5jbHVkZT0iZGV2Lnd4cyIgLz4KKyAgICAgICAgPENvbXBpbGUgSW5jbHVkZT0iZGV2X2ZpbGVzLnd4cyIgLz4KKyAgICA8L0l0ZW1Hcm91cD4KKyAgICA8SXRlbUdyb3VwPgorICAgICAgICA8RW1iZWRkZWRSZXNvdXJjZSBJbmNsdWRlPSIqLnd4bCIgLz4KKyAgICA8L0l0ZW1Hcm91cD4KKyAgICA8SXRlbUdyb3VwPgorICAgICAgICA8SW5zdGFsbEZpbGVzIEluY2x1ZGU9IiQoUHlTb3VyY2VQYXRoKWluY2x1ZGVcKi5oIj4KKyAgICAgICAgICAgIDxTb3VyY2VCYXNlPiQoUHlTb3VyY2VQYXRoKTwvU291cmNlQmFzZT4KKyAgICAgICAgICAgIDxTb3VyY2U+IShiaW5kcGF0aC5zcmMpPC9Tb3VyY2U+CisgICAgICAgICAgICA8VGFyZ2V0QmFzZT4kKFB5U291cmNlUGF0aCk8L1RhcmdldEJhc2U+CisgICAgICAgICAgICA8VGFyZ2V0Xz48L1RhcmdldF8+CisgICAgICAgICAgICA8R3JvdXA+ZGV2X2luY2x1ZGU8L0dyb3VwPgorICAgICAgICA8L0luc3RhbGxGaWxlcz4KKyAgICA8L0l0ZW1Hcm91cD4KKyAgICAKKyAgICA8VGFyZ2V0IE5hbWU9IkJ1aWxkTWluR1dMaWIiCisgICAgICAgICAgICBJbnB1dHM9IiQoQnVpbGRQYXRoKSQoUHlEbGxOYW1lKS5kbGwiCisgICAgICAgICAgICBPdXRwdXRzPSIkKEJ1aWxkUGF0aClsaWIkKFB5RGxsTmFtZSkuYSIKKyAgICAgICAgICAgIEFmdGVyVGFyZ2V0cz0iUHJlcGFyZUZvckJ1aWxkIgorICAgICAgICAgICAgQ29uZGl0aW9uPSIkKEJ1aWxkRm9yUmVsZWFzZSkiPgorICAgICAgICA8IS0tIEJ1aWxkIGxpYnB5dGhvbiMjLmEgYXMgcGFydCBvZiB0aGlzIHByb2plY3QuIFRoaXMgcmVxdWlyZXMgZ2VuZGVmIGFuZCBkbGx0b29sIG9uIHRoZSBwYXRoLiAtLT4KKyAgICAgICAgPFByb3BlcnR5R3JvdXA+CisgICAgICAgICAgICA8X0dlbkRlZlBsYXRmb3JtPmkzODY8L19HZW5EZWZQbGF0Zm9ybT4KKyAgICAgICAgICAgIDxfR2VuRGVmUGxhdGZvcm0gQ29uZGl0aW9uPSIkKFBsYXRmb3JtKSA9PSAneDY0JyI+aTM4Njp4ODYtNjQ8L19HZW5EZWZQbGF0Zm9ybT4KKyAgICAgICAgPC9Qcm9wZXJ0eUdyb3VwPgorCisgICAgICAgIDxFeGVjIENvbW1hbmQ9J2dlbmRlZiAtICIkKEJ1aWxkUGF0aCkkKFB5RGxsTmFtZSkuZGxsIiAmZ3Q7ICIkKEludGVybWVkaWF0ZU91dHB1dFBhdGgpbWluZ3dsaWIuZGVmIicgQ29udGludWVPbkVycm9yPSJmYWxzZSIgLz4KKyAgICAgICAgPEV4ZWMgQ29tbWFuZD0nZGxsdG9vbCAtLWRsbG5hbWUgJChQeURsbE5hbWUpLmRsbCAtLWRlZiAiJChJbnRlcm1lZGlhdGVPdXRwdXRQYXRoKW1pbmd3bGliLmRlZiIgLS1vdXRwdXQtbGliICIkKEJ1aWxkUGF0aClsaWIkKFB5RGxsTmFtZSkuYSIgLW0gJChfR2VuRGVmUGxhdGZvcm0pJyAvPgorICAgIDwvVGFyZ2V0PgorCisgICAgPEltcG9ydCBQcm9qZWN0PSIuLlxtc2kudGFyZ2V0cyIgLz4KKzwvUHJvamVjdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9Ub29scy9tc2kvZGV2L2Rldi53eHMgYi9Ub29scy9tc2kvZGV2L2Rldi53eHMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjhhZjlhYQotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS9kZXYvZGV2Lnd4cwpAQCAtMCwwICsxLDE4IEBACivvu788P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPFdpeCB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS93aXgvMjAwNi93aSI+CisgICAgPFByb2R1Y3QgSWQ9IioiIExhbmd1YWdlPSIhKGxvYy5MQ0lEKSIgTmFtZT0iIShsb2MuVGl0bGUpIiBWZXJzaW9uPSIkKHZhci5WZXJzaW9uKSIgTWFudWZhY3R1cmVyPSIhKGxvYy5NYW51ZmFjdHVyZXIpIiBVcGdyYWRlQ29kZT0iJCh2YXIuVXBncmFkZUNvZGUpIj4KKyAgICAgICAgPFBhY2thZ2UgSW5zdGFsbGVyVmVyc2lvbj0iMzAwIiBDb21wcmVzc2VkPSJ5ZXMiIEluc3RhbGxTY29wZT0icGVyVXNlciIgUGxhdGZvcm09IiQodmFyLlBsYXRmb3JtKSIgLz4KKyAgICAgICAgPE1lZGlhVGVtcGxhdGUgRW1iZWRDYWI9InllcyIgQ29tcHJlc3Npb25MZXZlbD0iaGlnaCIgLz4KKyAgICAgICAgCisgICAgICAgIDxQcm9wZXJ0eVJlZiBJZD0iVXBncmFkZVRhYmxlIiAvPgorICAgICAgICAKKyAgICAgICAgPEZlYXR1cmUgSWQ9IkRlZmF1bHRGZWF0dXJlIiBBbGxvd0FkdmVydGlzZT0ibm8iIFRpdGxlPSIhKGxvYy5UaXRsZSkiIERlc2NyaXB0aW9uPSIhKGxvYy5EZXNjcmlwdGlvbikiPgorICAgICAgICAgICAgPENvbXBvbmVudEdyb3VwUmVmIElkPSJkZXZfaW5jbHVkZSIgLz4KKyAgICAgICAgICAgIDxDb21wb25lbnRHcm91cFJlZiBJZD0iZGV2X3B5Y29uZmlnIiAvPgorICAgICAgICAgICAgPENvbXBvbmVudEdyb3VwUmVmIElkPSJkZXZfbGlicyIgLz4KKzw/aWZkZWYgSW5jbHVkZU1pbkdXTGliID8+CisgICAgICAgICAgICA8Q29tcG9uZW50R3JvdXBSZWYgSWQ9ImRldl9taW5ndyIgLz4KKzw/ZW5kaWYgPz4KKyAgICAgICAgPC9GZWF0dXJlPgorICAgIDwvUHJvZHVjdD4KKzwvV2l4PgpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL2Rldi9kZXZfZC53aXhwcm9qIGIvVG9vbHMvbXNpL2Rldi9kZXZfZC53aXhwcm9qCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIzYjA1MzIKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9tc2kvZGV2L2Rldl9kLndpeHByb2oKQEAgLTAsMCArMSwxOSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKzxQcm9qZWN0IFRvb2xzVmVyc2lvbj0iNC4wIiBEZWZhdWx0VGFyZ2V0cz0iQnVpbGQiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgorICAgIDxQcm9wZXJ0eUdyb3VwPgorICAgICAgICA8UHJvamVjdEd1aWQ+e0MxMUI0OTQ1LTc2QkQtNDEzNy1CMkUzLTY0OTQ2MDExN0E3N308L1Byb2plY3RHdWlkPgorICAgICAgICA8U2NoZW1hVmVyc2lvbj4yLjA8L1NjaGVtYVZlcnNpb24+CisgICAgICAgIDxPdXRwdXROYW1lPmRldl9kPC9PdXRwdXROYW1lPgorICAgICAgICA8T3V0cHV0VHlwZT5QYWNrYWdlPC9PdXRwdXRUeXBlPgorICAgIDwvUHJvcGVydHlHcm91cD4KKyAgICA8SW1wb3J0IFByb2plY3Q9Ii4uXG1zaS5wcm9wcyIgLz4KKyAgICA8SXRlbUdyb3VwPgorICAgICAgICA8Q29tcGlsZSBJbmNsdWRlPSJkZXZfZC53eHMiIC8+CisgICAgICAgIDxDb21waWxlIEluY2x1ZGU9ImRldl9maWxlcy53eHMiIC8+CisgICAgPC9JdGVtR3JvdXA+CisgICAgPEl0ZW1Hcm91cD4KKyAgICAgICAgPEVtYmVkZGVkUmVzb3VyY2UgSW5jbHVkZT0iKi53eGwiIC8+CisgICAgPC9JdGVtR3JvdXA+CisKKyAgICA8SW1wb3J0IFByb2plY3Q9Ii4uXG1zaS50YXJnZXRzIiAvPgorPC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS9kZXYvZGV2X2Qud3hzIGIvVG9vbHMvbXNpL2Rldi9kZXZfZC53eHMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzNjYjJlYQotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS9kZXYvZGV2X2Qud3hzCkBAIC0wLDAgKzEsMTMgQEAKK++7vzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8V2l4IHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3dpeC8yMDA2L3dpIj4KKyAgICA8UHJvZHVjdCBJZD0iKiIgTGFuZ3VhZ2U9IiEobG9jLkxDSUQpIiBOYW1lPSIhKGxvYy5UaXRsZSkiIFZlcnNpb249IiQodmFyLlZlcnNpb24pIiBNYW51ZmFjdHVyZXI9IiEobG9jLk1hbnVmYWN0dXJlcikiIFVwZ3JhZGVDb2RlPSIkKHZhci5VcGdyYWRlQ29kZSkiPgorICAgICAgICA8UGFja2FnZSBJbnN0YWxsZXJWZXJzaW9uPSIzMDAiIENvbXByZXNzZWQ9InllcyIgSW5zdGFsbFNjb3BlPSJwZXJVc2VyIiBQbGF0Zm9ybT0iJCh2YXIuUGxhdGZvcm0pIiAvPgorICAgICAgICA8TWVkaWFUZW1wbGF0ZSBFbWJlZENhYj0ieWVzIiBDb21wcmVzc2lvbkxldmVsPSJoaWdoIiAvPgorICAgICAgICAKKyAgICAgICAgPFByb3BlcnR5UmVmIElkPSJVcGdyYWRlVGFibGUiIC8+CisgICAgICAgIAorICAgICAgICA8RmVhdHVyZSBJZD0iRGVidWdCaW5hcmllcyIgQWxsb3dBZHZlcnRpc2U9Im5vIiBUaXRsZT0iIShsb2MuVGl0bGVfZCkiIERlc2NyaXB0aW9uPSIhKGxvYy5EZXNjcmlwdGlvbl9kKSI+CisgICAgICAgICAgICA8Q29tcG9uZW50R3JvdXBSZWYgSWQ9ImRldl9saWJzX2QiIC8+CisgICAgICAgIDwvRmVhdHVyZT4KKyAgICA8L1Byb2R1Y3Q+Cis8L1dpeD4KZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS9kZXYvZGV2X2VuLVVTLnd4bCBiL1Rvb2xzL21zaS9kZXYvZGV2X2VuLVVTLnd4bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNTQ2ZTEzCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL2Rldi9kZXZfZW4tVVMud3hsCkBAIC0wLDAgKzEsNSBAQAor77u/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+CisgICAgICAgIDxXeGxUZW1wbGF0ZSBJbmNsdWRlPSIqLnd4bF90ZW1wbGF0ZSIgLz4KKyAgICA8L0l0ZW1Hcm91cD4KKyAgICAKKyAgICA8SW1wb3J0IFByb2plY3Q9Ii4uXG1zaS50YXJnZXRzIiAvPgorPC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS9kb2MvZG9jLnd4cyBiL1Rvb2xzL21zaS9kb2MvZG9jLnd4cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZGFiODNiCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL2RvYy9kb2Mud3hzCkBAIC0wLDAgKzEsMjggQEAKK++7vzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8V2l4IHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3dpeC8yMDA2L3dpIj4KKyAgICA8UHJvZHVjdCBJZD0iKiIgTGFuZ3VhZ2U9IiEobG9jLkxDSUQpIiBOYW1lPSIhKGxvYy5UaXRsZSkiIFZlcnNpb249IiQodmFyLlZlcnNpb24pIiBNYW51ZmFjdHVyZXI9IiEobG9jLk1hbnVmYWN0dXJlcikiIFVwZ3JhZGVDb2RlPSIkKHZhci5VcGdyYWRlQ29kZSkiPgorICAgICAgICA8UGFja2FnZSBJbnN0YWxsZXJWZXJzaW9uPSIzMDAiIENvbXByZXNzZWQ9InllcyIgSW5zdGFsbFNjb3BlPSJwZXJVc2VyIiBQbGF0Zm9ybT0iJCh2YXIuUGxhdGZvcm0pIiAvPgorICAgICAgICA8TWVkaWFUZW1wbGF0ZSBFbWJlZENhYj0ieWVzIiBDb21wcmVzc2lvbkxldmVsPSJoaWdoIiAvPgorICAgICAgICAKKyAgICAgICAgPFByb3BlcnR5UmVmIElkPSJVcGdyYWRlVGFibGUiIC8+CisgICAgICAgIDxQcm9wZXJ0eVJlZiBJZD0iUkVHSVNUUllLRVkiIC8+CisgICAgICAgIAorICAgICAgICA8RmVhdHVyZSBJZD0iRGVmYXVsdEZlYXR1cmUiIEFsbG93QWR2ZXJ0aXNlPSJubyIgVGl0bGU9IiEobG9jLlRpdGxlKSIgRGVzY3JpcHRpb249IiEobG9jLkRlc2NyaXB0aW9uKSI+CisgICAgICAgICAgICA8Q29tcG9uZW50R3JvdXBSZWYgSWQ9ImRvYyIgLz4KKyAgICAgICAgICAgIAorICAgICAgICAgICAgPD9pZmRlZiBEb2NGaWxlbmFtZSA/PgorICAgICAgICAgICAgPENvbXBvbmVudCBJZD0iZG9jX3Nob3J0Y3V0IiBEaXJlY3Rvcnk9Ik1lbnVEaXIiIEd1aWQ9IioiPgorICAgICAgICAgICAgICAgIDxSZWdpc3RyeUtleSBSb290PSJIS01VIiBLZXk9IltSRUdJU1RSWUtFWV0iPgorICAgICAgICAgICAgICAgICAgICA8UmVnaXN0cnlWYWx1ZSBLZXk9IkhlbHBcTWFpbiBQeXRob24gRG9jdW1lbnRhdGlvbiIgVHlwZT0ic3RyaW5nIiBWYWx1ZT0iWyNweXRob24uY2htXSIgS2V5UGF0aD0ieWVzIiAvPgorICAgICAgICAgICAgICAgIDwvUmVnaXN0cnlLZXk+CisgICAgICAgICAgICAgICAgPFNob3J0Y3V0IElkPSJweXRob24uY2htIgorICAgICAgICAgICAgICAgICAgICAgICAgICBUYXJnZXQ9IlsjcHl0aG9uLmNobV0iCisgICAgICAgICAgICAgICAgICAgICAgICAgIE5hbWU9IiEobG9jLlNob3J0Y3V0TmFtZSkiCisgICAgICAgICAgICAgICAgICAgICAgICAgIERlc2NyaXB0aW9uPSIhKGxvYy5TaG9ydGN1dERlc2NyaXB0aW9uKSIgLz4KKyAgICAgICAgICAgICAgICA8UmVtb3ZlRm9sZGVyIElkPSJSZW1vdmVfTWVudURpciIgT249InVuaW5zdGFsbCIgLz4KKyAgICAgICAgICAgIDwvQ29tcG9uZW50PgorICAgICAgICAgICAgPD9lbmRpZiA/PgorCisgICAgICAgIDwvRmVhdHVyZT4KKyAgICA8L1Byb2R1Y3Q+Cis8L1dpeD4KZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS9kb2MvZG9jX2VuLVVTLnd4bF90ZW1wbGF0ZSBiL1Rvb2xzL21zaS9kb2MvZG9jX2VuLVVTLnd4bF90ZW1wbGF0ZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wOWRmNTgyCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL2RvYy9kb2NfZW4tVVMud3hsX3RlbXBsYXRlCkBAIC0wLDAgKzEsNyBAQAor77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKzxXaXhMb2NhbGl6YXRpb24gQ3VsdHVyZT0iZW4tdXMiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3dpeC8yMDA2L2xvY2FsaXphdGlvbiI+CisgICAgPFN0cmluZyBJZD0iU2hvcnREZXNjcmlwdG9yIj5kb2M8L1N0cmluZz4KKyAgICA8U3RyaW5nIElkPSJEZXNjcmlwdG9yIj5Eb2N1bWVudGF0aW9uPC9TdHJpbmc+CisgICAgPFN0cmluZyBJZD0iU2hvcnRjdXROYW1lIj5QeXRob24ge3tTaG9ydFZlcnNpb259fSB7e0JpdG5lc3N9fSBNYW51YWxzPC9TdHJpbmc+CisgICAgPFN0cmluZyBJZD0iU2hvcnRjdXREZXNjcmlwdGlvbiI+VmlldyB0aGUgIShsb2MuUHJvZHVjdE5hbWUpIGRvY3VtZW50YXRpb24uPC9TdHJpbmc+Cis8L1dpeExvY2FsaXphdGlvbj4KZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS9kb2MvZG9jX2ZpbGVzLnd4cyBiL1Rvb2xzL21zaS9kb2MvZG9jX2ZpbGVzLnd4cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMmFhYmZiCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL2RvYy9kb2NfZmlsZXMud3hzCkBAIC0wLDAgKzEsMTIgQEAKK++7vzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8V2l4IHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3dpeC8yMDA2L3dpIj4KKyAgICA8RnJhZ21lbnQ+CisgICAgICAgIDxQcm9wZXJ0eVJlZiBJZD0iUkVHSVNUUllLRVkiIC8+CisgICAgICAgIAorICAgICAgICA8Q29tcG9uZW50R3JvdXAgSWQ9ImRvYyI+CisgICAgICAgICAgICA8Q29tcG9uZW50IElkPSJweXRob24uY2htIiBEaXJlY3Rvcnk9IkRvYyIgR3VpZD0iKiI+CisgICAgICAgICAgICAgICAgPEZpbGUgSWQ9InB5dGhvbi5jaG0iIE5hbWU9IiQodmFyLkRvY0ZpbGVuYW1lKSIgS2V5UGF0aD0ieWVzIiAvPgorICAgICAgICAgICAgPC9Db21wb25lbnQ+CisgICAgICAgIDwvQ29tcG9uZW50R3JvdXA+CisgICAgPC9GcmFnbWVudD4KKzwvV2l4PgpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL2RvYy9kb2Nfbm9fZmlsZXMud3hzIGIvVG9vbHMvbXNpL2RvYy9kb2Nfbm9fZmlsZXMud3hzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdhYjdjMjYKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9tc2kvZG9jL2RvY19ub19maWxlcy53eHMKQEAgLTAsMCArMSwxNyBAQAor77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzxXaXggeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vd2l4LzIwMDYvd2kiPgorICAgIDxGcmFnbWVudD4KKyAgICAgICAgPENvbXBvbmVudEdyb3VwIElkPSJkb2MiPgorICAgICAgICAgICAgPCEtLQorICAgICAgICAgICAgVGhpcyBmaWxlIGlzIGluY2x1ZGVkIHdoZW4gdGhlIENITSBpcyBub3QgYXZhaWxhYmxlLgorICAgICAgICAgICAgCisgICAgICAgICAgICBUaGlzIHdheSwgc25hcHNob3QgYnVpbGRzIGNhbiBzdWNjZWVkIHdpdGhvdXQgaGF2aW5nIHRvCisgICAgICAgICAgICBidWlsZCB0aGUgZG9jcy4KKyAgICAgICAgICAgIC0tPgorICAgICAgICAgICAgPENvbXBvbmVudCBJZD0iRW1wdHlEb2NGb2xkZXIiIERpcmVjdG9yeT0iRG9jIiBHdWlkPSJ7MjJGRDQyREItRUM2Ni00QjFDLUIxRkMtNDRFMENGN0IyNDYyfSI+CisgICAgICAgICAgICAgICAgPENyZWF0ZUZvbGRlciAvPgorICAgICAgICAgICAgICAgIDxSZW1vdmVGb2xkZXIgSWQ9IlJlbW92ZV9FbXB0eURvY0ZvbGRlciIgT249InVuaW5zdGFsbCIgLz4KKyAgICAgICAgICAgIDwvQ29tcG9uZW50PgorICAgICAgICA8L0NvbXBvbmVudEdyb3VwPgorICAgIDwvRnJhZ21lbnQ+Cis8L1dpeD4KZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS9jcnRsaWNlbnNlLnR4dCBiL1Rvb2xzL21zaS9leGUvY3J0bGljZW5zZS50eHQKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIFRvb2xzL21zaS9jcnRsaWNlbnNlLnR4dApyZW5hbWUgdG8gVG9vbHMvbXNpL2V4ZS9jcnRsaWNlbnNlLnR4dApkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL2V4ZS9leGUud2l4cHJvaiBiL1Rvb2xzL21zaS9leGUvZXhlLndpeHByb2oKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDI2YTYwMwotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS9leGUvZXhlLndpeHByb2oKQEAgLTAsMCArMSw0MyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKzxQcm9qZWN0IFRvb2xzVmVyc2lvbj0iNC4wIiBEZWZhdWx0VGFyZ2V0cz0iQnVpbGQiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgorICAgIDxQcm9wZXJ0eUdyb3VwPgorICAgICAgICA8UHJvamVjdEd1aWQ+ezZCRDUzMzA1LUIwM0UtNDlEQy04NUZCLTU1NTFCOENDQzg0M308L1Byb2plY3RHdWlkPgorICAgICAgICA8U2NoZW1hVmVyc2lvbj4yLjA8L1NjaGVtYVZlcnNpb24+CisgICAgICAgIDxPdXRwdXROYW1lPmV4ZTwvT3V0cHV0TmFtZT4KKyAgICAgICAgPE91dHB1dFR5cGU+UGFja2FnZTwvT3V0cHV0VHlwZT4KKyAgICA8L1Byb3BlcnR5R3JvdXA+CisgICAgPFByb3BlcnR5R3JvdXA+CisgICAgICAgIDwhLS0gU2hvcnRjdXQgdmFsaWRhdGlvbiBpcyBub3QgbmVjZXNzYXJ5IC0tPgorICAgICAgICA8U3VwcHJlc3NJQ0VzPklDRTQzPC9TdXBwcmVzc0lDRXM+CisgICAgPC9Qcm9wZXJ0eUdyb3VwPgorICAgIDxJbXBvcnQgUHJvamVjdD0iLi5cbXNpLnByb3BzIiAvPgorICAgIDxJdGVtR3JvdXA+CisgICAgICAgIDxDb21waWxlIEluY2x1ZGU9ImV4ZS53eHMiIC8+CisgICAgICAgIDxDb21waWxlIEluY2x1ZGU9ImV4ZV9maWxlcy53eHMiIC8+CisgICAgPC9JdGVtR3JvdXA+CisgICAgPEl0ZW1Hcm91cD4KKyAgICAgICAgPEVtYmVkZGVkUmVzb3VyY2UgSW5jbHVkZT0iKi53eGwiIC8+CisgICAgICAgIDxXeGxUZW1wbGF0ZSBJbmNsdWRlPSIqLnd4bF90ZW1wbGF0ZSIgLz4KKyAgICA8L0l0ZW1Hcm91cD4KKyAgICAKKyAgICA8VGFyZ2V0IE5hbWU9Il9HZW5lcmF0ZUxpY2Vuc2UiIEFmdGVyVGFyZ2V0cz0iUHJlcGFyZUZvckJ1aWxkIj4KKyAgICAgICAgPEl0ZW1Hcm91cD4KKyAgICAgICAgICAgIDxMaWNlbnNlRmlsZXMgSW5jbHVkZT0iJChQeVNvdXJjZVBhdGgpTElDRU5TRTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3J0bGljZW5zZS50eHQ7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQoYnoyRGlyKUxJQ0VOU0U7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQob3BlbnNzbERpcilMSUNFTlNFOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKHRjbERpcilsaWNlbnNlLnRlcm1zOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKHRrRGlyKWxpY2Vuc2UudGVybXM7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQodGl4RGlyKWxpY2Vuc2UudGVybXMiIC8+CisgICAgICAgICAgICA8X0xpY2Vuc2VGaWxlcyBJbmNsdWRlPSJAKExpY2Vuc2VGaWxlcykiPgorICAgICAgICAgICAgICAgIDxDb250ZW50PiQoW1N5c3RlbS5JTy5GaWxlXTo6UmVhZEFsbFRleHQoJShGdWxsUGF0aCkpKTwvQ29udGVudD4KKyAgICAgICAgICAgIDwvX0xpY2Vuc2VGaWxlcz4KKyAgICAgICAgPC9JdGVtR3JvdXA+CisgICAgICAgIAorICAgICAgICA8V3JpdGVMaW5lc1RvRmlsZSBGaWxlPSIkKEJ1aWxkUGF0aClMSUNFTlNFIgorICAgICAgICAgICAgICAgICAgICAgICAgICBPdmVyd3JpdGU9InRydWUiCisgICAgICAgICAgICAgICAgICAgICAgICAgIExpbmVzPSJAKF9MaWNlbnNlRmlsZXMtPiclKENvbnRlbnQpJykiIC8+CisgICAgPC9UYXJnZXQ+CisgICAgICAgIAorICAgIDxJbXBvcnQgUHJvamVjdD0iLi5cbXNpLnRhcmdldHMiIC8+Cis8L1Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL2V4ZS9leGUud3hzIGIvVG9vbHMvbXNpL2V4ZS9leGUud3hzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk2OTZjODkKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9tc2kvZXhlL2V4ZS53eHMKQEAgLTAsMCArMSwyOCBAQAor77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzxXaXggeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vd2l4LzIwMDYvd2kiPgorICAgIDxQcm9kdWN0IElkPSIqIiBMYW5ndWFnZT0iIShsb2MuTENJRCkiIE5hbWU9IiEobG9jLlRpdGxlKSIgVmVyc2lvbj0iJCh2YXIuVmVyc2lvbikiIE1hbnVmYWN0dXJlcj0iIShsb2MuTWFudWZhY3R1cmVyKSIgVXBncmFkZUNvZGU9IiQodmFyLlVwZ3JhZGVDb2RlKSI+CisgICAgICAgIDxQYWNrYWdlIEluc3RhbGxlclZlcnNpb249IjMwMCIgQ29tcHJlc3NlZD0ieWVzIiBJbnN0YWxsU2NvcGU9InBlclVzZXIiIFBsYXRmb3JtPSIkKHZhci5QbGF0Zm9ybSkiIC8+CisgICAgICAgIDxNZWRpYVRlbXBsYXRlIEVtYmVkQ2FiPSJ5ZXMiIENvbXByZXNzaW9uTGV2ZWw9ImhpZ2giIC8+CisgICAgICAgIAorICAgICAgICA8UHJvcGVydHlSZWYgSWQ9IlVwZ3JhZGVUYWJsZSIgLz4KKyAgICAgICAgPFByb3BlcnR5UmVmIElkPSJSRUdJU1RSWUtFWSIgLz4KKyAgICAgICAgCisgICAgICAgIDxGZWF0dXJlIElkPSJEZWZhdWx0RmVhdHVyZSIgQWxsb3dBZHZlcnRpc2U9Im5vIiBUaXRsZT0iIShsb2MuVGl0bGUpIiBEZXNjcmlwdGlvbj0iIShsb2MuRGVzY3JpcHRpb24pIj4KKyAgICAgICAgICAgIDxDb21wb25lbnRHcm91cFJlZiBJZD0iZXhlX3B5dGhvbiIgLz4KKyAgICAgICAgICAgIDxDb21wb25lbnRHcm91cFJlZiBJZD0iZXhlX3R4dCIgLz4KKyAgICAgICAgICAgIDxDb21wb25lbnRHcm91cFJlZiBJZD0iZXhlX2ljb25zIiAvPgorICAgICAgICAgICAgCisgICAgICAgICAgICA8Q29tcG9uZW50IElkPSJleGVfc2hvcnRjdXQiIERpcmVjdG9yeT0iTWVudURpciIgR3VpZD0iKiI+CisgICAgICAgICAgICAgICAgPFNob3J0Y3V0IElkPSJweXRob24uZXhlIgorICAgICAgICAgICAgICAgICAgICAgICAgICBUYXJnZXQ9IlsjcHl0aG9uLmV4ZV0iCisgICAgICAgICAgICAgICAgICAgICAgICAgIE5hbWU9IiEobG9jLlNob3J0Y3V0TmFtZSkiCisgICAgICAgICAgICAgICAgICAgICAgICAgIERlc2NyaXB0aW9uPSIhKGxvYy5TaG9ydGN1dERlc2NyaXB0aW9uKSIgLz4KKyAgICAgICAgICAgICAgICA8UmVtb3ZlRm9sZGVyIElkPSJSZW1vdmVfTWVudURpciIgRGlyZWN0b3J5PSJNZW51RGlyIiBPbj0idW5pbnN0YWxsIiAvPgorICAgICAgICAgICAgICAgIDxSZWdpc3RyeUtleSBSb290PSJIS01VIiBLZXk9IltSRUdJU1RSWUtFWV0iPgorICAgICAgICAgICAgICAgICAgICA8UmVnaXN0cnlWYWx1ZSBLZXk9Ikluc3RhbGxQYXRoIiBUeXBlPSJzdHJpbmciIFZhbHVlPSJbSW5zdGFsbERpcmVjdG9yeV0iIEtleVBhdGg9InllcyIgLz4KKyAgICAgICAgICAgICAgICAgICAgPFJlZ2lzdHJ5VmFsdWUgS2V5PSJJbnN0YWxsUGF0aFxJbnN0YWxsR3JvdXAiIFR5cGU9InN0cmluZyIgVmFsdWU9IlB5dGhvbiAkKHZhci5TaG9ydFZlcnNpb24pIiAvPgorICAgICAgICAgICAgICAgIDwvUmVnaXN0cnlLZXk+CisgICAgICAgICAgICA8L0NvbXBvbmVudD4KKyAgICAgICAgPC9GZWF0dXJlPgorICAgIDwvUHJvZHVjdD4KKzwvV2l4PgpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL2V4ZS9leGVfZC53aXhwcm9qIGIvVG9vbHMvbXNpL2V4ZS9leGVfZC53aXhwcm9qCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI3NTQ1Y2EKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9tc2kvZXhlL2V4ZV9kLndpeHByb2oKQEAgLTAsMCArMSwyMCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKzxQcm9qZWN0IFRvb2xzVmVyc2lvbj0iNC4wIiBEZWZhdWx0VGFyZ2V0cz0iQnVpbGQiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgorICAgIDxQcm9wZXJ0eUdyb3VwPgorICAgICAgICA8UHJvamVjdEd1aWQ+e0IxQ0E3MzlDLThEQjAtNDAzQi05MDEwLUQ3OTUwNzUwN0NFOX08L1Byb2plY3RHdWlkPgorICAgICAgICA8U2NoZW1hVmVyc2lvbj4yLjA8L1NjaGVtYVZlcnNpb24+CisgICAgICAgIDxPdXRwdXROYW1lPmV4ZV9kPC9PdXRwdXROYW1lPgorICAgICAgICA8T3V0cHV0VHlwZT5QYWNrYWdlPC9PdXRwdXRUeXBlPgorICAgIDwvUHJvcGVydHlHcm91cD4KKyAgICA8SW1wb3J0IFByb2plY3Q9Ii4uXG1zaS5wcm9wcyIgLz4KKyAgICA8SXRlbUdyb3VwPgorICAgICAgICA8Q29tcGlsZSBJbmNsdWRlPSJleGVfZC53eHMiIC8+CisgICAgICAgIDxDb21waWxlIEluY2x1ZGU9ImV4ZV9maWxlcy53eHMiIC8+CisgICAgPC9JdGVtR3JvdXA+CisgICAgPEl0ZW1Hcm91cD4KKyAgICAgICAgPEVtYmVkZGVkUmVzb3VyY2UgSW5jbHVkZT0iKi53eGwiIC8+CisgICAgICAgIDxXeGxUZW1wbGF0ZSBJbmNsdWRlPSIqLnd4bF90ZW1wbGF0ZSIgLz4KKyAgICA8L0l0ZW1Hcm91cD4KKworICAgIDxJbXBvcnQgUHJvamVjdD0iLi5cbXNpLnRhcmdldHMiIC8+Cis8L1Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL2V4ZS9leGVfZC53eHMgYi9Ub29scy9tc2kvZXhlL2V4ZV9kLnd4cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hYmNiMDEyCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL2V4ZS9leGVfZC53eHMKQEAgLTAsMCArMSwxMyBAQAor77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzxXaXggeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vd2l4LzIwMDYvd2kiPgorICAgIDxQcm9kdWN0IElkPSIqIiBMYW5ndWFnZT0iIShsb2MuTENJRCkiIE5hbWU9IiEobG9jLlRpdGxlKSIgVmVyc2lvbj0iJCh2YXIuVmVyc2lvbikiIE1hbnVmYWN0dXJlcj0iIShsb2MuTWFudWZhY3R1cmVyKSIgVXBncmFkZUNvZGU9IiQodmFyLlVwZ3JhZGVDb2RlKSI+CisgICAgICAgIDxQYWNrYWdlIEluc3RhbGxlclZlcnNpb249IjMwMCIgQ29tcHJlc3NlZD0ieWVzIiBJbnN0YWxsU2NvcGU9InBlclVzZXIiIFBsYXRmb3JtPSIkKHZhci5QbGF0Zm9ybSkiIC8+CisgICAgICAgIDxNZWRpYVRlbXBsYXRlIEVtYmVkQ2FiPSJ5ZXMiIENvbXByZXNzaW9uTGV2ZWw9ImhpZ2giIC8+CisgICAgICAgIAorICAgICAgICA8UHJvcGVydHlSZWYgSWQ9IlVwZ3JhZGVUYWJsZSIgLz4KKyAgICAgICAgCisgICAgICAgIDxGZWF0dXJlIElkPSJEZWJ1Z0JpbmFyaWVzIiBBbGxvd0FkdmVydGlzZT0ibm8iIFRpdGxlPSIhKGxvYy5UaXRsZV9kKSIgRGVzY3JpcHRpb249IiEobG9jLkRlc2NyaXB0aW9uX2QpIj4KKyAgICAgICAgICAgIDxDb21wb25lbnRHcm91cFJlZiBJZD0iZXhlX3B5dGhvbl9kIiAvPgorICAgICAgICA8L0ZlYXR1cmU+CisgICAgPC9Qcm9kdWN0PgorPC9XaXg+CmRpZmYgLS1naXQgYS9Ub29scy9tc2kvZXhlL2V4ZV9lbi1VUy53eGxfdGVtcGxhdGUgYi9Ub29scy9tc2kvZXhlL2V4ZV9lbi1VUy53eGxfdGVtcGxhdGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTc3ZmJlNQotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS9leGUvZXhlX2VuLVVTLnd4bF90ZW1wbGF0ZQpAQCAtMCwwICsxLDcgQEAKK++7vzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8V2l4TG9jYWxpemF0aW9uIEN1bHR1cmU9ImVuLXVzIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS93aXgvMjAwNi9sb2NhbGl6YXRpb24iPgorICAgIDxTdHJpbmcgSWQ9IkRlc2NyaXB0b3IiPkV4ZWN1dGFibGVzPC9TdHJpbmc+CisgICAgPFN0cmluZyBJZD0iU2hvcnREZXNjcmlwdG9yIj5leGVjdXRhYmxlPC9TdHJpbmc+CisgICAgPFN0cmluZyBJZD0iU2hvcnRjdXROYW1lIj5QeXRob24ge3tTaG9ydFZlcnNpb259fSAoe3tCaXRuZXNzfX0pPC9TdHJpbmc+CisgICAgPFN0cmluZyBJZD0iU2hvcnRjdXREZXNjcmlwdGlvbiI+TGF1bmNoZXMgdGhlICEobG9jLlByb2R1Y3ROYW1lKSBpbnRlcnByZXRlci48L1N0cmluZz4KKzwvV2l4TG9jYWxpemF0aW9uPgpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL2V4ZS9leGVfZmlsZXMud3hzIGIvVG9vbHMvbXNpL2V4ZS9leGVfZmlsZXMud3hzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQwOTEzOTgKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9tc2kvZXhlL2V4ZV9maWxlcy53eHMKQEAgLTAsMCArMSw2OCBAQAor77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzxXaXggeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vd2l4LzIwMDYvd2kiPgorICAgIDxGcmFnbWVudD4KKyAgICAgICAgPENvbXBvbmVudEdyb3VwIElkPSJleGVfdHh0Ij4KKyAgICAgICAgICAgIDxDb21wb25lbnQgSWQ9IkxJQ0VOU0UudHh0IiBEaXJlY3Rvcnk9Ikluc3RhbGxEaXJlY3RvcnkiIEd1aWQ9IioiPgorICAgICAgICAgICAgICAgIDxGaWxlIE5hbWU9IkxJQ0VOU0UudHh0IiBTb3VyY2U9IkxJQ0VOU0UiIEtleVBhdGg9InllcyIgLz4KKyAgICAgICAgICAgIDwvQ29tcG9uZW50PgorICAgICAgICAgICAgPENvbXBvbmVudCBJZD0iTkVXUy50eHQiIERpcmVjdG9yeT0iSW5zdGFsbERpcmVjdG9yeSIgR3VpZD0iKiI+CisgICAgICAgICAgICAgICAgPEZpbGUgTmFtZT0iTkVXUy50eHQiIFNvdXJjZT0iIShiaW5kcGF0aC5zcmMpTWlzY1xORVdTIiBLZXlQYXRoPSJ5ZXMiIC8+CisgICAgICAgICAgICA8L0NvbXBvbmVudD4KKyAgICAgICAgICAgIDxDb21wb25lbnQgSWQ9IlJFQURNRS50eHQiIERpcmVjdG9yeT0iSW5zdGFsbERpcmVjdG9yeSIgR3VpZD0iKiI+CisgICAgICAgICAgICAgICAgPEZpbGUgTmFtZT0iUkVBRE1FLnR4dCIgU291cmNlPSIhKGJpbmRwYXRoLnNyYylSRUFETUUiIEtleVBhdGg9InllcyIgLz4KKyAgICAgICAgICAgIDwvQ29tcG9uZW50PgorICAgICAgICA8L0NvbXBvbmVudEdyb3VwPgorICAgIDwvRnJhZ21lbnQ+CisKKyAgICA8RnJhZ21lbnQ+CisgICAgICAgIDxQcm9wZXJ0eVJlZiBJZD0iUkVHSVNUUllLRVkiIC8+CisgICAgICAgIAorICAgICAgICA8Q29tcG9uZW50R3JvdXAgSWQ9ImV4ZV9weXRob24iPgorICAgICAgICAgICAgPENvbXBvbmVudCBJZD0icHl0aG9uLmV4ZSIgRGlyZWN0b3J5PSJJbnN0YWxsRGlyZWN0b3J5IiBHdWlkPSIkKHZhci5QeXRob25FeGVDb21wb25lbnRHdWlkKSI+CisgICAgICAgICAgICAgICAgPEZpbGUgTmFtZT0icHl0aG9uLmV4ZSIgS2V5UGF0aD0ieWVzIiAvPgorICAgICAgICAgICAgPC9Db21wb25lbnQ+CisgICAgICAgICAgICA8Q29tcG9uZW50IElkPSJweXRob253LmV4ZSIgRGlyZWN0b3J5PSJJbnN0YWxsRGlyZWN0b3J5IiBHdWlkPSIkKHZhci5QeXRob253RXhlQ29tcG9uZW50R3VpZCkiPgorICAgICAgICAgICAgICAgIDxGaWxlIE5hbWU9InB5dGhvbncuZXhlIiBLZXlQYXRoPSJ5ZXMiIC8+CisgICAgICAgICAgICA8L0NvbXBvbmVudD4KKyAgICAgICAgPC9Db21wb25lbnRHcm91cD4KKyAgICA8L0ZyYWdtZW50PgorCisgICAgPEZyYWdtZW50PgorICAgICAgICA8Q29tcG9uZW50R3JvdXAgSWQ9ImV4ZV9weXRob25fc3ltYm9scyI+CisgICAgICAgICAgICA8Q29tcG9uZW50IElkPSJweXRob24ucGRiIiBEaXJlY3Rvcnk9Ikluc3RhbGxEaXJlY3RvcnkiIEd1aWQ9IioiPgorICAgICAgICAgICAgICAgIDxGaWxlIE5hbWU9InB5dGhvbi5wZGIiIC8+CisgICAgICAgICAgICA8L0NvbXBvbmVudD4KKyAgICAgICAgICAgIDxDb21wb25lbnQgSWQ9InB5dGhvbncucGRiIiBEaXJlY3Rvcnk9Ikluc3RhbGxEaXJlY3RvcnkiIEd1aWQ9IioiPgorICAgICAgICAgICAgICAgIDxGaWxlIE5hbWU9InB5dGhvbncucGRiIiAvPgorICAgICAgICAgICAgPC9Db21wb25lbnQ+CisgICAgICAgIDwvQ29tcG9uZW50R3JvdXA+CisgICAgPC9GcmFnbWVudD4KKyAgICAgICAgCisgICAgPEZyYWdtZW50PgorICAgICAgICA8Q29tcG9uZW50R3JvdXAgSWQ9ImV4ZV9weXRob25fZCI+CisgICAgICAgICAgICA8Q29tcG9uZW50IElkPSJweXRob25fZC5leGUiIERpcmVjdG9yeT0iSW5zdGFsbERpcmVjdG9yeSIgR3VpZD0iKiI+CisgICAgICAgICAgICAgICAgPEZpbGUgTmFtZT0icHl0aG9uX2QuZXhlIiAvPgorICAgICAgICAgICAgPC9Db21wb25lbnQ+CisgICAgICAgICAgICA8Q29tcG9uZW50IElkPSJweXRob25fZC5wZGIiIERpcmVjdG9yeT0iSW5zdGFsbERpcmVjdG9yeSIgR3VpZD0iKiI+CisgICAgICAgICAgICAgICAgPEZpbGUgTmFtZT0icHl0aG9uX2QucGRiIiAvPgorICAgICAgICAgICAgPC9Db21wb25lbnQ+CisgICAgICAgICAgICA8Q29tcG9uZW50IElkPSJweXRob253X2QuZXhlIiBEaXJlY3Rvcnk9Ikluc3RhbGxEaXJlY3RvcnkiIEd1aWQ9IioiPgorICAgICAgICAgICAgICAgIDxGaWxlIE5hbWU9InB5dGhvbndfZC5leGUiIC8+CisgICAgICAgICAgICA8L0NvbXBvbmVudD4KKyAgICAgICAgICAgIDxDb21wb25lbnQgSWQ9InB5dGhvbndfZC5wZGIiIERpcmVjdG9yeT0iSW5zdGFsbERpcmVjdG9yeSIgR3VpZD0iKiI+CisgICAgICAgICAgICAgICAgPEZpbGUgTmFtZT0icHl0aG9ud19kLnBkYiIgLz4KKyAgICAgICAgICAgIDwvQ29tcG9uZW50PgorICAgICAgICA8L0NvbXBvbmVudEdyb3VwPgorICAgIDwvRnJhZ21lbnQ+CisgICAgCisgICAgPEZyYWdtZW50PgorICAgICAgICA8Q29tcG9uZW50R3JvdXAgSWQ9ImV4ZV9pY29ucyI+CisgICAgICAgICAgICA8Q29tcG9uZW50IElkPSJweS5pY28iIERpcmVjdG9yeT0iRExMcyIgR3VpZD0iKiI+CisgICAgICAgICAgICAgICAgPEZpbGUgTmFtZT0icHkuaWNvIiBTb3VyY2U9IiEoYmluZHBhdGguc3JjKVBDXHB5LmljbyIgS2V5UGF0aD0ieWVzIiAvPgorICAgICAgICAgICAgPC9Db21wb25lbnQ+CisgICAgICAgICAgICA8Q29tcG9uZW50IElkPSJweWMuaWNvIiBEaXJlY3Rvcnk9IkRMTHMiIEd1aWQ9IioiPgorICAgICAgICAgICAgICAgIDxGaWxlIE5hbWU9InB5Yy5pY28iIFNvdXJjZT0iIShiaW5kcGF0aC5zcmMpUENccHljLmljbyIgS2V5UGF0aD0ieWVzIiAvPgorICAgICAgICAgICAgPC9Db21wb25lbnQ+CisgICAgICAgIDwvQ29tcG9uZW50R3JvdXA+CisgICAgPC9GcmFnbWVudD4KKzwvV2l4PgpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL2V4ZS9leGVfcGRiLndpeHByb2ogYi9Ub29scy9tc2kvZXhlL2V4ZV9wZGIud2l4cHJvagpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ZjRjODY5Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL2V4ZS9leGVfcGRiLndpeHByb2oKQEAgLTAsMCArMSwyMCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKzxQcm9qZWN0IFRvb2xzVmVyc2lvbj0iNC4wIiBEZWZhdWx0VGFyZ2V0cz0iQnVpbGQiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgorICAgIDxQcm9wZXJ0eUdyb3VwPgorICAgICAgICA8UHJvamVjdEd1aWQ+ezRBMUY3MDQ1LThFRTItNDI3Ni1BQkI4LTVFMEM0MEU1RjM4Qn08L1Byb2plY3RHdWlkPgorICAgICAgICA8U2NoZW1hVmVyc2lvbj4yLjA8L1NjaGVtYVZlcnNpb24+CisgICAgICAgIDxPdXRwdXROYW1lPmV4ZV9wZGI8L091dHB1dE5hbWU+CisgICAgICAgIDxPdXRwdXRUeXBlPlBhY2thZ2U8L091dHB1dFR5cGU+CisgICAgPC9Qcm9wZXJ0eUdyb3VwPgorICAgIDxJbXBvcnQgUHJvamVjdD0iLi5cbXNpLnByb3BzIiAvPgorICAgIDxJdGVtR3JvdXA+CisgICAgICAgIDxDb21waWxlIEluY2x1ZGU9ImV4ZV9wZGIud3hzIiAvPgorICAgICAgICA8Q29tcGlsZSBJbmNsdWRlPSJleGVfZmlsZXMud3hzIiAvPgorICAgIDwvSXRlbUdyb3VwPgorICAgIDxJdGVtR3JvdXA+CisgICAgICAgIDxFbWJlZGRlZFJlc291cmNlIEluY2x1ZGU9Iioud3hsIiAvPgorICAgICAgICA8V3hsVGVtcGxhdGUgSW5jbHVkZT0iKi53eGxfdGVtcGxhdGUiIC8+CisgICAgPC9JdGVtR3JvdXA+CisKKyAgICA8SW1wb3J0IFByb2plY3Q9Ii4uXG1zaS50YXJnZXRzIiAvPgorPC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS9leGUvZXhlX3BkYi53eHMgYi9Ub29scy9tc2kvZXhlL2V4ZV9wZGIud3hzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUxMjllYzAKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9tc2kvZXhlL2V4ZV9wZGIud3hzCkBAIC0wLDAgKzEsMTMgQEAKK++7vzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8V2l4IHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3dpeC8yMDA2L3dpIj4KKyAgICA8UHJvZHVjdCBJZD0iKiIgTGFuZ3VhZ2U9IiEobG9jLkxDSUQpIiBOYW1lPSIhKGxvYy5UaXRsZSkiIFZlcnNpb249IiQodmFyLlZlcnNpb24pIiBNYW51ZmFjdHVyZXI9IiEobG9jLk1hbnVmYWN0dXJlcikiIFVwZ3JhZGVDb2RlPSIkKHZhci5VcGdyYWRlQ29kZSkiPgorICAgICAgICA8UGFja2FnZSBJbnN0YWxsZXJWZXJzaW9uPSIzMDAiIENvbXByZXNzZWQ9InllcyIgSW5zdGFsbFNjb3BlPSJwZXJVc2VyIiBQbGF0Zm9ybT0iJCh2YXIuUGxhdGZvcm0pIiAvPgorICAgICAgICA8TWVkaWFUZW1wbGF0ZSBFbWJlZENhYj0ieWVzIiBDb21wcmVzc2lvbkxldmVsPSJoaWdoIiAvPgorICAgICAgICAKKyAgICAgICAgPFByb3BlcnR5UmVmIElkPSJVcGdyYWRlVGFibGUiIC8+CisgICAgICAgIAorICAgICAgICA8RmVhdHVyZSBJZD0iU3ltYm9scyIgQWxsb3dBZHZlcnRpc2U9Im5vIiBUaXRsZT0iIShsb2MuVGl0bGVQZGIpIiBEZXNjcmlwdGlvbj0iIShsb2MuRGVzY3JpcHRpb25QZGIpIj4KKyAgICAgICAgICAgIDxDb21wb25lbnRHcm91cFJlZiBJZD0iZXhlX3B5dGhvbl9zeW1ib2xzIiAvPgorICAgICAgICA8L0ZlYXR1cmU+CisgICAgPC9Qcm9kdWN0PgorPC9XaXg+CmRpZmYgLS1naXQgYS9Ub29scy9tc2kvZ2V0X3dpeC5weSBiL1Rvb2xzL21zaS9nZXRfd2l4LnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRhMzZhMmUKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9tc2kvZ2V0X3dpeC5weQpAQCAtMCwwICsxLDQ5IEBACisnJycKK0Rvd25sb2FkcyBhbmQgZXh0cmFjdHMgV2lYIHRvIGEgbG9jYWwgZGlyZWN0b3J5CisnJycKKworX19hdXRob3JfXyA9ICdTdGV2ZSBEb3dlciA8c3RldmUuZG93ZXJAbWljcm9zb2Z0LmNvbT4nCisKK2ltcG9ydCBpbworaW1wb3J0IG9zCitpbXBvcnQgc3lzCisKK2Zyb20gcGF0aGxpYiBpbXBvcnQgUGF0aAorZnJvbSBzdWJwcm9jZXNzIGltcG9ydCBQb3BlbgorZnJvbSB6aXBmaWxlIGltcG9ydCBaaXBGaWxlCisKK0VYVEVSTkFMU19ESVIgPSBOb25lCitmb3IgcCBpbiBQYXRoKF9fZmlsZV9fKS5wYXJlbnRzOgorICAgIGlmIGFueShwLmdsb2IoIlBDQnVpbGQvKi52Y3hwcm9qIikpOgorICAgICAgICBFWFRFUk5BTFNfRElSID0gcCAvICJleHRlcm5hbHMiCisgICAgICAgIGJyZWFrCisKK2lmIG5vdCBFWFRFUk5BTFNfRElSOgorICAgIHByaW50KCJDYW5ub3QgZmluZCBwcm9qZWN0IHJvb3QiKQorICAgIHN5cy5leGl0KDEpCisKK1dJWF9CSU5BUklFU19aSVAgPSAnaHR0cDovL3dpeHRvb2xzZXQub3JnL2Rvd25sb2Fkcy92My4xMC4wLjE0MDMvd2l4MzEwLWJpbmFyaWVzLnppcCcKK1RBUkdFVF9CSU5fWklQID0gRVhURVJOQUxTX0RJUiAvICJ3aXguemlwIgorVEFSR0VUX0JJTl9ESVIgPSBFWFRFUk5BTFNfRElSIC8gIndpeCIKKworUE9XRVJTSEVMTF9DT01NQU5EID0gIltJTy5GaWxlXTo6V3JpdGVBbGxCeXRlcygne30nLCAoSW52b2tlLVdlYlJlcXVlc3Qge30gLVVzZUJhc2ljUGFyc2luZykuQ29udGVudCkiCisKK2lmIF9fbmFtZV9fID09ICdfX21haW5fXyc6CisgICAgaWYgVEFSR0VUX0JJTl9ESVIuZXhpc3RzKCkgYW5kIGFueShUQVJHRVRfQklOX0RJUi5nbG9iKCIqIikpOgorICAgICAgICBwcmludCgnV2lYIGlzIGFscmVhZHkgaW5zdGFsbGVkJykKKyAgICAgICAgc3lzLmV4aXQoMCkKKworICAgIHRyeToKKyAgICAgICAgVEFSR0VUX0JJTl9ESVIubWtkaXIoKQorICAgIGV4Y2VwdCBGaWxlRXhpc3RzRXJyb3I6CisgICAgICAgIHBhc3MKKworICAgIHByaW50KCdEb3dubG9hZGluZyBXaVggdG8nLCBUQVJHRVRfQklOX1pJUCkKKyAgICBwID0gUG9wZW4oWyJwb3dlcnNoZWxsLmV4ZSIsICItQ29tbWFuZCIsIFBPV0VSU0hFTExfQ09NTUFORC5mb3JtYXQoVEFSR0VUX0JJTl9aSVAsIFdJWF9CSU5BUklFU19aSVApXSkKKyAgICBwLndhaXQoKQorICAgIHByaW50KCdFeHRyYWN0aW5nIFdpWCB0bycsIFRBUkdFVF9CSU5fRElSKQorICAgIHdpdGggWmlwRmlsZShzdHIoVEFSR0VUX0JJTl9aSVApKSBhcyB6OgorICAgICAgICB6LmV4dHJhY3RhbGwoc3RyKFRBUkdFVF9CSU5fRElSKSkKKyAgICBUQVJHRVRfQklOX1pJUC51bmxpbmsoKQorCisgICAgcHJpbnQoJ0V4dHJhY3RlZCBXaVgnKQpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL2xhdW5jaGVyL2xhdW5jaGVyLndpeHByb2ogYi9Ub29scy9tc2kvbGF1bmNoZXIvbGF1bmNoZXIud2l4cHJvagpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43M2YyNmE4Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL2xhdW5jaGVyL2xhdW5jaGVyLndpeHByb2oKQEAgLTAsMCArMSwyMCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKzxQcm9qZWN0IFRvb2xzVmVyc2lvbj0iNC4wIiBEZWZhdWx0VGFyZ2V0cz0iQnVpbGQiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgorICAgIDxQcm9wZXJ0eUdyb3VwPgorICAgICAgICA8UHJvamVjdEd1aWQ+ezkyMUNGMEU2LUFFQkMtNDM3Ni1CQTFELUNENDZFQkZFNkRBNX08L1Byb2plY3RHdWlkPgorICAgICAgICA8U2NoZW1hVmVyc2lvbj4yLjA8L1NjaGVtYVZlcnNpb24+CisgICAgICAgIDxPdXRwdXROYW1lPmxhdW5jaGVyPC9PdXRwdXROYW1lPgorICAgICAgICA8T3V0cHV0VHlwZT5QYWNrYWdlPC9PdXRwdXRUeXBlPgorICAgIDwvUHJvcGVydHlHcm91cD4KKyAgICA8SW1wb3J0IFByb2plY3Q9Ii4uXG1zaS5wcm9wcyIgLz4KKyAgICA8SXRlbUdyb3VwPgorICAgICAgICA8Q29tcGlsZSBJbmNsdWRlPSJsYXVuY2hlci53eHMiIC8+CisgICAgICAgIDxDb21waWxlIEluY2x1ZGU9ImxhdW5jaGVyX2ZpbGVzLnd4cyIgLz4KKyAgICAgICAgPENvbXBpbGUgSW5jbHVkZT0ibGF1bmNoZXJfcmVnLnd4cyIgLz4KKyAgICA8L0l0ZW1Hcm91cD4KKyAgICA8SXRlbUdyb3VwPgorICAgICAgICA8RW1iZWRkZWRSZXNvdXJjZSBJbmNsdWRlPSIqLnd4bCIgLz4KKyAgICA8L0l0ZW1Hcm91cD4KKyAgICAKKyAgICA8SW1wb3J0IFByb2plY3Q9Ii4uXG1zaS50YXJnZXRzIiAvPgorPC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS9sYXVuY2hlci9sYXVuY2hlci53eHMgYi9Ub29scy9tc2kvbGF1bmNoZXIvbGF1bmNoZXIud3hzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIyMGNmZjgKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9tc2kvbGF1bmNoZXIvbGF1bmNoZXIud3hzCkBAIC0wLDAgKzEsMzEgQEAKK++7vzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8V2l4IHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3dpeC8yMDA2L3dpIj4KKyAgICA8UHJvZHVjdCBJZD0iKiIgTGFuZ3VhZ2U9IiEobG9jLkxDSUQpIiBOYW1lPSIhKGxvYy5UaXRsZSkiIFZlcnNpb249IiQodmFyLlZlcnNpb24pIiBNYW51ZmFjdHVyZXI9IiEobG9jLk1hbnVmYWN0dXJlcikiIFVwZ3JhZGVDb2RlPSIkKHZhci5VcGdyYWRlQ29kZSkiPgorICAgICAgICA8UGFja2FnZSBJbnN0YWxsZXJWZXJzaW9uPSIzMDAiIENvbXByZXNzZWQ9InllcyIgSW5zdGFsbFNjb3BlPSJwZXJVc2VyIiBQbGF0Zm9ybT0iJCh2YXIuUGxhdGZvcm0pIiAvPgorICAgICAgICA8TWVkaWFUZW1wbGF0ZSBFbWJlZENhYj0ieWVzIiBDb21wcmVzc2lvbkxldmVsPSJoaWdoIiAvPgorICAgICAgICAKKyAgICAgICAgPFByb3BlcnR5IElkPSJTdXBwcmVzc19UQVJHRVRESVJfQ2hlY2siIFZhbHVlPSIxIiAvPgorICAgICAgICA8UHJvcGVydHlSZWYgSWQ9IlVwZ3JhZGVUYWJsZSIgLz4KKyAgICAgICAgPFByb3BlcnR5UmVmIElkPSJBUlBQUk9EVUNUSUNPTiIgLz4KKworICAgICAgICA8RmVhdHVyZSBJZD0iRGVmYXVsdEZlYXR1cmUiIEFsbG93QWR2ZXJ0aXNlPSJubyIgVGl0bGU9IiEobG9jLlRpdGxlKSIgRGVzY3JpcHRpb249IiEobG9jLkRlc2NyaXB0aW9uKSI+CisgICAgICAgICAgICA8Q29tcG9uZW50R3JvdXBSZWYgSWQ9ImxhdW5jaGVyX2V4ZSIgUHJpbWFyeT0ieWVzIiAvPgorICAgICAgICA8L0ZlYXR1cmU+CisgICAgICAgIDxGZWF0dXJlIElkPSJBc3NvY2lhdGVGaWxlcyIgQWxsb3dBZHZlcnRpc2U9Im5vIiBUaXRsZT0iIShsb2MuVGl0bGUpIiBEZXNjcmlwdGlvbj0iIShsb2MuRGVzY3JpcHRpb24pIj4KKyAgICAgICAgICAgIDxDb21wb25lbnRHcm91cFJlZiBJZD0ibGF1bmNoZXJfZXhlIiAvPgorICAgICAgICAgICAgPENvbXBvbmVudEdyb3VwUmVmIElkPSJsYXVuY2hlcl9yZWciIC8+CisgICAgICAgIDwvRmVhdHVyZT4KKyAgICAgICAgCisgICAgICAgIDxEaXJlY3RvcnkgSWQ9IlRBUkdFVERJUiIgTmFtZT0iU291cmNlRGlyIj4KKyAgICAgICAgICAgIDxEaXJlY3RvcnkgSWQ9IkxhdW5jaGVySW5zdGFsbERpcmVjdG9yeSIgLz4KKyAgICAgICAgPC9EaXJlY3Rvcnk+CisgICAgICAgIAorICAgICAgICA8Q3VzdG9tQWN0aW9uIElkPSJTZXRMYXVuY2hlckluc3RhbGxEaXJlY3RvcnlMTSIgUHJvcGVydHk9IkxhdW5jaGVySW5zdGFsbERpcmVjdG9yeSIgVmFsdWU9IltXaW5kb3dzRm9sZGVyXSIgLz4KKyAgICAgICAgPEN1c3RvbUFjdGlvbiBJZD0iU2V0TGF1bmNoZXJJbnN0YWxsRGlyZWN0b3J5Q1UiIFByb3BlcnR5PSJMYXVuY2hlckluc3RhbGxEaXJlY3RvcnkiIFZhbHVlPSJbTG9jYWxBcHBEYXRhRm9sZGVyXVByb2dyYW1zXFB5dGhvblxMYXVuY2hlciIgLz4KKyAgICAgICAgCisgICAgICAgIDxJbnN0YWxsRXhlY3V0ZVNlcXVlbmNlPgorICAgICAgICAgICAgPEN1c3RvbSBCZWZvcmU9IlNldExhdW5jaGVySW5zdGFsbERpcmVjdG9yeUxNIiBBY3Rpb249IlNldExhdW5jaGVySW5zdGFsbERpcmVjdG9yeUNVIj5OT1QgSW5zdGFsbGVkIEFORCBOT1QgQUxMVVNFUlM9MTwvQ3VzdG9tPgorICAgICAgICAgICAgPEN1c3RvbSBCZWZvcmU9IkNvc3RGaW5hbGl6ZSIgQWN0aW9uPSJTZXRMYXVuY2hlckluc3RhbGxEaXJlY3RvcnlMTSI+Tk9UIEluc3RhbGxlZCBBTkQgQUxMVVNFUlM9MTwvQ3VzdG9tPgorICAgICAgICA8L0luc3RhbGxFeGVjdXRlU2VxdWVuY2U+CisgICAgPC9Qcm9kdWN0PgorPC9XaXg+CmRpZmYgLS1naXQgYS9Ub29scy9tc2kvbGF1bmNoZXIvbGF1bmNoZXJfZW4tVVMud3hsIGIvVG9vbHMvbXNpL2xhdW5jaGVyL2xhdW5jaGVyX2VuLVVTLnd4bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hODhmMjIxCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL2xhdW5jaGVyL2xhdW5jaGVyX2VuLVVTLnd4bApAQCAtMCwwICsxLDggQEAKK++7vzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8V2l4TG9jYWxpemF0aW9uIEN1bHR1cmU9ImVuLXVzIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS93aXgvMjAwNi9sb2NhbGl6YXRpb24iPgorICAgIDxTdHJpbmcgSWQ9IkRlc2NyaXB0b3IiPkxhdW5jaGVyPC9TdHJpbmc+CisgICAgPFN0cmluZyBJZD0iU2hvcnREZXNjcmlwdG9yIj5sYXVuY2hlcjwvU3RyaW5nPgorICAgIDxTdHJpbmcgSWQ9IlB5dGhvbkZpbGVEZXNjcmlwdGlvbiI+UHl0aG9uIEZpbGU8L1N0cmluZz4KKyAgICA8U3RyaW5nIElkPSJQeXRob25Ob0NvbkZpbGVEZXNjcmlwdGlvbiI+UHl0aG9uIEZpbGUgKG5vIGNvbnNvbGUpPC9TdHJpbmc+CisgICAgPFN0cmluZyBJZD0iUHl0aG9uQ29tcGlsZWRGaWxlRGVzY3JpcHRpb24iPkNvbXBpbGVkIFB5dGhvbiBGaWxlPC9TdHJpbmc+Cis8L1dpeExvY2FsaXphdGlvbj4KZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS9sYXVuY2hlci9sYXVuY2hlcl9maWxlcy53eHMgYi9Ub29scy9tc2kvbGF1bmNoZXIvbGF1bmNoZXJfZmlsZXMud3hzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk2MDZkYzYKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9tc2kvbGF1bmNoZXIvbGF1bmNoZXJfZmlsZXMud3hzCkBAIC0wLDAgKzEsMjQgQEAKK++7vzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8V2l4IHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3dpeC8yMDA2L3dpIj4KKyAgICA8RnJhZ21lbnQ+CisgICAgICAgIDxDb21wb25lbnRHcm91cCBJZD0ibGF1bmNoZXJfZXhlIj4KKyAgICAgICAgICAgIDxDb21wb25lbnQgSWQ9InB5LmV4ZSIgRGlyZWN0b3J5PSJMYXVuY2hlckluc3RhbGxEaXJlY3RvcnkiIEd1aWQ9IntCNTEwNzQwMi02OTU4LTQ2MUItOEIwQS00MDM3RDMzMjcxNjB9Ij4KKyAgICAgICAgICAgICAgICA8RmlsZSBJZD0icHkuZXhlIiBOYW1lPSJweS5leGUiIFNvdXJjZT0icHkuZXhlIiBLZXlQYXRoPSJ5ZXMiIC8+CisgICAgICAgICAgICA8L0NvbXBvbmVudD4KKyAgICAgICAgICAgIDxDb21wb25lbnQgSWQ9InB5dy5leGUiIERpcmVjdG9yeT0iTGF1bmNoZXJJbnN0YWxsRGlyZWN0b3J5IiBHdWlkPSJ7OEU1MkI4Q0QtNDhCQi00RDc0LTg0Q0QtNjIzOEJDRDExRjIwfSI+CisgICAgICAgICAgICAgICAgPEZpbGUgSWQ9InB5dy5leGUiIE5hbWU9InB5dy5leGUiIFNvdXJjZT0icHl3LmV4ZSIgS2V5UGF0aD0ieWVzIiAvPgorICAgICAgICAgICAgPC9Db21wb25lbnQ+CisKKyAgICAgICAgICAgIDxDb21wb25lbnQgSWQ9ImxhdW5jaGVyX3BhdGhfY3UiIERpcmVjdG9yeT0iTGF1bmNoZXJJbnN0YWxsRGlyZWN0b3J5IiBHdWlkPSJ7OTVBRUI5MzAtMzY3Qy00NzVDLUExN0UtQTg5QkZDRDRDNjcwfSI+CisgICAgICAgICAgICAgICAgPENvbmRpdGlvbj5OT1QgQUxMVVNFUlM9MTwvQ29uZGl0aW9uPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDxSZWdpc3RyeVZhbHVlIEtleVBhdGg9InllcyIgUm9vdD0iSEtNVSIgS2V5PSJTb2Z0d2FyZVxQeXRob25cUHlMYXVuY2hlclxJbnN0YWxsRGlyIiBWYWx1ZT0iW0xhdW5jaGVySW5zdGFsbERpcmVjdG9yeV0iIFR5cGU9InN0cmluZyIgLz4KKyAgICAgICAgICAgICAgICA8RW52aXJvbm1lbnQgSWQ9IlBBVEhfQ1UiIEFjdGlvbj0ic2V0IiBOYW1lPSJQQVRIIiBQYXJ0PSJmaXJzdCIgVmFsdWU9IltMYXVuY2hlckluc3RhbGxEaXJlY3RvcnldIiAvPgorICAgICAgICAgICAgPC9Db21wb25lbnQ+CisgICAgICAgICAgICA8Q29tcG9uZW50IElkPSJsYXVuY2hlcl9wYXRoX2xtIiBEaXJlY3Rvcnk9IkxhdW5jaGVySW5zdGFsbERpcmVjdG9yeSIgR3VpZD0iezRBNDFDMzY1LTRFMjctNEQzOC1BNkQxLTRBMDFCNEE2NTAwQ30iPgorICAgICAgICAgICAgICAgIDxDb25kaXRpb24+QUxMVVNFUlM9MTwvQ29uZGl0aW9uPgorICAgICAgICAgICAgICAgIDxSZWdpc3RyeVZhbHVlIEtleVBhdGg9InllcyIgUm9vdD0iSEtNVSIgS2V5PSJTb2Z0d2FyZVxQeXRob25cUHlMYXVuY2hlclxJbnN0YWxsRGlyIiBWYWx1ZT0iW0xhdW5jaGVySW5zdGFsbERpcmVjdG9yeV0iIFR5cGU9InN0cmluZyIgLz4KKyAgICAgICAgICAgIDwvQ29tcG9uZW50PgorICAgICAgICA8L0NvbXBvbmVudEdyb3VwPgorICAgIDwvRnJhZ21lbnQ+Cis8L1dpeD4KZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS9sYXVuY2hlci9sYXVuY2hlcl9yZWcud3hzIGIvVG9vbHMvbXNpL2xhdW5jaGVyL2xhdW5jaGVyX3JlZy53eHMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWFiM2QxMQotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS9sYXVuY2hlci9sYXVuY2hlcl9yZWcud3hzCkBAIC0wLDAgKzEsMzIgQEAKK++7vzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8V2l4IHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3dpeC8yMDA2L3dpIj4KKyAgICA8RnJhZ21lbnQ+CisgICAgICAgIDxDb21wb25lbnRHcm91cCBJZD0ibGF1bmNoZXJfcmVnIj4KKyAgICAgICAgICAgIDxDb21wb25lbnQgSWQ9ImZpbGVfYXNzb2NpYXRpb24iIERpcmVjdG9yeT0iTGF1bmNoZXJJbnN0YWxsRGlyZWN0b3J5IiBHdWlkPSJ7NUFGODREOUEtRDgyMC00NTZCLUIyMzAtNkUwMTA1QTUwMjc2fSI+CisgICAgICAgICAgICAgICAgPFJlZ2lzdHJ5VmFsdWUgS2V5UGF0aD0ieWVzIiBSb290PSJIS01VIiBLZXk9IlNvZnR3YXJlXFB5dGhvblxQeUxhdW5jaGVyXEFzc29jaWF0ZUZpbGVzIiBWYWx1ZT0iMSIgVHlwZT0iaW50ZWdlciIgLz4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8UHJvZ0lkIElkPSIkKHZhci5UZXN0UHJlZml4KVB5dGhvbi5GaWxlIiBEZXNjcmlwdGlvbj0iIShsb2MuUHl0aG9uRmlsZURlc2NyaXB0aW9uKSIgQWR2ZXJ0aXNlPSJubyIgSWNvbj0icHkuZXhlIiBJY29uSW5kZXg9IjEiPgorICAgICAgICAgICAgICAgICAgICA8RXh0ZW5zaW9uIElkPSIkKHZhci5GaWxlRXh0ZW5zaW9uKSIgQ29udGVudFR5cGU9InRleHQvcGxhaW4iPgorICAgICAgICAgICAgICAgICAgICAgICAgPFZlcmIgSWQ9Im9wZW4iIFRhcmdldEZpbGU9InB5LmV4ZSIgQXJndW1lbnQ9IiZxdW90OyVMJnF1b3Q7ICUqIiAvPgorICAgICAgICAgICAgICAgICAgICA8L0V4dGVuc2lvbj4KKyAgICAgICAgICAgICAgICA8L1Byb2dJZD4KKyAgICAgICAgICAgICAgICA8UmVnaXN0cnlWYWx1ZSBSb290PSJIS0NSIiBLZXk9IiQodmFyLlRlc3RQcmVmaXgpUHl0aG9uLkZpbGVcc2hlbGxleFxEcm9wSGFuZGxlciIgVmFsdWU9Ins2MDI1NENBNS05NTNCLTExQ0YtOEM5Ni0wMEFBMDBCODcwOEN9IiBUeXBlPSJzdHJpbmciIC8+CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgPFByb2dJZCBJZD0iJCh2YXIuVGVzdFByZWZpeClQeXRob24uTm9Db25GaWxlIiBEZXNjcmlwdGlvbj0iIShsb2MuUHl0aG9uTm9Db25GaWxlRGVzY3JpcHRpb24pIiBBZHZlcnRpc2U9Im5vIiBJY29uPSJweS5leGUiIEljb25JbmRleD0iMSI+CisgICAgICAgICAgICAgICAgICAgIDxFeHRlbnNpb24gSWQ9IiQodmFyLkZpbGVFeHRlbnNpb24pdyIgQ29udGVudFR5cGU9InRleHQvcGxhaW4iPgorICAgICAgICAgICAgICAgICAgICAgICAgPFZlcmIgSWQ9Im9wZW4iIFRhcmdldEZpbGU9InB5dy5leGUiIEFyZ3VtZW50PSImcXVvdDslTCZxdW90OyAlKiIgLz4KKyAgICAgICAgICAgICAgICAgICAgPC9FeHRlbnNpb24+CisgICAgICAgICAgICAgICAgPC9Qcm9nSWQ+CisgICAgICAgICAgICAgICAgPFJlZ2lzdHJ5VmFsdWUgUm9vdD0iSEtDUiIgS2V5PSIkKHZhci5UZXN0UHJlZml4KVB5dGhvbi5Ob0NvbkZpbGVcc2hlbGxleFxEcm9wSGFuZGxlciIgVmFsdWU9Ins2MDI1NENBNS05NTNCLTExQ0YtOEM5Ni0wMEFBMDBCODcwOEN9IiBUeXBlPSJzdHJpbmciIC8+CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgPFByb2dJZCBJZD0iJCh2YXIuVGVzdFByZWZpeClQeXRob24uQ29tcGlsZWRGaWxlIiBEZXNjcmlwdGlvbj0iIShsb2MuUHl0aG9uQ29tcGlsZWRGaWxlRGVzY3JpcHRpb24pIiBBZHZlcnRpc2U9Im5vIiBJY29uPSJweS5leGUiIEljb25JbmRleD0iMiI+CisgICAgICAgICAgICAgICAgICAgIDxFeHRlbnNpb24gSWQ9IiQodmFyLkZpbGVFeHRlbnNpb24pYyI+CisgICAgICAgICAgICAgICAgICAgICAgICA8VmVyYiBJZD0ib3BlbiIgVGFyZ2V0RmlsZT0icHkuZXhlIiBBcmd1bWVudD0iJnF1b3Q7JUwmcXVvdDsgJSoiIC8+CisgICAgICAgICAgICAgICAgICAgIDwvRXh0ZW5zaW9uPgorICAgICAgICAgICAgICAgICAgICA8RXh0ZW5zaW9uIElkPSIkKHZhci5GaWxlRXh0ZW5zaW9uKW8iIC8+CisgICAgICAgICAgICAgICAgPC9Qcm9nSWQ+CisgICAgICAgICAgICAgICAgPFJlZ2lzdHJ5VmFsdWUgUm9vdD0iSEtDUiIgS2V5PSIkKHZhci5UZXN0UHJlZml4KVB5dGhvbi5Db21waWxlZEZpbGVcc2hlbGxleFxEcm9wSGFuZGxlciIgVmFsdWU9Ins2MDI1NENBNS05NTNCLTExQ0YtOEM5Ni0wMEFBMDBCODcwOEN9IiBUeXBlPSJzdHJpbmciIC8+CisgICAgICAgICAgICA8L0NvbXBvbmVudD4KKyAgICAgICAgPC9Db21wb25lbnRHcm91cD4KKyAgICA8L0ZyYWdtZW50PgorPC9XaXg+CmRpZmYgLS1naXQgYS9Ub29scy9tc2kvbGliL2xpYi53aXhwcm9qIGIvVG9vbHMvbXNpL2xpYi9saWIud2l4cHJvagpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NGU1ODc4Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL2xpYi9saWIud2l4cHJvagpAQCAtMCwwICsxLDM0IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgorPFByb2plY3QgVG9vbHNWZXJzaW9uPSI0LjAiIERlZmF1bHRUYXJnZXRzPSJCdWlsZCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+CisgICAgPFByb3BlcnR5R3JvdXA+CisgICAgICAgIDxQcm9qZWN0R3VpZD57MTEzNjdFNzYtMzMzNy00NjAyLThGMUUtNzdEQjRGMzcwRDdFfTwvUHJvamVjdEd1aWQ+CisgICAgICAgIDxTY2hlbWFWZXJzaW9uPjIuMDwvU2NoZW1hVmVyc2lvbj4KKyAgICAgICAgPE91dHB1dE5hbWU+bGliPC9PdXRwdXROYW1lPgorICAgICAgICA8T3V0cHV0VHlwZT5QYWNrYWdlPC9PdXRwdXRUeXBlPgorICAgIDwvUHJvcGVydHlHcm91cD4KKyAgICA8SW1wb3J0IFByb2plY3Q9Ii4uXG1zaS5wcm9wcyIgLz4KKyAgICA8SXRlbUdyb3VwPgorICAgICAgICA8Q29tcGlsZSBJbmNsdWRlPSJsaWIud3hzIiAvPgorICAgICAgICA8Q29tcGlsZSBJbmNsdWRlPSJsaWJfZmlsZXMud3hzIiAvPgorICAgIDwvSXRlbUdyb3VwPgorICAgIDxJdGVtR3JvdXA+CisgICAgICAgIDxFbWJlZGRlZFJlc291cmNlIEluY2x1ZGU9Iioud3hsIiAvPgorICAgIDwvSXRlbUdyb3VwPgorICAgIDxJdGVtR3JvdXA+CisgICAgICAgIDxFeGNsdWRlRm9sZGVycyBJbmNsdWRlPSJMaWJcdGVzdDtMaWJcdGVzdHM7TGliXHRraW50ZXI7TGliXGlkbGVsaWI7TGliXHR1cnRsZWRlbW8iIC8+CisgICAgICAgIDxJbnN0YWxsRmlsZXMgSW5jbHVkZT0iJChQeVNvdXJjZVBhdGgpTGliXCoqXCoiCisgICAgICAgICAgICAgICAgICAgICAgRXhjbHVkZT0iJChQeVNvdXJjZVBhdGgpTGliXCoqXCoucHljOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQoUHlTb3VyY2VQYXRoKUxpYlwqKlwqLnB5bzsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKFB5U291cmNlUGF0aClMaWJcc2l0ZS1wYWNrYWdlc1xSRUFETUU7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQChFeGNsdWRlRm9sZGVycy0+JyQoUHlTb3VyY2VQYXRoKSUoSWRlbnRpdHkpXConKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAKEV4Y2x1ZGVGb2xkZXJzLT4nJChQeVNvdXJjZVBhdGgpJShJZGVudGl0eSlcKipcKicpIj4KKyAgICAgICAgICAgIDxTb3VyY2VCYXNlPiQoUHlTb3VyY2VQYXRoKUxpYjwvU291cmNlQmFzZT4KKyAgICAgICAgICAgIDxTb3VyY2U+IShiaW5kcGF0aC5zcmMpTGliXDwvU291cmNlPgorICAgICAgICAgICAgPFRhcmdldEJhc2U+JChQeVNvdXJjZVBhdGgpTGliPC9UYXJnZXRCYXNlPgorICAgICAgICAgICAgPFRhcmdldF8+TGliXDwvVGFyZ2V0Xz4KKyAgICAgICAgICAgIDxHcm91cD5saWJfcHk8L0dyb3VwPgorICAgICAgICA8L0luc3RhbGxGaWxlcz4KKyAgICA8L0l0ZW1Hcm91cD4KKyAgICAKKyAgICA8SW1wb3J0IFByb2plY3Q9Ii4uXG1zaS50YXJnZXRzIiAvPgorPC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS9saWIvbGliLnd4cyBiL1Rvb2xzL21zaS9saWIvbGliLnd4cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMWFlYzc1Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL2xpYi9saWIud3hzCkBAIC0wLDAgKzEsMTYgQEAKK++7vzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8V2l4IHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3dpeC8yMDA2L3dpIj4KKyAgICA8UHJvZHVjdCBJZD0iKiIgTGFuZ3VhZ2U9IiEobG9jLkxDSUQpIiBOYW1lPSIhKGxvYy5UaXRsZSkiIFZlcnNpb249IiQodmFyLlZlcnNpb24pIiBNYW51ZmFjdHVyZXI9IiEobG9jLk1hbnVmYWN0dXJlcikiIFVwZ3JhZGVDb2RlPSIkKHZhci5VcGdyYWRlQ29kZSkiPgorICAgICAgICA8UGFja2FnZSBJbnN0YWxsZXJWZXJzaW9uPSIzMDAiIENvbXByZXNzZWQ9InllcyIgSW5zdGFsbFNjb3BlPSJwZXJVc2VyIiBQbGF0Zm9ybT0iJCh2YXIuUGxhdGZvcm0pIiAvPgorICAgICAgICA8TWVkaWFUZW1wbGF0ZSBFbWJlZENhYj0ieWVzIiBDb21wcmVzc2lvbkxldmVsPSJoaWdoIiAvPgorICAgICAgICAKKyAgICAgICAgPFByb3BlcnR5UmVmIElkPSJVcGdyYWRlVGFibGUiIC8+CisgICAgICAgIDxQcm9wZXJ0eVJlZiBJZD0iUkVHSVNUUllLRVkiIC8+CisgICAgICAgIAorICAgICAgICA8RmVhdHVyZSBJZD0iRGVmYXVsdEZlYXR1cmUiIEFsbG93QWR2ZXJ0aXNlPSJubyIgVGl0bGU9IiEobG9jLlRpdGxlKSIgRGVzY3JpcHRpb249IiEobG9jLkRlc2NyaXB0aW9uKSI+CisgICAgICAgICAgICA8Q29tcG9uZW50R3JvdXBSZWYgSWQ9ImxpYl9weSIgLz4KKyAgICAgICAgICAgIDxDb21wb25lbnRHcm91cFJlZiBJZD0ibGliX2ZpbGVzIiAvPgorICAgICAgICAgICAgPENvbXBvbmVudEdyb3VwUmVmIElkPSJsaWJfZXh0ZW5zaW9ucyIgLz4KKyAgICAgICAgPC9GZWF0dXJlPgorICAgIDwvUHJvZHVjdD4KKzwvV2l4PgpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL2xpYi9saWJfZC53aXhwcm9qIGIvVG9vbHMvbXNpL2xpYi9saWJfZC53aXhwcm9qCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU4N2E4MmMKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9tc2kvbGliL2xpYl9kLndpeHByb2oKQEAgLTAsMCArMSwxOSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKzxQcm9qZWN0IFRvb2xzVmVyc2lvbj0iNC4wIiBEZWZhdWx0VGFyZ2V0cz0iQnVpbGQiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgorICAgIDxQcm9wZXJ0eUdyb3VwPgorICAgICAgICA8UHJvamVjdEd1aWQ+ezZDNDQzQ0QzLTgyNTgtNDMzNS1CQTAzLTQ5REE5QzM0Q0U0RH08L1Byb2plY3RHdWlkPgorICAgICAgICA8U2NoZW1hVmVyc2lvbj4yLjA8L1NjaGVtYVZlcnNpb24+CisgICAgICAgIDxPdXRwdXROYW1lPmxpYl9kPC9PdXRwdXROYW1lPgorICAgICAgICA8T3V0cHV0VHlwZT5QYWNrYWdlPC9PdXRwdXRUeXBlPgorICAgIDwvUHJvcGVydHlHcm91cD4KKyAgICA8SW1wb3J0IFByb2plY3Q9Ii4uXG1zaS5wcm9wcyIgLz4KKyAgICA8SXRlbUdyb3VwPgorICAgICAgICA8Q29tcGlsZSBJbmNsdWRlPSJsaWJfZC53eHMiIC8+CisgICAgICAgIDxDb21waWxlIEluY2x1ZGU9ImxpYl9maWxlcy53eHMiIC8+CisgICAgPC9JdGVtR3JvdXA+CisgICAgPEl0ZW1Hcm91cD4KKyAgICAgICAgPEVtYmVkZGVkUmVzb3VyY2UgSW5jbHVkZT0iKi53eGwiIC8+CisgICAgPC9JdGVtR3JvdXA+CisgICAgCisgICAgPEltcG9ydCBQcm9qZWN0PSIuLlxtc2kudGFyZ2V0cyIgLz4KKzwvUHJvamVjdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9Ub29scy9tc2kvbGliL2xpYl9kLnd4cyBiL1Rvb2xzL21zaS9saWIvbGliX2Qud3hzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVhNWNmNzAKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9tc2kvbGliL2xpYl9kLnd4cwpAQCAtMCwwICsxLDEzIEBACivvu788P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPFdpeCB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS93aXgvMjAwNi93aSI+CisgICAgPFByb2R1Y3QgSWQ9IioiIExhbmd1YWdlPSIhKGxvYy5MQ0lEKSIgTmFtZT0iIShsb2MuVGl0bGUpIiBWZXJzaW9uPSIkKHZhci5WZXJzaW9uKSIgTWFudWZhY3R1cmVyPSIhKGxvYy5NYW51ZmFjdHVyZXIpIiBVcGdyYWRlQ29kZT0iJCh2YXIuVXBncmFkZUNvZGUpIj4KKyAgICAgICAgPFBhY2thZ2UgSW5zdGFsbGVyVmVyc2lvbj0iMzAwIiBDb21wcmVzc2VkPSJ5ZXMiIEluc3RhbGxTY29wZT0icGVyVXNlciIgUGxhdGZvcm09IiQodmFyLlBsYXRmb3JtKSIgLz4KKyAgICAgICAgPE1lZGlhVGVtcGxhdGUgRW1iZWRDYWI9InllcyIgQ29tcHJlc3Npb25MZXZlbD0iaGlnaCIgLz4KKyAgICAgICAgCisgICAgICAgIDxQcm9wZXJ0eVJlZiBJZD0iVXBncmFkZVRhYmxlIiAvPgorICAgICAgICAKKyAgICAgICAgPEZlYXR1cmUgSWQ9IkRlYnVnQmluYXJpZXMiIEFsbG93QWR2ZXJ0aXNlPSJubyIgVGl0bGU9IiEobG9jLlRpdGxlX2QpIiBEZXNjcmlwdGlvbj0iIShsb2MuRGVzY3JpcHRpb25fZCkiPgorICAgICAgICAgICAgPENvbXBvbmVudEdyb3VwUmVmIElkPSJsaWJfZXh0ZW5zaW9uc19kIiAvPgorICAgICAgICA8L0ZlYXR1cmU+CisgICAgPC9Qcm9kdWN0PgorPC9XaXg+CmRpZmYgLS1naXQgYS9Ub29scy9tc2kvbGliL2xpYl9lbi1VUy53eGwgYi9Ub29scy9tc2kvbGliL2xpYl9lbi1VUy53eGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzA1YmNjNwotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS9saWIvbGliX2VuLVVTLnd4bApAQCAtMCwwICsxLDUgQEAKK++7vzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8V2l4TG9jYWxpemF0aW9uIEN1bHR1cmU9ImVuLXVzIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS93aXgvMjAwNi9sb2NhbGl6YXRpb24iPgorICAgIDxTdHJpbmcgSWQ9IkRlc2NyaXB0b3IiPlN0YW5kYXJkIExpYnJhcnk8L1N0cmluZz4KKyAgICA8U3RyaW5nIElkPSJTaG9ydERlc2NyaXB0b3IiPmxpYjwvU3RyaW5nPgorPC9XaXhMb2NhbGl6YXRpb24+CmRpZmYgLS1naXQgYS9Ub29scy9tc2kvbGliL2xpYl9maWxlcy53eHMgYi9Ub29scy9tc2kvbGliL2xpYl9maWxlcy53eHMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmE3OWE4ZAotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS9saWIvbGliX2ZpbGVzLnd4cwpAQCAtMCwwICsxLDc5IEBACivvu788P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPFdpeCB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS93aXgvMjAwNi93aSI+CisgICAgPD9kZWZpbmUgZXh0cz1weWV4cGF0O3NlbGVjdDt1bmljb2RlZGF0YTt3aW5zb3VuZDtfYnoyO19lbGVtZW50dHJlZTtfc29ja2V0O19zc2w7X21zaTtfY3R5cGVzO19oYXNobGliO19tdWx0aXByb2Nlc3Npbmc7X2x6bWE7X2RlY2ltYWw7X292ZXJsYXBwZWQ7X3NxbGl0ZTMgPz4KKyAgICA8RnJhZ21lbnQ+CisgICAgICAgIDxDb21wb25lbnRHcm91cCBJZD0ibGliX2V4dGVuc2lvbnMiPgorICAgICAgICAgICAgPD9mb3JlYWNoIGV4dCBpbiAkKHZhci5leHRzKT8+CisgICAgICAgIAorICAgICAgICAgICAgPENvbXBvbmVudCBJZD0iJCh2YXIuZXh0KS5weWQiIERpcmVjdG9yeT0iRExMcyIgR3VpZD0iKiI+CisgICAgICAgICAgICAgICAgPEZpbGUgTmFtZT0iJCh2YXIuZXh0KS5weWQiIEtleVBhdGg9InllcyIgLz4KKyAgICAgICAgICAgIDwvQ29tcG9uZW50PgorICAgICAgICAgICAgCisgICAgICAgICAgICA8P2VuZGZvcmVhY2ggPz4KKyAgICAgICAgICAgIAorICAgICAgICAgICAgPENvbXBvbmVudCBJZD0ic3FsaXRlMy5kbGwiIERpcmVjdG9yeT0iRExMcyIgR3VpZD0iKiI+CisgICAgICAgICAgICAgICAgPEZpbGUgTmFtZT0ic3FsaXRlMy5kbGwiIEtleVBhdGg9InllcyIgLz4KKyAgICAgICAgICAgIDwvQ29tcG9uZW50PgorICAgICAgICA8L0NvbXBvbmVudEdyb3VwPgorICAgIDwvRnJhZ21lbnQ+CisgICAgCisgICAgPEZyYWdtZW50PgorICAgICAgICA8Q29tcG9uZW50R3JvdXAgSWQ9ImxpYl9leHRlbnNpb25zX3N5bWJvbHMiPgorICAgICAgICAgICAgPD9mb3JlYWNoIGV4dCBpbiAkKHZhci5leHRzKT8+CisgICAgICAgICAgICAKKyAgICAgICAgICAgIDxDb21wb25lbnQgSWQ9IiQodmFyLmV4dCkucGRiIiBEaXJlY3Rvcnk9IkRMTHMiIEd1aWQ9IioiPgorICAgICAgICAgICAgICAgIDxDb25kaXRpb24+U1lNQk9MUz0xPC9Db25kaXRpb24+CisgICAgICAgICAgICAgICAgPEZpbGUgTmFtZT0iJCh2YXIuZXh0KS5wZGIiIC8+CisgICAgICAgICAgICA8L0NvbXBvbmVudD4KKyAgICAgICAgICAgIAorICAgICAgICAgICAgPD9lbmRmb3JlYWNoID8+CisgICAgICAgICAgICAKKyAgICAgICAgICAgIDxDb21wb25lbnQgSWQ9InNxbGl0ZTMucGRiIiBEaXJlY3Rvcnk9IkRMTHMiIEd1aWQ9IioiPgorICAgICAgICAgICAgICAgIDxGaWxlIE5hbWU9InNxbGl0ZTMucGRiIiAvPgorICAgICAgICAgICAgPC9Db21wb25lbnQ+CisgICAgICAgIDwvQ29tcG9uZW50R3JvdXA+CisgICAgPC9GcmFnbWVudD4KKyAgICAKKyAgICA8RnJhZ21lbnQ+CisgICAgICAgIDxDb21wb25lbnRHcm91cCBJZD0ibGliX2V4dGVuc2lvbnNfZCI+CisgICAgICAgICAgICA8P2ZvcmVhY2ggZXh0IGluICQodmFyLmV4dHMpPz4KKyAgICAgICAgICAgIAorICAgICAgICAgICAgPENvbXBvbmVudCBJZD0iJCh2YXIuZXh0KV9kLnB5ZCIgRGlyZWN0b3J5PSJETExzIiBHdWlkPSIqIj4KKyAgICAgICAgICAgICAgICA8RmlsZSBOYW1lPSIkKHZhci5leHQpX2QucHlkIiAvPgorICAgICAgICAgICAgPC9Db21wb25lbnQ+CisgICAgICAgICAgICA8Q29tcG9uZW50IElkPSIkKHZhci5leHQpX2QucGRiIiBEaXJlY3Rvcnk9IkRMTHMiIEd1aWQ9IioiPgorICAgICAgICAgICAgICAgIDxGaWxlIE5hbWU9IiQodmFyLmV4dClfZC5wZGIiIC8+CisgICAgICAgICAgICA8L0NvbXBvbmVudD4KKyAgICAgICAgICAgIAorICAgICAgICAgICAgPD9lbmRmb3JlYWNoID8+CisgICAgICAgICAgICAKKyAgICAgICAgICAgIDxDb21wb25lbnQgSWQ9InNxbGl0ZTNfZC5kbGwiIERpcmVjdG9yeT0iRExMcyIgR3VpZD0iKiI+CisgICAgICAgICAgICAgICAgPEZpbGUgTmFtZT0ic3FsaXRlM19kLmRsbCIgS2V5UGF0aD0ieWVzIiAvPgorICAgICAgICAgICAgPC9Db21wb25lbnQ+CisgICAgICAgICAgICA8Q29tcG9uZW50IElkPSJzcWxpdGUzX2QucGRiIiBEaXJlY3Rvcnk9IkRMTHMiIEd1aWQ9IioiPgorICAgICAgICAgICAgICAgIDxGaWxlIE5hbWU9InNxbGl0ZTNfZC5wZGIiIEtleVBhdGg9InllcyIgLz4KKyAgICAgICAgICAgIDwvQ29tcG9uZW50PgorICAgICAgICA8L0NvbXBvbmVudEdyb3VwPgorICAgIDwvRnJhZ21lbnQ+CisgICAgPEZyYWdtZW50PgorICAgICAgICA8UHJvcGVydHlSZWYgSWQ9IlJFR0lTVFJZS0VZIiAvPgorICAgICAgICAKKyAgICAgICAgPENvbXBvbmVudEdyb3VwIElkPSJsaWJfZmlsZXMiPgorICAgICAgICAgICAgPENvbXBvbmVudCBJZD0iUHl0aG9uUGF0aFJlZ2lzdHJ5IiBEaXJlY3Rvcnk9IkxpYiIgR3VpZD0iKiI+CisgICAgICAgICAgICAgICAgPFJlZ2lzdHJ5S2V5IFJvb3Q9IkhLTVUiIEtleT0iW1JFR0lTVFJZS0VZXSI+CisgICAgICAgICAgICAgICAgICAgIDxSZWdpc3RyeVZhbHVlIEtleT0iUHl0aG9uUGF0aCIgVHlwZT0ic3RyaW5nIiBWYWx1ZT0iW0xpYl07W0RMTHNdIiAvPgorICAgICAgICAgICAgICAgIDwvUmVnaXN0cnlLZXk+CisgICAgICAgICAgICA8L0NvbXBvbmVudD4KKyAgICAgICAgICAgIDxDb21wb25lbnQgSWQ9IkxpYl9zaXRlX3BhY2thZ2VzX1JFQURNRSIgRGlyZWN0b3J5PSJMaWJfc2l0ZV9wYWNrYWdlcyIgR3VpZD0iKiI+CisgICAgICAgICAgICAgICAgPEZpbGUgSWQ9IkxpYl9zaXRlX3BhY2thZ2VzX1JFQURNRSIgTmFtZT0iUkVBRE1FLnR4dCIgU291cmNlPSIhKGJpbmRwYXRoLnNyYylMaWJcc2l0ZS1wYWNrYWdlc1xSRUFETUUiIEtleVBhdGg9InllcyIgLz4KKyAgICAgICAgICAgIDwvQ29tcG9uZW50PgorICAgICAgICAgICAgPENvbXBvbmVudCBJZD0iTGliMnRvM19waWNrbGVfcmVtb3ZlIiBEaXJlY3Rvcnk9IkxpYl9saWIydG8zIiBHdWlkPSIkKHZhci5SZW1vdmVMaWIydG8zUGlja2xlQ29tcG9uZW50R3VpZCkiPgorICAgICAgICAgICAgICAgIDxSZW1vdmVGaWxlIElkPSJMaWIydG8zX3BpY2tsZV9yZW1vdmVfZmlsZXMiIE5hbWU9IioucGlja2xlIiBPbj0idW5pbnN0YWxsIiAvPgorICAgICAgICAgICAgICAgIDxSZW1vdmVGb2xkZXIgSWQ9IkxpYjJ0bzNfcGlja2xlX3JlbW92ZV9mb2xkZXIiIE9uPSJ1bmluc3RhbGwiIC8+CisgICAgICAgICAgICA8L0NvbXBvbmVudD4KKyAgICAgICAgPC9Db21wb25lbnRHcm91cD4KKyAgICAgICAgPERpcmVjdG9yeVJlZiBJZD0iTGliIj4KKyAgICAgICAgICAgIDxEaXJlY3RvcnkgSWQ9IkxpYl9zaXRlX3BhY2thZ2VzIiBOYW1lPSJzaXRlLXBhY2thZ2VzIiAvPgorICAgICAgICA8L0RpcmVjdG9yeVJlZj4KKyAgICA8L0ZyYWdtZW50PgorPC9XaXg+CmRpZmYgLS1naXQgYS9Ub29scy9tc2kvbGliL2xpYl9wZGIud2l4cHJvaiBiL1Rvb2xzL21zaS9saWIvbGliX3BkYi53aXhwcm9qCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRiMWI1YmIKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9tc2kvbGliL2xpYl9wZGIud2l4cHJvagpAQCAtMCwwICsxLDE5IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgorPFByb2plY3QgVG9vbHNWZXJzaW9uPSI0LjAiIERlZmF1bHRUYXJnZXRzPSJCdWlsZCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+CisgICAgPFByb3BlcnR5R3JvdXA+CisgICAgICAgIDxQcm9qZWN0R3VpZD57NUUwQkNFOTMtRDFBQy00NTkxLUJCQ0ItM0EyQkU1QTRCM0QxfTwvUHJvamVjdEd1aWQ+CisgICAgICAgIDxTY2hlbWFWZXJzaW9uPjIuMDwvU2NoZW1hVmVyc2lvbj4KKyAgICAgICAgPE91dHB1dE5hbWU+bGliX3BkYjwvT3V0cHV0TmFtZT4KKyAgICAgICAgPE91dHB1dFR5cGU+UGFja2FnZTwvT3V0cHV0VHlwZT4KKyAgICA8L1Byb3BlcnR5R3JvdXA+CisgICAgPEltcG9ydCBQcm9qZWN0PSIuLlxtc2kucHJvcHMiIC8+CisgICAgPEl0ZW1Hcm91cD4KKyAgICAgICAgPENvbXBpbGUgSW5jbHVkZT0ibGliX3BkYi53eHMiIC8+CisgICAgICAgIDxDb21waWxlIEluY2x1ZGU9ImxpYl9maWxlcy53eHMiIC8+CisgICAgPC9JdGVtR3JvdXA+CisgICAgPEl0ZW1Hcm91cD4KKyAgICAgICAgPEVtYmVkZGVkUmVzb3VyY2UgSW5jbHVkZT0iKi53eGwiIC8+CisgICAgPC9JdGVtR3JvdXA+CisgICAgCisgICAgPEltcG9ydCBQcm9qZWN0PSIuLlxtc2kudGFyZ2V0cyIgLz4KKzwvUHJvamVjdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9Ub29scy9tc2kvbGliL2xpYl9wZGIud3hzIGIvVG9vbHMvbXNpL2xpYi9saWJfcGRiLnd4cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMmJlMGM5Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL2xpYi9saWJfcGRiLnd4cwpAQCAtMCwwICsxLDEzIEBACivvu788P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPFdpeCB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS93aXgvMjAwNi93aSI+CisgICAgPFByb2R1Y3QgSWQ9IioiIExhbmd1YWdlPSIhKGxvYy5MQ0lEKSIgTmFtZT0iIShsb2MuVGl0bGUpIiBWZXJzaW9uPSIkKHZhci5WZXJzaW9uKSIgTWFudWZhY3R1cmVyPSIhKGxvYy5NYW51ZmFjdHVyZXIpIiBVcGdyYWRlQ29kZT0iJCh2YXIuVXBncmFkZUNvZGUpIj4KKyAgICAgICAgPFBhY2thZ2UgSW5zdGFsbGVyVmVyc2lvbj0iMzAwIiBDb21wcmVzc2VkPSJ5ZXMiIEluc3RhbGxTY29wZT0icGVyVXNlciIgUGxhdGZvcm09IiQodmFyLlBsYXRmb3JtKSIgLz4KKyAgICAgICAgPE1lZGlhVGVtcGxhdGUgRW1iZWRDYWI9InllcyIgQ29tcHJlc3Npb25MZXZlbD0iaGlnaCIgLz4KKyAgICAgICAgCisgICAgICAgIDxQcm9wZXJ0eVJlZiBJZD0iVXBncmFkZVRhYmxlIiAvPgorICAgICAgICAKKyAgICAgICAgPEZlYXR1cmUgSWQ9IlN5bWJvbHMiIEFsbG93QWR2ZXJ0aXNlPSJubyIgVGl0bGU9IiEobG9jLlRpdGxlUGRiKSIgRGVzY3JpcHRpb249IiEobG9jLkRlc2NyaXB0aW9uUGRiKSI+CisgICAgICAgICAgICA8Q29tcG9uZW50R3JvdXBSZWYgSWQ9ImxpYl9leHRlbnNpb25zX3N5bWJvbHMiIC8+CisgICAgICAgIDwvRmVhdHVyZT4KKyAgICA8L1Byb2R1Y3Q+Cis8L1dpeD4KZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS9tc2kucHJvcHMgYi9Ub29scy9tc2kvbXNpLnByb3BzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNiYWE2YjEKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9tc2kvbXNpLnByb3BzCkBAIC0wLDAgKzEsMTU5IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgorPFByb2plY3QgVG9vbHNWZXJzaW9uPSI0LjAiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiIFRyZWF0QXNMb2NhbFByb3BlcnR5PSJSZWxlYXNlVXJpIj4KKyAgICA8UHJvcGVydHlHcm91cD4KKyAgICAgICAgPFRhcmdldE5hbWU+JChPdXRwdXROYW1lKTwvVGFyZ2V0TmFtZT4KKyAgICAgICAgPERlZmluZVNvbHV0aW9uUHJvcGVydGllcz5mYWxzZTwvRGVmaW5lU29sdXRpb25Qcm9wZXJ0aWVzPgorICAgICAgICA8VHJlYXRXYXJuaW5nc0FzRXJyb3JzPmZhbHNlPC9UcmVhdFdhcm5pbmdzQXNFcnJvcnM+CisgICAgICAgIDxTdXBwcmVzc0ljZXM+JChTdXBwcmVzc0ljZXMpO0lDRTAzO0lDRTU3O0lDRTYxPC9TdXBwcmVzc0ljZXM+CisgICAgICAgIDxDb21waWxlclN1cHByZXNzU3BlY2lmaWNXYXJuaW5ncz4xMDI2PC9Db21waWxlclN1cHByZXNzU3BlY2lmaWNXYXJuaW5ncz4KKyAgICAgICAgPEJ1aWxkRm9yUmVsZWFzZSBDb25kaXRpb249IickKEJ1aWxkRm9yUmVsZWFzZSknID09ICcnIj5mYWxzZTwvQnVpbGRGb3JSZWxlYXNlPgorICAgICAgICA8U2lnbk91dHB1dCBDb25kaXRpb249IickKFNpZ25pbmdDZXJ0aWZpY2F0ZSknICE9ICcnIj50cnVlPC9TaWduT3V0cHV0PgorICAgICAgICA8Q29uZmlndXJhdGlvbiBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pJyA9PSAnJyI+UmVsZWFzZTwvQ29uZmlndXJhdGlvbj4KKyAgICAgICAgPFBsYXRmb3JtIENvbmRpdGlvbj0iJyQoUGxhdGZvcm0pJyA9PSAnJyI+eDg2PC9QbGF0Zm9ybT4KKyAgICAgICAgPEluc3RhbGxTY29wZSBDb25kaXRpb249IickKEluc3RhbGxTY29wZSknICE9ICdwZXJNYWNoaW5lJyI+cGVyVXNlcjwvSW5zdGFsbFNjb3BlPgorICAgICAgICA8IS0tCisgICAgICAgIFRoaXMgVVJJIGlzIHVzZWQgdG8gZ2VuZXJhdGUgdGhlIHZhcmlvdXMgR1VJRHMgdXNlZCBieSB0aGUgaW5zdGFsbGVyLgorICAgICAgICBJbnN0YWxsZXJzIGJ1aWx0IHdpdGggdGhlIHNhbWUgVVJJIHdpbGwgdXBncmFkZSBlYWNoIG90aGVyIG9yIGJsb2NrCisgICAgICAgIHdoZW4gYXR0ZW1wdGluZyB0byBkb3duZ3JhZGUuCisgICAgICAgIAorICAgICAgICBCeSBkZWZhdWx0LCB0aGlzIGlzIHRoZSBsb2NhbCBjb21wdXRlciBuYW1lLCB3aGljaCB3aWxsIHByb2R1Y2UKKyAgICAgICAgaW5zdGFsbGVycyB0aGF0IGRvIG5vdCBpbnRlcmZlcmUgd2l0aCBvdGhlciBpbnN0YWxsZXJzLiBQcm9kdWN0cworICAgICAgICB0aGF0IGludGVuZCB0byBidW5kbGUgUHl0aG9uIHNob3VsZCByZWJ1aWxkIHRoZXNlIG1vZHVsZXMgd2l0aCB0aGVpcgorICAgICAgICBvd24gVVJJIHRvIGF2b2lkIGNvbmZsaWN0aW5nIHdpdGggdGhlIG9mZmljaWFsIHJlbGVhc2VzLgorICAgICAgICAKKyAgICAgICAgVGhlIG9mZmljaWFsIHJlbGVhc2VzIGFyZSBidWlsdCB3aXRoIGh0dHA6Ly93d3cucHl0aG9uLm9yZy8uCisgICAgICAgIAorICAgICAgICBUaGlzIGlzIG5vdCB0aGUgc2FtZSBhcyB0aGUgRG93bmxvYWRVcmwgcHJvcGVydHkgdXNlZCBpbiB0aGUgYnVuZGxlCisgICAgICAgIHByb2plY3RzLgorICAgICAgICAtLT4KKyAgICAgICAgPFJlbGVhc2VVcmkgQ29uZGl0aW9uPSInJChSZWxlYXNlVXJpKScgPT0gJyciPiQoQ29tcHV0ZXJOYW1lKTwvUmVsZWFzZVVyaT4KKyAgICAgICAgPFJlbGVhc2VVcmkgQ29uZGl0aW9uPSIhJChSZWxlYXNlVXJpLkVuZHNXaXRoKGAvYCkpIj4kKFJlbGVhc2VVcmkpLzwvUmVsZWFzZVVyaT4KKyAgICA8L1Byb3BlcnR5R3JvdXA+CisKKyAgICA8SW1wb3J0IFByb2plY3Q9IndpeC5wcm9wcyIgLz4KKyAgICA8SW1wb3J0IFByb2plY3Q9Ii4uXC4uXFBDQnVpbGRcdGNsdGsucHJvcHMiIC8+CisgICAgCisgICAgPEl0ZW1Hcm91cD4KKyAgICAgICAgPENvbXBpbGUgSW5jbHVkZT0iJChNU0J1aWxkVGhpc0ZpbGVEaXJlY3RvcnkpY29tbW9uLnd4cyIgLz4KKyAgICAgICAgPFd4bFRlbXBsYXRlIEluY2x1ZGU9IiQoTVNCdWlsZFRoaXNGaWxlRGlyZWN0b3J5KVwqLnd4bF90ZW1wbGF0ZSIgLz4KKyAgICAgICAgPFdpeEV4dGVuc2lvbiBJbmNsdWRlPSJXaXhVdGlsRXh0ZW5zaW9uIj4KKyAgICAgICAgICAgIDxIaW50UGF0aD5XaXhVdGlsRXh0ZW5zaW9uPC9IaW50UGF0aD4KKyAgICAgICAgICAgIDxOYW1lPldpeFV0aWxFeHRlbnNpb248L05hbWU+CisgICAgICAgIDwvV2l4RXh0ZW5zaW9uPgorICAgIDwvSXRlbUdyb3VwPgorCisgICAgPFByb3BlcnR5R3JvdXA+CisgICAgICAgIDxJbnRlcm1lZGlhdGVPdXRwdXRQYXRoPiQoTVNCdWlsZFRoaXNGaWxlRGlyZWN0b3J5KVxvYmpcJChDb25maWd1cmF0aW9uKV8kKFBsYXRmb3JtKVwkKE91dHB1dE5hbWUpPC9JbnRlcm1lZGlhdGVPdXRwdXRQYXRoPgorICAgICAgICA8SW50ZXJtZWRpYXRlT3V0cHV0UGF0aCBDb25kaXRpb249IickKE91dHB1dFN1ZmZpeCknICE9ICcnIj4kKEludGVybWVkaWF0ZU91dHB1dFBhdGgpXyQoT3V0cHV0U3VmZml4KTwvSW50ZXJtZWRpYXRlT3V0cHV0UGF0aD4KKyAgICAgICAgPE91dHB1dFBhdGggQ29uZGl0aW9uPSInJChPdXRwdXRQYXRoKScgPT0gJyciPiQoQnVpbGRQYXRoKTwvT3V0cHV0UGF0aD4KKyAgICAgICAgPE91dHB1dFBhdGggQ29uZGl0aW9uPSIhSGFzVHJhaWxpbmdTbGFzaCgkKE91dHB1dFBhdGgpKSI+JChPdXRwdXRQYXRoKVw8L091dHB1dFBhdGg+CisgICAgICAgIDxPdXREaXI+JChPdXRwdXRQYXRoKTwvT3V0RGlyPgorICAgICAgICA8UmV1c2VDYWJpbmV0Q2FjaGU+dHJ1ZTwvUmV1c2VDYWJpbmV0Q2FjaGU+CisgICAgICAgIDxDUlRSZWRpc3QgQ29uZGl0aW9uPSIiPiQoW1N5c3RlbS5JTy5QYXRoXTo6R2V0RnVsbFBhdGgoYCQoVlMxNDBDT01OVE9PTFMpXC4uXC4uXFZDXHJlZGlzdFwkKFBsYXRmb3JtKVxNaWNyb3NvZnQuVkMxNDAuQ1JUYCkpPC9DUlRSZWRpc3Q+CisgICAgICAgIDxDUlRSZWRpc3QgQ29uZGl0aW9uPSInJChDUlRSZWRpc3QpJyAhPSAnJyBhbmQgIUV4aXN0cygkKENSVFJlZGlzdCkpIj4kKE1TQnVpbGRUaGlzRmlsZURpcmVjdG9yeSlccmVkaXN0XCQoUGxhdGZvcm0pPC9DUlRSZWRpc3Q+CisgICAgICAgIDxDUlRSZWRpc3QgQ29uZGl0aW9uPSInJChDUlRSZWRpc3QpJyAhPSAnJyBhbmQgIUV4aXN0cygkKENSVFJlZGlzdCkpIj48L0NSVFJlZGlzdD4KKworICAgICAgICA8UmV2aXNpb25OdW1iZXI+JChSZWxlYXNlTGV2ZWxOdW1iZXIpPC9SZXZpc2lvbk51bWJlcj4KKyAgICAgICAgPFJldmlzaW9uTnVtYmVyIENvbmRpdGlvbj0iISQoQnVpbGRGb3JSZWxlYXNlKSI+JChbU3lzdGVtLk1hdGhdOjpGbG9vcigkKFtTeXN0ZW0uRGF0ZVRpbWVdOjpOb3cuU3VidHJhY3QoJChbU3lzdGVtLkRhdGVUaW1lXTo6bmV3KDIwMDEsIDEsIDEpKSkuVG90YWxEYXlzKSkpPC9SZXZpc2lvbk51bWJlcj4KKyAgICA8L1Byb3BlcnR5R3JvdXA+CisgICAgCisgICAgPFByb3BlcnR5R3JvdXA+CisgICAgICAgIDxCaXRuZXNzPjMyLWJpdDwvQml0bmVzcz4KKyAgICAgICAgPEJpdG5lc3MgQ29uZGl0aW9uPSIkKFBsYXRmb3JtKSA9PSAneDY0JyI+NjQtYml0PC9CaXRuZXNzPgorICAgICAgICA8RGVmaW5lQ29uc3RhbnRzPgorICAgICAgICAgICAgJChEZWZpbmVDb25zdGFudHMpOworICAgICAgICAgICAgVmVyc2lvbj0kKE1ham9yVmVyc2lvbk51bWJlcikuJChNaW5vclZlcnNpb25OdW1iZXIpLiQoTWljcm9WZXJzaW9uTnVtYmVyKS4kKFJldmlzaW9uTnVtYmVyKTsKKyAgICAgICAgICAgIFNob3J0VmVyc2lvbj0kKE1ham9yVmVyc2lvbk51bWJlcikuJChNaW5vclZlcnNpb25OdW1iZXIpOworICAgICAgICAgICAgTG9uZ1ZlcnNpb249JChQeXRob25WZXJzaW9uKTsKKyAgICAgICAgICAgIE1ham9yVmVyc2lvbk51bWJlcj0kKE1ham9yVmVyc2lvbk51bWJlcik7CisgICAgICAgICAgICBNaW5vclZlcnNpb25OdW1iZXI9JChNaW5vclZlcnNpb25OdW1iZXIpOworICAgICAgICAgICAgVXBncmFkZU1pbmltdW1WZXJzaW9uPSQoTWFqb3JWZXJzaW9uTnVtYmVyKS4kKE1pbm9yVmVyc2lvbk51bWJlcikuMC4wOworICAgICAgICAgICAgTmV4dE1ham9yVmVyc2lvbk51bWJlcj0kKE1ham9yVmVyc2lvbk51bWJlcikuJChbbXNidWlsZF06OkFkZCgkKE1pbm9yVmVyc2lvbk51bWJlciksIDEpKS4wLjA7CisgICAgICAgICAgICBQeURlYnVnRXh0PSQoUHlEZWJ1Z0V4dCk7CisgICAgICAgIDwvRGVmaW5lQ29uc3RhbnRzPgorICAgICAgICA8RGVmaW5lQ29uc3RhbnRzIENvbmRpdGlvbj0iJyQoQ1JUUmVkaXN0KScgIT0gJyciPgorICAgICAgICAgICAgJChEZWZpbmVDb25zdGFudHMpO0NSVFJlZGlzdD0kKENSVFJlZGlzdCk7CisgICAgICAgIDwvRGVmaW5lQ29uc3RhbnRzPgorICAgICAgICA8RGVmaW5lQ29uc3RhbnRzIENvbmRpdGlvbj0iJChDb25maWd1cmF0aW9uKSAhPSAnRGVidWcnIj4KKyAgICAgICAgICAgICQoRGVmaW5lQ29uc3RhbnRzKTtUZXN0UHJlZml4PTtGaWxlRXh0ZW5zaW9uPXB5OworICAgICAgICA8L0RlZmluZUNvbnN0YW50cz4KKyAgICAgICAgPERlZmluZUNvbnN0YW50cyBDb25kaXRpb249IiQoQ29uZmlndXJhdGlvbikgPT0gJ0RlYnVnJyI+CisgICAgICAgICAgICAkKERlZmluZUNvbnN0YW50cyk7VGVzdFByZWZpeD14O0ZpbGVFeHRlbnNpb249cHg7CisgICAgICAgIDwvRGVmaW5lQ29uc3RhbnRzPgorICAgICAgICA8RGVmaW5lQ29uc3RhbnRzIENvbmRpdGlvbj0iJChQbGF0Zm9ybSkgIT0gJ3g2NCciPgorICAgICAgICAgICAgJChEZWZpbmVDb25zdGFudHMpO1N1ZmZpeDMyPS0zMjsKKyAgICAgICAgPC9EZWZpbmVDb25zdGFudHM+CisgICAgICAgIDxEZWZpbmVDb25zdGFudHMgQ29uZGl0aW9uPSIkKFBsYXRmb3JtKSA9PSAneDY0JyI+CisgICAgICAgICAgICAkKERlZmluZUNvbnN0YW50cyk7U3VmZml4MzI9OworICAgICAgICA8L0RlZmluZUNvbnN0YW50cz4KKyAgICA8L1Byb3BlcnR5R3JvdXA+CisKKyAgICA8SXRlbURlZmluaXRpb25Hcm91cD4KKyAgICAgICAgPEluc3RhbGxGaWxlcz4KKyAgICAgICAgICAgIDxHcm91cD5nZW5lcmF0ZWRfZmlsZWxpc3Q8L0dyb3VwPgorICAgICAgICAgICAgPENvbmRpdGlvbj48L0NvbmRpdGlvbj4KKyAgICAgICAgICAgIDxEaXNrSWQ+PC9EaXNrSWQ+CisgICAgICAgIDwvSW5zdGFsbEZpbGVzPgorICAgICAgICA8TGlua2VyQmluZElucHV0UGF0aHM+CisgICAgICAgICAgICA8VmlzaWJsZT5mYWxzZTwvVmlzaWJsZT4KKyAgICAgICAgPC9MaW5rZXJCaW5kSW5wdXRQYXRocz4KKyAgICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+CisgICAgPEl0ZW1Hcm91cD4KKyAgICAgICAgPExpbmtlckJpbmRJbnB1dFBhdGhzIEluY2x1ZGU9IiQoQnVpbGRQYXRoKTskKFB5U291cmNlUGF0aClEb2NcYnVpbGRcaHRtbGhlbHAiPgorICAgICAgICAgICAgPEJpbmROYW1lPjwvQmluZE5hbWU+CisgICAgICAgIDwvTGlua2VyQmluZElucHV0UGF0aHM+CisgICAgICAgIDxMaW5rZXJCaW5kSW5wdXRQYXRocyBJbmNsdWRlPSIkKFB5U291cmNlUGF0aCkiPgorICAgICAgICAgICAgPEJpbmROYW1lPnNyYzwvQmluZE5hbWU+CisgICAgICAgIDwvTGlua2VyQmluZElucHV0UGF0aHM+CisgICAgICAgIDxMaW5rZXJCaW5kSW5wdXRQYXRocyBJbmNsdWRlPSIkKHRjbHRrRGlyKSI+CisgICAgICAgICAgICA8QmluZE5hbWU+dGNsdGs8L0JpbmROYW1lPgorICAgICAgICA8L0xpbmtlckJpbmRJbnB1dFBhdGhzPgorICAgICAgICA8TGlua2VyQmluZElucHV0UGF0aHMgSW5jbHVkZT0iJChDUlRSZWRpc3QpIiBDb25kaXRpb249IickKENSVFJlZGlzdCknICE9ICcnIj4KKyAgICAgICAgICAgIDxCaW5kTmFtZT5jcnQ8L0JpbmROYW1lPgorICAgICAgICA8L0xpbmtlckJpbmRJbnB1dFBhdGhzPgorICAgICAgICA8TGlua2VyQmluZElucHV0UGF0aHMgSW5jbHVkZT0iJChNU0J1aWxkVGhpc0ZpbGVEaXJlY3RvcnkpXHJlZGlzdCI+CisgICAgICAgICAgICA8QmluZE5hbWU+cmVkaXN0PC9CaW5kTmFtZT4KKyAgICAgICAgPC9MaW5rZXJCaW5kSW5wdXRQYXRocz4KKyAgICA8L0l0ZW1Hcm91cD4KKworICAgIDxUYXJnZXQgTmFtZT0iX1ZhbGlkYXRlTXNpUHJvcHMiIEJlZm9yZVRhcmdldHM9IlByZXBhcmVGb3JCdWlsZCI+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+Cis8V2l4TG9jYWxpemF0aW9uIEN1bHR1cmU9ImVuLXVzIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS93aXgvMjAwNi9sb2NhbGl6YXRpb24iPgorICAgIDxTdHJpbmcgSWQ9IkRlc2NyaXB0b3IiPnBpcCBCb290c3RyYXA8L1N0cmluZz4KKyAgICA8U3RyaW5nIElkPSJTaG9ydERlc2NyaXB0b3IiPnBpcDwvU3RyaW5nPgorICAgIDxTdHJpbmcgSWQ9Ik5vUHl0aG9uIj5ObyAhKGxvYy5Qcm9kdWN0TmFtZSkgaW5zdGFsbGF0aW9uIHdhcyBkZXRlY3RlZC48L1N0cmluZz4KKzwvV2l4TG9jYWxpemF0aW9uPgpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL3JlZGlzdC9SRUFETUUudHh0IGIvVG9vbHMvbXNpL3JlZGlzdC9SRUFETUUudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ4ZDI2ZTEKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9tc2kvcmVkaXN0L1JFQURNRS50eHQKQEAgLTAsMCArMSwxNSBAQAorVGhpcyBmb2xkZXIgaXMgaW50ZW50aWFuYWxseSBsZWZ0IGVtcHR5IGluIHRoZSByZXBvc2l0b3J5LgorCitUaGUgZm9sbG93aW5nIGRlcGVuZGVuY2llcyBtYXkgYmUgY29waWVkIGhlcmUgaWYgdGhleSBjYW5ub3QgYmUgZGV0ZWN0ZWQKK2F1dG9tYXRpY2FsbHkgYnkgdGhlIGJ1aWxkIHNjcmlwdHM6CisKK3JlZGlzdFxXaW5kb3dzNi4wLUtCMjk5OTIyNi14NjQubXN1CityZWRpc3RcV2luZG93czYuMC1LQjI5OTkyMjYteDg2Lm1zdQorcmVkaXN0XFdpbmRvd3M2LjEtS0IyOTk5MjI2LXg2NC5tc3UKK3JlZGlzdFxXaW5kb3dzNi4xLUtCMjk5OTIyNi14ODYubXN1CityZWRpc3RcV2luZG93czguMS1LQjI5OTkyMjYteDY0Lm1zdQorcmVkaXN0XFdpbmRvd3M4LjEtS0IyOTk5MjI2LXg4Ni5tc3UKK3JlZGlzdFxXaW5kb3dzOC1SVC1LQjI5OTkyMjYteDY0Lm1zdQorcmVkaXN0XFdpbmRvd3M4LVJULUtCMjk5OTIyNi14ODYubXN1CityZWRpc3RceDY0XHZjcnVudGltZTE0MC5kbGwKK3JlZGlzdFx4ODZcdmNydW50aW1lMTQwLmRsbApkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL3NjaGVtYS5weSBiL1Rvb2xzL21zaS9zY2hlbWEucHkKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFmNzJlNWEuLjAwMDAwMDAKLS0tIGEvVG9vbHMvbXNpL3NjaGVtYS5weQorKysgL2Rldi9udWxsCkBAIC0xLDEwMDcgKzAsMCBAQAotZnJvbSBtc2lsaWIgaW1wb3J0IFRhYmxlCi0KLV9WYWxpZGF0aW9uID0gVGFibGUoJ19WYWxpZGF0aW9uJykKLV9WYWxpZGF0aW9uLmFkZF9maWVsZCgxLCdUYWJsZScsMTE1NTIpCi1fVmFsaWRhdGlvbi5hZGRfZmllbGQoMiwnQ29sdW1uJywxMTU1MikKLV9WYWxpZGF0aW9uLmFkZF9maWVsZCgzLCdOdWxsYWJsZScsMzMzMikKLV9WYWxpZGF0aW9uLmFkZF9maWVsZCg0LCdNaW5WYWx1ZScsNDM1NikKLV9WYWxpZGF0aW9uLmFkZF9maWVsZCg1LCdNYXhWYWx1ZScsNDM1NikKLV9WYWxpZGF0aW9uLmFkZF9maWVsZCg2LCdLZXlUYWJsZScsNzY3OSkKLV9WYWxpZGF0aW9uLmFkZF9maWVsZCg3LCdLZXlDb2x1bW4nLDUzNzgpCi1fVmFsaWRhdGlvbi5hZGRfZmllbGQoOCwnQ2F0ZWdvcnknLDc0NTYpCi1fVmFsaWRhdGlvbi5hZGRfZmllbGQoOSwnU2V0Jyw3Njc5KQotX1ZhbGlkYXRpb24uYWRkX2ZpZWxkKDEwLCdEZXNjcmlwdGlvbicsNzY3OSkKLQotQWN0aW9uVGV4dCA9IFRhYmxlKCdBY3Rpb25UZXh0JykKLUFjdGlvblRleHQuYWRkX2ZpZWxkKDEsJ0FjdGlvbicsMTE1OTIpCi1BY3Rpb25UZXh0LmFkZF9maWVsZCgyLCdEZXNjcmlwdGlvbicsNzkzNikKLUFjdGlvblRleHQuYWRkX2ZpZWxkKDMsJ1RlbXBsYXRlJyw3OTM2KQotCi1BZG1pbkV4ZWN1dGVTZXF1ZW5jZSA9IFRhYmxlKCdBZG1pbkV4ZWN1dGVTZXF1ZW5jZScpCi1BZG1pbkV4ZWN1dGVTZXF1ZW5jZS5hZGRfZmllbGQoMSwnQWN0aW9uJywweDJERkYpCi1BZG1pbkV4ZWN1dGVTZXF1ZW5jZS5hZGRfZmllbGQoMiwnQ29uZGl0aW9uJyw3Njc5KQotQWRtaW5FeGVjdXRlU2VxdWVuY2UuYWRkX2ZpZWxkKDMsJ1NlcXVlbmNlJyw1Mzc4KQotCi1Db25kaXRpb24gPSBUYWJsZSgnQ29uZGl0aW9uJykKLUNvbmRpdGlvbi5hZGRfZmllbGQoMSwnRmVhdHVyZV8nLDExNTU4KQotQ29uZGl0aW9uLmFkZF9maWVsZCgyLCdMZXZlbCcsOTQ3NCkKLUNvbmRpdGlvbi5hZGRfZmllbGQoMywnQ29uZGl0aW9uJyw3Njc5KQotCi1BZG1pblVJU2VxdWVuY2UgPSBUYWJsZSgnQWRtaW5VSVNlcXVlbmNlJykKLUFkbWluVUlTZXF1ZW5jZS5hZGRfZmllbGQoMSwnQWN0aW9uJywweDJERkYpCi1BZG1pblVJU2VxdWVuY2UuYWRkX2ZpZWxkKDIsJ0NvbmRpdGlvbicsNzY3OSkKLUFkbWluVUlTZXF1ZW5jZS5hZGRfZmllbGQoMywnU2VxdWVuY2UnLDUzNzgpCi0KLUFkdnRFeGVjdXRlU2VxdWVuY2UgPSBUYWJsZSgnQWR2dEV4ZWN1dGVTZXF1ZW5jZScpCi1BZHZ0RXhlY3V0ZVNlcXVlbmNlLmFkZF9maWVsZCgxLCdBY3Rpb24nLDB4MkRGRikKLUFkdnRFeGVjdXRlU2VxdWVuY2UuYWRkX2ZpZWxkKDIsJ0NvbmRpdGlvbicsNzY3OSkKLUFkdnRFeGVjdXRlU2VxdWVuY2UuYWRkX2ZpZWxkKDMsJ1NlcXVlbmNlJyw1Mzc4KQotCi1BZHZ0VUlTZXF1ZW5jZSA9IFRhYmxlKCdBZHZ0VUlTZXF1ZW5jZScpCi1BZHZ0VUlTZXF1ZW5jZS5hZGRfZmllbGQoMSwnQWN0aW9uJywxMTU5MikKLUFkdnRVSVNlcXVlbmNlLmFkZF9maWVsZCgyLCdDb25kaXRpb24nLDc2NzkpCi1BZHZ0VUlTZXF1ZW5jZS5hZGRfZmllbGQoMywnU2VxdWVuY2UnLDUzNzgpCi0KLUFwcElkID0gVGFibGUoJ0FwcElkJykKLUFwcElkLmFkZF9maWVsZCgxLCdBcHBJZCcsMTE1NTgpCi1BcHBJZC5hZGRfZmllbGQoMiwnUmVtb3RlU2VydmVyTmFtZScsNzY3OSkKLUFwcElkLmFkZF9maWVsZCgzLCdMb2NhbFNlcnZpY2UnLDc2NzkpCi1BcHBJZC5hZGRfZmllbGQoNCwnU2VydmljZVBhcmFtZXRlcnMnLDc2NzkpCi1BcHBJZC5hZGRfZmllbGQoNSwnRGxsU3Vycm9nYXRlJyw3Njc5KQotQXBwSWQuYWRkX2ZpZWxkKDYsJ0FjdGl2YXRlQXRTdG9yYWdlJyw1Mzc4KQotQXBwSWQuYWRkX2ZpZWxkKDcsJ1J1bkFzSW50ZXJhY3RpdmVVc2VyJyw1Mzc4KQotCi1BcHBTZWFyY2ggPSBUYWJsZSgnQXBwU2VhcmNoJykKLUFwcFNlYXJjaC5hZGRfZmllbGQoMSwnUHJvcGVydHknLDExNTkyKQotQXBwU2VhcmNoLmFkZF9maWVsZCgyLCdTaWduYXR1cmVfJywxMTU5MikKLQotUHJvcGVydHkgPSBUYWJsZSgnUHJvcGVydHknKQotUHJvcGVydHkuYWRkX2ZpZWxkKDEsJ1Byb3BlcnR5JywxMTU5MikKLVByb3BlcnR5LmFkZF9maWVsZCgyLCdWYWx1ZScsMzg0MCkKLQotQkJDb250cm9sID0gVGFibGUoJ0JCQ29udHJvbCcpCi1CQkNvbnRyb2wuYWRkX2ZpZWxkKDEsJ0JpbGxib2FyZF8nLDExNTcwKQotQkJDb250cm9sLmFkZF9maWVsZCgyLCdCQkNvbnRyb2wnLDExNTcwKQotQkJDb250cm9sLmFkZF9maWVsZCgzLCdUeXBlJywzMzc4KQotQkJDb250cm9sLmFkZF9maWVsZCg0LCdYJywxMjgyKQotQkJDb250cm9sLmFkZF9maWVsZCg1LCdZJywxMjgyKQotQkJDb250cm9sLmFkZF9maWVsZCg2LCdXaWR0aCcsMTI4MikKLUJCQ29udHJvbC5hZGRfZmllbGQoNywnSGVpZ2h0JywxMjgyKQotQkJDb250cm9sLmFkZF9maWVsZCg4LCdBdHRyaWJ1dGVzJyw0MzU2KQotQkJDb250cm9sLmFkZF9maWVsZCg5LCdUZXh0Jyw3OTg2KQotCi1CaWxsYm9hcmQgPSBUYWJsZSgnQmlsbGJvYXJkJykKLUJpbGxib2FyZC5hZGRfZmllbGQoMSwnQmlsbGJvYXJkJywxMTU3MCkKLUJpbGxib2FyZC5hZGRfZmllbGQoMiwnRmVhdHVyZV8nLDMzNjYpCi1CaWxsYm9hcmQuYWRkX2ZpZWxkKDMsJ0FjdGlvbicsNzQ3NCkKLUJpbGxib2FyZC5hZGRfZmllbGQoNCwnT3JkZXJpbmcnLDUzNzgpCi0KLUZlYXR1cmUgPSBUYWJsZSgnRmVhdHVyZScpCi1GZWF0dXJlLmFkZF9maWVsZCgxLCdGZWF0dXJlJywxMTU1OCkKLUZlYXR1cmUuYWRkX2ZpZWxkKDIsJ0ZlYXR1cmVfUGFyZW50Jyw3NDYyKQotRmVhdHVyZS5hZGRfZmllbGQoMywnVGl0bGUnLDgwMDApCi1GZWF0dXJlLmFkZF9maWVsZCg0LCdEZXNjcmlwdGlvbicsODE5MSkKLUZlYXR1cmUuYWRkX2ZpZWxkKDUsJ0Rpc3BsYXknLDUzNzgpCi1GZWF0dXJlLmFkZF9maWVsZCg2LCdMZXZlbCcsMTI4MikKLUZlYXR1cmUuYWRkX2ZpZWxkKDcsJ0RpcmVjdG9yeV8nLDB4MURGRikKLUZlYXR1cmUuYWRkX2ZpZWxkKDgsJ0F0dHJpYnV0ZXMnLDEyODIpCi0KLUJpbmFyeSA9IFRhYmxlKCdCaW5hcnknKQotQmluYXJ5LmFkZF9maWVsZCgxLCdOYW1lJywxMTU5MikKLUJpbmFyeS5hZGRfZmllbGQoMiwnRGF0YScsMjMwNCkKLQotQmluZEltYWdlID0gVGFibGUoJ0JpbmRJbWFnZScpCi1CaW5kSW1hZ2UuYWRkX2ZpZWxkKDEsJ0ZpbGVfJywweDJERkYpCi1CaW5kSW1hZ2UuYWRkX2ZpZWxkKDIsJ1BhdGgnLDc2NzkpCi0KLUZpbGUgPSBUYWJsZSgnRmlsZScpCi1GaWxlLmFkZF9maWVsZCgxLCdGaWxlJywweDJERkYpCi1GaWxlLmFkZF9maWVsZCgyLCdDb21wb25lbnRfJywweERGRikKLUZpbGUuYWRkX2ZpZWxkKDMsJ0ZpbGVOYW1lJyw0MDk1KQotRmlsZS5hZGRfZmllbGQoNCwnRmlsZVNpemUnLDI2MCkKLUZpbGUuYWRkX2ZpZWxkKDUsJ1ZlcnNpb24nLDB4MURGRikKLUZpbGUuYWRkX2ZpZWxkKDYsJ0xhbmd1YWdlJyw3NDQ0KQotRmlsZS5hZGRfZmllbGQoNywnQXR0cmlidXRlcycsNTM3OCkKLUZpbGUuYWRkX2ZpZWxkKDgsJ1NlcXVlbmNlJywxMjgyKQotCi1DQ1BTZWFyY2ggPSBUYWJsZSgnQ0NQU2VhcmNoJykKLUNDUFNlYXJjaC5hZGRfZmllbGQoMSwnU2lnbmF0dXJlXycsMTE1OTIpCi0KLUNoZWNrQm94ID0gVGFibGUoJ0NoZWNrQm94JykKLUNoZWNrQm94LmFkZF9maWVsZCgxLCdQcm9wZXJ0eScsMTE1OTIpCi1DaGVja0JveC5hZGRfZmllbGQoMiwnVmFsdWUnLDc0ODgpCi0KLUNsYXNzID0gVGFibGUoJ0NsYXNzJykKLUNsYXNzLmFkZF9maWVsZCgxLCdDTFNJRCcsMTE1NTgpCi1DbGFzcy5hZGRfZmllbGQoMiwnQ29udGV4dCcsMTE1NTIpCi1DbGFzcy5hZGRfZmllbGQoMywnQ29tcG9uZW50XycsMHgyREZGKQotQ2xhc3MuYWRkX2ZpZWxkKDQsJ1Byb2dJZF9EZWZhdWx0Jyw3Njc5KQotQ2xhc3MuYWRkX2ZpZWxkKDUsJ0Rlc2NyaXB0aW9uJyw4MTkxKQotQ2xhc3MuYWRkX2ZpZWxkKDYsJ0FwcElkXycsNzQ2MikKLUNsYXNzLmFkZF9maWVsZCg3LCdGaWxlVHlwZU1hc2snLDc2NzkpCi1DbGFzcy5hZGRfZmllbGQoOCwnSWNvbl8nLDc0OTYpCi1DbGFzcy5hZGRfZmllbGQoOSwnSWNvbkluZGV4Jyw1Mzc4KQotQ2xhc3MuYWRkX2ZpZWxkKDEwLCdEZWZJbnByb2NIYW5kbGVyJyw3NDU2KQotQ2xhc3MuYWRkX2ZpZWxkKDExLCdBcmd1bWVudCcsNzY3OSkKLUNsYXNzLmFkZF9maWVsZCgxMiwnRmVhdHVyZV8nLDMzNjYpCi1DbGFzcy5hZGRfZmllbGQoMTMsJ0F0dHJpYnV0ZXMnLDUzNzgpCi0KLUNvbXBvbmVudCA9IFRhYmxlKCdDb21wb25lbnQnKQotQ29tcG9uZW50LmFkZF9maWVsZCgxLCdDb21wb25lbnQnLDB4MkRGRikKLUNvbXBvbmVudC5hZGRfZmllbGQoMiwnQ29tcG9uZW50SWQnLDc0NjIpCi1Db21wb25lbnQuYWRkX2ZpZWxkKDMsJ0RpcmVjdG9yeV8nLDB4REZGKQotQ29tcG9uZW50LmFkZF9maWVsZCg0LCdBdHRyaWJ1dGVzJywxMjgyKQotQ29tcG9uZW50LmFkZF9maWVsZCg1LCdDb25kaXRpb24nLDc2NzkpCi1Db21wb25lbnQuYWRkX2ZpZWxkKDYsJ0tleVBhdGgnLDB4MURGRikKLQotSWNvbiA9IFRhYmxlKCdJY29uJykKLUljb24uYWRkX2ZpZWxkKDEsJ05hbWUnLDExNTkyKQotSWNvbi5hZGRfZmllbGQoMiwnRGF0YScsMjMwNCkKLQotUHJvZ0lkID0gVGFibGUoJ1Byb2dJZCcpCi1Qcm9nSWQuYWRkX2ZpZWxkKDEsJ1Byb2dJZCcsMTE3NzUpCi1Qcm9nSWQuYWRkX2ZpZWxkKDIsJ1Byb2dJZF9QYXJlbnQnLDc2NzkpCi1Qcm9nSWQuYWRkX2ZpZWxkKDMsJ0NsYXNzXycsNzQ2MikKLVByb2dJZC5hZGRfZmllbGQoNCwnRGVzY3JpcHRpb24nLDgxOTEpCi1Qcm9nSWQuYWRkX2ZpZWxkKDUsJ0ljb25fJyw3NDk2KQotUHJvZ0lkLmFkZF9maWVsZCg2LCdJY29uSW5kZXgnLDUzNzgpCi0KLUNvbWJvQm94ID0gVGFibGUoJ0NvbWJvQm94JykKLUNvbWJvQm94LmFkZF9maWVsZCgxLCdQcm9wZXJ0eScsMTE1OTIpCi1Db21ib0JveC5hZGRfZmllbGQoMiwnT3JkZXInLDk0NzQpCi1Db21ib0JveC5hZGRfZmllbGQoMywnVmFsdWUnLDMzOTIpCi1Db21ib0JveC5hZGRfZmllbGQoNCwnVGV4dCcsODAwMCkKLQotQ29tcExvY2F0b3IgPSBUYWJsZSgnQ29tcExvY2F0b3InKQotQ29tcExvY2F0b3IuYWRkX2ZpZWxkKDEsJ1NpZ25hdHVyZV8nLDExNTkyKQotQ29tcExvY2F0b3IuYWRkX2ZpZWxkKDIsJ0NvbXBvbmVudElkJywzMzY2KQotQ29tcExvY2F0b3IuYWRkX2ZpZWxkKDMsJ1R5cGUnLDUzNzgpCi0KLUNvbXBsdXMgPSBUYWJsZSgnQ29tcGx1cycpCi1Db21wbHVzLmFkZF9maWVsZCgxLCdDb21wb25lbnRfJywweDJERkYpCi1Db21wbHVzLmFkZF9maWVsZCgyLCdFeHBUeXBlJywxMzU3MCkKLQotRGlyZWN0b3J5ID0gVGFibGUoJ0RpcmVjdG9yeScpCi1EaXJlY3RvcnkuYWRkX2ZpZWxkKDEsJ0RpcmVjdG9yeScsMHgyREZGKQotRGlyZWN0b3J5LmFkZF9maWVsZCgyLCdEaXJlY3RvcnlfUGFyZW50JywweDFERkYpCi1EaXJlY3RvcnkuYWRkX2ZpZWxkKDMsJ0RlZmF1bHREaXInLDQwOTUpCi0KLUNvbnRyb2wgPSBUYWJsZSgnQ29udHJvbCcpCi1Db250cm9sLmFkZF9maWVsZCgxLCdEaWFsb2dfJywxMTU5MikKLUNvbnRyb2wuYWRkX2ZpZWxkKDIsJ0NvbnRyb2wnLDExNTcwKQotQ29udHJvbC5hZGRfZmllbGQoMywnVHlwZScsMzM0OCkKLUNvbnRyb2wuYWRkX2ZpZWxkKDQsJ1gnLDEyODIpCi1Db250cm9sLmFkZF9maWVsZCg1LCdZJywxMjgyKQotQ29udHJvbC5hZGRfZmllbGQoNiwnV2lkdGgnLDEyODIpCi1Db250cm9sLmFkZF9maWVsZCg3LCdIZWlnaHQnLDEyODIpCi1Db250cm9sLmFkZF9maWVsZCg4LCdBdHRyaWJ1dGVzJyw0MzU2KQotQ29udHJvbC5hZGRfZmllbGQoOSwnUHJvcGVydHknLDc0NzQpCi1Db250cm9sLmFkZF9maWVsZCgxMCwnVGV4dCcsNzkzNikKLUNvbnRyb2wuYWRkX2ZpZWxkKDExLCdDb250cm9sX05leHQnLDc0NzQpCi1Db250cm9sLmFkZF9maWVsZCgxMiwnSGVscCcsNzk4NikKLQotRGlhbG9nID0gVGFibGUoJ0RpYWxvZycpCi1EaWFsb2cuYWRkX2ZpZWxkKDEsJ0RpYWxvZycsMTE1OTIpCi1EaWFsb2cuYWRkX2ZpZWxkKDIsJ0hDZW50ZXJpbmcnLDEyODIpCi1EaWFsb2cuYWRkX2ZpZWxkKDMsJ1ZDZW50ZXJpbmcnLDEyODIpCi1EaWFsb2cuYWRkX2ZpZWxkKDQsJ1dpZHRoJywxMjgyKQotRGlhbG9nLmFkZF9maWVsZCg1LCdIZWlnaHQnLDEyODIpCi1EaWFsb2cuYWRkX2ZpZWxkKDYsJ0F0dHJpYnV0ZXMnLDQzNTYpCi1EaWFsb2cuYWRkX2ZpZWxkKDcsJ1RpdGxlJyw4MDY0KQotRGlhbG9nLmFkZF9maWVsZCg4LCdDb250cm9sX0ZpcnN0JywzMzc4KQotRGlhbG9nLmFkZF9maWVsZCg5LCdDb250cm9sX0RlZmF1bHQnLDc0NzQpCi1EaWFsb2cuYWRkX2ZpZWxkKDEwLCdDb250cm9sX0NhbmNlbCcsNzQ3NCkKLQotQ29udHJvbENvbmRpdGlvbiA9IFRhYmxlKCdDb250cm9sQ29uZGl0aW9uJykKLUNvbnRyb2xDb25kaXRpb24uYWRkX2ZpZWxkKDEsJ0RpYWxvZ18nLDExNTkyKQotQ29udHJvbENvbmRpdGlvbi5hZGRfZmllbGQoMiwnQ29udHJvbF8nLDExNTcwKQotQ29udHJvbENvbmRpdGlvbi5hZGRfZmllbGQoMywnQWN0aW9uJywxMTU3MCkKLUNvbnRyb2xDb25kaXRpb24uYWRkX2ZpZWxkKDQsJ0NvbmRpdGlvbicsMTE3NzUpCi0KLUNvbnRyb2xFdmVudCA9IFRhYmxlKCdDb250cm9sRXZlbnQnKQotQ29udHJvbEV2ZW50LmFkZF9maWVsZCgxLCdEaWFsb2dfJywxMTU5MikKLUNvbnRyb2xFdmVudC5hZGRfZmllbGQoMiwnQ29udHJvbF8nLDExNTcwKQotQ29udHJvbEV2ZW50LmFkZF9maWVsZCgzLCdFdmVudCcsMTE1NzApCi1Db250cm9sRXZlbnQuYWRkX2ZpZWxkKDQsJ0FyZ3VtZW50JywxMTc3NSkKLUNvbnRyb2xFdmVudC5hZGRfZmllbGQoNSwnQ29uZGl0aW9uJywxNTg3MSkKLUNvbnRyb2xFdmVudC5hZGRfZmllbGQoNiwnT3JkZXJpbmcnLDUzNzgpCi0KLUNyZWF0ZUZvbGRlciA9IFRhYmxlKCdDcmVhdGVGb2xkZXInKQotQ3JlYXRlRm9sZGVyLmFkZF9maWVsZCgxLCdEaXJlY3RvcnlfJywweDJERkYpCi1DcmVhdGVGb2xkZXIuYWRkX2ZpZWxkKDIsJ0NvbXBvbmVudF8nLDB4MkRGRikKLQotQ3VzdG9tQWN0aW9uID0gVGFibGUoJ0N1c3RvbUFjdGlvbicpCi1DdXN0b21BY3Rpb24uYWRkX2ZpZWxkKDEsJ0FjdGlvbicsMHgyREZGKQotQ3VzdG9tQWN0aW9uLmFkZF9maWVsZCgyLCdUeXBlJywxMjgyKQotQ3VzdG9tQWN0aW9uLmFkZF9maWVsZCgzLCdTb3VyY2UnLDB4MURGRikKLUN1c3RvbUFjdGlvbi5hZGRfZmllbGQoNCwnVGFyZ2V0Jyw3Njc5KQotCi1EckxvY2F0b3IgPSBUYWJsZSgnRHJMb2NhdG9yJykKLURyTG9jYXRvci5hZGRfZmllbGQoMSwnU2lnbmF0dXJlXycsMTE1OTIpCi1EckxvY2F0b3IuYWRkX2ZpZWxkKDIsJ1BhcmVudCcsMTU2ODgpCi1EckxvY2F0b3IuYWRkX2ZpZWxkKDMsJ1BhdGgnLDE1ODcxKQotRHJMb2NhdG9yLmFkZF9maWVsZCg0LCdEZXB0aCcsNTM3OCkKLQotRHVwbGljYXRlRmlsZSA9IFRhYmxlKCdEdXBsaWNhdGVGaWxlJykKLUR1cGxpY2F0ZUZpbGUuYWRkX2ZpZWxkKDEsJ0ZpbGVLZXknLDExNTkyKQotRHVwbGljYXRlRmlsZS5hZGRfZmllbGQoMiwnQ29tcG9uZW50XycsMHhERkYpCi1EdXBsaWNhdGVGaWxlLmFkZF9maWVsZCgzLCdGaWxlXycsMHhERkYpCi1EdXBsaWNhdGVGaWxlLmFkZF9maWVsZCg0LCdEZXN0TmFtZScsODE5MSkKLUR1cGxpY2F0ZUZpbGUuYWRkX2ZpZWxkKDUsJ0Rlc3RGb2xkZXInLDc0OTYpCi0KLUVudmlyb25tZW50ID0gVGFibGUoJ0Vudmlyb25tZW50JykKLUVudmlyb25tZW50LmFkZF9maWVsZCgxLCdFbnZpcm9ubWVudCcsMTE1OTIpCi1FbnZpcm9ubWVudC5hZGRfZmllbGQoMiwnTmFtZScsNDA5NSkKLUVudmlyb25tZW50LmFkZF9maWVsZCgzLCdWYWx1ZScsODE5MSkKLUVudmlyb25tZW50LmFkZF9maWVsZCg0LCdDb21wb25lbnRfJywweERGRikKLQotRXJyb3IgPSBUYWJsZSgnRXJyb3InKQotRXJyb3IuYWRkX2ZpZWxkKDEsJ0Vycm9yJyw5NDc0KQotRXJyb3IuYWRkX2ZpZWxkKDIsJ01lc3NhZ2UnLDc5MzYpCi0KLUV2ZW50TWFwcGluZyA9IFRhYmxlKCdFdmVudE1hcHBpbmcnKQotRXZlbnRNYXBwaW5nLmFkZF9maWVsZCgxLCdEaWFsb2dfJywxMTU5MikKLUV2ZW50TWFwcGluZy5hZGRfZmllbGQoMiwnQ29udHJvbF8nLDExNTcwKQotRXZlbnRNYXBwaW5nLmFkZF9maWVsZCgzLCdFdmVudCcsMTE1NzApCi1FdmVudE1hcHBpbmcuYWRkX2ZpZWxkKDQsJ0F0dHJpYnV0ZScsMzM3OCkKLQotRXh0ZW5zaW9uID0gVGFibGUoJ0V4dGVuc2lvbicpCi1FeHRlbnNpb24uYWRkX2ZpZWxkKDEsJ0V4dGVuc2lvbicsMTE3NzUpCi1FeHRlbnNpb24uYWRkX2ZpZWxkKDIsJ0NvbXBvbmVudF8nLDB4MkRGRikKLUV4dGVuc2lvbi5hZGRfZmllbGQoMywnUHJvZ0lkXycsNzY3OSkKLUV4dGVuc2lvbi5hZGRfZmllbGQoNCwnTUlNRV8nLDc0ODgpCi1FeHRlbnNpb24uYWRkX2ZpZWxkKDUsJ0ZlYXR1cmVfJywzMzY2KQotCi1NSU1FID0gVGFibGUoJ01JTUUnKQotTUlNRS5hZGRfZmllbGQoMSwnQ29udGVudFR5cGUnLDExNTg0KQotTUlNRS5hZGRfZmllbGQoMiwnRXh0ZW5zaW9uXycsMzU4MykKLU1JTUUuYWRkX2ZpZWxkKDMsJ0NMU0lEJyw3NDYyKQotCi1GZWF0dXJlQ29tcG9uZW50cyA9IFRhYmxlKCdGZWF0dXJlQ29tcG9uZW50cycpCi1GZWF0dXJlQ29tcG9uZW50cy5hZGRfZmllbGQoMSwnRmVhdHVyZV8nLDExNTU4KQotRmVhdHVyZUNvbXBvbmVudHMuYWRkX2ZpZWxkKDIsJ0NvbXBvbmVudF8nLDB4MkRGRikKLQotRmlsZVNGUENhdGFsb2cgPSBUYWJsZSgnRmlsZVNGUENhdGFsb2cnKQotRmlsZVNGUENhdGFsb2cuYWRkX2ZpZWxkKDEsJ0ZpbGVfJywweDJERkYpCi1GaWxlU0ZQQ2F0YWxvZy5hZGRfZmllbGQoMiwnU0ZQQ2F0YWxvZ18nLDExNzc1KQotCi1TRlBDYXRhbG9nID0gVGFibGUoJ1NGUENhdGFsb2cnKQotU0ZQQ2F0YWxvZy5hZGRfZmllbGQoMSwnU0ZQQ2F0YWxvZycsMTE3NzUpCi1TRlBDYXRhbG9nLmFkZF9maWVsZCgyLCdDYXRhbG9nJywyMzA0KQotU0ZQQ2F0YWxvZy5hZGRfZmllbGQoMywnRGVwZW5kZW5jeScsNzQyNCkKLQotRm9udCA9IFRhYmxlKCdGb250JykKLUZvbnQuYWRkX2ZpZWxkKDEsJ0ZpbGVfJywweDJERkYpCi1Gb250LmFkZF9maWVsZCgyLCdGb250VGl0bGUnLDc1NTIpCi0KLUluaUZpbGUgPSBUYWJsZSgnSW5pRmlsZScpCi1JbmlGaWxlLmFkZF9maWVsZCgxLCdJbmlGaWxlJywxMTU5MikKLUluaUZpbGUuYWRkX2ZpZWxkKDIsJ0ZpbGVOYW1lJyw0MDk1KQotSW5pRmlsZS5hZGRfZmllbGQoMywnRGlyUHJvcGVydHknLDc0OTYpCi1JbmlGaWxlLmFkZF9maWVsZCg0LCdTZWN0aW9uJywzOTM2KQotSW5pRmlsZS5hZGRfZmllbGQoNSwnS2V5JywzOTY4KQotSW5pRmlsZS5hZGRfZmllbGQoNiwnVmFsdWUnLDQwOTUpCi1JbmlGaWxlLmFkZF9maWVsZCg3LCdBY3Rpb24nLDEyODIpCi1JbmlGaWxlLmFkZF9maWVsZCg4LCdDb21wb25lbnRfJywweERGRikKLQotSW5pTG9jYXRvciA9IFRhYmxlKCdJbmlMb2NhdG9yJykKLUluaUxvY2F0b3IuYWRkX2ZpZWxkKDEsJ1NpZ25hdHVyZV8nLDExNTkyKQotSW5pTG9jYXRvci5hZGRfZmllbGQoMiwnRmlsZU5hbWUnLDM1ODMpCi1JbmlMb2NhdG9yLmFkZF9maWVsZCgzLCdTZWN0aW9uJywzNDI0KQotSW5pTG9jYXRvci5hZGRfZmllbGQoNCwnS2V5JywzNDU2KQotSW5pTG9jYXRvci5hZGRfZmllbGQoNSwnRmllbGQnLDUzNzgpCi1JbmlMb2NhdG9yLmFkZF9maWVsZCg2LCdUeXBlJyw1Mzc4KQotCi1JbnN0YWxsRXhlY3V0ZVNlcXVlbmNlID0gVGFibGUoJ0luc3RhbGxFeGVjdXRlU2VxdWVuY2UnKQotSW5zdGFsbEV4ZWN1dGVTZXF1ZW5jZS5hZGRfZmllbGQoMSwnQWN0aW9uJywweDJERkYpCi1JbnN0YWxsRXhlY3V0ZVNlcXVlbmNlLmFkZF9maWVsZCgyLCdDb25kaXRpb24nLDc2NzkpCi1JbnN0YWxsRXhlY3V0ZVNlcXVlbmNlLmFkZF9maWVsZCgzLCdTZXF1ZW5jZScsNTM3OCkKLQotSW5zdGFsbFVJU2VxdWVuY2UgPSBUYWJsZSgnSW5zdGFsbFVJU2VxdWVuY2UnKQotSW5zdGFsbFVJU2VxdWVuY2UuYWRkX2ZpZWxkKDEsJ0FjdGlvbicsMHgyREZGKQotSW5zdGFsbFVJU2VxdWVuY2UuYWRkX2ZpZWxkKDIsJ0NvbmRpdGlvbicsNzY3OSkKLUluc3RhbGxVSVNlcXVlbmNlLmFkZF9maWVsZCgzLCdTZXF1ZW5jZScsNTM3OCkKLQotSXNvbGF0ZWRDb21wb25lbnQgPSBUYWJsZSgnSXNvbGF0ZWRDb21wb25lbnQnKQotSXNvbGF0ZWRDb21wb25lbnQuYWRkX2ZpZWxkKDEsJ0NvbXBvbmVudF9TaGFyZWQnLDB4MkRGRikKLUlzb2xhdGVkQ29tcG9uZW50LmFkZF9maWVsZCgyLCdDb21wb25lbnRfQXBwbGljYXRpb24nLDB4MkRGRikKLQotTGF1bmNoQ29uZGl0aW9uID0gVGFibGUoJ0xhdW5jaENvbmRpdGlvbicpCi1MYXVuY2hDb25kaXRpb24uYWRkX2ZpZWxkKDEsJ0NvbmRpdGlvbicsMTE3NzUpCi1MYXVuY2hDb25kaXRpb24uYWRkX2ZpZWxkKDIsJ0Rlc2NyaXB0aW9uJyw0MDk1KQotCi1MaXN0Qm94ID0gVGFibGUoJ0xpc3RCb3gnKQotTGlzdEJveC5hZGRfZmllbGQoMSwnUHJvcGVydHknLDExNTkyKQotTGlzdEJveC5hZGRfZmllbGQoMiwnT3JkZXInLDk0NzQpCi1MaXN0Qm94LmFkZF9maWVsZCgzLCdWYWx1ZScsMzM5MikKLUxpc3RCb3guYWRkX2ZpZWxkKDQsJ1RleHQnLDgwMDApCi0KLUxpc3RWaWV3ID0gVGFibGUoJ0xpc3RWaWV3JykKLUxpc3RWaWV3LmFkZF9maWVsZCgxLCdQcm9wZXJ0eScsMTE1OTIpCi1MaXN0Vmlldy5hZGRfZmllbGQoMiwnT3JkZXInLDk0NzQpCi1MaXN0Vmlldy5hZGRfZmllbGQoMywnVmFsdWUnLDMzOTIpCi1MaXN0Vmlldy5hZGRfZmllbGQoNCwnVGV4dCcsODAwMCkKLUxpc3RWaWV3LmFkZF9maWVsZCg1LCdCaW5hcnlfJyw3NDk2KQotCi1Mb2NrUGVybWlzc2lvbnMgPSBUYWJsZSgnTG9ja1Blcm1pc3Npb25zJykKLUxvY2tQZXJtaXNzaW9ucy5hZGRfZmllbGQoMSwnTG9ja09iamVjdCcsMTE1OTIpCi1Mb2NrUGVybWlzc2lvbnMuYWRkX2ZpZWxkKDIsJ1RhYmxlJywxMTU1MikKLUxvY2tQZXJtaXNzaW9ucy5hZGRfZmllbGQoMywnRG9tYWluJywxNTg3MSkKLUxvY2tQZXJtaXNzaW9ucy5hZGRfZmllbGQoNCwnVXNlcicsMTE3NzUpCi1Mb2NrUGVybWlzc2lvbnMuYWRkX2ZpZWxkKDUsJ1Blcm1pc3Npb24nLDQzNTYpCi0KLU1lZGlhID0gVGFibGUoJ01lZGlhJykKLU1lZGlhLmFkZF9maWVsZCgxLCdEaXNrSWQnLDk0NzQpCi1NZWRpYS5hZGRfZmllbGQoMiwnTGFzdFNlcXVlbmNlJywxMjgyKQotTWVkaWEuYWRkX2ZpZWxkKDMsJ0Rpc2tQcm9tcHQnLDgwMDApCi1NZWRpYS5hZGRfZmllbGQoNCwnQ2FiaW5ldCcsNzY3OSkKLU1lZGlhLmFkZF9maWVsZCg1LCdWb2x1bWVMYWJlbCcsNzQ1NikKLU1lZGlhLmFkZF9maWVsZCg2LCdTb3VyY2UnLDc0OTYpCi0KLU1vdmVGaWxlID0gVGFibGUoJ01vdmVGaWxlJykKLU1vdmVGaWxlLmFkZF9maWVsZCgxLCdGaWxlS2V5JywxMTU5MikKLU1vdmVGaWxlLmFkZF9maWVsZCgyLCdDb21wb25lbnRfJywweERGRikKLU1vdmVGaWxlLmFkZF9maWVsZCgzLCdTb3VyY2VOYW1lJyw4MTkxKQotTW92ZUZpbGUuYWRkX2ZpZWxkKDQsJ0Rlc3ROYW1lJyw4MTkxKQotTW92ZUZpbGUuYWRkX2ZpZWxkKDUsJ1NvdXJjZUZvbGRlcicsNzQ5NikKLU1vdmVGaWxlLmFkZF9maWVsZCg2LCdEZXN0Rm9sZGVyJywzNDAwKQotTW92ZUZpbGUuYWRkX2ZpZWxkKDcsJ09wdGlvbnMnLDEyODIpCi0KLU1zaUFzc2VtYmx5ID0gVGFibGUoJ01zaUFzc2VtYmx5JykKLU1zaUFzc2VtYmx5LmFkZF9maWVsZCgxLCdDb21wb25lbnRfJywweDJERkYpCi1Nc2lBc3NlbWJseS5hZGRfZmllbGQoMiwnRmVhdHVyZV8nLDMzNjYpCi1Nc2lBc3NlbWJseS5hZGRfZmllbGQoMywnRmlsZV9NYW5pZmVzdCcsMHgxREZGKQotTXNpQXNzZW1ibHkuYWRkX2ZpZWxkKDQsJ0ZpbGVfQXBwbGljYXRpb24nLDB4MURGRikKLU1zaUFzc2VtYmx5LmFkZF9maWVsZCg1LCdBdHRyaWJ1dGVzJyw1Mzc4KQotCi1Nc2lBc3NlbWJseU5hbWUgPSBUYWJsZSgnTXNpQXNzZW1ibHlOYW1lJykKLU1zaUFzc2VtYmx5TmFtZS5hZGRfZmllbGQoMSwnQ29tcG9uZW50XycsMHgyREZGKQotTXNpQXNzZW1ibHlOYW1lLmFkZF9maWVsZCgyLCdOYW1lJywxMTc3NSkKLU1zaUFzc2VtYmx5TmFtZS5hZGRfZmllbGQoMywnVmFsdWUnLDM1ODMpCi0KLU1zaURpZ2l0YWxDZXJ0aWZpY2F0ZSA9IFRhYmxlKCdNc2lEaWdpdGFsQ2VydGlmaWNhdGUnKQotTXNpRGlnaXRhbENlcnRpZmljYXRlLmFkZF9maWVsZCgxLCdEaWdpdGFsQ2VydGlmaWNhdGUnLDExNTkyKQotTXNpRGlnaXRhbENlcnRpZmljYXRlLmFkZF9maWVsZCgyLCdDZXJ0RGF0YScsMjMwNCkKLQotTXNpRGlnaXRhbFNpZ25hdHVyZSA9IFRhYmxlKCdNc2lEaWdpdGFsU2lnbmF0dXJlJykKLU1zaURpZ2l0YWxTaWduYXR1cmUuYWRkX2ZpZWxkKDEsJ1RhYmxlJywxMTU1MikKLU1zaURpZ2l0YWxTaWduYXR1cmUuYWRkX2ZpZWxkKDIsJ1NpZ25PYmplY3QnLDExNTkyKQotTXNpRGlnaXRhbFNpZ25hdHVyZS5hZGRfZmllbGQoMywnRGlnaXRhbENlcnRpZmljYXRlXycsMzQwMCkKLU1zaURpZ2l0YWxTaWduYXR1cmUuYWRkX2ZpZWxkKDQsJ0hhc2gnLDY0MDApCi0KLU1zaUZpbGVIYXNoID0gVGFibGUoJ01zaUZpbGVIYXNoJykKLU1zaUZpbGVIYXNoLmFkZF9maWVsZCgxLCdGaWxlXycsMHgyREZGKQotTXNpRmlsZUhhc2guYWRkX2ZpZWxkKDIsJ09wdGlvbnMnLDEyODIpCi1Nc2lGaWxlSGFzaC5hZGRfZmllbGQoMywnSGFzaFBhcnQxJywyNjApCi1Nc2lGaWxlSGFzaC5hZGRfZmllbGQoNCwnSGFzaFBhcnQyJywyNjApCi1Nc2lGaWxlSGFzaC5hZGRfZmllbGQoNSwnSGFzaFBhcnQzJywyNjApCi1Nc2lGaWxlSGFzaC5hZGRfZmllbGQoNiwnSGFzaFBhcnQ0JywyNjApCi0KLU1zaVBhdGNoSGVhZGVycyA9IFRhYmxlKCdNc2lQYXRjaEhlYWRlcnMnKQotTXNpUGF0Y2hIZWFkZXJzLmFkZF9maWVsZCgxLCdTdHJlYW1SZWYnLDExNTU4KQotTXNpUGF0Y2hIZWFkZXJzLmFkZF9maWVsZCgyLCdIZWFkZXInLDIzMDQpCi0KLU9EQkNBdHRyaWJ1dGUgPSBUYWJsZSgnT0RCQ0F0dHJpYnV0ZScpCi1PREJDQXR0cmlidXRlLmFkZF9maWVsZCgxLCdEcml2ZXJfJywxMTU5MikKLU9EQkNBdHRyaWJ1dGUuYWRkX2ZpZWxkKDIsJ0F0dHJpYnV0ZScsMTE1NjApCi1PREJDQXR0cmlidXRlLmFkZF9maWVsZCgzLCdWYWx1ZScsODE5MSkKLQotT0RCQ0RyaXZlciA9IFRhYmxlKCdPREJDRHJpdmVyJykKLU9EQkNEcml2ZXIuYWRkX2ZpZWxkKDEsJ0RyaXZlcicsMTE1OTIpCi1PREJDRHJpdmVyLmFkZF9maWVsZCgyLCdDb21wb25lbnRfJywweERGRikKLU9EQkNEcml2ZXIuYWRkX2ZpZWxkKDMsJ0Rlc2NyaXB0aW9uJywzNTgzKQotT0RCQ0RyaXZlci5hZGRfZmllbGQoNCwnRmlsZV8nLDB4REZGKQotT0RCQ0RyaXZlci5hZGRfZmllbGQoNSwnRmlsZV9TZXR1cCcsMHgxREZGKQotCi1PREJDRGF0YVNvdXJjZSA9IFRhYmxlKCdPREJDRGF0YVNvdXJjZScpCi1PREJDRGF0YVNvdXJjZS5hZGRfZmllbGQoMSwnRGF0YVNvdXJjZScsMHgyREZGKQotT0RCQ0RhdGFTb3VyY2UuYWRkX2ZpZWxkKDIsJ0NvbXBvbmVudF8nLDB4REZGKQotT0RCQ0RhdGFTb3VyY2UuYWRkX2ZpZWxkKDMsJ0Rlc2NyaXB0aW9uJywzNTgzKQotT0RCQ0RhdGFTb3VyY2UuYWRkX2ZpZWxkKDQsJ0RyaXZlckRlc2NyaXB0aW9uJywzNTgzKQotT0RCQ0RhdGFTb3VyY2UuYWRkX2ZpZWxkKDUsJ1JlZ2lzdHJhdGlvbicsMTI4MikKLQotT0RCQ1NvdXJjZUF0dHJpYnV0ZSA9IFRhYmxlKCdPREJDU291cmNlQXR0cmlidXRlJykKLU9EQkNTb3VyY2VBdHRyaWJ1dGUuYWRkX2ZpZWxkKDEsJ0RhdGFTb3VyY2VfJywxMTU5MikKLU9EQkNTb3VyY2VBdHRyaWJ1dGUuYWRkX2ZpZWxkKDIsJ0F0dHJpYnV0ZScsMTE1NTIpCi1PREJDU291cmNlQXR0cmlidXRlLmFkZF9maWVsZCgzLCdWYWx1ZScsODE5MSkKLQotT0RCQ1RyYW5zbGF0b3IgPSBUYWJsZSgnT0RCQ1RyYW5zbGF0b3InKQotT0RCQ1RyYW5zbGF0b3IuYWRkX2ZpZWxkKDEsJ1RyYW5zbGF0b3InLDExNTkyKQotT0RCQ1RyYW5zbGF0b3IuYWRkX2ZpZWxkKDIsJ0NvbXBvbmVudF8nLDB4REZGKQotT0RCQ1RyYW5zbGF0b3IuYWRkX2ZpZWxkKDMsJ0Rlc2NyaXB0aW9uJywzNTgzKQotT0RCQ1RyYW5zbGF0b3IuYWRkX2ZpZWxkKDQsJ0ZpbGVfJywweERGRikKLU9EQkNUcmFuc2xhdG9yLmFkZF9maWVsZCg1LCdGaWxlX1NldHVwJywweDFERkYpCi0KLVBhdGNoID0gVGFibGUoJ1BhdGNoJykKLVBhdGNoLmFkZF9maWVsZCgxLCdGaWxlXycsMTE1OTIpCi1QYXRjaC5hZGRfZmllbGQoMiwnU2VxdWVuY2UnLDk0NzQpCi1QYXRjaC5hZGRfZmllbGQoMywnUGF0Y2hTaXplJywyNjApCi1QYXRjaC5hZGRfZmllbGQoNCwnQXR0cmlidXRlcycsMTI4MikKLVBhdGNoLmFkZF9maWVsZCg1LCdIZWFkZXInLDY0MDApCi1QYXRjaC5hZGRfZmllbGQoNiwnU3RyZWFtUmVmXycsNzQ2MikKLQotUGF0Y2hQYWNrYWdlID0gVGFibGUoJ1BhdGNoUGFja2FnZScpCi1QYXRjaFBhY2thZ2UuYWRkX2ZpZWxkKDEsJ1BhdGNoSWQnLDExNTU4KQotUGF0Y2hQYWNrYWdlLmFkZF9maWVsZCgyLCdNZWRpYV8nLDEyODIpCi0KLVB1Ymxpc2hDb21wb25lbnQgPSBUYWJsZSgnUHVibGlzaENvbXBvbmVudCcpCi1QdWJsaXNoQ29tcG9uZW50LmFkZF9maWVsZCgxLCdDb21wb25lbnRJZCcsMTE1NTgpCi1QdWJsaXNoQ29tcG9uZW50LmFkZF9maWVsZCgyLCdRdWFsaWZpZXInLDExNzc1KQotUHVibGlzaENvbXBvbmVudC5hZGRfZmllbGQoMywnQ29tcG9uZW50XycsMHgyREZGKQotUHVibGlzaENvbXBvbmVudC5hZGRfZmllbGQoNCwnQXBwRGF0YScsODE5MSkKLVB1Ymxpc2hDb21wb25lbnQuYWRkX2ZpZWxkKDUsJ0ZlYXR1cmVfJywzMzY2KQotCi1SYWRpb0J1dHRvbiA9IFRhYmxlKCdSYWRpb0J1dHRvbicpCi1SYWRpb0J1dHRvbi5hZGRfZmllbGQoMSwnUHJvcGVydHknLDExNTkyKQotUmFkaW9CdXR0b24uYWRkX2ZpZWxkKDIsJ09yZGVyJyw5NDc0KQotUmFkaW9CdXR0b24uYWRkX2ZpZWxkKDMsJ1ZhbHVlJywzMzkyKQotUmFkaW9CdXR0b24uYWRkX2ZpZWxkKDQsJ1gnLDEyODIpCi1SYWRpb0J1dHRvbi5hZGRfZmllbGQoNSwnWScsMTI4MikKLVJhZGlvQnV0dG9uLmFkZF9maWVsZCg2LCdXaWR0aCcsMTI4MikKLVJhZGlvQnV0dG9uLmFkZF9maWVsZCg3LCdIZWlnaHQnLDEyODIpCi1SYWRpb0J1dHRvbi5hZGRfZmllbGQoOCwnVGV4dCcsODAwMCkKLVJhZGlvQnV0dG9uLmFkZF9maWVsZCg5LCdIZWxwJyw3OTg2KQotCi1SZWdpc3RyeSA9IFRhYmxlKCdSZWdpc3RyeScpCi1SZWdpc3RyeS5hZGRfZmllbGQoMSwnUmVnaXN0cnknLDB4MkRGRikKLVJlZ2lzdHJ5LmFkZF9maWVsZCgyLCdSb290JywxMjgyKQotUmVnaXN0cnkuYWRkX2ZpZWxkKDMsJ0tleScsNDA5NSkKLVJlZ2lzdHJ5LmFkZF9maWVsZCg0LCdOYW1lJyw4MTkxKQotUmVnaXN0cnkuYWRkX2ZpZWxkKDUsJ1ZhbHVlJyw3OTM2KQotUmVnaXN0cnkuYWRkX2ZpZWxkKDYsJ0NvbXBvbmVudF8nLDB4REZGKQotCi1SZWdMb2NhdG9yID0gVGFibGUoJ1JlZ0xvY2F0b3InKQotUmVnTG9jYXRvci5hZGRfZmllbGQoMSwnU2lnbmF0dXJlXycsMTE1OTIpCi1SZWdMb2NhdG9yLmFkZF9maWVsZCgyLCdSb290JywxMjgyKQotUmVnTG9jYXRvci5hZGRfZmllbGQoMywnS2V5JywzNTgzKQotUmVnTG9jYXRvci5hZGRfZmllbGQoNCwnTmFtZScsNzY3OSkKLVJlZ0xvY2F0b3IuYWRkX2ZpZWxkKDUsJ1R5cGUnLDUzNzgpCi0KLVJlbW92ZUZpbGUgPSBUYWJsZSgnUmVtb3ZlRmlsZScpCi1SZW1vdmVGaWxlLmFkZF9maWVsZCgxLCdGaWxlS2V5JywxMTU5MikKLVJlbW92ZUZpbGUuYWRkX2ZpZWxkKDIsJ0NvbXBvbmVudF8nLDB4REZGKQotUmVtb3ZlRmlsZS5hZGRfZmllbGQoMywnRmlsZU5hbWUnLDgxOTEpCi1SZW1vdmVGaWxlLmFkZF9maWVsZCg0LCdEaXJQcm9wZXJ0eScsMzQwMCkKLVJlbW92ZUZpbGUuYWRkX2ZpZWxkKDUsJ0luc3RhbGxNb2RlJywxMjgyKQotCi1SZW1vdmVJbmlGaWxlID0gVGFibGUoJ1JlbW92ZUluaUZpbGUnKQotUmVtb3ZlSW5pRmlsZS5hZGRfZmllbGQoMSwnUmVtb3ZlSW5pRmlsZScsMTE1OTIpCi1SZW1vdmVJbmlGaWxlLmFkZF9maWVsZCgyLCdGaWxlTmFtZScsNDA5NSkKLVJlbW92ZUluaUZpbGUuYWRkX2ZpZWxkKDMsJ0RpclByb3BlcnR5Jyw3NDk2KQotUmVtb3ZlSW5pRmlsZS5hZGRfZmllbGQoNCwnU2VjdGlvbicsMzkzNikKLVJlbW92ZUluaUZpbGUuYWRkX2ZpZWxkKDUsJ0tleScsMzk2OCkKLVJlbW92ZUluaUZpbGUuYWRkX2ZpZWxkKDYsJ1ZhbHVlJyw4MTkxKQotUmVtb3ZlSW5pRmlsZS5hZGRfZmllbGQoNywnQWN0aW9uJywxMjgyKQotUmVtb3ZlSW5pRmlsZS5hZGRfZmllbGQoOCwnQ29tcG9uZW50XycsMHhERkYpCi0KLVJlbW92ZVJlZ2lzdHJ5ID0gVGFibGUoJ1JlbW92ZVJlZ2lzdHJ5JykKLVJlbW92ZVJlZ2lzdHJ5LmFkZF9maWVsZCgxLCdSZW1vdmVSZWdpc3RyeScsMTE1OTIpCi1SZW1vdmVSZWdpc3RyeS5hZGRfZmllbGQoMiwnUm9vdCcsMTI4MikKLVJlbW92ZVJlZ2lzdHJ5LmFkZF9maWVsZCgzLCdLZXknLDQwOTUpCi1SZW1vdmVSZWdpc3RyeS5hZGRfZmllbGQoNCwnTmFtZScsODE5MSkKLVJlbW92ZVJlZ2lzdHJ5LmFkZF9maWVsZCg1LCdDb21wb25lbnRfJywweERGRikKLQotUmVzZXJ2ZUNvc3QgPSBUYWJsZSgnUmVzZXJ2ZUNvc3QnKQotUmVzZXJ2ZUNvc3QuYWRkX2ZpZWxkKDEsJ1Jlc2VydmVLZXknLDExNTkyKQotUmVzZXJ2ZUNvc3QuYWRkX2ZpZWxkKDIsJ0NvbXBvbmVudF8nLDB4REZGKQotUmVzZXJ2ZUNvc3QuYWRkX2ZpZWxkKDMsJ1Jlc2VydmVGb2xkZXInLDc0OTYpCi1SZXNlcnZlQ29zdC5hZGRfZmllbGQoNCwnUmVzZXJ2ZUxvY2FsJywyNjApCi1SZXNlcnZlQ29zdC5hZGRfZmllbGQoNSwnUmVzZXJ2ZVNvdXJjZScsMjYwKQotCi1TZWxmUmVnID0gVGFibGUoJ1NlbGZSZWcnKQotU2VsZlJlZy5hZGRfZmllbGQoMSwnRmlsZV8nLDB4MkRGRikKLVNlbGZSZWcuYWRkX2ZpZWxkKDIsJ0Nvc3QnLDUzNzgpCi0KLVNlcnZpY2VDb250cm9sID0gVGFibGUoJ1NlcnZpY2VDb250cm9sJykKLVNlcnZpY2VDb250cm9sLmFkZF9maWVsZCgxLCdTZXJ2aWNlQ29udHJvbCcsMTE1OTIpCi1TZXJ2aWNlQ29udHJvbC5hZGRfZmllbGQoMiwnTmFtZScsNDA5NSkKLVNlcnZpY2VDb250cm9sLmFkZF9maWVsZCgzLCdFdmVudCcsMTI4MikKLVNlcnZpY2VDb250cm9sLmFkZF9maWVsZCg0LCdBcmd1bWVudHMnLDgxOTEpCi1TZXJ2aWNlQ29udHJvbC5hZGRfZmllbGQoNSwnV2FpdCcsNTM3OCkKLVNlcnZpY2VDb250cm9sLmFkZF9maWVsZCg2LCdDb21wb25lbnRfJywweERGRikKLQotU2VydmljZUluc3RhbGwgPSBUYWJsZSgnU2VydmljZUluc3RhbGwnKQotU2VydmljZUluc3RhbGwuYWRkX2ZpZWxkKDEsJ1NlcnZpY2VJbnN0YWxsJywxMTU5MikKLVNlcnZpY2VJbnN0YWxsLmFkZF9maWVsZCgyLCdOYW1lJywzNTgzKQotU2VydmljZUluc3RhbGwuYWRkX2ZpZWxkKDMsJ0Rpc3BsYXlOYW1lJyw4MTkxKQotU2VydmljZUluc3RhbGwuYWRkX2ZpZWxkKDQsJ1NlcnZpY2VUeXBlJywyNjApCi1TZXJ2aWNlSW5zdGFsbC5hZGRfZmllbGQoNSwnU3RhcnRUeXBlJywyNjApCi1TZXJ2aWNlSW5zdGFsbC5hZGRfZmllbGQoNiwnRXJyb3JDb250cm9sJywyNjApCi1TZXJ2aWNlSW5zdGFsbC5hZGRfZmllbGQoNywnTG9hZE9yZGVyR3JvdXAnLDc2NzkpCi1TZXJ2aWNlSW5zdGFsbC5hZGRfZmllbGQoOCwnRGVwZW5kZW5jaWVzJyw3Njc5KQotU2VydmljZUluc3RhbGwuYWRkX2ZpZWxkKDksJ1N0YXJ0TmFtZScsNzY3OSkKLVNlcnZpY2VJbnN0YWxsLmFkZF9maWVsZCgxMCwnUGFzc3dvcmQnLDc2NzkpCi1TZXJ2aWNlSW5zdGFsbC5hZGRfZmllbGQoMTEsJ0FyZ3VtZW50cycsNzY3OSkKLVNlcnZpY2VJbnN0YWxsLmFkZF9maWVsZCgxMiwnQ29tcG9uZW50XycsMHhERkYpCi1TZXJ2aWNlSW5zdGFsbC5hZGRfZmllbGQoMTMsJ0Rlc2NyaXB0aW9uJyw4MTkxKQotCi1TaG9ydGN1dCA9IFRhYmxlKCdTaG9ydGN1dCcpCi1TaG9ydGN1dC5hZGRfZmllbGQoMSwnU2hvcnRjdXQnLDExNTkyKQotU2hvcnRjdXQuYWRkX2ZpZWxkKDIsJ0RpcmVjdG9yeV8nLDB4REZGKQotU2hvcnRjdXQuYWRkX2ZpZWxkKDMsJ05hbWUnLDM5NjgpCi1TaG9ydGN1dC5hZGRfZmllbGQoNCwnQ29tcG9uZW50XycsMHhERkYpCi1TaG9ydGN1dC5hZGRfZmllbGQoNSwnVGFyZ2V0JywzNDAwKQotU2hvcnRjdXQuYWRkX2ZpZWxkKDYsJ0FyZ3VtZW50cycsNzY3OSkKLVNob3J0Y3V0LmFkZF9maWVsZCg3LCdEZXNjcmlwdGlvbicsODE5MSkKLVNob3J0Y3V0LmFkZF9maWVsZCg4LCdIb3RrZXknLDUzNzgpCi1TaG9ydGN1dC5hZGRfZmllbGQoOSwnSWNvbl8nLDc0OTYpCi1TaG9ydGN1dC5hZGRfZmllbGQoMTAsJ0ljb25JbmRleCcsNTM3OCkKLVNob3J0Y3V0LmFkZF9maWVsZCgxMSwnU2hvd0NtZCcsNTM3OCkKLVNob3J0Y3V0LmFkZF9maWVsZCgxMiwnV2tEaXInLDc0OTYpCi0KLVNpZ25hdHVyZSA9IFRhYmxlKCdTaWduYXR1cmUnKQotU2lnbmF0dXJlLmFkZF9maWVsZCgxLCdTaWduYXR1cmUnLDExNTkyKQotU2lnbmF0dXJlLmFkZF9maWVsZCgyLCdGaWxlTmFtZScsMzU4MykKLVNpZ25hdHVyZS5hZGRfZmllbGQoMywnTWluVmVyc2lvbicsNzQ0NCkKLVNpZ25hdHVyZS5hZGRfZmllbGQoNCwnTWF4VmVyc2lvbicsNzQ0NCkKLVNpZ25hdHVyZS5hZGRfZmllbGQoNSwnTWluU2l6ZScsNDM1NikKLVNpZ25hdHVyZS5hZGRfZmllbGQoNiwnTWF4U2l6ZScsNDM1NikKLVNpZ25hdHVyZS5hZGRfZmllbGQoNywnTWluRGF0ZScsNDM1NikKLVNpZ25hdHVyZS5hZGRfZmllbGQoOCwnTWF4RGF0ZScsNDM1NikKLVNpZ25hdHVyZS5hZGRfZmllbGQoOSwnTGFuZ3VhZ2VzJyw3Njc5KQotCi1UZXh0U3R5bGUgPSBUYWJsZSgnVGV4dFN0eWxlJykKLVRleHRTdHlsZS5hZGRfZmllbGQoMSwnVGV4dFN0eWxlJywxMTU5MikKLVRleHRTdHlsZS5hZGRfZmllbGQoMiwnRmFjZU5hbWUnLDMzNjApCi1UZXh0U3R5bGUuYWRkX2ZpZWxkKDMsJ1NpemUnLDEyODIpCi1UZXh0U3R5bGUuYWRkX2ZpZWxkKDQsJ0NvbG9yJyw0MzU2KQotVGV4dFN0eWxlLmFkZF9maWVsZCg1LCdTdHlsZUJpdHMnLDUzNzgpCi0KLVR5cGVMaWIgPSBUYWJsZSgnVHlwZUxpYicpCi1UeXBlTGliLmFkZF9maWVsZCgxLCdMaWJJRCcsMTE1NTgpCi1UeXBlTGliLmFkZF9maWVsZCgyLCdMYW5ndWFnZScsOTQ3NCkKLVR5cGVMaWIuYWRkX2ZpZWxkKDMsJ0NvbXBvbmVudF8nLDB4MkRGRikKLVR5cGVMaWIuYWRkX2ZpZWxkKDQsJ1ZlcnNpb24nLDQzNTYpCi1UeXBlTGliLmFkZF9maWVsZCg1LCdEZXNjcmlwdGlvbicsODA2NCkKLVR5cGVMaWIuYWRkX2ZpZWxkKDYsJ0RpcmVjdG9yeV8nLDB4MURGRikKLVR5cGVMaWIuYWRkX2ZpZWxkKDcsJ0ZlYXR1cmVfJywzMzY2KQotVHlwZUxpYi5hZGRfZmllbGQoOCwnQ29zdCcsNDM1NikKLQotVUlUZXh0ID0gVGFibGUoJ1VJVGV4dCcpCi1VSVRleHQuYWRkX2ZpZWxkKDEsJ0tleScsMTE1OTIpCi1VSVRleHQuYWRkX2ZpZWxkKDIsJ1RleHQnLDgxOTEpCi0KLVVwZ3JhZGUgPSBUYWJsZSgnVXBncmFkZScpCi1VcGdyYWRlLmFkZF9maWVsZCgxLCdVcGdyYWRlQ29kZScsMTE1NTgpCi1VcGdyYWRlLmFkZF9maWVsZCgyLCdWZXJzaW9uTWluJywxNTYzNikKLVVwZ3JhZGUuYWRkX2ZpZWxkKDMsJ1ZlcnNpb25NYXgnLDE1NjM2KQotVXBncmFkZS5hZGRfZmllbGQoNCwnTGFuZ3VhZ2UnLDE1ODcxKQotVXBncmFkZS5hZGRfZmllbGQoNSwnQXR0cmlidXRlcycsODQ1MikKLVVwZ3JhZGUuYWRkX2ZpZWxkKDYsJ1JlbW92ZScsNzY3OSkKLVVwZ3JhZGUuYWRkX2ZpZWxkKDcsJ0FjdGlvblByb3BlcnR5JywzNDAwKQotCi1WZXJiID0gVGFibGUoJ1ZlcmInKQotVmVyYi5hZGRfZmllbGQoMSwnRXh0ZW5zaW9uXycsMTE3NzUpCi1WZXJiLmFkZF9maWVsZCgyLCdWZXJiJywxMTU1MikKLVZlcmIuYWRkX2ZpZWxkKDMsJ1NlcXVlbmNlJyw1Mzc4KQotVmVyYi5hZGRfZmllbGQoNCwnQ29tbWFuZCcsODE5MSkKLVZlcmIuYWRkX2ZpZWxkKDUsJ0FyZ3VtZW50Jyw4MTkxKQotCi10YWJsZXM9W19WYWxpZGF0aW9uLCBBY3Rpb25UZXh0LCBBZG1pbkV4ZWN1dGVTZXF1ZW5jZSwgQ29uZGl0aW9uLCBBZG1pblVJU2VxdWVuY2UsIEFkdnRFeGVjdXRlU2VxdWVuY2UsIEFkdnRVSVNlcXVlbmNlLCBBcHBJZCwgQXBwU2VhcmNoLCBQcm9wZXJ0eSwgQkJDb250cm9sLCBCaWxsYm9hcmQsIEZlYXR1cmUsIEJpbmFyeSwgQmluZEltYWdlLCBGaWxlLCBDQ1BTZWFyY2gsIENoZWNrQm94LCBDbGFzcywgQ29tcG9uZW50LCBJY29uLCBQcm9nSWQsIENvbWJvQm94LCBDb21wTG9jYXRvciwgQ29tcGx1cywgRGlyZWN0b3J5LCBDb250cm9sLCBEaWFsb2csIENvbnRyb2xDb25kaXRpb24sIENvbnRyb2xFdmVudCwgQ3JlYXRlRm9sZGVyLCBDdXN0b21BY3Rpb24sIERyTG9jYXRvciwgRHVwbGljYXRlRmlsZSwgRW52aXJvbm1lbnQsIEVycm9yLCBFdmVudE1hcHBpbmcsIEV4dGVuc2lvbiwgTUlNRSwgRmVhdHVyZUNvbXBvbmVudHMsIEZpbGVTRlBDYXRhbG9nLCBTRlBDYXRhbG9nLCBGb250LCBJbmlGaWxlLCBJbmlMb2NhdG9yLCBJbnN0YWxsRXhlY3V0ZVNlcXVlbmNlLCBJbnN0YWxsVUlTZXF1ZW5jZSwgSXNvbGF0ZWRDb21wb25lbnQsIExhdW5jaENvbmRpdGlvbiwgTGlzdEJveCwgTGlzdFZpZXcsIExvY2tQZXJtaXNzaW9ucywgTWVkaWEsIE1vdmVGaWxlLCBNc2lBc3NlbWJseSwgTXNpQXNzZW1ibHlOYW1lLCBNc2lEaWdpdGFsQ2VydGlmaWNhdGUsIE1zaURpZ2l0YWxTaWduYXR1cmUsIE1zaUZpbGVIYXNoLCBNc2lQYXRjaEhlYWRlcnMsIE9EQkNBdHRyaWJ1dGUsIE9EQkNEcml2ZXIsIE9EQkNEYXRhU291cmNlLCBPREJDU291cmNlQXR0cmlidXRlLCBPREJDVHJhbnNsYXRvciwgUGF0Y2gsIFBhdGNoUGFja2FnZSwgUHVibGlzaENvbXBvbmVudCwgUmFkaW9CdXR0b24sIFJlZ2lzdHJ5LCBSZWdMb2NhdG9yLCBSZW1vdmVGaWxlLCBSZW1vdmVJbmlGaWxlLCBSZW1vdmVSZWdpc3RyeSwgUmVzZXJ2ZUNvc3QsIFNlbGZSZWcsIFNlcnZpY2VDb250cm9sLCBTZXJ2aWNlSW5zdGFsbCwgU2hvcnRjdXQsIFNpZ25hdHVyZSwgVGV4dFN0eWxlLCBUeXBlTGliLCBVSVRleHQsIFVwZ3JhZGUsIFZlcmJdCi0KLV9WYWxpZGF0aW9uX3JlY29yZHMgPSBbCi0odSdfVmFsaWRhdGlvbicsdSdUYWJsZScsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLE5vbmUsIHUnTmFtZSBvZiB0YWJsZScsKSwKLSh1J19WYWxpZGF0aW9uJyx1J0NvbHVtbicsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLE5vbmUsIHUnTmFtZSBvZiBjb2x1bW4nLCksCi0odSdfVmFsaWRhdGlvbicsdSdEZXNjcmlwdGlvbicsdSdZJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RleHQnLE5vbmUsIHUnRGVzY3JpcHRpb24gb2YgY29sdW1uJywpLAotKHUnX1ZhbGlkYXRpb24nLHUnU2V0Jyx1J1knLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGV4dCcsTm9uZSwgdSdTZXQgb2YgdmFsdWVzIHRoYXQgYXJlIHBlcm1pdHRlZCcsKSwKLSh1J19WYWxpZGF0aW9uJyx1J0NhdGVnb3J5Jyx1J1knLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGV4dDtGb3JtYXR0ZWQ7VGVtcGxhdGU7Q29uZGl0aW9uO0d1aWQ7UGF0aDtWZXJzaW9uO0xhbmd1YWdlO0lkZW50aWZpZXI7QmluYXJ5O1VwcGVyQ2FzZTtMb3dlckNhc2U7RmlsZW5hbWU7UGF0aHM7QW55UGF0aDtXaWxkQ2FyZEZpbGVuYW1lO1JlZ1BhdGg7S2V5Rm9ybWF0dGVkO0N1c3RvbVNvdXJjZTtQcm9wZXJ0eTtDYWJpbmV0O1Nob3J0Y3V0O1VSTCcsdSdTdHJpbmcgY2F0ZWdvcnknLCksCi0odSdfVmFsaWRhdGlvbicsdSdLZXlDb2x1bW4nLHUnWScsMSwzMixOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0NvbHVtbiB0byB3aGljaCBmb3JlaWduIGtleSBjb25uZWN0cycsKSwKLSh1J19WYWxpZGF0aW9uJyx1J0tleVRhYmxlJyx1J1knLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsTm9uZSwgdSdGb3IgZm9yZWlnbiBrZXksIE5hbWUgb2YgdGFibGUgdG8gd2hpY2ggZGF0YSBtdXN0IGxpbmsnLCksCi0odSdfVmFsaWRhdGlvbicsdSdNYXhWYWx1ZScsdSdZJywtMjE0NzQ4MzY0NywyMTQ3NDgzNjQ3LE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnTWF4aW11bSB2YWx1ZSBhbGxvd2VkJywpLAotKHUnX1ZhbGlkYXRpb24nLHUnTWluVmFsdWUnLHUnWScsLTIxNDc0ODM2NDcsMjE0NzQ4MzY0NyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J01pbmltdW0gdmFsdWUgYWxsb3dlZCcsKSwKLSh1J19WYWxpZGF0aW9uJyx1J051bGxhYmxlJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnWTtOO0AnLHUnV2hldGhlciB0aGUgY29sdW1uIGlzIG51bGxhYmxlJywpLAotKHUnQWN0aW9uVGV4dCcsdSdEZXNjcmlwdGlvbicsdSdZJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RleHQnLE5vbmUsIHUnTG9jYWxpemVkIGRlc2NyaXB0aW9uIGRpc3BsYXllZCBpbiBwcm9ncmVzcyBkaWFsb2cgYW5kIGxvZyB3aGVuIGFjdGlvbiBpcyBleGVjdXRpbmcuJywpLAotKHUnQWN0aW9uVGV4dCcsdSdBY3Rpb24nLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJyxOb25lLCB1J05hbWUgb2YgYWN0aW9uIHRvIGJlIGRlc2NyaWJlZC4nLCksCi0odSdBY3Rpb25UZXh0Jyx1J1RlbXBsYXRlJyx1J1knLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGVtcGxhdGUnLE5vbmUsIHUnT3B0aW9uYWwgbG9jYWxpemVkIGZvcm1hdCB0ZW1wbGF0ZSB1c2VkIHRvIGZvcm1hdCBhY3Rpb24gZGF0YSByZWNvcmRzIGZvciBkaXNwbGF5IGR1cmluZyBhY3Rpb24gZXhlY3V0aW9uLicsKSwKLSh1J0FkbWluRXhlY3V0ZVNlcXVlbmNlJyx1J0FjdGlvbicsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLE5vbmUsIHUnTmFtZSBvZiBhY3Rpb24gdG8gaW52b2tlLCBlaXRoZXIgaW4gdGhlIGVuZ2luZSBvciB0aGUgaGFuZGxlciBETEwuJywpLAotKHUnQWRtaW5FeGVjdXRlU2VxdWVuY2UnLHUnQ29uZGl0aW9uJyx1J1knLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnQ29uZGl0aW9uJyxOb25lLCB1J09wdGlvbmFsIGV4cHJlc3Npb24gd2hpY2ggc2tpcHMgdGhlIGFjdGlvbiBpZiBldmFsdWF0ZXMgdG8gZXhwRmFsc2UuSWYgdGhlIGV4cHJlc3Npb24gc3ludGF4IGlzIGludmFsaWQsIHRoZSBlbmdpbmUgd2lsbCB0ZXJtaW5hdGUsIHJldHVybmluZyBpZXNCYWRBY3Rpb25EYXRhLicsKSwKLSh1J0FkbWluRXhlY3V0ZVNlcXVlbmNlJyx1J1NlcXVlbmNlJyx1J1knLC00LDMyNzY3LE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnTnVtYmVyIHRoYXQgZGV0ZXJtaW5lcyB0aGUgc29ydCBvcmRlciBpbiB3aGljaCB0aGUgYWN0aW9ucyBhcmUgdG8gYmUgZXhlY3V0ZWQuICBMZWF2ZSBibGFuayB0byBzdXBwcmVzcyBhY3Rpb24uJywpLAotKHUnQ29uZGl0aW9uJyx1J0NvbmRpdGlvbicsdSdZJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0NvbmRpdGlvbicsTm9uZSwgdSdFeHByZXNzaW9uIGV2YWx1YXRlZCB0byBkZXRlcm1pbmUgaWYgTGV2ZWwgaW4gdGhlIEZlYXR1cmUgdGFibGUgaXMgdG8gY2hhbmdlLicsKSwKLSh1J0NvbmRpdGlvbicsdSdGZWF0dXJlXycsdSdOJyxOb25lLCBOb25lLCB1J0ZlYXR1cmUnLDEsdSdJZGVudGlmaWVyJyxOb25lLCB1J1JlZmVyZW5jZSB0byBhIEZlYXR1cmUgZW50cnkgaW4gRmVhdHVyZSB0YWJsZS4nLCksCi0odSdDb25kaXRpb24nLHUnTGV2ZWwnLHUnTicsMCwzMjc2NyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J05ldyBzZWxlY3Rpb24gTGV2ZWwgdG8gc2V0IGluIEZlYXR1cmUgdGFibGUgaWYgQ29uZGl0aW9uIGV2YWx1YXRlcyB0byBUUlVFLicsKSwKLSh1J0FkbWluVUlTZXF1ZW5jZScsdSdBY3Rpb24nLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJyxOb25lLCB1J05hbWUgb2YgYWN0aW9uIHRvIGludm9rZSwgZWl0aGVyIGluIHRoZSBlbmdpbmUgb3IgdGhlIGhhbmRsZXIgRExMLicsKSwKLSh1J0FkbWluVUlTZXF1ZW5jZScsdSdDb25kaXRpb24nLHUnWScsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdDb25kaXRpb24nLE5vbmUsIHUnT3B0aW9uYWwgZXhwcmVzc2lvbiB3aGljaCBza2lwcyB0aGUgYWN0aW9uIGlmIGV2YWx1YXRlcyB0byBleHBGYWxzZS5JZiB0aGUgZXhwcmVzc2lvbiBzeW50YXggaXMgaW52YWxpZCwgdGhlIGVuZ2luZSB3aWxsIHRlcm1pbmF0ZSwgcmV0dXJuaW5nIGllc0JhZEFjdGlvbkRhdGEuJywpLAotKHUnQWRtaW5VSVNlcXVlbmNlJyx1J1NlcXVlbmNlJyx1J1knLC00LDMyNzY3LE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnTnVtYmVyIHRoYXQgZGV0ZXJtaW5lcyB0aGUgc29ydCBvcmRlciBpbiB3aGljaCB0aGUgYWN0aW9ucyBhcmUgdG8gYmUgZXhlY3V0ZWQuICBMZWF2ZSBibGFuayB0byBzdXBwcmVzcyBhY3Rpb24uJywpLAotKHUnQWR2dEV4ZWN1dGVTZXF1ZW5jZScsdSdBY3Rpb24nLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJyxOb25lLCB1J05hbWUgb2YgYWN0aW9uIHRvIGludm9rZSwgZWl0aGVyIGluIHRoZSBlbmdpbmUgb3IgdGhlIGhhbmRsZXIgRExMLicsKSwKLSh1J0FkdnRFeGVjdXRlU2VxdWVuY2UnLHUnQ29uZGl0aW9uJyx1J1knLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnQ29uZGl0aW9uJyxOb25lLCB1J09wdGlvbmFsIGV4cHJlc3Npb24gd2hpY2ggc2tpcHMgdGhlIGFjdGlvbiBpZiBldmFsdWF0ZXMgdG8gZXhwRmFsc2UuSWYgdGhlIGV4cHJlc3Npb24gc3ludGF4IGlzIGludmFsaWQsIHRoZSBlbmdpbmUgd2lsbCB0ZXJtaW5hdGUsIHJldHVybmluZyBpZXNCYWRBY3Rpb25EYXRhLicsKSwKLSh1J0FkdnRFeGVjdXRlU2VxdWVuY2UnLHUnU2VxdWVuY2UnLHUnWScsLTQsMzI3NjcsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdOdW1iZXIgdGhhdCBkZXRlcm1pbmVzIHRoZSBzb3J0IG9yZGVyIGluIHdoaWNoIHRoZSBhY3Rpb25zIGFyZSB0byBiZSBleGVjdXRlZC4gIExlYXZlIGJsYW5rIHRvIHN1cHByZXNzIGFjdGlvbi4nLCksCi0odSdBZHZ0VUlTZXF1ZW5jZScsdSdBY3Rpb24nLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJyxOb25lLCB1J05hbWUgb2YgYWN0aW9uIHRvIGludm9rZSwgZWl0aGVyIGluIHRoZSBlbmdpbmUgb3IgdGhlIGhhbmRsZXIgRExMLicsKSwKLSh1J0FkdnRVSVNlcXVlbmNlJyx1J0NvbmRpdGlvbicsdSdZJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0NvbmRpdGlvbicsTm9uZSwgdSdPcHRpb25hbCBleHByZXNzaW9uIHdoaWNoIHNraXBzIHRoZSBhY3Rpb24gaWYgZXZhbHVhdGVzIHRvIGV4cEZhbHNlLklmIHRoZSBleHByZXNzaW9uIHN5bnRheCBpcyBpbnZhbGlkLCB0aGUgZW5naW5lIHdpbGwgdGVybWluYXRlLCByZXR1cm5pbmcgaWVzQmFkQWN0aW9uRGF0YS4nLCksCi0odSdBZHZ0VUlTZXF1ZW5jZScsdSdTZXF1ZW5jZScsdSdZJywtNCwzMjc2NyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J051bWJlciB0aGF0IGRldGVybWluZXMgdGhlIHNvcnQgb3JkZXIgaW4gd2hpY2ggdGhlIGFjdGlvbnMgYXJlIHRvIGJlIGV4ZWN1dGVkLiAgTGVhdmUgYmxhbmsgdG8gc3VwcHJlc3MgYWN0aW9uLicsKSwKLSh1J0FwcElkJyx1J0FwcElkJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnR3VpZCcsTm9uZSwgTm9uZSwgKSwKLSh1J0FwcElkJyx1J0FjdGl2YXRlQXRTdG9yYWdlJyx1J1knLDAsMSxOb25lLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCApLAotKHUnQXBwSWQnLHUnRGxsU3Vycm9nYXRlJyx1J1knLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGV4dCcsTm9uZSwgTm9uZSwgKSwKLSh1J0FwcElkJyx1J0xvY2FsU2VydmljZScsdSdZJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RleHQnLE5vbmUsIE5vbmUsICksCi0odSdBcHBJZCcsdSdSZW1vdGVTZXJ2ZXJOYW1lJyx1J1knLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRm9ybWF0dGVkJyxOb25lLCBOb25lLCApLAotKHUnQXBwSWQnLHUnUnVuQXNJbnRlcmFjdGl2ZVVzZXInLHUnWScsMCwxLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsICksCi0odSdBcHBJZCcsdSdTZXJ2aWNlUGFyYW1ldGVycycsdSdZJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RleHQnLE5vbmUsIE5vbmUsICksCi0odSdBcHBTZWFyY2gnLHUnUHJvcGVydHknLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJyxOb25lLCB1J1RoZSBwcm9wZXJ0eSBhc3NvY2lhdGVkIHdpdGggYSBTaWduYXR1cmUnLCksCi0odSdBcHBTZWFyY2gnLHUnU2lnbmF0dXJlXycsdSdOJyxOb25lLCBOb25lLCB1J1NpZ25hdHVyZTtSZWdMb2NhdG9yO0luaUxvY2F0b3I7RHJMb2NhdG9yO0NvbXBMb2NhdG9yJywxLHUnSWRlbnRpZmllcicsTm9uZSwgdSdUaGUgU2lnbmF0dXJlXyByZXByZXNlbnRzIGEgdW5pcXVlIGZpbGUgc2lnbmF0dXJlIGFuZCBpcyBhbHNvIHRoZSBmb3JlaWduIGtleSBpbiB0aGUgU2lnbmF0dXJlLCAgUmVnTG9jYXRvciwgSW5pTG9jYXRvciwgQ29tcExvY2F0b3IgYW5kIHRoZSBEckxvY2F0b3IgdGFibGVzLicsKSwKLSh1J1Byb3BlcnR5Jyx1J1Byb3BlcnR5Jyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsTm9uZSwgdSdOYW1lIG9mIHByb3BlcnR5LCB1cHBlcmNhc2UgaWYgc2V0dGFibGUgYnkgbGF1bmNoZXIgb3IgbG9hZGVyLicsKSwKLSh1J1Byb3BlcnR5Jyx1J1ZhbHVlJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGV4dCcsTm9uZSwgdSdTdHJpbmcgdmFsdWUgZm9yIHByb3BlcnR5LiAgTmV2ZXIgbnVsbCBvciBlbXB0eS4nLCksCi0odSdCQkNvbnRyb2wnLHUnVHlwZScsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLE5vbmUsIHUnVGhlIHR5cGUgb2YgdGhlIGNvbnRyb2wuJywpLAotKHUnQkJDb250cm9sJyx1J1knLHUnTicsMCwzMjc2NyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1ZlcnRpY2FsIGNvb3JkaW5hdGUgb2YgdGhlIHVwcGVyIGxlZnQgY29ybmVyIG9mIHRoZSBib3VuZGluZyByZWN0YW5nbGUgb2YgdGhlIGNvbnRyb2wuJywpLAotKHUnQkJDb250cm9sJyx1J1RleHQnLHUnWScsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUZXh0JyxOb25lLCB1J0Egc3RyaW5nIHVzZWQgdG8gc2V0IHRoZSBpbml0aWFsIHRleHQgY29udGFpbmVkIHdpdGhpbiBhIGNvbnRyb2wgKGlmIGFwcHJvcHJpYXRlKS4nLCksCi0odSdCQkNvbnRyb2wnLHUnQkJDb250cm9sJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsTm9uZSwgdSdOYW1lIG9mIHRoZSBjb250cm9sLiBUaGlzIG5hbWUgbXVzdCBiZSB1bmlxdWUgd2l0aGluIGEgYmlsbGJvYXJkLCBidXQgY2FuIHJlcGVhdCBvbiBkaWZmZXJlbnQgYmlsbGJvYXJkLicsKSwKLSh1J0JCQ29udHJvbCcsdSdBdHRyaWJ1dGVzJyx1J1knLDAsMjE0NzQ4MzY0NyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0EgMzItYml0IHdvcmQgdGhhdCBzcGVjaWZpZXMgdGhlIGF0dHJpYnV0ZSBmbGFncyB0byBiZSBhcHBsaWVkIHRvIHRoaXMgY29udHJvbC4nLCksCi0odSdCQkNvbnRyb2wnLHUnQmlsbGJvYXJkXycsdSdOJyxOb25lLCBOb25lLCB1J0JpbGxib2FyZCcsMSx1J0lkZW50aWZpZXInLE5vbmUsIHUnRXh0ZXJuYWwga2V5IHRvIHRoZSBCaWxsYm9hcmQgdGFibGUsIG5hbWUgb2YgdGhlIGJpbGxib2FyZC4nLCksCi0odSdCQkNvbnRyb2wnLHUnSGVpZ2h0Jyx1J04nLDAsMzI3NjcsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdIZWlnaHQgb2YgdGhlIGJvdW5kaW5nIHJlY3RhbmdsZSBvZiB0aGUgY29udHJvbC4nLCksCi0odSdCQkNvbnRyb2wnLHUnV2lkdGgnLHUnTicsMCwzMjc2NyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1dpZHRoIG9mIHRoZSBib3VuZGluZyByZWN0YW5nbGUgb2YgdGhlIGNvbnRyb2wuJywpLAotKHUnQkJDb250cm9sJyx1J1gnLHUnTicsMCwzMjc2NyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0hvcml6b250YWwgY29vcmRpbmF0ZSBvZiB0aGUgdXBwZXIgbGVmdCBjb3JuZXIgb2YgdGhlIGJvdW5kaW5nIHJlY3RhbmdsZSBvZiB0aGUgY29udHJvbC4nLCksCi0odSdCaWxsYm9hcmQnLHUnQWN0aW9uJyx1J1knLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsTm9uZSwgdSdUaGUgbmFtZSBvZiBhbiBhY3Rpb24uIFRoZSBiaWxsYm9hcmQgaXMgZGlzcGxheWVkIGR1cmluZyB0aGUgcHJvZ3Jlc3MgbWVzc2FnZXMgcmVjZWl2ZWQgZnJvbSB0aGlzIGFjdGlvbi4nLCksCi0odSdCaWxsYm9hcmQnLHUnQmlsbGJvYXJkJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsTm9uZSwgdSdOYW1lIG9mIHRoZSBiaWxsYm9hcmQuJywpLAotKHUnQmlsbGJvYXJkJyx1J0ZlYXR1cmVfJyx1J04nLE5vbmUsIE5vbmUsIHUnRmVhdHVyZScsMSx1J0lkZW50aWZpZXInLE5vbmUsIHUnQW4gZXh0ZXJuYWwga2V5IHRvIHRoZSBGZWF0dXJlIFRhYmxlLiBUaGUgYmlsbGJvYXJkIGlzIHNob3duIG9ubHkgaWYgdGhpcyBmZWF0dXJlIGlzIGJlaW5nIGluc3RhbGxlZC4nLCksCi0odSdCaWxsYm9hcmQnLHUnT3JkZXJpbmcnLHUnWScsMCwzMjc2NyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0EgcG9zaXRpdmUgaW50ZWdlci4gSWYgdGhlcmUgaXMgbW9yZSB0aGFuIG9uZSBiaWxsYm9hcmQgY29ycmVzcG9uZGluZyB0byBhbiBhY3Rpb24gdGhleSB3aWxsIGJlIHNob3duIGluIHRoZSBvcmRlciBkZWZpbmVkIGJ5IHRoaXMgY29sdW1uLicsKSwKLSh1J0ZlYXR1cmUnLHUnRGVzY3JpcHRpb24nLHUnWScsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUZXh0JyxOb25lLCB1J0xvbmdlciBkZXNjcmlwdGl2ZSB0ZXh0IGRlc2NyaWJpbmcgYSB2aXNpYmxlIGZlYXR1cmUgaXRlbS4nLCksCi0odSdGZWF0dXJlJyx1J0F0dHJpYnV0ZXMnLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdScwOzE7Mjs0OzU7Njs4Ozk7MTA7MTY7MTc7MTg7MjA7MjE7MjI7MjQ7MjU7MjY7MzI7MzM7MzQ7MzY7Mzc7Mzg7NDg7NDk7NTA7NTI7NTM7NTQnLHUnRmVhdHVyZSBhdHRyaWJ1dGVzJywpLAotKHUnRmVhdHVyZScsdSdGZWF0dXJlJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsTm9uZSwgdSdQcmltYXJ5IGtleSB1c2VkIHRvIGlkZW50aWZ5IGEgcGFydGljdWxhciBmZWF0dXJlIHJlY29yZC4nLCksCi0odSdGZWF0dXJlJyx1J0RpcmVjdG9yeV8nLHUnWScsTm9uZSwgTm9uZSwgdSdEaXJlY3RvcnknLDEsdSdVcHBlckNhc2UnLE5vbmUsIHUnVGhlIG5hbWUgb2YgdGhlIERpcmVjdG9yeSB0aGF0IGNhbiBiZSBjb25maWd1cmVkIGJ5IHRoZSBVSS4gQSBub24tbnVsbCB2YWx1ZSB3aWxsIGVuYWJsZSB0aGUgYnJvd3NlIGJ1dHRvbi4nLCksCi0odSdGZWF0dXJlJyx1J0xldmVsJyx1J04nLDAsMzI3NjcsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUaGUgaW5zdGFsbCBsZXZlbCBhdCB3aGljaCByZWNvcmQgd2lsbCBiZSBpbml0aWFsbHkgc2VsZWN0ZWQuIEFuIGluc3RhbGwgbGV2ZWwgb2YgMCB3aWxsIGRpc2FibGUgYW4gaXRlbSBhbmQgcHJldmVudCBpdHMgZGlzcGxheS4nLCksCi0odSdGZWF0dXJlJyx1J1RpdGxlJyx1J1knLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGV4dCcsTm9uZSwgdSdTaG9ydCB0ZXh0IGlkZW50aWZ5aW5nIGEgdmlzaWJsZSBmZWF0dXJlIGl0ZW0uJywpLAotKHUnRmVhdHVyZScsdSdEaXNwbGF5Jyx1J1knLDAsMzI3NjcsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdOdW1lcmljIHNvcnQgb3JkZXIsIHVzZWQgdG8gZm9yY2UgYSBzcGVjaWZpYyBkaXNwbGF5IG9yZGVyaW5nLicsKSwKLSh1J0ZlYXR1cmUnLHUnRmVhdHVyZV9QYXJlbnQnLHUnWScsTm9uZSwgTm9uZSwgdSdGZWF0dXJlJywxLHUnSWRlbnRpZmllcicsTm9uZSwgdSdPcHRpb25hbCBrZXkgb2YgYSBwYXJlbnQgcmVjb3JkIGluIHRoZSBzYW1lIHRhYmxlLiBJZiB0aGUgcGFyZW50IGlzIG5vdCBzZWxlY3RlZCwgdGhlbiB0aGUgcmVjb3JkIHdpbGwgbm90IGJlIGluc3RhbGxlZC4gTnVsbCBpbmRpY2F0ZXMgYSByb290IGl0ZW0uJywpLAotKHUnQmluYXJ5Jyx1J05hbWUnLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJyxOb25lLCB1J1VuaXF1ZSBrZXkgaWRlbnRpZnlpbmcgdGhlIGJpbmFyeSBkYXRhLicsKSwKLSh1J0JpbmFyeScsdSdEYXRhJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnQmluYXJ5JyxOb25lLCB1J1RoZSB1bmZvcm1hdHRlZCBiaW5hcnkgZGF0YS4nLCksCi0odSdCaW5kSW1hZ2UnLHUnRmlsZV8nLHUnTicsTm9uZSwgTm9uZSwgdSdGaWxlJywxLHUnSWRlbnRpZmllcicsTm9uZSwgdSdUaGUgaW5kZXggaW50byB0aGUgRmlsZSB0YWJsZS4gVGhpcyBtdXN0IGJlIGFuIGV4ZWN1dGFibGUgZmlsZS4nLCksCi0odSdCaW5kSW1hZ2UnLHUnUGF0aCcsdSdZJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1BhdGhzJyxOb25lLCB1J0EgbGlzdCBvZiA7ICBkZWxpbWl0ZWQgcGF0aHMgdGhhdCByZXByZXNlbnQgdGhlIHBhdGhzIHRvIGJlIHNlYXJjaGVkIGZvciB0aGUgaW1wb3J0IERMTFMuIFRoZSBsaXN0IGlzIHVzdWFsbHkgYSBsaXN0IG9mIHByb3BlcnRpZXMgZWFjaCBlbmNsb3NlZCB3aXRoaW4gc3F1YXJlIGJyYWNrZXRzIFtdIC4nLCksCi0odSdGaWxlJyx1J1NlcXVlbmNlJyx1J04nLDEsMzI3NjcsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdTZXF1ZW5jZSB3aXRoIHJlc3BlY3QgdG8gdGhlIG1lZGlhIGltYWdlczsgb3JkZXIgbXVzdCB0cmFjayBjYWJpbmV0IG9yZGVyLicsKSwKLSh1J0ZpbGUnLHUnQXR0cmlidXRlcycsdSdZJywwLDMyNzY3LE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSW50ZWdlciBjb250YWluaW5nIGJpdCBmbGFncyByZXByZXNlbnRpbmcgZmlsZSBhdHRyaWJ1dGVzICh3aXRoIHRoZSBkZWNpbWFsIHZhbHVlIG9mIGVhY2ggYml0IHBvc2l0aW9uIGluIHBhcmVudGhlc2VzKScsKSwKLSh1J0ZpbGUnLHUnRmlsZScsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLE5vbmUsIHUnUHJpbWFyeSBrZXksIG5vbi1sb2NhbGl6ZWQgdG9rZW4sIG11c3QgbWF0Y2ggaWRlbnRpZmllciBpbiBjYWJpbmV0LiAgRm9yIHVuY29tcHJlc3NlZCBmaWxlcywgdGhpcyBmaWVsZCBpcyBpZ25vcmVkLicsKSwKLSh1J0ZpbGUnLHUnQ29tcG9uZW50XycsdSdOJyxOb25lLCBOb25lLCB1J0NvbXBvbmVudCcsMSx1J0lkZW50aWZpZXInLE5vbmUsIHUnRm9yZWlnbiBrZXkgcmVmZXJlbmNpbmcgQ29tcG9uZW50IHRoYXQgY29udHJvbHMgdGhlIGZpbGUuJywpLAotKHUnRmlsZScsdSdGaWxlTmFtZScsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0ZpbGVuYW1lJyxOb25lLCB1J0ZpbGUgbmFtZSB1c2VkIGZvciBpbnN0YWxsYXRpb24sIG1heSBiZSBsb2NhbGl6ZWQuICBUaGlzIG1heSBjb250YWluIGEgInNob3J0IG5hbWV8bG9uZyBuYW1lIiBwYWlyLicsKSwKLSh1J0ZpbGUnLHUnRmlsZVNpemUnLHUnTicsMCwyMTQ3NDgzNjQ3LE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnU2l6ZSBvZiBmaWxlIGluIGJ5dGVzIChsb25nIGludGVnZXIpLicsKSwKLSh1J0ZpbGUnLHUnTGFuZ3VhZ2UnLHUnWScsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdMYW5ndWFnZScsTm9uZSwgdSdMaXN0IG9mIGRlY2ltYWwgbGFuZ3VhZ2UgSWRzLCBjb21tYS1zZXBhcmF0ZWQgaWYgbW9yZSB0aGFuIG9uZS4nLCksCi0odSdGaWxlJyx1J1ZlcnNpb24nLHUnWScsTm9uZSwgTm9uZSwgdSdGaWxlJywxLHUnVmVyc2lvbicsTm9uZSwgdSdWZXJzaW9uIHN0cmluZyBmb3IgdmVyc2lvbmVkIGZpbGVzOyAgQmxhbmsgZm9yIHVudmVyc2lvbmVkIGZpbGVzLicsKSwKLSh1J0NDUFNlYXJjaCcsdSdTaWduYXR1cmVfJyx1J04nLE5vbmUsIE5vbmUsIHUnU2lnbmF0dXJlO1JlZ0xvY2F0b3I7SW5pTG9jYXRvcjtEckxvY2F0b3I7Q29tcExvY2F0b3InLDEsdSdJZGVudGlmaWVyJyxOb25lLCB1J1RoZSBTaWduYXR1cmVfIHJlcHJlc2VudHMgYSB1bmlxdWUgZmlsZSBzaWduYXR1cmUgYW5kIGlzIGFsc28gdGhlIGZvcmVpZ24ga2V5IGluIHRoZSBTaWduYXR1cmUsICBSZWdMb2NhdG9yLCBJbmlMb2NhdG9yLCBDb21wTG9jYXRvciBhbmQgdGhlIERyTG9jYXRvciB0YWJsZXMuJywpLAotKHUnQ2hlY2tCb3gnLHUnUHJvcGVydHknLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJyxOb25lLCB1J0EgbmFtZWQgcHJvcGVydHkgdG8gYmUgdGllZCB0byB0aGUgaXRlbS4nLCksCi0odSdDaGVja0JveCcsdSdWYWx1ZScsdSdZJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0Zvcm1hdHRlZCcsTm9uZSwgdSdUaGUgdmFsdWUgc3RyaW5nIGFzc29jaWF0ZWQgd2l0aCB0aGUgaXRlbS4nLCksCi0odSdDbGFzcycsdSdEZXNjcmlwdGlvbicsdSdZJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RleHQnLE5vbmUsIHUnTG9jYWxpemVkIGRlc2NyaXB0aW9uIGZvciB0aGUgQ2xhc3MuJywpLAotKHUnQ2xhc3MnLHUnQXR0cmlidXRlcycsdSdZJyxOb25lLCAzMjc2NyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0NsYXNzIHJlZ2lzdHJhdGlvbiBhdHRyaWJ1dGVzLicsKSwKLSh1J0NsYXNzJyx1J0ZlYXR1cmVfJyx1J04nLE5vbmUsIE5vbmUsIHUnRmVhdHVyZScsMSx1J0lkZW50aWZpZXInLE5vbmUsIHUnUmVxdWlyZWQgZm9yZWlnbiBrZXkgaW50byB0aGUgRmVhdHVyZSBUYWJsZSwgc3BlY2lmeWluZyB0aGUgZmVhdHVyZSB0byB2YWxpZGF0ZSBvciBpbnN0YWxsIGluIG9yZGVyIGZvciB0aGUgQ0xTSUQgZmFjdG9yeSB0byBiZSBvcGVyYXRpb25hbC4nLCksCi0odSdDbGFzcycsdSdBcHBJZF8nLHUnWScsTm9uZSwgTm9uZSwgdSdBcHBJZCcsMSx1J0d1aWQnLE5vbmUsIHUnT3B0aW9uYWwgQXBwSUQgY29udGFpbmluZyBEQ09NIGluZm9ybWF0aW9uIGZvciBhc3NvY2lhdGVkIGFwcGxpY2F0aW9uIChzdHJpbmcgR1VJRCkuJywpLAotKHUnQ2xhc3MnLHUnQXJndW1lbnQnLHUnWScsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdGb3JtYXR0ZWQnLE5vbmUsIHUnb3B0aW9uYWwgYXJndW1lbnQgZm9yIExvY2FsU2VydmVycy4nLCksCi0odSdDbGFzcycsdSdDTFNJRCcsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0d1aWQnLE5vbmUsIHUnVGhlIENMU0lEIG9mIGFuIE9MRSBmYWN0b3J5LicsKSwKLSh1J0NsYXNzJyx1J0NvbXBvbmVudF8nLHUnTicsTm9uZSwgTm9uZSwgdSdDb21wb25lbnQnLDEsdSdJZGVudGlmaWVyJyxOb25lLCB1J1JlcXVpcmVkIGZvcmVpZ24ga2V5IGludG8gdGhlIENvbXBvbmVudCBUYWJsZSwgc3BlY2lmeWluZyB0aGUgY29tcG9uZW50IGZvciB3aGljaCB0byByZXR1cm4gYSBwYXRoIHdoZW4gY2FsbGVkIHRocm91Z2ggTG9jYXRlQ29tcG9uZW50LicsKSwKLSh1J0NsYXNzJyx1J0NvbnRleHQnLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJyxOb25lLCB1J1RoZSBudW1lcmljIHNlcnZlciBjb250ZXh0IGZvciB0aGlzIHNlcnZlci4gQ0xTQ1RYX3h4eHgnLCksCi0odSdDbGFzcycsdSdEZWZJbnByb2NIYW5kbGVyJyx1J1knLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRmlsZW5hbWUnLHUnMTsyOzMnLHUnT3B0aW9uYWwgZGVmYXVsdCBpbnByb2MgaGFuZGxlci4gIE9ubHkgb3B0aW9uYWxseSBwcm92aWRlZCBpZiBDb250ZXh0PUNMU0NUWF9MT0NBTF9TRVJWRVIuICBUeXBpY2FsbHkgIm9sZTMyLmRsbCIgb3IgIm1hcGkzMi5kbGwiJywpLAotKHUnQ2xhc3MnLHUnRmlsZVR5cGVNYXNrJyx1J1knLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGV4dCcsTm9uZSwgdSdPcHRpb25hbCBzdHJpbmcgY29udGFpbmluZyBpbmZvcm1hdGlvbiBmb3IgdGhlIEhLQ1J0aGlzIENMU0lEKSBrZXkuIElmIG11bHRpcGxlIHBhdHRlcm5zIGV4aXN0LCB0aGV5IG11c3QgYmUgZGVsaW1pdGVkIGJ5IGEgc2VtaWNvbG9uLCBhbmQgbnVtZXJpYyBzdWJrZXlzIHdpbGwgYmUgZ2VuZXJhdGVkOiAwLDEsMi4uLicsKSwKLSh1J0NsYXNzJyx1J0ljb25fJyx1J1knLE5vbmUsIE5vbmUsIHUnSWNvbicsMSx1J0lkZW50aWZpZXInLE5vbmUsIHUnT3B0aW9uYWwgZm9yZWlnbiBrZXkgaW50byB0aGUgSWNvbiBUYWJsZSwgc3BlY2lmeWluZyB0aGUgaWNvbiBmaWxlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIENMU0lELiBXaWxsIGJlIHdyaXR0ZW4gdW5kZXIgdGhlIERlZmF1bHRJY29uIGtleS4nLCksCi0odSdDbGFzcycsdSdJY29uSW5kZXgnLHUnWScsLTMyNzY3LDMyNzY3LE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnT3B0aW9uYWwgaWNvbiBpbmRleC4nLCksCi0odSdDbGFzcycsdSdQcm9nSWRfRGVmYXVsdCcsdSdZJyxOb25lLCBOb25lLCB1J1Byb2dJZCcsMSx1J1RleHQnLE5vbmUsIHUnT3B0aW9uYWwgUHJvZ0lkIGFzc29jaWF0ZWQgd2l0aCB0aGlzIENMU0lELicsKSwKLSh1J0NvbXBvbmVudCcsdSdDb25kaXRpb24nLHUnWScsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdDb25kaXRpb24nLE5vbmUsIHUiQSBjb25kaXRpb25hbCBzdGF0ZW1lbnQgdGhhdCB3aWxsIGRpc2FibGUgdGhpcyBjb21wb25lbnQgaWYgdGhlIHNwZWNpZmllZCBjb25kaXRpb24gZXZhbHVhdGVzIHRvIHRoZSAnVHJ1ZScgc3RhdGUuIElmIGEgY29tcG9uZW50IGlzIGRpc2FibGVkLCBpdCB3aWxsIG5vdCBiZSBpbnN0YWxsZWQsIHJlZ2FyZGxlc3Mgb2YgdGhlICdBY3Rpb24nIHN0YXRlIGFzc29jaWF0ZWQgd2l0aCB0aGUgY29tcG9uZW50LiIsKSwKLSh1J0NvbXBvbmVudCcsdSdBdHRyaWJ1dGVzJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnUmVtb3RlIGV4ZWN1dGlvbiBvcHRpb24sIG9uZSBvZiBpcnNFbnVtJywpLAotKHUnQ29tcG9uZW50Jyx1J0NvbXBvbmVudCcsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLE5vbmUsIHUnUHJpbWFyeSBrZXkgdXNlZCB0byBpZGVudGlmeSBhIHBhcnRpY3VsYXIgY29tcG9uZW50IHJlY29yZC4nLCksCi0odSdDb21wb25lbnQnLHUnQ29tcG9uZW50SWQnLHUnWScsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdHdWlkJyxOb25lLCB1J0Egc3RyaW5nIEdVSUQgdW5pcXVlIHRvIHRoaXMgY29tcG9uZW50LCB2ZXJzaW9uLCBhbmQgbGFuZ3VhZ2UuJywpLAotKHUnQ29tcG9uZW50Jyx1J0RpcmVjdG9yeV8nLHUnTicsTm9uZSwgTm9uZSwgdSdEaXJlY3RvcnknLDEsdSdJZGVudGlmaWVyJyxOb25lLCB1J1JlcXVpcmVkIGtleSBvZiBhIERpcmVjdG9yeSB0YWJsZSByZWNvcmQuIFRoaXMgaXMgYWN0dWFsbHkgYSBwcm9wZXJ0eSBuYW1lIHdob3NlIHZhbHVlIGNvbnRhaW5zIHRoZSBhY3R1YWwgcGF0aCwgc2V0IGVpdGhlciBieSB0aGUgQXBwU2VhcmNoIGFjdGlvbiBvciB3aXRoIHRoZSBkZWZhdWx0IHNldHRpbmcgb2J0YWluZWQgZnJvbSB0aGUgRGlyZWN0b3J5IHRhYmxlLicsKSwKLSh1J0NvbXBvbmVudCcsdSdLZXlQYXRoJyx1J1knLE5vbmUsIE5vbmUsIHUnRmlsZTtSZWdpc3RyeTtPREJDRGF0YVNvdXJjZScsMSx1J0lkZW50aWZpZXInLE5vbmUsIHUnRWl0aGVyIHRoZSBwcmltYXJ5IGtleSBpbnRvIHRoZSBGaWxlIHRhYmxlLCBSZWdpc3RyeSB0YWJsZSwgb3IgT0RCQ0RhdGFTb3VyY2UgdGFibGUuIFRoaXMgZXh0cmFjdCBwYXRoIGlzIHN0b3JlZCB3aGVuIHRoZSBjb21wb25lbnQgaXMgaW5zdGFsbGVkLCBhbmQgaXMgdXNlZCB0byBkZXRlY3QgdGhlIHByZXNlbmNlIG9mIHRoZSBjb21wb25lbnQgYW5kIHRvIHJldHVybiB0aGUgcGF0aCB0byBpdC4nLCksCi0odSdJY29uJyx1J05hbWUnLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJyxOb25lLCB1J1ByaW1hcnkga2V5LiBOYW1lIG9mIHRoZSBpY29uIGZpbGUuJywpLAotKHUnSWNvbicsdSdEYXRhJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnQmluYXJ5JyxOb25lLCB1J0JpbmFyeSBzdHJlYW0uIFRoZSBiaW5hcnkgaWNvbiBkYXRhIGluIFBFICguRExMIG9yIC5FWEUpIG9yIGljb24gKC5JQ08pIGZvcm1hdC4nLCksCi0odSdQcm9nSWQnLHUnRGVzY3JpcHRpb24nLHUnWScsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUZXh0JyxOb25lLCB1J0xvY2FsaXplZCBkZXNjcmlwdGlvbiBmb3IgdGhlIFByb2dyYW0gaWRlbnRpZmllci4nLCksCi0odSdQcm9nSWQnLHUnSWNvbl8nLHUnWScsTm9uZSwgTm9uZSwgdSdJY29uJywxLHUnSWRlbnRpZmllcicsTm9uZSwgdSdPcHRpb25hbCBmb3JlaWduIGtleSBpbnRvIHRoZSBJY29uIFRhYmxlLCBzcGVjaWZ5aW5nIHRoZSBpY29uIGZpbGUgYXNzb2NpYXRlZCB3aXRoIHRoaXMgUHJvZ0lkLiBXaWxsIGJlIHdyaXR0ZW4gdW5kZXIgdGhlIERlZmF1bHRJY29uIGtleS4nLCksCi0odSdQcm9nSWQnLHUnSWNvbkluZGV4Jyx1J1knLC0zMjc2NywzMjc2NyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J09wdGlvbmFsIGljb24gaW5kZXguJywpLAotKHUnUHJvZ0lkJyx1J1Byb2dJZCcsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RleHQnLE5vbmUsIHUnVGhlIFByb2dyYW0gSWRlbnRpZmllci4gUHJpbWFyeSBrZXkuJywpLAotKHUnUHJvZ0lkJyx1J0NsYXNzXycsdSdZJyxOb25lLCBOb25lLCB1J0NsYXNzJywxLHUnR3VpZCcsTm9uZSwgdSdUaGUgQ0xTSUQgb2YgYW4gT0xFIGZhY3RvcnkgY29ycmVzcG9uZGluZyB0byB0aGUgUHJvZ0lkLicsKSwKLSh1J1Byb2dJZCcsdSdQcm9nSWRfUGFyZW50Jyx1J1knLE5vbmUsIE5vbmUsIHUnUHJvZ0lkJywxLHUnVGV4dCcsTm9uZSwgdSdUaGUgUGFyZW50IFByb2dyYW0gSWRlbnRpZmllci4gSWYgc3BlY2lmaWVkLCB0aGUgUHJvZ0lkIGNvbHVtbiBiZWNvbWVzIGEgdmVyc2lvbiBpbmRlcGVuZGVudCBwcm9nIGlkLicsKSwKLSh1J0NvbWJvQm94Jyx1J1RleHQnLHUnWScsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdGb3JtYXR0ZWQnLE5vbmUsIHUnVGhlIHZpc2libGUgdGV4dCB0byBiZSBhc3NpZ25lZCB0byB0aGUgaXRlbS4gT3B0aW9uYWwuIElmIHRoaXMgZW50cnkgb3IgdGhlIGVudGlyZSBjb2x1bW4gaXMgbWlzc2luZywgdGhlIHRleHQgaXMgdGhlIHNhbWUgYXMgdGhlIHZhbHVlLicsKSwKLSh1J0NvbWJvQm94Jyx1J1Byb3BlcnR5Jyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsTm9uZSwgdSdBIG5hbWVkIHByb3BlcnR5IHRvIGJlIHRpZWQgdG8gdGhpcyBpdGVtLiBBbGwgdGhlIGl0ZW1zIHRpZWQgdG8gdGhlIHNhbWUgcHJvcGVydHkgYmVjb21lIHBhcnQgb2YgdGhlIHNhbWUgY29tYm9ib3guJywpLAotKHUnQ29tYm9Cb3gnLHUnVmFsdWUnLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdGb3JtYXR0ZWQnLE5vbmUsIHUnVGhlIHZhbHVlIHN0cmluZyBhc3NvY2lhdGVkIHdpdGggdGhpcyBpdGVtLiBTZWxlY3RpbmcgdGhlIGxpbmUgd2lsbCBzZXQgdGhlIGFzc29jaWF0ZWQgcHJvcGVydHkgdG8gdGhpcyB2YWx1ZS4nLCksCi0odSdDb21ib0JveCcsdSdPcmRlcicsdSdOJywxLDMyNzY3LE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnQSBwb3NpdGl2ZSBpbnRlZ2VyIHVzZWQgdG8gZGV0ZXJtaW5lIHRoZSBvcmRlcmluZyBvZiB0aGUgaXRlbXMgd2l0aGluIG9uZSBsaXN0Llx0VGhlIGludGVnZXJzIGRvIG5vdCBoYXZlIHRvIGJlIGNvbnNlY3V0aXZlLicsKSwKLSh1J0NvbXBMb2NhdG9yJyx1J1R5cGUnLHUnWScsMCwxLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnQSBib29sZWFuIHZhbHVlIHRoYXQgZGV0ZXJtaW5lcyBpZiB0aGUgcmVnaXN0cnkgdmFsdWUgaXMgYSBmaWxlbmFtZSBvciBhIGRpcmVjdG9yeSBsb2NhdGlvbi4nLCksCi0odSdDb21wTG9jYXRvcicsdSdTaWduYXR1cmVfJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsTm9uZSwgdSdUaGUgdGFibGUga2V5LiBUaGUgU2lnbmF0dXJlXyByZXByZXNlbnRzIGEgdW5pcXVlIGZpbGUgc2lnbmF0dXJlIGFuZCBpcyBhbHNvIHRoZSBmb3JlaWduIGtleSBpbiB0aGUgU2lnbmF0dXJlIHRhYmxlLicsKSwKLSh1J0NvbXBMb2NhdG9yJyx1J0NvbXBvbmVudElkJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnR3VpZCcsTm9uZSwgdSdBIHN0cmluZyBHVUlEIHVuaXF1ZSB0byB0aGlzIGNvbXBvbmVudCwgdmVyc2lvbiwgYW5kIGxhbmd1YWdlLicsKSwKLSh1J0NvbXBsdXMnLHUnQ29tcG9uZW50XycsdSdOJyxOb25lLCBOb25lLCB1J0NvbXBvbmVudCcsMSx1J0lkZW50aWZpZXInLE5vbmUsIHUnRm9yZWlnbiBrZXkgcmVmZXJlbmNpbmcgQ29tcG9uZW50IHRoYXQgY29udHJvbHMgdGhlIENvbVBsdXMgY29tcG9uZW50LicsKSwKLSh1J0NvbXBsdXMnLHUnRXhwVHlwZScsdSdZJywwLDMyNzY3LE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnQ29tUGx1cyBjb21wb25lbnQgYXR0cmlidXRlcy4nLCksCi0odSdEaXJlY3RvcnknLHUnRGlyZWN0b3J5Jyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsTm9uZSwgdSdVbmlxdWUgaWRlbnRpZmllciBmb3IgZGlyZWN0b3J5IGVudHJ5LCBwcmltYXJ5IGtleS4gSWYgYSBwcm9wZXJ0eSBieSB0aGlzIG5hbWUgaXMgZGVmaW5lZCwgaXQgY29udGFpbnMgdGhlIGZ1bGwgcGF0aCB0byB0aGUgZGlyZWN0b3J5LicsKSwKLSh1J0RpcmVjdG9yeScsdSdEZWZhdWx0RGlyJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRGVmYXVsdERpcicsTm9uZSwgdSJUaGUgZGVmYXVsdCBzdWItcGF0aCB1bmRlciBwYXJlbnQncyBwYXRoLiIsKSwKLSh1J0RpcmVjdG9yeScsdSdEaXJlY3RvcnlfUGFyZW50Jyx1J1knLE5vbmUsIE5vbmUsIHUnRGlyZWN0b3J5JywxLHUnSWRlbnRpZmllcicsTm9uZSwgdSdSZWZlcmVuY2UgdG8gdGhlIGVudHJ5IGluIHRoaXMgdGFibGUgc3BlY2lmeWluZyB0aGUgZGVmYXVsdCBwYXJlbnQgZGlyZWN0b3J5LiBBIHJlY29yZCBwYXJlbnRlZCB0byBpdHNlbGYgb3Igd2l0aCBhIE51bGwgcGFyZW50IHJlcHJlc2VudHMgYSByb290IG9mIHRoZSBpbnN0YWxsIHRyZWUuJywpLAotKHUnQ29udHJvbCcsdSdUeXBlJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsTm9uZSwgdSdUaGUgdHlwZSBvZiB0aGUgY29udHJvbC4nLCksCi0odSdDb250cm9sJyx1J1knLHUnTicsMCwzMjc2NyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1ZlcnRpY2FsIGNvb3JkaW5hdGUgb2YgdGhlIHVwcGVyIGxlZnQgY29ybmVyIG9mIHRoZSBib3VuZGluZyByZWN0YW5nbGUgb2YgdGhlIGNvbnRyb2wuJywpLAotKHUnQ29udHJvbCcsdSdUZXh0Jyx1J1knLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRm9ybWF0dGVkJyxOb25lLCB1J0Egc3RyaW5nIHVzZWQgdG8gc2V0IHRoZSBpbml0aWFsIHRleHQgY29udGFpbmVkIHdpdGhpbiBhIGNvbnRyb2wgKGlmIGFwcHJvcHJpYXRlKS4nLCksCi0odSdDb250cm9sJyx1J1Byb3BlcnR5Jyx1J1knLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsTm9uZSwgdSdUaGUgbmFtZSBvZiBhIGRlZmluZWQgcHJvcGVydHkgdG8gYmUgbGlua2VkIHRvIHRoaXMgY29udHJvbC4gJywpLAotKHUnQ29udHJvbCcsdSdBdHRyaWJ1dGVzJyx1J1knLDAsMjE0NzQ4MzY0NyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0EgMzItYml0IHdvcmQgdGhhdCBzcGVjaWZpZXMgdGhlIGF0dHJpYnV0ZSBmbGFncyB0byBiZSBhcHBsaWVkIHRvIHRoaXMgY29udHJvbC4nLCksCi0odSdDb250cm9sJyx1J0hlaWdodCcsdSdOJywwLDMyNzY3LE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSGVpZ2h0IG9mIHRoZSBib3VuZGluZyByZWN0YW5nbGUgb2YgdGhlIGNvbnRyb2wuJywpLAotKHUnQ29udHJvbCcsdSdXaWR0aCcsdSdOJywwLDMyNzY3LE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnV2lkdGggb2YgdGhlIGJvdW5kaW5nIHJlY3RhbmdsZSBvZiB0aGUgY29udHJvbC4nLCksCi0odSdDb250cm9sJyx1J1gnLHUnTicsMCwzMjc2NyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0hvcml6b250YWwgY29vcmRpbmF0ZSBvZiB0aGUgdXBwZXIgbGVmdCBjb3JuZXIgb2YgdGhlIGJvdW5kaW5nIHJlY3RhbmdsZSBvZiB0aGUgY29udHJvbC4nLCksCi0odSdDb250cm9sJyx1J0NvbnRyb2wnLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJyxOb25lLCB1J05hbWUgb2YgdGhlIGNvbnRyb2wuIFRoaXMgbmFtZSBtdXN0IGJlIHVuaXF1ZSB3aXRoaW4gYSBkaWFsb2csIGJ1dCBjYW4gcmVwZWF0IG9uIGRpZmZlcmVudCBkaWFsb2dzLiAnLCksCi0odSdDb250cm9sJyx1J0NvbnRyb2xfTmV4dCcsdSdZJyxOb25lLCBOb25lLCB1J0NvbnRyb2wnLDIsdSdJZGVudGlmaWVyJyxOb25lLCB1J1RoZSBuYW1lIG9mIGFuIG90aGVyIGNvbnRyb2wgb24gdGhlIHNhbWUgZGlhbG9nLiBUaGlzIGxpbmsgZGVmaW5lcyB0aGUgdGFiIG9yZGVyIG9mIHRoZSBjb250cm9scy4gVGhlIGxpbmtzIGhhdmUgdG8gZm9ybSBvbmUgb3IgbW9yZSBjeWNsZXMhJywpLAotKHUnQ29udHJvbCcsdSdEaWFsb2dfJyx1J04nLE5vbmUsIE5vbmUsIHUnRGlhbG9nJywxLHUnSWRlbnRpZmllcicsTm9uZSwgdSdFeHRlcm5hbCBrZXkgdG8gdGhlIERpYWxvZyB0YWJsZSwgbmFtZSBvZiB0aGUgZGlhbG9nLicsKSwKLSh1J0NvbnRyb2wnLHUnSGVscCcsdSdZJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RleHQnLE5vbmUsIHUnVGhlIGhlbHAgc3RyaW5ncyB1c2VkIHdpdGggdGhlIGJ1dHRvbi4gVGhlIHRleHQgaXMgb3B0aW9uYWwuICcsKSwKLSh1J0RpYWxvZycsdSdBdHRyaWJ1dGVzJyx1J1knLDAsMjE0NzQ4MzY0NyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0EgMzItYml0IHdvcmQgdGhhdCBzcGVjaWZpZXMgdGhlIGF0dHJpYnV0ZSBmbGFncyB0byBiZSBhcHBsaWVkIHRvIHRoaXMgZGlhbG9nLicsKSwKLSh1J0RpYWxvZycsdSdIZWlnaHQnLHUnTicsMCwzMjc2NyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0hlaWdodCBvZiB0aGUgYm91bmRpbmcgcmVjdGFuZ2xlIG9mIHRoZSBkaWFsb2cuJywpLAotKHUnRGlhbG9nJyx1J1dpZHRoJyx1J04nLDAsMzI3NjcsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdXaWR0aCBvZiB0aGUgYm91bmRpbmcgcmVjdGFuZ2xlIG9mIHRoZSBkaWFsb2cuJywpLAotKHUnRGlhbG9nJyx1J0RpYWxvZycsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLE5vbmUsIHUnTmFtZSBvZiB0aGUgZGlhbG9nLicsKSwKLSh1J0RpYWxvZycsdSdDb250cm9sX0NhbmNlbCcsdSdZJyxOb25lLCBOb25lLCB1J0NvbnRyb2wnLDIsdSdJZGVudGlmaWVyJyxOb25lLCB1J0RlZmluZXMgdGhlIGNhbmNlbCBjb250cm9sLiBIaXR0aW5nIGVzY2FwZSBvciBjbGlja2luZyBvbiB0aGUgY2xvc2UgaWNvbiBvbiB0aGUgZGlhbG9nIGlzIGVxdWl2YWxlbnQgdG8gcHVzaGluZyB0aGlzIGJ1dHRvbi4nLCksCi0odSdEaWFsb2cnLHUnQ29udHJvbF9EZWZhdWx0Jyx1J1knLE5vbmUsIE5vbmUsIHUnQ29udHJvbCcsMix1J0lkZW50aWZpZXInLE5vbmUsIHUnRGVmaW5lcyB0aGUgZGVmYXVsdCBjb250cm9sLiBIaXR0aW5nIHJldHVybiBpcyBlcXVpdmFsZW50IHRvIHB1c2hpbmcgdGhpcyBidXR0b24uJywpLAotKHUnRGlhbG9nJyx1J0NvbnRyb2xfRmlyc3QnLHUnTicsTm9uZSwgTm9uZSwgdSdDb250cm9sJywyLHUnSWRlbnRpZmllcicsTm9uZSwgdSdEZWZpbmVzIHRoZSBjb250cm9sIHRoYXQgaGFzIHRoZSBmb2N1cyB3aGVuIHRoZSBkaWFsb2cgaXMgY3JlYXRlZC4nLCksCi0odSdEaWFsb2cnLHUnSENlbnRlcmluZycsdSdOJywwLDEwMCxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0hvcml6b250YWwgcG9zaXRpb24gb2YgdGhlIGRpYWxvZyBvbiBhIDAtMTAwIHNjYWxlLiAwIG1lYW5zIGxlZnQgZW5kLCAxMDAgbWVhbnMgcmlnaHQgZW5kIG9mIHRoZSBzY3JlZW4sIDUwIGNlbnRlci4nLCksCi0odSdEaWFsb2cnLHUnVGl0bGUnLHUnWScsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdGb3JtYXR0ZWQnLE5vbmUsIHUiQSB0ZXh0IHN0cmluZyBzcGVjaWZ5aW5nIHRoZSB0aXRsZSB0byBiZSBkaXNwbGF5ZWQgaW4gdGhlIHRpdGxlIGJhciBvZiB0aGUgZGlhbG9nJ3Mgd2luZG93LiIsKSwKLSh1J0RpYWxvZycsdSdWQ2VudGVyaW5nJyx1J04nLDAsMTAwLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVmVydGljYWwgcG9zaXRpb24gb2YgdGhlIGRpYWxvZyBvbiBhIDAtMTAwIHNjYWxlLiAwIG1lYW5zIHRvcCBlbmQsIDEwMCBtZWFucyBib3R0b20gZW5kIG9mIHRoZSBzY3JlZW4sIDUwIGNlbnRlci4nLCksCi0odSdDb250cm9sQ29uZGl0aW9uJyx1J0FjdGlvbicsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0RlZmF1bHQ7RGlzYWJsZTtFbmFibGU7SGlkZTtTaG93Jyx1J1RoZSBkZXNpcmVkIGFjdGlvbiB0byBiZSB0YWtlbiBvbiB0aGUgc3BlY2lmaWVkIGNvbnRyb2wuJywpLAotKHUnQ29udHJvbENvbmRpdGlvbicsdSdDb25kaXRpb24nLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdDb25kaXRpb24nLE5vbmUsIHUnQSBzdGFuZGFyZCBjb25kaXRpb25hbCBzdGF0ZW1lbnQgdGhhdCBzcGVjaWZpZXMgdW5kZXIgd2hpY2ggY29uZGl0aW9ucyB0aGUgYWN0aW9uIHNob3VsZCBiZSB0cmlnZ2VyZWQuJywpLAotKHUnQ29udHJvbENvbmRpdGlvbicsdSdEaWFsb2dfJyx1J04nLE5vbmUsIE5vbmUsIHUnRGlhbG9nJywxLHUnSWRlbnRpZmllcicsTm9uZSwgdSdBIGZvcmVpZ24ga2V5IHRvIHRoZSBEaWFsb2cgdGFibGUsIG5hbWUgb2YgdGhlIGRpYWxvZy4nLCksCi0odSdDb250cm9sQ29uZGl0aW9uJyx1J0NvbnRyb2xfJyx1J04nLE5vbmUsIE5vbmUsIHUnQ29udHJvbCcsMix1J0lkZW50aWZpZXInLE5vbmUsIHUnQSBmb3JlaWduIGtleSB0byB0aGUgQ29udHJvbCB0YWJsZSwgbmFtZSBvZiB0aGUgY29udHJvbC4nLCksCi0odSdDb250cm9sRXZlbnQnLHUnQ29uZGl0aW9uJyx1J1knLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnQ29uZGl0aW9uJyxOb25lLCB1J0Egc3RhbmRhcmQgY29uZGl0aW9uYWwgc3RhdGVtZW50IHRoYXQgc3BlY2lmaWVzIHVuZGVyIHdoaWNoIGNvbmRpdGlvbnMgYW4gZXZlbnQgc2hvdWxkIGJlIHRyaWdnZXJlZC4nLCksCi0odSdDb250cm9sRXZlbnQnLHUnT3JkZXJpbmcnLHUnWScsMCwyMTQ3NDgzNjQ3LE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnQW4gaW50ZWdlciB1c2VkIHRvIG9yZGVyIHNldmVyYWwgZXZlbnRzIHRpZWQgdG8gdGhlIHNhbWUgY29udHJvbC4gQ2FuIGJlIGxlZnQgYmxhbmsuJywpLAotKHUnQ29udHJvbEV2ZW50Jyx1J0FyZ3VtZW50Jyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRm9ybWF0dGVkJyxOb25lLCB1J0EgdmFsdWUgdG8gYmUgdXNlZCBhcyBhIG1vZGlmaWVyIHdoZW4gdHJpZ2dlcmluZyBhIHBhcnRpY3VsYXIgZXZlbnQuJywpLAotKHUnQ29udHJvbEV2ZW50Jyx1J0RpYWxvZ18nLHUnTicsTm9uZSwgTm9uZSwgdSdEaWFsb2cnLDEsdSdJZGVudGlmaWVyJyxOb25lLCB1J0EgZm9yZWlnbiBrZXkgdG8gdGhlIERpYWxvZyB0YWJsZSwgbmFtZSBvZiB0aGUgZGlhbG9nLicsKSwKLSh1J0NvbnRyb2xFdmVudCcsdSdDb250cm9sXycsdSdOJyxOb25lLCBOb25lLCB1J0NvbnRyb2wnLDIsdSdJZGVudGlmaWVyJyxOb25lLCB1J0EgZm9yZWlnbiBrZXkgdG8gdGhlIENvbnRyb2wgdGFibGUsIG5hbWUgb2YgdGhlIGNvbnRyb2wnLCksCi0odSdDb250cm9sRXZlbnQnLHUnRXZlbnQnLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdGb3JtYXR0ZWQnLE5vbmUsIHUnQW4gaWRlbnRpZmllciB0aGF0IHNwZWNpZmllcyB0aGUgdHlwZSBvZiB0aGUgZXZlbnQgdGhhdCBzaG91bGQgdGFrZSBwbGFjZSB3aGVuIHRoZSB1c2VyIGludGVyYWN0cyB3aXRoIGNvbnRyb2wgc3BlY2lmaWVkIGJ5IHRoZSBmaXJzdCB0d28gZW50cmllcy4nLCksCi0odSdDcmVhdGVGb2xkZXInLHUnQ29tcG9uZW50XycsdSdOJyxOb25lLCBOb25lLCB1J0NvbXBvbmVudCcsMSx1J0lkZW50aWZpZXInLE5vbmUsIHUnRm9yZWlnbiBrZXkgaW50byB0aGUgQ29tcG9uZW50IHRhYmxlLicsKSwKLSh1J0NyZWF0ZUZvbGRlcicsdSdEaXJlY3RvcnlfJyx1J04nLE5vbmUsIE5vbmUsIHUnRGlyZWN0b3J5JywxLHUnSWRlbnRpZmllcicsTm9uZSwgdSdQcmltYXJ5IGtleSwgY291bGQgYmUgZm9yZWlnbiBrZXkgaW50byB0aGUgRGlyZWN0b3J5IHRhYmxlLicsKSwKLSh1J0N1c3RvbUFjdGlvbicsdSdUeXBlJyx1J04nLDEsMTYzODMsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUaGUgbnVtZXJpYyBjdXN0b20gYWN0aW9uIHR5cGUsIGNvbnNpc3Rpbmcgb2Ygc291cmNlIGxvY2F0aW9uLCBjb2RlIHR5cGUsIGVudHJ5LCBvcHRpb24gZmxhZ3MuJywpLAotKHUnQ3VzdG9tQWN0aW9uJyx1J0FjdGlvbicsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLE5vbmUsIHUnUHJpbWFyeSBrZXksIG5hbWUgb2YgYWN0aW9uLCBub3JtYWxseSBhcHBlYXJzIGluIHNlcXVlbmNlIHRhYmxlIHVubGVzcyBwcml2YXRlIHVzZS4nLCksCi0odSdDdXN0b21BY3Rpb24nLHUnU291cmNlJyx1J1knLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnQ3VzdG9tU291cmNlJyxOb25lLCB1J1RoZSB0YWJsZSByZWZlcmVuY2Ugb2YgdGhlIHNvdXJjZSBvZiB0aGUgY29kZS4nLCksCi0odSdDdXN0b21BY3Rpb24nLHUnVGFyZ2V0Jyx1J1knLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRm9ybWF0dGVkJyxOb25lLCB1J0V4Y2VjdXRpb24gcGFyYW1ldGVyLCBkZXBlbmRzIG9uIHRoZSB0eXBlIG9mIGN1c3RvbSBhY3Rpb24nLCksCi0odSdEckxvY2F0b3InLHUnU2lnbmF0dXJlXycsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLE5vbmUsIHUnVGhlIFNpZ25hdHVyZV8gcmVwcmVzZW50cyBhIHVuaXF1ZSBmaWxlIHNpZ25hdHVyZSBhbmQgaXMgYWxzbyB0aGUgZm9yZWlnbiBrZXkgaW4gdGhlIFNpZ25hdHVyZSB0YWJsZS4nLCksCi0odSdEckxvY2F0b3InLHUnUGF0aCcsdSdZJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0FueVBhdGgnLE5vbmUsIHUnVGhlIHBhdGggb24gdGhlIHVzZXIgc3lzdGVtLiBUaGlzIGlzIGEgZWl0aGVyIGEgc3VicGF0aCBiZWxvdyB0aGUgdmFsdWUgb2YgdGhlIFBhcmVudCBvciBhIGZ1bGwgcGF0aC4gVGhlIHBhdGggbWF5IGNvbnRhaW4gcHJvcGVydGllcyBlbmNsb3NlZCB3aXRoaW4gWyBdIHRoYXQgd2lsbCBiZSBleHBhbmRlZC4nLCksCi0odSdEckxvY2F0b3InLHUnRGVwdGgnLHUnWScsMCwzMjc2NyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RoZSBkZXB0aCBiZWxvdyB0aGUgcGF0aCB0byB3aGljaCB0aGUgU2lnbmF0dXJlXyBpcyByZWN1cnNpdmVseSBzZWFyY2hlZC4gSWYgYWJzZW50LCB0aGUgZGVwdGggaXMgYXNzdW1lZCB0byBiZSAwLicsKSwKLSh1J0RyTG9jYXRvcicsdSdQYXJlbnQnLHUnWScsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJyxOb25lLCB1J1RoZSBwYXJlbnQgZmlsZSBzaWduYXR1cmUuIEl0IGlzIGFsc28gYSBmb3JlaWduIGtleSBpbiB0aGUgU2lnbmF0dXJlIHRhYmxlLiBJZiBudWxsIGFuZCB0aGUgUGF0aCBjb2x1bW4gZG9lcyBub3QgZXhwYW5kIHRvIGEgZnVsbCBwYXRoLCB0aGVuIGFsbCB0aGUgZml4ZWQgZHJpdmVzIG9mIHRoZSB1c2VyIHN5c3RlbSBhcmUgc2VhcmNoZWQgdXNpbmcgdGhlIFBhdGguJywpLAotKHUnRHVwbGljYXRlRmlsZScsdSdGaWxlXycsdSdOJyxOb25lLCBOb25lLCB1J0ZpbGUnLDEsdSdJZGVudGlmaWVyJyxOb25lLCB1J0ZvcmVpZ24ga2V5IHJlZmVyZW5jaW5nIHRoZSBzb3VyY2UgZmlsZSB0byBiZSBkdXBsaWNhdGVkLicsKSwKLSh1J0R1cGxpY2F0ZUZpbGUnLHUnQ29tcG9uZW50XycsdSdOJyxOb25lLCBOb25lLCB1J0NvbXBvbmVudCcsMSx1J0lkZW50aWZpZXInLE5vbmUsIHUnRm9yZWlnbiBrZXkgcmVmZXJlbmNpbmcgQ29tcG9uZW50IHRoYXQgY29udHJvbHMgdGhlIGR1cGxpY2F0ZSBmaWxlLicsKSwKLSh1J0R1cGxpY2F0ZUZpbGUnLHUnRGVzdEZvbGRlcicsdSdZJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLE5vbmUsIHUnTmFtZSBvZiBhIHByb3BlcnR5IHdob3NlIHZhbHVlIGlzIGFzc3VtZWQgdG8gcmVzb2x2ZSB0byB0aGUgZnVsbCBwYXRobmFtZSB0byBhIGRlc3RpbmF0aW9uIGZvbGRlci4nLCksCi0odSdEdXBsaWNhdGVGaWxlJyx1J0Rlc3ROYW1lJyx1J1knLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRmlsZW5hbWUnLE5vbmUsIHUnRmlsZW5hbWUgdG8gYmUgZ2l2ZW4gdG8gdGhlIGR1cGxpY2F0ZSBmaWxlLicsKSwKLSh1J0R1cGxpY2F0ZUZpbGUnLHUnRmlsZUtleScsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLE5vbmUsIHUnUHJpbWFyeSBrZXkgdXNlZCB0byBpZGVudGlmeSBhIHBhcnRpY3VsYXIgZmlsZSBlbnRyeScsKSwKLSh1J0Vudmlyb25tZW50Jyx1J05hbWUnLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUZXh0JyxOb25lLCB1J1RoZSBuYW1lIG9mIHRoZSBlbnZpcm9ubWVudGFsIHZhbHVlLicsKSwKLSh1J0Vudmlyb25tZW50Jyx1J1ZhbHVlJyx1J1knLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRm9ybWF0dGVkJyxOb25lLCB1J1RoZSB2YWx1ZSB0byBzZXQgaW4gdGhlIGVudmlyb25tZW50YWwgc2V0dGluZ3MuJywpLAotKHUnRW52aXJvbm1lbnQnLHUnQ29tcG9uZW50XycsdSdOJyxOb25lLCBOb25lLCB1J0NvbXBvbmVudCcsMSx1J0lkZW50aWZpZXInLE5vbmUsIHUnRm9yZWlnbiBrZXkgaW50byB0aGUgQ29tcG9uZW50IHRhYmxlIHJlZmVyZW5jaW5nIGNvbXBvbmVudCB0aGF0IGNvbnRyb2xzIHRoZSBpbnN0YWxsaW5nIG9mIHRoZSBlbnZpcm9ubWVudGFsIHZhbHVlLicsKSwKLSh1J0Vudmlyb25tZW50Jyx1J0Vudmlyb25tZW50Jyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsTm9uZSwgdSdVbmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIGVudmlyb25tZW50YWwgdmFyaWFibGUgc2V0dGluZycsKSwKLSh1J0Vycm9yJyx1J0Vycm9yJyx1J04nLDAsMzI3NjcsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJbnRlZ2VyIGVycm9yIG51bWJlciwgb2J0YWluZWQgZnJvbSBoZWFkZXIgZmlsZSBJRXJyb3IoLi4uKSBtYWNyb3MuJywpLAotKHUnRXJyb3InLHUnTWVzc2FnZScsdSdZJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RlbXBsYXRlJyxOb25lLCB1J0Vycm9yIGZvcm1hdHRpbmcgdGVtcGxhdGUsIG9idGFpbmVkIGZyb20gdXNlciBlZC4gb3IgbG9jYWxpemVycy4nLCksCi0odSdFdmVudE1hcHBpbmcnLHUnRGlhbG9nXycsdSdOJyxOb25lLCBOb25lLCB1J0RpYWxvZycsMSx1J0lkZW50aWZpZXInLE5vbmUsIHUnQSBmb3JlaWduIGtleSB0byB0aGUgRGlhbG9nIHRhYmxlLCBuYW1lIG9mIHRoZSBEaWFsb2cuJywpLAotKHUnRXZlbnRNYXBwaW5nJyx1J0NvbnRyb2xfJyx1J04nLE5vbmUsIE5vbmUsIHUnQ29udHJvbCcsMix1J0lkZW50aWZpZXInLE5vbmUsIHUnQSBmb3JlaWduIGtleSB0byB0aGUgQ29udHJvbCB0YWJsZSwgbmFtZSBvZiB0aGUgY29udHJvbC4nLCksCi0odSdFdmVudE1hcHBpbmcnLHUnRXZlbnQnLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJyxOb25lLCB1J0FuIGlkZW50aWZpZXIgdGhhdCBzcGVjaWZpZXMgdGhlIHR5cGUgb2YgdGhlIGV2ZW50IHRoYXQgdGhlIGNvbnRyb2wgc3Vic2NyaWJlcyB0by4nLCksCi0odSdFdmVudE1hcHBpbmcnLHUnQXR0cmlidXRlJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsTm9uZSwgdSdUaGUgbmFtZSBvZiB0aGUgY29udHJvbCBhdHRyaWJ1dGUsIHRoYXQgaXMgc2V0IHdoZW4gdGhpcyBldmVudCBpcyByZWNlaXZlZC4nLCksCi0odSdFeHRlbnNpb24nLHUnRmVhdHVyZV8nLHUnTicsTm9uZSwgTm9uZSwgdSdGZWF0dXJlJywxLHUnSWRlbnRpZmllcicsTm9uZSwgdSdSZXF1aXJlZCBmb3JlaWduIGtleSBpbnRvIHRoZSBGZWF0dXJlIFRhYmxlLCBzcGVjaWZ5aW5nIHRoZSBmZWF0dXJlIHRvIHZhbGlkYXRlIG9yIGluc3RhbGwgaW4gb3JkZXIgZm9yIHRoZSBDTFNJRCBmYWN0b3J5IHRvIGJlIG9wZXJhdGlvbmFsLicsKSwKLSh1J0V4dGVuc2lvbicsdSdDb21wb25lbnRfJyx1J04nLE5vbmUsIE5vbmUsIHUnQ29tcG9uZW50JywxLHUnSWRlbnRpZmllcicsTm9uZSwgdSdSZXF1aXJlZCBmb3JlaWduIGtleSBpbnRvIHRoZSBDb21wb25lbnQgVGFibGUsIHNwZWNpZnlpbmcgdGhlIGNvbXBvbmVudCBmb3Igd2hpY2ggdG8gcmV0dXJuIGEgcGF0aCB3aGVuIGNhbGxlZCB0aHJvdWdoIExvY2F0ZUNvbXBvbmVudC4nLCksCi0odSdFeHRlbnNpb24nLHUnRXh0ZW5zaW9uJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGV4dCcsTm9uZSwgdSdUaGUgZXh0ZW5zaW9uIGFzc29jaWF0ZWQgd2l0aCB0aGUgdGFibGUgcm93LicsKSwKLSh1J0V4dGVuc2lvbicsdSdNSU1FXycsdSdZJyxOb25lLCBOb25lLCB1J01JTUUnLDEsdSdUZXh0JyxOb25lLCB1J09wdGlvbmFsIENvbnRleHQgaWRlbnRpZmllciwgdHlwaWNhbGx5ICJ0eXBlL2Zvcm1hdCIgYXNzb2NpYXRlZCB3aXRoIHRoZSBleHRlbnNpb24nLCksCi0odSdFeHRlbnNpb24nLHUnUHJvZ0lkXycsdSdZJyxOb25lLCBOb25lLCB1J1Byb2dJZCcsMSx1J1RleHQnLE5vbmUsIHUnT3B0aW9uYWwgUHJvZ0lkIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGV4dGVuc2lvbi4nLCksCi0odSdNSU1FJyx1J0NMU0lEJyx1J1knLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnR3VpZCcsTm9uZSwgdSdPcHRpb25hbCBhc3NvY2lhdGVkIENMU0lELicsKSwKLSh1J01JTUUnLHUnQ29udGVudFR5cGUnLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUZXh0JyxOb25lLCB1J1ByaW1hcnkga2V5LiBDb250ZXh0IGlkZW50aWZpZXIsIHR5cGljYWxseSAidHlwZS9mb3JtYXQiLicsKSwKLSh1J01JTUUnLHUnRXh0ZW5zaW9uXycsdSdOJyxOb25lLCBOb25lLCB1J0V4dGVuc2lvbicsMSx1J1RleHQnLE5vbmUsIHUnT3B0aW9uYWwgYXNzb2NpYXRlZCBleHRlbnNpb24gKHdpdGhvdXQgZG90KScsKSwKLSh1J0ZlYXR1cmVDb21wb25lbnRzJyx1J0ZlYXR1cmVfJyx1J04nLE5vbmUsIE5vbmUsIHUnRmVhdHVyZScsMSx1J0lkZW50aWZpZXInLE5vbmUsIHUnRm9yZWlnbiBrZXkgaW50byBGZWF0dXJlIHRhYmxlLicsKSwKLSh1J0ZlYXR1cmVDb21wb25lbnRzJyx1J0NvbXBvbmVudF8nLHUnTicsTm9uZSwgTm9uZSwgdSdDb21wb25lbnQnLDEsdSdJZGVudGlmaWVyJyxOb25lLCB1J0ZvcmVpZ24ga2V5IGludG8gQ29tcG9uZW50IHRhYmxlLicsKSwKLSh1J0ZpbGVTRlBDYXRhbG9nJyx1J0ZpbGVfJyx1J04nLE5vbmUsIE5vbmUsIHUnRmlsZScsMSx1J0lkZW50aWZpZXInLE5vbmUsIHUnRmlsZSBhc3NvY2lhdGVkIHdpdGggdGhlIGNhdGFsb2cnLCksCi0odSdGaWxlU0ZQQ2F0YWxvZycsdSdTRlBDYXRhbG9nXycsdSdOJyxOb25lLCBOb25lLCB1J1NGUENhdGFsb2cnLDEsdSdGaWxlbmFtZScsTm9uZSwgdSdDYXRhbG9nIGFzc29jaWF0ZWQgd2l0aCB0aGUgZmlsZScsKSwKLSh1J1NGUENhdGFsb2cnLHUnU0ZQQ2F0YWxvZycsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0ZpbGVuYW1lJyxOb25lLCB1J0ZpbGUgbmFtZSBmb3IgdGhlIGNhdGFsb2cuJywpLAotKHUnU0ZQQ2F0YWxvZycsdSdDYXRhbG9nJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnQmluYXJ5JyxOb25lLCB1J1NGUCBDYXRhbG9nJywpLAotKHUnU0ZQQ2F0YWxvZycsdSdEZXBlbmRlbmN5Jyx1J1knLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRm9ybWF0dGVkJyxOb25lLCB1J1BhcmVudCBjYXRhbG9nIC0gb25seSB1c2VkIGJ5IFNGUCcsKSwKLSh1J0ZvbnQnLHUnRmlsZV8nLHUnTicsTm9uZSwgTm9uZSwgdSdGaWxlJywxLHUnSWRlbnRpZmllcicsTm9uZSwgdSdQcmltYXJ5IGtleSwgZm9yZWlnbiBrZXkgaW50byBGaWxlIHRhYmxlIHJlZmVyZW5jaW5nIGZvbnQgZmlsZS4nLCksCi0odSdGb250Jyx1J0ZvbnRUaXRsZScsdSdZJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RleHQnLE5vbmUsIHUnRm9udCBuYW1lLicsKSwKLSh1J0luaUZpbGUnLHUnQWN0aW9uJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnMDsxOzMnLHUnVGhlIHR5cGUgb2YgbW9kaWZpY2F0aW9uIHRvIGJlIG1hZGUsIG9uZSBvZiBpaWZFbnVtJywpLAotKHUnSW5pRmlsZScsdSdWYWx1ZScsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0Zvcm1hdHRlZCcsTm9uZSwgdSdUaGUgdmFsdWUgdG8gYmUgd3JpdHRlbi4nLCksCi0odSdJbmlGaWxlJyx1J0NvbXBvbmVudF8nLHUnTicsTm9uZSwgTm9uZSwgdSdDb21wb25lbnQnLDEsdSdJZGVudGlmaWVyJyxOb25lLCB1J0ZvcmVpZ24ga2V5IGludG8gdGhlIENvbXBvbmVudCB0YWJsZSByZWZlcmVuY2luZyBjb21wb25lbnQgdGhhdCBjb250cm9scyB0aGUgaW5zdGFsbGluZyBvZiB0aGUgLklOSSB2YWx1ZS4nLCksCi0odSdJbmlGaWxlJyx1J0ZpbGVOYW1lJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRmlsZW5hbWUnLE5vbmUsIHUnVGhlIC5JTkkgZmlsZSBuYW1lIGluIHdoaWNoIHRvIHdyaXRlIHRoZSBpbmZvcm1hdGlvbicsKSwKLSh1J0luaUZpbGUnLHUnSW5pRmlsZScsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLE5vbmUsIHUnUHJpbWFyeSBrZXksIG5vbi1sb2NhbGl6ZWQgdG9rZW4uJywpLAotKHUnSW5pRmlsZScsdSdEaXJQcm9wZXJ0eScsdSdZJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLE5vbmUsIHUnRm9yZWlnbiBrZXkgaW50byB0aGUgRGlyZWN0b3J5IHRhYmxlIGRlbm90aW5nIHRoZSBkaXJlY3Rvcnkgd2hlcmUgdGhlIC5JTkkgZmlsZSBpcy4nLCksCi0odSdJbmlGaWxlJyx1J0tleScsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0Zvcm1hdHRlZCcsTm9uZSwgdSdUaGUgLklOSSBmaWxlIGtleSBiZWxvdyBTZWN0aW9uLicsKSwKLSh1J0luaUZpbGUnLHUnU2VjdGlvbicsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0Zvcm1hdHRlZCcsTm9uZSwgdSdUaGUgLklOSSBmaWxlIFNlY3Rpb24uJywpLAotKHUnSW5pTG9jYXRvcicsdSdUeXBlJyx1J1knLDAsMixOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0FuIGludGVnZXIgdmFsdWUgdGhhdCBkZXRlcm1pbmVzIGlmIHRoZSAuSU5JIHZhbHVlIHJlYWQgaXMgYSBmaWxlbmFtZSBvciBhIGRpcmVjdG9yeSBsb2NhdGlvbiBvciB0byBiZSB1c2VkIGFzIGlzIHcvbyBpbnRlcnByZXRhdGlvbi4nLCksCi0odSdJbmlMb2NhdG9yJyx1J1NpZ25hdHVyZV8nLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJyxOb25lLCB1J1RoZSB0YWJsZSBrZXkuIFRoZSBTaWduYXR1cmVfIHJlcHJlc2VudHMgYSB1bmlxdWUgZmlsZSBzaWduYXR1cmUgYW5kIGlzIGFsc28gdGhlIGZvcmVpZ24ga2V5IGluIHRoZSBTaWduYXR1cmUgdGFibGUuJywpLAotKHUnSW5pTG9jYXRvcicsdSdGaWxlTmFtZScsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0ZpbGVuYW1lJyxOb25lLCB1J1RoZSAuSU5JIGZpbGUgbmFtZS4nLCksCi0odSdJbmlMb2NhdG9yJyx1J0tleScsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RleHQnLE5vbmUsIHUnS2V5IHZhbHVlIChmb2xsb3dlZCBieSBhbiBlcXVhbHMgc2lnbiBpbiBJTkkgZmlsZSkuJywpLAotKHUnSW5pTG9jYXRvcicsdSdTZWN0aW9uJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGV4dCcsTm9uZSwgdSdTZWN0aW9uIG5hbWUgd2l0aGluIGluIGZpbGUgKHdpdGhpbiBzcXVhcmUgYnJhY2tldHMgaW4gSU5JIGZpbGUpLicsKSwKLSh1J0luaUxvY2F0b3InLHUnRmllbGQnLHUnWScsMCwzMjc2NyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RoZSBmaWVsZCBpbiB0aGUgLklOSSBsaW5lLiBJZiBGaWVsZCBpcyBudWxsIG9yIDAgdGhlIGVudGlyZSBsaW5lIGlzIHJlYWQuJywpLAotKHUnSW5zdGFsbEV4ZWN1dGVTZXF1ZW5jZScsdSdBY3Rpb24nLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJyxOb25lLCB1J05hbWUgb2YgYWN0aW9uIHRvIGludm9rZSwgZWl0aGVyIGluIHRoZSBlbmdpbmUgb3IgdGhlIGhhbmRsZXIgRExMLicsKSwKLSh1J0luc3RhbGxFeGVjdXRlU2VxdWVuY2UnLHUnQ29uZGl0aW9uJyx1J1knLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnQ29uZGl0aW9uJyxOb25lLCB1J09wdGlvbmFsIGV4cHJlc3Npb24gd2hpY2ggc2tpcHMgdGhlIGFjdGlvbiBpZiBldmFsdWF0ZXMgdG8gZXhwRmFsc2UuSWYgdGhlIGV4cHJlc3Npb24gc3ludGF4IGlzIGludmFsaWQsIHRoZSBlbmdpbmUgd2lsbCB0ZXJtaW5hdGUsIHJldHVybmluZyBpZXNCYWRBY3Rpb25EYXRhLicsKSwKLSh1J0luc3RhbGxFeGVjdXRlU2VxdWVuY2UnLHUnU2VxdWVuY2UnLHUnWScsLTQsMzI3NjcsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdOdW1iZXIgdGhhdCBkZXRlcm1pbmVzIHRoZSBzb3J0IG9yZGVyIGluIHdoaWNoIHRoZSBhY3Rpb25zIGFyZSB0byBiZSBleGVjdXRlZC4gIExlYXZlIGJsYW5rIHRvIHN1cHByZXNzIGFjdGlvbi4nLCksCi0odSdJbnN0YWxsVUlTZXF1ZW5jZScsdSdBY3Rpb24nLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJyxOb25lLCB1J05hbWUgb2YgYWN0aW9uIHRvIGludm9rZSwgZWl0aGVyIGluIHRoZSBlbmdpbmUgb3IgdGhlIGhhbmRsZXIgRExMLicsKSwKLSh1J0luc3RhbGxVSVNlcXVlbmNlJyx1J0NvbmRpdGlvbicsdSdZJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0NvbmRpdGlvbicsTm9uZSwgdSdPcHRpb25hbCBleHByZXNzaW9uIHdoaWNoIHNraXBzIHRoZSBhY3Rpb24gaWYgZXZhbHVhdGVzIHRvIGV4cEZhbHNlLklmIHRoZSBleHByZXNzaW9uIHN5bnRheCBpcyBpbnZhbGlkLCB0aGUgZW5naW5lIHdpbGwgdGVybWluYXRlLCByZXR1cm5pbmcgaWVzQmFkQWN0aW9uRGF0YS4nLCksCi0odSdJbnN0YWxsVUlTZXF1ZW5jZScsdSdTZXF1ZW5jZScsdSdZJywtNCwzMjc2NyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J051bWJlciB0aGF0IGRldGVybWluZXMgdGhlIHNvcnQgb3JkZXIgaW4gd2hpY2ggdGhlIGFjdGlvbnMgYXJlIHRvIGJlIGV4ZWN1dGVkLiAgTGVhdmUgYmxhbmsgdG8gc3VwcHJlc3MgYWN0aW9uLicsKSwKLSh1J0lzb2xhdGVkQ29tcG9uZW50Jyx1J0NvbXBvbmVudF9BcHBsaWNhdGlvbicsdSdOJyxOb25lLCBOb25lLCB1J0NvbXBvbmVudCcsMSx1J0lkZW50aWZpZXInLE5vbmUsIHUnS2V5IHRvIENvbXBvbmVudCB0YWJsZSBpdGVtIGZvciBhcHBsaWNhdGlvbicsKSwKLSh1J0lzb2xhdGVkQ29tcG9uZW50Jyx1J0NvbXBvbmVudF9TaGFyZWQnLHUnTicsTm9uZSwgTm9uZSwgdSdDb21wb25lbnQnLDEsdSdJZGVudGlmaWVyJyxOb25lLCB1J0tleSB0byBDb21wb25lbnQgdGFibGUgaXRlbSB0byBiZSBpc29sYXRlZCcsKSwKLSh1J0xhdW5jaENvbmRpdGlvbicsdSdEZXNjcmlwdGlvbicsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0Zvcm1hdHRlZCcsTm9uZSwgdSdMb2NhbGl6YWJsZSB0ZXh0IHRvIGRpc3BsYXkgd2hlbiBjb25kaXRpb24gZmFpbHMgYW5kIGluc3RhbGwgbXVzdCBhYm9ydC4nLCksCi0odSdMYXVuY2hDb25kaXRpb24nLHUnQ29uZGl0aW9uJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnQ29uZGl0aW9uJyxOb25lLCB1J0V4cHJlc3Npb24gd2hpY2ggbXVzdCBldmFsdWF0ZSB0byBUUlVFIGluIG9yZGVyIGZvciBpbnN0YWxsIHRvIGNvbW1lbmNlLicsKSwKLSh1J0xpc3RCb3gnLHUnVGV4dCcsdSdZJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RleHQnLE5vbmUsIHUnVGhlIHZpc2libGUgdGV4dCB0byBiZSBhc3NpZ25lZCB0byB0aGUgaXRlbS4gT3B0aW9uYWwuIElmIHRoaXMgZW50cnkgb3IgdGhlIGVudGlyZSBjb2x1bW4gaXMgbWlzc2luZywgdGhlIHRleHQgaXMgdGhlIHNhbWUgYXMgdGhlIHZhbHVlLicsKSwKLSh1J0xpc3RCb3gnLHUnUHJvcGVydHknLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJyxOb25lLCB1J0EgbmFtZWQgcHJvcGVydHkgdG8gYmUgdGllZCB0byB0aGlzIGl0ZW0uIEFsbCB0aGUgaXRlbXMgdGllZCB0byB0aGUgc2FtZSBwcm9wZXJ0eSBiZWNvbWUgcGFydCBvZiB0aGUgc2FtZSBsaXN0Ym94LicsKSwKLSh1J0xpc3RCb3gnLHUnVmFsdWUnLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdGb3JtYXR0ZWQnLE5vbmUsIHUnVGhlIHZhbHVlIHN0cmluZyBhc3NvY2lhdGVkIHdpdGggdGhpcyBpdGVtLiBTZWxlY3RpbmcgdGhlIGxpbmUgd2lsbCBzZXQgdGhlIGFzc29jaWF0ZWQgcHJvcGVydHkgdG8gdGhpcyB2YWx1ZS4nLCksCi0odSdMaXN0Qm94Jyx1J09yZGVyJyx1J04nLDEsMzI3NjcsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdBIHBvc2l0aXZlIGludGVnZXIgdXNlZCB0byBkZXRlcm1pbmUgdGhlIG9yZGVyaW5nIG9mIHRoZSBpdGVtcyB3aXRoaW4gb25lIGxpc3QuLlRoZSBpbnRlZ2VycyBkbyBub3QgaGF2ZSB0byBiZSBjb25zZWN1dGl2ZS4nLCksCi0odSdMaXN0VmlldycsdSdUZXh0Jyx1J1knLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGV4dCcsTm9uZSwgdSdUaGUgdmlzaWJsZSB0ZXh0IHRvIGJlIGFzc2lnbmVkIHRvIHRoZSBpdGVtLiBPcHRpb25hbC4gSWYgdGhpcyBlbnRyeSBvciB0aGUgZW50aXJlIGNvbHVtbiBpcyBtaXNzaW5nLCB0aGUgdGV4dCBpcyB0aGUgc2FtZSBhcyB0aGUgdmFsdWUuJywpLAotKHUnTGlzdFZpZXcnLHUnUHJvcGVydHknLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJyxOb25lLCB1J0EgbmFtZWQgcHJvcGVydHkgdG8gYmUgdGllZCB0byB0aGlzIGl0ZW0uIEFsbCB0aGUgaXRlbXMgdGllZCB0byB0aGUgc2FtZSBwcm9wZXJ0eSBiZWNvbWUgcGFydCBvZiB0aGUgc2FtZSBsaXN0dmlldy4nLCksCi0odSdMaXN0VmlldycsdSdWYWx1ZScsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLE5vbmUsIHUnVGhlIHZhbHVlIHN0cmluZyBhc3NvY2lhdGVkIHdpdGggdGhpcyBpdGVtLiBTZWxlY3RpbmcgdGhlIGxpbmUgd2lsbCBzZXQgdGhlIGFzc29jaWF0ZWQgcHJvcGVydHkgdG8gdGhpcyB2YWx1ZS4nLCksCi0odSdMaXN0VmlldycsdSdPcmRlcicsdSdOJywxLDMyNzY3LE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnQSBwb3NpdGl2ZSBpbnRlZ2VyIHVzZWQgdG8gZGV0ZXJtaW5lIHRoZSBvcmRlcmluZyBvZiB0aGUgaXRlbXMgd2l0aGluIG9uZSBsaXN0Li5UaGUgaW50ZWdlcnMgZG8gbm90IGhhdmUgdG8gYmUgY29uc2VjdXRpdmUuJywpLAotKHUnTGlzdFZpZXcnLHUnQmluYXJ5XycsdSdZJyxOb25lLCBOb25lLCB1J0JpbmFyeScsMSx1J0lkZW50aWZpZXInLE5vbmUsIHUnVGhlIG5hbWUgb2YgdGhlIGljb24gdG8gYmUgZGlzcGxheWVkIHdpdGggdGhlIGljb24uIFRoZSBiaW5hcnkgaW5mb3JtYXRpb24gaXMgbG9va2VkIHVwIGZyb20gdGhlIEJpbmFyeSBUYWJsZS4nLCksCi0odSdMb2NrUGVybWlzc2lvbnMnLHUnVGFibGUnLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJyx1J0RpcmVjdG9yeTtGaWxlO1JlZ2lzdHJ5Jyx1J1JlZmVyZW5jZSB0byBhbm90aGVyIHRhYmxlIG5hbWUnLCksCi0odSdMb2NrUGVybWlzc2lvbnMnLHUnRG9tYWluJyx1J1knLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRm9ybWF0dGVkJyxOb25lLCB1J0RvbWFpbiBuYW1lIGZvciB1c2VyIHdob3NlIHBlcm1pc3Npb25zIGFyZSBiZWluZyBzZXQuICh1c3VhbGx5IGEgcHJvcGVydHkpJywpLAotKHUnTG9ja1Blcm1pc3Npb25zJyx1J0xvY2tPYmplY3QnLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJyxOb25lLCB1J0ZvcmVpZ24ga2V5IGludG8gUmVnaXN0cnkgb3IgRmlsZSB0YWJsZScsKSwKLSh1J0xvY2tQZXJtaXNzaW9ucycsdSdQZXJtaXNzaW9uJyx1J1knLC0yMTQ3NDgzNjQ3LDIxNDc0ODM2NDcsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdQZXJtaXNzaW9uIEFjY2VzcyBtYXNrLiAgRnVsbCBDb250cm9sID0gMjY4NDM1NDU2IChHRU5FUklDX0FMTCA9IDB4MTAwMDAwMDApJywpLAotKHUnTG9ja1Blcm1pc3Npb25zJyx1J1VzZXInLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdGb3JtYXR0ZWQnLE5vbmUsIHUnVXNlciBmb3IgcGVybWlzc2lvbnMgdG8gYmUgc2V0LiAgKHVzdWFsbHkgYSBwcm9wZXJ0eSknLCksCi0odSdNZWRpYScsdSdTb3VyY2UnLHUnWScsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdQcm9wZXJ0eScsTm9uZSwgdSdUaGUgcHJvcGVydHkgZGVmaW5pbmcgdGhlIGxvY2F0aW9uIG9mIHRoZSBjYWJpbmV0IGZpbGUuJywpLAotKHUnTWVkaWEnLHUnQ2FiaW5ldCcsdSdZJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0NhYmluZXQnLE5vbmUsIHUnSWYgc29tZSBvciBhbGwgb2YgdGhlIGZpbGVzIHN0b3JlZCBvbiB0aGUgbWVkaWEgYXJlIGNvbXByZXNzZWQgaW4gYSBjYWJpbmV0LCB0aGUgbmFtZSBvZiB0aGF0IGNhYmluZXQuJywpLAotKHUnTWVkaWEnLHUnRGlza0lkJyx1J04nLDEsMzI3NjcsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdQcmltYXJ5IGtleSwgaW50ZWdlciB0byBkZXRlcm1pbmUgc29ydCBvcmRlciBmb3IgdGFibGUuJywpLAotKHUnTWVkaWEnLHUnRGlza1Byb21wdCcsdSdZJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RleHQnLE5vbmUsIHUnRGlzayBuYW1lOiB0aGUgdmlzaWJsZSB0ZXh0IGFjdHVhbGx5IHByaW50ZWQgb24gdGhlIGRpc2suICBUaGlzIHdpbGwgYmUgdXNlZCB0byBwcm9tcHQgdGhlIHVzZXIgd2hlbiB0aGlzIGRpc2sgbmVlZHMgdG8gYmUgaW5zZXJ0ZWQuJywpLAotKHUnTWVkaWEnLHUnTGFzdFNlcXVlbmNlJyx1J04nLDAsMzI3NjcsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdGaWxlIHNlcXVlbmNlIG51bWJlciBmb3IgdGhlIGxhc3QgZmlsZSBmb3IgdGhpcyBtZWRpYS4nLCksCi0odSdNZWRpYScsdSdWb2x1bWVMYWJlbCcsdSdZJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RleHQnLE5vbmUsIHUnVGhlIGxhYmVsIGF0dHJpYnV0ZWQgdG8gdGhlIHZvbHVtZS4nLCksCi0odSdNb2R1bGVDb21wb25lbnRzJyx1J0NvbXBvbmVudCcsdSdOJyxOb25lLCBOb25lLCB1J0NvbXBvbmVudCcsMSx1J0lkZW50aWZpZXInLE5vbmUsIHUnQ29tcG9uZW50IGNvbnRhaW5lZCBpbiB0aGUgbW9kdWxlLicsKSwKLSh1J01vZHVsZUNvbXBvbmVudHMnLHUnTGFuZ3VhZ2UnLHUnTicsTm9uZSwgTm9uZSwgdSdNb2R1bGVTaWduYXR1cmUnLDIsTm9uZSwgTm9uZSwgdSdEZWZhdWx0IGxhbmd1YWdlIElEIGZvciBtb2R1bGUgKG1heSBiZSBjaGFuZ2VkIGJ5IHRyYW5zZm9ybSkuJywpLAotKHUnTW9kdWxlQ29tcG9uZW50cycsdSdNb2R1bGVJRCcsdSdOJyxOb25lLCBOb25lLCB1J01vZHVsZVNpZ25hdHVyZScsMSx1J0lkZW50aWZpZXInLE5vbmUsIHUnTW9kdWxlIGNvbnRhaW5pbmcgdGhlIGNvbXBvbmVudC4nLCksCi0odSdNb2R1bGVTaWduYXR1cmUnLHUnTGFuZ3VhZ2UnLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdEZWZhdWx0IGRlY2ltYWwgbGFuZ3VhZ2Ugb2YgbW9kdWxlLicsKSwKLSh1J01vZHVsZVNpZ25hdHVyZScsdSdWZXJzaW9uJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVmVyc2lvbicsTm9uZSwgdSdWZXJzaW9uIG9mIHRoZSBtb2R1bGUuJywpLAotKHUnTW9kdWxlU2lnbmF0dXJlJyx1J01vZHVsZUlEJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsTm9uZSwgdSdNb2R1bGUgaWRlbnRpZmllciAoU3RyaW5nLkdVSUQpLicsKSwKLSh1J01vZHVsZURlcGVuZGVuY3knLHUnTW9kdWxlSUQnLHUnTicsTm9uZSwgTm9uZSwgdSdNb2R1bGVTaWduYXR1cmUnLDEsdSdJZGVudGlmaWVyJyxOb25lLCB1J01vZHVsZSByZXF1aXJpbmcgdGhlIGRlcGVuZGVuY3kuJywpLAotKHUnTW9kdWxlRGVwZW5kZW5jeScsdSdNb2R1bGVMYW5ndWFnZScsdSdOJyxOb25lLCBOb25lLCB1J01vZHVsZVNpZ25hdHVyZScsMixOb25lLCBOb25lLCB1J0xhbmd1YWdlIG9mIG1vZHVsZSByZXF1aXJpbmcgdGhlIGRlcGVuZGVuY3kuJywpLAotKHUnTW9kdWxlRGVwZW5kZW5jeScsdSdSZXF1aXJlZElEJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnU3RyaW5nLkdVSUQgb2YgcmVxdWlyZWQgbW9kdWxlLicsKSwKLSh1J01vZHVsZURlcGVuZGVuY3knLHUnUmVxdWlyZWRMYW5ndWFnZScsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0xhbmd1YWdlSUQgb2YgdGhlIHJlcXVpcmVkIG1vZHVsZS4nLCksCi0odSdNb2R1bGVEZXBlbmRlbmN5Jyx1J1JlcXVpcmVkVmVyc2lvbicsdSdZJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1ZlcnNpb24nLE5vbmUsIHUnVmVyc2lvbiBvZiB0aGUgcmVxdWlyZWQgdmVyc2lvbi4nLCksCi0odSdNb2R1bGVFeGNsdXNpb24nLHUnTW9kdWxlSUQnLHUnTicsTm9uZSwgTm9uZSwgdSdNb2R1bGVTaWduYXR1cmUnLDEsdSdJZGVudGlmaWVyJyxOb25lLCB1J1N0cmluZy5HVUlEIG9mIG1vZHVsZSB3aXRoIGV4Y2x1c2lvbiByZXF1aXJlbWVudC4nLCksCi0odSdNb2R1bGVFeGNsdXNpb24nLHUnTW9kdWxlTGFuZ3VhZ2UnLHUnTicsTm9uZSwgTm9uZSwgdSdNb2R1bGVTaWduYXR1cmUnLDIsTm9uZSwgTm9uZSwgdSdMYW5ndWFnZUlEIG9mIG1vZHVsZSB3aXRoIGV4Y2x1c2lvbiByZXF1aXJlbWVudC4nLCksCi0odSdNb2R1bGVFeGNsdXNpb24nLHUnRXhjbHVkZWRJRCcsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1N0cmluZy5HVUlEIG9mIGV4Y2x1ZGVkIG1vZHVsZS4nLCksCi0odSdNb2R1bGVFeGNsdXNpb24nLHUnRXhjbHVkZWRMYW5ndWFnZScsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0xhbmd1YWdlIG9mIGV4Y2x1ZGVkIG1vZHVsZS4nLCksCi0odSdNb2R1bGVFeGNsdXNpb24nLHUnRXhjbHVkZWRNYXhWZXJzaW9uJyx1J1knLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVmVyc2lvbicsTm9uZSwgdSdNYXhpbXVtIHZlcnNpb24gb2YgZXhjbHVkZWQgbW9kdWxlLicsKSwKLSh1J01vZHVsZUV4Y2x1c2lvbicsdSdFeGNsdWRlZE1pblZlcnNpb24nLHUnWScsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdWZXJzaW9uJyxOb25lLCB1J01pbmltdW0gdmVyc2lvbiBvZiBleGNsdWRlZCBtb2R1bGUuJywpLAotKHUnTW92ZUZpbGUnLHUnQ29tcG9uZW50XycsdSdOJyxOb25lLCBOb25lLCB1J0NvbXBvbmVudCcsMSx1J0lkZW50aWZpZXInLE5vbmUsIHUnSWYgdGhpcyBjb21wb25lbnQgaXMgbm90ICJzZWxlY3RlZCIgZm9yIGluc3RhbGxhdGlvbiBvciByZW1vdmFsLCBubyBhY3Rpb24gd2lsbCBiZSB0YWtlbiBvbiB0aGUgYXNzb2NpYXRlZCBNb3ZlRmlsZSBlbnRyeScsKSwKLSh1J01vdmVGaWxlJyx1J0Rlc3RGb2xkZXInLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJyxOb25lLCB1J05hbWUgb2YgYSBwcm9wZXJ0eSB3aG9zZSB2YWx1ZSBpcyBhc3N1bWVkIHRvIHJlc29sdmUgdG8gdGhlIGZ1bGwgcGF0aCB0byB0aGUgZGVzdGluYXRpb24gZGlyZWN0b3J5JywpLAotKHUnTW92ZUZpbGUnLHUnRGVzdE5hbWUnLHUnWScsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdGaWxlbmFtZScsTm9uZSwgdSdOYW1lIHRvIGJlIGdpdmVuIHRvIHRoZSBvcmlnaW5hbCBmaWxlIGFmdGVyIGl0IGlzIG1vdmVkIG9yIGNvcGllZC4gIElmIGJsYW5rLCB0aGUgZGVzdGluYXRpb24gZmlsZSB3aWxsIGJlIGdpdmVuIHRoZSBzYW1lIG5hbWUgYXMgdGhlIHNvdXJjZSBmaWxlJywpLAotKHUnTW92ZUZpbGUnLHUnRmlsZUtleScsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLE5vbmUsIHUnUHJpbWFyeSBrZXkgdGhhdCB1bmlxdWVseSBpZGVudGlmaWVzIGEgcGFydGljdWxhciBNb3ZlRmlsZSByZWNvcmQnLCksCi0odSdNb3ZlRmlsZScsdSdPcHRpb25zJyx1J04nLDAsMSxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0ludGVnZXIgdmFsdWUgc3BlY2lmeWluZyB0aGUgTW92ZUZpbGUgb3BlcmF0aW5nIG1vZGUsIG9uZSBvZiBpbWZvRW51bScsKSwKLSh1J01vdmVGaWxlJyx1J1NvdXJjZUZvbGRlcicsdSdZJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLE5vbmUsIHUnTmFtZSBvZiBhIHByb3BlcnR5IHdob3NlIHZhbHVlIGlzIGFzc3VtZWQgdG8gcmVzb2x2ZSB0byB0aGUgZnVsbCBwYXRoIHRvIHRoZSBzb3VyY2UgZGlyZWN0b3J5JywpLAotKHUnTW92ZUZpbGUnLHUnU291cmNlTmFtZScsdSdZJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RleHQnLE5vbmUsIHUiTmFtZSBvZiB0aGUgc291cmNlIGZpbGUocykgdG8gYmUgbW92ZWQgb3IgY29waWVkLiAgQ2FuIGNvbnRhaW4gdGhlICcqJyBvciAnPycgd2lsZGNhcmRzLiIsKSwKLSh1J01zaUFzc2VtYmx5Jyx1J0F0dHJpYnV0ZXMnLHUnWScsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdBc3NlbWJseSBhdHRyaWJ1dGVzJywpLAotKHUnTXNpQXNzZW1ibHknLHUnRmVhdHVyZV8nLHUnTicsTm9uZSwgTm9uZSwgdSdGZWF0dXJlJywxLHUnSWRlbnRpZmllcicsTm9uZSwgdSdGb3JlaWduIGtleSBpbnRvIEZlYXR1cmUgdGFibGUuJywpLAotKHUnTXNpQXNzZW1ibHknLHUnQ29tcG9uZW50XycsdSdOJyxOb25lLCBOb25lLCB1J0NvbXBvbmVudCcsMSx1J0lkZW50aWZpZXInLE5vbmUsIHUnRm9yZWlnbiBrZXkgaW50byBDb21wb25lbnQgdGFibGUuJywpLAotKHUnTXNpQXNzZW1ibHknLHUnRmlsZV9BcHBsaWNhdGlvbicsdSdZJyxOb25lLCBOb25lLCB1J0ZpbGUnLDEsdSdJZGVudGlmaWVyJyxOb25lLCB1J0ZvcmVpZ24ga2V5IGludG8gRmlsZSB0YWJsZSwgZGVub3RpbmcgdGhlIGFwcGxpY2F0aW9uIGNvbnRleHQgZm9yIHByaXZhdGUgYXNzZW1ibGllcy4gTnVsbCBmb3IgZ2xvYmFsIGFzc2VtYmxpZXMuJywpLAotKHUnTXNpQXNzZW1ibHknLHUnRmlsZV9NYW5pZmVzdCcsdSdZJyxOb25lLCBOb25lLCB1J0ZpbGUnLDEsdSdJZGVudGlmaWVyJyxOb25lLCB1J0ZvcmVpZ24ga2V5IGludG8gdGhlIEZpbGUgdGFibGUgZGVub3RpbmcgdGhlIG1hbmlmZXN0IGZpbGUgZm9yIHRoZSBhc3NlbWJseS4nLCksCi0odSdNc2lBc3NlbWJseU5hbWUnLHUnTmFtZScsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RleHQnLE5vbmUsIHUnVGhlIG5hbWUgcGFydCBvZiB0aGUgbmFtZS12YWx1ZSBwYWlycyBmb3IgdGhlIGFzc2VtYmx5IG5hbWUuJywpLAotKHUnTXNpQXNzZW1ibHlOYW1lJyx1J1ZhbHVlJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGV4dCcsTm9uZSwgdSdUaGUgdmFsdWUgcGFydCBvZiB0aGUgbmFtZS12YWx1ZSBwYWlycyBmb3IgdGhlIGFzc2VtYmx5IG5hbWUuJywpLAotKHUnTXNpQXNzZW1ibHlOYW1lJyx1J0NvbXBvbmVudF8nLHUnTicsTm9uZSwgTm9uZSwgdSdDb21wb25lbnQnLDEsdSdJZGVudGlmaWVyJyxOb25lLCB1J0ZvcmVpZ24ga2V5IGludG8gQ29tcG9uZW50IHRhYmxlLicsKSwKLSh1J01zaURpZ2l0YWxDZXJ0aWZpY2F0ZScsdSdDZXJ0RGF0YScsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0JpbmFyeScsTm9uZSwgdSdBIGNlcnRpZmljYXRlIGNvbnRleHQgYmxvYiBmb3IgYSBzaWduZXIgY2VydGlmaWNhdGUnLCksCi0odSdNc2lEaWdpdGFsQ2VydGlmaWNhdGUnLHUnRGlnaXRhbENlcnRpZmljYXRlJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsTm9uZSwgdSdBIHVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgcm93JywpLAotKHUnTXNpRGlnaXRhbFNpZ25hdHVyZScsdSdUYWJsZScsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J01lZGlhJyx1J1JlZmVyZW5jZSB0byBhbm90aGVyIHRhYmxlIG5hbWUgKG9ubHkgTWVkaWEgdGFibGUgaXMgc3VwcG9ydGVkKScsKSwKLSh1J01zaURpZ2l0YWxTaWduYXR1cmUnLHUnRGlnaXRhbENlcnRpZmljYXRlXycsdSdOJyxOb25lLCBOb25lLCB1J01zaURpZ2l0YWxDZXJ0aWZpY2F0ZScsMSx1J0lkZW50aWZpZXInLE5vbmUsIHUnRm9yZWlnbiBrZXkgdG8gTXNpRGlnaXRhbENlcnRpZmljYXRlIHRhYmxlIGlkZW50aWZ5aW5nIHRoZSBzaWduZXIgY2VydGlmaWNhdGUnLCksCi0odSdNc2lEaWdpdGFsU2lnbmF0dXJlJyx1J0hhc2gnLHUnWScsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdCaW5hcnknLE5vbmUsIHUnVGhlIGVuY29kZWQgaGFzaCBibG9iIGZyb20gdGhlIGRpZ2l0YWwgc2lnbmF0dXJlJywpLAotKHUnTXNpRGlnaXRhbFNpZ25hdHVyZScsdSdTaWduT2JqZWN0Jyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGV4dCcsTm9uZSwgdSdGb3JlaWduIGtleSB0byBNZWRpYSB0YWJsZScsKSwKLSh1J01zaUZpbGVIYXNoJyx1J0ZpbGVfJyx1J04nLE5vbmUsIE5vbmUsIHUnRmlsZScsMSx1J0lkZW50aWZpZXInLE5vbmUsIHUnUHJpbWFyeSBrZXksIGZvcmVpZ24ga2V5IGludG8gRmlsZSB0YWJsZSByZWZlcmVuY2luZyBmaWxlIHdpdGggdGhpcyBoYXNoJywpLAotKHUnTXNpRmlsZUhhc2gnLHUnT3B0aW9ucycsdSdOJywwLDMyNzY3LE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVmFyaW91cyBvcHRpb25zIGFuZCBhdHRyaWJ1dGVzIGZvciB0aGlzIGhhc2guJywpLAotKHUnTXNpRmlsZUhhc2gnLHUnSGFzaFBhcnQxJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnU2l6ZSBvZiBmaWxlIGluIGJ5dGVzIChsb25nIGludGVnZXIpLicsKSwKLSh1J01zaUZpbGVIYXNoJyx1J0hhc2hQYXJ0MicsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1NpemUgb2YgZmlsZSBpbiBieXRlcyAobG9uZyBpbnRlZ2VyKS4nLCksCi0odSdNc2lGaWxlSGFzaCcsdSdIYXNoUGFydDMnLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdTaXplIG9mIGZpbGUgaW4gYnl0ZXMgKGxvbmcgaW50ZWdlcikuJywpLAotKHUnTXNpRmlsZUhhc2gnLHUnSGFzaFBhcnQ0Jyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnU2l6ZSBvZiBmaWxlIGluIGJ5dGVzIChsb25nIGludGVnZXIpLicsKSwKLSh1J01zaVBhdGNoSGVhZGVycycsdSdTdHJlYW1SZWYnLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJyxOb25lLCB1J1ByaW1hcnkga2V5LiBBIHVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgcm93LicsKSwKLSh1J01zaVBhdGNoSGVhZGVycycsdSdIZWFkZXInLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdCaW5hcnknLE5vbmUsIHUnQmluYXJ5IHN0cmVhbS4gVGhlIHBhdGNoIGhlYWRlciwgdXNlZCBmb3IgcGF0Y2ggdmFsaWRhdGlvbi4nLCksCi0odSdPREJDQXR0cmlidXRlJyx1J1ZhbHVlJyx1J1knLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGV4dCcsTm9uZSwgdSdWYWx1ZSBmb3IgT0RCQyBkcml2ZXIgYXR0cmlidXRlJywpLAotKHUnT0RCQ0F0dHJpYnV0ZScsdSdBdHRyaWJ1dGUnLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUZXh0JyxOb25lLCB1J05hbWUgb2YgT0RCQyBkcml2ZXIgYXR0cmlidXRlJywpLAotKHUnT0RCQ0F0dHJpYnV0ZScsdSdEcml2ZXJfJyx1J04nLE5vbmUsIE5vbmUsIHUnT0RCQ0RyaXZlcicsMSx1J0lkZW50aWZpZXInLE5vbmUsIHUnUmVmZXJlbmNlIHRvIE9EQkMgZHJpdmVyIGluIE9EQkNEcml2ZXIgdGFibGUnLCksCi0odSdPREJDRHJpdmVyJyx1J0Rlc2NyaXB0aW9uJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGV4dCcsTm9uZSwgdSdUZXh0IHVzZWQgYXMgcmVnaXN0ZXJlZCBuYW1lIGZvciBkcml2ZXIsIG5vbi1sb2NhbGl6ZWQnLCksCi0odSdPREJDRHJpdmVyJyx1J0ZpbGVfJyx1J04nLE5vbmUsIE5vbmUsIHUnRmlsZScsMSx1J0lkZW50aWZpZXInLE5vbmUsIHUnUmVmZXJlbmNlIHRvIGtleSBkcml2ZXIgZmlsZScsKSwKLSh1J09EQkNEcml2ZXInLHUnQ29tcG9uZW50XycsdSdOJyxOb25lLCBOb25lLCB1J0NvbXBvbmVudCcsMSx1J0lkZW50aWZpZXInLE5vbmUsIHUnUmVmZXJlbmNlIHRvIGFzc29jaWF0ZWQgY29tcG9uZW50JywpLAotKHUnT0RCQ0RyaXZlcicsdSdEcml2ZXInLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJyxOb25lLCB1J1ByaW1hcnkga2V5LCBub24tbG9jYWxpemVkLmludGVybmFsIHRva2VuIGZvciBkcml2ZXInLCksCi0odSdPREJDRHJpdmVyJyx1J0ZpbGVfU2V0dXAnLHUnWScsTm9uZSwgTm9uZSwgdSdGaWxlJywxLHUnSWRlbnRpZmllcicsTm9uZSwgdSdPcHRpb25hbCByZWZlcmVuY2UgdG8ga2V5IGRyaXZlciBzZXR1cCBETEwnLCksCi0odSdPREJDRGF0YVNvdXJjZScsdSdEZXNjcmlwdGlvbicsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RleHQnLE5vbmUsIHUnVGV4dCB1c2VkIGFzIHJlZ2lzdGVyZWQgbmFtZSBmb3IgZGF0YSBzb3VyY2UnLCksCi0odSdPREJDRGF0YVNvdXJjZScsdSdDb21wb25lbnRfJyx1J04nLE5vbmUsIE5vbmUsIHUnQ29tcG9uZW50JywxLHUnSWRlbnRpZmllcicsTm9uZSwgdSdSZWZlcmVuY2UgdG8gYXNzb2NpYXRlZCBjb21wb25lbnQnLCksCi0odSdPREJDRGF0YVNvdXJjZScsdSdEYXRhU291cmNlJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsTm9uZSwgdSdQcmltYXJ5IGtleSwgbm9uLWxvY2FsaXplZC5pbnRlcm5hbCB0b2tlbiBmb3IgZGF0YSBzb3VyY2UnLCksCi0odSdPREJDRGF0YVNvdXJjZScsdSdEcml2ZXJEZXNjcmlwdGlvbicsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RleHQnLE5vbmUsIHUnUmVmZXJlbmNlIHRvIGRyaXZlciBkZXNjcmlwdGlvbiwgbWF5IGJlIGV4aXN0aW5nIGRyaXZlcicsKSwKLSh1J09EQkNEYXRhU291cmNlJyx1J1JlZ2lzdHJhdGlvbicsdSdOJywwLDEsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdSZWdpc3RyYXRpb24gb3B0aW9uOiAwPW1hY2hpbmUsIDE9dXNlciwgb3RoZXJzIHQuYi5kLicsKSwKLSh1J09EQkNTb3VyY2VBdHRyaWJ1dGUnLHUnVmFsdWUnLHUnWScsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUZXh0JyxOb25lLCB1J1ZhbHVlIGZvciBPREJDIGRhdGEgc291cmNlIGF0dHJpYnV0ZScsKSwKLSh1J09EQkNTb3VyY2VBdHRyaWJ1dGUnLHUnQXR0cmlidXRlJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGV4dCcsTm9uZSwgdSdOYW1lIG9mIE9EQkMgZGF0YSBzb3VyY2UgYXR0cmlidXRlJywpLAotKHUnT0RCQ1NvdXJjZUF0dHJpYnV0ZScsdSdEYXRhU291cmNlXycsdSdOJyxOb25lLCBOb25lLCB1J09EQkNEYXRhU291cmNlJywxLHUnSWRlbnRpZmllcicsTm9uZSwgdSdSZWZlcmVuY2UgdG8gT0RCQyBkYXRhIHNvdXJjZSBpbiBPREJDRGF0YVNvdXJjZSB0YWJsZScsKSwKLSh1J09EQkNUcmFuc2xhdG9yJyx1J0Rlc2NyaXB0aW9uJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGV4dCcsTm9uZSwgdSdUZXh0IHVzZWQgYXMgcmVnaXN0ZXJlZCBuYW1lIGZvciB0cmFuc2xhdG9yJywpLAotKHUnT0RCQ1RyYW5zbGF0b3InLHUnRmlsZV8nLHUnTicsTm9uZSwgTm9uZSwgdSdGaWxlJywxLHUnSWRlbnRpZmllcicsTm9uZSwgdSdSZWZlcmVuY2UgdG8ga2V5IHRyYW5zbGF0b3IgZmlsZScsKSwKLSh1J09EQkNUcmFuc2xhdG9yJyx1J0NvbXBvbmVudF8nLHUnTicsTm9uZSwgTm9uZSwgdSdDb21wb25lbnQnLDEsdSdJZGVudGlmaWVyJyxOb25lLCB1J1JlZmVyZW5jZSB0byBhc3NvY2lhdGVkIGNvbXBvbmVudCcsKSwKLSh1J09EQkNUcmFuc2xhdG9yJyx1J0ZpbGVfU2V0dXAnLHUnWScsTm9uZSwgTm9uZSwgdSdGaWxlJywxLHUnSWRlbnRpZmllcicsTm9uZSwgdSdPcHRpb25hbCByZWZlcmVuY2UgdG8ga2V5IHRyYW5zbGF0b3Igc2V0dXAgRExMJywpLAotKHUnT0RCQ1RyYW5zbGF0b3InLHUnVHJhbnNsYXRvcicsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLE5vbmUsIHUnUHJpbWFyeSBrZXksIG5vbi1sb2NhbGl6ZWQuaW50ZXJuYWwgdG9rZW4gZm9yIHRyYW5zbGF0b3InLCksCi0odSdQYXRjaCcsdSdTZXF1ZW5jZScsdSdOJywwLDMyNzY3LE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnUHJpbWFyeSBrZXksIHNlcXVlbmNlIHdpdGggcmVzcGVjdCB0byB0aGUgbWVkaWEgaW1hZ2VzOyBvcmRlciBtdXN0IHRyYWNrIGNhYmluZXQgb3JkZXIuJywpLAotKHUnUGF0Y2gnLHUnQXR0cmlidXRlcycsdSdOJywwLDMyNzY3LE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSW50ZWdlciBjb250YWluaW5nIGJpdCBmbGFncyByZXByZXNlbnRpbmcgcGF0Y2ggYXR0cmlidXRlcycsKSwKLSh1J1BhdGNoJyx1J0ZpbGVfJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsTm9uZSwgdSdQcmltYXJ5IGtleSwgbm9uLWxvY2FsaXplZCB0b2tlbiwgZm9yZWlnbiBrZXkgdG8gRmlsZSB0YWJsZSwgbXVzdCBtYXRjaCBpZGVudGlmaWVyIGluIGNhYmluZXQuJywpLAotKHUnUGF0Y2gnLHUnSGVhZGVyJyx1J1knLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnQmluYXJ5JyxOb25lLCB1J0JpbmFyeSBzdHJlYW0uIFRoZSBwYXRjaCBoZWFkZXIsIHVzZWQgZm9yIHBhdGNoIHZhbGlkYXRpb24uJywpLAotKHUnUGF0Y2gnLHUnUGF0Y2hTaXplJyx1J04nLDAsMjE0NzQ4MzY0NyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1NpemUgb2YgcGF0Y2ggaW4gYnl0ZXMgKGxvbmcgaW50ZWdlcikuJywpLAotKHUnUGF0Y2gnLHUnU3RyZWFtUmVmXycsdSdZJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLE5vbmUsIHUnSWRlbnRpZmllci4gRm9yZWlnbiBrZXkgdG8gdGhlIFN0cmVhbVJlZiBjb2x1bW4gb2YgdGhlIE1zaVBhdGNoSGVhZGVycyB0YWJsZS4nLCksCi0odSdQYXRjaFBhY2thZ2UnLHUnTWVkaWFfJyx1J04nLDAsMzI3NjcsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdGb3JlaWduIGtleSB0byBEaXNrSWQgY29sdW1uIG9mIE1lZGlhIHRhYmxlLiBJbmRpY2F0ZXMgdGhlIGRpc2sgY29udGFpbmluZyB0aGUgcGF0Y2ggcGFja2FnZS4nLCksCi0odSdQYXRjaFBhY2thZ2UnLHUnUGF0Y2hJZCcsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0d1aWQnLE5vbmUsIHUnQSB1bmlxdWUgc3RyaW5nIEdVSUQgcmVwcmVzZW50aW5nIHRoaXMgcGF0Y2guJywpLAotKHUnUHVibGlzaENvbXBvbmVudCcsdSdGZWF0dXJlXycsdSdOJyxOb25lLCBOb25lLCB1J0ZlYXR1cmUnLDEsdSdJZGVudGlmaWVyJyxOb25lLCB1J0ZvcmVpZ24ga2V5IGludG8gdGhlIEZlYXR1cmUgdGFibGUuJywpLAotKHUnUHVibGlzaENvbXBvbmVudCcsdSdDb21wb25lbnRfJyx1J04nLE5vbmUsIE5vbmUsIHUnQ29tcG9uZW50JywxLHUnSWRlbnRpZmllcicsTm9uZSwgdSdGb3JlaWduIGtleSBpbnRvIHRoZSBDb21wb25lbnQgdGFibGUuJywpLAotKHUnUHVibGlzaENvbXBvbmVudCcsdSdDb21wb25lbnRJZCcsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0d1aWQnLE5vbmUsIHUnQSBzdHJpbmcgR1VJRCB0aGF0IHJlcHJlc2VudHMgdGhlIGNvbXBvbmVudCBpZCB0aGF0IHdpbGwgYmUgcmVxdWVzdGVkIGJ5IHRoZSBhbGllbiBwcm9kdWN0LicsKSwKLSh1J1B1Ymxpc2hDb21wb25lbnQnLHUnQXBwRGF0YScsdSdZJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RleHQnLE5vbmUsIHUnVGhpcyBpcyBsb2NhbGlzYWJsZSBBcHBsaWNhdGlvbiBzcGVjaWZpYyBkYXRhIHRoYXQgY2FuIGJlIGFzc29jaWF0ZWQgd2l0aCBhIFF1YWxpZmllZCBDb21wb25lbnQuJywpLAotKHUnUHVibGlzaENvbXBvbmVudCcsdSdRdWFsaWZpZXInLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUZXh0JyxOb25lLCB1J1RoaXMgaXMgZGVmaW5lZCBvbmx5IHdoZW4gdGhlIENvbXBvbmVudElkIGNvbHVtbiBpcyBhbiBRdWFsaWZpZWQgQ29tcG9uZW50IElkLiBUaGlzIGlzIHRoZSBRdWFsaWZpZXIgZm9yIFByb3ZpZGVDb21wb25lbnRJbmRpcmVjdC4nLCksCi0odSdSYWRpb0J1dHRvbicsdSdZJyx1J04nLDAsMzI3NjcsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUaGUgdmVydGljYWwgY29vcmRpbmF0ZSBvZiB0aGUgdXBwZXIgbGVmdCBjb3JuZXIgb2YgdGhlIGJvdW5kaW5nIHJlY3RhbmdsZSBvZiB0aGUgcmFkaW8gYnV0dG9uLicsKSwKLSh1J1JhZGlvQnV0dG9uJyx1J1RleHQnLHUnWScsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUZXh0JyxOb25lLCB1J1RoZSB2aXNpYmxlIHRpdGxlIHRvIGJlIGFzc2lnbmVkIHRvIHRoZSByYWRpbyBidXR0b24uJywpLAotKHUnUmFkaW9CdXR0b24nLHUnUHJvcGVydHknLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJyxOb25lLCB1J0EgbmFtZWQgcHJvcGVydHkgdG8gYmUgdGllZCB0byB0aGlzIHJhZGlvIGJ1dHRvbi4gQWxsIHRoZSBidXR0b25zIHRpZWQgdG8gdGhlIHNhbWUgcHJvcGVydHkgYmVjb21lIHBhcnQgb2YgdGhlIHNhbWUgZ3JvdXAuJywpLAotKHUnUmFkaW9CdXR0b24nLHUnSGVpZ2h0Jyx1J04nLDAsMzI3NjcsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUaGUgaGVpZ2h0IG9mIHRoZSBidXR0b24uJywpLAotKHUnUmFkaW9CdXR0b24nLHUnV2lkdGgnLHUnTicsMCwzMjc2NyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RoZSB3aWR0aCBvZiB0aGUgYnV0dG9uLicsKSwKLSh1J1JhZGlvQnV0dG9uJyx1J1gnLHUnTicsMCwzMjc2NyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RoZSBob3Jpem9udGFsIGNvb3JkaW5hdGUgb2YgdGhlIHVwcGVyIGxlZnQgY29ybmVyIG9mIHRoZSBib3VuZGluZyByZWN0YW5nbGUgb2YgdGhlIHJhZGlvIGJ1dHRvbi4nLCksCi0odSdSYWRpb0J1dHRvbicsdSdWYWx1ZScsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0Zvcm1hdHRlZCcsTm9uZSwgdSdUaGUgdmFsdWUgc3RyaW5nIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGJ1dHRvbi4gU2VsZWN0aW5nIHRoZSBidXR0b24gd2lsbCBzZXQgdGhlIGFzc29jaWF0ZWQgcHJvcGVydHkgdG8gdGhpcyB2YWx1ZS4nLCksCi0odSdSYWRpb0J1dHRvbicsdSdPcmRlcicsdSdOJywxLDMyNzY3LE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnQSBwb3NpdGl2ZSBpbnRlZ2VyIHVzZWQgdG8gZGV0ZXJtaW5lIHRoZSBvcmRlcmluZyBvZiB0aGUgaXRlbXMgd2l0aGluIG9uZSBsaXN0Li5UaGUgaW50ZWdlcnMgZG8gbm90IGhhdmUgdG8gYmUgY29uc2VjdXRpdmUuJywpLAotKHUnUmFkaW9CdXR0b24nLHUnSGVscCcsdSdZJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RleHQnLE5vbmUsIHUnVGhlIGhlbHAgc3RyaW5ncyB1c2VkIHdpdGggdGhlIGJ1dHRvbi4gVGhlIHRleHQgaXMgb3B0aW9uYWwuJywpLAotKHUnUmVnaXN0cnknLHUnTmFtZScsdSdZJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0Zvcm1hdHRlZCcsTm9uZSwgdSdUaGUgcmVnaXN0cnkgdmFsdWUgbmFtZS4nLCksCi0odSdSZWdpc3RyeScsdSdWYWx1ZScsdSdZJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0Zvcm1hdHRlZCcsTm9uZSwgdSdUaGUgcmVnaXN0cnkgdmFsdWUuJywpLAotKHUnUmVnaXN0cnknLHUnQ29tcG9uZW50XycsdSdOJyxOb25lLCBOb25lLCB1J0NvbXBvbmVudCcsMSx1J0lkZW50aWZpZXInLE5vbmUsIHUnRm9yZWlnbiBrZXkgaW50byB0aGUgQ29tcG9uZW50IHRhYmxlIHJlZmVyZW5jaW5nIGNvbXBvbmVudCB0aGF0IGNvbnRyb2xzIHRoZSBpbnN0YWxsaW5nIG9mIHRoZSByZWdpc3RyeSB2YWx1ZS4nLCksCi0odSdSZWdpc3RyeScsdSdLZXknLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdSZWdQYXRoJyxOb25lLCB1J1RoZSBrZXkgZm9yIHRoZSByZWdpc3RyeSB2YWx1ZS4nLCksCi0odSdSZWdpc3RyeScsdSdSZWdpc3RyeScsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLE5vbmUsIHUnUHJpbWFyeSBrZXksIG5vbi1sb2NhbGl6ZWQgdG9rZW4uJywpLAotKHUnUmVnaXN0cnknLHUnUm9vdCcsdSdOJywtMSwzLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGhlIHByZWRlZmluZWQgcm9vdCBrZXkgZm9yIHRoZSByZWdpc3RyeSB2YWx1ZSwgb25lIG9mIHJya0VudW0uJywpLAotKHUnUmVnTG9jYXRvcicsdSdOYW1lJyx1J1knLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRm9ybWF0dGVkJyxOb25lLCB1J1RoZSByZWdpc3RyeSB2YWx1ZSBuYW1lLicsKSwKLSh1J1JlZ0xvY2F0b3InLHUnVHlwZScsdSdZJywwLDE4LE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnQW4gaW50ZWdlciB2YWx1ZSB0aGF0IGRldGVybWluZXMgaWYgdGhlIHJlZ2lzdHJ5IHZhbHVlIGlzIGEgZmlsZW5hbWUgb3IgYSBkaXJlY3RvcnkgbG9jYXRpb24gb3IgdG8gYmUgdXNlZCBhcyBpcyB3L28gaW50ZXJwcmV0YXRpb24uJywpLAotKHUnUmVnTG9jYXRvcicsdSdTaWduYXR1cmVfJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsTm9uZSwgdSdUaGUgdGFibGUga2V5LiBUaGUgU2lnbmF0dXJlXyByZXByZXNlbnRzIGEgdW5pcXVlIGZpbGUgc2lnbmF0dXJlIGFuZCBpcyBhbHNvIHRoZSBmb3JlaWduIGtleSBpbiB0aGUgU2lnbmF0dXJlIHRhYmxlLiBJZiB0aGUgdHlwZSBpcyAwLCB0aGUgcmVnaXN0cnkgdmFsdWVzIHJlZmVycyBhIGRpcmVjdG9yeSwgYW5kIF9TaWduYXR1cmUgaXMgbm90IGEgZm9yZWlnbiBrZXkuJywpLAotKHUnUmVnTG9jYXRvcicsdSdLZXknLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdSZWdQYXRoJyxOb25lLCB1J1RoZSBrZXkgZm9yIHRoZSByZWdpc3RyeSB2YWx1ZS4nLCksCi0odSdSZWdMb2NhdG9yJyx1J1Jvb3QnLHUnTicsMCwzLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGhlIHByZWRlZmluZWQgcm9vdCBrZXkgZm9yIHRoZSByZWdpc3RyeSB2YWx1ZSwgb25lIG9mIHJya0VudW0uJywpLAotKHUnUmVtb3ZlRmlsZScsdSdDb21wb25lbnRfJyx1J04nLE5vbmUsIE5vbmUsIHUnQ29tcG9uZW50JywxLHUnSWRlbnRpZmllcicsTm9uZSwgdSdGb3JlaWduIGtleSByZWZlcmVuY2luZyBDb21wb25lbnQgdGhhdCBjb250cm9scyB0aGUgZmlsZSB0byBiZSByZW1vdmVkLicsKSwKLSh1J1JlbW92ZUZpbGUnLHUnRmlsZUtleScsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLE5vbmUsIHUnUHJpbWFyeSBrZXkgdXNlZCB0byBpZGVudGlmeSBhIHBhcnRpY3VsYXIgZmlsZSBlbnRyeScsKSwKLSh1J1JlbW92ZUZpbGUnLHUnRmlsZU5hbWUnLHUnWScsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdXaWxkQ2FyZEZpbGVuYW1lJyxOb25lLCB1J05hbWUgb2YgdGhlIGZpbGUgdG8gYmUgcmVtb3ZlZC4nLCksCi0odSdSZW1vdmVGaWxlJyx1J0RpclByb3BlcnR5Jyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsTm9uZSwgdSdOYW1lIG9mIGEgcHJvcGVydHkgd2hvc2UgdmFsdWUgaXMgYXNzdW1lZCB0byByZXNvbHZlIHRvIHRoZSBmdWxsIHBhdGhuYW1lIHRvIHRoZSBmb2xkZXIgb2YgdGhlIGZpbGUgdG8gYmUgcmVtb3ZlZC4nLCksCi0odSdSZW1vdmVGaWxlJyx1J0luc3RhbGxNb2RlJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnMTsyOzMnLHUnSW5zdGFsbGF0aW9uIG9wdGlvbiwgb25lIG9mIGlpbUVudW0uJywpLAotKHUnUmVtb3ZlSW5pRmlsZScsdSdBY3Rpb24nLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdScyOzQnLHUnVGhlIHR5cGUgb2YgbW9kaWZpY2F0aW9uIHRvIGJlIG1hZGUsIG9uZSBvZiBpaWZFbnVtLicsKSwKLSh1J1JlbW92ZUluaUZpbGUnLHUnVmFsdWUnLHUnWScsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdGb3JtYXR0ZWQnLE5vbmUsIHUnVGhlIHZhbHVlIHRvIGJlIGRlbGV0ZWQuIFRoZSB2YWx1ZSBpcyByZXF1aXJlZCB3aGVuIEFjdGlvbiBpcyBpaWZJbmlSZW1vdmVUYWcnLCksCi0odSdSZW1vdmVJbmlGaWxlJyx1J0NvbXBvbmVudF8nLHUnTicsTm9uZSwgTm9uZSwgdSdDb21wb25lbnQnLDEsdSdJZGVudGlmaWVyJyxOb25lLCB1J0ZvcmVpZ24ga2V5IGludG8gdGhlIENvbXBvbmVudCB0YWJsZSByZWZlcmVuY2luZyBjb21wb25lbnQgdGhhdCBjb250cm9scyB0aGUgZGVsZXRpb24gb2YgdGhlIC5JTkkgdmFsdWUuJywpLAotKHUnUmVtb3ZlSW5pRmlsZScsdSdGaWxlTmFtZScsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0ZpbGVuYW1lJyxOb25lLCB1J1RoZSAuSU5JIGZpbGUgbmFtZSBpbiB3aGljaCB0byBkZWxldGUgdGhlIGluZm9ybWF0aW9uJywpLAotKHUnUmVtb3ZlSW5pRmlsZScsdSdEaXJQcm9wZXJ0eScsdSdZJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLE5vbmUsIHUnRm9yZWlnbiBrZXkgaW50byB0aGUgRGlyZWN0b3J5IHRhYmxlIGRlbm90aW5nIHRoZSBkaXJlY3Rvcnkgd2hlcmUgdGhlIC5JTkkgZmlsZSBpcy4nLCksCi0odSdSZW1vdmVJbmlGaWxlJyx1J0tleScsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0Zvcm1hdHRlZCcsTm9uZSwgdSdUaGUgLklOSSBmaWxlIGtleSBiZWxvdyBTZWN0aW9uLicsKSwKLSh1J1JlbW92ZUluaUZpbGUnLHUnU2VjdGlvbicsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0Zvcm1hdHRlZCcsTm9uZSwgdSdUaGUgLklOSSBmaWxlIFNlY3Rpb24uJywpLAotKHUnUmVtb3ZlSW5pRmlsZScsdSdSZW1vdmVJbmlGaWxlJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsTm9uZSwgdSdQcmltYXJ5IGtleSwgbm9uLWxvY2FsaXplZCB0b2tlbi4nLCksCi0odSdSZW1vdmVSZWdpc3RyeScsdSdOYW1lJyx1J1knLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRm9ybWF0dGVkJyxOb25lLCB1J1RoZSByZWdpc3RyeSB2YWx1ZSBuYW1lLicsKSwKLSh1J1JlbW92ZVJlZ2lzdHJ5Jyx1J0NvbXBvbmVudF8nLHUnTicsTm9uZSwgTm9uZSwgdSdDb21wb25lbnQnLDEsdSdJZGVudGlmaWVyJyxOb25lLCB1J0ZvcmVpZ24ga2V5IGludG8gdGhlIENvbXBvbmVudCB0YWJsZSByZWZlcmVuY2luZyBjb21wb25lbnQgdGhhdCBjb250cm9scyB0aGUgZGVsZXRpb24gb2YgdGhlIHJlZ2lzdHJ5IHZhbHVlLicsKSwKLSh1J1JlbW92ZVJlZ2lzdHJ5Jyx1J0tleScsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1JlZ1BhdGgnLE5vbmUsIHUnVGhlIGtleSBmb3IgdGhlIHJlZ2lzdHJ5IHZhbHVlLicsKSwKLSh1J1JlbW92ZVJlZ2lzdHJ5Jyx1J1Jvb3QnLHUnTicsLTEsMyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RoZSBwcmVkZWZpbmVkIHJvb3Qga2V5IGZvciB0aGUgcmVnaXN0cnkgdmFsdWUsIG9uZSBvZiBycmtFbnVtJywpLAotKHUnUmVtb3ZlUmVnaXN0cnknLHUnUmVtb3ZlUmVnaXN0cnknLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJyxOb25lLCB1J1ByaW1hcnkga2V5LCBub24tbG9jYWxpemVkIHRva2VuLicsKSwKLSh1J1Jlc2VydmVDb3N0Jyx1J0NvbXBvbmVudF8nLHUnTicsTm9uZSwgTm9uZSwgdSdDb21wb25lbnQnLDEsdSdJZGVudGlmaWVyJyxOb25lLCB1J1Jlc2VydmUgYSBzcGVjaWZpZWQgYW1vdW50IG9mIHNwYWNlIGlmIHRoaXMgY29tcG9uZW50IGlzIHRvIGJlIGluc3RhbGxlZC4nLCksCi0odSdSZXNlcnZlQ29zdCcsdSdSZXNlcnZlRm9sZGVyJyx1J1knLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsTm9uZSwgdSdOYW1lIG9mIGEgcHJvcGVydHkgd2hvc2UgdmFsdWUgaXMgYXNzdW1lZCB0byByZXNvbHZlIHRvIHRoZSBmdWxsIHBhdGggdG8gdGhlIGRlc3RpbmF0aW9uIGRpcmVjdG9yeScsKSwKLSh1J1Jlc2VydmVDb3N0Jyx1J1Jlc2VydmVLZXknLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJyxOb25lLCB1J1ByaW1hcnkga2V5IHRoYXQgdW5pcXVlbHkgaWRlbnRpZmllcyBhIHBhcnRpY3VsYXIgUmVzZXJ2ZUNvc3QgcmVjb3JkJywpLAotKHUnUmVzZXJ2ZUNvc3QnLHUnUmVzZXJ2ZUxvY2FsJyx1J04nLDAsMjE0NzQ4MzY0NyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0Rpc2sgc3BhY2UgdG8gcmVzZXJ2ZSBpZiBsaW5rZWQgY29tcG9uZW50IGlzIGluc3RhbGxlZCBsb2NhbGx5LicsKSwKLSh1J1Jlc2VydmVDb3N0Jyx1J1Jlc2VydmVTb3VyY2UnLHUnTicsMCwyMTQ3NDgzNjQ3LE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRGlzayBzcGFjZSB0byByZXNlcnZlIGlmIGxpbmtlZCBjb21wb25lbnQgaXMgaW5zdGFsbGVkIHRvIHJ1biBmcm9tIHRoZSBzb3VyY2UgbG9jYXRpb24uJywpLAotKHUnU2VsZlJlZycsdSdGaWxlXycsdSdOJyxOb25lLCBOb25lLCB1J0ZpbGUnLDEsdSdJZGVudGlmaWVyJyxOb25lLCB1J0ZvcmVpZ24ga2V5IGludG8gdGhlIEZpbGUgdGFibGUgZGVub3RpbmcgdGhlIG1vZHVsZSB0aGF0IG5lZWRzIHRvIGJlIHJlZ2lzdGVyZWQuJywpLAotKHUnU2VsZlJlZycsdSdDb3N0Jyx1J1knLDAsMzI3NjcsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUaGUgY29zdCBvZiByZWdpc3RlcmluZyB0aGUgbW9kdWxlLicsKSwKLSh1J1NlcnZpY2VDb250cm9sJyx1J05hbWUnLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdGb3JtYXR0ZWQnLE5vbmUsIHUnTmFtZSBvZiBhIHNlcnZpY2UuIC8sIFxcLCBjb21tYSBhbmQgc3BhY2UgYXJlIGludmFsaWQnLCksCi0odSdTZXJ2aWNlQ29udHJvbCcsdSdDb21wb25lbnRfJyx1J04nLE5vbmUsIE5vbmUsIHUnQ29tcG9uZW50JywxLHUnSWRlbnRpZmllcicsTm9uZSwgdSdSZXF1aXJlZCBmb3JlaWduIGtleSBpbnRvIHRoZSBDb21wb25lbnQgVGFibGUgdGhhdCBjb250cm9scyB0aGUgc3RhcnR1cCBvZiB0aGUgc2VydmljZScsKSwKLSh1J1NlcnZpY2VDb250cm9sJyx1J0V2ZW50Jyx1J04nLDAsMTg3LE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnQml0IGZpZWxkOiAgSW5zdGFsbDogIDB4MSA9IFN0YXJ0LCAweDIgPSBTdG9wLCAweDggPSBEZWxldGUsIFVuaW5zdGFsbDogMHgxMCA9IFN0YXJ0LCAweDIwID0gU3RvcCwgMHg4MCA9IERlbGV0ZScsKSwKLSh1J1NlcnZpY2VDb250cm9sJyx1J1NlcnZpY2VDb250cm9sJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsTm9uZSwgdSdQcmltYXJ5IGtleSwgbm9uLWxvY2FsaXplZCB0b2tlbi4nLCksCi0odSdTZXJ2aWNlQ29udHJvbCcsdSdBcmd1bWVudHMnLHUnWScsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdGb3JtYXR0ZWQnLE5vbmUsIHUnQXJndW1lbnRzIGZvciB0aGUgc2VydmljZS4gIFNlcGFyYXRlIGJ5IFt+XS4nLCksCi0odSdTZXJ2aWNlQ29udHJvbCcsdSdXYWl0Jyx1J1knLDAsMSxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0Jvb2xlYW4gZm9yIHdoZXRoZXIgdG8gd2FpdCBmb3IgdGhlIHNlcnZpY2UgdG8gZnVsbHkgc3RhcnQnLCksCi0odSdTZXJ2aWNlSW5zdGFsbCcsdSdOYW1lJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRm9ybWF0dGVkJyxOb25lLCB1J0ludGVybmFsIE5hbWUgb2YgdGhlIFNlcnZpY2UnLCksCi0odSdTZXJ2aWNlSW5zdGFsbCcsdSdEZXNjcmlwdGlvbicsdSdZJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RleHQnLE5vbmUsIHUnRGVzY3JpcHRpb24gb2Ygc2VydmljZS4nLCksCi0odSdTZXJ2aWNlSW5zdGFsbCcsdSdDb21wb25lbnRfJyx1J04nLE5vbmUsIE5vbmUsIHUnQ29tcG9uZW50JywxLHUnSWRlbnRpZmllcicsTm9uZSwgdSdSZXF1aXJlZCBmb3JlaWduIGtleSBpbnRvIHRoZSBDb21wb25lbnQgVGFibGUgdGhhdCBjb250cm9scyB0aGUgc3RhcnR1cCBvZiB0aGUgc2VydmljZScsKSwKLSh1J1NlcnZpY2VJbnN0YWxsJyx1J0FyZ3VtZW50cycsdSdZJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0Zvcm1hdHRlZCcsTm9uZSwgdSdBcmd1bWVudHMgdG8gaW5jbHVkZSBpbiBldmVyeSBzdGFydCBvZiB0aGUgc2VydmljZSwgcGFzc2VkIHRvIFdpbk1haW4nLCksCi0odSdTZXJ2aWNlSW5zdGFsbCcsdSdTZXJ2aWNlSW5zdGFsbCcsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLE5vbmUsIHUnUHJpbWFyeSBrZXksIG5vbi1sb2NhbGl6ZWQgdG9rZW4uJywpLAotKHUnU2VydmljZUluc3RhbGwnLHUnRGVwZW5kZW5jaWVzJyx1J1knLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRm9ybWF0dGVkJyxOb25lLCB1J090aGVyIHNlcnZpY2VzIHRoaXMgZGVwZW5kcyBvbiB0byBzdGFydC4gIFNlcGFyYXRlIGJ5IFt+XSwgYW5kIGVuZCB3aXRoIFt+XVt+XScsKSwKLSh1J1NlcnZpY2VJbnN0YWxsJyx1J0Rpc3BsYXlOYW1lJyx1J1knLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRm9ybWF0dGVkJyxOb25lLCB1J0V4dGVybmFsIE5hbWUgb2YgdGhlIFNlcnZpY2UnLCksCi0odSdTZXJ2aWNlSW5zdGFsbCcsdSdFcnJvckNvbnRyb2wnLHUnTicsLTIxNDc0ODM2NDcsMjE0NzQ4MzY0NyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1NldmVyaXR5IG9mIGVycm9yIGlmIHNlcnZpY2UgZmFpbHMgdG8gc3RhcnQnLCksCi0odSdTZXJ2aWNlSW5zdGFsbCcsdSdMb2FkT3JkZXJHcm91cCcsdSdZJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0Zvcm1hdHRlZCcsTm9uZSwgdSdMb2FkT3JkZXJHcm91cCcsKSwKLSh1J1NlcnZpY2VJbnN0YWxsJyx1J1Bhc3N3b3JkJyx1J1knLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRm9ybWF0dGVkJyxOb25lLCB1J3Bhc3N3b3JkIHRvIHJ1biBzZXJ2aWNlIHdpdGguICAod2l0aCBTdGFydE5hbWUpJywpLAotKHUnU2VydmljZUluc3RhbGwnLHUnU2VydmljZVR5cGUnLHUnTicsLTIxNDc0ODM2NDcsMjE0NzQ4MzY0NyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1R5cGUgb2YgdGhlIHNlcnZpY2UnLCksCi0odSdTZXJ2aWNlSW5zdGFsbCcsdSdTdGFydE5hbWUnLHUnWScsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdGb3JtYXR0ZWQnLE5vbmUsIHUnVXNlciBvciBvYmplY3QgbmFtZSB0byBydW4gc2VydmljZSBhcycsKSwKLSh1J1NlcnZpY2VJbnN0YWxsJyx1J1N0YXJ0VHlwZScsdSdOJywwLDQsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUeXBlIG9mIHRoZSBzZXJ2aWNlJywpLAotKHUnU2hvcnRjdXQnLHUnTmFtZScsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0ZpbGVuYW1lJyxOb25lLCB1J1RoZSBuYW1lIG9mIHRoZSBzaG9ydGN1dCB0byBiZSBjcmVhdGVkLicsKSwKLSh1J1Nob3J0Y3V0Jyx1J0Rlc2NyaXB0aW9uJyx1J1knLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGV4dCcsTm9uZSwgdSdUaGUgZGVzY3JpcHRpb24gZm9yIHRoZSBzaG9ydGN1dC4nLCksCi0odSdTaG9ydGN1dCcsdSdDb21wb25lbnRfJyx1J04nLE5vbmUsIE5vbmUsIHUnQ29tcG9uZW50JywxLHUnSWRlbnRpZmllcicsTm9uZSwgdSdGb3JlaWduIGtleSBpbnRvIHRoZSBDb21wb25lbnQgdGFibGUgZGVub3RpbmcgdGhlIGNvbXBvbmVudCB3aG9zZSBzZWxlY3Rpb24gZ2F0ZXMgdGhlIHNob3J0Y3V0IGNyZWF0aW9uL2RlbGV0aW9uLicsKSwKLSh1J1Nob3J0Y3V0Jyx1J0ljb25fJyx1J1knLE5vbmUsIE5vbmUsIHUnSWNvbicsMSx1J0lkZW50aWZpZXInLE5vbmUsIHUnRm9yZWlnbiBrZXkgaW50byB0aGUgRmlsZSB0YWJsZSBkZW5vdGluZyB0aGUgZXh0ZXJuYWwgaWNvbiBmaWxlIGZvciB0aGUgc2hvcnRjdXQuJywpLAotKHUnU2hvcnRjdXQnLHUnSWNvbkluZGV4Jyx1J1knLC0zMjc2NywzMjc2NyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RoZSBpY29uIGluZGV4IGZvciB0aGUgc2hvcnRjdXQuJywpLAotKHUnU2hvcnRjdXQnLHUnRGlyZWN0b3J5XycsdSdOJyxOb25lLCBOb25lLCB1J0RpcmVjdG9yeScsMSx1J0lkZW50aWZpZXInLE5vbmUsIHUnRm9yZWlnbiBrZXkgaW50byB0aGUgRGlyZWN0b3J5IHRhYmxlIGRlbm90aW5nIHRoZSBkaXJlY3Rvcnkgd2hlcmUgdGhlIHNob3J0Y3V0IGZpbGUgaXMgY3JlYXRlZC4nLCksCi0odSdTaG9ydGN1dCcsdSdUYXJnZXQnLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdTaG9ydGN1dCcsTm9uZSwgdSdUaGUgc2hvcnRjdXQgdGFyZ2V0LiBUaGlzIGlzIHVzdWFsbHkgYSBwcm9wZXJ0eSB0aGF0IGlzIGV4cGFuZGVkIHRvIGEgZmlsZSBvciBhIGZvbGRlciB0aGF0IHRoZSBzaG9ydGN1dCBwb2ludHMgdG8uJywpLAotKHUnU2hvcnRjdXQnLHUnQXJndW1lbnRzJyx1J1knLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRm9ybWF0dGVkJyxOb25lLCB1J1RoZSBjb21tYW5kLWxpbmUgYXJndW1lbnRzIGZvciB0aGUgc2hvcnRjdXQuJywpLAotKHUnU2hvcnRjdXQnLHUnU2hvcnRjdXQnLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJyxOb25lLCB1J1ByaW1hcnkga2V5LCBub24tbG9jYWxpemVkIHRva2VuLicsKSwKLSh1J1Nob3J0Y3V0Jyx1J0hvdGtleScsdSdZJywwLDMyNzY3LE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGhlIGhvdGtleSBmb3IgdGhlIHNob3J0Y3V0LiBJdCBoYXMgdGhlIHZpcnR1YWwta2V5IGNvZGUgZm9yIHRoZSBrZXkgaW4gdGhlIGxvdy1vcmRlciBieXRlLCBhbmQgdGhlIG1vZGlmaWVyIGZsYWdzIGluIHRoZSBoaWdoLW9yZGVyIGJ5dGUuICcsKSwKLSh1J1Nob3J0Y3V0Jyx1J1Nob3dDbWQnLHUnWScsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdScxOzM7NycsdSdUaGUgc2hvdyBjb21tYW5kIGZvciB0aGUgYXBwbGljYXRpb24gd2luZG93LlRoZSBmb2xsb3dpbmcgdmFsdWVzIG1heSBiZSB1c2VkLicsKSwKLSh1J1Nob3J0Y3V0Jyx1J1drRGlyJyx1J1knLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsTm9uZSwgdSdOYW1lIG9mIHByb3BlcnR5IGRlZmluaW5nIGxvY2F0aW9uIG9mIHdvcmtpbmcgZGlyZWN0b3J5LicsKSwKLSh1J1NpZ25hdHVyZScsdSdGaWxlTmFtZScsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0ZpbGVuYW1lJyxOb25lLCB1J1RoZSBuYW1lIG9mIHRoZSBmaWxlLiBUaGlzIG1heSBjb250YWluIGEgInNob3J0IG5hbWV8bG9uZyBuYW1lIiBwYWlyLicsKSwKLSh1J1NpZ25hdHVyZScsdSdTaWduYXR1cmUnLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJyxOb25lLCB1J1RoZSB0YWJsZSBrZXkuIFRoZSBTaWduYXR1cmUgcmVwcmVzZW50cyBhIHVuaXF1ZSBmaWxlIHNpZ25hdHVyZS4nLCksCi0odSdTaWduYXR1cmUnLHUnTGFuZ3VhZ2VzJyx1J1knLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnTGFuZ3VhZ2UnLE5vbmUsIHUnVGhlIGxhbmd1YWdlcyBzdXBwb3J0ZWQgYnkgdGhlIGZpbGUuJywpLAotKHUnU2lnbmF0dXJlJyx1J01heERhdGUnLHUnWScsMCwyMTQ3NDgzNjQ3LE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGhlIG1heGltdW0gY3JlYXRpb24gZGF0ZSBvZiB0aGUgZmlsZS4nLCksCi0odSdTaWduYXR1cmUnLHUnTWF4U2l6ZScsdSdZJywwLDIxNDc0ODM2NDcsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUaGUgbWF4aW11bSBzaXplIG9mIHRoZSBmaWxlLiAnLCksCi0odSdTaWduYXR1cmUnLHUnTWF4VmVyc2lvbicsdSdZJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RleHQnLE5vbmUsIHUnVGhlIG1heGltdW0gdmVyc2lvbiBvZiB0aGUgZmlsZS4nLCksCi0odSdTaWduYXR1cmUnLHUnTWluRGF0ZScsdSdZJywwLDIxNDc0ODM2NDcsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUaGUgbWluaW11bSBjcmVhdGlvbiBkYXRlIG9mIHRoZSBmaWxlLicsKSwKLSh1J1NpZ25hdHVyZScsdSdNaW5TaXplJyx1J1knLDAsMjE0NzQ4MzY0NyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RoZSBtaW5pbXVtIHNpemUgb2YgdGhlIGZpbGUuJywpLAotKHUnU2lnbmF0dXJlJyx1J01pblZlcnNpb24nLHUnWScsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUZXh0JyxOb25lLCB1J1RoZSBtaW5pbXVtIHZlcnNpb24gb2YgdGhlIGZpbGUuJywpLAotKHUnVGV4dFN0eWxlJyx1J1RleHRTdHlsZScsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLE5vbmUsIHUnTmFtZSBvZiB0aGUgc3R5bGUuIFRoZSBwcmltYXJ5IGtleSBvZiB0aGlzIHRhYmxlLiBUaGlzIG5hbWUgaXMgZW1iZWRkZWQgaW4gdGhlIHRleHRzIHRvIGluZGljYXRlIGEgc3R5bGUgY2hhbmdlLicsKSwKLSh1J1RleHRTdHlsZScsdSdDb2xvcicsdSdZJywwLDE2Nzc3MjE1LE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnQSBsb25nIGludGVnZXIgaW5kaWNhdGluZyB0aGUgY29sb3Igb2YgdGhlIHN0cmluZyBpbiB0aGUgUkdCIGZvcm1hdCAoUmVkLCBHcmVlbiwgQmx1ZSBlYWNoIDAtMjU1LCBSR0IgPSBSICsgMjU2KkcgKyAyNTZeMipCKS4nLCksCi0odSdUZXh0U3R5bGUnLHUnRmFjZU5hbWUnLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUZXh0JyxOb25lLCB1J0Egc3RyaW5nIGluZGljYXRpbmcgdGhlIG5hbWUgb2YgdGhlIGZvbnQgdXNlZC4gUmVxdWlyZWQuIFRoZSBzdHJpbmcgbXVzdCBiZSBhdCBtb3N0IDMxIGNoYXJhY3RlcnMgbG9uZy4nLCksCi0odSdUZXh0U3R5bGUnLHUnU2l6ZScsdSdOJywwLDMyNzY3LE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGhlIHNpemUgb2YgdGhlIGZvbnQgdXNlZC4gVGhpcyBzaXplIGlzIGdpdmVuIGluIG91ciB1bml0cyAoMS8xMiBvZiB0aGUgc3lzdGVtIGZvbnQgaGVpZ2h0KS4gQXNzdW1pbmcgdGhhdCB0aGUgc3lzdGVtIGZvbnQgaXMgc2V0IHRvIDEyIHBvaW50IHNpemUsIHRoaXMgaXMgZXF1aXZhbGVudCB0byB0aGUgcG9pbnQgc2l6ZS4nLCksCi0odSdUZXh0U3R5bGUnLHUnU3R5bGVCaXRzJyx1J1knLDAsMTUsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdBIGNvbWJpbmF0aW9uIG9mIHN0eWxlIGJpdHMuJywpLAotKHUnVHlwZUxpYicsdSdEZXNjcmlwdGlvbicsdSdZJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RleHQnLE5vbmUsIE5vbmUsICksCi0odSdUeXBlTGliJyx1J0ZlYXR1cmVfJyx1J04nLE5vbmUsIE5vbmUsIHUnRmVhdHVyZScsMSx1J0lkZW50aWZpZXInLE5vbmUsIHUnUmVxdWlyZWQgZm9yZWlnbiBrZXkgaW50byB0aGUgRmVhdHVyZSBUYWJsZSwgc3BlY2lmeWluZyB0aGUgZmVhdHVyZSB0byB2YWxpZGF0ZSBvciBpbnN0YWxsIGluIG9yZGVyIGZvciB0aGUgdHlwZSBsaWJyYXJ5IHRvIGJlIG9wZXJhdGlvbmFsLicsKSwKLSh1J1R5cGVMaWInLHUnQ29tcG9uZW50XycsdSdOJyxOb25lLCBOb25lLCB1J0NvbXBvbmVudCcsMSx1J0lkZW50aWZpZXInLE5vbmUsIHUnUmVxdWlyZWQgZm9yZWlnbiBrZXkgaW50byB0aGUgQ29tcG9uZW50IFRhYmxlLCBzcGVjaWZ5aW5nIHRoZSBjb21wb25lbnQgZm9yIHdoaWNoIHRvIHJldHVybiBhIHBhdGggd2hlbiBjYWxsZWQgdGhyb3VnaCBMb2NhdGVDb21wb25lbnQuJywpLAotKHUnVHlwZUxpYicsdSdEaXJlY3RvcnlfJyx1J1knLE5vbmUsIE5vbmUsIHUnRGlyZWN0b3J5JywxLHUnSWRlbnRpZmllcicsTm9uZSwgdSdPcHRpb25hbC4gVGhlIGZvcmVpZ24ga2V5IGludG8gdGhlIERpcmVjdG9yeSB0YWJsZSBkZW5vdGluZyB0aGUgcGF0aCB0byB0aGUgaGVscCBmaWxlIGZvciB0aGUgdHlwZSBsaWJyYXJ5LicsKSwKLSh1J1R5cGVMaWInLHUnTGFuZ3VhZ2UnLHUnTicsMCwzMjc2NyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RoZSBsYW5ndWFnZSBvZiB0aGUgbGlicmFyeS4nLCksCi0odSdUeXBlTGliJyx1J1ZlcnNpb24nLHUnWScsMCwxNjc3NzIxNSxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RoZSB2ZXJzaW9uIG9mIHRoZSBsaWJyYXJ5LiBUaGUgbWlub3IgdmVyc2lvbiBpcyBpbiB0aGUgbG93ZXIgOCBiaXRzIG9mIHRoZSBpbnRlZ2VyLiBUaGUgbWFqb3IgdmVyc2lvbiBpcyBpbiB0aGUgbmV4dCAxNiBiaXRzLiAnLCksCi0odSdUeXBlTGliJyx1J0Nvc3QnLHUnWScsMCwyMTQ3NDgzNjQ3LE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGhlIGNvc3QgYXNzb2NpYXRlZCB3aXRoIHRoZSByZWdpc3RyYXRpb24gb2YgdGhlIHR5cGVsaWIuIFRoaXMgY29sdW1uIGlzIGN1cnJlbnRseSBvcHRpb25hbC4nLCksCi0odSdUeXBlTGliJyx1J0xpYklEJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnR3VpZCcsTm9uZSwgdSdUaGUgR1VJRCB0aGF0IHJlcHJlc2VudHMgdGhlIGxpYnJhcnkuJywpLAotKHUnVUlUZXh0Jyx1J1RleHQnLHUnWScsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUZXh0JyxOb25lLCB1J1RoZSBsb2NhbGl6ZWQgdmVyc2lvbiBvZiB0aGUgc3RyaW5nLicsKSwKLSh1J1VJVGV4dCcsdSdLZXknLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJyxOb25lLCB1J0EgdW5pcXVlIGtleSB0aGF0IGlkZW50aWZpZXMgdGhlIHBhcnRpY3VsYXIgc3RyaW5nLicsKSwKLSh1J1VwZ3JhZGUnLHUnQXR0cmlidXRlcycsdSdOJywwLDIxNDc0ODM2NDcsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUaGUgYXR0cmlidXRlcyBvZiB0aGlzIHByb2R1Y3Qgc2V0LicsKSwKLSh1J1VwZ3JhZGUnLHUnTGFuZ3VhZ2UnLHUnWScsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdMYW5ndWFnZScsTm9uZSwgdSdBIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIGxhbmd1YWdlcyBmb3IgZWl0aGVyIHByb2R1Y3RzIGluIHRoaXMgc2V0IG9yIHByb2R1Y3RzIG5vdCBpbiB0aGlzIHNldC4nLCksCi0odSdVcGdyYWRlJyx1J0FjdGlvblByb3BlcnR5Jyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVXBwZXJDYXNlJyxOb25lLCB1J1RoZSBwcm9wZXJ0eSB0byBzZXQgd2hlbiBhIHByb2R1Y3QgaW4gdGhpcyBzZXQgaXMgZm91bmQuJywpLAotKHUnVXBncmFkZScsdSdSZW1vdmUnLHUnWScsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdGb3JtYXR0ZWQnLE5vbmUsIHUnVGhlIGxpc3Qgb2YgZmVhdHVyZXMgdG8gcmVtb3ZlIHdoZW4gdW5pbnN0YWxsaW5nIGEgcHJvZHVjdCBmcm9tIHRoaXMgc2V0LiAgVGhlIGRlZmF1bHQgaXMgIkFMTCIuJywpLAotKHUnVXBncmFkZScsdSdVcGdyYWRlQ29kZScsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0d1aWQnLE5vbmUsIHUnVGhlIFVwZ3JhZGVDb2RlIEdVSUQgYmVsb25naW5nIHRvIHRoZSBwcm9kdWN0cyBpbiB0aGlzIHNldC4nLCksCi0odSdVcGdyYWRlJyx1J1ZlcnNpb25NYXgnLHUnWScsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUZXh0JyxOb25lLCB1J1RoZSBtYXhpbXVtIFByb2R1Y3RWZXJzaW9uIG9mIHRoZSBwcm9kdWN0cyBpbiB0aGlzIHNldC4gIFRoZSBzZXQgbWF5IG9yIG1heSBub3QgaW5jbHVkZSBwcm9kdWN0cyB3aXRoIHRoaXMgcGFydGljdWxhciB2ZXJzaW9uLicsKSwKLSh1J1VwZ3JhZGUnLHUnVmVyc2lvbk1pbicsdSdZJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RleHQnLE5vbmUsIHUnVGhlIG1pbmltdW0gUHJvZHVjdFZlcnNpb24gb2YgdGhlIHByb2R1Y3RzIGluIHRoaXMgc2V0LiAgVGhlIHNldCBtYXkgb3IgbWF5IG5vdCBpbmNsdWRlIHByb2R1Y3RzIHdpdGggdGhpcyBwYXJ0aWN1bGFyIHZlcnNpb24uJywpLAotKHUnVmVyYicsdSdTZXF1ZW5jZScsdSdZJywwLDMyNzY3LE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnT3JkZXIgd2l0aGluIHRoZSB2ZXJicyBmb3IgYSBwYXJ0aWN1bGFyIGV4dGVuc2lvbi4gQWxzbyB1c2VkIHNpbXBseSB0byBzcGVjaWZ5IHRoZSBkZWZhdWx0IHZlcmIuJywpLAotKHUnVmVyYicsdSdBcmd1bWVudCcsdSdZJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0Zvcm1hdHRlZCcsTm9uZSwgdSdPcHRpb25hbCB2YWx1ZSBmb3IgdGhlIGNvbW1hbmQgYXJndW1lbnRzLicsKSwKLSh1J1ZlcmInLHUnRXh0ZW5zaW9uXycsdSdOJyxOb25lLCBOb25lLCB1J0V4dGVuc2lvbicsMSx1J1RleHQnLE5vbmUsIHUnVGhlIGV4dGVuc2lvbiBhc3NvY2lhdGVkIHdpdGggdGhlIHRhYmxlIHJvdy4nLCksCi0odSdWZXJiJyx1J1ZlcmInLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUZXh0JyxOb25lLCB1J1RoZSB2ZXJiIGZvciB0aGUgY29tbWFuZC4nLCksCi0odSdWZXJiJyx1J0NvbW1hbmQnLHUnWScsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdGb3JtYXR0ZWQnLE5vbmUsIHUnVGhlIGNvbW1hbmQgdGV4dC4nLCksCi1dCmRpZmYgLS1naXQgYS9Ub29scy9tc2kvc2VxdWVuY2UucHkgYi9Ub29scy9tc2kvc2VxdWVuY2UucHkKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDExMzhmN2EuLjAwMDAwMDAKLS0tIGEvVG9vbHMvbXNpL3NlcXVlbmNlLnB5CisrKyAvZGV2L251bGwKQEAgLTEsMTI2ICswLDAgQEAKLUFkbWluRXhlY3V0ZVNlcXVlbmNlID0gWwotKHUnSW5zdGFsbEluaXRpYWxpemUnLCBOb25lLCAxNTAwKSwKLSh1J0luc3RhbGxGaW5hbGl6ZScsIE5vbmUsIDY2MDApLAotKHUnSW5zdGFsbEZpbGVzJywgTm9uZSwgNDAwMCksCi0odSdJbnN0YWxsQWRtaW5QYWNrYWdlJywgTm9uZSwgMzkwMCksCi0odSdGaWxlQ29zdCcsIE5vbmUsIDkwMCksCi0odSdDb3N0SW5pdGlhbGl6ZScsIE5vbmUsIDgwMCksCi0odSdDb3N0RmluYWxpemUnLCBOb25lLCAxMDAwKSwKLSh1J0luc3RhbGxWYWxpZGF0ZScsIE5vbmUsIDE0MDApLAotXQotCi1BZG1pblVJU2VxdWVuY2UgPSBbCi0odSdGaWxlQ29zdCcsIE5vbmUsIDkwMCksCi0odSdDb3N0SW5pdGlhbGl6ZScsIE5vbmUsIDgwMCksCi0odSdDb3N0RmluYWxpemUnLCBOb25lLCAxMDAwKSwKLSh1J0V4ZWN1dGVBY3Rpb24nLCBOb25lLCAxMzAwKSwKLSh1J0V4aXREaWFsb2cnLCBOb25lLCAtMSksCi0odSdGYXRhbEVycm9yJywgTm9uZSwgLTMpLAotKHUnVXNlckV4aXQnLCBOb25lLCAtMiksCi1dCi0KLUFkdnRFeGVjdXRlU2VxdWVuY2UgPSBbCi0odSdJbnN0YWxsSW5pdGlhbGl6ZScsIE5vbmUsIDE1MDApLAotKHUnSW5zdGFsbEZpbmFsaXplJywgTm9uZSwgNjYwMCksCi0odSdDb3N0SW5pdGlhbGl6ZScsIE5vbmUsIDgwMCksCi0odSdDb3N0RmluYWxpemUnLCBOb25lLCAxMDAwKSwKLSh1J0luc3RhbGxWYWxpZGF0ZScsIE5vbmUsIDE0MDApLAotKHUnQ3JlYXRlU2hvcnRjdXRzJywgTm9uZSwgNDUwMCksCi0odSdNc2lQdWJsaXNoQXNzZW1ibGllcycsIE5vbmUsIDYyNTApLAotKHUnUHVibGlzaENvbXBvbmVudHMnLCBOb25lLCA2MjAwKSwKLSh1J1B1Ymxpc2hGZWF0dXJlcycsIE5vbmUsIDYzMDApLAotKHUnUHVibGlzaFByb2R1Y3QnLCBOb25lLCA2NDAwKSwKLSh1J1JlZ2lzdGVyQ2xhc3NJbmZvJywgTm9uZSwgNDYwMCksCi0odSdSZWdpc3RlckV4dGVuc2lvbkluZm8nLCBOb25lLCA0NzAwKSwKLSh1J1JlZ2lzdGVyTUlNRUluZm8nLCBOb25lLCA0OTAwKSwKLSh1J1JlZ2lzdGVyUHJvZ0lkSW5mbycsIE5vbmUsIDQ4MDApLAotXQotCi1JbnN0YWxsRXhlY3V0ZVNlcXVlbmNlID0gWwotKHUnSW5zdGFsbEluaXRpYWxpemUnLCBOb25lLCAxNTAwKSwKLSh1J0luc3RhbGxGaW5hbGl6ZScsIE5vbmUsIDY2MDApLAotKHUnSW5zdGFsbEZpbGVzJywgTm9uZSwgNDAwMCksCi0odSdGaWxlQ29zdCcsIE5vbmUsIDkwMCksCi0odSdDb3N0SW5pdGlhbGl6ZScsIE5vbmUsIDgwMCksCi0odSdDb3N0RmluYWxpemUnLCBOb25lLCAxMDAwKSwKLSh1J0luc3RhbGxWYWxpZGF0ZScsIE5vbmUsIDE0MDApLAotKHUnQ3JlYXRlU2hvcnRjdXRzJywgTm9uZSwgNDUwMCksCi0odSdNc2lQdWJsaXNoQXNzZW1ibGllcycsIE5vbmUsIDYyNTApLAotKHUnUHVibGlzaENvbXBvbmVudHMnLCBOb25lLCA2MjAwKSwKLSh1J1B1Ymxpc2hGZWF0dXJlcycsIE5vbmUsIDYzMDApLAotKHUnUHVibGlzaFByb2R1Y3QnLCBOb25lLCA2NDAwKSwKLSh1J1JlZ2lzdGVyQ2xhc3NJbmZvJywgTm9uZSwgNDYwMCksCi0odSdSZWdpc3RlckV4dGVuc2lvbkluZm8nLCBOb25lLCA0NzAwKSwKLSh1J1JlZ2lzdGVyTUlNRUluZm8nLCBOb25lLCA0OTAwKSwKLSh1J1JlZ2lzdGVyUHJvZ0lkSW5mbycsIE5vbmUsIDQ4MDApLAotKHUnQWxsb2NhdGVSZWdpc3RyeVNwYWNlJywgdSdOT1QgSW5zdGFsbGVkJywgMTU1MCksCi0odSdBcHBTZWFyY2gnLCBOb25lLCA0MDApLAotKHUnQmluZEltYWdlJywgTm9uZSwgNDMwMCksCi0odSdDQ1BTZWFyY2gnLCB1J05PVCBJbnN0YWxsZWQnLCA1MDApLAotKHUnQ3JlYXRlRm9sZGVycycsIE5vbmUsIDM3MDApLAotKHUnRGVsZXRlU2VydmljZXMnLCB1J1ZlcnNpb25OVCcsIDIwMDApLAotKHUnRHVwbGljYXRlRmlsZXMnLCBOb25lLCA0MjEwKSwKLSh1J0ZpbmRSZWxhdGVkUHJvZHVjdHMnLCBOb25lLCAyMDApLAotKHUnSW5zdGFsbE9EQkMnLCBOb25lLCA1NDAwKSwKLSh1J0luc3RhbGxTZXJ2aWNlcycsIHUnVmVyc2lvbk5UJywgNTgwMCksCi0odSdJc29sYXRlQ29tcG9uZW50cycsIE5vbmUsIDk1MCksCi0odSdMYXVuY2hDb25kaXRpb25zJywgTm9uZSwgMTAwKSwKLSh1J01pZ3JhdGVGZWF0dXJlU3RhdGVzJywgTm9uZSwgMTIwMCksCi0odSdNb3ZlRmlsZXMnLCBOb25lLCAzODAwKSwKLSh1J1BhdGNoRmlsZXMnLCBOb25lLCA0MDkwKSwKLSh1J1Byb2Nlc3NDb21wb25lbnRzJywgTm9uZSwgMTYwMCksCi0odSdSZWdpc3RlckNvbVBsdXMnLCBOb25lLCA1NzAwKSwKLSh1J1JlZ2lzdGVyRm9udHMnLCBOb25lLCA1MzAwKSwKLSh1J1JlZ2lzdGVyUHJvZHVjdCcsIE5vbmUsIDYxMDApLAotKHUnUmVnaXN0ZXJUeXBlTGlicmFyaWVzJywgTm9uZSwgNTUwMCksCi0odSdSZWdpc3RlclVzZXInLCBOb25lLCA2MDAwKSwKLSh1J1JlbW92ZUR1cGxpY2F0ZUZpbGVzJywgTm9uZSwgMzQwMCksCi0odSdSZW1vdmVFbnZpcm9ubWVudFN0cmluZ3MnLCBOb25lLCAzMzAwKSwKLSh1J1JlbW92ZUV4aXN0aW5nUHJvZHVjdHMnLCBOb25lLCA2NzAwKSwKLSh1J1JlbW92ZUZpbGVzJywgTm9uZSwgMzUwMCksCi0odSdSZW1vdmVGb2xkZXJzJywgTm9uZSwgMzYwMCksCi0odSdSZW1vdmVJbmlWYWx1ZXMnLCBOb25lLCAzMTAwKSwKLSh1J1JlbW92ZU9EQkMnLCBOb25lLCAyNDAwKSwKLSh1J1JlbW92ZVJlZ2lzdHJ5VmFsdWVzJywgTm9uZSwgMjYwMCksCi0odSdSZW1vdmVTaG9ydGN1dHMnLCBOb25lLCAzMjAwKSwKLSh1J1JNQ0NQU2VhcmNoJywgdSdOT1QgSW5zdGFsbGVkJywgNjAwKSwKLSh1J1NlbGZSZWdNb2R1bGVzJywgTm9uZSwgNTYwMCksCi0odSdTZWxmVW5yZWdNb2R1bGVzJywgTm9uZSwgMjIwMCksCi0odSdTZXRPREJDRm9sZGVycycsIE5vbmUsIDExMDApLAotKHUnU3RhcnRTZXJ2aWNlcycsIHUnVmVyc2lvbk5UJywgNTkwMCksCi0odSdTdG9wU2VydmljZXMnLCB1J1ZlcnNpb25OVCcsIDE5MDApLAotKHUnTXNpVW5wdWJsaXNoQXNzZW1ibGllcycsIE5vbmUsIDE3NTApLAotKHUnVW5wdWJsaXNoQ29tcG9uZW50cycsIE5vbmUsIDE3MDApLAotKHUnVW5wdWJsaXNoRmVhdHVyZXMnLCBOb25lLCAxODAwKSwKLSh1J1VucmVnaXN0ZXJDbGFzc0luZm8nLCBOb25lLCAyNzAwKSwKLSh1J1VucmVnaXN0ZXJDb21QbHVzJywgTm9uZSwgMjEwMCksCi0odSdVbnJlZ2lzdGVyRXh0ZW5zaW9uSW5mbycsIE5vbmUsIDI4MDApLAotKHUnVW5yZWdpc3RlckZvbnRzJywgTm9uZSwgMjUwMCksCi0odSdVbnJlZ2lzdGVyTUlNRUluZm8nLCBOb25lLCAzMDAwKSwKLSh1J1VucmVnaXN0ZXJQcm9nSWRJbmZvJywgTm9uZSwgMjkwMCksCi0odSdVbnJlZ2lzdGVyVHlwZUxpYnJhcmllcycsIE5vbmUsIDIzMDApLAotKHUnVmFsaWRhdGVQcm9kdWN0SUQnLCBOb25lLCA3MDApLAotKHUnV3JpdGVFbnZpcm9ubWVudFN0cmluZ3MnLCBOb25lLCA1MjAwKSwKLSh1J1dyaXRlSW5pVmFsdWVzJywgTm9uZSwgNTEwMCksCi0odSdXcml0ZVJlZ2lzdHJ5VmFsdWVzJywgTm9uZSwgNTAwMCksCi1dCi0KLUluc3RhbGxVSVNlcXVlbmNlID0gWwotKHUnRmlsZUNvc3QnLCBOb25lLCA5MDApLAotKHUnQ29zdEluaXRpYWxpemUnLCBOb25lLCA4MDApLAotKHUnQ29zdEZpbmFsaXplJywgTm9uZSwgMTAwMCksCi0odSdFeGVjdXRlQWN0aW9uJywgTm9uZSwgMTMwMCksCi0odSdFeGl0RGlhbG9nJywgTm9uZSwgLTEpLAotKHUnRmF0YWxFcnJvcicsIE5vbmUsIC0zKSwKLSh1J1VzZXJFeGl0JywgTm9uZSwgLTIpLAotKHUnQXBwU2VhcmNoJywgTm9uZSwgNDAwKSwKLSh1J0NDUFNlYXJjaCcsIHUnTk9UIEluc3RhbGxlZCcsIDUwMCksCi0odSdGaW5kUmVsYXRlZFByb2R1Y3RzJywgTm9uZSwgMjAwKSwKLSh1J0lzb2xhdGVDb21wb25lbnRzJywgTm9uZSwgOTUwKSwKLSh1J0xhdW5jaENvbmRpdGlvbnMnLCBOb25lLCAxMDApLAotKHUnTWlncmF0ZUZlYXR1cmVTdGF0ZXMnLCBOb25lLCAxMjAwKSwKLSh1J1JNQ0NQU2VhcmNoJywgdSdOT1QgSW5zdGFsbGVkJywgNjAwKSwKLSh1J1ZhbGlkYXRlUHJvZHVjdElEJywgTm9uZSwgNzAwKSwKLV0KLQotdGFibGVzPVsnQWRtaW5FeGVjdXRlU2VxdWVuY2UnLCAnQWRtaW5VSVNlcXVlbmNlJywgJ0FkdnRFeGVjdXRlU2VxdWVuY2UnLCAnSW5zdGFsbEV4ZWN1dGVTZXF1ZW5jZScsICdJbnN0YWxsVUlTZXF1ZW5jZSddCmRpZmYgLS1naXQgYS9Ub29scy9tc2kvdGNsdGsvdGNsdGsud2l4cHJvaiBiL1Rvb2xzL21zaS90Y2x0ay90Y2x0ay53aXhwcm9qCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRkMWQ3NGMKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9tc2kvdGNsdGsvdGNsdGsud2l4cHJvagpAQCAtMCwwICsxLDQ5IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgorPFByb2plY3QgVG9vbHNWZXJzaW9uPSI0LjAiIERlZmF1bHRUYXJnZXRzPSJCdWlsZCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+CisgICAgPFByb3BlcnR5R3JvdXA+CisgICAgICAgIDxQcm9qZWN0R3VpZD57REIzNTA2MDAtMTg2Qy00RTUyLUJBOTgtMjZBN0NFQ0IwNjdGfTwvUHJvamVjdEd1aWQ+CisgICAgICAgIDxTY2hlbWFWZXJzaW9uPjIuMDwvU2NoZW1hVmVyc2lvbj4KKyAgICAgICAgPE91dHB1dE5hbWU+dGNsdGs8L091dHB1dE5hbWU+CisgICAgICAgIDxPdXRwdXRUeXBlPlBhY2thZ2U8L091dHB1dFR5cGU+CisgICAgPC9Qcm9wZXJ0eUdyb3VwPgorICAgIDxQcm9wZXJ0eUdyb3VwPgorICAgICAgICA8IS0tIFNob3J0Y3V0IHZhbGlkYXRpb24gaXMgbm90IG5lY2Vzc2FyeSAtLT4KKyAgICAgICAgPFN1cHByZXNzSUNFcz5JQ0U0MzwvU3VwcHJlc3NJQ0VzPgorICAgIDwvUHJvcGVydHlHcm91cD4KKyAgICA8SW1wb3J0IFByb2plY3Q9Ii4uXG1zaS5wcm9wcyIgLz4KKyAgICA8SXRlbUdyb3VwPgorICAgICAgICA8Q29tcGlsZSBJbmNsdWRlPSJ0Y2x0ay53eHMiIC8+CisgICAgICAgIDxDb21waWxlIEluY2x1ZGU9InRjbHRrX2ZpbGVzLnd4cyIgLz4KKyAgICA8L0l0ZW1Hcm91cD4KKyAgICA8SXRlbUdyb3VwPgorICAgICAgICA8V3hsVGVtcGxhdGUgSW5jbHVkZT0iKi53eGxfdGVtcGxhdGUiIC8+CisgICAgPC9JdGVtR3JvdXA+CisgICAgPEl0ZW1Hcm91cD4KKyAgICAgICAgPEluc3RhbGxGaWxlcyBJbmNsdWRlPSIkKHRjbHRrRGlyKWJpblwqLmRsbCIgRXhjbHVkZT0iJCh0Y2x0a0RpciliaW5cKmcuZGxsIj4KKyAgICAgICAgICAgIDxTb3VyY2VCYXNlPiQodGNsdGtEaXIpPC9Tb3VyY2VCYXNlPgorICAgICAgICAgICAgPFNvdXJjZT4hKGJpbmRwYXRoLnRjbHRrKTwvU291cmNlPgorICAgICAgICAgICAgPFRhcmdldEJhc2U+JCh0Y2x0a0RpciliaW48L1RhcmdldEJhc2U+CisgICAgICAgICAgICA8VGFyZ2V0Xz5ETExzXDwvVGFyZ2V0Xz4KKyAgICAgICAgICAgIDxHcm91cD50Y2x0a19kbGxzPC9Hcm91cD4KKyAgICAgICAgPC9JbnN0YWxsRmlsZXM+CisKKyAgICAgICAgPEluc3RhbGxGaWxlcyBJbmNsdWRlPSIkKHRjbHRrRGlyKWxpYlwqKlwqIj4KKyAgICAgICAgICAgIDxTb3VyY2VCYXNlPiQodGNsdGtEaXIpPC9Tb3VyY2VCYXNlPgorICAgICAgICAgICAgPFNvdXJjZT4hKGJpbmRwYXRoLnRjbHRrKTwvU291cmNlPgorICAgICAgICAgICAgPFRhcmdldEJhc2U+JCh0Y2x0a0RpcilsaWI8L1RhcmdldEJhc2U+CisgICAgICAgICAgICA8VGFyZ2V0Xz50Y2xcPC9UYXJnZXRfPgorICAgICAgICAgICAgPEdyb3VwPnRjbHRrX2xpYjwvR3JvdXA+CisgICAgICAgIDwvSW5zdGFsbEZpbGVzPgorCisgICAgICAgIDxJbnN0YWxsRmlsZXMgSW5jbHVkZT0iJChQeVNvdXJjZVBhdGgpTGliXHRraW50ZXJcKipcKjskKFB5U291cmNlUGF0aClMaWJcaWRsZWxpYlwqKlwqOyQoUHlTb3VyY2VQYXRoKUxpYlx0dXJ0bGVkZW1vXCoqXCoiCisgICAgICAgICAgICAgICAgICAgICAgRXhjbHVkZT0iJChQeVNvdXJjZVBhdGgpTGliXCoqXCoucHljOyQoUHlTb3VyY2VQYXRoKUxpYlwqKlwqLnB5byI+CisgICAgICAgICAgICA8U291cmNlQmFzZT4kKFB5U291cmNlUGF0aCk8L1NvdXJjZUJhc2U+CisgICAgICAgICAgICA8U291cmNlPiEoYmluZHBhdGguc3JjKTwvU291cmNlPgorICAgICAgICAgICAgPFRhcmdldEJhc2U+JChQeVNvdXJjZVBhdGgpPC9UYXJnZXRCYXNlPgorICAgICAgICAgICAgPFRhcmdldF8+PC9UYXJnZXRfPgorICAgICAgICAgICAgPEdyb3VwPnRraW50ZXJfbGliPC9Hcm91cD4KKyAgICAgICAgPC9JbnN0YWxsRmlsZXM+CisgICAgPC9JdGVtR3JvdXA+CisgICAgCisgICAgPEltcG9ydCBQcm9qZWN0PSIuLlxtc2kudGFyZ2V0cyIgLz4KKzwvUHJvamVjdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9Ub29scy9tc2kvdGNsdGsvdGNsdGsud3hzIGIvVG9vbHMvbXNpL3RjbHRrL3RjbHRrLnd4cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MTlmY2NiCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL3RjbHRrL3RjbHRrLnd4cwpAQCAtMCwwICsxLDQwIEBACivvu788P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPFdpeCB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS93aXgvMjAwNi93aSI+CisgICAgPFByb2R1Y3QgSWQ9IioiIExhbmd1YWdlPSIhKGxvYy5MQ0lEKSIgTmFtZT0iIShsb2MuVGl0bGUpIiBWZXJzaW9uPSIkKHZhci5WZXJzaW9uKSIgTWFudWZhY3R1cmVyPSIhKGxvYy5NYW51ZmFjdHVyZXIpIiBVcGdyYWRlQ29kZT0iJCh2YXIuVXBncmFkZUNvZGUpIj4KKyAgICAgICAgPFBhY2thZ2UgSW5zdGFsbGVyVmVyc2lvbj0iMzAwIiBDb21wcmVzc2VkPSJ5ZXMiIEluc3RhbGxTY29wZT0icGVyVXNlciIgUGxhdGZvcm09IiQodmFyLlBsYXRmb3JtKSIgLz4KKyAgICAgICAgPE1lZGlhVGVtcGxhdGUgRW1iZWRDYWI9InllcyIgQ29tcHJlc3Npb25MZXZlbD0iaGlnaCIgLz4KKyAgICAgICAgCisgICAgICAgIDxQcm9wZXJ0eVJlZiBJZD0iVXBncmFkZVRhYmxlIiAvPgorICAgICAgICA8UHJvcGVydHlSZWYgSWQ9IlJFR0lTVFJZS0VZIiAvPgorICAgICAgICAKKyAgICAgICAgPFByb3BlcnR5IElkPSJQWVRIT05fRVhFIiBTZWN1cmU9InllcyI+CisgICAgICAgICAgICA8Q29tcG9uZW50U2VhcmNoIElkPSJQeXRob25FeGUiIEd1aWQ9IiQodmFyLlB5dGhvbndFeGVDb21wb25lbnRHdWlkKSI+CisgICAgICAgICAgICAgICAgPEZpbGVTZWFyY2ggTmFtZT0icHl0aG9udy5leGUiIC8+CisgICAgICAgICAgICA8L0NvbXBvbmVudFNlYXJjaD4KKyAgICAgICAgPC9Qcm9wZXJ0eT4KKyAgICAgICAgCisgICAgICAgIDxDb25kaXRpb24gTWVzc2FnZT0iIShsb2MuTm9QeXRob24pIj5QWVRIT05fRVhFPC9Db25kaXRpb24+CisKKyAgICAgICAgPEZlYXR1cmUgSWQ9IkRlZmF1bHRGZWF0dXJlIiBBbGxvd0FkdmVydGlzZT0ibm8iIFRpdGxlPSIhKGxvYy5UaXRsZSkiIERlc2NyaXB0aW9uPSIhKGxvYy5EZXNjcmlwdGlvbikiPgorICAgICAgICAgICAgPENvbXBvbmVudEdyb3VwUmVmIElkPSJ0a2ludGVyX2V4dGVuc2lvbiIgLz4KKyAgICAgICAgICAgIDxDb21wb25lbnRHcm91cFJlZiBJZD0idGNsdGtfZGxscyIgLz4KKyAgICAgICAgICAgIDxDb21wb25lbnRHcm91cFJlZiBJZD0idGNsdGtfbGliIiAvPgorICAgICAgICAgICAgPENvbXBvbmVudEdyb3VwUmVmIElkPSJ0a2ludGVyX2xpYiIgLz4KKyAgICAgICAgICAgIAorICAgICAgICAgICAgPENvbXBvbmVudCBJZD0iaWRsZV9zaG9ydGN1dCIgRGlyZWN0b3J5PSJNZW51RGlyIj4KKyAgICAgICAgICAgICAgICA8UmVnaXN0cnlWYWx1ZSBLZXlQYXRoPSJ5ZXMiIFJvb3Q9IkhLTVUiIEtleT0iW1JFR0lTVFJZS0VZXVxJZGxlIiBUeXBlPSJzdHJpbmciIFZhbHVlPSJbI0xpYl9pZGxlbGliX2lkbGUucHl3XSIgLz4KKyAgICAgICAgICAgICAgICA8UmVtb3ZlRm9sZGVyIElkPSJSZW1vdmVfTWVudURpciIgT249InVuaW5zdGFsbCIgLz4KKworICAgICAgICAgICAgICAgIDxTaG9ydGN1dCBJZD0iSURMRSIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgRGlyZWN0b3J5PSJNZW51RGlyIgorICAgICAgICAgICAgICAgICAgICAgICAgICBOYW1lPSIhKGxvYy5TaG9ydGN1dE5hbWUpIgorICAgICAgICAgICAgICAgICAgICAgICAgICBEZXNjcmlwdGlvbj0iIShsb2MuU2hvcnRjdXREZXNjcmlwdGlvbikiCisgICAgICAgICAgICAgICAgICAgICAgICAgIFRhcmdldD0iW1BZVEhPTl9FWEVdIgorICAgICAgICAgICAgICAgICAgICAgICAgICBBcmd1bWVudHM9JyJbI0xpYl9pZGxlbGliX2lkbGUucHl3XSInCisgICAgICAgICAgICAgICAgICAgICAgICAgIEljb249ImlkbGUuZXhlIj4KKyAgICAgICAgICAgICAgICAgICAgPEljb24gSWQ9ImlkbGUuZXhlIiBTb3VyY2VGaWxlPSIhKGJpbmRwYXRoLnNyYylMaWJcaWRsZWxpYlxJY29uc1xpZGxlLmljbyIgLz4KKyAgICAgICAgICAgICAgICA8L1Nob3J0Y3V0PgorICAgICAgICAgICAgPC9Db21wb25lbnQ+CisgICAgICAgIDwvRmVhdHVyZT4KKyAgICA8L1Byb2R1Y3Q+Cis8L1dpeD4KZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS90Y2x0ay90Y2x0a19kLndpeHByb2ogYi9Ub29scy9tc2kvdGNsdGsvdGNsdGtfZC53aXhwcm9qCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMyNjYxOTAKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9tc2kvdGNsdGsvdGNsdGtfZC53aXhwcm9qCkBAIC0wLDAgKzEsMjggQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8UHJvamVjdCBUb29sc1ZlcnNpb249IjQuMCIgRGVmYXVsdFRhcmdldHM9IkJ1aWxkIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KKyAgICA8UHJvcGVydHlHcm91cD4KKyAgICAgICAgPFByb2plY3RHdWlkPntFREExRkE1QS1FMkFBLTRFQUYtQjQ5Qi04N0Q5ODFDRDBGMTZ9PC9Qcm9qZWN0R3VpZD4KKyAgICAgICAgPFNjaGVtYVZlcnNpb24+Mi4wPC9TY2hlbWFWZXJzaW9uPgorICAgICAgICA8T3V0cHV0TmFtZT50Y2x0a19kPC9PdXRwdXROYW1lPgorICAgICAgICA8T3V0cHV0VHlwZT5QYWNrYWdlPC9PdXRwdXRUeXBlPgorICAgIDwvUHJvcGVydHlHcm91cD4KKyAgICA8SW1wb3J0IFByb2plY3Q9Ii4uXG1zaS5wcm9wcyIgLz4KKyAgICA8SXRlbUdyb3VwPgorICAgICAgICA8Q29tcGlsZSBJbmNsdWRlPSJ0Y2x0a19kLnd4cyIgLz4KKyAgICAgICAgPENvbXBpbGUgSW5jbHVkZT0idGNsdGtfZmlsZXMud3hzIiAvPgorICAgIDwvSXRlbUdyb3VwPgorICAgIDxJdGVtR3JvdXA+CisgICAgICAgIDxXeGxUZW1wbGF0ZSBJbmNsdWRlPSIqLnd4bF90ZW1wbGF0ZSIgLz4KKyAgICA8L0l0ZW1Hcm91cD4KKyAgICA8SXRlbUdyb3VwPgorICAgICAgICA8SW5zdGFsbEZpbGVzIEluY2x1ZGU9IiQodGNsdGtEaXIpYmluXCpnLmRsbCI+CisgICAgICAgICAgICA8U291cmNlQmFzZT4kKHRjbHRrRGlyKTwvU291cmNlQmFzZT4KKyAgICAgICAgICAgIDxTb3VyY2U+IShiaW5kcGF0aC50Y2x0ayk8L1NvdXJjZT4KKyAgICAgICAgICAgIDxUYXJnZXRCYXNlPiQodGNsdGtEaXIpYmluPC9UYXJnZXRCYXNlPgorICAgICAgICAgICAgPFRhcmdldF8+RExMc1w8L1RhcmdldF8+CisgICAgICAgICAgICA8R3JvdXA+dGNsdGtfZGxsc19kPC9Hcm91cD4KKyAgICAgICAgPC9JbnN0YWxsRmlsZXM+CisgICAgPC9JdGVtR3JvdXA+CisgICAgCisgICAgPEltcG9ydCBQcm9qZWN0PSIuLlxtc2kudGFyZ2V0cyIgLz4KKzwvUHJvamVjdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9Ub29scy9tc2kvdGNsdGsvdGNsdGtfZC53eHMgYi9Ub29scy9tc2kvdGNsdGsvdGNsdGtfZC53eHMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2Y1MDQ4ZgotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS90Y2x0ay90Y2x0a19kLnd4cwpAQCAtMCwwICsxLDE0IEBACivvu788P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPFdpeCB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS93aXgvMjAwNi93aSI+CisgICAgPFByb2R1Y3QgSWQ9IioiIExhbmd1YWdlPSIhKGxvYy5MQ0lEKSIgTmFtZT0iIShsb2MuVGl0bGUpIiBWZXJzaW9uPSIkKHZhci5WZXJzaW9uKSIgTWFudWZhY3R1cmVyPSIhKGxvYy5NYW51ZmFjdHVyZXIpIiBVcGdyYWRlQ29kZT0iJCh2YXIuVXBncmFkZUNvZGUpIj4KKyAgICAgICAgPFBhY2thZ2UgSW5zdGFsbGVyVmVyc2lvbj0iMzAwIiBDb21wcmVzc2VkPSJ5ZXMiIEluc3RhbGxTY29wZT0icGVyVXNlciIgUGxhdGZvcm09IiQodmFyLlBsYXRmb3JtKSIgLz4KKyAgICAgICAgPE1lZGlhVGVtcGxhdGUgRW1iZWRDYWI9InllcyIgQ29tcHJlc3Npb25MZXZlbD0iaGlnaCIgLz4KKyAgICAgICAgCisgICAgICAgIDxQcm9wZXJ0eVJlZiBJZD0iVXBncmFkZVRhYmxlIiAvPgorICAgICAgICAKKyAgICAgICAgPEZlYXR1cmUgSWQ9IkRlYnVnQmluYXJpZXMiIEFsbG93QWR2ZXJ0aXNlPSJubyIgVGl0bGU9IiEobG9jLlRpdGxlX2QpIiBEZXNjcmlwdGlvbj0iIShsb2MuRGVzY3JpcHRpb25fZCkiPgorICAgICAgICAgICAgPENvbXBvbmVudEdyb3VwUmVmIElkPSJ0a2ludGVyX2V4dGVuc2lvbl9kIiAvPgorICAgICAgICAgICAgPENvbXBvbmVudEdyb3VwUmVmIElkPSJ0Y2x0a19kbGxzX2QiIC8+CisgICAgICAgIDwvRmVhdHVyZT4KKyAgICA8L1Byb2R1Y3Q+Cis8L1dpeD4KZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS90Y2x0ay90Y2x0a19lbi1VUy53eGxfdGVtcGxhdGUgYi9Ub29scy9tc2kvdGNsdGsvdGNsdGtfZW4tVVMud3hsX3RlbXBsYXRlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQwZjhjMTAKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9tc2kvdGNsdGsvdGNsdGtfZW4tVVMud3hsX3RlbXBsYXRlCkBAIC0wLDAgKzEsOCBAQAor77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKzxXaXhMb2NhbGl6YXRpb24gQ3VsdHVyZT0iZW4tdXMiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3dpeC8yMDA2L2xvY2FsaXphdGlvbiI+CisgICAgPFN0cmluZyBJZD0iRGVzY3JpcHRvciI+VGNsL1RrIFN1cHBvcnQ8L1N0cmluZz4KKyAgICA8U3RyaW5nIElkPSJTaG9ydERlc2NyaXB0b3IiPnRjbHRrPC9TdHJpbmc+CisgICAgPFN0cmluZyBJZD0iTm9QeXRob24iPk5vICEobG9jLlByb2R1Y3ROYW1lKSBpbnN0YWxsYXRpb24gd2FzIGRldGVjdGVkLjwvU3RyaW5nPgorICAgIDxTdHJpbmcgSWQ9IlNob3J0Y3V0TmFtZSI+SURMRSAoUHl0aG9uIHt7U2hvcnRWZXJzaW9ufX0ge3tCaXRuZXNzfX0pPC9TdHJpbmc+CisgICAgPFN0cmluZyBJZD0iU2hvcnRjdXREZXNjcmlwdGlvbiI+TGF1bmNoZXMgSURMRSwgdGhlIGludGVyYWN0aXZlIGVudmlyb25tZW50IGZvciAhKGxvYy5Qcm9kdWN0TmFtZSkuPC9TdHJpbmc+Cis8L1dpeExvY2FsaXphdGlvbj4KZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS90Y2x0ay90Y2x0a19maWxlcy53eHMgYi9Ub29scy9tc2kvdGNsdGsvdGNsdGtfZmlsZXMud3hzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBkMWI0YTkKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9tc2kvdGNsdGsvdGNsdGtfZmlsZXMud3hzCkBAIC0wLDAgKzEsMzUgQEAKK++7vzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8V2l4IHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3dpeC8yMDA2L3dpIj4KKyAgICA8RnJhZ21lbnQ+CisgICAgICAgIDxDb21wb25lbnRHcm91cCBJZD0idGtpbnRlcl9leHRlbnNpb24iPgorICAgICAgICAgICAgPENvbXBvbmVudCBJZD0iX3RraW50ZXIucHlkIiBEaXJlY3Rvcnk9IkRMTHMiIEd1aWQ9IioiPgorICAgICAgICAgICAgICAgIDxGaWxlIE5hbWU9Il90a2ludGVyLnB5ZCIgS2V5UGF0aD0ieWVzIiAvPgorICAgICAgICAgICAgPC9Db21wb25lbnQ+CisgICAgICAgICAgICA8Q29tcG9uZW50IElkPSJfdGtpbnRlci5saWIiIERpcmVjdG9yeT0ibGlicyIgR3VpZD0iKiI+CisgICAgICAgICAgICAgICAgPEZpbGUgTmFtZT0iX3RraW50ZXIubGliIiBLZXlQYXRoPSJ5ZXMiIC8+CisgICAgICAgICAgICA8L0NvbXBvbmVudD4KKyAgICAgICAgPC9Db21wb25lbnRHcm91cD4KKyAgICA8L0ZyYWdtZW50PgorICAgIAorICAgIDxGcmFnbWVudD4KKyAgICAgICAgPENvbXBvbmVudEdyb3VwIElkPSJ0a2ludGVyX2V4dGVuc2lvbl9zeW1ib2xzIj4KKyAgICAgICAgICAgIDxDb21wb25lbnQgSWQ9Il90a2ludGVyLnBkYiIgRGlyZWN0b3J5PSJETExzIiBHdWlkPSIqIj4KKyAgICAgICAgICAgICAgICA8RmlsZSBOYW1lPSJfdGtpbnRlci5wZGIiIC8+CisgICAgICAgICAgICA8L0NvbXBvbmVudD4KKyAgICAgICAgPC9Db21wb25lbnRHcm91cD4KKyAgICA8L0ZyYWdtZW50PgorICAgIAorICAgIDxGcmFnbWVudD4KKyAgICAgICAgPENvbXBvbmVudEdyb3VwIElkPSJ0a2ludGVyX2V4dGVuc2lvbl9kIj4KKyAgICAgICAgICAgIDxDb21wb25lbnQgSWQ9Il90a2ludGVyX2QucHlkIiBEaXJlY3Rvcnk9IkRMTHMiIEd1aWQ9IioiPgorICAgICAgICAgICAgICAgIDxGaWxlIE5hbWU9Il90a2ludGVyX2QucHlkIiAvPgorICAgICAgICAgICAgPC9Db21wb25lbnQ+CisgICAgICAgICAgICA8Q29tcG9uZW50IElkPSJfdGtpbnRlcl9kLmxpYiIgRGlyZWN0b3J5PSJETExzIiBHdWlkPSIqIj4KKyAgICAgICAgICAgICAgICA8RmlsZSBOYW1lPSJfdGtpbnRlcl9kLmxpYiIgLz4KKyAgICAgICAgICAgIDwvQ29tcG9uZW50PgorICAgICAgICAgICAgPENvbXBvbmVudCBJZD0iX3RraW50ZXJfZC5wZGIiIERpcmVjdG9yeT0iRExMcyIgR3VpZD0iKiI+CisgICAgICAgICAgICAgICAgPEZpbGUgTmFtZT0iX3RraW50ZXJfZC5wZGIiIC8+CisgICAgICAgICAgICA8L0NvbXBvbmVudD4KKyAgICAgICAgPC9Db21wb25lbnRHcm91cD4KKyAgICA8L0ZyYWdtZW50PgorPC9XaXg+CmRpZmYgLS1naXQgYS9Ub29scy9tc2kvdGNsdGsvdGNsdGtfcGRiLndpeHByb2ogYi9Ub29scy9tc2kvdGNsdGsvdGNsdGtfcGRiLndpeHByb2oKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzM3MDc5OAotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS90Y2x0ay90Y2x0a19wZGIud2l4cHJvagpAQCAtMCwwICsxLDE5IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgorPFByb2plY3QgVG9vbHNWZXJzaW9uPSI0LjAiIERlZmF1bHRUYXJnZXRzPSJCdWlsZCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+CisgICAgPFByb3BlcnR5R3JvdXA+CisgICAgICAgIDxQcm9qZWN0R3VpZD57MDIwNTNBRkEtMTgzMS00OTlBLUIzRUEtRDhCMjIzRDNDNDBEfTwvUHJvamVjdEd1aWQ+CisgICAgICAgIDxTY2hlbWFWZXJzaW9uPjIuMDwvU2NoZW1hVmVyc2lvbj4KKyAgICAgICAgPE91dHB1dE5hbWU+dGNsdGtfcGRiPC9PdXRwdXROYW1lPgorICAgICAgICA8T3V0cHV0VHlwZT5QYWNrYWdlPC9PdXRwdXRUeXBlPgorICAgIDwvUHJvcGVydHlHcm91cD4KKyAgICA8SW1wb3J0IFByb2plY3Q9Ii4uXG1zaS5wcm9wcyIgLz4KKyAgICA8SXRlbUdyb3VwPgorICAgICAgICA8Q29tcGlsZSBJbmNsdWRlPSJ0Y2x0a19wZGIud3hzIiAvPgorICAgICAgICA8Q29tcGlsZSBJbmNsdWRlPSJ0Y2x0a19maWxlcy53eHMiIC8+CisgICAgPC9JdGVtR3JvdXA+CisgICAgPEl0ZW1Hcm91cD4KKyAgICAgICAgPFd4bFRlbXBsYXRlIEluY2x1ZGU9Iioud3hsX3RlbXBsYXRlIiAvPgorICAgIDwvSXRlbUdyb3VwPgorICAgIAorICAgIDxJbXBvcnQgUHJvamVjdD0iLi5cbXNpLnRhcmdldHMiIC8+Cis8L1Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL3RjbHRrL3RjbHRrX3BkYi53eHMgYi9Ub29scy9tc2kvdGNsdGsvdGNsdGtfcGRiLnd4cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NWM2MmJiCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL3RjbHRrL3RjbHRrX3BkYi53eHMKQEAgLTAsMCArMSwxMyBAQAor77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzxXaXggeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vd2l4LzIwMDYvd2kiPgorICAgIDxQcm9kdWN0IElkPSIqIiBMYW5ndWFnZT0iIShsb2MuTENJRCkiIE5hbWU9IiEobG9jLlRpdGxlKSIgVmVyc2lvbj0iJCh2YXIuVmVyc2lvbikiIE1hbnVmYWN0dXJlcj0iIShsb2MuTWFudWZhY3R1cmVyKSIgVXBncmFkZUNvZGU9IiQodmFyLlVwZ3JhZGVDb2RlKSI+CisgICAgICAgIDxQYWNrYWdlIEluc3RhbGxlclZlcnNpb249IjMwMCIgQ29tcHJlc3NlZD0ieWVzIiBJbnN0YWxsU2NvcGU9InBlclVzZXIiIFBsYXRmb3JtPSIkKHZhci5QbGF0Zm9ybSkiIC8+CisgICAgICAgIDxNZWRpYVRlbXBsYXRlIEVtYmVkQ2FiPSJ5ZXMiIENvbXByZXNzaW9uTGV2ZWw9ImhpZ2giIC8+CisgICAgICAgIAorICAgICAgICA8UHJvcGVydHlSZWYgSWQ9IlVwZ3JhZGVUYWJsZSIgLz4KKyAgICAgICAgCisgICAgICAgIDxGZWF0dXJlIElkPSJTeW1ib2xzIiBBbGxvd0FkdmVydGlzZT0ibm8iIFRpdGxlPSIhKGxvYy5UaXRsZVBkYikiIERlc2NyaXB0aW9uPSIhKGxvYy5EZXNjcmlwdGlvblBkYikiPgorICAgICAgICAgICAgPENvbXBvbmVudEdyb3VwUmVmIElkPSJ0a2ludGVyX2V4dGVuc2lvbl9zeW1ib2xzIiAvPgorICAgICAgICA8L0ZlYXR1cmU+CisgICAgPC9Qcm9kdWN0PgorPC9XaXg+CmRpZmYgLS1naXQgYS9Ub29scy9tc2kvdGVzdC90ZXN0LndpeHByb2ogYi9Ub29scy9tc2kvdGVzdC90ZXN0LndpeHByb2oKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODM0N2UzZgotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS90ZXN0L3Rlc3Qud2l4cHJvagpAQCAtMCwwICsxLDI5IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgorPFByb2plY3QgVG9vbHNWZXJzaW9uPSI0LjAiIERlZmF1bHRUYXJnZXRzPSJCdWlsZCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+CisgICAgPFByb3BlcnR5R3JvdXA+CisgICAgICAgIDxQcm9qZWN0R3VpZD57REUwQjdDQzItNDM1OC00MTMxLUIzRjQtQzMxQzdGMkNENDY4fTwvUHJvamVjdEd1aWQ+CisgICAgICAgIDxTY2hlbWFWZXJzaW9uPjIuMDwvU2NoZW1hVmVyc2lvbj4KKyAgICAgICAgPE91dHB1dE5hbWU+dGVzdDwvT3V0cHV0TmFtZT4KKyAgICAgICAgPE91dHB1dFR5cGU+UGFja2FnZTwvT3V0cHV0VHlwZT4KKyAgICA8L1Byb3BlcnR5R3JvdXA+CisgICAgPEltcG9ydCBQcm9qZWN0PSIuLlxtc2kucHJvcHMiIC8+CisgICAgPEl0ZW1Hcm91cD4KKyAgICAgICAgPENvbXBpbGUgSW5jbHVkZT0idGVzdC53eHMiIC8+CisgICAgICAgIDxDb21waWxlIEluY2x1ZGU9InRlc3RfZmlsZXMud3hzIiAvPgorICAgIDwvSXRlbUdyb3VwPgorICAgIDxJdGVtR3JvdXA+CisgICAgICAgIDxFbWJlZGRlZFJlc291cmNlIEluY2x1ZGU9Iioud3hsIiAvPgorICAgIDwvSXRlbUdyb3VwPgorICAgIDxJdGVtR3JvdXA+CisgICAgICAgIDxJbnN0YWxsRmlsZXMgSW5jbHVkZT0iJChQeVNvdXJjZVBhdGgpTGliXHRlc3RcKipcKiIKKyAgICAgICAgICAgICAgICAgICAgICBFeGNsdWRlPSIkKFB5U291cmNlUGF0aClMaWJcKipcKi5weWM7JChQeVNvdXJjZVBhdGgpTGliXCoqXCoucHlvIj4KKyAgICAgICAgICAgIDxTb3VyY2VCYXNlPiQoUHlTb3VyY2VQYXRoKTwvU291cmNlQmFzZT4KKyAgICAgICAgICAgIDxTb3VyY2U+IShiaW5kcGF0aC5zcmMpPC9Tb3VyY2U+CisgICAgICAgICAgICA8VGFyZ2V0QmFzZT4kKFB5U291cmNlUGF0aCk8L1RhcmdldEJhc2U+CisgICAgICAgICAgICA8VGFyZ2V0Xz48L1RhcmdldF8+CisgICAgICAgICAgICA8R3JvdXA+dGVzdF9weTwvR3JvdXA+CisgICAgICAgIDwvSW5zdGFsbEZpbGVzPgorICAgIDwvSXRlbUdyb3VwPgorICAgIAorICAgIDxJbXBvcnQgUHJvamVjdD0iLi5cbXNpLnRhcmdldHMiIC8+Cis8L1Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL3Rlc3QvdGVzdC53eHMgYi9Ub29scy9tc2kvdGVzdC90ZXN0Lnd4cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZTQ3Nzg1Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL3Rlc3QvdGVzdC53eHMKQEAgLTAsMCArMSwxNSBAQAor77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzxXaXggeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vd2l4LzIwMDYvd2kiPgorICAgIDxQcm9kdWN0IElkPSIqIiBMYW5ndWFnZT0iIShsb2MuTENJRCkiIE5hbWU9IiEobG9jLlRpdGxlKSIgVmVyc2lvbj0iJCh2YXIuVmVyc2lvbikiIE1hbnVmYWN0dXJlcj0iIShsb2MuTWFudWZhY3R1cmVyKSIgVXBncmFkZUNvZGU9IiQodmFyLlVwZ3JhZGVDb2RlKSI+CisgICAgICAgIDxQYWNrYWdlIEluc3RhbGxlclZlcnNpb249IjMwMCIgQ29tcHJlc3NlZD0ieWVzIiBJbnN0YWxsU2NvcGU9InBlclVzZXIiIFBsYXRmb3JtPSIkKHZhci5QbGF0Zm9ybSkiIC8+CisgICAgICAgIDxNZWRpYVRlbXBsYXRlIEVtYmVkQ2FiPSJ5ZXMiIENvbXByZXNzaW9uTGV2ZWw9ImhpZ2giIC8+CisgICAgICAgIAorICAgICAgICA8UHJvcGVydHlSZWYgSWQ9IlVwZ3JhZGVUYWJsZSIgLz4KKyAgICAgICAgPFByb3BlcnR5UmVmIElkPSJSRUdJU1RSWUtFWSIgLz4KKyAgICAgICAgCisgICAgICAgIDxGZWF0dXJlIElkPSJEZWZhdWx0RmVhdHVyZSIgQWxsb3dBZHZlcnRpc2U9Im5vIiBUaXRsZT0iIShsb2MuVGl0bGUpIiBEZXNjcmlwdGlvbj0iIShsb2MuRGVzY3JpcHRpb24pIj4KKyAgICAgICAgICAgIDxDb21wb25lbnRHcm91cFJlZiBJZD0idGVzdF9weSIgLz4KKyAgICAgICAgICAgIDxDb21wb25lbnRHcm91cFJlZiBJZD0idGVzdF9leHRlbnNpb25zIiAvPgorICAgICAgICA8L0ZlYXR1cmU+CisgICAgPC9Qcm9kdWN0PgorPC9XaXg+CmRpZmYgLS1naXQgYS9Ub29scy9tc2kvdGVzdC90ZXN0X2Qud2l4cHJvaiBiL1Rvb2xzL21zaS90ZXN0L3Rlc3RfZC53aXhwcm9qCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMzYjA0YmUKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9tc2kvdGVzdC90ZXN0X2Qud2l4cHJvagpAQCAtMCwwICsxLDE5IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgorPFByb2plY3QgVG9vbHNWZXJzaW9uPSI0LjAiIERlZmF1bHRUYXJnZXRzPSJCdWlsZCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+CisgICAgPFByb3BlcnR5R3JvdXA+CisgICAgICAgIDxQcm9qZWN0R3VpZD57NDFGNUFFOEQtMjRDRC00RDAzLUJFNzUtQUE2RjdGQUI0MDk3fTwvUHJvamVjdEd1aWQ+CisgICAgICAgIDxTY2hlbWFWZXJzaW9uPjIuMDwvU2NoZW1hVmVyc2lvbj4KKyAgICAgICAgPE91dHB1dE5hbWU+dGVzdF9kPC9PdXRwdXROYW1lPgorICAgICAgICA8T3V0cHV0VHlwZT5QYWNrYWdlPC9PdXRwdXRUeXBlPgorICAgIDwvUHJvcGVydHlHcm91cD4KKyAgICA8SW1wb3J0IFByb2plY3Q9Ii4uXG1zaS5wcm9wcyIgLz4KKyAgICA8SXRlbUdyb3VwPgorICAgICAgICA8Q29tcGlsZSBJbmNsdWRlPSJ0ZXN0X2Qud3hzIiAvPgorICAgICAgICA8Q29tcGlsZSBJbmNsdWRlPSJ0ZXN0X2ZpbGVzLnd4cyIgLz4KKyAgICA8L0l0ZW1Hcm91cD4KKyAgICA8SXRlbUdyb3VwPgorICAgICAgICA8RW1iZWRkZWRSZXNvdXJjZSBJbmNsdWRlPSIqLnd4bCIgLz4KKyAgICA8L0l0ZW1Hcm91cD4KKyAgICAKKyAgICA8SW1wb3J0IFByb2plY3Q9Ii4uXG1zaS50YXJnZXRzIiAvPgorPC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS90ZXN0L3Rlc3RfZC53eHMgYi9Ub29scy9tc2kvdGVzdC90ZXN0X2Qud3hzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEyNWFmZGQKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9tc2kvdGVzdC90ZXN0X2Qud3hzCkBAIC0wLDAgKzEsMTMgQEAKK++7vzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8V2l4IHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3dpeC8yMDA2L3dpIj4KKyAgICA8UHJvZHVjdCBJZD0iKiIgTGFuZ3VhZ2U9IiEobG9jLkxDSUQpIiBOYW1lPSIhKGxvYy5UaXRsZSkiIFZlcnNpb249IiQodmFyLlZlcnNpb24pIiBNYW51ZmFjdHVyZXI9IiEobG9jLk1hbnVmYWN0dXJlcikiIFVwZ3JhZGVDb2RlPSIkKHZhci5VcGdyYWRlQ29kZSkiPgorICAgICAgICA8UGFja2FnZSBJbnN0YWxsZXJWZXJzaW9uPSIzMDAiIENvbXByZXNzZWQ9InllcyIgSW5zdGFsbFNjb3BlPSJwZXJVc2VyIiBQbGF0Zm9ybT0iJCh2YXIuUGxhdGZvcm0pIiAvPgorICAgICAgICA8TWVkaWFUZW1wbGF0ZSBFbWJlZENhYj0ieWVzIiBDb21wcmVzc2lvbkxldmVsPSJoaWdoIiAvPgorICAgICAgICAKKyAgICAgICAgPFByb3BlcnR5UmVmIElkPSJVcGdyYWRlVGFibGUiIC8+CisgICAgICAgIAorICAgICAgICA8RmVhdHVyZSBJZD0iRGVidWdCaW5hcmllcyIgQWxsb3dBZHZlcnRpc2U9Im5vIiBUaXRsZT0iIShsb2MuVGl0bGVfZCkiIERlc2NyaXB0aW9uPSIhKGxvYy5EZXNjcmlwdGlvbl9kKSI+CisgICAgICAgICAgICA8Q29tcG9uZW50R3JvdXBSZWYgSWQ9InRlc3RfZXh0ZW5zaW9uc19kIiAvPgorICAgICAgICA8L0ZlYXR1cmU+CisgICAgPC9Qcm9kdWN0PgorPC9XaXg+CmRpZmYgLS1naXQgYS9Ub29scy9tc2kvdGVzdC90ZXN0X2VuLVVTLnd4bCBiL1Rvb2xzL21zaS90ZXN0L3Rlc3RfZW4tVVMud3hsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2MTVjN2EKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9tc2kvdGVzdC90ZXN0X2VuLVVTLnd4bApAQCAtMCwwICsxLDcgQEAKK++7vzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8V2l4TG9jYWxpemF0aW9uIEN1bHR1cmU9ImVuLXVzIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS93aXgvMjAwNi9sb2NhbGl6YXRpb24iPgorICAgIDxTdHJpbmcgSWQ9IkRlc2NyaXB0b3IiPlRlc3QgU3VpdGU8L1N0cmluZz4KKyAgICA8U3RyaW5nIElkPSJTaG9ydERlc2NyaXB0b3IiPnRlc3Q8L1N0cmluZz4KKyAgICA8U3RyaW5nIElkPSJOYXRpdmVNb2R1bGVzVGl0bGUiPiEobG9jLkZ1bGxQcm9kdWN0TmFtZSkgbmF0aXZlIGxpYnRlc3Q8L1N0cmluZz4KKyAgICA8U3RyaW5nIElkPSJOYXRpdmVNb2R1bGVzRGVzY3JpcHRpb24iPiEobG9jLlByb2R1Y3ROYW1lKSBOYXRpdmUgVGVzdCBNb2R1bGVzPC9TdHJpbmc+Cis8L1dpeExvY2FsaXphdGlvbj4KZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS90ZXN0L3Rlc3RfZmlsZXMud3hzIGIvVG9vbHMvbXNpL3Rlc3QvdGVzdF9maWxlcy53eHMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmQ1ZjU5MwotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS90ZXN0L3Rlc3RfZmlsZXMud3hzCkBAIC0wLDAgKzEsNjUgQEAKK++7vzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8V2l4IHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3dpeC8yMDA2L3dpIj4KKyAgICA8RnJhZ21lbnQ+CisgICAgICAgIDxDb21wb25lbnRHcm91cCBJZD0idGVzdF9leHRlbnNpb25zIj4KKyAgICAgICAgICAgIDxDb21wb25lbnQgSWQ9Il90ZXN0Y2FwaS5weWQiIERpcmVjdG9yeT0iRExMcyIgR3VpZD0iKiI+CisgICAgICAgICAgICAgICAgPEZpbGUgSWQ9Il90ZXN0Y2FwaS5weWQiIE5hbWU9Il90ZXN0Y2FwaS5weWQiIEtleVBhdGg9InllcyIgLz4KKyAgICAgICAgICAgIDwvQ29tcG9uZW50PgorICAgICAgICAgICAgPENvbXBvbmVudCBJZD0iX2N0eXBlc190ZXN0LnB5ZCIgRGlyZWN0b3J5PSJETExzIiBHdWlkPSIqIj4KKyAgICAgICAgICAgICAgICA8RmlsZSBJZD0iX2N0eXBlc190ZXN0LnB5ZCIgTmFtZT0iX2N0eXBlc190ZXN0LnB5ZCIgS2V5UGF0aD0ieWVzIiAvPgorICAgICAgICAgICAgPC9Db21wb25lbnQ+CisgICAgICAgICAgICA8Q29tcG9uZW50IElkPSJfdGVzdGJ1ZmZlci5weWQiIERpcmVjdG9yeT0iRExMcyIgR3VpZD0iKiI+CisgICAgICAgICAgICAgICAgPEZpbGUgSWQ9Il90ZXN0YnVmZmVyLnB5ZCIgTmFtZT0iX3Rlc3RidWZmZXIucHlkIiBLZXlQYXRoPSJ5ZXMiIC8+CisgICAgICAgICAgICA8L0NvbXBvbmVudD4KKyAgICAgICAgICAgIDxDb21wb25lbnQgSWQ9Il90ZXN0aW1wb3J0bXVsdGlwbGUucHlkIiBEaXJlY3Rvcnk9IkRMTHMiIEd1aWQ9IioiPgorICAgICAgICAgICAgICAgIDxGaWxlIElkPSJfdGVzdGltcG9ydG11bHRpcGxlLnB5ZCIgTmFtZT0iX3Rlc3RpbXBvcnRtdWx0aXBsZS5weWQiIEtleVBhdGg9InllcyIgLz4KKyAgICAgICAgICAgIDwvQ29tcG9uZW50PgorICAgICAgICA8L0NvbXBvbmVudEdyb3VwPgorICAgIDwvRnJhZ21lbnQ+CisgICAgCisgICAgPEZyYWdtZW50PgorICAgICAgICA8Q29tcG9uZW50R3JvdXAgSWQ9InRlc3RfZXh0ZW5zaW9uc19zeW1ib2xzIj4KKyAgICAgICAgICAgIDxDb21wb25lbnQgSWQ9Il90ZXN0Y2FwaS5wZGIiIERpcmVjdG9yeT0iRExMcyIgR3VpZD0iKiI+CisgICAgICAgICAgICAgICAgPEZpbGUgSWQ9Il90ZXN0Y2FwaS5wZGIiIE5hbWU9Il90ZXN0Y2FwaS5wZGIiIC8+CisgICAgICAgICAgICA8L0NvbXBvbmVudD4KKyAgICAgICAgICAgIDxDb21wb25lbnQgSWQ9Il9jdHlwZXNfdGVzdC5wZGIiIERpcmVjdG9yeT0iRExMcyIgR3VpZD0iKiI+CisgICAgICAgICAgICAgICAgPEZpbGUgSWQ9Il9jdHlwZXNfdGVzdC5wZGIiIE5hbWU9Il9jdHlwZXNfdGVzdC5wZGIiIC8+CisgICAgICAgICAgICA8L0NvbXBvbmVudD4KKyAgICAgICAgICAgIDxDb21wb25lbnQgSWQ9Il90ZXN0YnVmZmVyLnBkYiIgRGlyZWN0b3J5PSJETExzIiBHdWlkPSIqIj4KKyAgICAgICAgICAgICAgICA8RmlsZSBJZD0iX3Rlc3RidWZmZXIucGRiIiBOYW1lPSJfdGVzdGJ1ZmZlci5wZGIiIC8+CisgICAgICAgICAgICA8L0NvbXBvbmVudD4KKyAgICAgICAgICAgIDxDb21wb25lbnQgSWQ9Il90ZXN0aW1wb3J0bXVsdGlwbGUucGRiIiBEaXJlY3Rvcnk9IkRMTHMiIEd1aWQ9IioiPgorICAgICAgICAgICAgICAgIDxGaWxlIElkPSJfdGVzdGltcG9ydG11bHRpcGxlLnBkYiIgTmFtZT0iX3Rlc3RpbXBvcnRtdWx0aXBsZS5wZGIiIC8+CisgICAgICAgICAgICA8L0NvbXBvbmVudD4KKyAgICAgICAgPC9Db21wb25lbnRHcm91cD4KKyAgICA8L0ZyYWdtZW50PgorICAgIAorICAgIDxGcmFnbWVudD4KKyAgICAgICAgPENvbXBvbmVudEdyb3VwIElkPSJ0ZXN0X2V4dGVuc2lvbnNfZCI+CisgICAgICAgICAgICA8Q29tcG9uZW50IElkPSJfdGVzdGNhcGlfZC5weWQiIERpcmVjdG9yeT0iRExMcyIgR3VpZD0iKiI+CisgICAgICAgICAgICAgICAgPEZpbGUgSWQ9Il90ZXN0Y2FwaV9kLnB5ZCIgTmFtZT0iX3Rlc3RjYXBpX2QucHlkIiAvPgorICAgICAgICAgICAgPC9Db21wb25lbnQ+CisgICAgICAgICAgICA8Q29tcG9uZW50IElkPSJfY3R5cGVzX3Rlc3RfZC5weWQiIERpcmVjdG9yeT0iRExMcyIgR3VpZD0iKiI+CisgICAgICAgICAgICAgICAgPEZpbGUgSWQ9Il9jdHlwZXNfdGVzdF9kLnB5ZCIgTmFtZT0iX2N0eXBlc190ZXN0X2QucHlkIiAvPgorICAgICAgICAgICAgPC9Db21wb25lbnQ+CisgICAgICAgICAgICA8Q29tcG9uZW50IElkPSJfdGVzdGJ1ZmZlcl9kLnB5ZCIgRGlyZWN0b3J5PSJETExzIiBHdWlkPSIqIj4KKyAgICAgICAgICAgICAgICA8RmlsZSBJZD0iX3Rlc3RidWZmZXJfZC5weWQiIE5hbWU9Il90ZXN0YnVmZmVyX2QucHlkIiAvPgorICAgICAgICAgICAgPC9Db21wb25lbnQ+CisgICAgICAgICAgICA8Q29tcG9uZW50IElkPSJfdGVzdGltcG9ydG11bHRpcGxlX2QucHlkIiBEaXJlY3Rvcnk9IkRMTHMiIEd1aWQ9IioiPgorICAgICAgICAgICAgICAgIDxGaWxlIElkPSJfdGVzdGltcG9ydG11bHRpcGxlX2QucHlkIiBOYW1lPSJfdGVzdGltcG9ydG11bHRpcGxlX2QucHlkIiAvPgorICAgICAgICAgICAgPC9Db21wb25lbnQ+CisgICAgICAgICAgICA8Q29tcG9uZW50IElkPSJfdGVzdGNhcGlfZC5wZGIiIERpcmVjdG9yeT0iRExMcyIgR3VpZD0iKiI+CisgICAgICAgICAgICAgICAgPEZpbGUgSWQ9Il90ZXN0Y2FwaV9kLnBkYiIgTmFtZT0iX3Rlc3RjYXBpX2QucGRiIiAvPgorICAgICAgICAgICAgPC9Db21wb25lbnQ+CisgICAgICAgICAgICA8Q29tcG9uZW50IElkPSJfY3R5cGVzX3Rlc3RfZC5wZGIiIERpcmVjdG9yeT0iRExMcyIgR3VpZD0iKiI+CisgICAgICAgICAgICAgICAgPEZpbGUgSWQ9Il9jdHlwZXNfdGVzdF9kLnBkYiIgTmFtZT0iX2N0eXBlc190ZXN0X2QucGRiIiAvPgorICAgICAgICAgICAgPC9Db21wb25lbnQ+CisgICAgICAgICAgICA8Q29tcG9uZW50IElkPSJfdGVzdGJ1ZmZlcl9kLnBkYiIgRGlyZWN0b3J5PSJETExzIiBHdWlkPSIqIj4KKyAgICAgICAgICAgICAgICA8RmlsZSBJZD0iX3Rlc3RidWZmZXJfZC5wZGIiIE5hbWU9Il90ZXN0YnVmZmVyX2QucGRiIiAvPgorICAgICAgICAgICAgPC9Db21wb25lbnQ+CisgICAgICAgICAgICA8Q29tcG9uZW50IElkPSJfdGVzdGltcG9ydG11bHRpcGxlX2QucGRiIiBEaXJlY3Rvcnk9IkRMTHMiIEd1aWQ9IioiPgorICAgICAgICAgICAgICAgIDxGaWxlIElkPSJfdGVzdGltcG9ydG11bHRpcGxlX2QucGRiIiBOYW1lPSJfdGVzdGltcG9ydG11bHRpcGxlX2QucGRiIiAvPgorICAgICAgICAgICAgPC9Db21wb25lbnQ+CisgICAgICAgIDwvQ29tcG9uZW50R3JvdXA+CisgICAgPC9GcmFnbWVudD4KKzwvV2l4PgpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL3Rlc3QvdGVzdF9wZGIud2l4cHJvaiBiL1Rvb2xzL21zaS90ZXN0L3Rlc3RfcGRiLndpeHByb2oKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTY1ZjBlZAotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS90ZXN0L3Rlc3RfcGRiLndpeHByb2oKQEAgLTAsMCArMSwxOSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKzxQcm9qZWN0IFRvb2xzVmVyc2lvbj0iNC4wIiBEZWZhdWx0VGFyZ2V0cz0iQnVpbGQiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgorICAgIDxQcm9wZXJ0eUdyb3VwPgorICAgICAgICA8UHJvamVjdEd1aWQ+ezdDRjQ4QURELUNGQUEtNDk5Ri05QTA1LUJBMTg0NDBBMzM0NH08L1Byb2plY3RHdWlkPgorICAgICAgICA8U2NoZW1hVmVyc2lvbj4yLjA8L1NjaGVtYVZlcnNpb24+CisgICAgICAgIDxPdXRwdXROYW1lPnRlc3RfcGRiPC9PdXRwdXROYW1lPgorICAgICAgICA8T3V0cHV0VHlwZT5QYWNrYWdlPC9PdXRwdXRUeXBlPgorICAgIDwvUHJvcGVydHlHcm91cD4KKyAgICA8SW1wb3J0IFByb2plY3Q9Ii4uXG1zaS5wcm9wcyIgLz4KKyAgICA8SXRlbUdyb3VwPgorICAgICAgICA8Q29tcGlsZSBJbmNsdWRlPSJ0ZXN0X3BkYi53eHMiIC8+CisgICAgICAgIDxDb21waWxlIEluY2x1ZGU9InRlc3RfZmlsZXMud3hzIiAvPgorICAgIDwvSXRlbUdyb3VwPgorICAgIDxJdGVtR3JvdXA+CisgICAgICAgIDxFbWJlZGRlZFJlc291cmNlIEluY2x1ZGU9Iioud3hsIiAvPgorICAgIDwvSXRlbUdyb3VwPgorICAgIAorICAgIDxJbXBvcnQgUHJvamVjdD0iLi5cbXNpLnRhcmdldHMiIC8+Cis8L1Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL3Rlc3QvdGVzdF9wZGIud3hzIGIvVG9vbHMvbXNpL3Rlc3QvdGVzdF9wZGIud3hzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE1MTBhNmYKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9tc2kvdGVzdC90ZXN0X3BkYi53eHMKQEAgLTAsMCArMSwxMyBAQAor77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzxXaXggeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vd2l4LzIwMDYvd2kiPgorICAgIDxQcm9kdWN0IElkPSIqIiBMYW5ndWFnZT0iIShsb2MuTENJRCkiIE5hbWU9IiEobG9jLlRpdGxlKSIgVmVyc2lvbj0iJCh2YXIuVmVyc2lvbikiIE1hbnVmYWN0dXJlcj0iIShsb2MuTWFudWZhY3R1cmVyKSIgVXBncmFkZUNvZGU9IiQodmFyLlVwZ3JhZGVDb2RlKSI+CisgICAgICAgIDxQYWNrYWdlIEluc3RhbGxlclZlcnNpb249IjMwMCIgQ29tcHJlc3NlZD0ieWVzIiBJbnN0YWxsU2NvcGU9InBlclVzZXIiIFBsYXRmb3JtPSIkKHZhci5QbGF0Zm9ybSkiIC8+CisgICAgICAgIDxNZWRpYVRlbXBsYXRlIEVtYmVkQ2FiPSJ5ZXMiIENvbXByZXNzaW9uTGV2ZWw9ImhpZ2giIC8+CisgICAgICAgIAorICAgICAgICA8UHJvcGVydHlSZWYgSWQ9IlVwZ3JhZGVUYWJsZSIgLz4KKyAgICAgICAgCisgICAgICAgIDxGZWF0dXJlIElkPSJTeW1ib2xzIiBBbGxvd0FkdmVydGlzZT0ibm8iIFRpdGxlPSIhKGxvYy5UaXRsZVBkYikiIERlc2NyaXB0aW9uPSIhKGxvYy5EZXNjcmlwdGlvblBkYikiPgorICAgICAgICAgICAgPENvbXBvbmVudEdyb3VwUmVmIElkPSJ0ZXN0X2V4dGVuc2lvbnNfc3ltYm9scyIgLz4KKyAgICAgICAgPC9GZWF0dXJlPgorICAgIDwvUHJvZHVjdD4KKzwvV2l4PgpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL3Rlc3RyZWxlYXNlLmJhdCBiL1Rvb2xzL21zaS90ZXN0cmVsZWFzZS5iYXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWM5ZTAxNQotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS90ZXN0cmVsZWFzZS5iYXQKQEAgLTAsMCArMSwxMDAgQEAKK0BzZXRsb2NhbAorQGVjaG8gb2ZmCisKK3NldCBEPSV+ZHAwCitzZXQgUENCVUlMRD0lRCUuLlwuLlxQQ0J1aWxkXAorCitzZXQgVEFSR0VURElSPSVURU1QJQorc2V0IFRFU1RYODY9CitzZXQgVEVTVFg2ND0KK3NldCBURVNUQUxMVVNFUj0KK3NldCBURVNUUEVSVVNFUj0KKworOkNoZWNrT3B0cworaWYgIiUxIiBFUVUgIi1oIiBnb3RvIEhlbHAKK2lmICIlMSIgRVFVICIteDg2IiAoc2V0IFRFU1RYODY9MSkgJiYgc2hpZnQgJiYgZ290byBDaGVja09wdHMKK2lmICIlMSIgRVFVICIteDY0IiAoc2V0IFRFU1RYNjQ9MSkgJiYgc2hpZnQgJiYgZ290byBDaGVja09wdHMKK2lmICIlMSIgRVFVICItdCIgKHNldCBUQVJHRVRESVI9JX4yKSAmJiBzaGlmdCAmJiBzaGlmdCAmJiBnb3RvIENoZWNrT3B0cworaWYgIiUxIiBFUVUgIi0tdGFyZ2V0IiAoc2V0IFRBUkdFVERJUj0lfjIpICYmIHNoaWZ0ICYmIHNoaWZ0ICYmIGdvdG8gQ2hlY2tPcHRzCitpZiAiJTEiIEVRVSAiLWEiIChzZXQgVEVTVEFMTFVTRVI9MSkgJiYgc2hpZnQgJiYgZ290byBDaGVja09wdHMKK2lmICIlMSIgRVFVICItLWFsbHVzZXIiIChzZXQgVEVTVEFMTFVTRVI9MSkgJiYgc2hpZnQgJiYgZ290byBDaGVja09wdHMKK2lmICIlMSIgRVFVICItcCIgKHNldCBURVNUUEVSVVNFUj0xKSAmJiBzaGlmdCAmJiBnb3RvIENoZWNrT3B0cworaWYgIiUxIiBFUVUgIi0tcGVydXNlciIgKHNldCBURVNUUEVSVVNFUj0xKSAmJiBzaGlmdCAmJiBnb3RvIENoZWNrT3B0cworCitpZiBub3QgZGVmaW5lZCBURVNUWDg2IGlmIG5vdCBkZWZpbmVkIFRFU1RYNjQgKHNldCBURVNUWDg2PTEpICYmIChzZXQgVEVTVFg2ND0xKQoraWYgbm90IGRlZmluZWQgVEVTVEFMTFVTRVIgaWYgbm90IGRlZmluZWQgVEVTVFBFUlVTRVIgKHNldCBURVNUQUxMVVNFUj0xKSAmJiAoc2V0IFRFU1RQRVJVU0VSPTEpCisKKworaWYgZGVmaW5lZCBURVNUWDg2ICgKKyAgICBmb3IgJSVmIGluICgiJVBDQlVJTEQld2luMzJcZW4tdXNcKi5leGUiKSBkbyAoCisgICAgICAgIGlmIGRlZmluZWQgVEVTVEFMTFVTRVIgY2FsbCA6dGVzdCAiJSV+ZmYiICIlVEFSR0VURElSJVwlJX5uZi1hbGx1c2VyIiAiSW5zdGFsbEFsbFVzZXJzPTEgQ29tcGlsZUFsbD0xIgorICAgICAgICBpZiBlcnJvcmxldmVsIDEgZXhpdCAvQgorICAgICAgICBpZiBkZWZpbmVkIFRFU1RQRVJVU0VSIGNhbGwgOnRlc3QgIiUlfmZmIiAiJVRBUkdFVERJUiVcJSV+bmYtcGVydXNlciIgIkluc3RhbGxBbGxVc2Vycz0wIENvbXBpbGVBbGw9MCIKKyAgICAgICAgaWYgZXJyb3JsZXZlbCAxIGV4aXQgL0IKKyAgICApCispCisKK2lmIGRlZmluZWQgVEVTVFg2NCAoCisgICAgZm9yICUlZiBpbiAoIiVQQ0JVSUxEJWFtZDY0XGVuLXVzXCouZXhlIikgZG8gKAorICAgICAgICBpZiBkZWZpbmVkIFRFU1RBTExVU0VSIGNhbGwgOnRlc3QgIiUlfmZmIiAiJVRBUkdFVERJUiVcJSV+bmYtYWxsdXNlciIgIkluc3RhbGxBbGxVc2Vycz0xIENvbXBpbGVBbGw9MSIKKyAgICAgICAgaWYgZXJyb3JsZXZlbCAxIGV4aXQgL0IKKyAgICAgICAgaWYgZGVmaW5lZCBURVNUUEVSVVNFUiBjYWxsIDp0ZXN0ICIlJX5mZiIgIiVUQVJHRVRESVIlXCUlfm5mLXBlcnVzZXIiICJJbnN0YWxsQWxsVXNlcnM9MCBDb21waWxlQWxsPTAiCisgICAgICAgIGlmIGVycm9ybGV2ZWwgMSBleGl0IC9CCisgICAgKQorKQorCitleGl0IC9CIDAKKworOnRlc3QKK0BzZXRsb2NhbAorQGVjaG8gb24KKworQGlmIG5vdCBleGlzdCAiJX4xIiBleGl0IC9CIDEKKworQHNldCBFWElUQ09ERT0wCitAZWNobyBJbnN0YWxsaW5nICUxIGludG8gJTIKKyIlfjEiIC9wYXNzaXZlIC9sb2cgIiV+MlxpbnN0YWxsXGxvZy50eHQiIFRhcmdldERpcj0iJX4yXFB5dGhvbiIgSW5jbHVkZV9kZWJ1Zz0xIEluY2x1ZGVfc3ltYm9scz0xICV+MworCitAaWYgbm90IGVycm9ybGV2ZWwgMSAoCisgICAgQGVjaG8gUHJpbnRpbmcgdmVyc2lvbgorICAgICIlfjJcUHl0aG9uXHB5dGhvbi5leGUiIC1jICJpbXBvcnQgc3lzOyBwcmludChzeXMudmVyc2lvbikiID4gIiV+Mlx2ZXJzaW9uLnR4dCIgMj4mMQorKQorQGlmIG5vdCBlcnJvcmxldmVsIDEgKAorICAgIEBlY2hvIEluc3RhbGxpbmcgcGFja2FnZQorICAgICIlfjJcUHl0aG9uXHB5dGhvbi5leGUiIC1tIHBpcCBpbnN0YWxsIGF6dXJlID4gIiV+MlxwaXAudHh0IiAyPiYxCisgICAgQGlmIG5vdCBlcnJvcmxldmVsIDEgKAorICAgICAgICAiJX4yXFB5dGhvblxweXRob24uZXhlIiAtbSBwaXAgdW5pbnN0YWxsIC15IGF6dXJlIHB5dGhvbi1kYXRldXRpbCBzaXggPj4gIiV+MlxwaXAudHh0IiAyPiYxCisgICAgKQorKQorQGlmIG5vdCBlcnJvcmxldmVsIDEgKAorICAgIEBlY2hvIFRlc3RpbmcgVGNsL3RrCisgICAgQHNldCBUQ0xfTElCUkFSWT0lfjJcUHl0aG9uXHRjbFx0Y2w4LjYKKyAgICAiJX4yXFB5dGhvblxweXRob24uZXhlIiAtbSB0ZXN0IC11YWxsIC12IHRlc3RfdHRrX2d1aW9ubHkgdGVzdF90ayB0ZXN0X2lkbGUgPiAiJX4yXHRjbHRrLnR4dCIgMj4mMQorICAgIEBzZXQgVENMX0xJQlJBUlk9CispCisKK0BzZXQgRVhJVENPREU9JUVSUk9STEVWRUwlCisKK0Bmb3IgL2QgJSVmIGluICgiJVBST0dSQU1EQVRBJVxNaWNyb3NvZnRcV2luZG93c1xTdGFydCBNZW51XFByb2dyYW1zXFB5dGhvbioiKSBkbyBAZGlyICIlJX5mZlwqLmxuayIgL3MvYiA+ICIlfjJcc3RhcnRtZW51LnR4dCIgMj4mMQorQGZvciAvZCAlJWYgaW4gKCIlQVBQREFUQSVcTWljcm9zb2Z0XFdpbmRvd3NcU3RhcnQgTWVudVxQcm9ncmFtc1xQeXRob24qIikgZG8gQGRpciAiJSV+ZmZcKi5sbmsiIC9zL2IgPj4gIiV+MlxzdGFydG1lbnUudHh0IiAyPiYxCisKK0BlY2hvIFJlc3VsdCB3YXMgJUVYSVRDT0RFJQorQGVjaG8gUmVtb3ZpbmcgJTEKKyIlfjEiIC9wYXNzaXZlIC91bmluc3RhbGwgL2xvZyAiJX4yXHVuaW5zdGFsbFxsb2cudHh0IgorCitAZWNobyBvZmYKK2V4aXQgL0IgJUVYSVRDT0RFJQorCis6SGVscAorZWNobyB0ZXN0cmVsZWFzZS5iYXQgWy0tdGFyZ2V0IFRBUkdFVF0gWy14ODZdIFsteDY0XSBbLS1hbGx1c2VyXSBbLS1wZXJ1c2VyXSBbLWhdCitlY2hvLgorZWNobyAgICAtLXRhcmdldCAoLXQpICAgU3BlY2lmeSB0aGUgdGFyZ2V0IGRpcmVjdG9yeSBmb3IgaW5zdGFsbHMgYW5kIGxvZ3MKK2VjaG8gICAgLXg4NiAgICAgICAgICAgIFJ1biB0ZXN0cyBmb3IgeDg2IGluc3RhbGxlcnMKK2VjaG8gICAgLXg2NCAgICAgICAgICAgIFJ1biB0ZXN0cyBmb3IgeDY0IGluc3RhbGxlcnMKK2VjaG8gICAgLS1hbGx1c2VyICgtYSkgIFJ1biB0ZXN0cyBmb3IgYWxsLXVzZXIgaW5zdGFsbHMgKHJlcXVpcmVzIEFkbWluaXN0cmF0b3IpCitlY2hvICAgIC0tcGVydXNlciAoLXApICBSdW4gdGVzdHMgZm9yIHBlci11c2VyIGluc3RhbGxzCitlY2hvICAgIC1oICAgICAgICAgICAgICBEaXNwbGF5IHRoaXMgaGVscCBpbmZvcm1hdGlvbgorZWNoby4KK2VjaG8gSWYgbm8gdGVzdCBhcmNoaXRlY3R1cmUgaXMgc3BlY2lmaWVkLCBhbGwgYXJjaGl0ZWN0dXJlcyB3aWxsIGJlIHRlc3RlZC4KK2VjaG8gSWYgbm8gaW5zdGFsbCB0eXBlIGlzIHNlbGVjdGVkLCBhbGwgaW5zdGFsbCB0eXBlcyB3aWxsIGJlIHRlc3RlZC4KK2VjaG8uCmRpZmYgLS1naXQgYS9Ub29scy9tc2kvdG9vbHMvdG9vbHMud2l4cHJvaiBiL1Rvb2xzL21zaS90b29scy90b29scy53aXhwcm9qCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY0M2NmMzMKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9tc2kvdG9vbHMvdG9vbHMud2l4cHJvagpAQCAtMCwwICsxLDQzIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgorPFByb2plY3QgVG9vbHNWZXJzaW9uPSI0LjAiIERlZmF1bHRUYXJnZXRzPSJCdWlsZCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+CisgICAgPFByb3BlcnR5R3JvdXA+CisgICAgICAgIDxQcm9qZWN0R3VpZD57MjRDQkVCOTUtQkMxRS00RUE5LUFFQTktMzM4MzRCQ0NEMEVDfTwvUHJvamVjdEd1aWQ+CisgICAgICAgIDxTY2hlbWFWZXJzaW9uPjIuMDwvU2NoZW1hVmVyc2lvbj4KKyAgICAgICAgPE91dHB1dE5hbWU+dG9vbHM8L091dHB1dE5hbWU+CisgICAgICAgIDxPdXRwdXRUeXBlPlBhY2thZ2U8L091dHB1dFR5cGU+CisgICAgPC9Qcm9wZXJ0eUdyb3VwPgorICAgIDxJbXBvcnQgUHJvamVjdD0iLi5cbXNpLnByb3BzIiAvPgorICAgIDxJdGVtR3JvdXA+CisgICAgICAgIDxDb21waWxlIEluY2x1ZGU9InRvb2xzLnd4cyIgLz4KKyAgICAgICAgPENvbXBpbGUgSW5jbHVkZT0idG9vbHNfZmlsZXMud3hzIiAvPgorICAgIDwvSXRlbUdyb3VwPgorICAgIDxJdGVtR3JvdXA+CisgICAgICAgIDxFbWJlZGRlZFJlc291cmNlIEluY2x1ZGU9Iioud3hsIiAvPgorICAgIDwvSXRlbUdyb3VwPgorICAgIDxJdGVtR3JvdXA+CisgICAgICAgIDxUb29sRGlyZWN0b3JpZXMgSW5jbHVkZT0ic2NyaXB0cztpMThuO3B5bmNoZTtweW5jaGVcWDtkZW1vIiAvPgorICAgIDwvSXRlbUdyb3VwPgorICAgIDxJdGVtR3JvdXA+CisgICAgICAgIDxJbnN0YWxsRmlsZXMgSW5jbHVkZT0iJChQeVNvdXJjZVBhdGgpVG9vbHNcc2NyaXB0c1wqKlwqLnB5OworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQoUHlTb3VyY2VQYXRoKVRvb2xzXHNjcmlwdHNcKipcKi5weXc7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJChQeVNvdXJjZVBhdGgpVG9vbHNcc2NyaXB0c1wqKlwqLnR4dDsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKFB5U291cmNlUGF0aClUb29sc1xpMThuXCoqXCoucHk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJChQeVNvdXJjZVBhdGgpVG9vbHNcaTE4blwqKlwqLnB5dzsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKFB5U291cmNlUGF0aClUb29sc1xpMThuXCoqXCoudHh0OworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQoUHlTb3VyY2VQYXRoKVRvb2xzXHB5bmNoZVwqKlwqLnB5OworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQoUHlTb3VyY2VQYXRoKVRvb2xzXHB5bmNoZVwqKlwqLnB5dzsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKFB5U291cmNlUGF0aClUb29sc1xweW5jaGVcKipcKi50eHQ7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJChQeVNvdXJjZVBhdGgpVG9vbHNcZGVtb1wqKlwqLnB5OworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQoUHlTb3VyY2VQYXRoKVRvb2xzXGRlbW9cKipcKi5weXc7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJChQeVNvdXJjZVBhdGgpVG9vbHNcZGVtb1wqKlwqLnR4dDsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKFB5U291cmNlUGF0aClUb29sc1xwYXJzZXJcKipcKi5weSI+CisgICAgICAgICAgICAgICAgPFNvdXJjZUJhc2U+JChQeVNvdXJjZVBhdGgpPC9Tb3VyY2VCYXNlPgorICAgICAgICAgICAgICAgIDxTb3VyY2U+IShiaW5kcGF0aC5zcmMpPC9Tb3VyY2U+CisgICAgICAgICAgICAgICAgPFRhcmdldEJhc2U+JChQeVNvdXJjZVBhdGgpPC9UYXJnZXRCYXNlPgorICAgICAgICAgICAgICAgIDxUYXJnZXRfPjwvVGFyZ2V0Xz4KKyAgICAgICAgICAgICAgICA8R3JvdXA+dG9vbHNfcHk8L0dyb3VwPgorICAgICAgICA8L0luc3RhbGxGaWxlcz4KKyAgICA8L0l0ZW1Hcm91cD4KKyAgICAKKyAgICA8SW1wb3J0IFByb2plY3Q9Ii4uXG1zaS50YXJnZXRzIiAvPgorPC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS90b29scy90b29scy53eHMgYi9Ub29scy9tc2kvdG9vbHMvdG9vbHMud3hzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM2NmQ0YzYKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9tc2kvdG9vbHMvdG9vbHMud3hzCkBAIC0wLDAgKzEsMTQgQEAKK++7vzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8V2l4IHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3dpeC8yMDA2L3dpIj4KKyAgICA8UHJvZHVjdCBJZD0iKiIgTGFuZ3VhZ2U9IiEobG9jLkxDSUQpIiBOYW1lPSIhKGxvYy5UaXRsZSkiIFZlcnNpb249IiQodmFyLlZlcnNpb24pIiBNYW51ZmFjdHVyZXI9IiEobG9jLk1hbnVmYWN0dXJlcikiIFVwZ3JhZGVDb2RlPSIkKHZhci5VcGdyYWRlQ29kZSkiPgorICAgICAgICA8UGFja2FnZSBJbnN0YWxsZXJWZXJzaW9uPSIzMDAiIENvbXByZXNzZWQ9InllcyIgSW5zdGFsbFNjb3BlPSJwZXJVc2VyIiBQbGF0Zm9ybT0iJCh2YXIuUGxhdGZvcm0pIiAvPgorICAgICAgICA8TWVkaWFUZW1wbGF0ZSBFbWJlZENhYj0ieWVzIiBDb21wcmVzc2lvbkxldmVsPSJoaWdoIiAvPgorICAgICAgICAKKyAgICAgICAgPFByb3BlcnR5UmVmIElkPSJVcGdyYWRlVGFibGUiIC8+CisgICAgICAgIAorICAgICAgICA8RmVhdHVyZSBJZD0iRGVmYXVsdEZlYXR1cmUiIEFsbG93QWR2ZXJ0aXNlPSJubyIgVGl0bGU9IiEobG9jLlRpdGxlKSIgRGVzY3JpcHRpb249IiEobG9jLkRlc2NyaXB0aW9uKSI+CisgICAgICAgICAgICA8Q29tcG9uZW50R3JvdXBSZWYgSWQ9InRvb2xzX3B5IiAvPgorICAgICAgICAgICAgPENvbXBvbmVudEdyb3VwUmVmIElkPSJ0b29sc19zY3JpcHRzIiAvPgorICAgICAgICA8L0ZlYXR1cmU+CisgICAgPC9Qcm9kdWN0PgorPC9XaXg+CmRpZmYgLS1naXQgYS9Ub29scy9tc2kvdG9vbHMvdG9vbHNfZW4tVVMud3hsIGIvVG9vbHMvbXNpL3Rvb2xzL3Rvb2xzX2VuLVVTLnd4bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMTM4NDE3Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL3Rvb2xzL3Rvb2xzX2VuLVVTLnd4bApAQCAtMCwwICsxLDUgQEAKK++7vzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8V2l4TG9jYWxpemF0aW9uIEN1bHR1cmU9ImVuLXVzIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS93aXgvMjAwNi9sb2NhbGl6YXRpb24iPgorICAgIDxTdHJpbmcgSWQ9IkRlc2NyaXB0b3IiPlV0aWxpdHkgU2NyaXB0czwvU3RyaW5nPgorICAgIDxTdHJpbmcgSWQ9IlNob3J0RGVzY3JpcHRvciI+dG9vbHM8L1N0cmluZz4KKzwvV2l4TG9jYWxpemF0aW9uPgpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL3Rvb2xzL3Rvb2xzX2ZpbGVzLnd4cyBiL1Rvb2xzL21zaS90b29scy90b29sc19maWxlcy53eHMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2FlMGRiMgotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS90b29scy90b29sc19maWxlcy53eHMKQEAgLTAsMCArMSwxNiBAQAor77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzxXaXggeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vd2l4LzIwMDYvd2kiPgorICAgIDxGcmFnbWVudD4KKyAgICAgICAgPENvbXBvbmVudEdyb3VwIElkPSJ0b29sc19zY3JpcHRzIj4KKyAgICAgICAgICAgIDxDb21wb25lbnQgSWQ9IlRvb2xzX3NjcmlwdHNfMnRvMy5weSIgRGlyZWN0b3J5PSJUb29sc19zY3JpcHRzIiBHdWlkPSIqIj4KKyAgICAgICAgICAgICAgICA8RmlsZSBJZD0iVG9vbHNfc2NyaXB0c18ydG8zLnB5IiBOYW1lPSIydG8zLnB5IiBTb3VyY2U9IiEoYmluZHBhdGguc3JjKVRvb2xzXHNjcmlwdHNcMnRvMyIgLz4KKyAgICAgICAgICAgIDwvQ29tcG9uZW50PgorICAgICAgICAgICAgPENvbXBvbmVudCBJZD0iVG9vbHNfc2NyaXB0c19weWRvYzMucHkiIERpcmVjdG9yeT0iVG9vbHNfc2NyaXB0cyIgR3VpZD0iKiI+CisgICAgICAgICAgICAgICAgPEZpbGUgSWQ9IlRvb2xzX3NjcmlwdHNfcHlkb2MzLnB5IiBOYW1lPSJweWRvYzMucHkiIFNvdXJjZT0iIShiaW5kcGF0aC5zcmMpVG9vbHNcc2NyaXB0c1xweWRvYzMiIC8+CisgICAgICAgICAgICA8L0NvbXBvbmVudD4KKyAgICAgICAgICAgIDxDb21wb25lbnQgSWQ9IlRvb2xzX3NjcmlwdHNfcHl2ZW52LnB5IiBEaXJlY3Rvcnk9IlRvb2xzX3NjcmlwdHMiIEd1aWQ9IioiPgorICAgICAgICAgICAgICAgIDxGaWxlIElkPSJUb29sc19zY3JpcHRzX3B5dmVudi5weSIgTmFtZT0icHl2ZW52LnB5IiBTb3VyY2U9IiEoYmluZHBhdGguc3JjKVRvb2xzXHNjcmlwdHNccHl2ZW52IiAvPgorICAgICAgICAgICAgPC9Db21wb25lbnQ+CisgICAgICAgIDwvQ29tcG9uZW50R3JvdXA+CisgICAgPC9GcmFnbWVudD4KKzwvV2l4PgpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL3Vpc2FtcGxlLnB5IGIvVG9vbHMvbXNpL3Vpc2FtcGxlLnB5CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1NDMwODA1Li4wMDAwMDAwCi0tLSBhL1Rvb2xzL21zaS91aXNhbXBsZS5weQorKysgL2Rldi9udWxsCkBAIC0xLDE0MDAgKzAsMCBAQAotCi1pbXBvcnQgbXNpbGliLG9zO2Rpcm5hbWU9b3MucGF0aC5kaXJuYW1lKF9fZmlsZV9fKQotQWRtaW5FeGVjdXRlU2VxdWVuY2UgPSBbCi0odSdJbnN0YWxsVmFsaWRhdGUnLCBOb25lLCAxNDAwKSwKLSh1J0luc3RhbGxJbml0aWFsaXplJywgTm9uZSwgMTUwMCksCi0odSdJbnN0YWxsRmluYWxpemUnLCBOb25lLCA2NjAwKSwKLSh1J0luc3RhbGxGaWxlcycsIE5vbmUsIDQwMDApLAotKHUnSW5zdGFsbEFkbWluUGFja2FnZScsIE5vbmUsIDM5MDApLAotKHUnRmlsZUNvc3QnLCBOb25lLCA5MDApLAotKHUnQ29zdEluaXRpYWxpemUnLCBOb25lLCA4MDApLAotKHUnQ29zdEZpbmFsaXplJywgTm9uZSwgMTAwMCksCi1dCi0KLUFkbWluVUlTZXF1ZW5jZSA9IFsKLSh1J0FkbWluV2VsY29tZURsZycsIE5vbmUsIDEyMzApLAotKHUnRmlsZUNvc3QnLCBOb25lLCA5MDApLAotKHUnQ29zdEluaXRpYWxpemUnLCBOb25lLCA4MDApLAotKHUnQ29zdEZpbmFsaXplJywgTm9uZSwgMTAwMCksCi0odSdFeGVjdXRlQWN0aW9uJywgTm9uZSwgMTMwMCksCi0odSdFeGl0RGlhbG9nJywgTm9uZSwgLTEpLAotKHUnRmF0YWxFcnJvcicsIE5vbmUsIC0zKSwKLSh1J1ByZXBhcmVEbGcnLCBOb25lLCAxNDApLAotKHUnUHJvZ3Jlc3NEbGcnLCBOb25lLCAxMjgwKSwKLSh1J1VzZXJFeGl0JywgTm9uZSwgLTIpLAotXQotCi1BZHZ0RXhlY3V0ZVNlcXVlbmNlID0gWwotKHUnSW5zdGFsbFZhbGlkYXRlJywgTm9uZSwgMTQwMCksCi0odSdJbnN0YWxsSW5pdGlhbGl6ZScsIE5vbmUsIDE1MDApLAotKHUnSW5zdGFsbEZpbmFsaXplJywgTm9uZSwgNjYwMCksCi0odSdDb3N0SW5pdGlhbGl6ZScsIE5vbmUsIDgwMCksCi0odSdDb3N0RmluYWxpemUnLCBOb25lLCAxMDAwKSwKLSh1J0NyZWF0ZVNob3J0Y3V0cycsIE5vbmUsIDQ1MDApLAotKHUnUHVibGlzaENvbXBvbmVudHMnLCBOb25lLCA2MjAwKSwKLSh1J1B1Ymxpc2hGZWF0dXJlcycsIE5vbmUsIDYzMDApLAotKHUnUHVibGlzaFByb2R1Y3QnLCBOb25lLCA2NDAwKSwKLSh1J1JlZ2lzdGVyQ2xhc3NJbmZvJywgTm9uZSwgNDYwMCksCi0odSdSZWdpc3RlckV4dGVuc2lvbkluZm8nLCBOb25lLCA0NzAwKSwKLSh1J1JlZ2lzdGVyTUlNRUluZm8nLCBOb25lLCA0OTAwKSwKLSh1J1JlZ2lzdGVyUHJvZ0lkSW5mbycsIE5vbmUsIDQ4MDApLAotXQotCi1CQkNvbnRyb2wgPSBbCi1dCi0KLUJpbGxib2FyZCA9IFsKLV0KLQotQmluYXJ5ID0gWwotKHUnYmFubnJibXAnLCBtc2lsaWIuQmluYXJ5KG9zLnBhdGguam9pbihkaXJuYW1lLCJiYW5ucmJtcC5iaW4iKSkpLAotKHUnY29tcGxldGknLCBtc2lsaWIuQmluYXJ5KG9zLnBhdGguam9pbihkaXJuYW1lLCJjb21wbGV0aS5iaW4iKSkpLAotKHUnY3VzdGljb24nLCBtc2lsaWIuQmluYXJ5KG9zLnBhdGguam9pbihkaXJuYW1lLCJjdXN0aWNvbi5iaW4iKSkpLAotKHUnZGxnYm1wJywgbXNpbGliLkJpbmFyeShvcy5wYXRoLmpvaW4oZGlybmFtZSwiZGxnYm1wLmJpbiIpKSksCi0odSdleGNsYW1pYycsIG1zaWxpYi5CaW5hcnkob3MucGF0aC5qb2luKGRpcm5hbWUsImV4Y2xhbWljLmJpbiIpKSksCi0odSdpbmZvJywgbXNpbGliLkJpbmFyeShvcy5wYXRoLmpvaW4oZGlybmFtZSwiaW5mby5iaW4iKSkpLAotKHUnaW5zdGljb24nLCBtc2lsaWIuQmluYXJ5KG9zLnBhdGguam9pbihkaXJuYW1lLCJpbnN0aWNvbi5iaW4iKSkpLAotKHUnTmV3JywgbXNpbGliLkJpbmFyeShvcy5wYXRoLmpvaW4oZGlybmFtZSwiTmV3LmJpbiIpKSksCi0odSdyZW1vdmljbycsIG1zaWxpYi5CaW5hcnkob3MucGF0aC5qb2luKGRpcm5hbWUsInJlbW92aWNvLmJpbiIpKSksCi0odSdyZXBhaXJpYycsIG1zaWxpYi5CaW5hcnkob3MucGF0aC5qb2luKGRpcm5hbWUsInJlcGFpcmljLmJpbiIpKSksCi0odSdVcCcsIG1zaWxpYi5CaW5hcnkob3MucGF0aC5qb2luKGRpcm5hbWUsIlVwLmJpbiIpKSksCi1dCi0KLUNoZWNrQm94ID0gWwotXQotCi1Qcm9wZXJ0eSA9IFsKLSh1J0Jhbm5lckJpdG1hcCcsIHUnYmFubnJibXAnKSwKLSh1J0lBZ3JlZScsIHUnTm8nKSwKLSh1J1Byb2R1Y3RJRCcsIHUnbm9uZScpLAotKHUnQVJQSEVMUExJTksnLCB1J2h0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9tYW5hZ2VtZW50JyksCi0odSdCdXR0b25UZXh0X0JhY2snLCB1JzwgJkJhY2snKSwKLSh1J0J1dHRvblRleHRfQnJvd3NlJywgdSdCciZvd3NlJyksCi0odSdCdXR0b25UZXh0X0NhbmNlbCcsIHUnQ2FuY2VsJyksCi0odSdCdXR0b25UZXh0X0V4aXQnLCB1JyZFeGl0JyksCi0odSdCdXR0b25UZXh0X0ZpbmlzaCcsIHUnJkZpbmlzaCcpLAotKHUnQnV0dG9uVGV4dF9JZ25vcmUnLCB1JyZJZ25vcmUnKSwKLSh1J0J1dHRvblRleHRfSW5zdGFsbCcsIHUnJkluc3RhbGwnKSwKLSh1J0J1dHRvblRleHRfTmV4dCcsIHUnJk5leHQgPicpLAotKHUnQnV0dG9uVGV4dF9ObycsIHUnJk5vJyksCi0odSdCdXR0b25UZXh0X09LJywgdSdPSycpLAotKHUnQnV0dG9uVGV4dF9SZW1vdmUnLCB1JyZSZW1vdmUnKSwKLSh1J0J1dHRvblRleHRfUmVwYWlyJywgdScmUmVwYWlyJyksCi0odSdCdXR0b25UZXh0X1Jlc2V0JywgdScmUmVzZXQnKSwKLSh1J0J1dHRvblRleHRfUmVzdW1lJywgdScmUmVzdW1lJyksCi0odSdCdXR0b25UZXh0X1JldHJ5JywgdScmUmV0cnknKSwKLSh1J0J1dHRvblRleHRfUmV0dXJuJywgdScmUmV0dXJuJyksCi0odSdCdXR0b25UZXh0X1llcycsIHUnJlllcycpLAotKHUnQ29tcGxldGVTZXR1cEljb24nLCB1J2NvbXBsZXRpJyksCi0odSdDb21wb25lbnREb3dubG9hZCcsIHUnZnRwOi8vYW5vbnltb3VzQG1pY3Jvc29mdC5jb20vY29tcG9uZW50cy8nKSwKLSh1J0N1c3RvbVNldHVwSWNvbicsIHUnY3VzdGljb24nKSwKLSh1J0RlZmF1bHRVSUZvbnQnLCB1J0RsZ0ZvbnQ4JyksCi0odSdEaWFsb2dCaXRtYXAnLCB1J2RsZ2JtcCcpLAotKHUnRGxnVGl0bGVGb250JywgdSd7JkRsZ0ZvbnRCb2xkOH0nKSwKLSh1J0Vycm9yRGlhbG9nJywgdSdFcnJvckRsZycpLAotKHUnRXhjbGFtYXRpb25JY29uJywgdSdleGNsYW1pYycpLAotKHUnSW5mb0ljb24nLCB1J2luZm8nKSwKLSh1J0luc3RhbGxlckljb24nLCB1J2luc3RpY29uJyksCi0odSdJTlNUQUxMTEVWRUwnLCB1JzMnKSwKLSh1J0luc3RhbGxNb2RlJywgdSdUeXBpY2FsJyksCi0odSdQSURUZW1wbGF0ZScsIHUnMTIzNDU8IyMjLSUlJSUlJSU+QEBAQEAnKSwKLSModSdQcm9kdWN0TGFuZ3VhZ2UnLCB1JzEwMzMnKSwKLSh1J1Byb2dyZXNzMScsIHUnSW5zdGFsbGluZycpLAotKHUnUHJvZ3Jlc3MyJywgdSdpbnN0YWxscycpLAotKHUnUFJPTVBUUk9MTEJBQ0tDT1NUJywgdSdQJyksCi0odSdSZW1vdmVJY29uJywgdSdyZW1vdmljbycpLAotKHUnUmVwYWlySWNvbicsIHUncmVwYWlyaWMnKSwKLSh1J1NldHVwJywgdSdTZXR1cCcpLAotKHUnU2hvd1VzZXJSZWdpc3RyYXRpb25EbGcnLCB1JzEnKSwKLSh1J1dpemFyZCcsIHUnU2V0dXAgV2l6YXJkJyksCi1dCi0KLUNvbWJvQm94ID0gWwotXQotCi1Db250cm9sID0gWwotKHUnQWRtaW5XZWxjb21lRGxnJywgdSdCaXRtYXAnLCB1J0JpdG1hcCcsIDAsIDAsIDM3MCwgMjM0LCAxLCBOb25lLCB1J1tEaWFsb2dCaXRtYXBdJywgdSdCYWNrJywgTm9uZSksCi0odSdBZG1pbldlbGNvbWVEbGcnLCB1J0JvdHRvbUxpbmUnLCB1J0xpbmUnLCAwLCAyMzQsIDM3NCwgMCwgMSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSksCi0odSdBZG1pbldlbGNvbWVEbGcnLCB1J0NhbmNlbCcsIHUnUHVzaEJ1dHRvbicsIDMwNCwgMjQzLCA1NiwgMTcsIDMsIE5vbmUsIHUnW0J1dHRvblRleHRfQ2FuY2VsXScsIHUnQml0bWFwJywgTm9uZSksCi0odSdBZG1pbldlbGNvbWVEbGcnLCB1J0Rlc2NyaXB0aW9uJywgdSdUZXh0JywgMTM1LCA3MCwgMjIwLCAzMCwgMTk2NjExLCBOb25lLCB1J1RoZSBbV2l6YXJkXSB3aWxsIGNyZWF0ZSBhIHNlcnZlciBpbWFnZSBvZiBbUHJvZHVjdE5hbWVdLCBhdCBhIHNwZWNpZmllZCBuZXR3b3JrIGxvY2F0aW9uLiAgQ2xpY2sgTmV4dCB0byBjb250aW51ZSBvciBDYW5jZWwgdG8gZXhpdCB0aGUgW1dpemFyZF0uJywgTm9uZSwgTm9uZSksCi0odSdBZG1pbldlbGNvbWVEbGcnLCB1J1RpdGxlJywgdSdUZXh0JywgMTM1LCAyMCwgMjIwLCA2MCwgMTk2NjExLCBOb25lLCB1J3tcXFZlcmRhbmFCb2xkMTN9V2VsY29tZSB0byB0aGUgW1Byb2R1Y3ROYW1lXSBbV2l6YXJkXScsIE5vbmUsIE5vbmUpLAotKHUnQWRtaW5XZWxjb21lRGxnJywgdSdCYWNrJywgdSdQdXNoQnV0dG9uJywgMTgwLCAyNDMsIDU2LCAxNywgMSwgTm9uZSwgdSdbQnV0dG9uVGV4dF9CYWNrXScsIHUnTmV4dCcsIE5vbmUpLAotKHUnQWRtaW5XZWxjb21lRGxnJywgdSdOZXh0JywgdSdQdXNoQnV0dG9uJywgMjM2LCAyNDMsIDU2LCAxNywgMywgTm9uZSwgdSdbQnV0dG9uVGV4dF9OZXh0XScsIHUnQ2FuY2VsJywgTm9uZSksCi0odSdFeGl0RGlhbG9nJywgdSdCaXRtYXAnLCB1J0JpdG1hcCcsIDAsIDAsIDM3MCwgMjM0LCAxLCBOb25lLCB1J1tEaWFsb2dCaXRtYXBdJywgdSdCYWNrJywgTm9uZSksCi0odSdFeGl0RGlhbG9nJywgdSdCb3R0b21MaW5lJywgdSdMaW5lJywgMCwgMjM0LCAzNzQsIDAsIDEsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUpLAotKHUnRXhpdERpYWxvZycsIHUnQ2FuY2VsJywgdSdQdXNoQnV0dG9uJywgMzA0LCAyNDMsIDU2LCAxNywgMSwgTm9uZSwgdSdbQnV0dG9uVGV4dF9DYW5jZWxdJywgdSdCaXRtYXAnLCBOb25lKSwKLSh1J0V4aXREaWFsb2cnLCB1J0Rlc2NyaXB0aW9uJywgdSdUZXh0JywgMTM1LCA3MCwgMjIwLCAyMCwgMTk2NjExLCBOb25lLCB1J0NsaWNrIHRoZSBGaW5pc2ggYnV0dG9uIHRvIGV4aXQgdGhlIFtXaXphcmRdLicsIE5vbmUsIE5vbmUpLAotKHUnRXhpdERpYWxvZycsIHUnVGl0bGUnLCB1J1RleHQnLCAxMzUsIDIwLCAyMjAsIDYwLCAxOTY2MTEsIE5vbmUsIHUne1xcVmVyZGFuYUJvbGQxM31Db21wbGV0aW5nIHRoZSBbUHJvZHVjdE5hbWVdIFtXaXphcmRdJywgTm9uZSwgTm9uZSksCi0odSdFeGl0RGlhbG9nJywgdSdCYWNrJywgdSdQdXNoQnV0dG9uJywgMTgwLCAyNDMsIDU2LCAxNywgMSwgTm9uZSwgdSdbQnV0dG9uVGV4dF9CYWNrXScsIHUnRmluaXNoJywgTm9uZSksCi0odSdFeGl0RGlhbG9nJywgdSdGaW5pc2gnLCB1J1B1c2hCdXR0b24nLCAyMzYsIDI0MywgNTYsIDE3LCAzLCBOb25lLCB1J1tCdXR0b25UZXh0X0ZpbmlzaF0nLCB1J0NhbmNlbCcsIE5vbmUpLAotKHUnRmF0YWxFcnJvcicsIHUnQml0bWFwJywgdSdCaXRtYXAnLCAwLCAwLCAzNzAsIDIzNCwgMSwgTm9uZSwgdSdbRGlhbG9nQml0bWFwXScsIHUnQmFjaycsIE5vbmUpLAotKHUnRmF0YWxFcnJvcicsIHUnQm90dG9tTGluZScsIHUnTGluZScsIDAsIDIzNCwgMzc0LCAwLCAxLCBOb25lLCBOb25lLCBOb25lLCBOb25lKSwKLSh1J0ZhdGFsRXJyb3InLCB1J0NhbmNlbCcsIHUnUHVzaEJ1dHRvbicsIDMwNCwgMjQzLCA1NiwgMTcsIDEsIE5vbmUsIHUnW0J1dHRvblRleHRfQ2FuY2VsXScsIHUnQml0bWFwJywgTm9uZSksCi0odSdGYXRhbEVycm9yJywgdSdUaXRsZScsIHUnVGV4dCcsIDEzNSwgMjAsIDIyMCwgNjAsIDE5NjYxMSwgTm9uZSwgdSd7XFxWZXJkYW5hQm9sZDEzfVtQcm9kdWN0TmFtZV0gW1dpemFyZF0gZW5kZWQgcHJlbWF0dXJlbHknLCBOb25lLCBOb25lKSwKLSh1J0ZhdGFsRXJyb3InLCB1J0JhY2snLCB1J1B1c2hCdXR0b24nLCAxODAsIDI0MywgNTYsIDE3LCAxLCBOb25lLCB1J1tCdXR0b25UZXh0X0JhY2tdJywgdSdGaW5pc2gnLCBOb25lKSwKLSh1J0ZhdGFsRXJyb3InLCB1J0ZpbmlzaCcsIHUnUHVzaEJ1dHRvbicsIDIzNiwgMjQzLCA1NiwgMTcsIDMsIE5vbmUsIHUnW0J1dHRvblRleHRfRmluaXNoXScsIHUnQ2FuY2VsJywgTm9uZSksCi0odSdGYXRhbEVycm9yJywgdSdEZXNjcmlwdGlvbjEnLCB1J1RleHQnLCAxMzUsIDcwLCAyMjAsIDQwLCAxOTY2MTEsIE5vbmUsIHUnW1Byb2R1Y3ROYW1lXSBzZXR1cCBlbmRlZCBwcmVtYXR1cmVseSBiZWNhdXNlIG9mIGFuIGVycm9yLiAgWW91ciBzeXN0ZW0gaGFzIG5vdCBiZWVuIG1vZGlmaWVkLiAgVG8gaW5zdGFsbCB0aGlzIHByb2dyYW0gYXQgYSBsYXRlciB0aW1lLCBwbGVhc2UgcnVuIHRoZSBpbnN0YWxsYXRpb24gYWdhaW4uJywgTm9uZSwgTm9uZSksCi0odSdGYXRhbEVycm9yJywgdSdEZXNjcmlwdGlvbjInLCB1J1RleHQnLCAxMzUsIDExNSwgMjIwLCAyMCwgMTk2NjExLCBOb25lLCB1J0NsaWNrIHRoZSBGaW5pc2ggYnV0dG9uIHRvIGV4aXQgdGhlIFtXaXphcmRdLicsIE5vbmUsIE5vbmUpLAotKHUnUHJlcGFyZURsZycsIHUnQml0bWFwJywgdSdCaXRtYXAnLCAwLCAwLCAzNzAsIDIzNCwgMSwgTm9uZSwgdSdbRGlhbG9nQml0bWFwXScsIHUnQ2FuY2VsJywgTm9uZSksCi0odSdQcmVwYXJlRGxnJywgdSdCb3R0b21MaW5lJywgdSdMaW5lJywgMCwgMjM0LCAzNzQsIDAsIDEsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUpLAotKHUnUHJlcGFyZURsZycsIHUnQ2FuY2VsJywgdSdQdXNoQnV0dG9uJywgMzA0LCAyNDMsIDU2LCAxNywgMywgTm9uZSwgdSdbQnV0dG9uVGV4dF9DYW5jZWxdJywgdSdCaXRtYXAnLCBOb25lKSwKLSh1J1ByZXBhcmVEbGcnLCB1J0Rlc2NyaXB0aW9uJywgdSdUZXh0JywgMTM1LCA3MCwgMjIwLCAyMCwgMTk2NjExLCBOb25lLCB1J1BsZWFzZSB3YWl0IHdoaWxlIHRoZSBbV2l6YXJkXSBwcmVwYXJlcyB0byBndWlkZSB5b3UgdGhyb3VnaCB0aGUgaW5zdGFsbGF0aW9uLicsIE5vbmUsIE5vbmUpLAotKHUnUHJlcGFyZURsZycsIHUnVGl0bGUnLCB1J1RleHQnLCAxMzUsIDIwLCAyMjAsIDYwLCAxOTY2MTEsIE5vbmUsIHUne1xcVmVyZGFuYUJvbGQxM31XZWxjb21lIHRvIHRoZSBbUHJvZHVjdE5hbWVdIFtXaXphcmRdJywgTm9uZSwgTm9uZSksCi0odSdQcmVwYXJlRGxnJywgdSdCYWNrJywgdSdQdXNoQnV0dG9uJywgMTgwLCAyNDMsIDU2LCAxNywgMSwgTm9uZSwgdSdbQnV0dG9uVGV4dF9CYWNrXScsIE5vbmUsIE5vbmUpLAotKHUnUHJlcGFyZURsZycsIHUnTmV4dCcsIHUnUHVzaEJ1dHRvbicsIDIzNiwgMjQzLCA1NiwgMTcsIDEsIE5vbmUsIHUnW0J1dHRvblRleHRfTmV4dF0nLCBOb25lLCBOb25lKSwKLSh1J1ByZXBhcmVEbGcnLCB1J0FjdGlvbkRhdGEnLCB1J1RleHQnLCAxMzUsIDEyNSwgMjIwLCAzMCwgMTk2NjExLCBOb25lLCBOb25lLCBOb25lLCBOb25lKSwKLSh1J1ByZXBhcmVEbGcnLCB1J0FjdGlvblRleHQnLCB1J1RleHQnLCAxMzUsIDEwMCwgMjIwLCAyMCwgMTk2NjExLCBOb25lLCBOb25lLCBOb25lLCBOb25lKSwKLSh1J1Byb2dyZXNzRGxnJywgdSdUZXh0JywgdSdUZXh0JywgMzUsIDY1LCAzMDAsIDIwLCAzLCBOb25lLCB1J1BsZWFzZSB3YWl0IHdoaWxlIHRoZSBbV2l6YXJkXSBbUHJvZ3Jlc3MyXSBbUHJvZHVjdE5hbWVdLiAgVGhpcyBtYXkgdGFrZSBzZXZlcmFsIG1pbnV0ZXMuJywgTm9uZSwgTm9uZSksCi0odSdQcm9ncmVzc0RsZycsIHUnQmFubmVyQml0bWFwJywgdSdCaXRtYXAnLCAwLCAwLCAzNzQsIDQ0LCAxLCBOb25lLCB1J1tCYW5uZXJCaXRtYXBdJywgdSdCYWNrJywgTm9uZSksCi0odSdQcm9ncmVzc0RsZycsIHUnQmFubmVyTGluZScsIHUnTGluZScsIDAsIDQ0LCAzNzQsIDAsIDEsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUpLAotKHUnUHJvZ3Jlc3NEbGcnLCB1J0JvdHRvbUxpbmUnLCB1J0xpbmUnLCAwLCAyMzQsIDM3NCwgMCwgMSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSksCi0odSdQcm9ncmVzc0RsZycsIHUnQ2FuY2VsJywgdSdQdXNoQnV0dG9uJywgMzA0LCAyNDMsIDU2LCAxNywgMywgTm9uZSwgdSdbQnV0dG9uVGV4dF9DYW5jZWxdJywgdSdCYW5uZXJCaXRtYXAnLCBOb25lKSwKLSh1J1Byb2dyZXNzRGxnJywgdSdUaXRsZScsIHUnVGV4dCcsIDIwLCAxNSwgMjAwLCAxNSwgMTk2NjExLCBOb25lLCB1J1tEbGdUaXRsZUZvbnRdW1Byb2dyZXNzMV0gW1Byb2R1Y3ROYW1lXScsIE5vbmUsIE5vbmUpLAotKHUnUHJvZ3Jlc3NEbGcnLCB1J0JhY2snLCB1J1B1c2hCdXR0b24nLCAxODAsIDI0MywgNTYsIDE3LCAxLCBOb25lLCB1J1tCdXR0b25UZXh0X0JhY2tdJywgdSdOZXh0JywgTm9uZSksCi0odSdQcm9ncmVzc0RsZycsIHUnTmV4dCcsIHUnUHVzaEJ1dHRvbicsIDIzNiwgMjQzLCA1NiwgMTcsIDEsIE5vbmUsIHUnW0J1dHRvblRleHRfTmV4dF0nLCB1J0NhbmNlbCcsIE5vbmUpLAotKHUnUHJvZ3Jlc3NEbGcnLCB1J0FjdGlvblRleHQnLCB1J1RleHQnLCA3MCwgMTAwLCAyNjUsIDEwLCAzLCBOb25lLCBOb25lLCBOb25lLCBOb25lKSwKLSh1J1Byb2dyZXNzRGxnJywgdSdQcm9ncmVzc0JhcicsIHUnUHJvZ3Jlc3NCYXInLCAzNSwgMTE1LCAzMDAsIDEwLCA2NTUzNywgTm9uZSwgdSdQcm9ncmVzcyBkb25lJywgTm9uZSwgTm9uZSksCi0odSdQcm9ncmVzc0RsZycsIHUnU3RhdHVzTGFiZWwnLCB1J1RleHQnLCAzNSwgMTAwLCAzNSwgMTAsIDMsIE5vbmUsIHUnU3RhdHVzOicsIE5vbmUsIE5vbmUpLAotKHUnVXNlckV4aXQnLCB1J0JpdG1hcCcsIHUnQml0bWFwJywgMCwgMCwgMzcwLCAyMzQsIDEsIE5vbmUsIHUnW0RpYWxvZ0JpdG1hcF0nLCB1J0JhY2snLCBOb25lKSwKLSh1J1VzZXJFeGl0JywgdSdCb3R0b21MaW5lJywgdSdMaW5lJywgMCwgMjM0LCAzNzQsIDAsIDEsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUpLAotKHUnVXNlckV4aXQnLCB1J0NhbmNlbCcsIHUnUHVzaEJ1dHRvbicsIDMwNCwgMjQzLCA1NiwgMTcsIDEsIE5vbmUsIHUnW0J1dHRvblRleHRfQ2FuY2VsXScsIHUnQml0bWFwJywgTm9uZSksCi0odSdVc2VyRXhpdCcsIHUnVGl0bGUnLCB1J1RleHQnLCAxMzUsIDIwLCAyMjAsIDYwLCAxOTY2MTEsIE5vbmUsIHUne1xcVmVyZGFuYUJvbGQxM31bUHJvZHVjdE5hbWVdIFtXaXphcmRdIHdhcyBpbnRlcnJ1cHRlZCcsIE5vbmUsIE5vbmUpLAotKHUnVXNlckV4aXQnLCB1J0JhY2snLCB1J1B1c2hCdXR0b24nLCAxODAsIDI0MywgNTYsIDE3LCAxLCBOb25lLCB1J1tCdXR0b25UZXh0X0JhY2tdJywgdSdGaW5pc2gnLCBOb25lKSwKLSh1J1VzZXJFeGl0JywgdSdGaW5pc2gnLCB1J1B1c2hCdXR0b24nLCAyMzYsIDI0MywgNTYsIDE3LCAzLCBOb25lLCB1J1tCdXR0b25UZXh0X0ZpbmlzaF0nLCB1J0NhbmNlbCcsIE5vbmUpLAotKHUnVXNlckV4aXQnLCB1J0Rlc2NyaXB0aW9uMScsIHUnVGV4dCcsIDEzNSwgNzAsIDIyMCwgNDAsIDE5NjYxMSwgTm9uZSwgdSdbUHJvZHVjdE5hbWVdIHNldHVwIHdhcyBpbnRlcnJ1cHRlZC4gIFlvdXIgc3lzdGVtIGhhcyBub3QgYmVlbiBtb2RpZmllZC4gIFRvIGluc3RhbGwgdGhpcyBwcm9ncmFtIGF0IGEgbGF0ZXIgdGltZSwgcGxlYXNlIHJ1biB0aGUgaW5zdGFsbGF0aW9uIGFnYWluLicsIE5vbmUsIE5vbmUpLAotKHUnVXNlckV4aXQnLCB1J0Rlc2NyaXB0aW9uMicsIHUnVGV4dCcsIDEzNSwgMTE1LCAyMjAsIDIwLCAxOTY2MTEsIE5vbmUsIHUnQ2xpY2sgdGhlIEZpbmlzaCBidXR0b24gdG8gZXhpdCB0aGUgW1dpemFyZF0uJywgTm9uZSwgTm9uZSksCi0odSdBZG1pbkJyb3dzZURsZycsIHUnVXAnLCB1J1B1c2hCdXR0b24nLCAyOTgsIDU1LCAxOSwgMTksIDM2NzAwMTksIE5vbmUsIHUnVXAnLCB1J05ld0ZvbGRlcicsIHUnVXAgT25lIExldmVsfCcpLAotKHUnQWRtaW5Ccm93c2VEbGcnLCB1J0Jhbm5lckJpdG1hcCcsIHUnQml0bWFwJywgMCwgMCwgMzc0LCA0NCwgMSwgTm9uZSwgdSdbQmFubmVyQml0bWFwXScsIHUnUGF0aEVkaXQnLCBOb25lKSwKLSh1J0FkbWluQnJvd3NlRGxnJywgdSdQYXRoRWRpdCcsIHUnUGF0aEVkaXQnLCA4NCwgMjAyLCAyNjEsIDE3LCAzLCB1J1RBUkdFVERJUicsIE5vbmUsIHUnT0snLCBOb25lKSwKLSh1J0FkbWluQnJvd3NlRGxnJywgdSdCYW5uZXJMaW5lJywgdSdMaW5lJywgMCwgNDQsIDM3NCwgMCwgMSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSksCi0odSdBZG1pbkJyb3dzZURsZycsIHUnQm90dG9tTGluZScsIHUnTGluZScsIDAsIDIzNCwgMzc0LCAwLCAxLCBOb25lLCBOb25lLCBOb25lLCBOb25lKSwKLSh1J0FkbWluQnJvd3NlRGxnJywgdSdDYW5jZWwnLCB1J1B1c2hCdXR0b24nLCAyNDAsIDI0MywgNTYsIDE3LCAzLCBOb25lLCB1J1tCdXR0b25UZXh0X0NhbmNlbF0nLCB1J0NvbWJvTGFiZWwnLCBOb25lKSwKLSh1J0FkbWluQnJvd3NlRGxnJywgdSdDb21ib0xhYmVsJywgdSdUZXh0JywgMjUsIDU4LCA0NCwgMTAsIDMsIE5vbmUsIHUnJkxvb2sgaW46JywgdSdEaXJlY3RvcnlDb21ibycsIE5vbmUpLAotKHUnQWRtaW5Ccm93c2VEbGcnLCB1J0RpcmVjdG9yeUNvbWJvJywgdSdEaXJlY3RvcnlDb21ibycsIDcwLCA1NSwgMjIwLCA4MCwgNDU4NzU1LCB1J1RBUkdFVERJUicsIE5vbmUsIHUnVXAnLCBOb25lKSwKLSh1J0FkbWluQnJvd3NlRGxnJywgdSdEZXNjcmlwdGlvbicsIHUnVGV4dCcsIDI1LCAyMywgMjgwLCAxNSwgMTk2NjExLCBOb25lLCB1J0Jyb3dzZSB0byB0aGUgZGVzdGluYXRpb24gZm9sZGVyJywgTm9uZSwgTm9uZSksCi0odSdBZG1pbkJyb3dzZURsZycsIHUnRGlyZWN0b3J5TGlzdCcsIHUnRGlyZWN0b3J5TGlzdCcsIDI1LCA4MywgMzIwLCAxMTAsIDcsIHUnVEFSR0VURElSJywgTm9uZSwgdSdQYXRoTGFiZWwnLCBOb25lKSwKLSh1J0FkbWluQnJvd3NlRGxnJywgdSdQYXRoTGFiZWwnLCB1J1RleHQnLCAyNSwgMjA1LCA1OSwgMTAsIDMsIE5vbmUsIHUnJkZvbGRlciBuYW1lOicsIHUnQmFubmVyQml0bWFwJywgTm9uZSksCi0odSdBZG1pbkJyb3dzZURsZycsIHUnTmV3Rm9sZGVyJywgdSdQdXNoQnV0dG9uJywgMzI1LCA1NSwgMTksIDE5LCAzNjcwMDE5LCBOb25lLCB1J05ldycsIHUnRGlyZWN0b3J5TGlzdCcsIHUnQ3JlYXRlIEEgTmV3IEZvbGRlcnwnKSwKLSh1J0FkbWluQnJvd3NlRGxnJywgdSdPSycsIHUnUHVzaEJ1dHRvbicsIDMwNCwgMjQzLCA1NiwgMTcsIDMsIE5vbmUsIHUnW0J1dHRvblRleHRfT0tdJywgdSdDYW5jZWwnLCBOb25lKSwKLSh1J0FkbWluQnJvd3NlRGxnJywgdSdUaXRsZScsIHUnVGV4dCcsIDE1LCA2LCAyMDAsIDE1LCAxOTY2MTEsIE5vbmUsIHUnW0RsZ1RpdGxlRm9udF1DaGFuZ2UgY3VycmVudCBkZXN0aW5hdGlvbiBmb2xkZXInLCBOb25lLCBOb25lKSwKLSh1J0FkbWluSW5zdGFsbFBvaW50RGxnJywgdSdUZXh0JywgdSdUZXh0JywgMjUsIDgwLCAzMjAsIDEwLCAzLCBOb25lLCB1JyZFbnRlciBhIG5ldyBuZXR3b3JrIGxvY2F0aW9uIG9yIGNsaWNrIEJyb3dzZSB0byBicm93c2UgdG8gb25lLicsIHUnUGF0aEVkaXQnLCBOb25lKSwKLSh1J0FkbWluSW5zdGFsbFBvaW50RGxnJywgdSdCYW5uZXJCaXRtYXAnLCB1J0JpdG1hcCcsIDAsIDAsIDM3NCwgNDQsIDEsIE5vbmUsIHUnW0Jhbm5lckJpdG1hcF0nLCB1J1RleHQnLCBOb25lKSwKLSh1J0FkbWluSW5zdGFsbFBvaW50RGxnJywgdSdQYXRoRWRpdCcsIHUnUGF0aEVkaXQnLCAyNSwgOTMsIDMyMCwgMTgsIDMsIHUnVEFSR0VURElSJywgTm9uZSwgdSdCcm93c2UnLCBOb25lKSwKLSh1J0FkbWluSW5zdGFsbFBvaW50RGxnJywgdSdCYW5uZXJMaW5lJywgdSdMaW5lJywgMCwgNDQsIDM3NCwgMCwgMSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSksCi0odSdBZG1pbkluc3RhbGxQb2ludERsZycsIHUnQm90dG9tTGluZScsIHUnTGluZScsIDAsIDIzNCwgMzc0LCAwLCAxLCBOb25lLCBOb25lLCBOb25lLCBOb25lKSwKLSh1J0FkbWluSW5zdGFsbFBvaW50RGxnJywgdSdDYW5jZWwnLCB1J1B1c2hCdXR0b24nLCAzMDQsIDI0MywgNTYsIDE3LCAzLCBOb25lLCB1J1tCdXR0b25UZXh0X0NhbmNlbF0nLCB1J0Jhbm5lckJpdG1hcCcsIE5vbmUpLAotKHUnQWRtaW5JbnN0YWxsUG9pbnREbGcnLCB1J0Rlc2NyaXB0aW9uJywgdSdUZXh0JywgMjUsIDIwLCAyODAsIDIwLCAxOTY2MTEsIE5vbmUsIHUnUGxlYXNlIHNwZWNpZnkgYSBuZXR3b3JrIGxvY2F0aW9uIGZvciB0aGUgc2VydmVyIGltYWdlIG9mIFtQcm9kdWN0TmFtZV0gcHJvZHVjdCcsIE5vbmUsIE5vbmUpLAotKHUnQWRtaW5JbnN0YWxsUG9pbnREbGcnLCB1J1RpdGxlJywgdSdUZXh0JywgMTUsIDYsIDIwMCwgMTUsIDE5NjYxMSwgTm9uZSwgdSdbRGxnVGl0bGVGb250XU5ldHdvcmsgTG9jYXRpb24nLCBOb25lLCBOb25lKSwKLSh1J0FkbWluSW5zdGFsbFBvaW50RGxnJywgdSdCYWNrJywgdSdQdXNoQnV0dG9uJywgMTgwLCAyNDMsIDU2LCAxNywgMywgTm9uZSwgdSdbQnV0dG9uVGV4dF9CYWNrXScsIHUnTmV4dCcsIE5vbmUpLAotKHUnQWRtaW5JbnN0YWxsUG9pbnREbGcnLCB1J05leHQnLCB1J1B1c2hCdXR0b24nLCAyMzYsIDI0MywgNTYsIDE3LCAzLCBOb25lLCB1J1tCdXR0b25UZXh0X05leHRdJywgdSdDYW5jZWwnLCBOb25lKSwKLSh1J0FkbWluSW5zdGFsbFBvaW50RGxnJywgdSdCcm93c2UnLCB1J1B1c2hCdXR0b24nLCAyODksIDExOSwgNTYsIDE3LCAzLCBOb25lLCB1J1tCdXR0b25UZXh0X0Jyb3dzZV0nLCB1J0JhY2snLCBOb25lKSwKLSh1J0FkbWluUmVnaXN0cmF0aW9uRGxnJywgdSdCYW5uZXJCaXRtYXAnLCB1J0JpdG1hcCcsIDAsIDAsIDM3NCwgNDQsIDEsIE5vbmUsIHUnW0Jhbm5lckJpdG1hcF0nLCB1J09yZ2FuaXphdGlvbkxhYmVsJywgTm9uZSksCi0odSdBZG1pblJlZ2lzdHJhdGlvbkRsZycsIHUnQmFubmVyTGluZScsIHUnTGluZScsIDAsIDQ0LCAzNzQsIDAsIDEsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUpLAotKHUnQWRtaW5SZWdpc3RyYXRpb25EbGcnLCB1J0JvdHRvbUxpbmUnLCB1J0xpbmUnLCAwLCAyMzQsIDM3NCwgMCwgMSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSksCi0odSdBZG1pblJlZ2lzdHJhdGlvbkRsZycsIHUnQ2FuY2VsJywgdSdQdXNoQnV0dG9uJywgMzA0LCAyNDMsIDU2LCAxNywgMywgTm9uZSwgdSdbQnV0dG9uVGV4dF9DYW5jZWxdJywgdSdCYW5uZXJCaXRtYXAnLCBOb25lKSwKLSh1J0FkbWluUmVnaXN0cmF0aW9uRGxnJywgdSdEZXNjcmlwdGlvbicsIHUnVGV4dCcsIDI1LCAyMywgMjgwLCAxNSwgMTk2NjExLCBOb25lLCB1J1BsZWFzZSBlbnRlciB5b3VyIGNvbXBhbnkgaW5mb3JtYXRpb24nLCBOb25lLCBOb25lKSwKLSh1J0FkbWluUmVnaXN0cmF0aW9uRGxnJywgdSdUaXRsZScsIHUnVGV4dCcsIDE1LCA2LCAyMDAsIDE1LCAxOTY2MTEsIE5vbmUsIHUnW0RsZ1RpdGxlRm9udF1Db21wYW55IEluZm9ybWF0aW9uJywgTm9uZSwgTm9uZSksCi0odSdBZG1pblJlZ2lzdHJhdGlvbkRsZycsIHUnQmFjaycsIHUnUHVzaEJ1dHRvbicsIDE4MCwgMjQzLCA1NiwgMTcsIDY1NTM5LCBOb25lLCB1J1tCdXR0b25UZXh0X0JhY2tdJywgdSdOZXh0JywgTm9uZSksCi0odSdBZG1pblJlZ2lzdHJhdGlvbkRsZycsIHUnTmV4dCcsIHUnUHVzaEJ1dHRvbicsIDIzNiwgMjQzLCA1NiwgMTcsIDMsIE5vbmUsIHUnW0J1dHRvblRleHRfTmV4dF0nLCB1J0NhbmNlbCcsIE5vbmUpLAotKHUnQWRtaW5SZWdpc3RyYXRpb25EbGcnLCB1J09yZ2FuaXphdGlvbkxhYmVsJywgdSdUZXh0JywgNDUsIDcxLCAyODUsIDMwLCAzLCBOb25lLCB1JyZQbGVhc2UgZW50ZXIgdGhlIG5hbWUgb2YgeW91ciBvcmdhbml6YXRpb24gaW4gdGhlIGJveCBiZWxvdy4gIFRoaXMgd2lsbCBiZSB1c2VkIGFzIGRlZmF1bHQgY29tcGFueSBuYW1lIGZvciBzdWJzZXF1ZW50IGluc3RhbGxhdGlvbnMgb2YgW1Byb2R1Y3ROYW1lXTonLCB1J09yZ2FuaXphdGlvbkVkaXQnLCBOb25lKSwKLSh1J0FkbWluUmVnaXN0cmF0aW9uRGxnJywgdSdDREtleUVkaXQnLCB1J01hc2tlZEVkaXQnLCA0NSwgMTQzLCAyNTAsIDE2LCAzLCB1J1BJREtFWScsIHUnW1BJRFRlbXBsYXRlXScsIHUnQmFjaycsIE5vbmUpLAotKHUnQWRtaW5SZWdpc3RyYXRpb25EbGcnLCB1J0NES2V5TGFiZWwnLCB1J1RleHQnLCA0NSwgMTMwLCA1MCwgMTAsIDMsIE5vbmUsIHUnQ0QgJktleTonLCB1J0NES2V5RWRpdCcsIE5vbmUpLAotKHUnQWRtaW5SZWdpc3RyYXRpb25EbGcnLCB1J09yZ2FuaXphdGlvbkVkaXQnLCB1J0VkaXQnLCA0NSwgMTA1LCAyMjAsIDE4LCAzLCB1J0NPTVBBTllOQU1FJywgdSd7ODB9JywgdSdDREtleUxhYmVsJywgTm9uZSksCi0odSdCcm93c2VEbGcnLCB1J1VwJywgdSdQdXNoQnV0dG9uJywgMjk4LCA1NSwgMTksIDE5LCAzNjcwMDE5LCBOb25lLCB1J1VwJywgdSdOZXdGb2xkZXInLCB1J1VwIE9uZSBMZXZlbHwnKSwKLSh1J0Jyb3dzZURsZycsIHUnQmFubmVyQml0bWFwJywgdSdCaXRtYXAnLCAwLCAwLCAzNzQsIDQ0LCAxLCBOb25lLCB1J1tCYW5uZXJCaXRtYXBdJywgdSdQYXRoRWRpdCcsIE5vbmUpLAotKHUnQnJvd3NlRGxnJywgdSdQYXRoRWRpdCcsIHUnUGF0aEVkaXQnLCA4NCwgMjAyLCAyNjEsIDE4LCAxMSwgdSdfQnJvd3NlUHJvcGVydHknLCBOb25lLCB1J09LJywgTm9uZSksCi0odSdCcm93c2VEbGcnLCB1J0Jhbm5lckxpbmUnLCB1J0xpbmUnLCAwLCA0NCwgMzc0LCAwLCAxLCBOb25lLCBOb25lLCBOb25lLCBOb25lKSwKLSh1J0Jyb3dzZURsZycsIHUnQm90dG9tTGluZScsIHUnTGluZScsIDAsIDIzNCwgMzc0LCAwLCAxLCBOb25lLCBOb25lLCBOb25lLCBOb25lKSwKLSh1J0Jyb3dzZURsZycsIHUnQ2FuY2VsJywgdSdQdXNoQnV0dG9uJywgMjQwLCAyNDMsIDU2LCAxNywgMywgTm9uZSwgdSdbQnV0dG9uVGV4dF9DYW5jZWxdJywgdSdDb21ib0xhYmVsJywgTm9uZSksCi0odSdCcm93c2VEbGcnLCB1J0NvbWJvTGFiZWwnLCB1J1RleHQnLCAyNSwgNTgsIDQ0LCAxMCwgMywgTm9uZSwgdScmTG9vayBpbjonLCB1J0RpcmVjdG9yeUNvbWJvJywgTm9uZSksCi0odSdCcm93c2VEbGcnLCB1J0RpcmVjdG9yeUNvbWJvJywgdSdEaXJlY3RvcnlDb21ibycsIDcwLCA1NSwgMjIwLCA4MCwgMzkzMjI3LCB1J19Ccm93c2VQcm9wZXJ0eScsIE5vbmUsIHUnVXAnLCBOb25lKSwKLSh1J0Jyb3dzZURsZycsIHUnRGVzY3JpcHRpb24nLCB1J1RleHQnLCAyNSwgMjMsIDI4MCwgMTUsIDE5NjYxMSwgTm9uZSwgdSdCcm93c2UgdG8gdGhlIGRlc3RpbmF0aW9uIGZvbGRlcicsIE5vbmUsIE5vbmUpLAotKHUnQnJvd3NlRGxnJywgdSdEaXJlY3RvcnlMaXN0JywgdSdEaXJlY3RvcnlMaXN0JywgMjUsIDgzLCAzMjAsIDExMCwgMTUsIHUnX0Jyb3dzZVByb3BlcnR5JywgTm9uZSwgdSdQYXRoTGFiZWwnLCBOb25lKSwKLSh1J0Jyb3dzZURsZycsIHUnUGF0aExhYmVsJywgdSdUZXh0JywgMjUsIDIwNSwgNTksIDEwLCAzLCBOb25lLCB1JyZGb2xkZXIgbmFtZTonLCB1J0Jhbm5lckJpdG1hcCcsIE5vbmUpLAotKHUnQnJvd3NlRGxnJywgdSdOZXdGb2xkZXInLCB1J1B1c2hCdXR0b24nLCAzMjUsIDU1LCAxOSwgMTksIDM2NzAwMTksIE5vbmUsIHUnTmV3JywgdSdEaXJlY3RvcnlMaXN0JywgdSdDcmVhdGUgQSBOZXcgRm9sZGVyfCcpLAotKHUnQnJvd3NlRGxnJywgdSdPSycsIHUnUHVzaEJ1dHRvbicsIDMwNCwgMjQzLCA1NiwgMTcsIDMsIE5vbmUsIHUnW0J1dHRvblRleHRfT0tdJywgdSdDYW5jZWwnLCBOb25lKSwKLSh1J0Jyb3dzZURsZycsIHUnVGl0bGUnLCB1J1RleHQnLCAxNSwgNiwgMjAwLCAxNSwgMTk2NjExLCBOb25lLCB1J1tEbGdUaXRsZUZvbnRdQ2hhbmdlIGN1cnJlbnQgZGVzdGluYXRpb24gZm9sZGVyJywgTm9uZSwgTm9uZSksCi0odSdDYW5jZWxEbGcnLCB1J1RleHQnLCB1J1RleHQnLCA0OCwgMTUsIDE5NCwgMzAsIDMsIE5vbmUsIHUnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGNhbmNlbCBbUHJvZHVjdE5hbWVdIGluc3RhbGxhdGlvbj8nLCBOb25lLCBOb25lKSwKLSh1J0NhbmNlbERsZycsIHUnSWNvbicsIHUnSWNvbicsIDE1LCAxNSwgMjQsIDI0LCA1MjQyODgxLCBOb25lLCB1J1tJbmZvSWNvbl0nLCBOb25lLCB1J0luZm9ybWF0aW9uIGljb258JyksCi0odSdDYW5jZWxEbGcnLCB1J05vJywgdSdQdXNoQnV0dG9uJywgMTMyLCA1NywgNTYsIDE3LCAzLCBOb25lLCB1J1tCdXR0b25UZXh0X05vXScsIHUnWWVzJywgTm9uZSksCi0odSdDYW5jZWxEbGcnLCB1J1llcycsIHUnUHVzaEJ1dHRvbicsIDcyLCA1NywgNTYsIDE3LCAzLCBOb25lLCB1J1tCdXR0b25UZXh0X1llc10nLCB1J05vJywgTm9uZSksCi0odSdDdXN0b21pemVEbGcnLCB1J1RleHQnLCB1J1RleHQnLCAyNSwgNTUsIDMyMCwgMjAsIDMsIE5vbmUsIHUnQ2xpY2sgb24gdGhlIGljb25zIGluIHRoZSB0cmVlIGJlbG93IHRvIGNoYW5nZSB0aGUgd2F5IGZlYXR1cmVzIHdpbGwgYmUgaW5zdGFsbGVkLicsIE5vbmUsIE5vbmUpLAotKHUnQ3VzdG9taXplRGxnJywgdSdCYW5uZXJCaXRtYXAnLCB1J0JpdG1hcCcsIDAsIDAsIDM3NCwgNDQsIDEsIE5vbmUsIHUnW0Jhbm5lckJpdG1hcF0nLCB1J1RyZWUnLCBOb25lKSwKLSh1J0N1c3RvbWl6ZURsZycsIHUnQmFubmVyTGluZScsIHUnTGluZScsIDAsIDQ0LCAzNzQsIDAsIDEsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUpLAotKHUnQ3VzdG9taXplRGxnJywgdSdCb3R0b21MaW5lJywgdSdMaW5lJywgMCwgMjM0LCAzNzQsIDAsIDEsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUpLAotKHUnQ3VzdG9taXplRGxnJywgdSdDYW5jZWwnLCB1J1B1c2hCdXR0b24nLCAzMDQsIDI0MywgNTYsIDE3LCAzLCBOb25lLCB1J1tCdXR0b25UZXh0X0NhbmNlbF0nLCB1J0Jhbm5lckJpdG1hcCcsIE5vbmUpLAotKHUnQ3VzdG9taXplRGxnJywgdSdEZXNjcmlwdGlvbicsIHUnVGV4dCcsIDI1LCAyMywgMjgwLCAxNSwgMTk2NjExLCBOb25lLCB1J1NlbGVjdCB0aGUgd2F5IHlvdSB3YW50IGZlYXR1cmVzIHRvIGJlIGluc3RhbGxlZC4nLCBOb25lLCBOb25lKSwKLSh1J0N1c3RvbWl6ZURsZycsIHUnVGl0bGUnLCB1J1RleHQnLCAxNSwgNiwgMjAwLCAxNSwgMTk2NjExLCBOb25lLCB1J1tEbGdUaXRsZUZvbnRdQ3VzdG9tIFNldHVwJywgTm9uZSwgTm9uZSksCi0odSdDdXN0b21pemVEbGcnLCB1J0JhY2snLCB1J1B1c2hCdXR0b24nLCAxODAsIDI0MywgNTYsIDE3LCAzLCBOb25lLCB1J1tCdXR0b25UZXh0X0JhY2tdJywgdSdOZXh0JywgTm9uZSksCi0odSdDdXN0b21pemVEbGcnLCB1J05leHQnLCB1J1B1c2hCdXR0b24nLCAyMzYsIDI0MywgNTYsIDE3LCAzLCBOb25lLCB1J1tCdXR0b25UZXh0X05leHRdJywgdSdDYW5jZWwnLCBOb25lKSwKLSh1J0N1c3RvbWl6ZURsZycsIHUnQnJvd3NlJywgdSdQdXNoQnV0dG9uJywgMzA0LCAyMDAsIDU2LCAxNywgMywgTm9uZSwgdSdbQnV0dG9uVGV4dF9Ccm93c2VdJywgdSdSZXNldCcsIE5vbmUpLAotKHUnQ3VzdG9taXplRGxnJywgdSdUcmVlJywgdSdTZWxlY3Rpb25UcmVlJywgMjUsIDg1LCAxNzUsIDk1LCA3LCB1J19Ccm93c2VQcm9wZXJ0eScsIHUnVHJlZSBvZiBzZWxlY3Rpb25zJywgdSdCcm93c2UnLCBOb25lKSwKLSh1J0N1c3RvbWl6ZURsZycsIHUnQm94JywgdSdHcm91cEJveCcsIDIxMCwgODEsIDE0MCwgOTgsIDEsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUpLAotKHUnQ3VzdG9taXplRGxnJywgdSdSZXNldCcsIHUnUHVzaEJ1dHRvbicsIDQyLCAyNDMsIDU2LCAxNywgMywgTm9uZSwgdSdbQnV0dG9uVGV4dF9SZXNldF0nLCB1J0Rpc2tDb3N0JywgTm9uZSksCi0odSdDdXN0b21pemVEbGcnLCB1J0Rpc2tDb3N0JywgdSdQdXNoQnV0dG9uJywgMTExLCAyNDMsIDU2LCAxNywgMywgTm9uZSwgdSdEaXNrICZVc2FnZScsIHUnQmFjaycsIE5vbmUpLAotKHUnQ3VzdG9taXplRGxnJywgdSdJdGVtRGVzY3JpcHRpb24nLCB1J1RleHQnLCAyMTUsIDkwLCAxMzEsIDMwLCAzLCBOb25lLCB1J011bHRpbGluZSBkZXNjcmlwdGlvbiBvZiB0aGUgY3VycmVudGx5IHNlbGVjdGVkIGl0ZW0uJywgTm9uZSwgTm9uZSksCi0odSdDdXN0b21pemVEbGcnLCB1J0l0ZW1TaXplJywgdSdUZXh0JywgMjE1LCAxMzAsIDEzMSwgNDUsIDMsIE5vbmUsIHUnVGhlIHNpemUgb2YgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCBpdGVtLicsIE5vbmUsIE5vbmUpLAotKHUnQ3VzdG9taXplRGxnJywgdSdMb2NhdGlvbicsIHUnVGV4dCcsIDc1LCAyMDAsIDIxNSwgMjAsIDMsIE5vbmUsIHUiPFRoZSBzZWxlY3Rpb24ncyBwYXRoPiIsIE5vbmUsIE5vbmUpLAotKHUnQ3VzdG9taXplRGxnJywgdSdMb2NhdGlvbkxhYmVsJywgdSdUZXh0JywgMjUsIDIwMCwgNTAsIDEwLCAzLCBOb25lLCB1J0xvY2F0aW9uOicsIE5vbmUsIE5vbmUpLAotKHUnRGlza0Nvc3REbGcnLCB1J1RleHQnLCB1J1RleHQnLCAyMCwgNTMsIDMzMCwgNDAsIDMsIE5vbmUsIHUnVGhlIGhpZ2hsaWdodGVkIHZvbHVtZXMgKGlmIGFueSkgZG8gbm90IGhhdmUgZW5vdWdoIGRpc2sgc3BhY2UgYXZhaWxhYmxlIGZvciB0aGUgY3VycmVudGx5IHNlbGVjdGVkIGZlYXR1cmVzLiAgWW91IGNhbiBlaXRoZXIgcmVtb3ZlIHNvbWUgZmlsZXMgZnJvbSB0aGUgaGlnaGxpZ2h0ZWQgdm9sdW1lcywgb3IgY2hvb3NlIHRvIGluc3RhbGwgbGVzcyBmZWF0dXJlcyBvbnRvIGxvY2FsIGRyaXZlKHMpLCBvciBzZWxlY3QgZGlmZmVyZW50IGRlc3RpbmF0aW9uIGRyaXZlKHMpLicsIE5vbmUsIE5vbmUpLAotKHUnRGlza0Nvc3REbGcnLCB1J0Jhbm5lckJpdG1hcCcsIHUnQml0bWFwJywgMCwgMCwgMzc0LCA0NCwgMSwgTm9uZSwgdSdbQmFubmVyQml0bWFwXScsIHUnT0snLCBOb25lKSwKLSh1J0Rpc2tDb3N0RGxnJywgdSdCYW5uZXJMaW5lJywgdSdMaW5lJywgMCwgNDQsIDM3NCwgMCwgMSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSksCi0odSdEaXNrQ29zdERsZycsIHUnQm90dG9tTGluZScsIHUnTGluZScsIDAsIDIzNCwgMzc0LCAwLCAxLCBOb25lLCBOb25lLCBOb25lLCBOb25lKSwKLSh1J0Rpc2tDb3N0RGxnJywgdSdEZXNjcmlwdGlvbicsIHUnVGV4dCcsIDIwLCAyMCwgMjgwLCAyMCwgMTk2NjExLCBOb25lLCB1J1RoZSBkaXNrIHNwYWNlIHJlcXVpcmVkIGZvciB0aGUgaW5zdGFsbGF0aW9uIG9mIHRoZSBzZWxlY3RlZCBmZWF0dXJlcy4nLCBOb25lLCBOb25lKSwKLSh1J0Rpc2tDb3N0RGxnJywgdSdPSycsIHUnUHVzaEJ1dHRvbicsIDMwNCwgMjQzLCA1NiwgMTcsIDMsIE5vbmUsIHUnW0J1dHRvblRleHRfT0tdJywgdSdCYW5uZXJCaXRtYXAnLCBOb25lKSwKLSh1J0Rpc2tDb3N0RGxnJywgdSdUaXRsZScsIHUnVGV4dCcsIDE1LCA2LCAyMDAsIDE1LCAxOTY2MTEsIE5vbmUsIHUnW0RsZ1RpdGxlRm9udF1EaXNrIFNwYWNlIFJlcXVpcmVtZW50cycsIE5vbmUsIE5vbmUpLAotKHUnRGlza0Nvc3REbGcnLCB1J1ZvbHVtZUxpc3QnLCB1J1ZvbHVtZUNvc3RMaXN0JywgMjAsIDEwMCwgMzMwLCAxMjAsIDM5MzIyMywgTm9uZSwgdSd7MTIwfXs3MH17NzB9ezcwfXs3MH0nLCBOb25lLCBOb25lKSwKLSh1J0Vycm9yRGxnJywgdSdZJywgdSdQdXNoQnV0dG9uJywgMTAwLCA4MCwgNTYsIDE3LCAzLCBOb25lLCB1J1tCdXR0b25UZXh0X1llc10nLCBOb25lLCBOb25lKSwKLSh1J0Vycm9yRGxnJywgdSdBJywgdSdQdXNoQnV0dG9uJywgMTAwLCA4MCwgNTYsIDE3LCAzLCBOb25lLCB1J1tCdXR0b25UZXh0X0NhbmNlbF0nLCBOb25lLCBOb25lKSwKLSh1J0Vycm9yRGxnJywgdSdDJywgdSdQdXNoQnV0dG9uJywgMTAwLCA4MCwgNTYsIDE3LCAzLCBOb25lLCB1J1tCdXR0b25UZXh0X0NhbmNlbF0nLCBOb25lLCBOb25lKSwKLSh1J0Vycm9yRGxnJywgdSdFcnJvckljb24nLCB1J0ljb24nLCAxNSwgMTUsIDI0LCAyNCwgNTI0Mjg4MSwgTm9uZSwgdSdbSW5mb0ljb25dJywgTm9uZSwgdSdJbmZvcm1hdGlvbiBpY29ufCcpLAotKHUnRXJyb3JEbGcnLCB1J0Vycm9yVGV4dCcsIHUnVGV4dCcsIDQ4LCAxNSwgMjA1LCA2MCwgMywgTm9uZSwgdSdJbmZvcm1hdGlvbiB0ZXh0JywgTm9uZSwgTm9uZSksCi0odSdFcnJvckRsZycsIHUnSScsIHUnUHVzaEJ1dHRvbicsIDEwMCwgODAsIDU2LCAxNywgMywgTm9uZSwgdSdbQnV0dG9uVGV4dF9JZ25vcmVdJywgTm9uZSwgTm9uZSksCi0odSdFcnJvckRsZycsIHUnTicsIHUnUHVzaEJ1dHRvbicsIDEwMCwgODAsIDU2LCAxNywgMywgTm9uZSwgdSdbQnV0dG9uVGV4dF9Ob10nLCBOb25lLCBOb25lKSwKLSh1J0Vycm9yRGxnJywgdSdPJywgdSdQdXNoQnV0dG9uJywgMTAwLCA4MCwgNTYsIDE3LCAzLCBOb25lLCB1J1tCdXR0b25UZXh0X09LXScsIE5vbmUsIE5vbmUpLAotKHUnRXJyb3JEbGcnLCB1J1InLCB1J1B1c2hCdXR0b24nLCAxMDAsIDgwLCA1NiwgMTcsIDMsIE5vbmUsIHUnW0J1dHRvblRleHRfUmV0cnldJywgTm9uZSwgTm9uZSksCi0odSdGaWxlc0luVXNlJywgdSdUZXh0JywgdSdUZXh0JywgMjAsIDU1LCAzMzAsIDMwLCAzLCBOb25lLCB1J1RoZSBmb2xsb3dpbmcgYXBwbGljYXRpb25zIGFyZSB1c2luZyBmaWxlcyB0aGF0IG5lZWQgdG8gYmUgdXBkYXRlZCBieSB0aGlzIHNldHVwLiBDbG9zZSB0aGVzZSBhcHBsaWNhdGlvbnMgYW5kIHRoZW4gY2xpY2sgUmV0cnkgdG8gY29udGludWUgdGhlIGluc3RhbGxhdGlvbiBvciBDYW5jZWwgdG8gZXhpdCBpdC4nLCBOb25lLCBOb25lKSwKLSh1J0ZpbGVzSW5Vc2UnLCB1J0Jhbm5lckJpdG1hcCcsIHUnQml0bWFwJywgMCwgMCwgMzc0LCA0NCwgMSwgTm9uZSwgdSdbQmFubmVyQml0bWFwXScsIHUnUmV0cnknLCBOb25lKSwKLSh1J0ZpbGVzSW5Vc2UnLCB1J0Jhbm5lckxpbmUnLCB1J0xpbmUnLCAwLCA0NCwgMzc0LCAwLCAxLCBOb25lLCBOb25lLCBOb25lLCBOb25lKSwKLSh1J0ZpbGVzSW5Vc2UnLCB1J0JvdHRvbUxpbmUnLCB1J0xpbmUnLCAwLCAyMzQsIDM3NCwgMCwgMSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSksCi0odSdGaWxlc0luVXNlJywgdSdEZXNjcmlwdGlvbicsIHUnVGV4dCcsIDIwLCAyMywgMjgwLCAyMCwgMTk2NjExLCBOb25lLCB1J1NvbWUgZmlsZXMgdGhhdCBuZWVkIHRvIGJlIHVwZGF0ZWQgYXJlIGN1cnJlbnRseSBpbiB1c2UuJywgTm9uZSwgTm9uZSksCi0odSdGaWxlc0luVXNlJywgdSdUaXRsZScsIHUnVGV4dCcsIDE1LCA2LCAyMDAsIDE1LCAxOTY2MTEsIE5vbmUsIHUnW0RsZ1RpdGxlRm9udF1GaWxlcyBpbiBVc2UnLCBOb25lLCBOb25lKSwKLSh1J0ZpbGVzSW5Vc2UnLCB1J1JldHJ5JywgdSdQdXNoQnV0dG9uJywgMzA0LCAyNDMsIDU2LCAxNywgMywgTm9uZSwgdSdbQnV0dG9uVGV4dF9SZXRyeV0nLCB1J0lnbm9yZScsIE5vbmUpLAotKHUnRmlsZXNJblVzZScsIHUnRXhpdCcsIHUnUHVzaEJ1dHRvbicsIDE2NiwgMjQzLCA1NiwgMTcsIDMsIE5vbmUsIHUnW0J1dHRvblRleHRfRXhpdF0nLCB1J0Jhbm5lckJpdG1hcCcsIE5vbmUpLAotKHUnRmlsZXNJblVzZScsIHUnSWdub3JlJywgdSdQdXNoQnV0dG9uJywgMjM1LCAyNDMsIDU2LCAxNywgMywgTm9uZSwgdSdbQnV0dG9uVGV4dF9JZ25vcmVdJywgdSdFeGl0JywgTm9uZSksCi0odSdGaWxlc0luVXNlJywgdSdMaXN0JywgdSdMaXN0Qm94JywgMjAsIDg3LCAzMzAsIDEzMCwgNywgdSdGaWxlSW5Vc2VQcm9jZXNzJywgTm9uZSwgTm9uZSwgTm9uZSksCi0odSdMaWNlbnNlQWdyZWVtZW50RGxnJywgdSdCYW5uZXJCaXRtYXAnLCB1J0JpdG1hcCcsIDAsIDAsIDM3NCwgNDQsIDEsIE5vbmUsIHUnW0Jhbm5lckJpdG1hcF0nLCB1J0FncmVlbWVudFRleHQnLCBOb25lKSwKLSh1J0xpY2Vuc2VBZ3JlZW1lbnREbGcnLCB1J0Jhbm5lckxpbmUnLCB1J0xpbmUnLCAwLCA0NCwgMzc0LCAwLCAxLCBOb25lLCBOb25lLCBOb25lLCBOb25lKSwKLSh1J0xpY2Vuc2VBZ3JlZW1lbnREbGcnLCB1J0JvdHRvbUxpbmUnLCB1J0xpbmUnLCAwLCAyMzQsIDM3NCwgMCwgMSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSksCi0odSdMaWNlbnNlQWdyZWVtZW50RGxnJywgdSdDYW5jZWwnLCB1J1B1c2hCdXR0b24nLCAzMDQsIDI0MywgNTYsIDE3LCAzLCBOb25lLCB1J1tCdXR0b25UZXh0X0NhbmNlbF0nLCB1J0Jhbm5lckJpdG1hcCcsIE5vbmUpLAotKHUnTGljZW5zZUFncmVlbWVudERsZycsIHUnRGVzY3JpcHRpb24nLCB1J1RleHQnLCAyNSwgMjMsIDI4MCwgMTUsIDE5NjYxMSwgTm9uZSwgdSdQbGVhc2UgcmVhZCB0aGUgZm9sbG93aW5nIGxpY2Vuc2UgYWdyZWVtZW50IGNhcmVmdWxseScsIE5vbmUsIE5vbmUpLAotKHUnTGljZW5zZUFncmVlbWVudERsZycsIHUnVGl0bGUnLCB1J1RleHQnLCAxNSwgNiwgMjAwLCAxNSwgMTk2NjExLCBOb25lLCB1J1tEbGdUaXRsZUZvbnRdRW5kLVVzZXIgTGljZW5zZSBBZ3JlZW1lbnQnLCBOb25lLCBOb25lKSwKLSh1J0xpY2Vuc2VBZ3JlZW1lbnREbGcnLCB1J0JhY2snLCB1J1B1c2hCdXR0b24nLCAxODAsIDI0MywgNTYsIDE3LCAzLCBOb25lLCB1J1tCdXR0b25UZXh0X0JhY2tdJywgdSdOZXh0JywgTm9uZSksCi0odSdMaWNlbnNlQWdyZWVtZW50RGxnJywgdSdOZXh0JywgdSdQdXNoQnV0dG9uJywgMjM2LCAyNDMsIDU2LCAxNywgMywgTm9uZSwgdSdbQnV0dG9uVGV4dF9OZXh0XScsIHUnQ2FuY2VsJywgTm9uZSksCi0odSdMaWNlbnNlQWdyZWVtZW50RGxnJywgdSdBZ3JlZW1lbnRUZXh0JywgdSdTY3JvbGxhYmxlVGV4dCcsIDIwLCA2MCwgMzMwLCAxMjAsIDcsIE5vbmUsIHUne1xccnRmMVxcYW5zaVxcYW5zaWNwZzEyNTJcXGRlZmYwXFxkZWZ0YWI3MjB7XFxmb250dGJse1xcZjBcXGZyb21hblxcZnBycTIgVGltZXMgTmV3IFJvbWFuO319e1xcY29sb3J0YmxcXHJlZDBcXGdyZWVuMFxcYmx1ZTA7fSBcXGRlZmxhbmcxMDMzXFxob3J6ZG9je1xcKlxcZmNoYXJzIH17XFwqXFxsY2hhcnMgfVxccGFyZFxccGxhaW5cXGYwXFxmczIwIDxZb3VyIGxpY2Vuc2UgYWdyZWVtZW50IHNob3VsZCBnbyBoZXJlLj5cXHBhciB9JywgdSdCdXR0b25zJywgTm9uZSksCi0odSdMaWNlbnNlQWdyZWVtZW50RGxnJywgdSdCdXR0b25zJywgdSdSYWRpb0J1dHRvbkdyb3VwJywgMjAsIDE4NywgMzMwLCA0MCwgMywgdSdJQWdyZWUnLCBOb25lLCB1J0JhY2snLCBOb25lKSwKLSh1J01haW50ZW5hbmNlVHlwZURsZycsIHUnQmFubmVyQml0bWFwJywgdSdCaXRtYXAnLCAwLCAwLCAzNzQsIDQ0LCAxLCBOb25lLCB1J1tCYW5uZXJCaXRtYXBdJywgdSdDaGFuZ2VMYWJlbCcsIE5vbmUpLAotKHUnTWFpbnRlbmFuY2VUeXBlRGxnJywgdSdCYW5uZXJMaW5lJywgdSdMaW5lJywgMCwgNDQsIDM3NCwgMCwgMSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSksCi0odSdNYWludGVuYW5jZVR5cGVEbGcnLCB1J0JvdHRvbUxpbmUnLCB1J0xpbmUnLCAwLCAyMzQsIDM3NCwgMCwgMSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSksCi0odSdNYWludGVuYW5jZVR5cGVEbGcnLCB1J0NhbmNlbCcsIHUnUHVzaEJ1dHRvbicsIDMwNCwgMjQzLCA1NiwgMTcsIDMsIE5vbmUsIHUnW0J1dHRvblRleHRfQ2FuY2VsXScsIHUnQmFubmVyQml0bWFwJywgTm9uZSksCi0odSdNYWludGVuYW5jZVR5cGVEbGcnLCB1J0Rlc2NyaXB0aW9uJywgdSdUZXh0JywgMjUsIDIzLCAyODAsIDIwLCAxOTY2MTEsIE5vbmUsIHUnU2VsZWN0IHRoZSBvcGVyYXRpb24geW91IHdpc2ggdG8gcGVyZm9ybS4nLCBOb25lLCBOb25lKSwKLSh1J01haW50ZW5hbmNlVHlwZURsZycsIHUnVGl0bGUnLCB1J1RleHQnLCAxNSwgNiwgMjQwLCAxNSwgMTk2NjExLCBOb25lLCB1J1tEbGdUaXRsZUZvbnRdTW9kaWZ5LCBSZXBhaXIgb3IgUmVtb3ZlIGluc3RhbGxhdGlvbicsIE5vbmUsIE5vbmUpLAotKHUnTWFpbnRlbmFuY2VUeXBlRGxnJywgdSdCYWNrJywgdSdQdXNoQnV0dG9uJywgMTgwLCAyNDMsIDU2LCAxNywgMywgTm9uZSwgdSdbQnV0dG9uVGV4dF9CYWNrXScsIHUnTmV4dCcsIE5vbmUpLAotKHUnTWFpbnRlbmFuY2VUeXBlRGxnJywgdSdOZXh0JywgdSdQdXNoQnV0dG9uJywgMjM2LCAyNDMsIDU2LCAxNywgMSwgTm9uZSwgdSdbQnV0dG9uVGV4dF9OZXh0XScsIHUnQ2FuY2VsJywgTm9uZSksCi0odSdNYWludGVuYW5jZVR5cGVEbGcnLCB1J0NoYW5nZUxhYmVsJywgdSdUZXh0JywgMTA1LCA2NSwgMTAwLCAxMCwgMywgTm9uZSwgdSdbRGxnVGl0bGVGb250XSZNb2RpZnknLCB1J0NoYW5nZUJ1dHRvbicsIE5vbmUpLAotKHUnTWFpbnRlbmFuY2VUeXBlRGxnJywgdSdDaGFuZ2VCdXR0b24nLCB1J1B1c2hCdXR0b24nLCA1MCwgNjUsIDM4LCAzOCwgNTc2NzE3MSwgTm9uZSwgdSdbQ3VzdG9tU2V0dXBJY29uXScsIHUnUmVwYWlyTGFiZWwnLCB1J01vZGlmeSBJbnN0YWxsYXRpb258JyksCi0odSdNYWludGVuYW5jZVR5cGVEbGcnLCB1J1JlcGFpckxhYmVsJywgdSdUZXh0JywgMTA1LCAxMTQsIDEwMCwgMTAsIDMsIE5vbmUsIHUnW0RsZ1RpdGxlRm9udF1SZSZwYWlyJywgdSdSZXBhaXJCdXR0b24nLCBOb25lKSwKLSh1J01haW50ZW5hbmNlVHlwZURsZycsIHUnQ2hhbmdlVGV4dCcsIHUnVGV4dCcsIDEwNSwgNzgsIDIzMCwgMjAsIDMsIE5vbmUsIHUnQWxsb3dzIHVzZXJzIHRvIGNoYW5nZSB0aGUgd2F5IGZlYXR1cmVzIGFyZSBpbnN0YWxsZWQuJywgTm9uZSwgTm9uZSksCi0odSdNYWludGVuYW5jZVR5cGVEbGcnLCB1J1JlbW92ZUJ1dHRvbicsIHUnUHVzaEJ1dHRvbicsIDUwLCAxNjMsIDM4LCAzOCwgNTc2NzE3MSwgTm9uZSwgdSdbUmVtb3ZlSWNvbl0nLCB1J0JhY2snLCB1J1JlbW92ZSBJbnN0YWxsYXRpb258JyksCi0odSdNYWludGVuYW5jZVR5cGVEbGcnLCB1J1JlbW92ZUxhYmVsJywgdSdUZXh0JywgMTA1LCAxNjMsIDEwMCwgMTAsIDMsIE5vbmUsIHUnW0RsZ1RpdGxlRm9udF0mUmVtb3ZlJywgdSdSZW1vdmVCdXR0b24nLCBOb25lKSwKLSh1J01haW50ZW5hbmNlVHlwZURsZycsIHUnUmVtb3ZlVGV4dCcsIHUnVGV4dCcsIDEwNSwgMTc2LCAyMzAsIDIwLCAzLCBOb25lLCB1J1JlbW92ZXMgW1Byb2R1Y3ROYW1lXSBmcm9tIHlvdXIgY29tcHV0ZXIuJywgTm9uZSwgTm9uZSksCi0odSdNYWludGVuYW5jZVR5cGVEbGcnLCB1J1JlcGFpckJ1dHRvbicsIHUnUHVzaEJ1dHRvbicsIDUwLCAxMTQsIDM4LCAzOCwgNTc2NzE3MSwgTm9uZSwgdSdbUmVwYWlySWNvbl0nLCB1J1JlbW92ZUxhYmVsJywgdSdSZXBhaXIgSW5zdGFsbGF0aW9ufCcpLAotKHUnTWFpbnRlbmFuY2VUeXBlRGxnJywgdSdSZXBhaXJUZXh0JywgdSdUZXh0JywgMTA1LCAxMjcsIDIzMCwgMzAsIDMsIE5vbmUsIHUnUmVwYWlycyBlcnJvcnMgaW4gdGhlIG1vc3QgcmVjZW50IGluc3RhbGxhdGlvbiBzdGF0ZSAtIGZpeGVzIG1pc3Npbmcgb3IgY29ycnVwdCBmaWxlcywgc2hvcnRjdXRzIGFuZCByZWdpc3RyeSBlbnRyaWVzLicsIE5vbmUsIE5vbmUpLAotKHUnTWFpbnRlbmFuY2VXZWxjb21lRGxnJywgdSdCaXRtYXAnLCB1J0JpdG1hcCcsIDAsIDAsIDM3MCwgMjM0LCAxLCBOb25lLCB1J1tEaWFsb2dCaXRtYXBdJywgdSdCYWNrJywgTm9uZSksCi0odSdNYWludGVuYW5jZVdlbGNvbWVEbGcnLCB1J0JvdHRvbUxpbmUnLCB1J0xpbmUnLCAwLCAyMzQsIDM3NCwgMCwgMSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSksCi0odSdNYWludGVuYW5jZVdlbGNvbWVEbGcnLCB1J0NhbmNlbCcsIHUnUHVzaEJ1dHRvbicsIDMwNCwgMjQzLCA1NiwgMTcsIDMsIE5vbmUsIHUnW0J1dHRvblRleHRfQ2FuY2VsXScsIHUnQml0bWFwJywgTm9uZSksCi0odSdNYWludGVuYW5jZVdlbGNvbWVEbGcnLCB1J0Rlc2NyaXB0aW9uJywgdSdUZXh0JywgMTM1LCA3MCwgMjIwLCA2MCwgMTk2NjExLCBOb25lLCB1J1RoZSBbV2l6YXJkXSB3aWxsIGFsbG93IHlvdSB0byBjaGFuZ2UgdGhlIHdheSBbUHJvZHVjdE5hbWVdIGZlYXR1cmVzIGFyZSBpbnN0YWxsZWQgb24geW91ciBjb21wdXRlciBvciBldmVuIHRvIHJlbW92ZSBbUHJvZHVjdE5hbWVdIGZyb20geW91ciBjb21wdXRlci4gIENsaWNrIE5leHQgdG8gY29udGludWUgb3IgQ2FuY2VsIHRvIGV4aXQgdGhlIFtXaXphcmRdLicsIE5vbmUsIE5vbmUpLAotKHUnTWFpbnRlbmFuY2VXZWxjb21lRGxnJywgdSdUaXRsZScsIHUnVGV4dCcsIDEzNSwgMjAsIDIyMCwgNjAsIDE5NjYxMSwgTm9uZSwgdSd7XFxWZXJkYW5hQm9sZDEzfVdlbGNvbWUgdG8gdGhlIFtQcm9kdWN0TmFtZV0gW1dpemFyZF0nLCBOb25lLCBOb25lKSwKLSh1J01haW50ZW5hbmNlV2VsY29tZURsZycsIHUnQmFjaycsIHUnUHVzaEJ1dHRvbicsIDE4MCwgMjQzLCA1NiwgMTcsIDEsIE5vbmUsIHUnW0J1dHRvblRleHRfQmFja10nLCB1J05leHQnLCBOb25lKSwKLSh1J01haW50ZW5hbmNlV2VsY29tZURsZycsIHUnTmV4dCcsIHUnUHVzaEJ1dHRvbicsIDIzNiwgMjQzLCA1NiwgMTcsIDMsIE5vbmUsIHUnW0J1dHRvblRleHRfTmV4dF0nLCB1J0NhbmNlbCcsIE5vbmUpLAotKHUnT3V0T2ZEaXNrRGxnJywgdSdUZXh0JywgdSdUZXh0JywgMjAsIDUzLCAzMzAsIDQwLCAzLCBOb25lLCB1J1RoZSBoaWdobGlnaHRlZCB2b2x1bWVzIGRvIG5vdCBoYXZlIGVub3VnaCBkaXNrIHNwYWNlIGF2YWlsYWJsZSBmb3IgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCBmZWF0dXJlcy4gIFlvdSBjYW4gZWl0aGVyIHJlbW92ZSBzb21lIGZpbGVzIGZyb20gdGhlIGhpZ2hsaWdodGVkIHZvbHVtZXMsIG9yIGNob29zZSB0byBpbnN0YWxsIGxlc3MgZmVhdHVyZXMgb250byBsb2NhbCBkcml2ZShzKSwgb3Igc2VsZWN0IGRpZmZlcmVudCBkZXN0aW5hdGlvbiBkcml2ZShzKS4nLCBOb25lLCBOb25lKSwKLSh1J091dE9mRGlza0RsZycsIHUnQmFubmVyQml0bWFwJywgdSdCaXRtYXAnLCAwLCAwLCAzNzQsIDQ0LCAxLCBOb25lLCB1J1tCYW5uZXJCaXRtYXBdJywgdSdPSycsIE5vbmUpLAotKHUnT3V0T2ZEaXNrRGxnJywgdSdCYW5uZXJMaW5lJywgdSdMaW5lJywgMCwgNDQsIDM3NCwgMCwgMSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSksCi0odSdPdXRPZkRpc2tEbGcnLCB1J0JvdHRvbUxpbmUnLCB1J0xpbmUnLCAwLCAyMzQsIDM3NCwgMCwgMSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSksCi0odSdPdXRPZkRpc2tEbGcnLCB1J0Rlc2NyaXB0aW9uJywgdSdUZXh0JywgMjAsIDIwLCAyODAsIDIwLCAxOTY2MTEsIE5vbmUsIHUnRGlzayBzcGFjZSByZXF1aXJlZCBmb3IgdGhlIGluc3RhbGxhdGlvbiBleGNlZWRzIGF2YWlsYWJsZSBkaXNrIHNwYWNlLicsIE5vbmUsIE5vbmUpLAotKHUnT3V0T2ZEaXNrRGxnJywgdSdPSycsIHUnUHVzaEJ1dHRvbicsIDMwNCwgMjQzLCA1NiwgMTcsIDMsIE5vbmUsIHUnW0J1dHRvblRleHRfT0tdJywgdSdCYW5uZXJCaXRtYXAnLCBOb25lKSwKLSh1J091dE9mRGlza0RsZycsIHUnVGl0bGUnLCB1J1RleHQnLCAxNSwgNiwgMjAwLCAxNSwgMTk2NjExLCBOb25lLCB1J1tEbGdUaXRsZUZvbnRdT3V0IG9mIERpc2sgU3BhY2UnLCBOb25lLCBOb25lKSwKLSh1J091dE9mRGlza0RsZycsIHUnVm9sdW1lTGlzdCcsIHUnVm9sdW1lQ29zdExpc3QnLCAyMCwgMTAwLCAzMzAsIDEyMCwgMzkzMjIzLCBOb25lLCB1J3sxMjB9ezcwfXs3MH17NzB9ezcwfScsIE5vbmUsIE5vbmUpLAotKHUnT3V0T2ZSYkRpc2tEbGcnLCB1J1RleHQnLCB1J1RleHQnLCAyMCwgNTMsIDMzMCwgNDAsIDMsIE5vbmUsIHUnVGhlIGhpZ2hsaWdodGVkIHZvbHVtZXMgZG8gbm90IGhhdmUgZW5vdWdoIGRpc2sgc3BhY2UgYXZhaWxhYmxlIGZvciB0aGUgY3VycmVudGx5IHNlbGVjdGVkIGZlYXR1cmVzLiAgWW91IGNhbiBlaXRoZXIgcmVtb3ZlIHNvbWUgZmlsZXMgZnJvbSB0aGUgaGlnaGxpZ2h0ZWQgdm9sdW1lcywgb3IgY2hvb3NlIHRvIGluc3RhbGwgbGVzcyBmZWF0dXJlcyBvbnRvIGxvY2FsIGRyaXZlKHMpLCBvciBzZWxlY3QgZGlmZmVyZW50IGRlc3RpbmF0aW9uIGRyaXZlKHMpLicsIE5vbmUsIE5vbmUpLAotKHUnT3V0T2ZSYkRpc2tEbGcnLCB1J0Jhbm5lckJpdG1hcCcsIHUnQml0bWFwJywgMCwgMCwgMzc0LCA0NCwgMSwgTm9uZSwgdSdbQmFubmVyQml0bWFwXScsIHUnTm8nLCBOb25lKSwKLSh1J091dE9mUmJEaXNrRGxnJywgdSdCYW5uZXJMaW5lJywgdSdMaW5lJywgMCwgNDQsIDM3NCwgMCwgMSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSksCi0odSdPdXRPZlJiRGlza0RsZycsIHUnQm90dG9tTGluZScsIHUnTGluZScsIDAsIDIzNCwgMzc0LCAwLCAxLCBOb25lLCBOb25lLCBOb25lLCBOb25lKSwKLSh1J091dE9mUmJEaXNrRGxnJywgdSdEZXNjcmlwdGlvbicsIHUnVGV4dCcsIDIwLCAyMCwgMjgwLCAyMCwgMTk2NjExLCBOb25lLCB1J0Rpc2sgc3BhY2UgcmVxdWlyZWQgZm9yIHRoZSBpbnN0YWxsYXRpb24gZXhjZWVkcyBhdmFpbGFibGUgZGlzayBzcGFjZS4nLCBOb25lLCBOb25lKSwKLSh1J091dE9mUmJEaXNrRGxnJywgdSdUaXRsZScsIHUnVGV4dCcsIDE1LCA2LCAyMDAsIDE1LCAxOTY2MTEsIE5vbmUsIHUnW0RsZ1RpdGxlRm9udF1PdXQgb2YgRGlzayBTcGFjZScsIE5vbmUsIE5vbmUpLAotKHUnT3V0T2ZSYkRpc2tEbGcnLCB1J05vJywgdSdQdXNoQnV0dG9uJywgMzA0LCAyNDMsIDU2LCAxNywgMywgTm9uZSwgdSdbQnV0dG9uVGV4dF9Ob10nLCB1J1llcycsIE5vbmUpLAotKHUnT3V0T2ZSYkRpc2tEbGcnLCB1J1llcycsIHUnUHVzaEJ1dHRvbicsIDI0MCwgMjQzLCA1NiwgMTcsIDMsIE5vbmUsIHUnW0J1dHRvblRleHRfWWVzXScsIHUnQmFubmVyQml0bWFwJywgTm9uZSksCi0odSdPdXRPZlJiRGlza0RsZycsIHUnVm9sdW1lTGlzdCcsIHUnVm9sdW1lQ29zdExpc3QnLCAyMCwgMTQwLCAzMzAsIDgwLCA0NTg3NTI3LCBOb25lLCB1J3sxMjB9ezcwfXs3MH17NzB9ezcwfScsIE5vbmUsIE5vbmUpLAotKHUnT3V0T2ZSYkRpc2tEbGcnLCB1J1RleHQyJywgdSdUZXh0JywgMjAsIDk0LCAzMzAsIDQwLCAzLCBOb25lLCB1IkFsdGVybmF0aXZlbHksIHlvdSBtYXkgY2hvb3NlIHRvIGRpc2FibGUgdGhlIGluc3RhbGxlcidzIHJvbGxiYWNrIGZ1bmN0aW9uYWxpdHkuICBUaGlzIGFsbG93cyB0aGUgaW5zdGFsbGVyIHRvIHJlc3RvcmUgeW91ciBjb21wdXRlcidzIG9yaWdpbmFsIHN0YXRlIHNob3VsZCB0aGUgaW5zdGFsbGF0aW9uIGJlIGludGVycnVwdGVkIGluIGFueSB3YXkuICBDbGljayBZZXMgaWYgeW91IHdpc2ggdG8gdGFrZSB0aGUgcmlzayB0byBkaXNhYmxlIHJvbGxiYWNrLiIsIE5vbmUsIE5vbmUpLAotKHUnUmVzdW1lRGxnJywgdSdCaXRtYXAnLCB1J0JpdG1hcCcsIDAsIDAsIDM3MCwgMjM0LCAxLCBOb25lLCB1J1tEaWFsb2dCaXRtYXBdJywgdSdCYWNrJywgTm9uZSksCi0odSdSZXN1bWVEbGcnLCB1J0JvdHRvbUxpbmUnLCB1J0xpbmUnLCAwLCAyMzQsIDM3NCwgMCwgMSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSksCi0odSdSZXN1bWVEbGcnLCB1J0NhbmNlbCcsIHUnUHVzaEJ1dHRvbicsIDMwNCwgMjQzLCA1NiwgMTcsIDMsIE5vbmUsIHUnW0J1dHRvblRleHRfQ2FuY2VsXScsIHUnQml0bWFwJywgTm9uZSksCi0odSdSZXN1bWVEbGcnLCB1J0Rlc2NyaXB0aW9uJywgdSdUZXh0JywgMTM1LCA3MCwgMjIwLCAzMCwgMTk2NjExLCBOb25lLCB1J1RoZSBbV2l6YXJkXSB3aWxsIGNvbXBsZXRlIHRoZSBpbnN0YWxsYXRpb24gb2YgW1Byb2R1Y3ROYW1lXSBvbiB5b3VyIGNvbXB1dGVyLiAgQ2xpY2sgSW5zdGFsbCB0byBjb250aW51ZSBvciBDYW5jZWwgdG8gZXhpdCB0aGUgW1dpemFyZF0uJywgTm9uZSwgTm9uZSksCi0odSdSZXN1bWVEbGcnLCB1J1RpdGxlJywgdSdUZXh0JywgMTM1LCAyMCwgMjIwLCA2MCwgMTk2NjExLCBOb25lLCB1J3tcXFZlcmRhbmFCb2xkMTN9UmVzdW1pbmcgdGhlIFtQcm9kdWN0TmFtZV0gW1dpemFyZF0nLCBOb25lLCBOb25lKSwKLSh1J1Jlc3VtZURsZycsIHUnQmFjaycsIHUnUHVzaEJ1dHRvbicsIDE4MCwgMjQzLCA1NiwgMTcsIDEsIE5vbmUsIHUnW0J1dHRvblRleHRfQmFja10nLCB1J0luc3RhbGwnLCBOb25lKSwKLSh1J1Jlc3VtZURsZycsIHUnSW5zdGFsbCcsIHUnUHVzaEJ1dHRvbicsIDIzNiwgMjQzLCA1NiwgMTcsIDMsIE5vbmUsIHUnW0J1dHRvblRleHRfSW5zdGFsbF0nLCB1J0NhbmNlbCcsIE5vbmUpLAotKHUnU2V0dXBUeXBlRGxnJywgdSdCYW5uZXJCaXRtYXAnLCB1J0JpdG1hcCcsIDAsIDAsIDM3NCwgNDQsIDEsIE5vbmUsIHUnW0Jhbm5lckJpdG1hcF0nLCB1J1R5cGljYWxMYWJlbCcsIE5vbmUpLAotKHUnU2V0dXBUeXBlRGxnJywgdSdCYW5uZXJMaW5lJywgdSdMaW5lJywgMCwgNDQsIDM3NCwgMCwgMSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSksCi0odSdTZXR1cFR5cGVEbGcnLCB1J0JvdHRvbUxpbmUnLCB1J0xpbmUnLCAwLCAyMzQsIDM3NCwgMCwgMSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSksCi0odSdTZXR1cFR5cGVEbGcnLCB1J0NhbmNlbCcsIHUnUHVzaEJ1dHRvbicsIDMwNCwgMjQzLCA1NiwgMTcsIDMsIE5vbmUsIHUnW0J1dHRvblRleHRfQ2FuY2VsXScsIHUnQmFubmVyQml0bWFwJywgTm9uZSksCi0odSdTZXR1cFR5cGVEbGcnLCB1J0Rlc2NyaXB0aW9uJywgdSdUZXh0JywgMjUsIDIzLCAyODAsIDE1LCAxOTY2MTEsIE5vbmUsIHUnQ2hvb3NlIHRoZSBzZXR1cCB0eXBlIHRoYXQgYmVzdCBzdWl0cyB5b3VyIG5lZWRzJywgTm9uZSwgTm9uZSksCi0odSdTZXR1cFR5cGVEbGcnLCB1J1RpdGxlJywgdSdUZXh0JywgMTUsIDYsIDIwMCwgMTUsIDE5NjYxMSwgTm9uZSwgdSdbRGxnVGl0bGVGb250XUNob29zZSBTZXR1cCBUeXBlJywgTm9uZSwgTm9uZSksCi0odSdTZXR1cFR5cGVEbGcnLCB1J0JhY2snLCB1J1B1c2hCdXR0b24nLCAxODAsIDI0MywgNTYsIDE3LCAzLCBOb25lLCB1J1tCdXR0b25UZXh0X0JhY2tdJywgdSdOZXh0JywgTm9uZSksCi0odSdTZXR1cFR5cGVEbGcnLCB1J05leHQnLCB1J1B1c2hCdXR0b24nLCAyMzYsIDI0MywgNTYsIDE3LCAxLCBOb25lLCB1J1tCdXR0b25UZXh0X05leHRdJywgdSdDYW5jZWwnLCBOb25lKSwKLSh1J1NldHVwVHlwZURsZycsIHUnVHlwaWNhbExhYmVsJywgdSdUZXh0JywgMTA1LCA2NSwgMTAwLCAxMCwgMywgTm9uZSwgdSdbRGxnVGl0bGVGb250XSZUeXBpY2FsJywgdSdUeXBpY2FsQnV0dG9uJywgTm9uZSksCi0odSdTZXR1cFR5cGVEbGcnLCB1J0NvbXBsZXRlQnV0dG9uJywgdSdQdXNoQnV0dG9uJywgNTAsIDE3MSwgMzgsIDM4LCA1NzY3MTcxLCBOb25lLCB1J1tDb21wbGV0ZVNldHVwSWNvbl0nLCB1J0JhY2snLCB1J0NvbXBsZXRlIEluc3RhbGxhdGlvbnwnKSwKLSh1J1NldHVwVHlwZURsZycsIHUnQ29tcGxldGVMYWJlbCcsIHUnVGV4dCcsIDEwNSwgMTcxLCAxMDAsIDEwLCAzLCBOb25lLCB1J1tEbGdUaXRsZUZvbnRdQyZvbXBsZXRlJywgdSdDb21wbGV0ZUJ1dHRvbicsIE5vbmUpLAotKHUnU2V0dXBUeXBlRGxnJywgdSdDb21wbGV0ZVRleHQnLCB1J1RleHQnLCAxMDUsIDE4NCwgMjMwLCAyMCwgMywgTm9uZSwgdSdBbGwgcHJvZ3JhbSBmZWF0dXJlcyB3aWxsIGJlIGluc3RhbGxlZC4gIChSZXF1aXJlcyBtb3N0IGRpc2sgc3BhY2UpJywgTm9uZSwgTm9uZSksCi0odSdTZXR1cFR5cGVEbGcnLCB1J0N1c3RvbUJ1dHRvbicsIHUnUHVzaEJ1dHRvbicsIDUwLCAxMTgsIDM4LCAzOCwgNTc2NzE3MSwgTm9uZSwgdSdbQ3VzdG9tU2V0dXBJY29uXScsIHUnQ29tcGxldGVMYWJlbCcsIHUnQ3VzdG9tIEluc3RhbGxhdGlvbnwnKSwKLSh1J1NldHVwVHlwZURsZycsIHUnQ3VzdG9tTGFiZWwnLCB1J1RleHQnLCAxMDUsIDExOCwgMTAwLCAxMCwgMywgTm9uZSwgdSdbRGxnVGl0bGVGb250XUMmdXN0b20nLCB1J0N1c3RvbUJ1dHRvbicsIE5vbmUpLAotKHUnU2V0dXBUeXBlRGxnJywgdSdDdXN0b21UZXh0JywgdSdUZXh0JywgMTA1LCAxMzEsIDIzMCwgMzAsIDMsIE5vbmUsIHUnQWxsb3dzIHVzZXJzIHRvIGNob29zZSB3aGljaCBwcm9ncmFtIGZlYXR1cmVzIHdpbGwgYmUgaW5zdGFsbGVkIGFuZCB3aGVyZSB0aGV5IHdpbGwgYmUgaW5zdGFsbGVkLiBSZWNvbW1lbmRlZCBmb3IgYWR2YW5jZWQgdXNlcnMuJywgTm9uZSwgTm9uZSksCi0odSdTZXR1cFR5cGVEbGcnLCB1J1R5cGljYWxCdXR0b24nLCB1J1B1c2hCdXR0b24nLCA1MCwgNjUsIDM4LCAzOCwgNTc2NzE3MSwgTm9uZSwgdSdbSW5zdGFsbGVySWNvbl0nLCB1J0N1c3RvbUxhYmVsJywgdSdUeXBpY2FsIEluc3RhbGxhdGlvbnwnKSwKLSh1J1NldHVwVHlwZURsZycsIHUnVHlwaWNhbFRleHQnLCB1J1RleHQnLCAxMDUsIDc4LCAyMzAsIDIwLCAzLCBOb25lLCB1J0luc3RhbGxzIHRoZSBtb3N0IGNvbW1vbiBwcm9ncmFtIGZlYXR1cmVzLiBSZWNvbW1lbmRlZCBmb3IgbW9zdCB1c2Vycy4nLCBOb25lLCBOb25lKSwKLSh1J1VzZXJSZWdpc3RyYXRpb25EbGcnLCB1J0Jhbm5lckJpdG1hcCcsIHUnQml0bWFwJywgMCwgMCwgMzc0LCA0NCwgMSwgTm9uZSwgdSdbQmFubmVyQml0bWFwXScsIHUnTmFtZUxhYmVsJywgTm9uZSksCi0odSdVc2VyUmVnaXN0cmF0aW9uRGxnJywgdSdCYW5uZXJMaW5lJywgdSdMaW5lJywgMCwgNDQsIDM3NCwgMCwgMSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSksCi0odSdVc2VyUmVnaXN0cmF0aW9uRGxnJywgdSdCb3R0b21MaW5lJywgdSdMaW5lJywgMCwgMjM0LCAzNzQsIDAsIDEsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUpLAotKHUnVXNlclJlZ2lzdHJhdGlvbkRsZycsIHUnQ2FuY2VsJywgdSdQdXNoQnV0dG9uJywgMzA0LCAyNDMsIDU2LCAxNywgMywgTm9uZSwgdSdbQnV0dG9uVGV4dF9DYW5jZWxdJywgdSdCYW5uZXJCaXRtYXAnLCBOb25lKSwKLSh1J1VzZXJSZWdpc3RyYXRpb25EbGcnLCB1J0Rlc2NyaXB0aW9uJywgdSdUZXh0JywgMjUsIDIzLCAyODAsIDE1LCAxOTY2MTEsIE5vbmUsIHUnUGxlYXNlIGVudGVyIHlvdXIgY3VzdG9tZXIgaW5mb3JtYXRpb24nLCBOb25lLCBOb25lKSwKLSh1J1VzZXJSZWdpc3RyYXRpb25EbGcnLCB1J1RpdGxlJywgdSdUZXh0JywgMTUsIDYsIDIwMCwgMTUsIDE5NjYxMSwgTm9uZSwgdSdbRGxnVGl0bGVGb250XUN1c3RvbWVyIEluZm9ybWF0aW9uJywgTm9uZSwgTm9uZSksCi0odSdVc2VyUmVnaXN0cmF0aW9uRGxnJywgdSdCYWNrJywgdSdQdXNoQnV0dG9uJywgMTgwLCAyNDMsIDU2LCAxNywgMywgTm9uZSwgdSdbQnV0dG9uVGV4dF9CYWNrXScsIHUnTmV4dCcsIE5vbmUpLAotKHUnVXNlclJlZ2lzdHJhdGlvbkRsZycsIHUnTmV4dCcsIHUnUHVzaEJ1dHRvbicsIDIzNiwgMjQzLCA1NiwgMTcsIDMsIE5vbmUsIHUnW0J1dHRvblRleHRfTmV4dF0nLCB1J0NhbmNlbCcsIE5vbmUpLAotKHUnVXNlclJlZ2lzdHJhdGlvbkRsZycsIHUnT3JnYW5pemF0aW9uTGFiZWwnLCB1J1RleHQnLCA0NSwgMTEwLCAxMDAsIDE1LCAzLCBOb25lLCB1JyZPcmdhbml6YXRpb246JywgdSdPcmdhbml6YXRpb25FZGl0JywgTm9uZSksCi0odSdVc2VyUmVnaXN0cmF0aW9uRGxnJywgdSdDREtleUVkaXQnLCB1J01hc2tlZEVkaXQnLCA0NSwgMTU5LCAyNTAsIDE2LCAzLCB1J1BJREtFWScsIHUnW1BJRFRlbXBsYXRlXScsIHUnQmFjaycsIE5vbmUpLAotKHUnVXNlclJlZ2lzdHJhdGlvbkRsZycsIHUnQ0RLZXlMYWJlbCcsIHUnVGV4dCcsIDQ1LCAxNDcsIDUwLCAxMCwgMywgTm9uZSwgdSdDRCAmS2V5OicsIHUnQ0RLZXlFZGl0JywgTm9uZSksCi0odSdVc2VyUmVnaXN0cmF0aW9uRGxnJywgdSdPcmdhbml6YXRpb25FZGl0JywgdSdFZGl0JywgNDUsIDEyMiwgMjIwLCAxOCwgMywgdSdDT01QQU5ZTkFNRScsIHUnezgwfScsIHUnQ0RLZXlMYWJlbCcsIE5vbmUpLAotKHUnVXNlclJlZ2lzdHJhdGlvbkRsZycsIHUnTmFtZUxhYmVsJywgdSdUZXh0JywgNDUsIDczLCAxMDAsIDE1LCAzLCBOb25lLCB1JyZVc2VyIE5hbWU6JywgdSdOYW1lRWRpdCcsIE5vbmUpLAotKHUnVXNlclJlZ2lzdHJhdGlvbkRsZycsIHUnTmFtZUVkaXQnLCB1J0VkaXQnLCA0NSwgODUsIDIyMCwgMTgsIDMsIHUnVVNFUk5BTUUnLCB1J3s4MH0nLCB1J09yZ2FuaXphdGlvbkxhYmVsJywgTm9uZSksCi0odSdWZXJpZnlSZWFkeURsZycsIHUnVGV4dCcsIHUnVGV4dCcsIDI1LCA3MCwgMzIwLCAyMCwgMywgTm9uZSwgdSdDbGljayBJbnN0YWxsIHRvIGJlZ2luIHRoZSBpbnN0YWxsYXRpb24uICBJZiB5b3Ugd2FudCB0byByZXZpZXcgb3IgY2hhbmdlIGFueSBvZiB5b3VyIGluc3RhbGxhdGlvbiBzZXR0aW5ncywgY2xpY2sgQmFjay4gIENsaWNrIENhbmNlbCB0byBleGl0IHRoZSB3aXphcmQuJywgTm9uZSwgTm9uZSksCi0odSdWZXJpZnlSZWFkeURsZycsIHUnQmFubmVyQml0bWFwJywgdSdCaXRtYXAnLCAwLCAwLCAzNzQsIDQ0LCAxLCBOb25lLCB1J1tCYW5uZXJCaXRtYXBdJywgdSdCYWNrJywgTm9uZSksCi0odSdWZXJpZnlSZWFkeURsZycsIHUnQmFubmVyTGluZScsIHUnTGluZScsIDAsIDQ0LCAzNzQsIDAsIDEsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUpLAotKHUnVmVyaWZ5UmVhZHlEbGcnLCB1J0JvdHRvbUxpbmUnLCB1J0xpbmUnLCAwLCAyMzQsIDM3NCwgMCwgMSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSksCi0odSdWZXJpZnlSZWFkeURsZycsIHUnQ2FuY2VsJywgdSdQdXNoQnV0dG9uJywgMzA0LCAyNDMsIDU2LCAxNywgMywgTm9uZSwgdSdbQnV0dG9uVGV4dF9DYW5jZWxdJywgdSdCYW5uZXJCaXRtYXAnLCBOb25lKSwKLSh1J1ZlcmlmeVJlYWR5RGxnJywgdSdEZXNjcmlwdGlvbicsIHUnVGV4dCcsIDI1LCAyMywgMjgwLCAxNSwgMTk2NjExLCBOb25lLCB1J1RoZSBbV2l6YXJkXSBpcyByZWFkeSB0byBiZWdpbiB0aGUgW0luc3RhbGxNb2RlXSBpbnN0YWxsYXRpb24nLCBOb25lLCBOb25lKSwKLSh1J1ZlcmlmeVJlYWR5RGxnJywgdSdUaXRsZScsIHUnVGV4dCcsIDE1LCA2LCAyMDAsIDE1LCAxOTY2MTEsIE5vbmUsIHUnW0RsZ1RpdGxlRm9udF1SZWFkeSB0byBJbnN0YWxsJywgTm9uZSwgTm9uZSksCi0odSdWZXJpZnlSZWFkeURsZycsIHUnQmFjaycsIHUnUHVzaEJ1dHRvbicsIDE4MCwgMjQzLCA1NiwgMTcsIDMsIE5vbmUsIHUnW0J1dHRvblRleHRfQmFja10nLCB1J0luc3RhbGwnLCBOb25lKSwKLSh1J1ZlcmlmeVJlYWR5RGxnJywgdSdJbnN0YWxsJywgdSdQdXNoQnV0dG9uJywgMjM2LCAyNDMsIDU2LCAxNywgMywgTm9uZSwgdSdbQnV0dG9uVGV4dF9JbnN0YWxsXScsIHUnQ2FuY2VsJywgTm9uZSksCi0odSdWZXJpZnlSZW1vdmVEbGcnLCB1J1RleHQnLCB1J1RleHQnLCAyNSwgNzAsIDMyMCwgMzAsIDMsIE5vbmUsIHUnQ2xpY2sgUmVtb3ZlIHRvIHJlbW92ZSBbUHJvZHVjdE5hbWVdIGZyb20geW91ciBjb21wdXRlci4gIElmIHlvdSB3YW50IHRvIHJldmlldyBvciBjaGFuZ2UgYW55IG9mIHlvdXIgaW5zdGFsbGF0aW9uIHNldHRpbmdzLCBjbGljayBCYWNrLiAgQ2xpY2sgQ2FuY2VsIHRvIGV4aXQgdGhlIHdpemFyZC4nLCBOb25lLCBOb25lKSwKLSh1J1ZlcmlmeVJlbW92ZURsZycsIHUnQmFubmVyQml0bWFwJywgdSdCaXRtYXAnLCAwLCAwLCAzNzQsIDQ0LCAxLCBOb25lLCB1J1tCYW5uZXJCaXRtYXBdJywgdSdCYWNrJywgTm9uZSksCi0odSdWZXJpZnlSZW1vdmVEbGcnLCB1J0Jhbm5lckxpbmUnLCB1J0xpbmUnLCAwLCA0NCwgMzc0LCAwLCAxLCBOb25lLCBOb25lLCBOb25lLCBOb25lKSwKLSh1J1ZlcmlmeVJlbW92ZURsZycsIHUnQm90dG9tTGluZScsIHUnTGluZScsIDAsIDIzNCwgMzc0LCAwLCAxLCBOb25lLCBOb25lLCBOb25lLCBOb25lKSwKLSh1J1ZlcmlmeVJlbW92ZURsZycsIHUnQ2FuY2VsJywgdSdQdXNoQnV0dG9uJywgMzA0LCAyNDMsIDU2LCAxNywgMywgTm9uZSwgdSdbQnV0dG9uVGV4dF9DYW5jZWxdJywgdSdCYW5uZXJCaXRtYXAnLCBOb25lKSwKLSh1J1ZlcmlmeVJlbW92ZURsZycsIHUnRGVzY3JpcHRpb24nLCB1J1RleHQnLCAyNSwgMjMsIDI4MCwgMTUsIDE5NjYxMSwgTm9uZSwgdSdZb3UgaGF2ZSBjaG9zZW4gdG8gcmVtb3ZlIHRoZSBwcm9ncmFtIGZyb20geW91ciBjb21wdXRlci4nLCBOb25lLCBOb25lKSwKLSh1J1ZlcmlmeVJlbW92ZURsZycsIHUnVGl0bGUnLCB1J1RleHQnLCAxNSwgNiwgMjAwLCAxNSwgMTk2NjExLCBOb25lLCB1J1tEbGdUaXRsZUZvbnRdUmVtb3ZlIFtQcm9kdWN0TmFtZV0nLCBOb25lLCBOb25lKSwKLSh1J1ZlcmlmeVJlbW92ZURsZycsIHUnQmFjaycsIHUnUHVzaEJ1dHRvbicsIDE4MCwgMjQzLCA1NiwgMTcsIDMsIE5vbmUsIHUnW0J1dHRvblRleHRfQmFja10nLCB1J1JlbW92ZScsIE5vbmUpLAotKHUnVmVyaWZ5UmVtb3ZlRGxnJywgdSdSZW1vdmUnLCB1J1B1c2hCdXR0b24nLCAyMzYsIDI0MywgNTYsIDE3LCAzLCBOb25lLCB1J1tCdXR0b25UZXh0X1JlbW92ZV0nLCB1J0NhbmNlbCcsIE5vbmUpLAotKHUnVmVyaWZ5UmVwYWlyRGxnJywgdSdUZXh0JywgdSdUZXh0JywgMjUsIDcwLCAzMjAsIDMwLCAzLCBOb25lLCB1J0NsaWNrIFJlcGFpciB0byByZXBhaXIgdGhlIGluc3RhbGxhdGlvbiBvZiBbUHJvZHVjdE5hbWVdLiAgSWYgeW91IHdhbnQgdG8gcmV2aWV3IG9yIGNoYW5nZSBhbnkgb2YgeW91ciBpbnN0YWxsYXRpb24gc2V0dGluZ3MsIGNsaWNrIEJhY2suICBDbGljayBDYW5jZWwgdG8gZXhpdCB0aGUgd2l6YXJkLicsIE5vbmUsIE5vbmUpLAotKHUnVmVyaWZ5UmVwYWlyRGxnJywgdSdCYW5uZXJCaXRtYXAnLCB1J0JpdG1hcCcsIDAsIDAsIDM3NCwgNDQsIDEsIE5vbmUsIHUnW0Jhbm5lckJpdG1hcF0nLCB1J0JhY2snLCBOb25lKSwKLSh1J1ZlcmlmeVJlcGFpckRsZycsIHUnQmFubmVyTGluZScsIHUnTGluZScsIDAsIDQ0LCAzNzQsIDAsIDEsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUpLAotKHUnVmVyaWZ5UmVwYWlyRGxnJywgdSdCb3R0b21MaW5lJywgdSdMaW5lJywgMCwgMjM0LCAzNzQsIDAsIDEsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUpLAotKHUnVmVyaWZ5UmVwYWlyRGxnJywgdSdDYW5jZWwnLCB1J1B1c2hCdXR0b24nLCAzMDQsIDI0MywgNTYsIDE3LCAzLCBOb25lLCB1J1tCdXR0b25UZXh0X0NhbmNlbF0nLCB1J0Jhbm5lckJpdG1hcCcsIE5vbmUpLAotKHUnVmVyaWZ5UmVwYWlyRGxnJywgdSdEZXNjcmlwdGlvbicsIHUnVGV4dCcsIDI1LCAyMywgMjgwLCAxNSwgMTk2NjExLCBOb25lLCB1J1RoZSBbV2l6YXJkXSBpcyByZWFkeSB0byBiZWdpbiB0aGUgcmVwYWlyIG9mIFtQcm9kdWN0TmFtZV0uJywgTm9uZSwgTm9uZSksCi0odSdWZXJpZnlSZXBhaXJEbGcnLCB1J1RpdGxlJywgdSdUZXh0JywgMTUsIDYsIDIwMCwgMTUsIDE5NjYxMSwgTm9uZSwgdSdbRGxnVGl0bGVGb250XVJlcGFpciBbUHJvZHVjdE5hbWVdJywgTm9uZSwgTm9uZSksCi0odSdWZXJpZnlSZXBhaXJEbGcnLCB1J0JhY2snLCB1J1B1c2hCdXR0b24nLCAxODAsIDI0MywgNTYsIDE3LCAzLCBOb25lLCB1J1tCdXR0b25UZXh0X0JhY2tdJywgdSdSZXBhaXInLCBOb25lKSwKLSh1J1ZlcmlmeVJlcGFpckRsZycsIHUnUmVwYWlyJywgdSdQdXNoQnV0dG9uJywgMjM2LCAyNDMsIDU2LCAxNywgMywgTm9uZSwgdSdbQnV0dG9uVGV4dF9SZXBhaXJdJywgdSdDYW5jZWwnLCBOb25lKSwKLSh1J1dhaXRGb3JDb3N0aW5nRGxnJywgdSdUZXh0JywgdSdUZXh0JywgNDgsIDE1LCAxOTQsIDMwLCAzLCBOb25lLCB1J1BsZWFzZSB3YWl0IHdoaWxlIHRoZSBpbnN0YWxsZXIgZmluaXNoZXMgZGV0ZXJtaW5pbmcgeW91ciBkaXNrIHNwYWNlIHJlcXVpcmVtZW50cy4nLCBOb25lLCBOb25lKSwKLSh1J1dhaXRGb3JDb3N0aW5nRGxnJywgdSdJY29uJywgdSdJY29uJywgMTUsIDE1LCAyNCwgMjQsIDUyNDI4ODEsIE5vbmUsIHUnW0V4Y2xhbWF0aW9uSWNvbl0nLCBOb25lLCB1J0V4Y2xhbWF0aW9uIGljb258JyksCi0odSdXYWl0Rm9yQ29zdGluZ0RsZycsIHUnUmV0dXJuJywgdSdQdXNoQnV0dG9uJywgMTAyLCA1NywgNTYsIDE3LCAzLCBOb25lLCB1J1tCdXR0b25UZXh0X1JldHVybl0nLCBOb25lLCBOb25lKSwKLSh1J1dlbGNvbWVEbGcnLCB1J0JpdG1hcCcsIHUnQml0bWFwJywgMCwgMCwgMzcwLCAyMzQsIDEsIE5vbmUsIHUnW0RpYWxvZ0JpdG1hcF0nLCB1J0JhY2snLCBOb25lKSwKLSh1J1dlbGNvbWVEbGcnLCB1J0JvdHRvbUxpbmUnLCB1J0xpbmUnLCAwLCAyMzQsIDM3NCwgMCwgMSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSksCi0odSdXZWxjb21lRGxnJywgdSdDYW5jZWwnLCB1J1B1c2hCdXR0b24nLCAzMDQsIDI0MywgNTYsIDE3LCAzLCBOb25lLCB1J1tCdXR0b25UZXh0X0NhbmNlbF0nLCB1J0JpdG1hcCcsIE5vbmUpLAotKHUnV2VsY29tZURsZycsIHUnRGVzY3JpcHRpb24nLCB1J1RleHQnLCAxMzUsIDcwLCAyMjAsIDMwLCAxOTY2MTEsIE5vbmUsIHUnVGhlIFtXaXphcmRdIHdpbGwgaW5zdGFsbCBbUHJvZHVjdE5hbWVdIG9uIHlvdXIgY29tcHV0ZXIuICBDbGljayBOZXh0IHRvIGNvbnRpbnVlIG9yIENhbmNlbCB0byBleGl0IHRoZSBbV2l6YXJkXS4nLCBOb25lLCBOb25lKSwKLSh1J1dlbGNvbWVEbGcnLCB1J1RpdGxlJywgdSdUZXh0JywgMTM1LCAyMCwgMjIwLCA2MCwgMTk2NjExLCBOb25lLCB1J3tcXFZlcmRhbmFCb2xkMTN9V2VsY29tZSB0byB0aGUgW1Byb2R1Y3ROYW1lXSBbV2l6YXJkXScsIE5vbmUsIE5vbmUpLAotKHUnV2VsY29tZURsZycsIHUnQmFjaycsIHUnUHVzaEJ1dHRvbicsIDE4MCwgMjQzLCA1NiwgMTcsIDEsIE5vbmUsIHUnW0J1dHRvblRleHRfQmFja10nLCB1J05leHQnLCBOb25lKSwKLSh1J1dlbGNvbWVEbGcnLCB1J05leHQnLCB1J1B1c2hCdXR0b24nLCAyMzYsIDI0MywgNTYsIDE3LCAzLCBOb25lLCB1J1tCdXR0b25UZXh0X05leHRdJywgdSdDYW5jZWwnLCBOb25lKSwKLV0KLQotTGlzdEJveCA9IFsKLV0KLQotQWN0aW9uVGV4dCA9IFsKLSh1J0luc3RhbGxWYWxpZGF0ZScsIHUnVmFsaWRhdGluZyBpbnN0YWxsJywgTm9uZSksCi0odSdJbnN0YWxsRmlsZXMnLCB1J0NvcHlpbmcgbmV3IGZpbGVzJywgdSdGaWxlOiBbMV0sICBEaXJlY3Rvcnk6IFs5XSwgIFNpemU6IFs2XScpLAotKHUnSW5zdGFsbEFkbWluUGFja2FnZScsIHUnQ29weWluZyBuZXR3b3JrIGluc3RhbGwgZmlsZXMnLCB1J0ZpbGU6IFsxXSwgRGlyZWN0b3J5OiBbOV0sIFNpemU6IFs2XScpLAotKHUnRmlsZUNvc3QnLCB1J0NvbXB1dGluZyBzcGFjZSByZXF1aXJlbWVudHMnLCBOb25lKSwKLSh1J0Nvc3RJbml0aWFsaXplJywgdSdDb21wdXRpbmcgc3BhY2UgcmVxdWlyZW1lbnRzJywgTm9uZSksCi0odSdDb3N0RmluYWxpemUnLCB1J0NvbXB1dGluZyBzcGFjZSByZXF1aXJlbWVudHMnLCBOb25lKSwKLSh1J0NyZWF0ZVNob3J0Y3V0cycsIHUnQ3JlYXRpbmcgc2hvcnRjdXRzJywgdSdTaG9ydGN1dDogWzFdJyksCi0odSdQdWJsaXNoQ29tcG9uZW50cycsIHUnUHVibGlzaGluZyBRdWFsaWZpZWQgQ29tcG9uZW50cycsIHUnQ29tcG9uZW50IElEOiBbMV0sIFF1YWxpZmllcjogWzJdJyksCi0odSdQdWJsaXNoRmVhdHVyZXMnLCB1J1B1Ymxpc2hpbmcgUHJvZHVjdCBGZWF0dXJlcycsIHUnRmVhdHVyZTogWzFdJyksCi0odSdQdWJsaXNoUHJvZHVjdCcsIHUnUHVibGlzaGluZyBwcm9kdWN0IGluZm9ybWF0aW9uJywgTm9uZSksCi0odSdSZWdpc3RlckNsYXNzSW5mbycsIHUnUmVnaXN0ZXJpbmcgQ2xhc3Mgc2VydmVycycsIHUnQ2xhc3MgSWQ6IFsxXScpLAotKHUnUmVnaXN0ZXJFeHRlbnNpb25JbmZvJywgdSdSZWdpc3RlcmluZyBleHRlbnNpb24gc2VydmVycycsIHUnRXh0ZW5zaW9uOiBbMV0nKSwKLSh1J1JlZ2lzdGVyTUlNRUluZm8nLCB1J1JlZ2lzdGVyaW5nIE1JTUUgaW5mbycsIHUnTUlNRSBDb250ZW50IFR5cGU6IFsxXSwgRXh0ZW5zaW9uOiBbMl0nKSwKLSh1J1JlZ2lzdGVyUHJvZ0lkSW5mbycsIHUnUmVnaXN0ZXJpbmcgcHJvZ3JhbSBpZGVudGlmaWVycycsIHUnUHJvZ0lkOiBbMV0nKSwKLSh1J0FsbG9jYXRlUmVnaXN0cnlTcGFjZScsIHUnQWxsb2NhdGluZyByZWdpc3RyeSBzcGFjZScsIHUnRnJlZSBzcGFjZTogWzFdJyksCi0odSdBcHBTZWFyY2gnLCB1J1NlYXJjaGluZyBmb3IgaW5zdGFsbGVkIGFwcGxpY2F0aW9ucycsIHUnUHJvcGVydHk6IFsxXSwgU2lnbmF0dXJlOiBbMl0nKSwKLSh1J0JpbmRJbWFnZScsIHUnQmluZGluZyBleGVjdXRhYmxlcycsIHUnRmlsZTogWzFdJyksCi0odSdDQ1BTZWFyY2gnLCB1J1NlYXJjaGluZyBmb3IgcXVhbGlmeWluZyBwcm9kdWN0cycsIE5vbmUpLAotKHUnQ3JlYXRlRm9sZGVycycsIHUnQ3JlYXRpbmcgZm9sZGVycycsIHUnRm9sZGVyOiBbMV0nKSwKLSh1J0RlbGV0ZVNlcnZpY2VzJywgdSdEZWxldGluZyBzZXJ2aWNlcycsIHUnU2VydmljZTogWzFdJyksCi0odSdEdXBsaWNhdGVGaWxlcycsIHUnQ3JlYXRpbmcgZHVwbGljYXRlIGZpbGVzJywgdSdGaWxlOiBbMV0sICBEaXJlY3Rvcnk6IFs5XSwgIFNpemU6IFs2XScpLAotKHUnRmluZFJlbGF0ZWRQcm9kdWN0cycsIHUnU2VhcmNoaW5nIGZvciByZWxhdGVkIGFwcGxpY2F0aW9ucycsIHUnRm91bmQgYXBwbGljYXRpb246IFsxXScpLAotKHUnSW5zdGFsbE9EQkMnLCB1J0luc3RhbGxpbmcgT0RCQyBjb21wb25lbnRzJywgTm9uZSksCi0odSdJbnN0YWxsU2VydmljZXMnLCB1J0luc3RhbGxpbmcgbmV3IHNlcnZpY2VzJywgdSdTZXJ2aWNlOiBbMl0nKSwKLSh1J0xhdW5jaENvbmRpdGlvbnMnLCB1J0V2YWx1YXRpbmcgbGF1bmNoIGNvbmRpdGlvbnMnLCBOb25lKSwKLSh1J01pZ3JhdGVGZWF0dXJlU3RhdGVzJywgdSdNaWdyYXRpbmcgZmVhdHVyZSBzdGF0ZXMgZnJvbSByZWxhdGVkIGFwcGxpY2F0aW9ucycsIHUnQXBwbGljYXRpb246IFsxXScpLAotKHUnTW92ZUZpbGVzJywgdSdNb3ZpbmcgZmlsZXMnLCB1J0ZpbGU6IFsxXSwgIERpcmVjdG9yeTogWzldLCAgU2l6ZTogWzZdJyksCi0odSdQYXRjaEZpbGVzJywgdSdQYXRjaGluZyBmaWxlcycsIHUnRmlsZTogWzFdLCAgRGlyZWN0b3J5OiBbMl0sICBTaXplOiBbM10nKSwKLSh1J1Byb2Nlc3NDb21wb25lbnRzJywgdSdVcGRhdGluZyBjb21wb25lbnQgcmVnaXN0cmF0aW9uJywgTm9uZSksCi0odSdSZWdpc3RlckNvbVBsdXMnLCB1J1JlZ2lzdGVyaW5nIENPTSsgQXBwbGljYXRpb25zIGFuZCBDb21wb25lbnRzJywgdSdBcHBJZDogWzFde3ssIEFwcFR5cGU6IFsyXSwgVXNlcnM6IFszXSwgUlNOOiBbNF19fScpLAotKHUnUmVnaXN0ZXJGb250cycsIHUnUmVnaXN0ZXJpbmcgZm9udHMnLCB1J0ZvbnQ6IFsxXScpLAotKHUnUmVnaXN0ZXJQcm9kdWN0JywgdSdSZWdpc3RlcmluZyBwcm9kdWN0JywgdSdbMV0nKSwKLSh1J1JlZ2lzdGVyVHlwZUxpYnJhcmllcycsIHUnUmVnaXN0ZXJpbmcgdHlwZSBsaWJyYXJpZXMnLCB1J0xpYklEOiBbMV0nKSwKLSh1J1JlZ2lzdGVyVXNlcicsIHUnUmVnaXN0ZXJpbmcgdXNlcicsIHUnWzFdJyksCi0odSdSZW1vdmVEdXBsaWNhdGVGaWxlcycsIHUnUmVtb3ZpbmcgZHVwbGljYXRlZCBmaWxlcycsIHUnRmlsZTogWzFdLCBEaXJlY3Rvcnk6IFs5XScpLAotKHUnUmVtb3ZlRW52aXJvbm1lbnRTdHJpbmdzJywgdSdVcGRhdGluZyBlbnZpcm9ubWVudCBzdHJpbmdzJywgdSdOYW1lOiBbMV0sIFZhbHVlOiBbMl0sIEFjdGlvbiBbM10nKSwKLSh1J1JlbW92ZUV4aXN0aW5nUHJvZHVjdHMnLCB1J1JlbW92aW5nIGFwcGxpY2F0aW9ucycsIHUnQXBwbGljYXRpb246IFsxXSwgQ29tbWFuZCBsaW5lOiBbMl0nKSwKLSh1J1JlbW92ZUZpbGVzJywgdSdSZW1vdmluZyBmaWxlcycsIHUnRmlsZTogWzFdLCBEaXJlY3Rvcnk6IFs5XScpLAotKHUnUmVtb3ZlRm9sZGVycycsIHUnUmVtb3ZpbmcgZm9sZGVycycsIHUnRm9sZGVyOiBbMV0nKSwKLSh1J1JlbW92ZUluaVZhbHVlcycsIHUnUmVtb3ZpbmcgSU5JIGZpbGVzIGVudHJpZXMnLCB1J0ZpbGU6IFsxXSwgIFNlY3Rpb246IFsyXSwgIEtleTogWzNdLCBWYWx1ZTogWzRdJyksCi0odSdSZW1vdmVPREJDJywgdSdSZW1vdmluZyBPREJDIGNvbXBvbmVudHMnLCBOb25lKSwKLSh1J1JlbW92ZVJlZ2lzdHJ5VmFsdWVzJywgdSdSZW1vdmluZyBzeXN0ZW0gcmVnaXN0cnkgdmFsdWVzJywgdSdLZXk6IFsxXSwgTmFtZTogWzJdJyksCi0odSdSZW1vdmVTaG9ydGN1dHMnLCB1J1JlbW92aW5nIHNob3J0Y3V0cycsIHUnU2hvcnRjdXQ6IFsxXScpLAotKHUnUk1DQ1BTZWFyY2gnLCB1J1NlYXJjaGluZyBmb3IgcXVhbGlmeWluZyBwcm9kdWN0cycsIE5vbmUpLAotKHUnU2VsZlJlZ01vZHVsZXMnLCB1J1JlZ2lzdGVyaW5nIG1vZHVsZXMnLCB1J0ZpbGU6IFsxXSwgRm9sZGVyOiBbMl0nKSwKLSh1J1NlbGZVbnJlZ01vZHVsZXMnLCB1J1VucmVnaXN0ZXJpbmcgbW9kdWxlcycsIHUnRmlsZTogWzFdLCBGb2xkZXI6IFsyXScpLAotKHUnU2V0T0RCQ0ZvbGRlcnMnLCB1J0luaXRpYWxpemluZyBPREJDIGRpcmVjdG9yaWVzJywgTm9uZSksCi0odSdTdGFydFNlcnZpY2VzJywgdSdTdGFydGluZyBzZXJ2aWNlcycsIHUnU2VydmljZTogWzFdJyksCi0odSdTdG9wU2VydmljZXMnLCB1J1N0b3BwaW5nIHNlcnZpY2VzJywgdSdTZXJ2aWNlOiBbMV0nKSwKLSh1J1VucHVibGlzaENvbXBvbmVudHMnLCB1J1VucHVibGlzaGluZyBRdWFsaWZpZWQgQ29tcG9uZW50cycsIHUnQ29tcG9uZW50IElEOiBbMV0sIFF1YWxpZmllcjogWzJdJyksCi0odSdVbnB1Ymxpc2hGZWF0dXJlcycsIHUnVW5wdWJsaXNoaW5nIFByb2R1Y3QgRmVhdHVyZXMnLCB1J0ZlYXR1cmU6IFsxXScpLAotKHUnVW5yZWdpc3RlckNsYXNzSW5mbycsIHUnVW5yZWdpc3RlciBDbGFzcyBzZXJ2ZXJzJywgdSdDbGFzcyBJZDogWzFdJyksCi0odSdVbnJlZ2lzdGVyQ29tUGx1cycsIHUnVW5yZWdpc3RlcmluZyBDT00rIEFwcGxpY2F0aW9ucyBhbmQgQ29tcG9uZW50cycsIHUnQXBwSWQ6IFsxXXt7LCBBcHBUeXBlOiBbMl19fScpLAotKHUnVW5yZWdpc3RlckV4dGVuc2lvbkluZm8nLCB1J1VucmVnaXN0ZXJpbmcgZXh0ZW5zaW9uIHNlcnZlcnMnLCB1J0V4dGVuc2lvbjogWzFdJyksCi0odSdVbnJlZ2lzdGVyRm9udHMnLCB1J1VucmVnaXN0ZXJpbmcgZm9udHMnLCB1J0ZvbnQ6IFsxXScpLAotKHUnVW5yZWdpc3Rlck1JTUVJbmZvJywgdSdVbnJlZ2lzdGVyaW5nIE1JTUUgaW5mbycsIHUnTUlNRSBDb250ZW50IFR5cGU6IFsxXSwgRXh0ZW5zaW9uOiBbMl0nKSwKLSh1J1VucmVnaXN0ZXJQcm9nSWRJbmZvJywgdSdVbnJlZ2lzdGVyaW5nIHByb2dyYW0gaWRlbnRpZmllcnMnLCB1J1Byb2dJZDogWzFdJyksCi0odSdVbnJlZ2lzdGVyVHlwZUxpYnJhcmllcycsIHUnVW5yZWdpc3RlcmluZyB0eXBlIGxpYnJhcmllcycsIHUnTGliSUQ6IFsxXScpLAotKHUnV3JpdGVFbnZpcm9ubWVudFN0cmluZ3MnLCB1J1VwZGF0aW5nIGVudmlyb25tZW50IHN0cmluZ3MnLCB1J05hbWU6IFsxXSwgVmFsdWU6IFsyXSwgQWN0aW9uIFszXScpLAotKHUnV3JpdGVJbmlWYWx1ZXMnLCB1J1dyaXRpbmcgSU5JIGZpbGVzIHZhbHVlcycsIHUnRmlsZTogWzFdLCAgU2VjdGlvbjogWzJdLCAgS2V5OiBbM10sIFZhbHVlOiBbNF0nKSwKLSh1J1dyaXRlUmVnaXN0cnlWYWx1ZXMnLCB1J1dyaXRpbmcgc3lzdGVtIHJlZ2lzdHJ5IHZhbHVlcycsIHUnS2V5OiBbMV0sIE5hbWU6IFsyXSwgVmFsdWU6IFszXScpLAotKHUnQWR2ZXJ0aXNlJywgdSdBZHZlcnRpc2luZyBhcHBsaWNhdGlvbicsIE5vbmUpLAotKHUnR2VuZXJhdGVTY3JpcHQnLCB1J0dlbmVyYXRpbmcgc2NyaXB0IG9wZXJhdGlvbnMgZm9yIGFjdGlvbjonLCB1J1sxXScpLAotKHUnSW5zdGFsbFNGUENhdGFsb2dGaWxlJywgdSdJbnN0YWxsaW5nIHN5c3RlbSBjYXRhbG9nJywgdSdGaWxlOiBbMV0sICBEZXBlbmRlbmNpZXM6IFsyXScpLAotKHUnTXNpUHVibGlzaEFzc2VtYmxpZXMnLCB1J1B1Ymxpc2hpbmcgYXNzZW1ibHkgaW5mb3JtYXRpb24nLCB1J0FwcGxpY2F0aW9uIENvbnRleHQ6WzFdLCBBc3NlbWJseSBOYW1lOlsyXScpLAotKHUnTXNpVW5wdWJsaXNoQXNzZW1ibGllcycsIHUnVW5wdWJsaXNoaW5nIGFzc2VtYmx5IGluZm9ybWF0aW9uJywgdSdBcHBsaWNhdGlvbiBDb250ZXh0OlsxXSwgQXNzZW1ibHkgTmFtZTpbMl0nKSwKLSh1J1JvbGxiYWNrJywgdSdSb2xsaW5nIGJhY2sgYWN0aW9uOicsIHUnWzFdJyksCi0odSdSb2xsYmFja0NsZWFudXAnLCB1J1JlbW92aW5nIGJhY2t1cCBmaWxlcycsIHUnRmlsZTogWzFdJyksCi0odSdVbm1vdmVGaWxlcycsIHUnUmVtb3ZpbmcgbW92ZWQgZmlsZXMnLCB1J0ZpbGU6IFsxXSwgRGlyZWN0b3J5OiBbOV0nKSwKLSh1J1VucHVibGlzaFByb2R1Y3QnLCB1J1VucHVibGlzaGluZyBwcm9kdWN0IGluZm9ybWF0aW9uJywgTm9uZSksCi1dCi0KLUNvbnRyb2xDb25kaXRpb24gPSBbCi0odSdDdXN0b21pemVEbGcnLCB1J0Jyb3dzZScsIHUnSGlkZScsIHUnSW5zdGFsbGVkJyksCi0odSdDdXN0b21pemVEbGcnLCB1J0xvY2F0aW9uJywgdSdIaWRlJywgdSdJbnN0YWxsZWQnKSwKLSh1J0N1c3RvbWl6ZURsZycsIHUnTG9jYXRpb25MYWJlbCcsIHUnSGlkZScsIHUnSW5zdGFsbGVkJyksCi0odSdMaWNlbnNlQWdyZWVtZW50RGxnJywgdSdOZXh0JywgdSdEaXNhYmxlJywgdSdJQWdyZWUgPD4gIlllcyInKSwKLSh1J0xpY2Vuc2VBZ3JlZW1lbnREbGcnLCB1J05leHQnLCB1J0VuYWJsZScsIHUnSUFncmVlID0gIlllcyInKSwKLV0KLQotQ29udHJvbEV2ZW50ID0gWwotKHUnQWRtaW5XZWxjb21lRGxnJywgdSdDYW5jZWwnLCB1J1NwYXduRGlhbG9nJywgdSdDYW5jZWxEbGcnLCB1JzEnLCBOb25lKSwKLSh1J0FkbWluV2VsY29tZURsZycsIHUnTmV4dCcsIHUnTmV3RGlhbG9nJywgdSdBZG1pblJlZ2lzdHJhdGlvbkRsZycsIHUnMScsIDIpLAotKHUnQWRtaW5XZWxjb21lRGxnJywgdSdOZXh0JywgdSdbSW5zdGFsbE1vZGVdJywgdSdTZXJ2ZXIgSW1hZ2UnLCB1JzEnLCAxKSwKLSh1J0V4aXREaWFsb2cnLCB1J0ZpbmlzaCcsIHUnRW5kRGlhbG9nJywgdSdSZXR1cm4nLCB1JzEnLCBOb25lKSwKLSh1J0ZhdGFsRXJyb3InLCB1J0ZpbmlzaCcsIHUnRW5kRGlhbG9nJywgdSdFeGl0JywgdScxJywgTm9uZSksCi0odSdQcmVwYXJlRGxnJywgdSdDYW5jZWwnLCB1J1NwYXduRGlhbG9nJywgdSdDYW5jZWxEbGcnLCB1JzEnLCBOb25lKSwKLSh1J1Byb2dyZXNzRGxnJywgdSdDYW5jZWwnLCB1J1NwYXduRGlhbG9nJywgdSdDYW5jZWxEbGcnLCB1JzEnLCBOb25lKSwKLSh1J1VzZXJFeGl0JywgdSdGaW5pc2gnLCB1J0VuZERpYWxvZycsIHUnRXhpdCcsIHUnMScsIE5vbmUpLAotKHUnQWRtaW5Ccm93c2VEbGcnLCB1J1VwJywgdSdEaXJlY3RvcnlMaXN0VXAnLCB1JzAnLCB1JzEnLCBOb25lKSwKLSh1J0FkbWluQnJvd3NlRGxnJywgdSdDYW5jZWwnLCB1J1Jlc2V0JywgdScwJywgdScxJywgMSksCi0odSdBZG1pbkJyb3dzZURsZycsIHUnQ2FuY2VsJywgdSdFbmREaWFsb2cnLCB1J1JldHVybicsIHUnMScsIDIpLAotKHUnQWRtaW5Ccm93c2VEbGcnLCB1J05ld0ZvbGRlcicsIHUnRGlyZWN0b3J5TGlzdE5ldycsIHUnMCcsIHUnMScsIE5vbmUpLAotKHUnQWRtaW5Ccm93c2VEbGcnLCB1J09LJywgdSdFbmREaWFsb2cnLCB1J1JldHVybicsIHUnMScsIDIpLAotKHUnQWRtaW5Ccm93c2VEbGcnLCB1J09LJywgdSdTZXRUYXJnZXRQYXRoJywgdSdUQVJHRVRESVInLCB1JzEnLCAxKSwKLSh1J0FkbWluSW5zdGFsbFBvaW50RGxnJywgdSdDYW5jZWwnLCB1J1NwYXduRGlhbG9nJywgdSdDYW5jZWxEbGcnLCB1JzEnLCBOb25lKSwKLSh1J0FkbWluSW5zdGFsbFBvaW50RGxnJywgdSdCYWNrJywgdSdOZXdEaWFsb2cnLCB1J0FkbWluUmVnaXN0cmF0aW9uRGxnJywgdScxJywgTm9uZSksCi0odSdBZG1pbkluc3RhbGxQb2ludERsZycsIHUnTmV4dCcsIHUnU2V0VGFyZ2V0UGF0aCcsIHUnVEFSR0VURElSJywgdScxJywgMSksCi0odSdBZG1pbkluc3RhbGxQb2ludERsZycsIHUnTmV4dCcsIHUnTmV3RGlhbG9nJywgdSdWZXJpZnlSZWFkeURsZycsIHUnMScsIDIpLAotKHUnQWRtaW5JbnN0YWxsUG9pbnREbGcnLCB1J0Jyb3dzZScsIHUnU3Bhd25EaWFsb2cnLCB1J0FkbWluQnJvd3NlRGxnJywgdScxJywgTm9uZSksCi0odSdBZG1pblJlZ2lzdHJhdGlvbkRsZycsIHUnQ2FuY2VsJywgdSdTcGF3bkRpYWxvZycsIHUnQ2FuY2VsRGxnJywgdScxJywgTm9uZSksCi0odSdBZG1pblJlZ2lzdHJhdGlvbkRsZycsIHUnQmFjaycsIHUnTmV3RGlhbG9nJywgdSdBZG1pbldlbGNvbWVEbGcnLCB1JzEnLCBOb25lKSwKLSh1J0FkbWluUmVnaXN0cmF0aW9uRGxnJywgdSdOZXh0JywgdSdOZXdEaWFsb2cnLCB1J0FkbWluSW5zdGFsbFBvaW50RGxnJywgdSdQcm9kdWN0SUQnLCAyKSwKLSh1J0FkbWluUmVnaXN0cmF0aW9uRGxnJywgdSdOZXh0JywgdSdWYWxpZGF0ZVByb2R1Y3RJRCcsIHUnMCcsIHUnMCcsIDEpLAotKHUnQnJvd3NlRGxnJywgdSdVcCcsIHUnRGlyZWN0b3J5TGlzdFVwJywgdScwJywgdScxJywgTm9uZSksCi0odSdCcm93c2VEbGcnLCB1J0NhbmNlbCcsIHUnUmVzZXQnLCB1JzAnLCB1JzEnLCAxKSwKLSh1J0Jyb3dzZURsZycsIHUnQ2FuY2VsJywgdSdFbmREaWFsb2cnLCB1J1JldHVybicsIHUnMScsIDIpLAotKHUnQnJvd3NlRGxnJywgdSdOZXdGb2xkZXInLCB1J0RpcmVjdG9yeUxpc3ROZXcnLCB1JzAnLCB1JzEnLCBOb25lKSwKLSh1J0Jyb3dzZURsZycsIHUnT0snLCB1J0VuZERpYWxvZycsIHUnUmV0dXJuJywgdScxJywgMiksCi0odSdCcm93c2VEbGcnLCB1J09LJywgdSdTZXRUYXJnZXRQYXRoJywgdSdbX0Jyb3dzZVByb3BlcnR5XScsIHUnMScsIDEpLAotKHUnQ2FuY2VsRGxnJywgdSdObycsIHUnRW5kRGlhbG9nJywgdSdSZXR1cm4nLCB1JzEnLCBOb25lKSwKLSh1J0NhbmNlbERsZycsIHUnWWVzJywgdSdFbmREaWFsb2cnLCB1J0V4aXQnLCB1JzEnLCBOb25lKSwKLSh1J0N1c3RvbWl6ZURsZycsIHUnQ2FuY2VsJywgdSdTcGF3bkRpYWxvZycsIHUnQ2FuY2VsRGxnJywgdScxJywgTm9uZSksCi0odSdDdXN0b21pemVEbGcnLCB1J0JhY2snLCB1J05ld0RpYWxvZycsIHUnTWFpbnRlbmFuY2VUeXBlRGxnJywgdSdJbnN0YWxsTW9kZSA9ICJDaGFuZ2UiJywgTm9uZSksCi0odSdDdXN0b21pemVEbGcnLCB1J0JhY2snLCB1J05ld0RpYWxvZycsIHUnU2V0dXBUeXBlRGxnJywgdSdJbnN0YWxsTW9kZSA9ICJDdXN0b20iJywgTm9uZSksCi0odSdDdXN0b21pemVEbGcnLCB1J05leHQnLCB1J05ld0RpYWxvZycsIHUnVmVyaWZ5UmVhZHlEbGcnLCB1JzEnLCBOb25lKSwKLSh1J0N1c3RvbWl6ZURsZycsIHUnQnJvd3NlJywgdSdTZWxlY3Rpb25Ccm93c2UnLCB1J0Jyb3dzZURsZycsIHUnMScsIE5vbmUpLAotKHUnQ3VzdG9taXplRGxnJywgdSdSZXNldCcsIHUnUmVzZXQnLCB1JzAnLCB1JzEnLCBOb25lKSwKLSh1J0N1c3RvbWl6ZURsZycsIHUnRGlza0Nvc3QnLCB1J1NwYXduRGlhbG9nJywgdSdEaXNrQ29zdERsZycsIHUnMScsIDIpLAotKHUnRGlza0Nvc3REbGcnLCB1J09LJywgdSdFbmREaWFsb2cnLCB1J1JldHVybicsIHUnMScsIE5vbmUpLAotKHUnRXJyb3JEbGcnLCB1J1knLCB1J0VuZERpYWxvZycsIHUnRXJyb3JZZXMnLCB1JzEnLCBOb25lKSwKLSh1J0Vycm9yRGxnJywgdSdBJywgdSdFbmREaWFsb2cnLCB1J0Vycm9yQWJvcnQnLCB1JzEnLCBOb25lKSwKLSh1J0Vycm9yRGxnJywgdSdDJywgdSdFbmREaWFsb2cnLCB1J0Vycm9yQ2FuY2VsJywgdScxJywgTm9uZSksCi0odSdFcnJvckRsZycsIHUnSScsIHUnRW5kRGlhbG9nJywgdSdFcnJvcklnbm9yZScsIHUnMScsIE5vbmUpLAotKHUnRXJyb3JEbGcnLCB1J04nLCB1J0VuZERpYWxvZycsIHUnRXJyb3JObycsIHUnMScsIE5vbmUpLAotKHUnRXJyb3JEbGcnLCB1J08nLCB1J0VuZERpYWxvZycsIHUnRXJyb3JPaycsIHUnMScsIE5vbmUpLAotKHUnRXJyb3JEbGcnLCB1J1InLCB1J0VuZERpYWxvZycsIHUnRXJyb3JSZXRyeScsIHUnMScsIE5vbmUpLAotKHUnRmlsZXNJblVzZScsIHUnUmV0cnknLCB1J0VuZERpYWxvZycsIHUnUmV0cnknLCB1JzEnLCBOb25lKSwKLSh1J0ZpbGVzSW5Vc2UnLCB1J0V4aXQnLCB1J0VuZERpYWxvZycsIHUnRXhpdCcsIHUnMScsIE5vbmUpLAotKHUnRmlsZXNJblVzZScsIHUnSWdub3JlJywgdSdFbmREaWFsb2cnLCB1J0lnbm9yZScsIHUnMScsIE5vbmUpLAotKHUnTGljZW5zZUFncmVlbWVudERsZycsIHUnQ2FuY2VsJywgdSdTcGF3bkRpYWxvZycsIHUnQ2FuY2VsRGxnJywgdScxJywgTm9uZSksCi0odSdMaWNlbnNlQWdyZWVtZW50RGxnJywgdSdCYWNrJywgdSdOZXdEaWFsb2cnLCB1J1dlbGNvbWVEbGcnLCB1JzEnLCBOb25lKSwKLSh1J0xpY2Vuc2VBZ3JlZW1lbnREbGcnLCB1J05leHQnLCB1J05ld0RpYWxvZycsIHUnU2V0dXBUeXBlRGxnJywgdSdJQWdyZWUgPSAiWWVzIiBBTkQgU2hvd1VzZXJSZWdpc3RyYXRpb25EbGcgPD4gMScsIDMpLAotKHUnTGljZW5zZUFncmVlbWVudERsZycsIHUnTmV4dCcsIHUnTmV3RGlhbG9nJywgdSdVc2VyUmVnaXN0cmF0aW9uRGxnJywgdSdJQWdyZWUgPSAiWWVzIiBBTkQgU2hvd1VzZXJSZWdpc3RyYXRpb25EbGcgPSAxJywgMSksCi0odSdMaWNlbnNlQWdyZWVtZW50RGxnJywgdSdOZXh0JywgdSdTcGF3bldhaXREaWFsb2cnLCB1J1dhaXRGb3JDb3N0aW5nRGxnJywgdSdDb3N0aW5nQ29tcGxldGUgPSAxJywgMiksCi0odSdNYWludGVuYW5jZVR5cGVEbGcnLCB1J0NhbmNlbCcsIHUnU3Bhd25EaWFsb2cnLCB1J0NhbmNlbERsZycsIHUnMScsIE5vbmUpLAotKHUnTWFpbnRlbmFuY2VUeXBlRGxnJywgdSdCYWNrJywgdSdOZXdEaWFsb2cnLCB1J01haW50ZW5hbmNlV2VsY29tZURsZycsIHUnMScsIE5vbmUpLAotKHUnTWFpbnRlbmFuY2VUeXBlRGxnJywgdSdDaGFuZ2VCdXR0b24nLCB1J05ld0RpYWxvZycsIHUnQ3VzdG9taXplRGxnJywgdScxJywgNCksCi0odSdNYWludGVuYW5jZVR5cGVEbGcnLCB1J0NoYW5nZUJ1dHRvbicsIHUnW0luc3RhbGxNb2RlXScsIHUnQ2hhbmdlJywgdScxJywgMSksCi0odSdNYWludGVuYW5jZVR5cGVEbGcnLCB1J0NoYW5nZUJ1dHRvbicsIHUnW1Byb2dyZXNzMV0nLCB1J0NoYW5naW5nJywgdScxJywgMiksCi0odSdNYWludGVuYW5jZVR5cGVEbGcnLCB1J0NoYW5nZUJ1dHRvbicsIHUnW1Byb2dyZXNzMl0nLCB1J2NoYW5nZXMnLCB1JzEnLCAzKSwKLSh1J01haW50ZW5hbmNlVHlwZURsZycsIHUnUmVtb3ZlQnV0dG9uJywgdSdOZXdEaWFsb2cnLCB1J1ZlcmlmeVJlbW92ZURsZycsIHUnMScsIDQpLAotKHUnTWFpbnRlbmFuY2VUeXBlRGxnJywgdSdSZW1vdmVCdXR0b24nLCB1J1tJbnN0YWxsTW9kZV0nLCB1J1JlbW92ZScsIHUnMScsIDEpLAotKHUnTWFpbnRlbmFuY2VUeXBlRGxnJywgdSdSZW1vdmVCdXR0b24nLCB1J1tQcm9ncmVzczFdJywgdSdSZW1vdmluZycsIHUnMScsIDIpLAotKHUnTWFpbnRlbmFuY2VUeXBlRGxnJywgdSdSZW1vdmVCdXR0b24nLCB1J1tQcm9ncmVzczJdJywgdSdyZW1vdmVzJywgdScxJywgMyksCi0odSdNYWludGVuYW5jZVR5cGVEbGcnLCB1J1JlcGFpckJ1dHRvbicsIHUnTmV3RGlhbG9nJywgdSdWZXJpZnlSZXBhaXJEbGcnLCB1JzEnLCA0KSwKLSh1J01haW50ZW5hbmNlVHlwZURsZycsIHUnUmVwYWlyQnV0dG9uJywgdSdbSW5zdGFsbE1vZGVdJywgdSdSZXBhaXInLCB1JzEnLCAxKSwKLSh1J01haW50ZW5hbmNlVHlwZURsZycsIHUnUmVwYWlyQnV0dG9uJywgdSdbUHJvZ3Jlc3MxXScsIHUnUmVwYWlyaW5nJywgdScxJywgMiksCi0odSdNYWludGVuYW5jZVR5cGVEbGcnLCB1J1JlcGFpckJ1dHRvbicsIHUnW1Byb2dyZXNzMl0nLCB1J3JlcGFpcnMnLCB1JzEnLCAzKSwKLSh1J01haW50ZW5hbmNlV2VsY29tZURsZycsIHUnQ2FuY2VsJywgdSdTcGF3bkRpYWxvZycsIHUnQ2FuY2VsRGxnJywgdScxJywgTm9uZSksCi0odSdNYWludGVuYW5jZVdlbGNvbWVEbGcnLCB1J05leHQnLCB1J05ld0RpYWxvZycsIHUnTWFpbnRlbmFuY2VUeXBlRGxnJywgdScxJywgMiksCi0odSdNYWludGVuYW5jZVdlbGNvbWVEbGcnLCB1J05leHQnLCB1J1NwYXduV2FpdERpYWxvZycsIHUnV2FpdEZvckNvc3RpbmdEbGcnLCB1J0Nvc3RpbmdDb21wbGV0ZSA9IDEnLCAxKSwKLSh1J091dE9mRGlza0RsZycsIHUnT0snLCB1J0VuZERpYWxvZycsIHUnUmV0dXJuJywgdScxJywgTm9uZSksCi0odSdPdXRPZlJiRGlza0RsZycsIHUnTm8nLCB1J0VuZERpYWxvZycsIHUnUmV0dXJuJywgdScxJywgTm9uZSksCi0odSdPdXRPZlJiRGlza0RsZycsIHUnWWVzJywgdSdFbmREaWFsb2cnLCB1J1JldHVybicsIHUnMScsIDIpLAotKHUnT3V0T2ZSYkRpc2tEbGcnLCB1J1llcycsIHUnRW5hYmxlUm9sbGJhY2snLCB1J0ZhbHNlJywgdScxJywgMSksCi0odSdSZXN1bWVEbGcnLCB1J0NhbmNlbCcsIHUnU3Bhd25EaWFsb2cnLCB1J0NhbmNlbERsZycsIHUnMScsIE5vbmUpLAotKHUnUmVzdW1lRGxnJywgdSdJbnN0YWxsJywgdSdFbmREaWFsb2cnLCB1J1JldHVybicsIHUnT3V0T2ZEaXNrU3BhY2UgPSAxIEFORCBPdXRPZk5vUmJEaXNrU3BhY2UgPSAwIEFORCBQUk9NUFRST0xMQkFDS0NPU1Q9IkQiJywgNCksCi0odSdSZXN1bWVEbGcnLCB1J0luc3RhbGwnLCB1J0VuZERpYWxvZycsIHUnUmV0dXJuJywgdSdPdXRPZkRpc2tTcGFjZSA8PiAxJywgMiksCi0odSdSZXN1bWVEbGcnLCB1J0luc3RhbGwnLCB1J1NwYXduRGlhbG9nJywgdSdPdXRPZkRpc2tEbGcnLCB1JyhPdXRPZkRpc2tTcGFjZSA9IDEgQU5EIE91dE9mTm9SYkRpc2tTcGFjZSA9IDEpIE9SIChPdXRPZkRpc2tTcGFjZSA9IDEgQU5EIFBST01QVFJPTExCQUNLQ09TVD0iRiIpJywgNiksCi0odSdSZXN1bWVEbGcnLCB1J0luc3RhbGwnLCB1J1NwYXduRGlhbG9nJywgdSdPdXRPZlJiRGlza0RsZycsIHUnT3V0T2ZEaXNrU3BhY2UgPSAxIEFORCBPdXRPZk5vUmJEaXNrU3BhY2UgPSAwIEFORCAoUFJPTVBUUk9MTEJBQ0tDT1NUPSJQIiBPUiBOT1QgUFJPTVBUUk9MTEJBQ0tDT1NUKScsIDMpLAotKHUnUmVzdW1lRGxnJywgdSdJbnN0YWxsJywgdSdTcGF3bldhaXREaWFsb2cnLCB1J1dhaXRGb3JDb3N0aW5nRGxnJywgdSdDb3N0aW5nQ29tcGxldGUgPSAxJywgMSksCi0odSdSZXN1bWVEbGcnLCB1J0luc3RhbGwnLCB1J0VuYWJsZVJvbGxiYWNrJywgdSdGYWxzZScsIHUnT3V0T2ZEaXNrU3BhY2UgPSAxIEFORCBPdXRPZk5vUmJEaXNrU3BhY2UgPSAwIEFORCBQUk9NUFRST0xMQkFDS0NPU1Q9IkQiJywgNSksCi0odSdTZXR1cFR5cGVEbGcnLCB1J0NhbmNlbCcsIHUnU3Bhd25EaWFsb2cnLCB1J0NhbmNlbERsZycsIHUnMScsIE5vbmUpLAotKHUnU2V0dXBUeXBlRGxnJywgdSdCYWNrJywgdSdOZXdEaWFsb2cnLCB1J0xpY2Vuc2VBZ3JlZW1lbnREbGcnLCB1J1Nob3dVc2VyUmVnaXN0cmF0aW9uRGxnIDw+IDEnLCBOb25lKSwKLSh1J1NldHVwVHlwZURsZycsIHUnQmFjaycsIHUnTmV3RGlhbG9nJywgdSdVc2VyUmVnaXN0cmF0aW9uRGxnJywgdSdTaG93VXNlclJlZ2lzdHJhdGlvbkRsZyA9IDEnLCBOb25lKSwKLSh1J1NldHVwVHlwZURsZycsIHUnQ29tcGxldGVCdXR0b24nLCB1J05ld0RpYWxvZycsIHUnVmVyaWZ5UmVhZHlEbGcnLCB1JzEnLCAzKSwKLSh1J1NldHVwVHlwZURsZycsIHUnQ29tcGxldGVCdXR0b24nLCB1J1tJbnN0YWxsTW9kZV0nLCB1J0NvbXBsZXRlJywgdScxJywgMSksCi0odSdTZXR1cFR5cGVEbGcnLCB1J0NvbXBsZXRlQnV0dG9uJywgdSdTZXRJbnN0YWxsTGV2ZWwnLCB1JzEwMDAnLCB1JzEnLCAyKSwKLSh1J1NldHVwVHlwZURsZycsIHUnQ3VzdG9tQnV0dG9uJywgdSdOZXdEaWFsb2cnLCB1J0N1c3RvbWl6ZURsZycsIHUnMScsIDIpLAotKHUnU2V0dXBUeXBlRGxnJywgdSdDdXN0b21CdXR0b24nLCB1J1tJbnN0YWxsTW9kZV0nLCB1J0N1c3RvbScsIHUnMScsIDEpLAotKHUnU2V0dXBUeXBlRGxnJywgdSdUeXBpY2FsQnV0dG9uJywgdSdOZXdEaWFsb2cnLCB1J1ZlcmlmeVJlYWR5RGxnJywgdScxJywgMyksCi0odSdTZXR1cFR5cGVEbGcnLCB1J1R5cGljYWxCdXR0b24nLCB1J1tJbnN0YWxsTW9kZV0nLCB1J1R5cGljYWwnLCB1JzEnLCAxKSwKLSh1J1NldHVwVHlwZURsZycsIHUnVHlwaWNhbEJ1dHRvbicsIHUnU2V0SW5zdGFsbExldmVsJywgdSczJywgdScxJywgMiksCi0odSdVc2VyUmVnaXN0cmF0aW9uRGxnJywgdSdDYW5jZWwnLCB1J1NwYXduRGlhbG9nJywgdSdDYW5jZWxEbGcnLCB1JzEnLCBOb25lKSwKLSh1J1VzZXJSZWdpc3RyYXRpb25EbGcnLCB1J0JhY2snLCB1J05ld0RpYWxvZycsIHUnTGljZW5zZUFncmVlbWVudERsZycsIHUnMScsIE5vbmUpLAotKHUnVXNlclJlZ2lzdHJhdGlvbkRsZycsIHUnTmV4dCcsIHUnTmV3RGlhbG9nJywgdSdTZXR1cFR5cGVEbGcnLCB1J1Byb2R1Y3RJRCcsIDMpLAotKHUnVXNlclJlZ2lzdHJhdGlvbkRsZycsIHUnTmV4dCcsIHUnVmFsaWRhdGVQcm9kdWN0SUQnLCB1JzAnLCB1JzAnLCAxKSwKLSh1J1VzZXJSZWdpc3RyYXRpb25EbGcnLCB1J05leHQnLCB1J1NwYXduV2FpdERpYWxvZycsIHUnV2FpdEZvckNvc3RpbmdEbGcnLCB1J0Nvc3RpbmdDb21wbGV0ZSA9IDEnLCAyKSwKLSh1J1ZlcmlmeVJlYWR5RGxnJywgdSdDYW5jZWwnLCB1J1NwYXduRGlhbG9nJywgdSdDYW5jZWxEbGcnLCB1JzEnLCBOb25lKSwKLSh1J1ZlcmlmeVJlYWR5RGxnJywgdSdCYWNrJywgdSdOZXdEaWFsb2cnLCB1J0FkbWluSW5zdGFsbFBvaW50RGxnJywgdSdJbnN0YWxsTW9kZSA9ICJTZXJ2ZXIgSW1hZ2UiJywgTm9uZSksCi0odSdWZXJpZnlSZWFkeURsZycsIHUnQmFjaycsIHUnTmV3RGlhbG9nJywgdSdDdXN0b21pemVEbGcnLCB1J0luc3RhbGxNb2RlID0gIkN1c3RvbSIgT1IgSW5zdGFsbE1vZGUgPSAiQ2hhbmdlIicsIE5vbmUpLAotKHUnVmVyaWZ5UmVhZHlEbGcnLCB1J0JhY2snLCB1J05ld0RpYWxvZycsIHUnTWFpbnRlbmFuY2VUeXBlRGxnJywgdSdJbnN0YWxsTW9kZSA9ICJSZXBhaXIiJywgTm9uZSksCi0odSdWZXJpZnlSZWFkeURsZycsIHUnQmFjaycsIHUnTmV3RGlhbG9nJywgdSdTZXR1cFR5cGVEbGcnLCB1J0luc3RhbGxNb2RlID0gIlR5cGljYWwiIE9SIEluc3RhbGxNb2RlID0gIkNvbXBsZXRlIicsIE5vbmUpLAotKHUnVmVyaWZ5UmVhZHlEbGcnLCB1J0luc3RhbGwnLCB1J0VuZERpYWxvZycsIHUnUmV0dXJuJywgdSdPdXRPZkRpc2tTcGFjZSA9IDEgQU5EIE91dE9mTm9SYkRpc2tTcGFjZSA9IDAgQU5EIFBST01QVFJPTExCQUNLQ09TVD0iRCInLCAzKSwKLSh1J1ZlcmlmeVJlYWR5RGxnJywgdSdJbnN0YWxsJywgdSdFbmREaWFsb2cnLCB1J1JldHVybicsIHUnT3V0T2ZEaXNrU3BhY2UgPD4gMScsIDEpLAotKHUnVmVyaWZ5UmVhZHlEbGcnLCB1J0luc3RhbGwnLCB1J1NwYXduRGlhbG9nJywgdSdPdXRPZkRpc2tEbGcnLCB1JyhPdXRPZkRpc2tTcGFjZSA9IDEgQU5EIE91dE9mTm9SYkRpc2tTcGFjZSA9IDEpIE9SIChPdXRPZkRpc2tTcGFjZSA9IDEgQU5EIFBST01QVFJPTExCQUNLQ09TVD0iRiIpJywgNSksCi0odSdWZXJpZnlSZWFkeURsZycsIHUnSW5zdGFsbCcsIHUnU3Bhd25EaWFsb2cnLCB1J091dE9mUmJEaXNrRGxnJywgdSdPdXRPZkRpc2tTcGFjZSA9IDEgQU5EIE91dE9mTm9SYkRpc2tTcGFjZSA9IDAgQU5EIChQUk9NUFRST0xMQkFDS0NPU1Q9IlAiIE9SIE5PVCBQUk9NUFRST0xMQkFDS0NPU1QpJywgMiksCi0odSdWZXJpZnlSZWFkeURsZycsIHUnSW5zdGFsbCcsIHUnRW5hYmxlUm9sbGJhY2snLCB1J0ZhbHNlJywgdSdPdXRPZkRpc2tTcGFjZSA9IDEgQU5EIE91dE9mTm9SYkRpc2tTcGFjZSA9IDAgQU5EIFBST01QVFJPTExCQUNLQ09TVD0iRCInLCA0KSwKLSh1J1ZlcmlmeVJlbW92ZURsZycsIHUnQ2FuY2VsJywgdSdTcGF3bkRpYWxvZycsIHUnQ2FuY2VsRGxnJywgdScxJywgTm9uZSksCi0odSdWZXJpZnlSZW1vdmVEbGcnLCB1J0JhY2snLCB1J05ld0RpYWxvZycsIHUnTWFpbnRlbmFuY2VUeXBlRGxnJywgdScxJywgTm9uZSksCi0odSdWZXJpZnlSZW1vdmVEbGcnLCB1J1JlbW92ZScsIHUnUmVtb3ZlJywgdSdBbGwnLCB1J091dE9mRGlza1NwYWNlIDw+IDEnLCAxKSwKLSh1J1ZlcmlmeVJlbW92ZURsZycsIHUnUmVtb3ZlJywgdSdFbmREaWFsb2cnLCB1J1JldHVybicsIHUnT3V0T2ZEaXNrU3BhY2UgPSAxIEFORCBPdXRPZk5vUmJEaXNrU3BhY2UgPSAwIEFORCBQUk9NUFRST0xMQkFDS0NPU1Q9IkQiJywgNCksCi0odSdWZXJpZnlSZW1vdmVEbGcnLCB1J1JlbW92ZScsIHUnRW5kRGlhbG9nJywgdSdSZXR1cm4nLCB1J091dE9mRGlza1NwYWNlIDw+IDEnLCAyKSwKLSh1J1ZlcmlmeVJlbW92ZURsZycsIHUnUmVtb3ZlJywgdSdTcGF3bkRpYWxvZycsIHUnT3V0T2ZEaXNrRGxnJywgdScoT3V0T2ZEaXNrU3BhY2UgPSAxIEFORCBPdXRPZk5vUmJEaXNrU3BhY2UgPSAxKSBPUiAoT3V0T2ZEaXNrU3BhY2UgPSAxIEFORCBQUk9NUFRST0xMQkFDS0NPU1Q9IkYiKScsIDYpLAotKHUnVmVyaWZ5UmVtb3ZlRGxnJywgdSdSZW1vdmUnLCB1J1NwYXduRGlhbG9nJywgdSdPdXRPZlJiRGlza0RsZycsIHUnT3V0T2ZEaXNrU3BhY2UgPSAxIEFORCBPdXRPZk5vUmJEaXNrU3BhY2UgPSAwIEFORCAoUFJPTVBUUk9MTEJBQ0tDT1NUPSJQIiBPUiBOT1QgUFJPTVBUUk9MTEJBQ0tDT1NUKScsIDMpLAotKHUnVmVyaWZ5UmVtb3ZlRGxnJywgdSdSZW1vdmUnLCB1J0VuYWJsZVJvbGxiYWNrJywgdSdGYWxzZScsIHUnT3V0T2ZEaXNrU3BhY2UgPSAxIEFORCBPdXRPZk5vUmJEaXNrU3BhY2UgPSAwIEFORCBQUk9NUFRST0xMQkFDS0NPU1Q9IkQiJywgNSksCi0odSdWZXJpZnlSZXBhaXJEbGcnLCB1J0NhbmNlbCcsIHUnU3Bhd25EaWFsb2cnLCB1J0NhbmNlbERsZycsIHUnMScsIE5vbmUpLAotKHUnVmVyaWZ5UmVwYWlyRGxnJywgdSdCYWNrJywgdSdOZXdEaWFsb2cnLCB1J01haW50ZW5hbmNlVHlwZURsZycsIHUnMScsIE5vbmUpLAotKHUnVmVyaWZ5UmVwYWlyRGxnJywgdSdSZXBhaXInLCB1J0VuZERpYWxvZycsIHUnUmV0dXJuJywgdSdPdXRPZkRpc2tTcGFjZSA9IDEgQU5EIE91dE9mTm9SYkRpc2tTcGFjZSA9IDAgQU5EIFBST01QVFJPTExCQUNLQ09TVD0iRCInLCA1KSwKLSh1J1ZlcmlmeVJlcGFpckRsZycsIHUnUmVwYWlyJywgdSdFbmREaWFsb2cnLCB1J1JldHVybicsIHUnT3V0T2ZEaXNrU3BhY2UgPD4gMScsIDMpLAotKHUnVmVyaWZ5UmVwYWlyRGxnJywgdSdSZXBhaXInLCB1J1NwYXduRGlhbG9nJywgdSdPdXRPZkRpc2tEbGcnLCB1JyhPdXRPZkRpc2tTcGFjZSA9IDEgQU5EIE91dE9mTm9SYkRpc2tTcGFjZSA9IDEpIE9SIChPdXRPZkRpc2tTcGFjZSA9IDEgQU5EIFBST01QVFJPTExCQUNLQ09TVD0iRiIpJywgNyksCi0odSdWZXJpZnlSZXBhaXJEbGcnLCB1J1JlcGFpcicsIHUnU3Bhd25EaWFsb2cnLCB1J091dE9mUmJEaXNrRGxnJywgdSdPdXRPZkRpc2tTcGFjZSA9IDEgQU5EIE91dE9mTm9SYkRpc2tTcGFjZSA9IDAgQU5EIChQUk9NUFRST0xMQkFDS0NPU1Q9IlAiIE9SIE5PVCBQUk9NUFRST0xMQkFDS0NPU1QpJywgNCksCi0odSdWZXJpZnlSZXBhaXJEbGcnLCB1J1JlcGFpcicsIHUnRW5hYmxlUm9sbGJhY2snLCB1J0ZhbHNlJywgdSdPdXRPZkRpc2tTcGFjZSA9IDEgQU5EIE91dE9mTm9SYkRpc2tTcGFjZSA9IDAgQU5EIFBST01QVFJPTExCQUNLQ09TVD0iRCInLCA2KSwKLSh1J1ZlcmlmeVJlcGFpckRsZycsIHUnUmVwYWlyJywgdSdSZWluc3RhbGwnLCB1J0FsbCcsIHUnT3V0T2ZEaXNrU3BhY2UgPD4gMScsIDIpLAotKHUnVmVyaWZ5UmVwYWlyRGxnJywgdSdSZXBhaXInLCB1J1JlaW5zdGFsbE1vZGUnLCB1J2VjbXVzJywgdSdPdXRPZkRpc2tTcGFjZSA8PiAxJywgMSksCi0odSdXYWl0Rm9yQ29zdGluZ0RsZycsIHUnUmV0dXJuJywgdSdFbmREaWFsb2cnLCB1J0V4aXQnLCB1JzEnLCBOb25lKSwKLSh1J1dlbGNvbWVEbGcnLCB1J0NhbmNlbCcsIHUnU3Bhd25EaWFsb2cnLCB1J0NhbmNlbERsZycsIHUnMScsIE5vbmUpLAotKHUnV2VsY29tZURsZycsIHUnTmV4dCcsIHUnTmV3RGlhbG9nJywgdSdMaWNlbnNlQWdyZWVtZW50RGxnJywgdScxJywgTm9uZSksCi1dCi0KLURpYWxvZyA9IFsKLSh1J0FkbWluV2VsY29tZURsZycsIDUwLCA1MCwgMzcwLCAyNzAsIDMsIHUnW1Byb2R1Y3ROYW1lXSBbU2V0dXBdJywgdSdOZXh0JywgdSdOZXh0JywgdSdDYW5jZWwnKSwKLSh1J0V4aXREaWFsb2cnLCA1MCwgNTAsIDM3MCwgMjcwLCAzLCB1J1tQcm9kdWN0TmFtZV0gW1NldHVwXScsIHUnRmluaXNoJywgdSdGaW5pc2gnLCB1J0ZpbmlzaCcpLAotKHUnRmF0YWxFcnJvcicsIDUwLCA1MCwgMzcwLCAyNzAsIDMsIHUnW1Byb2R1Y3ROYW1lXSBbU2V0dXBdJywgdSdGaW5pc2gnLCB1J0ZpbmlzaCcsIHUnRmluaXNoJyksCi0odSdQcmVwYXJlRGxnJywgNTAsIDUwLCAzNzAsIDI3MCwgMSwgdSdbUHJvZHVjdE5hbWVdIFtTZXR1cF0nLCB1J0NhbmNlbCcsIHUnQ2FuY2VsJywgdSdDYW5jZWwnKSwKLSh1J1Byb2dyZXNzRGxnJywgNTAsIDUwLCAzNzAsIDI3MCwgMSwgdSdbUHJvZHVjdE5hbWVdIFtTZXR1cF0nLCB1J0NhbmNlbCcsIHUnQ2FuY2VsJywgdSdDYW5jZWwnKSwKLSh1J1VzZXJFeGl0JywgNTAsIDUwLCAzNzAsIDI3MCwgMywgdSdbUHJvZHVjdE5hbWVdIFtTZXR1cF0nLCB1J0ZpbmlzaCcsIHUnRmluaXNoJywgdSdGaW5pc2gnKSwKLSh1J0FkbWluQnJvd3NlRGxnJywgNTAsIDUwLCAzNzAsIDI3MCwgMywgdSdbUHJvZHVjdE5hbWVdIFtTZXR1cF0nLCB1J1BhdGhFZGl0JywgdSdPSycsIHUnQ2FuY2VsJyksCi0odSdBZG1pbkluc3RhbGxQb2ludERsZycsIDUwLCA1MCwgMzcwLCAyNzAsIDMsIHUnW1Byb2R1Y3ROYW1lXSBbU2V0dXBdJywgdSdUZXh0JywgdSdOZXh0JywgdSdDYW5jZWwnKSwKLSh1J0FkbWluUmVnaXN0cmF0aW9uRGxnJywgNTAsIDUwLCAzNzAsIDI3MCwgMywgdSdbUHJvZHVjdE5hbWVdIFtTZXR1cF0nLCB1J09yZ2FuaXphdGlvbkxhYmVsJywgdSdOZXh0JywgdSdDYW5jZWwnKSwKLSh1J0Jyb3dzZURsZycsIDUwLCA1MCwgMzcwLCAyNzAsIDMsIHUnW1Byb2R1Y3ROYW1lXSBbU2V0dXBdJywgdSdQYXRoRWRpdCcsIHUnT0snLCB1J0NhbmNlbCcpLAotKHUnQ2FuY2VsRGxnJywgNTAsIDEwLCAyNjAsIDg1LCAzLCB1J1tQcm9kdWN0TmFtZV0gW1NldHVwXScsIHUnTm8nLCB1J05vJywgdSdObycpLAotKHUnQ3VzdG9taXplRGxnJywgNTAsIDUwLCAzNzAsIDI3MCwgMzUsIHUnW1Byb2R1Y3ROYW1lXSBbU2V0dXBdJywgdSdUcmVlJywgdSdOZXh0JywgdSdDYW5jZWwnKSwKLSh1J0Rpc2tDb3N0RGxnJywgNTAsIDUwLCAzNzAsIDI3MCwgMywgdSdbUHJvZHVjdE5hbWVdIFtTZXR1cF0nLCB1J09LJywgdSdPSycsIHUnT0snKSwKLSh1J0Vycm9yRGxnJywgNTAsIDEwLCAyNzAsIDEwNSwgNjU1MzksIHUnSW5zdGFsbGVyIEluZm9ybWF0aW9uJywgdSdFcnJvclRleHQnLCBOb25lLCBOb25lKSwKLSh1J0ZpbGVzSW5Vc2UnLCA1MCwgNTAsIDM3MCwgMjcwLCAxOSwgdSdbUHJvZHVjdE5hbWVdIFtTZXR1cF0nLCB1J1JldHJ5JywgdSdSZXRyeScsIHUnUmV0cnknKSwKLSh1J0xpY2Vuc2VBZ3JlZW1lbnREbGcnLCA1MCwgNTAsIDM3MCwgMjcwLCAzLCB1J1tQcm9kdWN0TmFtZV0gTGljZW5zZSBBZ3JlZW1lbnQnLCB1J0J1dHRvbnMnLCB1J05leHQnLCB1J0NhbmNlbCcpLAotKHUnTWFpbnRlbmFuY2VUeXBlRGxnJywgNTAsIDUwLCAzNzAsIDI3MCwgMywgdSdbUHJvZHVjdE5hbWVdIFtTZXR1cF0nLCB1J0NoYW5nZUxhYmVsJywgdSdDaGFuZ2VCdXR0b24nLCB1J0NhbmNlbCcpLAotKHUnTWFpbnRlbmFuY2VXZWxjb21lRGxnJywgNTAsIDUwLCAzNzAsIDI3MCwgMywgdSdbUHJvZHVjdE5hbWVdIFtTZXR1cF0nLCB1J05leHQnLCB1J05leHQnLCB1J0NhbmNlbCcpLAotKHUnT3V0T2ZEaXNrRGxnJywgNTAsIDUwLCAzNzAsIDI3MCwgMywgdSdbUHJvZHVjdE5hbWVdIFtTZXR1cF0nLCB1J09LJywgdSdPSycsIHUnT0snKSwKLSh1J091dE9mUmJEaXNrRGxnJywgNTAsIDUwLCAzNzAsIDI3MCwgMywgdSdbUHJvZHVjdE5hbWVdIFtTZXR1cF0nLCB1J05vJywgdSdObycsIHUnTm8nKSwKLSh1J1Jlc3VtZURsZycsIDUwLCA1MCwgMzcwLCAyNzAsIDMsIHUnW1Byb2R1Y3ROYW1lXSBbU2V0dXBdJywgdSdJbnN0YWxsJywgdSdJbnN0YWxsJywgdSdDYW5jZWwnKSwKLSh1J1NldHVwVHlwZURsZycsIDUwLCA1MCwgMzcwLCAyNzAsIDMsIHUnW1Byb2R1Y3ROYW1lXSBbU2V0dXBdJywgdSdUeXBpY2FsTGFiZWwnLCB1J1R5cGljYWxCdXR0b24nLCB1J0NhbmNlbCcpLAotKHUnVXNlclJlZ2lzdHJhdGlvbkRsZycsIDUwLCA1MCwgMzcwLCAyNzAsIDMsIHUnW1Byb2R1Y3ROYW1lXSBbU2V0dXBdJywgdSdOYW1lTGFiZWwnLCB1J05leHQnLCB1J0NhbmNlbCcpLAotKHUnVmVyaWZ5UmVhZHlEbGcnLCA1MCwgNTAsIDM3MCwgMjcwLCAzNSwgdSdbUHJvZHVjdE5hbWVdIFtTZXR1cF0nLCB1J0luc3RhbGwnLCB1J0luc3RhbGwnLCB1J0NhbmNlbCcpLAotKHUnVmVyaWZ5UmVtb3ZlRGxnJywgNTAsIDUwLCAzNzAsIDI3MCwgMzUsIHUnW1Byb2R1Y3ROYW1lXSBbU2V0dXBdJywgdSdCYWNrJywgdSdCYWNrJywgdSdDYW5jZWwnKSwKLSh1J1ZlcmlmeVJlcGFpckRsZycsIDUwLCA1MCwgMzcwLCAyNzAsIDM1LCB1J1tQcm9kdWN0TmFtZV0gW1NldHVwXScsIHUnUmVwYWlyJywgdSdSZXBhaXInLCB1J0NhbmNlbCcpLAotKHUnV2FpdEZvckNvc3RpbmdEbGcnLCA1MCwgMTAsIDI2MCwgODUsIDMsIHUnW1Byb2R1Y3ROYW1lXSBbU2V0dXBdJywgdSdSZXR1cm4nLCB1J1JldHVybicsIHUnUmV0dXJuJyksCi0odSdXZWxjb21lRGxnJywgNTAsIDUwLCAzNzAsIDI3MCwgMywgdSdbUHJvZHVjdE5hbWVdIFtTZXR1cF0nLCB1J05leHQnLCB1J05leHQnLCB1J0NhbmNlbCcpLAotXQotCi1FdmVudE1hcHBpbmcgPSBbCi0odSdQcmVwYXJlRGxnJywgdSdBY3Rpb25EYXRhJywgdSdBY3Rpb25EYXRhJywgdSdUZXh0JyksCi0odSdQcmVwYXJlRGxnJywgdSdBY3Rpb25UZXh0JywgdSdBY3Rpb25UZXh0JywgdSdUZXh0JyksCi0odSdQcm9ncmVzc0RsZycsIHUnQWN0aW9uVGV4dCcsIHUnQWN0aW9uVGV4dCcsIHUnVGV4dCcpLAotKHUnUHJvZ3Jlc3NEbGcnLCB1J1Byb2dyZXNzQmFyJywgdSdTZXRQcm9ncmVzcycsIHUnUHJvZ3Jlc3MnKSwKLSh1J0FkbWluQnJvd3NlRGxnJywgdSdEaXJlY3RvcnlDb21ibycsIHUnSWdub3JlQ2hhbmdlJywgdSdJZ25vcmVDaGFuZ2UnKSwKLSh1J0Jyb3dzZURsZycsIHUnRGlyZWN0b3J5Q29tYm8nLCB1J0lnbm9yZUNoYW5nZScsIHUnSWdub3JlQ2hhbmdlJyksCi0odSdDdXN0b21pemVEbGcnLCB1J05leHQnLCB1J1NlbGVjdGlvbk5vSXRlbXMnLCB1J0VuYWJsZWQnKSwKLSh1J0N1c3RvbWl6ZURsZycsIHUnUmVzZXQnLCB1J1NlbGVjdGlvbk5vSXRlbXMnLCB1J0VuYWJsZWQnKSwKLSh1J0N1c3RvbWl6ZURsZycsIHUnRGlza0Nvc3QnLCB1J1NlbGVjdGlvbk5vSXRlbXMnLCB1J0VuYWJsZWQnKSwKLSh1J0N1c3RvbWl6ZURsZycsIHUnSXRlbURlc2NyaXB0aW9uJywgdSdTZWxlY3Rpb25EZXNjcmlwdGlvbicsIHUnVGV4dCcpLAotKHUnQ3VzdG9taXplRGxnJywgdSdJdGVtU2l6ZScsIHUnU2VsZWN0aW9uU2l6ZScsIHUnVGV4dCcpLAotKHUnQ3VzdG9taXplRGxnJywgdSdMb2NhdGlvbicsIHUnU2VsZWN0aW9uUGF0aCcsIHUnVGV4dCcpLAotKHUnQ3VzdG9taXplRGxnJywgdSdMb2NhdGlvbicsIHUnU2VsZWN0aW9uUGF0aE9uJywgdSdWaXNpYmxlJyksCi0odSdDdXN0b21pemVEbGcnLCB1J0xvY2F0aW9uTGFiZWwnLCB1J1NlbGVjdGlvblBhdGhPbicsIHUnVmlzaWJsZScpLAotXQotCi1JbnN0YWxsRXhlY3V0ZVNlcXVlbmNlID0gWwotKHUnSW5zdGFsbFZhbGlkYXRlJywgTm9uZSwgMTQwMCksCi0odSdJbnN0YWxsSW5pdGlhbGl6ZScsIE5vbmUsIDE1MDApLAotKHUnSW5zdGFsbEZpbmFsaXplJywgTm9uZSwgNjYwMCksCi0odSdJbnN0YWxsRmlsZXMnLCBOb25lLCA0MDAwKSwKLSh1J0ZpbGVDb3N0JywgTm9uZSwgOTAwKSwKLSh1J0Nvc3RJbml0aWFsaXplJywgTm9uZSwgODAwKSwKLSh1J0Nvc3RGaW5hbGl6ZScsIE5vbmUsIDEwMDApLAotKHUnQ3JlYXRlU2hvcnRjdXRzJywgTm9uZSwgNDUwMCksCi0odSdQdWJsaXNoQ29tcG9uZW50cycsIE5vbmUsIDYyMDApLAotKHUnUHVibGlzaEZlYXR1cmVzJywgTm9uZSwgNjMwMCksCi0odSdQdWJsaXNoUHJvZHVjdCcsIE5vbmUsIDY0MDApLAotKHUnUmVnaXN0ZXJDbGFzc0luZm8nLCBOb25lLCA0NjAwKSwKLSh1J1JlZ2lzdGVyRXh0ZW5zaW9uSW5mbycsIE5vbmUsIDQ3MDApLAotKHUnUmVnaXN0ZXJNSU1FSW5mbycsIE5vbmUsIDQ5MDApLAotKHUnUmVnaXN0ZXJQcm9nSWRJbmZvJywgTm9uZSwgNDgwMCksCi0odSdWYWxpZGF0ZVByb2R1Y3RJRCcsIE5vbmUsIDcwMCksCi0odSdBbGxvY2F0ZVJlZ2lzdHJ5U3BhY2UnLCB1J05PVCBJbnN0YWxsZWQnLCAxNTUwKSwKLSh1J0FwcFNlYXJjaCcsIE5vbmUsIDQwMCksCi0odSdCaW5kSW1hZ2UnLCBOb25lLCA0MzAwKSwKLSh1J0NDUFNlYXJjaCcsIHUnTk9UIEluc3RhbGxlZCcsIDUwMCksCi0odSdDcmVhdGVGb2xkZXJzJywgTm9uZSwgMzcwMCksCi0odSdEZWxldGVTZXJ2aWNlcycsIHUnVmVyc2lvbk5UJywgMjAwMCksCi0odSdEdXBsaWNhdGVGaWxlcycsIE5vbmUsIDQyMTApLAotKHUnRmluZFJlbGF0ZWRQcm9kdWN0cycsIE5vbmUsIDIwMCksCi0odSdJbnN0YWxsT0RCQycsIE5vbmUsIDU0MDApLAotKHUnSW5zdGFsbFNlcnZpY2VzJywgdSdWZXJzaW9uTlQnLCA1ODAwKSwKLSh1J0xhdW5jaENvbmRpdGlvbnMnLCBOb25lLCAxMDApLAotKHUnTWlncmF0ZUZlYXR1cmVTdGF0ZXMnLCBOb25lLCAxMjAwKSwKLSh1J01vdmVGaWxlcycsIE5vbmUsIDM4MDApLAotKHUnUGF0Y2hGaWxlcycsIE5vbmUsIDQwOTApLAotKHUnUHJvY2Vzc0NvbXBvbmVudHMnLCBOb25lLCAxNjAwKSwKLSh1J1JlZ2lzdGVyQ29tUGx1cycsIE5vbmUsIDU3MDApLAotKHUnUmVnaXN0ZXJGb250cycsIE5vbmUsIDUzMDApLAotKHUnUmVnaXN0ZXJQcm9kdWN0JywgTm9uZSwgNjEwMCksCi0odSdSZWdpc3RlclR5cGVMaWJyYXJpZXMnLCBOb25lLCA1NTAwKSwKLSh1J1JlZ2lzdGVyVXNlcicsIE5vbmUsIDYwMDApLAotKHUnUmVtb3ZlRHVwbGljYXRlRmlsZXMnLCBOb25lLCAzNDAwKSwKLSh1J1JlbW92ZUVudmlyb25tZW50U3RyaW5ncycsIE5vbmUsIDMzMDApLAotKHUnUmVtb3ZlRXhpc3RpbmdQcm9kdWN0cycsIE5vbmUsIDY3MDApLAotKHUnUmVtb3ZlRmlsZXMnLCBOb25lLCAzNTAwKSwKLSh1J1JlbW92ZUZvbGRlcnMnLCBOb25lLCAzNjAwKSwKLSh1J1JlbW92ZUluaVZhbHVlcycsIE5vbmUsIDMxMDApLAotKHUnUmVtb3ZlT0RCQycsIE5vbmUsIDI0MDApLAotKHUnUmVtb3ZlUmVnaXN0cnlWYWx1ZXMnLCBOb25lLCAyNjAwKSwKLSh1J1JlbW92ZVNob3J0Y3V0cycsIE5vbmUsIDMyMDApLAotKHUnUk1DQ1BTZWFyY2gnLCB1J05PVCBJbnN0YWxsZWQnLCA2MDApLAotKHUnU2VsZlJlZ01vZHVsZXMnLCBOb25lLCA1NjAwKSwKLSh1J1NlbGZVbnJlZ01vZHVsZXMnLCBOb25lLCAyMjAwKSwKLSh1J1NldE9EQkNGb2xkZXJzJywgTm9uZSwgMTEwMCksCi0odSdTdGFydFNlcnZpY2VzJywgdSdWZXJzaW9uTlQnLCA1OTAwKSwKLSh1J1N0b3BTZXJ2aWNlcycsIHUnVmVyc2lvbk5UJywgMTkwMCksCi0odSdVbnB1Ymxpc2hDb21wb25lbnRzJywgTm9uZSwgMTcwMCksCi0odSdVbnB1Ymxpc2hGZWF0dXJlcycsIE5vbmUsIDE4MDApLAotKHUnVW5yZWdpc3RlckNsYXNzSW5mbycsIE5vbmUsIDI3MDApLAotKHUnVW5yZWdpc3RlckNvbVBsdXMnLCBOb25lLCAyMTAwKSwKLSh1J1VucmVnaXN0ZXJFeHRlbnNpb25JbmZvJywgTm9uZSwgMjgwMCksCi0odSdVbnJlZ2lzdGVyRm9udHMnLCBOb25lLCAyNTAwKSwKLSh1J1VucmVnaXN0ZXJNSU1FSW5mbycsIE5vbmUsIDMwMDApLAotKHUnVW5yZWdpc3RlclByb2dJZEluZm8nLCBOb25lLCAyOTAwKSwKLSh1J1VucmVnaXN0ZXJUeXBlTGlicmFyaWVzJywgTm9uZSwgMjMwMCksCi0odSdXcml0ZUVudmlyb25tZW50U3RyaW5ncycsIE5vbmUsIDUyMDApLAotKHUnV3JpdGVJbmlWYWx1ZXMnLCBOb25lLCA1MTAwKSwKLSh1J1dyaXRlUmVnaXN0cnlWYWx1ZXMnLCBOb25lLCA1MDAwKSwKLV0KLQotSW5zdGFsbFVJU2VxdWVuY2UgPSBbCi0jKHUnRmlsZUNvc3QnLCBOb25lLCA5MDApLAotIyh1J0Nvc3RJbml0aWFsaXplJywgTm9uZSwgODAwKSwKLSModSdDb3N0RmluYWxpemUnLCBOb25lLCAxMDAwKSwKLSModSdFeGVjdXRlQWN0aW9uJywgTm9uZSwgMTMwMCksCi0jKHUnRXhpdERpYWxvZycsIE5vbmUsIC0xKSwKLSModSdGYXRhbEVycm9yJywgTm9uZSwgLTMpLAotKHUnUHJlcGFyZURsZycsIE5vbmUsIDE0MCksCi0odSdQcm9ncmVzc0RsZycsIE5vbmUsIDEyODApLAotIyh1J1VzZXJFeGl0JywgTm9uZSwgLTIpLAotKHUnTWFpbnRlbmFuY2VXZWxjb21lRGxnJywgdSdJbnN0YWxsZWQgQU5EIE5PVCBSRVNVTUUgQU5EIE5PVCBQcmVzZWxlY3RlZCcsIDEyNTApLAotKHUnUmVzdW1lRGxnJywgdSdJbnN0YWxsZWQgQU5EIChSRVNVTUUgT1IgUHJlc2VsZWN0ZWQpJywgMTI0MCksCi0odSdXZWxjb21lRGxnJywgdSdOT1QgSW5zdGFsbGVkJywgMTIzMCksCi0jKHUnQXBwU2VhcmNoJywgTm9uZSwgNDAwKSwKLSModSdDQ1BTZWFyY2gnLCB1J05PVCBJbnN0YWxsZWQnLCA1MDApLAotIyh1J0ZpbmRSZWxhdGVkUHJvZHVjdHMnLCBOb25lLCAyMDApLAotIyh1J0xhdW5jaENvbmRpdGlvbnMnLCBOb25lLCAxMDApLAotIyh1J01pZ3JhdGVGZWF0dXJlU3RhdGVzJywgTm9uZSwgMTIwMCksCi0jKHUnUk1DQ1BTZWFyY2gnLCB1J05PVCBJbnN0YWxsZWQnLCA2MDApLAotXQotCi1MaXN0VmlldyA9IFsKLV0KLQotUmFkaW9CdXR0b24gPSBbCi0odSdJQWdyZWUnLCAxLCB1J1llcycsIDUsIDAsIDI1MCwgMTUsIHUne1xcRGxnRm9udDh9SSAmYWNjZXB0IHRoZSB0ZXJtcyBpbiB0aGUgTGljZW5zZSBBZ3JlZW1lbnQnLCBOb25lKSwKLSh1J0lBZ3JlZScsIDIsIHUnTm8nLCA1LCAyMCwgMjUwLCAxNSwgdSd7XFxEbGdGb250OH1JICZkbyBub3QgYWNjZXB0IHRoZSB0ZXJtcyBpbiB0aGUgTGljZW5zZSBBZ3JlZW1lbnQnLCBOb25lKSwKLV0KLQotVGV4dFN0eWxlID0gWwotKHUnRGxnRm9udDgnLCB1J1RhaG9tYScsIDgsIE5vbmUsIDApLAotKHUnRGxnRm9udEJvbGQ4JywgdSdUYWhvbWEnLCA4LCBOb25lLCAxKSwKLSh1J1ZlcmRhbmFCb2xkMTMnLCB1J1ZlcmRhbmEnLCAxMywgTm9uZSwgMSksCi1dCi0KLVVJVGV4dCA9IFsKLSh1J0Fic2VudFBhdGgnLCBOb25lKSwKLSh1J2J5dGVzJywgdSdieXRlcycpLAotKHUnR0InLCB1J0dCJyksCi0odSdLQicsIHUnS0InKSwKLSh1J01CJywgdSdNQicpLAotKHUnTWVudUFic2VudCcsIHUnRW50aXJlIGZlYXR1cmUgd2lsbCBiZSB1bmF2YWlsYWJsZScpLAotKHUnTWVudUFkdmVydGlzZScsIHUnRmVhdHVyZSB3aWxsIGJlIGluc3RhbGxlZCB3aGVuIHJlcXVpcmVkJyksCi0odSdNZW51QWxsQ0QnLCB1J0VudGlyZSBmZWF0dXJlIHdpbGwgYmUgaW5zdGFsbGVkIHRvIHJ1biBmcm9tIENEJyksCi0odSdNZW51QWxsTG9jYWwnLCB1J0VudGlyZSBmZWF0dXJlIHdpbGwgYmUgaW5zdGFsbGVkIG9uIGxvY2FsIGhhcmQgZHJpdmUnKSwKLSh1J01lbnVBbGxOZXR3b3JrJywgdSdFbnRpcmUgZmVhdHVyZSB3aWxsIGJlIGluc3RhbGxlZCB0byBydW4gZnJvbSBuZXR3b3JrJyksCi0odSdNZW51Q0QnLCB1J1dpbGwgYmUgaW5zdGFsbGVkIHRvIHJ1biBmcm9tIENEJyksCi0odSdNZW51TG9jYWwnLCB1J1dpbGwgYmUgaW5zdGFsbGVkIG9uIGxvY2FsIGhhcmQgZHJpdmUnKSwKLSh1J01lbnVOZXR3b3JrJywgdSdXaWxsIGJlIGluc3RhbGxlZCB0byBydW4gZnJvbSBuZXR3b3JrJyksCi0odSdTY3JpcHRJblByb2dyZXNzJywgdSdHYXRoZXJpbmcgcmVxdWlyZWQgaW5mb3JtYXRpb24uLi4nKSwKLSh1J1NlbEFic2VudEFic2VudCcsIHUnVGhpcyBmZWF0dXJlIHdpbGwgcmVtYWluIHVuaW5zdGFsbGVkJyksCi0odSdTZWxBYnNlbnRBZHZlcnRpc2UnLCB1J1RoaXMgZmVhdHVyZSB3aWxsIGJlIHNldCB0byBiZSBpbnN0YWxsZWQgd2hlbiByZXF1aXJlZCcpLAotKHUnU2VsQWJzZW50Q0QnLCB1J1RoaXMgZmVhdHVyZSB3aWxsIGJlIGluc3RhbGxlZCB0byBydW4gZnJvbSBDRCcpLAotKHUnU2VsQWJzZW50TG9jYWwnLCB1J1RoaXMgZmVhdHVyZSB3aWxsIGJlIGluc3RhbGxlZCBvbiB0aGUgbG9jYWwgaGFyZCBkcml2ZScpLAotKHUnU2VsQWJzZW50TmV0d29yaycsIHUnVGhpcyBmZWF0dXJlIHdpbGwgYmUgaW5zdGFsbGVkIHRvIHJ1biBmcm9tIHRoZSBuZXR3b3JrJyksCi0odSdTZWxBZHZlcnRpc2VBYnNlbnQnLCB1J1RoaXMgZmVhdHVyZSB3aWxsIGJlY29tZSB1bmF2YWlsYWJsZScpLAotKHUnU2VsQWR2ZXJ0aXNlQWR2ZXJ0aXNlJywgdSdXaWxsIGJlIGluc3RhbGxlZCB3aGVuIHJlcXVpcmVkJyksCi0odSdTZWxBZHZlcnRpc2VDRCcsIHUnVGhpcyBmZWF0dXJlIHdpbGwgYmUgYXZhaWxhYmxlIHRvIHJ1biBmcm9tIENEJyksCi0odSdTZWxBZHZlcnRpc2VMb2NhbCcsIHUnVGhpcyBmZWF0dXJlIHdpbGwgYmUgaW5zdGFsbGVkIG9uIHlvdXIgbG9jYWwgaGFyZCBkcml2ZScpLAotKHUnU2VsQWR2ZXJ0aXNlTmV0d29yaycsIHUnVGhpcyBmZWF0dXJlIHdpbGwgYmUgYXZhaWxhYmxlIHRvIHJ1biBmcm9tIHRoZSBuZXR3b3JrJyksCi0odSdTZWxDREFic2VudCcsIHUiVGhpcyBmZWF0dXJlIHdpbGwgYmUgdW5pbnN0YWxsZWQgY29tcGxldGVseSwgeW91IHdvbid0IGJlIGFibGUgdG8gcnVuIGl0IGZyb20gQ0QiKSwKLSh1J1NlbENEQWR2ZXJ0aXNlJywgdSdUaGlzIGZlYXR1cmUgd2lsbCBjaGFuZ2UgZnJvbSBydW4gZnJvbSBDRCBzdGF0ZSB0byBzZXQgdG8gYmUgaW5zdGFsbGVkIHdoZW4gcmVxdWlyZWQnKSwKLSh1J1NlbENEQ0QnLCB1J1RoaXMgZmVhdHVyZSB3aWxsIHJlbWFpbiB0byBiZSBydW4gZnJvbSBDRCcpLAotKHUnU2VsQ0RMb2NhbCcsIHUnVGhpcyBmZWF0dXJlIHdpbGwgY2hhbmdlIGZyb20gcnVuIGZyb20gQ0Qgc3RhdGUgdG8gYmUgaW5zdGFsbGVkIG9uIHRoZSBsb2NhbCBoYXJkIGRyaXZlJyksCi0odSdTZWxDaGlsZENvc3ROZWcnLCB1J1RoaXMgZmVhdHVyZSBmcmVlcyB1cCBbMV0gb24geW91ciBoYXJkIGRyaXZlLicpLAotKHUnU2VsQ2hpbGRDb3N0UG9zJywgdSdUaGlzIGZlYXR1cmUgcmVxdWlyZXMgWzFdIG9uIHlvdXIgaGFyZCBkcml2ZS4nKSwKLSh1J1NlbENvc3RQZW5kaW5nJywgdSdDb21waWxpbmcgY29zdCBmb3IgdGhpcyBmZWF0dXJlLi4uJyksCi0odSdTZWxMb2NhbEFic2VudCcsIHUnVGhpcyBmZWF0dXJlIHdpbGwgYmUgY29tcGxldGVseSByZW1vdmVkJyksCi0odSdTZWxMb2NhbEFkdmVydGlzZScsIHUnVGhpcyBmZWF0dXJlIHdpbGwgYmUgcmVtb3ZlZCBmcm9tIHlvdXIgbG9jYWwgaGFyZCBkcml2ZSwgYnV0IHdpbGwgYmUgc2V0IHRvIGJlIGluc3RhbGxlZCB3aGVuIHJlcXVpcmVkJyksCi0odSdTZWxMb2NhbENEJywgdSdUaGlzIGZlYXR1cmUgd2lsbCBiZSByZW1vdmVkIGZyb20geW91ciBsb2NhbCBoYXJkIGRyaXZlLCBidXQgd2lsbCBiZSBzdGlsbCBhdmFpbGFibGUgdG8gcnVuIGZyb20gQ0QnKSwKLSh1J1NlbExvY2FsTG9jYWwnLCB1J1RoaXMgZmVhdHVyZSB3aWxsIHJlbWFpbiBvbiB5b3UgbG9jYWwgaGFyZCBkcml2ZScpLAotKHUnU2VsTG9jYWxOZXR3b3JrJywgdSdUaGlzIGZlYXR1cmUgd2lsbCBiZSByZW1vdmVkIGZyb20geW91ciBsb2NhbCBoYXJkIGRyaXZlLCBidXQgd2lsbCBiZSBzdGlsbCBhdmFpbGFibGUgdG8gcnVuIGZyb20gdGhlIG5ldHdvcmsnKSwKLSh1J1NlbE5ldHdvcmtBYnNlbnQnLCB1IlRoaXMgZmVhdHVyZSB3aWxsIGJlIHVuaW5zdGFsbGVkIGNvbXBsZXRlbHksIHlvdSB3b24ndCBiZSBhYmxlIHRvIHJ1biBpdCBmcm9tIHRoZSBuZXR3b3JrIiksCi0odSdTZWxOZXR3b3JrQWR2ZXJ0aXNlJywgdSdUaGlzIGZlYXR1cmUgd2lsbCBjaGFuZ2UgZnJvbSBydW4gZnJvbSBuZXR3b3JrIHN0YXRlIHRvIHNldCB0byBiZSBpbnN0YWxsZWQgd2hlbiByZXF1aXJlZCcpLAotKHUnU2VsTmV0d29ya0xvY2FsJywgdSdUaGlzIGZlYXR1cmUgd2lsbCBjaGFuZ2UgZnJvbSBydW4gZnJvbSBuZXR3b3JrIHN0YXRlIHRvIGJlIGluc3RhbGxlZCBvbiB0aGUgbG9jYWwgaGFyZCBkcml2ZScpLAotKHUnU2VsTmV0d29ya05ldHdvcmsnLCB1J1RoaXMgZmVhdHVyZSB3aWxsIHJlbWFpbiB0byBiZSBydW4gZnJvbSB0aGUgbmV0d29yaycpLAotKHUnU2VsUGFyZW50Q29zdE5lZ05lZycsIHUnVGhpcyBmZWF0dXJlIGZyZWVzIHVwIFsxXSBvbiB5b3VyIGhhcmQgZHJpdmUuIEl0IGhhcyBbMl0gb2YgWzNdIHN1YmZlYXR1cmVzIHNlbGVjdGVkLiBUaGUgc3ViZmVhdHVyZXMgZnJlZSB1cCBbNF0gb24geW91ciBoYXJkIGRyaXZlLicpLAotKHUnU2VsUGFyZW50Q29zdE5lZ1BvcycsIHUnVGhpcyBmZWF0dXJlIGZyZWVzIHVwIFsxXSBvbiB5b3VyIGhhcmQgZHJpdmUuIEl0IGhhcyBbMl0gb2YgWzNdIHN1YmZlYXR1cmVzIHNlbGVjdGVkLiBUaGUgc3ViZmVhdHVyZXMgcmVxdWlyZSBbNF0gb24geW91ciBoYXJkIGRyaXZlLicpLAotKHUnU2VsUGFyZW50Q29zdFBvc05lZycsIHUnVGhpcyBmZWF0dXJlIHJlcXVpcmVzIFsxXSBvbiB5b3VyIGhhcmQgZHJpdmUuIEl0IGhhcyBbMl0gb2YgWzNdIHN1YmZlYXR1cmVzIHNlbGVjdGVkLiBUaGUgc3ViZmVhdHVyZXMgZnJlZSB1cCBbNF0gb24geW91ciBoYXJkIGRyaXZlLicpLAotKHUnU2VsUGFyZW50Q29zdFBvc1BvcycsIHUnVGhpcyBmZWF0dXJlIHJlcXVpcmVzIFsxXSBvbiB5b3VyIGhhcmQgZHJpdmUuIEl0IGhhcyBbMl0gb2YgWzNdIHN1YmZlYXR1cmVzIHNlbGVjdGVkLiBUaGUgc3ViZmVhdHVyZXMgcmVxdWlyZSBbNF0gb24geW91ciBoYXJkIGRyaXZlLicpLAotKHUnVGltZVJlbWFpbmluZycsIHUnVGltZSByZW1haW5pbmc6IHtbMV0gbWludXRlcyB9e1syXSBzZWNvbmRzfScpLAotKHUnVm9sdW1lQ29zdEF2YWlsYWJsZScsIHUnQXZhaWxhYmxlJyksCi0odSdWb2x1bWVDb3N0RGlmZmVyZW5jZScsIHUnRGlmZmVyZW5jZScpLAotKHUnVm9sdW1lQ29zdFJlcXVpcmVkJywgdSdSZXF1aXJlZCcpLAotKHUnVm9sdW1lQ29zdFNpemUnLCB1J0Rpc2sgU2l6ZScpLAotKHUnVm9sdW1lQ29zdFZvbHVtZScsIHUnVm9sdW1lJyksCi1dCi0KLV9WYWxpZGF0aW9uID0gWwotKHUnQWRtaW5FeGVjdXRlU2VxdWVuY2UnLCB1J0FjdGlvbicsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnTmFtZSBvZiBhY3Rpb24gdG8gaW52b2tlLCBlaXRoZXIgaW4gdGhlIGVuZ2luZSBvciB0aGUgaGFuZGxlciBETEwuJyksCi0odSdBZG1pbkV4ZWN1dGVTZXF1ZW5jZScsIHUnU2VxdWVuY2UnLCB1J1knLCAtNCwgMzI3NjcsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnTnVtYmVyIHRoYXQgZGV0ZXJtaW5lcyB0aGUgc29ydCBvcmRlciBpbiB3aGljaCB0aGUgYWN0aW9ucyBhcmUgdG8gYmUgZXhlY3V0ZWQuICBMZWF2ZSBibGFuayB0byBzdXBwcmVzcyBhY3Rpb24uJyksCi0odSdBZG1pbkV4ZWN1dGVTZXF1ZW5jZScsIHUnQ29uZGl0aW9uJywgdSdZJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdDb25kaXRpb24nLCBOb25lLCB1J09wdGlvbmFsIGV4cHJlc3Npb24gd2hpY2ggc2tpcHMgdGhlIGFjdGlvbiBpZiBldmFsdWF0ZXMgdG8gZXhwRmFsc2UuSWYgdGhlIGV4cHJlc3Npb24gc3ludGF4IGlzIGludmFsaWQsIHRoZSBlbmdpbmUgd2lsbCB0ZXJtaW5hdGUsIHJldHVybmluZyBpZXNCYWRBY3Rpb25EYXRhLicpLAotKHUnQWRtaW5VSVNlcXVlbmNlJywgdSdBY3Rpb24nLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J05hbWUgb2YgYWN0aW9uIHRvIGludm9rZSwgZWl0aGVyIGluIHRoZSBlbmdpbmUgb3IgdGhlIGhhbmRsZXIgRExMLicpLAotKHUnQWRtaW5VSVNlcXVlbmNlJywgdSdTZXF1ZW5jZScsIHUnWScsIC00LCAzMjc2NywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdOdW1iZXIgdGhhdCBkZXRlcm1pbmVzIHRoZSBzb3J0IG9yZGVyIGluIHdoaWNoIHRoZSBhY3Rpb25zIGFyZSB0byBiZSBleGVjdXRlZC4gIExlYXZlIGJsYW5rIHRvIHN1cHByZXNzIGFjdGlvbi4nKSwKLSh1J0FkbWluVUlTZXF1ZW5jZScsIHUnQ29uZGl0aW9uJywgdSdZJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdDb25kaXRpb24nLCBOb25lLCB1J09wdGlvbmFsIGV4cHJlc3Npb24gd2hpY2ggc2tpcHMgdGhlIGFjdGlvbiBpZiBldmFsdWF0ZXMgdG8gZXhwRmFsc2UuSWYgdGhlIGV4cHJlc3Npb24gc3ludGF4IGlzIGludmFsaWQsIHRoZSBlbmdpbmUgd2lsbCB0ZXJtaW5hdGUsIHJldHVybmluZyBpZXNCYWRBY3Rpb25EYXRhLicpLAotKHUnQ29uZGl0aW9uJywgdSdDb25kaXRpb24nLCB1J1knLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0NvbmRpdGlvbicsIE5vbmUsIHUnRXhwcmVzc2lvbiBldmFsdWF0ZWQgdG8gZGV0ZXJtaW5lIGlmIExldmVsIGluIHRoZSBGZWF0dXJlIHRhYmxlIGlzIHRvIGNoYW5nZS4nKSwKLSh1J0NvbmRpdGlvbicsIHUnRmVhdHVyZV8nLCB1J04nLCBOb25lLCBOb25lLCB1J0ZlYXR1cmUnLCAxLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J1JlZmVyZW5jZSB0byBhIEZlYXR1cmUgZW50cnkgaW4gRmVhdHVyZSB0YWJsZS4nKSwKLSh1J0NvbmRpdGlvbicsIHUnTGV2ZWwnLCB1J04nLCAwLCAzMjc2NywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdOZXcgc2VsZWN0aW9uIExldmVsIHRvIHNldCBpbiBGZWF0dXJlIHRhYmxlIGlmIENvbmRpdGlvbiBldmFsdWF0ZXMgdG8gVFJVRS4nKSwKLSh1J0FkdnRFeGVjdXRlU2VxdWVuY2UnLCB1J0FjdGlvbicsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnTmFtZSBvZiBhY3Rpb24gdG8gaW52b2tlLCBlaXRoZXIgaW4gdGhlIGVuZ2luZSBvciB0aGUgaGFuZGxlciBETEwuJyksCi0odSdBZHZ0RXhlY3V0ZVNlcXVlbmNlJywgdSdTZXF1ZW5jZScsIHUnWScsIC00LCAzMjc2NywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdOdW1iZXIgdGhhdCBkZXRlcm1pbmVzIHRoZSBzb3J0IG9yZGVyIGluIHdoaWNoIHRoZSBhY3Rpb25zIGFyZSB0byBiZSBleGVjdXRlZC4gIExlYXZlIGJsYW5rIHRvIHN1cHByZXNzIGFjdGlvbi4nKSwKLSh1J0FkdnRFeGVjdXRlU2VxdWVuY2UnLCB1J0NvbmRpdGlvbicsIHUnWScsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnQ29uZGl0aW9uJywgTm9uZSwgdSdPcHRpb25hbCBleHByZXNzaW9uIHdoaWNoIHNraXBzIHRoZSBhY3Rpb24gaWYgZXZhbHVhdGVzIHRvIGV4cEZhbHNlLklmIHRoZSBleHByZXNzaW9uIHN5bnRheCBpcyBpbnZhbGlkLCB0aGUgZW5naW5lIHdpbGwgdGVybWluYXRlLCByZXR1cm5pbmcgaWVzQmFkQWN0aW9uRGF0YS4nKSwKLSh1J0JCQ29udHJvbCcsIHUnVHlwZScsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnVGhlIHR5cGUgb2YgdGhlIGNvbnRyb2wuJyksCi0odSdCQkNvbnRyb2wnLCB1J0JCQ29udHJvbCcsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnTmFtZSBvZiB0aGUgY29udHJvbC4gVGhpcyBuYW1lIG11c3QgYmUgdW5pcXVlIHdpdGhpbiBhIGJpbGxib2FyZCwgYnV0IGNhbiByZXBlYXQgb24gZGlmZmVyZW50IGJpbGxib2FyZC4nKSwKLSh1J0JCQ29udHJvbCcsIHUnQmlsbGJvYXJkXycsIHUnTicsIE5vbmUsIE5vbmUsIHUnQmlsbGJvYXJkJywgMSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdFeHRlcm5hbCBrZXkgdG8gdGhlIEJpbGxib2FyZCB0YWJsZSwgbmFtZSBvZiB0aGUgYmlsbGJvYXJkLicpLAotKHUnQkJDb250cm9sJywgdSdYJywgdSdOJywgMCwgMzI3NjcsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSG9yaXpvbnRhbCBjb29yZGluYXRlIG9mIHRoZSB1cHBlciBsZWZ0IGNvcm5lciBvZiB0aGUgYm91bmRpbmcgcmVjdGFuZ2xlIG9mIHRoZSBjb250cm9sLicpLAotKHUnQkJDb250cm9sJywgdSdZJywgdSdOJywgMCwgMzI3NjcsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVmVydGljYWwgY29vcmRpbmF0ZSBvZiB0aGUgdXBwZXIgbGVmdCBjb3JuZXIgb2YgdGhlIGJvdW5kaW5nIHJlY3RhbmdsZSBvZiB0aGUgY29udHJvbC4nKSwKLSh1J0JCQ29udHJvbCcsIHUnV2lkdGgnLCB1J04nLCAwLCAzMjc2NywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdXaWR0aCBvZiB0aGUgYm91bmRpbmcgcmVjdGFuZ2xlIG9mIHRoZSBjb250cm9sLicpLAotKHUnQkJDb250cm9sJywgdSdIZWlnaHQnLCB1J04nLCAwLCAzMjc2NywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdIZWlnaHQgb2YgdGhlIGJvdW5kaW5nIHJlY3RhbmdsZSBvZiB0aGUgY29udHJvbC4nKSwKLSh1J0JCQ29udHJvbCcsIHUnQXR0cmlidXRlcycsIHUnWScsIDAsIDIxNDc0ODM2NDcsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnQSAzMi1iaXQgd29yZCB0aGF0IHNwZWNpZmllcyB0aGUgYXR0cmlidXRlIGZsYWdzIHRvIGJlIGFwcGxpZWQgdG8gdGhpcyBjb250cm9sLicpLAotKHUnQkJDb250cm9sJywgdSdUZXh0JywgdSdZJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUZXh0JywgTm9uZSwgdSdBIHN0cmluZyB1c2VkIHRvIHNldCB0aGUgaW5pdGlhbCB0ZXh0IGNvbnRhaW5lZCB3aXRoaW4gYSBjb250cm9sIChpZiBhcHByb3ByaWF0ZSkuJyksCi0odSdCaWxsYm9hcmQnLCB1J0FjdGlvbicsIHUnWScsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnVGhlIG5hbWUgb2YgYW4gYWN0aW9uLiBUaGUgYmlsbGJvYXJkIGlzIGRpc3BsYXllZCBkdXJpbmcgdGhlIHByb2dyZXNzIG1lc3NhZ2VzIHJlY2VpdmVkIGZyb20gdGhpcyBhY3Rpb24uJyksCi0odSdCaWxsYm9hcmQnLCB1J0JpbGxib2FyZCcsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnTmFtZSBvZiB0aGUgYmlsbGJvYXJkLicpLAotKHUnQmlsbGJvYXJkJywgdSdGZWF0dXJlXycsIHUnTicsIE5vbmUsIE5vbmUsIHUnRmVhdHVyZScsIDEsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnQW4gZXh0ZXJuYWwga2V5IHRvIHRoZSBGZWF0dXJlIFRhYmxlLiBUaGUgYmlsbGJvYXJkIGlzIHNob3duIG9ubHkgaWYgdGhpcyBmZWF0dXJlIGlzIGJlaW5nIGluc3RhbGxlZC4nKSwKLSh1J0JpbGxib2FyZCcsIHUnT3JkZXJpbmcnLCB1J1knLCAwLCAzMjc2NywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdBIHBvc2l0aXZlIGludGVnZXIuIElmIHRoZXJlIGlzIG1vcmUgdGhhbiBvbmUgYmlsbGJvYXJkIGNvcnJlc3BvbmRpbmcgdG8gYW4gYWN0aW9uIHRoZXkgd2lsbCBiZSBzaG93biBpbiB0aGUgb3JkZXIgZGVmaW5lZCBieSB0aGlzIGNvbHVtbi4nKSwKLSh1J0JpbmFyeScsIHUnTmFtZScsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnVW5pcXVlIGtleSBpZGVudGlmeWluZyB0aGUgYmluYXJ5IGRhdGEuJyksCi0odSdCaW5hcnknLCB1J0RhdGEnLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0JpbmFyeScsIE5vbmUsIHUnVGhlIHVuZm9ybWF0dGVkIGJpbmFyeSBkYXRhLicpLAotKHUnQ2hlY2tCb3gnLCB1J1Byb3BlcnR5JywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdBIG5hbWVkIHByb3BlcnR5IHRvIGJlIHRpZWQgdG8gdGhlIGl0ZW0uJyksCi0odSdDaGVja0JveCcsIHUnVmFsdWUnLCB1J1knLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0Zvcm1hdHRlZCcsIE5vbmUsIHUnVGhlIHZhbHVlIHN0cmluZyBhc3NvY2lhdGVkIHdpdGggdGhlIGl0ZW0uJyksCi0odSdQcm9wZXJ0eScsIHUnUHJvcGVydHknLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J05hbWUgb2YgcHJvcGVydHksIHVwcGVyY2FzZSBpZiBzZXR0YWJsZSBieSBsYXVuY2hlciBvciBsb2FkZXIuJyksCi0odSdQcm9wZXJ0eScsIHUnVmFsdWUnLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RleHQnLCBOb25lLCB1J1N0cmluZyB2YWx1ZSBmb3IgcHJvcGVydHkuICBOZXZlciBudWxsIG9yIGVtcHR5LicpLAotKHUnQ29tYm9Cb3gnLCB1J1RleHQnLCB1J1knLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0Zvcm1hdHRlZCcsIE5vbmUsIHUnVGhlIHZpc2libGUgdGV4dCB0byBiZSBhc3NpZ25lZCB0byB0aGUgaXRlbS4gT3B0aW9uYWwuIElmIHRoaXMgZW50cnkgb3IgdGhlIGVudGlyZSBjb2x1bW4gaXMgbWlzc2luZywgdGhlIHRleHQgaXMgdGhlIHNhbWUgYXMgdGhlIHZhbHVlLicpLAotKHUnQ29tYm9Cb3gnLCB1J1Byb3BlcnR5JywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdBIG5hbWVkIHByb3BlcnR5IHRvIGJlIHRpZWQgdG8gdGhpcyBpdGVtLiBBbGwgdGhlIGl0ZW1zIHRpZWQgdG8gdGhlIHNhbWUgcHJvcGVydHkgYmVjb21lIHBhcnQgb2YgdGhlIHNhbWUgY29tYm9ib3guJyksCi0odSdDb21ib0JveCcsIHUnVmFsdWUnLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0Zvcm1hdHRlZCcsIE5vbmUsIHUnVGhlIHZhbHVlIHN0cmluZyBhc3NvY2lhdGVkIHdpdGggdGhpcyBpdGVtLiBTZWxlY3RpbmcgdGhlIGxpbmUgd2lsbCBzZXQgdGhlIGFzc29jaWF0ZWQgcHJvcGVydHkgdG8gdGhpcyB2YWx1ZS4nKSwKLSh1J0NvbWJvQm94JywgdSdPcmRlcicsIHUnTicsIDEsIDMyNzY3LCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0EgcG9zaXRpdmUgaW50ZWdlciB1c2VkIHRvIGRldGVybWluZSB0aGUgb3JkZXJpbmcgb2YgdGhlIGl0ZW1zIHdpdGhpbiBvbmUgbGlzdC5cdFRoZSBpbnRlZ2VycyBkbyBub3QgaGF2ZSB0byBiZSBjb25zZWN1dGl2ZS4nKSwKLSh1J0NvbnRyb2wnLCB1J1R5cGUnLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J1RoZSB0eXBlIG9mIHRoZSBjb250cm9sLicpLAotKHUnQ29udHJvbCcsIHUnWCcsIHUnTicsIDAsIDMyNzY3LCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0hvcml6b250YWwgY29vcmRpbmF0ZSBvZiB0aGUgdXBwZXIgbGVmdCBjb3JuZXIgb2YgdGhlIGJvdW5kaW5nIHJlY3RhbmdsZSBvZiB0aGUgY29udHJvbC4nKSwKLSh1J0NvbnRyb2wnLCB1J1knLCB1J04nLCAwLCAzMjc2NywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdWZXJ0aWNhbCBjb29yZGluYXRlIG9mIHRoZSB1cHBlciBsZWZ0IGNvcm5lciBvZiB0aGUgYm91bmRpbmcgcmVjdGFuZ2xlIG9mIHRoZSBjb250cm9sLicpLAotKHUnQ29udHJvbCcsIHUnV2lkdGgnLCB1J04nLCAwLCAzMjc2NywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdXaWR0aCBvZiB0aGUgYm91bmRpbmcgcmVjdGFuZ2xlIG9mIHRoZSBjb250cm9sLicpLAotKHUnQ29udHJvbCcsIHUnSGVpZ2h0JywgdSdOJywgMCwgMzI3NjcsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSGVpZ2h0IG9mIHRoZSBib3VuZGluZyByZWN0YW5nbGUgb2YgdGhlIGNvbnRyb2wuJyksCi0odSdDb250cm9sJywgdSdBdHRyaWJ1dGVzJywgdSdZJywgMCwgMjE0NzQ4MzY0NywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdBIDMyLWJpdCB3b3JkIHRoYXQgc3BlY2lmaWVzIHRoZSBhdHRyaWJ1dGUgZmxhZ3MgdG8gYmUgYXBwbGllZCB0byB0aGlzIGNvbnRyb2wuJyksCi0odSdDb250cm9sJywgdSdUZXh0JywgdSdZJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdGb3JtYXR0ZWQnLCBOb25lLCB1J0Egc3RyaW5nIHVzZWQgdG8gc2V0IHRoZSBpbml0aWFsIHRleHQgY29udGFpbmVkIHdpdGhpbiBhIGNvbnRyb2wgKGlmIGFwcHJvcHJpYXRlKS4nKSwKLSh1J0NvbnRyb2wnLCB1J1Byb3BlcnR5JywgdSdZJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdUaGUgbmFtZSBvZiBhIGRlZmluZWQgcHJvcGVydHkgdG8gYmUgbGlua2VkIHRvIHRoaXMgY29udHJvbC4gJyksCi0odSdDb250cm9sJywgdSdDb250cm9sJywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdOYW1lIG9mIHRoZSBjb250cm9sLiBUaGlzIG5hbWUgbXVzdCBiZSB1bmlxdWUgd2l0aGluIGEgZGlhbG9nLCBidXQgY2FuIHJlcGVhdCBvbiBkaWZmZXJlbnQgZGlhbG9ncy4gJyksCi0odSdDb250cm9sJywgdSdEaWFsb2dfJywgdSdOJywgTm9uZSwgTm9uZSwgdSdEaWFsb2cnLCAxLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J0V4dGVybmFsIGtleSB0byB0aGUgRGlhbG9nIHRhYmxlLCBuYW1lIG9mIHRoZSBkaWFsb2cuJyksCi0odSdDb250cm9sJywgdSdDb250cm9sX05leHQnLCB1J1knLCBOb25lLCBOb25lLCB1J0NvbnRyb2wnLCAyLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J1RoZSBuYW1lIG9mIGFuIG90aGVyIGNvbnRyb2wgb24gdGhlIHNhbWUgZGlhbG9nLiBUaGlzIGxpbmsgZGVmaW5lcyB0aGUgdGFiIG9yZGVyIG9mIHRoZSBjb250cm9scy4gVGhlIGxpbmtzIGhhdmUgdG8gZm9ybSBvbmUgb3IgbW9yZSBjeWNsZXMhJyksCi0odSdDb250cm9sJywgdSdIZWxwJywgdSdZJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUZXh0JywgTm9uZSwgdSdUaGUgaGVscCBzdHJpbmdzIHVzZWQgd2l0aCB0aGUgYnV0dG9uLiBUaGUgdGV4dCBpcyBvcHRpb25hbC4gJyksCi0odSdJY29uJywgdSdOYW1lJywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdQcmltYXJ5IGtleS4gTmFtZSBvZiB0aGUgaWNvbiBmaWxlLicpLAotKHUnSWNvbicsIHUnRGF0YScsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnQmluYXJ5JywgTm9uZSwgdSdCaW5hcnkgc3RyZWFtLiBUaGUgYmluYXJ5IGljb24gZGF0YSBpbiBQRSAoLkRMTCBvciAuRVhFKSBvciBpY29uICguSUNPKSBmb3JtYXQuJyksCi0odSdMaXN0Qm94JywgdSdUZXh0JywgdSdZJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUZXh0JywgTm9uZSwgdSdUaGUgdmlzaWJsZSB0ZXh0IHRvIGJlIGFzc2lnbmVkIHRvIHRoZSBpdGVtLiBPcHRpb25hbC4gSWYgdGhpcyBlbnRyeSBvciB0aGUgZW50aXJlIGNvbHVtbiBpcyBtaXNzaW5nLCB0aGUgdGV4dCBpcyB0aGUgc2FtZSBhcyB0aGUgdmFsdWUuJyksCi0odSdMaXN0Qm94JywgdSdQcm9wZXJ0eScsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnQSBuYW1lZCBwcm9wZXJ0eSB0byBiZSB0aWVkIHRvIHRoaXMgaXRlbS4gQWxsIHRoZSBpdGVtcyB0aWVkIHRvIHRoZSBzYW1lIHByb3BlcnR5IGJlY29tZSBwYXJ0IG9mIHRoZSBzYW1lIGxpc3Rib3guJyksCi0odSdMaXN0Qm94JywgdSdWYWx1ZScsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRm9ybWF0dGVkJywgTm9uZSwgdSdUaGUgdmFsdWUgc3RyaW5nIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGl0ZW0uIFNlbGVjdGluZyB0aGUgbGluZSB3aWxsIHNldCB0aGUgYXNzb2NpYXRlZCBwcm9wZXJ0eSB0byB0aGlzIHZhbHVlLicpLAotKHUnTGlzdEJveCcsIHUnT3JkZXInLCB1J04nLCAxLCAzMjc2NywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdBIHBvc2l0aXZlIGludGVnZXIgdXNlZCB0byBkZXRlcm1pbmUgdGhlIG9yZGVyaW5nIG9mIHRoZSBpdGVtcyB3aXRoaW4gb25lIGxpc3QuLlRoZSBpbnRlZ2VycyBkbyBub3QgaGF2ZSB0byBiZSBjb25zZWN1dGl2ZS4nKSwKLSh1J0FjdGlvblRleHQnLCB1J0FjdGlvbicsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnTmFtZSBvZiBhY3Rpb24gdG8gYmUgZGVzY3JpYmVkLicpLAotKHUnQWN0aW9uVGV4dCcsIHUnRGVzY3JpcHRpb24nLCB1J1knLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RleHQnLCBOb25lLCB1J0xvY2FsaXplZCBkZXNjcmlwdGlvbiBkaXNwbGF5ZWQgaW4gcHJvZ3Jlc3MgZGlhbG9nIGFuZCBsb2cgd2hlbiBhY3Rpb24gaXMgZXhlY3V0aW5nLicpLAotKHUnQWN0aW9uVGV4dCcsIHUnVGVtcGxhdGUnLCB1J1knLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RlbXBsYXRlJywgTm9uZSwgdSdPcHRpb25hbCBsb2NhbGl6ZWQgZm9ybWF0IHRlbXBsYXRlIHVzZWQgdG8gZm9ybWF0IGFjdGlvbiBkYXRhIHJlY29yZHMgZm9yIGRpc3BsYXkgZHVyaW5nIGFjdGlvbiBleGVjdXRpb24uJyksCi0odSdDb250cm9sQ29uZGl0aW9uJywgdSdBY3Rpb24nLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0RlZmF1bHQ7RGlzYWJsZTtFbmFibGU7SGlkZTtTaG93JywgdSdUaGUgZGVzaXJlZCBhY3Rpb24gdG8gYmUgdGFrZW4gb24gdGhlIHNwZWNpZmllZCBjb250cm9sLicpLAotKHUnQ29udHJvbENvbmRpdGlvbicsIHUnQ29uZGl0aW9uJywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdDb25kaXRpb24nLCBOb25lLCB1J0Egc3RhbmRhcmQgY29uZGl0aW9uYWwgc3RhdGVtZW50IHRoYXQgc3BlY2lmaWVzIHVuZGVyIHdoaWNoIGNvbmRpdGlvbnMgdGhlIGFjdGlvbiBzaG91bGQgYmUgdHJpZ2dlcmVkLicpLAotKHUnQ29udHJvbENvbmRpdGlvbicsIHUnRGlhbG9nXycsIHUnTicsIE5vbmUsIE5vbmUsIHUnRGlhbG9nJywgMSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdBIGZvcmVpZ24ga2V5IHRvIHRoZSBEaWFsb2cgdGFibGUsIG5hbWUgb2YgdGhlIGRpYWxvZy4nKSwKLSh1J0NvbnRyb2xDb25kaXRpb24nLCB1J0NvbnRyb2xfJywgdSdOJywgTm9uZSwgTm9uZSwgdSdDb250cm9sJywgMiwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdBIGZvcmVpZ24ga2V5IHRvIHRoZSBDb250cm9sIHRhYmxlLCBuYW1lIG9mIHRoZSBjb250cm9sLicpLAotKHUnQ29udHJvbEV2ZW50JywgdSdDb25kaXRpb24nLCB1J1knLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0NvbmRpdGlvbicsIE5vbmUsIHUnQSBzdGFuZGFyZCBjb25kaXRpb25hbCBzdGF0ZW1lbnQgdGhhdCBzcGVjaWZpZXMgdW5kZXIgd2hpY2ggY29uZGl0aW9ucyBhbiBldmVudCBzaG91bGQgYmUgdHJpZ2dlcmVkLicpLAotKHUnQ29udHJvbEV2ZW50JywgdSdPcmRlcmluZycsIHUnWScsIDAsIDIxNDc0ODM2NDcsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnQW4gaW50ZWdlciB1c2VkIHRvIG9yZGVyIHNldmVyYWwgZXZlbnRzIHRpZWQgdG8gdGhlIHNhbWUgY29udHJvbC4gQ2FuIGJlIGxlZnQgYmxhbmsuJyksCi0odSdDb250cm9sRXZlbnQnLCB1J0RpYWxvZ18nLCB1J04nLCBOb25lLCBOb25lLCB1J0RpYWxvZycsIDEsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnQSBmb3JlaWduIGtleSB0byB0aGUgRGlhbG9nIHRhYmxlLCBuYW1lIG9mIHRoZSBkaWFsb2cuJyksCi0odSdDb250cm9sRXZlbnQnLCB1J0NvbnRyb2xfJywgdSdOJywgTm9uZSwgTm9uZSwgdSdDb250cm9sJywgMiwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdBIGZvcmVpZ24ga2V5IHRvIHRoZSBDb250cm9sIHRhYmxlLCBuYW1lIG9mIHRoZSBjb250cm9sJyksCi0odSdDb250cm9sRXZlbnQnLCB1J0V2ZW50JywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdGb3JtYXR0ZWQnLCBOb25lLCB1J0FuIGlkZW50aWZpZXIgdGhhdCBzcGVjaWZpZXMgdGhlIHR5cGUgb2YgdGhlIGV2ZW50IHRoYXQgc2hvdWxkIHRha2UgcGxhY2Ugd2hlbiB0aGUgdXNlciBpbnRlcmFjdHMgd2l0aCBjb250cm9sIHNwZWNpZmllZCBieSB0aGUgZmlyc3QgdHdvIGVudHJpZXMuJyksCi0odSdDb250cm9sRXZlbnQnLCB1J0FyZ3VtZW50JywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdGb3JtYXR0ZWQnLCBOb25lLCB1J0EgdmFsdWUgdG8gYmUgdXNlZCBhcyBhIG1vZGlmaWVyIHdoZW4gdHJpZ2dlcmluZyBhIHBhcnRpY3VsYXIgZXZlbnQuJyksCi0odSdEaWFsb2cnLCB1J1dpZHRoJywgdSdOJywgMCwgMzI3NjcsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnV2lkdGggb2YgdGhlIGJvdW5kaW5nIHJlY3RhbmdsZSBvZiB0aGUgZGlhbG9nLicpLAotKHUnRGlhbG9nJywgdSdIZWlnaHQnLCB1J04nLCAwLCAzMjc2NywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdIZWlnaHQgb2YgdGhlIGJvdW5kaW5nIHJlY3RhbmdsZSBvZiB0aGUgZGlhbG9nLicpLAotKHUnRGlhbG9nJywgdSdBdHRyaWJ1dGVzJywgdSdZJywgMCwgMjE0NzQ4MzY0NywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdBIDMyLWJpdCB3b3JkIHRoYXQgc3BlY2lmaWVzIHRoZSBhdHRyaWJ1dGUgZmxhZ3MgdG8gYmUgYXBwbGllZCB0byB0aGlzIGRpYWxvZy4nKSwKLSh1J0RpYWxvZycsIHUnVGl0bGUnLCB1J1knLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0Zvcm1hdHRlZCcsIE5vbmUsIHUiQSB0ZXh0IHN0cmluZyBzcGVjaWZ5aW5nIHRoZSB0aXRsZSB0byBiZSBkaXNwbGF5ZWQgaW4gdGhlIHRpdGxlIGJhciBvZiB0aGUgZGlhbG9nJ3Mgd2luZG93LiIpLAotKHUnRGlhbG9nJywgdSdEaWFsb2cnLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J05hbWUgb2YgdGhlIGRpYWxvZy4nKSwKLSh1J0RpYWxvZycsIHUnSENlbnRlcmluZycsIHUnTicsIDAsIDEwMCwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdIb3Jpem9udGFsIHBvc2l0aW9uIG9mIHRoZSBkaWFsb2cgb24gYSAwLTEwMCBzY2FsZS4gMCBtZWFucyBsZWZ0IGVuZCwgMTAwIG1lYW5zIHJpZ2h0IGVuZCBvZiB0aGUgc2NyZWVuLCA1MCBjZW50ZXIuJyksCi0odSdEaWFsb2cnLCB1J1ZDZW50ZXJpbmcnLCB1J04nLCAwLCAxMDAsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVmVydGljYWwgcG9zaXRpb24gb2YgdGhlIGRpYWxvZyBvbiBhIDAtMTAwIHNjYWxlLiAwIG1lYW5zIHRvcCBlbmQsIDEwMCBtZWFucyBib3R0b20gZW5kIG9mIHRoZSBzY3JlZW4sIDUwIGNlbnRlci4nKSwKLSh1J0RpYWxvZycsIHUnQ29udHJvbF9GaXJzdCcsIHUnTicsIE5vbmUsIE5vbmUsIHUnQ29udHJvbCcsIDIsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnRGVmaW5lcyB0aGUgY29udHJvbCB0aGF0IGhhcyB0aGUgZm9jdXMgd2hlbiB0aGUgZGlhbG9nIGlzIGNyZWF0ZWQuJyksCi0odSdEaWFsb2cnLCB1J0NvbnRyb2xfRGVmYXVsdCcsIHUnWScsIE5vbmUsIE5vbmUsIHUnQ29udHJvbCcsIDIsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnRGVmaW5lcyB0aGUgZGVmYXVsdCBjb250cm9sLiBIaXR0aW5nIHJldHVybiBpcyBlcXVpdmFsZW50IHRvIHB1c2hpbmcgdGhpcyBidXR0b24uJyksCi0odSdEaWFsb2cnLCB1J0NvbnRyb2xfQ2FuY2VsJywgdSdZJywgTm9uZSwgTm9uZSwgdSdDb250cm9sJywgMiwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdEZWZpbmVzIHRoZSBjYW5jZWwgY29udHJvbC4gSGl0dGluZyBlc2NhcGUgb3IgY2xpY2tpbmcgb24gdGhlIGNsb3NlIGljb24gb24gdGhlIGRpYWxvZyBpcyBlcXVpdmFsZW50IHRvIHB1c2hpbmcgdGhpcyBidXR0b24uJyksCi0odSdFdmVudE1hcHBpbmcnLCB1J0RpYWxvZ18nLCB1J04nLCBOb25lLCBOb25lLCB1J0RpYWxvZycsIDEsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnQSBmb3JlaWduIGtleSB0byB0aGUgRGlhbG9nIHRhYmxlLCBuYW1lIG9mIHRoZSBEaWFsb2cuJyksCi0odSdFdmVudE1hcHBpbmcnLCB1J0NvbnRyb2xfJywgdSdOJywgTm9uZSwgTm9uZSwgdSdDb250cm9sJywgMiwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdBIGZvcmVpZ24ga2V5IHRvIHRoZSBDb250cm9sIHRhYmxlLCBuYW1lIG9mIHRoZSBjb250cm9sLicpLAotKHUnRXZlbnRNYXBwaW5nJywgdSdFdmVudCcsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnQW4gaWRlbnRpZmllciB0aGF0IHNwZWNpZmllcyB0aGUgdHlwZSBvZiB0aGUgZXZlbnQgdGhhdCB0aGUgY29udHJvbCBzdWJzY3JpYmVzIHRvLicpLAotKHUnRXZlbnRNYXBwaW5nJywgdSdBdHRyaWJ1dGUnLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J1RoZSBuYW1lIG9mIHRoZSBjb250cm9sIGF0dHJpYnV0ZSwgdGhhdCBpcyBzZXQgd2hlbiB0aGlzIGV2ZW50IGlzIHJlY2VpdmVkLicpLAotKHUnSW5zdGFsbEV4ZWN1dGVTZXF1ZW5jZScsIHUnQWN0aW9uJywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdOYW1lIG9mIGFjdGlvbiB0byBpbnZva2UsIGVpdGhlciBpbiB0aGUgZW5naW5lIG9yIHRoZSBoYW5kbGVyIERMTC4nKSwKLSh1J0luc3RhbGxFeGVjdXRlU2VxdWVuY2UnLCB1J1NlcXVlbmNlJywgdSdZJywgLTQsIDMyNzY3LCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J051bWJlciB0aGF0IGRldGVybWluZXMgdGhlIHNvcnQgb3JkZXIgaW4gd2hpY2ggdGhlIGFjdGlvbnMgYXJlIHRvIGJlIGV4ZWN1dGVkLiAgTGVhdmUgYmxhbmsgdG8gc3VwcHJlc3MgYWN0aW9uLicpLAotKHUnSW5zdGFsbEV4ZWN1dGVTZXF1ZW5jZScsIHUnQ29uZGl0aW9uJywgdSdZJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdDb25kaXRpb24nLCBOb25lLCB1J09wdGlvbmFsIGV4cHJlc3Npb24gd2hpY2ggc2tpcHMgdGhlIGFjdGlvbiBpZiBldmFsdWF0ZXMgdG8gZXhwRmFsc2UuSWYgdGhlIGV4cHJlc3Npb24gc3ludGF4IGlzIGludmFsaWQsIHRoZSBlbmdpbmUgd2lsbCB0ZXJtaW5hdGUsIHJldHVybmluZyBpZXNCYWRBY3Rpb25EYXRhLicpLAotKHUnQXBwU2VhcmNoJywgdSdQcm9wZXJ0eScsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnVGhlIHByb3BlcnR5IGFzc29jaWF0ZWQgd2l0aCBhIFNpZ25hdHVyZScpLAotKHUnQXBwU2VhcmNoJywgdSdTaWduYXR1cmVfJywgdSdOJywgTm9uZSwgTm9uZSwgdSdTaWduYXR1cmU7UmVnTG9jYXRvcjtJbmlMb2NhdG9yO0RyTG9jYXRvcjtDb21wTG9jYXRvcicsIDEsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnVGhlIFNpZ25hdHVyZV8gcmVwcmVzZW50cyBhIHVuaXF1ZSBmaWxlIHNpZ25hdHVyZSBhbmQgaXMgYWxzbyB0aGUgZm9yZWlnbiBrZXkgaW4gdGhlIFNpZ25hdHVyZSwgIFJlZ0xvY2F0b3IsIEluaUxvY2F0b3IsIENvbXBMb2NhdG9yIGFuZCB0aGUgRHJMb2NhdG9yIHRhYmxlcy4nKSwKLSh1J0JpbmRJbWFnZScsIHUnRmlsZV8nLCB1J04nLCBOb25lLCBOb25lLCB1J0ZpbGUnLCAxLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J1RoZSBpbmRleCBpbnRvIHRoZSBGaWxlIHRhYmxlLiBUaGlzIG11c3QgYmUgYW4gZXhlY3V0YWJsZSBmaWxlLicpLAotKHUnQmluZEltYWdlJywgdSdQYXRoJywgdSdZJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdQYXRocycsIE5vbmUsIHUnQSBsaXN0IG9mIDsgIGRlbGltaXRlZCBwYXRocyB0aGF0IHJlcHJlc2VudCB0aGUgcGF0aHMgdG8gYmUgc2VhcmNoZWQgZm9yIHRoZSBpbXBvcnQgRExMUy4gVGhlIGxpc3QgaXMgdXN1YWxseSBhIGxpc3Qgb2YgcHJvcGVydGllcyBlYWNoIGVuY2xvc2VkIHdpdGhpbiBzcXVhcmUgYnJhY2tldHMgW10gLicpLAotKHUnQ0NQU2VhcmNoJywgdSdTaWduYXR1cmVfJywgdSdOJywgTm9uZSwgTm9uZSwgdSdTaWduYXR1cmU7UmVnTG9jYXRvcjtJbmlMb2NhdG9yO0RyTG9jYXRvcjtDb21wTG9jYXRvcicsIDEsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnVGhlIFNpZ25hdHVyZV8gcmVwcmVzZW50cyBhIHVuaXF1ZSBmaWxlIHNpZ25hdHVyZSBhbmQgaXMgYWxzbyB0aGUgZm9yZWlnbiBrZXkgaW4gdGhlIFNpZ25hdHVyZSwgIFJlZ0xvY2F0b3IsIEluaUxvY2F0b3IsIENvbXBMb2NhdG9yIGFuZCB0aGUgRHJMb2NhdG9yIHRhYmxlcy4nKSwKLSh1J0luc3RhbGxVSVNlcXVlbmNlJywgdSdBY3Rpb24nLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J05hbWUgb2YgYWN0aW9uIHRvIGludm9rZSwgZWl0aGVyIGluIHRoZSBlbmdpbmUgb3IgdGhlIGhhbmRsZXIgRExMLicpLAotKHUnSW5zdGFsbFVJU2VxdWVuY2UnLCB1J1NlcXVlbmNlJywgdSdZJywgLTQsIDMyNzY3LCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J051bWJlciB0aGF0IGRldGVybWluZXMgdGhlIHNvcnQgb3JkZXIgaW4gd2hpY2ggdGhlIGFjdGlvbnMgYXJlIHRvIGJlIGV4ZWN1dGVkLiAgTGVhdmUgYmxhbmsgdG8gc3VwcHJlc3MgYWN0aW9uLicpLAotKHUnSW5zdGFsbFVJU2VxdWVuY2UnLCB1J0NvbmRpdGlvbicsIHUnWScsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnQ29uZGl0aW9uJywgTm9uZSwgdSdPcHRpb25hbCBleHByZXNzaW9uIHdoaWNoIHNraXBzIHRoZSBhY3Rpb24gaWYgZXZhbHVhdGVzIHRvIGV4cEZhbHNlLklmIHRoZSBleHByZXNzaW9uIHN5bnRheCBpcyBpbnZhbGlkLCB0aGUgZW5naW5lIHdpbGwgdGVybWluYXRlLCByZXR1cm5pbmcgaWVzQmFkQWN0aW9uRGF0YS4nKSwKLSh1J0xpc3RWaWV3JywgdSdUZXh0JywgdSdZJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUZXh0JywgTm9uZSwgdSdUaGUgdmlzaWJsZSB0ZXh0IHRvIGJlIGFzc2lnbmVkIHRvIHRoZSBpdGVtLiBPcHRpb25hbC4gSWYgdGhpcyBlbnRyeSBvciB0aGUgZW50aXJlIGNvbHVtbiBpcyBtaXNzaW5nLCB0aGUgdGV4dCBpcyB0aGUgc2FtZSBhcyB0aGUgdmFsdWUuJyksCi0odSdMaXN0VmlldycsIHUnUHJvcGVydHknLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J0EgbmFtZWQgcHJvcGVydHkgdG8gYmUgdGllZCB0byB0aGlzIGl0ZW0uIEFsbCB0aGUgaXRlbXMgdGllZCB0byB0aGUgc2FtZSBwcm9wZXJ0eSBiZWNvbWUgcGFydCBvZiB0aGUgc2FtZSBsaXN0dmlldy4nKSwKLSh1J0xpc3RWaWV3JywgdSdWYWx1ZScsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnVGhlIHZhbHVlIHN0cmluZyBhc3NvY2lhdGVkIHdpdGggdGhpcyBpdGVtLiBTZWxlY3RpbmcgdGhlIGxpbmUgd2lsbCBzZXQgdGhlIGFzc29jaWF0ZWQgcHJvcGVydHkgdG8gdGhpcyB2YWx1ZS4nKSwKLSh1J0xpc3RWaWV3JywgdSdPcmRlcicsIHUnTicsIDEsIDMyNzY3LCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0EgcG9zaXRpdmUgaW50ZWdlciB1c2VkIHRvIGRldGVybWluZSB0aGUgb3JkZXJpbmcgb2YgdGhlIGl0ZW1zIHdpdGhpbiBvbmUgbGlzdC4uVGhlIGludGVnZXJzIGRvIG5vdCBoYXZlIHRvIGJlIGNvbnNlY3V0aXZlLicpLAotKHUnTGlzdFZpZXcnLCB1J0JpbmFyeV8nLCB1J1knLCBOb25lLCBOb25lLCB1J0JpbmFyeScsIDEsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnVGhlIG5hbWUgb2YgdGhlIGljb24gdG8gYmUgZGlzcGxheWVkIHdpdGggdGhlIGljb24uIFRoZSBiaW5hcnkgaW5mb3JtYXRpb24gaXMgbG9va2VkIHVwIGZyb20gdGhlIEJpbmFyeSBUYWJsZS4nKSwKLSh1J1JhZGlvQnV0dG9uJywgdSdYJywgdSdOJywgMCwgMzI3NjcsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGhlIGhvcml6b250YWwgY29vcmRpbmF0ZSBvZiB0aGUgdXBwZXIgbGVmdCBjb3JuZXIgb2YgdGhlIGJvdW5kaW5nIHJlY3RhbmdsZSBvZiB0aGUgcmFkaW8gYnV0dG9uLicpLAotKHUnUmFkaW9CdXR0b24nLCB1J1knLCB1J04nLCAwLCAzMjc2NywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUaGUgdmVydGljYWwgY29vcmRpbmF0ZSBvZiB0aGUgdXBwZXIgbGVmdCBjb3JuZXIgb2YgdGhlIGJvdW5kaW5nIHJlY3RhbmdsZSBvZiB0aGUgcmFkaW8gYnV0dG9uLicpLAotKHUnUmFkaW9CdXR0b24nLCB1J1dpZHRoJywgdSdOJywgMCwgMzI3NjcsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGhlIHdpZHRoIG9mIHRoZSBidXR0b24uJyksCi0odSdSYWRpb0J1dHRvbicsIHUnSGVpZ2h0JywgdSdOJywgMCwgMzI3NjcsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGhlIGhlaWdodCBvZiB0aGUgYnV0dG9uLicpLAotKHUnUmFkaW9CdXR0b24nLCB1J1RleHQnLCB1J1knLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RleHQnLCBOb25lLCB1J1RoZSB2aXNpYmxlIHRpdGxlIHRvIGJlIGFzc2lnbmVkIHRvIHRoZSByYWRpbyBidXR0b24uJyksCi0odSdSYWRpb0J1dHRvbicsIHUnUHJvcGVydHknLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J0EgbmFtZWQgcHJvcGVydHkgdG8gYmUgdGllZCB0byB0aGlzIHJhZGlvIGJ1dHRvbi4gQWxsIHRoZSBidXR0b25zIHRpZWQgdG8gdGhlIHNhbWUgcHJvcGVydHkgYmVjb21lIHBhcnQgb2YgdGhlIHNhbWUgZ3JvdXAuJyksCi0odSdSYWRpb0J1dHRvbicsIHUnVmFsdWUnLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0Zvcm1hdHRlZCcsIE5vbmUsIHUnVGhlIHZhbHVlIHN0cmluZyBhc3NvY2lhdGVkIHdpdGggdGhpcyBidXR0b24uIFNlbGVjdGluZyB0aGUgYnV0dG9uIHdpbGwgc2V0IHRoZSBhc3NvY2lhdGVkIHByb3BlcnR5IHRvIHRoaXMgdmFsdWUuJyksCi0odSdSYWRpb0J1dHRvbicsIHUnT3JkZXInLCB1J04nLCAxLCAzMjc2NywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdBIHBvc2l0aXZlIGludGVnZXIgdXNlZCB0byBkZXRlcm1pbmUgdGhlIG9yZGVyaW5nIG9mIHRoZSBpdGVtcyB3aXRoaW4gb25lIGxpc3QuLlRoZSBpbnRlZ2VycyBkbyBub3QgaGF2ZSB0byBiZSBjb25zZWN1dGl2ZS4nKSwKLSh1J1JhZGlvQnV0dG9uJywgdSdIZWxwJywgdSdZJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUZXh0JywgTm9uZSwgdSdUaGUgaGVscCBzdHJpbmdzIHVzZWQgd2l0aCB0aGUgYnV0dG9uLiBUaGUgdGV4dCBpcyBvcHRpb25hbC4nKSwKLSh1J1RleHRTdHlsZScsIHUnVGV4dFN0eWxlJywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdOYW1lIG9mIHRoZSBzdHlsZS4gVGhlIHByaW1hcnkga2V5IG9mIHRoaXMgdGFibGUuIFRoaXMgbmFtZSBpcyBlbWJlZGRlZCBpbiB0aGUgdGV4dHMgdG8gaW5kaWNhdGUgYSBzdHlsZSBjaGFuZ2UuJyksCi0odSdUZXh0U3R5bGUnLCB1J0ZhY2VOYW1lJywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUZXh0JywgTm9uZSwgdSdBIHN0cmluZyBpbmRpY2F0aW5nIHRoZSBuYW1lIG9mIHRoZSBmb250IHVzZWQuIFJlcXVpcmVkLiBUaGUgc3RyaW5nIG11c3QgYmUgYXQgbW9zdCAzMSBjaGFyYWN0ZXJzIGxvbmcuJyksCi0odSdUZXh0U3R5bGUnLCB1J1NpemUnLCB1J04nLCAwLCAzMjc2NywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUaGUgc2l6ZSBvZiB0aGUgZm9udCB1c2VkLiBUaGlzIHNpemUgaXMgZ2l2ZW4gaW4gb3VyIHVuaXRzICgxLzEyIG9mIHRoZSBzeXN0ZW0gZm9udCBoZWlnaHQpLiBBc3N1bWluZyB0aGF0IHRoZSBzeXN0ZW0gZm9udCBpcyBzZXQgdG8gMTIgcG9pbnQgc2l6ZSwgdGhpcyBpcyBlcXVpdmFsZW50IHRvIHRoZSBwb2ludCBzaXplLicpLAotKHUnVGV4dFN0eWxlJywgdSdDb2xvcicsIHUnWScsIDAsIDE2Nzc3MjE1LCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0EgbG9uZyBpbnRlZ2VyIGluZGljYXRpbmcgdGhlIGNvbG9yIG9mIHRoZSBzdHJpbmcgaW4gdGhlIFJHQiBmb3JtYXQgKFJlZCwgR3JlZW4sIEJsdWUgZWFjaCAwLTI1NSwgUkdCID0gUiArIDI1NipHICsgMjU2XjIqQikuJyksCi0odSdUZXh0U3R5bGUnLCB1J1N0eWxlQml0cycsIHUnWScsIDAsIDE1LCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0EgY29tYmluYXRpb24gb2Ygc3R5bGUgYml0cy4nKSwKLSh1J1VJVGV4dCcsIHUnVGV4dCcsIHUnWScsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGV4dCcsIE5vbmUsIHUnVGhlIGxvY2FsaXplZCB2ZXJzaW9uIG9mIHRoZSBzdHJpbmcuJyksCi0odSdVSVRleHQnLCB1J0tleScsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnQSB1bmlxdWUga2V5IHRoYXQgaWRlbnRpZmllcyB0aGUgcGFydGljdWxhciBzdHJpbmcuJyksCi0odSdfVmFsaWRhdGlvbicsIHUnVGFibGUnLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J05hbWUgb2YgdGFibGUnKSwKLSh1J19WYWxpZGF0aW9uJywgdSdEZXNjcmlwdGlvbicsIHUnWScsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGV4dCcsIE5vbmUsIHUnRGVzY3JpcHRpb24gb2YgY29sdW1uJyksCi0odSdfVmFsaWRhdGlvbicsIHUnQ29sdW1uJywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdOYW1lIG9mIGNvbHVtbicpLAotKHUnX1ZhbGlkYXRpb24nLCB1J051bGxhYmxlJywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdZO047QCcsIHUnV2hldGhlciB0aGUgY29sdW1uIGlzIG51bGxhYmxlJyksCi0odSdfVmFsaWRhdGlvbicsIHUnTWluVmFsdWUnLCB1J1knLCAtMjE0NzQ4MzY0NywgMjE0NzQ4MzY0NywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdNaW5pbXVtIHZhbHVlIGFsbG93ZWQnKSwKLSh1J19WYWxpZGF0aW9uJywgdSdNYXhWYWx1ZScsIHUnWScsIC0yMTQ3NDgzNjQ3LCAyMTQ3NDgzNjQ3LCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J01heGltdW0gdmFsdWUgYWxsb3dlZCcpLAotKHUnX1ZhbGlkYXRpb24nLCB1J0tleVRhYmxlJywgdSdZJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdGb3IgZm9yZWlnbiBrZXksIE5hbWUgb2YgdGFibGUgdG8gd2hpY2ggZGF0YSBtdXN0IGxpbmsnKSwKLSh1J19WYWxpZGF0aW9uJywgdSdLZXlDb2x1bW4nLCB1J1knLCAxLCAzMiwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdDb2x1bW4gdG8gd2hpY2ggZm9yZWlnbiBrZXkgY29ubmVjdHMnKSwKLSh1J19WYWxpZGF0aW9uJywgdSdDYXRlZ29yeScsIHUnWScsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGV4dDtGb3JtYXR0ZWQ7VGVtcGxhdGU7Q29uZGl0aW9uO0d1aWQ7UGF0aDtWZXJzaW9uO0xhbmd1YWdlO0lkZW50aWZpZXI7QmluYXJ5O1VwcGVyQ2FzZTtMb3dlckNhc2U7RmlsZW5hbWU7UGF0aHM7QW55UGF0aDtXaWxkQ2FyZEZpbGVuYW1lO1JlZ1BhdGg7S2V5Rm9ybWF0dGVkO0N1c3RvbVNvdXJjZTtQcm9wZXJ0eTtDYWJpbmV0O1Nob3J0Y3V0O1VSTCcsIHUnU3RyaW5nIGNhdGVnb3J5JyksCi0odSdfVmFsaWRhdGlvbicsIHUnU2V0JywgdSdZJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUZXh0JywgTm9uZSwgdSdTZXQgb2YgdmFsdWVzIHRoYXQgYXJlIHBlcm1pdHRlZCcpLAotKHUnQWR2dFVJU2VxdWVuY2UnLCB1J0FjdGlvbicsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnTmFtZSBvZiBhY3Rpb24gdG8gaW52b2tlLCBlaXRoZXIgaW4gdGhlIGVuZ2luZSBvciB0aGUgaGFuZGxlciBETEwuJyksCi0odSdBZHZ0VUlTZXF1ZW5jZScsIHUnU2VxdWVuY2UnLCB1J1knLCAtNCwgMzI3NjcsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnTnVtYmVyIHRoYXQgZGV0ZXJtaW5lcyB0aGUgc29ydCBvcmRlciBpbiB3aGljaCB0aGUgYWN0aW9ucyBhcmUgdG8gYmUgZXhlY3V0ZWQuICBMZWF2ZSBibGFuayB0byBzdXBwcmVzcyBhY3Rpb24uJyksCi0odSdBZHZ0VUlTZXF1ZW5jZScsIHUnQ29uZGl0aW9uJywgdSdZJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdDb25kaXRpb24nLCBOb25lLCB1J09wdGlvbmFsIGV4cHJlc3Npb24gd2hpY2ggc2tpcHMgdGhlIGFjdGlvbiBpZiBldmFsdWF0ZXMgdG8gZXhwRmFsc2UuSWYgdGhlIGV4cHJlc3Npb24gc3ludGF4IGlzIGludmFsaWQsIHRoZSBlbmdpbmUgd2lsbCB0ZXJtaW5hdGUsIHJldHVybmluZyBpZXNCYWRBY3Rpb25EYXRhLicpLAotKHUnQXBwSWQnLCB1J0FwcElkJywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdHdWlkJywgTm9uZSwgTm9uZSksCi0odSdBcHBJZCcsIHUnQWN0aXZhdGVBdFN0b3JhZ2UnLCB1J1knLCAwLCAxLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCBOb25lKSwKLSh1J0FwcElkJywgdSdEbGxTdXJyb2dhdGUnLCB1J1knLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RleHQnLCBOb25lLCBOb25lKSwKLSh1J0FwcElkJywgdSdMb2NhbFNlcnZpY2UnLCB1J1knLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RleHQnLCBOb25lLCBOb25lKSwKLSh1J0FwcElkJywgdSdSZW1vdGVTZXJ2ZXJOYW1lJywgdSdZJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdGb3JtYXR0ZWQnLCBOb25lLCBOb25lKSwKLSh1J0FwcElkJywgdSdSdW5Bc0ludGVyYWN0aXZlVXNlcicsIHUnWScsIDAsIDEsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUpLAotKHUnQXBwSWQnLCB1J1NlcnZpY2VQYXJhbWV0ZXJzJywgdSdZJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUZXh0JywgTm9uZSwgTm9uZSksCi0odSdGZWF0dXJlJywgdSdBdHRyaWJ1dGVzJywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdScwOzE7Mjs0OzU7Njs4Ozk7MTA7MTY7MTc7MTg7MjA7MjE7MjI7MjQ7MjU7MjY7MzI7MzM7MzQ7MzY7Mzc7Mzg7NDg7NDk7NTA7NTI7NTM7NTQnLCB1J0ZlYXR1cmUgYXR0cmlidXRlcycpLAotKHUnRmVhdHVyZScsIHUnRGVzY3JpcHRpb24nLCB1J1knLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RleHQnLCBOb25lLCB1J0xvbmdlciBkZXNjcmlwdGl2ZSB0ZXh0IGRlc2NyaWJpbmcgYSB2aXNpYmxlIGZlYXR1cmUgaXRlbS4nKSwKLSh1J0ZlYXR1cmUnLCB1J1RpdGxlJywgdSdZJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUZXh0JywgTm9uZSwgdSdTaG9ydCB0ZXh0IGlkZW50aWZ5aW5nIGEgdmlzaWJsZSBmZWF0dXJlIGl0ZW0uJyksCi0odSdGZWF0dXJlJywgdSdGZWF0dXJlJywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdQcmltYXJ5IGtleSB1c2VkIHRvIGlkZW50aWZ5IGEgcGFydGljdWxhciBmZWF0dXJlIHJlY29yZC4nKSwKLSh1J0ZlYXR1cmUnLCB1J0RpcmVjdG9yeV8nLCB1J1knLCBOb25lLCBOb25lLCB1J0RpcmVjdG9yeScsIDEsIHUnVXBwZXJDYXNlJywgTm9uZSwgdSdUaGUgbmFtZSBvZiB0aGUgRGlyZWN0b3J5IHRoYXQgY2FuIGJlIGNvbmZpZ3VyZWQgYnkgdGhlIFVJLiBBIG5vbi1udWxsIHZhbHVlIHdpbGwgZW5hYmxlIHRoZSBicm93c2UgYnV0dG9uLicpLAotKHUnRmVhdHVyZScsIHUnTGV2ZWwnLCB1J04nLCAwLCAzMjc2NywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUaGUgaW5zdGFsbCBsZXZlbCBhdCB3aGljaCByZWNvcmQgd2lsbCBiZSBpbml0aWFsbHkgc2VsZWN0ZWQuIEFuIGluc3RhbGwgbGV2ZWwgb2YgMCB3aWxsIGRpc2FibGUgYW4gaXRlbSBhbmQgcHJldmVudCBpdHMgZGlzcGxheS4nKSwKLSh1J0ZlYXR1cmUnLCB1J0Rpc3BsYXknLCB1J1knLCAwLCAzMjc2NywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdOdW1lcmljIHNvcnQgb3JkZXIsIHVzZWQgdG8gZm9yY2UgYSBzcGVjaWZpYyBkaXNwbGF5IG9yZGVyaW5nLicpLAotKHUnRmVhdHVyZScsIHUnRmVhdHVyZV9QYXJlbnQnLCB1J1knLCBOb25lLCBOb25lLCB1J0ZlYXR1cmUnLCAxLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J09wdGlvbmFsIGtleSBvZiBhIHBhcmVudCByZWNvcmQgaW4gdGhlIHNhbWUgdGFibGUuIElmIHRoZSBwYXJlbnQgaXMgbm90IHNlbGVjdGVkLCB0aGVuIHRoZSByZWNvcmQgd2lsbCBub3QgYmUgaW5zdGFsbGVkLiBOdWxsIGluZGljYXRlcyBhIHJvb3QgaXRlbS4nKSwKLSh1J0ZpbGUnLCB1J1NlcXVlbmNlJywgdSdOJywgMSwgMzI3NjcsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnU2VxdWVuY2Ugd2l0aCByZXNwZWN0IHRvIHRoZSBtZWRpYSBpbWFnZXM7IG9yZGVyIG11c3QgdHJhY2sgY2FiaW5ldCBvcmRlci4nKSwKLSh1J0ZpbGUnLCB1J0F0dHJpYnV0ZXMnLCB1J1knLCAwLCAzMjc2NywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJbnRlZ2VyIGNvbnRhaW5pbmcgYml0IGZsYWdzIHJlcHJlc2VudGluZyBmaWxlIGF0dHJpYnV0ZXMgKHdpdGggdGhlIGRlY2ltYWwgdmFsdWUgb2YgZWFjaCBiaXQgcG9zaXRpb24gaW4gcGFyZW50aGVzZXMpJyksCi0odSdGaWxlJywgdSdGaWxlJywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdQcmltYXJ5IGtleSwgbm9uLWxvY2FsaXplZCB0b2tlbiwgbXVzdCBtYXRjaCBpZGVudGlmaWVyIGluIGNhYmluZXQuICBGb3IgdW5jb21wcmVzc2VkIGZpbGVzLCB0aGlzIGZpZWxkIGlzIGlnbm9yZWQuJyksCi0odSdGaWxlJywgdSdDb21wb25lbnRfJywgdSdOJywgTm9uZSwgTm9uZSwgdSdDb21wb25lbnQnLCAxLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J0ZvcmVpZ24ga2V5IHJlZmVyZW5jaW5nIENvbXBvbmVudCB0aGF0IGNvbnRyb2xzIHRoZSBmaWxlLicpLAotKHUnRmlsZScsIHUnRmlsZU5hbWUnLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0ZpbGVuYW1lJywgTm9uZSwgdSdGaWxlIG5hbWUgdXNlZCBmb3IgaW5zdGFsbGF0aW9uLCBtYXkgYmUgbG9jYWxpemVkLiAgVGhpcyBtYXkgY29udGFpbiBhICJzaG9ydCBuYW1lfGxvbmcgbmFtZSIgcGFpci4nKSwKLSh1J0ZpbGUnLCB1J0ZpbGVTaXplJywgdSdOJywgMCwgMjE0NzQ4MzY0NywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdTaXplIG9mIGZpbGUgaW4gYnl0ZXMgKGxvbmcgaW50ZWdlcikuJyksCi0odSdGaWxlJywgdSdMYW5ndWFnZScsIHUnWScsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnTGFuZ3VhZ2UnLCBOb25lLCB1J0xpc3Qgb2YgZGVjaW1hbCBsYW5ndWFnZSBJZHMsIGNvbW1hLXNlcGFyYXRlZCBpZiBtb3JlIHRoYW4gb25lLicpLAotKHUnRmlsZScsIHUnVmVyc2lvbicsIHUnWScsIE5vbmUsIE5vbmUsIHUnRmlsZScsIDEsIHUnVmVyc2lvbicsIE5vbmUsIHUnVmVyc2lvbiBzdHJpbmcgZm9yIHZlcnNpb25lZCBmaWxlczsgIEJsYW5rIGZvciB1bnZlcnNpb25lZCBmaWxlcy4nKSwKLSh1J0NsYXNzJywgdSdBdHRyaWJ1dGVzJywgdSdZJywgTm9uZSwgMzI3NjcsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnQ2xhc3MgcmVnaXN0cmF0aW9uIGF0dHJpYnV0ZXMuJyksCi0odSdDbGFzcycsIHUnRmVhdHVyZV8nLCB1J04nLCBOb25lLCBOb25lLCB1J0ZlYXR1cmUnLCAxLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J1JlcXVpcmVkIGZvcmVpZ24ga2V5IGludG8gdGhlIEZlYXR1cmUgVGFibGUsIHNwZWNpZnlpbmcgdGhlIGZlYXR1cmUgdG8gdmFsaWRhdGUgb3IgaW5zdGFsbCBpbiBvcmRlciBmb3IgdGhlIENMU0lEIGZhY3RvcnkgdG8gYmUgb3BlcmF0aW9uYWwuJyksCi0odSdDbGFzcycsIHUnRGVzY3JpcHRpb24nLCB1J1knLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RleHQnLCBOb25lLCB1J0xvY2FsaXplZCBkZXNjcmlwdGlvbiBmb3IgdGhlIENsYXNzLicpLAotKHUnQ2xhc3MnLCB1J0FyZ3VtZW50JywgdSdZJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdGb3JtYXR0ZWQnLCBOb25lLCB1J29wdGlvbmFsIGFyZ3VtZW50IGZvciBMb2NhbFNlcnZlcnMuJyksCi0odSdDbGFzcycsIHUnQXBwSWRfJywgdSdZJywgTm9uZSwgTm9uZSwgdSdBcHBJZCcsIDEsIHUnR3VpZCcsIE5vbmUsIHUnT3B0aW9uYWwgQXBwSUQgY29udGFpbmluZyBEQ09NIGluZm9ybWF0aW9uIGZvciBhc3NvY2lhdGVkIGFwcGxpY2F0aW9uIChzdHJpbmcgR1VJRCkuJyksCi0odSdDbGFzcycsIHUnQ0xTSUQnLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0d1aWQnLCBOb25lLCB1J1RoZSBDTFNJRCBvZiBhbiBPTEUgZmFjdG9yeS4nKSwKLSh1J0NsYXNzJywgdSdDb21wb25lbnRfJywgdSdOJywgTm9uZSwgTm9uZSwgdSdDb21wb25lbnQnLCAxLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J1JlcXVpcmVkIGZvcmVpZ24ga2V5IGludG8gdGhlIENvbXBvbmVudCBUYWJsZSwgc3BlY2lmeWluZyB0aGUgY29tcG9uZW50IGZvciB3aGljaCB0byByZXR1cm4gYSBwYXRoIHdoZW4gY2FsbGVkIHRocm91Z2ggTG9jYXRlQ29tcG9uZW50LicpLAotKHUnQ2xhc3MnLCB1J0NvbnRleHQnLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J1RoZSBudW1lcmljIHNlcnZlciBjb250ZXh0IGZvciB0aGlzIHNlcnZlci4gQ0xTQ1RYX3h4eHgnKSwKLSh1J0NsYXNzJywgdSdEZWZJbnByb2NIYW5kbGVyJywgdSdZJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdGaWxlbmFtZScsIHUnMTsyOzMnLCB1J09wdGlvbmFsIGRlZmF1bHQgaW5wcm9jIGhhbmRsZXIuICBPbmx5IG9wdGlvbmFsbHkgcHJvdmlkZWQgaWYgQ29udGV4dD1DTFNDVFhfTE9DQUxfU0VSVkVSLiAgVHlwaWNhbGx5ICJvbGUzMi5kbGwiIG9yICJtYXBpMzIuZGxsIicpLAotKHUnQ2xhc3MnLCB1J0ZpbGVUeXBlTWFzaycsIHUnWScsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGV4dCcsIE5vbmUsIHUnT3B0aW9uYWwgc3RyaW5nIGNvbnRhaW5pbmcgaW5mb3JtYXRpb24gZm9yIHRoZSBIS0NSdGhpcyBDTFNJRCkga2V5LiBJZiBtdWx0aXBsZSBwYXR0ZXJucyBleGlzdCwgdGhleSBtdXN0IGJlIGRlbGltaXRlZCBieSBhIHNlbWljb2xvbiwgYW5kIG51bWVyaWMgc3Via2V5cyB3aWxsIGJlIGdlbmVyYXRlZDogMCwxLDIuLi4nKSwKLSh1J0NsYXNzJywgdSdJY29uXycsIHUnWScsIE5vbmUsIE5vbmUsIHUnSWNvbicsIDEsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnT3B0aW9uYWwgZm9yZWlnbiBrZXkgaW50byB0aGUgSWNvbiBUYWJsZSwgc3BlY2lmeWluZyB0aGUgaWNvbiBmaWxlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIENMU0lELiBXaWxsIGJlIHdyaXR0ZW4gdW5kZXIgdGhlIERlZmF1bHRJY29uIGtleS4nKSwKLSh1J0NsYXNzJywgdSdJY29uSW5kZXgnLCB1J1knLCAtMzI3NjcsIDMyNzY3LCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J09wdGlvbmFsIGljb24gaW5kZXguJyksCi0odSdDbGFzcycsIHUnUHJvZ0lkX0RlZmF1bHQnLCB1J1knLCBOb25lLCBOb25lLCB1J1Byb2dJZCcsIDEsIHUnVGV4dCcsIE5vbmUsIHUnT3B0aW9uYWwgUHJvZ0lkIGFzc29jaWF0ZWQgd2l0aCB0aGlzIENMU0lELicpLAotKHUnQ29tcG9uZW50JywgdSdDb25kaXRpb24nLCB1J1knLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0NvbmRpdGlvbicsIE5vbmUsIHUiQSBjb25kaXRpb25hbCBzdGF0ZW1lbnQgdGhhdCB3aWxsIGRpc2FibGUgdGhpcyBjb21wb25lbnQgaWYgdGhlIHNwZWNpZmllZCBjb25kaXRpb24gZXZhbHVhdGVzIHRvIHRoZSAnVHJ1ZScgc3RhdGUuIElmIGEgY29tcG9uZW50IGlzIGRpc2FibGVkLCBpdCB3aWxsIG5vdCBiZSBpbnN0YWxsZWQsIHJlZ2FyZGxlc3Mgb2YgdGhlICdBY3Rpb24nIHN0YXRlIGFzc29jaWF0ZWQgd2l0aCB0aGUgY29tcG9uZW50LiIpLAotKHUnQ29tcG9uZW50JywgdSdBdHRyaWJ1dGVzJywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdSZW1vdGUgZXhlY3V0aW9uIG9wdGlvbiwgb25lIG9mIGlyc0VudW0nKSwKLSh1J0NvbXBvbmVudCcsIHUnQ29tcG9uZW50JywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdQcmltYXJ5IGtleSB1c2VkIHRvIGlkZW50aWZ5IGEgcGFydGljdWxhciBjb21wb25lbnQgcmVjb3JkLicpLAotKHUnQ29tcG9uZW50JywgdSdDb21wb25lbnRJZCcsIHUnWScsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnR3VpZCcsIE5vbmUsIHUnQSBzdHJpbmcgR1VJRCB1bmlxdWUgdG8gdGhpcyBjb21wb25lbnQsIHZlcnNpb24sIGFuZCBsYW5ndWFnZS4nKSwKLSh1J0NvbXBvbmVudCcsIHUnRGlyZWN0b3J5XycsIHUnTicsIE5vbmUsIE5vbmUsIHUnRGlyZWN0b3J5JywgMSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdSZXF1aXJlZCBrZXkgb2YgYSBEaXJlY3RvcnkgdGFibGUgcmVjb3JkLiBUaGlzIGlzIGFjdHVhbGx5IGEgcHJvcGVydHkgbmFtZSB3aG9zZSB2YWx1ZSBjb250YWlucyB0aGUgYWN0dWFsIHBhdGgsIHNldCBlaXRoZXIgYnkgdGhlIEFwcFNlYXJjaCBhY3Rpb24gb3Igd2l0aCB0aGUgZGVmYXVsdCBzZXR0aW5nIG9idGFpbmVkIGZyb20gdGhlIERpcmVjdG9yeSB0YWJsZS4nKSwKLSh1J0NvbXBvbmVudCcsIHUnS2V5UGF0aCcsIHUnWScsIE5vbmUsIE5vbmUsIHUnRmlsZTtSZWdpc3RyeTtPREJDRGF0YVNvdXJjZScsIDEsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnRWl0aGVyIHRoZSBwcmltYXJ5IGtleSBpbnRvIHRoZSBGaWxlIHRhYmxlLCBSZWdpc3RyeSB0YWJsZSwgb3IgT0RCQ0RhdGFTb3VyY2UgdGFibGUuIFRoaXMgZXh0cmFjdCBwYXRoIGlzIHN0b3JlZCB3aGVuIHRoZSBjb21wb25lbnQgaXMgaW5zdGFsbGVkLCBhbmQgaXMgdXNlZCB0byBkZXRlY3QgdGhlIHByZXNlbmNlIG9mIHRoZSBjb21wb25lbnQgYW5kIHRvIHJldHVybiB0aGUgcGF0aCB0byBpdC4nKSwKLSh1J1Byb2dJZCcsIHUnRGVzY3JpcHRpb24nLCB1J1knLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RleHQnLCBOb25lLCB1J0xvY2FsaXplZCBkZXNjcmlwdGlvbiBmb3IgdGhlIFByb2dyYW0gaWRlbnRpZmllci4nKSwKLSh1J1Byb2dJZCcsIHUnSWNvbl8nLCB1J1knLCBOb25lLCBOb25lLCB1J0ljb24nLCAxLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J09wdGlvbmFsIGZvcmVpZ24ga2V5IGludG8gdGhlIEljb24gVGFibGUsIHNwZWNpZnlpbmcgdGhlIGljb24gZmlsZSBhc3NvY2lhdGVkIHdpdGggdGhpcyBQcm9nSWQuIFdpbGwgYmUgd3JpdHRlbiB1bmRlciB0aGUgRGVmYXVsdEljb24ga2V5LicpLAotKHUnUHJvZ0lkJywgdSdJY29uSW5kZXgnLCB1J1knLCAtMzI3NjcsIDMyNzY3LCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J09wdGlvbmFsIGljb24gaW5kZXguJyksCi0odSdQcm9nSWQnLCB1J1Byb2dJZCcsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGV4dCcsIE5vbmUsIHUnVGhlIFByb2dyYW0gSWRlbnRpZmllci4gUHJpbWFyeSBrZXkuJyksCi0odSdQcm9nSWQnLCB1J0NsYXNzXycsIHUnWScsIE5vbmUsIE5vbmUsIHUnQ2xhc3MnLCAxLCB1J0d1aWQnLCBOb25lLCB1J1RoZSBDTFNJRCBvZiBhbiBPTEUgZmFjdG9yeSBjb3JyZXNwb25kaW5nIHRvIHRoZSBQcm9nSWQuJyksCi0odSdQcm9nSWQnLCB1J1Byb2dJZF9QYXJlbnQnLCB1J1knLCBOb25lLCBOb25lLCB1J1Byb2dJZCcsIDEsIHUnVGV4dCcsIE5vbmUsIHUnVGhlIFBhcmVudCBQcm9ncmFtIElkZW50aWZpZXIuIElmIHNwZWNpZmllZCwgdGhlIFByb2dJZCBjb2x1bW4gYmVjb21lcyBhIHZlcnNpb24gaW5kZXBlbmRlbnQgcHJvZyBpZC4nKSwKLSh1J0NvbXBMb2NhdG9yJywgdSdUeXBlJywgdSdZJywgMCwgMSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdBIGJvb2xlYW4gdmFsdWUgdGhhdCBkZXRlcm1pbmVzIGlmIHRoZSByZWdpc3RyeSB2YWx1ZSBpcyBhIGZpbGVuYW1lIG9yIGEgZGlyZWN0b3J5IGxvY2F0aW9uLicpLAotKHUnQ29tcExvY2F0b3InLCB1J1NpZ25hdHVyZV8nLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J1RoZSB0YWJsZSBrZXkuIFRoZSBTaWduYXR1cmVfIHJlcHJlc2VudHMgYSB1bmlxdWUgZmlsZSBzaWduYXR1cmUgYW5kIGlzIGFsc28gdGhlIGZvcmVpZ24ga2V5IGluIHRoZSBTaWduYXR1cmUgdGFibGUuJyksCi0odSdDb21wTG9jYXRvcicsIHUnQ29tcG9uZW50SWQnLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0d1aWQnLCBOb25lLCB1J0Egc3RyaW5nIEdVSUQgdW5pcXVlIHRvIHRoaXMgY29tcG9uZW50LCB2ZXJzaW9uLCBhbmQgbGFuZ3VhZ2UuJyksCi0odSdDb21wbHVzJywgdSdDb21wb25lbnRfJywgdSdOJywgTm9uZSwgTm9uZSwgdSdDb21wb25lbnQnLCAxLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J0ZvcmVpZ24ga2V5IHJlZmVyZW5jaW5nIENvbXBvbmVudCB0aGF0IGNvbnRyb2xzIHRoZSBDb21QbHVzIGNvbXBvbmVudC4nKSwKLSh1J0NvbXBsdXMnLCB1J0V4cFR5cGUnLCB1J1knLCAwLCAzMjc2NywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdDb21QbHVzIGNvbXBvbmVudCBhdHRyaWJ1dGVzLicpLAotKHUnRGlyZWN0b3J5JywgdSdEaXJlY3RvcnknLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J1VuaXF1ZSBpZGVudGlmaWVyIGZvciBkaXJlY3RvcnkgZW50cnksIHByaW1hcnkga2V5LiBJZiBhIHByb3BlcnR5IGJ5IHRoaXMgbmFtZSBpcyBkZWZpbmVkLCBpdCBjb250YWlucyB0aGUgZnVsbCBwYXRoIHRvIHRoZSBkaXJlY3RvcnkuJyksCi0odSdEaXJlY3RvcnknLCB1J0RlZmF1bHREaXInLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0RlZmF1bHREaXInLCBOb25lLCB1IlRoZSBkZWZhdWx0IHN1Yi1wYXRoIHVuZGVyIHBhcmVudCdzIHBhdGguIiksCi0odSdEaXJlY3RvcnknLCB1J0RpcmVjdG9yeV9QYXJlbnQnLCB1J1knLCBOb25lLCBOb25lLCB1J0RpcmVjdG9yeScsIDEsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnUmVmZXJlbmNlIHRvIHRoZSBlbnRyeSBpbiB0aGlzIHRhYmxlIHNwZWNpZnlpbmcgdGhlIGRlZmF1bHQgcGFyZW50IGRpcmVjdG9yeS4gQSByZWNvcmQgcGFyZW50ZWQgdG8gaXRzZWxmIG9yIHdpdGggYSBOdWxsIHBhcmVudCByZXByZXNlbnRzIGEgcm9vdCBvZiB0aGUgaW5zdGFsbCB0cmVlLicpLAotKHUnQ3JlYXRlRm9sZGVyJywgdSdDb21wb25lbnRfJywgdSdOJywgTm9uZSwgTm9uZSwgdSdDb21wb25lbnQnLCAxLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J0ZvcmVpZ24ga2V5IGludG8gdGhlIENvbXBvbmVudCB0YWJsZS4nKSwKLSh1J0NyZWF0ZUZvbGRlcicsIHUnRGlyZWN0b3J5XycsIHUnTicsIE5vbmUsIE5vbmUsIHUnRGlyZWN0b3J5JywgMSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdQcmltYXJ5IGtleSwgY291bGQgYmUgZm9yZWlnbiBrZXkgaW50byB0aGUgRGlyZWN0b3J5IHRhYmxlLicpLAotKHUnQ3VzdG9tQWN0aW9uJywgdSdUeXBlJywgdSdOJywgMSwgMTYzODMsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGhlIG51bWVyaWMgY3VzdG9tIGFjdGlvbiB0eXBlLCBjb25zaXN0aW5nIG9mIHNvdXJjZSBsb2NhdGlvbiwgY29kZSB0eXBlLCBlbnRyeSwgb3B0aW9uIGZsYWdzLicpLAotKHUnQ3VzdG9tQWN0aW9uJywgdSdBY3Rpb24nLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J1ByaW1hcnkga2V5LCBuYW1lIG9mIGFjdGlvbiwgbm9ybWFsbHkgYXBwZWFycyBpbiBzZXF1ZW5jZSB0YWJsZSB1bmxlc3MgcHJpdmF0ZSB1c2UuJyksCi0odSdDdXN0b21BY3Rpb24nLCB1J1NvdXJjZScsIHUnWScsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnQ3VzdG9tU291cmNlJywgTm9uZSwgdSdUaGUgdGFibGUgcmVmZXJlbmNlIG9mIHRoZSBzb3VyY2Ugb2YgdGhlIGNvZGUuJyksCi0odSdDdXN0b21BY3Rpb24nLCB1J1RhcmdldCcsIHUnWScsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRm9ybWF0dGVkJywgTm9uZSwgdSdFeGNlY3V0aW9uIHBhcmFtZXRlciwgZGVwZW5kcyBvbiB0aGUgdHlwZSBvZiBjdXN0b20gYWN0aW9uJyksCi0odSdEckxvY2F0b3InLCB1J1NpZ25hdHVyZV8nLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J1RoZSBTaWduYXR1cmVfIHJlcHJlc2VudHMgYSB1bmlxdWUgZmlsZSBzaWduYXR1cmUgYW5kIGlzIGFsc28gdGhlIGZvcmVpZ24ga2V5IGluIHRoZSBTaWduYXR1cmUgdGFibGUuJyksCi0odSdEckxvY2F0b3InLCB1J1BhdGgnLCB1J1knLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0FueVBhdGgnLCBOb25lLCB1J1RoZSBwYXRoIG9uIHRoZSB1c2VyIHN5c3RlbS4gVGhpcyBpcyBhIGVpdGhlciBhIHN1YnBhdGggYmVsb3cgdGhlIHZhbHVlIG9mIHRoZSBQYXJlbnQgb3IgYSBmdWxsIHBhdGguIFRoZSBwYXRoIG1heSBjb250YWluIHByb3BlcnRpZXMgZW5jbG9zZWQgd2l0aGluIFsgXSB0aGF0IHdpbGwgYmUgZXhwYW5kZWQuJyksCi0odSdEckxvY2F0b3InLCB1J0RlcHRoJywgdSdZJywgMCwgMzI3NjcsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGhlIGRlcHRoIGJlbG93IHRoZSBwYXRoIHRvIHdoaWNoIHRoZSBTaWduYXR1cmVfIGlzIHJlY3Vyc2l2ZWx5IHNlYXJjaGVkLiBJZiBhYnNlbnQsIHRoZSBkZXB0aCBpcyBhc3N1bWVkIHRvIGJlIDAuJyksCi0odSdEckxvY2F0b3InLCB1J1BhcmVudCcsIHUnWScsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnVGhlIHBhcmVudCBmaWxlIHNpZ25hdHVyZS4gSXQgaXMgYWxzbyBhIGZvcmVpZ24ga2V5IGluIHRoZSBTaWduYXR1cmUgdGFibGUuIElmIG51bGwgYW5kIHRoZSBQYXRoIGNvbHVtbiBkb2VzIG5vdCBleHBhbmQgdG8gYSBmdWxsIHBhdGgsIHRoZW4gYWxsIHRoZSBmaXhlZCBkcml2ZXMgb2YgdGhlIHVzZXIgc3lzdGVtIGFyZSBzZWFyY2hlZCB1c2luZyB0aGUgUGF0aC4nKSwKLSh1J0R1cGxpY2F0ZUZpbGUnLCB1J0ZpbGVfJywgdSdOJywgTm9uZSwgTm9uZSwgdSdGaWxlJywgMSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdGb3JlaWduIGtleSByZWZlcmVuY2luZyB0aGUgc291cmNlIGZpbGUgdG8gYmUgZHVwbGljYXRlZC4nKSwKLSh1J0R1cGxpY2F0ZUZpbGUnLCB1J0NvbXBvbmVudF8nLCB1J04nLCBOb25lLCBOb25lLCB1J0NvbXBvbmVudCcsIDEsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnRm9yZWlnbiBrZXkgcmVmZXJlbmNpbmcgQ29tcG9uZW50IHRoYXQgY29udHJvbHMgdGhlIGR1cGxpY2F0ZSBmaWxlLicpLAotKHUnRHVwbGljYXRlRmlsZScsIHUnRGVzdEZvbGRlcicsIHUnWScsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnTmFtZSBvZiBhIHByb3BlcnR5IHdob3NlIHZhbHVlIGlzIGFzc3VtZWQgdG8gcmVzb2x2ZSB0byB0aGUgZnVsbCBwYXRobmFtZSB0byBhIGRlc3RpbmF0aW9uIGZvbGRlci4nKSwKLSh1J0R1cGxpY2F0ZUZpbGUnLCB1J0Rlc3ROYW1lJywgdSdZJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdGaWxlbmFtZScsIE5vbmUsIHUnRmlsZW5hbWUgdG8gYmUgZ2l2ZW4gdG8gdGhlIGR1cGxpY2F0ZSBmaWxlLicpLAotKHUnRHVwbGljYXRlRmlsZScsIHUnRmlsZUtleScsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnUHJpbWFyeSBrZXkgdXNlZCB0byBpZGVudGlmeSBhIHBhcnRpY3VsYXIgZmlsZSBlbnRyeScpLAotKHUnRW52aXJvbm1lbnQnLCB1J05hbWUnLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RleHQnLCBOb25lLCB1J1RoZSBuYW1lIG9mIHRoZSBlbnZpcm9ubWVudGFsIHZhbHVlLicpLAotKHUnRW52aXJvbm1lbnQnLCB1J1ZhbHVlJywgdSdZJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdGb3JtYXR0ZWQnLCBOb25lLCB1J1RoZSB2YWx1ZSB0byBzZXQgaW4gdGhlIGVudmlyb25tZW50YWwgc2V0dGluZ3MuJyksCi0odSdFbnZpcm9ubWVudCcsIHUnQ29tcG9uZW50XycsIHUnTicsIE5vbmUsIE5vbmUsIHUnQ29tcG9uZW50JywgMSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdGb3JlaWduIGtleSBpbnRvIHRoZSBDb21wb25lbnQgdGFibGUgcmVmZXJlbmNpbmcgY29tcG9uZW50IHRoYXQgY29udHJvbHMgdGhlIGluc3RhbGxpbmcgb2YgdGhlIGVudmlyb25tZW50YWwgdmFsdWUuJyksCi0odSdFbnZpcm9ubWVudCcsIHUnRW52aXJvbm1lbnQnLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J1VuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgZW52aXJvbm1lbnRhbCB2YXJpYWJsZSBzZXR0aW5nJyksCi0odSdFcnJvcicsIHUnRXJyb3InLCB1J04nLCAwLCAzMjc2NywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJbnRlZ2VyIGVycm9yIG51bWJlciwgb2J0YWluZWQgZnJvbSBoZWFkZXIgZmlsZSBJRXJyb3IoLi4uKSBtYWNyb3MuJyksCi0odSdFcnJvcicsIHUnTWVzc2FnZScsIHUnWScsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGVtcGxhdGUnLCBOb25lLCB1J0Vycm9yIGZvcm1hdHRpbmcgdGVtcGxhdGUsIG9idGFpbmVkIGZyb20gdXNlciBlZC4gb3IgbG9jYWxpemVycy4nKSwKLSh1J0V4dGVuc2lvbicsIHUnRmVhdHVyZV8nLCB1J04nLCBOb25lLCBOb25lLCB1J0ZlYXR1cmUnLCAxLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J1JlcXVpcmVkIGZvcmVpZ24ga2V5IGludG8gdGhlIEZlYXR1cmUgVGFibGUsIHNwZWNpZnlpbmcgdGhlIGZlYXR1cmUgdG8gdmFsaWRhdGUgb3IgaW5zdGFsbCBpbiBvcmRlciBmb3IgdGhlIENMU0lEIGZhY3RvcnkgdG8gYmUgb3BlcmF0aW9uYWwuJyksCi0odSdFeHRlbnNpb24nLCB1J0NvbXBvbmVudF8nLCB1J04nLCBOb25lLCBOb25lLCB1J0NvbXBvbmVudCcsIDEsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnUmVxdWlyZWQgZm9yZWlnbiBrZXkgaW50byB0aGUgQ29tcG9uZW50IFRhYmxlLCBzcGVjaWZ5aW5nIHRoZSBjb21wb25lbnQgZm9yIHdoaWNoIHRvIHJldHVybiBhIHBhdGggd2hlbiBjYWxsZWQgdGhyb3VnaCBMb2NhdGVDb21wb25lbnQuJyksCi0odSdFeHRlbnNpb24nLCB1J0V4dGVuc2lvbicsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGV4dCcsIE5vbmUsIHUnVGhlIGV4dGVuc2lvbiBhc3NvY2lhdGVkIHdpdGggdGhlIHRhYmxlIHJvdy4nKSwKLSh1J0V4dGVuc2lvbicsIHUnTUlNRV8nLCB1J1knLCBOb25lLCBOb25lLCB1J01JTUUnLCAxLCB1J1RleHQnLCBOb25lLCB1J09wdGlvbmFsIENvbnRleHQgaWRlbnRpZmllciwgdHlwaWNhbGx5ICJ0eXBlL2Zvcm1hdCIgYXNzb2NpYXRlZCB3aXRoIHRoZSBleHRlbnNpb24nKSwKLSh1J0V4dGVuc2lvbicsIHUnUHJvZ0lkXycsIHUnWScsIE5vbmUsIE5vbmUsIHUnUHJvZ0lkJywgMSwgdSdUZXh0JywgTm9uZSwgdSdPcHRpb25hbCBQcm9nSWQgYXNzb2NpYXRlZCB3aXRoIHRoaXMgZXh0ZW5zaW9uLicpLAotKHUnTUlNRScsIHUnQ0xTSUQnLCB1J1knLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0d1aWQnLCBOb25lLCB1J09wdGlvbmFsIGFzc29jaWF0ZWQgQ0xTSUQuJyksCi0odSdNSU1FJywgdSdDb250ZW50VHlwZScsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGV4dCcsIE5vbmUsIHUnUHJpbWFyeSBrZXkuIENvbnRleHQgaWRlbnRpZmllciwgdHlwaWNhbGx5ICJ0eXBlL2Zvcm1hdCIuJyksCi0odSdNSU1FJywgdSdFeHRlbnNpb25fJywgdSdOJywgTm9uZSwgTm9uZSwgdSdFeHRlbnNpb24nLCAxLCB1J1RleHQnLCBOb25lLCB1J09wdGlvbmFsIGFzc29jaWF0ZWQgZXh0ZW5zaW9uICh3aXRob3V0IGRvdCknKSwKLSh1J0ZlYXR1cmVDb21wb25lbnRzJywgdSdGZWF0dXJlXycsIHUnTicsIE5vbmUsIE5vbmUsIHUnRmVhdHVyZScsIDEsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnRm9yZWlnbiBrZXkgaW50byBGZWF0dXJlIHRhYmxlLicpLAotKHUnRmVhdHVyZUNvbXBvbmVudHMnLCB1J0NvbXBvbmVudF8nLCB1J04nLCBOb25lLCBOb25lLCB1J0NvbXBvbmVudCcsIDEsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnRm9yZWlnbiBrZXkgaW50byBDb21wb25lbnQgdGFibGUuJyksCi0odSdGaWxlU0ZQQ2F0YWxvZycsIHUnRmlsZV8nLCB1J04nLCBOb25lLCBOb25lLCB1J0ZpbGUnLCAxLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J0ZpbGUgYXNzb2NpYXRlZCB3aXRoIHRoZSBjYXRhbG9nJyksCi0odSdGaWxlU0ZQQ2F0YWxvZycsIHUnU0ZQQ2F0YWxvZ18nLCB1J04nLCBOb25lLCBOb25lLCB1J1NGUENhdGFsb2cnLCAxLCB1J0ZpbGVuYW1lJywgTm9uZSwgdSdDYXRhbG9nIGFzc29jaWF0ZWQgd2l0aCB0aGUgZmlsZScpLAotKHUnU0ZQQ2F0YWxvZycsIHUnU0ZQQ2F0YWxvZycsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRmlsZW5hbWUnLCBOb25lLCB1J0ZpbGUgbmFtZSBmb3IgdGhlIGNhdGFsb2cuJyksCi0odSdTRlBDYXRhbG9nJywgdSdDYXRhbG9nJywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdCaW5hcnknLCBOb25lLCB1J1NGUCBDYXRhbG9nJyksCi0odSdTRlBDYXRhbG9nJywgdSdEZXBlbmRlbmN5JywgdSdZJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdGb3JtYXR0ZWQnLCBOb25lLCB1J1BhcmVudCBjYXRhbG9nIC0gb25seSB1c2VkIGJ5IFNGUCcpLAotKHUnRm9udCcsIHUnRmlsZV8nLCB1J04nLCBOb25lLCBOb25lLCB1J0ZpbGUnLCAxLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J1ByaW1hcnkga2V5LCBmb3JlaWduIGtleSBpbnRvIEZpbGUgdGFibGUgcmVmZXJlbmNpbmcgZm9udCBmaWxlLicpLAotKHUnRm9udCcsIHUnRm9udFRpdGxlJywgdSdZJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUZXh0JywgTm9uZSwgdSdGb250IG5hbWUuJyksCi0odSdJbmlGaWxlJywgdSdBY3Rpb24nLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1JzA7MTszJywgdSdUaGUgdHlwZSBvZiBtb2RpZmljYXRpb24gdG8gYmUgbWFkZSwgb25lIG9mIGlpZkVudW0nKSwKLSh1J0luaUZpbGUnLCB1J1ZhbHVlJywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdGb3JtYXR0ZWQnLCBOb25lLCB1J1RoZSB2YWx1ZSB0byBiZSB3cml0dGVuLicpLAotKHUnSW5pRmlsZScsIHUnS2V5JywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdGb3JtYXR0ZWQnLCBOb25lLCB1J1RoZSAuSU5JIGZpbGUga2V5IGJlbG93IFNlY3Rpb24uJyksCi0odSdJbmlGaWxlJywgdSdDb21wb25lbnRfJywgdSdOJywgTm9uZSwgTm9uZSwgdSdDb21wb25lbnQnLCAxLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J0ZvcmVpZ24ga2V5IGludG8gdGhlIENvbXBvbmVudCB0YWJsZSByZWZlcmVuY2luZyBjb21wb25lbnQgdGhhdCBjb250cm9scyB0aGUgaW5zdGFsbGluZyBvZiB0aGUgLklOSSB2YWx1ZS4nKSwKLSh1J0luaUZpbGUnLCB1J0ZpbGVOYW1lJywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdGaWxlbmFtZScsIE5vbmUsIHUnVGhlIC5JTkkgZmlsZSBuYW1lIGluIHdoaWNoIHRvIHdyaXRlIHRoZSBpbmZvcm1hdGlvbicpLAotKHUnSW5pRmlsZScsIHUnSW5pRmlsZScsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnUHJpbWFyeSBrZXksIG5vbi1sb2NhbGl6ZWQgdG9rZW4uJyksCi0odSdJbmlGaWxlJywgdSdEaXJQcm9wZXJ0eScsIHUnWScsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnRm9yZWlnbiBrZXkgaW50byB0aGUgRGlyZWN0b3J5IHRhYmxlIGRlbm90aW5nIHRoZSBkaXJlY3Rvcnkgd2hlcmUgdGhlIC5JTkkgZmlsZSBpcy4nKSwKLSh1J0luaUZpbGUnLCB1J1NlY3Rpb24nLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0Zvcm1hdHRlZCcsIE5vbmUsIHUnVGhlIC5JTkkgZmlsZSBTZWN0aW9uLicpLAotKHUnSW5pTG9jYXRvcicsIHUnVHlwZScsIHUnWScsIDAsIDIsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnQW4gaW50ZWdlciB2YWx1ZSB0aGF0IGRldGVybWluZXMgaWYgdGhlIC5JTkkgdmFsdWUgcmVhZCBpcyBhIGZpbGVuYW1lIG9yIGEgZGlyZWN0b3J5IGxvY2F0aW9uIG9yIHRvIGJlIHVzZWQgYXMgaXMgdy9vIGludGVycHJldGF0aW9uLicpLAotKHUnSW5pTG9jYXRvcicsIHUnS2V5JywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUZXh0JywgTm9uZSwgdSdLZXkgdmFsdWUgKGZvbGxvd2VkIGJ5IGFuIGVxdWFscyBzaWduIGluIElOSSBmaWxlKS4nKSwKLSh1J0luaUxvY2F0b3InLCB1J1NpZ25hdHVyZV8nLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J1RoZSB0YWJsZSBrZXkuIFRoZSBTaWduYXR1cmVfIHJlcHJlc2VudHMgYSB1bmlxdWUgZmlsZSBzaWduYXR1cmUgYW5kIGlzIGFsc28gdGhlIGZvcmVpZ24ga2V5IGluIHRoZSBTaWduYXR1cmUgdGFibGUuJyksCi0odSdJbmlMb2NhdG9yJywgdSdGaWxlTmFtZScsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRmlsZW5hbWUnLCBOb25lLCB1J1RoZSAuSU5JIGZpbGUgbmFtZS4nKSwKLSh1J0luaUxvY2F0b3InLCB1J1NlY3Rpb24nLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RleHQnLCBOb25lLCB1J1NlY3Rpb24gbmFtZSB3aXRoaW4gaW4gZmlsZSAod2l0aGluIHNxdWFyZSBicmFja2V0cyBpbiBJTkkgZmlsZSkuJyksCi0odSdJbmlMb2NhdG9yJywgdSdGaWVsZCcsIHUnWScsIDAsIDMyNzY3LCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RoZSBmaWVsZCBpbiB0aGUgLklOSSBsaW5lLiBJZiBGaWVsZCBpcyBudWxsIG9yIDAgdGhlIGVudGlyZSBsaW5lIGlzIHJlYWQuJyksCi0odSdJc29sYXRlZENvbXBvbmVudCcsIHUnQ29tcG9uZW50X0FwcGxpY2F0aW9uJywgdSdOJywgTm9uZSwgTm9uZSwgdSdDb21wb25lbnQnLCAxLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J0tleSB0byBDb21wb25lbnQgdGFibGUgaXRlbSBmb3IgYXBwbGljYXRpb24nKSwKLSh1J0lzb2xhdGVkQ29tcG9uZW50JywgdSdDb21wb25lbnRfU2hhcmVkJywgdSdOJywgTm9uZSwgTm9uZSwgdSdDb21wb25lbnQnLCAxLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J0tleSB0byBDb21wb25lbnQgdGFibGUgaXRlbSB0byBiZSBpc29sYXRlZCcpLAotKHUnTGF1bmNoQ29uZGl0aW9uJywgdSdDb25kaXRpb24nLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0NvbmRpdGlvbicsIE5vbmUsIHUnRXhwcmVzc2lvbiB3aGljaCBtdXN0IGV2YWx1YXRlIHRvIFRSVUUgaW4gb3JkZXIgZm9yIGluc3RhbGwgdG8gY29tbWVuY2UuJyksCi0odSdMYXVuY2hDb25kaXRpb24nLCB1J0Rlc2NyaXB0aW9uJywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdGb3JtYXR0ZWQnLCBOb25lLCB1J0xvY2FsaXphYmxlIHRleHQgdG8gZGlzcGxheSB3aGVuIGNvbmRpdGlvbiBmYWlscyBhbmQgaW5zdGFsbCBtdXN0IGFib3J0LicpLAotKHUnTG9ja1Blcm1pc3Npb25zJywgdSdUYWJsZScsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsIHUnRGlyZWN0b3J5O0ZpbGU7UmVnaXN0cnknLCB1J1JlZmVyZW5jZSB0byBhbm90aGVyIHRhYmxlIG5hbWUnKSwKLSh1J0xvY2tQZXJtaXNzaW9ucycsIHUnRG9tYWluJywgdSdZJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdGb3JtYXR0ZWQnLCBOb25lLCB1J0RvbWFpbiBuYW1lIGZvciB1c2VyIHdob3NlIHBlcm1pc3Npb25zIGFyZSBiZWluZyBzZXQuICh1c3VhbGx5IGEgcHJvcGVydHkpJyksCi0odSdMb2NrUGVybWlzc2lvbnMnLCB1J0xvY2tPYmplY3QnLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J0ZvcmVpZ24ga2V5IGludG8gUmVnaXN0cnkgb3IgRmlsZSB0YWJsZScpLAotKHUnTG9ja1Blcm1pc3Npb25zJywgdSdQZXJtaXNzaW9uJywgdSdZJywgLTIxNDc0ODM2NDcsIDIxNDc0ODM2NDcsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnUGVybWlzc2lvbiBBY2Nlc3MgbWFzay4gIEZ1bGwgQ29udHJvbCA9IDI2ODQzNTQ1NiAoR0VORVJJQ19BTEwgPSAweDEwMDAwMDAwKScpLAotKHUnTG9ja1Blcm1pc3Npb25zJywgdSdVc2VyJywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdGb3JtYXR0ZWQnLCBOb25lLCB1J1VzZXIgZm9yIHBlcm1pc3Npb25zIHRvIGJlIHNldC4gICh1c3VhbGx5IGEgcHJvcGVydHkpJyksCi0odSdNZWRpYScsIHUnU291cmNlJywgdSdZJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdQcm9wZXJ0eScsIE5vbmUsIHUnVGhlIHByb3BlcnR5IGRlZmluaW5nIHRoZSBsb2NhdGlvbiBvZiB0aGUgY2FiaW5ldCBmaWxlLicpLAotKHUnTWVkaWEnLCB1J0NhYmluZXQnLCB1J1knLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0NhYmluZXQnLCBOb25lLCB1J0lmIHNvbWUgb3IgYWxsIG9mIHRoZSBmaWxlcyBzdG9yZWQgb24gdGhlIG1lZGlhIGFyZSBjb21wcmVzc2VkIGluIGEgY2FiaW5ldCwgdGhlIG5hbWUgb2YgdGhhdCBjYWJpbmV0LicpLAotKHUnTWVkaWEnLCB1J0Rpc2tJZCcsIHUnTicsIDEsIDMyNzY3LCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1ByaW1hcnkga2V5LCBpbnRlZ2VyIHRvIGRldGVybWluZSBzb3J0IG9yZGVyIGZvciB0YWJsZS4nKSwKLSh1J01lZGlhJywgdSdEaXNrUHJvbXB0JywgdSdZJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUZXh0JywgTm9uZSwgdSdEaXNrIG5hbWU6IHRoZSB2aXNpYmxlIHRleHQgYWN0dWFsbHkgcHJpbnRlZCBvbiB0aGUgZGlzay4gIFRoaXMgd2lsbCBiZSB1c2VkIHRvIHByb21wdCB0aGUgdXNlciB3aGVuIHRoaXMgZGlzayBuZWVkcyB0byBiZSBpbnNlcnRlZC4nKSwKLSh1J01lZGlhJywgdSdMYXN0U2VxdWVuY2UnLCB1J04nLCAwLCAzMjc2NywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdGaWxlIHNlcXVlbmNlIG51bWJlciBmb3IgdGhlIGxhc3QgZmlsZSBmb3IgdGhpcyBtZWRpYS4nKSwKLSh1J01lZGlhJywgdSdWb2x1bWVMYWJlbCcsIHUnWScsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGV4dCcsIE5vbmUsIHUnVGhlIGxhYmVsIGF0dHJpYnV0ZWQgdG8gdGhlIHZvbHVtZS4nKSwKLSh1J01vZHVsZUNvbXBvbmVudHMnLCB1J0NvbXBvbmVudCcsIHUnTicsIE5vbmUsIE5vbmUsIHUnQ29tcG9uZW50JywgMSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdDb21wb25lbnQgY29udGFpbmVkIGluIHRoZSBtb2R1bGUuJyksCi0odSdNb2R1bGVDb21wb25lbnRzJywgdSdMYW5ndWFnZScsIHUnTicsIE5vbmUsIE5vbmUsIHUnTW9kdWxlU2lnbmF0dXJlJywgMiwgTm9uZSwgTm9uZSwgdSdEZWZhdWx0IGxhbmd1YWdlIElEIGZvciBtb2R1bGUgKG1heSBiZSBjaGFuZ2VkIGJ5IHRyYW5zZm9ybSkuJyksCi0odSdNb2R1bGVDb21wb25lbnRzJywgdSdNb2R1bGVJRCcsIHUnTicsIE5vbmUsIE5vbmUsIHUnTW9kdWxlU2lnbmF0dXJlJywgMSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdNb2R1bGUgY29udGFpbmluZyB0aGUgY29tcG9uZW50LicpLAotKHUnTW9kdWxlU2lnbmF0dXJlJywgdSdMYW5ndWFnZScsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRGVmYXVsdCBkZWNpbWFsIGxhbmd1YWdlIG9mIG1vZHVsZS4nKSwKLSh1J01vZHVsZVNpZ25hdHVyZScsIHUnVmVyc2lvbicsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVmVyc2lvbicsIE5vbmUsIHUnVmVyc2lvbiBvZiB0aGUgbW9kdWxlLicpLAotKHUnTW9kdWxlU2lnbmF0dXJlJywgdSdNb2R1bGVJRCcsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnTW9kdWxlIGlkZW50aWZpZXIgKFN0cmluZy5HVUlEKS4nKSwKLSh1J01vZHVsZURlcGVuZGVuY3knLCB1J01vZHVsZUlEJywgdSdOJywgTm9uZSwgTm9uZSwgdSdNb2R1bGVTaWduYXR1cmUnLCAxLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J01vZHVsZSByZXF1aXJpbmcgdGhlIGRlcGVuZGVuY3kuJyksCi0odSdNb2R1bGVEZXBlbmRlbmN5JywgdSdNb2R1bGVMYW5ndWFnZScsIHUnTicsIE5vbmUsIE5vbmUsIHUnTW9kdWxlU2lnbmF0dXJlJywgMiwgTm9uZSwgTm9uZSwgdSdMYW5ndWFnZSBvZiBtb2R1bGUgcmVxdWlyaW5nIHRoZSBkZXBlbmRlbmN5LicpLAotKHUnTW9kdWxlRGVwZW5kZW5jeScsIHUnUmVxdWlyZWRJRCcsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnU3RyaW5nLkdVSUQgb2YgcmVxdWlyZWQgbW9kdWxlLicpLAotKHUnTW9kdWxlRGVwZW5kZW5jeScsIHUnUmVxdWlyZWRMYW5ndWFnZScsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnTGFuZ3VhZ2VJRCBvZiB0aGUgcmVxdWlyZWQgbW9kdWxlLicpLAotKHUnTW9kdWxlRGVwZW5kZW5jeScsIHUnUmVxdWlyZWRWZXJzaW9uJywgdSdZJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdWZXJzaW9uJywgTm9uZSwgdSdWZXJzaW9uIG9mIHRoZSByZXF1aXJlZCB2ZXJzaW9uLicpLAotKHUnTW9kdWxlRXhjbHVzaW9uJywgdSdNb2R1bGVJRCcsIHUnTicsIE5vbmUsIE5vbmUsIHUnTW9kdWxlU2lnbmF0dXJlJywgMSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdTdHJpbmcuR1VJRCBvZiBtb2R1bGUgd2l0aCBleGNsdXNpb24gcmVxdWlyZW1lbnQuJyksCi0odSdNb2R1bGVFeGNsdXNpb24nLCB1J01vZHVsZUxhbmd1YWdlJywgdSdOJywgTm9uZSwgTm9uZSwgdSdNb2R1bGVTaWduYXR1cmUnLCAyLCBOb25lLCBOb25lLCB1J0xhbmd1YWdlSUQgb2YgbW9kdWxlIHdpdGggZXhjbHVzaW9uIHJlcXVpcmVtZW50LicpLAotKHUnTW9kdWxlRXhjbHVzaW9uJywgdSdFeGNsdWRlZElEJywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdTdHJpbmcuR1VJRCBvZiBleGNsdWRlZCBtb2R1bGUuJyksCi0odSdNb2R1bGVFeGNsdXNpb24nLCB1J0V4Y2x1ZGVkTGFuZ3VhZ2UnLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0xhbmd1YWdlIG9mIGV4Y2x1ZGVkIG1vZHVsZS4nKSwKLSh1J01vZHVsZUV4Y2x1c2lvbicsIHUnRXhjbHVkZWRNYXhWZXJzaW9uJywgdSdZJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdWZXJzaW9uJywgTm9uZSwgdSdNYXhpbXVtIHZlcnNpb24gb2YgZXhjbHVkZWQgbW9kdWxlLicpLAotKHUnTW9kdWxlRXhjbHVzaW9uJywgdSdFeGNsdWRlZE1pblZlcnNpb24nLCB1J1knLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1ZlcnNpb24nLCBOb25lLCB1J01pbmltdW0gdmVyc2lvbiBvZiBleGNsdWRlZCBtb2R1bGUuJyksCi0odSdNb3ZlRmlsZScsIHUnQ29tcG9uZW50XycsIHUnTicsIE5vbmUsIE5vbmUsIHUnQ29tcG9uZW50JywgMSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdJZiB0aGlzIGNvbXBvbmVudCBpcyBub3QgInNlbGVjdGVkIiBmb3IgaW5zdGFsbGF0aW9uIG9yIHJlbW92YWwsIG5vIGFjdGlvbiB3aWxsIGJlIHRha2VuIG9uIHRoZSBhc3NvY2lhdGVkIE1vdmVGaWxlIGVudHJ5JyksCi0odSdNb3ZlRmlsZScsIHUnRGVzdEZvbGRlcicsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnTmFtZSBvZiBhIHByb3BlcnR5IHdob3NlIHZhbHVlIGlzIGFzc3VtZWQgdG8gcmVzb2x2ZSB0byB0aGUgZnVsbCBwYXRoIHRvIHRoZSBkZXN0aW5hdGlvbiBkaXJlY3RvcnknKSwKLSh1J01vdmVGaWxlJywgdSdEZXN0TmFtZScsIHUnWScsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRmlsZW5hbWUnLCBOb25lLCB1J05hbWUgdG8gYmUgZ2l2ZW4gdG8gdGhlIG9yaWdpbmFsIGZpbGUgYWZ0ZXIgaXQgaXMgbW92ZWQgb3IgY29waWVkLiAgSWYgYmxhbmssIHRoZSBkZXN0aW5hdGlvbiBmaWxlIHdpbGwgYmUgZ2l2ZW4gdGhlIHNhbWUgbmFtZSBhcyB0aGUgc291cmNlIGZpbGUnKSwKLSh1J01vdmVGaWxlJywgdSdGaWxlS2V5JywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdQcmltYXJ5IGtleSB0aGF0IHVuaXF1ZWx5IGlkZW50aWZpZXMgYSBwYXJ0aWN1bGFyIE1vdmVGaWxlIHJlY29yZCcpLAotKHUnTW92ZUZpbGUnLCB1J09wdGlvbnMnLCB1J04nLCAwLCAxLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0ludGVnZXIgdmFsdWUgc3BlY2lmeWluZyB0aGUgTW92ZUZpbGUgb3BlcmF0aW5nIG1vZGUsIG9uZSBvZiBpbWZvRW51bScpLAotKHUnTW92ZUZpbGUnLCB1J1NvdXJjZUZvbGRlcicsIHUnWScsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnTmFtZSBvZiBhIHByb3BlcnR5IHdob3NlIHZhbHVlIGlzIGFzc3VtZWQgdG8gcmVzb2x2ZSB0byB0aGUgZnVsbCBwYXRoIHRvIHRoZSBzb3VyY2UgZGlyZWN0b3J5JyksCi0odSdNb3ZlRmlsZScsIHUnU291cmNlTmFtZScsIHUnWScsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGV4dCcsIE5vbmUsIHUiTmFtZSBvZiB0aGUgc291cmNlIGZpbGUocykgdG8gYmUgbW92ZWQgb3IgY29waWVkLiAgQ2FuIGNvbnRhaW4gdGhlICcqJyBvciAnPycgd2lsZGNhcmRzLiIpLAotKHUnTXNpQXNzZW1ibHknLCB1J0F0dHJpYnV0ZXMnLCB1J1knLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0Fzc2VtYmx5IGF0dHJpYnV0ZXMnKSwKLSh1J01zaUFzc2VtYmx5JywgdSdGZWF0dXJlXycsIHUnTicsIE5vbmUsIE5vbmUsIHUnRmVhdHVyZScsIDEsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnRm9yZWlnbiBrZXkgaW50byBGZWF0dXJlIHRhYmxlLicpLAotKHUnTXNpQXNzZW1ibHknLCB1J0NvbXBvbmVudF8nLCB1J04nLCBOb25lLCBOb25lLCB1J0NvbXBvbmVudCcsIDEsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnRm9yZWlnbiBrZXkgaW50byBDb21wb25lbnQgdGFibGUuJyksCi0odSdNc2lBc3NlbWJseScsIHUnRmlsZV9BcHBsaWNhdGlvbicsIHUnWScsIE5vbmUsIE5vbmUsIHUnRmlsZScsIDEsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnRm9yZWlnbiBrZXkgaW50byBGaWxlIHRhYmxlLCBkZW5vdGluZyB0aGUgYXBwbGljYXRpb24gY29udGV4dCBmb3IgcHJpdmF0ZSBhc3NlbWJsaWVzLiBOdWxsIGZvciBnbG9iYWwgYXNzZW1ibGllcy4nKSwKLSh1J01zaUFzc2VtYmx5JywgdSdGaWxlX01hbmlmZXN0JywgdSdZJywgTm9uZSwgTm9uZSwgdSdGaWxlJywgMSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdGb3JlaWduIGtleSBpbnRvIHRoZSBGaWxlIHRhYmxlIGRlbm90aW5nIHRoZSBtYW5pZmVzdCBmaWxlIGZvciB0aGUgYXNzZW1ibHkuJyksCi0odSdNc2lBc3NlbWJseU5hbWUnLCB1J05hbWUnLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RleHQnLCBOb25lLCB1J1RoZSBuYW1lIHBhcnQgb2YgdGhlIG5hbWUtdmFsdWUgcGFpcnMgZm9yIHRoZSBhc3NlbWJseSBuYW1lLicpLAotKHUnTXNpQXNzZW1ibHlOYW1lJywgdSdWYWx1ZScsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGV4dCcsIE5vbmUsIHUnVGhlIHZhbHVlIHBhcnQgb2YgdGhlIG5hbWUtdmFsdWUgcGFpcnMgZm9yIHRoZSBhc3NlbWJseSBuYW1lLicpLAotKHUnTXNpQXNzZW1ibHlOYW1lJywgdSdDb21wb25lbnRfJywgdSdOJywgTm9uZSwgTm9uZSwgdSdDb21wb25lbnQnLCAxLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J0ZvcmVpZ24ga2V5IGludG8gQ29tcG9uZW50IHRhYmxlLicpLAotKHUnTXNpRGlnaXRhbENlcnRpZmljYXRlJywgdSdDZXJ0RGF0YScsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnQmluYXJ5JywgTm9uZSwgdSdBIGNlcnRpZmljYXRlIGNvbnRleHQgYmxvYiBmb3IgYSBzaWduZXIgY2VydGlmaWNhdGUnKSwKLSh1J01zaURpZ2l0YWxDZXJ0aWZpY2F0ZScsIHUnRGlnaXRhbENlcnRpZmljYXRlJywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdBIHVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgcm93JyksCi0odSdNc2lEaWdpdGFsU2lnbmF0dXJlJywgdSdUYWJsZScsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnTWVkaWEnLCB1J1JlZmVyZW5jZSB0byBhbm90aGVyIHRhYmxlIG5hbWUgKG9ubHkgTWVkaWEgdGFibGUgaXMgc3VwcG9ydGVkKScpLAotKHUnTXNpRGlnaXRhbFNpZ25hdHVyZScsIHUnRGlnaXRhbENlcnRpZmljYXRlXycsIHUnTicsIE5vbmUsIE5vbmUsIHUnTXNpRGlnaXRhbENlcnRpZmljYXRlJywgMSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdGb3JlaWduIGtleSB0byBNc2lEaWdpdGFsQ2VydGlmaWNhdGUgdGFibGUgaWRlbnRpZnlpbmcgdGhlIHNpZ25lciBjZXJ0aWZpY2F0ZScpLAotKHUnTXNpRGlnaXRhbFNpZ25hdHVyZScsIHUnSGFzaCcsIHUnWScsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnQmluYXJ5JywgTm9uZSwgdSdUaGUgZW5jb2RlZCBoYXNoIGJsb2IgZnJvbSB0aGUgZGlnaXRhbCBzaWduYXR1cmUnKSwKLSh1J01zaURpZ2l0YWxTaWduYXR1cmUnLCB1J1NpZ25PYmplY3QnLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RleHQnLCBOb25lLCB1J0ZvcmVpZ24ga2V5IHRvIE1lZGlhIHRhYmxlJyksCi0odSdNc2lGaWxlSGFzaCcsIHUnRmlsZV8nLCB1J04nLCBOb25lLCBOb25lLCB1J0ZpbGUnLCAxLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J1ByaW1hcnkga2V5LCBmb3JlaWduIGtleSBpbnRvIEZpbGUgdGFibGUgcmVmZXJlbmNpbmcgZmlsZSB3aXRoIHRoaXMgaGFzaCcpLAotKHUnTXNpRmlsZUhhc2gnLCB1J09wdGlvbnMnLCB1J04nLCAwLCAzMjc2NywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdWYXJpb3VzIG9wdGlvbnMgYW5kIGF0dHJpYnV0ZXMgZm9yIHRoaXMgaGFzaC4nKSwKLSh1J01zaUZpbGVIYXNoJywgdSdIYXNoUGFydDEnLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1NpemUgb2YgZmlsZSBpbiBieXRlcyAobG9uZyBpbnRlZ2VyKS4nKSwKLSh1J01zaUZpbGVIYXNoJywgdSdIYXNoUGFydDInLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1NpemUgb2YgZmlsZSBpbiBieXRlcyAobG9uZyBpbnRlZ2VyKS4nKSwKLSh1J01zaUZpbGVIYXNoJywgdSdIYXNoUGFydDMnLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1NpemUgb2YgZmlsZSBpbiBieXRlcyAobG9uZyBpbnRlZ2VyKS4nKSwKLSh1J01zaUZpbGVIYXNoJywgdSdIYXNoUGFydDQnLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1NpemUgb2YgZmlsZSBpbiBieXRlcyAobG9uZyBpbnRlZ2VyKS4nKSwKLSh1J01zaVBhdGNoSGVhZGVycycsIHUnU3RyZWFtUmVmJywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdQcmltYXJ5IGtleS4gQSB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIHJvdy4nKSwKLSh1J01zaVBhdGNoSGVhZGVycycsIHUnSGVhZGVyJywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdCaW5hcnknLCBOb25lLCB1J0JpbmFyeSBzdHJlYW0uIFRoZSBwYXRjaCBoZWFkZXIsIHVzZWQgZm9yIHBhdGNoIHZhbGlkYXRpb24uJyksCi0odSdPREJDQXR0cmlidXRlJywgdSdWYWx1ZScsIHUnWScsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGV4dCcsIE5vbmUsIHUnVmFsdWUgZm9yIE9EQkMgZHJpdmVyIGF0dHJpYnV0ZScpLAotKHUnT0RCQ0F0dHJpYnV0ZScsIHUnQXR0cmlidXRlJywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUZXh0JywgTm9uZSwgdSdOYW1lIG9mIE9EQkMgZHJpdmVyIGF0dHJpYnV0ZScpLAotKHUnT0RCQ0F0dHJpYnV0ZScsIHUnRHJpdmVyXycsIHUnTicsIE5vbmUsIE5vbmUsIHUnT0RCQ0RyaXZlcicsIDEsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnUmVmZXJlbmNlIHRvIE9EQkMgZHJpdmVyIGluIE9EQkNEcml2ZXIgdGFibGUnKSwKLSh1J09EQkNEcml2ZXInLCB1J0Rlc2NyaXB0aW9uJywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUZXh0JywgTm9uZSwgdSdUZXh0IHVzZWQgYXMgcmVnaXN0ZXJlZCBuYW1lIGZvciBkcml2ZXIsIG5vbi1sb2NhbGl6ZWQnKSwKLSh1J09EQkNEcml2ZXInLCB1J0ZpbGVfJywgdSdOJywgTm9uZSwgTm9uZSwgdSdGaWxlJywgMSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdSZWZlcmVuY2UgdG8ga2V5IGRyaXZlciBmaWxlJyksCi0odSdPREJDRHJpdmVyJywgdSdDb21wb25lbnRfJywgdSdOJywgTm9uZSwgTm9uZSwgdSdDb21wb25lbnQnLCAxLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J1JlZmVyZW5jZSB0byBhc3NvY2lhdGVkIGNvbXBvbmVudCcpLAotKHUnT0RCQ0RyaXZlcicsIHUnRHJpdmVyJywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdQcmltYXJ5IGtleSwgbm9uLWxvY2FsaXplZC5pbnRlcm5hbCB0b2tlbiBmb3IgZHJpdmVyJyksCi0odSdPREJDRHJpdmVyJywgdSdGaWxlX1NldHVwJywgdSdZJywgTm9uZSwgTm9uZSwgdSdGaWxlJywgMSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdPcHRpb25hbCByZWZlcmVuY2UgdG8ga2V5IGRyaXZlciBzZXR1cCBETEwnKSwKLSh1J09EQkNEYXRhU291cmNlJywgdSdEZXNjcmlwdGlvbicsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGV4dCcsIE5vbmUsIHUnVGV4dCB1c2VkIGFzIHJlZ2lzdGVyZWQgbmFtZSBmb3IgZGF0YSBzb3VyY2UnKSwKLSh1J09EQkNEYXRhU291cmNlJywgdSdDb21wb25lbnRfJywgdSdOJywgTm9uZSwgTm9uZSwgdSdDb21wb25lbnQnLCAxLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J1JlZmVyZW5jZSB0byBhc3NvY2lhdGVkIGNvbXBvbmVudCcpLAotKHUnT0RCQ0RhdGFTb3VyY2UnLCB1J0RhdGFTb3VyY2UnLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J1ByaW1hcnkga2V5LCBub24tbG9jYWxpemVkLmludGVybmFsIHRva2VuIGZvciBkYXRhIHNvdXJjZScpLAotKHUnT0RCQ0RhdGFTb3VyY2UnLCB1J0RyaXZlckRlc2NyaXB0aW9uJywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUZXh0JywgTm9uZSwgdSdSZWZlcmVuY2UgdG8gZHJpdmVyIGRlc2NyaXB0aW9uLCBtYXkgYmUgZXhpc3RpbmcgZHJpdmVyJyksCi0odSdPREJDRGF0YVNvdXJjZScsIHUnUmVnaXN0cmF0aW9uJywgdSdOJywgMCwgMSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdSZWdpc3RyYXRpb24gb3B0aW9uOiAwPW1hY2hpbmUsIDE9dXNlciwgb3RoZXJzIHQuYi5kLicpLAotKHUnT0RCQ1NvdXJjZUF0dHJpYnV0ZScsIHUnVmFsdWUnLCB1J1knLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RleHQnLCBOb25lLCB1J1ZhbHVlIGZvciBPREJDIGRhdGEgc291cmNlIGF0dHJpYnV0ZScpLAotKHUnT0RCQ1NvdXJjZUF0dHJpYnV0ZScsIHUnQXR0cmlidXRlJywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUZXh0JywgTm9uZSwgdSdOYW1lIG9mIE9EQkMgZGF0YSBzb3VyY2UgYXR0cmlidXRlJyksCi0odSdPREJDU291cmNlQXR0cmlidXRlJywgdSdEYXRhU291cmNlXycsIHUnTicsIE5vbmUsIE5vbmUsIHUnT0RCQ0RhdGFTb3VyY2UnLCAxLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J1JlZmVyZW5jZSB0byBPREJDIGRhdGEgc291cmNlIGluIE9EQkNEYXRhU291cmNlIHRhYmxlJyksCi0odSdPREJDVHJhbnNsYXRvcicsIHUnRGVzY3JpcHRpb24nLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RleHQnLCBOb25lLCB1J1RleHQgdXNlZCBhcyByZWdpc3RlcmVkIG5hbWUgZm9yIHRyYW5zbGF0b3InKSwKLSh1J09EQkNUcmFuc2xhdG9yJywgdSdGaWxlXycsIHUnTicsIE5vbmUsIE5vbmUsIHUnRmlsZScsIDEsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnUmVmZXJlbmNlIHRvIGtleSB0cmFuc2xhdG9yIGZpbGUnKSwKLSh1J09EQkNUcmFuc2xhdG9yJywgdSdDb21wb25lbnRfJywgdSdOJywgTm9uZSwgTm9uZSwgdSdDb21wb25lbnQnLCAxLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J1JlZmVyZW5jZSB0byBhc3NvY2lhdGVkIGNvbXBvbmVudCcpLAotKHUnT0RCQ1RyYW5zbGF0b3InLCB1J0ZpbGVfU2V0dXAnLCB1J1knLCBOb25lLCBOb25lLCB1J0ZpbGUnLCAxLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J09wdGlvbmFsIHJlZmVyZW5jZSB0byBrZXkgdHJhbnNsYXRvciBzZXR1cCBETEwnKSwKLSh1J09EQkNUcmFuc2xhdG9yJywgdSdUcmFuc2xhdG9yJywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdQcmltYXJ5IGtleSwgbm9uLWxvY2FsaXplZC5pbnRlcm5hbCB0b2tlbiBmb3IgdHJhbnNsYXRvcicpLAotKHUnUGF0Y2gnLCB1J1NlcXVlbmNlJywgdSdOJywgMCwgMzI3NjcsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnUHJpbWFyeSBrZXksIHNlcXVlbmNlIHdpdGggcmVzcGVjdCB0byB0aGUgbWVkaWEgaW1hZ2VzOyBvcmRlciBtdXN0IHRyYWNrIGNhYmluZXQgb3JkZXIuJyksCi0odSdQYXRjaCcsIHUnQXR0cmlidXRlcycsIHUnTicsIDAsIDMyNzY3LCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0ludGVnZXIgY29udGFpbmluZyBiaXQgZmxhZ3MgcmVwcmVzZW50aW5nIHBhdGNoIGF0dHJpYnV0ZXMnKSwKLSh1J1BhdGNoJywgdSdGaWxlXycsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnUHJpbWFyeSBrZXksIG5vbi1sb2NhbGl6ZWQgdG9rZW4sIGZvcmVpZ24ga2V5IHRvIEZpbGUgdGFibGUsIG11c3QgbWF0Y2ggaWRlbnRpZmllciBpbiBjYWJpbmV0LicpLAotKHUnUGF0Y2gnLCB1J0hlYWRlcicsIHUnWScsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnQmluYXJ5JywgTm9uZSwgdSdCaW5hcnkgc3RyZWFtLiBUaGUgcGF0Y2ggaGVhZGVyLCB1c2VkIGZvciBwYXRjaCB2YWxpZGF0aW9uLicpLAotKHUnUGF0Y2gnLCB1J1BhdGNoU2l6ZScsIHUnTicsIDAsIDIxNDc0ODM2NDcsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnU2l6ZSBvZiBwYXRjaCBpbiBieXRlcyAobG9uZyBpbnRlZ2VyKS4nKSwKLSh1J1BhdGNoJywgdSdTdHJlYW1SZWZfJywgdSdZJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdJZGVudGlmaWVyLiBGb3JlaWduIGtleSB0byB0aGUgU3RyZWFtUmVmIGNvbHVtbiBvZiB0aGUgTXNpUGF0Y2hIZWFkZXJzIHRhYmxlLicpLAotKHUnUGF0Y2hQYWNrYWdlJywgdSdNZWRpYV8nLCB1J04nLCAwLCAzMjc2NywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdGb3JlaWduIGtleSB0byBEaXNrSWQgY29sdW1uIG9mIE1lZGlhIHRhYmxlLiBJbmRpY2F0ZXMgdGhlIGRpc2sgY29udGFpbmluZyB0aGUgcGF0Y2ggcGFja2FnZS4nKSwKLSh1J1BhdGNoUGFja2FnZScsIHUnUGF0Y2hJZCcsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnR3VpZCcsIE5vbmUsIHUnQSB1bmlxdWUgc3RyaW5nIEdVSUQgcmVwcmVzZW50aW5nIHRoaXMgcGF0Y2guJyksCi0odSdQdWJsaXNoQ29tcG9uZW50JywgdSdGZWF0dXJlXycsIHUnTicsIE5vbmUsIE5vbmUsIHUnRmVhdHVyZScsIDEsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnRm9yZWlnbiBrZXkgaW50byB0aGUgRmVhdHVyZSB0YWJsZS4nKSwKLSh1J1B1Ymxpc2hDb21wb25lbnQnLCB1J0NvbXBvbmVudF8nLCB1J04nLCBOb25lLCBOb25lLCB1J0NvbXBvbmVudCcsIDEsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnRm9yZWlnbiBrZXkgaW50byB0aGUgQ29tcG9uZW50IHRhYmxlLicpLAotKHUnUHVibGlzaENvbXBvbmVudCcsIHUnQ29tcG9uZW50SWQnLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0d1aWQnLCBOb25lLCB1J0Egc3RyaW5nIEdVSUQgdGhhdCByZXByZXNlbnRzIHRoZSBjb21wb25lbnQgaWQgdGhhdCB3aWxsIGJlIHJlcXVlc3RlZCBieSB0aGUgYWxpZW4gcHJvZHVjdC4nKSwKLSh1J1B1Ymxpc2hDb21wb25lbnQnLCB1J0FwcERhdGEnLCB1J1knLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RleHQnLCBOb25lLCB1J1RoaXMgaXMgbG9jYWxpc2FibGUgQXBwbGljYXRpb24gc3BlY2lmaWMgZGF0YSB0aGF0IGNhbiBiZSBhc3NvY2lhdGVkIHdpdGggYSBRdWFsaWZpZWQgQ29tcG9uZW50LicpLAotKHUnUHVibGlzaENvbXBvbmVudCcsIHUnUXVhbGlmaWVyJywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUZXh0JywgTm9uZSwgdSdUaGlzIGlzIGRlZmluZWQgb25seSB3aGVuIHRoZSBDb21wb25lbnRJZCBjb2x1bW4gaXMgYW4gUXVhbGlmaWVkIENvbXBvbmVudCBJZC4gVGhpcyBpcyB0aGUgUXVhbGlmaWVyIGZvciBQcm92aWRlQ29tcG9uZW50SW5kaXJlY3QuJyksCi0odSdSZWdpc3RyeScsIHUnTmFtZScsIHUnWScsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRm9ybWF0dGVkJywgTm9uZSwgdSdUaGUgcmVnaXN0cnkgdmFsdWUgbmFtZS4nKSwKLSh1J1JlZ2lzdHJ5JywgdSdWYWx1ZScsIHUnWScsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRm9ybWF0dGVkJywgTm9uZSwgdSdUaGUgcmVnaXN0cnkgdmFsdWUuJyksCi0odSdSZWdpc3RyeScsIHUnS2V5JywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdSZWdQYXRoJywgTm9uZSwgdSdUaGUga2V5IGZvciB0aGUgcmVnaXN0cnkgdmFsdWUuJyksCi0odSdSZWdpc3RyeScsIHUnQ29tcG9uZW50XycsIHUnTicsIE5vbmUsIE5vbmUsIHUnQ29tcG9uZW50JywgMSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdGb3JlaWduIGtleSBpbnRvIHRoZSBDb21wb25lbnQgdGFibGUgcmVmZXJlbmNpbmcgY29tcG9uZW50IHRoYXQgY29udHJvbHMgdGhlIGluc3RhbGxpbmcgb2YgdGhlIHJlZ2lzdHJ5IHZhbHVlLicpLAotKHUnUmVnaXN0cnknLCB1J1JlZ2lzdHJ5JywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdQcmltYXJ5IGtleSwgbm9uLWxvY2FsaXplZCB0b2tlbi4nKSwKLSh1J1JlZ2lzdHJ5JywgdSdSb290JywgdSdOJywgLTEsIDMsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGhlIHByZWRlZmluZWQgcm9vdCBrZXkgZm9yIHRoZSByZWdpc3RyeSB2YWx1ZSwgb25lIG9mIHJya0VudW0uJyksCi0odSdSZWdMb2NhdG9yJywgdSdOYW1lJywgdSdZJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdGb3JtYXR0ZWQnLCBOb25lLCB1J1RoZSByZWdpc3RyeSB2YWx1ZSBuYW1lLicpLAotKHUnUmVnTG9jYXRvcicsIHUnVHlwZScsIHUnWScsIDAsIDE4LCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0FuIGludGVnZXIgdmFsdWUgdGhhdCBkZXRlcm1pbmVzIGlmIHRoZSByZWdpc3RyeSB2YWx1ZSBpcyBhIGZpbGVuYW1lIG9yIGEgZGlyZWN0b3J5IGxvY2F0aW9uIG9yIHRvIGJlIHVzZWQgYXMgaXMgdy9vIGludGVycHJldGF0aW9uLicpLAotKHUnUmVnTG9jYXRvcicsIHUnS2V5JywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdSZWdQYXRoJywgTm9uZSwgdSdUaGUga2V5IGZvciB0aGUgcmVnaXN0cnkgdmFsdWUuJyksCi0odSdSZWdMb2NhdG9yJywgdSdTaWduYXR1cmVfJywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdUaGUgdGFibGUga2V5LiBUaGUgU2lnbmF0dXJlXyByZXByZXNlbnRzIGEgdW5pcXVlIGZpbGUgc2lnbmF0dXJlIGFuZCBpcyBhbHNvIHRoZSBmb3JlaWduIGtleSBpbiB0aGUgU2lnbmF0dXJlIHRhYmxlLiBJZiB0aGUgdHlwZSBpcyAwLCB0aGUgcmVnaXN0cnkgdmFsdWVzIHJlZmVycyBhIGRpcmVjdG9yeSwgYW5kIF9TaWduYXR1cmUgaXMgbm90IGEgZm9yZWlnbiBrZXkuJyksCi0odSdSZWdMb2NhdG9yJywgdSdSb290JywgdSdOJywgMCwgMywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUaGUgcHJlZGVmaW5lZCByb290IGtleSBmb3IgdGhlIHJlZ2lzdHJ5IHZhbHVlLCBvbmUgb2YgcnJrRW51bS4nKSwKLSh1J1JlbW92ZUZpbGUnLCB1J0luc3RhbGxNb2RlJywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdScxOzI7MycsIHUnSW5zdGFsbGF0aW9uIG9wdGlvbiwgb25lIG9mIGlpbUVudW0uJyksCi0odSdSZW1vdmVGaWxlJywgdSdDb21wb25lbnRfJywgdSdOJywgTm9uZSwgTm9uZSwgdSdDb21wb25lbnQnLCAxLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J0ZvcmVpZ24ga2V5IHJlZmVyZW5jaW5nIENvbXBvbmVudCB0aGF0IGNvbnRyb2xzIHRoZSBmaWxlIHRvIGJlIHJlbW92ZWQuJyksCi0odSdSZW1vdmVGaWxlJywgdSdGaWxlS2V5JywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdQcmltYXJ5IGtleSB1c2VkIHRvIGlkZW50aWZ5IGEgcGFydGljdWxhciBmaWxlIGVudHJ5JyksCi0odSdSZW1vdmVGaWxlJywgdSdGaWxlTmFtZScsIHUnWScsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnV2lsZENhcmRGaWxlbmFtZScsIE5vbmUsIHUnTmFtZSBvZiB0aGUgZmlsZSB0byBiZSByZW1vdmVkLicpLAotKHUnUmVtb3ZlRmlsZScsIHUnRGlyUHJvcGVydHknLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J05hbWUgb2YgYSBwcm9wZXJ0eSB3aG9zZSB2YWx1ZSBpcyBhc3N1bWVkIHRvIHJlc29sdmUgdG8gdGhlIGZ1bGwgcGF0aG5hbWUgdG8gdGhlIGZvbGRlciBvZiB0aGUgZmlsZSB0byBiZSByZW1vdmVkLicpLAotKHUnUmVtb3ZlSW5pRmlsZScsIHUnQWN0aW9uJywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdScyOzQnLCB1J1RoZSB0eXBlIG9mIG1vZGlmaWNhdGlvbiB0byBiZSBtYWRlLCBvbmUgb2YgaWlmRW51bS4nKSwKLSh1J1JlbW92ZUluaUZpbGUnLCB1J1ZhbHVlJywgdSdZJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdGb3JtYXR0ZWQnLCBOb25lLCB1J1RoZSB2YWx1ZSB0byBiZSBkZWxldGVkLiBUaGUgdmFsdWUgaXMgcmVxdWlyZWQgd2hlbiBBY3Rpb24gaXMgaWlmSW5pUmVtb3ZlVGFnJyksCi0odSdSZW1vdmVJbmlGaWxlJywgdSdLZXknLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0Zvcm1hdHRlZCcsIE5vbmUsIHUnVGhlIC5JTkkgZmlsZSBrZXkgYmVsb3cgU2VjdGlvbi4nKSwKLSh1J1JlbW92ZUluaUZpbGUnLCB1J0NvbXBvbmVudF8nLCB1J04nLCBOb25lLCBOb25lLCB1J0NvbXBvbmVudCcsIDEsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnRm9yZWlnbiBrZXkgaW50byB0aGUgQ29tcG9uZW50IHRhYmxlIHJlZmVyZW5jaW5nIGNvbXBvbmVudCB0aGF0IGNvbnRyb2xzIHRoZSBkZWxldGlvbiBvZiB0aGUgLklOSSB2YWx1ZS4nKSwKLSh1J1JlbW92ZUluaUZpbGUnLCB1J0ZpbGVOYW1lJywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdGaWxlbmFtZScsIE5vbmUsIHUnVGhlIC5JTkkgZmlsZSBuYW1lIGluIHdoaWNoIHRvIGRlbGV0ZSB0aGUgaW5mb3JtYXRpb24nKSwKLSh1J1JlbW92ZUluaUZpbGUnLCB1J0RpclByb3BlcnR5JywgdSdZJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdGb3JlaWduIGtleSBpbnRvIHRoZSBEaXJlY3RvcnkgdGFibGUgZGVub3RpbmcgdGhlIGRpcmVjdG9yeSB3aGVyZSB0aGUgLklOSSBmaWxlIGlzLicpLAotKHUnUmVtb3ZlSW5pRmlsZScsIHUnU2VjdGlvbicsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRm9ybWF0dGVkJywgTm9uZSwgdSdUaGUgLklOSSBmaWxlIFNlY3Rpb24uJyksCi0odSdSZW1vdmVJbmlGaWxlJywgdSdSZW1vdmVJbmlGaWxlJywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdQcmltYXJ5IGtleSwgbm9uLWxvY2FsaXplZCB0b2tlbi4nKSwKLSh1J1JlbW92ZVJlZ2lzdHJ5JywgdSdOYW1lJywgdSdZJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdGb3JtYXR0ZWQnLCBOb25lLCB1J1RoZSByZWdpc3RyeSB2YWx1ZSBuYW1lLicpLAotKHUnUmVtb3ZlUmVnaXN0cnknLCB1J0tleScsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnUmVnUGF0aCcsIE5vbmUsIHUnVGhlIGtleSBmb3IgdGhlIHJlZ2lzdHJ5IHZhbHVlLicpLAotKHUnUmVtb3ZlUmVnaXN0cnknLCB1J0NvbXBvbmVudF8nLCB1J04nLCBOb25lLCBOb25lLCB1J0NvbXBvbmVudCcsIDEsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnRm9yZWlnbiBrZXkgaW50byB0aGUgQ29tcG9uZW50IHRhYmxlIHJlZmVyZW5jaW5nIGNvbXBvbmVudCB0aGF0IGNvbnRyb2xzIHRoZSBkZWxldGlvbiBvZiB0aGUgcmVnaXN0cnkgdmFsdWUuJyksCi0odSdSZW1vdmVSZWdpc3RyeScsIHUnUm9vdCcsIHUnTicsIC0xLCAzLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RoZSBwcmVkZWZpbmVkIHJvb3Qga2V5IGZvciB0aGUgcmVnaXN0cnkgdmFsdWUsIG9uZSBvZiBycmtFbnVtJyksCi0odSdSZW1vdmVSZWdpc3RyeScsIHUnUmVtb3ZlUmVnaXN0cnknLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J1ByaW1hcnkga2V5LCBub24tbG9jYWxpemVkIHRva2VuLicpLAotKHUnUmVzZXJ2ZUNvc3QnLCB1J0NvbXBvbmVudF8nLCB1J04nLCBOb25lLCBOb25lLCB1J0NvbXBvbmVudCcsIDEsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnUmVzZXJ2ZSBhIHNwZWNpZmllZCBhbW91bnQgb2Ygc3BhY2UgaWYgdGhpcyBjb21wb25lbnQgaXMgdG8gYmUgaW5zdGFsbGVkLicpLAotKHUnUmVzZXJ2ZUNvc3QnLCB1J1Jlc2VydmVGb2xkZXInLCB1J1knLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J05hbWUgb2YgYSBwcm9wZXJ0eSB3aG9zZSB2YWx1ZSBpcyBhc3N1bWVkIHRvIHJlc29sdmUgdG8gdGhlIGZ1bGwgcGF0aCB0byB0aGUgZGVzdGluYXRpb24gZGlyZWN0b3J5JyksCi0odSdSZXNlcnZlQ29zdCcsIHUnUmVzZXJ2ZUtleScsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnUHJpbWFyeSBrZXkgdGhhdCB1bmlxdWVseSBpZGVudGlmaWVzIGEgcGFydGljdWxhciBSZXNlcnZlQ29zdCByZWNvcmQnKSwKLSh1J1Jlc2VydmVDb3N0JywgdSdSZXNlcnZlTG9jYWwnLCB1J04nLCAwLCAyMTQ3NDgzNjQ3LCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0Rpc2sgc3BhY2UgdG8gcmVzZXJ2ZSBpZiBsaW5rZWQgY29tcG9uZW50IGlzIGluc3RhbGxlZCBsb2NhbGx5LicpLAotKHUnUmVzZXJ2ZUNvc3QnLCB1J1Jlc2VydmVTb3VyY2UnLCB1J04nLCAwLCAyMTQ3NDgzNjQ3LCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0Rpc2sgc3BhY2UgdG8gcmVzZXJ2ZSBpZiBsaW5rZWQgY29tcG9uZW50IGlzIGluc3RhbGxlZCB0byBydW4gZnJvbSB0aGUgc291cmNlIGxvY2F0aW9uLicpLAotKHUnU2VsZlJlZycsIHUnRmlsZV8nLCB1J04nLCBOb25lLCBOb25lLCB1J0ZpbGUnLCAxLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J0ZvcmVpZ24ga2V5IGludG8gdGhlIEZpbGUgdGFibGUgZGVub3RpbmcgdGhlIG1vZHVsZSB0aGF0IG5lZWRzIHRvIGJlIHJlZ2lzdGVyZWQuJyksCi0odSdTZWxmUmVnJywgdSdDb3N0JywgdSdZJywgMCwgMzI3NjcsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGhlIGNvc3Qgb2YgcmVnaXN0ZXJpbmcgdGhlIG1vZHVsZS4nKSwKLSh1J1NlcnZpY2VDb250cm9sJywgdSdOYW1lJywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdGb3JtYXR0ZWQnLCBOb25lLCB1J05hbWUgb2YgYSBzZXJ2aWNlLiAvLCBcXCwgY29tbWEgYW5kIHNwYWNlIGFyZSBpbnZhbGlkJyksCi0odSdTZXJ2aWNlQ29udHJvbCcsIHUnRXZlbnQnLCB1J04nLCAwLCAxODcsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnQml0IGZpZWxkOiAgSW5zdGFsbDogIDB4MSA9IFN0YXJ0LCAweDIgPSBTdG9wLCAweDggPSBEZWxldGUsIFVuaW5zdGFsbDogMHgxMCA9IFN0YXJ0LCAweDIwID0gU3RvcCwgMHg4MCA9IERlbGV0ZScpLAotKHUnU2VydmljZUNvbnRyb2wnLCB1J0NvbXBvbmVudF8nLCB1J04nLCBOb25lLCBOb25lLCB1J0NvbXBvbmVudCcsIDEsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnUmVxdWlyZWQgZm9yZWlnbiBrZXkgaW50byB0aGUgQ29tcG9uZW50IFRhYmxlIHRoYXQgY29udHJvbHMgdGhlIHN0YXJ0dXAgb2YgdGhlIHNlcnZpY2UnKSwKLSh1J1NlcnZpY2VDb250cm9sJywgdSdTZXJ2aWNlQ29udHJvbCcsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnUHJpbWFyeSBrZXksIG5vbi1sb2NhbGl6ZWQgdG9rZW4uJyksCi0odSdTZXJ2aWNlQ29udHJvbCcsIHUnQXJndW1lbnRzJywgdSdZJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdGb3JtYXR0ZWQnLCBOb25lLCB1J0FyZ3VtZW50cyBmb3IgdGhlIHNlcnZpY2UuICBTZXBhcmF0ZSBieSBbfl0uJyksCi0odSdTZXJ2aWNlQ29udHJvbCcsIHUnV2FpdCcsIHUnWScsIDAsIDEsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnQm9vbGVhbiBmb3Igd2hldGhlciB0byB3YWl0IGZvciB0aGUgc2VydmljZSB0byBmdWxseSBzdGFydCcpLAotKHUnU2VydmljZUluc3RhbGwnLCB1J05hbWUnLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0Zvcm1hdHRlZCcsIE5vbmUsIHUnSW50ZXJuYWwgTmFtZSBvZiB0aGUgU2VydmljZScpLAotKHUnU2VydmljZUluc3RhbGwnLCB1J0Rlc2NyaXB0aW9uJywgdSdZJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUZXh0JywgTm9uZSwgdSdEZXNjcmlwdGlvbiBvZiBzZXJ2aWNlLicpLAotKHUnU2VydmljZUluc3RhbGwnLCB1J0NvbXBvbmVudF8nLCB1J04nLCBOb25lLCBOb25lLCB1J0NvbXBvbmVudCcsIDEsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnUmVxdWlyZWQgZm9yZWlnbiBrZXkgaW50byB0aGUgQ29tcG9uZW50IFRhYmxlIHRoYXQgY29udHJvbHMgdGhlIHN0YXJ0dXAgb2YgdGhlIHNlcnZpY2UnKSwKLSh1J1NlcnZpY2VJbnN0YWxsJywgdSdBcmd1bWVudHMnLCB1J1knLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0Zvcm1hdHRlZCcsIE5vbmUsIHUnQXJndW1lbnRzIHRvIGluY2x1ZGUgaW4gZXZlcnkgc3RhcnQgb2YgdGhlIHNlcnZpY2UsIHBhc3NlZCB0byBXaW5NYWluJyksCi0odSdTZXJ2aWNlSW5zdGFsbCcsIHUnU2VydmljZUluc3RhbGwnLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J1ByaW1hcnkga2V5LCBub24tbG9jYWxpemVkIHRva2VuLicpLAotKHUnU2VydmljZUluc3RhbGwnLCB1J0RlcGVuZGVuY2llcycsIHUnWScsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRm9ybWF0dGVkJywgTm9uZSwgdSdPdGhlciBzZXJ2aWNlcyB0aGlzIGRlcGVuZHMgb24gdG8gc3RhcnQuICBTZXBhcmF0ZSBieSBbfl0sIGFuZCBlbmQgd2l0aCBbfl1bfl0nKSwKLSh1J1NlcnZpY2VJbnN0YWxsJywgdSdEaXNwbGF5TmFtZScsIHUnWScsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRm9ybWF0dGVkJywgTm9uZSwgdSdFeHRlcm5hbCBOYW1lIG9mIHRoZSBTZXJ2aWNlJyksCi0odSdTZXJ2aWNlSW5zdGFsbCcsIHUnRXJyb3JDb250cm9sJywgdSdOJywgLTIxNDc0ODM2NDcsIDIxNDc0ODM2NDcsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnU2V2ZXJpdHkgb2YgZXJyb3IgaWYgc2VydmljZSBmYWlscyB0byBzdGFydCcpLAotKHUnU2VydmljZUluc3RhbGwnLCB1J0xvYWRPcmRlckdyb3VwJywgdSdZJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdGb3JtYXR0ZWQnLCBOb25lLCB1J0xvYWRPcmRlckdyb3VwJyksCi0odSdTZXJ2aWNlSW5zdGFsbCcsIHUnUGFzc3dvcmQnLCB1J1knLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0Zvcm1hdHRlZCcsIE5vbmUsIHUncGFzc3dvcmQgdG8gcnVuIHNlcnZpY2Ugd2l0aC4gICh3aXRoIFN0YXJ0TmFtZSknKSwKLSh1J1NlcnZpY2VJbnN0YWxsJywgdSdTZXJ2aWNlVHlwZScsIHUnTicsIC0yMTQ3NDgzNjQ3LCAyMTQ3NDgzNjQ3LCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1R5cGUgb2YgdGhlIHNlcnZpY2UnKSwKLSh1J1NlcnZpY2VJbnN0YWxsJywgdSdTdGFydE5hbWUnLCB1J1knLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0Zvcm1hdHRlZCcsIE5vbmUsIHUnVXNlciBvciBvYmplY3QgbmFtZSB0byBydW4gc2VydmljZSBhcycpLAotKHUnU2VydmljZUluc3RhbGwnLCB1J1N0YXJ0VHlwZScsIHUnTicsIDAsIDQsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVHlwZSBvZiB0aGUgc2VydmljZScpLAotKHUnU2hvcnRjdXQnLCB1J05hbWUnLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0ZpbGVuYW1lJywgTm9uZSwgdSdUaGUgbmFtZSBvZiB0aGUgc2hvcnRjdXQgdG8gYmUgY3JlYXRlZC4nKSwKLSh1J1Nob3J0Y3V0JywgdSdEZXNjcmlwdGlvbicsIHUnWScsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGV4dCcsIE5vbmUsIHUnVGhlIGRlc2NyaXB0aW9uIGZvciB0aGUgc2hvcnRjdXQuJyksCi0odSdTaG9ydGN1dCcsIHUnQ29tcG9uZW50XycsIHUnTicsIE5vbmUsIE5vbmUsIHUnQ29tcG9uZW50JywgMSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdGb3JlaWduIGtleSBpbnRvIHRoZSBDb21wb25lbnQgdGFibGUgZGVub3RpbmcgdGhlIGNvbXBvbmVudCB3aG9zZSBzZWxlY3Rpb24gZ2F0ZXMgdGhlIHNob3J0Y3V0IGNyZWF0aW9uL2RlbGV0aW9uLicpLAotKHUnU2hvcnRjdXQnLCB1J0ljb25fJywgdSdZJywgTm9uZSwgTm9uZSwgdSdJY29uJywgMSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdGb3JlaWduIGtleSBpbnRvIHRoZSBGaWxlIHRhYmxlIGRlbm90aW5nIHRoZSBleHRlcm5hbCBpY29uIGZpbGUgZm9yIHRoZSBzaG9ydGN1dC4nKSwKLSh1J1Nob3J0Y3V0JywgdSdJY29uSW5kZXgnLCB1J1knLCAtMzI3NjcsIDMyNzY3LCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RoZSBpY29uIGluZGV4IGZvciB0aGUgc2hvcnRjdXQuJyksCi0odSdTaG9ydGN1dCcsIHUnRGlyZWN0b3J5XycsIHUnTicsIE5vbmUsIE5vbmUsIHUnRGlyZWN0b3J5JywgMSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdGb3JlaWduIGtleSBpbnRvIHRoZSBEaXJlY3RvcnkgdGFibGUgZGVub3RpbmcgdGhlIGRpcmVjdG9yeSB3aGVyZSB0aGUgc2hvcnRjdXQgZmlsZSBpcyBjcmVhdGVkLicpLAotKHUnU2hvcnRjdXQnLCB1J1RhcmdldCcsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnU2hvcnRjdXQnLCBOb25lLCB1J1RoZSBzaG9ydGN1dCB0YXJnZXQuIFRoaXMgaXMgdXN1YWxseSBhIHByb3BlcnR5IHRoYXQgaXMgZXhwYW5kZWQgdG8gYSBmaWxlIG9yIGEgZm9sZGVyIHRoYXQgdGhlIHNob3J0Y3V0IHBvaW50cyB0by4nKSwKLSh1J1Nob3J0Y3V0JywgdSdBcmd1bWVudHMnLCB1J1knLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0Zvcm1hdHRlZCcsIE5vbmUsIHUnVGhlIGNvbW1hbmQtbGluZSBhcmd1bWVudHMgZm9yIHRoZSBzaG9ydGN1dC4nKSwKLSh1J1Nob3J0Y3V0JywgdSdTaG9ydGN1dCcsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnUHJpbWFyeSBrZXksIG5vbi1sb2NhbGl6ZWQgdG9rZW4uJyksCi0odSdTaG9ydGN1dCcsIHUnSG90a2V5JywgdSdZJywgMCwgMzI3NjcsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGhlIGhvdGtleSBmb3IgdGhlIHNob3J0Y3V0LiBJdCBoYXMgdGhlIHZpcnR1YWwta2V5IGNvZGUgZm9yIHRoZSBrZXkgaW4gdGhlIGxvdy1vcmRlciBieXRlLCBhbmQgdGhlIG1vZGlmaWVyIGZsYWdzIGluIHRoZSBoaWdoLW9yZGVyIGJ5dGUuICcpLAotKHUnU2hvcnRjdXQnLCB1J1Nob3dDbWQnLCB1J1knLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1JzE7Mzs3JywgdSdUaGUgc2hvdyBjb21tYW5kIGZvciB0aGUgYXBwbGljYXRpb24gd2luZG93LlRoZSBmb2xsb3dpbmcgdmFsdWVzIG1heSBiZSB1c2VkLicpLAotKHUnU2hvcnRjdXQnLCB1J1drRGlyJywgdSdZJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdOYW1lIG9mIHByb3BlcnR5IGRlZmluaW5nIGxvY2F0aW9uIG9mIHdvcmtpbmcgZGlyZWN0b3J5LicpLAotKHUnU2lnbmF0dXJlJywgdSdGaWxlTmFtZScsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRmlsZW5hbWUnLCBOb25lLCB1J1RoZSBuYW1lIG9mIHRoZSBmaWxlLiBUaGlzIG1heSBjb250YWluIGEgInNob3J0IG5hbWV8bG9uZyBuYW1lIiBwYWlyLicpLAotKHUnU2lnbmF0dXJlJywgdSdTaWduYXR1cmUnLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J1RoZSB0YWJsZSBrZXkuIFRoZSBTaWduYXR1cmUgcmVwcmVzZW50cyBhIHVuaXF1ZSBmaWxlIHNpZ25hdHVyZS4nKSwKLSh1J1NpZ25hdHVyZScsIHUnTGFuZ3VhZ2VzJywgdSdZJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdMYW5ndWFnZScsIE5vbmUsIHUnVGhlIGxhbmd1YWdlcyBzdXBwb3J0ZWQgYnkgdGhlIGZpbGUuJyksCi0odSdTaWduYXR1cmUnLCB1J01heERhdGUnLCB1J1knLCAwLCAyMTQ3NDgzNjQ3LCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RoZSBtYXhpbXVtIGNyZWF0aW9uIGRhdGUgb2YgdGhlIGZpbGUuJyksCi0odSdTaWduYXR1cmUnLCB1J01heFNpemUnLCB1J1knLCAwLCAyMTQ3NDgzNjQ3LCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RoZSBtYXhpbXVtIHNpemUgb2YgdGhlIGZpbGUuICcpLAotKHUnU2lnbmF0dXJlJywgdSdNYXhWZXJzaW9uJywgdSdZJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUZXh0JywgTm9uZSwgdSdUaGUgbWF4aW11bSB2ZXJzaW9uIG9mIHRoZSBmaWxlLicpLAotKHUnU2lnbmF0dXJlJywgdSdNaW5EYXRlJywgdSdZJywgMCwgMjE0NzQ4MzY0NywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUaGUgbWluaW11bSBjcmVhdGlvbiBkYXRlIG9mIHRoZSBmaWxlLicpLAotKHUnU2lnbmF0dXJlJywgdSdNaW5TaXplJywgdSdZJywgMCwgMjE0NzQ4MzY0NywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUaGUgbWluaW11bSBzaXplIG9mIHRoZSBmaWxlLicpLAotKHUnU2lnbmF0dXJlJywgdSdNaW5WZXJzaW9uJywgdSdZJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUZXh0JywgTm9uZSwgdSdUaGUgbWluaW11bSB2ZXJzaW9uIG9mIHRoZSBmaWxlLicpLAotKHUnVHlwZUxpYicsIHUnRmVhdHVyZV8nLCB1J04nLCBOb25lLCBOb25lLCB1J0ZlYXR1cmUnLCAxLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J1JlcXVpcmVkIGZvcmVpZ24ga2V5IGludG8gdGhlIEZlYXR1cmUgVGFibGUsIHNwZWNpZnlpbmcgdGhlIGZlYXR1cmUgdG8gdmFsaWRhdGUgb3IgaW5zdGFsbCBpbiBvcmRlciBmb3IgdGhlIHR5cGUgbGlicmFyeSB0byBiZSBvcGVyYXRpb25hbC4nKSwKLSh1J1R5cGVMaWInLCB1J0Rlc2NyaXB0aW9uJywgdSdZJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUZXh0JywgTm9uZSwgTm9uZSksCi0odSdUeXBlTGliJywgdSdDb21wb25lbnRfJywgdSdOJywgTm9uZSwgTm9uZSwgdSdDb21wb25lbnQnLCAxLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J1JlcXVpcmVkIGZvcmVpZ24ga2V5IGludG8gdGhlIENvbXBvbmVudCBUYWJsZSwgc3BlY2lmeWluZyB0aGUgY29tcG9uZW50IGZvciB3aGljaCB0byByZXR1cm4gYSBwYXRoIHdoZW4gY2FsbGVkIHRocm91Z2ggTG9jYXRlQ29tcG9uZW50LicpLAotKHUnVHlwZUxpYicsIHUnRGlyZWN0b3J5XycsIHUnWScsIE5vbmUsIE5vbmUsIHUnRGlyZWN0b3J5JywgMSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdPcHRpb25hbC4gVGhlIGZvcmVpZ24ga2V5IGludG8gdGhlIERpcmVjdG9yeSB0YWJsZSBkZW5vdGluZyB0aGUgcGF0aCB0byB0aGUgaGVscCBmaWxlIGZvciB0aGUgdHlwZSBsaWJyYXJ5LicpLAotKHUnVHlwZUxpYicsIHUnTGFuZ3VhZ2UnLCB1J04nLCAwLCAzMjc2NywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUaGUgbGFuZ3VhZ2Ugb2YgdGhlIGxpYnJhcnkuJyksCi0odSdUeXBlTGliJywgdSdWZXJzaW9uJywgdSdZJywgMCwgMTY3NzcyMTUsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGhlIHZlcnNpb24gb2YgdGhlIGxpYnJhcnkuIFRoZSBtaW5vciB2ZXJzaW9uIGlzIGluIHRoZSBsb3dlciA4IGJpdHMgb2YgdGhlIGludGVnZXIuIFRoZSBtYWpvciB2ZXJzaW9uIGlzIGluIHRoZSBuZXh0IDE2IGJpdHMuICcpLAotKHUnVHlwZUxpYicsIHUnQ29zdCcsIHUnWScsIDAsIDIxNDc0ODM2NDcsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGhlIGNvc3QgYXNzb2NpYXRlZCB3aXRoIHRoZSByZWdpc3RyYXRpb24gb2YgdGhlIHR5cGVsaWIuIFRoaXMgY29sdW1uIGlzIGN1cnJlbnRseSBvcHRpb25hbC4nKSwKLSh1J1R5cGVMaWInLCB1J0xpYklEJywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdHdWlkJywgTm9uZSwgdSdUaGUgR1VJRCB0aGF0IHJlcHJlc2VudHMgdGhlIGxpYnJhcnkuJyksCi0odSdVcGdyYWRlJywgdSdBdHRyaWJ1dGVzJywgdSdOJywgMCwgMjE0NzQ4MzY0NywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUaGUgYXR0cmlidXRlcyBvZiB0aGlzIHByb2R1Y3Qgc2V0LicpLAotKHUnVXBncmFkZScsIHUnUmVtb3ZlJywgdSdZJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdGb3JtYXR0ZWQnLCBOb25lLCB1J1RoZSBsaXN0IG9mIGZlYXR1cmVzIHRvIHJlbW92ZSB3aGVuIHVuaW5zdGFsbGluZyBhIHByb2R1Y3QgZnJvbSB0aGlzIHNldC4gIFRoZSBkZWZhdWx0IGlzICJBTEwiLicpLAotKHUnVXBncmFkZScsIHUnTGFuZ3VhZ2UnLCB1J1knLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0xhbmd1YWdlJywgTm9uZSwgdSdBIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIGxhbmd1YWdlcyBmb3IgZWl0aGVyIHByb2R1Y3RzIGluIHRoaXMgc2V0IG9yIHByb2R1Y3RzIG5vdCBpbiB0aGlzIHNldC4nKSwKLSh1J1VwZ3JhZGUnLCB1J0FjdGlvblByb3BlcnR5JywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdVcHBlckNhc2UnLCBOb25lLCB1J1RoZSBwcm9wZXJ0eSB0byBzZXQgd2hlbiBhIHByb2R1Y3QgaW4gdGhpcyBzZXQgaXMgZm91bmQuJyksCi0odSdVcGdyYWRlJywgdSdVcGdyYWRlQ29kZScsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnR3VpZCcsIE5vbmUsIHUnVGhlIFVwZ3JhZGVDb2RlIEdVSUQgYmVsb25naW5nIHRvIHRoZSBwcm9kdWN0cyBpbiB0aGlzIHNldC4nKSwKLSh1J1VwZ3JhZGUnLCB1J1ZlcnNpb25NYXgnLCB1J1knLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RleHQnLCBOb25lLCB1J1RoZSBtYXhpbXVtIFByb2R1Y3RWZXJzaW9uIG9mIHRoZSBwcm9kdWN0cyBpbiB0aGlzIHNldC4gIFRoZSBzZXQgbWF5IG9yIG1heSBub3QgaW5jbHVkZSBwcm9kdWN0cyB3aXRoIHRoaXMgcGFydGljdWxhciB2ZXJzaW9uLicpLAotKHUnVXBncmFkZScsIHUnVmVyc2lvbk1pbicsIHUnWScsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGV4dCcsIE5vbmUsIHUnVGhlIG1pbmltdW0gUHJvZHVjdFZlcnNpb24gb2YgdGhlIHByb2R1Y3RzIGluIHRoaXMgc2V0LiAgVGhlIHNldCBtYXkgb3IgbWF5IG5vdCBpbmNsdWRlIHByb2R1Y3RzIHdpdGggdGhpcyBwYXJ0aWN1bGFyIHZlcnNpb24uJyksCi0odSdWZXJiJywgdSdTZXF1ZW5jZScsIHUnWScsIDAsIDMyNzY3LCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J09yZGVyIHdpdGhpbiB0aGUgdmVyYnMgZm9yIGEgcGFydGljdWxhciBleHRlbnNpb24uIEFsc28gdXNlZCBzaW1wbHkgdG8gc3BlY2lmeSB0aGUgZGVmYXVsdCB2ZXJiLicpLAotKHUnVmVyYicsIHUnQXJndW1lbnQnLCB1J1knLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0Zvcm1hdHRlZCcsIE5vbmUsIHUnT3B0aW9uYWwgdmFsdWUgZm9yIHRoZSBjb21tYW5kIGFyZ3VtZW50cy4nKSwKLSh1J1ZlcmInLCB1J0V4dGVuc2lvbl8nLCB1J04nLCBOb25lLCBOb25lLCB1J0V4dGVuc2lvbicsIDEsIHUnVGV4dCcsIE5vbmUsIHUnVGhlIGV4dGVuc2lvbiBhc3NvY2lhdGVkIHdpdGggdGhlIHRhYmxlIHJvdy4nKSwKLSh1J1ZlcmInLCB1J1ZlcmInLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RleHQnLCBOb25lLCB1J1RoZSB2ZXJiIGZvciB0aGUgY29tbWFuZC4nKSwKLSh1J1ZlcmInLCB1J0NvbW1hbmQnLCB1J1knLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0Zvcm1hdHRlZCcsIE5vbmUsIHUnVGhlIGNvbW1hbmQgdGV4dC4nKSwKLV0KLQotRXJyb3IgPSBbCi0oMCwgdSd7e0ZhdGFsIGVycm9yOiB9fScpLAotKDEsIHUne3tFcnJvciBbMV0uIH19JyksCi0oMiwgdSdXYXJuaW5nIFsxXS4gJyksCi0oMywgTm9uZSksCi0oNCwgdSdJbmZvIFsxXS4gJyksCi0oNSwgdSdUaGUgaW5zdGFsbGVyIGhhcyBlbmNvdW50ZXJlZCBhbiB1bmV4cGVjdGVkIGVycm9yIGluc3RhbGxpbmcgdGhpcyBwYWNrYWdlLiBUaGlzIG1heSBpbmRpY2F0ZSBhIHByb2JsZW0gd2l0aCB0aGlzIHBhY2thZ2UuIFRoZSBlcnJvciBjb2RlIGlzIFsxXS4ge3tUaGUgYXJndW1lbnRzIGFyZTogWzJdLCBbM10sIFs0XX19JyksCi0oNiwgTm9uZSksCi0oNywgdSd7e0Rpc2sgZnVsbDogfX0nKSwKLSg4LCB1J0FjdGlvbiBbVGltZV06IFsxXS4gWzJdJyksCi0oOSwgdSdbUHJvZHVjdE5hbWVdJyksCi0oMTAsIHUne1syXX17LCBbM119eywgWzRdfScpLAotKDExLCB1J01lc3NhZ2UgdHlwZTogWzFdLCBBcmd1bWVudDogWzJdJyksCi0oMTIsIHUnPT09IExvZ2dpbmcgc3RhcnRlZDogW0RhdGVdICBbVGltZV0gPT09JyksCi0oMTMsIHUnPT09IExvZ2dpbmcgc3RvcHBlZDogW0RhdGVdICBbVGltZV0gPT09JyksCi0oMTQsIHUnQWN0aW9uIHN0YXJ0IFtUaW1lXTogWzFdLicpLAotKDE1LCB1J0FjdGlvbiBlbmRlZCBbVGltZV06IFsxXS4gUmV0dXJuIHZhbHVlIFsyXS4nKSwKLSgxNiwgdSdUaW1lIHJlbWFpbmluZzoge1sxXSBtaW51dGVzIH17WzJdIHNlY29uZHN9JyksCi0oMTcsIHUnT3V0IG9mIG1lbW9yeS4gU2h1dCBkb3duIG90aGVyIGFwcGxpY2F0aW9ucyBiZWZvcmUgcmV0cnlpbmcuJyksCi0oMTgsIHUnSW5zdGFsbGVyIGlzIG5vIGxvbmdlciByZXNwb25kaW5nLicpLAotKDE5LCB1J0luc3RhbGxlciBzdG9wcGVkIHByZW1hdHVyZWx5LicpLAotKDIwLCB1J1BsZWFzZSB3YWl0IHdoaWxlIFdpbmRvd3MgY29uZmlndXJlcyBbUHJvZHVjdE5hbWVdJyksCi0oMjEsIHUnR2F0aGVyaW5nIHJlcXVpcmVkIGluZm9ybWF0aW9uLi4uJyksCi0oMjIsIHUnUmVtb3Zpbmcgb2xkZXIgdmVyc2lvbnMgb2YgdGhpcyBhcHBsaWNhdGlvbi4uLicpLAotKDIzLCB1J1ByZXBhcmluZyB0byByZW1vdmUgb2xkZXIgdmVyc2lvbnMgb2YgdGhpcyBhcHBsaWNhdGlvbi4uLicpLAotKDMyLCB1J3tbUHJvZHVjdE5hbWVdIH1TZXR1cCBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5LicpLAotKDMzLCB1J3tbUHJvZHVjdE5hbWVdIH1TZXR1cCBmYWlsZWQuJyksCi0oMTEwMSwgdSdFcnJvciByZWFkaW5nIGZyb20gZmlsZTogWzJdLiB7eyBTeXN0ZW0gZXJyb3IgWzNdLn19ICBWZXJpZnkgdGhhdCB0aGUgZmlsZSBleGlzdHMgYW5kIHRoYXQgeW91IGNhbiBhY2Nlc3MgaXQuJyksCi0oMTMwMSwgdSJDYW5ub3QgY3JlYXRlIHRoZSBmaWxlICdbMl0nLiAgQSBkaXJlY3Rvcnkgd2l0aCB0aGlzIG5hbWUgYWxyZWFkeSBleGlzdHMuICBDYW5jZWwgdGhlIGluc3RhbGwgYW5kIHRyeSBpbnN0YWxsaW5nIHRvIGEgZGlmZmVyZW50IGxvY2F0aW9uLiIpLAotKDEzMDIsIHUnUGxlYXNlIGluc2VydCB0aGUgZGlzazogWzJdJyksCi0oMTMwMywgdSdUaGUgaW5zdGFsbGVyIGhhcyBpbnN1ZmZpY2llbnQgcHJpdmlsZWdlcyB0byBhY2Nlc3MgdGhpcyBkaXJlY3Rvcnk6IFsyXS4gIFRoZSBpbnN0YWxsYXRpb24gY2Fubm90IGNvbnRpbnVlLiAgTG9nIG9uIGFzIGFkbWluaXN0cmF0b3Igb3IgY29udGFjdCB5b3VyIHN5c3RlbSBhZG1pbmlzdHJhdG9yLicpLAotKDEzMDQsIHUnRXJyb3Igd3JpdGluZyB0byBmaWxlOiBbMl0uICBWZXJpZnkgdGhhdCB5b3UgaGF2ZSBhY2Nlc3MgdG8gdGhhdCBkaXJlY3RvcnkuJyksCi0oMTMwNSwgdSdFcnJvciByZWFkaW5nIGZyb20gZmlsZSBbMl0uIHt7IFN5c3RlbSBlcnJvciBbM10ufX0gVmVyaWZ5IHRoYXQgdGhlIGZpbGUgZXhpc3RzIGFuZCB0aGF0IHlvdSBjYW4gYWNjZXNzIGl0LicpLAotKDEzMDYsIHUiQW5vdGhlciBhcHBsaWNhdGlvbiBoYXMgZXhjbHVzaXZlIGFjY2VzcyB0byB0aGUgZmlsZSAnWzJdJy4gIFBsZWFzZSBzaHV0IGRvd24gYWxsIG90aGVyIGFwcGxpY2F0aW9ucywgdGhlbiBjbGljayBSZXRyeS4iKSwKLSgxMzA3LCB1J1RoZXJlIGlzIG5vdCBlbm91Z2ggZGlzayBzcGFjZSB0byBpbnN0YWxsIHRoaXMgZmlsZTogWzJdLiAgRnJlZSBzb21lIGRpc2sgc3BhY2UgYW5kIGNsaWNrIFJldHJ5LCBvciBjbGljayBDYW5jZWwgdG8gZXhpdC4nKSwKLSgxMzA4LCB1J1NvdXJjZSBmaWxlIG5vdCBmb3VuZDogWzJdLiAgVmVyaWZ5IHRoYXQgdGhlIGZpbGUgZXhpc3RzIGFuZCB0aGF0IHlvdSBjYW4gYWNjZXNzIGl0LicpLAotKDEzMDksIHUnRXJyb3IgcmVhZGluZyBmcm9tIGZpbGU6IFszXS4ge3sgU3lzdGVtIGVycm9yIFsyXS59fSAgVmVyaWZ5IHRoYXQgdGhlIGZpbGUgZXhpc3RzIGFuZCB0aGF0IHlvdSBjYW4gYWNjZXNzIGl0LicpLAotKDEzMTAsIHUnRXJyb3Igd3JpdGluZyB0byBmaWxlOiBbM10uIHt7IFN5c3RlbSBlcnJvciBbMl0ufX0gIFZlcmlmeSB0aGF0IHlvdSBoYXZlIGFjY2VzcyB0byB0aGF0IGRpcmVjdG9yeS4nKSwKLSgxMzExLCB1J1NvdXJjZSBmaWxlIG5vdCBmb3VuZHt7KGNhYmluZXQpfX06IFsyXS4gIFZlcmlmeSB0aGF0IHRoZSBmaWxlIGV4aXN0cyBhbmQgdGhhdCB5b3UgY2FuIGFjY2VzcyBpdC4nKSwKLSgxMzEyLCB1IkNhbm5vdCBjcmVhdGUgdGhlIGRpcmVjdG9yeSAnWzJdJy4gIEEgZmlsZSB3aXRoIHRoaXMgbmFtZSBhbHJlYWR5IGV4aXN0cy4gIFBsZWFzZSByZW5hbWUgb3IgcmVtb3ZlIHRoZSBmaWxlIGFuZCBjbGljayByZXRyeSwgb3IgY2xpY2sgQ2FuY2VsIHRvIGV4aXQuIiksCi0oMTMxMywgdSdUaGUgdm9sdW1lIFsyXSBpcyBjdXJyZW50bHkgdW5hdmFpbGFibGUuICBQbGVhc2Ugc2VsZWN0IGFub3RoZXIuJyksCi0oMTMxNCwgdSJUaGUgc3BlY2lmaWVkIHBhdGggJ1syXScgaXMgdW5hdmFpbGFibGUuIiksCi0oMTMxNSwgdSdVbmFibGUgdG8gd3JpdGUgdG8gdGhlIHNwZWNpZmllZCBmb2xkZXI6IFsyXS4nKSwKLSgxMzE2LCB1J0EgbmV0d29yayBlcnJvciBvY2N1cnJlZCB3aGlsZSBhdHRlbXB0aW5nIHRvIHJlYWQgZnJvbSB0aGUgZmlsZTogWzJdJyksCi0oMTMxNywgdSdBbiBlcnJvciBvY2N1cnJlZCB3aGlsZSBhdHRlbXB0aW5nIHRvIGNyZWF0ZSB0aGUgZGlyZWN0b3J5OiBbMl0nKSwKLSgxMzE4LCB1J0EgbmV0d29yayBlcnJvciBvY2N1cnJlZCB3aGlsZSBhdHRlbXB0aW5nIHRvIGNyZWF0ZSB0aGUgZGlyZWN0b3J5OiBbMl0nKSwKLSgxMzE5LCB1J0EgbmV0d29yayBlcnJvciBvY2N1cnJlZCB3aGlsZSBhdHRlbXB0aW5nIHRvIG9wZW4gdGhlIHNvdXJjZSBmaWxlIGNhYmluZXQ6IFsyXScpLAotKDEzMjAsIHUnVGhlIHNwZWNpZmllZCBwYXRoIGlzIHRvbyBsb25nOiBbMl0nKSwKLSgxMzIxLCB1J1RoZSBJbnN0YWxsZXIgaGFzIGluc3VmZmljaWVudCBwcml2aWxlZ2VzIHRvIG1vZGlmeSB0aGlzIGZpbGU6IFsyXS4nKSwKLSgxMzIyLCB1IkEgcG9ydGlvbiBvZiB0aGUgZm9sZGVyIHBhdGggJ1syXScgaXMgaW52YWxpZC4gIEl0IGlzIGVpdGhlciBlbXB0eSBvciBleGNlZWRzIHRoZSBsZW5ndGggYWxsb3dlZCBieSB0aGUgc3lzdGVtLiIpLAotKDEzMjMsIHUiVGhlIGZvbGRlciBwYXRoICdbMl0nIGNvbnRhaW5zIHdvcmRzIHRoYXQgYXJlIG5vdCB2YWxpZCBpbiBmb2xkZXIgcGF0aHMuIiksCi0oMTMyNCwgdSJUaGUgZm9sZGVyIHBhdGggJ1syXScgY29udGFpbnMgYW4gaW52YWxpZCBjaGFyYWN0ZXIuIiksCi0oMTMyNSwgdSInWzJdJyBpcyBub3QgYSB2YWxpZCBzaG9ydCBmaWxlIG5hbWUuIiksCi0oMTMyNiwgdSdFcnJvciBnZXR0aW5nIGZpbGUgc2VjdXJpdHk6IFszXSBHZXRMYXN0RXJyb3I6IFsyXScpLAotKDEzMjcsIHUnSW52YWxpZCBEcml2ZTogWzJdJyksCi0oMTMyOCwgdSdFcnJvciBhcHBseWluZyBwYXRjaCB0byBmaWxlIFsyXS4gIEl0IGhhcyBwcm9iYWJseSBiZWVuIHVwZGF0ZWQgYnkgb3RoZXIgbWVhbnMsIGFuZCBjYW4gbm8gbG9uZ2VyIGJlIG1vZGlmaWVkIGJ5IHRoaXMgcGF0Y2guICBGb3IgbW9yZSBpbmZvcm1hdGlvbiBjb250YWN0IHlvdXIgcGF0Y2ggdmVuZG9yLiAge3tTeXN0ZW0gRXJyb3I6IFszXX19JyksCi0oMTMyOSwgdSdBIGZpbGUgdGhhdCBpcyByZXF1aXJlZCBjYW5ub3QgYmUgaW5zdGFsbGVkIGJlY2F1c2UgdGhlIGNhYmluZXQgZmlsZSBbMl0gaXMgbm90IGRpZ2l0YWxseSBzaWduZWQuICBUaGlzIG1heSBpbmRpY2F0ZSB0aGF0IHRoZSBjYWJpbmV0IGZpbGUgaXMgY29ycnVwdC4nKSwKLSgxMzMwLCB1J0EgZmlsZSB0aGF0IGlzIHJlcXVpcmVkIGNhbm5vdCBiZSBpbnN0YWxsZWQgYmVjYXVzZSB0aGUgY2FiaW5ldCBmaWxlIFsyXSBoYXMgYW4gaW52YWxpZCBkaWdpdGFsIHNpZ25hdHVyZS4gIFRoaXMgbWF5IGluZGljYXRlIHRoYXQgdGhlIGNhYmluZXQgZmlsZSBpcyBjb3JydXB0Lnt7ICBFcnJvciBbM10gd2FzIHJldHVybmVkIGJ5IFdpblZlcmlmeVRydXN0Ln19JyksCi0oMTMzMSwgdSdGYWlsZWQgdG8gY29ycmVjdGx5IGNvcHkgWzJdIGZpbGU6IENSQyBlcnJvci4nKSwKLSgxMzMyLCB1J0ZhaWxlZCB0byBjb3JyZWN0bHkgbW92ZSBbMl0gZmlsZTogQ1JDIGVycm9yLicpLAotKDEzMzMsIHUnRmFpbGVkIHRvIGNvcnJlY3RseSBwYXRjaCBbMl0gZmlsZTogQ1JDIGVycm9yLicpLAotKDEzMzQsIHUiVGhlIGZpbGUgJ1syXScgY2Fubm90IGJlIGluc3RhbGxlZCBiZWNhdXNlIHRoZSBmaWxlIGNhbm5vdCBiZSBmb3VuZCBpbiBjYWJpbmV0IGZpbGUgJ1szXScuIFRoaXMgY291bGQgaW5kaWNhdGUgYSBuZXR3b3JrIGVycm9yLCBhbiBlcnJvciByZWFkaW5nIGZyb20gdGhlIENELVJPTSwgb3IgYSBwcm9ibGVtIHdpdGggdGhpcyBwYWNrYWdlLiIpLAotKDEzMzUsIHUiVGhlIGNhYmluZXQgZmlsZSAnWzJdJyByZXF1aXJlZCBmb3IgdGhpcyBpbnN0YWxsYXRpb24gaXMgY29ycnVwdCBhbmQgY2Fubm90IGJlIHVzZWQuIFRoaXMgY291bGQgaW5kaWNhdGUgYSBuZXR3b3JrIGVycm9yLCBhbiBlcnJvciByZWFkaW5nIGZyb20gdGhlIENELVJPTSwgb3IgYSBwcm9ibGVtIHdpdGggdGhpcyBwYWNrYWdlLiIpLAotKDEzMzYsIHUnVGhlcmUgd2FzIGFuIGVycm9yIGNyZWF0aW5nIGEgdGVtcG9yYXJ5IGZpbGUgdGhhdCBpcyBuZWVkZWQgdG8gY29tcGxldGUgdGhpcyBpbnN0YWxsYXRpb24ue3sgIEZvbGRlcjogWzNdLiBTeXN0ZW0gZXJyb3IgY29kZTogWzJdfX0nKSwKLSgxNDAxLCB1J0NvdWxkIG5vdCBjcmVhdGUga2V5OiBbMl0uIHt7IFN5c3RlbSBlcnJvciBbM10ufX0gIFZlcmlmeSB0aGF0IHlvdSBoYXZlIHN1ZmZpY2llbnQgYWNjZXNzIHRvIHRoYXQga2V5LCBvciBjb250YWN0IHlvdXIgc3VwcG9ydCBwZXJzb25uZWwuICcpLAotKDE0MDIsIHUnQ291bGQgbm90IG9wZW4ga2V5OiBbMl0uIHt7IFN5c3RlbSBlcnJvciBbM10ufX0gIFZlcmlmeSB0aGF0IHlvdSBoYXZlIHN1ZmZpY2llbnQgYWNjZXNzIHRvIHRoYXQga2V5LCBvciBjb250YWN0IHlvdXIgc3VwcG9ydCBwZXJzb25uZWwuICcpLAotKDE0MDMsIHUnQ291bGQgbm90IGRlbGV0ZSB2YWx1ZSBbMl0gZnJvbSBrZXkgWzNdLiB7eyBTeXN0ZW0gZXJyb3IgWzRdLn19ICBWZXJpZnkgdGhhdCB5b3UgaGF2ZSBzdWZmaWNpZW50IGFjY2VzcyB0byB0aGF0IGtleSwgb3IgY29udGFjdCB5b3VyIHN1cHBvcnQgcGVyc29ubmVsLiAnKSwKLSgxNDA0LCB1J0NvdWxkIG5vdCBkZWxldGUga2V5IFsyXS4ge3sgU3lzdGVtIGVycm9yIFszXS59fSAgVmVyaWZ5IHRoYXQgeW91IGhhdmUgc3VmZmljaWVudCBhY2Nlc3MgdG8gdGhhdCBrZXksIG9yIGNvbnRhY3QgeW91ciBzdXBwb3J0IHBlcnNvbm5lbC4gJyksCi0oMTQwNSwgdSdDb3VsZCBub3QgcmVhZCB2YWx1ZSBbMl0gZnJvbSBrZXkgWzNdLiB7eyBTeXN0ZW0gZXJyb3IgWzRdLn19ICBWZXJpZnkgdGhhdCB5b3UgaGF2ZSBzdWZmaWNpZW50IGFjY2VzcyB0byB0aGF0IGtleSwgb3IgY29udGFjdCB5b3VyIHN1cHBvcnQgcGVyc29ubmVsLiAnKSwKLSgxNDA2LCB1J0NvdWxkIG5vdCB3cml0ZSB2YWx1ZSBbMl0gdG8ga2V5IFszXS4ge3sgU3lzdGVtIGVycm9yIFs0XS59fSAgVmVyaWZ5IHRoYXQgeW91IGhhdmUgc3VmZmljaWVudCBhY2Nlc3MgdG8gdGhhdCBrZXksIG9yIGNvbnRhY3QgeW91ciBzdXBwb3J0IHBlcnNvbm5lbC4nKSwKLSgxNDA3LCB1J0NvdWxkIG5vdCBnZXQgdmFsdWUgbmFtZXMgZm9yIGtleSBbMl0uIHt7IFN5c3RlbSBlcnJvciBbM10ufX0gIFZlcmlmeSB0aGF0IHlvdSBoYXZlIHN1ZmZpY2llbnQgYWNjZXNzIHRvIHRoYXQga2V5LCBvciBjb250YWN0IHlvdXIgc3VwcG9ydCBwZXJzb25uZWwuJyksCi0oMTQwOCwgdSdDb3VsZCBub3QgZ2V0IHN1YiBrZXkgbmFtZXMgZm9yIGtleSBbMl0uIHt7IFN5c3RlbSBlcnJvciBbM10ufX0gIFZlcmlmeSB0aGF0IHlvdSBoYXZlIHN1ZmZpY2llbnQgYWNjZXNzIHRvIHRoYXQga2V5LCBvciBjb250YWN0IHlvdXIgc3VwcG9ydCBwZXJzb25uZWwuJyksCi0oMTQwOSwgdSdDb3VsZCBub3QgcmVhZCBzZWN1cml0eSBpbmZvcm1hdGlvbiBmb3Iga2V5IFsyXS4ge3sgU3lzdGVtIGVycm9yIFszXS59fSAgVmVyaWZ5IHRoYXQgeW91IGhhdmUgc3VmZmljaWVudCBhY2Nlc3MgdG8gdGhhdCBrZXksIG9yIGNvbnRhY3QgeW91ciBzdXBwb3J0IHBlcnNvbm5lbC4nKSwKLSgxNDEwLCB1J0NvdWxkIG5vdCBpbmNyZWFzZSB0aGUgYXZhaWxhYmxlIHJlZ2lzdHJ5IHNwYWNlLiBbMl0gS0Igb2YgZnJlZSByZWdpc3RyeSBzcGFjZSBpcyByZXF1aXJlZCBmb3IgdGhlIGluc3RhbGxhdGlvbiBvZiB0aGlzIGFwcGxpY2F0aW9uLicpLAotKDE1MDAsIHUnQW5vdGhlciBpbnN0YWxsYXRpb24gaXMgaW4gcHJvZ3Jlc3MuIFlvdSBtdXN0IGNvbXBsZXRlIHRoYXQgaW5zdGFsbGF0aW9uIGJlZm9yZSBjb250aW51aW5nIHRoaXMgb25lLicpLAotKDE1MDEsIHUnRXJyb3IgYWNjZXNzaW5nIHNlY3VyZWQgZGF0YS4gUGxlYXNlIG1ha2Ugc3VyZSB0aGUgV2luZG93cyBJbnN0YWxsZXIgaXMgY29uZmlndXJlZCBwcm9wZXJseSBhbmQgdHJ5IHRoZSBpbnN0YWxsIGFnYWluLicpLAotKDE1MDIsIHUiVXNlciAnWzJdJyBoYXMgcHJldmlvdXNseSBpbml0aWF0ZWQgYW4gaW5zdGFsbCBmb3IgcHJvZHVjdCAnWzNdJy4gIFRoYXQgdXNlciB3aWxsIG5lZWQgdG8gcnVuIHRoYXQgaW5zdGFsbCBhZ2FpbiBiZWZvcmUgdGhleSBjYW4gdXNlIHRoYXQgcHJvZHVjdC4gIFlvdXIgY3VycmVudCBpbnN0YWxsIHdpbGwgbm93IGNvbnRpbnVlLiIpLAotKDE1MDMsIHUiVXNlciAnWzJdJyBoYXMgcHJldmlvdXNseSBpbml0aWF0ZWQgYW4gaW5zdGFsbCBmb3IgcHJvZHVjdCAnWzNdJy4gIFRoYXQgdXNlciB3aWxsIG5lZWQgdG8gcnVuIHRoYXQgaW5zdGFsbCBhZ2FpbiBiZWZvcmUgdGhleSBjYW4gdXNlIHRoYXQgcHJvZHVjdC4iKSwKLSgxNjAxLCB1Ik91dCBvZiBkaXNrIHNwYWNlIC0tIFZvbHVtZTogJ1syXSc7IHJlcXVpcmVkIHNwYWNlOiBbM10gS0I7IGF2YWlsYWJsZSBzcGFjZTogWzRdIEtCLiAgRnJlZSBzb21lIGRpc2sgc3BhY2UgYW5kIHJldHJ5LiIpLAotKDE2MDIsIHUnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGNhbmNlbD8nKSwKLSgxNjAzLCB1IlRoZSBmaWxlIFsyXVszXSBpcyBiZWluZyBoZWxkIGluIHVzZXsgYnkgdGhlIGZvbGxvd2luZyBwcm9jZXNzOiBOYW1lOiBbNF0sIElkOiBbNV0sIFdpbmRvdyBUaXRsZTogJ1s2XSd9LiAgQ2xvc2UgdGhhdCBhcHBsaWNhdGlvbiBhbmQgcmV0cnkuIiksCi0oMTYwNCwgdSJUaGUgcHJvZHVjdCAnWzJdJyBpcyBhbHJlYWR5IGluc3RhbGxlZCwgcHJldmVudGluZyB0aGUgaW5zdGFsbGF0aW9uIG9mIHRoaXMgcHJvZHVjdC4gIFRoZSB0d28gcHJvZHVjdHMgYXJlIGluY29tcGF0aWJsZS4iKSwKLSgxNjA1LCB1IlRoZXJlIGlzIG5vdCBlbm91Z2ggZGlzayBzcGFjZSBvbiB0aGUgdm9sdW1lICdbMl0nIHRvIGNvbnRpbnVlIHRoZSBpbnN0YWxsIHdpdGggcmVjb3ZlcnkgZW5hYmxlZC4gWzNdIEtCIGFyZSByZXF1aXJlZCwgYnV0IG9ubHkgWzRdIEtCIGFyZSBhdmFpbGFibGUuIENsaWNrIElnbm9yZSB0byBjb250aW51ZSB0aGUgaW5zdGFsbCB3aXRob3V0IHNhdmluZyByZWNvdmVyeSBpbmZvcm1hdGlvbiwgY2xpY2sgUmV0cnkgdG8gY2hlY2sgZm9yIGF2YWlsYWJsZSBzcGFjZSBhZ2Fpbiwgb3IgY2xpY2sgQ2FuY2VsIHRvIHF1aXQgdGhlIGluc3RhbGxhdGlvbi4iKSwKLSgxNjA2LCB1J0NvdWxkIG5vdCBhY2Nlc3MgbmV0d29yayBsb2NhdGlvbiBbMl0uJyksCi0oMTYwNywgdSdUaGUgZm9sbG93aW5nIGFwcGxpY2F0aW9ucyBzaG91bGQgYmUgY2xvc2VkIGJlZm9yZSBjb250aW51aW5nIHRoZSBpbnN0YWxsOicpLAotKDE2MDgsIHUnQ291bGQgbm90IGZpbmQgYW55IHByZXZpb3VzbHkgaW5zdGFsbGVkIGNvbXBsaWFudCBwcm9kdWN0cyBvbiB0aGUgbWFjaGluZSBmb3IgaW5zdGFsbGluZyB0aGlzIHByb2R1Y3QuJyksCi0oMTYwOSwgdSJBbiBlcnJvciBvY2N1cnJlZCB3aGlsZSBhcHBseWluZyBzZWN1cml0eSBzZXR0aW5ncy4gWzJdIGlzIG5vdCBhIHZhbGlkIHVzZXIgb3IgZ3JvdXAuIFRoaXMgY291bGQgYmUgYSBwcm9ibGVtIHdpdGggdGhlIHBhY2thZ2UsIG9yIGEgcHJvYmxlbSBjb25uZWN0aW5nIHRvIGEgZG9tYWluIGNvbnRyb2xsZXIgb24gdGhlIG5ldHdvcmsuIENoZWNrIHlvdXIgbmV0d29yayBjb25uZWN0aW9uIGFuZCBjbGljayBSZXRyeSwgb3IgQ2FuY2VsIHRvIGVuZCB0aGUgaW5zdGFsbC4ge3tVbmFibGUgdG8gbG9jYXRlIHRoZSB1c2VyJ3MgU0lELCBzeXN0ZW0gZXJyb3IgWzNdfX0iKSwKLSgxNzAxLCB1J1RoZSBrZXkgWzJdIGlzIG5vdCB2YWxpZC4gIFZlcmlmeSB0aGF0IHlvdSBlbnRlcmVkIHRoZSBjb3JyZWN0IGtleS4nKSwKLSgxNzAyLCB1J1RoZSBpbnN0YWxsZXIgbXVzdCByZXN0YXJ0IHlvdXIgc3lzdGVtIGJlZm9yZSBjb25maWd1cmF0aW9uIG9mIFsyXSBjYW4gY29udGludWUuICBDbGljayBZZXMgdG8gcmVzdGFydCBub3cgb3IgTm8gaWYgeW91IHBsYW4gdG8gbWFudWFsbHkgcmVzdGFydCBsYXRlci4nKSwKLSgxNzAzLCB1J1lvdSBtdXN0IHJlc3RhcnQgeW91ciBzeXN0ZW0gZm9yIHRoZSBjb25maWd1cmF0aW9uIGNoYW5nZXMgbWFkZSB0byBbMl0gdG8gdGFrZSBlZmZlY3QuIENsaWNrIFllcyB0byByZXN0YXJ0IG5vdyBvciBObyBpZiB5b3UgcGxhbiB0byBtYW51YWxseSByZXN0YXJ0IGxhdGVyLicpLAotKDE3MDQsIHUnQW4gaW5zdGFsbGF0aW9uIGZvciBbMl0gaXMgY3VycmVudGx5IHN1c3BlbmRlZC4gIFlvdSBtdXN0IHVuZG8gdGhlIGNoYW5nZXMgbWFkZSBieSB0aGF0IGluc3RhbGxhdGlvbiB0byBjb250aW51ZS4gIERvIHlvdSB3YW50IHRvIHVuZG8gdGhvc2UgY2hhbmdlcz8nKSwKLSgxNzA1LCB1J0EgcHJldmlvdXMgaW5zdGFsbGF0aW9uIGZvciB0aGlzIHByb2R1Y3QgaXMgaW4gcHJvZ3Jlc3MuICBZb3UgbXVzdCB1bmRvIHRoZSBjaGFuZ2VzIG1hZGUgYnkgdGhhdCBpbnN0YWxsYXRpb24gdG8gY29udGludWUuICBEbyB5b3Ugd2FudCB0byB1bmRvIHRob3NlIGNoYW5nZXM/JyksCi0oMTcwNiwgdSJBbiBpbnN0YWxsYXRpb24gcGFja2FnZSBmb3IgdGhlIHByb2R1Y3QgWzJdIGNhbm5vdCBiZSBmb3VuZC4gVHJ5IHRoZSBpbnN0YWxsYXRpb24gYWdhaW4gdXNpbmcgYSB2YWxpZCBjb3B5IG9mIHRoZSBpbnN0YWxsYXRpb24gcGFja2FnZSAnWzNdJy4iKSwKLSgxNzA3LCB1J0luc3RhbGxhdGlvbiBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5LicpLAotKDE3MDgsIHUnSW5zdGFsbGF0aW9uIGZhaWxlZC4nKSwKLSgxNzA5LCB1J1Byb2R1Y3Q6IFsyXSAtLSBbM10nKSwKLSgxNzEwLCB1J1lvdSBtYXkgZWl0aGVyIHJlc3RvcmUgeW91ciBjb21wdXRlciB0byBpdHMgcHJldmlvdXMgc3RhdGUgb3IgY29udGludWUgdGhlIGluc3RhbGwgbGF0ZXIuIFdvdWxkIHlvdSBsaWtlIHRvIHJlc3RvcmU/JyksCi0oMTcxMSwgdSdBbiBlcnJvciBvY2N1cnJlZCB3aGlsZSB3cml0aW5nIGluc3RhbGxhdGlvbiBpbmZvcm1hdGlvbiB0byBkaXNrLiAgQ2hlY2sgdG8gbWFrZSBzdXJlIGVub3VnaCBkaXNrIHNwYWNlIGlzIGF2YWlsYWJsZSwgYW5kIGNsaWNrIFJldHJ5LCBvciBDYW5jZWwgdG8gZW5kIHRoZSBpbnN0YWxsLicpLAotKDE3MTIsIHUnT25lIG9yIG1vcmUgb2YgdGhlIGZpbGVzIHJlcXVpcmVkIHRvIHJlc3RvcmUgeW91ciBjb21wdXRlciB0byBpdHMgcHJldmlvdXMgc3RhdGUgY291bGQgbm90IGJlIGZvdW5kLiAgUmVzdG9yYXRpb24gd2lsbCBub3QgYmUgcG9zc2libGUuJyksCi0oMTcxMywgdSdbMl0gY2Fubm90IGluc3RhbGwgb25lIG9mIGl0cyByZXF1aXJlZCBwcm9kdWN0cy4gQ29udGFjdCB5b3VyIHRlY2huaWNhbCBzdXBwb3J0IGdyb3VwLiAge3tTeXN0ZW0gRXJyb3I6IFszXS59fScpLAotKDE3MTQsIHUnVGhlIG9sZGVyIHZlcnNpb24gb2YgWzJdIGNhbm5vdCBiZSByZW1vdmVkLiAgQ29udGFjdCB5b3VyIHRlY2huaWNhbCBzdXBwb3J0IGdyb3VwLiAge3tTeXN0ZW0gRXJyb3IgWzNdLn19JyksCi0oMTcxNSwgdSdJbnN0YWxsZWQgWzJdJyksCi0oMTcxNiwgdSdDb25maWd1cmVkIFsyXScpLAotKDE3MTcsIHUnUmVtb3ZlZCBbMl0nKSwKLSgxNzE4LCB1J0ZpbGUgWzJdIHdhcyByZWplY3RlZCBieSBkaWdpdGFsIHNpZ25hdHVyZSBwb2xpY3kuJyksCi0oMTcxOSwgdSdUaGUgV2luZG93cyBJbnN0YWxsZXIgU2VydmljZSBjb3VsZCBub3QgYmUgYWNjZXNzZWQuIFRoaXMgY2FuIG9jY3VyIGlmIHlvdSBhcmUgcnVubmluZyBXaW5kb3dzIGluIHNhZmUgbW9kZSwgb3IgaWYgdGhlIFdpbmRvd3MgSW5zdGFsbGVyIGlzIG5vdCBjb3JyZWN0bHkgaW5zdGFsbGVkLiBDb250YWN0IHlvdXIgc3VwcG9ydCBwZXJzb25uZWwgZm9yIGFzc2lzdGFuY2UuJyksCi0oMTcyMCwgdSdUaGVyZSBpcyBhIHByb2JsZW0gd2l0aCB0aGlzIFdpbmRvd3MgSW5zdGFsbGVyIHBhY2thZ2UuIEEgc2NyaXB0IHJlcXVpcmVkIGZvciB0aGlzIGluc3RhbGwgdG8gY29tcGxldGUgY291bGQgbm90IGJlIHJ1bi4gQ29udGFjdCB5b3VyIHN1cHBvcnQgcGVyc29ubmVsIG9yIHBhY2thZ2UgdmVuZG9yLiAge3tDdXN0b20gYWN0aW9uIFsyXSBzY3JpcHQgZXJyb3IgWzNdLCBbNF06IFs1XSBMaW5lIFs2XSwgQ29sdW1uIFs3XSwgWzhdIH19JyksCi0oMTcyMSwgdSdUaGVyZSBpcyBhIHByb2JsZW0gd2l0aCB0aGlzIFdpbmRvd3MgSW5zdGFsbGVyIHBhY2thZ2UuIEEgcHJvZ3JhbSByZXF1aXJlZCBmb3IgdGhpcyBpbnN0YWxsIHRvIGNvbXBsZXRlIGNvdWxkIG5vdCBiZSBydW4uIENvbnRhY3QgeW91ciBzdXBwb3J0IHBlcnNvbm5lbCBvciBwYWNrYWdlIHZlbmRvci4ge3tBY3Rpb246IFsyXSwgbG9jYXRpb246IFszXSwgY29tbWFuZDogWzRdIH19JyksCi0oMTcyMiwgdSdUaGVyZSBpcyBhIHByb2JsZW0gd2l0aCB0aGlzIFdpbmRvd3MgSW5zdGFsbGVyIHBhY2thZ2UuIEEgcHJvZ3JhbSBydW4gYXMgcGFydCBvZiB0aGUgc2V0dXAgZGlkIG5vdCBmaW5pc2ggYXMgZXhwZWN0ZWQuIENvbnRhY3QgeW91ciBzdXBwb3J0IHBlcnNvbm5lbCBvciBwYWNrYWdlIHZlbmRvci4gIHt7QWN0aW9uIFsyXSwgbG9jYXRpb246IFszXSwgY29tbWFuZDogWzRdIH19JyksCi0oMTcyMywgdSdUaGVyZSBpcyBhIHByb2JsZW0gd2l0aCB0aGlzIFdpbmRvd3MgSW5zdGFsbGVyIHBhY2thZ2UuIEEgRExMIHJlcXVpcmVkIGZvciB0aGlzIGluc3RhbGwgdG8gY29tcGxldGUgY291bGQgbm90IGJlIHJ1bi4gQ29udGFjdCB5b3VyIHN1cHBvcnQgcGVyc29ubmVsIG9yIHBhY2thZ2UgdmVuZG9yLiAge3tBY3Rpb24gWzJdLCBlbnRyeTogWzNdLCBsaWJyYXJ5OiBbNF0gfX0nKSwKLSgxNzI0LCB1J1JlbW92YWwgY29tcGxldGVkIHN1Y2Nlc3NmdWxseS4nKSwKLSgxNzI1LCB1J1JlbW92YWwgZmFpbGVkLicpLAotKDE3MjYsIHUnQWR2ZXJ0aXNlbWVudCBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5LicpLAotKDE3MjcsIHUnQWR2ZXJ0aXNlbWVudCBmYWlsZWQuJyksCi0oMTcyOCwgdSdDb25maWd1cmF0aW9uIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHkuJyksCi0oMTcyOSwgdSdDb25maWd1cmF0aW9uIGZhaWxlZC4nKSwKLSgxNzMwLCB1J1lvdSBtdXN0IGJlIGFuIEFkbWluaXN0cmF0b3IgdG8gcmVtb3ZlIHRoaXMgYXBwbGljYXRpb24uIFRvIHJlbW92ZSB0aGlzIGFwcGxpY2F0aW9uLCB5b3UgY2FuIGxvZyBvbiBhcyBhbiBBZG1pbmlzdHJhdG9yLCBvciBjb250YWN0IHlvdXIgdGVjaG5pY2FsIHN1cHBvcnQgZ3JvdXAgZm9yIGFzc2lzdGFuY2UuJyksCi0oMTgwMSwgdSdUaGUgcGF0aCBbMl0gaXMgbm90IHZhbGlkLiAgUGxlYXNlIHNwZWNpZnkgYSB2YWxpZCBwYXRoLicpLAotKDE4MDIsIHUnT3V0IG9mIG1lbW9yeS4gU2h1dCBkb3duIG90aGVyIGFwcGxpY2F0aW9ucyBiZWZvcmUgcmV0cnlpbmcuJyksCi0oMTgwMywgdSdUaGVyZSBpcyBubyBkaXNrIGluIGRyaXZlIFsyXS4gUGxlYXNlIGluc2VydCBvbmUgYW5kIGNsaWNrIFJldHJ5LCBvciBjbGljayBDYW5jZWwgdG8gZ28gYmFjayB0byB0aGUgcHJldmlvdXNseSBzZWxlY3RlZCB2b2x1bWUuJyksCi0oMTgwNCwgdSdUaGVyZSBpcyBubyBkaXNrIGluIGRyaXZlIFsyXS4gUGxlYXNlIGluc2VydCBvbmUgYW5kIGNsaWNrIFJldHJ5LCBvciBjbGljayBDYW5jZWwgdG8gcmV0dXJuIHRvIHRoZSBicm93c2UgZGlhbG9nIGFuZCBzZWxlY3QgYSBkaWZmZXJlbnQgdm9sdW1lLicpLAotKDE4MDUsIHUnVGhlIGZvbGRlciBbMl0gZG9lcyBub3QgZXhpc3QuICBQbGVhc2UgZW50ZXIgYSBwYXRoIHRvIGFuIGV4aXN0aW5nIGZvbGRlci4nKSwKLSgxODA2LCB1J1lvdSBoYXZlIGluc3VmZmljaWVudCBwcml2aWxlZ2VzIHRvIHJlYWQgdGhpcyBmb2xkZXIuJyksCi0oMTgwNywgdSdBIHZhbGlkIGRlc3RpbmF0aW9uIGZvbGRlciBmb3IgdGhlIGluc3RhbGwgY291bGQgbm90IGJlIGRldGVybWluZWQuJyksCi0oMTkwMSwgdSdFcnJvciBhdHRlbXB0aW5nIHRvIHJlYWQgZnJvbSB0aGUgc291cmNlIGluc3RhbGwgZGF0YWJhc2U6IFsyXS4nKSwKLSgxOTAyLCB1J1NjaGVkdWxpbmcgcmVib290IG9wZXJhdGlvbjogUmVuYW1pbmcgZmlsZSBbMl0gdG8gWzNdLiBNdXN0IHJlYm9vdCB0byBjb21wbGV0ZSBvcGVyYXRpb24uJyksCi0oMTkwMywgdSdTY2hlZHVsaW5nIHJlYm9vdCBvcGVyYXRpb246IERlbGV0aW5nIGZpbGUgWzJdLiBNdXN0IHJlYm9vdCB0byBjb21wbGV0ZSBvcGVyYXRpb24uJyksCi0oMTkwNCwgdSdNb2R1bGUgWzJdIGZhaWxlZCB0byByZWdpc3Rlci4gIEhSRVNVTFQgWzNdLiAgQ29udGFjdCB5b3VyIHN1cHBvcnQgcGVyc29ubmVsLicpLAotKDE5MDUsIHUnTW9kdWxlIFsyXSBmYWlsZWQgdG8gdW5yZWdpc3Rlci4gIEhSRVNVTFQgWzNdLiAgQ29udGFjdCB5b3VyIHN1cHBvcnQgcGVyc29ubmVsLicpLAotKDE5MDYsIHUnRmFpbGVkIHRvIGNhY2hlIHBhY2thZ2UgWzJdLiBFcnJvcjogWzNdLiBDb250YWN0IHlvdXIgc3VwcG9ydCBwZXJzb25uZWwuJyksCi0oMTkwNywgdSdDb3VsZCBub3QgcmVnaXN0ZXIgZm9udCBbMl0uICBWZXJpZnkgdGhhdCB5b3UgaGF2ZSBzdWZmaWNpZW50IHBlcm1pc3Npb25zIHRvIGluc3RhbGwgZm9udHMsIGFuZCB0aGF0IHRoZSBzeXN0ZW0gc3VwcG9ydHMgdGhpcyBmb250LicpLAotKDE5MDgsIHUnQ291bGQgbm90IHVucmVnaXN0ZXIgZm9udCBbMl0uIFZlcmlmeSB0aGF0IHlvdSB0aGF0IHlvdSBoYXZlIHN1ZmZpY2llbnQgcGVybWlzc2lvbnMgdG8gcmVtb3ZlIGZvbnRzLicpLAotKDE5MDksIHUnQ291bGQgbm90IGNyZWF0ZSBTaG9ydGN1dCBbMl0uIFZlcmlmeSB0aGF0IHRoZSBkZXN0aW5hdGlvbiBmb2xkZXIgZXhpc3RzIGFuZCB0aGF0IHlvdSBjYW4gYWNjZXNzIGl0LicpLAotKDE5MTAsIHUnQ291bGQgbm90IHJlbW92ZSBTaG9ydGN1dCBbMl0uIFZlcmlmeSB0aGF0IHRoZSBzaG9ydGN1dCBmaWxlIGV4aXN0cyBhbmQgdGhhdCB5b3UgY2FuIGFjY2VzcyBpdC4nKSwKLSgxOTExLCB1J0NvdWxkIG5vdCByZWdpc3RlciB0eXBlIGxpYnJhcnkgZm9yIGZpbGUgWzJdLiAgQ29udGFjdCB5b3VyIHN1cHBvcnQgcGVyc29ubmVsLicpLAotKDE5MTIsIHUnQ291bGQgbm90IHVucmVnaXN0ZXIgdHlwZSBsaWJyYXJ5IGZvciBmaWxlIFsyXS4gIENvbnRhY3QgeW91ciBzdXBwb3J0IHBlcnNvbm5lbC4nKSwKLSgxOTEzLCB1J0NvdWxkIG5vdCB1cGRhdGUgdGhlIGluaSBmaWxlIFsyXVszXS4gIFZlcmlmeSB0aGF0IHRoZSBmaWxlIGV4aXN0cyBhbmQgdGhhdCB5b3UgY2FuIGFjY2VzcyBpdC4nKSwKLSgxOTE0LCB1J0NvdWxkIG5vdCBzY2hlZHVsZSBmaWxlIFsyXSB0byByZXBsYWNlIGZpbGUgWzNdIG9uIHJlYm9vdC4gIFZlcmlmeSB0aGF0IHlvdSBoYXZlIHdyaXRlIHBlcm1pc3Npb25zIHRvIGZpbGUgWzNdLicpLAotKDE5MTUsIHUnRXJyb3IgcmVtb3ZpbmcgT0RCQyBkcml2ZXIgbWFuYWdlciwgT0RCQyBlcnJvciBbMl06IFszXS4gQ29udGFjdCB5b3VyIHN1cHBvcnQgcGVyc29ubmVsLicpLAotKDE5MTYsIHUnRXJyb3IgaW5zdGFsbGluZyBPREJDIGRyaXZlciBtYW5hZ2VyLCBPREJDIGVycm9yIFsyXTogWzNdLiBDb250YWN0IHlvdXIgc3VwcG9ydCBwZXJzb25uZWwuJyksCi0oMTkxNywgdSdFcnJvciByZW1vdmluZyBPREJDIGRyaXZlcjogWzRdLCBPREJDIGVycm9yIFsyXTogWzNdLiBWZXJpZnkgdGhhdCB5b3UgaGF2ZSBzdWZmaWNpZW50IHByaXZpbGVnZXMgdG8gcmVtb3ZlIE9EQkMgZHJpdmVycy4nKSwKLSgxOTE4LCB1J0Vycm9yIGluc3RhbGxpbmcgT0RCQyBkcml2ZXI6IFs0XSwgT0RCQyBlcnJvciBbMl06IFszXS4gVmVyaWZ5IHRoYXQgdGhlIGZpbGUgWzRdIGV4aXN0cyBhbmQgdGhhdCB5b3UgY2FuIGFjY2VzcyBpdC4nKSwKLSgxOTE5LCB1J0Vycm9yIGNvbmZpZ3VyaW5nIE9EQkMgZGF0YSBzb3VyY2U6IFs0XSwgT0RCQyBlcnJvciBbMl06IFszXS4gVmVyaWZ5IHRoYXQgdGhlIGZpbGUgWzRdIGV4aXN0cyBhbmQgdGhhdCB5b3UgY2FuIGFjY2VzcyBpdC4nKSwKLSgxOTIwLCB1IlNlcnZpY2UgJ1syXScgKFszXSkgZmFpbGVkIHRvIHN0YXJ0LiAgVmVyaWZ5IHRoYXQgeW91IGhhdmUgc3VmZmljaWVudCBwcml2aWxlZ2VzIHRvIHN0YXJ0IHN5c3RlbSBzZXJ2aWNlcy4iKSwKLSgxOTIxLCB1IlNlcnZpY2UgJ1syXScgKFszXSkgY291bGQgbm90IGJlIHN0b3BwZWQuICBWZXJpZnkgdGhhdCB5b3UgaGF2ZSBzdWZmaWNpZW50IHByaXZpbGVnZXMgdG8gc3RvcCBzeXN0ZW0gc2VydmljZXMuIiksCi0oMTkyMiwgdSJTZXJ2aWNlICdbMl0nIChbM10pIGNvdWxkIG5vdCBiZSBkZWxldGVkLiAgVmVyaWZ5IHRoYXQgeW91IGhhdmUgc3VmZmljaWVudCBwcml2aWxlZ2VzIHRvIHJlbW92ZSBzeXN0ZW0gc2VydmljZXMuIiksCi0oMTkyMywgdSJTZXJ2aWNlICdbMl0nIChbM10pIGNvdWxkIG5vdCBiZSBpbnN0YWxsZWQuICBWZXJpZnkgdGhhdCB5b3UgaGF2ZSBzdWZmaWNpZW50IHByaXZpbGVnZXMgdG8gaW5zdGFsbCBzeXN0ZW0gc2VydmljZXMuIiksCi0oMTkyNCwgdSJDb3VsZCBub3QgdXBkYXRlIGVudmlyb25tZW50IHZhcmlhYmxlICdbMl0nLiAgVmVyaWZ5IHRoYXQgeW91IGhhdmUgc3VmZmljaWVudCBwcml2aWxlZ2VzIHRvIG1vZGlmeSBlbnZpcm9ubWVudCB2YXJpYWJsZXMuIiksCi0oMTkyNSwgdSdZb3UgZG8gbm90IGhhdmUgc3VmZmljaWVudCBwcml2aWxlZ2VzIHRvIGNvbXBsZXRlIHRoaXMgaW5zdGFsbGF0aW9uIGZvciBhbGwgdXNlcnMgb2YgdGhlIG1hY2hpbmUuICBMb2cgb24gYXMgYWRtaW5pc3RyYXRvciBhbmQgdGhlbiByZXRyeSB0aGlzIGluc3RhbGxhdGlvbi4nKSwKLSgxOTI2LCB1IkNvdWxkIG5vdCBzZXQgZmlsZSBzZWN1cml0eSBmb3IgZmlsZSAnWzNdJy4gRXJyb3I6IFsyXS4gIFZlcmlmeSB0aGF0IHlvdSBoYXZlIHN1ZmZpY2llbnQgcHJpdmlsZWdlcyB0byBtb2RpZnkgdGhlIHNlY3VyaXR5IHBlcm1pc3Npb25zIGZvciB0aGlzIGZpbGUuIiksCi0oMTkyNywgdSdDb21wb25lbnQgU2VydmljZXMgKENPTSsgMS4wKSBhcmUgbm90IGluc3RhbGxlZCBvbiB0aGlzIGNvbXB1dGVyLiAgVGhpcyBpbnN0YWxsYXRpb24gcmVxdWlyZXMgQ29tcG9uZW50IFNlcnZpY2VzIGluIG9yZGVyIHRvIGNvbXBsZXRlIHN1Y2Nlc3NmdWxseS4gIENvbXBvbmVudCBTZXJ2aWNlcyBhcmUgYXZhaWxhYmxlIG9uIFdpbmRvd3MgMjAwMC4nKSwKLSgxOTI4LCB1J0Vycm9yIHJlZ2lzdGVyaW5nIENPTSsgQXBwbGljYXRpb24uICBDb250YWN0IHlvdXIgc3VwcG9ydCBwZXJzb25uZWwgZm9yIG1vcmUgaW5mb3JtYXRpb24uJyksCi0oMTkyOSwgdSdFcnJvciB1bnJlZ2lzdGVyaW5nIENPTSsgQXBwbGljYXRpb24uICBDb250YWN0IHlvdXIgc3VwcG9ydCBwZXJzb25uZWwgZm9yIG1vcmUgaW5mb3JtYXRpb24uJyksCi0oMTkzMCwgdSJUaGUgZGVzY3JpcHRpb24gZm9yIHNlcnZpY2UgJ1syXScgKFszXSkgY291bGQgbm90IGJlIGNoYW5nZWQuIiksCi0oMTkzMSwgdSdUaGUgV2luZG93cyBJbnN0YWxsZXIgc2VydmljZSBjYW5ub3QgdXBkYXRlIHRoZSBzeXN0ZW0gZmlsZSBbMl0gYmVjYXVzZSB0aGUgZmlsZSBpcyBwcm90ZWN0ZWQgYnkgV2luZG93cy4gIFlvdSBtYXkgbmVlZCB0byB1cGRhdGUgeW91ciBvcGVyYXRpbmcgc3lzdGVtIGZvciB0aGlzIHByb2dyYW0gdG8gd29yayBjb3JyZWN0bHkuIHt7UGFja2FnZSB2ZXJzaW9uOiBbM10sIE9TIFByb3RlY3RlZCB2ZXJzaW9uOiBbNF19fScpLAotKDE5MzIsIHUnVGhlIFdpbmRvd3MgSW5zdGFsbGVyIHNlcnZpY2UgY2Fubm90IHVwZGF0ZSB0aGUgcHJvdGVjdGVkIFdpbmRvd3MgZmlsZSBbMl0uIHt7UGFja2FnZSB2ZXJzaW9uOiBbM10sIE9TIFByb3RlY3RlZCB2ZXJzaW9uOiBbNF0sIFNGUCBFcnJvcjogWzVdfX0nKSwKLSgxOTMzLCB1J1RoZSBXaW5kb3dzIEluc3RhbGxlciBzZXJ2aWNlIGNhbm5vdCB1cGRhdGUgb25lIG9yIG1vcmUgcHJvdGVjdGVkIFdpbmRvd3MgZmlsZXMuIHt7U0ZQIEVycm9yOiBbMl0uICBMaXN0IG9mIHByb3RlY3RlZCBmaWxlczpcXHJcXG5bM119fScpLAotKDE5MzQsIHUnVXNlciBpbnN0YWxsYXRpb25zIGFyZSBkaXNhYmxlZCB2aWEgcG9saWN5IG9uIHRoZSBtYWNoaW5lLicpLAotKDE5MzUsIHUnQW4gZXJyb3Igb2NjdXJyZWQgZHVyaW5nIHRoZSBpbnN0YWxsYXRpb24gb2YgYXNzZW1ibHkgY29tcG9uZW50IFsyXS4gSFJFU1VMVDogWzNdLiB7e2Fzc2VtYmx5IGludGVyZmFjZTogWzRdLCBmdW5jdGlvbjogWzVdLCBhc3NlbWJseSBuYW1lOiBbNl19fScpLAotXQotCi10YWJsZXM9WydBZG1pbkV4ZWN1dGVTZXF1ZW5jZScsICdBZG1pblVJU2VxdWVuY2UnLCAnQWR2dEV4ZWN1dGVTZXF1ZW5jZScsICdCQkNvbnRyb2wnLCAnQmlsbGJvYXJkJywgJ0JpbmFyeScsICdDaGVja0JveCcsICdQcm9wZXJ0eScsICdDb21ib0JveCcsICdDb250cm9sJywgJ0xpc3RCb3gnLCAnQWN0aW9uVGV4dCcsICdDb250cm9sQ29uZGl0aW9uJywgJ0NvbnRyb2xFdmVudCcsICdEaWFsb2cnLCAnRXZlbnRNYXBwaW5nJywgJ0luc3RhbGxFeGVjdXRlU2VxdWVuY2UnLCAnSW5zdGFsbFVJU2VxdWVuY2UnLCAnTGlzdFZpZXcnLCAnUmFkaW9CdXR0b24nLCAnVGV4dFN0eWxlJywgJ1VJVGV4dCcsICdfVmFsaWRhdGlvbicsICdFcnJvciddCmRpZmYgLS1naXQgYS9Ub29scy9tc2kvdXBsb2FkcmVsZWFzZS5iYXQgYi9Ub29scy9tc2kvdXBsb2FkcmVsZWFzZS5iYXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjA2NGE2NwotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS91cGxvYWRyZWxlYXNlLmJhdApAQCAtMCwwICsxLDQ2IEBACitAc2V0bG9jYWwKK0BlY2hvIG9mZgorCitzZXQgRD0lfmRwMAorc2V0IFBDQlVJTEQ9JUQlLi5cLi5cUENCdWlsZFwKKworc2V0IEhPU1Q9CitzZXQgVVNFUj0KK3NldCBUQVJHRVQ9CitzZXQgRFJZUlVOPWZhbHNlCisKKzpDaGVja09wdHMKK2lmICIlMSIgRVFVICItaCIgZ290byBIZWxwCitpZiAiJTEiIEVRVSAiLW8iIChzZXQgSE9TVD0lfjIpICYmIHNoaWZ0ICYmIHNoaWZ0ICYmIGdvdG8gQ2hlY2tPcHRzCitpZiAiJTEiIEVRVSAiLS1ob3N0IiAoc2V0IEhPU1Q9JX4yKSAmJiBzaGlmdCAmJiBzaGlmdCAmJiBnb3RvIENoZWNrT3B0cworaWYgIiUxIiBFUVUgIi11IiAoc2V0IFVTRVI9JX4yKSAmJiBzaGlmdCAmJiBzaGlmdCAmJiBnb3RvIENoZWNrT3B0cworaWYgIiUxIiBFUVUgIi0tdXNlciIgKHNldCBVU0VSPSV+MikgJiYgc2hpZnQgJiYgc2hpZnQgJiYgZ290byBDaGVja09wdHMKK2lmICIlMSIgRVFVICItdCIgKHNldCBUQVJHRVQ9JX4yKSAmJiBzaGlmdCAmJiBzaGlmdCAmJiBnb3RvIENoZWNrT3B0cworaWYgIiUxIiBFUVUgIi0tdGFyZ2V0IiAoc2V0IFRBUkdFVD0lfjIpICYmIHNoaWZ0ICYmIHNoaWZ0ICYmIGdvdG8gQ2hlY2tPcHRzCitpZiAiJTEiIEVRVSAiLS1kcnktcnVuIiAoc2V0IERSWVJVTj10cnVlKSAmJiBzaGlmdCAmJiBnb3RvIENoZWNrT3B0cworCitpZiBub3QgZGVmaW5lZCBQTElOSyB3aGVyZSBwbGluayA+ICIlVEVNUCVccGxpbmsubG9jIiAyPiBudWwgJiYgc2V0IC9QIFBMSU5LPSA8ICIlVEVNUCVccGxpbmsubG9jIiAmIGRlbCAiJVRFTVAlXHBsaW5rLmxvYyIKK2lmIG5vdCBkZWZpbmVkIFBMSU5LIHdoZXJlIC9SICIlUHJvZ3JhbUZpbGVzKHg4NiklIiBwbGluayA+ICIlVEVNUCVccGxpbmsubG9jIiAyPiBudWwgJiYgc2V0IC9QIFBMSU5LPSA8ICIlVEVNUCVccGxpbmsubG9jIiAmIGRlbCAiJVRFTVAlXHBsaW5rLmxvYyIKK2lmIG5vdCBkZWZpbmVkIFBMSU5LIGVjaG8gQ2Fubm90IGxvY2F0ZSBwbGluay5leGUgJiBleGl0IC9CIDEKK2VjaG8gRm91bmQgcGxpbmsuZXhlIGF0ICVQTElOSyUKKworaWYgbm90IGRlZmluZWQgUFNDUCB3aGVyZSBwc2NwID4gIiVURU1QJVxwc2NwLmxvYyIgMj4gbnVsICYmIHNldCAvUCBwc2NwPSA8ICIlVEVNUCVccHNjcC5sb2MiICYgZGVsICIlVEVNUCVccHNjcC5sb2MiCitpZiBub3QgZGVmaW5lZCBQU0NQIHdoZXJlIC9SICIlUHJvZ3JhbUZpbGVzKHg4NiklIiBwc2NwID4gIiVURU1QJVxwc2NwLmxvYyIgMj4gbnVsICYmIHNldCAvUCBwc2NwPSA8ICIlVEVNUCVccHNjcC5sb2MiICYgZGVsICIlVEVNUCVccHNjcC5sb2MiCitpZiBub3QgZGVmaW5lZCBQU0NQIGVjaG8gQ2Fubm90IGxvY2F0ZSBwc2NwLmV4ZSAmIGV4aXQgL0IgMQorZWNobyBGb3VuZCBwc2NwLmV4ZSBhdCAlUFNDUCUKKworY2FsbCAiJVBDQlVJTEQlZW52LmJhdCIgPiBudWwgMj4gbnVsCittc2J1aWxkIC92Om0gL25vbG9nbyB1cGxvYWRyZWxlYXNlLnByb2ogL3Q6VXBsb2FkIC9wOlBsYXRmb3JtPXg4NgorbXNidWlsZCAvdjptIC9ub2xvZ28gdXBsb2FkcmVsZWFzZS5wcm9qIC90OlVwbG9hZCAvcDpQbGF0Zm9ybT14NjQgL3A6SW5jbHVkZURvYz1mYWxzZQorCitleGl0IC9CIDAKKworOkhlbHAKK2VjaG8gdXBsb2FkcmVsZWFzZS5iYXQgLS1ob3N0IEhPU1QgLS11c2VyIFVTRVJOQU1FIFstLXRhcmdldCBUQVJHRVRdIFstLWRyeS1ydW5dIFstaF0KK2VjaG8uCitlY2hvICAgIC0taG9zdCAoLW8pICAgICBTcGVjaWZ5IHRoZSB1cGxvYWQgaG9zdCAocmVxdWlyZWQpCitlY2hvICAgIC0tdXNlciAoLXUpICAgICBTcGVjaWZ5IHRoZSB1c2VyIG9uIHRoZSBob3N0IChyZXF1aXJlZCkKK2VjaG8gICAgLS10YXJnZXQgKC10KSAgIFNwZWNpZnkgdGhlIHRhcmdldCBkaXJlY3Rvcnkgb24gdGhlIGhvc3QKK2VjaG8gICAgLS1kcnktcnVuICAgICAgIERpc3BsYXkgY29tbWFuZHMgYW5kIGZpbGVuYW1lcyB3aXRob3V0IGV4ZWN1dGluZyB0aGVtCitlY2hvICAgIC1oICAgICAgICAgICAgICBEaXNwbGF5IHRoaXMgaGVscCBpbmZvcm1hdGlvbgorZWNoby4KZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS91cGxvYWRyZWxlYXNlLnByb2ogYi9Ub29scy9tc2kvdXBsb2FkcmVsZWFzZS5wcm9qCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEzZWJlNTcKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9tc2kvdXBsb2FkcmVsZWFzZS5wcm9qCkBAIC0wLDAgKzEsNjEgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8UHJvamVjdCBUb29sc1ZlcnNpb249IjQuMCIgRGVmYXVsdFRhcmdldHM9IkJ1aWxkIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KKyAgICA8UHJvcGVydHlHcm91cD4KKyAgICAgICAgPFByb2plY3RHdWlkPnsyRDY5RjJBQi1ENUQwLTQzNDQtODRCNS1FRjZEQjM0QTlCQzl9PC9Qcm9qZWN0R3VpZD4KKyAgICAgICAgPE91dHB1dE5hbWU+cHl0aG9uPC9PdXRwdXROYW1lPgorICAgICAgICA8T3V0cHV0U3VmZml4PjwvT3V0cHV0U3VmZml4PgorICAgICAgICAKKyAgICAgICAgPERvd25sb2FkVXJsQmFzZSBDb25kaXRpb249IickKERvd25sb2FkVXJsQmFzZSknID09ICcnIj4kKFRBUkdFVCk8L0Rvd25sb2FkVXJsQmFzZT4KKyAgICAgICAgPERvd25sb2FkVXJsQmFzZSBDb25kaXRpb249IickKERvd25sb2FkVXJsQmFzZSknID09ICcnIj4vc3J2L3d3dy5weXRob24ub3JnL2Z0cC9weXRob248L0Rvd25sb2FkVXJsQmFzZT4KKyAgICAgICAgPEluY2x1ZGVEb2MgQ29uZGl0aW9uPSInJChJbmNsdWRlRG9jKScgPT0gJyciPnRydWU8L0luY2x1ZGVEb2M+CisgICAgICAgIDxEcnlSdW4gQ29uZGl0aW9uPSInJChEcnlSdW4pJyA9PSAnJyI+ZmFsc2U8L0RyeVJ1bj4KKyAgICA8L1Byb3BlcnR5R3JvdXA+CisKKyAgICA8SW1wb3J0IFByb2plY3Q9Im1zaS5wcm9wcyIgLz4KKyAgICA8SW1wb3J0IFByb2plY3Q9ImJ1bmRsZVxidW5kbGUudGFyZ2V0cyIgLz4KKyAgICAKKyAgICA8UHJvcGVydHlHcm91cD4KKyAgICAgICAgPEVYRVRhcmdldD4kKERvd25sb2FkVXJsQmFzZS5UcmltRW5kKGAvYCkpLyQoTWFqb3JWZXJzaW9uTnVtYmVyKS4kKE1pbm9yVmVyc2lvbk51bWJlcikuJChNaWNyb1ZlcnNpb25OdW1iZXIpPC9FWEVUYXJnZXQ+CisgICAgICAgIDxNU0lUYXJnZXQ+JChEb3dubG9hZFVybC5UcmltRW5kKGAvYCkpPC9NU0lUYXJnZXQ+CisgICAgPC9Qcm9wZXJ0eUdyb3VwPgorICAgIAorICAgIDxJdGVtR3JvdXA+CisgICAgICAgIDxGaWxlIEluY2x1ZGU9IiQoT3V0cHV0UGF0aClcKi5tc2k7JChPdXRwdXRQYXRoKVwqLm1zdSI+CisgICAgICAgICAgICA8Q29weVRvPiQoTVNJVGFyZ2V0KTwvQ29weVRvPgorICAgICAgICA8L0ZpbGU+CisgICAgICAgIDxGaWxlIEluY2x1ZGU9IiQoT3V0cHV0UGF0aClcKi5leGUiPgorICAgICAgICAgICAgPENvcHlUbz4kKEVYRVRhcmdldCk8L0NvcHlUbz4KKyAgICAgICAgPC9GaWxlPgorICAgICAgICA8RmlsZSBJbmNsdWRlPSIkKFB5U291cmNlUGF0aClEb2NcYnVpbGRcaHRtbGhlbHBccHl0aG9uJChNYWpvclZlcnNpb25OdW1iZXIpJChNaW5vclZlcnNpb25OdW1iZXIpJChNaWNyb1ZlcnNpb25OdW1iZXIpJChSZWxlYXNlTGV2ZWxOYW1lKS5jaG0iIENvbmRpdGlvbj0iJChJbmNsdWRlRG9jKSI+CisgICAgICAgICAgICA8Q29weVRvPiQoRVhFVGFyZ2V0KTwvQ29weVRvPgorICAgICAgICA8L0ZpbGU+CisgICAgPC9JdGVtR3JvdXA+CisgICAgCisgICAgPFRhcmdldCBOYW1lPSJfVmFsaWRhdGVQcm9wZXJ0aWVzIj4KKyAgICAgICAgPEVycm9yIFRleHQ9Ik5vIHZhbHVlIGZvciBIb3N0IHByb3ZpZGVkIiBDb25kaXRpb249IickKEhvc3QpJyA9PSAnJyIgLz4KKyAgICAgICAgPEVycm9yIFRleHQ9Ik5vIHZhbHVlIGZvciBVc2VyIHByb3ZpZGVkIiBDb25kaXRpb249IickKFVzZXIpJyA9PSAnJyIgLz4KKyAgICAgICAgPEVycm9yIFRleHQ9Ik5vIHBhdGggZm9yIFBTQ1AgcHJvdmlkZWQiIENvbmRpdGlvbj0iJyQoUFNDUCknID09ICcnIiAvPgorICAgICAgICA8RXJyb3IgVGV4dD0iTm8gcGF0aCBmb3IgUExJTksgcHJvdmlkZWQiIENvbmRpdGlvbj0iJyQoUExJTkspJyA9PSAnJyIgLz4KKyAgICA8L1RhcmdldD4KKyAgICAKKyAgICA8VGFyZ2V0IE5hbWU9Il9VcGxvYWQiIENvbmRpdGlvbj0iISQoRHJ5UnVuKSI+CisgICAgICAgIDxFeGVjIENvbW1hbmQ9IiZxdW90OyQoUExJTkspJnF1b3Q7ICQoVXNlcilAJChIb3N0KSBta2RpciAlKEZpbGUuQ29weVRvKSBeJmFtcDteJmFtcDsgY2hncnAgZG93bmxvYWRzICUoRmlsZS5Db3B5VG8pIF4mYW1wO14mYW1wOyBjaG1vZCBnLXcsbytyeCAlKEZpbGUuQ29weVRvKQorJnF1b3Q7JChQU0NQKSZxdW90OyBAKEZpbGUsJyAnKSAkKFVzZXIpQCQoSG9zdCk6JShGaWxlLkNvcHlUbykKKyZxdW90OyQoUExJTkspJnF1b3Q7ICQoVXNlcilAJChIb3N0KSBjaGdycCBkb3dubG9hZHMgJShGaWxlLkNvcHlUbykvKiBeJmFtcDteJmFtcDsgY2htb2QgZy13LG8rciAlKEZpbGUuQ29weVRvKS8qCisiIC8+CisgICAgPC9UYXJnZXQ+CisgICAgCisgICAgPFRhcmdldCBOYW1lPSJfUHJpbnROYW1lcyIgQ29uZGl0aW9uPSIkKERyeVJ1bikiPgorICAgICAgICA8RXhlYyBDb21tYW5kPSJlY2hvICZxdW90OyQoUExJTkspJnF1b3Q7ICQoVXNlcilAJChIb3N0KSBta2RpciAlKEZpbGUuQ29weVRvKSBeJmFtcDteJmFtcDsgY2hncnAgZG93bmxvYWRzICUoRmlsZS5Db3B5VG8pIF4mYW1wO14mYW1wOyBjaG1vZCBnLXcsbytyeCAlKEZpbGUuQ29weVRvKQorZWNobyAmcXVvdDskKFBTQ1ApJnF1b3Q7IEAoRmlsZSwnICcpICQoVXNlcilAJChIb3N0KTolKEZpbGUuQ29weVRvKQorZWNobyAmcXVvdDskKFBMSU5LKSZxdW90OyAkKFVzZXIpQCQoSG9zdCkgY2hncnAgZG93bmxvYWRzICUoRmlsZS5Db3B5VG8pLyogXiZhbXA7XiZhbXA7IGNobW9kIGctdyxvK3IgJShGaWxlLkNvcHlUbykvKgorZWNoby4KK2VjaG8uIiAvPgorICAgIDwvVGFyZ2V0PgorICAgIAorICAgIDxUYXJnZXQgTmFtZT0iVXBsb2FkIiBEZXBlbmRzT25UYXJnZXRzPSJfVmFsaWRhdGVQcm9wZXJ0aWVzO19QcmludE5hbWVzO19VcGxvYWQiIC8+CisgICAgCisgICAgPFRhcmdldCBOYW1lPSJCdWlsZCI+CisgICAgICAgIDxFcnJvciBUZXh0PSJUaGlzIHNjcmlwdCBzaG91bGQgYmUgaW52b2tlZCB1c2luZyB1cGxvYWRyZWxlYXNlLmJhdC4iIC8+CisgICAgPC9UYXJnZXQ+Cis8L1Byb2plY3Q+CmRpZmYgLS1naXQgYS9Ub29scy9tc2kvd2l4LnByb3BzIGIvVG9vbHMvbXNpL3dpeC5wcm9wcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNTQ5MmY5Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL3dpeC5wcm9wcwpAQCAtMCwwICsxLDEyIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgorPFByb2plY3QgVG9vbHNWZXJzaW9uPSI0LjAiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgorICA8SW1wb3J0IFByb2plY3Q9Ii4uXC4uXFBDQnVpbGRccHl0aG9uLnByb3BzIiAvPgorICAKKyAgPFByb3BlcnR5R3JvdXA+CisgICAgPFdpeEluc3RhbGxQYXRoIENvbmRpdGlvbj0iJyQoV2l4SW5zdGFsbFBhdGgpJyA9PSAnJyBhbmQgRXhpc3RzKCckKE1TQnVpbGRUaGlzRmlsZURpcmVjdG9yeSlcV2l4JykiPiQoTVNCdWlsZFRoaXNGaWxlRGlyZWN0b3J5KVxXaXhcPC9XaXhJbnN0YWxsUGF0aD4KKyAgICA8V2l4SW5zdGFsbFBhdGggQ29uZGl0aW9uPSInJChXaXhJbnN0YWxsUGF0aCknID09ICcnIGFuZCBFeGlzdHMoJyQoRXh0ZXJuYWxzRGlyKVxXaXgnKSI+JChFeHRlcm5hbHNEaXIpXFdpeFw8L1dpeEluc3RhbGxQYXRoPgorICAgIDxXaXhJbnN0YWxsUGF0aCBDb25kaXRpb249IickKFdpeEluc3RhbGxQYXRoKScgPT0gJyciPiQoUmVnaXN0cnk6SEtFWV9MT0NBTF9NQUNISU5FXFNPRlRXQVJFXE1pY3Jvc29mdFxXaW5kb3dzIEluc3RhbGxlciBYTUxcMy45QEluc3RhbGxSb290KTwvV2l4SW5zdGFsbFBhdGg+CisgICAgPFdpeEluc3RhbGxQYXRoIENvbmRpdGlvbj0iJyQoV2l4SW5zdGFsbFBhdGgpJyA9PSAnJyI+JChSZWdpc3RyeTpIS0VZX0xPQ0FMX01BQ0hJTkVcU09GVFdBUkVcV293NjQzMk5vZGVcTWljcm9zb2Z0XFdpbmRvd3MgSW5zdGFsbGVyIFhNTFwzLjlASW5zdGFsbFJvb3QpPC9XaXhJbnN0YWxsUGF0aD4KKyAgICA8V2l4VGFyZ2V0c1BhdGg+JChXaXhJbnN0YWxsUGF0aClcV2l4LnRhcmdldHM8L1dpeFRhcmdldHNQYXRoPgorICA8L1Byb3BlcnR5R3JvdXA+Cis8L1Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvVG9vbHMvcGFyc2VyL3VucGFyc2UucHkgYi9Ub29scy9wYXJzZXIvdW5wYXJzZS5weQppbmRleCA4MzdjZDgxLi4yNThjNjQ4IDEwMDY0NAotLS0gYS9Ub29scy9wYXJzZXIvdW5wYXJzZS5weQorKysgYi9Ub29scy9wYXJzZXIvdW5wYXJzZS5weQpAQCAtNDAxLDcgKzQwMSw3IEBACiAgICAgICAgIHNlbGYuZGlzcGF0Y2godC5vcGVyYW5kKQogICAgICAgICBzZWxmLndyaXRlKCIpIikKIAotICAgIGJpbm9wID0geyAiQWRkIjoiKyIsICJTdWIiOiItIiwgIk11bHQiOiIqIiwgIkRpdiI6Ii8iLCAiTW9kIjoiJSIsCisgICAgYmlub3AgPSB7ICJBZGQiOiIrIiwgIlN1YiI6Ii0iLCAiTXVsdCI6IioiLCAiTWF0TXVsdCI6IkAiLCAiRGl2IjoiLyIsICJNb2QiOiIlIiwKICAgICAgICAgICAgICAgICAgICAgIkxTaGlmdCI6Ijw8IiwgIlJTaGlmdCI6Ij4+IiwgIkJpdE9yIjoifCIsICJCaXRYb3IiOiJeIiwgIkJpdEFuZCI6IiYiLAogICAgICAgICAgICAgICAgICAgICAiRmxvb3JEaXYiOiIvLyIsICJQb3ciOiAiKioifQogICAgIGRlZiBfQmluT3Aoc2VsZiwgdCk6CmRpZmYgLS1naXQgYS9Ub29scy9zY3JpcHRzL2RpZmYucHkgYi9Ub29scy9zY3JpcHRzL2RpZmYucHkKaW5kZXggOGJlNTI3Zi4uOTcyMGE0MyAxMDA3NTUKLS0tIGEvVG9vbHMvc2NyaXB0cy9kaWZmLnB5CisrKyBiL1Rvb2xzL3NjcmlwdHMvZGlmZi5weQpAQCAtOCw3ICs4LDcgQEAKIAogIiIiCiAKLWltcG9ydCBzeXMsIG9zLCB0aW1lLCBkaWZmbGliLCBvcHRwYXJzZQoraW1wb3J0IHN5cywgb3MsIHRpbWUsIGRpZmZsaWIsIGFyZ3BhcnNlCiBmcm9tIGRhdGV0aW1lIGltcG9ydCBkYXRldGltZSwgdGltZXpvbmUKIAogZGVmIGZpbGVfbXRpbWUocGF0aCk6CkBAIC0xOCwyMyArMTgsMjUgQEAKIAogZGVmIG1haW4oKToKIAotICAgIHVzYWdlID0gInVzYWdlOiAlcHJvZyBbb3B0aW9uc10gZnJvbWZpbGUgdG9maWxlIgotICAgIHBhcnNlciA9IG9wdHBhcnNlLk9wdGlvblBhcnNlcih1c2FnZSkKLSAgICBwYXJzZXIuYWRkX29wdGlvbigiLWMiLCBhY3Rpb249InN0b3JlX3RydWUiLCBkZWZhdWx0PUZhbHNlLCBoZWxwPSdQcm9kdWNlIGEgY29udGV4dCBmb3JtYXQgZGlmZiAoZGVmYXVsdCknKQotICAgIHBhcnNlci5hZGRfb3B0aW9uKCItdSIsIGFjdGlvbj0ic3RvcmVfdHJ1ZSIsIGRlZmF1bHQ9RmFsc2UsIGhlbHA9J1Byb2R1Y2UgYSB1bmlmaWVkIGZvcm1hdCBkaWZmJykKLSAgICBwYXJzZXIuYWRkX29wdGlvbigiLW0iLCBhY3Rpb249InN0b3JlX3RydWUiLCBkZWZhdWx0PUZhbHNlLCBoZWxwPSdQcm9kdWNlIEhUTUwgc2lkZSBieSBzaWRlIGRpZmYgKGNhbiB1c2UgLWMgYW5kIC1sIGluIGNvbmp1bmN0aW9uKScpCi0gICAgcGFyc2VyLmFkZF9vcHRpb24oIi1uIiwgYWN0aW9uPSJzdG9yZV90cnVlIiwgZGVmYXVsdD1GYWxzZSwgaGVscD0nUHJvZHVjZSBhIG5kaWZmIGZvcm1hdCBkaWZmJykKLSAgICBwYXJzZXIuYWRkX29wdGlvbigiLWwiLCAiLS1saW5lcyIsIHR5cGU9ImludCIsIGRlZmF1bHQ9MywgaGVscD0nU2V0IG51bWJlciBvZiBjb250ZXh0IGxpbmVzIChkZWZhdWx0IDMpJykKLSAgICAob3B0aW9ucywgYXJncykgPSBwYXJzZXIucGFyc2VfYXJncygpCi0KLSAgICBpZiBsZW4oYXJncykgPT0gMDoKLSAgICAgICAgcGFyc2VyLnByaW50X2hlbHAoKQotICAgICAgICBzeXMuZXhpdCgxKQotICAgIGlmIGxlbihhcmdzKSAhPSAyOgotICAgICAgICBwYXJzZXIuZXJyb3IoIm5lZWQgdG8gc3BlY2lmeSBib3RoIGEgZnJvbWZpbGUgYW5kIHRvZmlsZSIpCisgICAgcGFyc2VyID0gYXJncGFyc2UuQXJndW1lbnRQYXJzZXIoKQorICAgIHBhcnNlci5hZGRfYXJndW1lbnQoJy1jJywgYWN0aW9uPSdzdG9yZV90cnVlJywgZGVmYXVsdD1GYWxzZSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9J1Byb2R1Y2UgYSBjb250ZXh0IGZvcm1hdCBkaWZmIChkZWZhdWx0KScpCisgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgnLXUnLCBhY3Rpb249J3N0b3JlX3RydWUnLCBkZWZhdWx0PUZhbHNlLAorICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0nUHJvZHVjZSBhIHVuaWZpZWQgZm9ybWF0IGRpZmYnKQorICAgIHBhcnNlci5hZGRfYXJndW1lbnQoJy1tJywgYWN0aW9uPSdzdG9yZV90cnVlJywgZGVmYXVsdD1GYWxzZSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9J1Byb2R1Y2UgSFRNTCBzaWRlIGJ5IHNpZGUgZGlmZiAnCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcoY2FuIHVzZSAtYyBhbmQgLWwgaW4gY29uanVuY3Rpb24pJykKKyAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCctbicsIGFjdGlvbj0nc3RvcmVfdHJ1ZScsIGRlZmF1bHQ9RmFsc2UsCisgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSdQcm9kdWNlIGEgbmRpZmYgZm9ybWF0IGRpZmYnKQorICAgIHBhcnNlci5hZGRfYXJndW1lbnQoJy1sJywgJy0tbGluZXMnLCB0eXBlPWludCwgZGVmYXVsdD0zLAorICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0nU2V0IG51bWJlciBvZiBjb250ZXh0IGxpbmVzIChkZWZhdWx0IDMpJykKKyAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCdmcm9tZmlsZScpCisgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgndG9maWxlJykKKyAgICBvcHRpb25zID0gcGFyc2VyLnBhcnNlX2FyZ3MoKQogCiAgICAgbiA9IG9wdGlvbnMubGluZXMKLSAgICBmcm9tZmlsZSwgdG9maWxlID0gYXJncworICAgIGZyb21maWxlID0gb3B0aW9ucy5mcm9tZmlsZQorICAgIHRvZmlsZSA9IG9wdGlvbnMudG9maWxlCiAKICAgICBmcm9tZGF0ZSA9IGZpbGVfbXRpbWUoZnJvbWZpbGUpCiAgICAgdG9kYXRlID0gZmlsZV9tdGltZSh0b2ZpbGUpCmRpZmYgLS1naXQgYS9Ub29scy9zY3JpcHRzL2dlbmVyYXRlX29wY29kZV9oLnB5IGIvVG9vbHMvc2NyaXB0cy9nZW5lcmF0ZV9vcGNvZGVfaC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lZmExOGExCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvc2NyaXB0cy9nZW5lcmF0ZV9vcGNvZGVfaC5weQpAQCAtMCwwICsxLDU0IEBACisjIFRoaXMgc2NyaXB0IGdlbmVyYXRlcyB0aGUgb3Bjb2RlLmggaGVhZGVyIGZpbGUuCisKK2Zyb20gX19mdXR1cmVfXyBpbXBvcnQgd2l0aF9zdGF0ZW1lbnQKKworaW1wb3J0IHN5cworaGVhZGVyID0gIiIiLyogQXV0by1nZW5lcmF0ZWQgYnkgVG9vbHMvc2NyaXB0cy9nZW5lcmF0ZV9vcGNvZGVfaC5weSAqLworI2lmbmRlZiBQeV9PUENPREVfSAorI2RlZmluZSBQeV9PUENPREVfSAorI2lmZGVmIF9fY3BsdXNwbHVzCitleHRlcm4gIkMiIHsKKyNlbmRpZgorCisKKyAgICAvKiBJbnN0cnVjdGlvbiBvcGNvZGVzIGZvciBjb21waWxlZCBjb2RlICovCisiIiIKKworZm9vdGVyID0gIiIiCisvKiBFWENFUFRfSEFORExFUiBpcyBhIHNwZWNpYWwsIGltcGxpY2l0IGJsb2NrIHR5cGUgd2hpY2ggaXMgY3JlYXRlZCB3aGVuCisgICBlbnRlcmluZyBhbiBleGNlcHQgaGFuZGxlci4gSXQgaXMgbm90IGFuIG9wY29kZSBidXQgd2UgZGVmaW5lIGl0IGhlcmUKKyAgIGFzIHdlIHdhbnQgaXQgdG8gYmUgYXZhaWxhYmxlIHRvIGJvdGggZnJhbWVvYmplY3QuYyBhbmQgY2V2YWwuYywgd2hpbGUKKyAgIHJlbWFpbmluZyBwcml2YXRlLiovCisjZGVmaW5lIEVYQ0VQVF9IQU5ETEVSIDI1NworCisKK2VudW0gY21wX29wIHtQeUNtcF9MVD1QeV9MVCwgUHlDbXBfTEU9UHlfTEUsIFB5Q21wX0VRPVB5X0VRLCBQeUNtcF9ORT1QeV9ORSwKKyAgICAgICAgICAgICAgICBQeUNtcF9HVD1QeV9HVCwgUHlDbXBfR0U9UHlfR0UsIFB5Q21wX0lOLCBQeUNtcF9OT1RfSU4sCisgICAgICAgICAgICAgICAgUHlDbXBfSVMsIFB5Q21wX0lTX05PVCwgUHlDbXBfRVhDX01BVENILCBQeUNtcF9CQUR9OworCisjZGVmaW5lIEhBU19BUkcob3ApICgob3ApID49IEhBVkVfQVJHVU1FTlQpCisKKyNpZmRlZiBfX2NwbHVzcGx1cworfQorI2VuZGlmCisjZW5kaWYgLyogIVB5X09QQ09ERV9IICovCisiIiIKKworCitkZWYgbWFpbihvcGNvZGVfcHksIG91dGZpbGU9J0luY2x1ZGUvb3Bjb2RlLmgnKToKKyAgICBvcGNvZGUgPSB7fQorICAgIGV4ZWMob3BlbihvcGNvZGVfcHkpLnJlYWQoKSwgb3Bjb2RlKQorICAgIG9wbWFwID0gb3Bjb2RlWydvcG1hcCddCisgICAgd2l0aCBvcGVuKG91dGZpbGUsICd3JykgYXMgZm9iajoKKyAgICAgICAgZm9iai53cml0ZShoZWFkZXIpCisgICAgICAgIGZvciBuYW1lIGluIG9wY29kZVsnb3BuYW1lJ106CisgICAgICAgICAgICBpZiBuYW1lIGluIG9wbWFwOgorICAgICAgICAgICAgICAgIGZvYmoud3JpdGUoIiNkZWZpbmUgJS0yMHNcdCUtM3NcbiIgJSAobmFtZSwgb3BtYXBbbmFtZV0pKQorICAgICAgICAgICAgaWYgbmFtZSA9PSAnUE9QX0VYQ0VQVCc6ICMgU3BlY2lhbCBlbnRyeSBmb3IgSEFWRV9BUkdVTUVOVAorICAgICAgICAgICAgICAgIGZvYmoud3JpdGUoIiNkZWZpbmUgJS0yMHNcdCUtM2RcbiIgJQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICgnSEFWRV9BUkdVTUVOVCcsIG9wY29kZVsnSEFWRV9BUkdVTUVOVCddKSkKKyAgICAgICAgZm9iai53cml0ZShmb290ZXIpCisKKworaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKKyAgICBtYWluKHN5cy5hcmd2WzFdLCBzeXMuYXJndlsyXSkKZGlmZiAtLWdpdCBhL1Rvb2xzL3NjcmlwdHMvcnVuX3Rlc3RzLnB5IGIvVG9vbHMvc2NyaXB0cy9ydW5fdGVzdHMucHkKaW5kZXggYTZjNWRhMy4uYjU4MmUxMyAxMDA2NDQKLS0tIGEvVG9vbHMvc2NyaXB0cy9ydW5fdGVzdHMucHkKKysrIGIvVG9vbHMvc2NyaXB0cy9ydW5fdGVzdHMucHkKQEAgLTMzLDggKzMzLDYgQEAKICAgICAjIEFsbG93IHVzZXItc3BlY2lmaWVkIGludGVycHJldGVyIG9wdGlvbnMgdG8gb3ZlcnJpZGUgb3VyIGRlZmF1bHRzLgogICAgIGFyZ3MuZXh0ZW5kKHRlc3Quc3VwcG9ydC5hcmdzX2Zyb21faW50ZXJwcmV0ZXJfZmxhZ3MoKSkKIAotICAgICMgV29ya2Fyb3VuZCBmb3IgaXNzdWUgIzIwMzU1Ci0gICAgb3MuZW52aXJvbi5wb3AoIlBZVEhPTldBUk5JTkdTIiwgTm9uZSkKICAgICAjIFdvcmthcm91bmQgZm9yIGlzc3VlICMyMDM2MQogICAgIGFyZ3MuZXh0ZW5kKFsnLVcnLCAnZXJyb3I6OkJ5dGVzV2FybmluZyddKQogCkBAIC01MCw3ICs0OCwxMSBAQAogICAgICAgICBhcmdzLmV4dGVuZChbJy11JywgJ2FsbCwtbGFyZ2VmaWxlLC1hdWRpbywtZ3VpJ10pCiAgICAgYXJncy5leHRlbmQocmVncnRlc3RfYXJncykKICAgICBwcmludCgnICcuam9pbihhcmdzKSkKLSAgICBvcy5leGVjdihzeXMuZXhlY3V0YWJsZSwgYXJncykKKyAgICBpZiBzeXMucGxhdGZvcm0gPT0gJ3dpbjMyJzoKKyAgICAgICAgZnJvbSBzdWJwcm9jZXNzIGltcG9ydCBjYWxsCisgICAgICAgIHN5cy5leGl0KGNhbGwoYXJncykpCisgICAgZWxzZToKKyAgICAgICAgb3MuZXhlY3Yoc3lzLmV4ZWN1dGFibGUsIGFyZ3MpCiAKIAogaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKZGlmZiAtLWdpdCBhL1Rvb2xzL3NjcmlwdHMvd2luX2FkZDJwYXRoLnB5IGIvVG9vbHMvc2NyaXB0cy93aW5fYWRkMnBhdGgucHkKaW5kZXggYzg1YmVhNS4uMWM5YWVkYyAxMDA2NDQKLS0tIGEvVG9vbHMvc2NyaXB0cy93aW5fYWRkMnBhdGgucHkKKysrIGIvVG9vbHMvc2NyaXB0cy93aW5fYWRkMnBhdGgucHkKQEAgLTIyLDcgKzIyLDggQEAKICAgICBzY3JpcHRzID0gb3MucGF0aC5qb2luKHB5dGhvbnBhdGgsICJTY3JpcHRzIikKICAgICBhcHBkYXRhID0gb3MuZW52aXJvblsiQVBQREFUQSJdCiAgICAgaWYgaGFzYXR0cihzaXRlLCAiVVNFUl9TSVRFIik6Ci0gICAgICAgIHVzZXJwYXRoID0gc2l0ZS5VU0VSX1NJVEUucmVwbGFjZShhcHBkYXRhLCAiJUFQUERBVEElIikKKyAgICAgICAgdXNlcnNpdGUgPSBzaXRlLlVTRVJfU0lURS5yZXBsYWNlKGFwcGRhdGEsICIlQVBQREFUQSUiKQorICAgICAgICB1c2VycGF0aCA9IG9zLnBhdGguZGlybmFtZSh1c2Vyc2l0ZSkKICAgICAgICAgdXNlcnNjcmlwdHMgPSBvcy5wYXRoLmpvaW4odXNlcnBhdGgsICJTY3JpcHRzIikKICAgICBlbHNlOgogICAgICAgICB1c2Vyc2NyaXB0cyA9IE5vbmUKZGlmZiAtLWdpdCBhL1Rvb2xzL3NzbC9zc2xzcGVlZC52Y3hwcm9qIGIvVG9vbHMvc3NsL3NzbHNwZWVkLnZjeHByb2oKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGVjNDEwNgotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL3NzbC9zc2xzcGVlZC52Y3hwcm9qCkBAIC0wLDAgKzEsNzAgQEAKK++7vzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8UHJvamVjdCBEZWZhdWx0VGFyZ2V0cz0iQnVpbGQiIFRvb2xzVmVyc2lvbj0iNC4wIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KKyAgPEl0ZW1Hcm91cCBMYWJlbD0iUHJvamVjdENvbmZpZ3VyYXRpb25zIj4KKyAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iRGVidWd8V2luMzIiPgorICAgICAgPENvbmZpZ3VyYXRpb24+RGVidWc8L0NvbmZpZ3VyYXRpb24+CisgICAgICA8UGxhdGZvcm0+V2luMzI8L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IlJlbGVhc2V8V2luMzIiPgorICAgICAgPENvbmZpZ3VyYXRpb24+UmVsZWFzZTwvQ29uZmlndXJhdGlvbj4KKyAgICAgIDxQbGF0Zm9ybT5XaW4zMjwvUGxhdGZvcm0+CisgICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KKyAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iRGVidWd8eDY0Ij4KKyAgICAgIDxDb25maWd1cmF0aW9uPkRlYnVnPC9Db25maWd1cmF0aW9uPgorICAgICAgPFBsYXRmb3JtPng2NDwvUGxhdGZvcm0+CisgICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KKyAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iUmVsZWFzZXx4NjQiPgorICAgICAgPENvbmZpZ3VyYXRpb24+UmVsZWFzZTwvQ29uZmlndXJhdGlvbj4KKyAgICAgIDxQbGF0Zm9ybT54NjQ8L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgIDwvSXRlbUdyb3VwPgorICAKKyAgPFByb3BlcnR5R3JvdXAgTGFiZWw9Ikdsb2JhbHMiPgorICAgIDxQcm9qZWN0R3VpZD57RjA2OEJDQ0YtQzBENi00NzhELUEyQzUtMjZCQTMyMzdDOTkyfTwvUHJvamVjdEd1aWQ+CisgICAgPFJvb3ROYW1lc3BhY2U+c3Nsc3BlZWQ8L1Jvb3ROYW1lc3BhY2U+CisgIDwvUHJvcGVydHlHcm91cD4KKyAgCisgIDxJbXBvcnQgUHJvamVjdD0iLi5cLi5cUENCdWlsZFxweXRob24ucHJvcHMiIC8+CisgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLkRlZmF1bHQucHJvcHMiIC8+CisgIDxJbXBvcnQgUHJvamVjdD0iLi5cLi5cUENCdWlsZFxvcGVuc3NsLnByb3BzIiAvPgorICAKKyAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgorICAgIDxPcmlnaW5hbE91dERpcj4kKE91dERpcik8L09yaWdpbmFsT3V0RGlyPgorICAgIDxPdXREaXI+JChNU0J1aWxkUHJvamVjdERpcmVjdG9yeSlcJChBcmNoTmFtZSlcPC9PdXREaXI+CisgICAgPEludERpcj4kKE1TQnVpbGRQcm9qZWN0RGlyZWN0b3J5KVwkKEFyY2hOYW1lKVxvYmpcPC9JbnREaXI+CisgICAgPENvbmZpZ3VyYXRpb25UeXBlPkFwcGxpY2F0aW9uPC9Db25maWd1cmF0aW9uVHlwZT4KKyAgICA8Q2hhcmFjdGVyU2V0Pk11bHRpQnl0ZTwvQ2hhcmFjdGVyU2V0PgorICA8L1Byb3BlcnR5R3JvdXA+CisgIAorICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5wcm9wcyIgLz4KKyAgCisgIDxJdGVtR3JvdXA+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpYXBwc1xzcGVlZC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWFwcHNcYXBwcy5jIiAvPgorICA8L0l0ZW1Hcm91cD4KKyAgCisgIDxJdGVtRGVmaW5pdGlvbkdyb3VwPgorICAgIDxDbENvbXBpbGU+CisgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X0NPTlNPTEU7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgorICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+JChvcGVuc3NsSW5jRGlyKTslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgorICAgIDwvQ2xDb21waWxlPgorICAgIDxMaW5rPgorICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+d3MyXzMyLmxpYjtjcnlwdDMyLmxpYjtsaWJlYXkkKFB5RGVidWdFeHQpLmxpYjtzc2xlYXkkKFB5RGVidWdFeHQpLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgorICAgICAgPEFkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXM+JChPcmlnaW5hbE91dERpcik7JShBZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbExpYnJhcnlEaXJlY3Rvcmllcz4KKyAgICAgIDxTdWJTeXN0ZW0+Q29uc29sZTwvU3ViU3lzdGVtPgorICAgIDwvTGluaz4KKyAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgorCisgIDxJdGVtR3JvdXA+CisgICAgPFByb2plY3RSZWZlcmVuY2UgSW5jbHVkZT0iLi5cLi5cUENCdWlsZFxzc2xlYXkudmN4cHJvaiI+CisgICAgICA8UHJvamVjdD57MTA2MTViMjQtNzNiZi00ZWZhLTkzYWEtMjM2OTE2MzIxMzE3fTwvUHJvamVjdD4KKyAgICAgIDxSZWZlcmVuY2VPdXRwdXRBc3NlbWJseT5mYWxzZTwvUmVmZXJlbmNlT3V0cHV0QXNzZW1ibHk+CisgICAgPC9Qcm9qZWN0UmVmZXJlbmNlPgorICAgIDxQcm9qZWN0UmVmZXJlbmNlIEluY2x1ZGU9Ii4uXC4uXFBDQnVpbGRcbGliZWF5LnZjeHByb2oiPgorICAgICAgPFByb2plY3Q+e2U1YjA0Y2MwLWViNGMtNDJhYi1iNGRjLTE4ZWY5NWY4NjRiMH08L1Byb2plY3Q+CisgICAgICA8UmVmZXJlbmNlT3V0cHV0QXNzZW1ibHk+ZmFsc2U8L1JlZmVyZW5jZU91dHB1dEFzc2VtYmx5PgorICAgIDwvUHJvamVjdFJlZmVyZW5jZT4KKyAgPC9JdGVtR3JvdXA+CisKKyAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAudGFyZ2V0cyIgLz4KKzwvUHJvamVjdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9Ub29scy91bmljb2RlL21ha2V1bmljb2RlZGF0YS5weSBiL1Rvb2xzL3VuaWNvZGUvbWFrZXVuaWNvZGVkYXRhLnB5CmluZGV4IDc2MzZhOTUuLmI3ZDMxZTggMTAwNjQ0Ci0tLSBhL1Rvb2xzL3VuaWNvZGUvbWFrZXVuaWNvZGVkYXRhLnB5CisrKyBiL1Rvb2xzL3VuaWNvZGUvbWFrZXVuaWNvZGVkYXRhLnB5CkBAIC00Miw3ICs0Miw3IEBACiAjICAgKiBEb2MvbGlicmFyeS9zdGR0eXBlcy5yc3QsIGFuZAogIyAgICogRG9jL2xpYnJhcnkvdW5pY29kZWRhdGEucnN0CiAjICAgKiBEb2MvcmVmZXJlbmNlL2xleGljYWxfYW5hbHlzaXMucnN0ICh0d28gb2NjdXJyZW5jZXMpCi1VTklEQVRBX1ZFUlNJT04gPSAiNi4zLjAiCitVTklEQVRBX1ZFUlNJT04gPSAiNy4wLjAiCiBVTklDT0RFX0RBVEEgPSAiVW5pY29kZURhdGElcy50eHQiCiBDT01QT1NJVElPTl9FWENMVVNJT05TID0gIkNvbXBvc2l0aW9uRXhjbHVzaW9ucyVzLnR4dCIKIEVBU1RBU0lBTl9XSURUSCA9ICJFYXN0QXNpYW5XaWR0aCVzLnR4dCIKZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZSBiL2NvbmZpZ3VyZQppbmRleCAyOWNiZDM2Li4zNWEzMWJiIDEwMDc1NQotLS0gYS9jb25maWd1cmUKKysrIGIvY29uZmlndXJlCkBAIC0xLDYgKzEsNiBAQAogIyEgL2Jpbi9zaAogIyBHdWVzcyB2YWx1ZXMgZm9yIHN5c3RlbS1kZXBlbmRlbnQgdmFyaWFibGVzIGFuZCBjcmVhdGUgTWFrZWZpbGVzLgotIyBHZW5lcmF0ZWQgYnkgR05VIEF1dG9jb25mIDIuNjkgZm9yIHB5dGhvbiAzLjQuCisjIEdlbmVyYXRlZCBieSBHTlUgQXV0b2NvbmYgMi42OSBmb3IgcHl0aG9uIDMuNS4KICMKICMgUmVwb3J0IGJ1Z3MgdG8gPGh0dHA6Ly9idWdzLnB5dGhvbi5vcmcvPi4KICMKQEAgLTU4MCw4ICs1ODAsOCBAQAogIyBJZGVudGl0eSBvZiB0aGlzIHBhY2thZ2UuCiBQQUNLQUdFX05BTUU9J3B5dGhvbicKIFBBQ0tBR0VfVEFSTkFNRT0ncHl0aG9uJwotUEFDS0FHRV9WRVJTSU9OPSczLjQnCi1QQUNLQUdFX1NUUklORz0ncHl0aG9uIDMuNCcKK1BBQ0tBR0VfVkVSU0lPTj0nMy41JworUEFDS0FHRV9TVFJJTkc9J3B5dGhvbiAzLjUnCiBQQUNLQUdFX0JVR1JFUE9SVD0naHR0cDovL2J1Z3MucHl0aG9uLm9yZy8nCiBQQUNLQUdFX1VSTD0nJwogCkBAIC02NzMsNiArNjczLDcgQEAKIElOU1RBTExfREFUQQogSU5TVEFMTF9TQ1JJUFQKIElOU1RBTExfUFJPR1JBTQorT1BDT0RFSEdFTgogUFlUSE9OCiBBU0RMR0VOCiBhY19jdF9SRUFERUxGCkBAIC03OTgsNiArNzk5LDcgQEAKIGVuYWJsZV9wcm9maWxpbmcKIHdpdGhfcHlkZWJ1Zwogd2l0aF9oYXNoX2FsZ29yaXRobQord2l0aF9hZGRyZXNzX3Nhbml0aXplcgogd2l0aF9saWJzCiB3aXRoX3N5c3RlbV9leHBhdAogd2l0aF9zeXN0ZW1fZmZpCkBAIC0xMzc0LDcgKzEzNzYsNyBAQAogICAjIE9taXQgc29tZSBpbnRlcm5hbCBvciBvYnNvbGV0ZSBvcHRpb25zIHRvIG1ha2UgdGhlIGxpc3QgbGVzcyBpbXBvc2luZy4KICAgIyBUaGlzIG1lc3NhZ2UgaXMgdG9vIGxvbmcgdG8gYmUgYSBzdHJpbmcgaW4gdGhlIEEvVVggMy4xIHNoLgogICBjYXQgPDxfQUNFT0YKLVxgY29uZmlndXJlJyBjb25maWd1cmVzIHB5dGhvbiAzLjQgdG8gYWRhcHQgdG8gbWFueSBraW5kcyBvZiBzeXN0ZW1zLgorXGBjb25maWd1cmUnIGNvbmZpZ3VyZXMgcHl0aG9uIDMuNSB0byBhZGFwdCB0byBtYW55IGtpbmRzIG9mIHN5c3RlbXMuCiAKIFVzYWdlOiAkMCBbT1BUSU9OXS4uLiBbVkFSPVZBTFVFXS4uLgogCkBAIC0xNDM5LDcgKzE0NDEsNyBAQAogCiBpZiB0ZXN0IC1uICIkYWNfaW5pdF9oZWxwIjsgdGhlbgogICBjYXNlICRhY19pbml0X2hlbHAgaW4KLSAgICAgc2hvcnQgfCByZWN1cnNpdmUgKSBlY2hvICJDb25maWd1cmF0aW9uIG9mIHB5dGhvbiAzLjQ6Ijs7CisgICAgIHNob3J0IHwgcmVjdXJzaXZlICkgZWNobyAiQ29uZmlndXJhdGlvbiBvZiBweXRob24gMy41OiI7OwogICAgZXNhYwogICBjYXQgPDxcX0FDRU9GCiAKQEAgLTE0NzcsNiArMTQ3OSw4IEBACiAgIC0td2l0aC1weWRlYnVnICAgICAgICAgIGJ1aWxkIHdpdGggUHlfREVCVUcgZGVmaW5lZAogICAtLXdpdGgtaGFzaC1hbGdvcml0aG09W2ZudnxzaXBoYXNoMjRdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdCBoYXNoIGFsZ29yaXRobQorICAtLXdpdGgtYWRkcmVzcy1zYW5pdGl6ZXIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgZW5hYmxlIEFkZHJlc3NTYW5pdGl6ZXIKICAgLS13aXRoLWxpYnM9J2xpYjEgLi4uJyAgbGluayBhZ2FpbnN0IGFkZGl0aW9uYWwgbGlicwogICAtLXdpdGgtc3lzdGVtLWV4cGF0ICAgICBidWlsZCBweWV4cGF0IG1vZHVsZSB1c2luZyBhbiBpbnN0YWxsZWQgZXhwYXQKICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlicmFyeQpAQCAtMTU5MSw3ICsxNTk1LDcgQEAKIHRlc3QgLW4gIiRhY19pbml0X2hlbHAiICYmIGV4aXQgJGFjX3N0YXR1cwogaWYgJGFjX2luaXRfdmVyc2lvbjsgdGhlbgogICBjYXQgPDxcX0FDRU9GCi1weXRob24gY29uZmlndXJlIDMuNAorcHl0aG9uIGNvbmZpZ3VyZSAzLjUKIGdlbmVyYXRlZCBieSBHTlUgQXV0b2NvbmYgMi42OQogCiBDb3B5cmlnaHQgKEMpIDIwMTIgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCkBAIC0yNDMwLDcgKzI0MzQsNyBAQAogVGhpcyBmaWxlIGNvbnRhaW5zIGFueSBtZXNzYWdlcyBwcm9kdWNlZCBieSBjb21waWxlcnMgd2hpbGUKIHJ1bm5pbmcgY29uZmlndXJlLCB0byBhaWQgZGVidWdnaW5nIGlmIGNvbmZpZ3VyZSBtYWtlcyBhIG1pc3Rha2UuCiAKLUl0IHdhcyBjcmVhdGVkIGJ5IHB5dGhvbiAkYXNfbWUgMy40LCB3aGljaCB3YXMKK0l0IHdhcyBjcmVhdGVkIGJ5IHB5dGhvbiAkYXNfbWUgMy41LCB3aGljaCB3YXMKIGdlbmVyYXRlZCBieSBHTlUgQXV0b2NvbmYgMi42OS4gIEludm9jYXRpb24gY29tbWFuZCBsaW5lIHdhcwogCiAgICQgJDAgJEAKQEAgLTMwMDMsNyArMzAwNyw3IEBACiBtdiBjb25mZGVmcy5oLm5ldyBjb25mZGVmcy5oCiAKIAotVkVSU0lPTj0zLjQKK1ZFUlNJT049My41CiAKICMgVmVyc2lvbiBudW1iZXIgb2YgUHl0aG9uJ3Mgb3duIHNoYXJlZCBsaWJyYXJ5IGZpbGUuCiAKQEAgLTYwNjIsNiArNjA2Niw1NyBAQAogZmkKIAogCitmb3IgYWNfcHJvZyBpbiBweXRob24kUEFDS0FHRV9WRVJTSU9OIHB5dGhvbjMgcHl0aG9uCitkbworICAjIEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2YgIiRhY19wcm9nIiwgc28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJncy4KK3NldCBkdW1teSAkYWNfcHJvZzsgYWNfd29yZD0kMgoreyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgJGFjX3dvcmQiID4mNQorJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yICRhY193b3JkLi4uICIgPiY2OyB9CitpZiAke2FjX2N2X3Byb2dfUFlUSE9OKzp9IGZhbHNlOyB0aGVuIDoKKyAgJGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYKK2Vsc2UKKyAgaWYgdGVzdCAtbiAiJFBZVEhPTiI7IHRoZW4KKyAgYWNfY3ZfcHJvZ19QWVRIT049IiRQWVRIT04iICMgTGV0IHRoZSB1c2VyIG92ZXJyaWRlIHRoZSB0ZXN0LgorZWxzZQorYXNfc2F2ZV9JRlM9JElGUzsgSUZTPSRQQVRIX1NFUEFSQVRPUgorZm9yIGFzX2RpciBpbiAkUEFUSAorZG8KKyAgSUZTPSRhc19zYXZlX0lGUworICB0ZXN0IC16ICIkYXNfZGlyIiAmJiBhc19kaXI9LgorICAgIGZvciBhY19leGVjX2V4dCBpbiAnJyAkYWNfZXhlY3V0YWJsZV9leHRlbnNpb25zOyBkbworICBpZiBhc19mbl9leGVjdXRhYmxlX3AgIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiOyB0aGVuCisgICAgYWNfY3ZfcHJvZ19QWVRIT049IiRhY19wcm9nIgorICAgICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGZvdW5kICRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiID4mNQorICAgIGJyZWFrIDIKKyAgZmkKK2RvbmUKKyAgZG9uZQorSUZTPSRhc19zYXZlX0lGUworCitmaQorZmkKK1BZVEhPTj0kYWNfY3ZfcHJvZ19QWVRIT04KK2lmIHRlc3QgLW4gIiRQWVRIT04iOyB0aGVuCisgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkUFlUSE9OIiA+JjUKKyRhc19lY2hvICIkUFlUSE9OIiA+JjY7IH0KK2Vsc2UKKyAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6IG5vIiA+JjUKKyRhc19lY2hvICJubyIgPiY2OyB9CitmaQorCisKKyAgdGVzdCAtbiAiJFBZVEhPTiIgJiYgYnJlYWsKK2RvbmUKK3Rlc3QgLW4gIiRQWVRIT04iIHx8IFBZVEhPTj0ibm90LWZvdW5kIgorCitpZiB0ZXN0ICIkUFlUSE9OIiA9IG5vdC1mb3VuZDsgdGhlbgorICAgIE9QQ09ERUhHRU49IkBlY2hvIHB5dGhvbjogJFBZVEhPTiEgY2Fubm90IHJ1biBUb29scy9zY3JpcHRzL2dlbmVyYXRlX29wY29kZV9oLnB5IgorZWxzZQorICAgIE9QQ09ERUhHRU49IiRQWVRIT04iCitmaQorCisKKwogY2FzZSAkTUFDSERFUCBpbgogYnNkb3MqfGhwKnxIUCopCiAJIyBpbnN0YWxsIC1kIGRvZXMgbm90IHdvcmsgb24gQlNESSBvciBIUC1VWApAQCAtNjQ3NCw2ICs2NTI5LDk0IEBACiAgICAgICBDRkxBR1NfTk9ESVNUPSIkQ0ZMQUdTX05PRElTVCAtV2Vycm9yPWRlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVudCIKICAgICBmaQogCisgICAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBpZiB3ZSBjYW4gdHVybiBvbiAkQ0MgbWl4ZWQgc2lnbiBjb21wYXJpc29uIHdhcm5pbmciID4mNQorJGFzX2VjaG9fbiAiY2hlY2tpbmcgaWYgd2UgY2FuIHR1cm4gb24gJENDIG1peGVkIHNpZ24gY29tcGFyaXNvbiB3YXJuaW5nLi4uICIgPiY2OyB9CisgICAgIGFjX3NhdmVfY2M9IiRDQyIKKyAgICAgQ0M9IiRDQyAtV3NpZ24tY29tcGFyZSIKKyAgICAgc2F2ZV9DRkxBR1M9IiRDRkxBR1MiCisgICAgIGlmICR7YWNfY3ZfZW5hYmxlX3NpZ25fY29tcGFyZV93YXJuaW5nKzp9IGZhbHNlOyB0aGVuIDoKKyAgJGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYKK2Vsc2UKKyAgY2F0IGNvbmZkZWZzLmggLSA8PF9BQ0VPRiA+Y29uZnRlc3QuJGFjX2V4dAorLyogZW5kIGNvbmZkZWZzLmguICAqLworCisKK2ludAorbWFpbiAoKQoreworCisgIDsKKyAgcmV0dXJuIDA7Cit9CisKK19BQ0VPRgoraWYgYWNfZm5fY190cnlfY29tcGlsZSAiJExJTkVOTyI7IHRoZW4gOgorCisgICAgICAgICAgIGFjX2N2X2VuYWJsZV9zaWduX2NvbXBhcmVfd2FybmluZz15ZXMKKworZWxzZQorCisgICAgICAgICAgIGFjX2N2X2VuYWJsZV9zaWduX2NvbXBhcmVfd2FybmluZz1ubworCitmaQorcm0gLWYgY29yZSBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX29iamV4dCBjb25mdGVzdC4kYWNfZXh0CitmaQorCisgICAgIENGTEFHUz0iJHNhdmVfQ0ZMQUdTIgorICAgICBDQz0iJGFjX3NhdmVfY2MiCisgICAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRhY19jdl9lbmFibGVfc2lnbl9jb21wYXJlX3dhcm5pbmciID4mNQorJGFzX2VjaG8gIiRhY19jdl9lbmFibGVfc2lnbl9jb21wYXJlX3dhcm5pbmciID4mNjsgfQorCisgICAgaWYgdGVzdCAkYWNfY3ZfZW5hYmxlX3NpZ25fY29tcGFyZV93YXJuaW5nID0geWVzCisgICAgdGhlbgorICAgICAgQkFTRUNGTEFHUz0iJEJBU0VDRkxBR1MgLVdzaWduLWNvbXBhcmUiCisgICAgZmkKKworICAgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgaWYgd2UgY2FuIHR1cm4gb24gJENDIHVucmVhY2hhYmxlIGNvZGUgd2FybmluZyIgPiY1CiskYXNfZWNob19uICJjaGVja2luZyBpZiB3ZSBjYW4gdHVybiBvbiAkQ0MgdW5yZWFjaGFibGUgY29kZSB3YXJuaW5nLi4uICIgPiY2OyB9CisgICAgIGFjX3NhdmVfY2M9IiRDQyIKKyAgICAgQ0M9IiRDQyAtV3VucmVhY2hhYmxlLWNvZGUiCisgICAgIHNhdmVfQ0ZMQUdTPSIkQ0ZMQUdTIgorICAgICBpZiAke2FjX2N2X2VuYWJsZV91bnJlYWNoYWJsZV9jb2RlX3dhcm5pbmcrOn0gZmFsc2U7IHRoZW4gOgorICAkYXNfZWNob19uICIoY2FjaGVkKSAiID4mNgorZWxzZQorICBjYXQgY29uZmRlZnMuaCAtIDw8X0FDRU9GID5jb25mdGVzdC4kYWNfZXh0CisvKiBlbmQgY29uZmRlZnMuaC4gICovCisKKworaW50CittYWluICgpCit7CisKKyAgOworICByZXR1cm4gMDsKK30KKworX0FDRU9GCitpZiBhY19mbl9jX3RyeV9jb21waWxlICIkTElORU5PIjsgdGhlbiA6CisKKyAgICAgICAgICAgYWNfY3ZfZW5hYmxlX3VucmVhY2hhYmxlX2NvZGVfd2FybmluZz15ZXMKKworZWxzZQorCisgICAgICAgICAgIGFjX2N2X2VuYWJsZV91bnJlYWNoYWJsZV9jb2RlX3dhcm5pbmc9bm8KKworZmkKK3JtIC1mIGNvcmUgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19vYmpleHQgY29uZnRlc3QuJGFjX2V4dAorZmkKKworICAgICBDRkxBR1M9IiRzYXZlX0NGTEFHUyIKKyAgICAgQ0M9IiRhY19zYXZlX2NjIgorICAgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkYWNfY3ZfZW5hYmxlX3VucmVhY2hhYmxlX2NvZGVfd2FybmluZyIgPiY1CiskYXNfZWNobyAiJGFjX2N2X2VuYWJsZV91bnJlYWNoYWJsZV9jb2RlX3dhcm5pbmciID4mNjsgfQorCisgICAgIyBEb24ndCBlbmFibGUgdW5yZWFjaGFibGUgY29kZSB3YXJuaW5nIGluIGRlYnVnIG1vZGUsIHNpbmNlIGl0IHVzdWFsbHkKKyAgICAjIHJlc3VsdHMgaW4gbm9uLXN0YW5kYXJkIGNvZGUgcGF0aHMuCisgICAgaWYgdGVzdCAkYWNfY3ZfZW5hYmxlX3VucmVhY2hhYmxlX2NvZGVfd2FybmluZyA9IHllcyAmJiB0ZXN0ICIkUHlfREVCVUciICE9ICJ0cnVlIgorICAgIHRoZW4KKyAgICAgIEJBU0VDRkxBR1M9IiRCQVNFQ0ZMQUdTIC1XdW5yZWFjaGFibGUtY29kZSIKKyAgICBmaQorCiAgICAgIyBpZiB1c2luZyBnY2Mgb24gYWxwaGEsIHVzZSAtbWllZWUgdG8gZ2V0IChuZWFyKSBmdWxsIElFRUUgNzU0CiAgICAgIyBzdXBwb3J0LiAgV2l0aG91dCB0aGlzLCB0cmVhdG1lbnQgb2Ygc3Vibm9ybWFscyBkb2Vzbid0IGZvbGxvdwogICAgICMgdGhlIHN0YW5kYXJkLgpAQCAtOTE3Niw2ICs5MzE5LDIzIEBACiBmaQogCiAKK3sgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yIC0td2l0aC1hZGRyZXNzLXNhbml0aXplciIgPiY1CiskYXNfZWNob19uICJjaGVja2luZyBmb3IgLS13aXRoLWFkZHJlc3Mtc2FuaXRpemVyLi4uICIgPiY2OyB9CisKKyMgQ2hlY2sgd2hldGhlciAtLXdpdGgtYWRkcmVzc19zYW5pdGl6ZXIgd2FzIGdpdmVuLgoraWYgdGVzdCAiJHt3aXRoX2FkZHJlc3Nfc2FuaXRpemVyK3NldH0iID0gc2V0OyB0aGVuIDoKKyAgd2l0aHZhbD0kd2l0aF9hZGRyZXNzX3Nhbml0aXplcjsKK3sgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkd2l0aHZhbCIgPiY1CiskYXNfZWNobyAiJHdpdGh2YWwiID4mNjsgfQorQkFTRUNGTEFHUz0iLWZzYW5pdGl6ZT1hZGRyZXNzIC1mbm8tb21pdC1mcmFtZS1wb2ludGVyICRCQVNFQ0ZMQUdTIgorTERGTEFHUz0iLWZzYW5pdGl6ZT1hZGRyZXNzICRMREZMQUdTIgorCitlbHNlCisgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiBubyIgPiY1CiskYXNfZWNobyAibm8iID4mNjsgfQorZmkKKworCiAjIE1vc3QgU1ZSNCBwbGF0Zm9ybXMgKGUuZy4gU29sYXJpcykgbmVlZCAtbHNvY2tldCBhbmQgLWxuc2wuCiB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciB0X29wZW4gaW4gLWxuc2wiID4mNQogJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yIHRfb3BlbiBpbiAtbG5zbC4uLiAiID4mNjsgfQpAQCAtMTE4MjIsNiArMTE5ODIsNyBAQAogJGFzX2VjaG8gIiRhY19jdl9saWJfcnRfY2xvY2tfZ2V0dGltZSIgPiY2OyB9CiBpZiB0ZXN0ICJ4JGFjX2N2X2xpYl9ydF9jbG9ja19nZXR0aW1lIiA9IHh5ZXM7IHRoZW4gOgogCisgICAgICAgIExJQlM9IiRMSUJTIC1scnQiCiAgICAgICAgICRhc19lY2hvICIjZGVmaW5lIEhBVkVfQ0xPQ0tfR0VUVElNRSAxIiA+PmNvbmZkZWZzLmgKIAogCkBAIC0xMzI2NSw2ICsxMzQyNiwzOCBAQAogCiBmaQogCit7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIHdoZXRoZXIgd2UgY2FuIHVzZSBnY2MgaW5saW5lIGFzc2VtYmxlciB0byBnZXQgYW5kIHNldCBtYzY4ODgxIGZwY3IiID4mNQorJGFzX2VjaG9fbiAiY2hlY2tpbmcgd2hldGhlciB3ZSBjYW4gdXNlIGdjYyBpbmxpbmUgYXNzZW1ibGVyIHRvIGdldCBhbmQgc2V0IG1jNjg4ODEgZnBjci4uLiAiID4mNjsgfQorY2F0IGNvbmZkZWZzLmggLSA8PF9BQ0VPRiA+Y29uZnRlc3QuJGFjX2V4dAorLyogZW5kIGNvbmZkZWZzLmguICAqLworCitpbnQKK21haW4gKCkKK3sKKworICB1bnNpZ25lZCBpbnQgZnBjcjsKKyAgX19hc21fXyBfX3ZvbGF0aWxlX18gKCJmbW92ZS5sICUlZnBjciwlMCIgOiAiPWciIChmcGNyKSk7CisgIF9fYXNtX18gX192b2xhdGlsZV9fICgiZm1vdmUubCAlMCwlJWZwY3IiIDogOiAiZyIgKGZwY3IpKTsKKworICA7CisgIHJldHVybiAwOworfQorX0FDRU9GCitpZiBhY19mbl9jX3RyeV9jb21waWxlICIkTElORU5PIjsgdGhlbiA6CisgIGhhdmVfZ2NjX2FzbV9mb3JfbWM2ODg4MT15ZXMKK2Vsc2UKKyAgaGF2ZV9nY2NfYXNtX2Zvcl9tYzY4ODgxPW5vCitmaQorcm0gLWYgY29yZSBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX29iamV4dCBjb25mdGVzdC4kYWNfZXh0Cit7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJGhhdmVfZ2NjX2FzbV9mb3JfbWM2ODg4MSIgPiY1CiskYXNfZWNobyAiJGhhdmVfZ2NjX2FzbV9mb3JfbWM2ODg4MSIgPiY2OyB9CitpZiB0ZXN0ICIkaGF2ZV9nY2NfYXNtX2Zvcl9tYzY4ODgxIiA9IHllcwordGhlbgorCiskYXNfZWNobyAiI2RlZmluZSBIQVZFX0dDQ19BU01fRk9SX01DNjg4ODEgMSIgPj5jb25mZGVmcy5oCisKK2ZpCisKICMgRGV0ZWN0IHdoZXRoZXIgc3lzdGVtIGFyaXRobWV0aWMgaXMgc3ViamVjdCB0byB4ODctc3R5bGUgZG91YmxlCiAjIHJvdW5kaW5nIGlzc3Vlcy4gIFRoZSByZXN1bHQgb2YgdGhpcyB0ZXN0IGhhcyBsaXR0bGUgbWVhbmluZyBvbiBub24KICMgSUVFRSA3NTQgcGxhdGZvcm1zLiAgT24gSUVFRSA3NTQsIHRlc3Qgc2hvdWxkIHJldHVybiAxIGlmIHJvdW5kaW5nCkBAIC0xNDQxNCw2ICsxNDYwNyw0OSBAQAogCiBmaQogCit7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciBhcHBlbmRfaGlzdG9yeSBpbiAtbHJlYWRsaW5lIiA+JjUKKyRhc19lY2hvX24gImNoZWNraW5nIGZvciBhcHBlbmRfaGlzdG9yeSBpbiAtbHJlYWRsaW5lLi4uICIgPiY2OyB9CitpZiAke2FjX2N2X2xpYl9yZWFkbGluZV9hcHBlbmRfaGlzdG9yeSs6fSBmYWxzZTsgdGhlbiA6CisgICRhc19lY2hvX24gIihjYWNoZWQpICIgPiY2CitlbHNlCisgIGFjX2NoZWNrX2xpYl9zYXZlX0xJQlM9JExJQlMKK0xJQlM9Ii1scmVhZGxpbmUgJFJFQURMSU5FX0xJQlMgJExJQlMiCitjYXQgY29uZmRlZnMuaCAtIDw8X0FDRU9GID5jb25mdGVzdC4kYWNfZXh0CisvKiBlbmQgY29uZmRlZnMuaC4gICovCisKKy8qIE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLgorICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCisgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLworI2lmZGVmIF9fY3BsdXNwbHVzCitleHRlcm4gIkMiCisjZW5kaWYKK2NoYXIgYXBwZW5kX2hpc3RvcnkgKCk7CitpbnQKK21haW4gKCkKK3sKK3JldHVybiBhcHBlbmRfaGlzdG9yeSAoKTsKKyAgOworICByZXR1cm4gMDsKK30KK19BQ0VPRgoraWYgYWNfZm5fY190cnlfbGluayAiJExJTkVOTyI7IHRoZW4gOgorICBhY19jdl9saWJfcmVhZGxpbmVfYXBwZW5kX2hpc3Rvcnk9eWVzCitlbHNlCisgIGFjX2N2X2xpYl9yZWFkbGluZV9hcHBlbmRfaGlzdG9yeT1ubworZmkKK3JtIC1mIGNvcmUgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19vYmpleHQgXAorICAgIGNvbmZ0ZXN0JGFjX2V4ZWV4dCBjb25mdGVzdC4kYWNfZXh0CitMSUJTPSRhY19jaGVja19saWJfc2F2ZV9MSUJTCitmaQoreyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRhY19jdl9saWJfcmVhZGxpbmVfYXBwZW5kX2hpc3RvcnkiID4mNQorJGFzX2VjaG8gIiRhY19jdl9saWJfcmVhZGxpbmVfYXBwZW5kX2hpc3RvcnkiID4mNjsgfQoraWYgdGVzdCAieCRhY19jdl9saWJfcmVhZGxpbmVfYXBwZW5kX2hpc3RvcnkiID0geHllczsgdGhlbiA6CisKKyRhc19lY2hvICIjZGVmaW5lIEhBVkVfUkxfQVBQRU5EX0hJU1RPUlkgMSIgPj5jb25mZGVmcy5oCisKK2ZpCisKKwogIyBFbmQgb2YgcmVhZGxpbmUgY2hlY2tzOiByZXN0b3JlIExJQlMKIExJQlM9JExJQlNfbm9fcmVhZGxpbmUKIApAQCAtMTUzMzAsNyArMTU1NjYsNyBAQAogZG9uZQogCiAKLVNSQ0RJUlM9IlBhcnNlciBHcmFtbWFyIE9iamVjdHMgUHl0aG9uIE1vZHVsZXMgTWFjIgorU1JDRElSUz0iUGFyc2VyIEdyYW1tYXIgT2JqZWN0cyBQeXRob24gTW9kdWxlcyBNYWMgUHJvZ3JhbXMiCiB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciBidWlsZCBkaXJlY3RvcmllcyIgPiY1CiAkYXNfZWNob19uICJjaGVja2luZyBmb3IgYnVpbGQgZGlyZWN0b3JpZXMuLi4gIiA+JjY7IH0KIGZvciBkaXIgaW4gJFNSQ0RJUlM7IGRvCkBAIC0xNTQ3MSw2ICsxNTcwNyw3MiBAQAogICAgIGVzYWMKIGZpCiAKKyMgQ2hlY2sgZm9yIHN0ZGF0b21pYy5oCit7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciBzdGRhdG9taWMuaCIgPiY1CiskYXNfZWNob19uICJjaGVja2luZyBmb3Igc3RkYXRvbWljLmguLi4gIiA+JjY7IH0KK2NhdCBjb25mZGVmcy5oIC0gPDxfQUNFT0YgPmNvbmZ0ZXN0LiRhY19leHQKKy8qIGVuZCBjb25mZGVmcy5oLiAgKi8KKworCisgICAgI2luY2x1ZGUgPHN0ZGF0b21pYy5oPgorICAgIGF0b21pY19pbnQgdmFsdWUgPSBBVE9NSUNfVkFSX0lOSVQoMSk7CisgICAgX0F0b21pYyB2b2lkICpweV9hdG9taWNfYWRkcmVzcyA9ICh2b2lkKikgJnZhbHVlOworICAgIGludCBtYWluKCkgeworICAgICAgaW50IGxvYWRlZF92YWx1ZSA9IGF0b21pY19sb2FkKCZ2YWx1ZSk7CisgICAgICByZXR1cm4gMDsKKyAgICB9CisKKworX0FDRU9GCitpZiBhY19mbl9jX3RyeV9saW5rICIkTElORU5PIjsgdGhlbiA6CisgIGhhdmVfc3RkYXRvbWljX2g9eWVzCitlbHNlCisgIGhhdmVfc3RkYXRvbWljX2g9bm8KK2ZpCitybSAtZiBjb3JlIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNfb2JqZXh0IFwKKyAgICBjb25mdGVzdCRhY19leGVleHQgY29uZnRlc3QuJGFjX2V4dAorCit7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJGhhdmVfc3RkYXRvbWljX2giID4mNQorJGFzX2VjaG8gIiRoYXZlX3N0ZGF0b21pY19oIiA+JjY7IH0KKworaWYgdGVzdCAiJGhhdmVfc3RkYXRvbWljX2giID0geWVzOyB0aGVuCisKKyRhc19lY2hvICIjZGVmaW5lIEhBVkVfU1REX0FUT01JQyAxIiA+PmNvbmZkZWZzLmgKKworZmkKKworIyBDaGVjayBmb3IgR0NDID49IDQuNyBfX2F0b21pYyBidWlsdGlucworeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgR0NDID49IDQuNyBfX2F0b21pYyBidWlsdGlucyIgPiY1CiskYXNfZWNob19uICJjaGVja2luZyBmb3IgR0NDID49IDQuNyBfX2F0b21pYyBidWlsdGlucy4uLiAiID4mNjsgfQorY2F0IGNvbmZkZWZzLmggLSA8PF9BQ0VPRiA+Y29uZnRlc3QuJGFjX2V4dAorLyogZW5kIGNvbmZkZWZzLmguICAqLworCisKKyAgICB2b2xhdGlsZSBpbnQgdmFsID0gMTsKKyAgICBpbnQgbWFpbigpIHsKKyAgICAgIF9fYXRvbWljX2xvYWRfbigmdmFsLCBfX0FUT01JQ19TRVFfQ1NUKTsKKyAgICAgIHJldHVybiAwOworICAgIH0KKworCitfQUNFT0YKK2lmIGFjX2ZuX2NfdHJ5X2xpbmsgIiRMSU5FTk8iOyB0aGVuIDoKKyAgaGF2ZV9idWlsdGluX2F0b21pYz15ZXMKK2Vsc2UKKyAgaGF2ZV9idWlsdGluX2F0b21pYz1ubworZmkKK3JtIC1mIGNvcmUgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19vYmpleHQgXAorICAgIGNvbmZ0ZXN0JGFjX2V4ZWV4dCBjb25mdGVzdC4kYWNfZXh0CisKK3sgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkaGF2ZV9idWlsdGluX2F0b21pYyIgPiY1CiskYXNfZWNobyAiJGhhdmVfYnVpbHRpbl9hdG9taWMiID4mNjsgfQorCitpZiB0ZXN0ICIkaGF2ZV9idWlsdGluX2F0b21pYyIgPSB5ZXM7IHRoZW4KKworJGFzX2VjaG8gIiNkZWZpbmUgSEFWRV9CVUlMVElOX0FUT01JQyAxIiA+PmNvbmZkZWZzLmgKKworZmkKKwogIyBlbnN1cmVwaXAgb3B0aW9uCiB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciBlbnN1cmVwaXAiID4mNQogJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yIGVuc3VyZXBpcC4uLiAiID4mNjsgfQpAQCAtMTYwMDgsNyArMTYzMTAsNyBAQAogIyByZXBvcnQgYWN0dWFsIGlucHV0IHZhbHVlcyBvZiBDT05GSUdfRklMRVMgZXRjLiBpbnN0ZWFkIG9mIHRoZWlyCiAjIHZhbHVlcyBhZnRlciBvcHRpb25zIGhhbmRsaW5nLgogYWNfbG9nPSIKLVRoaXMgZmlsZSB3YXMgZXh0ZW5kZWQgYnkgcHl0aG9uICRhc19tZSAzLjQsIHdoaWNoIHdhcworVGhpcyBmaWxlIHdhcyBleHRlbmRlZCBieSBweXRob24gJGFzX21lIDMuNSwgd2hpY2ggd2FzCiBnZW5lcmF0ZWQgYnkgR05VIEF1dG9jb25mIDIuNjkuICBJbnZvY2F0aW9uIGNvbW1hbmQgbGluZSB3YXMKIAogICBDT05GSUdfRklMRVMgICAgPSAkQ09ORklHX0ZJTEVTCkBAIC0xNjA3MCw3ICsxNjM3Miw3IEBACiBjYXQgPj4kQ09ORklHX1NUQVRVUyA8PF9BQ0VPRiB8fCBhY193cml0ZV9mYWlsPTEKIGFjX2NzX2NvbmZpZz0iYCRhc19lY2hvICIkYWNfY29uZmlndXJlX2FyZ3MiIHwgc2VkICdzL14gLy87IHMvW1xcIiJcYFwkXS9cXFxcJi9nJ2AiCiBhY19jc192ZXJzaW9uPSJcXAotcHl0aG9uIGNvbmZpZy5zdGF0dXMgMy40CitweXRob24gY29uZmlnLnN0YXR1cyAzLjUKIGNvbmZpZ3VyZWQgYnkgJDAsIGdlbmVyYXRlZCBieSBHTlUgQXV0b2NvbmYgMi42OSwKICAgd2l0aCBvcHRpb25zIFxcIlwkYWNfY3NfY29uZmlnXFwiCiAKZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYwppbmRleCA4OTY5Mjc5Li5hMmM1ZWI0IDEwMDY0NAotLS0gYS9jb25maWd1cmUuYWMKKysrIGIvY29uZmlndXJlLmFjCkBAIC0zLDcgKzMsNyBAQAogZG5sICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAKICMgU2V0IFZFUlNJT04gc28gd2Ugb25seSBuZWVkIHRvIGVkaXQgaW4gb25lIHBsYWNlIChpLmUuLCBoZXJlKQotbTRfZGVmaW5lKFBZVEhPTl9WRVJTSU9OLCAzLjQpCittNF9kZWZpbmUoUFlUSE9OX1ZFUlNJT04sIDMuNSkKIAogQUNfUFJFUkVRKDIuNjUpCiAKQEAgLTEwMzksNiArMTAzOSwxNSBAQAogICAgIEFTRExHRU49IiRQWVRIT04iCiBmaQogCitBQ19TVUJTVChPUENPREVIR0VOKQorQUNfQ0hFQ0tfUFJPR1MoUFlUSE9OLCBweXRob24kUEFDS0FHRV9WRVJTSU9OIHB5dGhvbjMgcHl0aG9uLCBub3QtZm91bmQpCitpZiB0ZXN0ICIkUFlUSE9OIiA9IG5vdC1mb3VuZDsgdGhlbgorICAgIE9QQ09ERUhHRU49IkBlY2hvIHB5dGhvbjogJFBZVEhPTiEgY2Fubm90IHJ1biBUb29scy9zY3JpcHRzL2dlbmVyYXRlX29wY29kZV9oLnB5IgorZWxzZQorICAgIE9QQ09ERUhHRU49IiRQWVRIT04iCitmaQorCisKIAogY2FzZSAkTUFDSERFUCBpbgogYnNkb3MqfGhwKnxIUCopCkBAIC0xMjMzLDYgKzEyNDIsNTIgQEAKICAgICAgIENGTEFHU19OT0RJU1Q9IiRDRkxBR1NfTk9ESVNUIC1XZXJyb3I9ZGVjbGFyYXRpb24tYWZ0ZXItc3RhdGVtZW50IgogICAgIGZpCiAKKyAgICBBQ19NU0dfQ0hFQ0tJTkcoaWYgd2UgY2FuIHR1cm4gb24gJENDIG1peGVkIHNpZ24gY29tcGFyaXNvbiB3YXJuaW5nKQorICAgICBhY19zYXZlX2NjPSIkQ0MiCisgICAgIENDPSIkQ0MgLVdzaWduLWNvbXBhcmUiCisgICAgIHNhdmVfQ0ZMQUdTPSIkQ0ZMQUdTIgorICAgICBBQ19DQUNIRV9WQUwoYWNfY3ZfZW5hYmxlX3NpZ25fY29tcGFyZV93YXJuaW5nLAorICAgICAgIEFDX0NPTVBJTEVfSUZFTFNFKAorICAgICAgICAgWworCSAgIEFDX0xBTkdfUFJPR1JBTShbW11dLCBbW11dKQorCSBdLFsKKyAgICAgICAgICAgYWNfY3ZfZW5hYmxlX3NpZ25fY29tcGFyZV93YXJuaW5nPXllcworCSBdLFsKKyAgICAgICAgICAgYWNfY3ZfZW5hYmxlX3NpZ25fY29tcGFyZV93YXJuaW5nPW5vCisJIF0pKQorICAgICBDRkxBR1M9IiRzYXZlX0NGTEFHUyIKKyAgICAgQ0M9IiRhY19zYXZlX2NjIgorICAgIEFDX01TR19SRVNVTFQoJGFjX2N2X2VuYWJsZV9zaWduX2NvbXBhcmVfd2FybmluZykKKworICAgIGlmIHRlc3QgJGFjX2N2X2VuYWJsZV9zaWduX2NvbXBhcmVfd2FybmluZyA9IHllcworICAgIHRoZW4KKyAgICAgIEJBU0VDRkxBR1M9IiRCQVNFQ0ZMQUdTIC1Xc2lnbi1jb21wYXJlIgorICAgIGZpCisKKyAgICBBQ19NU0dfQ0hFQ0tJTkcoaWYgd2UgY2FuIHR1cm4gb24gJENDIHVucmVhY2hhYmxlIGNvZGUgd2FybmluZykKKyAgICAgYWNfc2F2ZV9jYz0iJENDIgorICAgICBDQz0iJENDIC1XdW5yZWFjaGFibGUtY29kZSIKKyAgICAgc2F2ZV9DRkxBR1M9IiRDRkxBR1MiCisgICAgIEFDX0NBQ0hFX1ZBTChhY19jdl9lbmFibGVfdW5yZWFjaGFibGVfY29kZV93YXJuaW5nLAorICAgICAgIEFDX0NPTVBJTEVfSUZFTFNFKAorICAgICAgICAgWworCSAgIEFDX0xBTkdfUFJPR1JBTShbW11dLCBbW11dKQorCSBdLFsKKyAgICAgICAgICAgYWNfY3ZfZW5hYmxlX3VucmVhY2hhYmxlX2NvZGVfd2FybmluZz15ZXMKKwkgXSxbCisgICAgICAgICAgIGFjX2N2X2VuYWJsZV91bnJlYWNoYWJsZV9jb2RlX3dhcm5pbmc9bm8KKwkgXSkpCisgICAgIENGTEFHUz0iJHNhdmVfQ0ZMQUdTIgorICAgICBDQz0iJGFjX3NhdmVfY2MiCisgICAgQUNfTVNHX1JFU1VMVCgkYWNfY3ZfZW5hYmxlX3VucmVhY2hhYmxlX2NvZGVfd2FybmluZykKKworICAgICMgRG9uJ3QgZW5hYmxlIHVucmVhY2hhYmxlIGNvZGUgd2FybmluZyBpbiBkZWJ1ZyBtb2RlLCBzaW5jZSBpdCB1c3VhbGx5CisgICAgIyByZXN1bHRzIGluIG5vbi1zdGFuZGFyZCBjb2RlIHBhdGhzLgorICAgIGlmIHRlc3QgJGFjX2N2X2VuYWJsZV91bnJlYWNoYWJsZV9jb2RlX3dhcm5pbmcgPSB5ZXMgJiYgdGVzdCAiJFB5X0RFQlVHIiAhPSAidHJ1ZSIKKyAgICB0aGVuCisgICAgICBCQVNFQ0ZMQUdTPSIkQkFTRUNGTEFHUyAtV3VucmVhY2hhYmxlLWNvZGUiCisgICAgZmkKKwogICAgICMgaWYgdXNpbmcgZ2NjIG9uIGFscGhhLCB1c2UgLW1pZWVlIHRvIGdldCAobmVhcikgZnVsbCBJRUVFIDc1NAogICAgICMgc3VwcG9ydC4gIFdpdGhvdXQgdGhpcywgdHJlYXRtZW50IG9mIHN1Ym5vcm1hbHMgZG9lc24ndCBmb2xsb3cKICAgICAjIHRoZSBzdGFuZGFyZC4KQEAgLTIzMjksNiArMjM4NCwxNyBAQAogXSwKIFtBQ19NU0dfUkVTVUxUKGRlZmF1bHQpXSkKIAorQUNfTVNHX0NIRUNLSU5HKGZvciAtLXdpdGgtYWRkcmVzcy1zYW5pdGl6ZXIpCitBQ19BUkdfV0lUSChhZGRyZXNzX3Nhbml0aXplciwKKyAgICAgICAgICAgIEFTX0hFTFBfU1RSSU5HKFstLXdpdGgtYWRkcmVzcy1zYW5pdGl6ZXJdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgW2VuYWJsZSBBZGRyZXNzU2FuaXRpemVyXSksCitbCitBQ19NU0dfUkVTVUxUKCR3aXRodmFsKQorQkFTRUNGTEFHUz0iLWZzYW5pdGl6ZT1hZGRyZXNzIC1mbm8tb21pdC1mcmFtZS1wb2ludGVyICRCQVNFQ0ZMQUdTIgorTERGTEFHUz0iLWZzYW5pdGl6ZT1hZGRyZXNzICRMREZMQUdTIgorXSwKK1tBQ19NU0dfUkVTVUxUKG5vKV0pCisKICMgTW9zdCBTVlI0IHBsYXRmb3JtcyAoZS5nLiBTb2xhcmlzKSBuZWVkIC1sc29ja2V0IGFuZCAtbG5zbC4KIEFDX0NIRUNLX0xJQihuc2wsIHRfb3BlbiwgW0xJQlM9Ii1sbnNsICRMSUJTIl0pICMgU1ZSNAogQUNfQ0hFQ0tfTElCKHNvY2tldCwgc29ja2V0LCBbTElCUz0iLWxzb2NrZXQgJExJQlMiXSwgW10sICRMSUJTKSAjIFNWUjQgc29ja2V0cwpAQCAtMzI2MCw2ICszMzI2LDcgQEAKIAogQUNfQ0hFQ0tfRlVOQ1MoY2xvY2tfZ2V0dGltZSwgW10sIFsKICAgICBBQ19DSEVDS19MSUIocnQsIGNsb2NrX2dldHRpbWUsIFsKKyAgICAgICAgTElCUz0iJExJQlMgLWxydCIKICAgICAgICAgQUNfREVGSU5FKEhBVkVfQ0xPQ0tfR0VUVElNRSwgMSkKICAgICAgICAgQUNfREVGSU5FKFRJTUVNT0RVTEVfTElCLCBbcnRdLAogICAgICAgICAgICAgICAgICAgW0xpYnJhcnkgbmVlZGVkIGJ5IHRpbWVtb2R1bGUuYzogbGlicnQgbWF5IGJlIG5lZWRlZCBmb3IgY2xvY2tfZ2V0dGltZSgpXSkKQEAgLTM4MTQsNiArMzg4MSwxOSBAQAogICAgIFtEZWZpbmUgaWYgd2UgY2FuIHVzZSBnY2MgaW5saW5lIGFzc2VtYmxlciB0byBnZXQgYW5kIHNldCB4ODcgY29udHJvbCB3b3JkXSkKIGZpCiAKK0FDX01TR19DSEVDS0lORyh3aGV0aGVyIHdlIGNhbiB1c2UgZ2NjIGlubGluZSBhc3NlbWJsZXIgdG8gZ2V0IGFuZCBzZXQgbWM2ODg4MSBmcGNyKQorQUNfQ09NUElMRV9JRkVMU0UoW0FDX0xBTkdfUFJPR1JBTShbW11dLCBbWworICB1bnNpZ25lZCBpbnQgZnBjcjsKKyAgX19hc21fXyBfX3ZvbGF0aWxlX18gKCJmbW92ZS5sICUlZnBjciwlMCIgOiAiPWciIChmcGNyKSk7CisgIF9fYXNtX18gX192b2xhdGlsZV9fICgiZm1vdmUubCAlMCwlJWZwY3IiIDogOiAiZyIgKGZwY3IpKTsKK11dKV0sW2hhdmVfZ2NjX2FzbV9mb3JfbWM2ODg4MT15ZXNdLFtoYXZlX2djY19hc21fZm9yX21jNjg4ODE9bm9dKQorQUNfTVNHX1JFU1VMVCgkaGF2ZV9nY2NfYXNtX2Zvcl9tYzY4ODgxKQoraWYgdGVzdCAiJGhhdmVfZ2NjX2FzbV9mb3JfbWM2ODg4MSIgPSB5ZXMKK3RoZW4KKyAgICBBQ19ERUZJTkUoSEFWRV9HQ0NfQVNNX0ZPUl9NQzY4ODgxLCAxLAorICAgIFtEZWZpbmUgaWYgd2UgY2FuIHVzZSBnY2MgaW5saW5lIGFzc2VtYmxlciB0byBnZXQgYW5kIHNldCBtYzY4ODgxIGZwY3JdKQorZmkKKwogIyBEZXRlY3Qgd2hldGhlciBzeXN0ZW0gYXJpdGhtZXRpYyBpcyBzdWJqZWN0IHRvIHg4Ny1zdHlsZSBkb3VibGUKICMgcm91bmRpbmcgaXNzdWVzLiAgVGhlIHJlc3VsdCBvZiB0aGlzIHRlc3QgaGFzIGxpdHRsZSBtZWFuaW5nIG9uIG5vbgogIyBJRUVFIDc1NCBwbGF0Zm9ybXMuICBPbiBJRUVFIDc1NCwgdGVzdCBzaG91bGQgcmV0dXJuIDEgaWYgcm91bmRpbmcKQEAgLTQyMzUsNiArNDMxNSwxMCBAQAogICBbRGVmaW5lIGlmIHlvdSBjYW4gdHVybiBvZmYgcmVhZGxpbmUncyBzaWduYWwgaGFuZGxpbmcuXSksICkKIGZpCiAKK0FDX0NIRUNLX0xJQihyZWFkbGluZSwgYXBwZW5kX2hpc3RvcnksCisJQUNfREVGSU5FKEhBVkVfUkxfQVBQRU5EX0hJU1RPUlksIDEsCisgICAgICAgIFtEZWZpbmUgaWYgcmVhZGxpbmUgc3VwcG9ydHMgYXBwZW5kX2hpc3RvcnldKSwgLCRSRUFETElORV9MSUJTKQorCiAjIEVuZCBvZiByZWFkbGluZSBjaGVja3M6IHJlc3RvcmUgTElCUwogTElCUz0kTElCU19ub19yZWFkbGluZQogCkBAIC00NzEyLDcgKzQ3OTYsNyBAQAogZG9uZQogCiBBQ19TVUJTVChTUkNESVJTKQotU1JDRElSUz0iUGFyc2VyIEdyYW1tYXIgT2JqZWN0cyBQeXRob24gTW9kdWxlcyBNYWMiCitTUkNESVJTPSJQYXJzZXIgR3JhbW1hciBPYmplY3RzIFB5dGhvbiBNb2R1bGVzIE1hYyBQcm9ncmFtcyIKIEFDX01TR19DSEVDS0lORyhmb3IgYnVpbGQgZGlyZWN0b3JpZXMpCiBmb3IgZGlyIGluICRTUkNESVJTOyBkbwogICAgIGlmIHRlc3QgISAtZCAkZGlyOyB0aGVuCkBAIC00ODA0LDYgKzQ4ODgsNDcgQEAKICAgICBlc2FjCiBmaQogCisjIENoZWNrIGZvciBzdGRhdG9taWMuaAorQUNfTVNHX0NIRUNLSU5HKGZvciBzdGRhdG9taWMuaCkKK0FDX0xJTktfSUZFTFNFKAorWworICBBQ19MQU5HX1NPVVJDRShbWworICAgICNpbmNsdWRlIDxzdGRhdG9taWMuaD4KKyAgICBhdG9taWNfaW50IHZhbHVlID0gQVRPTUlDX1ZBUl9JTklUKDEpOworICAgIF9BdG9taWMgdm9pZCAqcHlfYXRvbWljX2FkZHJlc3MgPSAodm9pZCopICZ2YWx1ZTsKKyAgICBpbnQgbWFpbigpIHsKKyAgICAgIGludCBsb2FkZWRfdmFsdWUgPSBhdG9taWNfbG9hZCgmdmFsdWUpOworICAgICAgcmV0dXJuIDA7CisgICAgfQorICBdXSkKK10sW2hhdmVfc3RkYXRvbWljX2g9eWVzXSxbaGF2ZV9zdGRhdG9taWNfaD1ub10pCisKK0FDX01TR19SRVNVTFQoJGhhdmVfc3RkYXRvbWljX2gpCisKK2lmIHRlc3QgIiRoYXZlX3N0ZGF0b21pY19oIiA9IHllczsgdGhlbgorICAgIEFDX0RFRklORShIQVZFX1NURF9BVE9NSUMsIDEsCisgICAgICAgICAgICAgIFtIYXMgc3RkYXRvbWljLmgsIGF0b21pY19pbnQgYW5kIF9BdG9taWMgdm9pZCogdHlwZXMgd29ya10pCitmaQorCisjIENoZWNrIGZvciBHQ0MgPj0gNC43IF9fYXRvbWljIGJ1aWx0aW5zCitBQ19NU0dfQ0hFQ0tJTkcoZm9yIEdDQyA+PSA0LjcgX19hdG9taWMgYnVpbHRpbnMpCitBQ19MSU5LX0lGRUxTRSgKK1sKKyAgQUNfTEFOR19TT1VSQ0UoW1sKKyAgICB2b2xhdGlsZSBpbnQgdmFsID0gMTsKKyAgICBpbnQgbWFpbigpIHsKKyAgICAgIF9fYXRvbWljX2xvYWRfbigmdmFsLCBfX0FUT01JQ19TRVFfQ1NUKTsKKyAgICAgIHJldHVybiAwOworICAgIH0KKyAgXV0pCitdLFtoYXZlX2J1aWx0aW5fYXRvbWljPXllc10sW2hhdmVfYnVpbHRpbl9hdG9taWM9bm9dKQorCitBQ19NU0dfUkVTVUxUKCRoYXZlX2J1aWx0aW5fYXRvbWljKQorCitpZiB0ZXN0ICIkaGF2ZV9idWlsdGluX2F0b21pYyIgPSB5ZXM7IHRoZW4KKyAgICBBQ19ERUZJTkUoSEFWRV9CVUlMVElOX0FUT01JQywgMSwgW0hhcyBidWlsdGluIGF0b21pY3NdKQorZmkKKwogIyBlbnN1cmVwaXAgb3B0aW9uCiBBQ19NU0dfQ0hFQ0tJTkcoZm9yIGVuc3VyZXBpcCkKIEFDX0FSR19XSVRIKGVuc3VyZXBpcCwKZGlmZiAtLWdpdCBhL3B5Y29uZmlnLmguaW4gYi9weWNvbmZpZy5oLmluCmluZGV4IDg1NDkwYzguLjUwN2E3YWIgMTAwNjQ0Ci0tLSBhL3B5Y29uZmlnLmguaW4KKysrIGIvcHljb25maWcuaC5pbgpAQCAtMTAxLDYgKzEwMSw5IEBACiAvKiBEZWZpbmUgaWYgYHVuc2V0ZW52YCBkb2VzIG5vdCByZXR1cm4gYW4gaW50LiAqLwogI3VuZGVmIEhBVkVfQlJPS0VOX1VOU0VURU5WCiAKKy8qIEhhcyBidWlsdGluIGF0b21pY3MgKi8KKyN1bmRlZiBIQVZFX0JVSUxUSU5fQVRPTUlDCisKIC8qIERlZmluZSB0aGlzIGlmIHlvdSBoYXZlIHRoZSB0eXBlIF9Cb29sLiAqLwogI3VuZGVmIEhBVkVfQzk5X0JPT0wKIApAQCAtMzEzLDYgKzMxNiw5IEBACiAvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYGdhbW1hJyBmdW5jdGlvbi4gKi8KICN1bmRlZiBIQVZFX0dBTU1BCiAKKy8qIERlZmluZSBpZiB3ZSBjYW4gdXNlIGdjYyBpbmxpbmUgYXNzZW1ibGVyIHRvIGdldCBhbmQgc2V0IG1jNjg4ODEgZnBjciAqLworI3VuZGVmIEhBVkVfR0NDX0FTTV9GT1JfTUM2ODg4MQorCiAvKiBEZWZpbmUgaWYgd2UgY2FuIHVzZSB4NjQgZ2NjIGlubGluZSBhc3NlbWJsZXIgKi8KICN1bmRlZiBIQVZFX0dDQ19BU01fRk9SX1g2NAogCkBAIC02OTMsNiArNjk5LDkgQEAKIC8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgcmVuYW1lYXQnIGZ1bmN0aW9uLiAqLwogI3VuZGVmIEhBVkVfUkVOQU1FQVQKIAorLyogRGVmaW5lIGlmIHJlYWRsaW5lIHN1cHBvcnRzIGFwcGVuZF9oaXN0b3J5ICovCisjdW5kZWYgSEFWRV9STF9BUFBFTkRfSElTVE9SWQorCiAvKiBEZWZpbmUgaWYgeW91IGhhdmUgcmVhZGxpbmUgMi4xICovCiAjdW5kZWYgSEFWRV9STF9DQUxMQkFDSwogCkBAIC04NzEsNiArODgwLDkgQEAKIC8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8c3RkbGliLmg+IGhlYWRlciBmaWxlLiAqLwogI3VuZGVmIEhBVkVfU1RETElCX0gKIAorLyogSGFzIHN0ZGF0b21pYy5oLCBhdG9taWNfaW50IGFuZCBfQXRvbWljIHZvaWQqIHR5cGVzIHdvcmsgKi8KKyN1bmRlZiBIQVZFX1NURF9BVE9NSUMKKwogLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBzdHJkdXAnIGZ1bmN0aW9uLiAqLwogI3VuZGVmIEhBVkVfU1RSRFVQCiAKZGlmZiAtLWdpdCBhL3NldHVwLnB5IGIvc2V0dXAucHkKaW5kZXggMjc3OTY1OC4uMGY4OGU3OCAxMDA2NDQKLS0tIGEvc2V0dXAucHkKKysrIGIvc2V0dXAucHkKQEAgLTI1LDYgKzI1LDExIEBACiBweV9jZmxhZ3Nfbm9kaXN0ID0gc3lzY29uZmlnLmdldF9jb25maWdfdmFyKCdQWV9DRkxBR1NfTk9ESVNUJykKIHN5c2NvbmZpZy5nZXRfY29uZmlnX3ZhcnMoKVsnQ0ZMQUdTJ10gPSBjZmxhZ3MgKyAnICcgKyBweV9jZmxhZ3Nfbm9kaXN0CiAKK2NsYXNzIER1bW15OgorICAgICIiIkhhY2sgZm9yIHBhcmFsbGVsIGJ1aWxkIiIiCisgICAgUHJvY2Vzc1Bvb2xFeGVjdXRvciA9IE5vbmUKK3N5cy5tb2R1bGVzWydjb25jdXJyZW50LmZ1dHVyZXMucHJvY2VzcyddID0gRHVtbXkKKwogZGVmIGdldF9wbGF0Zm9ybSgpOgogICAgICMgY3Jvc3MgYnVpbGQKICAgICBpZiAiX1BZVEhPTl9IT1NUX1BMQVRGT1JNIiBpbiBvcy5lbnZpcm9uOgpAQCAtMTczLDYgKzE3OCw5IEBACiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIGRpc3QpOgogICAgICAgICBidWlsZF9leHQuX19pbml0X18oc2VsZiwgZGlzdCkKICAgICAgICAgc2VsZi5mYWlsZWQgPSBbXQorICAgICAgICBzZWxmLmZhaWxlZF9vbl9pbXBvcnQgPSBbXQorICAgICAgICBpZiAnLWonIGluIG9zLmVudmlyb24uZ2V0KCdNQUtFRkxBR1MnLCAnJyk6CisgICAgICAgICAgICBzZWxmLnBhcmFsbGVsID0gVHJ1ZQogCiAgICAgZGVmIGJ1aWxkX2V4dGVuc2lvbnMoc2VsZik6CiAKQEAgLTI1Miw5ICsyNjAsMTMgQEAKIAogICAgICAgICBidWlsZF9leHQuYnVpbGRfZXh0ZW5zaW9ucyhzZWxmKQogCisgICAgICAgIGZvciBleHQgaW4gc2VsZi5leHRlbnNpb25zOgorICAgICAgICAgICAgc2VsZi5jaGVja19leHRlbnNpb25faW1wb3J0KGV4dCkKKwogICAgICAgICBsb25nZXN0ID0gbWF4KFtsZW4oZS5uYW1lKSBmb3IgZSBpbiBzZWxmLmV4dGVuc2lvbnNdLCBkZWZhdWx0PTApCi0gICAgICAgIGlmIHNlbGYuZmFpbGVkOgotICAgICAgICAgICAgbG9uZ2VzdCA9IG1heChsb25nZXN0LCBtYXgoW2xlbihuYW1lKSBmb3IgbmFtZSBpbiBzZWxmLmZhaWxlZF0pKQorICAgICAgICBpZiBzZWxmLmZhaWxlZCBvciBzZWxmLmZhaWxlZF9vbl9pbXBvcnQ6CisgICAgICAgICAgICBhbGxfZmFpbGVkID0gc2VsZi5mYWlsZWQgKyBzZWxmLmZhaWxlZF9vbl9pbXBvcnQKKyAgICAgICAgICAgIGxvbmdlc3QgPSBtYXgobG9uZ2VzdCwgbWF4KFtsZW4obmFtZSkgZm9yIG5hbWUgaW4gYWxsX2ZhaWxlZF0pKQogCiAgICAgICAgIGRlZiBwcmludF90aHJlZV9jb2x1bW4obHN0KToKICAgICAgICAgICAgIGxzdC5zb3J0KGtleT1zdHIubG93ZXIpCkBAIC0yODIsNiArMjk0LDE0IEBACiAgICAgICAgICAgICBwcmludF90aHJlZV9jb2x1bW4oZmFpbGVkKQogICAgICAgICAgICAgcHJpbnQoKQogCisgICAgICAgIGlmIHNlbGYuZmFpbGVkX29uX2ltcG9ydDoKKyAgICAgICAgICAgIGZhaWxlZCA9IHNlbGYuZmFpbGVkX29uX2ltcG9ydFs6XQorICAgICAgICAgICAgcHJpbnQoKQorICAgICAgICAgICAgcHJpbnQoIkZvbGxvd2luZyBtb2R1bGVzIGJ1aWx0IHN1Y2Nlc3NmdWxseSIKKyAgICAgICAgICAgICAgICAgICIgYnV0IHdlcmUgcmVtb3ZlZCBiZWNhdXNlIHRoZXkgY291bGQgbm90IGJlIGltcG9ydGVkOiIpCisgICAgICAgICAgICBwcmludF90aHJlZV9jb2x1bW4oZmFpbGVkKQorICAgICAgICAgICAgcHJpbnQoKQorCiAgICAgZGVmIGJ1aWxkX2V4dGVuc2lvbihzZWxmLCBleHQpOgogCiAgICAgICAgIGlmIGV4dC5uYW1lID09ICdfY3R5cGVzJzoKQEAgLTI5NSw2ICszMTUsMTUgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgKGV4dC5uYW1lLCBzeXMuZXhjX2luZm8oKVsxXSkpCiAgICAgICAgICAgICBzZWxmLmZhaWxlZC5hcHBlbmQoZXh0Lm5hbWUpCiAgICAgICAgICAgICByZXR1cm4KKworICAgIGRlZiBjaGVja19leHRlbnNpb25faW1wb3J0KHNlbGYsIGV4dCk6CisgICAgICAgICMgRG9uJ3QgdHJ5IHRvIGltcG9ydCBhbiBleHRlbnNpb24gdGhhdCBoYXMgZmFpbGVkIHRvIGNvbXBpbGUKKyAgICAgICAgaWYgZXh0Lm5hbWUgaW4gc2VsZi5mYWlsZWQ6CisgICAgICAgICAgICBzZWxmLmFubm91bmNlKAorICAgICAgICAgICAgICAgICdXQVJOSU5HOiBza2lwcGluZyBpbXBvcnQgY2hlY2sgZm9yIGZhaWxlZCBidWlsZCAiJXMiJyAlCisgICAgICAgICAgICAgICAgZXh0Lm5hbWUsIGxldmVsPTEpCisgICAgICAgICAgICByZXR1cm4KKwogICAgICAgICAjIFdvcmthcm91bmQgZm9yIE1hYyBPUyBYOiBUaGUgQ2FyYm9uLWJhc2VkIG1vZHVsZXMgY2Fubm90IGJlCiAgICAgICAgICMgcmVsaWFibHkgaW1wb3J0ZWQgaW50byBhIGNvbW1hbmQtbGluZSBQeXRob24KICAgICAgICAgaWYgJ0NhcmJvbicgaW4gZXh0LmV4dHJhX2xpbmtfYXJnczoKQEAgLTMzOCw5ICszNjcsOSBAQAogICAgICAgICBzcGVjID0gaW1wb3J0bGliLnV0aWwuc3BlY19mcm9tX2ZpbGVfbG9jYXRpb24oZXh0Lm5hbWUsIGV4dF9maWxlbmFtZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvYWRlcj1sb2FkZXIpCiAgICAgICAgIHRyeToKLSAgICAgICAgICAgIGltcG9ydGxpYi5fYm9vdHN0cmFwLl9TcGVjTWV0aG9kcyhzcGVjKS5sb2FkKCkKKyAgICAgICAgICAgIGltcG9ydGxpYi5fYm9vdHN0cmFwLl9sb2FkKHNwZWMpCiAgICAgICAgIGV4Y2VwdCBJbXBvcnRFcnJvciBhcyB3aHk6Ci0gICAgICAgICAgICBzZWxmLmZhaWxlZC5hcHBlbmQoZXh0Lm5hbWUpCisgICAgICAgICAgICBzZWxmLmZhaWxlZF9vbl9pbXBvcnQuYXBwZW5kKGV4dC5uYW1lKQogICAgICAgICAgICAgc2VsZi5hbm5vdW5jZSgnKioqIFdBUk5JTkc6IHJlbmFtaW5nICIlcyIgc2luY2UgaW1wb3J0aW5nIGl0JwogICAgICAgICAgICAgICAgICAgICAgICAgICAnIGZhaWxlZDogJXMnICUgKGV4dC5uYW1lLCB3aHkpLCBsZXZlbD0zKQogICAgICAgICAgICAgYXNzZXJ0IG5vdCBzZWxmLmlucGxhY2UKQEAgLTM1MCwxNyArMzc5LDYgQEAKICAgICAgICAgICAgICAgICBvcy5yZW1vdmUobmV3bmFtZSkKICAgICAgICAgICAgIG9zLnJlbmFtZShleHRfZmlsZW5hbWUsIG5ld25hbWUpCiAKLSAgICAgICAgICAgICMgWFhYIC0tIFRoaXMgcmVsaWVzIG9uIGEgVmlsZSBIQUNLIGluCi0gICAgICAgICAgICAjIGRpc3R1dGlscy5jb21tYW5kLmJ1aWxkX2V4dC5idWlsZF9leHRlbnNpb24oKS4gIFRoZQotICAgICAgICAgICAgIyBfYnVpbHRfb2JqZWN0cyBhdHRyaWJ1dGUgaXMgc3RvcmVkIHRoZXJlIHN0cmljdGx5IGZvcgotICAgICAgICAgICAgIyB1c2UgaGVyZS4KLSAgICAgICAgICAgICMgSWYgdGhlcmUgaXMgYSBmYWlsdXJlLCBfYnVpbHRfb2JqZWN0cyBtYXkgbm90IGJlIHRoZXJlLAotICAgICAgICAgICAgIyBzbyBjYXRjaCB0aGUgQXR0cmlidXRlRXJyb3IgYW5kIG1vdmUgb24uCi0gICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgZm9yIGZpbGVuYW1lIGluIHNlbGYuX2J1aWx0X29iamVjdHM6Ci0gICAgICAgICAgICAgICAgICAgIG9zLnJlbW92ZShmaWxlbmFtZSkKLSAgICAgICAgICAgIGV4Y2VwdCBBdHRyaWJ1dGVFcnJvcjoKLSAgICAgICAgICAgICAgICBzZWxmLmFubm91bmNlKCd1bmFibGUgdG8gcmVtb3ZlIGZpbGVzIChpZ25vcmVkKScpCiAgICAgICAgIGV4Y2VwdDoKICAgICAgICAgICAgIGV4Y190eXBlLCB3aHksIHRiID0gc3lzLmV4Y19pbmZvKCkKICAgICAgICAgICAgIHNlbGYuYW5ub3VuY2UoJyoqKiBXQVJOSU5HOiBpbXBvcnRpbmcgZXh0ZW5zaW9uICIlcyIgJwo=